diff options
46 files changed, 334 insertions, 29321 deletions
diff --git a/bakalarka.pdf b/bakalarka.pdf Binary files differindex e4d710b..f6a2865 100644 --- a/bakalarka.pdf +++ b/bakalarka.pdf diff --git a/nastaveni.tex b/nastaveni.tex index f3f1fcf..00c9bb5 100644 --- a/nastaveni.tex +++ b/nastaveni.tex @@ -111,9 +111,9 @@ \abstract[ Rostoucí počet propojených zařízení internetu věcí (IoT) a jejich narůstající složitost kladou nové požadavky na dosah, spolehlivost a škálovatelnost komunikačních sítí. Mobilní sítě 4G a 5G nabízejí slibné řešení pro komunikaci s nízkou spotřebou energie na velké vzdálenosti. Tato práce se zabývá základními principy mobilních sítí 4G a 5G se zaměřením na jejich architekturu, komunikační protokoly a specifické funkce relevantní pro případy užití v IoT. Dále analyzuje protokoly nízkoenergetických širokopásmových sítí (LPWAN), konkrétně NB-IoT a LTE-M, zdůrazňuje jejich výhody, omezení a rozdíly ve srovnání s tradičními mobilními sítěmi. -Práce také poskytuje přehled čipsetů Nordic Semiconductor nRF9160 a nRF9161, spolu s recenzí komerčně dostupných vývojových modulů. Pro demonstraci praktického využití pomocí vybraného kitu vytvořit univerzální nízkonákladovou trackovací aplikaci, zaměřená na simulaci reálných scénářů, jako je vzdálené monitorování, chytré zemědělství, chytrá města a sledování majetku. +Práce také poskytuje přehled čipsetů Nordic Semiconductor nRF9160 a nRF9161, spolu s recenzí komerčně dostupných vývojových modulů. Pro demonstraci praktického využití pomocí vybraného kitu vytvořit univerzální nízkonákladovou trackovací aplikaci, zaměřenou na simulaci reálných scénářů, jako je vzdálené monitorování, chytré zemědělství, chytrá města a sledování majetku. -Byly provedeny laboratorní experimentální měření zaměřená na klíčové komunikační parametry, jako je spotřeba energie, síla signálu a propustnost dat. Shromážděná data byla analyzována a porovnána s teoretickými očekáváními, stejně jako s jinými běžně používanými komunikačními systémy, za účelem vyhodnocení vhodností pro průmyslové IoT aplikace. Na závěr byla provedena experimentální měření v terénu, aby se ověřila schopnost navržených scénářů komunikovat v mobilním prostředí. +Byly provedeny laboratorní experimentální měření zaměřené na klíčové komunikační parametry, jako je spotřeba energie, síla signálu a propustnost dat. Shromážděná data byla analyzována a porovnána s teoretickými očekáváními, stejně jako s jinými běžně používanými komunikačními systémy, za účelem vyhodnocení vhodností pro průmyslové IoT aplikace. Na závěr byla provedena experimentální měření v terénu, aby se ověřila schopnost navržených scénářů komunikovat v mobilním prostředí. ]{ The growing number of interconnected Internet of Things (IoT) devices and their increasing complexity are placing new demands on range, reliability, and scalability of communication networks. 4G and 5G cellular networks offer a promising solution for wide-area low-power communication. This thesis explores the fundamental principles of 4G and 5G mobile networks with a focus on their architecture, communication protocols, and specific features relevant to IoT use cases. It further analyzes Low-Power Wide-Area Network (LPWAN) protocols, specifically NB- IoT and LTE-M, highlighting their advantages, limitations, and differences compared to traditional mobile networks. diff --git a/obrazky/31_anthenna2.JPG b/obrazky/31_anthenna2.JPG Binary files differindex b87d2ae..5e9ad10 100644 --- a/obrazky/31_anthenna2.JPG +++ b/obrazky/31_anthenna2.JPG diff --git a/obrazky/31_anthenna3.JPG b/obrazky/31_anthenna3.JPG Binary files differindex f791ffa..991ab73 100644 --- a/obrazky/31_anthenna3.JPG +++ b/obrazky/31_anthenna3.JPG diff --git a/obrazky/32_PCB1.JPG b/obrazky/32_PCB1.JPG Binary files differindex da19ce6..67572d9 100644 --- a/obrazky/32_PCB1.JPG +++ b/obrazky/32_PCB1.JPG diff --git a/obrazky/32_PCB2.JPG b/obrazky/32_PCB2.JPG Binary files differindex ae30dfe..c6529c2 100644 --- a/obrazky/32_PCB2.JPG +++ b/obrazky/32_PCB2.JPG diff --git a/obrazky/32_PCB3.JPG b/obrazky/32_PCB3.JPG Binary files differindex 0039ebc..e493960 100644 --- a/obrazky/32_PCB3.JPG +++ b/obrazky/32_PCB3.JPG diff --git a/obrazky/33_in_case1.JPG b/obrazky/33_in_case1.JPG Binary files differindex ec26c4a..07ae87d 100644 --- a/obrazky/33_in_case1.JPG +++ b/obrazky/33_in_case1.JPG diff --git a/obrazky/34_final1.JPG b/obrazky/34_final1.JPG Binary files differindex c09fffc..97dda79 100644 --- a/obrazky/34_final1.JPG +++ b/obrazky/34_final1.JPG diff --git a/obrazky/bck/31_anthenna2.JPG b/obrazky/bck/31_anthenna2.JPG Binary files differnew file mode 100644 index 0000000..b87d2ae --- /dev/null +++ b/obrazky/bck/31_anthenna2.JPG diff --git a/obrazky/bck/31_anthenna3.JPG b/obrazky/bck/31_anthenna3.JPG Binary files differnew file mode 100644 index 0000000..f791ffa --- /dev/null +++ b/obrazky/bck/31_anthenna3.JPG diff --git a/obrazky/bck/32_PCB1.JPG b/obrazky/bck/32_PCB1.JPG Binary files differnew file mode 100644 index 0000000..da19ce6 --- /dev/null +++ b/obrazky/bck/32_PCB1.JPG diff --git a/obrazky/bck/32_PCB2.JPG b/obrazky/bck/32_PCB2.JPG Binary files differnew file mode 100644 index 0000000..ae30dfe --- /dev/null +++ b/obrazky/bck/32_PCB2.JPG diff --git a/obrazky/bck/32_PCB3.JPG b/obrazky/bck/32_PCB3.JPG Binary files differnew file mode 100644 index 0000000..0039ebc --- /dev/null +++ b/obrazky/bck/32_PCB3.JPG diff --git a/obrazky/bck/33_in_case1.JPG b/obrazky/bck/33_in_case1.JPG Binary files differnew file mode 100644 index 0000000..ec26c4a --- /dev/null +++ b/obrazky/bck/33_in_case1.JPG diff --git a/obrazky/bck/34_final1.JPG b/obrazky/bck/34_final1.JPG Binary files differnew file mode 100644 index 0000000..c09fffc --- /dev/null +++ b/obrazky/bck/34_final1.JPG diff --git a/obrazky/demofelda.jpg b/obrazky/demofelda.jpg Binary files differindex b70fd59..6165694 100644 --- a/obrazky/demofelda.jpg +++ b/obrazky/demofelda.jpg diff --git a/prilohy/Jupyter_analysis.zip b/prilohy/Jupyter_analysis.zip Binary files differnew file mode 100644 index 0000000..d31a807 --- /dev/null +++ b/prilohy/Jupyter_analysis.zip diff --git a/prilohy/Jupyter_analysis/.ipynb_checkpoints/nrf60x61-checkpoint.ipynb b/prilohy/Jupyter_analysis/.ipynb_checkpoints/nrf60x61-checkpoint.ipynb new file mode 100644 index 0000000..5017d14 --- /dev/null +++ b/prilohy/Jupyter_analysis/.ipynb_checkpoints/nrf60x61-checkpoint.ipynb @@ -0,0 +1,239 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "dfd8b235-d037-4ef9-94e1-8d95a934bc23", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "from matplotlib import pyplot as plt\n", + "\n", + "m60_0 = pd.read_csv('nb60_0.csv')\n", + "m60_64 = pd.read_csv('nb60_64.csv')\n", + "m60_1024 = pd.read_csv('nb60_1024.csv')\n", + "\n", + "nb60_0 = pd.read_csv('m60_0.csv')\n", + "nb60_64 = pd.read_csv('m60_64.csv')\n", + "nb60_1024 = pd.read_csv('m60_1024.csv')\n", + "\n", + "\n", + "m61_0 = pd.read_csv('nb61_0.csv')\n", + "m61_64 = pd.read_csv('nb61_64.csv')\n", + "m61_1024 = pd.read_csv('nb61_1024.csv')\n", + "\n", + "nb61_0 = pd.read_csv('m61_0.csv')\n", + "nb61_64 = pd.read_csv('m61_64.csv')\n", + "nb61_1024 = pd.read_csv('m61_1024.csv')\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "64cffa34-dc55-4c31-bd8d-e00ad967e4a8", + "metadata": {}, + "outputs": [], + "source": [ + "m61_1024" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "329b2d22-8f12-48eb-9faa-74632f2d625d", + "metadata": {}, + "outputs": [], + "source": [ + "def save_fig_tex(fname, title):\n", + " global files\n", + " files += '\\input{\"mereni/' + fname + '\"}\\n'\n", + " with open(f'{fname}.tex', 'w') as f:\n", + " f.write(r'''\n", + "\\begin{figure}[H]\n", + " \\begin{center}\n", + " \\includegraphics[width=1\\textwidth]{\"mereni/''' + fname + '''.png\"}\n", + " \\end{center}\n", + " \\caption[''' + title + ''']{''' + title + '''}\n", + " \\label{fig:'''+fname+'''}\n", + "\\end{figure}''')\n", + " \n", + "def stat(x, y, title):\n", + " fig = plt.figure(figsize=(10,6), dpi=200)\n", + " for df in [m60_0, m60_64, m60_1024, m61_0, m61_64, m61_1024]:\n", + " df = df.sort_values(x)\n", + " plt.plot(df[x], df[y], 'x-')\n", + " plt.grid()\n", + " plt.xlabel(x)\n", + " plt.ylabel(y)\n", + " plt.legend(['nrf9160 0B', 'nrf9160 64B', 'nrf9160 1024B', 'nrf9161 0B', 'nrf9161 64B', 'nrf9161 1024B'])\n", + " plt.title(f'LTE-M {title}')\n", + " plt.savefig(f'compltem_{title.lower().replace(\" \", \"_\")}.png')\n", + " save_fig_tex(f'compltem_{title.lower().replace(\" \", \"_\")}', title)\n", + " plt.show()\n", + " \n", + " fig = plt.figure(figsize=(10,6))\n", + " for df in [nb60_0, nb60_64, nb60_1024, nb61_0, nb61_64, nb61_1024]:\n", + " df = df.sort_values(x)\n", + " plt.plot(df[x], df[y], 'x-')\n", + " plt.grid()\n", + " plt.xlabel(x)\n", + " plt.ylabel(y)\n", + " plt.legend(['nrf9160 0B', 'nrf9160 64B', 'nrf9160 1024B', 'nrf9161 0B', 'nrf9161 64B', 'nrf9161 1024B'])\n", + " plt.title(f'NB-IoT {title}')\n", + " plt.savefig(f'compnbiot_{title.lower().replace(\" \", \"_\")}.png')\n", + " save_fig_tex(f'compnbiot_{title.lower().replace(\" \", \"_\")}', title)\n", + " plt.show()\n", + " \n", + " print('\\n\\n')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ba5edf24-e6fe-4f1d-83ba-f903b6bd992a", + "metadata": {}, + "outputs": [], + "source": [ + "files = ''\n", + "stat('RSRP [dBm]', 'Charge [uAh]', 'Charge per message to RSRP')\n", + "stat('RSRP [dBm]', 'Data-rate [kB/s]', 'Data-rate to RSRP')\n", + "stat('RSRP [dBm]', 'Max I [mA]', 'Maximal transmit current to RSRP')\n", + "stat('RSRP [dBm]', 'Average I [mA]', 'Average transmit current to RSRP')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a0876cd4-36d4-4293-a1fa-6111e994247f", + "metadata": {}, + "outputs": [], + "source": [ + "print(files)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bcb38c19-203c-4f5c-ae41-d0b29c19c878", + "metadata": {}, + "outputs": [], + "source": [ + "cols = [\n", + "'K_U [dB]',\n", + "'RSRP [dBm]',\n", + "'SNR [dB]',\n", + "'Round-trip min [ms]',\n", + "'Round-trip max [ms]',\n", + "'Round-trip avg [ms]',\n", + "'Transmit time [s]',\n", + "'Max I [mA]',\n", + "'Ready I [mA]',\n", + "'Standby I [mA]',\n", + "'Charge [uAh]',\n", + "'Data-rate [kB/s]']\n", + "\n", + "shortcols = [ 'KU', 'RSRP', 'SNR', 'RT min', 'RT max', 'RT avg', 'Transmit', 'Max I', 'Ready I', 'Standby I', 'Charge', 'DR']\n", + "\n", + "units = [ '[dB]', '[dBm]', '[dB]', '[ms]', '[ms]', '[ms]', '[s]', '[mA]', '[mA]', '[mA]', '[uAh]', '[kB/s]']\n", + "units = [*map(lambda x: '{'+x+'}', units)]\n", + "\n", + "for df, name in zip([ nb60_0, nb60_64, nb60_1024, m60_0, m60_64, m60_1024, nb61_0, nb61_64, nb61_1024, m61_0, m61_64, m61_1024], ['nbiot60_0', 'nbiot60_64', 'nbiot60_1024', 'ltem60_0', 'ltem60_64', 'ltem60_1024', 'nbiot61_0', 'nbiot61_64', 'nbiot61_1024', 'ltem61_0', 'ltem61_64', 'ltem61_1024']):\n", + " with open(f'{name}_table.tex', 'w') as f:\n", + " ltitle = name\n", + " for o, n in [('nbiot', 'NB-IoT nRF91'), ('ltem', 'LTE-M nRF91'), ('_', ' measurements with payload size ')]:\n", + " ltitle = ltitle.replace(o, n)\n", + " ltitle = ltitle + ' B'\n", + " stitle = ltitle\n", + " df = df[cols]\n", + " df.columns = shortcols\n", + " tex = df.to_latex(index=False, float_format='%.2f').replace('\\\\midrule', ' & '.join(units) + ' \\\\\\\\\\\\hline\\n').replace('toprule', 'hline').replace('bottomrule', 'hline')\n", + " tex2 = '''\n", + "\\\\begin{table}[!h]\n", + " \\\\begin{center}\n", + " \\\\small\n", + "\\hspace*{-2cm}''' + tex + '''\n", + " \\\\end{center}\n", + " \\\\caption['''+stitle+''']{'''+ltitle+'''}\n", + " \\\\label{tab:''' + name + '''}\n", + "\\\\end{table}\n", + "'''\n", + " f.write(tex2)\n", + " print('\\\\input{mereni/'+name+'_table}')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "153bddfa-dfe8-4832-962a-482ea8fc88fc", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "dl = pd.DataFrame()\n", + "dl['SF'] = [7,8,9,10,11,12]\n", + "dl['Sensitivity'] = (12-dl['SF'])*2.5 - 137\n", + "dl['DR [kB/s]'] = [5470, 3125, 1761, 980, 440, 250]\n", + "dl['DR [kB/s]'] = dl['DR [kB/s]'] / 8000\n", + "\n", + "\n", + "def stat_msgsi(x, y, title=''):\n", + " fig = plt.figure(figsize=(10,6), dpi=200)\n", + " \n", + " #plt.plot(m60_1024[x], m60_1024[y], 'x-')\n", + " plt.plot(m61_1024[x], m61_1024[y], 'x-')\n", + " #plt.plot(nb60_1024[x], nb60_1024[y], 'x-')\n", + " plt.plot(nb61_1024[x], nb61_1024[y], 'x-')\n", + " \n", + " plt.plot(dl['Sensitivity'], dl['DR [kB/s]'], 'x-')\n", + " \n", + " \n", + " plt.grid()\n", + " plt.xlabel(x)\n", + " plt.ylabel(y)\n", + " #plt.legend([ 'LTE-M nRF9160', 'LTE-M nRF9161', 'NB-IoT nRF9160', 'NB-IoT nRF9161', 'LoRa EU'])\n", + " plt.legend([ 'LTE-M nRF9161', 'NB-IoT nRF9161', 'LoRa EU'])\n", + " ttitle = f'Comparation of sensitivity to LoRa'\n", + " plt.title(ttitle)\n", + " plt.savefig('complora.png')\n", + " plt.show()\n", + "\n", + "files = ''\n", + "stat_msgsi('RSRP [dBm]', 'Data-rate [kB/s]')\n", + "\n", + "dl" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "783064c3-1af1-4701-83eb-0c3f5470e97e", + "metadata": {}, + "outputs": [], + "source": [ + "m61_0" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/prilohy/Jupyter_analysis/LTEanalysis.ipynb b/prilohy/Jupyter_analysis/LTEanalysis.ipynb deleted file mode 100644 index 5a65893..0000000 --- a/prilohy/Jupyter_analysis/LTEanalysis.ipynb +++ /dev/null @@ -1,3077 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 3, - "id": "6701dfc0-4608-47bd-9c22-521753d94ad3", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "vodafone_nbiot_3db.txt\n", - "vodafone_nbiot_63db_30+32.txt\n", - "vodafone_nbiot_6db.txt\n", - "vodafone_nbiot_50db_6s.txt\n", - "vodafone_nbiot_36db.txt\n", - "vodafone_nbiot_10db.txt\n", - "vodafone_nbiot_60db.txt\n", - "vodafone_nbiot_50db.txt\n", - "vodafone_nbiot_40db.txt\n", - "vodafone_nbiot_20db.txt\n", - "vodafone_nbiot_30db.txt\n", - "vodafone_nbiot_0db.txt\n", - "vodafone_nbiot_60db_30+30.txt\n" - ] - }, - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>Round-trip min [ms]</th>\n", - " <th>Round-trip max [ms]</th>\n", - " <th>Round-trip avg [ms]</th>\n", - " <th>RSRP [dBm]</th>\n", - " <th>SNR [dB]</th>\n", - " <th>K_U [dB]</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>0</th>\n", - " <td>574</td>\n", - " <td>1171</td>\n", - " <td>858</td>\n", - " <td>-71</td>\n", - " <td>4</td>\n", - " <td>0</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>498</td>\n", - " <td>1381</td>\n", - " <td>892</td>\n", - " <td>-72</td>\n", - " <td>7</td>\n", - " <td>3</td>\n", - " </tr>\n", - " <tr>\n", - " <th>6</th>\n", - " <td>429</td>\n", - " <td>1332</td>\n", - " <td>820</td>\n", - " <td>-78</td>\n", - " <td>4</td>\n", - " <td>6</td>\n", - " </tr>\n", - " <tr>\n", - " <th>10</th>\n", - " <td>436</td>\n", - " <td>1552</td>\n", - " <td>923</td>\n", - " <td>-80</td>\n", - " <td>4</td>\n", - " <td>10</td>\n", - " </tr>\n", - " <tr>\n", - " <th>20</th>\n", - " <td>706</td>\n", - " <td>1464</td>\n", - " <td>1018</td>\n", - " <td>-88</td>\n", - " <td>6</td>\n", - " <td>20</td>\n", - " </tr>\n", - " <tr>\n", - " <th>30</th>\n", - " <td>514</td>\n", - " <td>1251</td>\n", - " <td>848</td>\n", - " <td>-102</td>\n", - " <td>2</td>\n", - " <td>30</td>\n", - " </tr>\n", - " <tr>\n", - " <th>36</th>\n", - " <td>485</td>\n", - " <td>1233</td>\n", - " <td>862</td>\n", - " <td>-108</td>\n", - " <td>4</td>\n", - " <td>36</td>\n", - " </tr>\n", - " <tr>\n", - " <th>40</th>\n", - " <td>871</td>\n", - " <td>1540</td>\n", - " <td>1074</td>\n", - " <td>-109</td>\n", - " <td>5</td>\n", - " <td>40</td>\n", - " </tr>\n", - " <tr>\n", - " <th>50</th>\n", - " <td>1368</td>\n", - " <td>2685</td>\n", - " <td>2104</td>\n", - " <td>-129</td>\n", - " <td>-8</td>\n", - " <td>50</td>\n", - " </tr>\n", - " <tr>\n", - " <th>60</th>\n", - " <td>3572</td>\n", - " <td>7450</td>\n", - " <td>5305</td>\n", - " <td>-129</td>\n", - " <td>-2</td>\n", - " <td>60</td>\n", - " </tr>\n", - " <tr>\n", - " <th>63</th>\n", - " <td>5963</td>\n", - " <td>9803</td>\n", - " <td>8384</td>\n", - " <td>-132</td>\n", - " <td>-4</td>\n", - " <td>63</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "</div>" - ], - "text/plain": [ - " Round-trip min [ms] Round-trip max [ms] Round-trip avg [ms] RSRP [dBm] \\\n", - "0 574 1171 858 -71 \n", - "3 498 1381 892 -72 \n", - "6 429 1332 820 -78 \n", - "10 436 1552 923 -80 \n", - "20 706 1464 1018 -88 \n", - "30 514 1251 848 -102 \n", - "36 485 1233 862 -108 \n", - "40 871 1540 1074 -109 \n", - "50 1368 2685 2104 -129 \n", - "60 3572 7450 5305 -129 \n", - "63 5963 9803 8384 -132 \n", - "\n", - " SNR [dB] K_U [dB] \n", - "0 4 0 \n", - "3 7 3 \n", - "6 4 6 \n", - "10 4 10 \n", - "20 6 20 \n", - "30 2 30 \n", - "36 4 36 \n", - "40 5 40 \n", - "50 -8 50 \n", - "60 -2 60 \n", - "63 -4 63 " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import os\n", - "import pandas as pd\n", - "import numpy as np\n", - "from matplotlib import pyplot as plt\n", - "d = {}\n", - "\n", - "df0 = pd.DataFrame()\n", - "df64 = pd.DataFrame()\n", - "df1024 = pd.DataFrame()\n", - "\n", - "for fname in os.listdir('.'):\n", - " if 'nbiot' not in fname or 'txt' not in fname or 'ping' in fname or 'base' in fname:\n", - " continue\n", - " with open(fname) as f:\n", - " note = fname[len('vodafone_nbiot_'):fname.find('.')]\n", - " att = int(note[:note.find('db')])\n", - " d = {}\n", - " msglen = 0\n", - " with open(fname) as f:\n", - " print(fname)\n", - " for line in f:\n", - " if line.startswith('mosh:~$ ping'):\n", - " if '-l ' in line:\n", - " msglen = line[line.find('-l ')+3:].split()[0]\n", - " else:\n", - " msglen = '0'\n", - " d[msglen] = {} #{'note': note, 'K_U': att}\n", - " #if line.strip().startswith('Packets: Sent'): d[msglen]['Packet drop [%]'] = line[line.find('(')+1:line.find('%')]\n", - "\n", - " if line.strip().startswith('Minimum ='):\n", - " for name, raw in zip(['Round-trip min [ms]', 'Round-trip max [ms]', 'Round-trip avg [ms]'], line.split(',')):\n", - " d[msglen][name] = int(raw.split()[-1].rstrip('ms'))\n", - " \n", - " #if line.startswith('Operator PLMN:'): d[msglen]['PLMN'] = line.split()[-1]\n", - " #if line.startswith('Current phy cell id:'): d[msglen]['phy cell'] = line.split()[-1]\n", - " #if line.startswith('Current band:'): d[msglen]['band'] = line.split()[-1]\n", - " if line.startswith('Current rsrp:'): rowname = d[msglen]['RSRP [dBm]'] = int(line.split()[-1].rstrip('dBm'))\n", - " if line.startswith('Current snr:'): d[msglen]['SNR [dB]'] = int(line.split()[-1].rstrip('dB'))\n", - " \n", - " try:\n", - " if att == 61:\n", - " df1024[60] = d['1024']\n", - " continue\n", - " df0[att] = d['0']\n", - " df64[att] = d['64']\n", - " df1024[att] = d['1024']\n", - " except: pass\n", - "\n", - " \n", - "df1024 = df1024.T.sort_index(ascending=True)\n", - "df64 = df64.T.sort_index(ascending=True)\n", - "df0 = df0.T.sort_index(ascending=True)\n", - "\n", - "df0['K_U [dB]'] = df0.index\n", - "df64['K_U [dB]'] = df64.index\n", - "df1024['K_U [dB]'] = df1024.index\n", - "\n", - "df0[['RSRP [dBm]', 'SNR [dB]']] = df1024[['RSRP [dBm]', 'SNR [dB]']]\n", - "df64[['RSRP [dBm]', 'SNR [dB]']] = df1024[['RSRP [dBm]', 'SNR [dB]']]\n", - "\n", - "display(df1024)\n", - "\n", - "\n", - "#df1024['K_U'].apply(lambda x: -x).T.plot()\n", - "#df1024['tmp'] = df1024.index\n", - "#df1024['tmp'].apply(lambda x: x+71).plot(grid=True)\n", - "\n", - "#df1024['SNR [dB]'].T.plot(grid=True)\n", - "\n", - "#df1024.T[['avg', 'min', 'max']].sort_index().plot(grid=True, title='NB-IoT - Round trip times', ylabel='round trip time [ms]', xlabel='additional ')" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "52459620-0d0f-4b67-a65f-f84485f49ae2", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "vodafone_ltem_50db.txt\n", - "vodafone_ltem_40db.txt\n", - "vodafone_ltem_0db.txt\n", - "vodafone_ltem_20db.txt\n", - "vodafone_ltem_10db.txt\n", - "vodafone_ltem_30db.txt\n", - "vodafone_ltem_6db.txt\n", - "vodafone_ltem_3db.txt\n" - ] - }, - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>Round-trip min [ms]</th>\n", - " <th>Round-trip max [ms]</th>\n", - " <th>Round-trip avg [ms]</th>\n", - " <th>RSRP [dBm]</th>\n", - " <th>SNR [dB]</th>\n", - " <th>K_U [dB]</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>0</th>\n", - " <td>178</td>\n", - " <td>358</td>\n", - " <td>212</td>\n", - " <td>-86</td>\n", - " <td>-3</td>\n", - " <td>0</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>175</td>\n", - " <td>620</td>\n", - " <td>270</td>\n", - " <td>-95</td>\n", - " <td>-3</td>\n", - " <td>3</td>\n", - " </tr>\n", - " <tr>\n", - " <th>6</th>\n", - " <td>167</td>\n", - " <td>496</td>\n", - " <td>256</td>\n", - " <td>-92</td>\n", - " <td>-4</td>\n", - " <td>6</td>\n", - " </tr>\n", - " <tr>\n", - " <th>10</th>\n", - " <td>162</td>\n", - " <td>232</td>\n", - " <td>198</td>\n", - " <td>-98</td>\n", - " <td>-4</td>\n", - " <td>10</td>\n", - " </tr>\n", - " <tr>\n", - " <th>20</th>\n", - " <td>127</td>\n", - " <td>388</td>\n", - " <td>213</td>\n", - " <td>-108</td>\n", - " <td>-3</td>\n", - " <td>20</td>\n", - " </tr>\n", - " <tr>\n", - " <th>30</th>\n", - " <td>37</td>\n", - " <td>264</td>\n", - " <td>187</td>\n", - " <td>-118</td>\n", - " <td>-2</td>\n", - " <td>30</td>\n", - " </tr>\n", - " <tr>\n", - " <th>40</th>\n", - " <td>327</td>\n", - " <td>669</td>\n", - " <td>497</td>\n", - " <td>-129</td>\n", - " <td>-7</td>\n", - " <td>40</td>\n", - " </tr>\n", - " <tr>\n", - " <th>50</th>\n", - " <td>389</td>\n", - " <td>850</td>\n", - " <td>530</td>\n", - " <td>-130</td>\n", - " <td>-1</td>\n", - " <td>50</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "</div>" - ], - "text/plain": [ - " Round-trip min [ms] Round-trip max [ms] Round-trip avg [ms] RSRP [dBm] \\\n", - "0 178 358 212 -86 \n", - "3 175 620 270 -95 \n", - "6 167 496 256 -92 \n", - "10 162 232 198 -98 \n", - "20 127 388 213 -108 \n", - "30 37 264 187 -118 \n", - "40 327 669 497 -129 \n", - "50 389 850 530 -130 \n", - "\n", - " SNR [dB] K_U [dB] \n", - "0 -3 0 \n", - "3 -3 3 \n", - "6 -4 6 \n", - "10 -4 10 \n", - "20 -3 20 \n", - "30 -2 30 \n", - "40 -7 40 \n", - "50 -1 50 " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import os\n", - "import pandas as pd\n", - "d = {}\n", - "\n", - "mdf0 = pd.DataFrame()\n", - "mdf64 = pd.DataFrame()\n", - "mdf1024 = pd.DataFrame()\n", - "\n", - "for fname in os.listdir('.'):\n", - " if 'ltem' not in fname or 'txt' not in fname or 'ping' in fname or 'base' in fname:\n", - " continue\n", - " with open(fname) as f:\n", - " note = fname[len('vodafone_ltem_'):fname.find('.')]\n", - " att = int(note[:note.find('db')])\n", - " d = {}\n", - " msglen = 0\n", - " with open(fname) as f:\n", - " print(fname)\n", - " for line in f:\n", - " if line.startswith('mosh:~$ ping'):\n", - " if '-l ' in line:\n", - " msglen = line[line.find('-l ')+3:].split()[0]\n", - " else:\n", - " msglen = '0'\n", - " d[msglen] = {} #'note': note, 'K_U': att}\n", - " #if line.strip().startswith('Packets: Sent'): d[msglen]['Packet drop [%]'] = line[line.find('(')+1:line.find('%')]\n", - "\n", - " if line.strip().startswith('Minimum ='):\n", - " for name, raw in zip(['Round-trip min [ms]', 'Round-trip max [ms]', 'Round-trip avg [ms]'], line.split(',')):\n", - " d[msglen][name] = int(raw.split()[-1].rstrip('ms'))\n", - " \n", - " #if line.startswith('Operator PLMN:'): d[msglen]['PLMN'] = line.split()[-1]\n", - " #if line.startswith('Current phy cell id:'): d[msglen]['phy cell'] = line.split()[-1]\n", - " #if line.startswith('Current band:'): d[msglen]['band'] = line.split()[-1]\n", - " if line.startswith('Current rsrp:'): rowname = d[msglen]['RSRP [dBm]'] = int(line.split()[-1].rstrip('dBm'))\n", - " if line.startswith('Current snr:'): d[msglen]['SNR [dB]'] = int(line.split()[-1].rstrip('dB'))\n", - " \n", - " try:\n", - " mdf0[att] = d['0']\n", - " mdf64[att] = d['64']\n", - " mdf1024[att] = d['1024']\n", - " except: pass\n", - "\n", - "mdf1024 = mdf1024.T.sort_index(ascending=True)\n", - "mdf64 = mdf64.T.sort_index(ascending=True)\n", - "mdf0 = mdf0.T.sort_index(ascending=True)\n", - "\n", - "mdf0['K_U [dB]'] = mdf0.index\n", - "mdf64['K_U [dB]'] = mdf64.index\n", - "mdf1024['K_U [dB]'] = mdf1024.index\n", - "\n", - "mdf0[['RSRP [dBm]', 'SNR [dB]']] = mdf1024[['RSRP [dBm]', 'SNR [dB]']]\n", - "mdf64[['RSRP [dBm]', 'SNR [dB]']] = mdf1024[['RSRP [dBm]', 'SNR [dB]']]\n", - "\n", - "display(mdf1024)\n", - "\n", - "#mdf1024['K_U'].T.plot(grid=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "71d9d09e-8203-4ca2-8b8a-9e1a69d1a309", - "metadata": {}, - "outputs": [], - "source": [ - "mstart = {0: [1.2385932387096785, 7.935092108387099, 15.308364800000003], 6: [1.159158750967742, 6.137643272258064, 11.222052996129031], 3: [2.3177795922580646, 8.4049056, 14.277911597419354], 10: [2.254969950967742, 7.879874539354838, 13.56276783483871], 20: [2.108063876129032, 7.932060572903225, 13.878667726451612], 30: [3.4558087741935486, 8.498468516129034, 21.51456460215054], 40: [1.5819447741935493, 7.439500129032259, 13.742366709677423], 50: [2.1108309677419355, 7.469094193548387, 14.236382193548387]}\n", - "mstop = {0: [5.58419356903226, 12.993085935483872, 19.689584805161292], 6: [5.1048725470967735, 9.977431865806452, 16.068131014193547], 3: [7.0590083922580655, 12.840248670967743, 19.32502612645161], 10: [6.053230265806451, 11.56215744, 17.969909574193547], 20: [5.75572496516129, 11.64102689032258, 18.139381099354836], 30: [6.968430731182797, 12.571386, 25.371983806451617], 40: [6.206330580645163, 12.372178322580648, 20.81596425806452], 50: [5.90130606451613, 12.728130322580647, 25.304693161290324]}\n", - "nbstart = {0: [2.0196427974193565, 22.487667943225816, 33.293768175483876], 3: [9.34990451612903, 22.05969341935484, 32.29441816774194], 6: [2.3284967225806437, 13.871843922580641, 24.13850756129032], 10: [1.8213833290322583, 14.250912103225808, 26.147746787096775], 20: [2.041407360000001, 14.311831680000001, 26.582256000000005], 30: [2.0029935483870958, 12.880965367741933, 23.204966399999996], 36: [2.1068927380645146, 14.880088423225803, 25.701048959999994], 40: [2.824676129032259, 13.266949161290325, 24.67399741935484], 50: [3.537328392258063, 24.698372954838703, 39.6297642116129], 60: [14.86525873548387, 41.75378023225806, 84.67822720000001], 63: [3.05801610322581752, 39.76423715096772, 86.22353261419352]}\n", - "nbstop = {0: [10.219565914838713, 30.814721651612913, 42.70143190709678], 3: [18.781905754838707, 30.02003489032258, 42.66293016774193], 6: [11.265281651612902, 22.32987251612903, 33.60724397419354], 10: [10.462865238709679, 21.827005832258063, 36.26893450322581], 20: [10.987332480000003, 23.31820224, 37.4624352], 30: [10.967248103225806, 21.996302864516124, 32.924635664516124], 36: [11.75651218580645, 23.302588634838706, 35.462224701935476], 40: [11.62115612903226, 22.4606895483871, 36.308051612903235], 50: [22.522938467096772, 37.65209649548387, 64.5483774348387], 60: [38.838157419354836, 76.90323303225807, 111.5667486967742], 63: [36.4457160464516, 86.22353261419352, 132.93809893161287]}\n", - "\n", - "bi = 20" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "c422cd8b-d31d-4dd9-bee4-f3998b996a81", - "metadata": {}, - "outputs": [], - "source": [ - "from matplotlib import pyplot as plt\n", - "import zipfile\n", - "from matplotlib.backend_bases import MouseButton\n", - "\n", - "plt.ioff()\n", - "def show_i(a, ku):\n", - " with plt.ion():\n", - " showing = True\n", - " i = a['I']/1000\n", - " fs = 100000\n", - " if ku not in nbstart:\n", - " nbstart[ku] = []\n", - " nbstop[ku] = []\n", - "\n", - " ready = np.mean(i[-fs*2:])\n", - " standby = np.mean(i[:fs*2])\n", - " xmax = len(i)/fs\n", - "\n", - " fig = plt.figure(figsize=(10,6))\n", - "\n", - " plt.plot(np.linspace(0, len(i)/fs, len(i)), i)\n", - "\n", - " plt.axhline(standby, color='g')\n", - " plt.axhline(ready, color='r')\n", - "\n", - " for s in nbstart[ku]:\n", - " plt.axvline(s, color='y')\n", - " for s in nbstop[ku]:\n", - " plt.axvline(s, color='r')\n", - "\n", - " plt.legend(['Measured', 'Standby mean', 'Ready mean'], loc='right')\n", - " plt.grid()\n", - " plt.xlabel('Time [s]')\n", - " plt.ylabel('Current [mA]')\n", - " plt.title(ku)\n", - "\n", - " def on_click(event):\n", - " if event.button is MouseButton.LEFT: \n", - " nbstart[ku].append(event.xdata)\n", - " if event.button is MouseButton.RIGHT: \n", - " nbstop[ku].append(event.xdata)\n", - " \n", - " print('nbstart =', nbstart)\n", - " print('nbstop =', nbstop)\n", - " if len(nbstop[ku]) >= 3:\n", - " plt.close()\n", - " \n", - " plt.connect('button_press_event', on_click)\n", - "\n", - " plt.show()\n", - "\n", - "#for ku in df0.index.to_list():# [bi:bi+1]:\n", - "# #ku = 51\n", - "# archive = zipfile.ZipFile(f'vodafone_nbiot_{ku}db.ppk2', 'r')\n", - "# f = archive.read('session.raw')\n", - "# a = np.frombuffer(f, dtype=np.dtype([('I', np.float32),('DI',np.uint16)]))\n", - "# show_i(a, ku)\n", - "#bi += 1" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "e65a24ef-934e-4ac2-9437-a94bc1d218e8", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAIhCAYAAABE54vcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAADKz0lEQVR4nOzdd3QUVRsG8GdTCAmELqH3onSxoKACKkQDWLBjAUHlExsgoKg0FRBQQEGx0QRRQRARI4Teu/RekhBKCOk92TLfH3GXbLbN7M7uzOw+v3M8kt27M+/O3inv3Dv36gRBEEBERERERESiBSkdABERERERkdYwkSIiIiIiIpKIiRQREREREZFETKSIiIiIiIgkYiJFREREREQkERMpIiIiIiIiiZhIERERERERScREioiIiIiISCImUkRERERERBIxkSLyU40aNYJOp7P8V6FCBXTs2BGzZ8+GIAhWZTdv3mxVtvR/Tz75pKWcIAj46quvcPPNNyMsLAy1a9fG66+/joyMDJv1z5w5E3379kXjxo2h0+nQrVs3p/H++eef6Nq1KypVqoQKFSqgdevW+P77723KrV+/HnfffTciIiJQo0YNDBgwACkpKaK2iU6nw5tvvmn12oABAxx+99L/DRgwAADQrVs3h2UaNWrkMoaEhARL+fHjx9stM3DgQEsZV8aPHw+dToegoCBcuHDB5v28vDxUqlTJ6jsEum7durmsj/5q586dGD9+PDIzMxWNY9KkSVi5cqXN6ydOnMD48eORkJDg85jkcOXKFYwfPx6HDh2yec+8ryrFk2OnPeZj2YIFCyyvmb+j+b+goCDUrl0bMTEx2LFjhwzfgkhdmEgR+bEuXbpg165d2LVrFxYtWoSIiAi89dZbmDx5st3ykyZNspQ3/1e67IgRIzBs2DA8+uijWL16Nd5//30sWbIEPXr0gF6vt1rWt99+i8TERNx///246aabnMb52WefoW/fvmjTpg2WLl2KVatWYciQISguLrYqt2XLFjz88MOIiorCn3/+iS+//BLr16/HAw88gKKiIre20ZgxY6y+79dff213W4wZM8bymSZNmthsp127duGPP/4Qvd7IyEgsWLAAJpPJ6vXc3FwsW7YMlSpVkvQ9KlasiPnz59u8vmzZMuj1eoSGhkpaHvmnnTt3YsKECapOpCZMmKDpRGrChAl2E6lXXnkFu3bt8n1Q8M6x05k1a9Zg165d2L59O2bMmIHk5GR069YN//77r+zrIlJSiNIBEJH3VKlSBXfddZfl7wcffBANGjTAd999hw8++MCmfPPmza3Kl3b58mV8+eWXeOONNzBlyhQAQI8ePVCzZk3069cPCxYswKuvvmopf+LECQQFldyradOmjcMYDxw4gA8//BCTJ0/GqFGjLK8/8MADNmVHjhyJFi1a4Pfff0dISMnhq3HjxujSpQvmzZuH119/3dnmsKtp06Zo2rSp5e/CwkIAzrdFeHi4w/fEeuaZZ/Djjz9iw4YN6NGjh+X13377DUajEY899hgWL14saXkLFy7EhAkTLNsdAObOnYvHH38cq1at8iheNcjPz0dERITSYcimoKAA5cuXt9tK4W/flYB69eqhXr16iqzbG8dOZ2677TbUqFEDANC5c2fceeedaNq0KX7//Xd07NhR1nURKYktUkQaYu42cfz4cTz33HOoXLkyoqKiMHDgQGRlZbn8fKVKldCiRQtcu3ZN8rp3794No9GImJgYq9d79+4NAFi+fLnV66Uv5p2ZPXs2wsLC8NZbbzktd/nyZezbtw8vvvii5UIAKDlJt2jRQlJrkBq0bNkSnTt3xrx586xenzdvHvr27YvKlStLWt7AgQORlJSEdevWWV47c+YMtm/fjoEDB9r9THZ2NkaMGIHGjRujXLlyqFu3LoYOHYq8vDyrcl9//TXuu+8+1KxZExUqVEDbtm0xdepUm1bIgwcPonfv3qhZsybCwsJQp04d9OrVC5cuXQJgvyuQWdmujua6/u+//+LJJ59E1apVLQmvIAj45ptv0KFDB4SHh6Nq1ap48sknbbo2CoKAqVOnomHDhihfvjw6duyIf/75R/Q2NZlMmDVrlmU95hsTpZNSR100GzVqZNWVcsGCBdDpdIiLi8PAgQNx0003ISIiAkVFRejWrRvatGmDrVu3onPnzoiIiLD8ZmJ/I3O31UWLFuGWW25BREQE2rdvj9WrV1tt05EjRwKApcutTqfD5s2bRW8TZwoLC/Huu++iQ4cOqFy5MqpVq4a7774bf/75p02seXl5WLhwoSWGbt26YcGCBXjqqacAAN27d7e8V7q+mFtRKlWqhIiICHTp0gUbNmywWr7Y46SU+nju3Dm8/PLLaN68OSIiIlC3bl306dMHR48etZTZvHkz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s6YQEREh3HPPPcK2bdvs1qVffvlFuPnmm4XQ0FCr5djbDkajUZgyZYrQokULITQ0VKhRo4bwwgsvCElJSVblHNWR/v37Cw0bNrR53R5Pjp2XLl0SnnjiCaFixYpCZGSk8MQTTwg7d+4UNWpftWrVhE6dOgnz5s2ze0wn0jKdIJSZiIKIiIiIiIic4jNSREREREREEjGRIiIiIiIikoiJFBERERERkURMpIiIiIiIiCRiIkVERERERCQREykiIiIiIiKJOCEvAJPJhCtXriAyMtJqRnYiIiIiIgosgiAgJycHderUQVCQ43YnJlIArly5gvr16ysdBhERERERqURSUhLq1avn8H0mUgAiIyMBlGysSpUqKRqLXq9HXFwcevbsidDQUMXiMBrzsHNnHQBA585XEBxcQbFYyDmP6kxeHlCn5HfGlStAhcD8nQOpvqvlGOMXAmD/cVVfAmnfCXgi6zuPMSSFWutLdnY26tevb8kRHGEiBVi681WqVEkViVRERAQqVaqkcCIVbDlGVqpUiSdHFfOozgQH3/h3pUp+eSEoRiDVd7UcY/xCAOw/rupLIO07AU9kfecxhqRQe31x9cgPB5sgIiIiIiKSiIkUERERERGRREykiIiIiIiIJGIiRUREREREJBETKSIiIiIiIomYSBEREREREUnERIqIiIiIiEgiJlJEREREREQSMZEiIiIiIiKSiIkUERERERGRREykiIiIiIiIJGIiRUREREREJBETKSIiIiIiIomYSBEREREREUnERIqIiIiIiEgiJlJEREREREQSMZEil45dzoQgCEqHQURERESkGkykyKWnvtuNtceTlQ6DiIiIiEg1mEiRKH8dvqp0CEREREREqsFEioiIiIiISCImUkRERERERBIxkSIiIiIiIpKIiRQREREREZFETKSIiIiIiIgkYiJFREREREQkERMpIiIiIiIiiZhIERERERERScREioiIiIiISCImUkRERERERBIpmkht3boVffr0QZ06daDT6bBy5Uqr9wVBwPjx41GnTh2Eh4ejW7duOH78uFWZoqIivPXWW6hRowYqVKiARx55BJcuXfLhtyAiIiIiokCjaCKVl5eH9u3bY/bs2Xbfnzp1KqZPn47Zs2dj3759qFWrFnr06IGcnBxLmaFDh+KPP/7Ar7/+iu3btyM3Nxe9e/eG0Wj01dcgIiIiIqIAE6Lkyh9++GE8/PDDdt8TBAEzZ87Ehx9+iL59+wIAFi5ciKioKCxZsgSDBw9GVlYW5s6di0WLFuHBBx8EACxevBj169fH+vXrER0d7bPvQkREREREgUPRRMqZ+Ph4JCcno2fPnpbXwsLC0LVrV+zcuRODBw/GgQMHoNfrrcrUqVMHbdq0wc6dOx0mUkVFRSgqKrL8nZ2dDQDQ6/XQ6/Ve+kbimNevdBxGo/X6TSaT4jGRfR7VGb0eoaWXE6C/cen6rtfrYTL573ZQyzHGLwTA/uOqvgTSvhPwRNZ3HmNICrXWF7HxqDaRSk5OBgBERUVZvR4VFYXExERLmXLlyqFq1ao2Zcyft2fy5MmYMGGCzetxcXGIiIjwNHRZrFu3TuEIClG58o2/riZfRWzsZeXCIZfcqTPBhYXo/d+/165dC2P58vIGpRk36vvatWsB+P92UP4Yo32BtP84ri+Bt+8EKqn1nccYkkJt9SU/P19UOdUmUmY6nc7qb0EQbF4ry1WZ0aNHY/jw4Za/s7OzUb9+ffTs2ROVKlXyLGAP6fV6rFu3Dj169EBoaKjrD3iJ0ZiH3btv/F27Vm3ExLRXLB5yzKM6k5dn+Wd0dDRQoYLM0WlD6foeHR2N4GD/3Q5qOcb4hQDYf1zVl0DadwKeyPrOYwxJodb6Yu6t5opqE6latWoBKGl1ql27tuX1lJQUSytVrVq1UFxcjIyMDKtWqZSUFHTu3NnhssPCwhAWFmbzemhoqGp+RKVjCQoKLfN3kGq2DdnnVp0pVT40NNTq70BSur6HhoYiONj/t4PSxxi/EED7j6P6Eoj7TsCSWN95jCEp1FZfxMai2nmkGjdujFq1alk19RUXF2PLli2WJOm2225DaGioVZmrV6/i2LFjThMpIiIiIiIiTyjaIpWbm4tz585Z/o6Pj8ehQ4dQrVo1NGjQAEOHDsWkSZPQvHlzNG/eHJMmTUJERAT69esHAKhcuTIGDRqEd999F9WrV0e1atUwYsQItG3b1jKKHxERERERkdwUTaT279+P7t27W/42P7fUv39/LFiwAKNGjUJBQQGGDBmCjIwMdOrUCXFxcYiMjLR8ZsaMGQgJCcHTTz+NgoICPPDAA1iwYAGCg4N9/n2IiIiIiCgwKJpIdevWDYIgOHxfp9Nh/PjxGD9+vMMy5cuXx6xZszBr1iwvREhERERERGRLtc9IERERERERqRUTKRLH+YjzREREREQBhYkUERERERGRREykSBQ2SBERERER3cBEikRZfeQqRq84qnQYRERERESqwESKRPtl70WlQyAiIiIiUgUmUkRERERERBIxkSIiIiIiIpKIiRQREREREZFETKSIiIiIiIgkYiJFREREREQkERMpIiIiIiIiiZhIERERERERScREioiIiALG+FXHMfbPY0qHQUR+gIkUERERBYSsAj0W7EzAT7sSkZZbpHQ4RKRxTKSIiIgoIBhNwo1/C4KTkkRErjGRIklGLjuMH7ZeUDoMIiIiIiJFhSgdAGnLsgOXAACv3tdE4UiIiIiIiJTDFikiIiIiIiKJmEgRERERERFJxESKiIiIiIhIIiZSREREREREEjGRIiIiIiIikoiJFBERERERkURMpIiIiIiIiCRiIkVERERERCQREykiIiIiIiKJmEgRERERERFJxESKiIiIiIhIIiZSREREREREEjGRIiIiIiIikoiJFHldRl4xpq09hQvXc5UOhYiI/ExWvh7T1p7CuRSeY4jIt5hIkde9t/wIvt50Hg9/uU3pUIiIyM989OcxfL3pPHrO2KJ0KEQUYJhIkdcdSMwAABQZTApHQkRE/ubgxZJzjElQOBAiCjghSgdA2rT5dAouZRSgoNiIjg2r4LaG1ZQOiYiIAtCljAKlQ5DscFImdl1Iwyv3NEZIMO9pE2kVEylyy4D5+6z+Tvisl0KREBERiSMI6mi2evTrHQCAimEheOGuhgpHQ0Tu4m0QIiIiCjg66JQOAWeu5SgdAhF5gIkUEZGXnLiSjfk74mHkwxtE5IE/D13G1jPXlQ6DiMpg1z4iIi+J+apkpMqwkGD069RA4WiISIsS0/Lwzq+HALAbPZHasEWKiMjLjl/JUjoEItKolJwipUMgIgeYSBERERF5aOuZ69h0KkXpMCwW7U7E64sPIK/I4LJsod6IRbsTcSkj3weREfkPdu0jIiIi8kCRwYiX5u0FABwe1xOVw0MVjScluxBjVh4DAFSJCMXkvu2clv987Wn8uD0ekWEhODoh2hchEvkFtkgREREReUBvvDGgjJgWIG+7nnujO+Dm064Hqdh6tqRMjgpiJ9ISJlLkdWl5xUqHQERE5BO5TEaIAgYTKSIiIiKZjPz9iNIhEJGPMJEiIiIiksnhpEylQyAi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", - "text/plain": [ - "<Figure size 1000x600 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAIhCAYAAABE54vcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAADSnElEQVR4nOzdd3gUVdsG8HuTLGl0kBLpCIhUsSDgS1EhGsCCiooKCPihYAEFFBEFURBUREHFQhNsoICokd4JLXQInRBaQggJ6WXLfH/E3exm6+zO7szs3r/r8pLMTnl29szMeeacOaMRBEEAERERERERuS1E7gCIiIiIiIjUhokUERERERGRSEykiIiIiIiIRGIiRUREREREJBITKSIiIiIiIpGYSBEREREREYnERIqIiIiIiEgkJlJEREREREQiMZEiIiIiIiISiYkUUYBq1KgRNBqN+b/o6Gh06NABc+bMgSAIVvNu3rzZal7L/5544gnzfIIg4Msvv8Stt96K8PBw1K1bFy+//DKysrJstj9r1iz069cPjRs3hkajQffu3Z3G++eff6Jbt26oXLkyoqOj0apVK3z33Xc2861fvx6dOnVCVFQUatasicGDByM9Pd2tfaLRaPDKK69YTRs8eLDD72753+DBgwEA3bt3dzhPo0aNXMZw/vx58/yTJk2yO8+QIUPM87gyadIkaDQahISE4Ny5czaf5+fno3LlylbfIdh1797dZXkMVAkJCZg0aRJu3LghaxxTp07FypUrbaYnJSVh0qRJOH/+vN9jksKVK1cwadIkHDx40OYz07EqhwkTJuD2229H9erVERERgSZNmuD//u//kJKS4vE6TeeyhQsXmqeZvqPpv5CQENStWxdxcXHYsWOHBN+ESFnC5A6AiHynS5cu+PTTTwGUXuBnzpyJV199FTk5OXjnnXds5p86dSp69OhhNa1GjRrmf48ZMwazZs3CmDFj8MADDyApKQnvvfce9u7di507d0Kr1ZrnnTt3LqKjo3Hffffhr7/+chrnxx9/jAkTJuCll17C+PHjodVqceLECZSUlFjNt2XLFjz00EPo3bs3/vzzT6Snp+Ott97C/fffj8TERISHh4veRxMnTsRLL71k/nv//v0YOXKkzb646aabzP9u0qQJfvrpJ5t1idl+pUqVsHDhQrz33nsICSm7p5WXl4dly5ahcuXKyMnJcXt9FStWxIIFCzBlyhSr6cuWLYNOp7P6bSh4JSQkYPLkyRg8eDCqVq0qWxxTp07FE088gUcffdRqelJSEiZPnozu3bu7dWNCaa5cuYLJkyejUaNGaN++vdVnw4YNw4MPPihLXDdu3MAzzzyDli1bolKlSkhKSsKHH36IVatW4dixY1bneSmsXr0aVapUgdFoxIULFzBjxgx0794du3fvRocOHSTdFpGcmEgRBbCqVavinnvuMf/9wAMPoEGDBvj222/tJlLNmjWzmt/S5cuX8cUXX2DkyJGYPn06AKBnz56oVasWBgwYgIULF+LFF180z5+UlGROEFq3bu0wxn379mHChAmYNm0axo0bZ55+//3328w7duxYNG/eHL///jvCwkpPX40bN0aXLl0wf/58vPzyy852h11NmzZF06ZNzX8XFRUBcL4vIiMjHX7mrqeeego//PADNmzYgJ49e5qn//bbbzAYDHj00UexZMkSUetbtGgRJk+ebJWYzZs3D4899hhWrVrlVbxKUFBQgKioKLnDkExhYSEiIiLstlIE2ncloF69eqhXr54s2/7qq6+s/u7evTsaN26MuLg4/PnnnxgyZIik27vjjjtQs2ZNAEDnzp1x9913o2nTpvj999+ZSFFAYdc+IhUxdZs4duwYnnnmGVSpUgW1a9fGkCFDkJ2d7XL5ypUro3nz5rh69arobe/atQsGgwFxcXFW0/v06QMA+OOPP6ymW1bmnZkzZw7Cw8Px6quvOp3v8uXL2Lt3L55//nlzEgWUXqSbN2+OFStWuLU9pWjRogU6d+6M+fPnW02fP38++vXrhypVqoha35AhQ3Dx4kWsW7fOPO3UqVPYvn27w0pSTk4OxowZg8aNG6NChQq4+eabMWrUKOTn51vN99VXX6Fr166oVasWoqOj0aZNG8yYMQM6nc5qvgMHDqBPnz6oVasWwsPDERMTg969e+PSpUsA7HcFMinf1dFU1vfv348nnngC1apVMye8giDg66+/Rvv27REZGYlq1arhiSeesOnaKAgCZsyYgYYNGyIiIgIdOnTAv//+6/Y+NRqNmD17tnk7phsTlkmpoy6ajRo1supKuXDhQmg0GqxduxZDhgzBTTfdhKioKBQXF6N79+5o3bo1tm7dis6dOyMqKsr8m7n7G5m6rS5evBgtW7ZEVFQU2rVrh7///ttqn44dOxYAzF1uNRoNNm/e7PY+caaoqAhvvvkm2rdvjypVqqB69ero1KkT/vzzT5tY8/PzsWjRInMM3bt3x8KFC/Hkk08CAHr06GH+zLK8rF+/Hvfffz8qV66MqKgodOnSBRs2bLBav7vnSTHl8cyZM3jhhRfQrFkzREVF4eabb0bfvn1x5MgR8zybN2/GXXfdBQB44YUXbLrw2uvaZzQaMWPGDHN36Vq1amHgwIHmY8bEVEb27t2L//3vf4iKikKTJk3w8ccfw2g0Ov9hHDC1slueTx25cuUK+vfvj0qVKqFKlSp46qmnkJaW5va2TOcztoxToGEiRaRCjz/+OJo3b44//vgDb7/9Nn7++WeMHj3a5XJ6vR4XL15E8+bN7X5uNBqh1+ut/jMxdbMr331Nq9VCo9Hg8OHDHn2XrVu3omXLlvjjjz/QokULhIaGol69enj77betuvYdPXoUANC2bVubdbRt29b8ub+U3096vV50hWbo0KFYuXKl+RmzkydPIiEhAUOHDhUdT7NmzfC///3PKjGbP38+GjVqZLd1r6CgAN26dcOiRYvw2muv4d9//8Vbb72FhQsX4uGHH7Z6ju7s2bMYMGAAFi9ejL///htDhw7FJ598guHDh5vnyc/PR8+ePXH16lV89dVXWLduHWbNmoUGDRogNzdX9Pcx6devH2655RYsW7YMc+fOBQAMHz4co0aNwgMPPICVK1fi66+/xrFjx9C5c2ermwSTJ0/GW2+9hZ49e2LlypV4+eWX8eKLL+LkyZNubXvw4MF4/fXXcdddd+G3337Dr7/+iocfftir53eGDBkCrVaLxYsX4/fffzdXLFNTU/Hcc89hwIABiI+Px4gRI0T9RgDwzz//YM6cOfjggw/wxx9/oHr16njsscfMCeawYcPMNyyWL1+OnTt3YufOnZK1EBQXFyMzMxNjxozBypUr8csvv+Dee+9Fv3798OOPP5rn27lzJyIjIxEXF2eO4euvv0bv3r0xdepUAKXJu+mz3r17AwCWLFmCXr16oXLlyli0aBGWLl2K6tWrIzY21iaZAjw/T9pz5coV1KhRAx9//DFWr16Nr776CmFhYejYsaO5PHXo0AELFiwAALz77rvm+IcNG+ZwvS+//LK5jK5atQpTpkzB6tWr0blzZ2RkZFjNm5aWhmeffRbPPfccVq1ahYceegjjx48X1XKt1+tRWFiIAwcOYNSoUWjevDn69evndJnCwkI88MADWLt2LaZNm4Zly5ahTp06eOqppxwuYzAYoNfrUVJSgjNnzmDkyJEIDw+3euaWKCAIRKQa77//vgBAmDFjhtX0ESNGCBEREYLRaDRPa9iwoRAXFyfodDpBp9MJKSkpwosvvihotVrh77//tlp+06ZNAgC7/50+fVoQBEE4ePCgAECYMmWK1bIbNmwQAAgVKlRwGHerVq2Ebt262f0sPDxcqFSpklCtWjVhzpw5wsaNG4UJEyYIoaGhwoABA8zz/fTTTwIAYefOnTbr+L//+z+n2zcBIIwcOdLpPKZ9sWzZMrufd+vWzeG+Gjp0qMsYkpOTBQDCJ598IuTm5goVK1YU5syZIwiCIIwdO1Zo3LixYDQahZEjRwrunKJNZeLatWvCggULhPDwcOH69euCXq8X6tatK0yaNEkQBEGIjo4WBg0aZF5u2rRpQkhIiLB3716r9f3+++8CACE+Pt7u9gwGg6DT6YQff/xRCA0NFTIzMwVBEITExEQBgLBy5UqX333BggU2nwEQ3n//fZvv9d5771nNt3PnTgGA8Nlnn1lNv3jxohAZGSmMGzdOEARByMrKEiIiIoTHHnvMar4dO3YIAByWR5OtW7cKAIQJEyY4na983CYNGza02t8LFiwQAAgDBw60mddUpjZs2GA1XcxvBECoXbu2kJOTY56WlpYmhISECNOmTTNP++STTwQAQnJystPvJQW9Xi/odDph6NChwu233271WfnyaLJs2TIBgLBp0yar6fn5+UL16tWFvn37Wk03GAxCu3bthLvvvts8zd3zpJjyaO+7lZSUCM2aNRNGjx5tnr53716H6zTFZXL8+HEBgDBixAir+Xbv3i0AEN555x3zNFMZ2b17t9W8t912mxAbG+swTkupqalW56uOHTsKly9fdrncN998IwAQ/vzzT6vpL774os13NX3H8v9VrlxZWL58uVtxEqkJn5EiUqGHH37Y6u+2bduiqKgI6enpqF27tnl6fHy8TVeKuXPnmu/wljd9+nTcd999VtPq168PAGjXrh26du2KTz75BC1atEDPnj2RlJSEl156CaGhoW535SvPaDQiNzcXv/zyC55++mkApd168vPzMWvWLEyePBm33HKLeX5Ho175czSspk2b4tdff7WZbjkghWVrHgCE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TKhdu7YQHR0t9O3bVzh//rzDUfscfa/58+cLHTt2FKKjo4XIyEihadOmwsCBA4XExETzPEajUZg2bZpQv359oUKFCkLbtm2Fv/76S+jWrZvLUfsEoXREuM8//1xo3bq1ef906tRJ+Ouvv8zzFBcXC+PGjRPq168vREZGCt26dRMOHjzocNS+8iPwCUJpmWrVqpXdGNz9jeBgRMrycQiCIIwfP16IiYkRQkJC7I6Q542PP/5YaNSokRAeHi60bNlS+P77721GqxOE0lFAu3TpIkRFRdmMojhr1iyhcePGQmhoqM35YsuWLULv3r2F6tWrC1qtVrj55puF3r17Wx2vYs6T7pbHrKwsYejQoUKtWrWEqKgo4d577xW2bdtmtyz98ssvwq233ipotVqr9djbDwaDQZg+fbrQvHlzQavVCjVr1hSee+454eLFi1bzOSojgwYNEho2bGgz3VJaWprw3HPPCU2bNhWioqKEChUqCE2aNBFeeukl4cKFC06XNbl06ZLw+OOPCxUrVhQqVaokPP7440JCQoJbo/ZVr15d6NixozB//ny753QiNdMIQrkXURAREREREZFTfEaKiIiIiIhIJCZSREREREREIjGRIiIiIiIiEomJFBERERERkUhMpIiIiIiIiERiIkVERERERCQSX8gLwGg04sqVK6hUqZLVG9mJiIiIiCi4CIKA3NxcxMTEICTEcbsTEykAV65cQf369eUOg4iIiIiIFOLixYuoV6+ew8+ZSAGoVKkSgNKdVblyZVlj0el0WLt2LXr16gWtVitrLEpnMOQjISEGANC58xWEhkbLHFHgYXn8T34+EFNa1nDlChCt7LIWiMcGy6KfqazMW/JH+Wd5JFF8eDyxLPpGTk4O6tevb84RHGEiBZi781WuXFkRiVRUVBQqV67MA8IFgyHUfC6qXLlyQFQWlYbl8T+hoWX/rlxZ8ZXKQDw2WBb9TGVl3pI/yj/LI4niw+OJZdG3XD3yw8EmiIiIiIiIRGIiRUREREREJBITKSIiIiIiIpGYSBEREREREYnERIqIiIiIiEgkJlJEREREREQiMZEiIiIiIiISiYkUERERERGRSEykiIiIiIiIRGIiRUREREREJBITKSIiIiIiIpGYSBEREREREYnERIqIiIiIiEgkJlJEREREREQiMZEiIiIiIiISiYkUERERERGRSEykKOCcz8jHlRuFcodBRERERAEsTO4AiKSUXahD9083AwDOf9xb3mCIiIiIKGCxRYoCyqWsArlDICIiIqIgwESKiIiIiIhIJCZSREREREREIjGRIiIiIiIiEomJFBERERERkUhMpIiIiIiIiERiIkVERERERCQSEykiIiIiIiKRmEgRERERERGJxESKiIiIiIhIJCZSREREREREIjGRIiIiIiIiEomJFBERERERkUhMpIiIiIiIiERiIkVERERERCQSEykiIiIiIiKRmEgRERERERGJJGsitXXrVvTt2xcxMTHQaDRYuXKl+TOdToe33noLbdq0QXR0NGJiYjBw4EBcuXLFah3FxcV49dVXUbNmTURHR+Phhx/GpUuX/PxNiIiIiIgomMiaSOXn56Ndu3aYM2eOzWcFBQXYv38/Jk6ciP3792P58uU4deoUHn74Yav5Ro0ahRUrVuDXX3/F9u3bkZeXhz59+sBgMPjraxARERERUZAJk3PjDz30EB566CG7n1WpUgXr1q2zmjZ79mzcfffduHDhAho0aIDs7GzMmzcPixcvxgMPPAAAWLJkCerXr4/169cjNjbW59+BiIiIiIiCj6yJlFjZ2dnQaDSoWrUqAGDfvn3Q6XTo1auXeZ6YmBi0bt0aCQkJDhOp4uJiFBcXm//OyckBUNqdUKfT+e4LuMG0fbnjUAODoWwf6XQ6GI066PV6q2nkHZbH/+h00Jr/qQMUvj/sHRtqx7LoZyor85b8Uf5ZHkkUHx5PLIu+4e7+VE0iVVRUhLfffhsDBgxA5cqVAQBpaWmoUKECqlWrZjVv7dq1kZaW5nBd06ZNw+TJk22mr127FlFRUdIG7qHyrXFkTxGqVCn915o1awBE4FI+YCrW8fHxcgUWcIK9PIYWFaHPf/9es2YNDBERssbjmu2xESiCvSz6i/rKvCX/lX+WR3KHP44nlkVpFRQUuDWfKhIpnU6Hp59+GkajEV9//bXL+QVBgEajcfj5+PHj8cYbb5j/zsnJQf369dGrVy9zkiYXnU6HdevWoWfPntBqta4XCGIGQz527Sr9d2xsLEJDo5GUmoNPDpdOjIuLkzG6wMDy+J/8fPM/Y2NjgehoGYNxzd6xoXYsi36msjJvyR/ln+WRRPHh8cSy6Bum3mquKD6R0ul06N+/P5KTk7Fx40arRKdOnTooKSlBVlaWVatUeno6Onfu7HCd4eHhCA8Pt5mu1WoVUwiVFItShYSU7R+tVovQUC3CwsKsppE0gr48aq3LGhS+L+wdG4Ei6Muiv6iszFvyZ/lneSS3+OF4YlmUlrv7UtHvkTIlUadPn8b69etRo0YNq8/vuOMOaLVaq+bM1NRUHD161GkiRURERERE5A1ZW6Ty8vJw5swZ89/Jyck4ePAgqlevjpiYGDzxxBPYv38//v77bxgMBvNzT9WrV0eFChVQpUoVDB06FG+++SZq1KiB6tWrY8yYMWjTpo15FD8iIiIiIiKpyZpIJSYmokePHua/Tc8tDRo0CJMmTcKqVasAAO3bt7dabtOmTejevTsA4PPPP0dYWBj69++PwsJC3H///Vi4cCFCQ0P98h1IWQRB7giIiIiIKBjImkh1794dgpOar7PPTCIiIjB79mzMnj1bytCIiIiIiIgcUvQzUkRERERERErERIqIiIiIiEgkJlJEREREREQiMZEiIiIiIiISiYkUERERERGRSEykiIiIiIiIRGIiRUREREREJBITKSIiIiIiIpGYSBEREREREYnERIqIiIiIiEgkJlJEREREREQiMZEiIiIiIiISiYkUERERERGRSEykiIiIiIiIRGIiRUREREREJBITKSIiIiIiIpGYSBEREREREYnERIqIiIiIiEgkJlJEREREREQiMZEiIiIiIiISiYkUBayrOUVyh0BEREREAYqJFAWsjlM34PKNQrnDICIiIqIAxESKAtqus9flDoGIiIiIAhATKSIiIiIiIpGYSBEREREREYnERIoCiiDIHQERERERBQMmUkRERERERCIxkSIiIiIiIhKJiRQREREREZFITKSIiIiIiIhEYiJFAUUAR5sgIiIiIt9jIkVERERERCQSEykiIiIiIiKRmEgRERERERGJxESKAppGI3cERERERBSImEgRERERERGJxESKiIiIiIhIJCZSREREREREIjGRIiIiIiIiEomJFBERERERkUhMpIiIiIiIiERiIkVERERERCQSEykiIiIiIiKRmEgRERERERGJxESKiIiIiIhIJCZSREREREREIjGRIiIiIiIiEomJFAU0jUbuCIiIiIgoEDGRIiIiIiIiEomJFBERERERkUhMpIiIiIiIiERiIkVERERERCQSEykKKIIgdwREREREFAyYSFHQ+GPfJby78giMRmZb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k2424YxTR+tGKuTBslZUVVWJDB28GqSZ3aiqqsJoM/B3kVXmweEOn+2bDSa0uoFvPtuE2s/9w2daTTjZEvx3f6RceJ/m9TXgta87R2s/G+jyChc8vyXO/aiqap/aaHa3h+9ucWPz+mqfcNXV7f++fwjwi63B0xzo3Ieqqn0ht39DP5fP/kzON+KDY0bcO0x4P28vBX6zK/i2lwzyjzs+x4iN3/p31ms+eD9gOsMzjdhxMm4eIQ3IYnQHrCcPDAN+uU34eAeKc202sOWgcJxvd3+EKoH3l7ovlLuurujlEtyOpywGKlvWus9RVSVQyYLEeeyS0O3Fld2BjV7xl48IFsd/O7aEzmNd0dOI948GLl+/HCqUtrTfAgCyrCacuNCuPByg/QCAB8uA+7fHfHdAMrHHWIinHHr+/8AIYPmn/vEXlgiX467G5Bix2audqtu1GVXCM147XNfXgL96tf1N+7eh6utAoYX3LevUF6gSqpgB4pRntYnan6Fd6nXw+tKusEuc+4Z3xumdYsKhc+L7RrOK/I97qtmEswL9q7XvvSsy1c68zesr7neNg262JCXd2svHJBvwdpj7XtFTXBlTWlNTk6hwMb9q37Fjx9CzZ09s3rwZo0eP7vj8kUcewcsvv4yvvvrKL47QHalevXrhxIkTqj8j5XQ6UV1djalTp8JsFp52RO1cLju2bOkOABg16jRMJvVvBccblscL7HaYu7eXNefp04BN22UtHusGy2KUxViZ9xaN8s/ySJIoWJ9YFpXR2NiIrKyskKv2xfxQOSsrCyaTye/uU0NDg99dKg+r1Qqr1X+altls1kwh1FJetMpo7Dw+ZrMZJhOPl1J0Xx7NvmUNGj8W8Vw3dF8WoyXGyry3aJZ/lkcSJQr1iWVRXmKPZczPXbFYLCgrK/Oa7tGuuroaY8aMUSlXREREREQUz2L+jhQALF26FDfccAPKy8sxevRoPPfcc6itrcWCBQvUzhoREREREcWhuBhIzZ07FydPnsSDDz6Iuro6DB48GFVVVSgqKlI7a0REREREFIfiYiAFAAsXLsTChQvVzgYREREREelAzD8jRUREREREFG0cSBEREREREUnEgRQREREREZFEHEgRERERERFJxIEUERERERGRRBxIERERERERScSBFBERERERkUQcSBEREREREUnEgRQREREREZFEHEgRERERERFJxIEUERERERGRRBxIERERERERScSBFBERERERkUQJamdAC9xuNwCgsbFR5ZwATqcTTU1NaGxshNlsVjs7muZy2WG3t//d2NgIk8mlbobiEMvjBZ6CBgCNjYBL22UtHusGy2KUxViZ9xaN8s/ySJIoWJ9YFpXhGRN4xgiBGNyhQujAkSNH0KtXL7WzQUREREREGnH48GEUFBQE/J4DKQBtbW04duwYUlNTYTAYVM1LY2MjevXqhcOHDyMtLU3VvBCxPJJWsCySlrA8klawLCrD7Xbj7NmzyM/Ph9EY+EkoTu0DYDQag4421ZCWlsYKQZrB8khawbJIWsLySFrBsii/9PT0kGG42AQREREREZFEHEgRERERERFJxIGUxlitVjzwwAOwWq1qZ4WI5ZE0g2WRtITlkbSCZVFdXGyCiIiIiIhIIt6RIiIiIiIikogDKSIiIiIiIok4kCIiIiIiIpKIAykiIiIiIiKJOJDSmGeeeQbFxcVITExEWVkZNm7cqHaWSGeWLVsGg8Hg819ubq7a2SKd2LBhA2bOnIn8/HwYDAa88cYbPt+73W4sW7YM+fn5SEpKwsSJE/HFF1+ok1mKa6HK4vz58/3aylGjRqmTWYprK1euxCWXXILU1FRkZ2dj9uzZ2Lt3r08Yto3q4EBKQ1atWoXKykrce++92LFjB8aPH48ZM2agtrZW7ayRzlx88cWoq6vr+G/Xrl1qZ4l0wm63Y+jQoXj66acFv3/88cfx5JNP4umnn8a2bduQm5uLqVOn4uzZs1HOKcW7UGURAKZPn+7TVlZVVUUxh6QXNTU1WLRoEbZs2YLq6mq0traioqICdru9IwzbRnVw+XMNGTlyJEaMGIFnn32247OSkhLMnj0bK1euVDFnpCfLli3DG2+8gc8++0ztrJDOGQwGrFmzBrNnzwbQfsU1Pz8flZWVuOuuuwAALS0tyMnJwWOPPYZbbrlFxdxSPOtaFoH2O1Lfffed350qIqUdP34c2dnZqKmpwYQJE9g2qoh3pDTC4XBg+/btqKio8Pm8oqICmzdvVilXpFf79u1Dfn4+iouL8cMf/hAHDhxQO0tEOHjwIOrr633aSavViksvvZTtJKli/fr1yM7OxkUXXYSf/exnaGhoUDtLpANnzpwBAGRkZABg26gmDqQ04sSJE3C5XMjJyfH5PCcnB/X19SrlivRo5MiR+Mtf/oK1a9fi+eefR319PcaMGYOTJ0+qnTXSOU9byHaStGDGjBl49dVXsW7dOjzxxBPYtm0bJk2ahJaWFrWzRnHM7XZj6dKlGDduHAYPHgyAbaOaEtTOAPkyGAw+/3a73X6fESlpxowZHX+XlpZi9OjR6Nu3L/785z9j6dKlKuaMqB3bSdKCuXPndvw9ePBglJeXo6ioCO+88w7mzJmjYs4oni1evBg7d+7Epk2b/L5j2xh9vCOlEVlZWTCZTH5XDhoaGvyuMBBFk81mQ2lpKfbt26d2VkjnPKtHsp0kLcrLy0NRURHbSlLMkiVL8NZbb+HDDz9EQUFBx+dsG9XDgZRGWCwWlJWVobq62ufz6upqjBkzRqVcEbU/sLpnzx7k5eWpnRXSueLiYuTm5vq0kw6HAzU1NWwnSXUnT57E4cOH2VaS7NxuNxYvXozVq1dj3bp1KC4u9vmebaN6OLVPQ5YuXYobbrgB5eXlGD16NJ577jnU1tZiwYIFameNdOT222/HzJkzUVhYiIaGBjz88MNobGzETTfdpHbWSAfOnTuH/fv3d/z74MGD+Oyzz5CRkYHCwkJUVlZixYoV6N+/P/r3748VK1YgOTkZ8+bNUzHXFI+ClcWMjAwsW7YMV199NfLy8nDo0CHcc889yMrKwlVXXaVirikeLVq0CK+99hrefPNNpKamdtx5Sk9PR1JSEgwGA9tGtbhJU/7whz+4i4qK3BaLxT1ixAh3TU2N2lkinZk7d647Ly/PbTab3fn5+e45c+a4v/jiC7WzRTrx4YcfugH4/XfTTTe53W63u62tzf3AAw+4c3Nz3Var1T1hwgT3rl271M00xaVgZbGpqcldUVHh7tGjh9tsNrsLCwvdN910k7u2tlbtbFMcEiqHANwvvvhiRxi2jerge6SIiIiIiIgk4jNSREREREREEnEgRUREREREJBEHUkRERERERBJxIEVERERERCQRB1JEREREREQScSBFREREREQkEQdSREREREREEnEgRUREREREJBEHUkREFNOWLVuGYcOGRX2769evh8FggMFgwOzZs0XFWbZsWUecp556StH8ERGRsjiQIiIizfIMOgL9N3/+fNx+++344IMPVMvj3r178dJLL4kKe/vtt6Ourg4FBQXKZoqIiBSXoHYGiIiIAqmrq+v4e9WqVbj//vuxd+/ejs+SkpKQkpKClJQUNbIHAMjOzka3bt1EhfXk1WQyKZspIiJSHO9IERGRZuXm5nb8l56eDoPB4PdZ16l98+fPx+zZs7FixQrk5OSgW7duWL58OVpbW3HHHXcgIyMDBQUF+NOf/uSzraNHj2Lu3Lno3r07MjMzMWvWLBw6dEhynv/+97+jtLQUSUlJyMzMxJQpU2C32yM8EkREpDUcSBERUdxZt24djh07hg0bNuDJJ5/EsmXLcOWVV6J79+7YunUrFixYgAULFuDw4cMAgKamJlx22WVISUnBhg0bsGnTJqSkpGD69OlwOByit1tXV4frrrsON998M/bs2YP169djzpw5cLvdSu0qERGphAMpIiKKOxkZGfjd736HAQMG4Oabb8aAAQPQ1NSEe+65B/3798cvf/lLWCwW/Pvf/wYAvP766zAajXjhhRdQWlqKkpISvPjii6itrcX69etFb7eurg6tra2YM2cOevfujdLSUixcuFDVqYdERKQMPiNFRERx5+KLL4bR2HmtMCcnB4MHD+74t8lkQmZmJhoaGgAA27dvx/79+5GamuqTTnNzM77++mvR2x06dCgmT56M0tJSTJs2DRUVFbjmmmvQvXv3CPeIiIi0hgMpIiKKO2az2effBoNB8LO2tjYAQFtbG8rKyvDqq6/6pdWjRw/R2zWZTKiursbmzZvx/vvv4/e//z3uvfdebN26FcXFxWHsCRERaRWn9hERke6NGDEC+/btQ3Z2Nvr16+fzX3p6uqS0DAYDxo4di+XLl2PHjh2wWCxYs2aNQjknIiK1cCBFRES6d/311yMrKwuzZs3Cxo0bcfDgQdTU1OC2227DkSNHRKezdetWrFixAp988glqa2uxevVqHD9+HCUlJQrmnoiI1MCpfUREpHvJycnYsGED7rrrLsyZMwdnz55Fz549MXnyZKSlpYlOJy0tDRs2bMBTTz2FxsZGFBUV4YknnsCMGTMUzD0REanB4OaarERERJKtX78el112GU6fPi36hbwevXv3RmVlJSorKxXJGxERKY9T+4iIiCJQUFCA6667TlTYFStWICUlBbW1tQrnioiIlMY7UkRERGE4f/48jh49CgBISUlBbm5uyDinTp3CqVOnALSvBih1IQsiItIODqSIiIiIiIgk4tQ+IiIiIiIiiTiQIiIiIiIikogDKSIiIiIiIok4kCIiIiIiIpKIAykiIiIiIiKJOJAiIiIiIiKSiAMpIiIiIiIiiTiQIiIiIiIikuj/AyYCLnRqMXopAAAAAElFTkSuQmCC", - "text/plain": [ - "<Figure size 1000x600 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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yJEjhdDQUCEoKEjo27evcPXqVbOj9plbr6VLlwrt27cXgoKChPLlywsNGjQQBg8eLMTHx+vKaDQaYfbs2UJ4eLhQrlw5oVWrVsLff/8tdO3a1eqofYJQPCLc/PnzhRYtWui2T4cOHYS///5bV6agoECYNGmSEB4eLpQvX17o2rWrkJCQYHbUvtIj8AlCcZ1q3ry5yRhs/Y5gZkTK0nEIgiBMnjxZCAsLE3x8fEyOkGePzz//XKhbt67g7+8vNG3aVPjxxx+NRqsThOJRQDt16iQEBgYajaK4YMECoV69eoKvr6/R/mL37t3CM888I1SpUkVQKpXCww8/LDzzzDMGv1cx+0lb62NGRoYwYsQIoXr16kJgYKDQuXNnYe/evSbr0q+//io88sgjglKpNJiPqe2gVquFOXPmCI0bNxaUSqVQrVo14dVXXxWSk5MNypmrI0OGDBHq1KljNN0UbbyBgYFCYGCg8J///EfYv3+/TZ+9ceOG8PzzzwsVKlQQKlasKDz//PNCXFycTaP2ValSRWjfvr2wdOlSk/t0InemEIRSD6IgIiIiIiIii3iPFBERERERkUhMpIiIiIiIiERiIkVERERERCQSEykiIiIiIiKRmEgRERERERGJxESKiIiIiIhIJD6QF4BGo0FKSgoqVqxo8ER2IiIiIiLyLoIg4MGDBwgLC4OPj/l2JyZSAFJSUhAeHi51GEREREREJBPJycmoVauW2feZSAGoWLEigOKNFRwcLGksKpUKMTEx6NWrF5RKpaSxWKNW5yAuLgwA0LFjCnx9gySOyD7utO09icF2LywEworrFFJSgCD51CnWd7JbTo6ufm9duhQ9+vVzm23vCfWfdV46st72er9LuR137CXr7S5zWVlZCA8P1+UI5jCRAnTd+YKDg2WRSAUGBiI4OFj2lV6t9tXtb4KDg93ywKrPnba9JzHY7oWFJW8EB8vqgMb6Tnbz9dX96W7b3hPqP+u8dGS97fV+l3I77thL1tvdTVi75YeDTRAREREREYnERIqIiIiIiEgkJlJEREREREQiMZEiIiIiIiISiYkUERERERGRSEykiIiIiIiIRGIiRUREREREJBITKSIiIiIiIpGYSBEREREREYnERIqIiIiIiEgkJlJEREREREQiMZEiIiIiIiISiYkUERERERGRSEykiIiIiIiIRGIiRUREREREJBITKSIiIiIiIpGYSJFTZeaqcCYlU+owiIiIiIgciokUOVXHz7fjmf/tw9FrGVKHQkRERETkMEykyKlyCtUAgF0X0iWOhIiIiIjIcZhIERERERERicREioiIiIiISCRJE6k9e/agb9++CAsLg0KhwIYNG4zKnDt3Dv369UNISAgqVqyIJ598EtevX9e9X1BQgLfffhvVqlVDUFAQ+vXrhxs3brhwLYiIiIiIyNtImkjl5OSgdevWWLRokcn3L1++jM6dO+ORRx7Brl27cOLECUydOhUBAQG6MmPHjsX69euxZs0a7Nu3D9nZ2ejTpw/UarWrVoOIiIiIiLyMn5QL7927N3r37m32/SlTpiAqKgpz587VTatfv77u78zMTCxZsgQrV65Ez549AQCrVq1CeHg4tm3bhsjISOcFT0REREREXkvSRMoSjUaDf/75B5MmTUJkZCSOHz+OevXqYfLkyXj22WcBAEePHoVKpUKvXr10nwsLC0OLFi0QFxdnNpEqKChAQUGB7nVWVhYAQKVSQaVSOW+lbKBdvtRx2EKtLolRpVJBozEfs1qtkf06udO29yQG212lglJ/uoy+CzH13R2wvktAr34Xv3Sfbe8J9Z91Xjqy3vYyPu7YS9bbXeZs3WayTaTS09ORnZ2Nzz//HJ9++inmzJmDrVu3on///ti5cye6du2KtLQ0lCtXDpUrVzb4bGhoKNLS0szOe/bs2ZgxY4bR9JiYGAQGBjp8XcoiNjZW6hBskI+QkOK/oqOjAQSYKFNcxS5duoTNhYkui8we7rHtPU9sbCx88/PR59/X0dHRUAeYqlNSsaW+ux/Wd9fRr9+Au217z6n/7rXdPYsct728jzuOIcftLne5ubk2lZNtIqXRaAAA//3vfzFu3DgAQJs2bRAXF4fFixeja9euZj8rCAIUCoXZ9ydPnozx48frXmdlZSE8PBy9evVCcHCwg9agbFQqFWJjYxEREQGlUmn9AxJSq3Nw8GDx35GRkfD1DTIq8+6BGABAw4YNEdWzoSvDE82dtr0nMdjuhYW66ZGRkUCQcZ2Sii313Z2wvksgJ8fgpTtte0+o/6zz0pH1ttf7XcrtuGMvWW93mdP2VrNGtolUtWrV4Ofnh2bNmhlMb9q0Kfbt2wcAqFGjBgoLC5GRkWHQKpWeno6OHTuanbe/vz/8/f2NpiuVStlUNDnFYo6PT0l8SqUSvr7m4/X19ZH9+mi5w7b3REqlEkpBMHgNGX0PYuq7O2F9d6FS29mdtr0n1X932u6eRpbbXmlYt+V03HEUWW53mbN1e8n2OVLlypXDE088gQsXLhhMT0xMRJ06dQAAjz32GJRKpUGTZWpqKk6fPm0xkSIiIiIiIrKHpC1S2dnZuHTpku51UlISEhISUKVKFdSuXRsTJ07ESy+9hC5duqB79+7YunUr/v77b+zatQsAEBISghEjRuC9995D1apVUaVKFUyYMAEtW7bUjeJHRERERETkaJImUvHx8ejevbvutfa+pSFDhmD58uV47rnnsHjxYsyePRvvvPMOmjRpgj///BOdO3fWfWb+/Pnw8/PDgAEDkJeXhx49emD58uXw9fV1+foQEREREZF3kDSR6tatGwS9eyJMGT58OIYPH272/YCAACxcuBALFy50dHhEREREREQmyfYeKSIiIiIiIrliIkVERERERCQSEykiIiIiIiKRmEgRERERERGJxESKiIiIiIhIJCZSREREREREIjGRIiIiIiIiEomJFBERERERkUhMpIiIiIiIiERiIkVERERERCQSEykiIiIiIiKRmEgRERERERGJxESKiIiIiIhIJCZSREREREREIjGRIiIiIiIiEomJFBERERERkUhMpIiIiIiIiERiIkVERERERCQSEykiIiIiIiKRmEiRSyikDoCIiIiIyIGYSJFLCFIHQERERETkQEykiIiIiIiIRGIiRUREREREJBITKSIiIiIiIpGYSBEREREREYnERIpc7vrdXKg1HH6CiIiIiNwXEylyqd/jk9Hli50Y+1uC1KEQEREREZUZEylyqW92XgIA/H0iReJIiIiIiIjKjokUERERERGRSEykiIiIiIiIRGIiRUREREREJBITKSIiIiIiIpGYSBEREREREYnERIqIiIiIiEgkJlJEREREREQiMZEiIiIiIiISiYkUERERERGRSEykyKWu3s2VOgQiIiIiIrsxkSIiIiIiIhKJiRQREREREZFITKSIiIiIiIhEkjSR2rNnD/r27YuwsDAoFAps2LDBbNlRo0ZBoVBgwYIFBtMLCgrw9ttvo1q1aggKCkK/fv1w48YN5wZOREREREReTdJEKicnB61bt8aiRYssltuwYQMOHTqEsLAwo/fGjh2L9evXY82aNdi3bx+ys7PRp08fqNVqZ4VNRERERERezk/Khffu3Ru9e/e2WObmzZt46623EB0djWeeecbgvczMTCxZsgQrV65Ez549AQCrVq1CeHg4tm3bhsjISKfFTkRERERE3kvSRMoajUaD1157DRMnTkTz5s2N3j969ChUKhV69eqlmxYWFoYWLVogLi7ObCJVUFCAgoIC3eusrCwAgEqlgkqlcvBaiKNdvtRx2EKtLolRpVJBozEfs1qtMVonua2jO217T2Kw3VUqKPWny+i7EFPf3QHruwT06nfxS/fZ9p5Q/1nnpSPrbS/j4469ZL3dZc7WbSbrRGrOnDnw8/PDO++8Y/L9tLQ0lCtXDpUrVzaYHhoairS0NLPznT17NmbMmGE0PSYmBoGBgfYF7SCxsbFSh2CDfISEFP8VHR0NIMBEmeIqdunSJWwuTIR+ldu8ebPTIywL99j2nic2Nha++fno8+/r6OhoqANM1Smp2FLf3Q/ru+vo12/A3ba959R/99runkWO217exx3HkON2l7vcXNueeyrbROro0aP4+uuvcezYMSgUClGfFQTB4mcmT56M8ePH615nZWUhPDwcvXr1QnBwcJljdgSVSoXY2FhERERAqVRa/4CE1OocHDxY/HdkZCR8fYOMyrx7IAYA0LBhQ0T1bKh7DQBRUVEuidNW7rTtPYnBdi8s1E2PjIwEgozrlFRsqe/uhPVdAjk5Bi/dadt7Qv1nnZeOrLe93u9Sbscde8l6u8uctreaNbJNpPbu3Yv09HTUrl1bN02tVuO9997DggULcPXqVdSoUQOFhYXIyMgwaJVKT09Hx44dzc7b398f/v7+RtOVSqVsKpqcYjHHx6ckPqVSCV9f8/H6+voYrY9c188dtr0nUiqVUAqCwWvI6HsQU9/dCeu7C5nYB7rLtvek+u9O293TyHLbKw3rtpyOO44iy+0uc7ZuL9k+R+q1117DyZMnkZCQoPsXFhaGiRMn/tutAHjsscegVCoNmixTU1Nx+vRpi4kUERERERGRPSRtkcrOzsalS5d0r5OSkpCQkIAqVaqgdu3aqFq1qkF5pVKJGjVqoEmTJgCAkJAQjBgxAu+99x6qVq2KKlWqYMKECWjZsqVuFD8iIiIiIiJHkzSRio+PR/fu3XWvtfctDRkyBMuXL7dpHvPnz4efnx8GDBiAvLw89OjRA8uXL4evr68zQiYiIiIiIpI2kerWrRsEvXsirLl69arRtICAACxcuBALFy50YGRERERERETmyfYeKfIs4sZdJCIiIiKSNyZSREREREREIjGRIiIiIiIiEomJFLmE7XfCERERERHJHxMpIiIiIiIikZhIERERERERicREioiIiIiISCQmUkRERERERCIxkSJJ5avUUodARERERCQaEymSzIfrT+GRqVtxLjVL6lCIiIiIiERhIkWSWX3oOgDgm52XJI6EiIiIiEgcJlJEREREREQiMZEiIiIiIiISiYkUERERERGRSEykiIiIiIiIRGIiRUREREREJBITKSIiIiIiIpGYSBEREREREYnERIqIiIiIiEgkJlJEREREREQiMZEiIiIiIiISiYkUERERERGRSEykiIiIiIiIRGIiRUREREREJBITKZKcQqGQOgQiIiIiIlGYSBEREREREYnERIqIiIiIiEgkJlJEREREREQiMZEiIiIiIiISiYkUERERERGRSEykSBZO3cjE9I1ncD+3UOpQiIiIiIis8pM6ACIA6LtoHwAgM0+F+S+1kTYYIiIiIiIr2CJFsnIh7YHUIRARERERWcVEilyCj9wlIiIiIk/CRIqIiIiIiEgkJlJEREREREQiMZEiIiIiIiISiYkUSY73TxERERGRu2EiRS4hSB0AEREREZEDMZEiIiIiIiISSdJEas+ePejbty/CwsKgUCiwYcMG3XsqlQrvv/8+WrZsiaCgIISFhWHw4MFISUkxmEdBQQHefvttVKtWDUFBQejXrx9u3Ljh4jUhIiIiIiJvImkilZOTg9atW2PRokVG7+Xm5uLYsWOYOnUqjh07hnXr1iExMRH9+vUzKDd27FisX78ea9aswb59+5CdnY0+ffpArVa7ajWIiIiIiMjL+Em58N69e6N3794m3wsJCUFsbKzBtIULF6Jdu3a4fv06ateujczMTCxZsgQrV65Ez549AQCrVq1CeHg4tm3bhsjISKevAznW2dQsqUMgIiIiIrJK0kRKrMzMTCgUClSqVAkAcPToUahUKvTq1UtXJiwsDC1atEBcXJzZRKqgoAAFBQW611lZxSfvKpUKKpXKeStgA+3ypY7DFmp1SYwqlQoajfmY1WqN2XXSaDQGr6Vad3fa9p7EYLurVFDqT5fRdyGmvrsD1ncJ6NXv4pfus+09of6zzktH1ttexscde8l6u8ucrdvMbRKp/Px8fPDBBxg0aBCCg4MBAGlpaShXrhwqV65sUDY0NBRpaWlm5zV79mzMmDHDaHpMTAwCAwMdG3gZlW6Nk6d8hIQU/xUdHQ0gwESZ4ip26dIlbC5MhKkqV3zfW0kv082bNzs8UjHcY9t7ntjYWPjm56PPv6+jo6OhDjBVp6RiS313P6zvrqNfvwF32/aeU//da7t7Fjlue3kfdxxDjttd7nJzc20q5xaJlEqlwsCBA6HRaPDtt99aLS8IAhQK808nmjx5MsaPH697nZWVhfDwcPTq1UuXpElFpVIhNjYWERERUCqV1j8gIbU6BwcPFv8dGRkJX98gozLvHogBADRs2BBRPRvqXusLCwvDsbsliW9UVJRzArbCnba9JzHY7oWFuumRkZFAkHGdkoot9d2dsL5LICfH4KU7bXtPqP+s89KR9bbX+13K7bhjL1lvd5nT9lazRvaJlEqlwoABA5CUlIQdO3YYJDo1atRAYWEhMjIyDFql0tPT0bFjR7Pz9Pf3h7+/v9F0pVIpm4omp1jM8fEpiU+pVMLX13y8vr4+ZtfHx8dwzBOp19sdtr0nUiqVUAqCwWvI6HsQU9/dCeu7C5Xazu607T2p/rvTdvc0stz2SsO6LafjjqPIcrvLnK3bS9bPkdImURcvXsS2bdtQtWpVg/cfe+wxKJVKgybL1NRUnD592mIiRUREREREZA9JW6Sys7Nx6dIl3eukpCQkJCSgSpUqCAsLwwsvvIBjx45h06ZNUKvVuvueqlSpgnLlyiEkJAQjRozAe++9h6pVq6JKlSqYMGECWrZsqRvFj4iIiIiIyNEkTaTi4+PRvXt33WvtfUtDhgzB9OnTsXHjRgBAmzZtDD63c+dOdOvWDQAwf/58+Pn5YcCAAcjLy0OPHj2wfPly+Pr6umQdiIiIiIjI+0iaSHXr1g2C3j0RpVl6TysgIAALFy7EwoULHRkaERERERGRWbK+R4q8g4UBFomIiIiIZImJFBERERERkUhMpIiIiIiIiERiIkWSY88+IiIiInI3TKSIiIiIiIhEYiJFREREREQkEhMpkp1NJ1NwN7tA6jCIiIiIiMxiIkWy89bq43j+uzipwyAiIiIiMouJFMnS1bu5UodARERERGQWEykiIiIiIiKRmEgRERERERGJxESKiIiIiIhIJCZSREREREREIjGRIskpFAqpQyAiIiIiEoWJFBERERERkUhMpIiIiIiIiERiIkUuwc57RERERORJmEgRERERERGJxESK3F5eoRpvrT6GTSdTpA6FiIiIiLwEEylyez/uvYJNJ1Px1urjUodCRERERF6CiRS5vbvZBVKHQERERERehokUERERERGRSEykyCUEqQMgIiIiInIgJlJEREREREQiMZEiIiIiIiISiYkUERERERGRSEykiIiIiIiIRGIiRZJTSB0AEREREZFITKSIiIiIiIhEYiJFREREREQkEhMpIiIiIiIikZhIERERERERicREimRr78XbUodARERERGQSEymSrR/3JtlUTqHguH9ERERE5FpMpIiIiIiIiERiIkVERERERCQSEykiIiIiIiKRmEiR28spKJI6BCIiIiLyMkykyO39fvSG1CEQERERkZdhIkVERERERCQSEymSHkcvJyIiIiI3I2kitWfPHvTt2xdhYWFQKBTYsGGDwfuCIGD69OkICwtD+fLl0a1bN5w5c8agTEFBAd5++21Uq1YNQUFB6NevH27cYFcvIiIiIiJyHkkTqZycHLRu3RqLFi0y+f7cuXMxb948LFq0CEeOHEGNGjUQERGBBw8e6MqMHTsW69evx5o1a7Bv3z5kZ2ejT58+UKvVrloNIiIiIiLyMn5SLrx3797o3bu3yfcEQcCCBQswZcoU9O/fHwCwYsUKhIaGYvXq1Rg1ahQyMzOxZMkSrFy5Ej179gQArFq1CuHh4di2bRsiIyNdti7keGXp8ZdyPw+bTqZgYLvaCA5QOjwmIiIiIiJA4kTKkqSkJKSlpaFXr166af7+/ujatSvi4uIwatQoHD16FCqVyqBMWFgYWrRogbi4OLOJVEFBAQoKCnSvs7KyAAAqlQoqlcpJa2Qb7fKljsMWanVJjCqVChqN+ZjVao3ZdRI0GtPTBfOfMaf/t/uRllWAE8n3sWBAK1Gfdadt70kMtrtKBaX+dBl9F2LquztgfZeAXv0ufuk+294T6j/rvHRkve1lfNyxl6y3u8zZus1km0ilpaUBAEJDQw2mh4aG4tq1a7oy5cqVQ+XKlY3KaD9vyuzZszFjxgyj6TExMQgMDLQ3dIeIjY2VOgQb5CMkpPiv6OhoAAEmyhRXsUuXLmFzYSJMVbkbN2/CVC/T27dvY/PmzTbEUTLPtKziBHnXuVRs3ly2e+XcY9t7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nU6HnJwcvPPOO4J/f/3117F06VK888472LdvH5KSkjBq1ChUVlY6TfPnn3/GlClTMHXqVPz666+YOnUqJk+ejD179nhrMwKOWLlXVVXhwIEDePnll3HgwAGsXbsWJ0+exF133eUy3ZiYGJs2UFJSgrCwMG9sQsByVecBYMyYMTZluH79etE0qc675qrc7evtypUrwXEc7r77btF0qc57iCc+1adPH37GjBk2y7Kysvh58+YJhn/++ef5rKwsm2VPPPEE37dvX6/lMdiVlZXxAPitW7c6DbNlyxYeAH/jxg3fZSwIvfLKK3xOTo7k8FTfveOZZ57h27Vrx5tMJsG/U32XBwB+3bp1Db+bTCY+KSmJX7JkScOympoaPjY2ln///fedpjN58mR+zJgxNstGjx7N33fffbLnORjYl7uQvXv38gD48+fPOw2zatUqPjY2Vt7MBTmhsp82bRo/YcIEpnSozrORUucnTJjADx8+XDQM1XnP0RMpH9Lr9di/fz9yc3Ntlufm5mLXrl2CcX7++WeH8KNHj8Yvv/wCg8HgtbwGs/LycgBAfHy8y7Ddu3dHcnIyRowYgS1btng7a0Hp1KlTSElJQUZGBu677z6cPXvWaViq7/LT6/X47LPP8Oijj4LjONGwVN/lVVhYiNLSUps6HRoaiiFDhjg95gPO24FYHCKuvLwcHMchLi5ONNytW7eQnp6O1NRUjB8/HgUFBb7JYJDJz89HQkICOnbsiN///vcoKysTDU91Xl6XL1/GDz/8gMcee8xlWKrznqGOlA9dvXoVRqMRiYmJNssTExNRWloqGKe0tFQwfF1dHa5eveq1vAYrnucxZ84cDBw4EF27dnUaLjk5GR9++CHWrFmDtWvXIjMzEyNGjMC2bdt8mNvAd/vtt+Of//wnNm7ciI8++gilpaXo378/rl27Jhie6rv8vv32W9y8eRPTp093Gobqu3dYjussx3xLPNY4xLmamhrMmzcPDzzwAGJiYpyGy8rKwieffILvvvsOX375JcLCwjBgwACcOnXKh7kNfGPHjsXnn3+OzZs3480338S+ffswfPhw1NbWOo1DdV5en376KaKjozFp0iTRcFTnPRfi7ww0RfZ3hXmeF71TLBReaDlxbdasWTh06BB27NghGi4zMxOZmZkNv/fr1w8XLlzA3//+dwwePNjb2QwaY8eObfg5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", - "text/plain": [ - "<Figure size 1000x600 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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DRpkdbnvvvuu4Rhds2YNJk6ciA0bNqBt27Zm7YRSUlLwf//3f3j99dexZs0adOvWDaNHj8aSJUsc2iZLTp06hQceeABRUVEm0/XXXXvX2a1bt+K5555DREQEli1bhq+++grLly837JfiBEEwXD+zsrKwfft2zJw5E+3atUPNmjXl2Sgid/NkcRgRWaevHjF9+nST6UOGDBGCg4NNqglVr15d6N69u6DRaASNRiNcunRJeOuttwS1Wi2sW7fOZH59dTZL/+Lj4wVBEIRjx44JAISJEyeazLt161YBgBAYGGg137aq9gUFBQkRERFCmTJlhNmzZwvbtm0TPvvsM8Hf31/o06ePId1vv/0mABD2799vtoy3337b5vr1IFPVPmv7auDAgXbzoK/a99VXXwmZmZlCeHi4MHv2bEEQBOHjjz8WatasKeh0OpvVb4zpj4mbN28KCxcuFIKCgoTbt28LhYWFQqVKlYTx48cLgmBelWrKlCmCn5+fEBsba7K8P//8UwAgrF+/3uL6tFqtoNFohF9//VXw9/cX7ty5IwhCURVNAMLq1avtbrulak8AhHHjxplt19ixY03S7d+/XwAgfPPNNybTr1y5IoSEhAgjR44UBEEQ0tLShODgYOGFF14wSaevCmqvat+uXbsEAMJnn31mM13xfOtVr17dZH8vXLhQACD07dvXLK3+mNq6davJdCm/EQChYsWKQkZGhmFaSkqK4OfnJ0yZMsUwzZ1V+woLCwWNRiMMHDhQePjhh02+k1q1Lzs7WyhbtqzQs2dPk+larVZo1qyZ0LJlS8M0sddJKcejpW0rKCgQ6tatKwwbNsww3VbVvuLV286cOSMAEIYMGWKS7r///hMACJ9++qlhmv4Y+e+//0zSNmzYUIiOjraaT0tsXVu6dOki1K9f3+J3gYGBwttvv21z2a1atRIqV64s5ObmGqZlZGQIZcuWtVi1z9J1tGXLlkJycrKkbSJSEpZIESncs88+a/J306ZNkZeXZ9Z73fr166FWq6FWq1G9enX8/PPPmDVrluENb3HTpk1DbGysyb+qVasCAJo1a4YOHTrgq6++wooVK3D37l3s27cP77zzDvz9/UVXHSlOp9MhMzMTP/74I9577z107twZkyZNwgcffIClS5fiwoULJumt9Tblzt6wateubbafYmNjMWbMGEOa4qVVQrHSA6Co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EbkOAynyeey0j4iIiIjkxkCKiIiIiIhIIgZSREREREREEjGQIiIiIiIikoiBFBERERERkUQMpIiIiIiIiCRiIEU+jx2hExEREZHcGEgRERERERFJxECKiIiIiIhIIgZSREREREREEjGQIp/EdlFERERE5EoMpMgnCUaRlMpz2SAiIiIiH8VAinyeipEUEREREcmMgRT5JIGV+4iIiIjIhRhIERERERERScRAioiIiIiISCIGUuTzBNbyIyIiIiKZMZAiIiIiIiKSiIEU+Tz22kdEREREcmMgRUREREREJBEDKSIiIiIiIokYSBEREREREUnEQIp8E3vqIyIiIiIXYiBFPk/F3iaIiIiISGYMpIiIiIiIiCRiIEU+T+CIvEREREQkMwZS5JMYOhERERGRKzGQIp/HNlJEREREJDcGUlQinbqWjmt3cz2dDSIiIiLyUgGezgCRu126nY0es/YAAJKmPuPh3BARERGRN2KJFJU4cdczPJ0FIiIiIvJyDKTI552+ns6e+4iIiIhIVqzaRz5v/ckUtK9dDmGezggRERER+QyWSJFPKl4AtezQFc9khIiIiIh8EgMpIiIiIiIiiRhIERERERERScRAioiIiIiISCIGUuSTBAjFJxARERERyYaBFJUIJ65x7CgiIiIikg8DKSIiIiIiIokYSJFP4vi7RERERORKDKSIiIiIiIgkYiBFREREREQkEQMpIiIiIiIiiRhIkU9iEykiIiIiciUGUkRERERERBIxkCIiIiIiIpKIgRQREREREZFEDKSIiIiIiIgkYiBFREREREQkEQMpKnFUKk/ngIiIiIi8HQMpIiIiIiIiiRhIERERERERScRAioiIiIiISCIGUkRERERERBIxkCKfJAiCp7NARERERD6MgRT5JMZRRERERORKDKSIiIiIiIgk8mggtWvXLvTs2ROVK1eGSqXC6tWrTb7v168fVCqVyb/WrVubpMnPz8cHH3yA8uXLIywsDM8++yyuXr3qxq0gIiIiIqKSxqOBVHZ2Npo1a4bZs2dbTfP0008jOTnZ8G/9+vUm3w8dOhSrVq3CsmXLsGfPHmRlZaFHjx7QarWuzj4REREREZVQAZ5cebdu3dCtWzebaYKCghAVFWXxu/T0dMyfPx+LFy/GU089BQBYsmQJqlatii1btiA6Olr2PBMREREREXk0kBJjx44dqFChAkqXLo2OHTviyy+/RIUKFQAAhw8fhkajQdeuXQ3pK1eujMaNG2Pfvn1WA6n8/Hzk5+cb/s7IyAAAaDQaaDQaF26Nffr1ezof3kSrvb+vNBoNdDoNNIWW959Go0Fhodbkb3KOoo5ZjQZqw0cNoIQ8OUjqfrV0HpA5RR2vclHAca+0/eor54PS9qsvcWrfKuCcUypfOWbF5l/RgVS3bt3w8ssvo3r16khMTMSYMWPwxBNP4PDhwwgKCkJKSgoCAwNRpkwZk/kqVqyIlJQUq8udMmUKJkyYYDZ906ZNCA0NlX07HLF582ZPZ8GL5KFUqaJPGzduBBCM23mApcN78+bNOH5bBcAfAMyqipLjlHDM+ufloce9zxs3boQ2ONij+ZGD+P1qfh6QdUo4XuWipONeOfvVt84H5exX3+PIvlXSOadU3n7M5uTkiEqn6EDqlVdeMXxu3LgxHn30UVSvXh3//PMPevXqZXU+QRCgUqmsfj969GgMHz7c8HdGRgaqVq2Krl27IjIyUp7MO0ij0WDz5s3o0qUL1Gq1/RkIWm02Dhwo+hwdHQ1//zBcScvBF0f3mKXt0qUL/M/fwYLzxwEA3bt3d2dWfZKijtnsbMPH6OhoICzMg5lxjtT9auk8IHOKOl7looDjXmn71VfOB6XtV1/i1L5VwDmnVL5yzOprq9mj6ECquEqVKqF69eqIj48HAERFRaGgoABpaWkmpVKpqalo27at1eUEBQUhKCjIbLparVbMj66kvCidn9/9/aRWq+Hvr4Y6wPK+U6vVCAjwN/mb5KGIY1ZteizA0/mRgdj9auk8IOsUcbzKRUHHvVL2q6+dD0rZr77IoX2roHNOqbz9mBWbd68aR+r27du4cuUKKlWqBAB45JFHoFarTYoPk5OTcerUKZuBFBERERERkTM8WiKVlZWFCxcuGP5OTEzEsWPHULZsWZQtWxbjx4/Hiy++iEqVKiEpKQmffvopypcvjxdeeAEAUKpUKQwcOBAfffQRypUrh7Jly2LEiBFo0qSJoRc/KpkEwdM5ICIiIiJf5tFA6tChQ+jcubPhb327pTfffBNz5szByZMn8euvv+Lu3buoVKkSOnfujD/++AMRERGGeb799lsEBASgd+/eyM3NxZNPPomYmBj4+/ubrY+IiIiIiEgOHg2kOnXqBMFG0UFRTzu2BQcHY9asWZg1a5acWSMiIiIiIrLKq9pIERERERERKQEDKfJJAqyXdGbkFboxJ0RERETkixhIUYmzJ/6Wp7NARERERF6OgRSVGIIAaHXszo+IiIiInMdAikqMn8/54fGvdiKnQOvprBARERGRl/Nor31E7nQ6zQ9AAXbH3/R0VoiIiIjIy7FEikqcqmVDPZ0FIiIiIvJyDKSoxGnyYClPZ4GIiIiIvBwDKSIiIiIiIokYSJFPEtg5HxERERG5EAMpIiIiIiIiiRhIERERERERScRAioiIiIiISCIGUkRERERERBIxkCKfxL4miIiIiMiVGEiRTxLYbR8RERERuRADKSIiIiIiIokYSBEREREREUnEQIpKHFb7IyIiIiJnMZAiIiIiIiKSiIEU+SSWORERERGRKzGQIiIiIiIikoiBFJU4KpXK01kgIiIiIi/HQIqIiIiIiEgiBlJEREREREQSMZAiIiIiIiKSiIEUERERERGRRAykiIiIiIiIJGIgRUREREREJBEDKSIiIiIiIokYSJFPEgRP54CIiIiIfBkDKfJR1iMpgVEWERERETmJgRSRBDkFhZ7OAhEREREpAAMpKtGOXk4TnXZ3/E00HLsRU/4948IcEREREZE3YCBFJdqsbRdEp/3yn6IA6qedF12VHSIiIiLyEgykiIiIiIiIJGIgRUREREREJBEDKSIiIiIiIokYSJFPYg/nRERERORKDKSIiIiIiIgkYiBFJZrK0xkgIiIiIq/EQIqIiIiIiEiiADGJvv/+e8kL7t+/PyIiIiTPRyQHW02kVCqWQxERERGRc0QFUkOHDkWVKlXg7+8vaqFXrlxBjx49GEgREREREZFPEhVIAcChQ4dQoUIFUWkZQBERERERkS8T1UZq3LhxCA8PF73QTz/9FGXLlnU4U0TOstX9uWD0JWv5EREREZEjRJVIjRs3TtJCR48e7VBmiNyPkRQRERERSSdLr31paWmYNWsWmjdvLsfiiIiIiIiIFE10GylLtmzZgvnz52P16tUoX748evXqJVe+iIiIiIiIFEtyIHX58mUsXLgQCxcuRFZWFtLS0rB8+XK8+OKLrsgfkezY/TkREREROUt0ILV8+XL88ssv2Lt3L7p3747vvvsO3bp1Q1hYGBo0aODKPBIRERFRCabT6VBQUCDb8jQaDQICApCXlwetVitt5vx8oHr1+59FDg9UEji1X91IrVaLHtbJFtGBVJ8+fTBy5Ej89ddf7N6ciIiIiNyioKAAiYmJ0Ol0si1TEARERUXhypUr0muq6HTA3LlFn5OTAT9ZuhzwCU7tVzcrXbo0oqKinMqn6EBqwIAB+PHHH7Fz50688cYbeOWVV1CmTBmHV0ykBMbnTnZ+IY5evovWtcoiwJ8XRSIiIk8TBAHJycnw9/dH1apV4SdT0KLT6ZCVlYXw8HDpy9Rqgdzcos81arBEyohT+9VNBEFATk4OUlNTAQCVKlVyeFmiA6l58+bhu+++w/Lly7FgwQIMHToU0dHREARB1jcERHIQYGMgKSsGLorFgYt38METdfBR1/ouyBURERFJUVhYiJycHFSuXBmhoaGyLVdfVTA4ONixQEovOJiBlBGn9qsbhYSEAABSU1NRoUIFh6v5SdrCkJAQvPnmm9i5cydOnjyJhg0bomLFimjXrh369OmDlStXOpQJIncSrIzWe+DiHQDAstgr7swOERERWaFvZxMYGOjhnJCv0QfmGo3G4WU4HCrWrVsXU6ZMwZUrV7BkyRLk5OTgtddeczgjREphLdAiIiIiz1B6exvyPnIcU06NIwUAfn5+6NmzJ3r27Gmoa0jkzW5lydcrEBERERH5JocCqWvXrmHv3r1ITU01aR+lUqnwwQcfyJY5IleT8i6Cb8OIiIiIbOvRowceeeQRfPfdd57OistJDqQWLlyId955B4GBgShXrpzJwyUDKfI2csRGGXkapGbkoU4FDgtAREREQL9+/bBo0SIMHjwYc/Vdpd8zZMgQzJkzB2+++SZiYmI8k0GSheQ2UmPHjsXYsWORnp6OpKQkJCYmGv5dvHjRFXkkksxWMye5W0C1nbINT83YhVPX0mVeMhEREXmrqlWrYtmyZcjVd5UOIC8vD7///juqVavmwZzZJ+fgx75MciCVk5ODV199VdFdGhK5U1Z+IQBg5/mbHs4JERERKUWLFi1QrVo1k16tV65ciapVq+Lhhx82TBMEAdOnT0etWrUQEhKCZs2a4c8//zR8r9VqMXDgQNSsWRMhISGoX7++WbW5HTt2oGXLlggLC0Pp0qXRrl07XLp0CUBR6djzzz9vkn7o0KHo1KmT4e9OnTrh/fffx/Dhw1G+fHl06dIFABAXF4fu3bsjPDwcFStWxBtvvIFbt24Z5svOzkbfvn0RHh6OSpUqYcaMGU7vN28iORoaOHAgVqxY4Yq8EMmGHe8RERH5HkEQkFNQKMu/3AKtpPSO9Orbv39/LFy40PD3ggULMGDAAJM0n3/+ORYuXIg5c+bg9OnTGDZsGF5//XXs3LkTQNHYTFWqVMHy5csRFxeHsWPH4tNPP8Xy5csBFI219fzzz6Njx444ceIE9u/fj7ffflty2+5FixYhICAAe/fuxU8//YTk5GR07NgRzZs3x6FDh7BhwwbcuHEDvXv3Nszz8ccfY/v27Vi1ahU2bdqEHTt24Pjx45L3k7eS3EZqypQp6NGjBzZs2IAmTZpArVabfF/SIlHyPuwygoiIyDvlarRoOHajR9Yd90U0QgOlPTq/8cYbGD16NJKSkqBSqbB3714sW7YMO3bsAFBUojNjxgxs27YNbdq0AQDUqlULe/bswU8//YSOHTtCrVZjwoQJhmXWrFkT+/btw/Lly9G7d29kZGQgPT0dPXr0QO3atQEADRo0kLx9derUwfTp0w1/jx07Fi1atMDkyZMN0xYsWICqVavi/PnzqFy5MubPn49ff/3VUIIVExOj+GqLcpIcSE2ePBkbN25E/fr1AcCsswkib6KSEFbx6CYiIiIpypcvj2eeeQaLFi2CIAh45plnUL58ecP3cXFxyMvLMwQiegUFBSbV/+bOnYtffvkFly5dQm5uLgoKCtC8eXMAQNmyZdGvXz9ER0ejS5cueOqpp9C7d29UqlRJUl4fffRRk78PHz6M7du3Izw83CxtQkKCIR/6AFCflzp16kharzeTHEjNmDEDCxYsQL9+/VyQHSIiIiIiy0LU/oj7Itrp5eh0OmRmZCIiMkJ0u/8Qtb9D6xowYADef/99AMAPP/xglg8A+Oeff/Dggw+afBcUFAQAWL58OYYNG4ZvvvkGbdq0QUREBL766iv8999/hrQLFy7E//73P2zYsAF//PEHPv/8c2zevBmtW7eGn5+fWbVEjUZjls+wsDCzvPXs2RPTpk0zS1upUiXEx8eL3QU+S3IgFRQUhHbt2rkiL0SyEWTvm4+IiIg8TaVSSa5eZ4lOp0NhoD9CAwNc3oHa008/begFLzraNAhs2LAhgoKCcPnyZXTs2NHi/Lt370bbtm0xZMgQw7SEhASzdA8//DAefvhhjB49Gm3atMHSpUvRunVrPPDAAzh16pRJ2mPHjpk1zymuRYsW+Ouvv1CjRg0EBJjv8zp16kCtVuPAgQOG6nxpaWlISEhA586dbS7bV0g+cj788EPMmjXLFXkhIiIiIvIp/v7+OHPmDM6cOQN/f9NSrYiICIwYMQLDhg3DokWLkJCQgKNHj+KHH37AokWLABQFLIcOHcLGjRtx/vx5jBkzBrGxsYZlJCYmYvTo0di/fz8uXbqETZs24fz584Z2Uk888QQOHTqEX3/9FfHx8Rg3bpxZYGXJe++9hzt37uC1117DwYMHcfHiRWzatAkDBgyAVqtFeHg4Bg4ciI8//hhbt27FqVOn0L9//xLVs7fkkP7gwYPYtm0b1q1bh0aNGplFs8ZdPBIRERERlXSRkZFWv5s4cSIqVKiAKVOm4OLFiyhdujRatGiBTz/9FADwzjvv4NixY3jllVegUqnw2muvYciQIfj3338BAKGhoTh79iwWLVqE27dvo1KlSnj//fcxePBgAEWlYGPGjMHIkSORl5eHAQMGoG/fvjh58qTNPFeuXBl79+7FqFGjEB0djfz8fFSvXh1PP/20IVj66quvkJWVhWeffRYREREYPnw47ty5I8cu8wqSA6nSpUujV69ersgLkduxfxQiIiKSW0xMjM3vV69ebfisUqnwv//9D//73/8spg0KCsLChQtNulEHinrSBoCKFSti1apVNtc3YcIEk57/itP3Ilhc3bp1bRaShIeHY/HixVi8eDGAoiqTb7/9ts3A0ZdIDqSK/4hE3kxKIMWgi4iIiIj0Sk4lRiIiIiIiIpmICqRatGiBtLQ00Qtt3749rl275nCmiIiIiIiIlExU1b5jx47h+PHjKFu2rKiFHjt2DPn5+U5ljMhVXNUxevExGoiIiIjId4luI/Xkk0+KflBUsTEJkYncAi1CAh0byI+IiIiIlEdUIJWYmCh5wVWqVJE8D5FclFQ4tHBvIiasjcN3rzbHc80ftD8DERERESmeqECqevXqrs4HkUeo4PrS0wlr4wAAHy47xkCKiIiIyEew1z4iIiIiN9BodZ7OAhHJiIEUERERkYtNWheHup/9i3MpmZ7OChHJhIEUERERkYv9sqeovfnMLec9nBMqiZKSkqBSqXDs2DEAwI4dO6BSqXD37l2P5svbMZAi8jJanYJ60iAiKoF4HSZ7UlNTMXjwYFSrVg1BQUGIiopCdHQ09u/fb0ijUqmwevVqz2WSnCY5kKpVqxZu375tNv3u3buoVauWLJkichsJfU0ooVf/m5n5aDFxM8asPuXprBARlUjX7+ai+RebMHFdnKezQgr24osv4vjx41i0aBHOnz+PNWvWoFOnTrhz546ns0YykhxIJSUlQavVmk3Pz8/HtWvXZMkUkbu4OzY6dS0dSw5ccnjw3ph9iUjP1WDxgUsy54yIiMSYsyMBmXmFmL9H/NAwBYXsZKIkuXv3Lvbs2YNp06ahc+fOqF69Olq2bInRo0fjmWeeAQDUqFEDAPDCCy9ApVIZ/k5ISMBzzz2HihUrIjw8HI899hi2bNlisvwaNWpg8uTJGDBgACIiIlCtWjXMmzfPJM3Bgwfx8MMPIzg4GI8++iiOHj1qMa979+5Fs2bNEBwcjFatWuHkyZMAgOzsbERGRuLPP/80Sb927VqEhYUhM9NyW78nnngCI0eOxLBhw1CmTBlUrFgR8+bNQ3Z2Nvr374+IiAjUrl0b//77r8l8cXFx6N69O8LDw1GxYkW88cYbuHXrluH7DRs2oH379ihdujTKlSuHHj16ICEhwfC9vuriypUr0blzZ4SGhqJZs2YmJYCuIDqQWrNmDdasWQMA2Lhxo+HvNWvWYNWqVZg4caLhICBSMnvBU+VSwS5bd49Ze/D56lNYfzLFZesgIiJlmbUt3vA5n0GVUwRBQHZBtjz/NNLSi30JGh4ejvDwcKxevRr5+fkW08TGxgIAFi5ciOTkZMPfWVlZ6N69O7Zs2YKjR48iOjoaPXv2xOXLl03m/+abbwwB0pAhQ/Duu+/i7NmzAIqCoB49eqB+/fo4fPgwxo8fjxEjRljMx8cff4yvv/4asbGxqFChAp599lloNBqEhYXh1VdfxcKFC03SL1y4EC+99BIiIiKsbv+yZctQvnx5HDx4EB988AHeffddvPzyy2jbti2OHDmC6OhovPHGG8jJyQEAJCcno2PHjmjevDkOHTqEDRs24MaNG+jdu7dhmdnZ2Rg+fDhiY2OxdetW+Pn54YUXXoBOZ3o+ffbZZxgxYgSOHTuGevXq4bXXXkNhYaHVvDpL1DhSAPD8888DKKrP+eabb5p8p1arUaNGDXzzzTeyZo7IV51LycAzTSt5OhtEROQGu+Lvv1nfdjbVgznxfjmaHIRPCffIurNGZyEsMMxuuoCAAMTExOCtt97C3Llz0aJFC3Ts2BGvvvoqmjZtCgB44IEHAAClS5dGVFSUYd5mzZqhWbNmhr8nTZqEVatWYc2aNXj//fcN07t3744hQ4YAAEaNGoVvv/0WO3bswEMPPYTffvsNWq0WCxYsQGhoKBo1aoSrV6/i3XffNcvruHHj0KVLFwDAokWLUKVKFaxatQq9e/fGoEGD0LZtW1y/fh2VK1fGrVu3sG7dOmzevNnm9jdq1AifffYZ/Pz8MHr0aEydOhXly5fHW2+9BQAYO3Ys5syZgxMnTqB169aYM2cOWrRogcmTJxuWsWDBAlStWhXnz59HvXr18OKLL5qsY/78+ahQoQLi4uLQuHFjw/QRI0YYSv0mTJiARo0a4cKFC3jooYds5tlRokukdDoddDodqlWrhtTUVMPfOp0O+fn5OHfuHHr06OGSTBJJ5WDNOSIiIiKnvfjii7h+/TrWrFmD6Oho7NixAy1atEBMTIzN+bKzszFy5Eg0bNgQpUuXRnh4OM6ePWtWIqUPyICiQo6oqCikphYF6WfOnEGzZs0QGhpqSNOmTRuL6zOeXrZsWdSvXx9nzpwBALRs2RKNGjXCr7/+CgBYvHgxqlWrhg4dOtjchkaNGhk++/v7o1y5cmjSpIlhWsWKFQHAkN/Dhw9j+/bthpK88PBwQ+Cjr76XkJCAPn36oFatWoiMjETNmjUBwOZ+qVSpksl6XEF0iZReYqL4OsFEJQmDNyIiItcKVYcia3SW08vR6XTIyMxAZEQk/PzElSuEqkPtJzISHByMLl26oEuXLhg7diwGDRqEcePGoV+/flbn+fjjj7Fx40Z8/fXXqFOnDkJCQvDSSy+hoKDAJJ1arTb5W6VSGaq5OdoO23hZeoMGDcLs2bPxySefYOHChejfv7/J95ZYypvxNP38+vzqdDr07NkT06ZNM1uWPhjq2bMnqlatip9//hmVK1eGTqdD48aNbe6X4utxBcmBFABs3boVW7duNZRMGVuwYIEsGSNyFcY7RERE3kmlUomqXmePTqeDVq1FWGCY6EDKWQ0bNjTp7lytVpt14LZ7927069cPL7zwAoCiNlNJSUmS17N48WLk5uYiJCQEAHDgwAGLaQ8cOIBq1aoBANLS0nD+/HmTanCvv/46Ro4cie+//x6nT582a94jhxYtWuCvv/5CjRo1EBBgHprcvn0bZ86cwU8//YTHH38cALBnzx7Z8+EIyUfOhAkT0LVrV2zduhW3bt1CWlqayT8iJRBEhkv23qoQEREZ422D7Ll9+zaeeOIJLFmyBCdOnEBiYiJWrFiB6dOn47nnnjOkq1GjBrZu3YqUlBTDM3SdOnWwcuVKHDt2DMePH0efPn0kl6j06dMHfn5+GDhwIOLi4rB+/Xp8/fXXFtN+8cUX2Lp1K06dOoV+/fqhfPnyhn4RAKBMmTLo1asXPv74Y3Tt2hVVqlSRvkPseO+993Dnzh289tprOHjwIC5evIhNmzZhwIAB0Gq1KFOmDMqVK4d58+bhwoUL2LZtG4YPHy57PhwhuURq7ty5iImJwRtvvOGK/BARERERea3w8HC0atUK3377LRISEqDRaFC1alW89dZb+PTTTw3pvvnmGwwfPhw///wzHnzwQSQlJeHbb7/FgAED0LZtW5QvXx6jRo1CRkaG5PWvXbsW77zzDh5++GE0bNgQ06ZNM+uwAQCmTp2KDz/8EPHx8WjWrBnWrFmDwMBAkzQDBw7E0qVLMWDAAMd2iB2VK1fG3r17MWrUKERHRyM/Px/Vq1fH008/DT8/P6hUKixbtgz/+9//0LhxY9SvXx/ff/89OnXq5JL8SCE5kCooKEDbtm1lWfmuXbvw1Vdf4fDhw0hOTsaqVatMomBBEDBhwgTMmzcPaWlpaNWqFX744QeTRmz5+fkYMWIEfv/9d+Tm5uLJJ5/Ejz/+6JKImbyHL7RXmrnlPP45kYw/322LUiFFdX59YbuIiMi3TNtwFtvPpuKvd9siLMihViM+JSgoCFOmTMGUKVNspuvZsyd69uxpMq1GjRrYtm2bybT33nvP5G9LVf2OHTtm8nfr1q3Nphm3nerUqZPhb3udxSUnJ6NcuXImpWnWbNu2zSzws5Tf4u246tati5UrV1pd7lNPPYW4ONNBsI2XUaNGDbNlli5d2un2YvZIrto3aNAgLF26VJaVZ2dno1mzZpg9e7bF76dPn44ZM2Zg9uzZiI2NRVRUFLp06WIyCNjQoUOxatUqLFu2DHv27EFWVhZ69OhhcdBgIm8yc0s84lOzsHAvO3ghIiLlmrMjAWdTMrHi0BVPZ4VklJOTg9OnT2PKlCkYPHiwWUkVOVAilZeXh3nz5mHLli1o2rSpWc8cM2bMEL2sbt26oVu3bha/EwQBM2fOxGeffYZevXoBKOrfvmLFili6dCkGDx6M9PR0zJ8/H4sXL8ZTTz0FAFiyZAmqVq2KLVu2IDo6WurmUQkjpaq7SlJq+RRqWQxFROTVSkh1At6ufMv06dPx5ZdfokOHDhg9erSns6NIkgOpEydOoHnz5gCAU6dOmXwnZ8P9xMREpKSkoGvXroZpQUFB6NixI/bt24fBgwfj8OHD0Gg0JmkqV66Mxo0bY9++fVYDqfz8fJORpvVFkBqNBhqNRrZtcIR+/Z7OhzfRau/vK41GA51OY3MUa+NGm4Kgs7ivLe9/web3Wp3lZVnMs6S0WkNa47wr5RhR1DGr0UBt+KgBlJAnB0ndr5bOAzKnqONVLgo47pW2X115PggOXIeLVy8SO5/S9qs9Wq1W9rxqNBoIgmAYu1Qu+t9Ev2yJMxuqdOkEAXBh99qeNHbsWIwdO9bwt5j95NR+dTOdTgdBEKDRaODv72/yndjjWHIgtX37dqmzOCQlJQXA/UG79CpWrIhLly4Z0gQGBqJMmTJmafTzWzJlyhRMmDDBbPqmTZtMBi/zJHujRpOxPJQqVfRp48aNAIJxKQuwdnhfv34d+lqt169fx/r1V+99U5Q+NzcX69evN5vv7l1/6MuwTL8vmu/8+XNYn3PWwhrN83Eh/gLW55+3uVX6+RIuJGB9QXzRfJf9DHm3lEdPUsIx65+XB31N740bN0IbHOzR/MhB/H41Pw/IOiUcr3JR0nGvnP3quvMh6ZL067Dx/UPKfHrK2a/WFN2vTpyOw/q7p+VdckAAoqKikJWVZTZmkByMm4uIptOh9L2PGRkZgJu6T/cmDu1XNysoKEBubi527dpl9gI+JydH1DIcbhF44cIFJCQkoEOHDggJCYEgCC7pSrr4MsWsx16a0aNHm3SbmJGRgapVq6Jr166IjIx0LsNO0mg02Lx5M7p06WJWbZIs02qzoR8eITo6Gv7+YThxNR0zTv5nMf2DlR/E4VvJAIpKMLt3LxoF+8P9mwAAISEh6N7dfNTuXy4fwJXsotLL7t27G6br56tXrz66d6plNp/+e2N16tZB9yfr2Nwu/Xy169RG96fqAgDObI7HlmuJZnnwJEUds9nZho/R0dFAmPNjjXiK1P1q6Twgc4o6XuWigONeafvVlefDoXVnsDulqC2Q2Ovw/MsHcDn7fgN8sfMpbb9ao79frbvsj2/f6montTR5eXm4cuUKwsPDESzjSwJBEJCZmYmIiAjpz69GJS2RkZEMpIw4tV/dLC8vDyEhIejQoYPZsSW2p0TJgdTt27fRu3dvbN++HSqVCvHx8ahVqxYGDRqE0qVL45tvvpG6SIuioqIAFJU66Uc1BoDU1FRDKVVUVBQKCgqQlpZmUiqVmppqs2fBoKAgBAUFmU1Xq9WKuVApKS9K5+d3fz+p1Wr4+6stDuh2P73K6LOf3RG4jacbr6c4fwvLskZaWn9DWuNBA5V2fCjimFWbHgvwdH5kIHa/WjoPyDpFHK9yUdBxr5T96srz4ciVdJNli1H8gVLqPlLKfhVD7nxqtVqoVCr4+fnJOnCuvtqZftmSGFXV9FOpGEgZcWq/upm+a3VL55fY41jyFg4bNgxqtRqXL182qQb3yiuvYMOGDVIXZ1XNmjURFRVlUpxdUFCAnTt3GoKkRx55BGq12iRNcnIyTp06JVsX7URERER6p69LG9OHiHyX5BKpTZs2YePGjWbjNNWtW9fQdkmsrKwsXLhwwfB3YmIijh07hrJly6JatWoYOnQoJk+ejLp166Ju3bqYPHkyQkND0adPHwBAqVKlMHDgQHz00UcoV64cypYtixEjRqBJkyaGXvyIfAk7RCIiIiJSBsmBVHZ2tsUOGW7dumWxupwthw4dQufOnQ1/69stvfnmm4iJicHIkSORm5uLIUOGGAbk3bRpEyIiIgzzfPvttwgICEDv3r0NA/LGxMSY9b5BJYvYgEPO2rtSghwGREREZOyj5ccRpPbD5BeaeCwPq45exbA/jgMAkqY+47F8EHkLyVX7OnTogF9//dXwt0qlgk6nw1dffWUSFImhH1W5+L+YmBjDssePH4/k5GTk5eVh586daNy4sckygoODMWvWLNy+fRs5OTlYu3YtqlatKnWzqARhEENEREqSkp6Hv45cxdL/LiO3QOuxfOiDKPJu48ePNwxVRK4lOZD66quv8NNPP6Fbt24oKCjAyJEj0bhxY+zatQvTpk1zRR6JiIiIfFah8fiGfN3nE/r16weVSgWVSoWAgABUq1YN7777LtLS0jydNZKR5ECqYcOGOHHiBFq2bIkuXbogOzsbvXr1wtGjR1G7dm1X5JHIK5SQgeuJCMDolScx7u9T9hMS2bDkwCW8Mf8/5HiwFIpc5+mnn0ZycjKSkpLwyy+/YO3atRgyZIins0UykhRIaTQadO7cGRkZGZgwYQLWrVuH9evXY9KkSSZdlBMREfmq1Iw8/H7wMhbtv4Ss/EL7MxBZ8fnqU9gdfwsL9yZZTZOWD5y/ofzBTclcUFAQoqKiUKVKFXTt2hWvvPIKNm0yHVty4cKFaNCgAYKDg/HQQw/hxx9/NPl+1KhRqFevHkJDQ1GrVi2MGTMGGo3GJM3UqVNRsWJFREREYODAgcjLyzN8t2vXLqjVaqSkpJjM89FHH6FDB/MxM/VUKhV++ukn9OjRA6GhoWjQoAH279+PCxcuoFOnTggLC0ObNm2QkJBgMt/atWvRqVMnQ34nTJhgMtjtjBkz0KRJE4SFhaFq1aoYMmQIsrKyDN/HxMSgdOnS2LhxIxo0aIDw8HBDQKpEkgIptVqNU6dOKX6ALSLBRvGQ8dEr5VjmUU9EAFCou3990bEommRgKyAffyQAz8zej9SMPKtpShRBKBqE2hP/nDjfL168iA0bNpiMT/Tzzz/js88+w5dffokzZ85g8uTJGDNmDBYtWmRIExERgZiYGMTFxeG7777Dzz//jG+//dbw/fLlyzFu3Dh8+eWXOHToECpVqmQSjHXo0AG1atXC4sWLDdMKCwuxZMkS9O/f32aeJ06ciL59++LYsWN46KGH0KdPHwwePBijR4/GoUOHAADvv/++If3GjRvRt29fDB48GKdOncJPP/2EmJgYfPnll4Y0fn5++P7773Hq1CksWrQI27Ztw8iRI03Wm5OTg6+//hqLFy/Grl27cPnyZYwYMULsrnYryVX7+vbti/nz57siL0Rux+CIiJRkx7lUvDH/P1y7m+vprJDCJNzM9nQWlCEnBwgPd/qfX2QkSlepAr/ISPHz5eRIyuq6desQHh6OkJAQ1K5dG3FxcRg1apTh+4kTJ+Kbb75Br169ULNmTfTq1QvDhg3DTz/9ZEjz+eefo23btqhRowZ69uyJjz76CMuXLzd8P3PmTAwYMACDBg1C/fr1MWnSJDRs2NAkHwMHDsTChQsNf//zzz/IyclB7969bea/f//+6N27N+rVq4dRo0YhKSkJ//d//4fo6Gg0aNAAH374IXbs2GFI/+WXX2LUqFF47bXXUKtWLXTp0gUTJ0402Z6hQ4eic+fOqFmzJp544glMnDjRZHuAohpwc+fOxaOPPooWLVrg/fffx9atW8XtdDeT3P15QUEBfvnlF2zevBmPPvoowsLCTL6fMWOGbJkjItOGx3K8/M7KL8TFm1lo8mApuyVyOQWFiL+RhaZV7KclIuf1WxgLABj15wksGdTKw7khAnQ6Acev3kWDSpEIVnNoGSk6d+6MOXPmICcnB7/88gvOnz+PDz74AABw8+ZNXLlyBQMHDsRbb71lmKewsBClSpUy/P3nn39i5syZuHDhArKyslBYWIjIyEjD92fOnME777xjst42bdpg+/bthr/79euHzz//HAcOHEDr1q2xYMEC9O7d2+wZvrimTZsaPlesWBEA0KRJE5NpeXl5yMjIQGRkJA4fPozY2FhMnjzZkEar1SIvLw85OTkIDQ3F9u3bMXnyZMTFxSEjIwOFhYXIy8tDdna2IT+hoaEm/S5UqlQJqampNvPqKZIDqVOnTqFFixYAgPPnz5t8xwctIuXrOWsPEm9lY+7rj+DpxlE20740Zz/ikjMwo3cz9GpRxWZaIpLPrax8T2eBCACwYG8iJv1zBo/XLY/FAxUQ3IeGAkZtahyl0+kMAYCfn8gKWhbGUbUlLCwMderUAQB8//336Ny5MyZMmICJEydCd6+nxp9//hmtWpnuV/1YqAcOHMCrr76KCRMmIDo6GqVKlcKyZcvwzTffSMpHhQoV0LNnTyxcuBC1atXC+vXrTUqSrDGuhqh/xrc0Tb8tOp0O48ePR5cuXRAeHm6yX4ODg3Hp0iV0794d77zzDiZOnIiyZctiz549GDhwoEm7L+N16Ndjq8mGJ0kKpLRaLcaPH48mTZqgbNmyrsoTkUsp81R0n8RbRdVD1p64bjeQikvOAACsPHKNgRT5jMRMYNDiIxj/bGPULG/7jaw9e+Jv4a/DVzHphcaoVCpEphwSKcei/UkAgN3xtyx+r9O5+a6qUgF2SlJE0ekArbZoWWIDKSeNGzcO3bp1w7vvvovKlSvjwQcfxMWLF/F///d/FtPv3bsX1atXx2effWaYdunSJZM0DRo0wIEDB9C3b1/DtAMHDpgta9CgQXj11VdRpUoV1K5dG+3atZNpq+5r0aIFzp07h8GDB1sMUA8dOoTCwkJ88803hu+KV+vzNpKOHH9/f0RHRyM9Pd1V+SGSha8GS9YKfbPzC9mrE5FIM08FYOf5W3h3yWGnlzXktyPYejYVo1eeNJmeU3D/nMwv1CLueoZi36iSsnjbYbL/4m2H572ZmY8rd6S1O3KlfI0WhVqd/YQO6tSpExo1amSo+jZ+/HhMmTIF3333Hc6fP4+TJ09i4cKFhmYyderUweXLl7Fs2TIkJCTg+++/x6pVq0yW+eGHH2LBggVYsGABzp8/j3HjxuH06dNm69aXaE2aNMluJxOOGjt2LBYvXoypU6fi9OnTOHPmDP744w98/vnnAIDatWujsLAQs2bNwsWLF7F48WLMnTvXJXlxF8kheJMmTXDx4kVX5IVINt52I3JW1293oeu3u7AvwfIbQyIyJ2eHDjcyTKvidftuN7p+uwu742/ijfkH0f373fjz8FXZ1kfexd4tSUzDCKW2nsh2YgiAx77cgsenb8fdnAIZc+SYgkItzt3INNTEcJXhw4fj559/xpUrVzBo0CD88ssviImJQZMmTdCxY0fExMSgZs2aAIDnnnsOw4YNw/vvv4/mzZtj3759GDNmjMnyXnnlFYwdOxajRo3CI488gkuXLuHdd981W6+fnx/69esHrVZrUnolp+joaKxZswbbt29Hq1at0Lp1a8yYMQPVq1cHADRv3hwzZszAtGnT0LhxY/z222+YMmWKS/LiLpLbSH355ZcYMWIEJk6ciEceecSsoZpxAzgixVPojUkq/QPh+pPJaFu7vIdzQ+TbxDzQXrpd9Jb9nxPJOJh4BwDw8Z8ncCY5E2N7NrQ1K5GBxsHSket3c/HF2jgMaF8TLWsqvynGpds5KB0a6NE8ZMs8KHJMTIzF6X369EGfPn2s/l3c9OnTMX36dJNpQ4cONfn7008/xaeffmoybdq0aWbLSk5ORvfu3UWN/Vq8BL1GjRpm0zp16mQ2LTo6Gm3atLHa9mzYsGEYNmyYybQ33njD8Llfv37o16+fyffPP/+8Ykv0JQdSTz/9NADg2WefNelcQhAEqFQqaLUcnZuIiMiSBXsT0adVVdSpEOHprJAXWHX0ukPzDV9+DAcu3sGG0ylImvqMzLkib5Oeno7Y2Fj89ttv+Pvvvz2dHZ8iOZAy7k6RiO4TvK1lloTset22ESlYnsZ1bTDIt6TlaOwnsuBQUprMObGOPTYr33PPPYeDBw9i8ODB6NKli6ez41MkB1IdO3Z0RT6I3EahpcNE5MXOJGfgg9+P4tPuD5WY3vu2nrmBdSeSMfH5xghyT6dnJU7CrfuD8EoJVwot9KQnCALGrzmNuhUj8Hrr6jLkTpl0goBrabmICA6wWl2wUKvD9bu5CBSAktAgRUxX565wN6cAmXmFeLBMCPx8NOCWHEjt2rXL5vcdOnRwODNEZBuDQCJpbmbmIzDAD6VC1GbfFb+t38rKh9rfclox1h6/jtSMPPwxuI1hmhzn7JU7OagQGYSgAGUNhjpw0SEAQMXIYHz0VG07qX2XIAhIup2DGuVCZS+dcbRqnyX7L97Gov1FXWdLCaSUfN8RBAFZ+YVQ+/sZBgtOyy5AWk7RP2uB1PW7ubibW1TaV8FtuS15Lt/rkTFY7YcHIoI9nBvXkBxIderUyWya8YWDbaTIm6ikvOOT8Qap5BsTka/IyNPgsS+3AIDddiJZ+YV4dJK4tLZclrkr58OX0vDinH2oXzECG4cp80XljYw8T2fBoyasjUPMviR8HF0f73Wu4+nsWJWZ53jveq62/lQymlUtbTONpc4GbmTmI/Xe8Ve3YgRC1P4WS+OK0wdR5B7J6XmKDKTk6MBCcmF8Wlqayb/U1FRs2LABjz32GDZt2uR0hojcyUdLmokIwIXULNFpL93Otp/IjfQvKP8+dg0AcI7jxClWzL4kAMBXG8+5bZ0/7UzArK3xblufLXLcRmP2Jln9zt+/qKSpoMC8i/RUoyA+g8ERSZSTU/TiS612rBYC4ECJVKlSpcymdenSBUFBQRg2bBgOH3Z+gEMiV0rnxRYAO5Ag73UrKx9hgQEICfRMVTcpJdn5hea1NFLS8/BQVAQC/NmwyN0Sb2UjNNAfFSPleTt+6lq6LMsxZu3KrA+u8zRaTPn3LADglZZVUUGBb/rlFBAQgNDQUNy8eRNqtdqkS22h8H5wpSlQIS8P0BTkG6bn5VkuLTWeLy8vD35+fijIL7A7n4Fx7au8PMBfWdVuPUmn06GgoAB5eXlm+1kpBEFATk4OUlNTUbp0aUOw7gjJgZQ1DzzwAM6dc9/bGCLbrAcJO8/fdGM+fAOrIpJSpGbmoeWXWxERFICTE6I9nR0zxc8VS9WMBv16CC1rlsVyo7ZUxTkzyClZdiE1E0/NKGrnfXxcV4fbwhlz5++07OBltKxZFlqjY6qg0Pd7gFSpVKhUqRISExNx6dIlk+9S0+4Pqp0XEoDMYDUycjXIuFeNMTDXcscvxvOpc4KhUqmQU1CIO9kam/MZ6HTArVtFn5OSAAvjJZVUgiAgNzcXISEhSL17P3iyu089oHTp0oiKinJqGZIDqRMnTpj8LQgCkpOTMXXqVDRr1sypzBAREdmiH9w2U4YHWE9226zfDmvkbmtFwKqj1wyfzyZnoFWtck4vc8LaOFHp5HgZtfLoNcx4pbnzC/JCgYGBqFu3rln1vkErdxg+929bA6+3qYGYvYlYfKCok46tH3WyuDzj+Tb8rx3UajW2xN3AlO1nbM5nkJMDPHOvLeWRI0BoqJTN8WkajQa7du1Chw4d8NaqvYbpdvepm6nVaqdKovQkB1LNmzeHSqUya6DVunVrLFiwwOkMESmVNzanupNdgPCgAAQG2H9bdjsrH5EhaqhZ3YgUQhAE3MzMRwWZqmGRa8jRYNsd5u26aPgsoj8Ci86lmLZVi0vOcGg5qRl5KB8e5FgmFMbR9xEa7f3StHwRJWt+fn4IDja9FlzLvF/FLk/wR3BwMPIEf8P04uktzRccHAy1Wo1CVYDd+Qy0WkBfOhYUBNhLX4L4+/ujsLAQwcHBZvvZF0kOpBITE03+9vPzwwMPPOCzO4i8k9j7ujcER44+o1y7m4t2U7ehatkQ7B75hM20ibey0fnrHahbIRybh3OsOFKG4cuPY9XRa5j7+iN4urH06hde8nxPbqLR3j8gPvj9KA59/pTkZWTkydPGtuXkrejexLkqRWLdyMiTrU2YnGLtlMoSeQPJr56rV69u8q9q1aoMoojcREoHEdvOpgIArtzJtfi98UPm+pPJAIB4G72c/Xn4Kr4X2UvU38eu4ZtN57zmTTUpk74q1g/bLximueqQkmu57MTFO9zKyvd0FrD+ZIpb1rMv4ZZT87vqnFt84JL9REQKJzqQ2rZtGxo2bIiMDPNi7PT0dDRq1Ai7d++WNXNEJI0r45YRK45jxubzOH3dfi9VHy47hlnbLuA/EW8cNVod0nPYk2JJIQgC7mSbd2NM5El5Gi07+HCQUoYR8WSbRyq5RAdSM2fOxFtvvYXIyEiz70qVKoXBgwdjxowZsmaOiJTBOECT0n28mAfmp2fuQrMvNiE53XLJGfmW/y07hhYTN2PvBefeknsSn9d8T9MJm9Bo3Ebkacy7qy/prt31jmvzzUzPlzJSySM6kDp+/Diefvppq9937dqVY0hRieZttdiyC+4/MHiyCl7CzaKBUPVVEck9DibewaR1ccgtcO+D49rjRb1pzd2ZIOtyzyRnYPya07gtocoWAyLS03cjfum27/WWKGXcM2/mzS9nyHuJ7mzixo0bNkf+DQgIwM2bHJ+HvIuUBylfe+jaxfG0SrTeP+0HAIQG+mN41/oezo1txueetZC/23dFVcuv383FvL6POr3OlPQ8lA0LFNXjpS1e9n7FISVhG/Xc8c7Jl9qWpudqnBqvS19CGKwW3021o4Gjr93jyT1E3yEefPBBnDx50ur3J06cQKVKlWTJFJG7lJQ3dUTWXLyV7eksyMq0O2rHHkiPXbmL1lO2ot7n/0qe14eegUlG9joh8eaHeGv30b+PXUOzCZvw9cZzluezs82FWh2ajN+IpuM3mQxCbDUfXrwPyXuJDqS6d++OsWPHIi8vz+y73NxcjBs3Dj169JA1c0SulsXGxbI5k5yJyevPmLShsvZQGX8jE1/+E1fiOx3YfjYVM7ec96k30L5g2B/HZFsWn+3I0zwVYIxZfQoAMNuo101j9l5k3skpgEYroECrQ6ZM3c4TyU101b7PP/8cK1euRL169fD++++jfv36UKlUOHPmDH744QdotVp89tlnrswrkez+OZmMHzydCQWQ4zn+2R+LqoqJCY66fLsLAHD5ju+1R5Cif0wsAOChqEiHxkkqiRh0EpElglD0clRq4JiZV4iyNpquENkiOpCqWLEi9u3bh3fffRejR4823MxUKhWio6Px448/omLFii7LKBHBY40RpIyNcybZfIgEa05du5+2JD8fp7DHQpukPBcZH0f2jqm77Ha/RHO2/Y63UVrp6AUb4xY6Ij41C43HbUTlUtLGNi3Q6mTNB5UsogMpoGgw3vXr1yMtLQ0XLlyAIAioW7cuypQp46r8ETlE6VXGlDZop7JyQ+S9ip9Lzpxbfx+7hqX/XXYmO2TDwcQ76NLQu18AK+IFlJUIzV7Wzt3IlD0rAHA93bwJCpGrSAqk9MqUKYPHHntM7rwQyWbkXyc8nQWnGLfdcscgkVtl7HpcSomUVIIgIL9QJ6kHJ2+g7wLeG+QWaBES6Pz+L/4AmKfRIijAzysG1XRXDj9cdsxNayKxlFC1lGNdESmHc/26EimUJ6rsLD5wSbZlGd8o3VHt4FqafFXLjDtXkrvkbUBMLB4as8HnBu9Ny1F2Care4UtpaDB2A8avOS3rcm9n5eOhMRvw6rwDsi7X84+8yqtO5QoKiC1KjH0Jt/DIpC2S5lF6DQ0ib8ZAikgmvFm53vZzRWNfrTp6zcM58R1SnoH13RjH7EuSNQ8bT98AAPyXeMdyAjeXUimh1IFKFrGH3MR1ZyQv+5fdiZLnkUNmHnvFJd/HQIrIm/jw621bzxH5hb5dlcUbqrOROMUfiBmSkVRyHzPX7rq2BJ9XLyrJGEgRKZAsL8QlLcR2Wk++oF+4NxH1P9+ATadTPJcJ8nnGxzgDW5KbvWsoDzki78RAikq8+BuZmLU13tPZICsmrI0DAAyVcZBUpfHkM1ShVocftl/AyavpHsyFeO4I6lm1r2SwdN4prUfV4nhsEimLQ732EfkS/eCw9ijihaGde6hbbrEKuI+rlPFrKJpGq4Pa3/67so2nb2Dj6Rv4auM5JE19xmIanc6xx0uNVocAP5XTJTzSxpFSwAFqhEeqb3H06PLlEidL57eGYzNRCcESKSIFcsdb0SceqnB/fS5ancKeaUuM8zcyUe/zfzF5vfSG6cUJgoDu3+9Gx6+2Q6sT/4PezMxH43EbrXbhbXyMS3nIzJXQ9bOjx5/djmNs5lew8ZdvKgnbSOJdu5uLBmM2eDobRG7BQIqohArwu/806KoHIXvLdbT0QOnVb6SS+23191vjIQjAvF0XnV5WgVaHsymZuJqWK6nR+h+xl5FfqMOa49dx9HIaftl9ETqjQMzRIOe/i7cdm1GCDPY2VmJcu5uLH7Zf8HQ2fMrCPYkolPDShcibsWofkeL5bp0QkxHo7TxZG++FdceTMaRTHddkimT3wo/7AAAPRAS5fF18fCMpXp6zz/Q6ZAdL2YnIGEukiMgupT07XLiZ5eksOO3KnRxPZ0EyZ9sfXUh17Hfz5fYl5FlSgiiyzOtPT0bH5AQGUkRK5ObrutIa6JcEP+64X53I6x9EfICk6qI2khY/lfjbKhcDdCJyFgMpIoXz5pu9nAGaL4/t48vbJoYvbz1fUfgWX2uf6c0KCtkzIHkeAykiIg+4lWWnZzgX0rmhIbizwWGKUZUrad2fG3/2/EPv3RzP/c7uooT9rHSnrmWITmtrdzqzq33thY2UXkSJXIWBFBEhK9/zvZSVtFvi5rgbHlv3lTTH2mcZ/0bpuRr8svuiScAjaVl2fvC5OxMcWq7JOpxeghUSnkf3XnB9L4Pk/bw5xPH2+KxAK2Dh3kQk3Mz2dFbIC7HXPiIFsvYAKOeDofHNT6MtaWGMsnjjc8ioP09gw+kULD5wCTs/7uzUsuw9iBm/SS/+Vl0QBJNpKRnsPICIxJu/NwmL9l/2dDbIS7FEikgkOatF2Hsbb/y9Ih6yFRBnKWI/lEAqK3t++7lUAMCl2+7tfdC4Gtn2s6loNmETNp1OET3/f4l3XJEtAwWcKiSSN5aksI3WfXL9fkcv35VnQVQisUSKSCQvvOeSt/DBgytTwqC21oK1+99b1j8mFgDw9uLDotc18NcjFqezmQ+RY+ydv0S+jCVSRApk/NbR0bdufC70Hp5sLyWFlGBDjjZOzmJwRFLZPWZ4TBGREQZSRKQIGbka2wl8+KWnlNKbks7Xeh4jAhifEXkrBlJECiel2oQ3v4H//eAVT2eBJHB1PGNt+Urvalvp+SPvxsOLSFkYSBEpnBIaF8decm0DfaBkP4CGBfq7dPnF962k4NxFx5+U5bqjEErKVrJNCNF9LCSmkoyBFJECuSOmkLIOk0FOXbQOe3y5+lu3JpVctuycgkI8+c1OjP37lMvW4QiTY0PCgxir9pFcFBsQl9x3SpLwUkBKwECKyIt4W6mNEkrTvIErnwf+PnYdF29l49f9lxya39rDZp5G50y2JMnVaA2fve0cIN/iqqOPMQGRd2IgRaRwin1rSrKR+82q8fLkjDucDYwd3cxT1zIMn+NTs0TPJyW/cgVoDPPIlXh83SfXvZH7lJzBQIqIFKEk38wYLIt3+Y57BwAmItu8/ep1NiXT01kgL8ZAikiBjIOKu7ka/BF7GRl5droHJ6/lLXX9XVWrzks2n6woyS9ByPtptDyCyXEBns4AEdm29vh1rD1+HZvjbqBm+TBPZ4e8jDcEaZI6kOAzD8nFC84NOfna5nrDtY18H0ukiLzEljOpns6CZOwXQBx3PxA4uj45f063HBquKkGzsf94zJMrKbKzFQY0VIIxkCISyZ0Pu9Zuluz6+R4FPks4h7+raE7uKp87dMitlBbHKC0/gIz3SgVuG1FxDKSIFEiJN0dXq14uVHTaAq37ut4m71UCTyNyMQ7pQETGGEgRFaPkQh9FVuuQSXSjKE9nwSc5ezgr+XxwhLXN8d0zi6RQwiXWVrCmgOwRkREGUkQe4I6boRIeCKTwsed1SXwtWJHK0uazS3gv4mXXGiXy5mrbPFepJGMgRUQu423BnKfwMcR3+HKpsa/heUdEzmIgReRT+BBHpuR80a2IGEEJeSAiIgIDKSIissFlwRMDIvJCrjofxJZkFnLwWCJFYSBFRORhXtw8wmEO934mZexeV40j5ZrFEtl1+U6Op7NgpiRev4j0GEgRKZAiqlCR27iysbY3NAT3pQcxnrreLb9Q6+kskEg+dNkgL8ZAisgJOQWFns6C20kJ8vhQqQB82hCFLy8IUGaJj6ew4xQi+wI8nQEib3U1LQftp2136zq97b7GG7E4vlQiY5OVDS0x2++jvHWQWm/uctwdCrQ6+InYR9yLVJIxkCISqXgVqT8PX3XZutz1YCIIAh8myKvwaCVflJV/v3aDK94/1fjkH8nzPDZpCwIDpFdc+nl3ouR5iLwVAykikbRGd7dF+5IQn5rlwdzYZ6806NS1dNQcvR6ta5V1U46ISgDvLJwhkVz18+5PuO2iJTsuI085Vde9oa0nlUwMpIhE0hkFJuPWnPZIHn7ZI+5Nn04nYPzaOJtprqfnAQAOXLzjdL5IWTJz7z8AWXr8cLwQ0jWPkcYPSaeupeOvI1eRnquxnFZC5i2V7DLOISXKLmAnFyS/Y1fuoqBQh5Y1+cLUVRhIERWj03nvo1birWwAwJrj1z2cE5JCK/Mx91/SHQDBAID9F+V7030rq0C2ZVkrMO0xa4/L1iFXmz1bwVxmvnLe4pN03tasUwnt0+SsHp5fqEX8jSzUqRAu2zJLKp1OwPM/7AUAHBvbBaVDAz2cI9/EXvuIitGX1BTnzooFjt7MD1y8g8bjNmLoH8eKLc8zN9u45AykZlren8XtS7iNZ2fvwalr6S7OlfIsPXjZZcteeeSayd8HLt7Gu0uOuGx9SrX9XCpaTt6KgkKdy9el0bp+HXSfIAi4cidH8nWOlcWUp/7nG9Bj1h48NGaDp7Pi9Yxr0dzJlu8lGJliIEUkUlqO5apGriDlcaD4uCdZFt6IT994TvTybmflo9ePe7FMhof7hXuT0PLLraLSboq7gRNX0/HmgoNOr9fbuDPOfXXeAZz0ULC68/xNw+eL90pP3aX/wljczMy3+v2tLMvfHbBQomfvgb39tG2i8iQIAvI03l+ly9OlON9vvYDHp2/HjM3nJc1nryDFG3od1QmeH/tKrof0izdN2x2fu5Epy3JJGXzlelccAykikRLd/OAnlpg37HHXM0Qvb+aWeBy5fBefrDzpTLYcdidH3E35s1WeyZ83y7XTDiM9V4M5OxJwNe3+WDqFOvlKV45fuWv47OjDl7W2U5bYCpyK+2aT5ZcNxsGf3roTyTaXdSND3HqH/XEMD43ZgISbyu64Rum+3VIUQM3adkG2ZQqCgFfnHcCbCw6aBFRKC66em70HjcZutPgCzZ4p/57BzC3Sgk9ry5FD/5hYk7/fmO/8S7Ud51LNpl1IZYDmCYMXH8ZDYzaY3F98AQMpIhlJeciTi5jb+u74oofBn3ddtJs220vaePz2n+uqw/mqBmNtV5f5dOVJTNtwFr1+3GeYtuzgFVdny+xNtFw+WnFcdNrsfPFvSg8mytNBy+pjRW0ZF+4t6kRGaQ/pJdn19Dz8l3gHO8/fRI7RCwhXDntR3NHLaXbTZOQVolAnIFbiMXn9bi5+2nkRM7fEG17GOXr8pVipDi/VtbRcWZZjrN/CWJwvVrK14VSK3fn+u3gbhy/5TkdMSriybIq7AQBYHuv6e4o7MZAiu67dzcXnq0+67GFHiYb8dtih+TJEBlL27ldSbmhikur7Mvhyvf03h3keriZCnqMPuFONSnKuini4cbRdW05BUdD+vYwlCVLZe3EgCMA/J5Jdev3Tn8Pbzpq/PTcmpYTNWEGhDvsSbrmsClh2gdZrXsCIZXwNNq4CaK80Uk6vzjvgsmXnG9Vk0HdYscNC6WtxrnwWKHRRR08JxYYqEXPPfGXeAbw4Z7/Hq006g2NEugcDKbKr3dRtWHLgMl6cs89+Yh+x/mSK9xQ/y3zvWX/S/tu69BwN9ifcVlwPh9bauZDjxNyLe8za49DDVcOxG3HljrjzTMrLhcw8DWZvixeVdtH+JJvfz92ZgPeWHsET3+y8P9FFzyepdgKltxcfcmi549eeRp+f/8OoP0+ISn8jIw8ZeeJL13edv4nmk7bhYKp8O+bKnRyXt6fYcu8NudIcvpSGX3ZfNAl27FGpgDyNVvT5ZImYQH3Jgcvo/dN+h9fhKEu9E0rZP45yR+c0Ul27m4sTV+96OhsOU9ZTg/MYSJFo7uxsQQk4vpJ13b/fjdd+PoC/joir5pIp4aHM0dpNeRotHp+23bGZyWmOdmDx+HRxv9lTM3bi/aXiehv88p8z+HqTuLYfeRrp1ZrkjqPErvno5bsOLX/pvWqw+qqEttzJLkCryVvRdPwmyev5LcFf8jyWnLqWjsenb8dTM3baT+yERfsvmU0b+scxLNqX5PB1SI7qmYN+PYRJ/0hrd6RSqfDM97vx+PTtLq+SVnwYBHcUfETP3GXWG2amggYMdqd2U7fh2dl72bZSIRhIEVkxbcNZyfMM++MYZm45b6iy5Cgxt+K5OxPupXX/+51rd4uqe/1zUlw1lz9ir1hs9CunZAn19PMLtdh+LtXp34nuk3ssrOISbmaLrlZ16JL9tiVK4s62UXsv3LL5/Zlk8R3TuIq+DYuYaqWuUHzAdZWE0Lnm6PUYuuyo27ub9lMVnSMAsEZEwOxtbmTkS24HZo2UwM/RM1OnE1xeY8NbhwrxtaagDKSIrLiZmS95PJhDl9Iwc0s8Zth5Gz53ZwJqfPKPUz3PTf33LAol5O+2TNXeHAk+Jv1zBv0Wxrq06p2Uh9Ev/zmD/gtj8d5vJW88JanEPnMMX35cMT1b3pVSen7vuJFyb78t48DEwP3Sb3e0aLDXRbivPeQ4Kum248fy6mPXzYIxXybmmEnNyEPXb3ci5l7HKo7cRxw9NMX2BCsXQRDwwo970XP2HtHBlNh7+XYHX0gq6bxWwiDScmIgRWSDzsGrj9hqTs72PNd4/EaM/VvcDfuRSVucWpfeR8vF94RW3F2JNzQpDX2l/FL6/b79nP3G1SWdlLe31roQdzdXt5U7dV3eN8FKCUCVyFPtMEc7OfxDkpt/0x+23++wRUwnA8euuLfU9ptN53H+RhbGr40D4LqOJSz5bNUpUT0gWuLII0BGbiGOX03H6esZoq5Fs7bGo85n/2KEnV5G03M06L/wfhfx9n5ndjXhHgykiFzAz0295eRpdFhz3L3VODLd2DvXtH/FP5hLueFJ/XVik+5g6r9nRQV2k9efQfS3u3ym2mBJ6flJStVQV1HCe1qlvS3em2C7KuJpmYNaPWc7unD3aSO1Te+wPxx/IVacmG3945DzXV47U6ryq4X2cFLtjr+JQYtiJQ1zImbg8W/ulRLb61q/eAcw3nplVlLpmBwYSBHZ4OgJ7+fkmeUtFxqp+ZSa3l5nFsnp99tQSKnaJzXQfXnufszdmYBfdifaTTtv10Wcu5EpebyZnedv4myKZ9un6DtecJSXHLYmHMmzJx9gTl41DRyktq+Skt5TvWAan572jsmp/0pvyypG8Q4VpPLkMeIN7z4cucc5Muiw3qqj1xxri2g0yxvzD2LLmVRJ3dK7sgt7T1keewU1PvkHU9afceiFg7UeQc/fyMQvuy8qsqdEWxhIEdngaEAjpXEyWWfvgSBfYzwWipQF3/+4J972G29jF2+Kr65TqJV28Ly54CCenrnb6veCIGD+nkSX9shVYKGeviNH8oVU7+lNata2C5J6lXQlMVX8es7eY/j8w/YLaD1lK67fla9TBuNr3pwdCbItV4r/jEpX7D38KvalkwejGUltBOHY/epcSqb9RDJ7Z4lj4zvqyTWQtqc6ZCl+SEk7xGyfKFfTcjBo0SH8d/G23SWN/KtoGIWfdl3EbAfGAFxywHKThq7f7sKkf87g590XJS/TkxhIEdngaDWXQp13vVFRKnv3CeNfR0p7NuPlTlwXJyVLHvPvqRRMXBeHF+e4eQwXB54Hb2R4vpqcFK/9rIy3xvN2SXuA+GrjOdzIyJf0MCOlqqYjPc9Z66BHo9Xh7V8Piepg52CS+AdepVVFVIJVR69JSq/fh1JO9eiZuyStozhH48xUJ64t2feqW0s5B86nOhAwuiiGdmU16+F/HMeWMzfwisQStCMOtj2zxdvGyFJ0IDV+/HioVCqTf1FRUYbvBUHA+PHjUblyZYSEhKBTp044fbrk9JRDrufo205nx6C64i2DAd9z3UXtqu01SP7LqPqclN/K0TZsUh7a5H68W3lE2sORXCS9rfbSZ9pT1zzf5bcz5CyVMV7U+RvSHyLf+/2YxelDfjuCTXE38Nt/l2UtsczOd+2gvQBwyIFSYHd2ae+s+BvuL0F2dPf86OZS0pfn7pfUO65U1ySUJhe/Etu7Nh+WEORIyYexWAkvPXyVogMpAGjUqBGSk5MN/06evP82a/r06ZgxYwZmz56N2NhYREVFoUuXLsjMdH+RM/kmd9wKlxwwbwRr3DOPkun3z6J4cQNxpudqRN2U9HXh7Q24ONuopypJJVIOvtg7LGF8IrkfpLacuSHr8lzJi54hvZbUoRn0XP2Av/2c5aqym+PuH7/LJXQ8YC+37hiU9I35ByXPc6JYWzYli7vu3S8SXM1SlWe5JEh4qSC1at///fKf6GUbXxd2x4vvzVYjsQq7GO7qrEsuig+kAgICEBUVZfj3wAMPACj60WfOnInPPvsMvXr1QuPGjbFo0SLk5ORg6dKlHs41+Qp3vFX8fPUpl6/D1QpE3mcmrovDFyKq0n2/NV5yHlIzxTeMN75Mn5Pw1l1Kb02+wsvuaW7h6Thx8YFLJm1U5PyNjK95rvrtLzkxRlNx9l62kAgl5Bx39Ha+J/6WpKE4pJCSJalt2Yw7bbC37cZjbf0jcuBzV/G2e06ApzNgT3x8PCpXroygoCC0atUKkydPRq1atZCYmIiUlBR07drVkDYoKAgdO3bEvn37MHjwYKvLzM/PR37+/YeujIyitzEajQYajWcflPTr93Q+rFFivrTa+3nSaDTQ6eTLo0ajgUZcYYvFeV2RVkkEnQ4ajQZ38sVd+Y5fTcdxEW9qr6fliN4n+nT9F8YipPh0K8soXtdc7Lru5oi/Rizefwlvtq4qKq2lvBj/Xzygt5QH4/NADvp1CBLa+2nvHQ+FWt98uNXvE1c8vEu5BoxZfQqL+j1i+FsQ7v9Gto57Mesyfomh0wkOXZvszSNluYWFhQ5dS+W+L7hiPyiFVquFRqOBVistWHB0+zQaDQodnDdmXxI+fbouVCoVCgulLaPw3nYWSgyKrt/NQVyxdjsajQZqo8/G51zxbbO1nwoLTa8lttOafqf/3cTQ2DmPjHvH1N27jotVPK2Y51hb3zl63ZGb2DwoOpBq1aoVfv31V9SrVw83btzApEmT0LZtW5w+fRopKSkAgIoVK5rMU7FiRVy6ZHu8gClTpmDChAlm0zdt2oTQ0FD5NsAJmzdv9nQWjNw/TNavX+/BfFiTh1Klij5t3LgRQDDkOrQ3btqMUMOipC3z/r6yP5/5flX0qWlw8+bNe8eqvPk9kpCM9euvilqutf28ceNGaIODLc6jLfSH8WtY+8e1lHOgKO2lOzl20lretuLzbN68GbfzxOTh/nkgB/06Llz2g9jKCwfiU7B+/TWcu6sC4OAbCAWTck47tmzxy30z5n4PZteu3m8/Z/m4v7/c41fSbB6XRy7fT5uRkSHLMVw87Y0bKaKXe/jwERQm2XqdbpqH+8uV977gyG9vuo3KvaafOHECoSnHcSJV2nmr3z6d1vR6Kma+nELA0X0yb8W/qBoOpBdIW8bhQ4eQlyDg/FVp23n61ClkJQkm69q4cSN6GH02PueKb5utYz0uzTQvttIW394jR45Ad0ncubF71y7E23y8vZ/2ypUrWL/e1nO0tXPOlK1nA1vXiBspyVi/3jNtgo3l5Ihrq67cMxtAt27dDJ+bNGmCNm3aoHbt2li0aBFat24NwPzNsiAIdns2GT16NIYPH274OyMjA1WrVkXXrl0RGRkp4xZIp9FosHnzZnTp0gVqtdr+DG7w4f5Nhs/du3f3YE4s02qzceBeRzPR0dHw9w8zybMzStd9FE81qAAAkpep31di5iu+X+XKv6s98MAD6NKlKbB/u6zLvZ6jQvfu3UXth5YdnkT58CCztNHR0UBYmMV5xhzdhlyjUhN7x7WUc0BsWmvbpp/H+FpwPVMDHN1jlsaY8XkgB/06zmyOx5Zr9sfPAoB0TdHvVirhNn4841xXxUrUrnMXlApRu+T8FHu8W1KlahXDZ0vHvfFytYJK9HEZGRmJ7t3biEprzNLyjdNGRUWhe/fmopbbokULRDeqKCqt8brlvi9IuZ4Xn0fqfO7WtGlTdG/xIHKPXMPSBPEddum375NDWwAJJdfdu3dHRq4Go2Mdu2+0btsOzaqUwo2MPIw9LL73wEcffRSd6z+ASzsv4p8r4nu6bNy4MZo8GAmcvN/mKDo62vSz0TlXfNtsnW+h52/ip7NHRaW9mZmPsYd3Gv5+RMK58XiHDqhbIVxU2mrVqqJ790ai0lrKs/G9y9qzga1rROVKldG9e1Or63cXfW01exQdSBUXFhaGJk2aID4+Hs8//zwAICUlBZUqVTKkSU1NNSulKi4oKAhBQUFm09VqtWKCFyXlxZgS8+Tndz9ParUa/v7y5fHdpceQNPUZh+aVsq+UuF9FUalclnexy33nt2P4+/32lue3sozivQHaWlfx3oxc/bsWn0etVkMdYD+/xueBHPTr8JMwurTq3nwB/l51axHt09VxmNf3UZcs25nzyN/v/stDW8e91HXFJWfKcgwX56fyE71cf39/h845ue8LrtgPSqHfx/7+0kqR72+ftEYtarUaAU7U3ApUB9x7RpJWRS8gwLHt9Pf3R0CA6TXN+Lctfs7tPpVqNa1ZnvytL9csbbHtDQgIEH2MSUnr5yf+/ASs59nWMmx9p/Jz3XOFFKL3l4vzIav8/HycOXMGlSpVQs2aNREVFWVSBa6goAA7d+5E27ZtPZhLInInMW2uisspEH8DHrTokOi06RIHwvQG3tbw15V2nBffmxVZlyRjZxPkPP0p7spxiuTk7ID3ru5EKjld/FhXUobUcHa7vQV77ZPRiBEjsHPnTiQmJuK///7DSy+9hIyMDLz55ptQqVQYOnQoJk+ejFWrVuHUqVPo168fQkND0adPH09nnYh8hJRR7F01ELMnuhPX6vSDdEq/qXGQVPfysucOnE0R31Pmf4kcp8bVPHK2OnHMuvt4V6mcuwbn2nhxJ2W5Uro/z9O4fnw1V/G2AXkVXf/i6tWreO2113Dr1i088MADaN26NQ4cOIDq1asDAEaOHInc3FwMGTIEaWlpaNWqFTZt2oSIiAgP55yISiJXPZC4KkCzJSuvEKVC1ZIeWvRvtM9JeFD2JsbdCSuLl0VSEkgZu41KBme7Ind1yVvxF0mrjl5Dn1bVLKeVEkhJyMPVNHEdJShR0m3vyruiA6lly5bZ/F6lUmH8+PEYP368ezJERGSDHG8B8zRaBKtN6/DP35Pk9HKlcqZUaa2HxyEpadwx3h2RNbkOXPe0OseP2XUnkvFI9bIOz+9qd4tV8b6bW2AlpfnLt8OX0vBI9TIW0xYPAPNtvtgxTXsn23oeyDmKrtpHnnfljne9GSD32h1/y2XL9sb2Ru2nOd97oaX2I78fvOz0ch2VIqG+v+HhyIcf7JVYZebPw57vKthVfLV0U0my84t6MHXngOO/7k9yeN5bWY4FBfrLktRjylL15qx862PJnS82yPtlGyUsxV+CXEi1nrfsYuv87+Jtq2mLF7otOWB7WKBic0tISwykyKajV+56OgtUQn296Zyns1Ci6e/vGXnSH66upOXaT+SlYpNc02bnVla+/UQlUIFWqdUpfcfyQ1cBFA2E6i4zt8TbT2TF2uPXnVr32RTx7V71NMWOwzQJwZzNtkzFSpXib2RZTVu8beE/J62X/BfvsGHDqRSraYtv251sXoukYCBFRIokpecjch1HCpfyFVhqIxdXFbbZapBO5Er6AMrXO4k5cK8EJyRQequW4p2e2OqEyDxush5JHbBRqlRc8YDHVrlR8aqTtoK5jGIlkZe8rI2SpzGQIiIiM/rbsCMvqb2t+1ol8OHakJIkp/tuaaZS6QMoXz8Gb99rJ+TnwOUp/objVUxtXQ6X/ie+2vaQ344UW671BRevvmir91WN1vSHLz7OoqNKSttNBlJE5JTib8nkwmdxZXDoZsjfjhw06q+Tns5CiaM/xd312OuxB2wnVlt8VqWHCM7cP3UlJACSCwMpInLKjzsuejoL5AL6hx1Hbqm+XCLlqkeMAq1rqvZd8rLBb5PvskTK3fS9v7mrq/nzNtoBuVKb2uUcmm/t8etmJfNKiDVsBaTOXIGVsG3ehIEUETnln5PWG7E6w3cfxW1TWv10R94e+ztSd8ZLuOptuqva+Xf7brdrFkw+Q+1fdL5ujrvhlvU5Ow6UoyJD1A7NF5ecYVZKI6U9mZTLoSPj9olLLD7pbRsd30gZS6+kBGQMpIhcyFaDVF+RqLAHf29328GufeXmXBspWbOiKK56NnBVdZocdmJBdpSQ513nHuylDJzrRIm8q4IPWzkqHhRm5Fnv2t2RXlx9HQMpIhcaseK4p7NQIrjqDWfxcTtKIkce8J15kCipSsrbW1KgEnPsFW2oIy+HpJRAKWHss3PFOscoExpoNa2Uaw+vU+YYSJHPUdII3oVaXnUcJeVZ/C8JA5JKqZolpUclVzl93TOlmvrd5FAgJXNeFMVFpzQfUIowBne/knLoOXOOFZ/X1qKuFWvn56o2o7aWWnycrqplQ2RZp5SAsqQcVwykyOfcyFDO+EN8KHAPKSVHRy6Lb1CthMFAszxcKlZ8PJKSzlVj7bCnLOnSFPTSzJuVlG6q9Zey41fuSp5XSiDlDMX/EhIy+MueJJdlQ0kYSBGRItka98IZrmqDpJMp4FBK8K0PGA5cvGMnpaV5fVcJeeb0Cg9P3Cw67dU0z7XlVHrAV1LelTjzEsSsswkvuxDYyu4P2y+IX46EdX69Od5+onuUfo7YwkCKfI4rrm/edtEk63bH33LJcreeTZVlOb5wqPnCNljjqodOlvwVcdULFDnaqxY6WELNBvrK4Mx1yZnTU8oR7ar3aLay/5uEKuyuura/vfiQaxbsBgykyOe4ourNjvM3ZV+mNQzapNPoxD/g7EtwTSB1M9N6l7FeiYehRW/96pob/qervGsgWk+W8DjCkZLV4hw9JZR+SS8p1Uqd6rTPiX0kpfMdKWu5LaEUR65hNVxVtTk2yT1jmLkCAynyOSevpsu+zC0Ojq9x1oHee77dIr44nIos2pckOq2Um5pc1fVKmls2xiEhyzzVqYijXp13wNNZcDtHSwuOOdAmx51KSBzlcDDkpzKvcSBlUUpoayvXNdmRZxpfx0CKfM4nK73rzW5x329lIAVIayt0I0P8TULKw9D51CwJqX1LCXm2IgddTcu1n+geV5UCu5uj3forPZAi24IC/M2mXZNQIivlhZxCmsha1X9hrKezoDgMpIhEUEoHAORerqpmeeWO8qtFlZS31OR6fX7+T3RaXmvdz1urk0s9VBzdTEvV2a6ni3+RIOWY9s5fomRjIEVE5Ganr8tf/VRuZ1O8q6oZOS+ngANQl0TX0x0bMkQQBI8GYVJqIgDytu+RttniIymWXnofBlJEpEiuejMtZbmOVuXx1HLl5A2lZiSvhmM3ejoLPslbS3zEyPTgOHc9Z++RlN7Rn8FST5JSliXlcn/4kvd2ulBSMZAiohJFSvfKrgp3lB9GsYoJEdnmbfGhw4GUkxdsb7jek+MYSBGJ4KqxTcg6V+1zJRQG+SkhE3Z420MSEZEtcl7SpFzCoyKDZVwzKQ0DKSIiN/PzgiuvL1dHInInnknKIOc1Tcqi6lYMl229pDxecDsnT+LDVBEvKEDwOamZjjWAtkdK+ySXtdPyghJOnvlE8lD+2e4Yb7tGOJpfS7+ftGX56hFAAAMpIlIoV410LuWW5rI2Ul5wX+VYxETkUxxuI2V+wfaCSzi5CQMpIhEuswczkpGtUrHq5ULdmBPrWBpNnqBlBE8uImf350R6DKSIRNhx7qans0AyUUL35342FlsuPNDkb8YzVJLEp2Z5Ogskkre9bJEzu9615eRKDKSIqERRQrU6W22kxLSfcscDjJc9IxEpFk8lZfCG36Fq2RBPZ4EkYiBFJIISHr5JHkoYR8pWiZRSsBoMEdnjBZcyA0+NIyWFPx82vA4DKSIReGkjWXnBAcUSKfKEB0v73ht5Xz2XvG2zHH055O8Nb77IYxhIEVGJIumFn4vun84OyOuOB7OgAN4eyP0iggM8nQXyUY5eN905gLq3BafEQIpIFHdeSMk75Wm0otPezdG4MCfyCPDn7YGIfIejbUvdefvXuegtmdqfzzCuwjslkQiMo3yHlO6Vb2bmi06bU1AoOq03HE/e1iMXEblXSblEuLPdkqv2KV8Guw4DKSIRXNUNNrnf6esZotPG33BNV8xSbsyW3lCWkOcXIiLZOHrdtBSESAl4pDw+uCqQyi/UuWbBxECKbMvIVX4VJHdgGEX2SAm2pTRezi0QX2VQTo7ez1mSRWSKPWAqg87BwZ793NjZBK+f3oeBFNmUmS++uhKRr3FVQaStG7NSCj95PyciW7wtQCx0MJCy1FxUyvVRWumVQm4AJBoDKbJJypg7vozXtpJJys9+/kam6LS2XnCKuem6Z0Be73pIIt8gpQ0jkRSOduQQ4Oe+R2U3ropkwp+MbGIAUYQNNckeKQ+A3vCCgo+z5Anxqa5plygHR18u+PI7CW8qQalXMcKh+drXKW82zVUBD581vA8DKbKJ49AV4W4omaQ8JEhJa+u8Kr4YTz2DOfrw58sPjUR0n7ed646WdrpzQF4lPGtULhXs6Sx4FQZSZJM3vDl3B29660aeIWmcXy84ntz58EBE5GphQY4N9mzpcl0hMsip+a1RQomUl8XHHsdAimxSwDktyZhVJz2dBSqhpN0sbSxHxPzuuNGFO/jQQURki6dKshy9plnKr5SXzFK2t3XtcuIT+yhvGzyYgRTZ5A1vzo39efSaS5brZbuBPMCdJVLueBCpH+VYewK+zSQyxXPCu1n+/Vzzq0qpVlc2LNAleZCiedXSsi+zQaVI2ZfpSgykyKqcgkJMXBfn6WwoAuOokklKvCNXG6nivK0dAhGRLd52SbN0uZayDVLuI02qlBadtkKE+OqFUkjp3bBplVKyr9/bXuAzkCKrFu+/5OksKIa3ndi+oPejVTydBas3wPxCLTbH3UBm3v0Bq6WVSDmXL3eM3+JoV8FEZMpXTyVv2y6HO9ARPdF5AV7WNtUVx4CX7QIGUmRddoHW01lQDMZR7hcRrJZ9mbez8mVZzpT1Z/HWr4fw1q+H7k+UdIxIqF8v8o4t9/g7jvfa52VPVwQAOHUt3dNZ8GE8J4w5e41we9UvC/mV8jLLVZdEd11qT19Px+FLdyznwQXHthI63JCCgRS53K7zN/HPiWRZl5lboMW1u7myLtMW7zqtfYMr9vnUf89anC4IAnQWAhFrDYqXH7oCADhw0fLNxR5X3Cd+3B4v6/L46FdyHEy8gx6z9ng0D0m3slGo1Xk0DySdI5cyZ68tgQrojEBKEFMu3DVtmVxVM6H4tj3z/R68OGc/7mQXmKV1xfjZnv91pWEgpUAFWiA7v1DSPFfu5GDOjgSk52rsJ3azvgsO4r2lR5CcLl/g0/nrHWg3dRvib2TKtkxbvO0NCVl228KNAABenLMPPWfvMQumpPzsGbniz1lbixWzTks38Zh98lbFZdW+kmPb2VSPrn/dievo9PUO0xJeUjxHH+SdvbRUKhXi8LyOBOvfb7tgNk3KJjhTVe3dJYcxaFGsxVK8Qp2AcymZZt+JKfHLKSjETzsTkHgr2+w7a3PfzDSv0SHHbSKt2H3Z2563GEgpjCAIGB3rj+aTtiFPozWZfupausk0Y8//sBfTNpzFmNWn3JVVyW5nWX6I1dNvY36h5W3U6gQMjIlFi4mbkZKRBwDYfOaG7Pm0xMvOa5LoyOW7OH09A8n3jiupzqVkYoubjkUAOJOc4fIqdIyjyFmCIOCGlXPqbEqGoTrh/D2JAIDt527Ktu646/erKnq+uilvIHJqX7e8Q/P9uj8JdT77V5Y8GB9SgiC45BjLzNPg31Mp2HImFTcyzIOYizezET1zF37YbhrovbPksN1lT99wDlP+PYsnv9nhZC4d2+6PVxzHkgOXsDv+Jh6euNnkOz8vi0y8LLu+LyUjH4VC0UX3atr9EpwVh6+ix6w9eGP+fxbn079p35dwy+qyb2fl40xyhoy5ldeSA5fQY9YeDFpk+a3kzvOp2Ho21WLxsuvxRuhunnr0+Xbzebw6bz8KCsW/ufz94GVJ65DSeYml+/MLP+7DljOuLUVwdCwPTz+y0n227geOupNdIPo+MmFtHFpN3mrxu6dn7kaPWXuQZaf2xWM1ylicbuvBNT1Xgxfn7jf8/YTTD4vO4llhyjP7Y8Xhq7Ity7g0bkvcDTw9czc+XnHc+eUaB2hG0w9ZaaMEAN9tjccXa+PQf+FB6HQCNp62/FLvbMr98zY2qWh5lqrm5eQXig4MdQ7Wxl1x+Co+X30Ks7aal/ZJGaNLCRhIKcw3my23c/jtQFG1ndikNIfffDwyaQu6fbfb5GRSkkX3egncHW/55i/lwVZuLJHyfjcy8kx62bPmu63xOHDxDtaduO6yy7kcy119rGjMtKn/nsWifUkyLNFUsNpf9mWS62l1AhJuZkEQBPT52fKLN2e0mLgZ3b7bLSptjIjjsni1nuKs3e6+3Xze6jy3inUqk2Lhbb47ebxAzEV8dbukmrrhLM7dyJQUqM3aGo///X5UdPop6y2379VbsDcR28/dxKFLaVbTvLPYfkkVUNTR2PtLxeXNFVXAva1EikPXK0yOlZ7yktPzTNKEOThCN1DUsPihKO8a8MzTXB1HbTqdgkqlQtDEBWMylFTHrqSh+UNh2JdwC38dvoa/jti/yf1q9OAnNnDv8/MB1KkQLjpffx+7hnUydb5y6lo65u5MAACUFj+Ooyh8SPJOH684jpXn7+IBG2PM6HQC7uQUoHy4+HFoDibewUcrjsmQQ3lYarcCABtOJWPtcXk7NyoJ/rt4223r8olri9E2FAUT0p4SvrHxIsASsZ1r9f5pv9XvMvLEt+P952QyfhCRztnOJg4mmZe0sY0Uedxfh69iyG+HrbancsZ3WxzvGezo5TTkFJgXGQuCgB3nUpFqVJf+uy3xHi2BMnYw8Y5DJ7aUksO3Fx9Gz9me7TXL17w27z8k3spGn5//ExVEAcBPuy6a/C2mCt6+hNv4VcKYax8uO4bNcbbaU5mu09ZRJLVTGil+P3gZCTezJM/nEw9JXuzfUykALDcM1xvy2xE8OmkL9lgp/bfk1Xn7ceWO+3pK1ZN6OL2z5Aj+OamcQKqo/Yync2HfK/MOeDoLoilhd0rt2Gv10WuYsv6M3ecC4yqDch839qrROsIVPQd627idDKS8XG6BFvsumN4MP1pxHOtPpmDRviSLPdSIOUSt9Wzz7RZpb1GMjfn7NBqO3YjRK0+arGP+nkT0Wxhr8rbk2y3nsWBvosPrklPvn/Y71OvOZwru+MMbyHEpPetkm0C5Luc6nYALqea9K4lh7YYtCAJ+PeC6QbNj9iXhyW92umz55DkbThcFWz/vvmgn5X2u6OYYAFIz83D08l2r3x++lIZ5uxJMpnnLmFe/7L6IRyZtwflU9/Qu624CHAtqlBAIOevPw9ckpR/6xzH8tOsidtl5efHG/IPQ6gTkFBSi01fbncmimYJCHTbeO/dl44If8/E6jnUm4ikMpBTs643n7N4whvx2GH1+uV8P/pZRz3h/HbmK+mM2YNVR07fx8amW3zLnabTI02hx+XYOGo/fiO+32i59OpOcgR+2X7Ba8iUIgtm6AWBZ7BV8uOwoWkzcjLs5BVZLuc6n3L/5HLmchsRbOTbzozRL/5PWAQF5BymlQKevp0MQBIxdcwpPzdiF2VaqI9ny+d9xFqevP5liMj5bjgtKoIlmb5N3fLLiXpxjvSqS3uT1ZzFvV4LhRUTSbfMum5Vo0j9ncCe7wGagSNLN2HQOJ67e9XQ2RDN+f3Yn2357vdPX07H+ZArScuQfzmbw4sOylkwVj6PkqAnVzssCKbaRUrANp1Ow4XQKkqY+YzJ93YnreOWxakjNyLPZXez5G0UB07A/juOFh6sYpv+6/xK+eK6xSdpRf57AH/cGGX20ehnkaexXq9M3OM7XaDG8a30ARW/e/fxUuJGRZ7W3JgD4+9h1AMDolSetvtDIyi+EVifg+t1c9Ppxn938uNL1dMe6xSYvZ6FIas6OBPOJVjzz/R58/9rDWHKgKKgWVy/eu9/XWuvumpRn5/mbdl/Wfb3pPN5/oq6bcmTd5PVnUb1cGKIbRbm9qlyw2g95Gi2OXLbekL8kmr7hrKR2dnJJy9Hg2dl73b5edzmUlIaIYNc9njtaomupYwnjfO46fxN9FxwEAHSs5Hg5jZfV7GOJlDf44PejSDWq7z7qr5MQBEFSm5rUTMsPN2eSMzBl/RlDEAXAZq8vlny/7QKy8guRmpGHFpM244u1cXZLs/T+PZVitbrTprgbqP3peuyKtx4sekPdc3LMlTTPl0Baup7vS7hltVMYS1YYnVtiDF9+vwtdhTQTlOTx6fJWRyHX6jHLe9pm7r53L3D3YNGPVC+Dj5Yfd0kviN7s1/2XMENipwkAMEKGbsKVxPhwPGyjm3Kg6MW2vbbmX6yLc+kwL6862B6uz8/m89WrGGH4rA+iAGBnMgMpUpC1x6+bTXtk0haLA7RZY21cgW7f7TZrYO+IUX+ewIzN53E3R4MFexORK+FB054fbFSH+mrjOdnWQ8pi7Zh1l+NWqo4ccaKajpgbxImrRW8L03IK8MlBdkFO9/3S91GXLPf0de9oc+RJSurAwttduu35l2SuIqaqqpi25lP+td3dubukG1UvdEVVQ0s4jhS5hRxvKxx9K/Tn4auGDiP0/jmZjGWx99+8rzwqviFmtoxBl1xqlQ9z+Tr6tKrm8nXodWscJTrt9Jea2vy+YSXpXee/37mO5Hk87feDV5Bw0/m2GMY9EFm7PbzRurrZtH9P3YBGcO8NZdWQtg7Nt2RgK5lzYm7u64+ITls2LFB02r/ebeNIdmxqWaOsqHSTnm9sP5GRpxpWdCQ7dlkbu0+prBVIlQpRu2R9ey+I7xo80N+9j1WzXnsYtR9w/f1KLyrSsXEWykk4Jy15tlllp+aXatLzjUU/B9jruU6jdW0JqiPLP33dfkdMX28851QHY8V91r2BqHQskSKvkFugxZ8OjvI9YsVx/H5QOR0pfPyn/NUEHiwT4tB8r7cWHxxdSzPvSjhDxICxegdGPyk6rRS9H61q8/uO9R+QvMwR0fXtpqn1QBiGPiVvWwxX9TQmxa7z96umKiA7Nj1crYxD8zWr6vrxz0IDxZfOVZF0/tq+aztyTA58vKaodK+3ro4QiQMflwl1TbDgTYb+cczi9MdqSDt+Rz5tfl0KUfujWdXSDuQKCAzww/Cu9Rya19j5Sd1Epw0NdCy/c/6vheR5AGDHx50cmm/NB+3tpunexPoLv+FdHNuvFSODEO7AuJuvt66Oi7fEvUhLzbD9Yvs1C1XivMHs7RdEDaotVrlwccG0l8VRDKRKqlaTt3g6C7KRa3BTY1ctBDliSCmStvTWpen4TaLnjyol8wisIrmqeYIK8hfpv7f0iKzLcxbb9LmHnEdRWKD0hzBf+52lvnTL02gxeuUJ2fOx5MBljP1bvmElSoeYP9h93qMB6kkYYLs4R4bKKM4VY/MU161JJQQGSH8EdLS0IEDEjoluZD2QcnS9B0Y/idJ8+eBVvK1Eir32lVBSRrguiRwdDNjbLgBK444HCJKfowMo+qlcVGroRSeiN2RVajXwh7/YjFwXdcdva/DrLWdSJS3L0r539mWON7XvaFalFGKTvKMnQkf3q7cN7uqtHBkj0Rpv+80YSJHieeKkcnSVfl52AVCas8m+OXAlWaZSqVxSfCPlLPT0KSulB0jAOx4yXBVEyc3fyr50eBd72XsgdwZ9zq7JCw77Emn6hrMIUfvjIxl7YvS2n5pV+0qIVI7tIgkDIutcWWpUqIRGTR5Q/HAr1Oqw7qTMI9B7OSmnpBzVq8j3+bvgQPHErcPRgCgu2X6HA3KtS9SyXbTzeDt3nYy8QtFBlNjfwRteFhljIFVCzLLRhTiZc/Q8Fjufu3sgkpPUxvFSiN1//drWcFkelCBmX5LXVLlxhqtul56+EXvZc0CJ5WfhCcjZ306OY09KIW31co732JeVr6wq/rb2nB/fjng9ncgWE972SzOQIrLA0RNZ7Nu6B8uEuPViUddo0DxnPV5Xeq99cguR0IObNyh+LOw8b30QaiVy+Hxx0UnAZy4SIyXdfCxGtZPdl7v70HN3RwqeeknAc9r7iR1I29teRDGQIrLA0ap9Yi/2vR5+0KHlO+rR6o51a22JEm5oXVw0no5S3Mpy3aj2SuKqakKSes90SQ5cx9vyq2T7EszHz2pRrbRTx6W7HwLLhwe5d4UuZGvfuXt8LvIcb+qwBWAgRV7g2l3HuiJ3iovP46plQ127AheS2orpoShxpWHlwoNE7/YWDo53pFTFqwPdzfGtQMrSGFCvPlZV0nkm9ub6x9utZT1/w4Ol9cnkqkFhlw+Wf+BguXRyYGw5JbBU+uRs1Tx3tq89NraL29blDrZKA8s5ETBm5CqrCiPZxhIpIi/yioXBZ0uFqEXfDE+M72r4/Pd77UTX4w6W2M5o5ivN8b8n5R2s1tj+0U8AAKIbyVvS82n3h7BOxECMAPBSiypedwF1FW8ah+hFEb/boPbmA9SO69lIdLxja8DRMT0aGj73frQKWtUqZ7PUdFqvRiLXWuTFFlVEpXsgIgjlwwOxeGBLk+kPVystaX3WtKxZVpbluEK72uU9nQWHuCLocXSRYl84GSsdKm6AU7m826m24+8oRMz4VAPT+88PfVrgj7dbOx0wpueKH+ieXEfsbc3bngMYSFGJEN2wgsXp4569/xD2yL3qb3+920b0zSIyWI3EKd2RNPUZNKta2u58n3R7CPFfih+1Xu/5hx8UNbJ7g0qRkpf9dodaqFQqBGcnPo25rz9iN30dkYNVhgb6o0+r6giw8pbxu1ebG/Y5wMbEnhbkwOCcADDtxSY2v5/4fGOL08W0c4u8Vxr0fy2rWfx+eJd6GGgUpOmPteKlV/97oo7hc/FqtbZKIHo9/KDdQUu3ftQRx8Z2QexnTyH2s6fQtEppk0A4LDAAE59vjHE9G1pfiAVta5eTlN6TvO3BR699nXLYMPRx2Zb31ctNRd07mjxYyuTvhMndEemikkzAsRLDz7o3MPn77MSnMerph+TKkpmgAD/4+6nwcXR9k+mtapUTHTC6Mn/knBXvtBEdSXm6syCpGEhRifB+59oWpxs/cM18pTmSpj6DOhUiJD0YGJ/0ti4AvR+tgnc61na6MbMtFSKkVX9ImvoMPr13wwxW+9u9gM3o3QyRweJu+HtGPYHwIOvVolQqFaqXM63iaK36lnF1qQckbiO5TqkQtdVAWe+N1tWtfmfvPFvxTlusGtIWLz9quVTorcdriVpuVKkQ2yuy4skGtkto133QHrUfCDc86Fk6f1Sqon3wZpsaJtNb1rBdwjTSykOhlz1jKFqQ2h8PRUXiwdKmx4cj+3jRgJZ4rvmDdmd+u0Mtk2qaDSpFwt9PXMVV4+DaOM/28jv9pabo08ryywhrBhYrRZZai0KqiHv3lfc617GT0jo2o1Kuh23UKvB2POyoRJBabUJMlY/2dcyrs9iarfgyve2tCyCtnrojBUzWdonx9OY+eEEuHlB6gjOHo5TGwes+aI8Do58UNV9ooD8erlbG6rlirVTL2Spb43s2RM9mlfF04yib6RoXK1m4z/ar11/6Poolg1rZTGOpXZlScdw9IDyo6PeytyfScxyvZvZz30cdmu+B8CBMfqGJpPugn5/K4lAXYu9b/ycxcJODt3VSUJJIed7xtsopDKTI57WpJX8VmS3DO+DXAS3Npts6/93xrKGkpjVS2/k8Wr1MiX3b/rqNUhtXm/XawygbFoiY/ubHsz2O/F6NHyyFqFLBFucvXv3N+C24mHXpkxRPK3UQ6X7tamLWaw+7ZMBWAKhRPsxulUHAMw+jjvC2Bx89V2Tb3nH6x6ErJn/3ayv+3DcObAQHGlK6q+3lh0/WxZcv2K7ySyWP2OuwtwXEDKSoRDNuF2JcZczeG9ayYUEW2/TYms0bS6BcqfjeqFHe+sCSvr7nXFnd056ezSrj8OdPobWIFw4/vfEIWte6XyXN2d+l+PzG1d9ea1lNcjVO/Slm71xT3buhV3HzeG7yUF6Ovf3apva/n/9K94J8MYw7OtGTWjrX9l5HHa8ZtQO0FsAbL1rJnY9Y2gXueDj28sPQ54kN5L3td5TWryuRF3sgWMDNvKIz9MUWVfBm2+rw81PhxPiu0OkEyW+/LbF1s/Cya4PTHHn5aWv/hQX6I7tA67VdLXvKEw9VwLazqTbTiH0Qjm4UhehGUajxyT/F5ncsb7bW279dDenLu3f8FF9q8Rv4iKZaHNNUxifdGyArz7RrZEd6T3MVb3mg8NYSKT3j47Corai4+dT+KrSvUx5X03LQ5MHSTuXhueaVce1uLupUCLf6YsU4nwMs9IRpj9SSWYt5EJVGngNCCVWeyf285bqnx0CKSoxB9bWYcrzokJ/4fCOEBhZ9ttR5gqMnsq0blTsuDgPa1cCu8zddvyJXsdpGSoXtIzrh6JW7Zl3kkm3/16oaZr7aHI9P2664boBddUrYO9eqhAFvd28OtVqN41fumnz39/vtnF6/ceBmKVgUU2XQUvsUxfK2J59iHKkmp7d4YEsIwv1eRx0NKlUqlaSOFsRWO931cWeHSwzV/ip44pKxckhbXE3LtdEG0bKmVUq7JkMkC9Hdn3vZa2cGUlRiqCXUnnK08bSUC4Dcl4p1H7QX1e5CqgA/FQp18leut1z9w0paABUigxHdyHbjfzInCJZfFsjB6SpdtqrCik96P829RM50fhAU4HwAY3y26HPi56dCn1bVkJ6rQQ07b9o/6lIPVcuGes0DhbeXSDlKEIrOAePDTcxvJkfJkFjODBC9sH9LvL/0iMUqjK7UoloZyYOulw8Pcrq6Y/s65VE2LBCP1ZC2brJPyiXC297LMJAissAljZBd/FDk76dCtbKWH9Aigs1P9dHdxI25YXxRq25l+ZY485aXfIyVO6O77pe2jkRX37SNlz9ZZAP8D2wMvq3Ehwxv7bVPn21Zr1QSd4XDtR+MSz0dmEeMR6qXwf57PWwa1qXQn/qJh8yrfLcQORj2L288jCUHr2LyC01QubRjQyWQfaLbSLk2G7JjIEUlRimjMf2C7bx1tt9Y3TJPV+0LVvvj1IRofL3xHGL2JQEABnesZdZl+LCn6mFwR8tjaxWnggrrPmiH29kFNjuEkIO1/a7Um7c3UWJga+s8c+Y393QJiVy72luOey/Jpuz+v707D2+qyvsA/k3TLKUbUKALhbLoAEItUFQKIkK1gKIwDIKoCKPOKyIqozggjgPoI6KMyKiDirI46iuMAo7Pi4pFaItUKksRlEWEQhGKHRabmjRNmpz3j25Jc+9NbmmapP1+nqfP09ycc+655/7ucu5yIrU/bK1t4SpY4nb19Gt8Sjfsig64qW+Sn2tDvgq1wWvYkaJWIzwMKPzrSBj0OskR91z5Yzturqu2UYZwDO4RV9eRempMH+UM3miUfi/ncoqVGPWwyedC/uw+XfaofU28wuuHPw+eSBqU0vIfEwqi5m6UbnGROHXB4jLFtwW64Uqp3xL0T2O8OKGv2+cuvj4d4FKdQF5Kae4YSYo11v1QNgUH34c/Dy3sSFGrEmUIh07nPexDbUNuaFTfeLx+1wD0Tbr8DlBj2yK6Ee/lyB9sQ32NtGyNH+XSP4k9kgbwbtxtaY2/0h0qUR9MHVc1akfHe2ni1Xjx8yO4J6P6N52O/VLuU36p5fZHS0zs7sCEAZ0BAHv+ehMqq5yX9e7T5QjVdU2Bx+HPWwOzGdAGdqQkfWUFImzWgNYh1Oi19e0VYbNC63D/3lBZAZjN0Fqt1etY5/0AFGGzKq8HsxmA53BGOqtFNp/OaqnJV1NvNeu6Jp9berPZ4zPM1fGrATC2Z6xs3vAK97o05JrWKMI80irVOz7GgPUPZkBfWQFUyufRWizQW13awGx2/+w6P7vTpzpE2K2S/we9BuvSaBOIsFUqZPAktx20sVfHv9Fmhd1W5ZlRxbptGEsRekf1tCqHfD6zGeEVFrf1XDcvuxVWm90tbW06jdkCmOsHTwmzmD3n0aA++ppt3WCr8Ih31/m77gvCLBbP7agBpWWT4lpXrcUCKPw0kWTZNeW67U/qlrUCETabexkBjnudzHYbSN6OCwBwa88YwGxGvBZYNrbmvTSzGT8cK4FPb8pIrH9dpfwxwDVffZybAb3nGaZrGfpKR128dtAA0LnPW7H9zWbAWX3MMzSIJ1+2dSneli+tfbjk8Ukpn9HmuY9XM1+dtcJtHkabkD5uNtDBKKCxmIEqz+O5Ur5Ab3Mhx2yGtsKHbQM1+34RBCPMeonHWhoRjA/ONzOTyYTY2FiUAYgJdGVINYcR2PF59f/DxgBa7tOoFeJ2QFSP2wMRXQ4TgFgAZWVliImR7x00/VjJRERERERELRwf7XN19iyg0OtsDg9/sBfbjoTwD6oGgF5rxT9wDwBg4Kz3YXO4P0czuEd7rLxnALZs2YJRo0ZB58OjffeuKsDuk5dkv8+fNxLtIj1fZH0l+yhW5hVJ5pk2JAXzXAZ+mPnBXmz3cV0ffm605PQ+z3xR9//HD2UovhPlmnbmjT0Vh1h2TRup12LPMzfLft9QanIs/v1ghmKZALB8cn9sP1qK/+w/C6B6Ged9fAD/+e6sR964KD2+njvSax0i7Fbse70+Fip0Cs9UBZHDz412W574GAN+Mal/tK/hduAaN+d/q8Ta/CKs2nHSY96ulNZtbdraNLXrxVblRNqiLxXzSLn+xa9w4bf6Rzi+XzQK/RZsAQBsfvR69OgYVfddwYkLmL5md93n/l1i8eH/eMYZAPx5/X588f05yTrY7Xa3fcH3Z8pwx5vfKNZXrk3klm3zwRLM+fd3AIDsP9+AZIWBAaTKri3X4RRY920xBqa0Q5/E6mPToOeyYba5P6cW6LhfesfVePKjA806T2+8HRdiI3TYNT9TKisWfPo9/r37Z6/zkFr//3fgrNe2OPzcaFTYHHAKgUiD9GmYa1z8vpsDi+7Nkj12Pb3pIDbuOyP53a75mXXvU93yjzwUnbfU1cGXbd1b3ZTyDV+6DaUmGxJjDfj3jCEY9uJ22Xzb5wxHQqzyA5Vq9k2JsQZsmzPCa76l11XJnhco5Qv0NhdqDj07Cuu+Lcaz/3fYa9qCpzP99tuHqphMQJL3d1zZkXIVGVn9F0A2QwQq9Nwg1XC4vNZWoTd6HDArDRFAZCQcRmP1+vWhI2UzRqBCXyGfIDISkOhI2Y1tZNef3djGLb5UrWuZuHTN74xQjl/XtDZjhM9ptYZwj7RK9a5tb6UyAcAeEVHTzjXTIyPdP7uw6g2q6gAAFTpj6GxLkZFudT1pBaCy7pLbgUubdYiMxJzft8frBefcM6pp15q0tWkqDTXrpcopn08hzi5Cjwq91i1tbTmiwf7YojO7zeOdmTcCMieh5nCDe31c62C3u+0L7EabfNoaapfNEeGyH4iKBCLlO1KSZdeUqwVwd6b7j6Gehw7Qy+/DAhH3dpntNpCUjgsaDXDg2TGAVvqhnDKN3rflkVj/zjaR3vNGRiLCy6mGaxmFFqfisavwgl05Rms6UlZDBCr0zrrpvmzr3uqmlG/NwyPwRs5xzBxxBTTGcNl8McZwJCR5joDYmPnWprHqjR7TpDiMVbJt62tMh9SxJlAiI1EVIX9+1DAtgqEj5ZB4sVICH+0LMtmHSwNdBYJ/hiovOu/+4uKx0t+atPxfK2zeE9Wocvr+aqS/BtD5x9ZjHtPKKyUGQ0D13RRqeSwN7qwovbL7n/3uV9zlruQDwJeHfvG5Dj818XYIADuPnW/yMoNZhc0Z6CqoIkT9iH1SPtnveVfcV/74DbPDvyqfqh0qMcl+53Yoa+Y34nt0jMLSO9LQ3c+/P0ihwdd9bYgN2seOFJEUfwy/aapwH4XG/XdLLt9vVulOiBQ1B3tvv7nVkK+ppTqS2SpOgCl4+GN7aVjkbzKd7MtVYfftqqMapeWta2SDUBuu2J84fBeRJ41Gg53HL/icNpSwI0UkobF3pJSOoQ4/H2FtDt+vCqupij+usFLL0Lyh4Z+5+eOg7br/CLWTgsZo+Uvou0sW358MaG7s41EoCLX9CTtSRE1IqYPiUPE4navpQ7r5lM5WpaIjpWL+WvakWpTM3p0CXQVZrh2Qtm0avoPop9NAP1zgaAV9Jzf+eBQ6VLWGjnNT04c3/amo60A1RP7EjhSRBG8HQ10jdvxVDvUnbH+9tQ8W3HaV94RQd0fKqeLkUe1J0mM3yY8GSIH3xj3pGNC17WWVMTE9GUD9um6qU8ewMA3+94HrsGraILRvMJiLv27oNvL6hhcaif9asFaxkL4JtutOVj88utoYSsfUt+8d1GTz+c/DQzFhYGe8PCmtycqkpuHrphFq1yI4ah+RBG8HwyiZF92VXpZvzM6hY7TB5yucau5IlaoYWru03Pe0KXFtMKKX73c87rq2KzbuO4NrurXzOQ9dHn14GFZNuwaz/ncfJg3q0qgyXvrD1Xh05JXoGic/Gl1jDblCevQuk9U/v3Tvj0exzC7vcxl1WoWULUN7j7uHrVew3Z0zVzqA6Or/lY5PgTSga9Pt/9O6tMWyLv2brDxqOtYq3zr1mhC7MtNiOlIrVqzA0qVLUVJSgr59+2L58uUYNmyYqjLMNjO0tsAe9JxoXS8pNwXXNnPCiobdifEDO8BsM8PqsMJsM0MnvA+rWeWsUFwXZptZcrq1yiybb3RqV7d8vqxrg94uO6+GZXTvoPU5bZjW6nNawHN55epedEG+XKk8fZIM2PbkYMS10cNsk287X+vgLRaClbdl94XUssutC4MOeHtaat285cqRqmetuOj6z1UOp2y+y4kzV+dMv7qlV0r7SGYy/vHVT5Jp7Xa7277AZP3Na7lqly26jaMujzasEmabfCdQqmw1bdZwWiDiXhduC7pjl7c2UdvGUqTKsDksXvMrzVuuDkrHLqX56bQ2mGuuFThE/XFN7f7W1/nJ5TPb5GPEl/Zo7Hy95bM6qmTbVilfoLe5UGO2mXHqovxvc7qy2M1wIvAXoHyNS40I1ksUKqxfvx5Tp07FihUrMHToULz11lt45513cOjQIXTt2tVrfpPJhNjYWGAeAP4UQMgxhgGf1/SZx+wArNyjtVptbIB5cfX/kfMBSyu6UM7toPVqzXEvh9sD+RO3uVbACmAJUFZWhpiYGNlkLeIdqWXLluH+++/HAw88gD59+mD58uXo0qUL3njjjUBXjYiIiIiIWqCQf7TPZrNh7969mDdvntv0rKws5OfnS+aprKxEZWX9ex8mU/WP2Z169JRir7M5XP3cVwGdfyjSa60A7gEAdLa+7/YL9gBw4JlM2O12bNu2DSNHjoRO5tfhXT332RF8tPeM7PcHnsmUnL5uz2ks/vxHye8+eyQDyW3r3ykZ/erXOFum/P7Re39MR1pyW9nvXeMle/ZQxEfL31J1TStXf6m0T43+HaZc00X2e1dZfTrh7xNTvZYJAIO7t8PKewb6VK5UnaXSRtjqYyG54n1UOELjFvOBZzIve9uX2g68rWcpatZBLadToP/z21TlAYBnPzuCj122M6W0K3KO480dJ31Km3fsPGat+04ybcN9wcvZP+LdXacVy5VrE7k6LP/qGFbnF3utp1zZSnmCMe4/+p9rccfKb5t1nt4oHReGXRGHf07pL5vX121Raj3l/XQesz78TiK1cj6lOvSIEvho1nDZY5dSfffOHyH748ON2dYbm6/MasewpXmq53W58/WWb+m1VbLnBUr5Ar3NhRo1x7jGHLf8wWQyIWVJitd0Id+ROn/+PBwOB+Lj492mx8fH49y5c5J5XnjhBSxatMhj+s6cnWjTpulfnlYjjM8Wqhbm9r/RrQ3HpTiQuzUXAGDUGpGfK925bmiYDtggsy6eS6+qK7OhBCG/Do/v2Y3jLp9nXgH8ba/y+r50+DvkHpH/voPBgIuV1S9mHikogEJSPHV1OF48EI7IcCFb/1rD4/XY8Ut1yyb+egK5W0+4fT/36nAsPeC5+7gl5qJs2T2iDDj5W/1LpBM7lnuk/Wv/cCze71nugoGebf5Ev3C88r17WqVYCFaP9K1etsuta8NlfzI13Ot6li5Huh5393QolieV74YEp2KeYTpgY02+mzorp+3trJ/H+BTlujhdtkOpOrjuCwYAeK8mbYxOett4pn84nm8Ql10i5bejNJf5e1sHUu2mlOfKaAOOl7u/jB3ouD93cB+WDArH/D3Bc0qh1CYTO5QptvG0K3R47yfldzQevko6BoXCMQAA5qbJHz9cTe6uw0dF1XV46KoqxWPXxG46bDwpXd/87Ttk86XH6VF4wbOTNSxeeVuUW75ZMm2ilO/Jq31rDwC4NVmHz3+WXs7G1HdSDweM2nDZth3TWY8tZ6Q7oYHe5kJN7tZcLLsuHHMKvO8jGnPc8geLxeJTupB/R+rs2bPo3Lkz8vPzkZGRUTf9+eefx3vvvYcjRzxPLaXuSHXp0gXnz58P+B0pu92O7Oxs3HzzzT7dOSHA4TBj167qUX8GD74ErTbSIw3b1X+Cqm3NZujaVceC/dIlINIzFkKF2nb1ZTugIIvXphIEcR9s7dpStodga9eW5LLaNgi2uWDVUmLWZDKhQ4cOXt+RCp7LR43UoUMHaLVaj7tPpaWlHnepahkMBhgMBo/pOp0uaFZ6MNUl2IWF1beTTqeDVivfbmxX/wmKttW5xwICXZ8m4Gu7qtkOKEjitakEUdwHS7u2tO0hWNq1JWpU2wbRNhesQj1mfa17yA82odfrkZ6ejuzsbLfp2dnZGDJkSIBqRURERERELVnI35ECgMcffxxTp07FoEGDkJGRgZUrV6K4uBgzZswIdNWIiIiIiKgFahEdqcmTJ+PChQt49tlnUVJSgn79+uGzzz5DSor30TaIiIiIiIjUahEdKQCYOXMmZs6cGehqEBERERFRKxDy70gRERERERE1N3akiIiIiIiIVGJHioiIiIiISCV2pIiIiIiIiFRiR4qIiIiIiEgldqSIiIiIiIhUYkeKiIiIiIhIJXakiIiIiIiIVGJHioiIiIiISCV2pIiIiIiIiFRiR4qIiIiIiEgldqSIiIiIiIhUYkeKiIiIiIhIpfBAVyAYCCEAACaTKcA1Aex2OywWC0wmE3Q6XaCrExIcDjPM5ur/TSYTtFqHRxq2q/8EVdvWBgIAmEyAwzMWQoXadvVlO6Agi9emEgRxH2zt2lK2h2Br15bksto2CLa5YNVSYra2T1DbR5CjEd5StAI///wzunTpEuhqEBERERFRkDh9+jSSk5Nlv2dHCoDT6cTZs2cRHR0NjUYT0LqYTCZ06dIFp0+fRkxMTEDr0pKwXf2HbesfbFf/YLv6B9vVP9iu/sO29Y+W0q5CCJSXlyMpKQlhYfJvQvHRPgBhYWGKvc1AiImJCekADFZsV/9h2/oH29U/2K7+wXb1D7ar/7Bt/aMltGtsbKzXNBxsgoiIiIiISCV2pIiIiIiIiFRiRyrIGAwGLFiwAAaDIdBVaVHYrv7DtvUPtqt/sF39g+3qH2xX/2Hb+kdra1cONkFERERERKQS70gRERERERGpxI4UERERERGRSuxIERERERERqcSOFBERERERkUrsSAXAihUr0L17dxiNRqSnp2PHjh2K6XNzc5Geng6j0YgePXrgzTffbKaahoYXXngB11xzDaKjo9GpUyeMHz8eR48eVcyTk5MDjUbj8XfkyJFmqnVoWLhwoUcbJSQkKOZhvHrXrVs3yfh7+OGHJdMzXqXl5eXhtttuQ1JSEjQaDT755BO374UQWLhwIZKSkhAREYEbb7wRP/zwg9dyN2zYgKuuugoGgwFXXXUVNm3a5KclCE5K7Wq32zF37lykpqYiMjISSUlJuPfee3H27FnFMteuXSsZw1ar1c9LE1y8xez06dM92mjw4MFey2XMKrerVOxpNBosXbpUtszWHrO+nFtxH8uOVLNbv349Zs+ejaeffhqFhYUYNmwYxowZg+LiYsn0RUVFuOWWWzBs2DAUFhZi/vz5ePTRR7Fhw4Zmrnnwys3NxcMPP4xdu3YhOzsbVVVVyMrKgtls9pr36NGjKCkpqfu78sorm6HGoaVv375ubXTw4EHZtIxX3+zevdutTbOzswEAd9xxh2I+xqs7s9mMtLQ0vP7665Lfv/TSS1i2bBlef/117N69GwkJCbj55ptRXl4uW+Y333yDyZMnY+rUqfjuu+8wdepUTJo0CQUFBf5ajKCj1K4WiwX79u3DM888g3379mHjxo348ccfcfvtt3stNyYmxi1+S0pKYDQa/bEIQctbzALA6NGj3dros88+UyyTMeu9XRvG3erVq6HRaPCHP/xBsdzWHLO+nFtxHwtAULO69tprxYwZM9ym9e7dW8ybN08y/V/+8hfRu3dvt2kPPvigGDx4sN/qGOpKS0sFAJGbmyubZvv27QKAuHTpUvNVLAQtWLBApKWl+Zye8do4jz32mOjZs6dwOp2S3zNevQMgNm3aVPfZ6XSKhIQEsWTJkrppVqtVxMbGijfffFO2nEmTJonRo0e7TRs1apS48847m7zOoaBhu0r59ttvBQBx6tQp2TRr1qwRsbGxTVu5ECfVttOmTRPjxo1TVQ5j1p0vMTtu3DgxcuRIxTSMWXcNz624j63GO1LNyGazYe/evcjKynKbnpWVhfz8fMk833zzjUf6UaNGYc+ePbDb7X6raygrKysDALRv395r2gEDBiAxMRGZmZnYvn27v6sWko4dO4akpCR0794dd955J06cOCGblvGqns1mw/vvv4/77rsPGo1GMS3j1XdFRUU4d+6cWzwaDAYMHz5cdn8LyMewUp7WrqysDBqNBm3btlVM99tvvyElJQXJyckYO3YsCgsLm6eCISYnJwedOnXC7373O/zpT39CaWmpYnrGrDq//PILNm/ejPvvv99rWsZsvYbnVtzHVmNHqhmdP38eDocD8fHxbtPj4+Nx7tw5yTznzp2TTF9VVYXz58/7ra6hSgiBxx9/HNdffz369esnmy4xMRErV67Ehg0bsHHjRvTq1QuZmZnIy8trxtoGv+uuuw7/+te/sGXLFrz99ts4d+4chgwZggsXLkimZ7yq98knn+DXX3/F9OnTZdMwXtWr3aeq2d/W5lObpzWzWq2YN28e7rrrLsTExMim6927N9auXYtPP/0UH374IYxGI4YOHYpjx441Y22D35gxY/DBBx9g27ZtePnll7F7926MHDkSlZWVsnkYs+q8++67iI6OxoQJExTTMWbrSZ1bcR9bLTzQFWiNGl51FkIoXomWSi81nYBZs2bhwIED+PrrrxXT9erVC7169ar7nJGRgdOnT+Pvf/87brjhBn9XM2SMGTOm7v/U1FRkZGSgZ8+eePfdd/H4449L5mG8qrNq1SqMGTMGSUlJsmkYr42ndn/b2Dytkd1ux5133gmn04kVK1Yoph08eLDboAlDhw7FwIED8dprr+HVV1/1d1VDxuTJk+v+79evHwYNGoSUlBRs3rxZ8cSfMeu71atX4+677/b6rhNjtp7SuVVr38fyjlQz6tChA7RarUevu7S01KN3XishIUEyfXh4OOLi4vxW11D0yCOP4NNPP8X27duRnJysOv/gwYNb5ZUmNSIjI5GamirbToxXdU6dOoWtW7figQceUJ2X8aqsdnRJNfvb2nxq87RGdrsdkyZNQlFREbKzsxXvRkkJCwvDNddcwxj2IjExESkpKYrtxJj13Y4dO3D06NFG7XNba8zKnVtxH1uNHalmpNfrkZ6eXjdCV63s7GwMGTJEMk9GRoZH+i+//BKDBg2CTqfzW11DiRACs2bNwsaNG7Ft2zZ07969UeUUFhYiMTGxiWvXslRWVuLw4cOy7cR4VWfNmjXo1KkTbr31VtV5Ga/KunfvjoSEBLd4tNlsyM3Nld3fAvIxrJSntantRB07dgxbt25t1EUSIQT279/PGPbiwoULOH36tGI7MWZ9t2rVKqSnpyMtLU113tYWs97OrbiPrRGIES5as3Xr1gmdTidWrVolDh06JGbPni0iIyPFyZMnhRBCzJs3T0ydOrUu/YkTJ0SbNm3En//8Z3Ho0CGxatUqodPpxMcffxyoRQg6Dz30kIiNjRU5OTmipKSk7s9isdSladiur7zyiti0aZP48ccfxffffy/mzZsnAIgNGzYEYhGC1hNPPCFycnLEiRMnxK5du8TYsWNFdHQ047UJOBwO0bVrVzF37lyP7xivvikvLxeFhYWisLBQABDLli0ThYWFdaPHLVmyRMTGxoqNGzeKgwcPiilTpojExERhMpnqypg6darbqKk7d+4UWq1WLFmyRBw+fFgsWbJEhIeHi127djX78gWKUrva7XZx++23i+TkZLF//363fW5lZWVdGQ3bdeHCheKLL74Qx48fF4WFheKPf/yjCA8PFwUFBYFYxIBRatvy8nLxxBNPiPz8fFFUVCS2b98uMjIyROfOnRmzXnjbFwghRFlZmWjTpo144403JMtgzLrz5dyK+1gh2JEKgH/+858iJSVF6PV6MXDgQLdhuqdNmyaGDx/ulj4nJ0cMGDBA6PV60a1bN9mdQGsFQPJvzZo1dWkatuuLL74oevbsKYxGo2jXrp24/vrrxebNm5u/8kFu8uTJIjExUeh0OpGUlCQmTJggfvjhh7rvGa+Nt2XLFgFAHD161OM7xqtvaoeFb/g3bdo0IUT18LwLFiwQCQkJwmAwiBtuuEEcPHjQrYzhw4fXpa/10UcfiV69egmdTid69+7d6jqsSu1aVFQku8/dvn17XRkN23X27Nmia9euQq/Xi44dO4qsrCyRn5/f/AsXYEpta7FYRFZWlujYsaPQ6XSia9euYtq0aaK4uNitDMasJ2/7AiGEeOutt0RERIT49ddfJctgzLrz5dyK+1ghNELUvAlOREREREREPuE7UkRERERERCqxI0VERERERKQSO1JEREREREQqsSNFRERERESkEjtSREREREREKrEjRUREREREpBI7UkRERERERCqxI0VERERERKQSO1JERBTSFi5ciP79+zf7fHNycqDRaKDRaDB+/Hif8ixcuLAuz/Lly/1aPyIi8i92pIiIKGjVdjrk/qZPn445c+bgq6++Clgdjx49irVr1/qUds6cOSgpKUFycrJ/K0VERH4XHugKEBERySkpKan7f/369fjb3/6Go0eP1k2LiIhAVFQUoqKiAlE9AECnTp3Qtm1bn9LW1lWr1fq3UkRE5He8I0VEREErISGh7i82NhYajcZjWsNH+6ZPn47x48dj8eLFiI+PR9u2bbFo0SJUVVXhySefRPv27ZGcnIzVq1e7zevMmTOYPHky2rVrh7i4OIwbNw4nT55UXeePP/4YqampiIiIQFxcHG666SaYzebLbAkiIgo27EgREVGLs23bNpw9exZ5eXlYtmwZFi5ciLFjx6Jdu3YoKCjAjBkzMGPGDJw+fRoAYLFYMGLECERFRSEvLw9ff/01oqKiMHr0aNhsNp/nW1JSgilTpuC+++7D4cOHkZOTgwkTJkAI4a9FJSKiAGFHioiIWpz27dvj1VdfRa9evXDfffehV69esFgsmD9/Pq688ko89dRT0Ov12LlzJwBg3bp1CAsLwzvvvIPU1FT06dMHa9asQXFxMXJycnyeb0lJCaqqqjBhwgR069YNqampmDlzZkAfPSQiIv/gO1JERNTi9O3bF2Fh9dcK4+Pj0a9fv7rPWq0WcXFxKC0tBQDs3bsXP/30E6Kjo93KsVqtOH78uM/zTUtLQ2ZmJlJTUzFq1ChkZWVh4sSJaNeu3WUuERERBRt2pIiIqMXR6XRunzUajeQ0p9MJAHA6nUhPT8cHH3zgUVbHjh19nq9Wq0V2djby8/Px5Zdf4rXXXsPTTz+NgoICdO/evRFLQkREwYqP9hERUas3cOBAHDt2DJ06dcIVV1zh9hcbG6uqLI1Gg6FDh2LRokUoLCyEXq/Hpk2b/FRzIiIKFHakiIio1bv77rvRoUMHjBs3Djt27EBRURFyc3Px2GOP4eeff/a5nIKCAixevBh79uxBcXExNm7ciP/+97/o06ePH2tPRESBwEf7iIio1WvTpg3y8vIwd+5cTJgwAeXl5ejcuTMyMzMRExPjczkxMTHIy8vD8uXLYTKZkJKSgpdffhljxozxY+2JiCgQNIJjshIREamWk5ODESNG4NKlSz7/IG+tbt26Yfbs2Zg9e7Zf6kZERP7HR/uIiIguQ3JyMqZMmeJT2sWLFyMqKgrFxcV+rhUREfkb70gRERE1QkVFBc6cOQMAiIqKQkJCgtc8Fy9exMWLFwFUjwaodiALIiIKHuxIERERERERqcRH+4iIiIiIiFRiR4qIiIiIiEgldqSIiIiIiIhUYkeKiIiIiIhIJXakiIiIiIiIVGJHioiIiIiISCV2pIiIiIiIiFRiR4qIiIiIiEil/wdvZK64GO4IYQAAAABJRU5ErkJggg==", - "text/plain": [ - "<Figure size 1000x600 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAIhCAYAAABE54vcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAAC8zUlEQVR4nOzdd3wT9f8H8FfapnuwO6SUjWxE2QhVKYUKDlT8yk9lKrK+skRRwSIICF8RBQUHUAQRUQFRkZa9kRYoe9OWAi2ltHSPNLnfH7Vp0iRNLs3O6/l48KC53Hjf3ecu977P5z4nEQRBABERERERERnMxdoBEBERERER2RsmUkRERERERCIxkSIiIiIiIhKJiRQREREREZFITKSIiIiIiIhEYiJFREREREQkEhMpIiIiIiIikZhIERERERERicREioiIiIiISCQmUkQOoHHjxpBIJMp/Pj4+6Ny5M5YvXw5BENTG3bdvn9q4qv9efPFF5XiCIODLL7/Eww8/DA8PDwQHB2PcuHHIzs7WWP7SpUsxZMgQNGnSBBKJBOHh4dXG+/vvv6Nv377w9/eHj48P2rZti2+//VZjvF27dqFHjx7w9vZGvXr1MGLECGRkZBi0TSQSCSZOnKg2bMSIETrXXfXfiBEjAADh4eE6x2ncuLHeGJKTk5XjR0dHax1n1KhRynH0iY6OhkQigYuLC27cuKHxfUFBAfz9/dXWwdmFh4frLY+O6siRI4iOjsaDBw+sGsf8+fOxdetWjeEXLlxAdHQ0kpOTLR6TKdy5cwfR0dFITEzU+K7iWLW03NxcfPLJJwgPD0dQUBB8fX3Rvn17fPrppyguLtYYXyaTYc6cOWjcuDE8PDzw8MMPY9myZTWKQdu6V/2N8vT0RPPmzTF16lRkZmbWaHlE1uRm7QCIyDR69eqF//3vfwDKf+CXLFmCSZMmITc3F++//77G+PPnz8cTTzyhNqxu3brKv6dPn46lS5di+vTp6NevHy5cuIDZs2cjPj4eR48ehVQqVY67cuVK+Pj44Mknn8Qff/xRbZwLFy7EBx98gLfeegszZ86EVCrFpUuXUFpaqjbe/v37MXDgQDz99NP4/fffkZGRgXfffRdPPfUUEhIS4OHhIXobzZo1C2+99Zby88mTJzFhwgSNbVG/fn3l302bNsWPP/6oMS8xy/fz80NMTAxmz54NF5fK+1f5+fn45Zdf4O/vj9zcXIPn5+vrizVr1mDu3Llqw3/55RfIZDK1fUPO68iRI5gzZw5GjBiBWrVqWS2O+fPn48UXX8Rzzz2nNvzChQuYM2cOwsPDDboxYWvu3LmjTEI6deqk9t2YMWMwYMAAi8d08+ZNLF26FK+99hqmTp0KX19fHDx4ENHR0di5cyd27typluSMHz8e69atw9y5c9GlSxfExsbi7bffRl5entbfjZpQ/Y0qKipCQkICoqOjceDAASQkJJh0WUQWIxCR3QsLCxOefvpptWE5OTlCQECA0KhRI7Xhe/fuFQAIv/zyi8753bp1S3B1dRUmTZqkNnzDhg0CAOHbb79VGy6Xy5V/t23bVujbt6/W+SYkJAguLi7Cp59+qnedunTpIrRp00aQyWTKYYcPHxYACF9//bXe6QEIEyZMqHYcfduib9++Qtu2bfUuS5ekpCQBgDBmzBgBgBAXF6f2/ffffy94eXkJr776qmDI6fijjz5Szi80NFRtuwuCIPTu3Vt45ZVXBB8fH2H48OFGx20LCgoKTDKfvn376iyPllRYWCgoFAqt35lqXatavHixAEBISkoyy/wNpas8/vLLLwIAYe/evRaPyRTi4+MFAMKaNWusHYpSfn6+kJ+frzG8oiwcPHhQOezcuXOCRCIR5s+frzbuG2+8IXh5eQn37983KoaK85Qqbb9RgiAIs2bNEgAIly9fNmpZRNbGpn1ENqqiecT58+fxyiuvICAgAIGBgRg1ahRycnL0Tu/v74+WLVvi7t27opd97NgxyOVyREVFqQ0fNGgQAOC3335TG65ay1Kd5cuXw8PDA5MmTap2vNu3byM+Ph6vvfYa3NwqK8579uyJli1bYsuWLQYtz1a0atUKPXv2xOrVq9WGr169GkOGDEFAQICo+Y0aNQqpqanYuXOnctiVK1dw6NAhjBo1Sus0ubm5mD59Opo0aQJ3d3c89NBDmDx5MgoKCtTG++qrr9CnTx80aNAAPj4+aN++PRYtWgSZTKY23qlTpzBo0CA0aNAAHh4eCAkJwdNPP41bt24BqGzWGBMToxFL1aaOFWX95MmTePHFF1G7dm00a9YMQHkT06+//hqdOnWCl5cXateujRdffFGjaaMgCFi0aBHCwsLg6emJzp074++//zZ4myoUCixbtky5nFq1aqF79+7Ytm2bzrgrNG7cWK0pZUxMDCQSCeLi4jBq1CjUr18f3t7eKCkpQXh4ONq1a4cDBw6gZ8+e8Pb2Vu4zQ/dRRbPVdevWoXXr1vD29kbHjh3x559/qm3Td955BwCUTW4lEgn27dtn8DapTnFxMaZNm4ZOnTohICAAderUQY8ePfD7779rxFpQUIC1a9cqYwgPD0dMTAxeeuklAMATTzyh/E61vOzatQtPPfUU/P394e3tjV69emH37t1q8zf0PCmmPF67dg0jR45EixYt4O3tjYceegiDBw/G2bNnlePs27cPXbp0AQCMHDlSowmvtuZtCoUCixYtUjaXbtCgAV5//XXlMVOhoozEx8fj8ccfh7e3N5o2bYqFCxdCoVBUu198fHzg4+OjMbxr164AgNTUVOWwrVu3QhAEjBw5Um3ckSNHoqioCDt27Kh2WQDw119/oVOnTvDw8ECTJk2UNU6Gqjj3sRad7BUTKSIb98ILL6Bly5b47bff8N5772HDhg2YMmWK3unKysqQmpqKli1bav1eoVCgrKxM7V+FimZ2VZuvSaVSSCQSnDlzxqh1OXDgAFq3bo3ffvsNrVq1gqurKxo2bIj33ntPrWnfuXPnAAAdOnTQmEeHDh2U31tK1e1UVlam94KmqtGjR2Pr1q3KZ8wuX76MI0eOYPTo0aLjadGiBR5//HG1xGz16tVo3LgxnnrqKY3xCwsL0bdvX6xduxb//e9/8ffff+Pdd99FTEwMnnnmGbXn6K5fv45hw4Zh3bp1+PPPPzF69GgsXrwYY8eOVY5TUFCAiIgI3L17F1999RV27tyJpUuXolGjRsjLyxO9PhWGDBmC5s2b45dffsHKlSsBAGPHjsXkyZPRr18/bN26FV9//TXOnz+Pnj17qt0kmDNnDt59911ERERg69atGDduHN544w1cvnzZoGWPGDECb7/9Nrp06YKff/4ZGzduxDPPPFOj53dGjRoFqVSKdevW4ddff1VeLKalpeHVV1/FsGHDsH37dowfP17UPgLKL2CXL1+Ojz/+GL/99hvq1KmD559/XplgjhkzRnnDYvPmzTh69CiOHj2Kzp07G70+qkpKSpCVlYXp06dj69at+Omnn9C7d28MGTIEP/zwg3K8o0ePwsvLC1FRUcoYvv76azz99NOYP38+gPLkveK7p59+GgCwfv169O/fH/7+/li7di02bdqEOnXqIDIyUiOZAow/T2pz584d1K1bFwsXLsSOHTvw1Vdfwc3NDd26dVOWp86dO2PNmjUAgA8//FAZ/5gxY3TOd9y4ccoyum3bNsydOxc7duxAz549NZ4TSk9Px//93//h1VdfxbZt2zBw4EDMnDkT69evN2qd9uzZAwBo27atcti5c+dQv359BAUFqY1bcd7Vd57dvXs3nn32Wfj5+WHjxo1YvHgxNm3apNwuVQmCoDx/5ufnY+/evVi6dCl69eqFJk2aGLVeRFZnzeowItKtonnEokWL1IaPHz9e8PT0VGsmFBYWJkRFRQkymUyQyWRCSkqK8MYbbwhSqVT4888/1aavaM6m7d/Vq1cFQRCExMREAYAwd+5ctWl3794tABDc3d11xl1d0z4PDw/Bz89PqF27trB8+XJhz549wgcffCC4uroKw4YNU473448/CgCEo0ePaszjzTffrHb5FWCipn26ttXo0aP1xlDRtG/x4sVCXl6e4OvrKyxfvlwQBEF45513hCZNmggKhUKYMGGCqKZ99+7dE9asWSN4eHgI9+/fF8rKyoTg4GAhOjpaEATNplQLFiwQXFxchPj4eLX5/frrrwIAYfv27VqXJ5fLBZlMJvzwww+Cq6urkJWVJQhCeRNNAMLWrVv1rru2Zk8AhI8++khjvWbPnq023tGjRwUAwmeffaY2PDU1VfDy8hJmzJghCIIgZGdnC56ensLzzz+vNl5FU1B9TfsOHDggABA++OCDaserGneFsLAwte29Zs0aAYDw+uuva4xbUaZ2796tNlzMPgIgBAYGCrm5ucph6enpgouLi7BgwQLlMEs27SsrKxNkMpkwevRo4ZFHHlH7TmzTvoKCAqFOnTrC4MGD1YbL5XKhY8eOQteuXZXDDD1PiimP2tattLRUaNGihTBlyhTl8Oqa9lVt3nbx4kUBgDB+/Hi18f755x8BgPD+++8rh1WUkX/++Udt3DZt2giRkZE649Tl9OnTgpeXl8bxERERIbRq1UrrNO7u7sKbb75Z7Xy7desmhISECEVFRcphubm5Qp06dbQ27dN2Hu3atauQlpYmep2IbAVrpIhs3DPPPKP2uUOHDiguLtbovW779u2QSqWQSqUICwvDd999h2XLlinv8Fb16aefIj4+Xu1faGgoAKBjx47o06cPFi9ejF9++QUPHjzAkSNH8NZbb8HV1dXgpnxV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REREREQiMZEiIiIiIiISiYkUERERERGRSEykiIiIiIiIRGIiRUREREREJBITKSIiIiIiIpGYSBEREREREYnERIqIiIiIiEgkJlJEREREREQiMZEiIiIiIiISiYkUERERERGRSEykiIiIiIiIRGIiRQ6rqFSOxNQHEATB2qEQERERkYNhIkUO6/++P4bnvjqMn46nWjsUIiIiInIwTKTIYZ28+QAA8HMCEykiIiIiMi0mUkRERERERCIxkSIiIiIiIhKJiRQREREREZFITKSIiIiIiIhEYiJFDu906gN0n78b1zLyrR0KERERETkIJlLkFNJzi/HBlrPWDoOIiIiIHAQTKXIacgVfzEtEREREpsFEihxOek4xXv3+H2uHQUREREQOzKqJ1IoVK9ChQwf4+/vD398fPXr0wN9//638XhAEREdHIyQkBF5eXggPD8f58+fV5lFSUoJJkyahXr168PHxwTPPPINbt25ZelXIhny49RwOXcu0dhhERERE5MCsmkg1bNgQCxcuREJCAhISEvDkk0/i2WefVSZLixYtwpIlS7B8+XLEx8cjKCgIERERyMvLU85j8uTJ2LJlCzZu3IhDhw4hPz8fgwYNglwut9ZqkZVlFZRYOwQiIiIicnBWTaQGDx6MqKgotGzZEi1btsQnn3wCX19fHDt2DIIgYOnSpfjggw8wZMgQtGvXDmvXrkVhYSE2bNgAAMjJycGqVavw2WefoV+/fnjkkUewfv16nD17Frt27bLmqpEVnbz5wNohEBEREZGDc7N2ABXkcjl++eUXFBQUoEePHkhKSkJ6ejr69++vHMfDwwN9+/bFkSNHMHbsWJw4cQIymUxtnJCQELRr1w5HjhxBZGSk1mWVlJSgpKSy1iI3NxcAIJPJIJPJzLSGhqlYvrXjsBVyeeV2kMlkUCiM3y6CIHC7imD2siiTQaq6LO4bJVOWe0fgkOdFln+9bPE4cMiy6Aic9HhieTQfQ7ep1ROps2fPokePHiguLoavry+2bNmCNm3a4MiRIwCAwMBAtfEDAwORkpICAEhPT4e7uztq166tMU56errOZS5YsABz5szRGB4XFwdvb++arpJJ7Ny509oh2IhiBASU/xUbGwvA04BptBfrrOxsbN++3WSROQtzlUXX4mIM+vfv2NhYyD0N2bfOwphy7/gc6bzI8m8I2z0OHKksOgJnP55YHk2vsLDQoPGsnki1atUKiYmJePDgAX777TcMHz4c+/fvV34vkUjUxhcEQWNYVfrGmTlzJqZOnar8nJubi9DQUPTv3x/+/v5GrolpyGQy7Ny5ExEREZBKpfoncHByeQGOHSv/OzIyEq6uPnqneftonNbhdWrXRlRUV1OG59DMXhYLCpR/RkZGAj76962zMKbcOzKHPC+y/Otli8eBQ5ZFR+CkxxPLo/lUtFbTx+qJlLu7O5o3bw4AeOyxxxAfH48vvvgC7777LoDyWqfg4GDl+BkZGcpaqqCgIJSWliI7O1utViojIwM9e/bUuUwPDw94eHhoDJdKpTZTEG0pFmtycancBlKpFK6uxm8TiUTCbWoEs5VFqfq+BfeNkinLvSNxqPMiy79etnwcOFRZdAROfjyxPJqeodvT5t4jJQgCSkpK0KRJEwQFBalVV5aWlmL//v3KJOnRRx+FVCpVGyctLQ3nzp2rNpEiIiIiIiKqCavWSL3//vsYOHAgQkNDkZeXh40bN2Lfvn3YsWMHJBIJJk+ejPnz56NFixZo0aIF5s+fD29vbwwbNgwAEBAQgNGjR2PatGmoW7cu6tSpg+nTp6N9+/bo16+fNVeNiIiIiIgcmFUTqbt37+K1115DWloaAgIC0KFDB+zYsQMREREAgBkzZqCoqAjjx49HdnY2unXrhri4OPj5+Snn8fnnn8PNzQ1Dhw5FUVERnnrqKcTExMDV1dVaq0VERERERA7OqonUqlWrqv1eIpEgOjoa0dHROsfx9PTEsmXLsGzZMhNHR0REREREpJ3NPSNFRERERERk65hIERERERERicREiuyaIAgolsmtHQYRERERORkmUmTXhq+Jx8OzdiAjrxhyhWDtcIiIiIjISVj9hbxENXHgyj0AwLRNp3Hsxn0sfrGjlSMiIiIiImfARIocwsGrmQCAyT8nWjcQIiIiInIKbNpHREREREQkEhMpIiIiIiIikZhIERERERERicREioiIiIiISCQmUkRERERERCIxkSK7JQh8bxQRERERWQcTKbJbJ1KyrR0CERERETkpJlJktx4UyqwdAhERERE5KSZSREREREREIjGRIiIiIiIiEomJFBERERERkUhMpIiIiIiIiERiIkVERERERCQSEylyOin3C5CWU2TtMIiIiIjIjrlZOwAiS8orlqHv4n0AgOSFT1s3GCIiIiKyW6yRIqeSnlNs7RCIiIiIyAEwkSIiIiIiIhKJiRQREREREZFITKSIiIiIiIhEYiJFREREREQkEhMpIiIiIiIikZhIERERERERicREioiIiIiISCQmUuQ0BGsHQEREREQOg4kUERERERGRSEykiIiIiIiIRGIiRUREREREJBITKSIiIiIiIpGYSBEREREREYnERIqIiIiIiEgkJlJEREREREQiMZEiIiIiIiISiYkUERERERGRSEykiIiIiIiIRGIiRUREREREJBITKSIiIiIiIpGYSBEREREREYnERIqIiIiIiEgkJlJEREREREQiMZEiIiIiIiISiYkUERERERGRSEykiIiIiIiIRGIiRUREREREJBITKSIiIiIiIpGYSBEREREREYnERIqcliAIeOOHBERvO2/tUIiIiIjIzjCRIqd19nYOdl64i5gjydYOhYiIiIjsDBMpclplCsHaIRARERGRnWIiRUREREREJBITKSIiIiIiIpGYSJHTEtiyj4iIiIiMZNVEasGCBejSpQv8/PzQoEEDPPfcc7h8+bLaOCNGjIBEIlH71717d7VxSkpKMGnSJNSrVw8+Pj545plncOvWLUuuCtkJicTaERARERGRI7BqIrV//35MmDABx44dw86dO1FWVob+/fujoKBAbbwBAwYgLS1N+W/79u1q30+ePBlbtmzBxo0bcejQIeTn52PQoEGQy+WWXB2ykOv38rF8z1UUlJZZOxQiIiIiclJu1lz4jh071D6vWbMGDRo0wIkTJ9CnTx/lcA8PDwQFBWmdR05ODlatWoV169ahX79+AID169cjNDQUu3btQmRkpMY0JSUlKCkpUX7Ozc0FAMhkMshkshqvV01ULN/acdgKubxyO8hkMigUMjz12X4AQKCfh6h5CYIAmawy+ZKXVf7N7a3J7GVRJoNUdVncB0rayr0zc8jzIsu/XrZ4HDhkWXQETno8sTyaj6Hb1KqJVFU5OTkAgDp16qgN37dvHxo0aIBatWqhb9+++OSTT9CgQQMAwIkTJyCTydC/f3/l+CEhIWjXrh2OHDmiNZFasGAB5syZozE8Li4O3t7eplwlo+3cudPaIdiIYgQElP8VGxsLwBMVxfZuXonOqbTJzs7GgQMHlNMfOXpE+XfVWk6qZK6y6FpcjEH//h0bGwu5p6dZlmOftJV7cqTzIsu/IWz3OHCksugInP14Ynk0vcLCQoPGkwiCbTxyLwgCnn32WWRnZ+PgwYPK4T///DN8fX0RFhaGpKQkzJo1C2VlZThx4gQ8PDywYcMGjBw5Uq2GCQD69++PJk2a4JtvvtFYlrYaqdDQUGRmZsLf3998K2kAmUyGnTt3IiIiAlKpVP8EDk4uL8CxY7UBAN27Z8PV1QctZsUZNa/OjWrhk2fbYOCyIwCATW90xdDvjgMArs7tX92kTsnsZbGgANLa5ftWlp0N+PiYfhl2Slu5d2YOeV5k+dfLFo8DhyyLjsBJjyeWR/PJzc1FvXr1kJOTU21uYDM1UhMnTsSZM2dw6NAhteEvv/yy8u927drhscceQ1hYGP766y8MGTJE5/wEQYBER88CHh4e8PDQbBYmlUptpiDaUizW5OJSuQ2kUilcXY3fJhKJBFJpZZF3dav8m9taN7OVRan6vgX3gZIpy70jcajzIsu/XrZ8HDhUWXQETn48sTyanqHb0ya6P580aRK2bduGvXv3omHDhtWOGxwcjLCwMFy9ehUAEBQUhNLSUmRnZ6uNl5GRgcDAQLPFTEREREREzsuqiZQgCJg4cSI2b96MPXv2oEmTJnqnuX//PlJTUxEcHAwAePTRRyGVStXah6alpeHcuXPo2bOn2WInIiIiIiLnZdWmfRMmTMCGDRvw+++/w8/PD+np6QCAgIAAeHl5IT8/H9HR0XjhhRcQHByM5ORkvP/++6hXrx6ef/555bijR4/GtGnTULduXdSpUwfTp09H+/btlb34ERERERERmZJVE6kVK1YAAMLDw9WGr1mzBiNGjICrqyvOnj2LH374AQ8ePEBwcDCeeOIJ/Pzzz/Dz81OO//nnn8PNzQ1Dhw5FUVERnnrqKcTExMDV1dWSq0NERERERE7CqomUvg4Dvby8/u3ytHqenp5YtmwZli1bZqrQiIiIiIiIdLKJziaIiIiIiIjsCRMpclrbz6ZZOwQiIiIislNMpMhprTqUZO0QiIiIiMhOMZEiIiIiIiISiYkUERERERGRSEykyGno6yWSiIiIiMhQTKSIiIiIiIhEYiJFREREREQkEhMpIiIiIiIikZhIERERERERicREioiIiIiISCQmUkRERERERCIxkSICMPv3czh7K8faYRARERGRnWAiRQTgh6MpGLz8kLXDICIiIiI7wUSKiIiIiIhIJCZSREREREREIjGRIiIiIiIiEomJFBERERERkUhMpIiIiIiIiERiIkVERERERCQSEykiIiIiIiKRmEgRERERERGJxESKiIiIiIhIJCZSREREZDduZRdCrhCsHQYRERMpIiIisg+7L95F70/3YlRMvLVDISJiIkXORmLtAIiIyEirDiUBAPZfuWflSIiImEgRERERERGJxkSKiIiIiIhIJCZSREREREREIjGRIiIiIiIiEomJFBEREdmFMjm7PSci28FEioiIiOzC8eQsa4dARKTERIqIiIiIiEgkJlJEREREREQiMZEiIiIiIiISiYkUERERERGRSEykiIiIiIiIRGIiRUREREREJBITKSIiIiIiIpGYSBEREREREYnERIqIiIiIiEgkJlJEREREREQiMZEiIiIiIiISiYkUERERERGRSEykiIiIiIiIRGIiRUREREREJBITKSIiIiIiIpGYSBEREREREYnERIqIiIiIiEgkJlLkNARrB0BEREREDoOJFBERERERkUhMpIiIiIiIiERiIkVURVGpHGVyhbXDICIiIiIbxkSKSEV+SRlaz96BiM8PWDsUIiIiIrJhTKSIVJxIyQYAJGUWWDkSIiIiIrJlTKSIiIiIiIhEsmoitWDBAnTp0gV+fn5o0KABnnvuOVy+fFltHEEQEB0djZCQEHh5eSE8PBznz59XG6ekpASTJk1CvXr14OPjg2eeeQa3bt2y5KoQEREREZETsWoitX//fkyYMAHHjh3Dzp07UVZWhv79+6OgoLJZ1aJFi7BkyRIsX74c8fHxCAoKQkREBPLy8pTjTJ48GVu2bMHGjRtx6NAh5OfnY9CgQZDL5dZYLSIiIiIicnBu1lz4jh071D6vWbMGDRo0wIkTJ9CnTx8IgoClS5figw8+wJAhQwAAa9euRWBgIDZs2ICxY8ciJycHq1atwrp169CvXz8AwPr16xEaGopdu3YhMjLS4utFRERERESOzaqJVFU5OTkAgDp16gAAkpKSkJ6ejv79+yvH8fDwQN++fXHkyBGMHTsWJ06cgEwmUxsnJCQE7dq1w5EjR7QmUiUlJSgpKVF+zs3NBQDIZDLIZDKzrJuhKpZv7ThshVxeuR1kMhkUCuO3iyAIKCsrq355Kt87+z4we1mUySBVXZaTb29Vpiz3jsAhz4ss/3rpOw6sUR4csiw6Aic9nlge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fli8eDH++ecf5bhr1qzBf//7X+zYsQM///wzPvzwQ+zcuRPdu3eHi4uLxo1imUymEaePj49GbIMHD8ann36qMW5wcDCuXr1q6CZwWKITKQ8PD/Tq1cscsRARERER6SSRSDSb18klgNu/raLc3cyWSBlrwIAByl7wIiPVk8A2bdrAw8MDN2/eRN++fbVOf/DgQfTs2RPjx49XDrt+/brGeI888ggeeeQRzJw5Ez169MCGDRvQvXt31K9fH+fOnVMbNzExUePxnKo6d+6M3377DY0bN4abm2bK0Lx5c0ilUhw7dkzZC2F2djauXLmic10cjejOJt5++20sW7bMHLEQERERETkUV1dXXLx4ERcvXoRrlSTPz88P06dPx5QpU7B27Vpcv34dp06dwldffYW1a9cCKE9YEhISEBsbiytXrmDWrFmIj49XziMpKQkzZ87E0aNHkZKSgri4OFy5ckX5nNSTTz6JhIQE/PDDD7h69So++ugjjcRKmwkTJiArKwuvvPIKjh8/jhs3biAuLg6jRo2CXC6Hr68vRo8ejXfeeQe7d+/GuXPnMGLECKfq2Vt0jdTx48exZ88e/Pnnn2jbtq1GNqvaxSMREdWMIAiIPZ+Odg8F4KFaXtYOh4iIjODv76/zu7lz56JBgwZYsGABbty4gVq1aqFz5854//33AQBvvfUWEhMT8fLLL0MikeCVV17B+PHj8ffffwMAvL29cenSJaxduxb3799HcHAwJk6ciLFjxwIorwWbNWsWZsyYgeLiYowaNQqvv/46zp49W23MISEhOHz4MN59911ERkaipKQEYWFhGDBggDJZWrx4MfLz8/HMM8/Az88P06ZNQ05Ojik2mV0QnUjVqlULQ4YMMUcsRERUxV9n0/D2z1cAAMkLnwYAlJTJceBKJro3rQM/T82mGTmFMsQnZ6Fvq/qQujrPnUEiIlsRExNT7fdbt25V/i2RSPDf//4X//3vf7WO6+HhgTVr1qh1ow4An3zyCXJzcxEYGIgtW7ZUu7w5c+ao9fxXVUUvglW1aNGi2koSX19frFu3DuvWrVMOe+edd6qNxZGITqSq7kQiIjKff67f1xi2YPslxBxJRtcmdbBpbA+N74d+cxSX7+ZhSr+WeLtfC0uESURE5HR4q5KIyM78kpAKADielKX1+8t38wAA207ftlhMREREzsagRKpz587I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eXl5GDduHLy8vLBv3z7MnTsXc+fORWlpKQCguroaGRkZcHNzw44dO7Br1y64ubkhOzsbdXV1Rp+3vLwc06ZNw+zZs3Hs2DEUFhZi8uTJUCgUlvpXiYhIIAykiIjI5nh7e+PVV19FTEwMZs+ejZiYGFRXV2PFihWIiorCY489BgcHB+zevRsA8PHHH8POzg7r169HQkICYmNj8fbbb6OkpASFhYVGn7e8vBwNDQ2YPHkyevbsiYSEBMybN0/QpodERGQZ7CNFREQ2Jy4uDnZ2t98VymQyxMfHK/8Wi8Xw8fHBpUuXAAAHDx7EyZMnIZVK1Y5TU1ODU6dOGX3exMREjBw5EgkJCRgzZgyysrJw1113wcvLq4P/ERERWRsGUkREZHMkEona3yKRSOuypqYmAEBTUxOSk5PxwQcfaBzLz8/P6POKxWIUFBRgz549+O677/Daa6/h8ccfx759+xAeHt6O/4SIiKwVm/YREVG3l5SUhBMnTsDf3x+RkZFqPx4eHiYdSyQSYciQIVi1ahUOHToEBwcHfPbZZxZKORERCYWBFBERdXt//vOf4evriwkTJmDnzp04c+YMioqKsGjRIpw/f97o4+zbtw/5+fn48ccfUVJSgk2bNuHy5cuIjY21YOqJiEgIbNpHRETdnouLC3bs2IHly5dj8uTJqKysRI8ePTBy5Ei4u7sbfRx3d3fs2LEDa9asgVwuR1hYGF588UXk5ORYMPVERCQEkYJjshIREZmssLAQGRkZuHbtmtET8rbq2bMnFi9ejMWLF1skbUREZHls2kdERNQBwcHBmDZtmlHb5ufnw83NDSUlJRZOFRERWRprpIiIiNrh1q1buHDhAgDAzc0NAQEBBve5evUqrl69CqB5NEBTB7IgIiLrwUCKiIiIiIjIRGzaR0REREREZCIGUkRERERERCZiIEVERERERGQiBlJEREREREQmYiBFRERERERkIgZSREREREREJmIgRUREREREZCIGUkRERERERCb6/4hmiBejCzZHAAAAAElFTkSuQmCC", - "text/plain": [ - "<Figure size 1000x600 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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l2qvlFb00UcfISEhQfQvIiICANChQwf07t0bH3/8MTZu3Ijs7GwcPHgQr7/+Ojw9PS26E6NLrVYjLy8PX375JcaNG4d+/frhww8/xIQJE/D999/j8uXLovLGer2yZ29YzZo101tPCQkJ2qvrQNmVX91/QoWeEoGyDiKef/55rFq1CkqlEt9++622SVBVPP/88/D29sZ3332HuLg4pKenG+2p748//kDbtm3RsWNHUZzR0dF6zb1OnjyJp556CnXq1IGnpyfkcjleeeUVqFQqXLx4EQDwwAMPoFatWnjnnXewfPlyJCcnV2kZKnr22Wf14pbJZHjppZdEcYeGhqJDhw7auA8dOoTi4mL897//FX2+Z8+eiIyMrLReTRPAcePGWWU5NCouj0atWrXw6KOPisZZso2AsuZwQUFB2uGQkBDUr1/fYM9s5hD+uVug+68yGzduRK9evRAYGAgvLy/I5XKsXLkS586dq1IMGgcPHkRmZiaGDRsmiketVuOJJ55AQkKCXnNHc4+T5lAqlZg3bx5at24Nb29veHl5wdvbG5cuXarysu3evRsA9L6jXbt2RatWrfSaLIaGhqJr166ice3btzd7+9atWxcJCQnYv38/VqxYgczMTPTr1w9paWmicqaOP6amFRQUICEhAYMHD4avr692fFBQEAYNGmTwM4888oj2+HngwAGsXLkSd+/exaOPPsqe+8hpsWkfkYPT7WEJKG9uV1RUJBr/yCOPYPHixVCpVLh06RJmzJiB8ePHo02bNnjkkUf05tu0aVN07tzZaL0bN27E8OHDMWTIEACAt7c3Jk2ahJ07d1a5O+U6deogPT1d2xxNY8CAAViyZAlOnDiBBx54QLvM9+/f15tHZmYmateuXaX6q8LX19fkegL02/evXr3aYFIzatQoPPLII5g7dy7u3r1brS7KAwIC8MILL2DVqlWIjIzE448/bjRpuHPnDi5fvmz0OQTNj5jr16/jX//6F1q2bIlPP/0UjRs3hq+vL44ePYpx48Zp97kaNWpg7969mDt3Lt59911kZWUhLCwMr776Kt5///0qP++gaX6mG7cgCNrmexU1bdoUQPl+UrGJkrFxFd29exeenp5mlbVExeUxNd7cbaRR8bgAlB0bKh4XzLV37169XjxTUlKM9qa3adMmDBkyBM8//zzefvtthIaGwsvLC8uWLatS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u4o9Wt2/f18YM2aMEBISIsjlcqFFixbCxx9/rPdyWUEQhPj4eKF79+6Cr6+vULt2beGVV14R7ty5YzJuDWPxQKeHrur02gdA9LJgQ3R77TOlKr32mWKol7T8/Hzh/fffF1q2bCl4e3sLNWrUENq1aydMmjRJSE9P15b7/fffhQ4dOgi+vr5CgwYNhLffflvYunWrqHe18+fPCy+++KLQrFkzwc/PT6hRo4bQtWtXYc2aNaI6c3JyhNGjRwshISFCQECAMGjQICE1NdVor33GlmvVqlVCt27dhICAAMHPz09o1qyZ8MorrwjHjh3TllGr1cL8+fOFiIgIwdvbW2jfvr3w+++/m/1CXpVKJSxevFho27atdv306NFD+P3337VlSkpKhGnTpgkRERGCn5+f0KdPH+HUqVNGe+2r2AOfIJh+ybO52whGeqSsGIcgCML06dOF8PBwwcPDw+ovv12wYIHQuHFjwcfHR2jVqpWwYsUKgy9jPXXqlNCrVy/B399frxfFJUuWCE2aNBE8PT31jhd79+4VnnzySaF27dqCXC4XGjRoIDz55JOi76slx0lz98esrCxh1KhRQv369QV/f3/hkUceEf7++2+D+9IPP/wgPPjgg4JcLhfNx9B6UKlUwkcffSS0aNFCkMvlQt26dYWXXnpJuHHjhqicsX1k2LBhQmRkpN54Xenp6cJLL70kNGvWTPD39xe8vb2Fpk2bCq+//rpw/fp1vfKlpaXCrFmzhEaNGgne3t5CixYthM8++8xkHbq2bNkitG/fXvD29hYaNWokLFiwwOgLeXWPnZ6enkKjRo2E5557Tjh58qTZ9RE5GpkgGOheioiIiIiIiIziM1JEREREREQWYiJFRERERERkISZSREREREREFmIiRUREREREZCEmUkRERERERBZiIkVERERERGQhvpAXgFqtxu3btxEUFCR6SzsREREREbkXQRCQl5eH8PBweHgYv+/ERArA7du3ERERIXUYRERERETkIG7cuIGGDRsanc5ECkBQUBCAspUVHBwsaSwKhQLx8fHo378/5HK5pLE4O5WqAAcPhgMAeva8DU/PAIkjKuPU27igAAgvW6e4fRsIkH6dOuJ2duptXFUOuG/YkltuYzfjSNvYEY9zzq7S7etmxzRXVJ3vcG5uLiIiIrQ5gjFMpABtc77g4GCHSKT8/f0RHBws+YHb2alUntrjXnBwsMOceJx6G3t6lv8dHOwQJxZH3M5OvY2rygH3DVtyy23sZhxpGzvicc7ZVbp93eyY5oqs8R2u7JEfdjZBRERERERkISZSREREREREFmIiRUREREREZCEmUkRERERERBZiIkVERERERGQhJlJEREREREQWYiJFRERERERkISZSREREREREFmIiRUREREREZCEmUkRERERERBZiIkVERERERGQhJlJEREREREQWYiJFRERERERkISZSREREREREFmIiRUREREREZCEmUkRERERERBZiIkVu7XJGHjLyiqUOg4iIyO2VKFU4cT0LarUgdShEZmEiRW7rdnYRHl+0D13n7pI6FCIiIrc37ruTGPzlQXy557LUoRCZhYkUua2k27lSh0BERET/2HnuDgBg5f4UiSMhMg8TKSIiIiIiIgsxkSIiIiIiIrIQEykiIiIiIiILMZEiIiIiIiKyEBMpcls/HL0udQhERERE5KSYSJHb+ut8htQhEBEREZGTYiJFZKFihQqZBaVSh0FEREREEmIiRWShLnN3otOcHbifXyJ1KERERC5HkDoAIjMxkSKyUF6xEgBw4nq2tIEQERERkWSYSBEREREREVmIiRQRERGRi1Oq1MgtVkgdBpFLYSJFRERE5OIGLt2P9rHxuJNbXGnZnCImXETmYCJFRERE5OLOp+cBAHadM/3qjw//SEaH2fHYkXzHHmEROTUmUkREREQEAPhmfwoAYH7cOcliENhtHzkJJlJEREREREQWYiJFRERERERkISZSREREROQwBLbtIyfBRIqIiIiIiMhCTKSIiIiIiIgsxESKiIiIiIjIQkykiIiIiIiILMREioiIiIiIyEJMpIgkolazVyIiIiKp8XxMVcVEikgCCXdl6Dx/Nw5fvS91KERE5GLYfbj5zqfn4aE5O7D6QIrUoZATkjSRWrZsGdq3b4/g4GAEBwejR48e2Lp1q3a6IAiIjY1FeHg4/Pz80LdvXyQlJYnmUVJSggkTJqBu3boICAjAU089hZs3b9p7UYgssv6yJ/KKlXh17TGpQyEiIhfy5Z7L6DJ3J67dL5A6FKfw/m/JyClSYPbvyVKHQk5I0kSqYcOGWLBgAY4dO4Zjx47h0Ucfxb///W9tsrRw4UIsWrQIn3/+ORISEhAaGoqoqCjk5eVp5zFx4kRs3rwZGzZs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sxOpLVu2YMuWLQCA7du3a4e3bNmCzZs3Y86cOdqdgIicD3MJ98NtTkTORhAEFCoKTP4rKDU9bGycXhllUdm/0rLy5l50CwwMRGBgIH799VeUlJQYLJOQkAAAWL16NdLS0rTDhYX5eOTRKOzcuRMnT55EdHQ0Bg0ahOvXr4s+/8knn6Bz5844efIkxo4dizfeeAPnz58HUJYEDRw4EC1btsTx48fx+uR3sOjDGQbjePvtt/F///d/SEhIQP369fHUU09BoVAgICAA//nPf7B69WpR+dWrV+O5555DUFCQ0eVfu3Yt6tati6NHj2LChAl444038Pzzz6Nnz544ceIEoqOj8fLLL6OwsBAAkJaWhj59+qBjx444duwYtm3bhjt37mDIkCHaeRYUFGDy5MlISEjArl274OHhgWeeeQZqtVpU93vvvYepU6fi1KlTaN68OUaPHg2lUmk01uoy6z1SAPD0008DKLvyMGzYMNE0uVyOxo0b45NPPrFqcERE5Hh4AZqIpFKkLESPbxvat9LtZf/lT89HgHdApcW9vLywZs0avPrqq1i+fDk6deqEPn364D//+Q/at28PAKhXrx4AoGbNmggNDQUApN3MRsvW7dCydTu0a1gTAPDhhx9i8+bN2LJlC8aPH6+tIyYmBmPHjgUAvPPOO1i8eDH27NmDBx98EN999x1UKhVWrVoFf39/qGo0wJ2025j77hS9WGfNmoWoqCgAZQlQw4YNsXnzZgwZMgSjR49Gz549cfv2bYSHh+PevXv4448/sGPHDpPL36FDB7z//vsAgOnTp2PBggWoW7cuXn31VQDAzJkzsWzZMpw5cwbdu3fHsmXL0KlTJ8ybN087j1WrViEiIgIXL15EixYt8Oyzz4rqWLlyJerXr4/k5GS0bdtWO37q1Knau36xsbFo164dLl++jNatW5uMuarMviOlVquhVqvRqFEjZGRkaIfVajVKSkpw4cIFDBw40CZBEhERVRdvwBFJz12aUj/77LO4ffs2tmzZgujoaOzZswedOnXCmjVrTH6usLAAi+fOROvWrVGzZk0EBgbi/PnzenekNAkZUHaTIzQ0FBkZGQCAc+fOoUOHDvD399eW6fBwF4P19ejRQ/t37dq10bJlS5w7dw4A0LVrV7Rp0wbffvstAGDdunVo1KgRevfubXIZdGPz9PREnTp10K5dO+24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ypy+RgoAZsyYgQkTJiAjIwOZmZlYunQpiouLMWXKFKmTRkRERERELsglAqnx48fj8uXLeOGFF1BSUoLU1FT8/PPPSEhoe7QNIiIiIiIisVwikAKAqVOnYurUqVIng4iIiIiI2gGn7yNFRERERERkbwykiIiIiIiIRGIgRUREREREJBIDKSIiIiIiIpEYSBEREREREYnEQIqIiIiIiEgkBlJEREREREQiMZAiIiIiIiISiYEUERERERGRSAykiIiIiIiIRGIgRUREREREJBIDKSIiIiIiIpEYSBEREREREYnkJnUCHIEgCACAsrIyiVMC1NbWoqKiAmVlZVAqlVInx6mp1SqoVA2vy8rKoFCopU1QI6fO46YvFADKygC19N+pI+azU+exuRzwt2FL7TKP2xlHymNHvM45uzbzt51d01yRJedwU0zQFCMYIxPaWqMdOH36NOLi4qROBhEREREROYhTp04hNjbW6OcMpADU19fj7Nmz8PPzg0wmkzQtZWVliIuLw6lTp+Dv7y9pWsg2mMeuj3ns+pjHro957NqYv67PkjwWBAHl5eWIjo6GXG68JxSb9gGQy+WtRptS8Pf354nt4pjHro957PqYx66PeezamL+uz9w8DggIaHMdDjZBREREREQkEgMpIiIiIiIikRhIORgPDw/MnTsXHh4eUieFbIR57PqYx66Peez6mMeujfnr+uyRxxxsgoiIiIiISCTWSBEREREREYnEQIqIiIiIiEgkBlJEREREREQiMZAiIiIiIiISiYGUg1myZAkSExPh6emJ9PR0bNy4UeokkZXMmzcPMplM5y8yMlLqZJEFioqKcMsttyA6OhoymQzfffedzueCIGDevHmIjo6Gl5cXhg4din379kmTWBKtrfydNGmS3jndv39/aRJLZlmwYAH69OkDPz8/hIeH47bbbsOhQ4d01uF57LxMyV+ex87tnXfeQY8ePTST7mZmZmL16tWaz219/jKQciBfffUVpk+fjjlz5mD37t0YNGgQcnNzUVxcLHXSyEq6d++OkpISzd/evXulThJZQKVSoWfPnnjrrbcMfv7qq69i0aJFeOutt7Bjxw5ERkZi5MiRKC8vt3NKyRxt5S8AjB49Wuec/vnnn+2YQrJUYWEhHn30UWzduhX5+fmoq6tDTk4OVCqVZh2ex87LlPwFeB47s9jYWCxcuBA7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", - "text/plain": [ - "<Figure size 1000x600 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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q1fHCy+8AAAIDg7GkCFDMHr0aFSrVg1Vq1bFmDFj0KJFC/0sfkRERERERI7m0kDqxo0beP3115Gamorg4GC0bNkSmzdvRkREBPLz83Hs2DEsX74cd+/eRVhYGJ588kn89ttvBg/Hmj17Nry8vNCvXz/9A3mXLl0q+hlSREREREREUrk0kFq0aJHZ9/z8/O7NGGSZr68v5s6di7lz5zqyaERERERERGbJ7h4pIiIiIiIiuWMgRUREREREJBEDKSIiIiIiIokYSBEREREREUnEQIqIiIiIiEgiBlJEREREREQSMZAiIiIiIiKSiIEUycb1u/lIuZXr6mIQEREREVnFQIpko+P0Hej2zS5kFahcXRQiIiIiIosYSJHspGUWuLoIREREREQWMZAiIiIiIiKSiIEUERERERGRRAykiIiIiIiIJGIgRUREREREJBEDKSIiIiIiIokYSBEREREREUnEQIqIiEiCqxl5+G77OdzJLXJ1UYiIyIW8XF0AIiIid/LygoNIzSxA4qUMLBv8uKuLQ0RELsIeKSIiIglS7z00/OCF2y4uCRERuRIDKSIiIiIiIokYSBEREREREUnEQIqIiIiIiEgiBlJEREREREQSMZAiIiIiIiKSiIEUkQxk5Bbh9UX/YuOR664uChERERGJwECKSAZmbj2Dvedu4f1fD7u6KEREREQkAgMpIhnIyFW5ughEREREJAEDKaqQEi9loPus3dh77qari0JEREREboiBFFVI/X+Kw/n0HLy+6JCri0JEREREboiBFFVIhWqtq4tARERERG6MgRQREREREZFEDKSIiIiIiIgkYiBFREREREQkEQMpkh1BcHUJiIiIiIgsYyBFREREREQkEQMpIiIiIiIiiRhIERERERERScRAioiIiIiISCIGUkQywAcEExEREbkXBlJEMrDt1A1XF4GIiIiIJGAgRUREREREJBEDKapwtFo+qIqIiIiI7MNAiiocDZ/4S0RERER2YiBFREREREQkEQMpIiJyWxm5RViyPxl3cotcXRQiIqpgGEgREZHbeu+XREzadBLvrEhwdVGIiKiCYSBFRERuK+7iHQBAfEpG2a9cUfarJCIi+WAgRUREREREJBEDKSIiIiIiIokYSBEREREREUnEQIqIiIiIiEgilwZS8+fPR8uWLREUFISgoCB06NAB//zzj/59QRAQHR2NmjVrws/PD926dcOJEycM8igsLMSIESNQvXp1BAQE4Nlnn8XVq1fLelOIiIiIiKgCcWkgVbt2bUyfPh0JCQlISEjAU089heeee04fLH399deYNWsWvv/+e8THxyM0NBQRERHIzs7W5zFy5EisX78eq1evxr59+5CTk4PevXtDo9G4arOIiIiIiKicc2kg1adPH0RFRaFhw4Zo2LAhpkyZgkqVKiEuLg6CIGDOnDn49NNP0bdvXzRv3hzLli1DXl4eVq1aBQDIzMzEokWLMHPmTHTv3h2PPPIIVq5ciWPHjmHbtm2u3DQiIiIiIirHvFxdAB2NRoO1a9ciNzcXHTp0QHJyMtLS0tCjRw99Gh8fH3Tt2hUHDhzAO++8g8TERKhUKoM0NWvWRPPmzXHgwAFERkaaXFdhYSEKCwv1r7OysgAAKpUKKpXKSVsojm79ri6HLTSa+2VWqVTQam3bBrXaud+DSqM1fC2zfe3UbZdb/VKpoNT/qQJkUC5H1eOKyNX1yxXrFb1OGdZ1U+Rc/11dv6h8c3r9cpM2gIqJrQcuD6SOHTuGDh06oKCgAJUqVcL69evRtGlTHDhwAAAQEhJikD4kJASXLl0CAKSlpcHb2xtVqlQxSpOWlmZ2ndOmTcOkSZOMlsfGxsLf39/eTXKIrVu3uroINihAcHDxX1u2bAHgK/HzxdVxz969OO/Er6E4jrpf9WNiYpy3MtHKtjxyqV+eBQXofe/vLVu2QOMrtc44g731mMq2frnit1y8Tq1GI3qd8qzrpsi//sul/aLyyVn1y33aAAKAvLw8UelcHkg1atQISUlJuHv3Lv744w+8+eab2L17t/59hcLw0fGCIBgtK81amvHjx2PUqFH611lZWahTpw569OiBoKAgG7fEMVQqFbZu3YqIiAgolUrrH5ARjSYXcXHFf0dGRsLTM0D0ZwVBwAcHixuvLk88gYYhgc4oIoDiHqlR/94f+hkVFeW0dYn1wcFY/d/OLI/s6ldurv7PyMhIIEB8nXEWe+pxReeK+lVWvx1T6/Tw9ERUlOmRD0ZkWNdNkXP9l137ReWK0+uXm7QBVEw3Ws0alwdS3t7eePjhhwEAjz32GOLj4/Htt99i3LhxAIp7ncLCwvTp09PT9b1UoaGhKCoqQkZGhkGvVHp6Ojp27Gh2nT4+PvDx8TFarlQqZdM4y6ksYnl43C+vUqmEp6f48guCYPBZp267h+HQPrnt57Ioj2zql9KwzkAGZbKnHlMxV9UvWa9ThnXdFHeo/7Jpv6hcclr9cpM2gIqJrQOye46UIAgoLCxEvXr1EBoaatDFWlRUhN27d+uDpEcffRRKpdIgTWpqKo4fP24xkCJ5KxFTERERERHJkkt7pD755BP06tULderUQXZ2NlavXo1du3Zh8+bNUCgUGDlyJKZOnYoGDRqgQYMGmDp1Kvz9/dG/f38AQHBwMIYMGYLRo0ejWrVqqFq1KsaMGYMWLVqge/furtw0IiIiIiIqx1waSN24cQOvv/46UlNTERwcjJYtW2Lz5s2IiIgAAIwdOxb5+fkYOnQoMjIy0K5dO8TGxiIw8P79M7Nnz4aXlxf69euH/Px8PP3001i6dCk8PT1dtVlERERERFTOuTSQWrRokcX3FQoFoqOjER0dbTaNr68v5s6di7lz5zq4dERERERERKbJ7h4pIiIiIiIiuWMgRUREREREJBEDKSIiIiIiIokYSBEREREREUnEQIqIiIiIiEgiBlJEREREREQSMZAiIiIiIiKSiIEUERERERGRRAykiIiIiIiIJGIgRUREREREJBEDKSIiIiIiIokYSBEREREREUnEQIqIiIiIiEgiBlJEREQ2ULi6AERE5FIMpIiIiIiIiCRiIEVERERERCQRAykiIiIiIiKJGEgRERERERFJxECKiIiIiIhIIgZSREREREREEjGQIiIiIiIikoiBFMmOAMHVRSAiIiIisoiBFBERERERkUQMpIiIiIiIiCRiIEVERERERCQRAykiIiIiIiKJGEgRERERkWS3cgpRpNa6uhhELsNAioiIyr0bWQXILlC5uhhE5cbl23l47Mtt6D5rt0PyEwQBF2/mQKvlzL3kPhhIERFRuXY7pxDtpm5Hi+hYVxel3Lp8Ow8ZuUWuLgaVodiTaQCAy3fyHJLfvF0X8NTM3fjir5MOye/cjWzkFakdkheROQykiIioXDt2LdPVRSjXUjPz0WXGTjwyeauri0JubMaWMwCApQdS7M7rwPlbiJi9B5Fz9tidF5ElDKSIiIjIZkeu3HV1EYgMbDp6HQBw5U6+i0tC5R0DKSI3l1+kQeyJNOQXaVxdFCIihxAEATvPpONGVoFLy5GRW4RtJ29AreGECmVp15l0p+V95U4eDpy/5bT8qWJhIEXk5j76/Qj+tyIRY34/4uqiEBHZ5ejVu4i7eBsxx9IwaEk8Ok7f4dLy9J1/AG8tT8BPe5NdWg45SryU4bS895w1DnSOXr2Lgxdu2533E1/vRP+f/8V/l51Xfqo4GEiR27udU4jf4i8jt9D2m0o1WgF/JF5Fyq1cB5asbPx1NBUA8Pe9/4mInG3nmXQkpNxxeL7Pfr8fry6Mw/rD1wAUt82ulHzvmPDPcce0r+duZOPPpGsQBPeemS63UI1/jqeV6Tqf/X4/XvspDrdyCh2SX9Lluw7Jhyo2BlLk9t5YfAjj/jiGzzYctzmPtQlXMHrtEXT7ZpfjCkZEbkWl0WJF3CVcvJnj6qLIWlpmAQYticdLCw46bR2OOll2FEfFPRGz9+CD1Ul4a1kCzt3Idkympew5exNbT95wSt5A8XDHuTvOOzRPKYHlzWzX1I3TaVlY9e9lTs9OBrxcXQAie524ngWg+Irh7Fda25THIStXVvecvYn07EK89Ghtm/InorJ37W4+NiZdR60qfqLSL96XjGn/nAYATHmhOf6vXbgzi+d2dpy+gQvpuRwS5QDbT6dj++l0pEx/xqH57j57E28uPgQAODwhAlUCvB2aPwAMW/UfDjhgiF1Jvydetfh+odr19wD3nLMXALD8YArmD3gU9aoHuLhEJAcMpIhEeOPegall7WA0DAl0cWmISIwXftiP9OxC+Ht7ikofn3I/QPh0/XHUqxaAjg9Xd1bx3M7gpQkOy+vKnTysTbiCNzrWRfVKPg7Lt7QLN3Pw9MzdWDb4cXRt+IDoz51Jy0bMsfvD+QS4Ry+ELogCgKwClcMDqQKVxmQQdTotC41Dg2zO96Pfj5pcnnTlLvacvQmtHV2C3247h+5Na6BBjUAs2H3B5nx0Tqdl48lvdjk8CCb3xKF9VG4UqO7PqnQntwhTY045fOjEvxdvY8rfJ5HuxJmkvtlyRjYzCp27kY2pMadwhw/apFI2HL6GJfvlfQN++r0hQHk2zmh5yUEPGq1I/rDSs6DT78eD+G7Hebz/62H9MnMz46k1WsyMPYODF6X1gvwWfxlPz9wNwDDAECNyzh58u/2c2fcTUu7gq82nZdFTcjotC1NjTuFunmE7/dmG4zif7thhqj/uvmhyeVqmc46Jz/+wH7O2nsWcbea/C2tmbzuLZ77bh2UHUjBr61nJn1996DJ+PXTZ5vVT+cZAisqlcX8cxcI9FxEx27EP45vw5wn8tDcZw0sc/K3JKlBh4p/HkXhJ3I3Z3+88j/4//2trEa1KvKXAt9vPixqTHjF7DxbuuYjx60xfLaxIFuy+YHAw1WoFTP/nNDaLvOH6dFoWPttwzCFB+Mq4S/h5r+kTmtJuZBXgsw3HEHfxNiZsOI7jDng47T/HUjHytyRM2nQSl2673wQtJJ2loDn51v2Ac/RacbOHpt478Y4rERyVPFlOKvFsqt8Tr2LujvN4Y0mi2OIir0iNcX8cE53emtLN5UsLDmL+rgtYtM+xFxO2nbyBqTGnJE2y0XPOXizccxET/jxhsHzvuVt45ru9Di3fyVTT7ce2UzfurfMmvth0EkVq+U0Xf8aGC6u5hWp8vO4Yxq8zrkvxKXcQvfGEyYmuLt/Ow2cbjrF9rAAYSJFLZeap8NHaI5KvNFpz9Opdh+ZXmpTZfr7efBrLDl7Ci/Odd2O2FMvPeeL7XRdxKFn8jFtbTtxwyHOqNh25js//PA6NVsCfSdcw5e+TdudZFq7cycP0f04bHEy3nEjDgt0X8O5K6yd3Gw5fQ885e7Ey7jI+XJNkMa1WKyB64wmsP2z6yr5Ko8VnG47jy79PYcDP/+KKlV6TEb8exsq4y3h1YRxWxF1C77n7LKa/m1eEj9YeQdzF29BoBUzYcBybjlw3SPPeL//p/87MV1nMT2f7qRsYv+4oClTi6tHJ61kYtSYJVzNc1yvk5hOrOUxmngqTNpn+rY5ZewRfbT5tsGxtwhWb1vP9TtMTGFy2oWdQpTb+8g6cv4W6H/8tutdMjGNXLV+Y+C3+MqbGnDJ74eqLTSeRV6TGx38cRb8fD+Kt5QlYuOciNtybtVCK0r9TACi0ENDczinEmLVHrM6+WKDSoO7Hf6Pux39jywnTk1isjCu+yPT6okNYvD8Zyw+mWC1v4qU76PzVDgxZGm/0nrn2zx62zOxrKSB8ecFBLD2QgjnbDHu5bmQVoMuMnVgZdxmvLYyTvE5yLwykyKWmbz6FtYlX0f8n23pg5PCQREEQMGnTCbM9BBfS5XlFytrNvaVZG1v+7bZzmBl7xmKaEb8exvKDl7DpyHV8sDpJf/CVuxwTB+B0CTNHjfwtSf/36VTLV0W3nrqBpQdS8OFvpq/sl7xXYN/5W+hhpdf15L3JWMSaFnMaaxOv4tWFcdh45BpWxF3CCAs9sGKDjSHLEvDroStYsj9FVPqo7/Zi3X/X8N7K/6wnJqeyNHzNVDti7n4Xnen/nDZaVhbTnOt6+sX2molhbQrwcX8cw8I9FxGfkmFyPy7en4ymn2/B6vgrBhe30pz8IGJBEPDol9vwe+JVq7MvRm88YfF9U76xciwAgBfnH8TVjHxsP2388N2MPHEXaMwx1S45a7r2kj2yADCqxMWy6/d6Xk+nZWHkavEjWch9cLIJcpl/jqXi10O2XbnU2XTU8Arc7ZxCPPrlNqN083ddQPKtHHz1YktkF9j+vClTjl/L0p8cvvVEfYfm7UwZedLue7I0Bj6vSI3Z967KDexYF9Ws3Dx+m/dcmXU7R9q+yRfZwyNWcomhKGKmGZZ6+ntD4gniWSdNEW2KQuHc9FTcu2vqoozcn6tkb/Gy8lV41Qm9E7Y+FPdkqvgLLGLvsyr5HZa8Z7miOXfDeH+9PP8g1Nl8rEJ5xB4pcpmSw4NsdeSK4bAKU0EUAHy1+TTWJFxF4qUMzN1heNPqqN+SsO4/acMoikr0hJnqrdBqBQxb9R++teMGWbm7dDsXry48iN1nb0Jd4mqySiPvEyJXszeIzLTzSq01pyScYJV37jJTmzNN/+e0Q3twxA7tNGdfmgJDlieaHWoccywV/X+Kw80cx/bonEzNwpES921JJQA4LGFI+H6REw69OP+ATeWRMgGL2AsGcRetDxe/k1uEAT//iz+TpA9d1On/U5zV/bM63vpF2r3nbtpchpKSrhgGs6ZajWwbhhWSe2AgRU639eQNPPfDfly495DLsb8fwVvLjMdE66yXENQsPZAiqSz5Ko3RFf91NoxFtybu4m38fTRV30tTHn2wOglxF+9Ing2LgJ1njIeyiKVy8hAoqSe69pxcilGo1uLF+QeQIcNezAKVFq/8eFD0xB/uaMHuC9h7znmziAoovg9lwCLzw7tL9rquTfbEnnO3sTLuksm0Q38pfsZR91m2TTR08WYO6n78t8n3nvthPyZtOoGpMadsylsKMc9pSs3Mtzl/Z3QAlm47nvlur9GFn5mxZ7Dv/C18sDrJ5vVk5Knwf2YmZMrMV5n9/krbecZ8IJWamY8X5u0XFfDdKnVO4aoHBrurApUGry2Mc8jU9K7AQIqc7u3lCThy5S4+/C0JmXkqrEm4im2nzJ9I/rjH+kmJIAgY+ou4GZw2H0+1nsjBCkqMhXf0RBq2Gr7qP3xg5r4bW9hzsKjoI6JM3VztriZauH9i6f5k9Pp2L27l3K8rSw+kWJ0go7TESxkWp6J2pX+T7+DLv51/Yu3uVsRdQq9v95q8t3DjkesWezN+M9G7YGokgCM8dW+6dHOW7E/BQhHHqNKcMXTxCzMTgIiRckv8vbsKkS32oFLt2onrWZi3y3ACkbsiJ6cBgOwC6b3v3+9wTDvxxaaTOHz5LqLt2MckztrEqzh48bbJeyfdAQMpKjOZ+SrRD9XrM3cfPv/zuNn3b2YXIuaYuBtH3y11s7qjDmeWrkKLPfAAwOS/nN9QZ+QW4a+jqYg5fn/GpYMOfDK9zG9vsJu17TPXiyMIAgabCJrs6VSSckJ28MJtp51wihG96SROpWbhsVJDbs3NAGdJXpHztmP32ZvoNH0H/i110aO81+uyNGHDcZxKzcKMLYaTEAiC9fv87B0OKAf/WyF+6naxsmwINHTUUhohO6585drxu10qcmKaknIKHVNXnDUxBRkrcMCMwK7EQIrKjCCIH2t97Fomlh80PXQDKLsTUUscdRXa0c8hMcXUFudaabxsnUXrmAOeUyQnK+IuIcrKs1hijpnu9bydW4QdJmakKskRs5WZykOjFfDaT9JvbrflHjepv6l8leWTK2fO4GYq7zcXH8K1u/nIKjURjdgLPwDwyXrHPbOoPDM1BfWEDeYvmgH2tffllSAI2H/e9othpeurud+cIAiSHpXhSJambjdH7PMaHe2Xf82fr1D5xkCKyowAwaZpVB1aBgH466i0oX62DA10xExjzrwCr6M1c/CcvfUsWkZvMfs5o2drlMjmfREPK3an2c6sneQBwKg1xs/SAaz3aOj2s+7+QXOsPdyyRfQWnE67P0lEfpEG7aZuN5te7EN5xcYRrzhwNjJrdc9erSfFir7H5fM/T+CHUs82umPmXq1V/7rHVP6udk7kDHCuYK49lCN7hlabGjL36JdbcTvHOM+rGbbfhwXY16tr7rlilpw1MWOeVEetPBvMlE/Xmz9OyPHhxOQ4DKSoTG1IMn5goNyVHhpojSAImOaAsb47TztmRiFLen1ruqfl2+3nzPZY7TyTjoaf/YNrd+8fYF9acH/mKClX8eXO0tCZ63cNTzDm7zK+UdZawKjbzzM2m3/myo+7L6DhZ/9g91nz9SGvSGNwv8T6w9cM7ksq7dN7wWGBSmPwLLbSU9yLnRRD6hVrS1fSzdU9KcNlLckuVEu6x6X0ULRfD5kPmNKd/OwfMmTPsNXf4o2/x2t37QsaShPzUFpLLA1pTJZwj1Npm44YXxy8m6fCL7wYAAD42EJQZIvGE/5xaH7lmbkLVXLGQIrKjC3n17dzCk0OGzp69a79BZK4TrFsGY5gipipl+0dpnjmRrbJq5CWjCrxcFkdqVeZ3aVDaouFcfLLRJwkOWI7dUH52N8tTxRSsir8ddT6BYu8IjWafL4ZT87cpV+2qlSQYGoCAEcORS1d9+aInOVSpdE6fRp4cyydwP7+n7SHXMtd6YsFcrJ4XzKaT9yCtQm2PYtw3B/OH4r5+Z/2jcBoOSnWbG+GI3uBnaksL6tlSpjIwhJ7DqumgnE36uh0ub/NDJOXMwZS5FQlT/RtaZwe/XIbhpp43tQ8E1f/HeXRL7dhgoWJLiy5dje/TG5Qz8xTIatAhcl/iRuiZCnwfPTLbaKfWQJYPzCKCSQVbjK273MLQ1Ed1UNSWlGJGR+lPGulZOBtdepkQcCxq5kQBODKHWkny46aHGXVv5fx6JfbMDP2fo/PHJHPXYuYtRutvogt0x4grVbAtbv5+D1RXLCk+40CxZO9uHLSD1s9PcvyDHaW3MgqcOqQJt1zeT76/ah+maumyLf0sHJ7FKm1+DfZ8bO+Xs0QP2umO/UQxDlohtzzN23v7Vtfzi6mlAV7Jk2RAwZS5FSzt96/wmxrT40rZs9ZGWfbEIdO03fgkcmxDimDuYCsQKVBqy9i0TI6Fov3i+sdGLjE8nTbpoalkf3EBowlg6CS0+1KedaKIwL4sgxvP9tQ3CMwd4e4+yBK7sqU28Ungu+utH8mNLGB0fBf/0On6TtEpS35G83MV+GRyVvR1szDwsurdlO349nv95XZ+nIL1Xhk8tYyW19J7adtlxScSPH6okNGPcz2BqhSjqnP/bDfrnXx/iCyZl+JC7ln0+y/v7ysuTSQmjZtGtq2bYvAwEDUqFEDzz//PM6cMRyPPnDgQCgUCoN/7du3N0hTWFiIESNGoHr16ggICMCzzz6Lq1d5VUAOvitxkmTpng2pbO3QcEZnUekheAUq5x44nHH1U8wwQn1aDlMQzZGBibXhIVK+FnNp7ekolDrM1BG9kv9dvmt3HmKHE4p93AJgOBHAiXI2i6UUp8vwpMiee4Z07KmSznxocekHlQ5c4j4PQS99oeLwpQwXlcS01Mx8yc+1s8RdRlvIyaXb9/e/uRlw5cylgdTu3bsxbNgwxMXFYevWrVCr1ejRowdycw0bxJ49eyI1NVX/LyYmxuD9kSNHYv369Vi9ejX27duHnJwc9O7dGxqNe89NT+bZ2lRtOeE+z4Yoy3ilrIOjinKsEbudYoYJWp2lyyE9UmX3xVSQKkAVRFm2oVaH7srYdScNg7RVh2k78MTXO/X3XGa6z0hGkgkvV6588+bNBq+XLFmCGjVqIDExEV26dNEv9/HxQWhoqMk8MjMzsWjRIqxYsQLdu3cHAKxcuRJ16tTBtm3bEBkZ6bwNIJex9arPRjecNVBuHPUcLrpPSo+gQ9ZnZnX29UhJS19RgmlGjO7Dnt4EZ/6G1TY8260ismdY2Ng/juD7V1vhei5/sGXN3fe4SwOp0jIzi4dAVK1a1WD5rl27UKNGDVSuXBldu3bFlClTUKNGDQBAYmIiVCoVevTooU9fs2ZNNG/eHAcOHDAZSBUWFqKw8P7V3ays4uevqFQqqFSuvelNt35Xl8MWGs39MqtUKmi1jtsGo/1RBifzYr4DlUoFjVp8z6eU71WtVptMr1abv2nd1nqj1WqtflYrFKcRs+et5WWqt1ilUgEyqPcl67Ep97fNeE+U3m6x35VWK4iub+by1H0/YgiCALXmfj66z1nqxbeWt0qlguZenqK2pcTJoZj0YuqolPp/+vpdPPRAgKi0YvPVaorLqFLfT2+qfZBLXTfFWv2XqiyOZZZ+F9Y+V5LajrImXc5AvzY1bf68JafTsu3aj6U/a+5imEajccr35aw6UDrfhBTbH8a75cQNu8upUqkgaMUN7ZdzG1DWSl6EECDuWFgWxJZDNoGUIAgYNWoUOnfujObNm+uX9+rVCy+//DLCw8ORnJyMCRMm4KmnnkJiYiJ8fHyQlpYGb29vVKlSxSC/kJAQpKWZHsY1bdo0TJo0yWh5bGws/P39HbthNtq61TU3zdqnAMHBxX9t2bIFgC8cVcVKD+e8k+EJW65jqNUq0Z+7v07z2xATE4NzmQoAnhLzLMl0/ocPJ8HzqvHDbW/mm/+M6fzNp9e5dft2qc8ap79y5QpiYi5BrbK+762V48SJEyi9z7Zs2QKNr6/FfMvG/Xpsim7bNBrj/VB6u/PUgOXvqvi9GzfSRNe3O4Wm09y+kyEqDwC4m5mJuLg4fTrd585dNV+XreUd888/8Li3O+63X+J+/2LKveXYVXTyvmS5DEb1znx+v/6zB22qC8jPE1ufrW/L6TOnEZNzCrcL7q/733//hXzruimW679UYuukveuQ0g6X/FxJGWZ+W2LsOXkVMfr6qeO4bbbWPov/LJCba7rOnzt3FjH5pZ9pZ/822FN2Szb9FQPPEjeopN/0gD13rBS3W7b3j8TExODMNXH1UN5tQNkqKrxfH4sKiyycP5StvDxx987JJpAaPnw4jh49in37DGf5eeWVV/R/N2/eHI899hjCw8Px999/o2/fvmbzEwTBbDf9+PHjMWrUKP3rrKws1KlTBz169EBQUJCdW2IflUqFrVu3IiIiAkql0qVlkUqjyUXcvUdbREZGwtMzAB8cdMwMdlFRUQavV1w/hOTsu5Lz8fTyAkTeO6dbp6VtiIqKQtzFO/j+ZIKkPEsyl/9d/1qIimpptPzS7Tx8mWR6NixT+Vtah061atUQFdXWYvo6deogKqoZPv1vB6CxfPXXWjmaN2uG35MNH1ocGRkJBIjrIXCmkvXYFN22fZywDSh19bFpu66oW+3+NmQXqDA+fqfZfHT7o0aNEERFPQLAen27mpGPSf8ZP0i5SpUqiIp63GoeABAcHIT27Rth7okEg21K2XURMVdMz6Jn7ffwdEQkvBRag/ZL7O9fzG8ts0hhNV3pemcpv0ceeQRRLULxxdFdQKHlGyNKfleWNG7UGFFd6uFqRj6+OFz8HbVr186ofZBLXTfFWv2Xqk6rTmhRK9hhxwJToqKisOXEDeCk5WetmfpcSamZBYj+b49NZWhc5wFERbUxWObIbS5ZVqn5lt7O2Wf34WaB8UligwYNEfXkQwbLHLEN9pTdku49IuHnfT9oWXfrP5y6a/ukHxERETi1xvbZNaOionBlTzI2Xbb+GAc5twFlbdLRncC9XnxvH29ERT3p4hIV041Ws0YWgdSIESOwceNG7NmzB7Vr17aYNiwsDOHh4Th3rriihoaGoqioCBkZGQa9Uunp6ejYsaPJPHx8fODj42O0XKlUyiZ4kVNZxPLwuF9epVIJT0/Hlb/0vvBQ2HbVScrN9GL2v1KphKeX+KugUr7TY9eyTKb38jL/s7W9ziisftZD4SE6f2vp0rKNu8yVSiUggzpfsh6bcn/bjOtSWrYKDULvf97LQsxech9tO31TdH3z8jI/3ED896+Al+f9eqT7nJeFumwt7wV7U/Dh0w/p00qpi46qV1LW6enpCaVSidwi60PCxObr4elh9B2Z+r3Kpa6bYq3+S5VypwBt6lZ3aJ6lFe9zab1Rus8Zvrb9WV/dm4Q49ZhtT96lP2vuIrPuN+Foztovxe3M/e9d4WHf3Tb2llNKPZRzG1DWPErUR4WIc5GyIrrdd3I5LBIEAcOHD8e6deuwY8cO1KtXz+pnbt++jStXriAsLAwA8Oijj0KpVBoMhUtNTcXx48fNBlJUDrj73YkyI+a+pzxVcVTgiMkmSk/n647E3JfujGpqbr3Hr4m7euYs7jyTGJHdKszsKeXbZTtn0WctsEWJQMoNd6BLA6lhw4Zh5cqVWLVqFQIDA5GWloa0tDTk5+cDAHJycjBmzBgcPHgQKSkp2LVrF/r06YPq1avjhRdeAAAEBwdjyJAhGD16NLZv347Dhw9jwIABaNGihX4WPyp/3PC3Jpnc5mnadIQzHkpVls8UKdKIf37ZietZLnnQtRw5+7lv7nhiUFGV5fT/Fcm5G+7zkNXbBfbVgePXXXtBi8qeS4f2zZ8/HwDQrVs3g+VLlizBwIED4enpiWPHjmH58uW4e/cuwsLC8OSTT+K3335DYGCgPv3s2bPh5eWFfv36IT8/H08//TSWLl0KT0/pXf1UvuUUih+6kVekhr+3LEa/GnBKgCUh09wiPp9NLOf0SDkm16UHUkzkbXt+cgv8XYnBk3uy53u7kJ7juIKUM7dyitAgxPnrkcPPLj1LXs/JIudz6VmitSFCfn5+92Z/s8zX1xdz587F3LlzHVU0krmyOFFRufjZHWX5uKayfo4RyROvyDtGyd8u92jZsKW9vHgzB/UfqOSQ9S89kILoZ5s5JC9yX7yIUvG4dGgfka1kdcLnpBiEwQ2Z4swHIttzEsArsaaV5fBOkqb0CAV+U0Rlz92bSAZS5JYKJTwEl6y7fEfc8xKIzClUO/deIyIiS7QyuPYoq4u8bqgsR+I4CgMpckv/Xb7r6iI4XVk2KDeyCstuZSQ7mXnF03Vr7DgTcWZPGVGZqCDnwOX1t7r77E1XF8Hte1dcwd2rIwMpIply98alvMtXlZ9eUc29yrb91A0Xl6R84MlU2eM+F6+8HFqc8Z3bmyfroXQl95k71k0GUkRENiiPga6zpwK3R8eHqrm6CDbJyjf/AGWSFw7LIip77v6rYyBFREQA5D39ecOQQOuJZEhbHiNuIjKJwbh07t5CMpAikilz49jL6/h2EifQV+nqIpjEamkaZ+1zH/yqyN52jHWo4mEgRWQnZ50/8ryUTPFw4oHarh4pRlIm8byK5IZ10jwZj24utxRm/nYXDKTILbWqHezqIugVlPGkAzxddS0pAYMzvit+/0REznEuy75TefZAVzwMpMgtVfb3dnURnI4X+Kms6IJDe+ocq6tpPK8qG2wvSQ74c7ePO86Gy0CKyAyeABGRLUqe1LMdKRuOiKP4VRHrgGvlFTGQIqpwnHUlVOA1fnInrK6cscvNVZRhWfypOk8FqUIO5e77jIEUkUxxqAqVNXc/oBFJwcCXHI01quJhIEUkU2UZR1ULKP/3nBG5Ak/Wy4Yj9rJcv6mqbJ+pHKsW4OPqItiFgRQRIayyr6uLQG6OHahEzlEj0L1PNCuSijI81JF6Ng/V//1Eg+ouLIltGEgRyRSH9pE74XOkzOB5ldvgObBzVKT9WoE21WE8nflwxDLAQIpItnhiSsbkeshhbTVNrt8XETleRQoancEdr8cxkCKyExtOcndueOwiIpIhnhDYQ+uGkRQDKSKZMteeuGE7QxWAu9ZLHy/nHgZ5z0TZ4G4Wz11/q+6A9VC6kvvMHesmAykimXLD9qRCcFVDH+yndM2Kyzk/b0+n5u/v5PypmDuegBGR4cym7vj8TAZSRHYqVGudkq+73rzPqdSdw5kn5HEXbwOwb6pudzwAOpqpq9F+SgZSRO6CHUpljz1SRBWcSuOcQMpdhwR5O3moFDne8FWHXV0EIiJJ5HiIdMdAQE7ccffxjIfcUln82GTYRpMMuKqh5wGayLwbWQWuLoLbUDvp4h+R3dzwOMdAishOZX+C64YtDZV77v50enJvzhpiXR5dz2TQSfJR8qI1Z+0jIqIKyUfJwwkREUlTcogmAymiCkiO47SJiMgytt2GuDvI1dwvjGIgReR2VBp3bGqIiKiia1WnsquL4FQMzqUzmP7cDU9vGEgRERERkdM1CQ10dRFIZgynP3e/SIqBFJGdnPW7N9eguGE7Q26CV1OJiKgslXzUS73qAS4siW0YSBERSeCOV8yIyjv+Kiseex4gbiFTKmMld3nvljVdVg5bMZAiIodinEFERO6IcVTZ8/K8v9d9lZ4uLIltGEiR02i1zjujZq8AEbmDij5c0p2aancqq7uS+z6WefHKpcahQa4ugl0YSJHTTNx4wtVFICIJ5H6S4wzO2OaKuB+JzKng1xLICne/2MRAipxmRdwlVxfBLgp3/3WTy7HnlIiIqPxiIEXkZgQOPqiQZP+9y7x4pZVVcRlLlw3uZyJyBQZSROTQ2Y9kf8Lv5thT6liO3J38ZoiIKhYGUkR2clbgwHCETHHmcEF7ggp3ra8MfojckxyvKcmwSORkDKSIiCRw14CBiIiIHIuBFDlF4qU7ri5CucV7AYiIKg62+aax94fkgIEUOcXlO/muLgIRlSNyHMZD8sF7M4nIFRhIERFJwKvDREREBDCQIie5lpHn6iIQlSuOnFmRqLzh74McgbWIpGIgRU7xw64Lri5CmSnrAzh7RIjcB4cklg3uZ/fA74lKc/dzGgZSREQO4u4HBJ7jOAbv1yl75bnuMvigisId204GUkRmiD12Oe05Uu7XnlAF5sznWxEREckRAykiO/H8kYiIiNh7WPEwkCIicgPuOOSBiIioPGMgRUQOxdmziKis8TIDEbkCAykiNyP3ngkObSBn4BBaIiKSGwZSREREROQUCl5do3KMgRSRm+GVeSIi+/H8nojs5SUm0XfffSc540GDBiEwMNBimmnTpmHdunU4ffo0/Pz80LFjR3z11Vdo1KiRPo0gCJg0aRIWLlyIjIwMtGvXDj/88AOaNWumT1NYWIgxY8bg119/RX5+Pp5++mnMmzcPtWvXllxuIql4MK5Y5D600i6szERERKKJCqRGjhyJ2rVrw9PTU1SmV65cQe/eva0GUrt378awYcPQtm1bqNVqfPrpp+jRowdOnjyJgIAAAMDXX3+NWbNmYenSpWjYsCG+/PJLRERE4MyZM/r8R44ciU2bNmH16tWoVq0aRo8ejd69eyMxMVF0mYmIiMg9saeeHIGXkkgqUYEUACQkJKBGjRqi0loLoHQ2b95s8HrJkiWoUaMGEhMT0aVLFwiCgDlz5uDTTz9F3759AQDLli1DSEgIVq1ahXfeeQeZmZlYtGgRVqxYge7duwMAVq5ciTp16mDbtm2IjIwUu4lENnHWAZwPOJUnfi1kDjv0yBnY5hDJl6hAauLEiahUqZLoTD/55BNUrVpVcmEyMzMBQP/Z5ORkpKWloUePHvo0Pj4+6Nq1Kw4cOIB33nkHiYmJUKlUBmlq1qyJ5s2b48CBAyYDqcLCQhQWFupfZ2VlAQBUKhVUKpXkcjuSbv2uLoctNBrnlbn0/tBqnX9kUalUUHlYXo9KpYJGo5GUp9QylKZWqx2Wv44gCKI+KyaNVmReJvOWQb23Vo/VKhVU0Jp+T6M22HaVSvx3ZXWfCbo2yvHfv+6zgmB6u8TkXfJ7d0Q9N8pfq7WaTsp6NWr1vW22nlZsvhqN1ug7MvV7lUtdN8XR7bhGo3H68UxqO6yjVhv+XovsLKeztlNs+2yO6Por4jdmi5L7Was138ZIpVKpIGgdd6u/SqWya+B2cXsiLgc5twFlrWQbqVY7v70QS2w5RAdSUowfP15SeqC4oRg1ahQ6d+6M5s2bAwDS0tIAACEhIQZpQ0JCcOnSJX0ab29vVKlSxSiN7vOlTZs2DZMmTTJaHhsbC39/f8lld4atW7e6ugg2KEBwsHNyjomJMXh965YHnD1XSmxsLHw8AUs/k5iYGCTdVAAQN4S09HYUM52/SqUymf5SjvnPmM7ffHqdzMzMUp+1lL/lvAryC2wqx5YtW6Dx9bWYd9mwXI83b9kCpQdgalviD8Uj++z9A2mB2nQ6wHhf3t9nptMXFBTvV+t5mn/fkpiYGNzN8IS5wS3W8s7LzdO3W/fbL3HlEFPulJQUxMRctJjOuN6Zzy8pKQkeVw+jSGV+mw3ztb4tp0+fQkzWSdzMv7/uffv2GX1WPnXdFMe240eOHoFPahJsqZNixcTE4Mw18e2wzr59+5AScP91jgqwp5xS6p8U2dnZotpnc8SW6+zZM4jJOy0qrRRxcQdx82Tx31euOO7Y/c/mzfA0+OnaV9bidsv220FiYmKQliZu++TdBpStC1mA7rs7dOgQss7Kows2Ly9PVDqH/MozMjKwcuVKLFq0CElJSTblMXz4cBw9evTeQcdQ6akzBUGwOp2mpTTjx4/HqFGj9K+zsrJQp04d9OjRA0FBQTaU3nFUKhW2bt2KiIgIKJVKl5ZFKo0mF3Fxzsk7KirK4PWa9EScybztnJXdExnZA/7eXvjgYKzFchUevo5fzh8XlWfp7QBgNn9vbyWioox7VI9ezcSsY/+Kzt/SOnSCg4MRFdXeavqoqCirefn6+iIqqqvkckRGRgIBAWbfLyvW6nHPyEj4KD1Nbkvbx9viiYer619nF6gxLn6HyXxK70vdd2duH+n2q7U8LeVhSVRUFBZdjsPl3Cyb8vYP8EdERHuD9ktsOcSUu27duoiKamwxXen6bym/1q1bI6plGCYm7USe2vKVRzH1HgAaN26CqM51cel2Hr5MKj6Wde7cGTOOGlYoudR1Uxzdjrdq2QpRj9S0qU6KFRUVhSt7krHp8jlJn+vcuTOaht0/5t/JLcKnCbvsKkdJjtrmwMBAREV1tDlfseVq2LARorrVF5VWig4dOuCx8OKL3fs3nMDB9Gt25wkAvXr2hJfn/aDF3rJGRERgYqLptlWMqKgo/HU3CbiTbjWtnNuAshafkoHvTsQDMD6GupJutJo1dgVS27Ztw6JFi7BhwwZUr15dfx+TVCNGjMDGjRuxZ88eg5n2QkNDART3OoWFhemXp6en63upQkNDUVRUhIyMDINeqfT0dHTseL/hKcnHxwc+Pj5Gy5VKpWyCFzmVRSwPD+eVt/S+8PBw/s0Ixd+B5Z+IUqmUNKGJtO9UYTK9p5f5MtlaZxQK0+uyKX+FbeVQKpWADOq8tXrspVRCqTT9nXt5ehlsu9LCaKPS+8jqPru3X6XkKYVSqbR4gcpa3iXrkNT2S0xaDw8Pq+mkrNPT6953JaIpEZuvp2dxGb1K/Ea9TPxe5VLXTXF0O+7p6en0Y5nUdljHy6vU71Vp35VwZ22n2PbZHNH1V8RvzBYl97OHh+NGkiiVSoNAyhH52ft5secmcm4DyppBe1nqGOpKYsshuQZevnwZkyZNQt26dfHqq69izZo1WLlyJa5cuYJvv/1WUl6CIGD48OFYt24dduzYgXr16hm8X69ePYSGhhoMcysqKsLu3bv1QdKjjz4KpVJpkCY1NRXHjx83G0gRuTNnTELBm+Tljzecuyd+b0RE5ZfoHqk1a9bg559/xv79+xEVFYVvv/0WvXr1QkBAAJo0aWLTyocNG4ZVq1bhzz//RGBgoP6epuDgYPj5+UGhUGDkyJGYOnUqGjRogAYNGmDq1Knw9/dH//799WmHDBmC0aNHo1q1aqhatSrGjBmDFi1a6GfxIypPeF7mPtzuu2JEbRcFJ08mchovBfBAgCd0nT4FBQUGPVK1Au173E1BQQFCK3kiQGXb77igoADB3ubL4aNSoiA8vPhFYSHAx/MU0xTp95lCo0JBQUGZrNbWnuzSRAdS/fv3x9ixY/HHH3+Int7cmvnz5wMAunXrZrB8yZIlGDhwIABg7NixyM/Px9ChQ/UP5I2NjTUow+zZs+Hl5YV+/frpH8i7dOlSPkOKiIioAijXD8ouR2y9VlPVzwMfd6qKKv5e0I3HvXwpxWA4cvST4h7RY86VK1cw9okQaGysSsnJyXi2vhci6pguh4cgILn9guIXqamAA4c5ujNvtVb/3VVS3UFycmaZrbty5coIDQ21Ou+CJaIDqcGDB2PevHnYvXs3Xn/9dbzyyitGM+VJJWaIkkKhQHR0NKKjo82m8fX1xdy5czF37ly7ykNkC2cdvvkcKSIiqugUAF5rHog61SrBv3J1fTRWLyTQ4AS4yE/c5ADm1K1RCZqbObD16Sr1QoPgnZGHnELTj6hQCALq3b6Xed267JG6J69IDcWd4hnyalfxQ4CP8++REgQBeXl5SE8vnhik5DwMUokOpBYuXIhvv/0Wa9asweLFizFy5EhERkZCEASHPheAiIioNI46JEfjUEz3EOjjgRYhvvALqgKF8v5EYb6+vgaBlMLLviFhvr6+8PQqsvm+Rl9fX3h5a6DQmO5p8hAE+N5PzEDqHrVCDYVXcfDp7eMLX9+ymWzCz88PQPHkdDVq1LB5FJukfkU/Pz+8+eab2L17N44dO4amTZsiJCQEnTp1Qv/+/bFu3TqbCkEkFTtriOSFv0lyJQZF5VeAUgFPDw8oPJ33LDKqmHTPjrXnIcA2D9Bs0KABpk2bhitXrmDlypXIy8vDa6+9ZnNBiIiIygPGlESOUwZPO6EKyp57o3TsDu89PDzQp08f9OnTRz/WkIiInIMn6UTkDBw+SySdTYHUtWvXsH//fqSnpxvcH6VQKDBixAiHFY7IHZT1pBAcQkVERO6C8VnF061bN7Ru3Rpz5sxxdVGcTnIgtWTJErz77rvw9vZGtWrVDG/0YyBF5YjYMfdlH9cwkiLn4AkPOVpZtVbsTSG5mfDhUGz8/Ve8NGAgJkybbfDe0OHDMX/BArz55ptYunSpawpIDiH5HqnPP/8cn3/+OTIzM5GSkoLk5GT9v4sXLzqjjEREssEeQSIqS3xGlvsKrVkLWzauQ0F+vn5ZQWEhfl29Gg8++KALS2ZdUVGRq4vgFiQHUnl5eXj11VfhwQeJERERkQywQ4rkqEnzVgitWRvbN2/SL1u3cyfq1KmDRx55RL9MEAR8/fXXqF+/Pvz8/NCqVSv8/vvv+vc1Gg2GDBmCevXqwc/PD40aNcK3335rsK5du3bh8ccfR0BAACpXroxOnTrh0qVLAICBAwfi+eefN0g/cuRIdOvWTf+6W7duGD58OEaNGoXq1asjIiICAHDy5ElERUWhUqVKCAkJweuvv45bt27pP5ebm4s33ngDlSpVQlhYGGbOnGn3fnMnkqOhIUOGYO3atc4oC5F7ctLFQl6DpJLDlVgfiMwrz78PTu1uSBAEFKg0yCtSG/wrUGns+icmD1vuiX6u3//hzzWr9K8Xb9yIwQMHGqT57LPPsGTJEsyfPx8nTpzAhx9+iAEDBmD37t0AAK1Wi9q1a2PNmjU4efIkPv/8c3zyySdYs2YNAECtVuP5559H165dcfToURw8eBD/+9//JM9Kt2zZMnh5eWH//v348ccfkZqaiq5du6J169ZISEjA5s2bcePGDfTr10//mY8++gg7d+7E+vXrERsbi127diExMVHyfnJXku+RmjZtGnr37o3NmzejRYsWUCoNH5w1a9YshxWOyJU45p6o/OPPnMi9FKq16PdjnEvWvead9vBVSntwa+8XX8F3X32Ba1cuI/B2KvYfPYrVmzZh1549AIp7dGbNmoUdO3agQ4cOAID69etj3759+PHHH9G1a1colUpMmjRJn2e9evVw4MABrFmzBv369UNWVhYyMzPRu3dvPPTQQwCAJk2aSN6+hx9+GF9//bX+9eeff442bdpg6tSp+mWLFy9GnTp1cPbsWdSsWROLFi3C8uXL9T1Yy5YtQ+3atSWv211JDqSmTp2KLVu2oFGjRgBgNNkEEVF5xvsViOSH9y6SXFWpWg1PPNUDG3//FQdz7uCZTp1QvXp1/fsnT55EQUGBPhDRKSoqMhj+t2DBAvz888+4dOkS8vPzUVRUhNatWwMAqlatioEDByIyMhIRERHo3r07+vXrh7CwMEllfeyxxwxeJyYmYufOnahUqZJR2gsXLujLoQsAdWXRxQgVgeRAatasWVi8eDEGluqWJCKiiosBJrkS61/F4ePlgTXvtEezmkEGF/CPX8u0K9+mYYE4m5YNtYWq5ONl2/wAz7/yf5g+YSyUGjV+GDvW4D3dY4T+/vtv1KpVy3B9Pj4AgDVr1uDDDz/EzJkz0aFDBwQGBmLGjBn4999/9WmXLFmC999/H5s3b8Zvv/2Gzz77DFu3bkX79u3h4eFhNCxRpVIZlTMgIMCobH369MFXX31llDYsLAznzp2TsBfKJ8mBlI+PDzp16uSMshCRCHK/8ir38rkTBcr3vR9SuFO94tgMIudRKBTwVXrC39vLIJCSOuSuNH9vL/gqPS0GUrbq1K07VEUqCFo1Itu3N3ivadOm8PHxweXLl9G1a1eTn9+7dy86duyIoUOH6pdduHDBKN0jjzyCRx55BOPHj0eHDh2watUqtG/fHg888ACOHz9ukDYpKcno9pzS2rRpgz/++AN169aFl5dxyPDwww9DqVQiLi5OPwthRkYGzp49a3ZbyhvJofUHH3yAuXPnOqMsRKLx6iOR43F0tmOwdXIPrO9UVjw9PfHnjoM4tWYNPD0NA77AwECMGTMGH374IZYtW4YLFy7g8OHD+OGHH7Bs2TIAxQFLQkICtmzZgrNnz2LChAmIj4/X55GcnIzx48fj4MGDuHTpEmJjY3H27Fn9fVJPPfUUEhISsHz5cpw7dw4TJ040CqxMGTZsGO7cuYPXXnsNhw4dwsWLFxEbG4vBgwdDo9GgUqVKGDJkCD766CNs374dx48fx8CBAyvUzN6Se6QOHTqEHTt24K+//kKzZs2Motl169Y5rHBEZIwnaeQsFem8UjfMhb8nIioLlQKDEJRnfK8RAEyePBk1atTAtGnTcPHiRVSuXBlt2rTBJ598AgB49913kZSUhFdeeQUKhQKvvfYahg4din/++QcA4O/vj9OnT2PZsmW4ffs2wsLCMHz4cLzzzjsAgMjISEyYMAFjx45FQUEBBg8ejDfeeAPHjh2zWOaaNWti//79GDduHCIjI1FYWIjw8HD07NlTHyzNmDEDOTk5ePbZZxEYGIjRo0cjM9O+YZbuRHIgVblyZfTt29cZZSFyS2XdO+ZOQ5yIiNyFLVNbk1QV53LN5NnzLL6/YcMG/d8KhQLvv/8+3n//fZNpfXx8sGTJEixZssRg+bRp0wAAISEhWL9+vcX1TZo0yWDmv9J27dplcnmDBg0sdpJUqlQJK1aswIoVK/TLPvroI4tlKU8kB1Klv0Siis5px14e06mM2VPl3PUctOKc1pVvfNYSEblCxRnESERERERE5CCiAqk2bdogIyNDdKadO3fGtWvXbC4UERHx2XxEYnECIiJyBVFD+5KSknDkyBFUrVpVVKZJSUkoLCy0q2BEVHZ4ui6euw5hI9dgfSEiKr9E3yP19NNPi74Rk1dRiYgciyfkROT+2JBR+SIqkEpOTpacce3atSV/hois48xSrlWe9749l8BYLcmVyvNkE+4+bJHX1qk8ExVIhYeHO7scRJKU54MmyZuUQJbBRcXCE0YiooqFs/YRETkIT6SJXMPde22IyD0xkCKSKZ4WEIdxuid+b0REFQMDKSKZMncyxlM0IiL7sQeZKpKUlBQoFAokJSUBAHbt2gWFQoG7d++6tFzujoEUkZ0Y2JCzcAZUInF43yzJze1bN/HFxyMR2a45HnsoBN0ebYzIESNw8OhRfRqFQoENGza4rpBkN9HTn+vUr18f8fHxqFatmsHyu3fvok2bNrh48aLDCkfkSjyHJSIiIluM/t8bUKvVmDx7Pmo/GI6Mm+lI2bwed7KyXF00ciDJPVIpKSnQaDRGywsLC3Ht2jWHFIqIiAynI2dgT0TkHrIyM3E4Pg4jx0fj8Y5PoGbtB9Gi9aMYP2gQnuncGQBQt25dAMALL7wAhUKhf33hwgU899xzCAkJQaVKldC2bVts27bNIP+6deti6tSpGDx4MAIDA/Hggw9i4cKFBmkOHTqERx55BL6+vnjsscdw+PBhk2Xdv38/WrVqBV9fX7Rr1w7Hjh0DAOTm5iIoKAi///67QfpNmzYhICAA2dnZJvPr1q0bRowYgZEjR6JKlSoICQnBwoULkZubi0GDBiEwMBAPPfQQ/vnnH4PPXTh7Gi8+/ywqVaqEkJAQvP7667h165b+/c2bN6Nz586oXLkyqlWrht69e+PChQv693VDF9etW4cnn3wS/v7+aNWqFQ4ePGiynI4iOpDauHEjNm7cCADYsmWL/vXGjRuxfv16TJ48WV8JiMh5eB+7fLn7d8OhhEQkd4IgIE+Vi9wiw395Kvv+iclD7EQy/gEB8A+ohJ1b/kZRYaHJNPHx8QCAJUuWIDU1Vf86JycHUVFR2LZtGw4fPozIyEj06dMHly9fNvj8zJkz9QHS0KFD8d577+H06dMAioOg3r17o1GjRkhMTER0dDTGjBljshwfffQRvvnmG8THx6NGjRp49tlnoVKpEBAQgFdffRVLliwxSL9kyRK89NJLCAwMNLv9y5YtQ/Xq1XHo0CGMGDEC7733Hl5++WV07NgR//33HyIjI/H6668jLy8PAHDzRhqGvNwbLVu2REJCAjZv3owbN26gX79++jxzc3MxatQoxMfHY/v27fDw8MALL7wArVZrsO5PP/0UY8aMQVJSEho2bIjXXnsNarXabFntJXpo3/PPPw+g+ED75ptvGrynVCpRt25dzJw506GFIyKqyBjXEBEZylfnocPy2i5Z98E3rsJfGWA1nZeXFybP+gGTxn6AtSuXoEmLlnisXSeM6NQWLRs0AAA88MADAIDKlSsjNDRU/9lWrVqhVatW+tdffvkl1q9fj40bN2L48OH65VFRURg6dCgAYNy4cZg9ezZ27dqFxo0b45dffoFGo8HixYvh7++PZs2a4erVq3jvvfeMyjpx4kREREQAKA6AateujfXr16Nfv35466230LFjR1y/fh01a9bErVu38Ndff2Hr1q0Wt79Vq1b47LPPAADjx4/H9OnTUb16dbz99tsAgM8//xzz58/H0aNH0fyRx7BmxWI0bt4KE7/4EoG+SgDA4sWLUadOHZw9exYNGzbEiy++aLCORYsWoUaNGjh58iSaN2+uXz5mzBg888wzAIBJkyahWbNmOH/+PBo3bmyxzLYS3SOl1Wqh1Wrx4IMPIj09Xf9aq9WisLAQZ86cQe/evZ1SSCK6T+7PS5F36exX3rdPrjilOBG5k+5Rz2Jbwil8u3gVOnR9GvFx+9Dm9dexdNMmi5/Lzc3F2LFj0bRpU1SuXBmVKlXC6dOnjXqkWrZsqf9boVAgNDQU6enpAIBTp06hVatW8Pf316fp0KGDyfWVXF61alU0atQIp06dAgA8/vjjaNasGZYvXw4AWLFiBR588EF06dLF4jaULJunpyeqVauGFi1a6JeFhIQAwP3yHktC/MG9CKteBZUqVUKlSpX0gY9u+N6FCxfQv39/1K9fH0FBQahXrx4AWNwvYWFhButxBsmTTSQnJzujHEREbsFV5/O69TKeICL3ZX83u5+XPw6+cRXNawYbDEc+du2uXfk2CwvCmbQsqC20sX5e/ubfNMHH1xcdujyJDl2exNAPPsKcEYMwceFCDPz8c7Of+eijj7BlyxZ88803ePjhh+Hn54eXXnoJRUVFBumUSqXBa4VCoR/mZu+Fp5L79a233sL333+Pjz/+GEuWLMGgQYOsDgM3VbaSy3Sf15VXq9Wia/ee+GbGV6jkY/hZXTDUp08f1KlTBz/99BNq1qwJrVaL5s2bW9wvpdfjDJIDKQDYvn07tm/fru+ZKmnx4sUOKRiRu3DWiS3Pl4mIxLGlp55TprsnhUIBf2UAArwDDE7o/ZUqu/IN8A6Av1JjMZCyV9N69bBh1y79a6VSaTSB2969ezFw4EC88MILAIrvmUpJSZG2nqZNsWLFCuTn58PPzw8AEBcXZzJtXFwcHnzwQQBARkYGzp49azAMbsCAARg7diy+++47nDhxwuj2Hkdo0rwVtv2zCeHhdVGlkp/R+7dv38apU6fw448/4oknngAA7Nu3z+HlsIXkWfsmTZqEHj16YPv27bh16xYyMjIM/hERERERVVR3M+7grVeexV/rfsPZU8dx9fIlbPlrA75evhzPde2qT1e3bl1s374daWlp+nPohx9+GOvWrUNSUhKOHDmC/v37S+5R6d+/Pzw8PDBkyBCcPHkSMTEx+Oabb0ym/eKLL7B9+3YcP34cAwcORPXq1fXzIgBAlSpV0LdvX3z00Ufo0aMHatd2/P1pr7z5FjLvZmDwGwNw6NAhXLx4EbGxsRg8eDA0Gg2qVKmCatWqYeHChTh//jx27NiBUaNGObwctpDcI7VgwQIsXboUr7/+ujPKQyRKhb4Jn11VRLLGnyg5EnvO3I+/fwBaPPIoVv48H1cvJUOlUiO0Zi28/fzz+GTQIH26mTNnYtSoUfjpp59Qq1YtpKSkYPbs2Rg8eDA6duyI6tWrY9y4cciS+OypSpUqYdOmTXj33XfxyCOPoGnTpvjqq6+MJmwAgOnTp+ODDz7AuXPn0KpVK2zcuBHe3t4GaYYMGYJVq1Zh8ODBtu0QK2qEhmHZ+s1Y+M1kREZGorCwEOHh4ejZsyc8PDygUCiwevVqvP/++2jevDkaNWqE7777Dt26dXNKeaSQHEgVFRWhY8eOzigLkWi8T4SIHIFNCcmd3CcYImPePj744OOJ+ODjifplHoKA5jcuGKTr06cP+vTpY7Csbt262LFjh8GyYcOGGbw2NdQvKSnJ4HX79u2NlpW8d6pbt27619Ymi0tNTUW1atXw3HPPWUwHALtKDF20VF7dunMKi6cmD6/3EH75bS2CfJVGaQGge/fuOHnypMk8gOL9VvresMqVKzt9oiLJQ/veeustrFq1yhllISIReEh1sXL8BfC6NxFVaGwEDeTl5eHEiROYNm0a3nnnHaOeKrKhR6qgoAALFy7Etm3b0LJlS6OZOWbNmuWwwhGR+2FvoeMUD+nhDiVyhtJDxPlLcxY3ik5YCQx8/fXXmDJlCrp06YLx48e7ujiyJDmQOnr0KFq3bg0AOH78uMF71qZDJCIi+eI5BLkrXsAhcrzo6GhER0e7uhiyJjmQ2rlzpzPKQUREbowPzCUioopG8j1SOufPn8eWLVuQn58PgAdRKltyuvnWWWXhT4roPv4c3FNZnRtwQAyRm3Lzxl1yIHX79m08/fTTaNiwIaKiopCamgqgeBKK0aNHO7yARFQGeBYimpyCeJI/1hciovJLciD14YcfQqlU4vLly/D399cvf+WVV7B582aHFo6ISG7YU0hE5RHvcyeSTvI9UrGxsdiyZYvRk40bNGiAS5cuOaxgREREOs46xeOpIxHpcaJUkkhyj1Rubq5BT5TOrVu34OPj45BCEZF57BGpqJz/xTOoIHelYO0lIheQHEh16dIFy5cv179WKBTQarWYMWMGnnzySYcWjoiMyf2eC44OoYpKNzSKFzuIyJWio6P1jyoi55I8tG/GjBno1q0bEhISUFRUhLFjx+LEiRO4c+cO9u/f74wyEhG5J3tPqBmUEhG5pQkfDsXG338FAHh6euKBkFA836E9pg4diiouLhs5juRAqmnTpjh69Cjmz58PT09P5Obmom/fvhg2bBjCwsKcUUYiWePVZ3IWxlFE4si9p54qpk7dnsYXM3+ARqNG8tnT+GLUUNzNzsavXbu6umjkIJKG9qlUKjz55JPIysrCpEmT8NdffyEmJgZffvklgyiqsMr68M3AjYjIENtFkoPSF7+8vX1QvUYIQsJqoWOXp/BK9+6I/fdfgzRLlixBkyZN4Ovri8aNG2PevHkG748bNw4NGzaEv78/6tevjwkTJkClUhmkmT59OkJCQhAYGIghQ4agoKBA/96ePXugVCqRlpZm8JnRo0ejS5cu5rdFocCPP/6I3r17w9/fH02aNMHBgwdx/vx5dOvWDQEBAejQoQMuXLhg8LlNmzbh0Ucfha+vL+rXr49JkyZBrVbr3581axZatGiBgIAA1KlTBx9+MBx5uTnFbwrA0qVLUblyZWzZsgVNmjRBpUqV0LNnT/3jluRGUiClVCpx/PhxTpFJVJKTjuDueoWVJzQVE792cjc8kyl7Djl9FAQo8nKBXMN/ijz7/onJw54D3JVLKdh88CCUnp76ZT/99BM+/fRTTJkyBadOncLUqVMxYcIELFu2TJ8mMDAQS5cuxcmTJ/Htt9/ip59+wuzZs/Xvr1mzBhMnTsSUKVOQkJCAsLAwg2CsS5cuqF+/PlasWKFfplarsXLlSgwaNMhimSdPnow33ngDSUlJaNy4Mfr374933nkH48ePR0JCAgBg+PDh+vRbtmzBgAED8P777+PkyZP48ccfsXTpUkyZMkWfxsPDA9999x2OHz+OZcuWYfeuXZg9ZaLBevPy8vDNN99gxYoV2LNnDy5fvowxY8aI3dVlSvLQvjfeeAOLFi3C9OnT7V75nj17MGPGDCQmJiI1NRXr16/H888/r39/4MCBBpUJANq1a4e4uDj968LCQowZMwa//vor8vPz8fTTT2PevHlG07MTEZH7YqBGFZW7X5xy9LV3RX4eWjQyPsdr4YC8m1h5/9iZqxD8A0Tnt2f7FrRvVBtajQaFhcW9RLM+/FD//uTJkzFz5kz07dsXAFCvXj19APLmm28CAD777DN9+rp162L06NH47bffMHbsWADAnDlzMHjwYLz11lsAgC+//BLbtm0z6JUaMmQIlixZgo8++ggA8PfffyMvLw/9+vWzWP5Bgwbp04wbNw4dOnTAhAkTEBkZCQD44IMPDIKxKVOm4OOPP9aXvX79+pg8eTLGjh2LiROLg6WRI0fq09erVw8TPo/G+yOG4dOpM/XLVSoVFixYgIceeghAcbD2xRdfWCyrq0gOpIqKivDzzz9j69ateOyxxxAQYFihZs2aJTqv3NxctGrVCoMGDcKLL75oMk3Pnj2xZMkS/Wtvb2+D90eOHIlNmzZh9erVqFatGkaPHo3evXsjMTERniWifiIiR3DzcxoiIiojbTs+gU+nzERBQR7Wr1qB26ePYsS9wOTmzZu4cuUKhgwZgrffflv/GbVajeDgYP3r33//HXPmzMH58+eRk5MDtVqNoKAg/funTp3Cu+++a7DeDh06YOfOnfrXAwcOxGeffYa4uDi0b98eixcvRr9+/YzO4Utr2bKl/u+QkBAAQIsWLQyWFRQUICsrC0FBQUhMTER8fLxBD5RGo0FBQQHy8vLg7++PnTt3YurUqTh58iSysrKgVqvvvZ8LVCsuj7+/vz6IAoCwsDCkp6dbLKurSA6kjh8/jjZt2gAAzp49a/Ce1CF/vXr1Qq9evSym8fHxQWhoqMn3MjMzsWjRIqxYsQLdu3cHAKxcuRJ16tTBtm3b9BEzUXnCE3nXEtz98rAFHLVN7op1t+IQ/Pxx7MxVNK8ZbHDeeezaXbvybRYWhDM3sqDWWl63FH5+/niwXn0AwPgvpmPECxGY9NNPmNy2LbTa4hX99NNPaNeuncHndB0BcXFxePXVVzFp0iRERkYiODgYq1evxsyZMyFFjRo10KdPHyxZsgT169dHTEwMdu3aZfVzSqVS/7duX5taptsWrVaLSZMm6XvYSvL19cWlS5cQFRWFd999F5MnT0bVqlWxbeduDHv3f1Cr7t9HVXIduvXI9dgrKZDSaDSIjo5GixYtULVqVWeVycCuXbtQo0YNVK5cGV27dsWUKVNQo0YNAEBiYiJUKhV69OihT1+zZk00b94cBw4cMBtIFRYWorCwUP86KysLQHFXYukb+Mqabv2uLoctNBrnlbn0/hC0zv9BqVRqeAgWWlQUl0uj0UjIU9o+MpVeU+KmTXvz1xEErajPistfsKkcKpUKkEG9t1aPi9sJ07eXqjVqg21Xqc3nVXofWdtnglCcRm0hnT3thkqlsnigsl4+web2S0x6jcZ6HZWyXo1GIzq92HS6PEveWK028XuVS103xdHtuJT9bCuVSgWtxnJbbfJzasPfq6XflthyOEPJ35YtpNZfR1OX2M+6E267KBQQ/AMg+PsbXFgU/O0ru+DvD8FfAyuHfbO0Wq3VC50T334bvT74AO9MnIiatWujVq1auHDhAl577TWT+e3btw/h4eEYP368fnlKSor+fQD6SSAGDBigT6O7Babk/h48eDD69++PWrVq4aGHHkKHDh2sfh9ardYgSLK2rE2bNjh9+jTq169vMr9Dhw5BrVZjxowZ8PAoPo6uWPVriRSCUd6l1+NIWq1W//sqPYpN7G9BUiDl6emJyMhInDp1qkwCqV69euHll19GeHg4kpOTMWHCBDz11FNITEyEj48P0tLS4O3tjSpVDGfkDwkJMZqdpKRp06Zh0qRJRstjY2Ph7y/taoOzbN261dVFsEEBSvRGO1RMTIzB61u3PWDD86Ql2bJ5M7w8AEs/k5iYGBxPUwAQN4y09HYUM52/RqMxmf5Uhvn1mc7f/Dp0Mu9mlvqs6fTFaSznVVhYaFM5tmzZAo2vr8W8y4blerxt+3YEKgFT2xJ/KB7ZZ+8fSvPUptMBxvvy/j67v0yr0UB3S3xhUfF+tZ6n+fctiYmJwZ07njB3C761vAsKCvTt1v32S1w5xJT70qVLiIlJtpjOuN6Zz+/w4SR4Xj2MoiLz22yYr/VtOXXqJGLunsCN/PvrLn6+ouFn5VPXTXFsO3706FH4pR2BLXVSrJiYGJy+Jr4d1tm7Zw/OlTjkZ6sAe8oppf5JkZOTI6p9Nkdsuc6cOYOY3NOi0kpx8MABpAYW/335suOO3ZmZWQ7ticzOzrZrApKsrCyr10e6PfoomtWvj0lffIEZ33yDsWPH4uOPP4a3tze6d++OwsJCJCUl4e7duxg2bBhq1qyJy5cvY8mSJWjTpg1iY2Oxfv16CIKg7wR46623MHToUDRr1gzt27fH2rVrceLECYSHh+vTAMXD/QIDAzFlyhSMHz/e4D1z8vPz9elycopn1svNzdUvy8vLA1C87zw8PDBq1Ci8+uqrqFGjBp577jl4eHjgxIkTOHnyJD777DOEhoZCrVbjm2++Qc+ePREXF4dFCxfq15ebm4eCggKD7dOVQ7ePHamoqAj5+fnYs2eP0UUv3bZZI/kX0qJFC1y8eBH16tWT+lHJXnnlFf3fzZs3x2OPPYbw8HD8/fffJrsNdQRBsDjMcPz48Rg1apT+dVZWFurUqYMePXoYjDt1BZVKha1btyIiIsKoa1PuNJpclJgHxKGioqIMXv92IwFnM+84Z2X3RPbsCR8vD3xwMNZiuTL+vYzfk0sffMynL81c/p6enoiKMu5VrXTuFhac/k90/pbWoRNcORhRUe2tpo+KirKal4+PD6KiukkuR2RkJGBlvHZZsFaPuz/9NKpV8jG5LW0fb4snHq6uf52Zr8L4+J1G6QDjfan77kou8/D0hG6ciY938X7NspJn6TzEioqKworrh3Ax+65Nefv6+iIioqNB+yW2HGLKHR4ejqioJhbTla7/lvJr3bo1olqFIfrITuRa6DnU5StmW5o0aYqojuG4cDMXU5OKH1DfqVMnzDxmON2xXOq6KY5ux1u2bImoNrVsqpNiRUVF4cqeZPx1+Zykzz3RpQsa1Kikf307pxCfJey2qxwlOWqbK1WqhKioTjbnK7ZcjRo1QlTX+qLSStGxY0e0rlMZAHBw40kcuHHV7jwBIDi41Plajn0n2YGBgUjNy7b580FBQcjU5ANW2pNR/ftj0OTJ+GzCBAwfPhxVq1bFzJkzMXHiRAQEBKBFixZ4//33ERQUhFdffRWHDx/GuHHjUFhYiKioKEyYMAGTJk3Sn68OHDgQqampmDRpEgoKCtC3b1+8++67iI2NNTqnHTRoEKZNm4a3335b1Pmun5+fPl2lSsW/lYCAAP0yXedDYGAggoKC8MILL2Djxo348ssv8d1330GpVKJx48YYPHgwgoKCitvDmTPxzTff4IsvvsATTzyB6C+/xDtDBt/L2x++vr5QKBQG5fPz89PvY0cqKCiAn58funTpAt9SF7fEBm2SA6kpU6ZgzJgxmDx5Mh599FGjG9WcGYiEhYUhPDwc584VN5ahoaEoKipCRkaGQa9Ueno6OnbsaDYfHx8f+Pj4GC1XKpWyCV7kVBaxPDycV16j8bIezh8Qr1R6Qell+QqnUqksPtkVnae0fWQqvaVJVGytMwqFh6jPistfYVM5lEolIIM6b60ee1n4bXp5ehm8p7RwPC2dh9j972V+ZKddbYZSqbR4Acp63ve/d6ntl5i0Hh7W66iUdXp5eVrdZqn5enoW5+lVot3w8jI+zMqlrpvi6HZct0+cqbgdlt7LofQy/L16Ke0bNuSs7VQobGtTdaTWX0fzKrGfdcO5HEGhUDj0cTz25uXh4WHQozV59jyT6fr37In+48cD947lAwYMMBiWV9qMGTMwY8YMg2Uflpj5DwA+/fRTfPrppwbLvv76a6O80tLSEBUVhVq1alnaFADG9wPXr1/faNlTTz1ltMza/AejRo0y6MzIKVCjfY8X7r1SYPDgwRg8eLDBZ/r27euUe6Q8PDz0vy9bjsmADYFUz549AQDPPvusQaXT9QJJuV9Eqtu3b+PKlSv6h/8++uijUCqV2Lp1q356xtTUVBw/ftxkBaLyQ6b3HDpURdhGIldz5MGZ8x0QVXTybAUyMzMRHx+PX375BX/++aeri1OuSA6kSk6naK+cnBycP39e/zo5ORlJSUmoWrUqqlatiujoaLz44osICwtDSkoKPvnkE1SvXh0vvFAcuQYHB2PIkCEYPXo0qlWrhqpVq2LMmDFo0aKFfhY/IiIiKt944YkcobxWo+eeew6HDh3CO++8g4iICFcXp1yRHEh17drVYStPSEjAk08+qX+t6+p78803MX/+fBw7dgzLly/H3bt3ERYWhieffBK//fYbAgMD9Z+ZPXs2vLy80K9fP/0DeZcuXcpnSFGZ4QGcCBDK7SkIEZF7EzPVOdlGciC1Z88ei+936dJFdF7dunWzOKxiy5YtVvPw9fXF3LlzMXfuXNHrJXJnPF2t4JxYARQyHZYCMFAjIiqf3LttlxxIdevWzWhZyXulnHmPFBG5A/duFCsyBitUkZSeW0Cuowsq+sOGy+CxkQ7kVoWt8Bxxj6zk6VMyMjIM/qWnp2Pz5s1o27YtYmOdN70pEZEcyPVki6giq+jBRnmWqxKg0WohaCxMWUpkA92zouyZrVJyj1SwiSf1RUREwMfHBx9++CESExNtLgwR3ccTA2IdIKKKLrtQi2M3ChAckAH/yp76hrGgoMBw9mh1kV3rKSgogFZdBMHGWfALCgqgLiqEoDYd8GkFAQX3E+unP6/oCgtV+u+uqNATBQrnj2wTBAF5eXlIT09H5cqV7ZpXwWGPGn/ggQdw5swZR2VHROY4oUeE5+tEzsEeTCL7CAB+PZaN8GAlquQXQHfEUub5GVxsSs/It2s9yjxfpGcWQGPjb9Y73w93couQV2Q6EPAQBCizbxW/SEkBHPhMLXdWqNLgZk5xIKXN8oavsuwCzMqVKyM0NNSuPCQHUkePHjV4LQgCUlNTMX36dLRq1cquwhC5I2c8JK44XzPLOQbbpbj/iagsMRgH7hRo8cn2W6ju7wnds5e3ftgVHh73I6m31u2yax2b3++EcTH7cKfQtkuL20d3w8q/TmDXmZsm3/dRFSFm6fvFL/77D/D3t7Wo5crhyxmI3nQEADDlheZoUq96maxXqVQ6ZIZvyYFU69atoVAojE4e27dvj8WLF9tdICIiWeNJjUvIeUZBIhLHnl+xWgDScu/39vj6+hoEUtey7RsS5uvrixs5GqQX2FZKX19fZBYpzJbDr0gF30uXil/4+AC+vrYWtVwRPJX6fab1UMLXzfaL5EAqOTnZ4LWHhwceeOABt9twIiIiZ2APAlHFpOCNrRWO5EAqPDzcGeUgIpHkfpIm9/K5k5K9MGWxW9nrQ0QVGQ9fJJXoO9127NiBpk2bIisry+i9zMxMNGvWDHv37nVo4YiIyD0wgOYsi6aU1RV61j/3wK+JyhvRgdScOXPw9ttvIygoyOi94OBgvPPOO5g1a5ZDC0fkDnhgIHI+TvJBRERyIzqQOnLkCHr27Gn2/R49evAZUkRERERuyFkz0LrTfUPuU1KSC9GB1I0bNyw++dfLyws3b5qe8pGIqCJiLwoREVH5JTqQqlWrFo4dO2b2/aNHjyIsLMwhhSJyJ2U9Np/3ArgWdz8REREBEgKpqKgofP755ygoKDB6Lz8/HxMnTkTv3r0dWjiiiown7EREzsSBXERkH9HTn3/22WdYt24dGjZsiOHDh6NRo0ZQKBQ4deoUfvjhB2g0Gnz66afOLCsRuQE3Gg4ve9yXRERUUbjjiBvRgVRISAgOHDiA9957D+PHj9fflKhQKBAZGYl58+YhJCTEaQUlIiInY+BGRBWYvRev2IRWPJIeyBseHo6YmBhkZGTg/PnzEAQBDRo0QJUqVZxVPiIqxQ0v2JQrlq6YOfO74QHaffA3ep+zZoIjIpIDSYGUTpUqVdC2bVtHl4WIiEpwp+CJp8tERFTRiJ5sgkhOeJGTqGLhb56IiOSGgRSRGQq36g+wD89R5ankgyz5HREREckLAylyS3J60Kl8SkJkn4pz6YDKm/I8wyWPMe6jPNdDp3HzCs5AishOTruZ2s0bl/JKTkE8EZGjKBgFEEnGQIrIzXAWLHIWnkc5BncjEVHFwECKyM3IPYwq73Feed8+W3G/kCs5ov6xt9n5eJGByhsGUkRuhiesRPKUU6B2dRGIyIUYKFY8DKSIiIgc4Lsd51xdBJKAQ1nd2918lauLQMRAiogcexWNHWZUUak0xrWfvweq6JwVr/J+YZIDBlJERDJl6gREvvdxyLVcZY97ghyJHWdUUbhjbMxAikim5HvCXLGV5bfCGnAf9wUREckNAykiIpnSaBk+EBERyRUDKSKZcscubnKsfJXG1UUgIiKR+FDjioeBFJGdGPBQWSiLG6sVvBuDiIhINAZSRG6HkRsRERGRqzGQInIz7AFzLU65S0RERAADKSIiInJzvMBBcsDB0RUPAykiIiIimWKIWHbsDYT4XVU8DKSIiCSQcuG7Il0kd9dt5Sxb5YO71j8icm8MpIjs5KwH5/L8jtwJz2OJqCzxIgjJAQMpIpniFVai+9zp9+BOZS0vbNnlPA13b/z+SA4YSBEREYCK2QvKSQrKhwpYdYlIBhhIEbkZnvYRERmqiBcB3BG/JyrN3c9pGEiRW6rIF5Er8rYTERERyQUDKSI7lXVg46zJLYiIiNwVe7vIFRhIERG5AYbPROSOKlKAU4E2le5hIEVEDlXeDyQcWklEJD9sm8kVGEgR2YlttyHuDyIiIqoIGEgRyRQDEiKiMsRG1ykU5X6cAlVkDKSIyKH4XJ6Kid87EbmSI+7FYshHUjGQInIzPF+liokVn8xju0hErsBAiogq1KxKRM5W8hEF7KkrG9zL5AisRyQVAykiInIDjPbJsRRucgWJwTiRfLk0kNqzZw/69OmDmjVrQqFQYMOGDQbvC4KA6Oho1KxZE35+fujWrRtOnDhhkKawsBAjRoxA9erVERAQgGeffRZXr14tw60gooqED0QmInK90nGwe4TFVN64NJDKzc1Fq1at8P3335t8/+uvv8asWbPw/fffIz4+HqGhoYiIiEB2drY+zciRI7F+/XqsXr0a+/btQ05ODnr37g2NRlNWm0FUpnga71qWLg7zQE5kiO0VEZVnXq5cea9evdCrVy+T7wmCgDlz5uDTTz9F3759AQDLli1DSEgIVq1ahXfeeQeZmZlYtGgRVqxYge7duwMAVq5ciTp16mDbtm2IjIwss22hioujLoiIiIhX0yoelwZSliQnJyMtLQ09evTQL/Px8UHXrl1x4MABvPPOO0hMTIRKpTJIU7NmTTRv3hwHDhwwG0gVFhaisLBQ/zorKwsAoFKpoFKpnLRF4ujW7+py2EKjcV6ZS++PshgzrlKpoBAsd9qqVCpJvZ9Sv1dT6TVqtcPy1xEEQdRnxeZvSzlUKhUgg3pvrR6r1Wqz26fWGL6nUpvPq3QeVveZoGujHP/96z5r6XclpX44op6XptVqraaTsl61WuOU+qxSqaAu8R2pTfxe5VLXTXF0O67RiN/PtpLaDuuo1apSv1fzvy2x5XAWe3/bYjjruyrZZmq1Woflq1KpoVLdj1zsPSuwd9tVKhUEkdsn5zagrJVsI0sfQ11JbDlkG0ilpaUBAEJCQgyWh4SE4NKlS/o03t7eqFKlilEa3edNmTZtGiZNmmS0PDY2Fv7+/vYW3SG2bt3q6iLYoADBwc7JOSYmxuD1nTuecPaln82bN8PLA7D0M4mJicHpawoAnqLyLL0dxUznr9VqTaZPumV+fabzN78OnbsZd0t91nT64jSW8yoqKrKpHFu2bIHG19di3mXDcj3euWsXavgBprYl/lA8ss/eP5znqkynA4z35f19Zjq9br9az9P8+5bExMTg9m0PmBvxLaZ8unbrfvslrhxiyn3l8mXExKRYTGdc78znl5SUBK9rh1FUZL0tEVPvS6a9nnt/3QcOHDD6rHzquimObcePHj0K/7QjcObpRkxMDM5eEd8O6+zatfveb7lYZhFgTzml1D8pcnJyRLXP5ogt15kzZxCTe1pUWin279+Hy5WK/750yXwbI9XWrVsRoCyxQLDvvKC43ZJWh0qKiYnB1Wvitk/ebUDZOpN5/7ebmJCIwovyGOaTl5cnKp1sAymd0rPqCIJgdaYda2nGjx+PUaNG6V9nZWWhTp066NGjB4KCguwrsJ1UKhW2bt2KiIgIKJVK6x+QEY0mF3Fxzsk7KirK4PUvqfFAVoZzVnZPz5494e3lgQ8Oxlos15U9yfjr8jlReZbeDgBm81coFCbTa46mAueOic7f0jp0KlepjKiodlbTR0VFWc3L29sbUVFPSi5HZGQkEBBgMe+yYK0ed+vWFXWrBZjclraPt8UTD1fXv87IK8InCbtM5lN6X+q+O3P7SOmtRFRUpNU8LeVhSVRUFH67kYCzmXdsylup9EZERGeD9ktsOcSUu86DDyIqqqnFdKXrv6X8WrdujahWYYg+shO5FnoOdflK2ZYzadn46uhBAEDHjh0x+/ghgzRyqeumOLodb9myJaLa1LKpTooVFRWFCzsv4J+rFyR9Tvdb1knPLsTnibvtKkdJjtrmSpUqISqqk835ii1Xo0aNENW1vqi0UnTq1BnNaxWfW/276ST233DMhGARERGo7H//PGlkXKxd3VIRERGYlrTD5s9HRUVh1x/HEH8z1WpaObcBZa3yhduYdzIRAPDoY4/i6cY1XFyiYrrRatbINpAKDQ0FUNzrFBYWpl+enp6u76UKDQ1FUVERMjIyDHql0tPT0bFjR7N5+/j4wMfHx2i5UqmUTfAip7KI5eHhvPKW3hdlMW2tUqmE0svylSWlUgkPT/FX16R+p6bSe3qav2Jma51RKBSiPis2f1vKoVQqARnUeWv12MvL/G/Ty9PL4D2ll/mjeuk8rO8zxb06KT5PKZRKJRQe5n9XVvNW3E8jtf0Sk9bDw8NqOinr9PLyLN5mEW2J1G3xUt4/tHp5GR9m5VLXTXF0O+7p6en0Y5lSqYSnh/SehNK/ZaWXfZNUOWs7xbbP5oj9rLO+Ky+v++2iLd+TOUqlYXurgH3D+5RKpV3jXIrbUHHnA3JuA8payTay9DHUlcSWQ7bPkapXrx5CQ0MNhrgVFRVh9+7d+iDp0UcfhVKpNEiTmpqK48ePWwykiIjI3chjuAcRyZNDLrBysgiSyKU9Ujk5OTh//rz+dXJyMpKSklC1alU8+OCDGDlyJKZOnYoGDRqgQYMGmDp1Kvz9/dG/f38AQHBwMIYMGYLRo0ejWrVqqFq1KsaMGYMWLVroZ/EjIiIiItdz5nP4+OBicgWXBlIJCQl48sn791Lo7lt68803sXTpUowdOxb5+fkYOnQoMjIy0K5dO8TGxiIwMFD/mdmzZ8PLywv9+vVDfn4+nn76aSxdutTi8CciInIv7nSO5E5lJXK2MhiJT27M3dtLlwZS3bp1s3gFQaFQIDo6GtHR0WbT+Pr6Yu7cuZg7d64TSkhEROUZr2KXD87s6SAiMke290gRuYuyPg/jeZ/74FdFRFRxKHiTVYXDQIrcUkU4Qa0I20jywpMAqkhY290b2yuSAwZSRDJlrudJ7kNY5F06+1kaClbet51IrnhSTUSuwECKiEgCVwVLvGGbqGLifXxE8sVAioiI7MZzPSIiqmgYSJFb4sV5chVXBQwMVIgci728VBqrBEnFQIqIiGSPgSQREckNAykiIiJya46YhIexuntTOKCLkT1SJBUDKSIzbucWuroIbok9B0REVBHJfVZdcjwGUkRmqDVsEIlIOl5MIHJP/OmSVAykiNwMT9KovBEzvbO7TgzAnytRxcHnmVU8DKSI3IwzAik2/eRKvDhARETuiIEUkZ34sERD7tpzQK7DOkP2YjNMRK7AQIrITmV9AOf5gqvxGyAqDzgMq+w5c5/z2yRXYCBFRCQBr3ybxp5Zcjen07JcXQSyByMnkgEGUkREZDdnh1GOjtN0+Tni2TPkerZUj9u5RQ4vB7k3tgYkFQMpIjvxOjwRERFRxcNAiojIDZTF0Dl2zhAREYnHQIqIiIiI3ErpCz+8EESuwECKyM3wpn4iIiLHs/foymBOOsHNb5DwcnUBiEga925y3J+z9v97KxNRp6q/k3KnsuTuJwYVTWpmPoavOoxezUNdXRSyA68xkiswkCIyY9G+ZBy4cMvVxaAK4p/jaa4uQoXEHl6atPEkEi9lIPFShquLYtKFm7lYGXcJA9qHu7oo5R47lEgqDu0jMmPpgRScvZHj6mK4HZ6XEpE7ySpQuboIVn224biri0BEJjCQIrfEc3WqqFj3iYiMsW10D5n5qnI1EoCBFJGdylF7QGQ7Gf0Ort3Nh1YrowKR89nQELvbMK7sAhXu5vEhwua42/dZkkYrIDUz39XFcBq1RovUzHzsOH0DrSbF4ou/Trq6SA7De6SI7MQbyysWKedr5emqGwDkF2lctm6xv7OYY6kY+st/eKZFmJNLRGK4w2/AXWZaaxEd6+oiyJq7fI+mDFxyCHvP3cLywY+jS8MHXF0c0TRaAadSs9AkLAieHua/gAGL/kXcxTv610v2p2Bin2ZlUUSnY48UEZEEFTlwfvb7fa4uglXzd10AAPx9LNXFJXEPl27n4nRaltPyv5ldiLiLt52Wv54NZ9HufOJN7t0DVdrec8UTWy0/mOLagkg0+a+T6D13H6b8fcpiupJBVHnDQIrITag1Wmw+norbORza4Uj7z9/C+XROKiLGOe4np9pz9iZSbuWW6Tq7ztiFnnP24k6uc9qVb2LP4tWFcU7J24Ab9HwRWeNu1XjpgRQAwOL9ya4tiAtxaB+Rm/hpbzK+2nzaarrbOYWIPXkDfVrVRCUfcT/x/y7fxc3sQjwQ6GNvMd3KmbRs/N/P/wIAUqY/4+LSkCsoZNIt8d/lDLyx+BAA19TFqxl5qBrgXebrJSpP5NGaUFlijxSRm9hyQtxzht5YfAjj1x3Dx38clZT/KwsP2lIst+bMIU3uSC5BhT3cdROOXc10dREqLAVPf8sFd+vNMaUcbEKFw0CKyE2IbWBPXC8ODjZLfMDrxZtlO6RIDtzpwOtGRaUSjl656+oiiOJOvwVyX4680FEeq6yzJme5lVOIaf+cQnIZDx2uCDi0j8hduMmZjitn6SpQaTA15hQimobgiQbWZz6yZeKIRXuT0Sg00GIatUaLKTGn0NhKOrmR8wxrYk8A5Na3EL1J3DS/7tqT5s4SL2Xg6NVMt3ggL1UMjm6Bd5y+gT1nb+FMWjYOXryNVf9exrHoSLPpD1/OwNrEqxjToxGH+orEQIrIRc6n52Bm7BnR6eV7iisfC/dcxPKDl7D84CVR95nYEjesTbwqKs2S/SnSMyez4lMyXF0Ep2IcVfbWJFj/LZP9eJFAPEdfyxq8NMHgdXaB2mL6F+Yd0Keb+9ojji1MOcWhfUQu8vqif/GPhOF3Mu4skI3Ld/IkpXfWPk3NLHBOxk5mzz1Ssqme7nrW5q7lJiKHEduO/nvxNl5bGIdzN7KdUo6LNzlDq1gMpIhcROrJdkV+fpFYUgMj7lGSC1eHUfwtELnP9YxXFsbh4MXbeGt5gvXENnCX/SAHDKSI7FRWPUVS11MRG8KSweaHvyXhxfkHoNGa33FyvieIbOOu1b4i/l6JyJDUY9KNLOeMfuBMluIxkCJyExX9nL9QrYFao7WYpuQ+Wn/4GhIvZeDwZfP31lTwXVouuWtAwhMX+/C3THLgru1PaeVlO8oCAykikr1CtQZtvtiKiNl7LKYzdTXPQoeU886+KnrUS5LZcuKSXaBCfpHGIet3995ZNy8+EQD51GPGUeJx1j4iNyGT9tUlzqblILdIY3UKbKn7iPed3XfieiY0Wss9fuQ8Uk9cClQatIiOhYcCuDA1qlw8TJnIHnL4CZR1z7LTAi857Ew3wUCK3FMFPP919yvG9hAb8JjaRZb2WwXepUae+W6fq4vgEBXl8K+bodJijyuRBO527uxmxRVFLhf3ynLfuvtxmIEUUTlVnu65ENvQmkrm5m00VRBST2IdffLB3wmVdPxaJh4I9HF1MSQpPua5d02WS1DhbkG1KzGQIrJTWbV7cmlgXcHcpmcVqOCv9ISXZ/HtnqZ6nyztN6ftUh6FXEbqEDdn9PTakmV5uvBR0Z1Jy0bSFXk+QLpQbf2eugs3c9B7bvnooXY3cjnOszUSj5NNELkJuXT5i6XVCjidlgWtVoBGK9h1wmrqszeyCtAyOtZgSJrpHikXDO0TkXFWgUpSltkFapy4numyIZ63cgpdst6Shv3yHxbvSzb7fl6RWvQJwKnULMyMPYOMPOvfw20nbPu0mFP4ee/F+wuk9kiZqde7zqTjfHoOlu5PxlPf7ML1u/l2lJJsETlnD8b9cczVxdDLLVQjeuMJHEq+g8enbLeaPunyXYeuX3eRQKsVsON0usPyvXAzFxuPXJfVsHd7j9P2fP52TiG2nbxh8ZEf5hxKvoPz6fcfwmvtgpQgCGbXk1+kwaHkOzaVwx2xR4rIDlqtgO+2nxOdfto/pzD8yYeRrxI/01ahWgMfL09ZXKma/NdJq2myCtTYfDwVSVcysWD3BfRv9yB2nk7HwzUqWfzc1Tt5qB0QILos207dAACcuZENQRCgUCisHlA3HbkOAHgg0AeDlsTjhTa1jNLcyrb9pDk9qwB/Hb0OtYgDSMvoWMn5P/PdPrz/dAOz77++6F+EV/OXnK8Yj325zeL7giAg5XYutAKw8Ugq/HyUDi/D38dS8fexVLPvN/18C2pV9hOV1497LlpPdM+jVrZdqr+OXtev/+EalTBv5wU8Xq+qybS6um28/P7fW0/ewLr/ruGVx+tg0JJ4g3RfbT6Nb199xGBZfpEGvydewVNNQvTLsvJV+DPpGp5qZPl3SuaN+/0o+rSq6epiGPnfigTsP38bSw+kWEx3K7sIm45cR5GVx0xIlVekxvFrmTh7IxtXMxwX2D//w34AgI+XB7o1esDu/KZvPoNrluczsiivSC0pvVqjxdjfj+Kxuvd/+yV/17mFamQXqBEa7KtvBz5dbxiglzzS9J67D6mZBZjQuyk61K+G2lWtt4UFKg1uZBWg348HDZYrAGTmqVDJtzhMyC5QobK/t/79V36MQ2qW6e+y/89xOHz5Lqr4K7FoYFu0ebCK1XK4MwZSbqxApcG8XRfwVOMaaF2nsquLUyF9vvG4pPQ/7r6IH3dLOIGbvBW3c4vwcI1KKFJbP7gdvHBb/7cAAT/sPI+mNYNEr++HnectNnqLLPQGlPTuyv/0f6/69zIAIDXT8oMDlx1MQdq+q+j3WG1cup2HnEI1IpqG4O3lCRj+5MP6dKsPXcbH647hzQ7h+mXfxJ7Be90eNh1sCsUHAQAY8ethg7d0ZQOKT24X7rmIhg94oncIbPLR70cBFB/YncVS4L733C3sFR/XO1RukQYRc/bj0eoeSIyTdjX+6Vm7cfGmHWcwJVxzcQ/Mndwi7LRy1f2jtUcBb18AwMB7gc+hlDv69/8+mortp26gR7NQvLsyEeHV/LF9VFecTstG1QBvfLvtnEHg9b8ViQCAzSfSjNZ1K6cQdT/+G290CMcXzzUHAMzYcgaL9yfj681n9OmGLEuARiugfV1fvNvYxo2v4H5LuILfEq64uhhG9p+/bT0RgMX7k4H9QO0q4i5GiPXSguKTdF+lc9rFyX+dxDsr7P/dL9p/CfYMavt+x3nEp4gb0vl74hVo/QKw7vA1rDt8Tb/83+Q7eHPxIfR7rA4++v0I8oo0+PbV1piw4ThG92iEX0ocswCgSK1F3Y//xpDO9fTHWN0Fz6oB3jAlp1ANjVbA/F0XsGD3BfRqHmqU5tKdPLT6IhaV/ZVoHBqIuIt3sGRQW8zZehaDO9czaK90Xpi3H41Dg3D4Xo9mRp4KfecdwNkve5ksx2NfbsOtnEKM6+neDY5CkFOfqItkZWUhODgYmZmZCAoSf9LpDCqVCjExMYiKioJSafmK7vc7zuGb2LMAgJTpz5RF8SzSaHKxd2/x1cz/bf0dRRpfh+VdevteXnBAdINF8uVXVIBTs18CADT58Hfke9tXZ2pV9jN7Iv1YeBUkXLJeZ7w9C7AworhMjq7HVHE5uq7b48Gq/vpZ/0pzx/rfMKQSbmQVIjNf2nBZorIkpzZArua+9ohsenXFxga8R8qN6YKoiiC7QIW/jl6X3HVOFYul3ggxQRRRRWAuiHJXZ2/kMIgiKgdG/HoY0/857epiSMJAitxC6y+2Yviqw/hknXxu4CUiIiIix1mw+4KriyAJAylyC7rZXzYkXXdxSYiIiIiIGEgRERERERFJxkCKiIiIiIhIIgZSREREREREEsk6kIqOjoZCoTD4Fxp6f757QRAQHR2NmjVrws/PD926dcOJEydcWGIiIiIiIqoIZB1IAUCzZs2Qmpqq/3fs2P1Z277++mvMmjUL33//PeLj4xEaGoqIiAhkZ2e7sMRERERERFTeebm6ANZ4eXkZ9ELpCIKAOXPm4NP/b+/Ow5sq0zaA3ydpkjbpvrd0oS1la8vSFrqwFAS6AQMiyoAwIKggoFYEFRigoBaGGR3HBUfHUXEbmXFEHUWhyqp8oCIKAiIoCMi+Flvapm2+P0LSpNnOaZsmKffvurhIk5NzniRv3pznvNvChRgzZgwAYPXq1YiIiMBbb72F6dOn29xnTU0NampqjH9XVFQA0C+Gq9W6di0Kw/GlxuHquAGgvr5tYtBqteA60kRERETtjzuc04qNwe0TqUOHDiE6OhoqlQpZWVkoKytDYmIijhw5gtOnTyM/P9+4rUqlQl5eHrZv3243kVq+fDmWLl1qcf+GDRugVqud8jqkKi8vF7FV48e3bt065wUjWjUCApx/lHXr1uHiRTkAwfkHIyIiIqI24w7ntFVV4hYud+tEKisrC6+99ho6d+6MM2fO4LHHHkNubi727duH06dPAwAiIiLMnhMREYFffvnF7n7nz5+POXPmGP+uqKhAbGws8vPz4e/v3/ovRAKtVovy8nIMGzYMCoXC7rb3/98G4+3i4mJnh+ZQfX0lduxw/nGKi4ux5NtNAFx/xYKIiIiIWo87nNMaeqs54taJVFFRkfF2WloacnJykJSUhNWrVyM7OxsAIAjmrRI6nc7ivqZUKhVUKpXF/QqFwmHy0lakxuIOcctkbRODQqHA5WtMooiIiIjaG3c4pxUbg9tPNmFKo9EgLS0Nhw4dMo6bMrRMGZw9e9ailYqIiIiIiKg1eVQiVVNTgwMHDiAqKgoJCQmIjIw0G0tUW1uLLVu2IDc314VREhERERFRe+fWidTcuXOxZcsWHDlyBDt37sTYsWNRUVGByZMnQxAElJSUoKysDGvXrsX333+PKVOmQK1WY8KECa4Ovc0duyBuUBwREREREbWcW4+ROnHiBMaPH4/z588jLCwM2dnZ2LFjB+Lj4wEADz30EK5du4aZM2fi0qVLyMrKwoYNG+Dn5+fiyNvedycuIy7EPWYcJCIiIiJq79w6kXr77bftPi4IAkpLS1FaWto2AbmxH05XYGTPaFeHQURERER0Q3Drrn0kntzBTIVERERERNR6mEi1EzIZEykiIiIiorbCRKqdkLFFioiIiIiozTCRaicOnf3N1SEQEREREd0wmEi1E5U1da4OgYiIiIjohsFEqp1gxz4iIiIiorbDRKqd0Lk6ACIiIiKiGwgTKSIiIiIiIoncekHeNldZCcjlro1Bq4W8ulofi0Jhd1Of2mrjbVXNNf1zXKm+8fg+tdWQ1zvpOJWVZq+dPJePttrqbVdSyk1icmY5phuKO5Z1a1j+iZzDU+oAt+Dq81kJMQg6ne6G7xVWUVGBgIAAXAHg7+pgPFi9N7DtY/3tAUWAnPUEeSCWY7qRsfwTEQEVAAIAXLlyBf7+trMDdu0jIiIiIiKSiF37TJ08CdjJOtuCVqvF+vXrUVBQAIWDrn3dFn1ivD2oSxien5jh7PDsq68EvokAAKTPfgO19d5OOcyBRwvNXjt5Lh9tNb55diIAfZm5pnBOmZFCKa/G39AYk7PKMd1Y3LGsW8PyT+QcnlIHuIMDjxa6OgSgogKIjna4GRMpUxqN/p8rabWo9/bWx+EgkbqmbPwS1qp8XB+7SV/6a0pv5/0AazRmr53ah2sKb7f4XOtNhkk6tRzTDctdyro1LP9EzufOdYBbcPX5LADUixsgyq59REREREREEjGRIiIiIiIikoiJFBERERERkURMpNoJQXB1BERERERENw4mUkRERERERBIxkSIiIiIiIpKIiRQREREREZFETKSIiIiIiIgkYiLVbnC2CSIiIiKitsJEqp3wkjGRIiIiIiJqK0yk2okQX6WrQ8Da3b+6OgQiIiIiojbBRKqd+PzweVeHgAVr97o6BCIiIiKiNsFEykPpdDqzv3+5UIWGBh0m/GMHZr/1jeT9nbx8Df/Y+jMqqrUWj1XV1uHhd/Zg08GzzY6XiIiIiMgeH4Xc1SFIwkTKzV2qrMWVa+bJzdVqLQb9ZbPFtofP/YbtP13Ah3tOAQC+O34Zyz8+gMqaOofHueX57Xh83QHM+8930NY3YMn736N8/xkAwLMbD2PN18dxxytftfwFERERERFZUTI02dUhSOLl6gDItmptPXo/Wg4A6JsQjNsyYzE2IwZrvjqOXy5UWWzfpJEKo577wnh/ZnwQ7n59F8puTsOErDiL5566Ug0AWL/vDO545St8fvg8Vv/fL/iprBirNv9ksf3hs79h1y8XMTYjFleuaT3uCgIRERERuZdAtcLVIUjCRMrN7P31Cv7xgwydM3+Dj6pxAokvj1zEl0cuYmxGjEXCZE3enzcZbx86cxUvbv0ZgH4ck7VEypTpeKtLVbVWtxn65BYAwIXKWqz85CAAQMlcioiIiIiaKT5E4+oQJGHXPjcz5u878f0lGYqe2W718eUfHxA1sYRpi9Wmg+fMHjt5+RrK95/BycvXWhYsgFe/ONrifUhVVeu4qyIREREReZbUDgGuDkEStki5sSUf7LO474UtP9vc/unPDonab+6Kjcbby8ekSUqorlZroVY2FpuzV2tEP7e1dF+8vs2PSUTiTOxUjzcOs3maGkX4q3Cmou1/K8h99O8U6hazC7d3pt+1UF8Vzv/W+t+7TXMHYbCVcfqtRSH3rHVR2SLlxrb8eM7xRiY+2ntK8jHmv7sXz2w8LHr7tNINSFqwTvJx2jOlXPzX6O27s423p+R2dLj99IGJ6JsQDAB4qLCLw+1LhiZj6e9ScEt6DNbOzBUdFwAkhDqvOf2FSRmY1j/B4XYdAn3wc1mx8e/+nUKR1iHA7H0L1ui7vPaMDcSU3I74y609jY8tGdkdADCoSxg+nZOHt+7KwsOFXQEAK8f2wAuTMswq6QPLCvHnsT1w98DElr1AE+tLBuLoiuF4Y1qW5OfOGdbZ7uP3DEpy6udkT+cIX3yzaJjdbQ49mo8+YTqsm52L8X1jnRKHo+9bohPen01zB4nedtXt6Q632b14GP49PQcBPvqxAGPSO+Dj+wfgdz2jzbYL9VUhwEeBnrGB+KRkAFbdno4xvTvY3fe0/glmg7WfGd8bw7pH4NU7+uDDe/tj39ICfHhvf0T4q/D4zamiX1dzdQr3lfT+NVeIxvVrKbq7sRkxOLK82O42z9+eji8XDmnV447vG4c37szCGpN6vDU8O6E3JufEY0SPqFbdb3PdlhkjetvFI7rhuQnpCPVVoWRoMjY+mCfpWGqlHAq5gE7hvsb7FhR3xc4FQ3F0xXAcXTEcX/9xKN6dmYtZg5OM28wc1Hjb39sL78/qh/uGNNYX3y3Jx4uTMtA10s94n9Krsc79y609kRCqwYFlhXj77mxMzI7DuMxYvDern3GbT+fkYfGI7shODLY4pqlHirpa3Bfqq4TKy7MuxLFFiuzafeyyq0Nwe0+P74UZb4ibcj47MQTfLy1AVU0dwv298XBhV3Rb/InVbfsmBGN+cTfUN+hw5ZoWQWoFukX6Y/+pCvx5/UGrzykZ2ngirtPpUJQaiQh/b7y6/ajD2DY+mIeE+faT5CPLix1uAwBHVwzH3z49hL9++iNG9IhCQUokClIi8c/Pj9h8zoFHCwGN/iQ4MUyDn89VYuXYHogO9NE/vqwQ9TodfFVeOP9bDUJ9VcbnDk+LwqWqWkQH+uB3PaMRrFFCEPQ/MrlJoZiS2xE+1wfxHXy0CMcuViE+RA1BEHBrpv6E3zCOMDXa3+5r+8cfMhGkVuDB/3xnMenL9LxEdLn+A9Q/ORT/nJyJaau/trqfl/6QiTtfa3zs6IrhAIAny3+0eeyHC7tiRI8oDH/6c6uP719WAJ0OSFkivdX2p7JiuxdJPrl/IGQycVcKkyN8sXxMD/zry+Oitv/PjBx8/+sVLP3ffrvbGd6jjo98ZPPxXy9fw+SXv8Tk3I5Y9N73NvfVOy4Qf72tl9UZUJuSkrwWp0Xh3ps6GS9QTe2XgJe/MC/33go5+ib447sl+Wb3Pz2+N/46rhfOXq3GF4cvYGTPKLOTiq6R/ihKjcTU/gnoFO6LH05fxaXKWtzxauOMqotG6C8mmNYFI5skaKkdArBj/hAIgoAeHQJx5EIl7vvXbtGvUQqdTmfWi8EZfiorxsffn8Lst5r3Gt68Mwvdo/xx4FQFJry0s8Xx7FtagGMXq1D0t20t3pfBT2XFkF///tkq/7YcXTEcOp0OgqB/vrdChmptg9Vti9L0SckPjxZCLhOQvPDjFkStNzZDn/xnJYa0eF+m+nQMxoge+rJd+rsaPPXpj3hjx7FWPYYUUibdGp8VD2g0KE6LNH4uR1cMx7fHL2P0c1/AV+WF1VP74ssjFzGuTyxWfvIDxmbEILNjMI6er0RssBoAUFlbhx6lGwAAdw+0TFjS44KQHheEeQWNScvNvTtAB329ppDL0DM20OwiXn5KJJ7b1HiBfdtDg7H3xBXc1DXc+Bvgo5QjOzEE2Saf6StT+kBb34BO4b7oFO6LqSYXT4+cr8TH35/Go6NSsOj9fRjRIwoz8pIwIy8J97+9G+9/exIAMKhLuOj30F0wkTJRWVsJea1rM+EGVLv0+E1Ne836CZs1prE3oBrWq2nP8eioFBw9X4l/2hkH9s6MHJy8XCX6c6usrYQgABpv/W3A9mde33DNuI1KAVRpteibqIFWZ/t4hu0N/nKbvvJ8efsPDmOr0lbhlTvScKaiBg/9d4/NbcS81sraSkztH4WsJDW6RvrbfK2mf1fWVgLXJ+t5d2YGKmvqEKBuMHtNggBU1tbAR6n/ATEVoNbvw1sJVGktx9FVmsybEuavfy2mIgOAk1eqMbBL4w+DtXIcGyxDbLAK9bprFq+ntr7KLF4/n3qb71dOJ1/L1w/7dUBlbSWqtJU2t9GhBhCaV49U11UBQjUabExmc62uSlR81fXVqKythEKnEB1H5wgFukeHY8n/7F+QcPQeVdZWIlANvD87EwCw8D3bx/dW1iHMX9x7VVlr+z23GoOmwbi9QlF7vRxZL+vW+PsARWlBqGuoRp2V+X4SwrxQr6tGcoQCgMJqORIrMdwLieEBxn20dj1ep5NJev+ao7quCtV14uthgwfzO2NC37jriZ4WtfXS92HqoYIu6B7tDwg1iAuRt+prrq5rrK+k7rdpmdB/rpafrL5+bdy2VqtrlddwTVuJylqV8ditpUpbicraegCAjxIt/vxaSttg+ZtgSkwdkByhwNpZGYjw90aAjwJdoyIBaLFoZJLxeWH+jeVBLgPWP9AXCi+Z6O9+dJC+ham2/hquv30WEsO9sPuEPl5f73rkdPI1/gbY0jdR0/jamlg5tgseGZ6AUI0KhWn94aOQG7fTqOqM743W5LzH1cTGIeiarux6A6qoqEBAQADwCABvV0fjubxlwMcD9LeLtgHVnp5JkdOpa4HKMv1tzQKgyg1657AckzO4Y1m3huWfyDk8pQ6g66oBrACuXLkCf3/bPVU4RoqIiIiIiEgidu0zcfLBk3azzrZga7yMJ1DKqwFMBAB0qH4DtfWe3bz3zR+HwUcpt/uZHFhWiM9+OCO6b/6BZYUW99na/+o7+qBvgmWf8u0/nbc57sba/u0dw9ZzbW1/YFmh5H3Zi8OntrHMnJ17xjhGypXq6yvxzc4IANbLseG1bfzhDGY1+dwXD++m7/t+3U/nrmLEM19YPU7T99KwX0fl7cCpCox53vryCGL2YW/fC9buxdrdvzZr34E+CmydOxDr169HQUEBFAqF6DjExu1ou6blbsgTm3HyivWuNl8uGAI/b3Exii33hm3/tfMXLPvoAABg8YjuWPbhfqeWdWvlSKpPvj+NB/79LRYVxwMNfQC0Tj2eGR+E16dlOfW37cCyQmw6eAYz35Q2Ruq/9+Sge1TjVMu7frmIif/8skVxmGrN1yymfhbzXAB48D/fYZ2VyamW/i4Ft2U2ThKj0+nQvRnjLZv6vrTAOL5r3jvf4cM90ifGsqbp63pz5y947Pr3rjn2LBqCh17ZgE9ONG+Ix4Flhchd8RkuVWmtPu6Ov3fu4PGP9uONnfqxbfcP6YQZeZ1cHJFeRUUFoldEO9yOiZQJjVIDjdK1BVvmwX0LZWa3vd3ytawvGYiCp7aK2laj1MBHKUe4b4DVKUT9vb2gUWpQ0D0eKvkP0Nbre8n2TQjGl0cu2txnU7beJ28v6+Uxyr/O5nNslV9Hn8VtmTFmzzVsv2xUCha/r5+Gv2RoMjRKDT57IB/5T221uzC02DhMy4xGqQFc/P0DgHqTPuNNy/GC4q7G1zYiLQH3wvxHe2xGJ2iUjf01enTQ2P2sovwDcKaiBrMGJxn3a7p9WocA7P31itlz1Ip6h5+/1O9eQqi+rClkPmbP/fvEdPzts8OYmB3ncN8apTc0Sg285fr/FQqF6DgM+35ibF/Me8f6+Lx/T88REYN5+flsToHNiTci/QMBAAqZD+ptDQwz2a+1YyaGavDz+cZ+9B1D1NAoNUjtEAEZ9BNMFKV2xGMf/uzUsm4aW3N/w25JT8LwtI5QyKqxbVvjfltaj+d3j7f5/rUWjVKD3MQYyCDtJLpzWBg0ysaBKmpFTYvibPret+ZrtlY/i+Gr8rKIq7B7PD7Ze8li2wl9ky1mTGuN1+Dv3Tiz3Mpb+sJXuQ///vpEi/fb9HWpFS0rZxqlBgrBGzI0L5HSKDUI0fjjSpXJOFlvL1yt1o/ZdcffO3cQ6htg/NxmDUqFt4RJO5ypXmljAFkT7NpHbu31aX2xtzTf8YYijOgRZZxRzZq+CcFms3MZpvx8b1bjNOIyAUiPC0SwRonyOfrpSlVechx8tAi/7xOLjiFqrL6jr8W+HxjaGYceL3IYo+mU0bHBPla3ccZidXKZeVXw5YIheOvOLEzKjscHs/uhdGR33HeTforU5Ag/HFk+HH6qxuswQ7tFtHpM7ujWjMbPxzDTksG+pQUIVFt2ejdMW286y6DBFw/fhC8XDDGbUclUUVqkxX2CjYnznjCZBl6q9SUDAcBiGuHC1Ch8fP8A3G7SyvbB7H7IaeHsW2F+lu8FAOMMik39fWK6cRkAW96603K6eY3KyziL3eqpffHM+N4AgC4RjfWA6du5Zd4gSdPWhzZ5HSnR+u9mt6jGng1KuQylI7tjYOdQ0ft1laYnMPPy7U/Hb2CtbBvEBqlbFJNYwRqlw+n5mwpQm4/2jwtpm1hb6oGh4j4XAGbTUhs0nWbfwBnTTt+eFWf2t6/KCyvHNr+uGpuhn2I8N8myDhqTbn9pgL9PNF+aQOQkpJJMNKkrAWDPknw8VNgFL0/JxBO3Nf91t2d3D0zEgORQrLylh9skUVIwkSK3NiA5DH7edqa3EunoiuF4doL99V3+PT0H003WEzJ0RYgxORF4ML8L3p3ZD98sGoYI/8YrXzKZgBW39MCmuYOM02wbHFhWiPuHJkPhYP2bewYloXdckPHvGDsnIF8tHIpxTU46W7IWUtM5Z8L9vZHbKVQ/PXJMIKb0S7CY+vqbxY0nLUFqBV6ekon4ELXVH+72IsjGWjUzByVBo7LewD99YBLevDMLb1o50feSyxDub34F9R6TNTfuGuD4M90xfwhenJSBmx2sL2SP4aJBXucwqycopnrEBOJfd2fjxUkZ8JJwJmK6bpqUtZ5evaMPClPtrxPjq/JCbifricq0/gk4umI48jqHYUSPKHx4b3+snWV9jbX4EA36J4di3X0DsGP+EDwwtDM+naNPMoebJJmvT+uLAcmheOLWnlbXQgnwUWBcZizGZsQgzE+FKf0S8MKkTLEv2W00LZu23DnAfI24PVYufompnx4q7IKBncPEBWdFcAvXkgr38zY7vuGk3cAZaywZ7F40DEt/l2L82zQZb/o1m2byfr8ypY/NCxMAzNYZMu5PJmB83zgrW9vXMzbQ7uO3ZcbghUkZ6B0XiHsGJeHDe/vj8ZvTJB/HIMXKUhSZ8UE4umI43rrLck0qtdILT9pIVjbNHYTC1CjsNkm2my4/AAB+zTzdUF2vQ5NM3u+jK4ZDEATMHNQJN3WNQHGae6x35W58VV54fVoWbuvjnLUHnY2JFLnEU+N6GW/vXjQMnSMsK/vmmt7kB3vl2B42t/3rOGlXiBwtBmpopTD8APuqvCwSK1uKHZwsmgrzU+FPJq8rKyEYC4q7iX4+YH7S0Zy5O00Tw1A/FW7qGoEt8wajl50fW9MWv40P5uHNOy1b79xJUpj9E/43pmVhSm5HswUNm5LLBPTrFAq1yHJg+lko5DLjYsRv3WW9pSQywBv5KZEO13j652THJ/KCIGDV7enoEROAxddbcmzJT4nEfgnjcXxVXnhvVj+M6hWNv5p8/8XEZM+8gi74dI64xSwFQUBqhwCzdY2s7b57tD8iA7xx/9BkdArXt14ZruLHBasxIDkMr0/LQmywGjPyGhPfRJPy8qexPcwWi3Ymw8K6jj4zZx27adHzt3LxK81BS7qPQo578pLw6pQ+rRmeZK9NbayTmv6WFKVFIdyvdbsoBvgo8OWCIQjSKDHZ5GLDouG263NflRfW3J2N/8zIweCu4fhqoX4R1v/MyBF93OVj0nBkebHFBTl73m9ykUwQzFsjveQyFKREYu3Mfni4sGuLe08khVmeF9zsoNVpVC/Lx38qKzb+9gRplPhq4VDsW1pg9SJt96DmTWT933v0F2dyk0LQMzZQ0vtKno1jpMglRvWKxrfHLyM60BtBGiUKUiLx45nDjp/owLyCLhiQHIoXri+uCgBj062vNj4xO85qVyx7kkUmfKW/S0HXSD8UpFh2zWrqf7P748SlKqTFBODA6QpJ8RiYXr1sDkfdpmz5+8QMfLjnJGYNFjc49J+TM/GnT37A7MHJSAzzBdRO6FvRisb3icPi/9leRLh/cij6Jzu3y1Z2YohxIVqpHirsgnNXazAxO97qSYk1gWolPpjdX9S2pifQYj7JXrGB+Nvve4vat9j9ii17LZXfPQIfzO5ndXHed2bkYP2+05g5yDWDpG/PisfIntFWE5iWaMniKD1jA/Hd8cs2vx8rx/bA6F4d0PmP+gVfV9ySBkEQIAj6brLNWVTamgXFXVG2znIdvfzutrsj719WgAu/1RoXPW3qz2N7YN47e/DY6FT80c6iz2KM7hUtuuXPlLXFbaX+Dji6SCHG23dnY+iTW1q8H2usheeo+6FcJmBPaT7KPjqAt7/SLwjedDf2WvC8RfYsU8gFfL1wGHou0y+Ga+iSppDLLBJOat+YSJFLCIKAUpNuDK1xOh3qq8KswZ2w58TlZu+jKDUKpf/bZzEG5MN7++PAqQrkiex24qvywp0iumUBQFpMANJimnfl7sN7+2Pd3lOY2cyTyW0PDcbu45cxopldDgpTI1GY6jhZNEgM8/WoLk7O6EPfliL8vK2e3MeHqPH+rH744fRVRDbjJM6aznbGH0oxvEcUPtpzCqkd/CGXyRx2NWwrhm6u1mR2DEZmx+ZdjGgtrZ1EAYAOzc+k1t6Ti9r6BuMJZpxJUnL48SJ42Wndt9VN1hqF3PaX9J+TM5HXOcxqImWvFVmt9II62HYMt2bGYkSPaPgo5Th05ipW/98vzeoqBwA+ytY7DbP3XjhDTmKI1a6DrubvrcCdAxKNiZQUKpGJ1HMT0uHn3fjZBfi0/vePPAMTKXIPVi49jerleNpJa1rSOhOgVmDPkgKLH6TUDgFOmeShpVoSlwAgNlht86orwS3fm1a4iIyMuCAEqpXIbuGkEaan2XPzu7QsqOueHd8bK8ak2R0bKQgtay0hcVryHstkArxljWelPWMD8ZdbeyIuWG03iTII9VXi/G+1LYpxyPVJcF6b2hef7DuNt65PsQw0joFtLkOX7UUjumNU7w4Ouy7aYjom0lS4v+1WE1tUXnI8M7437v2XtGngxbiryTg4AHh6vLTW5bbkzMRm1x+HIuR6l8ZX7uiD6tp6u61c1L5xjBS5LUeTMzTVLcrP+DzDLGSOGAaImlJ6yVqlywN5vn42JjBoDkdjmAyS2+AKrzNyEEetCGK/UoIgOJxght/OtiFr5XpwbEaM6G7EYietEVOWB3YOQ1kLJj2wx0suQ3pckNXfK2sTkTTV9IT/9Wl98ZdbexrH5kk1smc0ul5vHc6ID3KwtXi3NJl4Y8MDA43jowyzfU7t11H0/u67yXEvipaUvjA/FZ4Z3xsv/SFTdN0rlsLkvGFwl3AUcRKJGxpbpKjNjbbS0mRazf1xeDe8seMXyVe4TacWFVtvZieEoDgtEp1Ejh+hG0trJtTRAeK60N3cuwMuVtYis2PrnQQ5i5dMQJcIP/xWU4fYIB/oGsStu0GeYVCXMAA/2t2md2wQPj98zvh311bq4mlv1lJTTWccdSemtYeXTECdg/XKAP1MtS21empf/Ofr4xjXx3F3w8Fdw7Hm6+Nmy1lYEx+sHxv442NFuFZbbzZ1/DPje2Pl2B5mk7g4Mie/C2YMSsLNz23HwTNXRT9PipE2pnlvKd9W7I5Jno+lgdpcfys/FBqTjsl3DkgUPb7IoGOI2mw2JbXJj4K9ny6ZTMCq2zMkHcuZPHENhRvFLTYmLRFLEARsnTcYo1d9YTYVeFMymYC77EwV7SVreUeC1mppEAQBH98/AA06HbzkMmjtJFKtOYYnMcwXh8/+1ir7enZCOqa/vguPjkpxvPENxl7L4P/NvwmnrlSje7S/WSL12rTWm4kzr3MYtvx4DjFBPjhx6Vqr7betdDeZvjtIo8S5q5YLu9sTHeCNk1eqkSNxnGCEvzdm32R7DJipgpQIvH13ts2W8P3LCqCt1xm7Miq9ZMblEgwEQZCURBmolV5YOysX3Rdbn1hELpNhQHIoth06D8D6dOhtbVxmbKu3cJFnY9c+alNTcjtaXe9mYnY8chJDmj1975gmJ7kdAn0wr6ALSkd2b3Ff+LZUlBqJvM5heHCY+AUXxXjpD/oJHvy9ee2kuQZ3bfmV4rgQNb5eONTuQHdHksI0xm5yUgd6zy/qipggH8wtaL3yJZMJosa8TMqJd7iNWC/9IRPD06LwP5GzC9pTkBKJHx8rwqScji0PrB3a+GCe1VamqAAfpF9f98509lOp04MblmGwNl7v+YnpeG1qX2x8cJDFY4Z1qRYOt/6bIaZbnbMNSA7D0+N745OSAVanw155i+2lOQDg3zNycP+QZMkzXUohCAKyE0OMY36aUiu9nDreSK30wqTsxrrB9BxgbkFnvDylD3ISQ9C/U2irfN/F+OyBxuNMye2I8X0bP7v7hja/7qb2iWdV1GaUcpnZTH2m1Eov/OtuywX2xHhtal+rM3u11bTIrUkhl2H11NZfW2lo9wh8uXAIfBUCupd+2ur7J/FaejVTEAT8XFaM705ckTyeanpeEqbnWR/c7kzzCrq0amtrx1ANnrvd/gLbUjS9wk6NEsN88UnJQPzt00P466f6bn7PNVnc/ObeHbDz54vNmmFx+yM3obKmzuqJvFrpZXOB3vlFXTEltyOiA32sPm6tBfSzB/Mw5AnnTNVti2H9saQwXzy7qXGJjxl5SQ4XII0JUuOBVr6o5o5Mv39T+yegMDUSUQHexq7VzT03aK64YDV+fKwIe3+9jJ4xgajX6VCQEom+CcHNanmj9o0lgjyerR9aMhfu5w2tVuvqMKgVCIJgd+FjT6CQC9DW6+DlQS3GpDe8h/ngeoVcZjZGVQpvhbxZSbYgCDaTKFvErqXmDE0noxjRgxMUGDStAaR+rs6g9JIhI14/MYoXgEFdwl0bELktXoajNtPgZoOCU6Pdbzpzcl8C54qTrPP1BayLrcxq9c6MXPRNCMZ/78lt67CoGaIDW2e9sbbiaBggE3j3wUlyyZO1m0Rq1apVSEhIgLe3NzIyMrBt2zZXh0Ru6uP7B2DZqBTcaqXP+o2EA2al6RnrOYl3xPU1aPont9707c3x0X0DsOuPQ5EQqrF4rGdsIP49PQc9Pbxl7UYxJj0G0/MS8cqUPi45vo9Jq9WtGZbjbA2K0yLh7+1lNXkHgInZcShKjXTJQrIxQY0tLb4SFh1u7yZeHyNVmCJ+cffWknl9ivjitLY/NrUP7eKbvGbNGpSUlGDVqlXo168fXnjhBRQVFWH//v2Ii2veauPU+tylPapblH+LFu31dJM61eOT0z54cZL7zFboznYvGobL17Sip2N2B1sfGozKmnrjQH5XUchlNgexk2eRywTML+rmsuPvXjwMV6tqsObDckwbaTuO5yako75BZ3MClMdGS1tP6r/35OKW57fbnWlTrA/v7Y+F732P7lH+6Gjl4sKNKj5EgwPLCuGtaPtr+y9NzsSGfWdQxESKmqldJFJPPvkkpk2bhjvvvBMA8NRTT2H9+vV4/vnnsXz5chdHRwaZrbg4IDVfZpgOi/6QB6XStSfZniJIo0SQixMSqVRecqi8OJU+tR/eCjnkagVifWF3lkhBEOAlb73W9oz4IBxdMbxV9hWoVlpM1EF6hunV21qgWmmc9INjiKk5PD6Rqq2txa5du/DII4+Y3Z+fn4/t27dbfU5NTQ1qahrXc6ioqACg/xLxi+Q8g7uEOuX95WcmnuG9qqura9XFZptNq4XCeFMLuMFnWV/fGINWq0VDg+tj8hSG8sXvpBVuWNatcefyz/JFzuT08uUhdQDpiS0HHp9InT9/HvX19YiIiDC7PyIiAqdPn7b6nOXLl2Pp0qUW92/YsAFqtau773j8R2IhUKlDcoAOoZf2Y926/c3ax8JewOPfWr4396XUYd26dS2M8MZTXl7u6hAAAPLqaoy4fnv9+vWo93aHAe3VCLg+HGr9+vUA3CEmz+Iu5cuduGdZt8b9yz/LFzmTs8qX59QBBABVVVWithN0OjebSk2ikydPokOHDti+fTtycnKM9z/++ON4/fXX8cMPP1g8x1qLVGxsLM6fPw9/f9eOndFqtSgvL8ewYcOgUDhvETxnqK+vxI4d+u572dmXIJezD7i7cbvyVVkJRZC+zGgvXQI0ri8zLMfN53bly524YVm3xp3LP8sXOZPTy5eH1AGkV1FRgdDQUFy5csVubuDxzR+hoaGQy+UWrU9nz561aKUyUKlUUKksB0ArFAq3qZzdKRaxZLLGeBUKBeRyz4r/RuI25UthXmbgBjGxHLec25Qvd+KGZd0aTyj/LF/kTE4rXx5SB5Ce2DLg8dOfK5VKZGRkWDTFlpeXIzeX65MQEREREVHr8/gWKQCYM2cOJk2ahMzMTOTk5ODFF1/EsWPHMGPGDFeHRkRERERE7VC7SKTGjRuHCxcuYNmyZTh16hRSU1Oxbt06xMfHuzo0IiIiIiJqh9pFIgUAM2fOxMyZM10dBhERERER3QA8fowUERERERFRW2MiRUREREREJBETKSIiIiIiIomYSBEREREREUnERIqIiIiIiEgiJlJEREREREQSMZEiIiIiIiKSiIkUERERERGRREykiIiIiIiIJGIiRUREREREJBETKSIiIiIiIomYSBEREREREUnERIqIiIiIiEgiL1cH4A50Oh0AoKKiwsWRAFqtFlVVVaioqIBCoXB1OJLU11eislJ/u6KiAnJ5vWsDIgtuV74MBQYAKiqAeteXGZbj5nO78uVO3LCsW+PO5Z/li5zJ6eXLQ+oA0jPkBIYcwRZB52iLG8CJEycQGxvr6jCIiIiIiMhNHD9+HDExMTYfZyIFoKGhASdPnoSfnx8EQXBpLBUVFYiNjcXx48fh7+/v0lio/WH5Imdi+SJnYvkiZ2L5IlM6nQ5Xr15FdHQ0ZDLbI6HYtQ+ATCazm226gr+/P7/I5DQsX+RMLF/kTCxf5EwsX2QQEBDgcBtONkFERERERCQREykiIiIiIiKJmEi5GZVKhSVLlkClUrk6FGqHWL7ImVi+yJlYvsiZWL6oOTjZBBERERERkURskSIiIiIiIpKIiRQREREREZFETKSIiIiIiIgkYiJFREREREQkERMpN7Nq1SokJCTA29sbGRkZ2LZtm6tDonagtLQUgiCY/YuMjHR1WOShtm7dipEjRyI6OhqCIOC9994ze1yn06G0tBTR0dHw8fHBoEGDsG/fPtcESx7HUfmaMmWKRX2WnZ3tmmDJoyxfvhx9+vSBn58fwsPDMXr0aBw8eNBsG9ZfJAUTKTeyZs0alJSUYOHChdi9ezcGDBiAoqIiHDt2zNWhUTuQkpKCU6dOGf/t3bvX1SGRh6qsrETPnj3x7LPPWn185cqVePLJJ/Hss8/iq6++QmRkJIYNG4arV6+2caTkiRyVLwAoLCw0q8/WrVvXhhGSp9qyZQtmzZqFHTt2oLy8HHV1dcjPz0dlZaVxG9ZfJAWnP3cjWVlZSE9Px/PPP2+8r1u3bhg9ejSWL1/uwsjI05WWluK9997Dt99+6+pQqJ0RBAFr167F6NGjAeiv5kZHR6OkpAQPP/wwAKCmpgYRERH405/+hOnTp7swWvI0TcsXoG+Runz5skVLFZFU586dQ3h4OLZs2YKBAwey/iLJ2CLlJmpra7Fr1y7k5+eb3Z+fn4/t27e7KCpqTw4dOoTo6GgkJCTg97//PX7++WdXh0Tt0JEjR3D69GmzukylUiEvL491GbWazZs3Izw8HJ07d8Zdd92Fs2fPujok8kBXrlwBAAQHBwNg/UXSMZFyE+fPn0d9fT0iIiLM7o+IiMDp06ddFBW1F1lZWXjttdewfv16/OMf/8Dp06eRm5uLCxcuuDo0amcM9RXrMnKWoqIivPnmm9i4cSOeeOIJfPXVV7jppptQU1Pj6tDIg+h0OsyZMwf9+/dHamoqANZfJJ2XqwMgc4IgmP2t0+ks7iOSqqioyHg7LS0NOTk5SEpKwurVqzFnzhwXRkbtFesycpZx48YZb6empiIzMxPx8fH46KOPMGbMGBdGRp5k9uzZ2LNnDz7//HOLx1h/kVhskXIToaGhkMvlFlc8zp49a3FlhKilNBoN0tLScOjQIVeHQu2MYTZI1mXUVqKiohAfH8/6jES799578cEHH2DTpk2IiYkx3s/6i6RiIuUmlEolMjIyUF5ebnZ/eXk5cnNzXRQVtVc1NTU4cOAAoqKiXB0KtTMJCQmIjIw0q8tqa2uxZcsW1mXkFBcuXMDx48dZn5FDOp0Os2fPxrvvvouNGzciISHB7HHWXyQVu/a5kTlz5mDSpEnIzMxETk4OXnzxRRw7dgwzZsxwdWjk4ebOnYuRI0ciLi4OZ8+exWOPPYaKigpMnjzZ1aGRB/rtt99w+PBh499HjhzBt99+i+DgYMTFxaGkpARlZWVITk5GcnIyysrKoFarMWHCBBdGTZ7CXvkKDg5GaWkpbrnlFkRFReHo0aNYsGABQkNDcfPNN7swavIEs2bNwltvvYX3338ffn5+xpangIAA+Pj4QBAE1l8kjY7cynPPPaeLj4/XKZVKXXp6um7Lli2uDonagXHjxumioqJ0CoVCFx0drRszZoxu3759rg6LPNSmTZt0ACz+TZ48WafT6XQNDQ26JUuW6CIjI3UqlUo3cOBA3d69e10bNHkMe+WrqqpKl5+frwsLC9MpFApdXFycbvLkybpjx465OmzyANbKFQDdK6+8YtyG9RdJwXWkiIiIiIiIJOIYKSIiIiIiIomYSBEREREREUnERIqIiIiIiEgiJlJEREREREQSMZEiIiIiIiKSiIkUERERERGRREykiIiIiIiIJGIiRUREREREJBETKSIi8milpaXo1atXmx938+bNEAQBgiBg9OjRop5TWlpqfM5TTz3l1PiIiMi5mEgREZHbMiQdtv5NmTIFc+fOxWeffeayGA8ePIhXX31V1LZz587FqVOnEBMT49ygiIjI6bxcHQAREZEtp06dMt5es2YNFi9ejIMHDxrv8/Hxga+vL3x9fV0RHgAgPDwcgYGBorY1xCqXy50bFBEROR1bpIiIyG1FRkYa/wUEBEAQBIv7mnbtmzJlCkaPHo2ysjJEREQgMDAQS5cuRV1dHebNm4fg4GDExMTg5ZdfNjvWr7/+inHjxiEoKAghISEYNWoUjh49Kjnmd955B2lpafDx8UFISAiGDh2KysrKFr4TRETkbphIERFRu7Nx40acPHkSW7duxZNPPonS0lKMGDECQUFB2LlzJ2bMmIEZM2bg+PHjAICqqioMHjwYvr6+2Lp1Kz7//HP4+vqisLAQtbW1oo976tQpjB8/HlOnTsWBAwewefNmjBkzBjqdzlkvlYiIXISJFBERtTvBwcF4+umn0aVLF0ydOhVdunRBVVUVFixYgOTkZMyfPx9KpRJffPEFAODtt9+GTCbDSy+9hLS0NHTr1g2vvPIKjh07hs2bN4s+7qlTp1BXV4cxY8agY8eOSEtLw8yZM13a9ZCIiJyDY6SIiKjdSUlJgUzWeK0wIiICqampxr/lcjlCQkJw9uxZAMCuXbtw+PBh+Pn5me2nuroaP/30k+jj9uzZE0OGDEFaWhoKCgqQn5+PsWPHIigoqIWviIiI3A0TKSIiancUCoXZ34IgWL2voaEBANDQ0ICMjAy8+eabFvsKCwsTfVy5XI7y8nJs374dGzZswDPPPIOFCxdi586dSEhIaMYrISIid8WufUREdMNLT0/HoUOHEB4ejk6dOpn9CwgIkLQvQRDQr18/LF26FLt374ZSqcTatWudFDkREbkKEykiIrrh3X777QgNDcWoUaOwbds2HDlyBFu2bMH999+PEydOiN7Pzp07UVZWhq+//hrHjh3Du+++i3PnzqFbt25OjJ6IiFyBXfuIiOiGp1arsXXrVjz88MMYM2YMrl69ig4dOmDIkCHw9/cXvR9/f39s3boVTz31FCoqKhAfH48nnngCRUVFToyeiIhcQdBxTlYiIiLJNm/ejMGDB+PSpUuiF+Q16NixI0pKSlBSUuKU2IiIyPnYtY+IiKgFYmJiMH78eFHblpWVwdfXF8eOHXNyVERE5GxskSIiImqGa9eu4ddffwUA+Pr6IjIy0uFzLl68iIsXLwLQzwYodSILIiJyH0ykiIiIiIiIJGLXPiIiIiIiIomYSBEREREREUnERIqIiIiIiEgiJlJEREREREQSMZEiIiIiIiKSiIkUERERERGRREykiIiIiIiIJGIiRUREREREJNH/AwhTOdQ1CdF1AAAAAElFTkSuQmCC", - "text/plain": [ - "<Figure size 1000x600 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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PiU+6U7TQ1EzmsGSKLfYcOHreAxJbvIuXoJ5R3kzLjsxkCIinU33V3/RaSiZzaJERERElFG551YuERERERHpBR8Qnz62SBERERERkcLyM8HYEvTC0NUwegykiIiIiIiM1Igt15Avj3m2bjMhUY53iaqJeEgZAykiIiIiIiO18+pLQ1eBNOAYKSIiIiIiIpEYSBEREREREYnEQIqIiIiIiEgkBlJEREREREQiMZAiIiIiIiISiYEUERERERGRSAykiIiIiIiIRGIgRUREREREJBIDKSIiIiIiIpEYSBEREREREYnEQIqIiIiIiEgkBlJEREREREQiMZAiIiIiIiISiYEUERERERGRSAykiIiIiIiIRGIgRUREREREJBIDKSIiIiIiIpEYSBEREREREYnEQIqIiIiIiEgkBlJEREREREQiMZAiIiIiIiISiYEUERERERGRSAykiIiIiIiIRGIgRUREREREJBIDKSIiIiIiIpEYSBEREREREYnEQIqIiIiIiEgkBlJEREREREQiMZAiIiIiIiISiYEUERERERGRSAykiIiIiIiIRGIgRUREREREJBIDKSIiIiIiIpEYSBEREREREYnEQIqIiIiIiEgkBlJEREREREQiMZAiIiIiIiISiYEUERERERGRSAykiIiIiIiIRGIgRUREREREJJJBA6mZM2eiSpUqsLW1hZOTE9q0aYP79+8rlREEAX5+fnBzc4OVlRXq16+P27dvK5WJj4/HkCFDkD9/ftjY2KB169YICQnJzl0hIiIiIqKviEEDqZMnT2LQoEE4f/48Dh8+jMTERPj4+CA6OlpRZvbs2Zg7dy4WLlyIoKAguLi4oEmTJvj48aOizLBhw7Br1y5s3rwZZ86cwadPn9CyZUskJSUZYreIiIiIiCiXMzPkxg8ePKj0etWqVXBycsLly5dRt25dCIKA+fPnY8KECWjXrh0AYM2aNXB2dsbGjRvRv39/REZGYsWKFVi3bh0aN24MAFi/fj08PDxw5MgRNG3aNNv3i4iIiIiIcjeDBlJpRUZGAgAcHR0BAMHBwQgLC4OPj4+ijIWFBerVq4dz586hf//+uHz5MmQymVIZNzc3eHt749y5c2oDqfj4eMTHxyteR0VFAQBkMhlkMlmW7BsREREREWlmLNfhutbDaAIpQRAwYsQI1K5dG97e3gCAsLAwAICzs7NSWWdnZzx79kxRxtzcHA4ODiplUpZPa+bMmZgyZYrK9ICAAFhbW2d6XzLHaD4SIiIiIqJs4+/vb+gqAABiYmJ0Kmc0V+2DBw/GjRs3cObMGZV5EolE6bUgCCrT0tJWZty4cRgxYoTidVRUFDw8PODj4wM7O7sM1F5/hgYGGHT7RERERESG4Ovra+gqAPjSWy09RhFIDRkyBHv37sWpU6fg7u6umO7i4gIgudXJ1dVVMT08PFzRSuXi4oKEhAREREQotUqFh4ejZs2aardnYWEBCwsLlelSqRRSqVQv+0RERERERLozlutwXeth0Kx9giBg8ODB2LlzJ44dOwYvLy+l+V5eXnBxccHhw4cV0xISEnDy5ElFkFSpUiVIpVKlMqGhobh165bGQIqIiIiIiCgzDNoiNWjQIGzcuBF79uyBra2tYkyTvb09rKysIJFIMGzYMMyYMQPFihVDsWLFMGPGDFhbW6Nr166Ksn379sXIkSORL18+ODo6YtSoUShbtqwiix8REREREZE+GTSQWrJkCQCgfv36StNXrVqFXr16AQDGjBmD2NhYDBw4EBEREahWrRoCAgJga2urKD9v3jyYmZmhU6dOiI2NRaNGjbB69WqYmppm164QEREREdFXxKCBlCAI6ZaRSCTw8/ODn5+fxjKWlpZYsGABFixYoMfaERERERERqWfQMVJEREREREQ5EQMpIiIiIiIikRhIERERERERicRAioiIiIiISCQGUkRERERERCIxkCIiIiIiIhKJgRQREREREZFIDKSIiIiIiIhEYiBFREREREQkEgMpIiIiIiIikRhIERERERERicRAioiIiIiISCQGUkRERERERCIxkCIiIiIiIhKJgRQREREREZFIDKSIiIiIiIhEYiBFREREREQkEgMpIiIiIiIikRhIERERERERicRAioiIiIiISCQGUkRERERERCIxkCIiIiIiIhKJgRQREREREZFIDKSIiIiIiIhEYiBFREREREQkEgMpIiIiIiIikRhIERERERERicRAioiIiIiISCQGUkRERERERCIxkCIiIiIiIhKJgRQREREREZFIDKSIiIiIiIhEYiBFREREREQkEgMpIiIiIiIikRhIERERERERicRAioiIiIiISCQGUkRERERERCIxkCIiIiIiIhKJgRQREREREZFIDKSIiIiIiIhEYiBFRERE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MWMGrK2t0bVrVwCAvb09+vbti5EjRyJfvnxwdHTEqFGjULZsWUUWPyIiIiIiIn0zaCB16dIlNGjQQPE6JQFEz549sXr1aowZMwaxsbEYOHAgIiIiUK1aNQQEBMDW1laxzLx582BmZoZOnTohNjYWjRo1wurVq2Fqaprt+0NERERERF8HgwZS9evXhyAIGudLJBL4+fnBz89PYxlLS0ssWLAACxYsyIIaEhERERERqTLaMVJERERERETGioEUERERERGRSAykiIiIiIiIRGIgRUREREREJBIDKSIiIiIiIpEYSBEREREREYnEQIqIiIiIiEgkBlJEREREREQiMZAiIiIiIiISiYEUERERERGRSAykiIiIiIiIRGIgRUREREREJBIDKSIiIiIiIpEYSBEREREREYnEQIqIiIiIiEgkBlJEREREREQiMZAiIiIiIiISiYEUERERERGRSAykiIiIiIiIRGIgRUREREREJBIDKSIiIiIiIpEYSBEREREREYnEQIqIiIiIiEgkBlJEREREREQiMZAiIiIiIiISiYEUERERERGRSAykiIiIiIiIRGIgRUREREREJBIDKSIiIiIiIpEYSBEREREREYnEQIqIiIiIiEgkBlJEREREREQiMZAiIiIiIiISiYEUERERERGRSAykiIiIiIiIRGIgRUREREREJBIDKSIiIiIiIpEYSBEREREREYnEQIqIiIiIiEgkBlJEREREREQiMZAiIiIiIiISiYEUERERERGRSAykiIiIiIiIRGIgRUREREREJBIDKSIiIiIiIpEYSBEREREREYnEQIqIiIiIiEgkBlJEREREREQiMZAiIiIiIiISiYEUERERERGRSAykiIiIiIiIRGIgRUREREREJBIDKSIiIiIiIpEYSBEREREREYnEQIqIiIiIiEgkBlJEREREREQiMZAiIiIiIiISiYEUERERERGRSAykiIiIiIiIRGIgRUREREREJBIDKSIiIiIiIpEYSBEREREREYnEQIqIiIiIiAxu/41QQ1dBFAZSRERERERkcIM2XjF0FURhIEVERERERCQSAykiIiIiIiKRjDqQ8vPzg0QiUfpzcXFRzBcEAX5+fnBzc4OVlRXq16+P27dvG7DGRERERET0NTDqQAoAypQpg9DQUMXfzZs3FfNmz56NuXPnYuHChQgKCoKLiwuaNGmCjx8/GrDGRERERESU2xl9IGVmZgYXFxfFX4ECBQAkt0bNnz8fEyZMQLt27eDt7Y01a9YgJiYGGzduNHCtiYiIiIgoNzMzdAXS8/DhQ7i5ucHCwgLVqlXDjBkzUKRIEQQHByMsLAw+Pj6KshYWFqhXrx7OnTuH/v37a1xnfHw84uPjFa+joqIAADKZDDKZLOt2hoiIiIiINDKGa3Fd62DUgVS1atWwdu1aFC9eHK9fv8a0adNQs2ZN3L59G2FhYQAAZ2dnpWWcnZ3x7NkzreudOXMmpkyZojI9ICAA1tbW+tuBDDHqj4SIiIiIKMv4+/sbugqIiYnRqZxRX7U3b95c8f+yZcuiRo0aKFq0KNasWYPq1asDACQSidIygiCoTEtr3LhxGDFihOJ1VFQUPDw84OPjAzs7Oz3ugXhDAwMMun0iIiIiIkPx9fU1dBUUvdXSY9SBVFo2NjYoW7YsHj58iDZt2gAAwsLC4OrqqigTHh6u0kqVloWFBSwsLFSmS6VSSKVSvdaZiIiIiIh0YwzX4rrWweiTTaQWHx+Pu3fvwtXVFV5eXnBxccHhw4cV8xMSEnDy5EnUrFnTgLUkIiIiIqLczqhbpEaNGoVWrVqhUKFCCA8Px7Rp0xAVFYWePXtCIpFg2LBhmDFjBooVK4ZixYphxowZsLa2RteuXQ1ddSIiIiIiysWMOpAKCQlBly5d8PbtWxQoUADVq1fH+fPn4enpCQAYM2YMYmNjMXDgQERERKBatWoICAiAra2tgWtORERERES5mVEHUps3b9Y6XyKRwM/PD35+ftlTISIiIiIiIuSwMVJERERERETGgIEUERERERGRSAykiIiIiIiIRGIgRUREREREJBIDKSIiIiIiIpEYSBEREREREYnEQIqIiIiIiEgkBlJEREREREQiMZAiIiIiIiISiYEUERERERGRSAykiIiIiIiIRGIgRUREREREJBIDKSIiIiIiIpEYSBEREREREYlkZugKGJPohGiYJpgatA5yxBl0+1kp9b7JEQe5AevytcsJn0VOqCMZnrEfJ8ZePyLK/XLaeSg6IdrQVdC5DgykUik6yw0SCwNXwrBxXJaySNX++d6kG+INV5WvnnWq4+y9aTfEGOFxx+OFdGHsxzKPYyIyNGM/T6blNMXQNQAEHU/WEkEQhKytivGLioqCvb09IgHYGboyuViSJXD6QPL/6zQHTHNv4xvpAY8Xyg14HBMR5TxRAOwBREZGws5Oc3TAMVJEREREREQisWtfaq9eAVqizuxQauJBg24/K5mbxuEvdAMAVBy8HglJlgau0dfLShaHKwu/fBaxUuP7LHi8kC6M/VjmcUxEhmbs58m07k5tZugqAFFRgJtbusUYSKVmY5P8Z0Cx5sZ9cGdGUqo+ubHmlrygMBKxUkujPO54vJBYxngs8zgmImNijOdJFQa+FgcAJCXpVIxd+4iIiIiIiERiIEVERERERCQSAykiIiIiIiKRGEgRERERERGJxECKiIiIiIhIJAZSREREREREIjGQIiIiIiIiEomBFBERERERkUgMpIiIiIiIiERiIEVERERERCQSAykiIiIiIiKRGEgRERERERGJxECKiIiIiIhIJAZSREREREREIjGQIiIiIiIiEomBFBERERERkUgMpIiIiIiIiERiIEVERERERCQSAykiIiIiIiKRGEgRERERERGJxECKiIiIiIhIJAZSRERERERkcN9X8TB0FURhIEVERERERAZnaiIxdBVEYSBFREREREQGJ8lZcRQDKSIiIiIiIrEYSBERERERkcFJkLOapBhIERERERGRwbFrHxERERERUS7HQIqIiIiIiAwuhzVIMZAiym49a3iqnd64lHM214Ryq+GNi2fp+puWMZ5j9YdqOeuZI0T6Nq96oqGroBNbC7Ns3d6vzUpm6/bo68RAKgd6OqsF2n1b0NDV0LtJLUsbugo6G9a4mNrpuvxQjGpaQu10S2nmv471ihfI9Dq+FoUcrbNtW1ZSU+z/pXam1jGjje7fj6Eajk99md/52yxdvxg/1Stq6CpkmV41Cxu6CjlO58oe+G9IbVTwyAuzHPY8mowo5WKLnLKbw5tk7Q2eFK72ltgzqBb61y2CUq522bJN+noxkMphUgKodhXd9b7uqd+VEb2MPi9GPfS0ruuTffSyntRalHNVej1Mwx3/8h55dVpf4Xyq+9qkdObv8uv6g+rhaJXpbWWFixMaZcl6W5V3g7W5qdK0dX2rqpRr7u2Sqe10qKT5e1nGzR6/NPwGZdzscOm3xhlYe+aulvxaGfZGxdNZLfB0VosML9+nlpfa6ZZSU7XT9a1OsfyK/2fXjay+tdXvs672Dc5c8K5JVS/HTK8jq47Hcb4l4V3QHrsH1UK1IpmvpzadKrvr/eGh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", - "text/plain": [ - "<Figure size 1000x600 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "from matplotlib import pyplot as plt\n", - "import zipfile\n", - "from matplotlib.backend_bases import MouseButton\n", - "\n", - "plt.ioff()\n", - "def show_i(a, ku, s, e, title):\n", - " with plt.ion():\n", - " showing = True\n", - " i = a['I']/1000\n", - " fs = 100000\n", - " \n", - " ready = np.mean(i[int(e[ku][0]*fs):int(s[ku][1]*fs)])\n", - " standby = np.mean(i[:fs*2])\n", - " xmax = len(i)/fs\n", - "\n", - " fig = plt.figure(figsize=(10,6))\n", - "\n", - " plt.plot(np.linspace(0, len(i)/fs, len(i)), i)\n", - "\n", - " plt.axhline(standby, color='g')\n", - " plt.axhline(ready, color='r')\n", - "\n", - " for s in s[ku]:\n", - " plt.axvline(s, color='y')\n", - " for s in e[ku]:\n", - " plt.axvline(s, color='r')\n", - "\n", - " plt.legend(['Measured', 'Standby mean', 'Ready mean'], loc='right')\n", - " plt.grid()\n", - " plt.xlabel('Time [s]')\n", - " plt.ylabel('Current [mA]')\n", - " plt.title(f'{title} - attenuation {ku} dB')\n", - " plt.savefig(f'{title.lower().replace(\" \", \"_\")}_{ku}dB.png')\n", - "\n", - "\n", - " plt.show()\n", - "\n", - "for ku in mdf0.index.to_list():\n", - " archive = zipfile.ZipFile(f'vodafone_ltem_{ku}db.ppk2', 'r')\n", - " f = archive.read('session.raw')\n", - " a = np.frombuffer(f, dtype=np.dtype([('I', np.float32),('DI',np.uint16)]))\n", - " show_i(a, ku, mstart, mstop, 'nRF9160 LTE-M Measured current')\n", - " del archive\n", - " del f\n", - " del a\n" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "61b9233a-977a-474d-b4e1-7288117412dc", - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "data": { - "image/png": "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AJvNhvLycrz99ttu0+rTp0/A81UqlaiursaePXuwbds2/OY3v8Hy5cuxd+9eFBUVdWNJiIhIrti0j4iIYt4tt9yCb775BpmZmSguLnb50+v1QU1LEATcdtttWLlyJQ4dOgS1Wo3NmzeHqeRERCQVJlJERBTz5s6di4yMDNx7773YuXMnTp48ie3bt2Px4sU4e/ZswNPZu3cvVq9ejf3796Ourg7vvfceLl26hMGDB4ex9EREJAU27SMiopiXkJCAHTt24JlnnsHs2bPR3NyM3NxcTJ48GcnJyQFPJzk5GTt27MD69ethMBhQUFCAX//615gxY0YYS09ERFIQRL6TlYiIKGg1NTWorKxEY2NjwB/k7VBYWIglS5ZgyZIlYSkbERGFH5v2ERER9UBeXh4eeOCBgIZdvXo1EhMTUVdXF+ZSERFRuPGOFBERUTe0trbi3LlzAIDExERkZ2f7Hefq1au4evUqAPvbAIN9kQUREckHEykiIiIiIqIgsWkfERERERFRkJhIERERERERBYmJFBERERERUZCYSBEREREREQWJiRQREREREVGQmEgREREREREFiYkUERERERFRkJhIERERERERBen/A/Jjj1lwP55uAAAAAElFTkSuQmCC", - "text/plain": [ - "<Figure size 1000x600 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAIhCAYAAABE54vcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAAC6HklEQVR4nOzdd3QUVd8H8O9ms6kkVElCkQ4iHUWaUqREIvgoKiqvAoI+SFFBEUUEQZCqoKKChSbIg6CIgAESeguSIBAgdAIkpBFIr1vm/WPZzU62J7vZ9v2ck3OyM3fu3Jm9Mzu/uXfuSARBEEBEREREREQW83J0AYiIiIiIiFwNAykiIiIiIiIrMZAiIiIiIiKyEgMpIiIiIiIiKzGQIiIiIiIishIDKSIiIiIiIisxkCIiIiIiIrISAykiIiIiIiIrMZAiIiIiIiKyEgMpIjfSuHFjSCQS7V9gYCA6d+6Mb7/9FoIgiNIeOHBAlFb374UXXtCmEwQB33zzDR566CH4+voiLCwM48aNQ1ZWlt76v/rqKwwdOhRNmjSBRCJBnz59TJb3r7/+Qu/evREcHIzAwEC0adMGP/74o166PXv2oHv37ggICECdOnUwatQoZGRkWLRPNNu0YMECvXlr1qyBRCJBXFycdtqsWbNE+8LLywthYWGIiIjA0aNHLVqnZr0TJ060OD0AjBo1yuh3ovs3atQoo3loyu/l5YXr16/rzS8oKEBwcLDZfDxJnz59zNZVd3Xs2DHMmjUL2dnZDi3HvHnzsHXrVr3pCQkJmDVrFm7cuFHlZbKFlJQUzJo1C6dPn9abpzlWHWH69Ono1KkTatWqBT8/PzRt2hT//e9/cfPmzQrneePGDUgkEqxZs0Y7zVbnUyJnxUCKyM307NkTMTExiImJwbp16xAQEIC3334b8+fPN5h+3rx52vSaP920U6ZMweTJk/Gf//wHO3bswEcffYQNGzZgwIABkMvlorxWrFiBmzdv4sknn8QDDzxgspwLFizA0KFD0bZtW2zatAnbtm3D+PHjUVpaKkp38OBBDBo0CCEhIfjrr7/w9ddfY8+ePejXrx9KSkos3i8LFizAvXv3LE6/a9cuxMTE4MiRI1i6dCnS0tLQp08f/PvvvxbnYa0ZM2aIvofvvvsOgP53NGPGDLN5VatWDatXr9abvnnzZsjlcshkMpuXn1zPsWPHMHv2bKcOpGbPnu3SgdTs2bMNBlJvvPEGYmJiqr5QALKzs/HKK69g7dq12LVrF6ZMmYIdO3aga9euuHv3rs3X54jzKVFV8HZ0AYjItmrUqIFu3bppP/fv3x8PPvggfvjhB3z88cd66Vu0aCFKr+v27dv4+uuvMWHCBCxcuBAAMGDAANStWxfDhw/HmjVr8Oabb2rTJyQkwMtLfX+mbdu2Rst48uRJTJ8+HfPnz8fUqVO10/v166eX9oMPPkDLli3x+++/w9tbfcpq0qQJevbsiVWrVmHcuHGmdod2Hxw4cACff/45vvzyS7PpAeCRRx5BnTp1AAA9evTAY489hmbNmuH3339H586dLcrDWs2aNUOzZs20n4uLiwGY/o6Meemll7B27VrMnj1b+50AwMqVK/Hcc89h27Zttim0AxUWFiIgIMDRxbCZoqIi+Pn5GWylcLdtJaBBgwZo0KCBQ9atuUmj0adPHzRp0gQRERH466+/MHr0aJuuzxHnU6KqwBYpIien6Rpx/vx5vPLKK6hevTpCQkIwevRo5OTkmF0+ODgYLVu2RHp6utXrPn78OJRKJSIiIkTTBw8eDAD4448/RNN1L9hN+fbbb+Hr64u3337bZLrbt28jNjYWr732mjaIAtQ/xC1btsSff/5p0fpatWqFMWPG4Lvvvqtw15Xq1asDQKVacm7duoVXX30VdevWha+vL1q3bo0vv/wSKpWqwnkaM3r0aCQlJSE6Olo77fLlyzhy5IjRi6Tc3FxMmTIFTZo0gY+PD+rXr49JkyahoKBAlO67775Dr169ULduXQQGBqJdu3ZYtGiRXgvlqVOnMHjwYO321qtXD08//TSSk5MBGO4KpCGRSDBr1iztZ81x8O+//+KFF15AzZo1tUGnIAj4/vvv0bFjR/j7+6NmzZp44YUX9Lo2CoKARYsWoVGjRvDz80Pnzp2xc+dOi/epSqXCsmXLtOvR3LTQDUrLl1ujcePGoq6Umm6lUVFRGD16NB544AEEBASgpKQEffr0Qdu2bXHo0CH06NEDAQEB2u/M0u9I07V03bp1aN26NQICAtChQwfs2LFDtE8/+OADANB2x5VIJDhw4IDF+8SU4uJivP/+++jYsSOqV6+OWrVqoXv37vjrr7/0ylpQUIC1a9dqy9CnTx+sWbMGL774IgCgb9++2nm69UXTOh0cHIyAgAD07NkTe/fuFeVv6TnUmvp49epVvP7662jRogUCAgJQv359DBkyBGfPntWmOXDgALp06QIAeP3117Xl1+RjqGufSqXCokWLtF2p69atixEjRmiPGQ1NHYmNjcUTTzyBgIAANG3aFAsWLKjw+UTTi0D3XGtMSkoKhg0bhqCgIFSvXh0vvfQS0tLSLF6XLc6nRM6AgRSRi3j++efRsmVL/PHHH9rudZMnTza7nEKhQFJSElq2bGlwvkqlgkKhEP1paLrZ+fr6ipaRyWSQSCSIj4+v0LYcOnQIrVu3xh9//IFWrVpBKpWiQYMG+Oijj0Rd+86dOwcAaN++vV4e7du31863xKxZsyCVSi3qFgcASqUSCoUCpaWluHr1KiZMmABfX1/R82PWuHPnDnr06IGoqCjMmTMH27ZtQ//+/TFlyhSrn6WyRIsWLfDEE09g1apV2mmrVq1C48aNDbb8FRYWonfv3li7di3eeecd7Ny5Ex9++CHWrFmDZ555RvSM3bVr1zB8+HCsW7cOO3bswJgxY7B48WKMHTtWm6agoAADBgxAeno6vvvuO0RHR+Orr77Cgw8+iLy8vApv19ChQ9G8eXNs3rwZK1asAACMHTsWkyZNQv/+/bF161Z8//33OH/+PHr06CG6gTB79mx8+OGHGDBgALZu3Ypx48bhzTffxKVLlyxa96hRo/Duu++iS5cu+O2337Bx40Y888wzlep2Nnr0aMhkMqxbtw6///679sIyNTUVr776KoYPH47IyEiMHz/equ8IAP7++298++23+Oyzz/DHH3+gVq1aeO6557QB5htvvKG9mbFlyxZt11FbtRCUlJTg3r17mDJlCrZu3Yr//e9/ePzxxzF06FD88ssv2nQxMTHw9/dHRESEtgzff/89nn76acybNw+AOnjXzHv66acBAOvXr8fAgQMRHByMtWvXYtOmTahVqxbCw8P1gimg4udQQ1JSUlC7dm0sWLAAu3btwnfffQdvb2907dpVW586d+6s7V77ySefaMv/xhtvGM133Lhx2jq6bds2zJkzB7t27UKPHj2QmZkpSpuWlob/+7//w6uvvopt27Zh0KBBmDZtGtavX2/xdigUChQVFeHUqVOYNGkSWrZsiaFDh5pcpqioCP3790dUVBTmz5+PzZs3IzQ0FC+99JLRZWx9PiVyGgIRObVPP/1UACAsWrRINH38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+P7770XzP/zwQ7Rs2RIBAQFo2rQpZsyYAblcPADHggULEBISgqCgIIwZMwbFxcXaeYcOHYJMJkNaWppomffffx+9evUyWnaJRIIffvgBgwcPRkBAAFq3bo2YmBhcvXoVffr0QWBgILp3745r166Jltu+fTseeeQR+Pn5oWnTppg9ezYUCoV2/pIlS9CuXTsEBgaiYcOGGD9+PPLzy4LjNWvWoEaNGti9ezdat26NatWqaQNSZ2RVICWTyXDu3DlI+OY2IiIij5SSU2w+kRs6evWuo4tQKQUlCvOJnFCxolz3RkGApLBA/VdQAJT7084r1J9n7k93WYP5VyKYvn79Oo4e3AtvmUw77aeff8b05cvx+bhxuHDuHObNm4cZM2ZouwQCQFBQENasWYOEhAR8/fXX+Omnn7B06VLt/E2bNuHTTz/F559/jri4OISFhYmCsV69eqFp06ZYt26ddppCocD69evx+uuvmyzznDlzMGLECJw+fRoPPfQQhg8fjrFjx2LatGmIi4sDAEycOFGbfvfu3Xj11VfxzjvvICEhAT/88APWrFmDzz//XJvGy8sL33zzDc6dO4e1a9di3759mDp1qmi9hYWF+OKLL7Bu3TocOnQIt27dwpQpUyzd1VXK6mekRowYgZUrV2LBggX2KA8RkVn2uDHM20NEZEp+SeWH4XZko9acHQmOW7kNSYoK0a5VA6Pz25X77AWghgX5BhlYVk9+PhAYaEFuajt27EC1atWgVCq1rURTZpYFFXM+/xxfTpqEoU8+CTRpgibNm2sDkJEjRwIAPvnkE236xo0b4/3338dvv/2mDT6++uorjB49Gm+88QYAYO7cudizZ4+oVWrMmDFYvXo1PvjgAwDA33//jcLCQgwbNsxk+V9//XVtmg8//BDdu3fHjBkzEB4eDgB49913RcHY559/jo8++khb9qZNm2LOnDmYOnUqPv30UwDApEmTtOmbNGmCOXPmYNy4caLgTy6XY8WKFdpHhiZOnIjPPvvM9M52EKsDqdLSUvz888+Ijo7Go48+isByFWrJkiU2KxwReSZP7kHjydtO5jHgd21rjt3AlPBWDln3vosZDlmvrbjiubFv375Yvnw5CgsL8fPPP+NkfAJeef2/AIA7d+4gKSkJY+bMwZuffw54qTuJKRQKVK9eXZvH77//jq+++gpXr15Ffn4+FAoF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", - "text/plain": [ - "<Figure size 1000x600 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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1qFsQD0QS/UeT2St987GCQAmE+CIvfYpVx9je1dGTNW7SvpPJPpATNV7HGG9u4lif2K9R0ZnTtCZIwQiiKFK9AIHDx5EaWmp0mEQEREREZFKHDhwACUlJQE/ZyIFwOl04vDhw0hNTYUgCIrGYjKZUFpaigMHDiAtLU3RWHoT1rsyWO/KYL0rg/WuDNa7MljvymC9R4YoimhpaUFRURE0msB3QvHSPgAajSZotqmEtLQ0dgAFsN6VwXpXButdGax3ZbDelcF6VwbrvefS09NDluHDJoiIiIiIiMLERIqIiIiIiChMTKRUxmAwYOHChTAYDEqH0quw3pXBelcG610ZrHdlsN6VwXpXBus9uviwCSIiIiIiojDxjBQREREREVGYmEgRERERERGFiYkUERERERFRmJhIERERERERhYmJlMo899xzKC8vR2JiIqqrq7F+/XqlQ4pr9fX1EATB46+goEDpsOLOunXrMG3aNBQVFUEQBLz55psen4uiiPr6ehQVFSEpKQkXXnghdu7cqUywcSRUvc+ePdun/Y8dO1aZYOPEE088gdGjRyM1NRV5eXm47LLLsHv3bo8ybO+RJ6Xe2d4j7/nnn8fw4cNdP/5aU1OD9957z/U527o8QtU723r0MJFSkRUrVmDu3Ll44IEHsG3bNowfPx51dXVobGxUOrS4NnToUBw5csT1t2PHDqVDijtmsxlVVVV45pln/H7+61//Gk899RSeeeYZfPHFFygoKMCkSZPQ0tIS5UjjS6h6B4ApU6Z4tP933303ihHGn7Vr1+K2227D559/jlWrVsFut6O2thZms9lVhu098qTUO8D2HmklJSVYsmQJNm/ejM2bN+Oiiy7C9OnTXckS27o8QtU7wLYeNSKpxjnnnCPOmTPH473BgweL9913n0IRxb+FCxeKVVVVSofRqwAQV65c6XrtdDrFgoICccmSJa73LBaLmJ6eLr7wwgsKRBifvOtdFEVx1qxZ4vTp0xWJp7doamoSAYhr164VRZHtPVq8610U2d6jJTMzU3zppZfY1qOss95FkW09mnhGSiWsViu2bNmC2tpaj/dra2uxceNGhaLqHRoaGlBUVITy8nJcc801+O6775QOqVfZt28fjh496tH2DQYDLrjgArb9KFizZg3y8vIwcOBA/PznP0dTU5PSIcWV5uZmAEBWVhYAtvdo8a73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", - "text/plain": [ - "<Figure size 1000x600 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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FKBpzhcQEOAQiZSfnx8CAgIqOJGSavYRAQEBbntwI/NMrqNSacnfAQFud+DhduQYxNqPuvv6bwluI8VEW0fJcm6+PXMdLWbukR92NkFERERERGQlJlJERERERERWYiJFRERERERkJSZSREREREREVmIiRUREREREZCUmUkRERERERFZiIkVERERERGQlJlJERERERERWYiJFRERERERkJSZSREREREREVmIiRUREREREZCUmUkRERERERFZiIkVERERERGQlJlJERERERERWYiJFRERERERkJSZSREREREREVmIiRUREROQGChVKnL2dDqVKEDsUIpfARIqIiIjIDUzcFIUhK09gxcE4sUMhcglMpIiIiIjK6Juwqxi0/CjyihRih2LW3pj7AIA1x+NFmX9+kRKDlh/F12FXRJm/KYeuJqP/N4dw5laa2KGQE2EiRUREerIL5Pj+wDXEp+SKHYpF7mXk47v915CaUyh2KORCEjOL16sUE+vV9wfjcPFuFv4+c6cCI3NOf59JwMW7WVhx8LpoMcTez8aKg3EokCt1ho9aG4H4lFy88fMpkSIjZ+QpdgBEROR45uyMwZ+Rd7Bs3zXEzQsROxyzhv18EjdT83DyRirWj3pM7HDIBWQXyDHou2NIzS3C8bgU/DGuh8nyCqVtnztKzipAFT8ZvD2lNq1XTEU2/o7KYsDSIwCAnEIFPnn2Ub3xRQpVRYdETox3pIiISE/kzXQAgMJJHkq/mZoHADhxPVXkSMgVCIKA9rP2IDW3CABwKr5im3vFJeeg67z9CH540k+2d+FOptghkAtgIkUWyS9SYuSa09gQflPsUIhcSvj1VAz9KRzX7mebLbvyUBz+79dIKJS2vWJqr3qJnJXYFxB2XUgEUHKBQNuWs3fwv19OIiOvqKLDcljn72Rg6E/hiE7IEDsUcjNMpMgiG0/ewuHYB5j+7yWxQ7GZs7fTse/hg7cAcDo+DYeuJosYEbmjN34+idPxaXj710izZRftvoo9Mfc1D4zbirrefZddd/1/kF2IzadvG+wQoFChxJ8RCUjMzLe63qwCOTafvo30XJ7U2tKBK/dx5lYajl1LwYnrKWKH41Am/3kOx+NSsWzftXLXJQgClu2LxYJdVxyuS3SFUoW/IhNw20AyWdrLP5zA6fg0vLjiOK4mmb8oRWQrfEaKLJJdWHG9EQmC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JkEREbkDdlRGJI6K2vRe7FSvguZExiiUKuQWKip0nhkZGTh27BgWLlyI/v37o3HjxujatSumTZuG5557DgDQpEkTAMBLL70EiUSi+Xz9+nW88MILCAwMRKVKlfDEE09g3759OvU3adIE8+bNw5gxY1C5cmU0atQIq1at0ilz+vRpdO7cGT4+Pnj88ccRFRVlMNbjx4+jY8eO8PHxQbdu3XDhwgUAQG5uLho1aoS///5bp/yOHTvg7++P7GzD7zbs168f3nvvPXz44YeoVq0aAgMDsWrVKuTm5mL06NGoXLkymjdvjl27dulMFxMTg5CQEFSqVAmBgYEYPnw4UlJSNON3796N3r17o2rVqqhRowYGDRqE69dLnilWN13csmUL+vfvDz8/P3Ts2FHnDqA9WJxIbd++Hdu3bwcAhIWFaT5v374dW7duxZw5czQrAZGju5vh/O3xyfk5ch5lrlcyR35my5G/V3IvUg8+QWFrgiAgtygXyTmZyJPnGv2XW1T870FOltkyuUWlhqvHKfKL/z0sY2lvjZUqVUKlSpWwbds2FBYWGiwTEREBAFi7di0SExM1n3NychASEoJ9+/YhKioKwcHBGDx4MG7fvq0z/eLFizUJ0oQJEzB+/HhcuXIFQHESNGjQILRq1QpnzpzBrFmzMGXKFINxfPzxx/jmm28QERGB2rVr4/nnn4dcLoe/vz+GDBmCdevW6ZRfu3YtXnnlFVSuXNno8q9fvx41a9bE6dOn8d5772H8+PF49dVX0bNnT5w9exbBwcEYPnw48vLyAACJiYno27cvOnXqhMjISOzevRv379/H0KFDNXXm5uZi8uTJiIiIwP79++Hh4YGXXnoJKpXu+xg///xzTJkyBdHR0WjZsiXeeOMNKBT2S6Qteo8UALz44osAittzjhw5UmecTCZDkyZNsHjxYpsGR2Qvn2+9IHYIuJpk+GoOkTuxRzfSYt3pc+Dc0qWk5xZp/lbwpdaiELP793xFHirNr16xMw0r/i9nWg78vfzNFvf09MS6devw9ttv48cff0SXLl3Qt29fvP766+jQoQMAoFatWgCAqlWrok6dOpppO3bsiI4dO2o+z507F1u3bsX27dsxceJEzfCQkBBMmDABAPDJJ59g6dKlOHToEB599FH89ttvUCqVWLNmDfz8/NC2bVvcuXMH48eP14t15syZCAoK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mzdj69atMBqNuO6669DW1hZ0uXV1dZg7dy7uvPNOfPXVV9i4cSNmz54NURSjtahERCQTJlJERBR3MjIy8OSTT2LAgAG48847MWDAADQ1NWHJkiUoLi7GQw89BJ1Oh23btgEA1qxZA5VKheeffx6lpaUYNGgQXnzxRdTW1mLjxo1Bl1tXVwer1YrZs2ejd+/eKC0txfz582W99ZCIiKKDv5EiIqK4M2TIEKhU7ecKc3JyUFJS4vqsVquRmZmJ06dPAwB2796NQ4cOITU1VTKflpYWHD58OOhyhw0bhokTJ6K0tBRTpkxBZWUlbrzxRqSnp4e5REREpDRMpIiIKO5otVrJZ0EQfA6z2+0AALvdjrKyMvztb3/zmlf37t2DLletVqO6uhrbt2/Hhg0b8Mc//hFLly7Fjh07UFRU1IklISIipeKtfURElPCGDx+Ob775BtnZ2ejXr5/kf5PJFNK8BEHAmDFjsHz5cnz66afQ6XRYu3ZtlGpORERyYSJFREQJ79Zbb0VWVhZmzpyJLVu2oKamBps2bcIDDzyAY8eOBT2fHTt2oKqqCrt27UJtbS3eeustnDlzBoMGDYpi7YmISA68tY+IiBJeSkoKNm/ejF/84heYPXs2Ghsb0bNnT0ycOBFpaWlBzyctLQ2bN2/GqlWr0NDQgMLCQvzud7/D1KlTo1h7IiKSgyDymaxEREQh27hxI8aPH48LFy4E/UJep969e2PBggVYsGBBVOpGRETRx1v7iIiIwpCfn4+5c+cGNW5VVRWMRiNqa2ujXCsiIoo2XpEiIiLqhObmZhw/fhwAYDQakZub2+E058+fx/nz5wE4ngYY6oMsiIhIOZhIERERERERhYi39hEREREREYWIiRQREREREVGImEgRERERERGFiIkUERERERFRiJhIERERERERhYiJFBERERERUYiYSBEREREREYWIiRQREREREVGI/j9WAp23N5zOKgAAAABJRU5ErkJggg==", - "text/plain": [ - "<Figure size 1000x600 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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tlqlShXUrl0b8+bNw4cffohvvvkGnTt3BgBtAL1+/Xq89tprePrpp7FmzRrI5XJ89913iIiIQExMjFE5L+811JTbt2+jZs2aWLBgAWrXro2MjAysWbMG3bp1w8mTJ9GqVSt07twZq1evxsiRI/Hxxx/jySefBADUr1/f7HrHjh2LFStWYPz48Rg8eDASExMxbdo07N27F//++y9q1aqlTZuamor/+7//w6RJkzBjxgxs3rwZU6dORd26dbXH1ha7d+8GALRt21Y77dy5c6hduzbCwsL00mquyZprtDm7du3C008/jR49euDnn3+GSqXCokWLzD7YEwRBez8qKipCXFwcvvjiCzzyyCNo0qSJzftE5DTObRAjIg1NF4hFixbpTR83bpzg7++v1xWoUaNGQmRkpKBQKASFQiEkJSUJb7zxhiCXy4WtW7fqLa/pNmbq35UrVwRBEIRTp04JAITZs2frLbtr1y4BgODr62s235a69vn5+QkhISFC9erVha+//lrYvXu38NFHHwne3t7CsGHDtOl+/PFHAYBw5MgRo3X897//tbh9Deh0sfvoo48ELy8v4fTp04IgWO7aZ/ivSpUqwqZNm6xuz9R2BUEQ/ve//wkAhKNHj+qlGzt2rCCTyUx2W6lI1767d+8Kq1evFvz8/IT09HRBqVQK4eHhwsyZMwVBMO5KNX/+fMHLy0vvWAiCIPz2228CACE6Otrk9lQqlaBQKIS1a9cK3t7eQkZGhiAIpd03AQh//PGH2bwmJCSY7fYEQJgxY4bRfk2fPl0v3ZEjRwQAwueff643PTk5WQgICBCmTJkiCIIgZGZmCv7+/sKzzz6rl07TTdRa1779+/cLAISPPvrIYjrDfGs0atRI73hryt5rr71mlLZPnz4CAGHXrl160235jQAIoaGhQk5OjnZaamqq4OXlJcyfP187rTK79imVSkGhUAijR48WHnzwQb15tnbty8/PF2rUqCEMGTJEb7pKpRI6duwodO3aVTtN7DXUlvJoat9KSkqEFi1aCBMmTNBOt9S1z7B724ULFwQAwrhx4/TSHT16VAAgfPjhh9ppmjJieD1p06aNEBERYTaf5pw+fVoICAgwOj8GDBggtGrVyuQyvr6+wn//+1+L6+3WrZtQt25dobCwUDstJydHqFGjhsmufaauvV27dhVSUlJs3iciZ2LXPiKJ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0TVy5EisXr1a+/eqVaswatQovTQff/wxVq9ejWXLluH8+fOYMGECXnnlFezbtw9A6beg6tevj19//RXx8fGYPn06PvzwQ/z6668ASr+19cwzz6BPnz44c+YMjhw5gv/+9782t9KuWbMGPj4+OHToEL777jukpKSgT58+6NSpE44fP45t27bhzp07ePHFF7XLvP/++9izZw82b96M7du3Y+/evThx4oTNx8lV2fyO1Pz58zF48GBs27YN7du3h1wu15u/ePFiu2WO3Juze2E4ogshuyV6LmeX5/JyRLZlfO2fyGVJ/VpWqFChzfQYp2z71zHd4S+37cOtr776KqZOnYrExETIZDIcOnQIP//8M/bu3QugtEVn8eLF2L17N3r06AEAaNq0KQ4ePIjvvvsOffr0gVwux6xZs7TrbNKkCQ4fPoxff/0VL774InJycpCdnY3BgwejWbNmAIDWrVsDgN6gcNY0b94cixYt0v49ffp0dO7cGfPmzdNOW7VqFRo0aIDLly+jbt26WLlyJdauXattwVqzZg3q169v0zFyZTYHUvPmzUNMTAxatWoFAEaDTRDpYlhBRETW2OMhlDvWQEofSvBO6spq1aqFJ598EmvWrIEgCHjyySdRq1Yt7fz4+HgUFRVpAxGNkpISve5/y5cvxw8//ICkpCQUFhaipKQEnTp1AgDUqFEDI0aMQEREBAYMGIDHH38cL774IsLDw23K68MPP6z394kTJ7Bnzx4EBwcbpb127Zo2H5oAUJMXTYzgCWwOpBYvXoxVq1ZhxIgRDsgOSZUtrdliA2p25SCyrFLOEXesfRJRuUn93hwg90b8JxEAgHO3ss2ma1evqt782sH+CK3qZ3X9ltbp51O+8QFGjRqF8ePHAwC++eYbvXmaFqO///4b9erV09+eX2l+f/31V0yYMAGff/45evTogZCQEHz66ac4evSoNu3q1avxzjvvYNu2bfjll1/w8ccfY8eOHejatSu8vLyMuiUqFAqjfAYFBRnlbciQIVi4cKFR2vDwcFy5ckXsIXBbNgdSfn5+eOSRRxyRFyIicgO6rQsSr5MRkYuRyWQI9C2tvlrqZhfo66M3P8DXW7ucJbZ23RPjiSee0I6CFxERoTevTZs28PPzw40bN9CnTx+Tyx84cAA9e/bEuHHjtNOuXbtmlO7BBx/Egw8+iKlTp6JHjx7YsGEDunbtipo1a+Ly5ct6aU+dOmX0eo6hzp074/fff0fjxo3h42N87Jo3bw65XI7Y2FjtKISZmZm4fPmy2X1xNzaH1u+++y6WLl3qiLwQuTypP8kj98J3kSqO7zW6EZ4OJFHe3t64cOECLly4AG9v/UAtJCQEkydPxoQJE7BmzRpcu3YNJ0+exDfffIM1a9YAKA1Yjh8/jpiYGFy+fBnTpk1DXFycdh0JCQmYOnUqjhw5gqSkJGzfvh2XL1/WvifVu3dvHD9+HGvXrsWVK1cwY8YMnDt3zmq+33rrLWRkZODll1/GsWPHcP36dWzfvh2jRo2CSqVCcHAwRo8ejffffx+7du3CuXPnMGLECI8a2dvmFqljx45h9+7d2Lp1K9q2bWsUzeoO8UhERO6FwRtJFUsmSVmVKlXMzps9ezbq1KmD+fPn4/r166hWrRo6d+6MDz/8EADw5ptv4tSpU3jppZcgk8nw8ssvY9y4cfjnn38AAIGBgbh48SLWrFmD9PR0hIeHY/z48RgzZgwAoH///vj4448xZcoUFBUVYdSoUXjttddw9uxZi3muW7cuDh06hA8++AAREREoLi5Go0aN8MQTT2iDpU8//RR5eXl46qmnEBISgkmTJiE723z3SHdjcyBVrVo1DB061BF5ITfEGxt5CrZGElF5OOrSwdZW54qKirI4/48//tD+XyaT4Z133sE777xjMq2fnx9Wr16tN4w6UDqSNgCEhoZi8+bNJpfVvIM1c+ZMfPLJJ2bzoxlF0FCLFi0sNpIEBwdj3bp1WLdunXba+++/bza9u7E5kDL8EYmojKnblpjvTrASTuXBipJplX1c+Ct4Ng5YTOS5PKcTI0nOuds5JqczqCAiIlMs3R/4CRYiqmyiAqnOnTsjMzNT9EofffRR3Lp1q9yZIs9QpFDp/c17ILkyll8i5+IpSESVTVTXvlOnTuH06dOoUaOGqJWeOnUKxcXFFcoYERGRKWy1JiIiKRD9jlT//v1FvesBsHmdRPKQypCH7CZRpeG7YUSOw7OLSDxRgVRCQoLNK65fv77NyxARuSoOC05EjsSH1ETSIyqQatSokaPzQaTFp2FERET6xPYKIqLKw1H7yHnc8OEab3REREREnoGBFDmPG8YcbrhLRERERGQCAykiIhKNr2kQ6eP7keQKEhMTIZPJcOrUKQDA3r17IZPJkJWV5dR8uToGUuQ0HHlLOlg5JnIGXgNtZem+4arXMUvZ5n3SdaWlpWHMmDFo2LAh/Pz8EBYWhoiICBw5ckSbRiaT4Y8//nBeJqnCbA6kmjZtivT0dKPpWVlZaNq0qV0yRZ5J83pRUnq+8UQiqXPRShyRu2DLEEnJc889h9OnT2PNmjW4fPkytmzZgr59+yIjI8PZWSM7sjmQSkxMhEqlMppeXFyMW7du2SVT5BnMxUhnbmY7dftSWycREZXiNZZcQVZWFg4ePIiFCxeiX79+aNSoEbp27YqpU6fiySefBAA0btwYAPDss89CJpNp/7527RqefvpphIaGIjg4GF26dMHOnTv11t+4cWPMmzcPo0aNQkhICBo2bIgVK1bopTl27BgefPBBBAYGol+/fjh58qTJvB46dAgdO3aEv78/unXrhrNnzwIA8vPzUaVKFfz222966f/66y8EBQUhNzfX5Pr69u2Lt99+G++99x6qV6+O0NBQrFixAvn5+Rg5ciRCQkLQrFkz/PPPP3rLxcfHIzIyEsHBwQgNDcWrr76Ke/fuaedv27YNjz76KKpVq4aaNWti8ODBuHbtmna+puvipk2b0K9fPwQGBqJjx456LYCOIDqQ2rJlC7Zs2QIAiImJ0f69ZcsWbN68GbNnz9YWAiIiIiJyQRKPVgVBQH5JPvJL8lGgMP/P1HzNcpb+WVqn2JF5g4ODERwcjD/++APFxcUm08TFxQEAVq9ejZSUFO3feXl5iIyMxM6dO3Hy5ElERERgyJAhuHHjht7yn3/+OR5++GGcPHkS48aNw9ixY3Hx4kUApUHQ4MGD0apVK8TFxeGDDz7AlClTTObj/fffx2effYa4uDjUqVMHTz31FBQKBYKCgvCf//wHq1ev1ku/evVqPP/88wgJCTG7/2vWrEGtWrVw7NgxvP322xg7dixeeOEF9OzZE//++y8iIiLw6quvoqCgAACQkpKCPn36oFOnTjh+/Di2bduGO3fu4MUXX9SuMz8/HxMnTkRcXBx27doFLy8vPPvss1Cr1Xrb/uijjzB58mScOnUKLVu2xMsvvwylUmk2rxUl6jtSAPDMM88AKO3POXz4cL15crkcjRs3xueff27XzJF7c9X+7ETkXBKv55GT8J7iGQoUBQieH+yUbR957SYC5UFW0/n4+CAqKgpvvPEGli9fjs6dO6NPnz74z3/+gw4dOgAAateuDQCoVq0awsLCtMt27NgRHTt21P49Z84cbN68GVu2bMH48eO10yMjIzFu3DgAwAcffIAlS5Zg7969eOCBB/Djjz9CpVJh1apV8Pf3R4MGDZCRkYG33nrLKK8zZszAgAEDAJQGQPXr18fmzZvx4osv4vXXX0fPnj1x+/Zt1K1bF/fu3cPWrVuxY8cOi/vfsWNHfPzxxwCAqVOnYsGCBahVqxbeeOMNAMD06dOxbNkynDlzBt27d8eyZcvQuXNnzJs3T7uOVatWoUGDBrh8+TJatmyJ5557Tm8bK1euRJ06dRAfH4927dppp0+ePFnb6jdr1iy0bdsWV69exQMPPGAxz+UlukVKrVZDrVajYcOGSEtL0/6tVqtRXFyMS5cuYfDgwQ7JJLknVoaIiAjg/YDcz3PPPYfbt29jy5YtiIiIwN69e9G5c2dERUVZXC4/Px9TpkxBmzZtUK1aNQQHB+PixYtGLVKagAwobeQICwtDWloaAODChQvo2LEjAgMDtWl69Ohhcnu602vUqIFWrVrhwoULAICuXbuibdu2WLt2LQBg3bp1aNiwIXr37m1xH3Tz5u3tjZo1a6J9+/baaaGhoQCgze+JEyewZ88ebUtecHCwNvDRdN+7du0ahg0bhqZNm6JKlSpo0qQJAFg8LuHh4XrbcQTRLVIaCQkJjsgHERF5AKlVmDlAAZFrCZQHIm9qHgDg7K0ss+na16umN79OiD9Cq/hbXb+ldQb4BJqdZ4q/vz8GDBiAAQMGYPr06Xj99dcxY8YMjBgxwuwy77//PmJiYvDZZ5+hefPmCAgIwPPPP4+SkhK9dHK5XO9vmUym7eYmtguiOTKd5t3XX38dX3/9Nf73v/9h9erVGDlypN58U0zlTXeaZnlNftVqNYYMGYKFCxcarUsTDA0ZMgQNGjTA999/j7p160KtVqNdu3YWj4vhdhzB5kAKAHbt2oVdu3ZpW6Z0rVq1yi4ZIyIiIiLSJZPJEORb2r0uUK4wmy7IN0hvfqDcH0G+1gMpS+usqDZt2ugNdy6Xy40GcDtw4ABGjBiBZ599FkDpO1OJiYk2b2fdunUoLCyEn58fACA2NtZk2tjYWDRs2BAAkJmZicuXL+t1g3vllVcwZcoUfPXVVzh//rzR6z320LlzZ/z+++9o3LgxfHyMQ5P09HRcuHAB3333HXr16gUAOHjwoN3zUR42j9o3a9YsDBw4ELt27cK9e/eQmZmp94/IVUjswTiRS6jM9pt7eSXWE5FbkFpLJVFFpKen47HHHsP69etx5swZJCQkYOPGjVi0aBGefvppbbrGjRtj165dSE1N1dahmzdvjk2bNuHUqVM4ffo0hg0bZnOLyrBhw+Dl5YXRo0cjPj4e27dvx+LFi02m/eSTT7Br1y6cO3cOI0aMQK1atbTjIgBA9erVMXToULz//vsYOHAg6tevb/sBseKtt95CRkYGXn75ZRw7dgzXr1/H9u3bMWrUKKhUKlSvXh01a9bEihUrcPXqVezevRsTJ060ez7Kw+YWqeXLlyMqKgqvvvqqI/JDROSS2EHMvtJyi5ydBSKicgkODka3bt2wZMkSXLt2DQqFAg0aNMAbb7yBDz/8UJvu888/x8SJE/H999+jXr16SExMxJIlSzBq1Cj07NkTtWrVwgcffICcnBybt//XX3/hzTffxEMPPYRWrVph/vz5eOGFF4zSLliwAO+++y6uXLmCjh07YsuWLfD19dVLM3r0aGzYsAGjRo0q3wGxom7dujh06BA++OADREREoLi4GI0aNcITTzwBLy8vyGQy/Pzzz3jnnXfQrl07tGrVCl999RX69u3rkPzYwuZAqqSkBD179nREXojcEp+0egaOGGZf6S7UGsWfnoh0+fn5Yf78+Zg/f77FdEOGDMGQIUP0pjVu3Bi7d+/Wm2Y42p6prn6nTp3S+7t79+44deoU1Go1cnJyUKVKFb13p/r27av929pgcSkpKahZs6Zea5o5e/fuNZpmKr+G73G1aNECmzZtMrvexx9/HPHx8WbX0bhxY6N1VqtWrcLvi1ljc9e+119/HRs2bHBEXsjDmCvaDDyIXBvPYSIi11dQUIDz589j/vz5GDNmjFFLFZWjRaqoqAgrVqzAzp070aFDB6OROcz1wSQy5OinBERkHUetI5Ku0vOzcu+VvDOTxqJFizB37lz07t0bU6dOdXZ2JMnmQOrMmTPo1KkTAODcuXN686wNh0gkBi/iRERERM41c+ZMzJw509nZkDSbA6k9e/Y4Ih/kphhcE3k2NjyTPVkqT7zfOAmPO3kwm9+R0rh69SpiYmJQWFgIgN20iEQxc8MxPHsq+3xi9y7X5Aq/m+CANmbebUhKGEcQeS6bA6n09HT0798fLVu2RGRkJFJSUgCUDkIxadIku2eQiIhIV5FCZT0REVUOPkgnD2ZzIDVhwgTI5XLcuHEDgYGB2ukvvfQStm3bZtfMketjSyUR2dvxRH78nYyxYYiIKpvN70ht374dMTExRl82btGiBZKSkuyWMXJdvJkRERERkbuzuUUqPz9fryVK4969e/Dz87NLpkh6/jmXavd1sq2KiIjshe8qEVFlszmQ6t27N9auXav9WyaTQa1W49NPP0W/fv3smjkiIlfBEcOInIunoH2wR77rmzlzpvZTReRYNgdSn376Kb777jsMGjQIJSUlmDJlCtq1a4f9+/dj4cKFjsgjuTBLlUtzF2u+V0UkYaysErk1R4y06YlGjBgBmUwGmUwGHx8fNGzYEGPHjkVmJt/xdCc2B1Jt2rTBmTNn0LVrVwwYMAD5+fkYOnQoTp48iWbNmjkij0QOwYCNyDWx5cFzWfrtXeFzAORZnnjiCaSkpCAxMRE//PAD/vrrL4wbN87Z2SI7simQUigU6NevH3JycjBr1ixs3boV0dHRmDNnDsLDwx2VR3JTzq4MMYwiIiIiR/Hz80NYWBjq16+PgQMH4qWXXsL27dv10qxevRqtW7eGv78/HnjgAXz77bd68z/44AO0bNkSgYGBaNq0KaZNmwaFQqGXZsGCBQgNDUVISAhGjx6NoqIi7bz9+/ejdu3aSE3Vf9d90qRJ6N27t9m8y2QyfPfddxg8eDACAwPRunVrHDlyBFevXkXfvn0RFBSEHj164Nq1a3rL/fXXX3jooYfg7++Ppk2bYtasWVAqldr5ixcvRvv27REUFIQGDRpg3LhxyMvL086PiopCtWrVEBMTg9atWyM4OFgbkEqRTYGUXC7HuXPn+C4A2YW5UsSGIiJyR8a3Tt5Lie9X2kwQgPx8ID8fsgLz/4zm31/G2j+L66xABeX69evYtm0b5HK5dtr333+Pjz76CHPnzsWFCxcwb948TJs2DWvWrNGmCQkJQVRUFOLj4/Hll1/i+++/x5IlS7Tzf/31V8yYMQNz587F8ePHER4erheM9e7dG40bN8b69eu105RKJdavX4+RI0dazPPs2bPx2muv4dSpU3jggQcwbNgwjBkzBlOnTsXx48cBAOPHj9emj4mJwSuvvIJ33nkH8fHx+O677xAVFYW5c+dq03h5eeGrr77CuXPnsGbNGuzevRtTpkzR225BQQE+++wzrFu3Dvv378eNGzcwefJksYe6Utk8/Plrr72GlStXYsGCBY7ID5EbYmRIZE982OK53PG3ZzdzGxUUAMHBAID2VpJam2/rMmcv3YQQGCR6XVu3bkVwcDBUKpW2lWjx4sXa+bNnz8bnn3+OoUOHAgCaNGmiDUCGDx8OAPj444+16Rs3boxJkybhl19+0QYfX3zxBUaNGoXXX38dADBnzhzs3LlTr1XqlVdeQVRUlHaZv//+GwUFBXjxxRct5n/kyJHaNB988AF69OiBadOmISIiAgDw7rvv6gVjc+fOxf/+9z9t3ps2bYrZs2djypQpmDFjBgDgvffe06Zv0qQJZs+ejbFjx+oFfwqFAsuXL9e+MjR+/Hh88sknFvPqLDYHUiUlJfjhhx+wY8cOPPzwwwgK0i9QugWEqLJJ8XbEeyQRkWfLK1ZaT2QCB35wbf369cOyZctQUFCAH374AZcvX8bbb78NALh79y6Sk5MxevRovPHGG9pllEolqlatqv37t99+wxdffIGrV68iLy8PSqUSVapU0c6/cOEC3nzzTb3t9ujRA3v27NH+PWzYMMydOxexsbHo3r07Vq1ahRdffNGoDm+oQ4cO2v+HhoYCANq3b683raioCDk5OahSpQpOnDiBuLg4vRYoTRBZUFCAwMBA7NmzB/PmzUN8fDxycnKgVCpRVFSE/Px8bX4CAwP1xl0IDw9HWlqaxbw6i82B1Llz59C5c2cAwOXLl/XmsXmaAPHBDG8PEsJTl1yIPW81rKhSZSgoKV8gRSYEBgL336k5eyvLbLL29arpza8T7I/Qqv5WV29pnUKA8XdULQkKCkLz5s0BAF999RX69euHWbNmYfbs2VCr1QBKu/d169ZNbzlvb28AQGxsLP7zn/9g1qxZiIiIQNWqVfHzzz/j888/tykftWvXxuDBg7F69Wo0bdoU0dHR2Lt3r9XldLshaur4pqZp9kWtVmPWrFnaFjZd/v7+SEpKQmRkJN58803Mnj0bNWrUwMGDBzF69Gi99750t6HZjlRbbm0KpFQqFWbOnIn27dujRo0ajsoTURkPDc4r+3pxMSWncjdILosjo5Ej2KOS5KG3C88jkwH3Wy6EQIX5dEFBevOFIH8gyHogZXGdFTRjxgwMGjQIY8eORd26dVGvXj1cv34d//d//2cy/aFDh9CoUSN89NFH2mlJSUl6aVq3bo3Y2Fi89tpr2mmxsbFG6xo9ejSGDRuG+vXro1mzZnjkkUfstFdlOnfujEuXLmmDR0PHjx+HUqnE559/Di+v0mEafv31V7vnozLZFEh5e3sjIiICFy5cYCBF5Eau3c13dhZcHitxzpNfonJ2FkgCeArah0Qf/LuFvn37om3btpg3bx6+/vprzJw5E++88w6qVKmCQYMGobi4GMePH0dmZiYmTpyI5s2b48aNG/j555/RpUsX/P3339i8ebPeOt99910MHz4cDz/8MB599FH8+OOPOH/+PJo2baqXTtOiNWfOHIe9bzR9+nQMHjwYDRo0wAsvvAAvLy+cOXMGZ8+exZw5c9CsWTMolUosXboUQ4YMwaFDh7B8+XKH5KWy2Pwdqfbt2+P69euOyAsREZHNPo256OwsUCVhHZ9c3cSJE/H9998jOTkZr7/+On744QdERUWhffv26NOnD6KiotCkSRMAwNNPP40JEyZg/Pjx6NSpEw4fPoxp06bpre+ll17C9OnT8cEHH+Chhx5CUlISxo4da7RdLy8vjBgxAiqVSq/1yp4iIiKwdetW7NixA126dEH37t2xePFiNGrUCADQqVMnLF68GAsXLkS7du3w448/Yv78+Q7JS2Wx+R2puXPnYvLkyZg9ezYeeughoxfVdF+AIyIicrTkjMJyL+vcrooMC4jcVVRUlMnpw4YNw7Bhw8z+bWjRokVYtGiR3jTdke8A4MMPP8SHH36oN23hwoVG60pJSUFkZKSob78adrdt3Lix0bS+ffsaTYuIiNCO6mfKhAkTMGHCBL1pr776qvb/I0aMwIgRI/TmP/PMM+7xjhRQ+pVmAHjqqaf0BpcQBAEymQwqFbtYUMXw5W9yRRK9xhMRkYfLzs7GsWPH8OOPP+LPP/90dnbcis2BlO5wikQV4eyKp7O3T0TugZcScpSK3Kd4jyON//u//8O///6LMWPGYMCAAc7OjluxOZDq06ePI/JBxJf1iTzAnZwi64kAXL6T6+CckNvhTYTIpK1bt6JKlSrakfLIfmwOpPbv329xfu/evcudGSKAT9GI3Nmz3x4WlS6n0HFDEBMREdmDzYFU3759jabpvivFd6RILMN4iQEUkXvguUzOIOX2KH5/reKkOtgAuS57lCmb2/gyMzP1/qWlpWHbtm3o0qULtm/fXuEMEREREZnCyrTn8fb2BgCUlJToTVepWRaoYgoKCgAAcrm83OuwuUWqatWqRtMGDBgAPz8/TJgwASdOnBC9rv379+PTTz/FiRMnkJKSgs2bN+OZZ57RzhcEAbNmzcKKFSuQmZmJbt264ZtvvkHbtm21aYqLizF58mT89NNPKCwsRP/+/fHtt9+ifv36tu4akdPwWaXrq4zXMzSjoxKRMVar7UNqx9HHxweBgYG4e/cu5HK59j2fu3nFEJQlZpcrKirSm68okaFIxCualtapu26dP4D7wZ4UqdVqlJSUoKioiO9I3ScIAgoKCpCWloZq1appg/XysDmQMqd27dq4dOmSTcvk5+ejY8eOGDlyJJ577jmj+YsWLcLixYsRFRWFli1bYs6cORgwYAAuXbqEkJAQAKVj6f/111/4+eefUbNmTUyaNAmDBw/GiRMnKnRgiIjINUm10SI5o8DZWSCyPwc/3JHJZAgPD0dCQgKSkpK00zMLSpBfbP51Et/CAKRlln1jrsjfB3kB1lsedJcxu+58P+DevdI/EhMBCQcogiCgsLAQAQEBfBBnoFq1aggLC6vQOmwOpM6cOaP3tyAISElJwYIFC9CxY0eb1jVo0CAMGjTI5DxBEPDFF1/go48+wtChQwEAa9asQWhoKDZs2IAxY8YgOzsbK1euxLp16/D4448DANavX48GDRpg586dFj8IRiQlEq33EZEd3RRRQaPyYxXRffn6+qJFixZ63fv+2HEZW8+kmV1m16S+eH3TXu3fr3RrhJGPNrG6Ld1lzK57bFfgySdL//j3XyAw0OoyzqJQKLB//3707t27Ql3Y3I1cLrdLg4vNgVSnTp0gk8mM+il3794dq1atqnCGNBISEpCamoqBAwdqp/n5+aFPnz44fPgwxowZgxMnTkChUOilqVu3Ltq1a4fDhw+bDaSKi4tRXFys/TsnJwdAaWFTKJw7UpRm+87Mh0pVtm2FQgG12nxeTOVTqSybJgiC2X0RBLXRcgqFQq9sqVQqk8sbTis7bkrR+SxPGlvSadIqdQZgMbc/KpVSb7ph3+/ylgcxx07MNuxVLhUKBeDkc8yedM8VtUptNN/WsmI8TWmURveJolJlPN9WhmXPmtLz1PLTV7Wg1q7T1HGxxvC8MZyntvJuhFIpfp9082prHnW3Z26eLsPBmARBxHnnJueL7rliiuiHSRbuKYCleeKUa/n7ebJ0ndS9LxpSq83nW68BweK+G1OauU9aszM+1ew8U+tQm7mvVZSpdepWfLNLBNzKNd8i5e3trTc/VwFRFWdL69Su28sL8vutYwovL8l37VMqlfD29mZPLR1qtRpqtfn7k9gybXMglZCQoPe3l5cXateuDX9/f1tXZVFqaumJHBoaqjc9NDRU27SbmpoKX19fVK9e3SiNZnlT5s+fj1mzZhlN3759OwIl8lRhx44dTtx6ETSvwsXExADwh7miEh0dbTQtrRDa9CUlJSbTAEB2ljd0nyHuP3AAVwOB3Lyy6efPnUP0vbNG2y9dp4/B30CRCkZpzeXT9DrNMd6WtXSatKfSZQBKL15l+6Of9szpM/BPOa39u7SeKHablrdvPv/W9r9svqY8Wi+Xli8pMTExUNn5WuFcZefK5cuXAQTpzbW1rBgqNijP0dH/6FWsLmWVlS3r2yulVOuv8+jRWKRfsLZUWfpdu3YhxOChpmBQXlNTU7V5uXrDC7aOaxQdHY1zKfr7pjvv3j3L6zx06CCSgszO1strZkamheNmvjzrLpOUq59Wf31l08+fPw/dfSouKTZ7PgLudr6UnSumFBYWQkybUk5urtnjm5WZZdM5Z4ql30NsnkxdJ3NKzK/z1u1biI5ONjlPrS67Hxrvu+V8bouJQXnuI1fSxJT7sjRXrl5FdPFlEWu2rcppLb83rFxbDOsJV69eRXSJffIZExODwTr/d4Xz1Ln1StejGYjCGpsDqUaNGtmcmYow7M8p5mVra2mmTp2KiRMnav/OyclBgwYNMHDgQFSpUqViGa4ghUKBHTt2YMCAAU5rglWp8hEbW/r/iIgIeHsH4d0jpkdkjIyMNJqWmJ6PuacOAShtjo+M7Gdy2ZU3YoG8HO3fvXv1QsvQEHx19RDuFOYDANq2a4fIrg2Mth8ZGak3TZOPvGIlPji2W1Q+Ta3THFPbspZOk1Z2LhWrL5d2idXsj2HaDh07IPLBetq/VWoBE2J36K1HDHP7ZCr/1vZfd/6AAQNElUtz5UQjIiICCLJYw3UpuudKy5YtgaRbevNtLSuG8oqVgE55jowcpHdtq3otHd9eOKEz33o5WbrnGoBr2r+7d++Oro1rWFxGN6+P9++PmsF+evMPX0sHYsvyERYWhsjITgCACzuuYMct/Qdw1kRGRiI99gZ+T7xoct7GuydwKTvd7PKPPPIo2tY1fy3X3Z8aNWsgMrKL1XSm8qFx+mY2Fp87anKe7jratm2rt09+vn6IjOxrdlvudL7oniumBAQEIKvE+kgAVUJCEBnZU/u37nGrVr0aIiO7mV3W2vUJMH99FJMnS/fve3nFmHZin8nl69Wth8jI9ibnTT62AypVaXtdlSpVEBnZQ2++pXw+ERGByUd3af8u731El6nj06J5c0T2b16h9VraljmxW+Jx+M5Ni8vrbrN58+aIfNw++dTt8ST181QK9UpXpOmtZo3oQGr37t0YP348YmNjjYKN7Oxs9OzZE8uXL0evXr1sy6kZmpe/UlNTER4erp2elpambaUKCwtDSUkJMjMz9Vql0tLS0LNnT5jj5+cHPz8/o+lyuVwyhcyZefHyKttuaR9S8/kwlUcfn7JpMpnM/H4YBLs+PqX7rFtR9Pb2Nrm84TTN33K16QBazLEUe7xt+V3kcjl8fMpOM3P74+3tozfdy6DrUnnLgphjJ2Yb2uNbwXIpl8sBiZxj9qB7rnh5Gz8ZtbWsGPryn8tGaXTPD7mPj9F8a87dztX728eg7FnjY6IM3Mwu1vvbS+alTVOeUaIs9V03PAYm8+gjfp8sXqOs5FF3e+bm6edLf59kMhHnnZucL7rniimi32+y8HuV97fUVa7lDbZr6jopl5vvQuTlJS7fXjbun4+Z+2RFmFqHl5n7miO2pbddK9cWw+W9vb3slk/D39sVzlMp1XFdgdhjJfoO98UXX+CNN94w2WJTtWpVjBkzBosXLxafQyuaNGmCsLAwvabIkpIS7Nu3TxskPfTQQ5DL5XppUlJScO7cOYuBFElbRb4TcujqPTvmxHEKSky/y1URthy3hHv5dt++p/s1znTXnIqIOpxo93Vev5tn93U6gtpCeZba92Ne/eGo9USQ7miCpC+rwPrw16RDRME+nZzl+HzYQYnS9nc6ybOJbpE6ffo0Fi5caHb+wIED8dlnn9m08by8PFy9elX7d0JCAk6dOoUaNWqgYcOGeO+99zBv3jy0aNECLVq0wLx58xAYGIhhw4YBKA3gRo8ejUmTJqFmzZqoUaMGJk+ejPbt22tH8SPPMmaduO+YKcrxArw9/XbCfHeE8krOED8i2IebzlpPRDa5lVWE0vcJpS0x3TWG4LbUQnEsIaPS8iFGbrG4ByPZhe4xcIS7+/7AdWdnwe2MXnPc7ut0xEjeuy/esf9Kya2JDqTu3LljsZnLx8cHd+/etWnjx48fR79+Ze/PaN5bGj58OKKiojBlyhQUFhZi3Lhx2g/ybt++XfsNKQBYsmQJfHx88OKLL2o/yBsVFcWRSVxAvpnKhyc8tFWo7L+Xlp7gGypUWB+ViEiqVJXQtFORlnHz67T7KskB2CphfzkOeIggc8CA90qJtXaT9IkOpOrVq4ezZ8+ieXPTL+qdOXNG710mMfr27WvxZiWTyTBz5kzMnDnTbBp/f38sXboUS5cutWnb5HzX7rJ7mbOccpFuFiQ9pqouJ5IyKz0fjvb32RS7r5PfwnQsKR/erALzgYQnfCS1xMm9QMS6l1tsPRGRDtHvSEVGRmL69OkoKjIeVaewsBAzZszA4MGDTSxJnswRT3XdgTveNq+muca7N2R/jng30dlXjg1Hbzg5B57F2b+3o93K4seYXYGrdH0m6RDdIvXxxx9j06ZNaNmyJcaPH49WrVpBJpPhwoUL+Oabb6BSqfDRRx85Mq/kIuwdJLhjMKa08BE4VzXoy/3OzgK5EWef9oevmR9enYicL4ODgpAEiA6kQkNDcfjwYYwdOxZTp07VVm5lMhkiIiLw7bffGn08l8geTrphN7R1sUnOzgKR3TjiXQVLcZSzgyyyP0/+Td3xYWFl+PuM/bvf8rcgW9n0Qd5GjRohOjoamZmZuHr1KgRBQIsWLfS+4URUYQbXMUe8pOpsaTnsh01E5CnK+6iB9XoiabMpkNKoXr06unQx/SV4Il2e8BJtebjjYeENnyqLTMbyRsa87HRhtbVsibnPueM1n4hsGGyCyFncsb5krSsUuxeQKxHc8iwlV8NghYgqGwMpcih73NfO3cy2w1rcH6uy5E7c8WEC6/lERO6FgRRJXrEDPo7ohnU0t6x4EhGJZa9BTxxxJXXEgCxE5HwMpIicwB27oDCM81yOqCSq+WCAiIgkjoEUSY67VZ9M1QfdMI5ii5gHc8Q7UmoLq3TVouaOD1CI3AkHyCJbMZAicjC+iE/uzhGBjTu2SLGS5rn407sGPhAkWzGQIslzx0CEFSoiy9yxPhOXmOHsLLg8dywXROS6GEgROQHDKCLL3PHJ8B2DD3G74S46XGU8WMvIL7H7Oi1d81kMiFwXAymSHHesQBG5M8MGVntUdivtMsDLjfuw0xOqxPR8+6xIl4W88ZZH5LoYSJHkueWwsW64S+R4nlTh8qBdJSIiF8VAioiIRLP1/b7yBkRuOdiEszNADuHxvyvf+SUPxkCKJM8tB5sw+Nse3RmdfZScvX1yL5aGP3dVrG96LrfsWUFEDKSI3IUbPsAnD+aO70oykHINblj0iMhBGEiR5Lnjkzxr3aN4HydXwu9IkRRI+U7hjj0riIiBFLkA3oCIpKOyKquMo4iISOoYSJHkGNafWKFyDfydXJNUPw7N4kTuxB49K3hOEEkPAymSHFbIicgdu/Z5STRoJccr70/PIkMkbQykSPLc8UbijvtEZEq54yH3i6Mk/Q6PO+B1lYgqGwMpkgzNu1Ce8E4U7/dkD+5cjtyxRYo1/Ypz1WLBX57IPTGQIiIiyXHH70gRVYRkgzFXjW6J7ICBFLkkV/rGjAtllahcMvJL7L7OALm33ddJ0iWlnghsOCQisRhIETmBY562S6ciQp5F6YAC3aBGgN3X6Wysn3suqY6OSfr4O5GtGEiRZLjjh3fNyS5U2H2dbPkikjbW0RzLXvcQXks9lyv1diFpYCBFkueI65qzupGwHkVEJG2sShORWAykiIhcFCt8roUPUjwXWyOJ3BMDKZI83oCIPI879rDx8eYt1xU44pZT3nW643lA5E54VSe7q+h1nzcOIqo0lfigpk/L2pW3MSIicjgGUiR5nhhYeeI+E+lyx1PA24vN647kqr0XxJZ1dzwniFwdAylyqPJc+BlEEJE7XgdctJ5fKdzx99blqkEeEVnGQIrsjvcLfW5ePyAikViZrrjKuJ7ymk1EYjGQInKwhLv5zs4CEUmAJ30rz5Mw8HIf/CAv2YqBFDmUPS5Jrn6TUqjUlbIdVz9ORERSwKo0EYnFQIokz9RNzd3705cHjwlVBj6wJXd3KjnL2VkgBxBzjxR4IyUbMZAiyWPFjUja6oT46f1tj7qIwDZWciN+Pt7OzgKJwKsO2YqBFEkeHxARlZLCqVBZ7/m443nPh0KOJeXjWzVA7uwsEJEDMJAiyXPD+pQRT9hHIlvwnCBbOWswDwnHb5VDyhGsjdxnT6iyMJAicjB2USJ350b1KJI4S0WN5ZAqiqP2ka0YSJHk8bJGJG3u2A2PpMkdi5rYAQ54L3Q8DjZBtmIgRZJjeCHjZY3IA7lhhUbthvtEROTJGEgRVSJWo8gdsTeMOFkFCmdngYgsYNc+shUDKZI8T7yslee9Kr6LRc7iiIYWlmYiqmzs2ke2YiBFDlWehzvudhmrrOsyr/9EtvPEBzWuzB0rumwFIXJdDKRI8rIK2R2GiFwf68uei789kXtiIEWSd+VOrrOzQESVzA0bHsgC/twkBUo1SyLZhoEUSZ6pClVFL3VOq6SxdkgSI9Un5e7YhYvIFJZ16TiakOHsLJCLYSBFkufqtxipVlSJKgMHQSEqP94/KpeaLVJkIwZSREQezB71NFY9xJFxaAsiIrfCQIqscna3A2dvv6JcPPskYayWuxa2LpApYm8Rki0/bnSTc589ocrCQIokx42uyUQewRH1O14GiKiyufqDW6p8DKRIctz5nQr33TPyZJJ9Uk4ug/VXkgJ+04tsxUCKyMEq67rMigi5E3csz6yiORYrwVRRbJEiWzGQInIT7tySR9LmiLoHSzPZyh3DKNbriaSNgRRJnqvfR3gjJCKyD15OyZHYqkm2YiBF0iYILh+IlCf7rr7P5MZM1DNYXEkKnFUHduR2eW4RSRsDKTdQWKLC3dxiZ2ejwjyha5ojAyQGX1QZ+MC2AnjwiIjcCgMpN9Bl7k50mbsTd3KKnJ0VMsFU1cnXh6ceuY8Qfx+7r9MdX/pmGOW53LA4uyV3vO6QY7E25wbyipUAgLjEDCfnxDFMPcR1+Yudi2efSNejzWs5OwtERBXGd6TIVgyk3MiZm9nOzoJDuHrMROTuvFj5ICo/C/c4lbpsplLFm6GjufxDWqp0DKTcyJ6Lac7Ogl0YXsfc6cKm2RfD98FYDSV34j5nLJF9eHlV/CqfVVhih5wQkT0xkHIjbvtQ2G13jMg2rvJQISO/4hU+F9lVm/BS5rnsEEcRkQQxkHIjMjdp13DD+pNV9thntTvWPMklnUjKLPvDCcWSpwJVJo8PkD3+AJAnYyBFDmWXCg1rRaLwMBGR6+IFjIhcDwMpNyKVh0L2zofaDe+vDHqILPOE78oREZFrYyBFDiWV4E4qHFk1ZLWT3Ik7Pmzg6IZERO6FgZQbcfXvH5h7x8vFd4vI7fEcFYeHyQ4sBNg8vkRU2RhIuRF3uYkYPol2xH45+2m3Gz5sJyKi8nCXmzeRB2Ig5Ubc9amwOwYdjhjG2lWGxibyVDWCfZ2dBcni5YuIXBEDKZIMc9+e4Q2WSNoc8ekFdzztfQw+JqTixc2uXLZ7O4uBZPCnIFsxkCLJUKrVRtPMXdRc9WLHehOROJ5wrmQVKJydBZdjqVhIOYxyRnn2hHOIyNkYSLmx1OwiHLp6z9nZKIeyq/+BK/c4DLJIPEpERBXDLtJEZAsGUm7EsFdD9/m78H8/HMX+y3edkyE7uJ1V6PJP1Sor+65+nJwlq6AEKnf8WJmLq6wHKJfu5FbKdsjx7NGzr//n+yq+EiLyGJIOpGbOnAmZTKb3LywsTDtfEATMnDkTdevWRUBAAPr27Yvz5887McfSdOR6urOzYJPyBAQFJcpKqwx/sfOy3t+CICC3yLYuOvbOaW6RAidvZNp5re7valouOn2yAy+viHV2VshJsgoUuHInF7ezCp2dFYvu5RUju5BdAR3t+r18Z2fBpR29no6LqTnOzgZVUJFCBYXK+HULR7mRXoD1sUkoVqoqbZv2IulACgDatm2LlJQU7b+zZ89q5y1atAiLFy/G119/jbi4OISFhWHAgAHIzfXMJ4yOeOHbmoz8EhQrVbibWywqfWGJCiVKNXZduGNyfolSjXQzg05Y0mZ6DJ786oDNy5XHFzuv6P397s+n0H7mdpy9mV0p2zdl0JcHMOfvC07bfmWyteuNpfQbT9wEABxLzKhQnlzBiaQM9Pl0j7OzIUkDluxHzwW7bVomsxzXqfLKK1bi4Tk70XHW9krbpiG1WsCeS2m4lyfuWm+r8lz3De28kGY0bX1sElYfSqjwusW6nQ/85/tjOHLN/g8w7+QUS7LrYUGxEjvj7yDxXj5eWhGLJ76w3714fvQFfLPnarmWfXyxNFsXTyRl4mpanrOzYVaRQoUHpm3DIzZeEyui96d78PEf57B87/VK26a9SD6Q8vHxQVhYmPZf7dq1AZRWjr744gt89NFHGDp0KNq1a4c1a9agoKAAGzZscHKuncMZAxZ1nr0DD83eiS5zdyIp3fKTvN9P3ETr6dvw0OwdGL3muMk0A5foX/jO387BjYwCUXm5mFp5AXRhiQpPf3MIi3dcxpbTtwEAKw5YvwAIAPKLlXbvhncz0/zT9GSRx8+SHw4mosQOD4pWHrhutfUut0iBedEXTAamS3ZcRtd5u5CSLa71YOaW83h04R67P8kvUqhwRUSXsPO3TQfXuy+afpCga87WeJvzZcmw748iKd24LNjjumFpHeUt6r/dD3LtpUihwmWR3fj+PpNiNc2Ds3cAMB2on0jKwGEb3k9NsNIKkiiBVpLf/72JkavjXKrrW5FChY//OIdZf8Uj3UEBoKEVF71x4kYWXv6+tJXb3oHPjC3O73Vj2FLxw8EEvL72OF5fa/q+Xl5J6fn4bv91fBpzyWieWkQPFCkGK7eyCvHcssOig7wSpRoLt110SGBujuY6mZZbjOSMAizfdw05NvS6Sc8rtthD6PKdXMzZGm9ypOajCa7VgwoAfJydAWuuXLmCunXrws/PD926dcO8efPQtGlTJCQkIDU1FQMHDtSm9fPzQ58+fXD48GGMGTPG7DqLi4tRXFx2Uc3JKW2GVigUUCic23VCs/1y5UMQTC6nVqltWp9KVZZWoVDAy8vysnnFSgClleSujavjgbAQ3Sxptz1p42kAQO799IaUShUSTVT0couM09t6fDTpd11MQ9NaQfhy97UKrfOXY4k4nZyF08lZ2mlqE6MOKhQKCDrTVSoVei8ybhVQqVR62//tuH4l0lLert81X8m6mZ6LXp/uF7WuD347hTlPt8XuS3chGFwEF8ZcRqeaXkg/cB0vdmmIEH/9S0eJUlwXgM+2X8a5LAUWPdfebJoF0Rfw47FkrNh/HVdmD9Sb9+Wu0tbAHvN3G83TlZJdhIz8EkQdTgQA/BibgDcebaKdLwgCsguVUOtUCEwdl+t385GUUYB+rWrrTX/m68O4eCcP3/1fK/iZ3108+dVBk/n8bp/18vfDQeOn6KXlqez5l1KlNJoPAN8fTMD2+DSsHv4Qgv1Kf6tiM7+RUqlCRm4hcosUqFstwMLelDp4KQ0D2tTRm2au7AOlZdtWm0/cMFuuxZynd7LzUTvYBzWDyr7b9NJ3R3H6Zja+eqmD2eXuZhegWqAcb234V1Q+E9Jy8PIPx4ymP7fsCADg2NS+etNNHQuFQoGoQ6YfwigUCkChgFKp1J92399nU/Hn6dv47Ln2uJKWh6SMAgx9sJ6ovNtqR3wqACC70Px9MiW7CKeSszCwTSi8DYZ6z8qr+AMdoPTctVQGFAoFUrKLoFSrUSOw7PfPK3RcIKXJk0KhQK5O1jJyC/DssqN47IHaGNmzkdnl1Wrx9+i1R5IwLbKVqLSG61y8/SKq+PtgeI9GUKkF5BcrUSVALmpduuv8Oc70Qw7dwCWvsBiFJSpUC5SLvj8Yyi0o+80M92Xoctu7Y6vUZfdZtVrA9Xv5aFY7CJfu5CHYzwf1qweIDnwVCgXkOv/H/fUqVWr4eJtvo7iaWvZwTaFQ4OSNLDSsGah3rdK15kgSlu29hmV7r5m8l+y9fBeXUvPw316NzQ7/r1AooBaAomJxrb6615shSw8iq1CBjceTse2dR6wue/pmNp7/7ih6NquBVa89pFfGcosUuJCai/9bWRpwJ6Xn49thnfSWt3Z+Vyax+ZB0INWtWzesXbsWLVu2xJ07dzBnzhz07NkT58+fR2pq6UU9NDRUb5nQ0FAkJSVZXO/8+fMxa9Yso+nbt29HYGCg/XagAnbs2GFD6tKfMTs7G9HR0UbTr127hujoKyaWM6cIVauW/i8mJgZqwR9iisra2BtYG3sDgxuqAHiXrqm4GMt+icb2W16w1gB67Ngx7XLWbPtnm6g8aURHR+NKtgxfx5tfv+6x+z3BC1dyZJjYTgVfbxht6/S580Z5PZ+QAsMBeKOjo3E1qWzfL1yIR3q+cR62HDoL/5TT8JIBN/OBT8/ob2/88m3oXEuNsEBALQCLz3pDADCpvQrxmTKjvGis+WuP0bzS/TQ+dr8cv4XQwiR8dd70cT2V7oVT269ix7+X8VoL/RvjkTvm82BoT/xtRAckAwBKVIC3DNDcd4qUQOxFb2iOo355hl6+122KRk3/sjkZxUDUZW/0C1cj6op+Xi5dvIjonLKuj2sue+HfdC80Dha025q15h/UCRDQKLhsuXePlG4vRC5gzsNlleCLd0qnf7/9JMY/ZHl/jfcBSE83Ph+++ikaCXkytK8u4Hqu6eP5z7Zt8NYpYley9dNptrXofr6nrd2BAfU0FQPTv+v+Q0fw0v3z4sNOSvh6AT5ewC/XvNAjVEDb6oLesuN+OoW+4Wo827isDCQkGu/P339HQyYzPc+aCRvPmp1nrvzqen3dSQDAtAeVUAlAaABw+mbpMstiTpnNT5f5tnV9nLhmH1JzzO/bH//s1MvrmTNnYep8TEwwfYxiYmKg8vfHzXxo16Nbnt67/ztPWr0Le1NKl0+5fBpN7j/L2n5ThqwSGV5oohbV8likBPx9Sh+ATY3zRqFKhoVdlUgpAG7oXMO/+zUaKYUydK1dWrYuZMlQy0/AvNPeUAsyvNRUhZ6hZRXSvSky/J2swIoB1vNgTV5+vvYYlNZ59cvCyt+iseB06bRXm5fdi3bv2WOU1l6ys3N0fpey33fW+p1IyvDG6sNJaFR0zez2U1JTEB19y8zajZfRbOtuoen5GjExMXrzv7r/ALF25nl8dc4b13Jl+KiTEnWMnp+YX+eHq/5BdokM1s7pdrN2AgBGt1Lhdj4g9v6ga+P2g9rloqOjoVADeQqguh9w9pbtv+WOk9fxQElpXejX6144dMcLvcLUOJBaui9LuiuRn192/7Fk8c/b8cH9/2vO0yN3ZPj5ujf++4Dq/nUTUKqBP5O80KqaAB8ZcK8I2n364qd/8E28N7xlAhZ3L7u/CEJpS76XDDigc23Q/O4qNfB7ohcEAIfvlM7Lv3kRD1QzHQQKAvDpGW8sOL0HUzqooBZwv15jWnIeoCkDWfd7c1y7W3beHb4jQ6AP0Kmm8fY2XC3N7+FrGXhgRmk9dtqDStT0A96L1f/Njl+7g+jo6Pu9XUrn3bt3z+Q90xkKCsQ9/JF0IDVo0CDt/9u3b48ePXqgWbNmWLNmDbp37w7A+AN8giBY/Sjf1KlTMXHiRO3fOTk5aNCgAQYOHIgqVarYcQ9sp1AosGPHDgwYMAByubgnRe8eKe03X7VaVURGdjea3rRZU0QObCk6DypVPmLvP+yJiIiATBaICbHiA7tcv1AApd1a8pUyLD4nrpgtuyD+QluvQ0/gqPGTYHMiIyOx4kACEG8+oBw0aBAKFSr8cvwW9qeWdiVQ1uuIZzrX0x5LjTZt2mBzon53g8Q843IXGRmJ89svA7cTAQCtWxsvBwBH0rwQ0bUNbmYVYUtCCgD9p6cxt7wQc8sLh6b0weFr6UiOPQcAmBBr+dg+/PDD+P7iSaM8Ge6Pxra71QBY7g5xKdcXW7NqoEqAD+Y+3RbeXjKkHEoErl+2uJyGv78/IiP7oLBEhQ6zdwEAvnqpA7xkMnzw82mjvOrSzXfn7o+ibd2y8/X1df8iKe+eURAFAK1bt0bkI42N1qP7m62/WrrcldkDoVILpd1XjpTmL1chw8CIJ7RPGjXLh4WWDX5jju4+pOcVY+me60grSQGg35q0NL70t9x6w/y6Lslb4IGwYAzuEA4AeOunUwDK3gvRbEuTv8ZNWyCyf3O9aYb+vB0EoAgAMO9UaR4eCAvBxcxcnM0EItrU0dsGAOxN8cL3457Q/n36n0vYm6L/AOvb69XQpXF17E5JNr9D5WCp/BqafbJ0f45N7Qsc2QsAqFO7Di5k2eezEOeyvGGp82Kf3n0w79Qh7d8pPmXXRo3IyEj8G30R+1KNf/iIiAhcKwCCswqBM6WtZFf9W0KhEjBpQAvtcahWpx6QUtodsU7zjvALlKNL4+p4d15pYNijQyuM6a3fIlukUCNApzb1U1wypm+5gI8jW6FWsB8KY88AAL5PqIqrBq2Dn50tPa4RvR6Cv4833v1e/1qcE1AXkZEdS5c/mIDNR67A19s+T5mDAoPQoGN7LNuXgFPJWQD0n7KnBDYFUHos110t27/H+vXDrH8d8x5t1apVEBnZo/QJdmzZeyUtWz0AJJXecx577DHM/He/yeXDw8K1x0tXsUKlvQbp0pznfT/fD825a8qj/foDx4y7kOmeQxlVW2DE4y305ls6vzYm2BYQrbzkjRZ1ggDY3j11jc61vFnnXhj8TWlL75/jugNHbG+RupojK7tGTivdR00QBQDfJ1VHerG47r9Rl721gVRERAQQFKRd54qL3jgzrT8CfL2xNvYG9h+9iP2pxusoqt4UQBJUQlm+9ly6i/+uP4lgPx/EftAHu/+MB1JLz21Nmue+i8WZO/oDejRo1QGRD5lujc7MK8Tt2NKy//4xH6gF4NTHjyHofm8Fw3rzuVs5+Oys8fGNjIxEcmYB3l18EABwfsbjuJtXjFrBfvDzKT2O8z7dB8P6S0HNB9C1VW0g9oje9ICAAERG9saUTecAlL4icSXHC40f7Ik24c6tiwNlvdWskXQgZSgoKAjt27fHlStX8MwzzwAAUlNTER4erk2TlpZm1EplyM/PD35+xh1y5HK56ODF0cqTF5nMy+QyXl7eNq3Ly6ssrVwuh0xmWz72XXH8t6te+l58EAWU7oeXl+UbwJsbTmP3Rf0Ko7ljuniHuJdffzuZgsPXywYy8PY2n4eZWy9aXd8ji2x7PyHqsHHlLLPQfFeryyL6lOcVK7Hj/kvduy/excnpA+Ft5djqk0Eul+NsStm23vnljMmUmmN/+U4uLhm8A+fj46P32+QVm98vbxvOAblcjsFL9hsNi+3r62vUXcnLQhcOjbv5Shy6eg9Pd6qHj7dcMPlCvFjfHSjt7nfgWgZKlGpsj9df17X0QjwQVnYD8vIu3W9L74fczDKuiOm+bxgTbzq/7208i7F9mqFdvarwNnEcLqfliSpPtirPNToxo2z/vbxENM2IpFBZ7gbk7aN/Xuy7bHxtHB51AofNvP/Q4ZNdKPT115u2dE9pN8DuzWppp127V/bk9Os913A7uwjt61XVTvtsxxWM71/2MO3/fojFoavpiJ3aHzIZUDvYD9O3lLbYzom+hDf7NNOmNQyidF2/V2gyjJR5lZ7jyRkFWBRjS28I62QyYOjyo2bne3mZPid9HHhvl8lK91cQBCiFsvKl+7v4+Jivbsm8ZMgsVGHv5btoV7cqfj2ejOE9G6PfZ3tNptecA7dMnLu6omJNP8TQPYe8vLzg5e0DpVqNtzecxPZ46+9v2upKWsXf8dMEUQCw40L56xiHrmdi2V7jrtUAEJ9Svves5XI5YFC+1sQm4+3+LXAn13x3Ot36gOY3+e/60gefecVKzI+5gj9PpxilOXPTuILv4+ONIhVwPDETjzSvBV8fLwiCgEkbT8NPpxuDptf+gWuZOJGUiU4NquH9305DoRLwbv8WmDCgJeRy02VVLpcjr6TsjG97v9WxQY0AHJjyGNRqAXdyjO81Xt7eKFEbX3c1583mk7f1pj/9bSwSFzxpMg+VSey9xqUCqeLiYly4cAG9evVCkyZNEBYWhh07duDBBx8EAJSUlGDfvn1YuHChk3PqHOaqB84YhEKKlu21HPwYBlFA6bPmMzezjKYXKsS99zF1k34Xpdl2HkDAGlND33edZ/yEs7wyCxQYufoY9lwS/60ylSDg/O1sUX3RG//vb/RtVRt7Tax/y+nbqBogR16xEu/+fBKX75ivtOueA1/utF6xM/VtoSKFCq+sPIpeLcrel9p2LhVDw42S6hm4ZD/yipW4lVWIC+W8URva9K/pbkA5hcbvE97NLcbXu+1bmQVKB2T4+0yKJG541vx6vKxCebASP1L+9NeHrKYxF0RZM2J1nPb/Z2+VvXdxO7vIaBoAnE7Owt9nU/BO/xY4dLV0m2//9C/iEo0/m3D4mvhjZOqd8l0X0vD01wdx2gkjmZq7rNww8f6tvZy7lYOzN7ORkqUfMOiepynZ5oOeEqUaz3xzSPvbAdC+32lKsw+j9VrjzTl/y/oT9QNX7mFnfBpuZBSIvq8526Z/yz8Qje5540if77iMB6y0qujeA031pvrxqP6D0NtZhRbfYx25Og7Hk0rP56+HPYgagb5m7xVv/3TSaNqXu65gSEfzN7SsghKTQ6InZ5QO/nT+tqXyZnxi3soqxMNzdlpYxjVIOpCaPHkyhgwZgoYNGyItLQ1z5sxBTk4Ohg8fDplMhvfeew/z5s1DixYt0KJFC8ybNw+BgYEYNmyYs7MuKetjk/DBEw+Ynf/nqVv4bt91LHulMxrVDKrEnFWuHBODVlhjGAiRMVuCKKC0Yv/kVwfRrLa4smYqiAKAFfuvY8V+cUOl7rxwB9fulr5Q/P0By0MhX00zHew8OHsHSpRqnLyRJWqbGprBWAyHzXeEHw5cx0eby8rsrgt38NUux253fvQFi0GsFOiOAGitFcme8u0x1KWdPP1NaVCnO3iPqSAKAM6IDIBm/mX6wVCxUu2UIAowH4BoRtFzlCFfH8Rzneuanf/cssNm59naSq1SC6J+I3MPDXQfJon9raXktoWg1BkUKjX+PmkcsLyx9jje6NXExBKldIP+xz7fh0eb1zKbFgAOXLmLl7o0NDnvVHKWNogCgPEbjAMlMR5fbLr7KQB0+sT8Kx4Hr9yDn9x0a/C6I0kmR14E4LDPKVQmSQdSN2/exMsvv4x79+6hdu3a6N69O2JjY9GoUenoN1OmTEFhYSHGjRuHzMxMdOvWDdu3b0dISIiVNbsncy1Ppka90/Xuz6cAAC+viMXhqf3tnCtpaPy/v52dBTJwzUKXIXuLvZ6BWJ0ulpaYu5GUd+SpymTYLcfyE0L7+E5kMEvS8NMxCy/huQBTI7v+f3t3Hh9VdfcP/HNnMpPJvkpiFiAQNg1EDYoRkH1zeeShWh4XHqnalgIViksp1DZqBatVqbXaUq2+floL/SlubViCQkARZJVFQFlCCATCEjJhkslMZu7zx5jJbHeWZGbunZnP+/XiRebOued+75lz7r3fucsoxfu7TvsupAAvufyoPHXPvBW7UXnM8xdw3i68cDxTfvy8wefPINRebMGa/R5utgLw7jZ5x/V9b0hfbntGr6zEN9gUnUitWLHC6/uCIKCiogIVFRXhCUjhdtde8uthG442HO78Jux0kxHrvzmLMQOSvcxBRCSfdg+XlhARyWXDoXOAy72MHbz9xmOgV8n8eYPne7tIXor/QV4KTCCXU+w5eQk/crleeMX2yP62koiiW/Hi1XKHQETklzUHPJ9BoujBRCrKtJj8/4bjwOnIuzaaiIiIiEgJmEhFuPom6dPGREREREQUGkykItwhl9/WefnT7/D0v7+BxdMzaV348fRpIiIiIiLyQNEPm6DAdTyd7I3PvT/iWQqTKyIiIiIi33hGKtJ1I/HxNOsFg/SvcBMRERERkQ0TKXKy5+QluUMgIiIiIlI8JlJEREREREQBYiIVy3hDFBERERFRl/BhExFO7MZNUm9+UeOzjNUq4kJLW5eXQUREREQUjZhIxbBj5w0+yzy8YjdWH9CHIRoiIiIiosjBS/vIq08PNcgdAhERERGR4jCRinC8zYmIiIiIKPyYSBEREREREQWIiRQREREREVGAmEhFOF7aR0REREQUfkykItyJiy1yh0BEREREFHOYSEU4q5WnpIiIiIiIwo2JVITrzg/yEhERERFR1zCRinA8IUVEREREFH5MpCKclU+bICIiIiIKOyZSEY55FBERERFR+DGRinAiMykiIiIiorBjIhXheI8UEREREVH4MZGKcDwhRUREREQUfkykIhwfNkFEREREFH5xcgegKAYDoFbLG4PZDLXRaItFo/FZXN1qQILJ6Lteg8FtkuR8DmUTTEaoLb6rJ5KSYDZ6/DsaaNUO68axQkEQreOFY4WiSbSOU8XwcMyq1BgEkU8rgF6vR1paGpoApModjAJYdMDm1ba/R04B1NxGEHnEsULkH44VIookegBpAJqampCaKp0d8NI+IiIiIiKiAPHSPkenTwNess5wMJvNWLt2LSZNmgSNH5f2DXpijV/1Hnx6st/z7q8YCezKAQBcN/cdmCw6v5ZB5EmC2Yhdr9wHwNafWjXR05+0aiP+iM5141ih7orW8cKxQtEkWsepUng6Zg07vR7Iy/NZjImUo6Qk2z85mc2w6HS2OPxIpFq1/g3efx28iPd21OGvM8qQkaT1Pq9DG7RqddzhUdC0anR+99lIYHG4pZJjhYItmsYLxwpFq2gap4oh97E4AFj8u5GTl/bFiMff24uvai5i2fpv5Q6FiIiIiCjiMZGKMacutcodAhERERFRxOOlfTFm/cEG9F74H9x3Y0+5QyEiIiIiilg8IxWj3tlaK3cIREREREQRi4kUERERERFRgJhIERERERERBYiJFLmZ/c5OuUMgIiIiIlI0JlLkZsO35+QOgYiIiIhI0ZhIRbDLbe1yh0BEREREFJOYSEUAi1XE6e9//8liFe3Tn/nPQblCIiIiIiKKafwdqQjw07d3Yv3BsxhRnI3tNRfxu6kluGtoIbYeuyB3aEREREREMYlnpBTOYhWx/uBZAMDnR86jrd2Kx97bCwA4ft4gZ2hERERERDGLiZTCTf3zFx6nz1uxO8yREBERERFRByZSCtNuseJAo4BLLWYAwL5TTR7LfbTndDjDIiIiIiIiB0ykFOatL2ux/JAady3fJncoREREREQkgYmUwqzefwYAUHOhBb0X/kfmaIiIiIiIyBMmUgqz95Re7hCIiIiIiMgHJlJEREREFDQp8fx1Heqaf/20XO4QAsKeTt3yyIT+KClIwwe7TmHL0fN4cEQf/H7NIbdyV6TEQxSB3LR47A/BWbdhRZkY2jsDf95w1OP7i28ZhJw0HS5cbkP/nBS8s/WE/TLKDu/NKkdumg4jfr/BafpdZQX4/zvr3OocmJuCe4f1xFc1jchM1ODqvDQ8/v5en7HqNCoYzdYA1s7dkII07K2zPYjkoznDbb8vFqQfaJ5wVQ5OXDDg27OX7dOem1aCx1ftBwAceWYKzl1uw4XLJnxzWo+2dgt+eH0hBvx6jd/LuKYwHXtOXgIArJ1/M76pb0JGohZXXZmKl9Z/i/d3noLJ4rmN7r6hJ34xvh8eXrEbW49ddKozI1GDFJ0GH3/t+WEsH80ZjhMXW/Cbj/bjD3eWoq6xBf1zUvDt2WZUfPINHhpRhNc/P+73evijf04yri3MQGK8Gm9+UeP3fI9M6I8Xqr51m56fnoDqx0Zj7YGzmPPuLqf3Nj8+BlZRxKjnNyJOJWDu2GKsPXAWK396Ixat2ockbRxW7jjpVuc9w3oiTiVg0S2DsHzTMby7rRZzxxbj04Nn8fmR8zBbOn8I/JeTB2LcoB6oa2zBkIJ0bDjUYP9JBkfvPjQM97wuz72e/1veC/cM64mdJxqx+IP9+PM91yFZF4czTa0Y2jsT416odiq/r2IinltzGHqjGT8aXgStWoVbXt7sdRnHl96Col9Venzvxj6Z2FV7CaZ25z6cnqixP0jI0bTr8rFq1ym36esX3Iy/7WpAY4sJu2ob8cb91yNRq4ZKEAAAVd+cxW8/PuA1zkDd0DsTX9VcxBv3D8XOE42wisDeuksQRWBGeS/sOtFoHyOPTuyPP6yz9dHn7xyCm4qz0dRitrfdJ3NH4PdrDqHZaMbI4iuDGmfHMl373gPDi/D3LzrH8O2lefjZqL5Yc+AMXv70O591/m5qCX794f5ux5abqsMZvRH3DuuJg/V67Kq95LX84Pw0HDt3Gc/fVYoTF1qQlaT1uD8ZmJuCQ2ea8cncEWg1W/DDv34pWadKAKydQxcrfnIjrkiJh06jxl+rj+KysR2rdp/Cz8cW40fDi1DX2ILDZ5o9jucO780qx982H8PaA2edptc8eysa9EYkxsch2SGJav9+O168eLXX9ffH/1xfiPUHz+LxyQOh06jx8D+9P71446OjMfoPG52m7a2YiNc3HcPBM814dOIAVHx8AFem6/DUHSUwmi34w9rDWLHdfRvp6uDTk4GXbH8XZSeiX59c/HhkH1R8fAA7TjRi26JxyErSIk5tO1/RYmrHkYbLSEvQoK3diiMNl9E7KwlX5aUCAC63tePfX59G1Tdn8eOb+6AwMxE5KfGIU6vw8den8cnXp/HCD0vx6oaj+Ev1UY99vys+mTsC/XKSsfbAGVydl4riHin4cPcpzF+5B0v+ezCe+Gg/nvvBENw65EocON2EPtnJ+NvmY3j7yxNY+4ubkZeegE3fnkNSvBqlBekAgIstJryztRb33dgTrSYLBAj4/ZpDuCovFROuykH/nBRYrCKMZgsEAXjzixp8dfwiXrvvOlxqMSMvPaHb6xVOgiiKou9i0U2v1yMtLQ1NTU1ITU2VNRYl3BelVRuxfMKdAICfVL0Hk0UnWbbm2Vvdpk18qdrpIHzHr8cjOznerVww17UjDqk6D/9uMuLj1PbXJy4YMOr5jR7raDG1QxenhkoleIx11xMTsGpXHaZem++2Xq7Lr3n2Vqdp4wb2wBszr8f0v36Jbcc7k4BbB1+JP997nf315u/OYcYbXznVY7GKUDvEdNFggk6jQqI2zuu6B+rIM1MQp1Y51ffd0xPxr48qcfuUSUhN8twfpJafYDLi4Eu2/oTLl4GkJACAKIoQRTi1s5SdJy5iX10T7h7W0+lzFEUR39Tr0feKZOg0ndP1RtvBaqpO47Nub3y1qT9jZfbovnh88kCnaUazBQOfcE48O/qf4+fsuvzV80aiuEcyNN/vnD31N8B727rO88RtV+HBEUVe19Nxni0Lx7rt6CYv24RDZ5o9xiLHNu0Pd5XizrICyfel2s1bGVeO83irz/G9yVfnYs0B5y9wDjw5CWf1Roz9PrmTGi9S3tl6otsH/olaNb55arLf5V23RX7NYzFg8+ZkAL73K74cW3KLvW97a3tDWzsStWoIgueynrhus7tq9ui+eGTiAHs7vfzpd3jRwxcjjsv1xFdf9Rbryp/ciOnLt/pchq9lelq+P2PI3zr9dejpyU7beV91Vj82WnI/L2Xh+3v9SqRqnhgNJNv6s+s47cr4CNTRc5fdvhDqCn/7RCzyNzfgGSkKOgHOGxBPSZTcXGN01JGYSMlM0uKhkX26tlypxbpMV3so6LphzkzSdikGb4b2yrB/g+YqWQMkaNUe3+sKQRCk28NFWa9MlPXK9FjH1XlpbtO7m0CFmuPBgCtvO+CcVJ09ifImkLYNVKjqDSalhqjy8NElxceh5kLXf1y9X4/kbkTUNaE+SPRF6suXJJftU5KMl5cJgnM7De2VIUMMSh0J0S0c44OfrHLwHikKOiVuu70lTuFliyPmTwOTYgQ6MjyNJaUdsCl1fElth87q27pep8LaXk5sC2fRdsERP95O7OvKwUSKgo4DPHLxowu+aGtTT+sTZasYOhINxfYLDrZjdFPOF6JEnZhIUdBFwqYu2g5uSbmibecfXWsTXiqJDY/U9HCJshMX9L1Y/1Iz2ra9jqJ3zSIPEykKuji18oa46/4knPsXx2XZ//Zx4MLjmugRC8cyV+fJ+5CeSDG8b5bnN2Kgj4RDsk45t327HcTzMw6YHPttf+5BJXLEHkNB5+nmf6XJl+nxmtG8L01LUPYDHuQSzM9cEf3HQxB3D+sZ/ji8UEQ7eXClxHanO2ekgnEfjBglX93wIDi6uI6KcIzrGeW9wrCU7ouFL+giBbc6FHQyP9DJI7cNskxboY7F5qY5P/pXjh1GsJXk86xELPB0uUycEge9Akm1EpsvOJR0cKmEWJQQQ3e47qfDsd9OUdBZTYoMTKSIZPDQSO+/2yOX7lxT3jPT++/dUHSI9IMzOUm1ndz3SFF0ivR737o7KqJ5WEXz/V+RhokUxQSl3XTr+jtCSouPiIJP6uCnO8M/GNuOSD/g7qCkraiSYokWbNNOPGRQDiZSRCEmOP39/e9IReXDJiIz6pAL4h5PCTtPBYQQdfhFSnAouR37XhH+H05WcHP4RY6HTfBMDwWKiRRRGEX6js2baPlWO9iU/pFHc5+MFPwIgkPJ7ZiTqvNdiIgiDhMpigly7mD79UiRcenhw0QqNij5W/8OSg2R90gR+U+Oh01wKFKgmEgRhVhxD/dLOqLlccOOuAMi8i4UT+0LxuPPo4aStkEK2CDKH0H3RHr8FBuYSFFMkHWf5seyo+Hx5+SZAo6ngirKVie8JBpP7rN80ZKK8cyePKKp2SNlVaKpzSMdH5jvwGAyQG1S+y4YQlYYZV2+awxWGGH1UtZgMrhNM1tbnOrwVMZ1Od3VsQypOg0mg9vBimtZqThdy/pbrqOs2dpqn94utsJgMqDFbHAqa7a2OtXb0m7we5lSy+6Kjvhc6zOYDDBajDCYDNCInn941+TyuXuKy2AyABH0u72+2tSfsWKytHr8/Pzpf65lWkwt0MSZA6rDV51tlhaf8znO02I2QGsyO73v2p8dY5Fjm2Zs975OXWl7V47zeKvP8T1ju/sYMZgMaLN0Tg90vLR6aPtAWUWVX32nOywW5zbxtl/xRap9raI6oM9dqu5g9FmTh3HlrV5/95OB1OnaN/z9jP2J07GM4EfdXWlTK1SwOvSUQNYdAFrbpbdLUgxmo9/9JMnh73Dv11rMnve3gQr1uI9k/raNIPK6AOj1eqSlpQELAfB+UOhUwOqRtr+nbAaM3dnjUcxLNAGGJba/kxYBLVp54wkmjhUKtmgdLxwrFE2idZySAyOAZ4GmpiakpqZKFuOlfURERERERAHipX0OTj9y2mvWGQ6DfrNG1uUDgFZtBHAfACDf+A5MFunTdAefmuw2reKT/Vi5vc5rGSC469qxDKk6PcXgWlYqTtey/pbrKLvgX3uwev8ZAMDkkly89MNrcOiMHv/96hZ7uduGXInn7yy1v/7y2Hk88NYOv5YpteyuGNorA28/OMytvr1PjMPatWsxadIkaDSer2FY/OE+rNp1ym16gqmzPzU8ehZISnIro1S+2tSfsfLw2GL8bHSxz7r96aNbF45DWqJG8v2u9JP54/vhpzf39Xse1xgAYN+pS/jhX7d6jEWObdrvfzAY/1WaL/l+V9releM83upzfO///eh6/O+b293KVn/XgFlv7wIQ+HjZUXMRM/7+ldcyvmjVKnz924ndqsMXi8WAXdtyAPjer/gi1b79c5Lx0ZwRkvP50xcPPjU5KH12zpi+mDumn9/L93c/6VrOW53vPnQD7nm9s2/4s33wVaenca0SgANPeq+7K22aoFGj1WxxW7a/da5fcDPGv7jJaZqvNmhoNmLU8xt9xnbwlyOBJbb+LMd+rb6pFWNfqO52Pf72iVik1+uR92yez3JMpBwkaZOQpJX3IE+lgGsLVU5/67zG5Km9tKpEp3mk2jSY69qxDKk6PcXgWtbbZ+/P+kjVqVEl2KdrVAlI0iYhIc7iVFb7/fQOabo2v5cpteyuiHOIw3X5OrXOtj4SiZTWYT2d4+qUpE0CZB5jgfDVpv6MFV1cYpf7n1uZ+CQkaTXS7/vRttlJqbhoMNlfr9nXiAXjvc/n1BdcYgCARI1ZMhY5tmlSbd6hK23vynEeb/U5vpeoTfZYNknTOT3Q8aKLM3a7jQUIId/3WTqPh33uV3yRat84ISGgz12q7mD02Xi1ex8MdF/qaZ5A6kzQJAW8H/FVp6dxrRZ895+utKkKaqjQ2XECWXdbec/jzfs8ar/7idPfYd6vJWpUQemnch/zKplFa/FdCLy0j0KAT5OR5m/TlPXMCGkcocC7LSPDtGulz9RQaEn/jlR44yCKBo9NGhD0OoUIeW4fj7OUg4kUURj5+5hjlUxHVtw2Rz/XLhjoI6MjYQfebGyXO4SAyH3wFi1fgsj9GHlHcn+mNuGJIVRL8fV7iwka709ZtliipGOTojGRoqCLlp1yKLnuIJR0AECxxWKNvgFrVugBlNQo5/APDiU1ozI+U2WOg3Axtvt3aVYkUkaiTgATKSIKktjeZUtTepIcaCLFHz3tOqmm606TKr1/UfRrl+nLGF9LjeZtVRSvWsRhIkVBxwHuzPFAR+lN053PjmciQy8YY8v1wDvQgyCl92FAyTF6jkzub5ejZehy3+MqshtEjrPl7EMUKCZSRGHUsZF2TTqiYdvt63p2UqZAD1Z4oNF1osS3Dd25JfJSi8l3oRjBvumsxRRZ9wq68nWJrtR46tBqiuZL+0gpoiaRevXVV1FUVASdToeysjJs3rxZ7pCI3Jy+1OpxOlOQ6NX3CmU/XjZB6/2GbVdynz3xR156QrfrmHlT7+4H4kLqQD9O3fU2vWBgItVBSX1TCZHsP6WXOwRZnWxskTsEigFRkUitXLkS8+fPx+LFi7F7926MHDkSU6ZMQW1trdyhxSRfT9KJNdf1THebpnb5Clop36R250CkMCMxiJFEj/z04LWLVh38TXZ+gEmHUvqqN0MK0rpdx419MoMQiX/i47q+zeyVyXFHnoVgcxFRrF243lwbF+ONRgGLih7z4osv4sEHH8RDDz2EQYMGYdmyZSgsLMRrr70md2gxafbo4rAuL9HhG/XSwvSwLtsfM27sZf/7F+P7AwAG5qY4lbl3WC9IyU6O92s5D4/tfrv36cbZk5L87h+8krPbhlzp9FoXgi8prvWQ6AdqYG6q5HvjB+V0u35f5o3r5/Q6N1X+Hzb3pGdm8M9OWqLw5sTEAM+Sdmg2moOy/NIgJOKBGByibWe4HrYg1353qo/fxHO9arkkX3o71SFV5/kH5xUnAr7QihVxcgfQXSaTCTt37sTChQudpk+cOBFbtmzxOE9bWxva2trsr/V62+lvs9kMszk4G+JY4am9krWCzzLdlZ2sxfnLtkta7r6+wL6MMf2z8fXJS37F2ZUygZTzVDYlXuVx/swEtWS94wZm+7XMvtnd+2Z6SEEqHhnf176sgnQd6i4ZER/XGbO3OPJTtU6vr7oyBd/UNztNM5vNQASNsY426A41rF3uf6P6ZeHfe+sly/S9IglHzxm81uEqK9F5sz+0Z1pAfdrS3g4zrE7TXPfpI4uz7HX2zOhMam7onYGvahr9XpYUnUYFo7kzhtJ85y8m2tvNfj/Nbu7oPh7XP1HjfX7HeZLi1TC0WTy+51Snhz2u2WxGvNpzMuTPeIkPMOfonZWImgvOlzwVZSWGfN9nsXivPyclHmebbfvlO0qvxD+310mWlYr1xj6Z3V4Ps9mM/HQdvq5r6lY9aV626a5S4v0rm6T1v04AyHTpcP7O+5ORvbF8c43H9zzV8bObe4ek/9x7QyH+8dVJyWWnxUufCxAEINXl/QE5yUGJ87qe6TCbzehIueTYr6lEq+9CDopTRRzRu2/TeMwrzd+2ifhE6vz587BYLMjJcf7WMycnB2fOnPE4z9KlS/Hkk0+6TV+3bh0SE+W+TCL8H0m8SkSbNfCvN0ozraisrPT4XkGSGnUGAb8oaZcsc12WCrsudG7o+qaIsIhAZrxonz4q14pzRuCbS53lchJEPDywBScuC9h9XkB/01FUVh4FAPQSgY42HJ5jhQAgL0n0GMPM/gLe+tZ2FPJ0mXScAPDYEOD5vXG4rafFa7lF1wBL9tiW77judxYJuGQScGzXZhyzl7aV66ETsffLDdjrUtfPBgn46pyAUpxAZeUJyWV2sDqse4eiFBE6tYjMeOCLs7Y2HHOlFXsuCGg0OX/mDxZexObPquyv7+8NVJ5UYUJ+O6qqbNM7/peSrlXjkklAQZKI/8lrxIcmFUZndN7wvHbtWlh0yjxb4Mn9vYGPTqiwv9HWdr2TRaRoRLRagDgBaPdyNqB3soheySK+3bEJ33kYXg8OEPDGYVv/K+/heSxpHD7TETnuZX7cG1h4zvb+zwZ575sdsqyddQLAhYNbUXnQ11y28qkaEevXrfFYoiSjs53+K/OsPZYBFiArXo3LZuDWzHMo1Qn42yHpo//hOVbclGPF2joV9l50PhDSCCLu62dFcWo7Fu/oXIfm776CVqWG6fvt2OrVq72uzZ1FAt47rkZmvIheLd+isvJbtzKiy3j6RUk7Xtpvez02z/mzWDwYWPR9PIUu25uOz3lygRXr163BD3oLeL/Gtv6/udZxu2Ob/0cDOhMyf8aLKAKjclWoPmNrq98NbcfaOhXOtgJ1BgEt7QJ0ahE9k0Wka4G7ivR4X61CYxvQ0i4gK17E7QVNfvWd7jEiTeLEy+xBFqTHG7BsnxoZ8cAQ1OBCvgrrTrkfKD8z1HlbfV+xgHeO2NrzBnUNKitrJCO4u6+Afx6V7nv397ONoZt0QGUA++Jrs6y4r9iK94+rcL4NyNACyWf3obJyn1O58h4qfNngvk5Tsxsk2396HwErj9liXjSkza3c5AIV1tS51/no4HaoTu5GR7/66UD/tg8AUGwBPB2LjM/v7PeOcRmP7kDlMbfiTm4pFFB50nvWL0BE31TgiF5ASYYV16uOI38I8NzeOOQnet6PJ6jVaLW4b2AfKWlH0+FtTusxXFuLykrft3wMu0KFbeekk7Tbs89j7dq1uO3713Lt124pFHBEL0AFwApgfL5tf7T+lG2aySpAoxKRrAHuLLKi6pQKtZdtbaVTi5iQL30MR0BLi3/32Amir8eeKNzp06eRn5+PLVu2oLy83D79mWeewdtvv41Dhw65zePpjFRhYSHOnz+P1FTfp35DyWw2o6qqChMmTIBGI88pZovFgK1bMwAAN97YCLVa2TfLU+h1q18aDNBk2PqTubERSIqe/sSxIh8lbCtDIkrHSyyMlajtk+QugsYp+2XX6PV6ZGdno6mpyWtuEPFnpLKzs6FWq93OPjU0NLidpeoQHx+P+Hj3+040Go1iOpmcsahUncvVaDRQq5XRJiS/LvVLjXN/gkLGWDBwrMhPSdvtoIjS8RJLYyXq+iS5i8Bxyn4ZGH/bKuIfNqHValFWVuZ2yVFVVRVuuukmmaIiIiIiIqJoFvFnpABgwYIFmDFjBoYOHYry8nIsX74ctbW1mDVrltyhERERERFRFIqKRGr69Om4cOECnnrqKdTX16OkpASVlZXo1Uv6kdJERERERERdFRWJFADMnj0bs2fPljsMIiIiIiKKARF/jxQREREREVG4MZEiIiIiIiIKEBMpIiIiIiKiADGRIiIiIiIiChATKSIiIiIiogAxkSIiIiIiIgoQEykiIiIiIqIAMZEiIiIiIiIKEBMpIiIiIiKiADGRIiIiIiIiChATKSIiIiIiogAxkSIiIiIiIgoQEykiIiIiIqIAxckdgBKIoggA0Ov1MkcCmM1mtLS0QK/XQ6PRyBKDxWKAwWD7W6/XQ622yBIHKUe3+mVHZwIAvR6wRE9/4liRjxK2lSERpeMlFsZK1PZJchdB45T9sms6coKOHEGKIPoqEQPq6upQWFgodxhERERERKQQJ0+eREFBgeT7TKQAWK1WnD59GikpKRAEQdZY9Ho9CgsLcfLkSaSmpsoaC1EH9ktSGvZJUhr2SVIi9suuEUURzc3NyMvLg0olfScUL+0DoFKpvGabckhNTWWHJ8VhvySlYZ8kpWGfJCVivwxcWlqazzJ82AQREREREVGAmEgREREREREFiImUwsTHx+O3v/0t4uPj5Q6FyI79kpSGfZKUhn2SlIj9MrT4sAkiIiIiIqIA8YwUERERERFRgJhIERERERERBYiJFBERERERUYCYSBEREREREQWIiZTCvPrqqygqKoJOp0NZWRk2b94sd0gUIzZt2oTbb78deXl5EAQBH374odP7oiiioqICeXl5SEhIwOjRo3HgwAF5gqWYsHTpUlx//fVISUlBjx49MHXqVBw+fNipDPslhdtrr72GIUOG2H/gtLy8HKtXr7a/zz5Jclu6dCkEQcD8+fPt09gvQ4OJlIKsXLkS8+fPx+LFi7F7926MHDkSU6ZMQW1trdyhUQwwGAwoLS3FK6+84vH95557Di+++CJeeeUVbN++Hbm5uZgwYQKam5vDHCnFiurqasyZMwdbt25FVVUV2tvbMXHiRBgMBnsZ9ksKt4KCAjz77LPYsWMHduzYgbFjx+KOO+6wH5SyT5Kctm/fjuXLl2PIkCFO09kvQ0QkxbjhhhvEWbNmOU0bOHCguHDhQpkiolgFQPzggw/sr61Wq5ibmys+++yz9mlGo1FMS0sT//KXv8gQIcWihoYGEYBYXV0tiiL7JSlHRkaG+Prrr7NPkqyam5vFfv36iVVVVeKoUaPEefPmiaLIbWUo8YyUQphMJuzcuRMTJ050mj5x4kRs2bJFpqiIbI4fP44zZ8449c/4+HiMGjWK/ZPCpqmpCQCQmZkJgP2S5GexWLBixQoYDAaUl5ezT5Ks5syZg1tvvRXjx493ms5+GTpxcgdANufPn4fFYkFOTo7T9JycHJw5c0amqIhsOvqgp/554sQJOUKiGCOKIhYsWIARI0agpKQEAPslyWffvn0oLy+H0WhEcnIyPvjgA1x11VX2g1L2SQq3FStWYNeuXdi+fbvbe9xWhg4TKYURBMHptSiKbtOI5ML+SXKZO3cu9u7di88//9ztPfZLCrcBAwZgz549uHTpEt5//33cf//9qK6utr/PPknhdPLkScybNw/r1q2DTqeTLMd+GXy8tE8hsrOzoVar3c4+NTQ0uH2DQBRuubm5AMD+SbL4+c9/jo8//hgbNmxAQUGBfTr7JclFq9WiuLgYQ4cOxdKlS1FaWoo//vGP7JMki507d6KhoQFlZWWIi4tDXFwcqqur8fLLLyMuLs7e99gvg4+JlEJotVqUlZWhqqrKaXpVVRVuuukmmaIisikqKkJubq5T/zSZTKiurmb/pJARRRFz587FqlWr8Nlnn6GoqMjpffZLUgpRFNHW1sY+SbIYN24c9u3bhz179tj/DR06FPfeey/27NmDPn36sF+GCC/tU5AFCxZgxowZGDp0KMrLy7F8+XLU1tZi1qxZcodGMeDy5cs4cuSI/fXx48exZ88eZGZmomfPnpg/fz6WLFmCfv36oV+/fliyZAkSExNxzz33yBg1RbM5c+bg3XffxUcffYSUlBT7t6lpaWlISEiw/04K+yWF06JFizBlyhQUFhaiubkZK1aswMaNG7FmzRr2SZJFSkqK/d7RDklJScjKyrJPZ78MDSZSCjJ9+nRcuHABTz31FOrr61FSUoLKykr06tVL7tAoBuzYsQNjxoyxv16wYAEA4P7778dbb72Fxx9/HK2trZg9ezYaGxsxbNgwrFu3DikpKXKFTFHutddeAwCMHj3aafqbb76JmTNnAgD7JYXd2bNnMWPGDNTX1yMtLQ1DhgzBmjVrMGHCBADsk6RM7JehIYiiKModBBERERERUSThPVJEREREREQBYiJFREREREQUICZSREREREREAWIiRUREREREFCAmUkRERERERAFiIkVERERERBQgJlJEREREREQBYiJFREREREQUICZSREQU0SoqKnDNNdeEfbkbN26EIAgQBAFTp071a56Kigr7PMuWLQtpfEREFFpMpIiISLE6kg6pfzNnzsSjjz6KTz/9VLYYDx8+jLfeesuvso8++ijq6+tRUFAQ2qCIiCjk4uQOgIiISEp9fb3975UrV+I3v/kNDh8+bJ+WkJCA5ORkJCcnyxEeAKBHjx5IT0/3q2xHrGq1OrRBERFRyPGMFBERKVZubq79X1paGgRBcJvmemnfzJkzMXXqVCxZsgQ5OTlIT0/Hk08+ifb2djz22GPIzMxEQUEB/v73vzst69SpU5g+fToyMjKQlZWFO+64AzU1NQHH/N5772Hw4MFISEhAVlYWxo8fD4PB0M2WICIipWEiRUREUeezzz7D6dOnsWnTJrz44ouoqKjAbbfdhoyMDGzbtg2zZs3CrFmzcPLkSQBAS0sLxowZg+TkZGzatAmff/45kpOTMXnyZJhMJr+XW19fj7vvvhsPPPAADh48iI0bN2LatGkQRTFUq0pERDJhIkVERFEnMzMTL7/8MgYMGIAHHngAAwYMQEtLCxYtWoR+/frhV7/6FbRaLb744gsAwIoVK6BSqfD6669j8ODBGDRoEN58803U1tZi48aNfi+3vr4e7e3tmDZtGnr37o3Bgwdj9uzZsl56SEREocF7pIiIKOpcffXVUKk6vyvMyclBSUmJ/bVarUZWVhYaGhoAADt37sSRI0eQkpLiVI/RaMTRo0f9Xm5paSnGjRuHwYMHY9KkSZg4cSLuvPNOZGRkdHONiIhIaZhIERFR1NFoNE6vBUHwOM1qtQIArFYrysrK8I9//MOtriuuuMLv5arValRVVWHLli1Yt24d/vSnP2Hx4sXYtm0bioqKurAmRESkVLy0j4iIYt51112H7777Dj169EBxcbHTv7S0tIDqEgQBw4cPx5NPPondu3dDq9Xigw8+CFHkREQkFyZSREQU8+69915kZ2fjjjvuwObNm3H8+HFUV1dj3rx5qKur87uebdu2YcmSJdixYwdqa2uxatUqnDt3DoMGDQph9EREJAde2kdERDEvMTERmzZtwi9/+UtMmzYNzc3NyM/Px7hx45Camup3Pampqdi0aROWLVsGvV6PXr164YUXXsCUKVNCGD0REclBEPlMViIiooBt3LgRY8aMQWNjo98/yNuhd+/emD9/PubPnx+S2IiIKPR4aR8REVE3FBQU4O677/ar7JIlS5CcnIza2toQR0VERKHGM1JERERd0NrailOnTgEAkpOTkZub63Oeixcv4uLFiwBsTwMM9EEWRESkHEykiIiIiIiIAsRL+4iIiIiIiALERIqIiIiIiChATKSIiIiIiIgCxESKiIiIiIgoQEykiIiIiIiIAsREioiIiIiIKEBMpIiIiIiIiALERIqIiIiIiChA/wcrbubODk3PNAAAAABJRU5ErkJggg==", - "text/plain": [ - "<Figure size 1000x600 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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Sw16r0tMTIRMJoNMJkNsbCx+/vlnzJo1S3M3VN/06dORmpqq869+/foAgHbt2qFr16748ssv8ddff+H27dvYvXs33nzzTfj4+FjdlE+fSqVCQUEBZs+ejbfffhs9evTA559/jnfeeQfLly/HuXPndIY31bOVrT1ejRs3DmFhYfjggw8sDrtx40akpqZi3759WLNmDR577DG8+OKLOs0J1bVW6n/mmtRs3rwZLVu2xEMPPaTz/aBBgyAIAjZv3mzTsljj+eefh5+fH3799VckJiYiKyvLZE99a9asQevWrdG+fXudZYqLizNo7nXo0CE8+eSTCA8Ph4+PD2QyGQYOHAilUokzZ84AAO6++27Url0bH3zwAebOnYsTJ07YZZmeffZZg7glEgleeeUVnbijoqLQrl07TdwpKSkoLS3F//3f/+mM37lzZ8TGxlqcr7oJ4Ntvv22X5VDTXx612rVr49FHH9X5zpZtBFQ0hwsJCdF8joyMRERERJWbtwp3agu0/1ny119/oUuXLqhRowZ8fX0hk8kwf/58nDx5skoxqO3evRs5OTl47bXXDI7BPn36IDU11aC5o7XnUGsoFApMmTIFLVu2hJ+fH3x9feHn54ezZ89Wedm2bNkCAAbH6EMPPYQWLVoYNFmMiooyOJ+0bdvW6u1bp04dpKamYufOnfj555+Rk5ODHj16IDMzU2c4c+dZc78VFRUhNTUV/fv3R0BAgOb7kJAQPPHEE0bHefjhhzXXoV27dmH+/Pm4ceMGHn30UfbcR26FiRSRyISHh+t8Vje3Kykp0flefSHas2cPli5dioYNG2LEiBHYuXOn0ek2btwYDzzwgM4/7aZ86oLQgAEDULt2bfTo0QP9+/dH+/btUbdu3Woti7rJmVrfvn0BQNMznno4/V6kACAnJwdhYWE2zTc0NBSffPIJ1q9frym0mNKuXTs88MADePDBB/H444/jr7/+wt13361TkG7SpIkmaZXJZPjss89MTu/WrVuaplPaYmJiNL/bW3BwMF544QUsWLAA8+fPx2OPPWYyabh+/TqOHDmiszwymQwhISEQBEFTiLl8+TIeeeQRXL16Fd999x127NiB1NRUTQ+D6v2xZs2a2LZtG9q3b4+PPvoIrVq1QkxMDCZOnGjwLJUt9Nfh9evXIQgCIiMjDWLfs2ePJm71+tVvomTqO303btyAj4+PVcPawtg+Yep7a7eRmv45A6g4b+ifM6y1bds2g3mba9a4YsUKDBgwAHXr1sWyZcuQkpKC1NRUDBkyBKWlpVWKQU3dNOy5554ziGn69OkQBMGgl05rz6HWGD16NCZMmICnn34aq1evxt69e5Gamop27dpVef2q91FT5wn9c0R1t6+vry8eeOABdOnSBcOGDcPmzZtx4cIFnVdFhIeHGz03FRUVoby83Ow5ODc3FyqVyqZjrmbNmprrUOfOnTFkyBAsX74cJ0+exNdff23VchGJAZ+RInJT6gsRAHTo0AEdOnRAu3btMHz4cKSlpdlcixQREYHExERkZ2cjKysLsbGxCAwMxOzZs6v8vFDbtm2RlZVl8L1w511X6hhbt24NADh69KhBhxdHjx7V/G6Lt956C9999x0++OADvPXWW1aPJ5VK0apVK/z111/Izs5GREQEVq9erdMFuzopMiY8PNzgTi9Q8awFAJ1nH+xpyJAh+OWXX3DkyBH8+uuvJoerU6cOAgMDTT4voo7v33//RVFREVasWKGTlBnr3rlNmzb4/fffIQgCjhw5gkWLFuGzzz5DYGAgPvzwQ81dav1u7M0llfp3wOvUqQOJRIIdO3YYPMsHVBaW1YVOY/tdVlYWGjZsaHKeQMWD+EqlEllZWSaTH/X8jHXLb2qZbKlttXYbOcr999+P1NRUne/M7fPLli1Do0aN8Mcff+gsjy2vLTBFvayzZs1Cx44djQ6jfjbOWrbsj+rns/S7AL958yZq1apl03zV1PtoZmamwXNU165dc/j2rVevHmJiYjS1ykDlMZyVlaWT/Kg71TB3Dq5duzYkEonJY85a6uexDh8+bPU4RK7GGikiD9G0aVOMGzcOR48exR9//FHl6URERKBt27aoWbMm5s6di6KiIptfOKumbs6k32NaYmIipFKppqerunXr4qGHHsKyZcugVCo1w+3ZswenT5/WeSjaWn5+fvj888+RmpqKv/76y+rxlEoljh49Cn9/f4SGhgKoKGRo1+SZK1T27NkTJ06cMHgP1ZIlSyCRSNCjRw+bl8UanTp1wpAhQ/DMM8/gmWeeMTlcv379cP78eYSHhxvUUD7wwAOaRENdINZOWgRBwM8//2xy2hKJBO3atcM333yDWrVqadZBZGQkAgICDDot0e/VzZx+/fpBEARcvXrVaNxt2rQBAHTs2BEBAQEGyeTu3butagqlri2dM2eO2eEaNmxosDybN29GYWGh1ctkirXbyBa21MqEhIQYzFPdMYwxEokEfn5+OklUVlaW0e1rqibFVHxdunRBrVq1cOLECaPrwlJsxtiyP0okEoPEfe3atbh69apV8Rujbsq5bNkyne9TU1Nx8uRJo53E2NO5c+dw5coV3H333ZrvnnrqKUgkEixevFhn2EWLFiEwMNDs+52Cg4Px0EMPYcWKFTo1kAUFBVi9erXVcalv0kRERFg9DpGrsUaKyIOMHTsWc+fOxaRJkzBgwAD4+PhYPa66gNykSRPcvn0b69atw/z58zFlyhRNL1pq+/fv1zT1yc/PhyAI+PvvvwEADz74oKYGY/Dgwfjpp58wfPhw3Lx5Ey1btsTGjRvx448/Yvjw4To1HdOnT0evXr3w/PPPY/jw4cjOzsaHH36I1q1bG3TJa62XXnoJX331ldmurw8cOKDpdvf69etYsGABTp06hVGjRum097fWqFGjsGTJEjz++OP47LPPEBsbi7Vr12L27Nl46623TPaqaA/z58+3OMzIkSPxzz//oGvXrhg1ahTatm2r6bEwKSkJY8aMQYcOHdCrVy/4+fnhpZdewrhx41BaWoo5c+YgNzdXZ3pr1qzB7Nmz8fTTT6Nx48YQBAErVqzA7du30atXLwDQPNu0YMECNGnSBO3atcO+ffuwfPlyq5etS5cueP311zF48GDs378fXbt2RXBwMDIzM7Fz5060adMGb731FmrXro2xY8fi888/x7Bhw/D8888jIyMDCQkJVjXXe+SRR/Dqq6/i888/x/Xr19GvXz/4+/vj0KFDmpdeA8Crr76KCRMm4NNPP0W3bt1w4sQJ/PDDD5p9qTqs3Ua2UCea3333HV577TXIZDI0b95c59mqqurXrx9WrFiB4cOHa3pJnDx5MqKjo3H27FmDOLZu3YrVq1cjOjoaISEhaN68uabGY968eQgJCUFAQAAaNWqE8PBwzJo1C6+99hpycnLw3HPPISIiAjdu3MDhw4dx48YNi0mvPlv2x379+mHRokW455570LZtWxw4cABffvmlQU1SkyZNEBgYiF9//RUtWrRAjRo1EBMTY/SmS/PmzfH6669j1qxZkEql6Nu3r6bXvvr162PUqFE2LY8pR44cwahRo/Dcc8+hcePGkEqlOHr0KL755huE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0iQYDAa/51tXV4dbb70Vs2bNwv79+7F+/XpMmzYNoiiG6qsSEZFMWEgREVHUycrKwrPPPos+ffpg1qxZ6NOnD5qamrBw4UKUlJTgwQcfhFarxebNmwEAy5cvh0qlwiuvvILS0lL069cPr732Gmpra7F+/Xq/51tXVweTyYRp06ahe/fuKC0txZw5c2S99JCIiEKD90gREVHUGTBgAFSq9mOFnTt3xsCBA22v1Wo1srOzUV9fDwDYsWMHDh06hNTUVIfptLS04PDhw37Pd/DgwRg3bhxKS0sxceJETJgwATfffDMyMzM7+I2IiEhpWEgREVHU0Wg0Dq8FQXD7nsViAQBYLBaUlZXh7bffdplWp06d/J6vWq1GdXU1tmzZgjVr1uC5557DQw89hG3btqG4uDiAb0JERErFS/uIiCjmDRs2DAcPHkRubi569erl8Jeeni5pWoIg4PLLL8fjjz+OXbt2QavVYuXKlSGKnIiI5MJCioiIYt4vf/lL5OTkYMqUKdi0aROOHj2KDRs24L777sPx48f9ns62bdtQVVWF7du3o7a2Fu+//z5++ukn9OvXL4TRExGRHHhpHxERxbykpCRs3LgRDzzwAKZNm4YLFy6gS5cuGDduHNLS0vyeTlpaGjZu3Iinn34aOp0ORUVF+Mtf/oKKiooQRk9ERHIQRPbJSkREJNn69etxzTXXoKGhwe8H8rbp3r075s6di7lz54YkNiIiCj1e2kdERNQBhYWFuPXWW/0atqqqCikpKaitrQ1xVEREFGo8I0VERBSA5uZmnDhxAgCQkpKCvLw8n+OcO3cO586dA2DtDVBqRxZERKQcLKSIiIiIiIgk4qV9REREREREErGQIiIiIiIikoiFFBERERERkUQspIiIiIiIiCRiIUVERERERCQRCykiIiIiIiKJWEgRERERERFJxEKKiIiIiIhIov8PjbccvDwFyOcAAAAASUVORK5CYII=", - "text/plain": [ - "<Figure size 1000x600 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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OyMgIED3m4n9jbRdS5cvX45mzZohICAAbdq0waZNmwy26UcffQQAuu64MpkMe/bsEb1NrMnPz8eHH36Itm3bolKlSqhatSo6deqEf//916SsOTk5WLZsma4M4eHhWLp0KV599VUAQPfu3XXf6e8v2tbpihUrIiAgAF26dMHOnTsN8hd7DpWyP16+fBlvv/02GjdujICAANSsWRP9+vVDQkKCLs2ePXvQvn17AMDbb7+tK782H3Pd2zQaDWbPnq3rSh0cHIy33npLd8xoafeRuLg4PP300wgICECDBg0wc+ZMm88n2l4E+ufaNWvWIDk5GR999JHN3RA3b96Mtm3bwtfXF/Xr18c333wjaX57nHuJyhoDKSIX8/LLL6NJkyb4559/dN3rxowZU+J8KpUKSUlJaNKkidnvNRoNVCqVwZ+Wtpudr6+vwTwKhQIymQynTp2yaV327duHZs2a4Z9//kHTpk0hl8tRq1YtfPLJJwZd+06fPg0AaN26tUkerVu31n0vxuTJkyGXy0V1iwMAtVoNlUqFwsJCXL58GaNGjYKvr6/B82NS3L17F507d9Z1i9mwYQN69uyJcePGSX6WSozGjRvj6aefxuLFi3XTFi9ejHr16qFHjx4m6XNzc9GtWzcsW7YM77//PrZs2YKPP/4YS5cuxfPPP2/wjN2VK1cwcOBALF++HJs2bcLQoUPx9ddfY/jw4bo0OTk56NWrF+7cuYMff/wR27dvx7fffos6deogKyvL5vXq378/GjVqhDVr1mDhwoUAgOHDh2P06NHo2bMn1q9fjwULFuDMmTPo3LmzwQ2EKVOm4OOPP0avXr2wfv16jBgxAv/9739x4cIFUcsePHgwPvjgA7Rv3x5//fUXVq1aheeff75U3c6GDBkChUKB5cuX4++//9ZVFpOTk/HGG29g4MCBiIqKwsiRIyX9RkBRBfaHH37Al19+iX/++QdVq1bFSy+9pAswhw0bpruZsXbtWl2Xqnbt2tm8PvoKCgqQlpaGcePGYf369fjzzz/x1FNPoX///vj999916WJjY+Hv74/IyEhdGRYsWIDnnnsO06dPB1AUvGu/e+655wAAK1asQO/evVGxYkUsW7YMq1evRtWqVREREWESTAG2n0PNuX37NqpVq4aZM2di69at+PHHH+Ht7Y0OHTro9qd27drputd+/vnnuvIPGzbM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7exiEBERERGRi0hKSkKtWrUsfs9ACkBQUBCAoo1VsWJFp5ZFqVRi27Zt6N27NxQKhVPLoqVW5yAmpgYAoHPn25DLA51cotJzxe3saZy6jXNygBpF+yxu3wYC3X+f1ad/TLZvn4idOw9yX3awcnPOcOKxI3Ube+K1qSyUm33ZyaxuZw+/RpUVR+7LmZmZqF27ti5GsISBFKDrzlexYkWXCKQCAgJQsWJFlznBqdVy3TFesWJFj7hYueJ29jRO3cZyefH/K1b0uIuU8THJfdnxys05w4nHjtRt7InXprJQbvZlJ7O6nT38GlVWymJfLumRHw42QUREREREJBEDKSIiIiIiIokYSBEREREREUnEQIqIiIiIiEgiBlJEREREREQSMZAiIiIiIiKSiIEUERERERGRRAykiIiIiIiIJGIgRUREREREJBEDKSIiIiIiIokYSBEREREREUnEQIqIiIiIiEgiBlJEREREREQSMZAiIiIiIiKSiIEUERERERGRRAykiIiIiIiIJGIgRTYpVGlw7EY6VGqNs4tCRERERFTmGEiRTT7+5xT6L4jB7OgLzi4KEREREVGZYyBFNll3/BYA4Jd9V51cEiIiIiKissdAioiIiIiISCIGUkRERERERBIxkCIiIiIiIpKIgRQREREREZFEDKSIiIiIiIgkYiBFREREREQkEQMpIiIiIiIiiRhIERERERERScRAioiIiIiISCIGUkRERERERBIxkCIiIiIiIpKIgRQREREREZFEDKSIiIiIiIgkYiBFREREREQkEQMpIiIiIiIiiRhIERERERERScRAioiIiIiISCIGUkRERERERBIxkCIiIiIiIpKIgRQREREREZFEDKSIiIiIiIgkYiBFREREREQkEQMpIiIiIiIiiRhIERERERERScRAioiIiIiISCIGUkRERERERBIxkCIiIiIiIpKIgRQREREREZFETg2kZsyYgfbt2yMoKAjBwcF48cUXceHCBYM0gwcPhkwmM/jr2LGjQZqCggK89957qF69OgIDA/H888/j5s2bZbkqRERERERUjjg1kNq7dy9GjRqFQ4cOYfv27VCpVOjduzdycnIM0j377LNITk7W/UVFRRl8P3r0aKxbtw6rVq3CgQMHkJ2djb59+0KtVpfl6hARERERUTnh7cyFb9261eDzkiVLEBwcjKNHj6Jr1666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sKzNfqttf9W2TbvTZAQWljouOy1KwMQcM945obKpA1vPKRz6zbam5ppwW3KT6HZ2oQnYVKmESYC1v2gxAxql5bLC7BgBLSYF9Gbg7jwzNlUqca4RUCst/fXZRgUO1ihwd3ez9TiNXGtsbMS9997r8TlSYZNI7d69G4WFhdbpzz33HN555x388MMPDp9xdkaqS5cuqKmpkf2BvAaDAcXFxRg3bpzfx8RvL5NJhz17OgEARo68ApUq9J8/EIzlHG5kLWOdDppOljpruHIlLB/I29omhw6txtatu1mXJdZh+gwZ247YMg7HfVMgdJi6LDO35Rzm+6hAkbIua7VapKamhv8DeVNTU6FSqXD+/Hmb6dXV1cjIyHD6mcjISERGOl7zqtFogqZTCaZYlMprcWg0GqhUwRGXPwRTOYcrWcpYY1tnEWbfsX2bbP2fdVl6YV/OQdB2vC3jcN43BULY1+Ug4bScg6CdhRMp6rK3ywv5wSYiIiIwdOhQFBcX20wvLi62udSPiIiIiIjIX0L+jBQALFiwAPfffz+GDRuGwsJCrFy5EhUVFZgzZ47coRERERERURgKi0Rq+vTpuHTpEp555hlUVVUhPz8fGzduRG5urtyhERERERFRGAqLRAoA5s6di7lz58odBhERERERdQAhf48UERERERFRoDGRIiIiIiIiEomJFBERERERkUhMpIiIiIiIiERiIkVERERERCQSEykiIiIiIiKRmEgRERERERGJxESKiIiIiIhIJCZSREREREREIjGRIiIiIiIiEomJFBERERERkUhMpIiIiIiIiERiIkVERERERCSSWu4AgoEgCAAArVYrcySAwWBAY2MjtFotNBqN3OEAAEwmHXQ6y2utVguVyiRvQH4QjOUcbmQt49YKCwBaLWAK/Trbln2bZF2WXofpM2RsO2LLOBz3TYHQYeqyzNyWc5jvowJFyrrcmhO05giuKARPc3QAZ86cQZcuXeQOg4iIiIiIgkRlZSVycnJcvs9ECoDZbMa5c+cQHx8PhUIhayxarRZdunRBZWUlEhISZI0lnLGcpccyDgyWc2CwnKXHMg4MlnNgsJylJ2UZC4KA+vp6ZGdnQ6l0fScUL+0DoFQq3WabckhISGDDCwCWs/RYxoHBcg4MlrP0WMaBwXIODJaz9KQq48TERI/zcLAJIiIiIiIikZhIERERERER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", - "text/plain": [ - "<Figure size 1000x600 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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hS2tMmXLljWap7+/v9n0MpkM/v7+ekFUamqqye1rriXFXPk6d+6M8uXL48yZMybXhbWymWLL/iiTyYwC93/++Qc3b94UVX5TNF05DQeLiI+Px9mzZ00OElMSn3zyCXbt2qX39/vvvwMA3nvvPezatQsNGjQAALzwwguQyWRYvny5Xh7Lli1DUFCQxfc7hYSEoF27dli/fr1eC+SDBw+wadMm0eXV3KSpWrWq6N8QuRpbpIg8yJgxY7Bo0SJMnjwZffv2ha+vr+jfairI9evXR0ZGBv79918sXrwY06ZNMxrd6+jRo9quPllZWRAEAX/++ScAoG3bttoWjLfffhs//vgjhg0bhrt37+LRRx/F9u3bsWDBAgwbNkyvpWPmzJno3r07Xn31VQwbNgxpaWn45JNP0KxZM6MhecV644038PXXX1sc+johIUE77O7t27exZMkSnDt3DqNGjdLr7y/WqFGj8Ouvv+K5557Dl19+idq1a+Off/7BwoULMXToUIe+H2Xx4sVW04wcORLr1q1Dly5dMGrUKLRo0QJqtRrXrl1DbGwsRo8ejfbt26N79+7w9/fHG2+8gbFjxyI/Px8//PAD0tPT9fLbvHkzFi5ciBdffBH16tWDIAhYv349MjIy0L17dwDQPtu0ZMkS1K9fHy1btsSRI0ewatUq0cvWuXNn/O9//8Pbb7+No0ePokuXLggJCUFKSgr279+P5s2bY+jQoahQoQLGjBmDqVOn4p133sGrr76K69evY9KkSaK66z355JN46623MHXqVNy+fRu9evVCQEAAjh07pn3pNQC89dZbmDBhAr744gt07doVZ86cwfz587X7UmmI3Ua20ASa3333HQYMGAC5XI7GjRvrPVtVUr169cL69esxbNgwvPLKK7h+/TqmTJmCatWq4eLFi0bl2L17NzZt2oRq1aqhbNmyaNy4sbbF46effkLZsmURGBiIunXrolKlSpg3bx4GDBiA+/fv45VXXkHVqlVx584dHD9+HHfu3LEa9BqyZX/s1asXli1bhkceeQQtWrRAQkICZs+ebdSSVL9+fQQFBeG3335DkyZNUKZMGURERJi86dK4cWP873//w7x58+Dj44OePXvi6tWrmDBhAmrWrFniEQYNPfLII3jkkUf0pmnO2/Xr10dkZKR2etOmTTF48GBMnDgRvr6+aNu2LWJjY/HT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bFnUr18f//77r97vzpw5g+eeew41atRAtWrV8NZbb+Hu3bva77ds2YInnngC5cuXR6VKldCrVy9cvnxZ+72m6+L69evx1FNPITg4GC1bttRrAXQE0YHUxo0bsXHjRgDA1q1btZ83btyIDRs2YMqUKahTp46jyklEboaVVgfherWIg5wQeTZBEJBTmKP9y1UU/+lON/zO3J+YfDR/Ym/6BYeEIDikDHZt/QeFBQUm0/wduwcA8OU3C7Dr6FnEL18OAMjOzkZ0dDS2b9+OY8eOISoqCr1798a1a9f0fv/NN99oA6Rhw4Zh6NChOHfuHICiIKhXr15o3LgxEhISMGnSJIwZM8ZkOT7++GN8/fXXiI+PR9WqVfH8889DoVAgJCQEr7/+OpYuXaqXfunSpXjllVdQtmxZs8u/fPlyVK5cGUeOHMGIESMwdOhQvPrqq+jUqRP+++8/REVF4a233kJubi4AICUlBV27dkWrVq2wc+dOxMTE4Pbt2+jbt682z5ycHHz00UeIj4/Hjh074OPjg5deeglqtVpv3p999hnGjBmDxMRENGrUCG+88QaUSqXZspaW6K59L774IoCidxQMGDBA7zu5XI46dergm2++sWvhyHs5szJkj255DBqISo/vwCGSDqkOopSryEWZ6WVcMu+scVmi0vn5+WHKnAWYPPZDrF25FE2at0DP7s/g9ddfR4sWLQAAlSpXAQCUDS2HylXDUEXIBgC0bNkSLdu00eY1depUbNiwARs3bsT777+vnR4dHY1hw4YBAMaNG4dvv/0Wu3fvxiOPPILffvsNKpUKS5YsQXBwMJo2bYobN25g6NChRmWdOHEiunfvDqAoAKpRowY2bNiAvn374p133kGnTp1w69YtRERE4O7du9i8eTO2bdtmcflbtmyJzz//HAAwfvx4zJgxA5UrV8a7774LAPjiiy/www8/4MSJE+jQoQN++OEHtGnTBl999RWysrIQGhqKJUuWoGbNmrhw4QIaNWqEl19+WW8eixcvRtWqVXHmzBk0a9ZMO33MmDHaVr/JkyejadOmuHTpEh555BFrm61ERLdIqdVqqNVq1KpVC2lpadrParUaBQUFOH/+PHr16uWQQhJJnW7gx6CqCFcDEdkLY2xyN92in8f2o2fx3ZJV6Nj1GezevRtt2rTBsmXLLP4uJycHY8eOxaOPPory5cuj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XLt2rSiKzOFgc21fUWQOB1tSUpL46quvMncV0ta+osjcDZa6ujoxLy9PLC8vF8eOHSveddddoijqr//lESmNaGlpwdatW1FSUuL0fklJCTZs2KBSVOFl//79yMzMRG5uLn7961/j559/VjuksHTo0CEcP37cKZejo6MxduxY5nIQVVRUoGfPnhgwYABuu+021NTUqB2SbtXW1gIAkpOTATCHg821fdswhwNns9mwfPlymM1mFBcXM3eDzLV92zB3A3fHHXdg8uTJmDBhgtP7esvhCLUDoFanTp2CzWZDenq60/vp6ek4fvy4SlGFj1GjRuGtt97CgAEDcOLECTz++OO45JJLsHv3bqSkpKgdXlhpy1dPufzLL7+oEVLYKS0txY033oicnBwcOnQIDz30EMaNG4etW7fq6onwWiCKIubPn4/LLrsMQ4cOBcAcDiZP7QswhwO1a9cuFBcXo6mpCXFxcVi1ahUGDx7s2NBk7gbGW/sCzN1gWL58ObZt24bNmze7DdNb/8tCSmMEQXD6WxRFt/dIvtLSUsfr/Px8FBcX44ILLsCbb76J+fPnqxhZ+GIuK2f69OmO10OHDkVRURFycnLwySefYNq0aSpGpj933nkndu7ciW+++cZtGHM4cN7alzkcmIEDB2L79u04d+4c3n//fcycORNr1651DGfuBsZb+w4ePJi5G6CqqircddddWLNmDWJiYryOp5cc5ql9GpGamgqj0eh29KmmpsatKqfAde/eHfn5+di/f7/aoYSdtrshMpdDp1evXsjJyWE+y/T73/8eH3/8Mb7++mtkZWU53mcOB4e39vWEOSxPVFQU+vfvj6KiIixZsgQFBQX4y1/+wtwNEm/t6wlzV56tW7eipqYGhYWFiIiIQEREBNauXYtnn30WERERjjzVSw6zkNKIqKgoFBYWory83On98vJyXHLJJSpFFb6am5uxZ88e9OrVS+1Qwk5ubi4yMjKccrmlpQVr165lLivk9OnTqKqqYj5LJIoi7rzzTnzwwQf46quvkJub6zScORwYf+3rCXM4MKIoorm5mbmrkLb29YS5K8/48eOxa9cubN++3fGvqKgIN998M7Zv345+/frpKod5ap+GzJ8/H7fccguKiopQXFyMZcuWobKyEnPmzFE7NN1bsGABrr32WmRnZ6OmpgaPP/44TCYTZs6cqXZoulRfX48DBw44/j506BC2b9+O5ORkZGdnY968eVi8eDHy8vKQl5eHxYsXo1u3brjppptUjFo/fLVvcnIyysrKcP3116NXr144fPgwFi5ciNTUVFx33XUqRq0fd9xxB95991189NFHiI+Pd+z5TExMRGxsrOOZJszhzvHXvvX19czhACxcuBClpaXo06cP6urqsHz5clRUVODzzz9n7gaBr/Zl7gYuPj7e6XpJoPUsoZSUFMf7usphle4WSF688MILYk5OjhgVFSUOHz7c6Xax1HnTp08Xe/XqJUZGRoqZmZnitGnTxN27d6sdlm59/fXXIgC3fzNnzhRFsfX2pYsWLRIzMjLE6Oho8fLLLxd37dqlbtA64qt9GxoaxJKSEjEtLU2MjIwUs7OzxZkzZ4qVlZVqh60bntoWgPj66687xmEOd56/9mUOB2b27NmO7YS0tDRx/Pjx4po1axzDmbuB8dW+zF1ldLz9uSjqK4cFURTFUBZuREREREREesdrpIiIiIiIiGRiIUVERERERCQTCykiIiIiIiKZWEgRERERERHJxEKKiIiIiIhIJhZSREREREREMrGQIiIiIiIikomFFBERERERkUwspIiISNfKyspw0UUXhXy+FRUVEAQBgiBg6tSpkj5TVlbm+MwzzzyjaHxERKQsFlJERKRZbUWHt3+zZs3CggUL8OWXX6oW4759+/DGG29IGnfBggWorq5GVlaWskEREZHiItQOgIiIyJvq6mrH6xUrVuDhhx/Gvn37HO/FxsYiLi4OcXFxaoQHAOjZsyd69Oghady2WI1Go7JBERGR4nhEioiINCsjI8PxLzExEYIguL3nemrfrFmzMHXqVCxevBjp6eno0aMHHnnkEVitVtx9991ITk5GVlYWXnvtNad5HT16FNOnT0dSUhJSUlIwZcoUHD58WHbMK1euRH5+PmJjY5GSkoIJEybAbDYH2BJERKQ1LKSIiCjsfPXVVzh27BjWrVuHp59+GmVlZbjmmmuQlJSETZs2Yc6cOZgzZw6qqqoAAA0NDbjyyisRFxeHdevW4ZtvvkFcXBwmTpyIlpYWyfOtrq7GjBkzMHv2bOzZswcVFRWYNm0aRFFU6qsSEZFKWEgREVHYSU5OxrPPPouBAwdi9uzZGDhwIBoaGrBw4ULk5eXh/vvvR1RUFL799lsAwPLly2EwGPDqq68iPz8fgwYNwuuvv47KykpUVFRInm91dTWsViumTZuGvn37Ij8/H3PnzlX11EMiIlIGr5EiIqKwM2TIEBgM7fsK09PTMXToUMffRqMRKSkpqKmpAQBs3boVBw4cQHx8vNN0mpqacPDgQcnzLSgowPjx45Gfn4+rr74aJSUluOGGG5CUlBTgNyIiIq1hIUVERGEnMjLS6W9BEDy+Z7fbAQB2ux2FhYV455133KaVlpYmeb5GoxHl5eXYsGED1qxZg+eeew4PPPAANm3ahNzc3E58EyIi0iqe2kdERF3e8OHDsX//fvTs2RP9+/d3+peYmChrWoIg4NJLL8UjjzyC77//HlFRUVi1apVCkRMRkVpYSBERUZd38803IzU1FVOmTMH69etx6NAhrF27FnfddReOHDkieTqbNm3C4sWLsWXLFlRWVuKDDz7AyZMnMWjQIAWjJyIiNfDUPiIi6vK6deuGdevW4d5778W0adNQV1eH3r17Y/z48UhISJA8nYSEBKxbtw7PPPMMTCYTcnJy8NRTT6G0tFTB6ImISA2CyHuyEhERyVZRUYErr7wSZ8+elfxA3jZ9+/bFvHnzMG/ePEViIyIi5fHUPiIiogBkZWVhxowZksZdvHgx4uLiUFlZqXBURESkNB6RIiIi6oTGxkYcPXoUABAXF4eMjAy/nzlz5gzOnDkDoPVugHJvZEFERNrBQoqIiIiIiEgmntpHREREREQkEwspIiIiIiIimVhIERERERERycRCioiIiIiISCYWUkRERERERDKxkCIiIiIiIpKJhRQREREREZFMLKSIiIiIiIhk+j8kzbZTmm1RcwAAAABJRU5ErkJggg==", - "text/plain": [ - "<Figure size 1000x600 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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DRqE++67DyEhISgoKEB0dDSaNGmC7du3o0OHDggJCdGfM3vPka5r6dKlS/HQQw8hJCQEzZs3x5o1a4yOqa5yrOuOq1AosHXrVruPiS35+fn48MMP0aJFC5QvXx4RERFo3749/v33X7O05uTkYPHixfo0REdHY9GiRXjhhRcAFFeodb8Z5peNGzeia9euCA8PR0hICDp27IhNmzYZrd/eMtSR/Hju3DkMHDgQ9evXR0hICKpXr45evXrh6NGj+nm2bt2K1q1bAwAGDhyoT79uPZa6t2m1WsyYMUPflToyMhL9+/fXXzM6ujySmJiIxx57DCEhIahbty6mTZsmannyzz//QBAEDBw40Gj6wIEDkZeXh3Xr1pW6jrVr16JFixYIDAxEnTp19C1O9hKj7CXyNAZSRDLz3HPPoUGDBvjrr7/w8ccfY/ny5Xj//fdLXa6oqAhXrlyx+iRPq9WiqKjI6J+Orpudafc5lUoFhUKBI0eOOLUv27dvx0MPPYS//voLDRs2hFKpRI0aNfDxxx8bde07duwYAKBZs2Zm62jWrJn+d3uMHz8eSqUSY8eOtWt+jUaDoqIiFBYW4ty5cxg2bBgCAwON3h9zxM2bN9GhQwds2LABEydOxKpVq9CtWzeMGDHC4Xep7FG/fn089thjWLBggX7aggULULt2bYstf7m5uejcuTMWL16M//3vf/jvv/8watQoLFq0CL179zZ6x+78+fPo168fli5dijVr1mDw4MH44osv8NZbb+nnycnJQffu3XHjxg189913iI+Px6xZs3D//ffj7t27Tu9Xnz598MADD2DFihX44YcfAABvvfUWhg8fjm7duuGff/7B3Llzcfz4cXTo0MHoAcKECRMwatQodO/eHf/88w+GDBmCN954A6dPn7Zr2wMGDMB7772H1q1b4/fff8dvv/2G3r17u/T+zqBBg6BSqbB06VL8+eef+spiSkoKXnnlFfTr1w9xcXEYOnSoQ+cIKK7AzpkzB59//jn++usvRERE4Nlnn9UHmK+//rr+YcbKlSuxZ88e7NmzR7QW14KCAty+fRsjRozAP//8g19//RWPPvoo+vTpgyVLlujn27NnD4KDgxEbG6tPw9y5c/HUU09hypQpAIqDd91vTz31FABg2bJl6NGjB8LDw7F48WL88ccfiIiIQExMjFkwBThfhlpy/fp1VKpU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O3eiRo0aVudLSUlBrVq18Ntvv6FPnz5WA6nu3bujXr16+OGHH8zWYalFqmbNmrh165bNg+UJarUa8fHx6N69O1QqVekLuJFGk4OEhIoAgHbtMqBUhkqaHqnI6ZxQMY+ck5wcqCoW5391RgYQKk7+9+XriteKg0TOY5byFs+J/PCcyI9XnhM33aPkQupzkpWVhcqVK5caSMmia9+7776LVatWYfv27TaDKACIiopCrVq1cPbsWQBA1apVUVhYiIyMDFS8l6EAIC0tDR06dLC4jsDAQAQGBppNV6lUsrmA5JAWP7+S7atUKiiV8jg2UpHDOSFjbj0nKuP8D5G2UxauK14rdhI5j9nKWzwn8sNzIj9edU7cdI+SG6nOib3blHTUPkEQ8M4772DlypXYvHkz6tSpU+oy6enpuHLlCqKiogAArVq1gkqlQnx8vH6elJQUHDt2zGogRURERERE5ApJW6SGDRuG5cuX499//0VYWBhSU1MBAOXLl0dwcDCys7Mxfvx4PPfcc4iKisLFixfxySefoHLlynj22Wf18w4ePBgffvghKlWqhIiICIwYMQJNmzbVj+JH5IqTKXeRWyR1KsRTpNHiyLVMNK1eHiolv8lNRERE5AxJA6nvv/8eABAdHW00feHChRgwYACUSiWOHj2KJUuW4M6dO4iKikKXLl3w+++/IywsTD//119/DX9/f/Tt2xd5eXno2rUrFi1aBKVS6cndIR904HIG+szdgwA/JZ7vLXVqxDFj/WnM234Bz7Wsga/6Npc6OeQiQRCgUCikTgaR2zGvE5HcSBpIlTbORXBwMNavX1/qeoKCgjB79mzMnj1brKQRAQC2nkoDABRqfefmPW/7BQDAXweuMpDycreyC9B79k4836oGPujRUOrkELmNWqPF03N24YHIcvj25YelTg4REQCJ35EikjtZDGkpA2uPpGBK3ElotTwicvLD1vO4npmPbzefkzopJENLEy7hh20XpE6GKPZeuI0TKVlYdfi61EkhItKTxah9RIev3EFooBIPRIaVPrMHyePjANIbtvwAAKBVrYqIaVxV4tSULl+twe7zt9C+bmUEB/huF18NMyjZMPafYwCA5+so0EOj9epBvbTM60QkQ2yRIsndvFuAp7/bhW4ztzu0nFqjNftbJp9F81np2YVSJ8Euo1cexaBF+zH894NSJ4VIcn8m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", - "text/plain": [ - "<Figure size 1000x600 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAIhCAYAAABE54vcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAACta0lEQVR4nOzdd3hT5d8G8Dtt0wkFCtKWjQiITAeyVEBGoQwRBV/4KVNFlrJEEIEiCggKKEtRlgwZisgobdmzQNl7t1CgpRRKC51pct4/StJm52QnvT/XhTYnZzw54znP9zzjSARBEEBEREREREQm83B0AoiIiIiIiFwNAykiIiIiIiKRGEgRERERERGJxECKiIiIiIhIJAZSREREREREIjGQIiIiIiIiEomBFBERERERkUgMpIiIiIiIiERiIEVERERERCQSAykiF1StWjVIJBLVv4CAALzyyiuYP38+BEFQm3fv3r1q8xb99/7776vmEwQBv/zyC1588UX4+PggNDQUgwcPRlpamtb2586di+7du6N69eqQSCRo1aqVwfT+999/aNmyJQIDAxEQEIC6deti8eLFWvPt3LkTzZo1g7+/P8qVK4d+/fohJSXFpH2i/E0zZszQ+m758uWQSCQ4fvy4alpERITavvDw8EBoaCjCw8Nx6NAhk7ap3O6wYcNMnh8A+vXrp/eYFP3Xr18/vetQpt/DwwM3b97U+j4zMxOBgYFG11OctGrVyui56q4OHz6MiIgIPH782KHpmDZtGjZt2qQ1/eLFi4iIiEBCQoLd02QN9+7dQ0REBE6fPq31nfJadZTMzExMmjQJtWrVgo+PD8qWLYvWrVvj2rVravPJZDJMmTIF1apVg4+PD1588UXMmzfPom3r+u2a9y9fX1+88MILGDVqFFJTUy3aHpG9eTk6AURknhYtWuDHH38EUHATnz17NoYPH46MjAx8/fXXWvNPmzYNrVu3VptWtmxZ1d9jxozB3LlzMWbMGLRt2xYXL17EpEmTEBcXh9jYWEilUtW8v/76KwICAvD2229jy5YtBtM5Y8YMTJgwAZ999hnGjx8PqVSKy5cvIy8vT22+ffv2oWPHjujUqRP+++8/pKSk4KuvvkKbNm1w/Phx+Pj4mLRfZsyYgU8//RRBQUEmzR8VFYVSpUpBoVDg9u3bmDlzJlq1aoWjR4/ilVdeMWkdYk2cOBGfffaZ6vPJkycxdOhQrWP03HPPGV1XiRIlsGzZMkydOlVt+oYNGyCTydSOGxVfhw8fxpQpU9CvXz+ULl3aYemYNm0a3n//fXTr1k1t+sWLFzFlyhS0atUK1apVc0jaLHHv3j1VENKoUSO17z7++GN06NDBIel6+vQpWrdujXv37mHcuHFo0KAB0tPTcfjwYWRlZanNO2TIEKxcuRJTp05F48aNER0djS+++AJPnjzReU+xRNH7V3Z2No4fP46IiAjs379f7YEXkdMTiMjlVK1aVejUqZPatPT0dKFUqVJClSpV1Kbv2bNHACBs2LBB7/ru3LkjeHp6CsOHD1ebvmbNGgGAsHjxYrXpcrlc9XfdunWFli1b6lzv8ePHBQ8PD+GHH34w+psaN24svPTSS4JMJlNNO3TokABAWLhwodHlAQht27YVvLy8hFGjRql9t2zZMgGAEBcXp5o2efJkAYDw4MEDtXlv3LghABDGjx9vdJvK7Q4dOtSkefUx5RhpUqb/448/FipXrqx2TARBEN544w2hV69eQkBAgNC3b1+L0udomZmZVllPy5Yt9Z6r9pSVlSUoFAqd31nrt2qaNWuWAECIj4+3yfpNpe983LBhgwBA2LNnj93TZA1xcXECAGHZsmWOToqaL774QggICBBu3LhhcL7z588LEolEmDZtmtr0Tz75RPDz8xMePnxo1vaV+VRRuu5fgiAIEydOFAAIV65cMWtbRI7Apn1ETkLZBOLChQvo1asXSpUqheDgYAwYMADp6elGlw8MDEStWrVw//590ds+cuQI5HI5wsPD1aZ37twZAPDPP/+oTffwMC3rmD9/Pnx8fDB8+HCD8929exdxcXH46KOP4OVVWFHevHlz1KpVC//++69J26tduzYGDhyIBQsW4NatWyYto6lUqVIAYFFNzu3bt/Hhhx+ifPny8PHxQZ06dfDTTz9BoVCYvU59BgwYgMTEROzYsUM17erVqzh48CAGDBigc5mMjAyMGTMG1atXh7e3NypWrIgRI0YgMzNTbb4FCxbgrbfeQvny5REQEID69etj5syZkMlkavOdOnUKnTt3Vv3eChUqoFOnTrhz5w4AICEhARKJBMuXL9dKi0QiQUREhOqz8jo4efIk3n//fZQpUwY1atQAUND8dOHChWjUqBH8/PxQpkwZvP/++1pNGwVBwMyZM1G1alX4+vrilVdewfbt203epwqFAvPmzVNtp3Tp0mjatCk2b96sN91K1apVU2tKqWxWGhMTgwEDBuC5556Dv78/cnNz0apVK9SrVw/79+9H8+bN4e/vrzpmph4jZdPSlStXok6dOvD390fDhg2xdetWtX365ZdfAoCqOa5EIsHevXtN3ieG5OTkYPTo0WjUqBFKlSqFoKAgNGvWDP/9959WWjMzM7FixQpVGlq1aoXly5ejR48eAIDWrVurvit6vuzcuRNt2rRBYGAg/P390aJFC+zatUtt/abmoWLOx+vXr6N///6oWbMm/P39UbFiRXTp0gXnzp1TzbN37140btwYANC/f39V+pXr0dW8TaFQYObMmaqm1OXLl0efPn1U14yS8hyJi4vDm2++CX9/fzz//POYMWOG0fwkKysLf/zxB3r06IHnn3/e4LybNm2CIAjo37+/2vT+/fsjOzsbUVFRBpcHgG3btqFRo0bw8fFB9erVVTVOprJG3ktkbwykiJzMe++9h1q1auGff/7BuHHjsGbNGowcOdLocvn5+UhMTEStWrV0fq9QKJCfn6/2T0nZzE6z+ZxUKoVEIsHZs2fN+i379+9HnTp18M8//6B27drw9PREpUqVMG7cOLWmfefPnwcANGjQQGsdDRo0UH1vioiICHh6emLixIkmzS+Xy5Gfn4+8vDxcv34dQ4cOhY+Pj1r/MTEePHiA5s2bIyYmBlOnTsXmzZvRtm1bjBkzRnRfKlPUrFkTb775JpYuXaqatnTpUlSrVg1t2rTRmj8rKwstW7bEihUr8Pnnn2P79u346quvsHz5cnTt2lWtj92NGzfQu3dvrFy5Elu3bsXAgQMxa9YsDBo0SDVPZmYm2rVrh/v372PBggXYsWMH5s6diypVquDJkydm/67u3bvjhRdewIYNG/Drr78CAAYNGoQRI0agbdu22LRpExYuXIgLFy6gefPmag8QpkyZgq+++grt2rXDpk2bMHjwYHzyySe4cuWKSdvu168fvvjiCzRu3Bjr1q3D2rVr0bVrV4v67wwYMABSqRQrV67E33//rSosJiUl4cMPP0Tv3r0RGRmJIUOGiDpGQEEBdv78+fj222/xzz//ICgoCO+++64qwPz4449VDzM2btyI2NhYxMbGWq3pam5uLh49eoQxY8Zg06ZN+Ouvv/DGG2+ge/fu+PPPP1Xz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OHr0KN5//31kZGSgb9++kEgkGDFiBKZNm4Z///0X58+fR79+/eDv74/evXV1d3NPV+8Xjtr1JCffJd6voem2BU/ZJ292j/eGpT7NMz4TFXt8CSwREbmzGdtda4RVp27ad+fOHfTq1Qupqal47rnn0LRpUxw5cgRVq1YFAIwdOxbZ2dkYMmQI0tLS0KRJE8TExKBkyZIOTjkREREREbkzpw6k1q5da/B7iUSCiIgIRERE2CdBTmjLmXuOTgIRERERUbHj1E37yLi7j7MdnQQiIiIiomKHgRQREREREZFIDKSIiIiIiIhEYiDlwo7e1P1eGiIiIiIisi0GUi7sAzu/N4qIiIiIiAowkCIiIiIiIhKJgZSb2XvlgaOTQERERETk9hhIERERERERicRAioiIiIiISCQGUkRERERERCIxkCIiIiIiIhKJgRQREREREZFIDKSIiIiIiIhEYiBFREREREQkEgMpIiIiIiIikRhIERERERERicRAioiIiIiISCQGUkRERERERCIxkCIiIiIiIhKJgRQREREREZFIDKSIiIiIiIhEYiBFREREREQkEgMpIiIiIiIikRhIERERERERicRAioiIiIiISCQGUkRERERERCIxkCIiIiIiIhLJy9EJcCqZmYCnp2PTIJPBMyenIC1SqcFZ/fJy7JQo9+TtWbj//PJy4Cl3YGLI5fnJcnT+LRbPSyLbsta16ijMI8gZWfW6ysy0MDVWYGIaJIIgCDZOitPLyMhAqVKlkA4g0NGJIbuR+wIHthf8/WZHwNP17qfkhnheEpEhzCOIbC8DQCkA6enpCAzUHx2waR8REREREZFIbNpX1L17gIGo0x5kMhmio6MRFhYGqZGmfXUmRtkpVe7J2zMHP+NDAMArw1YhT+7r4BSRK/OT5eDk/MLzKVtq3vnE85LItqx1rToK8whyRta8ri5N7WCtZJkvIwOoUMHobAykigoIKPjnSDIZ5L6+BekwEkhlezPztIS8SHe4bG9f3ozIarKlvmZfnzwviezHkmvVUZhHkLOz+LpydFkcAOSmdT5k0z4iIiIiIiKRGEgRERERERGJxEDKCeXKgew8jmdKREREROSsGEg5GZlcgbHHvNBg6i7IFcV+ZHoiIiIiIqfEwSaczKPMPNXfh66n4v/bu/foqOq73+OfPZPJBXIhF5IQghAqCpLIJegqAt64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", - "text/plain": [ - "<Figure size 1000x600 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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PnPqM2Zqv5hghL3bEXGYvPMaas86iqicNa4pEJhImTH/my8wdEOwyYc5zWj01kumDsGkXnOkojz3JJ41ILrceRGX49e+z8SNe6/wwpKMK7vJzU1p5ObC/Zunzy+Htfu15rW1Z5+YOgSzIXYibGP558ITpKQpcfJ54U0n2LTPjH29PhgAULzIHczubrzJZYnMAUdhIyJzdk7HdAyULi+nPiDzF5mcfZmCqvCmkPlIVhPfEVHO3HthXnPE5DfPojncLxVs24LDTR0CUb6QWoi7STGRIlFexbNpGxUMwY+jTB1CvhXyOApN5pl2QlAiIiJTYyKVD9yJyHlfCDJvl8OijbKeWA5DSnno3xAOPUxERMREKh949DrR1CFQLolPMU4n63WBxh1NkAqmyNhkNJ/PmiQiIjKeN8mFd1AoJlJEZNYK7+nZ+IZvuoiwN+zbREREZAxMpIiICgn2CyMiIjIeJlJEREREREQiMZEiIiIiIiISiYkUERERERGRSEykiIiIiIiIRGIiRUREREREJBITKSIya4KpAyAiIiLSgYkUERERERGRSEykiMiscUJeIiIi81WYW44wkSIis1aYT9BERETmrjDf8GQiRUREREREJBITKSIya4X5ThcRERGZLyZSREREREREIjGRIiIiIiIiEomJFBERERERkUhMpIiIiIiIiERiIkVERERERCQSEykiIiIiIsqZQjy8LhMpIiIiIiLKGcHUAZgOEykiIhJFKMQ/mkRERCpMpIiIiIiIKGfYtI+IyDyx8oOIiIjMERMpIjJrTKSIiIjIHDGRIiIiIiKiHElRmDoC02EiRUREREREORIvN3UEpsNEioiIiIiISCQmUkRERERERCIxkSIiIiIiIhKJiRRRAeBoY2nqEHIPh+0jIiIiM8REiqgAYK5BREREpiAU4hl5mUgRFQACMykiIiIygSpFlaYOwWSYSBEVAEpmUkRERGQCdgW4d0F2mEgRFQDMo8gQMqlxml/weCMiImIiRVQgsEaKDCGT8pRPRERkLPxVJSoACnIaVZDfGxEREeVfTKSICgCBNVJEREREeYqJFFEBwDyKiIiIKG8xkSIqANhHioiIiEyhMF+CMJEiKgCUBfgkVoDfGhEREeVjTKSIiIiIiIhEYiJFREREREQ5UphbjjCRIiIiIiIiEomJFBGZtVSFqSOgzIRCff+RiIgoHRMpIjJrUakSU4dAREREpIWJFBERERERkUhMpIiIiIiIiERiIkVERERERCSSSROpuXPnon79+nBwcICrqyu6deuGO3fuaJQRBAG+vr7w9PSEra0tWrVqhRs3bmiUSUlJwahRo1C8eHHY29uja9euCA8Pz8u3QkREREREhYhJE6kTJ05gxIgROHfuHPz9/ZGWlob27dsjISFBXWb+/PlYuHAhli5diqCgILi7u6Ndu3aIi4tTlxk9ejR27dqFLVu24PTp04iPj0fnzp2hUHC4LyocutT0MHUIREREVAgV5nFcLU258UOHDmk8XrNmDVxdXRESEoIWLVpAEAQsXrwYU6ZMQY8ePQAA69atg5ubGzZv3oyhQ4ciJiYGq1atwoYNG9C2bVsAwMaNG+Hl5YWAgAD4+Pjk+fsiymv1y7qYOgQiIiKiQsWkiVRmMTExAAAXl/SLwocPHyIiIgLt27dXl7G2tkbLli0RGBiIoUOHIiQkBHK5XKOMp6cnqlevjsDAQJ2JVEpKClJSUtSPY2NjAQByuRxyuTxX3puhVNvPHIeuuBQK08ZK5sPZ9t1XWS6XAwYcxxmPH7lcDqWSxxMZRqk03/uPcrkc0gx/ExFR7pKg4J1vDX0/ZpNICYKAsWPHolmzZqhevToAICIiAgDg5uamUdbNzQ2PHz9Wl7GysoKzs7NWGdXrM5s7dy5mzJihtdzPzw92dnbv/V6Mwd/fHxl3z4EDB3SUSoaTU56FRGbs4qWLaPv278OHD0NhY2PAq94dP4cPHwZgAzM6JVAuSEtLQ/pP3vsJCwuDuY5VFBAQgM4Z/gaKmzIcIqICz1Kium4tOBITEw0qZzZXTSNHjsTVq1dx+vRpreckEs0ffkEQtJZlllWZyZMnY+zYserHsbGx8PLyQvv27eHo6JiD6I1HLpfD398f7dq1A84eUy/v2LGjVlmFIgHnzuVldGSu6nxYR/23j48PYG+f7WsyHj8+Pj6QSu3x3Vm/3AqRzIClpSVSU9+/76iXlxfOv3xqhIiMT9XEW/33pcumC4aIqBDwtBfQrl07yGQyU4diNKrWatkxi0Rq1KhR2LNnD06ePIlSpUqpl7u7uwNIr3Xy8HjXmT4yMlJdS+Xu7o7U1FRERUVp1EpFRkaiSZMmOrdnbW0Na2trreUymcxsDoLMceiKy8LCPGIl05NK39UOyGQywIDjOOPxI5PJIJXyeCLDWFi8f61Wbsl4rjSX8zkRUUFnTtfQxmDoezFp2wxBEDBy5Ejs3LkTR48eRdmyZTWeL1u2LNzd3TWqC1NTU3HixAl1klS3bl3IZDKNMs+fP8f169f1JlJERERERPT+zPfWWu4zaY3UiBEjsHnzZvz3339wcHBQ92lycnKCra0tJBIJRo8ejTlz5qBixYqoWLEi5syZAzs7O/Tp00dddvDgwRg3bhyKFSsGFxcXjB8/HjVq1NBo4kFEVNgV5h87IiIiYzNpIrVixQoAQKtWrTSWr1mzBgMHDgQATJgwAUlJSRg+fDiioqLQsGFD+Pn5wcHBQV1+0aJFsLS0RK9evZCUlIQ2bdpg7dq1kEqlICIiIiIiMjaTJlKCkP0QuhKJBL6+vvD19dVbxsbGBkuWLMGSJUuMGB0REREREZFu5jl+LRERERERkRljIkVERERERCQSEykiIiIiIiKRmEgRERERERGJxESKiIiIiIhIJCZSREREREREIjGRIiK1mqWcTB0C5aLsJ5wwcD3GWhEREVE+xkSKiNTsrDiJNREREZEhmEgRvWXPJAKtKruaOgQtLtas/iAiIjJXEompIzAdJlJEb7WoVMLUIZictDCfDclgTG2JiIiYSBEREREREYnGRIqIiIiIiEgkJlJEREREREQiMZEiIiIiIiISiYkU5VuV3IqYOgQiIiIiKqSYSBEREREREYnERIqIiIiIiEgkJlJEREREREQiMZEiIrMmcPZXIiIiMkNMpIiIiIiIKEckpg7AhJhIERERERERicREivItSaG+B0JEREREpsREiojMGrtIERERkTliIkVERERERDlSmNsHMZEiIiIiIiISiYkUERERERGRSEykiIiIiIiIRGIiRUREREREJBITKSIiIiIiIpGYSBGRmsDBxskAAg8TIiIiJlJERERERERiMZGifEtSmCcuICIiIiKTYiJFRGaNrciIiIjIHDGRIiLzxkyKiIiIzBATKSIiIiIiIpGYSBEREREREYnERIqIiIiIiEgkJlJEREREREQiMZEiIiIiIiISiYkUEZk1DtpHRERE5oiJFBERERERkUhMpIiIiIiIiERiIkVERERERCQSEykiIiIiIiKRmEgREZEoAocAISKityQSU0dgOkykiIiIiIiIRGIiRfmWpDDfAiEiIiIik2IiRURmjY3I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kgsREhFRfsV8j4iIcpP59hgmIiIiIiIyU0ykiIiIiIiIRGIiRUREREREJBITKSIiIiIiIpGYSBEREREREYnERIqIiIiIiEgkJlJEZNYESEwdAhEREZEWJlJEREREREQiMZEiIiokspoAnYiIiMRhIkVERERERCQSEykiIiIiIiKRmEgREVGBxKaMRESUm5hImSn+/htAwtHciIiIiMg0mEgRERERERGJxESKiIiIiIhIJCZSREREREREIjGRIiIiIiIiEomJFBERERERkUhMpIiISBQBHFaUiIiIiRQREREREZFITKSIiEgUznNHRETERIryMU7HSyQO8x8iIiLjYSJFREREREQ5IinEd7aZSBEREREREYnERIqIiAokNmUkIqLcxESKiIiIiIhIJCZSREREREREIjGRIiIiIiIiEomJlJli234iIiIiIvPFRIqoAOAEqURERER5i4kUERERERGRSEykiIgKCdZcEhGRsRXi+XiZSBEREREREYnFRIqIiIiIiEgkJlJEREREREQiMZEiIjWBnWiIiIiIDMJEioiICiTeFyAiotzERIqIiIiIiEgkJlJEREREREQiMZEiIiIiIiISiYkUERERERGRSEykiIiIiIiIRGIiRUREREREJBITKSIiEoXDihMRETGRMlucGJWIiIiIyHwxkSIiIiIiIhKJiRQREREREZFITKSIiIiIiIhEYiJFREREREQkEhMpIiIqkARw0B4iIso9TKSIiIiIiIhEYiJFREREREQkEhMpIiIiIiIikZhIERGRKOx7RERExESKiIiIiIhINCZSREREREREIjGRonxLIjF1BERERERUWDGRIiIiIiKiHCnM97WZSBEREREREYnERIqIiIiIiEgkJlJmioMLkykIPPCIiIhIhMJ86cBEioiICiTeGCAiotzERIryrcLcuZGIiIiITIuJFBERERERkUhMpIiIiIiIiERiIkVERKKw7xERERETKSI1XhwSERERkaGYSFG+xbyHiIiIiEyFiRQREREREZFITKSIiIiIiIhEYiJFVAgolQLC3iSaOgwiIiKiAoOJFNFbz2OSTR1CrvnflktoPv8Ydl0KN3UoRERERAWCWSdSvr6+kEgkGv/c3d3VzwuCAF9fX3h6esLW1hatWrXCjRs3TBgx5WfXnsaYOgSj6PDbSTyNTsLGc4/hdyMCALDv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", - "text/plain": [ - "<Figure size 1000x600 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "ename": "FileNotFoundError", - "evalue": "[Errno 2] No such file or directory: 'vodafone_nbiot_61db.ppk2'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[8], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m ku \u001b[38;5;129;01min\u001b[39;00m df0\u001b[38;5;241m.\u001b[39mindex\u001b[38;5;241m.\u001b[39mto_list() \u001b[38;5;241m+\u001b[39m [\u001b[38;5;241m61\u001b[39m]:\n\u001b[0;32m----> 2\u001b[0m archive \u001b[38;5;241m=\u001b[39m \u001b[43mzipfile\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mZipFile\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43mf\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mvodafone_nbiot_\u001b[39;49m\u001b[38;5;132;43;01m{\u001b[39;49;00m\u001b[43mku\u001b[49m\u001b[38;5;132;43;01m}\u001b[39;49;00m\u001b[38;5;124;43mdb.ppk2\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mr\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 3\u001b[0m f \u001b[38;5;241m=\u001b[39m archive\u001b[38;5;241m.\u001b[39mread(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124msession.raw\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 4\u001b[0m a \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mfrombuffer(f, dtype\u001b[38;5;241m=\u001b[39mnp\u001b[38;5;241m.\u001b[39mdtype([(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mI\u001b[39m\u001b[38;5;124m'\u001b[39m, np\u001b[38;5;241m.\u001b[39mfloat32),(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mDI\u001b[39m\u001b[38;5;124m'\u001b[39m,np\u001b[38;5;241m.\u001b[39muint16)]))\n", - "File \u001b[0;32m/usr/lib/python3.11/zipfile.py:1284\u001b[0m, in \u001b[0;36mZipFile.__init__\u001b[0;34m(self, file, mode, compression, allowZip64, compresslevel, strict_timestamps, metadata_encoding)\u001b[0m\n\u001b[1;32m 1282\u001b[0m \u001b[38;5;28;01mwhile\u001b[39;00m \u001b[38;5;28;01mTrue\u001b[39;00m:\n\u001b[1;32m 1283\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m-> 1284\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfp \u001b[38;5;241m=\u001b[39m io\u001b[38;5;241m.\u001b[39mopen(file, filemode)\n\u001b[1;32m 1285\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mOSError\u001b[39;00m:\n\u001b[1;32m 1286\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m filemode \u001b[38;5;129;01min\u001b[39;00m modeDict:\n", - "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'vodafone_nbiot_61db.ppk2'" - ] - } - ], - "source": [ - "for ku in df0.index.to_list() + [61]:\n", - " archive = zipfile.ZipFile(f'vodafone_nbiot_{ku}db.ppk2', 'r')\n", - " f = archive.read('session.raw')\n", - " a = np.frombuffer(f, dtype=np.dtype([('I', np.float32),('DI',np.uint16)]))\n", - " show_i(a, ku, nbstart, nbstop, 'nRF9160 NB-IoT Measured current')\n", - " del archive\n", - " del f\n", - " del a" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "0f803eb3-d28f-4c04-a04b-0c3d1c05fd6f", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>Round-trip min [ms]</th>\n", - " <th>Round-trip max [ms]</th>\n", - " <th>Round-trip avg [ms]</th>\n", - " <th>K_U [dB]</th>\n", - " <th>RSRP [dBm]</th>\n", - " <th>SNR [dB]</th>\n", - " <th>Transmit time [s]</th>\n", - " <th>Max I [mA]</th>\n", - " <th>Average I [mA]</th>\n", - " <th>Ready I [mA]</th>\n", - " <th>Standby I [mA]</th>\n", - " <th>Charge [uAh]</th>\n", - " <th>Data-rate [kB/s]</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>0</th>\n", - " <td>359</td>\n", - " <td>1612</td>\n", - " <td>773</td>\n", - " <td>0</td>\n", - " <td>-71</td>\n", - " <td>4</td>\n", - " <td>0.820</td>\n", - " <td>243.012</td>\n", - " <td>30.155</td>\n", - " <td>29.117</td>\n", - " <td>4.460</td>\n", - " <td>6.869</td>\n", - " <td>0.002</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>432</td>\n", - " <td>2147</td>\n", - " <td>933</td>\n", - " <td>3</td>\n", - " <td>-72</td>\n", - " <td>7</td>\n", - " <td>0.943</td>\n", - " <td>247.625</td>\n", - " <td>31.122</td>\n", - " <td>29.792</td>\n", - " <td>0.470</td>\n", - " <td>8.154</td>\n", - " <td>0.002</td>\n", - " </tr>\n", - " <tr>\n", - " <th>6</th>\n", - " <td>374</td>\n", - " <td>2328</td>\n", - " <td>911</td>\n", - " <td>6</td>\n", - " <td>-78</td>\n", - " <td>4</td>\n", - " <td>0.894</td>\n", - " <td>238.401</td>\n", - " <td>31.434</td>\n", - " <td>30.323</td>\n", - " <td>5.190</td>\n", - " <td>7.803</td>\n", - " <td>0.002</td>\n", - " </tr>\n", - " <tr>\n", - " <th>10</th>\n", - " <td>548</td>\n", - " <td>1473</td>\n", - " <td>815</td>\n", - " <td>10</td>\n", - " <td>-80</td>\n", - " <td>4</td>\n", - " <td>0.864</td>\n", - " <td>233.027</td>\n", - " <td>31.620</td>\n", - " <td>29.980</td>\n", - " <td>5.628</td>\n", - " <td>7.590</td>\n", - " <td>0.002</td>\n", - " </tr>\n", - " <tr>\n", - " <th>20</th>\n", - " <td>406</td>\n", - " <td>2254</td>\n", - " <td>911</td>\n", - " <td>20</td>\n", - " <td>-88</td>\n", - " <td>6</td>\n", - " <td>0.895</td>\n", - " <td>238.401</td>\n", - " <td>32.874</td>\n", - " <td>30.039</td>\n", - " <td>7.432</td>\n", - " <td>8.169</td>\n", - " <td>0.002</td>\n", - " </tr>\n", - " <tr>\n", - " <th>30</th>\n", - " <td>373</td>\n", - " <td>1961</td>\n", - " <td>897</td>\n", - " <td>30</td>\n", - " <td>-102</td>\n", - " <td>2</td>\n", - " <td>0.896</td>\n", - " <td>269.196</td>\n", - " <td>34.505</td>\n", - " <td>30.369</td>\n", - " <td>6.245</td>\n", - " <td>8.592</td>\n", - " <td>0.002</td>\n", - " </tr>\n", - " <tr>\n", - " <th>36</th>\n", - " <td>570</td>\n", - " <td>1823</td>\n", - " <td>934</td>\n", - " <td>36</td>\n", - " <td>-108</td>\n", - " <td>4</td>\n", - " <td>0.965</td>\n", - " <td>271.512</td>\n", - " <td>42.627</td>\n", - " <td>30.350</td>\n", - " <td>5.501</td>\n", - " <td>11.426</td>\n", - " <td>0.002</td>\n", - " </tr>\n", - " <tr>\n", - " <th>40</th>\n", - " <td>408</td>\n", - " <td>1463</td>\n", - " <td>836</td>\n", - " <td>40</td>\n", - " <td>-109</td>\n", - " <td>5</td>\n", - " <td>0.880</td>\n", - " <td>257.631</td>\n", - " <td>49.616</td>\n", - " <td>30.401</td>\n", - " <td>0.472</td>\n", - " <td>12.123</td>\n", - " <td>0.002</td>\n", - " </tr>\n", - " <tr>\n", - " <th>50</th>\n", - " <td>46</td>\n", - " <td>2356</td>\n", - " <td>1148</td>\n", - " <td>50</td>\n", - " <td>-129</td>\n", - " <td>-8</td>\n", - " <td>1.899</td>\n", - " <td>246.856</td>\n", - " <td>67.664</td>\n", - " <td>29.852</td>\n", - " <td>3.738</td>\n", - " <td>35.685</td>\n", - " <td>0.001</td>\n", - " </tr>\n", - " <tr>\n", - " <th>60</th>\n", - " <td>873</td>\n", - " <td>2335</td>\n", - " <td>1305</td>\n", - " <td>60</td>\n", - " <td>-129</td>\n", - " <td>-2</td>\n", - " <td>2.397</td>\n", - " <td>249.163</td>\n", - " <td>99.318</td>\n", - " <td>28.167</td>\n", - " <td>1.767</td>\n", - " <td>66.137</td>\n", - " <td>0.001</td>\n", - " </tr>\n", - " <tr>\n", - " <th>63</th>\n", - " <td>754</td>\n", - " <td>5633</td>\n", - " <td>3200</td>\n", - " <td>63</td>\n", - " <td>-132</td>\n", - " <td>-4</td>\n", - " <td>3.339</td>\n", - " <td>249.163</td>\n", - " <td>86.705</td>\n", - " <td>30.638</td>\n", - " <td>25.263</td>\n", - " <td>80.413</td>\n", - " <td>0.001</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "</div>" - ], - "text/plain": [ - " Round-trip min [ms] Round-trip max [ms] Round-trip avg [ms] K_U [dB] \\\n", - "0 359 1612 773 0 \n", - "3 432 2147 933 3 \n", - "6 374 2328 911 6 \n", - "10 548 1473 815 10 \n", - "20 406 2254 911 20 \n", - "30 373 1961 897 30 \n", - "36 570 1823 934 36 \n", - "40 408 1463 836 40 \n", - "50 46 2356 1148 50 \n", - "60 873 2335 1305 60 \n", - "63 754 5633 3200 63 \n", - "\n", - " RSRP [dBm] SNR [dB] Transmit time [s] Max I [mA] Average I [mA] \\\n", - "0 -71 4 0.820 243.012 30.155 \n", - "3 -72 7 0.943 247.625 31.122 \n", - "6 -78 4 0.894 238.401 31.434 \n", - "10 -80 4 0.864 233.027 31.620 \n", - "20 -88 6 0.895 238.401 32.874 \n", - "30 -102 2 0.896 269.196 34.505 \n", - "36 -108 4 0.965 271.512 42.627 \n", - "40 -109 5 0.880 257.631 49.616 \n", - "50 -129 -8 1.899 246.856 67.664 \n", - "60 -129 -2 2.397 249.163 99.318 \n", - "63 -132 -4 3.339 249.163 86.705 \n", - "\n", - " Ready I [mA] Standby I [mA] Charge [uAh] Data-rate [kB/s] \n", - "0 29.117 4.460 6.869 0.002 \n", - "3 29.792 0.470 8.154 0.002 \n", - "6 30.323 5.190 7.803 0.002 \n", - "10 29.980 5.628 7.590 0.002 \n", - "20 30.039 7.432 8.169 0.002 \n", - "30 30.369 6.245 8.592 0.002 \n", - "36 30.350 5.501 11.426 0.002 \n", - "40 30.401 0.472 12.123 0.002 \n", - "50 29.852 3.738 35.685 0.001 \n", - "60 28.167 1.767 66.137 0.001 \n", - "63 30.638 25.263 80.413 0.001 " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>Round-trip min [ms]</th>\n", - " <th>Round-trip max [ms]</th>\n", - " <th>Round-trip avg [ms]</th>\n", - " <th>K_U [dB]</th>\n", - " <th>RSRP [dBm]</th>\n", - " <th>SNR [dB]</th>\n", - " <th>Transmit time [s]</th>\n", - " <th>Max I [mA]</th>\n", - " <th>Average I [mA]</th>\n", - " <th>Ready I [mA]</th>\n", - " <th>Standby I [mA]</th>\n", - " <th>Charge [uAh]</th>\n", - " <th>Data-rate [kB/s]</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>0</th>\n", - " <td>305</td>\n", - " <td>1536</td>\n", - " <td>757</td>\n", - " <td>0</td>\n", - " <td>-71</td>\n", - " <td>4</td>\n", - " <td>0.833</td>\n", - " <td>243.780</td>\n", - " <td>31.346</td>\n", - " <td>29.117</td>\n", - " <td>4.460</td>\n", - " <td>7.250</td>\n", - " <td>0.154</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>273</td>\n", - " <td>1157</td>\n", - " <td>699</td>\n", - " <td>3</td>\n", - " <td>-72</td>\n", - " <td>7</td>\n", - " <td>0.796</td>\n", - " <td>247.625</td>\n", - " <td>32.698</td>\n", - " <td>29.792</td>\n", - " <td>0.470</td>\n", - " <td>7.230</td>\n", - " <td>0.161</td>\n", - " </tr>\n", - " <tr>\n", - " <th>6</th>\n", - " <td>532</td>\n", - " <td>967</td>\n", - " <td>734</td>\n", - " <td>6</td>\n", - " <td>-78</td>\n", - " <td>4</td>\n", - " <td>0.846</td>\n", - " <td>243.780</td>\n", - " <td>32.697</td>\n", - " <td>30.323</td>\n", - " <td>5.190</td>\n", - " <td>7.682</td>\n", - " <td>0.151</td>\n", - " </tr>\n", - " <tr>\n", - " <th>10</th>\n", - " <td>229</td>\n", - " <td>1202</td>\n", - " <td>698</td>\n", - " <td>10</td>\n", - " <td>-80</td>\n", - " <td>4</td>\n", - " <td>0.758</td>\n", - " <td>234.562</td>\n", - " <td>33.332</td>\n", - " <td>29.980</td>\n", - " <td>5.628</td>\n", - " <td>7.015</td>\n", - " <td>0.169</td>\n", - " </tr>\n", - " <tr>\n", - " <th>20</th>\n", - " <td>431</td>\n", - " <td>1427</td>\n", - " <td>830</td>\n", - " <td>20</td>\n", - " <td>-88</td>\n", - " <td>6</td>\n", - " <td>0.901</td>\n", - " <td>242.243</td>\n", - " <td>35.251</td>\n", - " <td>30.039</td>\n", - " <td>7.432</td>\n", - " <td>8.819</td>\n", - " <td>0.142</td>\n", - " </tr>\n", - " <tr>\n", - " <th>30</th>\n", - " <td>379</td>\n", - " <td>1476</td>\n", - " <td>821</td>\n", - " <td>30</td>\n", - " <td>-102</td>\n", - " <td>2</td>\n", - " <td>0.912</td>\n", - " <td>242.243</td>\n", - " <td>36.237</td>\n", - " <td>30.369</td>\n", - " <td>6.245</td>\n", - " <td>9.175</td>\n", - " <td>0.140</td>\n", - " </tr>\n", - " <tr>\n", - " <th>36</th>\n", - " <td>526</td>\n", - " <td>963</td>\n", - " <td>744</td>\n", - " <td>36</td>\n", - " <td>-108</td>\n", - " <td>4</td>\n", - " <td>0.842</td>\n", - " <td>248.394</td>\n", - " <td>37.138</td>\n", - " <td>30.350</td>\n", - " <td>5.501</td>\n", - " <td>8.689</td>\n", - " <td>0.152</td>\n", - " </tr>\n", - " <tr>\n", - " <th>40</th>\n", - " <td>338</td>\n", - " <td>1327</td>\n", - " <td>821</td>\n", - " <td>40</td>\n", - " <td>-109</td>\n", - " <td>5</td>\n", - " <td>0.919</td>\n", - " <td>251.472</td>\n", - " <td>47.166</td>\n", - " <td>30.401</td>\n", - " <td>0.472</td>\n", - " <td>12.045</td>\n", - " <td>0.139</td>\n", - " </tr>\n", - " <tr>\n", - " <th>50</th>\n", - " <td>580</td>\n", - " <td>2462</td>\n", - " <td>1434</td>\n", - " <td>50</td>\n", - " <td>-129</td>\n", - " <td>-8</td>\n", - " <td>1.295</td>\n", - " <td>246.087</td>\n", - " <td>58.041</td>\n", - " <td>29.852</td>\n", - " <td>3.738</td>\n", - " <td>20.885</td>\n", - " <td>0.099</td>\n", - " </tr>\n", - " <tr>\n", - " <th>60</th>\n", - " <td>1658</td>\n", - " <td>5822</td>\n", - " <td>3579</td>\n", - " <td>60</td>\n", - " <td>-129</td>\n", - " <td>-2</td>\n", - " <td>3.515</td>\n", - " <td>249.933</td>\n", - " <td>91.887</td>\n", - " <td>28.167</td>\n", - " <td>1.767</td>\n", - " <td>89.716</td>\n", - " <td>0.036</td>\n", - " </tr>\n", - " <tr>\n", - " <th>63</th>\n", - " <td>2761</td>\n", - " <td>8577</td>\n", - " <td>4193</td>\n", - " <td>63</td>\n", - " <td>-132</td>\n", - " <td>-4</td>\n", - " <td>4.646</td>\n", - " <td>251.472</td>\n", - " <td>120.071</td>\n", - " <td>30.638</td>\n", - " <td>25.263</td>\n", - " <td>154.956</td>\n", - " <td>0.028</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "</div>" - ], - "text/plain": [ - " Round-trip min [ms] Round-trip max [ms] Round-trip avg [ms] K_U [dB] \\\n", - "0 305 1536 757 0 \n", - "3 273 1157 699 3 \n", - "6 532 967 734 6 \n", - "10 229 1202 698 10 \n", - "20 431 1427 830 20 \n", - "30 379 1476 821 30 \n", - "36 526 963 744 36 \n", - "40 338 1327 821 40 \n", - "50 580 2462 1434 50 \n", - "60 1658 5822 3579 60 \n", - "63 2761 8577 4193 63 \n", - "\n", - " RSRP [dBm] SNR [dB] Transmit time [s] Max I [mA] Average I [mA] \\\n", - "0 -71 4 0.833 243.780 31.346 \n", - "3 -72 7 0.796 247.625 32.698 \n", - "6 -78 4 0.846 243.780 32.697 \n", - "10 -80 4 0.758 234.562 33.332 \n", - "20 -88 6 0.901 242.243 35.251 \n", - "30 -102 2 0.912 242.243 36.237 \n", - "36 -108 4 0.842 248.394 37.138 \n", - "40 -109 5 0.919 251.472 47.166 \n", - "50 -129 -8 1.295 246.087 58.041 \n", - "60 -129 -2 3.515 249.933 91.887 \n", - "63 -132 -4 4.646 251.472 120.071 \n", - "\n", - " Ready I [mA] Standby I [mA] Charge [uAh] Data-rate [kB/s] \n", - "0 29.117 4.460 7.250 0.154 \n", - "3 29.792 0.470 7.230 0.161 \n", - "6 30.323 5.190 7.682 0.151 \n", - "10 29.980 5.628 7.015 0.169 \n", - "20 30.039 7.432 8.819 0.142 \n", - "30 30.369 6.245 9.175 0.140 \n", - "36 30.350 5.501 8.689 0.152 \n", - "40 30.401 0.472 12.045 0.139 \n", - "50 29.852 3.738 20.885 0.099 \n", - "60 28.167 1.767 89.716 0.036 \n", - "63 30.638 25.263 154.956 0.028 " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>Round-trip min [ms]</th>\n", - " <th>Round-trip max [ms]</th>\n", - " <th>Round-trip avg [ms]</th>\n", - " <th>K_U [dB]</th>\n", - " <th>RSRP [dBm]</th>\n", - " <th>SNR [dB]</th>\n", - " <th>Transmit time [s]</th>\n", - " <th>Max I [mA]</th>\n", - " <th>Average I [mA]</th>\n", - " <th>Ready I [mA]</th>\n", - " <th>Standby I [mA]</th>\n", - " <th>Charge [uAh]</th>\n", - " <th>Data-rate [kB/s]</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>0</th>\n", - " <td>574</td>\n", - " <td>1171</td>\n", - " <td>858</td>\n", - " <td>0</td>\n", - " <td>-71</td>\n", - " <td>4</td>\n", - " <td>0.941</td>\n", - " <td>249.933</td>\n", - " <td>32.166</td>\n", - " <td>29.117</td>\n", - " <td>4.460</td>\n", - " <td>8.406</td>\n", - " <td>1.157</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>498</td>\n", - " <td>1381</td>\n", - " <td>892</td>\n", - " <td>3</td>\n", - " <td>-72</td>\n", - " <td>7</td>\n", - " <td>1.037</td>\n", - " <td>243.780</td>\n", - " <td>33.845</td>\n", - " <td>29.792</td>\n", - " <td>0.470</td>\n", - " <td>9.748</td>\n", - " <td>1.049</td>\n", - " </tr>\n", - " <tr>\n", - " <th>6</th>\n", - " <td>429</td>\n", - " <td>1332</td>\n", - " <td>820</td>\n", - " <td>6</td>\n", - " <td>-78</td>\n", - " <td>4</td>\n", - " <td>0.947</td>\n", - " <td>244.549</td>\n", - " <td>34.710</td>\n", - " <td>30.323</td>\n", - " <td>5.190</td>\n", - " <td>9.130</td>\n", - " <td>1.149</td>\n", - " </tr>\n", - " <tr>\n", - " <th>10</th>\n", - " <td>436</td>\n", - " <td>1552</td>\n", - " <td>923</td>\n", - " <td>10</td>\n", - " <td>-80</td>\n", - " <td>4</td>\n", - " <td>1.012</td>\n", - " <td>236.098</td>\n", - " <td>34.982</td>\n", - " <td>29.980</td>\n", - " <td>5.628</td>\n", - " <td>9.835</td>\n", - " <td>1.075</td>\n", - " </tr>\n", - " <tr>\n", - " <th>20</th>\n", - " <td>706</td>\n", - " <td>1464</td>\n", - " <td>1018</td>\n", - " <td>20</td>\n", - " <td>-88</td>\n", - " <td>6</td>\n", - " <td>1.088</td>\n", - " <td>236.098</td>\n", - " <td>40.834</td>\n", - " <td>30.039</td>\n", - " <td>7.432</td>\n", - " <td>12.341</td>\n", - " <td>1.000</td>\n", - " </tr>\n", - " <tr>\n", - " <th>30</th>\n", - " <td>514</td>\n", - " <td>1251</td>\n", - " <td>848</td>\n", - " <td>30</td>\n", - " <td>-102</td>\n", - " <td>2</td>\n", - " <td>0.972</td>\n", - " <td>243.780</td>\n", - " <td>44.037</td>\n", - " <td>30.369</td>\n", - " <td>6.245</td>\n", - " <td>11.889</td>\n", - " <td>1.119</td>\n", - " </tr>\n", - " <tr>\n", - " <th>36</th>\n", - " <td>485</td>\n", - " <td>1233</td>\n", - " <td>862</td>\n", - " <td>36</td>\n", - " <td>-108</td>\n", - " <td>4</td>\n", - " <td>0.976</td>\n", - " <td>246.087</td>\n", - " <td>44.400</td>\n", - " <td>30.350</td>\n", - " <td>5.501</td>\n", - " <td>12.039</td>\n", - " <td>1.115</td>\n", - " </tr>\n", - " <tr>\n", - " <th>40</th>\n", - " <td>871</td>\n", - " <td>1540</td>\n", - " <td>1074</td>\n", - " <td>40</td>\n", - " <td>-109</td>\n", - " <td>5</td>\n", - " <td>1.163</td>\n", - " <td>244.549</td>\n", - " <td>44.501</td>\n", - " <td>30.401</td>\n", - " <td>0.472</td>\n", - " <td>14.381</td>\n", - " <td>0.935</td>\n", - " </tr>\n", - " <tr>\n", - " <th>50</th>\n", - " <td>1368</td>\n", - " <td>2685</td>\n", - " <td>2104</td>\n", - " <td>50</td>\n", - " <td>-129</td>\n", - " <td>-8</td>\n", - " <td>2.492</td>\n", - " <td>246.087</td>\n", - " <td>112.759</td>\n", - " <td>29.852</td>\n", - " <td>3.738</td>\n", - " <td>78.050</td>\n", - " <td>0.437</td>\n", - " </tr>\n", - " <tr>\n", - " <th>60</th>\n", - " <td>3572</td>\n", - " <td>7450</td>\n", - " <td>5305</td>\n", - " <td>60</td>\n", - " <td>-129</td>\n", - " <td>-2</td>\n", - " <td>2.689</td>\n", - " <td>249.933</td>\n", - " <td>102.613</td>\n", - " <td>28.167</td>\n", - " <td>1.767</td>\n", - " <td>76.642</td>\n", - " <td>0.405</td>\n", - " </tr>\n", - " <tr>\n", - " <th>63</th>\n", - " <td>5963</td>\n", - " <td>9803</td>\n", - " <td>8384</td>\n", - " <td>63</td>\n", - " <td>-132</td>\n", - " <td>-4</td>\n", - " <td>4.671</td>\n", - " <td>249.163</td>\n", - " <td>158.650</td>\n", - " <td>30.638</td>\n", - " <td>25.263</td>\n", - " <td>205.868</td>\n", - " <td>0.233</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "</div>" - ], - "text/plain": [ - " Round-trip min [ms] Round-trip max [ms] Round-trip avg [ms] K_U [dB] \\\n", - "0 574 1171 858 0 \n", - "3 498 1381 892 3 \n", - "6 429 1332 820 6 \n", - "10 436 1552 923 10 \n", - "20 706 1464 1018 20 \n", - "30 514 1251 848 30 \n", - "36 485 1233 862 36 \n", - "40 871 1540 1074 40 \n", - "50 1368 2685 2104 50 \n", - "60 3572 7450 5305 60 \n", - "63 5963 9803 8384 63 \n", - "\n", - " RSRP [dBm] SNR [dB] Transmit time [s] Max I [mA] Average I [mA] \\\n", - "0 -71 4 0.941 249.933 32.166 \n", - "3 -72 7 1.037 243.780 33.845 \n", - "6 -78 4 0.947 244.549 34.710 \n", - "10 -80 4 1.012 236.098 34.982 \n", - "20 -88 6 1.088 236.098 40.834 \n", - "30 -102 2 0.972 243.780 44.037 \n", - "36 -108 4 0.976 246.087 44.400 \n", - "40 -109 5 1.163 244.549 44.501 \n", - "50 -129 -8 2.492 246.087 112.759 \n", - "60 -129 -2 2.689 249.933 102.613 \n", - "63 -132 -4 4.671 249.163 158.650 \n", - "\n", - " Ready I [mA] Standby I [mA] Charge [uAh] Data-rate [kB/s] \n", - "0 29.117 4.460 8.406 1.157 \n", - "3 29.792 0.470 9.748 1.049 \n", - "6 30.323 5.190 9.130 1.149 \n", - "10 29.980 5.628 9.835 1.075 \n", - "20 30.039 7.432 12.341 1.000 \n", - "30 30.369 6.245 11.889 1.119 \n", - "36 30.350 5.501 12.039 1.115 \n", - "40 30.401 0.472 14.381 0.935 \n", - "50 29.852 3.738 78.050 0.437 \n", - "60 28.167 1.767 76.642 0.405 \n", - "63 30.638 25.263 205.868 0.233 " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import zipfile\n", - "for col in ['Transmit time [s]', 'Max I [mA]', 'Average I [mA]', 'Ready I [mA]', 'Standby I [mA]', 'Charge [uAh]']:\n", - " df0[col] = 0.0\n", - " df64[col] = 0.0\n", - " df1024[col] = 0.0 \n", - "\n", - "\n", - "fs = int(1e5)\n", - "for ku in df0.index.to_list():\n", - " archive = zipfile.ZipFile(f'vodafone_nbiot_{ku}db.ppk2', 'r')\n", - " f = archive.read('session.raw')\n", - " a = np.frombuffer(f, dtype=np.dtype([('I', np.float32),('DI',np.uint16)]))['I'] / 1000\n", - " \n", - " #ready = np.mean(a[-fs*2:])\n", - " ready = np.mean(a[int(fs*nbstop[ku][0]):int(nbstart[ku][1]*fs)])\n", - " standby = np.mean(a[:fs*2])\n", - "\n", - " for msglen in range(3):\n", - " t1, t2 = nbstart[ku][msglen], nbstop[ku][msglen] \n", - " idx1, idx2 = int(t1*fs), int(t2*fs)\n", - " aslice = a[idx1:idx2]\n", - " \n", - " d = {\n", - " 'Transmit time [s]': (t2 - t1) / 10,\n", - " 'Max I [mA]': aslice.max(),\n", - " 'Average I [mA]': aslice.mean(),\n", - " 'Ready I [mA]': ready,\n", - " 'Standby I [mA]': standby,\n", - " 'Charge [uAh]': aslice.sum()/fs/36,\n", - " 'Data-rate [kB/s]': [2, 128, 1088][msglen] / ((t2 - t1) * 100)\n", - " }\n", - "\n", - " if msglen == 0: df0.loc[ku, d.keys()] = d.values()\n", - " if msglen == 1: df64.loc[ku, d.keys()] = d.values()\n", - " if msglen == 2: df1024.loc[ku, d.keys()] = d.values()\n", - " del archive\n", - " del f\n", - " del a\n", - "\n", - "df0.sort_index(inplace=True)\n", - "df64.sort_index(inplace=True)\n", - "df1024.sort_index(inplace=True)\n", - "\n", - "#dcols = [ 'Packet drop [%]', 'Round-trip min [ms]', 'Round-trip max [ms]', 'Round-trip avg [ms]', 'Transmit time [s]', 'Max I [mA]', 'Average I [mA]', 'Ready I [mA]', 'Standby I [mA]', 'Charge [uAh]', 'Data-rate [kB/s]', ]\n", - "dcols = df0.columns\n", - "\n", - "display( df0[dcols].round(3))\n", - "display( df64[dcols].round(3))\n", - "display(df1024[dcols].round(3))" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "12dc4095-04e4-4131-b61a-82f1011c2ec7", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>Round-trip min [ms]</th>\n", - " <th>Round-trip max [ms]</th>\n", - " <th>Round-trip avg [ms]</th>\n", - " <th>K_U [dB]</th>\n", - " <th>RSRP [dBm]</th>\n", - " <th>SNR [dB]</th>\n", - " <th>Transmit time [s]</th>\n", - " <th>Max I [mA]</th>\n", - " <th>Average I [mA]</th>\n", - " <th>Ready I [mA]</th>\n", - " <th>Standby I [mA]</th>\n", - " <th>Charge [uAh]</th>\n", - " <th>Data-rate [kB/s]</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>0</th>\n", - " <td>111</td>\n", - " <td>596</td>\n", - " <td>209</td>\n", - " <td>0</td>\n", - " <td>-86</td>\n", - " <td>-3</td>\n", - " <td>0.435</td>\n", - " <td>103.857</td>\n", - " <td>21.603</td>\n", - " <td>5.380</td>\n", - " <td>10.240</td>\n", - " <td>2.608</td>\n", - " <td>0.005</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>87</td>\n", - " <td>502</td>\n", - " <td>241</td>\n", - " <td>3</td>\n", - " <td>-95</td>\n", - " <td>-3</td>\n", - " <td>0.474</td>\n", - " <td>126.463</td>\n", - " <td>22.126</td>\n", - " <td>5.389</td>\n", - " <td>1.058</td>\n", - " <td>2.914</td>\n", - " <td>0.004</td>\n", - " </tr>\n", - " <tr>\n", - " <th>6</th>\n", - " <td>72</td>\n", - " <td>421</td>\n", - " <td>161</td>\n", - " <td>6</td>\n", - " <td>-92</td>\n", - " <td>-4</td>\n", - " <td>0.395</td>\n", - " <td>162.801</td>\n", - " <td>27.641</td>\n", - " <td>5.306</td>\n", - " <td>9.796</td>\n", - " <td>3.029</td>\n", - " <td>0.005</td>\n", - " </tr>\n", - " <tr>\n", - " <th>10</th>\n", - " <td>99</td>\n", - " <td>392</td>\n", - " <td>155</td>\n", - " <td>10</td>\n", - " <td>-98</td>\n", - " <td>-4</td>\n", - " <td>0.380</td>\n", - " <td>208.515</td>\n", - " <td>26.915</td>\n", - " <td>6.445</td>\n", - " <td>0.784</td>\n", - " <td>2.840</td>\n", - " <td>0.005</td>\n", - " </tr>\n", - " <tr>\n", - " <th>20</th>\n", - " <td>87</td>\n", - " <td>409</td>\n", - " <td>165</td>\n", - " <td>20</td>\n", - " <td>-108</td>\n", - " <td>-3</td>\n", - " <td>0.365</td>\n", - " <td>309.444</td>\n", - " <td>36.316</td>\n", - " <td>35.927</td>\n", - " <td>1.062</td>\n", - " <td>3.680</td>\n", - " <td>0.005</td>\n", - " </tr>\n", - " <tr>\n", - " <th>30</th>\n", - " <td>77</td>\n", - " <td>380</td>\n", - " <td>153</td>\n", - " <td>30</td>\n", - " <td>-118</td>\n", - " <td>-2</td>\n", - " <td>0.351</td>\n", - " <td>322.655</td>\n", - " <td>39.565</td>\n", - " <td>35.812</td>\n", - " <td>1.069</td>\n", - " <td>3.860</td>\n", - " <td>0.006</td>\n", - " </tr>\n", - " <tr>\n", - " <th>40</th>\n", - " <td>124</td>\n", - " <td>604</td>\n", - " <td>231</td>\n", - " <td>40</td>\n", - " <td>-129</td>\n", - " <td>-7</td>\n", - " <td>0.462</td>\n", - " <td>337.450</td>\n", - " <td>54.239</td>\n", - " <td>35.998</td>\n", - " <td>15.509</td>\n", - " <td>6.967</td>\n", - " <td>0.004</td>\n", - " </tr>\n", - " <tr>\n", - " <th>50</th>\n", - " <td>83</td>\n", - " <td>361</td>\n", - " <td>177</td>\n", - " <td>50</td>\n", - " <td>-130</td>\n", - " <td>-1</td>\n", - " <td>0.379</td>\n", - " <td>271.512</td>\n", - " <td>40.745</td>\n", - " <td>34.488</td>\n", - " <td>34.764</td>\n", - " <td>4.290</td>\n", - " <td>0.005</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "</div>" - ], - "text/plain": [ - " Round-trip min [ms] Round-trip max [ms] Round-trip avg [ms] K_U [dB] \\\n", - "0 111 596 209 0 \n", - "3 87 502 241 3 \n", - "6 72 421 161 6 \n", - "10 99 392 155 10 \n", - "20 87 409 165 20 \n", - "30 77 380 153 30 \n", - "40 124 604 231 40 \n", - "50 83 361 177 50 \n", - "\n", - " RSRP [dBm] SNR [dB] Transmit time [s] Max I [mA] Average I [mA] \\\n", - "0 -86 -3 0.435 103.857 21.603 \n", - "3 -95 -3 0.474 126.463 22.126 \n", - "6 -92 -4 0.395 162.801 27.641 \n", - "10 -98 -4 0.380 208.515 26.915 \n", - "20 -108 -3 0.365 309.444 36.316 \n", - "30 -118 -2 0.351 322.655 39.565 \n", - "40 -129 -7 0.462 337.450 54.239 \n", - "50 -130 -1 0.379 271.512 40.745 \n", - "\n", - " Ready I [mA] Standby I [mA] Charge [uAh] Data-rate [kB/s] \n", - "0 5.380 10.240 2.608 0.005 \n", - "3 5.389 1.058 2.914 0.004 \n", - "6 5.306 9.796 3.029 0.005 \n", - "10 6.445 0.784 2.840 0.005 \n", - "20 35.927 1.062 3.680 0.005 \n", - "30 35.812 1.069 3.860 0.006 \n", - "40 35.998 15.509 6.967 0.004 \n", - "50 34.488 34.764 4.290 0.005 " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>Round-trip min [ms]</th>\n", - " <th>Round-trip max [ms]</th>\n", - " <th>Round-trip avg [ms]</th>\n", - " <th>K_U [dB]</th>\n", - " <th>RSRP [dBm]</th>\n", - " <th>SNR [dB]</th>\n", - " <th>Transmit time [s]</th>\n", - " <th>Max I [mA]</th>\n", - " <th>Average I [mA]</th>\n", - " <th>Ready I [mA]</th>\n", - " <th>Standby I [mA]</th>\n", - " <th>Charge [uAh]</th>\n", - " <th>Data-rate [kB/s]</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>0</th>\n", - " <td>117</td>\n", - " <td>478</td>\n", - " <td>244</td>\n", - " <td>0</td>\n", - " <td>-86</td>\n", - " <td>-3</td>\n", - " <td>0.506</td>\n", - " <td>88.831</td>\n", - " <td>23.655</td>\n", - " <td>5.380</td>\n", - " <td>10.240</td>\n", - " <td>3.324</td>\n", - " <td>0.253</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>95</td>\n", - " <td>416</td>\n", - " <td>195</td>\n", - " <td>3</td>\n", - " <td>-95</td>\n", - " <td>-3</td>\n", - " <td>0.444</td>\n", - " <td>87.330</td>\n", - " <td>24.702</td>\n", - " <td>5.389</td>\n", - " <td>1.058</td>\n", - " <td>3.043</td>\n", - " <td>0.289</td>\n", - " </tr>\n", - " <tr>\n", - " <th>6</th>\n", - " <td>90</td>\n", - " <td>335</td>\n", - " <td>163</td>\n", - " <td>6</td>\n", - " <td>-92</td>\n", - " <td>-4</td>\n", - " <td>0.384</td>\n", - " <td>91.833</td>\n", - " <td>28.946</td>\n", - " <td>5.306</td>\n", - " <td>9.796</td>\n", - " <td>3.087</td>\n", - " <td>0.333</td>\n", - " </tr>\n", - " <tr>\n", - " <th>10</th>\n", - " <td>97</td>\n", - " <td>327</td>\n", - " <td>146</td>\n", - " <td>10</td>\n", - " <td>-98</td>\n", - " <td>-4</td>\n", - " <td>0.368</td>\n", - " <td>95.588</td>\n", - " <td>29.332</td>\n", - " <td>6.445</td>\n", - " <td>0.784</td>\n", - " <td>3.000</td>\n", - " <td>0.348</td>\n", - " </tr>\n", - " <tr>\n", - " <th>20</th>\n", - " <td>103</td>\n", - " <td>333</td>\n", - " <td>160</td>\n", - " <td>20</td>\n", - " <td>-108</td>\n", - " <td>-3</td>\n", - " <td>0.371</td>\n", - " <td>166.598</td>\n", - " <td>36.744</td>\n", - " <td>35.927</td>\n", - " <td>1.062</td>\n", - " <td>3.786</td>\n", - " <td>0.345</td>\n", - " </tr>\n", - " <tr>\n", - " <th>30</th>\n", - " <td>132</td>\n", - " <td>281</td>\n", - " <td>208</td>\n", - " <td>30</td>\n", - " <td>-118</td>\n", - " <td>-2</td>\n", - " <td>0.407</td>\n", - " <td>300.135</td>\n", - " <td>38.181</td>\n", - " <td>35.812</td>\n", - " <td>1.069</td>\n", - " <td>4.320</td>\n", - " <td>0.314</td>\n", - " </tr>\n", - " <tr>\n", - " <th>40</th>\n", - " <td>165</td>\n", - " <td>421</td>\n", - " <td>270</td>\n", - " <td>40</td>\n", - " <td>-129</td>\n", - " <td>-7</td>\n", - " <td>0.493</td>\n", - " <td>330.438</td>\n", - " <td>51.448</td>\n", - " <td>35.998</td>\n", - " <td>15.509</td>\n", - " <td>7.049</td>\n", - " <td>0.259</td>\n", - " </tr>\n", - " <tr>\n", - " <th>50</th>\n", - " <td>197</td>\n", - " <td>584</td>\n", - " <td>328</td>\n", - " <td>50</td>\n", - " <td>-130</td>\n", - " <td>-1</td>\n", - " <td>0.526</td>\n", - " <td>270.740</td>\n", - " <td>41.860</td>\n", - " <td>34.488</td>\n", - " <td>34.764</td>\n", - " <td>6.115</td>\n", - " <td>0.243</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "</div>" - ], - "text/plain": [ - " Round-trip min [ms] Round-trip max [ms] Round-trip avg [ms] K_U [dB] \\\n", - "0 117 478 244 0 \n", - "3 95 416 195 3 \n", - "6 90 335 163 6 \n", - "10 97 327 146 10 \n", - "20 103 333 160 20 \n", - "30 132 281 208 30 \n", - "40 165 421 270 40 \n", - "50 197 584 328 50 \n", - "\n", - " RSRP [dBm] SNR [dB] Transmit time [s] Max I [mA] Average I [mA] \\\n", - "0 -86 -3 0.506 88.831 23.655 \n", - "3 -95 -3 0.444 87.330 24.702 \n", - "6 -92 -4 0.384 91.833 28.946 \n", - "10 -98 -4 0.368 95.588 29.332 \n", - "20 -108 -3 0.371 166.598 36.744 \n", - "30 -118 -2 0.407 300.135 38.181 \n", - "40 -129 -7 0.493 330.438 51.448 \n", - "50 -130 -1 0.526 270.740 41.860 \n", - "\n", - " Ready I [mA] Standby I [mA] Charge [uAh] Data-rate [kB/s] \n", - "0 5.380 10.240 3.324 0.253 \n", - "3 5.389 1.058 3.043 0.289 \n", - "6 5.306 9.796 3.087 0.333 \n", - "10 6.445 0.784 3.000 0.348 \n", - "20 35.927 1.062 3.786 0.345 \n", - "30 35.812 1.069 4.320 0.314 \n", - "40 35.998 15.509 7.049 0.259 \n", - "50 34.488 34.764 6.115 0.243 " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>Round-trip min [ms]</th>\n", - " <th>Round-trip max [ms]</th>\n", - " <th>Round-trip avg [ms]</th>\n", - " <th>RSRP [dBm]</th>\n", - " <th>SNR [dB]</th>\n", - " <th>K_U [dB]</th>\n", - " <th>Transmit time [s]</th>\n", - " <th>Max I [mA]</th>\n", - " <th>Average I [mA]</th>\n", - " <th>Ready I [mA]</th>\n", - " <th>Standby I [mA]</th>\n", - " <th>Charge [uAh]</th>\n", - " <th>Data-rate [kB/s]</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>0</th>\n", - " <td>178</td>\n", - " <td>358</td>\n", - " <td>212</td>\n", - " <td>-86</td>\n", - " <td>-3</td>\n", - " <td>0</td>\n", - " <td>0.438</td>\n", - " <td>94.837</td>\n", - " <td>27.848</td>\n", - " <td>5.380</td>\n", - " <td>10.240</td>\n", - " <td>3.389</td>\n", - " <td>2.483</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>175</td>\n", - " <td>620</td>\n", - " <td>270</td>\n", - " <td>-95</td>\n", - " <td>-3</td>\n", - " <td>3</td>\n", - " <td>0.505</td>\n", - " <td>91.833</td>\n", - " <td>25.613</td>\n", - " <td>5.389</td>\n", - " <td>1.058</td>\n", - " <td>3.591</td>\n", - " <td>2.156</td>\n", - " </tr>\n", - " <tr>\n", - " <th>6</th>\n", - " <td>167</td>\n", - " <td>496</td>\n", - " <td>256</td>\n", - " <td>-92</td>\n", - " <td>-4</td>\n", - " <td>6</td>\n", - " <td>0.485</td>\n", - " <td>97.842</td>\n", - " <td>23.603</td>\n", - " <td>5.306</td>\n", - " <td>9.796</td>\n", - " <td>3.177</td>\n", - " <td>2.245</td>\n", - " </tr>\n", - " <tr>\n", - " <th>10</th>\n", - " <td>162</td>\n", - " <td>232</td>\n", - " <td>198</td>\n", - " <td>-98</td>\n", - " <td>-4</td>\n", - " <td>10</td>\n", - " <td>0.441</td>\n", - " <td>107.619</td>\n", - " <td>25.969</td>\n", - " <td>6.445</td>\n", - " <td>0.784</td>\n", - " <td>3.179</td>\n", - " <td>2.469</td>\n", - " </tr>\n", - " <tr>\n", - " <th>20</th>\n", - " <td>127</td>\n", - " <td>388</td>\n", - " <td>213</td>\n", - " <td>-108</td>\n", - " <td>-3</td>\n", - " <td>20</td>\n", - " <td>0.426</td>\n", - " <td>226.124</td>\n", - " <td>38.286</td>\n", - " <td>35.927</td>\n", - " <td>1.062</td>\n", - " <td>4.531</td>\n", - " <td>2.554</td>\n", - " </tr>\n", - " <tr>\n", - " <th>30</th>\n", - " <td>37</td>\n", - " <td>264</td>\n", - " <td>187</td>\n", - " <td>-118</td>\n", - " <td>-2</td>\n", - " <td>30</td>\n", - " <td>0.386</td>\n", - " <td>322.655</td>\n", - " <td>42.067</td>\n", - " <td>35.812</td>\n", - " <td>1.069</td>\n", - " <td>4.508</td>\n", - " <td>2.821</td>\n", - " </tr>\n", - " <tr>\n", - " <th>40</th>\n", - " <td>327</td>\n", - " <td>669</td>\n", - " <td>497</td>\n", - " <td>-129</td>\n", - " <td>-7</td>\n", - " <td>40</td>\n", - " <td>0.707</td>\n", - " <td>272.284</td>\n", - " <td>71.222</td>\n", - " <td>35.998</td>\n", - " <td>15.509</td>\n", - " <td>13.994</td>\n", - " <td>1.538</td>\n", - " </tr>\n", - " <tr>\n", - " <th>50</th>\n", - " <td>389</td>\n", - " <td>850</td>\n", - " <td>530</td>\n", - " <td>-130</td>\n", - " <td>-1</td>\n", - " <td>50</td>\n", - " <td>1.107</td>\n", - " <td>272.284</td>\n", - " <td>46.746</td>\n", - " <td>34.488</td>\n", - " <td>34.764</td>\n", - " <td>14.372</td>\n", - " <td>0.983</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "</div>" - ], - "text/plain": [ - " Round-trip min [ms] Round-trip max [ms] Round-trip avg [ms] RSRP [dBm] \\\n", - "0 178 358 212 -86 \n", - "3 175 620 270 -95 \n", - "6 167 496 256 -92 \n", - "10 162 232 198 -98 \n", - "20 127 388 213 -108 \n", - "30 37 264 187 -118 \n", - "40 327 669 497 -129 \n", - "50 389 850 530 -130 \n", - "\n", - " SNR [dB] K_U [dB] Transmit time [s] Max I [mA] Average I [mA] \\\n", - "0 -3 0 0.438 94.837 27.848 \n", - "3 -3 3 0.505 91.833 25.613 \n", - "6 -4 6 0.485 97.842 23.603 \n", - "10 -4 10 0.441 107.619 25.969 \n", - "20 -3 20 0.426 226.124 38.286 \n", - "30 -2 30 0.386 322.655 42.067 \n", - "40 -7 40 0.707 272.284 71.222 \n", - "50 -1 50 1.107 272.284 46.746 \n", - "\n", - " Ready I [mA] Standby I [mA] Charge [uAh] Data-rate [kB/s] \n", - "0 5.380 10.240 3.389 2.483 \n", - "3 5.389 1.058 3.591 2.156 \n", - "6 5.306 9.796 3.177 2.245 \n", - "10 6.445 0.784 3.179 2.469 \n", - "20 35.927 1.062 4.531 2.554 \n", - "30 35.812 1.069 4.508 2.821 \n", - "40 35.998 15.509 13.994 1.538 \n", - "50 34.488 34.764 14.372 0.983 " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "for col in ['Transmit time [s]', 'Max I [mA]', 'Average I [mA]', 'Ready I [mA]', 'Standby I [mA]', 'Charge [uAh]']:\n", - " mdf0[col] = 0.0\n", - " mdf64[col] = 0.0\n", - " mdf1024[col] = 0.0 \n", - "\n", - "fs = int(1e5)\n", - "for ku in mdf0.index.to_list():\n", - " archive = zipfile.ZipFile(f'vodafone_ltem_{ku}db.ppk2', 'r')\n", - " f = archive.read('session.raw')\n", - " a = np.frombuffer(f, dtype=np.dtype([('I', np.float32),('DI',np.uint16)]))['I'] / 1000\n", - " \n", - " #ready = np.mean(a[-fs*2:])\n", - " ready = np.mean(a[int(fs*mstop[ku][0]):int(mstart[ku][1]*fs)])\n", - "\n", - " standby = np.mean(a[:fs*2])\n", - "\n", - " for msglen in range(3):\n", - " t1, t2 = mstart[ku][msglen], mstop[ku][msglen] \n", - " idx1, idx2 = int(t1*fs), int(t2*fs)\n", - " aslice = a[idx1:idx2]\n", - " \n", - " d = {\n", - " 'Transmit time [s]': (t2 - t1) / 10,\n", - " 'Max I [mA]': aslice.max(),\n", - " 'Average I [mA]': aslice.mean(),\n", - " 'Ready I [mA]': ready,\n", - " 'Standby I [mA]': standby,\n", - " 'Charge [uAh]': aslice.sum()/fs/36,\n", - " 'Data-rate [kB/s]': [2, 128, 1088][msglen] / ((t2 - t1) * 100)\n", - " }\n", - "\n", - " if msglen == 0: mdf0.loc[ku, d.keys()] = d.values()\n", - " if msglen == 1: mdf64.loc[ku, d.keys()] = d.values()\n", - " if msglen == 2: mdf1024.loc[ku, d.keys()] = d.values()\n", - " del archive\n", - " del f\n", - " del a\n", - "\n", - "display(mdf0.round(3))\n", - "display(mdf64.round(3))\n", - "display(mdf1024.round(3))" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "id": "b6965b18-2a51-462b-9c47-215fb58d57ff", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABpkAAARGCAYAAADDztgQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdd3gU5d7G8XtTCYQaitTQi4JAAgKCNPGADSsiSgkWBMurHvWIepRgwd6O2I6FoGIBRKyARzoIAqF3RDqhh56eef9Ys9lJNpvdZLOTTb6f6+Ji55lnZn5bJtnsvc8zNsMwDAEAAAAAAAAAAABeCLK6AAAAAAAAAAAAAAQeQiYAAAAAAAAAAAB4jZAJAAAAAAAAAAAAXiNkAgAAAAAAAAAAgNcImQAAAAAAAAAAAOA1QiYAAAAAAAAAAAB4jZAJAAAAAAAAAAAAXiNkAgAAAAAAAAAAgNcImQAAAAAAAAAAAOA1QiYAAAAAAAAAAAB4jZAJAAAAAAAAAAAAXiNkAgAAAAAAAAAAgNcImQAAAAAAAAAAAOA1QiYAAAAAAAAAAAB4jZAJAAAAAAAAAAAAXiNkAgAAAAAAAAAAgNcImQAAAAAAAAAAAOA1QiYAAAAAAAAAAAB4jZAJAAAAAAAAAAAAXiNkAgAAAIogPj5eNptNNptN8fHxVpdT6sTFxTken4SEBKvLsVTO42Cz2awuBUWUkJDgeA7j4uKsLgcotzgXAQAofQiZAABAQHP+INvVv0qVKql+/frq27ev/v3vf2vHjh0e79v5gwxv/j300ENu93vq1Cm9/vrruuKKK1SvXj2Fh4erVq1aiomJ0VNPPaXt27d79RicP39eS5cu1VtvvaXbb79drVq1UlBQkE8DkNWrV2vs2LHq1KmT6tatq/DwcNWrV08xMTG644479Pnnn+vQoUMe72/u3LkaPny4WrZsqUqVKqlGjRq6+OKL9dhjj2nr1q3Frted1atX65FHHlH37t1Vp04dhYeHKzw8XFFRUWrfvr1uuukmTZgwQQsWLFBGRkaJ1gLvLFiwIN/59v7773u0bWpqqmm73bt3l2yx5czu3bvd/lwMCQlRjRo1dOGFF2ro0KH65ptvlJ6ebnXZAAAAAIqJkAkAAJRp58+f18GDBzV//ny98MILatWqle6//36lpqZaUs/UqVPVuHFjPfroo/rtt9+UlJSk9PR0HTt2TGvWrNGECRPUrl07TZgwQYZhFLq/xx9/XFWqVFGPHj308MMP68svv9T27ds92tYTR44c0dChQxUbG6uXX35ZiYmJOnTokNLT05WUlKQ1a9Zo0qRJGj58uJ5//vlC93f69Gndeuut6tevnz7//HPt2LFD58+fV3JysjZs2KDXXntNF198sV588UWf1O/s4MGDGjhwoGJjY/XGG2/o999/15EjR5Senq709HSdOHFC69ev14wZM/TUU0+pT58+ioqK0pkzZ3xeC3zn+eeft+x8hueysrKUnJysLVu2aMqUKbr11lvVunVrLV682O+1lNWREOV9xFxRRpcyItVaZfVcBACgvAmxugAAAABfad26tS6//HJT29mzZ7VlyxatXLlShmHIMAy9++67SkpK0rfffuvxvitXrqzhw4d71Peyyy5z2f7BBx9ozJgxjuXw8HD17NlT0dHROnv2rH7//Xft3btX6enpeuqpp3Tq1Cm9/PLLbo91+PBhZWVleXw/vLF371717t1bu3btcrQ1adJEMTExioqKUkpKinbs2KG1a9d69CF/RkaGbrzxRs2dO9fR1rZtW8XGxiolJUWLFi3SoUOHlJGRoSeffFIZGRl65plnfHJf9u3bp549e5pGr1StWlWdO3dWw4YNFRoaquTkZG3btk2bN29WZmamJOnMmTMl9vjCNw4ePKj33ntP//znP60uBU6GDx+uypUrO5YzMzN1+PBhLV26VEePHpUk7dq1S/3799e8efPUtWtXq0oFAAAAUAyETAAAoMzo0qWLJk6c6HLd5s2bdeutt2rDhg2SpBkzZujbb7/VTTfd5NG+a9SoUeC+PbF27Vr93//9n2O5f//++vTTT1WvXj1HW3Z2tj788EM9+OCDysjI0CuvvKJLL71U1113XaH7b968uTp37uz4969//UvLli0rcr2nTp1Snz59HAFTTEyM3nnnHV166aX5+p49e1Y///xzoaOnnnvuOUfAVKFCBU2aNEm33nqrY316err+/e9/69VXX5UkjRs3Tr169VKvXr2KfD9y3HHHHY6AKTIyUm+88YZGjBihsLAwl/fnl19+0VdffaUff/yxwH3Gx8fzzfdS4qWXXtKoUaMUGRlpdSku+WpkYSAZP368GjdunK89PT1db775pp544gkZhqGUlBTdc889Wrt2bakegRMXF8dIC6AU4FwEAKD0Ybo8AABQLlx44YWaNWuWKlWq5Gj78MMP/Xb8cePGOa7v0759e/3www+mgEmSgoKCNGbMGL311luOtrFjxzpG1bjy1FNP6cSJE9qxY4e+/PJLPfzww+rRo4fL8MQbjz76qP766y9JUs+ePbV48WKXAZNkD20GDx5sCozyOnLkiN544w3H8ltvvZWvf1hYmF555RUNHjzY0fbEE08U525IklatWqXffvtNkn06qe+//1533313gY9RZGSkbrnlFn333Xf666+/TK8ZlB5RUVFq1qyZJOno0aN6++23La4InggLC9Pjjz+uBx980NG2fv36YoXiAAAAAKxDyAQAAMqN+vXra9CgQY7lJUuW+GWEwdmzZzVr1izHcnx8vNsQaPTo0Y4RAFu3btWvv/5aYN8WLVqoevXqPqtVso+6+vjjjyXZpwmcMmWKKlasWKx9Tp48WefOnZMktWzZUqNGjSqw7yuvvKKgIPvb1GXLlmnNmjXFOrbz49e5c2f17dvX420bNWqk0NDQYh0fJSMkJMQ0kuy1117TyZMnLasH3nnooYdMy4sWLbKmEAAAAADFQsgEAAD8xtVFybdt26aHHnpIbdq0UWRkpKpUqaL27dvriSee0LFjx3xeQ8eOHR23U1JSlJyc7PNj5JWYmOgYxRQcHKx//OMfbvsHBQWpf//+jmVvrh3lCx988IHj9h133KEGDRoUe58zZ8503I6Li3M7LVajRo1M19b67rvvinXs/fv3O243adKkWPty5u0F4/fs2aNHH31UF154oSIjI1W9enVdfPHFeuqpp7R3715J0oIFCxz77N27t8v9FNRn3rx5uvXWW9W0aVNVqFBBUVFR6tmzpyZOnOh4/RVmy5YtevPNN3XjjTeqVatWqly5skJDQ1WrVi116tRJDz/8sDZv3uzRvvzhtttu04UXXihJOnnypF5//XWf7v/YsWN66aWX1KtXL9WtW1fh4eGqWbOmOnbsqMcee8zjx8LVz76Cjvfaa6+pX79+qlevnipUqKCKFSsqOjpasbGxGjJkiCZNmqQDBw54dNy5c+dq9OjRuuiii1SjRg2Fh4erXr166t+/vyZOnKiUlBSP9lMSoqOjTQH5wYMH3fY/cuSIJk2apBEjRqhjx46qUaOGQkNDVa1aNbVu3VojR47UnDlz3O4j52fPyJEjHW2TJ082PT8FnX8JCQmOdZ5M1WUYhqZNm6YhQ4aoWbNmioyMVGRkpJo1a6bbbrtN06dP98mXHJx/HjhzdZ9sNpvpunR5zZkzR3fccYdatmypKlWqKCIiQtHR0brhhhs0adIkj3+OeGPPnj16//33NWTIELVt21ZVq1ZVaGiooqKidPHFF2vMmDFavny523307t1bNptN48ePd7SNHz/e5f3Pee6Kso0rhmHou+++04gRI9SyZUtVrVpVFSpUUMOGDXX99ddr8uTJbkcjS9Lu3bsdx3KeYnLVqlW666671LJlS1WsWFHVq1fXJZdcogkTJji+tOHtPt1p3LixR6+T8nou5rxmbDabFixYIEk6ceKEXn75ZXXu3Fk1a9ZURESEmjZtqjvvvFMbN24sdJ8AAJQZBgAAgJ9IcvwzDMN4//33jfDwcFO787+oqChj5cqVbvc5YsQIR/8RI0YUWsN///tf0zEOHDhQYN9JkyY5+kVHR3tzV02++eYbx37q1Knj0TYTJkwo1rF79erl2H7cuHEeb5eZmWlUqVLFse2KFSu8PnZeKSkpRlBQkGOfv//+e6HbvPDCC47+3bt3L9bx7733Xse+LrnkkmLty9m4ceM8fow/++wzo1KlSgW+1qtUqWLMnDnTmD9/vqOtV69eLveVt09aWpoxatSoAvctyYiJiTGOHj3qtsZBgwa53UfOP5vNZjz00ENGZmam2/05n5uTJk1y29dTzvc951yaNm2aoy0yMrLA+5mSkmK6H7t27XJ7rE8++cSoWrWq28ciODjYo8ci788+V2bOnGlUr17do+egfv36bo+3d+9eo3fv3oXup169esaiRYvc7stTu3bt8urxNQzDqFevnqP/3XffXWC/t99+2wgODvbosenbt69x7Ngxl/txfk0W9i/v+ef8+6Cw3zXbt283OnbsWOgxYmNjjT///LPQx8kd53PCk3+unpfDhw8bl19+eaHbtmjRotDfyd549NFHDZvN5lHdQ4YMMc6dO+dyP86/7wr7l/PcFWWbvNatW2d06NCh0O1btWplbNq0qcDHwfnciY6ONrKzs41nnnnG9Hsz778mTZoYO3fu9HifnoiOji70/C3P56Lza2b+/PnGkiVLjPr16xe4z+DgYOO///2v230CAFBWhAgAAMACCQkJGjNmjCSpVatW6tSpkyIiIrR161YtXbpUhmHo+PHj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rLv33nvzbetpyNSzZ09Hn65duxppaWkF1vN///d/jr5VqlQxTp8+7bJfYR/+R0VFOX4uunsuC/Pss886jjNgwIB8H37mNXz4cEf/l156qcjHNQzvQqbTp08b7dq1M30I7u5x9tTJkyeNCy64wJDswVlB0xiW1Afbn376qaNPaGiosWrVqgL3t2LFCiMkJKTQsMAb3oZM8+bNM23z/fffF9h3165dpukj3X35w9d27dplVKhQwZDcT3nqr5DpjjvucGxz1113ue2bmZlp9OnTx9H/66+/ztcn77kTFRXldipf598rAwYMcNmnpEImT5XFczHvFIvu3kNu2LDBMRWkzWZz+cUHAADKkiABAABYYNSoUbr44osLXD98+HCFhNhn9t22bZtjShpvnTt3TitXrtS9996rO+64w9F+880368477/R4P2fOnNG7775b6L/Fixfn27ZatWq67LLLHMvx8fFKT08v8FgffPBBvotunzlzxuNai+PkyZOO26tWrdLevXsVERGhb775Rlu2bNFnn32mSZMmKTExUfPmzVPNmjUl2R/nwYMHu7ww/NmzZx23IyIiPKojbz/nfRTF66+/rgceeCBf+65du/TNN9/oscceU8+ePVW1alUNHDhQP/zwQ7GOJ0nZ2dmaPHmyYzk+Pt7ttI/jxo0r0rSQL730ktupFJ1f9znTQhVHly5dHFM+5UxzVBo8//zzjtsff/yx9uzZ4/U+tmzZokWLFjmW3333XbdTQU6YMMFxDpw+fVpffvml18fM2VaSKlasWORpMTMyMjRx4kRJUlBQkD744APHz9CCvPjii46px6ZMmVKk43oqKytLBw4c0Oeff65OnTo5pqmKjIzUlClT3D7OnqpatapuuOEGSVJSUpI2b95c7H1648MPP3TcHj16tGJjYwvs27lzZ919992O5ffff79Ea3PFud5rr71WAwcOLLBv48aN9eSTTzqWP/jgA9NUsCWpcePGjukcV65cWeT3A75w9OhRx7lStWpVvfnmm277BwcHm6ZB9eQ8e/LJJ1WvXr0C1/v6Z3pJKOvnYrt27TRq1KgC17dt21adO3eWJBmGocTERE/KBgAgYHFNJgAAYIlBgwa5XV+5cmU1a9ZM27Ztk2EY2rt3r9q2bet2m8mTJ5s+1HelUqVKuvfeezVhwgQFBwd7XXdR/fvf/9bChQslSevWrdPAgQM1adIk1a1b19EnOztb//3vf/XQQw/l2z4lJcUvdZ47dy5f2+TJk10+X3369NEPP/ygHj16KDs7Wzt27NCUKVMUFxdn6peamuq47ekHyXmv31Dc+x8cHKz//Oc/GjZsmF555RX99NNPprpypKWl6ccff9SPP/6o7t2768svv1SjRo2KdMzNmzc7rgURGhqqm2++2W3/SpUq6frrr1dCQoLHx6hQoYKuueYat32cr4GVN7wsyPbt27Vq1Srt3LlTp06dUlpamukD5VOnTkmSjh8/rn379qlhw4Ye11xS+vbtqz59+mj+/PlKT0/Xs88+q08++cSrfcyfP99xu3379qZrg7lSqVIlDRkyRO+8845j+3vuucfr2hs1aqSdO3cqOTlZX375pW677Tav97Fq1SodOXJEktStWzdFR0cXuk29evXUunVrbdmyRRs3btTJkyd9dv27Jk2aFNqnc+fO+s9//uPymjcFOXLkiJYvX64tW7YoOTlZ586dM702V61a5bi9du1atWvXzrvCi+js2bOmYzsHAQW56667HB9or1y5UufOnVOlSpVKrMa8nF/vntQ7cuRIPfHEE8rOzlZSUpK2bdum1q1b+6SWvXv3asWKFdq+fbtOnjyplJQU0/O6a9cuSfYP7NetW2f64oY//fbbb0pLS5MkXXPNNR6Fwl26dFHFihV1/vx5LVmypND+hb0/at26tSIiIpSSkqLjx4/77ZqNeZXnc7Gw50iy/+5dsWKFJM9/9wIAEKgImQAAgCU8+bAhKirKcTvnQ+3iGjt2rJ588kkFBXk3oDs6OrpYHxL069dPjz76qF577TVJ0pw5c9S0aVP17NlT0dHROnv2rJYuXaq9e/dKki699FJt3bpVJ06ckGQP3fyhQoUKpuXOnTu7/TClW7duuvHGGzV9+nRJ0tdff50vZHLep7sRXM5yPsTL4ekIqMJ07txZ06ZN05kzZ7R48WItXbpUiYmJSkxM1LFjx0x9ly5dqq5du2rlypWqX7++18dau3at43abNm08eg47d+7sVcjUqlWrQoM7b86jn3/+WU8//bTWrFnjcQ3Hjh0rFSGTZB/N1L17d0nSZ599prFjx3p10Xjn+52zn8J0797dETKtXr3ai2pzDR482DHaYejQofr66681ePBg9e3b1xREu7Ns2TLH7WPHjun+++/3aLuc0YuGYejAgQM+C5kK07JlS33xxRdq2bKlR/03b96sxx9/XLNmzVJWVpZH2+Q9p0vSunXrHHVFRka6Hambo0OHDqpUqZLOnTunrKwsrVu3TpdeemlJlypJOnDggCOUlOTRcWvVqqWWLVtq69atkuyv9+KGTMuWLdPYsWO1ePFij0dG+fN5zcv5PNu+fbvH51nOiMGcMKagAKNq1aqF/jy12WyqXr2648sXp06d8mvIxLlo3XtYAABKK0ImAABgiapVqxbaJzQ01HHb1TRsebVu3VqXX365Yzk1NVX79u3TsmXLHNPNPf3009q2bZsmT57sddBUXK+++qqqV6+u+Ph4ZWRkKDU1Vb/++mu+fv369dOUKVNM0+X464PfvB9U5Ux3484NN9zgCJl+//13t/v0dERS3n6+/gCtcuXKuuqqq3TVVVc52jZt2qSvv/5aEydOdHzwnpSUpDFjxhRp+jznD9UaNGjg0TbehlnenkeZmZkF9ouPj9f48eO9Or5U9Kkcx40bp+PHjxe4Pioqyut6Lr30Ul155ZWaNWuWMjMzNW7cOK+msMsZeSbJo5FAkn0qrxxF/SD1qaee0sKFC7V06VIZhuEYTSfZRwRddtll6tevn6677jpVqVLF5T4OHjzouL1t2zZt27bN6zqSk5OLVL8rw4cPdwSrhmHoyJEj2rp1qzZu3CjJ/gH9JZdcov/973+OaaUKMmfOHF133XX5wufC+GuaUcn82mnYsKFHv1+CgoLUsGFDR2jjzw/ineuNiIhQ7dq1PdqucePGPqv3008/1V133eX1tHv+fF7zcj7PVq5cWaTp6pKTk92GTJ7w9v2Rr3Au2pXEe1gAAAIZIRMAALBEzrd6falLly6Oa5I4O3XqlMaPH++4dsIXX3yhtm3b6vHHH/d5DYV58sknNXToUH3wwQeaO3eudu7cqdOnT6tWrVrq2LGjRowYoZtvvll79uwxfUPY05CiuJy/eStJF154YaHbOPc5c+aMzpw5Yxq147zPw4cPe1THoUOHTMs1atTwaLviuOiii/Tcc89p9OjRuuKKK7RlyxZJ0o8//qhdu3Z5NP2XM+frSFWsWNGjbbydKstX59H//vc/U6DTo0cPjRgxQp06dVLDhg0VGRlpmsKwd+/ejukfs7Ozi3TMyZMnu71uUnR0dJFCr+eff16zZ8+WYRj65ptv9OSTTxY61WYO5+fM0+fCuV9RP0itWLGi5s+fr3fffVcTJ07Uzp07Het27dqlXbt26bPPPlPFihV177336tlnn803us8X35R3F0J6a/z48aYALsfixYs1bNgw7dmzR6dOndINN9yg9evXF3iOHz16VIMHD3Z8qN2kSRONHj1aPXr0UJMmTVStWjVVqFDBcS44h6VFfW0WRVFeO3n7+vODeKvr3bJli+655x5HwHTxxRfrrrvuckz1WLlyZdMo2Li4OMd0uP58XvMq6fOsJN4b+QrnYq7S/DwBAGAFQiYAAFDmVa1aVW+88YbOnDmjjz/+WJL0zDPP6IYbbvB4qiZfatSokelC4K44fzu6Ro0aatasWUmXJUn5pj7yZARR3j55Q6ZWrVo5bh85ckSpqan5puXLK2faQMl+/2vVqlVoHb5Sv359ffzxx6bp0hYvXux1yOT8gdX58+c92sbVNbH84dVXX3XcHjVqlOmi6a5YOZKgMDExMbrhhhs0Y8YMZWdn65lnntGMGTM82tb5tezpc+HcrzjTWoaGhuqhhx7SQw89pI0bN2rRokVavHixFi9erAMHDkiyv45ee+01LV68WPPnzzcFTc6vt4ceesgRqpc2l112mebMmaNOnTrp7NmzOnDggB555BFNmjTJZf+PPvrI8cF+x44dtWjRIrc/l6x6bRbltZO3r7+mRZWsr/fNN990hC1XXXWVZs6caRr5kVdp+ZnjfJ699dZbevDBBy2sxrcKC4I4FwEAQEH8O0cMAACAhd58803HdGTp6el66qmnLK6oYM4XZO/WrZvfjpt3xIcnHxLl7ZN3GplWrVo5pqsxDMN0raKCOF/bpk2bNoX297VLL73UdD+SkpK83kfNmjUdt/fv3+/RNjlhgj9lZWU5RiUFBQXp+eefL3Qb5xCwqHbv3i3DMAr8V5xroD377LOO19x3332nxMREj7ZzDjM9vY/Oo7Gcn/PiaNu2re6991599dVX2r9/v9asWaM777zTsf6PP/7Qu+++a9qmTp06jts7duzwSR0lpVWrVnr22Wcdy5999pk2bNjgsu/cuXMdt//9738XGny7Gx1XkpxfO/v27fNoCrjs7Gzt27fPseyr148nnOtNSUnxeOo7X73enZ/X5557zm3AlPe4VgqU88zTaVKdFTZKi3MRAAAUhJAJAACUG5GRkYqPj3csT58+XWvWrLGuoAKkpaXpm2++cSwPGzbMb8du0qSJmjZt6ljevHlzods496lRo0a+6WkqVKigrl27OpYXLFhQ6D5zQg9J6tu3b6H9S4Lz9HDOtz3VoUMHx+0tW7aYpvApSFGu71Fcx44dU3p6uiSpdu3ahY4a27x5s1+vHVMUF110kYYMGeJY/ve//+3Rdh07dnTcdnV9MVeWLl3quB0TE+Nhhd7p0KGDPv74Y40aNcrRlvc6YV26dHHcXrhwodfXTPG3++67zzE6MDs7W08//bTLfs7XwLnooovc7jMrK8v0fBSkJKa6at++vYKDgyXZp+sqKDRztm7dOsfoieDgYLVv397ndRWkfv36puswefJ6P378uOlaX8V5vXvzvJ46dUrr168vdJ9FeV693cb5PJszZ47Xx/MX55E4ycnJhQYte/fu1enTp9324VwEAAAFIWQCAADlSlxcnGnaM09GbfjbG2+8oRMnTkiyf+h/ww03+PX4zsf77rvvCu3v3Kdnz54u+1x//fWO2wkJCW73t3//ftM3pp239ZeDBw+aLh7eqFEjr/dx0UUXOQKbjIwMTZs2zW3/c+fOaebMmV4fp7icL4qekpJS6IeR77//fkmX5BPx8fEKCbHPDj579myPPvB0DjTXrFmjdevWue2fkpKir7/+2uX2JeGaa65x3M57fbPu3burWrVqkuwfrH700UclWktxhYWF6cknn3Qs//DDDy6DBOfXZ2HTTs6cOTPf9dxccZ6uMyMjw5NyCxUZGalOnTo5lgv7OSfJNEXgJZdc4vU12fLy9n716dPHcduTeidPnuyYUq1evXqmqVC95c3z+vHHH3t0f4ryvHq7Tf/+/R0/V/7880/99NNPHh3H36pUqeK4ztn58+e1fft2t/2nTp1a6D45FwEAQEEImQAAQLkSEhKiJ554wrH83XffadOmTRZWZLZkyRI999xzjuXXX39dYWFhfq1hzJgxjql2Vq1a5TYcWbZsmSlkiouLc9lvxIgRjg9ttm3b5rg2liv/+te/lJWVJck+VWBxR4ckJCRo+vTpHk2Zk+Pf//63o39oaGiRwoOgoCANHz7csRwfH6+TJ08W2H/8+PFu15eUqKgoValSRZJ9xIDzKLK8li5dGjAhU/PmzTVixAjHsiejmVq3bm0KSh944AG3H3w+/fTTOnLkiCT7h7q33Xab13WmpaV5NMpNMk/hl3fEWXh4uB566CHH8pNPPunRN/hz5A2t/GHEiBGKjo6WZJ9K01Xo7zyy8vvvvy9wX0ePHtXDDz/s0XGjoqIct305ReU999zjuP3uu++6HX2zZs0affDBB47l0aNHF/v43t4v53q/++47zZ49u8C++/btMz0/99xzT7FGoXj6vO7YsUPjx4/3aJ9FeV693aZ+/foaOnSoY3n06NEeHys7O9v05YWSdskllzhuuwta9u/frxdffLHQ/XEuAgCAghAyAQCAcicuLs4xMsUwDL3wwgt+Oe7999+vn376yTE1mbO0tDS98847uvLKK5WSkiLJPoLH+cMsf2nWrJnuvfdex3JcXJzLoGn+/PkaOHCg45vtXbt21cCBA13us3bt2vrnP//pWP6///u/fN+cTk9P19ixY/XVV1852jz54KswW7du1aBBg9SmTRu9+OKL2rVrV4F9d+/erVtvvdX0reYxY8Y4Roh465FHHnFsu3fvXg0YMCDf8TMzM/Xcc8/p1VdfLdK0fMUVFBSkq666yrE8cuRIrVixIl+/qVOn6qqrrlJWVlbAfMv7mWeecYS0y5cv92ibl156yTHV0uLFi3XTTTc5gqQcOdd0e/311x1t48aNK/QaJa4kJSWpYcOGeuSRR1w+7pL959Ts2bP1zDPPONqcn7McjzzyiGMaqzNnzqhHjx766KOPXP7MkezTn3388ceKjY3Vq6++6nXtxRUaGmoK/b/99ltt2bLF1Md59NZLL72kL774It9+Vq9erV69emnfvn0evTbbtWvnuP3HH3/45BpjknT77bc7ptlKT09X//79TdfXyzF37lwNGDDAEWDGxMSYpncsKuf75cnIlD59+ujKK690LA8aNMjlz/o1a9bo8ssvV3JysiSpYcOG+r//+79i1er8vP7zn/90OfXc3Llz1bt3b505c8br53XOnDmFXmOoqNtMmDBBdevWlWQPRjp37qzp06c7fhfmdeDAAb399ttq3bq1aSrckuYcer/xxhv69ttv8/VZvny5evXqpeTk5EKvi8W5CAAAChJidQEAAAD+lvPB5pgxYyRJ33zzjeLj49WyZcsSPe5vv/2md999V1WqVFFsbKyio6MVHByspKQkLVmyxHQ9hP79+5vCloIcPHjQ5YfNf/75p+P2Bx98kG8atnr16umXX34pcL8vv/yyVq9ercWLF+v8+fO65ZZb1KZNG3Xu3FnBwcFav369EhMTHf3r1q2rqVOnuv1m+9NPP62lS5dq3rx5SklJ0eDBg/X8888rJiZGqampWrRokZKSkhz9x48fr169ehX6GHhq27ZtevLJJ/Xkk0+qbt266tChg2rVqqWKFSvq5MmT2rx5szZs2GAa8XTppZcWK4SsW7euPvjgAw0ZMkSGYeiPP/5Qy5Yt1bNnTzVt2lSnT5/WwoULdfjwYYWGhur555/XY489Jsk8NVFJe/rpp/X9998rJSVFu3fvVteuXdWtWze1bNlS6enpWrZsmSMcu/vuu7V9+3a3I55Ki0aNGmnUqFGaOHGix9t069ZNL730kuN5+PHHH9WoUSP16dNHDRs2VHJyshYsWGC6LtUNN9zg8Tf3XTl58qTeeOMNvfHGG6pRo4Y6duyo+vXrKzw8XEeOHNH69etN4WTLli314IMP5ttPZGSkfvjhB/Xr10+7du3S6dOnNWrUKD322GPq1q2b6tevL5vNphMnTmjLli3atm2b44Nx56nT/GnkyJF64YUXtG/fPmVnZ2vChAn6/PPPHevj4uL0xhtvaPv27UpLS9OwYcM0YcIEtW/fXhUqVNDGjRu1atUqSfZrsfTv31+vvPKK22PWqVNH3bt319KlS5Wamqr27dtrwIABqlu3ruO8a9asmeN3hKfCwsL01VdfqVevXjp69KgOHTqkvn37qn379o5rtK1du9Y0DWPt2rX11VdfFfoBvyduuukmx2iksWPHavbs2broootM4fVTTz2l6tWrO5YnTZqk7t27a+fOnTp79qxuueUWtWjRQl26dFFYWJi2bNmi5cuXO34uVqpUSV999VWRg/ccDz/8sD755BMdPXpUycnJGjBggGJiYnThhRfKZrNp9erVjlHG/fv3V+3atU2vC1c6d+6sRo0aae/evTp06JBat26tf/zjH6pZs6bjd1Pnzp01ePDgYm1Tt25dff/997rqqqt07NgxJSUladCgQapdu7a6dOmiOnXqKDs7W8ePH9fGjRv1119/eTWS1leGDBmi119/XevWrVN6erpuvvlmxcTEqEOHDsrKytL69esd16WMj4/XpEmTtGfPngL3x7kIAAAKZAAAAPiJJMc/T/Tq1cvRf/78+S77jBgxwtFnxIgRHteSlpZmNGjQwO22kyZNcqyPjo72eN8FadWqlekxcPUvPDzceOaZZ4zU1FSP9rlr165C9+nqnyf35+TJk8aQIUMK3VeXLl2MvXv3elTvyZMnjVtuucXt/kJDQ40XXnjBo/15YubMmcaFF17o1eMTEhJiPPjgg8bZs2cL3O+4ceMc/ceNG+e2hoSEBKNixYoFHq9KlSrGzJkzjV9//dXRNnDgQJf7mj9/vqNPr169PHoMPDn3Zs6c6bZGScaoUaOM1NRUr8/NSZMmeVRnYZzve506dTzaJikpyYiIiMh3X3bt2uV2u48//tioUqWK28cjODjYePDBB43MzEy3+3L3+O/fv98IDw/3+LXZu3dvIykpye3xjh8/bgwaNMiw2Wwe7bNatWpGQkJCoY+lO3l/FhX2+Dp79913TY/pjh07TOu3bdtmNG3a1O196N69u7F//36Pz8vExES3z2/ec8v590Fhv2u2bdtmdOzYsdDHPSYmxvjzzz89fpwKk5GRYfTp08ftMV09L4cOHTL69u1baL3Nmzc3VqxY4bN6f//9d6NmzZpuj3n99dcbJ0+e9Pjnyc8//+z2fHL13BVlG8MwjN27dxuXX365x+dunTp1jNmzZ+fbj/O54+l7jejoaI/Otb/++svtuWOz2YynnnrKyM7O9mif5flc9OT3njNv3iMAABDoGMkEAADKpbCwMI0dO1b333+/JGnKlCkaN26cmjRpUmLHnD59un799VfNnz9fO3bs0JEjR3Tu3DnVrl1bTZo00TXXXKNbb73VMZWf1apWraovv/xSo0eP1meffaYlS5bowIEDysrKUp06ddS1a1fdcsstuv766z2+NkfVqlX1zTff6O6779bkyZO1bNkyJSUlKTQ0VA0bNlT//v115513qk2bNj67H9ddd52uu+467dy5UwsWLNDvv/+uLVu2aNeuXTp58qQyMzMVGRmp2rVrq23btrrssss0ePBgx3RIvjBixAj16tVL//nPf/TLL79o3759jvt87bXXavTo0WrUqJFpKqXijhTw1nXXXaeNGzfqjTfe0K+//qq9e/cqJCRE9erVU/fu3RUXF2e6XlGguOCCC3T//fd7PR3cnXfeqeuuu04fffSRZs2ape3bt+vEiROqXLmyGjZsqH79+umOO+7QhRdeWKz66tevr+PHj2vevHlavHixEhMT9eeff+ro0aNKT09X5cqVFR0d7RhN0a9fv0L3WaNGDU2dOlUbN27UV199pQUL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KHQO1h3gHna7Xffee69ycnJUtWpVHTx48ILHsP6AizNixAjdf//9RT4fFRVV5HOsP6BkvvjiC915552y2+2qWrWqRowYoS5duqhSpUrav3+/kpOT9eOPPyo0NLTIc7D+UCqsnnIBnta9e3dDkhESEmIsW7as0PNvvvmmY3L/4osvWtAh4Huef/5548cffzT2799vGIZh7Nixw+UrmbZu3er49Gm7du2MtLQ00/Nnzpwx2rVr51i/27Ztc/dfA/A5/fv3N7777jsjJyfH6fOHDh0yGjdu7FiPv/32m9P9WH+Aa4pac/n997//day96667rtDzrDvAfcaPH29IMhISEoynnnrqglcysf6Akju7vl544YUSHc/6A0pm06ZNRnh4uCHJuPzyy43jx48XuW9RKRasP5QW7skEv7Zy5UpHLvfdd9+tTp06FdrnscceU5MmTSRJ7777rrKzs0uzRcAnvfjiixowYICqVatW4nOMHz9eOTk5kqQPPvhAkZGRpufLlCmjDz74QJKUk5Ojd999t8SvBfiLn376STfeeKOCg4OdPh8TE6O3337bsT116lSn+7H+ANcUtebyGzRokBISEiRJv/32W6HnWXeAe+zZs0fPPfecJGnSpEkKCwu74DGsP8A6rD+gZB588EFlZmYqJiZG06ZNU/ny5Yvct6jvhaw/lBaGTPBr06dPdzy+8847ne4TFBSk22+/XZJ07NixYt0sFsDFMQxDM2bMkCQlJCSoY8eOTvfr2LGj4uPjJeWtZ8MwSq1HwFflv+lycnJyoedZf4DnnI0KysjIMNVZd4D73H///Tp9+rTuuOMO0/e8orD+AOuw/oCSSUxM1C+//CJJGjlypGJiYlw+B+sPpYkhE/zakiVLJOX9wt+2bdsi9+vWrZvj8dKlSz3eFxDoduzY4bi3TP7158zZ51NSUrRz505Ptwb4vKysLMfjoKDCP+qx/gDP2Lx5s/766y9JclzRdBbrDnCP77//Xj/99JMqVaqkcePGFesY1h9gHdYfUDI//PCD4/HgwYMdj48dO6atW7fqyJEjFzwH6w+liSET/NrmzZslSQ0bNlRISEiR++V/I+DsMQA8J/86K/hGXEGsT8A1ixcvdjx2tr5Yf4D7pKWlaevWrXrnnXfUo0cP5ebmSpIefvhh036sO+DiHT9+3LG23njjDVWpUqVYx7H+APf4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", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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+4369etnuH0NGjQw/vnnnxyLd/78+UaBAgXSXeeQIUOM2NhYl37/G4ZhfPnll4aXl5fT+hwdJ1lZxjAMY8eOHUbDhg1dPn9VqFDB2L59e5p6Vq5caZZp3bq1S++dq+e7rVu3GsWKFXMak5+fnzFx4kSX6/zzzz/TrU+S0b17d+Py5csu7/MLFy40/P39ndaX+lyUmfNeRESEUalSpQw/mw4dOhhnz55Nt67c/B0KADcLWngBAJDH+Pn5afTo0XrqqackWe+sHjt2rCpWrJhr65w7d66WLl2qlStX6uDBgzp79qyuXbumEiVKqGLFirr33nv18MMPm93oeVrhwoX1ww8/aOjQofr222+1bt06nTx5UklJSSpZsqSaNWumnj17qnv37i51j5JS56xZszR48GBNnz5dERERioyMlK+vr8qXL6+OHTvqscceU40aNXJ561zj6n7y1FNPacCAAfruu+/0xx9/aOfOnTp37pxiY2NVqFAhlStXTrVq1VKbNm3UpUsXlS9fPkfjbNu2rfbt26d58+Zp4cKF2rBhg06fPq0rV66oQIECKlmypMLDw3XHHXeoc+fO5t3cOSkwMFCTJ0/WSy+9pO+//14rVqzQgQMHdOHCBSUnJ6tw4cKqVKmS6tatq/bt26tTp07muB7u1K5dO+3fv18//vijFixYoC1btujs2bOKi4tT4cKFVaVKFTVv3lw9evQwu8dyxBPbO3HiRH366aeKiIjQ2rVrtWXLFu3fv1+RkZG6evWqfHx8FBwcrLCwMNWrV0/33HOPOnfunGNdoQUEBGju3LlauHChvv76a23cuFHnz59XaGioatSooT59+qhfv37y9fXVxYsXzeVSxtVxB29vb02fPl0PPfSQvvzyS23cuFGXLl1SSEiIbrvtNt1333169NFHVaZMGbNVUn7RpUsXNW7c2Oy29M0330zTeqVo0aKaPXu2du3apZkzZ2rVqlU6fPiwLly4IC8vLxUpUkRVqlRRgwYN1KFDB911110KCAhId70jRoxQ3759NW3aNC1ZskR79uzR+fPnJUnFihVTjRo11Lp1a/Xq1UtVq1Z1Wk9YWJiWLVumiIgIzZkzR2vWrNHx48d16dIl+fj4KDQ0VFWrVlWjRo109913q02bNvLxybl/pfv162c3LpHkWneGqeXk+d5iseijjz7SQw89pEmTJmnVqlU6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", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABpMAAARGCAYAAADU7EjZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdd3hb1eHG8Vfy3iPOsLPjbAhkEJJAdihQ9igQCoQAZRZKKXuHMsNumYUCCbOEWUqh8CMkMQkJSQgJIztkxxl2HO8p3d8f176WZMmWbNny+H6eR4+lo3OPjuR7Zfm+OufYDMMwBAAAAAAAAAAAAHhhD3UHAAAAAAAAAAAA0HoRJgEAAAAAAAAAAMAnwiQAAAAAAAAAAAD4RJgEAAAAAAAAAAAAnwiTAAAAAAAAAAAA4BNhEgAAAAAAAAAAAHwiTAIAAAAAAAAAAIBPhEkAAAAAAAAAAADwiTAJAAAAAAAAAAAAPhEmAQAAAAAAAAAAwCfCJAAAAAAAAAAAAPhEmAQAAAAAAAAAAACfCJMAAAAAAAAAAADgE2ESAAAAAAAAAAAAfCJMAgAAAAAAAAAAgE+ESQAAAAAAAAAAAPCJMAkAAAAAAAAAAAA+ESYBAAAAAAAAAADAJ8IkAAAAAAAAAAAA+ESYBAAAACBktm3bJpvNJpvNpj59+oS6OwDQofGeDAAAfCFMAgAACNDMmTOtEy3eLnFxcerevbumTp2qu+66S5s2bfK77Tlz5tTbtq/Ln//853rbzc/P1xNPPKHf/OY3ysjIUFRUlDp37qyRI0fqzjvv1MaNGwN6DUpKSrRkyRI9/fTTuuCCCzRo0CDZ7XarP7NmzQqoPW9WrVql2267TUcddZTS09MVFRWljIwMjRw5UpdeeqneeOMN7d271+/25s+frxkzZmjgwIGKi4tTamqqjjjiCN18881av359k/vrqTn3EwAAAAAAWhJhEgAAQJCVlJRoz549WrBggR588EENGjRI1157rcrKykLSn3nz5qlPnz666aab9NVXXyk7O1sVFRXKycnRDz/8oIceekjDhg3TQw89JMMwGmzv1ltvVWJiosaPH68bbrhBb7/9tjZu3OjXtv7Yv3+/LrzwQo0aNUqzZ8/W999/r71796qiokLZ2dn64Ycf9Nprr2nGjBl64IEHGmyvoKBA06dP13HHHac33nhDmzZtUklJifLy8vTTTz/p8ccf1xFHHKGHH344KP33V2vbT4C2zjWMnzlzZtDbnzx5stX+woULg95+a7dw4ULr+U+ePLnZtkHwMMoIAAAEU3ioOwAAANCWDR48WNOmTXMrKyoq0rp167RixQoZhiHDMPTcc88pOztbH3zwgd9tJyQkaMaMGX7VnTBhgtfyF198UVdffbV1OyoqShMnTlTv3r1VVFSkb7/9Vjt27FBFRYXuvPNO5efna/bs2fU+1r59++RwOPx+HoHYsWOHJk+erK1bt1plffv21ciRI9WpUyeVlpZq06ZNWr16tV+hS2Vlpc466yzNnz/fKjv88MM1atQolZaWKisrS3v37lVlZaXuuOMOVVZW6p577gn682rO/QQAAAAAgOZGmAQAANAEY8aM0bPPPuv1vrVr12r69On66aefJEkffvihPvjgA5199tl+tZ2amuqzbX+sXr1af/rTn6zbJ5xwgl599VVlZGRYZU6nU//4xz90/fXXq7KyUo8++qiOOeYYnX766Q22379/f40ePdq63HLLLVq6dGmj+5ufn68pU6ZYQdLIkSP1zDPP6JhjjqlTt6ioSP/9738bHA11//33W0FSdHS0XnvtNU2fPt26v6KiQnfddZcee+wxSdK9996rSZMmadKkSY1+Ht40534CAECw9OnTJ2gjjQEAQPvCNHcAAADNZOjQofr8888VFxdnlf3jH/9osce/9957VVlZKUk68sgj9cknn7gFSZJkt9t19dVX6+mnn7bKbrvtNlVVVfls984779TBgwe1adMmvf3227rhhhs0fvx4RUZGNqm/N910k3799VdJ0sSJE/XNN994DZIkKT4+Xuedd55bMORp//79evLJJ63bTz/9dJ36kZGRevTRR3XeeedZZbfffntTnkbAQr2fAAAAAADQEMIkAACAZtS9e3edc8451u3Fixe3yDd+i4qK9Pnnn1u3Z82aVW/Yc9VVV1nrKaxfv15ffvmlz7oDBgxQSkpK0PoqmaOo/vnPf0oyp/d76623FBsb26Q2586dq+LiYknSwIEDdcUVV/is++ijj8puNz8aL126VD/88EOTHjtQodpPAAAAAADwB2ESAABo12oWnrbZbFbZhg0b9Oc//1lDhgxRfHy8EhMTdeSRR+r2229XTk5O0PswYsQI63ppaany8vKC/hievv/+e2tUUlhYmI4//vh669vtdp1wwgnW7ZZes+fFF1+0rl966aXq0aNHk9v8+OOPreszZ8502wc89erVy21No48++qjJjx+oxuwnO3fu1P33368JEyYoIyNDUVFRSk1N1YgRI3TTTTdp48aNfj12aWmpPv74Y/3pT3/S+PHj1bVrV0VGRio+Pl59+vTRWWedpVdffVUVFRUBPae8vDz99a9/1YgRI5ScnKyEhAQNGTJEf/rTn7R27doGt6+oqFDnzp2tY3jZsmV+P/Yxxxxjbffyyy8H1G9fHA6H5s2bpxkzZmjQoEFKSUlRRESEOnXqpLFjx+r666/X/PnzvQaBs2bNsvoza9asBh9r4cKFVv3JkycHVOezzz7T+eefrwEDBig+Pl42m80afbht2zZrm5oAWTIDzD/84Q8aPHiwkpKSZLPZ9Oc//9nr4wZjv6s5Jm02m+bMmSNJKi4u1vPPP2/tg1FRUerZs6fOP/98LVmypMG2LrnkEqts7ty5bu//Db2W9anZdtGiRVbZlClTvLZf81y8+eWXX3TzzTdrxIgRSktLU1RUlDIyMjR58mTNnj1bubm5AfetIfn5+XrnnXd05ZVXasyYMUpLS1NkZKQSExPVv39//f73v9d7770np9Pps42afXfKlClW2aJFi7w+/5p9qjHb+LJixQrdcMMNGj58uDp37qzIyEh169ZNkyZN0uzZs/16r+zTp4/1eNu2bZMk7dq1S3fffbeOPPJIJScnKy4uToMHD9Z1112n7du3N6rN+njb570JxvvxnDlzZLPZ1LdvX6ts+/btXl9/z7+Nvt4j6rNs2TJde+21Ouyww5SSkqLo6Gj16NFDJ554op599lnrix318fYeWVVVpddff13HHXecunfvrqioKKWnp+uMM87Qp59+6lffAABAEBkAAADtmCTrYhiG8cILLxhRUVFu5a6XTp06GStWrKi3zYsvvtiqf/HFFzfYh5deesntMXbv3u2z7muvvWbV6927dyBP1c27775rtdO1a1e/tnnooYea9NiTJk2ytr/33nv93q6qqspITEy0tl2+fHnAj+2ptLTUsNvtVpvffvttg9s8+OCDVv1jjz22yX1ozv3E4XAYd999txEdHe1zX5ZkhIeHG3fccYfhdDp9trVs2TIjPj6+3nZqLn369DFWrVrl1/NfsGCB0bVrV59tRUZGGi+88IKxdevWeve7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86268fHxRlFRkV/PDQAANA1hEgAAaNc8w6Q1a9b4rPvss89adQcPHuyzXiAhwZw5c9z68I9//KPe+q4nQxMSEow//vGPDV7ef//9Ou3k5eW5TfP20Ucf1fu4DofD6NOnj1tfv/jii3q38dTYMOmee+6xtjvqqKOMXr16uf0eLrroImPmzJnGyJEj3foXFxfnc4qf559/3qp3xBFH+NWP3Nxct/bXr1/v93Pwpjn2k61bt1oBQEJCgrFu3bp623UNFYcMGVLvtGP++O1vf2u1t3btWq91/vGPf1h1YmJijI0bN/ps75FHHnF73r5OXL755ptWnYamIPzoo4/8Oo79deyxx7rtn4WFhY1qp7nDJElGt27djAMHDtTbruuJYklGbGyssWHDhga3CfZ+5zk13e233+6zvb179xpxcXFWXV9BS2sLk/Lz892mLPvLX/7is25ZWZkxevRoq+6UKVOC2PP6VVRUGEcccYQhyYiOjjYOHjzotV5LhUmvv/66tc3w4cMbPOZc/4ZcddVVXuu4Bj82m83rl0pqfPrpp25BRWVlZYNtBitMCoQ/78fNFSZt3rzZ7TPG3//+d5/tHTx40O3zha+AznNqxPPPP99nm6WlpUbPnj2tuv/617/8em4AAKBpauctAAAAaOeuuOIKHXHEET7vnzFjhsLDzVmAN2zYYE29Fqji4mKtWLFC11xzjS699FKr/He/+50uu+wyv9spLCzUc8891+Dlm2++qbNtzVRRNWbNmlXvYt0vvvhinQXECwsL/e5rUxw6dMi6vnLlSu3YsUMxMTF69913tW7dOr3++ut67bXX9P333+vrr79WWlqaJPN1Pu+889ymHqtRM02QJMXExPjVD896rm00h8bsJ3/729/kcDgkSbfccosGDx5c72NMnTpVJ5xwgiRz6r4ffvihSX2eOXOmdf2rr77yWuef//yndf3666+vd1qxG2+80a8ppH73u98pNTVVkrRkyRKtX7/eZ13XKe4COd68+e6777RkyRJJ5lR9c+fObZGpHxvrnnvusY4Pf1177bUaOHBgvXWae7/r3Lmz7rnnHp/3d+3aVSeffLJ1e8WKFfW211q8/fbb1vtI165d9cADD/isGxUVpWeffda6vWDBAm3YsKHZ+yhJERER1vRwZWVlWrx4cYs8ri9PPvmkdf2ZZ55p8Ji7/fbbrWlp33nnHWuKU19OOeUUnXjiiT7vP+mkk9StWzdJ5t+B+t5vQsmf9+Pm8vLLL1uv8xFHHKFrr73WZ92UlBTNnj3buv32229bU1f6EhkZ6bYfeIqOjtb5559v3W4r7wkAALR1rJkEAAA6jHPOOafe+xMSEpSZmakNGzbIMAzt2LFDhx9+eL3bzJ07V3Pnzq23TlxcnK655ho99NBDCgsLC7jfjXXXXXdp0aJFkqQ1a9botNNO02uvvab09HSrjtPp1EsvveR1fY7S0tIW6WfNujqu5s6d6/X3NWXKFH3yyScaP368nE6nNm3apLfeesvtpJoktzVr6ltbyVVUVJTb7WA+/2DtJ5999pl1ffr06X499tSpU/XFF19IkhYvXuy2NpSnkpISLVu2TD/99JMOHDigwsJCK0SQpN27d1vXV69eXWf7wsJCff/999btiy66qN6+hYeH6/e//70efPDBeutFRUVpxowZ1vpKr776qh599NE69bKzs/W///1PknmCvKnrg9S0JUnTpk3T0KFDm9Rec7LZbHXWEvKHP/tRc+93p556qqKjo+ttb8SIEZo3b54k1Qm+W6uvv/7auj59+vQGg+2jjz5aw4YN008//STJDJQGDRoUlL4cOnRIy5Yt0y+//KLc3FwVFRW5hS6ugcnq1at16qmnBuVxA5WdnW29t3Tv3l3jx49vcJvo6GiNGzdOn3/+ufLz8/Xzzz/X+8WRhj4L2Gw2HXnkkdq7d68kc39r6LNAc2jq+3Fzct23L7nkkgbXZjzzzDOVmpqqgwcPqry8XEuXLq030Bs/frwV6PniuhZiW3lPAACgrSNMAgAAHcawYcMarOO6EHhD35z112233aY77rjDbTF7f/Tu3btJJ0iOO+443XTTTXr88cclSV988YX69euniRMnqnfv3ioqKtKSJUu0Y8cOSdIxxxyj9evX6+DBg5LMcK0leJ5EHj16dL0n+8aNG6ezzjpL77//viTpX//6V50wybXN+kZkuapZqL6GvyOagqWh/SQ3N1cbN260bj/11FMNnsCTpLVr11rXd+7c6bXOwYMHdc899+j111/3e0RaTk5OnbIff/zROkGdmJioIUOGNNjO2LFj/Xq8yy+/3AqTXn/9dT300EPWSMIac+fOVVVVlSQzoOjSpYtfbfuybNky6/qUKVOa1FZz69OnjzV6y18RERENvi82535X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Nn379nUbGfr000/79TihEMgxvXLlygZHNwb7/VhqvmPCdd+eO3dug+8Jn3zyiRW4RUdHt+joZwAAEDyESQAAAM0sPDxct99+u3X7o48+0i+//BLCHrlbvHix7r//fuv2E088ocjIyBbtw9VXX21Nm7Ny5Uq99957PusuXbrULUyaOXOm13oXX3yxNWJpw4YN1ppE3txyyy1yOBySzCn+QvGtaX/2kxtvvNFaC2jlypW67777/G5/7969dcpcR4T9+9//9rmtw+HQFVdcofLy8gYfxzXM+fvf/17vVFVPPPFEo6aPu/zyy63rt912mzW6KSUlRWeddVbA7fly9NFH69hjj5VkTpc4Y8aMRq+dNHr0aGuUwHfffVdvMPX888+3qveIYO93zaVTp07W9d27d4e8/d///vfW6JXs7Ox6X7eKigpdd9111u0pU6a4rf0WKH+P7ZKSErfRfvVpzOvbmG1uvfVW6/rf/vY3ffXVV35tJ7Xs/nb00Udb12um3PSmqqpK119/fYPtNcf7cXJyshVS7d+/P2iB0uWXX261u2rVKr300ks+6+bn5+uWW26xbp9//vl1pqYFAABtA2ESAABAC5g5c6Y1VZRhGHrwwQdb5HGvvfZaffrpp6qoqKhzX3l5uZ555hn99re/VWlpqSRzRE7NmjQtKTMzU9dcc411e+bMmV4DpQULFui0006zFjIfO3asTjvtNK9tdunSRX/5y1+s23/605/qjPaoqKjQbbfdpnfeeccqe/jhh5v0XJqiof0kMzNTd911l3X7vvvu08yZM31OBeVwOPTVV19pxowZXgOyk08+2Qo4Fi1apJtuusnaF2rs3btXZ599tv773//6tcj6xRdfrIEDB0oyT1SfcMIJWrlypVsdwzD0t7/9TXfccUejgsvp06crMTFRkhku1rjwwgsVFRUVcHv1+fvf/261uXLlSk2cONFtuiZXe/fu1eOPP67HHnuszn3dunWzRpoYhqHzzz+/zu+tqqpKTzzxhP70pz8F/Xk0RbD3u+YybNgw6/p3333n91oujWn//fffb3A0RmJiotvr9sgjj+juu++u8368b98+nXnmmdZ0YeHh4U1+HzrllFOs66+//rqeeOIJKzCvsXnzZh1//PFatWqVX8d2v379rHrbt2/3eRw0dZsLL7zQGvlSVVWlk08+WbNnz7amsvRUVFSkd955R1OnTnUL5Jrb9OnTrUBl6dKluu222+q8xrt27dIpp5yib7/9tsFjujnej6Oioqz346qqKr9G/vojMzNTV155pXX72muv1XPPPWf9ba6xZcsWHX/88dqyZYsk85i4++67g9IHAADQ8sJD3QEAAICOICIiQrfffruuvvpqSdK7776rWbNmWSd5mstXX32l5557TomJiRo1apR69+6tsLAwZWdna/HixSooKLDqnnDCCW6hii979uzRSSedVKd88+bN1vUXX3xRH3/8sdv9GRkZ+uyzz3y2O3v2bK1atUrffPONSkpKdO6552rIkCEaPXq0wsLC9OOPP+r777+36qenp2vevHn1rglx9913a8mSJfr6669VWlqq8847Tw888IBGjhypsrIyZWVlKTs726p/3333adKkSQ2+Bs3Fn/3k3nvv1bZt26xvws+dO1dvvvmmRowYocGDBys+Pl4FBQXavn271qxZY42kcR0hUGPw4MG66KKL9Prrr0syRwq9/fbbGj16tLp06aJt27YpKytLFRUVSkhI0GOPPaarrrqq3ucQHR2tuXPnatq0aSopKdHWrVt19NFHa+zYsRoyZIjKysr0zTffaOfOnZLM3/sNN9wQ0OsUGxurCy64QC+88IJb+R/+8IeA2vHHyJEj9corr2jmzJmqqqrSDz/8oDFjxmjQoEEaMWKEkpKSlJ+fr7Vr1+rnn3+W0+n0OQrhoYce0jHHHCOn06k1a9Zo4MCBmjZtmjIyMnTw4EFlZWVp//79io+P18MPP9yiJ8YbEsz9rrl07dpVxx57rJYsWaKysjIdeeSROvHEE5Wenm6d9M/MzLSOr0CdddZZuv3222UYhv773//qiCOO0DHHHOO2ds706dN11FFHWbdvuukmLV68WP/5z38kmdNXvvDCC5oyZYpSUlK0c+dOLViwwG2UyWOPPaYxY8Y0qo81TjjhBE2aNEmLFi2SYRi66aab9Nxzz2nkyJFKSkrSpk2b9O2338rhcKh79+66/vrr3UaPeGO323XGGWforbfekmSOnjrxxBPVq1cva+Raamqq7rjjjiZtExYWpnnz5uk3v/mNfvjhByv0/+tf/6qxY8eqV69eioyMVF5enjZu3Ki1a9daI27OPvvsJr1ugejdu7euuuoqPf/885LM97J33nlHEydOVHR0tLZs2aIlS5aooqJC06ZNU3p6er1TfzbH+7FkviY1X0y48MILNXfuXPXv398aDSxJjz/+eMDP//HHH9fKlSu1YsUKVVVV6dprr9Ujjzyi8ePHKz4+Xlu2bFFWVpYVsIWHh+uVV14J2pp2AAAgBAwAAIB2TJJ18cekSZOs+gsWLPBa5+KLL7bqXHzxxX73pby83OjRo0e927722mvW/b179/a7bV8GDRrk9hp4u0RFRRn33HOPUVZW5lebW7dubbBNbxd/ns+hQ4eM888/v8G2xowZY+zYscOv/h46dMg499xz620vIiLCePDBB/1qz1/NuZ8YhmE888wzRkpKil+vvc1mM0477TSv7RQXFxvHH398vdv36NHDWLx4sbFgwQKrbNKkSfU+j/nz5xtdunSp9zV/7rnn3PanQPb5H374wa29o446yu9tG2P+/PlG3759/Xq977zzTp/tvPLKK0ZYWJjPbdPT042srCy/XutAfh81Gvt61wjWfud6fLz22msNPq7re2N9x9P3339vJCYm+uyTv6+TL3fddVe9z9nbc6msrDSuvfbaen/vkoykpCS/Xgt/7d271xg5cmS9jzl06FDjl19+8fv13bFjh5GRkRHQ+3xjtjEMwygpKTGuuuoqIzw83K/9LSYmxnjooYe8ttW7d2+r3tatWxt87fzdP0tLS42TTjqp3n6dcsopRl5enl9tNsf7cX5+vjF06NB623QVyHtEYWFhg39fa97XPvvss3rbuvfee6369957b711DaNx738AAKBpmOYOAACghURGRuq2226zbr/11luNWi8mEO+//76eeOIJnXLKKRo0aJBSUlIUGRmpHj16aMKECZo9e7Y2btyo++67r1VMq5WUlKS3335bixYt0mWXXaZBgwYpPj5eMTEx6tOnj6ZPn64PP/xQS5cuVc+ePf1u891339X//d//6cILL1RmZqZiY2OVlJSkww8/XDfeeKPWrFnj9s34UPJ3P7n22mu1fft2PffcczrjjDPUt29fxcfHKzw8XCkpKRo2bJimT5+uF198Udu3b/e5BkdsbKw+//xzvfHGGzruuOPUqVMnRUREKD09Xccee6yefPJJ/fjjj9baQf6aOnWq1q1bp1mzZunII49UQkKC4uLiNGjQIF1zzTVatWqV29SGgRo+fLjbGiPNMSrJ1dSpU7Vhwwa9/vrrOvfcc9WvXz/Fx8crIiJCaWlp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M888M77//e/HJZdcEs8880yf9drZ2RnXX3999/Gll1662znLli3rfj516tR9Xm/atGl7fF9P7Pre/WloaIiampoDun4paGhoyLoFKFnuv+KxYktE8+b0t/1k1fNx773PZ9QRfc39B9lw70F23H+QHfcfZMO9x940Nzfv/6QDVJAw6aqrrorbb789NmzYEBFdvx1dXl4e73jHO+ITn/hEnH/++VFeXt6jax133HEREbFp06Y+6/eGG26Ihx9+OCIiLr744jjllFN2O2fXzx82bNg+rzd06NDu55s3b+6lLgGg515cn0sdjx2UxLjqjJoBAAAAoF8pSJh00003dT+fPn16XHHFFXHFFVfE5MmTD/hagwYNisMOO2yP+xj1hrlz58bf/u3fRkTE+PHjU73vatclhFVVVfu85o5xfREHvrxsfyuZVq1aFaeddlpERNTX1+93lVSp2LZtW3cyX19fH9XVfmIKheL+K0633/ZERKzrPn7bG6bGO95xVHYN0Sfcf5AN9x5kx/0H2XH/QTbce/TE/rbPORgFCZMqKyvjL//yL+PjH/94vP3tbz+kax122GGxdOnS3mksz3PPPRcXX3xxtLe3x6BBg+JXv/pVTJgwYY/n7nqTtra27vO627dv734+ePDgA+rpQMKhwYMHH/D1S0F1dbU/F8iI+684bG1tj8df3pCqnX3sRH9vBjj3H2TDvQfZcf9Bdtx/kA33HnvTF/9cFCRMWrlyZYwdO7YQH3XQlixZEuecc06sW7cuysvL4/bbb485c+bs9fzhw4d3P9/f6LotW7Z0P9/fSDwA6G0PLl4TrR2d3ccVZbk4c0Zxf18GAAAAoHj0zay4PMUeJK1cuTLe9ra3xcqVKyOXy8VPfvKTuPjii/f5nl1XDO1vydiuo+qmTZt2aM0CwAFqaExvuvimw0bH8OrKjLoBAAAAoL8pSJhUzJqbm+Ptb397LF68OCIibrzxxvjIRz6y3/cde+yx3c9ffPHFfZ676+vHHHPMQXYKAAenofG11HF9XU1GnQAAAADQH/XqmLvbbrutNy/XrSfhzsHYsGFDvOMd74jnn38+IiKuv/76uOqqq3r03iOOOCImT54cK1eujLlz5+7z3B0bok2ZMiWmT59+SD0DwIFYtnZrLG7ekqrV143LqBsAAAAA+qNeDZMuv/zyyOVyvXnJyOVyfRImbd26Nd71rnfF448/HhERV199dXzlK185oL4uuuiiuOmmm+LFF1+MBx98MM4444zdznvwwQe7VyZddNFFvf7nAwD70tCUXpU0ZmhVvGHyyIy6AQAAAKA/6vUxd0mS9Pqjt7W2tsbFF18c999/f0REfOELX4hvfvObB3ydL37xi1FR0ZXHfe5zn4uWlpbU6y0tLfG5z30uIiIqKirii1/84qE1DgAHKH/E3Vkza6KszC82AAAAANBzvboyacmSJXt9bd26dfGpT30qHnnkkXjDG94QH/3oR+O0006LCRMmRJIksXr16njkkUfipz/9aTzzzDNx2mmnxf/5P/8nRo0a1ZstRkTE+9///rj33nsjIuLss8+OK6+8Mp599tm9nl9VVRV1dXW71evq6uJv/uZv4vrrr49HH3003vzmN8dXvvKVmDFjRixatCi+853vxBNPPBEREV/+8pejtra2178WANibto7OeGDhmlTNiDsAAAAADlSvhkmHH374Huutra3xnve8Jx5//PH4xje+EVdfffVu496OOuqomD17dnzpS1+Kb3/723HNNdfEJz7xiZg/f35vthgREf/+7//e/fx//ud/4vjjj9/n+YcffngsXbp0j69961vfitWrV8dPfvKTeOKJJ+Kyyy7b7Zwrr7zyoFY+AcCheHLZ+ti0vT1Vq6+tyagbAAAAAPqrXh9ztyc33nhjPPbYY/He9743vvrVr+5z36BcLhdXX311XHrppfHYY4/FD3/4w0K0eNDKysrixz/+cfznf/5nXHTRRTF58uSoqqqKyZMnx0UXXRS/+93v4pZbbomysoL8UQNAt/wRd0dPHB7jR1Rn1A0AAAAA/VWvrkzam1/+8peRy+Xi8ssv7/F7Pvaxj8WvfvWr+Nd//df48pe/3Kv99MU+TOedd16cd955vX5dADhY+WHSHCPuAAAAADgIBVkus2jRooiImDBhQo/fM378+NR7AYCeW7ulNZ5esSFVs18SAAAAAAejIGHSjpVATU1NPX7PjnP7YhURAAx08xc2x67fQgdXlscp00dn1xAAAAAA/VZBwqRjjjkmIiJ+8IMfRGdn537P7+zsjBtuuCH1XgCg5/JH3J1x5JgYVFGeUTcAAAAA9GcFCZM+/OEPR5Ik8dBDD8Vf/uVfxiuvvLLXc1999dW45JJL4qGHHopcLhcf+chHCtEiAAwYSZLE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eXl5TqsJQJm69Gd5b0r0J1CThIQE/ed//qckqX379oqJial2HP0HNNyUKVPMsDYvL0+pqanauHGj/vnPf+o3v/mNVq9erYkTJ1Y6ht4D6q+wsFDz5s2TYRh68skn1adPnzodT/8B9ZeZmanAwMAq748dO1YLFy7U+PHjlZiYqISEBMXExOixxx4zx9B7QP3l5ORIkgoKCuTu7q7t27dr8ODB5v4BAwZo27ZtmjhxorZv3679+/crLi5O999/vzmGHkRjYWUSmjwfHx9zu+LDyK0UFBRIknx9fZ1WE4AydenP8t6U6E/AyjfffKOpU6equLhY3t7e2rhxozp06FDtWPoPaLjAwED17t1bvXv31sCBA/XLX/5ScXFx2rBhg9LS0jR58mTFxsZWOobeA+rvxRdfVFJSkjp37qwlS5bU+Xj6D6i/6oKkch06dNDmzZvNH1KvWbOm0n56D6i/iv0zY8aMSkFSOTc3N61cudJ8/fe//91yDnoQzkSYhCavdevW5rY9yzPLE397bokHoGHq0p/lvSnRn0B10tPTdc899+jSpUtyd3fX3//+d0VFRVmOp/8A53nggQfMW4wsWLBAly5dMvfRe0D9nDhxQi+99JKksh9UV7wNj73oP8B5unbtqrFjx0oqe45SVlaWuY/eA+qvYv+U386uOrfddps6deokSTp8+LDlHPQgnInb3KHJ8/HxUVBQkLKzs5WRkVHj2EuXLpl/aVZ84BwA56j44Mfa+rPigx/pT6CyrKwsjRkzRllZWbLZbHr77bc1derUGo+h/wDnmjx5sjZu3KicnBxt375dv/71ryXRe0B9rVq1SoWFheratatyc3P1wQcfVBnz9ddfm9uff/65zp49K0m677775OfnR/8BTtarVy99/PHHkspuixccHCyJ731AQ4SGhprfzyr2ktXYzMxMnT9/vtL79CAaC2ESmoWePXvqiy++UEpKioqLi+XhUf1/2idOnKh0DADn6tWrl7ldsf+qQ38C1cvOztbYsWOVlpYmqey3tX/3u9/Vehz9BzhXu3btzO3vv//e3Kb3gPopv+1OWlqafvWrX9U6/k9/+pO5nZ6eLj8/P/oPcDLDMKp9n94D6u+2224zVxqVlJTUOLZ8//U/96QH0Vi4zR2ahWHDhkkqW6r573//23JcQkKCuT106FCn1wW0dLfeeqv522oV+686e/fulSR16tRJYWFhzi4NaBJ+/PFHjRs3TsePH5ckvfzyy3r00UftOpb+A5wrMzPT3K54ixB6D3Ad+g9wrvJ/k0oye02i94CGGD58uLmdmppa49jyXzAsv91dOXoQjYUwCc3ClClTzO133nmn2jGlpaXasGGDpLIHS44cObIxSgNaNJvNpsmTJ0sq++2XgwcPVjvu4MGD5m/HTJ48WTabrdFqBG5Uubm5mjBhgo4cOSJJeu6557R48WK7j6f/AOfatGmTud2nTx9zm94D6ic2NlaGYdT4tWTJEnP87t27zffLfxhG/wHOk5aWpp07d0oqe35SxR9m03tA/U2aNEmenp6SpLi4OMtxCQkJunjxoiTp7rvvrrSPHkRjIUxCszBo0CDzL9K//e1vOnDgQJUxr7zyipKSkiRJjz/+uPkXNQDneuKJJ8wl2AsXLlReXl6l/Xl5eVq4cKGksqXaTzzxRGOXCNxwCgsLNXXqVP3v//6vpLLvWy+88EKd56H/gLqLjY1Vfn5+jWNWrVqlTz75RJIUFhZmrpIvR+8BrkP/AXW3detWFRcXW+4/d+6c7r//fhUVFUlStSvl6T2gftq2bavf//73kqSdO3dW+8zAq1evVuqZ+fPnVxlDD6Ix2AyrG54CTUxiYqKGDh2qvLw8+fv767/+6780cuRI5eXl6YMPPtD69eslSREREfryyy/VunVrF1cM3Pj27dunlJQU83V2draefvppSWW3iiz/B0+52bNnVzvPs88+q5dfflmSdMcdd2jx4sUKDw9Xamqqli9frsTERHPciy++6IRPAjQt06dPN38rbdSoUVq9enWNvzXm5eWliIiIavfRf0DdhIWF6erVq5o+fbqGDRum8PBw+fv76+rVqzp27Jjee+89M+j18vLSxx9/rDFjxlSZh94DHG/p0qVatmyZpLKVSSNGjKh2HP0H1E1YWJiKioo0ffp0DRkyRGFhYfL19VV2drb27NmjdevWmSsihg0bps8++0ze3t5V5qH3gPq5cOGCBgwYoFOnTsnDw0MPP/ywpk2bpptuuknHjh3T8uXLzRVF0dHRWrt2bbXz0INwOgNoRrZs2WLcdNNNhqRqvyIiIozk5GRXlwk0GbNmzbLsp+q+rJSUlBhz5syp8di5c+caJSUljfjpgBtXXfpOktGlSxfLueg/oG66dOliV9+FhIQYO3bssJyH3gMcb8mSJWb/7N6923Ic/QfUjb3f+6ZPn25cunTJch56D6i/48ePG926dauxf+bMmWMUFhZazkEPwtlYmYRm5/vvv9drr72mjz/+WBkZGfLy8lK3bt00Y8YMLViwQK1atXJ1iUCTMXv2bL377rt2j6/tW8onn3yi9evX6/Dhw8rOzlZQUJAGDhyo+fPna/z48Q0tF2g26nrv6i5duujkyZM1jqH/APukpqbqs88+0+7du5WUlKRz587p4sWL8vHxUYcOHdSvXz9NnDhRM2fOtOvflfQe4Dj2rkwqR/8B9klISFBCQoIOHDigtLQ0ZWdn68qVK/L391doaKjuuusuzZo1S0OGDLFrPnoPqJ+cnBzFxMRo8+bNSk5O1rVr19S+fXsNHTpU8+fPt/v57/QgnIUwCQAAAAAAAAAAAJbcXF0AAAAAAAAAAAAAblyESQAAAAAAAAAAALBEmAQAAAAAAAAAAABLhEkAAAAAAAAAAACwRJgEAAAAAAAAAAAAS4RJAAAAAAAAAAAAsESYBAAAAAAAAAAAAEuESQAAAAAAAAAAALBEmAQAAAAAAAAAAABLhEkAAAAAAAAAAACwRJgEAAAAAAAAAAAAS4RJAAAAAAAAAAAAsESYBAAAAAAAAAAAAEuESQAAAAAAAAAAALBEmAQAAAAAAAAAAABLhEkAAAAAAAAAAACwRJgEAAAAAM1UbGysbDZbla/Y2Nh6z7lnzx5znj179jis1uo4o34AAAAAdUeYBAAAAKBFqBiCLF26tMax586dU+/evc3x0dHRMgyjQedfunRpnUOYESNGmMc0FRU/5/Vf7u7uCgwMVP/+/bVo0SIlJye7ulwAAAAAdvBwdQEAAAAAcCM5c+aMRo0apRMnTkiSHn/8ca1evdq1RTnAp59+quDgYElSSEiIS2ooLS3Vjz/+qCNHjujIkSN6/fXX9Ze//EXz58+vdvyUKVM0YMAASVJWVpbGjRvXmOUCAAAA+AlhEgAAAAD8JCMjQ6NGjTJXzDz11FNauXKli6tyjIiICIWFhTXqOd9++20NHDjQfF1SUqIzZ85o+/btiomJUWFhoaKjo9W9e3eNGjWqyvGBgYEKDAyUJPn7+zdW2QAAAACuQ5gEAAAAAJK+//57jRw5Uunp6ZKk5557Ti+88IKLq2rabr31VvXu3bvSe3379tW9996rfv36ac6cOTIMQytXrqw2TAIAAABwY+CZSQAAAABavNTUVA0fPtwMkpYuXUqQ5GQPPviggoKCJEn/+te/XFwNAAAAgJoQJgEAAABo0b777jtFRUXp1KlTkqSXXnpJS5YscXFVrpOXl6f//u//Vt++feXn56e2bdtq6NChevPNN1VaWurQc5Xfdi8/P9+h8wIAAABwLG5zBwAAAKDFSkpK0qhRo3T27FlJ0quvvqonn3zSxVW5TlZWlkaPHq0TJ06Y7+Xm5mr//v3av3+/4uLiHHp9Tp48KUnq3Lmzw+YEAAAA4HiESQAAAABapGPHjmnMmDE6f/68bDab/vKXv2jBggWuLstliouLNXHiRDNIuueeexQdHa3Q0FCdOnVKa9euVXx8vC5evOiQ87377rvKzs6WJE2aNMkhcwIAAABwDsIkAAAAAC3OV199pddff10XL16UzWbTG2+8oYceesjVZblUTEyMEhMTJUnz5s3TG2+8Ye7r37+/pk6dqrlz5+rtt9+2e8709HTzuUiSVFJSonPnzmn79u1au3atJCkyMlJPP/20gz4FAAAAAGcgTAIAAADQ4nz44Yfm9tq1a1t8kCSVhUmS1KFDB61ataraMa+99pq2bt2qCxcu2DXnnDlzLPcFBAToj3/8ox599FHdfPPNdS8YAAAAQKNxc3UBAAAAANDYbDabub1lyxYVFha6sBrXy8rKUlJSkiRp5syZatWqVbXj/P39NXPmTIec88cff9Q777yjzZs3O2Q+AAAAAM5DmAQAAACgxYmOjlavXr0kSdu3b9evfvUrFRcXu7gq1zl27Ji5PXDgwBrHDho0yO55d+/eLcMwzK/S0lJdvnxZCQkJmjp1qtLS0jRv3jw988wz9a4dAAAAgPMRJgEAAABocdq1a6fPPvtM3bp1kyTFxcVp1qxZKi0tddo5K66GspdhGE6opKpLly6Z2+3bt69xbIcOHep9HpvNpoCAAA0fPlxxcXH69a9/LUlauXKlPv/883rPCwAAAMC5CJMAAAAAtEgdO3bU559/ri5dukiS3n//fT300ENOC3B8fX3N7dzcXLuOycnJkST5+fk5paZyFT9zbaGXI6/P008/bW7/7W9/c9i8AAAAAByLMAkAAABAixUaGqpdu3YpODhYkvT222/rsccec8q52rRpY26fPXvWrmPKx1U81hkqzn/u3Lkax54/f95h542MjDS3K95qDwAAAMCNhTAJAAAAQIsWHh6uXbt2mbd3e/31153yDJ/bb7/d3D5y5Eit48+dO6fMzMwqxzpDnz59zO3Dhw/XOLa2/XVR8TlVRUVFDpsXAAAAgGMRJgEAAABo8SIjI7Vz505zhc7KlSu1dOlSh57jjjvuMOePi4tTfn5+jePfe+89c3v06NEOreV6wcHB6tmzpyRp06ZNysvLq3ZcTk6ONm7c6LDzVgymQkNDHTYvAAAAAMciTAIAAAAAla3++fTTT3XTTTdJkpYtW6YVK1Y4bH5PT0/NmzdPknTmzBk98cQTls8fOnbsmP70pz9Jkvz9/TV79myH1WElOjpaUtmt9RYtWlTtmCeffNJht7krKCjQ888/b77+xS9+4ZB5AQAAADieh6sLAAAAAIAbxYABA/TJJ59o3LhxysnJ0eLFi9WqVSstWLDAIfP/4Q9/0EcffaSkpCS98cYbSkxM1Ny5c9WnTx/5+PjozJkz2rlzp9avX6/c3FxJ0tq1a3XzzTc75Pw1iY6O1jvvvKPExETFxMQoPT1dDz/8sEJDQ3X69GmtXbtWO3bs0MCBA+2+1V16erqCgoIqvXflyhUdPXpUa9eu1TfffCNJ6tatm+bPn+/wzwQAAADAMQiTAAAAAKCCoUOHasuWLZowYYLy8/P12GOPydfXV3Pnzm3w3H5+ftq1a5fuv/9+7d+/X4cOHdKhQ4eqHevj46PXX39dDzzwQIPPaw8PDw9t27ZNo0aN0rfffqv4+HjFx8dXGnPPPfdo0aJFGjdunF1zzpkzp9Yxffv21YcffihfX9961Q0AAADA+bjNHQAAAABcZ9SoUYqLi5OXl5cMw9C8efMqPcOoITp27Kh9+/Zpy5Yt+u1vf6vw8HD5+/vL09NT7dq107Bhw7R06VKlp6c7JMCqi+DgYCUmJuqFF15Q79695evrq8DAQA0ePFhr167V9u3b5eXl1aBztGrVSmFhYZo2bZref/99ffnllwoLC3PMBwAAAADgFDbD6ibdAAAAAIAmLTY2Vg8++KCkslvONeXQ5uTJk7r11lslSe+8806jPEcKAAAAQBlucwcAAAAALcB3332na9euSZJCQkIUGBjo2oLscPnyZWVkZEiSsrKyXFwNAAAA0HIRJgEAAABAC1DxOUdNZWXPhx9+aK6sAgAAAOA6PDMJAAAAAAAAAAAAlnhmEgAAAADY4euvv67XcU3llnIAAAAAYIUwCQAAAADsYLPZ6nVcU7mlHAAAAABY4TZ3AAAAAAAAAAAAsOTh6gIAAAAAoCngpg4AAAAAWipWJgEAAAAAAAAAAMASYRIAAAAAAAAAAAAsESYBAAAAAAAAAADAEmESAAAAAAAAAAAALBEmAQAAAAAAAAAAwBJhEgAAAAAAAAAAACwRJgEAAAAAAAAAAMASYRIAAAAAAAAAAAAsESYBAAAAAAAAAADAEmESAAAAAAAAAAAALBEmAQAAAAAAAAAAwBJhEgAAAAAAAAAAACwRJgEAAAAAAAAAAMASYRIAAAAAAAAAAAAsESYBAAAAAAAAAADAEmESAAAAAAAAAAAALBEmAQAAAAAAAAAAwBJhEgAAAAAAAAAAACwRJgEAAAAAAAAAAMDS/wcN6zictdPz2gAAAABJRU5ErkJggg==", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "def save_fig_tex(fname, title):\n", - " global files\n", - " files += '\\input{\"mereni/komora1/' + fname + '\"}\\n'\n", - " with open(f'{fname}.tex', 'w') as f:\n", - " f.write(r'''\n", - "\\begin{figure}[H]\n", - " \\begin{center}\n", - " \\includegraphics[width=1\\textwidth]{\"mereni/komora1/''' + fname + '''.png\"}\n", - " \\end{center}\n", - " \\caption[''' + title + ''']{''' + title + '''}\n", - " \\label{fig:'''+fname+'''}\n", - "\\end{figure}''')\n", - "\n", - "def stat_msgsi(x, y, title):\n", - " fig = plt.figure(figsize=(10,6), dpi=200)\n", - " \n", - " plt.plot(mdf0[x], mdf0[y], 'x-')\n", - " plt.plot(df0[x], df0[y], 'x-')\n", - " \n", - " plt.grid()\n", - " plt.xlabel(x)\n", - " plt.ylabel(y)\n", - " plt.legend(['LTE-M', 'NB-IoT'])\n", - " ttitle = f'nRF9160 {title}'\n", - " plt.title(ttitle)\n", - " plt.savefig(f'both60{title.replace(\" \", \"\")}.png')\n", - " save_fig_tex(f'both60{title.replace(\" \", \"\")}', title)\n", - " plt.show()\n", - "\n", - "files = ''\n", - "stat_msgsi('K_U [dB]', 'SNR [dB]', 'Signal-Noise Ratio to attenuation')\n", - "stat_msgsi('K_U [dB]', 'RSRP [dBm]', 'Reference Signal Received Power to attenuation')\n", - "stat_msgsi('K_U [dB]', 'Ready I [mA]', 'Ready current to attenuation')" - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "id": "019310de-def7-4793-aa6d-e84168c87663", - "metadata": {}, - "outputs": [], - "source": [ - "def stat(x, y, title):\n", - " fig = plt.figure(figsize=(10,6), dpi=200)\n", - " for df in [mdf0, mdf64, mdf1024]:\n", - " df = df.sort_values(x)\n", - " plt.plot(df[x], df[y], 'x-')\n", - " plt.grid()\n", - " plt.xlabel(x)\n", - " plt.ylabel(y)\n", - " plt.legend(['LTE-M 0B', 'LTE-M 64B', 'LTE-M 1024B'])\n", - " ttitle = f'nRF9160 LTE-M {title}'\n", - " plt.title(ttitle)\n", - " plt.savefig(f'ltem60{title.replace(\" \", \"\")}.png')\n", - " save_fig_tex(f'ltem60{title.replace(\" \", \"\")}', ttitle)\n", - " plt.show()\n", - " \n", - " fig = plt.figure(figsize=(10,6), dpi=200)\n", - " for df in [df0, df64, df1024]:\n", - " df = df.sort_values(x)\n", - " plt.plot(df[x], df[y], 'x-')\n", - " plt.grid()\n", - " plt.xlabel(x)\n", - " plt.ylabel(y)\n", - " plt.legend(['NB-IoT 0B', 'NB-IoT 64B', 'NB-IoT 1024B'])\n", - " ttitle = f'RF9160 NB-IoT {title}'\n", - " plt.title(ttitle)\n", - " plt.savefig(f'nbiot60{title.replace(\" \", \"\")}.png')\n", - " save_fig_tex(f'nbiot60{title.replace(\" \", \"\")}', ttitle)\n", - " plt.show()\n", - " \n", - " fig = plt.figure(figsize=(10,6), dpi=200)\n", - " for df in [mdf0, mdf64, mdf1024, df0, df64, df1024]:\n", - " df = df.sort_values(x)\n", - " plt.plot(df[x], df[y], 'x-')\n", - " plt.grid()\n", - " plt.xlabel(x)\n", - " plt.ylabel(y)\n", - " plt.legend(['LTE-M 0B', 'LTE-M 64B', 'LTE-M 1024B', 'NB-IoT 0B', 'NB-IoT 64B', 'NB-IoT 1024B'])\n", - " ttitle = f'nRF9160 LTE-M and NB-IoT {title}'\n", - " plt.title(ttitle)\n", - " plt.savefig(f'both60{title.replace(\" \", \"\")}.png')\n", - " save_fig_tex(f'both60{title.replace(\" \", \"\")}', ttitle)\n", - " plt.show()\n", - "\n", - " print()\n", - " print()\n", - " print()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "id": "15cd6210-b693-4b44-a3f2-34d68adb9c15", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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pk0r0N7Dw0Nvv/22hg8fbm574YUXyvIwUILatWurX79+knJHgMXFxZV4TP6p+2wdPQgAAAAAQGEIpQAAQJXVoEEDDRs2zFzftGlTud17qTjJycn67rvvzPXJkycXGxo9+uij5j05YmNj9eOPPxbZtkWLFqpVq1a51Srljur69NNPJeVOWzh//nxVq1atTH3OnTtXV65ckSS1bNlSjzzySJFt3377bbm45P6zdPPmzdq5c2eZzo3ijR492lz+7LPPim17+fJlrVixQlJuuNqhQwdHlgYAAAAAqOIIpQAAgMPk3UzaYrGY2+Li4jRx4kSFhobK19dXfn5+6tChg1544QUlJiaWew2dOnUyl1NTU3X+/PlyP8fVtm/fbo6ScnV11W233VZsexcXF91+++3muj33vioPH3/8sbn817/+VQ0bNixzn3lBhvTnjd2L0qhRI6t7gy1fvrzM50fR+vfvb96v6vPPPy82qF26dKlSUlIkXZujpEJCQsxrTN50awcPHtQ//vEPderUSQEBAXJxcVHHjh0LHBsTE6P33ntPQ4YMUatWrVS9enW5u7srICBAXbp00VNPPWXzVIW9e/c268ibru7cuXOaMmWKwsPDVadOHXl7e6tp06YaO3as9u7da1O/mZmZ+vzzzzVkyBA1bdpUvr6+8vT0VP369dW+fXv1799f7777bpH9rVu3zqyrd+/e5vYVK1Zo0KBBaty4sTw9PRUQEKC7775bmzZtKtBHenq65s6dqz59+qhBgwby8vJSSEiIxo0bp6NHj5bqubl636uvvmpue/XVV63+duT9jBkzxqbnLM+RI0fMY/PX2aRJk0L7v7q2wl5btjy2kydP6p///Kc6dOigWrVqycvLS23bttW//vUvM6jPLyYmRuPHj9cNN9wgX19f1apVSz179tScOXPs/hJFdHS0nnrqKXXs2FEBAQHy8PBQUFCQevXqpSlTppTL3785c+bIYrGoSZMm5rajR48W+pwWd903DENLlizRyJEj1axZM/n6+srX11fNmjXTX/7yFy1dutQhXyIpj/d93msj/yjSBx98sNDHnzftW2mOKUxmZqbmzZune++9V02bNlX16tXl4+OjJk2aaOTIkVq+fHmJz1tR14U1a9ZoxIgRatq0qby8vFS7dm317NlTH3zwgflvGnv7LI4trxMp9/U1Y8YMjRw5Um3b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VGVuzi4AAADA0dzd3fXCCy9o/PjxknI/FJg8ebL5gZqj/Pzzz/rwww/l5+enzp07q3HjxnJ1ddXp06e1adMmq28733777VbhTFFOnTpl9eFangMHDpjLH3/8sVasWGG1v379+vr222+L7HfKlCnasWOHNm7cqJSUFN17770KDQ1VeHi4XF1d9dtvv2n79u1m+3r16mnx4sXFfrD0z3/+U7/88ovWrFmj1NRUDR8+XK+99prCwsKUlpamDRs26PTp02b7V199Vb169SrxObDXV199pY4dO9rc/tFHH3XIN5f379+vxx57zK5jXnjhBfODLpSPf/7zn1q5cqVSU1N15MgRde3aVd26dVPLli2VkZGhzZs36/Dhw5Kkhx9+WPv27St2ZIUjZGZmauHChVq4cKG8vb3Vvn17NW3aVH5+fjp//rwOHjxo9X709vbWO++8U6E1lqfw8HA1atRIx44dU3x8vFq3bq3bbrtNderUMa8x4eHhVh/m2uOee+4xR93MmDFDO3bsUFhYmKpVq2a2GT9+vJo1a1b2B1OBXF1dtXjxYt16663auXOnGfT/61//UteuXdWoUSN5eHjo/Pnz2rdvn/744w8z6LnnnnvKfP577rnH/JLH/fffr7lz56p58+bmyFtJVq9LDw8PLViwQL169dLZs2cVHx+vm2++WR06dDCv0bt27dLu3bvNYwIDA7VgwQKrPkvDEe/7O++8U9WqVVNKSop2796t0NBQ9e7dWzVr1jRft7fddptuu+22Mh3Ttm1bLViwQMOHD1dKSori4uJ06623Kjg4WOHh4apTp44yMjJ09uxZ7d69u8LvL5bniSee0Mcff6xTp07pwoUL6tmzp7p3767WrVsrLS1N27ZtU2xsrKTc6esefPDBYvt76qmnNGvWLJ09e1bnz5/XHXfcobCwMLVp00YWi0U7duwwR77ffvvtCgwM1Lx584rt01HXmlq1aumLL77QnXfeaf6OwsLCFBkZqTZt2igjI0Nbt27V/v37zWNatGihWbNm2XUeAACqDAMAAMBBJJk/tujVq5fZfu3atYW2GT16tNlm9OjRNteSnp5uNGzYsNhjZ8+ebe5v3LixzX0XpVWrVlbPQWE/np6exssvv2ykpaXZ1Ofhw4dL7LOwH1sez4ULF4yRI0eW2FdkZKRx7Ngxm+q9cOGCce+99xbbn7u7u/H6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mCaGTTTXbQmm8gdSkjQxbGKVnMKvqnjggQckSQsWLCjyPfvZZ59Jkvr37y9/f/8Kq604hmFo5cqVkqTWrVsXOQqya9euatWqlSRpxYoVRQbTxaldu7bat28vSeY0n8XJysrSww8/rOzsbD3//PNq2bKl3ecsSf5RoeU9nSIAAAAA4PpRzb1aodtredbSrY1v1UuRL2nl3Su1ethqTek5RUNaDFFw9eBC79sMALg2XJeh1OOPP67GjRvriSee0IIFC7R582bt2rVLP//8s1566SXdcMMN2rkzd1hwjx49Cg2lWrZsqWeeeUZS7qiD7t27a9GiRdq2bZsWLVqk7t27a9u2bZKkZ599Vi1atCi0lmeffdb8UHjSpEkaN26c1q5dqy1btujNN9/UbbfdpqysLHl7exc6kuJ6N7bdWJuDqcICKXum/EPFGzlypNzc3HT27Fn98MMPBfafP39eq1atkvRngHUtOHz4sE6ePCkpN0wuTt7+EydO6MiRI6U6X3p6uiTJxaXkS/rUqVO1a9cutWjRQi+88EKpzleS/I+jUaNGDjkHAAAAAKBqy87JLvIznlE3jNLU3lM1vPVwNa3RlBAKACqR6/aeUqdOndL06dPN6bMKc8899+jTTz+Vp6dnoftff/11JSQk6H//+5927typESNGFGgzduxYvfbaa0Weo3r16lq1apX69eun/fv3a+bMmZo5c6ZVGz8/P82fP18dO3a07cFdZ66eZzjvv/kDJwKpyikgIEC33367Vq1apXnz5ql///5W+xcvXqz09HTVqlVL/fv316+//uqkSq3FxMSYy61bty62bf79MTExdt+7KiEhwTxfSec6fPiwXn31VUnSRx99VOS1razyj/ocOHCgQ84BAAAAAKjaXvn1FV3KuFTovvd3vC+LLHy2AwCV0HUZSs2dO1fr16/X5s2bdejQISUmJurSpUvy9fVVcHCwbrzxRo0ePVrdunUrth8XFxfNmjVL99xzj2bOnKno6GglJiaqTp06Cg8P17hx43TnnXeWWE/z5s21c+dOffjhh1qyZIkOHDigjIwMBQcHq1+/fnryySfVuHHj8nr4FS7HyNGF9AsOPcfgFoOVmpWqT377RFJuMJWalaq/hP5FX8R8YW6XpHHtx2lwi8E6l3auxH5zcnJ0Of2yJCkrLcumkSiSVNOzplwsVW8g4t69e0ts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a9euioqKUu/evdWqVSvVrFlThmFo7969mjNnjubMmZN35dO7776revXq5Zvl5ZdfVlxcnHbt2qWxY8cqOTlZMTEx8vPz0/Lly/XPf/5TTqdTfn5+mjBhgst/LwAAAAAAAOyw8/RObT251TSLbspVUgAAlGWWlFK9evVS586dlZ2drT179igsLExS7vOR/vrXv+r111/X2bNnNW9e7j2Er5Q5TzzxhB577DG3ZDpz5oymTp2qqVOnFrgmODhYn3zyie6///5831+7dq3Wrl1b4P7+/v4aP358ocVaxYoV9c0336hHjx7avXu3pkyZoilTppjWVKpUSTNnznTLVWMAAAAAAAB2iEuKM23X9KupriFdbUoDAACsYEkp5e/vrxUrVuT73rhx4/Sb3/xGH3/8sXbs2CGn06kmTZro8ccf14ABA9yS54cfftDSpUu1fPly7dy5U8ePH9fp06fl6+urWrVqqVWrVurVq5cGDx4sf/8bH6x5991367///a/Wrl2rjRs36ujRozp16pScTqeqVq2qFi1aqFu3bvr973+vmjVrFpmncePG2rJliz744APFx8crOTlZmZmZCgkJUY8ePfT888+rQYMG7vitAAAAAAAAsNyFzAv6Zu83ptnAiIHy8rDkW1UAAMAmJeLf9N26dVO3bt0sO19YWJjCwsL09NNP39L+FStW1JAhQzRkyBCXZQoICNDYsWM1duxYlx0TAAAAAACgJPo6+WtlZF993reXw0sDmwy0MREAALCCh90BAAAAAAAAUH7kGDk33LqvW4NuquFfw6ZEAADAKpRSAAAAAAAAsMz6o+u1/8J+0yw6ItqeMAAAwFKUUgAAAAAAALBMbGKsabtxlcZqW6utTWkAAICVKKUAAAAAAABgiWNpx7Ti8ArTLDoiWg6Hw55AAADAUpRSAAAAAAAAsET8rnjlGDl52/5e/uoV2svGRAAAwEqUUgAAAAAAAHC7rOwszd011zTrHdZbgT6BNiUCAABWo5QCAAAAAACA2y09uFSnM06bZtER0TalAQAAdqCUAgAAAAAAgNvFJsaatu+udbeaVG1iUxoAAGAHSikAAAAAAAC4VdKZJG0+sdk0i2kaY1MaAABgF0opAAAAAAAAuNXspNmm7ep+1dUtpJtNaQAAgF287Dy50+nU2bNnJUlVq1aVl5etcQAAAAAAAOBiqZmpWrB3gWk2MHygvD29bUoEAADsYvmVUjt27NDo0aPVrFkz+fr6qnbt2qpdu7Z8fX3VrFkzjR49Wtu3b7c6FgAAAAAAANxgwZ4FSnem5217Ojw1oMkAGxMBAAC7WFZK5eTkaMyYMWrVqpUmTZqkpKQk5eTkyDAMGYahnJwcJSUladKkSWrdurVeeOEF5eTkWBUPAAAAAAAALmYYhuKS4kyzriFdVTugtk2JAACAnSy7X15MTIzmzp0rwzAkSS1atFD79u1Vq1YtGYahEydOKCEhQdu3b1d2drb+85//6MiRI4qLiyviyAAAAAAAACiJEo4laO/5vaZZTNMYm9IAAAC7WVJKffHFF5ozZ44cDofuuusuTZkyRe3atct37caNG/X0009ry5YtmjNnjmJjYxUTw19WAAAAAAAASpvYpFjTdqPKjdS+dnub0gAAALtZcvu+qVOnSpLCw8O1evXqAgspSWrbtq1WrVqliIgIGYahjz76yIqIAAAAAAAAcKHjace17OAy0yw6IloOh8OmRAAAwG6WlFK//PKLHA6H/vSnPykgIKDI9QEBAfrTn/4kSdq6dau74wEAAAAAAMDF5u6eq2wjO2/bz8tPfcL62JgIAADYzZJSKjMzU5LUsmXLYu9zZW1WVpZbMgEAAAAAAMA9snKyNGfXHNOsZ2hPVfSpaFMiAABQElhSSjVo0ECSdP78+WLvc+HCBdO+AAAAAAAAKB2WHVymk+knTbOYCJ4ZDgBAeWdJKTVgwAAZhqG5c+cWe585c+bI4XCof//+bkwGAAAAAAAAV4tLijNtt67ZWhFBETalAQAAJYUlpdQf//hHhYaG6qOPPtLs2bOLXD9nzhx99NFHatSokV566SULEgIAAAAAAMAVks8mK+FYgmkWHRFtUxoAAFCSWFJKVa5cWUuXLlWbNm306KOPql+/fvryyy+VkpKirKwsOZ1OpaSk6Msvv1T//v0VHR2tNm3a6IcfflDlypWtiAgAAAAAAAAXuP4qqSDfID3Q4AGb0gAAgJLEy4qTeHp65r02DEMLFizQggULClxvGIY2btyo0NDQAtc4HA45nU6X5gQAAAAAAMCtS8tK04K95u/5DGgyQD6ePjYlAgAAJYklpZRhGIVuF2cfAAAAAAAAlGwL9yxUWlZa3raHw0ODwgfZmAgAAJQklpRSf/vb36w4DQAAAAAAAGxiGIZik2JNsy7BXVQnsI5NiQAAQElDKQUAAAAAAIDbtun4JiWfSzbNYiJibEoDAABKIg+7AwAAAAAAAKD0i0uKM203qNRAkXUjbUoDAABKIkopAAAAAAAA3JZT6ae09MBS02xw+GB5OPjWEwCgBDmw1tr9cAP+ZgAAAAAAAIDbMmfXHDkNZ962r6ev+jbua2MiAACus/xNaXp3afX4m9tv9fjc/Za/6Z5c5YxLnyn12Wef5b1+/PHH853fimuPBQAAAAAAgJLDmeNU/K5406xHaA9VrlDZpkQAAFznwFpp5b9yXy8dl/vrPS8Uvd/q8VfXr/yXFHqv1CDKDQHLD5eWUsOGDZPD4ZDD4TAVSVfmt+L6YwEAAAAAAKDkWHFohU5cOmGaRUdE2xMGAID8NIiS7h93tWAqTjF1bSEl5e5PIXXbXFpKSZJhGDc1BwAAAAAAQOkVmxRr2m5Zo6WaV2tuUxoAAApwpYC6vpi6e+SNa/MrpIpzZRWK5NJSat++fTc1BwAAAAAAQOm19/xerT+63jSLiYixKQ0AAEXIp5jyysqSFHF1DYWUW7m0lGrQoMFNzQEAAAAAAFB6zU6abdquWqGqHmz4oE1pAAAohuuKKe+Vb6hx3cE6VbG5vFb/W/rpnatrKaRczuW378vPwYMHJUmBgYEKCgqy4pQAAAAAAABwo0tZl/RV8lemWf8m/VXBs4JNiQAAKKbriqkWR/7vhyySrllDIeUWHlacpGHDhmrUqJFiY2OLXgwAAAAAAIASb9G+RbqYdTFv2yGHBoUPsjERAADFlJUu+VaW/Kvl/z6FlNtYcqWUn5+fMjIy1K5dOytOBwAAAAAAADcyDEOxieYfPu4c3FnBFYNtSgQAQDFcPCklTJUSPpYunc5/jU8AhZQbWXKlVL169SRJ2dnZVpwOAAAAAAAAbrT15FYlnU0yzaIjom1KAwBAEU7ukr5+ThrfQlr5VsGFlCRlpkmrx1uXrZyxpJR68MHcB1yuXr3aitMBAAAAAADAjWYlzjJtBwcGq1O9TjalAQAgH4Yh7ftRmjlY+qCdtPlTKftygcudHtc8E3HpOIopN7GklHr++efl5+end999VykpKVacEgAAAAAAAG5wOv20lhxYYppFR0TLw2HJt5kAAChcdpb0S7w0pYv0aS9p93dF7rKjzmB9c9dUZXV55eqQYsotLPnbQpMmTfTFF1/o0qVLioyM1BdffKHMzEwrTg0AAAAAAAAXmp88X84cZ952Bc8K6te4n32BAACQpIzz0k//kd5rJc37vXR0a/7rHJ6mzawuryi5di9JkjNytHT/uKtvUky5nJcVJ7nvvvskSTVq1NC+ffv0u9/9TsOHD1eTJk1UtWpVeXp6Frivw+HQDz/8YEVMAAAAAAAAFCI7J1uzk2abZt0bdlcV3yr2BAIA4Nwhaf2H0qZPpczUgtf5VpFq3ynt//Hq7P5xct49UlpyzRXA97yQ++vSceZfr8xxWywppVasWCGHw5G3bRiGLl++rO3btxe4j8PhkGEYpv0AAAAAAABgn1WHV+lo2lHTLKZpjE1pAADl2pEt0pr3pR3zJSO74HVVG0lRz0rpZ6Tl/7w6v39cbtGUnn7jPhRTbmNJKdW5c2fKJQAAAAAAgFIuNinWtN2iWgvdUf0Om9IAAMqdnJzcZ0SteV86sLrwtSEdpI6jpYge0qEN0vTuV9+7UkgVJr9iKiRSahB1i+EhWXilFAAAAAAAAEqvAxcOaM2RNaYZV0kBACyRlS5tjZXWfiCd3l3wOoeH1Ky3FDVaCml3dd4gSuryZ2nlv4pXSF1xbTHV5c8UUi5gSSkFAAAAAACA0u36Z0lVrlBZ3Rt2L2A1AAAucPGklPBx7j+XThW8zjtAav1bKfIZKahR/mu6/o8Ueu/NF0v3vMAVUi5kSSl18OBBSVK9evXk6elZrH2ys7OVkpIiSapfv77bsgEAAAAAAKBw6c50zU+eb5r1b9xfvl6+NiUCAJRpp3ZLa9+Xfp4lZV8ueF1gbanD01LbJyS/qkUf91aLJQopl7GklGrYsKE8PDz0yy+/qHnz5sXaZ//+/WrSpIk8PDzkdDrdnBAAAAAAAAAFWbxvsVIzU02zweGDbUoDACiTDEM68JO0ZqK0a3Hha2u2kDqOku4YKHn5WJMPLmHZ7fsMw7B0PwAAAAAAANw+wzA0K3GWadapXieFVAqxKREAoEzJzpJ+/Sq3jDr6c+Frw7rlllGhXSWHw5J4cK0S+0ypK2WUh4eHzUkAAAAAAADKr22ntmnnmZ2m2aMRj9qUBgBQZmRckDZ/Jq2bLF04XPA6D2+p5WAp6lmpVgvr8sEtSmwpdfToUUlSxYoVbU4CAAAAAABQfsUlxZm26wbU1T317rEpDQCg1Dt/OLeI2vyZdPlCwet8q0htn5Taj5Aq1bEsHtzL0lLKUYzL6bKysrRnzx698cYbkqSIiAh3xwIAAAAAAEA+zmac1eJ95ud6DI4YLE8PT5sSAQBKrSNbpDXvSzvmS0Z2weuqNpQin5VaD5F8AiyLB2u4pZTy9LzxLyaGYeiOO+64qeM4HA4NHDjQVbEAAAAAAABwE+Ynz1dmTmbetreHt/o36W9jIgBAqZKTI+1eIq19X9r/Y+Frg9vnPi+qaS+JH34os9xSSl15HlRx5wUZPHiwxowZ44JEAAAAAAAAuBnZOdmanTTbNHuo4UMK8g2yKREAoNTIypB+iZXWfiCd2lXwOodHbgnVcbQU0t66fLCNW0qpv/3tb6bt1157TQ6HQyNHjlTNmjUL3M/hcMjX11d16tRRx44dFRYW5o54AAAAAAAAKMJPR35SysUU0yymaYxNaQAApULaKSnhY2nDVOnSqYLXeftLrX8rRT4jBYValw+2s6yUkqRnn31WzZs3d8cpAQAAAAAA4EKxibGm7WZBzdSyekub0gAASrRTu3Ovito6S3JmFLwusJbU4Wnp7ickf668LY/cUkpdb/r06ZKk4OBgK04HAAAAAACA23Ao9ZBWp6w2zWKaxsjhcNiUCABQ4hiGdOAnac370q5vC19bs7kUNUq6c6DkVcGafCiRLCmlhg4dasVpAAAAAAAA4ALxSfEydPXZ4BW9K+rhRg/bmAgAUGJkO6Vfv5TWvi8d2VL42tCuuc+LCrtP4gcbIItKqYKcPHlSkydPliT99a9/tTMKAAAAAAAAJGU4MzQveZ5p1rdxX/l5+dmUCABQImRckLZ8Lq2bLJ0/VPA6D2/pzkFS1LNS7Tusy4dSwdZS6sSJExo3bpwcDgelFAAAAAAAQAnw3f7vdP7yedMsOiLapjQAANudPyyt/1Da9Kl0+ULB63wrS22flNo/LVWqY10+lCq2llIAAAAAAAAoWeKS4kzbUXWi1LByQ3vCAADsc+Tn3Fv07Zgv5TgLXlelQe5VUa2GSBUCLYuH0olSCgAAAAAAAJKkHad2aNupbaZZTNMYm9IAACyXkyMlfy+tmSjt/7HwtcHtpKhRUrPekoenNflQ6lFKAQAAAAAAQJIUmxRr2q4dUFudgzvblAYAYJmsDOmXOGntB9KppEIWOqRmvaSo0VL9DpbFQ9lBKQUAAAAAAACdv3xe3+771jQbFD5IXh58+wgAyqy001LCx1LCVCntZMHrvP1zb88X+YxULcy6fChz+FsFAAAAAAAA9GXyl7qcfTlv28vDS480ecTGRAAAtzmVLK37QPp5luRML3hdYC2p/Qip7ZOSf5B1+VBm2VpKBQQEqHPnznI4HHbGAAAAAAAAKNdyjBzFJcWZZg80eEDV/arblAgA4HKGIR1YI619X0r6VpJR8NoazaSOo6Q7B0leFSyLiLLP1lKqYcOGWrFihZ0RAAAAAAAAyr01R9boUOoh0ywmIsamNAAAl8p2Sju/kta8Lx3ZXPja0HuljqOlsG4SF5PADbh9HwAAAAAAQDkXl2i+Siq8arha12xtUxoAgEtcTpU2fy6tmyydP1jwOg9v6c6BUtSzUu07rcuHcolSCgAAAAAAoBxLuZiilYdXmmbREdE8bgEASqvzKdL6D6VNn0qXzxe8zrdy7rOi2o+QKtW1Lh/KNZeWUp999pkrD5fn8ccfd8txAQAAAAAAyrv4pHgZ1zxXJNA7UL1Ce9mYCABwS45uzb1F3455Uo6z4HVVGkiRf5Ba/1aqEGhdPkAuLqWGDRvm8p+icTgclFIAAAAAAABukJmdqXm755lmfcL6yN/b36ZEAICbkpMjJS+V1k6U9q0qfG29tlLHUVLT3pInN1GDPVz+vzzDMIpeBAAAAAAAANstObBEZy+fNc2iI6JtSgMAKLasDGnb7Nwro04lFbLQITXtKXUcLYV0kLg1K2zm0lJq3759Bb539uxZPf3000pISNAdd9yhoUOHqn379qpVq5YMw9CJEyeUkJCgTz/9VNu2bVP79u310UcfqUqVKq6MCAAAAAAAgP8Tmxhr2u5Qu4NCq4TalAYAUKS009LGadKGKVLayYLXeflJrYfk3qavWph1+YAiuLSUatCgQb7zzMxMDRw4UJs3b9brr7+uV1555Ybb/EVEROg3v/mNXnjhBf3zn//UX/7yFz311FNavXq1KyMCAAAAAABA0s7TO7X15FbTLLopV0kBQIl0eo+09gPp5y8kZ3rB6wJqSh1GSG2HS/5B1uUDismSG0dOnDhRmzZt0uDBg/Xqq68WutbhcOiVV17Rtm3bFB8fr/fee08vv/yyFTEBAAAAAADKjbikONN2Tb+a6hrS1aY0AIAbGIZ0cG3uLfqSFkkq5NE5NZpKUaOkOwdJ3r6WRQRulocVJ/niiy/kcDg0bNiwYu/zxBNPyDAMxcbGFr0YAAAAAAAAxXYh84K+2fuNaTYwYqC8PHjwPQDYLtspbZ8nfdxNmv6wlPSNCiykGnWRhsyV/rBOavM7CimUeJb8TWPPnj2SpFq1ahV7n5o1a5r2BQAAAAAAgGt8nfy1MrIz8ra9HF4a2GSgjYkAALqcKm3+XFo/WTp3sOB1Hl7SHQOlqGelOi2tywe4gCWllGHktri7d+9W69ati7XP7t27TfsCAAAAAADg9uUYOTfcuq9bg26q4V/DpkQAUM6dT5E2fCRtnCFdPl/wugqVpbbDpPZPS5XrWZUOcClLSqlmzZopISFBEyZM0MCBA+XhUfhdA3NycjR+/Pi8fQEAAAAAAOAa64+u1/4L+02z6Ihoe8IAQHl29Bdp7fvS9rlSjrPgdZXrS1F/kFr/VqpQ0bp8gBtY8kyp3/3udzIMQ+vXr1e/fv107NixAtceP35cjzzyiNavXy+Hw6HHH3/ciogAAAAAAADlQmyi+fndjas0VttabW1KAwDljGFIu7+XPu0jffQb6Ze4ggupendLA6dLz22RIp+hkEKZYMmVUs8884xmzZqlNWvW6JtvvlFoaKgefPBBtWvXTjVr1pTD4dDx48eVkJCgJUuW6PLly5KkTp06aeTIkVZEBAAAAAAAKPOOpR3TisMrTLPoiGg5HA57AgFAeeG8LP0yO/fKqJOJhSx0SE17SlGjpPqREp/PKGMsKaU8PDy0ePFiPfbYY1q4cKEyMjK0YMECLViw4Ia1V54h1bt3b82cObPIW/0BAAAAAACgeOJ3xSvHyMnb9vfyV6/QXjYmAoAy7tIZKWGatGGKlHai4HVeflKrx6SoZ6VqYdblAyxmSSklSYGBgfr666+1YMECffjhh1q5cqUuXbpkWuPv768uXbromWeeUa9e/IUIAAAAAADAVbKyszR311zTrHdYbwX6BNqUCADKsNN7pHWTpC0zJWd6wesCakjtR0hth0sB1azLB9jEslLqit69e6t3797Kzs7Wnj17dPbsWRmGoaCgIIWFhcnT09PqSAAAAAAAAGXe0oNLdTrjtGkWHRFtUxoAKIMMQzq0XlozUUr8RpJR8NoaTXOvirpzsOTta1lEwG6Wl1JXeHp6Kjw83K7TAwAAAAAAlCuxibGm7btr3a0mVZvYlAYAypBsp5S4QFrzvpSysfC1jTpLHZ+TwrpJPLoG5ZBtpRQAAAAAAACskXQmSZtPbDbNYprG2JQGAMqIy6nSlv/m3qbv3MGC13l4SXcMyL0yqs5d1uUDSiBKKQAAAAAAgDJudtJs03Z1v+rqFtLNpjQAUMpdOCKt/0jaNF3KOF/wugqVpbuHSh1GSpXrWZcPKMEsLaVOnz6t//73v/rxxx+1d+9epaamKjs7u9B9HA6H9uzZY1FCAAAAAACAsiU1M1UL9i4wzQaGD5S3p7dNiQCglDq2LfcWfdvnSjlZBa+rXF+KfEZq8zupQkXr8gGlgGWlVHx8vEaMGKELFy5IkgyjkIe8XcPhcLg8y4ULF7Ro0SIlJCRo48aNSklJ0cmTJ5Wenq4qVaqoefPm6tGjh4YPH65q1aoVebzFixdrypQp2rBhg06ePKkaNWqoffv2GjFihLp3716sTJcuXdIHH3yg+Ph4JScnKzMzUyEhIerZs6eee+451a9f/3a/bAAAAAAAUA4t2LNA6c70vG1Ph6cGNBlgYyIAKEUMQ0r+QVo7Udq7ovC1ddtIHUdJzfpKntykDMiPJf/PWL9+vR577DHl5OTIMAzVrVtXrVu3VlBQkDxseJjbhg0b9Oijj+b73smTJ7Vy5UqtXLlS77zzjv773//qoYceynetYRgaOXKkpkyZYpqnpKRo/vz5mj9/vkaMGKEPP/yw0HJtz5496tmzp5KSkkzzxMREJSYm6uOPP9YXX3yhHj163ORXCgAAAAAAyjPDMBSXFGeadQ3pqtoBtW1KBAClhPOytC0+98qokzsLWeiQInrkllH1oyQ3XGQBlCWWlFJvvfWWsrOz5efnp6lTp+qxxx6z4rSFCgkJUdeuXXX33XcrJCREderUUU5Ojg4fPqw5c+Zo3rx5OnXqlPr06aOEhAS1bNnyhmO8+uqreYVU69atNXbsWIWFhWnPnj16++23tWXLFk2ZMkU1atTQP/7xj3xzXLx4Ub169corpJ566inFxMTIz89Py5cv15tvvqnz589r0KBBWrt2bb45AAAAAAAA8pNwLEF7z+81zWKaxtiUBgBKgUtnpI3TpA1TpYvHC17n5Su1ekyKfFaq3ti6fEApZ0kptWbNGjkcDv35z38uEYVU165ddfDgwQLfHzx4sL788kv1799fmZmZeu211zR37lzTmuTkZL399tuSpLZt22rVqlXy8/OTJLVr1059+vRRly5dtHHjRr311lt64oknFBYWdsO53n33XSUmJkqS3n77bb388st570VFRalr167q3LmzLl26pDFjxmjZsmW3/fUDAAAAAIDyITYp1rTdqHIjta/d3qY0AFCCnd4jrZss/TxTyrpU8LqAGlL7EVLb4VJA0Y9+AWBmyb3zzp07J0kF3gbPap6enkWu6devn5o2bSpJWrVq1Q3vjx8/Xk6nU5I0ceLEvELqCn9/f02cOFGS5HQ6NWHChBuOkZWVpffee0+S1KxZM7344os3rImKitLw4cMlScuXL9emTZuKzA4AAAAAAHA87biWHTT/cGt0RLRbnt8NAKXWwfVS7BBp4t1SwtSCC6nqEVLv/0hjtktdxlJIAbfIklKqTp06klTq/tITEBAgScrIyDDNDcPQV199JUlq2rSpIiMj890/MjJSERERkqQvv/xShmGY3l+xYkVeYTd06NACn681bNiwvNfz5s276a8DAAAAAACUP3N3z1W2kZ237eflpz5hfWxMBAAlRE62tONL6eP7pU8elBIXSjLyX9vwN9Jjs6U/rJPuHip5+1qZFChzLCml7r//fkkqVVf57Ny5Uz///LMk5V0xdcW+ffuUkpIiSerSpUuhx7ny/uHDh7V//37Tez/++OMN6/LTtm3bvIJs9erVxcoPAAAAAADKr6ycLM3ZNcc06xnaUxV9KtqUCABKgMsXpXUfSv9pLcUPlQ4n5L/Ow0u6c7A0YqU0bKEU/pBUwAUFAG6OJf9PevHFF+Xn56d3331XqampVpzylly6dEm7d+/W//7v/6pr167Kzs79aaLnn3/etG7nzp15r68vrK537fvX7nczx/Hy8sp7HtX1xwAAAAAAALjesoPLdDL9pGkWExFjUxoAsNmFo9LScdL45tLiP0nnDuS/rkIlqeNo6fmt0oCpUt1WVqYEygUvK07StGlTff755xoyZIjuv/9+ffLJJ2rRooUVpy7SjBkz9MQTTxT4/ksvvaQhQ4aYZocOHcp7HRwcXOjxQ0JC8t3v2u2AgABVqVKlyOP88ssvOnnypC5fvqwKFSoUuv5ahw8fLvT9o0eP5r1OT09Xenp6sY9d1l1768brb+MIAK7A5wwAd+NzBoA78RlTcs36dZZp+67qd6m+X33+mx+lDp8zuB2OE7/KK2GyPH/9Uo6crALX5VSqJ2fbEcpu+ZhU4f+uKOXzstzgcyZ/7vo7gyWl1JNPPilJatasmRISEtSyZUvdeeedatq0qfz9/Qvd1+FwaNq0aVbENGnVqpU+/PBDdejQ4Yb3rr3aKzAwsNDjXLntniRdvHgx3+MUdYz8jnMzpdS1xVhRVq1aperVqxd7fXmyatUquyMAKOP4nAHgbnzOAHAnPmNKjuPZx7Up1fwIhfBL4VqyZIlNiQDX4HMGxWIYqpG6TY1PLFbN1O2FLj3r30h7aj6sI1XayTjrKa1ca1FIlFR8zlx16tQptxzXklJqxowZcjgcknJLJsMwtG3bNm3btq3Q/QzDcHsp1a9fP7Vt21ZSbvO3Z88ezZ49W/Pnz9eQIUM0YcIE9erVy7TPtW2pj49Poce/tjy6vlm8cpyijlHUcQAAAAAAAK7YcHmDaTvAEaAW3iXjjjUA4C4eOVmqd3adwk4sVuWMQ4WuPVqptfbUelinAyKk//u+NQBrWFJK1a9fP6+UKmmqVKliunVeu3btFBMTo88//1xDhw5V3759NW3aNA0bNixvja+vb97rzMzMQo9/+fLlvNd+fn6m964cp6hjFHWcolx/28DrHT16VO3bt5ckde7cuchbEpYnGRkZee14586dTX/2AOAKfM4AcDc+ZwC4E58xJU9aVpreXPCmaTao6SD1uLOHTYmA28PnDIqUflZeP38mr03T5Eg7UeAyw8tX2XcMlrPtCFWp1lh3WxgRJRufM/kr6rFAt8qSUmr//v1WnMalfve732nhwoWaPXu2Ro0apb59+6pq1aqSpIoVK+atu/6WfNdLS0vLe339bfquHKeoYxR1nKLcTMnk5+d306VXeeHr68vvDQC34nMGgLvxOQPAnfiMKRm+PvC10pxXv4fg4fDQY80f488GZQKfMzA5s1daN1na8l8p61LB6/yrS+1HyNFuuLwCqlvzDXGUWnzOXOWu3wcPtxy1jOjbt6+k3ELo22+/zZtfW/IU1RZee5XS9c92unKctLQ0nTt3rljHqVGjxk09TwoAAAAAAJQPhmEoNinWNOsS3EV1AuvYlAgA3ODgeinut9J/2kgbphRcSFUPl3q/J72wXbr3T1JAdWtzAsgXxXAhatSokff6wIEDea+bN2+e9zoxMbHQY1z7frNmzUzvNW/eXHPnzs1bFxkZme8xnE6n9uzZk+8xAAAAAAAAJGnT8U1KPpdsmsU0jbEpDQC4UE62lLhQWvO+dHhD4Wsb/kbqOFpq/IDkwTUZQElDKVWIlJSUvNfX3jKvUaNGqlu3ro4cOaKVK1cWeowr96KsV6+eGjZsaHrvnnvuyXu9cuXKAkupjRs35t2+r1OnTjf1NQAAAAAAgPIhLinOtN2gUgNF1sn/ew0AUCpcvij9PFNaN0k6u7/gdQ5P6Y5HpKhRUt1WVqUDcAssKaUOHjx4W/vXr1/fRUluTnx8fN7rO++8M++1w+FQ3759NXnyZCUmJmrdunX5Fkrr1q3Lu1Kqb9++cjgcpvfvvfdeVa5cWefPn9enn36qsWPH3rBGkmbMmJH3un///rf7ZQEAAAAAgDLmVPopLT2w1DQbHD5YHg6uEgBQCqUek9Z/JG38RMo4V/A6n4rS3UOlDiOlKiEFrwNQYlhSSjVq1OiW93U4HHI6nS5Mk1vyxMTEyNfXt8A148eP16JFiyRJDRs2NF3VJEljxozR1KlT5XQ6NXr0aK1atcr04K/09HSNHj1akuTl5aUxY8bccA4fHx8999xz+vvf/66dO3fq3Xff1csvv2xas3btWk2bNk2S1KVLF7Vr1+6WvmYAAAAAAFB2zdk1R07j6vdPfD191bdxXxsTAcAtOL4j9xZ92+KlnKyC11UOyS2i2jwu+VayLh+A22ZJKWUYhhWnKbZx48bpxRdf1IABA3TPPfcoLCxMgYGBSk1N1bZt2zRz5kz99NNPknKLo6lTp8rLy/xbFR4erpdeekn/+te/tHHjRnXq1El/+tOfFBYWpj179uitt97Sli1bJEkvv/yymjRpkm+Wl19+WXFxcdq1a5fGjh2r5ORkxcTEyM/PT8uXL9c///lPOZ1O+fn5acKECW79fQEAAAAAAKWPM8ep+F3xplmP0B6qXKGyTYkA4CYYhrRnmbT2/dxfC1OnVe7zopr3lTy9LYkHwLUsKaWmT59e5Jq0tDQlJSVp7ty5OnLkiDp27KinnnrKbZnOnDmjqVOnaurUqQWuCQ4O1ieffKL7778/3/ffeOMNnThxQp988om2bNmimJgbHx46fPhw/eMf/yjwHBUrVtQ333yjHj16aPfu3ZoyZYqmTJliWlOpUiXNnDlTrVq1Kt4XBwAAAAAAyo2Vh1bqxKUTpll0RLRNaQCgmJyZ0vY5uVdGndhR+Nrw7rllVINOUj6PPwFQelhSSg0dOrTYa999910999xzmjJlijp27Ki3337b5Xl++OEHLV26VMuXL9fOnTt1/PhxnT59Wr6+vqpVq5ZatWqlXr16afDgwfL39y/wOB4eHpo2bZoGDBigKVOmKCEhQadOnVL16tXVrl07Pf3003r44YeLzNO4cWNt2bJFH3zwgeLj45WcnKzMzEyFhISoR48eev7559WgQQNX/hYAAAAAAIAyYlbSLNN2yxot1bxac5vSAEARLp2RNk2X1k+RLh4reJ1nBanVo1Lks1KNcOvyAXArS0qpm+Ht7a3JkycrMTFR//73v9WtWzc99NBDLj1HWFiYwsLC9PTTT7vkeD169FCPHj1u6xgBAQEaO3asxo4d65JMAAAAAACg7Nt7fq/WH11vmsVE3HgnFwCw3Zl90rrJ0pbPpaxLBa/zrya1e0pq93spsIZ1+QBYosSVUlc888wzWrlypSZOnOjyUgoAAAAAAKAsmJ0027RdtUJVPdjwQZvSAEA+Dm2Q1kyUEhdKRk7B66o1kaKele6Kkbz9rMsHwFIltpRq0qSJJGnjxo02JwEAAAAAACh5LmVd0lfJX5lm/Zv0VwXPCjYlAoD/k5MtJX6TW0Yd3lD42gb35D4vqsmDkoeHNfkA2KbEllLnz583/QoAAAAAAICrFu1bpItZF/O2HXJoUPggGxMBKPcy06QtM6V1k6Sz+wpe5/CUWvTPvTKqXhvr8gGwXYktpT799FNJUp06dWxOAgAAAAAAULIYhqHYxFjTrHNwZwVXDLYpEYByLfWYtGGKlDBNyjhX8DqfitLdQ6UOI6UqIZbFA1BylLhSavfu3fr3v/+tTz/9VA6HQz169LA7EgAAAAAAQImy9eRWJZ1NMs2iI6JtSgOg3Dr+q7T2fWlbvJSdWfC6SvWkyGekNo9LvpWtywegxLGklAoNDS1yTU5Ojs6dO6fU1NS8Wc2aNfXKK6+4MxoAAAAAAECpMytxlmk7ODBYnep1sikNgHLFMKS9y6U170t7fih8bZ27pKjRUot+kqe3JfEAlGyWlFL79++/6X0iIyM1ffp0bt8HAAAAAABwjdPpp7XkwBLTLDoiWh4OD5sSASgXnJnS9rm5V0Yd31742vDuUtQoqeE9ksNhTT4ApYIlpdTQoUOLXOPh4aGKFSuqUaNG6tKli1q1auX+YAAAAAAAAKXM/OT5cuY487YreFZQv8b97AsEoGxLPyttnJ77zKjUowWv86wg3RUjRT0r1YiwLh+AUsWSUmr69OlWnAYAAAAAAKBMy87J1uyk2aZZ94bdVcW3ij2BAJRdZ/dL6yZLmz+XstIKXudfTWr3e6ndU1JgDcviASidLCmlAAAAAAAAcPtWHV6lo2nmKxVimsbYlAZAmXQoQVo7Udq5QDJyCl5XrXHuVVF3PSp5+1mXD0CpRikFAAAAAABQSsQmxZq276h2h+6ofodNaQCUGTnZUtIiac370qF1ha9t0Cn3eVHh3SUPnmUH4ObYUkplZWVp8+bN2r59u86cOSNJCgoK0h133KE2bdrI29vbjlgAAAAAAAAl1oELB7TmyBrTLLpptE1pAJQJmWnSz19I6yZJZ/YWvM7hKbXol1tG1WtjWTwAZY+lpdSlS5f097//XVOnTtXZs2fzXVO1alWNGDFCr776qvz9/a2MBwAAAAAAUGJd/yypyhUqq3vD7jalAVCqpR6XNkyRNk6T0vP/Pq0kySdQajNUihwpValvXT4AZZZlpdTBgwd1//33a8+ePTIMo8B1Z86c0VtvvaW5c+fqhx9+UHBwsFURAQAAAAAASqR0Z7rmJ883zfo37i9fL1+bEgEolU7szL1F37bZUnZmwesq1ZM6jJTuHir5VrYuH4Ayz5JSKisrSw8//LCSk5MlSU2bNtUTTzyhDh06qHbt2jIMQ8ePH9eGDRs0Y8YM/frrr9q9e7cefvhhbdmyRV5ePPoKAAAAAACUX4v3LVZqZmretkMODQ4fbGMiAKWGYUh7V0hr35eSlxa+tnZLqeNoqUV/yZNHrABwPUvano8//lg7d+6Uw+HQ//t//0+vvfaaPK57CF5ERIQ6d+6sP/7xjxo3bpz+8Y9/6Ndff9XHH3+skSNHWhETAAAAAACgxDEMQ7MSZ5lmnep1UkilEJsSASgVnJnS9rnS2g+k49sKX9vkwdwyquFvJIfDmnwAyiVLSqn4+Hg5HA7169dPf//73wtd6+Hhoddff107duzQ/PnzFR8fTykFAAAAAADKrW2ntmnnmZ2mWUxEjE1pAJR46eekTdOl9R9JqUcLXudZQborWop8VqrZ1LJ4AMo3S0qp7du3S5KefPLJYu8zfPhwzZ8/X9u2FdHiAwAAAAAAlGFxSXGm7boBdXVPvXtsSgOgxDq7X1r3obT5MykrreB1fkFSu99L7Z+SAmtaFg8AJItKqfPnz0uS6tatW+x96tSpI0m6cOGCWzIBAAAAAACUdGczzmrxvsWm2eCIwfL08LQpEYAS5/BGac1EaefXkpFT8LqgMCnqWemuRyUff+vyAcA1LCmlgoKCdOLECe3bt0+tW7cu1j579+7N2xcAAAAAAKA8mp88X5k5mXnb3h7e6t+kv42JAJQIOdlS0re5ZdShdYWvrd9R6jhKCn9Y8vCwJh8AFMCST6E2bdrIMAx98MEHxd7ngw8+kMPhKHaJBQAAAAAAUJZk52RrdtJs0+yhhg8pyJcf4AXKrcxL0oap0vttpbghBRdSDg+pxSPSU8ukJ7+VmvakkAJQIljySfToo49KklasWKEnn3xSaWkF39M0LS1NTz75pFasWCFJGjJkiBURAQAAAAAASpSfjvyklIsppllM0xib0gCw1cUT0rJ/SONbSIteks7szX+dT6AU+QfpuZ+lQdOlendbGhMAimLJ7fuGDBmiDz/8UGvWrNGnn36qb775RoMHD1aHDh1Uq1YtORwOHTt2TOvXr1d8fLxOnjwpSerUqZMee+wxKyICAAAAAACUKLGJsabtZkHN1LJ6S5vSALDFiZ3S2velX2ZL2ZkFr6tYV4ocKbUZKvlVsSweANwsS0oph8OhBQsWqGfPnlq3bp1OnjypSZMmadKkSTesNQxDkhQVFaWvvvrKingAAAAAAAAlyqHUQ1qdsto0i2kaI4fDYVMiAJYxDGnfSmnN+1Ly94WvrX2nFDVaatFf8vKxJh8A3AZLSilJqlq1qlavXq3Jkydr0qRJ2rlzZ77rmjVrpmeffVYjR46UB/c5BQAAAAAA5VB8UrwMGXnbFb0r6uFGD9uYCIDbZWdJ2+dJaydKx7YVvrbxA1LH0VKjzhJlNYBSxLJSSpI8PDz07LPP6tlnn9XRo0e1fft2nTlzRpIUFBSkO+64Q3Xq1LEyEgAAAAAAQImS4czQvOR5plnfxn3l5+VnUyIAbpV+Tto0Q1r/kZR6pOB1nj5Sy2gpapRUs6lV6QDApSwtpa5Vp06dYhVQc+fO1YABAyxIBAAAAAAAYL/v9n+n85fPm2bREdE2pQHgNmcPSOsmS1s+lzIvFrzOr6rU7vdSu6ekirWsywcAbmBbKVUYwzD0xRdf6J///KeSkpLkdDrtjgQAAAAAAGCJuKQ403ZUnSg1rNzQnjAAXO/wptxb9P36lWTkFLwuKEyK+oN012OSj791+QDAjUpUKeV0OvXpp5/qX//6l/bu3SvDMHiAJwAAAAAAKDd2nNqhbafMz5KJaRpjUxoALpOTI+36VlrzvnRwTeFr60fl3qIv4mHJw9OafABgEbeVUmlpaZoyZYq+//57HTp0SF5eXmrYsKEGDRqk6OhoeXpe/UA1DEMzZszQa6+9pkOHDuXNfHx8NGzYMHdFBAAAAAAAKFFik2JN27UDaqtzcGeb0gC4bZmXpK1fSGsnSWf2FLzO4SE16yN1HC0Ft7UuHwBYzC2l1C+//KIePXro6NGjN8y//vprTZ48Wd9++60CAwO1e/duPfbYY9q8ebOk3DLK19dXw4cP15/+9CcFBwe7IyIAAAAAAECJcv7yeX2771vTbFD4IHl5lKgb3QAojosnpA1TpYSPpfQzBa/zDpDaPC5FjpSqNrQsHgDYxeV/q0lLS1Pfvn115MiRAtesWbNGo0aN0ssvv6wuXbro7NmzMgxDAQEBevrpp/Xyyy+rVi0e2gcAAAAAAMqPL5O/1OXsy3nbXh5eeqTJIzYmAnDTTiRKa9+XfpktXfP/5xtUrCN1GCndPUzyq2JVOgCwnctLqc8++0wHDhyQw+FQ165dNW7cOLVp00aenp769ddf9c477yg2NlazZs3Spk2bdObMGXl4eOiZZ57R3/72N9WoUcPVkQAAAAAAAEq0HCNHcUlxptkDDR5Qdb/qNiUCUGyGIe1blVtG7V5S+Npad0odR0ktHpG8fKzJBwAliMtLqQULFkiSwsPDtXjxYnl5XT1F69at9cUXX+jcuXNavHixduzYIR8fH82bN089evRwdRQAAAAAAIBSYc2RNTqUesg0e7TpozalAVAs2VnSjvnSmv9Ix7YVvrbx/bnPi2rURXI4rMkHACWQy0upbdu2yeFw6I9//KOpkLrWK6+8osWLF8vhcOjJJ5+kkAIAAAAAAOVaXKL5KqnwquFqVaOVPWEAFC7jvLRphrT+I+lCSsHrPH2kloOlqFFSzWaWxQOAkszlpdTp06clSREREQWuadbs6odwnz59XB0BAAAAAACg1Ei5mKKVh1eaZtER0XJwNQVQspw9IK3/UNr8mZR5seB1flWltsOl9iOkirWsywcApYDLS6mMjAw5HA5Vr17wPY+DgoLyXtetW9fVEQAAAAAAAEqN+KR4GTLytgO9A9UrtJeNiQCYpGyS1rwv/fqVZGQXvK5qIynqWanVY5JPgHX5AKAUcXkpddMBCrjFHwAAAAAAQFmXmZ2pebvnmWZ9wvrI39vfpkQAJEk5OdKuxdLa96UDPxW+NiRS6jhKiugheXhakw8ASikaIQAAAAAAAJssObBEZy+fNc2im0bblAaAstKln7+Q1k2STicXvM7hITXrI3UcLQW3tS4fAJRybiulJk2apJo1a7pk3V//+ldXxQIAAAAAACgxYhNjTdsdandQaOVQm9IA5djFk1LCVCnhY+nS6YLXeQdIbX4nRT4jVW1oWTwAKCvcVkpNnjy50PevPKyzqHUSpRQAAAAAACh7dp7eqa0nt5pmXCUFWOxkUu4t+rbGSdmXC15XsY7UfoTU9gnJr6p1+QCgjHFLKWUYRtGLiulKeQUAAAAAAFCWxCXFmbZr+tVU15CuNqUByhHDkPb/KK15X9r9XeFra90hRY2S7hggeflYkw8AyjCXl1LLly939SEBAAAAAADKlAuZF/TN3m9Ms4ERA+XlweO/AbfJzpJ2fCmtnSgd3Vr42rBuuc+LCr1X4ofmAcBlXP43nS5durj6kAAAAAAAAGXK18lfKyM7I2/by+GlgU0G2pgIKMMyzkubPpXWfyhdSCl4naePdOdgKepZqVZz6/IBQDnCj98AcIvNxzerTa02lu0HAAAAAKVFjpFzw637ujXophr+NWxKBJQQB9ZKDaJct9+5Q7lF1KZPpczUgvf3rSK1G577zKiKtW/+/ACAYvOwOwCAsmfSz5M0dPFQTds27ab2m7ZtmoYuHqpJP09yUzIAAAAAsN/6o+u1/8J+0yw6ItqeMEBJsfxNaXp3afX4m9tv9fjc/Za/eXWWslma86T03l3S2vcLLqSqNpJ6vCv98Vep218ppADAAlwpBcClNh/frMlbJ0uSJmyeIEkafufwIvebtm1a3vrJWycrsk4kV0wBAAAAKJNiE2NN242rNFbbWm1tSgOUAAfWSiv/lft66bjcX+95oej9Vo+/un7lvyRvX2n399KBnwrfL6SDFDVKatpT8vC81dQAgFvAlVIAXKpNrTYa02ZM3vaEzROKvGLq2kJKksa0GUMhBQAAAKBMOpZ2TCsOrzDNoiOi5XA47AkElAQNoqT7x13dXjqu6Cumri2kJMm/Wu52QYWUw0Nq1kca/r00fInUvA+FFADYgCulALjclSujrhRNhV0xlV8hVZwrqwAAAACgNIrfFa8cIydv29/LX71Ce9mYCCghrlwZdaVouvLr3SNvXHt9ISVJl07nf1zvAKn1b6XIZ6SgRi4ICgC4HZRSANyiOMUUhRQAAACA8iQrO0tzd801zXqH9VagT6BNiYASJp9iyisrS1LE1TXfvZL7nKiiBNaWOjwttX1C8qvq6qQAgFtEKQXAbQorpiikAAAAAJQ3Sw8u1ekM89UcMRExNqUBSqjriinvlW+ocZ3BOhsQpgpTX5fOJBe+f80WUsdR0h0DJS8f92YFANw0SikAbpVfMTVxy0RlG9l5ayikAAAAAJQHsYmxpu22tdqqcdXGNqUBSrDriqkWR2cXvU/YfVLUqNxfeUYbAJRYlFIA3O76YuraQsrfy19nMs4o8UyiIqpG8HBfAAAAAGVS0pkkbT6x2TSLbhptUxqghMt2ShXrSP7VpUunCl7n4S21HCxFPSvVamFdPgDALaOUAmCJ8Krh+c4vOS/ps18/02e/fqbGVRqrV2gv9QztqdoBtS1OCAAAAADuMzvJfKVHdb/q6hbSzaY0QAnlvCz9/IW0erx07kDB63yrSG2flNqPkCrVsSweAOD2UUoBcLsLmRf08qqXi1yXfC5ZEzZP0Hub31P72u3VM7SnHmjwAA/9BQAAAFCqpWamasHeBabZwPCB8vb0tikRUMJkpkmbPpXWTJRSjxS9PvIP0r1/cn8uAIDLUUoBcLsRS0YoLSut2OsNGVp/bL3WH1uvN9a/oftC7lOvsF6Kqhslbw/+ow0AAABA6bJgzwKlO9Pztj0dnhrYZKCNiYASIuO8tGGqtG6SdOl0oUudHhXklXM5d2PFPyUvn6vPngIAlBqUUgDc6i+r/6Idp3eYZpF1IhVZJzLvGVOFuZx9Wd/u/1bf7v9WQb5BerjRw+od2lvNqzXn+VMAAAAASjzDMBSXFGea3Vf/PtUKqGVTIqAESDstrZ8srZ8iXT5f5PIddQYruXYv9aiUJO+Vb+QOl47L/ZViCgBKFUopAG4z6edJ+nLPl6ZZgHeAXuv4muoG1pUkUzHVoloLHbhwQBezLuZ7vDMZZzRz50zN3DlTjSo3ynv+VL3Aeu76EgAAAADgtiQcS9De83tNs+iIaJvSADa7cFRa+7608RMp61Kxdsnq8oqSL0RIkpyRo+Xt7X21kKKYAoBSx8PuAADKpmnbpmny1sk3zF9s+2JeITX8zuEa02ZM3ns7Tu/QsBbD9E6Xd3Rv8L3ychTcm+87v08Tt0xU97ndNWzxMM3ZNUcXMi+4/OsAAAAAgNsRmxRr2m5UuZHa125vUxrAJmcPSAtfkN5rmVtKFVRIVWti3r5/nJyRo82ze16Q7h93dXvpOGn1eFemBQC4EVdKAXC5adum5Xtrvsg6kTfcN334ncMlXb1i6v2f39eYNmM0sdtEnck4o8X7Fuubvd/ol1O/FHi+Tcc3adPxTXpz/ZvqEtJFvUJ76Tf1fsNDgwEAAADY6njacS07uMw0i46I5lbkKD9O7ZZ+/F/plzjJyC5gkUNq1luqWEfa8NHV8f3jcguo9PQbd7lyZRRXTAFAqUMpBcClNh/fnG8hdeW2ffn9x9f1xdSEzRPUumZrtanVRo81e0yPNXtM+8/v18K9C7Vw70KlXEzJ99yZOZn6/sD3+v7A96pSoYoeaviQeof1VsvqLfmPPgAAAACWm7t7rrKv+Ua8n5ef+oT1sTERYJGjv0g//lv69StJRv5rHJ7SnYOk3/xRunRGmt796ntXCqnC5FdMhURKDaJuLzsAwK0opQC4VJtabdS0alMlnk00za+9bV9+ri2mnrnrGbWp1cb0fsPKDTWq9Sg92+pZ/XzyZy3Ys0CL9y9WamZqvsc7d/mc4pLiFJcUp/oV66tXaC/1Cu2lkEoht/kVAgAAAEDRsnKyNGfXHNOsZ2hPVfSpaFMiwAKHEqQf35V2LS54jaeP1GqI1Ol5KajR1XmXP0sr/1W8QuqKa4upLn+mkAKAUoBSCoBLrU5ZfUMhld9t+/Iz/M7heVdIFcThcKh1zdZqXbO1/tz+z1p1eJUW7l2olYdXypnjzHefg6kHNWnrJE3aOkmtarRSr9Be6t6ouypXqHxzXxwAAAAAFNOyg8t0Mv2kaRYTEWNTGsCNDEPatyq3jNq3quB1Xn5S2yekjqOlSvn80GrX/5FC7735YumeF7hCCgBKEUopAC6TmpmqcWvGmWaF3bYvP4UVUtfz8fTR/Q3u1/0N7tf5y+f13f7vtHDvQm05saXAfX4++bN+Pvmz/pXwL3Wu11m9w3qrc3Bn+Xj6FPu8AAAAAFCUuKQ403brmq0VERRhUxrADQxD2r1EWvWOdDih4HUVKkntfi9F/kEKrFH4MW+1WKKQAoBSg1IKgMu8u/FdHb903DQr6rZ9rlK5QmUNjhiswRGDdSj1UO7zp/Ys1MHUg/mud+Y4tezQMi07tEwVfSrmPn8qtLda12zN86cAAAAA3Jbks8lKOGb+Jj1XSaHMyMmWdn6d+8yoY9sKXucXlFtEtX9K8qtiWTwAQMlGKQXAJVanrNa83fNMs+Lets/VQiqG6Jm7ntHIliO17dS2vOdPnbt8Lt/1qZmpmrNrjubsmqN6gfXUM7Sneof2VsPKDS3NDQAAAKBsuP4qqSDfIN3f4H6b0gAukp0lbZuTW0ad3l3wusBaUsfnpLuHSRUCLYsHACgdKKUA3Lb8btvn7+V/U7ftcweHw6GWNVqqZY2WGtturFanrNbCvQu14tAKZeZk5rtPysUUTflliqb8MkV3Vr9TPUN76uFGDyvIN8ja8AAAAABKpbSsNC3Yu8A0G9BkALcMR+mVlSH9PFP6aYJ0Lv+7kUiSKteX7nleavVbydvXsngAgNKFUgrAbbPztn3F5e3pra71u6pr/a66kHlB3+//Xgv3LtTG4xsL3GfbqW3admqb3k14V53qdVKvsF66N/he+Xrxl2sAAAAA+Vu4Z6HSstLytj0cHhoUPsjGRMAtykyTNk6X1kyULh4reF21JtJv/ijdOUjy9LYuHwCgVKKUAnBbCrptX0n+j65KPpU0IHyABoQP0JGLR/TN3m+0YO8C7Tu/L9/1TsOplYdXauXhlQr0DtQDDR5Q77DeurvW3fJweFicHgAAAEBJZRiGYpNiTbMuwV1UJ7COTYmAW5B+TkqYKq2bLF06XfC6WnfmllHN+0oenpbFAwCUbpRSAG5ZSb1t382oG1hXT7V8Sr+/8/f69cyvWrhnoRbtW6QzGWfyXX8x66LmJ8/X/OT5qh1QWz0b9VTvsN4KqxJmcXIAAAAAJc2m45uUfC7ZNItpGmNTGuAmpZ2S1k2SNkyVLl8oeF1wO+k3L0nhD0ml5L/9AQAlB6UUgFtWGm7bV1wOh0MtqrVQi2ot9GLbF7XmyBot3LtQyw8uV0Z2Rr77HEs7pmnbp2na9mlqFtRMvcN66+FGD6u6X3WL0wMAAAAoCeKS4kzbDSo1UGSdSJvSAMV04WjuLfo2TZeyLhW8ruFvpM4vS406U0YBAG4ZpRSAW1Iab9tXXF4eXuoc3FmdgzvrYuZFLT24VAv3LtSGoxtkyMh3n51ndmrnmZ3698Z/K7JupHqH9lbXkK7y9/a3OD0AAAAAO5xKP6WlB5aaZoPDB3PLb5RcZ/dLqydIP8+UsjMLXtfkIanzS1JIe6uSAQDKMEopADetLNy2r7gCfQLVr3E/9WvcT8fSjmnRvkVasGfBDbfkuCLbyNZPKT/pp5Sf5O/lr/sb3K9eob3UvnZ7eXKPbQAAAKDMmrNrjpyGM2/b19NXfRv3tTERUICTSdKP/ytti5eM7AIWOXKfFfWbF6U6LS2NBwAo2yilANy0snTbvptRO6C2nrzjST3R4gntOrtLC/Ys0KJ9i3Qy/WS+6y85L+nrPV/r6z1fq6ZfTfUM7ameoT0VERRhcXIAAAAA7uTMcSp+V7xp1iO0hypXqGxTIiAfR7dKP/5b+vVrqYC7gMjhKbUcLN3zR6lGuKXxAADlA6UUgJvyU8pPN9y2r0OdDmXitn3F5XA4FBEUoYigCL1w9wtaf3S9Fu5dqKUHlyrdmZ7vPifST2j6jumavmO6wquGq3do7vOnagXUsjg9AAAAAFdbeWilTlw6YZpFR0TblAa4zsH10o/vSruXFLzG00dq/Vup0/NS1YaWRQMAlD+UUgCKLTUzVX9b8zfTzN/LX693fL3M3bavuDw9PNWxXkd1rNdRr2a9qh8O/qCFexdq3dF1yjFy8t1n19ld+vemf+t/N/2vOtTpoN5hvdWtfjcFeAcUeq7NxzerTa02N53xVvcDAAAAUDyzkmaZtlvWaKnm1ZrblAaQZBjSvpXSqnel/T8WvM7bX2r7pBQ1SqpUx7p8AIByi1IKQLH9e+O/y+Vt+4rL39tfvcN6q3dYb528dFKL9i3Swr0LlXgmMd/1hgytO7pO646u0z+8/qGuIV3VO6y3IutEysvD/PE86edJmrx1ssa0GaPhdw4vdqZp26ZpwuYJeuauZ/SHVn+4ra8PAAAAwI32nt+r9UfXm2YxETE2pUG5ZxjSrsW5ZVTKxoLXVagktR8hRf5BCqhmXT4AQLlHKQWgWH5K+Ulzd881zcrbbftuRg3/GhraYqiGthiq3Wd3a+Hehfpm7zc3lHpXpDvTtWjfIi3at0jVfKupR2gP9QrtpWZBzfT/2bvvsKiurYHDvxl6V0A6gqIC9q7Ye9QYExNbiia5Jiamqen1Jje9GTXGmJiYzxZLNKaZxNg79l5AAUGkCii9DTPfHxMGj8wIKjCU9T5PHph19jmzMDrMnLX32kdTj7Lg+AIA5hyZA1CpwlRpQQpgwfEF9PTuKSumhBBCCCGEqGI/Rf6keNzYpjHDAoeZKRvRYGlL4MyvsOsLSDllepy9m74Q1f1xsJU9z4QQQtQ8KUoJISpkqm3f/3r9r8G27bsZLRu3ZGaXmUzvPJ2DyQdZH7OeTXGbyC3ONTo+vSCdZWeWsezMMoJcghgVNIopbaew6NQioHKFqWsLUgAzOs+QgpQQQgghhBBVLK84j9+iflPExrQcg42FjZkyEg1OSTGc+Al2fwHpUabHOXlDr2ehyyNgfePW8UIIIUR1kqKUEKJCptr2+Tr6mimjukmtUtPDuwc9vHvweo/X2R6/nT+i/2Bv4l5KdCVGz4nOjGbukbmoUOHn6MelnEvAjQtTxgpSN9PyTwghhBBCCFE5f134i5ziHMNjFSrGB483Y0aiwSgugKPLYM+XkHnR9LhGAdBnBnR8ECylWCqEEML8pCglhLghadtXPews7RjRbAQjmo0gPT+dDbEb+CP6D06nnzY6XofOUJAqNefIHLQ6LY+3f9wQk4KUEEIIIYQQNUOn07EqYpUi1s+vn0zeE9WrMAcO/x/snQc5xtvDA+DeCvq+AG3HgoXc/hNCCFF7yG8lIYRJ0ravZrjZufFg6IM8GPogMZkxrI/W7z+VmJtY4blfHv2SnZd28mqPV9mXuE8KUkIIIYQQQtSQ45ePE3klUhGbEDzBTNmIei//KhxYCPsWQH6G6XFe7aDvixA6GtTqGktPCCGEqCwpSgkhTJK2fTWvuUtznuv8HM90eoajqUf5I/oPNsZuJLs42+Q5xy4fY+L6iYqYFKSEEEIIIYSoXisjVioe+zn60du3t5myEfVWbhqEz4eD30Nhlulx/j30xaiWQ0EmkQohhKjFpCglhDDKaNs+L2nbV1PUKjVdPLvQxbMLr/V4jR3xO/gj5g92X9qNRqe54blSkBJCCCGEEKJ6peenszFuoyI2IXgCapWsTBFVJDNB36Lv8GLQ5Jse16w/9HsJAvtIMUoIIUSdIEUpIUQ5Jtv29Za2feZgY2HDsMBhDAscxpWCK/wT+w9/xPzBicsnjI53t3Ov4QyFEEIIIYRoWH6J+gWNtmyymI2FDfe0uMd8CYn6I+MC7JkDR38EbbHpca1GQL8Xwa9rjaUmhBBCVAUpSgkhypG2fbVXY9vGTAyZyMSQicw6NIvFpxeXG/PfPf/F3c5dWocIIYQQQghRDUq0JfwU+ZMiNjxwOI1sG5knIVE/pEbA7i/g5FrQlZgYpII290DfF/R7RwkhhBB1kBSlhBAKexP2Stu+OmDRyUVGC1IAWrQ8s/UZfhz5I63dWtdsYkIIIYQQQtRzOy/tJCk3SRGbGDLRxGghKpB4DHZ9DmfXAzrjY9SW0H4C9JkJ7i1rMjshhBCiyjXYZsdHjhzhww8/ZMSIEfj7+2NjY4OjoyOtWrXikUceYdeuXRVeY/HixahUqkr9t3jx4gqvl5eXx2effUb37t1xdXXF0dGR0NBQXnzxRS5evFgFP7UQN5ZdlM3b4dK2r7ZbdHIRc47MMTye0XkGj7R5RDFGo9Xw6IZHuZR9qWaTE0IIIYQQop5bFblK8bitW1vaurc1Uzaizrq4D5aPhYX94ewfGC1IWdhA1ynw7BG452spSAkhhKgXGuRKqf79+7Nz585y8aKiIs6fP8/58+dZsmQJkyZN4vvvv8fa2rrac4qOjubOO+8kMjJSEY+IiCAiIoLvv/+eFStWMHLkyGrPRTRcsw7NIjk3WRGTtn21i7GC1JR2U9DqtKTkpvB37N+GY3maPB748wF+u+c3Gts2NkO2QgghhBBC1C9xWXHsTdyriE0ImWCmbESdo9NBzDbYOQvidpseZ+UAXR+FXs+Ck1fN5SeEEELUgAZZlEpISADAx8eHcePG0bdvX5o2bUpJSQnh4eHMmjWLhIQEli1bhkajYcWKFRVe859//sHHx8fkcT8/P5PHcnJyGDVqlKEg9fjjjzNx4kTs7OzYtm0bH330EZmZmYwbN47w8HDat29/kz+xEBUz1bZvbKuxZspIXM9UQQpArVLzfp/3SS9I50DyAcOYK4VXmLB+Ar/d8xt2lnY1nbIQQgghhBD1yvV7SbnYuDA8cLiZshF1hlYL5zbo2/QlHDY9zsYFejwBPaeBvWvN5SeEEELUoAZZlAoJCeHDDz/kvvvuw8LCQnGsZ8+eTJo0id69e3Pu3DlWrlzJtGnT6Nu37w2v2apVKwIDA28pn88//5yIiAgAPv30U1566SXDsbCwMAYOHEi/fv3Iy8tjxowZbN269ZaeRwhTjLXtVnTmHQAA9U5JREFUs7O043+9/4da1WC7fNYqNypIlbK2sGbOwDk8vOFhzl85b4gn5SYxcf1E1o1eh4Va+ZonhBBCCCGEqJx8TT6/RP2iiI1pMQZbS1szZSRqPW0JnP4Fdn0BqadNj7N3h7CnoNtjYOtSc/kJIYQQZtAg7zavX7+e8ePHlytIlXJ3d2fWrFmGx2vXrq22XIqLi5k7dy4AoaGhvPDCC+XGhIWFMWWK/ubztm3bOHz4BrNqhLgFRtv2dZG2fbXFkZQjFRakSjlZO7Fg8AK8HJQtHmIyY3h++/PodCY2zhVCCCGEEELc0IYLG8guyjY8VqFifKvxZsxI1FqaIjiyDL7qBj9PMV2QcvKB4R/DjJPQ9wUpSAkhhGgQGmRRqjIGDBhg+D46Orranmf79u1cvXoVgIcffhi12vj/kkceecTw/bp166otH9HwmGrbNy54nJkyEtfr7NmZaR2mATcuSJXydPBkweAFOFk7KeJb47ey6NSiastTCCGEEEKI+kqn07EyYqUi1tu3N/7O/mbKSNRKxflw4DuY1xl+fwYyTNxPahwId82F6cf0rfqs7WsySyGEEMKsGmT7vsooKioyfG+qUFQVdu3aZfi+f//+Jsd17doVBwcHcnNz2b37BpthCnETcopypG1fHfFUx6fo6d2Tzp6dKzW+ReMWfDnwS6ZumkqxttgQn3tkLh72HowOGl1dqQohhBBCCFHvnEw7ydmMs4rYxOCJZspG1DqF2XDoB9j7FeSmmh7nHqxfEdX2PrCQW3JCCCEaJrnrbMKOHTsM34eEhFQ4/pFHHsHT0xNra2vc3d3p2bMnb775JgkJCTc87+zZsje1N3oeS0tLgoKCyp0jxO34/NDn0ravDqlsQapUV6+ufNT3I1SoFPG397zN3oS9VZmaEEIIIYQQ9drqyNWKxz4OPvTx7WOmbEStkX8Ftn8Cs9vCpv+aLkh5d4Dxy+CpfdBhghSkhBBCNGjyW9AIrVbLxx9/bHg8fnzFPaKvLWKlp6eTnp7O/v37mTVrFnPmzOGJJ54wel58fDwADg4ONGrU6IbP4e/vz4kTJ7h8+TKFhYXY2NhU4qeBS5cu3fB4UlKS4fv8/Hzy8/Mrdd2GoKCgwOj39cG+5H3l2vZ19ejKqKaj5O9APdLPsx8zO87ki2NfGGIanYaZ22fyzcBvCGlccdFdVK/6/DojhKgd5HVGCFGdGsJrzNXCq2y4sEERG9N8DEWFRSbOEPVe7mUsD36L5dHFqIpyTA4r8e2OJmw62uaDQKWCwsIaTLL+aAivM0II85LXGeOq6x6xFKWMmD17NgcOHABgzJgxdO3a1eTY5s2bc++99xIWFoa/v76XdExMDD///DNr166loKCAJ598EpVKxdSpU8udn52t3yTV0dGxwrwcHBwM3+fk5FS6KFWaV2Xs3LkTd3f3So9vSHbu3GnuFKpMga6AeVnzFDFrrOmX34/NmzabKStRXVxxpbdNb/YU7jHE8jR5PLX5KaY6TsXVwtWM2Ylr1afXGSFE7SSvM0KI6lRfX2N2FeyiSFtWgLLAAuc4ZzbGbzRjVsIcbIsyaJH6FwFp27HUmS5Kpjq15ZznaNIdgyG6BKI31WCW9Vt9fZ0RQtQe8jpTJi0trVquK0Wp6+zYsYNXX30VAA8PDxYsWGBy7JgxY3j44YdRqZStsbp168aECRNYv3499957L8XFxcycOZPRo0fj5eWlGFtaebW2tq4wt2uLULKSRdyODfkbyNRlKmJ32N0hxYl67A7bO8jSZnGy+KQhlqPLYWnuUqY6TsVeLRvrCiGEEEIIcT2tTsuBogOKWDurdjioHUycIeoj+8IUWqasp2nGbtS6EpPjklw6cc5zNFcdgmowOyGEEKJukaLUNU6fPs2YMWPQaDTY2Njw008/4enpaXK8i4vLDa83atQo3n77bd58803y8vJYtGgRb7zxhmKMra0tAEVFFS/7L7xmmbednV2F40uVtgg0JSkpie7duwPQr18//Pz8Kn3t+q6goMBQHe/Xr5/h/1ddti95H4d2HlLEunp05Y3+b6BWyTZz9dmgkkFM3zmdw5cPG2Jp2jT+sPqD+f3nY2tZ9/9+10X18XVGCFG7yOuMEKI61ffXmN2Ju7my+4oi9my/Z2nn1s5MGYmapLocgeW+L7E4+ysqndboGJ1KTUnIaDRh02nUJJTuNZxjQ1DfX2eEEOYnrzPGVbQt0K2SotS/Lly4wLBhw7hy5QoWFhasXLmS/v373/Z1H3/8cd566y10Oh07duwoV5RycnIC9O34KpKbm2v4vjLt/krdTJHJzs7upgpeDYmtrW2d/7PJKcrhw8MfKmJ2lna81+c9HOxlpl99Z4cdXw75kof/fpioq1GG+Mn0k7xz8B2+GPAFFmoLM2Yo6sPrjBCidpPXGSFEdaqPrzG/XPhF8TjUNZRuvt3KdUwR9UziUdj5OUSsNz1GbQkdJqLq8zyWbkFyg62G1MfXGSFE7SKvM2Wq689BlkUAiYmJDBkyhMTERFQqFT/88ANjxoypkmt7eHgY9mhKSEgod7y0YJSbm8vVq1dveK3SFU9NmjSp9H5SQlzr80Ofk5ybrIi90OUF/JxkdVxD4WztzIIhC/C0V64C3Rq/lY8OfIROpzNTZkIIIYQQQtQu8dnx7E7YrYhNDJkoBan6LG4vLLsXFg4wXZCysIFuj8NzR+Hu+eAmrfqEEEKIm9Hgi1JpaWkMHTqUmJgYAObNm8fkyZOr9DludJO3devWhu8jIiJMjtNoNERHRwMQGhpadcmJMnHhNXteDdubsJefz/+siHX36s644HFmykiYi5eDF98M+QYnKydFfHXkahadWmSmrIQQQgghhKhd1kSuQUfZ53knaydGNBthxoxEtdDpIGoL/N9I+L8REL3F+DhrR+j1HMw4CXd+Do2a1myeQgghRD3RoItSmZmZ3HHHHZw5cwaAjz/+mKeffrpKnyM1NZX09HQAfHx8yh3v06eP4fsdO3aYvM6hQ4cM7ft69+5dpTkKYNtH8H/DYffsmztv92z9eds+qp68qkhOUQ5vh7+tiNlZ2vG/Xv+TfaQaqBaNWzB30Fys1FaK+Nwjc/kj+g8zZSWEEEIIIUTtUKApYF3UOkXsnhb3YGcp7XzqDa0Wzq6H7wbC8nshbo/xcbYu0P9VfTFq2HvgZHrvcSGEEEJUrMHejc7Ly+POO+/kyJEjALzxxhu88sorVf48CxcuNKyUMrZH1YABA3BxcQFgyZIlJldVLV682PB9VbUWFP+KC4cdH+u/3/xO5QtTu2frx4P+/Fq8YmrW4VnStk+U082rGx/2/bBc/L97/svexL1myEgIIYQQQoja4Z/Yf8gszFTExrcab6ZsRJXSlsDJtfBNb1j9oH7/KGMcmsCQd2DGKRj4Gti71miaQgghRH3VIItSRUVFjBkzhj179LNgpk+fzvvvv39T14iNjeXoURNvXP61fv163nvvPUC/Qdqjjz5aboy1tTXPPfccAGfPnuXzzz8vNyY8PJxFi/Qttfr370+3bt1uKldRgYAw/RvNUpUpTF1bkAL9+QFhVZ9bFdibuJe159YqYtK2T5QaHjicl7u9rIhpdBpmbpvJ2fSzZspKCCGEEEII81oduVrxOMw7jECXQPMkI6qGpgiOLIWvusLPUyD1jPFxzr4w4lOYfgL6zARb55rNUwghhKjnLM2dgDncf//9bNy4EYBBgwYxZcoUTp06ZXK8tbU1rVq1UsRiY2MZOHAgYWFh3HXXXXTs2BEPDw90Oh0xMTGsXbuWtWvXGlY+ff755/j6+hq9/ksvvcTq1as5d+4cL7/8MlFRUUycOBE7Ozu2bdvGhx9+iEajwc7Ojjlz5lTNH4JQ6jNT/7W00FT6tcuT5ccaK0iVnl/L5BTl8M7edxQxadsnrjep9SSSc5NZemapIZanyeOpLU+xfORyfB2Nv3YJIYQQQghRH51OO83JtJOK2MSQiWbKRty24nx9MWrPl5B1yfS4xs30n+073A+W1jWXnxBCCNHANMii1Lp1ZX2ht27dSvv27W84PiAggNjYWKPHwsPDCQ833bbN3t6e2bNnM3XqVJNjnJyc+PPPPxk5ciTnz59n4cKFLFy4UDHG2dmZH3/8kY4dO94wV3EbjBSmLIuLgeCyMXWoIAX6tn1JuUmK2PNdnpe2faKcF7q+QGpeKhtiNxhiaflpPLnpSZaNWEYj20bmS04IIYQQQogatCpyleKxl4MX/fz6mSkbccsKs+HgIgj/CnIvmx7XJBT6vgBtxoBFg7xNJoQQQtQo+W17i7p06cLy5csJDw/n0KFDJCUlkZaWhkajoXHjxrRp04bBgwfz2GOP4eHhUeH1WrRowdGjR5k/fz5r1qwhKiqKoqIi/P39GTlyJNOnTycgIKAGfrIG7rrClNWOD+jo2pccW28s90XCjg/KxtbygpSptn3jg6UPuihPrVLzQZ8PSC9I52DyQUM8NiuWZ7c+y3fDvsPW0taMGQohhBBCCFH9Mgsz+fvC34rYuFbjsFTL7ZM6Iy8D9n8L+7+Bgqumx3l3hH4vQvCdoJZOIkIIIURNaZDvqkpb6t0OJycnHnzwQR588MEqyEjPwcGBl19+mZdffrniwaL6XFeYCsjYpX+ceM2YWl6Qqg1t+w7GZtAt8OY3gr3V88Tts7awZs7AOTz898NEXY0yxI9dPsYrO1/hiwFfYKG2MGOGQgghhBBCVK9fo36lsKTQ8NhSbcm9Le81Y0ai0rJT9KuiDv0ARTmmxzXtBf1egKDBoFLVXH5CCCGEAECmgghhTO8Z0CTE+LFaXpAC87ftm73pHOO+CWfB9uibOm/B9mjGfRPO7E3nqikzURFna2cWDFmAp72nIr41fisfHfioSor6QgghhBBC1EZanZbVkasVsaEBQ3G3czdTRqJSrsbDXy/B3Paw90vTBamgQfDIX/Cfv6HFEClICSGEEGYiRSkhjFGpoMujRuJq6PZ4zedzE8ITw83atu9gbAZzt5wH4JMNEZUuTC3YHs0nGyIAmLvlPAdjM6otR3FjXg5eLBiyACcrJ0V8deRqFp1aZKashBBCCCGEqF7hieHEZ8crYveH3G+mbESF0qPht6fhy45wYCFoCoyPCxkFj2+FSb9AYO8aTVEIIYQQ5UlRSghTivPLx3RaWDQUaulqkZyiHN7e+7YiVtNt+7oFuvLK8LJVZpUpTF1bkAJ4ZXiItPAzs5aNWzJ30Fys1FaK+Nwjc/kj+g8zZSWEEEIIIUT1WRWxSvG4VeNWdGzS0TzJCNNSzsDaKfBVVzi6HLSa8mNUamg3DqaFw8QfwbdLzecphBBCCKOkKCWEMbtnw5Z3jB9LPQM/jqvRdCrL3G37Sk0bEFTpwpSxgtS0AUHVnqOoWDevbnzY58Ny8f/u+S97E/eaISMhhBBCCCGqR0JOAjsu7VDEJgRPQCUt3mqPhMOw8gFYEAan1uonjV5PbQWdJsEzh+C+78Gzdc3nKYQQQogbkqKUENfbPRs2v2N4eN5jJEUW9soxUZvg9+dqNq8KGGvb182rW4217bteZQpTUpCq/YY3G85LXV9SxDQ6Dc9vf56IjAgTZwkhhBBCCFG3rIlcg46yjhiOVo6Maj7KjBkJg9g9sGwMfDcIIv80PsbSFro/AdOPwd1fgZt8rhRCCCFqK0tzJyBErXJdQaq4/xucyQomzTGUnjFfoLrmQwpHloCdKwx9p9xlapqptn3v9nq3xtr2GVNaYCotPH2yIYIruUW08nIiKjWbb3bEGMZKQar2mtxmMsl5ySw7s8wQyy3OZdrmaSwfuRxfR18zZieEEEIIIcTtKSopYt35dYrY6KDR2FvZmzhDVDudDqK2wK7P4WK46XHWjtBtCoQ9A44eNZefEEIIIW6ZFKWEKHVdQYoh76Dp8iRs3EiqSwc0fV/GatcnynP2zAZrB+ivXElS0744/EWtaNtnzPWFqYW7YsqNkYJU7fdi1xdJzUvln9h/DLG0/DSmbZ7GshHLcLFxMWN2QgghhBBC3LqNcRu5UnhFEZsQMsFM2TRwWq1+NdTOzyHpmOlxto2g5zToPhXsZT9iIYQQoi6R9n1CgNGCFH1mKoZowqZD8Mjy5257H3bNrtb0biQ8MZw159YoYuZs22fMo70DCfV2MnpMClJ1g1ql5sM+H9LVs6sifiHzAs9ufZYCTYGZMhNCCCGEEOL2rIpYpXjcw6sHzV2amymbBqpEAyd+ggW9YPVDpgtSDh4w9F2YeQoGvCoFKSGEEKIOkqKUEHHhFRakAFCpYcw34GqkgLLlHf11alhtbdt3rZSsAiZ8G87ZpGyjxweHSouFusLawpq5g+bSolELRfxo6lFe3fUqJdoSM2UmhBBCCCHErTmbfpbjl48rYrJKqgZpCuHwYviqK6x7HC6fNT7O2Q9GfAYzTkDv6WBjfNKjEEIIIWq/2nHXWghzCgiD/q/qvzdVkCpl6wITfwQrh+sOqMHCqroyNMlY276ZXWbWirZ9AMfjrzL6q90cv5RpcsyMVUdrMCNxu5ytnVkwZAEe9spi4paLW/j4wMfodDoTZwohhBBCCFH7rI5crXjsYefBQP+BZsqmASnKg33fwJed4I/pcOWC8XGuzWH0V/DcUegxFazsajZPIYQQQlQ5KUoJATDwNXh0w40LUqU8QuGe+dcFtbB6EuSkVkt6xphq2zchuHbM6vv9eCLjvw0nJavwhuPOJGXz4Z8mZsOJWsnLwYsFQxbgaOWoiK+KXMUPp34wU1ZCCCGEEELcnKyiLP6M+VMRGxs8Fku1bL9dbQqyYNcXMKcdbHgFshKMj/NoDfctgmcOQedJYGlds3kKIYQQotpIUUqIUgFhlR/bZgz0ek4Zy06ENY/qe2FXs9zi3Frbtk+r1TFrYyTPrTxKoUZb7viDPZriYG2hiC3cFcOC7dE1laKoAq0at2LuwLlYqZUrBOccmcMf0X+YKSshhBBCCCEq7/eo3ykoKdsb1VJlydiWY82YUT2WlwHbPoQ5bWHL/yAvzfg4n84wcQU8uQfajQW1hfFxQgghhKizpCglxK0a/DYE9lXG4nbD5reNj69Csw7NqpVt+/KKNDz14xHmbY0yevy5QS34YEw7HgoLKHfskw0RUpiqY7p7d+eDPh+Ui/93z38JT6z5PdaEEEIIIYSoLK1OW6513+CAwTSxb2KmjOqp7BTY+CbMbgs7PoECE63dA/rApF/g8a0Qcieo5XaVEEIIUV/Jb3khbpWFJYxbrN9w9VrhX8HJtdX2tLW1bd+lK3nctyCcDaeTjR5/8Y5WPD8sGIDH+jTHxrL8y48UpuqeEc1G8GLXFxUxjU7DzO0ziciIMFNWQgghhBBC3Nj+pP3EZsUqYub+TFWvXL0If76gb9O3dx4U5xof12KIvpX+o39C0CBQqWo2TyGEEELUOClKCXE7HNxhwlKwuK6/9e/PQsrpKn+63OJc3tn7jiJmZ2nH/3r9z6xt+w7HZXDP/D2cTcoyevyV4SE8M7Cl4XETJxvu797U6FgpTNU9D7d5mIdCH1LEcotzeWrzUyTmJJopKyGEEEIIIUxbFbFK8bhFoxZ09exqpmzqkbQo+PVp+LITHPweSkzsMRx6F0zdDg/9fHOt9IUQQghR50lRSojb5dsF7pyljBXnwaoHIf9qlT7VrEOzSMxV3uSf2WUm/k7+Vfo8N2PNoXjuX7iftJwio8dfGR7CtAFB5eJT+zXHysL4LLhPNkRwMDajSvMU1eulbi9xR+Aditjl/Ms8uflJMgtNtOgQQgghhBDCDJJzk9l+absiNiF4AipZpXPrkk/p91ie3w2OLQetkb2WVWpoNx6e2gcTloNPp5rPUwghhBBmJ0UpIapC58nQ5RFl7MoFWDcVtNoqeYra1ravRKvjw7/O8tLaExSVKH/GRvZWgOmCFIBPIzvGdlG2PiwtUk0f3JJuga7VkLWoLmqVmg/6fEAXzy6K+IXMCzy79VkKNAUmzhRCCCGEEKJmrTm3Bq2u7DOMvaU9dwXdZcaM6rBLh2Hl/fBNbzi9DnRGPv+qraDzw/DsYbjvO/AIrfk8hRBCCFFrSFFKiKoy4lP9qqlrnf8Hdn5625eubW37sguKeWzJQRbujCl3rF+rJux4aSBrngwzWZAq9WT/INTXTEYsLtExtrMvM4e2quqURQ2wsbBh7sC5tGjUQhE/mnqU13a9Rom2xEyZCSGEEEIIoVdcUszP535WxO4KugsHKwczZVQH6XQQuxuW3g3fD4LIv4yPs7SDHtNg+nEY/SW4Nq/ZPIUQQghRK0lRSoiqYmkD45eBvbsyvv0jiNxwW5f+4tAXtaZtX1x6Lvd+vZdtkZfLHftP72b88HBXXOysKrXSKcDNgbs7+ipi/5xJIauguMryFTXLxcaFBUMW4GHvoYhvvriZTw5+gk6nM1NmQgghhBBC6N+XphekK2ITgyeaKZs6RqeD85vgh+Gw+E6I2W58nLUT9JkJM07CiI/Bxdf4OCGEEEI0SFKUEqIqufjCuMWgslDG102F9OhbuuS+pH38dO4nRcxcbfv2Rqdx9/w9nE/NUcStLFR8cl87/ntXaywtbu5l5akBQVzbuj27QMOy8LiqSFeYiZeDFwuGLMDRylERXxmxkv87/X9mykoIIYQQQghYFbFK8birZ1daNG5hYrQA9C3pz/wGC/vDj2Mhfp/xcXaNYcDrMPMkDHkHHJvUaJpCCCGEqBukKCVEVWvWF4a9p4wVZsLqh6Ao96YulVucy9t73lbEzNW278f9cUxedICrecpVTK4O1vz4WE8mdGt6S9dt6enEiLZeitii3RfIKzKyMa6oM1o1bsXcgXOxVFsq4rMPz2Z9zHozZSWEEEIIIRqyc1fOcST1iCI2IcQ8e/TWCSUaOL4avu4JP02GpOPGxzl6wtD3YMYpGPCKvjglhBBCCGGCFKWEqA49n4K29yljqWfg92f1LQ8qqTa07dOUaHn7t1O88cspNFpl7sGeTvz2dG+6N6u4Vd+NPDVAOTMxI7eIFfsv3tY1hfl19+7Oh30+LBd/a89b7EsyMbtSCCGEEEKIarI6YrXisbudO4P9B5spm1pMUwiH/g++6gK/TIW0SOPjXPxh5Ocw/QT0fg5sHI2PE+ImHIzNqNHzhBBC1DwpSglRHVQqGD0PPFor46d+hn1fV+oStaFtX2ZeMY/830GWGGmnNyTUk5+f6oW/q/1tP09bXxcGhSj3IFq4M4aC4pLbvrYwrxHNRvBi1xcVMY1Ww4xtM4jMMPHhVgghhBBCiCqWXZTNHzF/KGJjW43FysLKTBnVQkV5EP41zO0I62fAlVjj41yD4O758NxR6P44WNnWYJKiPpu96Rzjvglnwfab2/5gwfZoxn0TzuxN56opMyGEEFVJilJCVBdrB5iwHGxclPGNb0Hs7hueWhva9kWl5nDP13vYHZVW7thTA4JYOKkLjjaWRs68NU8PVK6WSs0uZO3hS1V2fWE+k1tP5qHQhxSx3OJcpm2eRmJOoomzhBBCCCGEqDp/RP9Bvibf8NhCZcHYlmPNmFEtUpAJu2bBnHbwz2uQbeI9umdbGPsDPHMQOj0EUtATVehgbAZzt5wH4JMNEZUuTC3YHs0nGyIAmLvlvKyYEkKIOkCKUkJUJ7cguHehMqYrgTWPQGaCydOMte2b0XlGjbXt23HuMmO+3sOFNOUeWNaWauZM6MjLw0NQq1VV+pxdAhrTK8hNEVuwPZriEm2VPo+oeSqVipe6vcSwgGGK+OX8y0zbPI3MwkwzZSaEEEIIIRoCnU7H6khl675BTQfh6eBppoxqidx02Po+zG4HW96FvPITEgHw7QL3r4Ind+vb1KstajZP0SB0C3TlleEhhseVKUxdW5ACeGV4CN0Cb297ASGEENVPilJCVLfg4dD/VWUs97J+o1hNYbnhxtr2dfXsysSQidWZJaD/sLZo9wUe/b8DZBdoFMeaONmwempP7unkW23P/8wg5WqphKv5/HrUdPFO1B1qlZoP+35IF88uinhMZgzPbX2OwpLy/xaEEEIIIYSoCgeTDxKTGaOI1WRb9FonOxn+eUO/MmrnZ2BqklhgX5j0Kzy2BYJH6NvUC1GNpg0IqnRhylhBatqAoGrPUQghxO2TopQQNaH/K9BSuUqEhEPw9yuKkKm2fe/2frfa2/YVabS8tu4k760/g1anPNbW15nfn+lNp6aNqzWHsOZudAlQPseC7dGUXJ+QqJNsLGyYO3AuQS7KDwpHUo/w2q7XKNHKHmJCCCGEEKLqrYpcpXjczKUZ3b26mykbM7oSB+ufhzntIfwrKM41Pq7lMPjPRnhkPQQNlGKUqFHGClPf7Vbucy0FKSGEqNukKCVETVCr9W38GjdTxg//HxxZanhorrZ96TmFPPT9flYdjC937M523qx5ohfeLnbVmgPo27w9c93eUjFpufx1Mqnan1vUDBcbF74Z+g0edh6K+Ka4TXx68FN0OilACiGEEEKIqpOSm8LWi1sVsQnBE1A1pEJL2nn4ZRrM6wyHFoHRLgUqCB0NU3fAg2ugaY8aT1OIUtcXpr7YEs33EWo2xKv44O9zUpASQog6TopSQtQUu8YwYTlY2Svjf74ICYfN1rYvIjmLu+fv4YCRzUBnDmnFVw90ws665nqGDwhuQhsfZ0Vs/rYotLJaqt7wcvDi6yFf42jlqIiviFjB4tOLzZOUEEIIIYSol34+/zMlurIV+XaWdowOGm3GjGpQ8kn9fsZfdYPjK0CrKT9GZQHtJ8LT+2HCMvDpWNNZCmGUvjAVbHh88oqavy9ZsPzAJUPshWGtpCAlhBB1kBSlhKhJXm1h9DxlrKSQ3NWTeXv3m4pwTbTt23Qmhfu+3sulK/mKuK2Vmq8f7Mz0IS1rfAahSqXi2ev2lopIzmZLRGqN5iGqV7BrMHMGzsFSbamIf3H4C/6M+dNMWQkhhBBCiPqkWFvM2nNrFbFRzUfhZO1kpoxqSPxBWDEBvukDp38BjEzws7CGLo/Cs4fh3m+hSXD5MUKY0YW0XMJjyk+evdaSvbF8/k8kiVfzbzhOCCFE7WJZ8RAhRJVqNxYSjsC++YbQbKtcEvNSFMOqs22fTqdjwY5oPvsnkuu7pXm72PLd5K609XWplueujGGtvWjp4cj51BxD7Kut5xkS6tGw2mzUcz28e/BB7w94ZZdyb7U397yJm50bPb17mikzIYQQQghRH2y9uJXL+ZcVsQnBE8yUTTXT6SB2F+z8DC7sND3O0g66Pgq9ngVnn5rLT4hKKigu4ettUXyzI4aiEu0Nx6blFPHVtigW7IhmaKgnk8MCCAtyk/sGQghRy0lRSghzGPo/SDoOcbvZb2vDamflTL3qbNtXUFzCqz+f4NdjieWOdWraiG8ndcHDybZanruy1GoVTw9swYzVxwyx45cy2XU+jX6tmpgvMVHlRjYfSWpeKrMOzzLENFoNM7fNZPHwxQS7yoxNIYQQQghxa1ZHrlY87uTRqf69v9Tp4PxG2Pk5XDpgepyNM3R/HHo+BQ7uNZefEDdhy9kU3vnjNPEZN7fyqUSrY8PpZDacTqaFhyOTwwIY08kXJ1uraspUCCHE7ZD2fUKYg4UVjPs/cp19+K+7m+KQndqq2tr2pWYVMHHhPqMFqXs7+bLy8Z5mL0iVGtXemwA35f5bX22LMlM2ojo93OZhHgx9UBHLKc7hqc1PkZSTZKashBBCCCFEXRZ1JYqDyQcVsYnB1btfb43SauH0r/BtP1gx3nRBys4VBr4JM07C4P9KQUrUSvEZeTy+9BBTlhy6YUHK3rLivaajUnP472+n6fnhFt769RTnU7KrMlUhhBBVQIpSQpiLowez2w8l0Uq5YHFG+lX883NMnHTrTiVkcvf8PRyLv6qIq1Tw6ogQZo3vgK2VRZU/762ytFAzrb9yw9IDFzLYH5NupoxEdVGpVLzU9SWGBgxVxFPzU3ly85NkFmaaKTMhhBBCCFFXXb9KytXWlSEBQ8yUTRUqKYZjK+HrHrDmYUg+YXycoxcM+0BfjOr/Etg1qtE0haiMQk0JX209z9DZO9h0JuWGY+9qWsJH3Up4frDyPoGVhfFWfblFJSzbF8fQ2Tu5f+E+/j6ZhKaCdoBCCCFqhhSlhDCT/Un7WZ2wTRHrml/AxKvpsOpBKKi6G/F/nkhi7Dd7ScosUMQdrC34blJXnuwfVCt7Lt/b2Q9vF+XKLVktVT9ZqC34qO9HdPborIjHZMbw3NbnKCwpNFNmQgghhBCirsktzuWPmD8Usfta3oe1hbWZMqoCmkI49APM6wy/Pglp54yPc2kKd34B049Dr2fAxrFm8xSiknadv8yIObv4fOM5CopvXCx6fnAQQ3z1q6Qe7xPAK8NDDMeKS3QMCfWgeRMHk+eHx6Qz7ccj9PlkG/O2nOdytny+FEIIc5KilBBmkFucy3/3/FcRs9NqeTctQ/+PMiMafnlS35LhNmi1OmZvOsfTK46Ue5Pn72rHuqd6M6S15209R3WytlTz5HWrpXadT+P4dau9RP1gY2HDl4O+JMhF+f/8SOoRXtv1GlqdzGoTQgghhBAVWx+9ntziXMNjtUrNuFbjzJjRbSjKhfD5MLcDrJ8JVy8aH+fWEu5ZAM8dgW5TwKp2tGUX4npJmfk8/eMRJi06QExabrnj9tbKDi6vDA/h8T4Biti0AUGKwtTms6mM6+LH8ik9GNbaE7WJObfJWQXM2nSOXh9v4bmVRzkcl4FOV3FLQCGEEFVLilJCmMHsw7NJzFXu6zS9xBF/jaYsEPkX7Jp1y8+RV6ThmZVHmLvlfLlj3Zu58tvTfQj2crrl69eUCd38cXe0UcRktVT95WLjwoIhC/Cw81DEN8Vt4tODn8oHBiGEEEIIcUM6nY5VkasUsf5+/fF29DZTRreoIBN2fgZz2sE/r0O2ib1WPdvBuMXw9H7o+IB+/2IhaqHiEi0Ld0YzeNYO/jxZ/u+zWgWdmzYir6jEEHtleAjTBgSVGwvlC1OfbIjkZEImCyd3Zdcrg3hqQBCuDsZXRxaX6Pj9eCL3LQjnzi93s+rARfKveV4hhBDVS4pSQtSw/Un7y/U37+rZlfvv+wns3ZSDt30A5zff9HMkXs1n3Dfh/HUyudyxid38WT6lh8k3Z7WNrZUFj/dtpohtOpNCRHKWmTIS1c3b0Zuvh3yNg5Wy/cKPZ39kyeklZspKCCGEEELUBYdTDhN1VTmJbWLIRDNlcwty02HLezC7HWx9H/JM7Knr1w0e+Ame3AVtxoC69uwPLMT19sWkc+eXu/jwrwhF0alUB/9GfHRvO45cvGqI3aggVap8YSqCg7EZ+Day4+XhIYS/NojZEzrQ0b+RyWucScri1XUn6fHhZt5ff4ZYI6u3hBBCVC0pSglRg4y27bO0491e76JuHABjfwDVtf8sdfDzFMi4UOnnOHLxCqO/2sPpRGXRRq2Ct+9qzUf3tsPasm7903+wZwCN7JUz/uZvizZTNqImBLsGM2fgHCzVlor4rMOz+CvmLzNlJYQQQggharvrJwAGOAfQ07unmbK5CVlJsOF1mNMWdn0OhSb2GG7WDyb/DlM2Qas7oBbuDSxEqdTsAmauPsbEhfs4l5JT7ngjeys+urcdv0zrxYRuTZk+uCVQuYJUqWsLU9MHt6RboKvhmI2lBWM6+fHr073545k+jOvih42J+yFZBRq+332BAZ9v5+EfDrA1IoUSrXTqEEKI6mBZ8RAhRFUx2rav83T8nf31D5oPgCHvwKZrClcFV2H1JJiyEaztb3j9dUcu8eq6kxRplHvvONlaMv+BzvRr1eT2fwgzcLSx5NFezZi9uWwz3/UnEpkxpCVBTWTj3vqqp3dP3u/9Pq/uelURf2PPG7jZudHDu4eZMhNCCCGEELVRWn4am+OUnSbGtxqPWlWLJ+VdiYXdc+DYj1BSZHpcq+HQ90Xw71ZTmQlxyzQlWpbvi2PWxnNkF2qMjpnYzZ+Xh4courjMHNqKPi3dFYWlypg2IIiugY1veF47Pxc+G9eB10eG8tOheJbvjyM+I9/o2B3nLrPj3GX8Xe14qEcA47v607iOdJsRQoi6oBa/MxOifjHWtq+LZxfuD7lfObDXc9D6bmUs5ST8MR1M7KdTotXx8d8RPP/T8XIFqebuDvz6dO86W5Aq9UivQBxtyuroOh0s2C6rpeq7O5vfyfNdnlfENFoNM7bNIDIj0kxZCSGEEEKI2mjtubVodGU3wG0tbLm7xd03OMOMLp+DX56ELzvD4f8zUZBSQet74Ild8MBqKUiJOqG0e8s7f5wxWpBq4+PMuqd68fF97Y1uK3CzBambPa+xgzVP9A9i+4sDWfRwV/rf4F5JfEY+H/0dQc+PtvDSmuOcvGRiBaMQQoibIiulhKgBecV5vL33bUXMztKO93q9V37WnkoFd8+Hy5FwOaIsfvIn8OsKPZ5QDM8p1DBj1VE2n00t97x9W7rz1f2dcbGv+5vduthbMTksgK+vKUT9cjSB6YNb4u964xVkom57pM0jJOcmsyJihSGWU5zDU5ufYvnI5XVv02ohhBBCCFHlNFoNa86tUcRGNh+Ji42LmTIyIemEvj3fmd8BE63BVBbQfjz0eR6atKrR9IS4VRm5RXzydwSrD8UbPe5ka8mLw4J5qGcAFmrzt520UKsYHOrJ4FBPYtNyWb4vjp8OxZNVUL6QVqjRsubwJdYcvkSnpo2YHBbAyHbe2FjKXm5CCHErZKWUEDXgi8NfkJCToIgp2vZdz8YJJiwHG2dl/J/XIW6v4WF8Rh73fb3XaEHqkV6B/N8j3epFQarUlD7NsLUqe9kq0er4dqeslqrvVCoVL3d7maEBQxXx1PxUpm2eRqapfvtCCCGEEKLB2BG/g9Q85eeiCcETzJSNEfEH4Mfx8G1fOPMbRgtSFtbQ9T/w3BEY840UpESdoNXqWLH/IoNmbTdZkLq3ky9bXxjAw70Ca0VB6nqB7g68Oao1+18fwsf3tqO1t7PJsUcvXmXm6uP0+mgrn26IIOGq8RaAQgghTJOilBDVrNJt+67n3lL/QeRaWg389DBkJbE/Jp3RX+0mMiVbMcRSreLDMe14Z3QbLC3q1z9xN0cbHugeoIj9dPASKVkFZspI1BQLtQUf9f2Izh6dFfHozGie2/ochSWFZspMCCGEEELUBisjVyoet2/SntZurc2Uzb90OojZDotHwaKhcP4f4+Os7CHsGZh+AkbNhsaBNZmlELfs5KVMxizYy+u/nORqXnG54608HVk9tSdfTOhIEycbM2R4c+ysLZjYvSl/PteHtU+GMbqDD1YWxoto6blFfL09mr6fbGXq0kPsPp+GzsSWC0IIIZSkfZ8Q1eim2vYZE3In9HsJdn5WFstNJe2HCTyS+iL5WuVS8cb2Vnz9YBfCgtyqIv1aaWq/5izfF0dRiX7vrKISLQt3xvDWKDN/4BTVzsbChi8HfcnkvycTkxljiB9JPcLru17ns/6f1e5NrIUQQgghRLWIyYxhf9J+RWxi8EQzZYO+GHXuH/3nuIRDpsfZOEP3qdDzKXCov5/hRP2TmVfM5xsjWb4/zujW1w7WFswY0opHegdiVQcny6pUKroGutI10JXU7FBWH4jnx/0XSTYyIVarg41nUth4JoWgJg5M6hnAfV38cLKtP11rhBCiqtW93wxC1CE33bbPmAGvQYshipD71eO8pl6qiLXydOS3p/vU64IUgJeLLeO6+iliK/ZfJD1HVso0BC42Lnwz5Bua2Ck3o90Yt5HPDn4mM9OEEEIIIRqgnyJ/UjxubNOYYYHDaj4RbQmcWgff9IWVE0wXpOzdYNBbMPMUDH5LClKiztDpdKw9fIlBs7azbJ/xgtSd7b3Z8sIAHu/XvE4WpK7n4WTLs4NbsuuVgSx4sDM9m7uaHBt9OZd3/jhDjw+38OavJzl3XWcbIYQQenX/t4MQtdQtt+27ntoC7v0OrYuybd1ky02MtdgBwOAQD36e1oumbva3lXNd8WT/IEUf6vziEn7Yc8GMGYma5O3ozYIhC3CwclDEl59dztIzS02cJYQQQggh6qO84jx+i/pNERvTcgw2FjXYKqykGI6tgPk9YO2jkHLS+Dgnb7jjQ5hxEvq9CLYuNZejELcpIjmL8d+G8+Ka46TnFpU73tzdgeVTejD/gc54udiaIcPqZWWhZkQ7b1ZNDWPjzH5M6hmAg7WF0bF5RSUs33eRYbN3MuHbcP48kUTxv91ehBBCSPs+IaqFsbZ9tha2lW/bd52YXGs+KprBPN3L2KrK+jR/YPkDrTuF8fC9XWvlZqHVxd/Vnns6+vLzkUuG2NK9cUztF4SLnSyRbwiCXYOZM3AO0zZPQ6PVGOKfH/ocD3sPRjQbYcbshBBCCCFETfnrwl/kFOcYHqtQMT54fM08eXEBHFsOe+bC1YumxzUKgD4zoOODYFn799UR4lrZBcXM2XyexXtjKdGWXxpla6Xm2UEteaxvM2wsjRdp6ptWnk68d09bXh4ezLojCSwNjyX6cq7RsfsvZLD/Qgaezvo9su/v7o+Hc/0r2gkhxM2QlVJCVANjbftmdJlxc237/rXr/GXumb+HTVc8ebX4ccUxG1Ux/4n/Lxb5GbeVb1301MAgVNfU4bILNSzdG2u2fETN6+ndk/d6v1cu/vru1zmQdMAMGQkhhBBCiJqk0+lYFbFKEevn1w9fR9/qfeKiXNj7FcztAH++YLog5d4KxnwLzx6Brv+RgpSoU3Q6Hb8fT2TwrB0s2n3BaEFqaGtPNs3sz9MDWzSYgtS1nGyteLhXIJuf78+Kx3pwRxtPTM0XTskqZPbmc/T6eCvPrjzKwdgMaT8vhGiwZKWUEFWsqtr26XQ6lobH8e76M4Y3f79q+9BBE82jlv+UDcy8CD//Bx5ap2/110AENXFkZDtv/jyRZIgt2nOB//RphoONvLQ1FKOajyI1L5XZh2cbYhqthunbprNkxBJaNW5lxuyEEEIIIUR1On75OJFXIhWxCcETqu8J86/Cge9g39dwo4mBXu2g74sQOhrUMhdY1D1RqTn897dT7I1ON3rc39WO/41uw6AQzxrOrHZSqVT0auFOrxbuJF7NZ8X+i6w8cNFom0ONVscfxxP543giIV5OPNwrkLs7+mBvLfcxhBANh7w7EqIKVVXbviKNltd/OcXbv58uNxvpF/cnKfTpoTwhZjtsff9W066znhnYQvH4al4xP+6PM1M2wlwebfNouaJvTnEO0zZPIzk32UxZCSGEEEKI6rYyYqXisZ+jH719e1f9E+Wmweb/wZx2sO190wUp/x7wwBp4Yhe0uUcKUqLOySvS8MmGCEbM3Wm0IGVtqea5wS3ZNLO/FKRM8Glkx4t3BLP3tUHMmdCRzk0bmRwbkZzNa+tO0uPDLbz7xxkupBlvASiEEPWNlOGFqEJV0bYvI7eIacsPs/9C+Q86I9p6MWt8B2wKW8O3/SHnmhvuu78An07QevQt51/XhHo7MyTUk81nUwyx73ZdYHJYILZWDWfVWEOnUql4pdsrXM67zOaLmw3x1LxUpm2exuLhi3GxkU2khRBCCCHqk/T8dDbGbVTEJgRPuKU9fE3KSoS98+DQ/4Em3/S4Zv2h30sQ2AdFj3Eh6gidTsc/p1N4b/0ZEq4a/7vev1UT/je6DYHuDjWcXd1kY2nBPZ18uaeTL6cSMlkaHstvxxIp1GjLjc0u0PDDngv8sOcC/Vo1YXLPAAaGeDSovcOFEA2LTNsRooocSDpQrm1fZ4/ON9W271xKNnfP3220IPXc4JbMf6Czfkm3kxeMXwpqK+WgX6fB5XO3lH9d9cwg5Wqpy9mF/HQo3kzZCHOxUFvwUd+P6OTRSRGPuhrF9G3TKSwpNFNmQgghhBCiOvwS9Qsarcbw2MbChnta3FM1F8+4AH9M1+8Zte9r0wWpViPgsS3w8O/QrK8UpESdFJeey6OLD/Lk8sNGC1I+LrZ881BnFj/aTQpSt6itrwufju3A/tcH88bIUJq62pscu/PcZR5beoj+n23jmx3RXDHSAlAIIeo6KUoJUQXyivP4797/KmK2Fra817vybfu2nE3h3q/3Ep+hfBNoY6lm3v2deH5oK9TXzpJp2gOGf6S8SFEOrH4QCrJu6eeoizr6N6JvS3dF7Jvt0RQZmX0k6jdbS1vmDZpHM5dmivjhlMO8sfsNtDr5OyGEEEIIUR+UaEv4KfInRWx44HAa2Ta6vQunRsC6qTCvCxxeDCXGbgaroM298OQeeGAV+HW9vecUwkwKikuYvekcQ2fvZHvk5XLHLdUqnuwfxOYX+jO8rTcqKbretkb21jzerznbXxzA/z3SjYHBTUzWsi9dyefjvyPo8dEWXvjpOCcuXa3RXIUQojpJ+z4hqoCptn1NnZtWeK5Op2Phzhg+3hCBTrl9FF7Otnw3uSvt/Ey0Huv2GCQcgeMrymJp5/QrpiYsbzAz9Z4Z2IJd59MMjxMzC/j1aALju1W+baKoH1xsXPhmyDc89NdDXM4v+2D1T+w/eNh78HK3l82YnRBCCCGEqAo7L+0kKTdJEZsYMvHWL5h0HHZ+Dmf/AHTGx6gtof0E6DMT3Fve+nMJUQtsi0jl7d9PczEjz+jxsOZuvHdPG1p4ONVwZg2DWq1iYIgHA0M8iEvPZfm+OH46dInM/OJyY4s0Wn4+comfj1yig38jJvcM4M723rJlgRCiTpOVUkLcpttp21dQXMILa47z0d/lC1Id/Bvx+zO9TRekQF90GvUFeLVXxiPWw+7Zlf0R6rwezd3oFthYEft6exSaElkZ0xD5OPrw9ZCvcbBStpZYdmYZS04vMVNWQgghhBCiqqyKXKV43NatLW3d2978hS7ug+Vj4dt+cPZ3jBakLGz0kwGfOwr3fC0FKVGnXbqSx9Slh3h08UGjBSkPJxvmTuzIisd7SEGqhgS4OfDGna3Z99pgPr2vPW18nE2OPR5/lRfWHKfXx1v5ZEMEl64YLyoKIURtJ0UpIW7D7bTtS80u4IHv9rHuSEK5Y/d09GH11J54ONtWnISVnX5VlJ2yKMPW9yBqS8Xn1xPPDFJ+OIxNz+PPk0kmRov6LsQ1hNkDZmOpUi4I/vzQ5/x94W8zZSWEEEIIIW5XXFYcexP3KmITQiZU/gI6HURvg8Wj4Ic7IGqT8XFWDtDrWZhxAu6cBY0q7oIhRG1VpNEyf1sUQ77YwcYzKeWOW6hV/Kd3M7a80J+7O/pKqz4zsLO2YHw3f9Y/24efp/Xino4+WFkY//+QkVvEgu3R9Pt0G48tOcSu85fRak2s8hRCiFpI2vcJcRtmH559S237TiVkMnXpIRIzC8ode+mOYJ4aEHRzbwIbB8DYH2D5fVC6b45OCz9Pgak79MfruX4t3Wnv58KJS5mG2PxtUdzV3ke5F5doMMJ8wni397u8vvt1RfyN3W/gbudON69uZspMCCGEEELcquv3knKxcWF44PCKT9TpIPJv2PU5JBw2Pc7WBbo/AT2ngb3rbWYrhPntiUrjrd9OEXM51+jxrgGNee+etoR6m16hI2qOSqWiS0BjugQ05o07W7P64EV+3H+RJCP3j7Q62Hw2hc1nU2ju7sBDPQMY29UPZ1srM2QuhBCVJyulhLhFB5IOlGsbUZm2fX+fTGLcN+HlClL21hYsnNSFpwe2uLVZSUGDYNCbylj+FVj9EBTn3/z16hiVSsXTA1soYudScozOAhMNx11BdzGj8wxFrFhbzPSt0zl35Zx5khJCCCGEELckX5PPL1G/KGJjWozB1vIGHSa0JXByLSzoDavuN12QsneHwW/DjFMw6A0pSIk6LzmzgGdWHOHB7/cbLUi5OVjz2dj2/PREmBSkaqkmTjY8M6glu14eyDcPdaZXkJvJsTFpuby7/gw9P9zC67+cJCI5qwYzFUKImyMrpYS4BbfStk+n0zFvaxRfbCp/I9y3kR3fP9z19t8I9nkeEo7o95QqlXwC1s+Eexbo96Cqx4aGehLs6URkSrYh9tW289zRxlPaDzRg/2n7H5JzkxVF5OzibKZtnsaPI3/Ey8HLjNkJIYQQQojK2nBhA9lFZe/1VagY32q88cElxXBitX6v3fQo0xd18oHez0Hnh8HavoozFqLmFZdoWbI3ltmbzpFbVFLuuEoFD/UI4MVhwbjYy4qausDSQs3wtt4Mb+tNVGo2y8Lj+PlIAjmFmnJj84pKWLH/Iiv2X6R7oCuTewVwRxsvrCxkXYIQovaQVyQhbsHNtu3LLyrh2ZVHjRakugU25vdnelfNzCSVSl98crtu893jK+Hg97d//VpOrVbx9CDlaqlTCVlsP3fZTBmJ2kClUvFq91cZ3HSwIp6al8q0zdPIKpIZZEKI+uNIypEaPU8IIWqKTqdjZcRKRay3b2/8nf2VA4vz4cB38GUn+O1p0wWpxoFw11yYfkzfqk8KUqIeOHAhg1Ff7ub9P88aLUh18HPht6d78949baUgVUe18HDif3e3Zd/rg3nv7ja09HA0OfZAbAbPrDhK74+3MnvTOVKyyrcAFEIIc5CilBA36Wbb9iVnFjD+23DWn0gqd2x8Vz9+fKwnbo42VZegrTNM/BGsr3tjsuFVuLi/6p6nlrqznTfN3B0Usa+2RqHTyaafDZmF2oKP+35MJ49OinjU1Simb51OUUmRmTITQoiq8/Wxr3l4w8MsOrnops5bdHIRD294mK+PfV1NmQkhxO07mXaSsxlnFbGJwRPLHhTmwJ4vYU57+OtFyIw3fqEmIXDvd/DMYejyCFhW4WcxIczkcnYhz/90jPHfhis6h5RysbPigzFtWfdUb9r7Nar5BEWVc7SxZFJYIBtn9mPl4z0Z0dYLCxP7aadmFzJ3y3l6f7yVp1ccYX9MutwjEUKYlRSlhPhXZWYIG2vbZ622Ntm271j8VUZ/tZuTCZmKuFoFb41qzSf3tcfashr+GTYJ1q+YupZWAz9Nhuzkqn++WsRCrWLagCBF7HDcFfbFZJgpI1Fb2Fra8uXAL2nm0kwRP5RyiNd3v45WpzVTZkIIcfuOpBxhwXH97/45R+ZUujC16OQi5hyZA8CC4wtkxZQQotZaHbla8djHwYc+vn30++hu/wTmtIVNb0FuqvELeHeA8ctgWji0Hw8WspuBqPtKtDqWhscyaNZ21h1JMDpmfFc/tr7Qnwd7BJgsWoi6S6VSERbkxoKHurD7lYE8O6gF7iYmPmu0Ov48kcSEhfsYMXcXP+6PI9dIC0AhhKhuUpQSgsrPLDbWtq9IW8T6mPXlxv52LIHx34aTml2oiDvZWPLDI92Y0qdZ9e5z1Ho09JmpjOUkw5pH9P3V67ExnXzxbWSniH217byZshG1SSPbRiwYsgB3O3dF/J/Yf/j80OdmykoIIW5fZ8/OzOg8w/C4MoWpawtSADM6z6CzZ+dqylAIIW7dlYIrbLiwQREb3+xOLLa+B7PbwfYP9cUpY/x7woNrYeoO/WcktdwGEfXD0YtXuHv+bv7722myC8oXFkK9nfl5Whifju1Qtd1ZRK3l7WLHC8OC2fvqIOZO7EjXgMYmx0YkZ/PGL6fo+eEW3vn9NNGXc2owUyFEQyfvxkSDV9mZxYdTD5dr21fq2pnFWq2Oz/6JYPqqYxRplCsvAt3s+eXpXgwI9qjCn+AGBr0FzQcoYxfDYeObNfP8ZmJloebJ/s0VsT1R6Ry5aOKDqmhQfB19WTBkAQ5WyjaPy84sY+nppWbKSgghbt+UdlMqXZgyVpCa0m5KNWcohBC35peoXyjSlrVbtkLNmH8+gt2zoah8qzIAmg+ER/6E/2yAlkP1++8KUQ9cyS3itXUnuHfBXk4llN8f18nGkrfvas0fz/SmS4CrGTIU5mZtqebujr6sndaLP5/rw8Ru/thaGb8FnF2oYfHeWAbP2sGkRfvZdCaFEq209hNCVC8pSokGrzIziwt1hbx38D2T1yidWZxbqOGJ5YeZvy263JjeLdz49enetPBwqrLcK6S2gPt+AJemyvj+b+D4auPn1BPjuvrTxEk5G2z+VhObHIsGJ8Q1hC8GfIGlStm25bNDn5WbhSuEEHWJscLUkrNLFGOkICWEqEtKtCX8FPmTIjY8OxvXojzjJwSPhMe2wuRfIbCPFKNEvaHV6lh14CKDZm1n5YF4jG0JNKaTL1te7M+jvZthaSG3/AS08XHh4/vas/+1Ibx5ZygBbvYmx+46n8bjSw/R79NtfL09ivScQpNjhRDidshvKCGoeGbxxvyNJOYmGj239EZOfEYe9y3Yy6YzKeXGTA4LYPGj3Wlkb13luVfIwQ0mLANLW2X8j+mQdKLm86khtlYWPNFPuVpqS0QqpxMzTZwhGppePr14t/e75eKv736dg8kHzZCREEJUjevf18w/OZ8/8/6kQFfAkrNLpCAlhKhT9pxZVa6F+oTs61ZHqdTQ9j6YthfuXwl+XWowQyGq36mETO77Zi+vrjvJlbzy7fhbejiy8vGezJ7QEQ8nWyNXEA2di70Vj/VtzrYXBrD40W4MCvEwWbNPuJrPpxsiCft4K8//dIxj8VdrNFchRP0nO3sK8a/SGzKlN2rmHJlDcXEx+cX57C/ab/Sc0hs5B2MzeGLZYTJyixTHLdQq3hndhkk9A6o19wr5dIRRs+HXaWUxTT6sfgimbgf7+rmk/4EeTZm/LUrxpv3rbdHMf1D2yxB6dwXdRUpeCnOPzDXEirXFTN86nSUjltCycUszZieEEBXLLc4lKSeJpFz9f8m5ySTnJpOUm4SztTNZRfq2PuFF4YQXhcPJsnPHthzLxJCJZspcCCEqkHgUdn7Oqiv7wb5sv9jQwiLaF/77uUttCR0mQp/nwS3ITIkKUX0y84v5YmMky/bFYayjmr21BdMHt+Q/fZphJSujRCWo1SoGBHswINiDi+l5/Lg/jtWH4rlqpNhZpNGy7kgC644k0N7PhUk9A7irgw+2VhZmyFwIUZ9IUUqIa1xfmJp/cj52KjujY0sLUj8djOeNX09SXKJ8h+hiZ8WCBzvTq4V7teZcaR0fgITDcPD7stjVOPj5MXhwjb7VXz1jb23JlD7N+HzjOUPsr1NJRKVm12wbRVGrTWk7heTcZFZHlrW0zC7O5snNT/LjyB/xcvAyY3ZCiIasWFvM5bzLhiJTadHp2q/ZpvZSqYS159fy8/mfaebSjNZurWnj1oY27m0IbhyMvZXp1i5CCFGt4sJh1+cQtZl4Swt2+/koDk/MykZlYQOdJ0Pv56BRUxMXEqLu0ul0rDuSwEd/nyUtp8jomJHtvHhrVGu8XYzfsxCiIk3d7HltZCgzh7bi9+OJLAuP42SC8e4yJy5l8tLaE3z411nGd/PnoR4B+LvK+0UhxK2RopQQ/zoYm0G3QNdyhal8XX65sTM6z+CRNv/h/fVn+H73hXLHW3g48v3krgS6O1Rrzjftjo/0LfsuHSiLRW+B7R/BoDfNl1c1mtwrkG93xpBdoAFAp9OvlvpiQkfzJiZqDZVKxWvdX+Ny3mW2xm81xFPzUpm2eRpLRizB2drZjBkKIeojnU5HVlGWvtiUU36VU1JuEpfzL6PVaas3D3TEZMYQkxnD+pj1AKhVapq7NKe1W2tDsSrYNRg7S7npJYSoJjodRG+FXbMgbo8hvMbJCd01/aWctFpGtHsYes0AJ08zJCpE9YtMzuat305x4EKG0ePN3B343+g29GvVpIYzE/WVrZUF47v6M66LH8fir7IsPI71J5IoKin/PvRKXjHf7ohh4c4YBod4MCkskL4t3FGrZf8+IUTlSVFKCGD2pnPM3XKeV4aHMG1AEFPaTeFS9iXWnl9bbuz0ztMZ13Iy/1l8kB3nLpc7PiC4CV/e3wlnW6uaSP3mWFrD+CXwbX/ITS2L7/wMfDpByJ3my62aONta8UivQOZtjTLEfjueyIwhrWh6gw0+RcNiobbgk36f8PjGxzl2+ZghHnU1iulbp/Pt0G+xtjDDnnBCiDqrsKSQlNwUo231Sh/na8pPfKkNtDotUVejiLoaxe/RvwNgobKgeaPm+tVUbm1o7daaYNdgbCxszJytEKJO02rh3N+w83NIPKI4VKBSsc5JOcnvnuAJ2PX6b01mKESNySnUMHfzOX7YE0uJkV59NpZqnh3Ugsf7NcfGsv51OhHmp1Kp6NS0MZ2aNub1O0NZfTCeH/fFkZhZUG6sTgebz6ay+WwqzdwdeKhnAGO7+OFiVwvvhQkhah0pSokG72BsBnO3nAfgkw0RADzZvznnr54vN9bJyonB3vczZv4eoi/nljv+eN9mvDoiFIvaPEPE2UdfmFpyF2g1ZfF1T8DUbeBe//bQebR3M77fdYH84hIASrQ6FuyI5qN725k5M1Gb2FraMm/QPCb9PYnYrFhD/FDKId7Y/Qaf9PsEtUr6tAsh9EWbjIKMsiJTTvnWeukF6TWak6utK94O3ng7eOPl4IWXgxdn08/y54U/DWNssKGQQsNjNWq0VG4lVomuhPNXznP+ynl+jfoVAEuVJS0atyhr/efWhpaNW0oRX4j6LC4cAsJu/zxtCZz+Rb8yKvWM0VP+cbAn00J54318m8k3/9xC1HI6nY4/Tybx3vozpGQVGh0zJNSTt+9qLe3SRI1xd7Th6YEteKJfc7ZEpLIsPI7dUWlGx15Iy+W99Wf4/J9I7unkw6SegbT2kW4jQgjTpCglGrxuga68MjzEUJAq/drTuyfHLx9XjM0uzubuZe+RdbmvIq5Wwcf3tWd8V/+aSfp2BfSCYR/AhlfKYkXZsPoheGwz2NSv/ZZcHax5qGdTvttV1mpx7eF4nhvcQvpvC4VGto34Zug3PPTXQ6Tll73h3hC7AQ97D17q9pIZsxNC1JS84jzFqqbrVzol5yZTrC2/GXR1sbWwxcvBS190cvQu+/7fApSnvSe2lraKcxadXKQoSA2zHUY/234k+Scx/+R8ALRomRg8kaBGQZxOP82Z9DNEX42mRFdSqbw0Og0RGRFEZESw7vw6ACzVlrRs1JI27m0MxaqWjVpiZSGzZoWo87Z9BDs+hiHvQJ+ZlT9v92zY/A70fxX6vgAnVuljGTGmz3H2ZbWvDxSkGEJh3mEEugTeavZC1ErRl3N4+7fTJm/2+zW245272jCktbSrFOZhaaHmjjZe3NHGi6jUHJbvi+Pnw5fILtSUG5tfXMLKA/GsPBBPt8DGTAoLZHgbL6wtZXKnEEJJilJCANMGBAFlBanZB7/BxmOD4bgFFpSgv0Gjc/0Ta00JRekDALC3smDplO50DXSt2aRvV48nIOEwnPypLHY5An57GsYtAVUtXu11Cx7v25wl4XEUafQzwotLdCzcGcPbd7Uxc2aitvF19OXrwV/zyIZHyNPkGeJLzyzF096TyTJDV4g6TaPVkJafZljhlJyXrP96TREqqyirxvJRoaKJfRNDkcnbwRtPB0/FYxcbF1Q38Xt50clFhr0xAZ5u9zTe8d4APBz6MFZWVobjqyJXMaPzDN7r/R4A+Zp8IjMiOZN+xlCoismMqfTeVhqthrMZZzmbcdYQs1Jb0apxK/1qqn+LVUGNgrBSS6FKiDojLlxfkAJ9gQkqV5gqLUiB/vyDiyCvfAt0g8bNoM9MTvt14OSGSYpDE0Mm3nTaQtRW+UUlzNt6nu92xVBcUr5Vn7WFmif6N+epAS2ws5ZWfaJ2aOHhyDuj2/DSHcH8cjSBZeFxRKZkGx17MPYKB2Ov0MTJhvu7N+WB7k3xcrE1OlYI0fBIUUqIf5UWpq4vSA2xGUZq0gAOanYa4qVfXQqH8cvTvfFrXAeX0KtUcNdcSD0LKSfL4md+g71fQu/p5sutGng42zKhqz/L9sUZYisPXOSpAS1o4iT7YQilULdQZg+czdObn0ajK5sB9tmhz/Bw8GB44HAzZieEMEWn05FVlFVu/6ZrVzql5qVWeiVQVXCycsLLUb+yycveq9xKpyb2Taq0OHN9QWpG5xk80OIBNsZvNMSmtJsCYBhX+nVKuynYWdrR0aMjHT06GsbnFecReeXfQlXaaU6nn+ZC5gV0lL+JZkyxtpjT6frzOKePWautCXENIdQt1FCsau7SHEu1fDwRolYKCNOvkCotMFWmMHVtQaqUqYJUk1D9Kqo2Y8DCklV73lIc9nLwop9fv1tIXIjaRafTsfFMCu/+cYaEq8b3luzb0p13725LM3cHo8eFMDcHG0se6hnAgz2asv9CBsvC49hwOtnoXmiXswv5cst55m+L4o42nkwOC6RHM9ebmnAlhKh/5FOfENewdtuuKEgVpg5nZ04/0gvVwAAARWHqPx1a4dd4aM0nWlWs7WHCMljYHwoyy+Kb3wHvDtB8gLkyqxZP9G/OygMX0fz7RqmgWMui3Rd4dUSImTMTtVEvn1682/tdXt/9uiL++q7XcbN1o5tXNzNlJkTDVVxSTHJesmIvp+S8f1vq5ei/XrvCsbpZqizxdPAs106v9LGXgxdO1jXXEtdYQWpKuynk55e/6XWjwtT17K3s6eTRiU4enQyx3OJcIjIiDEWqM+lnFPvxVaRIW8SJtBOcSDthiNla2BLsGkwbt7LWf81cmmGhlhniQtQKpQWo6wtTXZ4sP3bbh7Djk4qv6dMJ+r4IwSNBrW/vlFmYyd8X/lYMG99qvBStRZ13MT2Pd/44zdaIVKPHvV1s+e+o1gxv6yU37EWdoFKp6NncjZ7N3UjOLGDFgYusPHCRy9nl90Yr0er462Qyf51MppWnI5PCArm3ky8ONvLaLkRDJP/yhfjX9TdyClOHU5Q+gGu3KS9t2VdamPr6+JdYW6iN3sCpM1ybwX2L4MdxUDrjWaeFNY/CEzugUVOzpleV/Brbc29nX346dMkQWxYey5P9m9PIXjZlF+XdFXQXKXkpzD0y1xAr1hYzfet0loxYQsvGLc2YnRD1i06nI6MgQ7Fv07WrnJJyk0jPT6/06pyq0NimsXIvJ3svw6onbwdv3Gzdak3B5EjKEaMFqRsxVpjq5NGJzp6dK3w+BysHunh2oYtnF0MsuyibiIwIxYqqi9kXK/0zFJQUcPzyccWennaWdoS4higKVQHOAbXmz12IBsdIYcqyuBgI1j/OvQyrnoS4PTe+TtNe0O8FCBpcrm34r1G/UlhSdkPTUm3JmJZjqiZ/IcygoLiEb3fE8PX2KAo15dvhWqpVTOnbjOcGtZQb9KLO8nKx5fmhrXhmYAv+OZ3M0vBYDsZeMTr2XEoOb/16ik//juC+Ln481DOAFh6ONZyxEMKc5LedEBifWbzwjwBSKD+74w6/++nYNqRSM4vrjJZDYeAbsO39slh+BqyeBP/5B6zqT9/faQNasPbwJUpXlecWlbB4bywzhrQyb2Ki1prSdgrJucmsjlxtiGUXZzNt8zSWj1yOl4OXGbMTou7I1+SXLzj9u5dT6b5ORdqiGsvHxsKm3Mqm0sel+zrZWdrVWD63q7NnZ6Z1mMaC4wsqVZAqdW1halqHaZUqSJniZO1EN69uipWkWUVZnE0/a1hNdTrtNJdyLt3gKkr5mnyOph7laOpRQ8ze0p5Qt1BDkaqNWxuaOjdFrZJNtIWoEdcVpqx2fECox51Y6oqw/fo/oNWYPjdoMPR7EQJ6GT2s1WkV77kAhgYMxd3OvSoyF6LGbY9M5e3fTxOXbnwld8/mrrx3d1taetbcymohqpO1pZq7OvhwVwcfziRmsWxfHL8eTSC/uHz77OxCDYv3xrJ4byx9WrgzKSyAwSEeWFrIezoh6jspSokGz9TM4v6e2Qz5YqdirJONJfPu7wzob9jcysziWqvvC5B4BCL/KoslHYO/XoDRX5WbwVhXNXN3YFR7H34/nmiI/d+eWKb0aYaTrWy4LspTqVS81v01LuddZmv8VkM8JS+FaZunsWTEEpytnc2YoRDmV6ItIS0/TVFwuv7r1cKrNZaPChXudu6KItP1K50a2zSud61xnur4FD29e970+5Ep7aZU2/sYZ2tnenj3oId3D0MsszBTX6D6t1B1Jv0MCTkJlb5mniaPwymHOZxy2BBztHI07E9VWqzyd/Kvd/+Phag1+syEkmLY9gEArVL/vPH4kFH6zxu+N36dCU8MJz47XhG7P+T+20pVCHNIuJrPe3+cYcPpZKPH3R1teGtUKKM7+MjvKlFvtfZx5qN72/HqiBDWHr7E8n1xXEjLNTp2d1Qau6PS8HGx5cGeAUzo5o+7o+z/LUR9JUUp0eCZmlm86Uz5Ps/ZhRoWbI9m2oCgKp1ZXCuo1TDmG1g4EDKiy+JHl4NvV+j6qPlyq2JPD2yhKEpl5hezfN9Fpg0IMmNWojazUFvwSb9PeGzjY4q2UlFXo5ixbQbfDPkGawtpASnqr+yibEOB6dq2eqUrnVLzUtHobjAzvorZW9rj4+ij2LtJscrJ3hMri4Y50eBW34/U5PsYFxsXwnzCCPMJM8SuFFwxFKhOp+tb/yXnGr+RZ0xOcQ4Hkw9yMPmgIeZk5URrt9a0dm9tKFb5OfrJzT8hbodOB/H74dgKOP3Ljceq1ND2PujzPHi2rtTlV0WsUjxu1bgVHZt0vMVkhah5RRot3++OYd6WKKMrQ9QqmBwWyPPDWuEskyJFA+FiZ8WUPs14tFcgu6LSWBYey5aIVHRGunInZhbw2T+RzN18njvbezMpLIBO/o3k/ZsQ9YwUpYSg/MziBduj+WRDhOG4vYWOvBL9L8DSeGlhqs6vkLqWrQtM/BG+GwzF18xe+esl8GwL/t1Mn1uHBHs5May1JxvPpBhii3bH8EivQOysZY8KYZytpS1fDfqKSX9PIjYr1hA/mHyQN3e/ycf9PpbWUaJOKi4pJiUvxeReTsm5yeQU59RYPhYqCzztPcu11fN2LGu152TlJB9M65nGto3p7dub3r69DbH0/HTFiqrT6adJzTO+Obwx2cXZ7E/ez/7k/YaYs7Vz2Woqd/1XHweZpS5Eha5ehOOr4fgKyIipeHznydB7BrhVftJXQk4COy7tUMQmhkyUf5+iztgblcZbv50i+rLxlSCdmzbivXva0sbHpYYzE6J2UKtV9G/VhP6tmhCfkceP+y+y+uBFruQVlxtbVKLll6MJ/HI0gXa+LkwKC2B0Bx9sreSejRD1gRSlhPiXqYLUXU1LGOKrI84+mC+26FcQXVuYqjcFqVIeoXDPfFjzSFlMWww/TYYndoCjh9lSq0rPDGqhKEql5RSx6uBFHu3dzIxZidqukW0jFgxZwEN/PUR6Qboh/nfs33jYe/BitxfNmJ0Q5el0Oq4WXlUUmZJykvR7OOUmkZyTzOX8y+gwMk2xmrjYuCjb6l230qmJXRMs1PJhU4CbnRt9/frS16+vIZaWn2bYm6p0RVVaflqlr5lVlEV4UjjhSeGGWCObRoq2f23c2+Bp7yk3woUoyoUzv+sLURd2Vjz+Wq7Nb6ogBbAmco3i95GjlSN3Nrvz5p5XCDNIzSrg/T/PKrpxXMvVwZpXR4QwtrMfarX8bhECwN/VnldHhDBjSEvWn0hiWXgsxy9lGh17MiGTl9ee4MO/zjKhqz8P9QzA39W+hjMWQlQlKUoJcY3rC1LPDw4iIC8SgMf7BGBlZWU4fm1hqt5pMwYSDsPeeWWx7ERY8yhM/hXqQUuk9n6N6N+qCTvOXTbEvt0RwwM9mmJjKTdDhWl+Tn58PeRrHt3wKHmasg2Ll5xZgqeDJ5NaTzJjdqKhKdAUKFY4GVvlVFBSUGP5WKmtDIUmTwfPslVODt54OXrhZe+FvZV8gBS3zt3OnX5+/ejn188QS81L5XTaac5klBWrMgoyKn3Nq4VX2ZO4hz2JewwxV1tXQ5Gq9KuHvYcUqkT9p9VC3B44vhJO/6rsnlCBIgsHrEv+Hb/5Hf3XPjMrd25JEevOr1PERgeNlt8ZolbTlGhZEh7H7E3nyCks38ZYpYIHujflpTuCaWQvrb6FMMbWyoKxXfwY28WPY/FXWRoey/oTSRRptOXGXs0r5tudMSzcFcPAYA8mhQXQv2UTKfYKUQdJUUqIf11fkHpleAiP9PBh48ZIQ6y0ANUgClOD34HEYxC7qywWtxs2vQ3DPzRXVlXqmUEtFEWp5KwC1h1J4P7uTc2YlagLWru1ZvaA2Ty95WnFPjqfHfwMD3sP7gi8w4zZifpCq9OSlp9Wvq3evyudknOTb+rGe1Vwt3PHy97L0Erv2pVOXg5euNq6ShtLUeM87D3waOrBwKYDAf0KwZS8FP1Kqn+LVWfSznCl8Eqlr5lRkMHuhN3sTthtiLnbuZetpvq3WNXEvkmV/zxCmEVGDBxfpS9GXb1Y8Xh7N8grWzV+2mc8UZ6jGOkcidWOD/TBmyhMbYzbWO7f6ISQCZXNXogadyg2gzd/PUVEcrbR4+39XHjv7rZ08G9Us4kJUYd19G9ER/+OvHlna1YfjGf5vjgSruaXG6fTwdaIVLZGpBLoZs9DPQMY18UfF/u6P4FaiIZCilJCYLwgNW1AEPn55X/5NZjClIUljFsM3/aHrEtl8X3zwbcztBtrttSqSrdAV3o0c2X/hbKbul9vj2JcFz8sLeSmqrixXr69+F/v//HG7jcMMR06Xtv1Gm62bnT16mrG7ERdkFucS1JOUrmVTaWPU/JS0GjLz7qtLnaWdkbb6V278snaQmb5itpPpVIZCqWDmw4G9IWqpNwkw95UpcWqzELjbWKMSctPY+elney8VNbGzMPOg9burRWrqtzt3Kv8ZxKiWhRkwZlf4dhKuLi34vE2LtDuPkANh743hIv7v0FUVjAAmp7PYmVlVVaQqmRhalXEKsXjHl49aO7SvHI/hxA1KC2nkI/+iuDnI5eMHne2teTl4SHc370pFrJ6Q4hb4upgzbQBQUzt15ytEaksDY9l13nj7Zpj0/N4/8+zfL4xkns6+jIpLED2bROiDpCilGjwDsZmGC1I3YixwlTXwMZ0C3StvkTNwcEdJiyFH4ZDSVFZ/LdnoEkIeLU1X25V5NlBLdm/qGwD9PiMfH4/nsi9nf3MmJWoK0YHjSYlN4Uvj35piBVri3lu23MsHb6UFo1bmDE7YU7F2mIu511WrHC6vrVedpHxmbXVQa1S42HvoS802Xvh5eilbK3n4IWztbO0JhP1lkqlwsfRBx9HH4YEDAH0haqEnAROp582FKvOpJ+5qX+bqfmppMansj1+uyHmae9p2JuqtZu+YOVqW8/eI4q6S1sCF3boC1Fn/wBN+Ul4Cio1tBgCHe6H4JGwf0FZoQlgyDtoujwJGzeWxUoLUJUsTJ1NP8vxy8cVMVklJWqbEq2OFfvj+OyfSLIKjE8aGtvFj1dHhODuaFPD2QlRP1moVQxt7cnQ1p7EXM5h2b441h6+RLaRf4MFxVpWHYxn1cF4ugQ0ZnJYACPaemNtKROOhaiNpCglGrxuga5MH9ySuVvOV6ogVerawtT0wS3rX0GqlG8XuHMW/P5sWUyTD6sfgqnbwK6x+XKrAr1buNHBvxHH468aYvO3RXFPR1/pSywq5bF2j5GSl8LqyNWGWHZRNk9ufpIfR/6Ip4OnGbMT1UGn05FZmElyXrJhpdP1hafL+ZfR6sr3Qa8uztbORlc3lX7fxL4Jlmp52yfEtVQqFX5Ofvg5+Rnarup0Oi5lX9Kvpvq3SHUm/Qw5xTmVvm5KXgopeSlsjd9qiPk4+OhXU7mX7VHlYiOzeEUNSjsPx1bAidWQlVDx+Cah0PEBaD8enLz0sd2zyxWk6DMTjHSXuJnC1LXvoUC/AnGg/8CKcxSihhyLv8pbv57iZILx1bUhXk68f09butbXewJC1ALNmzjy9l1teHFYML8eS2BZeJzJ9pmH465wOO4K7zme5f7u/jzQoyneLnY1nLEQ4kbk7oQQwMyhrejT0v2mC0vTBgTVzxVS1+s8GRIOw+HFZbErF2DdVLh/Najr7swTlUrFswNb8NjSQ4ZY9OVcNpxOZmQ7bzNmJuoKlUrFa91fIzUvlW3x2wzxlLwUpm2ZxpLhS3CydjJjhuJmFZYUkpKbYljVlJSbpHicnJtMfkUzy6uQpdrSsI/Ttfs3XVt4crByqLF8hKjPVCoV/s7++Dv7M7zZcEC/v9vFrItlrf/ST3M2/Sx5mrxKXzcxN5HE3EQ2X9xsiPk6+hpa/rVxb0Ooa6gUqkTVyr8Cp9bp94m6dLDi8Xau0G4cdLwfvDvCtatn48KNF6RuxFhhyr8nBIQZhmQVZfFnzJ+K08YGj5WJFKJWuJpXxCcbIll18CI6XfnjjjaWPD+0FZPDAqT9uxA1xMHGkgd7BPBA96YcjL3C0vBYNpxKRqMt/480LaeQeVuj+Hp7NMNaezIpLICw5m7SHUKIWqDBvtM7cuQIGzZsYNeuXZw6dYrU1FSsrKzw8fGhV69eTJkyhb59+1b6ehs2bGDhwoUcOHCAy5cv06RJE7p3787UqVMZPnx4pa6Rl5fH/PnzWbNmDVFRURQVFeHv78+dd97Jc889R9OmTW/1xxWVcKuFpXpfkCo14lNIPqkvTpU6vxF2fAIDXzNfXlVgcKgHod7OnE3KMsTmbY1iRFsvebMiKsVCbcEn/T7hsY2PceLyCUP8/JXzzNg2gwVDFshePLWEVqcloyCDpJwkoyudknKTyCjIqPhCVcjV1tXkPk5eDl642bmhVsmNDiHMRa1SE+gSSKBLICObjwT0ryWxWbH6van+XU11NuPsTRWsE3ISSMhJYGNcWdszfyd/feu/f4tVoW6hMrFB3JwSDURvheMrIOIvKCm88Xi1JbS8Q1+IankHWJp4vxIQBv1fhR0fV64gVerawlT/VxUFKYDfo36noKTA8NhSZcnYlnV/71pRt2m1OtYevsTHGyLIyC0yOubujj68MTIUD2fbGs5OCAH6iUTdm7nSvZkrKVkFrDxwkRX7L5KaXf73XolWx9+nkvn7VDItPRyZHBbAmM5+ONo02NviQpidSqczNt+jfuvfvz87d+6scNykSZP4/vvvsbY2fSNRp9Px5JNPsnDhQpNjpk6dyjfffHPDm9vR0dHceeedREZGGj3u4uLCihUrGDlyZIV536xLly7h7+8PQHx8PH5+spdOqfz8fDb+2x992LBh2Nk18OW+mQnwbT/Iu26DyftXQ3Dliq+11Z8nknh6xRFF7IdHujIoRFqvicq7UnCFyX9PJjYrVhEf0WwEH/f92GhhQV5nqlZecZ6iwFRacLq2vV6xtrjG8rG1sC0rMjmWLzx52ntiayk3M0T1kteZmlGiLdEXqtJPG4pVERkRihvutyLQOZBQt1BDsSrULVRWR4ryUs7oC1EnfoKclIrHe7WDjg9C27Hg2KTyzxMXXq6wVKnXGCPnaXVa7v71bsX7pjsC7+Dz/p9XPh8hqtjpxEze+vUURy5eNXq8hYcj797dhl5B7jWbWAMn72VEZRSXaPnndDJLw+M4cOHGEw0dbSy5t7Mvk8MCaOEhE4CEvM6YUl11gwZZEk5I0PfQ9vHxYdy4cfTt25emTZtSUlJCeHg4s2bNIiEhgWXLlqHRaFixYoXJa7355puGglSnTp14+eWXCQoKIjo6mk8//ZSjR4+ycOFCmjRpwvvvv2/0Gjk5OYwaNcpQkHr88ceZOHEidnZ2bNu2jY8++ojMzEzGjRtHeHg47du3r+I/ESEqycUXxi2GpXeDrqQsvm6qfn8pt8rtx1UbDW/rRfMmDsRczjXEvtwSxcBgD1ktJSqtsW1jFgxZwEN/PUR6Qboh/veFv/G09+SFri+YMbu6T6PVkJafpi825ZQvOCXlJpFVlFXxhaqIChVN7JsoVjVdu8rJ28EbFxsXeQ0RooGwUFsQ1CiIoEZBjA4aDehft2IyY/St//4tVEVeiaSwotUr14jNiiU2K5a/L/wN6F97Al0Cy1r/ubUhxDUEeyv7avm5RC2Wmw6n1ur3iko6VvF4hybQfgJ0uB+82t7ac15XWLqd8/Yn7S83kWdC8IRbu74QtymroJgvNp5jaXgsRrqAYWdlwfQhLflP72ZYW8oKdiFqIysLNaPa+zCqvQ8RyVksDY/j16MJ5BWVlBubU6hhaXgcS8Pj6BXkxuSwAIaEekorTiFqSINcKTVq1CgmT57Mfffdh4WFRbnjaWlp9O7dm3PnzgGwc+dOo638oqKiCA0NRaPR0LVrV3bu3Kmooubl5dG/f38OHTqEpaUlERERBAWVv2n/zjvv8L///Q+ATz/9lJdeeklxPDw8nH79+qHRaBg4cCBbt24td43bISulTJMquQnh8+Gf15Uxj9bw2Gawrrszd38+fIkX1hxXxH58rAe9W8gsOHFzzqSf4dENj5bbb+SVbq/wUOuHFDF5ndHT6XRkFWUpVjRdu9IpKTeJy3mXKdGV/0BRXZysnPBy9NLv52RkpZOHvQdWaqsay0eIWyWvM7VLsbaYmKsxnE4/bShWRV6JvK1VnGqVmmbOzWjjXlaoCnYNxs5S/l/XOyXF+hbax1bAuX+gor83FtbQarh+VVSLwWBR9b+3bvU1ZvrW6WyNL/ts26JRC9aNXieTOUSN0ul0/HosgQ/+jCAtx/iEgRFtvXhzVGt8G8lrqrnIexlxq7IKivn58CWWhccRk5Z7w7HeLrY82KMpE7o1pYmTTQ1lKGoLeZ0xTlZKVaH169ff8Li7uzuzZs3irrvuAmDt2rVGi1KzZ89Go9EAMG/evHJ/We3t7Zk3bx5hYWFoNBrmzJnDvHnzFGOKi4uZO3cuAKGhobzwQvlZ9GFhYUyZMoVvv/2Wbdu2cfjwYbp06VL5H1iIqtbzKbh0CE6vK4ulnoHfn4X7Fik3Ra5DRnf0Yc6Wc8RnlO0H8dXWKClKiZvW2q01Xwz4gme2PINGpzHEPz34KR72HgwLHGbG7MyjqKSIlLyUsmJT6UqnvGSSc/Sx64t41clSZYmng2e5/ZuuLTrJPi5CiOpgpbYi2DWYYNdg7m15LwDFJcVEXY3St/77t1h17so5NFpNBVfT0+q0RGdGE50Zze/RvwP6QlVQoyBau7amjbu+9V+rxq2kZWhdlXRCX4g6uaZ8K21jfDpDxweg7X1gX/v2wE3OTWb7pe2K2ITgCVKQEjXqXEo2b/16iv0m2nwFutnzzug2DAj2qOHMhBBVxdnWikd7N+PhsED2RKexNDyOLWdTjK6ITMos4PON55i75Twj23kzOSyQzk0bye8mIapBgyxKVcaAAQMM30dHR5c7rtPp+O233wAICQmhZ8+eRq/Ts2dPgoODiYyM5Ndff+XLL79UvJht376dq1evAvDwww+jVhtfJvrII4/w7bffArBu3TopSgnzUqng7q/gcoS+GFXq1M/g2wXCnjZfbrfBykLNk/2DeOOXU4ZYeEw6h2Iz6BpY+z7Mi9qtt29v3un1Dm/uedMQ06HjtV2v4WrrSlevrpW+1pGUI3T27FwdaVYJnU5HRkGG0dVNpV/T8itxA60KNbZpXG7/Ji/HsgKUm60bFuryq6WFEMIcrCysCHULJdQtlLGMBfTF/PNXzpetqEo/TdSVKMVkhxvR6rScv3Ke81fO81u0/nOLhcqCFo1a6FdU/VusatW4FdYWpvfQFWaUk6rfI+r4Skg5VfF4J29oPx46PAAeIdWf321Yc24NWp3W8Nje0p67gu4yY0aiIckt1DB3y3l+2H0BjZE70zaWap4e2IKp/ZpjayXvF4WoD9RqFX1bNqFvyyZcupLHj/svsvpgPBm5ReXGFpfo+O1YIr8dS6SNjzOTwwIY3cEXO2t5PRCiqkhRyoSiorIXJWOFogsXLhj2purfv/8Nr9W/f38iIyO5dOkSsbGxNGvWzHBs165dinGmdO3aFQcHB3Jzc9m9e3elfw4hqo21A0xYDgsHQmFmWXzjW+DVHpqVX11YF4zt4seXW86TklXWuuGrbVEsfrS7GbMSddXdLe4mJS+FeUfLVskWaYt4bttzLB2+lBaNW1R4jUUnFzHnyBymdZjGUx2fqs50TcorzjOsaErOK1vpdG3hqUhb/s18dbGxsDG6f1NpzMvBS1pWCSHqPGsLa/0KJ/c2hlhhSSHnMs4pClXRV6Mr3dq0RFdC5JVIIq9Esg79indLtSUtG7XUt/37t/1fq0atsKqGNm+iEjSFEPm3vhB1fpNyH1djLG0h5E79qqjmA6EOTLgoLinm53M/K2J3Bd2Fg1XdbQMu6gadTsdfJ5N5b/0ZkrMKjI4ZHOLB23e1oamb7NMnRH3l19ieV4aHMH1wS/46mcSS8DiOx181OvZ0Yhav/HySD/+KYHxXPx7qGUCAm/y+EuJ2SVHKhB07dhi+DwkpP8vs7NmzNzx+rWuPnz17VlGUqux1LC0tCQoK4sSJE4pzKuPSpUs3PJ6UlGT4Pj8/n/z8/BuMblgKCgqMfi/+Ze+DetQ8bH6eXBbTlaBb8zAFD28CZx/z5XYb/hPWlI/+OW94vD3yModiUmnjLa28xM17qMVDHE85zs7EnYZYdlE2T25+kkWDFuGsdjbEr3+dWXJ2CfNPzgdgwfEFdHLtRMcmHas0vxJtCekF6STnJevb6+UlG74vfZxZlFnxhaqIChVutm542Xvhae9p+Fr6vZe9F41sKmihUAz5xfK7TIhS8n6mfmnh2IIWji24O+BuAAo0BZzPPM/ZjLOcvXKWiCsRXMi6oFiFciMarUZ/bsZZfj6vLxRYqa1o4dKCkMYhhLqG0rpxa5q7NMdSLR8fq4VOhyr5GJYnV2Nx9ldUBVcrPKXEtxslbSdQEnIX2Lrog4U1N0HkWjf7GrPx4kbSC9IVsXsC75HPoaJaXUjP44O/z7En2nirPh8XW94Y0ZJBwU0A5O9jLSPvZUR1GRHqxohQN04lZrHi4CX+PJlKUUn591CZ+cV8t+sC3++6QN+WbjzQzZe+LdxQS2u/ekNeZ4yrrt+HKp1OZ6SLZsOm1WoJCwvjwIEDABw8eJCuXZVtlr755humTZsGwJo1axg7dqzJ661du5Zx48YZznviiScMx3r27Mn+/ftxcHAgJyfnhnmNGjWKP//8E9D/47CxqdymezfT+/T777/H3V32zxE3JzhpHSHJvypiV+ybs7vlG2jVdW+WbVEJ/O+IBTmasn877V21TAmu3M0dIa6n1WmZlz2Py9rLiriX2ovHnB7DVlV+f4+dBTvZWLDR8HiY7TD62fa76ecu0BVwVXuVTG2m4eu132fpstBSc3+3rbGmkboRjdSNcFY700jdCBe1i/6rygVntTOWKrnpKYQQt6NIV0RSSRKJJYkkaBJIKEkgTZuGjlv/6GeJJV4WXvha+OJj4YOvpS9N1E2wUNX+lTm1lW1RBn5X9tI0YzdOBYkVjs+zciXetQ/xrn3ItfWqgQyrx3fZ3xFXEmd4HGgRyGNOj5kxI1GfFZXApgQ1WxJVlOjK3xuxUOkY7KNjqK8W6cwlhMgphv2pKnanqMkovPH9VDcbHX28tPRoosOh7t36EqJS0tLSeOwx/fu0+Ph4/Pz8quS6ctfHiNmzZxsKUmPGjClXkALIzs42fO/o6HjD6zk4lC3rvL7wVHqdiq5h7DqVLUoJUd0ive6hUd4FvLKOG2KN82Jod2k5x5s+asbMbo21BQzw0bL+YtmnkhMZapLytHhLFwdxC9QqNdOcpjE3ay6ZurJVR8naZFbkrmCyw2RFIaayBSmNTkOWNotMXabJolMhheXOqy5q1DipnJSFJrWLouhkq7KVjWKFEKKaWausCbAMIMAyAP79yFCoKySpJIkETYK+WPVvoaqyNGi4VHKJSyVlXRgsscTbwltfqLL0wdfCF3e1uxSqbkCtLcL76mH8M3bjkX0KVQWFQo3amiSXblx060uaYwiojO9BXFcklyQrClIAPWx6mCkbUd+dzFCxLtb0jeVgFy1jm2nxkK7PQoh/OVrBYF8dA31KOHNFxa5kFRGZxn/3pheq+C3Ogr8u6ujsrqOvlxb/im/vCiGQolQ5O3bs4NVXXwXAw8ODBQsWGB137TI+a+sbbwx8bfHo+iVvpdep6BoVXedG4uPjb3g8KSmJ7t31++X069evyiqe9UFBQQE7d+pbbvXr1w9b2/KrGcS/CnqiXTIc9dVYQygwfRs+3UZR0uFB8+V1i3oVatg5Zy9ZBWWbiZ/W+vLwsDY3OEuIG+tT2Idxf49TtMOL0cSwLm8dY+3HMqD/AFZfWM3Gk2UFqfEtxtPVsyspude01svXt9ZLy7+9We83y9na2dBC7/qWep72nrjbumNRB/ayEKKhkfczwpSc4hzOXTnH2StnDe3/4nNu/NnhWho0xJfEE18SD/92jrO1sCW4cbC+9V/jUEJdQ2nq2LRh/37Q6VAnHMTi1E9YnP0NVVF2haeU+IdR0m4CJa1G4W7jSG3uZXEzrzEfH/4Yrvnx3WzdmD5yurSGFFXq0pV8Pthwju3n0o0e93Sy4dU7WnJH6yYyWaqOkPcywhyGA88Dsel5rDqUwLqjSWQXasqNK9ap2H9Zxf7Lajr6OfNANz/uaO2BtWXdnkjS0MjrjHEVbQt0q+Sd3zVOnz7NmDFj0Gg02NjY8NNPP+Hp6Wl07LV/MYuKbty7u7CwbJa6nZ1yCk7pdSq6RkXXuZGbKTLZ2dnd1LUbEltbW/mzuRE7O5j4IywaCsV5hrD1ptfArxP4dancdeLCISCsmpKsPDs7eKR3M77cUra31J+nUnjhjlAC3WVTS3Fr7OzsWDlqJff9fh/5mrLJBSeKT1CSV8LKXSs5e0W5b+BPUT/xU9RP1Z6bldoKbwdvvB288XTwNHzv7eCNl6O+8GRvJUsFhajr5P2MuJadnR1NnJvQO6C3IZZVlMXZ9LOcST/D6fTTnE47zaWcyn8YLSgp4HjacY6nla2gt7O0I9Q1lDbubWjt1po2bm0IcA5AXcdX/VToajwcXwXHV0JGdMXjGwdChwegwwQsGgdSF8t4N3qNyS7K5u+4vxWxccHjcHKQfVtF1SgoLmHhzhjmb4uiUFO+PbWlWsV/+jTjucEtcbSR22F1lbyXETUt1M+O//m58crI1vx2LJGl4XGcTcoyOvbYpSyOXTrDp5uimNitKQ/0aIpPI/n7WtfI60yZ6vpzkN/C/7pw4QLDhg3jypUrWFhYsHLlSvr3729yvJNT2RvnivaCys3NNXx/fZu+0utUdI2KriNEreDVFkbPg5+nlMVKiuCnSTB1Bzg2ufH5u2fD5neg/6sw8LVqTbUyHu0VyKJdMeQWlQCg1cGC7dF8Mra9mTMTdZm/kz//N/z/eOivh9Bor1mJV3warlTf87rZuumLTI7eeDl46YtN13x1tXWt/zcHhRBCVMjZ2pke3j3o4V3WUi2zMNNQpDqTfoYz6WdIyEmo9DXzNfkcST3CkdQjhpiDlYO+UOXWxlCs8nfyr/u/i4py4czvcHwFXNgFFa1otnaCNndDxwehaRjU41Ubf0T/oZiUY6GyYGxL03szC3Ezdpy7zNu/nSI2Pc/o8e7NXHn/nra08pQiqBDi1thbW3J/96ZM7ObP4bgrLAmP4++TSWi05X/Xp+UU8dW2KL7eHsXQ1p5MDgukV5CbrM4U4l9SlAISExMZMmQIiYmJqFQqfvjhB8aMGXPDc65dfVTRMrZr2+f5+/uXu87+/fvJzc3l6tWrNGrUqMLrNGnSRPaTErWXs2/5WFYCrH0UJv0KFiZedkoLUgA7PobmA8y+YqqxgzUPhQXw7Y4YQ+znI5d4bkhLfGWmi7gNbdzaMG/QPJ7a/FSVtN+zs7QrW9Xk4GUoNl278snaouI2sUIIIYQxLjYuhPmEEeZT9t7sSsEVzqaf1a+m+rdYlZSbVOlr5hbncijlEIdSDhliTlZOhLrpC1Wt3VvTxrUNfk5+tf8GjlYLF/fCsRVw5jcoqmjCoQqa99cXokJGgXX9X4ms0+lYHblaERvUdBCeDsY7kwhRWYlX83lv/Rn+PpVs9Li7ow1v3BnCPR19a/9riRCiTlCpVHQNdKVroCupd4ay8kA8Kw7EkZJVfj9nrQ7+OZ3CP6dTaOHhyKSeAdzb2RcnWyszZC5E7dHgi1JpaWkMHTqUmBj9Ted58+YxefLkCs9r3bq14fuIiIgbjr32eGhoaLnr/Pzzz4ZxPXv2NHoNjUZDdHS00WsIUasEhMGg/8LWd5Xx2F2w5R0Y9n75c64tSAEMecfsBalSj/VpzuI9sYb2DxqtjoU7ovnf3W3NnJmo6/r49uHd3u/y1p63bjhOrVLjYe+Bl72XoZWeorWegxfO1s7yIVsIIUSNamzbmF6+vejl28sQS89PN6ykKi1WpealVvqa2cXZHEg+wIHkA4aYs7Uzrd1aG9r+tXFvg4+DT+34vZcRU9ae7+rFise7tYAO90OHieDSsPbxPZh8kJjMGEVsQvAEM2Uj6oMijZYf9lzgyy3nyfu3s8W11CqYHBbIzKGtcLGTm79CiOrh4WzL9CEteWpgEJvOpLA0PJZ9MRlGx0al5vD276f5dEME93b2Y3JYAC1l9aZooBp0USozM5M77riDM2fOAPDxxx/z9NNPV+rcZs2a4ePjQ2JiIjt27Ljh2NJN0nx9fQkMDFQc69Onj+H7HTt2mCxKHTp0yNC+r3fv3kbHCFFr9HtBv6/Urs+V8b3zwKcztL23LGasINVnZk1kWSlNnGy4v3tTFu+NNcRWHozn6UEt8HCSTQ/F7UnPN7758vDA4dwfcj/eDt40sW8im38LIYSoE9zs3Ojr15e+fn0NsbT8NH2RKk2/mupU+inS8tMqfc2soiz2Je1jX9I+Q6yRTSNDkar0q5eDV80Uqgqy9Kuhjq3Qr46qiI2L/r1vxwfBr2u9bs93I6siVykeN3NpRnev7mbKRtR14dHpvPXbKaJSja9K7NS0Ee/d3Za2vi41nJkQoqGyslAzsp03I9t5E5mczbJ9saw7kmC0aJ5bVMKyfXEs2xdHz+auPBwWyNDWnlha1PEWxkLchAZ7lysvL48777yTI0f0fc3feOMNXnnllUqfr1KpuPvuu1mwYAERERHs27fPaEFp3759hpVSd999d7kPSgMGDMDFxYXMzEyWLFnCyy+/bPTD1OLFiw3fV9RaUIhaYfBbkH8VDn2vjP/2DHiE6v+r5QWpUlP7NefH/XEUl+jbrBVptHy/6wKvj5RVi+LWLTq5iDlH5hge26nsyNfp91nYELuBENcQOrfrbKbshBBCiKrhbudOP79+9PPrZ4il5qWWraZK06+oyigwPqvYmKuFV9mbuJe9iWVFIVdbV0Prv9Jilae9Z9UUqrQlcGGnvhB19g+4Zl8ko1RqCBoMHe+H4DvBqmFPZErJTWHrxa2K2ITgCbVjtZuoU1KzCvjgr7P8dizR6PHG9la8OiKEcV38Uavl75cQwjyCvZx4/552vDI8hHVHElgSHkvM5VyjY/fFZLAvJgMvZ1se6NGUid39ZQK0aBAaZFGqqKiIMWPGsGfPHgCmT5/O++8baSlWgRkzZvDdd9+h0Wh49tln2blzJ3Z2ZfvM5Ofn8+yzzwJgaWnJjBkzyl3D2tqa5557jvfee4+zZ8/y+eef89JLLynGhIeHs2jRIgD69+9Pt27dbjpXIcxi1CzISYaI9WWx4lxY9SC0HwfbPy6L19KCFIBPIzvu6+zHqoNl+8Mt3xfHtP5BNHaQfXrEzbu+IDXMdhj9bPuR5J/E/JPzAQzHp7SbYoYMhRBCiOrjYe+Bh70HA/wHAPr9hlLyUgx7U51OP82ZtDNcKbxS6WtmFGSwJ2EPexL2GGJutm60cS9bTdXGrQ1N7JtUPtG08/pC1InV+j1SK9IkVF+IajcenL0r/zz13M/nf6ZEVzZT3M7SjtFBo82YkahrNCValobHMXvTObILNeWOq1QwsVtTXr4jWD6fCSFqDSdbKx7uFcjksAD2RqezZG8sm8+moDWyrXRyVgFfbDrHvK3nGdHWm8lhAXQJaCwTOES91SCLUvfffz8bN24EYNCgQUyZMoVTp06ZHG9tbU2rVq3KxVu1asWLL77Ixx9/zKFDh+jduzevvPIKQUFBREdH88knn3D06FEAXnrpJVq2bGn0+i+99BKrV6/m3LlzvPzyy0RFRTFx4kTs7OzYtm0bH374IRqNBjs7O+bMmXP7fwBC1KQJy+G7gZB4tCyWEV1nClKlpg0I4qdD8YY3D3lFJfzfngs8PyzYvImJOuf6gtTT7Z7GO15/4+rh0IexsrIyHJfClBBCiIZApVLh5eCFl4MXg5sOBvSFquTcZMPeVKXFqszCzEpfN70gnZ2XdrLz0k5DrIldE/1KKvey9n/udu5lJ+VfgVPr9PtEXTpY8ZPYNYZ24/R7Rfl0arDt+Uwp1haz9txaRWxU81E4WcseGqJyDsdl8OavpzmblGX0eFtfZ96/px0d/RvVbGJCCFFJKpWK3i3c6d3CnYSr+azYH8eqA/Gk5xaVG1tcouP344n8fjyR1t7OTA4L4O6OvthZW5ghcyGqj0qn0xmpz9ZvN1tlDggIIDY21ugxrVbL448/zg8//GDy/ClTprBw4ULUatO9QaOiohg5ciTnz583etzZ2Zkff/yRUaNG3VTulXHp0iX8/f0BiI+Px8+vYW26eyP5+fmGAuawYcMUK+HETSgugC87QbaRNgv9X4GBr9d8Trdg5upj/HK0bJask60le14dhLOtbJwrKuf6gtSMzjN4oMUD5V5njI2TwpQQ4lbJ+xlRX+h0OhJyEspa//1brMouyr6t63rae9LatgltsjNok3Ca1vm5uGq1pk9QW0LLYdDxAWh5B1g27JUZN3qN+Sf2H17c8aJi/Nq71hLsKhO7xI2l5xTy8d8RrDl8yehxZ1tLXrojmAd6BGAhrfrqPXkvI+qbQk0Jf51MYml4HEcvXr3hWGdbS8Z19WdSzwAC3R1qJsEGSF5njKuuukGDXClVldRqNYsWLeK+++5j4cKFHDx4kLS0NNzd3enWrRtPPPEEI0aMqPA6LVq04OjRo8yfP581a9YQFRVFUVER/v7+jBw5kunTpxMQEFADP5EQ1cDKFqZshDntgOvq4Kd+1rc4cW9hltRuxlMDghRFqewCDcvC43h6YO3PXZifqUJTfn75fSlKC1CyYkoIIYQoo1Kp8HPyw8/Jj2GBwwB9oepS9iVl67/0M+QU51T6uil5KaTkpbANwKMx0BhvjYY2hUW0LiyiTZH+ayOPNtDhAf3KKMebaAPYgK2OXK143MmjkxSkxA2VaHWsPHCRz/6JJDO/2OiY+zr78drIENwdbWo4OyGEqBo2lhaM6eTHmE5+nLyUydLwWH4/nkihpvykmKwCDYt2X2DR7gv0b9WEyWEBDAj2kIK8qNMaZFGqOhaHjRw5kpEjR97WNRwcHHj55Zd5+eWXqygrIWqRU2spV5ACSI+C7wfBuMUQNKims7opLT2dGNHWi79PJRtii3Zf4NHegdhbN8iXU1FJR1KO3PTKJ2OFqU4enejs2bm60hRCCCHqHJVKhb+zP/7O/gxvNhwArU5LfHY8p9PKVlOdST9Dniav0tdNsrQkydKSzQ72hpivoyOtC6Noc+F3Wru1prVba1xsXKr8Z6ovoq5EcTBZ2QJxYvBEM2Uj6oITl67y5q+nOHHJeJvOEC8n3r27Ld2budZwZkIIUX3a+bnw2bgOvD4ylDWH41m2L474jPKTVwF2nLvMjnOX8Xe146EeAYzv6i976Yk6Se6iCiGq3+7ZsPmdawIqFAWqgkxYPhaGfwzdH6/VvfifHthCUZTKyC1ixf6LPNa3uRmzErVdZ8/OTOswjQXHF9xUK75rC1PTOkyTgpQQQghRCWqVmgDnAAKcAxjZfCSUFKM99w+xR/+PM0n7OW1lwRkba85aW5N/gxbr10vISSAhJ4FNcZsMMX8nf1q76fenauPWhlC3UNkv6V/Xr5JytXVlSMAQM2UjarOreUV89k8kKw5cxNgcYgdrC2YObcXDvQKxsqj8v1khhKhLGjtYM7VfEFP6NGfHuVSWhsexPfKy0bHxGfl89HcEX2w6x+gOPkwOC6Sdn0yUEXWHFKWEENXr+oLUkHeg7Vj4fsj/t3ff8VFV+f/H3zOTSW+EkJBASCiB0FGKoEgVG0jRtYAFXRaVtX9dy/7Wgquuuu6KrgW7WEFERUFFAQFRUFA6JEASCC2UJKS3yWR+f0wyySSTAmRSyOv5eNxHbu49986J5WQy73s+R8qtCHdks0rfPSAd3yVd/rxkap7rNPXpEKTRPdppVaU3Bm+tTdYNQ6PlbWbhSdTsrwP+qqERQ085WJrRdwYzpAAAOB2p26Qtn0jbP5MxP01dJHWRVL5Kr1XSfrOHdnp5aZenp3YGtFGCSSq0ldT7JQ7mHNTBnIP6fv/3jmPRgdGOoKpX217qGdJT/p7+DfmTNXt5ljwtSV7idOyq2KvkaeJpblQoLbVp0aZDeva7BGXkFbtsc0X/SD0yvqfCA70buXcA0DRMRoPGxIVrTFy49qfl6aNfU7Tw94PKLqz+/qSopFSf/XFIn/1xSAOignXTsGiN7xchLw8+n0LzRigFwH1cBVLD77Pv371JemusdCLe+Zo/3pPS9krXfCD5tW2snp6SO8fEOoVSx7KLtOiPQ7phKOu+oXanGywRSAEAUE+5x6Xtn9nDqGM7am1qktTVK1Rd+1+rif2nSWFxKikt0b6sfdqZvlM703ZqV8Yu7c7YrSJrUb27kJKdopTsFH237ztJkkEGRQdGq3dob6egytfsW8edWq6lSUuVZ8lzfG80GHV196ubsEdobnYdydajX+3QHyknXZ7v2s5P/5zURxd0C23kngFA8xET6qdHJvTS/Rf30NdbD+v9dSnalZrtsu2Wg5nacjBTT38Tr2sHR+n6odHqEOzTyD0G6odQCoB71BZISZKnnzRrnfThZGnfGudrU36W3hotTftUCuvZCJ09NQOj2+j8rm21LindcWzu6iRdOziKchIAAACNraRI2rPMHkTtXW6fgV8bk5fUc4LUf5rUZZRkqviz2MPoodg2sYptE6vJ3SZLkiylFiVnJmtX+i5HWLX75G5ZSi316p5NNu3P3q/92fv1TfI3kuxBVZegLvYZVWVhVY+QHvLxaPkfHtlsNi3YvcDp2MiOIxXhH9FEPUJzklNo0QvL9+iD9Smyllav1edjNumusd30l+Fd5OnB31YAIEk+niZdO7iTrhkUpU0HTuqD9Sn6dnuqLNbq42h6XrFeW52k19ck6aKe4bppWIwu6NZWhma8VAZaH0IpAA2vrkCqnNEoTf9aWjRD2rHI+VxmivT2OOmqt6Uel7qzt6flzjHdnEKpw5kF+mrLEf1pYMcm7BUAAEArYbNJRzZJW+bb30cWuJ5t4STqPKn/VKn3FMknuN4vZTaa1SOkh3qE9NCU2CmSJIvVosTMRO1M3+kIq/ac3KOS0vqV/rPJpqSsJCVlJTnK3BkNRnUJ6uKYTdU7tLd6tOkhb4+WVbZs0/FNSsxMdDp2Xdx1TdQbNBc2m01fbz2ip76J14kc1zMPL+kdrseu6M2T/QBQA4PBoIHRIRoYHaJHxvfSgg0H9PFvB3Q0u7Ba21Kb9MOuY/ph1zF1aeenm4ZG68qBHRXo3TyXy0DrQigFoGGlrK9fIFXZn96RfEKkjW86Hy/OkeZfJ417Qjr/bqkZPdUxrEtbndspWJsOZDqOvbYqUVPO6SCTsfn0EwAA4KySnSpt+9Q+Kyptd93tAztK/a+zh1Gh3RqsG2aTWT3b9lTPthWz+outxdqbudde9i99l3al79Lek3tVUs81qkptpUrMTFRiZqK+SvpKkmQymNQ1uKt6t60o/dc9pLu8TF4N9rM0tAUJzrOkogOjNTRiaBP1Bs3B3mM5euyrnVqfnO7yfHRbX82e2Fuje4Q1cs8AoOVqF+Clu8bGataorloRf0zvr0upcZxNPpGn2Ut26d/f79aUczropmEx6tE+oJF7DFQglALQsKKHSSMfltY8W79Aqtz45yWvAOnn/1Y5YZOWPyYdT5CueFHyaB5/gBsMBt01Jla3zNvoOJaclqdvt6fqiv6RTdgzAACAs4ylQEr4xh5EJa+SbKW1tzf7Sj0nSgOmSjEj7LPzG4GnydMRHpUrshZpT8aeitJ/6TuVlJkka10lBstYbVbtOblHe07u0ZeJX0qSPAz2EoO92vayz6hq21uxbWLlafJ0y891KtIK0rQiZYXTsWt7XCujgTJsrVFeUYn+9+NevbN2n0pclOrz9DDqr6O66vaRXeVtNjVBDwGg5fMwGXVpnwhd2idCe4/l6MNfU/T5H4eUV1z9vUZ+sVUf/2afXXVe5xDdNCxGF/cOZykKNDpCKQANb/Tf7fX5o4ed2nUXPSZ1GSFt/si+QHVlWz+R0hOlaz+SAsIbrKtnYlSPduodGaidRyoWmXx1VaLG942QkdlSAAAAp89mkw5ukLZ8LO1cLBVl1X1N9HB7ENVrkv1hp2bAy+Slvu36qm+7vo5jhSWF2n1yt2NG1c70nUrOSlZpXWFbmRJbieIz4hWfEa/P934uyb4WVvc23StK/7XtrW7B3WQ2NWyJnk3HNunc8HNrPP9V8ldOM8O8Td6a2HVindfh7GKz2bRsx1H9c+kupWZVLyklSaN7tNPsib0V3davkXsHAGev2PAA/XNSHz1wSQ99ufmwPlifosTjuS7b/rYvQ7/ty1B4oJemDYnW1CFRCgtsWSWD0XIRSgFwj1MNpMp1GSV1HimF9ZRW/tP53KEN0ltjpKmfSBH9z7iLZ8pgMOjO0d006+NNjmMJR3O0MuG4xvVqHsEZAABAi5J5UNq2wL5WVEZS3e2Do6UB0+wl+trEuL17DcHbw1v92/VX/3YV72fzLfnac3KPfTZVWViVnJUsm6rPLnGlpLTEUTKwnKfR0x5UhVYEVV2Cu8hsPL2g6rUtr2nu1rm699x7NaPvjGrnrTarvkz+0unY5V0u16I9i/Tiphc1q/8s/XXAX0/rtdFy7EvL0+Nf79RPe064PN8h2EePXdFLF/cKl6EZlWcHgLNJgLdZNw2L0Y1Do7U+KV0frE/R8vhjsrqYtXosu0hzVuzRyz/u1aV92mv6+TEaFN2GMRpuRSgFoPkxGKQL75faxUmfz5QseRXnsg9J714qTXnd/hRsE7ukd3t1C/N3evLklR/36qKeYfwCBwAAqI/iPCl+iX1W1L61Ul1BjKe/1Huy1H+a1GlYo5Xncydfs68GhA3QgLABjmP5lnzFZ8RXlP5L26mU7JR6B1XFpcXakb5DO9J3OI55mbzUo00Pe0gVai812DmoszyMtX80sOnYJs3dOleS9OKmFyWpWjC127JbxwuOOx3zNnk72s/dOldDI4YyY+osVWix6rVViXp9TbKKrdVn/ZlNBs28sIvuHNNNvp58FAUAjcFgMOj8bqE6v1uoUrMK9MlvBzR/wwGl5RZXa1tSatPSbalaui1Vce0DdNOwGE0+J5IxG27Bf1UAmq+48dKMH6T5U6WsAxXHLfnSwpuk0f+QRjxgD7GaiNFony1176dbHMe2HsrS2r1pGtG9XZP1CwAAoFkrLZUOrLPPiNq1WCp2XVqmgkHqMtIeRPWcIHme/SW/fM2+Ghg+UAPDBzqO5RbnOgVVu9J3KSU7pd73LLIWaVvaNm1L2ybtth/zNnkrLiTOKaiKCYyRyVixxs+54efq3nPvdQRMroKpX4t/dXqt9n7t9UnCJ47v7z33XgKps9TK+GOavWSnDmYUuDx/Qbe2emJiH3UL82/kngEAykUE+ej+i3vozjHdtGzHUX2wPkV/pJx02TbhaI7+35fb9cx38bp6YJRuHBatzqFn/3svNB5CKQDNW/s+0swfpYU3SgfWO59b9bR0PF6a9Krk6ds0/ZM0oV+EXli+Rwcy8h3HXlmVSCgFAABQVcY+aesC+3qhmQfqbt+2m9R/qr08X1BH9/evmfP39Nfg9oM1uP1gx7Hs4mwlpCfYZ1OVBVUHcw7W+56F1kJtObFFW05scRzz8fBRz5Ce6tW2lyOsuqXPLZJULZia1m2aTlhPKLkk2em+R/OOOvZrKvmHlu1gRr6eWLJLK+KPuTwfHuilR8b30oR+EVSRAIBmwsvDpEkDOmjSgA7acThLH65P0VdbD6vQUn2Wa05hid79ZZ/e/WWfLowN1fRhMRodFyYT66jjDBFKAWj+/NtJN30lLf0/actHzud2fiFlJEtT50uBkU3SPQ+TUX8d1VUPf7HdcWzDvgz9lpyu87q0bZI+AQAANBtFOdLOxdLW+VLKL3W39wqS+lxpXyuq4+AmnRXfEgR6BmpIxBANiRjiOJZVlOVYY6o8qDqce7je9ywoKdCm45u06XjF2ql+Zj/FhcTp3LBzHcdf3PSiLBaLNhVtqulWBFJnoaISq976KVmvrEp0+SGmyWjQLefH6N5x3eXvxcdOANBc9ekQpOf+1E9/vzxOn/1+SB/+muL0wHVla/emae3eNHVs46Prz4vWtYOjFOLn2cg9xtmCdwcAWgYPL2nSK1J4L+mHRyRbpT9+UrdIb46WrvtE6jiwxlu405XndtRLK/cqNavQceyVVYmEUgAAoHUqtUr7frIHUbu+lkpcl/VyMBilrmOlAVOlHpdLZp/G6edZKsgrSMMih2lY5DDHsczCTKeQamf6TqXmpdb7nnmWPP1x7I9qx1/d/qpMMrm4gkDqbLR27wk9/tVOJafluTw/JCZE/5zcW3HtAxu5ZwCA0xXs66mZI7poxvDOWrP3hD5cn6JVu4/L5mIZy0MnC/TcsgTNWbFHV/SL1E3DotU/KrjR+4yWjVAKQMthMEjD7pBCe0iLbpGKsivO5R6V3rvMXsqv39WN3jVPD6NuG9FFs5fschxbuzdNWw9m8ssZAAC0HmmJ9tJ8Wz+Vsg/V3b5dnH1GVN9rpMAI9/evFQv2Dtb5Hc7X+R3OdxzLKMywB1RpFaX/juW7LsVWG6us1Y4RSJ1dUrMK9NTSeH2z3XWQGervqb9f1lNXntuBUn0A0EIZjQaN7hGm0T3CdCA9Xx/9lqJPNx5UVoGlWtviklJ9vumQPt90SP07BummYTEa3y9C3mbXD6oAlRFKAWh5Yi+S/rJCmn+dvXRfOWuR9MVfpBPx0uhHJKOxUbt13ZBOemVVotJyix3HXlmVqLduGtSo/QAAAGhUBZn2kspb5kuHNtTd3qeN1Pdq+1pRkedQnq8JhXiHaHiH4RreYbjjWFpBWsWMqjT71xMFJ07pvgRSZw+LtVTv/bJPL67Yq/zi6uGj0SDdMDRa91/cQ0E+5iboIQDAHTq19dX/u7yn/m9cd3299Yg+WL9fOw5nu2y79VCW7v9sq57+Nl7XDo7S9ed1Usc2Tbf2O5o/QikALVO7HtJfVkqfTbeXhqls7X+l4wnSlW9KXv6N1iVvs0kzL+yiZ75LcBxbvuuYEo5mU74CAACcXawlUvIqacsnUsI39oeDamMwSbEX22dFdb/EXpoZzVKoT6hGdByhER1HOI4dzz/uVPpvR9oOZRRmuLzez+xHIHWW+DU5XY99tUN7juW6PN8/KlhPT+6jPh2CGrlnAIDG4m026ZpBUbp6YEdtPpipD9en6JttqSq2Vl9TMCOvWHNXJ+mNNUkaExeum4ZFa3i3UBmNPIAEZ4RSAFou3xDphi+kZQ9LG992Prf7G+ndS6Sp86XgTo3WpeuHRuu11UlOU5tfXZWkl6ee02h9AAAAcJvj8fYgatunUm49yryF9y0rz3e15N/O/f2DW4T5hinMN0yjokZJkmw2m47lH9P/Nv1PS5KXOLXNs+Tpne3vEEy1YMdzCvXMtwn6cvNhl+eDfc166NI4XTsoig8aAaCVMBgMOrdTG53bqY3+Mb6nPt14UB//mqIjldZWL1dqk1bEH9OK+GPqEuqnG4ZG66qBHZlRCwdCKQAtm8ksjf+vFNZT+vZByVappMSxHdKbo6VrP5Kih9V8jwbk7+WhP1/QWXNW7HEcW7rtiO69KFZd2zXerC0AAIAGk58hbV8kbflYSt1Sd3vfUKnftdKAqVL7vm7vHhqfwWDQN8nfOAVSPgYfFdgKJEkvbnpRkgimWpgSa6k++jVF//1hj3KKSly2uW5wlB68NE4hfp6N3DsAQHMR6u+lO0Z3020jumhF/HF9+Ot+/ZKY7rJtclqe/rl0l57/frcmn9NBNw2LVs8Iqgm1doRSAM4Og/8itY2VFt4kFWZWHM9Pk96/QpowRzr3xkbpys3nx+ittcnKLftDzmaT5q5O0n+u7t8orw8AAHDGrBZp73Jp6yfS7mVSafUFrp0YzVKPy+yzorpdZH9wCGetd7a/4wieJOli74s1wnuEUqNS9er2VyURTLU0f6Sc1KOLd2hXquv1QnpHBurJyX10bqc2jdwzAEBz5WEy6tI+7XVpn/ZKPJ6jD9en6PNNhx2fh1VWYLFq/oYDmr/hgIbEhOim86N1Se/2Mpsadz14NA+EUgDOHl1GSjN/lOZPldJ2VxwvtUhf3ymdSJDG/VMymtzajSBfs24cFq25q5McxxZvPqx7xsYqKoSFHgEAQDOWuk3aOl/attD+cE9dIs+RBlwv9bnKXloZZ72qgdQdfe9QxMEISdL0ntNlNpsd5wmmmr+MvGI9+128Fv5+yOX5AG8P/e3iHrphaLRMlOoDANSgW1iAnpjURw9cGqcvNx/WB+v2a+9x12sSbtifoQ37MxQW4KWpQzpp2nmdFB7o3cg9RlMilAJwdmnbVfrLcmnRDClxufO59a/Yg6k/vSt5u3cx3hnDO+u9X/ap0GJf+LGk1KY3fkrSU5MpYQMAAJqZ3BPS9oXSlvnSse11t/dvL/W/Vuo/TQqLc3//0GxUDaTuPfdeTes2TT8c/MFxrDyAIphq3kpLbVqw8aD+/X2CMvNdz4S88pwO+vvlPdUuwKuRewcAaKn8vTx049Bo3XBeJ/2anKEPf92v73cek7XUVq3t8ZwivbRyr15dlahL+rTXTUOjNaRziAwGHoI42xFKATj7eAdJ0z6Vlj9mD6IqS1whvX2RNHWBPcByk1B/L00bEq13f9nnOLZw4yHdNSaWpz8AAEDTKymS9iyzB1F7f3Bel9MVk5fUc4I9iOoySjLxp2Rr4yqQmtF3hgoKCqq1JZhq3rYfytIjX+3Q1oOZLs93D/fXk5P66LwubRu3YwCAs4bBYNCwrm01rGtbpWYVaP5vB/TJhoNKyy2q1rak1KZvtqXqm22pimsfoBuGRmvKOR3k58X7zbMV/2YBnJ2MJumSp6WwntKSe53XQUjbI701RrrmA3vJPze5dUQXffRrioqt9tlSxdZSvfVTsh6Z0MttrwkAAFAjm006sskeRO1YJBWcrPuajkPs60T1niL5BLu9i2ieNh3b5DKQqo2rYOqcsHN0bvi57uom6pCVb9F/ftitj35Lka36A+vy8zTp3ou66+YLYljjAwDQYCKCfPR/F/fQnWNitWznUX2wbr9+T3H9PjThaI4eWbxDz32XoKsGdtSNw6LVtZ1/I/cY7kYoBeDsds4NUttu0oLrnddFKMyUPpwiXfacNGSmW166fZC3/jSooz757YDj2Me/HdCsUV3V1p8SGAAAoJFkp0rbPrWvFXUioe72gR2l/tdJ/adKod3c3z80e+eGn6tZ/Wdp7ta59QqkylUOpmb1n0Ug1URsNps+33RYz3wbr/S8YpdtxveL0KPje6l9EFUdAADu4elh1MT+kZrYP1K7jmTrw1/368vNhx1LX1SWU1Sieev2a966/bowNlQ3Do3W2J7hrG94liCUAnD26zRUunWVNH+qdGxHxXGbVfr2b9LxeHs4ZTI3+EvPGtlVn2486KidW2Cx6t1f9umBS1h/AQAAuJGlQEr4xh5EJf0o2ar/se/Ew0fqNdE+KypmhGRklgSc/XXAXzU0YugpB0sz+s5ghlQTik/N1mNf7dDG/a6fSO8S6qd/Tuqj4bGhjdwzAEBr1isyUM9c2U8PX9pTn/1xUB/9mqL96fku267dm6a1e9PUIdhH1w/tpGsHRfGwdwtHKAWgdQjuJP35e+nL26SEpc7nfn9HSt8rXf2+5BvSoC8bFeKryQM66PNNhxzHPliXoltHdFWQT8OHYAAAoBWz2aSDG6Stn0g7vpSKsuq+JvoCexDVa5LkFeD+PqJFO91giUCq8eUUWjRn+V69v36/y8Xlvc1G3TUmVn+5sLO8PExN0EMAAKQgX7P+cmEX/fmCzvpp7wl9uD5FP+4+7rLM7OHMAv172W69uHyvJvSL0E3nx2hAVHCj9xlnjlAKQOvh5S9d86G06mlp7X+cz+37yb7O1LRPpXY9GvRl/zq6q77YfMjxCzWnqEQfrNuvu8bGNujrAACAVirzoLRtgX2tqIykutsHR9tL8/W/Tgrp7P7+AWg0NptNS7al6qmlu3Q8p/pi8pJ0ca9wPTqhl6JCfBu5dwAAuGY0GjSqR5hG9QjTwYx8ffRbij7deFCZ+ZZqbYutpfpi82F9sfmw+nUM0o1Do3VF/0h5m3nIoqUglALQuhiN0thHpXZx0td3SiWFFedO7pPevkj607tS7LgGe8mu7fx1ed8IfbMt1XHsnV/26c/DO8vPi2EYAACchuI8KX6JtOUT+8M1cvE4aWWe/lLvyVL/aVKnYZTnA85Cicdz9dhXO7QuKd3l+agQHz0xsbfGxIU3cs8AAKi/qBBf/f2ynrrvou5asvWIPvw1RdsOua4AsO1Qlh5YtE1PfxuvawdH6YbzonnoogXg01AArVO/q6W2XaT506TcoxXHi7KlT66Rxj0pDbtDMjTMAop3ju7mFEpl5lv0yW8HNHNElwa5PwAAaAVKS6UD6+wzonYtlopz67jAIHUeIQ24Xuo5QfL0a4xeAmhk+cUlevnHRL29NlkWa/WA2tPDqNtHdtVfR3XlKXIAQIvhbTbp6kFRunpQlLYczNQH6/Zr6bZUFVurr5WamW/RG2uS9eZPyRrTI0w3nR+jC7uFymis/rnexv0ZGhxz6st3nO51qI5QCkDr1WGgdOsqacE06cjmiuO2UumHf0jH46UJL0geZ754Ys+IQF3UM0wr4o87jr25Nlk3DovmD0MAAFC7jH3S1gXS1vlSZkrd7UO62teJ6netFBzl/v4BaBI2m03f7zymJ5fu0uHMApdtRnZvpycm9lZMKKE0AKDlGhAVrAHXDtA/xvfUgo0H9clvB1z+7rPZpJUJx7Uy4bhi2vrqhqHRunpglIJ87eu6z1m+Ry+t3KuHLo3TrFFd6/36c1cn6bllCbpnbKzuG9e9wX6u1opQCkDrFhgp3fyt9NUd0s4vnM9t+UhKT5Su/Ujyb3fGL3XH6G5OodSJnCIt/P2gbhoWc8b3BgAAZ5miHGnnYnsQlfJL3e29gqQ+U+yzojoObrDZ3gCap/1peZq9ZKdW7z7h8nxkkLceu6KXLundXgbGAwDAWaKtv5fuGN1Nt4/sqpXxx/ThrylauzfNZdv96fl66pt4/feHPZp8TqTO7dRGL63cK0l6blmCJNUrmCoPpCTppZV7NTw2lBlTZ4hQCgA8fe3rSIX1klY95Xzu4K/SW6OlqQuk9n3O6GXO6dRGF8aGOv2yfH11kq4b3EmeHqzrAABAq1daKu1bYw+i4pdIlvza2xuMUtcx9llRPS6XzD6N008ATabQYtVrq5P0+pokFZdUL1/kYTToLxd20d1ju8nXk498AABnJ5PRoIt7t9fFvdsr6USuPlyfos//OKScopJqbQssVs3fcFDzNxxUh2Afxwyr+gRTlQMpSXro0jgCqQbAOxQAkOxPE498QGrXQ/ryNucPgbIOSu9cLF35pn09hjNwx+huTqHUkaxCLd58WNcMprQOAACtVlqitPUTaeunUvahutu3i5P6T7WX5wuMcH//ADQLqxKO6/Gvd+pAhuvA+vyubfXPSb3VLSygkXsGAEDT6drOX7Mn9tYDl/TQ4i2H9cG6FO0+luOybdWSf+WB083nRVZr6yqQOpWSf6gZoRQAVNZrotQmRpo/1flDIUue9On10phHpQvvP+2SOOd1DtHgmDbauP+k49hrqxN15bkd5GFithQAAK1GQaa9dPCW+dKhDXW392kj9fmTfVZU5DmU5wNakUMn8/XPJbv0w65jLs+HBXjpkQm9dEW/CEr1AQBaLT8vD11/XrSmDemkDfsy9MH6FH2/86hKSm21XvfcsgTtO56t8z0r3mITSLkXoRQAVBXRT7p1lfTpDdLB35zP/fikdCJBmvjyaZXIMRgMunNMrKa/W/Hh0/70fH2zPVWTBnQ4054DAIDmzFoiJa+StnwiJXwjWYtqb28wSbEXSwOmSt0vlTy8GqefAJqF4pJSvbU2WS//uFeFluql+kxGg6YPi9F942IV4G1ugh4CAND8GAwGndelrc7r0lbHsgv1yW8H9MmGAzqRU/N774WbjuhbD5MuiyrV3jX79MrqfY5zBFINj1AKAFzxD5OmL5GW3Gsvp1PZ9s+k9CTpuk9Oq2TOiNhQ9e0QpO2HsxzHXl2VqCv6Rcpo5MlGAADOOsfj7UHUtoVS7tG624f3tQdRfa+2vycB0Or8vDdNj329Q8kn8lyeHxTdRk9O7qOeEYGN3DMAAFqO8EBv3Teuu+4Y3U3f7zyqD9enaMP+DJdtc0sM+myfSdpHIOVuhFIAUBMPL2nya1JYT2n5Y5IqTfc9skl6a7Q9mOpw7ind1j5bqptu+/APx7E9x3L1w65jurRP+wbqPAAAaFL5GdL2RfaHW45srru9b6jU7xr7WlER/dzfPwDN0tGsQj35zS59sy3V5fm2fp56+LI4XXVuRx5oAwCgnjw9jLqif6Su6B+p+NRsfbA+RYs3H1aBxVrjNQRS7kMoBQC1MRikC+6W2vWQFs2QiistlJiTKr13mT246nPVKd12XM9w9QgPcFp48ZVVe3VJ73DqwAMA0FJZLdLe5fYgavcyqdRSe3ujWepxqdR/mhQ7TjJRfgtorSzWUs37Zb9eXLFHecXVPyAzGKQbzovW3y7uoSBfxgoAAE5Xz4hAPXNlXz18WZw+/+OQPvw1RfvSnGcmB/uYCaTciFAKAOqj+yXSX1ZI86+VTu6vOF5SKC36s3Q8QRr1d8lorNftjEaD/jq6q+5ZsMVxbMfhbK3Zc0KjelCmBwCAFuXo9oryfPlpdbePPEcacL39oRbfEPf3D0Cz9ltyuh77aqfTA2uV9Y8K1lOT+qhvx6BG7hkAAGevIB+z/jy8swotVv37+91O5zILLJq7Oolgyk0IpQCgvsLipJmrpIU3SfvXOp/76d/SiXhpyhuSp1+9bjehX6ReXLHX6WmMl39M1Mju7ZgtBQBAc5d7Qtq+UNoyXzq2ve72/u3t5fkGTLOXBgbQ6p3IKdIz38bri82HXZ4P8jHroUvjdN3gKEr1AQDgBnNXJzkFUj4mmwqs9t+5zy1LkCSCKTcglAKAU+EbIt34pfTtA9If7zmfi18iZeyXps6XgqPqvJXJaNCsUV314KJtjmN/pJzUr8kZGta1bQN3HAAAnLGSImnP9/ZZUYnLpdKS2tubvKS48fZZUV1GSSb+/AIgWUtt+vi3FD3//W7lFLoeR64Z1FEPXRqntv5ejdw7AABah7mrkxzBkyRd0cmqizrYlOLbQy+sTJJEMOUu/FUEAKfKZJYmzJHCe0vfPSTZKtV8P7Zdemu0dO3HUqfz6rzVlHM66KUVe3U4s8Bx7NVViYRSAAA0FzabdGSzPYjasUgqOFn3NR2HSAOmSr2vlHyC3d5FAC3HpgMn9ejiHdp5JNvl+Z4RgXpqcm8NjKa0JwAA7lI1kPq/sV0VnW+fMTVzeLTMZrPjPMFUwyOUAoDTYTBIQ2ZKbbtJn02XCrMqzuWdkN6fIF3xkr1ETy3MJqNuH9lFj36103Hs58Q0bTpwUud2auOu3gMAgLrkHJW2fWoPo04k1N0+sIPU/zqp/1QpNNb9/QPQopzMK9ZzyxK0YONBl+cDvDz0fxd3141Do+Vhqt86tQAA4NRVDaQeujRON58XqR9+qCjjVx5AEUy5B6EUAJyJrqPt60x9cq2UvrfiuLVYWjxLOh4vXTRbMppqvMXVg6L0vx8TdSKnyHHs1R8T9c7Ng93YcQAAUI2lQEr4Rto6X0r6UbKV1t7ew0fqNdEeRHUeUevvewCtU2mpTZ/+flDPLUtQZr7FZZsp53TQ3y+PU1iAdyP3DgCA1sVVIDVrVFcVFBRUa0sw5T6EUgBwptp2lf6yQlr0ZylppfO5df+TTuyWrnpb8g50ebm32aRbL+yip7+NdxxbmXBcO49kqXdkkDt7DgAAbDbp0EZpy8fSji+loqy6r4m+wB5E9ZpU4+93ANhxOEuPLN6hLQczXZ6PDfPXk5P7aGgXSncDAOBuG/dnuAykauMqmBoU00aDYyizeyYIpQCgIfgES9MWSssflX59zfnc3u+ld8ZJUxdIIZ1dXj7tvE56bXWiTlZ6evK1VUl69fpz3dhpAABascyD0rYF0pb5UkZS3e2Do+1BVP/ravx9DgCSlFVg0X9/2K2Pfk1Rqa36eV9Pk+69KFa3XNBZZkr1AQDQKAbHhOiesbF6aeXeegVS5SoHU/eMjSWQagCEUgDQUEwe0qXPSO3ipG/ul0orlec4kSC9NVq65kOp84XVLvXz8tCM4Z31nx/2OI59uyNVicdz1C0soDF6DwDA2a84T4pfap8Vte8nSS4+La7M01/qNVkaMFXqdL5k5MNjADWz2Wz6YtNhPfNdvNJyi122ubxvez06oZcignwauXcAAOC+cd01PDb0lIOlWaO6MkOqARFKAUBDGzhdattNWnijlJ9ecbzgpPThZOny/0iDbql22Y3DYvTGmmTlFJVIslcTem11kl64ZkDj9BsAgLNRaal0YL205RNp12KpOLeOCwz29aEGTJN6XiF5+jVGLwG0cLuP5ujRxTu0YX+Gy/OdQ/30xMTeGtG9XSP3DAAAVHa6wRKBVMMhlAIAd4i5QJq5Spp/nXR8V8Xx0hJp6b3S8Xjpkn/ZZ1eVCfIxa/r5MXplVaLj2Fdbjujesd3Vqa1vI3YeAICzwMn90tYF9jAqM6Xu9iFd7TOi+l0nBUe5vXsAzg65RSV6cfkevbduv6wuavV5eRh115humjmii7w8TE3QQwAAgOaFUAoA3KVNtDTjB+mLW6Xd3zqf2/CGlLZbunqe5NPGcfjPwzvrnZ/3qcBilSRZS22auyZJz1zZtxE7DgBAC1WUI+36yh5EpfxSd3uvIKnPFKn/NClqiGQwuL+PAM4KNptNS7el6qlvdulYdpHLNhf1DNfjV/RSVAgPmAEAAJQjlAIAd/IKkK79WPrxn9LPc5zPJa+W3horTftUCo2VJIX4eeqGoZ301tp9jmaL/jiou8d2o+48AACulJZK+3+yB1HxSyRLfu3tDUap6xip/1Qpbrxk5vcrgFOTdCJXj3+1Uz8nprk837GNj56Y2Ftje4Y3cs8AAACaP0IpAHA3o1G6aLbUrqf09V2StdKTlBlJ9mDq6nelbhdJkmZe2EXvr09RcUmpJMlitenNn5L1+BW9m6DzAAA0U+lJ9iBq6wIp+1Dd7dvF2YOoftdKgRHu7x+As05BsVUv/7hXb61NlsVavVSfp8mo20d20V9Hd5O3mVJ9AAAArhBKAUBj6X+t1LartGCalHus4nhRlvTx1fY1ps67XWGB3rp2UJQ+/LVi/Yv5Gw7or6O6qV2AVxN0HACAZqIgU9r5pT2MOrSh7vbewVLfq+1rRUWeS3k+AKfFZrPph13H9M8lu3Q4s8BlmwtjQ/XPSX3UOdSvkXsHAADQshBKAUBj6jhImrlKWjBVSt1acdxWKi17WDq+S7r8v7ptZBfN33BAJWWLJRdaSvXOz/v08GVxTdRxAACaSKlVSlolbflYSvjGecaxKwaTFHuxPYjqfqnkwQMdAE7fgfR8Pf71Dq3afcLl+Yggbz02oZcu7dNeBoJvAACAOhFKAUBjC+og3bJMWjxL2rXY+dymD6T0JHW85kNNOaeDPvujohzRh+v36/aRXRTs69m4/QUAtBgb92docExIo13nVsfj7TOiti2Uco/W3T68jzRgmn1mlH+Y+/sH4KxWaLHq9TVJem11kqOsdmUeRoNmXNhZd4+JlZ8XH60AAADUl7GpOwAArZKnr3T1PGnU/6t+LuUX6a1RuruvRcZKD1vmFVs1b93+xuohAKCFmbN8j65+fb3mrk46pevmrk7S1a+v15zle9zUs1OQnyFteEt6c5T02lBp3f9qD6R8Q6Whf5VuWyvN+kUadgeBFIAztmr3cV3y4k96ccVel4HU0C4h+u6eC/X3y3oSSAEAAJwi3j0BQFMxGKRRD0ntekhf3i6VVKpPn3lAUV9M0sNd/q5/JXV2HH7vl/36y4Vd5M8fvwCASjbuz9BLK/dKkp5bliBJmjWqa53XzV2d5Gj/0sq9Gh4b2vgzpqwWKXGFvTzf7mVSqaX29kaz1ONSqf80KXacZDI3Tj8BnPUOZxbon0t26vudx1yebxfgpUfG99TE/pGU6gMAADhNfKoJAE2t92SpTYy0YJqUfbjieHGuZh5+RBmma/W69QpJBmUVWPTRrym6fWTdHzQCAFqPwTEheujSOEfAVJ9gqnIgJUkPXRrXuIHU0e3SlvnS9oVSnuu1WpxEDJAGXC/1uUrya+v27gFoPYpLSvX2z8l6eWWiCizWaueNBmn6+TG6b1x3BXoThAMAAJwJQikAaA4iB0gzV0mfXi8d2ug4bJBND5sXqLvxkBaVjNA6Wx+9vTZZ04fFyMfTVL97p6yXooe5p98AgGajPICqGkzdfF5ktbauAqn6zKw6Y7knpO2f2deKOra97vb+4VK/a+1rRYX1dH//ALQ66xLT9OhXO5R0Is/l+XM7BevJyX3UOzKokXsGAABwdiKUAoDmIiBcmr5UWnKPtG2B06krTT/rStPPetkyWf/NvUYLNh7QLRd0ruFGlfw8R1oxWxr5sDT67+7pNwCg2XAVTFksFkVXatPogVRJsbRnmbR1vrT3B6m0pPb2Ji8pbrw9iOoyWjLxJwuAhncsu1BPfROvJVuPuDwf4uephy+L05/O7SijkVJ9AAAADYW/8ACgOTF7S1Netz8NvmK2JJvT6bvMi+VvKNCbP92maed1kpdHLbOlygMpSVrzrNRlFDOmAKAVqBpMvbAySSPaGzQ60qbXf9qnl1btc7R1WyBls0lHNtuDqO2fSQUn676m4xBpwFSp9xTJp03D9wkAJJVYSzVv3X69uGKvcouqh+QGgzRtSCc9cEkPBft6NkEPAQAAzm6EUgDQ3BgM0vB7pXY9pM//IhXnOp2+xeN7Befl6ItNsZo6pJPre1QOpCTpotkEUgDQgtlsNhVYrMrIK9bJPIsy8ot1Mq/Y/n1+2ZZncXyfkVcso0EqLXu24aejJv10VJIqAqmoEB/tPJKlJ5bsVLsAL7Xz97J/LdsP8fOUh8l4ah3NOSpt+9S+VtSJ+LrbB3aQ+l8n9Z8qhcae2msBwCnauD9Djy7eoYSjOS7P9+sYpCcn9VH/qODG7RgAAEArQigFAM1Vj8ukGcul+ddKmQecTk3xWKeNy25Qybk/ysOjylDuKpAafp/buwsAqL/CsoCpcoiUme8cKtm/WnSybL+opLRB+3Awo0AHMwpqPG8wSG39PBVaOayqHF6Vf/WxKShluQxb50tJKyVbHf308JF6TbQHUZ1HSMZ6rpEIAKcpLbdIz3yboM83HXJ5PsjHrAcu6aGpQzrJRKk+AAAAtyKUAoDmLLyXNHO1tPBGKeUXp1ODS7cq66WhCrrrJ8nT137QRSC1seN0DW60DgNA61NUYtXJPEvZbKXiSrOYLE4BU+XZTAUWa1N3u042m5SWW6y03GIXswpsOtewV1eZ1uoK03oZDPl13q8w8jwZBlwvr35TJO9A93QaACqxltr0yW8pev773coudL2e3dUDO+rhy+LU1t+rkXsHAADQOhFKAUBz59dWL0U+r7Ckf2iqxyqnU0E5e2V7+VwZ/rJS2r6wWiA1t2Sinnt9ve4ZG6v7xnVv3H4DQAtksZa6LIVnn61kqTKLyX48r7j5B0wNJULpmmJaq6tMa9XVmFpn+4Ol7fR56YX63HqhDiaHS8mS79J1jplWNc3CCg3wUqi/Z+1rJwJALbYczNSji3do++Esl+fj2gfoqcl9NCgmpJF7BgAA0LoRSgFAM7dxf4bmrNov6S/abYvSox4fymSwOc4bclKlOb0lVRxzBFJli9y/tHKvhseGajB/dANoRUqspcossFRZe8niCJMcM5ryK0rk5dTwJH1z4mE0qI2fp0J8PdXGz6wQP08F+9q/j7PslKXDELXx9dSqhON6f32K4zofk00F1oqyVGPiwtQ9PEBpuUUKPvGH1llidSK3SOm5RY61qCTJR4W6xPi7rjL9pAuMO2Ws9DvIlTybl761nqdF1pHaYOshm5zXpcovtiolPV8p6XXPrgryMTuHVTWEWCF+npTcAiBJOplXrH9/v1sLNh6QzcVw5e/lof8b1103DYs+9XXzAAAAcMYIpQCgmRscE6KHLo3Tc8sSNM96qZJskXrV/D8FOpVKqvQXd2BH/bIvWx/u/FlSqCTpoUvjCKQAtGjWUpuyCiqVyKu85pLTbKaK4CmrwNLU3a6T0SCnUKk8ZGrj6+n0Ndi37LifpwK8PGQwuAhgVj0jrX9WCp6tuVkTnQKpKzpZdVEHm1J8e+iFlUmSpB8TjmtwTIgeDvhO2jlbGvmwNPrvspbalJFbpLy9P8l756dqm/KtzNbaA6RSm0HrS3tpkXWElpUOVoG8G+SfT1aBRVkFFiUez621nf2fo4t1r8pmXLUL8FJYgJfa+Xsr0KeGf34AWrTSUps+++Ognv0uQSfzXY//kwZE6h+X91RYYMOMUQAAADh1hFIA0ALMGtVVkvTcsgStLe2nycX/1Nvm/6iL8Wj1xtmHdEH2C1rnLW0p7aqCbhM0rH/vRu4xANSstNSmnMISZVQKk8pnLZ0sm7WUUWV9pswCi8sn3psTg0EK9jFXmsVU8bWNb5XjZfsB3h4yNsQMn5T10ppn7fsrZivLkiBpoiTp/8Z2VXT+bknSzOHRMpvNjpm0Wcv/LZkX2K9b86zUrodMaXvUbssnapeZUvVVqilt00W5cVfrUNREFaidhuQWqUtOkU7kFulETtlWtp/vxjKHpTYpLbdIablFiq+jqqCnyegUVlUNsSrPyPL15M8loCXYeSRLjy7eoU0HMl2e7xbmr39O6q3zu4Y2bscAAABQDX9lAUALUTmYSrZF6ivr+brP+EWt1wwwJknJL0kvvSRFDJB6T5Z6TZJCuri/wwBaBZvNppyiEucSeXmu1l6yOAVM1tJmnjDJXjoupCxQcsxmcsxeMlfMZio7FuRjbroSctHDpItmO9YWfLgsaAoa96BuPi9SP/yw29G0/PdJ1vJ/O9pJkoJjpEW31P1aXoFS7ynSgOtljBqiQINBvST1quOyvKISpbkIq5yOlR23WN3330extVSHMwt0OLOgzrZ+nqbqYVXVEoIBXmrr5yVPD8qAAY0tu9CiF37Yow/W75erXys+ZpPuuShWf76gM/+PAgAANBOEUgDQglT+IPE+c0UgVWTzkJehjnVQUrfYtxWzpfb97OFU7ylS265u6y+AlsVmsymv2Ooog+dUIs9pNpNzyFTSAgKmAG8PtXHMXqo+a6mNb0X41MbPU8E+5ha31sjckonKsiQ4gqaHzQskjzgV6PZqbWeZvqqYIVUuc3/NNzcYpS6jpQHTpLjxktnnlPvn5+UhPy8PRbf1q7WdzWYv1XiihhlX5VtabrHS84rcOoMur9iqvPR87a/H+lfBvmbnwKqGdbDa+LL+FXCmbDabFm85rKe/SVBabpHLNpf1aa9HJ/RSZPCpj1cAAABwH0IpAGhhZnl87fRB4rOW6/S6daLuMC3WA+aF9bvJ0W327ccnpfA+9oCq12SpXXf3dBpAkygotlaUwXMKmqqUyKsUNBVbS5u623Xy8zQ5hUmVQ6Vqx/3MCvbxPOufkN+4P6OsJJ+9ZJ9jBtSK2fKwWCT1kCQZMpKl5Q9J+9fW78ahPexBVL9rpcCIhu+4CwaDQcG+9plpseEBtbYtsZYqI7+4WlhVEWIVOo5nF9bx8MYZysy3KDPfor11rH9lMhrU1s+zWljlvA6W/WugN+tfAVXtOZajRxfv0G/7Mlyej2nrq9kTe2tUj7BG7hkAAADqg1AKAFqSn+c4SjNJFYGUJL1qnSyrjE6lmDZbu6iT8YTaGnJqvuexHfZt1dPKCYxVfrcJ8u5/pQI79eWDMKAZKbRYnUrhncyvXBqvWBnlQVN5wJRfrEJL8w+YfMwmR3hkD5aqlMhzWpfJU8G+ZnmbTU3d7WZncEyI7hkbq5dW7lXQuAcljzjH7wvzmqc1OGigvEqy5b15b9038w6W+l4tDZgqRZ5rXyyrmfIwGRUW4K2wAO862xZarErPcw6w7OFVodJyih0zsY7nFLr1/x1rqU3Hc4p0PKdIqmv9Kw+jy7CqcogVVnbcx5P/L3B2yysq0Usr9+rdn/e5nKHr5WHUHaO76dYRXfg9AQAA0IwRSgFAS1ElkCoZ87je/K6HU5PygKo8mDrHlKznLNdqq62rLjf+pktMG9XOkF3jSwRk71XApjnSpjlKtHXQOq8LFB88RtZ2PRXZxleRwT7qEOyjiCBvRQb78Ac/cJqKSqzKzLe4XG+p8oymzHyL4/v8YmtTd7tOnh7GSiXxzFUCJnugVHV2Ex+knyabTcrPkLIPS9lHpOzDus94RDf23qfQA+n2YyZPyVosSYrM+qP22xlMMsSOs8+K6n6p5OHVGD9Fo/I2m9Sh7PdYbcrLWFbMvKq+5lXl4+4sX1lcUv/1r/y9PKrNuLIHWZ5lx73t61/5e8rcwkpTonWz2Wz6dvtRPbl0l45mF7psMzYuTI9f0Vud2vo2cu8AAABwqgilAKAlqBJI6aLZeqtkokptCdWaVg2mHjJ/qmct1+mRkhl6rOQWDTEm6HLjb7rUtFFhhswaX7Kb4bC6FS+Uji9U0tEIfVc6RPOs52mXLVqS/an5tn6eigz2UWSwPaSKDPJxfN8h2Eeh/l4ysm4GznIWa2mVgKny2ktVyuSVlcjLLXJvGbGGYDYZqoVK1WYzOWYx2cMmH7OJGZYNodQq5R53hE3KPiLlHCn7vvxYqmStvo5K6Km+VngfacA0GfpeLflT6kqylw/09/KQv5eHOofWvv5VaWnZ+lfV1ruqvg5WRn6xW9e/yi0qUW5Rifal5dXZNsTPs1JYVbWMoLdCAzzVzt++/hW/x9GUkk/k6vGvd2rt3jSX5zsE+2j2xN4a1yu8kXsGAACA00UoBQDNXcr6aoHU3JKJZWuH2AX7mpWZb3F8n3nuHdpmiVC/hDmS7AFVamB//ZDbRb9aeunX0l6aXTJdAw17dLnpN11m2qD2hpM1dqGrMVV3Gr/SnR5faV9puL4rPU/fWodoR15npecVa/vhLJfXmU0GtQ/yVmSQ/cn0yLItoiy0igz2kb8Xv4rQfFhLbcp0lMWzlM1Wqrz2UqXwqeyYu9epaQgmo8FRDi/Y19P1bKbygKksZPL3Yi0btygplnJSawiajtjDppxUyebOmXEG6bzb7bOiIvq58XXOfkajwV5a0s9T3euz/lVesY5XCavKw6u0Ssdz3DyuZJTNytxzrO71ryqHVzWtgxUa4KUAxgw0oIJiq15dlag3f0p2udahp8moW0d00R2juzHjFgAAoIXhk0AAaO6ih0kjH5bWPOsykHro0jjNGtVVc1cnOY4v2HhQ0ZfeqH4dg+yB1siH9dLov8pmsz/RfTizQEcyC3Uks6+OZF6uf2Xmy//EJvXLXq0RJesUaXC9cLQkdTYe01+NX+uvHl/rQGk7fVt6nr6zDtFWW1eVz6AqZ7HadDCjQAczai47FOjt4QirymdclQdWEUHeCg/0pswQTkv5DIaTlUImp1lLjrWXKo5nFVjcOpOhIRgNUrCvp9pULYVXFio5SuRVWosp0JsPixtFcX5Z4HS4StBUacs73tS9lGSTAsIJpBqZh8mosEBvhQXWb/0rV2FV1RKCJ3KKVFTi3vWvjmUX6Vh29Vl5VXl5GKuHVTWEWJT/RW2W7zqm2V/vrLFs5YWxoXpiYm91aeffyD0DAABAQyCUAoCWYPTfpS6jNHdfmMtASpLja/n555YlSJdO1KxbhtqDLdlLEgX7eirY11O9I4OqvMhASTNlKSnR8T3rVbrzSwUmfyvfgppXYe9kPKHbjUt1u8dSHbKF6jvrEH1rPU9bbF1lU/2CpOzCEmUfzVHC0RyX540GKTzQuyK4CvJ2CrE6BPsoyMfcIj5w37g/Q4NjQhrturOJzWZTdmFJ7aFSpbWYTuZblJlfLDcu9dJggn3NjvCoTeWwyc/1jKZAbzPltBqbzSYVZVef0eQUOh2WCjMbv28Go+QfLgVGlm0d7F8DIqWUX6Q/3nM0LTb5ydNaVtqtfAbu8Psav8+ok7fZpKgQX0WF1L4+js1mU25RSY3rXTkfK5bVjYNiUUmpDp0s0KGTda9/FeDtYZ95VSWsqrrf1s9THjyY0moczMjX7K93amWC6/C+faC3Hp3QS5f3bd8i3vcBAADANUIpAGghagukyrkOpuI0K7r+r2P28FBYrwulXhdKtv9KhzdJuxbbt8wDNV7X0ZCmmR7faqbHt0q1hehbq73E3yZbbL0DKldKbVJqVqFSswr1R4rrEoO+niZFBDnPsqocYLUP8m7yp7LnLN+jl1budfnvrTblM+DuGRur+8Z1d2MPG0/5h6gn8yyV1l6qHCpZqqzLZA+Z3PlhakMJ9PZQiJ89+K2YxWSuEjDZg6c2vp4K8jHzgWtTs9mk/PSKdZqqBk3ZR+yzn4prL3PmFkazFBhRKWiqtF/+1T9cMrl4S//zHKdAamfkNUoMn6DLA3fLvOZp+0GCqRbPYDAowNusAG9znbNGSkttOplfrLTc4rKwqrDKOljFjhArI6/Yrf3OKSxRTmGJkutY/8pgkEJ8PR0hlWPmVZUZWKH+Xgr2IbBvqQotVr35U7JeXZXocuafh9GgPw/vrLvHxlL2GQAA4CzAOzoAaAEql+aTXAdS5VwGU5WOnxKDQeo40L6N+6eUukXa9ZW0c7F0cl+Nl0UYMjTD4zvN8PhOhd5hSgwdow2+I7ShpJsOZ1l0JLNA6Q34gVd+sVVJJ/KUdKLmD7dC/b3UIdhbEUHOs6zK17gK9fNy24dZG/dn6KWVeyWd2r+Pyv/eX1q5V8NjQ5vdjCmbzab8YmvZ+kqWarOYKtZecl6LyWJt/gGTv5eH2vhVzGKqHCpVnt1UHj4F+5opNdnclFql3ONVZjhVCprKgyhr3aXJGpyHT/XZTY79svDJN1QynsZ/Uz/PcVqL0DLyH0rM7iFJKhl6l8xmc8V5gqlWw2g0qK2/l9r6e6lH+9rXv7JYS5VeFlI5Zl3VsA5WTpH71r+y2aT0vGKl5xXXOKO6nIfR4Fwu0N9LoQGeZQGWt1OI5edpYqZNM7Fmzwk9/tUO7U/Pd3l+SOcQPTW5T51rtgEAAKDlIJQCgGZu4/6MegdS5VwFU4Ni2pxZoGEwSJHn2Lexj0tHt9tnT+1cLGUk1XiZd+Fx9Tm0QH20QH/2D5d6XiH1mqzCyJE6kl2s1KzCsjWuyrdCHcmy7xdaGm6djLRc+wdrWw9luTzvaTIqIthbkUHO61vZZ1/Zwyy/03w6d3BMiB66NO6UgkJXQWRjBFKFFqsyqoZKZeXwaprNVOzG9Uwaiq+nyWntpfKZSs5l8uxl80J8PRXka5aXB2ueNGslxWXBkqugqWymU85RyWZt/L55BVUKmaoETeXHvIPt42pDqxJI6aLZKhl4u/TDDxXHygMoginUwGwyqn2Qt9oH1b3+VUGxVWm5RTpeWwnBsuPu/H1RUmrT0exCHc0urLOtj9lUKbAqD7G8y2ZdOc/MauqZ1merI5kFenLpLn2346jL86H+XvrH+DhNHtCBABEAAOAsQygFAM3c4JgQ3TM29pRLv1UOpu4ZG9uwgYbBIEX0s29jHpWO7bTPoNq1WErbU/N1ucekjW9LG9+Wt187del5hbr0miSdM7xa+SmbzaaT+fZZVYczC5SaWaAjVQKs4zlFsjXQhJtia6lS0vOVUsOTupIU5GN2hFSRLsoEhgV41ViKraYZbDefF1mt7anMjKtNUYnVPnvJUQKvfBZT1YCpIngqsDTBB/inyMvDWKk0XnmoZHaatdSmUsjUxteTDxVbmuK8ilJ6VYOm8tlNea7XHHE739AqQVOkc0m9gAjJq/Yyam7jIpDS8PukAhdr/BBMoYH4eNZ//avswhKXYVVFCcGKr+6s2FpgsepgRoEOZtS9/lWgt0f18oEu1sEKaSXrX53p+pjFJaV695d9+t/Kvcovrv6ew2iQbhoWo/vGdVeQj7khugwAAIBmhlAKAFqA+8Z1P63SbbNGdT3zGVJ1MRik9n3s25h/SMfjK0r8nYiv+bq8E9Lv79o337ZS3ASp92Qp5kLJZJbBYLDPWvHzVJ8OQS5vUVxSqmPZhfaQKss+y8oRYJXt5zZgWaGsAouyCiyKT812ed5kNKh9oLciK5UJrBxgTRvSSZJNzy3bLckeTFksFlVe8qumQMpiLa0okVclTKpYe8nidDzPxYc9zY2nyag2fi5mLVUJmSqf8/EkYGqxbDapMKvmoKl8vzCz8ftmMEr+7WsOmsrXdDLXPXOkSaSsdx1I1cZVMBU1VIoe1vD9Q6tnMBgU5GNWkI9ZXetY/8patv5V1bDKVYh1Mt/i1n5nF5You7Ck1hLBkv3tUFs/z1qDq/L9IB9zi5z9c6brY155bgdtO5SlxOOu1+g7p1OwnpzUp8b3fQAAADg7EEoBQAtxusFSo69BFNbTvo16WDqxu2wG1VfSsR01X5OfLm163775tLEHVL0mS51HSB6eNV7m6WGs8+ns7EL7bKvUTNdlAo9mFaqkgR7HtpbadLhsZpd00mUbP0+T2vp5OtbUemFlkgaEGNUj2KbPPtqin5MyHG0jgrw1f8MBvbYq0a1rdjQUD6PBERwF+5qrlMbzVEjl8KnsGOt6nEVsNvv/y1XXbsquEkBZav9g1y2M5url8wKqrOfkH15txmaLEj1MGvmwtObZ+gVS5SoHUyMfJpBCs2AqWx8q1N9LPSNqb1tcUqr0vCqzr8qDrCqzstz5sIbNJqXlFistt+71r8ymSutfVQ6uKs/GKvt6uqWDG1pDrI/5xabDLtu08TXr4cvidPXAKLet7wkAAIDmo3m8wwUAnJ3a9ZBGPmjf0hLt5f12LbavR1WTgpPS5g/tm3ewFDde6jVJ6jK61oCqJoHeZgW2NyuufaDL89ZSm07kFDkCq9RKM67KA6yGfAo7r9ha7UOxLRlGbcmQpAyn46lZda+L4S5GgxzBUUiVUngVoZLzDKcALw8CprNVqdVeftNpVlOVmU45qZK1uPH75uEjBXWoEjRFOgdQvqGS8ewvq6XRf5e6jDr1YGn4fcyQQovl6WFURJCPIoJ86mybV1TiWGPSZQnB3GKllR0rtrpv/SuL1abUrMJ6/Z739TRVhFVVAqzy70PL1sJy51qIp7M+5qur9ur572su62wwSNcN7qQHL+mhNn6n/h4PAAAALROhFACgcYR2k0b8zb6lJ0nxX9tL/KVuqfmawkxpy8f2zStI6nGZvcRfl9ENVkLLZDQ4FnMfGN3GZZuCYmtZecCCsjWuCqsFWO5cvP1MGQxSsI/ZedaSr6eC/cxO35eXywvx9VSAtwdPK7cWJUVl5fRqCJqyj0g5RyVbE5SD9A6qOWgq37yD7f+Rw+50gyUCKbQCfl4e8vPyUHRbv1rb2Ww2ZReU6ERuoY47Zl4VuywhmJHn3vWv8outda55WS7Ix+wcVtUQYoX4ecp0Gr/jT2V9zEcWb9dHvx6o8V59OgTqqcl9NSAq+JT7AQAAgJaNUAoA0PjadrU/mT/8Punk/ooSf4f/qPmaoixp2wL75hlgD6h6TZK6jZXMdT8dfSZ8PE3q2s6/xjUwbDab0vOKK8oCls+yyrIHWKmZBTqeU9Rg/Qnysc9aCvY1O4VJ9llLFbOXgsu+BvmYT+vDJ5wFivOqhE2VgqbyY3knmqZvvqE1B03l6zh51b7uDAC4g8FgUJCvWUG+ZnULC6i1rbXUpoy8YpfrXVUNsbIK3Lv+VfnalzWt2VTOaJBC/FyvdxXq76l2AV4KC/BSO39vBfo4z4J2FUxVXh8zI69Yt7/9u7Yfdr3+ZqC3hx64pIemnRfNexMAAIBWqtWGUsePH9eGDRu0YcMGbdy4URs3blR6erokafr06Zo3b16d95g3b55uueWWer3ee++9p5tvvrnWNvn5+Xr11Vf12WefKTExUcXFxYqKitL48eN19913q1OnTvV6LQBoUdrESBfcY98yD0i7vraX+Du0seZrinOk7Qvtm6e/1P2SsoBqnORZ8/pS7mIwVKx90a+j6zZFJVYdy3IuE7h813FtPZRZre3gmDYa1SOsWsjUxs9TwT5meZhaQRky1M5mkwqzKmY15Rypso5T2VaY2fh9Mxgl//Zl4VLldZwqr+cUIXl4NX7fAKCBmYwGR6BTl6ISq33dKRczrsq/T8st0vHsIhVY3Dc7tdQmRxnD+NTa23qajE5hVXmINa5XmJbvOi7Jvj7mZR0N8jdLD724ToU1zB6/6tyO+vvlcQr1Z/wHAABozVptKBUeHt7UXXCSlJSk8ePHa/fu3U7HExISlJCQoLfffluffPKJLr/88ibqIQA0guBO0vl32resQ2UB1VfSwV9rvqY4V9rxuX0z+0qxF9tL/MVeLHnWXp6nMXl5mNSpra86tbWHZnNXJzkFUr4eNuWX2J8Y3rj/pMbEhWvaeTyM0CqVlkr56TUHTeWbJa/x+2Y0VwmaKoVN5WX2/MMlU6t9iwkANfLyMKlDsI86BNdv/avKwVVN62Cl5RbJYnVf/cBia6kOZxbocGZBre2+O1S+nlX1QCqufYCenNxHg2NC3NBDAAAAtDR8YiApKipKPXv21A8//HDa9/j+++8VGVm9lna5jh1reHReUm5uriZMmOAIpGbOnKnrrrtOPj4+WrVqlZ555hllZWXp6quv1vr169WvX7/T7icAtBhBHaVhf7Vv2Uek+CX2gCplnaQaPnyx5NtnWe1aLHn4SLHj7DOoul/arMqAzV2d5Ch7I0lXdLLqog42pfj20AsrkyTVbwFxtEClVin3WC1hU1l5PWtx4/fN7OsiaKoy08m3rWRkph4AuFv5+lcxoXWvf5VVYHG53lXVcoLpecWyuXH9q6r8PE26b1x3TT8/RmZmeQMAAKBMqw2lHnvsMQ0ePFiDBw9WeHi49u/fr86dO5/2/bp3766YmJjTuvY///mPEhLsHz7++9//1gMPPOA4N2zYMI0ePVojRoxQfn6+7r33Xv3444+n3U8AaJECI6XzbrNvOUcrBVS/SDbXJWJUUiDFf23fPLylbhdJvSbbS/15BzZq9yurGkj939iuis4veyhheLTMZnO1BcQJplqIkqJK6zVVCZrK93OPSTb3lWSqkXdQzUFTeZk972DJwPoeANCSGAwGBfva15GMDa99/asSa6l9/asagqvKM7KyC0vOqF9X9I/UI+N7KjzQ+4zuAwAAgLNPqw2lnnjiiabugiTJYrHopZdekiT17NlT999/f7U2w4YN04wZM/TGG29o1apV+uOPPzRw4MDG7ioANA8B7aUhM+1b7vGKgGr/2loCqkIpYal9M3lKXcfaS/x1v1TyCW60rlcNpB66NE43nxepH36oKN3qagHxysfRRIrzag6aysvs5Z1omr75hlZfsymwQ0WZvYCIZjVTEADQNDxMRoUFeiusHkFRocXqVDIwLbe4LMQqdAq0UjMLVVJaffpVr4hAAikAAAC41GpDqeZi9erVyszMlCRNnz5dxhpK4tx888164403JElffPEFoRQASJJ/mDR4hn3LS7OHTru+kpLX1DwbxVos7fnOvhnNUtcx9hJ/cZdLPm3c1lVXgdSsUV1VUFB9jQaCqUZks0mFWdXDppwqAVRhVuP3zWCU/Nu7DprKjwVESB4sGA8AaFjeZpM6tvFVxza+Nbap+t7Gx2RTgdU+45b3LgAAAKgJoVQTW7t2rWN/5MiRNbYbNGiQ/Pz8lJeXp59//rkxugYALYtfqDTwZvuWnyElfGNfWyp5tVRaQwmaUou093v7tsRD6jLKXuIvbrzk23CLcW/cn+EykKqNq2BqUEwbFgk/FaWlUn56zUFT+b4lv/H7ZjRXCZoinUvqBURI/uGSibdqAIDmh/UxAQAAcLr4pKOB3HzzzYqPj9fJkycVGBiobt266aKLLtKsWbPUoUOHGq+Lj4937MfFxdXYzsPDQ127dtW2bducrgEAuOAbIp17o30rOCklfGufQZX0oz2IcqW0REpcYd+W3CN1HmEv8Rc3wR54nYHBMSG6Z2ysXlq5t16BVLnKwdQ9Y2MJpCqzltjXZ8pJrRQwHXYusZeTap8Z19jMvlVmN5XPaqp0zLetVMPsaAAAmjPWxwQAAMCZIJRqIGvWrHHsp6enKz09Xb/99pv++9//6sUXX9Rtt93m8rqDBw9Kkvz8/BQcHFzra0RFRWnbtm06ceKEioqK5OVVv3I9hw4dqvV8amqqY7+goMBlKanWqrCw0OU+gJbEW4q70r4VZsmU+INMu5fIuG+1DDUFFjarlLxKSl4l29L/U2mn82XtMUHW7pdLfu1Oqxe3D4/S4E4BGtgp2GmcrWucufm8SPWN8K123VmtpEiG3KMy5KSWbUcq7ds35R2ToaY1xNzI5hUkW0BE2RZZab/imLwCJYOh9hsVFTVOhwHxfgZAw3nr5xTHTCjJHkjdOChcP/1kD6UKCwt183mRslgsTjOmLBaLZg6PbpI+A2j5eC8DwN0YZ1xz1+dQhFJnqEuXLrryyis1bNgwRUVFSZKSk5P1+eefa9GiRSosLNTtt98ug8GgW2+9tdr1OTk5kiR//7oXIPfz83Ps5+bm1juUKu9Xffz0008KDT2zGQFnq59++qmpuwCgQQRJATfIo/dVCs/arA6ZGxWWvU0mm+sZVAabVaaUtTKlrJXth4eV5h+n1ODBOhI8SEXm4FN65ZDc3fohoUeN52saZ+q6riUxWYvkY8mQtyVDPsUn7V8tGfIuPimfsn2vkpwm6VuhR6AKzSEqMLdRoWcbFZhD7N97lh0zh8hqqvK7N79sO1Yi6WDZBjRfvJ8BcLpWHDZoyQGT4/srOlkVnb/bEUhJFWNMtKQrOlW0f2Flkvbu3aOLOtgatc8Azj68lwHgbowzFdLS0txyX0KpMzBlyhRNnz5dhipPQw8ePFjXXnutli5dqiuvvFIWi0X33XefJk6cqPbt2zu1LU9ePT0963y9yiFUq3laHgDcpMTko8Mh5+twyPnysBYoPHurIjM3KixrqzxsrmdQGWRTu9x4tcuNV99DHyrdr7uOtBms1KBBKvSsvbRej9QvFHd0sXZGXqPE8An17me3Y0vV+8hCJbSfrN0RV57Sz9iobDaZrfnytpwsC5kyykKmk2X79gDK09r46zfZZFChOdgeMpUFTJX3C80hKjQHq9RobvS+AQDQEiRlq1ogVVfAZD9vdVy35IBJnQNK1DXQnT0FAABAc0codQaCgoJqPT9hwgQ9/vjjeuSRR5Sfn6933nlH//jHP5zaeHt7S5KKi+te86KoUqkfHx+fevezvERgTVJTUzVkyBBJ0ogRI9SxY8d63/tsV1hY6EjHR4wY4fj3BeBsNEmSZCnOkzV5pUwJS2RKXiGDxfVDAAbZFJq3W6F5u9Xv0Eeydhgia48JKu0xXrZA57UEjYd+k9fmxZKk3kcWqntsrEqG3iWp9nHG49eXZd68UJIUd3SxOo+9RaUdz2vQn7pebKVSfnr1cnq5qc7Havhn5daumTxl829fYyk9W0CEveSi0UM+knwktWn0XgJNi/czABqCNTRZr67Zr/8b29WpFF9tY8zFkmLLSv7dMTJGs0Z1aexuAzgL8F4GgLsxzrhW17JAp4tQys1mzpypRx99VDabTWvWrKkWSgUEBEiyl+OrS15enmO/PuX+yp1KyOTj43NKgVdr4u3tzT8boDXw8ZHOuda+FedLiculXV9Ju5dJlrwaLzMd3iDT4Q3Sj49JHQdLvSbZt+BOUuwo6aLZ0orZkiTzmqdlNpul4fc53cNpnPl5jrTm6YqTF82WV+yoBv1RJUnWEin3mJR9RMo+LOWk2r9mH6k4lp0qlboub+hWZl8psIMUGFllKzsWECmDb1sZjMbG7xvQQvF+BsDpeuCy3hrVM0KDY2qeHe5qjLl7XJyGxYbVeh0A1BfvZQC4G+NMBXf9cyCUcrOwsDCFhobqxIkTOnz4cLXzHTt21G+//aa8vDxlZmYqODi4xnuVz3hq165dvdeTAgCcAU/finDJUiAlriwLqL6TimtZ9+jQRvv2wyNS5LlS78lS7yn2c2XBlOPrwNurX//znIrzkj3QqhJg1UtJkT1YykmtFDBV/poq5R61z4RqbN5BVQKniqDJccw7SKpSIhcAADSd0w2WCKQAAABQjlCqEdhsNdfa7tWrlz7//HNJUkJCgoYOHeqyXUlJiZKSkiRJPXv2bPhOAgBqZ/aRek6wb5ZCKXmVtHOxtPtbqSi75uuObLJvyx+TIgZIXcdKSSvt51bMlofFIqlHRfv6BlJFuVVmNVUKmsr3892zIGWd/NpVCZoiKgVQHaTACMnTr2n6BgAAAAAAgCZDKOVmx48fV3p6uiQpMjKy2vnhw4c79tesWVNjKPX77787yvddcMEFbugpAKDezN5Sj8vsW0mRlLzaPoMqYalUmFXzdalbqt9qzdPqFnmNEsMnyOPXl51L9g24XvJpI616pkpJvSNSUS2v4y4GY1nAVDVoqhQ2BURIHszmBQAAAAAAQHWEUm725ptvOmZKjRw5str5UaNGKSgoSFlZWXr//ff14IMPyuCiVNG8efMc+1OmTHFbfwEAp8jDS+p+iX0reVHa95O0a7E9oCo4Wa9b9D6yUD2PfC6jrM4ntnxs3xqDybOGoKlSOT2/MMnEWwcAAAAAAACcHj5ZOk379+/XyZMndc4559TYZunSpXryyScl2RdIu+WWW6q18fT01N13360nn3xS8fHx+s9//qMHHnjAqc369ev1zjvvSLIHW4MHD27AnwQA0GA8PKXYi+zbhDnS/rX2En8JS6X89FovrRZINSSzb/XyeU6hUwfJty3rNwEAAAAAAMCtWm0o9fPPPysxMdHxfVpaxbobiYmJTjOTJOnmm292+n7//v0aPXq0hg0bpiuuuEIDBgxQWFiYbDabkpOTtWjRIi1atMgxS+o///mPOnTo4LIvDzzwgD799FPt2bNHDz74oBITE3XdddfJx8dHq1at0r/+9S+VlJTIx8dHL774YoP8/AAANzOZpa5j7Nv4F6SUn+0l/uKXSHknGu51vINrCJrK9gMiJO8gAicAAAAAAAA0uVYbSr399tt6//33XZ775Zdf9MsvvzgdqxpKlVu/fr3Wr19f4+v4+vpqzpw5uvXWW2tsExAQoG+++UaXX3659u7dqzfffFNvvvmmU5vAwEB9/PHHGjBgQI33AQA0UyYPqcso+3b5f6SUdfYSf1sXSMW5NV/n167moKk8iPL0a6QfAgAAAAAAADgzrTaUOlMDBw7URx99pPXr1+v3339Xamqq0tLSVFJSojZt2qh3794aO3as/vKXvygsLKzO+3Xr1k2bN2/Wq6++qs8++0yJiYkqLi5WVFSULr/8ct1zzz2Kjo5uhJ8MAOBWRpPU+ULp8O9OgVSJwVMetuKKdmMekUY84OIGAAAAAAAAQMvUakOpefPmVSvRdyoCAgJ0/fXX6/rrr2+wPvn5+enBBx/Ugw8+2GD3BAA0Qz/PkVbMdny7M/IaJYZP0OWBu2Ve87T94I9PSUYPafh9TdNHAAAAAAAAoIG12lAKAIAmUSWQsoz8hxKze0iSSobeJbPZXHG+/CvBFAAAAAAAAM4CxqbuAAAArUaVQEoXzVbJ0Luc2wy/T7qoUpsVs+3XAQAAAAAAAC0coRQAAI3BRSBV4wwogikAAAAAAACchQilAABwt5T19Q+kyrkKplLWN3zfAAAAAAAAgEZCKAUAgLtFD5NGPmzfr08gVa5yMDXyYft9AAAAAAAAgBbKo6k7AABAqzD671KXUaceLA2/T4oaSiAFAAAAAACAFo+ZUgAANJbTDZYIpAAAAAAAAHAWIJQCAAAAAAAAAACA2xFKAQAAAAAAAAAAwO0IpQAAAAAAAAAAAOB2hFIAAAAAAAAAAABwO0IpAAAAAAAAAAAAuB2hFAAAAAAAAAAAANyOUAoAAAAAAAAAAABuRygFAAAAAAAAAAAAtyOUAgAAAAAAAAAAgNsRSgEAAAAAAAAAAMDtCKUAAAAAAAAAAADgdoRSAAAAAAAAAAAAcDtCKQAAAAAAAAAAALgdoRQAAAAAAAAAAADcjlAKAAAAAAAAAAAAbkcoBQAAAAAAAAAAALcjlAIAAAAAAAAAAIDbEUoBAAAAAAAAAADA7QilAAAAAAAAAAAA4HaEUgAAAAAAAAAAAHA7QikAAAAAAAAAAAC4HaEUAAAAAAAAAAAA3I5QCgAAAAAAAAAAAG5HKAUAAAAAAAAAAAC3I5QCAAAAAAAAAACA2xFKAQAAAAAAAAAAwO0IpQAAAAAAAAAAAOB2hFIAAAAAAAAAAABwO0IpAAAAAAAAAAAAuJ1HU3cATa+kpMSxn5qa2oQ9aX4KCgqUlpYmSTp06JB8fHyauEcAzjaMMwDcjXEGgDsxxgBwN8YZAO7GOONa5aygcoZwpgiloBMnTjj2hwwZ0oQ9AQAAAAAAAAAAzcmJEycUExPTIPeifB8AAAAAAAAAAADczmCz2WxN3Qk0rcLCQm3fvl2S1K5dO3l4MIGuXGpqqmP22IYNGxQREdHEPQJwtmGcAeBujDMA3IkxBoC7Mc4AcDfGGddKSkocVdb69u0rb2/vBrkv6QPk7e2twYMHN3U3mr2IiAh17NixqbsB4CzGOAPA3RhnALgTYwwAd2OcAeBujDPOGqpkX2WU7wMAAAAAAAAAAIDbEUoBAAAAAAAAAADA7QilAAAAAAAAAAAA4HaEUgAAAAAAAAAAAHA7QikAAAAAAAAAAAC4HaEUAAAAAAAAAAAA3I5QCgAAAAAAAAAAAG5nsNlstqbuBAAAAAAAAAAAAM5uzJQCAAAAAAAAAACA2xFKAQAAAAAAAAAAwO0IpQAAAAAAAAAAAOB2hFIAAAAAAAAAAABwO0IpAAAAAAAAAAAAuB2hFAAAAAAAAAAAANyOUAoAAAAAAAAAAABuRygFAAAAAAAAAAAAtyOUAgAAAAAAAAAAgNsRSgEAAAAAAAAAAMDtCKWAGhw4cEB/+9vf1LNnT/n5+SkkJERDhgzRf/7zH+Xn5zd19wA0Q8ePH9fSpUv12GOP6bLLLlNoaKgMBoMMBoNuvvnmU77fsmXLdOWVV6pjx47y8vJSx44ddeWVV2rZsmUN33kALcKmTZv0r3/9S5dddpmioqLk5eUlf39/de/eXTfffLPWrl17SvdjnAFQWXZ2thYsWKD7779fI0eOVLdu3RQUFCRPT0+FhYVp1KhR+ve//6309PR63Y8xBsCpePDBBx1/PxkMBq1evbrOaxhnAFRVeRypbRs1alSd92KMcQ+DzWazNXUngObmm2++0fXXX6+srCyX53v06KFvv/1WXbp0aeSeAWjODAZDjeemT5+uefPm1es+NptNt99+u958880a29x66616/fXXa31NAGeXkSNH6qeffqqz3Y033qi3335bnp6eNbZhnAHgyooVKzRu3Lg624WGhuqjjz7SJZdc4vI8YwyAU7V161YNGjRIJSUljmOrVq2q8UNjxhkANanv//MjR46sMfxmjHEvZkoBVWzdulXXXHONsrKy5O/vr6efflrr1q3TypUrNXPmTEnS7t27NX78eOXm5jZxbwE0V1FRUbr44otP69pHHnnE8cbnnHPO0fz587VhwwbNnz9f55xzjiTpzTff1KOPPtpg/QXQ/B0+fFiSFBkZqXvuuUeLFi3Shg0btH79er3wwgvq0KGDJOnDDz+sc3Ym4wyAmkRFRemmm27SSy+9pC+++ELr16/XL7/8ok8//VRXX321TCaT0tLSNHHiRG3bts3lPRhjAJyK0tJSzZw5UyUlJQoLC6vXNYwzAOoya9Ysbd++vcbtvffeq/Faxhg3swFwMmrUKJskm4eHh23dunXVzv/73/+2SbJJsj3xxBNN0EMAzdVjjz1mW7Jkie3o0aM2m81m27dvn2O8mD59er3usXfvXpuHh4dNkm3QoEG2/Px8p/N5eXm2QYMGOcapxMTEhv4xADRT48ePt3366ae2kpISl+dPnDhh6969u2Pc+emnn1y2Y5wBUJOaxpfKvvzyS8c4c+WVV1Y7zxgD4FTNmTPHJskWFxdn+/vf/+4YY1atWuWyPeMMgNqUjyGPP/74aV3PGON+zJQCKtm4caNj2uaMGTM0bNiwam3uv/9+9ezZU5L04osvymKxNGYXATRjTzzxhCZMmKDw8PDTvsecOXMcJStefvll+fj4OJ339fXVyy+/LEkqKSnRiy++eNqvBaBlWbp0qa655hqZTCaX50NDQ/Xf//7X8f2iRYtctmOcAVCTmsaXyiZPnqy4uDhJcllSlDEGwKk4ePCgY6bB3Llzay0/XI5xBoA7Mca4H6EUUMnixYsd+7fccovLNkajUTfddJMk6eTJk/VaeBMA6sNms+mrr76SJMXFxWno0KEu2w0dOlQ9evSQZB+3bCwPCaBM5XUXkpKSqp1nnAHQEPz8/CRJhYWFTscZYwCcqr/+9a/Kzc3V9OnTa1w/qjLGGQDuxBjTOAilgErWrl0ryf5H1sCBA2tsN3LkSMf+zz//7PZ+AWgd9u3b51gzpvI440r5+UOHDmn//v3u7hqAFqK4uNixbzRWf6vPOAPgTMXHx2vLli2S5JgxVY4xBsCpWLhwoZYuXaqQkBA9//zz9bqGcQaAOzHGNA5CKaCS+Ph4SVK3bt3k4eFRY7vKf3yVXwMAZ6ryeFL1Q56qGIcAuLJmzRrHvqtxhHEGwOnIz8/X3r179cILL2j06NGyWq2SpHvuucepHWMMgPrKzMx0jCHPPfec2rVrV6/rGGcA1Ndnn32mHj16yMfHRwEBAYqNjdX06dO1atWqGq9hjGkcNX/qDrQyhYWFSktLkyR17Nix1rZt2rSRn5+f8vLydPDgwcboHoBWoPJ4Utc4FBUV5fI6AK1XaWmpnn32Wcf311xzTbU2jDMA6mvevHk1ljSXpL/97W+6/vrrnY4xxgCorwcffFBHjx7V+eefrxkzZtT7OsYZAPW1a9cup+8TExOVmJioDz74QJMnT9a8efMUFBTk1IYxpnEQSgFlcnJyHPv+/v51ti8PpXJzc93ZLQCtyKmMQ+VrOUhiHAIgyb4g74YNGyRJU6ZM0aBBg6q1YZwBcKYGDBig119/Xeedd161c4wxAOrj559/1ttvvy0PDw+9/vrrMhgM9b6WcQZAXXx9fTVx4kSNHTtWcXFx8vf314kTJ7RmzRq9/vrrSk9P1+LFizVp0iQtX75cZrPZcS1jTOMglALKVF6k19PTs872Xl5ekqSCggK39QlA63Iq41D5GCQxDgGwl+17+OGHJUlhYWGaO3euy3aMMwDqa/LkyY5wu6CgQElJSVq4cKG+/PJLXX/99XrxxRc1YcIEp2sYYwDUpbi4WLfeeqtsNpvuu+8+9e3b95SuZ5wBUJfDhw8rODi42vFx48bprrvu0mWXXabNmzdrzZo1mjt3ru6++25HG8aYxsGaUkAZb29vx37lRcJrUlRUJEny8fFxW58AtC6nMg6Vj0ES4xDQ2u3cuVNTpkxRSUmJvLy8tHDhQoWHh7tsyzgDoL6Cg4PVp08f9enTR4MHD9Z1112nL774Qh988IGSk5M1adIkzZs3z+kaxhgAdfnXv/6l+Ph4derUSY8//vgpX884A6AurgKpcuHh4Vq0aJEjcHr55ZedzjPGNA5CKaBMQECAY78+Uy7z8vIk1a/UHwDUx6mMQ+VjkMQ4BLRm+/bt08UXX6yTJ0/KZDJp/vz5GjlyZI3tGWcAnKkbb7xRV199tUpLS3XnnXfq5MmTjnOMMQBqk5CQoGeeeUaS/YPgyqWv6otxBsCZ6tKli8aNGyfJvs7UkSNHHOcYYxoH5fuAMt7e3goNDVVaWpoOHTpUa9uTJ086Bp7Ki9oBwJmovIhmXeNQ5UU0GYeA1unIkSO66KKLdOTIERkMBr377ruaMmVKrdcwzgBoCJMmTdLChQuVl5en7777TtOmTZPEGAOgdnPmzFFxcbG6dOmi/Px8LViwoFqbHTt2OPZ//PFHHT16VJJ0xRVXyM/Pj3EGQIPo1auXvvnmG0n2cn+RkZGSeC/TWAilgEp69uyptWvXKjExUSUlJfLwcP2/SEJCgtM1ANAQevXq5divPM64wjgEtG5paWkaN26ckpOTJdmfNr7pppvqvI5xBkBDaNeunWM/JSXFsc8YA6A25aWukpOTNXXq1DrbP/nkk479ffv2yc/Pj3EGQIOw2WwujzPGNA7K9wGVDB8+XJJ9+uUff/xRY7s1a9Y49i+44AK39wtA69C5c2fH0zmVxxlXfvrpJ0lShw4dFBMT4+6uAWhGsrKydMkll2jXrl2SpGeffVZ33HFHva5lnAHQEA4fPuzYr1yuhjEGgLsxzgBoCOV/S0lyjCkSY0xjIZQCKpk8ebJj/7333nPZprS0VB988IEk+8J5o0ePboyuAWgFDAaDJk2aJMn+xM2vv/7qst2vv/7qeCJn0qRJMhgMjdZHAE0rPz9f48eP16ZNmyRJ//jHP/TQQw/V+3rGGQAN4bPPPnPs9+3b17HPGAOgNvPmzZPNZqt1e/zxxx3tV61a5The/oEv4wyAM5WcnKzly5dLsq8v1aFDB8c5xpjGQSgFVDJkyBBdeOGFkqR33nlH69evr9bmv//9r+Lj4yVJ99xzj8xmc6P2EcDZ7d5773WUDr3rrrtUUFDgdL6goEB33XWXJMnDw0P33ntvY3cRQBMpLi7WlClT9Msvv0iyvw956qmnTvk+jDMAajJv3jwVFhbW2mbOnDn69ttvJUkxMTGOahPlGGMAuBvjDICaLFmyRCUlJTWeP3bsmP70pz/JYrFIksuKE4wx7seaUkAVL730ki644AIVFBTo4osv1v/7f/9Po0ePVkFBgRYsWKA333xTktS9e3fdf//9TdxbAM3Jzz//rMTERMf3aWlpjv3ExETNmzfPqf3NN99c7R7du3fX3/72Nz377LP6/fffdcEFF+ihhx5S165dlZSUpOeee06bN2+WJD3wwAOKjY11y88CoPmZOnWqfvjhB0nSmDFjNGPGDKfFwKvy9PRU9+7dqx1nnAFQk9mzZ+v+++/XVVddpeHDh6tr167y9/dXTk6Otm/fro8//tgRjHt6euqtt96qtg4vYwwAd2OcAVCTu+66SxaLRVdddZWGDRummJgY+fj4KC0tTatXr9brr7+u9PR0SfZlXFyFUowx7mew1bSqF9CKLVmyRDfccIOys7Ndnu/evbu++eYbdevWrZF7BqA5u/nmm/X+++/Xu31Nv4JLS0s1c+ZMvfvuuzVeO2PGDL355psyGpn0DLQWp1oSIjo6Wvv373d5jnEGgCsxMTFKSUmps13Hjh317rvvaty4cS7PM8YAOF2zZ8/WE088Iclevm/UqFEu2zHOAHClvu9lrrrqKr399tsKDg52eZ4xxr0IpYAapKSk6KWXXtI333yjQ4cOydPTU926ddPVV1+tO++8U76+vk3dRQDNTEOFUuW+/fZbvfnmm9q4caPS0tIUGhqqwYMH67bbbtNll112pt0F0MI0ZChVjnEGQGVJSUlasWKFVq1apfj4eB07dkzp6eny9vZWeHi4BgwYoAkTJuiaa66p199DjDEATlV9Q6lyjDMAKluzZo3WrFmj9evXKzk5WWlpacrOzpa/v7+ioqJ0/vnna/r06Ro2bFi97scY4x6EUgAAAAAAAAAAAHA75pYBAAAAAAAAAADA7QilAAAAAAAAAAAA4HaEUgAAAAAAAAAAAHA7QikAAAAAAAAAAAC4HaEUAAAAAAAAAAAA3I5QCgAAAAAAAAAAAG5HKAUAAAAAAAAAAAC3I5QCAAAAAAAAAACA2xFKAQAAAAAAAAAAwO0IpQAAAAAAAAAAAOB2hFIAAAAAAAAAAABwO0IpAAAAAAAAAAAAuB2hFAAAAAAAAAAAANyOUAoAAAAAAAAAAABuRygFAAAAAAAAAAAAtyOUAgAAAAAAAAAAgNsRSgEAAAAAajVv3jwZDIZq27x58077nqtXr3bcZ/Xq1Q3WV1fc0X8AAAAAp45QCgAAAABOQeUwZfbs2bW2PXbsmPr06eNoP2vWLNlstjN6/dmzZ59ymDNq1CjHNS1F5Z+z6mYymRQcHKyBAwfq/vvv1969e5u6uwAAAADqwaOpOwAAAAAAZ6PU1FSNGTNGCQkJkqR77rlHL774YtN2qgF8//33ioyMlCR17NixSfpQWlqqrKwsbdq0SZs2bdIrr7yi//3vf7rttttctp88ebIGDRokSTpy5IguueSSxuwuAAAAgDKEUgAAAADQwA4dOqQxY8Y4ZvD87W9/0/PPP9/EvWoY3bt3V0xMTKO+5rvvvqvBgwc7vrdarUpNTdV3332nuXPnqri4WLNmzVJsbKzGjBlT7frg4GAFBwdLkvz9/Rur2wAAAACqIJQCAAAAgAaUkpKi0aNHa9++fZKkf/zjH3rqqaeauFctW+fOndWnTx+nY/3799ell16qAQMG6M9//rNsNpuef/55l6EUAAAAgOaBNaUAAAAAoIEkJSVpxIgRjkBq9uzZBFJudssttyg0NFSS9NtvvzVxbwAAAADUhlAKAAAAABrAnj17NHLkSB04cECS9Mwzz+jxxx9v4l41nYKCAj399NPq37+//Pz81LZtW11wwQV66623VFpa2qCvVV5OsLCwsEHvCwAAAKBhUb4PAAAAAM5QfHy8xowZo6NHj0qSXnjhBd13331N3Kumc+TIEY0dO1YJCQmOY/n5+Vq3bp3WrVunL774okH/+ezfv1+S1KlTpwa7JwAAAICGRygFAAAAAGdg+/btuuiii3T8+HEZDAb973//05133tnU3WoyJSUlmjBhgiOQuvjiizVr1ixFRUXpwIEDeu2117Rs2TKlp6c3yOu9//77SktLkyRNnDixQe4JAAAAwD0IpQAAAADgNG3dulWvvPKK0tPTZTAY9MYbb2jmzJlN3a0mNXfuXG3evFmSdOutt+qNN95wnBs4cKCmTJmiGTNm6N133633Pfft2+dYN0qSrFarjh07pu+++06vvfaaJCkuLk4PPPBAA/0UAAAAANyBUAoAAAAATtPixYsd+6+99lqrD6QkeyglSeHh4ZozZ47LNi+99JKWLFmiEydO1Ouef/7zn2s8FxQUpEcffVR33HGH2rRpc+odBgAAANBojE3dAQAAAABoqQwGg2P/66+/VnFxcRP2pukdOXJE8fHxkqRrrrlGvr6+Ltv5+/vrmmuuaZDXzMrK0nvvvadFixY1yP0AAAAAuA+hFAAAAACcplmzZqlXr16SpO+++05Tp05VSUlJE/eq6Wzfvt2xP3jw4FrbDhkypN73XbVqlWw2m2MrLS1VZmam1qxZoylTpig5OVm33nqrHnzwwdPuOwAAAAD3I5QCAAAAgNPUrl07rVixQt26dZMkffHFF5o+fbpKS0vd9pqVZ2fVl81mc0NPqjt58qRjPywsrNa24eHhp/06BoNBQUFBGjFihL744gtNmzZNkvT888/rxx9/PO37AgAAAHAvQikAAAAAOAMRERH68ccfFR0dLUn65JNPNHPmTLcFQT4+Po79/Pz8el2Tl5cnSfLz83NLn8pV/pnrCs8a8p/PAw884Nh/5513Guy+AAAAABoWoRQAAAAAnKGoqCitXLlSkZGRkqR3331Xd999t1teKyQkxLF/9OjRel1T3q7yte5Q+f7Hjh2rte3x48cb7HXj4uIc+5VLCAIAAABoXgilAAAAAKABdO3aVStXrnSUrXvllVfcssZRv379HPubNm2qs/2xY8d0+PDhate6Q9++fR37GzdurLVtXedPReV1vCwWS4PdFwAAAEDDIpQCAAAAgAYSFxen5cuXO2YMPf/885o9e3aDvsY555zjuP8XX3yhwsLCWtt//PHHjv2xY8c2aF+qioyMVM+ePSVJn332mQoKCly2y8vL08KFCxvsdSsHXFFRUQ12XwAAAAANi1AKAAAAABpQv3799P333yswMFCS9MQTT+jf//53g93fbDbr1ltvlSSlpqbq3nvvrXF9pu3bt+vJJ5+UJPn7++vmm29usH7UZNasWZLsJQPvv/9+l23uu+++BivfV1RUpMcee8zx/eWXX94g9wUAAADQ8DyaugMAAAAAcLYZNGiQvv32W11yySXKy8vTQw89JF9fX915550Ncv9HHnlEX331leLj4/XGG29o8+bNmjFjhvr27Stvb2+lpqZq+fLlevPNN5Wfny9Jeu2119SmTZsGef3azJo1S++99542b96suXPnat++fbr99tsVFRWlgwcP6rXXXtMPP/ygwYMH17uE3759+xQaGup0LDs7W1u2bNFrr72mnTt3SpK6deum2267rcF/JgAAAAANg1AKAAAAANzgggsu0Ndff63x48ersLBQd999t3x8fDRjxowzvrefn59WrlypP/3pT1q3bp02bNigDRs2uGzr7e2tV155RTfeeOMZv259eHh4aOnSpRozZox2796tZcuWadmyZU5tLr74Yt1///265JJL6nXPP//5z3W26d+/vxYvXiwfH5/T6jcAAAAA96N8HwAAAAC4yZgxY/TFF1/I09NTNptNt956q9MaT2ciIiJCP//8s77++mvdcMMN6tq1q/z9/WU2m9WuXTsNHz5cs2fP1r59+xokCDsVkZGR2rx5s5566in16dNHPj4+Cg4O1tChQ/Xaa6/pu+++k6en5xm9hq+vr2JiYnTllVfqk08+0e+//66YmJiG+QEAAAAAuIXBVlPxcQAAAAAAJM2bN0+33HKLJHspvZYc/uzfv1+dO3eWJL333nuNss4WAAAAADvK9wEAAAAA6m3Pnj3Kzc2VJHXs2FHBwcFN26F6yMzM1KFDhyRJR44caeLeAAAAAK0XoRQAAAAAoN4qrwPVUmYaLV682DHTCwAAAEDTYU0pAAAAAAAAAAAAuB1rSgEAAABAI9qxY8dpXddSSuUBAAAAQE0IpQAAAACgERkMhtO6rqWUygMAAACAmlC+DwAAAAAAAAAAAG7n0dQdAAAAAIDWhGIVAAAAAForZkoBAAAAAAAAAADA7QilAAAAAAAAAAAA4HaEUgAAAAAAAAAAAHA7QikAAAAAAAAAAAC4HaEUAAAAAAAAAAAA3I5QCgAAAAAAAAAAAG5HKAUAAAAAAAAAAAC3I5QCAAAAAAAAAACA2xFKAQAAAAAAAAAAwO0IpQAAAAAAAAAAAOB2hFIAAAAAAAAAAABwO0IpAAAAAAAAAAAAuB2hFAAAAAAAAAAAANyOUAoAAAAAAAAAAABuRygFAAAAAAAAAAAAtyOUAgAAAAAAAAAAgNsRSgEAAAAAAAAAAMDtCKUAAAAAAAAAAADgdoRSAAAAAAAAAAAAcLv/DzORzAhx240NAAAAAElFTkSuQmCC", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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XWszsSUlJjj69Omjdu3apVrf/v37tXjxYmN9yZIlVoktSfLz89PXX3+t+++/X1Jism/cuHH3dB62NG3a1FieMmWKbt265fA20tOhQwer62/nzp36+++/szwOAAAAAAByA5JbAAAg17rvvvsUEhJirIeHh2dJu0eOHNHevXuN9cmTJ6dZ/s0335Sfn58k6ffff9fBgwdTLVurVi2jrKN8//33+u233yRJ5cuX1+effy4PD497qnPOnDkymUySpIcffjjVRJi7u7umTp1qrC9dulRXrly5p7aT69mzp6pXry4psdfZ9OnTHVq/vZ588knly5fPWD906JBL4gAAAAAAIKcjuQUAAHK1++67z1g+f/58lrS5ZcsWY7lUqVKpzsmVxN/fXy1atDDWv/vuO2eFZtOcOXOM5ZdfflkFCxa8p/rMZrN++OEHY71Pnz5plm/RooWqVasmKbH32o8//nhP7Sfn4eFhNXzlhx9+qIiICIe2YQ8vLy8VKVLEWI+KisryGJJERkZq5syZateuncqWLat8+fKpcOHCqlOnjoYOHaqtW7e6LLas0Lp1a7m5ucnNzc0YRu7ChQuaPHmymjRpopIlS8rDwyNFb0tJOnXqlObMmaPu3burTp06KlSokLy8vFS0aFHVrVtXgwcPtnoGpKV3795GHElD8EVFRWn27Nlq2bKlSpQoIR8fH5UrV07du3fXpk2b7KrXbDZr1apVeu6551S9enX5+/vL29tbJUqUUO3atfXwww/rnXfe0fbt240ktKWTJ08acVWsWNHYHhoaqu7du6ty5crGNfPII4/YvGcTEhK0cuVKPfroo6pQoYLy5cunsmXLqkePHsaciBl9b5Lvs3y2fPnll0Z5y1fr1q3tes8sJR27fv16Y1ubNm1s1p88NlvXlj3nFhERoalTp6px48YKDAyUj4+PgoKC9Morr+jq1asp6jh9+rTGjBmjevXqqVChQvL391fjxo01Y8YM3b17N0Pne+jQIb3xxhtq0qSJSpQoIW9vbxUrVkxNmzbVuHHjHPK3MywszDhnS7beUzc3N508eTLVutauXau+ffsqKChI/v7+8vX1VYUKFdS5c2ctWLAgw+dvD0fc90nXRtJQxJL09ttv2zz/pOHsMnOMLWazWStXrlSvXr0UFBSkQoUKKV++fCpXrpyefPJJffnll+nOpZnac2HHjh16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Y8eONY7r0qWL+c8//zSXL18+zV8O169f33z8+PFU68xMz7WffvrJOCZ//vx2x5+a5D23kjRu3NjYPnz4cJvHOqPn1s8//2zVM+jll1/OxFmlzvLzSa23yD///GP28/MzyjVq1Mj8999/W5VJSEgwf/DBB1a/xB82bFiGYslpPbc8PT3Nbm5u5kmTJpnj4uKsysXExFitT5061bxgwYI078/w8HBz1apVjfq//vpru+JN6okzevToFD0/rl27Zn7wwQeNspUrVzabTKYU9a1cudLq2bNly5ZU296/f795zJgx5q1bt6bYZ9mbwsvLy+zm5mauXbu2ef/+/VbloqOjzd27dzfKVqtWzejh1a1btxS9Ic6fP2+uXbu2Ub537952vTep3V8Z6RmRGfb0wsrMMZbn5u3tbXZzczO/88475rt371qV27hxo7lgwYJG2f/85z9mPz8/c6FChcw//PBDinpnzpxplHVzc0vzOf3CCy8YZatUqWKzB198fLx59uzZxrXp4eFh/vPPP+16H9Ji+byy16OPPmr1N2Lx4sUpymzfvt1cuXJlo1y5cuXM169fv+d4HX3fWz4j7emBntljLly4YC5RooRxXPfu3c1nz55NUe7ixYvmzp07G+WCg4PN8fHxKcpZPheSrtsqVarYfIYsXbrU7OXlZZT/8ssvbcborJ5b8+bNM3/88cc2zzfJnj17zI0aNTLqmjRpUqplM/OsseeY2NhYc7169YxyxYoVM69duzZFubVr15oDAwONcg0aNEjx9yqJ5TPIx8fH7OHhYf7ggw9SPF9Onz5trlOnjlG2TZs2dp0XAADZCXNuAQCAXOs///mPzpw5Y6wn/drdHkePHtXQoUPTfdmaU6VRo0bG8oULF/TXX3+l2datW7dSzKWTVXNCWb4/N2/eVIcOHXT69GlJib2pevfurZ49e6pGjRpGub/++kvNmzfX2bNnbdZ57do1Y9nenlElS5Y0lu/cuWP0cHK0SZMmGcuffvppqueQUYsWLUpxbQwePFjPPPOMqlatqg4dOuj69euSpO7du+u9995zSLsZMXHiREVGRkpK/CX7b7/9luKX5u7u7ho5cqTef/99Y9snn3yiEydOZGmsWSk+Pl6TJk3Sm2++maJnQfJf8Y8aNUq9e/dWYGBgqvU98MAD+u2334zebh9//LFdccTGxur111/XlClTlD9/fqt9RYoU0ZIlS1SgQAFJ0vHjx7Vt27YUdWzcuNFYnjhxopo2bZpqe7Vr19Z7771nsweIpbt376pYsWJat26dateubbUvX758mjt3rooWLSop8bk5a9YsPfzww/rmm2+M7UlKlSpl1Zto+fLl6c7zk9vFxcVp/PjxGjt2rDw9rQdWadGihVVPqbFjx+rOnTv6/vvv9dhjj6Woa9iwYXrkkUckJfYgXrp0qc02N2zYoK+++kqSVLZsWW3cuFEPPfRQinIeHh4aPHiwMS9jQkKC0VMnK4WGhmrNmjXG+jfffKPnnnsuRblGjRrpjz/+UKFChSQl/n2bOXPmPbfvzPvemcaOHatLly5Jkl588UUtWbLEZu/DEiVKaNmyZWrTpo0kad++fVq+fHmadcfFxalIkSIKDw+3+Qx5+umnNXz4cGP9m2++uZdTybC+fftq6NChNs83Sd26dfX7778b/3/Mnj3b6O2VVRYvXqw9e/ZISpyXc82aNcY9bOmRRx7Rzz//bDwjdu3aZdd7Ghsbq9mzZ2vkyJEpni/lypXTN998Y/QwDAsLy1CPXgAAsgOSWwAAIFe5deuWwsPD1b17d02YMMHYPmLECJtfGKTm/Pnz+uSTT9J92UpcBQcHq1KlSsb62LFj02zrnXfeMZIOSW7fvm13rPfixo0bxvIff/yhGzduKDAwUOvWrdPOnTu1YMECffXVVzp06JC+/fZb+fr6SkocIqpHjx4267Q8l6Ty6UleLvn74Sjt2rXTAw88ICnxSx/LZNe9+OOPP1JcG59++qmWLl1qDFdVsWJF/fjjj1qyZIm8vb0d0q69bty4oW+//dZYnzZtmgICAlItP3z4cCORYTKZNHfuXGeH6DJlypTRmDFjHFpnxYoVjS+Kt2/fbgwJlpZixYpp3Lhxqe4vUaKEOnbsaKwnDVFmybKdYsWKZSTkNI0dOzbVYV39/Pys4pKk999/P9WhS5s3b67y5ctLSrzPDx8+7LA4c6ISJUro9ddfT3V/8uEnn3zySYWEhKRa/tlnnzWWbV0jkvThhx8ay++++67Vjwts6d27t/EDh7Vr1+rq1atplne0zz77zFh+7LHH9Pjjj6datmLFilYJwU8//dRqqGBnysx97yxXrlzR4sWLJUmFChXS9OnT0yzv4eGhyZMnG+tJx6bljTfeUOnSpVPd37dvX2M5tWvR1QoVKqTOnTtLSvwx0sGDB7O0fctre9CgQWrYsGGqZRs3bqz+/fsb60lJ57QEBwen+cOuOnXqGEMkm81mqyFtAQDICZhzCwAA5Fhvv/223n777TTLFC1aVKNHj9bo0aOzKKrE+Z3eeOMN40uIn3/+Wb169dJHH31klVCIi4vTu+++q2nTpqWoIzo6OktijYqKslr38PDQjz/+aHPujm7dukn698vW9evXKywsTK1bt7YqFxMTYyzbm8RJ3kPGmef/zjvvGF8OL1iwQGPGjFHlypWd1l6SkydP6qmnntLgwYP13nvvZek8Vn/++afRG65o0aJpfjksJfbg6tu3r1555RVJiT0ncqunnnoqxS/a7XH69Glt27ZNf//9t27cuKHo6GirL9GTeruZzWbt2bPHSKqm5rHHHkv3mrjvvvuM3jgnT55MsT8paSQlfmnasWPHTJ1bck899VSa++vUqWMsV6tWTXXr1k23fFIP0RMnTlgdn9c89thjaT4nK1WqpAIFChjP6ox8FrZ6XMbHx+u3336TlDj/Unr1SYl/09q0aaPDhw/LbDbrzz//TPcZ4kiWzx/LhElq+vTpo9dff10mk0kXLlzQkSNHrHof3wtH3/fO8vvvvxvP/E6dOsnPzy/dY5o2bar8+fPrzp07Vr1AU/P000+nub9GjRry9fVVdHS0rl27psjISLvicLTLly9ry5YtOnTokK5fv66oqCirz2zHjh3G8l9//aXg4OAsiSsyMtKqbXuu7RdffNFIam3fvl1RUVFGj15b0vuMpMS/K0k9gW39XQEAIDsjuQUAAHItDw8PTZkyRf369cvwsSEhITaHHLTXiy++qF9//VXLli2TJH311VdauXKlWrdurVKlSun69esKDw83hgx67LHH9OOPPxrHFyxYMNNtZ0TyL9O7dOliM7GVpFu3bpo2bZrxhcx///vfFMktyzrj4uLsiiP5MIT29vjKjFatWunhhx/Wb7/9prt37+rtt9/Wl19+eU91LliwQL1797baZjabFRkZqaNHj2rVqlX68MMPFRUVpY8++kh79uzR2rVrs6wH1+7du43lpk2b2pXwaNGihdXxZrPZGL4oN0nrl/K2bN68Wa+99po2bNhgd48Qe3q62POFquUwfzdv3kyxv2vXrho/frxMJpPWrFmjWrVqqU+fPnr00UdVt27dVHtTpaVQoUJpDu0lSYULFzaWa9WqlW6dluVd2bslO0g+1KMtAQEBRnIrvfc3vfd27969Rl358uXTqFGj7IrTsueN5XC2znbu3DldvnzZWL///vvTPaZYsWIKCgoyegXu2rXrnpNbzrrvnWXz5s3G8t9//62hQ4fadVzSMz4pCZRa4qRQoUIqV65cunUVLlzY+LHKzZs3szS5dfDgQY0ZM0Zr1qyxe7jBrPzM9uzZY8Tl5+eX7o8CJKl+/fpGsjshIUF79uxJ855wxN8VAACyM5JbAAAgx2rcuLHVXA+RkZE6ffq00UslISFBL774oo4fP67//Oc/WR7f4sWLVbJkSc2aNUtms1m3b9+2SmAl6d69u8aNG2e1L60h4xwp+RdNScPzpKVz585GcuvPP/9Ms057e2AlL+fsL8Deeecdo/fCokWL9Nprr6lmzZoObcPNzU0FCxZUgwYN1KBBAz399NNq0aKFbt++rbCwML377rsaP3681TGLFi3Sli1b0qx34sSJKlKkSIZiuXLlirFcoUIFu46pWLGisRwXF6fbt2/L398/Q+3mBBkZvm/+/Pl68cUXMzzMmT3DjCbNE5QWyznB7t69m2J/jRo19MEHH2jkyJEym806evSo3njjDb3xxhvy9/dX8+bN1bp1a3Xu3FnVq1e3K3Z74rJMlma0vK3zyEsc/f6m996eP3/eWI6MjNQnn3xiT5hWkuYPzAqWzy5fX99Uh8dMrmLFikZy614TFs68753F8nPevn17poYFvH79eprJLXuk98xylrVr1+qJJ57I8PydWfmZWV7b5cqVs+vHB+7u7ipXrpzd17Yj/q4AAJCdMecWAADIsTp06KBZs2YZr4ULF2rdunU6efKkunfvbpSbPHmy1XxDWcXLy0szZ87U/v37NXz4cNWrV08BAQHy9vZW+fLl1a1bN61du1ZLlizRxYsXjeM8PT1VokSJLInR8he7kn29LizLnDt3Ls06k3qmpcfy/PPnz59imEJHa9KkiTGslslkSpFkcobg4GANGzbMWJ85c2aKnm2///57uvO8Zaani+UcZmkNYWQpeTlXflHrTPb2Ejx06JAGDhxofMFdt25dzZw5U9u3b9fly5eN4cmSXr169TKONZlM6dbvqF5xI0aMUHh4uNq1a2f1ZemtW7e0du1avf7666pRo4batm2rffv2OTyu3Ni7z5my+v11RM+M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BWrRooWOHTumyMhIdevWTdWqVVPTpk3l7e2tQ4cOacuWLUYCskCBAvrmm28UEBBwT7E6475v3Lixypcvr9OnT+vixYuqUaOGHnnkEQUGBhq9zBo3bmzV2zYzx5QqVUrff/+9OnTooKtXr+rChQt6+umnVbx4cTVt2lQlSpSQyWTStWvXtH//fh0/ftwlCdzu3bvrgw8+0J49exQXF6euXbuqQYMGql+/vhISErR3717t3r1bkjRhwgQtWLBAp06dSrW+3r1768MPP9Tff/+t2NhY9ezZU5MnT1a9evWUL18+7d+/3/h7Xa9ePbVr1y7dv3POetZ4e3vrm2++UUhIiK5cuaKLFy/qwQcfVL169YwfD/31119GT2pJKl68uL755pss/XEMAADZlhkAACAHCQkJMUsySzKPHz/e7uMuX75sLlCgQJrHjh8/3tgfEhJyz7H6+PgY9aX28vf3N8+cOdOckJBgV52hoaHp1mnrZc/5nDt3zvzwww+nW1eHDh3MERERdsV77tw584MPPphmfX5+fub58+fbVZ+9LK+TOXPm2HXMiBEjUsTWq1evVMtXqFAhU59F3759zbdu3XLQmSayrD80NDTNsj/++KO5RIkS6cbZvXt3c1RUVIZjcfR9lBG9evWy67OzvD7Se78s/fnnn+bAwMA037cnn3zSfOPGDatYFixYkG68qZWxtGDBgjTPr1OnTnZfh8WLFzevWrXKZjsnTpwwylWoUOGe40rOke/Nzp07zf7+/vf07EvLm2++meb7mDw2e66tjH7uls+aEydOpFk2I59dfHy8+a233jLnz5/frmvGy8vLPGTIkHTjTc/du3fNbdq0SbMtW+d58eLFdP+eSDJXrVrVvG3btnuOM4mj73uz2Wz+6aef0vwfwdZ9lJljzGaz+eTJk+a2bdva/WwoUaKE+ZdffklRT0afC2az/dfu8ePHzZUrV041Jjc3N/PYsWPNJpPJrjqPHDmSZn2SzC1atDCfPXvW6m9WWv9XZvRZk5Hn4pEjR8z33Xdfup9NgwYNzP/880+adWX075u95w8AQHZEzy0AAJAnFCtWTIMHD9b7778vSfroo480cuRI+fv7O63N8PBw/f777woLC9OJEyd0+fJlxcXFqUSJEqpWrZqeeOIJPfPMM9lmvpvSpUvr119/1erVq7V48WJt375dFy5ckJubm0qV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xYoV7z3AdBQpUkTh4eH6+uuv1b59e5UoUUJeXl4qWrSoWrdurVmzZumvv/5ShQoVnB6LPZ566int379fr776qmrWrCk/Pz/lz59f1atX15AhQ3Tw4EENGjTIpTF6e3urZMmSatu2rT744AMdOXJEjzzyiEtjAgAAAAAAABzNbDaT3Mqm8mTPLU/Pf087Pj4+zbJ37961eVylSpVUunRpnT9/XuvXr0+zjqThD8uUKZPiy/yWLVsay+vXr1ezZs1s1rFjxw5jSMEWLVqk2N+yZUt98803OnLkiC5evKiSJUvarMcyVlv15GmZ7XmVA3tstW7dWmaz2a6yPj4+On36dLrlJkyYYDWXVlbo3bu3evfunW45d3d39ejRQz169HBIuydPnnRIPakpX768pk2bpmnTpjm03ooVK9r1uWfk+gAAAAAAAAByq0t3LikiJsJqG8mt7CFP9twqUqSI/P39JUmbN29OM8FlmQyqVKmSsezm5qYnnnhCUmJvqC1bttg8fsuWLUZvqSeeeCLFWJytW7dWoUKFJElffvllql8oL1y40Fju3Llziv1PPvmkzbKW7ty5o6VLl0pK7DEWFBRksxwAAAAAAAAAAHld8l5bBb0KqlxBpvvJDvJkcsvd3V0dO3aUJJ0/f17/+c9/bJa7fv261Zw3nTp1sto/YsQIozfXsGHDFB0dbbU/OjramKvI09NTI0aMSNGGt7e3/u///k+SdOjQIb3//vspymzevFnz5s2TJIWEhKhx48YpynTu3FlVqlSRJL377rvGEIaWRo0apevXrxvLAAAAAAAAAADAtuTJrZpFa6bowALXyJPJLUkaN26c8ufPLylxOLXHH39c3333nXbv3q3Nmzdr+vTpql+/vg4eTLx427Ztm2JOmaCgIL366quSEocNbNGihb799lvt2LFD3377rVq0aKEdO3ZISkwmVatWzWYso0aNMnpRjR49WgMHDlRoaKi2bNmid999V4888oji4+Pl6+urGTNm2KzDy8tLM2fOlLu7u27duqUWLVpo1qxZ2rZtm9auXauuXbtq9uzZkhKHMOzZs+e9vYEAAAAAAAAAAORizLeVfeXJObckqUaNGvr+++/VvXt3Xb16VT/++KN+/PFHm2UffPBBLVu2zOa+//znP7p8+bLmz5+v3bt369lnn01Rpl+/fnrnnXdSjaVgwYL66aef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j6H2AP8aOXKkVq5cqdzcXK1du1a/+93vJFF7gLfmzZunoqIitW3bVnl5eVqxYkW1Nj/88IOx/eWXX+rUqVOSpN/+9reKioqi/gA/u/HGG/XZZ59Jsk1jmJCQIInffcCVSExMNH6fOdaSq7bHjx/XmTNnKj1PDaIuEW4BftC5c2d9/fXXOnjwoEpKShQc7LzU9u/fX+kYAP514403GtuO9ecM9QlUl52drSFDhujQoUOSbHez//GPf6z1OGoP8K8WLVoY21lZWcY2tQd4xz5N0qFDh3T//ffX2v6FF14wtjMzMxUVFUX9AX5mtVqdPk/tAd676aabjJFYpaWlNba17696zZMaRF1iWkLAD/r27SvJNrz2f//3f12227p1q7Hdp08fv/cLuNpdf/31xh19jvXnzFdffSVJuvbaa5WUlOTvrgH13sWLF3X33Xdr7969kqSXX35Zf/7zn906ltoD/Ov48ePGtuOULtQeEDjUH+Bf9r9JJRm1JlF7wJW44447jO2MjIwa29pveLRPT2hHDaIuEW4BfjBq1Chj++2333bapqysTO+++64k22KpAwcOrIuuAVc1i8WikSNHSrLdIbRz506n7Xbu3GncQTRy5EhZLJY66yNQH+Xl5WnYsGHavXu3JOnZZ5/VU0895fbx1B7gXx9++KGx3bVrV2Ob2gO8s3z5clmt1hofzz//vNF+8+bNxvP2i3PUH+A/hw4d0oYNGyTZ1t9yvLhO7QHeGzFihEJCQiRJaWlpLttt3bpV586dkyT169ev0j5qEHWJcAvwg9tuu8344b506VLt2LGjWptXXnlF+/btkyQ9+uijxi8PAP712GOPGcPmp02bpvz8/Er78/PzNW3aNEm24fWPPfZYXXcRqFeKioo0evRo/ec//5Fk+5314osvenweag/w3PLly1VQUFBjm3nz5unzzz+XJCUlJRkzCNhRe0DgUH+A51avXq2SkhKX+0+fPq17771XxcXFkuR0JgFqD/BO8+bN9ac//UmStGHDBqdrTl6+fLlSzUyZMqVaG2oQdcVidTVJLYArkp6erj59+ig/P1/R0dH6r//6Lw0cOFD5+flasWKFlixZIknq0KGDvv32WzVu3DjAPQbqv23btungwYPG19nZ2XriiSck2ab2tP8RZjdhwgSn53nmmWf08ssvS5K6d++up556Su3atVNGRoZmz56t9PR0o91LL73kh+8EMI977rnHuGtv0KBBmj9/fo131YWGhqpDhw5O91F7gGeSkpJ0+fJl3XPPPerbt6/atWun6OhoXb58WXv27NF7771nBM+hoaH67LPPNHjw4GrnofYA30tNTdWsWbMk2UZuDRgwwGk76g/wTFJSkoqLi3XPPfeod+/eSkpKUkREhLKzs7VlyxYtXrzYGDHSt29fbdy4UWFhYdXOQ+0B3jl79qx69uypI0eOKDg4WA8//LDGjBmjJk2aaM+ePZo9e7Yx4iolJUULFy50eh5qEHWBcAvwo9WrV+sPf/iDLl265HR/hw4d9Nlnn6l9+/Z13DPAnCZMmKB33nnH7faufsWVlZVp0qRJWrZsmctjJ06cqCVLlqhRIwY54+rm6fQQbdq00eHDh53uo/YAzyQlJSkrK6vWdq1bt9ayZcs0ZMgQp/upPcD33A23qD/AM+7+7rvnnnv0r3/9SzExMU73U3uA9/bt26cRI0ZUurm4qoceekiLFy92ORMVNYi6QLgF+FlWVpZee+01ffbZZzp27JhCQ0PVvn17jR07VlOnTlVkZGSguwiYhq/CLbvPP/9cS5Ys0a5du5Sdna24uDglJydrypQpGjp06JV2F2gQfBlu2VF7gHsyMjK0ceNGbd68Wfv27dPp06d17tw5hYeHq2XLlrrllls0fPhwjRs3zq2/Kak9wHfcDbfsqD/APVu3btXWrVu1Y8cOHTp0SNnZ2bp06ZKio6OVmJio22+/XePHj1fv3r3dOh+1B3gnNzdXixYt0qpVq3TgwAHl5OQoPj5effr00ZQpUzRw4EC3zkMNwp8ItwAAAAAAAAAAAGAajPkDAAAAAAAAAACAaRBuAQAAAAAAAAAAwDQItwAAAAAAAAAAAGAahFsAAAAAAAAAAAAwDcItAAAAAAAAAAAAmAbhFgAAAAAAAAAAAEyDcAsAAAAAAAAAAACmQbgFAAAAAAAAAAAA0yDcAgAAAAAAAAAAgGkQbgEAAAAAAAAAAMA0CLcAAAAAAAAAAABgGoRbAAAAAAAAAAAAMA3CLQAAAAAAAAAAAJgG4RYAAAAAAAAAAABMg3ALAAAAAAAAAAAApkG4BQAAAAAAAAAAANMg3AIAAAAA+N3y5ctlsViqPZYvX+71Obds2WKcZ8uWLT7rqzP+6D8AAAAA7xBuAQAAAEAdcwxlUlNTa2x7+vRpdenSxWifkpIiq9V6Ra+fmprqcSg0YMAA4xizcPw+qz6CgoIUExOjHj16aObMmTpw4ECguwsAAADATcGB7gAAAAAAwLmTJ09q0KBB2r9/vyTp0Ucf1fz58wPbKR/44osvlJCQIElq3bp1QPpQVlamixcvavfu3dq9e7cWLFig119/XVOmTHHaftSoUerZs6ck6cSJE7r77rvrsrsAAAAAHBBuAQAAAEA9dOzYMQ0aNMgYUfT4449r7ty5Ae6Vb3To0EFJSUl1+prLli1TcnKy8XVpaalOnjyptWvXatGiRSoqKlJKSopuuOEGDRo0qNrxMTExiomJkSRFR0fXVbcBAAAAOEG4BQAAAAD1TFZWlgYOHKjMzExJ0rPPPqsXX3wxwL0yt+uvv15dunSp9Fy3bt3061//WrfccoseeughWa1WzZ0712m4BQAAAKD+YM0tAAAAAKhHMjIydMcddxjBVmpqKsGWnz344IOKi4uTJP3P//xPgHsDAAAAoDaEWwAAAABQT/z888/q37+/jhw5Ikn6+9//rueffz7AvQqc/Px8/e1vf1O3bt0UFRWl5s2bq0+fPnrrrbdUVlbm09eyT5NYUFDg0/MCAAAA8D2mJQQAAACAemDfvn0aNGiQTp06JUl69dVXNWPGjAD3KnBOnDihO++8U/v37zeey8vL0/bt27V9+3alpaX59N/n8OHDkqTrrrvOZ+cEAAAA4B+EWwAAAAAQYHv27NHgwYN15swZWSwWvf7665o6dWqguxUwJSUlGj58uBFs3XXXXUpJSVFiYqKOHDmihQsXat26dTp37pxPXu+dd95Rdna2JGnEiBE+OScAAAAA/yHcAgAAAIAA+v7777VgwQKdO3dOFotFb775piZNmhTobgXUokWLlJ6eLkmaPHmy3nzzTWNfjx49NHr0aE2cOFHLli1z+5yZmZnGulqSVFpaqtOnT2vt2rVauHChJKlTp0564oknfPRdAAAAAPAXwi0AAAAACKCPP/7Y2F64cOFVH2xJtnBLklq2bKl58+Y5bfPaa69p9erVOnv2rFvnfOihh1zua9q0qf7617/qz3/+s5o1a+Z5hwEAAADUqUaB7gAAAAAAXM0sFoux/emnn6qoqCiAvQm8EydOaN++fZKkcePGKTIy0mm76OhojRs3zievefHiRb399ttatWqVT84HAAAA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", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABrcAAARGCAYAAACSWutzAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdd3QU1fvH8U8KKSSEGjpSAgGUXqVIERUFBFGkKE0QBRRFFBBUCBYUFUQRURABAVFAARUQBenSQQSlhN4SIPSQnszvj3wzv91kk93UTcj7dc6eM+XOvc/uzswm++y918UwDEMAAAAAAAAAAABAHuDq7AAAAAAAAAAAAAAAR5HcAgAAAAAAAAAAQJ5BcgsAAAAAAAAAAAB5BsktAAAAAAAAAAAA5BkktwAAAAAAAAAAAJBnkNwCAAAAAAAAAABAnkFyCwAAAAAAAAAAAHkGyS0AAAAAAAAAAADkGSS3AAAAAAAAAAAAkGeQ3AIAAAAAAAAAAECeQXILAAAAAAAAAAAAeQbJLQAAAAAAAAAAAOQZJLcAAAAAAAAAAACQZ5DcAgAAAAAAAAAAQJ5BcgsAAAAAAAAAAAB5BsktAAAAAAAAAAAA5BkktwAAAAAAAAAAAJBnkNwCAAAAAAAAAABAnkFyCwAAAAAAAAAAAHkGyS0AAAAAKfTv318uLi5ycXHR3LlznR0OACfLq/eENm3amHFv2LDB2eEAcJK5c+ea94L+/fs7OxwAQBYguQUAgBNYfkFk6+Hj46Ny5crp/vvv15tvvqng4GCH67b8xy09j+HDh6dZ740bNzR58mQ9+OCDKlu2rDw9PeXv768GDRrojTfe0NGjR9P1GkRERGjr1q2aOnWqnn76aVWvXl2urq5mPEFBQemqz5a9e/fq9ddfV6NGjVSmTBl5enqqbNmyatCggQYMGKD58+crNDTU4frWrVunvn37KjAwUD4+PipWrJjq1KmjkSNH6vDhw5mONznL8yStf8JPnTqVofc8rYflF5dBQUEZrqdSpUpZ8lrYOq8ff/zxdNXx77//Zlt8sM/yC2YXFxfdddddio6OdujY119/3aFroVKlSmmej66uripcuLACAwPVvXt3LVy4UFFRUVn0DK1ZtpudX6hn9/Wflg0bNmR52yQfAAAAADiC5BYAALlQRESELly4oPXr1+u9995T9erV9eKLL2bbl7D2LF68WJUqVdJrr72mtWvXKiQkRDExMQoLC9O+ffs0ceJE1a5dWxMnTpRhGHbrGz16tPz8/NSyZUu98sor+u6773T06FGHjnXEpUuX1Lt3bzVs2FCTJk3Snj17FBoaqpiYGIWEhGjfvn2aM2eO+vbtq3fffddufTdv3lTPnj31wAMPaP78+QoODlZERISuXbumAwcO6OOPP1adOnX0/vvvZ0n8cMzKlSt15coVh8vPmzcvG6NBep09e1ZfffVVjrZpGIZu3ryp4OBgLVmyRL1799bdd9+tLVu25GgcwJ0qu3tGtKEXVrawTDDnR5Y/4nH0x1UZOQZZh15YAABJcnd2AAAA5Hc1atRQu3btrLaFh4fr0KFD2rVrlwzDkGEYmj59ukJCQvTjjz86XHehQoXUt29fh8red999Nrd/+eWXGjJkiLnu6empVq1aqWLFigoPD9dff/2lM2fOKCYmRm+88YZu3LihSZMmpdnWxYsXFR8f7/DzSI8zZ86oTZs2OnnypLmtcuXKatCggYoXL67IyEgFBwfr77//dihZGBsbq8cff1zr1q0zt9WqVUsNGzZUZGSkNm3apNDQUMXGxmrs2LGKjY3VuHHjsuW5pcbPz08vvPBCmmV27typXbt2SZLKli2rrl27plm+Zs2aNrc7cqyl4sWLO1w2vWJiYvT999/bfe6SlJCQoO+++y7bYkHGvP/++3r22WdVsGDBLK+7Xbt2qlGjhtW2+Ph4XblyRXv27NGJEyckSSdPnlT79u21YcMGNW7cOMvjyG45ef0nV65cObttr1u3zuzZauvzzladAAAAAGAPyS0AAJysadOm+vzzz23u+++//9SzZ08dOHBAkvTTTz/pxx9/1BNPPOFQ3cWKFUu1bkf8/fffeumll8z19u3b65tvvlHZsmXNbQkJCfrqq6/08ssvKzY2Vh9++KGaN2+uLl262K2/atWqaty4sfkYNWqUtm3bluF4b9y4obZt25qJrQYNGmjatGlq3rx5irLh4eFauXKl3d5i77zzjpnY8vLy0pw5c9SzZ09zf0xMjN5880199NFHkqTx48erdevWat26dYafR3o58j4HBQWZX25Xq1Ytw+dFZo7NKlWrVtXp06cVGxurb7/91qHk1tq1a3X+/HlJ0t13363//vsvu8OEA0JDQ/X5559r1KhRWV5379690/w196pVq/T0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9cby5cuNokWLpngNChcubHXca6+9Zri4uDh0/fXq1cvu65f8vP/vv/+MmjVrplnvuHHj0qwzNDTUaNasmUMxSjL++OOPFHWcPHnS6r4VFxdnvPjii2nW8+abb5rHX7x40bj33nvTvDctWbIkXa9NavvsPTJyDjpat63Ykp9bjjy3Xbt2GRUqVEi1jQoVKhgnT540j585c2aafxu2aNHCCA8Pt/s8o6KijMGDBxtubm5pPkdvb29j2rRp6X4dLa1fvz5dr6vl801y8eJFo127dnaPrVatmt2/jdMjq657y3PD3iPp/pWRY5Lbv3+/Ua9ePbvHV69e3fj3339TfR2S3xcSEhKMcePGWf39mvxRuXJl4/jx4w7X6Yjkf7PY8umnn9o9r5Me999/vxEWFmaznszcayz/lrT3d/XRo0eN+vXr222jYcOGxrFjx9KsK/k9aMuWLUa5cuVSrdPNzc2YOXNmmnUCABK5CwAAOGzu3LkaMmSIJKl69epq1KiRvL29dfjwYW3dulWGYejKlSt69NFHdejQIZu/MM8Iy1/ourm5mT1WspNh8UvEtHospebMmTMKDw+Xr69vVoZl08GDB805e3x8fFS/fn1FR0dr7ty5+u6773To0CHdvHlTJUqUUL169dSlSxf169cvzWEWjxw5Yv563sXFxar3XGoaNGhgLjO8Wfbr27evvvjiC0mJQxO2bds2RZnTp0+bv/R/6KGHVLp06WyJJalHlqenp+655x5VrVpVhQsXlmEYCgkJ0Y4dOxQWFqbY2FiNHj1akjRq1CiH6l63bp2ef/55xcfH66677lKzZs3k5+enkydPasOGDYqLi1NkZKS6d++ugwcPqnLlyqnW9fTTT2vJkiXmevHixdW2bVsVKVJEJ06c0KZNm7R9+3Z17dpVVatWzcQrYp+Li4veeecdPfbYY5KkadOm6ZVXXlGpUqWytV1Ly5YtU3R0tCTJ29tbjRs3zrG2k/zwww96+umnFR8fLynxHt+yZUtVrVpV4eHh2rx5s/kZ8N133+nkyZP6888/rYZTvNP89ddfCgoKUmxsrIoXL65WrVqpRIkSunTpUoohX8+ePSvDMOTi4qLq1aurevXqKl68uAoUKKArV65o3759On78uCRp0aJFunHjhn799VeHPtcuXLigBx54QBcuXFCRIkV03333qXTp0goLC9Off/6p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+eUXM8lqOXRhdjAMQwMHDtScOXPSfeytW7fsJrey4r5z+fJlc9myJ0laKlSokKPD4bz77rtm74UFCxbo9ddfV82aNbO0DRcXFxUqVEgNGjRQgwYN9OSTT6pFixa6deuWNmzYoPfff1/jx4+3OmbBggVW8x7a8vbbb6tYsWLpisXyPalYsaJDx1SqVMlcjomJ0a1bt+Tn55eudvOC9Azf98033+jZZ59N9zBnjgybmxXXXo0aNTR58mSNGDFChmEoODhYY8eO1dixY+Xn56dmzZqpTZs26tq1q6pXr+5Q7I7EZZksTW95R/52uZNl9etr77W9cOGCuRweHq7p06c7EqaVa9eupfuYjLK8d3l7e6c6PGZylSpVMpNbmU1YZOd1n10s3+ddu3ZlaFjAa9eupZncckR6/0/JKmvWrFGXLl3S3SM8J98zy3O7QoUKDv3P5erqqgoVKjh8bmfH/5IAkJ+R3AIAIB2y4wvypk2b6vPPP0+x/caNG5owYYI5Jv+CBQtUq1atLJ+HxBFjx45V79699eWXX2rdunU6fvy4bt68KX9/f9WvX1/9+vVTt27ddPr0aatfYpYvXz5H4rP8haPk2K/ULcvcunVLt27dsuppZlln0uTf9iQNC5ckvV925xf2vrhr3bp1upJbvr6+evzxx7VgwQIdPHhQ+/bts5p/K7uHJJw1a5ZVYqtTp07q0aOH6tevr3LlyqlgwYJWvYEqVaqk06dPS0oc1tOerLjvWM7/VrBgQYeOSWtYnezQpEkTde7cWT///LMSEhI0fvx4s/dddqldu7aGDRtmzmvy2WefacyYMVbv19q1a+32InvttdfSfb1bvieOvtbJy92pyS1He70eOnRIzz//vPkFd506dfTss8+qWbNmqlixogoVKmTVC7d///7me5lT154kDR8+XI0aNTITuElt37x5U2vWrNGaNWs0ZswY3X///Zo6dardX/anN647sXdfdsrp1zcrembExcVlug5HZeTelbxsZhIW2X3dZ5fsfp9z83V++fJl9ejRw0xsVa5cWYMHD1bLli1VuXJlFSlSRF5eXuZzCAoK0oQJEyTl7HuWE+d2bn6fACAvIrkFAEAuVbhwYU2ZMkW3bt3S119/LUkaN26cunbtqsDAwByP56677rKa2NoWy1+hFitWTAEBAdkdliSlGNrGkR5TycskT25Z/oL+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qHbu3Km4uDhze/PmzTV27NgMx5sRVapU0ddff62nn35a8fHx2rZtm6pXr6777rtPAQEBun37tjZv3qxz586Zx9x777368MMPczTO3OqVV17R7NmzdfnyZV27dk0PP/ywGjRooLvvvlsuLi7au3ev2cu5ffv2KlmypObPn5+jMSYkJGjVqlVatWqVChQooFq1aikwMFCFCxfWrVu3dPr0aW3fvt38ctvNzU2fffZZjsaYlUqVKqUWLVpo69atioqKUt26dfXwww+rTJky5tBkAQEB5t8y6fX4449rzJgxMgxDK1euVJ06ddS8eXOreYJ69uyZYz0ws9JXX32lkJAQ/f777zIMQx9//LE+++wzNW7cWAEBAfL29taNGzd0/PhxHThwwLw3NmzYMNNtP/HEE2bvq9dff12//fab7rnnHnPoVEl64403VLRoUXN9zpw5atGihY4fP67w8HB1795d1apVU9OmTeXh4aFDhw5p+/btZgLSx8dHixYtyvRwwdlx3Tdu3Fh33XWXzpw5o9DQUNWoUUMPPfSQSpQoYf6N2LhxY6vethk5pkyZMlqxYoU6dOigsLAwhYSE6Mknn1TJkiXVtGlTlSpVSgkJCbpy5YoOHjyoEydOOCWB26tXL02ePFn79+9XTEyMunXrpgYNGqhevXqKj4/XP//8Y87/GxQUpDlz5qT5d03//v01ZcoUHT16VNHR0erTp48mTpyounXrysvLSwcPHjQ/r+vWrav27dvb/ZzLrnuNh4eHFi1apNatW+vy5csKDQ3V/fffr7p165p/h//9999mT2op8cdwixYtytEfxwAA/scAAABpkmQ+HNG6dWuz/Pr1622W6devn1mmX79+DscSHR1tlC9fPs1j58yZY+6vWLGiw3Wnpnr16lavga2Hp6enMW7cOCMqKsqhOk+ePGm3TlsPR57P9evXjV69etmtq2nTpsaZM2ccivf69etG9+7d06yvQIECxnvvvedQfY6yPE/S+xg/frxVXePHjzf3tW7dOl1xWB6bkce+ffsy/VpYntdNmzbNVF2rV6/O0mvEMAxjxowZhru7e6qvgaurqzFu3DgjISHBqFixorn95MmTNutzpIwly3Nlzpw5qZaLjo42nnrqqTTfryZNmhjnzp1zuE5HWd4bZ8yY4dAxw4cPTxFfWvdMy9ctPY8BAwYYN2/ezPRztGRZf2qfBUl++eUXo1SpUnbj7NWrl3H79u10x5KZ6z+zHP28c+Sz05a//vrLKFGiRJqv22OPPWZcv37doXM6vee95b3J1vPr1KmTw+dhyZIljeXLl9tsx/Jz05H7lr24ksvK12bPnj2Gn59fqs8zs+fgm2++mebrmDy29P5d5sj7np57dHreu7i4OOOtt94yChYs6NA5U6BAAeOFF16wG689sbGxRtu2bdNsy9bzDA0NNe6//367cVatWtXYuXNnpuNMktXXvWEYxsqVKw1PT89U67N1HWXkGMMwjFOnThnt2rVz+N5QqlQp47fffktRT3rvC4bh+Ll74sQJo0qVKqnG5OLiYrzxxhsO/11z5MiRNOuTZLRo0cI4d+6c1WdW8r9nLaX3XpOe++KRI0eM+vXr231vGjRoYBw7dizNutL7+ebo8wcAGAY9twAAyEM8PDz0+uuvmz1nFi5cqPHjx2fr8FRLly7V77//rvXr1ys4OFiXLl3S7du3VbJkSVWuXFmdOnVSz549zSETna1w4cL67rvvNHjwYH377bfasmWLzp8/r/j4eJUqVUr33nuvunfvrscee8zhOR8KFy6sH374QYMGDdK8efO0bds2hYSEqECBAqpQoYLat2+vgQMHqmbNmtn87JBbDR48WC1atNAnn3yi9evX68KFC/L29la5cuV0//33a8CAAapfv76zw5SHh4cWLlyovn37atasWdq2bZvCwsJUvHhxVa9eXU899ZT69evn1CEJLY0ZM0azZs1KdTi3jPD29laRIkVUo0YNNW/eXH379s32HrD2dOrUSceOHdM333yjX3/9Vf/++6/CwsLk7e2tsmXLqm3bturbt685BCb+X7NmzfTvv/9q6tSp+uWXX8xhHcuUKaOGDRuqd+/eevTRR50W388//6x9+/Zp3bp12rFjhw4dOqRz587p9u3b8vT0lL+/v+rUqaMOHTroqaeekp+fn9NizSoNGjTQP//8o2nTpunPP//UiRMnFB4ebs5LmVnvvPOOWrRooW+++Ua7d+/WxYsXFRERkSV1O1vSELLDhg3Tt99+q7Vr1+q///5TWFiYYmNj5efnp4oVK6p27dpq27atOnTokCXzs7m7u2vNmjX65ptv9OOPP+rAgQO6evWqzSGpLZUqVUrr1q3TmjVr9P3332vLli0KDQ1VbGysSpYsqfr165vDVWdl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SEpK0vHjx3X8+HEtWbJE48aN048//qjQ0FCnzA8AAAAAAADrnD58UPb0tL8LNptKV61uXUPINwi3gP93fP8ela9Vx2335SeGYeitt97S/PnznTLfjBkz1LRpU8f79PR0RUdHa9myZZo8ebJSUlI0ZMgQVa9eXXfffbdTnulM5cqV065du655vWPHjjp58qTKli2rFStWOOWZhmE4Xnt4eKh27doKDAzU5s2b8zRPenq6evbs6Qi2evbsqQEDBqhEiRLatGmT/v3vf+v06dMaOHCgypUrp44dO2aZ48SJE5KksmXLqnfv3mrdurUqVqyo9PR0bdiwQf/973914sQJffnll0pLS9OcOXNy3d+OHTv08ccfy8/PT97e3oqPj8/1vU2aNNHMmTNNtUuXLmn37t2aMGGC/vzzT23dulW9evXS6tWrcz0vAAAAAAAA8qeYq87bKlmugnwDAizqBvkJ4RYg6ffvZmvDvK/Vum9/NevWK9f3bV40T2vnzFKLXo+oZe9HXdih64SEhOjs2bNasGCBtm/frkaNGt30nFWqVFHdunVNtfr166tTp05q0KCBnnrqKRmGoTFjxuTLcMvb2ztL/1dfz824vChXrpzGjBmjpk2bqnHjxgoKCtKsWbPyHG59+eWXjlVXzz77rCZOnOi41qxZM3Xu3FmNGzfWxYsXNXz4cO3du1deXub/KqhVq5bee+89Pfjgg/L09DRda968uR5//HG1atVKf/31l77++msNGTJErVu3zrG39PR0DRgwQOnp6Xrrrbc0ffr0PIVbgYGB2f55N2/eXH379lXjxo21f/9+rVmzRps2bdIdd9yR67kBAAAAAACQ/0RHXnXeVjjnbeEKztxCoXd8/x5tmPe1JGntnFnavGheru7LCLYkacO8r3V8/x5XtehSzz//vHx9fSVJb731lsuf9+STTyokJESSsmybV5hVr15dL730ktq2baugoKAbnmfMmDGSpOLFizteZxYeHq7XXntNkhQREaFFixZlGbNkyRL16dMnS7CVISQkRP/9738d7+fNy91n5pNPPtG2bdtUs2ZNvfLKK7m6J7cCAgI0bNgwx3t+twAAAAAAAAq+mKvCrTLhnLeFKwi3UOiVr1VHrfv2d7zPTcCVOdiSpNZ9+xfYrQnLly+vgQMHSroSargjFKhcubKkK+cluYPdbtdXX32lLl26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UaOUaYYCYrhFREREREREREREpKATn36MikuFstr0BzMxKmOWQh0ND5dOVOKzdwogdQq2Js2Px33fTINKxWXohhvR4UDT3r2ympmztgYkhltERERERERERERECqm+cQ2H//m+rBYRl4BF3/iuQh0ND4VHK7DvvQJI8lwL6feOxOInJkJgsDUstXzxBcSmJlnNvGK5Qt1QdxhuERERERERERERESnA5XRi5+u/h+h2eWuCoMLyH/8EWoNBwc6GtvyvyrH/74VAp2Br6qJELPj6BAZbw1jj9u2yY+PsWdAmJCjUDXWH4RYRERERERERERGRAo5s/gDVxddltdmrH0bipHRlGhoGLnxRhoMfXOxSn74kGfesHQdBYLA1XIktLWjef0BWC+eShAMWwy0iIiIiIiIiIiKiICu/VIATOR/JajEpo3D32icV6mjoO7uvBF/+83KX+owHUzD/4bEMtoa5pn37IdlsHQW1GmHLlinXEHWL4RYRERERERERERFREDltNuzc8BIkSfTWVGoNVqx/ERqtVsHOhq7cvcU4/FFRl/qsFam4a/UYBlsES6clCU133w1NVJRC3dCtMNwiIiIiIiIiIiIiCqIvPngHDZUVstrda5/AiFFjFOpoaDu16zqObrnapT531WjMyRqtQEc00LgbGtD81VeymjkrU6FuqCcYbhEREREREREREREFyfVzuTizWz5DJGH8RMxZ/YhCHQ1tJ7Zfw/Gt17rU560Zg1nLRwW/IRqQLHv2AE6n91jQ6xH2wAMKdkS3wnCLiIiIiIiIiIiIKAhsLc3Y/cdXZDWNTo8V61+ESq1WpqkhSpIkHN96DSd3XO9y7u5HxmHGgynBb4oGLMv2HbLj0EWLoA4NVagb6gmGW0RERERERERERERBsP+dP6O5rlZWW/iN7yAyIVGhjoYmSZJw5JMryN1T3OXcvV8bj+lLkhXoigYq580qtB4/LquZs7IU6oZ6iuEWERERERERERERUT+7fOww8g/tl9VSpmYg40Hu69OXJEnCV5uKcHZfSZdzix6fgCmLkhToigaypl07AUnyHqtMJoQuWqhgR9QTDLeIiIiIiIiIiIiI+lFLQz32bnxdVtOHmLDsh89DUKkU6mrokUQJh/5xCecPlslPCMB935iE9HtGKtMYDWiNnZYkDHvgfqgMBoW6oZ5iuEVERERERERERETU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BEH+A2jx4sUIDw8HALz33nuQOr8ko827777rfexvycQ1a9b4HeurtbUV//znPwF4ZoxNmDDB7zgiIiIiIiIiIqKakhvY+frv8dZz30Purq0Bg63k9Kl45F//Hd/89R8w6e6FDLZuU96hMuz7a9dga9p9SVj0OIMtGj4aO83a0qWmwuCzkhoRMEzDLYfDgYceeghfffUVAOD555/H//2//7fX93nhhReg0Xgmvz377LOwWq2y81arFc8++ywAQKPR4IUXXuhyD51Oh+eeew4AUFBQgN/97nddxhw5cgRvv/02AGDRokWYM2dOlzEPPfQQxo4dCwD4f//v/3mXMPT185//HPX19d7HREREREREREREnZVfKsCW//oV3vvZeuQf2g9JFP2OGzt7Hh7/1e/wtf/9/zAqY1aXF3VTz50/UIoD71/sUs94IBn3fm08/2xp2JDcblh27pTVzFlZ/BqgLoblsoSPP/449uzZAwBYsmQJnn76aVy4cCHgeJ1O53eW04QJE/Czn/0Mv/71r3Hy5Encc889+MUvfoGxY8fiypUr+M1vfoPc3FwAnjBp/Pjxfu//85//HP/4xz9w6dIl/Mu//AuKiorw2GOPwWg0Yv/+/fjP//xPuFwuGI1GvPLKK37vodVq8eqrr2LVqlWwWCy455578Mtf/hJz585FfX09Nm7c6N3b695778U3v/nN3vyRERERERERERHRECZJEq6fOYXjOZtRWhD4eTKVWo20exdjzupHEJ2UEsQOh64znxXjq81FXeozl6diXvYYPqlPw0rriRNwV9fIauaVWQp1QwPZsAy3Pv74Y+/jffv2Ydq0ad2OT01NxfXr1/2e+4//+A9UVVXhL3/5C3Jzc/HYY491GfP00093OzMsLCwM27dvR2ZmJi5fvow333wTb775pmyM2WzG+++/j4yMjID3yczMxJ/+9Cc888wzuHnzpnfWmK+5c+fik08+gVrN6eFERERERERERMOd6Hbj0tEvcTxnM6pvXAs4TqPXY9qSZZi1cg3MMSOC2OHQdnr3DRz5pOsKTLOzRmHuytEMtmjYsWzfLjvWp6VBP2aMQt3QQDYsw62+pFKp8Pbbb+ORRx7Bm2++iRMnTqCmpgYxMTGYM2cOfvCDH2DFihW3vM+4ceOQm5uLDRs2YNOmTSgqKoLD4UBycjIyMzPx/PPPIzU19Zb3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AAAAAAAAAOg1CLeAItu4caO+9a1vaeLEiaqoqNDAgQM1depU/c///I+am5tLXT2gV9m5c6eee+45/ehHP9I555yjmpoaGYYhwzB0xRVXdPp8Cxcu1MUXX6yRI0cqGAxq5MiRuvjii7Vw4cLCVx7oxVasWKGf//znOuecc1RbW6tgMKjKykpNmDBBV1xxhV599dVOnY+2B+Snvr5ejz32mG644QadeuqpGj9+vPr3769AIKAhQ4Zo5syZ+uUvf6k9e/bkdT7aHlAY3/72t52/QQ3D0JIlSzo8hvYH5M/dvtr7mjlzZofnou0BXbd792798pe/1EknnaRDDjlEwWBQw4cP18c+9jHdeOONWrZsWYfnoA2iqCwARfPcc89Z/fv3tyTl/Dr88MOtNWvWlLqaQK/RVluSZF1++eV5n8c0Tevqq69u93xXX321ZZpm8d4M0Euccsop7baV1NcXv/hFq6Wlpd1z0faAzlm8eHFe7a+mpsZauHBhm+eh7QGF884771g+ny+t/bz88sttlqf9AZ2Xz799kqxTTz21zXPQ9oAD8/jjj1uDBg1qtw1dcMEFbR5PG0R38OWVgAHotHfffVeXXnqpmpubVVlZqe9973uaNWuWwuGwHnvsMd1333364IMPdO6552r58uWqrKwsdZWBXqW2tlYTJ07UokWLOn3sf//3f+vee++VJJ1wwgn69re/rXHjxmnNmjX65S9/qZUrV+ree+/V4MGD9dOf/rTQVQd6lS1btkiShg8frksuuUQnn3yyRo0apUQioWXLlun222/Xli1b9L//+7+Kx+P6/e9/3+a5aHtA59XW1mrWrFk68cQTVVtbq2HDhsk0TW3evFlPPPGEnnzySe3evVvnn3++li9frmOPPTbrHLQ9oDBM09RVV12leDyuIUOGaOfOnR0eQ/sDum7OnDm65ppr2txfUVHR5j7aHtB1jzzyiK688kqZpqkhQ4Zozpw5mjFjhgYOHKjt27drzZo1evbZZ+X3+9s8B20Q3aLU6RrQV82cOdOSZPl8Puv111/P2v/LX/7SeVLh5ptvLkENgd7nRz/6kfXss89a27dvtyzLstatW9fpnlsffvih87Tt5MmTrebm5rT9TU1N1uTJk532+9FHHxX6bQC9yrnnnmv98Y9/tOLxeM79u3btsiZMmOC0xVdeeSVnOdoe0HlttTu3p556yml/F198cdZ+2h5QOHfeeaclyTriiCOs733vex323KL9AV2Tals//vGPu3Q8bQ/ouvfee88KBoOWJOvkk0+29u3b12bZtkbuoA2iuzDnFlAEy5cvd8Zdnz17tqZPn55V5oYbbtDEiRMlSfPmzVMsFuvOKgK90s0336zzzjtPQ4cO7fI57rzzTsXjcUnSr3/9a4VCobT95eXl+vWvfy1JisfjmjdvXpevBfQFzz33nC699FJ5vd6c+2tqanT77bc760888UTOcrQ9oPPaanduF154oY444ghJ0iuvvJK1n7YHFMamTZv0wx/+UJK0YMECBQKBDo+h/QGlQdsDuu4b3/iGWlpaVFNToyeffFL9+/dvs2xb/xbSBtFdCLeAInj66aed5SuvvDJnGY/Ho8suu0ySVFdXl9ckxAAOjGVZeuaZZyRJRxxxhKZNm5az3LRp03T44YdLstuzZVndVkegN3JP5r1mzZqs/bQ9oLhSwzJFIpG07bQ9oHCuueYaNTY26vLLL0/7d68ttD+gNGh7QNe9//77eumllyRJX//611VTU9Ppc9AG0Z0It4AiePXVVyXZNxpOPPHENsudeuqpzvJrr71W9HoBB7t169Y58we5218uqf2bN2/W+vXri101oFeLRqPOsseT/eclbQ8ontWrV+udd96RJKcHVwptDyiMxx9/XM8995wGDhyo2267La9jaH9AadD2gK7705/+5CxfcsklznJdXZ0+/PBD7dmzp8Nz0AbRnQi3gCJYvXq1JGn8+PHy+XxtlnPfgEgdA6B43O0s8wZgJtonkL+lS5c6y7naFm0PKKzm5mZ9+OGHuuOOOzRr1iwlEglJ0nXXXZdWjrYHHLh9+/Y5bevWW2/V4MGD8zqO9gccuD/96U86/PDDFQqFVFVVpcMOO0yXX365Xn755TaPoe0BXffGG29Ikvr376+JEyfq0Ucf1XHHHaeBAwdqwoQJqqmp0dixY3XzzTersbEx5zlog+hObd91B9AlkUhEu3fvliSNHDmy3bIDBgxQRUWFmpqatGnTpu6oHnBQc7ezjtpnbW1tzuMApDNNU7fccouzfumll2aVoe0BB+6hhx5qc7hrSfrWt76lz3/+82nbaHvAgfv2t7+t7du36+Mf/7hmz56d93G0P+DAvffee2nrH330kT766CM98sgjuvDCC/XQQw9lzQdE2wO6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DeEWAAAAAHQzdyhz0003tVt2x44dOvroo53yc+bMkWVZB3T9m266qdOh0MyZM51jegv3+8z88nq9qq6u1oknnqgbbrhBH374YamrCwAAACBPvlJXAAAAAACQ27Zt23Taaafp/ffflyRdd911mjdvXmkrVQAvvviihg8fLkkaOXJkSepgmqb279+vFStWaMWKFfrNb36ju+66S1/5yldylr/wwgs1efJkSdLWrVt11llndWd1AQAAALgQbgEAAABAD7R582addtppTo+ib33rW7rttttKXKvCmDBhgsaMGdOt13zggQc0ZcoUZz2RSGjbtm164YUXtGDBAkWjUc2ZM0eHHXaYTjvttKzjq6urVV1dLUmqrKzsrmoDAAAAyIFwCwAAAAB6mA0bNmjWrFlat26dJOkHP/iBfvrTn5a4Vr3boYceqqOPPjpt23HHHaezzz5bxx9/vL70pS/JsizddtttOcMtAAAAAD0Hc24BAAAAQA+yZs0anXLKKU6wddNNNxFsFdmVV16pmpoaSdI//vGPEtcGAAAAQEcItwAAAACgh/jPf/6jU089VRs3bpQk/eIXv9CPf/zjEteqdMLhsH72s5/puOOOU0VFhQYNGqSTTjpJ9913n0zTLOi1UsMkRiKRgp4XAAAAQOExLCEAAAAA9ACrV6/Waaedpu3bt0uS7rjjDl1//fUlrlXpbN26Vaeffrref/99Z1tzc7Nef/11vf7663ryyScL+v1Zv369JGnUqFEFOycAAACA4iDcAgAAAIASW7VqlT7xiU9o586dMgxDd911l77+9a+XulolE4/Hdd555znB1plnnqk5c+aotrZWGzdu1Pz587Vw4ULt2bOnINd7+OGHtXv3bknS+eefX5BzAgAAACgewi0AAAAAKKF3331Xv/nNb7Rnzx4ZhqHf/va3uuqqq0pdrZJasGCBVq5cKUm6+uqr9dvf/tbZd+KJJ+qiiy7S7Nmz9cADD+R9znXr1jnzaklSIpHQjh079MILL2j+/PmSpCOOOEI33nhjgd4FAAAAgGIh3AIAAACAEnr66aed5fnz5x/0wZZkh1uSNHToUN155505y/zqV7/Ss88+q127duV1zi996Utt7uvfv79++MMf6mtf+5oGDBjQ+QoDAAAA6FaeUlcAAAAAAA5mhmE4y3/+858VjUZLWJvS27p1q1avXi1JuvTS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", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "\n" - ] - }, - { - "data": { - "image/png": "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VaumDz/8UE8//bQk6euvv9aYMWPSjCEvi46O1ty5c9WnTx+buq5du6pfv3767LPPJEmvvvqqChQooD/++MPms3VxcdH48eP1888/KyQkRGFhYfr555/VrVs3m34XLVpkflZ16tTRunXrkp1h6+XlpTFjxig+Pt68t9XEiRM1c+bMrHjpdlu0aJH27dsnSXJ3d9fKlStVv359m3bt27fXL7/8ovvuu0+xsbHavXu3Fi9enOn72jnye+9IL7/8sjn75t13301x5lzFihX166+/KigoSCEhIVq5cqW2bduW6t+RqKgoValSRatXr7Y5diwWi1555RVt3LhR33//vaSEf5+1aNEii15Z2oYPH55mm+bNm+uPP/5QYGCgIiMjNW3aNPXs2TMbovvPlClTdPbsWUlS4cKFtXr1apUtW9amXY8ePVSgQAF17dpVkrR8+XKtX78+zfc0OjpaS5cu1YMPPmhTd++99+qzzz7Tww8/LClhVt2sWbPk5sblPgBAzuXi7AAAAED+8MILLySbkErUu3dv83+gDx48aC4pl163b9/Wjh07NHDgQD377LNm+eOPP65+/frZ3c+tW7c0ffr0NB8bNmyw2bdw4cJq3ry5+Tw4OFjR0dEpjvXpp5+aN7FOOn52uH79urm9c+dOnTp1St7e3vrmm28UEhKi+fPna86cOdq1a5dWr16tYsWKSUp4n7t165bszc/DwsLM7TsvfqfkznZJ+8grzp07Z9cxlfhw9DKGvXr1Mpc4SlyGK9HWrVt16NAhSdITTzwhLy8vh8aSFRo2bJjhJclS0qhRIwUGBkpKWD7JHjVr1kw1AV6jRg0ziWQYhnbt2mXTJun5LyuTs+PHj0/xO1mmTBndd9995nNPT89UL+J36dLFTPYdPHgw285ZOVXdunWTTUglujOp9OKLL6aYbHRxcdETTzxhPk9cbuxOkyZNMrenTZuW5pKvr7/+urk07uLFi81lVrNLYlJOSnj9ySWkEgUFBen55583n2dnAi0j33tH2bdvn1avXi1JCggI0KhRo1Jt7+PjY/WjnkWLFqU5xvjx41M9dpL+WyqlY9HZypcvby5Du2PHjgz/GzIjDMPQrFmzzOdvv/12sgmpRF26dNFDDz1kPrfn2H744YeTTUgl6tChg/njnrCwMHOJSAAAcip+OgEAALJF0gtsySlYsKAqVaqkgwcP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w1agQAFz29PTM9n3PCuSle7u7mbfGUl2FCxYMEPHw53JWcMwtHz5cr3++uup7rd161arhJQkeXl5ZfiYLFKkSIp1Sd+btBiGoQEDBujzzz+3Kj937pzOnTunn3/+Wc8//7xmzpwpi8Vis/+YMWM0bty4ZM9PiX2sXLlSn332mb777ju7kndJrVixwiohJSV8Bim9vtSOhdjYWF25ckWbN2/W5s2bNXPmTP34449q3LhxumJKdOnSJXl7e8vX11f169fPUB+5RWRkpPkrnBYtWsjLy8vJEQHIazjPAHAkzjEAHI3zDJC6P0//qXnb5inaiLYqv6fAPZrcfLIqFiIhlRbOM8lL67ZAGZVvk1K3b99Whw4dtH79erm6umrEiBF65plnVLFiRUVGRmrbtm363//+Z85MmTx5sl555RVz/6QHZnR0dHJDmKKiosxtb29vq7rEftLqI61+UpOeJJO3t3e6+nZxcTHvteSshM3uf3er3l31HL6fi4uL05NSSce3WCzJxjNo0CA98cQTye6/Y8cOPfvss5KkAQMGaODAgcm2K1KkSLJ979+/3644CxcunKH3Kuk+Xl5eioyM1MKFC/Xmm2+mut+iRYus9knsKys+rzJlyigwMFC///67pJTf9+S8+eabZkKqbt26GjFihCpVqqSjR49q4sSJ2rNnjz7//HOVKFFC7777rs3+58+fl2EY8vHxUZcuXdS2bVtVqVJFXl5eCgkJ0ccff6wdO3Zo586dat++vXbv3m3XrEspYbblSy+9JEkqUaKELl68KMn+9+3OYyE6OlrHjh3TggUL9NNPP+nff//VI488ooMHD6ZrSdCkEt/r9JyTcjsvL6989XoBZD/OMwAciXMMAEfjPAP8xzAMzft7nj7a9ZFNXaB/oGa0m6Fi3hm7JpOfcZ75j6Peh3yblBozZoyZ/Zw9e7bV0n0eHh66//771bp1a7Vv315r1qzRq6++qtatW6tWrVqSEmaCJErrXkO3b982t++8YJzYjz33K0qtn/xqxt4ZmrlvpobUG6J+NfvZvd/s/bM1ZfcUDag9QAPrJJ+Yya1KlCihEiVKJFuXdB3QEiVKqEaNGunqO73tM6NTp0769ttvFRoaqp07d6pBgwbJtouJidE333wjSercubO5nRmjR49WUFCQgoKCdNddd+nEiROqUKFCuvo4cuSIJk6cKClh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TigFAAAAAABA4YRSAAAAAAAAFE4oBQAAAAAAQOGEUgAAAAAAABROKAUAAAAAAEDhhFIAAAAAAAAUTigFAAAAAABA4SqbuwCaX1VVVfl4xowZzVjJ6mf+/PmZNWtWkmTatGlp06ZNM1cErG30GaBo+gxQJD0GKJo+AxRNn6lb9aygeoawqoRS5L333isf77HHHs1YCQAAAAAAsDp577330r1790ZZy/Z9AAAAAAAAFK6iVCqVmrsImteCBQsyceLEJMnGG2+cykoP0C01Y8aM8tNjzz77bDbddNNmrghY2+gzQNH0GaBIegxQNH0GKJo+U7eqqqryLmu9e/dO69atG2Vd6QNp3bp1dt999+YuY7W36aabpmvXrs1dBrAW02eAoukzQJH0GKBo+gxQNH2mpsbasq862/cBAAAAAABQOKEUAAAAAAAAhRNKAQAAAAAAUDihFAAAAAAAAIUTSgEAAAAAAFA4oRQAAAAAAACFE0oBAAAAAABQuIpSqVRq7iIAAAAAAABYu3lSCgAAAAAAgMIJpQAAAAAAACicUAoAAAAAAIDCCaUAAAAAAAAonFAKAAAAAACAwgmlAAAAAAAAKJxQCgAAAAAAgMIJpQAAAAAAACicUAoAAAAAAIDCCaUAAAAAAAAonFAK6vHmm2/m7LPPznbbbZd27dplo402yh577JFf/epXmTdvXnOXB6yG3n333YwePToXXHBBDj744HTq1CkVFRWpqKjIiSeeuMLrjRkzJkceeWS6du2aVq1apWvXrjnyyCMzZsyYxi8eWCOMHz8+v/jFL3LwwQenW7duadWqVdq3b5+ePXvmxBNPzBNPPLFC6+kzQHUffvhh7rzzzgwdOjR9+vRJjx490qFDh7Rs2TKbbLJJ9t1331x66aWZPXt2g9bTY4AV8cMf/rD8+1NFRUUee+yx5V6jzwCfVb2PLOtr3333Xe5aekwxKkqlUqm5i4DVzf3335/jjjsuc+bMqXN82223zQMPPJCtttqqiSsDVmcVFRX1jg0aNCgjRoxo0DqlUinf+973csMNN9Q755RTTsl11123zHsCa5c+ffrk8ccfX+68448/Pr/73e/SsmXLeufoM0BdHn744RxwwAHLndepU6fceuutOeigg+oc12OAFfXCCy9kt912S1VVVfnco48+Wu9fGuszQH0a+v98nz596g2/9ZhieVIKPuOFF17IwIEDM2fOnLRv3z4///nP8/TTT2fs2LE5+eSTkyT/+te/0q9fv3z88cfNXC2wuurWrVsOPPDAlbr2vPPOK//gs/POO+eOO+7Is88+mzvuuCM777xzkuSGG27I+eef32j1Aqu/t99+O0nSpUuXnHHGGbnnnnvy7LPP5plnnskVV1yRzTbbLEnyhz/8YblPZ+ozQH26deuWE044IVdffXVGjRqVZ555Jk899VTuuuuuHH300Vl//fUza9asHHbYYXnxxRfrXEOPAVbE4sWLc/LJJ6eqqiqbbLJJg67RZ4DlGTJkSCZOnFjv180331zvtXpMwUpADfvuu28pSamysrL09NNP1xq/9NJLS0lKSUoXXXRRM1QIrK4uuOCC0n333Vd65513SqVSqTR16tRyvxg0aFCD1nj11VdLlZWVpSSl3XbbrTRv3rwa43Pnzi3ttttu5T41efLkxv42gNVUv379SnfddVepqqqqzvH33nuv1LNnz3Lfefzxx+ucp88A9amvv1T3xz/+sdxnjjzyyFrjegywoq688spSklKvXr1KP/rRj8o95tFHH61zvj4DLMvSHnLhhReu1PV6TPE8KQXVPPfcc+XHNgcPHpy99tqr1pyhQ4dmu+22S5JcddVVWbRoUVOWCKzGLrroovTv3z+dO3de6TWuvPLK8pYVv/nNb9KmTZsa423bts1vfvObJElVVVWuuuqqlb4XsGYZPXp0Bg4cmPXXX7/O8U6dOuXyyy8vf77nnnvqnKfPAPWpr79Ud8QRR6RXr15JUueWonoMsCLeeuut8pMG11577TK3H15KnwGKpMcUTygF1dx7773l45NOOqnOOeutt15OOOGEJMn777/foBdvAjREqVTKn/70pyRJr169sueee9Y5b88998y2226bZEnfKnk9JPAf1d+78Nprr9Ua12eAxtCuXbskyYIFC2qc12OAFfX9738/H3/8cQYNGlTv+6Oq02eAIukxTUMoBdU88cQTSZb8krXrrrvWO69Pnz7l4yeffLLwuoB1w9SpU8vvjKneZ+qydHzatGl5/fXXiy4NWEMsXLiwfLzeerV/1NdngFU1adKk/OMf/0iS8hNTS+kxwIoYOXJkRo8enY022iiXXXZZg67RZ4Ai6TFNQygF1UyaNClJ0qNHj1RWVtY7r/ovX0uvAVhV1fvJZ/+S57P0IaAu48aNKx/X1Uf0GWBlzJs3L6+++mquuOKK7Lfffvn000+TJGeccUaNeXoM0FAffPBBuYdccskl2XjjjRt0nT4DNNTdd9+dbbfdNm3atMkGG2yQbbbZJoMGDcqjjz5a7zV6TNOo/2/dYR2zYMGCzJo1K0nStWvXZc7dcMMN065du8ydOzdvvfVWU5QHrAOq95Pl9aFu3brVeR2w7lq8eHF++ctflj8PHDiw1hx9BmioESNG1LuleZKcffbZOe6442qc02OAhvrhD3+Yd955J1/+8pczePDgBl+nzwAN9fLLL9f4PHny5EyePDm33HJLjjjiiIwYMSIdOnSoMUePaRpCKfiPjz76qHzcvn375c5fGkp9/PHHRZYFrENWpA8tfZdDEn0ISLLkhbzPPvtskmTAgAHZbbfdas3RZ4BVtdNOO+W6667Ll770pVpjegzQEE8++WR+97vfpbKyMtddd10qKioafK0+AyxP27Ztc9hhh2X//fdPr1690r59+7z33nsZN25crrvuusyePTv33ntvDj/88Dz00ENp0aJF+Vo9pmkIpeA/qr+kt2XLlsud36pVqyTJ/PnzC6sJWLesSB9a2oMSfQhYsm3ff/3XfyVJNtlkk1x77bV1ztNngIY64ogjyuH2/Pnz89prr2XkyJH54x//mOOOOy5XXXVV+vfvX+MaPQZYnoULF+aUU05JqVTKWWedld69e6/Q9foMsDxvv/12OnbsWOv8AQcckNNPPz0HH3xwJkyYkHHjxuXaa6/ND37wg/IcPaZpeKcU/Efr1q3Lx9VfEl6fTz75JEnSpk2bwmoC1i0r0oeW9qBEH4J13T//+c8MGDAgVVVVadWqVUaOHJnOnTvXOVefARqqY8eO2WGHHbLDDjtk9913zze/+c2MGjUqt9xyS6ZMmZLDDz88I0aMqHGNHgMszy9+8YtMmjQpm2++eS688MIVvl6fAZanrkBqqc6dO+eee+4pB06/+c1vaozrMU1DKAX/scEGG5SPG/LI5dy5c5M0bKs/gIZYkT60tAcl+hCsy6ZOnZoDDzww77//ftZff/3ccccd6dOnT73z9RlgVR1//PE5+uijs3jx4px22ml5//33y2N6DLAsr7zySi6++OIkS/4iuPrWVw2lzwCraquttsoBBxyQZMl7pqZPn14e02Oahu374D9at26dTp06ZdasWZk2bdoy577//vvlxlP9pXYAq6L6SzSX14eqv0RTH4J10/Tp0/O1r30t06dPT0VFRW666aYMGDBgmdfoM0BjOPzwwzNy5MjMnTs3Dz74YI499tgkegywbFdeeWUWLlyYrbbaKvPmzcudd95Za85LL71UPn7kkUfyzjvvJEkOPfTQtGvXTp8BGsX222+f+++/P8mS7f66dOmSxM8yTUUoBdVst912eeKJJzJ58uRUVVWlsrLu/0VeeeWVGtcANIbtt9++fFy9z9RFH4J126xZs3LAAQdkypQpSZb8a+MTTjhhudfpM0Bj2HjjjcvHb7zxRvlYjwGWZelWV1OmTMm3vvWt5c7/6U9/Wj6eOnVq2rVrp88AjaJUKtV5Xo9pGrbvg2r22WefJEsev/z73/9e77xx48aVj/fee+/C6wLWDVtuuWX5X+dU7zN1efzxx5Mkm222Wbp37150acBqZM6cOTnooIPy8ssvJ0l++ctf5tRTT23QtfoM0Bjefvvt8nH17Wr0GKBo+gzQGJb+LpWk3FMSPaapCKWgmiOOOKJ8fPPNN9c5Z/HixbnllluSLHlx3n777dcUpQHrgIqKihx++OFJlvyLm7/97W91zvvb3/5W/hc5hx9+eCoqKpqsRqB5zZs3L/369cv48eOTJD/5yU9y7rnnNvh6fQZoDHfffXf5uHfv3uVjPQZYlhEjRqRUKi3z68ILLyzPf/TRR8vnl/6Frz4DrKopU6bkoYceSrLk/VKbbbZZeUyPaRpCKahmjz32yFe+8pUkyY033phnnnmm1pzLL788kyZNSpKcccYZadGiRZPWCKzdzjzzzPLWoaeffnrmz59fY3z+/Pk5/fTTkySVlZU588wzm7pEoJksXLgwAwYMyFNPPZVkyc8hP/vZz1Z4HX0GqM+IESOyYMGCZc658sor88ADDyRJunfvXt5tYik9BiiaPgPU57777ktVVVW94zNnzsw3vvGNLFq0KEnq3HFCjymed0rBZ1x99dXZe++9M3/+/Bx44IH58Y9/nP322y/z58/PnXfemRtuuCFJ0rNnzwwdOrSZqwVWJ08++WQmT55c/jxr1qzy8eTJkzNixIga80888cRaa/Ts2TNnn312fvnLX+b555/P3nvvnXPPPTdbb711XnvttVxyySWZMGFCkuScc87JNttsU8j3Aqx+vvWtb+Wvf/1rkqRv374ZPHhwjZeBf1bLli3Ts2fPWuf1GaA+w4YNy9ChQ3PUUUdln332ydZbb5327dvno48+ysSJE3PbbbeVg/GWLVvmt7/9ba338OoxQNH0GaA+p59+ehYtWpSjjjoqe+21V7p37542bdpk1qxZeeyxx3Lddddl9uzZSZa8xqWuUEqPKV5Fqb63esE67L777su3v/3tfPjhh3WO9+zZM/fff3969OjRxJUBq7MTTzwxv//97xs8v74/ghcvXpyTTz45N910U73XDh48ODfccEPWW89Dz7CuWNEtIbbYYou8/vrrdY7pM0BdunfvnjfeeGO587p27ZqbbropBxxwQJ3jegywsoYNG5aLLrooyZLt+/bdd9865+kzQF0a+rPMUUcdld/97nfp2LFjneN6TLGEUlCPN954I1dffXXuv//+TJs2LS1btkyPHj1y9NFH57TTTkvbtm2bu0RgNdNYodRSDzzwQG644YY899xzmTVrVjp16pTdd9893/3ud3PwwQevarnAGqYxQ6ml9Bmgutdeey0PP/xwHn300UyaNCkzZ87M7Nmz07p163Tu3Dk77bRT+vfvn4EDBzbo9yE9BlhRDQ2lltJngOrGjRuXcePG5ZlnnsmUKVMya9asfPjhh2nfvn26deuWL3/5yxk0aFD22muvBq2nxxRDKAUAAAAAAEDhPFsGAAAAAABA4YRSAAAAAAAAFE4oBQAAAAAAQOGEUgAAAAAAABROKAUAAAAAAEDhhFIAAAAAAAAUTigFAAAAAABA4YRSAAAAAAAAFE4oBQAAAAAAQOGEUgAAAAAAABROKAUAAAAAAEDhhFIAAAAAAAAUTigFAAAAAABA4YRSAAAAAAAAFE4oBQAAAAAAQOGEUgAAAAAAABROKAUAAMAyjRgxIhUVFbW+RowYsdJrPvbYY+V1HnvssUartS5F1A8AAKw4oRQAAMAKqB6mDBs2bJlzZ86cmR122KE8f8iQISmVSqt0/2HDhq1wmLPvvvuWr1lTVP8+P/u1/vrrp2PHjtl1110zdOjQvPrqq81dLgAA0ACVzV0AAADA2mjGjBnp27dvXnnllSTJGWeckauuuqp5i2oEf/nLX9KlS5ckSdeuXZulhsWLF2fOnDkZP358xo8fn2uuuSa//vWv893vfrfO+UcccUR22223JMn06dNz0EEHNWW5AADAfwilAAAAGtm0adPSt2/f8hM8Z599di677LJmrqpx9OzZM927d2/Se950003Zfffdy58//fTTzJgxIw8++GCuvfbaLFy4MEOGDMk222yTvn371rq+Y8eO6dixY5Kkffv2TVU2AADwGUIpAACARvTGG29kv/32y9SpU5MkP/nJT/Kzn/2smatas2255ZbZYYcdapzbcccd8/Wvfz077bRTvvOd76RUKuWyyy6rM5QCAABWD94pBQAA0Ehee+21fPWrXy0HUsOGDRNIFeykk05Kp06dkiT//d//3czVAAAAyyKUAgAAaAT//ve/06dPn7z55ptJkosvvjgXXnhhM1fVfObPn5+f//zn2XHHHdOuXbt8/vOfz957753f/va3Wbx4caPea+l2ggsWLGjUdQEAgMZl+z4AAIBVNGnSpPTt2zfvvPNOkuSKK67IWWed1cxVNZ/p06dn//33zyuvvFI+N2/evDz99NN5+umnM2rUqEb97/P6668nSTbffPNGWxMAAGh8QikAAIBVMHHixHzta1/Lu+++m4qKivz617/Oaaed1txlNZuqqqr079+/HEgdeOCBGTJkSLp165Y333wzw4cPz5gxYzJ79uxGud/vf//7zJo1K0ly2GGHNcqaAABAMYRSAAAAK+mFF17INddck9mzZ6eioiLXX399Tj755OYuq1lde+21mTBhQpLklFNOyfXXX18e23XXXTNgwIAMHjw4N910U4PXnDp1avm9UUny6aefZubMmXnwwQczfPjwJEmvXr1yzjnnNNJ3AQAAFEEoBQAAsJLuvffe8vHw4cPX+UAqWRJKJUnnzp1z5ZVX1jnn6quvzn333Zf33nuvQWt+5zvfqXesQ4cOOf/883Pqqadmww03XPGCAQCAJrNecxcAAACwpqqoqCgf//nPf87ChQubsZrmN3369EyaNClJMnDgwLRt27bOee3bt8/AgQMb5Z5z5szJzTffnHvuuadR1gMAAIojlAIAAFhJQ4YMyfbbb58kefDBB/Otb30rVVVVzVxV85k4cWL5ePfdd1/m3D322KPB6z766KMplUrlr8WLF+eDDz7IuHHjMmDAgEyZMiWnnHJKfvjDH6507QAAQPGEUgAAACtp4403zsMPP5wePXokSUaNGpVBgwZl8eLFhd2z+tNZDVUqlQqopLb333+/fLzJJpssc27nzp1X+j4VFRXp0KFDvvrVr2bUqFE59thjkySXXXZZHnnkkZVeFwAAKJZQCgAAYBVsuummeeSRR7LFFlskSW6//facfPLJhQVBbdq0KR/PmzevQdfMnTs3SdKuXbtCalqq+ve8vPCsMf/7nHPOOeXjG2+8sdHWBQAAGpdQCgAAYBV169YtY8eOTZcuXZIkN910U37wgx8Ucq+NNtqofPzOO+806Jql86pfW4Tq68+cOXOZc999991Gu2+vXr3Kx9W3EAQAAFYvQikAAIBGsPXWW2fs2LHlbeuuueaaQt5x9MUvfrF8PH78+OXOnzlzZt5+++1a1xahd+/e5ePnnntumXOXN74iqr/Ha9GiRY22LgAA0LiEUgAAAI2kV69eeeihh8pPDF122WUZNmxYo95j5513Lq8/atSoLFiwYJnzb7vttvLx/vvv36i1fFaXLl2y3XbbJUnuvvvuzJ8/v855c+fOzciRIxvtvtUDrm7dujXaugAAQOMSSgEAADSiL37xi/nLX/6Sz33uc0mSiy66KJdeemmjrd+iRYuccsopSZIZM2bkzDPPrPf9TBMnTsxPf/rTJEn79u1z4oknNlod9RkyZEiSJVsGDh06tM45Z511VqNt3/fJJ5/kggsuKH8+5JBDGmVdAACg8VU2dwEAAABrm9122y0PPPBADjrooMydOzfnnntu2rZtm9NOO61R1j/vvPPypz/9KZMmTcr111+fCRMmZPDgwendu3dat26dGTNm5KGHHsoNN9yQefPmJUmGDx+eDTfcsFHuvyxDhgzJzTffnAkTJuTaa6/N1KlT873vfS/dunXLW2+9leHDh+evf/1rdt999wZv4Td16tR06tSpxrkPP/ww//jHPzJ8+PD885//TJL06NEj3/3udxv9ewIAABqHUAoAAKAAe++9d/785z+nX79+WbBgQX7wgx+kTZs2GTx48Cqv3a5du4wdOzbf+MY38vTTT+fZZ5/Ns88+W+fc1q1b55prrsnxxx+/yvdtiMrKyowePTp9+/bNv/71r4wZMyZjxoypMefAAw/M0KFDc9BBBzVoze985zvLnbPjjjvm3nvvTZs2bVaqbgAAoHi27wMAAChI3759M2rUqLRs2TKlUimnnHJKjXc8rYpNN900Tz75ZP785z/n29/+drbeeuu0b98+LVq0yMYbb5x99tknw4YNy9SpUxslCFsRXbp0yYQJE/Kzn/0sO+ywQ9q0aZOOHTtmzz33zPDhw/Pggw+mZcuWq3SPtm3bpnv37jnyyCNz++235/nnn0/37t0b5xsAAAAKUVGqb/NxAAAASDJixIicdNJJSZZspbcmhz+vv/56ttxyyyTJzTff3CTv2QIAAJawfR8AAAAN9u9//zsff/xxkqRr167p2LFj8xbUAB988EGmTZuWJJk+fXozVwMAAOsuoRQAAAANVv09UGvKk0b33ntv+UkvAACg+XinFAAAAAAAAIXzTikAAIAm9NJLL63UdWvKVnkAAAD1EUoBAAA0oYqKipW6bk3ZKg8AAKA+tu8DAAAAAACgcJXNXQAAAMC6xGYVAADAusqTUgAAAAAAABROKAUAAAAAAEDhhFIAAAAAAAAUTigFAAAAAABA4YRSAAAAAAAAFE4oBQAAAAAAQOGEUgAAAAAAABROKAUAAAAAAEDhhFIAAAAAAAAUTigFAAAAAABA4YRSAAAAAAAAFE4oBQAAAAAAQOGEUgAAAAAAABROKAUAAAAAAEDhhFIAAAAAAAAUTigFAAAAAABA4YRSAAAAAAAAFE4oBQAAAAAAQOGEUgAAAAAAABTu/wNLfm2Z8WJxQQAAAABJRU5ErkJggg==", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABsgAAARGCAYAAACVGDVmAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdd3RU1drH8d+kEggQIKEm9KoEEAhVSBAVBSxYUBSlCYrIFQuiolQvCqgg1ULzKnivIKCiiCKE0LsU6T2BUEJPCAlJzvtH3hxnUifJTAbI97PWLM4+Z5+9nzMzZ8KaZ/beFsMwDAEAAAAAAAAAAACFhJurAwAAAAAAAAAAAAAKEgkyAAAAAAAAAAAAFCokyAAAAAAAAAAAAFCokCADAAAAAAAAAABAoUKCDAAAAAAAAAAAAIUKCTIAAAAAAAAAAAAUKiTIAAAAAAAAAAAAUKiQIAMAAAAAAAAAAEChQoIMAAAAAAAAAAAAhQoJMgAAAAAAAAAAABQqJMgAAAAAAAAAAABQqJAgAwAAAAAAAAAAQKFCggwAAAAAAAAAAACFCgkyAAAAAAAAAAAAFCokyAAAAAAAAAAAAFCokCADAAAAAAAAAABAoUKCDAAAAAAAAAAAAIUKCTIAAAAAAAAAAAAUKiTIAAAAAAAAAAAAUKiQIAMAAAAA3JZ69uwpi8Uii8WiOXPmuDocu4WFhZlxh4eHuzocAC4yZ84c87OgZ8+erg4HAIDbDgkyAABQKFl/+ZjZo3jx4qpcubIefPBBjRkzRidPnrS77REjRmTbdlaPiRMnZtvu6dOnNWrUKN19990qV66cvL29Vb58ebVo0SLXMUrS5cuXtWLFCo0bN05PPvmkqlatahOPI75MjoiI0MCBA9WwYUOVLVtWRYoUUVBQkJo1a6aXX35Z8+fP18WLF+1qyzAMLVq0SE888YRq1KghHx8fBQQEqGnTpho5cqROnDiR73jTS/8+qVy5shISEuw69+2337brS630z3v6h5ubm0qWLKnatWura9eumjt3rq5fv+6gK7Rl3a8zv5Q/duxYnu6R7B72vl/Dw8Md3jcJDAAAAAC49ZAgAwAAyERsbKwiIyP122+/aejQoapWrZpGjRolwzBcEs+kSZNUvXp1DR8+XGvXrtXZs2eVmJioM2fOaOPGjRo6dKjq1aunWbNm2dVet27dVKpUKbVv315DhgzRggULdPz4cYfFe+TIET3wwAMKDQ3VlClTtHPnTp07d04JCQmKiorS5s2bNX36dHXt2lUzZ87Msb1Tp07p3nvv1WOPPaYffvhBR44c0fXr1xUTE6OtW7dqxIgRuvPOO50+QiQyMlJffPGFU/tIzzAMXblyRQcPHtT8+fPVvXt33XHHHVqzZk2BxgHcrpw9QoPRYM5hnaQujKx/jDNixAinnQPHYTQYAAA3Hw9XBwAAAOBqISEhatasmc2+y5cva8eOHdq1a5ck6caNGxo+fLguXbqkTz/91O62K1asqC5duthVt1GjRpnuf/vttzV27FizXLx4cbVt21YVK1bUxYsXFRERobNnz+rq1avq06ePEhIS1L9//2z7io6Odlqyb8eOHWrfvr3Onz9v7rvjjjt05513qnTp0rp69ar279+vHTt2KCkpKcf2rly5og4dOmj37t3mvmbNmunOO+80R8FdunRJsbGx6tWrl9zc3PT888875dok6cMPP9QLL7ygokWLOrzt9u3bq27dujb7kpOTdf78eW3dulVHjhyRJB09elQdOnRQeHi4QkJCHB6Hs5UoUUIDBgzIts6mTZu0efNmSfbdR/Xq1bOr70qVKuXY959//ql9+/ZJkurWrav27dvn2CYAAAAA4NZCggwAABR6HTt2zPKX1OvWrdPTTz+tyMhISdKECRP0zDPPqGnTpna1XatWLU2ZMiXPsS1ZssQmOfbcc89p0qRJ8vPzM/clJiZqzJgxGjlypCRp4MCBat68uRo3bpxt225ubqpbt66aNWumkJAQhYSE6PHHHzevNS+OHTtmkxxr3769Jk6cqPr162eoe+HCBf3444+qWLFitm2+8sorZnKsdOnSWrBggdq1a2cej42N1Ysvvqh58+ZJkvr27atWrVqpZs2aeb6O7Jw+fVpTpkzRW2+95fC2u3fvnu2vyn/99Vc9++yzunTpkq5du6b+/ftry5YtDo/D2UqXLp3jfTFixAgzQZbf+8iaPW317NnTTJA1b97cYX2j4M2ZM+eWWnssDSPNAEipf48YbQYAgPMwxSIAAEA2WrVqpR9//NFmCqcvv/yywPofOnSouf3ggw/qP//5j01yTJK8vLw0YsQIDR48WFLqiKMhQ4Zk2+60adN0+fJl/f3335o9e7ZefvllhYSEyM0tf/897Nevn5kce+qpp7Rs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2WefVXJysqTU0XV33323atasqdjYWK1evdq8Z+bNm6ejR49qxYoVNlND3m7WrVunESNG6MaNGypTpozatm0rf39/nT17Vtu3b7epGxkZKcMwZLFYVKdOHdWpU0dlypSRp6enzp8/r+3bt+vw4cOSpO+++06XL1/WkiVL7PocOHXqlO69916dOnVKfn5+atOmjcqXL6+YmBitWLFCly9fliSNGjVKd9xxh5566qkMbSQnJ6tTp07aunWrua9+/fqqX7++/Pz8dP36dZ0+fVo7duxQdHS03c/Ru+++qylTpsjNzU0tW7ZUnTp1dP36da1cudJs54MPPlC9evX06KOP6r777tPOnTtVtGhRhYaGKjAwUOfOndPy5csVGxurGzduqHv37rrrrrtUo0YNu+NIc++998rX11f79u3Tn3/+KUmqW7eu2rdvn6Fu2ujU3BgwYICk1Hs27X549NFHValSpQx169Wrl+v2rUVGRmrw4MGKiYlRuXLl1LZtW/n5+engwYOKiIhQSkqKIiMj9eCDD2r37t367rvv1K9fP0mp19y0aVN5eXlpy5Yt5tS+a9eu1aBBg/TVV19l2W9cXJw6dOhgMyqxWrVqatq0qUqVKqWLFy9q3bp1OnnypOLj4zVw4EBduXJF7777bp6us1KlSubzOnXqVHN/2r70SpQoYVM+c+aMWrdubd5fklSjRg01b95c3t7e2rNnjzny9eDBg2rXrp1+++03m9HZeeWo+75Lly6qX7++Nm3apM2bN0uSQkJC1KxZswx9tmjRIs/nWIuIiNBDDz1krr3p4eGhpk2bqk6dOvL09NSxY8e0Zs0aXb9+Xfv371erVq20fv16u97XI0eO1KhRoyRJjRo1UnBwsDw9PfXXX39p27ZtkqSjR4/q0Ucf1datW+Xp6Zljm45y6tQp8+9c9erVVa9ePQUEBKhIkSK6dOmSdu3aZf5fa8WKFbr33nu1YcMGeXt727Tj7M8aKfX/PKGhoTbTSwcHB6tRo0ayWCzavn27Oep269atat26tSIiIlS7du0c2969e7feeecdxcbGqmzZsmrTpo3KlCmjkydPasWKFYqPj1dycrJeeukl1a9fXy1btszTNQAA4BIuTtABAAC4RG5GkN24ccPmV/mPP/54tvUdNfJl5syZZjsVKlSw65wOHTrY/KL33LlzueozryPIhg4dap73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Sv1B0549ewq0f+v39ksvvaQmTZpkWTckJER9+/Y1y2mJ6+wEBwdn++Ow+vXrm9M9G4ZhMz0vAAA3O9YgAwAAhd7IkSM1cuTIbOuUKVNGb731lt56660Ciip1vat3333X/CLj119/VY8ePfTZZ5/ZJCUSExP14Ycfavz48RnaiI+PL5BY4+LibMru7u76+eefM13LpGvXrpL++cJ21apVCg8PV1hYmE2969evm9v2JoLSj9Rx5vV/8MEH5hfMs2fP1pAhQ1S9enWn9Zfm2LFjevzxx9W/f3999NFHBbqu17p168xReWXKlMn2C2YpdSRZ79699cYbb0hKHcFxu3r88ccz/LLeHidOnNCmTZt04MABXbp0SfHx8TZfxKeNujMMQzt27DATs1l56KGHcnxP3HXXXeaooGPHjmU4npZ4klK/eO3UqVOeri29xx9/PNvj9evXN7dr1aqlBg0a5Fg/baTq0aNHbc4vbB566KFsPyerVaumYsWKmZ/VuXktMhv5mZSUpD/++ENS6npUObUnpf5Na9eunfbt2yfDMLRu3bocP0McyfrzxzrpkpVevXrpnXfeUUpKiqKjo7V//36bUdD54ej73lmWL19ufuZ37txZvr6+OZ7TvHlzFS1aVNeuXbMZjZqVJ598MtvjdevWlY+Pj+Lj43X+/HnFxsbaFYejnT17Vhs2bNDevXt18eJFxcXF2bxmW7ZsMbf/+usvBQcHF0hcsbGxNn3b895+4YUXzMTY5s2bFRcXZ44szkxOr5GU+nclbURyZn9XAAC4WZEgAwAAyIG7u7vGjh2rPn365Prc0NDQTKdPtNcLL7yg33//XfPnz5ck/ec//9GiRYsUFhamChUq6OLFi4qIiDCnP3rooYf0888/m+cXL148z33nRvov5B977LFMk2NpunbtqvHjx5tf6vz3v//NkCCzbjMxMdGuONJPqWjvyLO8aNu2re677z798ccfunHjhkaOHKmvv/46X23Onj1bPXv2tNlnGIZiY2N18OBBLV68WJ9++qni4uL02WefaceOHVq2bFmBjSTbvn27ud28eXO7kiatW7e2Od8wDHMqpttJdr/Yz8z69ev19ttva/Xq1XaPTLFnxI09X8paT1l4+fLlDMefeOIJDR8+XCkpKVq6dKnuuOMO9erVSw8++KAaNGiQ5aiu7JQsWTLbacokqVSpUub2HXfckWOb1vVdOcrmZpB+2srM+Pn5mQmynJ7fnJ7bnTt3mm0VKVJEgwcPtitO6xFA1lPzOtvJkyd19uxZs9yqVasczwkICFDt2rXN0Ynbtm3Ld4LMWfe9s6xfv97cPnDggF555RW7zkv7jE9LJGWVfClZsqSCgoJybKtUqVLmD14uX75coAmyPXv2aMiQIVq6dKndUycW5Gu2Y8cOMy5fX98cf1ggSY0aNTIT5snJydqxY0e294Qj/q4AAHCzIkEGAAAKvZCQEJu1L2JjY3XixAlztExycrJeeOEFHTlyRP/+978LPL65c+eqfPnymjJligzD0NWrV22SYGm6deumYcOG2RzLbvo7R0r/ZVXaVEPZ6dKli5kgW7duXbZt2jsSLH09Z3+J9sEHH5ijKL799lu9/fbbqlevnkP7sFgsKl68uBo3bqzGjRvrySefVOvWrXX16lWFh4frww8/1PDhw23O+fbbb7Vhw4Zs2x01apRKly6dq1jOnTtnblepUsWuc6pWrWpuJyYm6urVqypRokSu+r0V5GYqwlmzZumFF17I9ZRt9kyZmrZuUnas10i7ceNGhuN169bVJ598otdff12GYejgwYN699139e6776pEiRJq2bKlwsLC1KVLF9WpU8eu2O2Jyzrhmtv6mV1HYeLo5zen5/bUqVPmdmxsrKZOnWpPmDbS1lMsCNafXT4+PllO9Zle1apVzQRZfpMezrzvncX6dd68eXOepji8ePFitgkye+T0meUsy5Yt0yOPPJLr9UwL8jWzfm8HBQXZ9QMGNzc3BQUF2f3edsTfFQAAblasQQYAAAq9jh07asqUKeZjzpw5WrFihY4dO6Zu3bqZ9caMGWOz/lJB8fT01KRJk7R79269+uqratiwofz8/OTl5aXKlSura9euWrZsmebNm6fTp0+b53l4eKhcuXIFEqP1L4cl+0Z/WNc5efJktm2mjZDLifX1Fy1aNMOUi47WrFkzc4qwlJSUDIkqZwgODtbAgQPN8qRJkzKMsFu+fHmO697lZcSN9Zpu2U3HZC19PVd+2etM9o5W3Lt3r1588UXzS/IGDRpo0qRJ2rx5s86ePWtOtZb26NGjh3luSkpKju07anTeoEGDFBERoQ4dOth84XrlyhUtW7ZM77zzjurWrav27dtr165dDo/rdhxl6EwF/fw6YoRIUlJSvtuwV14+u9LXzc9nl7Pve2dx9ut8M9/n586d01NPPWUmx6pVq6axY8dq7dq1OnXqlK5du6aUlBTzNbP++1+Qr1lBvLdv5tcJAID8YgQZAABAFsqXL69vv/1WFy5c0LJlyyRJL7/8su6//36b6acKyh133KGJEydmW8f6193BwcEFtj5V+mmn7Bm5ZV0nsy9nrEemHD9+3K440tYjyiwmZxk9erR+/vlnGYahBQsW6K+//lKjRo2c2meHDh00ZswYSdKFCxe0fft2NW/e3Kl9SravWfp157KSvl5BTft5s5owYYL5hXHHjh21ePFim1/ep+fKhOLdd9+t3377TTExMVq1apVWr16t1atX66+//jK/AF6xYoWaN2+uP/74w2Y6TdzerL9cb9Sokc30qzejvHx2pa+bn8+uW+m+t2b9Ok+cOFGvvvqqC6NxrJySWF999ZWZILzrrrsUERGR7f9tXPWaufq9DQDArY4RZAAAANlwc3PTjBkzzC+JLly4YCYmbkYrV640t+1ZY8VR6tevb1O254si6zqZTd9jPVXh6dOnbUaHZWXbtm2Znu9MDRo0MBewNwxD77//vtP7rFChgk05fQJxzpw5NqMRMntYT31oL+tpBK2Tkdmxjs3Ly6vQfxH3559/mtujR4/O9ktyyf7ksDP5+/vr8ccf18SJE7V161adOXNGkyZNkr+/v6TUqU1ffPFFF0eJgmQ9OvnIkSMuHeVkD+vPrvj4eLunS7S+/9Le73lxK973ku3rfPDgQRdGkj3r59PekYk5jY6zfs3ee++9HH/446rXzPq9HRkZadcUnikpKTZrAObnvQ0AwK2OBBkAAEAOAgMDNWjQILM8ZcoUu5I1Be306dP6/fffzfJzzz1XYH23aNHC5pfme/bsyfEc6zpBQUEZjteqVUuBgYFmOTw8PMc2V61aZW7fc889OdZ3lFGjRsnd3V2StGTJEm3cuNGp/V27ds2mbM+aI45w1113mdubNm1ScnJyjuesXbvW5vzCPlWT9Zo+d955Z7Z1L1++rJ07dzo7pFzz9/fXwIED9dNPP5n7/v77bx05csSFUeWds9+Tt+N7vlGjRuYUtleuXNH69etdHFH2KlWqZLPuWGbrXqZ3/vx57d+/3yw3btw4z/07477Py/sqt+dYj0xOG0l/M7L+4cXFixdzTBKdOHEix2mGc/OaJScn2/yty4ozPgsaNmxo/v8jNjbWrilvd+zYYY4gc3d3V8OGDR0eFwAAtwoSZAAAAHZ44403zC9grl+/rvHjx7s4ooyGDx9uJiwaNWpUIFPupfHx8dEDDzxglhctWpTjOdZ1QkNDMxy3WCzm+l5S6qio7Kxfv14HDhyQlJoweuihh3KMwVHq1Kmj7t27m+X33nvPqf1Zj5STUr/8LQitWrUyvxQ/d+6cfvnll2zrG4ahr7/+2iwXZNLyZmWdzEyf6ExvxowZunHjhrNDyrOWLVuqdOnSZtnetQJvNtZT0Trj+XZ2+67g4+Njcz9PmDChwGPI7fParl07czunvyeS9PXXX5sj4ypWrGgz7W9uOeO+z8v7KrfndOjQQR4eqStzHDp0SEuWLLGrn4JWokQJ87Po2rVr5v8FsvL999/n2GZuXrPFixfb9cMpZ3wW+Pr6qmnTpmbZnvf27Nmzze1mzZrlau0yAABuNyTIAAAA7FCqVCkNHDjQLH/++ed2T9FUEObPn68ZM2ZISk0sTZo0qcBjsF6bZOHChdqwYUOWdb///ntt3brVLPfo0SPTei+99JL5JdWyZcv0xx9/ZFovJSVFb731llnu2rWrzbRDBWH48OHmNE/Lly+3Gc3mSElJSZoyZYpZLlGihM2XY87k5+enp556yiwPHjw42+k0p06dqh07dkhK/bKxb9++To/xZle9enVz+8cff8yy3sGDBzVy5MiCCCkDez/bLl68qNjYWLNc0Peco5QpU8bcPnny5C3XvqsMGTLE3P7hhx/s+mI+jSNGYef2ebWeBnTRokX67bffsqwbGRmpDz74wObc/Iz+ccZ9n5f3VW7PqVSpks2PP1566SW7+0pJSdG5c+fsqusIzZo1M7ezey9GRUXpww8/zLE9e1+zc+fO6bXXXrMrRmd9Fli/t6dOnZrtCMTt27fr888/N8svvfSSw+IAAOBWRIIMAADATq+//rq5BsW1a9f06aefFki/zz33nMLDwzNd4yU2NlbDhw/Xs88+ax5/9dVX1aZNmwKJzVqbNm30yCOPSEr9Yuzhhx/OdFrE+fPnq2fPnmb5qaeeUqNGjTJtMzg4WM8++6xZ7tatW4Y24+Li1KNHD61Zs0ZS6jpXo0ePzte15EW1atXUp08fs5xdgjCvoqOj9cQTT9iMIBs4cGCO69k40vDhw8374MCBA+rQoUOGqfVSUlI0efJkm6lJBwwYoGrVqhVYnDerzp07m9uvv/56ptOW/fnnnwoLC9PVq1dd8sv+rl27qlOnTpo/f745DVd6J06c0NNPP63ExERJqVOi1qxZsyDDdJjg4GBze+PGjXavr5eX9hcsWGDXGkG3gtDQUJsfN/Tu3VuDBw/W+fPnM62fkJCgH3/8UV26dLEZHZxX1s+rPSOC2rVrpwcffNAsP/nkk5o/f36Getu3b1f79u118eJFSalTAP/rX//KV6zOuO+tr3/ZsmU5rqmV13PGjBljrnt58uRJhYSEaMGCBVmuO3fy5El99tlnqlu3rv73v//l2L6jPPPMM+b2p59+qh9++CFDnQ0bNig0NFQXL17M8e+m9Wv20Ucf6dtvv81QZ9u2bQoNDVVkZGSuXzNHftY8++yz5jSJiYmJ6tChg82atGn+/PNPPfDAA+botcaNG6tbt24OiQEAgFuVh6sDAAAAuFWUKVNGAwYM0NixYyWlrkU2ePBglSpVyqn9zp8/X99++63KlCmjpk2bqlKlSjIMQ5GRkVqzZo2uX79u1u3Vq5c++eSTHNvcsmWLXnjhhQz7rdfcGDZsmCZOnGhzvGnTpuZItczMmjVLrVu31r59+3Tu3Dm1a9dOTZo0UYMGDZScnKzNmzdr7969Zv077rhDX375ZbaxTpkyRdu2bdPff/+t8+fPq127dmrRooXuuOMOXb58WStWrDC/yJSkL7/80mVf1L/33nuaM2eOzWuSG99++622bNmSYX9cXJwOHDigTZs2KSkpydzfqlUrvfvuu3mONy+qV6+uGTNm6Nlnn1VycrLWr1+vOnXqqE2bNqpRo4bi4uK0evVqRUVFmee0aNFC48aNK9A4b1avvfaaZs6cqXPnzunixYt64IEH1LhxY91xxx2yWCzme11Knd6sbNmy+uabbwo0xpSUFP3666/69ddf5enpqfr166t27doqWbKkrl69quPHj2vDhg3mF+Tu7u4uGbXqKOXKlVPr1q21du1aXb9+XQ0bNtQDDzygChUqmCNYa9Soof79++ep/ccee0zvvPOODMPQL7/8ogYNGqhVq1Y26yY9/fTTBTYS1JG++OILRUdH6/fff5dhGPr44481adIkhYSEqEaNGvLx8dHly5d1+PBh7dq1y/xsbNKkSb77fvzxx81RYG+//bZ+++033XnnneY0sJI0dOhQm7/Rs2fPVuvWrXX48GHFxsaqa9euqlWrlpo3by4vLy/t3btXGzZsMJOYxYoV03fffSc/P798xeqM+z4kJESVK1fWiRMndPr0adWtW1f333+//P39zdFuISEhNqN+83JOhQoV9OOPP6pjx46KiYlRdHS0nnzySZUtW1bNmzdXuXLllJKSovPnz2v37t06cuSIS5LA3bp10yeffKIdO3YoMTFRTzzxhBo3bqxGjRopOTlZO3fu1Pbt2yVJI0aM0OzZs3X8+PEs2+vZs6c+/fRTHThwQAkJCXruuec0ZswYNWzYUEWKFNHu3bvNv9cNGzZUhw4dcvw756zPGi8vL3333XcKDQ3VuXPndPr0ad1zzz1q2LCh+QOkv/76yxzRLUlly5bVd999V6A/sAEA4KZkAAAAFEKhoaGGJEOSMXz4cLvPO3v2rFGsWLFszx0+fLh5PDQ0NN+xent7m+1l9ShRooQxadIkIzk52a42V65cmWObmT3suZ6TJ08a9913X45tdezY0bhw4YJd8Z48edK45557sm3P19fXmDVrll3t2cv6fTJ9+nS7zhk0aFCG2Hr06JFl/SpVquTptejdu7dx5coVB11pKuv2V65cmW3dn3/+2ShXrlyOcXbr1s2Ii4vLdSyOvo9yo0ePHna9dtbvj5yeL2vr1q0z/P39s33eHn30UePSpUs2scyePTvHeLOqY2327NnZXl/nzp3tfh+WLVvWWLx4cab9HD161KxXpUqVfMeVniOfm61btxolSpTI12dfdt57771sn8f0sdnz3srt6279WXP06NFs6+bmtUtKSjLef/99o2jRona9Zzw9PY0BAwbkGG9Obty4YbRr1y7bvjK7ztOnT+f490SSUbNmTWPTpk35jjONo+97wzCMX375Jdv/I2R2H+XlHMMwjGPHjhnt27e3+7OhXLlyxm+//Zahndx+LhiG/e/dI0eOGNWrV88yJovFYgwdOtRISUmxq839+/dn254ko3Xr1kZUVJTN36zs/l+Z28+a3Hwu7t+/37jrrrtyfG0aN25sHDp0KNu2cvv3zd7rBwDgZsMIMgAAgFwICAhQ//799fHHH0uSPvvsM73++usqUaKE0/qMiIjQ8uXLFR4erqNHj+rs2bNKTExUuXLlVKtWLT3yyCN66qmnbpr1fypWrKjff/9dS5Ys0dy5c7V582ZFR0fLYrGoQoUK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GjRwWLISAAAAAAAAAAoKCbI8qlatmipWrChJWrVqVbZ10+ZPrVSpkqpWrWpz7O677za3s2tny5Yt5rSGrVu3znA8rZ39+/fr9OnTWbZj3Uf6dkJCQuTl5ZVjLImJidqwYUOGcyBtPnahQM+7mRiGoeHDhzusvVmzZmnXrl3m46+//tLSpUv1r3/9S56enkpMTFT//v21YsUKh/XpSJUqVbKJP/0j7fOjYsWK2dbLrRkzZmj48OFKSUlRjRo1NHPmTG3atEmLFy9Wu3btJEk///yzXnjhhRzbyiy2TZs26ZtvvlHbtm0lSYcOHVKnTp1s1iUEAAAAAAAAgJsdCbI8slgseuSRRySljqZKSxilt2HDBnO01SOPPJJhyrSwsDCVLFlSkvT111/LMIxM27Ge+q1Lly4Zjj/66KOZ1rV27do1ff/995JSR4vVrl3b5njx4sXVvn17SdLy5cuznGZx4cKFunLlSpaxFFYT/jigJz9fr+nhh3N13vTww3ry8/Wa8McBJ0XmfP7+/pKkRYsWadu2bQ5ps1q1aqpfv775aNiwoR544AF99tln5sgxwzA0fvx4h/TnaJ6enjbxp394enraVS83Ll26pMGDB0uSKleurA0bNqh3794KCQnRI488oj/++EMPPfSQJGnu3Llm8j431xASEqLu3btr5cqVCgsLkyQdPHhQixcvzt0TBAAAAAAAAAAuRIIsHwYNGiQPDw9J0sCBAzOsxRMfH6+BAwdKSp2KcNCgQRna8PLy0r/+9S9J0t69e/Xxxx9nqLN+/XrNnDlTkhQaGqqQkJAMdbp06aIaNWpIkj788ENzOkZrgwcP1sWLF83tzLz55puSUqd0HDBggJKTk22Ox8TEaMiQIZIkPz8/u0ahFAabj13QZ3+mTjM39rd9difJpocf1tjfUhOon/158JYdSfbqq6+a6+I5chRZVnr16mUm5TZu3Oj0/m4VX331lbmW4dixY83nKI27u7umTZsmd3d3ScpXctHNzc38vJB4HQAAAAAAAADcWgptgmzNmjWaM2eO+ViwYIF57NChQzbHshqRVbt2bfML4i1btqh169b63//+py1btuh///ufWrdurS1btkhKTUjVqlUr03YGDx5sjuZ666239OKLL2rlypXasGGDPvzwQ91///1KSkqSj4+PJk6cmGkbnp6emjRpktzc3HTlyhW1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m32sP3Zz8HB1AECBS0mR4i84r/27npMSr0kR/z8d3fIRqeXmL0obv/hnvyS1fSu1flxMzu2mpMhy7WrqtnuilM3aUjZ8SttfN5/efvttffHFF4qLi9OwYcO0YsWKPLd19OhRmxFLycnJOnPmjJYuXapp06ZJkurWravBgwfnO+7sfP7551q/PnVtuOeff15z5syRxWKRJDVp0kQPPfSQhg4dqjFjxujw4cMaPXq0xo4d69SYMhMZGamrV1PfH2XLllXbtm0zTHVpGIa2bt2q559/XkuWLNHcuXPl4ZH5n4G1a9fqyy+/lKenpz7//HPzmvPi7Nmz2r17t00cly5d0vr16zVhwgTFx8erRIkSmjhxYp77AAAAAAAAAG5GEVERNuUKxSqodqnaLooG1kiQofCJvyCNr1GwfUaMs02M5bQ/E26SSual78GHpWIFM59tQECAXnnlFY0dO1YrV67UypUr1a5duzy11bt37yyPlSxZUu+//74GDBigUqVK5TVcu0ydOlWS5O/vrylTpmSaKBo1apQWLlyoffv26auvvtKoUaPk7e3t1LjSu3Dhn6TvN998o4SEBNWrV0/jx483p1sMDw/Xm2++qf379+v7779XtWrV9NFHH2VoKzExUf369ZNhGHr99dd155135iu26dOna/r06Zkec3Nz04svvqhBgwapbt26+eoHAAAAAAAAuNmER4bblNsGts3Xj9HhOEyxCMChBg8erOLFi0uS3n//faf0cfnyZc2ePVsLFixwSvtpTp06pb1790qSunbtal5Xeu7u7uYUhBcvXtS2bducGldm4uLizO2EhAQFBQVpzZo16tSpk3x9feXr66vOnTtrzZo1qlixoiRpwoQJOnnyZIa2PvroI+3Zs0dVqlRx+npyKSkp+v777zVjxgwlJiY6tS8AAAAAAACgIJ2PP6+d53ba7AsLCnNNMMiABBkAhypTpowGDRokKXWavmXLluWpnZUrV8owDPORkpKiS5cuadWqVerSpYuOHDmifv366a233spw7tGjR7V79+5MH2fPnrU7ButpAZs3b55tXevj1ucVlCJFitiUhw4dqtKlS2eo5+/vr3fffVdS6kixhQsX2hzfv3+/xowZI0maMmWKihYtmu/Yhg8fbvNaGoaha9euaefOnRo8eLCuXr2qTz75RPfff7/i4+Pz3R8AAAAAAABw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rFXFVvJ093RJLKb0CbKqTK94syBBBgAAAAAAAAAAbmkJyQnaEL3BZl9YUJhrgklz9YwUs992XzUXT/kIEwkyAAAAAAAAAABwS9sYvVHxSfFm2c3ipjaVXDxa69hq27J3CalCQ9fEggxIkDlIYmKiZs6cqQceeEAVKlSQt7e3fH19VadOHfXu3VsbNmzIuRFJv/32mx577DEFBgbK29tbgYGBeuyxx/Tbb7/ZHcu1a9c0fvx4NWvWTKVLl5avr6/q1aunN998UydOnLC7nb///lsvvfSSatasKR8fHwUEBKht27b64osvlJSUZHc7AAAAAAAAAAA4U/r1xxoGNFSpIqVcFM3/y7D+WCvJ3cM1sSADXgkHiIyMVKdOnbRr1y6b/YmJiTpw4IAOHDig2bNn67XXXtMnn3wii8WSoQ3DMPTSSy/pyy+/tNl/8uRJLVq0SIsWLVK/fv30+eefZ3p+msOHD6tTp07av9922Oa+ffu0b98+zZgxQ/PmzVPHjh2zvaaZM2dqwIABSkhIMPddv35dq1ev1urVqzVnzhwtWbJEZcqUybYdAAAAAAAAAACcyTAMrYpaZbOvbWBbF0VjJX2CrNpNEBNMjCDLp6SkJJvkWIMGDTRnzhytX79ev//+u4YNG6ZixYpJkiZMmKCPP/4403bee+89Mzl211136bvvvtOmTZv03Xff6a677pIkffnll3r//fezjCU2NladO3c2k2N9+/bVn3/+qXXr1unf//63fH19dfnyZT355JPauXNnlu0sW7ZM/fr1U0JCgsqVK6dJkyZp48aNWrp0qR577DFJ0oYNG/TYY48pJSUll88YAAAAAAAAAACOs//ifp2OO22zLywwzDXBpLkUKV08aruvqounfIQNRpDl048//mgmx1q2bKnVq1fL3d3dPH7ffffp4YcfVsuWLXXjxg19+OGHeu211+Th8c9Tf+jQIY0bN06S1LRpU0VERMjHx0eSFBISoocfflihoaHasmWLxo4dq169eqlGjRoZYvn444+1b98+SdK4ceM0ePBg81jLli3Vrl07tW3bVteuXdOgQYO0YsWKDG0kJSXplVdeUUpKikqUKKG1a9fa9PXAAw9owIABmjZtmiIiIvTtt9/q+eefz89TCAAAAAAAAABAnoVHhtuUK/lWUg2/jN+hF6j064/5lJLK1XdNLMgUI8jyae3a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S5cWef/SpUu9q7YGDx5cqBPet29fVa1aVZL09ttvy3GcIueZPn269/OQIUMKfX/jjTcWeW1+aWlp+vDDDyWdWbmWkJBQ5HUAAAAAAAAAAPjaor1mIyoiOEKdaneylCafxMXmOL63nRwoERpklyEgIEDXXXedJGn//v169tlni7wuOTlZTzzxhHd8/fXXG9+PGzfOu6rsoYceUnp6uvF9enq6HnroIUlnVp+NGzeu0DNCQkL08MMPS5K2bNmil156qdA1P/30k6ZOnSpJ6tOnjzp37lzomiFDhqhx48aSpOeee867HWN+48ePV3JysvczAAAAAAAAAABuWbB3gTHuXq+7ggOD7YQ5Kzdb+uVHs0aDzK/RILtMf/7zn1W5cmVJ0tNPP60bbrhBn3zyidasWaOffvpJL7/8stq3b6/NmzdLkn7961/rmmuuMeZISEjQY489JunMFog9evTQBx98oJUrV+qDDz5Qjx49tHLlSklnGlJNmzYtMsv48eO9q7kef/xxjR49Wt9//72WLl2q5557Ttdcc41ycnIUFhamV155pcg5goOD9dprrykgIEAnT55Ujx499MYbb2j58uX68ssvdfPNN+vNN9+UdGY7xmHDhl3eDxAAAAAAAAAAgBLKyMnQsgPLjFrf2L52wuS3f62UddqsxXH+mD8LKv4SXEjz5s01e/Zs3XHHHTp69KjmzJmjOXPmFHntVVddpY8++qjI75599lkdPnxY//nPf7RmzRrdfvvtha4ZMWKE/va3v503S2RkpObOnauBAwdq+/btmjx5siZPnmxcU6VKFb377rtq3779eecZOHCgJk6cqAcffFCHDh3yrl7Lr0uXLvr0008VGBh43nkAAAAAAAAAAPCl5QeXKz3n3C5sAZ4A9azf02Ki/5NU4Pyxmi2kiFp2sqBEWEHmA1dffbW2bt2q559/Xn379lXNmjUVHByssLAwxcfH69Zbb9Vnn32mb775RtWqVStyjoCAAE2dOlVz587V4MGDVa9ePYWEhKhevXoaPHiwvvjiC7311lsKCLjwL1mTJk20Zs0aPf/88+rUqZOioqJUuXJlNWvWTI8++qjWr19faIvHoowcOVKrVq3SyJEj1ahRI4WGhqp69erq2bOnJkyYoB9//FE1atS4pJ8XAAAAAAAAAACXYuGehca4Xc12qhZa9N+7uyqxQIMsntVj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4AhWj52VuMgcx/exkwPllisryB555BH169dPd955p9avX6/Zs2dr2bJlmj59uvr166fMzEw99thjevPNN+U4jgICAvS73/1Ozz777AWbSv5gy5YtGjVqlPLy8tSrVy/NmTNHVatWLXTdQw89pKysrCLn2LFjh1544QVJUqdOnbRo0SLvyrnOnTvrhhtuUJ8+fbRy5Uo9//zzuvfee9W4ceNC87z00kvaunWrJOmFF17Q+PHjvd9169ZNV155pXr37q20tDSNGzdO3333XaE5cnJy9OCDDyovL09VqlTRjz/+aDyrf//+euCBB/Tmm29q0aJFeuedd3T33XdfxE8MAAAAAAAAALDrxC7NTzSP1rmrxV2qWqnw3y9XOKlHpUMbzVp8LztZUG65soJMklq2bKkVK1bod7/7naQzWw/2799fo0ePVseOHb3NsdjYWH3zzTd64YUX/L45Jp1pfGVmZqpGjRqaNWtWkc2xs0JCQoqsv/zyy94zvV5//fVC20pWrlxZr7/+uqQzDaxXXnml0BzZ2dl69dVXJUktWrTw/pzz69atm3d7y++//16rVq0qdM2nn36qHTt2SJL+8Ic/FNmIe/HFF1WtWjXvZwAAAAAAAADAxZmyfoqxeiw8OFzDWg6zmMiPJP1gjoPDpXod7WRBueVag0ySgoOD9eKLL+qbb75RbGysHMfRW2+9pS1btkiS7rjjDq1fv159+/Z1M9Yl27p1q7799ltJ0oMPPqgaNWpc9ByO42j27NmSpObNm6tr165FXte1a1c1a9ZMkvTZZ5/JcRzj+wULFiglJUWSNHz4cAUEFP1Le88993g/z5o1q9D3+c9Iy39tfpUrV9att94qSdq4caO2b99e5HUAAAAAAAAAgMKSTiTpi8QvjNqdze9k9dhZBbdXbNBVCip6AQpwqVxtkJ3VtGlTNWzYUB6PR5Lk8XhUpUoVjRo16oIrsPzNRx995P18yy23eD8nJydr+/btRZ6zVlBiYqL27dsnSerT58J7qJ79fu/evUpKSjK+W7x4caHritKpUyeFh4dLkn744YdC35+dp1mzZqpTp06xWc43DwAAAAAAAACgaFM2TFGek+cdhwWFsXosv6TF5ji+t50cKNdcb5B9+OGHateunX788Uc5jqOmTZvKcRydPHlSV199tf7whz94txv0d0uXLpUkVa1aVS1atNC7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vmfUrmt0nWKrxFpKdAFL/y0lLTZrbW6V2txsJw/KBcdxaJBVIK40yO666y51795djuPo7bffVqNGjfTQQw/pnXfe0ddff61vvvlG77zzjh566CE1btxYb7/9tiSpR48euvPOO92I6HOPP/64PB6P95+zDb8LmT9/voYOHaqYmBhVqlRJMTExGjp0qObPn1/i56alpenFF19Uly5dFB0drYiICLVo0UKPPfaYdu/eXeJ5Nm3apDFjxqhJkyYKCwtTzZo11bt3b02aNEk5OTklngcAAAAAAABA2TBj8wyl5aR5xwGeAP9cPXZwo/TtX81alRhp4It28qDc2JucrmOpWUaNBln5FeTGQzwej+bMmaPrrrtOS5cu1ZEjR/Tmm2/qzTffLHSt4ziSpG7dumn27NluxPO5devW6eWXXy7x9Y7jaMyYMZo8ebJR37dvnz799FN9+umnGjVqlCZOnCiPx3PeeXbu3KnrrrtO27ZtM+pbt27V1q1b9dZbb2nmzJkaOHDgBfNMnTpVDzzwgDIzM721jIwMLV68WIsXL9b06dP1+eefq3r16iX+bwQAAAAAAADgv05kntDMrTON2oD4AYqrGmcn0PlkZ0izRkm5+ZsYHmnIRCksylYqlBNrCqweiw4PUYPoynbCoNS5drJctWrV9MMPP+j1119XixYt5DhOkf+0aNFCb7zxhhYvXqxq1aq5Fc9n8vLyNHLkSOXk5KhWrVoluufJJ5/0Nsc6dOig9957T8uXL9d7773nPYNt8uTJ+tOf/nTeOU6fPq3rr7/e2xwbOXKkvv32Wy1ZskTPPvusIiIidOLECd1yyy1av379eef58ssvNWrUKGVmZqp27dp67bXXtGzZMs2bN09Dhw6VJC1dulRDhw5VXl5eif77AAAAAAAAAPi3d7a8o9Tsc0fjeOTRqLajLCY6j++ekQ5vMmvdH5Lie9nJg3JlXYEGWbuYqhdctIKyzZUVZGcFBATogQce0AMPPKADBw5o48aNOn78uCQpOjparVu3Vt26dd2M5HOvvfaaVqxYoebNm2vIkCF67rnnLnj9jh079MILL0iSOnXqpEWLFiksLEyS1LlzZ91www3q06ePVq5cqeeff1733nuvGjduXGiel156SVu3bpUkvfDCCxo/frz3u27duunKK69U7969lZaWpnHjxum7774rNEdOTo4efPBB5eXlqUqVKvrxxx+NZ/Xv318PPPCA3nzzTS1atEjvvPOO7r777ov/IQEAAAAAAADwGyezTurdze8atf5x/dWoaiNLic5j10LppzfMWu020lVP2smDcqfw+WNlbxEPSs61FWQF1a1bV/369dNtt92m2267Tf369SuyOfbJJ59YSHdp9uzZ413lNWHCBIWEhBR7z8svv+w90+v111/3NsfOqly5sl5//XVJZxpYr7zySqE5srOz9eqrr0qSWrRood/97neFrunWrZtGjBghSfr++++1atWqQtd8+umn2rFjhyTpD3/4Q5GNuBdffNG7su/FF9nTFwAAAAAAACjr3t3yrk5ln/KO/XL1WHqy9NlYsxZYSRo6WQqqZCcTypXs3Dxt3HfCqLWLrWopDdxgrUF2IY7j6N1331WrVq1022232Y5TYr/5zW90+vRpDR8+XH379i32esdxvOesNW/eXF27di3yuq5du6pZs2aSpM8++8x7TttZCxYsUEpKiiRp+PDhCggo+pf1nnvu8X6eNWtWoe8/++yzIq/Nr3Llyrr11lslSRs3btT27duLvA4AAAAAAACA/zuddVr/3fxfo9avYT81qdbEUqLzmPs76eQ+s3b101LtllbioPzZeuCUMnPMY4Xax0bZCQNX+FWDLCcnR1OnTlVCQoLuvvtubdmypVAzyF99+OGH+vzzzxUdHV3ilVWJiYnat+/MH+p9+vS54LVnv9+7d6+SkpKM7xYvXlzouqJ06tRJ4eHhkqQffvih0Pdn52nWrJnq1KlTbJbzzQMAAAAAAACgbJi5daZOZZ0yaqPbjbaU5jzWfyRtLLDTWHwf6YoxdvKgXFq7J9kYx9cIV1Tl4neJQ9lVag2y1NRUvfzyyxo4cKDatGmjDh06aMiQIZo5c6Zyc3ONax3H0bRp09SkSRONGjVKu3btkuM4CgkJ0ciRI0sros+kpKTokUcekSQ9//zzqlmzZonu27Jli/dz8+bNL3ht/u/z33cx8wQFBXm3TSw4x+nTp7V3797LzgIAAAAAAACgbEjNTtWMzTOM2tUNrlZCtQRLiYqQsufM6rH8QqtKN06QzrOTFnAp1u4xt1dk9Vj5F1Qak65fv14DBw7UgQMHCtX/97//acKECZo3b54iIiK0fft23XnnnVq9erWkM82y0NBQjRgxQk888YRiYmJKI6JPPf744zp4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UozzdbJeQWRVDMiIiIiIiIiIiIiIBiBTs8cCHQNx+/Db+76YE+8CN06J2yY+DIy7q+9rITIjKbtc9DzU1wkquRWWIqV+gQEZERERERERERER0QB0KvcUkouTRW1rwtdALpX3bSG5icChf4jbXIKABa/2bR1EHUi4US56PonLKw5pDMiIiIiIiIiIiIiIBhhBELAhaYOozd/BH4tGLOrbQrR1wK61gEHX3CaRAktiABsuXUf9hyAISMwqF7Vx/7GhjQEZERERERERERER0QBzOv80EosSRW1rwtdAIVX0bSEH/hcoThO3zXgeCJzat3UQdSCnvA7F1WpRWwQDsiGNARkRERERERERERHRACIIAjYkimeP+dr74s6QO/u2kCu/AGc2idt8JgKzX+7bOog6ofXsMRc7BYLd7axTDPULDMiIiIiIiIiIiIiIBpC4gjjEF8aL2laHr+7b2WO1pcC3T4nb5LbAks2AXNl3dRB1UlKrgCzC3wUSicQ6xVC/wICMiIiIiIiIiIiIaABpvfeYt7037gm5p+8KEATgh2eA6nxx+21/AzxH910dRF3A/ceoNQZkRERERERERERERANEXH4czuafFbWtnrAaClkfzh5L/Ay4+IO4beStwOTVfVcDURdo9Qak5FSI2iYGulinGOo3GJARERERERERERERDRAbkzeKnnvZeWHxqMV9V0BZJvDTS+I2Wzfg7g8ALldH/VRafhXqtQZRW4S/i3WKoX6DARkRERERERERERHRAJBQmIDTeadFbasmrIJS1kd7fhn0wK51gKZK3H7Xe4Cjd9/UQNQNrZdXDHK3g5s998ob6hiQEREREREREREREQ0Am5I2iZ572npi6eilfVfA8beBrN/EbZMeAULv7LsaiLqB+4+RKQzIiIiIiIiIiIiIiPq55KJknMg9IWpbOWElVDJV3xSQmwAc/pe4zTUYWPBq31yfqAeSGJCRCQzIiIiIiIiIiIiIiPq5jUnivcfcbdxx7+h7++bimlpg11rAoGtuk0iBxTGAyrFvaiDqpqp6La4UVYvaGJARwICMiIiIiIiIiIiIqF87X3wex3KOidoen/A4bOQ2fVPAgf8Bii+L22b+EQi8qW+uT9QDydkVEITm5wqZBKE+TtYriPoNBmRERERERERERERE/VjrvcfcbNywbPSyvrl4+i/A2c3iNt9JwOyX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REREREREREREvay8vhyfX/pc1LZoxCIEOAVY9kI//wUozRC3zX4R8I+27HWI+pkk7j9GXcSAjIiIiIiIiIiIiKiX7biwA7W62qbnUokUa8PXWvYiafuAcx+J2/yigZl/sux1iPoZQRCQyICMuogBGREREREREREREVEvqlBX4LNLn4naFg5fiCCnIMtdpLoI+P5pcZvCDlgSA8jklrsOUT+UV1GPwiq1qC2CARl1gAEZERERERERERERUS/69OKnqNHWND2XQII14Rbce0wQgO9/D9QUidsX/AtwD7HcdYj6qdazx5xs5Bjubm+dYmjAYEBGRERERERERERE1EsqNZXYeWGnqG3B8AUY4TzCcheJ/xi4/JO4bcxCIPIxy12DqB9rHZBFBLhAKpVYpxgaMBiQEREREREREREREfWSnRd3okpb1fRcAgnWhllw77GSDGDfn8Vt9p7Ane8BEgYENDS0DsgmcXlF6gQGZERERERERERERES9oFpTjU8ufCJqmxc0DyNdR1rmAnodsGstoK0Vt9/1H8DB0zLXIOrndHoDUrIrRG0TA12sUwwNKAzIiIiIiIiIiIiIiHrBZ5c+Q5WmStS2LmKd5S5w7A0gJ07cFvU4MGaB5a5B1M9dLqhGnVYvaovwd7FOMTSgMCAjIiIiIiIiIiIisrAabQ12XNghars18FaMdh1tmQtkxwFH/i1ucwsB5v/DMuMTDRCtl1cMcLOFu4PKOsXQgMKAjIiIiIiIiIiIiMjCPr/0OSrU4mXfLDZ7TF0N7FoDCC1mzUhkwJLNgNLeMtcgGiASs8pEzycGuFqpEhpoGJARERERERERERERWVCtthY7UsWzx24JuAVj3cZa5gL7/wKUXhW3zX4J8I+yzPhEA0hSVqv9xwJcrFMIDTgMyIiIiIiIiIiIiIgs6Mu0L1GmFs9qeSLiCcsMfmkvcG67uM1/MjDzj5YZn2gAqVbrcLlQvM8fAzLqLAZkRERERERERERERBZSp6vD9tTtorbZ/rMxzn1czwevLgS+/724TWEPLN4EyOQ9H59ogEnOLocgND+XSyUY7+tkvYJoQGFARkRERERERERERGQhsWmxKK0vFbVZZPaYIBjDsdpicfuCfwHuIT0fn2gASswqFz0P9XGCjUJmnWJowGFARkRERERERERERGQB9bp6fJT6kahtht8MTPCY0PPBz30EXN4nbhuzEIhc3vOxiQaoxBvloudcXpG6ggEZERERERERERERkQV8k/4NiuvEM7wsMnus+Arw81/EbfZewF3vAxJJz8cnGoAEQWgzg4wBGXUFAzIiIiIiIiIiIiKiHlLr1diWsk3UNt13OiI8I3o2sF4L7F4LaGvF7Xf/B7D36NnYRANYfmU9CqvUoraJgS7WKYYGJAZkRERERERERERERD20K30XCusKRW3rI9b3fOCjrwM558Rt0SuB0fN7PjbRANZ6eUUnGzmGu9tbpxgakBiQEREREREREREREfWARq/B1pStorabfG7CRK+JPRs46yxw9A1xm/tI4La/92xcokGg9fKKEQEukEq55Ch1HgMyIiIiIiIiIiIioh749sq3KKgtELU9Ed7DvcfU1cCuNYCgb26TyoElMYCSs2SIErj/GPUQAzIiIiIiIiIiIiKibtLqtdiSskXUNtl7MqK9o3s28M9/BsquidtmvwT4RfVsXKJBQKc3ICW7QtTGgIy6igEZERERERERERERUTd9l/Ed8mryRG09nj12aS8Qv0Pc5j8FmPGHno1LNEikF1ajTqsXtTEgo65iQEZERERERERERETUDVpD29ljkV6RmOw9ufuDVhUA3z8tblM6AEs2ATJ598clGkRa7z8W4GYLdweVdYqhAYsBGREREREREREREVE3/JjxI3Kqc0RtT0Q8AYlE0r0BBcEYjtWWiNsXvAq4jehmlUSDT+KNctHzCH8Xq9RBAxsDMiIiIiIiIiIiIqIu0hq0iEmOEbVN9JyIqT5Tuz9o3DYgfb+4bewdwKRHuj8m0SDUegYZl1ek7mBARkRERERERERERNRFe6/uRXZ1tqitR7PHitOBn/8ibrP3Au58F+jumESDULVah8uFVaK2SYEu1imGBjQGZERERERERERERERdoDPosDlls6gt3CMc032nd29AvRbYtQbQ1Ynb7/kQsPfoZpVEg1NKdgUEofm5XCrBeF9n6xVEAxYDMiIiIiIiIiIiIqIu+OnaT7heeV3Uti5iXfdnjx35N5CbIG6bvBoYNa+bFRINXq2XVwz1cYKNQmadYmhAY0BGRERERERERERE1El6g77N3mPj3cdjpt/M7g2YdQY49oa4zX0UMO9v3ayQaHBLzCoTPef+Y9RdDMiIiIiIiIiIiIiIOunnzJ+RWZkpauv23mPqKuPSioKhuU0qB5bEAEq7nhVKNEi1nkEWwYCMuokBGREREREREREREVEnGAQDNiVvErWFuoVitv/s7g24789AWaa4bc7LgF9k98YjGuTyKupQUKkWtXEGGXUXAzIiIiIiIiIiIiKiTth/fT+uVlwVtXV777GLPwIJn4jbAm4Cbn6+BxUSDW6JN8pFzx1t5BjhYW+dYmjAY0BGRERERERERERE1AGDYMCmJPHssdGuo3FLwC1dH6yqAPjhGXGb0gFYvAmQyXtQJdHglphdLno+McAFUmk3AmoiMCAjIiIiIiIiIiIi6tDBGwdxpfyKqO2JiCcglXTxFqsgAN89BdSWiNtvfw1wG97DKokGt9YzyLi8IvUEAzIiIiIiIiIiIiKidhgEAzYmbRS1jXQZibmBc7s+WNxW4MoBcdvYO4CJD/egQqLBT28QkJJTIWqL8HexTjE0KDAgIyIiIiIiIiIiImrHoaxDuFx2WdS2LmJd12ePFacDP/9V3OYwDLjzPaA7+5gRDSGXC6pQq9GL2iYGulinGBoUGJARERERERERERERmSEIQpu9x0Y4j8C8wHldG0ivBXatAXR14va7PwTs3XtYJdHgl5hVLnru72oLDweVdYqhQYEBGREREREREREREZEZR7OP4mLpRVHbuvB1kEllXRvoyGtAboK4bfIaYNStPayQaGhIahWQcf8x6ikGZEREREREREREREQmCIKADUkbRG3BTsGYHzy/awPdOA0ce1Pc5jEamPf/elgh0dDRegYZAzLqKQZkRERERERERERERCYczzmO1JJUUdva8LVdmz2mrgJ2rwUEQ3ObVA4s2Qwo7SxUKdHgVqPW4XJBlaiNARn1FAMyIiIiIiIiIiIiolYEQcDGpI2itkDHQNw+/PauDbTvZaAsU9w258+A78Qe1Uc0lCRnV8AgND+XSyWY4OdsvYJoUGBARkRERERERERERNTKqdxTSC5OFrWtDV8LuVTe+UEufA8kfCpuC5gKzHjeAhUSDR2tl1cc6+MIG0UX9wEkaoUBGREREREREREREVELpvYe83fwx6IRizo/SFU+8MOz4jalI7BkE9CVJRqJCEncf4x6AQMyIiIiIiIiIiIiohZO559GYlGiqK1Ls8cEAfjuKaCuVNx++2uAa7BFaiQaSlrPIJsY4GqdQmhQYUBGREREREREREREQ0Z8QXy7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5OuuA13Ovn37JEk9e/bUJZdcoilTpqh3796yWq1as2aN/vrXv2rfvn169dVXVVdXp9dff93juRh/QNulp6dr+vTpGjt2rNLT05Wamiqbzab8/Hy98847Wrx4sQoKCnTuuedq7dq1GjlyZLNzMPYA37DZbLr22mtVV1en5ORkHT58uNVjGH9A+82ZM0c33nijx/ejo6M9vsfYA9rvlVde0dVXXy2bzabk5GTNmTNHkydPVkJCgg4ePKgdO3bo/fffV2hoqMdzMAbhd52d0AHwbNq0aXZJ9pCQEPvq1aubvf/44487n5Z48MEHO6GHQNdz//33299//337wYMH7Xa73b5r1642zyDbtm2b84nfcePG2SsqKhq9X15ebh83bpxz/G7fvt3XPwbQ5Zx99tn2N998015XV+f2/SNHjtgHDRrkHI8rV650247xB7Sdp3Hn6t1333WOvwsvvLDZ+4w9wHfmzZtnl2QfMmSI/d577211BhnjD2gfx9h64IEH2nU8Yw9ovx9++MEeHh5ul2SfMmWK/dixYx7belpBhDGIjkANMiBArV271rkG/ezZszVx4sRmbe644w4NHTpUkvTkk0+qtra2I7sIdEkPPvigzjnnHKWkpLT7HPPmzVNdXZ0k6emnn1ZkZGSj96OiovT0009Lkurq6vTkk0+2+7OAE8UHH3ygSy+9VBaLxe37SUlJ+utf/+r8/p133nHbjvEHtJ2ncefq/PPP15AhQyRJK1eubPY+Yw/wjb179+qPf/yjJGnBggUKCwtr9RjGH9A5GHtA+918882qrq5WUlKSFi9erLi4OI9tPf0uZAyiIxCQAQHqvffec+5fffXVbtuYzWb9+te/liQVFRV5VdQZwPGx2+36z3/+I0kaMmSIJkyY4LbdhAkTNHjwYEnGeLbb7R3WR6Crci2QvmPHjmbvM/4A/3IsMVVVVdXodcYe4Ds33nijysrKdOWVVzb6vecJ4w/oHIw9oP22bt2q5cuXS5JuuukmJSUltfkcjEF0FAIyIEB98cUXkowbFWPHjvXYLisry7m/atUqv/cLCHa7du1y1lJyHX/uON7Pz8/X7t27/d01oMurqalx7pvNzS9TGX+A/2zZskXr16+XJOdMMgfGHuAbb731lj744AMlJCToiSee8OoYxh/QORh7QPu9/fbbzv1LLrnEuV9UVKRt27apsLCw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nnpKN910U2d3q9PU1dXpnHPOcYZjs2bN0pw5c5Senq49e/Zo/vz5+vjjj1VYWOiTz/vXv/6lgoICSdK5557rk3MCAAAA8A8CMgAAAAA4AWzYsEHPPPOMCgsLZTKZ9I9//EPXXnttZ3erUy1YsEDr1q2TJF133XX6xz/+4Xxv7NixuuCCCzR79my99NJLXp9z165dzjpjkmS1WnXo0CEtWbJE8+fPlyQNGTJEd955p49+CgAAAAD+QEAGAAAAACeA9957z7k/f/78oA/HJCMgk6SUlBTNmzfPbZu///3vev/993XkyBGvznnNNdd4fC8uLk5//OMf9dvf/lbdu3dve4cBAAAAdBhzZ3cAAAAAAHD8TCaTc/+///2vampqOrE3nW///v3asmWLJOnSSy9VVFSU23YxMTG69NJLffKZxcXFevnll/XOO+/45HwAAAAA/IeADAAAAABOAHPmzNHJJ58sSVqyZIl+8YtfqK6urpN71Xk2bdrk3B8/fnyLbU855RSvz7tixQrZ7XbnZrPZdOzYMeXk5OiCCy7Qzp07dd111+muu+5qd98BAAAA+B8BGQAAAACcAHr06KFly5ZpwIABkqTFixfryiuvlM1m89tnus5a85bdbvdDT5orKipy7icnJ7fYNiUlpd2fYzKZFBcXp6lTp2rx4sW6/PLLJUlPPPGEPvvss3afFwAAAIB/EZABAAAAwAkiNTVVn332mfr06SNJev3113Xttdf6LZSKjIx07ldUVHh1THl5uSQpOjraL31ycP2ZWwvyfPnf584773Tuv/jiiz47LwAAAADfIiADAAAAgBNIenq6li9frp49e0qSXnrpJd1yyy1++ayEhATn/sGDB706xtHO9Vh/cD3/oUOHWmx7+PBhn33ukCFDnPuuyzwCAAAACCwEZAAAAABwgunfv7+WL1/uXFrwmWee8UtNrJEjRzr3c3NzW21/6NAh7du3r9mx/jBixAjn/tq1a1ts29r7beFa9622ttZn5wUAAADgWwRkAAAAAHACGjJkiJYuXeqcSfXEE09o7ty5Pv2MMWPGOM+/ePFiVVVVtdj+tddec+6ffvrpPu1LUz179tTQoUMlSW+//bYqKyvdtisvL9dbb73ls891DdvS09N9dl4AAAAAvkVABgAAAAAnqJEjR+qTTz5RbGysJOnBBx/U448/7rPzh4aG6rrrrpMkHThwQLfddpvHel6bNm3Sn/70J0lSTEyMrrrqKp/1w5M5c+ZIMpZ1vOOOO9y2uf322322xGJ1dbXuv/9+5/dnnXWWT84LAAAAwPdCOrsDAAAAAAD/GTdunD766COdccYZKi8v1913362oqCjddNNNPjn/H/7wB/3nP//Rli1b9I9//EPr1q3T7NmzNWLECEVEROjAgQNaunSpnn/+eVVUVEiS5s+fr+7du/vk81syZ84cvfzyy1q3bp0WLFigXbt26YYbblB6err27t2r+fPn69NPP9X48eO9XmZx165dSkpKavRaSUmJ1q9fr/nz5+v777+XJA0YMEDXX3+9z38mAAAAAL5BQAYAAAAAJ7hJkybpv//9r84++2xVVVXplltuUWRkpGbPnn3c546Ojtby5ct18cUXa/Xq1frmm2/0zTffuG0bERGhZ555RldcccVxf643QkJC9MEHH2jGjBn68ccf9fHHH+vjjz9u1GbWrFm64447dMYZZ3h1zmuuuabVNqNGjdJ7772nyMjIdvUbAAAAgP+xxCIAAAAABIEZM2Zo8eLFCgsLk91u13XXXdeoJtjxSE1N1apVq/Tf//5Xv/rVr9S/f3/FxMQoNDRUPXr00OTJkzV37lzt2rXLJ6FcW/Ts2VPr1q3TQw89pOHDhysyMlLx8fGaMGGC5s+fryVLligsLOy4PiMqKkoZGRm68MIL9frrr+vbb79VRkaGb34AAAAAAH5hsntaIB4AAAAAgACzcOFCXX311ZKM5Q67chC1e/du9e3bV5L08ssvd0hdNgAAAAAGllgEAAAAAHRJP/30k8rKyiRJaWlpio+P79wOeeHYsWPKz8+XJO3fv7+TewMAAAAELwIyAAAAAECX5Fo3rKvMwHrvvfecM+AAAAAAdB5qkAEAAAAAAAAAACCoUIMMAAAAAILU5s2b23VcV1nOEAAAAAA8ISADAAAAgCBlMpnadVxXWc4QAAAAADxhiUUAAAAAAAAAAAAElZDO7gAAAAAAoHOwoAgAAACAYMUMMgAAAAAAAAAAAAQVAjIAAAAAAAAAAAAEFQIyAAAAAAAAAAAABBUCMgAAAAAAAAAAAAQVAjIAAAAAAAAAAAAEFQIyAAAAAAAAAAAABBUCMgAAAAAAAAAAAAQVAjIAAAAAAAAAAAAEFQIyAAAAAAAAAAAABBUCMgAAAAAAAAAAAAQVAjIAAAAAAAAAAAAEFQIyAAAAAAAAAAAABBUCMgAAAAAAAAAAAAQVAjIAAAAAAAAAAAAEFQIyAAAAAAAAAAAABBUCMgAAAAAAAAAAAAQVAjIAAAAAAAAAAAAEFQIyAAAAAAAAAAAABBUCMgAAAAAAAAAAAASV/w/iAzpyGWQUTQAAAABJRU5ErkJggg==", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABsgAAARGCAYAAACVGDVmAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdd1gUV9sG8HvpCNKxgqAUQcWCIiI21MREjS2W2Hvsb4yJNYliLIkmMUZjicaAPZbEEktMLNgVsKOiqCgWLCCK9LLz/cG3k11YtsAuq3L/rovLKWfOeXZ3ZsB95pwjEQRBABEREREREREREREREVE5YWToAIiIiIiIiIiIiIiIiIjKEhNkREREREREREREREREVK4wQUZERERERERERERERETlChNkREREREREREREREREVK4wQUZERERERERERERERETlChNkREREREREREREREREVK4wQUZERERERERERERERETlChNkREREREREREREREREVK4wQUZERERERERERERERETlChNkREREREREREREREREVK4wQUZERERERERERERERETlChNkREREREREREREREREVK4wQUZERERERERERERERETlChNkREREREREREREREREVK4wQUZERERERERERERERETlChNkREREREREREREREREVK4wQUZERERERERERERERETlChNkREREREREREREREREVK4wQUZERERERERERERERETlChNkRERERESkF0OGDIFEIoFEIkF4eLihwyEiA3tT7wlt2rQR446IiDB0OERkIOHh4eK9YMiQIYYOh4iIdIAJMiIiojeU/JdMyn6srKxQvXp1tG3bFl9++SXi4uI0rlv+P3/a/EycOFFlvS9fvsQPP/yAd955B9WqVYO5uTmcnZ3h7++PL774Ajdv3tTqPcjIyMDJkyexePFi9O/fH7Vr14aRkZEYT2hoqFb1KXP+/HlMmzYNTZo0QdWqVWFubo5q1arB398fw4YNw/r16/H48WON6zt06BAGDRoEb29vWFlZwcHBAfXr18fkyZMRGxtb6ngLkz9PVP1H/u7duyX6zFX9yH/5GRoaWuJ63N3ddfJeKDuve/TooVUdV69e1Vt8pJ78l9QSiQQ1atRAdna2RsdOmzZNo2vB3d1d5floZGQEW1tbeHt7o3fv3ti4cSOysrJ0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b10iIiIiIiIiIiIiIiKit4iRoQMgIiIiIiIiIiIiIiIiKktMkBEREREREREREREREVG5wgQZERERERERERERERERlStMkBEREREREREREREREVG5wgQZERERERERERERERERlStMkBEREREREREREREREVG5wgQZERERERERERERERERlStMkBEREREREREREREREVG5wgQZERERERERERERERERlStMkBEREREREREREREREVG5wgQZERERERERERERERERlStMkBEREREREREREREREVG5wgQZERERERERERERERERlSsmhg6AqLCsrCxcuXIFAODs7AwTE56mRERERERERERERETlVV5eHp49ewYA8PPzg4WFRanrZOaBXjtXrlxB06ZNDR0GERERERERERERERG9ZiIjIxEQEFDqejjEIhEREREREREREREREZUr7EFGrx1nZ2dxOTIyElWrVjVgNK+PzMxMHDt2DADQqlUrWFpaGjgiovKD1x+RYfDaIzIcXn9EhsPrj8gweO0RGQ6vP9JEYmKiOPKcfA6hNJggo9eO/JxjVatWhYuLiwGjeX1kZmbCyckJAODi4sJfFERliNcfkWHw2iMyHF5/RIbD64/IMHjtERkOrz/SlnwOoTQ4xCIRERERERERERERERGVK0yQERERERERERERERERUbnCBBkRERERERERERERERGVK0yQERERERERERERERERUbnCBBkRERERERERERERERGVK0yQERERERERERERERERUbnCBBkRERERERERERERERGVK0yQERERERERERERERERUbnCBBkRERERERERERERERGVK0yQERERERERERERERERUbliYugAiPQlKysLL168QEZGBvLz8w0dTqlJpVI4OjoCABISEmBkxPw2UVlRdf0ZGxvDzMwMNjY2sLa25rVJRERERERERET0BmCCjN46giAgMTERL1++NHQoOiUIAiwtLQEA+fn5kEqlBo6IqPxQdf3l5eUhOzsbr169gkQiQfXq1VGxYkVDhUpEREREREREREQaKLcJsqdPnyIyMhKRkZGIiopCVFQUkpOTAQCDBw9GeHi4VvX9/fffWLVqFSIjI/Hs2TM4OzujadOm+Pjjj/Hee+9pVEdGRgaWLVuGbdu24datW8jJyYGrqys6deqE//3vf6hRo4ZG9Vy9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BwcjMzMT7777LmbMmIGQkBBkZmbi999/x6pVqwAUDPv42Wefqa3v5s2bSEtLE9cFQcCLFy9w9uxZLF26FAkJCQAKPquuXbvq50URERERERERERERgILkmGzuMXkejQNx+9xZAP/NTcbhFnWLCTIiHQhwd8An7bzw06E4jZJjMvJJsk/aeb2RyTEA2LVrF3bt2qW2XFhYmM4SZH5+fhqV27Fjh8JQhW+aRo0aYcuWLRgwYABSU1MxY8aMImW8vb2xd+9ejRKBHTp0UFsmJCQE27dvh0QiKVHMREREREREREREpF5xyTEAaDdiDKrV9hX3M0mme0yQEenIp+94o4WXk9ZJrjFtPN7YnmNUNj744ANcvnwZP/30E/bu3YsHDx7AzMwMnp6e6NWrF8aPH48KFSqUuH5ra2tUrVoVAQEB6Nu3Lzp16sTkGBERERERERERkR6pSo5V9fZBRQcnMRnGJJl+MEFGpEMlTXK9icmxNm3aQBCEMj0+IiKixO1py93dvcxfnypubm5YtGgRFi1apPWx4eHhGg2BSURERERERERERPpXODlmYmaOvJxscd27aXNxmUky/TEydABERERERERERERERETlwYPYqwrJsXpt31VIjgGAV2BzhfWmXXuiZb8h4vrxTeF4EHtVn2GWC0yQERERERERERERERERlQEXn7oI6tkXANCy3xAYGysO9Fe5lidsK1Upcpx8kiyoZ1+4+NTVe6xvOw6xSEREREREREREREREVEaa9+qPGn4NUc3bB6vGDFHY59W0ufKDUJAkq1bbl8kxHWEPMiIiIiIiIiIiIiIiojLk4lMXj25cR/qLFIXtXoHBao8j3WCCjIiIiIiIiIiIiIiIqIzFnT2lsO7k6gaHatUNFE35wwQZERERERERERERERFRGRIEAXGRpxW2eQUWP7wi6R4TZERERERERERERERERGXo8e2beJX8TGGbuuEVSbeYICMiIiIiIiIiIiIiIipDhYdXtK9aHU6ubgaKpnxigoyIiIiIiIiIiIiIiKiMCIJQJEHmFdgcEonEQBGVT0yQERERERERERERERERlZFn9+Lx4kmiwjZvDq9Y5pggIyIiIiIiIiIiIiIiKiNxZ08qrNs4V0almh4Giqb8YoKMiIiIiIiIiIiIiIiojNwsPLxi0yAOr2gATJARERERERERERERERGVgeQH9/H84X2FbV4cXtEgmCAjIiIiIiIiIiIiIiIqA4WHV7S2d0A1r9oGiqZ8Y4KMiIiIiIiIiIiIiIioDNwslCDzbNocEiOmagyB7zoREREREREREREREZGevXiciGf34hW2eQc2N1A0xAQZERERERERERERERGRnhXuPWZpY4vqvnUNFA0xQUZERERERERERERERKRncZGnFNY9A5rByMjYQNEQE2RERERERERERERERER6lJr0DI9v3VTY5h0YbKBoCGCCjIiIiIiIiIiIiIiISK9uFeo9ZmFlDde69Q0UDQFMkBFRCUVEREAikUAikSA0NFRpmdDQULFMSX+GDBki1temTRutj3/x4kWJXt/du3cV6jEyMsK9e/c0Otbb21vh2PDw8BLFUFhSUhIWLlyI4OBgVKlSBebm5qhWrRoCAwMxefJknD59Wqv6MjIyUKtWLTFOd3d3leVVvc+WlpZwdXXFBx98gPXr1yM/P78Ur5SIiIiIiIiIiOjtUnj+MY8mgTA2MTFQNAQAfPeJiDQgCAI2btyIGTNmqCx35swZxMXF6bz9bdu2YcyYMUhOTlbYnpiYiMTERERGRiIuLg47d+7UuM6ZM2ciPj5eJ/FlZWXhwYMHePDgAfbs2YMlS5Zg3759cHZ21kn9REREREREREREb6r0Fyl4eOO6wjavwOYGioZkmCAj0qV7pwG3oLI77jU3duxY9OzZU+m+qKgoDBs2DAAwZswYjB07Vmk5e3t7pduvXLmiUQw2NjYalVPFwsICWVlZWL9+vdoE2fr16xWO0YV169Zh6NChkEqlqFSpEsaMGYMWLVrAwcEBjx8/xu3bt/HXX3/B1NRU4zovXLiAxYsXw8LCAqampnj16pXGxzZp0gRhYWEK29LS0hATE4Off/4Zly5dQnR0NHr27ImjR49qXC8REREREREREdHbKC7yNCAI4rqphSXc/BoZMCICmCAj0p0j3wBHvwXahwItPtX8uBM/AgdDgdbTgJDp+orOICpVqoRKlSop3ZeUlKRQrl69elrVrW350ujSpQu2bt2K2NhYREdHo0mTJkrL5ebmYsuWLQCArl27isulcf36dXz88ceQSqVo2bIl/vrrL9ja2hYpN2HCBOTk5GhUZ35+PkaOHIn8/HzMmjULa9as0SpBZmVlpfT9b9asGfr164fGjRsjNjYWx44dw9mzZxEY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wys6utSAQzUXA0VDmmCCjIiIiIiIiIiIiIiIqIQEQUBcoeEVvTi84muPCTIiIiIiIiIiIiIiIqISenI7Dq+Snils827GBNnrjgkyIiIiIiIiIiIiIiKiErpZqPeYfdVqcHJ1M1A0pCkmyIiIiIiIiIiIiIiIiEpAEATEnT2psM2raXNIJBIDRUSaYoKMiIiIiIiIiIiIiIioBJ7di8eLx4kK2zj/2JuBCTIiIiIiIiIiIiIiIqISiCs0vKKNcyVUruVpoGhIG0yQERERERERERERERERlUDcWcUEmVfTIA6v+IZggoyIiIiIiIiIiIiIiEhLyQ/vI/lBgsI2r8AWBoqGtMUEGRERERERERERERERkZYK9x6ztndANa/aBoqGtMUEGRERERERERERERERkZZunj2psO7ZNAgSI6Zd3hT8pIiIiIiIiIiIiIiIiLTw4sljPLt7R2GbV9NgA0VDJcEEGRERERERERERERERkRbiCvUes6xoAxffugaKhkqCCTIiIiIiIiIiIiIiIiItFJ5/zDOgGYyMjQ0UDZUEE2REREREREREREREREQaepWchMRbNxS2eQdyeMU3DRNkREREREREREREREREGoqLVOw9Zm5lBdd69Q0UDZUUE2REREREREREREREREQaunlGcf4xj8aBMDYxNVA0VFJMkBFRiUREREAikUAikSA0NFRpmdDQULFMSX+GDBki1temTRutj3/x4kWJXt/du3cV6jEyMsK9e/c0Otbb21vh2PDw8BLFAABPnz7Fnj17MHPmTLz//vtwcnJS+t5o6u+//0aPHj3g4uICc3NzuLi4oEePHvj777/VHpuQkIAVK1agT58+qF27NqysrGBhYQEXFxd07doVmzdvRl5eXgleZYHevXsrvG93794ttqyqc8HU1BTOzs5o3bo1Fi5ciJSUlBLHREREREREREREJC/9RQoe3rimsM2Lwyu+kUwMHQAR0ZtAEARs3LgRM2bMUFnuzJkziIuL01m7lStX1kk9giBg9OjRWLVqlcL2hw8fYseOHdixYwc+/vhjrFy5EhKJpMjxM2fOxNy5cyEIQpF9Dx8+xMOHD7F7924sWrQIf/zxB2rUqKFVfHv37sW2bdu0e1HFyMvLQ1JSEo4dO4Zjx45h0aJF2LlzJ5o1a6aT+omIiIiIiIiIqPy6FXUakPuOzNTCEu71GxkwIiopJsiIdOj8k/Pwr+xfZse97saOHYuePXsq3RcVFYVhw4YBAMaMGYOxY8cqLWdvb690+5UrVzSKwcbGRqNyqlhYWCArKwvr169XmyBbv369wjG65OrqCl9fX/zzzz9aH/vll1+KybFGjRphypQp8PDwwO3bt7Fw4UJcuHABq1atgrOzM+bOnVvk+EePHkEQBFhZWaF79+5o164dvLy8YGFhgevXr2PJkiWIiopCdHQ02rdvj/Pnz8Pa2lqj2NLS0sTPv1KlSnj69KlWr63wuZCTk4M7d+5g/fr12L17N548eYJOnTrhxo0bcHJy0qpuIiIiIiIiIiIieTfPKs4/Vss/ACZmZgaKhkqDCTIiHVl+cTlWXFqBif4TMdxvuMbHrbmyBovPL8aYBmMwtqHyJNGbqlKlSqhUqZLSfUlJSQrl6tWrp1Xd2pYvjS5dumDr1q2IjY1FdHQ0mjRporRcbm4utmzZAgDo2rWruFwaM2fOREBAAAICAlC5cmXcvXsXNWvW1KqOW7duYeHChQCAJk2a4NixY7C0tAQABAQEoEuXLmjdujWio6OxYMECDB06FB4eHgp1ODo6YsGCBRgzZgwqVqyosK9x48bo27cv+vXrh61btyIuLg4//vgjvvrqK43i+/LLL5GQkIB27drBxcUFa9eu1er1KTsX/P390bNnTwwePBjr1q3D8+fPsWbNGkydOlWruomIiIiIiIiIiGQyX6Xi/tXLCtu8A5sbKBoqLc5BRqQD55+cx4pLKwAAi88vxporazQ6TpYcA4AVl1bg/JPz+gqRSsHX11dMisl6iCmzb98+JCcnw8zMDL1799ZJ27Nnz0bnzp1LNdTijz/+KM4NtnTpUjE5JlOhQgUsXboUQMHwhIsXLy5Sx4IFCzBlypQiyTEZY2NjLF++HGb//7TM9u3bNYotOjoaP//8M8zNzbF8+XJNX5LGpkyZIi6fPXtW5/UTEREREREREVH5cTv6LASpVFw3MTNHzYbKH6an1x8TZEQ64F/ZHxP9J4rrmiTJ5JNjADDRf+JbOczi22LgwIEAgM2bN4vJpsLWrVsHAOjUqRMcHBzKLDZVBEHArl27AAA+Pj7FzsPVrFkz1K5dGwCwc+dOpXONqePo6Ij69esDAG7fvq22fF5eHkaOHIn8/HxMmzYN3t7eWrepjru7u7is6yEviYiIiIiIiIiofLl59qTCunsDf5haWBgoGiotJsiIdGS433CNk2TKkmPaDMtIZa9v374wMTHBs2fPcODAgSL7U1JSsHfvXgD/JdNeB/Hx8Xj48CEAoHXr1irLyvY/ePAAd+/eLVF72dnZAAAjI/W/XhYtWoSLFy/Cy8sL06dPL1F76si/jho1auilDSIiIiIiIiIievtlZ6Tj3uWLCts4vOKbjQkyIh3SJEnG5NibydnZGR06dACgfJjFrVu3Ijs7G/b29ujUqVNZh1es69evi8s+Pj4qy8rvlz9OU0+fPhWPU9dWfHw8Zs+eDQBYvnw5zM3NtW5PE99//7243KVLF720QUREREREREREb7875yIhzf9vZCkjYxPUatzUgBFRaZkYOgCisiYVpHiR/UJv9Xf36o7MvEz8cvkXAAVJssy8TPTz7YdN1zeJ2wFgVP1R6O7VHc+znqutVyqV4lX2KwBAXlaeRj10AMDO3A5GkrcvFx4TE6O2jL29PapXr66zNgcNGoS9e/di9+7dSE1NhY2NjbhPljTr06ePOA/X6+D+/fvisouLi8qyrq6uSo/T1HfffScOP6luDrbRo0cjIyMDffv2Rfv27bVuS17hcyEnJwd3797Fhg0bsGPHDgBAz5490bFjx1K1Q0RERERERERE5dfNs6cU1t0bNIJ5BSsDRUO6wAQZlTsvsl+g9RbVQ83p2i+Xf1FIjKnbrktH+xyFg8XrMR+WLvn5+aktM3jwYISHh+uszS5dusDW1hYvX77EH3/8gaFDhwIA7ty5g5MnC8Yffp2GVwSAV69eicvW1tYqy1pZ/fcLPS0tTat2zp49i8WLFwMoSMSNHTu22LIbNmzAP//8A1tbWyxatEirdpRRdS54e3tjypQp4mdFRERERERERESkrZysTNy9eE5hm1dTDq/4pnv7upUQEemJhYUFevbsCUBxmMUNGzYAADw8PNC8+ev1izErK0tcVtezTX6Yw8zMTI3bePLkCXr27Im8vDxIJBKsXbsWFSpUUFr2+fPnmDRpEgBg/vz5qFKlisbtlMTNmzfx22+/4dSpU+oLExERERERERERKRF/4RzycnPEdYmRETyaBBowItIF9iAjojeSIAhaH/P06VM8ffpU6T4rKyvUrFlTbR2DBg3CmjVrEBERgfv378PV1VVMkA0YMEDrmPTNwsJCXM7JyVFREsjOzhaXLS0tNar/1atX6NSpEx48eACgIOnVtm3bYstPmjQJz549Q0BAAEaPHq1RG+oUPhekUimSkpJw4sQJfP311zh16hTat2+PzZs3o3v37jppk4iIiIiIiIiIyo+4sycV1l3r1odlRZtiStObgj3IiKjcWL58Ofz8/JT+aDoEX8uWLeHu7g5BELBx40acPn0acXFxAF7PBFnFihXFZXXDJqanp4vL6oZjBAp6p3Xt2hXnzhV0L580aRKmTZtWbPnDhw9j7dq1MDY2xi+//KLxPHraMjIyQqVKldCjRw+cOHEC3t7eyM7OxpAhQ5CSkqKXNomIiIiIiIiI6O2Ul5ODOxeiFbZ5B75eo0hRybAHGZU7duZ2ONrnqN7b2XR9k8L8YjZmNkjNSRXXR9UfhX6+/TSuTyqVivNJVaxYUePkgp25ncZtkHoSiQT9+/fHvHnzsH79eiQkJAAAgoKC4OnpaeDoinJxcRGXZb28inP//n1x2dXVVWXZvLw89O7dG0eOHAEAjBgxAj/88IPKYxYsWAAAaNKkCW7cuIEbN24UKRMfHy8u//XXX3B2dgYAfPTRRyrrLo61tTXGjBmDTz/9FKmpqdi+fTtGjhxZorqIiIiIiIiIiKj8uXv5AnKz5KYjkUjgGRBkuIBIZ5ggo3LHSGIEBwsHvbax5soaheTYRP+JGO43HGuurMHi84sBAL9c/gWWJpYY7jdcozqlUilMcgouWRsLG731vnmbhYaGIjQ0tNT1DBo0CPPmzcO1a9dw584dAMDAgQNLXa8+1KlTR1yOjY1VWVZ+v6+vb7HlpFIpBg4ciL/++gsA0KdPH/zyyy/FlpeRDeF49uxZ9O3bV235//3vf+JySRNkAODj4yMuX7lypcT1EBERERERERFR+VN4eEUXn7qwsrM3UDSkS/yGnUjH5JNgwH/JMQAY7jccE/0nivsWn1+MNVfWlHGEVFre3t5o2rQpgIJhBs3MzNCnTx8DR6VczZo1Ua1aNQDA0aOqe04eO3YMAFC9enW4u7sXW27UqFH4/fffAQCdO3fG+vXrX+uEbV5enricm5trwEiIiIiIiIiIiOhNkp+Xi9vnzips8+Lwim+N1/cbTaI3kKrkmAyTZG+HwYMHw9zcHObm5ujSpQscHPTbK7GkJBIJunbtCqCgh9iZM2eUljtz5ozYg6xr166QSCRKy02aNAm//vorAKBdu3bYvn07TE1NNYolIiICgiCo/Bk8eLBYPj4+XtxeGlFRUeKyuqEjiYiIiIiIiIiIZBJiLiM7PV1hm1dTJsjeFkyQEemIJskxGSbJ3nxjx45FVlYWsrKysG3bNkOHo9LEiRNhYlIwPOeECROQmZmpsD8zMxMTJkwAAJiYmGDixIlK6wkNDcWPP/4IAGjevDl27doFc3Nz/QWuA/fu3cPy5cvF9Y4dOxowGiIiIiIiIiIiepMUHl6xqmdtVHR0MlA0pGucg4xIB84/Oa9xckxGtl923OLzi9GoUiP4V/bXV5h6c/HiRYSHh6st16JFC3h6euqkzZiYGI3Kubm5oWLFijpp0xBOnDiBW7duietJSUni8q1bt4q870OGDClSh7e3Nz7//HN8++23iI6ORnBwMKZOnQoPDw/cvn0bCxYswIULFwAAkydPhpeXV5E6li5ditmzZwMoGIJx4cKFiI+PVxl77dq1Ne5dVhqFzwWpVIrk5GQcP34cS5YsQXJyMgCgf//+aNiwod7jISIiIiIiIiKiN580Px+3ohRHY+Lwim8XJsiIdMC/sj/GNBiDFZdWaJQck5FPko1pMOaNTI4BwK5du7Br1y615cLCwnSWIPPz89Oo3I4dO9CtWzedtGkIv/76K9auXat038mTJ3HypOJTLMoSZAAwb948PH36FL/99hsuXLiAjz76qEiZ4cOHY+7cuUqP/+OPP8Tlhw8fokWLFmpjj4+PVzmXma5oci706dMHa9awlyYREREREREREWnmwfWryHyVqrDNKzDYQNGQPjBBRqQjYxuORbOqzbROcg33G/7G9hyjN4eRkRHWrFmDDz/8EKtWrUJUVBSSkpLg5OSEgIAAjBo1Cu+//76hw9QJiUQCa2truLq6IigoCIMGDUKrVq0MHRYREREREREREb1B4iIVH0yv5O4Bu8pVDBQN6QMTZEQ6VNIk15uYHGvTpg0EQSjT4yMiIkrcnrbc3d3L/PUpEx4ertHwlZrq2LFjiebhKqv3XtPXW5bnAhERERERERERlS+CVIq4yNMK2zi84tvHyNABEBERERERERERERERvS4e3YxFespzhW1MkL19mCAjIiIiIiIiIiIiIiL6f4WHV3R0qQHH6q4Giob0hQkyIiIiIiIiIiIiIiIiAIIgcHjFcoIJMiIiIiIiIiIiIiIiIgBP7txC6rOnCtu8A4MNFA3pExNkREREREREREREREREAOLOKg6vaFelKpxquBsmGNIrJsiIiIiIiIiIiIiIiKjcEwQBNwslyLwCgyGRSAwUEekTE2RERERERERERERERFTuJSXcxYvHiQrbvJty/rG3FRNkRERERERERERERERU7t08e0phvaKTMyp7eBkoGtI3JsiIiIiIiIiIiIiIiKjcKzz/mHdgcw6v+BZjgoyIiIiIiIiIiIiIiMq1548eIPlBgsI2r6bBemvv0a0XZXocFcUEGRERERERERERERERlWtxhYZXtLJ3QDVvH720FfnXHez4/jzOH7in1XHnD9zDju/PI/KvO3qJq7xhgoyIiIiIiIiIiIiIiMq1m2cUh1f0DAiCxEj3KZRHt14gau9dAMDpHbc1TpKdP3APp3fcBgBE7b3LnmQ6wAQZERERERERERERERGVWy+ePMbTu7cVtnkHNtdLW9U87RDU3UNc1yRJJp8cA4Cg7h6o5mmnl/jKEybIiIiIiIiIiIiIiIio3IqLVBxe0aKiDVx86+mtPf8ObhonyZQlx/w7uOkttvKECTIiIiIiIiIiIiIiIiq34s4qDq/oFdAMRsbGem1TkyQZk2P6ZWLoAIiIiIiIiIiIiIiIiAzhVXISEuNuKGzzCgwuk7ZlyS5ZEuz0jttIfpiGVh954+rxR0yO6RkTZEREREREREREREREVC7FRZ5WWDevYIUa9eqXWfuFk2Q3I5/gZuQThTJMjukHh1gkIiIiIiIiIiIiIqJyqfDwih6Nm8LYxLRMYyg83KI8Jsf0hwkyIiIiIiIiIiIiIiIqd9JfpOBB7FWFbWU1vGJhdYKrFdlmamHM5JgeMUFGRERERERERERERETlzq2oM4AgiOumFpZwa9DIILEc+/1GkW25Wfk4f+CeAaIpH5ggI6ISiYiIgEQiEX8++ugjtccMGTJELK9MaGioQp3yP8bGxrCzs0Pjxo3x2WefIS4uTievIzw8XGwjPDxcJ3UCwN27d4t9Ldr8lNTp06cxcOBAuLu7w8LCAlWrVsV7772H33//Xe2x7u7uxcZjbm6OqlWr4t1338WKFSuQmZlZ4hiJiIiIiIiIiIgMKS7ylMJ6rUZNYGpmXuZxnD9wD3HRT5XuO73jNpNkesIEGRHpxNatW3HlyhW91S+VSvHy5UucP38eixYtQr169fDLL7/orb032ddff40WLVpgw4YNuHfvHrKzs/H48WMcOHAAffv2RZcuXZCVlVWiunNycvD48WP8+++/GDt2LOrXr6+zZCUREREREREREVFZyXyVioSYSwrbDDG84vkD93B6x+0i293rO4rLTJLph4mhAyB6m2ScO4cKjRuX2XGvE0EQMGvWLPz55586qe+3335DQECAuJ6fn4/ExETs378fK1asQE5ODsaMGQMvLy+0bdtWJ23qUvXq1VUmDDt06IBHjx6hWrVqOHDggM7a/fXXXzFr1iwAgIeHB2bMmAE/Pz88evQIP/30E44cOYK//voLI0aMwIYNG1TWpSy2zMxM3LhxA6tXr8axY8dw69YtdOrUCVeuXIG5edk/XUNERERERERERFQSt6PPQpBKxXUTUzPUbFS239EWlxwDgOAPvVDVw07cL/uXc5LpDhNkRDrybOnPSFq2DM6fTYLTyJEaH5e0ejWe/bAITuPGwXnCeD1GqD9OTk5ISkrCjh07cP78efj7+5e6zpo1a6JevXoK2xo0aID33nsPDRs2xLBhwyAIAr777rvXMkFmampaJP7C+zUpp40XL15g8uTJAIAaNWrgzJkzcHJyEvd37twZ3bt3x19//YWNGzfi448/RqtWrbR+DQEBAejXrx/atWuHiIgIxMXFYefOnejTp49OXgcREREREREREZG+FR5e0b2hP8wsLMusfVXJsYqOFrCtZCkmw5gk0w8OsUikAxnnziFp2TIAwLMfFiFp9WqNjpMlxwAgadkyZJw7p7cY9emTTz4Rew/Jei/p09ChQ8XEz9mzZ/Xe3pti9erVePHiBQBgwYIFCskxADA2Nsby5cthbGwMAPjuu+9K3JaRkRE+//xzcZ2fAxERERERERERvSmyMzJw7/IFhW1lObxi4eSYjbNiYq5GHQdIJBIABcmwoO4e4j4Ot6g7TJAR6UCFxo3h/NkkcV2TJJl8cgwAnD+b9MYOs+ji4oKPP/4YALBnz54ySZa4u7sDQInn0tKWVCrFhg0b0LFjR1SpUgVmZmZwdnZGSEgIli9fjpycnDKJQ5WdO3cCAGxsbNCjRw+lZVxcXNC+fXsAwL///ou0tLQStyf7DICy+xyIiIiIiIiIiIhK6875SOTn5YnrRsYm8GjctEzafnTrhUJyrOkHNZGekq1QpkYdR4V1ZUmyR7de6DXO8oAJMiIdcRo5UuMkmbLkmDbDMr6Opk+fDkvLgicdZs6cqff27t69C6BgKEF9e/78OVq1aoWBAwdi//79ePLkCXJzc5GUlISIiAiMGzcODRs2xL17hntyIycnB5GRkQCAoKAgmJmZFVu2devWAIDs7GxERUWVuE3ZZwCUzedARERERERERESkC3FnFYdXdKvfEOYVrMqk7Wqedgjo5A4ACOrugUpuNsjP+28uNImRBNV97IscJ58kC+jkjmqedmUR7luNCTIiHdIkSfY2JscAoGrVqhgzZgwA4J9//sGJEyf01tbatWuRlJQEAOjSpYve2gGA/Px8dO7cGSdPngRQkFzatm0boqOjsXv3bnTr1g0AcP36dbRr165UPbJKIy4uDnn//9SLj4+PyrLy+69fv16i9gRBwKJFBeexRCJB586dS1QPERERERERERFRWcrNykL8RcWpbrwCm5dpDE0/qIXun/vDv4MbEq4lK+yrUssG5pYmSo/z7+CG7p/7o+kHtcoizLee8neZ6C0mSKXI//95mvTB7sMPIc3IRPKKFQAKkmTSjEw4DByA5+s3iNsBwHHMGNh9+CHynj9XW69UKkX+q1cAgLy8PBgZaZbfNrazg0TDsqU1bdo0/PLLL0hPT8fMmTNx+PDhEtcVHx+vMIdWfn4+njx5gv3792P58uUAChI9kydPLnXcqqxcuRKnT58GAAwaNAjh4eHi+L+NGzfGBx98gC+++ALz58/H7du3MWfOHCxYsECvMSlz//59cdnFxUVlWVdXV6XHFZabm4uYmBiFbVlZWbh58yZ+/fVXHDlyBAAwadIk1KtXryRhExERERERERERlan4i9HIy/lvSEOJkRE8mzQr8zhkPcDuX1P8brhGHQeNjqPSY4KMyp38Fy8Q17zsJlwEgOQVKxQSY+q2q/NUi7Jep07CxEH1TVVXnJ2dMX78eCxYsABHjhzBkSNHEBISUqK6hg0bVuw+W1tbfPXVVxg3bhzs7Yt2N9alZcuWAQCcnJzw888/i8kxeV9//TX+/PNPxMbGYvXq1fj6669hbm6u17gKe/X/yVMAsLa2VlnWyuq/7uKqerw9evQIfn5+xe4PCAjAlClT0LNnTy0iJSIiIiIiIiIiMpybhYZXdK3jB8uKNgaJ5dXzLKQ8zigUj2MxpUnXOMQiEenU5MmTUbFiRQDAV199pZc2Xr58ibCwMGzfvl0v9cs8evRIHIKwd+/e4usqzNjYGEOHDgUApKSk4Pz583qNS5msrCxxWdX8YwAUkneZmZklbvPcuXNYvXo1rl69WuI6iIiIiIiIiIiIykpeTg7unI9S2OYVWLadKeQlXFUcXtHCyhTONZR/B0m6xwQZEemUo6MjJk6cCAA4efIkDhw4UKJ6jhw5AkEQxB+pVIoXL17g6NGj6N69O+7cuYOPP/4YU6ZMKXJsfHw8YmJilP48fap5/zv54QUDAwNVlpXfX3hYwrJgYWEhLufk5Kgsm539XxdyS0vLYsu5ubkpfAaCICA3NxcPHjzAunXrUKNGDfzzzz9o0aIFTp06VWw9REREREREREREr4N7Vy4gN0vugXGJBF5NgwwWT+HhFV197WFkVHQEK9IPJsiISOcmTZoEOzs7AMDMmTN1UqdEIoGtrS1atWqFP//8E/369QMAfPfdd0XmOhs6dCj8/PyU/sjmL9PEc7m54SpXrqyybJUqVZQeV1bke7epGjYRANLT08VldcMxFmZiYoLq1atj4MCBOHXqFBwcHPDixQsMGDAAeXl52gVNRERERERERERUhuIKDa9YvXYdWNnpdwqX4kjzpbgfm6KwjcMrli3OQUbljrGdHbxOndR7O8/Xb1CYX8zIxgbS1FRx3XHMGDgMHKBxfVKpVJxnqmLFijAy0iy/bfz/iaqyZGdnh0mTJmHmzJmIjIzEnj170LlzZ522MXnyZGzatAkAsGbNGrRt21an9RembO4xeYIg6LV9dVxcXMTlBw8eqCx7//59cdnV1bXEbVatWhUDBw7ETz/9hPj4eBw5cgTvvPNOiesjIiIiIiIiIiLSl/y8XNyKPqOwzTuwuYGiAZ7cfYWcTMUHzmvUcTBQNOUTE2RU7kiMjGDioN8bTdLq1QrJMefPJsFp5EgkrV6NZz8sAgAkr1gBowqWcBo5UqM6pVIpjE0KLlkTGxuNE2SGMnHiRPz0009ITk7GzJkz0alTJ53W7+PjIy5fuXJFYV9ERIRO2nCQO08eP36ssuyTJ0+UHldWvL29YWxsjPz8fMTGxqosK7/f19e3VO0W/hyYICMiIiIiIiIiotfR/ZjLyJYbWQkAPJsaLkGWcE1x/jHH6lawsjM3UDTl0+v9DTvRG0g+CQb8lxwDAKeRI+H82SRx37MfFiFp9eoyj7EsVKxYEZMnTwYAXLhwATt37tRp/fLD+eXm5uq0bpl69eqJy2fPnlVZNjIyUulxZcXMzAxNmzYFAJw+fVrlPGRHjx4FAJibm6NJkyalarcsPgciIiIiIiIiIqLSuhmpOLxiFU9v2Dg5GygaJfOPcXjFMscEGZEOqUqOyZSnJNn48eNRqVIlAMCsWbN0OgxhVFSUuFyaYQJVqVatmtjDatu2beIQl4Xl5+cjPDwcAGBvbw9/f3+9xKNOt27dAACpqan4888/lZZ58OABDh48CABo166dwtxlJVEWnwMREREREREREVFpSKX5uBVVeHjFYANFA2Sl5+Lp3VSFbRxesewxQUakI5okx2TKS5LMysoKU6dOBVAw/N6+fft0Um92djZmzpwprnfs2FEn9Sozbtw4AMCzZ88wYcIEpUm+2bNn49q1awCAkSNHwtzcMF2hR4wYAVtbWwDAtGnTkJys2E07Pz8fY8eORX5+PgDg888/L1V758+fx5YtWwAU9GBr3759qeojIiIiIiIiIiLSh4fXryIz9aXCNi8DJsjuX38O+a8ZTUyNUNXT1mDxlFecg4xIBzLOndM4OSYj2y877tkPi1DB3x8VGjfWX6AGMGbMGHz//fdITExEUlKSxsfFx8fDyclJYVtqaiouXryI5cuX4+rVqwAAT09PjBo1Sqcxyxs9ejQ2btyI06dPY+3atbh37x7GjRuHWrVqITExEb/99pvYW8vDwwNfffWV3mJRx8HBAQsWLMDo0aNx7949BAYG4osvvoCfnx8ePXqExYsX48iRIwCAvn37IiQkRGV9ubm5iImJUdiWn5+PJ0+e4ODBg1i2bBmys7MBAJMnTxZ7CxIREREREREREb1Obp5VHF7R2b0W7CpXMVA0RYdXrOZtDxNTYwNFU34xQUakAxUaN4bTuHFIWrZMo+SYjHySzGncuLcuOQYAlpaWmDFjBiZMmKDVccOGDVNbpkGDBti5cycsLS1LGp5axsbG2LNnD7p06YKTJ08iIiICERERRcr5+vpi//79sLa21lssmhg1ahQePXqEOXPm4Pbt20rfx44dO+K3335TW9ejR4/g5+ensoxEIsH//vc/zJkzp8QxExERERERERER6YsglSKu0Pxj3k2bGygaQBAEJBRKkHF4RcNggoxIR5wnjIdV8yCtk1xOI0e+lT3H5I0cORILFy7E/fv3S1VPhQoVUKlSJfj7+6Nnz57o1asXTEz0fxtzcHDAsWPHsGnTJmzcuBEXLlzA8+fPYWNjAz8/P/Ts2RMjR46EmZmZ3mPRxOzZs9GhQwcsW7YMx48fx5MnT2BnZ4cGDRpg6NCh6Nu3b4nrNjIyQsWKFVGrVi0EBwdj+PDhaNiwoe6CJyIiIiIiIiIi0qFHcTeQnqKYkDLk8IrPE9OR/iJbYVuNukyQGQITZEQ6VNIk15uYHGvTpo3S+biUMTc3R0JCgtpyoaGhCA0NLWVk2hkyZAiGDBmitpyRkREGDBiAAQMG6KTdu3fv6qSe4jRv3hzNm5fsSRh9x0ZERERERERERFRW4s6eVFh3qO4KRxdXA0VTdHhFawdz2FWuYKBoyjcjQwdARERERERERERERESka4IgFB1esZnheo8BQMLVZIX1GnUcIZFIDBRN+cYEGRERERERERERERERvXWext9G6rOnCtu8DDj/WG5OPh7FvVTYxvnHDIcJMiIiIiIiIiIiIiIieuvcLDS8ol3lqnB2q2mgaIBHcS+QnycV1yVGErj42BssnvKOCTIiIiIiIiIiIiIiInqrCIJQZP4xr8DmBh3O8P5VxfnHqtS0gXkFUwNFQ0yQERERERERERERERHRWyXp/j2kJD5S2OYVaLjhFQEg4Zri/GOuHF7RoJggIyIiIiIiIiIiIiKit0rh3mMVHZ1RxcPbQNEAr55nIeVxhsK2GnUcDRQNAUyQERERERERERERERHRWybu7CmFdYMPr3hNcXhFcysTOLtVNFA0BDBBRkREREREREREREREb5Hnjx4i6f49hW2v3fCKvg4wMjJcwo6YICMiIiIiIiIiIiIiordI4eEVrezsUd3b10DRANJ8KR7Epihsq8H5xwyOCTIiIiIiIiIiIiIiInpr3CyUIPMMCILEyHDpkKf3XiE7I09hm6sv5x8zNCbIiIiIiIiIiIiIiIjorfDy6WM8jb+tsM3gwyteVRxe0aGaFaztzQ0UDckwQUZERERERERERERERG+FuLOnFNYtKtrAtY6fgaIpkHDtucI6h1d8PTBBRkREREREREREREREb4WbkYoJMs8mzWBkbGygaICs9Fw8vZuqsK1GHQ6v+DpggoyIiIjo/9i77/Coyvz94/dMeiEkIQEMJPTeE6o0sQACFhAUXBXQBWWVlXXB/e6uIu6ua0HX3kWxgSBVUcBG71Vq6BB6DYT0Muf3B78MOemByZyU9+u6uHbOZ855zp1kJu41nzzPAwAAAAAAyr3LF87p5N5YU62xxcsrHouNl2FcPfb0suuGRlWtCwQnGmQAAAAAAAAAAKDc27dujenYxz9AUa3aWJTmirhd5v3HIhoHy9PLuhltuIoGGQAAAAAAAAAAKPf2rV9lOq4f01Eenl4WpZEMw9DRPPuPsbxiWUGDDAAAAAAAAAAAlGvJly7q+O5dploji5dXjD+ZrMT4NFMtsnmoRWmQGw0yF0lPT9eUKVPUt29f3XDDDfLx8VFgYKCaNGmihx9+WGvXri3WOIsWLdKgQYNUu3Zt+fj4qHbt2ho0aJAWLVpU7CzJycmaPHmyOnbsqNDQUAUGBqpZs2YaP3684uLiij3Ozp079dhjj6lhw4by8/NTeHi4evTooQ8//FCZmZnFHgcAAAAAAAAAgNK0f8NaGYbDeezl46u6baItTJR3ecXAEB+F1PS3KA1y87Q6QEVw9OhR9e/fX9u3bzfV09PTtXfvXu3du1efffaZ/vKXv+i1116TzWbLM4ZhGHrsscf00UcfmerHjx/X3LlzNXfuXI0ePVoffPBBvtdnO3DggPr37689e/aY6rGxsYqNjdUnn3yiadOmqV+/foV+TVOmTNHjjz+utLSr3e3U1FStWLFCK1as0NSpU7VgwQJVq8Z0UAAAAAAAAACAtfauMy+vWC+6g7y8fSxKc0Xe5RVDC/18H+7FDLLrlJmZaWqOtW7dWlOnTtWaNWv0008/aeLEiQoICJAkvf7663r11VfzHeeZZ55xNsfatWun6dOna/369Zo+fbratWsnSfroo4/07LPPFpglMTFRAwYMcDbHRo0apV9//VWrV6/WCy+8oMDAQF26dElDhgzRtm3bChxn8eLFGj16tNLS0lSjRg299dZbWrdunRYuXKhBgwZJktauXatBgwbJ4XAUOA4AAAAAAAAAAKUtJfGyju40f+bd2OLlFTPTs3R830VTLZL9x8oUGmTXaf78+c7mWJcuXbR582YNHz5cnTt31m233abnn39ey5Ytk5fXlY0AX3zxxTzLE+7fv1+vvPKKJKl9+/ZatWqVhg4dqg4dOmjo0KFauXKl2rdvL0l6+eWXdeDAgXyzvPrqq4qNjZUkvfLKK/roo4908803q0uXLvrHP/6hn376SZ6enkpOTta4cePyHSMzM1NPPPGEHA6HgoKCtGrVKo0dO1YdO3ZU3759NXv2bP3pT3+SJC1fvlxfffXV9X0DUW4tXbpUNpvN+W/o0KFFXjNixAjn+fmZNGmSacyc/zw8PBQcHKyYmBj99a9/1b59+1zydUydOtV5j6lTp7pkTEk6fPhwgV9LSf5dj927d2vChAlq3bq1QkJC5Ofnp7p16+rWW2/Vf//7Xx0+fLhE423btk1eXl7ObCNGjCjw3Nyvj9z/AgMD1bhxYw0fPlxLly69rq8TAAAAAAAAlduBjevkyMpyHnt6eateu/YWJpJO7L+orIyrE0xsNql20xALEyE3GmTXadWqq9M2//73v8vDwyPPOTExMRowYIAkKT4+3tnEyvb66687m2Zvv/22/Pz8TM/7+/vr7bfflnSlgfXGG2/kuUdGRobefPNNSVKzZs3017/+Nc85Xbp00SOPPCJJWrJkiTZt2pTnnLlz52r//v3Or6dBgwZ5zpk8ebJCQkKcjwFJmjlzZp5lRl3J4XDo0qVL2rx5s/73v/+pZcuW+vDDD0vtfuWZYRh65pln1Lp1a7366qvavn27Ll68qNTUVB05ckS//vqr/vnPf2revHnFHtPhcGj06NEu238wKSlJ+/bt0xdffKFevXrpkUceUVaO/xMDAAAAAAAAFNe+XMsr1mkTLW9fvwLOdo+4XMsr1qgXJN8AL4vSID/sQXad0tPTnY/r169f4Hk5G0059/UyDEPz58+XJDVt2lSdO3fO9/rOnTurSZMm2rNnj+bNm6e33nrLNLtk6dKlunjxoiRp+PDhstvz732OGDHC2VSYM2eOYmJiTM/n/MC8oNkh/v7+uvfee/Xhhx9qx44d2rdvnxo1apT/F17JnNh/URENg912XVliGIaee+45zZkzxyXjffrpp+rQoYPzOCsrSydPntTChQv1/vvvKz09XWPGjFGjRo108803u+SerlSrVq1CG4Z9+vTRiRMnFBERocWLF7v03qNHj9Ynn3wiSWrTpo0eeeQRtWnTRn5+fjp69Kh27dqlWbNmlWiG2jvvvKN169apevXqOnPmTInyjBkzxjnzVLryWrlw4YLWrFmj119/XWfOnNGnn36q2rVr6/nnny/R2AAAAAAAAKjc0pKTdWTbFlOtceeuFqW5Kvf+YyyvWPbQILtOjRs3dj4+ePCgWrRoke952csi2mw2UzPp0KFDOn78uCSpZ8+ehd6rZ8+e2rNnj44dO6bDhw+rXr16zudWrFhhOq8g7du3V0BAgJKSkrRy5co8z2eP06RJE9WsWbPQLNmNtpUrV9Igk7T++4Pa8MNhdRnYQNF96hT7us2Lj2jN3APq0L+uOt5RcJO1LAsLC9O5c+c0d+5cbd68WdHR0dc9Zr169dSyZUtTrU2bNurbt6/atm2rhx9+WIZhaPLkyWWyQebl5ZUnf+7ni3NeSX366afO5ti4ceP02muvmRrmHTp00KBBg/TMM8+YGvyFOXbsmJ555hnZbDZNnjxZw4cPL1Gm6tWr5/s19uzZU3feeafat2+vlJQUvfHGG3rmmWec3xsAAAAAAACgKAe3bFBWjlWP7B6eqh/doZArSt/lC6m6cCLJVItqHmpRGhSEJRav07BhwxQUFCTpyv5g+S0RtmXLFv3www+SpKFDhzrPl67sEZStadOmhd4r5/M5ryvJOJ6ens7ZbLnHSExM1LFjx647S2V0Yv9FbfjhsCRpzdwD2rz4SLGuy26OSdKGHw7rxP6LpZSwdD355JPy8fGRJD333HOlfr+RI0cqLCxMkrRu3bpSv195cfnyZY0fP16SdNNNN+n1118vcDapJHl7exdr3Mcff1yXL1/WiBEj1KNHD5dkzda8eXP1799fkpSQkMDvEwAAAAAAAJRInuUVW7WRb0CgRWmuOLrbPHvMx99T1esGFXA2rMIMsusUHh6uqVOn6g9/+INWrVqlDh06aNy4cWrcuLESExO1atUqvfbaa0pPT1fbtm31v//9z3T90aNHnY9r165d6L0iIyPzvS7ncUBAgIKDg4scZ9u2bTp79qzS0tKcjY1jx47JMIzrzlKU7CZcQU6ePOl8nJKSopSUlGKP7XA4nF+Dw+Eo4mzXqVk/SJ3vrq+18w5KutIkMwxD7XpHFXjNlp/inOdLUue766tm/aACc+esu/NrK0jODBERERo1apTeeecdLViwQGvWrFGnTp3yXJP9s8l9fUHPF/Z11q1bV+fOnVNqaup1fT9yf18L+/5PmzZN06dP15YtW3ThwgVVrVpVLVu21ODBg/XII48Uu+FUWIbr8eWXXyo+Pl6SNHHiRJeMO2vWLH333XeqVq2aXnrpJSUmJjqfMwyjWK/Xws6TpDp1rs64TE5OLhOv79xK+v7L/ppL8vsLQF6pqan5PgZQ+nj/Adbh/QdYg/ceYJ3ref9lpKXq0JZNplqddh0s/0zm0LazpuMbGlVVWhq/W65HafxMaZC5wMCBA7Vx40b973//06effppn+bEaNWro+eef1+jRoxUQEGB67vLly87HgYGFd7VzXpvzQ+qc4xQ1Rn7jZDfIXJWlKDmba0VZvny5c6ZQcVSrVk1+fn6y2WxKSEgoUa7r1aBzsFJTI7R10QlJ0tp5B5WamqoWN+VdqnLn0lPO8ySpbd8INegcXOzMJf2el4bk5GTn49TUVD3++OOaMmWKUlJS9Mwzz2j27Nl5rsnIyHA+zu9rzbk/X3JycqHfj0OHDkm60sy9np917v8A5zdWfHy8hg0blme22rlz57R06VItXbpUb7/9tmbOnKmoqIKbojllN1kcDofLXqszZsyQdKVx365dOyUkJMgwDJ05c0bJyckKDw8v1u+IbJcuXdKTTz4pSZo0aZK8vb1Nr72MjIwCs+d8faSlpRX6Ne7fv9/5OCQkxO3v3ZIq6v2XmZnpbO7Hxsa6KRVQ8S1fvtzqCEClxfsPsA7vP8AavPcA65T0/ZcYd0iZ6Vc/U5TNpiOXknTsp59cnKz4DEM6sStQks1Zu5R1TD/9dNiyTBXBuXPnXD4mSyy6QEZGhqZNm6bvv//eNAMm2+nTpzV9+nQtXbo0z3M5P5wvavZJdiNLytstzR6nODNYChrHVVkqsxY31VTbvhHO462LTmjn0lOmc/JrjuXXRCtvatasqYcffliS9Ntvv2nNmjWldq/p06fr/PnzkqS+ffuW2n0kKSsrS/fdd5+zOda1a1dNnTpVS5Ys0bRp05zLA+7Zs0d33323Zc1Lh8OhLVuubEbavn17paen6+WXX1bz5s3VtGlTRUdHKyoqSr169dI333yT7++q3CZNmqRTp06pc+fO+sMf/lAquffu3auf/v//YYmOjlaNGjVK5T4AAAAAAACoeBKPHjId+1W/QR6+vhaluSL9ol1Ghs1U8wnLuzUTrMcMsuuUlJSkfv36afny5fLw8NDTTz+tkSNHqn79+kpNTdW6dev0r3/9SytXrtQdd9yh119/3TkjQ5J8c7xZ09PTC71Xztk1fn5+pueyxylqjMLGcVWWohS1JOPJkyfVsWNHSVKPHj2KXO4xp7i4OGVlZcnT09O011tOhsNQalJGvs+5QttedeVh89SmhXGSrjTJPGyeanVTbW1feszUHIu5PUqtbire1+dwOJSUdGVjx4CAgEL3lsrJN8BLNrut6BNLyN/f/+o9fH0VFBSkZ599VlOnTlVSUpImT56sX375xXSNl5eX83F+P5+cjdfTp08rLi7OeZyVlaXTp09r0aJFev/99yVd2Qvvn//8Z4E/6+LI+brP/jpyeu+997RhwwZJ0oMPPqjPPvtMNtvV7+d9992nZ555Ri+++KIOHTqkt956Sy+99FKR983++dnt9uvKn+3IkSPOWaARERG6884788x4MwxDW7du1ZgxY/Tbb7/pq6++kqdn/v8ZWLVqlT7//HN5eXnpo48+UtWqVSWZZ5d6eXkVmD3n6+PSpUumn6VhGLp48aLWrl2rN954QykpKQoKCtKbb77pku9FaXA4HM7mZ2BgYKHvv7Nnz8rPz0+BgYGKiYlxV0SgQkpNTXX+9WCPHj1Mv7MBlC7ef4B1eP8B1uC9B1jnWt9/WRkZ+nTOV6Zahz791PLm3i7PWBJbFh3VWV3dZii4pp/63dXFwkQVQ1FbN10LGmTX6bnnnnO+eadMmWJaXtHb21u33XabevXqpd69e2vJkiV66qmn1KtXL7Vu3VqSVKVKFef5Rc08yW6OSHmXQMwepzizVwoax1VZilKShpefn1+JGnB2u925dF1BH2CnJKVr6t9WF3tMV9i0MM7ZMCtO3ZUentxNflWubW+swuT8/trtdtntdtWoUUNPPPGEXn75ZS1ZskTLli1Tr169nOflbCzl9/PJ+fwf//jHAu9dtWpVPfvss3r88ccVEhLi8q8jp/fee0+SFBYWpnfffVceHh55xvj3v/+tuXPnKjY2Vp988on+/e9/m5p9JclwrS5evOh8/NVXXyktLU3NmjXT5MmT1bNnT0nS0qVLNX78eO3Zs0fffvut6tevn28zLz09XY899pgMw9BTTz2lVq1a5ZvVZrMVmD1n/YMPPtAHH3xQ4HmPPvqoxo0bp6ZNm5boa7ZKfq+T3LK/NyX9AwIABfP19eU9BViE9x9gHd5/gDV47wHWKcn778Cu7cpIzbG6mc2m5l17Wv7+PbnPvH1InZZhlmeqCErje8gSi9fBMAx99tlnkqTGjRvn2Xssm6enp/79739LujILIfsaydwsKqoDmnPmVe59vLLHSUpKMn1QXtg44eHhpg/xXZUFlduECROczdZnn322VO5x6dIlffbZZ5o1a1apjJ/txIkT2r17tyTp3nvvNTWRc/Lw8NDIkSMlXdmvbPPmzaWaKz85m9ZpaWmKjIzUypUr1b9/fwUGBiowMFADBgzQypUrFRFxZRnQ119/XcePH88z1ksvvaRdu3apTp06mjhxYqnmdjgcmjlzpj755JNizYAFAAAAAAAAJGnfOvMkiFpNmikg+Pr+mP56pSZl6PQhc4MsqnmoRWlQFBpk1+H06dO6cOGCJKldu3aFnptzma3Y2Fjn4+bNm+dbz0/O55s1a2Z6rrjjZGZm6sCBA/mOERgY6Gx2XU8WVG7VqlXTuHHjJF1Zpm/x4sXXNM6SJUtkGIbzn8Ph0MWLF7Vs2TINHDhQBw8e1OjRo/X000/nufbQoUPasWNHvv/OnDlT7Aw7duxwPu7UqVOh5+Z8Pud17pJ76vk///lPhYbm/Y9vWFiY/vGPf0i6MlNszpw5puf37Nmj//73v5Kkd955x7RU4rV67rnnTD9LwzCUnJysbdu2acKECbp8+bJee+019e7dmz0NAQAAAAAAUKSszEwd2LjWVGvUsatFaa46Fhsvw7h67OFlV0TDYMvyoHA0yK5Dzr17MjMzCz03I+Pqnlc5r6tXr55zNseyZcsKHSN7KcdatWqpbt26pue6devmfFzYOBs3bnTONOnaNe8vjOxx9uzZo1OnThU4Ts575DcOKrennnpKwcHBkuSyGUg2m01Vq1ZVjx49NGfOHN1///2SpMmTJ+u3334znTty5Ei1atUq33/ZSyYWR3YDXJJq1KhR6Lk1a9bM9zp3yT277fbbby/w3D59+jgfZ++vJl2ZFfvoo48qLS1NAwcO1IABA1wf9P/z8/NTq1at9Morrzh/JsuWLdOLL75YavcEAAAAAABAxXB05zalJpm3CWrUyfp9vo7uOm86rtUoWJ7eebdsQdnAHmTXITQ0VEFBQUpISNCaNWuUmZlpan7llLOhVK9ePedjm82mu+66S++//75iY2O1du1ade7cOc/1a9eudc7auuuuu0x7NUnSTTfdpKpVq+rSpUv6/PPP9fTTT+c5R5KmTp3qfDxw4MA8z999992aPn2689z/+7//y3NOcnKyZs6cKenKzLXGjRvn+zWXVb4BXnp4creiT7xO25Yc08YfDzuPffw9lZZ8tZHavl9dte5V/P3YHA6HLl++LOlKM6S4+1b5BngV+x6uEhwcrKeeekoTJ07U+vXrtWDBApc3WyZMmKBp06ZJurL/38033+zS8XPL7/2Uk5HzT0MsULt2bdlsNmeOWrVqFXhuzmVRc86oW7t2rfN31Y033qhvvvkmz7Vnz551Pj506JDznJYtW6ply5bXlP2RRx7R//3f/+nChQuaMmWK/vWvf13TOAAAAAAAAKgcci+vWLNBIwWFVbcozRWGYShul/kP5yNZXrFMo0F2Hex2u/r376/p06frxIkTeuGFF/Tcc8/lOS8+Pl5/+9vfnMe5GwXjxo3Txx9/rMzMTI0dO1bLly83bTiXkpKisWPHSroy+yx7+bqcvL299ec//1n//ve/tXv3br366quaMGGC6Zw1a9ZoypQpkqSePXuqQ4cOecYZOHCgGjRooAMHDujFF1/UkCFD1KBBA9M5EyZMUHx8vPNxeWOz2+RXxbtU77F58RFTc6zLwAaK7lNHmxcf0Zq5V5a43PjjYXn5eCi6T51ijelwOJRhXGl2+VXxLnaDzCrjxo3Tm2++qfPnz2vixInq37+/S8dv2rSp8/H27dtNzy1dutQl98i5RGFhMyqlK0uu5neduwQEBKhOnTo6fPiwpCuvFw+P/P86JSsry/k4Z1M/LS3N+bg47+3ly5c7Z7Y+99xz19wgs9vtatSokdatW6cTJ07owoULlnwPAQAAAAAAUPY5HFnan3t5xU7Wr3IWfypZifFpplpU82oWpUFxlO1P2MuBiRMnOvfomTRpku68807Nnj1bW7Zs0Zo1a/T666+rbdu22rVrlyTplltuUe/evU1jNG7cWOPHj5d0ZQnErl27asaMGdq4caNmzJihrl27auPGjZKufGjdqFGjfLNMmDDBOZvr6aef1qOPPqolS5Zo7dq1evHFF9W7d29lZmbKz89Pb7zxRr5jeHl56a233pLdbldCQoK6du2qd955R+vXr9fixYs1ePBg53Jo3bp104MPPnh938AKKGcTTLraHJOk6D511GXg1YbjmrkHtHnxEbdndIcqVao4myxbtmzRvHnzXDp+zmVNcy5h6ko5Gz7r1q0r9Nz169fne5079ejRw/k4e6/B/OR8rrCZZu7kjp8nAAAAAAAAyr/jsbuUfOmiqda4DDTIjuaaPRYY4qOQG/wtSoPioEF2nZo2bar58+crLCxMkvT9999r8ODBio6O1o033qinnnpKcXFxkqSbb75Z3377bb7jvPDCC3r44YclXWkmDB06VB06dNDQoUO1ZcsWSVeWIfvPf/5TYJYqVarohx9+cDbQPvroI918883q0qWL/vGPfygxMVFBQUGaOXOm2rZtW+A4/fr10wcffCBvb2+dPn1aY8eOVadOndS3b1/Nnj1bktSxY0fNnTu3wBkqlVVhzbFslalJ9sQTT6h69StTm5977jmXLkOYc++snEsGulJERISaNWsmSfr222+dS1zmlpWV5Vy+NCQkRNHR0aWSpyj33HOP8/GcOXMKPC/nc927d3c+vummm2QYRqH/Dh065Dx/+PDhzvqkSZOuOXdycrLzjwh8fX2dv08BAAAAAACA3HIvrxhep56Ca95gUZqr4nLtPxbZPLTIbVtgLRpkLnDrrbcqNjZWL7/8sm666SaFh4fLy8tLfn5+qlevnu69917NmzdPv/zyi0JCQvIdw263a8qUKfrhhx901113KSIiQt7e3oqIiNBdd92lH3/8UZ988kmRy+o1bNhQW7Zs0csvv6z27dsrODhY/v7+atKkif7yl79o27ZtxdoLatSoUdq0aZNGjRql+vXry9fXV9WqVVO3bt30/vvva9WqVXyInUtxmmPZKkuTLCAgwLm86Pbt2/Xjjz+6ZNy0tDRNnDjRedyvXz+XjJufxx9/XNKVvbfGjh2bb5Pv+eefdzZ4Ro0aJR8fn1LLU5gBAwY4Z6+9/PLL2rNnT55zspdglaTw8HANGjTIrRnz89xzzyklJUWS1KdPHxrvAAAAAAAAyJfhcGjfulWmWqNON1qU5qrMjCyd2HvRVGN5xbKPPchcpFq1anr66af19NNPX9c4/fr1u+4P+wMCAlySpWXLlvroo4+ua4zK4sT+i8VujmXLfj77ujVzD6hmg6qKaBhcajmtMGbMGL366qs6efKkzp07V+zrDh06lKcJm5CQoK1bt+q9997Tzp07JV1pCj/66KMuzZzTY489pq+//lpr1qzR559/riNHjujxxx9X/fr1dfLkSX366afOGVkNGjTQs88+W2pZimK32/X+++/rlltuUUJCgm688Ub97W9/U8+ePWUYhpYtW6aXX35ZiYmJkqS3337buURsaTpz5ox27NhhqqWmpmrfvn364osvtGjRIklXZo/9+9//LvU8AAAAAAAAKJ9O7t+jxHjz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Wfi9aX8xn4BApSVdbTh0HjRU7W6/o9jjORwO5/5QVapUkd1evP62X2D+ywKWpuDgYD311FOaOHGi1q9frwULFmjAgAEuvceECRM0bdo0SdKUKVN08803u3T83IqaNm0YRqne311q167tfHzs2DGFhYUVeO7Ro0clXfne5LwuPydOnNCtt96qEydOyGaz6dNPP9XAgQMLvebll1+WJN16661asGBBvudkN+mSkpL0zTdX3m/Vq1e/5tdDixYt1K9fP82fP18rVqzQvn371KhRo2saCwAAAAAAAIXLzMzIU/PxDygTzTFJOrrT/Ifw1esEyTfQy6I0cDUaZKh0bHa7/IOqluo91s+fZWqOZf/Fw/r5s5wbUK6d8428fH2L/cve4XAoU1eaNP5BQcVukFll3LhxevPNN3X+/HlNnDhR/fv3d+n4TZs2dT7evn276bmlS5e65B6hoVf/GuTUqVOFnnv69Ol8rytvmjdv7nwcGxurtm3bFnhubGysJCkyMlIBAQVvTHru3DnddtttOnjwoCTp7bff1kMPPVRkluwlHj/77DN99tlnhZ577tw5DRt25S+OevbseV0N06ZNm2r+/PmSrry2aJABAAAAAAC43uUL57Tp+7l56mnJSVo/f1aZaJLF5dp/LKp5+f3cD3mV7U/YgXIoZxNMMk8Hzr227oppU7V+/iw3J3SPKlWqaMKECZKkLVu2aN68eS4dPzMz0/k4IyPvX5q4QsuWLZ2P161bV+i569evz/e68qZbt27Ox8uWLSvwvFOnTjn36OratWuB5126dEl9+vTRrl27JEkvvfSSHn/8cRelLR3ueG0BAAAAAABUdt+9+l85HFn5PlcWPjdNupSm88fNW5DQIKtYaJABLlRYcyxbZWqSPfHEE6pevbok6bnnnnPpMoQbNmxwPo6MjHTZuDlFRESoWbNmkqRvv/3WucRlbllZWZo6daokKSQkRNHR0aWSxx0aN27s/Jpnzpyp5OTkfM/L/nolFbhUYnJysvr376/NmzdLkv75z3/qb3/7W7GzGIZR5L86depIkurUqeOsXe8MQne8tgAAAAAAACqzpV9O0akDe021oIZN1XnIH5zHVn9uejTX7DFvP0/VqBdkURqUBhpkgIsUpzmWrbI0yQICApwNke3bt+vHH390ybhpaWmaOHGi87hfv34uGTc/2bOdzp49q7Fjx+bb5Hv++eedM6RGjRolHx+fUsvjDuPHj5ckXbhwQU8//XSe5w8cOKAXX3xRktSgQYN8G2Tp6ekaOHCgVq1aJUl68skn9Z///KcUU7vGDz/8oOXLl0uSwsLC1LFjR4sTAQAAAAAAVCzr58/SpgXmpRVtHh4KbRmt6P53l5nPTXMvr1i7aYjsHrRUKhL2IANc4FjszmI3x7JlP5993YppUxXRpJlqN21RWjEtMWbMGL366qs6efKkzp07V+zrDh06pLCwMFMtISFBW7du1XvvvaedO3dKkho2bKhHH33UpZlzeuyxx/T1119rzZo1+vzzz3XkyBE9/vjjql+/vk6ePKlPP/1Uc+bMkXSlWfTss8+WWpbimDVrlhITr079XrlyZb6PJalmzZrq27dvnjGGDx+uTz/9VKtWrdK7776rU6dOadSoUQoJCdH69ev173//WwkJCbLb7Xr77bfl6Zn3PyXDhg3TTz/9JEm6+eab9cgjj2jHjh0F5vb29lbjxo1L/PWWVFJSUp4cGRkZOn78uH744Qd98sknzvp///vffL82AAAAAAAAXJvckwyyBTdpJU//K3vc5/e5ac66OxgOQ0d3s/9YRccnf4AL1G7aQl0GD9OaWdOL1RzLlvOXfZfBwypcc0yS/Pz89I9//ENjx44t0XUPP/xwkee0adNG8+bNk5+f37XGK5KHh4cWLFigO++8U6tWrdLSpUvzXcKvWbNmWrhwoQIDA0stS3GMHz9eR44cyfe5KVOmaMqUKc7jnj175tsg8/Dw0Lx589SvXz9t2LBBs2fP1uzZs03neHt765133tHtt9+e772ym4aS9Ntvv6l169aF5q5Tp44OHz5c6DmusHHjRrVq1arQc7y8vPSf//xHo0aNKvU8AAAAAAAAlUVBzTGfgAAFNzd/dmR1k+zs0ctKTTTvTR9Jg6zCoUEGuMiNQ/6gqFZtS9zk6njX4Ao5cyynUaNG6ZVXXtHRo0evaxx/f39Vr15d0dHRGjx4sIYMGeKWGT6hoaFavny5pk2bpq+//lpbtmzRhQsXFBQUpFatWmnw4MEaNWqUvL29Sz2Lu4SFhWn16tX6+OOPNW3aNO3evVtJSUmKiIjQLbfcoieffFItWlSM16yHh4eqVq2qhg0bqlevXvrjH/+ohg0bWh0LAAAAAACgwsi9AldO0QMG6axH3i1LrFyBK26nefZYcA1/BVUrvT/ShzVokAEudK2/nMtjc+ymm27Kdz+u/Pj4+CguLq7I8yZNmqRJkyZdZ7KSGTFihEaMGFHkeXa7XQ888IAeeOABl9y3tGZLuXJcT09PjRkzRmPGjCnxtcV9bVyv4n697soDAAAAAACAvGo3baHO9wzV2tnfmOqB1cLU6pY++m3psnyvs2oFrrhd503HLK9YMdEgAwAAAAAAAAAApaparcg8tRsH3y9P77yzx3Jy9wpc6SmZOn0wwVRjecWKyW51AAAAAAAAAAAAUHFlZWZo1YyvTLXQiNpq0fOWYl3vzhW4ju2Jl8NxdTUiu6dNtRqHuO3+cB8aZAAAAAAAAAAAoNRs//UnXTx90lTrNuwh2T08LEpUsLhd5v3HIhoGy8un7OXE9aNBBgAAAAAAAAAASkV6aorWzJ5uqt3QqIkaduhiUaKCGYaho7n2H2N5xYqLBhkAAAAAAAAAACgVm3+Yr+RLF0217vePkM1msyZQIS6dSVHCuVRTLap5NYvSoLTRIAMAAAAAAAAAAC6XnHBJG76fY6rVaxujyOatLEpUuNzLK/pX9Va1WgEWpUFpo0EGAAAAAAAAAABcbv28b5Wekny1YLOp27Dh1gUqQu7lFaOahZbJmW5wDRpkAAAAAAAAAADApRLOndHWxQtMtWZde6p63foWJSpcVoZDx/bEm2qRLdh/rCKjQQYAAAAAAAAAAFxq9cxpysrMdB7bPTzV9b4HLExUuJMHLioz3XG1YJMim9Egq8hokAEAAAAAAAAAAJc5d/SIdi3/zVRrc9vtqlq9pkWJipZ7/7HqUVXkF+htURq4Aw0yAAAAAAAAAADgMiu/+UKGcXU2lpePrzoPus/CREXL3SCLbM7ssYqOBhkqFLv9yks6KytLhmFYnAZAZWMYhrKysiRJHh4eFqcBAAAAAABwv+Oxu3Rg4zpTLWbAQPlXDbYmUDEkXUrT+WOJplpU82oWpYG70CBDheLtfWXKq2EYSktLszgNgMomOTnZ2ZzP/n0EAAAAAABQWRiGoRXTp5pqflWC1H7AQGsCFdPR3ebZY16+HqpRP8iiNHAXGmSoUAICApyPExISLEwCoLIxDEMXLlz9P1NBQfyfKAAAAAAAULkc3LxBx2N3mWqdB90nH39/ixIVT9xOc4OsdpMQeXjQPqno+AmjQgkMDHQ+Pn/+vM6fP+9c7gwASoNhGEpKStKxY8eUmHhlKr7NZjP9PgIAAAAAAKjoHI4srZz+uakWFF5DrW/rZ1Gi4jEcRp4ZZFEtWF6xMvC0OgDgSt7e3goPD9fZs2clSWfOnNGZM2fk4eEhm81mcbrrl5mZKUnOrw+A+xT0/su956HNZlOtWrWceyICAAAAAABUBrtXLNW5o0dMta73/kGeXl7WBCqms0cvKzUxw1SLah5qURq4Ew0yVDjVqlVTenq6Ll265KxVhFlkhmEoJSVFkuTn51chGn5AeVHc9192c6xKlSrujAcAAAAAAGCpzIwMrf72a1MtLKqumnbraVGi4ovbZZ49FlzDX0FhfhalgTvRIEOFY7PZFBERodDQUF28eFHJyckVokHmcDicH9AHBgYyOwVwo8Lefx4eHvL29lZQUBDvTQAAAAAAUClt+/lHJZw9Y6p1HzZcdruHRYmK72iuBlkks8cqDRpkqLB8fX1Vs2ZNq2O4TEpKimJjYyVJMTEx8vPjrxgAd+H9BwAAAAAAkL+05GStnTPDVKvVtIXqtWtvUaLiS0/J1KkDl0w1llesPPgzdwAAAAAAAAAAcE02LpirlMsJplqPP4woF1vEHNsTL4fj6t7ydk+bajUOsTAR3IkGGQAAAAAAAAAAKLGki/HatGCuqdagfWdFNG5mUaKSyb284g0NguXlU/aXhYRr0CADAAAAAAAAAAAltnbODGWkpTqPbTa7ug97yMJEJRO367zpmOUVKxcaZAAAAAAAAAAAoEQunj6lbb8sMtWa97xZ1WpHWZSoZC6eSVbCuVRTLaoFDbLKhAYZAAAAAAAAAAAokVUzvpQjK9N57OHlpRuH3G9hopLJvbyif5C3qtUKtCgNrECDDAAAAAAAAAAAFNuZwwcVu2qZqda2d38FhVW3KFHJxeVqkEU2D5XNZrMoDaxAgwwAAAAAAAAAABTbiumfm469/fzVaeC9FqUpuaxMh47viTfV2H+s8qFBBgAAAAAAAAAAiuXozm06vHWTqdbhznvkVyXIokQld+rAJWWkZV0t2KTIZjTIKhsaZAAAAAAAAAAAoEiGYWj5tKmmWkBwiGL63WVNoGuUe3nF8Mgq8qvibVEaWIUGGQAAAAAAAAAAKNL+DWt0av9eU63zPcPk5etrUaJrE7frvOmY5RUrJxpkAAAAAAAAAACgUI6sLK2c/oWpFlzzBrW6ubdFia5NckK6zh1NNNWiWtAgq4xokAEAAAAAAAAAgELtXParLpw4Zqp1ve9BeXh6WpTo2hzNNXvMy9dDNepXtSgNrESDDAAAAAAAAAAAFCgjPU2rv/3aVKter4GadO5mUaJrl3v/sdpNQuThQaukMuKnDgAAAAAAAAAACrR10QIlXjDPvOp+/wjZ7OWrxWA4DB3dbW6Qsf9Y5VW+Xr0AAAAAAAAAAMBtUpMStX7et6ZaVMs2qtu6nUWJrt25Y4lKuZxhqkU2r2ZRGliNBhkAAAAAAAAAAMjXhvmzlJqUaKp1HzbcojTXJy7X/mNVw/1UNdzPojSwGg0yAAAAAAAAAACQR+KF89q88HtTrXGnrqrZsLFFia5P3E6WV8RVNMgAAAAAAAAAAEAea2ZNV2Z6mvPYZrer69CHLEx07dJTM3XqwCVTLbIFyytWZjTIAAAAAAAAAACAyYUTx7R9yU+mWqtevRUaUcuiRNfn+J54ORyG89juYVOtxsHWBYLlaJABAAAAAAAAAACTVd98KcPhcB57evuoy+BhFia6PnG7zMsr3tCwqrx9PS1Kg7KABhkAAAAAAAAAAHA6tX+v9q5bZapF336HAkPL75KEuRtkUc3L79cC16BBBgAAAAAAAAAAnFZM/9x07BsQqA53DbYozfW7dDZZCWdTTLXI5qEWpUFZQYMMAAAAAAAAAABIkg5v26K4Hb+bah3vHiLfgECLEl2/uJ3m2WN+Qd4Kq1V+vx64Bg0yAAAAAAAAAAAgw+HQimlTTbXAamFq23eANYFcJM/yis1CZbPbLEqDsoIGGQAAAAAAAAAA0J61K3Xm0AFT7cbB98vL28eiRNcvK9Oh43viTTWWV4REgwwAAAAAAAAAgEovKzNTq2Z8aaqFRtRWi563WJTINU4dvKSMtCxTLbIZDTLQIAMAAAAAAAAAoNLb/ttPunjqpKnWbdhDsnt4WJTINXIvrxgeVUX+Qd4WpUFZQoMMAAAAAAAAAIBKLCM1VWtnTzfVbmjYRA07dLEokesczdUgY3lFZKNBBgAAAAAAAABAJbbpx/lKumjep6v7/cNls9ksSuQayQnpOht32VSLokGG/48GGQAAAAAAAAAAlVTK5QRt+G62qVa3bYwiW7S2KJHrHN1tnj3m5eOhmvWrWpQGZQ0NMgAAAAAAAAAAKql1c2cqPSXZVOs+bLhFaVwr9/KKtZqEyMOTtgiu4JUAAAAAAAAAAEAllHDujLYuXmCqNe3aU9Xr1rcokesYDkNxuWaQsbwicqJBBgAAAAAAAABAJbR65jRlZWY6j+0enup634MWJnKdc8cTlZKQbqpFtaBBhqtokAEAAAAAAAAAUMmcO3pEu5b/Zqq1vrWvgmvUtCiRa+VeXjEo3E9Vw/0tSoOyiAYZAAAAAAAAAACVzMpvvpRhOJzHXj6+6jzoPgsTuVbczvOmY5ZXRG40yAAAAAAAAAAAqESO79mtAxvXmmoxAwYqIDjEokSulZ6aqZMHLplqNMiQGw0yAAAAAAAAAAAqCcMwtGLaVFPNr0qQ2g8YaE2gUnB870U5sgznsd1uU60mFaP5B9ehQQYAAAAAAAAAQCVxaMtGHY/daap1HnSffPwrzv5cR3Mtr1izQVV5+3palAZlFQ0yAAAAAAAAAAAqAYcjSyumf26qBYXXUOvb+lmUqHTE7bpgOo5qwfKKyIsGGQAAAAAAAAAAlUDsymU6F3fYVOt67x/k6eVlTaBScOlsii6dTTHVoppXsygNyjIaZAAAAAAAAAAAVHCZGRlaNfMrUy0sso6adutpUaLScXSXeXlFvypeCqsdaFEalGU0yAAAAAAAAAAAqOC2/fyjEs6eMdW6DRsuu93DokSlI/fyipHNQmWz2yxKg7KMBhkAAAAAAAAAABVYWnKy1s6ZYarVatpc9aM7WJSodGRlOXRsT7ypFtWc/ceQPxpkAAAAAAAAAABUYBsXzFXK5QRTrfv9I2WzVayZVacPXlJGapapFsn+YygADTIAAAAAAAAAACqopIvx2rRgrqnWoH0n1WrSzKJEpSdup3l5xbDIQPkHeVuUBmWdpysH8/Ao/bVKbTabMjMzS/0+AAAAAAAAAACUd+vmzlRGWqrz2Gazq9vQhyxMVHpy7z8WxewxFMKlDTLDMFw5HAAAAAAAAAAAuEYXT5/S7z8vNNWa97hZYZF1LEpUelIup+vs0cumGvuPoTAubZBJV2Z4PfbYY6pevbpLxz1z5ozef/99l44JAAAAAAAAAEBFtXrmV3JkXV2RzcPLSzfee7+FiUrP0d0XpBxzeLx8PFSzQVXrAqHMc3mDTJIef/xxNW/e3KVj7ty5kwYZAAAAAAAAAADFcObwQe1etcxUa9u7v4LCXDu5pazIvbxirSYh8vC0W5QG5QGvDgAAAAAAAAAAKpiV0z+XcmyL5O3nr04D77UwUekxDENH8+w/xvKKKJxLZ5D16NFDNptNAQEBrhxWkhQQEOAcHwAAAAAAAAAA5O/oru06tHWTqdbhznvkVyXIokSl6/zxRCUnpJtqkTTIUASXNsiWLl3qyuFM6tatW6rjAwAAAAAAAABQ3hmGoRVfTzXV/KsGK6bfXdYEcoO4nebZY0Fhvgqu7m9RGpQXLLEIAAAAAAAAAEAFsX/DGp3cv8dU63LPMHn5+lqUqPTl3n8sqnk1i5KgPKFBBgAAAAAAAABABeDIytLK6V+YasE1blCrW/pYlKj0ZaRl6eSBi6YayyuiOMpUgywtLU2nT5+Ww+GwOgoAAAAAAAAAAOXKzmW/6sKJY6Za1/sekIenS3dbKlOO742XI9NwHtvtNtVuEmJhIpQXbmmQJSYm6scff9SPP/6oxMTEPM+fO3dO99xzj4KCghQREaGQkBCNHz9e6enp+YwGAAAAAAAAAAByykhP0+pvvzbVqtdtoCZduluUyD1yL69Ys0FVeftV3IYgXMctr5LZs2dr5MiRioqK0sGDB03PORwO3X777dq8ebMM40qX9/Lly3r99dcVFxenmTNnuiMiAAAAAAAAAADl1tZFC5R44byp1v3+4bLZy9RCci53NFeDjOUVUVxueWcsXrxYknTPPffInuvNOGPGDG3atEmSFB0drb/85S+Kjo6WYRiaPXu2Fi1a5I6IAAAAAAAAAACUS6lJiVo/71tTLapla9Vp3c6iRO6RcC5FF08nm2pRNMhQTG6ZQbZjxw7ZbDZ16dIlz3NffvmlJCkmJkarV6+Wp6enMjIy1L17d23YsEFffPGF+vbt646YAAAAAAAAAACUOxu+m63UJPP2Rt2HjZDNZrMokXvkXl7Rr4qXwiOrWJQG5Y1bZpCdPXtWklSnTh1TPSMjQ8uWLZPNZtOf/vQnef7/jQK9vLz02GOPyTAMrVu3zh0RAQAAAAAAAAAodxIvnNfmH78z1Rp36qqaDRtblMh94naal5Ss3TRUNnvFbgrCddzSILtw4UoX18vLy1TfuHGjUlJSJEm333676bnGja+8eU+dOuWGhAAAAAAAAAAAlD9rZk9XZnqa89hmt6vr0IcsTOQeWVkOHdsTb6pFtWB5RRSfWxpkfn5+kqQzZ86Y6suWLZMkNWjQQDVq1Mj3GgAAAAAAAAAAkNeFE8e1/befTLVWvXorNKKWRYnc5/TBBGWkZplqkc1okKH43NIga9CggSRp6dKlpvrcuXNls9nUs2fPPNdkL8tYvXr1Us8HAAAAAAAAAEB5s2rGlzIcDuexp7ePugweZmEi94nbZV5esVrtQAVU9bEoDcojtzTIbrvtNhmGoffee08LFy5UYmKi3n77bW3YsEGSdMcdd+S5Ztu2bZKkiIgId0QEAAAAAAAAAKDcOHVgn/auXWmqRd9+hwJDq1mUyL2O7rpgOo5qzuwxlIynO27y5JNP6oMPPtDly5c1YMAA03PNmjXLt0H2ww8/yGazqUuXLu6ICAAAAAAAAABAubFi2lTTsU9AgDrcOdiaMG6WkpiuM3GXTTUaZCgpt8wgu+GGG/T999+rZs2aMgzD+a9+/fqaNWuWbDab6fwDBw5oxYoVkq7MPgMAAAAAAAAAAFcc3rZFcTt+N9U63jVEvoGBFiVyr6O7L0jG1WNPb7tuaBBsWR6UT26ZQSZJ3bt316FDh7Rq1SqdOnVKN9xwg7p16yZPz7wRTp48qWeffVaS8t2fDAAAAAAAAACAyshwOPLMHgsMraZ2t+ddqa2iOrrTvLxirSYh8vByy3wgVCBua5BJkre3t3r16lXked26dVO3bt3ckAgAAAAAAAAAgPJjz9qVOnPogKnWZfD98vL2sSiRexmGobjdufcfqxz7rsG1aKkCAAAAAAAAAFAOZGVmatWML0210IjaannTrRYlcr/zx5OUfCndVGP/MVwLGmQAAAAAAAAAAJQDO5b8pIunTppq3YY+JLuHh0WJ3C9u13nTcVCYr6pW97MoDcozty6xKEm///67VqxYoYMHD+ry5cvKysoq9HybzaYpU6a4KR0AAAAAAAAAAGVPRmqq1syabqrd0LCJGnbsYlEiaxzdZV5eMbJ5NdlsNovSoDxzW4Ns9+7deuSRR7Ru3bpiX2MYBg0yAAAAAAAAAEClt3nhd0q6GG+qdb9/eKVqDmWkZenE/oumGssr4lq5pUF28OBBdevWTRcvXpRhGJKkKlWqKDg4WHY7qzwCAAAAAAAAAFCQlMsJWj9/lqlWt22MIlu0tiiRNY7vjZcj03Ae2+021W4SYmEilGduaZBNnDhR8fHxstvtGj9+vMaMGaO6deu649YAAAAAAAAAAJRr6+Z9q/SUZFOt+7DhFqWxTu7lFWvUD5K3n9t3kkIF4ZZXzi+//CKbzaZx48bp5ZdfdsctAQAAAAAAAAAo9xLOndHWxQtMtaZde6p63foWJbJOXK4GWVTzahYlQUXglvUNExISJEn33HOPO24HAAAAAAAAAECFsPrbacrKyHAe2z081PW+By1MZI2E8ym6eNo8iy6qBfuP4dq5pUEWGRkpSfL0ZKojAAAAAAAAAADFcf5YnHYt+81Ua31rXwXXqGlRIuvkXl7RN9BL4ZFVLEqDisAtDbI+ffpIktavX++O2wEAAAAAAAAAUO6tmP6FDMPhPPby8VXnQUMtTGSd3MsrRjYLlc1usygNKgK3NMj++te/qkqVKpo8ebIuXLhQ9AUAAAAAAAAAAFRix/fs1oGNa021mAF3KyA4xKJE1nFkOXQsNt5Ui2rO8oq4Pm5pkNWpU0dz5sxRfHy8brzxRv3yyy/uuC0AAAAAAAAAAOWOYRhaMW2qqeZXJUjtBwyyJpDFTh9KUHpKpqkWSYMM18ltm4LdfPPN2rx5s2688Ub16dNHISEhatiwofz9/Qu9zmaz6ddff3VTSgAAAAAAAAAArHVoy0Ydj91pqnUaeJ98ivg8vaLKvbxitVqBCqjqY1EaVBRua5CtXr1aDz74oM6dOyfDMHThwoVC9ySz2WwyDEM2G2uIAgAAAAAAAAAqB8Ph0Irpn5tqQeHV1aZ3P4sSWS9u53nTMcsrwhXc0iDbtWuXevfurZSUFBmGIV9fXzVq1EjBwcGy292yyiMAAAAAAAAAAGXe7lXLdC7usKl245A/yNPLy5pAFktJTNeZuMumWmQLGmS4fm5pkD3//PNKTk6Wj4+P/ve//2nkyJHy9fV1x60BAAAAAAAAACgXMjMytGrGV6ZaWGQdNet+kzWByoBju+Ml4+qxp7ddEQ2CLcuDisMtDbJVq1bJZrPpH//4h8aMGeOOWwIAAAAAAAAAUK5s+2WhEs6eNtW6DRsuu93DokTWi9tlXl6xVuMQeXixMh2un1teRfHx8ZKkvn37uuN2AAAAAAAAAACUK+kpyVo7Z4apVqtpc9WP7mBRIusZhqGjuy6YapHsPwYXcUuDrHbt2pKkrKwsd9wOAAAAAAAAAIByZeOCuUpJuGSqdb9/pGw2m0WJrHfhRJKSLqWbalE0yOAibmmQ3XHHHZKk5cuXu+N2AAAAAAAAAACUG8mXLmrjgnmmWoP2nVSrSTNrApURcTvNs8eqhPoquIa/RWlQ0bilQTZhwgRVr15dkydP1uHDh91xSwAAAAAAAAAAyoW1c2YoIzXlasFmU7f7HrQuUBmRe/+xyBahlXpGHVzLLQ2yGjVqaPHixQoKClKnTp308ccf6+LFi+64tVudO3dOr7zyirp27aqaNWvKx8dHERER6tSpkyZMmKA1a9YUOcaiRYs0aNAg1a5dWz4+Pqpdu7YGDRqkRYsWFTtHcnKyJk+erI4dOyo0NFSBgYFq1qyZxo8fr7i4uGKPs3PnTj322GNq2LCh/Pz8FB4erh49eujDDz9UZmZmsccBAAAAAAAAAOTv4ulT+v3nhaZaix43KyyqrjWByoiM9Cyd3G9ecpLlFeFKnu64Sf369SVdadycPXtWjz32mMaMGaOwsDD5+xc+HdJms+nAgQPuiHldvv32W40ZM0bnz5s72idPntTJkye1fv167du3T/Pmzcv3esMw9Nhjj+mjjz4y1Y8fP665c+dq7ty5Gj16tD744INCO+QHDhxQ//79tWfPHlM9NjZWsbGx+uSTTzRt2jT169ev0K9nypQpevzxx5WWluaspaamasWKFVqxYoWmTp2qBQsWqFq1aoWOAwAAAAAAAAAo2OqZX8mRdXVCgoenp24c8gcLE5UNJ/ZeVFamw3lss9tUuykNMriOWxpkuZdVNAxDhmHozJkzRV5bHqZLfvHFFxo5cqQcDoeqV6+uMWPGqFu3bgoNDdWpU6d04MABff/99/Ly8ipwjGeeecbZHGvXrp2efvppNWjQQAcOHNArr7yiLVu26KOPPlJ4eLj+85//5DtGYmKiBgwY4GyOjRo1SkOHDpWfn5+WLFmiF198UZcuXdKQIUO0Zs0atW7dOt9xFi9erNGjR8vhcKhGjRr65z//qU6dOunChQv6+OOPNWfOHK1du1aDBg3SkiVLZLe7ZSIiAAAAAAAAAFQoZw4f1O5Vy0y1tn36Kyi8ukWJyo7cyyvWrB8kHz+3tDRQSbjl1TR8+HB33MYSu3fvdjaTunfvru+//15Vq1bNc97YsWOVnp6e7xj79+/XK6+8Iklq3769li9fLj8/P0lShw4ddOedd6pnz57auHGjXn75ZY0cOVINGjTIM86rr76q2NhYSdIrr7yiCRMmOJ/r0qWLevXqpR49eig5OVnjxo3Tb7/9lmeMzMxMPfHEE3I4HAoKCtKqVatM9+rbt68ef/xxvffee1q+fLm++uorPfTQQyX4jgEAAAAAAAAAJGnlN19IhuE89vbzV8e777UwUdlxdNcF0zHLK8LV3NIg++yzz9xxG0uMHTtWaWlpCgsL05w5c/JtjmXz9vbOt/7666879/R6++23nc2xbP7+/nr77bfVpUsXZWZm6o033tDbb79tOicjI0NvvvmmJKlZs2b661//muc+Xbp00SOPPKIPP/xQS5Ys0aZNmxQTE2M6Z+7cudq/f78k6e9//3u+jbjJkydr+vTpio+P1+TJk2mQAQAAAAAAAEAJHdu1Q4e2bDTVOtwxSP5BBX/GXFlcvpCq+FPJplpkc7b7gWuxNt51iI2N1a+//ipJeuKJJxQWFlbiMQzD0Pz58yVJTZs2VefOnfM9r3PnzmrSpIkkad68eTJy/FWBJC1dulQXL16UdGXGXkHLHo4YMcL5eM6cOXmez7lHWs5zc/L399e99175K4YdO3Zo3759+Z4HAAAAAAAAAMjLMAwtn2aeWOJfNVgx/e+2JlAZE7fTvLyib4CXwqOqWJQGFRUNsuvw7bffOh8PGTLE+Tg+Pl779u3T+fPn87vM5NChQzp+/LgkqWfPnoWem/38sWPH8uzrtmLFijzn5ad9+/YKCAiQJK1cuTLP89njNGnSRDVr1iwyS0HjAAAAAAAAAADyt3/jWp3ct8dU63LPMHn5+lqUqGzJvbxiZLMQ2e02i9KgoqJBdh3Wrl0rSapataqaNWumr7/+Wm3atFFoaKgaN26ssLAw1a9fX88//7wSExPzHWP37t3Ox02bNi30fjmfz3ldScbx9PR0LpuYe4zExEQdO3bsurMAAAAAAAAAAPLnyMrSyulfmGrBNW5Qq1v6WJSobHFkOXQ0Nt5UY3lFlAaX7kEWFxcnSapVq5Y8PDxcObSysrKcM62ioqJcOva12rVrlySpbt26Gjt2rN5999085xw6dEiTJk3SrFmztHjxYkVERJieP3r0qPNx7dq1C71fZGRkvtflPA4ICFBwcHCR42zbtk1nz55VWlqafHx8JF2ZmZa9dOP1ZClKdhOuICdPnnQ+TklJUUpKSonGr6hSU1PzfQyg9PH+A6zBew+wDu8/wDq8/wBr8N6DO+1e/psuHDd/ptph4H1Kz8iQMjIsSmWd3O+/04cuKz0l03RO9fr+fE5cyZXGz9+lDbK6devKbrdr27Ztat68uSuHVmxsrFq1aiW73a7MzMyiL3CDCxeuTPOMjY3V77//ruDgYL300ksaNGiQgoKCtH37dk2cOFELFy7Ujh07NGTIEK1YscK0P9jly5edjwMDAwu9X/bSiJLyzEjLHqeoMfIbJ7tB5qosRcnZXCvK8uXLr2lvt4pu+fLlVkcAKi3ef4A1eO8B1uH9B1iH9x9gDd57KE2OzEzFLZhpqvmEVNPBS4k69NNPFqUqO5YvX65L+7wl+ThrXlWytHLdUssyoWw4d+6cy8d0+RKL2TOQSktpj18SSUlJkqS0tDR5eHho4cKFevTRRxUeHi4fHx+1b99eCxYs0O233y5JWr16tebMmWMaI2d33Nvbu9D7ZTeypLzd0uxxihqjsHFclQUAAAAAAAAAkNelfbuUmZxkqlVr21E2G/trZUs7a57X4xOWZVESVHQunUGWrbK8mX19fZ1NsiFDhqhz5855zrHb7Zo8ebIWLlwoSZo+fboGDx5sGiNbenp6ofdLS0tzPvbz88uTpThjFDaOq7IUpaglGU+ePKmOHTtKknr06FHkco+VRWpqqvMvmHr06GH6eQEoXbz/AGvw3gOsw/sPsA7vP8AavPfgDmlJSfpq/jRTrVazFrrzoZGV5jP1/OR8/3Vqf6PmLNpuer5rnzaq1STYgmQoS4rauulalEqDrHfv3vLy8nLpmBllcO3VKlWqOBtk2bPE8tOiRQvVqlVLx48f14YNG/KMka2opQqz7yXlXQIxe5ziLHdY0DiuylKUkjS8/Pz8StyAqwx8fX35vgAW4f0HWIP3HmAd3n+AdXj/AdbgvYfSsnHeTKUlmWeP9XzgYfn7+1uUqOw5fyRVOReR8/Syq26L6vL08rAuFMqE0vi97PIGmWEYOn78uKuHLZMiIyN16tQpSUU3fSIjI3X8+HGdOXPGVM95XVEd0Jwzr3Lv41W7dm2tW7dOSUlJunjxooKDg4scJ3spSFdnAQAAAAAAAABclXjhvDb/+J2p1qjTjbqhYROLEpVNx/dcNB1HNA6hOYZS49IG2fDhw105XJnXokUL54ywrKzC10HNft7T0/wtb968ufNxbGxsoWPkfL5Zs2Z5xpk9e7bzvPyWe5SkzMxMHThwIN8xAgMDFRkZqaNHj15XFgAAAAAAAADAVWtmT1dm+tVta2x2u7oNfcjCRGWPYUjHYy+aalHNQ60Jg0rBpQ2yzz77zJXDlXk9evTQ1KlTJUkHDhzQbbfdVuC5Bw8elCTVqlXLVK9Xr54iIiJ04sQJLVu2rND7Za/DWqtWLdWtW9f0XLdu3ZyPly1bVmCDbOPGjc7lEbt27Zrn+W7dumn69Onas2ePTp06pZo1a+Y7Ts6s+Y0DAAAAAAAAAJDiTx7X9t9+MtVa9rpNoRHF34qmMshMtCv5knmrpagWNMhQeuxWByjP7rzzTudea3PmzCnwvGXLlun8+fOSpO7du5ues9lsuuuuuyRdmZW1du3afMdYu3atc9bWXXfdlWfTxptuuklVq1aVJH3++ecyci7UmkN2Q0+SBg4cmOf5u+++O99zc0pOTtbMmTMlXZm51rhx43zPAwAAAAAAAIDKbuWMr2Q4HM5jTy9vdRk8zMJEZVPqOfNSioGhPgquwf5sKD00yK5DtWrV9Mc//lGS9PPPP+ubb77Jc87ly5c1btw45/Gjjz6a55xx48Y5l14cO3asUlJSTM+npKRo7Nixkq4s0ZhzvGze3t7685//LEnavXu3Xn311TznrFmzRlOmTJEk9ezZUx06dMhzzsCBA9WgQQNJ0osvvuhcjjGnCRMmKD4+3vkYAAAAAAAAAJDX6YP7tXfNClOtXb87VSU0zKJE1jqx/2KBz6WeNS94F9W8mnOiSGHXAdeKBtl1ev755xUVFSVJevDBBzV27FgtWbJEmzZt0tSpU9WxY0dt3bpVkjRmzJh8m1KNGzfW+PHjJV1ZArFr166aMWOGNm7cqBkzZqhr167auHGjpCsNqUaNGuWbZcKECc7ZXE8//bQeffRRLVmyRGvXrtWLL76o3r17KzMzU35+fnrjjTfyHcPLy0tvvfWW7Ha7EhIS1LVrV73zzjtav369Fi9erMGDB+u9996TdGU5xgcffPCav3cAAAAAAAAAUJEtnzbVdOwTEKCOdw62JozF1n9/UHNf3azNi4/kec6RJaXFm2eQZe8/tnnxEc19dbPWf3/QLTlRebh0D7LKKDw8XIsWLdKdd96p/fv365133tE777yT57yHH35Yb775ZoHjvPDCCzpz5ow+/fRTbdmyRUOHDs1zziOPPKL//Oc/BY5RpUoV/fDDD+rXr5/27dunjz76SB999JHpnKCgIH399ddq27ZtgeP069dPH3zwgZ544gmdPn3aOXstp44dO2ru3Lny8PDIZwQAAAAAAAAAqNyObNuquO1bTbWOdw2Rb2CgNYEsdGL/RW344bAkac3cK6uWRfep43w+/YKH5Li6rZDNblPtpiHavPiI8/wNPxxW7WahimgY7LbcqNiYQeYCzZo109atWzV58mR16tRJoaGh8vb2Vu3atXXffffpt99+05QpU5z7leXHbrdrypQp+uGHH3TXXXcpIiJC3t7eioiI0F133aUff/xRn3zyiez2wn9kDRs21JYtW/Tyyy+rffv2Cg4Olr+/v5o0aaK//OUv2rZtmwYMGFDk1zRq1Cht2rRJo0aNUv369eXr66tq1aqpW7duev/997Vq1SqFhVXOacAAAAAAAAAAUBjD4dCK6VNNtcDQamp3+x3WBLJYRMNgdRnYwHm8Zu4B00yy1HPmuTw16gZp54oTzuaYJHUZ2IDmGFyKGWQuEhAQoPHjxzuXSrxW/fr1U79+/a47y9NPP62nn376usZp2bJlnhloAAAAAAAAAIDC7V23SqcP7jfVugy+X17ePhYlsl72jLHsplf2/zbrUV2pZ80rlXn62PM0x3LOOANcgQYZAAAAAAAAAAAukpWZqZXffGGqhUTUVsubbrUoUdmRX5MsMSFFmUnmBtmx3fHOxzTHUFpYYhEAAAAAAAAAABfZseQnXTx10lTrNvRB2T08CriiconuU8e03OL2X08UeC7NMZQmGmQAAAAAAAAAALhARmqq1syabqrVbNhYjTreaFGisil3kyw/NMdQ2miQAQAAAAAAAADgApsXfqeki/GmWvdhI2Sz2SxKVHZF96mj5t0i8n2O5hjcocw3yBwOh9URAAAAAAAAAAAoVMrlBK2fP8tUq9smWlEtW1uUqGxLupSmw9vO5an7+HvSHINbuKVB9uyzzyorK6vE1x04cEDdunUrhUQAAAAAAAAAALjO+vmzlJ6SbKp1GzbcojRlm8Nh6OdPdyo5IT3Pc2nJmdq8+IgFqVDZuKVB9sILL6hr1646cOBAsa+ZMmWK2rVrp3Xr1pViMgAAAAAAAAAArk/CubPasuh7U61p156qUa/wfbYqqw0LDun4novmos1wPlwz9wBNMpQ6ty2xuGHDBrVt21ZTpkwp9Lzz589r0KBBGj16tBITE+Xr6+umhAAAAAAAAAAAlNyaWdOUlZHhPLZ7eKjrvQ9YmKjsOrLzvDb+eNhUs3k6dMPNSWo/IMpZo0mG0uaWBtnrr78uHx8fJSUlafTo0Ro0aJDOnz+f57zFixerVatWmj9/vgzDUJs2bbRhwwZ3RAQAAAAAAAAAoMTOH4vTzqW/mmqtb+2r4Jo3WJSo7Lp8IVWLPthuLtqksPYp8vA21PqWWuoy8OqsO5pkKE1uaZA9+eST2rhxo1q3bi3DMDR//ny1bt1aP//8syQpLS1NY8eOVb9+/XTq1CnZbDaNHz9e69evV/Pmzd0REQAAAAAAAACAElv5zRcyDIfz2MvHV50HDbUwUdmUleXQnFc3KzPDYap3vLOOfEKu1qL71KFJBrdw2xKLzZs314YNG/TXv/5VknTy5En17dtXjz76qKKjo/Xee+/JMAxFRkbql19+0SuvvCIvLy93xQMAAAAAAAAAoERO7N2t/RvWmmoxA+5WQHCIRYnKrvmvb1XihVRTrV6bMLXomXemHU0yuIPbGmSS5OXlpcmTJ+uXX35RZGSkDMPQJ598ot27d0uShg0bpm3btummm25yZywAAAAAAAAAAErEMAytmPa5qeZXJUjtBwyyKFHZtXHhYZ3cf9FUCwrz1S3Dm8lms+V7TX5NshO5xijPkjdtcut1yMutDbJsjRo1Up06dZwvfJvNpqCgII0ePVpVq1a1IhIAAAAAAAAAAMV2aOtGHdu9w1TrNPA++fj7W5SobEo4l6KtP8eZanZPm/qMaikf/8JXkcvZJOvQv64iGgaXVky3Ovv2Ozryhwd07uOPS3TduY8/1pE/PKCzb79TSskqF7c3yGbOnKk2bdpo1apVMgxDjRo1kmEYSkhI0K233qq///3vyszMdHcsAAAAAAAAAACKxXA4tDLX7LEqYeFqc9vtFiUqm7IyHFr00Q6lJZs/8+8+pJGq1wkq1hjRfepo4PhodbyjfmlEdLvkTZt07t13JUlnX/tfsZtk5z7+WGdf+9+Vx+++y0wyF3BbgywxMVHDhw/XsGHDFB8fL09PT7300kvavXu3FixYoOrVqysrK0uvvPKKOnXqpNjYWHdFAwAAAAAAAACg2HavWqazcYdNta73PiBPb29rApVRq2bt09m4y6Zao/bV1aJHrRKNU1FmjkmSf0yMwv/6lPO4OE2ynM0xSQr/61Pyj4kptYyVhVsaZKtXr1abNm301VdfyTAMNWnSRGvWrNHTTz8tm82mfv36afv27RowYIAMw9DWrVsVExOjd/9/FxUAAAAAAAAAgLIgMyNDq2Z8ZaqFRdZRs+43WROojNq38bS2LztuqgXX8NdNDzQtcN+xyiJs1KhiN8nya46FjRpV6hkrA7c0yHr06KHDhw/LMAyNHj1amzdvVnR0tOmcsLAwfffdd3rvvffk5+enlJQU/fnPf1a/fv3cEREAAAAAAAAAgCJt+2WhEs6eNtW6DXtIdruHRYnKnounk7XkS/MqcZ5edvUd3VLevp4WpSpbitMkozlWutzSIHM4HKpWrZrmz5+vDz74QH5+fgWe+9hjj2nz5s2KiYmRYRhavHixOyICAAAAAAAAAFCo9JRkrZ0zw1SLaNJc9aM7WpSo7MlMz9Kij7YrIy3LVO8xrImq1Qq0KFXZVFiTjOZY6XNLg6xPnz7avn277rjjjmKd37hxY61Zs0Z///vfK/1USwAAAAAAAABA2bBxwTylJFwy1XrcP4LPsXNY/s1enT+eZKo1vfEGNbvxBosSlW35NcliW7WmOeYGbpnLuHDhwhJf4+npqRdeeIElFgEAAAAAAAAAlku+dFEbF8w11erHdFStps0tSlT27F59UrtXnzTVQiMC1GNoY4sSlQ/Zza/sppiRkeF8juZY6XHLDLLr0bVrV6sjAAAAAAAAAAAqubVzZygjNeVqwWZT96EPWReojDl/PFHLp+8x1bx8PNR3dEt5ebM/W1GqPfKIlGsmos3fn+ZYKSrzDTIAAAAAAAAAAKx06cwp/f6TeaW0Fj1uVlhUXWsClTHpqZla9NEOZWY4TPWbHmiikJoBFqUqX8688opkGKaakZzs3JMMrueWJRbzk5WVpfj4eKWkpMjI9UPPLSoqyk2pAAAAAAAAAAAwWzXzazmyMp3HHp6eunHIHyxMVHYYhqGlX+/RxdPJpnrLHrXUuENNi1KVL+c+/lgXpn6e73PZyy4yk8z13NogO3funN5++23NmzdPu3btksPhKPIam82mzMzMIs8DAAAAAAAAAMDVzh45pN0rl5pqbfv0V1B4dWsClTE7V5zQvg2nTbXwqCrqNqSRRYnKl3Mff+xsguXk06SJ0vZcWbKSJlnpcFuDbPXq1Ro0aJDOnj1b5IwxAAAAAAAAAADKghXTPzctfeft56eOd99rYaKy42zcZa2YuddU8/bzVJ9RLeXhxQ5PRSmoOSZJwUOGyJGS7HyeJpnruaVBdv78ed111106f/68AgMD9cc//lHBwcGaNGmSbDabPvnkE8XHx2vjxo2aP3++UlNT1bVrVz3yyCPuiAcAAAAAAAAAQB7Hdu3QoS0bTbX2dwySf1BVixKVHWnJGVr00XY5Ms0TYm4Z3kxVw/0sSlV+FNYckyT/mGj5NmsmSTTJSolbGmTvvPOOzp8/Lx8fH61Zs0YtWrTQzp07NWnSJEnSyJEjneeeOnVK999/v5YtW6YuXbro5ZdfdkdEAAAAAAAAAACcDMPQ8mmfmWr+VYMV0/9uawKVIYZh6LcvYpVwLtVUb3NrpOq3DbcoVfmRuzkWdMcdSvj+e+exPSBAPo0bS7raDKNJ5npumeO4cOFC2Ww2Pfzww2rRokWh59asWVM//PCDGjRooFdffVW//fabOyICAAAAAAAAAOC0f+Nandy3x1TrfM9QefsyO2rbb8d0cOtZU61m/SB1GdjAokTlR/KmTabmWPhfn5JnaKjpHL82bWTz8HAeh40apfC/PuU8Pvva/5S8aVPph63g3NIg279/vyTp1ltvddZsNpvzcVZWlul8Pz8//eUvf5FhGPrggw/cEREAAAAAAAAAAEmSIytLK6d/YapVrVFTrW/pY1GisuPUwUtaPXu/qeYb4KXef2wpDw/2HSuKf0yMwh5/XNKV5ljYqFFK3rLFdI5fTHSe63I2ycIef1z+MTGlH7aCc8sSiwkJCZKkOnXqOGu+vr7Ox5cvX1ZwcLDpmvbt20uS1q1bV/oBAQAAAAAAAAD4/3Yt/00Xjh811bre96A8PL0sSlQ2pCZmaPHHO+RwmPcdu/Xh5qoS6lvAVcgtfOwTCrixi/xjYuRISVHqrl2m5/2j8zbIpCtNMv/oaJpjLuKWdm5gYKAkKTMz01kLzTFl8PDhw3muSU29snbpmTNnSjccAAAAAAAAAAD/X2Z6ulZ/O81Uq163gZp26W5RorLBcBj6+bNdSoxPM9Vjbq+jOi2qWZSq/MpucqVs2y7l6J3Iw0N+rVsXeR2un1saZA0bNpQkxcXFOWvBwcGqWbOmJGnJkiV5rlm9erUkKSAgwA0JAQAAAAAAAACQti5eoMvnzftrdR/2kGz2yr184Oafjihu53lTrVbjYHUcUM+iRBVDypbNpmPfpk1lpy/iFm55R3fq1EmStGHDBlO9b9++MgxDr7zyivbu3eusr1+/Xq+88opsNps6dOjgjogAAAAAAAAAgEouLTlJ6+Z9a6pFtmitOm3yX/Kusji+N17r5h801fyCvHXbIy1kZ9+x65K8ydwg8ytgeUW4nlteuX369JFhGJozZ46p/tRTT8nT01NnzpxRy5Yt1aFDB7Vo0UJdu3ZVfHy8JOnJJ590R0QAAAAAAAAAQCW34bvZSk28bKp1v3+4bDabRYmsl5yQrp8+2Skjx7ZjNpvU+5EWCqjqY12wCsBwOJSydaup5h9Dg8xd3NYge+ihh9S5c2cdOnTIWW/ZsqXef/99eXh4KDMzU5s2bdLu3buVlZUlSZo0aZL69u3rjogAAAAAAAAAgEosMf6CNv0w31Rr1OlG3dCwiUWJrOdwGPppyk4lJ6Sb6h3vqKfaTUIsSlVxpO3bL8dlc0PWrx0NMnfxdMdNvLy8NHXq1Hyfe+SRR9StWzdNnTpVO3fuVGZmpho1aqQHH3xQ7du3d0c8AAAAAAAAAEAlt3b2dGWmpzmPbXa7ug19yMJE1tvwwyEd3xNvqkU1D1VM37rWBKpgUjZvMh171aolrxrVLUpT+bilQVaUJk2a6MUXX7Q6BgAAAAAAAACgEoo/eVzbfl1sqrXsdZtCI2pblMh6cbvOa+OPh021gGAf3fpwc9nslXfJSVdK3rzFdOzH8opuxe55AAAAAAAAAIBKbeWMr2Q4HM5jTy9vdRk8zMJE1kqMT9XPn+6Scuw7Zrfb1GdUS/kFelsXrIJJ2WSeQeYfTYPMnWiQAQAAAAAAAAAqrdMH92vvmhWmWrvb71CV0DCLElkrK8uhnz7ZqdTEDFO988AGuqFBVYtSVTwZp08r48QJU439x9zLkiUWL1++rEOHDuny5cvKysoq8vwePXq4IRUAAAAAAAAAoLJZPm2q6dgnIEAd7xpiTZgyYN28gzp54JKpVq9NmNreGmlRooopZfNm07G9ShX5NGpoUZrKyW0NMsMw9PHHH+v999/Xtm3bin2dzWZTZmZmKSYDAAAAAAAAAFRGR7ZtVdz2raZax7uGyDcw0JpAFjv0+1lt+TnOVKtSzVc3P9RMNhv7jrlS8iZzg8yvXVvZ7Cz6505uaZBlZGTo7rvv1qJFiyRdaZYBAAAAAAAAAGAVwzC0YvpUUy0wJFTt+g6wJpDFEs6l6NfPd5tqdk+b+o5uKd8AL4tSVVy5Z5Cx/5j7uaVB9tprr2nhwoWSpDp16mj48OFq06aNgoODZacjCgAAAAAAAABws71rV+n0wf2mWpch98vLx9eiRNbJynBo8cc7lJZsXs2t2+BGql4nyKJUFVdWYpJSY2NNNT8aZG7nlgbZl19+KUnq0qWLfvnlF/n5+bnjtgAAAAAAAAAA5JGVmalVM74w1UIiaqvlTbdZlMhaq2bv15kjl021hu2rq2XPWhYlqthSt/0uORxXC56e8mvVyrpAlZRbpm8dOnRINptNf//732mOAQAAAAAAAAAstWPJz4o/ecJU6zb0Qdk9PCxKZJ19G09r+9JjplpwDX/1eqAp+46VkuTNW0zHvs2by07vxO3c0iALCQmRJNWuXdsdtwMAAAAAAAAAIF8ZaalaM3u6qVazYWM16nijRYmsc/F0spZ8ZV7qz8PLrj6jWsrb1y0L0FVK7D9WNrilQdamTRtJ0uHDh91xOwAAAAAAAAAA8rX5x++UFH/BVOs+bESlmy2VmZ6lRR/tUEZqlqneY2hjhdUOtChVxWdkZipl61ZTzS+6nTVhKjm3NMieeOIJGYahKVOmuON2AAAAAAAAAADkkZJ4WRu+m22q1W0TraiWrS1KZJ3lM/bq/PFEU61pl5pq3jXCokSVQ9revXIkJ5tqzCCzhlsaZP369dOf//xn/fDDDxo/fryysrKKvggAAAAAAAAAABdaP+9bpSUnmWrdhg23KI11Ytec1O5VJ0210IgA9RjWxKJElUfu/ce86kTJMyzMojSVm9sWEX3jjTcUFRWlZ555RrNmzdKgQYPUuHFj+fv7F3ntQw895IaEAAAAAAAAAICKKuHcWW1Z9L2p1uTGHqpRr4FFiaxx/niilk3bY6p5+nio7+iW8vL2sChV5ZGyeZPp2L8ds8es4rYGWXJysuLj4+Xl5aWjR4/qzTffLNZ1NpuNBhkAAAAAAAAA4LqsmTVNWRkZzmO7h4e63veAhYncLz01U4s/3qHMDIep3usPTRRSM8CiVJVL7hlk7D9mHbc0yJKTk9W7d2+tWbNGkmQYhjtuCwAAAAAAAACAzh+L086lv5pqrW7pq5CalWe/LcMwtPTrPYo/Zd7/qkWPWmrcsaZFqSqXjBMnlHnqlKnmHxNjURq4pUH2v//9T6tXr5Ykde7cWY8++qhat26t4OBg2e1u2QYNAAAAAAAAAFBJrfzmCxnG1VlTnj4+6nLPUAsTud+ulSe0b8NpUy08qoq6DWloUaLKJ3nTZtOxR9Wq8q5Xz6I0cEuDbNq0abLZbLr99tv13Xff0RQDAAAAAAAAALjFib2x2r9hranWvv/dCggOsSiR+52Nu6wVM/aZat5+nuozqqU8vdh3zF1StpgbZH7t2slGv8QybvnOHz58WJL05JNP0hwDAAAAAAAAALiFYRhaMX2qqeZbJUjt77jHmkAWSEvJ1KKPtisr07zv2C0PNVPVcD+LUlVOefYfi4m2KAkkNzXIQkKudOLDwsLccTsAAAAAAAAAAHR46yYd27XDVOs88F75+PtblMi9DMPQb1/sVsK5VFO9zS2Rqt8u3KJUlVPW5ctK27PHVPOPpkFmJbc0yDp06CBJ2rt3rztuBwAAAAAAAACo5AyHQyumf26qVQkLV5vb+lmUyP22/XZMB7ecNdVq1AtSl4ENLEpUeaVs/V0yDOexzctLvi1bWpgIbmmQPfnkk5Kkd955R0aOFwAAAAAAAAAAAKUhdtUynT1yyFTreu8D8vT2tiiRe506eEmrZ+831XwCruw75uHJVkjulnv/Md+WLWX38bEoDSQ3Nch69eqlF154QatWrdLQoUN18eJFd9wWAAAAAAAAAFAJZWVmaNXMr0y1sMg6atb9JmsCuVlqYoYWf7JDDod5wsptI1uoSqivRakqt+RN5gaZX3Q7i5Igm6c7bvKvf/1LktSxY0d9++23+vHHH3XbbbepcePG8i/GWq8TJ04s7YgAAAAAAAAAgAri958X6dKZ06Zat2EPyW73sCiR+xgOQ79M3aXEC2mmekzfOqrTsppFqSo3IyNDKdu2mWr+MTEWpUE2tzTIJk2aJJvNJkmy2WxKSkrS/Pnzi309DTIAAAAAAAAAQHGkpyRr7ZxvTLWIJs1VP7qjRYnca/NPR3Rkx3lTLaJRsDreUc+iREiNjZWRkmKq+bVjBpnV3NIgk5Rn7zH2IgMAAAAAAAAAuNrGBfOUknDJVOt+/3DnJI6K7PjeeK2bf9BU86vipd5/bCG7B/uOWSVls3l5Re969eQZEmJRGmRzS4PM4XC44zYAAAAAAAAAgEos+dJFbVww11SrH91BtZu2sCiR+yQnpOunKTtlmptik3o/0kIBVX0sywUpefMW07FfTLRFSZATLWMAAAAAAAAAQIWwdu4MZaTmWMrOZlO3YcOtC+QmDoehnz/dqeRL6aZ6xwH1VLtpqEWpIF1ZTS958yZTzb8dDbKygAYZAAAAAAAAAKDcu3TmtH7/aaGp1rx7L4VH1bUmkBtt/OGQjsXGm2qRzUPV/va61gSCU8axY8o6e85U84tm/7GygAYZAAAAAAAAAKDcWz3zKzmyMp3HHp6e6nrvAxYmco+4Xee14cfDplpAsI9uG9lcNnvF33etrMu9/5hHaKi869a1JgxMaJABAAAAAAAAAMq1s0cOadfKpaZam979FRRe3ZpAbpIYn6afP90l5dh3zGa3qc8fW8ivird1weCUvMncIPOLbiebjcZlWUCDDAAAAAAAAABQrq385gvJuNol8vbzU6eB91qYqPRlZTn005QdSk3MMNW73N1ANzQMtiYU8kjZYm6Qsf9Y2UGDDAAAAAAAAABQbh3bvUMHN28w1drfMUj+QVUtSuQe6+Yf1Mn9l0y1uq3D1Pa2SIsSIbesS5eUtm+/qeYfQ4OsrKBBBgAAAAAAAAAolwzD0PJpU001/6rBiul/tyV53OXQtnPa8lOcqValmq9uGd6M5fvKkOQtW0zHNh8f+TZvblEa5EaDDAAAAAAAAABQLh3YuE4n98aaap3vGSpvXz+LEpW+hHMp+nXqLlPN7mlTn1Et5RvgZVEq5Cdls7lB5tuqpWze7A1XVtAgAwAAAAAAAACUOw5H1pW9x3KoWqOmWt/Sx6JEpS8rw6HFH+9QWnKmqd5tcCPVqBtkUSoUJGVzrv3HomMsSoL80CADAAAAAAAAAJQ7u5b9pvPHzMsMdr3vQXl4VtxZVKvm7NeZI5dNtYYx1dWyZy2LEqEgRnq6UrZvN9X8ottZlAb5oUEGAAAAAAAAAChXMtPTtfrbaaZaeN36atqlu0WJSt/+TWe0fckxU61qdT/1eqAp+46VQam7dslISzPV/Nu2tSYM8uVp5c0zMzMVHx8vSQoJCZGnp6VxAAAAAAAAAADlwNbFC3T5/FlTrfuw4bLZK+ackIunk/Xbl7tNNQ8vu/qObilvPz5XL4uSc+0/5tOooTyCg60Jg3y5/bfFzp07NXbsWDVr1ky+vr6qWbOmatasKV9fXzVr1kxjx47Vjh073B0LAAAAAAAAAFAOpCUnad28b021yOatVLdNtEWJlJjOOwABAABJREFUSldmepYWfbxDGalZpnqPoY0VVruKRalQlOTNm0zHfu0q5uuzPHNbg8zhcGjcuHFq27at3nvvPe3Zs0cOh0OGYcgwDDkcDu3Zs0fvvfee2rVrp7/85S9yOBzuigcAAAAAAAAAKAc2fDdHqYnmfbi63z+iwi4zuGLmPp0/lmiqNelcU81uvMGiRCiKYRhKyTWDjP3Hyh63zb0cOnSoZs+eLcMwJEktWrRQx44dVaNGDRmGoTNnzmjDhg3asWOHsrKy9NZbb+nEiROaMWOGuyICAAAAAAAAAMqwxPgL2vTjPFOtUccbdUOjJtYEKmV71p7UrpUnTLXQiAD1HNakwjYEK4KMI0eUdeGCqeYfE2NRGhTELQ2yadOmadasWbLZbGrTpo0++ugjdejQId9zN27cqEcffVRbtmzRrFmz9M0332jo0KHuiAkAAAAAAAAAKMPWzv5GmWlpzmObza6uQx+0MFHpOX8iUUun7THVPH081GdUS3n5eFiUCsWRvGmz6dgjPExetWtblAYFccsSix9//LEkqXHjxlq5cmWBzTFJat++vZYvX64mTZrIMAx9+OGH7ogIAAAAAAAAACjD4k+d0PbfFptqLXvdqmq1Ii1KVHrSUzO1+KMdykw3b0PU6w9NFHpDgEWpUFzJW8wNMv920cz4K4Pc0iDbtm2bbDab/va3vykgoOg3b0BAgP72t79Jkn7//ffSjgcAAAAAAAAAKONWffOlHFlZzmNPL291GXK/hYlKh2EYWjZtj+JPJZvqLbpHqHHHmhalQknk3n/MPybaoiQojFsaZOnp6ZKk1q1bF/ua7HMzMjJKJRMAAAAAAAAAoHw4fXC/9qxZYaq1u/0OVQkNsyhR6dm18oT2rj9tqoVFBqrbvY0sSoSSyIyPV/rBg6aaXzQNsrLILQ2yOnXqSJIuXbpU7GsSEhJM1wIAAAAAAAAAKqcV0z83HfsEBKjjXUMsSlN6zh69rBUz9plq3r4e6ju6pTy92HesPEjZYp49ZvPzk2/TphalQWHc0iC75557ZBiGZs+eXexrZs2aJZvNpoEDB5ZiMgAAAAAAAABAWXZk+1Yd2WZuOnS8a4h8AwMtSlQ60lIyteijHcrKNO87dvPwZqoa7m9RKpRUymbz/mN+rVvL5uVlURoUxi0Nsqeeekr169fXhx9+qJkzZxZ5/qxZs/Thhx+qXr16Gj9+vBsSAgAAAAAAAADKGsMwtGKaefZYYEio2vUdYFGi0mEYhpZ8sVsJZ1NM9TY3R6pBu+oWpcK1SN6Uq0EW3c6iJCiKWxpkVatW1S+//KLo6GgNGzZMd999t+bNm6fjx48rIyNDmZmZOn78uObNm6eBAwfqvvvuU3R0tH799VdVrVrVHREBAAAAAAAAAGXM3rWrdPqgecnBLoPvl5ePr0WJSse2Jcd0YMtZU61GvSB1GdTAokS4Fo60NKXu2GGq+UfHWJQGRfF0x008PK6ujWoYhr7//nt9//33BZ5vGIY2btyo+vXrF3iOzWZTZmamS3MCAAAAAAAAAMqGrMxMrZrxhakWckMttex1m0WJSsepQ5e0evZ+U80nwFN9RrWUh6db5rjARVJ37JCRkXG1YLPJr20b6wKhUG5pkBmGUehxca4BAAAAAAAAAFQeO5b8rPiTJ0y1bkMflD3HhIzyLjUpQ4s/3iFHlvnz8FtHNFeV0Io1S64ySM61/5hP48byqFLFojQoilsaZM8995w7bgMAAAAAAAAAqAAy0lK1ZvZ0U61mg0Zq1KmrRYlcz3AY+nXqLiVeSDPVo/vUUd1WYRalwvVI2bzFdOwfE21REhQHDTIAAAAAAAAAQJmyeeH3Soq/YKp1v3+EbDabRYlcb8vPcTq8/bypFtEoWJ3urGdRIlwPw+FQSq4ZZH7taJCVZSxgCgAAAAAAAAAoM1ISL2vD/FmmWp3W7RTVsuLs5XRiX7zWzj9oqvlV8VLvR1rI7sHH9uVR+qFDyrp0yVTzj25nURoUB+80AAAAAAAAAECZsX7et0pLTjLVut8/wpowpSA5IV2LP9kpw5Fj3zGbdNsjLRQQ7GNdMFyX3PuPedasKc+ICIvSoDhokAEAAAAAAAAAyoTL589p66IFplqTG3uoRr0GFiVyLYfD0M+f7lTypXRTveOAeopsGmpRKrhCyiZzg8w/ul2FWhK0InLpHmRffPGF8/FDDz2Ub/1a5BwLAAAAAAAAAFAxrf52mjIzrjaP7B4e6nrfAxYmcq2NPx7Wsdh4Uy2yWYhibq9rTSC4TPIW9h8rb1zaIBsx4somiTabzdTUyq5fi9xjAQAAAAAAAAAqnvPHjmrn0l9MtVa39FVIzYqxTN3R3Re04YdDplpAVW/dOrKF7HZmGpVnmefOKeNInKnmH0ODrKxzaYNMkgzDKFEdAAAAAAAAAICV33whw3A4jz19fNTlnqEWJnKdxPg0/fzpTinntmN2m3qPain/IG/rgsElcu8/Zvf3l0/jxhalQXG5tEF26NChEtUBAAAAAAAAADixN1b7N6wx1dr3v1sBwSEWJXIdR5ZDP03ZoZTLGaZ657vrK6JhsDWh4FIpm7eYjv3atpHN0+Xzk+BiLv0J1alTp0R1AAAAAAAAAEDlZhiGVkyfaqr5VglS+zsGWRPIxdZ9d1An918y1eq2DlO7W6MsSgRXy7P/WHSMRUlQEm5pYcbFXVl7MzAwUKGhoe64JQAAAAAAAACgHDi8dZOO7dphqnW6e4h8/AMsSuQ6h7ed0+bF5r2pqoT66pbhzWRj37EKwZGSotSdu0w1/+h2FqVBSdjdcZO6deuqXr16+uabb9xxOwAAAAAAAABAOWA4HFox/XNTrUq1cLXt3d+iRK6TcD5Fv0w1N07sHjb1GdVSvgFeFqWCq6Vs3y5lZl4t2O3ybd3GukAoNrc0yPz8/CRJHTp0cMftAAAAAAAAAADlQOzq5Tp75JCpduO9f5Cnt7dFiVwjK9OhxR/vVFpypqnedXBD1agXZFEqlIbc+4/5Nm0qj8DyP/uxMnBLg6xWrVqSpKysLHfcDgAAAAAAAABQxmVlZmjVzK9MtWq1o9S8Ry+LErnO6tn7deZwgqnWILq6Wt1U26JEKC3JmzeZjv2ioy1KgpJyS4Osd+/ekqSVK1e643YAAAAAAAAAgDJu2y+LdOn0KVOt27Dhsts9LErkGvs3ndG2JcdMtarhfrr5waay2dh3rCIxHA6lbP3dVGP/sfLDLQ2yJ598Un5+fnr11Vd1/Phxd9wSAAAAAAAAAFBGpaemaO2cGaZaRJPmahDT0aJErnHxTLJ++3K3qebhaVffR1vK28/TolQoLWn798uRYJ4pyAyy8sMtDbJGjRpp2rRpSk5OVufOnTVt2jSlp6e749YAAAAAAAAAgDJm04J5Sr500VTrfv/wcj3DKjM9S4s/3qGMVPNWQz2GNlZY7SoWpUJpStm82XTsFREhr5o1LUqDknJLy/rmm2+WJIWHh+vQoUN68MEH9cgjj6hRo0YKCQmRh0fBU2ZtNpt+/fVXd8QEAAAAAAAAAJSy5IRL2vD9HFOtfnQH1W7a4v+xd9/hUZVp/8C/Z1oykx4S0ggttEAoSQDpJSIdARVFLLC6uO6irquru++rv3eL23TdJou6YF0VVFQsoNSE3pNACCRAQoD0Qnpmkmnn90cg5CQzqTNzUr6f6/Jyzj3Pec4dyCTD3Od5bpkycoxDWy+jJLtaEht+RzAip4bIlBE5m75JgYyrx7oXlxTI9u/fL6n8i6KIuro6pKam2j1HEASIotit7xggIiIiIiIiIiIiIqkTX30GU63hdkAQMO3B1fIl5AAXTxTgwqE8ScwvxAMzVw3nZ9w9mCEpWXKsi2WBrDtxSYFsxowZ/CFARERERERERERE1MtVFBXi7J7vJbGR02cjsP9AeRJygNK8Guz/JF0SU2kUmP9EFNRu9ndPo+7NVFgEU06OJMYVZN2Ly1aQEREREREREREREVHvdvTzj2ExmxuOlSoVpqx4SMaMOsdUZ8HOjedgNlol8VkPjYB/iIdMWZErGJKl2ysqvLzgNmSITNlQRyjkToCIiIiIiIiIiIiIer7ia1m4cHi/JDb2roXw6RskT0KdJIoiDmy+iLICvSQ+cnooht8RLFNW5Cr6xCb9x8aNg6DkisHuxCUryK5fvw4ACAsLg7KN3yAWiwW5ubkAgP79+zstNyIiIiIiIiIiIiJyvsOf/hcQxYZjjVaLO+55QMaMOiftSD4uniiQxALCPTH9/qEyZUSuZEiSFsh0MdEyZUId5ZIC2cCBA6FQKJCSkoKRI0e26ZyrV69i6NChUCgUMDdacktERERERERERERE3UtOWiquJJ2SxMYvvgc6bx+ZMuqc4uwqHPz0kiSmdldi3tooqNRcRdTTWWtqUJsu7TunjYmVKRvqKJdtsSg2ujPAFecRERERERERERERkfxEUcShzR9KYjofX8QuXiZPQp1kNJixa2MqLGZp37E7H42Eb1+dTFmRKxlSUgCL5XZApYJ2zGj5EqIO6bI9yG4VxhSKLpsiEREREREREREREbUiM/Ek8i6lSWKT7nkAGnetTBl1nCiKiP8oDRXFBkl8TFw/RMT0lSkrcjV9k+0V3SMjodB2v+/n3q7LVp/y8/MBAF5eXjJnQkREREREREREREQdYbVacHiLdPWYT1AwxsyZL1NGnXNufw4yk4olsb4DvTHlniEyZURyMCQlS451MTEyZUKd4ZIeZLcIgtDqGJPJhMzMTPzxj38EAAwfPtzZaRERERERERERERGRE1w4mIAbOdclsan3PwylSi1TRh1XmFWJI19kSGJuOhXmrR0FparLrkUhBxMtFhjOnJHEtCyQdUtOKZAplc2bEIqiiKioqHbNIwgC7rvvPkelRUREREREREREREQuYjYacfTzTySxwIGDMWLKDJky6rjaGhN2bUqF1SJK4nPWjIR3H26t15vUXboEa02NJKaLiZYpG+oMpxTIbvUPa2vcnvvvvx/PPvusAzIiIiIiIiIiIiIiIlc6s3sHqm5ItyOc/uBqCIrutdpKtIrY98EFVJXWSuIx8/pj4JgAmbIiuTTtP6bu3x+qwECZsqHOcEqB7De/+Y3k+He/+x0EQcCTTz6Jvn3tNyoUBAHu7u4ICQnBlClTEBER4Yz0iIiIiIiIiIiIiMiJ6vQ1OLHtc0ksfORoDBzb/baiS957HVfP3ZDEQob44I67B8uUEcnJkCgtkOmiuXqsu3JZgQwA1q1bh5EjRzrjkkRERERERERERETURZz69ivUVldJYtNXrYEgCDJl1DF5l8tx/OsrkpjWS415P46CQtm9VsKRY+iTkyXH7D/WfTmlQNbU+++/DwDo16+fKy5HRERERERERERERDKpLitF4vdfS2JDJ05ByNDh8iTUQfpKI3a/kwrR2qh1kADc9dgoePi6yZcYycaUlwdzfr4kpotlgay7ckmBbPXq1a64DBERERERERERERHJ7PiXn8JcV9dwLAgKTH3gERkzaj+rVcSe986jpsIoiU9YNAjhkf4yZUVy0ydJV48pfHygGcytNrsrlxTI7CkuLsZbb70FAPi///s/OVMhIiIiIiIiIiIiok4qK8jDufhdktioWXPQp1+4TBl1TOIPV5GTXiaJ9Rvhh/ELB8qTEHUJhqQm/cfGjYOg4Fab3ZWsf3NFRUX47W9/29CjjIiIiIiIiIiIiIi6ryOffgSrxdJwrFJrMGXFKhkzar/s9FKc3J4liel8NLjrsVFQKLpXDzVyrGb9x2JjZcqEHIGlTSIiIiIiIiIiIiLqtMIrGbh47JAkNm7+Ynj1CZApo/arKa/DnnfPA43bjikEzPtxFHTeGvkSI9lZqqtRd/GiJKaLiZYpG3IEFsiIiIiIiIiIiIiIqNMObflQcuzm4YGJy1bIlE37WS1W7H73PAxVJkl80tLBCB3qK09S1GUYzpwFrNbbAbUa7lFR8iVEncYCGRERERERERERERF1yvXUs7iWIt1+bsLd90Hr6SVTRu134tss5F0ul8QGju6D6Lv6y5MQdSlN+49pR42Cwt1dpmzIEVggIyIiIiIiIiIiIqIOE0URhzZ/IIl5+vkjZsESeRLqgKvnSpC065ok5unvhjvXjITAvmMEQN+0QBYTI1Mm5CgskBERERERERERERFRh10+cQQFmZclscn3rYLarXusrqm8YcDe9y9IYgqlgHlro+DuoZYpK+pKRLMZhpQUSYz9x7o/lZwX9/DwwIwZMyAIrMATERERERERERERdTdWiwWHP/1IEvMLCUPU7Ltkyqh9LGYrdr9zHnV6syQ+5d4hCB7kI1NW1NXUpl+EqNdLYlxB1v3JWiAbOHAg9u/fL2cKRERERERERERERNRBqQl7UJafK4lNW/kIFEqlTBm1z7GvMlGYVSmJRUQHYszsfjJlRF2RISlRcqwZOBAqf3+ZsiFH4RaLRERERERERERERNRuprpaHP1isyQWHDEUQ++YKlNG7ZOZVISz8dmSmE+gFrMfjeSuZyShT0qWHHP1WM/AAhkRERERERERERERtVvSD9+hpqxUEpu+ak23KC6VF+kR/980SUypUmDeE1Fw08q68Rp1MaIowpAoXUGmi2WBrCdw6Cv9v//9ryOna/Doo486ZV4iIiIiIiIiIiIiaj9DdRVOffOFJDZgTDT6R42VKaO2M5ss2LUpFcZaiyQ+/YGhCAz3kikr6qpMubkwFxdLYtpoFsh6AocWyNascfzdAYIgsEBGRERERERERERE1IWc/Hor6vQ1ktj0B1fLlE37HP78MkqyqyWxYXcEYeS0UJkyoq7MkJQkOVb6+UEzaKA8yZBDOXytqCiKjp6SiIiIiIiIiIiIiLqIqhslOLNzuyQ2fPJ0BA0eIlNGbXfxRAHOH8qTxPyCdZj54PBusTUkuZ4+UVog08bE8Hulh3BogSwrK8vuc2VlZfjJT36CU6dOISoqCqtXr8bEiRMRFBQEURRRVFSEU6dO4cMPP8S5c+cwceJE/Oc//4Gvr68jUyQiIiIiIiIiIiKiTjj2xWaYTcaGY4VSiakrH5Exo7Ypza/B/s0XJTGVRoH5T4yGxp19x8i2pivIdDHRMmVCjubQV/2AAQNsxo1GI+677z4kJSXh97//PV566aVmFdbhw4dj+vTp+MUvfoE//elP+H//7/9h7dq1OHz4sCNTJCIiIiIiIiIiIqIOupGbjdSEvZLY6Lh58Avu2tsTmuos2LkxFeY6ad+xWQ+NgH+oh0xZUVdnqahAXUaGJKaNYf+xnkLhiousX78eiYmJWLFiBV5++eUWlx8KgoCXXnoJ999/PxITE/Gvf/3LFSkSERERERERERERUSuOfPoRRNHacKxyc8Pk+x6UMaPWiaKIA5svoixf2jNt5LRQDL8jWKasqDswnDkDNGorJWg0cB81Sr6EyKFcUiDbvHkzBEHAmjVr2nzOj370I4iiiE8//dR5iRERERERERERERFRm+RfvojLJ49KYrELl8HD10+mjNom7Wg+Lp4okMT69PPE9PuHypQRdRf6pGTJsfvo0VBoNDJlQ47mkgJZZmYmACAoKKjN5/Tt21dyLhERERERERERERHJQxRFHNr8gSTm7uWNCXffI09CbVSSU4WDn16SxNTuSsxfGwWVRilTVtRdNO8/xu0VexKXFMjEm0sQL1++3OZzbo0VGy1fJCIiIiIiIiIiIiLXu3o2CdkXzklidyxbATdd1+3fZTSYsXNjKiwmqyQe90gkfIN0MmVF3YVoNMKQkiKJaWOiZcqGnMElBbLIyEgAwD//+U9YrdZWRgNWqxX/+Mc/JOcSERERERERERERkeuJVmuz1WNefQIxbu4ieRJqA1EUEf9ROiqKDJL46Nn9MCS2r0xZUXdSm5YGsa5OEtNFs0DWk7ikQPbII49AFEWcOHECy5YtQ0FBgd2xhYWFuOeee3DixAkIgoBHH33UFSkSERERERERERERkQ3pRw+i+FqWJDbl/oeg6sK9mM7tz0VmUpEk1negN6beO0SmjKi7adp/TDMkAkpfX3mSIadQueIiP/3pT7FlyxYcPXoUO3bswODBgzF37lxMmDABffv2hSAIKCwsxKlTp7B7927U3azKTp06FU8++aQrUiQiIiIiIiIiIiKiJixmE458/rEk1qdff4ycMVumjFpXeLUSR76Qtvtx06kw78ejoFS5ZM0I9QCGpETJsS6a/cd6GpcUyBQKBXbu3IlVq1Zh+/btqK2txXfffYfvvvuu2dhbPceWLFmCTz75BAoFf2ARERERERERERERySFl705UFEp3BJu28lEoFEqZMmpZbY0JuzamwmoRJfE5a0bCO0ArU1bU3Yii2GwFmTaGBbKexmXVJ09PT3z77bf45ptvsGDBAmi1WoiiKPlPq9ViwYIFDeM8PT1dlR4RERERERERERER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j6JPatp/LEamTKirY4GMiIiIiIiIiIiIyMVK83KQmrBHEhsdNxd+IY5fzVVWUIOEj9MlMZVagflPREHjrnL49YjkYjUaUXvunCTG/mNkDwtkRERERERERERERC52+NP/QrRaG45Vbm6YdO+DDr+OyWjBrk2pMNVZJPEZDw5HnzBPh1+PSE61qechGm+vyoQgQDtunGz5UNfGAhkRERERERERERGRC+VnXMTlE0clsdiFS+Hp5+/wax369BJu5NZIYiOmhCBySojDr0UkN0OydHtFtyFDoPTxkSkb6upYICMiIiIiIiIiIiJyEVEUcWjzh5KYu6cXJtx9r8OvlXY0H2lH8yWxPmEemLFymMOvRdQV6JOSJcfsP0YtYYGMiIiIiIiIiIiIyEWunU1C9vkUSeyOZSvgpvNw6HVu5Fbj4JaLkpjaTYl5a6Og1igdei2irkAURRiSpCvIdLEskJF9LJARERERERERERERuYBoteLgFunqMc8+ARg3b7FDr2OsNWPnxlSYTVZJfPYjI+AX7NhCHFFXYcy6CktZmSTGFWTUEhbIiIiIiIiIiIiIiFwg/dghFF+9IolNWbEKKo3GYdcQRRH7P05HeaFeEo+aGYah44Mcdh2irqZp/zFVYCDUYWEyZUPdAQtkRERERERERERERE5mMZtw5LOPJDH/sHCMmnGnQ69z/lAeLp8uksQC+3th2n1DHXodoq5GnygtkGljYyEIgkzZUHfAAhkRERERERERERGRk53btxsVhQWS2LQHH4VC6bh+YMXXq3Do80uSmEarwry1UVCq+VEw9WzN+o/FRMuUCXUX/KlIRERERERERERE5ETGWgOOfblFEgsZNgJDxk9y2DXq9Cbs3HgOVrMoid+5OhI+gVqHXYeoKzKXlsJ49aokpo1m/zFqGQtkRERERERERERERE6UtOMb6CvKJbEZD65x2PZvoihi34dpqCyplcTHzQnH4HGBDrkGUVfWdPWYoNPBPXKETNlQd8ECGREREREREREREZGT6CsrcOq7LyWxQdHj0W9klMOucXZfNrLOlkhiwYO9MWl5hMOuQdSV6ZOSJcfaMWMgqFQyZUPdBQtkRERERERERERERE5y8uvPYTQYbgcEAdMfXO2w+QuuVODYV5mSmLuHGnN/HAWlkh//Uu/A/mPUEfwJSUREREREREREROQElcVFOLNrhyQWOW0WAgcMcsj8hmojdm1KhdUq7Ts257GR8PJ3d8g1iLo6a20tDOfPS2LamFiZsqHuhAUyIiIiIiIiIiIiIic4uvUTWMzmhmOFUoWp9z/kkLlFq4i976ehuqxOEo9dMAADRvVxyDWIuoPa1FTAZLodUCigHTdWvoSo22CBjIiIiIiIiIiIiMjBSq5fxfmD8ZLY2LkL4NM32CHzJ+2+huvnb0hiYcN8MXGxY1anEXUXTfuPuQ0fDqWnp0zZUHfCAhkRERERERERERGRgx369L+AeHvrQ7W7FpOWP+CQuXMvluHEN1ckMa23Bnc9PgoK9h2jXsaQmCg51kWz/xi1DX9aEhERERERERERETlQTvp5XEk8KYmNX7wcOh/fTs9dU1GH3e+eb1x7gyAAcx8fBQ8ft07PT9SdiFYr9GfOSGLamBh5kqFuhwUyIiIiIiIiIiIiIgcRRRGHNn8oiWm9fTB+8bJOz221itjz3nnoK42S+MQlg9FvuF+n5yfqboxXrsBaUSGJ6WJZIKO2YYGMiIiIiIiIiIiIyEGuJJ1C3sULktikex6ARqvr9Nyntmch92K5JNZ/pD9i5w/o9NxE3ZE+MUlyrAoJgTokRKZsqLthgYyIiIiIiIiIiIjIAaxWCw5vka4e8w4Mwpg5Czo99/XzN3D6h6uSmIevG+Y8NhKCQuj0/ETdkSFJWiBj/zFqDxbIiIiIiIiIiIiIiBwg7dB+lGRfk8SmPvAwVGp1p+atLqvFnvcvAI36jikUAuatjYLWU9OpuYm6M31ysuRYy+0VqR1YICMiIiIiIiIiIiLqJLPJhKNbP5HEAvsPROTUmZ2a12KxYtem86itNknik++JQEiET6fmJurOzMXFMF2/LonpYlggo7ZjgYyIiIiIiIiIiIiok87u/h6VxUWS2LRVqyEoOvcR7PGvr6DgSoUkNmhsAMbeGd6peYm6O32SdPWYwsMDbsOGyZQNdUcskBERERERERERERF1Qp1ejxPbPpPE+kVGYdC48Z2a98qZYpzZI10h4x3gjrhHIyEI7DtGvZshKVFyrB03DoJSKVM21B2xQEZERERERERERETUCae3fwVDVaUkNn3Vmk4VsSpLDIj/b5okplDV9x1z9+hcTzOinqDpCjJtTLRMmVB3xQIZERERERERERERUQfVlJchcfvXktiQCZMQOmxEh+e0mKzYtSkVdXqzJD7tvqHoO8C7w/MS9RRWvR61adICMvuPUXuxQEZERERERERERETUQce/+hSmutqGY0FQYNrK1Z2a88iXGSi6ViWJDR3fF1Ezwzo1L1FPYUg5B5gbFZCVSmjHjJEvIeqWWCAjIiIiIiIiIiIi6oDygnyk7N0piY2adSf69Avv8JyXTxfi3P4cScw3SIdZD49g3zGimwzJSZJj9xEjoPDwkCkb6q5YICMiIiIiIiIiIiLqgCOffwyrxdJwrFSrMfm+VR2er7xQj4SP0iUxpVqB+U9EQeOu6vC8RD1N8/5j3F6R2o8FMiIiIiIiIiIiIqJ2KszKRPqRA5LYuHmL4R0Q2KH5zEYLdm48B1OdRRKf+eAw9Anz7HCeRD2NaLHAkCwtkOliWSCj9mOBjIiIiIiIiIiIiKidDn/6X8mxRqvDHctWdHi+g59dwo3cGklsxORgRE4J7fCcRD1RXUYGrNXVkpg2mgUyaj8WyIiIiIiIiIiIiIjaIft8Cq6eSZTEJi69D1ov7w7Nl34sH2lH8iUx/1APzHhweIdzJOqpDEnS/mPqsDCog/rKlA11ZyyQEREREREREREREbWRKIo4uPkDSczD1w8xC+7u0Hw3cqtxYPNFSUztpsT8J6Kg1ig7miZRj6VPlBbItNxekTqIBTIiIiIiIiIiIiKiNso4eQwFGZckscn3PQi1u3u75zLWmrFrUyrMJqskPuvh4fAL9uhUnkQ9VdMVZLoYFsioY1ggIyIiIiIiIiIiImoDq8WCQ016j/mFhCJq9tx2zyWKIvZ/chFlBXpJPGpGGIZNCO5UnkQ9lamgAKa8PEmM/ceoo1ggIyIiIiIiIiIiImqD1P17UZaXI4lNfeARKFWqds91/lAeLp8qlMQC+3th6oohncqRqCdrunpM4eUFt6F8zVDHsEBGRERERERERERE1AqTsQ7HvtgsiQUNHoJhd0xt91zF16tw6HPpNo0arQrz1kZBpWbfMSJ79EnJkmNt9DgICpY5qGP4nUNERERERERERETUiuQfvkN16Q1JbPqDa9r94XydwYydG8/BahYl8TsfjYRPoLbTeRL1ZOw/Ro7EAhkRERERERERERFRC2qrq3Hym62SWP/R4zBgzLh2zSOKIuL/m4bKklpJfOyd4RgcHdjZNIl6NEt1DWrT0yUxLQtk1AkskBERERERERERERG14OS3X6CupkYSm7FqTbvnSYnPwZXkYkkseLA3Jt8T0Zn0iHqF2pSzgNV6O6BSQTt6tHwJUbfHAhkRERERERERERGRHVWlJUj+/ltJbNjk6QgaPKRd8xRcqcDRLzMkMXcPNeb+OApKJT+mJWpN0/5j7qNGQqHltqTUcfzJS0RERERERERERGTHsS+2wGwyNhwLCgWm3v9wu+aorTZh16ZUWK3SvmNzfjQSXv7uDsmTqKczJCVKjnXR3F6ROocFMiIiIiIiIiIiIiIbSvNykJqwRxIbHTcX/qFhbZ5DtIrY+8EFVJfVSeKx8wdgQFQfh+RJ1NOJZjMMZ85KYtqYaJmyoZ6CBTIiIiIiIiIiIiIiG458+hHERj2PVBo3TL73wXbNkbT7Gq6l3pDEQof6YuKSQQ7Jkag3qLt0CVa9XhLTxXAFGXUOC2RERERERERERERETRRkXMKlE0cksZiFd8PTv+2rvnIvleHEN1ckMa23BnN/PAoK9h0jajN9YpLkWD2gP1QBATJlQz0FfwoTERERERERERERNSKKIg5t+UASc/fwxIS7723zHPpKI3a/ex5io7ZjggDMfXwUPHzcHJQpUe9gSJYWyNh/jByBBTIiIiIiIiIiIiLqNXLSz7c65lpKMq6npkhiw6fOgLuHZ5uuYbWK2P3ueegrjJL4xCWD0G+4X9uTJSKIothsBZk2lgUy6jwWyIiIiIiIiIiIiKhXOLr1E3z2m1/h5Ddf2B0jWq04tPlDSUyj0+Hs7u9xdOsnbbrOqR1ZyL1YJon1H+mP2PkD250zUW9nzsuDubBQEmP/MXIEFsiIiIiIiIiIiIiox8tJP49jX2wBABza/IHdIlnGyWMoupopiRn1egDAsS+2tLoC7fqFGzj9/VVJzMPXDXN+NBKCQuhg9kS9lz4pWXKs9PGBZtAgmbKhnoQFMiIiIiIiIiIiIurx+o0Yhemr1jQc2yqSiRYLTny1xe4c01etQb8Ro+w+X11Whz3vXQAa9x1TCJj341HQemk6nDtRb6ZPSpQca2NiIChY2qDOU8mdABEREREREREREZErTFx6H4D64ljj/4+euwgAUJl5EZVFhbZOxfRVaxrOt8VisWL3u6morTZJ4pOXRSBkiG/nEifqxQxNVpBpY6JlyoR6GhbIiIiIiIiIiIiIqNewVSQzmUywQo3S1CSb57RWHAOAE19fQX5GhSQ2aGwAxt0V3vmkiXopS1UV6i5dksTYf4wchQUyIiIiIiIiIiIi6lWaFsmOb/0E2uAwWGoNzca2pTiWdbYYyXuuS2JefdwR92gkBIF9x4g6ynDmDCDe3rNUUKvhHhUlX0LUo3CjTiIiIiIiIiIiIup1Ji69T9KTzFCQ22xMW4pjlSUG7PswTRJTqATMfyIK7h5qh+RK1Fvpk6SrOt2joqBwc5MpG+ppWCAjIiIiIiIiIiKiXsdiNsOrTwA8/PxtPh+9YEmrxTGLyYpdm1JRpzdL4tPuG4q+A7wdlitRb8X+Y+RM3GKRiIiIiIiIiIiIeo06fQ1S9u1C8g/foepGsc0xSpUKcWt+0upcR77KQNG1KklsSGxfRM0Mc0iuRL2ZaDLBcPasJKaLjZUpG+qJWCAjIiIiIiIiIiKiHq+yuAhJP3yDc/G7YTQ07zXWmMVsxslvvmhxBVlGYhHOJeRIYj59tZj98Aj2HSNygNr0dIi1tZKYNporyMhxWCAjIiIiIiIiIiKiHqsg4xJOb9+GSyeOQLRaWxwrKFUQLfXbJR7a/AEA2CySlRfqEf+RtO+YUq3A/CdGQ6PlR65EjmBo0n9MM2gQVH5+MmVDPRF/WhMREREREREREVGPIlqtyEw8idPbtyE3/XybzvEfOx7+o6IRYNLj+NZPANgukpmNFuzcmApTrUVy/oyVwxDQz9MxXwARQZ8oLZBpY2NkyoR6KhbIiIiIiIiIiIiIqEcw1dXi/IF4JH3/Ncry81oYKQAQG44mrXgIJWodACBm0TKo1eqG4ljTItmhzy7hRm61ZLYRk4IROSXEUV8GUa8niiL0ydICmS6aBTJyLBbIiIiIiIiIiIiIqFurKS/DmV3bcWbPD6itqrQ7Tu3mjsABg5B36fb2iNNXrcHouYuwe/fuhlhDMaxJkcw7aCouHMmXzOkf6oEZDw5n3zEiBzLl5MBSXCKJaWPYf4wciwUyIiIiIiIiIiIi6pZKsq8hccfXSDuUAIvZbHecp58/xs1fAovRiGNfbmmIT1+1BhOX3geDwdDsHFtFMo1nJhTqCQ1jVG5KzFsbBbWb0kFfEREBgD4xUXKs9PeHZuBAeZKhHosFMiIiIiIiIiIiIuo2RFHE9XNncXrHNlw9k9ji2MD+AxG7eDlGTJ2B/IxL+Ow3v2p47lZxrCVNi2TG6kPQeIVCoQoDAMx+aDj8Qzw68dUQkS2GpGTJsTYmmqs0yeFYICMiIiIiIiIiIqIuz2I2If3IQSTu+BrF17JaHDtwXCzGL1qO/qPHNnyo3m/EKEy+70Ec+2JLm4pjt0y4+15cPlWIgss/QOk+qaE4NmpGGIZNDO7cF0VENhnYf4xcgAUyIiIiIiIiIiIi6rJqq6txdu8POLPzO1SXldodp1SpEDl9NmIXLUNA+ACbY6aseAj9R49DvxGj2nz9C4fzUF4SCY2Xd0NxLCDcE9NWDGnfF0JEbWIpL0fd5QxJTBfLAhk5HgtkRERERERERERE1OWUFxYg6ftvkJqwB6a6Wrvj3D29MG7uQoybtxgevn6tztue4ljx9Soc+uwyADQUxzTuSsx/IgoqNfuOETmD/swZybHg5gb3kSPlSYZ6NBbIiIiIiIiIiIiIqMvIu5SG09u3IePkcYii1e44v5BQxCxchlEz46B2c2/7/BnlCB3i2+q4OoMZOzelwmKW5hC3OhI+gbo2X4+I2qdZ/7HRoyFoNDJlQz0ZC2REREREREREREQkK6vVgoxTx3F6+zbkX0pvcWzYiFEYv3g5ImInQlAo2nWdk99dwakdVzF5eQRi5tnehhEARFFEwn/TUFlskMSDBnojIrpvu65JRO2jT0qUHGtjuL0iOQcLZERERERERERERCQLU20tUvfvQeL336CisMDuOEGhwLA7pmL84uUIHjKsQ9fKyyjHqR1XAQDHtmUCgN0iWUpCDjKTi5vFC69WtnkFGhG1n2gyofZcqiSmjYmWKRvq6VggIyIiIiIiIiIiIpeqLr2B5F3bkbLnB9TWVNsdp9FqMTpuLmIWLIV3YOdWboUO8cXk5RENxTF7RbKia1U4+mWGzTkmL49gcYzIierS0iDW1UliumgWyMg5WCAjIiIiIiIiIiIilyi+loXEHV8j7fABWC1mu+M8+wQgZsHdGHPnPLjpPBx2/VvFsKZFssgZ9cU3ixFI+PASrBax2bmtbctIRJ1Xd+aM5Nht6BAofXzkSYZ6PBbIiIiIiIiIiIiIyGlEUcS1s0k4veNrXEtJbnFs30ERGL94OYZNmgalyjkfXdoqkplMJogiUJaiRW2Zsdk5LI4RuUbdmbOSY200+4+R87BARkRERERERERERA5nNpmQdjgBidu/xo2c6y2OHRwzAeMXL0e/kaMhCILTc2taJDu9/TrcArSoK2n+cemkpYNZHCNyBVFEbZMVZLpYFsjIeVggIyIiIiIiIiIiIocxVFXi7J4fcGbXdtSUl9kdp1JrMHJGHGIWLUWfsHAXZlgvZt4AiKKI419fAQCbxbHY+QMQu2CgizMj6p3UJSWwlkl/ZmhjWCAj52GBjIiIiIiIiIiIiDqtrCAPiTu+wfn9e2E21tkdp/X2wbi5izBu3iLovOXpLWSxWHElqRhXkovtjomcGoJJyyJcmBVR76a9ek1yrAwMgLpfP5myod6ABTIiIiIiIiIiIiLqEFEUkXvxAhK3b0PG6ROAKNod6x/aD7GLlyFy+myoNW4uzPK2Or0JZz47hfRLIqrL7BfxlGoF4h6JlMT0iYnQxcY6O0WiXkt79arkWBcT65ItV6n3YoGMiIiIiIiIiIiI2sVqseDyyaM4vX0bCjIutTg2fNQYjF+8HIPGxUJQKFyUoVRFsQEpCdm4sP8azFZlq+MtJiuSdl1r6D1WsmkTiv/2dwSsW4fAp59ydrpEvZL2mnQFmS4mWqZMqLdggYyIqJvo6J1qvMONiIiIiIiIHMVo0ONc/B4k/fANKouL7I5TKJUYPnk6YhctQ9DgIS7M8DZRFFFwpRJn917HlTPFNxe3tVwcE9QiRFP9ipVj2zIBAP2v70bx3/4OACjZsAEeUybz39lEHWTvcypldTU0xdItTxv3H+PnW+QMLJAREXUDxev/jZINGxD4/HMIWLu2zefxDjciIiIiIiJyhKobJUj64Vuc27cLdfoau+M0Wh3GzJmP6PlL4B0Q6MIMb7NarMhMLsbZfdkozKps83new+rgHWFEsHIUTm+/DqC+SFaUeQ4Dbo4JfP45fkhP1EEtfb7l3mT1mKDVwn3ECAD8fIuchwUyIqIuTp+YiJINGwCg4Y61thTJbr15AHiHGxEREREREXVMYVYmErdvw8Vjh2C1WOyO8w7si5gFSzE67i5otDoXZnhbncGMtCN5OBufjepS+/3FBIjQVeehxjOsITZ+cX8UWM4DAMbcGQa1Wt2wgiwzYln9mPtHt+umVSK6rbXPt5pur6gdMwaCWs3Pt8ipWCAjIuridLGxCHz+uYY3A20pkjV+8wDwDjciIiIiIiJqO9FqRdaZRJzevg3Z51NaHBscMRTjl9yDoROnQKFsvbeXM1SWGJCSkIMLR/JgqrVfxFO7KzFyaigUSgHJu4WGeETm1xhwPRIFYaENsf7Xd6Mo81xDcSwzYhn69o9AgNO+CqKerbXPt7RXmxTIYqL5+RY5HQtkRETdwK03C20pktl688A73IiIiIiIiKg1ZqMRFw7FI3H71yjNy7E/UBAQEXsHxi9ehrARoyAIgv2xTlRwpQJn9mbjSnLRzf5itnn5u2NMXD+MnBqK1IO5DSvDgJvFsew9KHtjD/wWzEf51Kko37gJ5W+91bCt4q0i2a3zYuYNABG1n73Pt7QrVsAtR/ozx1xYhIqvvmo45udb5AwskBERdRNtKZKxOEZERERERETtpa+swJldO3Bm9w4YKivsjlNp3DBq5p2IXbQUfiFhdsc5k9VixZUzJTi77zoKrrTcX6zvQG+MmxOOiOhAKJQK5GWUS4pjk5dHoP/10Sj+2x4AQOAPOxH4w06UN5pjQHb9c42LZHW/ewZ+1VcBhQJQKOoLhLYe3/w/FAIEwc5jhbLNYwSFANgbIygApVIyxuZ45c28bIxpeCwZI9geb3dMk/HKFsYoFIAgQFAq2z/mVrzpmCZ/B83GKG7+Odn5O4MgyFbw7S1sfb7lee0aFE22cGVxjFyBBTIiom6kpSIZi2NERERERETUHqV5OUjc/jUuHIyH2WS0O07n44vo+Usw9q4F0Hp5uzDD24wGM9KO5uNsfDaqbtTaHScIwOBxgRg7pz+CB3tLih2hQ3wxYdFAnNpxFRPvCsLAgv2o2L2n1Ws3LpINvLoDvqWX0HjBWguL16g7EoQWi2gNj9s0RtGokNmZYqrjC67N402Lk9KCa4tjbsYbP25czLxdpKwfox09Gr7334/yzz8HAFR/8aXdvw5+vkXOxAIZEVE3Y6tIVvLvDRDrbjcg5psHIupu9ImJHdpLvqPnEREREfVWoigi58I5nN6+DVeSTrU4tk+//hi/eDlGTJsFlVrtogylKm8YcC4hBxcO58HYUn8xNyUip4ZgzOxw+ARqbY6xVFRgWF0S1HUn4f7ydhS2tC9jEwOy98Cn8gp8KzJbH0zdmygCZjOLoF0AP98iZ2OBjIiom7BU18Bw5gz0iadhSEwCVCrAbAYAFseIqFsrXv9vlGzY0O6fX7dWzgasW4fAp59yYoZERERE3Z/FbMal44dxevs2FGW1XOQZMCYa4xctw4CxMbJtN1eYVYkz+64jM6kYotV+ecLTzw1jZodj5LQQuOmaF/GsBgOq9+9HxfYdqD54EDCZ4N7BnFgcI3Idfr5FrsACGRFRF2UuLoY+MQn6xEQYEhNRm54OWK2tn5dfANFshqDij3gi6vr0iYko2bABgO3eivY03la2ZMMGeEyZzJVkRERERDbU6WuQsm8Xkn/4DlU3iu2OUyhVGDF1BmIXLUPfgYNdmOFtVquIrLPFOLs3G/mZ9nuhAUDfAV4YN6c/BscEQqlUSJ4TTSbUHDuGiu3bUb13H6x6fZtzsLi5QdnoJlT/x34E3/tWAFYLRKu1fnWR1Vr/2CoCovXmsXh7zM24zceOGiNaIVrqr932MaLt8XbHNHp8c4wo3sqxyZiGPxPpmGbjbczT7HHDmEZz23pssb+ikLo3hbc3i2PkEvz0lIioCxBFEaZr1xoKYvrE0zBdu96huco2b4bx2jWE/ePvUHrLszc8EVFb6WJjEfj8czZ7K9pjq+cii2NEREREUpXFRUj64Ruci98No8Fgd5ybhwfGzlmA6PlL4Onfx4UZ3masre8vlhKfjcoS+/3FIACDxwZi7JxwhET4SFa3iVYrDMnJqNi+HVU7d8FSVtbqdQW1GqLJ1HBcvGA+ymbNwh25eSh74w0AQOl770Pp58cP67sou0W0W8VLi8V2vOkYW/F2jhEtFptFyraMuV0cbVRIbGFMQyHRVrzDYxr/WXagaGmx2Jin+RhJ0dRqhbW2VrIzEgBYKytRsmkTX3fkdCyQERHJQDSbUXvxIgyJidCfToQ+KQmWkhKHzV9z5AiurnwQ4W+9Cc2AAQ6bl4jIGWz1VgQAj4cfbjbWVnGM/2giIiIiuq0g4xJOb9+GSyeO1H8obodPUDBiFixF1Ow50Ljb7tnlbFWltTiXkIPzh/NgNJjtjlO5KRE5JQRj4/rBJ1DXEBdFEXUXL6Jy+3ZUfP89zHn5rV5T0GjgOXMmBHd3VH73XUPc75lncCksFADg86M1UKlV7bqJi+QhCAKgVAJKJeTZDJQ6o+m/7yw6HZQ3V3zydUeuwAIZEZELWGtrYTib0tA/zHDmDKw1Ne2fSK2GKiAA5vzbb/oDn38O6uAQ5P3615LtBYxXruDq/Q8gbP0b8Jg40RFfBhGR09gqkplNZuDmhxQAi2NERERE9ohWKzITT+L09m3ITT/f4tiQYSMwfvFyDJkwCQqF0kUZShVdq8SZvdnISCxqsb+Yh68bxszuh5HTQuHucbu/mPH6dVTu2IGKHTtgzGhDXzCFAh6TJsF78WJ43TUHZZ9+2ux9pcfDDwO7dzfE7N3ExfefRI7R9N93tlZw8nVHzsYCGRGRE1jKy6FPutk/7HQiDBcuAI22bWgrhU4HbXQ0dONjoY2Nhf50IkpuvkkApB8Oq/uF4frjP4bYaG91S0UFrj/+Y4T89jfwvffezn9hRERO1PRDiLI33oDf/PmomHQHyt99F+X/3tAwlsUxIiIiIsBUV4vzB+KR9P3XKMvPsztOEBQYMnESxi9ejtBhkS7M8DarVcTVlBKc2Xsd+Rkt9xcL7O+FcXPCERHbt6G/mLm4GJU//ICKHTtQezalTdfUjh0L70WL4L1gPlSBgQDs33RlsLENJYtkRM7R9HXIFZwkFxbIiIgcwJSXV9877HQiDEmJqLuc0aF5lAEB0MXGQhcbC21sDNyHD4egqv9RXbJpk93iGADooqMR8d23yHpgpXS7RpMJ+S+9jLrMK+j7/HMQlPLcIUhE1BYBa9dCNFtQ8q9/AQACd+5E4M6dKG80xm34cFjKy1H68SdQhwRDHRICVUgIlL6+kj4URERERD1VTXkZzuzajjN7fkBtVaXdcWo3d0TNvgsxC5fCNyjYhRneZqw1I/1YAc7GZ6Oy2H4vNAjAoDEBGDcnHCFD6t/XWSorUb5nLyp3bEfN8RP1PYtaoRkSAZ/Fi+G9aBE04eGS5/SJie3ekcBWkUwXE8MeuEQdZKtIzRWcJBcWyIiI2km0WlGXkVHfPyyxfpVY4y0P20MzYAC042Ohi4mFbnws1P372/xwt63biqnDwhCxcyeu3n8/jFeuSJ4rfe89GLOyEPrXv0Lp6dGhfImInMVcVobq/QdQHR+P6iNHWhxbd/Ei6i5ebBYX3N2hDg6GKiQY6pBQqIODoQ4NgSo4BOrQEKiDg6HQ6WzMSERERNQ9lGRfQ+KOr5F2KAEWs/2eXZ5+/hg3fwnGzlkAd09PF2Z4W3VZLc7tz8H5Q3mo07fQX0yjQOTkEIyJC4dvkA7W2lpU7dqNyh3bUb3/AMQ27MaiCg2Bz6JF8F68GG7Dhtm9aUoXG4uAdetQsmFDu3YkaPxhfcC6dSyOEXUQV3BSV8MCGRF1afrExA698ezoebaIRiMMqedhSKpfIaZPToa1ouXtIGxSKOAeGQltbAx0seOhi42BKiCg1dPae4eb0tMDg7/7FtdWr4Hh9GnJc9UJCbi2ahXC33oT6rCw9n8NREQOZLx6FVXxCaiK3wdDUnKb7ghuiVhbC+PVqzBevWp3jNLHB6qQEGnxLCTk9kq0vn0hqNV2zyciIiJyNVEUcT31LBK3b0PWmcQWxwb2H4jYxcsxYuoMKFXyvKcpvl6FM3uvI+N0Eawt9Rfz0WD07H4YNT0Mbm4Cao4dR97ft6Nq79429exW+vnBe8F8eC9eDO24cRAUijblF/j0U/CYMrndnxkErF3LlWNEncAVnNQVsUBGRF1W8fp/t/uuLuD23SgB69Yh8Omn2n1dS3U1DMlnoE88DUNiEgwpKRDr6to9j+DuDu2YMQ39w7Rjx3Vo5VZH7nATlEoM/Pgj5Pz856jatVvyXN2lS8i6/wH0+/d66KKj250PEVFHiRYLDCkpqI6PR1V8AoyZbWio7mCWigpYKipQl55ue4AgQBUY2LBt463iWX1Rrf6xsk8fbuVIRERETmcxm5B+5CASd3yN4mtZLY4dOC4W4xctR//RY2V5nyJaRVw9V4Ize7ORd7m8xbEB4Z4YN6c/ImICYTyXgvK/fYTKnTthKS1t9ToKnQ5ed82B9+LF8Jg0qcM3NnX0w3V+KE/UcVzBSV0RC2RE1CXpExNRsmEDgPYtoW68VLtkw4Y23RVmLi6u7x+WmAR94mnUpV/s0CoGpY8PtDf7h+liY+A+ciQEjabd89jS0Tvc+v3rX7jx0ce48e9/w9Jo1Zvlxg1cX70GIX/8A3yWLHFIjkREtlgNBtQcO4aqfftQvf8ALDdutHsOi7s7lLW1Dcfa8eOh7hsIU14+TAUFMBcVdXr1WQNRhLmoqH7Os2dtDhE0GqiC61ecqYODoQq9XTxr6Icm01ZGRERE1P3VVlfj7N4fcGbnd6gus180UqpUiJw+G7GLliEgfIALM7zNVGdB+rF8nI3PRkVRC/3FAAwcE4Bxd4bDXyxC1Y7NuPq/38OUm9vqNQS1Gh4zZ8Bn8WJ4zpwJhVbrqPSJyMW4gpO6GhbIiKhL0sXGIvD559q1z7CtfYyb/uIURRHGq1dhSEqq3y4xKRGma9c7lKM6NFTSP0wzeHCbt3ToiI6+CejzyMPwmjkD2U/+VNKXTDQakffCi6i7cgWBTz/t1NyJqHcxl5Sgev9+VMUnoOboUYiNilstEbRaqMPCYMzIaIgVL5iPslmzcEduHsreeAMAYDh9Gp7PP4ewv9f/zBfNZpiLimAqKIApLx/mgvyG4pkpPx/m/HxYyssd9vWJRiNM16/DdN3+7w+Fl5ft4tnNfmiqoCAoHHQTBREREfUM5YUFSPr+G6Qm7IGpzv77J3dPL4ybuxDj5i2Gh6+fCzO8raa8Din7c3D+YG7L/cXUCoyYHILIUWooju1B5S9fxtXLl1u/gCBAN+kO+CxaBK+77oLSx8eB2RORnLiCk7oSFsiIqMtqTzNOe00+RbMZtekXYUg8fbMgltSh1QsQBLgNHSrpH6YOCenAVyUPTf/+GPjpFuT+4jnUHDkiee7GW2/DeCULoX/5M+/EI6IOEUURxitXULUvHtXx8TCcPQuI9vtNNKYMDIDXrNnwvDMOtWlpKPnXGw3P+T3zDC6FhQIAfH60Biq1yubvBEGlgjo0FOrQUCDG9nWsBgNM+QX1xbP8fJjyC2DKz4M5v76IZioogGijMXRHWauqUFdVhboWPgBSBgbUF89s9ENThYRAFRDAmxeIiIh6gbxL6Ujcvg2XTx6DKNpfFe8XEoqYhcswamYc1G7uLszwtuLsKpzdm43Lpwthtdh/v6fz1mDURH+EVyaj7tv/4Mbvz7RpfvcxY+CzaCG85i+AOqivg7ImIiKyjQUyIurS2lIka1oc812xAqLJhOuPPQ7DmTOw6vXtv7BaDW1UVH3/sJgY6GJiuv0da0pvb4T/520U/vkvKPvkE8lzVbt24VpODvq9uQHqoCCZMiSi7kQ0m2FITkZVfAKq4ve1azWu29Ah8Iy7E15xs+E+ejQEhQIlmzZJimOBzz8Hj4cfBnbf7qPYnhsnmlJotXAbPAhugwfZ/npEEdaKCmnx7OaKNFNBAcz5+TAVFgIWS5u/ztZYiktgKS5B7blztgeo1VD37Wu7H9rN7R0V3t7sh0ZERNQNWa0WZJ46gdPbtyHvUlqLY8NGjML4xcsRETtRlptnRKuIa6k3cGbfdeReLG9xbJ8QLYb1KYVf8qeo/b8jKG/DNtiawYPhvXgRfBYtgmaAPFtFEhFR78QCGRF1eS19IFr0xhu48eZbtwcrFCjfurXd11B4ekIbHQ1dbP1+xu6jR0PhLs8dec4kqFQI/n8vQxMxGIV//JPkg97a8+dxdcX96Pfmm9BGjZIxSyLqqqw1Nag+cgTV++JRfeBA27ctVCqhi42FZ9xseMXFQdO/v+Rpe6uADTZWdHWmSNYSQRCg9PWF0tcX7pGRNseIFgvMJSUw5TUpnjXa0rFDq5TtMZlgys1tsTeHQqdrXjyTbOkY3CN/nxEREXVXptpapO7fg6Tvv0V5Yb7dcYJCgWF3TMX4xcsRPGSYCzO8zWS04OLxApzdl43ywpZvPA0LtmJAyTG4f/kFYDSitQ22VcHB8F60ED6LF8NtxAje8ENERLJggYyIugVbH4gW/+OfQNO70dpwdxpQv61V/VaJ9f3D3IYNg6BUOjLlLs1/1SpoBgxA7rO/gLWqqiFuLirCtYcfRuirr8J73lwZMySirsJUWITqhARUJcRDf+w4RKOxTecpdDp4zJgBr7jZ8JwxA0pfX5vj9ImJNotjLbH1O8EVDZsFpRLqoKAWV9pa6+rqi2c3V6JJ+6HlwZyX37GVzfaup9fDmJkJY2am3TFKf/8m/dBuFtNu9UMLDOxVvwOJiIjkUF16A8m7tiNlzw+oram2O06j1WJ03FzELFgK70B5thisqajDuf05SD2Yi7oa+/3FlEogXJmDkKRPod2f1eq8Sl9feM2fB5/Fi6GNieFW0kREJDsWyIio2whYuxama9dQ/sWX9YE2FsMAQDNwILTjY2/3DwsP7/V3qHlOnYqBn32K7Cd/CtP121ujibW1yP35z2F89ufo85Of9Po/J6LeRhRF1F26jOr4faiKT7C//Z8NqqCgm6vE7oTujolQaDStnqOLjUXAunUo2bChTcWxWxoXyQLWresyDZsVbm7QDBhgd3sgURRhraqSbuPYtB9aYSFgMjksJ0tpKSylpcCFC7YHKJVQBfW1WTxTB9evSlP6+vL3ARERUQcUX8tC4o6vkXb4AKwW+8Umzz4BiFlwN8bcOQ9uOg8XZnhbSU41zu67jkunCmE12+8v5qYwol/eIYRk7oLGVNPinIJOB68774TP4kXwmDIFglrt6LSJiIg6jAUyIuoWrLW1KPr7328Xx1qiVMI9MhK62Fhob26ZqOrTx/lJdkNugwdj4GefIveZn0N/6pTkueJ//gt1mVcQ8odXoHBzkylDInIF0WSCPjERVfHxqI5PgCknp83nuo0YAa+4OHjGxcF91MgOFVECn34KHlMmt7vIFbB2rUtWjjmSIAhQentD6e0N9+G2t0sSrVaYS0psF89u9kMzFxc7LimLBea8fJjz8tF8U8ubebu7S4tntvqh6XSOy4mIiKgbE0UR184m4fSOr3EtJbnFsX0HRWD84uUYNmkalCrXf0wnWkVcO38DZ/dlIye9rMWxnnVFCM/ahaDC01CI9ot9UKvhOX06vBcthNfs2XyPQEREXRYLZETU5dWmpyPvhRdQdznD7hh1eDh8liyBbnwstGPHQuEhzx133ZHKzw/9330H+b//PSqaFCArv/sOpuxs9Pv3eqgCAmTKkIicwVJdjZpDh1C1Lx7VBw/CWlnZthNVKnhMnADPuDvhNXsW1GFhDsmno0Wu7lQcaytBoYC6b1+o+/aFdswYm2NEoxGmoqIm/dDyYcrPry+mFRS0/e+0DcTaWhizsmDMsr99ktLHx3Y/tFsr0fr25V3jRETUo5lNJqQf3o/EHV+jJPtai2MHx0zA+MXL0W/kaFlWaZuNFlw8Ud9frKyg5e2f+9w4j/CcffAruwi7mQoCdBMnwnvRQnjPnWt3e20iIqKuhAUyIuqyRIsFpe+/j6J/vWF7qymVCjDX37Vmys6GoHWHx5QpLs6yZxA0GoS88grcIoag6LXXAPH2dhqGM2eQdf/9CH/rbburHYioezDl5aEqIQHV++JRc+pUm7fxU3h5wXPGDHje6ifm5eXkTKk1gkYDTb9+0PTrZ3eMpbqmvgda/u3/bhXPbq1Ka2tPubawVFTAUlGBuvR02wMUCqgCA5v1Q1OFBEMdEgp1SDCU/v7cypGIiLodQ1Ulzu75AWd2bUdNuf1VWCq1BiNnxCFm0VL0CQt3YYa31VTUIfVALlIP5qK22v57QYXVhOCCEwjPSYCHvsDuOPeoKHgvWgTvhQta7NNKRETUFbFA1klJSUnYuXMnDh06hNTUVBQVFUGtViM0NBRTpkzB448/junTp7d5vp07d2Ljxo04efIkiouLERgYiIkTJ+KJJ57A/Pnz2zSHXq/Hhg0bsHXrVmRkZMBoNCI8PByLFi3CM888g/79+7dpnvPnz2P9+vXYu3cvcnNz4enpicjISDz00EN4/PHHoZJh6T/1HqbcXOT96tfQnz5t83nP2bPRb8O/cePdd1H8t78DQMP/29q/hqQEQUCfH62BZuAA5D3/S1j1t+8iNOfl49qDDyL0b6/Da/ZsGbMkovYQRRF1aWmo2hePqoR41F1Ia/O56tBQeMbFwevOOOhiYyG0oZ8YdS1KTw8ohwyB25AhNp8XRRGW0lLpNo4F0i0dzcXF7er52SKrFebCQpgLC4GzZ20OETSa+oKZpHh2extHVUgolJ5cJU5ERF1DWUEeEnd8g/P798JsrLM7Tuvtg3FzF2HcvEXQefu4MMPbbuRW48y+bFw6WdBifzG1sRL9cg8iLO8QNKZqm2M0AwfCe/FieC9aCLdBg5yVMhERkdOxwtEJM2fOxMGDB5vFjUYjLl++jMuXL+PDDz/EI488gnfeeQeaFj5YEkURTz75JDZu3CiJ5+bmYtu2bdi2bRueeOIJvP322y3eVZuZmYlFixbh4sWLknh6ejrS09PxzjvvYPPmzVi4cGGLX9u7776LdevWoa7u9hu82tpaHDp0CIcOHcIHH3yA7du3ow/7OpGDiaKIym+/RcErf4C12vabcf81qxH0618DuF0MY5HMcbxmz8aALZuR/dOfwpyX3xC36vXI+dk69H3hBfj/aA3v8CfqokSjETUnT6E6Ph5VCQkw5+e3ftJN7lFR8IybDa+4OLgNH87XeQ8nCAJUffpA1acPtFGjbI4RTSaYi4puFs5s9EPLy4OlosJhOYlGI0zXrsN07brdMQovL2nxLLhJP7SgIBZ0iYjIaURRRO7FC0jcvg0Zp09Idt9oyj+0H2IXL0Pk9NlQa1zf11kURWRfKMWZvdeRndZyfzGPmjyEZ8cjqOgUlNbm/cVUQUHwXrgQ3osXwX1kx/rOEhERdTUskHVCbm4uACA0NBQrVqzA9OnT0b9/f1gsFhw7dgx/+9vfkJubi48++ghmsxmbN2+2O9fLL7/cUByLjo7Giy++iIiICGRmZuK1115DcnIyNm7ciMDAQPzhD3+wOUd1dTUWL17cUBxbu3YtVq5cCa1Wi4SEBPz5z39GRUUFVqxYgWPHjmGMnZ4Wu3btwhNPPAGr1YqgoCC89NJLuOOOO1BaWopNmzbhq6++wvHjx3HPPfcgISEBCoWiM3+MRA0s5eXI/+3vULVzp90xgc/+HAFPPimJsUjmeO7Dh2PQ558j56mnYThz5vYTooii115D3ZVMhPzf//EDSKIuwlJRgeqDB1EVH4+ag4dgralp03mCWg3dpEnwujMOnrNmQR0c7ORMqbsR1Gqow8Ja7DVn1etvFtDyJf3QzPn5N4tq+RBrax2Wk7WqCnVVVai7dMlO0gKUAX3qt20MDm7WD00VHAxVQAAEvoclIqJ2sFosuHzyKE5v34aCDDu/g24KHzUG4xcvx6BxsbL8vjGbLLh0shBn9majLL/l94X+pRcQnr0P/mXpzfqLKXx84D1vHrwXL4Ju/Hj+7iQioh6HBbJOGDFiBP70pz/h3nvvhVKplDw3adIkPPLII5g6dSouXbqELVu24Kc//anN7RYzMjLw2muvAQDGjx+PgwcPQqvVAgAmTJiAu+++GzNnzsTp06fx6quv4kc/+hEiIiKazfP6668j/WbPh9deew0vvPBCw3OTJ0/G7NmzMWPGDOj1ejz77LOIj49vNofZbMZTTz0Fq9UKb29vHDlyRHKt+fPnY926dXjzzTdx8OBBfPzxx3j00Uc78KdHJFVz9Cjyfv0/MBcV2R0T+PxzdoteLJI5niogAP0//AD5L/8/VH73neS5ii++hOnadYS98S+o/PxkypCodzPm5NSvEtsXX78drcXSpvOUPj7wnDUTnrPj4DFtGrero05T6HRwGzwYboMH23xeFEVYysvri2cNvdBuF89MBfkwFxa1+Xu4VaIIS3EJLMUlqE1JsT1GrYY6KEjaD+1m8exWPzSFlxfvjiciIhgNepyL34OkH75FZXGh3XEKpRLDJ09H7KJlCBpse3tjZ9NXGpF6MBepB3JgqLLfX0ywmhBceBLhOQnwrJHuNiBotfCKi4P34kXwnDqVN0USEVGPxgJZJ2zfvr3F5wMCAvC3v/0NS5YsAQB88cUXNgtk//jHP2A21y9fX79+fUNx7BadTof169dj8uTJMJvN+Oc//4n169dLxphMJvzrX/8CAERGRuL5559vdp3Jkyfj8ccfx3/+8x8kJCQgMTERsbGxkjHbtm1DRkYGAOB//ud/bBbi/vrXv2LLli0oKyvDX//6VxbIqFOstbUo+vvfUfbfj1oc11Jx7BZbRTJdTAx0Tb7Pqe0Ubm4Ife1VuEVEoPif/5Q8pz91ClcfWInwt9+y+6EoETmOaLWi9vx5VO3bh+r4BPurZ2xQ9+8Pr7g4eMbNhi4mBgL7iJILCYIAlZ8fVH5+cI+MtDlGtFhgLi62XTy7+dhSWuq4pEwmmHJyYMrJsTtEodPdLp41bOlYXzyr74cWAoWb67fLIiIi16i6UYKkH77FuX27UKe3vwpLo9VhzJz5iJ6/BN4BgS7M8LYbedVI2ZeNiycKYTHb7x2qNlYhLO8g+uUegsZUdfsJlQqe06bBe9EieMXNhsKDN1AREVHvwE9HnGzWrFkNjzMzM5s9L4oivvnmGwD1K9ImTZpkc55JkyZh+PDhuHjxIr7++mu88cYbkjta9+/fj/LycgDA6tWr7W57uGbNGvznP/8BAHz11VfNCmRff/21ZKwtOp0O999/P/7zn/8gNTUVly9fxtChQ22OJWpJbVoacl94AcaM5q8NpY8PdJMmoWrXrjYVx25pXCQLWLeOxTEHEAQBAU/+BJpBg5D3q19JtskyXb+Oqw+sRNg//wHPqVNlzJKoZ7LW1UF//Diq9sWjOiEB5uLiNp+rHTsWnnFx8LozDpqICK6EoS5NUCrrt0MMDgaio22OsdbW1q9Cs7WNY0E+zHn5sOr1DsvJqtfDmJFp833KLUp/f2nxrPGWjiEhUAUGQmiy00RXpE9M7NB7po6eR0TUlRVmZSJx+zZcPHYI1hZWN3sH9kXMgqUYHXcXNFqdCzOsJ4oistNKcXZfNq6fb/kmEl1NPsJz4hFceApK6+2VZboJE+qLYvPmcmcQIiLqlVggczKj0djw2FbRKisrq6GX2cyZM1uca+bMmbh48SJycnJw9epVDBo0qOG5Q4cOScbZM378eHh4eKCmpgaHDx9u9vyteYYPH47gFvqQzJw5s6HQdvjwYRbIqF1EiwWl77+Pon+9AZiab/vgMXUqQv70J6iD+nbog5eAtWu5cswJvOfNhTosDDk/+5lkK0xrVRWyn/gJgv73f+D/0EMyZkjUM5jLylC9/wCq4+NRfeQIxDZ+4C+4ucFj8mR43hkHr1mzoAqU5w5mImdRuLtDM3AgNAMH2nxeFEVYq6qab+N4s3hmKiiAqbDQ5nuPjrKUltavbDt/3vYApRKqoL42i2fqkPotHZW+vrIWsIvX/xslGza064YkACjZtKnhhqTAp59yYoZERM4nWq3IOpOI09u3Ifu8ne15bwoeMgzjFy/H0IlToJDhJgiLyYpLpwpwZm82SvNa7i/mV5qG/jnx8C9NgwARAOA2MhI+ixbDe+ECqENCXJEyERFRl8UCmZMdOHCg4fGIESOaPZ+Wltbi8401fj4tLU1SIGvrPCqVChEREUhJSZGcAwDV1dXIubnNTHtzIWorU24u8n716/p+OU0Ibm7o+8tfwu+hVQ3Nfzta5GJxzDm0UaMwcOvnyPnZOtQ2/jDQYkHhK3+AMfMKgv73f7h9G1E7Ga9eRVV8Aqri98GQlAxY7W+N05jS3x+es2bBK242PKZMgULn+ruXiboKQRCg9PaG0tsb7sOH2xwjWq0wl5RIi2dNtnS0FJc4LimLBea8+gKdwV7eWq20eGarH1qTLdgdRZ+YiJINGwC0r3/rreIYAJRs2ACPKZP53ouIuiWz0YgLh+KRuOMblOZm2x8oCBgy/g7ELl6OsOEjZbmxwVBV31/s3P629Bc7jfCceHjW5AEA1AP61xfFFi/i9vhERESN8BNMJ7JarfjLX/7ScHz//fc3G5OdffsNWL9+/VqcLzw83OZ5jY89PDzg6+vb6jwpKSkoLi5GXV0d3G72TsjJyYEoip3OpTU5LfR6AID8/NsNYg0GAwwGex8n9C61jba1a/y4uxBFETU7duDGq69BrK5u9rxmxAgE/OEP0EQMRm1dnQwZUpt5e6Pvpo0o+b/fQL93r+Spss2bYci6gsBXX4XSy0umBB2vu7/+qOsRLRbUpaZCv/8ADAcOwJSV1eZzVQMHQjdrJnQzZ8Jt9OiG7dvqAKCH/c7ka4+cwssL8PKCetgwqG08LRqNMBcVwVJQCHNBPsyFhTDnF8BSWAhzQQHMBQU238t0lGgwwJiVBWMLPwcUPj71q82CgqAKCYYqKBjK4GCogoPq44GBHbo5RRg5En7PPIOyN94AUF8kM5vM8PnRGruvv4r3P2gYDwB+zzwDYeRIvmcnciD+/nM+Q2UFUuN3I3XfThiqKu2OU2k0GD5tFsbOXQzf4PrVVq7+Oykv1CM1PheZp4thsdovzKlN1QjLPYiwvENwM1ZCGRAAj2UPwWPBAmhGRkIQBFgB/rxuAV97RPLh64/awhm/w1ggc6J//OMfOHnyJABg+fLlGD9+fLMxVVW3m6J6enq2OJ9Hoyap1U3+UX5rntbmsDXPrQKZo3JpTePiWmsOHjyIgICAds3fGxw8eFDuFNpFodcj6Ktt8Dp3rtlzoiCgdNZM3JgzB8jMqP+Puoc749DHakWf+HhJuPbYcWTcex/y1qyGqQe+frvb64+6DsFohC4jA57nL8AjPR2qNv7+FAUBhgEDUDMyEtUjR8J0a+vEoiJg3z4nZty18LVHstBogPDw+v8aUdTWQlVeAVVFOdTl5fWPy8uhrrj5uKICCrPZYWlYKypgrKgALl60+bwoCDB7ecHs6wuzry9Mvr4w+/rU/9/HB2ZfX1g8PABbKx7CQuG3YD4Cf9gJACh74w1cunwJZY16Kd96/fnt398wDgCKF8zHpbBQYPduh32tRCTF33+OZawsR3n6OVRlXYbYQn8xpbsWPsNGwWdoJOrc3HEy5RyQ0vzfs84iikBdiQB9mgX6Gp+bUdvFMZ2+AOHZCQguPAG4KVE9djSKxo2FYfBgQKEAcnPq/6N24WuPSD58/ZE9JSUO3O3jJhbInOTAgQP49a9/DQDo27cv3nrrLZvjGlfENRpNi3PeKmQBzault+ZpbY6W5nFULkSN6S5dRvDWrVBVNr8rz+Tnh/wHHkDtoIGuT4w6T6HAjXlzYewbiKAvvpR8EOhWXIz+G95E3iMP1//DjKiXUlZVwSMtHZ5pF6C7nAFFG3sfWdVq6IcNRfXIkagZMQKWNtwAQ0SuY3V3hzHYHcbgINsDRBHKmpr6oll5OVQ3i2jq8nKoKuqLaaqqKgg3d2/oLEEUoa6shLqyErh+3XbOKlVDsczkW/9/s0/945rISAhmMwL21K8MbyiWNSqS2SqONX6eiKirEkURtUUFKEtLgT7P9s/IWzQ+fvAdMRpeA4c0rNJ3JdEiwnihGlXZWtQKfi2O9Su7iPDsffCruoyayBEouGsl9MOHQ+R290RERG3G35pOcP78eSxfvhxmsxlubm74/PPPERRk+x/P7u7uDY+NRmOL89Y12nZO26QPwa15WpujpXkclUtrWtuSMT8/HxMnTgQAzJgxo9XtHnuL2trahjsoZsyYIfn76oqstbUoW78eVZu32HzeY8kS9HnxBQzlh77d39y5qJ0/H0XPPQ9raWlDWKnXI/zd99Dnpf+F17Jl8uXnAN3t9UfyEUURpqyshq0T686dq78FuA2UAQHQzpgO3axZcJ8wAQp+n/G1Rz2aaDLBUlxcv21jwzaOBTAX1G/laCkshLWiwmHXU5jN0Ny4Ac2NG3bHCBoNxJv/Dgj8YSd0GZmojInG4Bo9DI2KY37PPIOBP1rjsNyISIq//xzDYjbjyunjOLPzOxRfvdLi2H6jxmDc/CUIjxorS3+x6rQrSP3yDDIKvWBUhdpbLAbBakZQ0WmE5x1A3zH94fHcSuhmzYKi0S4/1HF87RHJh68/aovWWjd1BAtkDpaVlYW5c+eirKwMSqUSW7ZswcyZM+2O92rUo6e1rQpramoaHjfdAvHWPG3Z7tDePI7KpTXtKXhptdp2F+B6A3d39y7951KbloaCF16AMSOz2XNKHx8E//738J43V4bMyFm0kybBc+vnyP7pz1B36dLtJ8xm3Pjd7yFm56Dv88/Jchemo3X11x+5nmg2w5CcjKr4BFTF74PpWst3JjfmNnQIPOPuhFfcbLiPHg1BoXBipt0bX3vU42i1gLc3EBFhd4hVr4epoACmvHyYC/Jhyi+AKf/m47x8mAoKIDqwR4PY5CY5j8uX4XH5MpruF1H58cfQ//ADlAF9oAoIhKpPH6gC+kDZJwCqgD5Q9bn52N8PgtpWpzciaiv+/mu/On0NUvbtQvIP36HqRrHdcQqlCiOmzkDsomXoO9D1u16YCgqQ88VupJ4sR47bMFiVIXY/pVOZqhGWdxhDAsoQ9EAcvOY9CZW/v2sT7mX42iOSD19/ZI8zvi9YIHOgvLw8zJkzB3l5eRAEAe+99x6WL1/e4jmNi0WtVUAbr7xq2serX79+OHHiBGpqalBeXg5fX99W5wkMDJRsleioXKj3Ei0W3HjvPRS/sR6wsY2Yx7RpCPnjH6EO6itDduRs6rAwDNi8GXm//CWq9++XPFf63nswZmUh9K9/hdKTdzdS92etqUH1kSOo3heP6gMHYCkvb9uJSiV0sbHwjJsNr7g4aPr3d2qeRNS9KXQ6uA0eDDc72xWLoghLeTnM+fnSQtrN4pkpPx/moiKghT47HWEpLYWltBS4fLnVsUpfX9uFtKZFNX9/CG3YLp6IyJ7K4iIk/fANzsXvhrGFVhBuHh4YO2cBoucvgad/HxdmCJjLylC5czeydibisj4MN/qMBnT2byLW6gsxyHQBI2cNhP+SZ6EODXVhtkRERD0fC2QOUlJSgrvuugtXrtQv21+/fj0effTRVs8bOXJkw+P09PQWxzZ+PjIystk8X375ZcO4SZMm2ZzDbDYjMzPT5hyenp4IDw9HdnZ2p3Kh3smYk4u8X/8KhtOJzZ4T3NzQ94UX4PfQKlm2qyDXUXp6oN+Gf6Pob39H6XvvSZ6rTkjAtVWrEP7Wm1CHhcmUIVHHmQqLUJ2QgKqEeOiPHW+20sIehU4Hj+nT4XVnHDxnzICyhZtYiIjaQxAEqPz8oPLzg3ujf1c0JprNMBcXw5RfcHMVWqOVaPn1x5ayMqflaCkvh6W83ObOAk0pfXygDAiwU0jrA9XN55QBAVCwmEZENxVkXMLp7dtw6cQRiFar3XE+QcGIWbAUUbPnQOPuupUJVr0eVfEJKN++A5kXDcgOnYVqr/lACyn4Ga5h5FARIx6YDvehD7osVyIiot6GBTIHqKiowLx583DhwgUAwF/+8hesW7euTecOGjQIoaGhyMvLw4EDB1oce2sf1rCwMAwcOFDy3LRp0xoeHzhwwG6B7PTp0w3bI06dOrXZ89OmTcOWLVtw8eJFFBQUIDg42OY8jXO1NQ/1HqIoouKbb1D4yh9gbbT15i1uIyMR9te/wq2F7YOoZxGUSgS9+ALcBg9C/m9/B5jNDc/VXbqErPsfQL9/r4cuOlrGLIlaJ4oi6i5dRnX8PlTFJ6D23Lk2n6sKCrq5SuxO6O6YyA9yiUg2gkoFdUgI1CEhAGz/7rXW1sJ8c8WZKb8AFdu/g/7oMdcmCsBSUQFLRQWMma0X0xTe3vXFs5sFs2aFtMbFtEa7ZhBRzyBarchMOoXE7duQk5ba4tiQYSMwfvFyDJkwCQqFa7Z8F41GVB85gsrtO1B64Bhy/McjJ2wOjMN97Z4jiBaEe5Ri3KKh6Bc3mzeXEhERuQALZJ2k1+uxaNEiJCUlAQBeeukl/OpXv2rz+YIgYOnSpXjrrbeQnp6O48eP2yxuHT9+vGHV1tKlS5u9UZo1axZ8fHxQUVGBDz/8EC+++KLNN1MffPBBw2Nb2z8uW7YMW7ZsaRj761//2ubX/PnnnwOoX7k2bNiwNn+91LNYysuR/9vfoWrnzuZPCgL6rF2LwKfWcbucXsr3vvug7t8fuU8/A0tFRUPccuMGrq9eg5A//gE+S5bImCFRc6LJBH1iIqri41EdnwBTOxrAuo0YAa+4OHjGxcF91Eh+qEFE3YbC3R2agQOhGTgQJZs2SYpjFp0OSr2+4djv0UfgOWMmLDdKYC65AfONG/WPi0tgvnHzuLQUaGEVhyNYKythrKyEMSur1bEKT0/bhbQ+AVAFBkieU7DfBVGXZqqrxYWD8Ujc8Q3K8nPtjhMEBYZMnITxi5cjdJhrdr0RrVboT59G5fYdqNq1C1VGDbL7zUZ+9MuwKu0X6tWCCSNGuSP6wUnw6qNzSa5ERERUjwWyTjAajVi+fDmOHDkCAPj5z3+OP/zhD+2e59lnn8WmTZtgNpvx9NNP4+DBg5KGcwaDAU8//TQAQKVS4dlnn202h0ajwTPPPINXXnkFaWlpeP311/HCCy9Ixhw7dgzvvvsuAGDmzJmYMGFCs3mWL1+OiIgIZGZm4s9//jNWrFiBiCYrf1544QWU3dyGpek1qPeoPnIE+f/zv/V9LZpQh4Uh9LVXoYuNlSEz6ko8Jk7EwK2fI/vJn8J4cwtaoP6OyrwXXkTdlSsIfPppCAqFjFlSb2eprkbNoUOo2heP6oMHYa2sbNuJKhU8Jk6A5+w4eMXN5tahRNTtlWzahOK//b3huHjBfJTNmoU7cvNQ9sYbAICy/34EVWAgAtautTuPaLHU90YruVk8u3GjvphWUgzLzaKa+cYNWEpKYC4tdXiPtKas1dUwVlcD1661Olah09ktpDU8Dqhfuabw6Nl9VfWJiR16P9/R84haUlNehjO7d+DM7u9RW2X/vZrazR1Rs+9CzMKl8A2yvSOOI4miiNoLF1C5fQcqv/8epsJClPsMQXb4SpT0iQIE+//O8fIQMW5BBEZM6weNOz+eIyIikgN/A3fCgw8+iN27dwMA4uLi8PjjjyM11f7Sfo1GY3O11bBhw/DLX/4Sf/nLX3D69GlMnToVv/rVrxoKVa+++iqSk5MB1Bekhg4danP+F154AZ999hkuXbqEF198ERkZGVi5ciW0Wi0SEhLwpz/9CWazGVqtFv/85z9tzqFWq/HGG29gyZIlqKysxNSpU/Hyyy9j4sSJKCsrw6ZNmxp6nU2bNg2PPPJIe/7IqAew1tai6G9/R9lHH9l83mf5cgS99L9Qenq6ODPqqjT9+2Pgp1uQ+4vnUHPzhoJbbrz1NoxXshD6lz/zjm1yKVNeHqoSElC9Lx41p04BJlObzlN4esJzxgx43hkHz+nTofT2dnKmRESu0bQ45vfMM7gUFgoA8PnRGqjUqobnb/3fXpFMUCobtj8EWt5tQrRa67dWLLlZSCsugflGCSy3imo3SiRFtcZbNzuDVa+H9fp1mK5fb3WsoNVKt3ls2NZRWkhTBgRA4eHRrVYWF6//N0o2bEDg88+1WAxt6tb3UcC6dQh8+iknZki9xY2c6zi9/WukHU6ApYX3a55+/hg3fwnGzlkAdxf8W7QuKwuVO75H5Y4dMGZlwSooUBQYi+zYNajy6t/iuSGDvTBu7kAMHBMAhaL7/FwgIiLqiVgg64Svvvqq4XF8fDzGjBnT4vgBAwbg6tWrNp/74x//iKKiIrz33ntITk7GypUrm415/PHHW1yh5uXlhR07dmDhwoW4fPkyNm7ciI0bN0rGeHt745NPPsG4cePszrNw4UK8/fbbeOqpp1BYWNiweq2xiRMnYtu2bVAqXbN/N3UNtRcuIPfFF202WVf6+CD497+H97y5MmRGXZ3S2xvh/3kbhX/6M8o2b5Y8V7VrF67l5KDfmxugDgqSKUPq6URRRF1aGqr2xaMqIR51F9LafK46NBSecXHwujMOuthYbhtLRD1O0+JY4PPPwePhh4GbNwMCt4thbS2StZWgUEDl5weVnx/c7NwIeIsoirBWVMBcUnK7eGankGYuKWnzzQ8dJRoMMOXktGk7XsHNrfVC2s3HCi8vWYtp+sRElGzYAKB9f8+Nv49KNmyAx5TJXElGHSKKIq6nnkXi9m3IOpPY4tjA/gMRu3g5RkydAaVK7dS8TIWFqPz+B1Tu2IHamzdHm1Ra5IXfhZx+M1Hn5mf3XIUCiIgNwrg54eg7gDdYERERdRUskHURCoUC7777Lu69915s3LgRp06dQklJCQICAjBhwgT85Cc/wYIFC1qdZ8iQIUhOTsaGDRuwdetWZGRkwGg0Ijw8HAsXLsTPf/5zDBgwoNV51q5di8mTJ+ONN97Avn37kJeXBw8PD0RGRuKhhx7Cj3/8Y6hU/PbpLUSLBTfefQ/F69fb/KDBY9o0hPzxj1AH9ZUhO+ouBJUKwf/3/6CJGIzCP/1Zsp1S7fnzuLrifvR7801oo0bJmCX1JKLRiJqTp1AdH4+qhASY8/PbfK77qFHwvDMOXnFxcBs+vFvd9U9E1B62imMBa9fCYDA0G+usIllbCYIApa8vlL6+cBsypMWxoijCWlnZUCyTFNIatnwsaSisiUajU3MX6+pgysuDKS+v1bGCRnO7eNa4kNaw7WOjbR59fBz+O0oXG4vA559r19+zre8jFseovSxmEy4ePYTT27eh+FrL/QUHjovF+EXL0X/0WKe+T7NUVKBy925Ubt8B/cmTgCgCAPTaQOSEzUJeyOQW+4tptCqMmh6K0bP6wcvf3Wl5EhERUcewwtEJ4s03Ro60cOFCLFy4sFNzeHh44MUXX8SLL77YqXmioqKarUCj3seYk4u8X/8KhtPN79wT3NzQ94UX4PfQKn54TG3m/9BD0AwYiNxf/ALWqqqGuLmoCNcefhihr77KlYjUYZaKClQfPIiq+HjUHDwEa01Nm84T1GroJk2CV9xseM6eDXWw83tWEBHJTZ+YaLM41hJbRTJdTEyXK4YIggCljw+UPj5wGzy4xbGiKMJaXd2mQpr5xg2ItbVOzV00GmHOy4c5r/UbOwS1+mZvtBYKaQH1/dOUPj5t7vvanmKovSIrUVvVVlcjZd9OJP/wLarLSu2OU6pUiJw+G7GLliEgvPUbfzvKqtejKiEBlTu+R/WhQw03iYoAKnwicL1fHEoCxrTYX8w7wB1j7wzHiMkh7C9GRETUhfG3NBHZJIoiKr75BoWv/MHmB8zuI0ci9K+vwS0iQobsqLvznDYVAz/7FNlP/lTS40OsrUXuz38O47M/R5+f/ISFV2oTY05O/SqxffHQnz4tWZ3YEqWPDzxnzYTn7Dh4TJsGpaeHkzMlIupadLGxCFi3rt29phoXTwLWretyxbH2EgQBSi8vKL28gEGDWhwriiKsNXpYbpQ0rE4zlzTe3lG61aOo1zs1d9FkgrmgAOaCgtYHq1RQ+fvbKaQF3Hx8s6Dm69umIhmLY9QZFUUFSPz+G6TG74Gpzn7h2d3TC+PmLsS4eYvh4Wt/G8POEE0m1Bw9iortO1C1b5/ktVvfXywa2f3uRJV3y4W5kCE+GHdnfwwcy/5iRERE3QELZETUjLmsDAW//R2qdu1q/qRCgT4//jECn1rHPjzUKW6DB2PgZ58i95mfQ3/qlOS54n/+C3WZVxDyh1egcLO/ZQn1TqLVitrz51G1bx+q4xNQd+lSm89Vh4fDKy4OnnfGQRfz/9m77/g47vNO/J+Z7X3RewfBTpAACYqUKLGJIgXSkmzJsaXcWYminCXZsexcbCe5X+Ik9sUltuUiyTmfcm6ybEu2GihRpFhVSAIk2EkQBED0Xrb3nfn9MbuzBbvAAkRZgM/79cJrd2e+MztLicTsfOZ5vlVgqF0wIeQ2l/HFL0xrrqj0J59Mysqx2cYwDCRaDSRaDeQJtK7nHA4hLBsanmDONOF5olXP0+bzwTc4CN/gINyTjZVIIElNgTQtHbKiIng7OgAIIZnr6jWk/NmfwdHYiOEf/1jchMIxkqje5iacrXsdN+pPgue5uONScnJRdf+DWHnPdsgUM9+ekOc4OBsbYa6rg/XAe/CbTBHrvVIVenPuRHfeVriV8YM5hmVQXpWByh2FyCqh+cUIIYSQhYSuChFCItg+/Ah9f//38A0NjVsny8tD7ne/c9tdCCGzR5qSgsKX/i/6/vVfYX7tjxHrLG+/DW9XF/J/+hNI09Pn6QhJsuDcbjhOnYL18BHYjh6N+W9UPMrKNdBt3wHd9m2Ql5dTZSIhhESZ7rkdnRNOjlWrIVerIS8omHQs53TCNzIC/3CwOi12kOYbHgZns83ugfv98A8Nwz80PG6V9d13YX333YhlGc8+S+EYmRDH+dHacBpn6l5Hb/O1CcfmLVuJ9XsfQll1TcJtQRPF8zzcTU0w19XB8s67MeeodSrT0JW/DX05m+GfaH4xpQQrtuRhzTaaX4wQQghZqCggI4QAADiXC4P/8X2M/eY3MdcbHnoIWf/4D5BotXN8ZGSxY+Ry5Pzbv0FRWobB731PnPgaAJznz+Pmpz+Nghd/BuXSink8SjIffGNjsB07DtuRI7B99FHCbaoYhQKaTZug3bEduq1bIc3ImOUjJYQQQm4dq1JBnp8P5OdPOpZzu8cHaeHPh4bFNo+cxTLrxz76q1/BNzgI/d69UK1bSzejEJHX5cLlY4fQ+M5bMA3En1ePYVlUbLwT6/c+hOzymT/v93R0wLx/Pyz734GntXXceh6AWV+KroLtGEqvnHB+MV2aEpXbC7D8TppfjBBCCFno6Dc5IQTOK1fQ+9WvxfyiIDEakf2v/wL9rl3zcGTkdsEwDNL+8i8gLylG79/+T3BhQYivtw8dn/0scr//H9Bt2zaPR0nmgqe9HdYjR2E9chjOxnMAF7/tTjhJSgq027ZBt30bNJs3g1WrZ/lICSGEkPnDKhRg8/Igy8ubdCzn8USGZ8Hnw8PCXGqBCjX/8DD8ZvO0jsc/Ooqx3/4WY7/9LWR5edDv3QvDvr1QlJdPa39k4bONjeLcgbdx8dC7cNnjVzzKVSqs3r4LVXsegD4jc0aPwTs4COu778K8/x24Ll6MOYZjWAylr0VXwQ5Y9MUT7i+71IC1OwtQUpkOVjKzlW2EEEIImR8UkBFyG+P9foy89F8Y+slPAK933HrNli3I+dY3Icuc2S8qhMSj27YNRa/8Fl1PPQVfb+gOU87hQPfTzyDzq19F6uOfo7uSFxHe74fz4kXYjhyB9cjRmEF9PPKSEmi3b4Nuxw6oKivBSCSzeKSEEELIwsTK5WBzciDLyZl0LO/xwDc2FgjPgnOnjcA/Mgz76Xq4m5om3Ye3pwcj//mfGPnP/4Ri2TIY9u2F/v77E3p/svANddzE2f1v4NqHx8H5fXHHadPSUbXnE1iz4z4o1JoZe3+/xQLroUMw19XBcbo+7s1WPokSvTl3oit/K9zK1Lj7YxigrCoTlTsKkF1qmLHjJIQQQkhyoICMkNuUp7sHvV//Gpxnzo5bxygUyPzq3yHl0UcpiCBzTrl0KUr+8Ad0f+GLcJ4/H1rB8xj8znfgbm1Bzj/9Exi5fN6OkdwazumE/eRJWA8fhu3YcfhHRhLbkGGgqqqCbvs2aLdth6K0ZHYPlBBCCLnNMHI5ZFlZkGVlRSwf/vnPI8IxVq9PqHWju6kJg01NGPyP70O9fj30e/dCf98uSIzGmT50Mo94nkfHhUac2f8GOi6em3BsZkkZ1u99CBV33AWJdGYuSXEuF2zHjsFcVwf78RPgY9z8GeRUpqE7byt6c++ccH4xmVKCFXflYs3WfOjTVTNynIQQQghJPhSQEXKb4Xke5jfexMA3vwnObh+3XrliBXK/910oysrm4egIEUjT01H4y1+g73/9f7C8/XbEOvNrf4S3oxN5P/4RpCkp83SEZKp8w8OwHTsG65GjsH/8MXiXK6HtGJUKmjs3Q7d9B7Rb74E0Nf4dvoQQQgiZecM//zmGvv8D8XXG334F6U8+OW65JCUF/rGx2DvheTgaGuBoaED/N78J7ZYtMOythXbbNrAqCh8WKp/Xi6YPj+Hs/jcw3NUx4djSqg1Yv/ch5K9YPSM3YfJeL+ynTsFSVwfrofcjWrTHYtaXoKt0NwaNKwHEf39dqhJrtudjxZ25kKvokhkhhBCy2NFve0JuI76xMfT/8zdgPXhw/EqWRdqTTyLjmaepMockBVahQO53vwNFWSmGnvtRxDpHQwPa/+wzKPjZi1CUls7TEZKJ8DwPT1sbrEeOwHb4CJwXLgA8n9C2kvR06LZtg3b7Nmg2bQKrVM7y0RJCCCEklnjhGADxMbjePzaGlMceAyOVwvLOO/ANDcXeqdcL25EjsB05Alathu7endDv3QvNpk1gZqiiiMwup9WCC4fexfn36mA3xQlFAUhlcqy4ezuqah9AWl7BLb8vz3Fwnj8PS10dLAfeg390dMLxHMNiJLcG3cv2YcxvnHBsVokea3cWonQtzS9GCCGE3E7o7JOQ24Ttgw/R9w//EPOLqiw/H7nf/Q7UVVXzcGSExMcwDNI//3nIS0rR+7WvRVQdeTs70f5nn0Hecz+E9s475/EoSRDv88F57hysR47CduQIPB0T30kcTrGkHNpt26HbsR3K1avBsHRhghBCCJlPE4VjQdEh2djLLyPjb7+C8mNH4WhogPntt2E9eAic1RrzPTiHA+Y334L5zbcgSU2Ffs8eGPbthbKyklq9J6Gx/l6c3f8mrhx/Hz63O+44ld6Atbtqsfa+Wqj1tzZvF8/zcDc3w1JXB/P+/RHzFMfjV2oxsvkx3FSsht3JAP7Y4xgGKF2XgbU7C2l+MUIIIeQ2RQEZIYsc53Jh8D++j7Hf/CbmesMnP4msf/h7SLTaOT4yQhKnv28XZHl56H76afgGB8XlnNWKrr/+H8j6h79H6mOPzeMR3r44ux22jz6C7fAR2I4fh99kSmxDiQTq6mpot2+Dbvt2yAsLZ/U4CSGEEJK4RMKxoOiQLPiY/uST0NxxB7h/+ifYjh+HpW4/bMeOgfd4Yu7HPzqKsZdfxtjLL0OWnw/93loY9u2j1u/zjOd59Fy/irN1r6PlzOkJOwKk5uajeu+DWL5lG2Ty+PN7JcLT1QXL/v2w7N8P942WyTdgWWDjNvQuuR+tA2p43RzgjD1UppBgxZ25WLOd5hcjhBBCbncUkBGyiDmvXEHvV78GT2vruHUSoxHZ//ov0O/aNQ9HRsjUqVatRPGrf0D308/AdeVKaIXfj4F/+yY8rW3I+oe/p9Y8c8A7MAjb0aOwHj0Cx8lTcS90RWPVami2bIFux3ZotmyhOeQIIYSQJOQ4ezbhcCwoVkimrqqCuroarEIB/a5d0O/aBb/VCuvBQ7Dsr4P91GmA42Luz9vdjZGf/SdGfvafUCxfDsPeWuhrayHLzp6hT0kmw/n9uFH/Mc7UvY7+luYJxxasXIP1ex9CydrqW+oC4BsaguXdA7Ds3y+0506Acs0a+O55EC18BW5etYDv5AHE/v9Km6LAmu0FWHFXLhQ0vxghhBBCQAEZIYsS7/dj5P++hKGf/hTweset12zZgpxvfROyzMx5ODpCpk+WlYWi3/wavV/7+ri59MZ++1t4OjqQ98MfQKLXz9MRLk5Ca5sbsB05DOuRo3BdupTwttKsLLFKTL1xI1ia45AQQghJaurqaqQ/8wyGn38+oXAsKDwkS3/mGairq8eNkeh0MH7qkzB+6pPwDg7C+u67MNftn/Dcwn3tGgavXcPgf3wf6vXrod+3F/pduyAxGqf1+cjEPE4HLh05hMZ334JlaCDuOFYiwdJNW1Bd+yCySsun/X6h0HQ/7KdOxQ1Nw8lLS6Hbuxdj5Xfj3AUX+i6ZAZjjjs8s0mHtvYUoXZcBCc0vRgghhJAwFJARkoQcZ8/G/EKZyHbSrCz0fu3rcJ49O249o1Ag86t/h5RHH6We/mTBYlUq5D33Qwz95CcYefFnEevsH32E9s98FgU/e5Fa9t0i3uuF4+xZWI8cge3IUXi7uxPeVrFsGXTbt0O7fTuUK1fQvzeEEELIApPxxS9As3nTlL+TpD/5pFg5NhlZZiZSP/c5pH7uc3DfvAnL/ndgefvt+HOY8jwcDQ1wNDSg/9++Ce3dd8OwtxbabdvAKpVTOk4ynnVkGI3vvoVLh9+D22GPO06uUmPNzt1Yt3sf9OkZ03ovzuWC7fgJWOrqYDt+PKFuBNKcHBhq74fy3j24OazHx0e7YLkYP8ADA5SuzcDaHQXILjPQ+SghhBBCYqKAjJAkM/STn075bk0AGP4/P8fQD34AyGQxq8aUK1ci93vfhaK0dCYPl5B5wbAsMr/0JShKS9H3j/8r4ku1p60N7Y98Gnk/+TE0NTXzeJQLj99mg/2DD2A9fAS2EyfAWSyJbSiVQlOzAdpt26Hbvg2yvLzZPVBCCCGEzLrp3LA33e0UJSXI+MIzSH/mabguX4Glrg6Wd96Bb2go9gZeL2yHD8N2+DBYtRq6e++Ffu9eaDbdQe22p2jgZivO1r2O6yc/AOf3xx2nz8hE1Z4HsHr7vZCr1FN+H97ng/3UaVjq6mA9dAicPX4IFyQxGqHbsxuG2lr4ilfg0vFeXP1FLzzO+MGYVCHBis05WLM9H4aMqR8nIYQQQm4vdOZISBJxnD2L4eefBxA5ufVkBn/8Y4y88KLwIjocY1mk/fWTyHj6aTDU2owsMoZ9+yDLz0f3F74I/8iIuNxvNqPzib9Czjf+GcZPfWoejzD5eXt7YT16FLbDR2BvaIgZsMfCarXQ3n03tDu2Q7tlC7W1JIQQQsgtYxgGqtWroFq9Cplf/Ts46uthfrsO1oMHwdlsMbfhHA6Y33wT5jffhCQtDfo9e2DYtxfKNWuoaigOnuNw8/xZnKl7HV1XLk44Nru8Auv3PoQlNZvBSiRTex+eh/P8eVjq9sNy4EDE+Xo8jFoN3c4dMNTWQrN5M4Z6nfjw/S60/Ndp8BwfdzttigKrt+VjxZ25UGpkUzpOQgghhNy+KCAjJImoq6uR8bdfiZjcGpg4JOv9h3+E+U9/irlOlp+P3O9+B+qqqpk/WEKShHrdOpT84ffoeuppuJvDJhD3etH3j/8L7tY2ZP7tV8BM8Qv9YsXzPNzXrsF6+AisR4/AffVawttKc3Og274Duh3boa6uptCdEEIIIbOGkUig2bQJmk2bwP3zP8F2/Dgsb9fBduwY+Dg39PhHRjD2m99g7De/gaygAPq9tTDs20ddNAJ8Hg+ufnAUZ/e/gdGervgDGQbl6zeieu9DyFs69XbZruZmIRTbvx/enp7JN5DJoN2yRWyZCYUS7ReHcf5HF9HXEn9uMQDIKNRh7b0FKKvKpPnFCCGEEDJlFJARkmTCJ7cOf9T8+Z9HjONcLnQ+/hdwnj8fcz+GT34SWf/wD5BoNbN3sIQkCVleHop++1v0/s//CduxYxHrRv/rv+C5eRO53/vebfv3gfd4YK9vgO3IEViPHoWvry/hbZUrV0K7Yzt027dDsXQp3YlNCCGEkDnHKhTQ79oF/a5d8FsssB46BHNdHRynTgN87Koib1cXRl78GUZe/BkUK5bDsHcf9LX3Q5aVNcdHP/8cFjMuHHwH5w/uh8NsijtOKldg5T07UF37AFJyptYy29PdA8t+IRSLuGktHoaBuqYG+r210O/aBYnBAI/Lh8sn+3HhSBcsQ84JtgVK1qRj7c5C5JTT/GKEEEIImT4KyAhJQrFCMp/XB+TlAgDc166h6wtfhH90dNy2EqMR2f/6L9Dv2jV3B0xIEpBoNch//qcY/P4PMPpf/xWxznb0KDoeewwFLzx/28yP5TebYTtxAtYjR2A/8UFC8zwAACOTQX3HHdBt3wbttm2QZWfP8pESQgghhCROotfD+KlPwfipT8E7MAjLu+/AUrcfrsuX427jvnoNg1evYfB734N6wwbo9+0VQ5nFbLS3G2f3v4Grx4/A5/XEHac2GLFu9z5U3rsHKl3ibbN9IyOwvHsAlv374Tx3LqFtlKtWCaHYnj1iWGkbc+HS6y248kEv3A5f3G2lchbLN+dizfZ8GDNpfjFCCCGE3DoKyAhJUtEh2diPf4yU3fcBAPoOHgI4btw2mi1bkPOtb0KWmTl3B0pIEmEkEmR99e+gKC1B3zf+BfCFvmC7r1/HzU//GfJ/+hOo162Lu4/upivIX7Zyyu893e1mkqe7W6gSO3wEjjNngAkmWg/HGgzQ3nM3dNt3QHPXXbdtpR0hhBBCFhZZVibSHn8caY8/DnfbTVj274e57m14Ozpjb8DzcNTXw1Ffj4F//Tdo7rkbhr17od26FaxSObcHP0t4nkf3tcs4U/c62s7WTzg2Lb8Q6/c+hGV3bYVUlti8XX6bDdZD78Oyfz/sJ08mdL4pLykR2l3W1kJeXCwuH+yw4MLhLrScGQQ3wfxiGoMcq7flY+WWPJpfjBBCCCEzigIyQpJQb4sJueXGcSFZxoH3Yo5nlEpkfvXv4NqwB7LMlDk7TkKSlfHhhyErLETPF/8GfnNo3gL/yAg6P/c4cr71TRj27Ru33cevvoyTr72CLY8+jpoHHk74/erffA0f/PYX2PTwZ7H5kcdm5DMkguc4uK5cgfXwYdiOHE2snU2ArKAAuu3bod2+HerqKjBSOiUghBBCyMKlKC1Bxhe/gPQvPAPX5cuw1NXB/M478A8NxxzPe72wvX8YtvcPg9VooLv3Xuj37oXmjo1zel40Uzdn+X0+NJ/+CGfrXsdAW8uE2xatWYf1tQ+iqLIqofaEnNsN24kTsNTtF+aAc7sn3UaalQV9bS30tfdDuSI0jxnP8Wi/NIzz73eh94Zpwn2kF2ixdmchyqszIZHS/GKEEEIImXl0NYyQJFP/dhsa9rdj00NlqLqvCOlPPgn39euw1O2POV65ciVyv/ddXLkhwcnvn8OG2mLU7KNJqAnR1NSg+A+/R9dTT8PT1iYu5z0e9P7dV+Fua0PGF78IhhW+bHc3XcHJ114BAHzw218AQEIhWTAcA4CTr72CwtVrZ7WSjHO74Th1CtbDR2A7ehS+oaGEt1VWroFu+w7otm+DvLyc5msghBBCyKLDMAxUq1dDtXo1Mr/6VThOn4b57TpYDx6M23Kas9thfuMNmN94A5L0dOj37IFh314oV6+e1fOlmbg5q7r2QVw6/B4a330b1pH454WsRIpld96N6toHkVk8+fdF3u8X/uzq9gt/djbbpNtIDAbodu+GvvZ+qNevF8+zAcDr9qPpZB8uHO6CeaL5xQAUr0nH2h0FyK0w0vkqIYQQQmYVBWSEJJHeFhMa9rcDAE6+3goAqLqvCPq9e2MGZGlPfR4ZTz+Nc0d6xfEN+9uRvzwVueXGuTpsQpKWvKgIxb97BT1f/grsH30UsW7kxZ/B03YTud/+d7AqFfKXrcSWRx8Xw65EQrLwcAwAtjz6+KyEY76xMdiOHYftyBHYPvoIvMOR0HaMQgHNpk3Qbt8G3bZtkGZkzPixEUIIIYQkK0YigWbzZmg2bwb3z/8E2/ETsNS9Ddux4+C93pjb+IeHMfbrX2Ps17+GrLAQhr210O/dB0VpyYwe20zdnNXw1h/h88SfX0yh0aBy5x6s270P2tS0CffN8zxcFy/CXLcflnffhX84dvVdOEalgm7HDuhr74f2zjvByOUR6+0mNy4e68aVEz0Tzy8mY7FsUw4qdxTAmEXzixFCCCFkblBARkgSyS03YtNDZWLYFXws7LwRczyrVkeEYwCw6aEyCscICSPR61Hwnz/DwP/+d4z99rcR66zvvYeO7m7kv/A8ZFlZ4kWJ6JBs9a7acfuNFY5N5c7fyXja22E9chTWI4fhbDwXc97BWCQpKdBu3Qrdju3QbN4MVk0XGAghhBBCWKUS+vt2QX/fLvgtFlgPHoS5bj8cp08DfOz5r7ydnRh+4UUMv/AilCtWQL9vH/T374EsK+uWj2cmbs4CEDccM2Rlo2rPA1i1bSfkStWEx+JuaYG5rg6W/e/A29U1+cFLpdDedRf0e/dCt31bzPPNoU4rLhzuwo0zA+D88ecXUxvkWL01H6u25EGppfnFCCGEEDK3KCAjJMlU3VcEABEh2WDrJRQF1nMSCdjARMhn/nAJrWVl4rbBtoyEkEiMVIrsf/r/IC8rxcD//veIycRdV66g/ZFPI/+FF6BatTJmSOb1egFZ6Iv/bIRjvN8P58WLsB05AuuRo/C0tk6+UYC8pESoEtuxA6rKSjASyS0dCyGEEELIYibR62F8+GEYH34Y3oFBWN55B5a6OriuXIm7jevqVbiuXsXgd78LdU0NDPv2QrdrFyR6/bSPI9Gbs3iOw4EXn8PVE0cm3WdOxTKs3/sQyjfcAZaNf07o7emB+Z13YNn/DtxNTZMfLMNAvX69EIrtuhfSlPFzX/Mcj47LIzh/uBM9100T7i4tX4t1OwtQvj6L5hcjhBBCyLyhgIyQJBQdkrWWPQgA0CzlMXrvTmzs6cX516+JywEKxwhJROpjj0FeVIyeL38ZnNUqLvcNDqLjz/8cud/5DvT37Rp3seLUqy9DnVsAVUY29l9pRMeFs+K2K+7ZgazScvRcvwapTAapXAGpXB74EZ6zEknM+RM4pxP2kydhPXwYtmPH4R8ZSeyDMAxU69ZBt2M7tNu2z3jLH0IIIbeX3hbTtDoQTHc7QpKJLCsTaX/xONL+4nG429pgqdsPc10dvJ2dsTfgeThOn4bj9Gn0/8u/Qrv1Huhr90K79R6wSuWU33+im7M4nw+XjxxEw+u/h9NqibsPhmFRXnMH1u99CLkVy+OO842OwnLgACz734Hz7Nm448IpV6yAfu9eoXIuOzvmGK/Hj+un+nHhcBdMAxO3Ai9anYa1OwqQtzSF5hcjhBBCyLyjgIyQJFXYeRCDrZfEEKy17EHIND6k2tzoKLwXrWVLxbFlrW+gsHM1gCfn52AJWUC0d92J4t+9gq6nno648MG7XOj+0peAT9TCu2snxvp6oNYb4bCYAACO3i44ersQHWFdPX4YV48fnvA9GYYVQzOJVAqJ1wfG6QRsdrB+PyQcB1YrhUSTCQnHg+U4SHgeLMeLj1KpFKrycmhXrYZm3VowqWlwyRXwMRykPV2QyiJDOYmUfsWThaW76cq05vCb7naEEEH9221o2N8+5ZutGt/rwMnXW7Ghthg1+0pn8QgJmTuK0lJk/M0Xkf7FL8B16ZLQdvCd+HNx8V4vrIfeh/XQ+2C1WujuvRf6vbXQ3HFHwhX9jrNnY96cpcrKhds0gja3O+62MoUSq7bdi6r7H4AxK3Z45bfZYTtyGOa6Otg/+jiik0I88iJhHmx9be2EN2LZzW5cOtaNyyd64LbHn19MImOx7I5sVO4oQEq2ZtL3J4QQQgiZK3T1jJAkNPzzn2Po+z8Q2yoGQzKvWYqBDyQYQOiiflnrGyjqOoSh7x8CAKQ/SSEZIZNRlJWh+Pe/Q8sXv4i+5iaYNAqY1EqYVQr4O5qAnyfQZmYKeJ6D1+2C1+2KXKGSx94gHuswcPKo8DMJhmVD1WxieBYZokUuD1W+SWRyyKKWSeUKSKIq5GRR21AoR6br41dfxsnXXplyu9Jgu9NND38Wmx95bBaPkJDFqbfFhIb97QBCnQsSCcmC4RgANOxvR/7yVKokI4sKwzBQrVkD1Zo1yPrqV2E/fRqWt+tgPXQInN0ecxvOZoP59ddhfv11SNLTob9/Dwx790K5enXcSqmhn/wUw88/j7QvP4vcu+9E3vKV6LkmtHl0DvTGPT6VQonC9h6sfejTyP+L/zH+WDwe2D/4AOa6OtiOHgPvcsXYSyRpZib0998PfW0tlKtWTljdNdxtxYX3u9DcMPH8Yiq9HGu25mHl3XlQaad43ksIIYQQMgfoShYhSSYYjgWt//RqpOWWoP7tm4EloS8qaXkalK+ohvcFIRwLbkchGSHjed0uDLS1oK+lGX03mtDX0gyb1wSUxL7bdqHjOQ5elxNel3PO3jMilAsGbDLZuAAutHx8O8rI4G58QCeLWsbSfGsLXnfTFZx87RUAoTvnEwnJwucCPPnaKyhcvZYqyQiZotxyIzY9VBYx9y0wcUgWHo4BQptvCsfIYsZIpdDeeSe0d94J7hv/DNux4zDXvQ378RPgvd6Y2/iHhzH2q19j7Fe/hqyoEIbavdDv2wtFSagaa+zjj3DpN7/AQEEmhg6+Ae+Rtyc9lozCYizVpkD7u9fA8oD1P/8PHHffDXV1NXi/H46GBpjr6mA9eAicJX5LxiBWr4f+vvugr62FesP6CaveeI5Hx5URXDjche6msQn3m5anQeWOQlRsyIJERvOLEUIIISR5UUBGSBJxnD0bEY5l/O1XkP7kk+g53BVz/EiPHe/1FCD/we8g99CPoLX3Yuj7P4C6qgrq6uq5OmxCkg7PcRjt7UFfy3X0t1xH743rGO5sB89xM/YempRUSN0eeExj8DMMOJYBJ5Fg5t5h4ZmPUI6VSCCJUwknC1S2TSmgi7Ov8G0olJtZ+ctWYsujj0fMvQJMHJKFh2MAsOXRxykcI2Saoue+DT4uvztz3NhY4RjNgUtuJ6xSCf3u+6DffR/8ZjMsBw/CUrcfjvp6gI9dSeXt6MTwCy9g+IUX4F+5HGOrl6PP70FPazO44sRu1GIlEnzy6/8C9al6DP/gh+LyjK98BYxcjoF//3dY3nkXvqGhSffFKJXQbd8G/d690Nx1F1j5xJVdPo8f108L84uN9U88v1jhyjSs3VmA/GU0vxghhBBCFgYKyAhJIurqaqQ/8wyGn39eDMcAwGWPfWdiULdJi+4N/4iMofNYu1FH4Ri57TgsZvTdEMKwvpZm9Lc0w+2I3f4mESq3F0aHCz6WxZAhNE8CK1eA8wjzQNjHRrG0dwRlQyZhpUQC+P3gAfhZJhCasWJ45mcZcAwDP8uCVykhXbYMsmVLISkuAieRwOfxwOf1wOdxw+/xwudxRyzzejyh5V6PsC4whktgLonFivP7wfnnPpSLmO8tLFQTW1PK5JBEt7WMCOuiAjpZeBg3PqBj2cUdytU88DAsI05ceO/3AEIh2epdtePGRodjlff92ZTaMhJCxosVknmjKmMoHCMkksRgQMojjyDlkUfgHRiAZf87sNTVwXX1qjiGB2BSKzCg12BQr4FN6gGuXZjye3F+P9p+/1tk/zFUZaa+4w6Y/vgahn7wgwm2DJBKoblzMwx790K3fTtYzeTzgNnNblw+3oPLJ3rgssX/PiqRslh6RzYqtxcgNZfmFyOEEELIwkIBGSFJJuOLX4Bm8yYx5Gp8rwNn3mkPDWB5gIvTwz5jLQ61AS0vXsSG2hJkFOrm4IgJmVs+rxdD7W1im8S+luswD/RPe39ylRrZ5RXIKV+KdLUWvh/9BJKePrRmGHE9N00cl6fPgKr2AaT0d6Hh6HsAIK4vGzKJE54zAKQcDyl4wB+qJ5NmZUG7fRt027dDvXHjpHfrTgXn948LzULPvfB5o5d5Qj/eyGX+qFAufDu/10uhHIQ/b4/TCY9z/kI5IWxTQCKXRYRyEcFdjHaVMnlYcCeLrqCTzVsoV/92G67X56F0/QNoO/MmACEk83q9gEwdGhcVjpWufwDX6/Ogz2hDzb7SOTteQhaj6JDsTF0n9BVy6Ms8uHi4B2fqQnPgUjhGSCRZVhbS/vIvkPaXfwHr1Su4/rvfou3iOQxIeHikif8+lXt98MhCl2nCb85qbLmKpRlG8eYsx6lTk+5Ptb5aCMXuuw/SlJSEjmGkx4bzh7vQXN8PzjfB/GI6GVZvzcfKLXlQ62l+MUIIIYQsTBSQEZKEwsOx8Dt19RVu6Ms8SOeW4/x73XG3v3lhGDcvDKN4TTo21BYjs0g/68dMyGzgeR7mgf6IMGyovQ1+n29a+2MYFulFxcgJBGI5S5YiNTcfDBuaG8G3eQsOP/PXuA6PuGxp7wjKLrTCd+4ypDYbloaFZxEhWRTFsmXQbd8G7fYdUK5cMWutZliJBHKJCnKlalb2Hwvn90dVucUI4OKGdolsM367mWyRudDMTygnjaxok0W3nZx4vrjwUC58fXTby5EeF+rrbgCQoLe1LCIkO/Xqy0hbuwEpK9aicf8bOPXqy+Lxla5/AL2tZQCAhv3tyF+eSvMgkQWD53lwHA/OH/zh4jzn4fdz4KNei+u5yLHR28Z67efirROW6dKUsI64AACWZgUsN+To5ikcI2QilqFBtJ49jdaz9ei+ekk4V1VMPvcWy/FItTmRabHDJZOiLSsUYuXr0qDefh/kB9/BZacJwMTnnUGK5cth2FsL/Z49kOXmJnT8PM+j8+ooLrzfia5rE88vlpqrQeWOAlTUZEEqW9wV7oQQQghZ/CggIyRJRYdj6/cWot9/BQBQtbsAKrUiYn0s7ReH0X5xGEWr0rChtgRZJRSUkeTmstvQ39KMvhvXA/OHNcNpnXyC8Xi0aemhMKx8KbJKyyFTKifcpvGjY7gcHY4FLkJIbTYAoYsS40KyMRs0NRug3bYduu3bIMvLm/axJztWIoFcpYZcpZ588AyJCOU8HngDz/1TDejCKuEmC+hu71DOB4/TB49z4vlGZhaLtjNSSKRy+H3C38OR8w0YuXAGLWFzu6QVrELXVQ/AdoBhVFh//3JkFVNbp8VsqoES5+fFUCnxQCl2YBQ/UIrxOsYx+qPG8n7hsywYfOjmDrVBLty8MuSAIWPu/v0nJNnwHIf+1htoPVuPtrOnMdTZnvC2cp8fGRY7siwOpFsdkHI8WjOMEeGYcP7ZCv7DejAAvJPcnCUrLBRCsdpaKMrKEj4Wn9eP5tMDOH+4C2N9E7cnL1yRisqdBShYnkrzixFCCCFk0aCAjJAkFGuOh+V3Z6L/4BVxWXQbHACQyFj4veMv5nZcHkHH5REUrkzFhtoSZJcaZvHoZ1Z30xXkL1s5Z9uRueP3+TDc2S5UhgUqxMZ641dGTkaqUCC7bIkYhmUvqYAuNX1K+4hu31ZVugzZF/bHHBsrJEv/wjNY/md/Pq3jJ5Obj1DO7/NFhHDeGMFadEAXbE3pTzigixzD87dvKAdwADzwRxeJ8pFhwkjXZQCXxdcf/174Uag1UBsMUOkMUOkNUBsMUOuFH1XgJ/RaD4lUNuufaL7wfDAQSjxQCoY3UwmU/GFB1GwFSpyfB7+QAqVFzGH24NQbbTj1RhsyCnUor85EeXUm9OlzV8FMyHzxulxov3QObWfr0dbYAIfZlPC26QVFKK2uQVl1DTLzC+E48QHMb9fBduIEWtM0EW29w2/OCsZQsc47Wa0a1XfvhL62FsrVq6cUWjksHlw+3o3LJ3rgtE48v1jFxixUbi9AWp424f0TQgghhCwUFJARkmTiTYDujNFWKzok83s5FKxIxVCHFS77+C86nVdG0XllFAUrhKAspyy5g7KPX30ZJ197BVsefRw1Dzyc8HbBkGPTw5/F5kcem8UjJInieR7WkSH03RDaJPbduI7Bm63wBeZUmDKGQVpeAXKWBMKw8gqkFxSBlUy/zUt305WIcCz4/53lnnvR8+yz494/5bHHsG37NmT0d+LD3/8GAPDRn36H/Mp1FM4uIhKpFBKpFMDch3KJVMMF54XzxgjaJg7oFmco53bY4XbYMdbXm9B4hUYTCMuMUOn1QrCm1UMZ+FGodVBohEe5SgtAMr4iKTr0SSBQ4iJCpUQDJS4q8KJAicyvoU4rhjqtOPl6KzKLdCirzkR5FYVlZHGxjgyLVWKdVy7C740fJoVjJVLkr1iFskAoZsjMjliv370b+t27cer3v8H1P/1OXB4ejkUrGzKBUSjQlCYEVdf0KqSvWIKaNWsS/jwjvTZcONyF5tMD8Pvi/+5X6WRYdXceVt2TT/OLEUIIIWRRo4CMkCTS22KKGY5NJDok67o6in1/U4nhLhvOHeqEyzb+S1zX1VF0XR1F/rIUbNhbkpRztnQ3XcHJ114BADG0SCQkC68AOvnaKyhcvZbCinngcTrQ39oSaJMoBGJ208TzGUxEbTAiu7wCuUuWIbu8AtllS6BQz2w7tfxlK7Hp4c+OC2U9XZ3jB/M8pFmZ0GzejI3YDEYiFUNZ+v+N3KpgKKdQz00oJ1Qa+eDzJNJ6MrF2lePaXno9ocq6JArl3HY73PbEAzUwCjCMGmDVYBgVGEYVes6qASb8uQoMM/n8M4RMhJUwgR827HngNRv5WhK9PtZzNs6+As8lEhY9zWO4eWE47CB4gJu4MmWww4rBDitO/qkVmcV6sbJMlzpxW2NCkg3PcRi42RoIxeox2D5xS/twSp0epWurUVq9EcWVVZP+Hu9uuoKPwsKxzfs+hQo3j5Ff/gL+waFx4/UPfAJ7/u3fkPHuW+L3nQ9++wvkLl0+4fknz/PoujaKC+93ofPq6ITHlJKtxtqdhcL8YnKaX4wQQgghix8FZIQkkdxyIzbUFqNhf/uUJkAPD8k21BajcEUaClekYdU9ebh8ogfnD3XGbJ3R3TSG7qYx5C1NQc3eYuQuSRk3Zr7kL1uJLY8+HvHlD5g4JItuj7fl0ccprJgDHOfHSHcX+m4EwrCWZox0dU774rdEJkNmSVmgVWIFcpYsgz4jc07mOtj8yGMRoerwz3+Ooe//QFzvV6shcQjzMQWXpz/5JGoeeHjSixOEJCuGYSCRyiCRymYllPN5/XBavXBYPHBaPHBYPXBY3LCbnXCYHLCbHXBaHXDZnHDZXQDvg899BZzncthepABCfRcZVg9ABp53ALwLwBxVS/Fu8Lwb4MYSe0dGGRmiMWqAFR4ZViUEaoHXFKjNjPkIlCZ7n3jHFL4tw47fF8Mycz7PT+N7HRHhmL7CDX2ZB1nMCpx9pyuhfQy2WzDYbsHHf2xBVokQlpVVUVhGkpfX7ULn5QtCKNbYAPvYxCFSuNS8ApRV16C0uga5FcvAsomHSrFuzhr++c8jwjFOLgfrEebktLz5FhTl5ah58kkAmPTmLJ/Xj+b6AVw43IXR3onnFytYnoLKnYUoXJ4KhqX5xQghhBBy+6CAjJAkU7OvFPnLU6dc1VV1XxGyywwR28mVUlTtKsLqe/Jx5YMeNB7shNPiGbdtz/UxvH59DLlLjKjZW4K8pckRlAXDsERCsljh2FTaMi4EyTIfm21sVKgMuyGEYf2tN+B1jW8BmqiUnFxkB8Ow8qXIKC6Z13mB4oVjQ3t2Y2zrVmzs6cXYj38sLAsLySgcI7cLnufhcfnFsMtp8Qjhl9UDh9ULZ9Qyj8ufwF7lAORgJQb4XPUR4ZhUdRekyhr4XPXwOT8UjoGziMt5ngsEVw6Ac4DnneA5B8A7wfMO8JwzsC7wyE//36sp413gedcUA7VgiBYdqAVCtEDYNlOBGgVKJCi6zff6vYXo9wvz31bemw+5Qh6xPrNYB8uQK2Zb76CBmxYM3LTgo9dakF2qR3l1FsqqMqBNobCMzC/b6AjaGhvQevY0Oi9fTLjtNyuRIG/ZSjEUS8nOvaXj2PzIY9CklKNy58YpnXvWPPkkFJoCVO7cOG6fTqsHl0/04NKx7gnnF2OlDCpqsrF2B80vRgghhJDbFwVkhCSh6bY8jLedTCHB2p2FWHl3Hq5+0IvG9zrgiBGU9d4w4Y0fnkPuEiPW1xYjf2nKvF9oSiQkux3Csfmaj83rcWOwrRV9N5rQ1yLMH2YdHt/yJVFKjRbZS0JhWHZ5BVQ6/bT3N1uiL1Ck/M3foDlPuABi+IvHIZVJxfXhIRkhCxXH8XDZhHBLDLvCQ6+IZd4J5y25FeEhGBAKxwCIj8H1wUepskYIi6ACJGmTvocQqLnE8AyBQC0YnvGBkC0Yts1PoJZITRwDuUoDhVonzJemEeZQU2r1UOn0UOkNUOsNUBuM0BgMUOp1kMlkFCiRmGLNgbv87kz0H7wiLotu6z3YbsXGB0qRVaRHy9kBtJ4fgtvuQzz9bRb0t1nw4as3kFNmEOcs0xgVs/SpCAnheR6D7W1oO1uP1rP1GGi7kfC2So0WxWurUVZdg+K11VBqZi5Mqn+7DQ377bCcfBXpLyd+7nmt34iLPWlwO9tQs68UADDaZ8eFw124froffm/839NKjQyr7snDqnvyoDHQ3z9CCCGE3N4oICPkNiKTS1C5owArt+TiyoeBoMwcOyh767nzyCkzYENtCfKXz29QFiskG2xvRWZxGfpuNKGl4ZQ4tnrvQ1i1dSf8Pu+8ViHNpLmaj43nOIz196LvhjBnWF/LdQx3toPzJ1L9MR4rkSCjqBQ5S4Jh2FKk5OQm/cXY6HAs42+/As2f/zlw8KC4LBiGUUhGkllEa8OwwMtp8QqVX2HLXDYv+DnqUhj3eKPCMbl2C1jZhogxUmUNtCkKmHoPC9s4P0Te0hQUrt41axVKYDh4HDa4HFY4rWa4rBY4LGY4zGY4LWY4LCY4LYFlFjNcNivm5g+Th8dpg8dpg3Wkb/LhDAOVVicEZwYD1DqD+FwI04xQ6wPBmsEIpVY7pVZhZOGKFY5V3VcEp3N8OBwdkp1+sw2bHirDtv+2HHc/uhQ9TWNoOTuItvNDcDvih2V9rWb0tZrFsKy8OhNl6ygsIzPL5/Gg88oFIRRrbIBtZHjyjQJScvJQWl2Dsuoa5C1dAVYy8/8e9raY0LC/HQBwsScNZQX3oqjr0KTnnh0F96K1R7ghpGF/O+QqKbqujaHzysjEnylbjcodBVi6MZvmFyOEEEIICaCAjJDbkFQuQeV2ISi7+mEfGt/rgN00vq1IX6sZb/34PLJL9dhQW4KCFanzEm74vF5klZYjf/kqdF8T2m5d//gDXP/4g3Fjz9a9jrN1rwMApAoFlGoNFBotFBotlJrAc7UGSq3wqNBooNRooVBrI5YpVGowbHLMBTNb87E5LGb0tzaj70Yz+m40ob+1GW77xPMTTESfkSnMG7ZECMMyS0ohky+sC12xwrH0J5+MeZGQQjIy12K1Ngyv6hLbHQYeE2ttOHdYCQOVTg61Xg6VTga1Tg6VTg6VXo7epsNo+jAUjpVWP4DetrLQtjIenFf4/eNyVqJ0vRZtZ94EAHScfxuFK9Kwfu/sVQ4rNQroMXl1GgBwfj+cVksgPLMEAjQhPAs+hsK1QKA2F3heOC6rBaM9CcwlxTBQ6fRQ6w1Q6fVQ642BIC3sucEQWG+gQG2B6m0xxQzHJhIdkp18vVVs8124Mg2FK9Nwz6NL0X1dCMtuThSW8UBfixl9LWZ88IcbyC03orw6E6XrMqiyhUyL3TQWaJ1Yj45L5+BzJ9Y6kWFZ5C1dIYZiqbn5s3ykQvePNXkjuBgIu1rLHoTm7i1Y/uQjcc89r/UbxXAMAJRSHz56rWXC98lfloLKHQUoWplG84sRQgghhEShgIyQ25hUJsGabflYeVcurn4kVJTZxsZ/iexvs+Dtn1xAVokQlBWunN2gjOd5jPZ0o/1CIzouNqLr6uWE5wUI53O7YXO7YZvCRNsihoFCrRbDMzFIC4RsyvBwLTyAU2ug0Gohlcln9M/oVudjq659AH0t19F3oxn9LUKFmGkggYqDOOQqFbLLliBnyTJx/jCNMTnmrpsux9mzMcOxicQKydRVVVBXV8/egZJFJaK1YcTcXaEqr/Bls9XacLpkCglUejnUOpkYdqnFEEwOtT6wXCeHQi2N+e9id9MVHPm/fxRfl65/AL2toXBMX+GGvsyDbMlKnKnrBAD0tpahdP0DYkj2wW9/gdyly5NiLkBWIoHGmJLwv4nBQE0M0MwmOCwWOK3Cc2cgZHNYhNBtTgO1wDElgmFYKHU6oa2jPqw6TSdUpInVaXojVHo9VFpd0tyIcjvLLTdiQ20xGva3JxSOBYWHZBtqi8e1+ZZIWRStTEPRyjT4H12KrmujaD07iLYLw/A444dlvTdM6L1hwonfNyNvSTAsy4RaL7+Vj0kWMZ7nMdzZjtYzp9HaWI/+luaEt1WoNSiurBJaJ65bD5VWN4tHOp7j7Fmkv/xPKCu4F61lDwIQKsk073Vg+d2Z48Y3vtchhmlBLl/sSzqshEHFhixU7ixAev7cfi5CCCGEkIWEAjJCCCQyFqu35mPFnbm4drIPZw+0wzY6PpAauGlB3U8vILNIhw17S1C0Km3GQiCn1YKOS+fRcfEc2i+em1ILlFnB83Db7YGKqoEpby6RSkPBWSA0U6jDQjaxik0rLgtfF6uNy3TmY8utWI6WhpP4+A+/gd8Xv9XRRBiGRXpBoTB32JKlyClfitS8/EVXKaCurkb6M89g+PnnEwrHgsJDsvRnnqFwjMDv5ca1MHRYIlsbBpclQ2vDaEqNLBR6BQKv8MovcZleDtkMtGjKX7YSmx7+LE6+9sq4cGz93kL0+4U5kNbsyINMJhOrVsJDsk0PfzYpwrHpmGqg5vf54LJZA0GaOXZ1mjVUpeay22b5Ewh4nhMDtYmbfAkYhhWCMp0eaoMxNGdaWLim1hmgClSpKTVaCtRmSc2+UuQvT53yHLhV9xWJlWMTkUhZFK9OR/HqdGz1cui6NipUll0Yil/pygM9zSb0NJtw4nfNyK1IEcKytRkUlhH4vF50X7mI1kZhPrGpzI9rzMoJtU5cthIS6fxdEgmee+L556G5e4sYfp18vRVerzdi7Eev3cD59yev/lVopFh1dx5Wb82nKkxCCCGEkARQQEYIEUlkLFbdnYflm3PQdLIPZw90wDriGjdusMOK/c9fREahDhtqi1G8Jn3KQZnf50PfjSa0XziHjouN6G9ruaU5W2QqFXg/N61Ks9ng9/mEi5dm07S2l6tUgfAs2CIy2ApSg8JVa9F5+TwAISQzD/RjycbNOPP26+i4dC5iP73N16b83tqUVKEqLBCIZZWWQ65UTetzLDQZX/wCNJs3TTnkSn/ySaocW8R4nofX5Ycj2L5QbGXoDbU5DGt1GLc6Yp4EWxuqdLJQZZdY7SUEXmIAppWBlcx9CLH5kcfgcmTj2snQ75JND5Vh+d2Z6D94RVwW3dqtt7UM6+7/MjY/smNuD3geSaTSKQdqYstHsxkOq1l8HpxDLVid5rCYbqnV7lTwPCf+nhzp7px0PMOyYsvHYGVaeJtHsTItOIeaWkOB2hRMNRyb7nYSGYviNekoXpMOv5dD57VRtJwdwM0Lw/DGCct4Hui5Poae62M48cp15C0NhWUqHYVltwuHxYy2xga0na1H+8Vz8LrGtyCMhWFY5FQsQ1mwdWJeQVLNhxs891xeXQ1N2HyAZ+o6oa+QQ27044//fh7mwYk/rzErML/YHdkzcvMKIYQQQsjtggIyQsg4EimLlVvysGxzDq6f6sfZd9thGR4flA11WvHOi5eQXqDFhtoSlFTGD8p4nodpoA8dF86h/WIjuq5chCdGb/24GAba1LSIyjKlVie2mvI6ndjy6OOouv8BuO02uB12uGyBR7stUA1mE5477HDbbHA57KHlDuGR55KjfZnH6YTH6YR1ZPI7Yi8ePoCLhw9M632kcgWySssDlWEVyFmyDLq09Gnta7GYbshF4djCMq61oTVQ4RUWeInzeVm98HuT49+GIKlCAnVY4BWr0iu4Ll5rw2TS+F7HuHCs6r6imHOwRIdk104yMGZ3JNwa7nYjkUqhTUmFNiU1ofF+nzfQ1tEstncUq9MsYeFaoErN7ZijQI0LBWpIZAo1lg1Vo+n1UOmNkRVq+lB1mipYoZbkf09mU3fTlWlVYU53O0AIy0rWpKNkTTp8Xj86rwiVZe0Xh+F1xw/LupvG0N00huOvNCN/qRHl1VkoXZsBpVY2reMgyYnneYx0d4qtE/tuXE/4Zjq5SoXiNVUora5Bybr1UOsNs3y0tyZ4Dhn9+83SHKwAi/+dKW+pEWt3FAqdPWh+MUIIIYSQKaOAjBASl0TCYsWduVh6RzaaT/fjzLsdsAyN/4I23GXDuz+7hLR8LTbUFqO0MgMMy8DtsKPz8gWhbeKFRpgHp9aqUJuWjuI1VSiuXIfhrg6c+uPvxHVbHn0cNQ88HNFSMLzl4HTmwxKqRJxwBUIzt90eCtSC4VrEMnvEskTvZJ1PqXkFyClfipwlFcguX4r0gqJ5bS1DyEyK1drQaRVCr9BrofLLZfUkZ2vDYLAVXukVtiwYgskUi+fu8N4Wk3gxEEBC8yBFX0Q8+XprQq3eyOQkUhm0qWnQpqZNPhiRgZrDYoYzag41R1jI5rRY5jRQs5vGYDeNJTSelUjECjVVVJtHoQVkaA41td4AhUazaAK1j199GSdfe0U8t0pU8Bxs08OfxeZHHrulY5DKJChdm4HStRnweYJh2QBuXhqBL15YxvHoujaGrmtjOPbb6yhYloKyQGWZUkNh2ULk93nRffUKWhtPo+1s/ZS+O+gzslBWXYPS6hoUrFgFiXRh/T/g9fjRfnEYfS0mMMzEWSDLMliyIQuVOwqQUUjzixFCCCGE3Aq6KkoImZREwmL55lws3ZiN5voBnHmnHeaYQZkF7zx/EApVH2SyHoz1tU2pIkuqUKBgxWoUr1mHojVVSM3LB8MwqH/ztZjhGJDYvFyJYhgGcpUacpUaSM+Y8vac3x8zPIuoXLPbIgO44DKbDZx/ZtuyqXR6cc6w7CVLkV22BEqNdkbfg5DZJLY2jKrmEsOuqGVJ19qQZcbN2RWq8pKFKr/0cii1MkjmobVhMsgtN2JDbTEa9rcnFI4FhYdkG2qLKRybJ1MN1Hxeb8QcaeHVaWJlmsUMp1l49Dgds/wJBJzfP8VATQqVXg+1Tg+VIU51mi7QDlJvgEKdnIFad9MVnHztFQBTO4cKv0Hp5GuvoHD12hmbB1Aql6B0XQZK12XA6/Gj88qIWFnm88Q+r+Q5Hp1XR9F5dRTHX76O/OVCG8aSSgrLbsVcVBY6rRbcPHcGrWfr0X6hMfG/8wyDnPIKlFVvRGl1DdILipLy79hEOI5HT9MYmuv70XpuKG7lZJBCLcXKu/Ow+p58aFNofjFCCCGEkJlAARkhJGGshMWyTTmoqMnCjTODOPNOO8Z6++H3tYPzdoDzdQK8Gx5r4vvMKC5FcWUVitesQ+7SFZDKIi9ihF+AARDz7uaZDMluBSuRiBfIpornefg8biFQG9ceMrJyLbhutLcb9rHRcftauvlu3PWZ/w5DZtaCu1BAFj+O4+G2R7cy9IohWLD6K9lbG4ZaGYYeI+b40i+M1obJomZfKfKXp0455Kq6r4gqxxYYqUwGXWo6dKmJtfP1eb1iiOY0m+AQ51MbX53msJim1r75FnB+H+xjozF/D8fCSqSBVo+BijRxPjWhOk2YQ01oB6k2GCFXqefk34/8ZSux5dHHp3QOFevcbKbCsWgyuQRl6zJRti4TXo8fHZeEsKzj0jB8cX4/cByPziuj6LwyClZyHQXLUwNhWToUagrLEjVblYU8z2O0txutZ06jrbEevdebwPOJ/a6XKZQoWrNOqBSr2gC1wZjwcSULnucx1GlFc/0AbjQMwGHxJLxt5Y4CbKgtmcWjI4QQQgi5/VBARgiZEo/Lia4rl9Bz9Rzclka4LT1T2l5tMKJ4zToUV1ahcPXaCVshJhKOBSVLSDZdDMNAplBCplAmdBd+/ZuvoevKRfF1+Hxs1z8+gczi0gXz2ZNNb4tpWhfbp7vdYjC+taE3os1hcJnD6knK1oYKjRTq8KBLL48bgi2m1obJZrp/f27Xv3e3C6lMBl1aesLzY/o8HnGutIjqtLDXTrMZjkAV21y1R+b8PtjGRmFLMFCTSKWhVo/R1WnBZYbQ81sJ1OKdQ63eVTtu7FTOzWaaTC5BeXUmyqsz4XX70XF5BC1nB9BxaSR+WObn0XF5BB2XR8BKGBSuEMKy4soMKFT0VTiema4s9Pt86Gm6irbG02g9Ww9Tf1/Cx6JLy0BpdQ3KqmtQsGI1pHL5lD9PMjAPOXGjoR/N9QMY60+8MpaR8OD9wt/t+rdvQiJlac5NQgghhJAZRN8KCCET4jkOg+1taL/QiI6L59Bz/doUWwFKwErzwMqKYMxeho0P1qCiJhvsJJNIdzddmfIFmFgXeHKXLp+1u5rnS7yLU/HmYyOJq3+7bcpt3gCg8b0Osc1bzb7SWTzCucHzPLxuvxBshYVbYtgVVuHltHrgdiR/a0NxPi+9LKLdoVJ3+7Y2JGQxksrl0KdnQJ9gq+TwQM0RqExzWsxwWC2h5+J6y5wFan6fD7bREdhGRxIaHwzUhEo0fShAE+dQC1SnBSrV5CpVRKAW6xzK6/UCMrU4Zj7DsWgyRSgs87h8gbBsEB2XR+JWHnN+Hu2XRtB+aQSstAmFK9KEyrI16ZBTWBZhJioLN33qs7AOD6HuR99F+4WzcNsTn38wu2xJIBTbiIyikgVbje20edByZhDN9QPobzNPeXt9hRv6Mg+yJStxpq4TQGjuTQrJCCGEEEJmBn0TIISMYxsdQcel82Io5rRaprS9VJEBHgVgZUVgpflgGKGdjc0EHP7FNZx9twPr9xRhyYYssHEuTOcvW4lND392yq1dwi/wbHr4s7dNOAYs/Cq6+dbbYkLD/nYAU7v4EAzHAKBhf/u02sTNBZ7j4bKHtzL0hrUyDIReYWFYMrc2DFZ0CVVdsrDwK9DaUCUFM0kITwghwNQDNa/HHWjxGFmh5oyaQy243ut2zfInEEw5UJPJhNBMF1mJVlxZhfYLjQCAU6++DOPyNUhZUYn6N/6AM2+8Km5/12f/OzZ84lOz8lmmSq6UYsn6LCxZnwWPy4f2S8NoOTOIziuj8PvihGU+Hu0Xh9F+cRgSKYvClYHKsjXpkCvpKzIwtfPK6PNTfWYWTr3++4TnIpbKFShasxalVULrRG1K6i0d+3zyevxovzCM5vp+dF4ZBcdNXjafUaiDWi9Hx+XQ39/1ewvR778CAFizIw8ymUw836SQjBBCCCFk5tDZPyFJaC4mxA7n9bjRc+2KGIgNd3VMaXulTo+i1WtRvGYditasgzYlDa3nhnDmnZsY6Rl/t6hpwIH3f3ENDfvbsf7+YlTUxA7KNj/y2LQmfa954OHbqnIsHIVk05dbbsSmh8qmdPEhPBwDgE0Plc1pOOb3cZEtDCPm9QpWfAlVXk6bF3wCF2nmUrC1YWQrw8gQLPhIrQ0JIclAJldAlp4JfXpmQuO9bldgfjRzYL40S1ilWmgOteB8aj63e5Y/gcDv9cI2MgzbyPCE40zXLsJ07SJuRi3/8JVf4cNXfgWGYcGwLFhWeIz9XJLAGGHcVMZMNFajk2DpBsAy4oKp3wnzkAs8xwBgAYYBEHgOBj4wuFHP4kY9A1YiQXq+DtmlRmQUGSBXSBM+NjbwOSc+tknGMGxSVUtNdl7J+f04/NKLuHj4QMR2lsGBSfetTUkVq8QKVq2BTK6YuQOfYxzHo6dpDNfr+9F2bghet3/SbXRpSlTUZKGiJhvtF4fHnU8uvzsT/QeviMuC56MUkhFCCCGEzCwKyAhJMrM1IXY4nucx3NWBjguNaL94Dt3XLsPv9Sb8XqxEgtyly1G8pgpFa9Yhs6QULBt58bq8OhNl6zLQdmEIDfvbMdJtG7cf85ATh395DQ3vtGP9niJUbMwe1+qMleYlfFwzsV2yup3mY5tP8S4+LL97/IXQWOHYrV6kCLY2FIOt6AqvqDm+kq21IRNobagOtjYU2xtGLlPrqbUhIeT2IFMoIctQQp+RYKDmcoUq0qyRlWqhNpCBSjWzGT7P3ARq8fA8B97PgZs8D1gweq8JP/MlGUPHvGUr0NN0FYBwXtl+8Ry0xhTcqP8YPo8n4c+WWVKGskAolllSllRh4FTxPI+hTiuaTw/gxpkBOCyT/zkoNFIsqc5CRU0WsssMYBgm7vmk0zm+nSuFZIQQQgghM48CMkKSyExPiB3OYTaF2iZeOg97gpPEB6Xk5KJoTRWKK9ehYMVqyFXqSbdhWAZl6zJRujYDNy8Mo2H/TQx3jQ/KLENOHPlVE868047q3cVYukkIymg+KAHNxza3Yl188EYFyFMJx3iOh8vhDQVbYivD0Dxeobm+PPAlW2tDOStWcoWqumSh6q6w+bwUamptSAght0KmVMKgVMKQmZXQ+GCgJlanmU1CmBY1h5rDYobTbIbPm3iYQebHQggduy5fSGicVCZH4epKoXVi9QboUtNn+chmn3nIiRsN/bh+egCmAcek4yUyFiWV6aioyUbhilRIpKGbg3pbTFO+2SrWeWp2mSEp23sTQgghhCwEFJARkkRmYkLsLY8+jvxlK+HzetF7/Ro6Ljai/cI5DLa3xt1HLAq1BoWrKlFcWYWiNWthyMye6scRMQyD0rUZKKlMR/ulETTU3cRQp3XcOMuwC0d/IwRlZdUZOH+oC8DinA9qKmg+trkXffHhTF0n9BVy6Ms8uHi4R5woHQCWbcqBWi9H43sdUdVeQhiW7K0NQ/N5UWtDQghZaKYSqAlVyi5xvrSIqjSLGU6zCQ6rBU6LGWP9ffA4xrfJJmQyGmMKSqs2oLR6I4pWVUKmVM73Id0yp82DljODaK7vR3/b5HMzMwyQtzQFSzdmo3RtBuSq2JddcsuN2FBbPOUbAsPPUzfUFi/47zqEEEIIIfOJAjJCkky89nird9WOGxsdjlXXPgipXI7Xv/Mv6LpyaUoTwzMMi+wlFShesw7FlVXILqsAK5nZC+MMw6BkTTqKV6eh47IQlA12jA/KrKMunD/UBblKAo9TuH12IcwHNZtoPra5V3VfEbxuP8680w4AsDQrYGmWoxudEeOaTvah6WTfPBxhSHhrQ7GqSycTKrsilgnLw+9eJoQQcntgGAZypQpypWrCG5+izy9ZmRxcWOXZ+r0PYdX2XeD9fnAcBz7wE/u5Hxw/0XoOHOefZB+xx4wf659kHxOP8fv8cNnccNk98Lh8AM8B4AEIjzz4ccsAHizLC9OaIbSv201GUQnKqmtQWl2D7NIlYNiFf57h9fjRfmEYzfX96LwyCi6Bm50yCnWoqMnCkg1Z0BgSm1OtZl/ptG7oq7qviCrHCCGEEEJmAAVkhCShWCGZ1+sFZKG2htEXL+RqDc7uf2NK76PPyBTmEatch8KVlVBqtbd66AlhGAbFq9NRtCoNnVdG0bD/JgZujr8bMxiOBU0Uks3GfFDJZrohF4VjieF5HuZBJ/paTehrNaO/1Yyx/ujWOXPXPlAqY6MCLllgPi/5uPm8qLUhIYSQmRB9fpm2dgNSVqxFuteBU6++DAA4U/c6VHrDop7b1GXzou3CEFrODqK7aSyhSnCpQoKSNekor85EwXIjWAkTI9SbLAxM0tDRLzwf6mzHUMfNcZ992Z33LIr/Hzg/h+7rY2iuH0DbuSF43ZP3udSlKVFRk4WKmmyk5mim9b7TDbkoHCOEEEIIuXUUkBGSpKJDslOvvozUyvVQZebgze/8C3quXY4Yn0gbHJlCiYJVa1C8Zh2K1lQhJSd3XifHZhgGRavSULgyFV1XhaBssrYlJ19vBefnsP7+EnHZ7RCOkZnn93IY7LSir9WE/lYz+tvMcFq9k294CxRq6cTzeelDVV5yJf2KJoQQMneiw7E7HnkMw4Gbs6pqH4RMJptSG/CFTKmVYcWduVhxZy6cNg9unh9Gy9kBdF83xQ3LfG4/bjQM4EbDAGQKCYoDYVnhylQolAu/XXH9m6/h6gdHxddKrQ4um9AJYiH//8DzPIY6rWg+PYAbZwbgsEw+T59SI0N5dSYqNmYju1Q/r9+nCCGEEELIraGrb4QkseiQbPTCmantgGGQVVIWmEdsHXIrlkEilc3wUd46hmFQuDINBStS0d00hob9N9HXYo47/vRbQsXZfU+uwsWj3RSOkYQ4bR70t5rF6rDBDiv8vltrgxRsbRgRdunkQuVX+CO1NiSEEJLEYs1pu3pXLQ4ePCgui9cGfCGGIlOh0sqx4q5crLgrF06rB23nhcqynutj4OMUlnnDwzKlBCWV6SivzkLh8lRIZAvvXCDW/x81DzwcsXyh/f9gHnKiub4fzfUDMA1EdwwYTyJjUVKZjoqabBSuSKVzOkIIIYSQRYICMkKSXM0DD8NuGkPjO28mNF6bkoqiNVUorlyHwtVrodYbZvkIZw7DMChYnor8ZSnouT6Ghv3t6L1hijm2/dII/vNLx4XpHwIoHCNBPM/DNOAQw7C+VnNCFz8mw0h48P7QXcIbP1GC6t3Ft7xfQgghZL7ECz+cTue4sbdrSBak0smxckseVm7Jg8MSCst6mycIy1x+NJ8eQPPpAciVEpSszQi0YVwYIUu8/z+Ahff/g9PmQcuZQTTX90/atQIAGAbIX5aCippslK7NgFxFl08IIYQQQhYbOsMjZAHY+t//Co3vvoVY37ylMjnyV6xC0Zp1KK6sQlp+4YJv88EwDPKXpSJ/WWogKLuJnmbT+IFRfxzXT/fDOupCXkUKcpcYodbL5+R4yfzzezkMdljQF6wQazPDZZteu0S1Xo6cMgN8Xg4dl0fE5foKN/RlHmRLVuJMXScA4NQbbWAYhoJZQgghC1J305W44Uc8sUKR3KXLb7s5T9V6OVbdnYdVdwfCsnODQmXZDdO4c9Qgj8uP66f6cf1UP+QqKUor01GWxGHZROFYULKHZF6PH+0XhtFc34/OK6PgEphPLqNQh4qaLCzZkAWNQTEHR0kIIYQQQuYLBWSELAANb/0xZji2atu92PGXT0EqX7xBUN7SFOQtTUHvjTHU17Wj5/pY3LGjvXaM9tpx+XgPACAlWy2EZRVG5FWkUGC2iDitnojqsMFOCzjf5Bc8xmGA1BwNcsoMyCkzILvMCH26EucOdka07ly/txD9/isAgDU78iCTycT1wUcKyQghhCw0+ctWYtPDn8XJ115JKBwLCg9FNj382dsuHIum1sux6p58rLonH3azG23nApVlLab4YZnTh6ZT/Wg61Q+FWipWluUvS4FEMv9hWSLhWFCyhWScn0P39TE01w+g7dwQvG7/pNvo05WoqMlGRU0WUrI1c3CUhBBCCCEkGVBARkiSi/5yysrk4LzC5NGXjx5CSk5e0tyhOZtyl6TgwS+n4NjLTbjyQW9C24z1OzDW78DlE6HALHeJUQzN6I7QhSG8XWIwFJtuu0SpjEVWiR7ZZQbklBmRXaqHQh05L1/jex3j5rVbfncm+g9eEZcFwzAKyQghhCx0mx95DIWr10455Kp54OHbsnJsMhqDAqu35mP11nzYTW60BirL+lrNccMyt8OHpo/70PRxHxQaKUoDYVne0vkJyxZiZSHP8xjqtKL59ABunBmAw+KZdBulRoby9ZmoqMlGdql+wXfhIIQQQgghU0cBGSFJLDocS1u7ASkr1iLd68CpV18GMP93aM6lxvc6IsIxqYyFz8slvH0wMAvuw5ilDlSXGZG3JAUaIwVmycDn9WOwwypWh91Su0SDPFAdZkR2mQHpBdoJLzTFCseq7iuKOQ8LhWSEEEIWi+mGGBSOTUxjVGDNtgKs2VYA25gQlrUGw7I43HYfrn3Uh2sf9UGpkaF0bTrKq7OQt9QIdo7CsoVUWWgecqK5vh/N9QMJ3UAlkbEoqUzH0ppsFKxIztaWhBBCCCFk7lBARkiSig7H7njkMQzL1ACAqtoHIZPJkqaNyVyIF1xELzdmqmAze+BLoJWKacAB04ADVwOBmSFThbwlRuRWpCCvwghtinLmPwgZJ9guUagOM2Gw0zrtdolpuRpklxnFlom6NGXCdwP3tphi/j82kVghWXaZAbnlxqkfPyGEEEIWLW2KApXbC1C5vQC2MRdaG4fQcnYA/W2WuNu47F5c/agPVz/qg1IrQ+m6QGXZktkPy5K5stBp86DlzCCa6/sn/PMLYhggf1kKKmqyUbo2A3IVXQYhhBBCCCECOjMkJAnF6vm/elctDh48KC5Ltl7/syleOAaMDyhMg05sfKAU+ctS0NtsQk+zCX0tpoTmHjAPOmEedOLqR30AAH2GKlBdJoRmulQKzG5VdLvEvhYTzIPjq7MSIZWxyCrVi9Vh2SXj2yVORW65ERtqi9Gwvz2hcCwo/P/BDbXFFI4RQgghZELaFCUqdxSgckcBrKMutDYKbRgHbk4Qltm8uPpBL65+0AuVTobSdZkor85E7hIjWHZ2WgMmU2Wh1+NH+4VhXK/vR9eVUXDc5DdTZRTqUFGThSUbsqi1OiGEEEIIiYkCMkKSTLwJsWO1eLsdQrKJwrGg6JDs9JttYFlhXNV9ReD8HIa6bOhpHkNvswm9LSZ4XZMHZpYhJyxDTlwLBmbpSrG6LHeJEfo01Ux9zEVrXLvEVjNc9rlplzgdNftKkb88dcohV9V9RVQ5RgghhJAp06UqsXZnIdbuLIRlxBmoLBvEYHv8sMxp9eLKiR5cOdEDlU6GskBYljOLYdl84Pwcuq+Pobl+AG3nhhK64U2frkRFTTYqarKQkq2Zg6MkhBBCCCELGQVkhCSRhTgh9mxKJBwLmmg+KFbCIqtYj6xiPap2CYHZcLcNPddN6L0xht4bJngSCcyGXbAMCxOoA4AuTRkIy4TQTJ9OgZnD4kF/2/y3S7wV0w25KBwjhBBCyK3Qp6mw7t5CrLu3EJZhJ1oahTnLBjuscbdxWr24fKIHl0/0QKWXo3xdBsrXZyK7bGGGZTzPY6jTiubTA2g+MwCnxTPpNkqNDOXrM1FRk43sUv2cnC8SQgghhJDFgQIyQpLIQpoQe7bN5nxQrIRFZpEemUV6rNtVCI7jMdItVJgFWzK6Hb5Jj9E64kLTyX40newHINwBnFthFNoyVqTMWaAzX3iOx9iAI1AdZkJfq3n67RLlLLJKZq5dIiGEEELIQqZPV6FqVxGqdhXBPOQU2zAOdU4Qllk8uHS8B5eO90BtkKOsKlBZVmoAk+RhmXnIieb6fjTXD8A04Jh0vETGoqQyHUtrslGwIhUS6ezOyUYIIYQQQhYnCsgISTLJPCH2XJrL+aBYlkFGoQ4ZhTqs3RkKzHpvmIS2jDcSDMxGXbh+qh/XTwmBmTZFgbyKFDE006erbikw620xTatKabrbRfN5hHaJfa0mIRRrM8Ntn/zPJRaNQR6qDis3IC1/5tslEkIIIYQsBoYMldg63DzkQMtZISwb7rLF3cZh9uDS0W5cOtoNTVhYlj2FsGy2zz2dVg9azg6iub4f/W3xW0oGMQyQvywFFRuzUbo2A3IlXc4ghBBCCCG3hs4oCUlCyTQh9nyar/mgwgOzyh0F4DkeI73Blowm9NwYSygYso25cf10P66fDgVmuUuMYmhmyEg8MKt/u23KYSEQalO5obYYNftKE94OCLRLDKsOG+q0gvNPt12iFjllBmTPcbtEQgghhJDFxJChRvXuYlTvLoZpwIGWQGXZSHf8sMxu9uDi0W5cPNoNjVGB8qpMlK/PRFaxPm5YNlvnnl6PHzcvDKG5fgBdV0bBcZOfW2YU6lBRk4UlG7KgMSgSPhZCCCGEEEImQwEZISSpJcN8UAzLID1fh/T8UGA22mcXWzL2Npvgsnsn3Y9tzI3m+gE01w8AEKqocitSxJaMhszYgVlviwkN+9sBRM6tNpnwOdwa9rdPGDbyHI+xfkeoOqzVDPPQNNslKiTIKtaLc4dllRqgUNGvG0IIIYSQmWTMUmP9nmKs3xMIywKVZSM9E4RlJjcuHOnChSNd0KYoUFadifKqTGSVhObumulzT87Pofv6GJpPD6Dt/BC87snn/tWnK1FRk42KmiykZGsmHU8IIYQQQsh00BVLQgiZIoZlkJanRVqeFmu2hQdmJvTeEEIzl23ywMxu9uBGwwBuNAiBmdogR94SoxiaGbPUYBgGueVGbHqoLGJuNWDiCxXhFygAYQ638HBMaJdoQV8gDOtvNSfURjIWjVERUR2Wnq8FS+0SCSGEEELmjDFLjfX3F2P9/cUY67eLYdlorz3uNrYxNy6834UL73dBmxqoLKvOQk6Z4ZbPPe94sBRSGYsP/tCMG2cG4bR4Jv0MSo0M5eszUVGTjexSPXUbIIQQQgghs44CMkIIuUWRgVk+eJ7HWJ8jVGF2YwxO6+SBmcPswY0zg7hxZhAAoNLLheqyJUYUr0kHz/M49UYbgIkvVMQKx5ZtykHruUExDLuldol5WrE6LLvMAF0qtUskhBBCCEkWKdkabKgtwYbaEoz22sU2jGN9E4Rlo26cf78L59/vgi5VifLqTKzemodLx3oATO3cM395CppO9ovnrRORyliUVKajoiYbBStTaU5aQgghhBAypyggI4SQGcYwDFJzNUjN1WD11kBg1u8Q5i8LhGaJ3EXrtHjQcmYQLcHATCdDaq5GvBM41oWK6AsU6QVaXPmwN2LZVEgVEmSX6MXqsOwSA+TULpEQQgghZEFIzdWgJrcENXtLMNJrQ2ugsmys3xF3G+uoC+cOdQIAFGqp2GUgkXNPAOi+NjbhMTEMkL88FRU1WShdmwG5ks4tCSGEEELI/KAzUUIImWUMwyA1R4PUHA1W3Z0HnudhGnAEqsuE0MxhTiAws3rHVaKdfL0Vfa1mrN6ah/Pvd6Hr6mjE+uGu+HNQxKJNUYhhWE6ZEWl5GmqXSAghhBCyCKTlapGWq8WGvYHKskBYZhqIH5ZFt+A++XorbCY3Nj1YhiO/vibeyJWIjEIdlm7MRvn6TGgMiml/DkIIIYQQQmYKBWSEEDLHGIZBSrYGKdmhwMw86Ay1ZGwegz2BwCyo/eIw2i8OT+M4gLR8LXJKDcguFwIxXapyyvshhBBCCCELB8OE2oPX7CvBSI8dLWcH0HJ2EOZB56TbXzrajUtHuxN6L326EhU12aioyUJKtuZWD50QQgghhJAZRQEZIYTMM4ZhYMxSw5ilxsotgcBsyIneZhN6boyht9kE25j7lt8n2C4xWB2WVaKndomEEEIIIbcxhmGQnq9Fer4WGz9RiuHuUBtG89DkYVksSo0M5eszUVGTjexSPc1VSwghhBBCkhZdGSWEkCTDMAyMmWoYM9VYcVcueJ6HZdiFnmYhLOtpHksoMKN2iYQQQgghJFEMwyCjQIeMAh02PlCK4S5boA3jACzDrgm3lcpYlFSmo6ImGwUrUyGhc05CCCGEELIAUEBGCCFJjmEYGDJUMGSosOJOITCzjrjw8Z9a0No4NG58+fpMbP5kObVLJIQQQggh08IwDDIKdcgo1OGOB0sx1GnFR6+1oPeGadzYsuoMbP9vyyFX0uUFQsjC0TjQiKqsqjnbjhBCSHKi27oIIWSBYRgGLWcHI8IxhSZ0QaLlzCBuNAzMx6ERQgghhJBFhmEYdDeNRYRjMqVEfN56dgiXj/fMw5ERQsj0vHD+BXzuwOfw0qWXprTdS5dewucOfA4vnH9hlo6MEELIXKOAjBBCFpjG9zpw8vVW8fWmh8rwV9+/G5seKhOXnXy9FY3vdczH4RFCCCGEkEUk1rnnXz93D517EkIWpMaBRrx44UUAwHONzyUckr106SU81/gcAODFCy+icaBxtg6REELIHKKAjBBCFpBYFyiq7isCAFTdV0QXKgghhBBCyIyhc09CyGJTlVWFZ6ueFV8nEpKFh2MA8GzVs9RmkRBCFglqEk4IIQvERBcogoKvg+OCj9HjCCGEEEIImQidexJCFqsnVj8BAGLoFXx8tPzRcWNjhWPB7QkhhCx8FJARQsgCkMgFiiC6UEEIIYQQQm4FnXsSQha7WCGZ1+tFDnLEMRSOEULI4kctFgkhJMn1tpgSvkARFKvlTW+LabYOkRBCCCGELBJ07kkIuV08sfqJiHaLz196HidcJwAAv7z2SwrHCCHkNkAVZIQQkuRyy43YUFuMhv3tCV2gCAq/m3dDbTFyy42zeJSEEEIIIWQxoHNPQshi4/K5YHabYfaYhcfgj8cMi8eCVWmrcHnkMgDgoOsgDrkOgTfx4vYUjhFCyOJFARkhhCwANftKkb88dcoXGqruK0J2mYEuUBBCCCGEkITRuSchJNnwPA+nzwmLxxIRcJndZpjcJljclogALHyZ2++e2nuBwjFCCLldUEBGCCELxHQvNNAFCkIIIYQQMlV07kkImQ3BoCsYcJncJjHUCg+/gsvDl3k4z5weq5yVUzhGCCGLHAVkhBBCCCGEEEIIIYSQhPE8D4fPERFwmT1mWNyWmMvE0Mtjho/zzffhJ8TDefDSpZcoJCOEkEWMAjJCCCGEEEIIIYQQQm5DPM/D5rXFnqMrzrxdZrcQevn4hRF0BTFgoJPrYFAYYJAbYFAKjz22HlwYuiCOk0MOD4RqtecanwMACskIIWSRooCMEEIIIYQQQgghhJAFjOM5IehyRYVacQKu8LaGft4/34c/JQwY6BV6GBVGGOQG6BV6MfQyKowRrw0K4ceoMEIr00LCSiL29dKll/DOzXfE17uUu3C38m70FfTh+UvPA6CQjBBCFjMKyAghhBBCCCGEEEIISQJ+zh+q6Iqap8vitsSv6PJYwPHcfB/+lLAMK4ZYeoVeDLjCXwfDrWDgpVfooZPrwDLsLb//S5deEsMvAHhm9TPI6coBAHxu+ecgk8nE9RSSEULI4kQBGSGEEEIIIYQQQgghM8jP+WH1WCMCrmCQJc7HFTVHV/A5D36+D39KJIxErNQKr9rSy/XjAq5g+GVUGKGRaWYk6JqO6HDs2apn8Wj5ozjYdVBcFgzDKCQjhJDFiwIyQgghhBBCCCGEEEJi8HE+MdSKGXCFBVvhoZfVY53vQ58yKSMNBV1RYVesgCu4TCPTgGGY+T78hMUKx55Y/QScTue4sRSSEULI4kYBGSGEEEIIIYQQQsg8aBxoRFVW1Zxtdzvzct7YLQonmKfL4rbA6l2AQRcrFefnmjDwilqmlqoXVNA1HY0DjTHDsYnECsnWZa6jv4OEELIIUEBGCCGEEEIIIYQQMsdeOP8CXrzwYkIX6MMFq1+eqnwKT699ehaPMDl5/d64gdZEr+1e+3wf+pTJWTmMCqMwH1dYmBVrmbhcrodKqlr0Qdd0VWVV4anKp6b8dy88JHuq8ikKxwghZJGggIwQQgghhBBCCCFkDjUONOLFCy8CmFrLtvDWcC9eeBF35NyxYC/Ue/yeiADL5DZFzMUVbGMYXfXl8Dnm+9CnTClRRgRawfaEeoU+IvQKn7fLoDBAJVXN96EvSk+vfXpaf3eeWP0EVY4RQsgiQwEZIYQQQgghhBBCyByqyqrCs1XPTmleo1jzJiXDhXq33w2TyxTRljA84Aqft0sMvTwWOH3j53tKdiqpalzVVjDQCp+TKxiGBSu6lFLlfB86iTLdvzvJ8HeOEELIzKGAjBCS1KgnPyGEEEIIIWQxijWvEQA8Wv7ouLGxwrGptGWcDM/zcPldYohl8VjEcCtY0RWs7jK5I8Mwl981Y8cxV9RSdfx5uQKv9Qp9xDxeeoUeColivg+dEEIIITOIAjJCSNKinvyEEEIIIYSQxSxWSOb1epGDHHHMVMIxnufh9DljBlwRc3KFLbO4hbEezjNrn3O2aGSauAHXRK9lEtl8HzohhBBCkgAFZIQkoYb2UWwoTp2z7ZIR9eQnhBBCCCGELHYN7aPjQrLnLz2Pe5X34g7FHfjpxZ/iV02/EsdvL9gOjufwPw9/EyqlO2bg5eW88/FRbolOpouYoytewGVUGMV5u/QKPWQsBV2EEEIImT4KyAhJMj881IwfHb6Br+1ehqe2liW83YvHWvGdA0340o4l+PK9FbN4hHNjMfXkJ4QQQgghhJBoPzzUjB8duYontumwYUke7si5A6f6TgEADrkO4ZDrEGCO3OZI1xEc6ToyD0ebGJ1cJwZa4WFWeMAVPm9X8LmUpctThBBCCJl7dAZCSBJpaB/Fjw7fAAB850ATACQUkgXDMQD40eEbuGtJ+qKoJIvXkz9WSDbbPfkJIYQQQgghZLrMbjNumm+izdyGm+abaOy7jvP916FdOoY/9PH4Q998H2EIAyYi2Ap/HivgCs7TpZPrIGEl8334hCSm4yRQtGnutiOEEJKUKCAjJIlsKE7F13YvE8OuREKy8HAMAL62e9miCMeCEgnJKBwjhBBCCCGEzDee5zHgGECbqU0MwtrMwvNR1+i48ax8do+HZdhQkBWjbWGwpWEw4Aqu08q0FHSRxe3ovwPHvw3s/AZw15cT3+7DHwLvfwO45+vAtr+fraMjhBAyhyggIyTJBMOw6JDs8Y2548bGCsem0pZxoZgoJKNwjBBCCCGEEDKXvH4vuqxdYvgVXhnm9Dln5T2ljAJulx7wq8D71ViRnY2awvyY83QZ5AYYlELQxTLsrBwPIQtWx0khHAOEsAtILCQLhmOAsH3pVqokI4SQRYACMkKSUKyQzOv1oihszO0SjgXFCsmeP/98xATUz6x9hsIxQgghhBBCyIywe+0R4VewMqzb2g0f75vR9+K8BvCcFBLFiLhMCSVccAEAfLwbPnM1PCNbF/13P0JmVdEmoXIsGHYlEpKFh2OAsD2FY4QQsihQQEZIkooOyX5wuBX7ChnszOPx8w878IPDreLYxf4Fied5NI02weKxQC/Xw+KxAEBEOAYAL5x/AW+0vIEyYxlKDaXCj1F41Ml183HohBBCCCGEkCTG8zxGXCMx2yIOOgZn9L2kjBSF+kKUGEpQaiiNePzSO8/jlOlX4thM+33Yq9uCBsVlXHL+DgCgyDyAeyoy8dTW2hk9LkJuO8EwLDokq/78+LGxwrGptGUkhBCS1CggIySJRYdkb3dK8G4XDx8fCse+tGMJPn9P6bwc32xrNbXiQPsBHLh5AO2W9knH8+DRY+tBj60HJ7pPRKzLVGWKYVmZsQwlhhKUGcuQqlw887URQgghhBBCYvNzfvTYemK2RbR6rDP6XmqpWgy+8rVFSJMXQsPmQOJLh8nJYdjqxki3B9eb3BixWdDh+9+wad4Ut3cP7kbryFb8CACwFvI0ExSZBwAAp0y/wid+7UK18ZPI0CmQoVUgU68MPCqQqpaDZZkZ/TyELEoxQjKp1wtgaWgMhWOEELLoUUBGSJKLDsl8fOSXnR8dvoGXPryJ/BQV8owq4TFFhfwUtfg6VSMHwyyML0ldli4caD+Ad9vfxY2xGzO230HnIAadgzjVdypiuVFhFCvNygxl4vMsddaC+TMjhBBCCCGECJw+JzosHeMqwjosHeM6UNwqvSwVaYp86Nk8KPgcMN4suF3psJjU6O7x4LzVA6fXD4AD0BP4iSRPOyaGX4AQjnlGtkaMCb4OjrvJ/QFNTZZx4wBAwjJI08iRqQ+EZzolMnQK8XWGLrRMJZfMyJ8DIQuO1wW4zMDSWsDUBZx5CQAgO/4t3KFbBYuqEPJf/gDoPx/ahsIxQghZlCggI2QB+Pw9pRHzjUWzuX1o6reiqT/2nY8qmQR5cQK0ghQV0rWKeb3LsN/ej/fa38O7N9/FlZErCW8nZ+XwcJ5bem+T24TGwUY0DjZGLNfINBFtGoPhWa42FxJ2fr5INg40oiqras62I4QQQgghJFmZXKaY1WC9tl7w4GfwnRjI+Qywvkx4XRlw2NLgc2eAc2fAyqljRF5eAOaE9pxIOBYUHZIFH6PH+zkeg1Y3Bq3uSd9fp5AiQ6dAuk6BTF1keJYRtoyq0kjS4fxCwOUyAy5T6LnTNMGysOU+V9xdZ1kvI8t6OXIhhWOEELJoUUBGyALw/YPNt7S90+tHy6ANLYO2mOvlEha5RmVE1ZkYoqWokK1XQjLDX4iGncM42H4QB9oP4NzguSlv/2zVs3hi9RN46dJLeK7xOXH57uLdGBrV4VT3VaSnjsHmH4Cf9095/3avHZeGL+HS8KWI5QqJAsX64oh2jaWGUhTqCiGTyKb8Pol64fwLePHCi+LnTlTwz+epyqfw9NqnZ+34CCGEEEIImWkcz6Hf3i8EYaY23LTcFB7NNzHmHpvR9+I5KThPBjh3ZthjJjhPGsDP/Hm+RNWecDgWFCsk8zuK4XcWT+sYrG4frG4f2obtEx8ryyBdKw8FaIF2jqEWjwpkaJXI1CuglFFVGkkAzwMe+/QDLrdl7o6VwjFCCFnUKCAjJBl1nASKNgEAXjzWip8ebRFXSRgefj52WLWeacIZftmU387j59A+4kD7iCPmeinLINugDLRxVIcFaCrkG9XIMSohk7CTvo/JZcL7ne/jQPsBNPQ3gOO5SbfhvHpwnhRINR3isvCQKPgYDMkOtB8IfLn8b+juAV756/XISLGizdyGVnMrbppuotXcinZz+7Sqz9x+N66PXcf1sesRy6WMFAX6ApQZQvOblRpKUWwohkqqmvL7hGscaMSLF16M+JyJhGTh4eGLF17EHTl3UCUZIYQQQghJOh6/B52WzoiKsJvmm2i3tMPpc87oe/E+NfzhAZg7A5wnE7zXCGDy7zTTJZeyyNAqkK6VI02rQLo2H90YwSX7q9iV85f45J3/DYevDeC/PmoXt1FLeTh8oe9+D6zNxdqCp3G0Pw3nbC8jm/sEpMY1GJK4MWJ3g5/Jwrkwfo7HgMWNAYsbwMTBhE4hRUaMdo7BarTg8xSqSlv4fJ6oMMuUeMDlMgOcbz6PPjESOYVjhBCyyFFARkiyOfrvwPFvAzu/gRd9n4horbiv0I+deTw61Evxg8Ot4vLPbCjAo94/YU3TD/Fe+uP4L9ln0GNyos/sgp+79W9JPo5H95gT3WNOAKPj1rMMkKVXhs2DphYDtBQNh+vWkzjcdRAne0/Cx09+EpyqTMW9RffCbVqD3186AUXme+K6WBVU0SFZ8I7KL2/4PDaVZgHIQnlKecQ24ZN0t5paxbtS28xtcPhiB4UT8fE+8Yt8OAYMcrW5YmAWbNlYaiiFTq5LaN9VWVV4tupZ8fMlEpJFV9Y9W/UshWOEEEIIIWReWT1WsR1im7kNrWM30WpqRZ+jF9w0uj5MhPMYIwIwMQjza2fsPfRKKdJ1CqRrFEjXyZGmUSBdq0CaVo70QBgWfK1VSGPMcVyJxoG9qMqqwovHWiPCsVjf/d4834tl2Xr86lNfR+PArojze5+fw6jdg0GrG0OBn0GrK/AYWGZzY9DiDsyLNjusbh+sQz60DU1clSZlGaRrFePaOUYGaUK4RlVps4TjhEqs6VRwOU3ADIfX80amAZQGIbCzD0au83uAD39IIRkhhCxiFJARkkw6TgrhGAC8/w2YvU0APgEA+MqOMhQ5hKqlJ+8qgkwmE8MzY+PzWCP7HQDgvuFf4L6/+AxQtB0+P4cBqxs9Y050jzkCj070mITXvSYXPP7Jq7gmw/FAn9mFPrMLDRgDGA+k2iZI9Rcg1V4Hw04eiunkOuws3IndJbtRk10DKSvFS5degmIgFI5N1pPfPdgU0W5EnrYMQFnM8RJWgkJ9IQr1hdhaENonz/MYcAygzSRUnAWDs1ZzK8zuxOYSCMeDR4+tBz22HpzoPhGxLlOVKcxvFhWepSpTx+0nOgScKCSLFY5NpS0jIYQQQggh08HzPMwOL26M9uDK4A20mNrQaW1Hv7MTo94uuHnTDL+fBJw7XWiJ6MkMa4+YAfDyKe9PwjJI0wQrvEIhl/BaCLoyAo9pGgXk0luvOAuGY+E3Rk703S/4+NTWyJvfpBIWmXolMvXKCd+P53nYPX4MWlwRoVn4oxCwuTBi98xaVZqP49FvcaHfEn8uqCCdUhoWnoW1eIxq9XjbVaXxPOB1RoZWceflMkUFXME2hbP0H3gusVJAaQRURiHoUhqE10pD7GXRYyUyIQR7/xviLj0SDeT+QMgbXE4hGSGELEoUkBGSTIo2Cf2tAydgXw+EXoZ7v4rHN+bi4MFQW7+ntgrBj/nQd8VxAITtA+0ZpRIWeUahqqumZHzownE8hmzuQHWYIxCcOUOBmskJlzfBAI3xQaq5Dqn+IqS6q2BY76Sb8H45fLYV8FoqIeVX4tywDkM3FThibAaUN/H7nufEscFwLPSFMBR8hb5QbgUQqiB7rvE5rMtcN6XKKYZhkK3JRrYmG5vzNoeOlecx6hqNCMyCz4ecQwnvP9ygcxCDzkGc6jsVsTxFkRLRpjFYcfaXq/5S/Fzhj+HhF4VjhBBCCCFkJnn9HMbsHgzZ3BixeTAceBy0OtBl7UafowOj3i7Y/L3wsP1g5INgJO4ZPQber4ioAvMHgjDekwpg4uoitVwiVnSlaRTIECu9QsFXMAwzqGRzHrBEh2Nf270s7ne/8SFZ7JsBJ8IwDLQKKbQZWpRmTFxN5/NzGLF7IqrRwivSBsMq1RL+3jgNVpcPVlfiVWmZES0egxVpka0ek6Yqze+dOMiarKqLm/x794KgMACqGEFWRMhlDIVa4ctkKmBcdeYURIVjV3I/jZasvbhffx2y498SFlJIRgghixYFZIQkmRd9n4DZ2ySGXl+X/Q6QLoMTnx839mpkx9cAAFTzSURBVCnpW0BYOPZt72dg8H0CTyX4XizLIEuvRJZeieqilHHreZ7HiN2DnrCqs8gqNBuc0ibI9BeEUEwy+d1/PCeFz7YcPssa+GxLxTs7x8BhzG7GpZ5QlZY8fQcUGYfhHtwNxrwdgPCl6zsHmtDQPoJPry/ARy3D+PWpTnGbL2/4PORpy/Bc43N4qvKpGWsryDAM0lRpSFOlYUP2hoh1Fo9FnCxcbNdobkOPrWda7zXmHsPY4BgaBxsjlmtkGpQaSrEidQWujl4FIIRkPM/jr9b8FYVjhBBCCCEkIQ6PD8NWD4btbgxb3Rixe8RHIQhzY9jmwYjNjTGnHaxiCKx8EKxiEKx8KPA4AobxC/lUIGu41XoqYf7hGPOD+XQAQhfAU9QypBvDWxnGr/RSy5P3skescOyprWVwOse3rpvJkCxRUgkrfl8EDHHH8TwPm9sX2c4xKkAbsrqFcDWJqtLCw7PoFo/B9o7GyUJTjgM81gQquOIs804c+i0YUlWcaq3JAi4DoNAD7DwFllHhmPeef0SLZSkAwHfHFyGTyULrKSQjhJBFKXnPFAm5DTW0jwa+6AhtFcXKsPe/AanXC2BpaHDUidy3vZ/Bz/yfAA40YX1xCjYUj68YmyqGYcQvnJUFRgDC3F1nB87iQPsxHOo4BMZtmnQ/PC+B37YEXkslfLYVAKdI6P09w/ei3CHHVcc9CIZjQUeahnCkKbJySyOX4N3LfcjWV+JhyWPgx3bhj2e7kW0QvtRlG5TQKmb+nz29XI+1mWuxNnNtxHKH14F2S3vE/GatplZ0Wbvgn8YcC3avHZeGL41b/qNzP8JPzv8EHB/6MwoPxxraR2fk/wdCCCGEEJKcOI6HyenFiM09rtJrOBB2CeGEG8NWT4w5qHgwEnsgBBsKPeoHoZOZZvRYeZ4F70mFPywIY32ZSJXlI11jEAKudGFOr+i5vdK1cqRo5JBJbr214XwLfvdbzzThDL9MDMcmEh6SrWea8J0DmLHvfreCYRjolDLolLJJq9K8wbnSLG4M2VzCY3SrR6uw3O2b/aq01iE7FPBADzsMjB16OKBn7DDADj3jQArrQLbchXSpC2kSBwysAzreATVnhcJng8xnBcPP3nHOGUYyhYDLGDXWAEgT+46fVKKuqWDnN+Cr/jxw8GBoWTAMo5CMEEIWLQrICEkiG4pT8aUdS/CjwzdguPergHSZeAImO/4trE3dgvb07ZAe+zfg9POhDXd+AwafEI59aceSGf+CxPEcLg5dxIH2A3iv/T0MO4cn3UbCSFCTXYNtBbtQod0Ek00as4XjsM0Tdx/PSl/Ds9yf8G2JWQj/JmH3+HGx24zNkl/j67Lf4bmm6/hb38MRY7QKKbINSmTrg6GZIuy5sDxNq4BkBlqrqGVqrEhbgRVpKyKWe/1edFg6hMDM3IqbpptoNbei3dwODxf/z2MiXNSXsvfa34PJbcLwUCFeOSHBl7avwpfvrZj2ZyGEkNk23TCfbgIghCxWbp8fo3ZP3Eqv8OBr1O6Bn0ukLIcDIzNBoomsBpPIh8BIHTN6/Dwng9SfBTWTC6MsD1nKIuRri1BqKEKWXitWeqVrFdArpWBupUXaArShOBWvLDmKTV0/x8nSv8GmrbUJbffU1jKs7fwFNrX9GCcLnsSG4sS2SxayKValxWrnOBRWpTZkdcNkd0IHR8yAS3gUlsdar4cDCmaSNoX+wE+yU+inV8GlNAJyza21KVxoYoRjuOvLQIzqTQrJCCFkcaOAjJAk8+V7K3DXkvTAxb7IE7Gi0Q9QNPpB5AYKPXD5T3hKcwKfXqFDmj8POJEKqNMBTbrwqE4TniuNAJvY3ZY8z+Pq6FW8d/M9HGg/gD5736TbMGBQlVWFPcV7sLNoJ9JUaZNu4/T4Q+0bwwI07UADnjX9CUCoki6RkOzzkrfE8c9K/4QP/atwhl8mrre5fWgZtKFl0BZ3H1KWQaZOgayIIG38c5V8em0gZBIZylPKUZ5SHrHcz/nRY+uJaNPYZmrDDVMr3P4YJ+oTuDZ6DddGrwEAtEtZ/J+WAgzLtuLBZfegMqMScsnUJy2/XdBFekLm3g8PNeNHh28kdPd8uGBrqi/tWEI3ARBCkl7wgn+wdWFEZde4ii83LC7f9N+M8YKVj8RoizgEhr2F/cagZPXIVBYgT1OMMmMplqaVoTKrAkWGPLDMwq/0mjUdJ7Gp6+cAgE1tPwY+TE3sgvuHPxTGA8L2HZ8S56BesHge8NgiWhQyLhN0LjN0ThPKYrUtdJsAzgxITIAy/ne7hcTPyuGTG8Ar9GDUKZCqjZCojIkFXAo9IKFLfAnpOBk7HJtIrJCs4I6F/3ePEEIIBWSEJKOIi+zRJ2LR3Bag/yIAIA0A2ibYMSMB1KlCYKZOBzRpkQGaOg0t8OJd01UcGKhHp703oeNdk74Gu0t2Y1fRLmRpshLaJkgll6A8U4vyzOhWHOuAD+3i5/667HfYszob37HuwcetIzH3FR6OAULbyfBwLFE+jkev2YVe88S96w0qmRCaGZTI1ivCnodCtFSNPOG7YSWsBIX6QhTqC7EN28TlPM/je4dP4z9PnhQvchRlWzHmuwmXf/L++gzDQaruwFsdv8RbHb+EUqLEusx1qMmpwcbsjViethxSln4dAHSRnpD50NA+ih8dvgGJqh3fOSAsS+TvX/DvnUTVjh8dRtjNJYSQqaKbQ6bPz/EYtXvE1oUjdqGiJbrSKxh8zXjLONYZCL4GIQlrjcjIRsEwMzfREwMGudpclBhKUGooRamhVHxuVBpn7H1uK0WbhAvzU6lKiVX1kiwX6H3u2HNwOccSmJfLAkyjBX2y8fMMLNDAwqthDjxaoIGZ18ACNSy8JmJ5aJyw3g05EFXIqVdKkalXIkOrQKZegQxtYI40vQIZfiUyJQpkKBQwshLcRvVft6ZoE3DP14Hj304sHAsKvzZzz9eT5+8eIYSQW0JXRAlZCDZ9IX5ANhW8H7APCT9hOqRSHNCqcUCjRos8scqiZfI03Je6GrtzNiM/rUII2aQa4e6/mWrNEBUOVjY9hzXefnwcmKPNqJbB5BDaYUSHY+9k/Q9cVTyMpWZhkmazc5K2GdNgdnphdnpxfcAad4xcwiIzOjwLPM8JvM7UK6CQxq9GYxgGX915B3TSDHEy7nbvMSgyr4ljlBJlQmEZALj8LpzsO4mTfScBAFqZFuuz12Nj9kbU5NRgiXHJbdfiBghdpAemNul5+OTqPzp8gy7SEzJFG4pTse2Oczhj/j3cg7sTCsmCf+/kacegyDyA9YY/W3AtpghJFnRzyHgur1+s7pqs0mvU4QE/czlUHDwYqUUMwkJzhA2Clc5s5YyMlaFIXySEYMZSlOhLUGosRZG+CCqpakbfiyB+67bqz48fG68l3Ezh/GFBVnjAZUog4DIDvsS+iyQ9uRZQGsArDfDI9HBLtLCzWliggYlTY9inwpBXgT6PEj1OOTodcgz7VLBADTuU4DGzVZMWlw8W18QdUABAJmHE8CxDpxRCNF3wdeTzib573ja2/T1QunXqIdddX6bKMUIIWWQoICMkCTUONKIqqyq04MR/JLadQoEqtzuhsb1SCd7TqPGuRoNrisRCsRKPF3vsdtxnd6DU2wngHIBfRQ6SKgNVaamhFo+B6rRQpVrYssnaPkZ9aQyGYIZ7v4qntpbhxWOtMB/6bkQ4hp3fwP13fRn3h+3G6fFjwCKEZQMWF/rMLvSbXaFlZhcGrW74Epq7IXEeP4fuMaF15ERSNXKhfaNegWyD0MoxxxDZ0vHz95QCAH7Y8DMoMg+I2z5b9SyeWP0EXrr0Ep5rfE5c7vcYIZNbwU3SMN/mteFY1zEc6zomHIsyFTXZNWKFWYGu4LYIzDYUp+Jru5eJYVciIVl4OAYAX9u9jMIxQqaocaARZ8y/BwDx37ZgSPb4xtxx46PDMQA4Y/49Ggfuj/zdSQiZ1O1ycwjP87A4fRiyuQOBV7Diy43hGJVeNvfMtiBMnF9oixhsiRgMwxSDYNjpzVMbj06mQ4lxfDVYnjYPEpYuns+pGCGZ1OsFsDQ0JpFwjOcBj336AZfbMisfb86xskD7QWP8doQxlxkBpR6QyAAADABF4EcPICfO2/E8D4vLF3d+tODcaUOBuQJni9cf3gXFPOFYg0oWEZpFBmmhcM2gki3q74EN/FJsmMPtCCGEJCcKyAhJMi+cfwEvXnhRDD3w4Q+F0v8Aj0QDud8e2qDyUaD4TrzUfRjPjZ7BU4pCPO3XAI5hwD4MOEYBj1DhNCRhcVCjxgGNBueVioSOJ9/rxW67A7ttDlR4vZO3bfC5AEu38JMIse1jsNVj2rhQ7a2hLAz5duMJqXAh9Ouy3wHSZQC+jKekbwFRbRUNvk/gqai3UcklKE7XoDhdE/dQOI7HsN2NAbMbfWanGJ71m90RQZp1Fi6ajNo9GLV7cG2Cqd4UUhaGnA8iwjH34G5culKFBt0oum7eAffgbnG9RG7CX678PNZkrsbZgXrU99ejabQJPCYOAUddozjQfgAH2oX95GhyUJNdg405G1GTXTPlNpoLSfCiYHRINtFF+qCp3nlPCBFUZVXh2apnxYA/PCTzer0oChsbKxwDhBsFKBwjZOoW8s0hXj+HUbtnXKXXiM0TCMJCgdeI3Q2vf9bLvBLHuKHWjkCnG4VCNQzIB+Fl+2HnBsBPcmPTVGWps8a3RTSWIk2ZtqgvfC84d31ZCLgO/wsAQHb8W1idvgP9hnWQvfU6cO310Ni8aqD3PPCrB8eHXtx8hbsziRGCqpgBl3GCgCvwXKaauY4miRwtw8CgksGgksWYNiCSx8dhxO7GoCU6PHMJy2xu8dEz0+1YwwQ7oSRclRbV4jGy1aMS6Vr5gqtKo+ppQgghQQzPz35DCEKmoru7GwUFBQCArq4u5Ofnz/MRzZ3GgUZ87sDnxNfPpq7HE2f/JL6+kvtptGTtxf3665Ad/5a4/KXqT+K50TPi61/u/qV4oXDMNYb3b76LA23voGH44qThCABk+nzYbXdgj82BlR5P8vYyZ6URXwLf8m3Cb/w70Y9U/PnOjfjrHStn5W1tbl+o+swcqkoLLuszuzBsc2OGi9FQkvYqhjPPiq/dg7vhGdk6blz0heP0wWrcHHkEcikLhcwFqbYNjKoFnOIG/NKBKR+HUZqHIvUalGrXoly/FkalEQopK+xfEniUSiAPLgs8yqUs5BLhdbJfkIm++PeVHWUoclwHAOzatQu/ON1L4RghEO6a5nmA44XfLlz468AjxwMQn8cf94cbv8L/u/a8uO/gv3Fbc/zYmMmjX1WCX57qGvdv3F+t/AIeW/Y4JAwDlmUgYZnAc0DCCK+T/d8cQuZbrNDr8Y25OHjwIADhd59KpZr1m0McHh+GrR4MB6q7gvN4DdvGV3oF22wnkxS1DOlaBdK0cqRp5NBpXGDlg/BI+uHg+jDq7cKAsxPDrsEZfV8pI0WBvkBshxgMwkoMJdDI4t8cRmYI5wfc1hg/ljjLYi0P/CTwXW1BkKmnUcEVeK7QT9xh5DYQqkpzhUK0qIq0YLXaWJL8W2hUy0KhWVQ1WviyZKhKa2gfxSM/Oym+Dv9d5nQ6x/3uC4r+Hfjq5zcldfU0IQvNRH//CAmajdyAKsgISSLRd9E/N3oGMOjwhNkK7z3/iBaL0GbDd8cXIZPJgPe/gZcMuohw7NmqZ7EkZQnebHkT77a/i1O9p+BPYMLjVGUqdhXtwp6SPVibvhqsyxyoQBsGHCOB52GPjmHAPhKqVOPm4cQ86g7JT0hP4hPSwInuB4DrpAHK1HxAnwPocgB9buAxL7AsV6hem+IJulYhRXmmdsI7BH1+DkM2d1SQ5g4EaE4MWIR1Tm9idwlvy/gJzqT3iK/jhWMAxOXBC8jDmWexje3H0aEvwuOTA85lAJYBABipBRJ1KySaVkjVLWDlpkmPxeTrgcnSgwuWd8H3MODc2fDby+Czl8PvLAG4yasT5ZI44ZmMDVsXFrJNsC7WduH7VUSMk0S+t4QFy0b99+84iae2Cj3lg1+AfnC4FfsKGezM4/HzDzvwg8Ot4nDxC1XHyaTuRR8vyOCjggueix1kRIyLtV0gCEl0HMdNsn/w4DhMvv8440L7DW4XtRzxxgWXBV6HjQuFPDG2Q9j7cPG3C33myHHh/33E7QJjo8dFP/IR44Lrxu83Ylz468DnnnS7qKBrpm8CWM/Y4U4NVcEGH4/1bcWxPgAYH465B3fjgyYbfsi/P+G+GQZigMaGPQ+FaYwYpgWDNWFs2Pqw5eO3YSBhADbe8nHLhOOIuVxchrCxoX3FHhu5HcPE2i9ijGWEP5sJ9hcdNFIAuTjFqqCOV8EZlEg4xnE8TE4vRmzucVVdEfN62d0YtnoSPi+aKzIJIwZe6VoF0jQKpOvkSA88pmkUSNVI4WNGMOrtQoe1HTfNN9FmbsM5cxus5vjz1E6HSqoaXw1mKEWBrgCyQFs4MgV+7yRBVpxlrqh1Xvvk77XQsNIpBlwpYc8NgDSxFv4ktsiqNN2EYz0+DsO22OFZRJWa1Q2Pf/aq0kwOL0wOL25MUpUml7DI0CmQHqvFo1aoSAs+l0tnJyhdyNXThBBCZh5VkJGkcztXkAW99PZfRIZeqevx6M4Xxt1JET1uj6YUrtQifNjzIbwJBFZ6uR73Ft2L3SW7sT5rPaTsNDNznhe+HIaHZmKYFlwWFqY5RgDPzE4oPm0SBaDLDgvPwh6Dz3U5s/IlL3hnYEQlmtmFvsBjsDItkzuErqJ3xe3WDhXig+GnJ93/lvQXcD6jU3xd0LEHVx33TLgNIxuBVNMqhmZTnfid51lwznz4HGXw28vhdxYCfHJfsJFJGDE8e5r/A/6K+wN+rvgc3tA8gjGHB72m0ITjEoaHnw9dCC5J16AgVY37zb/DZ8wv4Y+6P8eruj+PGXhEBBdRQUZ0JU14kAFEBkJcWJDBIxA0hQUv8Sp26Lc9SWbPSl/Ds9I/4d+9f4b/Z9RCkXlIXOcZq4bfvgwSTRPkKWFVtEPb8N9NDvyj9FX8yPdJPOd7eD4OnSAygBQDtrAAMF4AGRo7fnmsoFEcm0AAGRwrYSODy1gBZGjsRMcdtl3EcU8cQAbHTiu4nIcAMvoC4L5CP3bm8ehQL424OeTprWXYsypnXKXXiD0y+Bq1e+Cf6TT9FukU0lDgJT4qkKGVI02riFiuV0rFP3+Xz4UOSwfazG1oM7eJQViHuQMebmbnFUpTpoWCMGOpWBmWpc6iQBoAvK4pBlvRywPPfa7J32shUximV8GlMgoVYPT/2qISmotxfDvHQYsLQ2EhW7JU6BrVsvHhWXSLR50SepV0Wv82Jkv1NCFEQBVkJBGzkRtQQEaSzm0fkAUmYH7JoMNzqSni4mdWP4OcLmFq4F27duG3Lb8VK80AQMpx8CXQikIj02B7wXbsLtmNTTmb5u9uU69rfGgWEaoNo7u3By7TAPLkDqh8ZsxryxF1eqjqTHzMjVymNM7KF0mPj8NP3/xv+H+2i3h2dAxPmK04kv80vmffg2t9se9M/rzkLXxd9jvx/6PVI/n4ePALU3xnHqx8EBJNS6DCrA2MZGoXEnhOCr+zCH57OXz2MnCuPADJ2Z9+PdOE1xT/Kr7+tvcz+Jn/E5NuF/yzDnrY/U84wy+blWMkJPlxAOsBw7rASFxgWCcgcYJh3WAkTjCsE4zEDbBOcb1WYkKWtA9WloWVZeGd4r+jDM9DzfNw+7XwcGrwnAI8Jwc4RdRzOXhOIS4HJx+3LDg2Wf+dIreneAGkhA2r7JskgEyk0jE4tn3EjuaB0A0y0TeHJBuWAVI18kkrvdJ1CqRp5FDKJv77bXabhRDMFBmE9dp6E2pVnigGDPK0eREtEYOPBoVhxt4nafA84HVO0mYwkXDLCvhnNpBcMNKWALlrEwu4FHqApd9lZHrcPj+GbZ6wKjTXuGq0uahKS5RcyoqB2UQtHtNjVKVRa31CkgcFZCQRFJCR28JtHZB1nAT+327xZfTcYruUu3Cn4k40pDSgrr0u4d0qJUrcnX839pTswV15d0EpVc7oYc+mhvZRoXUB5weOfRs48d3QSpka8DpCr9VpgM89f9VpUlVUiBbVzlGfA2izgGmGko2Hvoaqj34mvg4PcIxqmXinX3Rgc6z6r5Cz4Rtw+/zw+Dh4fBzcfg5uLwePP/A6bJ3wOnydsN7t9WHMdxMj3FVYcA125gZ4ZmoXKHi/An5HSaDCrAycOxtA8swxEP1nN1lINtXxhCQ/PyBxBQIupxh0hQKt0HIEAq7w5WDdYJiFf2rJc5KwEE0RFbDJA2HaBOt5BXi/AuDlgUcZkunfOkKSnULKIl2rQHqMSq/gsuDyFLUckuh2yZPgeA4D9oFx1WA3zTcx6hqd0c8iZ+UoNhRHtEUsMZSg2FAMhWTyttTzjuOEFoLhAZXLPIVwK2xdAm3fFwW5DlDE+tFPvvzSq8BHz4m78kg0kPvDWjju/AZw15fn/CMREgvP8zA7vePCs3GBWhLNG5milo0Lz1oGrTjSNCSO2Z3vx+58Hp2apbFb6xNCZgUFZCQRFJCR28JtHZABwNF/B45/W/zy89KllyIqxRIlZaW4K+8u7Cneg60FW6GWqWf8UOdUoLJOFPxyGGv5+icAax9g6RV+rL2ApS+0zNoH2AYxPxVpDKDNjN/OMfio1MfePOrzftv7GRju/Sqe2lqGF4+1wnzouxGBzWx+ifb6vbg4fBH1ffU41XcKF4cvwhc1L9xktFIDlujXolRbiSJ1JXSSHHg5Hm6vXwzoQiGdENqFgj1/KMyLCvTCg73gukR/2yUaelE4FhsTrE5ghLvjI14zodfhy4FAW7MJxomPCL1mmNB2415HjAvuO/a46P0kOi74etz+g5+HnWS7sHFA6POPHxfYV/R2wpuF/Tny4OCFi7PDw9nh9jvg9tvg4hxwcTa4/Ha4/Xa4/HY4/Tbx0emzwem3w+mzwc0t8nZT84aBFApIGSWkjBISKCEJPkIBNvjIK8FCCYZXRPyACz3yfDCEk4LjePh5Hn4O4vPQMqH9qj/G8tBYiMvI7W090zSt6uepbGdQycSgKz2q0itNo0BGWKWXRi6ZkVaCXr8XndZOsSLspuUm2kxtaLe0w+lz3vL+w+nlerElYngQlqvJhWQ+Knk4/wRhVXSYNVG4ZcW8dnGYM4wQVCkTCLEmWi7XTr9yK+o8/0rup9GStRf3669DdvxboXEUkpEFKFiVNmhxiaFZdKvH4SSqShP+3Qv9HqJwjJDZRwEZScRs5AbTnHCIEDJrtv09ULoVKNoEAHhi9RO4NnoN77W/N+mmErC4I3cTdpfsxvbC7dDL44QsC028cAwIPQbXBx/v+jKQsTT+Pv1ewDYQFqKFhWeWvlCoNsMXTwBeeF/bANB3Pv4wuTYQmIVVn+nz8G6fDgO+e/G4VJif5+uy3wHSZcD/396dxzdV5f8ffydN2qYLbaHAgFRKQQQVlVUYkM19dBRc+M4qar+idcUfLuM4o/gYx1EZBUcFRVHG+ek4yI9xFAV3KwwIHUEHFZSl7GUpW5ekbdLc3x9pLmmbdCNp2ub1fDzyyO29596cMn4mTd73nKO7lGd7W6oT2KR5LldemH8DP3ucXUO7D9XQ7kOVd3aenG6nvjrwlb7Y94XWFq3Vd4e+a3QqojLPMa0/nK/1h/MlSd2TuuucHudoxI9G6Jwe5+hHyT8KS18Nw5DHaxwP0wLCs/rB2zBt/PYkDfz2SUkyQ7Dnqy+X3WrI7bXUC8cK+t2p7n2u10wdDzL8AY0/QLFYLLV+9oUgddvVDZTqnKemtwsWRNU7z9/O2sj1ZZHFGuS8INdHy3kNr5xup0qrSlVSVaIyd5lKq0rrPcrcZSqpKvFtV5Wp1H38WFPWn2zvLIYho939t2bIowp5jIrmfc9sqXkEGXxms9qUZEtSsj3ZfHbYHUq2JSvJnhR0n79tkt33CGybGOeQZKkXnAUL3vzHvSH2V3t9xwLPbzCwqxPy+doaNW0VItwLCAeNEPtDvpZvrcag+4P8DmbfQwSN/j7U6l87CiD9awA290aPPNs7us/2d72W+HMt73q9ujYw0qtzcny9aa3CqayqzBwF5h8JVnisULtKd6k6zKOWeiT3qDUdon+7c2Ln8LwPVrsbX1+rIsh6WnUf7vLGX6sjsNrqhFXBgqwm7ItPju6aW3U+77jHPaAtJb7PMp6Rt8tutwf/vAO0Ewm2OJ2U7tBJ6Q1/4e0flXagzmi0wBFp/udjrkj+3Us4BgCxghFkaHNifgRZECVVJRr999FBj1lk0bAfDdPF2Rfr/N7nq3Ni51buXYQ1FI61pF1zGIbkOlI/NKv77Cw+sdcJB6tdCvhi/FvvyfrByJJXFp3eM0MDeqTVpCjWBh6NHW9Km+PHj3mr9KVzj9aU7dTa8h3aUtH8f6fejq4akX6qRqQP0IiMgeqckFb/taxxEfl9vvi/MzWy8FmzL/9K/h+p/6XKPLxGo3c8Z+5fnXOHRl37h+Od9r+tmm+vRu1t81io7aaeU7edmtguiq8blj6oie1a/3U9RrXK3C6VVrtUUu1SmadCpR7fz6WeioDn2ttl1RUqqXnuaH+UpVrjlWK1K9UaH/Cwm/s7WeKPt7HYtWu/S3E7v1ZRp716IeP4GjwpRpzKLMe/5L7t8FF1OdpPxqnjdGZOhpxGtZzyqtzrkVNeOQ23nF6PnF63yr1VcnqrVF5dKWd1lZzVFXJWV6jcUyGnxyWnx6mK6spo/PO0OQ6bwwzQaoVp/iCuZrvuPjNoq7M/3hpPcF6joTCuKUFjvXAvSADpDxprtw0eQPqPZx5ep59+eYPWJSRoSGWl/p19m+Z6fqp/bzlk9t1uMeQOWIMsd0wfzUh6T0mf/8E8T9cvN2/uihTDMFTsKjZDMP+IsMKjhTrgOhDW17JZbDq508m1Q7D0HPXp1Cf4rAyG4Zvmu7FgK+jPdY55YmQkb1xC/cAq6OitRvbZEqMbbIVDkM8xrqE317+LPhKfd4B2rNJTHTI88z2Oj1ZzV7fsr+wEm1XfP3JJmHsOIBhGkKEpGEEGxKg3v38z6P5xvcbpwVEPqltSt1buUStpzofAhkaStZTFIiV19j26nx66nacySIhWVH9kWiQXFK8zauR0606drp2+H/bXPFpZmqSJNQ9JKo6zam1iotY6ErUmMUG77Y2vxbbDdVA7XAf1ZtFKSVL/yiqNqKjQSFeFhlZUKiWC93iMrPPzFeX/kLH+Hwr8CsZrSOdsfUaa+ZeI9QOtw5BUabGo1GpRqdVqPsqsVpVYrSq1WlRWs6+kZn9pzX5/W5e1Y60xZTMMpXq9SvV6leL1KtVrqJO5HfgwzDadAtonew01d5KpUZIWpKXqhYwMc9/0w0eUe6xUC9JSNaezb/+zndM1XZuV+8M66YcT/12rJbksFpXb4uW0xcsZZ5czzqZym01Oq03lVquccXFyWqxyWi1yWiwqt1rktEhOSU6LoXJ55ZShcqNaTlWrPa604/K45PK4dKjiUOONm8BmsclhdwQf6Rbwc+CotsZGxUVlqrowsFotssoie5vrfh/NNd7SvCNf+Wpt+7Na4S7Wv+UbSfbTk6t1/kmGdiQdX4fFvvppJdnfMGsyL+Ns3RLGcMzj9WhP2R5tO1p7NFjhsUKVukvD9jqSlGxPVp/U3spJOUl9HN3VJyFDOfY09bIkyO52+gKrshLpUIFU+UnDo7diYASvJN8awCEDq7phVqhwK0WytYP111pDqM87riCzWETi8w7QjiXY4tQrI0m9MhpeTsLrrVkrzZzOscL3XGeqx12Hnar01J7esdLj1bzPtjKCDAA6MAIyoI2ruwaZXXa55fsAnr87X+9sfUe5g3Kj1LsI2rG6+XdIBvvQmDUy4nc0y5YgZWT7HqEYhuQ8FGQ6x72110urOBrZvkZRZrVXPyl36iflTknSHluc1iYmao0jUWsTE3TQ1vhb0g8J8fohIV7/N62T4gxDp9cEZue4KnR2ZZUSwxCYmXfDB1H3/mT/uk+NnYfI80pyWiz1A6w4i0otVpXGhQ68/A93e78DvY7ERgKsxgKvRMOo9998pAWGYNLxcEyS+ew/7n/27z8RcZJSDEMp7krJfeJ1bEiqskhOi7UmSKsJ1qzWmnAt4DngeLmlpk2tfb7n9hjAegyPOf1nuCTGJdYayRZqpFuyPdkcERe4r27bhLiEmB7ltm7/Os078pWk4zX1m2O+KYSTxt+l3s7vJUk3juktu91urnUaWKvzjnylkfvXaUj3Ic16bafbqR0lO+pNi7ijZEfYp4vNlF05squPV8pxe9SnslI5rlJ1c+2WxdgY1tdqs+KDrZ8VEGLVG70VJNyKT5Xi+AohbNrT5x2gHbNaLcpIjldGcrz6d08N2mbeZ1v1+PJN5s+JcYYqqn1/H/j3E5IBQMfEX7dAG1Y3HLsw8UKNTRyroqwiPbfBN8Wb/3iHC8l6j5LG/UbKf6x504cEfmgc95u282HRYpGSM32PHmeGblfl9AVmdUakbd7yvUoP7tQpjjKluoslr6f1+h4hJ3mqNbmsXJPLymVIKrTbtKZmhNnaxASVxDV8m321xaL/Jibov4kJeik9TXbD0NkVlTqnJjA7vbJKjY9Rq21ueprmZaTV+lK+Kcy76I8c0y1HjzXzVSFJbkllZoBlMcOshkZsBQZeZVZLO1yXqmGp1V6lGF6lVjc+WivV61Unr1Er7Gruf//R1lA45hfJkCycLJISDCnB8CrDKykM48mqJVXUCteOB27OUIFbwH5XnXPKrVZ52mHNVFRXqKK6Qod1OCzXi5NFSVa7HNZ4JcUlKDkuoeY5UQ5bopJtSUqyOXzPdoeS7ClKsicryZ6s5PhUJcWnKjm+k5ISUpQUn6akhE6ytaMp34Z0H6LpQ6abf08GhmRuW1+9p+PrufrXOq1Xq0OmNxiOHa44fHx9sCNbVXh0iwqPFWpvmKdFtBqGenk8yqlyq4/boz5ut3LcbvVxu9Wpja8DF5LF2sBIrLr7Q22n+ta2bYche4fX0T7vAO1U3XAs2OhpQjIA6LgIyIA2qm44duugW9VjVw9J0tSBU2W3249/mdFRQ7IJ90s545v/oW/MXe33Tsr4JKlLX98jwCmSCrYfVmp2Z8nrlT79o7Tiz8cb2BySJ2AqluxzpV7DJMOroqNO9eiUIBneRh5GhI+HbmMxvMoxvMoxDP28wqtql1ffx1VrrU1aE2/Vl/Y4uawNf9notlhU4EhUgSNRz2ZIDq9XQysqNdJVoREVFTq1yq2Gvhpal5CgeTVrHjXnS/dad9FnpGmkqyLmRpKFmp6wtE6odXz0lrXO6K32OTqmITZDSq15pBhSqizqZEgphkWphsV3TP5ti1JkUSf5t61KlhTn/y/WYpFk8aUu5l9uloAv4C2125nbJ9Cu7pf74bx2kHZPHN2tvzmOBx7TbT2UG58sqf7Ijty4rpKRojmWo5J89eq0d9Hthk2qdvseXv+zp2ZfldTOV3iLk5RsGEquDt/kjW7JDNXKA0asuax1grgQI+Ccdc51tsM6rpahUm+VSr1VkqcsLNdM8HqVZBhKMmQ+kmVRkqxKqnlOttiUZPE/25RktSvJaleyNd63HZegpLhEJcUlyBGXIEtcvBRn9z2s/meb5N9vtdUcjz++7W/XyDm2vafLemCCvN0+lRTwHpj/R/XrOUVbul8m26o50orH6oVjOQcHqt9/i+U9OltFzv3a5tyvbZWHVOg+pkJvubYZVTpqCW/tJXq9yg4MwKrcynF71NvtVnxYX+kEWG0NTDsYJMSqNXorYNue1G7CVrRQLH7eAdqQuuHY/zmvb73R0/7jhGQA0DERkAFtUN1wbPqQ6fpFv1/og10fmPv8YViHD8la+qGvA35YHJ7d2bex6una4Zj/jtPANQy2r5D6nSeNuUs9WrujYRAn6bSax3WS3NVufXPoG60pWqM1RWv09cGvG51+yWW1amWSQyuTfAu7psV30oiugzWi22CNyDxbfVJOkkXHA7shhldjPnxBK13vSKr5gvDkHyt3w/vmNd1Wh+ze40HkgjMu1Jzy4x+oxiZeoiG516vpAYECtiMXPtRvV/t1vYZXzuoKlVaVqsRdrjJ3uUrdZSqtKvM91zzK3OUqqSr1bfuP1fwc7umwos1hcyjFnqLU+FSlxqcqJT5FneydzO3U+FR1iu9Uq03gIzEuMaanbWuOdfvX6W/Lp5o/Tx8yXbnHSqTNM819VXHJiq8u9/1weJtyh8yU0jqZ733zU70affGLDU/x5q2uHZ7VC9Kq6odqXrdU7WnCOYHtqho5x39tT8CxOueE6k+YQz67pHSvV+lhGuXmlW+UW63ALcQoNzNUM8O1+vvK2+nUp5VWqyolHQl61JDv3zrIv7e35lGHxTCUZBhK9nqV5DWUZPiekw1DSf4wzuvfV9OmZn9y4LPXMNsGjjCdWvNYcDi1/ujMvYt02t5Fsqj+KM+RTpcyHP/Rs+Vf6+4tNlUEC0hP4H++9OrqmgDMY44Ey3G71cNT3eANLyfEltiENbQaWmur5tmWQLCFpuPzDhAVdcOx+y4eoOvO6akPPvje3OcPwwjJAKDjIiAD2phg4VjuoFy5gizUHDMhGY4LtZC31KEX7rbH2TW422AN7jZYN591s1wel7468JXW7lurNUVr9O2hb+U1gnyrGOBYVYk+3JOvD/fkS5K6ObppRI8RGvGjETqnxznqmZKleVMe1cOf99TiwhckSXPKNkppqco9Vqpva+6i/0mn72XP/6Pvi8KAcOzqPjfpobG3Re4foQFur1tlVb7QqsRdotKqUl+AVVWqkqoSlfmDrDqPMneZ73hVmYx2PromkEUWM7jyh1mp8alKtdcPslLjU5ViT1Gn+IDwy54qe1x7m6Cw/RrSfYjyzsrTvK/nHQ/HAv5/rm7tSZI+mqnc82dKNVPD5Z2V1/j6R9Y430OJkfpVIq+5IV+zArumhoGekH2wVruV5HUrqdqtzMBrV3ukqpaFfG4pyBSSDY9iq328/pST7W06VsPiW5+uPIwj9OxBAzev+lZVaWu8bxzWnM4ZWpOYqAFVbuUnJWpbfO3xWV/U3IByonrWmQ4xpyYQy/A2/L5e+xdKbmKQFWRfYiffvvgUydZmxqABACIoWDiWN75v0O9dCMkAoGMjIAPakHX71wUNxxoSLCQb3G1wsxdKRzvQUDjm14FDskAOm0Ojeo7SqJ6+O2dLq0r15f4vfSPM9q3R5iObG73GAdcBLd22VEu3LZUkZaVm+cKyrHPU+chZmn/0a0m+Lwi9ORPVTZdJkjwjb9erZRs15/B/zGtN7zxMuS0MxwzDUGV15fHgyl0/yAoMswLDL397l6f+B7n2zGax1Q6w4gMCrLojtoKEXsn2ZFkt7W+qt1h2y9m3aGSPkRqyOb/W/8+5xz2gLSW+NZA8I2+X3W6v9f9vuefP1OCL/xo773kdMeQLOXrPt233upVW7XuEIww0PJVyed1yVlfK6a2U0+tWeXWVnIZb5YZHLqNaTsOjcqNaTnlVbnjllFdOi+SUoXKLaoduFquqGpkCuC1yWyw6Ghenow0v96nVSQ6tDkMQZjcM9Xb71gbzrRHmmxYx25ooR3yqlNBFSmpBuJWQKsWnSnF8rAUANE3B9sNBw7GGBAvJhmVnHJ/lBQDQbvFJAmhD6t1F38SRYIEhWZPuokf705RwzC9GQrJAqfGpGp81XuOzxkuSDrkOqWBfgdbsW6O1RWu1s3Rno9fYVbpLu0p36f9t/n+SpC4ejw7ZfG+Tfzm6XhcmdtXYxLH668a/6rmAcOzOw0f0P9v/qaKUHJWcNcUMs8zRW/4wy10/8PK38Xg94f9HiSKHzaFUe+jRW8ECr07xncz2TE8Ym+qGYzp/pjxDb5Y+OD69cLD/fxuimRLve+1HlEM+i6SkmkeL1Qn53J4KuSpL5KwqkbOqXOVVpXK6y1TuLpPT7ZTTXS6nx6lyj0vOmkd5dYVcnkqVV1fI6a3yhXTeKjm9bjkNj7ztdFRviuKUY++kPvEZynF0U5/kHspJ7a2TOmXJlphRJ9hKkdrhunUAgPZteHZn3XneKXr6481NCsf8AkOyO887hXAMADoIAjKgjTHvom/ml325g3IZOdZR7Vjd9HDML1hIFkMLeXdxdNHFfS7WxX0uliQVlRWZYdmaojU64DrQ6DX84ZjfBxUf6OOKj1V99Pi6MfGWOP0lI11Pd86Qdi7yPdq5wOkJm7reVt3wy25lekI0U6ibAIJMcxOLNwGgjakT8tkl2dVTncJ0ecMwVFFd4QvXPE7zudxdLqe75jnI/ob2VVRXhKl3Pt0c3dQnvY9y0nLUJ833nJOWo0xHJjc4AADavLsu6K8xp2Q2O+TKG9+XkWMA0MEQkAFtUEtDLsKxDqr3KGncb6T8x5oWjvkFfok87jcxE44F0yOlhyb1m6RJ/SbJMAxtL9nuC8v2rVHBvgIdrTzapOtUq7rWz1VGtdTGvgi0WWzqlBAizLI3HngxPSFaHTcBALVYLBY5bA45bA51UZewXNPj9cjlcdUO1wLDNP++rR+rfHu+1iUkaENiQr3r/OxYqe48clQp591AKA0AaNdaGnIRjgFAx0JABgDtwYT7pZzxzf/yd8xdfGlch8ViUZ+0PuqT1kf/M+B/5DW8+uHID771y755XV86d8sZxSmfWjo9of8Y0xOi3eEmACDibNbjazuGtHK2tO5fWpCWWiscc1gcchm+0ZxvpKXqR9Ue5TJyEwAAAEAHQEAGAO1FS7/85UvjBlktVg3oPEADOg/Q1NOnyl24Qt8mp2rtPt90jF/u/1LVRnXjFxLTEwItxk0AQHTVTHO6IC1VczpnmLsvTLxQYxPHqiirSM9teE6SzOOEZAAAAADaOwIyAAAC2Pucq7Mlnd3tbMVZ4rR231rzmE02eeQxf776lKv1swE/Y3pCIBy4CQCIjhDh2K2DblWPXT0kSVMHTpXdbtecdXMkEZIBAAAA6Bj4Fg8AgCAWbFhgfhEo+e6in5k+U7cOutXct3jzYq3cs1I9U3oqNT6VcAwA0L7UrAFYNxybPmS6pg6cWqtp7qBcTR8y3fx5TucMLUhL9U1zumN1K3UYAAAAAMKHEWQAANRRNxxr8C76mufcQbmt3EsAAE5Q71FaMPhyzTn6lblr+pDpyh2UK5fLVa+5/72u1kiynAnKZSQnAAAAgHaIW90BAAhQNxxr0l306+ZowYYFrdRDAADCY93+dUHDsYbUew88+pXW7V8XoR4CAAAAQOQQkAEAUCNYOBbqi0JCMgBAezek+xDlnZUnqWnhmF/ge2DeWXka0n1IpLoIAAAAABHDFIsAAKjmLvomhmN+9aaaWjdHg7sN5otCAEC7ccvZt2hkj5HNfu/KHZTLex4AAACAdo0RZAAAiLvoAQCxq6XvXbznAQAAAGjPGEEGAEAN7qIHAAAAAAAAYgMjyAAACMBd9AAAAAAAAEDHR0CGkHbu3Km7775bAwcOVHJysjp37qwRI0boz3/+s5xOZ7S7BwAAAAAAAAAA0CJMsYig3n33Xf3yl7/UsWPHzH1Op1MFBQUqKCjQSy+9pPfee085OTlR7CUAAAAAAAAAAEDzMYIM9Xz99deaMmWKjh07ppSUFP3xj3/UqlWr9PHHH+vGG2+UJH3//fe69NJLVVZWFuXeAgAAAAAAAAAANA8jyFDP9OnT5XQ6ZbPZ9MEHH2jUqFHmsYkTJ+qUU07Rvffeq02bNumpp57Sgw8+GMXeAgAAAAAAAAAANA8jyFBLQUGBPvvsM0lSbm5urXDMb8aMGRo4cKAkac6cOXK73a3ZRQAAAAAAAAAAgBNCQIZa3nrrLXP7+uuvD9rGarXq2muvlSQdOXLEDNQAAAAAAAAAAADaAwIy1LJixQpJUnJysoYOHRqy3bhx48ztlStXRrxfAAAAAAAAAAAA4UJAhlo2btwoSerXr59sttBL1A0YMKDeOQAAAAAAAAAAAO1B6AQEMaeiokLFxcWSpF69ejXYNiMjQ8nJySovL9euXbua9Tq7d+9u8HhRUZG57XK55HK5mnX9jqqioiLoNoDIo/6A6KD2gOih/oDoof6A6KD2gOih/tAUkcgJCMhgKi0tNbdTUlIabe8PyMrKypr1OllZWU1u+/nnnyszM7NZ148Fn3/+ebS7AMQs6g+IDmoPiB7qD4ge6g+IDmoPiB7qD6H4B/eEE1MswhSYzsfHxzfaPiEhQVJkklsAAAAAAAAAAIBIYQQZTImJieZ2VVVVo+0rKyslSQ6Ho1mv09iUjEVFRRoxYoQkaezYsY1O9xgrKioqzDsoxo4dW+t/LwCRRf0B0UHtAdFD/QHRQ/0B0UHtAdFD/aEpGlu6qSUIyGBKTU01t5sybWJ5ebmkpk3HGKg5gZfD4Wh2ABcLEhMT+XcBooT6A6KD2gOih/oDoof6A6KD2gOih/pDKJH474IpFmFKTEw01/tqLI09cuSIGZA1Z00xAAAAAAAAAACAaCMgQy0DBw6UJG3ZskUejydku02bNtU7BwAAAAAAAAAAoD0gIEMtY8aMkeSbPvHLL78M2S4/P9/cHj16dMT7BQAAAAAAAAAAEC4EZKhl0qRJ5vYrr7wStI3X69Wrr74qSUpPT9eECRNao2sAAAAAAAAAAABhQUCGWkaMGKFzzz1XkrRgwQKtXr26Xpsnn3xSGzdulCTdeeedstvtrdpHAAAAAAAAAACAE2GLdgfQ9jz99NMaPXq0XC6XLrzwQv32t7/VhAkT5HK59MYbb2j+/PmSpP79+2vGjBlR7i0AAAAAAAAAAEDzEJChnsGDB+sf//iHfvWrX6mkpES//e1v67Xp37+/3n33XaWmpkahhwAAAAAAAAAAAC3HFIsI6qc//an++9//6q677lL//v2VlJSk9PR0DRs2TI8//rjWr1+vfv36RbubAAAAAAAAAAAAzcYIMoTUu3dvPfXUU3rqqaei3RUAAAAAAAAAAICwYQQZAAAAAAAAAAAAYgoBGQAAAAAAAAAAAGIKARkAAAAAAAAAAABiCgEZAAAAAAAAAAAAYgoBGQAAAAAAAAAAAGIKARkAAAAAAAAAAABiCgEZAAAAAAAAAAAAYoot2h0A6vJ4POZ2UVFRFHvStrhcLhUXF0uSdu/eLYfDEeUeAbGD+gOig9oDoof6A6KH+gOig9oDoof6Q1MEZgWBGcKJICBDm3Pw4EFze8SIEVHsCQAAAAAAAAAAaEsOHjyo7OzsE74OUywCAAAAAAAAAAAgplgMwzCi3QkgUEVFhTZs2CBJ6tq1q2w2BjpKviGk/hF1a9euVY8ePaLcIyB2UH9AdFB7QPRQf0D0UH9AdFB7QPRQf2gKj8djzj43aNAgJSYmnvA1SR7Q5iQmJmr48OHR7kab1qNHD/Xq1Sva3QBiEvUHRAe1B0QP9QdED/UHRAe1B0QP9YeGhGNaxUBMsQgAAAAAAAAAAICYQkAGAAAAAAAAAACAmEJABgAAAAAAAAAAgJhCQAYAAAAAAAAAAICYQkAGAAAAAAAAAACAmEJABgAAAAAAAAAAgJhCQAYAAAAAAAAAAICYYjEMw4h2JwAAAAAAAAAAAIDWwggyAAAAAAAAAAAAxBQCMgAAAAAAAAAAAMQUAjIAAAAAAAAAAADEFAIyAAAAAAAAAAAAxBQCMgAAAAAAAAAAAMQUAjIAAAAAAAAAAADEFAIyAAAAAAAAAAAAxBQCMgAAAAAAAAAAAMQUAjIAAAAAAAAAAADEFAIyAAAAAAAAAAAAxBQCMqAd2Llzp+6++24NHDhQycnJ6ty5s0aMGKE///nPcjqd0e4e0K4cOHBAS5cu1YMPPqhLLrlEmZmZslgsslgsuu6665p9veXLl+vKK69Ur169lJCQoF69eunKK6/U8uXLw995oJ1bt26dHn30UV1yySXKyspSQkKCUlJS1L9/f1133XVasWJFs65H/QFNU1JSojfeeEMzZszQuHHj1K9fP6WlpSk+Pl7dunXT+PHj9cQTT+jQoUNNuh61B4THvffea/4darFY9NlnnzV6DvUHNF1gfTX0GD9+fKPXovaAlisuLtYTTzyh0aNH60c/+pESEhLUs2dPnXPOObrnnnu0evXqRq9BDSJiDABt2tKlS420tDRDUtDHqaeeamzdujXa3QTajVC1JMmYOnVqk6/j9XqNadOmNXi9adOmGV6vN3K/DNCOjB07tsF68T9+/etfG5WVlQ1ei/oDmufDDz9sUv1lZmYay5cvD3kdag8In6+++sqw2Wy16ufTTz8N2Z76A5qvKe99koxx48aFvAa1B5yYRYsWGV26dGmwhq644oqQ51ODiDRbk1I0AFHx9ddfa8qUKXI6nUpJSdH999+vCRMmyOVy6Y033tCLL76o77//XpdeeqkKCgqUkpIS7S4D7UpWVpYGDhyoDz74oNnn/u53v9P8+fMlSYMHD9a9996rvn37auvWrXriiSe0fv16zZ8/X127dtUjjzwS7q4D7c6ePXskST179tQ111yjc889VyeffLKqq6u1evVqPfnkk9qzZ4/+9re/yePx6PXXXw95LeoPaL6srCxNmDBBQ4cOVVZWlnr06CGv16vdu3dr8eLFWrJkiYqLi3X55ZeroKBAZ555Zr1rUHtAeHi9Xt14443yeDzq1q2bDhw40Og51B/Qcnl5ebrllltCHk9OTg55jNoDWu7VV1/V9ddfL6/Xq27duikvL09jxoxR586dtW/fPm3dulXvvPOO7HZ7yGtQg4i4aCd0AEIbP368Icmw2WzGqlWr6h1/4oknzLslHn744Sj0EGh/HnzwQeOdd94x9u3bZxiGYRQWFjZ7BNnmzZvNO36HDRtmOJ3OWsfLy8uNYcOGmfW7ZcuWcP8aQLtz6aWXGv/4xz8Mj8cT9PjBgweN/v37m/X4+eefB21H/QHNF6ruAv3zn/806+/KK6+sd5zaA8Jn9uzZhiRjwIABxv3339/oCDLqD2gZf2099NBDLTqf2gNa7rvvvjMSEhIMSca5555rHD16NGTbUDOIUINoDaxBBrRRBQUF5hz0ubm5GjVqVL02M2bM0MCBAyVJc+bMkdvtbs0uAu3Sww8/rMsuu0zdu3dv8TVmz54tj8cjSXrmmWfkcDhqHU9KStIzzzwjSfJ4PJozZ06LXwvoKJYuXaopU6YoLi4u6PHMzEw9+eST5s+LFy8O2o76A5ovVN0FmjRpkgYMGCBJ+vzzz+sdp/aA8Ni1a5d+//vfS5LmzZun+Pj4Rs+h/oDooPaAlrv99ttVWVmpzMxMLVmyRGlpaSHbhnovpAbRGgjIgDbqrbfeMrevv/76oG2sVquuvfZaSdKRI0eatKgzgBNjGIb+9a9/SZIGDBigkSNHBm03cuRInXrqqZJ89WwYRqv1EWivAhdI37p1a73j1B8QWf4ppioqKmrtp/aA8LnllltUVlamqVOn1nrfC4X6A6KD2gNabtOmTfr4448lSbfddpsyMzObfQ1qEK2FgAxoo1asWCHJ90XF0KFDQ7YbN26cub1y5cqI9wuIdYWFheZaSoH1F4z/+O7du7V9+/ZIdw1o96qqqsxtq7X+n6nUHxA5Gzdu1FdffSVJ5kgyP2oPCI9FixZp6dKl6ty5s2bNmtWkc6g/IDqoPaDl3nzzTXP7mmuuMbePHDmizZs369ChQ41egxpEayEgA9qojRs3SpL69esnm80Wsl3gFxj+cwBETmCd1f0CsS7qE2ie/Px8cztYfVF/QHg5nU5t3rxZTz31lCZMmKDq6mpJ0p133lmrHbUHnLijR4+atfX444+ra9euTTqP+gNO3JtvvqlTTz1VDodDqampOuWUUzR16lR9+umnIc+h9oCW++KLLyRJaWlpGjhwoF577TWdddZZ6ty5s/r376/MzEzl5OTo4YcfVllZWdBrUINoLaG/dQcQNRUVFSouLpYk9erVq8G2GRkZSk5OVnl5uXbt2tUa3QNiWmCdNVafWVlZQc8DUJ/X69Vjjz1m/jxlypR6bag/4MQtXLgw5PTdknT33Xfrl7/8Za191B5w4u69917t27dPP/7xj5Wbm9vk86g/4MR99913tX7esmWLtmzZoldffVWTJk3SwoUL662PRO0BLeevuezsbN1+++167rnn6rUpLCzUzJkztXjxYr3//vvq2bNnrePUIFoLI8iANqi0tNTcTklJabS9f72IUHddAAif5tSnvzYl6hNozOzZs7V27VpJ0uTJkzVs2LB6bag/IHLOPvtsffHFF5o1a5YsFkutY9QecGJWrlypl156STabTc8//3y9GmsI9Qe0XFJSkn72s5/pxRdf1IoVK7R+/Xp98MEHeuCBB9SlSxdJvjWLrrjiCrnd7lrnUntAyx0+fFiSby2y5557Tunp6Xr++ed14MABVVRUqKCgQJdccokk6ZtvvtE111wjr9db6xrUIFoLI8iANihwYfT4+PhG2yckJEiSXC5XxPoEwKc59emvTYn6BBqSn5+v3/zmN5Kkbt26ad68eUHbUX/AiZs0aZIZQLtcLm3dulWLFi3SP//5T/3yl7/UnDlzdNlll9U6h9oDWq6qqkrTpk2TYRi66667NGjQoGadT/0BLbdnzx6lp6fX23/BBRfo9ttv1yWXXKL169crPz9f8+bN0x133GG2ofaAlisvL5ckVVZWKi4uTsuWLdPIkSPN48OGDdPSpUt12WWXadmyZVq1apWWLFmiq6++2mxDDaK1MIIMaIMSExPN7aqqqkbbV1ZWSpIcDkfE+gTApzn16a9NifoEQvn22281efJkeTweJSQkaNGiRerevXvQttQfcOLS09N1xhln6IwzztDw4cP1s5/9TEuWLNGrr76qbdu26YorrtDChQtrnUPtAS336KOPauPGjTr55JP10EMPNft86g9ouWDhmF/37t21ePFi84v3Z555ptZxag9oucD6ueaaa2qFY35Wq1WzZs0yf/773/8e8hrUICKJgAxog1JTU83tpgwN9t+Z0ZTpGAGcmObUp782JeoTCKawsFAXXnihjhw5ori4OP3973/XuHHjQran/oDI+fWvf21Ob3PbbbfpyJEj5jFqD2iZTZs26U9/+pMk35fvgVNANRX1B0ROTk6OLrjgAkm+dcn27t1rHqP2gJYLrB//VIrBnH766TrppJMkSQUFBSGvQQ0ikphiEWiDEhMTlZmZqeLiYu3evbvBtkeOHDHfCAIXpQQQGYGLwzZWn4GLw1KfQG179+7V+eefr71798pisejll1/W5MmTGzyH+gMi64orrtCiRYtUXl6uZcuW6Re/+IUkag9oqdmzZ6uqqko5OTlyOp1644036rX55ptvzO1PPvlE+/btkyT99Kc/VXJyMvUHRNhpp52md999V5JvSsaePXtK4r0POBFZWVnm+1lgLYVqu2fPHh04cKDWfmoQrYWADGijBg4cqBUrVmjLli3yeDyy2YKX66ZNm2qdAyCyTjvtNHM7sP6CoT6B4IqLi3XBBRdo27Ztknx31V977bWNnkf9AZHVtWtXc3vHjh3mNrUHtIx/yqdt27bp5z//eaPt//CHP5jbhYWFSk5Opv6ACDMMI+h+ag9oudNPP90cEVZdXd1gW//xut97UoNoLUyxCLRRY8aMkeQbJvzll1+GbJefn29ujx49OuL9AmJdnz59zLsKA+svmM8//1ySdNJJJyk7OzvSXQPahWPHjumiiy7Sd999J0l67LHHdOuttzbpXOoPiKw9e/aY24HT01B7QPRQf0Bk+f8mlWTWmkTtASdi7Nix5vbWrVsbbOu/adI/1aIfNYjWQkAGtFGTJk0yt1955ZWgbbxer1599VVJvsVnJ0yY0BpdA2KaxWLRFVdcIcl3l9IXX3wRtN0XX3xh3sV0xRVXyGKxtFofgbbK6XTq0ksv1bp16yRJDzzwgO67774mn0/9AZH15ptvmtuDBg0yt6k9oGUWLlwowzAafDz00ENm+08//dTc7/+Cj/oDImfbtm368MMPJfnWIwv8gp7aA1ru8ssvl91ulyQtWbIkZLv8/HwdOnRIknTuuefWOkYNorUQkAFt1IgRI8w3hwULFmj16tX12jz55JPauHGjJOnOO+8033wARNb06dPN4f+33367XC5XreMul0u33367JN80AdOnT2/tLgJtTlVVlSZPnqx///vfknzvW4888kizr0P9Ac23cOFCVVRUNNhm9uzZeu+99yRJ2dnZ5mwGftQeED3UH9B877zzjjweT8jj+/fv19VXXy232y1JQWc0oPaAlunSpYv+93//V5L04YcfBl2Ds7S0tFbN3HTTTfXaUINoDRYj1GS7AKJu/fr1Gj16tFwul1JSUvTb3/5WEyZMkMvl0htvvKH58+dLkvr376///Oc/Sk1NjXKPgbZv5cqV2rJli/lzcXGx7rnnHkm+aUr9f8T5XXfddUGvc//99+uxxx6TJA0ePFj33Xef+vbtq61bt+rxxx/X+vXrzXaPPvpoBH4ToH256qqrzLsHJ06cqDlz5jR4d198fLz69+8f9Bj1BzRPdna2SktLddVVV2nMmDHq27evUlJSVFpaqg0bNui1114zw+v4+Hi9++67Ov/88+tdh9oDwm/mzJl6+OGHJflGkI0fPz5oO+oPaJ7s7Gy53W5dddVVGjVqlLKzs+VwOFRcXKzPPvtMzz//vDlyZcyYMfroo4+UkJBQ7zrUHtAyBw8e1LBhw7Rz507ZbDbdfPPNuvLKK9WpUydt2LBBjz/+uDnyKy8vT3Pnzg16HWoQkUZABrRx77zzjn71q1+ppKQk6PH+/fvr3XffVb9+/Vq5Z0D7dN111+mvf/1rk9uHepv0er268cYb9fLLL4c8Nzc3V/Pnz5fVyoBtoLlTXfTu3Vvbt28Peoz6A5onOztbO3bsaLRdr1699PLLL+uCCy4IepzaA8KvqQEZ9Qc0T1Pf+6666iq99NJLSk9PD3qc2gNabuPGjbr88str3aRc1w033KDnn38+5KxY1CAijYAMaAd27Nihp59+Wu+++652796t+Ph49evXT9dcc41uu+02JSUlRbuLQLsRroDM77333tP8+fNVUFCg4uJiZWZmavjw4brpppt0ySWXnGh3gQ4jnAGZH/UHNM3WrVv10Ucf6dNPP9XGjRu1f/9+HTp0SImJierevbvOPvtsXXbZZZoyZUqT/q6k9oDwaWpA5kf9AU2Tn5+v/Px8rV69Wtu2bVNxcbFKSkqUkpKirKws/fjHP9bUqVM1atSoJl2P2gNapry8XPPmzdPixYu1efNmlZWVqVu3bho9erRuuukmTZgwoUnXoQYRKQRkAAAAAAAAAAAAiCmMOwQAAAAAAAAAAEBMISADAAAAAAAAAABATCEgAwAAAAAAAAAAQEwhIAMAAAAAAAAAAEBMISADAAAAAAAAAABATCEgAwAAAAAAAAAAQEwhIAMAAAAAAAAAAEBMISADAAAAAAAAAABATCEgAwAAAAAAAAAAQEwhIAMAAAAAAAAAAEBMISADAAAAAAAAAABATCEgAwAAAAAAAAAAQEwhIAMAAAAAAAAAAEBMISADAAAAAAAAAABATCEgAwAAAAAAAAAAQEwhIAMAAAAAAAAAAEBMISADAAAAALQbCxculMViqfdYuHBhi6/52Wefmdf57LPPwtbXYCLRfwAAAADNR0AGAAAAAO1UYLAzc+bMBtvu379fZ5xxhtk+Ly9PhmGc0OvPnDmz2cHS+PHjzXPai8Dfs+4jLi5O6enpGjp0qGbMmKHNmzdHu7sAAAAAmsAW7Q4AAAAAACKrqKhIEydO1KZNmyRJd955p+bMmRPdToXB+++/r549e0qSevXqFZU+eL1eHTt2TOvWrdO6dev07LPP6i9/+YtuuummoO0nTZqkYcOGSZL27t2riy66qDW7CwAAAKAGARkAAAAAdGC7d+/WxIkTzZFNd999t2bNmhXlXoVH//79lZ2d3aqv+fLLL2v48OHmz9XV1SoqKtKyZcs0b948VVVVKS8vT6eccoomTpxY7/z09HSlp6dLklJSUlqr2wAAAADqICADAAAAgA5qx44dmjBhggoLCyVJDzzwgB555JEo96p969Onj84444xa+8466yxdfPHFOvvss3XDDTfIMAzNmjUraEAGAAAAoG1gDTIAAAAA6IC2bt2qsWPHmuHYzJkzCcci7Prrr1dmZqYkac2aNVHuDQAAAICGEJABAAAAQAfzww8/aNy4cdq5c6ck6U9/+pMeeuihKPcqelwul/74xz/qrLPOUnJysrp06aLRo0frxRdflNfrDetr+ad8rKioCOt1AQAAAIQXUywCAAAAQAeyceNGTZw4Ufv27ZMkPfXUU7rrrrui3Kvo2bt3r8477zxt2rTJ3Od0OrVq1SqtWrVKS5YsCeu/z/bt2yVJJ598ctiuCQAAACD8CMgAAAAAoIPYsGGDzj//fB04cEAWi0V/+ctfdNttt0W7W1Hj8Xh02WWXmeHYhRdeqLy8PGVlZWnnzp2aO3euli9frkOHDoXl9f7617+quLhYknT55ZeH5ZoAAAAAIoOADAAAAAA6gK+//lrPPvusDh06JIvFohdeeEE33nhjtLsVVfPmzdP69eslSdOmTdMLL7xgHhs6dKgmT56s3Nxcvfzyy02+ZmFhobnOmCRVV1dr//79WrZsmebOnStJGjBggO65554w/RYAAAAAIoGADAAAAAA6gLfeesvcnjt3bsyHY5IvIJOk7t27a/bs2UHbPP3003rnnXd08ODBJl3zhhtuCHksLS1Nv//973XrrbcqIyOj+R0GAAAA0Gqs0e4AAAAAAODEWSwWc/vtt99WVVVVFHsTfXv37tXGjRslSVOmTFFSUlLQdikpKZoyZUpYXvPYsWN65ZVXtHjx4rBcDwAAAEDkEJABAAAAQAeQl5en0047TZK0bNky/fznP5fH44lyr6Jnw4YN5vbw4cMbbDtixIgmX/fTTz+VYRjmw+v16ujRo8rPz9fkyZO1bds2TZs2Tffee2+L+w4AAAAg8gjIAAAAAKAD6Nq1qz766CP169dPkrRkyRJNnTpVXq83Yq8ZOGqtqQzDiEBP6jty5Ii53a1btwbbdu/evcWvY7FYlJaWprFjx2rJkiX6xS9+IUmaNWuWPvnkkxZfFwAAAEBkEZABAAAAQAfRo0cPffLJJ+rdu7ck6fXXX9eNN94YsVDK4XCY206ns0nnlJeXS5KSk5Mj0ie/wN+5sSAvnP8+99xzj7m9YMGCsF0XAAAAQHgRkAEAAABAB5KVlaWPP/5YPXv2lCS9/PLLuuOOOyLyWp07dza39+3b16Rz/O0Cz42EwOvv37+/wbYHDhwI2+sOGDDA3A6c5hEAAABA20JABgAAAAAdTN++ffXxxx+bUws+++yzEVkT68wzzzS3161b12j7/fv3a8+ePfXOjYRBgwaZ2wUFBQ22bex4cwSu++Z2u8N2XQAAAADhRUAGAAAAAB3QgAED9OGHH5ojqWbNmqWZM2eG9TUGDx5sXn/JkiWqqKhosP1rr71mbp933nlh7UtdPXv21MCBAyVJb775plwuV9B25eXlWrRoUdheNzBsy8rKCtt1AQAAAIQXARkAAAAAdFBnnnmm3n//fXXq1EmS9PDDD+uJJ54I2/XtdrumTZsmSSoqKtL06dNDrue1YcMG/eEPf5AkpaSk6LrrrgtbP0LJy8uT5JvWccaMGUHb3HXXXWGbYrGyslIPPvig+fNPfvKTsFwXAAAAQPjZot0BAAAAAEDkDBs2TO+9954uuugilZeX67777lNSUpJuu+22sFz/d7/7nf71r39p48aNeuGFF7R+/Xrl5uZq0KBBSkxMVFFRkT788EPNnz9fTqdTkjR37lxlZGSE5fUbkpeXp1deeUXr16/XvHnzVFhYqJtvvllZWVnatWuX5s6dqw8++EDDhw9v8jSLhYWFyszMrLWvpKREX331lebOnatvv/1WktSvXz/ddNNNYf+dAAAAAIQHARkAAAAAdHCjR4/W22+/rUsvvVQVFRW644475HA4lJube8LXTk5O1scff6yrr75aq1at0tq1a7V27dqgbRMTE/Xss8/q17/+9Qm/blPYbDYtXbpUEydO1Pfff6/ly5dr+fLltdpceOGFmjFjhi666KImXfOGG25otM1ZZ52lt956Sw6Ho0X9BgAAABB5TLEIAAAAADFg4sSJWrJkieLj42UYhqZNm1ZrTbAT0aNHD61cuVJvv/22fvWrX6lv375KSUmR3W5X165dNWbMGM2cOVOFhYVhCeWao2fPnlq/fr0eeeQRnXHGGXI4HEpPT9fIkSM1d+5cLVu2TPHx8Sf0GklJScrOztaVV16p119/Xf/5z3+UnZ0dnl8AAAAAQERYjFATxAMAAAAA0MYsXLhQ119/vSTfdIftOYjavn27+vTpI0l65ZVXWmVdNgAAAAA+TLEIAAAAAGiXfvjhB5WVlUmSevXqpfT09Oh2qAmOHj2q3bt3S5L27t0b5d4AAAAAsYuADAAAAADQLgWuG9ZeRmC99dZb5gg4AAAAANHDGmQAAAAAAAAAAACIKaxBBgAAAAAx6ptvvmnRee1lOkMAAAAACIWADAAAAABilMViadF57WU6QwAAAAAIhSkWAQAAAAAAAAAAEFNs0e4AAAAAACA6mFAEAAAAQKxiBBkAAAAAAAAAAABiCgEZAAAAAAAAAAAAYgoBGQAAAAAAAAAAAGIKARkAAAAAAAAAAABiCgEZAAAAAAAAAAAAYgoBGQAAAAAAAAAAAGIKARkAAAAAAAAAAABiCgEZAAAAAAAAAAAAYgoBGQAAAAAAAAAAAGIKARkAAAAAAAAAAABiCgEZAAAAAAAAAAAAYgoBGQAAAAAAAAAAAGIKARkAAAAAAAAAAABiCgEZAAAAAAAAAAAAYgoBGQAAAAAAAAAAAGIKARkAAAAAAAAAAABiCgEZAAAAAAAAAAAAYgoBGQAAAAAAAAAAAGIKARkAAAAAAAAAAABiyv8HLbsNYqwnHH4AAAAASUVORK5CYII=", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABpMAAARGCAYAAADU7EjZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdd3wU1frH8e+mNwIJIVxqqAFERHoRaXpBREE6qBTFAqj3oteuF/BarlixADak2ABBQAUFRTrSpBiuBGmht4QE0uv8/sgvYzbZbDZls0n4vH3ty5kzZ848uzs7WebZc47FMAxDAAAAAAAAAAAAgA1urg4AAAAAAAAAAAAA5RfJJAAAAAAAAAAAABSIZBIAAAAAAAAAAAAKRDIJAAAAAAAAAAAABSKZBAAAAAAAAAAAgAKRTAIAAAAAAAAAAECBSCYBAAAAAAAAAACgQCSTAAAAAAAAAAAAUCCSSQAAAAAAAAAAACgQySQAAAAAAAAAAAAUiGQSAAAAAAAAAAAACkQyCQAAAAAAAAAAAAUimQQAAAAAAAAAAIACkUwCAAAAAAAAAABAgUgmAQAAAAAAAAAAoEAkkwAAAAAAAAAAAFAgkkkAAAAAAAAAAAAoEMkkAAAAAAAAAAAAFIhkEgAAAAAAAAAAAArk4eoAAAAAADjGYrGYy4ZhuDASAABQXvD9AABQFuiZBACAi40bN04Wi6XAh7+/v+rUqaPevXvr+eef16FDhxxue968eXbbLugxefJku+1evnxZb775pv7+97+rdu3a8vb2Vo0aNdS2bVs999xz+vPPP4v0GiQlJWnLli2aMWOG7rrrLjVr1kxubm5mPNOmTStSe7bs3r1bTz/9tNq3b69atWrJ29tbtWvXVtu2bXXvvffqs88+07lz5xxub+3atRozZozCw8Pl7++v4OBgXXfddXriiScUGRlZ4njzyn2ejBs3rsB6UVFRxXrP7T3mzZtntj9t2rRit9OgQYNSeS1sndeDBw8uUhv/+9//nBafLSdOnNDs2bM1ePBgXXPNNapRo4Y8PT0VFBSkJk2aaPDgwZo+fbqOHj3qtBgAAAAAACgueiYBAFDOJSUlKSkpSWfOnNG6dev0yiuvaNKkSXrjjTfk4+NT5vEsXrxYDz74oOLi4qzKo6OjFR0drT179uiNN97Q1KlT9cwzz1j9UtKWp556Sm+++aYyMzOdEu+FCxf02GOP6Ysvvsi37ezZszp79qz27NmjuXPn6qGHHtL7779vt70rV67ogQce0KJFi6zKk5KSFBsbq4iICL3zzjt64YUX9Mwzz5Tqc0HBVq5cqZiYGFWvXt2h+vPnz3dyRNlOnjyp//znP5o3b54yMjLybY+Li1NcXJyOHDmiZcuW6emnn1bv3r31yiuvqFOnTmUSIwBUVuPGjTOv93PnzrX7Y4zKKCoqSg0bNpQkhYWFKSoqyin7oHTRywgAUF6RTAIAoBxp3ry5brrpJquyhIQEHThwQDt37pRhGDIMQzNnztTZs2e1dOlSh9uuUqWKxowZ41DdG2+80Wb5Bx98oIkTJ5rr3t7e6t69u8LCwpSQkKCtW7fqxIkTSktL03PPPafLly9r+vTpdo91/vx5pyWSTpw4oZ49e+rYsWNmWcOGDdW2bVtVr15dycnJOnTokPbu3auUlJRC20tPT9fgwYO1du1as+zaa69Vu3btlJycrI0bN+rcuXNKT0/Xs88+q/T0dE2ZMsUpz60ggYGBeuihh+zW2bFjh3bu3ClJql27tgYNGmS3fosWLWyWO7Jvbo4meoojLS1NCxcuLPS5S1JWVpa+/PJLp8WSY926dRoyZIhiY2PNMovFouuuu06NGzdW9erVFR8fr7Nnz2rXrl1KTEyUJP3yyy/q3Lmztm3bRkIJAAAAAFAukEwCAKAc6dSpU4E9Y/744w+NHDlSERERkqRvvvlGS5cu1ZAhQxxqOzg4uNBeN/bs3btX//jHP8z1vn376tNPP1Xt2rXNsqysLH344Yf65z//qfT0dL322mvq2rWrBg4cWGj7TZo0UYcOHczHk08+qV9//bXY8V6+fFm9evUyE0lt27bVe++9p65du+arm5CQoJUrVxb6688XX3zRTCT5+Pho7ty5GjlypLk9LS1Nzz//vF5//XVJ0tSpU9WjRw/16NGj2M+jqBx5n6dNm2Ymk5o2bVrs86Ik+5aWJk2a6Pjx40pPT9eCBQscSib9/PPPOn36tCTpmmuu0R9//FHqcX333XcaMmSI0tPTJUn+/v567LHH9NBDD6lmzZr56qempurnn3/Wq6++qs2bN0uSkpOTSz0uAABQ+dCDCQBQFpgzCQCACuKaa67RDz/8IH9/f7Psww8/LLPjT5061bwx3rp1a3377bdWiSRJcnNz08SJEzVjxgyz7Omnn7Y5vFeO5557TpcuXdKhQ4f05Zdf6tFHH1W3bt3k5eVVongff/xxc/6Z7t27a9OmTTYTSZIUEBCgESNGWCWG8rpw4YLeeustc33GjBn56nt5eem1117TiBEjzDKGunOu6tWr69Zbb5WU3ePq4MGDhe6Te4g7R3vrFcXRo0c1ZswY8/MSFham3377Tf/5z39sJpKk7F5+/fv316ZNm7Rs2TIFBQWVelwAAAAAABQXySQAACqQOnXqaNiwYeb65s2by+SXiAkJCfrhhx/M9WnTptlN9kyYMEENGjSQJEVGRmrNmjUF1m3atGmp3zjfu3evPvnkE0nZw/t98cUX8vPzK1Gb8+fPN4chCw8P1wMPPFBg3ddee01ubtlfs3799Vft2bOnRMeGfWPHjjWXFyxYYLdufHy8li9fLik7Kdq6detSj+eBBx4w5xQLCAjQL7/8ombNmjm8/x133KFdu3apXr16pR4bAAAAAADFQTIJAIAisFgs5iPHwYMHNXnyZLVo0UIBAQEKDAxU69at9cwzzyg6OrrUY2jTpo25nJycbDUfi7P89ttvZi8Ld3d39enTx259Nzc39e3b11wvytxOpeGDDz4wl++9917VrVu3xG3mJCCk7Am9c58DedWvX99q7qtly5aV+PgoWP/+/c35mD7//HO7CdYlS5YoKSlJknN6Je3atctqTq1XXnlFjRo1KnI7jRo1UuPGjR2qWxrXoAsXLmju3LkaO3as2rRpo+DgYHl6eqpatWpq3ry57rnnHq1evdqhtqZNm2ZeJ6dNmyYp+1o1Z84c9enTR/Xr15eXl5csFov27t2bb//jx4/r8ccf1zXXXKOAgAAFBQXpuuuu03PPPacTJ05IktavX28eo2fPng7FdeDAAT377LPq2LGjatasKS8vL9WoUUOdOnXSlClTdObMGYfacURUVJQZX05iXcqeR+vOO+9U48aN5evrq5CQEHXr1k3vvvuuQ/O25ZaYmKjZs2fr9ttvV1hYmPz8/FSlShU1bdpU9957r3755ZdC25g3b54Z57hx4yRJmZmZWrhwoQYOHKhGjRrJ19dXFovF6hpYFLb+bv7222+6//77FR4eLn9/fwUGBurGG2/UggULbH5+165dqyFDhqhx48by8fHR3/72Nw0aNEibNm0qUiyGYWjZsmUaO3aswsPDVbVqVfn4+KhevXq64447NH/+fLs9aXOLjIzUk08+qc6dOyskJEReXl6qWrWqmjRpos6dO2vSpElavny5rly5UmAbCQkJ+uCDD9S/f3/Vr19ffn5+8vHxUd26dXX99ddr0KBBmjVrlg4fPlxgG1lZWdq0aZOmTJlifr5y2qldu7Z69+6tV155pcjfR9LT0/XBBx+oZ8+eCg0Nla+vrxo1aqQRI0bop59+Mus1aNDAfH+joqIKbbc0zltH5MSVuyfqPffcY3U+5r1O2XLixAlNmTJFnTt3Nq8bNWvWVOfOnTV16lSdPHmyVOLNLTk5WcuXL9c//vEPdevWzTxuQECAGjRooMGDB+vTTz9VWlpagW3kfLYbNmxolh0/ftzm88/5bBZnn4KUxvW2Z8+e5rHWr18vSbp06ZKmT5+uDh06KCQkxDwvx48fr/379xerTXts/T2zJT09XatXr9aTTz6pXr16qXbt2vLx8ZGvr6/q1q2rW2+9Ve+8844SEhIKbCP337XcCnr9837eHH1vcvzvf//TE088oTZt2igkJETe3t6qXbu2evbsqenTpysmJqbQNmz9DZGyv/fefvvtql+/vry9vRUaGqo+ffoU+h0NAFABGAAAwGGSzIdhGMbs2bMNb29vq/Lcj+rVqxs7d+602+bYsWPN+mPHji00ho8++sjqGKdPny6w7ty5c816YWFhRXmqVhYtWmS2U7NmTYf2eeWVV0p07B49epj7T5061eH9MjIyjMDAQHPfHTt2FPnYeSUnJxtubm5mm1u3bi10n5dfftmsf8MNN5Q4hqKeJ/ZMnTrVbKtHjx5ltm9pyX1ed+rUyTAMw5g0aZJZ9ssvvxS4b8+ePQ1Jhru7u3H27Fnjhx9+KJXPSI57773XbK9q1apGYmJiidvMzRnXoHfeecdwd3cvsI3cj969exvR0dF228t9jkydOtX4448/jJYtW9psb8+ePVb7LliwwPD39y/w+IGBgcby5cuNdevWOXwepqSkGBMmTCj0Ofr6+hrvvfdeoe+BI44dO2Z1XqWlpRkTJkywe/zw8HDjf//7n0PtL1682Pjb3/5W6Pt12223GXFxcQW2k/uzNHbsWOP06dPGjTfeaLOtZcuWFeu1yHvOvvzyy3bfizFjxhhZWVmGYRhGQkKCcfvttxdY12KxGG+99ZZDcezbt8+4/vrrC33NmjVrVuj7MHXqVMPDw8Ohz8xdd91ls42tW7caderUcagNSUZ6enq+NtLS0hxuw9/f3/jss88ceq2ioqKM6667zm57999/v5GWlmaEhYWZZceOHbPbbmmdt47IHVdhj4K+Y7z88suGj4+P3X19fHyM//73vyWKNbdt27YZAQEBDsXdoEEDY/fu3Tbbyf3ZduRR3H3yKs3rbe7vgevWrTM2b95s93x3d3c3PvrooyK1WZi8f89sOXHihFG9enWHXrOQkBBjzZo1NtvJ/XfNkUfez1th702O9PR045FHHin0PapWrZoxb948u23l/RsSFxdnDBgwwG67t9xyi5GUlGS3XQBA+eUhAABQLPPmzdPEiRMlSc2aNVP79u3l6+uryMhIbdmyRYZhKCYmRrfffrsOHDigatWqlcpxc/+a093d3eyR4UxGrl8ROvqLx9xOnDihhIQEBQQElGZYNu3fv9/8Jbi/v7/atGmj1NRUzZs3T19++aUOHDigK1euKCQkRNdff70GDhyosWPH2h227+DBg8rKypKU/fxz9w4rSNu2bc3lAwcOlPBZoTBjxozRrFmzJGUPdderV698dY4fP64NGzZIkvr06aO//e1vpR5H7l/VDxw4sMTDK9pTWtegM2fOKDMzU1J2j6gWLVqoRo0a8vHxUVxcnCIiIvS///3PfH4333yztm3bJm9v70JjjImJ0S233KITJ07Ix8dHN954o8LCwhQfH69t27ZZ1f366681btw487Pm4eGh7t27q1GjRrpy5Yo2bNig8+fPa/jw4XrllVcceo0SExPVt29fbdmyxSxr2LCh2rdvr6CgIMXGxmrr1q06ffq0kpOT9cgjj+jKlSt69tlnHWrfUU899ZTZY/Laa69VmzZtZLFYtHv3bvPX9H/++ad69+6trVu32u3N9vbbb+tf//qXeV2uUqWKunTponr16ikzM1N//PGHdu7cKcMw9P3336tHjx7aunVroediamqqBgwYoN9++00eHh7q2rWrmjRpopSUFO3evbtUXofZs2frueeekyS1a9dOrVq1kmEY2rRpkznH3YIFC9SsWTM9/fTTGjJkiFavXi0vLy9169bNPBfWrl2rmJgYGYahxx57TB06dFC3bt0KPO7GjRt1++23m38bPDw81L59ezVr1kyenp6KiorS5s2blZKSooMHD6pr16769ddf1aJFi3xtzZgxQy+88IK5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rrvu0qBBg9StWzeH/86NGDFCa9eulSQ999xzWrNmje666y79/e9/V4MGDRxqI0dGRobee+89vfXWWzp16pRD+9j67GZlZen333831zt27FhoO+3atTPP2YI4+7wtbXv27DGXb7jhBof2ueGGG8xk0u7du0scw6VLlzRlyhQtWLAg348UCuLI9dhZyuJ666rv3I5KTk7WK6+8og8++MDh96Ks37Pints5yaTCzu3y/h4BAEoHySQAAIqpatWqhdbx9PQ0lwv6hXBuzZs310033WSup6Sk6OTJk/r111/NGwr//ve/dfDgQc2fP9/pN/7yev311xUUFKRp06YpPT1dKSkpWrNmTb56N998s7744guzV4gkVatWrUxizPvL80GDBhW6z6BBg8xk0tatW+226WgPo7z1nN1LpaIq7OZu06ZN9c9//tPh9oYOHaqHHnpISUlJWrBggZ544gl99913ZlJz9OjRVr09SlNwcLDVelxcnFOOk6O0rkGrV6/WwIED8yVAC+PITc4aNWoUWif3DbW6des6dOw6derY3X7mzBlzOSEhQTNnznSo3dxiY2OLvI8tQUFBDn3+AwMDVbVqVfO8uXjxolUyKfdzWr58eZHjKOz5OPJelVRh52zu5JEj53fu+rbO79yv2c6dO61uXjsqNjbWTCZJ0qeffqpevXrp7NmzSkpK0scff6yPP/5Y7u7uatWqlbp3765+/frp5ptvLjAZNn78eK1Zs8b8u7Nhwwaz52/t2rV14403qnfv3ho0aJDd9yU1NVUDBgyw+XfYHluf3bw9mRz5LAYEBFids7Y4+7wtbTm9JKXsH+E4IncCsKQJguPHj6t79+7mD3Mc5WjSyRnK4nrrjO/cpSU2Nla9e/cuck+jsn7PnH1ul+f3CABQesr2DhQAAJWIM25Id+rUSe+//775+OSTT7R69WqdPHlSjz76qFnv888/1+uvv17qx3fEs88+q8OHD+uZZ55Rx44dVb16dXl6eqp27drq37+/Fi9erDVr1igpKcmqh4OjN4lLKvevHiXpmmuuKXSf3HXi4+Pz/QM/d5vnz593KI5z585ZredNNCDbzJkz7T6WLVtWpPYCAgI0ePBgSdL+/fu1Z88eLViwwNzurCHuJOXrUfDHH3847VhS6VyDLl68qBEjRpiJpIYNG2r69OnasmWLzpw5o6SkJGVlZcnI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77yj5s2bWw3XKmXf4M8Zgq6g1zMlJUUzZszQ0qVLzbK872f9+vX1wAMPaP369eYPD/Latm2bHn744QLbaNOmjTk33OXLlzVs2DCrIbek7HN6ypQpevrppx367F577bVWw4GOHj1aS5YsyVdvy5YtuvXWW5WZmVnoj0Vcfd7mHrpv+fLlNr+/5Obm5qZXX33VXP/qq690//335xt+Mz4+XuPHj7f6bjF9+nSrnipF1b9/f7NH4oYNG/T444+b36dynDt3TkOGDNHKlSsdek+9vb0VHh4uKfsa6khv7eLsU16ut4W5/fbbzYTK8ePHdd999+V7jS9duqQxY8Zo8eLFhf6t6d27t/z8/CRlz202bty4fD92uHLlih544AF98MEHDv8NzX3e5v2uWVyBgYF6/vnnzfVXX31V//73v/N9Js6fP69BgwaZP4Dw8PDguywAwOTh6gAAAEDReXp66plnnjHnZ1m0aJGmTZtm/uPfWX7++WfNnDlTgYGBateuncLCwuTu7q6zZ89q8+bNunLlilm3b9++VkmVgpw5c8bmjdPDhw+byx988EG+Ya1q166tVatWFdju9OnTtXv3bm3atElJSUkaPny4WrRooQ4dOsjd3V2///67fvvtN7N+rVq1tHjxYrtzBfz73//Wli1b9Msvvyg5OVkjRozQSy+9pLZt2yolJUUbN27U2bNnzfovvPCC1UTspeXbb7+1mmemMBMmTNCECRNKPY5Dhw5Z3ex0xDPPPGPeAK3M7rjjDv3www8aNmyY4uLilJCQoBdeeEH/+c9/1Lp1azVu3FjVq1dXfHy8zp49q507d1r9At/Nzc1piZvcxo0bp7feekt//vmnUlNTNXr0aL3yyitq3bq1fHx8tH//fu3atUuS1Lp1a/Xt21evvfZaqcdRq1YtffDBBxo1apQ5x1B4eLi6d++uRo0a6cqVK9qwYYPOnz8vT09PvfTSS3riiSckye7N2w8//FBnz57VmjVrZBiG3njjDb377rvq0KGDGjduLF9fX12+fFlHjhxRRESEOexPu3btSu251a5dW4MHD9bbb7+tW265Rdddd505d8Xu3but5uQIDQ3Vp59+WuB16Oabb9bs2bM1ceJEZWZmatu2berYsaOaNm2qNm3aKCgoSMnJyTp37pz27t3LUHjKPrdWrFihW2+9VdHR0Tp79qyGDRum0NBQderUSTVr1lRWVpZiYmK0f/9+HT161O48QEePHtWTTz6pJ598UvXr19d1112n0NBQGYahc+fOadu2bVbJ4Lvuuktdu3a1aiM5OVkff/yxPv74Y1WpUkXXX3+96tevL39/f0VHRysyMtJqLr8aNWpYzZcoZZ/3L774ou69915J2Uma8PBwde3aVWFhYYqJidH69evNWD766KN8c8nZ8t5772nHjh2KiopSYmKihg0bpmbNmqljx47y8PBQRESEeU147LHHtHTpUh0/ftyMyRZXnrf9+vWTn5+fkpKStG/fPrVo0UI9e/ZUtWrVzM9Znz591KdPH3Of4cOHa+PGjZo5c6Yk6ZNPPtGiRYvUq1cv1axZUxcuXNAvv/yi+Ph4c5/JkydryJAhJYq1efPmGj16tDkU2ptvvqkvv/xSHTp0UGhoqKKiorRx40alpaWpSpUqev311x362z5kyBDzR0d333235s+fryZNmpg9uCXpjTfeKPE+5eF6Wxg/Pz/9+9//1pNPPikpu9fomjVr1KtXLwUGBurkyZPauHGjkpKSdO2116pv37568803C2wvKChIjz/+uDm/2RdffKEffvhBnTp1Up06dXT27FmtX79eiYmJcnd316xZs/INw2vLkCFDzOETn376af34449q2bKlVXLrueeeU1BQUJGe/+OPP67Nmzeb87i99NJLmj17tnr16qWgoCCdPHlS69ats+qx9frrr1vNfQYAuMoZAADAYZLMhyN69Ohh1l+3bp3NOmPHjjXrjB071uFYUlNTjbp169rdd+7cueb2sLAwh9suSLNmzaxeA1sPb29vY8qUKUZKSopDbR47dqzQNm09HHk+cXFxxqhRowptq1OnTsaJEyccijcuLs4YPny43fY8PT2Nl19+2aH2HJX7PCnqY+rUqVZtTZ061dzWo0ePIsWRe9/iPPbs2VPi1yL3ed2pU6cStfXDDz+U6mckr6ioKOOee+4x3N3dHXp93NzcjP79+xt79+612Z4zrkEHDx40GjVqZDeuG264wTh16pTV+5/3vMrhSJ2CzJs3z/Dz8yswjsDAQGP58uXGmjVrzLIBAwbYbTMjI8P497//bbfdvJ/fhx56qEhx55X7uhYWFmakpaUZ999/v93jNmnSxIiIiHCo/V9++cVo2rSpw5+7li1bGqdPn87XTu7PUlH+/hRFUc7ZdevWFenaVJRzLSoqyrjpppscfs1q1qxp/Pjjj1ZtfP3114bFYnH4szxp0iQjLS0tXywBAQEOx9G6dWvjwIEDBT6vZ5991u7+Pj4+xuzZsw3DcPy9OHr0qHHttdfabfe+++4z0tLSjNq1a5tlly5dsttuaZ23RfXRRx8Zbm5uBR6noHPnxRdfNLy9vQt9fV955ZUSx5gjMTHR6NOnj91j1q1b19i8ebPDn5fLly8b11xzjd02S2Mfwyjd660jf79yc/R6kJmZadx333124+rcubNx8uRJh9rMyMgwxowZY7e9atWqGcuWLcv3t6Eg6enpRq9evey2eezYMat9HP18p6enGw8//HCh30uqVq1qzJ07125bRf0b4ujzBwCUX/RMAgCggvLy8tLTTz9t9gz54osvNHXqVKvJhUvbkiVLtGbNGq1bt06HDh3ShQsXlJiYqNDQUDVs2FC33XabRo4caQ7B52pVq1bVl19+qQkTJmjBggXavHmzTp8+rczMTNWsWVOdO3fW8OHDdccdd9jtkZS3zUWLFun+++/X/Pnz9euvv+rs2bPy9PRUvXr11LdvX40fP14tWrRw8rNDRRAWFqZPP/1UU6dO1ffff6+ffvpJkZGRio6O1uXLlxUQEKCQkBC1bt1aXbt21fDhw1W3bt0yjTE8PFx79uzRzJkz9c033+jgwYNKS0vT3/72N7Vq1Up33nmnhg0bZg7b50xjx45Vjx499O6772rVqlU6efKk+dm6/fbbNWHCBNWvX99q+LGc4fEK4u7urv/85z965JFHtGDBAv3888/6448/FB0drfT0dAUGBiosLEytWrVSr169dOutt+abn6akPD099dFHH2nYsGGaM2eOduzYobNnz8rPz0/NmzfXsGHDNGHCBKtJ1+3p1auXIiMjtWzZMq1cuVLbtm3TuXPndOXKFfn5+almzZpq3ry5unbtqn79+hWpJ2NlFRYWpp9//lm//vqrvv76a23cuFEnT55UbGysPDw8VL16dTVt2lTt27dXnz591LNnz3zn/NChQ82eF1u2bNG+fft09OhRc1irqlWrKjw8XN26ddOYMWN0zTXX2IwlJiZGGzdu1IYNG7Rz504dOnRI58+fV0pKivz8/FS3bl21a9dOQ4YM0YABA+z2vnv55ZfVr18/vf/++9q8ebMuXryoKlWqqG7durrllls0fvx4NW3a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fQZoNIVCoc7X9ZmmZ5s7WoXTTz89ybYliv/93/9dctysWbOK1yNGjGjyuoADw1FHHVX8mzC1+0xdHnvssSTJ4YcfnoqKiqYuDdiPrFu3LmeffXb+/Oc/J0m+/vWv59Of/nS9ntVngMawfPny4nXtLV30GKCp6TNAY9n+81SSYl9J9Jl9QZhEq3DBBRcUr++88846x2zdujU//OEPk2w7zO3MM8/cF6UBB4CysrKcf/75Sbb97Zbf//73dY77/e9/X/zbL+eff37Kysr2WY1A89qwYUPOPffcPPPMM0mSL3zhC7nmmmvq/bw+AzSGn//858Xr448/vnitxwC7Mn369BQKhV1+XHfddcXxjzzySPH17b+k1WeAxrB48eI8/PDDSbadn3T44YcX7+kzTU+YRKtwyimn5O///u+TJN///vfz1FNP7TTmW9/6VhYsWJAkmTBhQtq3b79PawRat89+9rPFLTavvPLKVFdX73C/uro6V155ZZKkXbt2+exnP7uvSwSayaZNm3LhhRfmySefTLLt+5AbbrihwfPoM0Ap06dPz8aNG3c55uabb84DDzyQJKmoqCju7rCdHgM0NX0G2JV77703NTU1Je+vXLky73//+7N58+YkqXOXB32maTkziVbj1ltvzYgRI1JdXZ2zzjor//Zv/5Yzzzwz1dXV+elPf5qpU6cmSQYPHpyJEyc2c7XA/uSJJ57IwoULi59XVVUVrxcuXJjp06fvMP7SSy/daY7Bgwfn6quvzte//vU8/fTTGTFiRK655ppUVlZm0aJF+cY3vpF58+YlST73uc9l0KBBTfK1APufD37wg/nNb36TJBk1alTGjRu3wyHVb9ehQ4cMHjx4p9f1GaCUSZMmZeLEibn44otz+umnp7KyMl27ds0bb7yR+fPn50c/+lEx0O7QoUO++93v7nTOrB4DNDV9BtiVK6+8Mps3b87FF1+c0047LRUVFenUqVOqqqry6KOP5vbbb8/q1auTbDvypK4wSZ9pWmWFUidWQQt077335iMf+Uhef/31Ou8PHjw4999/fwYOHLiPKwP2Z5deeml+8IMf1Ht8qf91bt26NZdddlmmTZtW8tlx48Zl6tSpadPG4mA4UDR024QjjzwyS5curfOePgPUpaKiIi+++OJux/Xr1y/Tpk3LmDFj6ryvxwB7atKkSbn++uuTbNvmbuTIkXWO02eAUur7/czFF1+c733ve+nevXud9/WZpiNMotV58cUXc+utt+b+++/PsmXL0qFDhwwcODAf+MAHcsUVV6Rz587NXSKwn2msMGm7Bx54IFOnTs3cuXNTVVWV8vLyDBs2LJ/85Cdzzjnn7G25QAvTmGHSdvoMUNuiRYvy29/+No888kgWLFiQlStXZvXq1enYsWP69OmTE088Meedd17Gjh1br5+H9BigoeobJm2nzwBvN2vWrMyaNStPPfVUFi9enKqqqrz++uvp2rVr+vfvn+HDh+eSSy7JaaedVq/59JnGJ0wCAAAAAACgJOu4AAAAAAAAKEmYBAAAAAAAQEnCJAAAAAAAAEoSJgEAAAAAAFCSMAkAAAAAAICShEkAAAAAAACUJEwCAAAAAACgJGESAAAAAAAAJQmTAAAAAAAAKEmYBAAAAAAAQEnCJAAAAAAAAEoSJgEAAAAAAFCSMAkAAAAAAICShEkAAAAAAACUJEwCAAAAAACgJGESAAAAAAAAJQmTAAAAWqnp06enrKxsp4/p06fv8ZyPPvpocZ5HH3200WqtS1PUDwAANJwwCQAAOCDUDkEmTZq0y7ErV67McccdVxw/fvz4FAqFvXr/SZMmNTiEGTlyZPGZlqL21/n2j7Zt26Z79+45+eSTM3HixLzwwgvNXS4AAFAP7Zq7AAAAgP3JK6+8klGjRuW5555LkkyYMCG33HJL8xbVCH7961+nb9++SZJ+/fo1Sw1bt27NunXr8swzz+SZZ57Jbbfdlm9/+9v55Cc/Wef4Cy64IEOHDk2SrFixImefffa+LBcAAHiLMAkAAOAty5Yty6hRo4orZq6++urceOONzVxV4xg8eHAqKir26XtOmzYtw4YNK36+ZcuWvPLKK3nwwQczZcqUbNq0KePHj8+gQYMyatSonZ7v3r17unfvniTp2rXrviobAAB4G2ESAABAkhdffDFnnnlmlixZkiT5whe+kBtuuKGZq2rZjjrqqBx33HE7vHbCCSfkPe95T0488cR84hOfSKFQyI033lhnmAQAAOwfnJkEAAAc8BYtWpR3vetdxSBp0qRJgqQm9vGPfzzl5eVJkv/6r/9q5moAAIBdESYBAAAHtL/85S8544wz8tJLLyVJvva1r+W6665r5qqaT3V1db7yla/khBNOSJcuXdKrV6+MGDEi3/3ud7N169ZGfa/t2+5t3LixUecFAAAal23uAACAA9aCBQsyatSovPrqq0mSm266KVdddVUzV9V8VqxYkdGjR+e5554rvrZhw4bMnj07s2fPzowZMxr138/SpUuTJEcccUSjzQkAADQ+YRIAAHBAmj9/ft797nfntddeS1lZWb797W/niiuuaO6ymk1NTU3OO++8YpB01llnZfz48enfv39eeumlTJ48OQ899FBWr17dKO/3gx/8IFVVVUmS973vfY0yJwAA0DSESQAAwAHn2WefzW233ZbVq1enrKwsd9xxRy677LLmLqtZTZkyJfPmzUuSXH755bnjjjuK904++eRceOGFGTduXKZNm1bvOZcsWVI8FylJtmzZkpUrV+bBBx/M5MmTkyRDhgzJ5z73uUb6KgAAgKYgTAIAAA4499xzT/F68uTJB3yQlGwLk5KkT58+ufnmm+scc+utt+bee+/NqlWr6jXnJz7xiZL3unXrli996Uv59Kc/nR49ejS8YAAAYJ9p09wFAAAA7GtlZWXF61/96lfZtGlTM1bT/FasWJEFCxYkScaOHZvOnTvXOa5r164ZO3Zso7znunXrcuedd+buu+9ulPkAAICmI0wCAAAOOOPHj8+xxx6bJHnwwQfzwQ9+MDU1Nc1cVfOZP39+8XrYsGG7HHvKKafUe95HHnkkhUKh+LF169asXbs2s2bNyoUXXpjFixfn8ssvz+c///k9rh0AAGh6wiQAAOCA07t37/z2t7/NwIEDkyQzZszIJZdckq1btzbZe9ZeDVVfhUKhCSrZ2Zo1a4rXhx566C7H9unTZ4/fp6ysLN26dcu73vWuzJgxIx/60IeSJDfeeGN+97vf7fG8AABA0xImAQAAB6TDDjssv/vd73LkkUcmSX784x/nsssua7IAp1OnTsXrDRs21OuZ9evXJ0m6dOnSJDVtV/tr3l3o1Zj/fj73uc8Vr7///e832rwAAEDjEiYBAAAHrP79+2fmzJnp27dvkmTatGn5zGc+0yTv1bNnz+L1q6++Wq9nto+r/WxTqD3/ypUrdzn2tddea7T3HTJkSPG69lZ7AADA/kWYBAAAHNAqKyszc+bM4vZut912W5Oc4fOOd7yjeP3MM8/sdvzKlSuzfPnynZ5tCscff3zxeu7cubscu7v7DVH7nKrNmzc32rwAAEDjEiYBAAAHvCFDhuThhx8urtC58cYbM2nSpEZ9j5NOOqk4/4wZM7Jx48Zdjv/Rj35UvB49enSj1vJ2ffv2zTHHHJMk+fnPf57q6uo6x61fvz533XVXo71v7WCqf//+jTYvAADQuIRJAAAA2bb659e//nUOOeSQJMn111+fb37zm402f/v27XP55ZcnSV555ZV89rOfLXn+0Pz58/PlL385SdK1a9dceumljVZHKePHj0+ybWu9iRMn1jnmqquuarRt7v72t7/l2muvLX7+D//wD40yLwAA0PjaNXcBAAAA+4uhQ4fmgQceyNlnn53169fnmmuuSefOnXPFFVc0yvxf/OIX88tf/jILFizIHXfckXnz5mXcuHE5/vjj07Fjx7zyyit5+OGHM3Xq1GzYsCFJMnny5PTo0aNR3n9Xxo8fnzvvvDPz5s3LlClTsmTJknzqU59K//798/LLL2fy5Mn5zW9+k2HDhtV7q7slS5akvLx8h9def/31/OEPf8jkyZPzpz/9KUkycODAfPKTn2z0rwkAAGgcwiQAAIBaRowYkV/96lc599xzs3HjxnzmM59Jp06dMm7cuL2eu0uXLpk5c2be//73Z/bs2ZkzZ07mzJlT59iOHTvmtttuy0c/+tG9ft/6aNeuXe67776MGjUqzz//fB566KE89NBDO4w566yzMnHixJx99tn1mvMTn/jEbseccMIJueeee9KpU6c9qhsAAGh6trkDAAB4m1GjRmXGjBnp0KFDCoVCLr/88h3OMNobhx12WJ544on86le/ykc+8pFUVlama9euad++fXr37p3TTz89kyZNypIlSxolwGqIvn37Zt68ebnhhhty3HHHpVOnTunevXtOPfXUTJ48OQ8++GA6dOiwV+/RuXPnVFRU5KKLLsqPf/zjPP3006moqGicLwAAAGgSZYVSm3QDAADQok2fPj0f//jHk2zbcq4lhzZLly7NUUcdlSS5884798k5UgAAwDa2uQMAADgA/OUvf8mbb76ZJOnXr1+6d+/evAXVw9q1a7Ns2bIkyYoVK5q5GgAAOHAJkwAAAA4Atc85aikre+65557iyioAAKD5ODMJAAAAAACAkpyZBAAAUA9//OMf9+i5lrKlHAAAQCnCJAAAgHooKyvbo+daypZyAAAApdjmDgAAAAAAgJLaNXcBAAAALYFNHQAAgAOVlUkAAAAAAACUJEwCAAAAAACgJGESAAAAAAAAJQmTAAAAAAAAKEmYBAAAAAAAQEnCJAAAAAAAAEoSJgEAAAAAAFCSMAkAAAAAAICShEkAAAAAAACUJEwCAAAAAACgJGESAAAAAAAAJQmTAAAAAAAAKEmYBAAAAAAAQEnCJAAAAAAAAEoSJgEAAAAAAFCSMAkAAAAAAICShEkAAAAAAACUJEwCAAAAAACgJGESAAAAAAAAJf1/bMoDikDWkskAAAAASUVORK5CYII=", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABqUAAARGCAYAAACxAbqmAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdd1gU1/s28HsXpIOIqFR7wUJUFLtgjcaW2KOxE1vUn6SgJkawJMaSxN4bxl6iJjEaTaKAHRU1do0BC2ABpPfdef/gZb67sOwusMtS7s917eWUM2ee2Z2ZxXn2nCMRBEEAERERERERERERERERkR5JDR0AERERERERERERERERlX9MShEREREREREREREREZHeMSlFREREREREREREREREesekFBEREREREREREREREekdk1JERERERERERERERESkd0xKERERERERERERERERkd4xKUVERERERERERERERER6x6QUERERERERERERERER6R2TUkRERERERERERERERKR3TEoRERERERERERERERGR3jEpRURERERERERERERERHrHpBQRERERERERERERERHpHZNSREREREREREREREREpHdMShEREREREREREREREZHeMSlFREREREREREREREREesekFBEREREREREREREREekdk1JERERERERERERERESkd0xKERERERERERERERERkd4xKUVERERERERERERERER6x6QUEREREVE5V7t2bUgkEkgkEkRERBg6HCIiIioF+PcBEREZApNSREREBtalSxfxP4OqXtbW1qhZsybee+89LF68GJGRkVrXPX/+fLV1F/RauXKl2npfvnyJhQsXolOnTqhRowZMTU3h4OCAdu3aFTpGAEhISMCZM2ewbNkyDB06VOk/yBKJBIGBgYWqT5WQkBDMmDEDzZs3R/Xq1WFmZgZXV1e0adMGn3zyCQ4dOoS3b99qVZcgCDh69CiGDBmCevXqwdzcHNWqVUPr1q2xYMECPHv2rNjx5pX3PKlZsyYyMjK02nbOnDniduPGjSuwXN73Pe9LKpWicuXKaNiwIYYNG4Y9e/YgPT1dR0eoTHG/QUFBetkHAERERBTpGlH30sX5muv169cIDAzEyJEj4e7uDgcHB5iYmKBy5cqoU6cO+vbtiwULFuD27ds62ycRERERERGRvjApRUREVMolJyfj+fPn+OOPPzB37lzUqVMHCxcuhCAIBoln9erVqFu3LgICAnDhwgW8fv0amZmZePXqFa5cuYK5c+eicePG2L59u1b1jRgxAlWqVEH37t0xe/ZsHD58GE+fPtVZvP/99x969+4Nb29vrF27Fv/88w/evHmDjIwMvHjxAlevXsWGDRswbNgwbNu2TWN9UVFR6NGjBwYNGoSff/4Z//33H9LT0xETE4Pr169j/vz5aNq0qU4TE6o8f/4cmzZt0us+8hIEAYmJiXj8+DEOHTqEUaNGoUmTJjh//nyJxlERxMbGws/PD7Vr18b48eOxb98+3LlzB69evUJWVhYSExMRERGBEydOYP78+XjnnXfQunVrnDp1ytChExGVeYo/6pk/f76hwzEIxR9b6HMb0h22eiIiorLC2NABEBER0f94enqiTZs2SssSEhJw69YtsSVEVlYWAgICEB8fjx9//FHrup2cnDBw4ECtyrZo0ULl8jlz5mDp0qXivLW1Nby8vODk5IS3b98iJCQEr1+/RlJSEnx8fJCRkYGpU6eq3Vd0dLTeEmy3bt1C9+7dERsbKy5r0qQJmjZtCjs7OyQlJeHhw4e4desWsrOzNdaXmJiIXr164c6dO+KyNm3aoGnTpmJrr/j4eCQnJ2P8+PGQSqUYM2aMXo4NAL777jt8/PHHsLCw0Hnd3bt3h5ubm9IymUyG2NhYXL9+Hf/99x8AIDw8HL169UJQUBA8PT11Hoe+2djYYNq0aWrLhIaG4urVqwC0u44aN25crJj++ecf9O/fP1+Lu0aNGsHNzQ3VqlVDWloaXr58ievXryM+Ph4AcP36dfTu3RsHDhzAsGHDihUDERERERERkT4wKUVERFSK9OnTp8Bf5F68eBEffvghnj9/DgBYsWIFRo4cidatW2tVd4MGDbB27doix3b8+HGlhNTo0aOxevVq2NraissyMzOxePFiLFiwAAAwY8YMtG3bFh4eHmrrlkqlcHNzQ5s2beDp6QlPT08MHjxYPNaiiIiIUEpIde/eHStXrkSzZs3ylY2Li8Mvv/wCJycntXVOnz5dTEjZ2dnh8OHD6Nq1q7g+OTkZkydPxt69ewEAEydORIcOHVC/fv0iH4c6L1++xNq1azFr1iyd1z1q1Ci1Xf2dOHECH330EeLj45GamoqpU6fi2rVrOo9D3+zs7DReF/PnzxeTUsW9jjS5evUqunfvjqSkJABApUqVMGnSJHzxxReoXbt2vvLZ2dk4f/48fvjhBxw/fhwAkJqaqrf4iIiIqPxgiyoiIjIEdt9HRERURnTo0AG//PKLUpcomzdvLrH9z507V5x+77338NNPPyklpADAxMQE8+fPh5+fH4CcljWzZ89WW+/69euRkJCAu3fvYseOHfjkk0/g6ekJqbR4f6ZMmjRJTEgNHz4cp06dUpmQAnISE+PHj0evXr0KrO/OnTvYs2ePOL93716lhBQAWFlZYdeuXejQoQOAnCSdv79/sY5DlbZt24rTS5cuRWJios73oUmfPn2Uzr/r16/j0aNHJR5HefL27VsMHTpUTEhVqVIFQUFBWLt2rcqEFAAYGxujS5cu+O2333Du3Dm4urqWYMREREREREREhcOkFBERURnSsmVLeHt7i/MhISElst+HDx/in3/+EecXL16stvzXX38NKysrAMBff/2Fe/fuFVi2SZMmYlld+eWXX/Dnn38CAGrWrIktW7bAyMioWHVu2LABcrkcANCzZ88CE1hSqRTLli0T5w8ePIg3b94Ua995jR49Go0aNQKQ08prxYoVOq1fWx988AHMzMzE+fv37xskjvLCz89PHE/NyMgIv//+u5jg1EanTp1w/fr1ArvfJCIiIiIiIjI0JqWIiIjKmJYtW4rTUVFRJbLPy5cvi9OOjo4aH3rb2NigY8eO4vzPP/+sr9BU2rBhgzj96aefwtraulj1CYKAX3/9VZwfP3682vIdO3ZEgwYNAOS0Fvvtt9+Ktf+8jIyMlLp5/PHHHxEXF6fTfWijUqVKsLOzE+dTUlJKPIZcycnJWL16NXr16gUXFxeYmZmhSpUqaNasGaZPn44rV64YLDZtREVFYdeuXeL8zJkz0b59+0LXU61aNa2TUi9evMC8efPQvHlz2NrawtLSEm5ubpgxY4aYHNMkISEB+/btw+TJk9G2bVvY29vDxMQENjY2qF+/PkaOHIlDhw6JCV11AgMDxQHac7uOlMlk2L9/P95//33UrVsX5ubmkEgkOHbsWL7tY2JiEBAQgBYtWqBy5cqwtrZG48aN8X//939iwjQiIkLcR0Gtz/J6/vw5Fi1ahM6dO8PJyQmmpqaws7NDy5Yt8cUXX+i8hWBufIqtYq9fv45JkyahUaNGsLKyQpUqVdC6dWt8++23SEhIKFT9WVlZ2LVrF4YNG4a6devC2toalpaWqFOnDkaMGIGjR49qHOcvKChIjLFLly7i8hMnTmDEiBFo0KABrKysIJFIsHLlykLFl6t27driPnK7l3r06BE+/fRTNGnSRIy7devWWL16NbKysvLVERoaKibxLSwsYG9vj169euGXX34pdDx///03pkyZIo5JaGpqCicnJ/Tq1Qtr165FWlqaVvU8f/4cCxYsgJeXF2rUqAFTU1NYW1ujTp06aNOmDcaPH499+/YhJiamwDqysrKwe/duDBo0CHXr1oWVlZUYzzvvvIO+ffvihx9+UBr/UJXr16/ju+++Q79+/cR6TExMUKNGDXTo0AFz587NN7adJoIgYN++fXjvvffg6OgIMzMz1KpVC/369cPhw4fFc6tLly7i5xsUFKSxXl2ct9rIjSu3G2IAWLBggdJ1mfc+pUpMTAyWLFkCb29vODo6wtTUFPb29mjZsiX8/PzU/linqLKysnDq1CnMmjULXbt2hZOTE8zMzGBubg4XFxf06dMHq1atQnJycoF1KF7bilQdf+61WZRtCqKL++24cePEfQUGBgLI+ftk/fr16NSpk3jdubq6YsSIEbhw4UKR6lRH1feZKnK5HOfOnYO/vz/effdd1KxZExYWFjAzM4OTkxO6deuGxYsXq70fKH6vKX5316lTR+X7n/d6U3WvVefZs2fw9/dHu3btUKNGDfGe0a5dOwQEBGjV9XZB3yFnzpzBhx9+iLp168LMzAxVq1aFl5cX1q5dq/IeT0REZZhAREREBuXt7S0AEAAIAQEBGst/9dVXYvlKlSqpLRsQECCW9fb2LnKMS5cuFetp27atVttMmjSpWPuuVauWuP2OHTu03u7Vq1eCVCoVt3316lWh953Xw4cPxfoACFFRURq3mThxolj+o48+KnYMiufJhg0bBLlcLri7u4vLZs+eXeC2s2fPFsuNHTu2wHKFfc8zMzMFU1NTcZu///67CEemmuL7ffbsWbVlf/vtN8HBwUFpG1WvkSNHCikpKYWORVfXkToLFy4U9yGVSoWnT5/qtH7FzzY8PFw4evSoULly5QLfK3Nzc+H48eNq6/z555+VPn91rxYtWgjh4eFq69uxY4fSeRoZGSl07txZZX1Hjx5V2vbUqVOCvb19gfs3MTERNm7cKISHh4vLatWqpTYemUwm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P38eQM64RYsWLSrWsRRFnTp14OPjI86rS8oVVXR0NIYMGaLUUmrGjBlK4y7oW0BAgHgdPHr0CL169cJ///2nVEYul2PNmjVKD1GmTZum9Kvn0qJq1ao4dOiQ0ngwXl5emDlzZoHJluzsbAQHB2PAgAHw9vbWejyX4lJsxfDTTz/hhx9+yNc64t9//8W7776LsLAwpS41dWnChAniZ5mUlISePXuqfHi3ZcsWzJw5U3xwrk69evWUWhguWLAA48aNK/C9lclk+OuvvzBmzBidd1NkYmKCcePGYffu3fnWhYaGomfPnuKv7Bs0aKB03Stas2aNeK38888/aNOmDf76668C9/vvv//i22+/RZ06dZS6YapIPv/8c7FbraSkJHTq1AlbtmwpMLkUGxuLrVu3olWrVvmSLtevX0etWrUQEBCAu3fvqtxeJpNhz549WLNmjbisT58+SmXat2+PESNG4MSJEwXGcf/+fYwZM0ac7969u9J5b29vL7ZelsvlGDp0aL5krVwux7p16zB69GgYGRkptb5QpWrVqko/BvHz88O6devytXq5e/cuevbsifj4eK2uRUOet+7u7uL0qVOnNI4RBABLliwREyznzp3D4MGD87UqyczMxNy5c/HDDz+IyxS/y4qiW7dusLCwAAA8efIE48aNQ3x8vFKZxMRETJo0CRs3btT6fqz4Hhw8eFAv25Sm+606bdq0Qb169QDk/L07YsSIfInP1NRUzJo1C8uXL9d4frds2VJsWZ6QkIChQ4cqdekH5CSA/P39MWfOHL1+ZppIpVIsWbJEnN+3bx8mTpwojomVKykpCT4+Pjh06JC4bOnSpSXWrTMREZUt6juQJiIiolKpatWqmDZtGpYuXQogZ2wpPz+/fN026dqhQ4ewe/duVK1aFa1bt4azszMEQcDz589x/vx5pKeni2XHjx+v9NClINeuXVP5637F/5z7+/srtQYAgNatW4stslTZvn07OnbsiAcPHuDNmzfo2rUrWrVqhXfeeQcymQxXr17F/fv3xfJNmjTR2D3K2rVrERYWhrt37yI2NhZdu3ZFu3bt0KRJEyQkJODMmTNKDyk2b96M+vXra3oL9OLrr79GYGCg0mdSGLt378a1a9fyLU9JScGjR48QGhqq9GvsDh064KuvvipyvEVRt25dbN26FR999BFkMhkuXbqERo0aoXPn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L15U2d1dZmYm1q5di+HDh4vLfHx8YGdnV5JhEpV7n3zyCQIDA5GcnKxy/ZUrV9C5c2eEh4cDABwdHTFq1KiSDJGIiIiISgGOKUVERERERGVWREQE6tSpAwBwcHCAh4cHHB0dIZFIEBUVhUuXLuHt27dieTc3N1y9ehVWVlaGClktjilFZVWXLl0QHBwMMzMztGzZEvXr14eFhQUSEhJw48YNPHz4UCxrbGyM3377Db179zZgxERERERkCExKERERERFRmaWYlNKkW7duOHDgAOzt7fUcVdExKUVlVW5SSpPq1atj586dTEgRERERVVBMShERERERUZkWGhqK3377DZcuXUJkZCRiYmIQHx8Pa2trODo6omPHjhg2bBh69Ohh6FA1YlKKyqqXL1/i6NGjCAoKwqNHj/DmzRvExsZCKpWiatWqaN68OXr37o3x48fDwsLC0OESERERkYEwKUVERERERERERERERER6JzV0AERERERERERERERERFT+MSlFREREREREREREREREesekFBEREREREREREREREekdk1JERERERERERERERESkd0xKERERERERERERERERkd4xKUVERERERERERERERER6Z2zoAMjw0tPTcfv2bQBAtWrVYGzM04KIiIiIiIiIiIiIqKLKzs7GmzdvAADu7u4wMzPTSb3MPhBu376NNm3aGDoMIiIiIiIiIiIiIiIqZUJDQ+Hp6amTuth9HxEREREREREREREREekdW0oRqlWrJk6HhobC0dHRgNGULmlpaQgJCQEAeHl5wdzc3MAREVUcvP6IDIPXHpHh8PojMhxef0SGwWuPyHB4/ZEm0dHRYg9rijmE4mJSipTGkHJ0dISLi4sBoyld0tLSYG9vDwBwcXHhzZmoBPH6IzIMXntEhsPrj8hweP0RGQavPSLD4fVHhaGYQygudt9HREREREREREREREREesekFBEREREREREREREREekdk1JERERERERERERERESkd0xKERERERERERERERERkd4xKUVERERERERERERERER6x6QUERERERERERERERER6R2TUkRERERERERERERERKR3TEoRERERERERERERERGR3jEpRURERERERERERERERHrHpBQRERERERERERERERHpnbGhA6DyQy6XIzk5GYmJicjMzIRMJjN0SMUml8tRtWpVAMCzZ88glTKPS1RS1F1/RkZGMDExgY2NDaysrHhtEhERERERERERlQFMSpFOJCUlITIyEoIgGDoUnRIEAebm5gAAmUwGuVxu4IiIKg511192djYyMjKQlJQEiUQCZ2dnWFtbGypUIiIiIiIiIiIi0gKTUlRsqhJSEokERkZGBoxKdyQSCQDA2JiXC1FJK+j6k8lk4j1HEARERkYyMUVERERERERERFTK8Sk7FYtcLldKSFlZWcHOzg4WFhbiw+SyTC6XIzExEQBgY2PDLsKISpC6608QBKSmpiIuLg7JycliYqphw4a8TomIiIiIiIiIiEopPrmjYsl9GAzkJKRcXFxgaWlZLhJSRFR6SSQSWFpawsXFBVZWVgByElXJyckGjoyIiIiIiIiIiIgKwqQUFUtuKwYAsLOzYzKKiEqURCKBnZ2dOK94TyIiIiIiIiIiIqLShUkpKpbMzEwAOQ+GLSwsDBwNEVVEit2F5t6TiIiIiIiIiIiIqPRhUoqKRSaTAQCMjIzYSoqIDEIikcDIyAjA/+5JREREREREREREVPowKUVERERERERERERERER6x6QUERERERERERERERER6R2TUkRERERERERERERERKR3TEoRERERERERERERERGR3jEpRURERERERERERERERHrHpBQRERERERERERERERHpHZNSRGVIUFAQJBKJ+Prwww81bjNu3DixvCrz589XqlPxZWRkBFtbW7Rq1Qqff/45Hj9+rJPjCAwMFPcRGBiokzoBICIiosBjKcyrqC5duoTRo0ejdu3aMDMzg6OjI3r37o39+/dr3LZ27doFxmNqagpHR0e8++672LBhA9LS0oocIxEREREREREREZGhMClFVIYdPHgQt2/f1lv9crkcCQkJCAsLw48//ohmzZph06ZNettfWbZw4UJ06tQJu3fvxtOnT5GRkYGXL1/i1KlTGDFiBAYMGID09PQi1Z2ZmYmXL1/izz//xCeffIJ33nlHZwlCIiIiIiIiIiIiopJibOgAiIrrakQcPGvbldh2pYkgCAgICMCRI0d0Ut/27dvh6ekpzstkMkRHR+PkyZPYsGEDMjMzMXXqVDRo0ADdunXTyT51ydnZWW2SrlevXoiKioKTkxNOnTqls/1u3boVAQEBAIB69erhq6++gru7O6KiorBq1SqcPXsWv/32Gz7+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jz8waNAguLi4wNTUFC4uLhg0aBD++OMPretITU3F8uXL0aZNG9jZ2cHKygqNGzfGF198gWfPnhX2EImIiIiIiIiIiIiIKA+5IEd0SrTSMkdLtpQqCcaGDsAQvL29ERISkm95ZmYmHj9+jMePH2Pnzp0YPXo0tm7dChMTkwLrEgQBU6ZMwebNm5WWR0ZG4ujRozh69CgmTZqEjRs3QiKRFFjPkydP0LdvXzx8+FBp+YMHD/DgwQNs3boVe/fuRZ8+fQp5tERERERERERERERElCsmLQZZ8iylZWwpVTIqZEupyMhIAICTkxNmzpyJw4cPIzQ0FJcuXcKPP/4IZ+eck2/Xrl0YN26c2rq+/vprMSHVsmVL7Nu3D6Ghodi3bx9atmwJANi8eTPmzZtXYB3Jycno16+fmJCaOHEi/v77b1y8eBHffvstrKyskJCQgKFDh+Kff/4p7uETEREREREREREREVVYebvuqySthKrmVQ0UTcVSIVtKubm5YfHixRg8eDCMjIyU1rVr1w6jR49Gx44d8ejRI+zbtw9Tp05F586d89Xz77//YtmyZQCA1q1bIyQkBObm5gAAT09PDBgwAN7e3rh27RqWLl2K8ePHo169evnq+f777/HgwQMAwLJly+Dn5yeua9++Pbp27QovLy+kpqbC19cXZ86c0dl7QURERERERERERERUkeRNSjlZOUEqqZBteEpchXyXjx8/jmHDhuVLSOWyt7fHDz/8IM4fPnxYZbkVK1YgOzsbALBmzRoxIZXLwsICa9asAQBkZ2dj5cqV+erIysrCqlWrAACNGzfG559/nq9M+/bt4ePjAwA4e/Ysrl+/ruEIiYiIiIiIiIiIiIhIlagU5aQUx5MqORUyKaWNLl26iNNPnjzJt14QBPzyyy8AclpetWvXTmU97dq1Q6NGjQAAx44dgyAISuuDgoIQHx8PABg7diykUtUfiWI3gkeOHNH2MIiIiIiIiIiIiIiISEHellIcT6rkMClVgMzMTHFaVaIoPDxcHJvK29tbbV2561+8eIGIiAildefOnctXTpXWrVvD0tISAHD+/Hn1wRMRERERERERERERkUpsKWU4TEoVIDg4WJx2c3PLt/7+/ftq1ytSXK+4XWHqMTY2FsejylsHERERERERERERERFpJzo5WmneycrJQJFUPMaGDqA0ksvlWLJkiTg/bNiwfGWeP38uTru4uKitz9XVVeV2ivOWlpawtbXVWM8///yDN2/eICMjA6ampmrL53rx4oXa9dHR/7sA09LSkJaWplW9QM57ldsloVwu13q7skLxmMrj8RGVZoW9/gRBgFwuL9Q9jIjyS09PVzlNRPrH64/IcHj9ERkGrz0iw6nI158gCIhMjlRaVrVSVT5TykNf7weTUiqsWLECoaGhAICBAweidevW+cokJSWJ01ZWVmrry+12DwCSk5NV1qOpDlX1aJuUUkyKaRISEgJ7e3uty1etWhXm5uaQSCRITEzUeruyKO9nR0QlR9P1l52dLSbVHzx4UEJREZV/ISEhhg6BqMLi9UdkOLz+iAyD1x6R4VS06y9FnoIMWYbSssfXH+ON9I2BIiqdYmJi9FIvu+/LIzg4GHPmzAEAVK9eHRs2bFBZTjF7bGJiorZOxeRR3uxibj2a6tBUDxERERERERERERERqfdW/lZpXgopbCQ2Boqm4mFLKQV3797FwIEDkZ2dDVNTUxw8eBA1atRQWdbMzEyczszMVFtvRsb/sq7m5uYq69FUh6Z61MnbZWBe0dHRaNOmDQDAy8tLY3eEip49ewaZTAZjY2PY2JS/C1cul4stNKysrCCVMo9LVFIKc/29efMG5ubmsLKyQqtWrUoqRKJyKT09XfyVnJeXl9LfPESkX7z+iAyH1x+RYfDaIzKcinz9/f38b+DS/+YdLB3Qu1dvwwVUSmkaFqiomJT6/8LDw/Huu+/i7du3MDIywr59++Dt7V1geWtra3FaU7dSKSkp4nTebvpy69Gmazh19ahTmCSTubl5oRJeUqlUHOulvCdspFKpwY8xKCgIXbt2FeeHDx+O/fv3q91m3Lhx2LlzJwCI438pmj9/PhYsWKByW6lUCmtra9SrVw9dunTBlClT0KBBg2IcQY7AwECMHz8eALBjxw6MGzeu2HUCQEREBOrUqVPselS9T9q6f/8+tm/fjlOnTuH58+dIT09HjRo1UL9+fXTr1g0jR45E7dq1ta7vn3/+QatWrZCdnQ0AGDt2LAIDA1WWzXt+5GVpaQknJye0b98e48ePR5cuXQpxZIalzfUnkUgglUoLdQ8jIvXMzMx4TREZCK8/IsPh9UdkGLz2iAynol1/MZnK3dI5WztXqOPXlr7ek/KdRdBSVFQUevTogaioKEgkEmzfvh0DBw5Uu41iokdTxlCxpVLe8Z1y60lJSUF8fLxW9VSrVk3r8aSofDt48CBu376tt/rlcjkSEhIQFhaGH3/8Ec2aNcOmTZv0tr+yTBAEfP3113jnnXfw/fff4/bt24iPj0d6ejqePn2Kv//+G3PnzsWxY8e0rlMul2PSpEliQqq4UlJS8PjxY/z000/o2rUrfHx8IJPJdFI3ERERERERERFRWRCVEqU072TpZKBIKqYK31IqJiYGPXv2xH///QcAWLNmDcaMGaNxuyZNmojTDx48UFtWcX3jxo3z1fPzzz+L5dq1a6eyjuzsbDx58kRlHRXe00tArfYlt10pIggCAgICcOTIEZ3Ut337dnh6eorzMpkM0dHROHnyJDZs2IDMzExMnToVDRo0QLdu3XSyT11ydnZWm6Tr1asXoqKi4OTkhFOnTul035MmTcLWrVsBAM2bN4ePjw+aN28Oc3NzPH/+HPfu3cPhw4chkUi0rnPt2rW4cuUKqlevjtevXxcqnqlTp+KTTz4R5wVBQFxcHC5duoQVK1bg9evX2L59O1xcXApsKUdERERERERERFTeRCXnSUpZMSlVkip0UiohIQG9evXCvXv3AABLlizBtGnTtNq2Tp06cHJyQlRUFIKDg9WWze2b09nZOV+3XZ06dRKng4ODC0xKXbt2Tey+r2PHjlrFWCGc/Q4IXgL0mA90+lT77c6vAP6aD3jPAbp+qa/o9Mre3h4xMTE4evQowsLC4OHhUew669Spg2bNmikta968OXr37o0WLVpgwoQJEAQBy5cvL5VJqUqVKuWLP+96bcoV1vbt28WElK+vL3744QelruY8PT0xaNAgfP3111qNHwfktMD8+uuvIZFIsHz5cowdO7ZQMVWvXl3lMXp7e2PAgAFo3bo10tLSsHLlSnz99dfie0NERERERERERFSe5WspxaRUiaqw3felpqaib9++CAsLAwDMnTsXs2fP1np7iUSC999/H0BOC6fLly+rLHf58mWxpdT777+fr5VEly5dULlyZQDAzp07CxzLRnEMGU1dC1YYTy/lJKSAnATT+RXabZebkAJytn96SW3x0mrmzJliN44BAQF639/48eNhb28PALhy5Yre91dWJCUl4YsvvgCQcz2vWLFC7dhHJiYmWtU7bdo0JCUlYdy4cfDy8tJJrLmaNGmCvn37AgASExNx//59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ioiIiIiIiIiIiIiIyq28Y0o5WrH7PkNhUoqIiIiIiIiIiIiIiMqtvC2lnK2cDRQJMSlFRERERERERERERETlUqYsE2/S3igtc7RkSylDYVKKiIiIiIiIiIiIiIjKpeiU6HzLnKw4ppShMClFRERERERERERERETlUt6u+6xNrGFtYm2gaIhJKSIiIiIiIiIiIiIiKpc4nlTpwqQUERERERERERERERGVS1EpykkpjidlWExKERERERERERERERFRucSWUqULk1JERERERERERERERFQu5U1KsaWUYTEpRURERERERERERERE5VLe7vvYUsqwmJQiIiIiIiIiIiIiIqJyJ0uehdepr5WWOVqxpZQhMSlFRERERERERERERETlzquUV5ALcqVlbCllWExKERERERERERERERFRuROdEq00b2FsARsTGwNFQwCTUkREREREREREREREVA5FJkcqzTtZOUEikRgoGgKYlCIqU4KCgiCRSMTXhx9+qHGbcePGieVVmT9/vlKdii8jIyPY2tqiVatW+Pzzz/H48WOdHEdgYKC4j8DAQJ3UCQAREREFHkthXoX177//Yt++ffj000/RsWNHWFhYFPn4srOzsWnTJnh5eaFatWowNzdH/fr1MWXKFNy7d0/j9mFhYVi8eDHee+89uLq6wtTUFFZWVmjYsCHGjRuHc+fOFfr4cqWmpqJu3brisdWuXVtteXXvsbm5OVxdXdG/f3/s2rULMpmsyHERERERERERERGpEp2s3FLKycrJQJFQLmNDB0BERXfw4EHMnTsX7u7ueqlfLpcjISEBYWFhCAsLw9q1a7F69WpMnjxZL/sri4KDg9GlSxed1BUbG4u+ffviypUrSsufPHmCJ0+eIDAwEOvXr8eECRNUbu/t7Y2QkJB8yzMzM/H48WM8fvwYO3fuxOjRo7F161aYmJgUKj5/f3+Eh4cXapuCpKen48WLF3jx4gWOHz+O1atX48SJE6hWrZpO6iciIiIiIiIiIsrXUsqSSSlDY1KKyrywV2HwqOFRYtuVJoIgICAgAEeOHNFJfdu3b4enp6c4L5PJEB0djZMnT2LDhg3IzMzE1KlT0aBBA3Tr1k0n+9QlZ2dn3L59u8D1vXr1QlRUFJycnHDq1Cmd7FMQBHFaKpWicePGsLS0RGhoaKHqkclkGDRokJiQGjRoECZOnAg7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55131MZdq1YtREREqC2jC9euXYO7u7vaMpUqVcI333yDiRMn6j0eIiIiIiIiIiIq3/KOKcWWUqUHk1JUpn3S4hO0c2xX6MSSj7tPuWwhpWjixIlYtmwZnj9/Xqx6LCwsUL16dXh4eGDIkCEYOnRoibRksbOzQ0hICPbu3Ys9e/bgxo0biIuLg42NDdzd3TFkyBBMnDgRJiYmeo+lpNjb2+PixYvYsmUL9u7di/v37yMlJQVOTk7o3r07Zs6ciaZNmxo6TJ0wMjJC5cqVUb9+fXTt2hUff/wx6tevb+iwiIiIiIiIiIiojBMEAVEpUUrL2FKq9GBSisq8oiaWymJCqkuXLirHV1LF1NQUz54901hu/vz5mD9/fjEjK5xx48Zh3LhxGstJpVKMGjUKo0aN0sl+9dUqSJf1GhsbY+rUqZg6dWqht9X23CgubY+3pOIhIiIiIiIiIiLKFZ8Rj7TsNKVlbClVekgNHQAREREREREREREREZEuRCUrt5IykhihmkU1A0VDeTEpRURERERERERERERE5ULervscLB1gLGWncaUFk1JERERERERERERERFQu5G0pxfGkShcmpYiIiIiIiIiIiIiIqFzIm5RysnIyUCSkCpNSRERERERERERERERULjApVboxKUVEREREREREREREROVC3jGlnCyZlCpNmJQiIiIiIiIiIiIiIqJygS2lSjcmpYiIiIiIiIiIiIiIqMxLzExEclay0jImpUoXJqWIiIiIiIiIiIiIiKjMy9tKSgIJHCwcDBQNqcKkFBERERERERERERERlXl5k1LVLaqjklElA0VDqjApRUREREREREREREREZR7Hkyr9mJQiIqIyTxAEQ4dAREREREREREQGFpXCpFRpx6QUFYuRkREAIDs7GzKZzMDREFFFJJPJxPtP7j2JiIiIiIiIiIgqnnwtpSyZlCptmJSiYrGwsBCn4+PjDRcIEVVYivcexXsSERERERERERFVLHmTUo5WjgaKhApibOgAqGyztbXF27dvAQCvX7+GTCaDjY0NTE1NIZFIDBwdEZVXgiAgIyMDiYmJiI2NFZdXqVLFgFEREREREREREZEh5e2+z9nS2UCRUEGYlKJiMTMzQ+XKlZGQkAAAiI2NRWxsLCQSSbnpRis7OxsA8ObNGwNHQlTxFHT9yWSyfONIVa5cGaampiUWGxER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ERERERERlTUyuQwvU18qLXOyZFKqtGNSSkfi4uLw+++/AwDc3d3RokULrbY7e/Ys4uPjC1yflZWFjz/+GA8ePAAA9O/fH66ursUNl4iIiIiIiIiIiIiozHqT9gbZ8mylZWwpVfrprn+5Mub8+fP4999/xfncbvcA4N9//0VgYKBS+XHjxqmtb//+/cjMzARQuFZSO3fuxIABAzBgwAB06dIFjRo1go2NDZKTk3H9+nVs2rQJ9+/fB5AzTtWqVau0rpuIiIiIiIiIiIiIqDyKTlEeT8rUyBRVzaoaKBrSVoVNSm3duhU7d+5Uue7ChQu4cOGC0jJNSancrvuMjIzw0UcfFSqW5ORk7N27F3v37i2wjLu7O/bv3486deoUqm4iIiIiIiIiIiIiovIm73hSjpaOkEgkBoqGtFVhk1K69PjxY1y5cgUA0LNnTzg4OGi97ezZs9GiRQtcunQJ9+7dw5s3bxAXFwdTU1PUqFEDrVu3xpAhQzBw4EAYGRnp6xCIiIiIiIiIiIiIiMqM6GTlllLsuq9sqLBJqcDAwHxd9BVVgwYNIAhCkbZt3LgxGjduDF9fX53EQkRERERERERERERU3kWlRCnNMylVNkgNHQAREREREREREREREVFhRCXnSUpZMilVFjApRUREREREREREREREZUq+pBRbSpUJTEoREREREREREREREVGZIQgColM4plRZxKQUERERERERERERERGVGbHpsciQZSgtY/d9ZQOTUkREREREREREREREVGbk7brPWGqMahbVDBQNFQaTUkREREREREREREREVGZEpSgnpRwtHSGVMN1RFvBTIiIiIiIiIiIiIiKiMiNvSyl23Vd2MClFRERERERERERERERlRr6klBWTUmUFk1JERERERERERERERFRm5E1KOVo5GigSKiwmpYiIiIiIiIiIiIiIqMyITolWmmf3fWUHk1JERERERERERERERFQmCIKAyORIpWXsvq/sYFKKiIiIiIiIiIiIiIjKhISMBKRlpyktY1Kq7GBSioiIiIiIiIiIiIiIyoTIFOVWUkYSI9SwqGGgaKiwmJQiIiIiIiIiIiIiIqIyITpZeTyp6v+PvfuOrqLO/z/+mpte6BBIQgiISLMiQZoUWQuIYgV/rkJsWFYF17qrK7rq2hfroiwoYF8RV8UVCyBIkSIWlA6GkoQSanpy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oaMGRtiCohGWOYiTamQXswxxJFu2gGVSmxGnYczsas3YxZHMS0gZLAP8Q7NspmE4AQUEEscyNXRLt+FkWGQMrJZ4QS7j1t8f/jzB0WIL51CZr1dykuec830+38/T5Js2eff5PrfddqZbhHedQ4cOZcqUKfnDH/6Q5M3fW/Pmzet1HesPemfZsmU5ePDgScfcc889WblyZZKkpqamcMf+W6w76DvWH5yaRx55JEeOHOn2+/b29tx44405fPhwknR55771B713/vnn52tf+1qSZM2aNV0+U3Hv3r1vWy/19fUnjLH+OFPKOrvbyBXeo1paWjJhwoQcOHAglZWV+c53vpNJkyblwIED+fWvf53FixcnSUaNGpVnnnkmH/zgB/u4Y3j3e/LJJ/PPf/6z8L6joyNz585N8uYWmG/98fSWGTNmdFnn29/+dn76058mSS6//PLccccdGTFiRLZt25a77747LS0thXE//vGPS3AlcHaZOnVq4T/lamtrc++99570P9nKy8szatSoLr+z/qDnampqsnfv3kydOjUTJ07MiBEjUllZmb1796a1tTUPPvhgISwuLy/Po48+mmuvvfaEOtYdFF9jY2PuuuuuJG/eKXX11Vd3Oc76g96rqanJ4cOHM3Xq1Fx55ZWpqalJRUVFOjo6smHDhvziF78o3KUxceLErF27Nh/4wAdOqGP9Qe+9/PLLGTduXHbs2JF+/frllltuyQ033JBBgwaltbU1d999d+EOp4aGhjQ1NXVZx/rjjOgETrBixYrOQYMGdSbp8jVq1KjOrVu39nWbcNaYPn16t+upq1d3jh492llXV3fSc2fOnNl59OjRM3h18O7Vm3WXpHP48OHd1rL+oOeGDx/eozU3bNiwzscff7zbOtYdFN+dd95ZWD/r16/vdpz1B73X099/U6dO7XzllVe6rWP9wan5+9//3jly5MiTrp26urrOQ4cOdVvD+uNMcKcUdOOFF17Ifffdl0cffTQ7d+5MeXl5Ro4cmS9+8YuZPXt2BgwY0NctwlljxowZeeCBB3o8/p1+Na1cuTKLFy/O008/nY6OjgwePDjjx49PfX19PvOZz5xuu/A/o7f7ew8fPjzbt28/6RjrD97Ztm3bsnbt2qxfvz5btmxJe3t79uzZk/79+2fIkCG57LLLcv3112fatGk9+pvSuoPi6emdUm+x/qDnNm7cmI0bN+aPf/xjnn/++XR0dOT1119PZWVlqqur88lPfjLTp0/PlVde2aN61h/03r59+7Jw4cI8/PDD2bp1a954441ceOGFmTBhQurr6zNp0qQe1bH+KCWhFAAAAAAAACX3vr5uAAAAAAAAgP99QikAAAAAAABKTigFAAAAAABAyQmlAAAAAAAAKDmhFAAAAAAAACUnlAIAAAAAAKDkhFIAAAAAAACUnFAKAAAAAACAkhNKAQAAAAAAUHJCKQAAAAAAAEpOKAUAAAAAAEDJCaUAAAAAAAAoOaEUAAAAAAAAJSeUAgAAAAAAoOSEUgAAAAAAAJScUAoAAAAAAICSE0oBAABwUsuWLUtZWdkJr2XLlp1yzQ0bNhTqbNiwoWi9dqUU/QMAAL0nlAIAAOiF48OUxsbGk45tb2/PmDFjCuMbGhrS2dl5WvM3Njb2Osy5+uqrC+ecLY6/zv9+vf/9709VVVWuuOKKzJkzJ1u3bu3rdgEAgB7o19cNAAAA/C/avXt3amtr8+yzzyZJvvGNb+Tee+/t26aK4LHHHsvQoUOTJMOGDeuTHo4dO5bXXnstmzdvzubNm7NgwYLcf//9qa+v73L8F77whYwbNy5JsmvXrkyePPlMtgsAAPw/oRQAAECR7dy5M7W1tYU7eL75zW9m/vz5fdxVcYwaNSo1NTVndM4lS5Zk/PjxhfdHjx7N7t27s2rVqixcuDCHDh1KQ0NDPvKRj6S2tvaE86uqqlJVVZUkqaysPFNtAwAA/0UoBQAAUEQvvPBCJk2alLa2tiTJd7/73cybN6+Puzq7XXzxxRkzZszbPhs7dmw+/elP57LLLktdXV06Ozszf/78LkMpAADg3cEzpQAAAIpk27ZtueqqqwqBVGNjo0CqxG666aYMHjw4SfKnP/2pj7sBAABORigFAABQBM8991w+9alPZceOHUmSn/zkJ7nzzjv7uKu+c+DAgfzoRz/K2LFjM3DgwJx//vmZMGFCfvnLX+bYsWNFneut7QQPHjxY1LoAAEBx2b4PAADgNG3ZsiW1tbV58cUXkyQ///nPc/vtt/dxV31n165dueaaa/Lss88WPtu/f382bdqUTZs2pbm5uag/n+3btydJPvzhDxetJgAAUHxCKQAAgNPQ2tqaa6+9Ni+99FLKyspy//33Z/bs2X3dVp85cuRIrr/++kIgdd1116WhoSHV1dXZsWNHmpqasnr16uzZs6co8z3wwAPp6OhIknz+858vSk0AAKA0hFIAAACn6C9/+UsWLFiQPXv2pKysLIsWLcrNN9/c1231qYULF6alpSVJMmvWrCxatKjw3RVXXJEpU6Zk5syZWbJkSY9rtrW1FZ4blSRHjx5Ne3t7Vq1alaampiTJ6NGjM3fu3CJdBQAAUApCKQAAgFO0fPnywnFTU9N7PpBK3gylkmTIkCG55557uhxz33335ZFHHsnLL7/co5p1dXXdfnfuuefm+9//fr7+9a/nvPPO633DAADAGfO+vm4AAADgbFVWVlY4XrFiRQ4dOtSH3fS9Xbt2ZcuWLUmSadOmZcCAAV2Oq6yszLRp04oy52uvvZalS5fm4YcfLko9AACgdIRSAAAAp6ihoSEf+9jHkiSrVq3Kl770pRw5cqSPu+o7ra2thePx48efdOzHP/7xHtddv359Ojs7C69jx47l1VdfzcaNGzNlypQ8//zzmTVrVr71rW+dcu8AAEDpCaUAAABO0QUXXJC1a9dm5MiRSZLm5uZMnz49x44dK9mcx9+d1VOdnZ0l6OREr7zySuH4wgsvPOnYIUOGnPI8ZWVlOffcc3PVVVelubk5X/7yl5Mk8+fPzxNPPHHKdQEAgNISSgEAAJyGiy66KE888USGDx+eJHnooYdy8803lywIqqioKBzv37+/R+fs27cvSTJw4MCS9PSW46/5ncKzYv585s6dWzj+1a9+VbS6AABAcQmlAAAATlN1dXXWrVuXoUOHJkmWLFmSW2+9tSRzfehDHyocv/jiiz06561xx59bCsfXb29vP+nYl156qWjzjh49unB8/BaCAADAu4tQCgAAoAhGjBiRdevWFbatW7BgQUmecXTppZcWjjdv3vyO49vb2/Pvf//7hHNL4ZJLLikcP/300ycd+07f98bxz/E6fPhw0eoCAADFJZQCAAAoktGjR2fNmjWFO4bmz5+fxsbGos5x+eWXF+o3Nzfn4MGDJx3/4IMPFo6vueaaovby34YOHZqPfvSjSZLf/va3OXDgQJfj9u3bl9/85jdFm/f4gKu6urpodQEAgOISSgEAABTRpZdemsceeyyDBg1Kktx111352c9+VrT655xzTmbNmpUk2b17d2677bZun8/U2tqaH/7wh0mSysrKzJgxo2h9dKehoSHJm1sGzpkzp8sxt99+e9G27/vPf/6TH/zgB4X3n/3sZ4tSFwAAKL5+fd0AAADA/5px48Zl5cqVmTx5cvbt25c77rgjAwYMyOzZs4tS/3vf+15+97vfZcuWLVm0aFFaWloyc+bMXHLJJenfv392796dNWvWZPHixdm/f3+SpKmpKeedd15R5j+ZhoaGLF26NC0tLVm4cGHa2tpyyy23pLq6Ov/617/S1NSUxx9/POPHj+/xFn5tbW0ZPHjw2z57/fXX8+c//zlNTU3529/+liQZOXJk6uvri35NAABAcQilAAAASmDChAlZsWJFPve5z+XgwYO59dZbU1FRkZkzZ5527YEDB2bdunW58cYbs2nTpjz11FN56qmnuhzbv3//LFiwIF/96ldPe96e6NevX37/+9+ntrY2//jHP7J69eqsXr36bWOuu+66zJkzJ5MnT+5Rzbq6unccM3bs2CxfvjwVFRWn1DcAAFB6tu8DAAAokdra2jQ3N6e8vDydnZ2ZNWvW257xdDouuuiiPPnkk1mxYkW+8pWvZMSIEamsrMw555yTCy64IBMnTkxjY2Pa2tqKEoT1xtChQ9PS0pJ58+ZlzJgxqaioSFVVVT7xiU+kqakpq1atSnl5+WnNMWDAgNTU1OSGG27IQw89lGeeeSY1NTXFuQAAAKAkyjq723wcAAAAkixbtiw33XRTkje30jubw5/t27fn4osvTpIsXbr0jDxnCwAAeJPt+wAAAOix5557Lm+88UaSZNiwYamqqurbhnrg1Vdfzc6dO5Mku3bt6uNuAADgvUsoBQAAQI8d/xyos+VOo+XLlxfu9AIAAPqOZ0oBAAAAAABQcp4pBQAAcAb99a9/PaXzzpat8gAAALojlAIAADiDysrKTum8s2WrPAAAgO7Yvg8AAAAAAICS69fXDQAAALyX2KwCAAB4r3KnFAAAAAAAACUnlAIAAAAAAKDkhFIAAAAAAACUnFAKAAAAAACAkhNKAQAAAAAAUHJCKQAAAAAAAEpOKAUAAAAAAEDJCaUAAAAAAAAoOaEUAAAAAAAAJSeUAgAAAAAAoOSEUgAAAAAAAJScUAoAAAAAAICSE0oBAAAAAABQckIpAAAAAAAASk4oBQAAAAAAQMkJpQAAAAAAACg5oRQAAAAAAAAlJ5QCAAAAAACg5IRSAAAAAAAAlNz/AXB6n3qFJtbmAAAAAElFTkSuQmCC", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABqUAAARGCAYAAACxAbqmAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdd1QU198G8GcB6UWqDRQ72Bsq9m6iRmPD2LAltmg0Riwpikk0amKLNZaIvceu0ViwK1gjiShRsGChiPS+8/7By/x2l23ALgv4fM7hOOXOvXd2p6zznXuvRBAEAURERERERERERERERER6ZGToChAREREREREREREREVHpx6AUERERERERERERERER6R2DUkRERERERERERERERKR3DEoRERERERERERERERGR3jEoRURERERERERERERERHrHoBQRERERERERERERERHpHYNSREREREREREREREREpHcMShEREREREREREREREZHeMShFREREREREREREREREesegFBEREREREREREREREekdg1JERERERERERERERESkdwxKERERERERERERERERkd4xKEVERERERERERERERER6x6AUERERERERERERERER6R2DUkRERERERERERERERKR3DEoRERERERERERERERGR3jEoRURERERERERERERERHrHoBQRERERERERERERERHpHYNSREREREREREREREREpHcMShERERFRqTdy5EhIJBJIJBIEBAQYujr0nnN3dxePx4iICENXh4iIiIoB/j4govcFg1JERFRosg97lf1ZWVmhUqVK6NSpE7799luEhYVpnXdAQIDavFX9TZ06VW2+8fHxWLJkCbp27YqKFSvCzMwMzs7OaNKkCb755hs8evQoX59BSkoKrly5guXLl2Po0KGoXbs2jIyMxPr4+/vnKz9lbt++jVmzZqFZs2aoUKECzMzMULFiRTRp0gSjR4/Gtm3b8Pr1a63zO3v2LHx9fVGrVi1YWVnBwcEBDRo0gJ+fH0JDQwtdX0Wyx8nIkSNVpouIiCjQd67uTzYI4e/vX+B83N3ddfJZKDuu+/Xrl688/vnnH73VjzTr0KGD3GdfuXJlpKena7XtrFmztDoXZB9MKPszMjKCnZ0datWqBR8fH+zYsQNpaWk62kN5suUGBgbqpQxA/+d/YUVFRSEg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rEpFQIqIii+JRAIrKyu4urrC2toaQE6gKikpycA1IyIiIiIiIiIiIlUYlKJCyW3FAAAODg4MRhFRkZJIJHBwcBDnZa9JREREREREREREVLwwKEWFkpGRASDnwbClpaWBa0NE7yPZ7kJzr0lERERERERERERU/DAoRYWSnZ0NADA2NmYrKSIyCIlEAmNjYwD/uyYRERERERERERFR8cOgFBEREREREREREREREekdg1JERERERERERERERESkdwxKERERERERERERERERkd4xKEVERERERERERERERER6x6AUERERERERERERERER6R2DUkRERERERERERERERKR3DEoRlSCBgYGQSCSQSCTw9/dXmsbf319MU9C/kSNHivl16NAh39u/e/euQPsXEREhl4+RkRGePn2q1ba1atWS2zYgIKBAdZD17NkzTJ8+HZ6enrCysoKDgwOaN2+OX375BSkpKWq3HTlypMrPx8TEBA4ODvD29sacOXPw8uXLQteViIiIiIiIiIiIqLhjUIqIii1BELBjxw6N6a5fv46wsDCdln38+HE0aNAAS5YsQWhoKFJSUhAXF4fg4GD4+fmhSZMmePLkSYHyzs7ORlxcHK5fv44ffvgBHh4eOHLkiE7rT0RERERERERERFTcmBi6AkSFFRzxFl7uDkW2XXE3ceJEDBgwQOm64OBgjB49GgAwYcIETJw4UWk6e3t7pcvv37+vVR1sbW21SqeOubk50tLSsG3bNnz99ddq027btk1um8K6d+8efHx8kJKSAmtra8yePRsdO3ZEamoqdu/ejQ0bNuDhw4fo2bMngoODYW1trTa/U6dOoWLFiuJ8ZmYmXrx4gf3792Pbtm1ITEzEwIEDce/ePXh4eBS6/kRERERERERERETFEYNSVKIt++sRVpwNw8wPPDChQ3Wtt1sb+BiL/gzFlM418WXXWnqsYdFzcXGBi4uL0nUxMTFy6erVq5evvPObvjB69+6NvXv3IjQ0FDdv3kSzZs2UpsvMzMSePXsAAH369BGnC2Pq1KlISUmBiYkJTp8+DW9vb3Fdp06dULNmTcyYMQOhoaFYunQp5syZoza/WrVqwd3dXW5Z48aN8dFHH8Hd3R3ff/89MjIysGLFCqxdu7bQ9SciIiIiIiIiIiIqjth9H5VYwRFvseJsTpdti/4MxdrAx1ptlxuQAoAVZ8MQHPFWb3WkgvP09BQDUbktoZQ5ceIEYmNjYWpqCh8fn0KXGxwcjMDAQADAmDFj5AJSub766it4enoCAJYvX47MzMwCl+fn5weJRAIAuHHjRoHzISIiIiIiIiIiIiruGJSiEsvL3QEzP/hfV2faBKZkA1IAMPMDj1LZhV9pMXz4cADArl27kJWVpTTN1q1bAQA9e/aEg0Phv8tDhw6J06NGjVKaxsjICL6+vgCAuLg4MYhVENbW1nB0dAQAnXQ9SERERERERERERFRcMShFJdqEDtW1DkwpC0jlp8s/KnqDBw+GiYkJoqOjcerUqTzr4+LicPz4cQD/C2AV1qVLlwAAVlZWaNq0qcp07du3F6cvX75c4PKSkpIQGxsLAKhcuXKB8yEiIiIiIiIiIiL1XoT+U6TbUV4MSlGJp01gigGpksnZ2Rndu3cHoLwLv7179yI9PR329vbo2bOnTsp88OABAKBGjRowMVE97J6Hx/+OudxtCmLJkiUQBAFAzjhaREREREREREREpHtX9+3AnrkzEXR4f762Czq8H3vmzsTVfTv0VLP3i+onrkQ6IpUKiEvJ0GsZPs1ckZKRhZXn/gOQE5hKycjCyFbuCLgaIS4HgMmdasCnmStik9I15iuVSpGYkjNeUKZROoyMtIvj2luawshIUoA9Kd5CQkI0prG3t0elSpV0Vqavry+OHz+OI0eOICEhAba2tuK63EDVoEGDYGpqWuiy0tLSEBMTAwBwdXVVm9be3h5WVlZITk7G8+fP1aZ99OgRkpKSxPmsrCy8ePECBw8eREBAAACgdevWGDNmTOF2gIiIiIiIiIiIiPJ4EfoPru3fBQC4tDMAANC8zwCN2wUd3i+mv7Z/FyrXbwRXj7r6quZ7gUEp0ru4lAw0/fFMkZe78tx/csEoTct16da3XeBobabXMgyhfv36GtOMGDFCDLToQu/evWFnZ4f4+HgcOHBAHOfpyZMnuHLlCgDddd2XmJgoTltbW2tMnxuUkg04KZPb2kuZihUrws/PD+PHj4eZWek7ZoiIiIiIiIiIiAzN1aMu2g4ZKQaYtAlMyQakAKDtkJEMSOkAu+8jomLN3NwcAwbk3Bxku/Dbvn07AKB69epo1aqVTspKS0sTp7VpeZUbREpNTS1wmS9fvsTmzZvx559/FjgPIiIiIiIiIiIiUq95nwFoO2SkOH9pZ4DKrvyUBaS0aVlFmrGlFBFpLXfso/yIiopCVFSU0nVWVlaoWrWqxjx8fX2xadMmBAYG4vnz53BzcxODUsOGDct3nVQxNzcXpzMyNHc5mZ6e0wWkhYWF2nTh4eFwd3cX5wVBQFxcHIKCgrBw4UJcuHAB/fr1w6+//opJkyYVrPJERERERERERESkVm5gSV2LKQak9IstpYhIr9asWYP69esr/cvtik+Ttm3bwt3dHYIgYMeOHbh27RrCwsIA6DYoZWNjI05r6pIPAJKTkwFo19WfLIlEAgcHB3zwwQc4e/Ys2rZtC0EQ8OWXX+Lhw4f5qzQRERERERERERFpTV2LKQak9I8tpUjv7C1NcevbLkVSVsDVCLnxouwsyiA+NVOcn9ypBka2ctc6P6lUisT/D07YWFvDyEi7OK69peau30h7EokEQ4cOxfz587Ft2zY8e/YMAODt7Y0aNWrorBxzc3M4OTkhJiYGL168UJs2Li5ODEq5ubkVuExjY2NMmzYNly5dQlZWFrZu3Yr58+cXOD8iIiIiIiIiIiJST1mLqav7diA783/PkhmQ0g8GpUjvjIwkcLQ203s5awMfywWkZn7ggQkdqmNt4GMs+jMUALDy3H+wNDXBhA7VtcpTKpWijDSnizZbazOtg1L0P/7+/vD39y90Pr6+vpg/fz7+/fdfPHnyBAAwfPjwQueryNPTE5cuXcJ///2HrKwsmJgov0yGhobKbVMYHh4e4vT9+/cLlRcRERERERERERFp1rzPAEil2biyO2ccewakigafsFOpIBt4Av4XkAKACR2qY+YH/3vov+jPUKwNfFzkdaTCqVWrFpo3bw4ASEtLg6mpKQYNGqTzctq0aQMgp2u+W7duqUx34cIFcbp169aFKjMrK0uczpS5+REREREREREREZH+eLRqn2eZmZU1A1J6xKAUlXjqAlK5GJgqHUaMGAEzMzOYmZmhd+/ecHBw0HkZH3/8sTi9efNmpWmkUim2bt0KAChbtiw6duxYqDKDg4PF6cJ0BUhERERERERERETaCzq0L8+y9OQkcYwp0j0GpahE0yYglYuBqZJv4sSJSEtLQ1paGvbty3vD0IXmzZujbdu2AIBNmzbh2rVredIsWbIEDx48AABMmTIFZcqUKXB5cXFx+Omnn8T5Hj16FDgvIiIiIiIiIiIi0k7Q4f24f+6U0nWXdgYwMKUnHFOKSqzgiLdaB6Ry5a7P3W7Rn6Fo5m4PL3fdt7jRt7t37yIgIEBjujZt2qBGjRo6KTMkJESrdFWqVIGNjY1OyjSEFStWoHXr1khNTUW3bt3w9ddfo2PHjkhNTcXu3buxfv16ADldCn711Vca83v06BGSkpLEeUEQ8O7dO9y4cQMrV67Es2fPAOR8V3369NHPThERERERERERERGAnIDUpZ0BeZY7VHLD28jnACCuZ1d+usWgFJVYXu4OmNK5JlacDdMqIJVLNjA1pXPNEhmQAoDDhw/j8OHDGtNt3rxZZ0Gp+vXra5Xu4MGDct3glTSNGzfGnj17MGzYMCQkJODrr7/Ok6ZWrVo4fvy4VsG37t27a0zTsWNH7N+/HxKJpEB1JiIiIiIiIiIiIs1UBaQAoEqDRqjbvrO4noEp3WNQikq0L7vWQpuaTvkOLE3oUL3EtpCiovHRRx/h77//xooVK3D8+HG8ePECpqamqFGjBgYOHIhJkybB0tKywPlbW1ujQoUK8PLywuDBg9GzZ08GpIiIiIiIiIiIiPRIMSBl6+yChOgocd7OuRya9vwYABiY0hMGpajEK2hgqSQGpDp06ABBEIp0+8DAwAKXl1/u7u5Fvn/qVKlSBUuXLsXSpUvzvW1AQIBW3SsSERERERERERGR/ikGpNoOGYk7p47JpbF1dgHwvwAUA1O6Z2ToChAREREREREREREREenLi9B/8gSkmvbsg6S3sXLp7FzKi9PN+wxA2yEjxflLOwPwIvQffVe11GNQioiIiIiIiIiIiIiISi1Xj7rwHjAYQE5AqnmfAUiIiQYUel3KbSmVSzYw5T1gMFw96hZJfUszdt9HRERERERERERERESlWquBQ1G5fiMxsJQQFSW33szSCuZW1nm2a95nACrW9mRASkfYUoqIiIiIiIiIiIiIiEo92cBSfPQbuXWKraRUbUeFw6AUERERERERERERERG9VxKi5VtK2TqXM1BN3i8MShERERERERERERER0XslQaGllJ2allKkOwxKERERERERERERERHReyWeLaUMgkEpIiIiIiIiIiIiIiJ6ryREvZabt3NhUKoovLdBqdu3b2PBggX48MMP4ebmBjMzM1hbW6NWrVoYOXIkLl26lK/8/vzzT/Tr1w+urq4wMzODq6sr+vXrhz///FPrPFJSUvDzzz+jefPmcHBwgLW1NTw9PTF9+nQ8e/Ysv7tIREREREREREREREQKsjIzkRT3Vm6ZLbvvKxImhq6AIbRv3x4XL17MszwjIwNhYWEICwvDli1bMHz4cGzcuBGmpqYq8xIEAePHj8f69evllkdGRuLgwYM4ePAgxo4di3Xr1kEikajM5/Hjx+jZsycePnwotzw0NBShoaHYuHEjdu7ciR49euRzb4mIiIiIiIiIiIiIKFdiTFSeZQxKFY33sqVUZGQkAKBixYqYMmUK9u/fj6CgIFy7dg1Lly5FpUqVAADbtm3DyJEj1eb17bffigGpxo0bY9euXQgKCsKuXbvQuHFjAMD69evx3XffqcwjKSkJvXr1EgNSn332Gc6ePYurV69i/vz5sLa2Rnx8PAYOHIi///67sLtPRERERERERERERPTeUhxPyszKCuZW1gaqzfvlvWwp5eHhgQULFqB///4wNjaWW9eyZUsMHz4crVu3xqNHj7Br1y5MmDABbdu2zZPPf//9h8WLFwMAmjVrhosXL8LCwgIA4OXlhd69e6N9+/a4efMmFi1ahFGjRqF69ep58vnll18QGhoKAFi8eDH8/PzEdd7e3ujYsSPatWuHlJQUTJ06FefOndPZZ0FERERERERERERE9D5JiH4jN2/rzPGkisp72VLq2LFj8PHxyROQyuXk5IQlS5aI8/v371eabtmyZcjKygIArFy5UgxI5bK0tMTKlSsBAFlZWVi+fHmePDIzM7FixQoAgKenJ7766qs8aby9vTFmzBgAwPnz53Hr1i0Ne0hERERERERERERERMokKLSUsmPXfUXmvQxKaaNDhw7i9OPHj/OsFwQBhw8fBpDT8qply5ZK82nZsiVq164NADh06BAEQZBbHxgYiHfv3gEARowYASMj5V+JbDeCf/zxh7a7QUREREREREREREREMuKj5FtK2bmwpVRRYVBKhYyMDHFaWaAoPDxcHJuqffv2avPKXf/ixQtERETIrbt06VKedMo0a9YMVlZWAIDLly+rrzwRERERERERERERESkVz+77DIZBKRUuXLggTnt4eORZ/+DBA7XrZcmul90uP/mYmJiI41Ep5kFERERERERERERERNpR7L6PQamiY2LoChRHUqkUCxcuFOd9fHzypHn+/Lk47erqqjY/Nzc3pdvJzltZWaFs2bIa8/n7778RHR2N9PR0mJmZqU2f68WLF2rXv3r1SpxOTU1FamqqVvkCOZ9VbpeEUqlU6+1KCtl9Ko37R1Sc5ff8EwQBUqk0X9cwIsorLS1N6TQR6R/PPyLD4flHZBg894gM530+/7IyMpAc91ZumZmtHZ8pKdDX58GglBLLli1DUFAQAKBv375o1qxZnjSJiYnitLW1tdr8crvdA4CkpCSl+WjKQ1k+2galZINimly8eBFOTk5ap3d0dISFhQUkEgkSEhK03q4kUvzuiKjoaDr/srKyxKB6aGhoEdWKqPS7ePGioatA9N7i+UdkODz/iAyD5x6R4bxv519Gwrs8y4Lv3Yfxg4dFX5liLCYmRi/5svs+BRcuXMCsWbMAAC4uLli7dq3SdLLRY1NTU7V5ygaPFKOLufloykNTPkREREREREREREREpF5WsvzLz0amZjDW4vk86QZbSsn4559/0LdvX2RlZcHMzAx79+5FuXLK+5I0NzcXpzMyMtTmm56eLk5bWFgozUdTHpryUUexy0BFr169QvPmzQEA7dq109gdoaxnz54hOzsbJiYmsLW11Xq7kkIqlYotNKytrWFkxDguUVHJz/kXHR0NCwsLWFtbo2nTpkVVRaJSKS0tTXxLrl27dnK/eYhIv3j+ERkOzz8iw+C5R2Q47/P598/5v/BSZt6xQkV069bNYPUprjQNC1RQDEr9v/DwcHTr1g1xcXEwNjbGrl270L59e5XpbWxsxGlN3UolJyeL04rd9OXmo03XcOryUSc/QSYLC4t8BbyMjIzEsV5Ke8DGyMjI4PsYGBiIjh07AgDmzp0Lf3//PGn8/f0xb968QpUzYsQIBAQEAAA6dOiACxcu5Gv7uLg4jWOkKRMREYGqVauK8xKJBOHh4ahSpYrGbWvVqoWwsDBxfvPmzRg5cmS+66AoJiYGv//+Ow4fPozHjx8jLi4Ojo6OcHNzQ7t27dCvXz94e3trnV9KSgrq1auH8PBwAECVKlUQERGhMr1EIlG5ztzcHE5OTmjUqBF8fHwwZMgQGBsba12XkkSb808ikcDIyChf1zAiUs/c3JznFJGB8PwjMhyef0SGwXOPyHDet/Mv9Z38eFJly1V4r/ZfW/r6TEp3FEFLL1++RJcuXfDy5UtIJBL8/vvv6Nu3r9ptZAM9miKGsi2VFMd3ys0nOTkZ79690yofZ2dnrceTIirJBEHAjh07NKa7fv26XEBKV/bt2wcPDw/MnDkTV69exZs3b5CRkYFXr14hKCgIv/zyCxYtWpSvPOfMmSMGpAorLS0NL168wLFjx+Dr64uWLVsiOjpaJ3kTERERERERERGVRvHRUXLzts4uBqrJ++m9bykVExODrl274smTJwCAlStXwtfXV+N2derUEadDQ0PVppVd7+npmSefAwcOiOlatmypNI+srCw8fvxYaR7vvafXgCrat1Qp9HbF3MSJEzFgwACl64KDgzF69GgAwIQJEzBx4kSl6ezt7ZUuv3//vlZ10EVXjubm5khLS8O2bdvw9ddfq027bds2uW10YevWrRg1ahSkUilcXFwwYcIEtGnTBg4ODnj9+jUeP36Mo0ePokyZMlrneefOHSxfvhzm5uYoU6YMEhMTtd62WbNm2Lx5s9yypKQkhISEYNWqVbh37x5u3ryJAQMG5LtlGxERERERERER0fsiIfqN3Lyts/IhfEg/3uugVHx8PLp3745///0XALBw4UJ8/vnnWm1btWpVVKxYES9fvtT4ADi3b85KlSrB3d1dbl2bNm3E6QsXLqgMSt28eVPsvq9169Za1fG9cP4n4MJCoIs/0OZL7be7vAw44w+0nwV0nK2v2hmEi4sLXFyUR/djYmLk0tWrVy9feec3fWH07t0be/fuRWhoKG7evIlmzZopTZeZmYk9e/YAAPr06SNOF8aDBw8wduxYSKVStG3bFkePHoWdnV2edJMnT9ZqPDgAyM7OxmeffYbs7GzMnTsXmzZtyldQysrKSunn37JlSwwZMgRNmzZFaGgoLl68iBs3bqBFixZa501ERERERERERPS+SFBoKWWn4lkq6cd7231fSkoKevbsidu3bwMAvvnmG8ycOVPr7SUSCfr06QMgp4XT9evXlaa7fv262FKqT58+ecaH6dChg/iwe8uWLRAEQWk+ueP7ANDYteB74+m1nIAUkBNgurxMu+1yA1JAzvZPr+mjdlRInp6eYiAqtyWUMidOnEBsbCxMTU3h4+Ojk7InT56M9PR0ODk54Y8//lAakMplamqqVZ4rVqzArVu3ULt27Xxda7RhaWmJSZMmifM3btzQaf5ERERERERERESlQWZGOpLfxcktY0upovVeBqUyMjLQt29fXLlyBQAwZcoU/Pjjj/nOZ+rUqTAxyWlsNnnyZKSmpsqtT01N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0aO1du1aSSf6IH344YfauHGjPvnkE11xxRWSpG3btumiiy5qcPDjKQ6HQ99++60k6ayzzlJpaakee+wxtW/fXieddJK6desmm82mgQMH6u2335ZhGPXO+fDDD+vw4cM699xzdcstt3il7u3bt2vZsmWSTvS7ateunVeeAwAAAAAAAHhSflaWHBXlpjF7EqFUIAn2dwFo+QyHoeKCMq8+o/fZJ6mspEIbP90v6UQwVVZSodMu6KAflx9yjkvSwJGd1fvsk1SUV//Wbw6HQ8X5J2oPsZTW2SuoqvCoEFmslgZ/HY3xyCOPaMaMGSooKNCUKVP01VdfNXquffv2mVbmVFRU6OjRo/rss8/06quvSpJ69eqlyZMnN7nuurz++utat26dJOmmm27SnDlzZLGc+P0cMGCALrvsMj366KN64okntGfPHv3973/XU0895dWaanLw4EHl5eVJOrFSaujQodW2UTQMQ999951uuukmLV26VPPnz1dwcM1/9a5du1ZvvPGGQkJC9Prrrzu/5sZIT0/Xli1bTHVkZ2dr3bp1eu6551RUVCSbzabnn3++0c8AAAAAAAAAfMm1n1RwSKgi7bH+KQaNQigFrysuKNPsyd5bwVObjZ/uN4VR9Y170q3Tz1VETKhXn1EpMTFRd999t5566iktX75cy5cv1wUXXNCouW699dZaz9ntdv31r3/VXXfdpbi4uMaW65ZXXnlFkpSQkKCXX365xnDmb3/7mxYtWqTt27frzTff1N/+9jeFhYV5tS5XWVlZzs9vv/22SkpK1Lt3b02fPt25ld+KFSv04IMPaseOHfrggw/UpUsXPfnkk9XmKi0t1YQJE2QYhu6//3717du3SbW99tpreu2112o8Z7Vadfvtt2vSpEnq1atXk54DAAAAAAAA+IprPylbYlKT/mE3fI/t+4AWYPLkyYqJiZEk/fWvf/XKM3JycvTWW29p4cKFXpm/UlpamrZt2yZJuuaaa5xfl6ugoCDn9nbHjx/Xpk2bvFpXTQoKCpyfS0pK1LFjR61Zs0ajRo1SdHS0oqOjNXr0aK1Zs0bJycmSpOeee06pqanV5nryySe1detWderUyev9wRwOhz744APNnDlTpaX1rxgEAAAAAAAAmoMcl5VSNrbuCziEUkAL0KZNG02aNEnSiS3gvvjii0bNs3z5chmG4fzlcDiUnZ2tlStXauzYsdq7d68mTJighx56qNq9+/bt05YtW2r8lZ6eXsPTalZ1y7kzzzyzzmurnq96n6+Eh4ebjh999FHFx8dXuy4hIUF//vOfJZ1YEbVo0SLT+R07duiJJ56QJL388suKjIxscm1Tp041/VkahqHCwkL9+OOPmjx5svLy8vTss8/qkksuUVFRUZOfBwAAAAAAAHib60ope2KSnypBYxFKAS3E/fffr9jYWEny2Eobi8Uiu92uoUOHatGiRbr++uslSdOnT6/Wu+qWW25Rv379avxV2Y/KHVW3xGvbtu5/6dCuXbsa7/MV11VcI0aMqPXa4cOHOz9/++23zs+GYej2229XSUmJxo4dq9GjR3u+0P+JiIhQv3799PTTTzv/TFauXKl//vOfXnsmAAAAAAAA4CmuPaVsiayUCjT0lILXhUeF6Nbp5/rkWT8uP2TqFxUWGaySwnLn8cCRnXXaBR3cns/hcCgvL0/SiQDCanUvxw2PCnH7GZ4SGxur+++/X1OmTNGGDRu0dOlSjwcckydP1oIFCyRJs2bN0oUXXujR+V3Vtx+sYRhefX59OnToIIvF4qyjffv2tV7bsWNH5+eqK8e++eYbrVy5UpJ09tln67333qt2b0ZGhvPzvn37nNeceuqpOvXUUxtV+2233aZHHnlEWVlZmjVrlv72t781ah4AAAAAAADAV3LSzaGUne37Ag6hFLzOYrUoIibU68/Z9MUBUyA1ZGxX9R/eSZu+OKB1i/dIkjZ+ul8hYUHqP7yTW3M6HA6VGScCpoiYULdDKX+ZNGmSXnjhBR07dkxTpkzRqFGjPDp/r169nJ9/+ukn07kVK1Z45BlVt787cuRIndcePfrrf4Rq2jbP26KiotSpUyft379f0onvl6CgoBqvraiocH4ODv71r96SkhLn58mTJ9f7zFWrVmnVqlWSTmzR19hQymq1qnv37lq/fr3S0tKUlZXll99DAAAAAAAAwB2OigrlHcs0jdnYvi/gNO+fsANuqho8Sb8GUpLUf3gnDRnb1Xlu3eI92vTFAZ/X6AsxMTHOYGPz5s36+OOPPTp/efmvq87Kyso8OnelqiHL+vXr67x2w4YNNd7nS0OHDnV+3rNnT63XVT1X14oqX/LFnycAAAAAAADgCfnHj8lR5R9+S5Kd7fsCDqEUAl5dgVSl1hRM3X333UpKOvEvBKZOnerRLe6q9kKquh2dJyUnJ6t3796SpA8//NC5faKriooKzZkzR5IUFxen/v37e6We+lx11VXOz4sWLar1uqrnzjvvPOfn888/X4Zh1Plr3759zutvvvlm5/i0adMaXXdhYaG2bt0qSQoPD1dCQkKj5wIAAAAAAAC8LbdKSwxJCg4NU4TN7qdq0FiEUgho7gRSlVpLMBUVFaWHH35Y0okt9j799FOPzFtSUqIpU6Y4j0eOHOmReWty1113STrRS+mee+6pMVh77LHHnKHK+PHjFRYW5rV66jJ69GjnKq2nnnpKO3bsqHbNtm3b9Mwzz0iSEhMTdeWVV/q0xppMnTpVRUVFkqThw4fXuu0gAAAAAAAA0BzkZJj7SdkSk+rtSY/mh55SCFhpu7PdDqQqVZ6vvG/d4j1q19Wu5G6xXqvTHyZOnKhnnnlGhw8fVmZmZv03/M++ffuqrZjJzc3V999/r1dffVU///yzJKlbt266/fbbPVpzVXfccYfmz5+vdevWae7cuTpw4IDuuusunXLKKTp8+LBmz57tXHnUtWtX/fWvf/VaLfWxWq167bXXdNFFFyk3N1dnn322Hn74YQ0bNkyGYWjlypV66qmnlJ+fL0l66aWXFBkZ6fW60tPTtWXLFtNYcXGxdu3apXnz5unzzz+XdGKV1N///nev1wMAAAAAAAA0RW6GeaWUnX5SAYlQCgEruVusBo3qrG+X7XcrkKpUNZgaNKpziwukJCkiIkJ//vOfdc899zTovltvvbXea04//XR9/PHHioiIaGx59QoKCtLSpUs1ZswYrV27VitWrNCKFSuqXde7d2999tlnio6O9lot7jj33HO1YMEC3XLLLcrKynKuVKsqJCREL774oq699lqf1PTaa6/ptddeq/OaxMREvfPOO+rXr59PagIAAAAAAAAaKyfdZaVUUjs/VYKmIJRCQBt82Snq0Du+wcFS/+GdWuQKqarGjx+vp59+WgcPHmzSPJGRkUpKSlL//v01btw4XX311QoO9v5fHfHx8Vq1apUWLFig+fPna/PmzcrKypLNZlO/fv00btw4jR8/XqGhoV6vxR1XXXWVBg0apJdeeknLli3TwYMH5XA41LFjR/32t7/VpEmT1K1bN7/WGBoaqvj4ePXt21cjR47ULbfcori4OL/WBAAAAAAAALgj12X7PlZKBSZCKQS8xgZLgRhInX/++TX2V6pJWFiYfvnll3qvmzZtmqZNm9bEyhomJSVFKSkp9V5ntVp1ww036IYbbvDIc/fv3++ReWpz8skna/r06Zo+fbpH5+3cubNbf+4N+f4AAAAAAAAAAkmOy/Z9tsS2fqoETWH1dwEAAAAAAAAAAAC1cVRUKO9YhmmMlVKBiVAKAAAAAAAAAAA0W/lZx2Q4HKYxWxIrpQIRoRQAAAAAAAAAAGi2clz6SQWHhSkixuanatAUhFIAAAAAAAAAAKDZykk3h1L2xLayWCx+qgZNQSgFAAAAAAAAAACarVyXlVJ2tu4LWIRSAAAAAAAAAACg2crNSDcd2xKT/FQJmopQCgAAAAAAAAAANFuuPaVsiayUClSEUgAAAAAAAAAAoNlyXSllZ6VUwCKUAgAAAAAAAAAAzZKjokJ5xzJNY6yUClyEUgAAAAAAAAAAoFnKO5Ypw+EwjdmTCKUCFaEUAAAAAAAAAABolnLSzf2kQsIjFB4d46dq0FSEUgAAAAAAAAAAoFnKzTCHUvbEJFksFj9Vg6YilAIAAAAAAAAAAM1STka66diWmOSnSuAJhFIAAAAAAAAAAKBZcl0pZUukn1QgI5QCAAAAAAAAAADNUq7LSik7K6UCGqEUAAAAAAAAAABolnJce0oltfNTJfAEQikAAAAAAAAAANDsVJSXK//YMdMYPaUCG6EUAAAAAAAAAABodvKOZcowHKYxWxI9pQIZoRQAAAAAAAAAAGh2cl227guNiFB4VLSfqoEnEEoBAAAAAAAAAIBmx7WflC2xrSwWi5+qgScQSgEBZMWKFbJYLM5f1113Xb33pKSkOK+vybRp00xzVv0VFBSk2NhYDRgwQA888IB27drlka9jzpw5zmfMmTPHI3NK0v79+2v9Whryq6F2796td999V3/84x91zjnnKDIystFfX3l5uWbMmKGhQ4cqMTFRERER6tatm+644w5t3bq13vs3bdqkJ554QiNGjFDHjh0VFham6Oho9ejRQykpKVq9enWDv75KhYWFOuWUU5xfW+fOneu8vq7f44iICHXs2FGXXXaZ3n77bVVUVDS6LgAAAAAAALRMuRnppmP6SQW+YH8XAKDxPvjgAz366KPq16+fV+Z3OBzKycnRpk2btGnTJr388st68cUXdfvtt3vleYFo5cqVOv/88z0y17FjxzRq1CitX7/eNL5nzx7t2bNHc+bM0auvvqpbb721xvuHDRumVatWVRsvLS3Vrl27tGvXLs2dO1c33nijZs6cqdDQ0AbVN2XKFO3bt69B99SmuLhYhw4d0qFDh7R06VK9+OKL+vTTT5WYmOiR+QEAAAAAABD4ctPNK6Xs9JMKeIRSCHiHtv+sDr36+uy+5sQwDE2dOlWLFi3yyHyzZ8/WoEGDnMcVFRU6fPiwPvvsM7322msqLS3VxIkT1b17d1144YUeeaYntW/fXj/99FOt54cPH660tDQlJyfriy++8MgzDcNwfrZarerdu7eioqK0YcOGBs1TUVGhK6+80hlIXXnllRo/frzi4+O1fv16Pf7440pPT9eECRPUvn17DR8+vNocqampkqTk5GRdffXVOu+883TyySeroqJC69at07PPPqvU1FS9/fbbKi8v14IFC9yub/PmzXr++ecVHh6ukJAQ5eXluX3vwIED9dZbb5nG8vPztWXLFr388sv64YcftHHjRo0bN04rV650e14AAAAAAAC0bK7b99kTCaUCHaEUAtrXH87XuoXv6rzrUzT48nFu37dhyUKtXjBHQ8b9Tmdf/XsvVug9CQkJyszM1OLFi7Vp0yb179+/yXN26dJFp556qmns9NNP16WXXqozzjhDt956qwzD0PTp05tlKBUSElKtftfz7lzXEO3bt9f06dM1aNAgDRgwQNHR0ZozZ06DQ6m3337bucrpzjvv1CuvvOI8N3jwYI0YMUIDBgxQbm6u7rnnHm3dulXBwea/wnv16qUnnnhCV111lYKCgkznzjrrLN14440655xztHPnTr377ruaOHGizjvvvHprq6io0Pjx41VRUaGpU6dq1qxZDQqloqKiavz9Puuss3T99ddrwIAB2r59u1atWqX169frzDPPdHtuAAAAAAAAtFw5bN/X4tBTCgHr0PaftW7hu5Kk1QvmaMOShW7dVxlISdK6he/q0PafvVWiV913330KCwuTJE2dOtXrz7vllluUkJAgSdW2l2vNunfvrgcffFDDhg1TdHR0o+eZPn26JCkuLs75uapu3brpT3/6kyRp165dWrJkSbVrli5dqmuuuaZaIFUpISFBzz77rPN44UL33pkXXnhB3333nXr27KmHH37YrXvcFRkZqbvvvtt5zPcWAAAAAAAAJKmivEz5WcdMYzZWSgU8QikErA69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VoY777wzybUlIiIiIiIiIiIiIiJqG4ZSncRJJ52El19+GVdccQXq6+tx9913h5UpKyvD0qVLkZGRkYQaEhERERERERERERERtR+H7+tEfvSjH+Gbb77BHXfcgbKyMqSmpiI7Oxtjx47Fgw8+iA0bNqC0tDTZ1SQiIiIiIiIiIiIiImoz9pTqZAYOHIhHH30Ujz76aLKrQkREREREREREREREFDfsKUVEREREREREREREREQJx1CKiIiIiIiIiIiIiIiIEo6hFBERERERERERERERESUcQykiIiIiIiIiIiIiIiJKOIZSRERERERERERERERElHAMpYiIiIiIiIiIiIiIiCjhGEoRERERERERERERERFRwjGUIiIiIiIiIiIiIiIiooRjKEVEREREREREREREREQJx1CKiIiIiIiIiIiIiIiIEo6hFBERERERERERERERESUcQykiIiIiIiIiIiIiIiJKOIZSRERERERERERERERElHAMpYiIiIiIiIiIiIiIiCjhGEoRERERERERERERERFRwjGUIiIiIiIiIiIiIiIiooRjKEVEREREREREREREREQJJye7ApR8Pp/PXD9w4EASa9L5uN1uVFZWAgD27t2LlJSUJNeIqOdg+yNKDrY9ouRh+yNKHrY/ouRg2yNKHrY/ao01K7BmCMeKoRThyJEj5vrJJ5+cxJoQEREREREREREREVFncuTIERQXF8flWhy+j4iIiIiIiIiIiIiIiBJO0DRNS3YlKLmampqwceNGAECvXr0gy+xAZzhw4IDZe+yLL75A3759k1wjop6D7Y8oOdj2iJKH7Y8oedj+iJKDbY8oedj+qDU+n88cZW3EiBFwOp1xuS7TB4LT6cS4ceOSXY1Or2/fvujfv3+yq0HUI7H9ESUH2x5R8rD9ESUP2x9RcrDtESUP2x9FE68h+6w4fB8RERERERERERERERElHEMpIiIiIiIiIiIiIiIiSjiGUkRERERERERERERERJRwDKWIiIiIiIiIiIiIiIgo4RhKERERERERERERERERUcIxlCIiIiIiIiIiIiIiIqKEYyhFRERERERERERERERECSdomqYluxJERERERERERERERETUvbGnFBERERERERERERERESUcQykiIiIiIiIiIiIiIiJKOIZSRERERERERERERERElHAMpYiIiIiIiIiIiIiIiCjhGEoRERERERERERERERFRwjGUIiIiIiIiIiIiIiIiooRjKEVEREREREREREREREQJx1CKiIiIiIiIiIiIiIiIEo6hFBERERERERERERERESUcQykiIiIiIiIiIiIiIiJKOIZSRFHs3r0bv/rVrzBs2DCkpaUhNzcXJ598Mv7617/C5XIlu3pEXcrhw4fx9ttv4w9/+AOmTp2K/Px8CIIAQRBw9dVXt/l6y5cvx0UXXYT+/fvD4XCgf//+uOiii7B8+fL4V56oi1u/fj3+9Kc/YerUqSgqKoLD4UB6ejrKyspw9dVX45NPPmnT9dj+iFpXX1+PRYsW4c4778SZZ56J0tJSZGVlwW63o3fv3pg4cSIeeughVFVVxXQ9tjui+PjNb35j/g0qCAI++uijVs9h+yNqG2sba+kxceLEVq/F9kfUPpWVlXjooYcwfvx49OnTBw6HA4WFhTjllFPw61//GqtXr271Gmx/lFAaEYV5++23taysLA1AxMdxxx2nVVRUJLuaRF1GtLYEQLvqqqtivo6qqtr111/f4vWuv/56TVXVxL0Yoi7kjDPOaLG9GI+f/exnWnNzc4vXYvsjit17770XU9vLz8/Xli9fHvU6bHdE8fPVV19psiwHtZ8PP/wwanm2P6L2ieX3HwDtzDPPjHoNtj+i9nvllVe0vLy8FtvP9OnTo57P9kcdQY4puSLqQb7++mvMnDkTLpcL6enp+N3vfodJkybB7XZj0aJFePbZZ7FlyxZMmzYNa9euRXp6erKrTNSlFBUVYdiwYVixYkWbz/3f//1fPPPMMwCAk046Cb/5zW9QUlKCiooKPPTQQ9iwYQOeeeYZ9OrVCw888EC8q07U5ezbtw8AUFhYiEsuuQSnn346BgwYAEVRsHr1ajzyyCPYt28f/vWvf8Hn8+Gll16Kei22P6K2KSoqwqRJkzBmzBgUFRWhb9++UFUVe/fuxauvvoolS5agsrISF1xwAdauXYsTTzwx7Bpsd0TxoaoqrrvuOvh8PvTu3RuHDx9u9Ry2P6JjM3v2bNx4441Rj6elpUU9xvZH1D4LFy7ENddcA1VV0bt3b8yePRsTJkxAbm4uDh48iIqKCrz11luw2WxRr8H2Rx0i2akYUWczceJEDYAmy7L22WefhR1/6KGHzG8G3H///UmoIVHX84c//EF76623tIMHD2qapmk7duxoc0+prVu3mt9uHTt2rOZyuYKONzY2amPHjjXb77Zt2+L9Moi6nGnTpmkvv/yy5vP5Ih4/cuSIVlZWZrbHjz/+OGI5tj+itonW5qxee+01s+1ddNFFYcfZ7oji57HHHtMAaEOHDtV+97vftdpTiu2PqP2M9nXvvfe263y2P6L2+f777zWHw6EB0E4//XSttrY2atloo2Sw/VFH4ZxSRBZr1641xxWfNWsWysvLw8rceeedGDZsGABg7ty58Hq9HVlFoi7p/vvvx/nnn4+CgoJ2X+Oxxx6Dz+cDAPztb39DSkpK0PHU1FT87W9/AwD4fD7MnTu33c9F1F28/fbbmDlzJiRJing8Pz8fjzzyiLn96quvRizH9kfUNtHanNWMGTMwdOhQAMDHH38cdpztjig+9uzZg3vuuQcAMH/+fNjt9lbPYfsjSh62P6L2ueWWW9Dc3Iz8/HwsWbIEWVlZUctG+13I9kcdhaEUkcXrr79url9zzTURy4iiiCuvvBIAUFNTE9PkuER0bDRNwxtvvAEAGDp0KE499dSI5U499VQcd9xxAPT2rGlah9WRqKuyTjJdUVERdpztjyhxjKGLmpqagvaz3RHFz4033oiGhgZcddVVQb/zomH7I0oetj+i9tm8eTNWrlwJALj55puRn5/f5muw/VFHYihFZPHJJ58A0G8QjBkzJmq5M88801z/9NNPE14vop5ux44d5tw41vYXiXF879692LlzZ6KrRtTleTwec10Uw/80ZPsjSoxNmzbhq6++AgCzx5SB7Y4oPl555RW8/fbbyM3NxcMPPxzTOWx/RMnD9kfUPosXLzbXL7nkEnO9pqYGW7duRVVVVavXYPujjsRQishi06ZNAIDS0lLIshy1nPXGgXEOESWOtZ2F3rgLxfZJ1DarVq0y1yO1L7Y/ovhxuVzYunUrHn30UUyaNAmKogAAbrvttqBybHdEx662ttZsWw8++CB69eoV03lsf0TxsXjxYhx33HFISUlBRkYGhgwZgquuugoffvhh1HPY/oja5/PPPwcAZGVlYdiwYXjxxRcxcuRI5ObmoqysDPn5+Rg8eDDuv/9+NDQ0RLwG2x91pOh33Yl6mKamJlRWVgIA+vfv32LZnJwcpKWlobGxEXv27OmI6hH1aNZ21lr7LCoqingeEYVTVRV/+ctfzO2ZM2eGlWH7Izo2L7zwQtRhoQHgV7/6FS6//PKgfWx3RMfuN7/5DQ4ePIjTTjsNs2bNivk8tj+i+Pj++++Dtrdt24Zt27Zh4cKFmDFjBl544YWwOW/Y/ojax2hvxcXFuOWWW/DUU0+FldmxYwfuu+8+vPrqq3j33XdRWFgYdJztjzoSe0oR+R09etRcT09Pb7W8MQdAtG8YEFH8tKV9Gm0TYPskas1jjz2GL774AgBw4YUXYuzYsWFl2P6IEmPUqFH4/PPP8fDDD0MQhKBjbHdEx+bTTz/FP/7xD8iyjKeffjqsjbWE7Y/o2KSmpuLSSy/Fs88+i08++QQbNmzAihUr8Pvf/x55eXkA9Hlopk+fDq/XG3Qu2x9R+1RXVwPQ55Z66qmnkJ2djaeffhqHDx9GU1MT1q5di6lTpwIAvv32W1xyySVQVTXoGmx/1JHYU4rIzzrBtN1ub7W8w+EAALjd7oTViYh0bWmfRtsE2D6JWrJq1Sr89re/BQD07t0b8+fPj1iO7Y/o2MyYMcMMfN1uNyoqKvDKK6/gtddew+WXX465c+fi/PPPDzqH7Y6o/TweD66//npomoY77rgDI0aMaNP5bH9Ex2bfvn3Izs4O2z958mTccsstmDp1KjZs2IBVq1Zh/vz5uPXWW80ybH9E7dPY2AgAaG5uhiRJWLZsGU499VTz+NixY/H222/j/PPPx7Jly/DZZ59hyZIl+PGPf2yWYfujjsSeUkR+TqfTXLdO+h5Nc3MzACAlJSVhdSIiXVvap9E2AbZPomi+++47XHjhhfD5fHA4HHjllVdQUFAQsSzbH9Gxyc7OxgknnIATTjgB48aNw6WXXoolS5Zg4cKF2L59O6ZPn44XXngh6By2O6L2+9Of/oRNmzZhwIABuPfee9t8Ptsf0bGJFEgZCgoK8Oqrr5o3vP/2t78FHWf7I2ofa9u55JJLggIpgyiKePjhh83tf//731GvwfZHicZQisgvIyPDXI+l66nxLYRYhvojomPTlvZptE2A7ZMokh07duDcc89FTU0NJEnCv//9b5x55plRy7P9ESXGz372M3PolJtvvhk1NTXmMbY7ovbZvHkz/vznPwPQb3ZbhxeKFdsfUWINHjwYkydPBqDPM7V//37zGNsfUftY244xTF8kxx9/PPr16wcAWLt2bdRrsP1RonH4PiI/p9OJ/Px8VFZWYu/evS2WrampMX8AWyf3I6LEsE6y2Vr7tE6yyfZJFGz//v0455xzsH//fgiCgOeeew4XXnhhi+ew/RElzvTp0/HKK6+gsbERy5Ytw09/+lMAbHdE7fXYY4/B4/Fg8ODBcLlcWLRoUViZb7/91lz/4IMPcPDgQQDAj370I6SlpbH9EXWA4cOHY+nSpQD04f4KCwsB8PcfUXsVFRWZv8+s7Sha2X379uHw4cNB+9n+qCMxlCKyGDZsGD755BNs27YNPp8Pshy5iWzevDnoHCJKrOHDh5vr1vYXCdsnUWSVlZWYPHkytm/fDkD/BvmVV17Z6nlsf0SJ06tXL3N9165d5jrbHVH7GMMJbd++HZdddlmr5efMmWOu79ixA2lpaWx/RB1A07SI+9n+iNrn+OOPN3s+KYrSYlnjeOg9T7Y/6kgcvo/IYsKECQD0bqhffvll1HKrVq0y18ePH5/wehH1dIMGDTK/PWdtf5F8/PHHAIB+/fqhuLg40VUj6hLq6uowZcoUfP/99wCAv/zlL7jppptiOpftjyhx9u3bZ65bhz5huyNKHrY/osQz/iYFYLY3gO2PqL3OOOMMc72ioqLFssaXFI1h/Axsf9SRGEoRWcyYMcNcf/755yOWUVUVCxcuBKBP4Dlp0qSOqBpRjyYIAqZPnw5A/0bO559/HrHc559/bn5jZ/r06RAEocPqSNRZuVwuTJs2DevXrwcA/P73v8ddd90V8/lsf0SJs3jxYnN9xIgR5jrbHVH7vPDCC9A0rcXHvffea5b/8MMPzf3GTTW2P6LE2r59O9577z0A+vxS1hvjbH9E7XPBBRfAZrMBAJYsWRK13KpVq1BVVQUAOP3004OOsf1RR2IoRWRx8sknmz+UFyxYgNWrV4eVeeSRR7Bp0yYAwG233Wb+0CeixLr99tvN7uW33HIL3G530HG3241bbrkFgN4N/fbbb+/oKhJ1Oh6PBxdeeCH++9//AtB/bz3wwANtvg7bH1HbvPDCC2hqamqxzGOPPYZ33nkHAFBcXGz22Dew3RElD9sfUfu89dZb8Pl8UY8fOnQIP/7xj+H1egEgYs99tj+itsvLy8PPf/5zAMB7770XcU7Fo0ePBrWXG264IawM2x91FEGLNpArUQ+1YcMGjB8/Hm63G+np6bj77rsxadIkuN1uLFq0CM888wwAoKysDOvWrUNGRkaSa0zU+X366afYtm2buV1ZWYlf//rXAPQhMI0/ngxXX311xOv87ne/w1/+8hcAwEknnYS77roLJSUlqKiowIMPPogNGzaY5f70pz8l4JUQdS0XX3yx+U25s846C3Pnzm3xm2x2ux1lZWURj7H9EcWuuLgYR48excUXX4wJEyagpKQE6enpOHr0KDZu3IgXX3zRDIvtdjuWLl2Kc845J+w6bHdE8Xfffffh/vvvB6D3lJo4cWLEcmx/RG1XXFwMr9eLiy++GOXl5SguLkZKSgoqKyvx0Ucf4emnnzZ7aUyYMAHvv/8+HA5H2HXY/oja7siRIxg7dix2794NWZbxi1/8AhdddBEyMzOxceNGPPjgg2YPp9mzZ2PevHkRr8P2Rx1CI6Iwb775ppaZmakBiPgoKyvTtm7dmuxqEnUZV111VdT2FOkRjaIo2rXXXtviubNmzdIURenAV0fUebWl3QHQBg4cGPVabH9EsRs4cGBMba5///7aihUrol6H7Y4o/u69916z/Xz44YdRy7H9EbVdrL//Lr74Yq2mpibqddj+iNrn+++/10pLS1tsO9dee63m8XiiXoPtjzoCe0oRRbFr1y48/vjjWLp0Kfbu3Qu73Y7S0lJccskluPnmm5GamprsKhJ1GVdffTX++c9/xly+tV9N77zzDp555hmsXbsWlZWVyM/Px7hx43DDDTdg6tSpx1pdom6jreN7Dxw4EDt37myxDNsfUesqKirw/vvv48MPP8SmTZtw6NAhVFVVwel0oqCgAKNGjcL555+PmTNnxvQ3JdsdUfzE2lPKwPZHFLtVq1Zh1apVWL16NbZv347KykrU19cjPT0dRUVFOO2003DVVVehvLw8puux/RG1XWNjI+bPn49XX30VW7duRUNDA3r37o3x48fjhhtuwKRJk2K6DtsfJRJDKSIiIiIiIiIiIiIiIko4MdkVICIiIiIiIiIiIiIiou6PoRQRERERERERERERERElHEMpIiIiIiIiIiIiIiIiSjiGUkRERERERERERERERJRwDKWIiIiIiIiIiIiIiIgo4RhKERERERERERERERERUcIxlCIiIiIiIiIiIiIiIqKEYyhFRERERERERERERERECcdQioiIiIiIiIiIiIiIiBKOoRQRERERERERERERERElHEMpIiIiIiIiIiIiIiIiSjiGUkRERERERERERERERJRwDKWIiIiIiIiIiIiIiIgo4RhKERERERERERERERERUcIxlCIiIiIiIiIiIiIiIqKEYyhFRERERERERERERERECcdQioiIiIiIiFr0wgsvQBCEsMcLL7zQ7mt+9NFH5nU++uijuNU1kkTUn4iIiIiI2o6hFBERERERURtYw5T77ruvxbKHDh3CCSecYJafPXs2NE07pue/77772hzmTJw40Tynq7C+ztCHJEnIzs7GmDFjcOedd2Lr1q3Jri4REREREcVATnYFiIiIiIiIuqMDBw7grLPOwubNmwEAt912G+bOnZvcSsXBu+++i8LCQgBA//79k1IHVVVRV1eH9evXY/369XjyySfxxBNP4IYbbohYfsaMGRg7diwAYP/+/ZgyZUpHVpeIiIiIiPwYShEREREREcXZ3r17cdZZZ5k9eH71q1/h4YcfTnKt4qOsrAzFxcUd+pzPPfccxo0bZ24rioIDBw5g2bJlmD9/PjweD2bPno0hQ4bgrLPOCjs/Ozsb2dnZAID09PSOqjYREREREYVgKEVERERERBRHu3btwqRJk7Bjxw4AwO9//3s88MADSa5V1zZo0CCccMIJQftGjhyJ8847D6NGjcK1114LTdPw8MMPRwyliIiIiIioc+CcUkRERERERHFSUVGBM844wwyk7rvvPgZSCXbNNdcgPz8fALBmzZok14aIiIiIiFrCUIqIiIiIiCgOfvjhB5x55pnYvXs3AODPf/4z7r333iTXKnncbjf++Mc/YuTIkUhLS0NeXh7Gjx+PZ599FqqqxvW5jOEEm5qa4npdIiIiIiKKLw7fR0REREREdIw2bdqEs846CwcPHgQAPProo7jjjjuSXKvk2b9/P84++2xs3rzZ3OdyufDZZ5/hs88+w5IlS+L6/uzcuRMAMGDAgLhdk4iIiIiI4o+hFBERERER0THYuHEjzjnnHBw+fBiCIOCJJ57AzTffnOxqJY3P58P5559vBlLnnnsuZs+ejaKiIuzevRvz5s3D8uXLUVVVFZfn++c//4nKykoAwAUXXBCXaxIRERERUWIwlCIiIiIiImqnr7/+Gk8++SSqqqogCAL+/ve/47rrrkt2tZJq/vz52LBhAwDg+uuvx9///nfz2JgxY3DhhRdi1qxZeO6552K+5o4dO8x5owBAURQcOnQIy5Ytw7x58wAAQ4cOxa9//es4vQoiIiIiIkoEhlJERERERETt9Prrr5vr8+bN6/GBFKCHUgBQUFCAxx57LGKZxx9/HG+99RaOHDkS0zWvvfbaqMeysrJwzz334KabbkJOTk7bK0xERERERB1GTHYFiIiIiIiIuipBEMz1N998Ex6PJ4m1Sb79+/dj06ZNAICZM2ciNTU1Yrn09HTMnDkzLs9ZV1eH559/Hq+++mpcrkdERERERInDUIqIiIiIiKidZs+ejeHDhwMAli1bhssuuww+ny/JtUqejRs3muvjxo1rsezJJ58c83U//PBDaJpmPlRVRW1tLVatWoULL7wQ27dvx/XXX4/f/OY37a47ERERERElHkMpIiIiIiKidurVqxfef/99lJaWAgCWLFmCq666CqqqJuw5rb2zYqVpWgJqEq6mpsZc7927d4tlCwoK2v08giAgKysLZ5xxBpYsWYKf/vSnAICHH34YH3zwQbuvS0REREREicVQioiIiIiI6Bj07dsXH3zwAQYOHAgAeOmll3DdddclLAhKSUkx110uV0znNDY2AgDS0tISUieD9TW3Fp7F8/359a9/ba4vWLAgbtclIiIiIqL4YihFRERERER0jIqKirBy5UoUFhYCAJ577jnceuutCXmu3Nxcc/3gwYMxnWOUs56bCNbrHzp0qMWyhw8fjtvzDh061Fy3DiFIRERERESdC0MpIiIiIiKiOCgpKcHKlSvNYeuefPLJhMxxdOKJJ5rr69evb7X8oUOHsG/fvrBzE2HEiBHm+tq1a1ss29rxtrDO4+X1euN2XSIiIiIiii+GUkRERERERHEydOhQvPfee2aPoYcffhj33XdfXJ/jpJNOMq+/ZMkSNDU1tVj+xRdfNNfPPvvsuNYlVGFhIYYNGwYAWLx4Mdxud8RyjY2NeOWVV+L2vNaAq6ioKG7XJSIiIiKi+GIoRUREREREFEcnnngi3n33XWRmZgIA7r//fjz00ENxu77NZsP1118PADhw4ABuv/32qPMzbdy4EXPmzAEApKen4+qrr45bPaKZPXs2AH3IwDvvvDNimTvuuCNuw/c1NzfjD3/4g7n9P//zP3G5LhERERERxZ+c7AoQERERERF1N2PHjsU777yDKVOmoLGxEXfddRdSU1Nx8803x+X6//u//4s33ngDmzZtwt///nds2LABs2bNwogRI+B0OnHgwAG89957eOaZZ+ByuQAA8+bNQ05OTlyevyWzZ8/G888/jw0bNmD+/PnYsWMHfvGLX6CoqAh79uzBvHnzsGLFCowbNy7mIfx27NiB/Pz8oH319fX46quvMG/ePHz33XcAgNLSUtxwww1xf01ERERERBQfDKWIiIiIiIgSYPz48XjzzTcxbdo0NDU14dZbb0VKSgpmzZp1zNdOS0vDypUr8eMf/xifffYZvvjiC3zxxRcRyzqdTjz55JP42c9+dszPGwtZlvH222/jrLPOwpYtW7B8+XIsX748qMy5556LO++8E1OmTInpmtdee22rZUaOHInXX38dKSkp7ao3ERERERElHofvIyIiIiIiSpCzzjoLS5Ysgd1uh6ZpuP7664PmeDoWffv2xaeffoo333wTV1xxBUpKSpCeng6bzYZevXphwoQJuO+++7Bjx464BGFtUVhYiA0bNuCBBx7ACSecgJSUFGRnZ+PUU0/FvHnzsGzZMtjt9mN6jtTUVBQXF+Oiiy7CSy+9hHXr1qG4uDg+L4CIiIiIiBJC0KINPk5EREREREQE4IUXXsA111wDQB9KryuHPzt37sSgQYMAAM8//3yHzLNFREREREQ6Dt9HREREREREMfvhhx/Q0NAAAOjfvz+ys7OTW6EY1NbWYu/evQCA/fv3J7k2REREREQ9F0MpIiIiIiIiipl1Hqiu0tPo9ddfN3t6ERERERFR8nBOKSIiIiIiIiIiIiIiIko4zilFRERERETUgb799tt2nddVhsojIiIiIiKKhqEUERERERFRBxIEoV3ndZWh8oiIiIiIiKLh8H1ERERERERERERERESUcHKyK0BERERERNSTcLAKIiIiIiLqqdhTioiIiIiIiIiIiIiIiBKOoRQRERERERERERERERElHEMpIiIiIiIiIiIiIiIiSjiGUkRERERERERERERERJRwDKWIiIiIiIiIiIiIiIgo4RhKERERERERERERERERUcIxlCIiIiIiIiIiIiIiIqKEYyhFRERERERERERERERECcdQioiIiIiIiIiIiIiIiBKOoRQRERERERERERERERElHEMpIiIiIiIiIiIiIiIiSjiGUkRERERERERERERERJRwDKWIiIiIiIiIiIiIiIgo4RhKERERERERERERERERUcIxlCIiIiIiIiIiIiIiIqKEYyhFRERERERERERERERECcdQioiIiIiIiIiIiIiIiBKOoRQRERERERERERERERElHEMpIiIiIiIiIiIiIiIiSrj/D0s1FdAUIa75AAAAAElFTkSuQmCC", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABpwAAARGCAYAAAAl5xNUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdeVxUVf8H8M/MsO+bKJvgLiqaKKKAay6lueaaG2qlWD1ZqWn1KD6pqalZ7iWuWWmWmVuaK4KK4Iq5L7gAiiyyb8Pc3x/8uDEswwAzDMvn/Xrx4t5zzzn3O8NwGe53zjkSQRAEEBEREREREREREREREVWQVNcBEBERERERERERERERUc3GhBMRERERERERERERERFVChNOREREREREREREREREVClMOBEREREREREREREREVGlMOFERERERERERERERERElcKEExEREREREREREREREVUKE05ERERERERERERERERUKUw4ERERERERERERERERUaUw4URERERERERERERERESVwoQTERERERERERERERERVQoTTkRERERERERERERERFQpTDgRERERERERERERERFRpTDhRERERERERERERERERJXChBMRERERERERERERERFVChNOREREREREREREREREVClMOBEREREREREREREREVGlMOFERERERERERERERERElcKEExEREREREREREREREVUKE05ERERERERERERERERUKUw4ERERERERERFRlejRowckEgkkEglOnTql63CIiIhIg5hwIiIiIiqBv7+/eDOkpC9TU1M4OTmhV69e+OKLL3D37l21+966davKvkv7mjFjhsp+k5OTsWLFCvTp0weOjo4wNDREvXr14Onpic8//xx37twp13OQkZGB0NBQrFq1CmPHjkWLFi0glUrFeAIDA8vVX0kuXbqEOXPmoGPHjnBwcIChoSEcHR3h6emJyZMnY8eOHXj27Jna/R0/fhwTJkxA8+bNYWpqChsbG7Rt2xazZs3CrVu3Kh1vUYVfJ/7+/qXWi4qKqtDPXNXX1q1bxf4DAwMr3I+bm5tGnouSXtfDhg0rVx///POP1uJT9RyYmZnB0dER7u7u6NevH+bOnYs9e/YgJSVFI+cmIiIiIiKqC5hwIiIiIqqAjIwMxMTE4OTJk1i0aBFatGiB999/H1lZWTqJ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6Lh33nlnafmll17KnDlzMmfOnFx44YWZOXNmjj766G7t99lnn213/eLFi0vLNTU1qamp6dZxNjWrVq1qdRmgXNQZoNLUGaDS1BmgktQYoNLUmbZVIifol4HTa6+9VloeMWJEh+3XB07Lly/v1vF23333HHPMMZk8eXLGjBmTtWvX5rHHHstPfvKTzJo1K6+88ko+8IEP5JZbbsnhhx/e5f2PHTu2023vueeejB49usvH2NTdc889Pd0FYBOnzgCVps4AlabOAJWkxgCVps40tf6mnHLql4FT4yRz8ODBHbYfMmRIku4lfqeffnpmzJjR4vl3vvOd+fjHP56rrroqn/rUp7Ju3bp88pOfzIIFCzJs2LAuHwcAAAAAAKCn9MvAaejQoaXlNWvWdNh+9erVSdKtIGjUqFHtrj/11FPzhz/8Iddcc02ef/753HTTTTnhhBO6dIyOhvpbvHhxJk+enCQ54IADOhxGsL9YtWpVKdU+4IADmvxdAJSDOgNUmjoDVJo6A1SSGgNUmjrTto6m6umOfhk4jRw5srTcmWHyVqxYkaRzw+91x6mnnpprrrkmSTJnzpwuB05dCZCGDRvmDqpWDB061HkBKkqdASpNnQEqTZ0BKkmNASpNnWmqEudiQNn32AcMHTq0NI9RRyne0qVLS4FTV+ZK6opdd921tPzcc89V5BgAAAAAAACV0i8DpySZNGlSkmTBggWpra1ts938+fNbbFNu9fX1FdkvAAAAAADAxtBvA6f9998/ScNweX/84x/bbDdnzpzS8n777VeRvvztb38rLY8ZM6YixwAAAAAAAKiUfhs4HXPMMaXl66+/vtU2dXV1+fGPf5wkGTVqVKZOnVqRvlx11VWl5SlTplTkGAAAAAAAAJXSbwOnyZMn51//9V+TJNdee23uv//+Fm2+853vZN68eUmSz3/+8xk0aFCT9TNnzkxVVVWqqqoyY8aMFts/+uijWbBgQbv9uOqqq3LttdcmSd74xjfm2GOP7c7LAQAAAAAA6DHVPd2BnnT55Zdnv/32S01NTQ499NB85StfydSpU1NTU5MbbrghV199dZJkwoQJOfPMM7u8/z/+8Y/55Cc/malTp+bwww/P7rvvnje84Q2pra3N/Pnz85//+Z+54447kiQDBw7MVVddleHDh5f1NQIAAAAAAFRavw6c9thjj/z85z/PRz/6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AAAAChE4AQAAAAAAUIjACQAAAAAAgEIETgAAAAAAABQicAIAAAAAAKAQgRMAAAAAAACFCJwAAAAAAAAoROAEAAAAAABAIQInAAAAAAAAChE40S8tWrQoZ511ViZNmpThw4dnq622yuTJk/Ptb387K1eu7OnuAb3QP/7xj9x6660555xzcvjhh2f06NGpqqpKVVVVpk2b1uX9/eY3v8n73//+bL/99hkyZEi23377vP/9789vfvOb8nce6BMefvjhfOtb38rhhx+esWPHZsiQIRkxYkQmTJiQadOm5Xe/+12X9qfOAI0tW7YsN9xwQ84888xMmTIl48ePzxZbbJHBgwdnm222yYEHHpiLLrooL7/8cqf2p8YAXXH22WeXPj9VVVXl7rvv7nAbdQZoTeNa0t7jwAMP7HBf6kz5VdXX19f3dCdgY7rttttywgkn5NVXX211/S677JLbb789O+6440buGdCbVVVVtbnuxBNPzMyZMzu1n/r6+nzqU5/K1Vdf3WabU045JT/4wQ/aPSawaZkyZUruueeeDtt97GMfyzXXXJPBgwe32UadAVpz55135pBDDumw3ejRo/Of//mfOeyww1pdr8YAXfWnP/0pe+21V2pra0vPzZ49u82LweoM0J7O/n8/ZcqUNsNtdaZy3OFEv/KnP/0pxx13XF599dWMGDEi5513Xu67777cddddOfnkk5Mkjz32WI444ogsX768h3sL9FZjx47NoYce2q1t/+3f/q30hmaPPfbIz372szz44IP52c9+lj322CNJcvXVV+drX/ta2foL9H7PPfdckmTMmDH5/Oc/n1/84hd58MEHc//99+eSSy7Jm970piTJf/zHf3R4V6U6A7Rl7Nix+fjHP57LL788N910U+6///7ce++9+fnPf54PfehDGThwYJYsWZL3ve99+fOf/9zqPtQYoCvq6upy8sknp7a2Nttss02ntlFngM447bTT8uijj7b5uP7669vcVp2poHroRw488MD6JPXV1dX19913X4v1F110UX2S+iT15557bg/0EOitzjnnnPpbbrml/oUXXqivr6+vf+qpp0r14sQTT+zUPh5//PH66urq+iT1e+21V/3KlSubrF+xYkX9XnvtVapTCxYsKPfLAHqpI444ov7nP/95fW1tbavrX3rppfoJEyaU6s4999zTajt1BmhLW/WlsV/+8pelOvP+97+/xXo1BuiqSy+9tD5J/cSJE+u//OUvl2rM7NmzW22vzgAdWV9Hvv71r3dre3WmstzhRL/x0EMPlW6jnD59evbdd98Wbc4888xMmjQpSXLZZZdl7dq1G7OLQC927rnn5sgjj8y2227b7X1ceumlpWEkvvvd72bYsGFN1m+22Wb57ne/mySpra3NZZdd1u1jAX3LrbfemuOOOy4DBw5sdf3o0aPzne98p/TzL37xi1bbqTNAW9qqL40dc8wxmThxYpK0OsynGgN0xTPPPFO6O+DKK69sd0jg9dQZoNLUmcoSONFv3HzzzaXlT3ziE622GTBgQD7+8Y8nSZYuXdqpSSwBOqO+vj7//d//nSSZOHFi9tlnn1bb7bPPPtlll12SNNStelMtAq9rPM/BE0880WK9OgOUw/Dhw5Mkq1atavK8GgN01f/5P/8ny5cvz4knntjmfE2NqTNApakzlSdwot/43e9+l6ThA9See+7ZZrspU6aUlufOnVvxfgH9w1NPPVWao6VxnWnN+vXPPvtsnn766Up3Degj1qxZU1oeMKDl23h1Bihq3rx5+d///d8kKd3ptJ4aA3TFjTfemFtvvTVbbbVVLr744k5to84AlabOVJ7AiX5j3rx5SZLx48enurq6zXaNP1it3wagqMb1pPkFnObUIaA1c+bMKS23VkfUGaA7Vq5cmccffzyXXHJJpk6dmnXr1iVJPv/5zzdpp8YAnfXKK6+UasiFF16YrbfeulPbqTNAV/zXf/1XdtlllwwbNiwjR47MzjvvnBNPPDGzZ89ucxt1pvLavuoOm5BVq1ZlyZIlSZLtt9++3bZbbrllhg8fnhUrVuSZZ57ZGN0D+oHG9aSjOjR27NhWtwP6r7q6ulxwwQWln4877rgWbdQZoLNmzpzZ5jDjSXLWWWflhBNOaPKcGgN01tlnn50XXngh73rXuzJ9+vROb6fOAF3xt7/9rcnPCxYsyIIFC/LjH/84xxxzTGbOnJktttiiSRt1pvIETvQLr732Wml5xIgRHbZfHzgtX768kt0C+pGu1KH1cyckUYeAJA0T2z744INJkmOPPTZ77bVXizbqDFDU29/+9vzgBz/IO9/5zhbr1BigM+bOnZtrrrkm1dXV+cEPfpCqqqpOb6vOAJ2x2Wab5X3ve18OPvjgTJw4MSNGjMhLL72UOXPm5Ac/+EFefvnl3HzzzTn66KNzxx13ZNCgQaVt1ZnKEzjRLzSe8Hbw4MEdth8yZEiSpKampmJ9AvqXrtSh9TUoUYeAhqH0vvSlLyVJttlmm1x55ZWttlNngM465phjSsF1TU1Nnnjiidx444355S9/mRNOOCGXXXZZjjzyyCbbqDFAR9asWZNTTjkl9fX1OeOMM7L77rt3aXt1BuiM5557LqNGjWrx/CGHHJLPfvazOfzww/PII49kzpw5ufLKK/O5z32u1EadqTxzONEvDB06tLTceMLttqxevTpJMmzYsIr1CehfulKH1tegRB2C/u6vf/1rjj322NTW1mbIkCG58cYbs+2227baVp0BOmvUqFHZbbfdsttuu2XvvffOhz/84dx000358Y9/nCeffDJHH310Zs6c2WQbNQboyLe+9a3Mmzcvb37zm/P1r3+9y9urM0BntBY2rbftttvmF7/4RSlM+u53v9tkvTpTeQIn+oWRI0eWljtzC+SKFSuSdG74PYDO6EodWl+DEnUI+rOnnnoqhx56aJYuXZqBAwfmZz/7WaZMmdJme3UGKOpjH/tYPvShD6Wuri6f+cxnsnTp0tI6NQZoz/z583P++ecnabjA23goqs5SZ4By2HHHHXPIIYckaZjX6fnnny+tU2cqz5B69AtDhw7N6NGjs2TJkjz77LPttl26dGmpoDSeHA6giMaTUXZUhxpPRqkOQf/0/PPP593vfneef/75VFVV5brrrsuxxx7b7jbqDFAORx99dG688casWLEiv/71r3P88ccnUWOA9l166aVZs2ZNdtxxx6xcuTI33HBDizZ/+ctfSsu//e1v88ILLyRJjjrqqAwfPlydAcpm1113zW233ZakYQi+MWPGJPF+ZmMQONFvTJo0Kb/73e+yYMGC1NbWprq69T//+fPnN9kGoBx23XXX0nLjOtMadQj6tyVLluSQQw7Jk08+maThW8If//jHO9xOnQHKYeutty4tL1y4sLSsxgDtWT/01JNPPpmPfOQjHbb/xje+UVp+6qmnMnz4cHUGKJv6+vpWn1dnKs+QevQb+++/f5KG2yH/+Mc/ttluzpw5peX99tuv4v0C+oe3vOUtpW/UNK4zrbnnnnuSJG9605sybty4SncN6EVeffXVHHbYYfnb3/6WJLngggvy6U9/ulPbqjNAOTz33HOl5cbDx6gxQKWpM0C5rP88laRUVxJ1ZmMQONFvHHPMMaXl66+/vtU2dXV1+fGPf5ykYQK6qVOnboyuAf1AVVVVjj766CQN35J54IEHWm33wAMPlL5Fc/TRR6eqqmqj9RHoWStXrswRRxyRhx9+OEny1a9+NV/84hc7vb06A5TDf/3Xf5WWd99999KyGgO0Z+bMmamvr2/38fWvf73Ufvbs2aXn11/IVWeAcnjyySdzxx13JGmYz+lNb3pTaZ06U3kCJ/qNyZMn51//9V+TJNdee23uv//+Fm2+853vZN68eUmSz3/+8xk0aNBG7SOwaTv99NNLw3l+9rOfTU1NTZP1NTU1+exnP5skqa6uzumnn76xuwj0kDVr1uTYY4/Nvffem6Thfcg3v/nNLu9HnQHaMnPmzKxatardNpdeemluv/32JMm4ceNKo0Ssp8YAlabOAO255ZZbUltb2+b6F198MR/84Aezdu3aJGl1tAh1prLM4US/cvnll2e//fZLTU1NDj300HzlK1/J1KlTU1NTkxtuuCFXX311kmTChAk588wze7i3QG8yd+7cLFiwoPTzkiVLSssLFizIzJkzm7SfNm1ai31MmDAhZ511Vi644IL84Q9/yH777ZcvfvGL2WmnnfLEE0/kwgsvzCOPPJIk+cIXvpCdd965Iq8F6H0+8pGPZNasWUmSgw46KNOnT28ysXZzgwcPzoQJE1o8r84AbZkxY0bOPPPMfOADH8j++++fnXbaKSNGjMhrr72WRx99ND/5yU9KoffgwYPzwx/+sMW8t2oMUGnqDNCez372s1m7dm0+8IEPZN999824ceMybNiwLFmyJHfffXd+8IMf5OWXX07SML1Ka4GTOlNZVfVtzaAFm6hbbrklH/3oR7Ns2bJW10+YMCG33XZbxo8fv5F7BvRm06ZNy49+9KNOt2/rn9e6urqcfPLJue6669rcdvr06bn66qszYIAbkaG/6OoQDTvssEOefvrpVtepM0Brxo0bl4ULF3bYbvvtt891112XQw45pNX1agzQXTNmzMi5556bpGFIvQMPPLDVduoM0JbOvp/5wAc+kGuuuSajRo1qdb06UzkCJ/qlhQsX5vLLL89tt92WZ599NoMHD8748ePzoQ99KJ/5zGey2Wab9XQXgV6mXIHTerfffnuuvvrqPPTQQ1myZElGjx6dvffeO6eeemoOP/zwot0F+phyBk7rqTNAY0888UTuvPPOzJ49O/PmzcuLL76Yl19+OUOHDs22226bt7/97TnyyCNz3HHHderzkBoDdFVnA6f11BmguTlz5mTOnDm5//778+STT2bJkiVZtmxZRowYkbFjx+Zd73pXTjzxxOy7776d2p86U34CJwAAAAAAAApxPxgAAAAAAACFCJwAAAAAAAAoROAEAAAAAABAIQInAAAAAAAAChE4AQAAAAAAUIjACQAAAAAAgEIETgAAAAAAABQicAIAAAAAAKAQgRMAAAAAAACFCJwAAAAAAAAoROAEAAAAAABAIQInAAAAAAAAChE4AQAAAAAAUIjACQAAAAAAgEIETgAAAAAAABQicAIAAAAAAKAQgRMAAEA/NnPmzFRVVbV4zJw5s9v7vPvuu0v7ufvuu8vW19ZUov8AAEDXCZwAAABe1zgomTFjRrttX3zxxey2226l9qeddlrq6+sLHX/GjBldDmoOPPDA0jZ9RePX2fwxcODAjBo1KnvuuWfOPPPMPP744z3dXQAAoBOqe7oDAAAAfc3ixYtz0EEHZf78+UmSz3/+87nssst6tlNl8D//8z8ZM2ZMkmT77bfvkT7U1dXl1VdfzcMPP5yHH3443/ve9/Lv//7vOfXUU1ttf8wxx2SvvfZKkjz//PM57LDDNmZ3AQCA1wmcAAAAuuDZZ5/NQQcdVLrz5qyzzsrFF1/cw70qjwkTJmTcuHEb9ZjXXXdd9t5779LP69aty+LFi/PrX/86V155ZdasWZPTTjstO++8cw466KAW248aNSqjRo1KkowYMWJjdRsAAGhG4AQAANBJCxcuzNSpU/PUU08lSb761a/mm9/8Zg/3qm97y1vekt12263Jc29729vynve8J29/+9tz0kknpb6+PhdffHGrgRMAANA7mMMJAACgE5544okccMABpbBpxowZwqYK+8QnPpHRo0cnSX7/+9/3cG8AAID2CJwAAAA68Pe//z1TpkzJokWLkiTnn39+vv71r/dwr3pOTU1NzjvvvLztbW/L8OHD84Y3vCH77bdffvjDH6aurq6sx1o/xN+qVavKul8AAKC8DKkHAADQjnnz5uWggw7KCy+8kCS55JJLcsYZZ/Rwr3rO888/n4MPPjjz588vPbdy5crcd999ue+++3LTTTeV9fw8/fTTSZI3v/nNZdsnAABQfgInAACANjz66KN597vfnX/84x+pqqrKv//7v+czn/lMT3erx9TW1ubII48shU2HHnpoTjvttIwdOzaLFi3KFVdckd/85jd5+eWXy3K8H/3oR1myZEmS5H3ve19Z9gkAAFSGwAkAAKAVf/rTn/K9730vL7/8cqqqqnLVVVfl5JNP7ulu9agrr7wyjzzySJLklFNOyVVXXVVat+eee+bYY4/N9OnTc91113V6n0899VRpnqYkWbduXV588cX8+te/zhVXXJEkmThxYr7whS+U6VUAAACVIHACAABoxc0331xavuKKK/p92JQ0BE5Jsu222+bSSy9ttc3ll1+eW265JS+99FKn9nnSSSe1uW6LLbbI1772tXz605/Olltu2fUOAwAAG82Anu4AAABAb1RVVVVa/tWvfpU1a9b0YG963vPPP5958+YlSY477rhsttlmrbYbMWJEjjvuuLIc89VXX83111+fX/ziF2XZHwAAUDkCJwAAgFacdtpp2XXXXZMkv/71r/ORj3wktbW1PdyrnvPoo4+Wlvfee+92206ePLnT+509e3bq6+tLj7q6urzyyiuZM2dOjj322Dz55JM55ZRTcvbZZ3e77wAAQOUJnAAAAFqx9dZb584778z48eOTJDfddFNOPPHE1NXVVeyYje+q6qz6+voK9KSlpUuXlpa32Wabdttuu+223T5OVVVVtthiixxwwAG56aabcvzxxydJLr744vz2t7/t9n4BAIDKEjgBAAC0Ybvttstvf/vb7LDDDkmSn/70pzn55JMrFvIMGzastLxy5cpObbNixYokyfDhwyvSp/Uav+aOgrFynp8vfOELpeVrr722bPsFAADKS+AEAADQjrFjx+auu+7KmDFjkiTXXXddPve5z1XkWFtttVVp+YUXXujUNuvbNd62Ehrv/8UXX2y37T/+8Y+yHXfixIml5cbD+gEAAL2LwAkAAKADO+20U+66667SUHLf+973KjKn0Fvf+tbS8sMPP9xh+xdffDHPPfdci20rYffddy8tP/TQQ+227Wh9VzSeN2vt2rVl2y8AAFBeAicAAIBOmDhxYu64447SnT4XX3xxZsyYUdZj7LHHHqX933TTTVm1alW77X/yk5+Ulg8++OCy9qW5MWPGZNKkSUmS//qv/0pNTU2r7VasWJEbb7yxbMdtHF6NHTu2bPsFAADKS+AEAADQSW9961vzP//zP9l8882TJOeee24uuuiisu1/0KBBOeWUU5Ikixcvzumnn97mfEiPPvpovvGNbyRJRowYkWnTppWtH2057bTTkjQM43fmmWe22uaMM84o25B6q1evzjnnnFP6+b3vfW9Z9gsAAJRfdU93AAAAoC/Za6+9cvvtt+ewww7LihUr8sUvfjGbbbZZPvOZz5Rl///2b/+W//7v/868efNy1VVX5ZFHHsn06dOz++67Z+jQoVm8eHHuuOOOXH311Vm5cmWS5IorrsiWW25ZluO357TTTsv111+fRx55JFdeeWWeeuqpfOpTn8rYsWPzzDPP5IorrsisWbOy9957d3pYvaeeeiqjR49u8tyyZcvyv//7v7niiivy17/+NUkyfvz4nHrqqWV/TQAAQHkInAAAALpov/32y69+9ascccQRWbVqVT73uc9l2LBhmT59euF9Dx8+PHfddVc++MEP5r777suDDz6YBx98sNW2Q4cOzfe+97187GMfK3zczqiurs6tt96agw46KI899lh+85vf5De/+U2TNoceemjOPPPMHHbYYZ3a50knndRhm7e97W25+eabM2zYsG71GwAAqDxD6gEAAHTDQQcdlJtuuimDBw9OfX19TjnllCZzKhWx3XbbZe7cufnVr36Vj370o9lpp50yYsSIDBo0KFtvvXX233//zJgxI0899VRZQq6uGDNmTB555JF885vfzG677ZZhw4Zl1KhR2WeffXLFFVfk17/+dQYPHlzoGJtttlnGjRuX97///fnpT3+aP/zhDxk3blx5XgAAAFARVfVtDQgOAADAJm/mzJn5xCc+kaRheLu+HOw8/fTTectb3pIkuf766zfKvFYAAEADQ+oBAACQJPn73/+e5cuXJ0m23377jBo1qmc71AmvvPJKnn322STJ888/38O9AQCA/kvgBAAAQJI0mXepr9whdPPNN5fu0AIAAHqOOZwAAAAAAAAoxBxOAAAAZfKXv/ylW9v1leHrAAAA2iJwAgAAKJOqqqpubddXhq8DAABoiyH1AAAAAAAAKKS6pzsAAACwqTCABAAA0F+5wwkAAAAAAIBCBE4AAAAAAAAUInACAAAAAACgEIETAAAAAAAAhQicAAAAAAAAKETgBAAAAAAAQCECJwAAAAAAAAoROAEAAAAAAFCIwAkAAAAAAIBCBE4AAAAAAAAUInACAAAAAACgEIETAAAAAAAAhQicAAAAAAAAKETgBAAAAAAAQCECJwAAAAAAAAoROAEAAAAAAFCIwAkAAAAAAIBCBE4AAAAAAAAUInACAAAAAACgkP8f7Ij/5G3gxWIAAAAASUVORK5CYII=", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABpwAAARGCAYAAAAl5xNUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzddVhU2f8H8PcMnYKihKAY2BjYid24xqprrR0YK7q2K+a61hprYItr7FfdRdduEbuwRUUFRUURUDpn7u8PftxlpIaYGYT363l4nDn3xGcSuZ97zpEIgiCAiIiIiIiIiIiIiIiIKJekmg6AiIiIiIiIiIiIiIiIvm1MOBEREREREREREREREVGeMOFEREREREREREREREREecKEExEREREREREREREREeUJE05ERERERERERERERESUJ0w4ERERERERERERERERUZ4w4URERERERERERERERER5woQTERERERERERERERER5QkTTkRERERERERERERERJQnTDgRERERERERERERERFRnjDhRERERERERERERERERHnChBMRERERERERERERERHlCRNORERERERERERERERElCdMOBEREREREREREREREVGeMOFEREREREREREREREREecKEExEREREREREREREREeUJE05ERERERERERERERESUJ0w4ERERERERERERERERUZ4w4URERERERERERERERER5woQTERERERERERGpzJAhQyCRSCCRSODp6anpcIiIiEhFmHAiIiKiQqdly5biSY2MfkxMTFCmTBl06tQJixcvxrt375Tue968eVn2ndnP6tWrs+z3w4cPWLBgAZo1awZLS0vo6enBysoKjRo1ynGMABAREYHz589j2bJl6N27N+zt7RXiyY+TPT4+PpgwYQJq1aqFUqVKQV9fH3Z2dmjQoAHGjh2LAwcO4PPnz0r1JQgCDh48iO+//x4VKlSAgYEBSpYsiXr16mH+/Pl48+ZNnuP92tfvkzJlyiAhIUGptjNmzBDbDRkyJNN6Xz/vX/9IpVIUK1YMlSpVQp8+fbBnzx7Ex8fn0yNUlHZcb29vlYwBAIGBgbn6jGT1k9v3a1bPv6GhIaytrVG5cmW0atUKP//8M/bu3YuQkJD8fUKIiIiIiIiKCCaciIiIqMiJjo5GUFAQTp48idmzZ6NcuXJYsGAB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72L9+vXw8vLCs2fPkJiYCCsrKzg6OqJ///7o3bs3tLWV/9PVyckJDx48wNq1a3H+/Hm8evUK0dHRkMlkWbYrXrw49u/fj0ePHuGvv/4Sv5fDwsIglUphZmaGihUrwsnJCW3btkW7du2UWjIuO3Z2drh//z7Wrl2L06dP49mzZ4iKilKY8ZiRRo0awc/PD7t378ahQ4fEWTk6OjqwsrJCs2bN0K9fvxzPMsnOmDFj0LRpU6xatQoXLlzA+/fvYWBggNKlS6N169YYNmwY6tSpk6M+Fy5ciKZNm2L79u24ffs2Pn78iNjY2HxvA6TMInv69CkOHjyIY8eO4fr16/jw4QMiIyNhaGgIS0tL8fu4U6dOmS4Lq0odO3bE06dPsWLFCpw6dQpBQUHQ0tISfye6urqiTJkyCAwMVKq/7777Do8ePcLKlStx+vRpvHnzBtra2rCxsUHTpk0xZMiQHC+3OHLkSNSoUQMbN27E9evX8e7dO8TGxiq1JGJ2isLvICIiosJKIuTH/waIiIiIiIiIiIiIiIioyJJqOgAiIiIiIiIiIiIiIiL6tjHhRERERERERERERERERHnChBMRERERERERERERERHlCRNORERERERERERERERElCdMOBEREREREREREREREVGeMOFEREREREREREREREREecKEExEREREREREREREREeUJE05ERERERERERERERESUJ0w4ERERERERERERERERUZ4w4URERERERERERERERER5woQTERERERERERERERER5QkTTkRERERERERERERERJQnTDgRERERERERERERERFRnmhrOgBSvfj4eDx8+BAAULJkSWhr82UnIiIiIiIiIiIiIiqqkpOT8enTJwCAo6Mj9PX189wnMw9FwMOHD9GgQQNNh0FERERERERERERERAXMzZs3Ub9+/Tz3wyX1iIiIiIiIiIiIiIiIKE+K7AynkJAQ3Lx5Ezdv3sStW7dw69YthIWFAQAGDx4MT0/PfBknMjISx48fx7lz53Dnzh28evUKsbGxKFasGKpXr46uXbtixIgRMDMzy5fxMlKyZEnx9s2bN2Ftba2ysb4lcXFx8PHxAQC0aNECBgYGGo6IqOjg549IM/jZI9Icfv6INIefPyLN4GePSHP4+SNlBAcHiyujpc0h5EWRTThZWlqqfIwTJ06gR48eSEhISHcsNDQUFy9exMWLF7FixQr89ddfaNWqlUriSLtnk7W1NWxtbVUyzrcmLi4OFhYWAABbW1t+8RKpET9/RJrBzx6R5vDzR6Q5/PwRaQY/e0Saw88f5VTaHEJecEk9AHZ2dmjfvn2+9xsWFoaEhARIpVJ06NABq1atwvnz5+Hr64vDhw+jb9++AICPHz+ia9euuHfvXr7HQEREREREREREREREpGpFdoaTu7s76tevj/r168PS0hKBgYEoV65cvo6ho6OD0aNHY9asWShTpozCsTp16sDFxQVNmzbFTz/9hNjYWPz88884d+5cvsZARERERERERERERESkakU24TR//nyVj9G3b19xFlNmJkyYgD///BO3b9+Gt7c3wsLCUKJECZXHRkRERERERERERERElF+4pF4B0LJlSwCAXC5HQECAZoMhIiIiIiIiIiIiIiLKISacCoCEhATxtlTKl4SIiIiIiIiIiIiIiL4tzG4UABcvXgQAaGtro2LFihqOhoiIiIiIiIiIiIiIKGeK7B5OBcWxY8fw4MEDAECHDh1gamqa4z7evn2b5fHg4GDxdlxcHOLi4nI8RmEUHx+f4W0iUj1+/og0g589Is3h549Ic/j5I9IMfvaINIefP1KGKvIEEkEQhHzv9RsUGBiIcuXKAQAGDx4MT09PlY8ZHh4OJycnvH79GlpaWrh16xbq1KmT434kEonSdbdu3QoLC4scj0FERERERERERERERIVDaGgoRowYAQAICgqCra1tnvvkknoaIpPJMGDAALx+/RoA8Msvv+Qq2URERERERERERERERKRpXFJPQ8aOHYuTJ08CALp06YI5c+bkuq+goKAsjwcHB6NBgwYAgBYtWuRLprIwiI+Ph4+PD4CU50VfX1/DEREVHfz8EWkGP3tEmsPPH5Hm8PNHpBn87BFpDj9/pIzsturJDSacNGDmzJnYvHkzAKBZs2Y4cOAAtLS0ct1fThJIBgYGMDAwyPVYhZW+vj6fFyIN4eePSDP42SPSHH7+iDSHnz8izSgqnz25XI7o6GhERkYiMTERMplM0yFRESWXy1GiRAkAQEhICKRSLnRW2GhpaUFXVxempqYwNjbO1Wusiu9lJpzUbOnSpViyZAkAwMnJCUePHi0Sv3CJiIiIiIiIiIgKq6ioKLx79w6CIGg6FCIIgiCec5bJZJDL5RqOiPJb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atmyZfruu+/Uv39/lStXLk9+LgAAAAAAANy4h2s9rBrFaphmn236TMeSjlmUCACA/Muj73Dq37+/zp8/L29vb/3+++9q0aKF87127dqpWrVqGjBggHbs2KFx48Zp6NCh13We5557TuvXr5e3t7e+/fZb3X///ab3b775Zj300EMaN26csrKybuhnAgAAAAAAQN7wtnlraIuh6vlzTznkkCSlZKZozJox+qjdRxanAwAgf/HYO5zWrl2rRYsWSZL69OljKpsuevnll1WrVi1J0vjx45WRkfs1epctW6ZvvvlGkjR48ODLyqZLGYYhb2+P7gABAAAAAADylfol6+u+6veZZgsPLdRfB/+yKBEAAPmTxxZOs2fPdr5+9NFHr7iNzWbTI488IunCM5guFlS58cknn0iSihQpopdffjnX+wMAAAAAAMBaz0c9r+L+xU2zMWvG6HzGeYsSAQCQ/1hWOB05ckTr16/X0qVLlZKS4vbzL126VJIUFBSkxo0bX3W71q1bO18vW7YsV+dIT093PrepQ4cOKlKkiCQpMzNTBw4c0MGDB5Wenp7b6AAAAAAAAHCjUL9Qvdr0VdPsePJx/d+m/7MoEQAA+Y9bC6dz585p2LBhKl++vCpUqKBmzZqpTZs22r9/v2m7adOmqUePHurbt6/Lsmzfvl2SFBkZec1l7GrWrHnZPjm1adMmpaamSpJatGih48eP69FHH1XRokVVqVIlVaxYUaGhoerYsaNWrFhxHT8FAAAAAAAA3KFT5U5qXqq5afb1319r15ldFiUCACB/cdsDg/bs2aMOHTpo3759cjgczrlhGJdt26JFC/3nP/+R3W5Xr1691LJlyzzNkpqaqvj4eElSuXLlrrltsWLFFBQUpOTkZB06dChX5/n7779N56xXr57zvJfOf/nlF/322296//331b9//1ydQ5IOHz58zfePHTvmfJ2SkmLJHWX50cUy8N+vAbge1x9gDa49wDpcf4B1uP6Ql15p+Ioe+v0hZdgvPOc7y5Glt5a/pS/afSGb4bFPrrgirj3AOlx/yAlX9ARuKZzS0tLUqVMn7d27V0FBQerXr59atWqlzp07X3H7ihUrqm3btvrzzz81d+7cPC+czp0753x9cZm7a7lYOCUlJeXqPKdPn3a+fuutt5SWlqbOnTvrzTffVN26dZWQkKAZM2bo9ddfV2Ji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", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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MTFB9erV0alTJ4wcObLYo0zU0cX7y7fffouOHTvi999/x5UrV/D8+XOkpqZqvQ6QO4osJCQEu3fvhlwux4ULF/Ds2TMkJibC0tIS1apVE1+P+/btW6zR3NrSp08fhISE4KeffsLhw4fx+PFjGBkZoVatWhgwYAB8fX1Rq1YtREREaNTe22+/jVu3bmHp0qU4cuQIIiMjYWxsDCcnJ3Ts2BHjxo0r9nSL77//Pho3boxff/0VFy5cQHR0NFJTUzWaElGdN+E9iIiItEciaOPdh4iIiIiIiIiIiIiIiN5YUkMHQEREREREREREREREROUbE05ERERERERERERERERUKkw4ERERERERERERERERUakw4URERERERERERERERESlwoQTERERERERERERERERlQoTTkRERERERERERERERFQqTDgRERERERERERERERFRqTDhRERERERERERERERERKXChBMRERERERERERERERGVChNOREREREREREREREREVCpMOBEREREREREREREREVGpMOFEREREREREREREREREpcKEExEREREREREREREREZWKsaEDIN1LT09HcHAwAKBq1aowNubDTkRERERERERERET0psrOzsaLFy8AAE2aNIG5uXmp22Tm4Q0QHByMNm3aGDoMIiIiIiIiIiIiIiIqYy5duoTWrVuXuh1OqUdERERERERERERERESlwhFOb4CqVauK25cuXUKNGjUMGE3ZkZaWhsDAQABAly5dYGFhYeCIiN4cPP6IDIPHHpHh8PgjMhwef0SGwWOPyHB4/JEmnj59Ks6Mlj+HUBpMOL0B8q/ZVKNGDTg7OxswmrIjLS0NDg4OAABnZ2e+8BLpEY8/IsPgsUdkODz+iAyHxx+RYfDYIzIcHn9UXPlzCKXBKfWIiIiIiIiIiIiIiIioVJhwIiIiIiIiIiIiIiIiolJhwomIiIiIiIiIiIiIiIhKhQknIiIiIiIiIiIiIiIiKhUmnIiIiIiIiIiIiIiIiKhUmHAiIiIiIiIiIiIiIiKiUmHCiYiIiIiIiIiIiIiIiEqFCSciIiIiIiIiIiIiIiIqFSaciIiIiIiIiIiIiIiIqFSYcCIiIiIiIiIiIiIiIqJSMTZ0AERERERERERERETlnUKhQHJyMhITE5GZmYmcnBxDh0RvKIVCgSpVqgAAIiMjIZVy3ElFY2RkBFNTU9jY2MDa2rrMPMZMOBERERERERERERGVQlJSEqKjoyEIgqFDIYIgCLCwsAAA5OTkQKFQGDgi0rbs7GxkZGQgKSkJEokENWvWRKVKlQwdFhNORERERERERERERCWlKtkkkUhgZGRkwKjoTSeRSAAAxsZMAVREOTk54muOIAiIjo4uE0knPtuIiIiIiIiIiIiISkChUCglm6ytrWFvbw9LS0vxB38ifVMoFEhMTAQA2NjYlJnp1kh7BEFAamoqXr58ieTkZDHpVL9+fYM+3nymEREREREREREREZVA3g+9QG6yydnZGVZWVkw2EZFOSSQSWFlZwdnZGdbW1gByk1DJyckGjYsJJyIiIiIiIiIiIqISyBtFAgD29vZMNBGRXkkkEtjb24uX878mGQITTkREREREREREREQlkJmZCSD3R19LS0sDR0NEb6L8U3jmvSYZChNORERERERERERERCWQk5MDADAyMuLoJiIyCIlEAiMjIwD/vSYZChNOREREREREREREREREVCpMOBEREREREREREREREVGpMOFEREREREREREREREREpcKEExEREREREREREREREZUKE05ERERERERERERERERUKkw4ERERERERERERERERUakw4UREREREREREREREZV5AQAAkEgkkEgn8/PxUlvHz8xPLlPRv3LhxYntdu3Ytdv1Xr16V6PZFREQotSOVSvHo0SON6tavX1+sZ2RkhO3bt5cohvwiIyMxY8YMNGjQAFZWVrC3t0ebNm3w008/ITU1tci648aNK/T+MTY2hr29Pdq3b4+5c+fiyZMnpY6VygYmnIiIiIiIiIiIiIiIyhhBELBt2za15S5cuIDQ0FCt9i2Xy9G0aVMsWbIEISEhSE1NRXx8PC5fvoyZM2fCy8sLYWFhJWo7JycH8fHxuHDhAr799lt4enpi7969Wo2fDMPY0AEQERERERERERERUclcjniJ1q72eqtX1k2dOhVDhw5Ved3ly5cxYcIEAICvry+mTp2qspydnZ3K/cHBwRrFYGNjo1G5opibmyM9PR1btmzBF198UWTZLVu2KNUprRs3bmD48OFITU2FtbU15syZg27duiEtLQ1//vknfvvtN9y7dw8ymQyXL1+GtbV1ke0dPnwYTk5O4uWsrCxERUVh165d2LJlC5KSkjBs2DDcuHED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3lixabE4GH4Q8jA5bsfdVlteKpGiXY12kLnL0KNWD1iZWOkhSqKSMZIaYU7bORh7cKy4LzkrGb9c+wXzO8wvoiYREREREVHxMeFERERERG+U5MxkHI88DnmYHBefXYRCUKit07hKY8jcZejj1gcOFg56iJJIO1o4tkB/9/7YH7Zf3Lc7dDeG1R+Gxg6NDRgZERERERFVNEw4EREREVGFl5WThTPRZyAPlyPgcQAycjLU1qlVqRZk7jL0c+sHV1tXncdIpCvTW07H8cjjSMtOAwAIELDw0kJs6buF640REREREZHWMOFERERERBWSQlDgWsw1yMPkOPLoCBIyEtTWsTe3R1+3vpC5ydDYoTEkEokeIiXSLUdLR0xuOhnLg5aL+26+uIn9YfsxsM5AwwVGREREREQVChNORERERFShhMaHQh4mx8Hwg3iS8kRteQtjC/Ss1RMydxna1mgLYyk/IlPFM6bhGPwT+g8ikyLFfcuuLuNaZEREREREpDX8Nk1ERERE5d6zlGc4EH4A8jA57sffV1veWGKMDjU7QOYmQ1eXrrA0sdRDlESGY2pkilltZuHD4x+K+2LTYrH25lp82vJTA0ZGREREREQVBRNORERERFQuJWQk4Oijo5CHyXH1+VUIENTWaV61OWTuMvR27Q07czs9RElUdnRx7oLONTvjdPRpcd+WO1swpO4QrlNGRERERESlxoQTEREREZUbGTkZCIwKhDxMjsCoQGQpstTWcbd1h8xdhn5u/eBcyVkPURKVXZ+3/hznn55HtiIbAJCtyMbiy4uxuudqA0dGRERERETlHRNORERERFSm5ShycOX5FcjD5Dj26BiSspLU1nG0cERft76Qucvgae8JiUSih0iJyj5XW1eMaTAGG25vEPedjj6NwKhAdHHuYsDIiIiIiIiovGPCiYiIiIjKHEEQEPIyBPIwOQ6GH0RMWozaOtYm1nir9luQucvQqlorGEmN9BApUfnzQdMPsC9sH2LTYsV9iy4tQrsa7WBqZGrAyIiIiIiIqDxjwomIiIiIyoyopCgcCD8AeZgcYQlhasubSE3QxbkLZO4ydHHuAjMjMz1ESVS+WZtaY3rL6fjyzJfivsikSGy5swUTm0w0YGRERERERFSeMeFERERERAYVnx6PwxGHIQ+T4/qL62rLSyBBq+qtIHOToWftnrA1s9V9kEQV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L774ohYsWBBV5vHHH9eyZcskSbfddlvwjzmA7Lr99tuDw71vueUW1dbWhm2vra3VLbfcIsk/LPz2229v7iYCLY7L5dLo0aP1n//8R5L//60//vGPSddD/wOSN2XKFNXV1TVa5sknn9SsWbMkSb179w6Otg+g7wG5Q/8DkvfOO+/I4/HE3f7jjz/q4osvltvtlqSYI+7pe0BqOnfurOuuu06SNHfu3Jj3MNy7d29Yn7nxxhujytAH0RwsRrzJVYE2aMmSJTrxxBNVW1ur0tJS/fa3v9XIkSNVW1urqVOn6oUXXpAk9e/fX1988YXatWuX4xYDLd+nn36qVatWBZ9XVVXpN7/5jST/tJSBN0UBY8eOjVnPvffeq4cffliSdPTRR+vuu+9W3759VVlZqUceeURLliwJlnvooYey8EqA1uWiiy4Kfrtt1KhReuqppxr99pnT6VT//v1jbqP/Acnp3bu39u7dq4suukjDhg1T3759VVpaqr1792rp0qV69dVXg2Gw0+nUzJkzdeqpp0bVQ98DMm/8+PF68MEHJflHOI0YMSJmOfofkJzevXvL7Xbroosu0tChQ9W7d28VFRWpqqpK8+bN01//+tfgyIphw4bp/fffV0FBQVQ99D0gNdu3b9fgwYO1fv162e12/fKXv9SFF16o9u3ba+nSpXrkkUeCI5PGjRunCRMmxKyHPoisM4A88/bbbxvt27c3JMV89O/f31i5cmWumwm0GldddVXc/hTrEY/X6zWuueaaRve99tprDa/X24yvDmi5kul3koxevXrFrYv+BySnV69eCfW7nj17GnPmzIlbD30PyLwHHngg2H8++uijuOXof0ByEv2/76KLLjJ27twZtx76HpC677//3ujXr1+j/eeaa64xXC5X3Drog8g2RjghL61bt05PP/20Zs6cqY0bN8rpdKpfv3665JJLdPPNN6u4uDjXTQRajbFjx+rll19OuHxT/+3MmjVLL7zwghYtWqSqqiqVl5dryJAhuvHGG3XmmWem21ygzUh2Lu1evXpp7dq1jZah/wGJqays1Pvvv6+PPvpIy5Yt048//qgdO3aosLBQ3bp101FHHaVzzjlHY8aMSeh9JX0PyJxERzgF0P+AxMyfP1/z58/XggULtHr1alVVVWnPnj0qLS1VRUWFTjjhBF111VUaOnRoQvXR94DUVFdXa+LEiXrjjTe0cuVK7du3T127dtWJJ56oG2+8MeH70dMHkS0ETgAAAAAAAAAAAEiLNdcNAAAAAAAAAAAAQOtG4AQAAAAAAAAAAIC0EDgBAAAAAAAAAAAgLQROAAAAAAAAAAAASAuBEwAAAAAAAAAAANJC4AQAAAAAAAAAAIC0EDgBAAAAAAAAAAAgLQROAAAAAAAAAAAASAuBEwAAAAAAAAAAANJC4AQAAAAAAAAAAIC0EDgBAAAAAAAAAAAgLQROAAAAAAAAAAAASAuBEwAAAAAAAAAAANJC4AQAAAAAAAAAAIC0EDgBAAAAAAAAAAAgLQROAAAAAAAAAAAASAuBEwAAAADksSlTpshisUQ9pkyZknKd8+bNC9Yzb968jLU1lmy0HwAAAEDyCJwAAAAAoIE5KBk/fnyjZX/88UcddthhwfLjxo2TYRhpHX/8+PFJBzUjRowI7tNamF9n5MNms6msrEyDBg3SnXfeqZUrV+a6uQAAAAASYM91AwAAAACgtdmyZYtGjRql5cuXS5Juu+02PfXUU7ltVAa899576tGjhySpZ8+eOWmDz+fT7t27tXjxYi1evFjPPfecnnnmGd14440xy19wwQUaPHiwJGnz5s0644wzmrO5AAAAABoQOAEAAABAEjZu3KhRo0YFR978+te/1mOPPZbjVmVG//791bt372Y95uTJkzVkyJDgc6/Xqy1btmj27NmaOHGiXC6Xxo0bp4MOOkijRo2K2r+srExlZWWSpNLS0uZqNgAAAIAIBE4AAAAAkKB169Zp5MiRWrNmjSTpvvvu0x//+Mcct6p1O/DAA3XYYYeFrTvyyCP1s5/9TEcddZSuueYaGYahxx57LGbgBAAAAKBl4B5OAAAAAJCAyspKnXzyycGwafz48YRNWXb11VervLxckvTf//43x60BAAAA0BgCJwAAAABowooVKzR8+HCtX79ekvTnP/9ZDzzwQI5blTu1tbX605/+pCOPPFIlJSXq3LmzTjzxRE2aNEk+ny+jxwpM8VdXV5fRegEAAABkFlPqAQAAAEAjli1bplGjRmnr1q2SpCeeeEJ33HFHjluVO5s3b9Ypp5yi5cuXB9fV1NTos88+02effabp06dn9PysXbtWknTAAQdkrE4AAAAAmUfgBAAAAABxLF26VKeeeqq2bdsmi8WiZ555RjfffHOum5UzHo9H55xzTjBsOv300zVu3DhVVFRo/fr1mjBhgt59913t2LEjI8d7+eWXVVVVJUk677zzMlInAAAAgOwgcAIAAACAGL7++ms999xz2rFjhywWi/72t7/p+uuvz3WzcmrixIlasmSJJOmGG27Q3/72t+C2QYMGafTo0br22ms1efLkhOtcs2ZN8D5NkuT1evXjjz9q9uzZmjBhgiRpwIAB+s1vfpOhVwEAAAAgGwicAAAAACCGt956K7g8YcKEvA+bJH/gJEndunXTk08+GbPM008/rXfeeUfbt29PqM5rrrkm7rYOHTro97//vW666SZ17Ngx+QYDAAAAaDbWXDcAAAAAAFoii8USXH777bflcrly2Jrc27x5s5YtWyZJGjNmjIqLi2OWKy0t1ZgxYzJyzN27d+ull17SG2+8kZH6AAAAAGQPgRMAAAAAxDBu3DgdcsghkqTZs2fr0ksvlcfjyXGrcmfp0qXB5SFDhjRa9thjj0243o8++kiGYQQfPp9Pu3bt0vz58zV69GitXr1aN9xwg+66666U2w4AAAAg+wicAAAAACCGLl266P3331e/fv0kSdOnT9dVV10ln8+XtWOaR1UlyjCMLLQk2s6dO4PLXbt2bbRst27dUj6OxWJRhw4ddPLJJ2v69Om67LLLJEmPPfaYPvzww5TrBQAAAJBdBE4AAAAAEMd+++2nDz/8UL169ZIkvfbaa7r++uuzFvIUFRUFl2tqahLap7q6WpJUUlKSlTYFmF9zU8FYJs/Pb37zm+Dyiy++mLF6AQAAAGQWgRMAAAAANKKiokIffPCBevToIUmaPHmybr311qwcq1OnTsHlrVu3JrRPoJx532ww1//jjz82Wnbbtm0ZO+6AAQOCy+Zp/QAAAAC0LAROAAAAANCEvn376oMPPghOJffcc89l5Z5CRxxxRHB58eLFTZb/8ccftWnTpqh9s+Hwww8PLi9atKjRsk1tT4b5vllutztj9QIAAADILAInAAAAAEjAgAEDNHfu3OBIn8cee0zjx4/P6DGOPvroYP3Tp09XXV1do+VfffXV4PIpp5yS0bZE6tGjhwYOHChJev3111VbWxuzXHV1taZNm5ax45rDq4qKiozVCwAAACCzCJwAAAAAIEFHHHGE3nvvPbVv316S9OCDD+rRRx/NWP0Oh0M33HCDJGnLli26/fbb494PaenSpfrDH/4gSSotLdXYsWMz1o54xo0bJ8k/jd+dd94Zs8wdd9yRsSn16uvrdf/99wefn3XWWRmpFwAAAEDm2XPdAAAAAABoTQYPHqxZs2bpjDPOUHV1te6++24VFxfr5ptvzkj9v/vd7/Tvf/9by5Yt09/+9jctWbJE1157rQ4//HAVFhZqy5Ytmjt3rl544QXV1NRIkiZMmKCOHTtm5PiNGTdunF566SUtWbJEEydO1Jo1a/TLX/5SFRUV2rBhgyZMmKA5c+ZoyJAhCU+rt2bNGpWXl4et27Nnj7766itNmDBB3333nSSpX79+uvHGGzP+mgAAAABkBoETAAAAACTpxBNP1Ntvv62zzz5bdXV1uvXWW1VUVKRrr7027bpLSkr0wQcf6OKLL9Znn32mzz//XJ9//nnMsoWFhXruued05ZVXpn3cRNjtds2YMUOjRo3SDz/8oHfffVfvvvtuWJnTTz9dd955p84444yE6rzmmmuaLHPkkUfqrbfeUlFRUUrtBgAAAJB9TKkHAAAAACkYNWqUpk+fLqfTKcMwdMMNN4TdUykd++23nz799FO9/fbbuuKKK9S3b1+VlpbK4XCoS5cuGjZsmMaPH681a9ZkJORKRo8ePbRkyRL98Y9/1GGHHaaioiKVlZXp+OOP14QJEzR79mw5nc60jlFcXKzevXvrwgsv1GuvvaYvvvhCvXv3zswLAAAAAJAVFiPehOAAAAAAgDZvypQpuvrqqyX5p7drzcHO2rVrdeCBB0qSXnrppWa5rxUAAAAAP6bUAwAAAABIklasWKF9+/ZJknr27KmysrLcNigBu3bt0saNGyVJmzdvznFrAAAAgPxF4AQAAAAAkKSw+y61lhFCb731VnCEFgAAAIDc4R5OAAAAAAAAAAAASAv3cAIAAACADPn2229T2q+1TF8HAAAAAPEQOAEAAABAhlgslpT2ay3T1wEAAABAPEypBwAAAAAAAAAAgLTYc90AAAAAAGgrmEACAAAAQL5ihBMAAAAAAAAAAADSQuAEAAAAAAAAAACAtBA4AQAAAAAAAAAAIC0ETgAAAAAAAAAAAEgLgRMAAAAAAAAAAADSQuAEAAAAAAAAAACAtBA4AQAAAAAAAAAAIC0ETgAAAAAAAAAAAEgLgRMAAAAAAAAAAADSQuAEAAAAAAAAAACAtBA4AQAAAAAAAAAAIC0ETgAAAAAAAAAAAEgLgRMAAAAAAAAAAADSQuAEAAAAAAAAAACAtBA4AQAAAAAAAAAAIC0ETgAAAAAAAAAAAEgLgRMAAAAAAAAAAADSQuAEAAAAAAAAAACAtBA4AQAAAAAAAAAAIC3/P5cZm9SeWsLrAAAAAElFTkSuQmCC", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABqUAAARGCAYAAACxAbqmAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdd1gUVxcG8HfpvYMNpIgUuygqir0ksffeErvRxJhuiphEE5NobLFFY0FjicaunyZ2rNiw0VQQBBVQQHrb+f5YGXel7AK7NN/f8/C4O3Pn3rttwDl7zpUIgiCAiIiIiIiIiIiIiIiISIO0KnoCREREREREREREREREVP0xKEVEREREREREREREREQax6AUERERERERERERERERaRyDUkRERERERERERERERKRxDEoRERERERERERERERGRxjEoRURERERERERERERERBrHoBQRERERERERERERERFpHINSREREREREREREREREpHEMShEREREREREREREREZHGMShFREREREREREREREREGsegFBEREREREREREREREWkcg1JERERERERERERERESkcQxKERERERERERERERERkcYxKEVEREREREREREREREQax6AUERERERERERERERERaRyDUkRERERERERERERERKRxDEoRERERERERERERERGRxjEoRURERERERERERERERBrHoBQRERERERERERERERFpHINSREREREREpBGdOnWCRCKBRCLBqVOnKno6KnNychLnHRkZWdHTIaIK4ufnJ54L/Pz8Kno6RERE1QKDUkRERFSljB8/Xrw4UNiPsbEx6tSpgy5duuDrr79GeHi4yn1v3Lix2L6L+pk1a1ax/SYnJ2PRokXo3r07ateuDX19fdja2sLLywtfffUVwsLCSvQcpKen49y5c1iyZAlGjRoFd3d3aGlpqfWiybVr1/DFF1+gZcuWqFWrFvT19VG7dm14eXnhvffeg7+/P548eaJyf8ePH8fYsWPh5uYGY2NjWFlZoUmTJvj0008REhJS5vm+Tv59Mn78+CLbRUZGluo1L+5n48aNYv/yF7NK+uPk5KSW56Kw9/XAgQNL1MedO3fUNr/Sfs6K+2HQgIiIiIiIqGpgUIqIiIiqlfT0dMTGxuLkyZOYP38+3N3dMWPGDGRmZlbIfHbu3AknJyd88skn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JOf7wowePbrY5/H1uany3irp6y4/njIlee3S09OFqVOnCjo6Oiq9ZwwNDYUFCxYonYMyycnJQoMGDYodqzChoaFC8+bNlc7Ty8tLuHfvXpnnmU/dn3tBEIS1a9cKWlpaKv8+Ke0xgiAIN27cEFq0aKHyucHJyanQ3yElPS8Igurv3atXrwo2NjZFzklPT0/4/fffVe7z/PnzxfYHQOjfv7+QlJSk8Ht/w4YNRfZZ0nNNSc6LFy5cEFxcXJS+Nt26dRPi4uKK7aukv99UffxERESVATOliIiI6I2gp6eHL774QsxU2bp1K+bOnQtnZ2eNjblr1y4cO3YMJ0+eRHh4OOLi4pCWlgY7Ozs4Ozujd+/eGD58uFhasKKZm5vjr7/+wtSpU7F582YEBAQgJiYGeXl5qFGjBtq0aYOhQ4eif//+KpXeye9zx44dmDRpEjZt2oQLFy7g8ePH0NXVhYODA9566y1MmDABnp6eGn50RK/069cPt2/fxuLFi3Hs2DFERUVBR0cHtWvXRrt27TB+/PgKLal048YNXLx4ESdPnsTly5cRGhqK2NhYpKenw8jICDVr1kSzZs3Qt29fDB06tMqW7ZPXs2dPXL16FStWrEBAQAAePnyI1NRUCIKglv43b96MXr16YevWrbhx4wYSEhKQmZmplr4rmqGhIVatWoXPP/8cW7ZswYkTJxAWFoZnz55BKpXC3NwcLi4uaNq0Kbp27Yq3335bXGOpLMzMzHD58mWsWrUKBw4cQHBwMJKSkpSuL+Xm5oYrV65g165d2L17Ny5fvoy4uDgAssyo1q1bY/DgwRg0aJDKv2tUoYnP/aRJk9CoUSOsXr0aFy9eRExMDNLT04t935bmGABo2rQprly5gmPHjmHv3r04d+6cmJWkr68PW1tbuLm5oU2bNnjrrbfg4+Oj1udPFV5eXggJCcHixYtx4MABREREQCqVwt7eHt27d8f06dPRoEEDlfvz8fHBnTt3sGTJEhw4cAAPHjwAIMvWbtGiBUaPHo0+ffqUaI6aPNe0adMGwcHB2LJlC/bu3YsbN24gLi4Ourq6qFmzJnx9fTFixAiFTDgiIqI3kURQ11/5REREREREREREREREREXQqugJEBERERERERERERERUfXHoBQRERERERERERERERFpHINSREREREREREREREREpHEMShEREREREREREREREZHGMShFREREREREREREREREGsegFBEREREREREREREREWkcg1JERERERERERERERESkcQxKERERERERERERERERkcYxKEVEREREREREREREREQax6AUERERERERERERERERaRyDUkRERERERERERERERKRxDEoRERERERERERERERGRxjEoRURERERERERERERERBqnU9EToIqXmZmJW7duAQBsbW2ho8O3BRERERERERERERHRmyo3Nxfx8fEAgMaNG8PAwEAt/TL6QLh16xZatWpV0dMgIiIiIiIiIiIiIqJK5vLly/D29lZLXyzfR0RERERERERERERERBrHTCmCra2tePvy5cuoVatWBc6mcsnIyMCZM2cAAB06dIChoWEFz4iIqhueZ4hI03ieISJN4jmGiDSN5xki0jSeZwr3+PFjscKafAyhrBiUIoU1pGrVqgV7e/sKnE3lkpGRARsbGwCAvb09T0hEpHY8zxCRpvE8Q0SaxHMMEWkazzNEpGk8zygnH0MoK5bvIyIiIiIiIiIiIiIiIo1jUIqIiIiIiIiIiIiIiIg0jkEpIiIiIiIiIiIiIiIi0jgGpYiIiIiIiIiIiIiIiEjjGJQiIiIiIiIiIiIiIiIijWNQioiIiIiIiIiIiIiIiDSOQSkiIiIiIiIiIiIiIiLSOAaliIiIiIiIiIiIiIiISOMYlCIiIiIiIiIiIiIiIiKNY1CKiIiIiIiIiIiIiIiINE6noidA1YdUKkVqaipevHiB7Oxs5OXlVfSUykwqlcLa2hoAEBUVBS0txnGJNEFbWxt6enowMzODiYkJP2tERERERERERETVEINSpBYpKSmIiYmBIAgVPRW1EgQBhoaGAIC8vDxIpdIKnhFR9ZSbm4usrCykpKRAIpGgTp06MDU1rehpERERERERERERkRoxKEVlVlhASiKRQFtbuwJnpT4SiQQAoKPDjwuRpuTl5YnnEEEQEBMTw8AUERERERERERFRNcOr7FQmUqlUISBlYmICKysrGBkZicGcqkwqleLFixcAADMzM5YUI9IQQRCQnp6O58+fIzU1VQxMubm58XNHRERERERERERUTfBKH5VJ/sVjQBaQsre3h7GxcbUISBFR+ZFIJDA2Noa9vT1MTEwAyAJVqampFTwzIiIiIiIiIiIiUhcGpahM8rOIAMDKyorBKCIqE4lEAisrK/G+/DmGiIiIiIiIiIiIqjYGpahMsrOzAcguJBsZGVXwbIioOpAv/5l/jiEiIiIiIiIiIqKqj0EpKpO8vDwAgLa2NrOkiEgtJBIJtLW1Abw6xxAREREREREREVHVx6AUERERERERERERERERaRyDUkRERERERERERERERKRxDEoRERERERERERERERGRxjEoRURERERERERERERERBrHoBQRERERERERERERERFpHINSREREREREREREREREpHEMShFVIadOnYJEIoFEIoGfn1+hbfz8/MQ2pf0ZP3682F+nTp1KfHxSUlKpHl9kZKRCP1paWnj48KFKx7q5uSkcu3HjxlLNQV5UVBQ++eQTeHp6wtjYGFZWVmjVqhV+/fVXpKenF3vs+PHji3x+dHR0YGVlBR8fH3z77beIjY0t81yJiIiIiIiIiIiIKjsGpYio0hIEAVu3blXa7uLFiwgPD1fr2IcOHUKTJk2waNEihISEID09HYmJiQgMDMSnn34KLy8vPHjwoFR95+XlITExERcvXsT3338PDw8P7N+/X63zJyIiIiIiIiIiIqpsdCp6AkRlFRj5HN5OVuV2XGU3ffp0DB48uNB9gYGBeO+99wAA06ZNw/Tp0wttZ2lpWej2W7duqTQHMzMzldoVx8DAAJmZmfD398ecOXOKbevv769wTFkFBQVh6NChSE9Ph4mJCb788kt07twZGRkZ2L59O/744w+EhoaiV69eCAwMhImJSbH9HT16FLVr1xbv5+Tk4NGjR9i1axf8/f2RkpKCIUOGICgoCB4eHmWePxEREREREREREVFlxKAUVWm//RuGpcfD8fnbHpjWqZ7Kx606dR8L/xeCD7vWx0fd3TQ4w/JnZ2cHOzu7QvclJCQotGvUqFGJ+i5p+7Lo27cvdu7ciZCQEFy5cgUtW7YstF1OTg527NgBAOjXr594uyxmzZqF9PR06Ojo4NixY/Dx8RH3denSBfXr18dnn32GkJAQLF68GN9++22x/bm5ucHJyUlhW/PmzdGnTx84OTnhu+++Q3Z2NpYuXYpVq1aVef5ERERERERERERElRHL91GVFRj5HEuPy0q2LfxfCFaduq/ScfkBKQBYejwcgZHPNTZHKj1PT08xEJWfCVWYw4cP49mzZ9DT08PQoUPLPG5gYCBOnToFAJgwYYJCQCrfxx9/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AAAAOBlCKQAAAADwgi1btmjQoEH6559/JEkTJ07UU089ZXJX5snJydHzzz+vbt26KTQ0VA0bNlT//v31/vvvy263e/W1ircTzM3N9ep9AQAAAHgX2/cBAAAAwGnauHGjhgwZon379kmSXnvtNd13330md2WePXv26Nxzz9WmTZuctezsbC1btkzLli3TvHnzvPr92blzpyTpjDPO8No9AQAAAHgfoRQAAAAAnIakpCT961//0v79+2WxWPTGG2/orrvuMrst09hsNg0bNswZSJ1//vkaO3asmjdvrn/++UfvvPOOfvzxRx08eNArr/fRRx8pPT1dknTppZd65Z4AAAAAfINQCgAAAAAqaN26dXrrrbd08OBBWSwWvffee7rlllvMbstUU6dO1Zo1ayRJt956q9577z3nWM+ePTV8+HCNGTNGM2bM8PieO3bscD43SpIKCwuVlpamH374Qe+8844kqUOHDnrwwQe99FUAAAAA8AVCKQAAAACooPnz5zuP33nnnVofSElFoZQkRUZGavLkyW7Pef311/XNN9/owIEDHt3z5ptvLnOsXr16euKJJ3TnnXeqfv365W8YAAAAQKXxM7sBAAAAAKiuLBaL8/jrr79Wfn6+id2Yb8+ePdq4caMkacSIEQoJCXF7XlhYmEaMGOGV18zIyNCHH36oL774wiv3AwAAAOA7hFIAAAAAUEFjx45Vp06dJEk//PCDrr32WtlsNpO7Mk9SUpLzuHfv3ic9t0+fPh7fd9GiRXI4HM4Pu92uI0eOaPHixRo+fLi2b9+uW2+9VQ899FCFewcAAADge4RSAAAAAFBBjRs31i+//KI2bdpIkubNm6dRo0bJbrf77DVLrs7ylMPh8EEnrg4fPuw8btKkyUnPjYyMrPDrWCwW1atXTwMHDtS8efM0cuRISdLLL7+sX3/9tcL3BQAAAOBbhFIAAAAAcBqioqL066+/qkWLFpKk2bNn65ZbbvFZEBQcHOw8zs7O9uiarKwsSVJoaKhPeipW8ms+VXjmze/Pgw8+6DyePn261+4LAAAAwLsIpQAAAADgNDVv3lwLFy5UdHS0JGnGjBm65557fPJaDRo0cB7v27fPo2uKzyt5rS+UvH9aWtpJz92/f7/XXrdDhw7O45JbCAIAAACoWgilAAAAAMALWrdurYULFzq3rXvrrbd88oyjrl27Oo8TExNPeX5aWppSU1NdrvWFLl26OI9Xrlx50nNPNV4eJZ/jVVBQ4LX7AgAAAPAuQikAAAAA8JIOHTro559/dq4YevnllzVhwgSvvkaPHj2c9583b55yc3NPev4nn3ziPD733HO92ktp0dHR6tixoyTp888/V05OjtvzsrKyNHfuXK+9bsmAq3nz5l67LwAAAADvIpQCAAAAAC/q2rWrfvrpJ9WtW1eS9PTTT+ull17y2v2tVqtuvfVWSdLevXs1bty4Mp/PlJSUpGeffVaSFBYWptGjR3utj7KMHTtWUtGWgffff7/bc+677z6vbd+Xl5enJ5980vn5xRdf7JX7AgAAAPC+ALMbAAAAAICaplevXvr+++91wQUXKCsrSw8//LBCQkJ01113eeX+jz/+uL766itt3LhR7733ntasWaMxY8aoS5cuCgoK0t69e/Xzzz9r2rRpys7OliS98847ql+/vlde/2TGjh2rDz/8UGvWrNHUqVO1Y8cO3X777WrevLl2796td955RwsWLFDv3r093sJvx44datSokaF29OhRrV27Vu+8847Wr18vSWrTpo1uu+02r39NAAAAALyDUAoAAAAAfKB///76+uuvNXToUOXm5uqee+5RcHCwxowZc9r3Dg0N1cKFC/Xvf/9by5Yt04oVK7RixQq35wYFBemtt97SDTfccNqv64mAgAB9++23GjJkiDZv3qwff/xRP/74o+Gc888/X/fff78uuOACj+558803n/Kcbt26af78+QoODq5Q3wAAAAB8j+37AAAAAMBHhgwZonnz5ikwMFAOh0O33nqr4RlPpyMqKkpLly7V119/reuvv16tW7dWWFiYrFarGjdurAEDBmjChAnasWOHV4Kw8oiOjtaaNWv03HPPqXPnzgoODlZERIT69u2rd955Rz/88IMCAwNP6zVCQkIUGxurK664QrNnz9aqVasUGxvrnS8AAAAAgE9YHGVtPg4AAAAAgKSZM2fqpptuklS0lV51Dn927typli1bSpI+/PDDSnnOFgAAAIAibN8HAAAAAPDYli1blJmZKUmKiYlRRESEuQ154MiRI0pJSZEk7dmzx+RuAAAAgNqLUAoAAAAA4LGSz4GqLiuN5s+f71zpBQAAAMA8PFMKAAAAAAAAAAAAPsczpQAAAACgEv39998Vuq66bJUHAAAAAGUhlAIAAACASmSxWCp0XXXZKg8AAAAAysL2fQAAAAAAAAAAAPC5ALMbAAAAAIDahM0qAAAAANRWrJQCAAAAAAAAAACAzxFKAQAAAAAAAAAAwOcIpQAAAAAAAAAAAOBzhFIAAAAAAAAAAADwOUIpAAAAAAAAAAAA+ByhFAAAAAAAAAAAAHyOUAoAAAAAAAAAAAA+RygFAAAAAAAAAAAAnyOUAgAAAAAAAAAAgM8RSgEAAAAAAAAAAMDnCKUAAAAAAAAAAADgc4RSAAAAAAAAAAAA8DlCKQAAAAAAAAAAAPgcoRQAAAAAAAAAAAB8jlAKAAAAAAAAAAAAPkcoBQAAAAAAAAAAAJ8jlAIAAAAAAAAAAIDPEUoBAAAAAAAAAADA5wilAAAAAAAAAAAA4HP/D/1YcQvRUl3cAAAAAElFTkSuQmCC", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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j8g4eO0RGQ+vPyoNxRxCebF8HxERERERERERERERERkck1JERERERERERERERERkcExKERERERERERERERERkcExKUVEREREREREREREREQGx6QUERERERERERERERERGRyTUkRERERERERERERERGRwTEoRERERERERERERERGRwTEpRURERERERERERERERAbHpBQREREREREREREREREZHJNSREREREREREREREREZHCmxg6AiIiIiIiIiIiIqCaQy+XIyMhAeno68vLyIJPJjB0S1VByuRy1a9cGADx9+hQmJhy/Ut1IpVKYm5vDzs4Otra2leY1ZlKKiIiIiIiIiIiIyMCeP3+O6OhoCIJg7FCIIAgCrKysAAAymQxyudzIEZG+FRQUIDc3F8+fP4dEIkH9+vVRq1YtY4fFpBQRERERERERERGRIalKSEkkEkilUiNGRTWdRCIBAJiaMk1QHclkMvEzRxAEREdHV4rEFN9tRERERERERERERAYil8uVElK2trZwcnKCtbW1mBQgqmhyuRzp6ekAADs7u0pT2o30RxAEZGVlITk5GRkZGWJiqkWLFkZ9vflOIyIiIiIiIiIiIjKQopvBQGFCyt3dHTY2NkxIEZFBSSQS2NjYwN3dHba2tgAKE1UZGRlGjYtJKSIiIiIiIiIiIiIDKRqNAgBOTk5MRhFRhZJIJHBychLXFT+TjIFJKSIiIiIiIiIiIiIDycvLA1B4Y9ja2trI0RBRTaRYLrToM8lYmJQiIiIiIiIiIiIiMhCZTAYAkEqlHCVFREYhkUgglUoB/PeZZCxMShEREREREREREREREZHBMSlFREREREREREREREREBsekFBERERERERERERERERkck1JERERERERERERERERkcExKERERERERERERERERkcExKUVEREREREREREREREQGx6QUEREREREREREREVULwcHBkEgk4s8bb7yhdZ+AgACxvSoLFy5U6lPxRyqVwsHBAR07dsRHH32E8PBwvZzH9u3bxWNs375dL30CwOPHj8W4HR0d4ejoCKlUqvb81P2U1YULFzBu3Dg0atQIlpaWqFu3LgYOHIiff/5Z676NGjVSG4+FhQXq1q2LF198ERs3bkR2dnaZYyTDYlKKiIiIiIiIiIiIiKqlvXv34ubNmwbrXy6XIy0tDaGhoVi1ahXa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IiqF9Jx8HL4ei/1XIxH6NFVre5daFnjNpz5GdnRHM9daJR7XNt+HjYUpujSpjZD7CeK2U2HxWDWqPYDqPd8HEREREVUvTEoRERERERERaSGTCzj/MBH7r0bhz1vPkKutPJ/UBC+0csOIju7o2dwZplITje21zffRz9NVKSkVfC8BMrlQI+b7ICIiIqLqg0kpIiIiIiIiIjUiEjPx6/+X54tJy9Havq27fWF5vrb14GhTuknFNSWW+nq6YsHvt8X15Mw8XI9KhU8DJqSIiIiIqOpgUoqIiIiIiIhIwfOcfBy9GYv9V6Nw+XGK1vbOtuYY1qE+hnd0h2cdO4PE5OFkjeautgiPzxC3nbobD58GjgY5HhERERGRITApRURERERERDWeXC7gn0dJ2H81CsduPUN2vkxje1MTCfp5uWJkRw/4t3SBmZbyfPrQ18tVKSl1MiweHw9oafDjEhERERHpC5NSREREREREVGM9TcrC/tAo/Ho1CtGp2Vrbt6prh5G+7nilXT3UtrWogAj/07elK74//Uhcvxubjti0bNS1t6rQOIiIiIiIyopJKSIiIiIiIqpRMnMLxPJ8FyOStbZ3sjHHq+3rYURHd7SuZ18BEarWsaEj7CxNkZ5TIG47FRaPNzs3NFpMRERERESlwaQUERERERERVXuCIOBSRDL2XY3C0ZuxyMrTXJ5PaiJBn5auGOnrjj4tXWFuavjyfNqYSk3g39IVf1yPEbcFMSlFRERERFUIk1JERERERERUbUWlZOHXq9H4NTQKT5OztLb3rFMLIzq649X29eFSq2LL8+min6dyUursg0Tk5MtgaSY1YlRERERERLphUoqIiIiIiIiqlew8Gf68HYt9V6Jw/mGS1vYO1mZ4tV09jPT1QOt6dpBIJBUQZdn4t3CBiQSQC4XrOflyXHiYhD6ersYNjIiIiIhIB0xKERERERERUZUnCAKuPknB/qtROHwjFhm5BRrbm0iA3i1dMaKjO/p5ucLCtGqMNHK0MYdPA0dceZIibjsVFs+kFBERERFVCUxKERERERERUZUVk5qNg9eisf9qFCISM7W2b+Zqi5Ed3TGsQ3242llWQIT619fLtURSarEgVOoRXkREREREAJNSREREREREVMXk5Mtw/PYz7L8ahbMPEiEImtvbWZrilfb1MKKjB9q521f55E1fT1d89ec9cT06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", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABqUAAARGCAYAAACxAbqmAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdd1hT1x8G8DdsBJkKKiC4EAcOBBEX2lptnbV1L5ytWu3PLq2jinW02mqtuy5U3KNurda9BREVnDgRRBFE9s79/ZFySRghgQRE38/z+JjcnHvuSUhCyHu/50gEQRBAREREREREREREREREpEU6ZT0AIiIiIiIiIiIiIiIievcxlCIiIiIiIiIiIiIiIiKtYyhFREREREREREREREREWsdQioiIiIiIiIiIiIiIiLSOoRQRERERERERERERERFpHUMpIiIiIiIiIiIiIiIi0jqGUkRERERERERERERERKR1DKWIiIiIiIiIiIiIiIhI6xhKERERERERERERERERkdYxlCIiIiIiIiIiIiIiIiKtYyhFREREREREREREREREWsdQioiIiIiIiIiIiIiIiLSOoRQRERERERERERERERFpHUMpIiIiIiIiIiIiIiIi0jqGUkRERERERERERERERKR1DKWIiIiIiIiIiIiIiIhI6xhKERERERERERERERERkdYxlCIiIiIiIiIiIiIiIiKtYyhFREREREREREREREREWsdQioiIiIjoHTJ06FBIJBJIJBKsX7++rIdDRGWsvL4ntGvXThz36dOny3o4RFRG1q9fL74XDB06tKyHQ0REGsBQioiISA3yX+wU9M/ExAR2dnb44IMPMG3aNISFhanct/wfXOr8mzBhgtJ+4+PjsWDBAnz00UeoVq0aDA0NUblyZbi5uWHq1Km4f/++Wo9BSkoKLly4gEWLFmHgwIGoW7cudHR0xPH4+vqq1V9Brl27hh9//BHu7u6oWrUqDA0NUa1aNbi5uWH48OHw9/fHixcvVO7vxIkTGDJkCJydnWFiYgIrKys0atQIP/zwA+7evVvi8eYl/zxR9sfzkydPivUzV/ZP/gtHX1/fYvfj5OSkkceioOf1Z599plYft27d0tr4qGjyXwxLJBJUr14d6enpKu37448/qvRacHJyUvp81NHRgbm5OZydndGnTx9s3rwZaWlpGrqHiuSPq80vwrX9+lfm9OnTGj82QwMiIiIiIlIFQykiIiINSklJwfPnz3Hq1CnMmTMHdevWxbhx47T25WlRduzYAScnJ3z//fc4fvw4oqKikJGRgZiYGAQHB2Pu3LlwdXXF3LlzIQhCkf1NmjQJZmZmaN26Nb755hts2bIF9+/fV2lfVURHR2PQoEFo1qwZ5s2bh6CgILx48QIZGRmIiopCcHAw/Pz8MGTIEMyePbvI/hISEtCvXz906NAB/v7+CAsLQ0pKCuLi4hASEoLff/8djRo1wi+//KKR8ZNqDh06hNjYWJXbb9iwQYujIXU9e/YMf/31V6keUxAEJCQkICwsDDt37sSgQYNQv359nD9/vlTHQfSu0nYlQjtWPWmFfDD8PpI/+UbVk6KKsw9pDqueiIgIAPTKegBERETllYuLCz788EOFbUlJSbhz5w4CAwMhCAIEQcCyZcsQFRWF3bt3q9x3xYoVMWTIEJXatmnTpsDtK1euxJgxY8TrhoaGaNu2LRwdHZGUlISLFy8iPDwcGRkZmDp1KuLj4zFv3jylx3r58iWys7NVvh/qCA8PR7t27fD48WNxW40aNeDm5gZra2ukpqYiLCwM169fVynky8zMxGeffYYTJ06I2xo2bIhmzZohNTUVZ8+exYsXL5CZmYkpU6YgMzMT06dP18p9K4yZmRm++uorpW0CAgIQGBgIAKhWrRp69uyptH29evUK3K7KvvKsra1VbquujIwMbNu2rcj7DgBSqRRbtmzR2lioeH755ReMHDkSFSpU0HjfH374IVxcXBS2ZWdnIzY2FkFBQXj06BEA4PHjx+jUqRNOnz4NDw8PjY9D20rz9Z+XnZ1dkcc+ceKEWEla0O+7gvokIiIiIiIqCkMpIiKiYvL09MTSpUsLvO327dvo168fQkJCAAB///03du/ejc8//1ylvq2srArtWxXXr1/H119/LV7v1KkT1q1bh2rVqonbpFIp/vrrL/zvf/9DZmYm5s+fj5YtW6JHjx5F9l+7dm14eHiI/yZOnIhLly4Ve7zx8fFo3769GEi5ublhyZIlaNmyZb62SUlJOHToUJHVWbNmzRIDKSMjI/j5+aFfv37i7RkZGZg2bRp+++03AMCMGTPg7e0Nb2/vYt8Pdanyc/b19RW/lK5Tp06xnxcl2VdTateujadPnyIzMxMbN25UKZQ6fvw4IiMjAQD169fH7du3tT1MUsGLFy+wdOlSTJw4UeN9Dxo0SOnZ04cPH8bAgQPx5s0bpKSkYMyYMbh69arGx6Ftpfn6z0uVvoYOHSqGUsp+39Hbb/369eVqLakcrKgiIkD2+4hVVURE7xZO30dERKQF9evXx5EjR2BiYiJuK83prmbMmIHMzEwAQOPGjbF//36FQAoAdHR0MGbMGCxatEjc9uOPPyIrK6vQfqdOnYrXr18jLCwMW7ZswTfffIPWrVvDwMCgROP9/vvvxeqHtm3b4ty5cwUGUgBgamqKvn37KgRMeUVHR2PhwoXi9UWLFuVrb2BggPnz56Nv377itsmTJ5fkblARrK2t0blzZwCyCpB79+4VuY/81H2qVg+S9nh6eoqX582bh4SEhFIfQ+fOnbFq1SrxelBQkNpr4xEREREREVHZYChFRESkJXZ2dujdu7d4/fz58xpbe0mZpKQkHDlyRLzu6+urNDQaPXo0nJycAAB3797FsWPHCm1bp04dWFpaamysgKyqa82aNQBk0xZu3ry5xFOCbdiwAcnJyQAAZ2dnfPHFF4W2nT9/PnR0ZB+JLl26hODg4BIdm5Tz8fERL2/cuFFp28TEROzduxeALFxt3LixNodGKhg8eDDq1q0LAHj9+jX++OOPMhnHp59+CiMjI/H6nTt3ymQcREREREREpB6GUkRE9M4qaPHne/fuYcKECahXrx5MTU1hZmaGxo0bY/LkyYiJidH4GJo2bSpeTk1NRVxcnMaPkVdQUJBYJaWrq4uOHTsqba+jo4NOnTqJ19VZ+0oTVq5cKV4ePnw47O3tS9xnTpAByKb8ULYAePXq1RXWStmzZ0+Jj0+F69Kli7he1aZNm5QGtbt27UJKSgoA7VZJBQUF4ZdffkHXrl1Rs2ZNmJqawsDAALa2tmjZsiWmTp2K8PBwlfpycnIS33eePHkCAIiIiMBPP/2Exo0bw8LCAiYmJnBxccH48ePx9OlTtcb677//ok+fPnBwcICRkRHs7Ozw4YcfYv369eLrXpt0dXUVFoZfuHAhXr9+rfXj5qWvrw8rKyvxek4IXRaSkpKwePFidOrUCfb29jAyMoKlpSUaNmyIcePG4cqVK2U2ttLQrl078TmfM91aVFQU5s6di+bNm6NKlSrQ1dWFhYVFvn2fPn2KFStWoH///mjYsCHMzc2hr68Pa2trNGrUCGPGjMHly5dVGkfOe71EIhGnqktOTsby5cvRunVr2NrawtDQEA4ODujfvz8uXLigUr+CIGDv3r0YMGAA6tatCzMzM/H9oUGDBvjoo48we/ZsBAYGQiqV5tv/yZMn4rhyTgABgFOnTqF///6oWbOm+Jzp2LEjDhw4kK+P7Oxs7NmzB5988gkcHR1hZGQEe3t7DBo0SJwmWN3HJu9tw4YNE7dt2LBB4TNUzr927dqp9JjJy9n3zJkz4rb27dsX2H/esRX03FLlvr1+/Rrz58+Hh4cHKlWqBENDQzg7O+O7774r8LNeeHg4Jk2ahMaNG8Pc3BxmZmbw8PDAokWL1H5fvXPnDqZMmYLmzZvD1tYWBgYGqFy5Mjw9PTF9+nQ8f/5crf4Kcvr06XyfbwEU+JjK/y4qyNGjRzF8+HA4OzvDzMwMxsbGcHR0RM+ePeHn56eV3yuaeN3nPDdmzpwpbps5c2aB9z9n2rfi7FMQQRCwZ88e+Pj4wNnZGebm5jAyMoKDgwM+/fRTbNiwQemsA0Dh7wtXr17FyJEj4ezsjAoVKsDS0hLNmzfH3Llzi/w9V1ifyhT0maUg0dHR8PPzg4+PD5o2bQorKyvo6+vDwsICLi4uGDZsGI4ePar0WCV5r1m/fr1KP5scgiBg586d6N+/P2rVqgVTU1OYmpqiVq1aGDBgAHbt2qXSiYIFvQe9fv0a8+bNE99fjI2NUbNmTYwYMQKhoaFF9klERP8RiIiI3lEAxH+CIAgrVqwQDA0NFbbL/7O2thYCAwOV9unj4yO29/HxKXIMq1atUjhGZGRkoW39/PzEdo6OjurcVQXbt28X+7G1tVVpn7lz55bo2N7e3uL+M2bMUHm/rKwswczMTNw3ICBA7WPnlZqaKujo6Ih9Xrx4sch95syZI7Zv1apViceg7vNEmRkzZoh9eXt7l9q+miL/vPb09BQEQRDGjh0rbjt58mSh+7Zr104AIOjq6gpRUVHCkSNHNPIakefh4VHoe4L8P319fWHevHlF9ufo6Cju8/jxY2HPnj2Cubl5of0aGxsLBw8eLLLfjIwMYfDgwUrH2KJFCyEyMlLh+efn51fix0j+9b1ixQpBKpUKrq6u4rZJkyYVuu+kSZNUei3IP26qjDkjI0Ph/fzEiRPFuGcFk39MT506pbTtgQMHhCpVqhT5/BkwYICQnJys9ljK8jWs6vuY/PPj1KlTwt69ewVLS8t8j4G5ubnCft9//70gkUhUev3179+/yMcv7/P+9u3bQr169ZT2O336dKV9vnjxQvDy8lJpjACEf//9N18fjx8/VnjfysrKEsaNG6e0n2nTpon7v3z5UmjRooXS96adO3eq9dgUdltR/4rzHFS174LGlve5pcp9CwwMFBwcHAo9hoODg/D48WNx/1WrVin9bNiqVSshKSmpyPuZlpYmjB49WtDV1VV6H42NjYUlS5ao/TjKO3XqlFqPq/z9zfHy5Uvhww8/LHLfOnXqFPnZWB2aet3LPzeK+pfz/lWcffK6ceOG0KRJkyL3r1u3rnDr1q1CH4e87wtSqVSYPn26wufXvP9q1KghPHz4UOU+VZH3M0tB/vzzzyKf1zn/PvjgAyEmJqbAfkryXiP/WbKoz9X3798XmjZtWuQxmjVrJjx48EBpX3nfg86fPy/Y2dkV2qeurq6watUqpX0SEZGMHoiIiN4D69evx5gxYwAAdevWhbu7O4yNjXH37l1cuHABgiAgNjYW3bp1w507dwo8o7s45M+I1dXVFStEtEmQO/NPWYVQYcLDw5GUlARTU1NNDqtAoaGh4po0JiYmaNq0KdLT07F+/Xps2bIFd+7cQUJCAipVqoQmTZqgR48e8PHxUTod4b1798Sz1SUSiUK1WmHc3NzEy5wGTPuGDBmC5cuXA5BN4de+fft8bZ4+fSqeWd+xY0dUqVJFK2PJqYAyNDREgwYNULt2bZibm0MQBERFReHKlSuIiYlBZmYmJk2aBACYOHGiSn2fOHECX375JbKzs1G9enV4eXnBzMwMjx8/xunTp5GVlYXU1FT06dMHoaGhqFGjRqF9DRw4EDt37hSvW1tbo3379rCwsMCjR49w9uxZXL58GT179kTt2rVL8IgUTSKRYNasWfj0008BAEuWLME333wDW1tbrR5X3p49e5Ceng4AMDY2hoeHR6kdO8f27dsxcOBAZGdnA5C9x7du3Rq1a9dGUlISzp07J/4O2LJlCx4/foyTJ08qTDv4rrl48SJ8fX2RmZkJa2trtG3bFpUqVUJ0dHS+qVGfPXsGQRAgkUhQt25d1K1bF9bW1tDX10dsbCyCg4Px8OFDAMDWrVsRHx+PgwcPqvR77fnz5+jQoQOeP38OCwsLtGnTBlWqVEFMTAxOnjyJ+Ph4AMDPP/+M+vXrK6wtmCM7OxtdunRBUFCQuK1hw4Zo2LAhLCwskJaWhhcvXuDGjRuIiopS+TGaMmUKli5dCh0dHXh5eaFu3bpIS0vDqVOnxH5mz56NevXq4dNPP8VHH32EmzdvokKFCvD29oa9vT1evXqF48ePIykpCZmZmRg0aBCaNm2KWrVqqTyOHB06dICpqSnu3r2LEydOAABcXFwUKohz1KlTR+3+v/rqKwCy12zO6+HTTz+FnZ1dvrb16tVTu395z549ww8//ICYmBjY2tqibdu2sLCwQFhYGM6ePQupVIpnz57hk08+QWhoKLZu3SpO7+vi4gJ3d3cYGBjg6tWruHnzJgDgwoULmDBhAlavXl3ocZOTk9GpUyeF6rsaNWrA3d0dlpaWiIuLw8WLFxEZGYnU1FSMHz8eCQkJmDJlSrHup52dnfi4Llu2TNyesy0vMzMzhesvX75Eq1atxNcXANSqVQuenp4wNDTE7du3xQrPsLAwtG/fHv/88w9atWpVrPHK09TrvmfPnmjYsCECAgIQGBgIAPDw8EDz5s3zHbNFixbF3kfe2bNn0a1bN/Fzq56eHtzd3VG3bl3o6+vjyZMnOH/+PNLS0nDv3j20bNkSly5dUul5PXPmTPz8888AgCZNmsDV1RX6+vq4fv06rl27BgB4/PgxPv30UwQFBUFfX7/IPjXl+fPn4u+5mjVrol69eqhcuTKMjIzw5s0bhISE4NatWwCAkydPokOHDrh8+TIMDQ0V+tH2ew0g+wzv7e2NV69eidtcXV3RpEkTSCQSBAcHi9WlQUFBaNWqFc6ePQtnZ+ci+w4NDcXkyZORlJQEGxsbtGnTBtbW1oiMjMTJkyeRmpqK7OxsjB49Gg0bNoSXl1ex7gMR0XujTCMxIiIiLYLcmWuGhoZC5cqVhSNHjuRrd+bMGYVqnZkzZxbap7oVMPJnNzdr1kxpW01VSp04cULhjD1Vzs7/8ssvFR4vdc+KLW6l1OrVq8X93NzchLt37woNGzZUemZjjRo1hKCgoEL7LE6l2K1btxSOER0drfJ9KAgrpXIVVCklCIJQt25dAYBQsWLFAp+js2bNEvfbunWrIAiCViqlxowZIxw6dEhISUkp8PasrCzBz89PMDExEQBZVcKjR48K7U/+rGNDQ0PBxMRE8Pf3F6RSqUK70NBQhbNthw0bVmif8o8hAOHbb78V0tLSFNo8ePBAaNasmQBAMDAwENtqo1Iqh3yV2f/+978C99VGpdThw4cVKnG++eabYtyrwsk/1oVVZzx48EAwNTUV27m7uwv3799XaJOdnS0sWLBA4cz38ePHqzWW8lYppaenJ0gkEmHWrFlCRkaGQru8z9n58+cLfn5+wqtXrwrt++zZs0Lt2rXF/v39/VUab07ly8SJE/O9v8TGxgoffPCB2LZmzZr5Xp+CIAh79uwR21StWlW4fPlyoccODQ0VJk2aJFy5ciXfbfLVC/r6+oJEIhEaNGgghIaGKrRLTU0V+vfvL7atU6eOWFHVp0+ffNUHz58/Fxo0aCC2Hzp0qEqPTWGvL3UqEYpDlaqn4uwjf98MDAwEiUQizJ49W8jMzFRod/78eaFixYpi2zlz5gimpqaCubm5sH///nz9Ll68WGwrkUiUvu8PGTJEbFurVq0CK+aysrKE5cuXi89NXV1dlSq5iyL/fqWqTz75RNynQoUKwubNm/O1CQwMFGrWrCm2c3BwEOLi4ko8Xk2/7uXfI1X9/FmcfaKiogRbW1txv/79+wsRERH52r148ULo2bOn2M7V1VXIysrK107+fSHneVurVq0C30N27Ngh6Ovri+03bNhQ4Bi1VSm1du1aYcmSJQXe3xw3btwQ3N3dxb5mzZpVaNvivNeosk96errQuHFjsV3lypWFo0eP5mt39OhRoVKlSgp/f+T9fZVD/j3I0NBQ0NXVFRYsWJDv/SU8PFzh75f27durdL+IiN5nrJQiIqL3xvHjx9GoUaN829u2bYu5c+di3LhxAGRnZk6fPr3Ex9uwYYPCnPg5Z+Oq4vXr1+J4lGnfvj0+//xzhW1ubm7Q0dGBVCpFdnY2jh07JlY0FEQqleabB7601oh59uyZeFlHRwcdO3YUK1dcXFzg4eEBXV1d3Lx5U+FM0bZt2+LcuXMFVkHFxsaKl1Wt3MhbhfP69WtUrlxZ7fvzNgsLC1PpOZVj8ODB8PT01Np4hgwZgqlTpyIxMRF79uzBwIEDFW739/cHAJibmyt9/pZUTsVWYXR1dTF06FAYGxujX79+yMzMxMqVKzFv3rwi+87IyMDevXvx8ccf57utQYMG+Ouvv9C1a1cAwM6dO7Fq1Sro6Sl+PM/OzsZPP/0kXh85ciQWLFiQr79atWrh6NGjaNy4MSIjI4scmybMmjVLvG8rV67E999/r5E14TZt2oSrV68qbMvOzsbr168RFBSkcHZ///798euvv5b4mOr6+eefkZSUBEB25vi///6br8JWR0cH3377LSQSCb799lsAsqqGb775RmlVXHmWlZWF2bNnY+rUqfluy3vW/A8//FBkf23atMG///6LevXqIS0tDUuWLMGgQYOK3C89PR2TJ0/G3Llz891mZWWFLVu2oFatWkhOTsajR48QEBCQ7/3u/Pnz4uWff/5Z6fthgwYNVHoeZmZmwsbGBidPnoSNjY3CbUZGRli1ahWOHTuG2NhYhIWFISwsDB999BG2bt0KHR3F5aCrVq2K1atXo2XLlgBka/CtXr0633vI+yQjIwO+vr4FPv9atWqFKVOmYPLkyQCAqVOnQkdHBydPnoS3t3e+9uPHj8fBgwdx7NgxCIKAHTt2iNWy8s6dO4eNGzcCAOzt7XH+/PkCK3t1dXUxZswYGBkZYfjw4cjOzsbPP/+MI0eOlPRuq+XUqVMKx9y6dSu6d++er527uztOnDiBJk2aID4+Hs+ePcPixYtL/PlYm697bZo6dSpevnwJQPZ7uLDKOVtbW+zcuRMfffQRTp06hZCQEOzatavAaswcGRkZsLa2xtmzZ1GtWrV8t/fu3RsBAQH4/fffAch+ZtpcZzOv4cOHF9mmUaNGOH78OFxcXPDixQssX74ckydPhq6ubimMUGbz5s24ceMGANm6k0eOHEGzZs3ytevYsSMOHz6Mli1bIisrC9euXVPpMU1PT8dff/1V4N9zDg4O2Lp1Kxo1agRBEHD69GlERUWhatWqmrlzRETvIJ2imxAREZV/X3zxRYGBVI4hQ4aIX+Tcu3dPnJpDXcnJyQgMDMTYsWMV/ojr1asXRowYoXI/iYmJWLZsWZH/zp07l2/fnKmKcvj6+iIjI6PQY61cuTLf4saJiYkqj7Uk3rx5I16+evUqwsPDYWxsjO3bt+POnTvYuHEj/Pz8EBQUhJMnT6JSpUoAZI9z3759C1yAO+eLYkA2rZcq8raT7+Nd8fz5c5WeUzn/tD2N4eDBg8XpeHK+0Mtx+fJl3L9/H4Dsy5i3YbqzXr16iVNaHj9+XKV9unbtWmAglaNz587il5dJSUm4e/duvjZHjx5FREQEAKBChQqYP39+of1ZW1uL0/+Uhk6dOonvNenp6Zg1a5ZG+j1x4kS+5+PKlSuxY8cOMZBycnLCgQMHsGXLFqXTeWrDmzdvsH37dvH6b7/9pnTK1//9739o0KABANlJAKtWrdL2EMuMnZ1dgV/cl4STk5M4xWdgYKBKv58rV66s9MtzW1tbdOnSRbyeM5WXPPnjaPIkhalTp+YLpHKYmpoqjAsAfv/993yBVA4vLy9Ur14dQOHvIe8TW1tbMXQqSN5g4NNPPy0wkMrRr18/8XJBzxEAWLhwoXj5l19+KXKq2aFDh8LFxQWA7P09JiZGaXtN++uvv8TL3bp1KzCQyuHk5KQwxeDKlSsVpojWpuK87rXl1atX2Lx5MwDZiTJ//PGH0va6uroKgXjOvspMmTKlwEAqh/zfFIU9F8uaubk5evbsCQCIiorC7du3S/X48s/t0aNHFxhI5fDw8MCoUaPE6ytWrCiyf1dXV6UnGDZs2FCcSlgQBIWpX4mIKL/39zQqIiJ6r/Tu3Vvp7RUrVkStWrVw7949CIKA8PBwNGzYUOk+GzZswIYNG5S2MTExwdixYzF37txSPVtw2rRp4no8N27cQPfu3eHn56dwxl7Ol6MTJkzIt39qamqpjDM5OTnftg0bNhT482rfvj3279+P1q1bQyqVIiwsDJs3b8bQoUMV2qWlpYmXVf2yOu8Z/KV1/99nDg4OaNeuHU6dOoUTJ07g+fPn4hcy8q+r0jwbOCQkBNeuXcOTJ0+QkJAgrlmUIydECwkJgVQqLfSL4hxFve9IJBI0btwYL168AAA8efIk3/vOqVOnxMtdunSBpaWl0j779OmDsWPH5hu7tsyePVv8UtfPzw+TJk1CzZo1tX7cJ0+e4PPPP8eYMWPw66+/lmpwefHiRfHxtba2VvqlLiCrmBo+fDi+++47AIo/03fN559/XqxKnfDwcAQEBOD+/ft48+YNUlNTFb78fvz4MQDZF303btxQOPGiIN26dSvyOdG0aVPs2LEDAPKdmAFADHsA2ZedXbp00UgVUt7q5rzk3wPq1Kmj9ISanPY5FcaPHz8u8rPLu6xbt25Kf+/XqFEDJiYm4mcPdX4WOc9BeVlZWfj3338ByNYXKqo/QPa+3759e9y9exeCIODixYtFvodokvz7jyoVMMOGDcPkyZMhlUoRFRWFe/fuiaFaSWn6da8tx48fF9/zu3btqtKaq56enqhQoQJSUlIUqi4LU9TnBRcXFxgbGyM1NRWxsbGltvZrXtHR0bh8+TLu3LmDuLg4JCcnK/zM5Kucr1+/DldX11IZV1JSksKxVXlujxw5UgyjAgMDkZycDBMTk0LbF/UzAmS/VwICAgAU/HuFiIhyMZQiIqL3gip/FFlbW4uXcxZBL6kff/wRU6ZMKfLL67wcHR1L9MdMhw4d8P3334tTfRw9ehQ1a9ZE27Zt4ejoiKSkJFy4cEH8Iqtly5a4e/euOG1fxYoVi31sdeT90tDDw0PpH31eXl747LPPsGvXLgDAtm3b8oVS8n0qqxCTl/cLfFUrrMoTb29vnD59uqyHoWDIkCE4deoUsrOzsXnzZvzwww/IyMgQvyiuUaMGWrdurfVxbNiwAXPnzhWrs4qSmZmJ+Pj4IgMiTbzvXL9+XbysynSKpqamaNiwYamdodu2bVt89NFH+Pfff5GZmYmZM2cWGdYXxc/PL9/rWhAEJCUlISwsDHv37sXChQuRnJyMP//8Ezdu3MDRo0dLrWIqODhYvOzp6alSUNGqVSuF/QVBEEPOd4myM9MLcunSJfz44484d+6cyhUYqlSWaOK116tXL8yYMQNSqRRHjhxB/fr1MWzYMHzyySdo1KiR2r/XAVklgZ2dndI28u8r9evXL7JP+fZlWU3yNsipSFTGwsJCDKWKenyLemxv3rwp9mVkZKTS1HSAYqWL/DTG2hYZGYno6Gjxes7Uj8pUrlwZzs7OYhXetWvXShxKaet1ry2XLl0SL9+/f1/lqZBz3uNzwpvCAg9zc3M4ODgU2ZelpaV40lR8fHyphlK3b9/GpEmTcOTIEWRnZ6u0T2n+zG7cuCGOy9TUtMgwHwCaNGkihtTZ2dm4ceOG0tdEWf0tSUT0rmIoRURE7wVzc/Mi2+jr64uXC5oWLi8XFxd8+OGH4vW0tDQ8e/YMly5dEqe/++mnn3Dv3j1s2LChWF9glcRvv/0GS0tL+Pr6IjMzE2lpaTh27Fi+dh06dMDmzZsVpg1RNhWVJuX9gzpn2g9levbsKYZSFy9eVNqnqhVPeduVxdmn5UFRX8TUqVMH//vf/1Tur1evXvjqq6+QkpKCjRs34ocffsCBAwfEcFR+ij9tEAQBI0aMgJ+fn9r7JiYmFhlKaeJ959WrV+Jl+coNZRwcHEp12pjZs2eL1QKbNm3Cjz/+iHr16mn0GBKJBBUrVoSbmxvc3NzQu3dvtGrVComJiTh9+jR++eUXzJgxQ2GfTZs2KazrV5Cff/4ZVlZWao1F/mfi6Oio0j5OTk7i5YyMDCQmJsLMzEyt45YH6kxzt27dOowcOVLt6cBUmV5WE689FxcXLFiwAN9++y0EQUBYWBimTJmCKVOmwMzMDF5eXmjXrh169uyJunXrqjR2VcYlH3Kq216Vzy7vMk0/vkU9ts+fPxcvJyUlYdmyZaoMU0FcXJza+xSX/HuXsbFxodNI5uXk5CSGUiUNGrT5utcW+Z9zYGBgsabPi4uLUxpKqULdv1M05ejRo+jRo4faFdil+TOTf247ODio9DeXjo4OHBwcVH5ua+NvSSKi9xlDKSIiei9o44ttT09PLF26NN/2+Ph4zJw5U5xzftOmTWjYsKHG19lQxZQpUzBo0CCsXLkSJ06cwMOHD5GQkIDKlSujadOm8PHxQa9evfD06VOFMx/t7e1LZXzyZxQCqp0VLt8mMTERiYmJCpVd8n3mLEpdlJzp03Ko+yX1+6KoL9y8vb3VCqVMTU3x2WefYdOmTQgNDUVwcLDC+lLanrpv9erVCoFU165d0bdvXzRt2hR2dnaoUKGCQvWNk5MTnj59CkA2/WVRNPG+I7++WYUKFVTaR9n0M9rQvHlzdO/eHfv374dUKsWMGTPEajdtcXV1xfjx48V1OxYvXozJkycr/LyOHz9eZNXW999/r/brXf5noupjnbfduxpKqVpleufOHXz55ZfiF9ONGjXCyJEj4eXlBUdHR1SsWFGh6nXo0KHiz7K0XnsAMGHCBLi7u4vBa86xExIScPToURw9ehSTJ0/GBx98gEWLFhV5Jr2643oXq+m0qbQfX01UQmRlZZW4D1UV570rb9uSBA3aft1ri7Z/zm/z6/zVq1fo27evGEjVqFEDo0ePRuvWrVGjRg1YWFjAyMhIvA++vr6YOXMmgNL9mZXGc/tt/jkREZVHDKWIiIg0zNzcHAsXLkRiYiLWrFkDAJg+fTp69uwJZ2fnUh9P9erVFRZcLoj8WZ9WVlaoVauWtocFAPmmgFGlQilvm7yhlPwZ69HR0UhLSytybZGcaQwB2f3X5KL2pNyQIUOwadMmALIF448cOQJANt2Ztp+HOdNbAsCcOXMUFnQvSFmcqS3/fE9JSVFpn4LWatO2WbNm4cCBAxAEAbt27cL169fRpEkTrR6zU6dO4nvb69evERwcrNIUhyUl/zNR9bHO2660pkh9W/3xxx/il7SdO3fG3r17Fc4wz6ssqyRat26Nf/75BzExMThz5gzOnTuHc+fO4fr16+KXridPnoSnpyf+/fdfhaka6d0m/4V2kyZNFKb2fBsV570rb9uSvHeVp9e9PPmf86JFi9Q6+eZtV1RwtHr1ajGUa9q0Kc6ePav0s3pZ/czK+rlNRETqK915hIiIiN4jf/zxh7h2REZGBqZOnVrGIyqc/MLXXl5epXbcvAuyq/LHbN42eafTqFu3rjhthyAICmvyFObatWviZU1PO/YuEQRB6b/irFn14Ycfiq+TTZs2idOdaLtK6tmzZwgLCwMgWzdk4sSJStsnJCSU6jRLOeQDUvnwVJnSXKMkR6NGjcT14ARBwE8//aT1Y1atWlXhek4VW47169cX+ZyVn1ZPVcX5mciPzcDA4L3/8uvEiRPi5VmzZin9YhrI/7MtC5UqVcLnn3+ORYsWISgoCC9fvsTixYtRqVIlALJpYL/88ssyHiWVJltbW/Hyo0ePyrSaRxXy712pqakqT8Un//rLeb4XR3l83QOKP+eczw1vI/nHU9UKvKKqwOR/ZtOmTSvy5LGy+pnJP7efPXum0vSQUqlU4fNSSZ7bRESkPoZSREREWmJqagpfX1/x+q5du97Ks2jT09Oxfft28frgwYNL7dg1atRAzZo1xeu3b98uch/5NlZWVvmm6TAyMkKLFi3E66oEJWfOnBEvf/DBB0W2J83R0dHBwIEDFbYZGhqiT58+Wj2u/BoRdevWVVg7pCDnz59Xew0MTZCvNipqfSRANoVNaGioFkdUuJ9//hm6uroAgIMHD+LKlStaPV7eyrHSWrevadOm4uWAgACVFn2/cOGCwv7v+zRA8q+/Bg0aKG0bHx+PmzdvantIaqtUqRLGjx+P/fv3i9tu3bqFR48eleGoik/bz8l38TnfpEkTGBoaApCduHDp0qUyHpFydnZ2CutIFbQuZ16xsbG4d++eeN3Nza3Yx9fG6744zyt195GvwD169Kjaxyst8ic7xMXFFfmZJTw8HAkJCUrbqPMzy87OVvhdVxhtvBc0btxY/PyRlJSEkJCQIve5ceOGWCmlq6uLxo0ba3xcRERUOIZSREREWjR06FDUqFFDvD579uwyHE3BFi5ciNevXwMAbGxs0LNnz1I9vvzx9uzZU2R7+TZt27YtsM2nn34qXl6/fr3S/iIiIhTOBJXfl0qHj4+PwvXu3bvDwsJCq8eUDzBUmRZvxYoV2hxOodq3by9ePnz4sPhaLcz27dvVXoxcU+rWrYtBgwaJ16dNm6bV48lXOAIQK+60rWXLluIX0a9evcKhQ4eUthcEQWFtKwbf6r3+1qxZ81YvGO/l5aWwLpmqaxm+beSnudXG463t/suCsbGxwus5Zy3R0qTu4yr/O6Woz0cAsGHDBrECrFq1agpTJKtLG6/74jyv1N2nU6dO4okrDx48wMGDB1U6TmkzMzMT34tSUlJw//59pe1VWftRnZ/Z3r17863RWhBtvBeYmprC3d1dvK7Kc1t+TdHmzZuX+nqcRETvO4ZSREREWqSnp4fJkyeL1/fs2YNbt26V4YgUnT9/HrNmzRKvL1iwAAYGBqU6hjFjxohTjly9ehU7d+4stO2lS5cUQqmhQ4cW2M7Hx0f84/LevXvi2l4FmThxoljp4OXlVaKzgKl46tevj2vXriEwMBCBgYFYsmSJ1o9Zo0YN8Wzd0NBQPHz4sNC227dvL7MvoTp16iSGLSkpKZg0aVKhbWNjYzFjxozSGlqBZsyYIb6ejx8/rlCFqElZWVlYunSpeN3MzEzhCyltsrCwQN++fcXrP/zwg9KpR5ctW4YbN24AkH3BN2rUKK2P8W0nXyG7b9++QtuFhYVh5syZpTGkfFSd2iwuLg5JSUni9fK6JqG1tbV4OTIystz1X1bk35N3796t0pfhOVT5Ar8o6j6u8lNM7tmzB//880+hbZ89e6ZwMtWXX35ZoioXbbzui/O8UncfOzs7hRMuRo8erfKxpFIpXr16pVJbTWjevLl4WdlzMSIiAr/88kuR/an6M3v16hW++eYblcaorfcC+ef2smXLlFbaBQcHY+XKleL10aNHa2wcRESkGoZSREREWjZ06FBUr14dgOyM+Tlz5pTKcceNG4eDBw8iIyMj323p6elYsmQJPvnkE6SmpgKQVQjJ/9FdWmrVqoWxY8eK14cOHVpgMHXq1Cl0795dPGO3RYsW6N69e4F92tjY4NtvvxWvf/311/nOCM3IyMCPP/6IrVu3ittU+QOdtKNp06Zwd3eHu7u7wvoN2lKpUiVxSh6pVIrevXsrTFGUs33ZsmUYPHgwdHV1Fc7uLS26urr4+eefxetr1qzBDz/8kO91/ejRI3Tq1AmRkZGlHizLq1GjBkaMGCFeV2XKQXVFRUWhV69eCpVS48ePL3J9Ek2aMWOGuLbG/fv30alTp3zTtkmlUixZsgQTJkwQt3311VcK1bPvq65du4qXv/322wKnxDpx4gTatWuHxMTEMjmDvU+fPujSpQt27twpTvGUV3h4OPr16ye+HuvUqYPatWuX5jA1xtXVVbx85coVlddLK07/u3btKpPpULXB29tbodp3+PDh+OGHHxAbG1tg+/T0dOzbtw89e/Ys9DOMOuQfV1UqX9q3b49PPvlEvN67d+8CP3MFBwfjww8/FNdSdHBwwNdff12isWrjdS9//48ePVrkGknF3Wfu3LniOoaRkZHw8PDArl27Cl1HLDIyEn/++SdcXFwUpsjWtgEDBoiXFy5ciN27d+drc/nyZXh7eyMuLq7I35vyP7Nff/0VmzZtytfm2rVr8Pb2xrNnz9T+mWnyvWbgwIHiFHwZGRno1KmTwpq5OU6cOIGPP/5YrNJyc3ND//79NTIGIiJSnfLJ84mIiKjE9PX1MXnyZIwZMwaArOrC19cXzs7OWj3u8ePHsWzZMpiZmaFZs2ZwdHSErq4uoqKicP78eYV55Dt16qQQzhTm+fPn6Ny5c77tDx48EC+vXLkSe/fuVbi9WrVqOHz4cKH9zps3D9euXcO5c+eQkpKCPn36oF69evDw8ICuri5u3ryJoKAgsX3VqlWxY8cOpWfs/vTTT7hw4QJOnjyJ1NRU9O3bF7Nnz4abmxvS0tJw9uxZREVFie1nzpwJb2/vIh8Dde3fv19hXaCijB49WitnbIaFhWHcuHFq7TN58uRSmxKtLMyePRsdO3aEVCpFcHAwXF1d0apVK9SsWRNJSUk4d+6c+ByZM2cOVq1aVSaLeA8fPhyHDh3C33//DQD4/fffsX79erRv3x7m5uZ4/Pgxzpw5g6ysLHh4eKBOnTrYsmVLqY8zx7Rp07B+/XqkpaUVa/9Nmzbh6tWr+bYnJyfj/v37CAgIUFjEvWXLlpgyZUqxx1scNWvWxJo1azBw4EBkZ2fj0qVLqFu3Ltq0aYNatWohOTkZ586dQ0REhLhPixYtMH/+/FId59vqm2++wdq1a/Hq1SvExcXh448/hpubG+rXrw+JRIJr166JVcWdOnWCjY0N/P39S3WMUqkUhw8fxuHDh6Gvr4+GDRvC2dkZ5ubmSExMxNOnT3H58mXxS2ldXV0sXry4VMeoSba2tmjVqhUuXLiAtLQ0NG7cGB9//DGqVq0qTuFVq1Yt8bOMuj777DNMnjwZgiDg0KFDaNSoEVq2bKmwDk6/fv1KreJRk/766y9ERUXh2LFjEAQBv//+OxYvXgwPDw/UqlULxsbGiI+Px8OHDxESEiK+NzZr1qzEx/7888/Faqcff/wR//zzDxo0aCBOMQoAU6dOhaWlpXjdz88PrVq1wsOHD5GUlIQ+ffqgTp068PT0hIGBAe7cuYPLly+LwaGJiQm2bt1a4ml1tfG69/DwQPXq1REeHo4XL17AxcUFHTt2RKVKlcTPiB4eHgrVrcXZp2rVqti3bx86d+6MmJgYREVFoXfv3rCxsYGnpydsbW0hlUoRGxuL0NBQPHr0qEyC1/79+2PBggW4ceMGMjIy0KtXL7i5uaFJkybIzs7GzZs3xfVtfX194efnp/RzzdChQ7Fw4ULcv38f6enpGDx4MObOnYvGjRvDyMgIoaGh4u/rxo0bo1OnTkX+ntPWe42BgQG2bt0Kb29vvHr1Ci9evMAHH3yAxo0bi5/Dr1+/LlYuA7KT2LZu3VqqJ7UQEdF/BCIioncUAPGfKry9vcX2p06dKrCNj4+P2MbHx0flsaSnpwv29vZK9/Xz8xNvd3R0VLnvwtStW1fhMSjon6GhoTB9+nQhLS1NpT4fP35cZJ8F/VPl/rx580bo379/kX15enoK4eHhKo33zZs3Qp8+fZT2p6+vL8yZM0el/lQl/zxR99+MGTMU+poxY4Z4m7e3t1rjkN+3OP+Cg4NL/FjIP689PT1L1NeRI0c0+hoRBEFYsWKFoKenV+hjoKOjI0yfPl2QSqWCo6OjuP3x48cF9qdKG3nyzxU/P79C26WnpwsDBgxQ+vNq3ry5EBERoXKfqpJ/b1yxYoVK+0yYMCHf+JS9Z8o/bur8Gz58uJCQkFDi+yhPvv/CfhfkOHDggGBra1vkOPv37y8kJyerPZaSvP5LStXfd6r87izIxYsXhUqVKil93D799FPhzZs3Kj2n1X3ey783FXT/unbtqvLz0MbGRti7d2+Bx5H/vanK+1ZR48pLk49NUFCQYGZmVuj9LOlzcNq0aUofx7xjU/dzmSo/d3Xeo9X52WVlZQk//fSTUKFCBZWeM/r6+sJXX31V5HiLkpmZKbRv317psQq6ny9evBA++OCDIsdZu3ZtISAgoMTjzKHp170gCMKhQ4cEQ0PDQvsr6HVUnH0EQRCePHkifPjhhyq/N9ja2gr//PNPvn7UfV8QBNWfu48ePRJq1qxZ6JgkEokwdepUlT/X3Lt3T2l/AIRWrVoJERERCr+z8n6elafue40674v37t0TmjZtWuTPxs3NTXjw4IHSvtT9/abq/SciIkFgpRQREVEpMDAwwI8//ihWqmzevBkzZszQ6jROu3btwrFjx3Dq1CmEhYUhOjoaycnJsLGxQY0aNdC1a1f069dPnFqwrJmbm2PLli0YPXo0Nm7ciPPnzyMyMhLZ2dmwtbVFixYt0KdPH3z66acqr2lgbm6O7du3Y9SoUdiwYQMuXbqEqKgo6Ovrw8HBAZ06dcKIESNQr149Ld87eluNHj0arVq1wh9//IFTp07h+fPnMDY2hp2dHT744AMMHz4cTZs2LethwsDAAJs3b8aQIUOwevVqXLp0CTExMbC2tkbdunUxYMAA+Pj4lOnUffImT56M1atXFzrtWXEYGxvDwsICLi4uaNmyJYYMGaL1itOidO3aFQ8ePMC6detw8OBB3Lp1CzExMTA2Nka1atXQvn17DBkyRJwqknJ5eXnh1q1bWLRoEQ4cOCBOf1i1alU0a9YMgwYNQrdu3cpsfPv370dwcDBOnDiBK1eu4M6dO4iIiEBycjIMDQ1RuXJlNGrUCJ07d8aAAQNgZmZWZmPVFDc3N9y8eRNLlizByZMn8ejRIyQlJYnrLpbUrFmz0KpVK6xbtw5Xr17Fy5cvkZKSopG+y1rOVKvjx4/Hxo0bcfz4cdy+fRsxMTHIzMyEmZkZHB0d4erqivbt26Nz584aWX9MT08PR48exbp167B7926EhITg9evXBU7dLM/W1hYnTpzA0aNHsW3bNpw/fx4vXrxAZmYmbGxs0LRpU3FaZ01WkWjjdd+5c2cEBQVh6dKlOH/+PJ4+fYqkpCSllUrF2QcAHB0dcfz4cVy6dAk7d+7E2bNn8ezZM8TFxUFPTw/W1taoU6cO3N3d0bFjR7Rr1w56eqX7tVuNGjXE1/Hff/8tVjlVq1YNbdq0wZgxY9T6neTs7Izg4GAsW7YMf//9N+7du4eMjAxUqVIFrq6uGDBgAHr37q3W/dTme42zszOuXr2KXbt2Yffu3QgICEB0dDQAiJVtvXr1wueff16iNdKIiKhkJEJRv3WJiIiIiIiIiIiIiIiISkinrAdARERERERERERERERE7z6GUkRERERERERERERERKR1DKWIiIiIiIiIiIiIiIhI6xhKERERERERERERERERkdYxlCIiIiIiIiIiIiIiIiKtYyhFREREREREREREREREWsdQioiIiIiIiIiIiIiIiLSOoRQRERERERERERERERFpHUMpIiIiIiIiIiIiIiIi0jqGUkRERERERERERERERKR1DKWIiIiIiIiIiIiIiIhI6xhKERERERERERERERERkdYxlCIiIiIiIiIiIiIiIiKt0yvrAVDZS0tLQ0hICACgcuXK0NPj04KIiIiIiIiIiIiI6H2VlZWFV69eAQBcXV1hZGSkkX6ZPhBCQkLQvHnzsh4GERERERERERERERG9ZQICAuDh4aGRvjh9HxEREREREREREREREWkdK6UIlStXFi8HBASgatWqZTiat0tqairOnj0LAGjbti2MjY3LeERE7w++/ojKBl97RGWHrz+issPXH1HZ4GuPqOzw9UdFiYqKEmdYk88QSoqhFCmsIVW1alXY29uX4WjeLqmpqahUqRIAwN7enm/ORKWIrz+issHXHlHZ4euPqOzw9UdUNvjaIyo7fP2ROuQzhJLi9H1ERERERERERERERESkdQyliIiIiIiIiIiIiIiISOsYShEREREREREREREREZHWMZQiIiIiIiIiIiIiIiIirWMoRURERERERERERERERFrHUIqIiIiIiIiIiIiIiIi0jqEUERERERERERERERERaR1DKSIiIiIiIiIiIiIiItI6hlJERERERERERERERESkdQyliIiIiIiIiIiIiIiISOv0ynoARERERERERERERO8DqVSKpKQkJCQkICMjA9nZ2WU9JHpPSaVSWFtbAwDCw8Oho8P6lXeNrq4uDAwMYGZmBlNT07fmZ8xQioiIiIiIiIiIiEjLEhMTERkZCUEQynooRBAEAcbGxgCA7OxsSKXSMh4RaVpWVhbS09ORmJgIiUQCOzs7VKxYsayHxVCKiIiIiIiIiIiISJsKCqQkEgl0dXXLcFT0vpNIJAAAPT3GBO+i7Oxs8T1HEARERka+FcEUn21EREREREREREREWiKVShUCKVNTU1hZWaFChQpiKEBU2qRSKRISEgAAZmZmb83UbqQ5giAgJSUFr1+/RlJSkhhMOTs7l+nPm880IiIiIiIiIiIiIi3J+TIYkAVS9vb2MDExYSBFRFolkUhgYmICe3t7mJqaApAFVUlJSWU6LoZSRERERERERERERFqSU40CAFZWVgyjiKhUSSQSWFlZidfl35PKAkMpIiIiIiIiIiIiIi3JyMgAIPtiuEKFCmU8GiJ6H8lPF5rznlRWGEoRERERERERERERaUl2djYAQFdXl1VSRFQmJBIJdHV1AeS+J5UVhlJERERERERERERERESkdQyliIiIiIiIiIiIiIiISOsYShEREREREREREREREZHWMZQiIiIiIiIiIiIiIiIirWMoRURERERERERERERERFrHUIqIiIiIiIiIiIiIiIi0jqEUEREREREREREREb0TTp8+DYlEAolEAl9f3wLb+Pr6im2K+2/o0KFif+3atVN7/zdv3hTr/j158kShHx0dHTx9+lSlfZ2dncX9dHV1sWXLlmKNQV54eDi+//571KtXDyYmJrCyskLz5s3x+++/IyUlRem+Q4cOLfTx0dPTg5WVFby8vDB9+nQ8f/68xGOltwNDKSIiIiIiIiIiIiKickgQBGzevLnIdpcvX0ZYWJhGj33o0CE0atQICxYswN27d5GSkoK4uDgEBgbihx9+gJubGx49elSsvrOzsxEXF4fLly9j1qxZcHFxwf79+zU6fiobemU9ACIiIiIiIiIiIiLSnsAnr+HhZFVq+73txo4di169ehV4W2BgIIYPHw4AGDNmDMaOHVtgO0tLywK3h4SEqDQGMzMzldopY2RkhLS0NPj7+2PKlClK2/r7+yvsU1I3btxAnz59kJKSAlNTU0yePBnt27dHamoqtm3bhtWrV+PevXvo0qULAgMDYWpqqrS/o0ePolq1auL1zMxMREREYNeuXfD390diYiJ69+6NGzduwMXFpcTjp7LDUIqIiIiIiIiIiIjoHfXHv/fx54kwTPrYBWPa1VJ5vxWnH2LeP3fxvw/r4JuPnLU4wtJnY2MDGxubAm+LiYlRaNewYUO1+la3fUl0794dO3bswN27d3H16lW4u7sX2C4zMxPbt28HAPTo0UO8XBITJkxASkoK9PT0cOzYMXh5eYm3ffDBB6hTpw4mTpyIu3fvYuHChZg+fbrS/pydneHk5KSwrWnTpujWrRucnJzw888/IyMjA3/++SdWrFhR4vFT2eH0fURERERERERERETvoMAnr/HnCdmUbfP+uYsVpx+qtF9OIAUAf54IQ+CT11obIxVfvXr1xCAqpxKqIIcPH0ZsbCwMDAzQp0+fEh83MDAQp0+fBgCMGDFCIZDK8d1336FevXoAgEWLFiEzM7PYx/vhhx8gkUgAAFeuXCl2P/R2YChFRERERERERERE9A7ycLLCpI9zpzpTJZiSD6QAYNLHLu/kFH7visGDBwMAtm7diqysrALbbNy4EQDQpUsXWFmV/Ge5d+9e8fKwYcMKbKOjo4MhQ4YAAOLi4sQQqzhMTU1hbW0NABqZepDKFkMpIiIiIiIiInpvFPdsf1YJEFF5NaZdLZWDqYICKXWm/KPS179/f+jp6eHVq1c4evRovtvj4uJw6NAhALkBVkmdO3cOAGBiYoJmzZoV2s7b21u8fP78+WIfLykpCbGxsQCA6tWrF7sfejswlCIiIiIiIiKi98If/95H75WXVJ6+KseK0w/Re+Ul/PHvfS2NjIhIu1QJphhIlU+VK1dGp06dABQ8hd+OHTuQnp4OS0tLdOnSRSPHvHPnDgCgdu3a0NPTK7Sdi0vucy5nn+JYsGABBEEAIFtHi8q3wp8xRERERERERETviLzrqgBQ6cvWvOuqtK5TidNYEZHGSaUC4lIytHqMPu72SMnIwpKTDwDI3gtTMrIwtKUT1l98Im4HgPEf1EYfd3vEJqVrbTyWFQygoyPRWv9lJTQ0tMg2lpaWsLOz09gxhwwZgkOHDmH//v1ISEiAmZmZeFtOUNW3b18YGBiU+FhpaWmIiYkBANjb2ytta2lpCRMTEyQnJ+PZs2dK296/fx9JSUni9aysLERERGDPnj1Yv349AKBVq1YYMWJEye4AlTmGUkRERERERET0zstZVyUnYFIlmOK6KkRUWuJSMtBs9vFSP+6Skw8UwqiitmtS0LQOsDY11OoxyoKrq2uRbXx8fMSgRRO6d+8Oc3NzxMfHY/fu3eI6T48ePcKFCxcAaG7qvsTERPGyqalpke1zQin5wKkgOdVeBalWrRp++OEHjB49GoaG795z5n3D6fuIiIiIiIiI6L3AdVWIiOhdZGRkhF69egFQnMJv06ZNAIBatWqhZcuWGjlWWlqaeFmVyqucECk1NbXYx3z+/Dn8/Pzwzz//FLsPenuwUoqIiIiIiIiI3hs5wZJ8xVRmZiYc5dowkCIiouLKWftIHdHR0YiOji7wNhMTE9SoUaPIPoYMGYK1a9fi9OnTePbsGRwcHMRQatCgQWqPqTBGRkbi5YyMoqecTE+XTQFpbGystN3jx4/h5OQkXhcEAXFxcQgICMCvv/6KM2fO4LPPPsPixYsxbty44g2e3gqslCIiIiIiIiKi90reiqmFJx7ieKRsXZPV558ykCIiolK1fPlyuLq6FvgvZyq+orRp0wZOTk4QBAGbN2/GpUuXEBYmW0tRk6FUxYoVxctFTckHAMnJyQBUm+pPnkQigZWVFT7++GOcOHECbdq0gSAI+Oabb3Dv3j31Bk1vFVZKEREREREREdF7Z0y7WsjKlmLBv/cBAAfCdXEsQkC6NHc6PwZSRFRaLCsYIGhah1I51vqLTxTWizI31kd8aqZ4ffwHtTG0pZPWx2FZoeip30h1EokEAwcOxJw5c+Dv74/w8HAAgJeXF2rXrq2x4xgZGaFSpUqIiYlBRESE0rZxcXFiKOXg4FDsY+rq6uLbb7/FuXPnkJWVhY0bN2LOnDnF7o/KFkMpIiIiIiIiInrnCYKAiLhUXAuPw7WncbgW/gZ3ohIU2qRLJeJlBlJEVJp0dCSwNjXU+nFWnH6oEEjlvNfJT1u65OQDVDDQ43tgKfL19YWvr2+J+xkyZAjmzJmD27dv49GjRwCAwYMHl7jfvOrVq4dz587hwYMHyMrKgp5ewTHD3bt3FfYpCReX3ArnkJCQEvVFZYuhFBERERERERG9c1IzsnEz4g2Cn70RQ6iYpHSV9jXU08Fo75paHiERUelStl5eQevtyW+n8sHZ2RnNmzdHQEAA0tLSYGBggL59+2r8OK1bt8a5c+eQnJyMoKAgeHp6FtjuzJkz4uVWrVqV6JhZWVni5czMTCUt6W3HUIqIiIiIiIiIyrXCqqCypOovNg8A6VlS9FpxCbvGeEEikRS9AxHRW05ZIJWDwdS7wcfHBzdu3AAAdOvWDVZWVho/xqeffopffvkFAODn51dgKCWVSrFx40YAgIWFBdq3b1+iYwYGBoqXSzIVIJU9hlJEREREREREVK7kVEFdC3+D4HD1qqBUFRQeh89XXMTuMS0ZTBFRuaZKIJWDwVT5N3bsWIwdO1arx2jevDnatGmDc+fOYe3atfDx8YGXl5dCmwULFuDOnTsAgP/973/Q19cv9vHi4uLEEAwAOnfuXOy+qOwxlCIiIiIiIiKit5amq6AsK+jDrbolMrOlOBsWI25vai3F9VgJBOQGUNfC3+Cz5bJgSkeHwRQRlT+BT16rHEjlKCiYcneyhIeT5itutO369etYv359ke1at26N2rVra+SYoaGhKrVzdHRExYoVNXLMsvDnn3+iVatWSE1NRceOHTFlyhS0b98eqamp2LZtG1atWgVANqXgd999V2R/9+/fR1JSknhdEAS8efMGV65cwZIlSxAeHg5A9rPq0aOHdu4UlQqGUkRERERERET01pCvgroWHofgElRB6UiAulXM4FbdAm7VLeHmaAkn6wpYeeaRwpe0335YC44p93AtRoJND/SQLeQGXsHP3qDn8ovYM5bBFBGVPx5OVvjfh3Xw54kwlQKpHPLB1P8+rFMuAykA2LdvH/bt21dkOz8/P42FUq6uriq127NnDz799FONHLMsNG3aFNu3b8egQYOQkJCAKVOm5Gvj7OyMQ4cOqRS+derUqcg27du3x65du1jBXM4xlCIiIiIiIiKiMiEIAp69TkXwM81WQbk5WqJpdQs0sreAqaHiVx8FTWM11LMajh27B7dKApo0boDv/76FbLkx3Ih4g57LL2DP2FYMpoio3PnmI2e0rlNJ7WBpTLta5bZCikpHt27dcPPmTfz55584dOgQIiIiYGBggNq1a6N3794YN24cKlSoUOz+TU1NUbVqVXh4eKB///7o0qULA6l3AEMpIiIiIiIiIioVpVEFpezLqsLWVUlNTRW3fdzABkaGBhi/NVghHLsREY8ey85j31etGUwRUblT3GCpPAZS7dq1gyAU7+SG4u5/+vTpYh9PXU5OThq5f1KpFAkJCSUej6OjIxYuXIiFCxeqve/69etVml6R3i0MpYiIiIiIiIhI47RdBdXY3gImhqp/raHOuiqfuFbFUokE47ZcUxhvSGQChq0PxLqhHtBlMEVERESkNoZSRERERERERFRimq6CcqliBjdHCzR1UK0KqijqrqvyccMqWD7QDV9tuYbM7Nxg6sz9V/hh5w381rsxgykiIiIiNTGUIiIiIiIiIiK15FRBXQuPEwOosqyCUpW666p0bFAFKwY2w5jNQQrB1N/BkZAKAn7v3Rh6ujoaHycRERHRu4qhFBEREREREREplb8KKg4xSRnF6ku+CsqtuiWaVi95FZQ61F0f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", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "\n" - ] - }, - { - "data": { - "image/png": "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Xpo8ebL69etnxl5//fXsPA1koFSpUurevbuk5BFXBw4cyHAd+1FCzo7Wy45ly5YpOjpaklSzZk099dRTDnMBAAAAAOBWRzEJAIAcULFiRT300EPm/Q0bNuTYtYXSExUVpR9//NG8P378+HSLPc8884w5n39YWJh+/vnnNNvWqFFDJUqUyLFcpeRRVJ999pmk5On9Fi1apCJFimSrz/nz5+v69euSkgsCTz/9dJptJ0+eLDe35D9/Nm/erJ07d2Zr20jfoEGDzOUFCxak2/batWtauXKlpOSiaKNGjXIzNUnWgtFjjz1mKWBl9lpPAAAAAAAUZhSTAACFQsoFZG02mxk7cOCARowYoTp16sjf318BAQFq1KiRXn/9dUVEROR4Dk2aNDGXo6OjFRkZmePbuNn27dvNUUnu7u66++67023v5uamrl27mvczc22nnDBr1ixz+YknnlClSpWy3WdKAUL692LOaalSpYrl2lf2U5wh5917773m9Zi++OKLdAusy5cv140bNyTlzaiko0ePasOGDZKS9x+PPfaYmjVrptq1a0tKnhpx8eLFDtf9+uuvzf1NSntnnDhxQm5ubrLZbPLy8kq3WBUfH6+FCxeqb9++uv3221W0aFH5+fnptttuU//+/bVixYoMC9Zr16418+zYsaMZ/+GHH9S/f3/VqFFD/v7+stlsllGLKdtfs2aNRo0apU6dOikwMFA+Pj7y9fVVpUqV1L17d3388ceKiopy+vlL0vXr1zVlyhS1atVKpUqVkp+fn2rWrKknnnhC27ZtM9s52qen5+LFi/rggw/UpUsXVa5cWT4+PipevLjq1q2rZ599VqGhoZnKMy0pOa1bt86MderUyZJvWheUDwoKMh9LmaLtyJEjGjNmjJo0aaIyZcrIzc1NjRs3TrXd/fv366OPPlLv3r1Vq1YtFS1aVJ6enipTpoyaNWumkSNHZmpayKioKM2aNUv33nuvqlSpoiJFisjHx0eVKlVS48aN1atXL82YMUOHDx92uP68efPM5zJ48GBJUmJiohYsWKAuXbqoYsWK8vLyUmBgoB599FFzGlh7165dM6c4LVeunHx9fVWzZk29/PLLTv1GO3o9b37MvmD8+OOPO3yfcmrKpnPnzmny5Mnq0qWLqlSpIl9fX/n6+qpKlSrq1q2bJk+enObUfOk9F0dSfuscfc7Sa3P58mV9/PHHat++vSpWrCgPDw/ZbDZdvnxZUvIJKTe/LtHR0ZozZ47uvvtuValSRV5eXrLZbNq1a5fD7f7222965plnVK9ePZUsWVLe3t4KDAxU165dNW3aNHM0aHpy8m+67HxnM5LyPbjtttvM2IkTJxz2nd6+zDAMLVu2TP3791e1atXk7+8vf39/VatWTY888oiWL1+eKyco5cR+JSvftZz6fubm7+Tvv/+uhx9+WLfffrt8fHxUqlQptW/fXtOmTTP/7s5sn+lx9jfvxIkTmjlzpvr376/69eurWLFi8vT0VKlSpdSwYUMNGzZMW7ZsSbePjh07ymaz6a233jJjb731lsPXP2X/nsLRPiI98fHxmjt3rh544AFVrVpVvr6+CggIUK1atTRkyBD98ssvGfYhOd5Hnj59Wv/5z3/UqFEjFS9eXH5+fqpdu7aef/55nThxwql+AQBZYAAAUAhIMm+GYRgzZ840vL29LXH7W6lSpYyQkJB0+xw0aJDZftCgQRnmMHv2bMs2wsPD02w7d+5cs13VqlUz81QtlixZYvZTrlw5p9Z59913s7XtDh06mOu/+eabTq+XkJBgBAQEmOtu27Yt09u+WXR0tOHm5mb2uWnTpgzXmThxotm+bdu22c4hs5+T9Lz55ptmXx06dMizdXOK/ee6ZcuWhmEYxvDhw83Y77//nua6HTt2NCQZ7u7uxpkzZ4wff/wxR74jabF/vdq1a2fG7T8fzZo1c7huTEyMUbx4cbNdRvsSR3336NEjzXZ//PGHUa1atTT3Xym3Vq1aGadPn063H/vPxOXLl41evXo57Oujjz4y1zt58qRRqlSpDLcvyShdurTx888/O/X8d+zYYQQFBaXZl81mM8aNG2cYRup9enqmTZtmFCtWLN08bTab8cQTTxixsbFO5ZoWZ16TlNvcuXMt61atWtV87NixY8ann35q+Pj4pFqvUaNGlvUeeughp7Zns9mMESNGGAkJCek+h02bNhkVK1Z0+nnEx8en6sP+uz5o0CDj3LlzRvv27dPsw8vLy/jhhx/M9Tdv3mwEBgam2b58+fJGWFhYus/j5tczrccyumXmd8yRxMRE46233jKKFCmS4bbc3NyMv//+O1PPxRH7352bP2dptdmwYYNRuXJlh3lFRkYahmHdL7755pvGvn37jHr16jlcZ+fOnZbtnTx50tyPp3cLDAw01q9fn+7zu/n7n52/6bLznc2I/ffAmZsjBw8eNJo0aZLhuk2bNjUOHz6cqfzSk1P7lax813Li+5lbv5OxsbHG008/nW6fwcHBxoULF5zu0xkZfU4MwzBeeeUVw2azOfW69e/f37h+/brDfuz/js/odvPftTfvI9KzZcsWp96jLl26GOfPn0+3r5v3kStWrEj3d9/X19f4/vvv0+0TAJA1HgIAoJCZN2+ehg0bJkmqVauWmjVrJl9fX4WFhWnjxo0yDEMXL17U/fffr/3796t48eI5st1//vnHXHZ3dzdHZOQmw+6MS2fP4Ld38uRJRUVFyd/fPyfTcmjv3r26evWqJMnPz09NmjRRbGys5s2bpy+//FL79+/X1atXVbp0aTVu3Fg9e/bUoEGD0p2278CBA0pKSpKU/PztR4elJTg42Fzev39/Np8VMjJw4EDNmDFDUvJUd506dUrV5sSJE+ZZ43fffbfKly+fqzkZhqGFCxea9wcMGGAuP/bYYxo7dqwMw1BoaKj27dununXrWtb39vZWnz59zCkbFy1apGbNmmW43UWLFlm248iyZcv06KOPmmc++/j4qFWrVgoKCpK7u7sOHjyozZs3KyEhQVu2bFHr1q0VEhKicuXKZficH3vsMX3//fey2Wxq3ry56tSpI8MwtHfvXsv+4/r16+aoqRIlSqhevXqqWrWq/P39FRcXp2PHjmnLli2KiYlRRESEunfvrnXr1qV57TNJOnjwoLp06WIZjdWkSRM1atRIiYmJ2r59u/bt26e3335bpUuXzvC1TDFy5EjLqKpSpUqpVatWCgwMVExMjHbu3Km9e/fKMAx9/vnn+ueff7R69WpzusvMevbZZyUlj2pM2ec/8MADqlixYqq2derUSbOfZcuWadSoUZKSp0lt06aNihUrpn/++UeXLl2ytD158qQkycPDQ3Xr1lWNGjVUvHhxubu76/z58woJCVF4eLgMw9DUqVMVGxtrfududurUKXXt2lXXrl2TJHl6eqp58+aqXr26ihQpouvXr+v48ePavXu3ub/OSEJCgnr37q2NGzeqSJEi6tixoypWrKjz58/r119/1fXr1xUXF6fevXtr7969iouL0913361r166pXLlyuuOOO1SiRAkdOXJEa9euVVJSks6ePatevXpp9+7d8vT0dCoPe4MGDdLFixf122+/KSwsTJLUuXNnhyMJW7Roken+UyQmJuqhhx6yjHL18vJS69atFRQUJA8PD509e1Y7duzQmTNnlJSUpLi4uCxvL6sOHz6sESNG6MqVKypatKjat2+vwMBARUZGav369Q7XuXjxou655x6dPHlSPj4+uuOOO1S1alVdu3Yt1ciH/fv3q3Pnzjpz5oyk5N/jxo0bq169eipSpIjCw8O1fv16Xbt2Tf/884+6dOmiH3/80eHvwc2y+zddTn1nHalTp46effZZXbt2zZzKtWjRok6Prt2/f786dOigCxcumLEGDRqocePGstls2rlzpzmqb/v27Wrbtq3Wr1+vmjVrZipPR3Jqv5KV71p2v5+59TspSUOHDtW8efPk5uamli1bqnbt2kpKStKWLVvMaz/u2LFDAwcO1A8//JBhfznp1KlTMgxDNptNtWrVUq1atVSqVCl5enrq4sWL2rlzp44cOSJJWrx4sa5cuWL+5tvr1auX6tevr23btikkJESS1Lx5c4evdatWrbKU6/r169WtWzdzxLmU/F7Wq1dPcXFx2rJli5nrL7/8onbt2mnDhg0qU6ZMhn3/9ttvGjp0qBITE1WlShW1bt1aAQEBOnbsmNauXauEhARFR0erb9++2rt3r2XkIAAgB7ioiAUAQI6S3dlo3t7eRpkyZYwff/wxVbt169ZZRse89dZbafaZ2REnrVq1spxBmp6cGpn022+/mf24u7uneRaivaFDh1peL2dHVaTI6sik//3vf5azOsPCwoz69eune7bibbfdZmzfvj3NPrMyMuvvv/+2bCOjsyEzwsikfzkamWQYhlGrVi1DklG0aFGHn9F33nnHXG/x4sWGYRi5OjJp/fr1Zt9eXl7GpUuXLI/bn10/evRoh32sXbvWbFO+fPkMR4Ps2LHDbB8QEGBER0enarN3717L6IYRI0YYFy9eTNXuyJEjRrt27cx23bp1c7hN+7OjPTw8DElGgwYNjL/++itV25iYGHP5+PHjxvPPP29s3brVSExMdNj3lStXjFdeecXsv0aNGmm2TUpKsuRbtmxZ448//kjVbuXKlUbRokVTjUBIy5w5c8w2/v7+xsyZMx2OPPr9998tI3EmTZqUZp/Ost8POnoujtifWe3h4WF4eXkZs2fPNpKSkizt7N8LwzCM1157zVi6dKlx5coVh/0mJSUZq1atMsqUKWP2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YYbrNG7c2CyyJiYmavfu3WrTpk228sip/Upeye3fyVq1amV4YpKrP2ubN2/Wa6+9pj///NPy3NLj7G94TrD/LNWuXdvyeqWlbdu25vLZs2ctJxw5Uhj3CQBQkFBMAgAUOsWKFcuwjf1Z0fHx8Rm2r127tjp37mzej4mJ0alTp7R582bzzPz//Oc/OnDggObPn5/pglJ2TZkyRSVKlND48eMVHx+vmJgY/fzzz6na3XXXXVq0aJHlP2npHcTJSf7+/pb7vXr1ynCdXr16mcWkTZs2pdunsyOMbm53c15IltFBmho1aujFF190ur8+ffro2Wef1Y0bN7RgwQK9+uqr+u6778yi5oABA3L9zP7w8HD9+uuv5v0BAwak2bZr164qV66czp07p+joaC1btkxDhgxJ1e6xxx4zR+QsWrQoVTEpJiZG33zzjaW9IykjlyTp999/1++//+7Uc0oRGRmZ7uNlypTJVF933nlnmiON0mI/SimF/UGsIkWKOFXQqlixYrqPR0VFWba1cOHCTGSZLKPXK7dl5v0YP3683nrrrUxvw9H7MWTIEP3888/mfnXdunXmyLHAwEDdcccduvPOO9WrVy+nc3TmN9fD49//dma2vTO/0Xnt3Llz5rK3t3e6Bz7zg8x83jKzjv1+68CBAzpw4ECmt5PRdzE3/qZztQsXLpjLlStXdupvRjc3N1WuXFlhYWGSsl8gyMn9Sl7J7d/JzH7W7Efp5oXPP/9cTz75pNNFpBR5+Z7Zf7adGakoSeXKlZOPj48520BERES6+9TCuE8AgIIkb490AQCQB3LjgHTLli01bdo08/bZZ59pzZo1OnXqlEaOHGm2++KLLzRlypQc374z3njjDR0+fFivv/66WrRooVKlSsnT01OBgYG69957tXTpUv3888+6ceOGeUaslDztVl64+exEZ85Ot29z7dq1VP8htu/T/uBeelKmvUiRmdEat5Lp06ene1uxYkWm+vP39zenFdu7d6927typBQsWmI/nxRR3X3zxhZKSkiRJt99+e7pndbu7u6t///7m/bSmubQfabRmzRpdvHjR8viqVavMafUaNmyY5hm12T1z1v477UhmRuA9++yzZiHJ29tbQ4cO1apVq3To0CFzmjsj+dqr5lQ6kszX1l5UVJS5XKRIEae2n9HUTTlxlnFeHwS8mbPvxy+//GI54Nuu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166Wa1qm+O2333TPPfeYBarg4GD1798/y7nmxn5Fytp3LSvr5IffSWfYXyPxtddecziq+ccff9Tdd9/t1HRz9qOyXnrpJYfT/P3222/q2LGjrl27lun3bM2aNTl2LbYRI0aY0/pevHhRnTt3djjicsmSJZaTe+6///4Mr9MIAHA9D1cnAABAYeLp6anXX39dw4YNk5T8H6Xx48ebBxlyy6+//qrp06crICBATZs2VdWqVeXu7q4zZ85ow4YNljM3u3btaimqpOWff/5xeBDx8OHD5vKsWbO0cuVKy+OBgYH64Ycf0ux30qRJ2rFjh/7880/duHFDffv2VZ06ddS8eXO5u7vrr7/+0vbt2832FSpU0NKlS9P9z/Z//vMfbdy4Ub///ruio6PVr18/TZgwQcHBwYqJidH69estF0h/6623LFNv5ZRVq1apcePGTrd/5plncuUszEOHDlkOBjvj9ddfT/eaPgVVRESE5fN48zWbnNGnTx8999xzio2N1dWrV7VixQrLgSIpeWRiv379NG3aNEnSN998Yz7mbOG2fv36Wrx4sfr166cbN27owIED6tKliypXrqzmzZurdOnSiouL04ULF7R7926dPn06088lIyVKlNArr7xiXjNn0aJF+vHHH9WyZUtVrFhRZ86c0dq1a3X9+nW5u7trxowZqaYuvJmbm5s+//xztW3bVpcuXdL58+fVqVMnBQcHq2HDhkpKSlJoaKh5jbT//ve/euGFFySlf02HwYMH6+jRo+aIy9WrV+uHH35Q/fr1Vb9+fQUEBOj69esKDw/Xzp07UxXFsqN37956/fXXZRiGVq9erYYNG6pNmzaWa2U8/PDDlqmssuI///mPvv32W0VHR+v48eNq1aqVWrdurZo1ayouLk6bN282pzx76qmndPDgwXRHGkRHR+t///uf/ve//6lo0aJq3LixqlSpIj8/P0VERCgsLMxyrboyZcpYrgdY0HTr1k1FihTRjRs3tHv3btWpU0cdO3ZU8eLFzc/W3XffrbvvvjtL/b/77rsKCwszz6yfNm2aZs+erTZt2igoKEgeHh46e/astm/fbv4G2Y/kSVG1alU988wzmjFjhqTk38nFixerffv28vHx0ZEjR7Rx40bFxcWpc+fOqlChglPTR+UFf39/rVq1SnfddZeOHTtmFptfffVVtW7dWhUrVpTNZtOl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scSG1B+iskUcX9vZVYY2HKo6JetYYvP+nqdd53e5JiEAuEV4uDoB5HNJSVL0pdzdRpMBUtwNaf3k5Pu/jk++33KotPXTf+OS1H5UcvvrEen3mZQk241rycvucZKz163yLel82wJm7969GbYpUaKEKlasmGPbHDhwoFavXq1Vq1bp6tWrCggIMB9LKTD169cvx6aO27cveZ7koKAgPf/885o+PfWZSceOHdP48eO1fPlyrVmzJs3pLSMjIzVixAhJ0nvvvaeyZbP+x/P169dTvf43btzQ3r17NW3aNO3bt082m03vvfeeypQpk+XtAAAAAACQFXGJcXo/1HoSZXm/8hpUb5CLMkqbp7unJrSboIe/f1jxSfGSpCQjSWM2jNGy+5epiGcRF2cIAIUTxSSkL/qSNKVa3m93/WRrESmj+E3cJBXLynZfPSL5Zf86O/lRgwYNMmwzaNAgzZs3L8e22aNHDxUrVkxXrlzR119/rccff1ySdPToUW3cuFFSzk1xJ0mXLiUXPsPCwrR7924VL15c7733nnr37q2AgADt2bNH48aN048//qi9e/fqoYce0p9//ik3BwXEV199VefOnVPr1q311FNPZSuv0NDQdF//Ll26aNSoUbrrrruytR0AAAAAALJi0f5FOh112hJ7qelL8vHwcVFG6atZoqaebfyspu6YasZOXjupj3d8rNdbvu66xACgECucQzAA5As+Pj7q06ePJOtUd1988YUkqVq1amrTpk2Obe/69euSpNjYWLm7u+vHH3/U0KFDVaZMGXl7e6tZs2b6/vvv1a1bN0nSpk2b9M0336TqZ/369fr888/l4eGhWbNmyWaz5ViOjqxdu1azZs1SeHh4rm4HAAAAAICbRURH6NO/PrXEGpdprHuC7nFRRs4ZXG+wGpZpaIl9Gfaltp7Z6qKMAKBwo5gE3CIMw8jwdvOopPPnz2vv3r0Ob8eOHXNquwMHDpSUXDA5deqUpH+LSY899ljOPUElF69SPPTQQ2rVqlWqNm5ubpoyZYp5f/HixZbHY2Nj9fTTT8swDL344otq2LDhzV1kWocOHVK91nFxcTp27JimT5+uYsWK6euvv1arVq108ODBbG8PAAAAAABnTd81Xdfjr1tio1uMzvUTK7PL3c1dE9tOlI+7dfTUfzb+R1FxGV8nGQCQORSTAKRpxowZatCggcNb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hx56iHXr1vH+++/z6aefsn//ftLT00uClocffph//vmHa6+9lr59+/qitRIOh4M77rgDm81GTEwMycnJJ73n8ccfLwmSOnXqxNixY2nWrBnbt29n0qRJrFq1ihkzZhAdHc2zzz7r7U9BRERERETkpFLyUkqCo4TkBDYc2oDNYSvXXA3CGpSsOoqPjqd5jeZYzJZK7liqG7vD4NmfN/DeP7vcaufHxfD6TZ0I9vfSjxvsNvjjSVgy1b0WWgdu+BAadPfOs0VERKTKHB8kjbu4NbecU4/ZszeXXDsSHClQ8g6fhEnHateuHS+99BKTJk1i9uzZzJo1i++//578/HySkpKYMmUKU6ZMISYmhquuuoprrrmGgQMHer2v119/nWXLltG6dWuuuuoqXnjhhVLHb9u2jUmTJgHQtWtXFixYQFBQEADdunXjiiuuoH///ixfvpyJEydy66230qyZ/tKKiIiIiIjv2Bw2tqZvdVl1lJiTWK65rGYrbWu1LdmuLj46nqigqEruWKq7gmI7D32ewK/rDrjVhvVoyITL2+JnMXvn4bmp8OUtsOtv91qDHnD9BxBWxzvPFhERkSrjKUgaPaAZ+fn5bmMVKHmPz8OkI8xmMxdffDEXX3wx2dnZfP7553z44YcsXLgQwzA4ePAgb731FjNmzMBmK99vyZXV3r17eeKJJwB48803mTdv3knvefXVV0v6euONN0qCpCOCg4N544036NmzJzabjddee4033nij0nsXERERERE5IqsoizUpa5yrjlISWJuyljxbXrnmqhVYi04xnUqCoza12uBv8a/kjuV0kp5bxB2zlrN8d7pbbezFrRjdv5n3tnhPSoDPh0HmXvda15Fw8Yvgp7+fIiIiZ5pluw55DJJK4ylQ6tq4Jt0aR3qv0bNAlYVJxwoLC+P222/n9ttvZ9euXcyaNYuPPvqIbdu2+eT5d999Nzk5OYwYMYIBAwacNEwyDIPvv/8egNatW9OjRw+P43r06EGrVq3YvHkz3333Ha+//rrOThIRERERkUphGAZ7sveUBEcJyQlsz9iOgXHKc5lNZlrUaFESHHWM6Uj90Pr694uU2HsojxHvLWVHSq7LdavFxKRrO3BVp/ree3jCp/DTg2ArcL1u8YdLX4bON3vv2SIiIlKlujWO5IGBLfjfnK1lCpKOODZQemBgCwVJlaBahEnH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", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABqUAAARGCAYAAACxAbqmAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdeVxUZf//8fewCYoIiPu+oZZbKi5Z4lJpZt2Zplmae2VWandqq0t2W2aLpmWZa6V1a5l9s8VKRdLcUjNNBfd9BxcQQeD8/uDHuWdggAFmGMDX8/GYh+ecuc51PmdmrjN4PnNdl8UwDEMAAAAAAAAAAACAC3m4OwAAAAAAAAAAAAAUfySlAAAAAAAAAAAA4HIkpQAAAAAAAAAAAOByJKUAAAAAAAAAAADgciSlAAAAAAAAAAAA4HIkpQAAAAAAAAAAAOByJKUAAAAAAAAAAADgciSlAAAAAAAAAAAA4HIkpQAAAAAAAAAAAOByJKUAAAAAAAAAAADgciSlAAAAAAAAAAAA4HIkpQAAAAAAAAAAAOByJKUAAAAAAAAAAADgciSlAAAAAAAAAAAA4HIkpQAAAAAAAAAAAOByJKUAAAAAAAAAAADgciSlAAAAAAAAAAAA4HIkpQAAAAAAAAAAAOByJKUAAAAAAAAAAADgciSlAAAAAAA3hQ4dOshischisSgiIsLd4QBAsbdw4ULzujtw4EB3hwMAKARISgEAkAXrG1f2HqVLl1b16tV17733asqUKTp58qTDdU+cODHburN6TJ8+Pdt6z5w5o9dff1133HGHKlSooBIlSqhixYpq06ZNrmOUpMuXL2vNmjV6++239fDDD6tmzZo28SxcuDBX9dkTGRmpZ599Vk2bNlX58uXl6+uratWqqVWrVnr66ae1bNkyxcbGOlSXYRj69ttv1atXL9WpU0d+fn4qV66cWrZsqUmTJunYsWP5jjejjJ+T6tWrKzEx0aF9X3zxRYf+k57xdc/48PDwUJkyZRQaGqrevXtr8eLFun79upPO0Jb1cV15Q/fIkSN5aiPZPZzxebXWpk0bm/qXL1/u1PoBAAAAAChuSEoBAJBHcXFxOn78uH7++We98sorqlWrll5//XUZhuGWeD744APVrl1bEyZM0IYNG3Tu3DklJSXp7Nmz2rx5s1555RU1bNhQ8+fPd6i+vn37KigoSJ07d9a4ceP09ddf6+jRo06L99ChQ+ratavCw8M1a9Ys/f333zp//rwSExN14sQJbd26VbNnz1bv3r01b968HOs7deqU7rrrLj300EP65ptvdOjQIV2/fl0XLlzQtm3bNHHiRN16661OT0xkdPz4cX3yyScuPUZGhmHoypUr2r9/v5YtW6Z+/frplltu0fr16ws0jptJdHS0Nm/ebLNt0aJFbooGRcXAgQNdliSF81j/cGTixInuDgdu5Oo2a/3DhptRXtoa7dO96PUEAHAGL3cHAABAURAWFqZWrVrZbLt8+bJ27typXbt2SZJu3LihCRMm6NKlS3rvvfccrrty5crq0aOHQ2WbNWtmd/uLL76oqVOnmuulS5dW+/btVblyZcXGxioyMlLnzp3T1atXNWTIECUmJmr48OHZHuv06dMuS7Dt3LlTnTt31sWLF81tt9xyi2699VYFBwfr6tWrioqK0s6dO5WcnJxjfVeuXFGXLl20e/duc1urVq106623mr29Ll26pLi4OA0aNEgeHh56/PHHXXJukvTmm29q6NChKlmypNPr7ty5sxo0aGCzLSUlRRcvXtS2bdt06NAhSdLhw4fVpUsXRUREKCwszOlxuFpAQIBGjBiRbZktW7Zo69atkhxrRw0bNnRafPYSUD/++KPOnz+vcuXKOe04AAAAAAAUJySlAABwQLdu3bL8NeYff/yhRx55RMePH5ckvf/++3r00UfVsmVLh+quV6+eZs2alefYVq5caZOQ6t+/vz744AMFBgaa25KSkjRlyhRNmjRJkvTss8+qdevWat68ebZ1e3h4qEGDBmrVqpXCwsIUFhamnj17mueaF0eOHLFJSHXu3FnTp09Xo0aNMpWNiYnRd999p8qVK2db5zPPPGMmpIKDg/X111+rY8eO5vNxcXF68skntWTJEknSsGHDdPvtt6tu3bp5Po/snDlzRrNmzdLYsWOdXne/fv2y/WXqjz/+qMcee0yXLl3StWvXNHz4cP35559Oj8PVgoODc2wXEydONJNS+W1HuZGamqrPP//cXPf19dX169eVnJysJUuWaOTIkQUSB4DcYx4pAChYAwcOpFcVAMAGw/cBAJBPt99+u7777juboVfmzJlTYMd/5ZVXzOV7771Xn332mU1CSpJ8fHw0ceJEjRkzRlJaz5px48ZlW+9HH32ky5cv659//tGCBQv0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lCmjHj16SJJOnz6tPXv2FOjxrT/bTz31lFq0aJFl2bCwMA0bNsxcnz17do71N27cWE888USWzzdq1Mgc7towDG3bts2RsAEAecScUgAAOGDSpEmaNGlStmXKli2rsWPHauzYsQUUVdr8RS+//LL5H7Mff/xRAwYM0IwZM2wSAUlJSXrzzTc1bdq0THUkJCQUSKzx8fE2656envr+++/tjvvfu3dvSTLnmlm3bp0iIiLUoUMHm3LWc2w4mnzJOEa+K8//jTfeUHh4uKS0G+zjxo1T7dq1XXa8dEeOHFHPnj01fPhwvfXWWwU6T9Mff/xhzmdVtmzZbG+YSWlz0wwePFj//ve/JUlr1651eYx58ccff5jJDE9PT/Xt2zdTGYvFoscee0xvvfWWpLT5p+zdAOndu7eee+45JSUl6ffff9exY8dUvXr1TOUOHjxozgvi6+urnj17Zirz22+/ma939+7dc7yxK0mtW7dWyZIlde3aNa1fvz7H8o888kiOZTJKTU3Vtm3b9Ndff+nEiRO6cuWKbty4YbesvYS7JEVERJjLjz76aI7HfOyxx/Tpp59mW+bHH380lx09r06dOpnL69ev1/PPP+/Qfq7Qs2dPeXnl/r9wx44d05YtWxQdHa1Lly4pISHB5ub04cOHJaXdiNu5c6eZUE9n/fn86KOPbG4e5pWfn5/uvffebMs0atRIkZGRktISk9klxHx9fVWnTh3t2bNHhmHoyJEjaty4cb7jdLaff/7ZXB42bFim76TCpEmTJg7Np2MtKChIXbp0ybbM6dOnzXZfpUoV3XHHHTnW6+vrq7Zt2+qnn37S5cuXtXv3bjVp0iTL8g8//HC29VksFjVt2lRnzpyRlPa92ahRoxzjcDfr70jrREdWBg0apJdeekmpqak6ffq0oqKi7M6LlRf5va4UlIL4nszp89agQQP5+fkpISFBFy9eVFxcnENxONu5c+e0adMm7d27V7GxsYqPj7d5z/78809z+a+//iqwa2hcXJzNsR35bA8dOtRMRm3dulXx8fEqVapUluVzeo8k6bbbbtOWLVskyZzPDwDgGiSlAABwAk9PT02dOlVDhgzJ9b7h4eE2N19za+jQofrll1+0bNkySWm9Ob799lt16NBBlSpVUmxsrCIjI3X27FlJab+s/f777839S5cunedj50bGxMhDDz2U7UTxvXv31rRp08z/pH711VeZklLWdSYlJTkUR/qNiXSO9rDKi/bt2+vuu+/Wr7/+qhs3bmjSpElatGhRvupcsGCBBg4caLPNMAzFxcVp//79WrFihd577z3Fx8drxowZ2rlzp1atWlVgPaZ27NhhLrdu3dqhG+jWk6/v2LHDnES9MLF+3+6++25VqFDBbrn+/fubSan0RFbGCb+DgoLUrVs3rVixQoZhaMmSJXrxxRcz1WXdS+qBBx7INNm9JG3cuNFcjo6O1jPPPOPQ+aS/vuk3pbK6kePt7Z2rm1LJycmaOXOm3nvvPZ04ccKhfS5cuJBpW2pqqv7++29z3d5E9hm1aNFCFosl254A1q/XDz/8kGVCzNrly5fN5ePHj+dY3pWy++W4PRs3btSLL76o33//3eEeEvbejz59+mjevHmS0nr6bN26VQMGDFCXLl3yfIM7NDRU3t7e2ZYJCgoyl2+55ZYc67Qu786eGdlJTzRLMnuSFFa5/bxJUrNmzXLsWWXdDg3DcPi6ld4bWEpri9klpRy5bpUtW9Zctm7nhdXJkyd17tw5c926J2FWypUrp9DQULMn2Pbt2/OdlHLWdaWguPp7skyZMmYv6ezqCgoKMn8Idfny5QJNSu3Zs0fjxo3TTz/9pJSUFIf2Kcj3bOfOnWZc/v7+2bbtdM2aNVOpUqUUHx+vlJQU7dy5M9s2URyvCQBQlJGUAgDAAWFhYTY3RePi4nTs2DGzV0hKSoqGDh2qQ4cO6T//+U+Bx7d48WJVrFhRs2bNkmEYunr1qk3iKV3fvn01fvx4m+eyG1rNmTL+5zt9iJDs9OjRw0xK/fHHH9nW6WiPp4zlXH1T4I033tCvv/4qKS3J8OKLL+b6l+c5sVgsKl26tJo3b67mzZvr4YcfVrt27XT16lVFRETozTff1IQJE2z2+eKLL7Rp06Zs63399dcVHBycq1jOnz9vLteoUcOhfWrWrGkuJyUl6erVq3YTMO6ScSg+e0P3pbvlllvUokULc9iXzz77zO7Qjf369dOKFSskpbVfe0mpJUuW2JS359SpU+by1q1b8zQsUGxsbJY324KCghzumZOYmKgHHnhAv/zyS66Ob2+YtYw9q6pWrZpjPf7+/ipTpozNUKEZWb9e6a9/bsTGxuZ6H2fKzdB58+fP19ChQ3M9XJe99+Puu+/W6NGjzWGvduzYYSagQ0JC1K5dO3Xo0EE9e/bM8eZsujJlyuRYxvqzl9vyWfXMc6crV67YfAcVRM/Z/MjLUI2O7GPdDtOHMM6tnNqiI58X66RoYfy8ZGT9/ern56fy5cs7tF/NmjXNpFR+Ew3OvK4UFFd/TzryWZPc93lbtWqV/vWvf2X6UVZOCvI9s/5sV6tWzaEhQz08PFStWjWHP9vF8ZoAAEUZc0oBAOCAbt26adasWeZj4cKFWrNmjY4cOWIzjNeUKVNs5tMpKN7e3vrggw+0e/dujRw5Uk2bNlVgYKB8fHxUvXp19e7dW6tWrdKSJUvMoWqktBt4WfX4cDbrXx9Kjv3q3brMyZMns60zvSdYTqzPv2TJki4fOqlVq1bmEHapqamZkkOu0LhxYz377LPm+gcffJCpJ9lvv/2W4zxmeelpYD1HV3bDqFjLWK6wzQXz3XffmYkOf39/Pfjgg9mWt05aff7553Zv3nXv3t1MCO/evdumV5Akc0gkKe1zntXcKM74JW9ycnKWz+WmJ+GkSZPMhJSHh4ceffRRLVu2THv37tXly5eVlJQkwzDMRzp7r0/Gud5KlizpUAw5feby+3pl91oVBEffj7179+rJJ580X9smTZrogw8+0NatW3Xu3DlzmK30x4ABA8x9s5qr57333tP//d//Zfol+oULF/Tdd99p9OjRqlGjhnr27KmjR4/mGGNue0MWtt6TeZHx2uaO4btyIy89iR3Zx9XXLal4fF4yysv3a8ay+fl+dcV1pSC4+vNWmD9r58+fV58+fcyEVK1atTR16lRt2LBBp06d0rVr15Sammq+Z9Z/oxbke1YQn+3C/D4BwM2InlIAAORDxYoV9cUXXygmJkarVq2SJD399NO65557bIYRKii33HJLjpOmW/9CtHHjxgU231DG4WIcuRlnXcbefzbr169vLjtyE1RKmwMhq5hcZfLkyfr+++9lGIa+/vpr/fXXX2rWrJlLj9mlSxdzou6YmBjt2LFDrVu3dukxJdv3LOM8YlnJWK6ghpR0lPXQfXFxcbm6YXL06FFFRERkGqarRIkS6tWrl+bOnSsprbeU9XA11hOr9+nTJ8thzqxjmT59ukaOHOlwbM6UmJiomTNnmuufffaZHnvssSzL53TzKONrfO3aNYde95w+c6VKlTJvUP71119q2rRpjnUWRe+//755EzV9qMjshspz9Eb1/fffr/vvv18nT55URESEfv/9d/3+++/as2ePpLQE4/Lly7Vu3Tr98ccfCg0Nzf/JFCMZr20FPa+MOxMD1qzb8oMPPqhvv/3WjdEUHXn5fs1YNj/fr666rrhaYfmedIWc2vSnn35qfufddtttioyMzPaa4673zN2fbQBAwaOnFAAA+eTh4aG5c+ea/+mNiYkxkwGFkfUk2Y7MR+AsGScQd+Q/vtZl7A27YT0M3pkzZ2x6QWVl+/btdvd3pSZNmpgTLBuGoddee83lx6xUqZLNesak3cKFC21+0WzvYT2snqOsh26yTgBmxzo2Hx+fQnVj4cyZM7keji6jzz77zO526yH5lixZYv76PCUlxabHZVZD90my6em4f//+fMWZH1u2bDF/6dy4ceNsE1JSzknkMmXK2NzsdGR+qri4uBx/EV9YXi9XW716tbk8efLkHOducjSpn65KlSp67LHH9PHHH+uff/7R8ePHNXnyZPN78OLFi3r++edzH3gxFxAQYNOT6PDhw/mqz/p9daQXX2GZI+VmaYfOZv39mpCQ4PBQfNbtOyQkJM/Hd/V1xVWKyuctt+1ZyrlNW79nr776ao5JcHe9Z9af7ePHjzs0PGRqaqrNPI/5+WwDAAoeSSkAAJygatWqGjVqlLk+a9YshxIkBS3jDfbs5sZxtjZt2tj8WjX9l/XZsS5jb56SevXq2cw1ExERkWOd69atM5c7deqUY3lnef311+Xp6SlJWrlypc1k965w7do1m3VHxud3httuu81c3rJli0MTam/YsMFm/8I0xMrixYttJt9u3bq1Qw/rJOzXX39t95e/7du3V/Xq1SWlJV3SP5u//vqrORxlnTp11LZt2yzjs+79lt5b0x2s5+y49dZbcywfGRmZ7fMeHh42k5Jv2bIlxzq3bduW440sd79eBfXZzs37cfny5UzDR+ZW1apV9eqrr+rTTz81t/3yyy+5nsOksHDl+2T9GVyzZk2+6rJO4F+8eDHH8rt27crX8ZylTZs25vI///zjUNLZXQrT91GVKlVs5pGyN9dmRhcvXlRUVJS53rx58zwf3xXXlby8vrndx93XfUdZt+fY2Ngcv8+OHTuW4zDLuXnPUlJSbP4ey4or2kTTpk3Nv5Hj4uIculbt3LnT/NvK09Oz2PZ8BoDiiqQUAABO8u9//9v8D+X169c1bdo0N0eU2YQJE8wb7M2aNSuQ4dzS+fn52cyL48hwPdZlwsPDMz1vsVjM+ZqktN4/2dm4caM5T4+Hh4fuv//+HGNwlvr169v0eHn11VddejzrHmFS2s2sgnD77beb83SdP39eP/zwQ7blDcOwGR6vIBOFjrCObdiwYdq0aZNDjy1btiggIEBS2g2W5cuXZ6rbYrHo0UcfNdfTh+z74osvzG059Tjq0qWLvLzSRuQ+cOCAVq5cmfeTzQfrpGfGhGhGqampmjNnTo51dujQwVxesmRJjuWthzzMSvfu3W3qPHfuXI77OJP1cKmunEQ9N+/H3LlznRaL9et748YNxcTEOKXegubK9+nee+81lz/99NN8Je5q1aplLv/111/Zlj116pTWr1+f52M5U61atWx6Kuc07LA7ubrN5rZ+66Fgc/qbR0r7Dksf4q1y5co2wx7nliuuK3l5fXO7T2H5nsxJQECAgoODJaW9vul/r2Zl6dKlOdaZm/dsxYoVDv2gzhVtwt/fXy1btjTXHflsL1iwwFxu1apVroZWBgC4H0kpAACcJCgoSM8++6y5/vHHHzs8tEpBWLZsmTl/jcVi0QcffFDgMViP4798+XJt2rQpy7JLly7Vtm3bzHXrCbOtPfXUU+Z/uletWqVff/3VbrnU1FSNHTvWXO/du7fNcCEFYcKECebwLL/99ptNry1nSk5O1qxZs8z1gIAAm//su1JgYKD69Oljro8ZMybboRo//PBD7dy5U1LazZNhw4a5PEZH7dixw+bXujkliKz5+fnpoYceMtetk1vWrHsrfv3114qJidGKFSvMbdkN3SelJRutyzz11FM6efKkQzGmpqbq/PnzDpXNSe3atc3ldevWZTuk0LRp08z3PDuDBg0ylyMjI7NNZO/cudPmBlVWevbsqbp160pKu0HXr18/h2+qxcXF5WquC3vKli1rLjv6PuWF9fvx3XffZVlu//79mjRpUo71OfpdZj1kp4eHh3mDtahx5fs0bNgwcwito0eP2vSyzq1WrVqZy19++WW2Ca7Ro0e7NBGaW+PGjTOXZ8yYod9++83hfQuyJ7qr22xu63/yySfN5W+//VY///xzlmWPHz+uN954w2bf/PRycfZ1Rcrb65vbfQrL96QjrNt0domZEydO6M0338yxPkffs/Pnz2v06NEOxeiqNmH92f7www+z7Wm3Y8cOffzxx+b6U0895bQ4AAAFg6QUAABO9Pzzz5s3m65du6b33nuvQI7bv39/RURE2J3wOC4uThMmTNBjjz1mPj9y5EjdeeedBRKbtTvvvFP/+te/JKX9R/+BBx6wO+TesmXLNHDgQHO9T58+atasmd06M85f07dv30x1xsfHa8CAAeavxH18fDR58uR8nUte1KpVS0OGDDHXs0vK5dXp06fVq1cvm55Szz77bI5zPzjThAkTzHYQHR2tLl266NChQzZlUlNTNXPmTJsbsiNGjLD55b+7WSeSQkND1aJFi1ztb/25XLt2rc3cB+luueUW87N96dIlDRs2zEx8tGrVSvXq1cvxOFOmTDHnEDt58qTCwsL09ddfZzkB+smTJzVjxgw1aNDAZu6q/LjtttvM3niXL1/Www8/bDNskCQlJiZq/PjxevHFFx36RXOjRo3Uu3dvc71///76+uuvM5XbsGGDunXrppSUFPn4+GRbp6enp2bPnm0OE/Trr7+qffv22rp1a5b7/P3333rppZdUvXr1fM8BZD0k4YoVK5SUlJSv+rJi3WPp+eeftztk1erVq9WhQwddvXo1x/ejbdu26tu3r3788ccsY967d68ef/xxc71z585mr8mixvp9WrVqlVPnYgoKCtLUqVPN9Y8//lh9+vTJcgi7f/75RyNHjrQ7t939999v9tA+evSohg4dqoSEBJsyMTExevzxx7V06dJC9X7069fP7BmbnJys++67T1OnTs0y8RsXF6cvv/xSnTp1svkBkKu5us1a1+9Iz5eOHTva9LZ7+OGHtWzZskzlduzYoc6dOys2NlZS2hDIzz33XL5idfZ1RcpbW8vLPoXhe9IR1r2n33vvPX3zzTeZymzatEnh4eGKjY3N8W876/fsrbfesumJnW779u0KDw/X8ePHc/2ebd682eH5Q3Py2GOPmUPwJSUlqUuXLjbz4KZbvXq1unbtaibZmzdvrr59+zolBgBAwfFydwAAABQnZcuW1YgRI8wbTrNmzdKYMWMUFBTk0uMuW7ZMX3zxhcqWLauWLVuqSpUqMgxDx48f1/r163X9+nWz7KBBg/Tuu+/mWOeff/6poUOHZtpufaN5/PjxmYbdadmypdkjy5758+erXbt22rdvn86fP6+OHTuqRYsWatKkiVJSUrR161bt3bvXLH/LLbfkONTXrFmztH37dv3zzz+6ePGiOnbsqDZt2uiWW27R5cuXtWbNGvPGjCTNmTPH7C1R0F599VUtXLjQ5j3JjS+++EJ//vlnpu3x8fGKjo7Wli1bbCbIvv322/Xyyy/nOd68qF27tubOnavHHntMKSkp2rhxo+rXr68777xTderUUXx8vH7//Xebm7Bt2rTR22+/XaBxZic5OdlmyLjc9JJK16lTJ1WuXFmnTp1SamqqPv/8c7vvRb9+/cyht6yH+cupl1S6SpUq6bvvvlO3bt104cIFnT59Wg8//LDKly+v1q1bq0KFCkpNTdXFixe1e/duHTp0yKFJxHPDw8NDkydP1uDBgyWlJXtCQ0N1++23q0aNGrp48aIiIiLMdjhnzhyHXtOZM2dqy5YtOnLkiOLj4/Xwww+rfv36atWqlby8vLRr1y6zPTz//PP65ptvzInas5pH7a677tLs2bM1fPhwpaSkaNOmTWYC8LbbblNQUJASEhJ05swZ/fXXX04d4u/ee+9VyZIlde3aNe3cuVMNGzZUhw4dFBgYaPZguOeee3TPPffk6zijR4/WvHnzdP78ecXGxqpr165q3ry5brnlFlksFvN6KaUNbVW+fHl9/vnnWdZ348YNffXVV/rqq6/k5+enJk2aqHbt2goICFBsbKwOHjxo07PVz89P77zzTr7OwZ3CwsJUvXp1HTt2TGfOnFGDBg10zz33KCQkxHyfwsLCbHqF5sbTTz+t3bt3a/bs2ZLSkhHffPONwsLCFBoaKl9fX50/f147duzQkSNHJNkO25auZMmSeu2118xewF988YV++eUXdezYUQEBATp+/LgiIyN17do1NWrUSF26dHHo+78geHp6aunSpbr77ru1Y8cOJSUl6cUXX9Trr7+uNm3aqHr16vLx8VFsbKyio6O1Z88e8yZ0z549CyxOV7fZnj17mr2dXnzxRf3888+69dZbbRKIr7zyis3fkQsWLFC7du108OBBxcXFqXfv3qpXr55at24tHx8f7d27V5s2bTKv86VKldKXX36pwMDAPL4KaZx9XZHy1tbysk9h+J50RN++ffXuu+9q586dSkpKUq9evdS8eXM1a9ZMKSkp+vvvv7Vjxw5J0sSJE7VgwQLzO8+egQMH6r333lN0dLQSExPVv39/TZkyRU2bNpWvr692795tfoc2bdpUXbp0yfFvsQoVKqhdu3basGGDrl+/rqZNm6pr166qVKmS+b1bp04dDR8+PFfn7uPjoy+//FLh4eE6f/68zpw5o06dOqlp06bmj3f++usvm57W5cuX15dfflmgP7wCADiJAQAA7AoPDzckGZKMCRMmOLzfuXPnjFKlSmW774QJE8znw8PD8x1riRIlzPqyegQEBBgffPCBkZKS4lCda9euzbFOew9HzufkyZPG3XffnWNd3bp1M2JiYhyK9+TJk0anTp2yrc/f39+YP3++Q/U5yvpzMnv2bIf2GTVqVKbYBgwYkGX5GjVq5Om9GDx4sHHlyhUnnWka6/rXrl2bbdnvv//eqFChQo5x9u3b14iPj891LM5uR9a+++47mxj379+fp3qef/55s47Q0FC7ZU6dOmV4eHjYHM/Ly8s4e/Zsro515MgRo3Pnzg5/PipUqGD8/PPPmeo5fPiwWaZGjRq5iuHll1/O9pi+vr5mO7Henp1Dhw4ZjRo1yrbeoUOHGklJSUblypXNbTldO9asWWPUq1fP4dfr1ltvNU6ePJmr18OeOXPmZHq/rR8ZvzOsrzE5tTlrf/zxhxESEpLtOT344IPGpUuXjAEDBpjbFixYkKmunF5/60etWrWMDRs22I3J+nvFkTZr3cYd+R525LVy9PX84Ycfsv1uze6a7ajp06cbAQEBOb6mFovFWLVqld06UlJSjKFDh2a7f5s2bYzjx4879Hrm9jU3DMNYsGBBnl+Xa9euGU899ZTh5eXl0OfLz8/PmDJlit26rL8rDx8+nOOxc/rcp8ttm82NGzduGB07dsz2nO2dy5kzZ3L8m0eSUbduXWPLli15ji8jZ15X0uWlreW1fbrze9LRz+ehQ4eM2rVrZ3s9eOWVV4zU1FSH6oyKisq2PklGu3btjBMnTjjc/rdt25bttSvj9T0314ioqCjjtttuy/G9ad68uXHgwIFs68rt92dern8AgLyhpxQAAE5Wrlw5DR8+3PyV+IwZM/T8888rICDAZceMjIzUb7/9poiICB0+fFjnzp1TUlKSKlSooHr16ulf//qX+vTpU+BzKGWlcuXK+uWXX7Ry5UotXrxYW7du1enTp2WxWFSpUiXdeeedNkP7OFrnb7/9pm+//VaLFy/W9u3bdfr0afn7+6t69eq6//77NWTIEFWvXt2FZ+aYl156SZ9++mm+56ex5ufnp8DAQDVo0EC33367Hn/8cYWGhjqt/rzo3r27Dhw4oPnz52vlypX6559/dOHCBfn5+aly5crq2LGjHn/8cbVu3dqtcdpjPXRfq1at8tyz7rHHHjOH8YyOjtamTZvUpk0bmzKVKlVS586dbeZDu+eee1S+fPlcHatGjRr67bfftHHjRi1btkyRkZE6fvy4YmNj5eXlpbJly6pevXpq2bKl7rnnHnXo0MGc/N1Z/vOf/+jee+/VrFmztH79ep0/f16lS5dW1apV1bVrVw0ZMsShIQmt1apVS9u3b9fcuXP15Zdfas+ePYqLi1OlSpUUFhamYcOG6e6775YksyeWxWLJ8ZrbsWNH7du3T99++61++OEHbdq0SWfOnNGVK1dUsmRJVahQwWxP9957b5ZDiObWsGHD1KhRI3388cfatGmTTp48qWvXrjn9V/lt27bVP//8o+nTp+v77783h9CsVKmSWrRooX79+un+++93qK6//vpLmzZt0tq1a7VlyxZFRUXp1KlTunbtmkqWLKmKFSuqWbNmeuCBB9S7d+9CNUxcXnXr1k3btm0zP8tHjx5VXFycU9+nkSNHql+/flq4cKFWrVqlPXv2mPN3hYSEqGHDhgoPD1efPn2ybDceHh769NNP1aNHD82ZM0ebN2/WxYsXVbZsWTVs2FD9+vVT//79C21PAj8/P82ePVvjxo3TF198oTVr1ig6OloXL15UamqqypQpo9q1a6tp06bq3Lmzunbt6tK/p+xxZZv18vLSqlWrNH/+fH3zzTfatWuXYmJichwmsEKFClq9erVWrVqlr776SuvXr9eZM2d048YNlS9fXrfddpsefPBB9evXz6nvvTOvK+ny0tby2j4Lw/dkTmrVqqW///5bM2fO1PLly81eTpUrV9add96p4cOH5+rvptDQUO3YsUMffvihli9frqioKCUlJalixYpq3LixHn30UT388MO5Os/mzZubMa5Zs0aHDh1SXFycUlJS8nLKmeL9888/9fXXX+ubb77Rli1bzB7L6T3bevXqpZ49e+ZrjjQAgHtZDGf/7wcAAAAACtj+/fvNRGz9+vW1b98+N0cEAAAAAMjI/kDrAAAAAFCELF261FwOCwtzYyQAAAAAgKyQlAIAAABQpB09etQcMlVKmyweAAAAAFD4kJQCAAAAUGj16dNH33zzjRITE+0+v2rVKt1xxx26dOmSJKlx48bq2rVrAUYIAAAAAHAUc0oB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hg0btGrVqjzVs3btWhmGYT5SU1N16dIlrVu3Tj169NChQ4f0xBNPaOzYsZn2PXz4sHbv3m33kTEZm53du3eby61bt862rPXz1vsVFOtuzTkNweno8Js1atSweQ8Mw9CNGzd04sQJffbZZ6pevbp++eUX3XHHHfrjjz/yfxIAAAAAAADATcKRxBQJKdciKZVH3t7eats2rave2bNnbYbxyig9mSRJVapUsXnujjvuMJfXrVuXZR1//vmneYx27drlKWYUb88//7wCAwMlSePHj3dKnRaLRWXKlFH79u21fPlyPfroo5KkadOmac0a2yEZBw0apMaNG9t9pA/H54iYmBhzuUKFCtmWrVixot39Cop1L66chuDM6/CbUloyu0qVKurfv7/++OMPBQcH69KlS+rXr5+Sk5NzFzQAAAAAAABwE8suMUVCyvWYUyofevbsqcjISKWkpOi7774zb9hntHz5cnP5zjvvtHmuQ4cOKlOmjC5fvqxFixZp7NixNnP8pFu4cKG53KNHD+ecQAEJKumjba/eVSDHWvjHEc1cc8BcL+PnrcsJN8z1ZzvV1cDbazpcX2pqqq7+/2RDaX9/h+chCiqZ/VBurhAYGKjnn39e48eP15YtW7Ry5Up1797dqccYM2aMlixZIkmaN2+eOnXq5NT6M7LXFqwZhuHS4+fEer62nCb+Sx9+U7Id0jO3KlWqpP79+2vGjBk6fPiw1q5dq7vvvjvP9QEAAAAAAAA3m/REU3oCavr26fror4+UlPq/0ZBISLkGPaXyYfDgwSpfvrwk6eWXX9bZs2czlYmIiNDnn38uSWrUqFGmXk4+Pj567rnnJEl79+7VO++8k6mOjRs3at68tExteHi4wsLCnHoerubhYVFZ/xIufyz984RNQmpc1wbaOeEejevawNw2c80BLf3zRK7qDS7preCS3rnax8Mj+2SKq4waNUply5aVlNZbytlJmwYN/vda7tq1y+a5iIiITMPOpT8mTpzo8DGCg4PN5TNnzmRb1rrNWe9XUEJDQ+Xp6Skp++E3Mz6f3yE4s3sfAAAAAAAAAORsSOMhGnnbSHOdhFTBuGl7Sq1fv14HDvwvgXHhwgVz+cCBAzY9kyRp4MCBmerw9/fXBx98oL59++ro0aMKCwvTiy++qFatWun69ev66aef9P777yslJUVeXl76+OOP7fb8GDNmjP773/8qOjpaY8eO1YEDB/TII4/Iz89Pa9eu1ZQpU5ScnCw/Pz9Nnz7dWS9BsTI74qCm/vy/m/7jujbQ8A51JMn8N/359H/TtxcnpUuX1pgxY/Tiiy9qx44dWrFihVPrtx4q7saNG9mUzLtGjRqZy5s3b9bjjz+eZdktW7bY3a+g+Pj4qFWrVtq4caM2btyopKQk+fjY7yWXPjxniRIl1LJly3wdtyDeBwAAAAAAAKC461Sjk2bsmGGzLcAngISUC920Sam5c+dq0aJFdp/bsGGDNmzYYLPNXlJKkvr06aMLFy7o+eef1/HjxzVixIhMZfz9/fXFF19kORdU6dKl9cMPP6hbt27av3+/5syZozlz5tiUCQgI0OLFi9WsWbOcT+4mk11CKt3NlJh65pln9N577+ncuXOaMGGCbrvtNqfVvXXrVnM5P0PQZady5cpq2LCh9u7dq2XLlumtt96ymbspXUpKipk8DgoKUvPmzV0ST04efPBBbdy4UVeuXNHy5cv1yCOPZCpz4sQJ/fbbb5Kkzp072z2f3CiI9wEAAAAAAAAo7j7Z+UmmbVeSrmjernkkplyE4fucYMSIEdq+fbuGDx+uunXrys/PT/7+/mrSpInGjh2r6Oho/etf/8q2jrp162rHjh2aOnWqWrZsqcDAQJUsWVL169fX6NGj9ffffzt9fqDiwJGEVLrhHerYDOU39ed9mh1x0OUxFrRSpUpp3LhxktKGdvvxxx+dUm9iYqLGjx9vrnfr1s0p9dqTntw9f/68nn32WbvDEE6aNEl79uyRJA0bNkwlSpRwWTzZGTp0qMqUKSNJevHFF3Xx4kWb51NSUvT0008rJSVFkvTCCy/k63jbt2/Xf//7X0lpPbXuuqtg5msDAAAAAAAAipN5u+bpx8P2751O3z5d83bNK+CIbg43bU+phQsXZhqiLz9uvfVWffTRR/mqo1SpUho7dqzGjh3rpKiKt61HYhxOSKWz12OqZc0ghdUs+PmIXGn48OF65513dPr0aZuhKXNy+PBhhYSE2Gy7cuWK/vrrL3300Uf6559/JKUlUZ988kmnxmztqaee0uLFi7Vx40YtWrRIR48e1YgRI1S7dm2dPn1a8+fP1/LlyyVJderU0WuvveayWHISHBysqVOn6qmnntLRo0fVunVrvfLKK2rcuLFOnTql6dOna+3atZKkvn37qmPHjtnWd+PGDe3evdtmW0pKis6ePavffvtNH374oRITEyWlDf2ZPq8dAAAAAAAAAMfM2zVP07dPz7S9RYUW2nZ2mySZz9Njyrlu2qQUir6wmsEa2bmeZqze71BCKp11Ympk53rFLiElSX5+fnr55Zf17LPP5mq/wYMH51imadOmWrFihfz8/PIaXo48PT21cuVKPfDAA9qwYYMiIiIUERGRqVzDhg31008/yd/f32WxOOLJJ5/UqVOnNHnyZB08eNDu69itWzfNnz8/x7pOnTqlxo0bZ1vGYrHoueee0+TJk/McMwAAAAAAAHAzyiohJUkPhz6sO6vcaT5PYsr5SEqhSBt9d6juqBeS68TS8A51imUPKWvDhg3T22+/rePHj+ernpIlS6p8+fJq3ry5evXqpYcfflheXq6/dAQHBysyMlJLlizR4sWLtWPHDsXExCggIECNGzdWr169NGzYMPn4+Lg8FkdMmjRJXbp00Ycffqjff/9dZ8+eVWBgoJo2bapBgwapb9++ea7bw8NDpUuXVu3atdWuXTsNGTKE+eUAAAAAAACAXMouISVJ9YPq677a90kSiSkXISmFIi+viaWimJDq0KGD3fmV7ClRooSOHTuWY7mJEydq4sSJ+YwsdwYOHKiBAwfmWM7Dw0P9+vVTv379nHLcI0eOOKWerNx+++26/fbb87Svq2MDAAAAAAAAbmYZE1I96/XUN/u/Mde9PbxVs0xNSf9LQJGYcj4PdwcAAAAAAAAAAADgKtvPbrdJSI1qPkp1Am2ng6kbWFdeHv/rxzOk8RCNaj7KXJ++fbq2n93u6lCLPZJSAAAAAAAAAACg2GpeobmGNx0uKS0hNaTxEEXFRNmUCQ0KzbSfdWJqeNPhal6huctjLe4Yvg8AAAAAAAAAABRrTzd7Wm0qtTETS9Gx0TbP1w+ub3e/IY2H6Lbyt5GQchJ6SgEAAAAAAAAAgGIvPbF0I/WGDlw6YPNc/SD7SSnr/ZB/JKUAAAAAAAAAAMBN48jlI7qResNmW1Y9peBcJKUAAAAAAAAAAMBNIyrWdj6pCiUrqEyJMm6K5uZCUgoAAAAAAAAAANw0omMcm08KzkdSCgAAAAAAAAAA3DQy9pTKbj4pOBdJKQAAAAAAAAAAcNOIirFNSoUGh7opkpsPSSkAAAAAAAAAAHBTuJBwQRevX7TZFhpEUqqgkJQCAAAAAAAAAAA3hehY2/mkfD19VaN0DTdFc/MhKQUAAAAAAAAAAG4K0TG2Sam6gXXl6eHppmhuPiSlAAAAAAAAAADATSEq1nY+qfrB9d0Uyc2JpBQAAAAAAAAAALgpZExKMZ9UwSIpBQAAAAAAAAAAir2klCQdvnTYZhs9pQoWSSkAAAAAAAAAAFDsHbp8SMlGss02ekoVLJJSAAAAAAAAAACg2IuKsR26r4p/FZX2Ke2maG5OJKUAAAAAAAAAAECxx3xS7kdSCgAAAAAAAAAAFHvRMdE268wnVfBISgEAAAAAAAAAgGLNMAx6ShUCJKWAIiQiIkIWi8V8PPLIIznuM3DgQLO8PRMnTrSp0/rh6empwMBAtWjRQv/+97+1f/9+p5zHwoULzWMsXLjQKXVK0pEjR7I8l9w88mPv3r0aM2aMmjRpoqCgIPn5+almzZq66667NGXKFB05ciRX9f3999/y9vY2Yxs4cGCWZTN+PjI+/P39FRoaqgEDBigiIiJf5wkAAAAAAAAUJecTzutS4iWbbfWD6ClV0EhKAUXY0qVLtWvXLpfVn5qaqsuXL2v79u1677331KhRI33yyScuO15RZhiGXn31VTVp0kTvvPOOdu3apUuXLun69es6evSoVq9erVdeeUUrVqxwuM7U1FQ98cQTSk5OdkqM8fHx2r9/vz777DN17NhRQ4YMUUpKilPqBgAAAAAAAAqzqBjbXlIlvUqqaumqborm5uXl7gCAfDu6UarRtuD2K0QMw9CECRO0fPlyp9Q3f/58hYWFmespKSk6ffq0fvrpJ82ePVtJSUkaPny46tWrp06dOjnlmM5UpUqVbJN0Xbp00alTp1S5cmWtWrXKqcd+4oknNHfuXElS06ZNNWTIEDVt2lR+fn46fvy49uzZo6+//jpXPbFmzZqlzZs3q3z58jp37lyu4hk+fLiefvppc90wDMXExGjjxo16//33de7cOc2fP19Vq1bVpEmTclU3AAAAAAAAUNRkHLqvXlA9eVjot1PQSEqhaFv7prTuLemuidIdox3fb/370m8TpfAXpY4vuSo6lwoJCdGFCxf07bffavv27WrevHm+66xVq5YaNWpks61p06bq2rWrmjVrpsGDB8swDE2bNq1QJqW8vb0zxZ/xeUfK5db8+fPNhNSoUaP07rvvysPjf19oYWFheuihh/Tqq68qKSnJoTpPnDihV199VRaLRdOmTdOAAQNyFVP58uXtnmN4eLgeeOABtWzZUgkJCZo+fbpeffVV87UBAAAAAAAAiqPomGibdYbucw/SgCi6jm5MS0hJaQmm9e87tl96QkpK2//oRldE53IjR45UiRIlJEkTJkxw+fEGDRqkkJAQSdLmzZtdfryi4urVq3rhhRckSR06dND7779vk5DKyMfHx6F6R4wYoatXr2rgwIFq3769U2JNd8stt+i+++6TJF25ckV79+51av0AAAAAAABAYZOxp1T9YJJS7kBSCkVXjbZpPaTSOZKYsk5ISWn7F9Eh/KpWraonnnhCkrRy5coCSRTVrFlTknT9+nWXH0tKm1Ppiy++ULdu3VSxYkX5+PioXLly6tixoz766COHex250uLFixUbGytJmjhxolPq/Prrr/V///d/Klu2rN5++22n1JlR+nspFdz7CQAAAAAAALjD9eTrOnLliM220KBQ9wRzkyMphaLtjtGOJ6bsJaRyM+RfIfTSSy/Jz89PkjR+/HiXH+/IkSOSpOrVq7v8WDExMWrfvr369++vn376SWfPntWNGzd04cIFRUREaMSIEWrWrJmOHj3q8liys2zZMklpw+WFh4dLSpu/6cyZMzp48KDi4uJyVd/ly5f13HPPSZLefvtts3eas6W/l1LBvJ8AAAAAAACAuxy8dFCpRqq5bpGFpJSbkJRC0edIYqoYJqQkqVKlSho+fLgk6ZdfftH69etddqxFixbpwoULkqQHHnjAZceRpJSUFHXv3l0bNmyQlDYP0rJly/Tnn3/q//7v//Tggw9Kkvbu3avOnTvnOvHjLKmpqdq6daskqU2bNkpKStKkSZNUpUoVVapUSXXr1lVAQIBatmypzz//XIZh5FjnuHHjdPr0ad1xxx0aNGiQS+Let2+ffvjhB0lp811VrFjRJccBAAAAAAAACoOMQ/dVK11NJb1Luimam5uXuwPATSA1VUqIce0xbusvJV2TIv//UGe/TUxbb/2ktPmT/22XpPZj08rHX8i53tRUWa5dTVv2TJKymSvIhl+w42Xz6cUXX9Qnn3yi+Ph4jR8/XmvWrMlzXYcPH7bpmZOSkqKzZ8/qp59+0kcffSRJatCggcaMGZPvuLPz8ccfa+PGtLm+Hn/8cS1cuFAWi0WS1KJFC91///165ZVXNGXKFB08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n+evWbOmulNqypQp1V8zAAAAAACA1spXl9TZnc/WsM7DTKoI8L9f9uTquldW60hRhcd4QvsILbz7HPXpFFXLmc2MyyUtulfa4LlfnKxB0jWvSwOuMKcuAKclIKFUTWeccYb++c9/au/evfryyy81depUhYWFyTAMHThwQP/+9781btw4denSRffcc49WrFgR6BIbzGq16tJLL5UkHThwQI8//rjPeXl5eXrkkUeqn1922WUex2fNmlXdPXXvvfeqrKzM43hZWZnuvfdeSe4uq1mzZjXWpwAAAAAAANBs+eySOosuKbRc36Ud1o2v/azCcs9fju/fpa0+vPscxbeLMKmyRuZySp/9Xtr4jue4NUi65g2p/xRTygJw+gIeSlVf2GrVxRdfrPfee0+HDh3SnDlzdN5550mSDMNQdna2XnnlFU2cONGsEhvkv//7vxUR4f5m/+ijj+ryyy/XRx99pI0bN2r16tV65plndNZZZ+m3336TJF144YWaMGGCx2v06dNHDz74oCRp/fr1Gj16tN5//32tX79e77//vkaPHq3169dLkh566CElJycH8DMEAAAAAABoesod5d5dUl3O1tBOQ2s5A2jePt98QLe/uV7ldpfH+IiEdlpw10jFRYWaVFkjczmlT++RNr/nOW4Nlq59S+o32Zy6ADSKoPqn+F9UVJRuv/123X777dq9e7feeustvfPOO8rIyDC7tHqlpKTos88+0/XXX6+jR49q0aJFWrRokc+5F1xwgT788EOfxx5//HEdPnxY8+bN08aNGzV16lSvOTNmzNBjjz3WqPUDAAAAAAA0Rx+lf8ReUmg13l6zR//92TYZhuf4hSkd9eKNQxQWbDOnsMbmdEif3i1tPeE9VFuIO5Dqe4k5dQFoNKZ1StUmISFB//3f/60dO3bo+++/1x133GF2SfUaP368UlNT9cQTT2jcuHGKi4tTcHCwwsPD1atXL1177bX69NNPtXz5csXG+t5k0Gq1au7cufriiy80ZcoUde3aVSEhIerataumTJmiL7/8Uq+99pqs1ib3VwYAAAAAABBQ5Y5yvbb1NY8xuqTQEhmGoRdWpOu/PvUOpK4Y3E0v3zy0ZQVSn9zpO5C67h0CKaCFaBKdUrUZPXq0Ro8ebXYZDdK+fXs9/PDDevjhh0/rdSZNmqRJkyY1UlUAAAAAAAAtz8IdC3W0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FRHbU39A8zTm558kY8SIERGvQf0Bzbdw4UKjY8eO9dbP+PHjI55P/aE12BuVXAGnka+//loTJ05UeXm5UlNT9eijj2rUqFGqqKjQm2++qZdfflnfffedrrzySq1du1apqanx7jLQpmRlZal///5aunRpk8/95S9/qZdeekmSdP755+vhhx9WTk6OCgsLNXPmTG3YsEEvvfSSOnfurCeffDLaXQfanD179kiSMjMzdcMNN+inP/2pevToIY/HozVr1uiZZ57Rnj179L//+79yu9164403Il6L+gOaJisrS6NGjdIFF1ygrKwsdevWTV6vV7t379bbb7+tRYsWqbi4WOPGjdPatWt1zjnnhFyDugOiw+v16vbbb5fb7VaXLl108ODBBs+h/oCWyc/P11133RXxeEpKSsRj1B/QPK+99ppuvfVWeb1edenSRfn5+Ro+fLgyMjK0f/9+FRYW6r333pPD4Yh4DeoPrSLeqRhwshk5cqQhybDb7cbnn38ecnzmzJnmbwY88cQTcegh0Pb8+te/Nt577z1j//79hmEYRlFRUZNHSm3dutX87dZBgwYZ5eXlQcfLysqMQYMGmfW7bdu2aH8MoM258sorjb/+9a+G2+0Oe/zQoUNG3759zXr89NNPw7aj/oCmiVRzgf72t7+ZtTdhwoSQ49QdED2zZ882JBm5ubnGo48+2uBIKeoPaD5/fT3++OPNOp/6A5pn06ZNhtPpNCQZP/3pT42SkpKIbSPNkkH9obWwphQQYO3atea84nl5eRo6dGhImwceeED9+/eXJM2ZM0cul6s1uwi0SU888YSuuuoqde3atdnXmD17ttxutyTpj3/8o5KSkoKOJycn649//KMkye12a86cOc1+L+BU8f7772vixImy2Wxhj3fq1EnPPPOM+frtt98O2476A5omUs0Fuuaaa5SbmytJ+vTTT0OOU3dAdOzatUu/+tWvJEkFBQVKSEho8BzqD4gf6g9onnvvvVdVVVXq1KmTFi1apLS0tIhtI/0spP7QWgilgADvvPOOuX3rrbeGbWO1WvWLX/xCknT06NFGLY4LoGUMw9Df//53SVJubq6GDBkStt2QIUPUr18/Sb56Ngyj1foItFWBi0wXFhaGHKf+gNjxT11UWVkZtJ+6A6Lnrrvu0okTJzRp0qSgn3mRUH9A/FB/QPNs2bJFy5cvlyTd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LBZLq/UROFmVl5fryiuv1Pr16yVJjz32mKZPn97o86k/IHbeeustc/vss882t6k7oHkWLFggwzDqfTz++ONm+xUrVpj7/TfVqD8gtrZv365ly5ZJ8q0vFXhjnPoDmmfcuHFyOBySpEWLFkVst2rVKh0+fFiS9NOf/jToGPWH1kQoBQS48MILzX+U58+frzVr1oS0eeaZZ7R582ZJ0v3332/+ow8gtqZOnWoOL7/33ntVUVERdLyiokL33nuvJN8w9KlTp7Z2F4GTTnV1ta699lr94x//kOT7ufXkk082+TrUH9A0CxYsUGVlZb1tZs+erQ8//FCSlJ2dbY7Y96PugPih/oDmee+99+R2uyMeP3DggK6//nq5XC5JCjtyn/oDmq5jx476z//8T0nSsmXLwq6pePz48aB6ueOOO0LaUH9oLRYj0kSuwGlqw4YNGjZsmCoqKpSamqr//u//1qhRo1RRUaE333xTL730kiSpb9++Wrdundq1axfnHgMnv9WrV2vbtm3m6+LiYj300EOSfFNg+v/z5Dd58uSw13n00Uf11FNPSZLOP/98TZ8+XTk5OSosLNTTTz+tDRs2mO1+97vfxeCTAG3LddddZ/6m3OjRozVnzpx6f5MtISFBffv2DXuM+gMaLzs7W8ePH9d1112n4cOHKycnR6mpqTp+/Lg2btyo119/3QyLExIS9MEHH2js2LEh16HugOibMWOGnnjiCUm+kVIjR44M2476A5ouOztbLpdL1113nYYOHars7GwlJSWpuLhYK1eu1Lx588xRGsOHD9fHH38sp9MZch3qD2i6Q4cOadCgQfrhhx9kt9t15513asKECWrfvr02btyop59+2hzhlJ+fr7lz54a9DvWHVmEACPHuu+8a7du3NySFffTt29fYunVrvLsJtBmTJk2KWE/hHpF4PB7jtttuq/fcvLw8w+PxtOKnA05eTak7SUbPnj0jXov6AxqvZ8+ejaq57t27G0uXLo14HeoOiL7HH3/crJ8VK1ZEbEf9AU3X2J9/1113nXH06NGI16H+gObZtGmT0bt373pr57bbbjOqq6sjXoP6Q2tgpBQQwc6dO/Xcc8/pgw8+0O7du5WQkKDevXvrhhtu0D333KPk5OR4dxFoMyZPnqw///nPjW7f0I+mDz/8UC+99JLWrl2r4uJiderUSYMHD9Ydd9yhK664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", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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iIiIyhAGpYiIiIiIiIiIiIiIiEjvjAxdASIiIiIiIiIiIiIiInrzMShFREREREREREREREREesegFBEREREREREREREREekdg1JERERERERERERERESkdwxKERERERERERERERERkd4xKEVERERERERERERERER6Z2LoCpDhZWZm4saNGwAAFxcXmJjwsCAiIiIiIiIiIiIielvl5uYiMTERAODj4wMLCwudlMvoA+HGjRto0qSJoatBRERERERERERERERlzIULF+Dn56eTsth9HxEREREREREREREREekdW0oRXFxcxOkLFy6gUqVKBqxN2ZKRkYHw8HAAQJs2bWBpaWngGhG9PXj+ERkGzz0iw+H5R2Q4PP+IDIPnHpHh8PwjdZ48eSL2sCYbQygpBqVIbgypSpUqoWrVqgasTdmSkZEBZ2dnAEDVqlV5cSYqRTz/iAyD5x6R4fD8IzIcnn9EhsFzj8hweP6RNmRjCCXF7vuIiIiIiIiIiIiIiIhI7xiUIiIiIiIiIiIiIiIiIr1jUIqIiIiIiIiIiIiIiIj0jkEpIiIiIiIiIiIiIiIi0jsGpYiIiIiIiIiIiIiIiEjvGJQiIiIiIiIiIiIiIiIivWNQioiIiIiIiIiIiIiIiPSOQSkiIiIiIiIiIiIiIiLSOwaliIiIiIiIiIiIiIiISO8YlCIiIiIiIiIiIiIiIiK9MzF0BejNIZVKkZqailevXiE7Oxt5eXmGrlKJSaVSODk5AQDi4uJgZMQ4LlFpUXX+GRsbw8zMDLa2trC2tua5SUREREREREREVA4wKEU68fr1a8THx0MQBENXRacEQYClpSUAIC8vD1Kp1MA1Inp7qDr/cnNzkZWVhdevX0MikaBKlSqwsbExVFWJiIiIiIiIiIhIAwxKUYkpCkhJJBIYGxsbsFa6I5FIAAAmJjxdiEqbsvMvLy9PvOYIgoD4+HgGpoiIiIiIiIiIiMo43mWnEpFKpXIBKWtrazg6OqJChQrizeTyTCqV4tWrVwAAW1tbdhFGVIpUnX+CICA9PR3Pnz9HamqqGJjy8vLieUpERERERERERFRG8c4dlUjBzWAgPyBVtWpVWFlZvREBKSIquyQSCaysrFC1alVYW1sDyA9UpaamGrhmREREREREREREpAyDUlQiBa0YAMDR0ZHBKCIqVRKJBI6OjuK87DWJiIiIiIiIiIiIyhYGpahEsrOzAeTfGK5QoYKBa0NEbyPZ7kILrklERERERERERERU9jAoRSWSl5cHADA2NmYrKSIyCIlEAmNjYwD/XZOIiIiIiIiIiIio7GFQioiIiIiIiIiIiIiIiPSOQSkiIiIiIiIiIiIiIiLSOwaliIiIiIiIiIiIiIiISO/e2qBUQkICDh48iMDAQHTp0gXOzs6QSCSQSCQYNWpUscq8cOECJk2aBG9vb9ja2sLa2ho1atRAt27dsGjRIiQmJqrMn56ejp9//hlNmjSBo6MjrK2t4e3tjS+//BJxcXHFqhMREREREREREREREVFZYGLoChhKxYoVdVZWVlYWPvnkE6xfvx6CIMi9d//+fdy/fx+HDx9G9erV0bt3b4Vl3Lt3D926dUNUVJTc8sjISERGRmLdunXYunUrunbtqrN6ExERERERERERERERlZa3Nigly83NDd7e3vjrr7+0zpudnY0+ffrgyJEjAIDWrVtjxIgR8Pb2homJCR48eIBr165h165dSstITU1F9+7dxYDU+PHj8eGHH8LS0hKhoaH48ccf8fLlSwwYMABnz55FvXr1irehREREREREREREREREBvLWdt8XGBiIP/74A0+fPkVcXBx+/fXXYpXzww8/iAGphQsXIjw8HOPGjUPLli3RtGlTDBw4EHPnzsWdO3fQrVs3hWUsXLgQkZGRAIAFCxZgzZo1aN++PZo3b45Zs2bhr7/+gomJCdLT0zF58uRi1ZPeDGFhYWI3k0FBQQrTBAUFiWmK+5LtwrJt27Za53/x4kWxti82NlauHCMjIzx48ECjvF5eXnJ5Q0JCilUHWXFxcfjyyy/h7e0NKysrODo6okmTJli4cCHS09NV5h01apTS/WNiYgJHR0c0b94cgYGBePz4cYnrSkRERERERERERFTWvbVBqTlz5qB79+4l6sbv/v37+OmnnwDk34D+4osvVKY3NTUtsiwnJwdLly4FAHh7eysso3nz5hg7diwAIDQ0FJcuXSp2nYnKE0EQsGXLFrXpzp07h+joaJ2u+9ChQ6hXrx5++eUXREZGIj09HSkpKYiIiMC0adPg6+uL+/fvF6vsvLw8pKSk4Ny5c/j+++9Rp04d/P777zqtPxEREREREREREVFZw+77SmDNmjXIycmBRCJBYGBgscoICwsTW5WMHDkSRkaK44Sj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mohjv61fvx5nz54tkuaXX37B7du3AQCff/45TE1Ni72+lJQUMQgGAF27di12WURERERERERERKSZCwd2I+rsSYXvndwaggsHdpdyjd4Ob21LqZCQkCJd9JXEe++9h5UrV5aoDCsrK0yfPh3Tp0/XUa3ebBGxzzUOSBVQ1GKqsYcD/Dx03+JG365evarRMdyqVSvUrFlTJ+u8efOmRunc3d1hY2Ojk3UawtKlS9GyZUtkZGSgU6dOmDVrFtq1a4eMjAxs375dbMno5eWFL774Qm15d+7cQWpqqjgvCAJevHiB8+fPY9myZYiLiwOQ/1mpC2ATERERERERERFRyVw4sBsnt4YUWV6tbn3E3czvqangfbaY0q23NihF5Z+fhyM+71ALS49FaxSQKiAbmPq8Q61yGZACgAMHDuDAgQNq0wUHB+ssKOXj46NRun379qF37946WachNGzYEDt27MCwYcPw6tUrzJo1q0gaLy8vHDp0SKPgW+fOndWmadeuHXbv3q1w3DkiIiIiIiIiIiLSDWUBKQBo2KUn3Os1FN9nYEr3GJSicm3K+15oVctZ68BSQNsa5baFFJWOHj164Pr161i6dCkOHTqER48ewczMDDVr1sSAAQPwySefoEKFCsUu39raGpUqVYKfnx8GDx6Mbt26MSBFRERERERERESkR6oCUgBQ0bMGajbOH2OegSn9YFCKyr3iBpbKY0Cqbdu2EAShVPOHhYUVe33a8vDwKPXtU8Xd3R2LFi3CokWLtM6r6y5CiYiIiIiIiIiIqPgKB6TqtGyLyNNh4rylrR2sHZ0A/BeAYmBK94wMXQEiIiIiIiIiIiIiIiJ9eRT5r1xAqvWQUbB1dpZLU9GzhlxPRk169UfrIaPE+ZNbQ/Ao8l99V/WNx6AUERERERERERERERG9sarWeQ/N+w8GkB+QatKrP57F3JNL4+pZo0g+2cBU8/6DUbXOe3qv65uO3fcREREREREREREREdEbrcWAoajm0wBV67wHQRCQUCgoVVFBUArID0xVru3NgJSOsKUUERERERERERERERG98QoCS6+Tk5Dx+pXce66eNdXmo5JjUIqIiIiIiIiIiIiIiN4ahVtJmVewgp1rRQPV5u3CoBQREREREREREREREb01FI0nJZFIDFSbtwuDUkRERERERERERERE9NZIiLkrN++qZDwp0j0G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9MZ4nZSIzNTXcstcGZQqExiUIiIiIiIiIiIiIiKiN8azmLty8xZW1rB1cTVQbUgWg1JERERERERERERERPTGKNx1n6tnDUgkEgPVhmQxKEVERERERERERERERG+MZwqCUlQ2MChFRERERERERERERERvjMItpSoyKFVmMChFRERERERERERERERvhNSU50h7kSK3zNWzpoFqQ4UxKEVERERERERERERERG+Ewq2kTC0s4fBOJQPVhgpjUIqIiIiIiIiIiIiIiN4Iz2Luys27elSHxIihkLKCnwQREREREREREREREb0ROJ5U2cagFBERERERERERERERvRGeFQpKuTIoVaYwKEVEREREREREREREROVe+quXeJ2UKLeMLaXKFgaliIiIiIiIiIiIiIio3EuIvS83b2JqBscqbgaqDSnCoBQREREREREREREREZV7hceTcnH3hJGxsYFqQ4owKEVEREREREREREREROUex5Mq+xiUIiIiIiIiIiIiIiKici8h5q7cPINSZQ+DUkREREREREREREREVK5lpafhxdMncssqMihV5jAoRURERERERERERERE5VpC7H25eSNjEzi5uRuoNqQMg1JE5UhYWBgkEgkkEgmCgoIUpgkKChLTFPc1atQosby2bdtqnf/FixfF2r7Y2Fi5coyMjPDgwQON8np5ecnlDQkJKVYdACAhIQEHDx5EYGAgunTpAmdnZ4X7RlN//vkn+vbti6pVq8Lc3BxVq1ZF37598eeff6rNGxcXh1WrVmHQoEGoXbs2rKysYGFhgapVq6JXr17Ytm0bcnNzi7GV+QYOHCi332JjY5WmVXUsmJqawsXFBf7+/liwYAFSUlKKXSciIiIiIiIiIiJtJRQaT8rZzR0mpqYGqg0pY2LoChARKSMIArZs2YJZs2apTHfu3DlER0frbL0VK1bUSTmCIGDixIlYs2aN3PL4+Hjs27cP+/btw0cffYTVq1dDIpEUyR8YGIgffvgBgiAUeS8+Ph7x8fH4/fffsWjRIuzZswfVqlXTqn6HDh3Crl27tNsoJXJzc5GUlITw8HCEh4dj0aJF2L9/P5o1a6aT8omIiIiIiIiIiFR5VigoxfGkyiYGpajcu/zsMnwr+pZavrJu0qRJ6N+/v8L3IiIiMGbMGABAQEAAJk2apDCdg4ODwuU3btzQqA62trYapVPF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DsDc3Fx/FdeBBw8eYOXKleJ8165dDVgbIiIiIiIiIiJ6UxVuKcWu+8o+jilF5dblZ5c1DkgVKHi/IN+Sy0vQ0LUhfCv66quaenP16lWEhISoTdeqVSvUrFlTJ+u8efOmRunc3d1hY1N+m8meOnUKd+/eFeeTkpLE6bt37xbZ76NGjSpShpeXF7788kv89NNPuHjxIlq2bIkZM2agRo0auHfvHubPn48rV64AAKZNm4ZatWoVKWPZsmWYM2cOgPzu/RYsWICYmBiVda9du7bGrahKovCxIJVKkZycjJMnT+J///sfkpOTAQBDhw5FgwYN9F4fIiIiIiIiIiJ6u0ileUiMvS+3jC2lyj4Gpajc8q3oi4D6AVh1bZVGAakCsoGpgPoB5TIgBQAHDhzAgQMH1KYLDg7WWVDKx8dHo3T79u1D7969dbJOQ1i3bh02bNig8L3Tp0/j9OnTcssUBaUAYO7cuUhISMBvv/2GK1eu4MMPPyySZuzYsfjhhx8U5t+zZ484HR8fj1atWqmte0xMjMqxqXRFk2Nh0KBBWL+erRGJiIiIiIiIiEj3Up48Rk5WptwytpQq+xiUonJtUoNJaFapmdaBpbE+Y8ttCykqP4yMjLB+/Xr069cPa9asQUREBJKSkuDs7Aw/Pz9MmDABXbp0MXQ1dUIikcDa2hpubm5o3rw5RowYgTZt2hi6WkRERERERERE9IYqPJ6UtYMjrOwdDFQb0hSDUlTuFTewVB4DUm3btoUgCKWaPywsrNjr05aHh0epb58iISEhGnWNqKmuXbsWa1yl0tr3mm5vaR4LREREREREREREqnA8qfLJyNAVICIiIiIiIiIiIiIi0kbhllKunroZwoT0i0EpIiIiIiIiIiIiIiIqNwRBKBKUqsiWUuUCg1JERERERERERERERFRuvEx4hqz0NLll7L6vfGBQioiIiIiIiIiIiIiIyo2EmLty85Y2trBxcjZQbUgbDEoREREREREREREREVG58azIeFI1IJFIDFQb0gaDUkREREREREREREREVG5wPKnyi0EpIiIiIiIiIiIiIiIqFwRBUNBSqqaBakPaYlCKiIiIiIiIiIiIiIjKhdTnych49VJuGVtKlR8MShERERERERERERERUblQuJWUeQUr2FV8x0C1IW0xKEVEREREREREREREROVCQsxduXlXj+qQSCQG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+uc//6k+ffrorbfectjzWjKr1apHH31U/fr10wsvvKAdO3bo+PHjKikpUVpamn788Uc98sgj+vLLLxs8psVi0R133KGKigq79FhYWKh9+/Zp7ty5uuCCC3T77bersrLSLmMDAAAAAAAATVVaVKRjmRmGGjOlWid3VzcAnK2M/ccVGRfstPuaE6vVqscee0yLFi2yy3jvvfeehgwZYjuurKxUZmamlixZojfeeENlZWWaPn26unfvrgsvvNAuz7SnTp061RvSjR07VhkZGYqMjNTSpUvt+uw77rhD77zzjiSpf//+uv3229W/f3/5+Pjo0KFD2r17txYuXNiomVivvvqq1q9fr/DwcGVnZzeqn+nTp+vuu++2HVutVuXl5Wnt2rX617/+pezsbL333nuKiorS448/3qixAQAAAAAAAHvKST1gODa7uat9dIyLuoEjEUqhRdvwzQFt/DZVwyd008CxDf8hlbg0TWu/SNaQ8bEaemVXB3boOKGhocrNzdUXX3yhxMREDRw48KzH7NKli/r06WOo9e/fX5dddpkGDBig2267TVarVc8//3yzDKU8PDxq9V/zfEOua6z33nvPFkg98MADevHFF2U2/zYRdciQIbrmmmv06KOPqqysrEFjpqen69FHH5XJZNLzzz+vKVOmNKqn8PDwOt/jmDFjdNVVV2nw4MEqLi7WSy+9pEcffdT2ZwMAAAAAAAA4W1aN/aRCo2Pkzu+rWiWW70OLlbH/uDZ+mypJWvtFshKXpjXovlOBlCRt/DZVGfuPO6hDx7r//vvl5eUlSXrssccc/rxbb71VoaGhkqT169c7/HktRX5+vh566CFJ0vnnn69//etfhkCqJk9PzwaNe8899yg/P19Tp07V6NGj7dLrKb169dL48eMlSSdPntSePXvsOj4AAAAAAADQGNkp+w3H4Szd12oRSqHFiowL1vAJv/1wakgwVT2QkqThE7q12CX8oqKidMcdd0iSFi9e7JSgKDY2VpJUUlLi8GdJVXsqffTRRxo3bpw6dOggT09PhYWF6YILLtDrr7/e4FlHjjRv3jwdO3ZMkjR79my7jLlw4UJ9/fXXat++vZ577jm7jFnTqb9LyXl/nwAAAAAAAEBdas6UYj+p1otQCi3awLExDQ6m6gqkGrPkX3P0l7/8RT4+PpKkWbNmOfx5qampkqTOnTs7/Fl5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69crIyNDeXl5LvkzBAAAAAAAQNtVaz+pWJbua+2a92/YgQaqHjxJvwVSkjRwbIyGT/jth9naL5KVuDSt1hitQUBAgC3Y2LJli7788ku7jl9R8duss/LycruOfUr1kGX9+vX1Xrthw4Y673Om0aNH214nJyef9rrq5+qbUeVMzvj7BAAAAAAAAE4nq2YoxX5SrR6hFFq8+gKpU9pSMHXvvfcqPDxcUtVMGnsucVd9L6Tqy9HZU2RkpBISEiRJn332mW35xJoqKys1Z84cSVK7du00cOBAh/RzJr///e9trxctWnTa66qfGzVqlO31+eefL6vVWu9XSkqK7fopU6bY6rNnz25y30VFRdq9e7ckydvbW6GhoU0eCwAAAAAAAGisyooK5aSlGGoRXeJc1A2chVAKLVpDAqlT2kow5efnpz/96U+SqpbY++677+wybmlpqWbNmmU7HjdunF3Grcs999wjqWovpRkzZtQZrD3++OO2UGXatGny8vJyWD/1ueKKK2yztJ599lnt3bu31jV79uzRCy+8IEkKCwvTNddc49Qe6/LYY4+puLhYkjR27NjTLjsIAAAAAAAAOEJeRroqa6zeE96lq4u6gbOwpxRarIz9xxscSJ1y6vyp+9Z+kawO3YIUGRfssD5dYfr06XrhhReUmZmp3NzcBt+XkpJSa8bMyZMntXXrVr3++uvatWuXJCkuLk533nmnXXuu7q677tK8efO0du1affDBB0pLS9M999yjrl27KjMzU++9955t5lG3bt30t7/9zWG9nInZbNYbb7yhiy66SCdPntSIESP0pz/9SWPGjJHVatWKFSv07LPPqqCgQJL0yiuvyNcJmzVmZ2dr586dhlpJSYn27dunuXPn6vvvv5dUNUvqySefdHg/AAAAAAAAQHU195MKDAuXT0Cgi7qBsxBKocWKjAvWkPGx2vhtaoMCqVOqB1NDxse2ukBKknx8fPTXv/5VM2bMaNR9t9122xmv6d+/v7788kv5+Pg0tb0zcnNz0+LFi3XVVVdpzZo1Wr58uZYvX17ruoSEBC1ZskT+/v4O66UhzjvvPM2fP1+33nqr8vLybDPVqvPw8NC///1vXX/99U7p6Y033tAbb7xR7zVhYWH66KOP1LdvX6f0BAAAAAAAAJySlbLfcBwey35SbQGhFFq0oVd2VVRCSKODpYFjY1rlDKnq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Fyg9aZejWnSo+++/X15eXpKkxx57zOHPu/XWWxUaGipJtZaXa8u6d++uhx56SGPGjJG/v3+Tx3n++eclSe3atbO9ri4uLk5/+ctfJEn79u3TV199VeuaxYsX67rrrqsVSJ0SGhqqF1980Xa8cGHDPjMvv/yyNm/erJ49e+pPf/pTg+5pKF9fX9177722Y763AAAAAAAAWp/sGqFUBKFUm0UohRYrKr63Rk2eajtuSDBVPZCSpFGTp7bYJfyioqJ0xx13SKoKI5zxy/zY2FhJVfsBOYPFYtFHH32kcePGqUOHDvL09FRYWJguuOACvf766yorK3NKH462b98+7d69W5J0/fXXy9fXt87rpk6danvd1CUbq+9/lZycfPoLf5WWlqZZs2ZJkt54441G70PVEKe+ryTnfW8BAAAAAADAOcpKipWXedhQY6ZU20UohRZt6NUTGxxM1RVINWbJv+boL3/5i3x8fCTJFhw4UmpqqiSpc+fODn9WXl6eRo8erZtvvllLlixRVlaWysvLlZubq+XLl+uee+7RgAEDlJaW5vBeHG3VqlW212PGjDntdR06dFCPHj0kSatXr27Ss6oHeWbzmf8TcPfdd6uwsFA333yzLrjggiY980xOfV9JzvneAgAAAAAAgPPkpKZI1fZlN5nNCu0c67qG4FKEUmjxGhJMtcZASpI6duyo6dOnS5J++OGHJgcVDfHBBx8oNzdXknTVVVc57DlS1R5GV1xxhdasWSOpKqj57LPPtGnTJn399df63e9+J0nas2ePLrroIhUUFDi0H0fbs2eP7XV8fHy91546f+jQIRUWFjb6WStWrGjwsz7++GN99913ateunV544YVGP6shiouL9frrr0uqWsrvoosucshzAAAAAAAA4Bo195NqH9VZHp5eLuoGrubu6gbQ+lktFhUX5Dv0GX0uuETlJSVat+hjSVXBVHlJic65/EptWfKNrS5Jw66ZpD4XXKKikyfOOK7FYlFxflXv7rI2aGaJJPn4B8jUwGvP1p///Ge99dZbKiws1KxZs/TTTz81eayUlBTbvlFSVTiUlZWlJUuW2IKD+Ph4zZw586z7rs+bb76ptWvXSpJuueUWzZkzRyaTSZI0aNAgXXnllXrkkUf01FNPKTk5WU8++aSeffZZh/bkSIcOHbK9joqKqvfa6OhoSZLValV6erp69uzZ4OdYLBY988wztuPrrrvutNceO3ZMDzzwgCTpmWeeUXh4eIOfU1NhYaF27txpqBUVFWnnzp169dVXtXv3bplMJj3zzDMKCwtr8nMAAAAAAADQ/LCfFKojlILDFRfk641pNzr9uesWfWwIo85Ut6fp/5kn38Aghz7jlLCwMN1777169tlntWzZMi1btqzJy6zddtttpz0XFBSkv/3tb7rnnnvUrl27prbbIK+99pokKTQ0VK+++qotkKruiSee0KJFi5SUlKT//Oc/euKJJ+Tl1TL/hUV+/m+hrb+/f73X+vn52V43dobYv/71L23YsEGSNGHCBA0ePPi0186cOVNZWVkaPny4pk2b1qjn1LRp0yb17dv3tOcvueQSPfzww7r44ovP6jkAAAAAAABofrJT9huO2U+qbWP5PqAVmDlzpgICAiRJf/vb3xzyjBMnTuj999/XwoV179llLxkZGbbl7K677jrb+6rJzc1Nt956q6SqWT2JiYkO7cuRSkpKbK89PT3rvbZ68FZcXNzgZ6xYsUJ//vOfJUnh4eF64403TnvtypUr9d5778nd3V1vvvlmnaGgPS1fvlxvvvmmDh8+fOaLAQAAAAAA0GJUlJUpN/2goUYo1bYRSgGtQPv27W1Lra1Zs0ZLly5t0jjLli2T1Wq1fVksFh0/flwrVqzQhAkTdODAAd1xxx16+OGHa92bkpKinTt31vmVnZ3d4B6qL/N27rnn1ntt9fM1l4drSby9vW2vy8rK6r22tLTU9trHx6dB4+/atUsTJkxQRUWFvLy89OmnnyoiIuK0499xxx2yWq26//771a9fvwY9oz5jxowxfF9ZrVaVlZUpJSVFr732moKCgvT5559r2LBh+uWXX876eQAAAAAAAGgecg+mymqx/FYwmRQe08V1DcHlCKWAVuLBBx9UcHCwJGnWrFl2GdNkMikoKEijR4/WokWLNHnyZEnS888/X2vvqltvvVV9+/at8+vUflQNkZeXZ3t9uuDklA4dOtR5X0tTfTbYmZbkKywstL0+01J/UlVYeOmll+rYsWNyc3PTggULNGbMmNNe/49//EN79+5VdHS0Zs+efebmm8jDw0OxsbG6++67tXz5cnl4eCg9PV1/+MMfHPZMAAAAAAAAOFdWjf2k2nXsJE8fXxd1g+aAPaXgcD7+AZr+n3lOedaWJd8Y9ovy8vNX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LpbFYtFjjz2m2267rbuH1W28Xq+uuOIKM5C65JJLtHjxYmVnZ+vgwYN68skntXz5cpWWlnbK6/3lL39RSUmJJOnKK6/slHsCAAAAiA5CKQAAAADooC+++EJ/+MMfVFpaKovFoj/+8Y9atGhRdw+rWy1dulRbtmyRJN1yyy364x//aJ6bOHGiFixYoIULF+q5555r8z33799v7hslST6fT8ePH9d7772nJ598UpI0fPhw/eQnP+mkdwEAAAAgGgilAAAAAKCD3njjDfP4ySefPOsDKSkQSklSnz599Mgjj0Ts8/vf/15vvfWWTpw40aZ7fv/732/2XHJysv7jP/5Dt956q1JTU9s/YAAAAABdxtrdAwAAAACAnspisZjH//jHP+R2u7txNN2vqKhIO3bskCRdd911io+Pj9gvMTFR1113Xae85smTJ/XnP/9Zr732WqfcDwAAAED0EEoBAAAAQActXrxYI0eOlCS99957uv766+X1ert5VN1n69at5vHkyZNb7Hvuuee2+b4ff/yxDMMwf/x+vyoqKrR69WotWLBA+/bt0y233KKf/vSnHR47AAAAgOgjlAIAAACADsrMzNQHH3ygIUOGSJKWLVumG2+8UX6/P2qvGVqd1VaGYURhJE2Vl5ebx717926xb58+fTr8OhaLRcnJybrgggu0bNkyffvb35YkPfTQQ/roo486fF8AAAAA0UUoBQAAAACnoV+/fvroo4+Uk5MjSfrb3/6mRYsWRS0IiouLM49ramradE11dbUkKSEhISpjCgp9z62FZ535+fzkJz8xj5999tlOuy8AAACAzkUoBQAAAACnKTs7Wx9++KGysrIkSc8995zuuOOOqLxWWlqaeXzs2LE2XRPsF3ptNITe//jx4y32LS4u7rTXHT58uHkcuoQgAAAAgK8XQikAAAAA6AR5eXn68MMPzWXr/vCHP0Rlj6OxY8eax5s3b261//Hjx3XkyJEm10bDmDFjzOMNGza02Le18+0Ruo+Xx+PptPsCAAAA6FyEUgAAAADQSYYPH66VK1eaFUMPPfSQ7rvvvk59jfHjx5v3X7ZsmVwuV4v9X3zxRfP4oosu6tSxNJaVlaURI0ZIkl599VXV1tZG7FddXa1XXnml0143NODKzs7utPsCAAAA6FyEUgAAAADQicaOHav3339fvXr1kiT9+te/1oMPPthp93c4HLrlllskSUePHtWSJUua3Z9p69at+s///E9JUmJiom666aZOG0dzFi9eLCmwZODdd98dsc9dd93Vacv31dXV6Ve/+pX5/LLLLuuU+wIAAADofPbuHgAAAAAAnGkmTZqkd999V3PnzlV1dbXuuecexcfH67bbbuuU+//yl7/Um2++qR07duiPf/yjtmzZooULF2rMmDGKjY3V0aNHtXLlSj399NOqqamRJD355JNKTU3tlNdvyeLFi/XnP/9ZW7Zs0dKlS7V//3798Ic/VHZ2tg4dOqQnn3xSK1as0OTJk9u8hN/+/fuVkZER1lZZWanPP/9cTz75pLZt2yZJGjJkiH7wgx90+nsCAAAA0DkIpQAAAAAgCqZPn65//OMfuvzyy+VyuXTHHXcoLi5OCxcuPO17JyQk6MMPP9Q111yjtWvXav369Vq/fn3EvrGxsfrDH/6gG2644bRfty3sdrvefvttzZ49W7t27dLy5cu1fPnysD6XXHKJ7r77bs2dO7dN9/z+97/fap9x48bpjTfeUFxcXIfGDQAAACD6WL4PAAAAAKJk9uzZWrZsmZxOpwzD0C233BK2x9Pp6Nevn9asWaN//OMf+u53v6u8vDwlJibK4XAoMzNTM2bM0H333af9+/d3ShDWHllZWdqyZYt+85vfaPTo0YqLi1NKSoqmTJmiJ598Uu+9956cTudpvUZ8fLxyc3N19dVX629/+5s2btyo3NzcznkDAAAAAKLCYjS3+DgAAAAAAJKef/553XzzzZICS+n15PCnsLBQgwYNkiT9+c9/7pJ9tgAAAAAEsHwfAAAAAKDNdu/erVOnTkmSBgwYoJSUlO4dUBtUVFTo8OHDkqSioqJuHg0AAABw9iKUAgAAAAC0Weg+UD2l0uiNN94wK70AAAAAdB/2lAIAAAAAAAAAAEDUsacUAAAAAHShr776qkPX9ZSl8gAAAACgOYRSAAAAANCFLBZLh67rKUvlAQAAAEBzWL4PAAAAAAAAAAAAUWfv7gEAAAAAwNmExSoAAAAAnK2olAIAAAAAAAAAAEDUEUoBAAAAAAAAAAAg6gilAAAAAAAAAAAAEHWEUgAAAAAAAAAAAIg6QikAAAAAAAAAAABEHaEUAAAAAAAAAAAAoo5QCgAAAAAAAAAAAFFHKAUAAAAAAAAAAICoI5QCAAAAAAAAAABA1BFKAQAAAAAAAAAAIOoIpQAAAAAAAAAAABB1hFIAAAAAAAAAAACIOkIpAAAAAAAAAAAARB2hFAAAAAAAAAAAAKKOUAoAAAAAAAAAAABRRygFAAAAAAAAAACAqCOUAgAAAAAAAAAAQNQRSgEAAAAAAAAAACDqCKUAAAAAAAAAAAAQdf8/YiiUUWuX5x4AAAAASUVORK5CYII=", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "\n" - ] - } - ], - "source": [ - "stat('K_U [dB]', 'Round-trip avg [ms]', 'Transmit time to attenuation')\n", - "stat('K_U [dB]', 'Round-trip max [ms]', 'Transmit time to attenuation')\n", - "stat('K_U [dB]', 'Charge [uAh]', 'Charge per message to attenuation')\n", - "stat('K_U [dB]', 'Data-rate [kB/s]', 'Data-rate to attenuation')\n", - "stat('K_U [dB]', 'Max I [mA]', 'Transmit time to attenuation')\n", - "stat('K_U [dB]', 'Average I [mA]', 'Average trasmit current to attenuation')" - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "id": "e15ad5ac-611f-4787-a3a2-f100f15661cf", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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VatWNdto0qSJsX37dpt1b926ZXz99dfGV199lW6bb775ptmep6dnqvoxMTGpRrxs2rQp07HbYu91Yo+Uo4vat2+fa+c6Ssrrunr16ub11qJFC7vOX7dunXn+3XffnSMjk77//nurz4G3t7fx5ptvGpcvX7ZZPzo62vjxxx+Ntm3bmuds3LgxVb2U1xYAIH35eWRSev8mhYaGGn379rX6N2HMmDHptr1161ar+l26dDGCg4PTrP/HH38YQUFBRqVKldIdsZ5yZFJ6r/H3339vNSLK09PTOH/+fLox2/u3z9atW42AgACr5/f777+n2zYAADmNNZMAAIDT3H333Vq7dq28vb3Nsk8//TTX+n/rrbcUFxcnSWrYsKG+//57lS9f3qqOi4uLRo4cqenTp5tlr776quLj49Ns94033tD169d1/Phxffnll3rhhRfUtm1beXh4ZCvel156yVx/pl27dtq6davatGljs66Pj4/69eunxx9/PM32rl69qmnTppn706dPT1Xfw8ND7733nvr162eWvfbaa9l5GshAqVKl9NBDD0lKGnF17NixDM9ZuHChuW3vaL3MOHXqlAYNGmR+XipXrqy9e/fqP//5j8qWLWvznCJFiqhbt27aunWrVq5cKT8/P4fHBQAoGEqVKqWlS5eqWbNmZtn8+fPNf3dsmTJlirndsWNHrV69WrVq1Uqzfv369fXWW2/p1KlTGa6laY/u3btr/vz55n50dLTVv8fZ0bZtW61evVqurq5m2YcffuiQtgEAyCqSSQAAwKkqVKigPn36mPvbtm2TYRg53m9ERITWrl1r7gcFBaWb7BkxYoQCAwMlScHBwfr555/TrFujRg2Hf3F+4MABzZ07V1LSNDFLly5V0aJFs9XmwoULzWnIatasqWeeeSbNuu+9955cXJL+dNy5c6f279+frb6RvsGDB5vbixYtSrfurVu3tGrVKklJSdGGDRs6PJ5nnnnGnBLIx8dHGzZsSPcLuzs98sgj2rNnjypWrOjw2AAABYObm5vGjBlj7kdGRmrv3r026yYmJurXX38198ePH2+VeEmPq6ur+TdddvXs2dOqrS1btjikXUlq0KCBunfvbu6nfL4AADgDySQAAAo5i8ViPpIdO3ZM48aNU506deTj4yNfX181bNhQr732mkJDQx0eQ+PGjc3tqKgoq/VYcsrevXvN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rhnW37JliyTp9OnTqY7/+uuviomJkSQ9/PDDdn0mW7ZsqaJFi+r27dvatm2b1bFKlSqZ2xs2bNDRo0czvL5tqVSpko4fPy5JmjlzpkPW6EpMTNTevXt14MABnT9/XuHh4YqLi7NZ98CBAzbLN23aZG4/8cQTGfY5YMAAff755+nWyenr1tFSrnvXtWtXq79xbKlQoYIefPBB/fDDD5KkjRs3OuxzdPbs2QzXNHJxcdEjjzyimTNnqmzZshm22axZMx09elSzZs3S559/rr/++stmvVOnTumdd97Rhx9+qHfffVdjx461K+annnpKTz31VLp1KlasqP/85z+p/tbKyG+//aYxY8ZYlUVEROjAgQM6ePCgVfn48ePVsmXLTLUPAICjkUwCAACmjL5ElZIWPE528+ZNh/T76quv6vXXX5eLi0umzqtcubLOnDmT5X7vv/9+vfTSS3r//fclSevWrVPVqlXVrl07Va5cWREREdq+fbtCQkIkSW3atFFwcLCuX78uSZlaqDs7PD09rfabN2+e7pfurVu31mOPPaYVK1ZIkr7++utUX3CkbDM2NtauOJK/wEzm5eVl13n5Sfv27a2+fMwLBg0apI0bNyohIUFLly7V+PHjFRsbq+XLl0uSqlSporZt2+ZI33de4xERETnSTzJH3oOOHDmiV155RWvXrlVCQoJd/YeGhmZYp2nTphnWSfnFdp06dey6VzRv3jzdZNIff/xhJpY9PT01fvz4DNuUpN27d5vb586ds+ucjFgsFru+1GzZsqUsFosMw9CNGzd05swZValSxTy+c+dOc3v16tVpJgRSSvmeZ/R8GjVqlOl/VzKrbt266R738/Mzt2vWrCk3t/T/Fzxl/fDw8FTHU75mf/31V6ovotOS/AV+ckLV29tbkhQQEKA2bdpox44dCg8PV7NmzTRgwAA9+uijatu2rd3/zvXr10/r16+XJL3xxhv6+eefNWDAAD3wwAMKDAy0q41k8fHxmjFjhqZNm6bz58/bdY6tz25iYqL++OMPc79FixYZttO0aVPzmk1LTl+3jrZ//35z+5577rHrnHvuucdMJu3bty9H4kpLjx49NG/ePJUoUcLuc4oWLaqXXnpJL730ko4cOaItW7bot99+0/79+3X48GGrfwMiIyP13HPPKTQ0VBMnTsx2vN7e3po9e7a6deuW6XODg4MVHBycbh0PDw8FBQXp1VdfzWqIAAA4DMkkAABgKl68eIZ13N3dze20fiGcUu3atXXfffeZ+9HR0Tp37px27txpjnp48803dezYMS1cuDDHv/i703//+1/5+fkpKChIcXFxio6O1s8//5yq3v3336+lS5eao0IkZeqLjuy485fnjz76aIbnPProo2YyaceOHem2ae8Iozvr5fQolfwqoy93a9Sooeeff97u9nr37q3Ro0fr9u3bWrRokcaPH68ffvjBTGoOHDgww196Z1XJkiWt9m/cuJEj/SRz1D1o3bp16tmzZ6oEaEbuHIlli7+/f4Z1Un6xHRAQYFffFSpUSPf4xYsXze2IiAjNnDnTrnZTCgsLy/Q5tvj5+dn1+ff19VXx4sXN6+bvv/+2SialfE6rVq3KdBwZPR973qvsyuiaTZk8suf6Tlnf1vWd8jXbvXu3VbLQXmFhYWYySZK++OILdezYUZcuXdLt27f1+eef6/PPP5erq6vq16+vdu3aqWvXrrr//vvTTIYNGzZMP//8s/nvzubNm82Rv+XLl9e9996rTp066dFHH033fYmJiVGPHj1s/jucHluf3TtHMtnzWfTx8bG6Zm3J6evW0ZJHSUpJP8KxR8oEoD1JdnsVK1bMalRjfHy8Ll68qP3795uJw1WrVunUqVNav369Spcunek+7r77bt19990aMWKEpKRr4+eff9bMmTO1ceNGs97bb7+t7t27q1mzZum2d99996l27drm/s2bN3XmzBnt2LFDiYmJioyMVPfu3TV79mw9++yzmY73TkWLFpWfn5/q1q2rDh066KmnntJdd92V7XYBAHAEkkkAAMCUE19It2zZUp988kmq8ps3b2rixIn68MMPJUlLlixRvXr19Morrzg8hoy8/vrrevLJJzVnzhytX79eJ0+eVHh4uPz9/dW4cWMNHjxYvXv31tmzZ61+3Wrvl8TZlXIkhpT0RUlGUta5deuWbt26ZfUL85RtXrlyxa44Ll++bLV/Z6IBSTL6kr99+/aZSib5+Pjoscce05IlS3T48GHt379fixYtMo/n1BR3klKNKDhy5Ijat2+fY/054h70999/q1+/fmYiqUqVKhoxYoTatm2rKlWqqESJEvL09DT7CgoKMn+dnpiYmGH79ozISzmCq2jRonbFnfLLfVscMRI0Pj4+221I9j8nKel5JX8xf+cX/tl9Thk9n9wYPZmZa9YR13dOXAe1atXSwYMH9e6772rhwoVmojohIUEHDhzQgQMH9PHHH6t8+fIKCgrS8OHDU7Xp4uKi5cuXa9GiRZo2bZrViKCLFy9q2bJlWrZsmUaPHq3Bgwfrvffes/lvyMSJE81EkouLix5//HE9+uijqlevnsqXLy8vLy+rhHLya2prJNGdIykz81lML5mU09eto6V8HTK6z9iqZ0+S3V4lS5a0+TdhfHy8Fi1apNGjRys6Olp//PGHBg0aZDWlYFYVK1ZMvXr1Uq9evfThhx+aUwwahqEZM2ZkOBXzk08+aXP6ulOnTunZZ5/Vr7/+KsMwNHr0aNWvX19t2rSxO7bBgwenOyIVAIC8Jnd/+gsAAPD/ihcvrmnTpunpp582yyZMmJDmXPc5rVKlSpo8ebJ+++03hYaGKjY2VhcuXNCPP/6oPn36yGKxWP0CvGTJkqpWrVquxJbyF7GSfSOC7qxz55dBtWrVMrevXr1qtYZSWpKn+5OSnn9u/OofSVImjKZNm6a1a9dKSpqKKCevw4CAAKtfsv/222851pejfP755+aXvY0bN9Yff/yhl19+WW3atFG5cuXk5eVl9aW+I78oTZbyi9jbt2/bdY6ttdHSarNRo0YyDCPTj6CgoCw9nzvZ+5wk6+d155RpKZ/TgQMHMv18sjPNaX6V8jWbPn16lq4DW9PO+fv7a9q0abp8+bK2bt2qSZMmqWvXrvL19TXrXLx4Uc8884yee+45m7FZLBYNHjxYBw8e1IkTJzRv3jwNHjxYVatWNevEx8dr3rx5atGihdWIGSlpVNKMGTPM/UWLFmnp0qXq3bu3ateuLV9fX6tEUkaf3TsTJznxWcwP123Kvwcyem626uXGlL5ubm4aOnSo5s6da5atXbs2w0RPZr3wwgt64IEHzP2tW7dmua2qVavqu+++U4MGDSQlJV+HDBli16h9AADyK5JJAADAqT788ENzeqfY2Fi98cYbTo4obSmnR2ndunWu9ZtyAXfJvi+/76xz5/RKtWrVMqcUNAzDrjUfUq6bkJUF2guLjL5IzMqaTPfdd5/5OVmyZIn5ZVVOjkpKlnLh+O+++y5TiQRnSF63RZL+/e9/Z5h8PXv2rMNjSDk1k71rvly4cCHd4ykXoj916pRdo6hySlhYmF33ofDwcKtRHHdOWZXyOR0/ftxxARZgOf2aubu7q23btnr99de1Zs0ahYaG6qeffrIakThjxowMp9erVq2ahg4dqgULFujkyZP666+/9NJLL5nT5J08eTLVejW///67OYqmfv36GjBgQLp9ZPTZLV68uFXyyZ7PYkRERIYjj/LbdZvyhx8pfxSSnpSvbVammsuqAQMGqEePHub+m2++adePXTKja9eu5valS5ey1VbRokX1xRdfmD9QOH78uD777LNstQkAQF5GMgkAADiVj4+P1a/lV6xYYbVYdF4RExOjZcuWmfsDBw7Mtb6rVKli9cvuI0eOZHhOyjolS5ZM9QttT09PtWrVyty3J8GRvP6FZJ1gQM5zcXFJ9cVqkSJF1Ldv3xzve+TIkeb2jRs39MUXX+R4n9mRcj2TunXrpls3ISFB27dvd3gMjRo1MrePHj2aarotWzL6cr5Ro0YqUqSIpKQkzc6dO7MVY3YYhmHXKLXffvvNnH6sRIkSVuslSUnToCZbt26dY4MsoHL7NXN3d1eXLl30888/q379+mb5Dz/8kKl2atSoof/+97/6z3/+Y5Z9//33VnUy89mVpC1btqR73MXFxSrm33//PcM29+7da3PKvJScfd1mdrrExo0bm9u21lC0JeV9sUmTJpnqL7vee+89ubq6SpLOnTunOXPmOLR9T09Pczv5npodTZs21RNPPGHuv/POOw5PgAEAkFeQTAIAAE43ZMgQqy8Z33nnHSdGY9u0adPMdSTKlCmjRx99NFf7T9nfypUrM6yfsk67du1s1nnkkUfM7Yzm7D9//rzViI+U5yJ3DB482Gq/R48eKlGiRI7327x5c6vk4euvv56laZpOnTqlkydPOjAy25JH3EkZT2u1atWqVGuBOULdunXN0QBxcXH65ptv0q0fGRmpVatWpVvHy8vL6n1IXm/OWRYvXpxhnZT3lQ4dOqT6Evzhhx82t7/88ktdvXrVYfEVVF26dDFH95w4cUI//vhjrvTr4eFhNT2YvWvt3Snle35nG5n57CYmJto1AqRDhw7m9pdffplh/aVLl2ZYx9nXbcpkiD1TqqW8b6xZsybDeC9fvqyffvrJ5vm5oVatWnr88cfN/f/+97/mGniOkHIkdqVKlRzS5oQJE8zr9/Lly/r8888d0i4AAHkNySQAAOB0bm5ueu2118z9lStX6s8//3RiRNa2bdumt99+29z/4IMP5OHhkasxjBw50pyuZ8+ePel+Ob1z506rZJKthaOlpORE8oilY8eOWa1VcKeXX35ZCQkJkpKm+MvtXypDuvvuu7Vv3z7t3r1bu3fvtlpbJKd99tln5topt27dUqdOnTI1vdP//vc/NWvWTOfOncupEE0pR/F99913adb7+++/9cILL+RIDC4uLlZTEAYFBenGjRtp1p84cWK6x5O98sor5va3336bqYXbHZ00W7JkSbqjHLZu3aqvvvrK3E+5Pl6yXr16qXr16pKSkgdPPvmk3euNRERE2L3+S0FSoUIFPfnkk+b+iBEjMpwiMVliYmKqdYrCwsLsnjIx5RRpd66ZFxoamu02Un52N2/enO50c//973918ODBDPt76qmnzO0tW7ak+2OMgwcPav78+Rm26ezrtlSpUua2Pe99586dzR/sxMTEaNy4cWnWNQxDzz33nGJjYyUlTVd4//33ZyverPj3v/9tJmcuXryoefPmpaoTGxurMWPG2D2VqJQ0UjRlIvzBBx/MfrCSatasaZUAe++998zXEACAgoRkEgAAyBOGDBli/kLUMAxNmjQpV/odM2aMfvzxR5v/05+8GHjXrl0VFRUlKWlETsov8nJLtWrVNGrUKHN/yJAhNhNKGzduVI8ePcwvB1u1amW1/kBKZcqU0YsvvmjuP/fcc1q+fLlVndjYWL366qtWXwq/++672XouyLrGjRurWbNmatasmdW6HTmtWrVqWrhwoTki4vTp02rSpImCgoLSHKEQExOjNWvW6N5771WvXr0UFhaWK7GmHDUwZcoULVmyJFWdffv2qX379jp37lyqKSAd5V//+pc5ciwkJEQPPvigTp8+bVUnPj5eb7/9tv773//aNd1S+/btrUaoDR06VOPHj9e1a9ds1o+JidF3332nRx99NM37QFa4u7srMTFRPXr0sDnN108//aSePXua04W1a9dODz30UKp6rq6umj17tjml1S+//KJ27dqlO+XfH3/8oddee02VKlVK9XoWFpMnT1a5cuUkJSUTmjdvrhUrVqSZFLpw4YI++ugj1a5d22q6Vikp4Zo8BV1ar2d0dLSmT5+ub7/91iy78/2sVKmSnnnmGW3atMn84cGddu3apTFjxqTZRuPGjc214W7evKk+ffpYTX0nJV3TEyZM0KuvvmrXZ7devXpW04EOHDhQK1asSFVv+/bteuihh5SQkJDhj0Wcfd2mnLpv1apVGSYtXFxcNGXKFHP/q6++0vDhw1NNv3nr1i0NGzbM6m+LqVOnWo0Yyy21a9e2et+mTp2aKmGXmJiomTNnqlq1anr88ce1Zs2aNKeXi4+P11dffaUOHTqYf895e3tr7NixDos5ZQLs/PnzmUr2AwCQX7g5OwAAAAAp6cvJ1157zVyfZdmyZQoKClLNmjVztN9ff/1VM2fOlK+vr5o2barKlSvL1dVVly5d0rZt2xQeHm7W7dKli1VSJS0XL160+cXpiRMnzO05c+akmtaqfPnyWrNmTZrtTp06Vfv27dPWrVt1+/Zt9e3bV3Xq1FHz5s3l6uqqP/74Q3v37jXrlytXTsuXL093fYU333xT27dv14YNGxQVFaV+/frpnXfeUZMmTRQdHa0tW7ZYLVA9ceJEq4XYHeX777+3WmcmIyNGjNCIESMcHsfx48etvuy0x2uvvWZ+AVqQPfLII1q7dq369OmjGzduKCIiQhMnTtR//vMfNWzYUNWqVVOpUqV069YtXbp0Sbt377b6Bb6Li0uOJW5SGjJkiKZNm6a//vpLMTExGjhwoCZPnqyGDRvK09NThw8f1p49eyRJDRs2VJcuXfTee+85PI5y5cppzpw56t+/v7nGUM2aNdWuXTtVrVpV4eHh2rx5s65cuSJ3d3e98847Gj9+vCSl++Xtp59+qkuXLunnn3+WYRh6//339fHHH6t58+aqVq2avLy8dPPmTZ08eVKHDh0yv1xt2rSpw55b+fLl9dhjj+nDDz/Ugw8+qAYNGpjrsuzbt0+HDh0y65YpU8Zqgfo73X///Zo9e7ZGjhyphIQE7dq1Sy1atFCNGjXUuHFj+fn5KSoqSpcvX9aBAweYCk9J19Z3332nhx56SKGhobp06ZL69OmjMmXKqGXLlipbtqwSExN17do1HT58WKdOnUp3HaBTp07p5Zdf1ssvv6xKlSqpQYMGKlOmjAzD0OXLl7Vr1y6rZPCAAQPUpk0bqzaioqL0+eef6/PPP1exYsXUqFEjVapUSd7e3goNDVVwcLDVWn7+/v5W6yVKSdf922+/raFDh0pKStLUrFlTbdq0UeXKlXXt2jVt2rTJjOWzzz5LtZacLTNmzNDvv/+uM2fOKDIyUn369FGtWrXUokULubm56dChQ+Y94cUXX9S3336rs2fPmjHZ4szrtmvXripatKhu376tgwcPqk6dOurQoYNKlChhfs46d+6szp07m+f07dtXW7Zs0cyZMyVJc+fO1bJly9SxY0eVLVtWV69e1YYNG3Tr1i3znHHjxqlXr14Oizuz3nzzTS1fvlyJiYkKCQnRokWLNGzYsFT1YmNjtWzZMi1btkzu7u5q1KiRAgMD5efnp/j4eF24cEG///671TXs5uamL774QhUrVnRYvHXq1FGfPn3MhO2UKVM0dOhQ80cYAAAUCAYAACjUJJkPe7Rv396sv3HjRpt1Bg8ebNYZPHiw3bHExMQYAQEB6Z47f/5883jlypXtbjsttWrVsnoNbD2KFCliTJgwwYiOjrarzdOnT2fYpq2HPc/nxo0bRv/+/TNsq2XLlkZISIhd8d64ccPo27dvuu25u7sbkyZNsqs9e6W8TjL7eOutt6zaeuutt8xj7du3z1QcKc/NymP//v3Zfi1SXtctW7bMVltr16516GfkTmfOnDGeeuopw9XV1a7Xx8XFxejWrZtx4MABm+3lxD3o2LFjRtWqVdON65577jHOnz9v9f7feV0ls6dOWhYsWGAULVo0zTh8fX2NVatWGT///LNZ1qNHj3TbjI+PN9588810273z8zt69OhMxX2nlPe1ypUrG7Gxscbw4cPT7bd69erGoUOH7Gp/w4YNRo0aNez+3NWtW9e4cOFCqnZSfpYy8+9PZmTmmt24cWOm7k2ZudbOnDlj3HfffXa/ZmXLljV++uknqza++eYbw2Kx2P1ZHjVqlBEbG5sqFh8fH7vjaNiwoXH06NE0n9frr7+e7vmenp7G7NmzDcOw/704deqUUa9evXTbffrpp43Y2FijfPnyZtn169fTbddR121mffbZZ4aLi0ua/aR17bz99ttGkSJFMnx9J0+enO0Yk2Xn77Y+ffqY51arVs2Ij483j8XFxRm9evUyvL297X79JRl16tRJ89+OZJUrVzbrz58/3+54Dx8+bPV5snVuVv9GBgAgL+AnEgAAIM/w8PDQq6++ao4MWbp0qd566y1zrv+csGLFCv3888/auHGjjh8/rqtXryoyMlJlypRRlSpV9PDDD+vxxx932CLN2VW8eHF9+eWXGjFihBYtWqRt27bpwoULSkhIUNmyZdWqVSv17dtXjzzySLojku5sc9myZRo+fLgWLlyonTt36tKlS3J3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zZvrPAcAWlNmZqbGjBmjrKws+fn56Y033tD111/foOdS/wC0Z9RAAG3R8OHDJUkHDhzQiRMnLO9zrWtXXXWV2zXqH4C2atmyZebxjTfeWOe6N2ok0F4QJgEeVFdX69133zUf9+3b1+16eHi4xowZI0lau3at5VLY9957T6dOnZIk3XDDDc00WwBouOzsbI0dO1bp6emSpEWLFumWW25p8POpfwDaM2oggLbopz/9qXl89gb2tUpKSvSPf/xDUs0qpNrN6mtR/wC0RVu2bNHKlSslSWPGjPG4QsobNRJoLwiT0O689tprqqqqsrxeXV2tBx98UHv27JFU8xsKPXr0qHPfb37zG0mS0+nUPffcU2fM3NxczZkzR5IUGRmpu+66y1tvAQCapKCgQOPHj9eBAwckSfPnz9eMGTMaPQ71D0B7Rg0E0NbccMMN6tWrlyTpmWeeUVpaWp17HnroIZ08edI89oT6B8DXHD161PLaoUOHNHXqVBmGocDAQC1cuNDjfd6qkUB7wJ5JaFMOHTqkTZs2uZ0rKioy/zz7NwgmTJigzp07u5371a9+pXnz5mnq1KkaOnSounfvrpCQEJ08eVJff/21li5dql27dkmSIiIi9NJLL3mcy49//GP94he/0FtvvaWVK1dq3Lhxmj17tuLj47V792499dRT5he13//+9+bGfwDQFOdb/8rLy3Xttdfqm2++kSTdeuutGjt2rBmcexIaGuoxTKf+AWhp3vgeUJJWr17t1r7Etff9N9984zZOWFiYpk6dWmcMaiCAluSN+hcQEKCFCxdq0qRJOnXqlK666ir97ne/0xVXXKGTJ0/qtddeMztzDB8+XLfddpvHuVD/APiaWbNmKT09XbfffrsGDRqkyMhIZWdna82aNXrllVdUUlIim82mRYsWue395spbNRJoFwygDVmyZIkhqcEfn332WZ0xGvrciy++2NixY0e98ykpKTGuueYayzH8/PyMxx9/vHk+GQDalfOtf999912jni/JGDlypOV8qH8AWpI3vgc0DMMYOXJkg8fo3r275XyogQBairfqn2EYxquvvmoEBgZaPveKK64wcnJy6p0P9Q+AL7n22mvrrYnR0dHGsmXLGjSWN2okcKFjZRLanV27dunTTz/V+vXrlZqaqu+//14FBQUKCQlRfHy8Lr/8ct1www26/vrrFRAQUO9YwcHB+r//+z8tW7ZMS5cu1c6dO1VQUKBOnTrp6quv1r333qthw4a10DsDgJZD/QPQnlEDAbRFM2bM0LBhw7Rw4UKtW7dOx48fV2hoqC6++GLdeuutuuuuu2S31/9jIuofAF/y29/+Vn369NHGjRuVkZGhvLw8RUZGqlevXpo8ebLuuusuxcbGNmgsb9RI4EJnMwzDaO1JAAAAAAAAAAAAwDf5tfYEAAAAAAAAAAAA4LsIkwAAAAAAAAAAAGCJMAkAAAAAAAAAAACWCJMAAAAAAAAAAABgiTAJAAAAAAAAAAAAlgiTAAAAAAAAAAAAYIkwCQAAAAAAAAAAAJYIkwAAAAAAAAAAAGCJMAkAAAAAAAAAAACWCJMAAAAAAAAAAABgiTAJAAAAAAAAAAAAlgiTAAAAAAAAAAAAYIkwCQAAAAAAAAAAAJYIkwAAAAAAAAAAAGCJMAkAAAAAAAAAAACWCJMAAAAAAAAAAABgiTAJAAAAAC4gc+fOlc1mq/Oxfv36Jo+5dOlSc5wjR454ba6tzfV9uX4sXbq0tacGAAAA+BTCJAAAAAA+Yf369R5/sG+z2RQcHKyuXbtq4sSJeumll1RUVNTgcTds2KDp06frkksuUUREhAIDAxUfH6/+/ftrypQpeuGFF/T111+rurq62eeUmJjocSy73a6OHTtq6NCheuSRR3T48OFGfe5a25133mn5ebLb7YqOjtawYcP02GOP6fjx4609XQAAAACNRJgEAAAAwOeVlZXp2LFjWr16te655x717dtXO3furPc5JSUluvHGGzVy5EgtXrxY+/btU2FhoSorK5WVlaWdO3fq/fff1/3336/LL79cH3/8cbPPyUpVVZXy8/O1ZcsWPfvss7rkkkv0yiuvNGksV7t37zY/Bg8efN7jNUVVVZVOnjypzZs367//+7+VkpKilStXtspczvbTn/7U/PysWbOmtacDAAAA+Cx7a08AAAAAAM42c+ZMzZo1y3ycm5urAwcO6I9//KMOHjyo9PR0TZw4UQcOHFB4eLjHMW688UZ99NFHkqSkpCTNmDFDgwcPVlRUlIqLi5WamqovvvhCK1euVHZ2dovMqVZ8fLxbeOF0OpWRkaG33npLy5YtU3l5uWbOnKlu3bpp4sSJ55yblb59+zb5uU21Zs0axcfHm48rKyuVmZmpd955R2+++aYKCwt14403aufOnUpJSWnx+bmKjIxUZGSkJCksLKxV5wIAAAD4MsIkAAAAAD4nLi6uThAyatQoTZs2TRMnTtSnn36qrKwsvfrqq3rwwQfrPH/VqlVmkDR+/Hj985//lMPhcLvnqquu0p133qlFixZpxYoVSkhIaNY5uQoICKgzVv/+/TVp0iQNHDhQDz74oAzD0H/913+dV5jUGnr37q3ExES3cwMGDNCkSZOUmJioJ554QhUVFVqwYIFefvnl1pkkAAAAgEahzR0AAACANiMwMFBz5841H3/yySce71uxYoV5/Pzzz9cJklz5+/vrZz/7mS699NJmnVNDzZ49W926dZMk7dixo0GrptqKhx56SDabTZK0ZcuWVp4NAAAAgIYiTAIAAADQplx++eXmcUZGhsd70tPTzeOkpCSfmFND+fn5ue1vdPTo0fMaryFOnjypRx55RCkpKQoODlZcXJzGjh2rt99+26uvExYWpo4dO0qq2XPKk1GjRslms2nUqFGSpEOHDunuu+9Wz549FRwcrMTERE2fPt3tv7Ek7dmzR9OmTVPPnj0VFBSkhIQEzZw584IK4wAAAIDWQps7AAAAAG2Kv7+/eWy3e/4nTWBgoHm8b98+9e/fv9Xn1BiuY1RVVZ33ePXZu3evxo4dq6ysLPNcWVmZ1q1bp3Xr1unf/u3fdPXVV3vltYqKipSXlydJ5uqr+qxdu1ZTpkxRYWGheS49PV2LFy/Whx9+qM8//1wpKSlavny5pk2bpvLycvO+zMxMLVq0SKtWrdKXX37pto8TAAAAgMZhZRIAAACANmXv3r3m8dl789QaMGCAeXzvvfcqJyen1efUGLt27TKPmzME+eGHHzR+/HgzSPr5z3+ujz76SNu3b9eyZcs0aNAgLV68WC+99JJXXu/555+XYRiSpMmTJ9d77/Hjx3XTTTcpMjJSf/rTn7RlyxZt3LhRs2fPls1mU3Z2tu666y5t27ZNt99+u3r27KnXX39dW7du1WeffabbbrtNUk349MADD3hl/gAAAEB7xcokAAAAAG3Kc889Zx5PnTrV4z3Tp0/Xc889p5KSEn3xxRfq3r27Jk6cqBEjRmjIkCEaMGBAvfsoNcecGur999/Xvn37JEk9e/ZUQkLCeY1XnyeeeEKZmZmSpKefflq//e1vzWsDBw7U1KlTdd111+njjz9u8JgHDx5UUVGR+djpdCozM1Pvv/++li5dKkm66qqrNH369HrHSU1NVXJysr744gvFxsaa54cPH66AgAD94Q9/0BdffKFrr71WQ4YM0ccff6yQkBDzvlGjRqmsrExvv/223n33XeXk5LiNAwAAAKDhWJkEAAAAwOfl5eVp06ZNuuaaa7R8+XJJ0rBhw/SLX/zC4/3dunXT3//+d4WFhUmSSktL9d5772n27NkaNmyYOnTooBEjRmj+/PnKz89vkTnVp6qqSkeOHNEzzzyjW265xTz/8MMPN2luDVFeXq4lS5ZIkn70ox9pzpw5de4JCAjQn//8ZwUEBDR43PHjx6tfv37mx4ABAzRp0iQtXrxYnTt31vz587V27doGhXkLFy70GADNmjXLPM7NzdVrr73mFiTVmjlzpqSaQOurr75q8HsAAAAA4I4wCQAAAIDPmTdvnmw2m/kRExOjq6++WqtWrZLdbtcvf/lLrV69ut6Q47rrrtPevXt1zz33KDo62u1aeXm5Nm7cqAceeEC9evXSX/7ylxaZU6309HS3sex2u3r06KH//M//VFlZmaSaIOTXv/71Ocdqqh07dujkyZOSpDvuuEN+fp7/edi1a1f95Cc/8cprHj9+XEuWLNHq1avPeW9kZKTGjx/v8VpiYqIiIiIk1QRhF198scf7LrvsMvP48OHDTZgxAAAAAIkwCQAAAEAb07t3bz388MNmmFCfhIQEvfjii/r++++1ZcsWLVy4UNOmTVNycrJ5T0FBge644w5zlU5zz6k+YWFhmjhxoj766COv7VNkZffu3ebx4MGD6733iiuuaPC43333nQzDMD+qq6uVl5enVatWaeTIkdq1a5emTJmiF198sd5xkpOTZbPZLK936NBBUs3n3kpkZKR5XFhY2OD3AAAAAMAdeyYBAAAA8DkzZ840W5k5nU4dP35cK1eu1OLFi7V3716NGjVKX375pfr06dOg8ex2u6644gq3UGTHjh2aPXu2Nm3aJEl68MEHNXXqVIWHhzf7nOLj47VmzRq3+UVERKhz586WK4S8rXZVkiTFxcXVe2+nTp2a/Do2m03R0dGaMGGCxo0bp9GjR2vjxo26//77NW7cOMvPl6e2da5qP0/13ef6uayqqmrC7AEAAABIrEwCAAAA4IPi4uLUt29f9e3bV/3799c111yjRYsW6f3335efn5/y8/N1yy23nFdAMHDgQK1evVpJSUmSasKVtWvXtsicAgICzLH69u2rlJQUxcfHt1iQJEmGYZjH9a0AOvve8+Hv768HHnhAUk0g15D2ggAAAABaH2ESAAAAgDbj2muv1d133y1J+te//qWlS5ee13ihoaG6+eabzceHDh1q9Tm1FNd9pL7//vt6783Ozvba66akpJjHrq32AAAAAPguwiQAAAAAbcrjjz+u0NBQSdK8efNUUVFxXuPFx8ebx01dGeTtObWEfv36mcfbtm2r995zXW8Mp9NpHldWVnptXAAAAADNhzAJAAAAQJsSFxenX//615KkjIwMvfHGG3XuaUxbtu3bt5vHPXr0aLY5+ZqBAwcqKipKkvTmm29afs6OHTumjz/+2Guv6xpMJSQkeG1cAAAAAM2HMAkAAABAm/PQQw8pKChIkvT73/++zj5FM2fO1NNPP638/Px6x/nkk0/M4Cc0NFRjx45ttjn5GofDoWnTpkmSvvnmG/3hD3+oc4/T6dSMGTO8ttLq5MmTeuaZZ8zH11xzjVfGBQAAANC8CJMAAAAAtDmdO3fW9OnTJUmHDx/WsmXL3K7n5ubq0UcfVZcuXXTDDTdowYIFWrt2rb7++mtt27ZNy5cv180336wJEyaYbdeefPJJRURENNucfNFjjz2mrl27SpLmzJmjW265RatXr9a//vUvvfXWW7ryyiu1atUqDR48uMFjHjx4UHv27DE/du/erY0bN+q5555T//79lZqaKkkaPny4rr/++mZ5XwAAAAC8y97aEwAAAACAppgzZ45ee+01VVRU6Omnn9att95q7nl00UUXSZIqKiq0YsUKrVixwnKcoKAgzZs3T7Nnz27WOfmiDh06aPXq1Ro7dqxOnDih5cuXa/ny5W73TJs2TSNGjDBXMZ3L+PHjz3nP6NGj9c4778hmszVp3gAAAABalu/+qwYAAAAA6pGQkKA77rhDkrR//369++675rUFCxYoPT1dr7zyin75y1+qf//+ioqKkt1uV3BwsOLj4zV27Fg99dRTOnjwoB5++OFmn5OvuvTSS/Xtt9/q4YcfVnJyshwOh2JiYjR69GgtW7ZMixcvPu/XCAsLU3Jysm655RZ98MEHWrdunaKjo70wewAAAAAtwWY0ZmdaAAAAAIBPmzt3rubNmydJ4p97DXfkyBH16NFDkrRkyRLdeeedrTshAAAAwIfQ5g4AAAAALlB79uwxj3v06KHQ0NBWnI3vKSgoUGZmpiTp+PHjrTwbAAAAwHcRJgEAAADABapfv37m8WeffaZRo0a13mR80IoVKxq8FxQAAADQnrFnEgAAAAAAAAAAACyxZxIAAAAAAAAAAAAssTIJAAAAAAAAAAAAlgiTAAAAAAAAAAAAYIkwCQAAAAAAAAAAAJYIkwAAAAAAAAAAAGCJMAkAAAAAAAAAAACWCJMAAAAAAAAAAABgiTAJAAAAAAAAAAAAlgiTAAAAAAAAAAAAYIkwCQAAAAAAAAAAAJYIkwAAAAAAAAAAAGCJMAkAAAAAAAAAAACWCJMAAAAAAAAAAABgiTAJAAAAAAAAAAAAlgiTAAAAAAAAAAAAYIkwCQAAAAAAAAAAAJYIkwAAAAAAAAAAAGCJMAkAAAAAAAAAAACWCJMAAAAAAAAAAABgiTAJAAAAAAAAAAAAlgiTAAAAAAAAAAAAYIkwCQAAAAAAAAAAAJb+H0bA0nZaW8TVAAAAAElFTkSuQmCC", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABqUAAARFCAYAAAA3lcgIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdd3xT1f/H8Xfa0tLFLKstGxQQZCMIshFFRHHAVwRZgswvOHDLcCMqIFNkKoKCIiqIm4IgUqCIgCyxILTs2ZZC1/390V/vN2nTJG2TttjX8/HIgzvOPedzk3vTkE/OORbDMAwBAAAAAAAAAAAAHuRV0AEAAAAAAAAAAADg34+kFAAAAAAAAAAAADyOpBQAAAAAAAAAAAA8jqQUAAAAAAAAAAAAPI6kFAAAAAAAAAAAADyOpBQAAAAAAAAAAAA8jqQUAAAAAAAAAAAAPI6kFAAAAAAAAAAAADyOpBQAAAAAAAAAAAA8jqQUAAAAAAAAAAAAPI6kFAAAAAAAAAAAADyOpBQAAAAAAAAAAAA8jqQUAAAAAAAAAAAAPI6kFAAAAAAAAAAAADyOpBQAAAAAAAAAAAA8jqQUAAAAAAAAAAAAPI6kFAAAAAAAAAAAADyOpBQAAAAAAAAAAAA8jqQUAAAAAAAAAAAAPI6kFAAAAIDrTrVq1WSxWGSxWHTkyJGCDgcAAAAA4AKSUgAAwO3at29vflls7xEcHKwqVarozjvv1Ouvv66YmBiX6544caLDurN7TJs2zWG9J0+e1Msvv6w2bdqoQoUK8vPzU8WKFdWyZcscxyhJly5d0s8//6y33npLDz74oM0X6BaLRYsXL85RffZs3LhRo0ePVsOGDVW+fHkVL15clStXVosWLTRixAitXLlSFy5ccKkuwzD0xRdf6IEHHlDNmjXl7++vcuXKqVmzZpo0aZL++eefPMebWebrpEqVKrp27ZpLxz777LPmcQMGDMi2XObnPfPDy8tLJUuW1A033KBevXrp448/1tWrV910hras242IiPBIG5J05MiRXN0jjh7uuF4znD59WosXL1afPn3UoEEDVaxYUb6+vipZsqSqV6+uu+66S5MmTdLu3bvd1iYA4PoSERHh8O9SsWLFFBISooYNG2rQoEH65ptvlJaWluN2kpKS9Mknn6hv376qW7euSpcuLR8fHwUGBio8PFytW7fWkCFDNG/ePB06dMhhXQX5+dff31+hoaHq2LGjxo8fr+jo6Bw/FwAA5BsDAADAzdq1a2dIcvlRrFgxY9KkSUZaWprTuidMmJCjujMeU6dOzbbO6dOnG/7+/g6PDw4ONhYsWODS+f/nP/8xLBaLw/oWLVrk4rOZ1eHDh42uXbu6dN5TpkxxWl9MTIzRsWNHh/UEBQXlKWZ77F0n06dPd+nYZ555xjymf//+2ZarWrVqjq+V6tWrG7/88oubzvJ/rNtYv3692+vPEB0dnat7xFPXa4azZ88aTz31lNN7zfrRtGlT49tvv7Vbn/VrGx0dnef4AODfzPrz04QJEwo6HKfWr1+f479VDRs2NPbs2eNyG998840RHh6eozYcfeYoTJ9/vby8jCeffNK4du2ay88HAAD5xUcAAAAe1Lx5c7Vo0cJm26VLl7Rr1y6zJ0RycrImTJigixcv6t1333W57tDQUPXs2dOlso0aNbK7/dlnn9XkyZPN9eDgYLVt21ahoaG6cOGCNm7cqNOnTysuLk6DBw/WtWvXNHz4cIdtnThxQoZhuHweObFr1y516tRJ586dM7fVq1dPN910k8qUKaO4uDgdOHBAu3btUkpKitP6Ll++rK5du2rPnj3mthYtWuimm24ye3tdvHhR8fHxGjhwoLy8vPTII4945Nwk6Y033tCjjz6qgIAAt9fdqVMn1alTx2Zbamqqzp07px07dujvv/+WJEVHR6tr166KiIhQ8+bN3R6Hp5UoUUIjR450WCYyMlLbtm2T5Np9VLdu3TzF9Mcff+juu+/O0uPuxhtvVJ06dVSuXDklJibq5MmT2rFjhy5evChJ2rFjh+644w59+umn6tWrV55iAABcvzL/XUtKSlJMTIw2b96sS5cuSUr/jNShQwdt2bJFNWvWdFjfhx9+qIEDB9r0rqpZs6YaNWqksmXLKikpSadPn9auXbtsejRl/H1yJr8//yYkJGjfvn2KjIyUYRhKS0vTO++8oxMnTmjp0qWyWCwu1w8AgMcVdFYMAAD8+1j/UtTRr3E3b95sVK5c2eaXndu2bXNYt/UvRdu1a5enOL/++mubtvv162dcuHDBpsy1a9ds2vT29jZ27NjhsN527doZXl5eRr169YwBAwYYs2bNMiIjI23ONTc9T6Kjo42yZcuadXTq1MnYvXu33bLnzp0zFi5cmG0vkwz9+vUz6ytTpozx888/2+yPi4sz+vTpY5bx9fU1Dh06lOPY7cnuF8WTJ092emxueko5e87Xrl1rlCpVyqaXjjtZn6Mne0q5wp33kTORkZFGcHCwzS/DR44cmW3vpuTkZGP9+vVG9+7dHb529JQCANdd7z2lshMfH2+MGTPGpmz37t0d1v3XX38Zfn5+ZvnmzZsbkZGRDstPmTLFqFu3rnHPPfdkW64wfP7dvXu3cdNNN9nUvWLFCod1AwCQ35hTCgAAFJhbb71VX375pc2vN+fNm5dv7b/wwgvm8p133qkPP/xQpUqVsinj6+uriRMnaty4cZLSe9Y888wzDuudPXu2Ll26pL1792rRokUaMWKEmjdvLi+vvH30Gjp0qNlDqnfv3vruu+9Uv359u2XLlCmjgQMHqmvXrtnWt2fPHn388cfm+rJly9ShQwebMkFBQfroo4906623Skr/ZfL48ePzdB723HLLLeby5MmTdfnyZbe34Uy3bt1srr8dO3bo4MGD+R7Hv8mFCxf04IMPKi4uTpJUunRpRUREaObMmapWrZrdY3x8fNS+fXt9/fXX+uWXX1S5cuV8jBgAcD0JDAzUtGnTdO+995rb1qxZo9jY2GyPmTp1qjmHZZ06dZz2jK5Zs6aeeuop/fnnn3rnnXfyHLMnP//Wr19f3333nUqWLGlumzp1qlvqBgDAXUhKAQCAAtW4cWO1a9fOXN+4cWO+tHvgwAH98ccf5vrrr7/usPyLL76ooKAgSdKPP/6oP//8M9uy9erVM8u6y5dffqkffvhBklSlShV98MEH8vb2zlOdc+bMMYet6dKlS7YJLC8vL7311lvm+ooVK3TmzJk8tZ1Zv379dOONN0qSzp8/X2BfoNx7770qXry4ub5v374CiePfYty4cTp69KgkydvbW2vXrjUTnK5o06aNduzYke3wmwAASNLYsWNt1h19nvz+++/N5f/+9785GjLY2bCArvLk59+wsDANHDjQXI+MjCyQH/sAAJAdklIAAKDANW7c2Fx29MtWd/rtt9/M5UqVKjn90rtEiRJq3bq1uf755597KjS75syZYy4//vjjCg4OzlN9hmHoq6++Mtetv7ywp3Xr1qpdu7ak9N5iX3/9dZ7az8zb21sTJ0401999912dP3/erW24olixYipTpoy5npCQkO8xZIiPj9d7772nrl27Kjw8XMWLF1fp0qVVv359jRo1Slu3bi2w2FwRGxurjz76yFwfM2aMWrVqleN6ypUr53JS6vjx43rppZfUsGFDlSpVSoGBgapTp45Gjx5tJsecuXTpkpYvX67HHntMt9xyi0JCQuTr66sSJUqoVq1a6tOnj1auXGkzD0l2Fi9eLIvFIovFogEDBkhKv38++eQT3XPPPapRo4b8/f1lsVi0evXqLMefPXtWEyZMUKNGjVSyZEkFBwerbt26+u9//2smTI8cOWK2kV3vs8yOHTumV155RbfddptCQ0Pl5+enMmXKqHHjxnrqqafc3kMwIz7rXgE7duzQ0KFDdeONNyooKEilS5dWs2bN9Nprr5nzw7gqOTlZH330kXr16qUaNWooODhYgYGBql69uh566CF98cUXTuf5i4iIMGNs3769uf2bb77RQw89pNq1aysoKEgWi0XTpk3LUXwZqlWrZrZx5MgRSdLBgwf1+OOPq169embczZo103vvvafk5OQsdURGRppJ/ICAAIWEhKhr16768ssvcxzPTz/9pGHDhplzEvr5+Sk0NFRdu3bVzJkzlZiY6FI9x44d06RJk9S2bVtVqFBBfn5+Cg4OVvXq1dWiRQsNHDhQy5cv19mzZ7OtIzk5WUuXLtV9992nGjVqKCgoyIzn5ptv1l133aV33nnHZv5De3bs2KE33nhD3bt3N+vx9fVVhQoVdOutt+qFF17IMredM4ZhaPny5brzzjtVqVIlFS9eXFWrVlX37t312WefmddW+/btzdc3IiLCab3uuG5dkRHXpEmTzG2TJk2yuS8zv0/Zc/bsWb355ptq166dKlWqJD8/P4WEhKhx48YaN26cwx/r5Afrz5KS48+Tx48fN5erV6/usZic8eTnX+u/t6mpqTm+7gEA8KgCHTwQAAD8K7k6pn6G559/3ma+GUfcNRfO5MmTzXpuueUWl44ZOnRontrOyfxG1k6dOmV4eXmZx546dSrHbWd24MABm/kGYmNjnR4zZMgQs/zDDz+c5xisr5M5c+YYaWlpRoMGDcxtzzzzTLbHemJOKcMwjKSkJJt5Jn766adcnJl91s+3szmlvv76a6NixYp259yyfvTp08dISEjIcSz5MafUyy+/bLbh5eVlHD161K31Z55T6osvvjBKliyZ7XPl7+9vrFmzxmGdn3/+uc3r7+jRqFEjp3NZLVq0yOY6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heann35qM79Hdl9cjBgxwizTu3dvl+L4888/bWI4e/asy+dgT3ZJKcMwbObdGTp0aJZjc5OUcuVRrVo14+uvv87TeWXH2ReWFy5csPkS9PPPP3dYX2pqqnHTTTeZ5Z999lmXY/F0Uipz0nf16tVub8P6tb377rsdlk1LS7OZo8vRL+hdZd3b8KuvvrJbJnNS6ptvvnFab9OmTc3y48ePd1g2NTXVuPHGG83y2SWlxo4da5Z55ZVXnMZgGLZJkR07drh0THasn4O2bds6LW/dO7RRo0ZZ9v/+++/m/htuuMGlOWyWL19uHmOvZ2HmL8DdOc9MButrtmfPng7LLly40Cae9957z2F56wTSjBkzsuxPSkoyypcvb0jpSWxHyc4MMTExhsViMaT0hGrmfY5eI1d16dLFrMdej0BPSElJMX9k0qRJE7tlZsyYYcZVo0YNp9fYa6+95vQ93hPXbU7kNCmV+W++s/eB+Ph4m3nw5s6dm6d4nSWlkpKSjOjoaGP27Nk2CamKFSu6lEw6dOiQzTyW2T0qVapkjB071mEP2gz59fnX0d/tPXv22Hw2kNzT4xUAAHfKfqIBAAAAN5g0aZIsFovNo2TJkmrXrp0++eQTSVLZsmU1efJkTZ06Nd/islgsev755831b775Rv3799fFixdtyiUlJWnSpEmaMmVKljoy5nvxtISEBJt1b29vff3113bn+OjVq5cWL15srm/YsEERERFZyl29etVc9vX1dSkOPz8/m3VPnv+rr75qLi9atEh///23x9qyduTIEd1///0aO3aszXOUH3799VdzPqOyZcuqR48eDst7eXlp0KBB5vr69es9Gl9OxMXF2awHBQV5tL0HH3zQ4X6LxaKGDRua60eOHHFa58WLF/Xtt9/qnXfe0fPPP6///ve/GjVqlPn4/vvvzbK///670/pKly6trl27OiwTFxennTt3mut9+vRxWN7Ly0sPPfSQ07a/+eYbc/k///mP0/KS1LFjR3N506ZNLh3jikceecRpmf79+5vLu3btyjI3ivX5PPjgg/L29nZaZ07Ox2KxqHfv3k7rzIv777/f4f769evbrN93330ul4+Ojs6yf/v27Tp9+rQkqVWrVqpatarTGENDQ1WnTh1J0p49e2z+PpYrV86cg2f37t3auHGj0/rssZ5rbvbs2bmqw57du3dryZIlmjRpkp588kmbe3fMmDHmfEe7d+8252y0Zv13s1evXk6vMUfzeGXw9HXrbtZ/Uxo2bGgzr6Q9gYGBNu9H7v6blPmzpK+vr6pXr64RI0aYczN16tRJERERuvHGG53WV6tWLe3YsUPz5s1T48aNsy134sQJTZs2TfXq1dMLL7xg93qxx5Offw8dOmRzTY8aNUqDBg1Sq1atdPPNN9vMe9qrVy+nfyMBAMhvPgUdAAAAKNq8vb01efJkDR48OMfHtmvXzm7CxVWPPvqovv/+e61cuVKS9OGHH+qLL75Q+/btValSJV24cEEbN27UqVOnJEl33323vv76a/P44ODgXLedE8WLF7dZv+++++xORp6hV69emjJlirZv3y5J+uSTT9S+ffts68xuAvrMMhImGTw5KXjbtm3VpUsX/fDDD0pOTtakSZO0ZMmSPNW5aNEiDRgwwGabYRiKj4/XoUOHtHr1ar377rtKSEjQ9OnTtWvXLn333XcuJ+3yyjoZccstt8jHx/lH9datW9scbxhGvk8ub0/meyM+Pt6j7TVo0MBpmbJly5rLly5dyrbc8ePH9eyzz+qzzz7Lcs1n5+zZs07LNGrUSF5ejn8TuGvXLvMLzxIlSrj0xWrz5s0d7j937pwOHjxork+dOtWla+TPP/80l48dO+a0vKscvXdlqF27tsqWLatz587JMAz9/vvvNkn4LVu22CyPGjXKaZ2GYZjLzs6nWrVqKlOmjNM68+Kmm25yuL906dLmcsmSJRUWFuZy+cuXL2fZb/2cnT171qXnTJKZiDIMQzExMSpVqpQkqVixYurZs6eWLVum1NRUde7cWQ888IAeeOABtWvXzuZ+c6R3795asGCBJGnevHnatm2b+vfvr65du5oJsZxYsmSJXn/9dZtr3pHk5GRdunTJ5vmTbBPNLVq0cFpP1apVVa5cOZ05cybbMp6+bt3N+m+S9d8aR1q3bq0ZM2ZIkqKiojwSV3ZuvfVWffjhhwoNDXX5mGLFimnIkCEaMmSIoqOjFRERod9++01RUVH6448/bD4fJScn6/XXX9fx48fz/HlEytvn39jYWM2aNcthGYvFojFjxujNN98sFJ8LAACwRlIKAAB4VPPmzW2+0ImPj9c///xj9gpJTU3Vo48+qr///luvvfZavsf38ccfq2LFipo5c6YMw1BcXJxN4inDQw89pPHjx9vsy/hyztMy9zLp2bOn02N69uxpJqV+/fVXh3W62uMpczlP93559dVX9cMPP0iSli5dqmeffVZ169Z1axsWi0XBwcFq0qSJmjRpogcffFCtW7dWXFycIiIi9MYbb2jChAk2xyxdulS//fabw3pffvnlHH+pbf1lpiu9GKT0L88zJCUlKS4uTiVKlMhRu56Q+dwz90B0t5IlSzotU6xYMXM5OTnZbpmdO3eqU6dOWXrmOJO5Z5g95cqVc1rGOrkVHh7uUtvOkhUnTpywWc9Nb5ScPh+OWPeMcaRy5co6d+6cJGX5oj+jV4Qk/fzzz/r5559zFIOz83HltcorZ9esdVLalevbury969v6OTtw4IAOHDjgSpg2Mj9vU6dOVVRUlPbv36/k5GQtX75cy5cvl8ViUZ06dXTbbbfp9ttv11133ZXlxxUZunTposcff9zsKbJz504zGRISEqLWrVurffv2uv/++1W5cuVsYzMMQ4MHD9aiRYtyfF5xcXFZklK5vRcdJaU8fd26W17/JrmSrM+JkSNHmstpaWk6ceKE9uzZo7/++ktS+medli1bKiIiQjVq1Mhx/dWrV1f16tU1cOBASemfeSIiIvTBBx/oiy++MMt9+OGHuueee5z2Xszvz7/FixdXqVKlVKdOHbVp00YDBw7M1fMAAEB+ICkFAAA8qlu3bpo4cWKW7SdPntQTTzyh5cuXS5Jef/113XzzzR4fMimzYsWK6b333tOwYcM0b948RURE6OjRo7py5YoqVqyoli1bavDgwbr99tttemX5+PioQoUK+RJj5l+c16tXz+kx1mViYmIc1pnRE8yZkydPmssBAQFZhvNztxYtWqhHjx766quvlJaWpgkTJmjFihUebbNBgwYaPXq0Xn/9dUnSe++9p+eee86mt9SPP/7o9FfSTz31VI6TUta9iQIDA106JnO5wpKUqlChgooXL24OgWjd68YT3PEr8GvXrun+++83v/itUKGChg0bpg4dOqhmzZoqU6aM/P39zbYWL15sfnnpynBOrvQstL4GAgICXIrb2bXiqFeYq1JSUvJcR4bcnFfmpF9ezyk1NdXhfk/2As2Qk2vWHde3J66D8uXLa9u2bXrnnXc0b948M+liGIb27dunffv2ad68eSpdurSefvppjRs3zu6Qde+++646dOigN9980+ZHFGfPntWXX36pL7/8Uk888YR69uypd999126C5IMPPrBJSHXv3l29e/dW48aNFRYWpoCAAJv38WrVquno0aOS7N+/hfFedHbdulte/ya5kqzPiZkzZ2bZZhiGvvrqKw0cOFAXLlzQsWPHdN999ykyMjLPvZz9/f1155136s4779Rnn32m//znP+ZrMH36dKdJKU9+/s3rSAEAABQ05pQCAAAFomLFilq6dKnNHCsjRozI918CZ6hXr56mTZum33//XRcuXNC1a9d09OhRffrpp7r99tslSdu2bTPLN2jQINtffrtb5iGMXOmhZF3G3hdD1sOCZXwx58w///yTbUye8sorr5hfyH722Wcuzd2TV9bX5Pnz522GMPIk69cs8zxi2clcLr+GlHSmWLFiuuWWW8z1rVu3FmA0rvn888/NuXjCw8O1a9cuTZw4Ue3atVN4eLgCAgJskgPu/sJVsv1C98qVKy4d4+xasa6zVKlSMgwjxw/reeryKjfnlfm6tj6n1atX5+qcihrr52zs2LG5es4yDwMrpb9vTZgwQceOHTMTVPfee69CQkLMMhcuXNBzzz2n+++/P9vn/u6779bmzZt1/PhxLV26VI899pjNjysMw9CqVavUtGlTu0Pzvf322+bya6+9pq+//lp9+/bVTTfdpFKlSmVJUDi7fz19L14P121e/yblx98ji8Wie+65R6tXrzaHR921a5feeOMNt7bzwAMP2MzhuGXLllwn6wvb518AAAoCSSkAAFBgvLy8NH/+fPOLmvPnz5s9VAoj60m7b7311nxrN/OE9658GW5dxt7QT9bD4J08edKmF1R2rOeHcPcwetm5+eabzQm6DcPQSy+95PE2K1WqZLOeOWm3ePFip18cWg9h5CrrIcOsE4COWMfm6+tbaJJSktSxY0dzedOmTfk+H0pO/fTTT+by448/7rQnpKvJ3Jyw/iLfXg9He5yVsz6PixcvOhxeLD+4em1bXy/Wz4tke06HDh1yT2D/cp5+zry8vNSsWTM98cQT+uKLL3Tq1Clt2rRJ9957r1nmyy+/1Oeff+6wnrCwMD388MOaO3eu9u7dq2PHjumVV14xPyecO3dOTzzxhM0xx44dM88po1eWI5cvX3aaALC+5o4fP+6wbIac3IvXw3Wb179Jme9bT2rbtq3NHF1vv/22y73AXXXnnXeay8nJyebworlxvX3+BQDA3UhKAQCAAhUeHq6xY8ea6zNnznQpQZLfTp48qe+//95c79evX7613bJlS5tfWLsyFJp1GXvzcNSuXdtmngxXhoHZsGGDuWydcPC0l19+2Rzyac2aNR7vdZP5V/EZv772tMaNG5vLkZGRLg3VtHnzZpvjC9Nk5oMHDzZ7J6Smpmr69OkFHJFj1vO93HTTTU7Lb9y40e0xNGzY0HwNL1265NK8P9Y9OO2pVKmSzTxO1u9jBWHLli1Oyxw6dMj8wtdisdjcG5JseuF999137g3wX8r6OduwYYOuXbvm0fa8vLzUunVrrVq1yqZHyFdffZWjesLDw/Xiiy/qgw8+MLd9//33NvFb37s33nijzfxa9mzatMlpr6NGjRqZy5GRkU7jPHr0qNOEb0Fftzn9+2B939mbm9Ie679JTZo0yVF7eTV+/Hhz+Nr4+Hi395bK3Ds+r0MYXy+ffwEA8ASSUgAAoMA9+eSTZg+Pq1evasqUKQUcUVYTJkwwkwSNGjWy+XLJ0/z9/XXHHXeY69YTbmfHuky7du2y7LdYLOrRo4e57mx4ri1btphDJnl5eenuu+92GoO73Hjjjerbt6+5/uKLL3q0PeseYVL6L/fzw6233mp+yXXmzBmtXbvWYXnDMGzmtsrPRKErwsLCbF63adOm5SqheObMmXwZttE6+ehsuK4dO3Y4TQblRokSJWy+CF62bJnD8mlpaea8JI7cdddd5vK0adMKdPi6jz76yGkZ6/ejhg0bqnTp0jb7u3fvbi7/9NNP2r17t9vi+7dq3bq1SpUqJSn9C3vrJI8nWSwWm+svt71XrF/z5ORknT9/3lzPyb0rSXPmzHFaxnqowhUrVjj9kcDHH3/stM6Cvm6tkyrJyclOy1v/Tdm5c6d27drlsHxiYqI++eQTu8fnh7Jly2r06NHm+rx589zaW8r671BwcLB5P+XF9fD5FwAATyApBQAAClzp0qVtvkiYO3euzp49W4AR2Vq5cqXmz58vKf0Ltvfeey/fYxgzZoy5vGrVKv3222/Zll2xYoV27Nhhrvfv399uuWHDhplf5n333Xf64Ycf7JZLS0uzGQ6pV69eNsP65IcJEyaoWLFikqQff/zRpteWO6WkpNhMpl6iRAk1a9bMI21lVqpUKZuJzseNG+dwqMZZs2aZXxJ6eXlpyJAhHo8xp9566y2zp15qaqruuuuuHCWmNm7cqCZNmuRLUqpGjRrm8pdffpltuStXrmjo0KEei2PgwIHm8tSpUx0OEzh37lyXelM9+eSTZm/D7du3a9KkSS7H4+5f7m/cuFGffvpptvsPHTqkadOmmeuPPvpoljItWrQwkwaGYahv3766fPmyS+0nJSUVyblb/Pz8bHplPP/88zlKimT+cj8uLk5JSUkuHWs99Fvmvx2u/q23rsPLy0tlypQx16tXr272AtqzZ48OHz6cbT2ffvqp1qxZ47S9Pn36mD8S+Pvvvx3+3Y+JiXEpmVDQ123ZsmXNZVeGB61Tp47atm1rro8ePdphMuull17S6dOnJaX/7ezTp08eos2dJ554wkzyJCYm6p133rFb7vHHH3fpvTPDqVOnbK4B6x8K5UVh//wLAICnkJQCAACFwhNPPGFOqn3lyhW9++67+dJuv379FBERobS0tCz74uPjNWHCBD388MPm/jFjxui2227Ll9is3XbbbbrnnnskpSeJevToYXfIvZUrV2rAgAHmeu/evW2GIbLWoEEDPfzww+b6Qw89lKXOhIQE9e/fX5s2bZKUPm/RK6+8kqdzyY3q1atr8ODB5rqjpFxunThxQg888IBNT6nRo0ebybD8MGHCBPM+OHjwoLp27aq///7bpkxaWppmzJhh8wXzyJEjVb169XyL01Vly5bVypUrbeaDadu2rcaMGZNtsiUlJUUbNmxQjx491K5dO5fnc8kr614MH374od55550svSP++usv3X777YqKirIZUtOdBg0aZL6WcXFx6tKli90eCh988IHGjBnj0hBSNWvWtOlhOGnSJA0YMCDb5zY1NVU//vijHnnkEbcPweXr66sBAwZo6dKlWfZFRkaqS5cuZm+X2rVr29z31mbMmGHeK3/88YdatGihH3/8Mdt2//rrL7322muqXr26zRBjRcmTTz5pDk0ZFxenNm3a6IMPPsg2uXTu3DnNnz9fTZs2zZJ02bFjh6pWraoJEyZo7969do9PTU3Vxx9/rBkzZpjbunXrZlOmVatWeuihh/TNN99kG8e+ffv0yCOPmOudOnWyue5DQkLM3stpaWl68MEHsyQc0tLSNGvWLPXr10/e3t5ZhmLLrGzZsjY/Bhk3bpxmzZqVpZfh3r171aVLF128eNGle7Egr9sGDRqYy999950uXbrk9Jg333zTTGj/8ssvuv/++83EU4akpCS98MILNgkg679l+alMmTIaOXKkuT5nzhy7cz8tX75c9erVU/fu3bVy5UrFx8fbrc8wDK1bt06tW7c2E/ReXl565pln3BZzQX3+BQCgIDkebBkAACCflC1bViNHjtTkyZMlpY+tP27cuCzDNrnbypUrtXTpUpUtW1bNmjVTWFiYDMPQsWPHtGnTJl29etUsO3DgwGx/dWtt+/btdn/dbz3vxfjx4216A0hSs2bNzB5Z9ixcuFCtW7fW/v37debMGXXo0EFNmzbVzTffrNTUVG3btk379u0zy9erV0/z5s1zGOvMmTMVFRWlvXv36ty5c+rQoYNatmypevXq6dKlS/r5559tfp09b9481apVy9lT4BEvvviiFi9ebPOa5MTSpUu1ffv2LNsTEhJ08OBBRUZGKiUlxdx+66236vnnn891vLlRo0YNzZ8/Xw8//LBSU1O1ZcsW3XjjjbrttttUs2ZNJSQk6JdffrFJJrRs2VJvvfVWvsaZE7fccos2bdqku+++W8ePH1dSUpLee+89vffee6pTp47q1KmjkJAQXb16VSdPntSOHTuy9AjI+OW7J3Xt2lXt2rXThg0bZBiGnnrqKc2aNUtNmjRRyZIldejQIf36669KTU1VWFiYxowZY9OD0F0CAgK0ePFi3X777bp27ZoOHTqkxo0bq1WrVqpTp46uXr2qX3/9VUeOHJEkvfPOO+aX547mP5swYYKOHDliDvm4ZMkSLV26VI0bN1adOnUUFBSky5cv6+jRo9q1a5f5Ja117wp3mDJlisaMGaN+/fpp4sSJatWqlXx9fbV3716bXnQBAQH68MMPs00e1K9fX8uXL1fv3r115coVHThwQF26dFHlypXVvHlzhYSEKCkpSWfOnNGuXbvyLblZmAUFBemrr75S586dFR0drcuXL2vo0KEaN26cWrVqpbCwMFksFp0/f1779u3TgQMHzB9kdOjQIUt9J0+e1Msvv6yXX35ZFSpUUOPGjVWxYkX5+PiY9/KJEyfM8rfddpv+85//2NSRnJysTz75RJ988on8/f118803q0aNGipRooQuXLigw4cP2/T89ff319tvv50llldffVW333670tLStHPnTjVo0ECtW7dWjRo1FB8fr19++cWM5bXXXtO8efMc9kKUpIkTJ+qnn37Sjh07lJqaqlGjRumtt95S69atFRAQoIMHD2rz5s1KS0vTfffdp3Pnzpm9eLO7Fwvyum3evLmqVKmif/75RydPnlSdOnV0++23KyQkxOxp1rx5c5seu61atdKbb76pcePGSZK+/vprValSRR06dFDlypV14cIFRURE2PTu6dmzpx5//HG3xZ1TTz75pGbMmKGEhATFx8dr2rRpdn9Mk5aWprVr12rt2rXy9vbWTTfdpFq1aqls2bIyDEMnT57U9u3bs/QWfeutt9S0aVO3xVtQn38BAChQBgAAgJu1a9fOkGRIMiZMmODycadPnzYCAwMdHjthwgRzf7t27fIcq5+fn1lfdo8SJUoY7733npGamupSnevXr3dap72HK+cTExNjdOnSxWld3bp1M86fP+9SvDExMUbHjh0d1hcUFGQsXLjQpfpcZX2dzJkzx6Vjxo4dmyW2/v37Z1u+atWquXotBg0aZFy+fNlNZ5rOuv7169c7LPv1118bFSpUcBrnQw89ZCQkJOQ4FnffR644c+aM8fjjjxvFixd3+XVo06aNERERYbc+69c2Ojraafv9+/c3yy9atMhumZMnTxpNmjRxGFO9evWMvXv3GosWLXJ6DbpSJjvr1q0zypYtm20cvr6+xty5c42DBw+a226++Wan9c6YMcMoXbq0S8+/xWIxevTokaO47bGu0zDSrz+LxZJtuxUrVnR6j2T4/fffjaZNm7p8TVWrVs3YuXNnlnqs37c9dU/k5JqNjo42y1atWtVp3Tm51s6dO2c8+OCDDl8D60epUqWMxYsX29Tx22+/GT4+Pi4/7w888IDd99T69eu7XEf16tWNzZs3Z3tec+bMcRiTl5eXMX78eCMtLc3l1+LcuXNG27ZtHcZ19913G5cuXTJuvfVWc1tUVJTD18Bd121OrV271uHnnuyunfnz5xslSpRwGKO3t7cxZswYIyUlJc9xGkbWz1I5MW7cOPO4kiVLGhcvXrTZP2LECJffBzMe4eHhxmeffeaw3evp8y8AAAWJnlIAAKDQKFeunIYPH27+Cnr69Ol64oknVKJECY+1uXHjRv3444+KiIhQdHS0Tp8+raSkJFWoUEG1a9fWPffco969e+f7HErZCQ0N1ffff681a9bo448/1rZt23TixAlZLBZVqlRJt912m/r27ZujCcZDQ0P1448/6osvvtDHH3+sqKgonThxQkFBQapSpYruvvtuDR48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WlqaLl26pKioKL377ruqX7++3n//fY+1dz0zDEMvvviibr75Zr399tvavXu3Ll68qKtXr+ro0aP66aef9MILL2j16tUu15mWlqahQ4eaCam8SkhI0KFDh/Thhx+qQ4cOGjx4sFJTU91SN9IV+Z5SZ8+eVZcuXfT3339LkmbMmKFHHnnE6XH16tUzl51NCma9v27dulnq+fzzz81yLVu2tFtHSkqKDh8+bLcO5I8sSal4klIAAAAAAAC4DhzdIlVtlX/HFSKGYWjChAlatWqVW+pbuHChmjdvbq6npqbqxIkTWrdunebMmaOkpCQNHz5ctWvXVseOHd3SpjuFhYU5TNJ17dpVsbGxCg0N1XfffefWtocOHar58+dLkho2bKjBgwerYcOG8vf317Fjx/Tnn3/qs88+k8VicbnOmTNnauvWrSpfvrxOnz6do3iGDx+uESNGmOuGYej8+fPasmWLpk6dqtOnT2vhwoUKDw/Ptqcccq5IJ6UuXbqkrl276s8//5Qkvfnmmxo5cqRLx1avXl2hoaGKjY3Vhg0bHJbNGGs5LCwsS7fDNm3amMsbNmzINim1fft2c/i+1q1buxQj3Cs0KNRmnaQUAAAAAAAACr31b0gb3pQ6T5TaPO76cZumSj9OlNo9K3V4zlPReVRISIjOnj2rL774QlFRUWrSpEme66xevbrq169vs61hw4a644471KhRIw0aNEiGYWjKlCmFMilVrFixLPFn3u9KuZxauHChmZAaO3as3nnnHZuh7Jo3b6777rtPL774opKSklyq8/jx43rxxRdlsVg0ZcoU9e/fP0cxlS9f3u45tmvXTj169FCzZs2UmJioadOm6cUXXzSfG+RNkR2+78qVK7rrrrsUFRUlSXrhhRf0zDPPuHy8xWLRPffcIym9h9Nvv/1mt9xvv/1m9pS65557smR527dvr5IlS0qSlixZku1YnNZjYDobWhCeER5sOzdXTHyM0oy0AooGAAAAAAAAcOLolvSElJSeYNo01bXjMhJSUvrxR7d4IjqPGzNmjDkNyoQJEzze3sCBAxUSEiJJ2rp1q8fbu17ExcXpqaeekpT+ffjUqVMdzq3k6+vrUr0jR45UXFycBgwYoLZt27ol1gz16tXTXXfdJUm6fPmy9u3b59b6i7IimZRKSkpSz549tXnzZknpb06vvvpqjusZO3asfHzSO5uNHj1aiYmJNvsTExM1evRoSZKPj4/Gjh2bpQ5fX1/997//lZQ+wdvbb7+dpcyWLVu0YMECSelZWuvuocg/mYfvS05L1pkrZwooGgAAAAAAAMCJqq3Se0hlcCUxZZ2QktKPv06H8AsPD9fQoUMlSWvWrMmXRFHGSFlXr171eFtS+pxKS5cuVbdu3VSxYkX5+vqqXLly6tChg2bPnu1yryNP+vjjj3XhwgVJ0sSJE91S52effaavvvpKZcuW1VtvveWWOjOzHvUsv17PoqBIJqUeeughff/995Kkjh07avDgwdqzZ0+2j4MHD9qt54YbbjAzvNu3b1fr1q316aefavv27fr000/VunVrbd++XZI0btw41a5d224948aN0w033CBJevrpp/XYY49p/fr1+u233/TGG2/o9ttvV0pKivz9/TVt2jQ3PxtwVYh/iHy9bLP0sQmxBRQNAAAAAAAA4II2j7uemLKXkMrJkH+F0HPPPSd/f39J0vjx4z3e3pEjRyRJVapU8Xhb58+fV9u2bdWvXz+tW7dOp06dUnJyss6ePauIiAiNHDlSjRo10tGjRz0eiyMrV66UlD5cXrt27SSlz9908uRJHT58WPHx8Tmq79KlS2ZHj7feesvsneZuGa+llD+vZ1FRJOeUsp7U7ueff9bNN9/ssHzVqlVtLkBrr732mjnh2c6dO/Wf//wnS5nBgwc77IkVHBystWvXqlu3bjp06JDmzZunefPm2ZQpUaKEPv74YzVq1MhhrPAcL4uXQoNCdeTyEXPb8bjjaly+ccEFBQAAAAAAADiTkVjKSDhl/GudcPoXJqQkqVKlSho+fLjeffddff/999q0aZPatGnjkbaWLFmis2fPSpJ69OjhkTYypKamqnv37tqyJX1oxXbt2mnUqFGqXr26YmNjtXDhQq1evVr79u1Tp06d9PvvvysoKMijMdmTlpambdu2SZJatmyppKQkvfHGG3r//fd14sQJSelT5TRp0kRjxoxR3759s0yBk9kzzzyjEydOqE2bNho4cKBH4t6/f7/Wrl0rKX2+q4oVK3qknaKoSCal3MnLy0sLFizQ/fffr3nz5mnbtm06e/asQkJC1Lx5cz322GO68847ndZTq1Yt7dy5U7NmzdLKlSv1119/KSkpSZUrV1a3bt00ZswYVa1aNR/OCI6EBYfZJKVi4mMKLhgA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ddtttykrK0u//PKLPvvsMx0+fFgLFy7UVVddpaVLl9pROmAP9/Z9hVlSfoYUHmPZku7t+w7kHlCps1SBAYGWrQkAAAAAAAAAaLhsCaXGjRunCRMm6Pvvv9eIESP0+uuvq3nz5pXee+jQId1222364osv1KVLF02bNk2S9NJLL2nChAmaNWuWVqxYoQ8//FDXXHONHeUD1muUKMmQ5Doxl7HX2lAq2hxKlbhKdDDvoEdbPwAAAAAAAAAAvMGW9n2ffvqppk6dql69emnOnDknDaQkqXnz5po7d64uvPBCvfXWW/roo48kSWFhYXrzzTfVrVs3SdIHH3xQq5oOHTqkefPm6bHHHtPgwYMVGxsrwzBkGIbGjx9f7efNnz9fo0aNUmJiokJDQ5WYmKhRo0Zp/vz5VX5GXl6enn32WfXs2VNNmjRRVFSUOnXqpAceeEB791p/xhB8KChEim5pnrO4hV/j0MYKDwo3zXGuFAAAAAAAAADAKraEUq+++qoMw9A999wjwzBOe79hGLr33nvlcrk0derU8vmAgADdeuutcrlcWrduXa1qiouL07Bhw/T3v/9d8+fP15EjR2r0HJfLpdtvv12DBw/W3LlzlZqaqqKiIqWmpmru3LkaPHiwbr/9drlcrlM+Z8eOHerWrZseeughrV27VseOHVNubq62bNmi559/Xueee66++uqrGtWIOsL9XKkMa0MpwzA8WvilZKdYuiYAAAAAAAAAoOGyJZT66aefJElnnnlmlb9Tdu/PP/9smj/33HMlqcYhUmWSkpI0aNCgGn33kUceKQ/Ounbtqvfff1/ff/+93n//fXXt2lWSNHXqVD366KMnfUZOTo6GDh2q3377TZJ06623atGiRVq1apWeeuopRUVFKTMzU1dffXX57yXqIYd7KGX97rjEqETTmJ1SAAAAAAAAAACr2HKmVFZWliQpPT29yt8puzc7O9s0Hx5+vN1YcHBwrWp67LHHlJycrOTkZMXFxWn37t1q27ZttZ6xfft2/etf/5Ik9ejRQ8uWLSuvLzk5WcOHD1e/fv20bt06PfPMM7rxxhvVrl07j+c899xz2rJliyTpX//6lx588MHya7169dKAAQPUt29f5eXl6d5779W3335b0182/FlMK/M40/pQyv1cKUIpAAAAAAAAAIBVbNkplZR0fAfIu+++W+XvvP3225Kk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an0IDgqm/339cTE5Dpw/7ObG4JLFeLF4UY7FnoEZnVPWm0pOytRaRERERERERCR/USiVxRITE1O/N5n01y15lH/ZnK5AROSeUszXg7e71iRkVBsGt6yIp6vjqGubDYJ3n6XDhPUM/ekv9p29mqk1FHArwGsNX2Nhj4U8VPYhp33WeXkSFFCS0QULEBkyDr7tAJf1IRsRERERERERuTtKSbLYunXXFxSvXr36bfv379+f4sWL4+bmRpEiRWjcuDFvv/02YWFhWVmmyK1p+j4RkSxRxMed/3SuQcioQIa2roS3m/MpgZfuOUenzzcwaOZ2/g6LzNQayhYoy4TACUxvP51qBas5tFsMgx/9CtCldEl+ijpA0uQWEPpDSmomIiIiIiIiInIHHOdrkUxjtVr55JNPUrf79Olz22NuDLEuX77M5cuX2bp1K+PGjWPChAkMHjz4jus4ffr0LdvPnj2b+n1cXBxxcXF3fA3JXeLj451+f7cMj+J43KQtISERq14zIumS2e9NuXd4mWFYq3L0faAUM7ec4sc/TxGdkOzQb8Xe86zYe57AqkUY2qo895cqkGk11PKvxYyHZhB8PJhJf08iPD7crj3SbOaTwoWYnZjE6ytH0HT/7yR2HAuehTKthpyi96ZI7qT3pkjupPemSO6k96ZI7pSX35tZlRMYNps+5ppVxo0bx4gRIwDo1asX8+bNc9pvxowZfPDBBwQFBdGkSRPKlEkZlXL06FHmzp3LnDlzuPafacqUKQwaNOiO6jAMI919p02bRpEiRe7o/HLvc0+KoOPfLzlt21RpJBcL3J/NFYmI3NtiLbDurMG6sybikm/+73hNfysdSlsp75u514+3xbM+fj2bEjZhweK0T7PYOF68aiUyYCCXfO/L3AJEREREREREJEddunSJgQMHAnDq1ClKly6dKedVKJVF1q1bR9u2bbFYLBQrVozdu3dTvHhxp30jIyMpUKDATcOj4OBggoKCSEpKwsvLiyNHjlCiRIl016JQSjLMZqXrrucw2xwXuFcoJSKSdeIssP6cwdozJmJvEU5V97PSsYyVCpkcToUnh7MifgV/J/3ttN1ss/FwVDSdzA05U/IxrCbXzC1ARERERERERHKEQqk85J9//qFFixZcuXIFd3d3li9fTqtWrTJ0zo8++oi3334bgA8//JC33nor3cemZ/q+Ro0a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AAAAQKSMHTtW48aNMx+fPHlS3333nV588UV9//33OnjwoIYOHarvvvtOycnJAfu4+eabtWTJEklSq1atdM8996h79+6qVauWzp07pz179ujLL7/U4sWLdfz48XIZk0ejRo18QhCHw6FDhw5p4cKFmj9/vvLy8jR27FhdcsklGjp0aKljC6Z9+/bnve/5WrZsmRo1amQ+Ligo0OHDh/Xuu+/qzTffVGZmpm6++WZt3bpVbdu2LffxeatZs6Zq1qwpSUpKSqrQsQAAAADRjFAKAAAAQJVVr149v0AlLS1No0eP1tChQ/XZZ5/p6NGjeu211zRhwgS//T/++GMzkBo8eLA++OADxcXF+bS56qqrdNddd2nGjBlatGiRmjRpEtExeYuJifHrq1OnTho2bJi6du2qCRMmyDAM/eUvf7mgUKoitGnTRs2aNfNZ17lzZw0bNkzNmjXTU089pfz8fL300kuaPn16xQwSAAAAQJlw+j4AAAAA1U5sbKwmT55sPv7kk08Ctlu0aJG5/MILL/gFUt5sNpt++ctf6vLLL4/omEI1fvx4XXLJJZKkzZs3hzSLq7L4wx/+IIvFIklav359BY8GAAAAQKgIpQAAAABUS126dDGXDx06FLDNwYMHzeVWrVpFxZhCZbVafa7/9OOPP15Qf6HIyMjQo48+qrZt2yohIUH16tXTwIED9c4774T1OElJSbroooskua/JFUhaWposFovS0tIkSXv37tV9992nFi1aKCEhQc2aNdOYMWN8/o0laceOHRo9erRatGih+Ph4NWnSRGPHjq1SoR4AAABQUTh9HwAAAIBqyWazmct2e+A/jWJjY83lXbt2qVOnThU+prLw7sPpdF5wfyXZuXOnBg4cqKNHj5rrcnNztWLFCq1YsUK//e1v1adPn7AcKysrS+np6ZJkzgYryaeffqoRI0YoMzPTXHfw4EHNnj1bH374oVatWqW2bdtqwYIFGj16tPLy8sx2hw8f1owZM/Txxx/rq6++8rnOFQAAAICyYaYUAAAAgGpp586d5nLxaxd5dO7c2Vx+4IEHdOLEiQofU1ls27bNXI5kmHLmzBkNHjzYDKR+9atfacmSJdq0aZPmz5+vbt26afbs2XrllVfCcrwXXnhBhmFIkm644YYS2x45ckS33HKLatasqX/84x9av369Vq9erfHjx8tisej48eO6++67tXHjRo0aNUotWrTQ66+/rg0bNujzzz/XHXfcIckdYj388MNhGT8AAABQXTFTCgAAAEC1NGXKFHN55MiRAduMGTNGU6ZMUXZ2tr788ks1bdpUQ4cOVd++fXXFFVeoc+fOJV5nKhJjCtX777+vXbt2SZJatGihJk2aXFB/JXnqqad0+PBhSdJf//pX/fGPfzS3de3aVSNHjtT111+v5cuXh9zn999/r6ysLPOxw+HQ4cOH9f7772vu3LmSpKuuukpjxowpsZ89e/aodevW+vLLL1W3bl1zfe/evRUTE6O///3v+vLLL3Xdddfpiiuu0PLly1WjRg2zXVpamnJzc/XOO+/ovffe04kTJ3z6AQAAABA6ZkoBAAAAqDbS09O1Zs0aXXvttVqwYIEkqVevXvr1r38dsP0ll1yit956S0lJSZKknJwc/fe//9X48ePVq1cvpaamqm/fvpo6dapOnTpVLmMqidPp1IEDB/Tss8/qtttuM9dPnDjxvMYWiry8PM2ZM0eS9Itf/EKTJk3yaxMTE6NZs2YpJiYm5H4HDx6sDh06mLfOnTtr2LBhmj17tho0aKCpU6fq008/DSkUfPnllwMGSePGjTOXT548qZkzZ/oEUh5jx46V5A7G1q5dG/JzAAAAAOCLUAoAAABAlfXkk0/KYrGYtzp16qhPnz76+OOPZbfb9Zvf/EZLly4tMSy5/vrrtXPnTt1///2qXbu2z7a8vDytXr1aDz/8sFq2bKl58+aVy5g8Dh486NOX3W5X8+bN9dhjjyk3N1eSO1C59957S+3rfG3evFkZGRmSpDvvvFNWa+A/Mxs3bqxrrrkmLMc8cuSI5syZo6VLl5batmbNmho8eHDAbc2aNVNKSookd6DWrl27gO06duxoLu/fv/88RgwAAABAIpQCAAAAUE21adNGEydONEOJkjRp0kT//Oc/dezYMa1fv14vv/yyRo8erdatW5ttTp8+rTvvvNOcNRTpMZUkKSlJQ4cO1ZIlS8J2Hadgtm/fbi537969xLY9evQIud8ffvhBhmGYN5fLpfT0dH388cfq16+ftm3bphEjRuif//xnif20bt1aFosl6PbU1FRJ7tc+mJo1a5rLmZmZIT8HAAAAAL64phQAAACAKmvs2LHmKdocDoeOHDmixYsXa/bs2dq5c6fS0tL01Vdf6dJLLw2pP7vdrh49eviEK5s3b9b48eO1Zs0aSdKECRM0cuRIJScnR3xMjRo10rJly3zGl5KSogYNGgSdsRRunllSklSvXr0S29avX/+8j2OxWFS7dm0NGTJEgwYNUv/+/bV69Wo99NBDGjRoUNDXK9Dp+Lx5XqeS2nm/lk6n8zxGDwAAAEBiphQAAACAKqxevXpq37692rdvr06dOunaa6/VjBkz9P7778tqterUqVO67bbbLiho6Nq1q5YuXapWrVpJcoc0n376abmMKSYmxuyrffv2atu2rRo1alRugZQkGYZhLpc0I6l42wths9n08MMPS3IHe6GcNhEAAABAxSOUAgAAAFDtXHfddbrvvvskSVu2bNHcuXMvqL/ExETdeuut5uO9e/dW+JjKi/d1to4dO1Zi2+PHj4ftuG3btjWXvU8hCAAAACB6EUoBAAAAqJaeeOIJJSYmSpKefPJJ5efnX1B/jRo1MpfPd6ZSuMdUHjp06GAub9y4scS2pW0vC4fDYS4XFBSErV8AAAAAkUMoBQAAAKBaqlevnu69915J0qFDh/TGG2/4tSnL6eY2bdpkLjdv3jxiY4o2Xbt2Va1atSRJb775ZtDX7KefftLy5cvDdlzvgKtJkyZh6xcAAABA5BBKAQAAAKi2/vCHPyg+Pl6S9Nxzz/ldx2ns2LH661//qlOnTpXYzyeffGIGSImJiRo4cGDExhRt4uLiNHr0aEnSN998o7///e9+bRwOh+65556wzfzKyMjQs88+az6+9tprw9IvAAAAgMgilAIAAABQbTVo0EBjxoyRJO3fv1/z58/32X7y5En96U9/UsOGDXXTTTfppZde0qeffqqvv/5aGzdu1IIFC3TrrbdqyJAh5unknn76aaWkpERsTNHo8ccfV+PGjSVJkyZN0m233aalS5dqy5YtWrhwoa688kp9/PHH6t69e8h9fv/999qxY4d52759u1avXq0pU6aoU6dO2rNnjySpd+/euvHGGyPyvAAAAACEl72iBwAAAAAAFWnSpEmaOXOm8vPz9de//lW33367eU2oiy++WJKUn5+vRYsWadGiRUH7iY+P15NPPqnx48dHdEzRKDU1VUuXLtXAgQP1888/a8GCBVqwYIFPm9GjR6tv377mrKrSDB48uNQ2/fv317vvviuLxXJe4wYAAABQvqL3rxoAAAAAKAdNmjTRnXfeKUnavXu33nvvPXPbSy+9pIMHD+rVV1/Vb37zG3Xq1Em1atWS3W5XQkKCGjVqpIEDB+qZZ57R999/r4kTJ0Z8TNHq8ssv17fffquJEyeqdevWiouLU506ddS/f3/Nnz9fs2fPvuBjJCUlqXXr1rrtttv0v//9TytWrFDt2rXDMHoAAAAA5cFilOXKvQAAAACAamHy5Ml68sknJUn82Ri6AwcOqHnz5pKkOXPm6K677qrYAQEAAABRhNP3AQAAAABKtGPHDnO5efPmSkxMrMDRRJ/Tp0/r8OHDkqQjR45U8GgAAACA6EUoBQAAAAAoUYcOHczlzz//XGlpaRU3mCi0aNGikK+VBQAAAFRnXFMKAAAAAAAAAAAAEcc1pQAAAAAAAAAAABBxzJQCAAAAAAAAAABAxBFKAQAAAAAAAAAAIOIIpQAAAAAAAAAAABBxhFIAAAAAAAAAAACIOEIpAAAAAAAAAAAARByhFAAAAAAAAAAAACKOUAoAAAAAAAAAAAARRygFAAAAAAAAAACAiCOUAgAAAAAAAAAAQMQRSgEAAAAAAAAAACDiCKUAAAAAAAAAAAAQcYRSAAAAAAAAAAAAiDhCKQAAAAAAAAAAAEQcoRQAAAAAAAAAAAAijlAKAAAAAAAAAAAAEUcoBQAAAAAAAAAAgIgjlAIAAAAAAAAAAEDEEUoBAAAAAAAAAAAg4gilAAAAAAAAAAAAEHGEUgAAAAAAAAAAAIg4QikAAAAAAAAAAABE3P8HLmso7RSLwLIAAAAASUVORK5CYII=", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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OWjbtq3a90BbBw8elJvzQJ2xY8di7NixOo8jMjJSbnJpTXz11VelNiRaWfjhhx/w/vvvQyqV4saNG6hXrx5atmyJ9957D2lpaTh37px4jMydOxdr165V2RtCX0aOHIkjR45g7969APInBg8KCkL79u1ha2uLqKgonDlzBrm5ufDx8UGNGjXUDiemT9988w2CgoKQmZlZrP23bt2Kq1evFnn+9evXuHfvHkJCQpCbmys+36JFC3z99dfFjrc43nvvPaxfvx6DBw9GXl4eLl26hFq1aqF169aoVq0aXr9+jXPnzsklE3x9fbFw4cJSjVMbzZs3x/nz5/Hhhx/i6dOnyM7Oxi+//IJffvkFXl5e8PLygpOTEzIzM/HixQtcu3atSI+Agjvf9alLly5o27Ytzpw5A0EQMG3aNKxcuRKNGzeGra0tIiMjcfHiReTl5aFy5cqYPHkypk+frvM4LCwsEBQUhPfffx9ZWVmIjIxEo0aN4OfnBy8vL2RmZuLixYuIjo4GkN8TueDiuar5z2bPno3o6GhxyMdNmzZh69ataNSoEby8vGBlZYWUlBQ8evQIt27dEi/Syvau0IWffvoJkydPxpAhQxAYGAg/Pz+YmJjg9u3bcr3oLCwssHnzZqXJg7p162L79u0YMGAA0tPTcffuXXTu3Bnu7u7w8fGBk5MTsrOz8fLlS9y6davUkpvlmZWVFQ4ePIhOnTohKioKKSkp+OyzzxAQEAA/Pz9UrlwZEokEr169wp07d3D37l3xhh3ZIV8LvHjxAt999x2+++47uLq6olGjRqhQoQKMjIzEc1n276HWrVvj448/lqsjJycHO3bswI4dO2Bubo769evjvffeg42NDRITE/HgwQO5v9PMzc3x888/F4lFH7+7gYGBOHnyJK5du4a8vDxMnDgRCxcuRMuWLWFhYYF79+7hwoULkEql6NOnDxISEsRevMrOxbI8bn18fFClShU8fvwYL168gJeXF95//304OTmJf/f6+PjI9dj18/PD/PnzERAQAAA4dOgQqlSpgvbt28Pd3R2JiYkIDg6W693Tu3dvfPHFFzqLW1tffvklli9fjtevXyMtLQ1Lly6VG72hgFQqxZEjR3DkyBEYGhqiTp06qF69OhwdHSEIAl68eIGrV68W6S26cOFCNGnSRGfxOjo6YsKECViwYAGA/LmlAgICigxb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8blRo0bBwcGhNMMkeuuNHz8eQUFBSEtLU7j9ypUraN26NaKiogAAFStWxCeffFKaIRIREZEGOKcUERERERERkRLR0dHw9PQEAFSoUAGNGzdGxYoVIZFI8OzZM1y6dAmJiYlieS8vL4SGhsLKyqqsQlaJc0rRm6pdu3Y4c+YMzMzM0KhRI1SvXh0WFhZITk7GjRs3cPfuXbGskZERDh06hA8++KAMIyYiIiJFmJQiIiIiIiIiUkI2KaVOhw4dsHPnTjg5Oek5quJjUoreVAVJKXVcXFywadMmJqSIiIjKKSaliIiIiIiIiFQICQnBoUOHcOnSJcTExCA+Ph5JSUmwtrZGxYoV0bJlS/j7+6NTp05lHapaTErRm+rFixfYt28fgoODce/ePbx8+RIJCQkwMDCAo6MjGjRogA8++AAjRoyAhYVFWYdLRERESjApRURERERERERERERERHpnUNYBEBERERERERERERER0duPSSkiIiIiIiIiIiIiIiLSOyaliIiIiIiIiIiIiIiISO+YlCIiIiIiIiIiIiIiIiK9Y1KKiIiIiIiIiIiIiIiI9I5JKSIiIiIiIiIiIiIiItI7o7IOgMpeZmYmwsLCAADOzs4wMuJhQURERERERERERET0rsrNzcXLly8BAPXq1YOZmZlO6mX2gRAWFoZmzZqVdRhERERERERERERERFTOhISEwMfHRyd1cfg+IiIiIiIiIiIiIiIi0jv2lCI4OzuLyyEhIahYsWIZRkO6kJGRgbNnzwIA2rRpA3Nz8zKOiIgAnptE5RXPTaLyiecmUfnEc5OofOK5SVQ+vcnn5vPnz8UR1mRzCCXFpBTJzSFVsWJFuLm5lWE0pAsZGRlwcnICALi5ub1RX3ZEbzOem0TlE89NovKJ5yZR+cRzk6h84rlJVD69LeembA6hpDh8HxEREREREREREREREekdk1JERERERERERERERESkd0xKERERERERERERERERkd4xKUVERERERERERERERER6x6QUERERERERERERERER6R2TUkRERERERERERERERKR3TEoRERERERERERERERGR3jEpRURERERERERERERERHrHpBQRERERERERERERERHpHZNSREREREREREREREREpHdGZR0AERERERERERER0btAKpUiLS0NKSkpyM7ORl5ens7qdXR0BAA8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SGLJxtmlSNmUuFg4VfEAkJ+YqlTLmwkpIiIiIiIiIiIiIiI12FOK6P8pSiwZm5rB0s5e7rmkuFi1+xERERERERERERERkTwmpYjUsHWRn1cqJe5FGUVCRERERERERERERPTmYlKKSA1bV/mkVBKTUkREREREREREREREWmNSikgNWxdXufXkWCaliIiIiIiIiIiIiIi0xaQUkRqFh+9LLjSnFBERERERERERERERqffOJqWuX7+OefPmoWvXrnB3d4epqSmsrKxQs2ZNDB8+HOfOndOqvj///BN9+vSBm5sbTE1N4ebmhj59+uDPP//UuI709HT89NNPaNasGRwcHGBlZQVvb29MmzYNjx8/1vYlko4U6Sn1MhaCIJRRNEREREREREREREREbyajsg6gLLRt2xZnz54t8nx2djYiIyMRGRmJTZs2YciQIVi/fj1MTEyU1iUIAsaOHYu1a9fKPR8TE4N9+/Zh3759+Oyzz7BmzRpIJBKl9Tx48ADdu3fH3bt35Z6PiIhAREQE1q9fj99//x3dunXT8tVSSRXuKZWblYX05CRY2tmXUURERERERERERERERG+ed7KnVExMDACgUqVKmDx5Mvbs2YOQkBBcunQJixcvRuXKlQEAW7ZswfDhw1XW9c0334gJqUaNGmH79u0ICQnB9u3b0ahRIwDA2rVr8e233yqtIy0tDT169BATUqNHj8bJkydx8eJFzJ07F1ZWVkhOTkb//v3xzz//lPTlk5asHBxgYCifv02O47xSRERERERERERERETaeCd7Snl5eWHevHno27cvDA0N5bb5+vpiyJAhaNmyJe7du4ft27dj3LhxaN26dZF67t+/j4ULFwIAmjZtirNnz8Lc3BwA4OPjg549e6Jt27a4evUqFixYgBEjRqBatWpF6vn5558REREBAFi4cCECAgLEbX5+fmjfvj3atGmD9PR0TJkyBadOndLZe0HqGRgYwtbFBYnPn4nPJce+QKWa3mUYFRERERERERERERHRm+Wd7Cl1+PBh+Pv7F0lIFXBycsKiRYvE9T179igst2TJEuTm5gIAli9fLiakClhYWGD58uUAgNzcXCxdurRIHTk5OVi2bBkAwNvbG19++WWRMn5+fhg1ahQA4PTp07h27ZqaV0i6VngIv+S42DKKhIiIiIiIiIiIiIjozfROJqU00a5dO3H5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P8TlmJgYtGrVSm3sUVFRKuem0hVNjoUBAwZgw4Z3qzcik1JEOmLnUgFxUQ/E9aRYJqWIiIiIiIiIiKhsjW84Hr4VfbVOLI2qN+qN7SFFbw4DAwNs2LABffv2xdq1axEaGor4+Hg4OTnBx8cHY8aMQdeuXcs6TJ2QSCSwsrKCu7s7/Pz8MHToULRp06aswyp1TEoR6YitawW59ZS42DKKhIiIiIiIiIiI6D/FTSy9iQmpdu3aQRCEUt0/ODi42O1py8PDo9RfnyJBQUEaDY2oqW7duhVrXqXSeu81fb2F45FKpUhJSQEA2NjYwMDAQA/RvVn4DhDpiK2Lq9x6EofvIyIiIiIiIiIiIiISMSlFpCO2LuwpRURERERERERERESkDJNSRDpSuKdU5us0ZL5OK6NoiIiIiIiIiIiIiIjKFyaliHTExtkFkEjknktmbykiIiIiIiIiIiIiIgBMShHpjKGRMawdneSeS+a8UkREREREREREREREAJiUItKpwkP4JccyKUVEREREREREREREBDApRaRTti4V5NY5fB8RERERERERERERUT4mpYh0qEhPKQ7fR0REREREREREREQEgEkpIp2yY08pIiIiIiIiIiIiIiKFmJQi0iFbV/mkVMrLWEileWUUDRERERERERERERFR+cGkFJEOFZ5TKi83F2mvXpVRNERERERERERERERE5QeTUkQ6ZGFrByMTU7nnUjiEHxERERERERERERERk1JEuiSRSGDr4ir3XFLcizKKhoiIiIiIiIiIiIio/GBSikjHCielktlTioiIiIiIiIiIiIiISSkiXSs8r1Qye0oRERERERERERERETEpRaRrRZNS7ClFRERERERERERERMSkFJGO2bqypxQRERERERERERERUWFMShHpWOE5pV4nvkJOdlYZRUNEREREREREREREVD4wKUWkY4WTUgCQEhdXBpEQEREREREREREREZUfTEoR6ZiJmTnMbWzlnuMQfkRERERERERERET0rmNSikgP7Fw4rxQREREREREREVFpCw4OhkQiER8ff/yx2n2GDx8ullckMDBQrk7Zh6GhIezs7NCkSRN8+eWXiIyM1MnrCAoKEtsICgrSSZ0AEB0drfS1aPMorkuXLmHIkCHw8PCAmZkZKlasiA8++AA7duxQu6+Hh4fSeExNTVGxYkW8//77WL16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cC3V7QNff/11vf7664e8Nycnx1vZNGTIkGaHUtKBn60PP/xQ0oGfrdYaStG+D/Dh28pv7aKd+vzVtbYFUtV8W/jlZ2fVcycAAAAAAADQNDWDJ+lgICVJAy4arTOuyvReWzJ7ulZ++F6AVxgYCQkJmjBhgiRpzZo1+uCDD/w6fmVlpfdzhU3bcxx//PHezytWrDjkvStXrqzzudbm9NNP935etGhRvfft2bPHu+fSaaedVu99+fn5GjZsmNatWydJeuSRR3Trrbf6abX2CMTPViAQSgF16DOsk3qcdkSd1+wIpCTJleEbSh36XzkAAAAAAAAAjXGoQKpaWwqmbrvtNqWnp0uSJk2a5NcWd9988433c8eOHf02bk3t27dXjx49JEnvvvuut3Wjr6qqKk2fPl2SlJSUpD59+tiynkA47rjjvN/zO++8o+Li4jrvq/5+JdXbhq+4uFjnn3++Vq9eLUm67777dO+99zZ6LaZpNvjVqdOB3x936tRJ+/fv1/79+2vtMdZUgfjZCgRCKaAefX9XO3iKig23JZCSau8rlZ9FKAUAAAAAAICWaUwgVa2tBFNxcXHeEOLHH3/UJ5984pdxy8rKNHHiRO/xiBEj/DJuXaqrevbu3avbb7+9zmDtgQce8FYCjRkzRlFRUbatJxDuvvtuSdK+fft0zz331Lq+efNm/etf/5IkdenSpc5Qqry8XKNGjdKyZcskSXfeeaceeughG1ftH/Pnz9fixYslSampqRowYECQV9R87CkF1GPjquxa58qKK7X68222BFOJtO8DAAAAAACAH+3Y8FOjA6lq1dern1sye7rad+uhDt172bXMoBg3bpwef/xx7d69Wzk5OY1+bsuWLUpNTbWcc7vd+u677/TCCy/op59+kiR17dpVN910k1/XXNPNN9+sWbNmafny5ZoxY4a2bdumW2+9Vcccc4x2796tadOmac6cOZIOBDT333+/bWtpjPfee0+FhYXe46VLl9b5WZLatWun3/3ud7XGuO666zRt2jQtW7ZMzz//vPbs2aMxY8YoKSlJK1eu1D/+8Q+53W45HA49++yzCg+vHX/8/ve/1xdffCFJOuuss3TjjTdq7dq19a47MjJSxx13XJO/36YqKiqqtY6Kigrt3LlT8+fP19SpU73nH3744Tq/t9ai9a4csNHqz7dpxYe/1nlt+dzNkuT3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005rzpLRCiSkWEsiK8s9Ki2ssHVOl0+lVFVlpQr377N1TgAAAAAAAABA2xOQUOovf/mLUlNTJUl33XWX+vfvr2effVZfffWVNm3apE2bNumrr77SM888o/79++vuu++WdKAa6i9/+YtlrLfeekuGYejcc88NxNLrZRiGLrroIkkHKpy+/vrrOu/7+uuvvRVQF110kQzDsFw/88wz5XK5JEkzZsyotypm+vTp3s+jRo1q6fIRouJckXI4rD8jdrfwi3UlKjzS2g4yP2uPrXMCAAAAAAAAANqegIRSKSkp+s9//qP09HSZpqnVq1dr/PjxOuOMM9StWzd169ZNZ5xxhv70pz9p9erVMk1T7dq10xdffKHk5GTvOL/++qsGDBiga6+9Vpdeemkgln5I48ePV3h4uCTp9ttvV0lJieV6SUmJbr/9dklSeHi4xo8fX2uMyMhI3XHHHZKk9evX6/HHH691z/Lly/Xaa69JkoYMGaL+/fv789tACHGEORSfbA2ICmwOpQzDkCs9w3IuL5tQCgAAAAAAAADgX+GBmujEE0/U+vXrNWnSJM2cOVP5+fl13udyuXTttddq8uTJSkpKslw75phj9Prrr/tlPUuXLtWmTZu8xzk5Od7PmzZtslQmSVJmZmatMY477jjdfffdeuSRR7Rq1Sqddtppuvfee9WlSxdt3rxZjz76qNasWSNJmjBhgo499tg61zJhwgS9/fbb+uWXX3TPPfdo06ZNuvLKKxUTE6MFCxbo4YcfVmVlpWJiYhrV/hCtW0JKtNw5B4Mod27JIe72D1d6hnJ3/OY9zs/Osn1OAAAAAAAAAEDbErBQSpISExP19NNP67HHHtO3336rtWvXav/+/ZKkpKQk9erVS/369VNUVFQDI7Xc1KlTNWPGjDqvLVu2TMuWLbOcqyuUkqR//vOfys7O1rRp07RmzRpdeeWVte658cYb9dBDD9W7loSEBM2fP18jRozQxo0b9corr+iVV16x3ON0OjVr1iyddNJJh/7G0Ood2Fcqz3tsd6WUJLkyrPtK5VMpBQAAAAAAAADws4CEUjNnzpQkdevWTaeccoqioqI0aNAgDRo0KBDT28rhcOi1117TpZdeqldeeUXffPONcnJylJqaqv79++umm27S8OHDGxyna9euWrNmjZ5//nm9++672rRpk8rLy9WxY0eNGDFCd955pzp16hSA7wjB5kyJthwHJJRK8w2lqJQCAAAAAAAAAPhXQEKpzMxMGYahN998U6ecckogpmzQ9OnTa7Xoa4kRI0ZoxIgRLRojLi5O99xzj+655x4/rQqtUYJPKOWmUgoAAAAAAAAAcBhwBGISl8slSfXuqQTgoNqVUiUyTdPWOV3pGZbjov37VFFeZuucAAAAAAAAAIC2JSCh1NFHHy1J3v2jANTvwJ5SB1WWe1RaWGHrnL6hlCS5s7NtnRMAAAAAAAAA0LYEJJQaNWqUTNPUxx9/HIjpgFYtzhUph8OwnLO7hV9kdIxinC7LOVr4AQAAAAAAAAD8KSCh1J133qlOnTrpxRdf1JdffhmIKYFWyxHmUHxylOVcQQD2lUpMZ18pAAAAAAAAAIB9AhJKOZ1O/ec//1H37t01bNgwjR07VgsXLtS+ffts3ysHaI0SfPaVcueW2D6nK4NQCgAAAAAAAABgn/BATBIWFub9bJqmXnvtNb322muNetYwDFVWVtq1NCAkHdhXKs97HIhKKd99pfKzs2yfEwAAAAAAAADQdgQklPKthqI6Cjg0p0+lVGBCKZ9KqSwqpQAAAAAAAAAA/hOQUGrSpEmBmAY4bNRu3xf4Sqm87CyZpinDMGyfGwAAAAAAAABw+COUAkJQ7UqpEtsDIt9KqYrSEpUUuBXrdNk2JwAAAAAAAACg7XAEewEAajuwp9RBleUelRRU2Dxnqhw19n+TpPxsWvgBAAAAAAAAAPyDUAoIQXGuSDkc1qoou/eVcoSFKSE1zXIuPzvL1jkBAAAAAAAAAG0HoRQQghxhDsUnR1nOuXNLbJ/Xt4VffhaVUgAAAAAAAAAA/wjInlI1maap7777Tt9//71ycnJUUnJgr5xDmThxYoBWB4SOhJRouXMOVkfZXSklSa70DMtx/l4qpQAAAAAAAAAA/hHQUGrGjBl64IEHtG3btiY9RyiFtujAvlJ53uPAhFJUSgEAAAAAAAAA7BGwUOq+++7TI4880mBVlCQZhtGo+4DDmTMl2nLsDkAolZjhE0plE0oBAAAAAAAAAPwjIHtKrVixQv/6178kSeeee66+++47rV69WtKBAKqqqko5OTn67LPPdNFFF8k0TZ1++unavXu3PB5PIJYIhJwEn1CqIBB7SqVZ2/e5c/bKU1Vl+7wAAAAAAAAAgMNfQEKpF198UZLUqVMnzZ8/XyeccIIiIiK81w3DUHJyss477zzNnTtXzz//vJYuXarf/e53Ki8vD8QSgZDjWylVkFtqewWhy6dSyvR4VJC719Y5AQAAAAAAAABtQ0BCqa+++kqGYeiOO+5QeHjDHQPHjRunSy+9VD/88INeeOGFAKwQCD0H9pQ6qLLCo5KCClvnjI5PUGSMdd787Cxb5wQAAAAAAAAAtA0BCaV2794tSerVq9fBiR0Hp66oqP2L9muuuUamaertt9+2f4FACIpzRcrhMCznCmzeV8owDLnSrdVSeVnsKwUAAAAAAAAAaLmAhFLVoVN6err3XHx8vPfz3r2124N17NhRkrRp0yabVweEJkeYQ/HJUZZz7kDsK5Vu3VcqP5tQCgAAAAAAAADQcgEJpdLS0iRJbrfbey4jI0NhYWGSpPXr19d6prq6qqCgIAArBEJTQh37StnNt1KK9n0AAAAAAAAAAH8ISChV3bZvw4YN3nORkZHe83W16Js1a5YkqX379gFYIRCafPeVCkgoleEbSjW9UmrXpjw/rQYAAAAAAAAAcLgISCh1xhlnyDRNLViwwHL+iiuukGmamjZtmiZOnKiffvpJ33zzjW677Ta9+eabMgxDw4cPD8QSgZDk9KmUcgekUsravi93x64mPb/6822a+/hqrfz4V38uCwAAAAAAAADQygUklLr44oslSfPmzbO08LvzzjvVuXNneTwe/fOf/9QJJ5ygU089VS+++KIkKSkpSX/9618DsUQgJNVu3xeIPaWslVIVpYVaOe/nRj27+vNtWj53syTpm/lbqZgCAAAAAAAAAHgFrH3fggULNHfuXFVWVnrPx8bGasGCBTrttNNkmqbl6/jjj9f//vc/dejQIRBLBEKSb6VUQW6pTNO0dU5XWkatcys++E6rP992yOdqBlKSNHBUF7Xvmujv5QEAAAAAAAAAWqnwQE00ZMiQOs936tRJS5Ys0c8//6yffvpJlZWVOvbYY3XyyScHamlAyPLdU6qywqOSggrFOiNtmzM8MlLxSckq3L/Pe8705HsDpz7DOtV6pq5Aqq77AAAAAAAAAABtV8BCqYZ069ZN3bp1C/YygJAS54qUw2HI4zlYHVWQW2prKCVJrox2tUIpSXUGUwRSAAAAAAAAAIDGCEj7PgDN4whzKD45ynLOHYh9pXxa+GUcffDz8rmbva38CKQAAAAAAAAAAI0VMpVSAOqWkBIjd06p97ggt/QQd/uHK6Od5TgqulgDR3XxBlDL527WynlbVFXh8d5DIAUAAAAAAAAAOJSAh1Lff/+9lixZol9//VUFBQWqqqo65P2GYei1114L0OqA0ONMidbOGscBCaXSraFUfnaWN3CqDqZqBlKnXnwMgRQAAAAAAAAA4JACFkr9/PPPuuGGG/T11183+hnTNAml0OYlpERbjt0BCaWs7fvys/bINE31GdZJyz/YLJnW+7f9mKuufTPkSouxfW0AAAAAAAAAgNYpIKHUzp07NXjwYOXk5Mg0D/w2Oz4+XklJSXI42NYKOBSnTyhVEIg9pXza91VWlKsob79+WVlQK5CSpN2b8/X2Qyt1+uXHqsegI2QYhu1rBAAAAAAAAAC0LgEJpf75z39q7969MgxDf/zjH3X33XfruOOOC8TUQKuXkGKtPirILfVWEdolPjFZYRERqqqo8J775uPvte6rOhKp/1NRVqUFb2zQ1h9ydOYfuivWGWnb+gAAAAAAAAAArU9AypQ+++wzGYaha6+9Vq+88gqBFNAEvu37Kis8KimoqOdu/zAcDjnTrC38flzwU6Oe3fJ9jt76xwpt+X6vHUsDAAAAAAAAALRSAQmldu3aJUm69tprAzEdcFiJS4ySw2GtiioIwr5SpsctSYqIDrOcj0+KqvVsSUGFPnnxRy14Y73KSyvtWyQAAAAAAAAAoNUISCiVlJQkSUpMTAzEdMBhxeEwFJ9sDX7cgdhXKt26r5TpydfAUV0UEWUNpc66poe6nWq9t9q6Zbv19kMrtXtTnl3LBAAAAAAAAAC0EgEJpfr16ydJ+uWXXwIxHXDYqWtfKbsV7rfuCRWfXKY+wzrVee85mT3Vd3jnOq+5c0o194nV+vqDzaqq9Ph7mQAAAAAAAACAViIgodQdd9wh0zT1yiuvBGI64LDj9NlXyu5QatemPP22ztp2z1ORf8hnTr3oGJ168TF1XjNN6dvPtum9R1cpd1eh39YJAAAAAAAAAGg9AhJKnXvuubrnnnu0YMECjRs3ThUVFYGYFjhsJPiEUm6bQ6n2XRN1/JAelnMF+3JU2cC72/d3nTVwVBdJde81lbO9UO8+vErf/2+7TI/pvwUDAAAAAAAAAEJeuD8HmzlzZr3XevbsqUGDBumVV17Rxx9/rNGjR6t79+6KjY1tcNxrr73Wn8sEWp3alVL27yl12mV9teaTGidMUwU52Q0+12dYJ7Xr4lK7Y1xa88U2rfx4izxVBwOoqkqPlr67UVt+yNHZ1/VQQnL0IUYDAAAAAAAAABwu/BpKZWZmyjCMBu/bvXu3nn322UaNaRgGoRTavLr2lDJNs1HvW3NFxcYpOj5BpYUF3nP5WXsa9Wz7romSDlROHdUzRf95fZ327y6y3LPz5/166x8rNeT3x+nY/hm2fi8AAAAAAAAAgODze/s+0zT9/gW0db7t+yorPCopsL8Npis9w3KcvzeryWOkHZWgy//WTyee07HWtfKSSv1n2jp9MfUnlRbR1hMAAAAAAAAADmd+rZTasmWLP4cD8H/iEqPkcBjy1NiHqSC3VLHOSFvndaW3U9avm7zHeVl7JDmbPE54RJhOH32sOh+fov/NWK/C/WWW65u+zdbuTXk667oeOqpnSkuXDQAAAAAAAAAIQX4NpTp16uTP4QD8H4fDUHxylNw5pd5z7twSZRzd9ICoKVwZ7SzH+dl7JB3X7PE6dE/WlfcP0OK3f9EvK6xVV0X55fr4me/V+8wOGnhJF0VEhjV7HgAAAAAAAABA6PF7+z4A9qhrXym7udJ82vdlN719n6+o2Aide30vnffHXoqKrZ2L/7hwh9755zfK3uZu8VwAAAAAAAAAgNBBKAW0Ek6ffaUCEkrVWSnlH8f2y9DvJ56ijj2Ta13LyyrW+49+q2/mb5GnyuO3OQEAAAAAAAAAwWNLKPXpp5+qT58+6tOnj2bPnt2kZ2fNmuV99r///a8dywNapQSfUModiFAq3VopVVZUJE+V/+aNS4zShbefqMFXHqfwCOt/jjweUys/3qI5j69WXlax3+YEAAAAAAAAAASH30Mp0zT1pz/9Sd9//71SUlJ01VVXNen5q666SikpKfruu+901113+Xt5QKtVu1KqxP45U9NkGD5hUWWeX+cwDEO9z+ygy+/rr/ROCbWuZ21x6+1/rtTaxTtlmqZf5wYAAAAAAAAABI7fQ6kvv/xSv/zyixwOh5566qkmP28Yhp5++mmFhYVp7dq1Wrhwob+XCLRKde0pZXdIExYeofiUFMs5f4dS1ZLaxemSe/qq//mdZTgMy7XKco8Wzf5Z85//QUX5ZbbMDwAAAAAAms7bhAABAABJREFUAACwl99Dqffff1+SdO6556pXr17NGqNnz54aNmyYZTygrfNt31dZ4VFJQYXt8yamW/eVqqrMt22usDCHBlx4jC6Z0Eeu9Jha17etzdVbD67U5jXZtq0BAAAAAAAAAGAPv4dSK1eulGEYuvDCC1s0zgUXXCDTNPX111/7aWVA6xaXGCWHTwVRQSD2lcqwhlJ2VUrV1O5ol664b4COH3xkrWulRRX67OW1+t/0dSorqbR9LQAAAAAAAAAA//B7KLVt2zZJUrdu3Vo0znHHHSdJ2rp1a0uXBBwWHA5D8clRlnPuAOwr5UrLsBx7KvJsn1OSIqLCNOSqbrrgthMV64ysdX3D13v09j9Waucv+wOyHgAAAAAAAABAy/g9lMrPP9DaKzk5uUXjVD/vdrtbvCbgcFHXvlJ2862UqgpApVRNnY5P0ZUTB6jLyWm1rhXsK9UHT67Rsvc3qarCE9B1AQAAAAAAAACaxu+hlNPplCTl5eW1aJzq5xMSElq4IuDw4fTZVyogoVS6T6VUpVumGdgAKCY+UsPGHq9zMnsoMjrMetGUvvvPb3r3kW+Us6MwoOsCAAAAAAAAADSe30Op9PR0SdK6detaNM769est4wGQEnxCKXdAQql2PmeqJLPI9nl9GYahbqceoSvuH6D2xybWup67s0jvPvKNVn+xTR6PGfD1AQAAAAAAAAAOze+h1IABA2Sapj766KMWjfPhhx/KMAz179/fTysDWr/alVL27ykV60pUeJR1LyuzKs/2eevjTInRxX86WYMu7SpHuGG55qk0tXzOZn345Bq5c+z/swEAAAAAAAAANJ7fQ6nhw4dLkv7zn/9o8eLFzRpj8eLF+uKLLyzjAah7TynTtLcqyDAMudJ8Wvh5grvXm+EwdPK5R+nyv/ZXypHxta7v2pintx5aqfVf7bb9zwcAAAAAAAAA0Dh+D6UuvfRSHXPMMTJNU5dffrl+/vnnJj3/yy+/6PLLL5dhGOrcubNGjx7t7yUCrZZv+77KCo9KCipsn9eVYW3hZ3rybJ+zMVKOjNdlf+mnPsOOkqxFU6oordKXM9frs5fXqqSgPDgLBAAAAAAAAAB4+T2UCg8P1xNPPCHDMLR3717169dPTz75pAoLCw/5XGFhoZ566in169dP2dnZkqQnnnhC4eHh/l4i0GrFJUbJ4bCmLwUB2VfKWillBrlSqqawCIcGjuqqUX/uUyu0k6Rfv9urN/+xUlt/zAnC6gAAAAAAAAAA1WxJfC666CI99NBDuu+++1RcXKy7775bkyZN0hlnnKE+ffooIyNDcXFxKioqUlZWllavXq0lS5aoqKjI22rrgQce0MUXX2zH8oBWy+EwFJ8cJXfOwSDKnVuijKOdts6bmO5TKVWVb+t8zdH+2ERd+fcBWvLuRm34arflWom7XPOf/0G9zmivQZd2VWQ0YTcAAAAAAAAABJptv5n961//qg4dOuiWW25RUVGRCgsL9dlnn+mzzz6r8/7qMCo2NlbPPfecMjMz7VoaUKfib79VbN++AXuuuRJSYiyhVEAqpWq17wu9UEqSImPCdfa1PXR071QtmLVBpYXW1oY/LdmlHRv265zre6rdMa4grRIAAAAAAAAA2ia/t++r6ZprrtEvv/yiu+66S2lpaTJNs96v1NRU3X333frll18IpBBwe599Ttv+cLVyXn21Sc/lvPqqtv3hau199jmbVlab06dFXUBCqTRr+z6ZRTJN+/eyaq5jTk7TlfcPUOfeKbWu5e8t0Zwp32rFR7+qqsoThNUBAAAAAAAAQNtkew+rI444QlOmTNGUKVO0bt06ff/998rJyVFBQYESEhKUmpqqE088UT179rR7KUCdir/9VjnPPy9J2vvE/5MkpY4Z0+BzOa++6r0/5/nnFTdoYEAqpnz3TXIHZE+pdrXOmR63jLDaoU+oiHNFacQtJ2jd0l1a+t4mVZZVea+ZprTqk63atjZX597QU0nt4oK4UgAAAAAAAABoGwK6sUrPnj0JnxByYvv2Vdpdf/YGTI0JpmoGUpKUdtefA9bCr3alVIntc0ZERyvWlaji/DzvOdOTL4VwKCVJhmGo1xlH6shuSfrv6+uUtcVtub73twK9/c9vNOiSLuo9pIMMhxGklQIAAAAAAADA4c/W9n1Aa5E6ZozS7vqz93jvE/+v3lZ+dQVSjams8peElBjLcUFuqXdPNju50q0t/Myq0NxXqi6J6bG65O4+OmXkMXL4BE9VFR4teXujPn72OxXuLwvSCgEAAAAAAADg8EcoBfyfxgRTwQ6kpNrt+yorPCopsH9/J98Wfqan9YRSkuQIc6jfiM669N6+SmoXW+v69vX79dY/VmjjqqwgrA4AAAAAAAAADn8Bbd8HhLrqgKlmK7/KvTkyDENmVaX2/3uW995gBFKSFJcYJYfDkMdzsDrKnVuiWGekrfO29lCqWnonpy7/W38tn7tZPyzYYblWVlypL6b+pC3f52jwlccpOi4iSKsEAAAAAAAAgMMPoRTgwzeY2j9zZq17ghVISZLDYSg+OUrunFLvuYLcUrU72mXrvK4Mn/Z9rTSUkqTwyDCdccVx6nxCqv43Y72K8qxt+zZ+k6VdG/N09nU91LFHcpBWCQAAAAAAAACHF9r3AXVIHTNGsYMG1nktmIFUtbr2lbKbK82nUqoqPyB7WdmpY49kXXn/AB3bP6PWtaK8Mn309Hda8s4vqiyvCsLqAAAAAAAAAODwQigF1OOIB/9R65wRGxv0QEqSnD77SrkDEEolZrTzOVMhmSW2z2u36LgInXdjL517Y09FxdYuHv3hyx165+FvtPe3giCsDgAAAAAAAAAOH4RSQD3cn35S65xZXKycV18NwmqsEnxCqYJce8KhHRt+8n6OT0mRIyzMcr2+Fn41n2stjuvfTlfeP0AduifVurZ/T7Hee2SVVn26Vf+fvfuOjqpquwC+77Qkk16BNFroHUIAAeldIKE3BakqUgQRleKrFEV6USmCVOkEpEsXkN47JNSEQPqkZ+r3hx/I5A4IZErK/q3FWrn3PHPvM5CZsGbnnKPX6W3QHREREREREREREVH+x1CKyIT4JUue7ymVU9zMWTYPpnLOlLLE8n1/b1yD9d+MxeltmwAAEokULl4+RjWmQqnT2zZh/Tdj8ffGNWbvydKc3O3RYXh1NOxeBlK58dujXm/AqW13ET7zPFRxGTbqkIiIiIiIiIiIiCj/YihFlEPOQEqQy0U1tg6mcu4plZKQZdb9naJuXsOJTWsBAEd/X/48mHItIt5X6kWnt23C0d+XAwBObFqbL2dMCRIBVZsEoNvXteEd6Cwaf3I3Besmn8G1o9H5fk8tIiIiIiIiIiIiImtiKEX0gpyBlPfoUXBp395krS2DqZzL9+k0emSmasx2ff/yldCwV7/nx8+CKVfvIkZ1L86UejGQAoCGvfrBv3wls/VkbR7FHNH5i1oIblsCgmA8ps3W4fCaW9j182VkpKht0yARERERERERERFRPsNQiuj/mQqkvAYNgltY6EsfY6tgytHNDhKJcVKSYuZ9pUI6dhEFUykJcUY1z0IpU4FUSMcuZu3HFqQyCep0KIVOY2rBxdtBNH7/SgLWfncKdy/GmXg0EREREREREREREb2IoRQRXh5IAYBDrVqQBwQY1TtUr/b8a1sEUxKJACcPO6NzlthXyrdcBaNg6v7Fc0bjBn0KbhzbIQqkfMtVMHsvtlS0lCu6j6uNig19RWNZaRrsXngFB1fegDpTa4PuiIiIiIiIiIiIiPIHhlJU6GWcO/fSQAoABIkErqEdjR6Tfe8+vEaMeH4cN3MWMs4ZBzaWlnNfKXOHUn9vXIP134wFAKNg6kUGvQpXDmx4fvysbv03Y/H3xjVm7cfWFPYyNOldHu0+qQoHF4Vo/MbfMVg3+TQe30m2fnNERERERERERERE+QBDKSr0lLVqwWvoUADiQOoZ146hRsd6lQp2JUvAe/QoAIDX0KFQ1qpl8V5f5JJjX6kUM4ZSUTev4cSmtQDwfBbUy4KpZ56NP6s/sWktom5eM1tPeUWJql7oOSEEJat5icZSE7IQPus8ToRHQqfV26A7IiIiIiIiIiIioryLoRQRAO9hn6L4mtUmAykAUPj7QVmnjtG55PBweA0ahOJrVsN72KfWaNOIc45QKtWMe0r5l68k2k8KABr07GuyPmcg9eycf/lKZuspL3FwVqDNR1XQ9IMKkNtLjQcNwPm9D7Dxh7NIiE6zTYNEREREREREREREeRBDKaL/918znVzDQo2O048egyY21uozpJ7JOVPK3Mv3hXTsIgqmBEEQ1ckU9s/Hn2nYqx9COnYxaz95jSAIqPBOMfQYH4JiQa6i8YSoNGz4/gwu7n8Ig95ggw6JiIiIiIiIiIiI8haGUkSvyaVlS0iUyn9P6PVI2b7dZv04exnvKZWSkAWDwbzhh6lgKietOqvQBVIvcvFyQOiomqgXVhoSqXFop9cacHxTBLbNvYDURPOGhkRERERERERERET5DUOpXGjcuDEEQXijP4cPHza6xvLly1/7scuXL7fJ86R/SJRKOLdubXQuOTzc7EHQ68o5U0qn0SMzVWP2++QMpl6lsAVSz0gkAmq2Ko6uXwXDw9dRNB59KxnrvjuFW6ee2Oz7hYiIiIiIiIiIiMjWGEpZkUQiQZkyZWzdBuWCW44l/NQRkci6etUmvShd7UQzc1LMuK8UvTkvf2d0/SoY1VsEAjlWOlRn6bD/t+vYu+QqstLMHx4SERERERERERER5XUyWzeQn/32229IT09/Zc3169fRvXt3AECzZs3g5+f30tq9e/fC19f3peP+/v5v1yiZjUOtWpD7+0MTFfX8nCo8HA5Vqli9F4lEgJOHPVLi/g2iUhOyULSkeH+j3Di9bZPJZftMeVZXGGdLPSOTS1G/cxBKVPbE/hXXkZaYbTQeeT4OMZEqNP2gAopX8rRRl0RERERERERERETWx1AqF0qWLPmfNatWrXr+9QcffPDK2rJly6JEiRK5bYssSJBI4BoaivgFC56fU+3cBZ+xYyGxs7N6Py6e4lDKnHIGUg179cPR31cAMF6CTiKVQq/TAWAw9YxfOXf0mFAHR9ffxq2TT4zGMlRq7Jh/CZUb+eGdTkGQ20lt1CURERERERERERGR9XD5PgvS6/VYs2YNAMDJyQmdOnWycUdkDq6hHY2O9SoV0g4dskkvzjn2lUoxYyhlKpD6h3hPpGeB1DNHf1+O09s2ma2X/MrOQYbm/Sqi1aDKsHMU/w7A1SPR2DD1DJ7eS7FBd0RERERERERERETWxVDKgg4cOIDo6GgAQJcuXaBUKm3cEZmDwt8fypAQo3PJ4eE26cUlRyiVaqY9paJuXjMZSL3uMn7PaqNuXjNLP/ldUC0f9JxYB4EmlutLfpqBzdPP4fT2u9Dp9DbojoiIiIiIiIiIiMg6GEpZ0MqVK59//V9L91H+4hoWZnScfvQYNLGxVu/D2dPB6Nhcy/f5l6+Eel16AjAdSMkcGsDOdTAEaZFXXudU+AbEP3pglp7yO0dXO7z3aVU06lUOMoXxW69Bb8CZnfex5cdzSHry6n3qiIiIiIiIiIiIiPIrhlIWkpaWhvD/nz0TGBiIxo0b/+dj+vXrhyJFikChUMDLywt169bF+PHjn8+2orzDpWULCC/OfNPrkbJ9u9X7MLV8n8EgXl7vbbzTtTe6fzsNgHEg5eDeGDL7EAgSJ9i59EaZOq1eeo37F89h5Zhh2Ld4AdKTk8zSV34mCAIqv+uH7uNC4FPCRTQe+yAVG6acwZXDUWb7dyQiIiIiIiIiIiLKK8SbnJBZbN68Genp/8x4eP/99yEIwn8+5siRI8+/TkhIQEJCAk6dOoWZM2dizpw5GDJkyFv1EhUV9crxmJiY519nZmYiM9M8S8AVaBIJHJs3Q9of/wZRSZu3wKFnz9f6tzYXhaPxsU6jR1JcCgT5v8vAZWW9/eypB1cv4+TGNc+P63btjVun/ZGZonl+rmLTLvAM9DKqe5HBoMflA3tw4/hh1Ggbimqt3oPczu6teyoI7FwEtP20Ii7tj8LFP6NgeGHVPq1Gj7/W3Ubkxado2CMISleF7Rols3vx9Zib1yYRmRdfm0R5E1+bRHkTX5tEeRNfm0R5U35+bVoqJxAM/HV8i2jWrBkOHjwIALh16xbKli1rsm758uWYNGkSOnXqhHr16iEgIAAAcPfuXWzevBmbNm16PmNi0aJFGDx48Bv38iYhya+//govL683vkdh5HD3LgIWLTY69+DTocj+/39DazAYgOi9ToDh339j73rpsHPL/d5ESdcvIuHimefHntVrw71idTw+6Ah99r+TLL1qZ8DeSyeqfxmpgyM8qwXDuWQZqwZ4eZU6WYLEyw7QposnrkrkBrhVyoKymNYGnREREREREREREVFhFR8fj4EDBwIAHj16BH9/f7Ncl6GUBURFRaF48eLQ6/WoW7cuTpw48dJalUoFFxeXl344v2PHDnTq1AkajQZKpRKRkZEoWrToG/XDUMpC9HqUmD4DisTE56eS69VFbGioVduIOeIIXca/gYZH9cxchxiZsU8Qvf/fWWDPAikALw2lAHGQBYkE0JsOyBTunvCqUQfKon656rUg0OsA1S07pD8wPStK6auBW8UsSORWboyIiIiIiIiIiIgKJUuFUly+zwJWr14N/f9/EN+3b99X1rq6ur5y/L333sM333yD8ePHIyMjA0uXLsW4cePeqJ9Hjx69cjwmJgYhISEAgHfffdds31yFQfKDB0heuOj5sce166g6ezYkVlyebnfEdcTcUT0/LuVfDmXre+Kvv/4C8M+/qb29/cse/lKnHe1xdttG1O3aGzXbhT4/v/b4WWRm/7t8X61ateBXzu2fg5YtcX7nVpzcuAbBHbuiYuNmOL1lPW4eO/zPtK4XqJMS8PjgLhSvVgv1uveBh28h/75rA0TdTMbRtRFGyyMCQMZjOYQMR7zbOwjFgl79nkF5W1ZWVq5fm0RkfnxtEuVNfG0S5U18bRLlTXxtEuVN+fm1+V/bAr0thlIWsGrVKgCAnZ0dunfvnuvrDRo0CBMmTIDBYMCRI0feOJR6k5DJwcEBDg4Ob9pioSXt0sUolNKnpEB38iQcW7e2Wg9uPkqjUCozRWf05mZvb/9W/6aNevVF6ZrB8C9fyeh8zpl3dgo7o+vX79ITxStXff64dp+ORu33wnBk1VI8vHpJdJ8Hl87h4ZULqNqsNd7p2gtKV7c37rWgKFPDAQFlvHD491uIPB9rNJaerMbun6+jWrMA1O1YCjK51EZdkrm87WuTiCyLr02ivImvTaK8ia9NoryJr02ivCm/vTYt1at4ExPKlbNnz+L69esA/pnl5O7unutr+vj4PF9SLzo6OtfXI/NR+PtD+f+zzJ5JDg+3ag8unsbpemqC+TagyxlIve3jfEqUQpfxkxH25Tfw9A8U1Rv0elzatwtLRwzCqfAN0Kiz3+q+BYG9kxytBlVC8w8rQuGQ4/cGDMCl/Y+w8fuziHuUapsGiYiIiIiIiIiIiN4SQykzW7ly5fOv/2vpvjfBrb/yLtewMKPj9KPHoImNfUm1+Tl7GifWqQlZVrv3mxAEAaVq1MYHP85H84FDTc6IUmdm4ti6lfht5Ee4fvQQDC/Zj6qgEwQB5eoURY8JIf8ujfiCxMfp2PTDWZzf+wB6Pd8biIiIiIiIiIiIKH9gKGVGGo0G69atAwB4e3ujTZs2ZrlubGwsEhISAAC+vr5muSaZj0vLFhCUyn9P6PVI2b7davd3zjFTKiUhK0+HmBKpFNVatEH/OYtRJ6w7ZHKFqCY1IQ67F8zEmnGj8Oj6FRt0mTc4e9ij44gaqN8lCFKZ8du1XmfAifBIbJ11Hinx5psdR0RERERERERERGQpDKXMaPfu3YiLiwMA9OrVCzKZebbsWrx48fOQoVGjRma5JpmPxNERLq1aGZ1LDg+3WjCUc/k+nUaPrDSNVe6dG3ZKJRr0eB8fzlmEiu82NVnz9G4ENnz7FbZOn4zEx5bZWC+vEyQCqjcPRNevg+EV4CQaj4lQYd2k07h+/HGeDiOJiIiIiIiIiIiIGEqZ0YtL933wwQf/WX///n1cuHDhlTU7duzApEmTAPyzEdqHH36YuybJIlzDQo2O1RGRyLp61Sr3VrraQSIVjM6lJuafPZlcvLzRZugo9Pl+DgIqVjFZE3n2JFZ8PhQHli1ERorKyh3mDZ6+TugyNhg1WxeHYPzPDU22DodW3cTuhVeQkaK2TYNERERERERERERE/8E8U3kISUlJ2LFjBwCgcuXKqFmz5n8+5v79+2jSpAnq1auH9u3bo3r16vDx8YHBYMDdu3exadMmbNq06fnshxkzZsDPz8+iz4PejjI4GHJ/f2ii/p3NowoPh0MV0yGLOUkkApw87JES9+8Sbmn5KJR6pkipIHSdOBV3z5/GkdW/ISnHzCi9ToeLe3fg+l8HUSesG2q26QCZQrz0X0EmlUlQL7Q0ilf2xIHl15ESb7x/2L1L8Xhy9xSavF8BJat62ahLIiIiIiIiIiIiItMYSpnJ+vXrkZ39TxDwOrOkXnTixAmcOHHipeNKpRKzZ8/G4MGDc9UjWY4gkcA1NBTxCxY8P6fauQs+Y8dCYmdn8fu7eOb/UAoABEFA6Vp1UKJaLVw5sBd/b1yDzNQUoxp1ZgaO/r4cl/btQoOefVH+nXch5Jw6VMD5Brmh+/gQHNt4BzeOxxiNZaZqsOvny6jYwBf1uwRBYc+3eSIiIiIiIiIiIsobuHyfmaxatQoAIJVK0bt379d6TK1atbB69WoMHToUderUQWBgIJRKJRQKBYoUKYKmTZtiypQpuHfvHgOpfMA1tKPRsV6lQtqhQ1a5t3OOfaXyayj1jFQmQ/VW7TBg3hKEdOwCqVwuqkmJi8WuedPx+/jRiLp5zQZd2pbCXoam71dA24+rwMFZ/Pdz/dhjrJ98GjGRhXO5QyIiIiIiIiIiIsp7+Cv0ZnL8+PE3foyzszN69+792iEW5W0Kf38oQ0KQcfr083PJ4eFwad3a4vd2yRFKpSZmQ3C1+G0tzk7piIa9+qFai7Y4tm4lbhw7LKp5EnEb678ZizIh76Bh735wL+pr/UZtqGQ1bxQp6YpDq2/i/uV4o7GU+CyEzziHmq2Ko/Z7JSGV8fcQiIiIiIiIiIiIyHb4CSWRGbmGhRkdpx89Bk1srMXv6+zpYHSc32dK5eTi7YO2wz5H7ymz4Fe+ksmaO6f/xvJRn+DQ8sWiJf8KOqWLAm0/roIm75eHzE5qNGYwAOf2PMCmaWeR+DjdRh0SERERERERERERMZQiMiuXli0gKJX/ntDrkbJ9h8XvK1q+LykLBoPFb2t1RYPKovv/fkCHz8fBvZh4RpRep8X53X9g6YhBOLt9C7QajQ26tA1BEFCxvi96jK+NoqXE0+TiH6Vhw9QzuHTgEQz6AvjNQURERERERERERHkeQykiM5I4OsKlVSujc6qt4TBYOCHKuXyfTmOAXi1Y9J62IggCytSuh74zfkKTfkNg7+wiqslOT8eR1cuwfNRHuHXiqMX//vMSV28lwj6vibqhpSCRGH8P6LR6HNt4B3/Mu4i0pCwbdUhERERERERERESFFUMpIjNzDQs1Os6+E4Gsq9csek+lqx0kUuMAQptZMEOpZ6QyOWq2aY8BcxcjuH0nSGXiLfJUsU+xY840rJ04Bo9v37BBl7YhkQio1boEunwZDPdijqLxqJtJWDfpNG6feWKD7oiIiIiIiIiIiKiwYihFZGbK4GDI/f2NzqnCwy16T4lEgJNHjtlSmYXj5W3v6IRGffrjw9kLUa5eQ5M1MbdvYu2EMdg++wckPy08QYx3oDO6fR2Mas0CRGPZGVrsW3odf/56FVnphWeZQyIiIiIiIiIiIrKdwvGpNZEVCRIJXENDjc6pdu6EXq226H1zLuGnzShcL29Xn6J4b+RY9Jw0A75lK5isuX3yGH777CMcXvkrstLSrNyhbcjkUjToWgYdRlaHk7udaPzO2Vis++4UHl1PtEF3REREREREREREVJgUrk+tiazENbSj0bFepULawUMWvadzzn2lCvjyfS/jW7Y8enz3I9qP+gpuRYqJxvU6Lc7t3IqlIwbh/K5t0GkLxyyhgPIe6DEhBGVDiojG0lVq/DHvIv5afxsatc4G3REREREREREREVFhwFCKyAIU/v5QhoQYnbP0En6imVKFZPk+UwRBQNk69dFv1s9o/MFA2Ds6iWqy0lJxaMUSLB/1CW6fOg6DwWCDTq3LTilHi/6V0HJgJdgpxXtwXTkUhY1TzyD2QYoNuiMiIiIiIiIiIqKCrvB+ak1kYa5hYUbHaceOQRMba7H7OXs6GB0X1plSL5LK5KjVLhT95y1BrXYdIZGKg5jkpzHYPut7rP/fWMRE3LJBl9ZXJrgIekyog4CKHqKxpCcZ2DztHM7uuge9Tm+D7oiIiIiIiIiIiKigYihFZCEuLVtAUCr/PaHTIWX7DovdL+fyfdpMCQrB5J/X4uDkjMYfDMKHs35B2Tr1TdZE37yO38eNxo65P0IV+9TKHVqfk7sd2g+rhnd7lIVUbvyjQK834NQf97BlxnkkP82wUYdERERERERERERU0DCUIrIQiaMjXFq1Mjqn2hpusWXici7fB70AvZqzpV7kVrQY2o/6Cj2+/RHFgsqZrLn191/47bMhOLJ6GbLS06zcoXUJgoAqjf3RfVxt+BR3Fo0/vZeC9VNO4+pf0YVieUMiIiIiIiIiIiKyLIZSRBbkGhZqdJx9JwJZV69Z5F5KVztIpMYhlJZL+JnkV74iek6egXYjvoCLdxHRuE6rxdntW7B0xGCc370dOq3WBl1aj3tRR3T6ohaC25WAIMnxPaTW48jvt7Dzp8tIV2XbqEMiIiIiIiIiIiIqCBhKEVmQMjgYcn9/o3Oq8HCL3EsiEeDkYTxbSpfJl/jLCIKA8u+8iw9nL8S7ffrDTukoqslKTcGh5Yuw4vOhiDhzskDPFpJKJajTvhQ6fV4Trt4OovEHVxOw7rvTiLxguX3RiIiIiIiIiIiIqGDjJ9ZEFiRIJHANDTU6p9q5E3q12iL3y7mEnzaDL/H/IpPLUbt9J/Sfuxg12rSHRCoV1STFRGPbjMnY8N1XeBJ5xwZdWk/RUq7oPj4Eld71E41lpWuwZ9FVHFh+HdmZBXv2GBEREREREREREZkfP7EmsjDX0I5Gx3qVCmkHD1nkXs6eOWdKcfm+16V0cUXTfkPQb+bPCKpdz2RN1PWrWPP1Z9g1fwZS4gvujCG5nRSNe5VDu6FVoXRRiMZvnnyC9ZNO4/GdJBt0R0RERERERERERPkVQykiC1P4+0MZEmJ0zlJL+IlmSnH5vjfmXswPHT8fh+7f/IAipcqYrLlx7DB+G/kRjq5dgeyMDCt3aD0lqnihx8QQlKrhLRpLTcxC+KwL+HtzBHQavQ26IyIiIiIiIiIiovyGn1gTWYFrWJjRcdqxY9DEmn+mjbOn8V5AuZ0plXHunFUfl5f4V6yM3lNmou2wz+HsJQ5ltBo1Tm/diKUjBuHin7ug1+ls0KXlOTgp0HpwZTTrVwFy+xxLGxqAC/seYuMPZxAflWabBomIiIiIiIiIiCjfYChFZAUuLVtAUCr/PaHTIWX7DrPfJ+fyfdpMCQwGw1tdK27+Ajzo3QfxS5a80ePilyzBg959EDd/wVvdNy8RJBJUaNAY/WcvQsNe/aBwUIpqMlNUOLD0Z6z4fCgiz51+67/vvEwQBJSvWww9JoTAt4ybaDwhOh0bfziDC38+hF5f8J4/ERERERERERERmQdDKSIrkDg6wqVVK6Nzqq3hZg8wci7fB72AzFTNG18n49w5xP/0EwAgbuas1w6m4pcsQdzMWf98/dNPBWLGFADIFAqEdOyCAfOWoHqrdhAk4rfOxMdR2Prjd9g0eRye3ou0QZeW5+LpgI6f1cA7nYIgkRnPwtNrDfh7SwS2zb6AlIRMG3VIREREREREREREeRlDKSIrcQ0LNTrOvhOBrKvXzHoPpasdJFLjsCAtMfvNr1OrFrxHj3p+/DrB1IuBFAB4jx4FZa1ab3zvvEzp4opm/T9G3xk/oXRwHZM1D69exuqvRmLPz7ORmhBv5Q4tTyIRUKNlILp9VRuefk6i8cd3krFu0mncPBlTIGeNERERERERERER0dtjKEVkJcrgYMj9/Y3OqcLDzXoPiUSAk4fxbKm3CaUAwGvQoNcOpkwFUl6DBr3VffMDT78AhI6ZgK4TpsKnZGlxgcGAa0cOYNnIITi+fhXUmRnWb9LCPP2c0PXLYNRoGQjk2LpMk6XDgeU3sGfxVWSmqW3TIBEREREREREREeU5DKWIrESQSODasaPROdXOndCrzfuhfc4l/FLfMpQCTAdT+gzjgEW1e1ehCqReFFi5KvpMnY02Q0fBydNLNK5VZ+PklvVYOmIwLu/fA71OZ4MuLUcql+CdTkEIG1UDzjnCUAC4eyEOa787jftXCt6MMSIiIiIiIiIiInpzDKWIrMg11DiU0qtUSDt4yKz3cPY0z0ypZ3IGU/q0NKNx1abNz78uTIHUM4JEgorvNkX/2QvRoMcHkNs7iGoyVMnYt2QBVn4xDPcunC1wy9r5lnFHjwkhKF+vqGgsM0WNnT9dxuHfb0GTXbBCOSIiIiIiIiIiInozDKWIrEgREABl7dpG58y9hF/OmVJpSVm5vmbOYMqUwhhIvUhuZ486Yd0wYO5iVGvRBoIgfntNiHqILT/8D5umTEDs/bs26NJyFA4yNOtbEW2GVIG9k1w0fu2vaKyffBpP7qls0B0RERERERERERHlBQyliKzMNSzM6Djt2DFoYmPNdn1nT+OZOrmdKfXMq4Ipqbc3FAEBMBSw5enehqObO5oPHIq+MxagZI1gkzUPr1zEqi9HYO/CuUhLTLByh5ZVqoY3ekwIQfEqnqIxVVwmtkw/j1N/3IVOp7dBd0RERERERERERGRLDKWIrMylVUsISuW/J3Q6pGzfYbbri5bvS8o223Jx/8yEEkTndXFxiB75Ge627wDVtm0waLVmuV9+5ukfiE5f/g9dxk2Gd/GS4gKDAVcP7cPSkYPx98Y1UGdlWr9JC3F0tUO7T6qice9ykCmMf8wY9Aac3XUfm6edQ9KTdBt1SERERERERERERLbAUIrIyiSOjnBp2dLonGpruNmCo5zL9+k0BmSkqM1y7fglSwC8vE/13bt4PPZLRLZug6T1G6BXm+e++VnxqtXR54c5aPXxSDi5e4jGtdnZOLFpLZaNHIIrB/+EXl8wZpsJgoBKDf3QfXwIipR0EY3HPUzF+ilncPlQFAz6grXHFhEREREREREREZnGUIrIBnIu4Zd9JwJZV6+Z5dpKVztIpMazmVITcr+vVPySJYibOeu1ajVRUXjyzTeIbNESiStXQZ9ZcGYBvQ2JRIrKjZuj/5zFeKdbb8jt7EU16UmJ+HPRPKwaOwL3L523QZeW4eajRKfPa6JOh5KQSIy/L3UaPY6uv43tCy4hLck8y0wSERERERERERFR3sVQisgGlLWDIffzMzqnCg83y7UlEgGO7gqjc7kNpd4kkHqR9ulTPJ06FRHNmiN+yRLo0tJy1Ud+J7e3R73OPdF/7mJUadYKgiB+C45/eB+bp07E5u+/QfzD+9Zv0gIkUgmC25ZE57G14F5UKRp/dD0R6yadwp2zT23QHREREREREREREVkLQykiGxAkEriGhhqdU+3cabbl7pw9jGfipCS8/UwlUSCVI0hxbNDgP6+hS0xE3MxZiGjWHHHzF0CXnPzW/RQETu4eaDl4GN7/cR5KVK9lsub+xXNY+cVw/Ll4PtKTk6zcoWX4FHdBt69ro2oTf9FYdoYWf/56DX8uvYasdI0NuiMiIiIiIiIiIiJLYyhFZCOuoR2NjvUqFdIOHjLLtZ087IyO33amVM5Aynv0KAiC8RJsypAQeI8eZXRO7i8OHYB/nmP8Tz8homkzxM6cCW18/Fv1VVB4B5ZA56++Reevv4NXYAnRuMGgx5UDe7F0+CCc2LwWmuzcL8NoazKFFA27l0WH4dXh6KoQjd858xTrJ5/Go5uJNuiOiIiIiIiIiIiILImhFJGNKAICoKxd2+icuZbwM0coZSqQ8ho0yGSt16BBRsGUJioKbj26w7FhQ5P1+owMJCz5FRHNmuPJlKnQPHnyxv0VJCWq1cT70+ai5ZDhcHRzF41rsrPw94Y1WDZiMK4e3g+9XmeDLs0roKIHekysgzLBPqKxtKRs/DHnIo5tuAOtOv8/VyIiIiIiIiIiIvoHQykiG3INCzM6Tjt2DJrY2Fxf1zlHKJXyhqFUxrlzrx1IPZMzmEpetx5eHw1BiY0b4dS8mcnHGLKzkbRqFSJatETMhIlQP3r0Rn0WJBKJFFWatkT/uYtRr0tPyOzsRDVpSYnY+8scrP7qMzy4ctH6TZqZvaMcLQdWRosBFWGnlInGLx18hA3fn0Xcw1QbdEdERERERERERETmxlCKyIZcWrWEoFT+e0KnQ8r2Hbm+rpN7jplSiVkwGAyv/XhlrVrwGjoUwOsFUs+8GEx5DR0KZa1acKhSGQELFqDkH9vg0q4dIDHxtqPRIHnjRkS2boPHY8ciOzLytXstaBT2Dnina2/0n7MIlRo3B3IslwgAcffvYtPk8Qif9i0SovJ/kFe2dlH0mBAC//LiWWJJMenYNO0szu25D73+9b+HiYiIiIiIiIiIKO9hKEVkQxJHR7i0bGl0TrU1/I0CJFNyLt+n0+iRkaJ+o2t4D/sUxdesfu1A6hmvQYNQfM1qeA/71Oi8fdmy8Js5A6V37YRr506ATDwzBjodVNv+wN332iNqxEhk3bjxRvcuSJw9vND645F4/4e5CKxS3WTN3fNnsGLMUOz/9SdkqJKt2p+5Obnbo8Pw6mjQrQykcuMfTXqdASe33kX4jPNQxWXaqEMiIiIiIiIiIiLKLYZSRDaWcwm/7DsRyLp6LVfXVLooAME42HqbfaWUtWq93f1f8ThFiRLwnTIFQXv3wL1XTwgKhbjIYEDq3r24F9YJjz76GJkXL75VHwWBT4lS6DJuEjp9+T94+geKxg16PS7t242lIwbhVPgGaNTZNujSPASJgGpNA9Dtq9rwDnQWjT+5q8K6yadx/djjXAe3REREREREREREZH0MpYhsTFk7GHI/P6NzqvDwXF1TkAiQOeQ+lLIkuZ8fik6ciNL798Hjww8hODiYrEs7fBj3e/TEgw8/RPqp04UyjBAEASVrBOODH+ej+cChULq6iWrUmZk4tm4lfhv5Ea7/dRAGvd76jZqJh68jOn9RC7XaFBetXqjN1uHQ6pvY9cuVN579R0RERERERERERLbFUIrIxgSJBK6hoUbnVDt3Qq/O3QfuUgfjUCIlIW8ueyb38UGRsV8g6OABeH40BBInJ5N1GSdO4mHfvnjQqzfS/vqrUIZTEqkU1Vq0wYC5i1EnrDtkcvEss9SEOOz+aRbWjBuFR9ev2KBL85DKJKjbsTTCPq8FF29xYHn/cjzWTTqFuxfjbNAdERERERERERERvQ2GUkR5gGtoR6NjvUqFtEOHc3VNWY5QKq/NlMpJ5u4On5EjEXTwALxHjoDUzc1kXeaFC3g0eAjud+6ClD//zNczgt6WwkGJBj3eR/+5i1Hx3aYQTScC8PRuBDZ8+xW2Tp+ExMdRNujSPIqVdkX3cbVRsaGvaCwzVYPdC6/g4KobUGdpbdAdERERERERERERvQmGUkR5gCIgAMratY3O5XYJP2keX77vZaQuLvD66CMEHdgPn7FjIfX2MlmXdf06ooePwN0OHaDavgMGbeELJZw9vdBm6Cj0mTobAZWqmqyJPHsKy0d/ggPLfkFGisrKHZqHwl6GJr3Lo90nVeHgLBeN3zgeg/WTT+NxRLL1myMiIiIiIiIiIqLXxlCKKI9wDQszOk47ehTauLdfmiznTKmUfBJKPSNxdITnh/0QtH8/ikycAJlvMZN16ohIPB4zBpHt2iF50yYYcrnsYX5UpFQQuk6YgtAvJsDd1180btDrcXHvTiwdPgint22CNp/+HZWo6oWeE+ugZDVxUJkSn4XwmedxIjwSOm3hmz1HRERERERERESUHzCUIsojXFq1hKBU/ntCp4Nq+463vp5UmWOmVGJWvtyHSWJnB49evRC0Zw+KTZkCefFAk3WaBw8RM34CIlq1RuKaNdBn5a8QLrcEQUDpWnXQd/oCNBvwCRxcXEU16swMHP19OX4b9RFuHD+SL5c+dHBWoM1HVdD0g/KQ20mNBw3A+b0PsGnaWSREp9mmQSIiIiIiIiIiInophlJEeYTE0REuLVsanVOFh791kJRzppROo0dGSv6cIQMAgkIBt86dUHrXLvjOmAG7MmVM1mljYvB00mRENG+BhKXLoE9Pt3KntiWVyVC9ZVsMmLsYIR27QCoXL3eXEheLXfOm4/fxoxF146oNuswdQRBQ4R1f9JgQgmJB4vAt/lEaNn5/Fhf3P4RBn/+CWCIiIiIiIiIiooKKoRRRHpJzCb/sO3eQde36W11LYmcAhPy5r9SrCFIpXN9rh5LbtsJ/wXzYV6pksk4XH4/Y6dMR0bQZ4n7+GbqUFCt3alt2Skc07NUP/WcvQoUGjU3WPIm8g/X/+xLbZkxBUky0dRs0AxcvB4SOqol6YaUhkQpGYzqtHsc3RWDb3AtITcz/3/dEREREREREREQFAUMpojxEWTsYcj8/o3Oq8PC3upYgADKHghdKPSNIJHBu3hwlNm1EwJIlcKhVy2SdTqVC/Lz5iGjaDLGzZkObmGjlTm3LxdsHbYd9jt5TZ8O/QmWTNRFnTmD56E9waPliZKbmr/BOIhFQs1VxdPkyGB6+jqLx6FvJWPfdKdw69SRfLl9JRERERERERERUkDCUIspDBIkErqGhRudSduyAXv12y+5Jcyzhl5KQ+bat5VmCIMCpYQOUWLMaxVethOM775is06elIWHxYkQ0a46n3/8AzdNYK3dqW0VLl0G3b75Hh8/Hwb2Yr2hcr9Ph/O4/sHTEIJzdvgVajcYGXb497wBndP0qGNWbBwDGk6agztJh/2/XsXfJNWSl5a/nRUREREREREREVJAwlCLKY1xDOxod61QqpB06/FbXyrmvVEGaKWWKsnZtBC5bihIb1sOpaVOTNYbMTCSuWIHI5s0R87//QR2V/5ate1uCIKBM7XroO+NnNOk3BPbOLqKa7PR0HFm9DMtHfYRbJ47mq9lFMrkU9buUQceRNeDkbicajzwfi7WTTuHhtQQbdEdEREREREREREQMpYjyGEVAAJS1axude9sl/KQFePm+V3GoWhUBP/+EklvD4dym9T9rGeZg0GiQvG49Ilu3xuOvvkb2vXs26NQ2pDIZarZpjwFzFyO4fSdIZTJRjSr2KXbMmYa1Ez5H9K0bNujy7fmXc0ePiXVQrk5R0ViGSo3t8y/hr7W3oFHrbNAdERERERERERFR4cVQiigPcg0LMzpOO3oU2ri4N75OzplSKYUklHrGvnx5+M+ejVI7d8C1Y0dAKhUXabVQhYfjbtt2iB41Clm3blm/URuxd3RCoz798eHsRSj3zrsma2Lu3MK6iWOwffYPSH4SY+UO356dgwzNP6yIVoMqw85RHLpdORKNDVPO4On9/LWHFhERERERERERUX7GUIooD3Jp1RKCUvnvCZ0Oqu073vg6UmWOmVKJWflqOTZzsStVCr7TfkDpvXvg1r07BLlcXGQwIGXXbtzrGIpHQz9F5pUr1m/URlx9iuC9EV+g1+SZ8C1X0WTN7ZPH8Nuoj3F45a/ISkuzcodvL6iWD3pOrIPASh6iseSnGdj84zmc2XkPep3exKOJiIiIiIiIiIjInBhKEeVBEkdHuLRsaXROFR7+xoFSzplSOo0eGSnqXPeXXyn8/VHs2/+h9P598Oj7AQR7e5N1aQcO4H7Xbng4YCAyzpyxcpe2U6xMOfT4dhraj/oKbkWKicb1Oi3O7dyKpcMH4tzObdBpNTbo8s05utrhvU+roVHPspDJjX/sGfQGnN5+D5unn0fy0wwbdUhERERERERERFQ4MJQiyqNyLuGXfecOsq5df6NrSOwMkEiN91MqLPtKvYq8SBEU+eorBB3YD8/BgyFxdDRZl378OB68/wHu9+mDtGPHC8UsM0EQULZOffSb9TMafzAI9o5Oopqs9DQcXrkEy0d9gtun8sffiyAIqNzIH93Hh8CnuLNoPPZ+CtZPPo2rR6LyxfMhIiIiIiIiIiLKjxhKEeVRytrBkPv5GZ1ThYe/0TUEAXBytzM6x1DqXzJPT/iM+gxBBw/Aa9inkLq6mqzLPHsOjwYOxP1u3ZF68CAM+oK/1JtUJketdh3Rf94S1GoXColUvC9T8tMYbJ/1PdZ9MxYxd/LHXlxuRZTo9EUt1H6vJASJcWCr1ehxZO1t7FhwGemqbBt1SEREREREREREVHAxlCLKowSJBK6hoUbnUnbsgF79ZsvvOXkYh1IpCZm5ba3Akbq6wnvoUJQ+cAA+Yz6H1NPTZF3WlSuI+mQo7oWGIWXXLhh0Oit3an0OTs5o/MFAfDjrF5St28BkzeNb1/H7+NHYMfdHqGKfWLnDNyeVShDyXkl0/qIW3IooReMPryVg7XenEHk+1gbdERERERERERERFVwMpYjyMNfQjkbHOpUKaYcOv9E1coZSnCn1clInR3gOGICgA/tRZNw4yIoWNVmXffs2okeNxt127yF5SzgMmvyxt1JuuBUthvaffYke301HsTLlTNbc+vsv/PbZRziyehmy0tOs3OGbK1LCBd3G1UaVRn6isex0LfYsvor9v11HdqbWBt0REREREREREREVPAyliPIwRUAAlLVrG5170yX8GEq9OYm9PTze74OgP/ei6KTvIA8IMFmnvn8fMV9/jchWrZG0di302QV/yTe/chXQc9IMvDdyLFx9iojGdVotzm7fgqUjBuP87u3QafN2oCNXSPFuz3J4b1g1KF0VovFbp55g3aRTiL6VZIPuiIiIiIiIiIiIChaGUkR5nGtYmNFx2tGj0MbFvfbjnUXL9zGUel2CQgH3rl1Revcu+E7/EYrSpU3WaR4/xpNvv0Nk8xZIWL4c+owMK3dqXYIgoFy9hug3ayEa9ekPO0dHUU1WagoOLV+EFZ9/gjtnTsBgMNig09dXvJInek6og9I1vUVjaYnZ2DrnAo5vugOtpuAv2UhERERERERERGQpDKWI8jiXVi0hKF/Y90ang2r7jtd+vJN7jplSiVl5PiDIawSZDK7t26PU9j/gN3cu7CpWMFmnjYtD7A/TENGsOeIXLoIuNdXKnVqXTC5HcPtOGDB3CWq26QCJVCqqSYp5jD9mTMGGb7/Ck8g7Nujy9dk7ydFqUGU0/7AiFPY5nosBuLj/ETZ+fxbxUQX735WIiIiIiIiIiMhSGEoR5XESR0e4tGxpdE4VHv7awVLO5ft0Gj0yUtRm668wESQSuLRqiZKbNyNg0UI4VK9usk6XlIS4OXMQ0bQZYufOhTapYC/95uDsgib9BqPfzJ9RJuQdkzVRN65izdefYdf8GUiJj7Vyh69PEASUq1MUPSbWgV85N9F44uN0bPz+LM7vfQC9nuEuERERERERERHRm2AoRZQP5FzCL/vOHWRdu/5aj1W6KCCRCkbnuK9U7giCAKdGjVB87e8IXL4cyrp1TdbpU1OR8MtCRDRrjqc/Tn+jZRfzI/difugw+mt0/98PKFq6jMmaG8cOY9nIITj6+3Jk5+FlDp097NFxRA3U7xIEqcz4R6VeZ8CJ8EhsnXUeKfGZNuqQiIiIiIiIiIgo/2EoRZQPKGsHQ+7nZ3ROFR7+Wo8VJAKcPeyNzjGUMg9BEOBYtw6KL/8NxX//HY6N3jVZZ8jIQOKyZYho1hxPvpsEzePHVu7UuvwrVEavyTPRdvgYuHj7iMZ1Gg1Ob9uEpSMG4eLendBptTbo8r8JEgHVmwei61fB8PR3Eo3HRKiwbtJp3Pj7MZfEJCIiIiIiIiIieg0MpYjyAUEigWtoqNG5lB07oFe/3jJ8zp7GoVRKAmd3mJuyZg0ELlqEEps3wTnHcovPGNRqJP3+OyJatsLj8eOhfvDAyl1ajyCRoEL9Rvhw1kI07NUPCgelqCYzRYUDy37ByjGfIvLcqTwb7Hj6OaHr2GDUbFUcMJ50CE22DgdX3sTuhVeQmcplMYmIiIiIiIiIiF6FoRRRPuEa2tHoWKdSIe3Q4dd6rIsnZ0pZi0OlSvCfNxeldmyHS4f2gMTE26xWC9WmzYhs0xbRn49B9p071m/USmQKBUI6dsGAeUtQvVU7CCb+PhIfR2Hrj5OwcdI4PL0XaYMu/5tULkG9sNIIG11TFPICwL1L8Vj73Sncvxxvg+6IiIiIiIiIiIjyB4ZSRPmEIiAAyuBgo3Ovu4Sfs6eD0TFDKcuzCwqC348/ovTuXXDr2gWQy8VFej1SduzA3fYdEDVsGDKvXrN+o1aidHFFs/4fo9/Mn1E6uI7JmkfXLmP1VyOx+6dZSInPm/tv+Qa5oceEEFSoX0w0lpmqwc6fL+PQmptQZ+XNJQmJiIiIiIiIiIhsiaEUUT7iGhZmdJx29Ci0cf/94b14+T6GUtaiKF4cxSZNQtCfe+Hepw8EOzuTdan79uN+ly54OHgwMs6ft3KX1uPh64/QMRPQbeJU+JQsLS4wGHD9r4P4beQQHFu3CurMDOs3+R8U9jI0fb8C2nxUBQ7O4rDx+tHHWD/lDJ7cVdmgOyIiIiIiIiIioryLoRRRPuLcqhUEhxdmPel0UG3f8Z+PEy3fl5iVZ/fvKajkxYqh6PhxCDqwH54DB0CiFO+xBADpfx3Fg1698eCDvkg/caLA/jsFVKqKPlNno82no+Hk6SUa12rUOBW+HktHDMalfbuh1+ls0OWrlarujR4T6qBEVXH/KXGZ2DL9HE5ui4ROq7dBd0RERERERERERHkPQymifETq5AiXli2NzqnCw/8zuMi5fJ9Oo0dGitrs/dF/k3l5wefzz1H6wH54ffIJJC4uJusyTp/Gww/740GPnkg9dKhAhlOCRIKKDZug/5xFaNDjA8jtHUQ1Gapk7P/1J6z8YhjuXjiT5/4elC4KtP24Cpr0KQ+ZndRozGAAzu1+gM0/nkNiTLqNOiQiIiIiIiIiIso7GEoR5TM5l/DLvnMHWdeuv/Ixjq4KSKSC0TnuK2VbMnd3eA8fhqCDB+A9ahSk7u4m6zIvXULUx5/gXqfOSNmzFwZ9wZt1I1fYoU5YNwyYuxjVWrSBIBH/aEqIeojwH77FpikTEHv/rg26fDlBEFCxgS96jK+NoqVcReNxD1OxYeoZXDr4CAZ93grViIiIiIiIiIiIrImhFFE+owypDbmvr9E5VXj4Kx8jSAQ4e+RYwo+hVJ4gdXKC1+BBCDqwH0W++hIyHx+Tddk3biB65Ejcfa89VNu2waDVWrlTy3N0c0fzgUPRd/oClKpZ22TNwysXserLEdjzyxykJSZYucNXc/VWIuzzmqgbWgoSiXEIrNPocWzDHexddAPaTOElVyAiIiIiIiIiIirYGEoR5TOCRALX0FCjcyk7dkCvfvVyfM459pVKScg0d2uUCxKlEh59+6L0/n0o+r//Qe7nZ7JOffcuHo/9EpFt2iJp/Yb//HfPjzz9AxE29ht0GT8Z3sVLigsMBlw7vB9LRw7G8Q1roM7KO9/LEomAWq1LoMuXwXAv5igaf3xbhafHHJHxWGaD7oiIiIiIiIiIiGyLoRRRPuQa2tHoWKdSIe3Q4Vc+xkUUSnGmVF4kUSjg3qM7Su/ZjWI/fA9FSROhDADNo0d48s03iGzREokrV0GfmXeCGXMpXqU6+vwwB60/+QxOHp6icW12Nk5uXotlIwbj8oG90Ot1NujSNO9AZ3T7KhjVmgaIxgxaAYmXHHBo5W1kpWts0B0REREREREREZFtMJQiyocUgYFQBgcbnfuvJfycPR2Mjrl8X94myOVwCw1FqR3b4Td7FuzKlTNZp336FE+nTkVEs+aIX7IEurQ0K3dqWRKJFJUaNUP/OYvwTrfekNvZi2rSk5Owb/F8rBo7AvcvnbdBl6bJFFI06FYGHUZWh5O7nWj83oUErJt0Go+uJ9qgOyIiIiIiIiIiIutjKEWUT7mGhRkdpx09Cm1c3Evrcy7fx1AqfxCkUri0aYOSW8Ph//PPsK9a1WSdLjERcTNnIaJZc8Qt+Am65GTrNmphcjt71OvcEwPmLUGVZq0gCOIfX/EP72Pz1InYPHUi4h/et36TLxFQ3gM9JoSgbEgR0Vh6cjb+mHcRR9ffhladd2Z6ERERERERERERWQJDKaJ8yrlVKwgOL8x+0umg2r7jpfU5l+9LTciCQW+wVHtkZoIgwLlpE5RYvw4BS3+FsnZtk3V6lQrxCxYgomkzxM6cCW1CgpU7tSxHN3e0HDwMH/w4DyWq1zJZc//Seaz8Yjj+XDQP6clJVu7QNDulHC36V0LjD8pAkIlfd5cPRWHD1DOIfZBig+6IiIiIiIiIiIisg6EUUT4ldXKES8uWRudU4eEwGEwHTTmX79Np9chIVVusP7IMQRDgVL8+iq9aieKrV8GxQQOTdfqMDCQs+RURzZrjyZSp0Dx5YuVOLcsrsAQ6f/UtOn/9HbwCS4jGDQY9rhz8E0uHD8KJzWuhycobMwNL1fBC0YbpsPPUisaSnmRg87RzOLvrHvQ6vQ26IyIiIiIiIiIisiyGUkT5WM4l/LLv3EHW9esmax1dFZBIBaNzXMIvf1MGByPw1yUosXEjnJo3M1ljyMpC0qpViGjREjETv4H60SMrd2lZJarVxPvT5qLlkOFwdHMXjWuys/D3hjVYNnIwrh7eD73e9kvkSe0N8KqdibqdSkAqN/4xrNcbcOqPe9gy4zySYzNs1CEREREREREREZFlMJQiyseUIbUh9/U1OqcK32qyVpAIcPYwXsIvJSHTUq2RFTlUqYyABQtQcts2uLRrB0hMvLVrNEjesAGRrdvg8dixyI6MtH6jFiKRSFGlaUv0n7sY9br0hMzOTlSTlpSIvb/MweovR+LBlYvWbzIHQQAqNiyG7uNqwzvQWTT+9F4K1k8+jWtHo186+5GIiIiIiIiIiCi/YShFlI8JEglcQ0ONzqVs3w6D2vSyfM4m9pWigsO+XFn4zZyBUjt3wLVTJ0AmExfpdFBt+wN332uPqBEjkXXjhvUbtRCFvQPe6dobA+YsRuUmLf5JfnKIe3APmyaPR/i0b5EQ9dAGXRpzL+qIzmNrIbhtCVG7WrUeh9fcws6fLyNdlW2bBomIiIiIiIiIiMyIoRRRPuca2tHoWKdSIePoUZO1Lp45Z0oxlCqI7EqWhO/UKQjauwfuvXpCUCjERQYDUvfuxb2wTnj00cfIvHjR6n1aipOHJ1p9NALv/zAXgVWqm6y5e/4MVnz+KfYtWYD05CTrNpiDVCpBnQ6l0GlMLbh6O4jGH1xJwLpJp3H3QpwNuiMiIiIiIiIiIjIfhlJE+ZwiMBDK4GCjc2l/bDdZ6+xp/IE3Z0oVbHI/PxSdOBGl9+2DR79+EBzEgQcApB0+jPs9euLBhx8i/dTpArNcnE+JUugybhI6ffk/ePoHisYNBj0u79+DpSMG41T4BmjUtp2NVLSUK7qPD0Gld/1EY1lpGuxedAUHVt6AOlNrg+6IiIiIiIiIiIhyj6EUUQHgGhZmdJx5/DikqamiOi7fVzjJi/igyJdjEXTwADw/GgKJk5PJuowTJ/Gwb1886N0HaX/9VSDCKUEQULJGMD74cT5aDPoUSlc3UY0mKxPH1q3EspFDcP2vgzDo9dZv9P/J7aRo3Ksc2g2tCgcX8Qy3m3/HYN3k03h8x7azu4iIiIiIiIiIiN4GQymiAsC5VSvjWTA6HZwvXBTV5Vy+LzUhCwZ9/g8e6PXI3N3hM3Ikgg4egPfIEZC6uZmsyzx/Ho8GD8H9zl2Qsm+fTUMac5FIpajavDUGzF2Mup26Q6awE9WkJcRj90+zsPrrz/Do2mUbdPmvElW80HNiCEpV9xaNpSZkIXzWBfy9JQI6Tf7/tyEiIiIiIiIiosKDoVQuCYLwWn8aN278n9fas2cPOnXqBH9/f9jZ2cHf3x+dOnXCnj17LP9EKF+TOjnCpWVLo3Ou584COWa6uHgZL9+m0+qRkaq2eH+Ut0hdXOD10UcIOrAfPl98Aam3l8m6rOvXET1sOO517AjV9h0waPP/snEKByXqd38f/ecsQqVGzQBBENXE3ovEhu++RviP3yEh+pENuvyHg5MCrYdURrO+FSC3lxoPGoALfz7Exh/OIiE6zTYNEhERERERERERvSGGUnmAwWDAkCFD0KZNG4SHhyM6OhpqtRrR0dEIDw9HmzZtMGTIkAKxlBZZTs4l/OyePIXd48dG55QuCkhkxh/Ccwm/wkvi6AjP/h8iaP9+FJk4ATLfYibrsu9E4PGYMYhs1w7JmzbBoM7/Qaazpxdaf/IZ+nw/BwGVqpqsuXvuNFZ8PhQHlv2CjBSVlTv8hyAIKF+vGHqMD4FvGTfReEJ0GjZ8fwYX9j3krEciIiIiIiIiIsrzGEqZyccff4wrV6689M9vv/320seOHz8eixcvBgDUqFEDa9euxenTp7F27VrUqFEDALB48WJMmDDBKs+F8idlSG3IfX2NzrmcPWd0LEgEOHsYL+GXkpBp8d4ob5PY2cGjVy8E7dmDYlOmQF480GSd5sFDxIyfgIhWrZG4Zg30Wfk/0CxSsjS6TpiC0C8mwsPXXzRu0Otxce9OLB0+CKe3bYLWRoGci5cDOn5WA+90ChIFy3qtAX9vjsDW2Rf4eiYiIiIiIiIiojyNoZSZ+Pj4oHLlyi/9U7JkSZOPi4iIwI8//ggACA4OxvHjx9GjRw/Url0bPXr0wLFjxxAcHAwAmDZtGiIjI632nCh/ESQSuIaGGp1zuXhRNKvF1L5SRAAgKBRw69wJpXftgu+MGbArE2SyThsTg6eTJiOieQskLF0GfXq6lTs1L0EQULpWCPrO+AnNBnwCBxdXUY06MwNHf1+OZZ8NwY1jh22yz5ZEIqBGy0B0/bI2PP0cReOP7yRj/aTTuHkyhjNriYiIiIiIiIgoT2IoZWOzZ8+G9v/3aZk/fz4cHIz3/FEqlZg/fz4AQKvVYs6cOdZukfIR19CORsfSjAxkHD1qdM7Z0/h7LIWhFOUgSKVwfa8dSm7bBv8F82FfqZLJOl18PGKnT0dE02aI/+UX6FJSrNypeUmkUlRv2RYD5i5BSGhXSOVyUU1qfBx2zZ+B38ePRtSNqzboEvDyd0LXL2ujRotAIMeWWOosHQ4sv4G9i68iMy3/L7NIREREREREREQFC0MpGzIYDNi2bRsAoHz58qhbt67Jurp166JcuXIAgK1bt/I34OmlFIGBUP7/zLpn0v7YbnTszJlS9JoEiQTOzZujxKaNCFiyGA41a5qs06lUiJs7DxFNmyF29hxoExOt3Kl52SmVaNizL/rPWYQKDZuYrHkSeQfr//clts2YgqSYaCt3CEjlErzTOQhho2qIluQEgMgLcVj33Wk8uJpg9d6IiIiIiIiIiIhehqGUDd27dw/R0f98mNmoUaNX1j4bj4qKwv379y3dGuVjrmFhRseZx49DGx///JjL99GbEgQBTg0bovia1QhcuQKO79QzWadPS0PCokWIaNYcT7//AZqnsVbu1LxcvHzQ9tPR6D11NvwrVDZZE3HmBJaP/gQHly9CZqr1Z4r5lnFHjwkhKF+3qGgsI0WNHQsu4fDvt6DJ1lm9NyIiIiIiIiIiopwYSpnJxo0bUa5cOTg4OMDZ2RllypRB3759cejQoZc+5saNG8+/Ll++/Cuv/+L4i48jysm5VSsI9i8ETzodVNt3/DueY/m+1IQsGPScfUf/TRAEOIaEIHDZMpRYvw5OTUzPIjJkZiJxxQpENm+OmG+/hTrK+jOJzKlo6TLo9s336Pj5eLgX8xON63U6XNi9HUuHD8KZ7Vug1Wis2p/CQYZm/Sqi9ZDKsHcULzl47a9orJ9yGk/uqazaFxERERERERERUU4yWzdQUFy/ft3oOCIiAhEREVi5ciVCQ0OxfPlyuLq6GtU8evTo+df+/v6vvH5AQIDJx72OqKioV47HxMQ8/zozMxOZmZlvdH3KY6QS2DVpgqzdu5+fStq8GQ7du0EQBCgcjct1Wj0SY1OgdFW81uUNMA6wNFoNv2cKo7Jl4TVrJlxu3UbysqXI2LcfyLG0qEGjQfLadUjeuAlObdvAtX9/yIsXt1HDuedXuRq6TZqB64f34czWjchKSzUaz85Ix1+rl+HCnu2o27U3gkLegSAYb/qUlZVl8mtz8C3vjNAvquLYukhE3Ug2GlPFZmLL9HOo1twf1Vv6QSLl76QQvciSr00ient8bRLlTXxtEuVNfG0S5U35+bVpqc98BQM3KMoVR0dHdOjQAc2aNUP58uXh5OSEuLg4HDlyBAsXLkRCwj/7eTRq1Aj79u2DXP7vb7FPnz4dX3zxBQBg9+7daN269Uvvs3v3brRt2xYAMGPGDIwePfq1e8z5oeir/Prrr/Dy8nrtesqbHCIjEbB4idG5B8OHIdvPDwYDEL3XCTD8+33hXTcddu7617p27DYD1AqX58d+xe5AqC5eOowKF3lsLDwOHYbLxYsQ9Ka/lwyCgNQqVZDYtCnUxfL394xOnY2kaxeRfOsq8JLna+fpA6+adeHgXcSqvRkMQPojOVQ37WDQid//5a46eFTNhNyJP/6JiIiIiIiIiMi0+Ph4DBw4EMA/E2X+a2LN6+JMqVyKjo6Gm5ub6HyLFi0wbNgwtGnTBhcuXMCRI0fwyy+/YPjw4c9rXkxGFYpXz1Kxs7N7/jVnpdB/ySxZEhp3N8iTkp+fczl7DnF+fhAEQOZggDbj3w+rdZkS4DVDKSJTND4+eNq9GxKbN4P7kb/gcvYsJDrjfYwEgwEuly/D5fJlpFWsiISmTZD9wizQ/ESqsINXjTpwLVMRCZfOIO1BpKgmOyEW0fv+gGNASXhVD4Hc2cXElcxPEACnQA3sPLVIuuQAtUpqNK5RSRF73BGu5bPhGKjBG/zeAhERERERERERUa4wlMolU4HUM0WKFMGmTZtQoUIFqNVqzJ8/3yiUsn9h3x+1Wv3K+2RnZz//2sHB4RWVYv+13F9MTAxCQkIAAO+++67ZEk+ynaysLFzbfwCeBw48P+d57Rqqz54FQaHAnsjreHz73/1lSvqXQ7Xm4r1yTFn9x16j4zJly6BUy3rmaZwKhp49oX36FKqVK5G2JRwGE1OTna5fh9P167CvVxduAwfCvmZNGzRqJp0642nkHRxftwJP7twSDac/uofMxw9RpXlrVG75Hk6dOw/gn/fbF38OWIK+gwGXD0Tjwt4oo73jDHoBydft4agvggY9gl57+U6igiorKwt//fUXAOu8Nono9fC1SZQ38bVJlDfxtUmUN+Xn1+Z/bQv0thhKWVipUqXQokUL7Ny5ExEREXj8+DF8fX0BAM7Ozs/r0tLSXnmd9PT05187OTm9UQ9vEjI5ODi8cehFeVNKrZpGoZRepYL21Cm4tGwJNx9Ho1AqM0X72v/uAoynVchlcn7PkFiJEnCeOBHaoUORuHwFkn7/HfoX3seeyTpxEk9OnIQyOBieH30Ex/rifZjygxKVq6L4pBmIOH0Cf/3+G5KfxBiN63U6XNq7EzePHYZzuSpwLVMR9vb2Vnnt1OtYBqWrF8G+ZdeR/DTDaCz6pgrhP15C497lEVTLx+K9EOUH1nptEtGb4WuTKG/ia5Mob+Jrkyhvym+vTUv1yp3OraBixYrPv46Ojn7+9Yth0X+lji/OdgrIp8tdkXVpPD2RUbKk0TlV+FYAgLOncSKfmpC/Ntmj/EPm6Qmf0aMQdPAAvIZ9Comrq8m6jLNn8WjgQNzv1h2pBw/C8JJ9mvIyQRBQps476DfzZzTpOwj2juJfIMhOT0f8+ZN4uHMTIs+cgLW2dfQp7oJu42qjShPxLylkZ2ixd8lV7Ft2DdkZGqv0Q0REREREREREhRNDKSt42YeOL4ZVN2/efOU1XhyvUKGCeRqjAi+lVi2j47S//oI2Ph4uDKXIyqSurvAeOhRBBw7A5/PRkHp6mqzLunIFUZ8Mxb3QMKTs2gVDjn2p8gOpTI6abTtiwLxfUatdKCRS8aRkTVoK9v40C+u+GYsYE0v+WYJcIcW73cui/fBqcDSxXN/t00+xbtJpRN1MtEo/RERERERERERU+DCUsoLr168///rZ0n0AULJkyefHR44ceeU1nq076efnhxIlSpi/SSqQUqtWgfDiOqU6HVTbd8DZ03jqZWpCltF+M0SWInVyhOfAgQg6sB9Fxo2DrGhRk3XZt28jetRo3G33HpK3hMOgyX8zeOydnND4g4H4cPZClK3X0GTN41vX8fv40dgxZxpUsU+s0ldgRU/0mFgHQcHi5frSkrKxbc5FHNt4B1pN/gsEiYiIiIiIiIgob2MoZWF3797Fvn37APyzv5Sfn9/zMUEQ0LFjRwD/zIQ6efKkyWucPHny+Uypjh075sv9Vsg2DHZ2UDZvbnROtWULnD3sjM7ptHpkpKqt2RoVchJ7e3i83wdBf+5F0UnfQf6SZUnV9+8j5uuvEdmqNZLWrYM+O9vKneaeW5GiaD9yLHpOmo4ipcuYrLl14ih+++wjHFm9DFnpr95j0BzsHeVoNbAyWgyoCIWDeCbXpQOPsGHqWcQ9TLV4L0REREREREREVHgwlMqF7du3Q6vVvnT86dOn6NKlCzT//xv+Q4cOFdWMHDkSMtk/HwgOGzYMmZmZRuOZmZkYNmwYAEAmk2HkyJFm6p4KC6cO7Y2Os+/cgSQ6AhKZcbjJJfzIFgSFAu5du6L07l3w/XEaFKVLm6zTPH6MJ//7FpEtWiJh+XLoMzKs3Gnu+ZatgE7jp6Bog2aQOTqLxnVaLc5u34Klwwfh/O4/oHvFzxdzKVu7KHpMCIF/eXfRWFJMOjZNO4tze+5Dz5mURERERERERERkBgylcmHYsGEoXrw4hg8fjrVr1+LEiRO4ePEi9u/fj/Hjx6NSpUq4cOECAKBBgwYmQ6myZcvi888/BwCcPXsW9evXx/r163H27FmsX78e9evXx9mzZwEAY8aMQZkypn/Lnuhl7GvVgvyFZSMBIGXrNjh7GO8rlZJgHIgSWZMgk8G1QweU2v4H/ObOhd1L9s7TxsYi9odpiGjWHPGLFkOXmr9m8giCAKfAUij+Xle80+MD2Dk6imqy0lJxaPlirPj8E9w5c+Kl+xKai7OHPToMr44GXctAKjP+b4FeZ8DJrXexdeZ5qOL4HkFERERERERERLkjXrOH3sjjx48xf/58zJ8//6U1nTt3xq+//go7OzuT41OmTEFsbCyWLVuGCxcuoEePHqKaAQMGYPLkyWbrmwoPQSKBa2go4n/++fm5lO3b4dyjDVSx/37IzJlSlBcIEglcWrWEc8sWSDtyBAm/LETmpUuiOl1SEuJmz0bCr7/C4/0+cH//fcjcxbN98ipBKkX1lm1QvXlrnNy8Dhf/3Am9zngPp6SYx/hjxhT4V6iMRn36o2hQWcv1IxFQrVkAAip4YN9v1xD/yHgJwZhIFdZPPo0G3cqgwjvFuIwsERERERERERG9Fc6UyoUVK1bg22+/RevWrVG2bFl4eHhAJpPBzc0NVapUwZAhQ/D3339j06ZNcHNze+l1JBIJli5dip07d6Jjx47w9fWFQqGAr68vOnbsiF27duHXX3+FRMJ/Lno7rqEdjY51KhXssxONzqUwlKI8RBAEODdujOLr1iJw+W9Q1qljsk6fmor4n39BRLPmePrjdGjj4qzcae44OLugSb/B6DfzZ5QJecdkTdSNq1gzbhR2zpuOlLhYi/bj4euILmODUatNceTMnTTZOhxadRO7frmCjBTuQUdERERERERERG+OM6VyoVGjRmjUqJHZrte2bVu0bdvWbNcjekYRGAhlcDAy/n8pSACQ3b8OoPLzY86UorxIEAQ41q0Lx7p1kXH+AuIXLUT6kb9EdYaMDCQuW4ak1avh1qULPAcOEC1bmZe5F/NDh9FfI+rmNRxZtRRPIm6Lam4eP4I7p/9GrbYdERLaFXZK8dJ/5iCVSVC3Y2kUr+yF/b9dQ0q88XvD/cvxWDfpFJr0KY+S1bwt0gMRERERERERERVMnHpDVEi4hoUaHUtunjM6ZihFeZ2yZg0ELlqEEps3wbllS5M1BrUaSb//joiWrfB4/HioHzywcpe541++EnpNmoG2w8fAxdtHNK7TaHB62yYsHT4IF/fuhE6rtVgvxUq7ovv4EFRsIA73MlM12PXLFRxcdQPqLMv1QEREREREREREBQtDKaJCwrlVawgODs+PHTKMlzlLTciCQW+wdltEb8yhUiX4z5uLUtv/gEv79oCppU21Wqg2bUZkm7aIHvMFsu/csX6jb0mQSFChfiN8OGshGvbqB4WDUlSTmZqCA8t+wYoxnyLy3CkYDJZ57SrsZWjSpzzaflIVDs5y0fiN4zFYP/k0YiKSLXJ/IiIiIiIiIiIqWBhKERUSUidHuLRs8fzYPst4TymdVo+MVO4TQ/mHXZky8Jv+I0rv3gW3rl0AuTg0gV6PlO3bcbd9B0QNG47Ma9es3+hbkikUCOnYBQPmLUH1Vu9BIpWKapIeR2Hrj5OwcdI4PL0bYbFeSlb1Qo8JdVCympdoLCU+C+Ezz+PE1kjotHqL9UBERERERERERPkfQymiQsQ1LOz51wp1CgS9xmicS/hRfqQoXhzFJk1C0N49cO/dG4Kdncm61H37cL9zFzwcPBgZ5y9Yucu3p3RxRbP+H6HvjJ9QOriuyZpH1y5j9VcjsXvBTKTEx5msyX0fCrT5qAqavF8ecjvjgMxgAM7veYBN084i4XGaRe5PRERERERERET5H0MpokJEGRICmW8xAIAAg2i2VEpCpi3aIjILua8vik4Yj6D9++AxoD8EpXjZOwBI/+soHvTqhQd9+yH9xAmLLX1nbh6+/ggdMx7dJk5FkVJBJmuuHz2E30YOwbF1K6HOzDB7D4IgoGJ9X3QfH4JiQa6i8fhHadg49SwuHXjE5UCJiIiIiIiIiEiEoRRRISJIJHALDX1+nDOU4kwpKghk3t4oMmYMgg7sh9cnn0Di4mKyLuPUKTz8sD8e9OiJ1EOH8k04FVCpKnpPmYU2n46Gs6e3aFyrUeNU+AYsHTEYl/bthl6nM3sPrt4OCB1VE/XCSkMiFYzGdFo9jm28g21zLyI1ke8pRERERERERET0L4ZSRIWM6wuhlENWgtFYCkMpKkBk7u7wHj4MQQf2w/uzzyB1dzdZl3npEqI+/gT3OnVGyp69MOjz/r5IgkSCig2b4MM5C9GgxwdQODiIajJUydj/609Y+cUw3L1wxuyhm0QioGar4ujyZTA8fB1F49G3krBu0mncOvUk3wR+RERERERERERkWQyliAoZRWAgHIJrAeBMKSocpM7O8BoyGEEH9qPIV19C5uNjsi77xg1EjxyJu+07QLVtGwxarZU7fXNyhR3qhHXDgLlLUK1FWwgS8Y/1hKiHCP/hW2yaPB6x9++avQfvAGd0/SoY1ZoHiMbUmVrs/+06/vz1GrLSNSYeTUREREREREREhQlDKaJCyC0sDABgn2OmFEMpKsgkSiU8+vZF6X1/ouj/voHcz89knToyEo/HfonINm2RtGED9Gq1lTt9c0pXNzQf+An6Tv8JpWrWNlnz8OolrPpyBPb8MgepifFmvb9MLkWDLmXQ8bMacHK3E41HnIvFuu9O4eG1BBOPJiIiIiIiIiKiwoKhFFEh5NyqNQQHB9HyfakJWTDoucwWFWwSOzu49+iB0nt2o9j330NRsqTJOs2jR3gy8RtEtmyFxJWroM/MtHKnb87TPwBhY79B1wlT4F2ilLjAYMC1w/uxbOQQHN+wBuos8z4n/3Lu6DEhBOXqFBWNpavU2D7/Ev5adxsatfn3uSIiIiIiIiIioryPoRRRISR1coRLyxai5ft0Wj0yUvP+rBAicxDkcriFhaLUju3wmz0LduXKmazTPnmCp1OnIqJ5C8QvWQJdWrqVO31zgZWr4f3v56D1J5/BycNTNK7NzsbJzWuxbMRgXD6wF3q9+UIiO6UczT+siFaDKsPOUSYav3I4ChumnMHT+ylmuycREREREREREeUPDKWICinXsDAo1CkQ9Mb7vHAJPypsBKkULm3aoOTWcPj//DPsq1Y1WadLSEDczFmIaNYMcQt+gi452bqNviFBIkGlRs3Qf84i1O/WB3I7e1FNenIS9i2ej1VfDMf9i+fMev+gWj7oOaEOAit6iMaSn2Zg84/ncGbnPeh1erPel4iIiIiIiIiI8i6GUkSFlDIkBHLfoqLZUikJeX+JMiJLEAQBzk2boMT6dQhY+iuUtU3vzaRXqRC/YAEimjZD7MyZ0Cbk7X2S5Hb2qNu5BwbMW4KqzVpDEMQ/+uMfPcDm77/B5qkTEffwvtnu7ehmh/eGVcO7PcpCJje+r0FvwOnt97BlxnkkP80w2z2JiIiIiIiIiCjvYihFVEgJEgncQkPFodTTvL80GZElCYIAp/r1UXzVShRfvQqODRqYrNNnZCBhya+IaNYcT6ZOhebJEyt3+mYc3dzRYvCn+ODHeShZvZbJmvuXzmPVF8Px56J5SEtKNFnzpgRBQJXG/ug2rjZ8ijuLxp/eS8H6Kadx9a9oGAzc046IiIiIiIiIqCBjKEVUiLmGhsIhy3iWR+K1ezbqhijvUQYHI/DXJSixcQOcmjczWWPIykLSylWIbNESMRO/gfrRIyt3+Wa8Akug01ffovO4SfAKLCEaNxj0uHLwTywbMRgnNq2FJss8S3q6F3VEpy9qofZ7JSFIBKMxrVqPI7/fwo4Fl5GuyjbL/YiIiIiIiIiIKO9hKEVUiCkCA+HsabzPTPK9OBt1Q5R3OVSpgoAFC1By2za4tG0LSMQ/Pg0aDZI3bEBk6zZ4PHYssiMjbdDp6ytRtQbenzYXLT8aDkd38b5Pmuws/L1xDZaNHIyrh/ZBr9fl+p5SqQQh75VE5zG14OrjIBp/eC0B6747jcjzsbm+FxERERERERER5T0MpYgKOc9a5Y2O0zMAbXy8jbohytvsy5WF36yZKLVzB1w7dQJkMnGRTgfVtj9w9732iBr5GbJu3LB+o69JIpGiSpOW6D9nEep16QWZnZ2oJi0pEXsXzsXqL0fiweWLZrlvkZIu6D4uBJUb+YnGstI12LP4KvYvv47sTK1Z7kdERERERERERHkDQymiQs6ncYjRcZa9B5K377BRN0T5g13JkvCdOgVBe/fAvVdPCAqFuMhgQOqePbgX1gmPPvoYmRcvWr3P16Wwd8A7XXthwJzFqNykBSAIopq4B/ewacp4bPnhf4h/9CDX95TbSdGoZzm892k1KF3Ef3+3Tj7BukmnEH07Kdf3IiIiIiIiIiKivIGhFFEh5+bvbnSsl8gRu20vDAaDjToiyj/kfn4oOnEiSu/bB49+/SA4iJekA4C0w4dxv0dPPBnyERwiI4E8+vpy8vBEq49G4INp81C8ag2TNfcunMXKMcOwb8kCpCfnPjAqXtkTPSfWQeka3qKxtMRsbJ19Acc3R0Cn0ef6XkREREREREREZFsMpYgKOaWLQrQ9TspjFbLz8JJjRHmNvIgPinw5FkEHD8DzoyGQODmZrMs6fRoBi5cgYOFCZBw7nmfDX+/iJdH56+/Q6atv4ekfKBo3GPS4vH8Plo4YjJNb1kOTnZWr+9k7ydFqcGU071cBCntpjpsBF/c9xMYfziA+Ki1X9yEiIiIiIiIiIttiKEVUyAkSAc5exrM7Mu09kRy+1TYNEeVjMnd3+IwciaCDB+A9Yjikbm4m6xzuP0DssGG437kLUvbtg0Gf92YBCYKAktVr4YMf56PF4E+hdHUT1WiyMnF8/Sos++wjXDtyIFfPQxAElKtbDD0m1oFfWfG9EqLTsfGHMzj/5wPo9XkzzCMiIiIiIiIioldjKEVEcPG0NzrOsvdEyvbtMKjVNuqIKH+TurjA6+OPEXRgP3y++AJSby+TdVnXryN62HDc69gRqu07YNBqrdzpf5NIpajarDUGzF2Mup26Q6awE9WkJcRjz8+zsfqrz/Dw6uVc3c/Zwx4dR9ZA/S5BkMiM97bSaw04sSUSW2edR0p8Zq7uQ0RERERERERE1sdQiojg7Gk8UyrL3gO65GSkHjlio46ICgaJoyM8+3+IoP37UWTiBEiLFjVZl30nAo/HjEFku3ZI3rw5TwbCCgcl6nd/H/3nLEKlRs0BQRDVxN6PxMZJXyP8x++QEP3ore8lSARUbx6Ibl/Vhqe/eCnEmAgV1k0+jRt/x+TZJRCJiIiIiIiIiEiMoRQRwTnHTKlMe08AgIpL+BGZhcTODh69esH/j2140qUz1J6eJus0Dx4iZtx4RLRqjcQ1a6DPyt1eTZbg7OmF1p+MRJ/v5yCwclWTNXfPncaKz4di/9JfkJGieut7efo5oevYYNRsFQjkyMA0WTocXHkDexZdRWZq3gvxiIiIiIiIiIhIjKEUEZlYvs8DAJB25Ai08fG2aImoQBLkcqTUro37o0fBa+pU2JUJMlmnjYnB00mTEdGiBRKWLoM+Pd3Knf63IiVLo8v4KQgb+w08/AJE4wa9Hpf+3Imlwwfi1NaN0Kiz3+o+UrkE9cKCEDaqpihAB4C7F+OwdtJp3L/C9yoiIiIiIiIioryOoRQRmVy+zwAB0Omg2rHDRl0RFWBSKZzatEbJbdvgv2A+7CtVMlmmi4tH7PTpiGjaDPG//AJdSoqVG301QRBQqmZt9J2+AM0HfgIHF1dRjTozE8fWrsBvn32EG0cPwaDXv9W9fMu4ocf4EFR4p5hoLDNFjZ0/XcahNTehzsp7+3IREREREREREdE/GEoRkWimlEEih1rhAgBQbQnnni1EFiJIJHBu3hwlNm1EwJLFcKhZ02SdTqVC3Nx5iGjaDLGz50CbmGjlTl9NIpWiWou2GDB3CUJCu0ImV4hqUuPjsGvBTPw+fjSirl99q/soHGRo+kEFtPmoCuyd5KLx60cfY/2UM3hy9+2XDCQiIiIiIiIiIsthKEVEULooIJEZb9jybAm/7Nu3kX3jhi3aIio0BEGAU8OGKL5mNQJXroDjO/VM1unT0pCwaBEimjXH0x+mQfM01sqdvpqdUomGPfviwzkLUaFhE5M1TyLvYP23X2LbjMlIfBz9VvcpVd0bPSfWQYkq4r25UuIysWX6OZz64y50ureblUVERERERERERJbBUIqIIEgEOHsYz5bKtP/3w97k8K1W7oiocBIEAY4hIQhctgwl1q+DUxPTwY4hMxOJy5cjsnlzxHz7LdRRbxfuWIqLlw/afjoafb6fA/+KlU3WRJw5iRWff4KDvy1CRsqbz2xSuijQ9pOqaNKnPGR2UqMxgwE4u+s+Nk87h8SYvLcfFxERERERERFRYcVQiogAiJfwy3ohlErZvh0GtdraLREVag7VqiHgl59RMnwLnFu3BgRBVGPQaJC8dh0iW7fG46++Rva9ezbo9OWKlApCt4nfo+Pn4+FezE80rtfpcGHPdiwbMRhntm+B9g3fZwRBQMUGvugxvjaKlnIRjcc9TMWGqWdw6eAjGPRchpSIiIiIiIiIyNYYShERAMDZy8Ho+NnyfQCgS05G6pEj1m6JiADYV6gA/zmzUWrnDrh27AhIpeIirRaq8HDcbfceokeNRtat29Zv9CUEQUBQ7broO+MnNP1wCOydxeFRdkY6/lq9DL+N+hg3//7rjfexc/VWImx0TdTpWAoSiXF4p9PocWzDHfwx7yLSkrJy9VyIiIiIiIiIiCh3GEoREQDxTCm1T0mjYxWX8COyKbtSpeA77QeU3rMbbt27Q5DLxUV6PVJ27cK9jh3xaOinyLxyxfqNvoRUJkON1u0xcN4S1O7QGVIT/afEPcXOuT9i7fjPEX3z+htdXyKVILhNCXT5MhjuRZWi8aibSVg36TTunH361s+BiIiIiIiIiIhyh6EUEQEAnHOEUtkuRY2O044cgTY+3potEZEJioAAFPv2fyi970+4f/A+BHt7k3VpBw7gftdueDhgIDLOnrVyly9np3TEu70/xIezFqJ8/UYma2IibmHdN1/gj1lTkfwk5o2u7x3ojG5f10bVpv6isewMLf789Rr+XHoNWemat+qfiIiIiIiIiIjeHkMpIgIAuHgaL9+Xni0DHF6YbaDTQbVjh5W7IqKXkRctiqJff42gA/vhOWgQJErx7CAASD9+HA/6vI8Hfd5H2vHjb7w0nqW4+hRBu+Fj0GvyTPiVr2iy5s6pv/HbqI9xaMUSZKalvva1ZQopGnYriw4jqsPRzU583TNPsW7SaTy6kfjW/RMRERERERER0ZtjKEVEAMQzpfQ6AxTN2xmdU20JhwF54wNtIvqHzNMTPqNHIejgAXh9+ikkrq4m6zLOnsWjAQNxv1t3pB48mGfCqWJlyqH7/6ahw6iv4Va0mGhcr9Pi/K5tWDZ8EM7t3Aqt5vVnOAVU8ECPCSEoU7uIaCw9ORt/zL2IoxtuQ6vW5eo5EBERERERERHR62EoRUQAAKWzAlKZ8VuCpGEro+Ps27cBfd74IJuIjEnd3OD96VAEHTgAn89HQ+rpabIu68oVRH0yFPdCw5CyaxcMOtsHMoIgoEydd9Bv5s9o0ncQ7J2cRTVZ6Wk4vPJXLB/9MW6fPPbaoZq9oxwtB1RCywGVYKeUicYvH4zChqlnEPfw9WdiERERERERERHR22EoRUQAAEEiiGZLqYuUgsw358wFhlJEeZnUyRGeAwciaP8+FBk3DrKiRU3WZd+6hehRo3G33XtIDt8KwxvMQLIUqUyOmm07YsDcJaj1XhikMnGIpHr6BNtn/4B1E7/A49s3X/vaZWoXQY8JIQio4C4aS3qSgU0/nMXZXfeh1+lz9RyIiIiIiIiIiOjlGEoR0XM5Q6nUxGy4hYbaphkiyhWJgwM83u+D0n/uRdHvvoU8IMBknfr+fcR89RUiW7dB0rp10GdnW7lTMXsnJzR+fwD6zVqIsvUamqx5fPsG1k74HDvmTIMq9slrXdfJ3R7th1VHw+5lIJUb/xdIrzfg1B93ET7zPFRxGbl+DkREREREREREJMZQioieyxlKJd16BNe3CKUyzp0zU0dElFsShQLu3bqh9O5d8P1xGhSlSpms00RH48n/vkVki5ZIWL4c+gzbBzNuRYqi/cix6DlpOoqVLW+y5taJo/jts49wZPUyZKWl/ec1BYmAqk0C0O3r2vAOFC8T+ORuCtZNPoNrR6PzzL5bREREREREREQFBUMpInrOJUcoFff3ZaTs3QuH4FqvfY34JUvwoHcfxM1fYO72iCgXBJkMrh06oNSO7fCbMwd2FSqYrNPGxiL2h2mIaNYc8YsWQ/caQY+l+ZatgJ7fTcd7I7+Eq08R0bhOq8XZ7VuwdMQgnN/9B3Ta/16K0KOYIzqPrYXgtiUgCMZj2mwdDq+5hV0/X0ZGitpcT4OIiIiIiIiIqNBjKEVEz+WcKZVl74G4mbMg8/R8rcfHL1mCuJmz/vn6p584Y4ooDxIkEri0boWSWzbDf+EvcKhWzWSdLikJcbNnI6JpM8TNmwdtUpKVOzUmCALK1WuAfrMWotH7A2Dn6CiqyUpLxaHli7Hi86G4c/rv/5zpJJVKUKdDKXQaUwuu3g6i8ftXErD2u1O4ezHObM+DiIiIiIiIiKgwYyhFRM+5eBp/KJtl7wEDBKTu/ROQyV752BcDKQDwHj0KylqvP8OKiKxLEAQ4N26M4uvWInD5b1DWqWOyTp+Sgviff0FEs+Z4On06tHG2DWhkcjmC3wvDgHm/ombbjpBIxe9NSTGP8cfMqVj/vy/xJOL2f16zaClXdBtXG5Ua+orGstI02L3wCg6svAF1ptYsz4GIiIiIiIiIqLBiKEVEz+WcKWWQyKFWuPxzoH35h7GmAimvQYMs0iMRmZcgCHCsWxfFVyxH8d9/h2Ojd03WGTIykLh0GSKat8CTSZOhefzYyp0ac3ByRpO+g9Bv1s8oU+cdkzXRN69hzbhR2DlvOlLiYl95PYW9DI17l0e7oVXh4KIQjd/8OwbrJp/G4zvJ5mifiIiIiIiIiKhQYihFRM8pnRWQyozfFuw//OSVj8k4fZqBFFEBoaxZA4GLFqHE5k1wbtHCZI0hOxtJa9YgolVrPB4/HuoHD6zcpTH3or7oMOprdP92GooGlTVZc/P4ESz7bAj++n05sjPSX3m9ElW80HNCCEpV9xaNpSZkIXzWeZwIj4BOozdL/0REREREREREhQlDKSJ6TpAIotlSkvot4T161Esfk37s2POvGUgRFQwOlSrBf/48lNr+B1zatwckJv67oNFAtWkzItu0RfSYL5B95471G32Bf/lK6DV5JtoNHwMXbx/RuE6jwZltm7B0+CBc2LsDulfM/nRwVqD1kMpo1rcC5PZS40EDcH7vQ2ycdhYJ0WnmfhpERERERERERAUaQykiMpIzlEpJyILXoEGvDKYABlJEBZFdmTLwm/4jSu/eBdcunQG5XFyk1yNl+3bcbd8BUcOGI/PaNes3+v8EQUD5+o3w4ayFeLf3h7BTOopqMlNTcHDZQqwY8ykizp6CwWB4+bXqFUOP8SEoFuQqGk+ISsOG78/gwr6HMOhNX4OIiIiIiIiIiIwxlCIiIzlDqdSELACA16BB8Ojf3+RjGEgRFWyK4sXhO3kygvbugXvv3hAU4j2XACB13z7c79wFDwcPRsb5C1bu8l8yhQK1O3RG/7mLUaN1e0ikUlFN0uMobJs+CRu/+xpP70a89FouXg4IHVUT9TqVhkQmGI3ptQb8vTkC2+ZcQGpiltmfBxERERERERFRQcNQioiMuIhCqcznXxf5YgwA4w9lBaWSgRRRISH39UXRCeMRdGA/PAb0h6BUmqxL/+soHvTqhQd9+yH95MmXzkayNKWLK5p+OAR9Z/yM0sF1TdY8un4Fq78aid0LZiIlPs5kjUQioGbL4uj6ZW14+olnX0XfTsa6707h1skYmz1XIiIiIiIiIqL8gKEUERkxtXzfM/FLlgAw/sDVkJHx/+eJqLCQeXujyJgxCDqwH16ffAyJs7PJuoxTp/Cw34d40KMnUg8ftllg4+Hrh9Ax49Htm+9RpFSQyZrrRw/ht5FDcGzdSqgzM0zWePk7ocuXwajeIjBnPg91lg77l9/A3iVXkZWmMfdTICIiIiIiIiIqEBhKEZERF08Ho+PUxCwY9AbEL1mCuJmzTD4mbuYsBlNEhZDM3R3ew4cj6OABeH/2GaTu7ibrMi9dQtRHH+Nep85I2bMXBr3eyp3+I6BiFfSeMgttPx0NZ09v0bhWo8ap8A1YOmIwLu3bBb1OJ6qRyaWo3zkIoZ/VgJOHnWg88nwc1k46hQfXEizyHIiIiIiIiIiI8jOGUkRkJOdMKb3WgKhffntpIPUMgymiwkvq7AyvIYMRdGA/inz1JWQ+Pibrsm/cQPTIkbjbvgNUf/wBg1Zr5U4BQSJBhYZN8OGchWjQsy8UDg6imgxVMvb/+jNWjPkUd8+fMTnDy6+sO3pMqIPydYuaeLwaO+ZfwpG1t6DJFgdbRERERERERESFFUMpIjKidFZAKjN+a4hesen51xInJ6Mx1y6dn3/NYIqocJMolfDo2xel9/2Jov/7BnI/P5N16shIPP5iLCLbtEXShg3Qq9VW7hSQK+xQJ7QrBsxdgmot20GQiP9LlBj9COHTvsWmyeMRe/+uaNzOQYZm/Sqi9eDKsHeUi8avHonG+imn8eSeyiLPgYiIiIiIiIgov2EoRURGBIkgmi2Vae8JAPAePQoSpdJozLVNW3iPHvX8mMEUEUns7ODeowdK79mNYt9/D0WJEibrNI8e4cnEbxDZshUSV62GPivLZJ0lKV3d0HzAx+g7/SeUqhVisubh1UtY9eUI7Pl5DlIT40XjpWv6oMfEEARW8hSNqWIzsWX6eZzefhc6nW2WLSQiIiIiIiIiyisYShGRSM5QKsveE96jR8Fr0CCT9V6DBjGYIiIRQS6HW1goSu3cAb9ZM2FXtqzJOu2TJ3g6ZQoimjVHwq+/QpeWbuVOAU//AIR9MRFdJ0yBT4nS4gKDAdeO7MeyEUNwfMNqqLMyjYYdXe3w3qdV0ahXOcgUxv+9MugNOLPzPrb8eA5JT6z/3IiIiIiIiIiI8gqGUkQk4qBPMz4R0vilgdQzpoKpjHPnLNEeEeUzglQKl7ZtUXJrOPx//gn2VaqYrNMlJCB2xkxENGuGuAU/Qaey/rJ3gZWroc/3s9H6k8/g5CGe+aRVZ+Pk5nVYOnwQLh/YA73+3z2jBEFA5Xf90H1cCIqUdBE9NvZBKjZMOYMrh6NM7lNFRERERERERFTQMZQiIhGP8v5Gxxrv4q/1uBeDKa+hQ6GsVcvsvRFR/iVIJHBu2hQlNqxHwNJfoQwONlmnV6kQv2ABIpo2Q+zMWdAmJFi9z0qNmqH/nEWo3/19yO0dRDUZqmTsW7wAq74YjvsXjQN4tyJKdPq8JkLal4QgEYzGtBo9/lp3GzvmX0J6crZFnwcRERERERERUV7DUIqIRHIu35eS8Pr7vHgNGoTia1bDe9in5m6LiAoIQRDgVL8+iq9eheKrV8GxQQOTdfr0dCQsWYKIZs3xZOpUaJ48sWqfcjt71O3UHQPmLkbVZq0hCOL/NsU/eoDN33+DTVMmIO7h/efnJVIJarcric5f1IJbEaXocQ+vJ2LtpFOIOBdryadARERERERERJSnMJQiIhEXT+NZAamJWTDoX3+pKc6QIqLXpQwORuCvS1Bi4wY4NWtmssaQlYWklasQ2aIlYiZ+A/WjR1bt0dHNHS0Gf4oPps9Hyeqm398eXL6AVV8Mx96F85CWlPj8fJESLug2rjaqNPYXPSY7XYu9S65i32/XkJ2hsVj/RERERERERER5BUMpIhLJOVNKrzUgI0Vto26IqDBwqFIFAT8tQMlt2+DSti0gCKIag0aD5A0bENm6DR6PHYvsyEir9ugVUBydvvoWncdNgndgCXF/Bj2uHvoTy0YMxt8bf4cm659ZpnKFFO/2KIv2w6vB0VUhetztU0+xbtJpRN1KsvRTICIiIiIiIiKyKYZSRCSidFZAKjN+e3iTJfyIiN6Wfbmy8Js1E6V27oRrWBggk4mLdDqotv2Bu++1R9TIz5B186ZVeyxRtQb6TJuLVh+NgKO7h2hck52FE5t+x9KRg3Hl0J/Q63UAgMCKnugxsQ6CavmIHpOWlI1tsy/g2MY70Gp0Fn8ORERERERERES2wFCKiEQEiSCaLZWakGmjboioMLIrVRK+309F6T174NazBwS5XFxkMCB1zx7cCw3Do48/QealS1brTyKRonKTFhgwZzHqdekFmZ2dqCY9KRF/LpyH1WNH4MHliwAAe0c5Wg6shBb9K0LhIA7cLh14hI3fn0Xco1RLPwUiIiIiIiIiIqtjKEVEJuUMpThTiohsQeHvh2LffIPS+/fDo18/CA4OJuvSDh3C/e498LB/f6SfPg2D4fX3wcsNub093unaCwPmLkHlJi1NLjsY9/A+Nk0Zjy3ff4P4Rw8gCALKhhRFjwkh8CvnLqpPfJyOTT+cxfm9D6B/g/38iIiIiIiIiIjyOoZSRGSSeKYUQykish15ER8U+XIsgg7sh+eQIZA4OZmsS//7BB5+0BcPevdB2tGjVgunnNw90Oqj4fhg2jwUr1rDZM29i+ewcsww7Fu8AOnJSXD2sEfHEdXRoGsZ0ZKpep0BJ8IjsXXWeajiOFOViIiIiIiIiAoGhlJEZJILl+8jojxI5uEBn89GIujgAXiPGA6pq6vJuszz5/Fo0GDc79IVKfv2waDXW6U/7+Il0WXcJHT66lt4+geKxg0GPS4f2IOlIwbj5OZ10GqyUa1ZALp+HQyvAHHQFhOhwvrJp3H9+GOrBWxERERERERERJbCUIqITOLyfUSUl0ldXOD18ccIOngAPmPGQOrlZbIu69o1RA8bjnsdO0K1fQcMWq1V+itZvRY++HE+WgweBkc38RJ9mqxMHN+wGss++wjXjhyAR1EluowNRq3WxUUrAGqydTi06iZ2L7yCjBS1VfonIiIiIiIiIrIEhlJEZJKLp/G+LamJWTBwbxMiymMkjo7wHNAfQfv3ociE8ZAVK2ayLvtOBB6PGYPIdu2QvHkzDGrLhzsSqRRVm7VC/7mLUbdzD8gUdqKatIR47Pl5NlZ/9Rmib15F3dDSCBtdEy5e9qLae5fisW7SKdy7HG/x3omIiIiIiIiILIGhFBGZlHOmlF5r4G/oE1GeJbG3h0fv3gjauwfFpkyGvLh46TwA0Dx4iJhx4xHRujUS16yBPjvb4r0p7B1Qv1sf9J+7CJUaNYdoKhSA2PuR2Djpa4RP+xYKh1R0Hx+CivXFAVtmqga7fr6MQ6tuQJ1lnVlfRERERERERETmwlCKiExSOisglRm/RXAJPyLK6wSFAm6dO6P0zp3wnT4ddmWCTNZpH8fg6aTJiGjeHAnLfoM+Pd3ivTl7eKH1JyPx/g9zEVi5qsmau+fPYMXnQ/HXmiWo06EY2n5cBQ7OclHd9eMxWD/5NGIiVZZum4iIiIiIiIjIbBhKEZFJgkQQzZZKTci0UTdERG9GkMng2v49lNy2DX7z58G+UiWTdbq4eMT++CMimjVH/C+/QJeSYvHefEqUQpfxUxA29ht4+AWIxg16PS79uRNLRwxC7L3D6DK2OkpUFe+ZlRKfhfAZ53ByayR0Wr3F+yYiIiIiIiIiyi2GUkT0UjlDKc6UIqL8RpBI4NKiBUps2oiAJYvhULOmyTpdcjLi5s5DRNNmiJ09B9rERMv2JQgoVbM2+k5fgOYDP4GDi6uoRp2ZiWNrV2DdN8NRskoCGvcpC7md1KjGYADO7XmATdPOIvGx5Wd7ERERERERERHlBkMpInop8UwphlJElD8JggCnhg1RfM1qBK5cAcd36pms06elIWHRIkQ0a46nP0yD5mmsRfuSSKWo1qItBsxdgjph3SCTK0Q1qfFx2L1gJi7snIl3ezihWGlxgBX/KA0bpp7BpQOPYNAbLNozEREREREREdHbYihFRC/lwuX7iKiAEQQBjiEhCFy2DCXWrYVT48Ym6wyZmUhcvhyRzZsj5ttvoY6KtmhfdkolGvT4AB/OWYiKDZuYrHl69w52zvkGEuxG1SaOkEgFo3GdVo9jG+9g29yLSE3kLxEQERERERERUd7DUIqIXorL9xFRQeZQvToCFv6CkuFb4Ny6NSAIohqDRoPktesQ2bo1Hn89Dtn37lm0JxcvH7T5dDT6fD8H/hUrm6yJPHsSZ7dNRWC5q3D1FvccfSsJ6yadxu3TT2AwcNYUEREREREREeUdDKWI6KVcPB2MjlMTs8DPN4mooLGvUAH+c2aj1I7tcO3YEZBKxUVaLVRbtuBuu/cQPWo0sm7dtmhPRUoFodvE79FxzAS4F/MTjet1Otw8vhdJUQvhHXAHBoPWaFydqcW+Zdfx59JryErXWLRXIiIiIiIiIqLXxVCKiF4q50wpvdaArFS1jbohIrIsu9Kl4TvtB5Tesxtu3boBcrm4SK9Hyq5duNexIx4N/RSZV65YrB9BEBAUXAd9Z/yEpv0/goOzi6hGnZGOR5e3Q4bfIZdHimZGRZyNxbrvTuHh9QSL9UlERERERERE9LoYShHRSymdFZDKjN8mOFOKiAo6RUAAin33LYL2/Qn3D96HYG9vsi7twAHc79oNDwcOQsbZsxbrRyqToUar9zBg3hLU7tgFUhNhWXpyPFJjt0Fi2AS91nj/q3SVGtvnXcJf625Do9ZZrE8iIiIiIiIiov/CUIqIXkqQCKLZUkREhYW8aFEU/fprBO3fB89BAyFRKk3WpR87hgd93seDPu8j7fhxi+3jZKd0xLu9+uHDWQtRvn4jkzWZqkdQp66HNnMH9Loko7Erh6OwceoZxD5IsUh/RERERERERET/haEUEb0SQykiKuxkXl7wGT0aQQcPwOvTTyFxdTVZl3H2LB4NGIj73boj9eBBi4VTrj5F0G74GPSaMhN+5SuarNFm3YY6dSU0GYdh0Gc+P5/0JAObp53DmZ33oNfpLdIfEREREREREdHLMJQioldiKEVE9A+pmxu8Px2KoAMH4PP5aEg9PU3WZV25gqhPhuJeaBhSdu2CQWeZJfOKBZVD9/9NQ4fRX8OtaDFxgUEHXfZ5ZKcsgzbrHAwGLQBArzfg9PZ72DLjPJKfZlikNyIiIiIiIiIiUxhKEdEruTCUIiIyInVyhOfAgQjavw9Fvv4asiJFTNZl37qF6FGjcbfde0gO3wqDRmP2XgRBQJmQd9Bv5s9o0m8w7J2cxUWGbGgzj0CdsgI69e3nM7ie3kvB+imncfWvaIvN6iIiIiIiIiIiehFDKSJ6Jc6UIiIyTeLgAI8P3kfpfX+i6HffQu7vb7JOff8+Yr76CpGt2yBp3Tro1Wqz9yKVyVGzTQcMmLsEwe07QSqTiWoMehU06TugTl0HvfYxAECr1uPI77ew86fLSFdlm70vIiIiIiIiIqIXMZTKpfPnz2Pq1Klo06YNAgICYGdnBycnJ5QtWxb9+vXD0aNH//May5cvhyAIr/Vn+fLlln9SRC9w8XSwdQtERHmaRKGAe7duKL1nN3x/nAZFqVIm6zTR0Xjyv28R2bwFElesgD7D/Evn2Ts5oVGf/ug3ayHK1Wtossagi4E6dR3UaTug16kAAA+uJmDdd6cReSHW7D0RERERERERET3DUCoXGjVqhFq1amHcuHHYs2cPoqKioFarkZ6ejjt37mDFihV499138cEHH0Btgd+KJrIGzpQiIno9gkwG1w4dUGrHdvjNmQO78uVN1mljY/H0+x8Q0aw54hcthi4tzey9uBUpivdGjkXPSTNQrKzpPvSa21CnLIcm4wgM+ixkpWuwZ9FVHFh+HdmZWrP3REREREREREQkXtuFXlt0dDQAwNfXF127dkXDhg0RGBgInU6HEydOYObMmYiOjsaqVaug1Wrx+++//+c19+7dC19f35eO+79kaSAiS1G6KCCVS6DT6G3dChFRviBIJHBp3QrOrVoi7fBhxC9ciKxLl0V1uqQkxM2ejYSlS+HRpzfc338fMnd3s/biW7Y8en43HXdOHcdfvy+H6umTnF1Al30OOvU1yOzrQmpXDTdPPkH07WQ061cBfmXN2w8RERERERERFW4MpXKhfPnymDp1Kjp37gypVGo0VrduXbz//vuoX78+bt++jbVr1+Ljjz9Gw4aml9J5pmzZsihRooQFuyZ6M4IgwNnDHslPzb/MFBFRQSYIApybNIFT48bIOHkS8QsXIePUKVGdPiUF8T//goTlK+Deswc8+/WDzNvbrH2UrdsApWrVwaU/d+Lk5nXISs8xO8uQBW3mYeiyL0Lm0BApCUHYOvsCajQPRJ0OpSCVc3I9EREREREREeUeP2HIhR07dqBbt26iQOoZLy8vzJw58/nxpk2brNUakVm5cAk/IqK3JggCHOvVQ/EVy1H89zVwfPclez1lZCBx6TJENG+BJ5MmQxMTY9Y+ZHI5arULRf95S1CzbUdIpOLfTTLok6FJ3w512gboNTG4sO8hNv5wBvFR5l9ikIiIiIiIiIgKH4ZSFta4cePnX0dGRtquEaJc4L5SRETmoaxZE4GLF6PEpk1wbtHCZI0hOxtJa9YgomUrxEyYAPXDh2btwcHJGU36DkK/WT+jTJ13TPegjYY6dS3UaTsR/zAGG384g/N/PoBebzBrL0RERERERERUuDCUsjC1Wv38a4mEf92UPzGUIiIyL4fKleA/fx5Kbf8DLu3bA6b+j6DRIHnjJkS2boPoMV8gOyLCrD24F/VFh1Ffo8e3P6JYUDmTNXrNLWSn/IbslCP4e/N1bJt9ASnxmWbtg4iIiIiIiIgKD6YkFnbkyJHnX5cvX/4/6/v164ciRYpAoVDAy8sLdevWxfjx4xEdHW3JNoleycXTwdYtEBEVSHZlysBv+o8ovXsXXLt0BuRycZFej5Tt23H3vfaIGjYcmdeumbUHv/IV0XPyDLQb8QVcvIuYqNBBl30W2apleHjlENZOOoGbJ2JgMHDWFBERERERERG9GfFmAmQ2er0eP/zww/Pjbt26/edjXgyxEhISkJCQgFOnTmHmzJmYM2cOhgwZ8sZ9REVFvXI85oU9KzIzM5GZyd+Azu+ysrJMfv22FE7CS8ey1dn8niF6TeZ+bVIB4uMD93Hj4Ny/P1QrViI1PBx4Ybb1M6n79iF13z44NGgA1wEDYF+9mtlaKF6jNvwqVcOV/btxbvsWqDMzjAsMmdBmHkJ69kX8ueRd3DkfjAbdSsPeyUSQls/wtUmUN/G1SZQ38bVJlDfxtUmUN+Xn16alPvMVDPw1V4uZOXMmPv/8cwBAWFgYtmzZYrJu+fLlmDRpEjp16oR69eohICAAAHD37l1s3rwZmzZtev7byIsWLcLgwYPfqA9BeHmgkNOvv/4KLy+vN7o+FXy6bAExB51MjnnVzoC9l87KHRERFWzSlBS4Hz0Gt5MnITERTj2TUboUEpo2RWbp0sAb/Lz/L7qsLCRePQ/VnevAS/6rKJH5Q+HSEJ41XeHgw58DRERERERERAVJfHw8Bg4cCAB49OgR/P39zXJdhlIWcuTIETRv3hxarRY+Pj64fPkyihQxtSQOoFKp4OLi8tLwaMeOHejUqRM0Gg2USiUiIyNRtGjR1+6FoRTllsEARP/pBOjF30sMpYiILEeSng7348fhdvxvSP+PvfuOj6JM/Af+mdm+6Y0SShISKSLSBIyCgoioiIJnPe5QD7k71FPOcup5np56vzvva0Hv7GJBRawoVlBsoEhVQDohCQkB0vvWmfn9sbuzfbNJNpXP+/UKOzvzzDMzyz4p89nneSJ8osoyeDCqzzkHTcOHxTScstfXournTWgqLQ5/jvoRSBwyEamn6iGyDz4RERERERFRr8BQqgfZtWsXpkyZgpqaGhgMBqxevRpnn312u+r85z//ib/97W8AgIceegj33HNP1PtGM3zfxIkTAQD79++P2ZuLuo7VasV3330HADjrrLNgNBrbXed7//oJdeXBN0Rn/nEEBgxLbnf9RCeCjmibdGKQGxpQ//Y7qH/9dci1tWHL6YcNQ9L118N8zjQIYuymDj2ydxd+eOs1VBQWhCmhgTllEmb8YR4GDO8Ts+N2FrZNou6JbZOoe2LbJOqe2DaJuqee3DZLS0sxdOhQALENpfh51hgrLCzEeeedh5qaGmg0Grz55pvtDqQAYOHChbj33nuhKAq+/fbbVoVSrXmzmEwmmEymtpwidVNGozEm/6dJ6eaQoZRBb+B7hqgNYtU26QRhMiHuphvR93fXoebtt1G99CU4KyqCitn37UPFHXdAn5uL9D/8HokXXghB2/5f9/LGnobc0eOw94fv8N0br6CxujKghITmmh/w4cM/I/e0izDr5quh0/fMuabYNom6J7ZNou6JbZOoe2LbJOqeelrb7Khzjd1HaAllZWU499xzUVZWBkEQ8NJLL2Hu3LkxqbtPnz7qsHpHjhyJSZ1ErZGQ1nNSfCKi3ko0m5F27bXI/fIL9Lv/PugyM0OWsxcUoOwvd6LgggtR8/bbkCPMSxUtQRQxYvJU/O6J5zD56vnQ6EL8XFCaUbD5bTx9/ULsWLsO7JBPRERERERERL4YSsVIZWUlZsyYgUOHDgEA/vvf/2L+/PkxPQZv7FBXYihFRNR9iAYDUq66CrmrP0f/f/0L+uzskOUcJSU49vf7UHDeTFS/9jrkCPNSRUunN2DSnCvw+6dexIgp5wEInsPKaavEF88/jFduux3HD4Ub8o+IiIiIiIiITjQMpWKgrq4OM2fOxO7duwEA//73v3HjjTfG9Bjl5eWoqqoCAGSG+VQ0UUdKTOs5XUuJiE4Ugk6H5LlzMOSTjzHgsUdhcI/1HMh57BiO//OfODj9XFS9+CKkxqZ2H9uclIwLb7oZ1/zfU0gbeErIMtVH9uH1uxfjoyWPoiFoyD8iIiIiIiIiOtEwlGqn5uZmzJo1C9u2bQMA3HPPPbjzzjtjfpznn39e7SkVizmqiFqLPaWIiLovQaNB4oUXIueDlRj49FMwjhoVspxUVYXyRx7FwenTUfG/pyDV1bX72OmDB+PaR/+NGb+/B1pDvxAlFOzf8DWW/un3+P7t12G3NLf7mERERERERETUMzGUage73Y65c+fi+++/BwDccssteOihh1pVR1FREX766aeIZT7++GM8+OCDAFyToV133XVtO2GidmAoRUTU/QmiiIRzzkH2229h0IsvwnzaaSHLyXV1qPzf/3DwnOkof/QxON29sdvj1On5uOH5ZzBk/NWAEB+0XXLa8eN7K/Dizb/HjrWfQ5akdh+TiIiIiIiIiHoWbVefQE929dVXY82aNQCAc845BwsWLMAvv/wStrxer8fQgGF1ioqKMG3aNOTn52P27NkYM2YM+vTpA0VRcOjQIbz77rt499131V5SjzzyCAYMGNBxF0Xko+xgLTLzkgEA5kQ9NDoRkkNu1X5ERNT5BEFA/OQzET/5TDRv3ozKZ59Dk/tDNL7kpiZUvfACql97DclXXI60BQug69u3zcfVGXWY+5d5KNx+Dj575jVYajYAcPiVsdTX4ovn/4efPvsIZ/3md8gZM77NxyMiIiIiIiKinoWhVDu8//776vJXX32FU089NWL5rKwsFBUVhdy2YcMGbNiwIey+ZrMZjz/+OH7/+9+36VyJWmvTR4ew+ZMi5M/NxbiZWRAEAQmpRtQejzzs0rbVxdiwsgATZmVj4uwhnXS2REQUjnnCBAyeMAGWnTtR+exzaFy7NqiMYrWiZtlrqH1zBZIuvRRpC6+HfuDANh8zZ3R//O7RP2Ptq2fhwIZVkOw7ASh+ZSpLivH+v+5D1qljcfZvfoeMrJw2H4+IiIiIiIiIegYO39fFxo8fj9dffx033ngjJk2ahMGDB8NsNkOv16Nv374455xz8M9//hOFhYUMpKjTlB2sxeZPigAAG1YWYNvqYgBAYgtD+HkCKQDY/EkRyg7WduRpEhFRK5hGjcKgp/6HnA8/ROKFFwKCEFRGcThQ+9ZbKJh5PsruvAu2Q4fafDxjnA6zbjgdF958M+L7XAdRGzp0Kt7xE5bdeTNWP/skGqvbP4wgEREREREREXVf7CnVDp4h9dojISEB8+bNw7x582JwRkSxkZmXjPy5uWrA5HmMNK+UbyAFAPlzczmEHxFRN2QcNhQDHnsU6TfdhKoXXkDdqlVA4PxOkoS6Dz9E3apVSJg5E+l//AOMw4e36XhDJ/RDZt6FWPtqDop3/gyn5VsoUqV/IUXBL1+vwd4fvsWE2b/ChNmXQmfkXIZEREREREREvQ17ShFRSONmZiF/bq76fMPKAtRXWUOWDRVIjZuZ1eHnSEREbWcYkoPMf/0/5K5ejeSrr4Kg0wUXUhQ0fP45CufMRcmiG2DZvr1Nx4pPMeLim8dg6m/OhSl1PrTm8wAhLqic02bDhneXY+ni32Pn12sgy1KI2oiIiIiIiIiop2IoRURhBQZTJburg8oc2HKcgRQRUQ+mHzgA/e+7D7lffonUa66BYDKFLNf49dcouvIqHP7d79C0aVOre4wLooBTpw3ClfdMQv+T8mFI+h20xnwAwWFYU0011jz7JF6/8xYU7fipLZdFRERERERERN0QQykiiigwmAq054ej6jIDKSKinkvXtw/63n0X8tZ+ibQ//AFifHzIck0/bMDh+degeN5v0LhuXavDqdT+cfjVX8ZjwqyToDPnw5B0HTT6UwAEz3FVcbgI7/3zXrz/r/tQWVLclssiIiIiIiIiom6EoRQRtailYApgIEVE1FtoU1PR58+LkffVWmTccjM0SUkhy1m2bUPJwt+j6LLL0fDll1BkOepjaLQiJl08BJfeMR5JfTOgizsP+sTfQNSG/jlS+PNWLLvjT/ji+f+hqbamTddFRERERERERF2PoRQRRWXczCycPmdIyG0MpIiIeh9NYiLSFy1C3ldr0eeOO6BJTw9ZzrprF0pv+hMKL7kEdR9/AkWKfh6ofkOScOU9E3DylEyImgzoE34FXfylEMS0oLKKImPH2s+x9Jbf48f3VsBhCz3PIRERERERERF1XwyliChq48/Phij6D69kMGsZSBER9WJiXBzSFvwOeV9+gb73/g3a/v1DlrMdOIiy22/HoQtnofa996DY7VHVrzdqMW3ecMy64VSYEvXQ6LKhT/wttOYZgBAXVN5hteD7t1/HS4v/gF3frm1VDy0iIiIiIiIi6loMpYgoattWF0OW/ecOsTU7sW015/kgIurtRKMRqfPmIW/15+j/0IPQDR4cspy9uBhH7/kbDp5/PqqXL4dss0VVf/ap6bj63onIGZ0OQRChNYxyzTdlPB2ANqh8Y3UVPn/6cbx292Ic/mV7ey6NiIiIiIiIiDoJQykiisq21cXYsLJAfW6I894g3LCygMEUEdEJQtDrkXzZZcj99BNk/t//QZ8Xes5BZ9lRHH/gQRw891xUvfQy5KamFus2JehxwR9H4Zz5I6AzaiAIeuhMZ7jCKf3IkPtUFB3COw/eg5UP/wNVpSXtujYiIiIiIiIi6lgMpYioRYGBVP7cXFz/6FnIn+u9EclgiojoxCJotUiafRGGrFqFAf99EsaTTw5ZTqqoRPl//oOD089F5bPPQqqvj1yvIGDEGf1x1d8mon9ekmudmABd3EzoE34DURu6h9ahbZvx6h034ssXn0ZzXW27ro2IiIiIiIiIOgZDKSKKKFQg5ZlDatzMLAZTREQnOEEUkThjBrLfexeDnn8OprFjQ5aTamtRseQJHDxnOsqXLIGzpiZivYnpJsy5dRzy5+ZC1LjmMxS1faCL/xV08XMgiKlB+yiyjO1ffIqltyzExpVvw2GPbuhAIiIiIiIiIuocDKWIKKxIgZQHgykiIgJcPZzizzoLWcvfwOBXX4U5//SQ5eTGRlQ9+xwOnjMdx//9MBzl5WHrFEUB42Zm4fK7T0NqZpx6HI1uCPSJ86E1nwtBNAftZ7dYsH7FMry8+I/Yve5rKLIcm4skIiIiIiIionZhKEVEIUUTSHkwmCIiIg9BEBA3aSKyXn4Z2SveRPzUqSHLKRYLql95BQXnzsCxBx6A48iRsHWmD0zA5XefhjEzBgOC5zgitIZToU+8DhrjJAiiNmi/hqoKfPa/R/HGPbeiZPfOWFweEREREREREbUDQykiClJ2sDbqQMojVDBVdrC2o06RiIh6ANOYMRj07DPIef89JMycCQhCUBnFbkfN8jdxcOb5KPvrPbAVFoasS6vT4Mxf5WHO4rGITzWo6wXBAJ3pTOgTroM+bmTIfY8fOoi3/3E3Pvi/h1BdVhqbiyMiIiIiIiKiVmMoRURBMvOSMWFWNoDoAikP32BqwqxsZOYld9AZEhFRT2I8+WQMfGIJhnz8EZIuuRjQaIILOZ2oe/99HJp1EY7cehus+/aHrGvAsBRcde8kDDu9n996QUyAqJ8JfcI8JKTnhty3YMuPePX2G7H2pWfRXF/X7usiIiIiIiIiotZhKEVEIU2cPQRzbx8XdSDlMW5mFubePg4TZw/poDMjIqKeypCbi8yHH0bu558h+YorAJ0uuJAso/7TT1F4ySUoufEmWHYGD7tnMGlx7rUnY+bCU2CI8x+2T9T2hd15MZIHXIHEjP7B1UsSfl79MZbevBCbPnwXTrs9ZtdHRERERERERJExlCKisNra04k9pIiIKBL9oEHo/8A/kPfFGqT89rcQDIaQ5RrXrkXR5Vfg8PUL0bx1a9D2vPF9cPXfJ2HwyDS/9YIgwNo8EHbpSuROvBymhMSgfe2WZqxb/gpevvWPOPDjeiiKEpuLIyIiIiIiIqKwGEoRERERUZfQ9euHfvf8FXlrv0Tawushms0hyzWtX4/ieb9B8W/no/H77/0CpLgkAy666VSc/eth0OoDfrVVRBw5MAhpOTfg1HMvgSZEz6z6inJ88ewTKF3zISzlx2J6fURERERERETkj6EUEREREXUpbXo6+tx2G/K+Wov0m26CmJQUslzz5s0oWXA9iq68Cg1ffa2GU4Ig4JSzBuDKeyaiT3Zwr6jKEjsO7TgJZ151P4afeXbIum1VFTjy5Uf4/L+PoOZYWewujoiIiIiIiIhUDKWIiIiIqFvQJCcj46Ybkbf2S2Tcdis0aWkhy1l37EDpDTegcM5c1H/2GRRJAgAk9zXjV3eMw8TZORBEwW8fp0PGpo+rIAszcOlfH8aA4SND1n1o60a8cusN+PqV52FpqI/tBRIRERERERGd4BhKEREREVG3oomPR/rChcj78gv0/etfoe3bN2Q52759OPLnW3HootmoXfkBFIcDokbEhFk5+NVfxiO5b/BwgId3VWPtsiqMn30rLr79HqT0zwwqI0tObPtsFZbeshBbPnofTocj5tdIREREREREdCJiKEVERERE3ZJoMiF1/m+R+8Ua9PvHP6AbODBkOXthIY7efTcKzr8ANStWQLbb0Tc7EVfcMwGjpgbvY2tyYs2Lu1D8SxKuevAJTJ53HUS9IUS5Jnz7+kt45bZF2Ldhvd9cVkRERERERETUegyliIiIiKhbE/V6pFx5BXI//wyZD/8b+iFDQpZzHDmCY/f/AwXnzkD1q69CI9lx1lVDMftPo2FO0geV37fxGN751zZk5JyJrIuvRPKIUyFqtUHl6o4fw8dL/o03/34Hyvbvifn1EREREREREZ0oGEoRERERUY8gaLVIuuQSDPloFQYsWQLD8OEhyznLy3H8X//GwennovL5FzAgy4Cr752E3HF9gso2Vtvw2dO70XAoEWmnTsKv/7UEw/KnhKz36P69ePPeO/DR4/9G7fFjMb02IiIiIiIiohMBQymiHm7b8W2duh8REVFXEzQaJJ4/Ezkr38fAZ56GcfSpIctJ1dWoeOwxHDxnOhpeehbTL8vEudedDL0poDeUAjQW6nH8BzMc9nhctPhOXP3gI8gcOiJkvft/XI9Xbv0jvnltKayNjer60r272nQ9bd2PiIiIiIiIqKdhKEXUgz3989O45vNrsHTn0lbtt3TnUlzz+TV4+uenI5Zj4EVERN2ZIAhImDYN2StWYPDLL8E8cWLIcnJ9PSqffhoF585A8nev4fIbczFgWEpQOWejBh89vhPbVhejX94wXPXAfzD7z3chqW+/oLKS04mtH6/E0lsWYtunH2L9W6/hrfvuxKYP323VNWz68F28dd+d+OGdN1q1HxEREREREVFPxFCKqIfadnwbntn+DABgybYlUQdTS3cuxZJtSwAAz2x/JmyA1NGBFxERUawIgoC4/HxkLXsVWcvfQNxZoYffU5qbUb30JRz71SxMavgE+TP7QqP1/3VYlhRsWFmADx7bhoYqK4aePhnXPvoMps6/Hsa4+KA6rY0N+PrVF7Dx/bcAAOuWvxJ1MLXpw3exbvkrAIAN777JHlNERERERETU6zGUIuqhxvUdh8XjFqvPowmmfAMpAFg8bjHG9R0XVK6jAy8iIqKOYh43DoOffx7Z776LhBnnhiyj2GyoXf4GTH+/GtMSNiAlQxdU5ujBOqx4cBP2/FAGjVaL8bPm4HdPvoDxsy6BqNGGqNUrmmDKN5ACgCm/vhYDh49s+QKJiIiIiIiIejCGUkQ92IJRC6IOpkIFUgtGLQhZtiMDLyIios5gOmUkBv73v8hZ9SESL7oIEEP82utwQF65DKPfvxH9rD8BUPw32yR8tWwvPnt2J5rr7TDFJ2Dq/IW49rGnMXTSmRGPv275K/jujZdDbgsVSE285LLWXiIRERERERFRj8NQiqiHCxVMvbrnVb8yrQmkItUbi8CLiIioMxmHDsWAR/4PuZ99iqTLfgVog3s5iZIDJ//4Isb99DjMaAraXri9Eise3IjCHZUAgJR+mZh969246h//Qf+8YWGPvXnVe3jr/rtgbWpU1zGQIiIiIiIiohMZQymiXiAwQHpq51N4t+ldFDmL8PhPj7c5MIommGIgRUREPYE+KwuZDz2EvDWrkTJvHgS9PqhMcl0BTlt3L/of/T5om6XBgU+f3oGvX98Lu9UJABgw/GRc/dAjmHXLX5CY0TfkcUv3/ILn/ngNfvr8I/y48i0GUkRERERERHRCizwgPhH1GJ4gyBMQ/ez4GT87fgYOeMtoBA3e2PMGPir4CImGRCTpk5BoSESiPtH7qE9EkiFJXTcnbw5kRcaTPz3pV/+CUQsYSBERUY+jy8xEv3v/hrQ//B7Vr7yKmhUroDQ3q9u1kg0j9i1HeuVO7B02Dw59gt/+u9eXoXRvNc69biT65yZBEAQMP+Ms5J12On5a/TE2vv8WbM3+va2cdhu+evk5v3UMpIiIiIiIiOhExFCKqBcJDKYCSYqECksFKiwVra5bK2rhlJ1q/U/9/BQcskPdvmj0IgZSRETUY+j69EHfv9yBtIXXo3zpS6h+/XVorFZ1e0bVTiRtfgh7h81DZfqpfvvWV1qx8pGtGHd+FibMyoFGK0Kr12PC7Esx8uzp+PH9Fdi+5lPIkhTy2IIg4PihgyjZvRMDR5wCQRA69FqJiIhONKV7d2Hg8JGdth8RERFFj8P3EfUyVw2/qkPq9QRSHr6BFAA8s/0ZTHt7Gn63+nd4YMMDeG33a1hXug6lDaWQ5NA35YiIiLqaNiUFKTfegMK77kLlzJkQk5PVbXpHI0b98hyG730dGsnmt5+iAFs/K8Z7/9mK6jJXz6jCTzbCnJiEc679A6555GnkTcgPeUxFUbD/x/V4+x93Y9kdN2HtY0/DbrVEPM/SvbvadH1t3Y+IiKin+uGdN/DWfXdi04fvtmq/TR++i7fuuxM/vPNGB50ZERERAewpRdTrvLTzpS47dqWlEpWWSmw+ttlvvV7UIyspC9mJ2chJykF2YjaGJA1BdlI24nRxXXS2REREXrLJiOpzpmHcfX+HddUqVC99Cc6KCggAMo9tQHLtAewZMR91Sbl++1UcbsDb/9qMdH09jjfF49Rt72DKvZcjNXMA+p80DAc3b4h43MqSYlSWFGPH5i8w+rzzMWbmLKRmDvQr88M7b2DDu2+2esi/TR++i3XLX0H+ZVfjjMvnRb0f9WzsHUBEJ7LSvbuw4d03AUCdxzGan52en5kAsOHdNzF41Bh+TyQiIuogDKWIepGlO5fi+Z3Pq89NggkWxfvJ66uGXYWzB52Nels96ux1qLfVo97u+qqz1fktN9gbYHFG/tR2tOyyHQdqDuBAzYGgbX1MfZCd5A2rcpJykJ2Ujf5x/SEK7MxJRESdSzSZkHbttUi5+mrUrVyJqudfgKOsDGZrJcb99DiKB89AYfZFUESNuo/kkHHcEQ8A2HEkDXjwHRhOFdSbWwCgN5th95m7KpAsO/DT5x/hp88/wuBRYzBm5izkjpuIsgN7eXONosYAk4hOdAOHj8SUX1+r/gyM5men789MwDXvI39mEhERdRyGUkS9xNKdS/3mkjrPeB7OMp6Fo4OO4qmdTwEAVuxbgX5x/aKe+8ku2V1Bla0ey/csx1v731K3GTQG2AKGMmqLcks5yi3l2HRsk996o8aIwYmDg8KqnMQcmHXmdh+XiIgoEtFgQMpVVyH5V79C3Ucfo+r552EvKkL24TVIq96N3SOuRVNc/5D7bisogPOX9epzT0AQeNMrnMM7f8bhnT8jIT0Do8+9AKdfehV+fH8FAN5co/DYO4CIyMXzvS+aYCrUz8zWhPpERETUegyliHqBwEDqxlE3on+J60bZNSOugU6nU7d7HqMJpvQaPdJN6fjw4Id+gdTicYuxYNSCoONeNOQi5CbnorCuEEX1RSisK0SDvaFN12SVrNhfsx/7a/YHbetj7uMXVuUk5iAnKQd94/qydxUREcWUoNMh+dK5SLrkYjSsXo3KZ58D9u/HaVv/jUM5F6Nk0HS/8k7rJjgtwYEUEHyTDAAEMRWKXB3y2A2VFVi/YhlEQUBCsw0NZoPf/tHcXBtWVoWcw8dafd3U87B3ABGRVzTBFAMpIiKirsFQiqiHCwyGFo9bjF/n/RprStao6zwBVFuCqVD1e/YLrPfjQx9j8bjF+OfkfwJwTeReba32C6k8j0caj0BW5LZcMsqby1HeXI6NRzf6rTdqjMhOyvabuyonKQdZiVnsXUVERO0iaDRIvPBCJJx/Phq/+QaVTz+Dk355H2lVu7Bn+G9hM6YEBVJa02RUbgBwibce2w4FWtNktZwiV2PCxb8CAOz8+gtYG+qDji0rihpIeURzc21YWRVyK2pR+dRTiDsjH+bx49v5KlB3x94BRERekb4n8nsgERFR12EoRdSDhQuMLJbguaDaEkxFCqSiqVcQBKSZ0pBmSsNp/U7z288u2XG4/nBQWFVUV4QGR9t7V+2t3ou91XuDtvWL6xcUVuUk5aCvuS8EQWjT8YiI6MQjiCISzjkH8dOmoen7H2B69hkkbPknNg87A7XaIrWc1jQZWuNEFNYCyxe+ibkPnIstL36DHUfSoDWmAYAaTG1e9R6m/Ppa/P7pl7F/w3r89PnHOH4oeB7GQOuWvwJrYwPOmndd2EAKADJuu5WB1AmEvQOoN1EUBVAUKFCgyArgflSgAHLo9Yrs+uCb+qgoUBQZUOD3qKjPFXcZJYplz/6+60PVGVB3VOcvQ3GdcNDxozl///Khzz+oTIjj+79+vq+rt7zT6UB5SQmgAF+XFkCj0UR8/SK/VuHLhzt+pP9/hLgOU0IiLO4Pfaxb/grWv/mq+/pd+mQPQUOVq3ey3mSGwWyG3mT2WzaYzdCb46A3mqDR8lYaERFRe/AnKVEPte34thYDo0ChAqSxfcZiXN9xQWWjCaQi1eu7PhS9Ro+8lDzkpeT5rVcUBVXWKhTWFQaFVUcaj7j+0GiDY03HcKzpGH48+qPfepPWhOzEbHW+Ks/cVVmJWTBpTW06FhER9X6CICB+8pmIn3wmCla+h9oVL6vbPIGUR42mL166fzsgpKnrRhmM0I48A5u3/ADAdZMsc9gIjDx7OkaePR1HD+7Dz6s/wb4N6yA5HGHPY/Oq97D1kw8gS5K6LqnJima9Fr8MSIdpzGgcEZ0QXnoGgABBcH1BEOD6TIZn2fUBDUEU4VrtWecu5/dccO3mu69vHZ7naj2iWodffRAgiP51+tUviBHqFEKfIwRAFHzOLUSd7jrU8gL8Xxf3Ou+y7+sWcN3u16zV5xhQZ+DrGlinX/1h63RdHwQB42ddAlmW8f2KZer7S1EUtXfA+jdfVd8vZ175G4w9/yI4rFb1RnHEG/yyHHQjONyN41A32kPf4A99g9pqtaL52BFAUXD4l+3Q63Shb3RHusEf4gZ1q84/qoDC/bqFCTrChQKtef38z99zXeHPM5rjtypUcd/A9/5/yi2ED607lmdb0PGp26svCP5AYHfnG0gBQHnRIZQXHYp6f63eECG4MsOgro+D3mRyr4vzbjOboTeZIIqaWF8aERFRj8BQiqiHGtd3HBaNXoRntj8TVSDl4RsgLRq9KGQg1dGBVySCICDdlI50Uzom9Jvgt80m2XC4/nBQWFVYX4gmR1OrjuNhcVqwp3oP9lTvCdrWP66/X88qT3DVx9yHvauIiEiVO/dXyHdaseHdNzHCnIG6pnhUGwMK+cx5mF34KfoXfwJ8CwzLSMa+zDScVN0I+1/+ipIBA6AbMAD6AQNw5kmnYNKEM7H/0D7sWPc1GiorQh7fN5ACgLo4I+ri3CdQWuT6ohPe+jdf9QujPL5/63V8/9brXXBGrVP29WddfQpERAAAp90Gp92GptqadtWjMxh9Aq04NaxyhVnBgZc30DJ7yxiN6gcZiIiIegqGUkQ92A1jbsDp/U9vdfCzYNSCiIFRRwZe7WHQGHBSykk4KeUkv/WKoqDSUukXVhXWuwKrssayNveuOtp0FEebjuKHsh/81pu1Zv+5q9xhVVZiFozawLuQRER0Ijjj8nkYPGoMBg4fCcvevdjy1Gr8Yh0GWaMPKls68CwY7DXIPLoBuRW1SGm2IrXJChuOw7Z/f1D5JABnxcWhalAmDmkklGv5wQgiIqKezmGzwmGzAjXVba9EEKA3mvx6YRkCAi1v6OUNvPzKms3QGYz84CUREXUahlJEPVxbg5+W9uuowKsjCIKADHMGMswZmNh/ot82q9OK4vrikHNXNTub23S8Zmczdlftxu6q3f7nAQGZ8ZlBc1dlJ2Ujw5TBX/KJiHq5gcNHAgBMw4djyn+Hw/KX5ThQ3y+onFMXj33D5qGs/5kYduAtpDYcbrFupakJqXsPIBVAo16HnYMyUBPPYWaJiDpE4BCjov/Qm75DafoN1RlyvegzJCl8nguAe0hRdchOzxCqohj6+GLo8/I8j3xegccXw5YPGn404DiSLKGkpASAgKysLOj0Onc5/+twPfcdqhUBr0foY0Z//gFDnvq9ft7jF2z5EXvWf6P+9+qMRjisVvX5gBEjkZY5CLbmJtgtzbBZLLA3N8FmaYbd0gx7s6X7DiepKK5ztDSjsR3VCIIIvdnk1wvLYDJBb44LCrD8enCZXHNtGdy9vLR6A//u7SSle3epv3t2xn5EnY3v8d6NoRQRhdVRgVdnMmqNGJY6DMNSh/mtVxQF5c3lIcOqsqayNh1LgYIjjUdwpPEIvi/73m9bnC4uZFiVlZgFg8bQ5usjIqLuad2D7/gHUoqizg3k0ZCYjS3j7kDm0e+Re+gj6JzRDUV7PCnOL5ASZRmyz9A9yU0WJFnsfv2EFUA9vgK4btgZDBCMBgh6AwSD3udRD+hdj4JeD0GnA0TR1fNY8czFoXjnHgqcQ8Z9veocNIqizrWjzv/jW49ncnrFvR6e+hBiu3/9gcf0ng+C5tvxrTtonpzAegLn/Qk6d9n/HAPrJ3+tulHvvVEOAHa7HRAEGA0GCBpNxBvyrQ0Fwt3odt2HFyPeqA+8Wd+2UCJ8KBDVjXq/18B7U97zGDkUiBxERBMKhH39gDaEKmIr3ystn3/k/5PwQQdvqLfMYrFgzZo1AIDJ550Hk6n7fkhi04fv+gVSU359rTq/3rrlrwAAjuzZhSFjJ2DiJZeFrENRFDhsVtibm2FrdgVA3gCrOWB9sxoSucpY3GVcy92VosiwNTXB1tSEBoQeLjgaokYTopeW75xb7pAr1DCFZm/IpdXpYnh1vc8P77yBDe++qb6fo+V53+dfdjXOuHxeB54hUfvwPd77MZQiohOSIAjoG9cXfeP6YlL/SX7bLE6LOndVYX2hGlYV1RfB4mzbHxJNjibsqtqFXVW7/M/D3bvKN6zyfKUZ0/hHMRFRD7TuwXew40ia+vzUAVUYe9NsfPDA16izBHwQQRBRljkFVTlTMGZIMwajEM6yI3AcOQJ72RE4jx0HZO+nswvcc1B5DCurQm5Frd/62jgT+tY1I7eiNmbXJBiN0KamQpOaCk1aKrSpadCkprge01Ld29KgTXOVEQ0n9gcuvCFXcJDnCbRCBnC+QZsn3PINz2Q5qM7AgO94cR36DE6AogA71n6OrR+vVM/LYI6Drdkbfp42+1KMnnEhBAE4XtyAfjlJaDnoiD5o8A2X2sL3xvd53fzGNxF1P77BEwC/m5ueR892z2Oom5+C4B4iz2hCfGpa0PZoKbIMu9WqBlq+IZatudndO8viF3rZLRbXcrM3AHPYrC0frIvIkgRrYwOsjQ3tqkej1frPnWUOM9eWT6Dl18vL/Vyj7X23PUv37sKGd98EEPl9G8i3PWx490112OnOxt4v1JKe/h6n6PS+785ERO1k0prC9q463nw8qGdVYX0hjjUda9OxfHtXrT+y3m9bvC4+qGdVTmIOBicOhj7EHCVERNT1QgVSU+69HADwm8cvwKf3fIDCqsSg/Ww2YOMeMwqz83H2DUORmeUqozgccBw/DkfpEWz58jPs27lF3ccTSAFQHz3BlOcxVsGUYrXCUVYGR1l0vYnFuDhoUt1hVZo3wPKEVprUVGjT0qBJSYU2NcXVG6sXUXthdPJxN310CJs/KUP+3Fw4rZv9AqlQvQO2fPQ+TAmJ0BonYMPKEkyYpcHE2UM6+ayJiGIvUiDl0ZpgKhYEUYTB7ApM2kOWJNg94ZVvgNUc2FPL97EJtmaLXw8up90WoyuLPcnphKWhHpaG+nbVo9XpXT2wzGHm2fLttRVyXq446E0miBpNjK6s/QYOH4kpv762Ve/bUO2hK27Ws/cLRaMnv8cpegyliIiiJAgC+sX1Q7+4fsjPzPfb1uxo9p+7yh1WFdcXt7l3VaOjETsrd2Jn5U6/9aIgYkD8gKCwKjspm72riIi6UKRAyuPCf87Btw+8g1/KQn/SuryoHu/8ewtGThmA0y8ZAmOcDvqBA/Hdmq+xPUwgJSYmQq6vDxlMOYecgtGWekhVVXDW1EBpbtt8iq0lNzVBbmqCo6QkqvJiYqIaYGlTU7y9rlJS3UGWO9hKS4MmORlCN7o51F2UHazF5k+KAADr3nwTTov3wy4t9Q7Qmg5Ca5yIzZ8UYeCIVGTmJXfmqRMRxVQ0gZRHZwdTsSBqNDDGx8MYH9+ueiSn0z/A8vTGsgQPU+jbU8vv0dIMyeGI0ZXFntNhh7POjua62nbVozUYQs+1FTT0oDn0vFxmM3RGI0QxNr+/hHvfjjpvVlDZ1rSHjsTeL9Qarfne3F3e49Q6DKWIiGLArDNjRNoIjEgb4bdeVmQcbzruNwxgYb3r8Xjz8TYdS1ZklDSUoKShBOuOrPPblqBPUAOqnKQcdXlwwmDoNL3rU+hERN1JNIGUx9l/vxxiQHk/CrDruyMo2FqO/Lm52LPuIxT9/JG62TeQyrjtVqQvXIjKF15AxaOPBQVTBdajkMbNxq/u+gMAQG5uhrO6BlJNNZxVVZCqqt3L1ZCqq+GsrlYDLKmqCord3s5XJjpyfT3s9fVAUVHLhQUBmuRk17CBKZ4gy9P7yj2MYGqKq4dWSgo0SUne+Wp6scy8ZOTPzY0YSHkE/qHvKT/l6qsZSBFRj1a6d1erb06GuvmZOWxEr7/xrdFqYUpIhCkhuAd3azgdDp+eWp65tizu4Qj9g6xQc215ysqSFKMriz2nzQanzYammup21aM3mUIOQegKrkwBPbgC5+NyldUZTRAEIeT71uFwADpvT7zudLOevV+otaIJptr6Hucwkl2PoRQRUQcSBRH94/ujf3x/nJF5ht+2Zkezt2eVTw+rovoi2KS2DaXQYG/Ajsod2FG5w2+9RtBgQPyA4OEAk3KQYkhh7yoionYo/GRj1IGUx5R7LwciBVMArE0OrH1lLewN3kCqT3MqcisKAHgDKQDqoyeYqkk+CeVm142Top8+wvYvx2D0uZMgum9qYOCAFq9LURTITU2usKqqyie08g2yqlwhlzvIgtPZYr3tpiiQamog1dTAjoKWy2s0rl5WKb7zYaWqQwmq82G5gywxPr7H/lys++oJOC371eda02RojRNCltUaJ0BrOqgGUk7LetR9VQ7MfKxTzpWIqCOI2gHQGE+HZP0x4vfAQL7fEzXG0yFqW/45SS5anQ5aXRLMiUltrkNRFDgd9hBDELoDLHXOLf+eXH7L7n0VRW75gF3ENeyiBUBV2ysRBL9eWgnpGWiorAAA/PjOGzBm9IO53wB8uvsnFP3s7WU/7sJLMGLyVNitFugMxi75XYe9XygarjlWZchOCWPOuxBOmw0b3vP2srM01OP0S6/E9i8+a9N7hMNIdg8MpYiIuohZZ8bJaSfj5LST/dbLioxjTceC566qK0S5pbxNx5IUCYcbDuNww2F8i2/9tiXqE0OGVYMSBkEnsncVEVFLcmZNwsk/voXdFRlRBVIevsHUiPQKJE85HZs/KYTT7r2ZEnhzrT5lIoqtyTjtilFqEOXheb7l7Z2oHzAHWusmOC3rkT3mQow+d1Krr0sQBGji46GJj4d+8OAWyyuKArm+3iesqvYLspzVVZCqa1zbqqoh1dYCcifcOJIkSBWVkCoqoyou6HSuea/UAMs1H5brearfXFna1FSI7ZwbJFYKPnwf24oCA6mJ2LDSFdyNm5mlbtu2uhgbVhZAa5wIwNtTalvRfgz+8H3kXnJpJ545EVHsZOYlY1xWLraXZUHUDgj5PTCQ7/dEUTsAozO17DXayQRBgE5vgE5vQFxySpvrURQFTpstYK4tC2yWJr/Ay6+Xlqdsc7M7AGuC3WoBFCWGVxhDigJbcxNszU1oCJFtWSuOwVpxDIF9urZ9+iG2ffohANcQkAZzHAxxcTCY42GIi4PR8zwuHsa4eO92dxmje5shLg5anb7NoVZH9n450SiKAlmSIMsSZKcEWXK6nkuuZckpQZElSE6nuk7d7nRClmVIkjPkvp5l777B20Ifw7eME7LkcwzZfVyfbbLkhCRJUCTJ71wi2fLR+9jy0ft+6ybNuUJ9jzRv3Qrz+PEh9+Uwkt0HQykiom5GFERkxmciMz4TZw44029bk6NJHQLQdzjAw/WH29y7qt5ej+0V27G9Yrvfeo2gwaCEQUFhVXZiNlKMbf9DgYioN5r24JXI/mQjcmad06r9ptx7OQb67HfShL74/t0DKNhWoZbRmc6ARpelfmq7IHcOMgYNQXqI+g4PPg8FubkAAK1xIgYeP4Sz0zvnAwaCIECTlARNUhIwJKfF8ookQaqrc/Wy8oRVAQGWs9o9xGB1NaS6uk64CkBxOOA8fhzO48cRzU9WwWhUQypPgOWZD8sbZKWpPbNEg6FDzjv3kksxesP32F64D8PKqqA1lqHA9VbwuynrufnqMexIGZzWKuzLTMPonGEMpIioR2veuhUZbz+AkwbNQEGu6+dmpGAq8HviScWbkbH+CzRfMjTsTU3qvgRBgM5ohM5oRHxKapvrUWQZDpvVZ26tECFWqPm4AublcljbNr90R5MlCZaGelga6tu0v0ardQVU7uDKP8RyLRvj4tyP8WqYZTDH4eh3uyMGU+ECqcJPNiJnVus/ZAV4whtX4CEFhS+ye5tvOBIipPEJVaTAkMYd8Kh1tBAEeesIHQT51xPhXLrxkJedbeMHb2PfhnVIF3UwbdyCvLmXIeeOO4LCUw4j2X0IitJdo3/qLKWlpRg0aBAAoKSkBAMHDuziM6L2slgsWLNmDQDgvPPOg8lk6uIzoo4myRKONh3171nlnruqwlLRcgWtlGxI9g+r3HNXDUwYyN5VEbBtEnVP3bFtluyuxndv7Uft8eawZUZNG4izrhyqPg+8sZZb8AGySr4AAGS98XqPv7mmOByQamu981759rrymw/LFWzJjY1tPxYEKIIY8KUJfg7Bbz3cj7KgAQQh5D4wmiAkJEKMiwfiEyHExUMwx0EwxwEmMwSTGYLRDBhMgMEIRRCgyApkSYEsK1BkuB4lGbICKO71sqRAURTU7t4AocwKRRBhMabDYu6jXpcguuryMFqqYLDVQIACOUODhJxxgAAAAgQBEAQAguBZ5VovehZdf+R7/tYXxIBygmtZ8C0nAILrn6C6PXX6rndKTpSUlAACkDV4MLQ6rbq/+iD41Oep230+CFG3XzlPEU8d4db7XpN6LUJQOc+yIPgf1/X6eOtX9wm5PnTd6mn7PRfCrw95Df7H9b2mwOtXb+IEXn/g/6n7PeFXd8j/+3DnGuE90UOH0TwRdMefm7488ywWD5qBgtw56vr8ubkhe416eH5u+g6PS9Qesiy5h+xrDtFTyzfAaoK92T/w8p2Xy2lr2wdQuytB0MCcnOQKx+q9HzrSaHWQnA71edrAwUju1x+Ve0vRYNXArLMhcXBaUEjk7S3kG/bIarnuPKQjdRxzXAIGnToGA0aMxMARpyB94GB1ntloe+PFqtded/+5GUlH5QbsKUVE1AtoRA0GJgzEwISBmDxgst+2BnsDiuuLUVhX6DckYHF9MRyyI0yNkdXaavFzxc/4ueJnv/VaQYuBCQP9wqqcJNdXkqHtY4wTEZ1oBp2ciqv+NhE/rz2MzR8ehKSIQWV2fl2K8qJ6XHTTaOxeX+Z3Yy1/bi4GHx6Fike/QPqNN0YMpBTZE3b4hxuypKhhiOe5JxTxD0ncj5ICWVGCQhK1HlkJvV/I9d6wRT0vWfFZlwhZToAsDYKiV6BkKJDTFCi53mPLkgzZ7oTscH9JrrHpFfc2RXGHO4oABYACd9AkajrivzTMiw+g0f2lkgA0uL/aIg8IM1WZbyAFAFZTGqwmd2EHUL+/to3H7Eh6AMDu4mNdfB7UVYLCUXeQ5Qm/AsNN/0AymhA0OJD0hpi+AZzvem9FvoFfYDm/9S0Eg/6BZHC4GW1Q6XkILOe5fs9xAsPN4PXu10X0LwcBcDqdqCvSAwKw1XkYOp3O+5oLAdcULuyMIgRVz8nn/yBkWBz4Oo2ZDct18TB+/DH6HN+M8r6ueaU2rCxAVVkT8sZloHBHJfZ8fxQeWcWfI/PoeqT+mYEUxY4oamB0D4fXHrIkqUGW3dKM46+9hqoPP4Tp4otgOH0SbM3NKNq+DSW7dgTtqzfHAYoCuyX8B506m6JIaKoJHGAQfoEUAFSVHkZV6WH1eaMTaNx3vMPPj3qH5qYG7NuwDvs2rAMAGOPikTn8ZAwcPhLGxGycedV8fL9iGYDoh5EcOPLcTjv/3o49pYg9pXqhWCXwezauxohJMzttP+pckiyhrKksqGdVYV0hqqztmHg1jBRDSlDPqpykHAyIHwCteGJ8RqInfzqGqDfr7m2zodqK717YhKLCyOOre5gSdDCYda4QxmqDotWrgY5/uOR6BP8aICIiUomiAK1ehFavgdaggc6zrPdZNmig03mXtXoROncZdTncer0IURP8YROiaDRv3Yrieb9BbVIukusKkHHbrTjUJ8Xv5rmoN0C2e3tXTfn1tcg+Xo1jTzyBquQcmJpLkHrv3yAMGABrcyNsTU2wNTXC2uSaq8rW1Oh+bIK1ybXdYbN2wdVSLAiiCFGjgajRQqPRQNRqIYqi69G93vWogUajhaDReMu51/vuL7jLiVoNRFETUI/oPY5nnTb4GOq+fvV4j/HLd0ex89ujyDr8JQYd+Q7FaYko6OcdklNvMrc7aBW1eiSmpaH2uPcDCp6eUKECKa1xAjasLMCEWdmYOHtIq47V3f/ejIQ9pYioU21YejvyS17Ahn03I3/+g9Hvt+xe5B96Eht+WYj8BY904BlSe2lE15xRgxIG4ayBZ/ltq7fXo6iuyH84wLpCHG443ObeVTW2GtSU12Bb+Ta/9VpRi8EJg0POXcXeVUREQEKqEbPuPAuHd1dh3VsHIg7pBwCWBgcsDb7fq3vXkC9EREQdSZYV2K0S7NaOm69F1Ap+YZUr8PJZNrSwXtdCGZ3o7TVIvYp5/Hgcv/pB7DqaityCD1Cw7CXsy/R2kU4bMwEpJ49BuqMZP77zBgBXL5DysipoM6ejIHcORvavxtBLWzcEmeR0uoKqgLDK5gm1mptcoVZToyvgcpfzlHfau//vo6LGPxzxC2O0GghiqLBGGxTaRAx9tNqI9WiC9vXZFjYw8g+PNL7bRI06ZF1PUXawFrvWH4KoSUZJzmWo0zei3OztWRcuOIq3m9EcNwCy8wigtBxYyU67XyAFuNrKD+8sh+Sw+x3PE0gBwOZPijBwRCoy85Lbd6EnOIZSRBRkz8bVyC95AQBcAdMyRBVMeQIpAMgveQF7Ns5gj6keKlGfiFMzTsWpGaf6rXfKTpQ1lqlhle+QgNXW4O730XDKThyqO4RDdYeAEv9tqcZUNazyfGUnZiMzPvOE6V1FROQx+OQ0XPW3FPy89jC2fFoEp53j43cXguiaV0cUBYiiAEEUIGrcj+7nAhQIigxBkSDIEgTJCchOCE4H4HQADrvry26D4LBBkCVAkd37yBDg3td3nac+RQm5rSY5D1Xp3p/lomSDrDGoz9MrfkZqzV54xsJydZrzjrul+EzepHjWQ4DiMxaZIoRe73ruqU/wKxe8zbvsrTNwW8B69zkCrqEX4VtOHctL9Cvn3U8MKOd/jorPa+Dax1vOd1twOQS/lr51BpXzqbONr3/gsXzLBW/zeZ09dQo960YVUW8hOxXYnE7YmqPrBd0WGp0YXdDls6zVi+5yIXp5BazX6ETO/dYFyg7WYtdRV4+RfQMy4bR4A6nTL5+HSp0ZADBu1hzodDr1pv2+zDRoTZnQAth1NBVDD9a26qa6RquFOTEJ5sS2fXDU6XCoPbA2/ncVDpQbIdl2Q3bs9R5Dp4Pk8H6wStAOgkY7GP2TrBhy3hg1HAoMgjw9bbyBUPhgKWhfd88eUaPple9nRVGgOJ2ALEORZUCSoCiK61GWXeslCfAse8pIMqAEbJNkQA7cT3GtCyjvqsdT3qeMLEORJdc2JaBOybVNLys4tX8SdhzNgNO6yS+QGlZWhT5vrUTl8RoMKi3FsLIqNZRt1DdDq+0LXdxFGDM9AYlpNTiydxdK9+xCfUX0wz5GCqQAYFSf4wykYoB39IgoyIhJM109pDwBUxTBlG8gBQAbhtyMfAZSvY5W1GJw4mAMThwc1LuqzlYX1LOqqL4IhxsOwym37Y+tams1qq3VQb2rdKIOgxMGB/Wsyk7KRqI+sc3XR0TU3Wl0Isafnw27xYltqw+3vEMHEARA0PiEL54ARggOYoKeq+vgXidCFKGW9S0n+OzreS4KQuhjBx5TgLc+n3MLrD9iPT71hd4P3sApxjcxFEmCVFcHqboazqpqSNVVcFZXQ6qqhrO6ClJ1reuxqhpSdTWkurqgOooHzfALpHILPkBWyRcoHjQDBblzAACVGWOQVF+ErJIvYnr+1PP4BmLhQ0FPgBUYSIp+5SIGlyGDOt99fMsF7+MfSAoBwSJ8Aj6/SY18Ar5IgSH8gsCQ5+uus1MCwzYGti3/37jWB/7fBAWzIQLb0P83PuX8/m+8y/6vc2Co3HJgG+n1Dw6EQ4TFggCHNg4OfQKCKHKvDWclhwzJIQNNHXUEBRpBhlaUoREU16NGgVZUoNEAWo0CrQbQagCNVoFWK7ie6wTXsk6ATidCoxNdy0EBmjv40rp6h0DUQNCIgHv4MIjubaLPOo27V0io9b0kcMjMS0b+3Fyse/NNOC3r1fXDyqqQW16LygFmdd2Q8hqU+9y095SfcvXVnX5TXavTQZucgrjkFJz//xah/ua/o7TRG0gNTBuNS/92I9576H84UuWaG0txlqBvQjIuvvFav1DELzyRFcApQZEcgGJrMUSRZAVSYIgSGJAEbFOUgIDFN9AJDFgkSS2vyAGhTdjyPnX67B/xeBFCJr/lHjprTzqAxJMm+AVSfZpTkVtRAEvFNli2ue4R5QKoST5JLee0rMfgkWmYfIVrbsBTp7vuS9ZXVuDI3l0oWvcNDv/4AxqN+hbPwRAXFxRI5RZ8gIxvvkDzJUMjztlLLWMoRdTTFW8AsvJjvl/+/AddQVQUwVTIQKoVQ/5R75BkSMLojNEYnTHab71TduJI45GQc1fV2GradCyH7EBBXQEK6gqCtqUZ00LOXZUZlwlNZ05eT0TUQbatLvYLpLR60a/X1EkT+iB3XB//IKZVgY4QEOjAL5jpLTd1ujNBo4E2NRXa1FQY8lourzgckGpr3cFVFbZvakDBXp263RNIAVAfPcFUQe4caNLTMKR+s3rzQlFkV0qhKD7rFNdz9zoF7vnIPDc8ZNl18zfCPlAUVxmffah78Nz2BwDB9wZWz7yXReTHN4wHAK2jEU5dvOuJICLn0CoMLFsHSaOHJOohux8lTcCy+9FvWTRA1ujcZQKWRZ27DkPoE+vxBEiKBpIUy7+xZPeXu7eMIkMj2aCRHRAlu/+ybINGckCU3et9l/3K2yFKDmhkOzSQoBEkaOCEFhI0kCBqBEAjQtBEEXCJIuAexs2zDzQiBFEDQesbnAXWJbr3CXgeUJegEV11aEOFcN7njbt+htOyQX3VtKbJ0BrLUPPkk+gzaSIaxoxB5QMPoHHlB9AOmgGtKVMNpJyW9WjY1IzqquGA0wnF4YTidEKRnP7PnU4oTodrnVPyfx5URvJ/7rfdCUkCHIoWDujghA7FSVqUpsh+518pT8QL9++EIp4LrSlRPd8jNTvx1l8eRpo9LURvcU9vclePcYTd7l0OKoPg8oiwTS3juy2GLYBcCjKS/QIprWky6lMmotia7PdhquJBM1A/YA601k3qe+bQlg/x5R83YPzU82AaOw6Gk/KQmJ6BxMlTMWLyVFS+8AKOLFmCfVmnoyx9IGRnKRQpuCeVrakJ6958E1rjRADe36czbruVgVQMMJQi6sm+/hfw7b+Bc+8HJv85+v3WPw58eT9w9l3AtLvDFosmmGIgRS3RilpkJWYhKzELGOS/rdZa6x0K0CesKm0ohVNpW++qKmsVqqxV2HJ8i996vajH4MTBaq8q3+EA4/Xxbb08IqJOtW11sd+n9fLn5mLczCy/9Qc2lyN9YALGzczqqtOkTibodNBmZECbkYFtq4vx017/T3R6/njXJCVBqqsLCqb2J01B2rXXdtl7RvEJrXzDLUtTE9auXQsoCqZPmwaj0Rg+JFPcIZniU4+rIm/diuL6xDHCB2dB9SiK69PGQes8+/nU46lb3Ufx+4pYD3yO77NOrSeobvgfX/Y9VoR6PEEiWlGPT/ioKC3U41nne/yw9fjsoyiuoNOzT6h6QoWhvv+H0dbje/xo6/F9b0bYJ2QYS10qMJAK1Wu0cMjFEBW5w3qNKhAgi9owIZYekqhzh1h6SJqAZTGgjHtZdtclaXSQ3UFarySIkLQmSDB13CFkpzu4skMjO6CRbP7Lsh0apwMam3tZckAj20KUt0Mj2d1l/Jc9/flioTrOiM15A9TnrkBqIgpyXc+zNn6B5I2b0Ajv+99z89dz037LL9ug/eAjpDZZWzyeLIhwak1wakyuR60Jkta77NSkwqk1ep8b/Ms6tUYooveDMk6f8MD3/AGo5TzPPeUqjeWoTRmqru92wgRhnRmSBQVlYeoNd66+w0JDUcJu8wwZDUUJu00tA9/hpZWo20F1nNFvnrQ+zamoT3H933u+bwd+H9caJyK1arcaZG2vKYfp/x5GapMVYkICTGPGwDxuLExjxyF13jwAgP7Rx5DomIF9A06C0+INpUSNBrLkmlPQ8x4cdqRMDaTSFy5s6zuFfDCUIuqpije4AinAFTAB0QVTnkAKcO0/ZGqbe0wxkKL2SjYmY4xxDMb0GeO33iE7UNpQGtSzqrC+EHW24CGKomGX7ThYexAHaw8GbcswZQT1rMpOzEb/uP7sXUVE3Ua4QAqA+ujZ7nlkMHViCXyP+AZSnj+iK194ARWPPhYUTHXle0YQBEDj/XmrDjwmy1D0rhutYnw8NKaOuylJ1FH8Qqpw4ZZP6Bg5MA1ch9ABqm/wGlB3YIAaKoyNGFhCgc1ixU/btgFQMHb0GOj1Ov/gM1I9IQNL7zmFClAjBsGh6nGf556KNBRU9Ff/LzzfEwWDIWSvUePIk3GS7pDPMFpO7/BakqQOwaVITu/QXE6fIbcCn0uSty6n073eCkVqguJwlYlVcKlAcPfgcoVXrh5fvsst9fhylwnVW8z9qPTSOX0VUQunqAW05pYLt5Go9u5yh1Xu5VDr/IItTxmfZa1sR1aVHcVpeuQdb4BOfxyFQ1zHCXfDHgCyKxphtwOHU4F+jSY0J09CfZoRTq3ZP1RSAyjXulj29IsUSAUKDKY8j90ymBJEKILIzsUt8QRZUNxfvsuuwVdFyIAAmCxbYLFuQ5zpNAipo2GEBVbF9XtgQe4cHMqZDcXnXo3RUgkhfgrilQNoVHbDjGE4NGwuDnmisCYA6wRg/W4AeyGYEoEp/0Bj409B70mdaSIclk1+7z2ntYqBVIz1zp8oRCeCrHxXDylPwBRNMOUbSAGu/Vsa+q+pCvlnnY9DdTswpOobAK5gSrnvSeT79FGu0aQit2Y9yp+eBejNEPTxEA1x0BrjoDUmQG+Kh9YYD8EQD+jMgD7O9RVqmSHACU8n6tSeTNMwzW9bjbUm5NxVJQ0lkBSpTcersFSgwlKBzcc2+603aAyu3lU+YZVnOU4X1+brIyJqrUiBlAeDqRNb2cHaFgMpAOpjuGCqX24SJ28miiFB8J0Ty72ui84lVjQWC5oszQAA89SzYeqGgfG21cXYuTv4e6JvQI9HHwPg/R64yzoUiRdc0Kk/N4PmkgkZZPmvV5xOdX4cb2Dm+9w9F43TG6SpAZt7vWdeGr+ATXLXITuhSLagumRJhtMJOJwyJKcApwxIkgCnBEiSCKcswCkLkGQRTkWEJIuQFBFORQNJEV2D5SkaSNDCKWggQwunoIUMrasnmKDzmbuud5FFHWRRBydi9zek3nkEpSkDgtYX5M5BwZCLg+ZKKx10DoBzoHceQW3KANTG7EyiIzuPRB1IqWVCBFOidgBEbfB1Uw8gCFCgiS68M02FXncSJO0A1IXYQQm4b2g1pcNqSgeQC71zFGTtANS3cAindROc8k71uec9qSjB7719mWno0ycF6dGcO0WFoRRRT+YJoAKDqfF/DC4bKpDyDbCaq4HyPUDFXteXZ7mpAgAwJKC6wOkkUqRqoKYaseAUDXBqTJC0ZshaMxS9GdDFQdDHQTTGQ+MTdgWHWvGAu7xrvc+y1hB84tTjpBhTkGJMwdg+Y/3WOyQHShpLgsKqwrpC1Ntb+nUkNJtkw4GaAzhQcyBoWx9TH+/cVT5DAvaL6wexl/4xRURdI5pAyoPB1IkrMy8ZE2ZlY/MnRWEDKY9wwdSEWdkMpIioxwvXazRUQB8YTHX2z01BEFxzFnXK0bo3RVEgSwqcdgkOmwynXYLT4bNsl+CwS3DYJDhtEpxWh3vZ6V3nLuO0y6597TKcDgVOh+ex9/RliRjMRPh7tKsCHVE7ABrj6ZCsP8KUOAWJGWfAXtcEi+QdelKUHZB9hvpLMVnRZ9LFOF6QgGMHPkNGznRkZI+BLLt6T6qPkqK+fxRZcXWaDFgXtI+suDpeBqxjd6fuo63v1Wj2i6bXnlEzEgPKPlSHEly3/BUAwMRLLmvTeZE/hlJEPV2IYErrcAAY5i0TGEiNvw4wJAKf3uEOoPYCTeWddMIt08o2aGUb4KiNab0K3ONR6+KguMMsQR8HUW+GxpgA0RNi6ePcQZbvckDAFdjLi727upxOo8OQpCEYkuQfoSqKghpbTciwqrSxFLLStiEzyi3lKLeUY+OxjX7rjRojshKzgsKq7MRsCPxzk4haKbD3S6RAyiNUMMXeLyeGIcfWQvrpQyTXuf7vIw0zEhhMJdUfwpDxlyD4o0hERD1HuF6jkQL6UMEUf252PkEQoNEK0GhFGDpoJD1FUSA5ZThtsju8cgVY6nKk9Q7vsl/45btsk+B09N655ERRgN6khd6shcGkhd6kgd6ohcGsda03edb7PJq10Bs966biaMEeDBw+EusefAc7qr3zBp06oApT7r3ctf6Ia32NxYhBpbsw76EbUbp3KgYOH9nh16jICmTFN+xCyOCrpXArODQDFMm9TgkRpMmKa9TVCPWoZST3Ofo8quctBdcTus4QZQKv0X3Ooa5b6cHhXbTDSDp1cUg671ZMOVVQAykGU7HDUIqoNwgIpnTf/hPD+s1BRcJI6N5/EzjwmX/5rS937vl1EwJkaJ1N0DqbAEts65Y1Big6MxSdGYIhHqI78PKGV+5eXEHLoXp5+Sxrjezd1U6CICDVmIpUYyrG9x3vt80u2VHSUKLOXaUGV/WFaLA3tOl4VsmKfTX7sK9mX9C2PqY+iHfEI0PMQM2BGgxNH4qcxBz0jevL3lVEFJJv75doAikP32CKvV9ODM1bt6Li0ceQ7H4ezbj3vsFUcl0BKh59DOZx42AePz7ifkRE3VVmXjJG9q/GrqOpEQMpj1DB1Mj+1fy52UsJggCtTgOtTgMjdC3v0AaKrMDpdAVUvsGVK7ySfXp0tbzeG4y5wy+ba1lytiX4UqA36dSwSG/SwGDWuR7doZE3bNL6lHMvm7XQ6kRX7752UAOpI8GBFADXo8/2HUfSgAffUbd3NEEUoIEAaIAOeov0CoriCbPQQhjnCbQQMoyLFO7VffEl6j75DIogojJtFCr6jFOPr9WLcNq97SC94mek1ewBFCBhxnTET5niHj7Xtd31thVQdXg3Nq70BlIDLAnQ2EWUG73XpnFaIWldK3YcSUP+xFxM+TX8gqnMYSM6JSTtzRhKEfVwm4uqMSE7NSiYGn7sAww/9kFMjmFTtKhT4tFHrFXXNSgmJAjeZOcrzZnYbxoDwdEMrbMJGskCrWSBCVaYYXN9Ca5lE2yIE6yuR1ihEXrwRyzcRMkGSDbAWgO0LcsISRFENbwSgnpwRZqbK8Iwhp5lDX8E6DV65CbnIjc512+9oiioslapAZVvD6sjjUfa17sK5TiEQ9j4k7eHlUlrQlZilt/cVdmJ2chKzIJZ13ET7oaybfsyjBs9v9P2I6KWbRn0OT4YuRrGzIsxDgui3u+nzC/xwchVEAbNxETc0IFnSN2Befx4pN94IyqfeqpVEzH7BlPpN97IQIqIerTmrVvR9817YUjKRXJdQasCejz6GJLqDyH5mwI0X5TD74fUJoIoQKfXQKfXoKNmW5Nl1zCH5S8tQ/nzL6FkwNkoHTTdew4aBYrkDY9yCj9GdvHn6HPbn6P+/aCjRAqkPLo6mKKWCYIAQeMK7zpi3KDKF16A/eXHYAJQPGiGXyDl+aCe71CtlRljkFRf5BqWetl6ZGSE+d5/Rn+ImmPY8O6bmPLra6ExnIYfPzikbvZ8mKF40Ay/3rP5cyeowVT+ZVczkIoB3pEk6sEe/2I/nlh7AHeePxyLpua6gilrPbD+sTbV54AWB+X+OKAMxH55oOtRGYjzxU24U/eWWu7bwTfi7N/9P2xYdi/yDz0JADhH+h6mPuORP3+JWk5RFNicMhptTjTZnO5HCeXqsuvLam2Go7kRDmsDnNZGSLYmKLZGKI5mCPZGCI5maJwWaKVmmDwBF6wwCzY12DILweuMgqNdr293ICgyYG90fcWaxhChB1ekYQxbCMR0ph7fu0sQBKSb0pFuSsdp/U7z22aX7DhcfzgorCqsK0Sjo23/TxanBXur92Jv9d6gbf3i+gWFVTlJOehr7tvuT6kFenrl1Xim/hcsPvw1FsyOvkfl0o+uw5LqLVh06DPcMPfNmJ4T0Ylu2/FteGb7M0AisGTbEgDAglEtB1NLdy51lU8Entn+DE7vfzrG9R3X4n7Us2X86SbEnZHf6hup6QsXsocUEfUKnoAebQzowYCeegBRFFD/2stoePIxlA+a4RdIJQ61ITHXjn6akdjy8WEAQGHORRBlJwR3j8CuCqaiCaQ8GEyduDy9/wH4hUOA/1DmgUOWe8pllXwRsff/GZfPw+BRY1BeHB9yuFcxMdFvzlXPMfLnTsCV/2APqVhhKEXUQ20uqsYTaw8AAB7+3HUje9HUXGD636GsfxxChNkZbYoWh5T+OKgMQHrOGKytSsVX1akoVvpCCviMwx81q/wCqQ1DbsbZ8x8EAOTPfxAblkENpvIPPel67t4uCAKMOg2MOg3S4w3tvmZZVmBxSH4BV5PdFWxVeJ77BF7NNhvs1mZIlgY43UEX7E1Q7M3QOFy9udQwCzaYBG/A5Qm2POtMsPmV1Qq9YJxoyQZYbIClJsYVC9GFVy328gpcjgM0Xd9/Xq/RIy8lD3kpeX7rPb2rCusK/YKqojpX7yqljTOmHms6hmNNx7Dh6Aa/9SatCdmJ2WpYlZOYg5ykHAxOHAyTtvWfydu2fRmeqf8FALCkegvw0XVRBVOeQAoAnqn/BaezxxRRTI3rOw6Lxy1WA6logik1kHJbPG4xA6kTSFtvpPIGLBH1FgzoqberfOEFVDz6WNAN+9MuGoxj0i4AwKnTB0Cn0wXdsEcXBVOFn2yMOpDyCBVMDfxkI3JmTerQc6Wu5flwwdZV+8MGUh7hgqnxFw+N+L08XCDl+TBD5QsvhJxvMH9uLgYOb+8VEsBQiqjHmpCdijvPH64GUmowpV0VOpAaMg2rTRfiP9uAIqUfJGiQGqdD9f7wvYn+pP8Yt4kr1OcbhtysBk4eLQVTsSSKAuIMWsQZtOgTg/okWUGz3RVm+fbcarQ50WR3osodcjX59eyS0Gh1wGazQLY1QbY1uXsyNUMrW4IDLp9l32ELzQHL6tCGgj0GV9bVlA7s3aX3D6tC9uaK1MsrzJCGMejd5du7akK/CX7bbJINh+sPY1/FPnz505eolCphj7fjcONhNDma2nQ8i9OCPdV7sKd6T9C2zLjMoJ5V2YnZ6GPuE7Z31bjR8zFn28f4QHTVF00w5RtIAcAceQQDKaIOsGDUApSX7Mfyik8BRA6mAgOpX2dcGFXPKiKiWNp2fFubwvC27kcUiAE99VaeXiShepCMOKsPjq3Zpa4Ld8MeXTCHZM6sSTj5x7ewuyIjqkDKwzeYOjmjAjmzzungM6XuoGTobBTkekOjSHPrhnqf9xmai4wwdfsO+wcEB1JA6PkGfY8R7Ty/FB5DKaIebNFU1zw4nkCq7ov/ADpviGTXxEEvuW94H/oaPzn6okC5WN1e3RQ6kBqQbMKt5k/wq+rl6rpQgZRHZwZTsaQRBSQYdUgwxqb3jUOS0WyT0GgPDLKcaHQHXNU+65rsUlDg1Wy1QbI3Q7E3QS9b/ObgCpyPyzfMChlw+exnhrWX9O6yu76stTGuWPDpsRVpSMP41vf+0uhg0BhwUspJGGgcCGmPBAA4b8Z5MBqNqLBUBA0DWFRfhLLGsjb3riprKkNZUxl+KPvBb71Zaw4ZVmUlZmFnaTNe23cNpqQ/jZ8zXMM8RAqmAgOpMRWD8VrlNbjYM88dEcXMhqW34+6SF2DNOR/vYzeA0MFUYCB1KU7G3ZuexYajEvIXPNKZp0xEJ7Cnf34az2x/BovHLW5VKO75HrZo9CLcMIbz4NGJifO7UkvM48ej4oq/o6C8r7rOc8PeYrEElQ91w96cn48RXRDATnvwSmR/srHVwdKUey9395BiIHUiKDtY6xcaRQqkPALf5xtWFqBfbhIy85Ij1h0qkPKIFEyFqptah6EUUQ/nCabqvvgP7vIJpHZlXoGDfS/ChYn7oPv2nwCgbn9Wuji4IgBD0uOwaGouRjh24ZTVL6rrIwVSHqGCqT0bJ2PEpJltv7geRqcRkWQWkWSOTchlc0pBQxIGDlvYZHOiLLBHl90bgnn3cUCrOP2GJQwXZvluN6vzdQXP2aX2AOstvbscTa6vtnVcCk/t3RUHg9aMsy0OODUG6OtehWBMQB99HPro4zDRE2TFjwJSJsGqNaBYbkahvQ5F9loUWitQ1HwchY2lsEjWNp1Ks7MZu6t2Y3fVbr/1AgRkxmdi5Ni+2FQ2CEMaGlGaUA0gdDAVKpBaV3kD7jx/OAMpohjbs3E18kteAAD8o/BzIEwwFSqQ+kfh5wCA/JIXsGfjjBPqZzJRZ2GPIH/qPHho4zx46L3z4DFsoJZwfleKRtnBWuwMEUhFEnjDfmd5X+QdrO2Sm+ptHXqPQ/adODLzkjFhVjY2f1IU1fvbw/d9PmFWdsj3d2ZeMkb2r8auo6kRAymPUMHUyP7VDKRigKEUUS+wSLvKr4fUvx1X4YhzFvIdCubvn4zRjqvUQCpUMDWifyJumpaH80/pB40oABiEDbsXIr/khagCKQ/fYGrDoIXI582vdjFoNTBoNUiN07e7LkVRYHXI3l5Z9uA5uHwDr6OBwxkGlG2yS2rdAmSYYA8TZrl7aoVaFmwwwYq4gCEOzT7LOkGKcFU9hE/vLhFAsmd9476IuxkBDHN/+VIAlGs0KNRpUWSMQ5HB6FrWCCgT29azSoGCI41HAByBPhUoDdi+pHoLPn/zbJw9/HJsP/ARfrSUqdv6NSVhI4binNO3AymH8czP0R2vvWUUpf11RFtPNGJ1rFi8NtF0sOtW5xvlsaLR1mM5nU4cbnb1ENy+bTu02si/IsfqtYmGoig4nnMW+tbvBABo6zciJ3EwCuGaD3DJtiV4+uenYZe9HxAYgQwMrv4eyxIToFMUlKSfg2FpVhQVfgadqPN+aQIe3V96jT6ojCiIMbkeot6EPYKCcR680Bg2UEs4vytFqyNv2BN1FxNnD8HAEamtfp+Om5kVsRdT89at6PvmvTAk5SK5riBiIOXhG0wl1R9C8jcFaL4oh8O9thNDKaKebv3jwJf3q0//7bjKFTgdBj46rACowQa4AqjAYGrzwGtw07Q8TB2WETTPTP6CR7Bn44xWB0v58x/Eno2TGUh1M4IgwKTXwKTXICPB0O76ZFmBxSH5hVa+gZc36PL22DrmM0xhk91/u8UeOnzSwekTZnmGIvRZ9llnEtwBlzvw8izHuXt3+fX6Emztfg26igCgryShryThdKv/dVgEAYd1WhTqdCh0PxbpdCjSaWER23dDea+9Gnt3PBe0/lhcHQxxX2JzHbD553Ydgqhb+PHgj119CqElJvg8qfHb5BtIAcAeVGBPaorPmp+B739u1+G1ghY6jQ5aUdtigBUYcoUr51nnW2ekci0FalqRf9pQ52GPoPBO3rQHi+trsMT9fag18+Atrq7ByZv2AKM640w7B8MGisa40fOx+PDX6v95W+Z3XZx6Gt8jJ4iOumFP1J209X0aaT/z+PFIv/FG4KmnogqkPHyDqfQbb2QgFQP8y42oJwsIpHDu/SgsnALsOu5e4Q2aPD2jfIMp5ZThEIafEbb6tg7zw+GBej9RFBBn0CLOoEWfGNQnyYrfkISNgT2zAtY1u3t6lQcMW+gJx+yOyPNneXp3+YZZvr27XPNxuQMun2XfdeF6gnVl7y6TomCY3YFhdv/54hQAxz29q3Q6V1ild4VWx1roEUJEBABOxQmn09nVpxGRKIhRhVchgy5N6OWw5aKoTy/qg8ppRW3QB4GoZzIVVWBxdXTBi0eoAMZUVAH0DbtLj+MZcjTf/TzS6xPq9VhQ1wDU9a4hR6WkizCm4q2o5uz0CDVUspR0UYefK3WteuPdGFPx5zbP71qfeXennSt1vY64YU90Isj4002IOyO/1cFS+sKFMI8bx0AqRngniqinKt4QFEhh8p/x+0HVWK2GUv4ODVuIstRsZG75NwBAWHs/MPh0ICs/ZHmizqIRBSQadUg0xmY+Lockh+7FpYZagesktZdXhU+PLk8ZpxT9MFw6ONVhCc3uObvi3OFXuHm8Wpq7yxOMtZUAoJ8koZ8kIT+gd1WzIKDYN6xy97AqjkHvKiKiziQrMmySDTape/eGDeoJFia8iqbXWLTlwgVq4UI3DtfYshGTZqJ233VYXPVy23sEpV3Xa4IXjxGTZmLDvpuRf+hJV8CE0MFU2EAK7vlse9HrMiE7FWec9iSw5eY2hw1nnPYk5+3s5TYXVeOJtQcA3IApeDrieyXc/K7r1h7A5JPS+V4hImpBW4MlBlKxw1CKqKfKygfOvgv49t9qIAUAmwprQhb/3Zk5+PvskwGcBiQbXYHW2XcxkKJeSacRkWzWI9kcm/m4bE7ZL6hqtoeea6vRHhxoNdmcqFTXOdBkc0JB6z8lL0CGEXb/gCvKebw8c3YFhl1xsMKk2DDC7sCIgN5VMly9q55JTsLKxPig88mz25HjaHuvCSHKOYSieaViVSYa0dYTs/OO4mUSYjR3kauuzisT07pi+Dp1t/dcqLr26PXYbvQOxaqXFdhFb6lcux0DnBIcAuCAALsgwCEIcAiAE65luwD3OsFVRmTvnc7ikB1wyA6gG3c8CxyuMVTIpQ6/qIkwpGOIXmNh6wzRu0xySKiWqqERNKi2ViNBk6AGeRpR09Uvk2ve1WVoMZgKF0hFO29rR1EUBZIiwSE7YJfscMgOOGUnHJIDdtn1PHDZIbufS66ynv1863CMTMXbyjSk1f8MpyBghM2GPQbX96wl25bgfz//D07Z2wBOtdpQqdHgsZRklCefhpzRA7Hnl5eCQ9swgWrgcuCQoBpB0+U9FBdNzQXQcjAVLpBy7U+92YTsVNx5/nA8/PlerKsMH0yFC6QA4M7zhzOQIiKiHkFQYjWzNPVYpaWlGDRoEACgpKQEAwcO7OIzolYp3qAGS898U4CHP9+rbtIKCpyK9w+wO88f7v2Dxmc/IuocFosFq1evgUMGTp8yFZKgDZiLS/Lr0RU4L5enl5ff0IZh5uNqDU/vrsAwq3/6KnyV7g26EyUZ9Rrvp+fnVBqQXjMKAmRoIEOEAgGKuixChuizTfQ8Cv7bgvdRgrcJ3m2u9d7lwP3UYwrhz8d/vc+2aFIgoi60NClBvfkNeHsXhFsfLQWujMQTXjkgwCl4Ai2o4VVwoOWz7LOv57ndb1+417nq9t3XHrQvfMp595U49B25BQ3XGGIIxlC90MKWDRO8aUVt5N5log67Vj2Fwpr3sDQlST2/m8fejN+d8ju8+MuL+N9P/1PXX1dbh+zkSzFy9iJXqOMOePxCnYCQJzD8CRUaecIk39AocFl99KlfieEHG7orAULYOevUMDTEclBgGuL9EthbMdyyZ7+3Nx3FTzsfwK60I+r53ZI6HtfPfgVLP7oWS6q3qutHVw7CpLGPYMGUbChQoCgKZMhQlIBlKJAV77Jnm6zIgAJ12bMt0r6+5TzLobZbbVZs3boVChSMGTsGer0+qJzr+DJkWYKiyJAV12PoZQWKLLnrkKEo7mXIUGTXoyx76lRc+7jXKe5r8dbpex2yt071Wnzqca+DIkP2e1089Sj++wa8Nt46Xa+zt04FcD/KkKEA7nrgqlPd1/f/zNUamx3u+XYFBXbRjkafj5ILigLF5+dgYCDF8JIsFgvWrFkDADjvvPNgMpm6+IyICOjZbbOjcgOGUsRQqpcIDKRmDJBw0WAFxeZheGxtgbqev6wSdZ2O+EVElhU0OwJ6bIXoxeUJuLy9vHx6dNm9+1nd83FNSfd+OhPw/tEbbn3vESrI8oZWoYIwjeAfkvnu7wnQQoZ2QpjQLlwwp+7jeR4q0JOhgeJ3TP8QMGBbuOuLEAKGO6YoRHc+gs/5e47TutfgxP3VtaXgqb3BVE8gAUFhmG/w5fQJtALDMLUsAkI0n8DNNziLHLj5lvM/hpPBGRERdTAGUhRKT77xTdSb9eS22VG5AYfvI+oFAgOpW6fnIqt5HwBg4eQs6HQ6dbvnkb+0EvUOoigg3qBFvEEbk3nSnZKMFz/+HZ6qDQ6ezHpN0HAiP2ccxsL+r2PosP+4Pmvtzgtcn/qE+5OhUD+J7VkHRVG3uZ4qPmW96+Czv1o2xDq1jiiOGVin33nAtULxqa/FY4Y5nuJ+QbzXGOUx/c7R9YlaKdRrG80xW/vaBpyjpxL/81YCXpMIr22EY/qftxLw/onw2squsAqKN5gTFRmA5H50PRegQPRbJ7lDMRmCe19Ahqi4ykmSExpFhlYU3PV66xegQKO416l1+5RRWu6d5x+2+fbOi6634KaUKnyTWqW+966qErCg3j9wWlDXgColEa+luYY1W5KaghIlA7NrNdBAgtZdpwaS+1GGVpAgQobWfT5an22eclpBRnehAaBRFBgBbyPqZmT49jrzCbACAi3POqfgX9YeIjQL3Neprou8rxMBvd04XCMRUY+nlxUGUkRE1KMxlCLq4QIDqTvPH45rJ2VizZp96jrPL6kMpoioJa9+ugBP1XqHjvEEUp4/eF3fc/yDqRXOX7D46N9DTtZN1BPE8pNr/uFoYIAXGGpGDvw8geAbe1/BNzv/q+53iTwC99SvVp/XIh7JaAQA/KX+CGqSzsPHWtfP+vfSnNBMWIDzB/0aFkmBJCtwyjIkWVG/nH6PMiQZkGTZu16SIctOyE4JsuyEIjlcj+pzJxRFApxOyLIEyA4oshOKJEGRJQiyBEV2ArITiuJ0P5cgyE5AkQBZgqA+urZDkSAqrkdBdi0L7i/RHZj5BmlBgZrgDtQCQjiN776C7z6h6vPWE7ivuhwisBMB6AHoPclsN9QRwzUG7+vtseY7XKM9xL4crrF70ioKdIoCreJ6P+vgeq7zPFfXwb1ecZfzf75Hr8dWk1Gt1yDLsIne4YBPtdqQ53C458ALHtYzMFxlD0U60dlFAVPSn+Z8Y0RE1GMxlCLqwUIFUoum5sJisQSVZTBFRC0JN3Gy7ycwvd9Lwk/ATHQiEwQB3nuj7b9Juu34NjzrE0hdipPxj+LP1ecbhtyM/PkPYsOye5F/6EkAwL9K1kCfcz7ex24AwNuHnsOsoWdgQt9x7T6f7kBRQoVpviGb7L9dcs3b4QndnO5wziYraA4K5rz7yiECO6esQJIUSIpvYCdBdjpdQZzshCxJrqBO8qxzhXeQJFcw5wnoZFcQpyjugE52bVeDOtkJUXFtF2XPo9MdzskQFKc3PPPp1Raux5saqAkBveUQorec4N1mDgr33I9CQIAXEO7phPbPedie4RqD5ykLPVyjd9/OHa5R8Alw9IriDoCCwx71eUDY4wp8oAZFesUbDmnh/1xdVte7nmsVBfowQZNWcfVMbK+lSQl+gVSoefB2GA04p7m5XcONykDYkNTu814J/H/0DUntggBnmP1DzYln93m/2EO8t3yP1d16JwqKAgGuEF0AIChw9yaGd70Cd89gqOtDlRPd2btnvajAZ7tro6j4HMtTZ0A5b/2uL7VOBX7nKrrDfs9zqPUIah3wLMO9rPgsq+sU96Nnjc92RfBfo36+QPDWrLieKe41iiL4lBX8vwLXKZ4rgOvKFVGtH4qgvsLH48rxQ6L3ww1mWUazO9D9OeMwpjY8BIC/exMRUc/DUIqoh9pcVB0ykIokVDB1WnYKJmSndtyJElGPsG37shYDKY9IwdTY7cswbvT8zjtxol5uXN9xWDR6EZ7Z/owrkCoMDqQAuIMpqMHUPwo/B9zB1KLRizCulwRSgCv402oEaGNxx7yHk0MEauF6wDlDbfPpPScrCuxS8L5yiDqC6/IGdk7ZGwL6966TAMkVximeR9np7lnn36tOkD3lHLBZLRAVCQadBoIiu4I7WYbgCegguYfnDB2eqevUoE2GIaBnXPBwlqHq85bxDfwESHDdnZbwYTLwVqr3T+wESUaDxtsj6LfVNlxe54DOfeNdcd/09jwCrhvb6rCn8N6cVsKVV8sgqIz3VnZwGQWAHYAtyvLwe4xwLoq3zOfJdqxMtavbfee58zx6gqklqSkokDNxbq3J71y88Uf462tbeW8ZQIAIwAABBs/1CN5AwnVJgrtad/zh3q4I3pBDLSN4IhLvsiK4gjNJVCAD2GPeiw+SHOprEy/JaPR5r1xQr0f/ppPdr6cApyJAUUTIigBZAWRFhKQAsixAVkTXOrgGfIXiGlwWECC7Aw9Z8Qwe616nDiIrqK+HrH6J7tdODFjn+v/1rFN8yvrW5Qixzv/RfR2B63zKKT7HDbcuFh/86M6mpD+Nn30CqVDzu/JDYURE1FMxlOpmDh8+jCeffBKffPIJDh8+DIPBgLy8PFxxxRW44YYbYDabu/oUqZuYkJ2KW6afhCfWHmjVONK+wdQt009iIEVEAIBxo+fj4p/exyqhIGIg5REqmLpYyWUgRdQBbhhzA+K3/4L5hW+o63wDKY9QwVRuzjzMH3NDp54vdR5RFKBXe2D0vpQu2qE1Q/WeCxXYBfeq8+8955TdveDc4ZpTVmCNIuyTZQVb697HlvrX1XNaXF2DS2sVvJ8sqMHLa6kG7Bh4HU6Om6PmG6I71BAEdx8MNfsQIAasEwSoYYgoBKyHt5em/zb/OoUw+3ryFHVbQJ1CmPOB+7nfdQjAl2Ur8FHJi36vhyeIqlXikSw0BgVTH6VbYJ50DS7J/o23TvejKHivxfNc9LwWove54HOurnKC+3X2Pveco/o84LXtaEs/ug4fVHsDqTEVg7Gz+RaMMT+hhg2fJdqxOFvbqrBB9rx/fYNhz3tXUSDLcAXQMtRyni9Z8ZZT17mf+9bjKgdYrFb8vGMnFAUYMXIkNFpdUDlnQD1qm1Q85VxDxUruOuWA4/vuE3Rtku85Qx16NuhYvtfmW0fgtXazkVZ9gyfAG0gBCJrflcEUERH1RAylupFPPvkE8+bNQ11dnbquubkZmzdvxubNm/Hiiy/i008/xZAhQ7rwLKk7+fOMoZh8Unqrg6VFU3PZQ4qI/GwuqsYbexfiZPO3WNd8dit7X96Ak5u/xRvNZ2NOUTW/txDF2IZl97YYSHkEBlPzC9/AhmVpYcsT9QZd3Xtu6c6l2FLiH0idnHYdUv78IE5edi8WV72sBi/bm5dj2vA+WDBqQdecbCdYunNp2EAqcMjRwGDqrYJn0T/J2Gtfn1BDJZ9x2pN4bWounvkmF9hyc5vDBlEUIEKArhPagcVige7oDgDAeWMz2zUXY3egKK5gKjC0U0OxgBBPDdZChnsILhdQj+wTpAcGacUFd+E9JXQgZdCKsDllBlNERNTjMZTqJrZv344rrrgCzc3NiI+Px913341p06bBYrFgxYoVeOGFF7Bv3z7MmjULmzdvRnx8fFefMnUTbb35y5vGROTL2/syuuFAPbzBFNj7kqgD7Nm4Wg2YgMiBlEdgMJV/6Ens2TgZIybN7NBzJToRLd25FEu2LVGfewIp36E1sQx+wZSnfG8MXrYd3xb0egQGUoD/96mgofy2LcHYPmN71bCjQPhAyn/ezifbFUxR2wiCAI0AaMSu7XG69KPr8J6yW33uG0h5fj/3zCvNYIqIiHoyseUi1BkWL16M5uZmaLVarFmzBn/961+Rn5+Pc845B88//zz+85//AAD27t2Lxx57rIvPloiIeqM/zxiKd/6YH3Ug5bFoai7e+WM+/jxjaAedGdGJa8SkmdgwaCGA6AIpj/z5D2LDkJtd+w1ayECKqAO0FEh55M9/ECenXYfF1TXquiXblmDpzqWddaqdxjMPHhA+kPLw/T61oK5BfX162zx4QMuBlMeiqbk447QnMaZisLpuSfUWLP3ouk47V+oa4eZ3Bfw/MLZoai7uPH84ANdQfoHvlW3bl3XiWRMREbUNQ6luYPPmzfjmm28AAAsWLEB+fn5Qmdtuuw0jRowAACxZsgQOhyOoDBERUXux9yVR95O/4BHsueDtVg/Blz//Qdd+Cx7poDMjOnGF6hEUKpDyCBdMbTu+raNPtdON3XEUr5YdjxhIeQQGU6+WHcfYHUc77Vw7Q6iwIVQg5REumGLY0LuNGz0fixJPARA+kPIIF0wtSjyF87sSEVGPwFCqG/jggw/U5euuC/0JKFEUMX++65eLmpoaNcQiIiIiot6vrT2d2EOKqGOYiiqwqMY1F3BLgZRHYDC1qKYOpqKKDj/XzuQZcnSczQagFUOOuoOpcTabe8jR1R1+rp1FSroIY6v6A2g5kPIIDKbGVvWHlHRRh58rdS0h5SEMKr4gYiDlERhMDSq+AELKQ512rkRERO3BUKobWLduHQAgLi4O48ePD1vu7LPPVpfXr1/f4edFREREREREwUZMmomxCVfg1bLjUQVSHp5g6tWy4xibcEWvC4455GiwCdmpGDvqfxhUfEFUgZSHJ5gaVHwBxo76H3ul93Kbi6rx8Od7sbvZdd8nmjlefYOp3c1n4+HP92JzUXWHnysREVF7abv6BAjYs2cPACAvLw9abfj/kuHDhwftQ0RERERERJ0vf8Ej2LNxBsa1MkDJn/8g9myc3Or9egrP65Lfxteltfv1BH+eMRSTT7qr1cHSoqm5OC279ftRzzMhOxW3TD8JT6w9EFUg5eEp9/Dne3HL9JP4XiEioh6BoVQXs1qtqKysBAAMHDgwYtmUlBTExcWhqakJJSUlUR+jtLQ04vajR71jdlssFlgslqjrpu7JarWGXCairsW2SdQ9sW0SdU89oW1mn3pWm/5+aut+PQVfl2Cn9DW16draul9H6gltsyf64+RBmDA4AeMHJ7fq//zaSZkY1d/c6v2o92HbJOqeenLb7KifK4KiKEqH1ExRqaioQJ8+fQAAV155JVasWBGxfN++fVFeXo5TTjkFO3fujOoYgiBEfT4vvvgi0tPToy5PRERERERERERERES9S2VlJa6//noAQElJSYudaqLFOaW6mG86qtfrWyxvMBgAdFxKSURERERERERERERE1BE4fF8XMxqN6rLdbm+xvM1mAwCYTKaoj9HSUH9Hjx7FxIkTAQBnnXVWzBJP6jpWqxXfffcdANf/qe/7jIi6DtsmUffEtknUPbFtEnVPbJtE3RPbJlH31JPbZkvTArUVQ6kulpCQoC43Nja2WL6pqQkAEB8fH/UxWhMymUymVgVe1P0ZjUb+nxJ1Q2ybRN0T2yZR98S2SdQ9sW0SdU9sm0TdU09rmx11rhy+r4sZjUZ1DqeWkseamho1lBo0aFCHnxsREREREREREREREVGsMJTqBkaMGAEAOHjwIJxOZ9hye/fuDdqHiIiIiIiIiIiIiIioJ2Ao1Q1MnjwZgGtovq1bt4Yt9+2336rLZ555ZoefFxERERERERERERERUawwlOoG5syZoy6//PLLIcvIsoxly5YBAJKTkzFt2rTOODUiIiIiIiIiIiIiIqKYYCjVDUycOBFTpkwBACxduhQbNmwIKvPoo49iz549AIBbbrkFOp2uU8+RiIiIiIiIiIiIiIioPbRdfQLk8sQTT+DMM8+ExWLBeeedh7/+9a+YNm0aLBYLVqxYgeeffx4AMHToUNx2221dfLZEREREREREREREREStw1Cqmxg7dizeeust/OY3v0F9fT3++te/BpUZOnQoPvnkEyQkJHTBGRIREREREREREREREbUdh+/rRmbPno0dO3bgz3/+M4YOHQqz2Yzk5GScdtppePjhh/HTTz8hLy+vq0+TiIiIiIiIiIiIiIio1dhTqpvJysrCY489hscee6yrT4WIiIiIiIiIiIiIiChm2FOKiIiIiIiIiIiIiIiIOhxDKSIiIiIiIiIiIiIiIupwDKWIiIiIiIiIiIiIiIiowzGUIiIiIiIiIiIiIiIiog7HUIqIiIiIiIiIiIiIiIg6HEMpIiIiIiIiIiIiIiIi6nAMpYiIiIiIiIiIiIiIiKjDMZQiIiIiIiIiIiIiIiKiDsdQioiIiIiIiIiIiIiIiDocQykiIiIiIiIiIiIiIiLqcAyliIiIiIiIiIiIiIiIqMMxlCIiIiIiIiIiIiIiIqIOx1CKiIiIiIiIiIiIiIiIOhxDKSIiIiIiIiIiIiIiIupwDKWIiIiIiIiIiIiIiIiowzGUIiIiIiIiIiIiIiIiog7HUIqIiIiIiIiIiIiIiIg6nLarT4C6ntPpVJePHj3ahWdCsWKxWFBZWQkAKC0thclk6uIzIiKAbZOou2LbJOqe2DaJuie2TaLuiW2TqHvqyW3TNyvwzRDai6EUoaKiQl2eOHFiF54JERERERERERERERF1JxUVFcjOzo5JXRy+j4iIiIiIiIiIiIiIiDqcoCiK0tUnQV3LarVi586dAICMjAxotexA19MdPXpU7fW2adMm9O/fv4vPiIgAtk2i7optk6h7Ytsk6p7YNom6J7ZNou6pJ7dNp9OpjrI2atQoGI3GmNTL9IFgNBoxYcKErj4N6iD9+/fHwIEDu/o0iCgA2yZR98S2SdQ9sW0SdU9sm0TdE9smUffUE9tmrIbs88Xh+4iIiIiIiIiIiIiIiKjDMZQiIiIiIiIiIiIiIiKiDsdQioiIiIiIiIiIiIiIiDocQykiIiIiIiIiIiIiIiLqcAyliIiIiIiIiIiIiIiIqMMxlCIiIiIiIiIiIiIiIqIOx1CKiIiIiIiIiIiIiIiIOpygKIrS1SdBREREREREREREREREvRt7ShEREREREREREREREVGHYyhFREREREREREREREREHY6hFBEREREREREREREREXU4hlJERERERERERERERETU4RhKERERERERERERERERUYdjKEVEREREREREREREREQdjqEUERERERERERERERERdTiGUkRERERERERERERERNThGEoRERERERERERERERFRh2MoRURERERERERERERERB2OoRRRD9LY2IjvvvsOjzzyCK644grk5ORAEAQIgoDs7Oyo6igvL8err76Km266CWeccQZycnKQkJAAg8GA/v37Y+bMmXjmmWfQ1NQU9XmtWLECM2fORP/+/WE0GpGdnY3f/va3+PHHH9t4pUQ9SyzapqIoWL9+Pf7+979j+vTp6N+/P/R6PRITEzFy5EjccMMN2L59e6vOi22TTnSxaJsAUFJSgvfeew933XUXzjnnHCQmJqr13H///a0+L7ZNOtHFqm167Nq1C3/84x+Rl5cHk8mEjIwMnHXWWXjuuefgdDqjrodtkyh6H3/8MS677DIMHDgQBoMB6enpyM/Px6OPPorm5uao64lV+yUilzVr1uDqq6/GkCFDYDabYTQaMWjQIMyZMwdvv/02FEWJqh62TaL2u//++9XfcaP9aunvy17TNhUi6jGmTp2qAAj5lZWVFVUdL7zwQtg6AuvbsmVLxLosFoty0UUXha1DFEXlgQceiMGVE3VvsWibgwcPbrFdCoKg/OUvf1FkWY5YF9smkUss2mZRUVHEdnnfffdFfT5sm0QusWibHi+++KJiMBjC1nf66acrlZWVEetg2ySKXn19vTJ79uyIPxtPOukkZc+ePS3WFYv2S0QuNptNueKKK1r8m3Lq1KlKbW1txLrYNoli47777ovqHqzv1/Lly8PW15vaJntKEfUgis8nWlJSUjBjxgzEx8e3qg5BEHDSSSdh4cKFePrpp/Hhhx9i06ZN+O677/Daa69h5syZAIDi4mLMmDEDR48eDVvXggUL8PHHHwMApk2bhg8++ACbNm3C0qVLkZubC1mW8fe//x0vvvhiG66WqOeIRds8cuQIACAvLw933nknVq1ahS1btmDdunV44IEHkJKSAkVR8J///Af33HNPxLrYNolcYtE2fesQBAF5eXk466yz2nQ+bJtELrFomwCwevVq/P73v4fNZkPfvn3x5JNPYuPGjfjss89w6aWXAgB+/PFHXHrppZBlOWw9bJtE0VEUBVdeeSU++ugjAMD48ePx+uuvY8uWLfj6669x++23w2Aw4MCBA7jgggtQVVUVtq5YtV8iclm8eDHefvttAECfPn3wyCOP4KuvvsK6devw9NNPIysrCwDwzTff4Ne//nXYetg2iWLnhhtuwM6dOyN+/fzzz0hMTAQAJCYmYs6cOSHr6nVtswsDMSJqpeeee05541IdZycAAB4HSURBVI03lAMHDqjrsrKyWvWpUofD0WKZxx9/XE3Zb7311pBlvvnmG7XM7NmzFafT6be9oqJC7fmRkpKi1NTURHV+RD1RLNpmfn6+8vnnn4ftBXXw4EElIyNDAaBotVqloKAgZDm2TSKvWLTNyspK5aGHHlJWr16tVFdXK4qiKF9//XWre0qxbRJ5xep32ry8PAWAkpiYqBw8eDCozA033KC2u1dffTVkPWybRNF755131PYyY8YMxWazBZX54osvFI1GowBQ/vSnP4WsJ1btl4hcjh8/roiiqP6sKikpCSpTV1enZGdnq+1q69atQWXYNok636effqq2qQULFoQs0xvbJkMpoh6utX/AR8PhcCjx8fEKAOW0004LWebCCy9UACgajSbkLzyKoihvvvmm+g3xkUceidn5EfUEHdE2//vf/6pt6rHHHgtZhm2TKLJYtM22hFJsm0SRtbZtvv3222p7+de//hWyTFNTk5KSkqIAUE455ZSQZdg2iaLnO8zl/v37w5abN2+eAkDR6/XqBzp8xar9EpHLhx9+2OIHixVFUZ544gm13H//+9+g7WybRJ3vqquuUtvdt99+G7JMb2ybHL6PiIJotVoYDAYAgNVqDdre2NiItWvXAgBmzJiBgQMHhqzn0ksvVbugvv/++x10tkQnjmnTpqnLBQUFQdvZNom6J7ZNotj74IMP1OVrr702ZBmz2YwrrrgCAPDLL7/gwIEDftvZNolaZ/PmzQBcw02fdNJJYcudf/75AAC73Y5Vq1YFbY9F+yUiL7vdri4PGTIkbLnc3Fx12WazBW1n2yTqXPX19fjwww8BADk5OZgyZUrIcr2xbTKUIqIgX3zxhTr+9/Dhw4O2b9q0Sf0F5uyzzw5bj16vx+mnn67u43A4OuBsiU4cvn84iGLwj3C2TaLuiW2TKPbWrVsHABg2bBj69esXtpxvm1u/fr3fNrZNotaprq4GAPTt2zdiOd/t3377bdD2WLRfIvIaOnSounzo0KGw5Xw/2Oi7jwfbJlHneuedd2CxWAAAv/3tbyEIQshyvbFtMpQiIgBAQ0MDdu/ejfvvvx+/+tWv1PU333xzUNk9e/aoy6FCK1+e7U6ns9un9ETdne8f9aHaHtsmUffEtkkUW42NjSgtLQUQfZsC/Nti4HO2TaKWxcXFAQDq6uoilvPdvnv3br9tsWq/ROR16qmnIj8/HwDwyiuvoKysLKhMQ0MDlixZAgDIzs7Geeed57edbZOo8y1btkxdnj9/fsgyvbVtMpQiOoHdf//9EAQBgiAgMTERI0eOxD/+8Q80NDRAo9FgyZIlIbuOlpSUqMvhhjnxGDRoUMj9iKh1mpub1T8i9Ho9LrnkkqAybJtE3RPbJlFslZaWQlEUAO1rU2ybRK0zYsQIAK4bXRUVFWHLfffdd+ry4cOH/bbFqv0Skb+XXnoJWVlZqK6uxrhx4/DYY4/hm2++wfr16/Hss89i9OjRKCwsRFpaGt544w11ygYPtk2izlVcXKz2gDrzzDP9htf01VvbJkMpIgoyffp07NixA7fcckvI7Q0NDepyfHx8xLo8n6YDXOk+EbXNnXfeqf5Rf+ONN2LAgAFBZdg2ibontk2i2IpVm2LbJGodz4eiJEnC3/72t5BlDhw4gJdffll97tvOAp+z3RHFzvDhw7Flyxb84x//QFNTE2677TZMmzYNU6ZMwaJFi1BaWorbbrsN27ZtwxlnnBG0P9smUedatmyZGjZdc801Ycv11rbJUIroBHbDDTdg586d2LlzJ3788Ue8/PLLmDZtGtauXYurr74aGzduDLmf1WpVl/V6fcRj+H76xjNOKhG1zhtvvIH//e9/AFyfUP3nP/8ZshzbJlH3xLZJFFuxalNsm0Sts2jRIvVT2s8//zx++9vfYseOHbDb7aiqqsJrr72Gs846C42NjWqbYrsj6jyffvop3nrrrZA3ox0OB959912888476o1wX2ybRJ3r9ddfBwAYjUZcccUVYcv11rbJUIooxpxOpzokXnu+XnnllQ4/1z59+uCUU07BKaecgkmTJuHaa6/FV199hYceegg7duzA1KlTsWbNmqD9jEajumy32yMewzN5NACYTKbYnTxRK/Wktunrm2++wYIFCwAAKSkpePfdd8O2JbZN6ol6attsDbZN6om6c9uMVZti26TeqqPab2JiIlatWqVOsv76669j9OjRMBgMSE9Px/z583Hs2DHccMMNGDp0KAAgISHBrw62OzqRdeTP1ttvvx3XXHMNdu/ejTlz5uD7779HY2MjLBYLtm3bhuuuuw7FxcW4/fbbceWVV0KWZb/92TbpRNbZv/f++OOP2L9/PwBXL+SkpKSwZXtr22QoRURB7rnnHkyaNAlWqxULFy6E0+n02+77h0VL3UGbmprU5Za6mRKRvy1btuDiiy+GzWZDXFwcPv30U5x88slhy7NtEnVPbJtEsRWrNsW2SdR6Y8eOxfbt27F48WL079/fb9uoUaOwbNkyPPXUUzh69CgA14eqfLHdEcXexx9/jEcffRQAcO2112LlypU444wzEBcXB6PRiLFjx+Kll17CvffeCwB455138Mwzz/jVwbZJ1HmWLVumLs+fPz9i2d7aNrVdfQJEvY1W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iIiow4ldfQJERERERERERERERETU+zGUIiIiIiIiIiIiIiIiog7HUIqIiIiIiIiIiIiIiIg6HEMpIiIiIiIiIiIiIiIi6nAMpYiIiIiIiIiIiIiIiKjDMZQiIiIiIiIiIiIiIiKiDsdQioiIiIiIiIiIiIiIiDocQykiIiIiIiIiIiIiIiLqcAyliIiIiIiIiIiIiIiIqMMxlCIiIiIiIiIiIiIiIqIOx1CKiIiIiIiIiIiIiIiIOhxDKSIiIiIiIiIiIiIiIupwDKWIiIiIiIiIiIiIiIiowzGUIiIiIiIiIiIiIiIiog7HUIqIiIiIiIiIiIiIiIg6HEMpIiIiIiIiIiIiIiIi6nAMpYiIiIiIiCjI/fffD0EQgr6++eabNtf5yiuvqPUUFRXF7Fy7mu91+X698sorXX1qRERERETdCkMpIiIiIiLqVb755puQAYEgCDCZTBg4cCAuuOACPP3002hsbIy63u+++w4LFizAySefjMTEROj1emRmZmLMmDG49NJLsWTJEvz000+QZbnDzyk7OztkXVqtFmlpaTj99NNx11134dChQ6167bratddeG/Z10mq1SE1NRX5+Pv7+97+jrKysq0+XiIiIiIhaiaEUERERERGdMKxWK44cOYLPP/8cN954I0455RRs37494j7Nzc24/PLLcfbZZ+Oll17Cnj170NDQAIfDgaNHj2L79u1YuXIl/vznP2PcuHFYs2ZNh59TOJIkobq6Ghs3bsTDDz+Mk08+Gc8991yb6vK1c+dO9WvChAntrq8tJElCTU0NfvzxRzz44IMYPnw4Vq1a1SXnEmjOnDnq67N69equPh0iIiIiom5L29UnQERERERE1FEWLVqEG264QX1eWVmJffv24bHHHsP+/ftRXFyMCy64APv27UNCQkLIOi6//HJ8+umnAIC8vDwsXLgQEyZMQEpKCpqamnDgwAF8//33WLVqFcrLyzvlnDwyMzP9QhCn04mSkhKsWLECy5cvh81mw6JFizB48GBccMEFLZ5bOKecckqb922r1atXIzMzU33ucDhQWlqKd999F6+99hoaGhpw+eWXY/v27Rg+fHinn5+v5ORkJCcnAwDi4+O79FyIiIiIiLozhlJERERERNRr9enTJyhQmTp1Kq677jpccMEF+Oqrr3D06FE8//zzuO2224L2/+yzz9RAaubMmfjwww9hMBj8ypx55pm49tpr8eyzz+KDDz7AoEGDOvScfOl0uqC6xowZg9mzZ2P8+PG47bbboCgK7r333naFUl1h6NChyM7O9ls3duxYzJ49G9nZ2XjggQdgt9vxxBNP4JlnnumakyQiIiIiolbh8H1ERERERHTC0ev1uP/++9XnX3zxRchyH3zwgbr86KOPBgVSvjQaDX71q19h5MiRHXpO0Vq8eDEGDx4MANi6dWtUvbh6ijvuuAOCIAAANm7c2MVnQ0RERERE0WIoRUREREREJ6Rx48apyyUlJSHLFBcXq8t5eXnd4pyiJYqi3/xPhw8fbld90aipqcFdd92F4cOHw2QyoU+fPjj33HPxzjvvxPQ48fHxSEtLA+CakyuUqVOnQhAETJ06FQBw8OBB/PGPf8SQIUNgMpmQnZ2NBQsW+P0fA8Avv/yC6667DkOGDIHRaMSgQYOwaNGiXhXqERERERF1FQ7fR0REREREJySNRqMua7Wh/zTS6/Xq8p49ezBmzJguP6fW8K1DkqR21xfJ7t27ce655+Lo0aPqOqvVirVr12Lt2rX43e9+hylTpsTkWI2NjaiqqgIAtTdYJF9++SUuvfRSNDQ0qOuKi4vx0ksv4eOPP8a3336L4cOH480338R1110Hm82mlistLcWzzz6Lzz77DD/88IPfPFdERERERNQ67ClFREREREQnpN27d6vLgXMXeYwdO1Zdvummm1BRUdHl59QaO3bsUJc7Mkypq6vDzJkz1UDqyiuvxKeffootW7Zg+fLlOO200/DSSy/h6aefjsnxHn30USiKAgC4+OKLI5YtKyvDFVdcgeTkZPz3v//Fxo0bsW7dOixevBiCIKC8vBzXX389Nm/ejPnz52PIkCF48cUXsWnTJnz99df47W9/C8AVYt16660xOX8iIiIiohMVe0oREREREdEJ6ZFHHlGXL7vsspBlFixYgEceeQTNzc34/vvvkZWVhQsuuABnnXUWJk2ahLFjx0acZ6ojzilaK1euxJ49ewAAQ4YMwaBBg9pVXyQPPPAASktLAQD/7//9P9x9993qtvHjx+Oyyy7DRRddhDVr1kRd5/79+9HY2Kg+dzqdKC0txcqVK/HKK68AAM4880wsWLAgYj0HDhzASSedhO+//x4ZGRnq+smTJ0On0+H//u//8P3332PWrFmYNGkS1qxZA7PZrJabOnUqrFYr3nnnHbz33nuoqKjwq4eIiIiIiKLHnlJERERERHTCqKqqwvr163HhhRfizf/f3v2FZlm+cQD/zjY0ZlOHLFsuGrUymrUQBaPMwUyzIooOcglLImx1YkYTCqpBaVAgigeFpP0BV9CfUdBWGR0sijAt0iQsTKkkw6bQQbk0fwfii/7SuXTvHPn5wAv39lxcz/U+Zy9f7ufu6EiSTJ8+PXfddddx6y+66KK8/vrrGT16dJLkjz/+yFtvvZVFixZl+vTpGTNmTGbMmJHly5ent7d3SGbqz8GDB7Njx44sW7Yszc3Nhf+3tbWd0mwDsX///qxduzZJctVVV2XJkiX/qCkrK8uLL76YsrKyAfedPXt2Jk+eXPhcc801ufXWW7NmzZpMmDAhy5cvz/r16wcUCq5cufK4QdIDDzxQWO/ZsyerV68+JpA6orW1NcnhYOyzzz4b8HcAAACOJZQCAAD+s9rb21NSUlL4jB8/Ptdff326urpSWlqa+fPnp7u7u9+w5JZbbsnWrVvz4IMPprKy8phr+/fvT09PTxYvXpxLLrkkr7zyypDMdMTOnTuP6VVaWpra2to8+uij+fPPP5McDlQWLlx40l6nauPGjdm7d2+SpKWlJSNGHP9n5sSJE3PjjTcOyj137dqVtWvXpru7+6S1Y8eOzezZs4977eKLL05FRUWSw4HaFVdccdy6q6++urDevn37KUwMAAAkQikAAOAsddlll6Wtra0QSvSnpqYmq1atyu7du/P5559n5cqVWbBgQerq6go1+/btS0tLS2HXULFn6s/o0aNz00035b333hu0c5xOZPPmzYX11KlT+62dNm3agPv+8MMPOXToUOHz999/57fffktXV1duuOGGfP3117njjjuyatWqfvvU1dWlpKTkhNfHjBmT5PCzP5GxY8cW1r///vuAvwMAAHAsZ0oBAAD/Wa2trYVXtB04cCC7du3KO++8kzVr1mTr1q2ZOXNmPv3001x++eUD6ldaWppp06YdE65s3LgxixYtyieffJIkefjhh3PnnXfmvPPOK/pM1dXVef/994+Zr6KiIhMmTDjhjqXBdmSXVJJUVVX1W3v++eef8n1KSkpSWVmZOXPmZNasWWlsbExPT08eeuihzJo164TP63iv4zvakefUX93Rz/LgwYOnMD0AAJDYKQUAAPyHVVVVpb6+PvX19WloaMjcuXPz/PPP5+23386IESPS29ub5ubm0woapkyZku7u7lx66aVJDoc069evH5KZysrKCr3q6+szadKkVFdXD1kglSSHDh0qrPvbkfT/tafjnHPOyeLFi5McDvYG8tpEAADgzBNKAQAAZ52bb745999/f5Jk06ZNeemll06rX3l5eebNm1f4+/vvvz/jMw2Vo8/Z2r17d7+1v/7666Ddd9KkSYX10a8QBAAAhi+hFAAAcFZ64oknUl5eniRpb29PX1/fafWrrq4urE91p9JgzzQUJk+eXFhv2LCh39qTXf83Dhw4UFj/9ddfg9YXAAAoHqEUAABwVqqqqsrChQuTJD/++GNefvnlf9T8m9fNffHFF4V1bW1t0WYabqZMmZJx48YlSV599dUTPrOff/45H3zwwaDd9+iAq6amZtD6AgAAxSOUAgAAzlqPPPJIRo0alSR55pln/nGOU2tra5YuXZre3t5++3z44YeFAKm8vDxNTU1Fm2m4GTlyZBYsWJAk+eqrr/Lss8/+o+bAgQO57777Bm3n1969e7Ns2bLC33Pnzh2UvgAAQHEJpQAAgLPWhAkTcu+99yZJtm/fnnXr1h1zfc+ePXnsscdywQUX5Pbbb8+KFSuyfv36fPnll9mwYUM6Ojoyb968zJkzp/A6uaeeeioVFRVFm2k4evzxxzNx4sQkyZIlS9Lc3Jzu7u5s2rQpr732Wq699tp0dXVl6tSpA+65bdu2bNmypfDZvHlzenp68txzz6WhoSHfffddkuS6667LbbfdVpTvBQAADK7SMz0AAADAmbRkyZKsXr06fX19Wbp0ae6+++7CmVAXXnhhkqSvry+dnZ3p7Ow8YZ9Ro0alvb09ixYtKupMw9GYMWPS3d2dpqam/PLLL+no6EhHR8cxNQsWLMiMGTMKu6pOZvbs2SetaWxszBtvvJGSkpJTmhsAABhaw/dXDQAAwBCoqalJS0tLkuTbb7/Nm2++Wbi2YsWK7Ny5My+88ELmz5+fhoaGjBs3LqWlpTn33HNTXV2dpqamPP3009m2bVva2tqKPtNwdeWVV+abb75JW1tb6urqMnLkyIwfPz6NjY1Zt25d1qxZc9r3GD16dOrq6tLc3Jx33303H330USorKwdhegAAYCiUHPo3J/cCAABwVnjyySfT3t6eJPGzceB27NiR2traJMnatWtzzz33nNmBAABgGPH6PgAAAPq1ZcuWwrq2tjbl5eVncJrhZ9++ffnpp5+SJLt27TrD0wAAwPAllAIAAKBfkydPLqw//vjjzJw588wNMwx1dnYO+KwsAAA4mzlTCgAAAAAAgKJzphQAAAAAAABFZ6cUAAAAAAAARSeUAgAAAAAAoOiEUgAAAAAAABSdUAoAAAAAAICiE0oBAAAAAABQdEIpAAAAAAAAik4oBQAAAAAAQNEJpQAAAAAAACg6oRQAAAAAAABFJ5QCAAAAAACg6IRSAAAAAAAAFJ1QCgAAAAAAgKITSgEAAAAAAFB0QikAAAAAAACKTigFAAAAAABA0QmlAAAAAAAAKDqhFAAAAAAAAEUnlAIAAAAAAKDohFIAAAAAAAAUnVAKAAAAAACAohNKAQAAAAAAUHT/AzyP7/DexMs5AAAAAElFTkSuQmCC", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABpwAAARFCAYAAACjc2H6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdd1hT1+MG8DcJe29QUXCBuEVw79lq1Wqt1jpwtA7a/rRD29ohdtjaVqu1dbRStWpbra111W3dC8SBA8WBCMreOyH390e+3BIZCSQQxvt5Hh7uPTn33HNDSCBvzjkSQRAEEBEREREREREREREREVWS1NAdICIiIiIiIiIiIiIiotqNgRMRERERERERERERERHphIETERERERERERERERER6YSBExEREREREREREREREemEgRMRERERERERERERERHphIETERERERERERERERER6YSBExEREREREREREREREemEgRMRERERERERERERERHphIETERERERERERERERER6YSBExEREREREREREREREemEgRMRERERERERERERERHphIETERERERERERERERER6YSBExEREREREREREREREemEgRMRERERERERERERERHphIETERERERERERERERER6YSBExEREREREREREREREemEgRMRERERERERERERERHphIETERERERERERERERER6YSBExEREREREREREREREemEgRMRERERERERERERERHphIETERERUT0xdepUSCSSMr8sLS3RqFEjDBgwAB9++CEiIyO1bnvjxo3ltl3W17x588ptNz09HcuWLcPgwYPRsGFDmJqawtnZGb6+vvjggw9w586dCt0HOTk5OHPmDFasWIGJEyfC29sbUqlU7E9QUFCF2itNWFgY3nvvPfj5+aFBgwYwNTVFw4YN4evri+nTp2Pz5s2Ii4vTur2jR49iypQp8PLygqWlJRwcHNC+fXvMnz8fEREROvf3acUfJ1OnTi2zXlRUVKV+5uV9bdy4UWw/KCio0u14enrq5b4o7XE9ZsyYCrVx48aNKutfefeBlZUVGjZsCB8fHwwdOhTvv/8+duzYgYyMDL2cm6gu0vS8ZmRkBAcHB7Ru3RqTJk3Ctm3bUFBQUOHzKJVK7Nu3DzNmzED79u3h6OgIY2NjWFhYoEGDBujatSumTJmC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nWq/Y+Vdo1wuF/r3719umw8ePFA75u+//xYsLCzKPWbmzJlCXl6eVs+HFVXZNs+ePSs4OTmV2+/nn39eSEtLU/vd27BhQ5lt7tu3TzA1NS2zvbKe36OiooSBAwdq/VhxdXUVDhw4ULE7qhSXLl0SbGxsyjxPWc8Ne/bsEVxdXTX2c8KECUJ2drbO/RSEkq8TTz8Oy/PDDz+Ix8lkMiEyMlLt9k8++URwc3Or0O+rvb29sHr16nLPW5te24mIiKju45R6RERERFQuExMTvPfee+L+1q1bxdEEVWXHjh1YtmwZnnvuOXh7e8Pe3h4mJiZwd3dH7969sXTpUty5cweLFy9WGxVhKLa2tvj1119x4sQJzJgxA97e3rCysoK5uTk8PT3x0ksv4a+//sK5c+fQuHFjrdvctm0bDh8+jEmTJqF58+awsLCAra0t2rZti7fffhtXr15VW7CeqIi5uTnc3Nzg5eWFwYMH47333sOff/6JJ0+eYP369WjVqpVW7chkMmzatAl79uzBiBEj4OLiAmNjY7i4uMDPzw+ffvopbty4geeff17rvhkZGeHgwYNYu3YtBg8eDDc3N43rr40aNQrXr1/H66+/Di8vL5iZmcHKygpeXl6YNm0aTpw4gXXr1tWI54Piunfvjhs3buD9999H27ZtYWFhAQsLCzRv3hzjxo3D7t27sXPnTtja2mrd5rBhw3Dp0iXMnj0bbdu2hbW1dbkjJot4eHjgyJEjOHv2LN5880107txZ/Hmam5vD3d0d/fv3x/z583H48GHExMRg6NChulw+AMDX1xfXrl3D22+/jU6dOsHW1hYymUzjcc899xzu3r2LlStXYvDgwWjYsCFMTExga2sLHx8fBAYG4vz58/j111/FqR8NacaMGeKoysLCwhLTnH700Ud4/PgxLl68iG+++Qbjxo1Dhw4d4OjoCGNjY5iYmMDJyQkdO3bElClTsHXrVjx69Eht9Jc+GeK1nYiIiOo+iSDoaaw8ERERERERERERERER1Usc4UREREREREREREREREQ6YeBEREREREREREREREREOmHgRERERERERERERERERDph4EREREREREREREREREQ6YeBEREREREREREREREREOmHgRERERERERERERERERDph4EREREREREREREREREQ6YeBEREREREREREREREREOmHgRERERERERERERERERDph4EREREREREREREREREQ6YeBEREREREREREREREREOmHgRERERERERERERERERDph4EREREREREREREREREQ6MTJ0B6jq5eXlITw8HADg7OwMIyP+2ImIiIiIiIiIiIiI6iuFQoHExEQAQLt27WBmZqZzm0we6oHw8HB06dLF0N0gIiIiIiIiIiIiIqIa5uLFi/D399e5HU6pR0RERERERERERERERDrhCKd6wNnZWdy+ePEiGjRoYMDe1By5ubk4efIkAKBPnz4wNzc3cI+IiKoHn/+IqD7jcyAR1Vd8/iOi+orPf0Sle/LkiTgzWvEMQRcMnOqB4ms2NWjQAO7u7gbsTc2Rm5sLJycnAIC7uztfbIio3uDzHxHVZ3wOJKL6is9/RFRf8fmPSLPiGYIuOKUeERERERERERERERER6YSBExEREREREREREREREemEgRMRERERERERERERERHphIETERERERERERERERER6YSBExEREREREREREREREemEgRMRERERERERERERERHphIETERERERERERERERER6YSBExEREREREREREREREemEgRMRERERERERERERERHphIETERERERERERERERER6cTI0B2g2iMvLw9paWnIyclBYWGhobujM6VSCUdHRwBAdHQ0pFLmr0RVRSaTwcLCAnZ2djAzMzN0d4iIiIiIiIiIiEjPGDiRRoIg4MmTJ0hPTzd0V/RKEASYm5sDAAoLC6FUKg3cI6K6S6FQID8/H6mpqbC1tUWDBg0gkUgM3S0iIiIiIiIiIiLSEwZOpFFycnKJsMnIqG48dIre8K4r10NUUykUCnE7PT0dJiYmcHJyMmCPiIiIiIiIiIiISJ/4LjuVq6CgAImJieK+i4sL7OzsIJPJDNgr/VAqlcjIyAAA2NjYcEo9oipUWFiItLQ0JCQkAAASExNhY2MDExMTA/eMiIiIiIiIiIiI9IHvsFO5srKyxG1HR0c4OjrWibCJiKqXTCYTn0OKFH9+ISIiIiIiIiIiotqNgROVKzs7W9y2sbExYE+IqC4o/jxS/PmFiIiIiIiIiIiIajcGTlSugoICAKq1jkxNTQ3cGyKq7UxNTcW104qeX4iIiIiIiIiIiKj2Y+BE5VIqlQBU02EVvUlMRFRZEolEnJaz6PmFiIiIiIiIiIiIaj8GTkRERERERERERERERKQTBk5ERERERERERERERESkEwZOREREREREREREREREpBMGTkRERERERERERERERKQTBk5ERERERERERERERESkEwZOREREREREREREREREpBMGTkQ1xPHjxyGRSCCRSBAUFFRqnaCgILFOZb+mTp0qttevX78KH5+Wllap64uKilJrRyqV4uHDh1od6+XlpXbsxo0bK9WH4qKjo/HOO+/Ax8cHlpaWcHBwQJcuXfDNN98gJyen3GOnTp1a5v1jZGQEBwcHdO/eHR9//DEeP36sc1+JiIiIiIiIiIiIajoGTkRkEIIgYOvWrRrrnT9/HpGRkXo99759+9C+fXssW7YMERERyMnJQWpqKkJCQjB//nz4+vri/v37lWq7sLAQqampOH/+PD799FO0atUKu3fv1mv/iYiIiIiIiIiIiGoaI0N3gKg8IVEp8Pd0qLbjarrAwECMHTu21NtCQkIwffp0AMCcOXMQGBhYaj17e/tSy8PDw7Xqg42NjVb1ymNmZoa8vDxs3rwZCxcuLLfu5s2b1Y7R1dWrVzFu3Djk5OTAysoK77//Pvr374/c3Fz8/vvv+Omnn3D79m0MHz4cISEhsLKyKre9gwcPomHDhuK+XC5HTEwMduzYgc2bNyMzMxMvvvgirl69ilatWuncfyIiIiIiIiIiIqKaiIET1VjfHr6DlUcj8e4zrTCnX3Otj1tz/B6WHojA3IEt8eZgryrsYfVzcXGBi4tLqbclJSWp1Wvbtm2F2q5ofV2MHDkS27dvR0REBEJDQ+Hn51dqPblcjm3btgEARo0aJW7rYt68ecjJyYGRkREOHTqE7t27i7cNGDAALVu2xIIFCxAREYHly5fj448/Lrc9Ly8veHp6qpV16tQJI0aMgKenJz755BMUFBRg5cqVWLNmjc79JyIiIiIiIiIiIqqJOKUe1UghUSlYeVQ1jdrSAxFYc/yeVscVhU0AsPJoJEKiUqqsj1R5Pj4+YshUNIKpNP/88w+Sk5NhYmKCcePG6XzekJAQHD9+HAAwY8YMtbCpyNtvvw0fHx8AwIoVKyCXyyt9vvnz50MikQAALly4UOl2iIiIiIiIiIiIiGo6Bk5UI/l7OuDdZ/6bfkyb0Kl42AQA7z7Tqk5Oq1dXTJ48GQDw22+/QaFQlFrnl19+AQAMHz4cDg66/yz//vtvcXvatGml1pFKpZgyZQoAIDU1VQyoKsPKygqOjo4AoJfpAImIiIiIiIiIiIhqKgZOVGPN6ddc69CptLCpItPwUfWbMGECjIyMkJiYiIMHD5a4PTU1Ffv27QPwXzilq1OnTgEALC0t0blz5zLr9e3bV9w+ffp0pc+XlZWF5ORkAECTJk0q3Q4RVV5YfFi1HkdEREREREREVF8xcKIaTZvQiWFT7eTs7IyhQ4cCKH1ave3btyM/Px/29vYYPny4Xs5569YtAECLFi1gZFT2EnatWv33mCs6pjKWLVsGQRAAqNatIqLqtfrKagQcCEBweHCFjgsOD0bAgQCsvrK6inpGRERERERERFT3lP2OK5GWlEoBqTkFVdb+OD935BQosOrYXQCq0CmnQIGpPTyx8WyUWA4AbwxogXF+7kjOytei30pk5qjW55FL8yGVape/2luYQCqVVOJKarbr169rrGNvb49GjRrp7ZxTpkzBvn37sHv3bmRkZMDGxka8rSiEGj9+PExMTHQ+V15eHpKSkgAA7u7u5da1t7eHpaUlsrOz8ejRo3Lr3rlzB1lZWeK+QqFATEwMdu7ciY0bNwIAevbsiRkzZuh2AURUIWHxYVhzdQ0AYEXYCgDAjHaafw+Dw4PF+muurkG3Bt3g6+pbVd0kIiIiIiIiIqozGDiRzlJzCtD5syPVes5Vx+6qBU2ayvXp0oeD4GhlWqXnMIR27dpprBMQECCGKPowcuRI2NraIj09HX/++ae4rtL9+/dx5swZAPqbTi8zM1PctrKy0li/KHAqHiaVpmiUVmkaNmyI+fPnY/bs2TA1rXuPGaKazNfVF/N854nhkTahU/GwCQDm+c5j2EREREREREREpCVOqUdEBmNmZoaxY8cCUJ9Wb8uWLQCA5s2bo0ePHno5V15enritzYipooAoNze30ud8/PgxNmzYgAMHDlS6DSKqvBntZmCe7zxxf0XYijKn1ystbNJmRBQREREREREREalwhBMRAYC41lBFJCQkICEhodTbLC0t0bRpU41tTJkyBcHBwTh+/DgePXqExo0bi4HTpEmTKtynspiZmYnbBQWap4DMz1dNy2hubl5uvQcPHsDT01PcFwQBqampuHjxIr788kucOHECY8aMwXfffYfXX3+9cp0nokorCo3KG+nEsImIiIiIiIiISHcc4URElbZ69Wq0a9eu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UIjACQAAAAAAgEIETgAAAAAAABQicAIAAAAAAKAQgRMAAAAAAACFCJwAAAAAAAAoROAEAAAAAABAIQInAAAAAAAAChE4AQAAAAAAUIjACQAAAAAAgEIETgAAAAAAABQicAIAAAAAAKAQgRMAAAAAAACFCJwAAAAAAAAoROAEAAAAAABAIQInAAAAAAAAChE4AQAAAAAAUIjACQAAAAAAgEIETgAAAAAAABQicAIAAAAAAKAQgRMAAAAAAACFCJwAAAAAAAAoROAEAAAAAABAIQInAAAAAAAAChE4AQAAAAAAUIjACQAAAAAAgEIETgAAAAAAABQicAIAAAAAAKAQgRMAAAAAAACFCJwAAAAAAAAoROAEAAAAAABAIQInAAAAAAAAChE4AQAAAAAAUIjACQAAAAAAgEIETgAAAAAAABQicAIAAAAAAKAQgRMAAAAAAACFCJwAAAAAAAAoROAEAAAAAABAIQInAAAAAAAAChE4AQAAAAAAUIjACQAAAAAAgEIETgAAAAAAABQicAIAAAAAAKAQgRMAAAAAAACFCJwAAAAAAAAoROAEAAAAAABAIQInAAAAAAAAChE4AQAAAAAAUIjACQAAAAAAgEIETgAAAAAAABQicAIAAAAAAKAQgRMAAAAAAACFCJwAAAAAAAAoROAEAAAAAABAIQInAAAAAAAAChE4AQAAAAAAUIjACQAAAAAAgEIETgAAAAAAABQicAIAAAAAAKAQgRMAAAAAAACFCJySPPfcc/nsZz+bnXfeOaNHj87GG2+cvffeO+eee26WLl1aqO+zzjordXV1XdpuvfXW3nlBAAAAAAAA61FDfw+gv11zzTX58Ic/nNdff73y2NKlS3Pvvffm3nvvzUUXXZTf/va32X777ftxlAAAAAAAAANXTQdODzzwQD7wgQ9k6dKlGTNmTD7/+c9n+vTpWbZsWa644opceOGFefzxx/Pud7879957b8aMGVPofA899FCnx7fbbrtC/QMAAAAAAPSHmg6cTjnllCxdujQNDQ25/vrrM23atMqxd7zjHZk6dWpOO+20PPbYYznvvPNy5plnFjrfbrvtVnTIAAAAAAAAA07N3sPp3nvvrdwz6YQTTmgTNjU79dRTs/POOydJvvWtb2XVqlXrc4gAAAAAO/AhEwAATwNJREFUAAAbhJoNnK666qrK/vHHH1+1TX19fY499tgkyYIFCyoBFQAAAAAAAC1qNnC64447kiSjR4/Onnvu2WG7Aw88sLI/c+bMPh8XAAAAAADAhqZmA6dHH300STJlypQ0NHR8K6uddtppref01IwZM7LJJptk2LBhmThxYg466KB87Wtfy4IFCwr1CwAAAAAA0J86TloGseXLl2fevHlJkq233rrTthMmTMjo0aOzZMmSzJ49u9B5b7zxxsr+K6+8kttuuy233XZbvv71r+eyyy7Le97znh71O2fOnE6Pz507t7K/bNmyLFu2rEfnGWyWL19edR9gsFP/gFqmBgK1Sv0DapX6B9X1RU5Qk4HTokWLKvtjxoxZZ/vmwGnx4sU9Ot/uu++e9773vdl7772z1VZbZdWqVXn88cfz05/+NNdff31ee+21/M3f/E1+/etf5/DDD+92/5MmTepy29tvvz2bbrppt88x2N1+++39PQSAfqH+AbVMDQRqlfoH1Cr1D1o0T8rpTTUZOLVOsocNG7bO9sOHD0/Ss8TvlFNOyVlnnbXW4/vss0+OPfbYXHDBBfnEJz6R1atX52Mf+1ieeuqpjBw5stvnAQAAAAAA6C81GTiNGDGisr9y5cp1tl+xYkWS9CgIGj9+fKfHP/7xj+e+++7LRRddlBdeeCFXXnllPvzhD3frHOta6m/u3LnZe++9kyQHHHDAOpcRrBXLly+vfKrhgAMOaPNzATCYqX9ALVMDgVql/gG1Sv2D6tZ1q56eqMnAaezYsZX9riyTt2TJkiRdW36vJz7+8Y/noosuSpLcdttt3Q6cuhMgjRw50gyqKkaMGOF9AWqS+gfUMjUQqFXqH1Cr1D9o0Rf/L9T3eo8bgBEjRlTuY7SuFG/BggWVwKk790rqjl122aWy//zzz/fJOQAAAAAAAPpKTQZOSbLzzjsnSZ566qk0NjZ22O6xxx5b6zm9rVQq9Um/AAAAAAAA60PNBk77779/kvJyeffff3+H7W677bbK/n777dcnY3nkkUcq+1tttVWfnAMAAAAAAKCv1Gzg9N73vreyf+mll1Zt09TUlB/96EdJkvHjx2f69Ol9MpYLLrigsn/ggQf2yTkAAAAAAAD6Ss0GTnvvvXfe/va3J0kuvvji3HnnnWu1+eY3v5lHH300SfLP//zPGTp0aJvjl112Werq6lJXV5ezzjprrec/9NBDeeqppzodxwUXXJCLL744SbLFFlvkfe97X09eDgAAAAAAQL9p6O8B9Kdvf/vb2W+//bJs2bK8853vzBe+8IVMnz49y5YtyxVXXJEf/OAHSZIdd9wxp556arf7v//++/Oxj30s06dPz+GHH57dd989m2yySRobG/PYY4/lJz/5SW644YYkyZAhQ3LBBRdk9OjRvfoaAQAAAAAA+lpNB0577LFHfv7zn+cjH/lIFi5cmC984Qtrtdlxxx1zzTXXZOzYsT06x+rVq3PjjTfmxhtv7LDNJptskosvvjhHHnlkj84BAAAAAADQn2o6cEqSI444Ig8++GC+/e1v55prrsmcOXMybNiwTJkyJe9///vzqU99KqNGjepR3+9617sqy/X98Y9/zEsvvZRXX301pVIpG2+8cf7qr/4qhx12WI477riMGzeul18ZAAAAAADA+lHzgVOSTJ48Oeedd17OO++8bj3vuOOOy3HHHdfh8YkTJ+bv//7v8/d///cFRwgAAAAAADBw1ff3AAAAAAAAANiwCZwAAAAAAAAoROAEAAAAAABAIQInAAAAAAAAChE4AQAAAAAAUIjACQAAAAAAgEIETgAAAAAAABQicAIAAAAAAKAQgRMAAAAAAACFCJwAAAAAAAAoROAEAAAAAABAIQInAAAAAAAAChE4AQAAAAAAUIjACQAAAAAAgEIETgAAAAAAABQicAIAAAAAAKAQgRMAAAAAAACFCJwAAAAAAAAoROAEAAAAAABAIQInAAAAAAAAChE4AQAAAAAAUIjACQAAAAAAgEIETgAAAAAAABQicAIAAAAAAKAQgRMAAAAAg8esO9fv8wCAJAInAACAwckFV6AW3XJOculhyczzu/e8meeXn3fLOX0zLgCoAQInAACAwcYFV6AWzbozue1r5f0bz+p6DZx5frl9Un6+4B0AekTgBAAAMJi44ArUqsnTkkPOavm+KzWwde1Lys+fPK33xwYANUDgBAAAMJi44ArUsv0/3fUaWK327f/pvhsbrA+W1AX6kcAJAABgsHHBFahlXamBah+DkSV1gX7W0N8DAAAAoA80XzhtvqDa/LX1BVUXXIGBolRq+zWltvuVY11st9fHksYVya1rLqDfeFbSuDx5++eSO/9T7WPwab+kbtK1n+v2S+puf5BZzkCPCZwAAAA2dKVSsnpV+WLq6pXli6yNy5MdD0sWzk3uuaDc7saz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BvLkwvocsZf3vy9cOHNW7n6s8/f/rlfq87Y3Df73vxbrX627cOas/GId9efXzw3J1KmD/+e/M+u6VU9P1GTgNHbs2Mp+V5avW7JkSZKuLb/X0/M0n6Mn5+lOgDRy5MhuB1qDxfdufbpSUJJyoZm89PEkyUkHTcnIkaMq93U676anM3To0F69eVz787e+Od0/zdgpQ4cO7dPzA1QzYsSIQf/vgvoLdEQNVAOhVql/6l9f8/73L+9/x2qh/tU6P/9d1xf/L9Svu8ngM2LEiMp9jNaV4i1YsKASBnXnXklJ2yBoXedpPUupu+dh3b5369OVQpKUC0379Pqkg3bI6YftVPn+69c+lu/d+nR6Q7Xzty9kfXl+gFql/gK1TA0EapX617+8//3L+08t8/Pf/2oycEqSnXfeOUny1FNPpbGxscN2jz3W8gPa/Jyu2mWXXar209l5GhoaMmXKlG6dh851pdA064uC09/nB6hV6i9Qy9RAoFapf/3L+9+/vP/UMj//A0PNBk77779/kvJSdvfff3+H7W677bbK/n777detc+y1114ZNmzYWv20t3Llytx1111rPYfi7n12fpcLTbNqBefeZ+dvkOcHqFXqL1DL1ECgVql//cv737+8/9QyP/8DR80GTu9973sr+5deemnVNk1NTfnRj36UJBk/fnymT5/erXOMHTs2Bx98cJLkxhtv7HBZvSuvvDILFy5Mkrzvfe/r1jno3F7bbpx/Pnhqkq4VmmatC84/Hzw1e2278QZ5foBapf4CtUwNBGqV+te/vP/9y/tPLfPzP3DUlUqlUn8Por8ccMABueOOO9LQ0JDbb78906ZNa3P8G9/4Rk477bQkyZe+9KWcddZZbY5fdtllOf744zs8niQ333xzJXQ68sgjc+WVV2bIkCGV4/Pmzcuee+6Z5557LuPHj88zzzyTCRMm9OKrLN8/qvm+ULNnz25zb6lace+z89cqGMuWLcv111+fJHnnO99Z9SZp1Z7XW+fvy+cBdKYr9W+wUH+B9tTAvnseMLCpf333PNry/vcv7//aaqn+1To//93TF7lBzc5wSpJvf/vbGTlyZBobG/POd74z55xzTu66667ccsst+fjHP14Jm3bccceceuqpPTrHO97xjnzwgx9Mklx99dWZMWNGrr766tx333259NJLs+++++a5555Lknzta1/r9bCJsiIzlAbD+QFqlfoL1DI1EKhV6l//8v73L+8/tczPf/9r6O8B9Kc99tgjP//5z/ORj3wkCxcuzBe+8IW12uy444655pprMnbs2B6f55JLLsnChQvz29/+NrfccktuueWWNsfr6+vzr//6r/n4xz/e43MAAAAAAAD0l5qe4ZQkRxxxRB588MF8+tOfzo477phRo0Zl/Pjxeetb35qvf/3r+eMf/5gpU6YUOsfIkSNzzTXX5Kc//WlmzJiRiRMnZtiwYZk0aVKOOeaYzJw5s+pyfAAAAAAAABuCmp7h1Gzy5Mk577zzct5553Xreccdd1yOO+64Lrc/5phjcswxx3RzdAAAAAAAAANbzc9wAgAAAAAAoBiBEwAAAAAAAIUInAAAAAAAAChE4AQAAAAAAEAhAicAAAAAAAAKETgBAAAAAABQiMAJAAAAAACAQgROAAAAAAAAFCJwAgAAAAAAoBCBEwAAAAAAAIUInAAAAAAAAChE4AQAAAAAAEAhAicAAAAAAAAKETgBAAAAAABQiMAJAAAAAACAQgROAAAAAAAAFCJwAgAAAAAAoBCBEwAAAAAAAIUInAAAAAAAAChE4AQAAAAAAEAhAicAAAAAAAAKETgBAAAAAABQiMAJAAAAAACAQgROAAAAAAAAFCJwAgAAAAAAoBCBEwAAAAAAAIU09PcA6HuNjY2V/blz5/bjSAaWZcuWZd68eUmSOXPmZOTIkf08IoD1Q/0DapkaCNQq9Q+oVeofVNc6K2idIRQhcKoBr7zySmV/77337seRAAAAAAAAA8krr7ySbbfdtnA/ltQDAAAAAACgkLpSqVTq70HQt5YvX56HHnooSbLZZpulocHEtqQ8ZbB5xtc999yTLbfcsp9HBLB+qH9ALVMDgVql/gG1Sv2D6hobGyuro+2+++4ZMWJE4T4lDzVgxIgR2Wuvvfp7GAPalltuma233rq/hwGw3ql/QC1TA4Fapf4BtUr9g7Z6Yxm91iypBwAAAAAAQCECJwAAAAAAAAoROAEAAAAAAFCIwAkAAAAAAIBCBE4AAAAAAAAUInACAAAAAACgEIETAAAAAAAAhdSVSqVSfw8CAAAAAACADZcZTgAAAAAAABQicAIAAAAAAKAQgRMAAAAAAACFCJwAAAAAAAAoROAEAAAAAABAIQInAAAAAAAAChE4AQAAAAAAUIjACQAAAAAAgEIETgAAAAAAABQicAIAAAAAAKAQgRODzuLFi3P77bfn3HPPzQc+8IFst912qaurS11dXbbddtsu9fHyyy/nhz/8YT71qU/lbW97W7bbbruMHTs2w4cPz5ZbbplDDz003/ve97JkyZIuj+uKK67IoYcemi233DIjRozItttum49+9KO56667evhKAdrqjfpXKpUyc+bMnHnmmTn44IOz5ZZbZtiwYRk3blx23XXXnHzyyXnggQe6NS71D1gfeqMGJsns2bPzy1/+MmeccUbe8Y53ZNy4cZV+zjrrrG6PSw0E+lpv1b9mf/7zn/OJT3wiU6ZMyciRI7PZZpvlgAMOyAUXXJDGxsYu96P+AQPJb37zmxx99NHZeuutM3z48Gy66aaZNm1avvnNb2bp0qVd7qe3aiQMWiUYZA466KBSkqrb5MmTu9THhRde2GEf7fu77777Ou1r2bJlpb/+67/usI/6+vrSl7/85V545UCt6436t80226yz9tXV1ZVOO+20UlNTU6d9qX/A+tQbNfDZZ5/ttP596Utf6vJ41EBgfemN+tfsoosuKg0fPrzD/vbdd9/SvHnzOu1D/QMGkoULF5aOOOKITn/Hmzp1aunRRx9dZ1+9USNhsDPDiUGnVCpV9idMmJAZM2ZkzJgx3eqjrq4uU6dOzYknnpjvfve7+d///d/cc889uf322/PjH/84hx56aJJk1qxZmTFjRubOndthXyeccEJ+85vfJEmmT5+eq666Kvfcc08uvvji7LDDDmlqasqZZ56Ziy66qAevFqBFb9S/559/PkkyZcqUnH766bn66qtz33335Y477siXv/zlTJgwIaVSKf/xH/+RL37xi532pf4B61Nv1MDWfdTV1WXKlCk54IADejQeNRBYX3qj/iXJddddl3/4h3/IihUrsvnmm+c73/lO7r777vzud7/LUUcdlSS56667ctRRR6WpqanDftQ/YKAolUr527/92/z6179Okuy55575yU9+kvvuuy+33HJLPvvZz2b48OF58sknc/jhh+fVV1/tsK/eqpEw6PVj2AV94oILLij99Kc/LT355JOVxyZPntytT3etWrVqnW3OP//8yicYPvOZz1Rtc+utt1baHHHEEaXGxsY2x1955ZXKbIIJEyaUFixY0KXxAVTTG/Vv2rRppWuvvbbD2UtPPfVUabPNNislKTU0NJSefvrpqu3UP2B9640aOG/evNJXvvKV0nXXXVeaP39+qVQqlW655ZZuz3BSA4H1qbf+Bp4yZUopSWncuHGlp556aq02J598cqW2/fCHP6zaj/oHDCS/+MUvKjVpxowZpRUrVqzV5oYbbigNGTKklKT0j//4j1X76a0aCbVA4ERN6O4v212xatWq0pgxY0pJSm9961urtnnXu95VSlIaMmRIafbs2VXb/OxnP6v8g3Tuuef22vgASqW+qX//+Z//Walb5513XtU26h8wEPRGDexJ4KQGAv2tu/Xvv//7vys16ZxzzqnaZsmSJaUJEyaUkpR22223qm3UP2Agab285xNPPNFhuw9/+MOlJKVhw4ZVPnTUWm/VSKgFltSDHmpoaMjw4cOTJMuXL1/r+OLFi3PTTTclSWbMmJGtt966aj9HHXVUxo0blyS58sor+2i0AL1n+vTplf2nn356rePqH1DL1EBgQ3TVVVdV9o877riqbUaNGpUPfOADSZKHH344Tz75ZJvj6h8w0Nx7771JykvGT506tcN2hx12WJJk5cqVufrqq9c63hs1EmqFwAl66IYbbqis7brTTjutdfyee+7JihUrkiQHHnhgh/0MGzYs++67b+U5q1at6oPRAvSe5tqWJPX1a/8qof4BtUwNBDZEd9xxR5LkjW98Y7bYYosO27WuazNnzmxzTP0DBpr58+cnSTbffPNO27U+ftttt611vDdqJNQKgRN0w6JFi/LII4/krLPOyt/8zd9UHv+nf/qntdo++uijlf1qgVRrzccbGxt9AgIY8Fr/Al6tvql/QC1TA4ENzeLFizNnzpwkXa9bSdt61/579Q8YCEaPHp0kef311ztt1/r4I4880uZYb9VIqBUCJ1iHs846K3V1damrq8u4ceOy66675uyzz86iRYsyZMiQfOtb38rb3/72tZ43e/bsyn5HSwk0mzRpUtXnAQw0S5cuzbe+9a0k5U+nvuc971mrjfoH1DI1ENjQzJkzJ6VSKUmxuqX+AQPNzjvvnKQc/rzyyisdtrv99tsr+88991ybY71VI6FWCJyghw4++OA8+OCD+ed//ueqxxctWlTZHzNmTKd9NX/iIil/cgJgoDr99NMrv4B/8pOfzBve8Ia12qh/QC1TA4ENTW/VLfUPGGiaPyC5evXq/Mu//EvVNk8++WQuvfTSyveta1n779U2WDeBE6zDySefnIceeigPPfRQ7rrrrlx66aWZPn16brrppnzoQx/K3XffXfV5y5cvr+wPGzas03MMHz68sr9s2bLeGThAL/vpT3+a//qv/0pS/qTYV7/61art1D+glqmBwIamt+qW+gcMNCeddFJlVtIPfvCDfPSjH82DDz6YlStX5tVXX82Pf/zjHHDAAVm8eHGlbqltUIzAiX7R2NhYWaauyHbZZZf1+VgnTpyY3XbbLbvttlv22WefHHfccbn55pvzla98JQ8++GAOOuigXH/99Ws9b8SIEZX9lStXdnqO5hurJsnIkSN7b/DAgLMh1b/Wbr311pxwwglJkgkTJuR//ud/OqxX6h/QkQ21BnaHGghUM5DrX2/VLfUP6Km+qpHjxo3L1VdfnS222CJJ8pOf/CR/9Vd/leHDh2fTTTfNsccemxdffDEnn3xydtxxxyTJ2LFj2/ShtkH3CJygh774xS9mn332yfLly3PiiSemsbGxzfHW/0CtaxrtkiVLKvvrmp4LsL7dd999OfLII7NixYqMHj06v/3tb7PLLrt02F79A2qZGghsaHqrbql/wEC0xx575IEHHsgpp5ySLbfcss2x3XffPT/60Y/y//7f/8vcuXOTlD9g2ZraBt3T0N8DoDY1NDTk0UcfLdxP+38o1rcjjzwyd999d5577rncc889edvb3lY51vpGgnPmzMlb3/rWDvtpfSPB1jcYBAafDa3+/fnPf85hhx2WRYsWZfjw4bnqqquy7777dvoc9Q/oyIZWA3tCDQSqGcj1r33d6kxndUv9A3qqr2vkxIkTc/755+f888/Pyy+/nNdeey2bbbZZJVyaO3duXn311SRZ68OVvVUjoVYInOg3O+20U38PobDNNtussj9r1qw2gVPrf6Aee+yxTvtpPt7Q0JApU6b08iiBgWZDqX9PP/10ZsyYkVdffTUNDQ35+c9/nkMOOWSdz1P/gM5sKDWwp9RAoCMDtf6NGTMmkyZNyuzZs7tct5LyPT1bU/+AItZXjZw4cWImTpzY5rE77rijsr/PPvu0OdZbNRJqhSX1oIDnn3++st9+quxee+1VuZngbbfd1mEfK1euzF133bXWcwD605w5c3LwwQdn7ty5qa+vzw9/+MO85z3v6dJz1T+glqmBwIZo//33T5I8/vjjefHFFzts17qu7bfffm2OqX/Ahuryyy+v7L///e9f63hv1EioFQIn6KGmpqb88pe/rHy/2267tTk+duzYHHzwwUmSG2+8scNpt1deeWUWLlyYJHnf+97XR6MF6LqXX345hxxySGbNmpUk+f73v59jjjmmy89X/4BapgYCG6L3vve9lf3LLrusapulS5fmv//7v5OUZzPtuOOObY6rf8CG6O67787VV1+dJDn44IOrzrTqjRoJtULgBFVceOGFWb16dYfHm5qacuqpp+bhhx9OUv6kw3bbbbdWu89+9rNJksbGxnzyk59cq8958+bl9NNPT5KMHz8+H/vYx3rrJQD0yGuvvZZDDz00jz/+eJLk/PPPz4knntjtftQ/oJapgcCG5n3ve1922GGHJMk555yTp59+eq02n/vc57JgwYLKfjXqHzDQPPfccx0ee+qpp3L00UenVCpl2LBh+c53vlO1XW/VSKgF7uHEoPPUU09l5syZbR5bvHhx5Wv7TyIcdthh2WKLLdo89g//8A85++yzc/TRR2fffffN5MmTM2rUqCxYsCB//OMfc9lll+XBBx9MkowbNy7f/e53q47lHe94Rz74wQ/miiuuyNVXX50ZM2bklFNOyVZbbZWHHnooX/3qVyv/8H3ta1+r3KwQoCeK1r8VK1bk3e9+d/70pz8lST784Q/nkEMOqYTr1YwePbpq4K7+Aetbb/wOmCTXXnttm6VSWq/F/6c//alNP2PGjMnRRx+9Vh9qILA+9Ub9Gzp0aL7zne/kiCOOyMKFC7PffvvlX/7lX7L33ntnwYIFufDCCysrfOy///756Ec/WnUs6h8w0Jx88smZNWtWjj322Lz1rW/N+PHj8/LLL+e6667LBRdckKVLl6auri7f//7329yLrrXeqpFQE0owyFx66aWlJF3ebrnllrX66Opzd95559L999/f6XiWLl1aete73tVhH/X19aUvfelLffNmADWlaP37y1/+0q3nJykdeOCBHY5H/QPWp974HbBUKpUOPPDALvcxefLkDsejBgLrS2/Vv1KpVPrBD35QGjZsWIfP3XvvvUuvvPJKp+NR/4CB5N3vfnenNXHjjTcuXX755V3qqzdqJAx2ZjhBFQ8++GBuvvnm3HrrrXnyySfz0ksv5bXXXsuoUaOy1VZb5S1veUve97735T3veU+GDh3aaV8jR47MNddck8svvzyXXXZZHnjggbz22mvZfPPN8/a3vz2f+tSnMm3atPX0ygDWH/UPqGVqILAhOvHEEzNt2rR85zvfyU033ZQXXngho0ePzs4775wPf/jD+djHPpaGhs4vJal/wEDy+c9/Pm984xtzxx13ZPbs2Xn11Vczfvz47LDDDjnyyCPzsY99LJtttlmX+uqNGgmDXV2pVCr19yAAAAAAAADYcNX39wAAAAAAAADYsAmcAAAAAAAAKETgBAAAAAAAQCECJwAAAAAAAAoROAEAAAAAAFCIwAkAAAAAAIBCBE4AAAAAAAAUInACAAAAAACgEIETAAAAAAAAhQicAAAAAAAAKETgBAAAAAAAQCECJwAAAAAAAAoROAEAAAAAAFCIwAkAAAAAAIBCBE4AAAAAAAAUInACAAAAAACgEIETAABAjTnrrLNSV1e31nbrrbf2uM/LLrus0s+zzz7ba2Ptb61fV+vtsssu6++hAQDAgCJwAgAANhi33npr1Yv/dXV1GTlyZLbeeuscfvjh+e53v5vFixd3ud/bb789J5xwQnbZZZeMGzcuw4YNy1ZbbZU3v/nNOeqoo/Ktb30rf/zjH9PU1NTnY9p2222r9tXQ0JBNNtkk++67b84444w888wz3Xrv+ttxxx3X4fvU0NCQjTfeONOmTcuZZ56ZF154ob+HCwAAdJPACQAAGBSWL1+e559/Ptdee20++clPZrfddssDDzzQ6XOWLl2a97///TnwwANzySWX5NFHH82iRYuyatWqzJ07Nw888EB+9atf5dOf/nTe8pa35Prrr+/zMXVk9erVmT9/fu6+++58/etfzy677JILLrigR3219tBDD1W2vfbaq3B/PbF69eosWLAgd911V/7t3/4tO+20U66++up+GUt7733veyvvz3XXXdffwwEAgAGrob8HAAAA0BMnnXRSTj755Mr38+bNy+OPP57zzjsvTzzxRGbNmpXDDz88jz/+eMaOHVu1j/e///357W9/mySZMmVKTjzxxOy1116ZMGFClixZkieffDK///3vc/XVV+fll19eL2NqttVWW7UJOBobGzN79uxcccUVufzyy7NixYqcdNJJ2WabbXL44Yevc2wd2W233Xr83J667rrrstVWW1W+X7VqVebMmZP/+Z//yY9//OMsWrQo73//+/PAAw9kp512Wu/ja238+PEZP358kmTMmDH9OhYAABjIBE4AAMAGaeLEiWuFJQcddFCOP/74HH744bn55pszd+7c/OAHP8ipp5661vN/97vfVcKmQw89NP/7v/+b4cOHt2mz33775bjjjsv3v//9XHXVVZk0aVKfjqm1oUOHrtXXm9/85hxxxBHZc889c+qpp6ZUKuVf//VfCwVO/WHHHXfMtttu2+axPfbYI0cccUS23XbbfPnLX87KlSvz7W9/O9/73vf6Z5AAAEC3WFIPAAAYVIYNG5azzjqr8v0NN9xQtd1VV11V2f/mN7+5VtjU2pAhQ/I3f/M32XXXXft0TF11yimnZJtttkmS3H///V2afbWh+NznPpe6urokyd13393PowEAALpK4AQAAAw6b3nLWyr7s2fPrtpm1qxZlf0pU6YMiDF1VX19fZv7LT333HOF+uuKBQsW5IwzzshOO+2UkSNHZuLEiTnkkEPyi1/8olfPM2bMmGyyySZJyvfAquaggw5KXV1dDjrooCTJU089lU984hPZfvvtM3LkyGy77bY54YQT2vw3TpKHH344xx9/fLbffvuMGDEikyZNykknnTSoAjsAAOgvltQDAAAGnSFDhlT2Gxqq/9kzbNiwyv6jjz6aN7/5zf0+pu5o3cfq1asL99eZRx55JIccckjmzp1beWz58uW56aabctNNN+Xv//7v8/a3v71XzrV48eK8+uqrSVKZxdWZG2+8MUcddVQWLVpUeWzWrFm55JJL8pvf/Ca33XZbdtppp/zsZz/L8ccfnxUrVlTazZkzJ9///vfzu9/9Lv/3f//X5r5SAABA95jhBAAADDqPPPJIZb/9vYKa7bHHHpX9T33qU3nllVf6fUzd8eCDD1b2+zIoef3113PooYdWwqa//du/zW9/+9vcd999ufzyy/PWt741l1xySb773e/2yvm++c1vplQqJUmOPPLITtu+8MIL+cAHPpDx48fnP//zP3P33XfnjjvuyCmnnJK6urq8/PLL+djHPpZ77703xx57bLbffvtcdNFFueeee3LLLbfkox/9aJJyQPWZz3ymV8YPAAC1ygwnAABg0Dn33HMr+0cffXTVNieccELOPffcLF26NL///e8zefLkHH744TnggAOyzz77ZI899uj0vk59Maau+tWvfpVHH300SbL99ttn0qRJhfrrzJe//OXMmTMnSfLv//7v+fznP185tueee+boo4/OX//1X+f666/vcp9PPPFEFi9eXPm+sbExc+bMya9+9atcdtllSZL99tsvJ5xwQqf9PPnkk5k6dWp+//vfZ7PNNqs8vv/++2fo0KH5xje+kd///vd597vfnX322SfXX399Ro0aVWl30EEHZfny5fnFL36RX/7yl3nllVfa9AMAAHSdGU4AAMCg8Oqrr2bmzJl517velZ/97GdJkmnTpuWDH/xg1fbbbLNNfv7zn2fMmDFJkmXLluXKK6/MKaeckmnTpmWjjTbKAQcckPPPPz/z589fL2PqzOrVq/Pss8/mnHPOyTHHHFN5/LTTTuvR2LpixYoVufTSS5Mkb3rTm3L66aev1Wbo0KG5+OKLM3To0C73e+ihh2b33XevbHvssUeOOOKIXHLJJdliiy1y/vnn58Ybb+xS4Ped73ynakh08sknV/bnzZuXCy+8sE3Y1Oykk05KUg697rzzzi6/BgAAoC2BEwAAsEE6++yzU1dXV9k23XTTvP3tb8/vfve7NDQ05CMf+UiuvfbaToOQv/7rv84jjzyST37yk9l4443bHFuxYkXuuOOOfOYzn8kOO+yQH/3oR+tlTM1mzZrVpq+GhoZst912+cIXvpDly5cnKYclH//4x9fZV0/df//9WbBgQZLk7/7u71JfX/1PyK233jrvfOc7e+WcL7zwQi699NJce+2162w7fvz4HHrooVWPbbvtthk3blyScli28847V233V3/1V5X9Z555pgcjBgAAEoETAAAwCO2444457bTTKoFDZyZNmpT/+q//yksvvZS777473/nOd3L88cdn6tSplTavvfZa/u7v/q4y26evx9SZMWPG5PDDD89vf/vbXrtvUkceeuihyv5ee+3Vadu99967y/3+5S9/SalUqmxNTU159dVX87vf/S4HHnhgHnzwwRx11FH5r//6r077mTp1aurq6jo8vtFGGyUpv/cdGT9+fGV/0aJFXX4NAABAW+7hBAAAbJBOOumkyrJpjY2NeeGFF3L11VfnkksuySOPPJKDDjoo//d//5c3vvGNXeqvoaEhe++9d5vg5P77788pp5ySmTNnJklOPfXUHH300Rk7dmyfj2mrrbbKdddd12Z848aNyxZbbNHhTKPe1jy7KUkmTpzYadvNN9+8x+epq6vLxhtvnMMOOywzZszI9OnTc8cdd+TTn/50ZsyY0eH7VW2JvNaa36fO2rV+L1evXt2D0QMAAIkZTgAAwAZq4sSJ2W233bLbbrvlzW9+c971rnfl+9//fn71q1+lvr4+8+fPzzHHHFMoRNhzzz1z7bXXZsqUKUnKAcyNN964XsY0dOjQSl+77bZbdtppp2y11VbrLWxKklKpVNnvbCZR+7ZFDBkyJJ/5zGeSlEO7rixlCAAA9D+BEwAAMKi8+93vzic+8YkkyR/+8IdcdtllhfobPXp0PvShD1W+f+qpp/p9TOtL6/tavfTSS522ffnll3vtvDvttFNlv/WyfgAAwMAlcAIAAAadL33pSxk9enSS5Oyzz87KlSsL9bfVVltV9ns6w6i3x7Q+7L777pX9e++9t9O26zreHY2NjZX9VatW9Vq/AABA3xE4AQAAg87EiRPz8Y9/PEkye/bs/PCHP1yrTXeWgLvvvvsq+9ttt12fjWmg2XPPPTNhwoQkyY9//OMO37Pnn38+119/fa+dt3V4NWnSpF7rFwAA6DsCJwAAYFD63Oc+lxEjRiRJvva1r61136STTjop//7v/5758+d32s8NN9xQCYdGjx6dQw45pM/GNNAMHz48xx9/fJLkT3/6U77xjW+s1aaxsTEnnnhir83YWrBgQc4555zK9+9617t6pV8AAKBvCZwAAIBBaYsttsgJJ5yQJHnmmWdy+eWXtzk+b968fPGLX8yWW26Z973vffn2t7+dG2+8MX/84x9z77335mc/+1k+9KEP5bDDDqss8faVr3wl48aN67MxDURnnnlmtt566yTJ6aefnmOOOSbXXntt/vCHP+SKK67I2972tvzud7/LXnvt1eU+n3jiiTz88MOV7aGHHsodd9yRc889N29+85vz5JNPJkn233//vOc97+mT1wUAAPSuhv4eAAAAQF85/fTTc+GFF2blypX593//93z4wx+u3IPpDW94Q5Jk5cqVueqqq3LVVVd12M+IESNy9tln55RTTunTMQ1EG220Ua699toccsghefHFF/Ozn/0sP/vZz9q0Of7443PAAQdUZkOty6GHHrrONtOnT8///M//pK6urkfjBgAA1q+B+1cNAABAQZMmTcrf/d3fJUkee+yx/PKXv6wc+/a3v51Zs2blggsuyEc+8pG8+c1vzoQJE9LQ0JCRI0dmq622yiGHHJKvfvWreeKJJ3Laaaf1+ZgGql133TV//vOfc9ppp2Xq1KkZPnx4Nt1000yfPj2XX355LrnkksLnGDNmTKZOnZpjjjkmv/71r3PTTTdl44037oXRAwAA60NdqTt3ygUAAGCDd9ZZZ+Xss89OkviTsOueffbZbLfddkmSSy+9NMcdd1z/DggAAAYQS+oBAADUsIcffriyv91222X06NH9OJqB57XXXsucOXOSJC+88EI/jwYAAAYugRMAAEAN23333Sv7t9xySw466KD+G8wAdNVVV3X53lQAAFDL3MMJAAAAAACAQtzDCQAAAAAAgELMcAIAAAAAAKAQgRMAAAAAAACFCJwAAAAAAAAoROAEAAAAAABAIQInAAAAAAAAChE4AQAAAAAAUIjACQAAAAAAgEIETgAAAAAAABQicAIAAAAAAKAQgRMAAAAAAACFCJwAAAAAAAAoROAEAAAAAABAIQInAAAAAAAAChE4AQAAAAAAUIjACQAAAAAAgEIETgAAAAAAABQicAIAAAAAAKAQgRMAAAAAAACFCJwAAAAAAAAoROAEAAAAAABAIQInAAAAAAAACvn/WpEXGBQ5DAMAAAAASUVORK5CYII=", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABpwAAARFCAYAAACjc2H6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdd1RU19oG8GeGjoiIIEVULCioWEAULGBvUW9sMZpYUGM3lsSSIrZcE2OKHWPFRE2iiXrtnWJBLFiwo6IBQRHpSJ053x98nDAwwAAzDOjzW4vlOXt2eaeC5529t0QQBAFEREREREREREREREREZSTVdgBERERERERERERERERUtTHhREREREREREREREREROXChBMRERERERERERERERGVCxNOREREREREREREREREVC5MOBEREREREREREREREVG5MOFERERERERERERERERE5cKEExEREREREREREREREZULE05ERERERERERERERERULkw4ERERERERERERERERUbkw4URERERERERERERERETlwoQTERERERERERERERERlQsTTkRERERERERERERERFQuTDgRERERERERERERERFRuTDhREREREREREREREREROXChBMRERERERERERERERGVCxNOREREREREREREREREVC5MOBEREREREREREREREVG5MOFERERERERERERERERE5cKEExEREREREREREREREZULE05ERERERERERERERERULkw4EREREVVyXbp0gUQiKfKnevXqqFevHvr27Yvly5fj+fPnKve9ePHiYvsu6mfVqlXF9vvixQssXboUnTp1gpWVFQwMDGBtbQ13d/dSxwgASUlJOHv2LL7//nsMGzYM9vb2CvH4+fmVqj9lgoKCMGPGDLRq1Qq1a9eGoaEh6tati3bt2mHq1KnYu3cvEhISVOpLEATs378fQ4cORaNGjWBkZARLS0u0bdsWS5YswT///FPueAsq+DqpV68eMjMzVWq7YMECsd3YsWOLrFfwcS/4I5VKUaNGDTRp0gQffPABdu3ahYyMDDXdQ0X5xw0ICNDIGADw9OnTMr1Hivsp6+u1uMff2NgYNjY2aNq0Kbp27YrPPvsMu3fvRmxsrHofEKK3THHvVR0dHZiZmcHBwQEffPABtm7ditTU1DKNExQUhKlTp6Jt27aw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hNOnTyMgIAARERGIjY1FVlYWrKys4ODggP/85z8YPnx4he9ZVBRbW1ucPHkShw8fxq5du3DlyhXExMRAIpHAxsYGnTt3xscff4xu3bqVqs/Tp09j//792LVrF0JDQxETEwMTExPUq1cPAwYMwPjx49WyGXx5ffHFF9i8eTPS0tLU1qeRkRHMzMzg6OiIDh06YPTo0WjSpIna+i+L/v3749GjR9i2bRsOHz6MO3fuIC4uDkZGRrC1tUXXrl0xevRotG/fXqtxloeBgQFq1KiBGjVqoE6dOnBxcYGrqyt69eoFCwuLUvX13//+F3379sW6detw/vx5vHr1CtWrV4ednR369OmD8ePHw8HBoVR9/vrrr3jvvfewa9cu3LhxA3FxccXOrvPw8MCdO3ewatUqHDp0SFwK0cbGBq6urvj4448xYMCAUsVQEZo0aYLr169j/fr12LdvHx48eICsrCxYW1vD2dkZI0eOxLBhw6Crq/p/xV1cXHDr1i2sXbsWZ8+exZMnT5CamgqZTFZsO3Nzc+zZswe3b9/G77//Ln4uv379GlKpFGZmZmjcuDFcXFzQo0cP9OzZE4aGhuV9CFC3bl3cvHkTa9euxcmTJ/HgwQOkpKQozHhUxt3dHffu3cPOnTtx4MAB3LhxA7GxsdDT04O1tTU6deqEESNGFDmTqKL169cPbm5uuHLlCoDcWU5dunQRb//kk0/wySef4Pbt2wgMDMSlS5dw//59PHv2DElJSRAEAdWrV4e1tTVatmyJbt26YejQoRqdiezj4yMu/RgYGIhz585pZVlbIiIientJBEEQtB0EERERERERERERERERVV3q2YGSiIiIiIiIiIiIiIiI3llMOBEREREREREREREREVG5MOFERERERERERERERERE5cKEExEREREREREREREREZULE05ERERERERERERERERULkw4ERERERERERERERERUbkw4URERERERERERERERETlwoQTERERERERERERERERlQsTTkRERERERERERERERFQuTDgRERERERERERERERFRuTDhREREREREREREREREROXChBMRERERERERERERERGVCxNOREREREREREREREREVC662g6ANC8jIwNhYWEAAEtLS+jq8mknIiIiIiIiIiIiInpX5eTk4NWrVwAAZ2dnGBoalrtPZh7eAWFh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y180Z84cpaamFuv5AMAXmaapt7a9pdFxo13KppplaurjPh9TNgEAAAAAAADFyOfvcFq0aJH++te/Kjk52TGWnp6ujRs3auPGjXr33Xf1/fffq27dujd0nqSkJA0cOFDffPONy1xKSooOHDigL774QtHR0WrduvUNnQsAfFmmPVMTVk/QD0d+cJlrX7W9pnedrvLB5T0fDAAAAAAAACjFfLpw2rZtm+677z6lp6crPDxczz77rLp3766MjAwtXLhQ77zzjvbt26e+fftq48aNCg8Pv67zJCcn67bbbtPmzZslSX379tUDDzyg+vXrKzc3V0ePHtXGjRv1+eefF+fbAwCfczb9rIYvHa6d53a6zP25wZ81/pbxCvALsCAZAAAAAAAAULr5dOE0cuRIpaeny9/fXz///LOio6Mdcz169FCDBg00btw47d27V9OnT9eECROu6zzDhg3T5s2b5e/vr48++kj333+/03ynTp300EMPafr06crNzb2h9wQAvmrPuT0aunSozqSfcRq3GTaNuXmM+jfpL8MwLEoHAAAAAAAAlG4++wynjRs3avny5ZKkQYMGOZVNl40ePVpNmjSRJM2YMUM5OTlFPs+qVav04YcfSpL++c9/upRNv2cYhvz9fboDBIDrsvjoYj3646MuZVN4QLhm9Zilh5s+TNkEAAAAAAAAuJHPFk5ff/214/XAgQPz3cZms+mRRx6RdOkZTJcLqqKYNWuWJCk8PFyjR48u8v4AgKszTVNvb39bo5aPUoY9w2muRngNfdTnI3Wp0cWidAAAAAAAAIDvsKxwOnnypDZv3qyVK1cqIyPj2jsUs5UrV0qSwsLC1K5du6tu17VrV8frVatWFekc2dnZ+uabbyRJvXv3djwDym636+jRozp27Jiys7OLGh0AICnTnql/rPyHYn+NdZlrF9lOC/ouUL3y9SxIBgAAAAAAAPgejxZOFy9e1MSJE1WzZk3VqlVLHTp0ULdu3fTbb785bbdw4ULdd999evzxx92WZc+ePZKk+vXrF7iMXePGjV32Kaxt27YpMzNTkhQdHa2EhAQNHDhQ5cuXV506dVS7dm2VK1dOffr00Zo1a67jXQCAb0rMSNSgnwbp+9++d5m7p8E9eue2d1QhuIIFyQAAAAAAAADf5LEHBh08eFC9e/fW4cOHZZqmYzy/Z2pER0fr4YcfVl5e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xcXFqX379rrrrrv07bff1vIzBUKLFX3TMAytXr1aTzzxhEaOHKnWrVsrJiZGycnJ6tGjh+69915t3LjRp3bRNxHurOibknTgwAH997//1WOPPaYRI0YoOTnZUc60adN8bhd9E+HOqr5pt3XrVv3mN79Rp06dFB8frxYtWmjIkCH697//rZKSEq/LoW8C3vv000918803q23btoqNjVXz5s01cOBAPffcc8rLy/O6HKv6LwDT4sWLddttt6lDhw5q1KiR4uLi1K5dO40dO1bvvvuuDMPwqhz6JlB306ZNc/yM6+2jpt8vG0zfNAAEhWHDhhmSPD5SU1O9KuOVV16psozK5X3//ffVlpWfn29cd911VZYRERFh/OUvf7HgMweCmxV987zzzquxX9psNuORRx4xysrKqi2LvgmYrOib+/btq7ZfPvnkk163h74JmKzom3avvvqqERsbW2V5AwYMMLKysqotg74JeO/MmTPGmDFjqv3e2LlzZ2P79u01lmVF/wVgKiwsNG655ZYaf6ccNmyYcerUqWrLom8C1njyySe9eg/W+fHWW29VWV5D6puMcAKChOH0lyhNmjTRlVdeqcTERJ/KsNls6ty5s+655x69+OKL+uijj7R27VqtXLlSb7zxhkaPHi1JysjI0JVXXqkjR45UWVZaWpo+/fRTSdLw4cP14Ycfau3atZozZ446duyosrIyPfHEE3r11Vdr8dkCocOKvnno0CFJUqdOnfToo4/q448/1vfff69Vq1bpL3/5i5o0aSLDMPS3v/1Nf/jDH6oti74JmKzom85l2Gw2derUSUOGDKlVe+ibgMmKvilJX3zxhX71q1+psLBQrVq10j/+8Q999913+vzzz3XTTTdJkr799lvddNNNKisrq7Ic+ibgHcMwdOutt+qTTz6RJF188cV688039f3332vZsmV66KGHFBsbq127dunqq69WdnZ2lWVZ1X8BmCZPnqx3331XktSyZUtNnz5dX331lVatWqUXX3xRqampkqTly5fr9ttvr7Ic+iZgnXvvvVebN2+u9vHjjz8qOTlZkpScnKyxY8d6LKvB9c0Ahl0AnPz73/82/vOf/xi7du1y7EtNTfXpr0GLi4trPGfmzJmOdPz3v/+9x3OWL1/uOGfMmDFGSUmJy/HMzEzHiI0mTZoYJ0+e9Kp9QCiyom8OHDjQWLRo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Sop++ctfWvUpAA3SqVOnNHr0aO3YsUOSNHPmTN1zzz0+l0PfBIITfROw1o033qiOHTtKkp5++mnt2bPH7ZyHH35YJ0+edGx7Qt8EfLN///4qj+3evVs333yzDMNQTEyM/vGPf3g8z6r+C8A0ZswYx/bkyZNVVFTkdk5ZWZkeeOABx7HrrrvO7Rz6JuBfb7/9tmOUobejm6SG2TdthmEYgW4EAPMH+NWrV7vse+ihh5Sdna1mzZpp+vTpLseuuuoqnXPOOS77bDabzj33XN18880aMGCAUlNT1ahRI508eVI//PCDXnvtNW3atEmSlJycrNWrV6tXr14e23PbbbdpwYIFkqThw4dr8uTJatOmjTZv3qynnnrK8QL40ksv6de//rUlXwMgGNW1bxYWFmrEiBH65ptvJJnz+D722GPV1pmQkOAxDJbom4CdFd83JWnRokUuUxekp6fr2WeflSTdcMMNLn9xlpiYqJtvvtlje+ibgMmqvvnZZ59pzJgxKisrU6tWrfTHP/5R/fv318mTJ/XKK684RuwPHjxYy5cvr3KOfPom4L3rrrtOGRkZGjdunPr166eUlBQdP35cX3zxhf79738rLy9PNptNc+bM0YQJE6osx6r+C8Cc+rV3796O9Vt69eql+++/X71791ZkZKS2bdum2bNna82aNZLMtZ62bNmi5s2bu5VF3wT8p3///lq3bp0iIyN16NAhtWrVyutrG1zfNAAEhXnz5hmSvH4sW7bMrQxvr+3evbuxfv36atuTl5dnXHPNNVWWERERYTz55JP++WIAQaSuffOnn37y6XpJxtChQ6tsD30TMFnxfdMwDGPo0KFel5Gamlple+ibgMmqvmkYhvHyyy8bMTExVV7bv39/IzMzs9r20DcB71177bXV9temTZsab731lldlWdF/AZj27dtn9O7du8bvqeeff77xww8/VFsWfROwXnp6uqMPXXPNNbUqoyH1TfdV5ACErE2bNumrr77S8uXLtWvXLh07dkynTp1So0aN1KZNG/Xt21c33nijbrjhBkVHR1dbVnx8vBYuXKi33npLr732mjZu3KhTp06pVatWuvzyy/Xb3/5WAwcOrKfPDIAdfRMITvRNwHr33HOPBg4cqH/84x9aunSpDh8+rISEBHXv3l133HGHfvnLX3pcGN0ZfRPw3uOPP66uXbtq1apVOnDggLKzs5WSkqKOHTvq+uuv1y9/+Uu1aNHCq7Ks6L8ATKmpqVq3bp0WLFig999/Xxs2bFBmZqYMw1DTpk114YUXauzYsRo3bpwSEhKqLYu+CVhv/vz5jm1fptNz1pD6JlPqAQAAAAAAAAAAoE4iAt0AAAAAAAAAAAAAhDYCJwAAAAAAAAAAANQJgRMAAAAAAAAAAADqhMAJAAAAAAAAAAAAdULgBAAAAAAAAAAAgDohcAIAAAAAAAAAAECdEDgBAAAAAAAAAACgTgicAAAAAAAAAAAAUCcETgAAAAAAAAAAAKgTAicAAAAAAAAAAADUCYETAAAAAAAAAAAA6oTACQAAAAAAAAAAAHVC4AQAAAAAAAAAAIA6IXACAAAAAAAAAABAnRA4AQAAAAAAAAAAoE4InAAAAAAAAAAAAFAnBE4AAAAAEGamTZsmm83m9li+fHmty3zttdcc5ezbt8+ytgaa8+fl/HjttdcC3TQAAAAgqBA4AQAAAAgZy5cv9/jmv81mU3x8vNq2baurr75aL774onJycrwud+XKlUpLS9MFF1yg5ORkxcTEqE2bNrrooot00003adasWfrhhx9UVlbm9za1b9/eY1lRUVFq1qyZBgwYoMcee0x79+716WsXaOPHj6/y6xQVFaWmTZtq4MCBeuKJJ3T48OFANxcAAACAjwicAAAAADQIBQUFOnTokBYtWqT77rtPPXv21MaNG6u9Ji8vTz//+c81dOhQzZ07V9u3b9fZs2dVXFysI0eOaOPGjfrf//6nBx98UH379tXixYv93qaqlJaW6sSJE/ruu+/07LPP6oILLtC///3vWpXlbPPmzY7HJZdcUufyaqO0tFQnT57Ut99+q//7v/9Tt27d9PHHHwekLZWNHTvW8fX54osvAt0cAAAAIGhFBboBAAAAAFAbkyZN0r333ut4npWVpR07dmjGjBnauXOnMjIydPXVV2vHjh1KSkryWMbPf/5zffbZZ5KkTp066Z577tEll1yiJk2aKDc3V7t27dLXX3+tjz/+WMePH6+XNtm1adPGJeAoKSnRgQMHtGDBAr311lsqLCzUpEmTdN555+nqq6+usW1V6dmzZ62vra0vvvhCbdq0cTwvLi7WwYMH9f777+uNN97Q2bNn9fOf/1wbN25Ut27d6r19zlJSUpSSkiJJSkxMDGhbAAAAgGBG4AQAAAAgJLVs2dItLBk2bJgmTJigq6++Wl999ZWOHDmil19+WVOmTHG7/vPPP3eETaNHj9ZHH32k2NhYl3MGDRqk8ePH66WXXtKHH36odu3a+bVNzqKjo93KuuiiizRmzBhdfPHFmjJligzD0J/+9Kc6BU6B0KVLF7Vv395lX58+fTRmzBi1b99ef/nLX1RUVKTnn39es2fPDkwjAQAAAPiEKfUAAAAANCgxMTGaNm2a4/mXX37p8bwPP/zQsf3cc8+5hU3OIiMj9bOf/Uw9evTwa5u8NXnyZJ133nmSpPXr13s1+ipUPPzww7LZbJKk7777LsCtAQAAAOAtAicAAAAADU7fvn0d2wcOHPB4TkZGhmO7U6dOQdEmb0VERList7R///46leeNkydP6rHHHlO3bt0UHx+vli1b6oorrtB7771naT2JiYlq1qyZJHMNLE+GDRsmm82mYcOGSZJ2796t3/zmN+rQoYPi4+PVvn17paWlufwfS9KWLVs0YcIEdejQQXFxcWrXrp0mTZrUoAI7AAAAIFCYUg8AAABAgxMZGenYjory/GtPTEyMY3v79u266KKLAt4mXziXUVpaWufyqrNt2zZdccUVOnLkiGNfQUGBli5dqqVLl2rixIm6/PLLLakrJydH2dnZkuQYxVWdJUuW6KabbtLZs2cd+zIyMjR37lx9+umnWrFihbp166a3335bEyZMUGFhoeO8gwcP6qWXXtLnn3+ub775xmVdKQAAAAC+YYQTAAAAgAZn27Ztju3KawXZ9enTx7H929/+VpmZmQFvky82bdrk2PZnUHL69GmNHj3aETbdeuut+uyzz/T999/rrbfeUr9+/TR37ly9+OKLltT33HPPyTAMSdL1119f7bmHDx/WLbfcopSUFL3wwgv67rvvtGrVKk2ePFk2m03Hjx/XL3/5S61bt07jxo1Thw4d9Oqrr2rt2rVatmyZ7rrrLklmQPX73//ekvYDAAAA4YoRTgAAAAAanOnTpzu2b775Zo/npKWlafr06crLy9PXX3+t1NRUXX311RoyZIguvfRS9enTp9p1nfzRJm/973//0/bt2yVJHTp0ULt27epUXnX+8pe/6ODBg5Kk//f//p8ef/xxx7GLL75YN998s6677jotXrzY6zJ37typnJwcx/OSkhIdPHhQ//vf//Taa69JkgYNGqS0tLRqy9m1a5c6d+6sr7/+Wi1atHDsHzx4sKKjo/X3v/9dX3/9ta699lpdeumlWrx4sRo1auQ4b9iwYSooKNB7772n//73v8rMzHQpBwAAAID3GOEEAAAAoEHIzs7W6tWrdc011+jtt9+WJA0cOFC/+MUvPJ5/3nnn6Z133lFiYqIkKT8/Xx988IEmT56sgQMHqnHjxhoyZIhmzpypEydO1EubqlNaWqp9+/bp6aef1u233+7Y/8gjj9Sqbd4oLCzUvHnzJEkXXnihHn30UbdzoqOjNWfOHEVHR3td7ujRo9WrVy/Ho0+fPhozZozmzp2rc845RzNnztSSJUu8Cvz+8Y9/eAyJ7r33Xsd2VlaWXnnlFZewyW7SpEmSzNBrzZo1Xn8OAAAAAFwROAEAAAAISX/+859ls9kcj+bNm+vyyy/X559/rqioKN15551atGhRtUHIddddp23btum+++5T06ZNXY4VFhZq1apV+v3vf6+OHTtq/vz59dImu4yMDJeyoqKidP7552vq1KkqKCiQZIYlv/71r2ssq7bWr1+vkydPSpLuvvtuRUR4/hWybdu2GjVqlCV1Hj58WPPmzdOiRYtqPDclJeX/t3d/oV1WfxzA36uJxmymxLLVwIEro4kD0QsJczDR7EIKb1yBDYnanSXNi6AalAp1Y3ihBFYErouioZCzFC8UQTSN/INYrKKSjDTBu7Xa70J60F9tTZ/NTXu94Avnyzl8ns/3ufvy5pyTJUuW/OPcjBkzUl1dneRyWPbQQw/947o5c+YU497e3uvoGAAASAROAADALeiBBx5IR0dHETgMpa6uLps3b865c+dy6NChvP3222lra0tDQ0Ox5uLFi1m1alWx22e0exrK5MmT89hjj+XTTz8dsXuTBnP8+PFiPG/evCHXzp8/f9h1v/322wwMDBSfP//8M+fPn8+uXbvy6KOP5quvvsqTTz6ZzZs3D1mnoaEhFRUVg85PmTIlyeV3P5i77rqrGF+6dGnYvwEAALiaO5wAAICbUnt7e3FsWn9/f86ePZsdO3Zk27ZtOXXqVBYtWpSDBw/mwQcfHFa9ysrKzJ8//6rg5IsvvsiaNWty4MCBJMnatWuzYsWK3HnnnaPeU21tbXbv3n1Vf9XV1Zk+ffqgO41G2l+7m5KkpqZmyLX33HPPdT+noqIi06ZNy9KlS7N48eI0Nzdn//79eeGFF7J48eJB39c/HZF3pb/e01DrrnyXf/zxx3V0DwAAJHY4AQAAN6mampo0NjamsbExTU1NWbZsWbZs2ZJPPvkkt912Wy5cuJDW1tZSIcLcuXPT09OTmTNnJrkcwOzZs+eG9DRhwoSiVmNjY2bNmpXa2tobFjYlycDAQDEeaifR/68t4/bbb8+LL76Y5HJoN5yjDAEAgLEncAIAAG4pjz/+eJ5//vkkydGjR/Pee++VqldVVZWVK1cW37/55psx7+lGufJeq3Pnzg259pdffhmx586aNasYX3msHwAAMH4JnAAAgFvOq6++mqqqqiRJZ2dn+vr6StWrra0txte7w2ike7oRZs+eXYwPHz485Np/m78W/f39xfj3338fsboAAMDoETgBAAC3nJqamjz33HNJkh9++CHvv//+39ZcyxFwR44cKcb19fWj1tN4M3fu3EydOjVJ8sEHHwz6zn766ad89tlnI/bcK8Orurq6EasLAACMHoETAABwS3rppZcyadKkJMnGjRv/dm9Se3t71q9fnwsXLgxZ5/PPPy/CoaqqqrS0tIxaT+PNxIkT09bWliT58ssv8+abb/5tTX9/f5599tkR27H122+/ZcOGDcX3ZcuWjUhdAABgdAmcAACAW9L06dOzevXqJElvb2+2b99+1fyvv/6al19+Offee2+eeOKJbNq0KXv27MmxY8dy+PDhdHV1ZeXKlVm6dGlxxNvrr7+e6urqUetpPHrllVdy//33J0nWrVuX1tbW9PT05OjRo/nwww+zYMGC7Nq1K/PmzRt2zTNnzuTEiRPF5/jx49m/f3/eeuutNDU15euvv06SPPLII1m+fPmo/C4AAGBkVY51AwAAAKNl3bp1eeedd9LX15f169fnqaeeKu5guu+++5IkfX196e7uTnd396B1Jk2alM7OzqxZs2ZUexqPpkyZkp6enrS0tOTnn39OV1dXurq6rlrT1taWhQsXFruh/s2SJUv+dU1zc3M++uijVFRUXFffAADAjTV+/9UAAACUVFdXl1WrViVJTp8+nY8//riY27RpU77//vts3bo1Tz/9dJqamjJ16tRUVlbmjjvuSG1tbVpaWvLGG2/kzJkz6ejoGPWexquHH344J0+eTEdHRxoaGjJx4sTcfffdaW5uzvbt27Nt27bSz5g8eXIaGhrS2tqanTt3Zu/evZk2bdoIdA8AANwIFQPXclMuAAAAN73XXnstnZ2dSRJ/CYfvu+++S319fZLk3XffzTPPPDO2DQEAwDjiSD0AAID/sBMnThTj+vr6VFVVjWE348/Fixfz448/JknOnj07xt0AAMD4JXACAAD4D5s9e3Yx3rdvXxYtWjR2zYxD3d3dw76bCgAA/svc4QQAAAAAAEAp7nACAAAAAACgFDucAAAAAAAAKEXgBAAAAAAAQCkCJwAAAAAAAEoROAEAAAAAAFCKwAkAAAAAAIBSBE4AAAAAAACUInACAAAAAACgFIETAAAAAAAApQicAAAAAAAAKEXgBAAAAAAAQCkCJwAAAAAAAEoROAEAAAAAAFCKwAkAAAAAAIBSBE4AAAAAAACUInACAAAAAACgFIETAAAAAAAApQicAAAAAAAAKEXgBAAAAAAAQCkCJwAAAAAAAEoROAEAAAAAAFCKwAkAAAAAAIBS/gdyGTkrjOeyPQAAAABJRU5ErkJggg==", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABpwAAARFCAYAAACjc2H6AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdd1hT59sH8G/C3hsUB+DAiVYU955Qq1XrqLWiVltH21/tcNRWxapttdXaWlerFavWarXWCW7EvXCARUQFERzsvcl5/+DllEgSEhKWfj/XxeU5J8+4E3IO8dx5nkciCIIAIiIiIiIiIiIiIiIiogqSVncAREREREREREREREREVLsx4URERERERERERERERERaYcKJiIiIiIiIiIiIiIiItMKEExEREREREREREREREWmFCSciIiIiIiIiIiIiIiLSChNOREREREREREREREREpBUmnIiIiIiIiIiIiIiIiEgrTDgRERERERERERERERGRVphwIiIiIiIiIiIiIiIiIq0w4URERERERERERERERERaYcKJiIiIiIiIiIiIiIiItMKEExEREREREREREREREWmFCSciIiIiIiIiIiIiIiLSChNOREREREREREREREREpBUmnIiIiIiIiIiIiIiIiEgrTDgRERERERERERERERGRVphwIiIiIiIiIiIiIiIiIq0w4URERERERERERERERERaYcKJiIiIiIiIiIiIiIiItMKEExEREREREYCJEydCIpFAIpHA39+/usMhIiIiIiKqVZhwIiIioipR+kauoh8zMzPUq1cPffv2xZdffonIyEi12/b391fZtrKfmTNnqmw3LS0NK1aswIABA+Ds7AwjIyM4ODjA09MTX3zxBe7evavRa5CdnY1z585h1apVGDduHJo1awapVCrG4+fnp1F7ioSEhGDu3Lno0KED6tatCyMjIzg7O8PT0xPvvPMOtm7diqdPn6rd3okTJ+Dr6wt3d3eYmZnB1tYWbdq0waxZs3Dnzh2t431e6ffJxIkTlZaLjo6u0O9c1U/pBIOfn1+F23F1ddXJa6HofT1ixAiN2rh9+3alxUfl6927t9xr37BhQ+Tl5alVd+7cuWqdC66urirfj1KpFFZWVnB3d8fo0aOxfft25Obm6ugZyivdb1BQUKX0AVT++a8JVa+/qakp6tati2bNmqFPnz74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3ryJ1atX4+jRo4iIiEBGRobciEdFOnfujPDwcGzbtg3//PMPbty4gfj4eBgYGKBOnTro3r07xo4dq3QkUVV79dVX4eXlhStXrgAoHuXUu3dv8fF3330X7777LsLCwnD69GlcvHgRd+7cwcOHD5GWlgZBEGBhYYE6deqgTZs26Nu3L0aOHAkbG5tKi3nBggXi1I+nT5/GmTNn0KNHj0rrj4iIqLJJBEEQqjsIIiIiIiIiIiIiIiIiqr10s9ohERERERERERERERERvbSYcCIiIiIiIiIiIiIiIiKtMOFEREREREREREREREREWmHCiYiIiIiIiIiIiIiIiLTChBMRERERERERERERERFphQknIiIiIiIiIiIiIiIi0goTTkRERERERERERERERKQVJpyIiIiIiIiIiIiIiIhIK0w4ERERERERERERERERkVaYcCIiIiIiIiIiIiIiIiKtMOFEREREREREREREREREWmHCiYiIiIiIiIiIiIiIiLTChBMRERERERERERERERFpRb+6A6DKl5ubi9DQUACAg4MD9PX5ayciIiIiIiIiIiIielkVFhYiISEBAODh4QFjY2Ot22Tm4SUQGhqKjh07VncYRERERERERERERERUw1y+fBleXl5at8Mp9YiIiIiIiIiIiIiIiEgrHOH0EnBwcBC3L1++jLp161ZjNKStnJwcBAcHAwB69uwJExOTao6IiACem0Q1Fc9NopqJ5yZRzcRzk6hm4rlJVDPV9nPzyZMn4sxopXMI2mDC6SVQes2munXron79+tUYDWkrJycH9vb2AID69evXugsZ0YuK5yZRzcRzk6hm4rlJVDPx3CSqmXhuEtVML9K5WTqHoA1OqUdERERERERERERERERaYcKJiIiIiIiIiIiIiIiItMKEExEREREREREREREREWmFCSciIiIiIiIiIiIiIiLSChNOREREREREREREREREpBUmnIiIiIiIiIiIiIiIiEgrTDgRERERERERERERERGRVphwIiIiIiIiIiIiIiIiIq0w4URERERERERERERERERaYcKJiIiIiIiIiIiIiIiItKJf3QEQERERERERERER1XYymQyZmZlIT09Hfn4+ioqKdNaunZ0dACAmJgZSKccQENUE1Xlu6unpwdDQEJaWljA3N68x1wUmnIiIiIiIiIiIiIi0kJGRgbi4OAiCoPO2BUGAiYkJAKCoqAgymUznfRCR5qrz3CwsLEReXh4yMjIgkUhQr149WFhYVFn/yjDhRERERERERERERFRBipJNEokEenp6OutDIpEAAPT1eTuXqCaprnOzqKhIvOYIgoC4uLgakXTiFYqIiIiIiIiIiIioAmQymVyyydzcHLa2tjA1NRVvROuij/T0dACApaVljZk6i+hlV53npiAIyM7ORnJyMjIzM8Wkk7u7e7VeI3h1IiIiIiIiIiIiIqqAkhu9QHGyqX79+jAzM9NZsomISBGJRAIzMzPUr18f5ubmAIqTUJmZmdUaFxNORERERERERERERBVQMroBAGxtbZloIqIqJZFIYGtrK+6XviZVByaciIiIiIiIiIiIiCogPz8fQPFNX1NT02qOhoheRqWn8Cy5JlUXJpyIiIiIiIiIiIiIKqCoqAgAoKenx9FNRFQtJBIJ9PT0APx3TaouTDgRERERERERERERERGRVphwIiIiIiIiIiIiIiIiIq0w4URERERERERERERERERaYcKJiIiIiIiIiIiIiIiItMKEExEREREREREREREREWmFCSciIiIiIiIiIiIiIiLSChNORERERERERERERFTjBQUFQSKRQCKRwM/PT2EZPz8/sUxFfyZOnCi217t3b43rp6amVuj5RUdHy7UjlUrx8OFDteq6u7vL1fX3969QDKXFxMTgs88+Q4sWLWBmZgZbW1t07NgR33//PbKzs1XWnThxotLXR19fH7a2tujSpQsWLFiAx48fax0r1QxMOBERERERERERERER1TCCIGD79u3llrt48SIiIyN12vehQ4fQpk0brFixAnfu3EF2djZSUlJw5coVzJo1C56ennjw4EGF2i4qKkJKSgouXryIxYsXo3nz5ti/f79O46fqoV/dARARERERERERERFRxVyJToaXq22V1avpZsyYgZEjRyp87MqVK3jnnXcAANOnT8eMGTMUlrOxsVF4PDQ0VK0YLC0t1SqnirGxMXJzc7F161bMmzdPZdmtW7fK1dHWzZs3MXr0aGRnZ8Pc3Byff/45+vTpg5ycHPz555/49ddfERERgcGDB+PKlSswNzdX2d6RI0fg7Ows7hcUFCA2Nha7d+/G1q1bkZGRgVGjRuHmzZto3ry51vFT9WHCiYiIiIiIiIiIiKgW+uHYXfx4IhJzvJtj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evVqmmd6ZZUjfrYcgYITAOQhq4+v1oYzlr8J0vGhjnqs/GNOyggAAAAAANhLZopNqfJL0algwYLmAkNkZKR+/vlnm8x7+/ZthYaGml936tTJJvNak7ob5/Lly3r11VetFs3GjRtn3sEzcOBAeXp62i0fRxg+fLgkKSYmRm+++Waa88eOHdMHH9zp6FO5cmWrBafExER1795dmzdvliS99tpreu+99+yYtW389NNP2rjxzqMx/Pz81KhRIydnlH08wwkA8ojLty5r0vZJFrFiXsX0bqN3nZQRAAAAAACwlzOH9me62JQq9XzqdZuWhKnMwzVUrnote6XpFEOGDNG0adN0/vx5RUdHZ/q6EydOyM/PzyJ248YN7dmzR7NmzdL+/fslSVWqVNHgwYNtmvPdXn75ZS1evFhbt27VwoULdfLkSYWEhKhSpUo6f/68FixYoOXLl0u6U3wZPXq03XLJjKVLlyo2Ntb8+o8//rB6LEmlSpVShw4d0szRp08fLViwQJs3b9bMmTN14cIFDRw4UEWLFtX27ds1YcIE3bhxQy4uLvrss8/k5pa2tPHCCy/o119/lSS1bdtW/fv31759+9LN28PDQ9WqVcvy+82quLi4NHkkJSXp7Nmz+umnnzRv3jxzfOLEiVbfW26RezMHAJilttK7kXjDIh7aJJRWegAAAAAA5EHlqtdS054vaOvSrzNVbEp1d9Gpac8X8lyxSZK8vb317rvv6tVXX83Sdf369bvvmLp162rlypXy9vbObnr35erqqtWrV6tbt27avHmzwsPDFR4enmZcjRo1tGbNGvn4+Ngtl8wYPny4Tp48afXc/PnzNX/+fPPrVq1aWS04ubq6auXKlerUqZN27NihZcuWadmyZRZjPDw8NGPGDHXs2NHqWqlFOEn6/fffVadOnQzzrlChgqKiojIcYws7d+5UYGBghmPc3d313nvvaeDAgXbPx54oOAFAHvDTiZ8UfibcItaxYkc9VoFWegAAAAAA5FXNnvmXygfWy3LRqNGTPfPkzqa7DRw4UFOmTNHp06cfaJ4CBQrI399fQUFB6tmzp5555hmH7EApVqyYNm7cqCVLlmjx4sXavXu3YmJiVKhQIQUGBqpnz54aOHCgPDw87J6Lo/j5+WnLli2aO3eulixZooMHDyouLk5lypTRY489ptdee021auWNn1lXV1cVLlxYVapUUZs2bTRgwABVqVLF2Wk9MApOAJDLRcdH64NtH1jEinkV0zuN33FSRgAAAAAAwFGyWzTKjcWm1q1bW32ekTWenp46derUfceNHTtWY8eOfcDMsiY4OFjBwcH3Hefi4qJevXqpV69eNlnXXrt5bDmvm5ubhgwZoiFDhmT52sz+bDyo1PdrNBp148aNdMc5Kp+cxMXZCQAAsi+9Vnqjm4xWUa+iTsoKAAAAAAAAQH5DwQkAcrGfT/ys9afXW8Q6VOygxys87qSMAAAAAAAAAORHFJwAIJeKjo/WB9tppQcAAAAAAADA+Sg4AUAuZDKZNGHrBF2/fd0iPqrJKBXzKuakrAAAAAAAAADkVxScACAXWnNijX4//btFrH3F9mpXoZ2TMgIAAAAAAACQn1FwAoBcJjo+WhO3T7SIFfUsqncbv+ukjAAAAAAAAADkdxScACAXMZlMeu/P99K00hvZZCSt9AAAAAAAAAA4DQUnAMhFfon6Rf879T+L2BMVnlD7iu2dlBEAAAAAAAAAUHACgFwjOj5aE7fRSg8AAAAAAABAzkPBCQByAZPJpPf/fF/Xbl+ziL/b5F0V9y7unKQAAAAAAAAA4P9RcAKAXGBt1FqtO7XOItauQjt1qNjBSRkBAAAAAAAAwD8oOAFADncl/ore3/a+RayIZxGNbDzSSRkBAAAAAABJcnV1lSSlpKTIZDI5ORsA+ZHJZFJKSoqkf/5OchYKTgCQw72/LW0rvZGNR9JKDwAAAAAAJ/Pw8JB05wPfW7duOTkbAPnRrVu3zAXv1L+TnIWCEwDkYGuj1uq3k79ZxB4v/7jaV2zvpIwAAAAAAECqQoUKmY9jYmLY5QTAoUwmk2JiYsyv7/47yRkoOAFADnUl/ore/9NKK70mI2UwGJyUFQAAAAAASOXj42P+/+ixsbE6c+aM4uLiKDwBsCuTyaS4uDidOXNGsbGxkiSDwSAfHx+n5uXm1NUBAOmauG2irt6+ahF7t/G78vP2c1JGAAAAAADgbi4uLipbtqzOnj0rk8mk2NhYxcbGymAw2PRZKsnJyZKky5cv22xOAA/OWffmvc+NMxgMKlu2rFxcnLvHiIITAORAa6PW6teTv1rEHiv/mDpU7OCkjAAAAAAAgDW+vr4WRSfpzu6D1A+iH5TJZFJ8fLwkydvbm64nQA6RU+7N1GKTr6+vU9a/GwUnAMhhYhJiNHHbRItYYc/CGtVkFP+oBAAAAAAgB/L19VW1atUUGxurGzduKDExUSkpKTaZ22g0mj/U9vHxcfoOBgB3OPPedHV1lYeHhwoVKpSj/l6g4AQAOczEbRMVkxBjEXu3Ea30AAAAAADIyVxcXFSoUCEVKlTIpvPGx8fr0KFDkqQGDRrI29vbpvMDyB7uzbRyRtnLCSIiIjRx4kR17NhRAQEB8vT0lI+Pj6pVq6bg4GBt2rTJ5mt+8803at++vUqXLi0vLy9VrFhRvXv31p9//mnztQDkTr9G/aq1UWstYm0D2qrjQx2dlBEAAAAAAAAA3F++3OHUqlUrbdy4MU08MTFRR44c0ZEjR7Rw4UL17t1b8+bNk4eHxwOtl5CQoGeeeUarV6+2iJ88eVInT57UkiVLNHbsWI0ePfqB1gGQu11NuKr3t71vESvsWVijm46mlR4AAAAAAACAHC1f7nA6e/asJKlMmTJ67bXXtHTpUm3fvl1bt27VRx99pLJly0qSvvrqKwUHBz/wev379zcXm9q0aaOVK1dq+/btmj9/vipXriyj0ajQ0FDNmzfvgdcCkHtZa6X3TqN3aKUHAAAAAAAAIMfLlzucqlevrokTJ6pHjx5ydXW1ONekSRP17t1bzZs3199//62vv/5aQ4YM0aOPPpqttTZs2KAlS5ZIkrp27aoVK1aY12zYsKG6deumBg0a6NSpU3rzzTfVs2dPFSlS5IHeH4Dc57eTv+mXqF8sYm0C2qjTQ52clBEAAAAAAAAAZF6+3OG0evVqPfvss2mKTan8/Pz04Ycfml8vXbo022tNmTJFkuTq6qpZs2alWdPPz0+TJ0+WJF29elXz58/P9loAcqerCVf13p/vWcQKeRTS6Ca00gMAAAAAAACQO+TLglNmtG7d2nx87NixbM0RGxur//3vf5Kkdu3aqVy5clbHPf300ypUqJAkafny5dlaC0Du9cH2D9K20mv8jkoUKOGkjAAAAAAAAAAgayg4pSMxMdF87OKSvT+m7du36/bt25KkVq1apTvOw8NDTZo0MV+TlJSUrfUA5D7/O/k/rTmxxiLWOqC1Oj/U2UkZAQAAAAAAAEDWUXBKx4YNG8zH1atXz9YcBw8ezPQcqeeTk5N15MiRbK0HIHe5lnBN4/8cbxHz9fBVaJNQWukBAAAAAAAAyFXcnJ1ATmQ0GjVp0iTz62effTZb85w+fdp8nF47vVQBAQEW19WsWTPT65w5cybD8+fPnzcfx8fHKz4+PtNzI+dJSEiweozc570/30vTSu+Nem/Ix+DDfZoLcW8CORP3JpAzcW8CORP3JpAzcW8COVNuvzft8fkjBScrPv74Y23fvl2S1L17dz3yyCPZmufmzZvmYx8fnwzHFixY0HwcGxubpXXuLlbdz8aNG+Xn55el+ZFzbdy40dkpIJsOJB7Q2ltrLWLV3arL9bCrfv37VydlBVvh3gRyJu5NIGfi3gRyJu5NIGfi3gRyptx4b0ZHR9t8Tlrq3WPDhg16++23JUn+/v6aPXt2tue6u6rp4eGR4VhPT0/zMTsbgLztlvGWVsWvsoh5GbzUrUA3WukBAAAAAAAAyJXY4XSX/fv3q3v37kpOTpanp6e+++47lSxZMtvzeXl5mY8TExMzHHv79m3zsbe3d5bWubt1nzXnz59Xo0aNJEktW7a8b3s/5GwJCQnminnLli0tfs6QO4T+GarYG5Y7Gd9q+JY6V+zspIxgC9ybQM7EvQnkTNybQM7EvQnkTNybQM6U2+/N+z2qJzsoOP2/EydO6IknntDVq1fl6uqqr7/+Wq1atXqgOX19fc3H92uTFxcXZz6+X/u9e2WlgOTt7Z3lghZyLi8vL76fuczvp37XL6d+sYi1LNdSPar3YHdTHsK9CeRM3JtAzsS9CeRM3JtAzsS9CeRMufHetEe+tNSTdO7cOT3++OM6d+6cDAaDFixYoO7duz/wvHcXgu5XLbx7l1JWnskEIPe4fvu6Jvw5wSLm6+GrMU3HUGwCAAAAAAAAkKvl+4JTdHS02rVrp+PHj0uSPvvsM7300ks2mbtmzZrm40OHDmU4NvW8m5ubqlSpYpP1AeQsk7ZPUnS85cP43mr4lvwL+DspIwAAAAAAAACwjXxdcLp+/brat2+vAwcOSJImTZqkkJAQm83fsGFDeXh4SJI2bNiQ7rjExET9+eefaa4BkHesP7Veq4+vtoi1LNdS3Sp3c1JGAAAAAAAAAGA7+bbgdOvWLXXu3FkRERGSpJEjR+qtt96y6Rq+vr567LHHJEnr1q1Lt63e8uXLdePGDUmySSs/ADnL9dvXNf7P8RYxX3dfhTYJpZUeAAAAAAAAgDwhXxacEhMT1b17d23evFmS9Nprr+m9997L8jxhYWEyGAwyGAwaO3as1THDhw+XJCUnJyskJEQpKSkW56Ojo82FriJFimjAgAFZzgNAzjZ5++Q0rfTebPSmShYs6aSMAAAAAAAAAMC23JydgDO88MIL+vXXXyVJbdu2Vf/+/bVv3750x3t4eKhatWrZWqtt27Z6/vnn9c0332jVqlVq166dhg0bpjJlyigyMlLvv/++Tp06JelOS7+iRYtmax0AOVP46XD9ePxHi1iLsi30ZOUnnZMQAAAAAAAAANhBviw4LV++3Hz8+++/q06dOhmOr1ChgqKiorK93oIFC3Tjxg39/PPPWr9+vdavX29x3sXFRaNHj9bgwYOzvQaAnOf67esavzVtK70xTcfQSg8AAAAAAABAnpIvW+o5mre3t3766SctXrxY7dq1k7+/vzw8PBQQEKAXX3xRf/zxR7ot+QDkXlN2TNHl+MsWsRENR6hUwVJOyggAAAAAAAAA7CNf7nAymUw2mSc4OFjBwcGZHv/iiy/qxRdftMnaAHK2Dac3aNWxVRax5mWb66kqTzknIQAAAAAAAACwI3Y4AYCNWWul5+Puo7FNx9JKDwAAAAAAAECeRMEJAGxsyo4puhR/ySL2ZsM3aaUHAAAAAAAAIM+i4AQANrTxzMa0rfTK0EoPAAAAAAAAQN5GwQkAbORG4g2N2zLOIlbQvaDGNqOVHgAAAAAAAIC8jYITANjI1B1T07TSG/HICFrpAQAAAAAAAMjzKDgBgA1sPLNRK4+utIg1K9NMT1d92jkJAQAAAAAAAIADUXACgAd0I/GGxm210kqvKa30AAAAAAAAAOQPFJwA4AFN2zFNl25ZttIb/shwlfYp7aSMAAAAAAAAAMCxKDgBwAPYdGaTVhxdYRFrWrqpelTt4aSMAAAAAAAAAMDxKDgBQDbdTLypsVvHWsQKuhfUuGbjaKUHAAAAAAAAIF+h4AQA2TRtZ9pWem888gat9AAAAAAAAADkOxScACAbNp/drOVHllvEmpRuop5VezopIwAAAAAAAABwHgpOAJBFNxNvasyWMRaxAm4FaKUHAAAAAAAAIN+i4AQAWfThzg918dZFi9gbj7yhMj5lnJQRAAAAAAAAADgXBScAyIItZ7do2ZFlFrHGpRrrmWrPOCkjAAAAAAAAAHA+Ck4AkEk3E29qzFYrrfSa00oPAAAAAAAAQP5GwQkAMunDnR/qQtwFi9gbj7yhsj5lnZQRAAAAAAAAAOQMFJwAIBPSa6XXs1pPJ2UEAAAAAAAAADkHBScAuI/YxFiN3TrWIubt5q2xzcbKxcBfowAAAAAAAADAJ6UAcB8f7vpQ5+POW8TeaPCGyvmWc1JGAAAAAAAAAJCzUHACgAxsPbdVS/9eahFrVKqRnnn4GSdlBAAAAAAAAAA5DwUnAEhHXFKcxmwZYxHzdvPWuGbjaKUHAAAAAAAAAHfhE1MASMdHOz9K00rvPw3+Qys9AAAAAAAAALgHBScAsOLP83/qu7+/s4g1LNVQzz38nJMyAgAAAAAAAICci4ITANwjLilOYzbTSg8AAAAAAAAAMotPTgHgHh/v+ljn4s5ZxIYFDVOAb4CTMgIAAAAAAACAnI2CEwDcZdv5bfr28LcWsUdKPqLnqz/vpIwAAAAAAAAAIOej4AQA/y8uKU6hm0MtYt5u3hrfbDyt9AAAAAAAAAAgA3yCCgD/z1orvdeCXlNAIVrpAQAAAAAAAEBGKDgBgKTt57enaaXXoGQDvVD9BSdlBAAAAAAAAAC5BwUnAPneraRbCt1i2UrPy9VLE5pNoJUeAAAAAAAAAGQCn6QCyPc+3vWxzsaetYgNazCMVnoAAAAAAAAAkEkUnADkazsu7NA3h7+xiAX5B9FKDwAAAAAAAACygIITgHzrVtItjd482iLm5eqlCc1ppQcAAAAAAAAAWcEnqgDyrekR09O00nst6DWVL1TeSRkBAAAAAAAAQO5EwQlAvrTjwg59fehri1iQf5BerPGikzICAAAAAAAAgNyLghOAfOdW0i2Fbg61iHm5eml88/G00gMAAAAAAACAbOCTVQD5zicRn+hM7BmL2L+D/q0KhSo4KSMAAAAAAAAAyN0oOAHIV3Zc2KElh5ZYxOr719eL1WmlBwAAAAAAAADZRcEJQL5xK+mWxmwZYxHzdPXU+Gbj5eri6qSsAAAAAAAAACD3o+AEIN/4dPenOn3ztEXs1fqvqmLhis5JCAAAAAAAAADyCApOAPKFnRd2avHBxRaxeiXqqVeNXk7KCAAAAAAAAADyDgpOAPK8+OR4hW4JtYh5unpqfHNa6QEAAAAAAACALVBwApDnfRphvZXeQ4UfclJGAAAAAAAAAJC3UHACkKfturgrTSu9uiXq0koPAAAAAAAAAGyIghOAPCs+OV6hm0Nlkskc83Dx0ITmE2ilBwAAAAAAAAA2RMEJQJ712e7PdOrmKYsYrfQAAAAAAAAAwPYoOAHIkyIuRmjRgUUWsTol6qh3zd5OyggAAAAAAAAA8i4KTgDynPjkeIVuoZUeAAAAAAAAADgKBScAec6M3TN08sZJi9gr9V9RpcKVnJQRAAAAAAAAAORtFJwA5Cl7Lu3RVwe+sojV8aujl2q+5KSMAAAAAAAAACDvo+AEIM9ISE7Q6M2jaaUHAAAAAAAAAA5GwQlAnjFj9wxF3YiyiIXUD1GlIrTSAwAAAAAAAAB7ouAEIE/Yc2mPvjzwpUUs0C+QVnoAAAAAAAAA4AAUnADketZa6bm7uGtC8wlyc3FzYmYAAAAAAAAAkD9QcAKQ683cMzNtK716IapcpLJzEgIAAAAAAACAfMamv/rv6upqy+msMhgMSk5Otvs6AHIHa630ahevrT61+jgpIwAAAAAAAADIf2xacDKZTPcfBAA2ktpKz2gymmPuLu56r8V7tNIDAAAAAAAAAAey+SeyBoNBL7/8svz9/W0676VLlzR79mybzgkgd5u1Z1aaVnpD6w2llR4AAAAAAAAAOJhdtgCEhISoZs2aNp1z//79FJwAmP11+S8tPLDQIlareC0F1wp2TkIAAAAAAAAAkI+5ODsBAMiq2ym3rbbSm9B8Aq30AAAAAAAAAMAJbPrJbMuWLWUwGFSwYEFbTitJKliwoHl+APnbrD2zdOL6CYvYkLpDVLVoVSdlBAAAAAAAAAD5m00LTuHh4baczkLFihXtOj+A3GHv5b0K2x9mEatZvKb61u7rnIQAAAAAAAAAALTUA5B7WGul5+bipveav0crPQAAAAAAAABwIgpOAHKN2Xtm6/j14xYxWukBAAAAAAAAgPPlqILT7du3dfHiRRmNxvsPBpCvRF6O1Bf7v7CI1ShWg1Z6AAAAAAAAAJADOKTgFBsbq59//lk///yzYmNj05yPjo5Wjx49VKhQIZUpU0ZFixbV8OHDlZiY6Ij0AORw6bbSa/Ge3F3cnZgZAAAAAAAAAECSHPLQk2XLlqlv374qX768jh+3bIdlNBrVsWNHRUREyGQySZJu3rypjz/+WKdOndJ3333niBQB5GCf//W5jl0/ZhF7uc7Lqla0mpMyAgAAAAAAAADczSE7nNauXStJ6tGjh1xcLJf89ttvtWvXLklSUFCQ/vOf/ygoKEgmk0nLli3TL7/84ogUAeRQ+6L3acG+BRaxGsVqqF9gPydlBAAAAAAAAAC4l0N2OO3bt08Gg0FNmzZNc+6rr76SJDVo0EBbtmyRm5ubkpKS9Oijj2rHjh368ssv1aFDB0ekCSCHSUxJtNpKb0LzCbTSAwAAAAAAAIAcxCE7nC5fvixJqlChgkU8KSlJGzZskMFg0NChQ+Xmdqf+5e7urpdfflkmk0nbtm1zRIoAcqDP//pcR68dtYgNrjNYDxd72EkZAQAAAAAAAACscUjBKSYmRtKdQtLddu7cqfj4eElSx44dLc5Vq3bn2SwXLlxwQIYAcpr90fvTtNKrXqy6+gf2d1JGAAAAAAAAAID0OKTg5O3tLUm6dOmSRXzDhg2SpMqVK6tkyZJWrwGQ/ySmJGrU5lFKMaWYY24GN73X/D1a6QEAAAAAAABADuSQglPlypUlSeHh4RbxFStWyGAwqFWrVmmuSW3D5+/vb/f8AOQs1lrpDao7iFZ6AAAAAAAAAJBDOaTg1K5dO5lMJs2aNUtr1qxRbGysPvvsM+3YsUOS1LVr1zTX7N27V5JUpkwZR6QIIIfYf8V6K70BgQOclBEAAAAAAAAA4H7cHLHIa6+9ps8//1w3b95Uly5dLM7VqFHDasHpp59+ksFgUNOmTR2RIoAcICklSaP+SNtKb0LzCbTSAwAAAAAAAIAczCE7nEqXLq0ff/xRpUqVkslkMn9VqlRJS5culcFgsBh/7Ngxbdq0SdKd3VEA8ofP91pppVdnkKoXq+6kjAAAAAAAAAAAmeGQHU6S9Oijj+rEiRPavHmzLly4oNKlS6tFixZyc0ubwvnz5zV69GhJsvp8JwB5z4ErBzQ/cr5F7OGiD9NKDwAAAAAAAAByAYcVnCTJw8NDbdq0ue+4Fi1aqEWLFg7ICEBOkJSSpFGb07bSe6/Fe3J3pZUeAAAAAAAAAOR0Nm+pFxgYqJEjR2rr1q22nhpAHjVn7xwduXrEIjagzgBa6QEAAAAAAABALmHzgtP+/fs1adIktWjRQiVLllRwcLCWLVum2NhYWy8FIA84cOWA5kXOs4hVK1pNgwIHOSkjAAAAAAAAAEBW2bzgNGHCBDVu3FgGg0GXL1/WV199pWeffVZ+fn5q3769PvvsM0VFRdl6WQC5UFJKkkZvHm3RSs/V4Kr3mtNKDwAAAAAAAAByE5sXnEaOHKktW7bo/PnzWrBggZ566ikVLFhQiYmJ+u233zRs2DBVrlxZgYGBevfdd7VlyxaZTCZbpwEgF5gbOVd/X/3bIjYgcIBqFK/hpIwAAAAAAAAAANlh84JTqhIlSpjb6V25ckW//PKLQkJCVL58eZlMJu3fv1+TJ0/Wo48+Sus9IB86FHNIc/fOtYhVLVpVg+sMdlJGAAAAAAAAAIDsslvB6W7u7u564okn9Nlnn+nEiRPau3ev3n//fXPrvejoaIvWe6ljab0H5E1JKUka9ccoJZuSzTFa6QEAAAAAAABA7uWQgtO9ateurXfeeUdbtmzRhQsX9MUXX6h79+7m1nvr1q2zaL2XOpbWe0DeMC9yng5fPWwR6x/YXzWL13RSRgAAAAAAAACAB+GUgtPd/Pz81KdPHy1dutSi9V6FChXMrfemTJmiRx99VO+//76z0wXwgA7FHNJ/9/7XIlalSBVa6QEAAAAAAABALub0gtPd7m69d/z4cXPrvUaNGslgMMhoNDo7RQAPIMmYTiu9Fu/Jw9XDiZkBAAAAAAAAAB6Em7MTyEjt2rXN7feio6N19epVZ6cE4AFYa6XXr3Y/1Spey0kZAQAAAAAAAABsIUcXnO7m5+cnPz8/Z6cBIJsOxxzWf/9K20rv5bovOykjAAAAAAAAAICtOL3gdP36dS1dulSRkZFKSkpSQECAOnXqpDp16jg7NQA2kmRM0ujNo9O20mtOKz0AAAAAAAAAyAvsVnCKiYnR/PnztW3bNiUkJKh8+fLq1q2bOnToYB7zww8/KDg4WDdu3LC4duTIkerVq5fmzZsnd3d3e6UIwEHmR87XwZiDFrF+tfuplh+t9AAAAAAAAAAgL7BLwWnbtm3q0qWLYmJiLOJz5szRM888o2+++UabN2/W888/r9u3b1udY9GiRUpOTtbixYvtkSIABzkcc1hz9s6xiFUuXJlWegAAAAAAAACQh9i84HTt2jU99dRTunLlitXz33//vdq3b6/58+fr9u3bqlatmoYMGaLq1asrOTlZO3bs0KxZsxQdHa1vvvlGQ4YMUYsWLWydJgAHMLfSM97TSq8FrfQAAAAAAAAAIC9xsfWEc+fO1cWLF2UwGPTSSy9p3759io2N1b59+9SnTx+ZTCZNmTJFW7ZsUb169bRr1y699tprat++vTp37qyxY8dqx44dKl68uCTpyy+/tHWKABxkQeSCNK30+tbuq9p+tZ2UEQAAAAAAAADAHmxecPrpp59kMBjUrVs3hYWFqWbNmipQoIBq1qypL774Qt27d9fhw4dlMBgUGhqqggULppmjQoUKevXVV2UymbR161ZbpwjAAf6++rc+3/u5Raxy4coaUneIkzICAAAAAAAAANiLzQtOBw4ckCT17t3b6vlevXqZjzNqldeyZUtJ0unTp22YHQBHSDImadQfoyxa6bkYXDSh+QRa6QEAAAAAAABAHmTzgtO1a9ckSZUqVbJ6vmLFiuZjPz+/dOdJbakXGxtrs9wAOMYX+75I00ovuFawAksEOikjAAAAAAAAAIA92bzglJx8Z0eDh4f1XQzpxe/l4nInNZPJZJvEADjEkatHNPuv2RaxSoUraWi9oU7KCAAAAAAAAABgbzYvOAHIv5KNyRq12XorPU9XTydmBgAAAAAAAACwJwpOAGwmbH+YDlw5YBHrU6uP6pSo46SMAAAAAAAAAACOYLeCk8FgsNfUAHKgI1ePaNaeWRaxhwo/pJB6IU7KCAAAAAAAAADgKG72mrh27drpnkstRrm6utpreQAOlGxM1ujNo5VkTDLHaKUHAAAAAAAAAPmH3QpOJpPJXlMDyGHC9odp/5X9FrE+Nfuobom6TsoIAAAAAAAAAOBINi84tWzZknZ6QD5y9OrRNK30KhaqqKH1hjopIwAAAAAAAACAo9m84BQeHm7rKQHkUOm10nuvxXvycvNyYmYAAAAAAAAAAEdycXYCAHKvhfsXat+VfRaxl2q+RCs9AAAAAAAAAMhncnzB6dy5c85OAYAVx64d08w9My1iFQtVVEi9ECdlBAAAAAAAAABwFocUnEJCsvcB9OnTp9W6dWvbJgPggVlrpWeQQROaT6CVHgAAAAAAAADkQw4pOM2ePVujR4/O0jWpxaZjx47ZKSsA2fXlgS8VGR1pEXup5kuq51/POQkBAAAAAAAAAJzKYS31Jk6cqOnTp2dq7IkTJ9SqVSudOHFCHh4e9k0MQJYcv3ZcM3enbaX3Sv1XnJQRAAAAAAAAAMDZHFJwGjp0qEwmk9544w19+eWXGY49duyY2rRpo6ioKHl6emrp0qWOSBFAJqQYUzR682glGhPNMYMMGt98PK30AAAAAAAAACAfc0jBacaMGXrhhRdkMpk0YMAArVq1yuq4o0ePqk2bNjp16pS8vLy0fPlyde7c2REpAsiELw98qb3Rey1ivWv2Vn3/+k7KCAAAAAAAAACQEzispd6XX36pjh07Kjk5Wc8//7zCw8Mtzv/9999q3bq1zpw5I29vb61YsUIdO3Z0VHoA7uP49eOasXuGRaxCoQq00gMAAAAAAAAAOK7g5OrqqmXLlql58+ZKSEjQk08+qV27dkmSDh48qDZt2ujcuXMqUKCAfvjhB7Vv395RqQG4j/Ra6U1oPkHebt5OzAwAAAAAAAAAkBM4rOAkSV5eXvrpp59Up04d3bx5U506ddKyZcvUtm1bnT9/XgUKFNCqVav0+OOPOzItAPfx1YGvtPeyZSu9XjV70UoPAAAAAAAAACDJwQUnSSpUqJDWrl2rypUr6/Lly3r22Wd18eJFFShQQKtXr1bbtm0dnRKQL0VcjMjUuOPXj+uz3Z9ZxMr7lter9V+1R1oAAAAAAAAAgFzI4QUnSSpZsqTWrVunsmXLymQyycfHR2vWrFHr1q2dkQ6Q78zaM0t9fumj+ZHzMxyXYkxR6OZQi1Z6klTfvz6t9AAAAAAAAAAAZm62nGz8+PFZGt+8eXN99913atGihdavX6/169dbHRcaGmqL9ADozs6m2X/NliRNj5guSeof2N/q2EUHF+mvy3+lif9w7Ac9XfVpBZUMslueAAAAAAAAAIDcw6YFp7Fjx8pgMGTpGoPBoLVr12rt2rXpjqHgBNhOUMkgDQsaZi42pVd0OnH9RJpWeqmGBQ2j2AQAAAAAAAAAMLNpwUmSTCaTracEYGOpxaX0ik6prfRup9xOc+2woGHp7ogCAAAAAAAAAORPNi04GY1GW04HwI4yKjotPrhYey7vSXMNxSYAAAAAAAAAgDU23+EEIPewVnS6mnBV3xz+Js3YkHohFJsAAAAAAAAAAFZRcALyuXuLTgsPLEwzpmfVnnq57suOTAsAAAAAAAAAkIu4ODsBAM7XP7C/hgUNs3quXol6GtNsjGMTAgAAAAAAAADkKhScAEi6U3Ryd3G3iLnIRXPazXFSRgAAAAAAAACA3MKmBae2bdvqscce08mTJ205rSQpKirKPD8A25sfOV9JxiSLmFFGfX3oaydlBAAAAAAAAADILWxacAoPD1d4eLji4uJsOa0kKS4uzjy/LVy6dEmrV69WaGioOnbsKD8/PxkMBhkMBgUHB9tkDUkaO3ased77fdnqvQFZNT9yvvkZTveaHjFd8yPnOzYhAAAAAAAAAECu4ubsBJylZMmSzk4ByBEyKjalSj3fP7C//RMCAAAAAAAAAOQ6dik4zZo1S/7+/jad89KlSzad724BAQGqUaOGfv31V7utIUmRkZEZnn/ooYfsuj5wr4yKTR4uHhpSb4g+ifhEEkUnAAAAAAAAAED67FJwmj17tj2mtanQ0FA1bNhQDRs2VMmSJRUVFWX3gk/t2rXtOj+QFfcWm9pVaKffTv5mfh3gG6ABgQNkkME8jqITAAAAAAAAAMAamxecTCaTrae0i3Hjxjk7BcBp7i02DQsaprgky2evBRQKkPRPcYmiEwAAAAAAAAAgPS62nMxoNNr9KyUlxZYpA/lOxMWINMWm/oH9dfrmaYtxAb4B5uP+gf01LGiY+fX0iOmKuBhh71QBAAAAAAAAALmETQtOAHK+oJJBGlJ3iKR/ik2SdOrmKYtx5X3LW7y+u+g0pO4QBZUMsn+yAAAAAAAAAIBcwS7PcIJ17dq1U0REhG7evKkiRYqoZs2a6tChgwYPHqyiRYs6Oz3kI0PrDVWT0k3MRSOTyaTTNyx3ON1bcJLuFJ3q+9en2AQAAAAAAAAAsEDByYHWrVtnPr58+bI2bNigDRs2aPLkyQoLC9OTTz6ZrXnPnDmT4fnz58+bj+Pj4xUfH5+tdZAzJCQkWD3OqhqFaph/Fq7dvqabSTctzvt7+Fv9Wbn7OgD/sNW9CcC2uDeBnIl7E8iZuDeBnIl7E8iZcvu9aY/PeCk4OUBgYKCeeuopNWrUSGXKlFFSUpIOHz6sxYsX69dff9W1a9fUo0cP/fjjj+rYsWOW5w8ICLj/oP+3ceNG+fn5ZXkN5EwbN260yTynky13N7nIRXs379V+w36bzA/kN7a6NwHYFvcmkDNxbwI5E/cmkDNxbwI5U268N6Ojo20+JwUnOxs2bJjGjh2bJt64cWO99NJLmjNnjl5++WWlpKRowIABOnr0qLy9vR2fKPK1K8YrFq+LuhSVq8HVSdkAAAAAAAAAAHIbCk52VqRIkQzPDx48WDt37tS8efN07tw5LV++XP/617+ytMbp06czPH/+/Hk1atRIktSyZUuVK1cuS/MjZ0lISDBXzFu2bCkvL68HnvPk/pPSXZuZqvlX0xMtn3jgeYH8xB73JoAHx70J5Ezcm0DOxL0J5Ezcm0DOlNvvzfs9qic7KDjlAIMHD9a8efMkSRs2bMhywSkrBSRvb292UOUhXl5eNvl+Xoi/YPG6YpGK/JwAD8BW9yYA2+LeBHIm7k0gZ+LeBHIm7k0gZ8qN96Y98nWx+YzIspo1a5qPz54968RMkF+dunnK4nWAb+afCwYAAAAAAAAAAAWnHMBkMjk7BeRzp29atmUs71veSZkAAAAAAAAAAHIjCk45wIEDB8zHZcqUcWImyI9iE2MVkxBjEQsoxA4nAAAAAAAAAEDmUXDKAebMmWM+btWqlRMzQX507+4mgwwq55P554IBAAAAAAAAAOC0gtPZs2e1a9cubdq0SfHx8c5K44GEhYXJYDDIYDBo7Nixac5HRkbq6NGjGc4xZ84czZ8/X5JUqlQpde/e3R6pAum69/lNpQqWkoerh5OyAQAAAAAAAADkRm6OXOzmzZuaNm2aFixYoHPnzpnjkZGRqlmzpvn1N998o+XLl6tw4cKaO3euXXL5448/LIpB0dHR5uOjR48qLCzMYnxwcHCW19i1a5cGDBigNm3aqGPHjgoMDFTx4sWVnJysQ4cOadGiRfrtt98kSa6urpozZ44KFiyYrfcDZBfPbwIAAAAAAAAAPCiHFZyOHj2qjh076vjx4zKZTOa4wWBIM7Zp06bq3bu3jEaj+vTpoxYtWtg8n3nz5mnhwoVWz23evFmbN2+2iGWn4CRJKSkpWrdundatW5fumOLFi2v+/Pnq1q1bttYAHsSpG5Y7nHh+EwAAAAAAAAAgqxzSUu/27dvq3Lmzjh07pgIFCujNN9/U6tWr0x1foUIFtWnTRpK0atUqR6RoF506ddL8+fM1YMAANWjQQOXKlZO3t7e8vLxUpkwZdezYUZ988omOHz+uJ5980tnpIp9ihxMAAAAAAAAA4EE5ZIfT559/riNHjqhgwYLatGmT6tWrd99rOnbsqHXr1mnr1q12ySksLCxN27ysCg4OznDnk7+/v/r166d+/fo90DqAPd37DCcKTgAAAAAAAACArHLIDqfly5fLYDDotddey1SxSZLq1KkjSTpy5IgdMwPyt/jkeF26dckiVs63nJOyAQAAAAAAAADkVg4pOB04cECS9MQTT2T6muLFi0uSrl27Zo+UAEg6c/NMmliAL89wk835hQAA27RJREFUAgAAAAAAAABkjUMKTjdv3pQkFS5cONPXJCQkSJLc3d3tkhOAtM9vKuFdQgXcCzgpGwAAAAAAAABAbuWQglPqbqWLFy9m+prIyEhJUsmSJe2SE4C0BSd2NwEAAAAAAAAAssMhBafU5zb973//y/Q1CxYskMFgUOPGje2UFYBTN05ZvKbgBAAAAAAAAADIDocUnJ5++mmZTCbNmTNHJ0+evO/4cePGadu2bZKk5557zt7pAfnWqZuWBafyhco7KRMAAAAAAAAAQG7mkIJTcHCwatSooZs3b6pVq1b66aefZDKZzOcNBoOMRqM2bdqkrl27avz48TIYDGrYsKG6devmiBSBfOnelnrlfSk4AQAAAAAAAACyzs0Ri7i6umrVqlVq3ry5Tp06pW7duqlAgQLm8127dtXFixd169YtSZLJZFKZMmX0/fffOyI9IF9KSknS+bjzFrGAQrTUAwAAAAAAAABknUN2OElS5cqVtWfPHnXu3Fkmk0lxcXGS7hSXjh8/rri4OJlMJplMJj3xxBPasWOHAgL48Buwl7OxZ2U0GS1iPMMJAAAAAAAAAJAdDtnhlKpUqVL68ccftX//fv3www/auXOnLl26pJSUFBUvXlz169fXk08+qUceecSRaQH50r3PbyriWUSFPAo5KRsAAAAAAAAAQG7m0IJTqlq1aqlWrVrOWBrA/+P5TQAAAAAAAAAAW3FYSz0AOcu9BSee3wQAAAAAAAAAyC6HFJxcXFzk5uamAwcOZPqaY8eOma8DYHunbli21OP5TQAAAAAAAACA7HLYDieTyeTQ6wBkjJZ6AAAAAAAAAABbybEt9VILTQaDwcmZAHlPijFFZ2LPWMTY4QQAAAAAAAAAyK4cW3C6cuWKJKlgwYJOzgTIey7cuqBkY7JFrHwhdjgBAAAAAAAAALLHoQWnzO5WiouL02effSZJqly5sj1TAvKle5/f5OPuo6KeRZ2UDQAAAAAAAAAgt3Ozx6SVKlWyGn/iiSfk7u6e4bW3b9/WpUuXZDQaZTAY1LVrV3ukCORr9z6/KcA3gPaVAAAAAAAAAIBss0vBKSoqKk3MZDLp7NmzWZqnSZMmevPNN22UFYBU9+5w4vlNAAAAAAAAAIAHYZeCU58+fSxeL1y4UAaDQd26dVORIkXSvc5gMMjLy0ulS5dWs2bN1LZtW3ZdAHZw7w4nnt8EAAAAAAAAAHgQdik4ffHFFxavFy5cKEl6//33VbNmTXssCSALTt203OFU3peCEwAAAAAAAAAg++xScLrXmDFjJEn+/v6OWA5ABowmo87cPGMRK+dbzknZAAAAAAAAAADyAocWnAA43+Vbl5WQkmARY4cTAAAAAAAAAOBBuDg7AQCOde/zm7xcvVSiQAknZQMAAAAAAAAAyAscssPJmqioKEVHRys+Pl4mkynDsS1btnRQVkDed2/BqZxvObkYqD0DAAAAAAAAALLPoQWnw4cPa+LEiVq1apVu3LiRqWsMBoOSk5PtnBmQf5y6ecridYBvgJMyAQAAAAAAAADkFQ4rOK1cuVL/+te/lJCQcN8dTQDs59QNy4ITz28CAAAAAAAAADwohxScTp8+rV69eik+Pl5ly5bViBEjVKBAAQ0aNEgGg0Hr1q3T1atXtXPnTn355Zc6d+6cWrRoobFjx8rV1dURKQL5xr0t9coXouAEAAAAAAAAAHgwDik4ffrpp7p165Z8fX21bds2lSlTRvv37zefb9OmjSTp6aef1ujRo9W/f399++23mj9/vhYvXuyIFIF8wWQypSk40VIPAAAAAAAAAPCgXByxyLp162QwGDR06FCVKVMmw7He3t5atGiR6tevr2+++UbLli1zRIpAvnD19lXFJsVaxCg4AQAAAAAAAAAelEMKTlFRUZKkZs2amWMGg8F8nJycbJmUi4v+/e9/y2QyacGCBY5IEcgX7n1+k5uLm0oVLOWkbAAAAAAAAAAAeYVDCk5xcXGSpICAf3ZSFChQwHx8/fr1NNfUqlVLkvTXX3/ZOTsg/7i3nV45n3Jyc3FIZ00AAAAAAAAAQB7mkIJT4cKFJUkJCQnmWPHixc3Hx44dS3PNjRs3JEnR0dF2zg7IP3h+EwAAAAAAAADAHhxScHr44YclScePHzfHfH19VaFCBUnSr7/+muaadevWSZKKFCli/wSBfOLUTcuWeuULlXdSJgAAAAAAAACAvMQhBaemTZtKkv7880+LeJcuXWQymTR16lT9/vvv5vjSpUs1ffp0GQwGNW/e3BEpAvnC6RvscAIAAAAAAAAA2J5DCk6dOnWSyWTS8uXLlZKSYo6PGDFCBQoUUGxsrNq1a6cSJUqoUKFCeu655xQfHy8XFxeNGDHCESkC+QIt9QAAAAAAAAAA9uCQglPr1q01ZswY9e3bV2fP/h979x3f5lnv//99y5b3tjOcveWspkmbYad2KaWlpQfSlhROWw4NlO8POJzD+LLPgALnHHoGFDiH8uWc9lAOpwMaCl1A05YQO7Ezmr3sxBmOnem9h8b9+0O2LNmyJTsaHq/n46GHpEv3JX3cWrGkt67PddEzPmfOHL344otKT0+XaZqqr69XW1ubTNNUfHy8/uu//ksbNmyIRInAhNfS06LG7kafsTmptNQDAAAAAAAAAFy/2Eg8iGEY+uY3v+n3trvvvluVlZV68cUXdfz4cTkcDi1evFgf+tCHNHPmzEiUB0wKA1c3WQyLZqbwHAMAAAAAAAAAXL+IBE6BZGVl6ZOf/GS0ywAmtIH7N+Um58oaY41SNQAAAAAAAACAiSQigdPHP/5xSe7VTA888EAkHhLAABdaL/hcZ/8mAAAAAAAAAECoRCRw+vnPfy5J+vCHPxyJhwPgx8CWeuzfBAAAAAAAAAAIFUskHmTKlCmSpGnTpkXi4QD4caHFd4XTnDQCJwAAAAAAAABAaEQkcFq2bJkkqaqqKhIPB8CPgSucZqXOilIlAAAAAAAAAICJJiKB00c+8hGZpulprQcgsjrsHartrPUZo6UeAAAAAAAAACBUIhI4fexjH9Ptt9+ul19+Wd/61rdkmmYkHhZAr5q2mkFjrHACAAAAAAAAAIRKbCQepKSkRF/60pdUW1urb3/723rhhRf04Q9/WDfccIMyMzMVExMz7PyioqJIlAlMWNUtvu30piZNVWJsYpSqAQAAAAAAAABMNBEJnN71rnfJMAzP9VOnTuk73/lOUHMNw5DD4QhXacCkcKH1gs/12amzo1QJAAAAAAAAAGAiikjgJIk2ekAUDQyc2L8JAAAAAAAAABBKEQmctm/fHomHATCE6lbflnpz0gicAAAAAAAAAAChE5HA6dZbb43EwwAYwsA9nGipBwAAAAAAAAAIJUu0CwAQXj3OHl1uv+wzRks9AAAAAAAAAEAoETgBE1xNW41M+e6hxgonAAAAAAAAAEAoRTVwOn36tBYsWKCFCxdGswxgQqtprfG5npWQpZS4lChVAwAAAAAAAACYiCKyh9NQenp6dP78eRmGEc0ygAntQssFn+usbgIAAAAAAAAAhBot9YAJ7kKrb+DE/k0AAAAAAAAAgFAjcAImuIGBEyucAAAAAAAAAAChRuAETHAD93CanUbgBAAAAAAAAAAILQInYAJzuBy62HrRZ4yWegAAAAAAAACAUCNwAiawy+2X5TAdPmMETgAAAAAAAACAUIuN5oPPmjVLP/vZz6JZAjChVbdU+1xPtaYqPT49StUAAAAAAAAAACaqqAZO6enpeuSRR6JZAjChVbf6Bk6z02bLMIwoVQMAAAAAAAAAmKhoqQdMYBdaL/hcp50eAAAAAAAAACAcCJyACWxg4DQ7dXaUKgEAAAAAAAAATGQRb6l35swZvfLKKzp8+LDq6urU2dkp0zSHPN4wDL399tsRrBCYOAbu4UTgBAAAAAAAAAAIh4gFTh0dHfrMZz6jX/ziF4MCJtM0B+0r03cM+80Ao+MyXYP2cJqTRks9AAAAAAAAAEDoRSRwMk1T9913n9566y2ZpqmcnBzNmjVLhw4dkmEYKiwsVGNjoyoqKmS322UYhmw2m6ZPnx6J8oAJ6VrHNfW4enzG2MMJAAAAAAAAABAOEdnD6cUXX9Sbb74pSfrmN7+pK1eu6H/+5388t+/YsUNHjhxRQ0ODnnjiCSUnJ6uhoUHf+c53tH379kiUCEw4A1c3JcYmKicxJ0rVAAAAAAAAAAAmsogETs8995wkKT8/X9/85jdlsVj8tspLTk7W5z73Ob399ttqbW3V/fffr0uXLkWiRGDCudBywef67NTZtKgEAAAAAAAAAIRFRAKnd955R4Zh6P/8n/8T1PFr167Vpz/9adXV1elHP/pRmKsDJqYLrYMDJwAAAAAAAAAAwiEigVNdXZ0kacGCBZ4xq9XqudzZ2Tlozj333CNJeu2118JcHTAxDWypx/5NAAAAAAAAAIBwiUjgFBsbK0lKTU31jHlfvnLlyqA56enpkqTq6upBtwEIbGDgNDuNFU4AAAAAAAAAgPCISOA0Y8YMSVJtba1nbPr06UpMTJQkHThwYNCcyspKSZLD4YhAhcDEYprmoD2cWOEEAAAAAAAAAAiXiAROq1atkiQdPXrUM2YYhtavXy9JevLJJ32OdzgceuKJJyRJixcvjkSJwIRS31WvDkeHzxh7OAEAAAAAAAAAwiUigdO73/1umaapP/zhDz7jH//4x2Wapv70pz/p1ltv1Y9//GP967/+q9avX6+9e/fKMAx96EMfikSJwIRS01rjc91qsWpa0rQoVQMAAAAAAAAAmOgiEjjdd999MgxD27dv19mzZz3jH/nIR3TXXXfJNE3t3LlTn/3sZ/W1r31Nhw4dkiTdeOON+r//9/9GokRgQrnQ6ttOb1bqLMVYYqJUDQAAAAAAAABgootI4DR9+nTZ7XZ1dXVpwYIFPrf95je/0d/+7d9q2rRpMk1TpmkqPT1dn/nMZ7R9+3YlJCREokRgQmH/JgAAAAAAAABAJMVG6oEsFv/ZVnx8vL7zne/oO9/5jhoaGuRwODRlyhQZhhGp0oAJZ+AKJ/ZvAgAAAAAAAACEU8QCp2BkZWVFuwRgQhi4hxOBEwAAAAAAAAAgnCLSUu/jH/+4Hn30UV2+fDnoObW1tZ55AEZm4AqnOWm01AMAAAAAAAAAhE9EAqdnnnlGzzzzjBobG4Oe09LS4pkHIHjN3c1q7m72GWMPJwAAAAAAAABAOEUkcAIQOdWt1T7XY4wY5abkRqkaAAAAAAAAAMBkMGYDp66uLklSfHx8lCsBxpeBgVNucq6sFmuUqgEAAAAAAACA8KspPx7ReRhszAZOu3btkiRNmzYtypUA48uFFvZvAgAAAAAAADB5lL74rH75za9q78tbRzRv78tb9ctvflWlLz4bpsoml9hw3Om3v/1tv+NPPvmkpk6dOuzc7u5unTlzRq+88ooMw9DGjRvDUSIwYV1o9Q2cZqfOjlIlAAAAAAAAmCxqyo9rVt7yiM0D+tSUH1fZ1uclSSXPPSNJWrdpc8B5e1/e6jm+bOvzmrPyRn4Xr1NYAqfHHntMhmH4jJmmqZ/85CdB34dpmkpISNCXv/zlUJcHTGgDW+rNSWWFEwAAAAAAAMKn9MVnVbb1eRU+tCWoD/r79H3gn7/5QRU88HAYK8RENitvuQof2uIJj4IJnbzDJkkqfGgLYVMIhK2lnmmanpNhGDIMw2dsqFN8fLzmzZunhx9+WGVlZVq1alW4SgQmpIGBEyucAAAAAAAAEC4DV5cE29Js4OoS9tHB9Vi3abMKH9riuT7c76K/sGkkQSmGFpYVTi6Xy+e6xWKRYRg6duyYli1bFo6HBCCpw96hus46nzH2cAIAAAAAAEC4sLoEY0Xf79xwv4uETeEVlsBpoDlz5sgwDMXFxUXi4YBJa+DqJkOGZqXOilI1AAAAAAAAmAyC+aC/Dx/4I5z8/S5erqzQ6vf+ma6cOc3vXphFJHA6f/58JB4GmPQutF7wuT4teZriY+KjVA0AAAAAAAAmC1aXYKwY+LtYubdMlXvLfI7hdy88wraHE4DIu9DiGzixfxMAAAAAAAAiZbh9dAibEEnrNm1WwYce9nvbxj//C373wiQiK5wARMbAlnpzUtm/CQAAAAAAAJHjb6VT6YvPymm3e44hbEIkNF+9OmgsxhqnDfd9OArVTA4RD5y2b9+u3/72tzp8+LDq6urU2dkp0zSHPN4wDJ05cyaCFQLj18DAiRVOAAAAAAAAiKSOlmb1dHYqxmr1hEzeYVOM1aoLxw7L3t2l3EU2TV+0RElp6dEqFxPUyV07dHzHW4PGnfYe7X15K4FnmEQscLp27Zr+/M//XDt27JCkIUMmwzB8bjMMIyL1ARPBwD2c5qSxwgkAAGCiqCk/rll5yyM2DwAAYCRa6+v0zqsv6cjbb8jR0z3kcU67XVVHDqrqyEHPWPrUaZq+yKbcRTblLl6iqfMWKjYuLhJlYwJqvnZFbzz5gyFv97e/GEIjIoGT3W7X3XffrUOHDsk0Ta1evVozZszQ66+/LsMw9JGPfESNjY06cOCALl26JMMwtGbNGq1YsSIS5QETQrezW1fbfZeJssIJAABgYih98VmVbX1+xO1n+vZKyN/8oAoe8N/DHgAA4Ho0Xr6ofa/8Wsd3/FEup2NU99F87aqar11VRWmxJMkSE6spc+crd/ESzyqozOkzZFgsoSwdE5DT4dAvH/uanA67z/j7/uqLam2o92n1KBE6hVpEAqdnnnlGBw8elGEY+tnPfqZHHnlEx48f1+uvvy5J+vnPf+459uWXX9ZnPvMZnThxQl/72tf0wQ9+MBIlAuPexdaLMuW7cpDACQCA8YGVKxhOTflxlW19XtLI3hh7b8xdtvV5zVl5I78vAAAgZGqrzmnPb1/UqbKdMk3XsMdaYmJHFEa5nA5dPXtaV8+e1qE33J8hxycna/rCJcpdbKMVH4b063/6hlrr63zGlhXepqWFt3muEzqFT0QCp1//+teSpLvuukuPPPLIsMdu2rRJK1as0M0336wtW7bohhtu0OLFiyNRJjCuDWynl52QrWRrcpSqAQAAwWLlCgKZlbdchQ9tGdEbY++wSXJvzE3YBAAAQuHSqZPa85tf6eyBfUEd3/c6d89vX9TO5/sXHqRNmaqOlmY5uoduv+etu72dVnwY1raf/ruqjx/xGcuYlqvbH/2053rfa2hCp/CISOB0+PBhT+s8f0zT9NmraeHChfrc5z6nb3/72/rhD3+o//iP/4hEmcC4dqGF/ZsAABhvWLmCYI3kjbG/sIk30AAA4HqYpqkLRw9rz29/NegDfW8WS4xcLqfnuvfrkPX3PiDDMDyvU1pqr+mWP/+o5q++WVcqT+lyZYUun65Q/cVqyTT93f0gtOJDn12/+l8d/eMbPmOWmBjd89kvKy4xyWec0Cl8IhI4NTQ0SJLmz5/vGYvzSpo7OjqUnOy7EuP222/Xt7/9bb355puRKBEY9waucKKdHgAAYx8rVzASwbwxJmwCAAChZLpcOrN/r/b89le6UnlqyOPiEhM1df5C1Zw45hnz9zpk4OuZnS/8jwyLRes2bdYN77lLktTd0aGrZ0/r8ukKXTlzSpcrT6m9sSGoemnFNznVnDym3b9+YdD4xg//haYvWuJ3jr/X1jNsS3lvdZ0iEjjFxcXJ4XD4hExpaWmeyxcvXtSSJb7/4xMSEjy3AQisprXG5zqBEwAA4wMrVzASw/2+8PsBAABCxeV0qqK0WHt++6Lqay4MeVxCSqrWvO8DMp0ulf36ec/4cK9DAr3+jU9K0pwVqzRnxSpJ7tVVrfV1ulJZocuVp3T5dIWunqu8vlZ806a7Qyha8U0IddWDf0fnrLxRa99//7DzvH8X8zc/SNgUAhEJnObMmaPy8nJdvXrVMzZt2jSlpqaqra1Ne/bsGRQ4HT9+XJJ8Wu0BGNrAFU5zUmmpBwDAeDEZVq6YpinT5ZLL5ZJpumS6XDJdfWNOyTTdtw24feCYy+XqPdbpmd93u/u+/Yx5Hss5RB39jyXvOV731X+8+358HsvP/fiMe3623pq9jh+qZgW4n4SUFHW1tUly/77sfP7nMr1azyxYs1YZ03N1+XSFUrKzlZyRKYslJlr/+wEAwDjhsNt1Ysfb2vvKVjVfvTLkcSmZWbr5/fdr5e3v1bXzZ/XLb37Vc1swr1NHsrrEMAyl5UxRWs4ULdlwiyR3IFZXXTX6VnxXr6j56pVhWvHZlDk9l1Z840DdhfPa8T9P+Ywlpqbp7s/836D+/63btJmVTSEUkcBpzZo1Ki8v18GDB3X33Xd7xouKivT666/rhz/8oT70oQ8pPj5ektTc3Kx/+Zd/kWEYWrZsWSRKBMY1u8uuS22XfMbYwwkAgPHF35vumpPHlLvIpuqTx1R97LDn2JlLl6ujuVF/fOanfkMXn/BmULDhG7r0ByxDBDV+A5y+MWd/CNJ33z5BUn9YgvAyB3y4cvbAPp+NvA2LRSmZ2UrJzlZqVo5Ss7OVkpWj1OwpnsspmVmyxBBKAQAwGfV0derIW3/Q/td+o7Zh2telT5uudR/YrGW33q5Yq1WSu010/uYHVbb1+RF9Kep6VpdYYmI0dd4CTZ23gFZ8k5i9p1uv/fBf5LD3+Iy/99OfV0pmVtD3Q9gUOhEJnG6//XY9++yzev311/U3f/M3nvFPfepTev3113Xw4EGtXLlSmzZtUkdHh1599VXV1NTIMAx99KMfjUSJwLh2ue2ynKbTZ4yWegAAjD8DQ6dzB9/RuYPvDDru4snjunjyeCRLwzhnulxqra9Va32tLg9xjGFYlJyRoZTsHKVm5yg1K8d9OSu79zxHKVlZiom1RrR2AAAQPl1tbTr4xqs68PtX1dXaMuRx2bPmaP19H5Itv9DvF1QKHnhYc1beOOIP7kO5uiRSrfhyF9l6gyha8UXbjl/896CWj6vvfr8W3rQuShUhIoHTvffeq8cee0w1NTU6c+aMFi5cKEm655579PGPf1z//d//rcrKSn3/+9+X1P/tvDvvvFOf/vSnI1EiMK5Vt1b7XE+LS1N6PN+4AABgPFq3abOO73hLDRdrAh8MhJBputTW2KC2xoahNwU3DCWnZ/SujupbJeUOpVKzpyglO0cpWdmebzwDAICxqb2pUftf/60Obfud7F2dQx43feFirb/vw1p407qA7clGGxqFa3VJOFvxle/aIYlWfNFUuW+3Dm973Wdsytz5KnroY1GqCFKEAqeMjAydP3/e721PPfWU8vPz9dRTT+n48eNyOBxavHixPvrRj+pzn/ucLDw5gYDYvwkAgImj6cplNVy6GO0yxiTDsMiwGDIslt7LFlksFhlG75j3yTDct3kd2z8W038/vbf7ux+LxSL5uZ/+Y/vvx32sxetYw+d+fMb83o/7Z7N41+tVswbcT+W+3TpR/EfPfxtrQoLsXV2e62lTpkoy1NZQL5fTEbr/Caap9qZGtTc16urZ00MelpiW3rtCqq+Fn/vUF1TFJCaHriYAABC0ltpr2vfqr3Xsj28OakPmbfbyG7T+vg9pzopVMgwjghWGV6BWfJcrT+lKZYXamxqDuj9a8UVHa0Od3vh/P/QZi42L1z2f/QorzqIsIoFTII8++qgeffTRaJcBjFsXWnwDp9lptNMDAGC8OvjGa0N+w3LK3PmaMmeeTxhh9AUo3sFIgNDFJwQZELrIz/1YAoYlfsKbYUOXmCEfy1Ozd+hiMdzXJ9CHHddj78tbfcKmvr0S9r681dOOsaX2mgof2qK1779fHS3NamuoV2t9nVob6tRaX6e23stt9fVqbaiT024PaY2dLc3qbGnWtfNnhjzGEhev2KRkvX58v9KnTPVq4dcbVGXnKC4hMaR1AQAwWdVfrNa+l7fq5M4/yeV0DnncgpvWaf29D2jGkqURrC66ItmKL3fREk1fRCu+6+FyOfX7f/+eutpafcZv2/J/lD2Lz0SjbUwETgCuz8CWeqxwAgBgfOrp7NDhbb/zGYuxWj1hQG3VOeVtvDXojZgx8XiHSpJ8NuYeuAdY3/m6TZuVnJGpaQsW+b1P0zTV2driDqIa6tRaX9973n+9tb5Ojp7gPmQJlqunWz093apqGnoz7/jkZN+9pLJylJqT41k1lZKVo/ikpJDWBQBANNWUHx9Vi7mh5l09W6k9v/2VTu8tG/JLTYZh0ZL8W7T+3gc0Ze78ET/2REMrvrFt38u/VvWJoz5ji9cXaOW73xuliuCNwAmYAAYGTrNTSfMBABiPXv/378np8F5pYuhj3/+JKsp2+g0RMLkMFzb1GS50GophGEpKS1dSWrqmzV/o9xjTNNXV3jZoZVRrvdeKqfo62bu7/M4fre72dnW3t6uuumrIY+ISE/v3kvJq2+e9Yio+OZkVcgCAMa/0xWdVtvV5v3/jh9P3GiF/84MqeOBhSVLNyWPa89sXdf7Q/iHnWWJitfzWd2vtBz6ozNyZ113/REYrvrHh0qly7frV//qMpWZP0Z3/32d5rTdGRCRwcjqd2rdvn0pKSnTq1Ck1NjaqtbVVaWlpysrKks1m0y233KKbb76ZPZuAEXK6nINXOKWxwgkAgPFmz29f1Nn9e3zGFq1dr/Sp00cVImBiCSZs6hOO3xfDMJSYkqrElNQhv/lsmqZ6Ojs8AVSL3xVT9eruaB91Hf70dHaq4WK1Gi5WD3mMNT7Bs0rKO5TyDqoSUlL5oAIAEDU15cdVtvV5SSP72+39GqFs6/OyJiTqzDu7dbH8xJBzYuPidcPt79VNf3af0nKmXHftkxWt+CKru6Ndv/v3f5XpcnnGDMOi9/31F5WQkhLFyuAtrIGTw+HQk08+qX/7t3/TxYuBNz6ePXu2vvzlL+tTn/qUYmJiwlkaMGFc67gmu8u35z4rnAAAGF/2vrxVO5//+aDxNXd/wHOZ0Gnyqik/HnTY1Mff78sM29JRtegJlmEYik9KVnxSsnJmzx3yuJ7ODtVeuqjiN7fJ0dGueTNy1dXS7LO/VFd7W0hrs3d3qfFSjRov1Qx5TKw1zr13lFcLv9TsKT5BVWJqGq1uAABhMStvuQof2jKi13oDv5CSnJml4v/97yGPj0tM0uq73q817/sAK2fCYLhWfJdPV+jKmVPhacWXO2PCf2nGNE299dSTar521Wd8wwc/rFlLV0SpKvgTtsCpvr5e999/v3bu3CnJ/UsRSHV1tT772c/qpZde0osvvqisrKxwlQdMGBdaL/hcT4pNUnZCdpSqAQAAIzXwg4I+U+bM06xlK33GCJ0mp1l5y5W/+cERt9jx/n3J3/xgWMOmkYhLTFLWjFlKyp0lSbr5zjuVmJjoc4y9q0utDf0ro/r3k6pzj9fXqbO1JaR1Oew9arpyWU1XLg95TExsrFL6gqgBq6X6gqrk9AxCKQDAqAz1Wm/lnfcMOtbfa8j2Rv/7Iiampeum923Sje+9R/FJySGrF4F5t+JbdcfdkkLfii8hOUXTFi6e0K34ThT/0RO69ZlhW6YN9/95lCrCUMISODmdTt1zzz3at2+fTNOUYRi688479Z73vEdr1qxRdna2UlJS1Nraqrq6Oh08eFBvvvmm3n77bZmmqT/96U/6wAc+oOLiYlrsAQH4279pon+rAQCAiWLgyhVvq+/+gN+/6dFYuYLoK3jgYc1ZeeOI/z+v27R5XP5+WBMSlDVjprJmDL2fhL2nW+0NDWqtr1VrQ71XKNUfVHU0N4W0LqfDoeZrVwd9u9abJSZGKVm97fqysj37SKXm5PSGUtlKzsiUxUJXDwDAYP5e69ntdsma5Dmm7KUXVPrL//U33UdKdo7Wvv+DWvnuO2SNTwhLvRi5ULfi62pvC9CKz6ap8xaM21Z8jZcv6u2nf+IzFp+UrHv++kuy0CVtzAlL4PT4449r7969MgxDq1ev1i9+8QstW7ZsyOPf85736Mtf/rKOHTumj370ozp06JDKysr0r//6r/rqV78ajhKBCWPgCif2bwIAYPzwXrniLSE1TXm33DrkvLG6cgXhNdr/zxP198MaF6+M6bnKmJ475DEOu13tjfU+K6NaG+rUWtcbTjXUu79RHGRbm2C4nE611F5TS+21IY8xLBYlZ2Z52vZ57yfVt2IqOSNLMbER2XYZADDGDAyddr/4rLJvXKv0xcv02vf+SReOHhxmtpSZO0NrN23WssLbFBNrDXe5uE6BWvFdrqzQlcpTk7IVn9Nh1+s/+lfZu7t8xu/4//5aaVOmRqkqDCfkr17tdrt+9KMfecKmnTt3KiEhuAR9xYoVKi0t1caNG3Xw4EE98cQT+uIXv6hYXmQDQ6puGbzCCQAAjB9r7t6kvS9vldPevyfjDbe/V9a4+GHnjdeVK0AkxVqtSp86XelTpw95jNPhUHtTQ//KqLpa33CqoV7tDQ0yTdeQ9zFSpsultt79qi6frvB7jGFYlJyR4Vkh5Xd/qawsPkgEgAnI5XJq6S3vUsu1qzr81u8lSfWH9qn+0L5h502ZM0/r7vuQlmzYyEracS5SrfimL1qi6YuWjNlWfDtf+IWunq30GVv57jtly78lShUhkJAnOa+++qpqa2tlsVj0i1/8IuiwqU9CQoJ+8YtfaOXKlaqtrdVrr72me++9N9RlAhPGoBVOqaxwAgBgPDm2fZtP2GRYLLrRT59+fwibgOsXExurtJypSssZ+luyLqdT7U2NPm37WhvqekOperXW16q9sUEupzNkdZmmS22NDWprbNAVnRryuKT0DN+9pLKn+LTyS8nKHrctdABgonLY7Wqtr3WviK27ppbaWrXWXfNcb62vG9HflNwledpw34c1f/XNY37FCkYvHK34zh8+oPOHD3jGItGKr6b8eFDvY84fPqB3Xn3JZyxrxizd9sj/F9J6EFohD5x27twpyd0mb+nSpaO6j2XLlumOO+7Qm2++qZKSEgInYAimafrdwwkAAIwPLpdTB3u/YdhnyfqNSs3OiVJFAPyxxMQoNTtn2Oemy+VUR3Nz/8oor72kvIMql9MR0to6mpvU0dw06Nu/3hJT09wBVN9+UtnuIMo7qGJvDwAIne6Ojt4g6ZrnvLWu1n25zv0lhVCYe8Nqrb/3Ac1atpKgaRIaj634Sl98VmVbn1fhQ1s8rSP96Whu0u9//P1B47OWrZB1hAtcEFkhD5z2798vwzB0++23X9f93H777dq2bZv2798fosqAiae+q16djk6fMfZwAgBg/Dizf69aaq/6jK2++wNRqgbA9bBYYpSSmaWUzCxN1xK/x5gulzpbWzwhlPcqqTbP9Xo57D0hra2ztUWdrS2qPX92yGMSUlJ9V0b1tvBLzZ7ivpydo7iExJDWBQDjkWma6mxp9gmTWvrCpN6x7vb2sNdx43vv0e0f/3TYHwfjS2Rb8fWthAquFV9N+XHP3rV9+5P5C51M09QffvIDdTQ3DbrtyFt/0NLC2+j0MIaFPHCqrnavtrjhhhuu63765ldVVV13TcBEVdNW43M9zhKnqUlsmAcAwHhx8Hev+FyftmCxZizJi1I1AMLNsFiUlJ6hpPQMTVuwyO8xpmmqs7VFbQ31Piuj3Oe17nZ+9XVy9ATXLidYXW2t6mprVe2F80MeE5+U7FkZ1b86Kqc/qMrOUXxSckjrAoBIczmdamuo7w+UfMKkWrXW1Yb83+ChGBaLTFf/HoJGTIzM3lZ7h954XanZU4ZdJQJIQ7Xiq9WVylP9rfjOVgb9ez3aVnyz8par8KEtnrBpqNDp4O9f0bmD7/h97MKHthA2jXEhD5yam5slSZmZmdd1P33z++4PwGADA6fZqbNlMSxRqgYAAIxEbdU5VZ846jO25u730w4FmOQMw1BSWrqS0tI1dd4Cv8eYpqnu9vb+FVKeNn51nqCqtb5O9q5Ov/NHq7ujXd0d7aqvuTDkMXGJiZ4gyhNO9a2Yyp6i1KwcxScn828dgKix93S729t57Z/kvTqpraHeJ+QJp7jEJKVNmepuizbFvZ9g3/mZ/Xu15ze/9BybfeNaZS67UTn2Du1+8VlJw68SAYbibsXn/j2LdCu+vt/VoUKna+fPqvjZn/l9jEBt+DA2hDxwamlpkSSlpKRc1/0kJ7u/FdXa2nrdNQETVXXbgP2b0ti/CQCA8eLA71/1uZ6UnqEl+YVRqgbAeGIYhhJSUpSQkqIpc+YNeVx3R4da62s9bfs8K6b6WvjV16m7I7Rtn3o6O9VwsVoNF6uHPCY2Pr63XV92/yoprxVTKVnZSkxNI5QCMGJ9gbxnZVJviNTqtVrJX5uucElKzxgQJLmDpdRs93lCsv/PT/e+vNUnbNrwwMOqsyZJktbcc6+sVmvAVSLASES6Fd/yW2/X8R1vS+r/HV793j/Taz/8Fzkdg/e7JGwaP0IeODmdzpC+KHRF6BsFwHh0se2iz/XZqQROAACMBx0tzSrf+SefsVV3vE+xVmt0CgIwIcUnJSk+aa5yZs8d8piezo7eAKp+0IqpvqCqqy20XwR1dHer8fJFNV6+OOQxMVZrbyiV07uvVP/+Un2hVFJaugwLHR6AycR0udTe3DRo/6RWrxVKPZ2hXd05FMNiUWp2Tu9Kkd4gyWuFUmpOjqxx8SO+370vb/V8AC+5P2hfeec92rZtm2cs0CoRIBSGasV3+fQpXTkTmlZ8fUqee0blu3ao8VLNoNsIm8aXkAdOACJn4AqnOalzolQJAAAYiaNvvyGHvcdz3RIT6/kmIQBEUlxikrJnJil75tBfXrN3d/W26qt3r5jqa9vXUOcJqjpbQtsO32m3q+nqZTVdvTzkMTGxsUrJyvbbwq8vqEpKT5fFEhPS2gCEj9PhUFtDnSdI8g2Wrqm1rtbv6odwiI2L99PqbopSe8dSMrNliQntvy/+wqZ1mzar00+IRuiESPNuxWfLD00rPm+1VecGjW3887/gd3qcCVvg9OSTT2rq1Kmjnn/t2rUQVgNMPKZpqrqdwAkAgPHG6XDo0LbXfcbyCgqVnHF9e6ACQLhY4xOUmTtTmbkzhzzG0dPjDqK8VkZ5Wvj1rpoKdRsrp8Oh5mtX1Xzt6pDHWGJilJyZ1buPVI5XINUfVCVnZIb8Q2MA/tm7unwCJJ9gqb5W7Q0NMs3IdDtKSE5RqidMmuKzf1LalKkRb+1ZU37cb9g0HH+h0wzbUs3KWx6uMgEfoW7F5+3mP7tPG+77cKhLRpiFLXD6yU9+Eq67BiCp0+xUm73NZ4w9nAAAGPtO7y1VW0O9z9ia922KUjUAEBqxcXHKmJ6rjOm5Qx7jdNjV1tAwIJSq9Wnn19bUOKpvRQ/F5XSqta5WrXW1Qx5jWCy9oVR2fzDl3cIvJ0fJGVmKiaVJDDAc0zTV1dbqFSbV+oZLdbXqam2JTDGGoZSMTK9AaWp/67veFUpxiUmRqSVIs/KWK3/zgyrb+vyIWoh5h075mx8kbELUDdeKr28VVKBWfNb4BN36F49GqmSEUFheLZkhfHEIwL8GV4PP9VgjVrnJQ7+5AwAAY8OB37/ic33GkqWatmBRlKoBgMiJibUqfeo0pU+dNuQxTodD7U2NPquj3Of1nhZ+bY31MkO437PpcrnDrvo6XVaF/4MMQ8kZme4gqndllPf+UqnZOUrOzGYvPkxoLpdT7Y2Ng9rctfSGui2112Tv7opILZaYWKXm5Hjaew1coZSSnTMun48FDzysOStvHHFotG7TZlY2YcwK1IrvyB/f0LWzlT5z7N1d2vvyVtrpjUMhD5y2b98e6rsE4Ee9y/eb0TNSZijWwjfuAAAYy65UntLlU+U+Y2ve94EoVQMAY09MbKxnBcJQXE6n2psbfVZGtTbUu1cyNdSrraFObQ31cjmdoSvMNNXe2KD2xgbpzOkhD0tKz+jdS2qKT9u+vhVTKVnZssbFh64uIIQcdrta62t9Vii1eu+fVF8vlzMy+ydZExJ99k9K9dlLaYpSMrJkWCwRqSXSRhsaETZhPOlrxXf+8AGfsCkhJUVdbe6OTuxLNj6F/NPpW2+9NdR3CcCPgYET7fQAABj7DvzhVZ/rKdk5WrQ2P0rVAMD4ZImJcbe6y8pRrmx+jzFdLnW0NPfuH1Wr1vp6rxVT/UGV0xHaD887mpvU0dyka+fODHlMYmqaz8oonxVTWe5xa0JCSOsCJPe+Kn0rk1rrBre7a29sCHwnIZKYmuYTIKXlTPVpf5eQnBLR/ZMARN7el7f63bfMe5zQafxhOQQwTjU4fV8IzkmdE6VKAABAMNqbGlVRWuIzduMd72NPEAAIA8NiUXJGppIzMjV94WK/x5imqc6+UKqhvnel1OD9pRz2npDW1tnaos7WFtWePzvkMQnJKV6h1BSlZHvvL5Wj1OzsMbf/DKKr7/fZt92db6jU3d4ekVoMw6KUrGyfNnep2VN89lEiVAUmt6HCJsl3XzLvc0Kn8WHSvru9du2a9u7dq71792rfvn3at2+f6uvdK0YeeeQRPfPMMyF/zBdeeEE/+9nPdOTIETU2Nmr69OkqLCzUZz7zGW3YsCHkj4eJbeAeTrNTWeEEAMBYdvjN3/m0oYm1xmnl7e+NYkUAMLkZhqGk9AwlpWcMuZeeaZrqamvtXxlVX+ezv1RfMOXoHnrj89Hoam9TV3ub6i6cH/KYuMQk35VR2b77S6Vm5yguMYlVIhOEy+lUW0O9OzzyaXvXv4eSoye0v4dDibFalZYzRalD7Z+Ulc0XagAMabiwqQ+h0/g1af/1nzZt6E1KQ62rq0sPPPCAXnvtNZ/xqqoqVVVV6bnnntNjjz2mv//7v49YTRj/BrbUY4UTAABjl8Nu1+E3f+8zlnfLu5SUlh6ligAAwTAMQ4mpaUpMTdPUeQv8HmOapro72t0ro3pXSQ1q4Vdfq57OzpDW1tPZofqaC6qvuTDkMdaERM/+UX0rowaumBqPrctqyo+Par+a0c6LBHtPt7vNndf+Sd6rk9oa6mW6XBGpJT4p2R0oebW4c++t5r6clJY+YfdPAhBewYRNfQidxqdJGzh5mz17tpYuXapt27aF5f4fffRRT9h022236XOf+5xmzJiho0eP6p/+6Z905swZfeMb31Bubq4+8YlPhKUGTCxdZpfaTd+l8OzhBADA2HWqrEQdzU0+Y2ve94HoFAMACCnDMJSQnKKE5BTlzJk35HHdHR1eK6Pq1FZf3xtO1Xna+YW65Zm9q1MNl2rUcKlmyGNi4+J7g6gcJaZnqr6pWbFJyTo/JUtZuTPc46lpYyaUKn3xWZVtfX7YDyn96fuQM3/zgyp44OEwVuhfV3tbf5u73hCp1Wv/pIGvE8IpKT3Da/+k3jDJ63p8UnLEagEwedSUHw86bOrjL3SaYVs6Zr88gEkcOH3jG9/Q2rVrtXbtWk2bNk3nz5/X/PnzQ/44O3bs0HPPPSdJev/736/f/OY3iomJkSStXbtWH/jAB3TTTTfpwoUL+spXvqLNmzcrIyMj5HVgYhm4f5MhQ7NSZkWpGgAAMBzTNHXg96/4jM1efoOmDPOhJABg4olPSlJ80hxlzxq6O0VPV6endV9bQ71a62rd4VRfO7+GenW1toS0LkdPtxovX1Lj5Us+47/bt8tzOcZq7V0R5b2XlHvlVFr2FKVkZUdk1UtN+XGVbX1e0si+6e79jfqyrc9rzsobQ/phpelyqb25yU+bu/7LPZ0dIXu84RgWS+9+SVM8+yWlerW7S8uZoti4uIjUAgDeZuUtV/7mB0f8pQHv0Cl/84OETWPcpA2cvvWtb0Xkcf7lX/5FkhQTE6Mnn3zSEzb1ycnJ0T//8z/rwQcfVGNjo55++ml98YtfjEhtGL8G7t80PXm64mJ4wQgAwFh0qeKkrp6t9Blbfff7o1QNAGAsi0tIVNaMWcqaMfQXCu093b3t++p99pLyXK6vU2dLc0jrctrtarp6WU1XLw95jCUmVilZ2YP3kvIKqpIyMmSxxAx5H4HMyluuwoe2jKi9kr/2TSP9sNLpcKitoW7QCiXPSqW6WjkdjsB3FAKxcfGDViR5t79Lycq6rv/GABBOBQ88PKrQf92mzaxsGicmbeAUCW1tbXr77bclSXfccYdmzfL/gvH+++9XWlqaWlpa9NJLLxE4ISD2bwIAYPw48IdXfa6nT52mhTeti1I1AIDxzhoXr8zcmcrMnTnkMY6eHrU1Nnha9XnvJdUXVLU3N0mmGbK6XE6HWmqvqqX26pDHWGJilJyZ5bNKKjU7pzegcu8vlZyRKUvM0IHJSPb0CHavEHtXl0+A5BMs1deqvaFBphmZ/ZMSUlJ7g6QpSvXaN6nvfCy1NwSA0RhtaETYND4QOIXR3r171d3dLUm69dZbhzwuLi5OGzZs0LZt27R3717Z7XZZrdZIlYkx7MDVA1ozbc2g8YErnAbu3zTUPAAAEFktdbU6vWeXz9iN7/0zvnkMAAir2Lg4ZUybroxp04c8xumwq72xsXdVVK1aG+rVdPWKzpSflKOjXbEuhzqamkIatLicTnebwLraIY8xDIuSMzN9VkalZvcFVO7LN91zr6ThQ6eBYdPqu/5MmbkztP/1l33DpbrakLcpHOaHU0pGpmc1Un+Q1N/+Li4xKTK1AAAQBgROYXTy5EnP5by8vGGPzcvL07Zt2+RwOHT69GktW7Ys3OVhjHvy0JP6yeGf6PNrPq9HVz7qc1u9c+gVTk8ffVo/OPADfXrVp/WXN/5lRGoFAAD+Hd72ukxX/wd11vgErbjtjihWBACAW0ys1R14TJnqGevs7FTHtm2SpDvvvFNxVqvamxp72/X5tvBrra9VW3292hrrff7WXS/TdKmtoV5tDfVS5RAHGYaS0zOUkpXtPk7u0OnKmdOatmCRzuwr0+XKUz5TDv7hNR38w2shq9MfS0xsb7u7KUrN9gqSeoOl1JwcxcTyBWMAwMRF4BRG1dXVnstDtdPrM3t2/wqV6urqEQVONTU1w95++XJ/j+XOzk51dnYGfd+IjkO1h/STwz+RJP3gwA9kt9v1yNJHJEldXV2DVjhNi5+mzs5O/fzkz/Xjoz+WJP3k8E+0Omu1bpxyY0RrByarrq4uv5cBRFc0n5uOnm4dfusPPmO2jbfKtMTwegyTHn83gbHJ33PTmpyizOQUZc6e53eOy+VUZ3Oz2hrr1dbQ4G7X11CvtsYGtTe6g6P2xga5nM7QFWqaam9qHDR8es+uQSuLQ8makKDU7Cnu1VY5U5Sa3XvKyVFq9hQlpWfIsFiGnN9jd0j2yOz1hImFv5vA2DTen5vheF9K4BRGra2tnsspKSnDHpucnOy53NbWNqLH8Q6rAikuLlZOTs6I7h/RcWfCndrW5f5m2Y+P/linT59WUUKR7KZdLabvcv/qo9X6uwN/5zm+b/61g9e0TdsEILKKi4ujXQIAPyL93GyuLFd3u+/rupbENG3bxt9mwBt/N4GxafTPTauUNV3Kmq5kScmSTNOUs6tTjo72/lNn/2Vn77npCmEoNQox8QmKTU5xn5JSZE1OVWxyiqy9Y5a4eM/+Sd29p7qWdqmlXTpbFdXaMXnwdxMYm8bjc7Ouri7k90ngFEbeqWZcXNywx8bHx3su841XSFJRQpEkeUKkvnOb1Tbo2JP2k3q7623P9TsT7vTMBwAAkWeapppPHfcZS8qdpbj0jOgUBABAFBmGodjEJMUmJknZU/weY5qmXN1dgwOp9jafcMoc7UqpvhqSUxSbnOoJkbyDJUssH5MBAHA9+EsaRgkJCZ7LPT09wx7b3d3tuZyYmDiix/Fu3efP5cuXtW7dOklSUVFRwPZ+GDvu1J1afHKxp03etq5tMnIMqX/xnJJik3zCps+s/Iyn/R6AyOnq6vJ8m6WoqMjnbwCA6InWc/PiyWM60+TbAve2Bz+quTesjsjjA2MdfzeBsWmsPzdN01R3e5u7XV/vPk9tDfW6cPSgas+fHXT8wrX5WnH7e5WaPUXJmVmKIVDCODXWn5vAZDXen5uBtuoZDf7ShlFqaqrncqA2ee3t7Z7LgdrvDTSSACkxMXHEgRai61NrPiWr1aofHPiBJOmNmjd8bu9wdHguf37N5/XoykcjWR4APxISEvi3FhiDIvncPPa279/rzNyZsq3dMOy+DsBkxd9NYGwaq8/NpKQkZU6Z6rm+9+WtPmFTQkqqutrc39I8s69MMxbbtGj1zRGvEwiXsfrcBCa78fjcDEe9vOMNI+8gKFBa6L1KaSR7MmFyeHTlo/r8ms8PewxhEwAAY0PztSs6s3+Pz9jqu/6MsAkAgBDb+/JWlTz3jOd64UNb9Jmnn1fhQ1s8YyXPPaO9L2+NfHEAAExCvOsNo2XLlnkul5eXD3ts3+2xsbFatGhRWOvC+DRc6ETYBADA2HHwD69Jpum5HpeYpOW33h7FigAAmHj8hU3rNm2WJK3btJnQCQCAKCBwCqO1a9cqLi5OkrRjx44hj+vp6dHu3bsHzQEGenTlozJk+IwlxSYRNgEAMEb0dHXq2PY3fcZW3HaH4hKTolQRAAATz3BhUx9CJwAAIo/AKYxSU1N1++3ub7O+9dZbQ7bVe+mll9TS0iJJuu+++yJWH8afp48+LVOmz1iHo0NPH306ShUBAABvJ3b8Ud0d/XtzyjC0+q73R68gAAAmmGDCpj6ETgAARBaB03V45plnZBiGDMPQY4895veYL33pS5Ikh8Ohz3zmM3I6nT6319XV6atf/aokKSMjQ5/4xCfCWjPGr6ePPq0fHPiB53qi0b+p2w8O/IDQCQCAKDNdLh34w6s+YwtvWqeMadOjVBEAABNLTfnxoMOmPv5Cp5ry42GqEACAyS022gVEy86dO1VZWem5XldX57lcWVmpZ555xuf4LVu2jOpx3v3ud+vP//zP9cILL+iVV17RHXfcoc9//vOaMWOGjh49qn/8x3/UhQsXJEmPP/64MjMzR/U4mNgGhk13JtypooQiXZ59WT8++mNJ8txOez0AAKLj/JGDarzku6Kd1U0AAITOrLzlyt/8oMq2Ph9U2NSn77iS555R/uYHNStveTjLBABg0pq0gdNTTz2ln//8535v27Vrl3bt2uUzNtrASZL++7//Wy0tLfrd736n7du3a/v27T63WywW/f3f/70++clPjvoxMHENDJs+s/Izyq3OlSQ9svQRWa1Wz+2ETgAARM/B37/icz1n9lzNWbEqStUAADAxFTzwsOasvHHEodG6TZs1w7aUsAkAgDCipV4EJCYm6vXXX9ezzz6rO+64Q1OnTlVcXJxmz56thx56SDt37hyyJR8mt4Fh0+fXfF6PLH3E55hHVz6qz6/5vOc67fUAAAi9QK13Gi7V6Nyh/T5jq+9+vy5WnAhnWQAATEqjDY0ImwAACK9Ju8LpmWeeGdQ2b6S2bNkyopVPDz30kB566KHrekxMHv7CpkdXPqrOzs5Bx/ataGKlEwAAoVf64rMBW/cc/MNrPtcTUlLV3tSoN//zP5S/+UEVPPBwJEoFAAAAACBqWOEEjEEHrh7wGzYNx99KpwNXD4SpQgAAJoea8uMq2/q8JPe+D3tf3jromO6Odh3f8bbPWM6cuSr91bOSpLKtz7M5OQAAAABgwiNwAsagNdPW6NOrPi0puLCpj3fo9OlVn9aaaWvCVSIAAJPCrLzlKnxoi+e6v9Dp2PY3Ze/yWoFsGKo5ccxztfChLbTwAQAAAABMeJO2pR4w1v3ljX+pDbkbRhwaPbryUa2eupqwCQCAEOlro1fy3DM+5+s2bZbL5dTBN3zb6ck0PReHa8MHAAAAAMBEQuAEjGGjDY0ImwAACK2hQqesmbPVfPWK3zmETQAAAACAyYTACQAAAAiCv9ApY9p0v8cSNgEAAAAAJhv2cAIAAACCtG7TZp89nZr8rG4ibAIAAAAATEascAIAAACC0HztiirKdqq8tHjIYzZ++C8ImwAAAAAAkxKBEwAAADCE1oY6nSrbqYrSEl2urBj22Ni4OG24/8MRqgwAAAAAgLGFwAkAAADw0tHcpFO7d6mirEQ15ccl0wxqnqOnR3tf3soKJwAAAADApETgBAAAgEmvs61VlXvLVF5arOpjR2SarqDnxiUmqaezQ5JU8twzkkToBAAAAACYdAicAAAAMCl1d3TozP49qigt1vnDB+VyOgLOiY2Ll6On23O98KEtWrdps/a+vNUTNhE6AQAAAAAmIwInAAAATBr27i6dPbBPFaUlOntwn5x2e8A5cYlJWrwuXzIMHf/TW57xvrBJ6g+XCJ0AAAAAAJMVgRMAAAAmNNPpVPvlam37yQ9UdWi/7N1dAefExsdr0c0bZMsv1LxVa3Tg9694QiTJN2zqQ+gEAAAAAJjMCJwAAAAw4TgdDl04dljHi/+oc3vL5LL3BJwTY7Vqweq1shUUasHqtbImJEiST7s8yX/Y1IfQCQAAAAAwWRE4AQAAYEJwuZyqOXFMFaUlOrW3VF2tLQHnWGJiNW/VatkKirTwpvWKT0ryub2m/HjQYVMff6HTDNtSzcpbPrIfCAAAAACAcYTACQAAAOOW6XLp0qlyVZSV6NTunWpvagw4xzAsmrNylWz5hVq0Ll+JKalDHjsrb7nyNz+osq3PBxU29fEOnfI3P0jYBAAAAACY8AicAAAAMK6YpqmrZytVXlqsU2U71VpfG9S8GbalWnrLbVqyvkBJ6RlBP17BAw9rzsobRxwardu0mZVNAAAAAIBJg8AJAAAAY55pmqq7cF4VZSWqKC1R09XLQc2btmCxnBnZSpmzQO+79z4lJiaO6vFHGxoRNgEAAAAAJgsCJwAAAIxZDZdqVFFaovLSYjVcrA5qzpR5C5RXUCRb/i2KS03Xtm3bwlwlAAAAAAAgcAIAAMCY0nztiirKdqq8tFi1588GNSdr5mx3yFRQqKwZszzjnZ2d4SoTAAAAAAB4IXACAABA1LU21OlU2U5VlJbocmVFUHMypuXK1hsy5cyeK8MwwlwlAAAAAAAYCoETAAAAoqKjuUmndu9SeWmxLlackEwz4JzU7CmyFRTKll+oaQsWETIBAAAAADBGEDgBAAAgYjrbWnV6T6kqykpUfeyITNMVcE5yRqaWbLhFtoIizVhsk2GxRKBSAAAAAAAwEgROAAAACKvujg6deWe3KspKdP7wAbmczoBzElLTtGRdgWwFRZq1bLkslpgIVAoAAAAAAEaLwAkAAAAhZ+/u0tkD+1S+q1jnDr0jp90ecE5cYpIWryuQraBQc1asUkwsL1UBAAAAABgveBcPAACAkHDY7Tp/aL/KS4t1dv9e2bu7As6xxido4c3rZSso0rxVaxRrtUagUgAAAAAAEGoETgAAABg1p8OhC0cPqaKsRKf3lqmnsyPgnBirVQtWr5WtoEgL1twsa3xCBCoFAAAAAADhROAEAACAEXG5nKo5cUwVpSU6tbdUXa0tAedYYmI1b9Vq2QqKtPCm9YpPSopApQAAAAAAIFIInAAAABCQ6XLp0qlylZcW6/SeXWpvagw4xzAsmrNylWz5hVq0Ll+JKakRqBQAAAAAAEQDgRMAAAD8Mk1TV89Wqry0WBVlJWqrrws8yTA0K2+5bAVFWrK+QEnpGWGvEwAAAAAARB+BEwAAADxM01TdhfOqKCtReWmxmq9eCWpe7iKbO2TK36jUrJwwVwkAAAAAAMYaAicAAACo4VKNyne5VzI1XKwOas7UeQtlKyiULf8WpU+dHuYKAQAAAADAWEbgBAAAMEk1X7ui8tISVZSVqPb82aDmZM2crbyCItkKCpU1Y1aYKwQAAAAAAOMFgRMAAMAk0lpfp1O7d6q8tFhXKk8FNSdjWq5svSFTzuy5MgwjzFUCAAAAAIDxhsAJAABggutobtKp3btUXlqsi+XHg5qTmj1FtoJC5RUUaer8hYRMAAAAAABgWAROAAAAE1BnW6tO7ylVRVmJqo8dkWm6As5JzsjUkg23yFZQpBmLbTIslghUCgAAAAAAJgICJwAAgAmiu6NDZ97ZrfLSYlUdOSiX0xlwTkJqmpasL5Atv0izli2XxRITgUoBAAAAAMBEQ+AEAAAwjtm7unT24D6V7yrWuUPvyGm3B5wTn5SsRWvzZSso1JwVqxQTy0tCAAAAAABwffh0AQAAYJxx9PTo3OH9qigt0Zn9e+To7g44xxqfoIU3r5etoEjzVq1RrNUagUoBAAAAAMBkQeAEAAAwDjgdDl04ekjlpcWq3LdbPZ0dAefEWK1asHqtbAVFWrDmZlnjEyJQKQAAAAAAmIwInAAAAMYol8upmhPHVF5arNN7StXV1hpwjiUmVvNWrZatoEgLb1qv+KSkCFQKAAAAAAAmOwInAACAMcR0uXTx1ElVlJbo1O6d6mhuCjjHsFg0Z8Uq2QoKtXhtgRJSUsJfKAAAAAAAgBcCJwAAgCgzTVNXz5xWeVmJKspK1FZfF3iSYWhW3nLZCoq0ZH2BktIzwl4nAAAAAADAUAicAAAAosA0TdVdOK+KshKVlxar+eqVoOblLrbJll+kJfkblZqVE+YqAQAAAAAAgkPgBAAAEEH1F6tVUepeydRwsTqoOVPnLZStoFC2/EKlT50W5goBAAAAAABGjsAJAAAgzJqvXVF5aYkqSotVW3UuqDlZM2crb2ORbPlFypoxM8wVAgAAAAAAXB8CJwAAgDBora/Tqd07VV5arCuVp4KakzEtV7aCItkKCpUze64MwwhzlQAAAAAAAKFB4AQAABAi7U2NOrVnlypKS3Sx/HhQc1Kzp8hWUKi8giJNnb+QkAkAAAAAAIxLBE4AAADXobOtVaf3lKqitFjVx4/KNF0B5yRnZGpJ/i2y5RdpxmKbDIslApUCAAAAAACED4ETAADACHV3dOjMO7tVXlqsqiMH5XI6A85JSE3TkvUFyiso0syly2WxxESgUgAAAAAAgMggcAIAAAiCvatLZw7sVUVpic4dekdOuz3gnPikZC1am6+8gkLNXrFKMbG89AIAAAAAABMTn3oAAAAMwdHTo3OH96uitERn9u+Ro7s74BxrfIIW3rxetoIizVu1RrFWawQqBQAAAAAAiC4CJwAAAC9Oh0MXjh5SeWmxKvftVk9nR8A5sdY4zV9zs2z5RVqw5mZZ4xMiUCkAAAAAAMDYQeAEAAAmPZfLqZoTx1ReWqzTe0rV1dYacI4lJlbzVq1WXkGRFt68XnGJSRGoFAAAAAAAYGwicAIAAJOS6XLp4qmTqigt0andO9XR3BRwjmGxaM6KVbIVFGrx2gIlpKSEv1AAAAAAAIBxgMAJAABMGqZp6uqZ0yovLVbF7p1qq68LPMkwNGvpctnyi7RkfYGS0jPCXicAAAAAAMB4Q+AEAAAmNNM0VXfhvDtkKitR89UrQc3LXWxzh0z5G5WalRPmKgEAAAAAAMY3AicAADAh1V+sVkVpiSpKi9VwqSaoOVPnLZStoFC2/EKlT50W5goBAAAAAAAmDgInAAAwYTRfu6Ly3pCptupcUHOyZ83pDZmKlDVjZpgrBAAAAAAAmJgInAAAwLjWWl+nirISVZSV6ErlqaDmZEzPlS2/SHkFhcqZMy+8BQIAAAAAAEwCBE4AAGDcaW9q1Kk9u1RRWqyL5SeCmpOaM0W2/ELlFRRp6vyFMgwjzFUCAAAAAABMHgROAABgXOhsa9XpPaWqKC1W9fGjMk1XwDnJGZlakn+LbPlFmrHYJsNiiUClAAAAAAAAkw+BEwAAGLO6Ozp05p3dKi8tVtWRg3I5nQHnJKSmacn6AuUVFGnm0uWyWGIiUCkAAAAAAMDkRuAEAADGFHtXl84c2KuK0hKdO/SOnHZ7wDnxSclatC5fefmFmr1ilWJieYkDAAAAAAAQSXwaAwAAos7R06Nzh/erYlexzhzYK0d3d8A51vgELbx5vWwFRZq3ao1irdYIVAoAAAAAAAB/CJwAAEBUOB0OXTh6SOWlxarct1s9nR0B58Ra4zR/zc2y5RdpwZqbZY1PiEClAAAAAAAACITACQAARIzL5VT18aOqKCvR6T2l6mprDTjHEhOreatWK6+gSAtvXq+4xKQIVAoAAAAAAICRIHACAABhZbpcunjqpCpKi3Vq9y51NDcFnGNYLJqzYpVsBYVavLZACSkp4S8UAAAAAAAAo0bgBAAAQs40TV09c1rlpcWq2L1TbfV1gScZhmYtXa68giItXr9RSWnp4S8UAAAAAAAAIUHgBAAAQsI0TdVWnVNFWYkqykrUfPVKUPNyF9uUV1CkJRtuUUpWdpirBAAAAAAAQDgQOAEAgOtSf7FaFaUlqigtVsOlmqDmTJ23ULaCQtnyC5U+dVqYKwQAAAAAAEC4ETgBAIARa7p6RRWlxaooK1Ft1bmg5mTPmtMbMhUpa8bMMFcIAAAAAACASCJwAgAAQWmtr3O3yyst1pUzp4OakzE9V3kFRbLlFypnzrzwFggAAAAAAICoIXACAABDam9q1Kk9u1RRWqyL5SeCmpOaM0W2/ELlFRRp6vyFMgwjzFUCAAAAAAAg2gicAACAj87WFp3eW6qK0hJVHz8q03QFnJOcmaUlGzYqr6BIuYtsMiyWCFQKAAAAAACAsYLACQAAqLujXZX7dquirERVRw7K5XQGnJOQmqYl6wuUV1CkmUuXy2KJiUClAAAAAAAAGIsInAAAmKTsXV06c2CvKkqLde7Qfjnt9oBz4pOStWhdvvLyCzV7xSrFxPJSAgAAAAAAAAROAABMKo6eHp07vF8Vu4p15sBeObq7A86xxido4c3rlbexSHNvWKNYqzUClQIAAAAAAGA8IXACAGCCczocqjp6UBWlJarct1s9nR0B58Ra4zR/zc3KKyjS/NU3yxqfEIFKAQAAAAAAMF4ROAEAMAG5XE5VHz+qitJind5bpq621oBzLDGxmnfjGuXlF2rhzesVl5gUgUoBAAAAAAAwERA4AQAwQZguly6eOqmK0mKd2r1LHc1NAecYFovmrFglW0GhFq8tUEJKSvgLBQAAAAAAwIRD4AQAwDhmmqaunjmt8tJiVezeqbb6usCTDEOzli5XXkGRFq/fqKS09PAXCgAAAAAAgAmNwAkAgHHGNE3VVp1TRVmJKspK1Hz1SlDzchfblFdQpCUbblFKVnaYqwQAAAAAAMBkQuAEAMA4UX+xWhWlxaooLVHDpZqg5kydv1C2/ELZ8guVPnVamCsEAAAAAADAZEXgBADAGNZ09Yo7ZCorUW3VuaDmZM+aI1tBoWz5RcqaMTPMFQIAAAAAAAAETgAAjDmt9XXudnmlxbpy5nRQczKm5yqvoEi2/ELlzJkX3gIBAAAAAACAAQicAAAYA9qbGnVqzy5VlBbrYvmJoOak5kyRLb9QeQVFmjp/oQzDCHOVAAAAAAAAgH8ETgAARElna4tO7y1VRWmJqo8flWm6As5JzszSkg0blVdQpNxFNhkWSwQqBQAAAAAAAIZH4AQAQAR1d7Srct9uVZQWq+roIbmczoBzElPTtGTDRtnyCzVz6XJZLDERqBQAAAAAAAAIHoETAABhZu/q0pkDe1VRWqxzh/bLabcHnBOflKxF6/KVl1+o2StWKSaWP9kAAAAAAAAYu/j0CgCAMHD09OjcoXdUUVqiMwf2ytHdHXCONT5BC29er7yNRZp7wxrFWq0RqBQAAAAAAAC4fgROAACEiOl0quPKRb31n/+u8wf3qaezM+CcWGuc5q+5WXkFRZq/+mZZ4xMiUCkAAAAAAAAQWgROAABcB5fLqerjR3W8eLvO7d4pV0+3LgeYY4mJ1bwb1ygvv1ALb16vuMSkiNQKAAAAAAAAhAuBEwAAI2S6XLpYcUIVZSU6tXuXOpqbAs4xLBbNWbFKeQVFWrQ2XwkpKeEvFAAAAAAAAIgQAicAAIJgmqaunDmlitISVZSVqK2hPvAkw9CspcuVV1Ckxes3KiktPfyFAgAAAAAAAFFA4AQAwBBM01Rt1TlVlBaroqxEzdeuBjVv2qIlWrbxVi3ZcItSsrLDXCUAAAAAAAAQfQROAAAMUF9TrYqyYpWXlqjxUk1Qc6bMnS9X5hSlzF2ge+77oBITE8NcJQAAAAAAADB2EDgBACCp6eoV90qm0mLVXjgf1JzsWXOUV1AkW0GhEjKytG3btvAWCQAAAAAAAIxRBE4AgEmrpa5Wp8rcezJdOXM6qDkZ03PdIVN+oXLmzPOMd3Z2hqlKAAAAAAAAYOwjcAIATCrtTY06tXunKspKdLH8RFBzUnOmyJZfqLyCIk2dv1CGYYS5SgAAAAAAAGB8IXACAEx4na0tOr23VBWlxao+fkym6Qo4JzkzS7YNt8hWUKjcxXmETAAAAAAAAMAwCJwAABNSd0e7KvftVkVpsaqOHpLL6Qw4JzE1TUs2bJStoEgz85bJYomJQKUAAAAAAADA+EfgBACYMOxdXTqzf48qykp07uA7cjocAefEJyVr0bp85RUUac6KVbLEEDIBAAAAAAAAI0XgBAAY1xw9PTp36B2Vl5bo7IG9cnR3B5xjTUjUopvXy1ZQqLk3rFGs1RqBSgEAAAAAAICJi8AJADDuOB12VR09pIpdxap8Z7d6OjsDzom1xmnBmrWyFRRq/uqbZY1PiEClAAAAAAAAwORA4AQAGBdcTqeqTxxVRWmxTu8pVVd7W8A5lphYzbtxjfIKirTwpnWKS0yKQKUAAAAAAADA5EPgBAAYs0yXSxcrTqiirESndu9SR3NTwDmGxaI5K1Ypr6BIi9bmKyElJfyFAgAAAAAAAJMcgRMAYEwxTVNXzpxSRWmxKsp2qq2hPvAkw9DspStkKyjU4vUblZSWHv5CAQAAAAAAAHgQOAEAos40TdVWnesNmUrUfO1qUPNyl+Qpr6BIS9ZvVEpWdpirBAAAAAAAADAUAicAQNTU11SroqxY5aUlarxUE9ScqfMXKq+gSLb8QqVNmRrmCgEAAAAAAAAEg8AJABBRTVcuq6KsRBWlxaq9cD6oOdmz5rhDpoJCZebODG+BAAAAAAAAAEaMwAkAEHYtdbU6VVaiirISXTlzOqg5mbkzZMsvlC2/UDlz5oW3QAAAAAAAAADXhcAJABAW7U2NOrV7p8pLS3Sp4kRQc1Jzpnja5U2dv1CGYYS5SgAAAAAAAAChQOAEAAiZztYWnd5bqorSYlUfPybTdAWck5yZJduGW2QrKFTu4jxCJgAAAAAAAGAcInACAFyX7o52Ve7brYrSYlUdPSSX0xlwTmJqmpZs2ChbQZFm5i2TxRITgUoBAAAAAAAAhAuBEwBgxOxdXTqzf4/KS0t0/tA7cjocAefEJydr8boC2fILNWfFKlliCJkAAAAAAACAiYLACQAQFEdPj84dekflpSU6e2CvHN3dAedYExK16Ob1shUUau4NaxRrtUagUgAAAAAAAACRRuAEABiS02FX1ZFDqigtVuU7u9XT2RlwTqw1TgvWrJVtY5Hmr75Z1rj4CFQKAAAAAAAAIJoInAAAPlxOp6qPH1VFWbFO7ylVV3tbwDmWmFjNu3GN8gqKtPCmdYpLTIpApQAAAAAAAADGCgInAIBMl0sXK06ovLREp/fsUkdzU8A5hsWiuStvlC2/UIvW5ishJSX8hQIAAAAAAAAYkwicAGCSMk1TV86cUkVpsSrKdqqtoT7wJMPQ7KUrZCso0uL1BUpKSw9/oQAAAAAAAADGPAInAJhETNNUbdW53pCpRM3XrgY1L3dJnvIKirRk/UalZGWHuUoAAAAAAAAA4w2BEwBMAvU11SrvDZkaL9UENWfagkWy5RfKll+otClTw1whAAAAAAAAgPGMwAkAJqimK5dVUVaiitJi1V44H9ScnNlz3SFTQaEyc2eGt0AAAAAAAAAAEwaBEwBMIC11tTpVVqLy0hJdPXs6qDmZuTNkKyiSLb9QObPnhrlCAAAAAAAAABMRgRMAjHPtTY06tXunyktLdKniRFBz0qZM9bTLmzp/oQzDCHOVAAAAAAAAACYyAicAGIc6W1t0ek+pKsqKVX38mEzTFXBOcmaWbBtuka2gSLmLbYRMAAAAAAAAAEKGwEnShQsX9KMf/Uivv/66Lly4oPj4eC1atEgf+tCH9Jd/+ZdKSkoa9X0/9thj+ta3vhXUsdu3b9e73vWuUT8WgImtu6Ndlft2q6K0WFVHD8nldAack5iapiUbNspWUKSZectkscREoFIAAAAAAAAAk82kD5xef/11Pfzww2pubvaMdXR0aN++fdq3b5+eeuop/e53v9OCBQuiWCWAycre1aUz+/eovLRE5w+9I6fDEXBOfHKyFq8rkC2/UHNWrJIlhpAJAAAAAAAAQHhN6sDp8OHD+tCHPqSOjg6lpKTo61//um677TZ1dnbqhRde0H/913+poqJC99xzj/bt26eUlJTreryjR48Oe/v8+fOv6/4BTAyOnh6dO/SOyktLdHb/Xjl6ugPOsSYkatHN62UrKNK8VasVE2uNQKUAAAAAAAAA4DapA6fPf/7z6ujoUGxsrLZt26b8/HzPbe9+97u1ePFifeUrX1F5ebm+//3v6xvf+MZ1Pd6KFSuut2QAE5TTYVfVkUOqKC1W5Tu71dPZGXBOrDVOC9aslW1jkeavvlnWuPgIVAoAAAAAAAAAg03awGnfvn3605/+JEl69NFHfcKmPl/84hf1s5/9TCdPntQPfvADff3rX5fVyqoBAKHhcjpVffyoykuLVbm3VF3tbQHnWGJiNX/1TbLlF2rhTesUlzj6PeYAAAAAAAAAIFQmbeD029/+1nP5Yx/7mN9jLBaLPvrRj+rrX/+6Ghsb9ac//Ul33HFHhCoEMBGZLpcuVpxQeWmJTu/ZpY7mpoBzDItFc1feKFt+oRatzVfCdbb3BAAAAAAAAIBQm7SBU0lJiSQpOTlZN91005DH3XrrrZ7LO3fuJHACMGKmaepK5SlVlBWromyn2hrqA08yDM1eukK2giItXl+gpLT08BcKAAAAAAAAAKM0aQOnkydPSpIWLVqk2Nih/zPk5eUNmjNad9xxhw4cOKDW1lZlZGRo2bJluuuuu/TJT35SmZmZ13XfAMYW0zRVW3VO5aXFqigtUUvt1aDm5S7JU15BkZas36iUrOwwVwkAAAAAAAAAoTEpA6euri7V1dVJkmbNmjXssZmZmUpOTlZ7e7uqq6uv63Hfeustz+Xa2lrt2LFDO3bs0D//8z/rmWee0aZNm0Z1vzU1NcPefvnyZc/lzs5OdXZ2jupxMDZ0dXX5vYyxoeFSjSr37FLlnlI1XbkU1Jwp8xZo0boCLVpXoNScKZ5xnqvjC89NYGziuQmMTTw3gbGJ5yYwNvHcBMam8f7cDMdnj5MycGptbfVcTgliL5S+wKmtrW1Uj7dy5Urde++9WrdunWbMmCG73a6Kigo9++yz2rZtm5qamvTBD35Qr776qu6+++4R3//s2bODPra4uFg5OTkjfgyMTcXFxdEuAZLsrS1qvXBGbVVn1dPUENScuPRMpcxdqJQ5CxSXlq5aSbUHDoa3UEQMz01gbOK5CYxNPDeBsYnnJjA28dwExqbx+NzsW5QTSpMycPJOG+Pi4gIeHx8fL2l0id/nP/95PfbYY4PG169fr49+9KP66U9/qk996lNyOp36xCc+ocrKSiUmJo74cQBElr29TW0Xzqqt6oy6G4L7x9mamuYJmeIzssJcIQAAAAAAAABEzqQMnBISEjyXe3p6Ah7f3d0tSaMKgjIyMoa9/ZOf/KTeeecdPfXUU7p06ZJeeuklPfzwwyN6jECt/i5fvqx169ZJkoqKigK2EcTY1tXV5UnMi4qKfH6fEV4dTY06885und6zS1dOVwQ1JzV7ihatL9Ci9RuVM2eeDMMIc5WIFp6bwNjEcxMYm3huAmMTz01gbOK5CYxN4/25GWirntGYlIFTamqq53IwbfLa29slBdd+bzQ++clP6qmnnpIk7dixY8SB00gCpMTERFZQTSAJCQn8/wyzjpZmVe4tU0VZsaqPH5NpugLOSc7Mkm3DLbIVFCl3sY2QaRLiuQmMTTw3gbGJ5yYwNvHcBMYmnpvA2DQen5vhqHdSBk4JCQnKyclRXV1dwBSvsbHREziNZK+kkVi2bJnn8sWLF8PyGACC193Rrsp9u1VeWqwLRw/J5XQGnJOYmqYlG26RraBQM/OWyWKJiUClAAAAAAAAADA2TMrASZKWLl2qkpISVVZWyuFwKDbW/3+K8vJynznhYJpmWO4XQPB6ujp1Zv9eVZSW6Pyhd+R0OALOiU9O1uJ1BbIVFGnO8htkiSFkAgAAAAAAADA5TdrA6ZZbblFJSYna29u1f/9+rV+/3u9xO3bs8FzeuHFjWGo5ceKE5/KMGTPC8hgABrP3dOv8wf0qLyvR2f175ejpDjjHmpCoRTevl62gSPNWrVZMrDUClQIAAAAAAADA2DZpA6d7771X3/3udyVJP/vZz/wGTi6XS//zP/8jScrIyNBtt90Wllp++tOfei7feuutYXkMAG5Oh11VRw6pvLRYZ97ZrZ7OzoBzYq1xWnDTOtkKCjV/9c2yxsVHoFIAAAAAAAAAGD8mbeC0bt06FRYWqqSkRE8//bQeeeQR5efn+xzzve99TydPnpQkfe5zn5PV6ruS4ZlnntHHPvYxSdI3v/lNPfbYYz63Hz16VImJiVq0aNGQdfz0pz/V008/LUmaPn267rvvvuv90QAM4HI6VX38qMpLi1W5t1Rd7W0B51hiYjV/9U2y5Rdq4U3rFJeYFIFKAQAAAAAAAGB8mrSBkyT98Ic/1MaNG9XZ2ak777xTf/M3f6PbbrtNnZ2deuGFF/Sf//mfkqQlS5boi1/84ojvf//+/frEJz6h2267TXfffbdWrlyp7OxsORwOlZeX63//93/15ptvSpJiYmL005/+VMnJySH9GYHJynS5dLH8hMrLSnRq9051tjQHnGNYLJq78kbZCoq0aO0GJSSnRKBSAAAAAAAAABj/JnXgtHr1av3yl7/URz7yEbW0tOhv/uZvBh2zZMkSvf7660pNTR3VYzidTr311lt66623hjwmOztbTz/9tD7wgQ+M6jEAuJmmqSuVp1RRVqyKsp1qa6gPPMkwNHvpCtkKirR4fYGS0tLDXygAAAAAAAAATDCTOnCSpPe///06cuSIfvjDH+r1119XTU2N4uLitGjRIj3wwAP6q7/6KyUlja6V1vve9z49/fTTKisr08GDB3X16lXV19fLNE1lZWVp1apVuuuuu7RlyxalpaWF+CcDhldTflyz8pZHbF64mKap2qpzKi8tVkVpiVpqrwY1b8aSpbIVFGrJ+o1KycoOc5UAAAAAAAAAMLFN+sBJkubOnavvf//7+v73vz+ieVu2bNGWLVuGvH3q1Kn6+Mc/ro9//OPXWSEQWqUvPquyrc+r8KEtWrdpc9Dz9r68VSXPPaP8zQ+q4IGHw1hhYPU1F1ReWqKK0mI1Xr4Y1JxpCxbJVlAkW/4tSsuZGuYKAQAAAAAAAGDyIHACJpma8uMq2/q8JKnkuWckKajQqS9skqSyrc9rzsobI77SqenKZVWUlai8tFh1F84HNSdn9lx3yFRQqMzpM8JbIAAAAAAAAABMUgROwCQzK2+5Ch/a4gmPggmdvMMmSSp8aEvEwqaWumuqKNupitISXT17Oqg5mbkzelcyFSpn9twwVwgAAAAAAAAAIHACJqG+cCmY0Mlf2DSSNnyj0d7U6A6Zykp0qeJEUHPSpkyVLb9QtoIiTZ23QIZhhLVGAAAAAAAAAEA/AidgkgomdIpk2NTR0qzKvWUqLy1WzYljMk1XwDkpmVlakl8oW36hchfbCJkAAAAAAAAAIEoInIBJzF/o1Fpfq/Sp09VaX6cDv3vZc2w4wqbujnZV7tut8tJiVR05KNMVOGRKTE3Tkg23KK+gSDPzlsmwWEJaEwAAAAAAAABg5AicgEluYOh06I3XBx0TyrCpp6tTZ/bvVUVpic4fekdOhyPgnPjkZC1eVyBbQZHmLL9BlpiYkNQCAAAAAAAAAAgNAicAuumeTSovLVbt+bODbgtF2GTv6db5g/tVXlqsswf2ydHTHXCONSFRi9ZukC2/UPNWrVZMrPW6agAAAAAAAAAAhA+BEzBJ1ZQf16y85epqb9Mr3/snv2FTrDVuUNjUNy8Qp8OuqiOHVF5arMp9u2Xv6gw4JzYuXgvWrJWtoFDzV98sa1x88D8QAAAAAAAAACBqCJyASaj0xWdVtvV5rd20WWf371V9zQW/xznsPdr78lZP6LT35a0qee4Z5W9+UAUPPDzoeJfTqerjR90h095SdbW3BazFEhOr+atvkq2gSAtvWqe4hMTr++EAAAAAAAAAABFH4ARMMjXlx1W29XlJ0r6XtwY8vm9vJ+/LZVuf15yVN2pW3nKZLpculp9QeVmJTu3eqc6W5oD3aVgsmrvyRtkKirRo7QYlJKeM6mcBAAAAAAAAAIwNBE7AJDMrb7mWv+s9Ov6nt4Ke4x06SdItDz6imJhYbf/5f+nU7p1qa6gPfCeGodnLVsqWX6jF6wuUlJY+wsoBAAAAAAAAAGMVgRMwyRz94zadKP6j39vSpkxVS+01z/XZy1eq+vhRn2NmLVuhI2/9QTuf/3lQjzdjyVLZCoq0ZMNGpWRmjb5wAAAAAAAAAMCYReAETBKmaar0xWe1+9cvDHlMfFJywPupOXEs4DHTFiySraBItvxblJYzdUR1AgAAAAAAAADGHwInYBJwOuza9v9+pBMl24c9rrbqnM/1gaubhpMze647ZCooVOb0GaOqEwAAAAAAAAAwPhE4ARNcd0e7XvneP+rCsSN+b7/lwUdkGMagfZqCkZk7U7aCQtnyC5Uze+51VgoAAAAAAAAAGK8InIAJrKWuVr95/DHVVVf5vb3woS1at2mz53qwodMM21K9+2Of0tR5C2QYRihKBQAAAAAAAACMYwROwAR17fxZ/ebxx9TW2OAzHhsfr/d//muKS0rSrLzlnvF1mzar7MXn5LD3DLqvlMwsLckvVF5BkZwOu2YtXRH2+gEAAAAAAAAA4weBEzABnT+0X6888bjsXZ0+40npGbrvq9/U9IWLB83Z+/JWv2HTDbffpfd84i9lWCxhqxcAAAAAAAAAML4ROAETzNHt2/Tmf/6HTJfLZzxrxizd//VvKX3qtEFz9r681aedXnxyirrb2yRJR97+g9KnTfdpvQcAAAAAAAAAgDeWLAAThGma2vWr/9W2//ejQWHTrKUr9OB3/i2osKnwoS36q/9+QYUPbfGMlTz3jPa+vDVcpQMAAAAAAAAAxjlWOAETgNNh17af/rtOFP9x0G22giLd9ZdfUKzVOug2f2FT30qmvvO+2/vOWekEAAAAAAAAABiIwAkY57o72vXK9/5JF44dHnTb2k2bVfjnH/W7/9JwYVMfQicAAAAAAAAAQDAInIBxrLW+Tr//weOqq67yGTcMi9798U/pxjvf53deMGFTH0InAAAAAAAAAEAg7OEEjFPdjfV66R/+dlDYFBsfr01f/rshw6aa8uNBh0191m3aPGhPp5ry46OuHQAAAAAAAAAwsRA4AeNQx+Ua1bz5qtobG3zGk9Iz9OFvPq6FN60bcu6svOXK3/ygpODCpj7eoVP+5gc1K2/56IoHAAAAxouqssjOAwAAAMYxWuoB48zJku269Kc/SKbpM545Y5Y++PXHlD51esD7KHjgYc1ZeeOIQ6N1mzZrhm0pYRMAAKFWVSbNzY/cPACBbf+utONx6T2PSbd8Ifh5O5+Q3npMuvVr0m1fD1d1AAAAwJjDCidgnDBNU6UvPqvtTz85KGyambdMD37nX4MKm/qMNjQibAIAIMS2f1f62V3uD6lHYucT7nnbvxueuoDJrKrMHTZJ7vAo2OdnX9gkueez0gkAAACTCIETMA44HXa98ZMfqmzr84Nus+UXavPf/oMSU1KjUBkAALgufKgNjE1z890rm/oE8/z0fl5K7vmsQAQAAMAkQuAEjHHdHR166fFv6fiOtwbdtvp9m3TPZ7+s2Li4KFQGAACuGx9qA2PXLV8I/vnp73k5kjZ8GN/Y6wsAAEASgRMwprXW1+mX3/yKLhw95HuDYSjn5gLlf+gjMiw8jQEAGNf4UBsYu4J5fvK8nNxoiwoAAODBJ9XAGFVbdU7P/d0XVXvhvM94bFyccgvvUMYS9lICAGDC4ENtYOzy9/ws+b77Ms/LyY22qAAAAD5io10AgMHOHzmoV7//T+rp7PQZT0rP0N2f+6oOV56NUmUAACDkTFNy9kg3bZG6WqSdvR9kv/WY1HBWWn6fdOzX0sH/7Z9z48PS1OXSqTf670Nm/7m/MdPse0A/YyM5foj7HzSmkd/HsDWavdNGex8jrXG0dQdRY1j//wSq289/g+v6/6NR3Ue86dLt7e0yJMWfTZCM/rsJ3f9jBTh+BHUP9Pa3pD/+g2Q6+8cImyafvraofeFR3/lwvwe0RQUAABMYgRMwxhz701t68z//XS6n02c8M3em7v/6txSfli4ROAEAEBmmKTm6JXtH76lz8HnPULcNHOuUetoHj9k7fD+09nbgf9yngQ496z4B45RFUkrflZ4oFnI9Bj5vj26VWq9K8wuluRulxIyolIUI6wuXggmdWBEHAAAmOAInYIwwTVNlW59X2dbnBt02M2+ZNn3p75SYmqbOAaueAACYtEzTN7TxCXrc12PamzW37h3FuHoUW3ZSMu0Djm/3fx89Xpf9rW4AgIGuHnOf9vxEkiHl3iDNK5TmF0lz8qWEtGhXiHAJJnQibAIAAJMAgRMwBjgdDr35X/+h4396a9BtS/ILdfdffkGxcXFRqAzAhFNVNrq2LaOdh8nL5ZIcAVb1+FsF5He10DDBUABxkm7su3IxjD8vAPgwpcuH3aey/5CMGGnGjb0BVKE7gIpLjnaRCKXhQifCJgAAMEkQOAFR1t3RoVef+K6qjhwcdNvN779fRQ9tkWGxRKEyABPO9u+6N6Ye6YccfR+S3Po16bavh6s6RJLL6b8FXI+fsRG1kfMKhhxd0f4pxzlDfldWxaVK8amSYbiPMYz+4w15jfWO+xw38HhjmOMV4Phg7mPg8X5uG1GNA2oKyc/p/fOO4PigHjPENarvLBT/L4KscdR1D5w3+PjuHrsOHTokSbpx9RrFx8cPc/wI//+E6/f84C+k3U/KIzbRHawHw3RKF/e7T7t+IFlipZk39QdQs9dL1sTg7gtj18bPD96L74//KLns/cfc9jeETQAAYMIicAKiqLWhTr/57mOqvXDeZ9wwLLpty//R6rveH53CAEw8VWXusEkKbkPrPt7fyN3xuLTgXax0CjenY/h2b0GtFhouQOqUnN3R/inHNyPGvTLBmth78r6c1H8elzR4zHM+YMz7/vY9Jf3xH/ofLzFT6mx0X+5plYq+yIeVGPdcnZ26cj7GfXnxnVLiGA9bdj7hGzb1fXlj4MqVzHlSy+XA/866HFL1Hvep5N+kmDhp1tr+AGrWWik2Pgw/CELG5ZIaz7lXsV05Il0+4j5vrx1wnN33+vbvSoeek6Yuk6Yu7T1fJmUvkmLpagEAAMY3AicgSmovnNdLjz+mtvo6n/HYuHjd89kva9HaDVGqDMCENDff/eFYMBta9/HX/mWyh02OngDt3rzGRhsMDfxgCiNjsfqEPa6YBDW1d8tpiVfW9FmKiU/xCnu8g6EBY1Z/Y73BUIw1fPXvfMI3bPL3ofZIQmMA12+4dmgD26g1npdu+zv338tzJdL5Eqlmn+TsGf4xnD1S1S73acfjUmyCO3SaX+QOoWbeRBgRTU67VFvRGywd7g2Xjrq/BDBipvv3pPG8VPG7/mFLrJS9uD+EmtYbSGXMk+h4AQAAxgkCJyAKqo4e0ivf+yf1dPruPZGYlq77vvIN5S62RakyABNaMBta9xlvew2YpvvDuuFW9QzVHi6oNnJ9YZAj2j/p+BYTH8QqIO8VQ8MFQ/5WCyUOCoO6OztVsm2bJOnOO+9U4lheRTGSD7UJnYDICObv4cDn5/Z/cB9329clfd39d6Zmb38AdXF/4L8nji73sedL3NetSe62e/MLpXlF0ozVUgxv58Oip0O6ely60hssXT4sXTsZ/tXBLodUe9J9Ov5S/7g1SZpiG7wiKnW6V+tHAACAsYFXqECEHd/xtrb99EdyOZ0+45m5M3T/176ljOm5UaoMwKQQzIfWoQ6bTNP9wZnfoGfg6p9AbeSGCYZM1+hrhPvb9EO1h4sbomWc3/AncehgyBIT7Z9y7BrNh9qETkB4jeTv4XDPz7gkd0vaBe9yj3W3SdW7+wOoSwcD/w2zd0hnt7tPkhSXIs3J7w2gCqXcVfwbOxqdjf2t8PrO606F9jVFbML17Wto73D/jlwasOdvQkZ/CDWtN4SakiclZV1XuQAAANeDwAmIENM0tfulF1T6q2cH3TZjyVLd+5W/V2JqWhQqAzDp+PtQrKdDWvMX0p7/J5X9uP/YGz4spc6Q3vlZcKuAhgqGZEb4h5xgBoU3owmGhlktFJtIu55oCtWH2gBCp6ps5F++8Pf8nL1hcDva+BRp0XvcJ0nqapEulEnnit0B1OUjCvh3s6dNqnzTfZKk+HRpbkF/ADVtBf+uezNNqfWKV0u83n2Xmi5c/30n5bgDv9wbpKZq6djW/tuG2utr+X1Sxhz3yqmrJ6SWmpE/bleTdKHUffKWmuu7EmrqUvcKqbjkUfxwAAAAI0PgBESA0+HQW0/9WMe2vznotiXrN+quv/q/ssaxKTCAUTJNqbtV6mp2f/jQ1Sx1Nvle9zcWl9q/90Dxv7hPAx35pfuEIRgBVvUM0R4uboiWcX5XDSXSMmciC+eH2gBGb26+dOvX3PspjWSlr/fz89avBfe8TEiTlrzXfZLcq26qSqXzO92roK4eDXwf3c3Sqd+7T5J79cu8W9zh0/xCacrSyRNAuVxS47n+VUt94VJ77fXfd/ocd7CUu0qafoP7cmqu++/0ziekY0/0HztcW9Tjv3Hf/vCL7utdzdK1cunaCXcIde2Eu61fZ8PIa2y97D6d+aPXoCFlzhu8Iip7UXj3JQQAAJMOgRMQZt0dHXr1ie+q6sjBQbfd9Gf36daHPyZjsrz5AzA0R7f/UKizsT8wGi5Mop3cYIbl+tvDDdpfaMBxsfGEQbg+kfxQG8DI3PZ1dxu8kT6/bvnC9YXAiZlS3j3ukyR1NLjDp/Ml7gCq9mTg++hqkspfc58kKSnbK4AqknKWjP7vV1XZ6H620c4bjtMu1Vb4tsS7clTqbrm++zUsUvZid6A0vS9gWjl0u7rrbYuakC7NWe8+9TFNd0jmE0KdkGrL3SvcRsR0h3CN56SK1/uHLVYpZ3Hviqil0tTlMtIXuF9XGrxHBQAAI0fgBIRRW0O9Xnr8MdVWnfO9wTB02yP/n9bc/f7oFAYg9EyXYh3tinN2yLh6VHJ1Bg6KPNebJUdndOuPNCNmwCqfgSt9hgqGhgiL4vzcR0wcYRDGh2h9qA0gsNE+v0L5vEzKkpZ9wH2SpLZad/jUF0DVnw58Hx310omX3SdJSpnmG0BlLQjub+b27448IJf6A5lbv+b+N280ejrcoYt3S7yrJyRn9+jur09MnHu1j3e4NG158C3owtUW1TCklKnuU9/+X5J7BVdzdX8I1Xded0py9gRXs+e+7L33ccIzlCDpHkucWhNmyer4nTTjhv4WfSnTeG0FAACGReAEhEndhfN66fFvqbXet3VDrDVO7/vcl7V4LR8OAWOKabo3dA7Yiq7JNyjqPS6hq0X39O23cGKIxxhPYhPc37AOtApotG3kaN8C+BoLH2oDGB9Spkgr7nefJKnlcu8KqGJ3ANV4bvj5ktR2VTr2a/dJcu/X2Lf/0/xCd/u1garK3GGTNLL947wDmR2PBxewdza6Vyr1rVq6fNgdqFzviu64FPdKJe+WeFPyRv+6JBptUS0WKXOu+2S7q3/caZcazg5eEdVwViPdSzPW1aPMjrPS0bPS0Rf6b0jM7G/L59kjKs89DgAAIAInICwuHDusl//tH9XT2eEznpiapnu/8g3NWJIXpcqACc7lDHJFUZP/MGmk3wr1Mna+62m494JIyHC3Z0nsPU9I7x3L6B87+yfp0LP9UxMy3P8dJHf4tv6TI/v2MgAAiLy0XOmGB9wnSWqucQdPfSugmi8Evo/WS777NqbPca+A6guhMma7A5H3PBbc6pw+/lb/DAxWWq/0rlo6Il3pPW+qClxzIEk5vquWcldJmfNDu5fVWGqLGmOVptjcp+X39Y/bO91tBz0ronoDqZaLI3+Mzkapapf75C11Rn9bvmnL3ec5NvcXkwAAwKRC4ASE2IniP+qN//cjuZwOn/HM3Bm6/2vfUsb03ChVBowDpin1tI+sFZ33WE9rNKsPndhEr6Aooz8wGjjm75j4tOA+SNn5hG/Y1PchifcHQyP59jIAABgb0mdJNz7oPklSY1V/+HS+JLigofmCdPg590lyr3jqa793yxelnd9zjw/3WmFg2HT7Y9KyTdLx3/a3xLt8RGq/Nqof00f6HK9wqTdgSs2NTPu3sd4W1ZoozbjRffLW2eTeD6ovgLp6Qrp23B0qjVTrJffpzNteg4aUNX/wiqjshax0BwBgAiNwAkLENE3teemX2vWr/x10W+6SPN375b9XUlp6FCoDIsxpH7B6qClwUOR93eUY5s7HB9OIkTEoJBoqKMoYcEy6FBsf3gKH22tgJHsLAACAsa+v/drqj7i/3NNw1jeAarsa+D4az7tPB3/hvp6U7d4XSvL/WqH4e9Ifv91/PWOutPP70tuPXecPY0g5i31b4k2/wb3PVTSNx7aoiRnSnA3uUx/TVGfdBR38w/8qtatGS7NMxTackq6VS/b2ET5A7+9aw1mp/LX+YYtVylkyeEVU+pzQrj4DAABRQeAEhIDT4dDbTz+po3/cNui2xesLdPdffVHWuDB/gAyEimlK3a0ja0XnfX3Eb0bHqLiUEa0w6jISVLz3kOwxyXr3XR9QYtIYbSESzMbWhE4AAExMhuFeYZK9ULppi/t1X93p/v2fzu+UOuoC309f2NTnrcek8tfd4cGpbe7VLt5G0yIvJs4dRHi3xJu23L0nJMLDMKSUqapNW6HatBVadOedik1MlFwu96o3772hrp1076vlso/sMVx290qqa8d9x63J7v2gfPaHWialTI3MSjUAABASBE7Aderp7NCrTzyu84cPDLrtpns26daPPCqDb2oh0hzdQwRFTcHta3S9GzKPBZZYP6uHMoJoTZfh3gNphK0+zM5OdcbVuK+M1TfFwYRNfQidAACY+AxDmrLEfVr7CXcAde1k7wqoYvdePcG2WKvZ5z6NRlyKNH2l76qlKXlSbNzo7g+hZbG42ypmzpNsd/ePO+1S/Zn+tnx9e0Q1nJNkjuwx7O3Sxf3uk7fErP62fNN6Q6gpee7X7wAAYMwhcAKuQ1tDvV7652+p9vxZ3xsMQ7d99BNa875N0SksGFVlo2vhMNp5GBmXS+puGVkrOu8xR2c0qw+d+LSR72HUN2ZNGrvBTzRUlQUfNvXxFzpFYq8BAAAQHYbh/lB/2jJp/Sfdr0mvHutvwVdVKnU3X99jJGV7rVq6QZq+SspaQDu18SjG2rsqKc93vKdDqqsYvCJq4Mq3YHQ2SFU73SdvaTP72/JN7W3LN8Xm3rMKAABEDYETMEp11VV66buPqbW+1mc81hqn9332S1q8riBKlQVh+3elHY8H94Gzt77VEbd+zb05LoZmmpKjK4hWdE3+w6SuFo34W4FjUUz8CFcYDQiPLDHRrH5imZvvfu6O9LnvHTrd+jXCJgAAJhOLxR0K5d4g5X9GcjmlK0f693+qKpN6Woeenz67f9VS375LaTP4UtBEF5ckzVjtPnnrbHTvB9W3EuraSenqcfd7oJFqueg+Vb7VP2ZYpMz5/W35+lZEZS0YcfcCAAAwOgROwChcOHZYr3zvn9Td4btXTWJqmu79yjc0Y0neEDPHgKoy9wfO0shaZHm34trxuLTgXRP/g2eXc/gVRYHCJGdPFIsPFcMrCBoqKMoYehWSNSGKtWOQ274+uufuLV9gZRMAAHB/GagvSNj4WcnpkP7wVWnfU4OPvfWr0m1/E/kaMXYlZrpfT3q/pjRNqe2qVwDVG0bVlkv2jpHdv+mSGs64T+Wv9Y/HxEk5SwaviEqfHfmVdXQaAQBMcAROwAidKNmuN37yQ7mcDp/xjOm5uv/r31Lm9BlRqixIc/PdqxtGsi+Lv31fxsOLXdOUetpH1orO+5jhvq05nliTAq8wGipMikulvclEM9rn7nh4zgMAgMgq+3ffsCkxs3/Ppx3/7G5vxv6PGI5hSKnT3aeF7+4fd7mkpqretnzHe89PSnWnJJdj6Pvzx9njbg159ZjveFyKez+ogSuikqeEZxUenUYAAJMAgRMQJNM0tec3v9KuX/5i0G25i2269yvfUFJaehQqGwV/+7J4j3vzFzZF8k2j0z4gFGryExwNEyaN9M3IWGTEBLGHUXr/SiOfY9Kk2PgoFg8AAIAJaaj3Cd7jI+moAHizWKSs+e5T3vv6xx097hVM3ntDXTshNZ7XiFuS97RJF99xn7wlZbuDp74gauoy9z5VCdfxfp9OIwCASYLACQiCy+nUW08/qaNvvzHotkVr8/W+z35J1rgwfKgfzuX2wYROoQibTFPqbh0iFAqiXZ29fbh7Hz/iUka3wigh3T2XPvcAAAAYK4Z7nzCSL7cBIxUb198ab8UH+8d72qXaiv4Aqq9FX+vlkT9GR717j7LzJb7jabP6H3tab1u+nCXulXyBTKZOIwCASY3ACQigp7NDr/7gn3X+0P5Bt625+wO69aOPymKJCf0DR2K5/XBvBge+uC38kmS7R6re59WKrim4fY1MV/D1j1WWWD+rh/ytMBoYHPVejuGfWwAAAEwAwXwpjdAJkRaXLM1c4z5562hw7wd11ast37Xj7vepI9VS4z5Vvtk/ZlikrAUDVkMtc48NfA84njqNAAAwSnwCCgyjrbFBv3n8W7p2/ozvDYahd/3FJ3TTPZvC88CRXG5/yxckl1P643f6H++P/zC4FV3Jv7lP41l82uhWGCVkuL+1xiojAAAATGYj+RCc0AljQVKWNLfAfepjmlLrFd+VUNdOSNfKJUfnyO7fdEn1le7TyVf7x2PipBzb4BVRGz/vvj3cnUYAAIgSAidMCjXlxzUrb/mI5tRVV+lX3/lbdTY3+YzHWuN0919/UUvWbwxhhQOEc7m9yyXVn5YuHpAuHXCfXzk64Jgxuu9RTPwoVhj1Xo9Pk8KxEg0AAACYDKrKRv4huL/QafYG2oIhugxDSst1nxbd3j/uckpNVe4A6qpXGFV/euTvkZ090tWj7pO3uFT3flAz1rjfj0vDdxohbAIAjDMETpjwSl98VmVbn1fhQ1u0btPmoOZcOHZELz3+TTntdp/xhNQ03fvlv9dM29JwlOprqG8E3vSpwccO9aLUNKXmat9w6dIhqac1bGUPzxh6NZFnLGPo4MiaEKW6AQAAgElubr67bfdI2357v6+59WuETRi7LDHuVnhZC6S8e/rHHT3uFUwDV0Q1nh/5Y/S0SjX7Bo/76zRC2AQAGIcInDCh1ZQfV9nW5yVJJc89I0kBQ6eTJdv1+x8/IXPAvkMZ03J1/9cfU2buzLDU6pef0CnWbpdk6z9mYNh040OSvUt69gF3wNRRF9qarEnDryYarjVdXKpksYS2HgAAAACRcdvXg2vbPdAtX2BlE8av2Dhp2jL3yVt3m1RX0bsa6mR/GNV2ZXSPQ9gEAJgACJwwoc3KW67Ch7Z4wqbhQifTNLX3ty9q5wv/M+i23EU23fvVbygpLT2c5fo3IHSy7vhHLZrxIZ3PuV3WP3xROvys7/GHnrv+x7QmSnav3tX5fy1t/Jw7NIqNu/77BwAAADA+jTY0ImzCRBOfIs28yX3y1tHgFUCd6G/R190c3P0mZhI2AQDGLQInTHh94dJwoZPL6dTbT/9ER97+w6D5i9Zu0Pv++kuyxkexnduA0Gn5pV9p2aVfybie+0ydIc1cI9k7pDN/7B/v+yaV98qpsn+XkrN50QsAAAAAwHCSsqR5G92nPqYptV723Rvq2gnp6rHB+0N1Nrrfj/P+GwAwDhE4YVIYLnTq6erUaz/4Z507+M6geavvfr/e9dFPyGKJiVSpQ7vlC5Ip6e3HJGlkYVNChjtcmrGm/zwtd/gNSYfaQ4oXvQAAAAAABM8wpLQZ7tPi97jHdj4hXT7Uf0xsouTo7TTC+28AwDhF4IRJw1/o1NPZoXOH9uvauTODjn/XRz+hm+65N4IVBqHwCzK3/4OMgd+A8mZNknJX9YdLM9dImfPdL3C9DRc29SF0AgAAAAAgtIZ6P+49zvtvAMA4ROCESWVg6LTnN78adIxhsejPPvcVLdlwSyRLC87OJ/yHTTNvkm76mDtcyrFJMQGe2sGETX0InQAAAAAACA06jQAAJjBLtAsAIm3dps1aeftdfm+LjYvXh7/5+JgNm7xflNotif23XdwvddRJ05YHDpuqyoIPm/rc8gX3cX3eesx9PwAAAAAAIDjBdhoZ+P575xPhrw0AgBAgcMKkNHXu/EFjhmHoL/75R5qZtywKFQUw4EXp8Rkf0u9W/VT2W/+2/5hgX4TOzZdu/Zr7cjBhUx/vF723fs19PwAAAAAAILCRdhohdAIAjEO01MOk1NPVOWjMNE1V7ivztN0bMwaubLr1b1XZYpMkOTb8taxW68iX29/2dWnBu0YeGt3yBWn2BsImAAAAAACCNdpOI5Lv+33ejwMAxjhWOGHS2fvyVs8eTpJk8WpBV/LcM9r78tYoVDUEP9+Acmz4a99jRvvNp9G+SOXFLQAAAAAAwaPTCABgkmCFEyaVgWHTxg//hdbdu1nvvPobz3jfedRXOg213L5z8OosNhYFAAAAAGAMo9MIAGASYIUTJo2BYVPhQ1u04f4Py2KJ0bpNm1X40BbPbVFf6TTa5fYDVzpVlYW+NgAAAAAAMHJ0GgEATHAETpgU/IVNA1cwjanQieX2AAAAAAAAAIBxhJZ6mPCCCZv69I2PifZ6LLcHAAAAAAAAAIwTrHDChFZTfjzosKmPv5VONeXHw1RhACy3BwAAAAAAAACMAwROmNBm5S1X/uYHJQUXNvXxDp3yNz+oWXnLw1UiAAAAAAAAAADjHi31MOEVPPCw5qy8ccSh0bpNmzXDtpSwCQAAAAAAAACAAFjhhElhtKERYRMAAAAAAAAi5VJlU0TnAUAoETgBAAAAAAAAQJTtffWsfvNvB3TgjaoRzTvwRpV+828HtPfVs2GqDACCQ+AEAAAAAAAAAFF0qbJJ+14/L0kq+82ZoEOnA29Uqew3ZyRJ+14/z0onAFFF4AQAAAAAAAAAUTRjUYby71vouR5M6OQdNklS/n0LNWNRRrhKBEKCtpETG4ETAAAAAAAAAETZmvfODTp08hc2rXnv3LDXCFwP2kZOfAROAAAAQJTxLT8AAABI/kOnI29f9DmGsAnjUSTaRvK+KvoInAAAAIAo4lt+AAAA8DYwdHrntQtqORMnSTry9sUxGzbxYT+GE+62kbyvGhtio10AAAAAMFkN/JafpKA+MBj4Lb9ZS7Po1w8AADBGOR0u2budcvQ4e8/d1+09Tjm8z7tdXpedypmdorrqNklSy6l4tZyOU415wXO/i9dO04wlGWpv6lZiWpwsFiNaP6L2vnpW+14/P+IArO917dp75mnd+xeEsUKMBX2/G33vZYZ7DzSSlXy8rxo7CJwAAACAKOn7ll8wb7j6sDk0AGCyu1TZNKq/faOdh4nPNE25HKbsnkDI+7w3HPIa7w+KXL6B0YBAydHjlL3LKZfLDFGhvoHS6X1XdXrfVUmSxWIoOSNeKVnxSslMUEpm/3lqlvs8IcUqwwh9KMWH/RiJYEKnkbaN5H3V2EHgBAAAAAQQzg+2wvUtP0w8fMAKAKyimMxM0/SsFLJ3O+XwXg00ICAaHAy5gx9PgDRwZVGPS2aoQqEocblMtTZ0qbWhS1Kz32NirBalZMQrJStBqZnuc+9gKiUrQfGJI/+4mA/7YbpMuZymnE6XXE7T6+QaPO5wadq8NC0tyNXJ0suS3L8ztdWtWrh6qqpPNujEzkue+w7233veV40NBE4AAADAMCLxwVY4vuWHiYUPWAGAVRTjgWmacthdnpZw7kBncDDks4qo93a/K4sGBEPm+M6Eos5pd6m5tlPNtZ1DHmNNiFFKZm8gNUQoZY2LGTSPD/tHz39Y0xvUOAYHOE6v2/tO/cf1jw+6P4fXfbj6w59hw6G+4x3D3bcZksC28p1rqnznms+YYZGO7qjRmQPXlJQWp6S0OCWmxSkpLb73ulVJafFKTItTXEIM76vGAAInAAAAYAiR/GBruDdHvCma3PiAFQDcWEURGqbLHQr5tIgbtJ/QEHsM9Qye17+ayL2ySIRCAVliDFnjYxQbF9N7bpE1PkbWuBjFep03XGrT5cr+1UpGjCnT2d8SLz4pVvZup1zO0P1Ht3c51Xi5XY2X24c8JiHZOqB1n/vy9AVpWn3nHB3c5t5nKhIf9rtcXkGIw39o4xOQDAhw+o8fRYDjNPuDGJdvsDM4FOoLcwaHPwSpQzNdUltDt9oaugMeG2O1KCnVHUhlTk9S45UOSe7fw7qaNq24dabOHarVobeqPXN4XxV6BE4AAADAECL5wZZpmrJtmK6max06uau/tcSeV876fIgwZW6qWuu7VPKrU4qJtSgm1iJLjOF72WpRTIwhy6Axiyyxvcd6Xx44L8Yymv9cCBM+YAWAfpNlFYXpGrifkMtvyNO3V5D/cMh3nvccBGaJNWT1BELewVCsrPGWQeGQ+1iLnzHfebHxMYoJ4rXWgTeqdLz4oud62pJupS3s0fSY5XrnNXeg093h0IZ7FygvP1dtjd1qa+xyfzjf2NV/vbFb7U3dIQ01utrt6mq3q666LeCxZb85o3OHazV1XpqunmvR1XMtntuyZiTrytlmvfYfh4cJcIYPfwg40cdpd3m1lfTlvd9Zn/H0N2E8IXACAAAAhhHqD7ZM01RbY7caL7eroffbow2XO9R4pV3dHY5B9znwG6u1Va2qrWq9vh8qAMOQO6zqDaEsMRbF9IZTPpdjjd7gynusd573ZaufUKzv8nABWOwQYzFGWDa8HssmywesABCMsdIyyeUy/e4fZO92jKhNnGd1kFdw5LQTCgUjJtai2Pj+1UG+4VCMbzDkdZs1zuIZGxQO9d4ezS/gDPz9vfnP5uiK87gk6YbbZ8pqtXpu3/3bszIMQ2veO1fT5qX5vT+X06X25h53CNXQpda+QKqhP5jqbLWH7ee5crZFV862DBpvuNSuhktDr6TCxGKxGLLE9J3cr+ktsYbs3U51tw9+HxROvD4OHwInAAAAIIDRfLC14d4FWnTTVJ0/WqfGyx1quNLuCZnsXc4IVj9ypun+hqDTLmmM1hooqIqJdb+RHbjaKybGkGXQai+v2/vm+bkPT4gWa/gPzmL6azAsoQ/ExsoHrAAwFoykFe3ae+ZpybrparraEVSbOO/gx98Kob6Wc04HoVAwYq0DV/1YvIId39VBgwMjr2PiLYPGLGH4extt/v6WLy2aqiv/f3t3Ht9Ulf9//J003SiUUjZBlrKKyuYCiizCIOKGol91FEVB5OugzsiIo47zHUVHx58zqCMuqCjghriMMo4ioCgKKrsCiuxQKYu0pWXpnub+/kh7mzRLkyZpk/b1fDz64Obec889udzPzc395Jy79CdzXjA/RJEka5xVzdKT1Cw9SerW3GsZe1m5CvJLzB5Sx6slpE7klXj9cRTqhtXqTM6YiZq4ih9+VUvgxFUrY42rHMGg2vzKa9nq8+OqzbdVzLe6bNdm9dymtdo2bZ7b9PaDserHe2KKzS351Pv8k9XptHQVHitV4bFSFVX8W3i8VIVHnf8G+90q3uVZTwg/Ek4AAABAAHx9se8/qpO++3CnfvisaizwlLQErVu0V6sW7q77hjYSDrshh71cZYrShFhlEivOvTdYYL29vCfAKpd36d9Ke37IkeQ8DnMPFKjH2W20a8Nhbf3ukNmGU849SS3apWjPxmxzntfhdIzKfwzPeV7KG15nBldHaUmpCvY7v47uWJuthIR4tyFxqtYxvMzzsl0vC72X91+f3+0GuC/cZvnZLwHX47bI8NyGR3mjWukAtml4KRbgvjA8FvrYrr9jxNt2a6gv8O0aPrfhPs9zpvftuper8TjzVoefN+S1nbU5vmu5XUd5uXJykiVJi3dtkdXq3sPDqGFHBn3OCPb49lIgJS1BBfmlkpznxFULd3nUsfaTveaz8OBd5TOEvPUO8p4civNYx229RJtzeUJcRH6E0VD5+uFIUVGRR9lgk041scXHqXnrJmreuonPMqXFdrcEVPWE1PG8EtlLou/azPW6zJk8cU2muCZYXBMkLvNtfhIyHkkY32Uqt+kryeOWRHKtz9owe/f7Ot5d5//41X41S0/ye1yXlZZXJaIqE1MVCakDO/M9etGVFZdrw5JMkk4RQsIJAAAAkFRe7lBJgV0lhWUqKbQ7/4rKKuZVzU9vl6IjFQ9R/u7DXW5fkipV3viqDWucxW0YPVu8VXaXYXXadWuulic3dY5bb3eOaV85rn3ldOXY9+UVyx12h/MBxZVl7YYcDm93KxEuzucLlKsufge8ffUhbV99yGP+tlWHtG2V5/zo4bypvWLTznpuBwB3zltFB3KP1nM7aiecz6mJKhY5kzkVSR7vPYF8PD/IS+LIbf14K0mhKHBgZ37QvZS9JZ1O6tY8Ys9tTEiyKb2dTentUrwuNwxDJYV281lSW745oD0bczzKteuepnbdm3tJyrgmXlyTLsH16nEtY2mgyZpY569XfrDJ1PiEOMW3SlZqq2SPbRz5uirZ5Np7KtQELXwj4QQAAIAGo9zucEsOHcsrUOF+mxx2i35YmqXyUrknlCqmiwvtdf5rzPikOKW3S1GLdilKPylFLdo10YEd+fp+6S9mGW+/8ju466gy+rYK+cuR80HMFckpu0tyykuiypz2WqYi0eWSAPNYz2sdLskyb3WUN9Q7hgCAhspikddh4rwPEeeZOHJdr3qSyBZv5aZ5A9e+e5oGXJqhtZ/sDWpIXNeb8wMuzYhYsikQFotFSSnxSkqJ1y8/HXFLNrne7D+4M18ZfVpys7+RCmQI6FB78AXSe4qkU2SQcAIAAEBUsZeVuySEXHscVfxb0QupuNDukTyyl3p7loLzl24btuzzsizyEpKdvwJNb9fEmVyqSDI1bZHoduNow5JMr8kmKfxDpkgV48Bb42SLr3UVEWUYhpmU8tWTy1FuOJ81Ve49aVXV08t/Eq16D7Ca1zN4bgcAxCiL1eKjJ5DVfWg4j55Ans8Pqp44irORFEJoBo7pqg6npgedNDpzdOeI9mwKFjf74Uswzxut7XegcPaeQvBIOAEAACDs7KXlFT2HqvUmqj5knUsPo8rp8rLYvZHfrGWSOp3e0i251CQ1ocabT3XxK79YY7E4h0eJs1lrLlwPDMM5LKHPZJiv3mDlDv9JNDNx5jsB5ih3qLzMoRN5JSo85jl8Y0ITmxKTnV/1vB56FTPdFlkqF3mu4LcOL8ssXit2X+5wOHT8+HFJUmqzVFnjPP+fw7Fdt3le1/Hzfmuqz9t2/exb17netmHxWOhjG+Y8z5W9bEr+9oV7scD2hcXb/6m37fo7zrxtpIZ94W0bXveZ121Ua7trgdps109jAo0rf/uitnHluY6/7Xppu0UqKyvTtm3bJEmnnHKKEhISfNbhvl0vx7e39odwfHtfx6LMH3O0a0PVs+riE+NU5tJruf8FHdX3Nx3NRJHVxvBaiG61TRpFe7JJanzXs3BXF8NG8r2q/pFwAgAAgAfDMGQvq/5Mo6pEUbGPXkeVy2O990dcvFWJTWxKbBKvpCY2czqxiU1HDhYoa2ueWTYhKU6lxc4bW8dzi5XaMkl9R3QMeFt18Ss/hJ/F4ny2QFyc8+ZmXat+3LgOU1NaaNdZoztH9XFRVFSkpUuXSpIuvHCIkpOTa1gDQF0oKirSgdIfJUm9h7eP+tjcsCTTLdnkrRfFD5/vU3KzhKg+JwINBTf74U+kh43ke1V0IOEENFIHdubX6tcvtV0PAFD3DMNQWUm5R28itx5GBZVD0znnlxZV9TZy2GP7GTq2BKsSkm0qLS+SNd5Q2/at1aRZolvyKMllOrFJvBJTnMklW7z3BMKGJZna9GWW+TrU4UFi4eHQiD4MUwMA9KIAog03+xGISA0byfeq6EHCCWiE1vx3d9C/JpCqLh4GXJqhgWO6RrCFAIBK7kmjyiHpvPQw8jHtKI/xpFFinEcPo8TqSaKKeUkpLvOSbYqLt7r1ohh1Ya+QfqkdiRtbDeHh0Khb3GAFAHpRANGGm/0IRiSGjeR7VfQg4QQ0Mgd25mvtJ3slBXfB7XpBv/aTvbX6NQIANFaGYai0uFwlBf6GprOr1MvzjEoL7XI4YjtpFJ8U50wEJbskjFJ89DCqllCKluf3RPLGVkN5ODQijxusAEAvCiAacbMf0YDvVdGBhBPQyLTvnqZBV3YL6oLb2wU9J2EAjY3hMFRabHdPFBX46mHknjgqLbTLiO2ckRKS4tyGnKueJPKaOEqxKTHZJmtcdCSNaqsubmzF+sOhEXncYAUAelEA0Yyb/YgGfK+qfyScgEYomJsQwdzcAIBo53AYKi1ySQwVOBNHznnO+cUV86snj0qLGkDSKNnm1oPIbai6FO89jJKaxCshOS7mk0a1xY0tRAOOQwBwohcFEN242Q+AhBPQSAWSdCLZBCAaORyGSv09w6jAs4eROWRdsV2K5aSRRUpM9tLDKKXmoekSkm2yWi31/Q5iDje2EA04DgGgCr0oAACIXiScgEbMX9KJZBOASHKUO1RSVNmTyL03UbGP4ekqE0mlxeX13fyQWCxSgrceRt4SRSnOHkaV8xKSbLKQNKpz3NhCNOA4BIAq9KIAACA6kXACGjlvSadV/9klw1FVhmQTAG/Kyx1+n2FkJo4KPJeXlcR40shq8T00ndsQdRXTlb2SUuKVkBhH0igGcWML0YDjEAAAAEA0I+EENFKGYejIgQLt2ZitPRtz3JeRbAIajXK7wy0RVOwlOeQtoVRcaJc9xpNGVqvF53OLqj/DyJksqpoXnxgni4WkEQAAAAAAQCUSTkAjUl7u0MEd+dqzMUd7NuXoeG6x3/Jx8VaSTUAMsJeVuw0553toOs9pe6mj5g1EMavNEsDQdN7nkzQCAAAAAAAIHxJOQANXUmTXLz/las/GHP3yU65KCu0Br1te5tCGJZkknYA6YC8tr+g5VC055GPIumKX6fKy2E4axdmsHs8t8trDyMuQdbZ4K0kjAAAAAACAKEDCCWiAjh8p1p6NOdq7KVv7t+fLUW7Uuq7KZzuRdAL8MwxDDrvkKLPoyIECWRzFKi6o1quoyGW6WiKp3B7bSSNbvNV8RpHHc4vcEklVyaPKRJItIa6+mw8AAAAAAIAQkXACGgDDMJSz74TzeUybcpSz70TA6yYk21Ra5L/XE0knNBaGYaispNz/M4wKvA1V5/zXUd5MkrRw+aZ6fie1Y0uwejzDKMlHr6PqQ9bZ4kkaAQAAAAAANGYknIAYZZRLWVvzdWDrL9q7KUcn8koCXrd1p2bq0q+VigvKtOmLLHN+yw5NlZtVlaw6uWea9m/Pl0TSCbHDMAyVFZebQ9OVViSHir0lj7wMX+dw1L5HYDSIT4zzMvyc90RRUor7vDibtb6bDwAAAAAAgBhFwgmIIcUFZdr1fbZyv09ScbZN+8t/Dmg9q82iDqe0UJd+rZXRp6WatkjShiWZbsmmQVd2U07WCbeE00ldm6vT6S3NZBNJJ9QVwzBUWlyukgLPJJHHM44qeh2Z84rsMmI9aZQU59nDqHriKMXzGUcJTWyKiyNpBAAAAAAAgLpHwgmIckezi7R3U472bMzWgZ1HK26kx9e4XmKKTRm9Wymjbyt1Oj1dCUlV4b5hSaaZPJKcyaYzR3fW0ld/8qinMrlE0gnBMhyGSovt7omiAl89jMoqyjinSwvtMmI7Z6SEpDi/Q9Eleet1lGJTYrJNVpJGAAAAAAAAiDEknIAoYzgMHc48bj6P6ciBgoDXTW2drC79WqlL31Zq162515vWB3bme002+eMt6XRSt+Zq3z0t4LYhNjkchkqLXHsSBTg0XUVPI8Vy0sgiJSb7G5rOvYeR4sq1Zv13ssYbuvCSUUpJaVLf7wAAAAAAAACoMyScgChgLy1X1rY87dmUo72bclR4tDSwFS1S24zUiiRTa7Vo10QWi8XvKu27p2nApRla+8negJJNlVyTTgMuzSDZFEMcDkOl/p5hVODZw6hyeWlxQ0waOXsdee1h5DKdkGyT1eo/nlwVFRXJttW5s4JZDwAAAAAAAGgISDgB9aToRKn2bsrV3k05+mVLruyljoDWi4u3KL5FmZLb2DX6msFq2bZ50NseOKarOpyaHnTS6MzRnenZVE8c5Q4vzzCqTBZVSyIVVfVGKiksU2lxeX03PyQWq8UlaWRTYopnkijJRw+khCSbLCR/AAAAAAAAgIgj4QTUofxfC7VnY472bMrWoV1HA35GTXKzeHXu4xwqr1VGsr78apkkqUlqQgRbi3ArL3f4fYZRceW8As/lZSUNIGnkkhBK8kgOeXvWkTORFJ8UV2PPPQAAAAAAAAD1i4QTEEEOh6Ffdx/Vnk052rMxR/m/Fga8bouTmiijbyt16ddabbukmkN0FRUVhdyuNf/dHfSQepK0YUmmOaTewDFdQ25HLCovc7j0MHJPGPl7nlFxoV32GE8aWeMsnkmiJhVD06VUDUNn9jZKqSoTn0jSCAAAAAAAAGjISDihUTiwM79Ww8DVZr2yknLt+/mI9mzKUebmHBUdLwtoPYtFOqlbc3Xp21pd+rVSWtsmQbc3EAd25mvtJ3slOZ/HJCmgpFNlskmS1n6yt1ZD8kULe1m525BzHj2MvCWPKnod2csCG/owWlltFt89jKrNS0pxX25LsJI0AgAAAAAAAOAVCSc0eHXRm6fgaIkyN+dqz8Zs7duap/IAkxK2BKs6ndZSGX1bKaNPSyU3i/wQee27p2nQld3M5FEgSSfXZJMkDbqyW70mmwzDkL2sYni6omrJIR9D1hW7TAf6/xOt4uKtHkPTJbj1OPL2PCPnkHW2eJJGAAAAAAAAAMKPhBMatEj15jEMQ0cOFmhvxVB5v+49JgX4PKYmqQnK6Od8HlOHXi1ki48L6j2FQ+U+qJ508sZbsimYxJ0vhmHIXupw72FU4KeHUbXEkcMe4A6PUrbKpFGKnx5GPp5xVB/HDAAAAAAAAAD4Q8IJDVo4e/M4yh06uOuo9mzM0Z5NOTqWHfizlNLbp6hLv1bq0re12nRuJou1/nuYeEs6tezQ1K3Mod1HtX97vvm6erLJMAyVlZT7f55Rgbeh6pz/OspjPGmUGKekiucWufc4qkoOeRuyLqlJvOLirfXdfAAAAAAAAAAIGxJOaPB89ebxlnSqnmwacFkXpbZK1udzt2jvjzkqKbAHtE2L1aL2PZzPY8ro20rNWyeH+jYiovq+yc064bbcNdnU8uQU7d+Wp13fZ5sJo9JCuxyO2E4axSfGefYwSvHRw6haD6Q4G0kjAAAAAAAAAJBIOKGRCCTpVD3ZlNYmWesX7w146Lb4pDh1Oq2luvRrpc69WyopJT5czY+o6vvGl9z9BcrdX1AXTQpafFKcZw+j6s8wSvF8xlFCE5vi4kgaAQAAAAAAAECoSDih0fCVdDrjwk5a+d4Obfoiy618/uGah8xr2iJRGX1bqUu/Vjq5R4uYHSYt0KRTJFUNS+eaOHIdns7bM47ilZAcJytJIwAAAAAAAACoVySc0Kh4Szp9t3CXFMSocK06NlWXvq3UpV9rterYVBZL5J7HtHbvEQ3ISI/IetXLnDm6s9Z+skf2UkfQ25MkWaTE5OrPLfKdKHJ9xlFCsk3WKHiuFdAYRPK8AqD2iE0gOhGbntgnntgnCBTHCgCgoaNbgKRffvlF99xzj0499VSlpKQoPT1dAwcO1IwZM1RYWBi27SxYsECjR49Wu3btlJSUpIyMDI0fP16rVq0K2zbgXeH69eb0maM7q8eAtlULa0g2WeMs6nhqCw27rqdu+vt5+u1fBmrgmK5q3alZRJNNT3+2Xde8+J1mLQ+u19Gs5bt0zYvf6enPtvute969M9zq3rAk02uyqeXJKTp9aHudObqzLP3SdKBgi8rOSdflU/vrmj+frRv/NkiTnhyq258foVufGqbxj56nax8YoCumnqGL/rePRtzYS+dd1V1nXZSh3sNOVo+z26rjaelq0zlVzVs3UVJKPMkmoI5E8rwCNHSu1xLhXu/pz7Zr+mPzaxWb0x+bT2w2IpE8DuGJz01P7BNP7JP6EYvnQ44VBCoWj+9Q2xANbUfdieRxwjFY/xp9wumTTz5R37599eSTT2rr1q0qLCxUXl6e1q5dqz/96U8688wztXv37pC2UVxcrDFjxuj666/X0qVLdejQIZWUlCgzM1NvvvmmBg8erL/97W9hekeoLvvZ55R5w43KmT3bnDf8hlP8rpPYxKZO6cd1+k+v6vIeP+vyu85Qn+Ed1Cw9KdLNleT89dIzy3ZIkp5YvDXgC9JZy3fpicVbJUnPLNuhtXuPeK27/fQ/6s5NHyrlwWmatXyXx/OrElOqOj/m7i9Qaqtk/dBCavr2I7px7fNq98pfdChJFUmjZCWlxMtC0giIapE8rwANnbdriUDkzJ6tzBtuVPazz/kss3bvEeU895xmrHheu2e+EFRs7p75gmaseF45zz1HbDYCkTwO4YnPTU/sE0/sk/oRi+dDjhUEKhaP70qx3HbUnUgeJxyD0aFRJ5w2btyoa6+9VkePHlXTpk312GOP6dtvv9WyZcs0efJkSdK2bdt06aWX6sSJE7XezqRJk/Txxx9LkkaMGKGFCxdqzZo1evXVV9WtWzc5HA49+OCDeuWVV8LyvlClcP165Tz/vCQp+8mnzBPOj1/t91r+pG6pumJqf13ea5u6f3C/2mZv0LEXn63zLPeAjHTdd1Ev83UgF6SuF6KSdN9Fvbx2ue/27WL1zXUmUQcc3ibbM/Pdkk2DruymW58cpkFXdjPnfffhLtmema8Bh7dJkvrm7la3bxfX7s0BqBeRPK8ADZmva4ma5Myerewnn3JOP/+8z2uJ03P36MZtn0mSbtmyKKCkU2Wy6ZYtiyRJN277TKfn7gmoXYhNkT4O4YnPTU/sE0/sk7oXq+dDjhUEIlaPbym22466E8njhGMwejTqhNPUqVNVWFgom82mpUuX6oEHHtCgQYP0m9/8Ri+//LL+8Y9/SJK2bt2qp556qlbb+OqrrzR//nxJ0pgxY/TZZ5/piiuu0IABA3TLLbdo1apV6tSpkyTp3nvvVX5+fljeG5yanHWWWk+723yd/eRTWvG399wSLLb4qjA4tOuY9ry3TLku/9+tp92tJmedVTcNdjFleLeAL0i9XYhOGd7Na9n0ceOUMnSIJCmz4yiVth1sLht0ZTfzOVdnju7slnQqbTtYmR1HSZJShg5R+rhxtXxnAOpLpM4rQEPm7Vqipi8vrl9aJP/XEtXrrynpVD3ZVFP9aBgifRzCOz43PbFPPLFP6lYsnw85VlCTWD6+Y7ntqDuRPE44BqNHo004rV27VsuXL5fk7IE0aNAgjzLTpk3TqaeeKkn617/+pbKysqC3U5m0iouL0wsvvKC4uDi35a1atdITTzwhScrLy9Orr74a9DbgX6vJk80TTmbHUdq0v6W5bNCV3XTbs8PdEiub9rc0Eyutp92tVhW93eqDtwvS2Ssz3crU5kK00+zZOjhssnZ1G2vOS/j1G61OtLuVW51oV8Kv35ivd3Ubq4PDJqtTkF1TAUSPQL7o8gUXcOd6LSH5//Li7UtLTdcS1ev3lXTylWyqz2sV1J1IH4fwjs9NT+wTT+yTuhXL50OOFdQklo/vWG476k4kjxOOwehgq7lIw7Rw4UJzeuLEiV7LWK1W3XTTTfrzn/+svLw8LV++XKNGjQp4GydOnNCyZcskSaNGjVKHDh28lrvqqquUmpqqY8eO6YMPPtC0adMCfyMISKvJk/XzoTTtckk29T05V2eO/o0kZ2+egjVrzGTUrm5jlTJsqE6dfE29tNdV5YVl5QXnU8t26eIOFv2mvaEXV+zVM19UPWMs0AvRDUsy9bO1v/m6266F6rzvM619cL1mPfKkpgzvplnLdynlwWkacHibMk9km8mpn639lbYk0+wJBYTKMAyX6Yp/vSx3n1dZznB7LS9lfJUzzHKGl3nVZgRQR3FxqU6UOeflFpQq0W51W891BX/vxX2ea7ma32ugdVx4elvlFpTolRXOIbieWLxVuSdKdN3ATlqw5he9srJqaK5bh3TRqNPaaudh30PLWkJ4hFttV7WEsNHab7PWm5SlllsNZZu1VdttRuv/SXFxsfJLnNOHjhUrqbRym0Fu9drxSi62q+j5mZKcX15OFNuVfHPVdWTRa3PN5ZKUfMcfVP7b8fr1WHHFNv347Xg1KbarsGL9W7Ys0pyZ0j9LJuvm8zL02rd7dfil2W7JpiZ3/kGO68br8PFir1XW5rir9f9/bdap5cbqMoZrG7u1WS2Q9iWMn6BUu0PHnvmXJOdxWGJ3KHXiLWaZY3PnmMslKfWuqUocP0HHi91/PFeb/R/OfV9UWq6Scud0YWm5jDj3Hz5F03lz4uAM2csdevKz7ZKcn5v2cof+9/yumv31bs1Yut0se99FpzSKG8PVv6NU/lv5PaIx3ixnn9StypuClTcLK/91vVkYrTcTOVZQE2/Ht73MLp3c3iwTrcd3LMcm6k4kjxOOwfpnMQxvt64avmHDhmnFihVKSUlRfn6+bDbvubfvvvtO5513niTpwQcf1MMPPxzwNr744guNHDlSkvT444/r/vvv91l29OjRWrp0qWw2mwoLCxUfHx/Eu/EvKytLHTt2lCTt27fPZ+KrIduwJNNtGL3KBEvlCaXyRJPZcZRbrx/XIebqW/ULz+osFineapXVKsVZLLJaLYqzWhRnqfjXapHVYlHbUmnkgar1muV+pwGb3zRfr21zih4e8r96aOXL5jObJGld3xt1LL2qJ+CGbgnKb1pxQ93PDXu3E0wAiQO3eTUkBwKqw62c5/arJwD8Jh9ctuE2z2sCwH1bgSc/PBvnbz943Zde3oOXnEcN/2/+96UCLOdvPwD1rtoBaVH114Gso2qvqy33OOY9g8CjDo9AqWGbXgLLs+3+21W93d7U9N4866hpX9S83ervrab97WWzXv5fqxUIYF+4bveSPd/pmp3LzdfvdR+uT7ucq4v3rHKb/2734fqky3nmyoYsMipfWGROG5IMlzvkl+3+RuO2LzNfz+95gT7qNkSX71qpcds/95jvKfATrbf/E7/lg6g7WN6OY9/tCLLuYNod4X0SrrZcsuc7/Xbnl+brd7qP0KIug3zOR/2wWJzHq9ViqZh2zrBIFf9aZLVUlauY7UwGWirWU2USzWKWs1icZSyqSsxZzHosbsvluo6qykgudbisa63aoMs6znJWL+3/9Vix9ucXme/ZZrXI7qg6eE9OS1bb1CTnNaNRcVgbzmtIQxXnQKPqitJwmTAqXhsynP8aVeVdmctVVUbVyrrW47odsx0VK7nW4/paru00qrVZclvPXu5w2wfVxVktslldzmTVTmrVk63Vk6gen4U1LK/Oc/3qcwyV2Z0J4HibzW159bI1taV6iWDfSyDrD9+2Qpf8WPX5+GnvC/TVKUN1/rYVurja/K97DfW58eD3u5d94Xps+lm/ct2jhWXKL6r6MYDVIrkeOrcN66Ybzu2kgNTXF636/IJXj9uuq1up+e++pyNz55qvjwwdqqPnDFS/w4d17PU3zPnpEycq7Vr3H0wH9MOSQH+lUYu68ha8oyMuozilT5qkFtdfp7wFC3TkFZf5t05Si+uuC6QRgbU1sObV4cohrl9f6zoriPiqeW/NV+5LL5mvW952m1rcMM5z/q23Ku2661TxIez2Z7h9+Ff95b3/vvJee92so8X4G5V25ZXK/+AD5b35ljk/1GRTUVGRli5dKkm68MILlZycXOu66kMk8gaNNuHUunVr5eTkqF+/fvrhhx98lsvLy1N6uvOhjNdcc43efffdgLfx/PPP684775Qkffjhhxo7dqzPsnfddZdmznT+ovWnn37SaaedFvB2atLYE07Vk019T85Vq7ceNF9b4uNluAyXmHXmOG1PrXqu0Wm2LeoRv8vLHflq/5rJgWp33X2VN2/Ee3zr8Vl+X16R9uY4exm4XbBWa4Ol2vyqss7XBW3OU2Hb89T04FdKyV6jTsd+VTN7kVsp1/rz45toR4uOKml5lkrbDlZC9molZa+Wq2BvsgZywzTYdWq6wRr4dl3L1+aGaRhu7AZ7kzXIG6beVorMjd3q5Wv6P6vNsVTz/1GNx1JEkgQ1baM2/0f+6/S63dr8v/pZvzbr1NexZI3gzXEAAAAAABC7wtGziYSTp0Y5pF5xcbFycnIkqcad2KJFC6WkpKigoED79u0Lajuu5WvaTuV/bOV6wSScsrKy/C4/ePCgOV1UVKSioiI/pRuWQ7uPuSWbzr6sk/qOHKSjLXOUV5HgM6o9m6vDhvkq71g1hNwW+2lKWrtYaUe9P8yzLqVX/IUsd4/yD6zy+Z6q37hNKyt09nY6vE35B1ZHxb4AAAAAAAAAgGC1+MMflHLjjSHfJy8uLvY6HSsikSdolAmn48ePm9NNmzatsXxlwunECd/Prwh1OykpKeZ0sNtxTVbV5Ouvv1arVq2Cqj/WNeueoOM7E5Xas0SHyn/SoaU/SSe3Vw/57uHZed9nkpzPcsrY+0mDTLDU9j01xH0BAAAAAAAAoOFzJCRo9cntpYqeSeHy9ddfh7W+ulDZKSecGmXCyTXbmJCQUGP5xMREScFn/ILZTuU2arMd+Ne8R6mSWpYrMb3cnNdi+fIahxPtvO8zNT+2mwQLAAAAAAAAAMSY6o8NkSRraalaLF+uvOHD66FFDV+jTDglJSWZ06WlpTWWLykpkaSgx2AMZjuV26jNdmoa6u/gwYMaOHCgJGnYsGGN7hlO1R2dO095ny42X1sSE2W47P+ks89WYv9+kixqLkmW31QUrFyh6iG7bgss1f91L1+9nMVXOS/lV+05ouU7jphtPL2FQz3TpJy4VvpqV55ZfsQprXRet/Qa63OdvWJXnpp88oEyjv8qX/altFbRqEt1TpcWVTO9PXywhqe+ej60svqTVIOv03Odmuv0XCX0OoNtZ/WH0oblvdfUbm/tCHVfeF0nuDo99kUY6qxNOz2Ozxq34V5JaWmpNv24WZLUt09fJSTE1+L/zNuxUb1AaO2sfPnRpkN6e91+c8b1Z5+sy/udpI82HtJ8c750/YAOGtu/nZcqa4qTINvtZV7I+8LrvODq9Pqw3Tp47577Ivx1Bt1uBRAntagz2GO6xn1RbV5xcbG++fZbSdLgwYOd12c1PUC3hjqPvf6G8l94wXxtTU2V49gx83XalClKHX+j84XrMxkr/1T5XNtqyyS9sWqfDsx9Q+O2Vz3o3NqsmRwuPefn9xyp9hNu1PhzfPVyr+lnNbUr6iwfTN1BVh7BuoMqHcl2B1veT9ljb7yp/FmzzNd+j8MoVFJSopUrV0qShgwZ4vYDvGg097t9evbL3ebr34/oqomDOvqc3xiwTzw1hH0Sa7EpBXA+vH2KUsePr5vGBHiOn/vtL3rG5Zi4a0RXTTyvk8/5gW062A/1MKmv7da3OnrfR197TfnPPW++Lk9OVpzLD9XT7rxDzW++uWqFGp4t7FcN6xr+lntZduyNN5T/QhRcq0Rwn0TrtkN+mnEdtvvY/Ld19OWXzdcex8nvblPqjTc6Y871XqfF4jzvVZvnuuzo3HnmI1Ukydq8uRxHj0qSWn+6WD179FTziRNq9z4rFBcXmz2bhg0b5pYPiAU1PaqnNhplwqlZs2bmdCDD1xUUFEgKbPi92m6nchu12U4wCaTk5OSYe3hZOOXMnu12oql8OFzO7NnKfvIpSVLxunVqdv6wkB8aFy6zlu/SE7u3St2dr+8e2U1tCrcpX9IlF16ow6sP6InFWyVJH9ml+7r00pTh3QKuO2X2NJ3mkmxKGTpEnWbP1i+TJ6tghfOLRseCbK399jt9eNGTAdcNNDZFRUUqKnZe+DcfOiSqz7XO80qulJ4hSbrvol66uSK2bz5HKuy5yzyvTN8lFfVIJ/YRs6xFRTIqbpY1SU8POTZzZs92SzZ5u5bInzVL8U2Sg76WmLV8l3a/8Y5ucUk2eat/3PZlmvNmot5Iv53YbKRyZs92u7kazuOwrliLimRUjAKRnJYW9Z+bM1ZkSTZne++7qOp6+85L0xWX0tT83JyxIktxKU0bfGyyTzw1lH0SS7EpBXg+fGGW4pOj53w4a/kuzfh6nxQXL6nasXJJmuKapFQdK1/vU1yTlKg8VhB5ObNnuyWbsi++SHnDh+uc/QfMe1v5zz2v+MTEqDm+KzmvmWP7WgWRlzN7tluyyetx8uJLik9JCfo4CeQecN7MmbLF28J2DCYlJUX952Z1kWivNew1xoCkpCTzOUY1ZfHy8vLMZFAwz0qS3BNBNW3HtZdSsNtBYFxPKFLViUaSWk2erNbT7jaXZT/5lHJmz67zNlY3a3nVTV/JeSE6eUhntzJThnfTfRf1Ml8/sXirZi2veRjAWct3KeXBaRpweJs5rzLZJEmdZs9WytAh5rIBh7cp5cFpAdUNIHp5O69U/wJb2/MK0NBF8lpi1vJd2j3zBd2yZVFA9d+yZZF2z3yB2GyEYvGaNpbxuemJfeKJfVI/YvF8yLGCQFU/vlv84Q/m8F/NJ06IyuO7UizGJupeJI8TjsH61SgTTpJ06qmnSpJ27twpu93us9zWrVUXApXrBOq0007zWo+/7dhsNnXv3j2o7aBm/k40laLthBPIhWilYC9Ia0o2VSLpBDQskTyvAA1dJK8lako2+aqfpFPjE4vXtLGMz01P7BNP7JP6EYvnQ44VBMrb8V192K9oO74rxWJsou5F8jjhGKx/jTbhNGSI8yZ6QUGB1q9f77PcV199ZU4PHjw4qG0MGDBACRVd0V3rqa60tFSrVq3yWAfhEciJplK0nHDW7j0S8IVoJW8XpGv3HvEot3bvkYCSTZV8JZ281Q0gekXyvAI0dJG8lli790hAySZf9VcmnYjNhi8Wr2ljGZ+bntgnntgn9SMWz4ccKwhULB7flWK57ag7kTxOOAajQ6NNOI0dO9acnjt3rtcyDodDr7/+uiQpLS1NI0aMCGobzZo108iRIyVJn3/+uc9h9T744AMdq3gY2pVXXhnUNuBf4fr1AZ9oKnk74RT6SUpGwoCMdN01soekwC5EK7lekN41socGZKR7lOn27eKAk02VvCWdun27OKA2AYgOkTyvAA1ZpK8lTs/dE3CyyVf9t2xZpNNz9/hdB7EtVq9pYxmfm57YJ57YJ3UvVs+HHCsIRKwe31Jstx11J5LHCcdgFDEasaFDhxqSDJvNZnz77bcey//xj38YkgxJxkMPPeSxfO7cuX6XG4ZhLFu2zCxz+eWXG3a73W15dna20alTJ0OSkZaWZhw5ciQcb83Nvn37zDbs27cv7PVHu8MznzW2nNLLyH755aDWy375ZWPLKb2MwzOfjVDLarZmT67HvMLCQmPhwoXGwoULjcLCwoDXc7XnxvHGllN6GZm33hpUezJvvdXYckovY8+N44NaD2gMAonNaFDT+SHc6wH1LRyxGelriVi+VkHdaWjHCZ+bsYt94qkh7ZNYiM1YPh82pGMFkeHr+K4pNqPh+I7l2ETdieRxUh/HYCx8bvoTibyBxTAMo35SXfXv+++/1+DBg1VUVKSmTZvqgQce0IgRI1RUVKQFCxbo5ZdfliT17NlT69atU7NmzdzWnzdvniZOnChJeuihhzR9+nSv27n++uu1YMECSdKIESM0depUtW/fXps3b9Zjjz2mXbuc4/C++OKLuu2228L+PrOystSxY0dJ0r59+9ShQ4ewbyPaFa5fryZnnVVn60VSUVGRli5dKkm68MILlZycXKt6jsyfr/Rx4+psPaChC1dsAgivcMVmpK8lGtK1CiKnIR0nfG4C0SlWYrMhnQ+B6rwdp4HEZjQc38QmAhHJ46Suj8FY+dz0JRJ5A1vINcSwM844Q++8845uvPFGHTt2TA888IBHmZ49e+qTTz7xSDYFY86cOTp27JgWLVqkL7/8Ul9++aXbcqvVqr/+9a8RSTbBqbYfWg35w662SSOSTQCAxijS1xJcqyAQHCcA4MT5EA1ZLB/fsdx21J1IHiccg/Wv0T7DqdKYMWO0adMm/fGPf1TPnj3VpEkTpaWl6eyzz9YTTzyh77//Xt27dw9pG8nJyfrkk0/01ltvadSoUWrTpo0SEhLUsWNHjRs3TitXrvTZOwoAAAAAAAAAACDaNeoeTpU6d+6sp556Sk899VTNhV1MmDBBEyZMCLj8uHHjNI7eIQAAAAAAAAAAoIFp9D2cAAAAAAAAAAAAEBoSTgAAAAAAAAAAAAgJCScAAAAAAAAAAACEhIQTAAAAAAAAAAAAQkLCCQAAAAAAAAAAACEh4QQAAAAAAAAAAICQkHACAAAAAAAAAABASEg4AQAAAAAAAAAAICQknAAAAAAAAAAAABASEk4AAAAAAAAAAAAICQknAAAAAAAAAAAAhISEEwAAAAAAAAAAAEJCwgkAAAAAAAAAAAAhIeEEAAAAAAAAAACAkJBwAgAAAAAAAAAAQEhIOAEAAAAAAAAAACAkJJwAAAAAAAAAAAAQEhJOAAAAAAAAAAAACAkJJwAAAAAAAAAAAISEhBMAAAAAAAAAAABCQsIJAAAAAAAAAAAAISHhBAAAAAAAAAAAgJCQcAIAAAAAAAAAAEBISDgBAAAAAAAAAAAgJCScAAAAAAAAAAAAEBISTgAAAAAAAAAAAAgJCScAAAAAAAAAAACExFbfDUDk2e12c/rgwYP12BKEQ1FRkXJyciRJWVlZSk5OrucWAZCITSBaEZtAdCI2gehEbALRidgEolOsx6ZrrsA1hxAKEk6NQHZ2tjk9cODAemwJAAAAAAAAAACIJtnZ2crIyAi5HobUAwAAAAAAAAAAQEgshmEY9d0IRFZxcbE2b94sSWrdurVsNjq2xbKDBw+aPdXWrFmjdu3a1XOLAEjEJhCtiE0gOhGbQHQiNoHoRGwC0SnWY9Nut5ujo/Xp00dJSUkh10nmoRFISkrSgAED6rsZiIB27dqpQ4cO9d0MANUQm0B0IjaB6ERsAtGJ2ASiE7EJRKdYjc1wDKPniiH1AAAAAAAAAAAAEBISTgAAAAAAAAAAAAgJCScAAAAAAAAAAACEhIQTAAAAAAAAAAAAQkLCCQAAAAAAAAAAACEh4QQAAAAAAAAAAICQkHACAAAAAAAAAABASCyGYRj13QgAAAAAAAAAAADELno4AQAAAAAAAAAAICQknAAAAAAAAAAAABASEk4AAAAAAAAAAAAICQknAAAAAAAAAAAAhISEEwAAAAAAAAAAAEJCwgkAAAAAAAAAAAAhIeEEAAAAAAAAAACAkJBwAgAAAAAAAAAAQEhIOAEAAAAAAAAAACAkJJwAAAAAAAAAAAAQEhJOQJQ4ceKEvv76a82YMUPXXnutunTpIovFIovFooyMjIDqOHz4sF577TXdeeedOu+889SlSxc1a9ZMiYmJateunUaPHq1Zs2apoKAg4HYtWLBAo0ePVrt27ZSUlKSMjAyNHz9eq1atquU7BWJLOGLTMAytXLlSDz74oEaOHKl27dopISFBqampOv3003X77bdr48aNQbWL2ERjF47YlKR9+/bp3//+t+6//3795je/UWpqqlnP9OnTg24XsYnGLlyxWemnn37S7373O3Xv3l3Jyclq3bq1hg0bppdeekl2uz3geohNIHAff/yxrr76anXo0EGJiYlq1aqVBg0apCeffFKFhYUB1xOu+AXgtHTpUl1//fXq2rWrmjRpoqSkJHXs2FFjx47Vu+++K8MwAqqH2ARCN336dPMaN9C/mr5fNpjYNABEheHDhxuSvP517tw5oDpmz57ts47q9a1bt85vXUVFRcZll13msw6r1Wo88sgjYXjnQHQLR2x26tSpxri0WCzGvffeazgcDr91EZuAUzhic+/evX7j8qGHHgq4PcQm4BSO2Kz0yiuvGImJiT7rO/fcc42cnBy/dRCbQOCOHTtmjBkzxu9nY48ePYyff/65xrrCEb8AnEpKSoxrr722xu+Uw4cPN/Lz8/3WRWwC4fHQQw8FdA/W9W/+/Pk+62tIsUkPJyBKGC6/RGnRooVGjRqlpk2bBlWHxWJRjx49NHnyZL3wwgv6z3/+ozVr1ujrr7/WG2+8odGjR0uSMjMzNWrUKB08eNBnXZMmTdLHH38sSRoxYoQWLlyoNWvW6NVXX1W3bt3kcDj04IMP6pVXXqnFuwViRzhic//+/ZKk7t2767777tNHH32kdevWacWKFXrkkUfUokULGYahf/zjH/rLX/7ity5iE3AKR2y61mGxWNS9e3cNGzasVu0hNgGncMSmJC1ZskT/+7//q5KSErVt21YzZ87U6tWr9emnn+qqq66SJK1atUpXXXWVHA6Hz3qITSAwhmHot7/9rf773/9Kks466yy9+eabWrdunb788kvdc889SkxM1I4dO3TxxRcrNzfXZ13hil8ATlOnTtW7774rSWrTpo1mzJihL774QitWrNALL7ygzp07S5KWL1+ucePG+ayH2ATC5/bbb9fmzZv9/v3www9KTU2VJKWm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VqasrCy9//77euONN3T8+HFdc8012rhxo3r16lXn7XOVlpamtLQ0SVLTpk3rtS0AAABANCPhBAAAACAmtWnTxiNZMnz4cE2cOFEXX3yxvvjiCx08eFAvv/yypk2b5rH+p59+aiabRo8erf/85z9KTEx0KzN48GBNmDBBL774ohYuXKiOHTtGtE2u4uPjPerq37+/xowZo7POOkvTpk2TYRj661//GlLCqT707NlTGRkZbvPOOOMMjRkzRhkZGXrkkUdUWlqqZ555RrNmzaqfRgIAAAAICkPqAQAAAGhQEhISNH36dPP1Z5995rXcwoULzeknn3zSI9nkKi4uTv/zP/+j008/PaJtCtTUqVPVqVMnSdL69esD6n0VK/70pz/JYrFIklavXl3PrQEAAAAQKBJOAAAAABqcM88805zet2+f1zKZmZnmdPfu3aOiTYGyWq1uz1v65ZdfQqovEHl5ebr//vvVq1cvJScnq02bNrrgggv03nvvhXU7TZs2VcuWLSU5n4HlzfDhw2WxWDR8+HBJ0s6dO/W73/1OXbt2VXJysjIyMjRp0iS3/2NJ+vHHHzVx4kR17dpVSUlJ6tixo6ZMmdKgEnYAAABAfWFIPQAAAAANTlxcnDlts3n/2pOQkGBO//zzz+rfv3+9tykYrnWUl5eHXJ8/W7Zs0QUXXKCDBw+a84qLi7Vs2TItW7ZMt9xyi4YOHRqWbZ04cUK5ubmSZPbi8ufzzz/XVVddpePHj5vzMjMzNWfOHH388cf66quv1KtXL7399tuaOHGiSkpKzHJZWVl68cUX9emnn+rbb791e64UAAAAgODQwwkAAABAg7NlyxZzuvqzgiqdccYZ5vSdd96p7Ozsem9TMDZt2mRORzJRcvToUY0ePdpMNv32t7/VokWLtG7dOs2fP19nn3225syZoxdeeCEs23vyySdlGIYk6fLLL/db9sCBA7r22muVlpamZ599VqtXr9aKFSs0depUWSwWHT58WLfeeqvWrl2rm266SV27dtUrr7yiNWvW6Msvv9T48eMlORNUd999d1jaDwAAADRW9HACAAAA0ODMmDHDnL766qu9lpk0aZJmzJihwsJCffPNN+rcubMuvvhiDRs2TOecc47OOOMMv891ikSbAvXhhx/q559/liR17dpVHTt2DKk+fx555BFlZWVJkv7+97/rz3/+s7ns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", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "\n" - ] - }, - { - "data": { - "image/png": "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nTS0t02bNmHhwoX4v//7PzRt2hQ+Pj5wcnJCUFAQunfvjs8//xzXr1/H3Llzq8WwPF5eXvj111+xf/9+vPDCC2jatCnc3d3h6uqK0NBQPP300/jzzz9x9OhRm69o9fLywoYNG7Bz506MHj0aYWFhUCqV8PLyQsuWLfHWW2/h3LlzFRZIERWlUCiwatUq/PvvvxgyZAgCAwPh6OiIwMBAtG/fHh9//DEuXbqEJ554wup+dDodnnvuOWnYpQEDBuC1116zuk3Dhg1N5uuaOXNmiSFzdVWrVi0cOXIE33//Pbp16wZvb2/p861v375YunQpIiIiyjXcYnm1bdsW58+fx1tvvYU2bdrAy8tLOolqT9X9tXjrrbcQFRWFpUuXYvz48WjXrh38/Pzg6OgIZ2dn1KpVC7169cJHH32E69ev1/hAChDDghMnTuCLL75Ajx49EBAQYPcg5KGHHsKZM2fw559/YuzYsWjcuDE8PT2hUCjg4+ODdu3aYcqUKdi6dasUglsyaNAgXL16Fa+++iqaNm0KpVIJDw8PtGjRAu+++y4uXLiAYcOG2bXv9jRy5EjcunULK1euxDPPPINGjRpJP2uenp4IDw/HsGHDsGjRIly7dg3Hjx+v1L95goODce7cOcyePRudO3eGj4+PXStmJk6ciEOHDmHs2LFo0qQJ3NzcbKqAnTVrFq5du4ZZs2ahQ4cO8Pf3h4ODA/z9/dGxY0d88MEHuHbtWpUHUgU++OAD6XndvHkTv/76q7TOwcEBmzZtQlJSEnbs2IEPPvhA+tu34L2gVCpRu3ZtdO3aFdOmTcPOnTtx8eLFCgmkAKBFixYm1WXz5s2rtLnMiIjo/iMTbJ09k4iIiIiIiIiIiIiIiKiMWClFREREREREREREREREFY6hFBEREREREREREREREVU4hlJERERERERERERERERU4RhKERERERERERERERERUYVjKEVEREREREREREREREQVjqEUERERERERERERERERVTiGUkRERERERERERERERFThGEoRERERERERERERERFRhWMoRURERERERERERERERBWOoRQRERERERERERERERFVOIZSREREREREREREREREVOEYShEREREREREREREREVGFYyhFREREREREREREREREFc6hqjtAVS83NxcXLlwAAAQEBMDBgW8LIiIiIiIiIiIiIqIHlU6nQ1JSEgCgVatWcHFxsct+mT4QLly4gI4dO1Z1N4iIiIiIiIiIiIiIqJo5ceIEOnToYJd9cfg+IiIiIiIiIiIiIiIiqnCslCIEBARIt0+cOIE6depUYW+ql5ycHBw4cAAA0KNHD7i6ulZxj4iIKgc//4joQcXPPyJ6kPEzkIgeVPz8IzJ3584daYQ14wyhvBhKkckcUnXq1EFQUFAV9qZ6ycnJgb+/PwAgKCiIv5CI6IHBzz8ielDx84+IHmT8DCSiBxU//4isM84QyovD9xEREREREREREREREVGFYyhFREREREREREREREREFY6hFBEREREREREREREREVU4hlJERERERERERERERERU4RhKERERERERERERERERUYVjKEVEREREREREREREREQVjqEUERERERERERERERERVTiGUkRERERERERERERERFThGEoRERERERERERERERFRhWMoRURERERERERERERERBXOoao7QERERERERERERETmcnNzkZ6eDrVaDb1eX9XduW8ZDAb4+fkBAGJjYyGXs5aDaj6FQgEnJyd4enrC3d292ryvGUoRERERERERERERVSOCIODOnTvIyMio6q48EARBgKurKwBAr9fDYDBUcY+Iyk+n00Gj0SArKwsymQz16tWDh4dHVXeLoRQRERERERERERFRdZKSkmIWSDk48FRuRZLJZAD4OtP9Q6/XQxAEAGLwGh8fXy2CKf6EEREREREREREREVUTeXl5SEpKku4HBgbC29sbCoWiCnt1fzMYDMjMzAQAeHp6VpthzojKQxAEqNVqpKamIjs7WwqmmjRpUqXvcf50EREREREREREREVUT2dnZ0m0/Pz/4+fkxkCKiUpPJZHBzc0NQUBDc3d0BiEGV8WdMVWAoRURERERERERERFRNqFQq6banp2cV9oSI7gcymQy+vr7S/YKqwKrCUIqIiIiIiIiIiIiomsjLywMgnkh2dnau4t4Q0f1AqVRK86YVfMZUFYZSRERERERERERERNWEwWAAACgUCukkMhFRechkMmkYUL1eX6V9YShFREREREREREREREREFY6hFBEREREREREREREREVU4hlJERERERERERERERERU4RhKERERERERERERERERUYVjKEVEREREREREREREREQVjqEUERERERERERERERER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xInY7XZGjBjBihUrDCu7JCYmMmLECADc3NwYOXJkptcZNWoUn3zyCQC33norv/zyC56enjme/0YcPHiQL7/8Mv3r7t27m5jmxqgpJZJLIs4v3xdkOYbVctm6M2pKidwcbp4Q1MH16DoaovfDnvN7UUX8CfakrM91pMKBFa7HglegWKWLDaoqt4GHT+59HzdBQmoCM/fMZMq2KZxKOJXluEr+lQitH8qd1e7E3Za9TwRJ7rjQmBq6cCj/nP4nvX468XT6jKnKRSqbmFAkb7FaLZQr5k25Yt60CippOOZ0OomOT+Fg9GV7WJ1/HhWfckOvHZtk59+jMfx7NOOeh55u1vR9q6qUNO5nVb6YN242c5YH+WThbj5dvIcXutZiePvsLws6btk+3pu3kyc7VuepztoXVUREpKDZdHJTthtSF2TWmLql1C00Lt04p2LmmK1btzJlypSrLuHWpk0bgoODb8pr/vvvv1cfBFSuXBl///y7wsvKlSvZu3dv+teRkRc/tL93716mTJliGN+/f/8M16hRowbPPvss7777Lhs2bKB169a88MILBAUFsW/fPt577z02b3Z9sPO5556jevWM77mOHTuW119/HXAt7/f+++9z4MCBK2avWbNmtmdR3YjL/1twOBxERUXx559/8tlnnxEVFQXAQw89RKNGjXI8T05RU0okl1xYvi/48v2kilYCj4yf9hWRm6BENWgxxPVISYCIla4G1Z75cPbQlc89ewjWh7keNk+oepurQRXcCUrm3T19YlNi+X7n90zbPo0zyRk/zX9BcLFgBtcfTEiVENys+nEgr/J192V8p/EMXTiULZFb0uunEk8xcP5ApnSZQsUi+XfKvkhusVgslPTzpKSfJ40rFc9wPDYplYPnlwDce+Ica7buITIJ4vDmRGwyzhvYxyrZ7mD3yTh2n4zLcMxmtVChuHf6MoCXNqwqlfDBy912/S98Besjovl0sWs28XvzXEubZKcxdaEhBfDp4j20qR6gGVMiIiIFTOPSjRnecDjj/hmXrYbUBZc2poY3HJ4vG1IAf/zxB3/88cdVx02ePPmmNaXq16+frXGzZ8+mV69eN+U1zRAWFpa+nN3lVq1axapVqwy1zJpSAG+//TanTp1i0qRJbN68mQceeCDDmNDQUN56661Mz585c2b686NHj9KmTZurZr9Zy+9dTXb+W7j/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", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABqUAAARFCAYAAAA3lcgIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdd1wT9/8H8FfC3tuBqKigOHCguAX3qrVFrVXrtu5arXVVW9T6rXW0jjqoWket2lat2tZRrQpuRcU9UcEBOJAlG5L7/cGPawJJCJBAkNfz8cjDu8vnPve+y10k977P5yMRBEEAERERERERERERERERkR5JSzsAIiIiIiIiIiIiIiIievsxKUVERERERERERERERER6x6QUERERERERERERERER6R2TUkRERERERERERERERKR3TEoRERERERERERERERGR3jEpRURERERERERERERERHrHpBQRERERERERERERERHpHZNSREREREREREREREREpHdMShEREREREREREREREZHeMSlFREREREREREREREREesekFBEREREREREREREREekdk1JERERERERERERERESkd0xKERERERERERERERERkd4xKUVERERERERERERERER6x6QUERERERERERERERER6R2TUkRERERERERERERERKR3TEoRERERERERERERERGR3jEpRURERERERERERERERHrHpBQRERERERERERERERHpHZNSRERERET0VomMjIREIoFEIoG7u3tph1Niyut+U+GEhISI50n79u1LOxwiIiIiKmeYlCIiIirD2rdvL95YUvWysbFBtWrV0KNHDyxcuBBRUVFa1z1v3jyNdat7rVixQmO9z58/x9dff422bduiYsWKMDMzQ6VKldCyZctCxwgAiYmJOH78OJYsWYIPPvgA7u7uSvFs2bKlUPWpcvLkSUyaNAmNGjVChQoVYG5ujqpVq6J58+aYMGECdu3ahfj4eK3qEgQBe/fuRb9+/VCrVi1YWFjAxcUFzZo1w/z58/HkyZNix5tX3vOkWrVqyMjI0GrdWbNmiesNHz5cbbm8xz3vSyqVws7ODrVr10b//v2xfft2pKen62gPlSluNyQkRC/bAJQTALp6FfV8VXX8r127Vqg6+vXrp7N4iIiI3kaKSV1VLxMTEzg7O6NRo0YYOXIkDh48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iIiIiIiIiMoDuVyO5ORkJCUlITMzEzKZTGf1Ojk5AQCePHkCqZRtEYgMQWlem0ZGRjA1NYWtrS2sra0N5nuBSSkiIiIiIiIiIiIiPXvz5g2ioqIgCILO6xYEARYWFgAAmUwGuVyu820QUeGV5rWZnZ2NjIwMvHnzBhKJBFWqVIGNjU2JbV8dJqWIiIiIiIiIiIiI9EhVQkoikcDIyEhn25BIJAAAY2Pe8iUyJKV1bcpkMvE7RxAEREVFGURiit9QRERERERERERERHoil8uVElLW1tZwdHSEpaWleLNaF9tISkoCANja2hpMN11E5V1pXpuCICA1NRVxcXFITk4WE1O1a9cu1e8IfjsRERERERERERER6UnuzWAgJyHl5uYGKysrnSWkiIhUkUgksLKygpubG6ytrQHkJKqSk5NLNS4mpYiIiIiIiIiIiIj0JLeVBAA4OjoyGUVEJUoikcDR0VGcV/xOKg1MShERERERERERERHpSWZmJoCcG8OWlpalHA0RlUeK3YXmfieVFialiIiIiIiIiIiIiPREJpMBAIyMjNhKiohKhUQigZGREYD/vpNKC5NSREREREREREREREREpHdMShEREREREREREREREZHeMSlFREREREREREREREREesekFBEREREREREREREREekdk1JERERERERERERERESkd0xKERERERERERERERERkd4xKUVEREREREREREREb4WQkBBIJBLxNWDAgALXGT58uFhelXnz5inVqfgyMjKCvb09mjZtis8//xzh4eE62Y8tW7aI29iyZYtO6gSAyMhItftSmFdRnTt3DkOGDIG7uzvMzc1RuXJldO/eHb/99luB67q7u6uNx8zMDJUrV0bXrl0RFBSEtLS0IsdI+sWkFBERERERERERERG9lXbu3IkbN27orX65XI7ExESEhYVh2bJlaNCgAdatW6e37ZVlX3/9Ndq2bYtt27bh8ePHyMjIwPPnz3H48GEMHDgQvXv3Rnp6epHqzszMxPPnz/Hvv/9iwoQJaNiwoc4ShKRbxqUdABERERERERERERHpz8XIOPi6O5bYeoZEEATMnTsXe/bs0Ul9mzZtgq+vrzgvk8kQExODQ4cOISgoCJmZmRg/fjw8PT3RsWNHnWxTl6pUqaIxSdetWzdER0fD1dUVhw8f1tl2f/rpJ8ydOxcAUKtW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uXnz5mHevHnFjKxwhg8fjuHDhxdYTiqVYvDgwRg8eLBOtquvVkG6rNfY2Bjjx4/H+PHjC71uSY2Nmru/crkcSUlJpR6PIZGWdgBERERERKRaXErellJMSlHpMDWWYqx/LaVlp8Jjce1pQukEREREREREZRKTUkREREREBio+NUtp3pHd91Ep+tC3KpytzZSWrQ5+UErREBERERFRWcSkFBERERGRgYrP01LKgd33USkyNzHC6HY1lJb9e/sF7j5X3x0JERERERGRIialiIiIiIgMVN6WUg7svo9K2Uctq8POQrnF3trgh6UUDRERERERlTVMShERERERGSBBEJCQqtxSypEtpaiUWZsZY0Qbd6Vl+69HIyI2pXQCIiIiIiKiMoVJKSIiIiIiA/QmIxvZckFpmT3HlCIDMLy1O6xMjcR5uQAEhXBsKSIiIiIiKhiTUkREREREBijveFIAW0qRYbC3NMXgVtWVlu0Ji0JUQlopRURERERERGUFk1JERERERAYo73hSpsZSWJgYqSlNVLI+blsTZsb//ZzMlgtYf4JjSxERERERkWZMShERERERGaC8LaUcLU0hkUhKKRoiZS42ZhjYvJrSst8uPsWrNxmlFBEREREREZUFTEoRERERERmg+FTlpBTHkyJDM8avJkyM/kuUZmTL8dPpR6UYERERERERGTompYiIiIiIDFBc3pZSHE+KDIyrvQX6NHFTWrbt3GMkpOYfD42IiIiIiAhgUoqIiIiIyCAl5BlTysGSSSkyPOPb14JUoVfJlEwZNp+JLLV4iIiIiIhINUEQSjsEAExKEREREREZpLg8rU0crNh9Hxked2cr9GroqrRsy9lIJGdkl1JEREREhsfIyAgAkJ2dDZlMVsrREFF5JJPJxO+f3O+k0sKkFBERERGRAcrbBRpbSpGhmtjBQ2k+MS0L284/LqVoiIiIDI+lpaU4nZCQUHqBEFG5pfjdo/idVBqYlCIiIiIiMkB5x5RiUooMVZ1KNuhar6LSsp9ORSA9i0+CExERAYC9vb04/fLlS7x8+RLp6ekG05UWEb2dBEFAenq6+L2Ty8HBoRSjAoxLdetERERERKRSvjGl2H0fGbBPOnrgyO0X4nxscgZ+v/gUw1q7l15QREREBsLc3Bx2dnZITEwEALx+/RqvX7+GRCLRaTda2dk53ee+evVKZ3USUfGV1rUpk8nyJb/t7OxgZmZWonHkxaQUEREREZEBYkspKksautmjnaczToXHisvWnXiIgc2rwdSYHXQQERFVrlwZpqamSjelBUEQb1YXlyAISEtLAwBYWFhAIpHopF4iKh5DujZdXFzg5ORUatvPxaQUEREREZGBEQQhf0spJqXIwH3SwUMpKRWdmI69V57hQ99qpRgVERGRYZBIJHB2doatrS2Sk5ORkpKCzMxMyOVyndQvl8vFG9/W1taQSvlQCJEhKM1rUyqVwtTUFFZWVrC2toapqWH8pmRSioiIiIjIwKRkypApU75B4WhlGD8giNRpUdMJvu4OuBgZLy4LCnmIvj5uMDbijTEiIiIAMDU1haOjIxwdHXVab1paGu7evQsAaNq0KSwsLHRaPxEVDa/N/PjLgIiIiIjIwMTn6boPAOwtOaYUGb5POnoqzUe+TsWBGzGlFA0RERERERkaJqWIiIiIiAxMfKpyUsrESAJrM3ZyQIbPz9MZ3lXslJatDX4IuVxQswYREREREZUnTEoRERERERmY+DzjSdlbmnKwaioTJBIJJnbwUFp278UbHL3zopQiIiIiIiIiQ8KkFBERERGRgcnbfZ+jJceTorKja72KqF3RWmnZmuAHEAS2liIiIiIiKu+YlCIiIiIiMjB5u+/jeFJUlkilEkxor9xa6tqzRJwKjy2liIiIiIiIyFAwKUVEREREZGDytZSyYkspKlt6NayMao6WSstWBz8opWiIiIiIiMhQMClFRERERGRgVI0pRVSWGBtJMaF9LaVloRFxuBgZV0oRERERERGRIWBSioiIiIjIwMSl5m0pxe77qOzp4+OGynbmSstWH2drKSIiIiKi8oxJKSIiIiIiA5O3+z4HtpSiMsjUWIoxfjWVlp24/wo3niWWUkRERERERFTamJQiIiIiIjIwebvvY1KKyqoBvtXglGdMtDUcW4qIiIiIqNxiUoqIiIiIyMDkaynF7vuojLIwNcKodjWUlv1z6znuv3hTShEREREREVFpYlKKiIiIiMiACIKA+FR230dvjyEtq8PW3Fhp2Vq2liIiIiIiKpeYlCIiIiIiMiBpWTJkZMuVljlaMSlFZZeNuQmGt1FuLfXXtWg8fp1SShEREREREVFpYVKKiIiIiMiA5B1PCgDs2VKKyrgRrd1haWokzssF4McTD0sxIiIiIiIiKg1M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97+rZ8+eqlmzpry9vVWhQgW1aNFCzzzzjHbt2lWovBibKOscMTYlKSYmRt9++61ee+013XXXXapQoULOdd54441C58XYRFnnqLF5ze+//64///nPatSokfz8/FStWjV1795dn332mTIzMwt8HcYmUHDLly/X/fffr+DgYPn4+Khq1arq2rWrJk2apJSUlAJfx1HjF0C2qKgojRgxQg0aNJC/v798fX0VEhKie++9VwsXLpTVai3QdRibwK174403cn7HLejXzf59WWrGphVAidGjRw+rJLtfdevWLdA1Pv/883yvkfd6W7duveG1rl69ar377rvzvYbZbLb+61//csB3Drg3R4zNOnXq3HRcmkwm6yuvvGK1WCw3vBZjE8jmiLF5/PjxG47Lf/zjHwXOh7EJZHPE2Lxm+vTpVh8fn3yv16VLF+uFCxdueA3GJlBwV65csQ4aNOiGfzc2btzYun///pteyxHjF0C2tLQ067Bhw276b8oePXpYL1++fMNrMTYBx/jHP/5RoGewub+++uqrfK9XmsYmM6WAEsSa6xMtlStXVu/evRUQEFCoa5hMJjVu3FijR4/Wxx9/rCVLlmjz5s1au3at5s6dq759+0qSTpw4od69e+vMmTP5XmvUqFFavny5JOnOO+/Ud999p82bN2vGjBlq2LChLBaL/v73v2v69OlF+G6BksMRY/PUqVOSpEaNGunVV1/V0qVLtXXrVq1bt07/+te/VLlyZVmtVv33v//V+PHjb3gtxiaQzRFjM/c1TCaTGjVqpO7duxcpH8YmkM0RY1OSfvjhBz311FNKS0tT9erV9eGHH2rTpk1atWqVhgwZIknauHGjhgwZIovFku91GJtAwVitVj3wwANatmyZJKlDhw6aN2+etm7dql9++UV/+ctf5OPjo8OHD6t///66ePFivtdy1PgFkO3FF1/UwoULJUlBQUF699139fPPP2vdunX6+OOPVbduXUnSmjVr9OCDD+Z7HcYm4DjPPPOM9uzZc8OvnTt3qkKFCpKkChUq6N5777V7rVI3Nl1YEANQSJ999pn1yy+/tB4+fDinrW7duoX6VGlGRsZNY95///2cKvvLL79sN2bNmjU5MYMGDbJmZmYa+s+fP58z86Ny5crWS5cuFSg/oCRyxNjs2rWr9fvvv893FtQff/xhrVatmlWS1dPT03rkyBG7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", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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jwlra2vY2dnB29sb7du3x4QJE7B161bcuHEDQ4YMsUh/vby8xJFCAODrr7/WGKmDiKg2kQiClkGCiYiIiIiIiIiIiIiIiMyImVJERERERERERERERERkcQxKERERERERERERERERkcUxKEVEREREREREREREREQWx6AUERERERERERERERERWRyDUkRERERERERERERERGRxDEoRERERERERERERERGRxTEoRURERERERERERERERBbHoBQRERERERERERERERFZHINSREREREREREREREREZHEMShEREREREREREREREZHFMShFREREREREREREREREFsegFBEREREREREREREREVkcg1JERERERERERERERERkcdbV3QGqfnl5eYiIiAAAeHl5wdqaLwsiIiIiIiIiIiIiokdVUVER7t+/DwBo0aIF7OzszNIuow+EiIgIdOjQobq7QURERERERERERERENczJkyfRvn17s7TF4fuIiIiIiIiIiIiIiIjI4pgpRfDy8hLvnzx5Ej4+PtXYGzKH3NxcHDx4EADQo0cP2NvbV3OPiAjgsUlUU/HYJKqZeGwS1Uw8NolqJh6bRDVTbT42ExISxBHW1GMIlcWgFGnMIeXj4wN/f/9q7A2ZQ25uLjw9PQEA/v7+terNjuhhxmOTqGbisUlUM/HYJKqZeGwS1Uw8Nolqpofl2FSPIVQWh+8jIiIiIiIiIiIiIiIii2NQioiIiIiIiIiIiIiIiCyOQSkiIiIiIiIiIiIiIiKyOAaliIiIiIiIiIiIiIiIyOIYlCIiIiIiIiIiIiIiIiKLY1CKiIiIiIiIiIiIiIiILI5BKSIiIiIiIiIiIiIiIrI4BqWIiIiIiIiIiIiIiIjI4hiUIiIiIiIiIiIiIiIiIotjUIqIiIiIiIiIiIiIiIgszrq6O0BERERERERERET0KFAqlcjKyoJCoUBBQQGKi4vN1q6HhwcA4M6dO5BKmYtAVBNU57FpZWUFmUwGuVwOJyenGvO+wKAUERERERERERERkYVlZmYiLi4OgiCYvW1BEGBvbw8AKC4uhlKpNPs6iMh01XlsFhUVIT8/H5mZmZBIJPDz84Ozs3OVrV8XBqWIiIiIiIiIiIiILEhbQEoikcDKysps65BIJAAAa2ue8iWqSarr2CwuLhbfcwRBQFxcXI0ITPEdioiIiIiI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Dx40nGduAoWzZcsWSbbHTTdu3Djf6/r27StJSk1N1TfffJPrvDPmL4ArUlNT7ccNGjTI97qGDRvaj1NSUnKdZ24CJevy5cv6+uuvJUn169dXt27d8ryuLM5NQikAufz000/2539HRETkOr9582b7f2B69OiR7zg+Pj7q1KmT/Z60tDQXdAuUH9m/cPDwyP1POHMTcE/MTcD51q1bJ0m65pprVKNGjXyvyz7n1q9fbzjH3AQKJyYmRpJUvXr1Aq/Lfv6XX37Jdd4Z8xfAFU2aNLEf//nnn/lel/0HG7Pfk4W5CZSsxYsXKykpSZJ07733ymKx5HldWZybhFIAJElxcXHas2ePJk2apDvuuMNe/9e//pXr2r1799qP8wqtsss6n56e7vYpPeDusn9Rn9fcY24C7om5CThXfHy8oqOjJTk+pyTjXMz5mrkJXF1gYKAk6dKlSwVel/38nj17DOecNX8BXNGqVSt17txZkjRnzhydPHky1zVxcXGaNm2aJKlevXq66aabDOeZm0DJmzdvnv34vvvuy/Oasjo3CaWAcmzSpEmyWCyyWCwKDg5W8+bN9cILLyguLk6enp6aNm1anktHjx8/bj/O7zEnWcLDw/O8D0DhJCYm2r+I8PHx0a233prrGuYm4J6Ym4BzRUdHy2q1SirenGJuAoXTtGlTSbZvdJ07dy7f69auXWs/PnbsmOGcs+YvAKOPPvpIdevWVUxMjNq2bas333xTa9as0fr16zVjxgy1bt1af/31l6pUqaLPPvvMvmVDFuYmULKOHj1qXwHVpUsXw+M1syurc5NQCkAuvXv3VlRUlB577LE8z8fFxdmPg4KCChwr66fpJFu6D6BoJkyYYP+i/pFHHlHt2rVzXcPcBNwTcxNwLmfNKeYmUDhZPxSVkZGh//znP3lec/DgQX388cf219nnWc7XzDvAeSIiIrR161a98MILSkhI0BNPPKFevXqpW7duGj16tKKjo/XEE09o+/btuu6663Ldz9wESta8efPsYdP999+f73VldW4SSgHl2JgxY7R7927t3r1bv/32mz7++GP16tVLq1at0l133aVNmzbleV9ycrL92MfHp8D3kf2nb7KekwqgcD777DO9++67kmw/ofryyy/neR1zE3BPzE3AuZw1p5ibQOGMHj3a/lPaM2fO1L333quoqCilpqbqwoUL+uST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", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABpMAAARFCAYAAABSeDp3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdd3gU1f7H8c+mh4Q0ikivoQgqJfQqlisqKCKIShMVwYaFpkhR8BJUxKsX0CuCFBEQwQKCilIF6UikSiciNRAC6ZnfH/ll3Ek2ySbZZAO8X8+zDzNnz5zz3c3u7DLfPefYDMMwBAAAAAAAAAAAADjg4e4AAAAAAAAAAAAAUHyRTAIAAAAAAAAAAEC2SCYBAAAAAAAAAAAgWySTAAAAAAAAAAAAkC2SSQAAAAAAAAAAAMgWySQAAAAAAAAAAABki2QSAAAAAAAAAAAAskUyCQAAAAAAAAAAANkimQQAAAAAAAAAAIBskUwCAAAAAAAAAABAtkgmAQAAAAAAAAAAIFskkwAAAAAAAAAAAJAtkkkAAAAAAAAAAADIFskkAAAAAAAAAAAAZItkEgAAAAAAAAAAALJFMgkAAAAAAAAAAADZIpkEAAAAAAAAAACAbJFMAgAAAAAAAAAAQLZIJgEAAAAAAAAAACBbJJMAAAAAALhKtG/fXjabTTabTatWrXJ3OAAAALhOkEwCAOAq17dvX/OikqNbQECAKlSooNtuu00jR47UgQMHnG575syZObad3W3w4ME5tnvx4kW9++67uuOOO1S+fHn5+vqqTJkyatSokV577TXt378/T8/BlStXtH79ek2ePFmPPvqoateuLQ8PDzOeMWPG5Kk9R7Zt26bhw4erSZMmuvHGG+Xr66vy5curUaNGevzxxzV79mz9/fffTre3cuVK9e7dW+Hh4QoICFBYWJhuvvlmDRkyRHv37i1wvJnZv0769u2bbb0jR47k62+e023mzJlm+2PGjMl3O1WrVnXJc+Hodd21a9c8tfHHH38UWnyOpKWlqWLFipb+tm3bVmj9AQBwLbJPxjq6lSxZUpUrV9bdd9+tt956S9HR0fnqZ//+/Ro5cqRuu+02lS9fXv7+/vLx8VFoaKhuuukm3XfffRo9erSWL1+u+Pj4bNtZtWpVjvF6e3urdOnSuuWWW/T4449r2bJlSktLczrOnNr29PRUaGio6tatq169eunLL79USkpKvp4PAMA1wgAAAFe1Pn36GJKcvtlsNuOZZ54x4uPjc217xowZeWo74/bCCy9k2+b8+fONkJCQHI/38fExxo8fb6SlpeUa49ChQw1PT88c2xs9enQenlGrU6dOGY8++qhTj/uZZ57Jtb2LFy8aPXr0yLEdb29v46233sp3zI7Yv0769OmTbb3Dhw/n62+e023GjBlm+6NHj853O1WqVHHJc+Hode3j42OcPXvW6TaGDBlSaPE5smLFiiz9Pf/884XWH64N7dq1M18vv/zyi7vDgYs483e1P9cW5DMQVz/7z3/7z2NXsf9cuhrYv3+cuXl7extjx4516jupYRjGhQsXjH79+uWpDz8/P2PPnj0O2/vll1/y/H3plltuMaKiopyKN69t16pVy9i0aZPTzzcA4NriJQAAcM2oU6eOOnbsaCmLi4vTnj17tHnzZhmGIcMw9N///lcnT57UokWLnG67ZMmS6t27t1N127Rp47B82rRpGjhwoLnv6+urtm3bqkqVKoqLi9Ovv/6qY8eOKSkpSa+99pouXryoyMjIHPs6deqUUlNTnX4ceXHs2DG1b99ehw8fNsuqVaumRo0aqVSpUoqPj9eBAwe0Y8cOJSQk5NpecnKyunbtqpUrV5pl9evXV+PGjRUfH681a9bo77//VnJysl599VUlJydr1KhRhfLYshMUFKRnnnkmxzqbNm3S5s2bJUnly5fXAw88kGP9unXrOix35lh7pUqVcrpuXiUlJemLL77I9bFL6aOEPv/880KLxZHPPvssS9nnn3+ud955R97e3kUaCwAA14KIiAg1bdrUUnbx4kXt3LlTu3btkpT+3W306NG6cOGCJk2alGN7Fy9eVMeOHbV161azzN/fXxEREapWrZr8/Px08eJF/fnnn9q1a5cSExMlSQkJCU59j5SU5XtKUlKSoqOjtX79el28eFGStHPnTnXo0EEbNmxQjRo1nGpXku6//35VqFDB3E9NTdWpU6e0bt06nTlzRpJ04MABdejQQWvWrFGjRo2cbhsAcG0gmQQAwDWkWbNm+vDDDx3et3v3bj388MPmf46/+uorLVq0SA8++KBTbYeFhWXbtjN27Nih559/3ty/66679Omnn6p8+fJmWVpamj766CO98MILSk5O1sSJE9WyZUt16dIl1/Zr1qypiIgI8zZ06FBt2LAh3/FevHhRHTp0MBNJjRo10gcffKCWLVtmqRsXF6elS5fKMIwc23zzzTfNRJKfn59mzJihhx9+2Lw/KSlJI0eO1Ntvvy1JGj16tNq1a6d27drl+3HklTN/5zFjxpjJpFq1auX7dVGQY12lZs2aOnr0qJKTkzVr1iynkkk//fSTOe1NvXr1tHv37kKNMTY2VosXLzb3/fz8lJCQoLNnz2rZsmVOvT8AXDtYJwlwjU6dOmU7FfKvv/6qhx9+WMePH5ckvffee3rkkUfUpEmTbNt7+eWXzUSSl5eX3njjDT3//PMKCAjIUjcxMVE//vij5s+fr4ULFzodc3bfmy5fvqzXXntN77//viTpzJkzGjx4sL799lun237hhRfUvn37LOVJSUl6++239frrr8swDF2+fFl9+vTRzp075eHB6hkAcD3hrA8AwHWiXr16+v777y3/of3oo4+KrP/Ro0crOTlZknTLLbfom2++sSSSJMnDw0MDBw7U5MmTzbLhw4fnOD/7a6+9pvPnz+vAgQP6/PPP9eKLL6p169by8fEpULyvvPKKDh06JElq27at1q5d6zCRJEmBgYHq0aOHJTGU2enTpy2/aJ08eXKW+j4+Ppo4caJ69Ohhlo0YMaIgDwO5KFWqlDp16iQpfcTVvn37cj3GfpSQs6P1CmLhwoXmegrh4eF68sknHcYCAABco2XLlvr6669ls9nMso8//jjb+qdPn9aMGTMsdUeMGOEwkSSlj86/9957NXv2bB0/flzVq1cvULwBAQGaPHmy7r//frPsu+++019//VWgdqX076evvfaaXn75ZbMsKipKP/30U4HbBgBcXUgmAQBwHalQoYIeeughc3/dunW5jqZxhbi4OH3//ffm/pgxY3JM9jz99NOqWrWqJGnv3r364Ycfsq1bq1YthYaGuixWKX0U1SeffCIpfXq/uXPnqkSJEgVq87PPPtPly5clpScEnnrqqWzrTpw40fyl54YNG7R9+/YC9Y2c9enTx9yeNWtWjnUvXbqkJUuWSEpPit5yyy2FGZoka8LosccesySwli5dqnPnzhV6DAAAXG8aNmxoGR2+Zs2abOv+9NNPSktLkySVK1dOffv2dbqfMmXKKCgoKN9x2hs8eLBlP6eY82rEiBHy9PQ090kmAcD1h2QSAABFyGazmbcM+/bt0+DBg1W3bl0FBgYqKChIt9xyi0aMGKGzZ8+6PIaGDRua2/Hx8YqJiXF5H5lt3brVHJXk6empO++8M8f6Hh4euuuuu8z9vKzt5ArTpk0ztx9//HFVrFixwG1mJCAkqW/fvpbXQGaVK1e2rH1lP8UZXO+ee+4x12OaM2dOjgnWL7/8UleuXJFUNKOSDh06pHXr1klKP3889thjatKkierUqSMpfeqZefPmOTx20aJF5vkmo74zjh49Kg8PD9lsNvn4+OSYrEpOTtbs2bPVvXt3Va9eXSVLllRAQICqVaumnj17avHixbkmrFetWmXGaT+9zrJly9SzZ0/VqlVLgYGBstlsllGLGf2vWLFCQ4cOVYcOHVS+fHn5+fnJ399fFStWVKdOnfT+++8rLi7O6ccvpU8X9Pbbb6t58+YqVaqUAgICFB4erscff1ybNm0y6zk6p+fk3Llzevfdd3XHHXeoUqVK8vPzU0hIiOrVq6dnnnlGW7ZsyVOc2cmIafXq1WZZhw4dLPFm3GbOnGk5tmrVquZ9R44ckSQdPHhQr732mho2bKgyZcrIw8NDt956a5Z+9+zZo/fee09du3ZV7dq1VbJkSXl7e6tMmTJq0qSJXnzxRaenhWzfvr0ZR8a0bufPn1dkZKQiIiJUunRp+fv7q3r16urfv7+ioqKcajc5OVlz5sxR165dVb16dQUGBsrX11fly5fXzTffrHvuuUfvvvtutu1l93pdsmSJunTpoipVqsjX11dlypTR/fffb75/7SUmJuqzzz5Thw4dVKFCBfn5+alq1aoaMGCAjh49mq/nJvN9Y8eONcvGjh3r8G+fl4vdOYmNjdUHH3yg++67T1WrVrU8px07dtTYsWP1xx9/5PmxODJmzBizfnbTkzmqEx8fr+nTp+vOO+9U5cqV5ePjI5vNph07dkiSZs6cmeV5SU1N1RdffKEuXbqoevXq8vf3l81ms3ye29u8ebNefPFF3XrrrSpTpox8fHxUrlw5tWvXTpGRkU5933L0/jtx4oRef/113XLLLQoJCVFAQIDq1Kmj5557LsfXS0Zb9j9I6Nevn8PXQnbPZXbs3wf2HLVt/1gcWbFihR5//HGFh4crKChI/v7+qlKlih544AHNmDHD/P7oLvbfm3Ma5XPixAlzu0qVKk5/LriafbxSzjHnVVhYmMLDw839jBH8AIDriAEAAIqMJPNmGIYxdepUw9fX11JufytVqpSxefPmHNvs06ePWb9Pnz65xvDxxx9b+oiOjs627owZM8x6VapUyctDtZg/f77Zzg033ODUMW+99VaB+m7Xrp15/OjRo50+LiUlxQgKCjKP3bRpU577ziw+Pt7w8PAw2/z1119zPWb8+PFm/VatWhU4hry+TnIyevRos6127doV2bGuYv+6btasmWEYhjFo0CCz7Oeff8722Pbt2xuSDE9PT+PkyZPG999/75L3SHbsn6/WrVub5favjyZNmjg8NiEhwQgJCTHr5XYucdR2586ds633yy+/GDVq1Mj2/JVxa968uXHixIkc27F/TVy4cMF44IEHHLb13nvvmccdO3bMKFWqVK79SzJKly5t/PDDD049/m3bthlVq1bNti2bzWaMGjXKMIys5/ScfPjhh0ZwcHCOcdpsNuPxxx83EhMTnYo1O848Jxm3GTNmWI6tUqWKed/hw4eNjz76yPDz88ty3C233GI57qGHHnKqP5vNZgwePNhISUnJ8THYn8N/+eUXY926dUaFChWybdfT09P4+OOPc2xz3759Rt26dZ1+bg4cOJCljcyv17i4OOPBBx/M8fH+73//M4/fv3+/Ubt27WzrBwYGGmvXrs3Tc5PdfbndCvpZYBjp32NCQ0Od6u/777/P02NxxP6cmN1ne+Y6u3fvNm666SaHMW3fvt0wDOvnQp8+fYzo6GijTZs2Do9ZvHixpb/z58/n+BrIuIWEhBgLFy7M8fFlfv8tXrw4x/OGv7+/8d133+XaVm63vHxPMgzr+8CZ2+HDh7O0cerUKaNjx465HlurVi2nP7+ckdfvh6+++qpZ39vbO9t6EydONOuVLVvWZfFmfq5zk5SUZKk/fvz4HOvb13XmPdiyZUuz/h133OHswwAAXCO8BAAA3GLmzJkaOHCgJKl27dpq0qSJ/P39tXfvXq1fv16GYejcuXO67777tGfPHoWEhLikX/tfKHp6epojMgqTYTcyIT+/1Dx27Jji4uIUGBjoyrAcioqKUmxsrKT0+ecbNmyoxMREzZw5U59//rn27Nmj2NhYlS5dWrfeequ6dOmiPn365Dht3759+8ypT2w2W5ZfjTrSqFEjc3vPnj0FfFTITe/evTVlyhRJ6VPddejQIUudo0ePmiM97rzzTpUrV65QYzIMQ7Nnzzb3e/XqZW4/9thjGjlypAzD0JYtW7R7927Vq1fPcryvr6+6detmTtk4d+7cHBcOzzB37lxLP44sXLhQjz76qPmLcT8/PzVv3lxVq1aVp6en9u/frw0bNiglJUUbN25UixYttHnzZt1www25PubHHntM3333nWw2myIiIlS3bl0ZhqGoqCjL+ePy5cvmqKnQ0FDddNNNqlKligIDA5WUlKTDhw9r48aNSkhI0NmzZ9WpUyetXr0627XPJGn//v264447LKOxGjZsqFtuuUWpqanaunWrdu/erTfeeEOlS5fO9bnM8OKLL1pGVZUqVUrNmzdX+fLllZCQoO3btysqKkqGYejTTz/VX3/9paVLl+Z7YfNnnnlGUvqoxoxz/v33368KFSpkqVu3bt1s21m4cKGGDh0qKX2a1JYtWyo4OFh//fWXzp8/b6l77NgxSemLzterV0+1atVSSEiIPD09dfr0aW3evFnR0dEyDEOTJ09WYmKi+Z7LTVRUlEaMGKG4uDiVLVtWbdq0UalSpRQdHa2ff/5Z8fHxSk1N1dNPP6369eurRYsWWdq4dOmSbr/9dh0/flxS+gjYhg0bmqOCr1y5oujoaO3cuTNPo4L79++vRYsWycfHR23atFG1atV08eJFrVy5UufPn5dhGBowYIBq166t8PBwdejQQdHR0QoJCVG7du1UtmxZRUdHa+XKlUpMTFRcXJy6du2qffv25WsK1wceeED169fXpk2btHnzZklSRESEmjZtmqVu8+bN89y+veeff14ffPCBue/p6amIiAjVqlVLfn5+OnPmjHbs2GGOSklISChQf/lx7tw5/etf/9KxY8fk5+enNm3aqEqVKrp06ZI2btzo8JjExER17txZW7dulZeXl1q2bKmaNWsqISFB27Zts9T9+++/ddttt1k+p+vWratbb71VJUuW1OnTp7Vu3TqdPXtWFy5cUPfu3TV79mw9+uijuca+cuVKDRgwQKmpqapcubJatGihoKAgHT58WKtWrVJKSori4+PVvXt3RUVFqVq1apbj+/Tpo3PnzmnlypXau3evJKljx44OR6o6en3kpEKFCuZ55r///a9ZnlGWWeYp3E6dOqVWrVrp4MGDZlmNGjXUrFkz+fr6avfu3frtt98kSQcOHFCHDh20fPlytWrVKk9xuoL99+ayZctmW69mzZrm9unTpzVr1qwiGcGcWeaRSDnFnB/2I+yCg4Nd2jYA4CrgtjQWAADXIdn9+s/X19coU6aMw1/qrl692jI6ZuzYsdm2mdcRJ82bNzfrN27cOMe6rhqZtHLlSrMdT09P4/Lly7keM2DAAMvzlddfpeZ3ZNL//vc/87hGjRoZe/fuNerXr5/jr2arVatmbN26Nds28zMy648//rD0cfr0aacfgyOMTPqHo5FJhmGYowVKlizp8DX65ptvmsfNmzfPMAyjUEcmrVmzxmzbx8fHOH/+vOX+jFFSkoxhw4Y5bGPVqlVmnXLlyuU6GmTbtm1m/aCgICM+Pj5LnaioKKNEiRJmvcGDBxvnzp3LUu/gwYNG69atzXp33323wz7tf3Xt5eVlSDIaNGhg/P7771nqJiQkmNtHjhwxnnvuOeO3334zUlNTHbZ98eJF45VXXrH8wj27umlpaZZ4y5Yt6/BX2kuWLDFKliyZZVRpdqZPn27WCQwMNKZOnepw5NHPP/9sGXkTGRmZbZvOyuuoD8Owjmbw8vIyfHx8jI8//thIS0uz1LP/WxiGYQwfPtxYsGCBcfHiRYftpqWlGd98841RpkwZs/2cRuDYx+7r62t4enoa7777rpGcnGypd+zYMcs5ukOHDg7be++998w69erVM/bu3ZttnJs2bTIGDhxoHDt2LMv99q9XHx8fQ5LRtm1b4+jRo5Z6Fy5cMDp06GCJq0uXLoYk47nnnjPi4uIs9ffs2WOUL1/erD9mzBinnpvs/q7OjOApiKlTp1pe/927dzeOHz/usO6uXbuM559/3lixYkWW+wp7ZFLGOaVbt27GmTNnLPVSU1ONpKQkwzCsnwsZx7Rr187hiJqM135qaqrlb9yoUSOH31Xi4+ONMWPGGDabzZBkBAQEGIcOHXIYu/37z9fX1wgICDBmz56d5f0XFRVlOV/069cv2+fM/vM/80hEV3DmPJjZ3XffbR5TokQJY+7cuVnqbN682ahevbpZr1KlSkZMTEyB483L98Pk5GSjUqVKZv0HH3ww27oXL160fHf39vY2Bg8ebERFRRUo3ryOTJo2bZql/q5du3Ksb183t/fg2bNnLSPthwwZkpeHAgC4BpBMAgCgCNn/h83X19fYuXNntnU//PBDs26dOnWyrZeXJMHMmTMtMXz00Uc51re/uFKyZEnjmWeeyfX25ZdfZmknJibG8p/PzFPEZJaampplmilHF6Fykt9k0qhRo8zjmjRpYlSuXNnyd+jVq5fRt29fo1GjRpb4AgICjG3btjlsc8qUKWa9m2++2ak4zp07Z2k/uwufziqOyaTy5cs79ZrKuG3cuLFAcWfILplkP73bnDlzshwXHh5uSDKCg4PNJEthJpP69+9vtt21a9cs99snKSpUqOAwSZKWlmZ5Def2Pnr55ZfNuo8//rjDOrfddptZZ9y4cTm2FxcXZ5lWzNHfMPOFsnLlymW56FtQTz/9tNn+smXLHNb57rvvzDqenp45TnG5dOlSS8zZXeCLjY01pxr09PQ0Vq9enWOcu3fvNqeUK1WqlFOJ95wUNJmU3XuhIDZu3GhJQGQn83RtOX1e7dq1y7xQb7PZjL/++itLHftpyH788cd8x5/59Vq3bl3jypUrDuseO3bMTExk3Pr3759t259//rlTn/vuTiadP3/eKFmypNn+008/ne+2CjuZJMm48847s00iZ7D/XJDSE9rZ/V0zzJo1y6x/6623GpcuXcqxvv33i+yeM/v3n81mc/iDowz256zAwMAsidYMxS2Z9PPPP1uO+frrr7Ote/jwYcs0fzn9uMpZefl+OGbMmDx9F7VPWtvfbrzxRuP+++83xo0bZ/zwww+5vlbs5SWZ9Ndff1mS0i1atMi1ffu2c3sP2v84Q5KxfPlypx8HAODaQDIJAIAiZP8fsOeeey7HurGxseZFKJvNlu2vvXNLEsTFxZm/srZP6HTr1i3XUQqZL644c3vhhRcctmX/n/dbbrklxzVB/vvf/2Zp11GSKif5TSY9//zzWfr29/c35s+fn6Xuzz//bJQuXdqsV6tWLfNXzvbs59G3T17k5MqVK5YYtmzZ4vRjcKQ4JpPyenPVRbDskknHjh0zL0jfeeedlmM2bNhgHvPEE0+Y5YWVTLpy5YrlF86OErCxsbGGv79/rhe5hg8fbtbp3bt3tn2mpqZaLkI5Wjtqx44d5v3h4eG5nkMMwzDmzZuX43kv84WyKVOm5NpmXv32229m+y+99JLDOvbJhpyepwx33HFHrhf4Jk+ebN6fUxLBnv2ozEWLFjl1THYKmkxq2rRpgfrPTkaCsVSpUtnWsY+9QYMGubbZtGlTs/63336b5X77v9eOHTvyHXvm12tOF8INwzDatm1r1vX19c1xlGl8fLw54s1msxmxsbEO67k7mTRhwgTLeS/zKLW8KIpk0u7du3NtN/P3neySzvZuvfVWs35u61wZRvrfNyO5HBwc7DDBZf/+u++++3JsLy0tzShXrpxZP7sRKMUtmdSjRw+nH6NhGEZkZKRZ/8Ybb8wySiuvcvt+ePHiRWP16tXGww8/bHlsgwcPdqr9t956y/D09Mzx+4yXl5dx2223GbNnz871czS3ZFJSUpJx+PBhY8qUKZbP8HLlyjn1QyT7trN7DyYmJhrjx483vyNJMm666aZck7QAgGtP/ibhBgAABfbQQw/leH/JkiVVo0YNSZJhGOZ6FDn57LPPZLPZLLfAwEA1bdpUU6dOVVpamgICAjRkyBDNmzdPnp6eLnkszhg5cqS5vXPnTnXu3FknT5601ElLS9O0adM0ePDgLMfHx8cXdoiS0tdhyeyzzz5T9+7ds5R36NBB33zzjbmuyYEDByzrzWSwXycip7WV7Pn6+lr2i+rxX88qVaqk9u3bS0pfq8J+3YHPPvvM3C6KNRAWL15srt0VFhamTp06ZalTsmRJdenSxWGM9uzXWlq8eHG2r6VffvnFfMwVK1ZUu3btstRZtmyZuf3QQw85dQ657bbbzO1169blWNdms6lHjx65tplZcnKy1q1bp//+9796/fXXNXjwYD377LPmzX5Njx07djhsI2M9LEl65JFHcu3TmTVP7J+vhx9+ONf6Ut6er8LmbMyZ7d+/X59//rnefPNNvfLKK3ruuecsf4+LFy9KSl/PJmMNo5zk9nkpybIWXcYaPfYqV65sbju7VlNu/P39dffdd+dYp379+uZ227ZtVaZMmWzr+vn5WT73HT2O4mD58uXm9pNPPpnl86o4ufnmm3NcF8yR0NBQ3XXXXTnWOXnypHkuqVChglq3bp1ru35+fuZ6XhcvXlRUVFSO9XN73dtsNt1yyy3mfnF9vWT2yy+/mNuPP/54rvX79etnfs86efKk9u3b57JYxo4dm+V7c3BwsNq1a6cvvvhCUvoad5GRkXrvvfecanPEiBH6448/1K9fP5UsWdJhnZSUFP3888/q1auXbr75Zu3atcvpmDPH6+Pjo2rVqmnQoEHmZ3jHjh21atUq1a5d2+l2Jen999+3nKsHDRqkBx98UJUqVdJrr71mroFaokQJzZgxI9/r+gEArl5e7g4AAIDrVYMGDXKtU6pUKXM74+JbQQ0fPlyvvvpqnv8DWKVKlQJdqLj99tv1yiuv6J133pEkrVixQtWrV1fbtm1VpUoVxcXFaf369WbSrGXLltq7d6+5yHt2/yF3NT8/P8t+REREjhd0WrRooa5du+rLL7+UJH3xxRfq27dvtm0mJSU5FUdiYqJl39/f36njribt2rXTqlWr3B2GRe/evfXLL78oNTVVc+fO1ZAhQ5SUlKQFCxZIkqpVq+bURcOCsk8Mde/ePdskZK9evcwLXhkJqMwLnderV0+33nqrduzYoUuXLunrr792mCSYM2eOuf3II484PEds2LDBsv3ss8/m+lgyLj5JyjVxULVqVYWFheXaZob4+Hi99dZbmjZtms6ePevUMY7qnThxwlIeERGRazvO1LF/vmbNmqUlS5bkesyJEyfMbWcSLYWpcePGeaq/dOlSvf7669q+fbvTx5w9e1aVKlXKsY4rPi979Oih6dOnS5I+/vhjbd68WX369NFdd92lOnXqOB2vvfDwcHl7e+dYJzQ01NyuV69erm3a189IKBc3v/32m7ndoUMHN0aSu7y+hiXp1ltvzfU7kv172zAMp86FknTw4EFz+/jx47r55puzreuu74mFKTo6WqdPnzb3W7ZsmesxZcqUUXh4uPbu3StJ2rZtW77fs3nl6empyMhI9e/fP0/H1a5dW59++qmmTJmiX3/9VevWrdOWLVu0bds2RUdHW+ru3r1bLVu21Pr163N8PTirZcuWmjVrlsqXL5/nY535jKpRo4bmzJnj1GcgAODaQzIJAAA3CQ4OzrWO/UWq5OTkXOvXqVNHHTt2NPcTEhJ0/PhxbdiwQZcuXZIkvf7669q3b58+++yzIv9F4dtvv63Q0FCNGTNGycnJSkhI0A8//JCl3u233665c+da/iMcEhJSJDEGBgZa9h944IFcj3nggQfMZNKvv/6aY5vOjjDKXC9zXEiX2wW8WrVq6YUXXnC6vW7duumZZ57RlStXNGvWLA0ZMkTffvutmdTs1auXbDZbgWLOTXR0tH766Sdz335kUWZ33XWXbrjhBp06dUrx8fFauHChw4tejz32mPkr+rlz52ZJJiUkJOirr76y1HfEfrTWzz//rJ9//tmpx5QhJiYmx/tzGrXhqK3bbrst25FG2ck4F9qzTySVKFHCqYRWhQoVcrw/Li7O0tfs2bPzEGW63J6vwpaXv8eYMWM0duzYPPfh6O+RmSs+L++44w69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of/6178KFuz/e+mll8wEWHx8vN59912XtAsAAMkkAACuQ3379jV//WgYhsaPH18k/T777LP67rvvzCmR7CUmJuqDDz7Q3Xffrfj4eEnpI3JyGylRGGrUqKFBgwaZ+3379nWYUPrll1/UuXNn8xezzZs3t4z8sFe2bFnL+hvPP/+8FixYYKmTlJSk4cOHW0anMD2J+zRs2FBNmjRRkyZNLOtjFBb7BFDHjh3z3Kf91HwLFy4030f27rrrLnMasj179ujll182kxudO3c2kwI5+eCDD8wLyb///ruaNm2a40XUP//8U+PHj1e1atW0fv36PD2m7Nx2223mlH0HDx5U3759deHCBUud2NhYPfXUU5o2bVqWqScd6dSpk7k+W2pqqu69916HU1J+/fXXevjhh52ajig4OFjvvfeeuT9jxgzdd999ll+i2zMMQxs2bNCzzz6rKlWqOPwb5kWDBg3M7S+//NLpRFZeeHh4qFOnTuZ+v379HE4TuGDBAnXq1EmpqalO/T1crUWLFurZs6eWLVvm8DNISn9P2K+N1rFjR5dMO+UO9n/7FStWuHStodDQUEVGRpr706ZNU48ePbKd6u2PP/7QCy+8oB9++CHLfffdd5950fvo0aN64oknsrzuz58/r969e2vBggXF6u/x2GOPmdPQpqSk6J577lFkZKQuX77ssH5cXJzmzZun2267zZKcKGz2r4UlS5Zk+/p3RfuZv9c40qFDB8votoceesjhd6zt27erY8eO5o8QKlWqpOeff94FEefdSy+9ZH7uXblyRZMmTcpSJzo6Wk8++aSqV6+ukSNH5jhN8unTp/XCCy9Ypp7u3Lmz6tWr55J4w8LC9Mwzz5j7U6dOdWoaSQAAcuPl7gAAAEDR8/b21ogRIzRw4EBJ0vz58zVmzBiFh4cXar8//fST/vvf/yooKEiNGzdWlSpV5OnpqZMnT2rdunWWX2feddddlqRKdv766y/LhcwMf/75p7k9bdo0LVmyxHJ/+fLltWzZsmzbjYyM1LZt27R27VpduXJF3bt3V926dRURESFPT0/9/vvv2rp1q1n/xhtv1IIFC3L8xezrr7+u9evX6+eff1Z8fLx69OihcePGqVGjRkpISNCaNWssiy+PHTvWMvWWq3zzzTe69dZbna7/9NNP6+mnn3Z5HAcOHLAsFO2MESNG5Limz9Xq7Nmzltdj5jWbnNGtWzc9++yzSkxMVGxsrBYvXqxHHnnEUsfLy0s9evTQhx9+KEn66quvzPucTdzWr19f8+bNU48ePXTlyhXt27dPd9xxhypVqqSIiAiVLl1aSUlJOnPmjHbu3Fkoa4mEhobqlVde0RtvvCEpfSTR999/r2bNmqlChQo6efKkVq1apcuXL8vT01NTpkzJMnVhZh4eHvr000/VqlUrnT9/XqdPn1aHDh3UqFEj3XzzzUpLS9OWLVvMC4T/+c9/zAubOb3v+/btq0OHDpkjLpcuXaply5apfv36ql+/voKCgnT58mVFR0dr+/btWZJiBdG1a1eNGDFChmFo6dKluvnmm9WyZUvLOjUPP/ywmjRpUqB+Xn/9dX399deKj4/XkSNH1Lx5c7Vo0ULh4eFKSkrShg0bzDW6nnzySe3fvz/HEUyFITk5WV988YW++OIL+fv76+abb1b16tUVFBSkmJgYHTx40HJO9/f31zvvvFOkMbpSRESEKleurGPHjunvv/9WnTp1dOedd6p06dLm6zUiIiJPIyDtDRo0SFFRUeZIswULFmjRokWKiIhQeHi4/Pz8dObMGW3fvl1HjhyRZJ3eLEOJEiX0+uuva+jQoZLSp9384Ycf1KFDBwUFBen48eNas2aNrly5ovr16+uuu+4qNqMsPD09tWDBAt1xxx3avn27+YOQN954Q82bN1flypXl4+OjmJgY7d+/X7t37zZHreQ2CtSV7r77bpUoUUJXrlzRzp07VbduXbVv314hISHma+HOO+/UnXfema/2H3zwQXN00fDhw7V8+XLddNNNlsTfa6+9ptDQUHN/xowZatWqlQ4ePKi4uDh1795dtWrVUrNmzeTj46M9e/Zo48aNZgI8ICBA8+bNK/TpZrNTqlQpPfPMM2YS9cMPP9SQIUMsjynDiRMnNH78eI0fP16lSpVSo0aNdMMNNygwMFCXLl3S/v37tW3bNsvI0/DwcE2bNs2lMb/88sv64IMPdPnyZcXFxWny5MmWkf8AAOSLAQAAiowk8+aMdu3amfV/+eUXh3X69Olj1unTp4/TsSQmJhoVK1bM8dgZM2aY91epUsXptrNTu3Zty3Pg6Obr62uMGjXKSEhIcKrNw4cP59qmo5szj+fChQtGz549c22rWbNmxrFjx5yK98KFC0b37t1zbM/b29sYP368U+05y/51ktfb6NGjLW2NHj3avK9du3Z5isP+2Pzctm/fXuDnwv513axZswK19f3337vkPfL++++b7fj7+xuxsbH5aqdr165mO3feeafDOhs3bszyvJYqVcpISkrKU187duwwGjdu7PTfrmrVqg7/fr/88ku+Xk8pKSlG7969c+wzJCTEWLx4seU8kdvfacuWLUblypWzbdNmsxmvv/66kZSUZJYFBQXlGu/8+fON8uXLO/18NW3a1OnzYE5GjhyZYz8zZsyw1K9SpYp53+HDh53uZ8mSJUaJEiVy7Oupp54yEhISnPpsc6aOPftzS+ZzlmEYRv369Z1+7qtVq2asX7/eYT95fb3mFldmrnxuli5davj6+mb7OPPynSE7kydPNoKCgnJ9Tm02m7FixQqHbaSmphpPPPFEjsc3b97cOH78uFPPZ16fc8Owfi7k9Xm5cuWK8fTTTxteXl5Ovb78/f2Nt956y2FbeX3/2X+2Z34v2/v4448NDw+PbGNy9nlyJDk52ejQoUOOj9nRY/n777+N2267Ldfnq2bNmsamTZvyHV9m9u+fvDzu06dPGwEBAdkeu379eiMiIsKw2WxOn2skGY899phx+vTpbPu1P+dIebuEN2TIEPO44OBg48KFC1nq2LftzLkWAHB9Y5o7AACuUz4+Pho+fLi5P3fuXPOX44Xlyy+/1Lvvvqt7771XtWvXVmhoqHx8fFSxYkW1adNGkZGR2r9/v8aOHVssprIJDg7W559/rtWrV6t///6qXbu2AgMD5e/vr6pVq+rhhx/WV199pQ0bNqhSpUpOtzl//nz9+OOPeuyxx1SjRg2VKFFCwcHBql+/vl5++WXt3LlTr776aiE/OhQn9lPc2U/7lFf2I5p++uknh+tXNGvWLMsoxB49epjrhDnrlltu0ZYtW7RixQoNHDhQN998s0qXLi0vLy8FBASoatWquvPOOzVq1CitX79ehw4dytOIuNx4enrqs88+07fffqv77rtPZcuWlbe3t8qWLasmTZrozTff1B9//KH7778/T+02btxYf/zxhyIjIxUREaGQkBD5+/urZs2a6tu3rzZs2KA33nhD58+fN49x5tfy3bt316FDhzRz5kz17NlTNWvWVHBwsDw9PRUUFKS6deuqa9eueu+997Rv3z799ttvLjkPvvnmm/r+++/10EMPqVq1aub0gK7WpUsXRUVF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+Hy3B9cimQS4UOaEEokkAAAAAAAAZPDwsKlUoG+h9zN11UFLImnYv+poYPsamrrqoCKX75UkffDznyrh46WB7WsUejxIN2bMGI0ZM6bA7fTu3Vvjx4/X7t27dejQIUlSr169CtxuZnXr1tXatWv1559/KiUlRV5ejtMJe/futRxTEHXq1DG3d+3aVaC24FpMcwe4WP8G/eVp87SUedg81LNOTzdFBAAAAAAAgOuFfcJI+ieRJEkD29fQsH/9c7E+cvleTV11sMhjRMGEh4eradOmkqSEhAT5+PioR48eLu+ndevWktKnsNu6dWu29VavXm1ut2rVqkB9pqSkmNvJyck51ERRI5kEuNj0XdOVaqRaytKMNPX/gVFJAAAAAAAAKDw5JZIykFC6NvTp00e+vr7y9fVV586dFRYW5vI+7r//fnN7xowZDuukpaVp1qxZkqSQkBB16NChQH1u3rzZ3C7IlHlwPZJJgAtN3zXdnOIus6izURqxdkTRBgQAAAAAAIDrgjOJpAwklK5+gwYNUkJCghISErRw4cJC6aNp06Zq06aNJGn69OnasGFDljrvvvuu9uzZI0l64YUX5O3tne/+YmJi9O9//9vc79SpU77bguuxZhLgIjklkjJ8d+g7lQsopxcavVA0QQEAAAAAAOCat/nIeacTSRky7s84LnL5XjWpGqqIqq4f4VLYdu3apZkzZ8rDI+exE61bt1bNmjVd0mdUVJRT9apUqaKSJUu6pE93eP/999WqVSvFx8frzjvv1KuvvqoOHTooPj5eX3zxhT7++GNJ6VPvvfzyy7m2t3//fsXFxZn7hmHowoUL+u233/TBBx/o2LFjktL/Vl26dCmcB4V8IZkEuIAziaQMn+z6RAHeAXqiwROFGxQAAAAAAACuCxFVw/RCx1p6f+UBpxJJGewTSi90rHVVJpIkadmyZVq2bFmu9WbMmOGyZFKDBg2cqrd48WLLdHFXm4YNG2r+/Pl67LHHFBsbq1dffTVLnfDwcC1dutSppNldd92Va50OHTroyy+/lM1my1fMKBwkk4ACypxI6lmnp+btnZfjMe9ve1822dS/AesoAQAAAAAAoOBevCNcrWuVznNCaGD7GlftiCQUjfvuu0+///673n//fS1dulQnTpyQj4+PatasqYceekjPPvusSpQoke/2AwMDdeONNyoiIkI9e/bU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qQnZ3R4uHgxrMoxfuv9CzVI17U4/euEojy16jA82fkBiemLeahURERERKQEUJomIiIiIiEieebm58FTbGqwZ3pE376pNsI+7w3FrD0bTb9J6HvxmAxsPx+T9Rh5+0PgxeHI5PLMObn8aPPxzHn9yE8x7Hj4Ng/kvwamtYLEAcGvwrfx616882+BZXIwuNqdZsDB933R6z+3NP6f+yXudIiIiIiLFmMIkERERERERuW6ebiYGtanOmuEdePOu2pT2dRwq/XMohvsnb6D/5PWsP3QdoRJA2Vuh+xjr3kr3fgNV2+Q8Ni0etv4I33SESa1h42RIPoeryZXB9Qcz8+6Z1AuuZ3daRGIETy97mjfXvsn51PPXV6eIiIiISDGjMElERERERERu2OWh0tt316FMDqHShsOxPPDNBu7/ej3/HIrGcnHWUJ64esJt98Fjf8IL26D1UPAuk/P4M7tg4avwSSj8/iQcXcstATWY2m0qrzR5BQ+Th90pcw/Npeecniw7tizv9YmIiIiIFDMKk0RERERERCTfeLiaeKJ1NVYP78DIe+oQ4uc4VNp4JJYHv9nI/V9v4J+D1xkqAQTVgM4jYdgeuP8XqNkFDDn8UzczFXb+Bj/eBRMaY/rncx6t3JXfe/xO07JN7YbHpMQwdOVQhq0cRnRy9PXVJyIiIiJSDChMEhERERERkXzn4WrisVbVWPVqB0b1qEtZP/vZPwCbjsby4Lcbue/r9aw9cAOhkskVat8NA36DITuhw//Av3LO42MPwbKRMK4Olf96nW+r3sfbzd7E29XbbujSY0vpOacn8w7Nu/76RERERESKMIVJIiIiIiIiUmA8XE082rIqK19tz//1rEs5f8eh0uaj53jou430nbSeNQfO3lho418R2g2Hl3bAQ7OhTi8wujoea86AfX9inH4//f4axZzSnWkbYj9L6ULaBf639n8M/nswEQkR11+biIiIiEgRpDBJRERERERECpyHq4mHW1wMlXrdSvkcQqWtx87x8Heb6DPxH1btv8FQyWiEWzrBfT/By/vgzvcguFbO4y+couy6CXyxYTYfGUIIcPGyG7Lu1Dp6ze3FjH0zMFvM11+biIiIiEgRojBJREREREREnMbdxcTDzauw4tX2vN/7VioEeDoct+14HI9+v4neX/3DyvCoG19ezjsYWr4Az22CJxZD/QfBxfG9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ZGu2gqQhzX1xtDfyZptyiWe0gQKljKAwSUREREREREREREREsq3kgqSkhjT3VaCUgRQmiYiIiIiIiIiIiIhItpSaIOk+BUoZR2GSiIiIiIiIiIiIiIhkO7vOhqQ6SLrPVqC062xIhtWYWyhMEhERERERERERERGRbKeOT36GtyoLpC5Iui9poDS8VVnq+OTPsBpzC/usLkBERERERERERERERMSWN9uUo3HZgmkOhIY096W2Tz4FSelEK5NERERERERERERERCTbetRASEFS+lGYJCIiIiIiIiIiIiIiIslSmCQiIiIiIiIiIiIiIiLJUpgkIiIiIiIiIiIiIiIiyVKYJCIiIiIiIiIiIiIiIslSmCQiIiIiIiIiIiIiIiLJUpgkIiIiIiIiIiIiIiIiyVKYJCIiIiIiIiIiIiIiIsnKtWFSUFAQX3/9NR06dMDb2xsnJyfc3d0pV64c/fv3559//knTeKtWraJ79+54eXnh5OSEl5cX3bt3Z9WqVRn0CURERERERERERERERDKefVYXkBWaNWvG5s2bra7HxMRw8uRJTp48ybRp03jhhReYNGkSjo6OyY5lMpl49dVXmTBhgsX1S5cusXDhQhYuXMjgwYMZP348BoMh3T+LiIiIiIiIiIiIiIhIRsqVK5MuXboEQPHixRk+fDjz589n586dbN++nZ9++okSJUoAMGPGDPr375/iWJ988klikFSjRg1mz57Nzp07mT17NjVq1ABgwoQJ/Oc//8m4DyQiIiIiIiIiIiIiIpJBcuXKpAoVKvD111/To0cP7OzsLNrq16/PCy+8QKNGjThx4gSzZ89myJAhNGnSxGqcU6dO8d133wFQu3ZtNm/ejIuLCwB16tShS5cuNGvWjN27dzNy5EheeuklfH19M/4DioiIiIiIiIiIiIiIpJNcuTJp2bJl9O7d2ypIuq9gwYL8+OOPid/Pnz/fZr9Ro0YRFxcHwC+//JIYJN3n6urKL7/8AkBcXByjR49Oh+pFREREREREREREREQyT64Mk1KjefPmia+Dg4Ot2k0mE4sXLwbMK53q169vc5z69etTvnx5ABYtWoTJZEr/YkVERERERERERERERDKIwqRkxMTEJL42Gq3/mM6cOZN49lKzZs1SHOt++8WLFzl79mz6FSkiIiIiIiIiIiIiIpLBFCYlY9OmTYmvK1SoYNV+9OjRFNuTStqe9D4REREREREREREREZHszj6rC8iOEhIS+PbbbxO/7927t1WfCxcuJL728vJKcTxvb2+b96XGxYsXU2y/cuVK4uvIyEgiIyPTNP6TKioqyuZrEZHcQHOgiORWmv9EJLfS/CciuZXmPxHbMiInUJhkw6hRo9i5cycA3bp1o3bt2lZ9QkNDE1+7u7unOJ6bm1vi67CwsDTVkjSIepjNmzdTsGDBNI2fG2zevDmrSxARyTKaA0Ukt9L8JyK5leY/EcmtNP+J/OvmzZvpPqa2uXvApk2b+OCDDwAoXLgw48aNs9kvadLt6OiY4phOTk6Jr7VySEREREREREREREREchKtTEri8OHDdOvWjbi4OJycnJg3bx5FihSx2dfZ2TnxdUxMTIrjRkdHJ752cXFJU00P2xbvypUr1K1bF4CmTZs+dMu93CIqKirxtxGaNm1q8X8vEZEnneZAEcmtNP+JSG6l+U9EcivNfyK2Pez4nEehMOn/nTlzhrZt23L79m3s7OyYPXs2zZo1S7a/h4dH4uuHbV0XHh6e+PphW+I9KC3hkIuLS5rDqtzA2dlZfy4ikmtpDhSR3Erzn4jkVpr/RCS30vwn8q+M+FnQNnfA5cuXad26NZcvX8ZgMDBlyhS6deuW4j1JQ56HpXxJVxel5QwkERERERERERERERGRrJbrw6SbN2/Spk0bTp8+DcAvv/zCiy+++ND7KlasmPj62LFjKfZN2v7UU089YqUiIiIiIiIiIiIiIiKZL1eHSXfv3qVdu3YcOXIEgG+//ZZhw4al6t7SpUtTvHhxADZt2pRi3/v7dpYoUQIfH59HL1hERERERERERERERCST5dowKSIigk6dOhEUFATAxx9/zPvvv5/q+w0GA/7+/oB55VFgYKDNfoGBgYkrk/z9/TEYDI9ZuYiIiIiIiIiIiIiISObJlWFSTEwM3bp1Y+vWrQAMHz6cL7/8Ms3jjBgxAnt7ewBef/11IiMjLdojIyN5/fXXAbC3t2fEiBGPV7iIiIiIiIiIiIiIiEgms8/qArLCs88+y5o1awBo2bIlAwYM4NChQ8n2d3R0pFy5clbXy5UrxzvvvMO3337L7t27adSoEe+//z6+vr4EBwczcuRI9u7dC8C7775L2bJlM+YDiYiIiIiIiIiIiIiIZJBcGSb9/fffia83bNhA1apVU+xfqlQpzp49a7Ptq6++4vr160yZMoW9e/fSp08fqz4DBgx4pJVPIiIiIiIiIiIiIiIiWS1XbnOXnoxGI5MnT2b58uX4+/tTvHhxHB0dKV68OP7+/qxYsYJJkyZhNOqPWkREREREREREREREcp5cuTLJZDKl+5gdO3akY8eO6T6uiIiIiIiIiIiIiIhIVsqVYdKTJC4uLvH1lStXsrCS7CUyMpKbN28CcPHiRVxcXLK4IhGRzKM5UERyK81/IpJbaf4TkdxK85+IbUmzgqQZwuNQmJTD3bhxI/F13bp1s7ASERERERERERERERHJTm7cuIGPj89jj6ODfERERERERERERERERCRZBlNGHCAkmSYqKoqDBw8CUKhQIezttdgMzMv47q/U2rlzJ8WKFcviikREMo/mQBHJrTT/iUhupflPRHIrzX8itsXFxSXualalShWcnZ0fe0wlDzmcs7MzderUyeoysrVixYrh5eWV1WWIiGQJzYEikltp/hOR3Erzn4jkVpr/RCylx9Z2SWmbOxEREREREREREREREUmWwiQRERERERERERERERFJlsIkERERERERERERERERSZbCJBEREREREREREREREUmWwiQRERERERERERERERFJlsIkERERERERERERERERSZbCJBEREREREREREREREUmWwWQymbK6CBEREREREREREREREcmetDJJREREREREREREREREkqUwSURERERERERERERERJKlMElERERERERERERERESSpTBJREREREREREREREREkqUwSURERERERERERERERJKlMElERERERERERERERESSpTBJREREREREREREREREkqUwSURERERERERERERERJKlMElERERERERERERERESSpTBJREREREREREREREREkqUwSXKUsLAwNm/ezA8//EDv3r0pXbo0BoMBg8GAj49Pqsa4fv0606ZN47XXXqNhw4aULl0aDw8PnJycKFasGO3atWPcuHGEh4enuq45c+bQrl07ihUrhrOzMz4+PrzwwgsEBgY+4icVEbGUHvOfyWRiy5YtfPrpp7Rq1YpixYrh6OhInjx5qFSpEkOHDmX//v1pqkvzn4hkhvSYAwEuXLjAggUL+OCDD2jZsiV58uRJHOfzzz9Pc12aA0Uko6XX/Hff4cOHefXVV/Hz88PFxYVChQrR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", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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SA0YMADLly+Hk5OTuC07Oxtz587F7NmzAQBjxoxBo0aNEBgYqLZuExMT1KxZEw0bNkRQUBCCgoLQvXt38ViL4sGDBwoJqTZt2mDp0qXw8/MrVDYpKQl//PEHPD091dY5evRoMSHl4uKCHTt2oFWrVuLzaWlp+Oyzz7B161YAQGhoKJo2bYqqVasW+TjUef78OVasWIFJkybpve7+/furHervwIED+PTTT5GcnIw3b94gLCwM58+f13schubi4qLxupg1a5aYlCrudaQLmUyGX375RVy3srJCZmYmcnNzsXXrVowdO7ZE4iCi0mHjxo2cS4pIDxo1aqTyb/m1a9fQp08f8cdgu3btws6dO9G9e3eV9S1YsEAhITV+/HhMnz4dLi4uhcpKpVIcP34cO3bswObNm7WOefbs2fDx8Sm0PTs7G0uWLMGXX34JQRCQkZGBzz77DBcvXoREItGqblXf+WQyGdatW4cxY8YgKysLUqkUgwcPxr1792Bra6t17ERE9O7hnFJERETviaZNm+KPP/5Q+A/mmjVrSqz9adOmicsdO3bEzz//rJCQAgALCwvMmjULEydOBJD3H+/JkyerrXfVqlVISUnBv//+iw0bNmDkyJEICgqCiUnxvuYMHz5cTEj17t0bhw4dUpqQAvISE4MHD0b79u1V1nf16lVs2bJFXN+6datCQgoA7Ozs8Msvv6Bp06YA8m4UhIeHF+s4lGnUqJG4PH/+fLVzEhhKp06dFM6/Cxcu4NatWyUex7ssIiJCTMw6ODhgxowZ4nPKelARERFR8dSqVQsHDx5USLr8+OOPKsvn5OQojFwQHh6OxYsXK01IAYCpqSlat26NVatW4enTp+J3xqKysLDA5MmTFX6ocvnyZURHRxerXiDvR2OhoaH47rvvxG3x8fEK34eJiOj9xKQUERHRe6RevXoIDg4W16Oiokqk3Zs3b+Ly5cvi+ty5c9WWnz59Ouzs7AAAR44cwbVr11SWrVWrllhWX/744w/8/fffAICKFSvip59+gqmpabHqXL16NWQyGQCgbdu2KhNYJiYmWLBggbi+bds2cVgVfRkwYABq1KgBIK+X15IlS/Rav7Y+/vhjWFlZievXr183ShzvKvnEU48ePTBkyBDxPI6NjRV/xU1ERET6U758efTs2VNcP3nypMqhps+dO4dXr14BAMzMzPD5559r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+ooVK6Jdu3aYPn06Ll++jAMHDhisB9jQoUPFoW6lUim+/fZbg7RDRETvL4kg6HlMDCIiIiIiIlLq9u3b4tBNNWrUUDmfDhERERER0bvI+D9BJiIiIiIiek9s27ZNXA4KCjJiJERERERERCWPSSkiIiIiIqIS8PDhQyxatEhc79u3rxGjISIiIiIiKnlMShERERERERVT7969sXPnTmRlZSl9/tChQ2jWrBmSk5MBAP7+/ujQoUMJRkhERERERGR8nFOKiIiIiIiomHx8fPDw4UPY29sjMDAQPj4+sLKywsuXL3H27Fk8evRILGtra4uTJ08iICDAeAETEREREREZAZNSRERERERExZSflNKkcuXK2LZtG+rXr18CUREREREREZUuTEoREREREREV0/3797Fr1y6cOHEC9+7dQ2JiIl6+fAkLCwu4u7ujfv366NKlC/r16wdzc3Njh0tERERERGQUTEoRERERERERERERERGRwZkYOwAiIiIiIiIiIiIiIiJ69zEpRURERERERERERERERAbHpBQREREREREREREREREZHJNSREREREREREREREREZHBMShEREREREREREREREZHBMSlFREREREREREREREREBmdm7ADI+DIzM3HlyhUAgLu7O8zMeFoQEREREREREREREb2vcnNzkZCQAADw9/eHlZWVXupl9oFw5coVNGzY0NhhEBERERERERERERFRKXP27FkEBQXppS4O30dEREREREREREREREQGx55SBHd3d3H57NmzKFeunBGjIX3IyMhAVFQUAKBFixawtrY2ckREBPDaJCqteG0SlU68NolKJ16bRKUTr02i0ultvjbj4uLEEdbkcwjFxaQUKcwhVa5cOVSoUMGI0ZA+ZGRkwM3NDQBQoUKFt+rDjuhdxmuTqHTitUlUOvHaJCqdeG0SlU68NolKp3fl2pTPIRQXh+8jIiIiIiIiIiIiIiIig2NSioiIiIiIiIiIiIiIiAyOSSkiIiIiIiIiIiIiIiIyOCaliIiIiIiIiIiIiIiIyOCYlCIiIiIiIiIiIiIiIiKDY1KKiIiIiIiIiIiIiIiIDI5JKSIiIiIiIiIiIiIiIjI4JqWIiIiIiIiIiIiIiIjI4JiUIiIiIiIiIiIiIiIiIoNjUoqIiIiIiIiIiIiIiIgMzszYARARERERERERERG9D2Qy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EFgm0PDBEhERERERERERERG9pTh8HxGAkQEj0bhcY6WJpYJJqefpz/E8/TnK2pbFUP+hqOdRjwkpIiIiIiIiIiIiIiIN2FOK6P9TlViq5FgJDhYOCtti42M17kdERERERERERERERP9hUopIAxOJSaF5pTh/FBERERERERERERGRbpiUItJCwSH8LiZcNE4gRERERERERERERERvKSaliLQQ4B6gsH7r1S2k56QbJxgiIiIiIiIiIiIiorcQk1JEWvBz84OZiZm4LhNkuJRwyYgRERERERERERERERG9XZiUItKClZkVarnWUth2Mf6icYIhIiIiIiIiIiIiInoLMSlFpKV67orzSsXGxxopEiIiIiIiIiIiIiKitw+TUkRaquehmJS6nHAZubJcI0VDRERERERERERERPR2YVKKSEt1PeoqrL/JfYPbr24bKRoiIiIiIiIiIiIiorcLk1JEWnKzdkNF+4oK22LiY4wUDRERERERERERERHR24VJKSIdBHgEKKxfjL9olDiIiIiIiIiIiIiIiN42TEoR6SDQI1BhPTY+1kiREBERERERERERERG9XZiUItJBPY96Cusv3rxAXFqckaIhIiIiIiIiIiIiInp7MClFpAMfRx84WjoqbGNvKSIiIiIiIiIiIiIizZiUItKBicQEAe4BCtuYlCIiIiIiIiIiIiIi0oxJKSIdBXgEKKxfTLholDiIiIiIiIiIiIiIiN4mTEoR6ajgvFK3Xt1CWnaakaIhIiIiIiIiIiIiIno7MClFpKParrVhZmImrssEGS4nXDZiRERERERERERERAQAkZGRkEgk4qNPnz4a9wkJCRHLKzNr1iyFOuUfpqamcHJyQv369fH555/j9u3bejmOjRs3im1s3LhRL3UCwIMHD1Qeiy6P4rh+/TomTpyIOnXqwNnZGdbW1vDx8cGHH36IuXPn4sGDBzrVd/nyZZibm4uxhYSEqCxb8Pwo+LCzs0P16tUxaNAgREZGFus4STkmpYh0ZGVmhdqutRW2xSZwXikiIiIiIiIiIqLSZtu2bbhy5YrB6pfJZEhJSUFMTAwWL14MPz8//PjjjwZr720mCAKmT5+OOnXqYNGiRbhy5QqSk5ORmZmJhw8f4ujRo5g2bRr27NmjdZ0ymQzDhw9Hbm6uXmJMT0/H7du38fPPP6NVq1YYOnQopFKpXuqm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5e3KGycgIiIiIiIiIiKifEVNLL2FCamWLVsqnV9JGUtLSzx69EhjuVmzZmHWrFnFjEw3ISEhCAkJ0VjOxMQE/fv3R//+/fXS7oMHD/RSjyoVK1bEwoULsXDhQr3W6+Pjo9X7rsv5QYZhYuwAiN4FlRwqwcnSSWFbbHyscYIhIiIiIiIiIiIiIiqFmJQi0gOJRIIA9wCFbRfjLxolFiIiIiIiIiIiIiKi0ohJKSI9qVemnsI6e0oREREREREREREREf2HSSkiPannoZiUuv3qNl5nvzZSNEREREREREREREREpQuTUkR6Usu1FsxNzMV1AQIuJ1w2YkRERERERERERERERKUHk1JEemJpaonarrUVtnEIPyIiIiIiIiIiIiKiPExKEelRwSH8mJQiIiIiIiIiIiIiIsrDpBSRHgV4BCisX0m8ghxZjnGCISIiIiIiIiIiIiIqRZiUItKjgkmpjNwM3Eq6ZZxgiIiIiIiIiIiIiIhKESaliPTIxcoFPg4+Cts4hB8REREREREREREREZNSRHrHeaWIiIiIiIiIiIiIiApjUopIzwompS7GX4QgCEaKhoiIiIiIiIiIiIiodGBSikjPCs4rFZ8Rj2fpz4wTDBERERERERERERFRKcGkFJGe+Tj4wNnSWWFbzIsYI0VDRERERERERERERFQ6MClFpGcSiQR1PeoqbLsYf9E4wRARERERERERERERlRJMShEZQMF5pWITYo0UCRERERERERERERFR6cCkFJEBBHoEKqzfeXUHqdmpRoqGiIiIiIiIiIiIiMj4mJQiMoBarrVgYWIhrgsQcDnhshEjIiIiIiIiIiIiIiIyLialiAzAwtQCtd1qK2yLjecQfkRERERERERERET0/mJSishAAjwCFNYvxl80ShxERERERERERETvi8jISEgkEvHRp08fjfuEhISI5ZWZNWuWQp3yD1NTUzg5OaF+/fr4/PPPcfv2bb0cx8aNG8U2Nm7cqJc6AeDBgwcqj0WXh67u3LmDX3/9FePHj8cHH3wAGxubIh9fbm4ufvzxR7Ro0QLu7u6wtrZG1apVMWLECFy7dk3j/jExMZg7dy46duwILy8vWFpaws7ODtWrV0dISAhOnDih8/Hle/PmDSpXriweW+XKldWWV/caW1tbw8vLCx999BF++eUXSKXSIsdVmpgZOwCid1U993rY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IiIiIiIiIiKiksGkFFEJsjC1gJ+bn8K2i/EXjRMMEREREREREREREVEJYlKKqIQVHMKP80oRERERERERERER0fuASSmiEhboEaiwfjXxKnJkOUaKhoiIiIiIiIiIiIioZDApRVTCCvaUypRm4sbLG8YJhoiIiIiIiIiIiIiohDApRVTCHC0dUdmxssI2DuFHRERERERERERERO86JqWIjKCeRz2F9YsJF40TCBERERERERERERFRCWFSisgICg7hF/MiBoIgGCcYIiIiIiIiIiIiIqISwKQUkREU7Cn1MvMlnrx+YqRoiIiIiIiIiIiIiIgMj0kpIiOoaF8RLlYuCttiEzivFBERERERERERERHpX2kZqYtJKSIjkEgkhXpLxcYzKUVERERERERE9K4xNTUFAOTm5kIqlRo5GiJ6H0mlUvHzJ/8zyViYlCIykoJJqYvxF40TCBERERERERERGYyNjY24nJycbLxAiOi9Jf/ZI/+ZZAxMShEZSYBHgML6neQ7SMlKMU4wRERERERERERkEE5OTuJyfHw84uPjkZmZWWqG0iKid5MgCMjMzBQ/d/I5OzsbMSrAzKitE73HarnUgqWpJbKkWeK2SwmX0KJCCyNGRURERERERERE+mRlZQVHR0ekpOT9GPnly5d4+fIlJBKJXofRys3NBQAkJCTorU4iKj5jXZtSqbRQ8tvR0RGWlpYlGkdBTEoRGYm5qTlqu9ZGTHyMuC02PpZJKSIiIiIiIiKid0y5cuVgYWGhcFNaEATxZnVxCYKAjIwMAIC1tTUkEole6iWi4ilN16a7uztcXV2N1n4+JqWIjKieR71CSSkiIiIiIiIiInq3SCQSuLm5wcHBAWlpaUhPT0d2djZkMple6pfJZOKNbzs7O5iYcNYWotLAmNemiYkJLCwsYGtrCzs7O1hYWJRY2+owKUVkRPU86imsX028ihxpDsxNzY0UERERERERERERGYqFhQVcXFzg4uKi13ozMjJw48YNAED9+vVhbW2t1/qJqGh4bRbGlDmREQV4BCisZ0mzcD3punGCISIiIiIiIiIiIiIyICaliIzI0dIRVRyrKGzjEH5ERERERERERERE9C5iUorIyAr2lroYf9EocRARERERERERERERGRKTUkRGVnBeqdj4WAiCYKRoiIiIiIiIiIiIiIgM471NSsXHx2Pfvn0I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PNLL5sXLTV7mPy3+g5fNy1Q7EnmEXvN6sebUmuve36h8CPOfa83DDUtbamci4+g9dT3vzNtFfJJ1O0AREREREREREcl5CqVE8jubHUKrmsfO7bFc9u/7anFHqQJpTqFASiSPMgyoeR8M3QCN+lnrbhesHQ8TmsH+xR577INVHmRap2mE+IaYxqMSohi0ZBDTd02/7jlRQb4OPuxRl4m9GxDs57DUP1t5mO7jV7PnTKTH+hUREREREREREc9QKCUi1i38wnalednUPo0tY/7edgVSInmdbzDc8zE8vQhC0zhHLuIYzHgYvu8H0WEeeWSDYg2Y3W021QqZtwd1uV2M2jiKkWtHkuC8/jlRXe8owaIRbWhVuYiltudMFPeNX820VYdxudIOt0REREREREREJPsplBIRKFrD/DrV9n1X/Lj5pGXscoKTScsPZkVXIpLdyjaDgSuh/etg97bW//4exjeGzd/AdVYyZUSJwBJ83eVrOpbraKn9uP9H+v/enwuxF657f/FgX75+uglv3lMTby/ztzQJSS7++9sunvx8A2ci4m65VxERERERERERuXUKpUQk7ZVSqX7gPGn5QUYttG7rBzBq4R4FUyK3Cy9vaPtPGLQGyrWy1uMuwS9D4at74fyBW36cv8OfD9t+yOC6gy21LWFb6DmvJ3vC0/6zB8BmM3i6VQV+HdqK6sWDLPVVB85z95gVzN9x+pZ7FRERERERERGRW6NQSkSsK6XiIiDqTMrLGwVSVyiYErnNFKkCT/0G940H34LW+pGVMKkF/PkBJF1/m730sBk2BtUbxMftPsbPy89UOxNzhicXPMniozc+06pa8SB+HtqSAW0qWmoRsYkMnrGZf3y7jai4xFvqVUREREREREREMk+hlIhAcBnwDjSP/e9cqdSBVKCPl+myRxuVSflawZTIbcYwoMETMHQj1H7YWnfGw7K34dPWcGz9LT+uY7mOfN3la0oElDCNxybF8sLyF5i4dSIut+u69/t42flX1xrM7N+U4gV8LfUfNp+gy9iVbDwSfsu9ioiIiIiIiIhIximUEpHkHzyHVjePhe22BFIvd65OgLc5lLq3bgle7nz1XgVTIrehwKLw8DTo/T0El7XWz+2BzzvBby8kr7S8BdVDqjOr2yzqF61vqU3aNokX/3yRy4mXbzhHi8pFWDSiDd3qlLDUTlyM5dFP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LBaLBg4cqEmTJjVqPMxNwCMUc1OSPvroI/2///f/VF5erm7duumJJ57Qxo0b9eGHH+qaa66RJH311Ve65ppr5Ha76+yHuQkExzAM/fCHP9S///1vSdJ5552nl19+WWlpafr000917733KjIyUpmZmbr88suVl5dXZ1+hmr8APObPn6833nhDkpSUlKTHHntMn3zyidavX6+nnnpKffr0kSStXbtWN910U539MDeB0Jk3b562b99e7+Pbb79VfHy8JCk+Pl5XX311wL7a3NxsxkAMQAM988wzxr/+9S8jMzPTPNenT58G/VZpZWXlGdssWrTITNl/9atfBWyzdu1as83MmTMNp9Ppd/3EiRNm5UenTp2MgoKCoMYHtEahmJsTJkwwVq5cWWcV1N69e42uXbsakgy73W7s27cvYDvmJlAtFHMzNzfXePDBB42PPvrIyM/PNwzDMD799NMGV0oxN4Fqofo77cCBAw1JRnx8vLF3795abebNm2fOuxdffDFgP8xNIHjLly8358u0adOM8vLyWm0+/vhjw2azGZKMX/ziFwH7CdX8BeBx7Ngxw2q1mj+rsrOza7UpLCw0+vbta86rb775plYb5ibQ9D744ANzTs2ZMydgm7Y4NwmlgFauof+AD0ZlZaURFxdnSDLGjh0bsM0VV1xhSDJsNlvAv/AYhmG8+uqr5n8QH3vssZCND2gNwjE3//a3v5lz6q9//WvANsxNoH6hmJuNCaWYm0D9Gjo333jjDXO+PPzwwwHbFBcXG506dTIkGampqQHbMDeB4Pkuc7lnz5462/3oRz8yJBkRERHmL3T4CtX8BeDx3nvvnfEXiw3DMB5//HGz3d/+9rda15mbQNO74YYbzHm3bt26gG3a4txk+T4AtdjtdkVGRkqSysrKal0/ffq01qxZI0maNm2aevXqFbCfa665xixBffvtt8M0WqD9mDp1qnm8b9++WteZm0DLxNwEQu/dd981j2+99daAbWJiYjR79mxJUnp6ujIzM/2uMzeBhtm0aZMkz3LTgwYNqrPdjBkzJEkVFRVasWJFreuhmL8AqlVUVJjH/fv3r7PdgAEDzOPy8vJa15mbQNM6deqU3nvvPUlSv379dPHFFwds1xbnJqEUgFo+/vhjc/3vlJSUWte//vpr8y8wkydPrrOfiIgIjR8/3rynsrIyDKMF2g/ffzhY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o48+qmHDhumZZ55pVF++tm/fbj7GjRt31v01hsvlUkFBgb766iv9z//8j1JSUrRixYpmGUtNV199tfn9+eijj5p7OAAAAECLZW/uAQAAAABAuMydO1fz5s0zX+fm5mr37t3661//qj179igrK0uXX365du/erQ4dOgTs4/rrr9cHH3wgSRo4cKBuv/12jRs3Tp06dVJxcbEyMzP1+eefa8WKFTp+/HiTjMmrR48efiGI0+lUdna2XnvtNb3yyisqLy/X3Llz1bt3b11++eVnHFtdUlNTG31vY3300Ufq0aOH+bqyslI5OTl688039c9//lNFRUW6/vrrtXXrVqWkpDT5+Hx17NhRHTt2lCTFxcU161gAAACAloxQCgAAAECblZSUVCtQmTJlim677TZdfvnl+uSTT3TkyBH94x//0D333FPr/g8//NAMpKZPn6733ntPkZGRfm0uuugi3XrrrXr66af17rvvKjk5Oaxj8uVwOGr1NWrUKM2cOVPnnXee7rnnHhmGod///vdnFUo1h8GDB6tv375+50aPHq2ZM2eqb9+++tOf/qSKigo9/vjjWrJkSfMMEgAAAECDsHwfAAAAgHYnIiJCCxcuNF9//PHHAdu9++675vFf/vKXWoGUL5vNpmuvvVbDhw8P65iCNX/+fPXu3VuS9M033wRVxdVa/PrXv5bFYpEkbdy4sZlHAwAAACBYhFIAAAAA2qUxY8aYx9nZ2QHbZGVlmccDBw5sEWMKltVq9dv/6eDBg2fVXzAKCgp0//33KyUlRdHR0UpKStKll16q5cuXh/TrxMXFqUuXLpI8e3IFMmXKFFksFk2ZMkWStHfvXt1xxx3q37+/oqOj1bdvX82ZM8fv/2NJSk9P12233ab+/fsrKipKycnJmjt3bpsK9QAAAIDmwvJ9AAAAANolm81mHtvtgf9pFBERYR7v2rVLo0aNavYxNYRvHy6X66z7q8/OnTt16aWX6siRI+a5srIyrVmzRmvWrNF//dd/6eKLLw7J1zp9+rTy8vIkyawGq8/q1at1zTXXqKioyDyXlZWl559/Xu+//77WrVunlJQUvfrqq7rttttUXl5utsvJydHTTz+tDz/8UF988YXfPlcAAAAAGoZKKQAAAADt0s6dO83jmnsXeY0ePdo8/vnPf64TJ040+5gaYtu2beZxOMOUwsJCTZ8+3QykfvjDH+qDDz5QWlqaXnnlFY0dO1bPP/+8nnrqqZB8vb/85S8yDEOSNGvWrHrbHj58WLNnz1bHjh31t7/9TRs3btT69es1f/58WSwWHT9+XD/96U+1adMm3Xzzzerfv7+ee+45ff311/r000/1k5/8RJInxPrVr34VkvEDAAAA7RWVUgAAAADapccee8w8vu666wK2mTNnjh577DGVlJTo888/V58+fXT55Zdr0qRJuuCCCzR69Oh695kKx5iC9c4772jXrl2SpP79+ys5Ofms+qvPn/70J+Xk5EiS/vznP+s3v/mNee28887TddddpyuvvFKrVq0Kus89e/bo9OnT5mun06mcnBy98847WrZsmSTpoosu0pw5c+rtJzMzU4MGDdLnn3+url27mucnTpwoh8Oh//u//9Pnn3+u73//+7rgggu0atUqxcTEmO2mTJmisrIyLV++XG+99ZZOnDjh1w8AAACA4FEpBQAAAKDdyMvL04YNG3TFFVfo1VdflSRNmDBBN9xwQ8D2vXv31uuvv664uDhJUmlpqd5++23Nnz9fEyZMUEJCgiZNmqRFixYpPz+/ScZUH5fLpQMHDujhhx/WTTfdZJ6/7777GjW2YJSXl+uFF16QJJ177rlasGBBrTYOh0NLly6Vw+EIut/p06drxIgR5mP06NGaOXOmnn/+eZ1zzjlatGiRVq9eHVQo+MQTTwQMkubNm2ce5+bm6tlnn/ULpLzmzp0ryROMffnll0G/BwAAAAD+CKUAAAAAtFkPPPCALBaL+UhMTNTFF1+sDz/8UHa7XT/+8Y+1cuXKesOSK6+8Ujt37tSdd96pzp07+10rLy/X+vXr9atf/UoDBgzQSy+91CRj8srKyvLry263q1+/fvrtb3+rsrIySZ5A5Wc/+9kZ+2qsb775RgUFBZKkW265RVZr4H9m9urVS5dddllIvubhw4f1wgsvaOXKlWds27FjR02fPj3gtb59+yo+Pl6SJ1AbOnRowHYjR440j/fv39+IEQMAAACQCKUAAAAAtFODBw/WfffdZ4YS9UlOTtbf//53HTt2TBs3btQTTzyh2267TYMGDTLbnDx5UrfccotZNRTuMdUnLi5Ol19+uT744IOQ7eNUl+3bt5vH48aNq7ft+eefH3S/3333nQzDMB9ut1t5eXn68MMPNXnyZG3btk3XXHON/v73v9fb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", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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gp77XyAiIiIiIiJ6TcTFxYldN/n7+xc7ng4REREREZUcW0oRERERERHRW2vjxo3idGhoqBEjISIiIiJ68zEpRURERERERG+l+/fvY/bs2eJ87969jRgNEREREdGbj0kpIiIiIiIieuP06tULW7ZsQXZ2ttLn9+/fj0aNGuHFixcAgJCQELRp06YUIyQiIiIievtwTCkiIiIiIiJ643h7e+P+/fuwt7dH7dq14e3tDSsrKyQnJ+PMmTOIj48Xy9ra2uLYsWN49913jRcwEREREdFbgEkpIiIiIiIieuPIklLqVK1aFRs3bkSdOnVKISoiIiIiorcbk1JERERERET0xrl79y62bt2Ko0eP4s6dO0hKSkJycjIsLCxQvnx51KlTBx06dECfPn1gbm5u7HCJiIiIiN4KTEoRERERERERERERERGRwZkYOwAiIiIiIiIiIiIiIiJ68zEpRURERERERERERERERAbHpBQREREREREREREREREZHJNSREREREREREREREREZHBMShEREREREREREREREZHBMSlFREREREREREREREREBmdm7ADI+LKysnD16lUAQPny5WFmxo8FEREREREREREREdHbKi8vD8+ePQMAhISEwMrKSi/1MvtAuHr1KurVq2fsMIiIiIiIiIiIiIiIqIw5c+YMQkND9VIXu+8jIiIiIiIiIiIiIiIig2NLKUL58uXF6TNnzqBixYpGjIb0ITMzE9HR0QCAJk2awNra2sgRERHAY5OorOKxSVQ28dgkKpt4bBKVTTw2icqm1/nYfPTokdjDmnwOoaSYlCKFMaQqVqwIDw8PI0ZD+pCZmQlXV1cAgIeHx2t1siN6k/HYJCqbeGwSlU08NonKJh6bRGUTj02isulNOTblcwglxe77iIiIiIiIiIiIiIiIyOCYlCIiIiIiIiIiIiIiIiKDY1KKiIiIiIiIiIiIiIiIDI5JKSIiIiIiIiIiIiIiIjI4JqWIiIiIiIiIiIiIiIjI4JiUIiIiIiIiIiIiIiIiIoNjUoqIiIiIiIiIiIiIiIgMjkkpIiIiIiIiIiIiIiIiMjgmpYiIiIiIiIiIiIiIiMjgmJQiIiIiIiIiIiIiIiIigzMzdgBEREREREREREREbwOpVIq0tDSkpqYiJycH+fn5eqvXxcUFABAfHw8TE7ZFICoLjHlsmpqawsLCAg4O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/9/TUWmtHxUVpfP2tOXt7V3qr08VLy8vzJ07F3PnztV6XX0PsUOvBxNjB0BkbAmx/xabkAIAz8BgxfLXYlDvw+5o3GeQuOzo+kgkxP5r6FCJiIiIiIiIiIiIiF5bTErRW88joDrCuvcGUDQhBQAeQYr9wD6+HYfc7CyFxFRY997wCKheKvESEREREREREREREb2O2H0fEYCGPfqicsi7ShNLlfwDITExgSCVAgCk+Xl4eDMWXiHvot6H3eHuH8iEFBERERERERERERGRGmwpRfT/ikssWVjboEIVH4VlCddj1K5HRERERERERERERET/YVKKSAOFu/BLuBZTTEkiIiIiIiIiIiIiIlKGSSkiDXgEBivMP7p1A3k5OUaKhoiIiIiIiIiIiIjo9cOkFJEGKgUEQSL573DJz83Fo1s3jBgREREREREREREREdHrhUkpIg1Y2dqhvHcVhWUP/r1qpGiIiIiIiIiIiIiIiF4/TEoRacgzSLELv4TrHFeKiIiIiIiIiIiIiEhTTEoRacgjMERh/tHNWOTl5hopGiIiIiIiIiIiIiKi1wuTUkQaqhRYHZBIxPm83Bw8vn3TiBEREREREREREREREb0+mJQi0pC1nT3Ke3opLEu4xi78iIiIiIiIiIiIiIg0waQUkRY8ghS78OO4UkREREREREREREREmmFSikgLHkHBCvMPb1xHfl6ekaIhIiIiIiIiIiIiInp9MClFpAWPQMWkVG52Fp7cuWWkaIiIiIiIiIiIiIiIXh9MShFpwcbBES4elRWWsQs/IiIiIiIiIiIiIiL1mJQi0lLh1lIJ164aKRIiIiIiIiIiIiIiotcHk1JEWio8rlTijWuQ5ucbKRoiIiIiIiIiIiIiotcDk1JEWvIMClGYz8nMxNN7d4wUDRERERERERERERHR64FJKSIt2ZZzglPFSgrL2IUfEREREREREREREZFqTEoR6aBwa6kH12OMFAkRERERERERERHJREVFQSKRQCKRYPLkyUrLTJ48WSyj62PQoEFifc2aNdN6/RcvXuj0+u7du6dQj4mJCe7fv6/Run5+fgrrRkZG6hRDYUlJSZg1axbee+89vPPOO7C0tIS7uzvq16+PMWPG4OTJk1rVl5GRgapVq4pxent7qyyvaj9bW1vD09MTHTt2xJo1a5DPYViMjkkpIh0UGVfq+r+QSnlCIyIiIiIiIiIiotIjCALWrVunttypU6cQFxen9+1v2rQJAQEBGDduHE6cOIEnT54gJycHjx49wpkzZzB79mzMnDlTqzojIiJw9+5dvcSXlZWFhIQE7N69GwMGDECDBg3w7NkzvdRNujEzdgBEr6PCSansjHQ8u38PFar4GCkiIiIiIiIiIiKiYtw/CXiFld56ZdyIESPQvXt3pc+dPXsWQ4YMAQCEh4djxIgRSss5OTkpXX71qmbDfDg4OGhUThUrKytkZWVhzZo1mDhxosqya9asUVhHH1avXo3BgwdDKpXCzc0N4eHhaNSoEZydnfH48WPcvn0bu3btgrm5ucZ1Xrx4EfPnz4eVlRXMzc3x6tUrjdetW7cuVq5cqbAsLS0NMTExWLhwIS5fvoxz586he/fuOHLkiMb1kn4xKUWkA3tnV5SrUBEvnjwSlyVci2FSioiIiIiIiIiIypbDPwJHZgDvTwYajdZ8vWPzgAOTgabjgeYTDBWdUbi5ucHNzU3pc0lJSQrlgoODlZYrjrblS6JTp07YuHEjYmNjce7cOdStW1dpudzcXGzYsAEA8OGHH4rTJXH9+nV88sknkEqlaNy4MXbt2gVHR8ci5T7//HPk5ORoVGd+fj6GDRuG/Px8TJo0CStWrNAqKWVra6t0/zdo0AB9+vRBnTp1EBsbi+joaJw+fRr169fXuG7SH3bfR6Sjwq2lEq5rdhcEERERERERERFRqbh/siAhBRQkmI7N02w9WUIKKFj/vnZjAlHpCAwMFBNRspZQyuzduxfJycmwsLBAz5499bLtzz//HNnZ2XB1dcXWrVuVJqRkLCwsNKpzwYIFOH/+PPz9/TFu3Di9xCljY2ODkSNHivOnT5/Wa/2kOSaliHTkEVg4KfUvBKnUSNEQEREREREREREV4hVW0EJKRpPElHxCCihY/w3swu9N0b9/fwDAH3/8gby8PKVlVq9eDQBo3749nJ2dS7zN2NhYHDx4EAAwcuRIuLq6lrjO+/fvIyIiAgCwZMkSjRNZ2vD29han9dWFIWmPSSkiHXkGhSjMZ6W9QlJCvJGiISIiIiIiIiIiUqLRaM0TU8oSUtp0+Uelrnfv3jAzM8OzZ8+wf//+Is+npKRgz549AP5LYJXUpk2bxOkePXoobCsuLg7Jycla1zlixAikp6ejf//+aN68uV7iLOzevXvidOXKlQ2yDVKPSSkiHTmUd4NDecW+ZxOusQs/IiIiIiIiIiIqYzRJTDEh9VoqX748WrduDUB5F34bN25EdnY2nJyc0L59e71s89SpUwAAR0dHBAYGYt26dahZsyacnZ3h5+cHV1dXVK1aFVOmTEFaWpra+v7880/s3bsXTk5OmD17tl5iLCwzMxOLFy8GUNCVX8uWLQ2yHVLPzNgBEL3OPAKDce3ZIXE+4VoMarXpaMSIiIiIiIiIiIjotSOVApnPS7S+JONVwbRpDmCipC1Crf5ATgYQPatg/sDkgvn6nwKnf/1vOQA0GVtQPj1J95jUsXZWHudrLiYmRm0ZJycnVKpUSW/bHDBgAPbs2YOdO3ciNTUVDg4O4nOyRFWvXr301iXetWvXABR0h/f5559j0aJFRcrcvXsXkydPxubNm7F//364u7srrSslJQWjRo0CAMyYMQNubm5Ky2kiPT29yP7PyMhATEwMFi5ciGvXrkEikWDGjBkoX768ztuhkmFSiqgEPIKCcS1aLikV+y8EQYBEIjFiVERERERERERE9FrJfA785KPz6iYAHHVZMXqWYjJK3XJ9GnMbsC35WERlTUhIiNoyAwcORGRkpN622alTJzg6OuLly5fYsmULBg8eDAC4c+cOjh8/DkB/XfcBwPPnBQnU2NhYXL58GeXKlcOMGTPQtWtXODg44OrVq4iIiMC+ffsQExODHj164OjRozBRkoQcM2YMnjx5grCwMAwbNqxEcZ07d07l/v/ggw8wduxYvP/++yXaDpXMm5eKJipFnoGKJ7mMly/wPDHBSNEQERERERERERHR28bKygrdu3cHoNiF39q1awEAPj4+aNiwod62l56eDgDIzs6Gqakp9u3bh08//RTly5eHpaUl6tati927d6Nt27YAgBMnTmDr1q1F6omOjsbvv/8OMzMzLF261OA3+kdFRWHp0qVITEw06HZINSaliErAscI7sHN2UViWcJ3jShEREREREREREb2NBEFQ+yjcSurp06eIiYlR+rh7965G2x0wYACAgsTLgwcPAPyXlOrXr5/+XiAKkmAyPXr0QIMGDYqUMTExwU8//STO//HHHwrPZ2dn45NPPoEgCPjiiy9Qo0aNEsfVtGnTIvs6JycHd+/exaJFi+Do6IgtW7agQYMGuHnzZom3R7phUoqoBCQSCTwCgxWWPbimvt9YIiIiIiIiIiIiIgBYvHgxQkJClD5kXfGp07hxY3h7e0MQBKxbtw4nT55EXFwcAP0npezt7cVpWWsoZapXry6OnXX27FmF56ZNm4YbN27A09MTkydP1mt88szNzeHt7Y0RI0YgKioK5ubmSEhIwNChQw22TVKNY0oRlZBnUAhijx8R5xOux3BcKSIiIiIiIiIi0py1c8EYSzqSSqV49eoVgIKEgbKxe0Snf1UcL8qqHJD14r/5JmOB+p/qHIvGrJ0Nv423iEQiQd++fTFt2jSsWbMG8fHxAICwsDBUq1ZNr9vy9PTE48ePAQAeHh5qyyYmJuLp06cKy2fOnAkAeP/997F7926l68q6CUxPT8eff/4JAHBzc0OLFi10irt69epo164dduzYgaNHjyIuLg6+vr461UW6Y1KKqIQ8ghTHlUpPeY4Xjx/CqWIlI0VERERERERERESvFRMTwNZV9/WlUgj5FgXTtg4F9SlzbJ5iQur9yUCj0QXLD0wuWBY9C7CwKVhOpWLy5Ml6aS00YMAATJs2DdeuXcOdO3cAAP379y9xvYVVr15dbPmUn5+vsqzseTMzxVRETk4OAGDlypVYuXKlyjqSkpLQu3dvAAVd9OmalAKAgIAA7NixAwBw9epVJqWMgN33EZWQU0V32JZzUlj24BrHlSIiIiIiIiIiojJEPvEE/JeQAgr+vi/33IHJBeXpteLn54d69eoBALKysmBhYYFevXrpfTtNmjQRp2/fVt3CT5Yck3XjZ2x5eXnidG5urhEjeXsxKUVUQsrGlUrguFJERERERERERFRWqEpIyTAx9UYYOHAgLC0tYWlpiU6dOsHZWf/dJHbq1Anm5uYAgK1btxZb7siRI0hOTgZQMOaVPEEQ1D68vLwAAF5eXuKyqKioEsUuP7aVp6dnieoi3TApRaQHhbvwe/D/40oREREREREREREZlSYJKRkmpl57I0aMQFZWFrKysrBp0yaDbMPFxQVDhw4FAPzzzz/ieE/yXr16hVGjRonzn35aCuOUqbFnzx5ER0cDAFxdXcVWZVS6OKYUkR54Bim2lEpLTsLLp09QrsI7RoqIiIiIiIiIiIjeevdPap6QkpE9L1vvwGTAswHgFab/+Azs0qVLiIyMVFuuUaNGqFatml62GROjWQ9KXl5esLe318s2jWHKlCnYs2cP4uPj0b9/fxw/fhxdu3aFg4MDrl69ipkzZyI2NhYAEB4ejtDQUIPHlJ6eXmT/5+bmIjExEXv27MHy5cvF5dOnTy8yzhWVDu51Ij1wruQJawdHZKa+FJclXLvKpBQRERERERERERmPVxjQdDxwZIZmCSkZ+cRU0/GvZUIKAHbs2IEdO3aoLbdy5Uq9JaVCQkLUFwKwbds2dO7cWS/bNIby5cvjr7/+QqdOnXDr1i0sXLgQCxcuLFJuyJAhWLBgQanEdO7cObX739zcHFOnTsWwYcNKJSYqikkpIj0oGFeqOuJOnxCXJVyPQXDzD4wYFRERERERERERvfWaTwCqNtM+sdRo9GvbQopKR2BgIC5duoQlS5Zg8+bNiIuLQ1paGtzc3PDee+/h008/RfPmzY0ao6mpKRwdHVGtWjU0b94cQ4cO1VsCknTDpBSRnngEhigkpR5c06ypLhERERERERERkUHpmlh6DRNSzZo1K9FY77qsHxUVpfP2tOXt7V3qr08VW1tbfP311/j666/1VqfMvXv3NCqnz9dDhmdi7ACI3hSFx5VKffYEqUlPjRQNEREREREREREREVHZwqQUkZ64enrByk5xcMIEtpYiIiIiIiIiIiIiIgLApBSR3khMTFApoLrCMnbhR0RERERERERERERUgEkpIj0q3IVfwvWrRoqEiIiIiIiIiIiIiKhsYVKKSI88AhWTUi8eP0La82QjRUNEREREREREREREVHYwKUWkR+W9q8DSxlZh2YPr7MKPiIiIiIiIiIiIiIhJKSI9MjExRaWAIIVlCdfYhR8REREREREREREREZNSRHrmERSiMP/gGltKERERERERERERERExKUWkZ56FxpVKeZiA9BcpRoqGiIiIiIiIiIiIiKhsYFKKSM/cqvjAwtpaYVkCx5UiIiIiIiIiIiIiorcck1JEemZiagp3f8VxpdiFHxERERERERERERG97ZiUIjIAj0Jd+CVcu2qkSIiIiIiIiIiIiIiIygYmpYgMwDNIMSmVnBCPjNSXRoqGiIiIiIiIiIiIiMj4mJQiMoAKVX1hZmmpsCzx+r9GioaIiIiIiIiIiIiIyPiYlCIyAFMzM7j7BSose3CdXfgRERERERERERER0duLSSkiA/EsMq5UjJEiISIiIiIiIiIiIiIyPialiAzEo9C4Us/i7yErLc1I0RARERERERERERERGReTUkQG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9+5dlbH7+/tr3IqqJGJiYiCVSpGWlgYAsLGxQUpKCo4ePYqff/4ZycnJAIC+ffvi3XffNXg8ZQWTUkSlyNrOHuU9vfAs/p64LOFaDJNSRERERERERESkd7Ur1EZ4zXAsubxEo4SUjHxiKrxm+GuZkAKAHTt2YMeOHWrLrVy5Um9JqZCQEPWFAGzbtg2dO3fWyzaNYfny5Vi1apXS544fP47jx48rLFOWlAKAadOm4enTp/j9999x8eJFfPTRR0XKfPzxx5g6darS9bds2SJOJyYmolGjRmpjv3v3rsqxqfRFk89Cr169sGLF29UakUkpolLmERSimJS6HgOgbA44SEREREREREREr7cR745Ag4oNtE4sfRzy8WvbQopeHyYmJlixYgW6deuGZcuW4ezZs0hKSoKrqytCQ0Px6aefom3btsYOUy8kEgns7Ozg6emJsLAwDBgwAE2aNDF2WKWOSSmiUuYRFIyLf+0S5x/euI78vDyYmvFwJCIiIiIiIiIi/dM1sfQ6JqSaNWsG4f+Hziit9aOionTenra8vb1L/fUpExkZqVHXiJpq166dTuMqlda+1/T1Fo5HKpUiNTUVAODg4AATExMDRPd64R4gKmUegcEK87nZWXhy51YxpYmIiIiIiIiIiIiI3gxMShGVMhsHR7h4VFZYVtCFHxERERERERERERHRm4tJKSIjKNxaKuHaVSNFQkRERERERERERERUOpiUIjICjyDFpFTijWuQ5ucbKRoiIiIiIiIiIiIiIsNjUorICDyDQhTmczIz8fTeHSNFQ0RERERERERERERkeExKERmBbTknOFWspLCMXfgRERERERERERER0ZuMSSkiIyncWurB9RgjRUJEREREREREREREZHhMShEZSZFxpWL/hVTKcaWIiIiIiIiIiIiI6M3EpBSRkRROSmWnp+PZ/XvGCYaIiIiIiIiIiIiIyMCYlCIyEntnV5SrUFFhWcI1duFHRERERERERERERG8mJqWIjKhwa6mE61eNFAkRERERERERERERkWExKUVkRB6BhZNS/0KQSo0UDRERERERERERERGR4TApRWREnkEhCvNZaa+QlBBvpGiIiIiIiIiIiIiIiAyHSSkiI3Io7waH8m4KyxKusQs/IiIiIiIiIiIiInrzMClFZGRFuvC7FmOkSIiIiIiIiIiIiIiIDOetTUo9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6wkJCVq4cKEWLlyoYcOG6YMPPijxs+zbt089e/bU7t27ra7v2rVLu3bt0scff6x58+apR48edqkbrlFZZkrF79pe6kCqQKebb5fRw1N/fPGpTVvGqVR989JzunLg3erQ52aHvdcAAAAAAAAAAPfllFDq999/11133WUJourVq6eLLrpIoaGhMhpdv4JgbGys4uLi9PPPP5f53ueff94SSF1yySUaM2aMGjVqpH379um1117T5s2b9dFHHykyMlIvv/xysWOkpaWpV69elkBq6NChGjhwoPz8/LR8+XK9+uqrOnXqlG655RatXbtWF110Ufk/LFwqPNo6lEpPzVZWWq58A71cVFHxYpq3VKcBt2vt/C9KFUgVuPSmW2QwGLR63mx5+/krJzPD0mY2mbR63mwl/rtLNz48Ur4BgSWMBAAAAAAAAACoapwSSk2aNElms1mhoaGaO3euunfv7ozHlmjs2LHq0KGDOnTooFq1aungwYNq0KBBmcbYu3evXnvtNUlS+/bttWrVKvn5+UmSOnTooD59+qhLly7auHGjJk+erHvvvbfY5Qhff/117dq1S5L02muvafTo0Za2Tp06qWvXrurcubMyMjI0cuRI/f777+X92HCxsFr+8vA0Kj/PZLmWnJCmmGZhLqyqeJffcqfqtm6jmOYty3Rfx74DFNUsTuHRsfrx3Td08J+/rdr3bfxLc595XL1HPaOa9Rvas2QAAAAAAAAAgBtzyjSlDRs2yGAwaMKECW4RSEnShAkT1KtXrwot4/fWW28pLy9PkvTOO+9YAqkC/v7+eueddyRJeXl5mjp1qs0Yubm5mjZtmiQpLi5OTzzxhE2fTp066b777pMkLV++XH///bdNH1QORg+jakQFWF1LcdMl/CSVOZAqfJ9fULD6PzVOl99yp1Rkub7Uo0n64vkntW3Fr/YoEwAAAAAAAABQCTgllDKZzs4KueKKK5zxOKcwm81atGiRJKl58+a67LLLiu132WWXqVmzZpKk7777zmYvrRUrVig1NVWSdM8995x3OcPBgwdbjhcsWFDB6uFK4dHWoVRy/BkXVXJhGeUMQAvuMxiN6jTgdt389Hj5BgVb9cnLzdGy96fq5w/fVl5OToVrBQAAAAAAAAC4N6eEUgVL1qWnpzvjcU5x4MABJSQkSJK6dOlSYt+C9vj4eB08eNCqbfXq1Tb9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NDc3h+1vbm7mS1/6EgAOh4OHH3747G5cRERERERERERERETkHHOc7xsYyO644w6WL18OwNVXX829997L7t27ox7vcrkoKCjotL2goICvf/3r/OhHP2LLli1cdtllPPLII+Tl5VFUVMSPf/xjPvzwQwD+/d//nXHjxvXNGxIREREREREREREREekjCqXOwt///vfg+rvvvsvUqVO7PD4nJ4eSkpKI+/77v/+b06dP84c//IEPP/yQT37yk52Ouffee8+oEktEREREREREREREROR8U/u+fsJms/HUU0/xxhtvcNNNNzF8+HBcLhfDhw/npptu4s033+TJJ5/EZtNfmYiIiIiIiIiIiIiIDDyqlDoLpmn2+jU/8pGP8JGPfKTXrysiIiIiIiIiIiIiInI+qexGRERERERERERERERE+pxCKREREREREREREREREelzCqVERERERERERERERESkzymUEhERERERERERERERkT6nUEpERERERERERERERET6nEIpERERERERERERERER6XMKpURERERERERERERERKTPKZQSERERERERERERERGRPqdQSkRERERERERERERERPqcQikRERERERERERERERHpcwqlREREREREREREREREpM8plBIREREREREREREREZE+p1BKRERERERERERERERE+pxCKREREREREREREREREelzCqVERERERERERERERESkzymUEhERERERERERERERkT6nUEpERERERERERERERET6nEIpERERERERERERERER6XOO830Dcv55vd7g+okTJ87jnUhvaW5upqKiAoCjR4+SkJBwnu9IREBjU6S/0tgU6Z80NkX6J41Nkf5JY1OkfxrIYzM0KwjNEM6WQimhvLw8uD5nzpzzeCciIiIiIiIiIiIiItKflJeXk5ub2yvXUvs+ERERERERERERERER6XOGaZrm+b4JOb9aWlrYtWsXAIMHD8bhUAHdQHfixIlg1dumTZsYNmzYeb4jEQGNTZH+SmNTpH/S2BTpnzQ2RfonjU2R/mkgj02v1xvssjZlyhTi4+N75bpKH4T4+Hhmz559vm9D+siwYcMYOXLk+b4NEelAY1Okf9LYFOmfNDZF+ieNTZH+SWNTpH8aiGOzt1r2hVL7PhEREREREREREREREelzCqVERERERERERERERESkzymUEhERERERERERERERkT6nUEpERERERERERERERET6nEIpERERERERERERERER6XMKpURERERERERERERERKTPKZQSERERERERERERERGRPmeYpmme75sQERERERERERERERGRC5sqpURERERERERERERERKTPKZQSERERERERERERERGRPqdQSkRERERERERERERERPqcQikRERERERERERERERHpcwqlREREREREREREREREpM8plBIREREREREREREREZE+p1BKRERERERERERERERE+pxCKREREREREREREREREelzCqVERERERERERERERESkzymUEhERERERERERERERkT6nUEpkAGloaOD999/npz/9KbfffjtjxozBMAwMwyA3Nzema5w+fZo///nPfPGLX2TBggWMGTOGlJQU4uLiGDZsGMuWLePxxx+nsbEx5vt6/vnnWbZsGcOGDSM+Pp7c3Fw+/elPs2HDhjN8pyIDS2+MTdM0Wbt2Ld/5zndYvHgxw4YNw+VykZqayqRJk3jggQfYsWNHj+5LY1Mudr0xNgHKysr429/+xje+8Q2uvvpqUlNTg9f53ve+1+P70tiUi11vjc2APXv28IUvfIH8/HwSEhIYPHgwV1xxBf/7v/+L1+uN+ToamyKxe/3117ntttsYOXIkcXFxZGVlMX/+fH72s5/R1NQU83V6a/yKiGX58uXccccdjB07lsTEROLj4xk1ahQ333wzL774IqZpxnQdjU2Rs/e9730v+D1urEt3P19eMGPTFJEB48orrzSBiEtOTk5M13jiiSeiXqPj9bZs2dLltZqbm82PfvSjUa9hs9nM73//+73wzkX6t94Ym6NHj+52XBqGYf7Hf/yH6ff7u7yWxqaIpTfGZklJSZfj8rvf/W7M96OxKWLpjbEZ8OSTT5pxcXFRrzdv3jyzoqKiy2tobIrErq6uzrzhhhu6/L9x3Lhx5r59+7q9Vm+MXxGxtLa2mrfffnu3P1NeeeWVZk1NTZfX0tgU6R3f/e53Y/oMNnR59tlno17vQhqbqpQSGUDMkN9oSU9PZ+nSpSQnJ/foGoZhMG7cOO677z5++9vf8o9//INNmzbx/vvv85e//IVly5YBUFpaytKlSzlx4kTUa9177728/vrrAFx11VW8+uqrbNq0iaeeeoq8vDz8fj/f+c53ePLJ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/rzpPQUEBNRYy9XVVa1atVLPnj01depUHThw4JLOXX0bNWpUrefJ1dVVvr6+ioiI0IsvvqiCgoL6bhcAAADAJSKUAgAAANBonD17VocPH1ZWVpYef/xxhYSEaNu2bXbfc+bMGQ0dOlT9+vVTSkqKdu3apVOnTuncuXM6cuSItm3bpqVLl+rpp59Wt27dtHLlStN7qk15eblOnDihjRs36s0339TNN9+sBQsW1KlWZTt27DAePXr0uOx6dVFeXq7i4mL98ssveuWVVxQcHKxly5bVSy//de+99xrnZ8WKFfXdDgAAANBgudZ3AwAAAABglqSkJI0fP954fvz4ce3Zs0fvvPOO9u7dq7y8PMXExGjPnj265ppraqwxdOhQLV++XJLUqVMnjRkzRj169FDLli31zz//aN++fVq/fr2WLVumwsLCK9LTBVartUoIUlZWpkOHDmnx4sVKS0tTSUmJkpKS1L59e8XExFy0t9qEhITU+b11tWLFClmtVuP5uXPnlJ+fryVLluizzz7TqVOnNHToUG3btk3BwcFXvL/KfHx85OPjI0ny8vKq114AAACAhoxQCgAAAMBVy8/Pr1qgEhkZqYSEBMXExOiHH37QkSNH9OGHH2rixInV3p+ZmWkEUtHR0fr666/VtGnTKnN69eqlUaNGaf78+crIyJC/v7+pPVXm5uZWrVZYWJji4uLUvXt3TZw4UTabTS+88MJlhVL14cYbb1RAQECV17p27aq4uDgFBATo5ZdfVmlpqWbPnq158+bVT5MAAAAALgm37wMAAADQ6Li7u2v69OnG8++//77GeRkZGcb47bffrhZIVebi4qL7779ft9xyi6k9OSo5OVnt27eXJG3evNmhq7j+X0yaNEkWi0WStHHjxnruBgAAAICjCKUAAAAANErdunUzxocOHapxTl5enjHu1KlTg+jJUU2aNKmy/9Off/55WfUcUVxcrKlTpyo4OFgeHh7y8/NTVFSUvvjiC6d+jpeXl1q1aiWpYk+umkRGRspisSgyMlKStH//fo0bN04dO3aUh4eHAgIClJiYWOW/sSTt3LlTCQkJ6tixo5o1ayZ/f38lJSVdVaEeAAAAUF+4fR8AAACARsnFxcUYu7rW/NPI3d3dGO/atUthYWH13tOlqFyjvLz8suvZk5ubq6ioKB05csR47ezZs1q9erVWr16txx57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", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "\n" - ] - } - ], - "source": [ - "stat('RSRP [dBm]', 'Charge [uAh]', 'Charge per message to RSRP')\n", - "stat('RSRP [dBm]', 'Data-rate [kB/s]', 'Data-rate to RSRP')\n", - "stat('RSRP [dBm]', 'Max I [mA]', 'Maximal transmit current to RSRP')\n", - "stat('RSRP [dBm]', 'Average I [mA]', 'Average transmit current to RSRP')" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "c8c8f50b-c077-4698-8e52-416b6ad990b0", - "metadata": {}, - "outputs": [], - "source": [ - "mdf0.to_csv('nb60_0.csv')\n", - "mdf64.to_csv('nb60_64.csv')\n", - "mdf1024.to_csv('nb60_1024.csv')\n", - "df0.to_csv('m60_0.csv')\n", - "df64.to_csv('m60_64.csv')\n", - "df1024.to_csv('m60_1024.csv')" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "a16831d4-b4d2-462f-b564-121260c1291a", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\\input{\"mereni/komora1/both60Signal-NoiseRatiotoattenuation\"}\n", - "\\input{\"mereni/komora1/both60ReferenceSignalReceivedPowertoattenuation\"}\n", - "\\input{\"mereni/komora1/both60Readycurrenttoattenuation\"}\n", - "\\input{\"mereni/komora1/ltem60Transmittimetoattenuation\"}\n", - "\\input{\"mereni/komora1/nbiot60Transmittimetoattenuation\"}\n", - "\\input{\"mereni/komora1/both60Transmittimetoattenuation\"}\n", - "\\input{\"mereni/komora1/ltem60Transmittimetoattenuation\"}\n", - "\\input{\"mereni/komora1/nbiot60Transmittimetoattenuation\"}\n", - "\\input{\"mereni/komora1/both60Transmittimetoattenuation\"}\n", - "\\input{\"mereni/komora1/ltem60Chargepermessagetoattenuation\"}\n", - "\\input{\"mereni/komora1/nbiot60Chargepermessagetoattenuation\"}\n", - "\\input{\"mereni/komora1/both60Chargepermessagetoattenuation\"}\n", - "\\input{\"mereni/komora1/ltem60Data-ratetoattenuation\"}\n", - "\\input{\"mereni/komora1/nbiot60Data-ratetoattenuation\"}\n", - "\\input{\"mereni/komora1/both60Data-ratetoattenuation\"}\n", - "\\input{\"mereni/komora1/ltem60Transmittimetoattenuation\"}\n", - "\\input{\"mereni/komora1/nbiot60Transmittimetoattenuation\"}\n", - "\\input{\"mereni/komora1/both60Transmittimetoattenuation\"}\n", - "\\input{\"mereni/komora1/ltem60Averagetrasmitcurrenttoattenuation\"}\n", - "\\input{\"mereni/komora1/nbiot60Averagetrasmitcurrenttoattenuation\"}\n", - "\\input{\"mereni/komora1/both60Averagetrasmitcurrenttoattenuation\"}\n", - "\\input{\"mereni/komora1/ltem60ChargepermessagetoRSRP\"}\n", - "\\input{\"mereni/komora1/nbiot60ChargepermessagetoRSRP\"}\n", - "\\input{\"mereni/komora1/both60ChargepermessagetoRSRP\"}\n", - "\\input{\"mereni/komora1/ltem60Data-ratetoRSRP\"}\n", - "\\input{\"mereni/komora1/nbiot60Data-ratetoRSRP\"}\n", - "\\input{\"mereni/komora1/both60Data-ratetoRSRP\"}\n", - "\\input{\"mereni/komora1/ltem60MaximaltransmitcurrenttoRSRP\"}\n", - "\\input{\"mereni/komora1/nbiot60MaximaltransmitcurrenttoRSRP\"}\n", - "\\input{\"mereni/komora1/both60MaximaltransmitcurrenttoRSRP\"}\n", - "\\input{\"mereni/komora1/ltem60AveragetransmitcurrenttoRSRP\"}\n", - "\\input{\"mereni/komora1/nbiot60AveragetransmitcurrenttoRSRP\"}\n", - "\\input{\"mereni/komora1/both60AveragetransmitcurrenttoRSRP\"}\n", - "\n" - ] - } - ], - "source": [ - "print(files)" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "08c204b9-0e6f-4676-a294-c3d6831a2512", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>SF</th>\n", - " <th>Sensitivity</th>\n", - " <th>DR [kB/s]</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>0</th>\n", - " <td>7</td>\n", - " <td>-152.5</td>\n", - " <td>683.750</td>\n", - " </tr>\n", - " <tr>\n", - " <th>1</th>\n", - " <td>8</td>\n", - " <td>-150.0</td>\n", - " <td>390.625</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2</th>\n", - " <td>9</td>\n", - " <td>-147.5</td>\n", - " <td>220.125</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>10</td>\n", - " <td>-145.0</td>\n", - " <td>122.500</td>\n", - " </tr>\n", - " <tr>\n", - " <th>4</th>\n", - " <td>11</td>\n", - " <td>-142.5</td>\n", - " <td>55.000</td>\n", - " </tr>\n", - " <tr>\n", - " <th>5</th>\n", - " <td>12</td>\n", - " <td>-140.0</td>\n", - " <td>31.250</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "</div>" - ], - "text/plain": [ - " SF Sensitivity DR [kB/s]\n", - "0 7 -152.5 683.750\n", - "1 8 -150.0 390.625\n", - "2 9 -147.5 220.125\n", - "3 10 -145.0 122.500\n", - "4 11 -142.5 55.000\n", - "5 12 -140.0 31.250" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import pandas as pd\n", - "dl = pd.DataFrame()\n", - "dl['SF'] = [7,8,9,10,11,12]\n", - "dl['Sensitivity'] = (dl['SF']-12)*2.5 - 140\n", - "dl['DR [kB/s]'] = [5470, 3125, 1761, 980, 440, 250]\n", - "dl['DR [kB/s]'] = dl['DR [kB/s]'] / 8\n", - "\n", - "dl" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.2" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/prilohy/Jupyter_analysis/nb60_0.csv b/prilohy/Jupyter_analysis/nb60_0.csv new file mode 100644 index 0000000..716b156 --- /dev/null +++ b/prilohy/Jupyter_analysis/nb60_0.csv @@ -0,0 +1,9 @@ +,Round-trip min [ms],Round-trip max [ms],Round-trip avg [ms],K_U [dB],RSRP [dBm],SNR [dB],Transmit time [s],Max I [mA],Average I [mA],Ready I [mA],Standby I [mA],Charge [uAh],Data-rate [kB/s] +0,111,596,209,0,-86,-3,0.4345600330322582,103.85700988769531,21.6031436920166,5.380381107330322,10.24045467376709,2.6077394444444444,0.004602356056640709 +3,87,502,241,3,-95,-3,0.4741228800000001,126.46333312988281,22.12584114074707,5.389036178588867,1.057761788368225,2.9139916666666665,0.004218315724396173 +6,72,421,161,6,-92,-4,0.3945713796129032,162.8013916015625,27.640575408935547,5.305927276611328,9.795504570007324,3.0294991666666666,0.0050687913602910405 +10,99,392,155,10,-98,-4,0.3798260314838709,208.51463317871094,26.915361404418945,6.4448418617248535,0.7835898995399475,2.8397725,0.0052655685345908915 +20,87,409,165,20,-108,-3,0.3647661089032258,309.4442443847656,36.31646728515625,35.92670440673828,1.0622271299362183,3.6797255555555557,0.005482965525535185 +30,77,380,153,30,-118,-2,0.3512621956989248,322.6548156738281,39.56485366821289,35.812095642089844,1.069414734840393,3.860463611111111,0.005693752486004067 +40,124,604,231,40,-129,-7,0.4624385806451614,337.4502868652344,54.239097595214844,35.998077392578125,15.508665084838867,6.967298333333334,0.004324898664834024 +50,83,361,177,50,-130,-1,0.37904750967741946,271.51171875,40.744991302490234,34.487579345703125,34.76398849487305,4.290074166666667,0.005276383431992624 diff --git a/prilohy/Jupyter_analysis/nb60_1024.csv b/prilohy/Jupyter_analysis/nb60_1024.csv new file mode 100644 index 0000000..6fd2af0 --- /dev/null +++ b/prilohy/Jupyter_analysis/nb60_1024.csv @@ -0,0 +1,9 @@ +,Round-trip min [ms],Round-trip max [ms],Round-trip avg [ms],RSRP [dBm],SNR [dB],K_U [dB],Transmit time [s],Max I [mA],Average I [mA],Ready I [mA],Standby I [mA],Charge [uAh],Data-rate [kB/s] +0,178,358,212,-86,-3,0,0.43812200051612893,94.83708190917969,27.847692489624023,5.380381107330322,10.24045467376709,3.389079722222222,2.483326559082364 +3,175,620,270,-95,-3,3,0.5047114529032257,91.83331298828125,25.613052368164062,5.389036178588867,1.057761788368225,3.5908858333333336,2.1556871629156693 +6,167,496,256,-92,-4,6,0.4846078018064516,97.84229278564453,23.602991104125977,5.305927276611328,9.795504570007324,3.177277222222222,2.245114494534156 +10,162,232,198,-98,-4,10,0.4407141739354838,107.6191177368164,25.969120025634766,6.4448418617248535,0.7835898995399475,3.1791541666666667,2.468720237165035 +20,127,388,213,-108,-3,20,0.42607133729032237,226.12368774414062,38.285728454589844,35.92670440673828,1.0622271299362183,4.531243611111112,2.5535629946837832 +30,37,264,187,-118,-2,30,0.38574192043010774,322.6548156738281,42.067222595214844,35.812095642089844,1.069414734840393,4.507526388888889,2.820538661670125 +40,327,669,497,-129,-7,40,0.7073597548387095,272.28369140625,71.22216033935547,35.998077392578125,15.508665084838867,13.994363333333332,1.5381140820601014 +50,389,850,530,-130,-1,50,1.1068310967741937,272.28369140625,46.74586486816406,34.487579345703125,34.76398849487305,14.37215888888889,0.9829864765915269 diff --git a/prilohy/Jupyter_analysis/nb60_64.csv b/prilohy/Jupyter_analysis/nb60_64.csv new file mode 100644 index 0000000..026a55c --- /dev/null +++ b/prilohy/Jupyter_analysis/nb60_64.csv @@ -0,0 +1,9 @@ +,Round-trip min [ms],Round-trip max [ms],Round-trip avg [ms],K_U [dB],RSRP [dBm],SNR [dB],Transmit time [s],Max I [mA],Average I [mA],Ready I [mA],Standby I [mA],Charge [uAh],Data-rate [kB/s] +0,117,478,244,0,-86,-3,0.5057993827096773,88.83097839355469,23.655370712280273,5.380381107330322,10.24045467376709,3.3235730555555554,0.25306476119894844 +3,95,416,195,3,-95,-3,0.4435343070967743,87.3303451538086,24.701913833618164,5.389036178588867,1.057761788368225,3.0433719444444445,0.28859097921386223 +6,90,335,163,6,-92,-4,0.3839788593548388,91.83331298828125,28.945598602294922,5.305927276611328,9.795504570007324,3.087361666666667,0.3333516855981748 +10,97,327,146,10,-98,-4,0.3682282900645162,95.58824920654297,29.332117080688477,6.4448418617248535,0.7835898995399475,3.0002519444444444,0.3476104456221262 +20,103,333,160,20,-108,-3,0.3708966317419355,166.59849548339844,36.74448013305664,35.92670440673828,1.0622271299362183,3.7856611111111116,0.34510963175599974 +30,132,281,208,30,-118,-2,0.4072917483870967,300.13470458984375,38.1805534362793,35.812095642089844,1.069414734840393,4.319620555555556,0.3142710366878013 +40,165,421,270,40,-129,-7,0.4932678193548389,330.4378662109375,51.447879791259766,35.998077392578125,15.508665084838867,7.049317222222222,0.25949391989004145 +50,197,584,328,50,-130,-1,0.525903612903226,270.73980712890625,41.86020278930664,34.487579345703125,34.76398849487305,6.115124444444444,0.2433906078214258 diff --git a/prilohy/Jupyter_analysis/nb61_0.csv b/prilohy/Jupyter_analysis/nb61_0.csv new file mode 100644 index 0000000..e02584d --- /dev/null +++ b/prilohy/Jupyter_analysis/nb61_0.csv @@ -0,0 +1,13 @@ +,Round-trip min [ms],Round-trip max [ms],Round-trip avg [ms],K_U [dB],RSRP [dBm],SNR [dB],Transmit time [s],Max I [mA],Average I [mA],Ready I [mA],Standby I [mA],Charge [uAh],Data-rate [kB/s] +0,112,339,152,0,-84,7,0.27721490322580655,152.0823211669922,32.72299575805664,33.59221649169922,1.2509446144104004,2.5198069444444444,0.007214619332247414 +3,115,350,153,3,-88,7,0.26576340645161284,171.17674255371094,33.65471649169922,33.74147033691406,1.2189271450042725,2.484493888888889,0.0075254905357488985 +6,89,543,181,6,-90,7,0.30769909677419366,238.79470825195312,33.478431701660156,33.68747329711914,0.9172391295433044,2.861466666666667,0.0064998565838095676 +10,122,322,151,10,-95,7,0.2847895741935485,231.8502197265625,33.570335388183594,33.70161437988281,1.237470269203186,2.6556933333333337,0.007022728994428571 +16,112,371,152,16,-101,7,0.2699544774193548,232.6215057373047,35.11065673828125,33.63410186767578,1.2379552125930786,2.632860277777778,0.007408656522829752 +20,126,313,152,20,-105,7,0.2735740215053763,230.3079071044922,34.968719482421875,33.81481170654297,0.9262014031410217,2.65737,0.007310635669990674 +21,106,335,151,21,-103,9,0.25549598279569913,241.11097717285156,35.23875045776367,33.82619094848633,1.2299165725708008,2.5009333333333337,0.007827911727282418 +26,108,348,154,26,-108,9,0.3758119483870967,234.164306640625,36.407371520996094,35.30447006225586,0.9196065068244934,3.800646388888889,0.0053218105719724075 +30,78,321,148,30,-113,8,0.2637970322580646,249.61033630371094,38.37672805786133,35.38310241699219,1.2338262796401978,2.8121294444444445,0.007581586429840731 +36,108,323,158,36,-120,6,0.2621813333333334,261.99066162109375,42.10246658325195,35.5172119140625,0.9176999926567078,3.0662408333333335,0.007628308142964664 +40,114,377,157,40,-124,4,0.28002356989247323,264.31427001953125,42.48468017578125,35.938079833984375,0.9213231801986694,3.3046355555555555,0.00714225592069976 +46,147,7057,942,46,-130,-2,0.6168117526881719,269.7389831542969,55.465904235839844,35.396915435791016,1.274613618850708,9.503343333333333,0.0032424803698756634 diff --git a/prilohy/Jupyter_analysis/nb61_1024.csv b/prilohy/Jupyter_analysis/nb61_1024.csv new file mode 100644 index 0000000..a616193 --- /dev/null +++ b/prilohy/Jupyter_analysis/nb61_1024.csv @@ -0,0 +1,13 @@ +,Round-trip min [ms],Round-trip max [ms],Round-trip avg [ms],RSRP [dBm],SNR [dB],K_U [dB],Transmit time [s],Max I [mA],Average I [mA],Ready I [mA],Standby I [mA],Charge [uAh],Data-rate [kB/s] +0,246,371,304,-84,7,0,0.46850939784946244,83.7645492553711,34.18138122558594,33.59221649169922,1.2509446144104004,4.448421944444444,4.371310392919901 +3,272,382,316,-88,7,3,0.48648216774193537,89.05445098876953,34.27812576293945,33.74147033691406,1.2189271450042725,4.632136388888889,4.209815150072273 +6,253,346,303,-90,7,6,0.4796950021505378,94.34835815429688,34.42244338989258,33.68747329711914,0.9172391295433044,4.586742777777777,4.269379482418074 +10,249,345,298,-95,7,10,0.46016846451612886,106.4637222290039,34.725467681884766,33.70161437988281,1.237470269203186,4.438763611111111,4.450544002734933 +16,246,409,302,-101,7,16,0.47761176774193537,163.53285217285156,35.945640563964844,33.63410186767578,1.2379552125930786,4.7688983333333335,4.288001549213464 +20,296,441,355,-105,7,20,0.537905677419355,235.70745849609375,38.01863479614258,33.81481170654297,0.9262014031410217,5.6806705555555554,3.807358958963664 +21,200,300,272,-103,9,21,0.4353517075268819,237.2509002685547,38.22392654418945,33.82619094848633,1.2299165725708008,4.622461944444444,4.704242488525305 +26,240,375,305,-108,9,26,0.4790062129032263,238.79470825195312,40.35706329345703,35.30447006225586,0.9196065068244934,5.369798888888889,4.275518656819088 +30,241,377,312,-113,8,30,0.48093608602150545,240.33880615234375,41.8609504699707,35.38310241699219,1.2338262796401978,5.592343888888888,4.25836209742935 +36,364,470,414,-120,6,36,0.6055543053763441,255.7978973388672,49.20302200317383,35.5172119140625,0.9176999926567078,8.276412777777777,3.3820253308696975 +40,459,650,553,-124,4,40,0.7266434408602152,265.0889892578125,54.34545135498047,35.938079833984375,0.9213231801986694,10.969387777777778,2.818438707126478 +46,2383,3421,2868,-130,-2,46,3.079621268817204,272.840576171875,73.24826049804688,35.396915435791016,1.274613618850708,62.66024444444444,0.6650168385109833 diff --git a/prilohy/Jupyter_analysis/nb61_64.csv b/prilohy/Jupyter_analysis/nb61_64.csv new file mode 100644 index 0000000..3f2acb0 --- /dev/null +++ b/prilohy/Jupyter_analysis/nb61_64.csv @@ -0,0 +1,13 @@ +,Round-trip min [ms],Round-trip max [ms],Round-trip avg [ms],K_U [dB],RSRP [dBm],SNR [dB],Transmit time [s],Max I [mA],Average I [mA],Ready I [mA],Standby I [mA],Charge [uAh],Data-rate [kB/s] +0,108,159,133,0,-84,7,0.2691092043010753,84.5199966430664,33.941123962402344,33.59221649169922,1.2509446144104004,2.537183888888889,0.47564333718141993 +3,112,167,133,3,-88,7,0.2792767999999999,80.7435302734375,34.04012680053711,33.74147033691406,1.2189271450042725,2.640728888888889,0.45832664940302975 +6,109,149,132,6,-90,7,0.26982843870967754,82.25387573242188,34.33195877075195,33.68747329711914,0.9172391295433044,2.573256666666667,0.4743754980464526 +10,110,173,139,10,-95,7,0.27352670967741927,92.83540344238281,34.448734283447266,33.70161437988281,1.237470269203186,2.6173955555555555,0.467961612052276 +16,115,171,142,16,-101,7,0.2716849548387096,146.74501037597656,34.85820388793945,33.63410186767578,1.2379552125930786,2.6306808333333334,0.4711339281779125 +20,102,154,129,20,-105,7,0.26987707526881727,221.8309783935547,35.998291015625,33.81481170654297,0.9262014031410217,2.6986419444444447,0.4742900073024085 +21,108,201,148,21,-103,9,0.2756667182795699,149.03195190429688,35.05538558959961,33.82619094848633,1.2299165725708008,2.684327222222222,0.4643288127012404 +26,116,148,132,26,-108,9,0.27107747096774215,231.0790252685547,37.9775276184082,35.30447006225586,0.9196065068244934,2.8596866666666667,0.4721897380222786 +30,111,162,133,30,-113,8,0.26918064516129014,246.51852416992188,38.86405563354492,35.38310241699219,1.2338262796401978,2.9059519444444444,0.4755171008796111 +36,123,196,141,36,-120,6,0.25203237849462357,262.76513671875,43.34342575073242,35.5172119140625,0.9176999926567078,3.034437222222222,0.5078712535450303 +40,110,202,149,40,-124,4,0.2959742795698924,265.0889892578125,44.32836151123047,35.938079833984375,0.9213231801986694,3.6444561111111113,0.4324700111982995 +46,296,578,384,46,-130,-2,0.563561817204301,270.51422119140625,57.94532012939453,35.396915435791016,1.274613618850708,9.07105,0.22712681394026696 diff --git a/prilohy/Jupyter_analysis/nrf60x61.ipynb b/prilohy/Jupyter_analysis/nrf60x61.ipynb index 6fdd4cf..5017d14 100644 --- a/prilohy/Jupyter_analysis/nrf60x61.ipynb +++ b/prilohy/Jupyter_analysis/nrf60x61.ipynb @@ -30,327 +30,18 @@ }, { "cell_type": "code", - "execution_count": 2, - "id": "5e784998-1f3e-4734-a3a2-92e14e69dbfc", + "execution_count": null, + "id": "64cffa34-dc55-4c31-bd8d-e00ad967e4a8", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>Unnamed: 0</th>\n", - " <th>Round-trip min [ms]</th>\n", - " <th>Round-trip max [ms]</th>\n", - " <th>Round-trip avg [ms]</th>\n", - " <th>RSRP [dBm]</th>\n", - " <th>SNR [dB]</th>\n", - " <th>K_U [dB]</th>\n", - " <th>Transmit time [s]</th>\n", - " <th>Max I [mA]</th>\n", - " <th>Average I [mA]</th>\n", - " <th>Ready I [mA]</th>\n", - " <th>Standby I [mA]</th>\n", - " <th>Charge [uAh]</th>\n", - " <th>Data-rate [kB/s]</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>0</th>\n", - " <td>0</td>\n", - " <td>246</td>\n", - " <td>371</td>\n", - " <td>304</td>\n", - " <td>-84</td>\n", - " <td>7</td>\n", - " <td>0</td>\n", - " <td>0.468509</td>\n", - " <td>83.764549</td>\n", - " <td>34.181381</td>\n", - " <td>33.592216</td>\n", - " <td>1.250945</td>\n", - " <td>4.448422</td>\n", - " <td>4.371310</td>\n", - " </tr>\n", - " <tr>\n", - " <th>1</th>\n", - " <td>3</td>\n", - " <td>272</td>\n", - " <td>382</td>\n", - " <td>316</td>\n", - " <td>-88</td>\n", - " <td>7</td>\n", - " <td>3</td>\n", - " <td>0.486482</td>\n", - " <td>89.054451</td>\n", - " <td>34.278126</td>\n", - " <td>33.741470</td>\n", - " <td>1.218927</td>\n", - " <td>4.632136</td>\n", - " <td>4.209815</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2</th>\n", - " <td>6</td>\n", - " <td>253</td>\n", - " <td>346</td>\n", - " <td>303</td>\n", - " <td>-90</td>\n", - " <td>7</td>\n", - " <td>6</td>\n", - " <td>0.479695</td>\n", - " <td>94.348358</td>\n", - " <td>34.422443</td>\n", - " <td>33.687473</td>\n", - " <td>0.917239</td>\n", - " <td>4.586743</td>\n", - " <td>4.269379</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>10</td>\n", - " <td>249</td>\n", - " <td>345</td>\n", - " <td>298</td>\n", - " <td>-95</td>\n", - " <td>7</td>\n", - " <td>10</td>\n", - " <td>0.460168</td>\n", - " <td>106.463722</td>\n", - " <td>34.725468</td>\n", - " <td>33.701614</td>\n", - " <td>1.237470</td>\n", - " <td>4.438764</td>\n", - " <td>4.450544</td>\n", - " </tr>\n", - " <tr>\n", - " <th>4</th>\n", - " <td>16</td>\n", - " <td>246</td>\n", - " <td>409</td>\n", - " <td>302</td>\n", - " <td>-101</td>\n", - " <td>7</td>\n", - " <td>16</td>\n", - " <td>0.477612</td>\n", - " <td>163.532852</td>\n", - " <td>35.945641</td>\n", - " <td>33.634102</td>\n", - " <td>1.237955</td>\n", - " <td>4.768898</td>\n", - " <td>4.288002</td>\n", - " </tr>\n", - " <tr>\n", - " <th>5</th>\n", - " <td>20</td>\n", - " <td>296</td>\n", - " <td>441</td>\n", - " <td>355</td>\n", - " <td>-105</td>\n", - " <td>7</td>\n", - " <td>20</td>\n", - " <td>0.537906</td>\n", - " <td>235.707458</td>\n", - " <td>38.018635</td>\n", - " <td>33.814812</td>\n", - " <td>0.926201</td>\n", - " <td>5.680671</td>\n", - " <td>3.807359</td>\n", - " </tr>\n", - " <tr>\n", - " <th>6</th>\n", - " <td>21</td>\n", - " <td>200</td>\n", - " <td>300</td>\n", - " <td>272</td>\n", - " <td>-103</td>\n", - " <td>9</td>\n", - " <td>21</td>\n", - " <td>0.435352</td>\n", - " <td>237.250900</td>\n", - " <td>38.223927</td>\n", - " <td>33.826191</td>\n", - " <td>1.229917</td>\n", - " <td>4.622462</td>\n", - " <td>4.704242</td>\n", - " </tr>\n", - " <tr>\n", - " <th>7</th>\n", - " <td>26</td>\n", - " <td>240</td>\n", - " <td>375</td>\n", - " <td>305</td>\n", - " <td>-108</td>\n", - " <td>9</td>\n", - " <td>26</td>\n", - " <td>0.479006</td>\n", - " <td>238.794708</td>\n", - " <td>40.357063</td>\n", - " <td>35.304470</td>\n", - " <td>0.919607</td>\n", - " <td>5.369799</td>\n", - " <td>4.275519</td>\n", - " </tr>\n", - " <tr>\n", - " <th>8</th>\n", - " <td>30</td>\n", - " <td>241</td>\n", - " <td>377</td>\n", - " <td>312</td>\n", - " <td>-113</td>\n", - " <td>8</td>\n", - " <td>30</td>\n", - " <td>0.480936</td>\n", - " <td>240.338806</td>\n", - " <td>41.860950</td>\n", - " <td>35.383102</td>\n", - " <td>1.233826</td>\n", - " <td>5.592344</td>\n", - " <td>4.258362</td>\n", - " </tr>\n", - " <tr>\n", - " <th>9</th>\n", - " <td>36</td>\n", - " <td>364</td>\n", - " <td>470</td>\n", - " <td>414</td>\n", - " <td>-120</td>\n", - " <td>6</td>\n", - " <td>36</td>\n", - " <td>0.605554</td>\n", - " <td>255.797897</td>\n", - " <td>49.203022</td>\n", - " <td>35.517212</td>\n", - " <td>0.917700</td>\n", - " <td>8.276413</td>\n", - " <td>3.382025</td>\n", - " </tr>\n", - " <tr>\n", - " <th>10</th>\n", - " <td>40</td>\n", - " <td>459</td>\n", - " <td>650</td>\n", - " <td>553</td>\n", - " <td>-124</td>\n", - " <td>4</td>\n", - " <td>40</td>\n", - " <td>0.726643</td>\n", - " <td>265.088989</td>\n", - " <td>54.345451</td>\n", - " <td>35.938080</td>\n", - " <td>0.921323</td>\n", - " <td>10.969388</td>\n", - " <td>2.818439</td>\n", - " </tr>\n", - " <tr>\n", - " <th>11</th>\n", - " <td>46</td>\n", - " <td>2383</td>\n", - " <td>3421</td>\n", - " <td>2868</td>\n", - " <td>-130</td>\n", - " <td>-2</td>\n", - " <td>46</td>\n", - " <td>3.079621</td>\n", - " <td>272.840576</td>\n", - " <td>73.248260</td>\n", - " <td>35.396915</td>\n", - " <td>1.274614</td>\n", - " <td>62.660244</td>\n", - " <td>0.665017</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "</div>" - ], - "text/plain": [ - " Unnamed: 0 Round-trip min [ms] Round-trip max [ms] Round-trip avg [ms] \\\n", - "0 0 246 371 304 \n", - "1 3 272 382 316 \n", - "2 6 253 346 303 \n", - "3 10 249 345 298 \n", - "4 16 246 409 302 \n", - "5 20 296 441 355 \n", - "6 21 200 300 272 \n", - "7 26 240 375 305 \n", - "8 30 241 377 312 \n", - "9 36 364 470 414 \n", - "10 40 459 650 553 \n", - "11 46 2383 3421 2868 \n", - "\n", - " RSRP [dBm] SNR [dB] K_U [dB] Transmit time [s] Max I [mA] \\\n", - "0 -84 7 0 0.468509 83.764549 \n", - "1 -88 7 3 0.486482 89.054451 \n", - "2 -90 7 6 0.479695 94.348358 \n", - "3 -95 7 10 0.460168 106.463722 \n", - "4 -101 7 16 0.477612 163.532852 \n", - "5 -105 7 20 0.537906 235.707458 \n", - "6 -103 9 21 0.435352 237.250900 \n", - "7 -108 9 26 0.479006 238.794708 \n", - "8 -113 8 30 0.480936 240.338806 \n", - "9 -120 6 36 0.605554 255.797897 \n", - "10 -124 4 40 0.726643 265.088989 \n", - "11 -130 -2 46 3.079621 272.840576 \n", - "\n", - " Average I [mA] Ready I [mA] Standby I [mA] Charge [uAh] \\\n", - "0 34.181381 33.592216 1.250945 4.448422 \n", - "1 34.278126 33.741470 1.218927 4.632136 \n", - "2 34.422443 33.687473 0.917239 4.586743 \n", - "3 34.725468 33.701614 1.237470 4.438764 \n", - "4 35.945641 33.634102 1.237955 4.768898 \n", - "5 38.018635 33.814812 0.926201 5.680671 \n", - "6 38.223927 33.826191 1.229917 4.622462 \n", - "7 40.357063 35.304470 0.919607 5.369799 \n", - "8 41.860950 35.383102 1.233826 5.592344 \n", - "9 49.203022 35.517212 0.917700 8.276413 \n", - "10 54.345451 35.938080 0.921323 10.969388 \n", - "11 73.248260 35.396915 1.274614 62.660244 \n", - "\n", - " Data-rate [kB/s] \n", - "0 4.371310 \n", - "1 4.209815 \n", - "2 4.269379 \n", - "3 4.450544 \n", - "4 4.288002 \n", - "5 3.807359 \n", - "6 4.704242 \n", - "7 4.275519 \n", - "8 4.258362 \n", - "9 3.382025 \n", - "10 2.818439 \n", - "11 0.665017 " - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "m61_1024" ] }, { "cell_type": "code", - "execution_count": 3, - "id": "e38388c0-ca5f-443d-96cf-8965e30279d9", + "execution_count": null, + "id": "329b2d22-8f12-48eb-9faa-74632f2d625d", "metadata": {}, "outputs": [], "source": [ @@ -399,127 +90,10 @@ }, { "cell_type": "code", - "execution_count": 4, - "id": "ded9ebb2-0768-4cd0-8cc7-d197c037d589", + "execution_count": null, + "id": "ba5edf24-e6fe-4f1d-83ba-f903b6bd992a", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABpMAAARFCAYAAABSeDp3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdeVhUZfsH8O+wg2yCiAoIZqKIWygIobjlhhm5laYpmol7mXv65tYiamrlQqmpaWq5lmmKC66hoqLigiK5gCICyiY7c35/8JvTjMwKgwh+P9fF9Z7lOfdzn+HM2Ds3z/NIBEEQQERERERERERERERERKSEQWUnQERERERERERERERERC8vFpOIiIiIiIiIiIiIiIhIJRaTiIiIiIiIiIiIiIiISCUWk4iIiIiIiIiIiIiIiEglFpOIiIiIiIiIiIiIiIhIJRaTiIiIiIiIiIiIiIiISCUWk4iIiIiIiIiIiIiIiEglFpOIiIiIiIiIiIiIiIhIJRaTiIiIiIiIiIiIiIiISCUWk4iIiIiIiIiIiIiIiEglFpOIiIiIiIiIiIiIiIhIJRaTiIiIiIiIiIiIiIiISCUWk4iIiIiIiIiIiIiIiEglFpOIiIiIiIiIiIiIiIhIJRaTiIiIiIiIiIiIiIiISCUWk4iIiIiIiIiIiIiIiEglFpOIiIiIiIiIiIiIiIhIJRaTiIiIiIiIiIiIiIiISCUWk4iIiIiIiIiIiIiIiEglFpOIiIiIiMro7t27kEgkkEgkcHNzq+x0iIiIiIiIiCoEi0lEREREZdSxY0exkDB37lyV7Y4dOya209fPsWPHxPjBwcFljtOxY0e9vBZz584tFfuzzz7TKcZff/1VYfkpc/PmTSxduhSBgYFo0qQJ7O3tYWxsDHt7ezRp0gQDBw7E999/j6SkpArLgYiIXm7K/n2T/zE3N0edOnXQrl07TJ48GdHR0WXqJy0tDcuXL0dQUBDc3NxgZWUFIyMjWFtbo2HDhnjrrbfw2WefYdu2bUhJSVEbS12+hoaGsLW1RaNGjfDee+9h3bp1yM7O1jpP+f/2UfZjZWUFNzc3BAUF4YcffkBGRkaZXg8iIiJ6+bCYREREREQVYsuWLSgqKtK6/S+//FKB2fznxo0b6N+/Pzw8PDB58mT8/fffuHnzJp48eYKioiI8efIEN2/exG+//YZPPvkELi4u6Nu3L2JjY19IfkRE1Zl8MUL+DyOqqry8PCQnJ+P06dNYunQpvLy88N577+Hp06daXS8IApYsWQIXFxdMmjQJf/75J+7du4fs7GwUFxcjKysL//77L44cOYJly5Zh0KBBcHR0xPr168uUr1QqRUZGBm7fvo3t27dj5MiReO2117Bnz54yxXtednY27t27hz///BMTJ05E/fr1X9i/70RERFSxjCo7ASIiIqLqzsnJCePGjVPb5siRI2KxokmTJujSpYvGmMpoc628Ro0aad1WV8nJyTh48CB69eqlsW1GRgb27t1bYbnIbNu2DcOHD0deXp54zNDQEF5eXnB1dYWdnR2ePn2KBw8e4Pz58ygoKEBxcTF2796NvXv34t69e6hXr16F50lERC+fevXqoU+fPgrHcnJyEB8fj8jISBQWFgIAtm/fjsTERERERMDU1FRtzI8//hjr1q0T9w0MDNCqVSs0adIEVlZWePbsGR48eICLFy+Ko3wEQdB6xM+7776r8N8MUqkUqampiIyMRGJiIgAgJSUF/fr1w44dO0rdnzre3t7w8fER9wVBQHp6OqKiohAXFwcAyMzMxLBhw5Cbm4uQkBCtYxMREdHLh8UkIiIiogrWqFEjrFixQm2b4OBgsZjUtm1bje1VKc+1+tK0aVNcv34dQMloI22KSb/99ptY4JG/Xp9Wr16NcePGQRAEAIC9vT1mzZqF4OBg1KxZs1T7rKws7N+/H1999RViYmJQVFSEgoICvedFRERVg7p/zxMSEjB06FBxtFVkZCRWrFiByZMnq4y3efNmhULS4MGDsXDhQjg7O5dqKwgCzp07hx07dmDDhg1a5/zJJ58onTJWKpVi48aNGDNmDPLz8yGVSjFmzBh0794dFhYWWsUODAxUOc3vnj17MHz4cKSnp4t59OrVS+m9ERERUdXAae6IiIiISK+aN2+Oli1bAgD+/PNPrf56euPGjQAAY2NjDBo0SO85nT17Fp988olYSGrVqhWuXr2KSZMmKS0kAYCVlRXef/99XL58GT/++CPMzMz0nhcREVUPLi4u2Lt3L1xcXMRjP/74o9prFi5cKG4PHToUmzdvVllskUgkaNu2LRYvXozExET079+/XPkaGBhg+PDhCA0NFY8lJyfrbbq7d999F5s3bxb38/PzsWrVKr3EJiIiosrBYhIRERER6d2wYcMAlKwl8fvvv6ttGx8fj3/++QdAyV8516pVS6+5SKVSDB06VJx+yMnJCUePHkWdOnW0ul4ikWDUqFE4ffo0rKys9JobERFVH5aWlvjoo4/E/bi4ODx69Ehp24cPH+LatWvi/owZM7Tux9TUVG8jfEJCQhT+WOLEiRN6iQsAvXr1QqtWrcT9w4cP6y02ERERvXgsJhERERGR3n3wwQcwMiqZUVnTwtvy54cOHar3XHbt2oVbt26J+6tXr1Y5GkkdLy8v2Nvba9X2/PnzGDlyJNzd3WFhYYGaNWvCx8cHX3/9NZ49e6ZVjHv37mH16tUYNGgQmjVrBhsbGxgbG8Pe3h4tWrTAmDFjcObMGa1iBQcHiwvey6ZHSk9Px3fffYeAgAA4OTnByMgIEolEnJJI3tWrVzFmzBg0atQIFhYWqFWrFtq0aYNvvvkGqampAIANGzaIfQQHB2uVV1RUFCZNmoRWrVrBwcEBJiYmqFOnDjp06IDQ0FCtF7DXxrFjx8T85Kd82rNnD4KCguDm5gYzMzPUqVMHXbt2xYYNGyCVSnXqIy0tDd9++y26du0KFxcXmJmZwdbWFk2bNsW4ceNw/vx5jTHmzp0r5imbPio3Nxfr1q1Dt27dUL9+fZiYmEAikeDSpUs65QcAd+/eFeO7ubmJxyMiIjBo0CC89tprMDMzQ82aNdGtWzela5nJ1hHr2bMnXF1dYWZmBmdnZwwZMgQxMTE65VNYWIhNmzbhvffew2uvvQYrKyvUqFEDDRo0wKBBg7B7925xRKEmUVFRGD9+PLy8vFCzZk0YGxvDzs4O7u7uaNeuHT777DMcPHgQubm5KmOkpqZiyZIleOutt1CvXj2YmZnBwsICrq6uaN26NQYNGoT169fjwYMHau/p4MGDmDZtGjp16iTGMTc3h7OzMwIDA/Hdd98hOztbp9fq2bNnWLx4MXx9fWFvb48aNWrA3d0dI0aMwLlz58R2st+vRCLRKq4+nlttyHI6fvy4eKxTp04K+T7/OaXMtWvXMHXqVLzxxhuoVasWTE1NUa9ePXTs2BGhoaFIS0vTS75l9cYbbyjsP3z4UGk72XpFMg0aNKiwnNQxMzODh4eHuK8q37Ly8/MTt//991+9xiYiIqIXTCAiIiKiMunQoYMAQAAgzJkzp1yxhg0bJsYaNmzYC7tWX+bMmSPm8P777wuCIAiBgYECAEEikQjx8fFKr5NKpcJrr70mABDs7OyE/Px8YfXq1WKsDh06lDu3zp07i/EaNWokSKXScseUuXPnjhjb1dVVkEqlwhdffCEYGBiIx5//adCggcrXQ2bKlCmCRCJRGUP+Z9CgQcKzZ8/UxpN/RtavXy+cOnVKcHFxURrv6dOnCteGhoYKxsbGKvuvW7eucPr0aWH9+vVaP4dPnjwR+vXrp/HebG1the3bt2vzq9AoIiJC4bnKzMwU3n33XbX9e3t7Cw8ePNAq/ooVKwQbGxu18SQSiTBixAghPz9fZRz599KcOXOE69evC56enkrjRUdH6/w6PP/MFhUVCePHj1eb9+zZs8Xrk5OTBV9fX5VtjY2Ntf6dRURECA0bNtT4HPj6+gqJiYkq4xQWFgqjRo3S6v0CQJg1a5bSOHv27BFq1qypVQwnJyelMe7fvy/Y29trFaNWrVpCeHi4Vq/VxYsXBTc3N7XP1hdffCEIgqBwXBN9Pbfa0Pb3I/ucel5hYaEwYcIEwdDQUOPnxoYNG8qVqzz596Q2/yaFh4cr5HP69Gml7c6dO6fQ7vr163rLWT5uRESExvZvvvmm2L5r165q2+r63z6ff/65wucDERERVV0lfy5KRERERKRnQ4cOxf79+yEIAjZt2oQ5c+aUanPy5EnxL5Xff/99mJiY6DWH/Px8cQo9ABg0aJDWf61fFvPmzcP8+fMBlKzL1Lx5cxgbG+PSpUu4ePEiAODOnTt49913ceHCBRgbGyuNk5CQAEEQIJFI0LhxYzRu3Bj29vYwNjZGWloaoqOjER8fDwDYunUrMjIy8Ndff2l1b7dv38ann36KjIwMWFlZISAgAPXq1cPTp09LTW+0dOlSTJ8+Xdw3MzNDp06d4OzsjNTUVERERCApKQlvv/02Pv30U61eo0ePHqFz5864ceOGeMzDwwOtWrWClZUVHj9+jFOnTiE1NRXp6el47733sGnTJgwePFir+NoaPny4uDaIj48PPD09kZ+fjzNnzojPZFRUFDp37ox//vkHdnZ2KmNNmjQJy5cvF/ft7e3h6+uLevXqIS8vD9HR0bh69SoEQcDPP/+Mhw8fYt++fTAwUD9RRFpaGnr06IH79+/DzMwM7du3h6urK7KysrQelabJ559/jhUrVsDAwAB+fn5o3Lgx8vLyxN8tAHz55Zfw8PDAu+++i65du+LKlSuwsLBAhw4d4OzsjJSUFBw+fBjZ2dkoLCzEkCFD8MYbb6Bhw4Yq+92+fTsGDx4sTj9pZmYGX19fuLm5wdDQELdu3UJkZCSKiopw5swZ+Pn5ISoqCo6OjqViTZkyBT/99JO47+TkBB8fH9SqVQuCICAtLQ3Xr1/HzZs3VeZz/vx59O/fH0VFRQAAc3NzMR9TU1NkZmYiPj4eMTExyMnJURnn2bNn4siYmjVrwtPTE66urrC0tERBQQHu3LmDM2fOIC8vD6mpqQgMDMTx48fx5ptvqox569YtdO3aVWHEzRtvvIGWLVuiuLgYFy5cwPXr1zF//nydpgmtqOdWlXHjxgEAdu/eLY5+effdd+Hk5FSqrfxIGaBkutJ+/frhzz//FI/Z2dmhY8eOsLOzQ0JCAiIiIlBQUID09HQEBwfj6dOnWn8u6dPzI3tq166ttN1rr70GiUQijrxbvHgxfv755wrPTxn5nFXlW1byI0xtbGz0GpuIiIhesMqsZBERERFVZRyZ9B9lI5Nyc3PFv3hv2LCh0us++ugj8brIyEhBEAS9jkw6efKkwl9o79u3r1zxnic/ysPExESQSCRCw4YNhbNnz5Zq+/vvvyuM8Nm4caPKuIsWLRLWr18vpKSkqGxz4sQJ4fXXXxfjbdq0SWVb+WfEyMhIACCMGzdOyMrKUmhXUFAgFBcXC4IgCFevXhVMTEzE63r16iU8fvxYof2zZ8+E0aNHCwAEU1NTjc9hcXGx0KlTJ7Gdl5eXEBUVVapdbm6uMHfuXHF0Vo0aNYR///1X5f1pQ35kkuy+GjRooPR3tXHjRoX7GTp0qMq469atE9tZWloKq1evVjqC4+jRo4KTk5PYNjQ0VGk8+feS7HfVv3//Us9CcXGxUFBQoOOroPjMGhsbCxKJRPD09BSuXr2q0C43N1cYNGiQ2LZRo0biCKb33ntPSE1NVWj/8OFDhRFUwcHBKnO4evWqYGFhIbb99NNPhbS0tFLt4uPjhXbt2ontevbsWapNSkqK+DoZGhoKGzZsUDn68OHDh8L3338vrF27ttS5oKAgsZ9+/foJT548URojLy9P2LdvnxASEqL0/N27d4UJEyYIZ8+eFd9Lz8vIyBCmTJmi8NqqaiuVShVeg9q1aysdabJnzx7ByspK4blV93/39f3c6kL+305tRs0IQskISfn7mjZtmpCXl6fQJikpSejWrZvC++fMmTPlzlfXkUkDBw4U2zs4OKgdDSv/WgAQgoKChKNHjwpFRUXlylk+pqbXODY2VqH9Dz/8oLa9rv/t06JFC7G9t7e3DndBRERELxsWk4iIiIjK6GUsJjVp0kQYN26c1j+3bt0qV94yyopJgiAIH3/8sXj81KlTCtfIF5vc3d3F4/osJm3atEnhS7K7d++WK97z5L+YByDY29urnRZN/gvkHj166KV/MzMzAYDg4+Ojsp38MwJAGDlypMbY/fv3F9u3adNG7RRXAwYMUIiv6hn+5ZdfxDatWrUqVcx63hdffCG2Hz16tMac1ZEvJskKVLdv31bZfvPmzQrtr127VqpNZmamYGtrKxYyjh8/rjaH69evi78ve3t7pdMTyr+XAAjdunVTWWgoi+ef2dq1awvJyclK22ZlZZWasq1r164q8/nnn38UChSFhYVK28lPPfnll1+qzTc7O1vw8PAQ2z9fHNi7d694bvDgwVq8AsrJ7tPU1FTjc6kvskIsAGH//v1K2/z1119iG0NDQ+HcuXMq4+3bt0/hd6WqmFQRz60udC0mZWRkCJaWluI1n332mcq2eXl5gre3t9i2U6dO5cpVEHQrJh05ckRhGr6ZM2eqbX/27FmFor3sx9raWujSpYswffp0YceOHcKjR490ylnbYlJBQYFCAc7KykrtHzEIgm7/7SP//AIQZsyYodN9EBER0culbOPTiYiIiOilFBsbi5UrV2r9o24ReX0YOnSouP3LL78onNuzZw8yMjJKtdOnJ0+eKOzb2tpWSD8yn3/+OerVq6fy/IgRI8TtqKiocvfn5uaGTp06ifEyMzM1XmNmZoZFixapbfPkyRP88ccf4v6iRYvUTkH47bffajX11dKlS8XtH374AZaWlmrbz5w5U/ydbd26FVKpVGMf2po8ebLaadgGDx4Mf39/cX/NmjWl2vz8889IT08HAAQHByMgIEBtnx4eHhg2bBiAkinsDhw4oDHP5cuXl3laMW3MmjVL5bRWlpaW6NWrl8KxJUuWqMzHz88P9evXBwBkZ2cjNja2VJvLly/j6NGjAAB3d3fMmDFDbX41atTAF198Ie7/+uuvCufln3kHBwe1sdSRxbGwsND4XOrL8OHDxe3Dhw8rbbN+/Xpxe/DgwfD29lYZLzAwEF27dtXY74t4bvVpy5YtyM7OBgA4Ojriyy+/VNnW1NQUK1asEPcjIiLUTm+oD7m5uYiJicGsWbMQGBiI4uJiAEC7du0wa9Ystdf6+Phgz549pabRzMzMxJEjRxAaGor+/fujTp06aN68OUJDQ8V/N8tKKpXi8ePH2LVrF/z9/REeHg4AMDIywvr163WaKlGdP/74A0OGDBH3TUxMMHbsWL3EJiIiosrBNZOIiIiIqMK0a9cOr732Gv7991/8/vvv+P7772FqagoA2LhxIwBAIpEofOGkT1lZWQr7Ff0l8YABA9Seb9KkCczNzZGbm4u0tDRkZ2drzOn+/fs4d+4cbt26hfT0dOTm5oprbAAlazABgCAIuHz5Mtq3b682Xrdu3VCzZk21bf755x9xLZu6deuiY8eOatu7uLggICAAx44dU9kmKSkJly5dAlCypk27du3UxgRKCl9+fn74+++/kZGRgatXr6JFixYar9OGNgXMYcOG4fTp0wBKvpR+3v79+8XtgQMHatVv586d8eOPPwIATp06hb59+6ps26JFi1Jrx+hbv3791J5v1qyZuN2oUSONr3+zZs1w//59ACXPpvz1gOJrNmDAABgaGmrMsXPnzuL2qVOnFM7JilcAsHPnTkyfPh116tTRGPN59evXR3x8PJ4+fYotW7bggw8+0DnG8woLC3H27FlcvnwZjx49QlZWlrgmE6D4+SR7bzzv+PHj4rY2OQ0ePBiHDh1S26ain1t9kxUfgZJ8zc3N1bb38fFB8+bNERMTA6Dkvdu4cWO95HL8+HGNa9OZmJjgww8/xPLly1GjRg2NMXv27Im4uDgsW7YMGzZsQGJiotJ2V69exYwZM7B48WKsWrUK7733nlY5y/7gQJ0mTZpgyZIlpYrHmuzfvx+pqakKx9LT0xEVFYVbt24pHF+2bBlcXFx0ik9EREQvFxaTiIiIiKqRYcOGYcOGDZWdhoIPP/wQ8+bNQ3p6Ov78808MGDAAjx49Er/w7NChA1xdXSukbysrK4X97OzsClsA3MbGRuMXZRKJBDVr1kRubi4AICMjQ2UxKTIyEjNmzMDJkycVikfqPP+lnjKtW7fW2Eb+i21vb2+NX57K2qkrJkVGRorbgiBg/PjxGmMCQHx8vLidkJCgl2JSrVq11I5KkvHz8xO3r169isLCQhgbG4vH5O/pl19+wZ49ezTGlP+iOCEhQW1bbX5X5WFjYwMnJye1beQLj02bNtUYU769spFy8q9ZZGSkVs+B/PP//GvWtm1buLq64t69e0hISICnpyeGDRuG3r17w9fXV2PhQeb999/H119/DQAYMmQItm3bhvfffx+dO3dG3bp1tYohk5ubi6+//hphYWFavScB5e/dxMREhePqRiXp0qain1t9i46OFrflRwuq4+/vLxaTLl68WCF5qTJixAgsW7YMZmZmWl9jZ2eHBQsWYP78+YiOjsaJEydw7tw5REdH4+bNmwrvgbS0NLz//vvIzs5WGO1aVo6Ojti4cSN8fHx0vjYqKkrjKFsrKyt89913CiPxiIiIqGpiMYmIiIiIRE+ePFGYUkoZX19fnUYSDR06FPPmzQNQ8sXlgAED8Ouvv4pTAVXUFHcASk0dlJ6eXqHFJG3IFyNko3+e9/PPP2PkyJFaF5Fknh+JpYw2U4HJf4Ht7OysVd+aihIPHz5U2F65cqVWceU9ffpU52uUkR/Noo58cbC4uBhPnz4Vp4TLzs5WeL03bdqkcx6a7qc807ZpQ5tn1sjov//LqGt7Zc+3/HNw9OhRhVEn2nj+NTM2NsbmzZvRq1cvZGZm4smTJ1i2bBmWLVsGExMTeHl5ISAgAL169UL79u1VFkZnzZqF48eP4/Tp0xAEAXv37sXevXsBAA0aNED79u3x1ltvISgoCNbW1mrz69y5s8qRRqooe+/Kvw8tLCxKfZ4po+l9+CKeW31LSUkRt7X9wwM3NzdxW9uCnjbq1auHPn36iPsFBQVITExEVFSU2E9YWBji4uKwd+9erYuZMhKJBF5eXvDy8hKPpaWlYd++ffjuu+8UCmPjxo1D9+7dNf7O3333XYU2aWlpiI+PF4tAycnJaN++PXbu3Im3335bp3yVsbS0hL29PVq0aIG33noLQ4cOrfApZomIiOjFYDGJiIiIiESZmZkav+TPzs7WqZj02muvoV27djh16hQOHDiAlJQUcf0kCwsL9O/fv1w5qyP/hSIAXL9+vcJGQWkzekcbN27cQEhIiFhIatGiBUaOHAk/Pz+4urrCyspK4S/eg4ODxSkDtVlTSJsvN2XrkwAlvyNtaJrOqbzrfABQmCKsPMp6T1lZWWIx6UXcj65fROtK12dWH894eV83WRFaXrt27XD58mUsWLAAv/32G549ewag5Iv+M2fO4MyZM1i0aBHc3d2xcOFChWKAjIWFBSIiIrBy5UqsWLFCYUTcnTt3cOfOHfzyyy+wsLDA2LFjMX/+fKW/n3HjxomFJFNTUwQHB6NXr17w8PBAnTp1YG5uLk7td/fuXTRo0ACA8vdudX8fakv+ddBm2rjn22lTZNdWo0aNFNZkksnNzcX333+Pzz//HFKpFEeOHMFnn32G1atXl7tPe3t7DB06FEOGDMGUKVOwbNkyAEBeXh5++ukn8Y81VPnkk0+UTlV65coVDB06FJcvX0ZBQQEGDRqES5cuaTVqU2bOnDmYO3euLrdDREREVVjFreRKRERERPT/ZKOPioqKMG3aNFy5cgUA0KdPn1JT0emTt7e3uEYTAJw9e7bC+tKXZcuWiV/WBgYG4vz585gwYQLatGkDBweHUlMn6fOLUhn5L2JzcnK0ukb2Bb42Md99910IgqDzT3BwcJnu53llvSf5Z/X5L7XT09N1vh910wJWV/Kv2549e8r0HCjj5uaGdevWISUlBYcPH8YXX3yBTp06KRR8bt26hb59+2Lp0qVKYxgbG+PTTz/F7du3ERMTg5UrV2LgwIEKozpycnKwZMkSdOrUSZyuUubBgwfYtm0bAMDQ0BDh4eEICwtD79698frrr8PS0lJhjShN792Kfh8CVeO5lZ8KVNP9KWtXkf/GyJibm2P69OmYP3++eCwsLEyvr5WBgQGWLFmCJk2aiMdOnjxZ5ngtWrRAeHi4+HxnZ2dj5MiR5c6TiIiIqi8Wk4iIiIhI5ObmpvGLxLKsyfTee++JRRD56ytyijugZGTAm2++Ke5v3bq1QvvThyNHjojbCxYsUJgWT5l79+7pPYdatWqJ26oWg3/egwcP1J53dHQUt+Pi4sqWmJ7cv39f53aGhoYK6wHZ2toqFCor+56qiop+DszNzdGlSxfMmzcPR48eRVpaGnbu3ImWLVuKbWbOnKnxeW3WrBnGjh2LrVu3IjExEdHR0fjoo4/E82fPni01ivPo0aNisSswMBABAQFq+9D03pV/H+bk5Gg1vZym+6qKz638dI/avnflX1v517GizZgxQ2GKumnTpuk1voGBAbp16ybuJyUllSte7dq18cMPP4j7x44dw759+8oVk4iIiKovFpOIiIiIqMLZ2NjgnXfeUThWr149vPXWWxXe95gxY8TtW7du4a+//qrwPstDfk0ZT09PtW0zMjLEUV761KpVK3H7/PnzWq3dpGkRdl9fX3H72rVrWhepKkJqaipu376tsd2ZM2fE7WbNmpUq7MkvWH/w4EH9JViNtW3bVtx+Ea+Zubk5+vbti4iICNSpUwdAyfR3uvbdqlUrrF27FqNGjRKP/fnnnwptdHnvAsCJEyfUnndxcYG9vb24f+7cOY0xNb0Pgcp/bnWdLvGNN94Qt//55x+trjl9+rS4LV/cqWiGhoYIDQ0V96OiorBnzx699iE/OlW+MFhWffr0gb+/v7g/e/bscsckIiKi6onFJCIiIiJ6IZ4fhTR48GAYGFT8f47269cPjRo1EvfHjh2L9PR0neNcvHgRaWlpesxMOfnXRNPUVmvXrkVhYaHec3jzzTfFwsnDhw81TtWUkJCgcbqlBg0awMPDQ9xfvnx5edMsl02bNmlsI1uLCgA6depU6rz8YvVhYWHIy8vTT3LVmPxrduTIEcTExLyQfmvWrKkwSjE5OblMceTzfz6GLu/dnJwcce04dTp06CBub9myRWP7X3/9VWObyn5u5Ysh2nx+de7cWdzetm2bxnwvXryoUGRX9t6tSG+99RbatWsn7n/55Zd6jS9bkwsA6tevr5eY8useXbp0CXv37tVLXCIiIqpeWEwiIiIioheiR48eiIqKEn8+//zzF9KvgYEBNmzYACMjIwAlhY8uXbrg8ePHWl0vlUrx448/wt/fv0LWJ3rea6+9Jm7/8ccfKtvFxcVpXHi9rOzt7RVGkk2bNg0FBQUq20+ZMgXFxcUa406fPl3c/u6773D48GGtc3r06JHWbbXx7bffIj4+XuX5X3/9VWF0g7K1REJCQmBrawugZDrAsWPHajWKCygZHaXNa1bd+Pj4oGPHjgAAQRAwZMgQZGZmanVtQUFBqanedCnwyk+RJj91Wn5+PrKzs8sVA1B87+7bt09c+0yZyZMna1XQGj58uLj966+/qh15tH//fhw6dEhjzMp+buVHW2malg8APvjgA3Hdo6SkJLWfewUFBZgwYYK436lTJzRu3Lgc2ZbNF198IW5fuHAB+/fvL9Xm7t27mD17Np48eaJ13IiICIXPzR49epQv0f/31ltvKRRbFyxYoJe4REREVL2wmEREREREL4ShoSHatGkj/si+zHwR3nzzTSxbtkzcv3jxIpo1a4bvvvtO5Sil7Oxs/Pbbb2jVqhVGjx79wv56X37UwGeffaZ0GqojR46gY8eOyMrKQo0aNSokjzlz5oijk86fP4++ffsiJSVFoU1OTg7GjBmD33//XavploYMGSKOMigqKkKvXr0QGhqKZ8+eKW2fnZ2NrVu3onPnzgpfEJeXiYkJnj17hq5duyr9cn7Tpk0K6+MMGTJE6bRlNjY2Cs/V+vXr0bt3b8TGxirtVxAEREZGYvz48XB1dUVubq4e7qbq+eGHH2BpaQkAuHLlCnx8fNQWFm/fvo2vvvoKDRo0UCjwyWK1atUKq1atUrl+TFZWFqZPn47z588DKPks6t69u3g+KSkJLi4umDx5ssqp5ARBwIEDBxSKBIGBgQptOnfuDAsLCwBAfHw8goODS32+ZGZmYtSoUQgLC9PqvRsYGAg/Pz8AQHFxMd5++22lIwX/+OMPDBw4UKv3YWU/t82bNxe3d+zYobGQZW1trTD12sKFC/G///2vVIE7OTkZffr0EafCMzIywjfffFOuXMuqa9eu4u8NUD46KS8vD1999RVcXV0xcuRIHD9+XGUBMjc3F6tWrULv3r0hlUoBAE5OTnpdd1D+2Y6KikJ4eLjeYhMREVH1YFTZCRARERFVB2FhYTqtizB//vxSawjpw9mzZzF+/Hidrlm8eDHMzc31nsvLZvz48ahZsyY++ugj5OfnIyUlBZ9++ikmT56MNm3aoH79+qhZsybS09Px4MEDREVFKXxZaWJiopf1KTSZNGkS1q1bh5SUFDx9+hQ9evSAl5cXmjZtColEgosXL+LatWsAgO7du6N27dpaTdmmq+bNm+Orr74SF5Dft28fXF1d0alTJzg5OSEtLQ1Hjx5Feno6bG1tMWnSJMyZMwcAVE5faGhoiN9//x1du3ZFdHQ0CgoKMGPGDMyfPx++vr6oX78+TExM8PTpU9y6dQvXr18Xp8Hq16+f3u7Nz88P9vb22LVrF9q2bQsfHx94enqioKAAkZGRCiOWGjVqpHZKvuDgYPz777/iX/Lv27cP+/fvR7NmzdCsWTNYW1vj2bNnePDgAaKjo8s0xWJ106xZM2zduhXvv/8+cnJycPPmTXTt2hUuLi7w9vZGrVq1UFBQgJSUFFy+fFnj+lqXL1/GuHHjMH78eDRs2BDNmjVDrVq1UFhYiIcPH+Kff/5RKFjOmDEDLi4uCjHS09OxdOlSLF26FHZ2dnjjjTfg5OQEU1NTPH78GFeuXMGdO3fE9u7u7vjkk08UYtSsWRNTpkzB/PnzAZSMJPr777/Rtm1bODk5ISkpCceOHcOzZ89gaGiIVatWYdiwYWrvzcDAAD///DP8/f3x5MkTPH78GJ06dYKXlxdatGgBqVSK8+fP4/r16wCA77//HhMnTgSgfm2iynxu+/bti5kzZ0IQBOzbtw8tWrTAm2++KY4+AoCBAweiTZs24v6UKVNw6tQpcfq1L7/8EqtXr0anTp1Qs2ZNJCQkICIiAvn5+eI1ixcvVlij60X74osv0LNnTwBAZGQkjhw5gi5dupRql52djXXr1mHdunUwNzeHl5cXnJ2dYWtri/z8fNy7dw9RUVEKo+dq1KiBLVu2iEVZfejevTt8fX3FteIWLFiAbt266S0+ERERVQMCEREREZVJhw4dBABl+lm/fr1CrGHDhonnhg0bplMe8teW5efp06flfi3mzJkjxnv//ffLFWv16tVirA4dOpQ7t+ddvXpV6NOnj9avj7GxsfDBBx8I8fHxpWLduXNHbOfq6qpV/66uruI1d+7cUdrmn3/+EWrVqqU2r3fffVdIT09X+P0//1zJaNNGla+//lowMjJSmUfdunWF06dPCz/99JN4bOLEiWpj5uTkCKNHj1YbV/7H3Nxc+Prrr3XK+3kREREKz1VmZqbwzjvvqO23devWQmJiolbxf/vtN6FevXpaP1c+Pj5CXl5eqTjy76U5c+aU656V0fWZXb9+vU6fTbo8a5cuXRJat26t9Wvm5uYmREdHK8RYsmSJ1tebmJgI8+bNK5VHYmKiYGpqqnWcjh07CklJSUrvqaioSBg6dKja621tbYXdu3fr9Ls4f/68UL9+fZUxJRKJ8L///U8oKCgQj1lbW6uNKQj6e251NXv2bLX9KHt2CgsLhfHjxwuGhoZqr7WxsdH5c04d+fekrv8m+fj4qLz28ePHQs+ePQUTExOtX38Agq+vr3Dp0iW1/cq3j4iI0Drfffv2abxW/r99KuIzioiIiF5eHJlERERERK8UT09P7Nq1Czdu3MC+fftw5MgRxMfHIyUlBdnZ2bC2toajoyPeeOMNtG/fHgMGDFBY4+NF8PPzw7Vr17B8+XLs3bsX//77LwCgbt26aN26NYYMGYLevXu/kFxmzpyJt99+GytWrMDhw4fx8OFDWFhYwM3NDf369cOoUaNQq1YtnDx5UrxG0xSG5ubmWL16NaZPn47Nmzfj6NGjuHXrFtLS0iCVSmFjY4PXXnsNLVu2RJcuXdCjRw9YW1vr9b6srKywZ88e7Ny5Exs3bsTly5eRnJwMGxsbNG/eHIMHD8awYcNgaGioVbz33nsPQUFB2LZtGw4ePIioqCjxmapRowacnJzg4eGB9u3bIzAwEO7u7nq9n6qoZcuWOH/+PMLDw7Fnzx6cPn0aDx8+RHp6OkxNTeHg4AB3d3f4+vqie/fu8PPzKzXaZvLkyejXrx8OHTqEf/75BzExMbh79y4yMzNhYGAAW1tbeHh4oHPnzhg6dChcXV1L5SE/0u7kyZO4cOECbt++jZSUFBQUFMDKygqurq7w9vbG+++/j7feekvlPRkaGmLjxo0YMGAAfvrpJ5w9exZPnz5FzZo1Ub9+fQQFBWHEiBGoV68e7t69q/Vr1bp1a1y7dg2rVq3Cjh07EBcXh/z8fDg5OaFdu3YYPXo02rZtq7AOkzZTiVbWc7tgwQL4+/vj559/xvnz55GcnIycnBy11xgZGeGHH37A6NGj8fPPP+PIkSNISEhAVlYW7Ozs4O7ujsDAQHz88ccv/DNblS+++EKcuvT48eM4efIk2rdvD6Bkza39+/cjMzMTx48fx6lTp3D58mXExcUhJSUFOTk5MDMzg62tLdzd3dG6dWv069cPvr6+FZZvYGAgvL29xek/FyxYIK5xRkRERCQRBC1X2iQiIiIiIlJh8ODB2LJlCwBg69atGDhwYCVnpOjYsWPo1KkTAKBDhw5K150hquoOHTokTk3WvXt3HDhwoJIzIiIiIqLqQvlk5kRERERERFp69uwZ9u/fL+57e3tXYjZEr67ff/9d3Ob7kIiIiIj0icUkIiIiIiIql9mzZyM9PR1AyRfYDRs2rNyEiF5B58+fx8aNG8X9l210IBERERFVbSwmERERERGRUjt27MDUqVNx+/ZtpedTU1MxduxYLF++XDw2derUF5Qd0auje/fuCA8PR3FxcalzUqkUW7duRdeuXVFYWAigZO0bT0/PF50mEREREVVjRpWdABERERERvZyys7OxZMkSLFmyBO7u7mjevDns7e2Rn5+PO3fu4OzZs8jPzxfbDx48GAMGDKjEjImqp/DwcISHh8POzg6tW7eGs7MzjI2N8fjxY0RGRiI5OVls6+joiJ9++qkSsyUiIiKi6ojFJCIiIiIi0ujWrVu4deuW0nOGhoYYN24cli5d+oKzInq1PHnyBIcOHVJ5vlWrVti5cyecnJxeYFZERERE9CpgMYmIiIiIiJT64IMP4ODggAMHDuDixYtITk5GamoqcnJyULNmTbi5uaFjx44YMWIEGjduXNnpElVbV69exZ49e3D69Gncu3cPqampePr0KSwsLFC7dm34+vri3XffRZ8+fSCRSCo7XSIiIiKqhiSCIAiVnQQRERERERERERERERG9nAwqOwEiIiIiIiIiIiIiIiJ6ebGYRERERERERERERERERCqxmEREREREREREREREREQqsZhEREREREREREREREREKrGYRERERERERERERERERCqxmEREREREREREREREREQqGVV2AlQ+eXl5iImJAQA4ODjAyIi/UiIiIiIiIiIiIiKiV1VRURFSUlIAAM2bN4eZmVm5Y7LyUMXFxMTAx8enstMgIiIiIiIiIiIiIqKXzLlz5+Dt7V3uOJzmjoiIiIiIiIiIiIiIiFTiyKQqzsHBQdw+d+4c6tatW4nZvDxyc3Nx4sQJAEBAQADMzc0rOSMiIt3xs4yIqjp+jhFRVcfPMSKqDvhZRvTqSUpKEmc0k68hlAeLSVWc/BpJdevWhbOzcyVm8/LIzc1FrVq1AADOzs78R5KIqiR+lhFRVcfPMSKq6vg5RkTVAT/LiF5t8jWE8uA0d0RERERERERERERERKQSi0lERERERERERERERESkEotJREREREREREREREREpBKLSURERERERERERERERKQSi0lERERERERERERERESkEotJREREREREREREREREpBKLSURERERERERERERERKQSi0lERERERERERERERESkEotJREREREREREREREREpBKLSURERERERERERERERKSSUWUnQERERERERERERFRRpFIpsrOzkZmZiYKCAhQXF1d2Si+UVCqFvb09AOD+/fswMOD4AqKXmaGhIUxMTGBtbQ1LS8uX5j3LYhIRERERERERERFVS1lZWXjw4AEEQajsVCqNIAgwNzcHABQXF0MqlVZyRkSkTlFREfLz85GVlQWJRAInJydYWVlVdlosJhEREREREREREVH1o6yQJJFIYGhoWIlZVQ6JRAIAMDLi18FEL7vi4mLxc0sQBDx48OClKCjx04OIiIiIiIiIiIiqFalUqlBIsrS0hJ2dHSwsLMTCyqtCKpUiMzMTAGBtbf3STJlFRMoJgoCcnBw8efIE2dnZYkHJ3d29Ut+//OQgIiIiIiIiIiKiakX2BSxQUkhydnZGjRo1XrlCEhFVPRKJBDVq1ICzszMsLS0BlBSYsrOzKzUvFpOIiIiIiIiIiIioWpGNxAEAOzs7FpGIqMqRSCSws7MT9+U/1yoDi0lERERERERERERUrRQUFAAo+TLWwsKikrMhIiob+ak5ZZ9rlYXFJCIiIiIiIiIiIqpWiouLAQCGhoYclUREVZZEIoGhoSGA/z7XKguLSURERERERERERERERKQSi0lERERERERERERERESkEotJREREREREREREREREpBKLSURERERERERERERERKQSi0lERERERERERERERESkEotJRERERERERERERFQlpaWlYcqUKfDw8IC5uTkkEgkkEgmWL19e2akRVSssJhERERERERERERFRlZORkQE/Pz98++23iI2NRV5ensq2mZmZCA0Nhb+/P+zs7GBqaor69etjwIABOHDggMa+ioqKEB0djR9//BEjR45EixYtYGRkJBav7t69q3P+z549w8qVK9GlSxc4OTnB1NQUjo6O8PLywoQJExAeHq4xRmRkJD788EO4ubnBzMwMdevWRY8ePbBt2zad81EnJycHixcvho+PD+zs7GBpaQkPDw9MmTIF9+/fV3vthg0bxNfp+R8DAwNYW1ujWbNmGD16NC5evKjXvEl/jCo7ASIiIiIiIiIiIiIiXa1cuRJxcXEAgGnTpqF3796wtbUFANStW1dsFxkZiX79+iEpKUnh+oSEBCQkJGDHjh0IDg7G2rVrYWhoqLSvr776CnPnztVb7hERERg+fDju3buncPzx48d4/PgxoqOjcfLkSXTr1k1ljPnz52PevHmQSqXisUePHuHRo0c4ePAgtmzZgt9//x1mZmblyjU+Ph69evXCzZs3FY7HxsYiNjYWa9euxZYtWxAYGKhzbEEQkJWVhWvXruHatWtYs2YNZs2ahfnz55crZ9I/FpOIiIiIiIiIiIiI9Czq7hN4u9m9sOteRYcPHwYAtGnTBqGhoUrb3Lx5Ez179kRGRgYMDAwwcuRI9O/fH/b29rhz5w5Wr16NI0eOYMOGDbCyssL333+vNI4gCOK2mZkZWrVqhZSUFMTHx5cp7969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IiIiIiIiIiIiIiLSHotJVO05eSgWkx7evIGiwsJKyoaIiIiIiIiIiIiIqGphMYmqvXpNmgISibhfVFiApLjYSsyIiIiIiIiIiIiIiKjqYDGJqj2zGpao7fqawjFOdUdEREREREREREREpB0Wk+iV4OLZXGE/4VpMJWVCRERERERERERERFS1sJhErwQXzxYK+w9vxaIwP6+SsiEiIiIiIiIiIiIiqjpYTKJXgrNHM0gM/nvcpcVFeHiT6yYREREREREREREREWnCYhK9EkwtLOD42usKxxKuc90kIiIiIiIiIiIiIiJNWEyiV8bzU93dv8ZiEhERERERERERERGRJiwm0SujftPmCvvJ8XEoyM2ppGyIiIiIiIiIiIiIiKoGFpPoleHUxBMGhobivrS4GA9ir1diRkRERERERERERERELz8Wk+iVYWxmhjqvN1Y4xqnuiIiIiIiIiIiIiIjUYzGJXin1PRWnuku4FlNJmRARERERERERERERVQ0sJtErxcWzhcL+4zvxyM95VknZEBERERERERERUXmkpaVhypQp8PDwgLm5OSQSCSQSCZYvX17ZqRFVKywm0SulrnsTGBoZifuCIEXijauVmBERERERERERERGVRUZGBvz8/PDtt98iNjYWeXl5KttmZmYiNDQU/v7+sLOzg6mpKerXr48BAwbgwIEDGvsqKipCdHQ0fvzxR4wcORItWrSAkZGRWLy6e/euzvk/e/YMK1euRJcuXeDk5ARTU1M4OjrCy8sLEyZMQHh4uMYYkZGR+PDDD+Hm5gYzMzPUrVsXPXr0wLZt23TOR5PCwkJs2LABvXr1Qv369WFqaopatWqhefPmGDlyJLZv365zzPfee098DTW9jh07dlRoK/9jbGwMBwcHdOjQAYsWLcLTp0/LcaekjJHmJtVfamoqfv75Z/zxxx+Ij4/H06dPYW9vDxcXFwQEBKBv377w8/NTG+PAgQP46aefcO7cOaSkpMDBwQE+Pj4YNWoUevTo8YLuhDQxNjFFPXcPJFz/b3q7+1evoGHrtpWYFREREREREREREelq5cqViIuLAwBMmzYNvXv3hq2tLQCgbt26YrvIyEj069cPSUlJCtcnJCQgISEBO3bsQHBwMNauXQtDQ0OlfX311VeYO3eu3nKPiIjA8OHDce/ePYXjjx8/xuPHjxEdHY2TJ0+iW7du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IqKKw2ISURnU91QcmZSVmoKMx8mVlA0RERERERERERERUcVhMYmoDOxdXGFubaNwjFPdEREREREREREREVF1xGISURlIJBK4cN0kIiIiIiIiIiIiInoFsJhEVEb1m3HdJCIiIiIiIiIiIiKq/lhMIiojF0/FYtKzp0/wNOlBJWVDRERERERERERERFQxWEwiKqOadZ1Qo6adwjFOdUdERERERERERERE1Q2LSURlpGzdpPvXYiopGyIiIiIiIiIiIiKiisFiElE5PD/VXQLXTSIiIiIiIiIiIiKiaobFJKJyqN+spcJ+bmYG0hLuVVI2RERERERERERERET6x2ISUTnY1HaEVS0HhWOc6o6IiIiIiIiIiIiIqhMWk4jKQSKRoL6Sqe6IiIiIiIiIiIiIiKoLFpOIyun5dZMSb1yFIJVWUjZERERERERERERERPrFYhJRObl4NlfYz8vOQsr9u5WTDBERERERERER0SskLS0NU6ZMgYeHB8zNzSGRSCCRSLB8+fLKTo2oWmExiaicrGvVhq1jXYVj969erqRsiIiIiIiIiIiIXg0ZGRnw8/PDt99+i9jYWOTl5alsm5mZidDQUPj7+8POzg6mpqaoX78+BgwYgAMHDmjsq6ioCNHR0fjxxx8xcuRItGjRAkZGRmLx6u7duzrn/+zZM6xcuRJdunSBk5MTTE1N4ejoCC8vL0yYMAHh4eEqr719+za2bt2KSZMmwd/fHxYWFmIuGzZs0DkXTXJycrB48WL4+PjAzs4OlpaW8PDwwJQpU3D//n21127YsEHM7fkfAwMDWFtbo1mzZhg9ejQuXryo99xJP4wqOwGi6sDFsznSk5PE/YRrV9Dm7T6VmBEREREREREREVH1tnLlSsTFxQEApk2bht69e8PW1hYAULfuf3/8HRkZiX79+iEpKUnh+oSEBCQkJGDHjh0IDg7G2rVrYWhoqLSvr776CnPnztVb7hERERg+fDju3buncPzx48d4/PgxoqOjcfLkSXTr1q3UtcePH0fHjh31losm8fHx6NWrF27evKlwPDY2FrGxsVi7di22bNmCwMBAnWMLgoCsrCxcu3YN165dw5o1azBr1izMnz9fX+mTnrCYRKQHLp4tEHP0v78USLxxDdLiYhio+MeHiIiIiIiIiIiqt5wLF2DRuvULu+5VdPjwYQBAmzZtEBoaqrTN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hYWF6corr9Trr7+uU6dO1e6DSpo9e7b9s1X1fZw+fbpD39Jf3t7eCg0NVb9+/fT4449r3759ta6pLvExuwAA5bNE93I4P3E4TTknTyi4aTOTKgIAAAAAAADqjnfeecf+i/pp06Zp1KhRCg0NlSS1bt3a3u+nn37STTfdpCNHjjjcn5qaqtTUVK1YsULjx4/X+++/L29v73Kf9cILL2j69OlOq33dunWaMGGCDh065NB+7NgxHTt2TDt27NDGjRt13XXXXXDv+vXrdeWVVzqtlsqMGjVK33//vVPGmj9/vh5++GGdO3fO3pafn6+NGzdq48aNWrhwob744gs1b978gnu/+uorjR492uHeEllZWVq/fr3Wr1+v119/XUuXLtVVV11Vo9oOHz6sp59+uuYfqhxWq1WnT5/W9u3btX37dr399tt66623NGnSJKeMbxbCJKCOCu/QWX6BQSrIy7W3pSbGq8eQYSZWBQAAAAAAgOpI25OgiO7RbruvIfruu+8kSf3799crr7xSbp+9e/dqxIgROn36tLy8vHTfffdp7Nixat68uZKTkzVnzhytXbtWCxcuVEhIiN56661yx7HZbPbjgIAA9enTR5mZmdq/f3+t6h41apTy8/MVEhKiiRMn6pprrlF4eLgyMzN18OBBffXVV8rIyKiyFi8vL/Xo0UONGjXSzz//XONaqlL6WU2bNlX//v31008/KScnp0bjfP3115o4caKsVqvCw8P197//XZdeeqlOnDih9957T5988ok2b96sMWPGaN26dfLyclxU7fjx4zp37py8vLx07bXX6vrrr1fv3r0VGhqqtLQ0/etf/9KyZcuUkZGhP/3pT/rhhx/Up0+fatc3efJkZWdnq2XLljp27FiNPtsHH3ygAQMG2M+Li4t15MgRffXVV5ozZ44KCgr04IMPqkuXLrr66qtrNHZdQpgE1FFe3t6K6BGtA9u32ttSd+0kTAIAAAAAAKjjflz+L/20YqmuuH28BsaOrfZ9P3+2Qhs/WqjBY2/TZTff4cIK64f09HRJUteuXSvs8/jjj+v06dOSzs+MGT9+vP1a3759NWbMGN1zzz1auHCh3n77bd19993q16/fBeMMHjxYc+fO1YABA+xL3I0fP77GYVJmZqbGjRun/Px89ejRQ998840iIiIu6Ddp0iQVFBSUO0bbtm312muvacCAAerXr5+Cg4O1cOFCl4RJt99+uyZOnKiBAweqc+fOkqT27dvXKEwqKirS5MmTZbVa1bhxY/3www/q1KmT/fr111+vhx9+WLNnz9aGDRv04Ycf6q677nIYw9fXV5MmTdLf/vY3RUZGOly75JJLNGrUKA0ZMkSPPPKIcnNz9fjjj2vt2rXVqu+zzz7TqlWrFBYWpieffFKPP/54tT+bJHXo0EE9e/Z0aOvdu7euv/569enTR/fcc49sNptee+01jw6T2DMJqMMu3Dcp3qRKAAAAAAAAUB1pexL004qlkqSNHy3Uz5+tqNZ9JUGSJP20YqnS9iS4qsR6o2TJM19f33KvZ2Vl6csvv5QkDRkyxCFIKmEYhmbMmKFGjRrJZrPp5ZdfLnes4cOHa9KkSerbt698fGo/R+Ppp5/W8ePH5e/vr1WrVpUbJJXw8/Mrt71Lly6aOnWqhg0bpuDg4FrXUh0TJ07U7bffbg+SamPVqlVKSkqSdP7zlw6SSrz22mtq2rSp/bisW2+9VXPnzr0gSCptypQp6t+/vyTp+++/1/Hjx6us7cyZM5o8ebIk6fXXX1ezZs7dYmTChAlq0aKFJGnLli1OHdvdCJOAOqxsmHQq44iyszJNqgYAAAAAAABViegerStuH28/r06gVDpIkqQrbh/vUUvdTZ8+XYZhyDAMSef3wXnttdfUt29fhYSEKCQkRAMHDtTbb7+toqKiCsdp3769DMOwhz6//PKLxo8frw4dOsjf31+GYej777+3P6tkv6FFixbZ2wzDsO8ntG3bNvsybSNGjKjwuaGhoRo0aJAk6csvv1Rubm6FfS/GqVOn9NFHH0mSbrvtNnXr1s0lz6lrPv30U/txeYGeJAUFBemWW26RJO3atcu+F1ZNlfzbW61WJScnV9n/6aefVlpamq688soLZkM5S/v27SWd/7nwZIRJQB3Wsl0HBTRy/OuC1IQ4k6oBAAAAAABAdQyMHVvtQKm8IKkmS+PVNRkZGRo0aJCmTZumHTt2KCcnRzk5Odq6daumTJmiMWPGyGq1VjnO3LlzNWjQIC1atEgHDx6scMm3ypw4ccJ+HB4eXmnfkuu5ubnatm1bjZ9VHZ9//rny8vIkSTfffLO9/cyZM9q3b1+N9+rxFBs3bpQkdevWTa1ataqw37Bhv2/vsWnTplo9q2S2mqQL9l0qa8uWLZozZ478/Pw0Z86cWj2vOg4ePChJlc6q8gSESUAdZnh5KSKql0MbYRIAAAAAAEDdV51Aqb4FSZI0ZswY7d69W4888oi+/fZb/fLLL/roo4/Uo0cPSecDlffee6/SMbZu3arJkycrIiJCb7/9tn766Sdt2rRJL730kgYMGKD4+HjFx8erTZs2kqTY2Fh7W3x8vBYsWCBJatSokX3Mkn2TKlL6emJiYq0+e1U2b95sPx48eLDWrFmjIUOGqHHjxuratavCw8PVpk0b/fWvf1VWVpZLanC3nJwcpaWlSZK6d+9ead/S13fv3l2r561fv16S5OPjU+nSfIWFhbr//vtltVr1xBNPVFlbbS1atMj+b3nDDTe45BnuUvvFHQG4hSU6Rklbf7KfpyTEyWaz2acNAwAAAAAAoOZsVqvycs649Bk9r7pWhfn52vzJx5LOB0qF+fm6ZMQo7fjqc3u7JA0aM049r7pWudmVhx41ZbValXfm/OcMCQ6WqpitcbG2bt2qb775xr7cmCT17dtXw4cPV1RUlDIyMjR79mxNmjSpwjESExPVq1cvbdiwQaGhofb2IUOGSJJ69uwp6fe9kkJDQ+1tpZUEWNL5kOHxxx8v93kFBQUO+9mkpKRU/UFroSSkatKkid5//31Nmzbtgj5HjhzRjBkztHz5cn399deKiopySS3ukpaWZl9qsLL9oSTJYrHYj1NTU2v8rNWrVysu7vwf4g8fPlyNGzeusO9rr72m+Ph4dezYUX//+99r/KzSkpOT7fsiSVJxcbEyMjL01Vdfafbs2ZLOB2VPPPHERT3HbIRJQB0XGe04M+lMVqZOH8tQaHjFU0IBAAAAAABQubycM5pz/x1uf+7mTz52CJGqanemSe8uUXBoU5c+Y8qUKQ5BUolmzZppwoQJevnllxUXF6fTp0+rSZMmFY7zzjvvOARJtdG1a1f16NFDu3fv1urVq/XDDz/YA6nS3njjDYeZQGfOuCZkLFl2Ly8vT08++aT8/f313HPP6c4771RYWJj27dunV199VYsXL1ZaWppiY2O1Y8cOBQcHVzFy3VX6e1nV5yg9kywnJ6dGzzlx4oQefvhhSZK3t7f+53/+p8K+SUlJ9uvvvPOOAgMDa/Sssu65554KrzVp0kT/+Mc/9PDDD6tpU9f+7Lkay9wBdVxzSzsFNnb8L1aWugMAAAAAAEBddMcdFQd0/fr1sx8nJydX2M9iseiKK65wSj0vvPCCpPMztEaOHKl33nlHR48eVWFhofbt26fHHntMf//73+Xn52e/p2RfI2c7e/aspPMzoWw2m5YsWaInn3xSbdu2lZ+fn6Kjo7Vo0SJNnDhR0vnQY+7cuS6pxV3y8/Ptx6W/x+Xx9/e3H9fk36C4uFh33HGHDh06JEl65plndMkll1TY/4EHHlB+fr5uvvlmXX/99dV+Tm2cPn1aCxYs0IoV5e+Z5kkIk4A6zjAMWdg3CQAAAAAAAB6gsr1nmjVrZj+ubPZPTEyM0+oZPXq0XnzxRRmGoezsbE2ePFmtW7eWn5+funbtqpkzZyogIEAvvfSS/Z6QkBCnPb+0gIAA+/GgQYN08803l9vvxRdftAcrS5cudUkt7lL6MxcUFFTa99y5c/bjmswWeuihh7RmzRpJ0h//+Ef94x//qLDvwoULtXbtWjVu3FgzZ86s9jMqs27dOtlsNvuX1WrVqVOntH79eo0ePVoHDhzQxIkTy13W0JMQJgEeILKn43+BluybBAAAAAAAANQlQUFBFV7zKrVfU3FxcYX9nL0c2NNPP63vv/9eI0aMcAg3fH19NXr0aO3YsUNdu3Z12fNLlA6pRowYUWG/5s2bq3///pKknTt3qrCw0CX1uEPpz1zV0nUlM7ekqpfEK/H0009r3rx5kqTLL79cy5cvl7e3d7l9MzMzNXXqVEnS//zP/6hNmzbVekZNGYahJk2aaOjQofrkk090++23Szq/T9N///tflzzTHdgzCfAAlmjHMOnsyRM6eSRdzdpUvmkdAAAAAAAAyhcYHKIH3/uXW56146vPHfZD8m8UrHNnf//F+qAx43TJiFEuebbVarXPAgoMds2MG2erKAy4GEOHDtXQoUNVUFCgI0eOqLi4WG3btrXPAFq5cqW9b1RUlNOfL51fvm/z5s2SpIiIyn+vZ7FYJJ0P3Y4fP65WrTxz//TSnzMtLa3Svqmpqfbjks9fmVdeeUUvv/yyJKlv37764osvKp3R9P777+v48eMKDQ1V8+bN9fHHF+5RtmXLFofjkvDx6quvVsuWLausqTxPPPGEPvroI0nS/PnzdfXVV9dqHLMRJgEeoGnrtmrUtJnOnjxhb0tNiCNMAgAAAAAAqCXDy0tBZfapdoWfP1vhECRdcft4DYwdq58/W6GNHy2UJG3+5GP5BgRoYOxYpz/farWqSIak85+5ofPz81O7du0uaN+0aZP9+NJLL3XJs6Ojo7V8+XJJlc/MKnvdx8dzf40fHBwsi8Wi1NRU7dmzp9K+pa/36NGj0r6zZ8/WU089Ze/79ddfq0mTyn+eS5bRO3XqlO68884qa587d659z6p169bVOkwqvfRjfHx8rcaoC3h7AB6gvH2TUhI898UDAAAAAADQEJQOjKTfgyRJGhg7VlfcPt5+beNHC/XzZyvcXCGk88uffffdd5LO72VUnVkxtTF06FD78f79+yvtW3I9MDDQYa8pT3T55ZdLkvbu3aujR49W2G/9+vX24yFDhlTYb8mSJZo8ebIkqWPHjvruu+/UokULJ1XrfEVFRfZjT16ykDAJ8BBll7pLZd8kAAAAAACAOquyIKkEgVLdMH36dPsv+R9++GGXPWfo0KEKCwuTJH366acV/m4vOTlZv/76qyTpsssuc9hryhPdeOON9uOFCxeW2yc3N1f//ve/JZ1fZrD0HlalffLJJ5owYYJsNpsiIiK0du3aau99NH36dNlstkq/FixYYO+/YMECe/uVV15ZrWeUZ+vWrfZjVwWV7uDZ/ykEGpDInr0dzvOyT+t46iGTqgEAAAAAAEBFqhMklSBQcq3CwsJKZ8PMnTtXs2fPliRdccUVuuOOO1xWi7e3t6ZOnSrp/CydV1555YI+hYWFeuihh2S1WiVJDzzwgMvqcZfRo0erU6dOkqSXXnqp3FlZTzzxhE6ePGk/Ls8333yj2267TcXFxWrZsqW+++47tW/f3mV1O8O5c+f0z3/+034+cuRIE6u5OJ672CLQwDRpGa6QFmE6k5Vpb0tJiFeLyPbmFQUAAAAAAAAHaXsSqh0klSi5XnLfxo8Wqk23HoroHu2qMhuM06dPy2KxKDY2VrGxserWrZskad++fVqyZIm+/vprSVK7du20ZMkSGYZR7jg5OTlascIx5EtKSrIfr1ixwmGptT59+qhPnz4XjPPII49o2bJl2r59u55++mklJCTozjvvVFhYmJKSkvTmm29qy5Ytks4HDzfddFO59axYsUI5OTn289J7PpU+lqRWrVrp+uuvL3ecqiQlJV0wXslzc3JyLphpdP3116tVq1YObb6+vnrrrbc0atQoZWdna8iQIXrmmWc0cOBAnTx5Uu+9955Wrlwp6fySeH/+858vqGPz5s0aPXq0CgoK5OvrqxkzZqiwsFC7du2qsPaIiAiFhobW4lPXTHJy8gXL7GVnZ+vXX3/V7NmzlZCQIEnq3LmzJk2a5PJ6XIUwCfAQhmEoMjpGCevX2ttSE+LUd8QoE6sCAAAAAABAaRHdozV47G36acXSagVJJUoHSoPH3kaQ5ERFRUVauXKlPbAoa/Dgwfroo4/Url27CsfIysrShAkTKrxedjbNs88+W26YFBAQoC+++EKjRo3SL7/8og8//FAffvjhBf1Gjhypjz/+uMJwa+rUqTp0qPxVi+bPn6/58+fbz4cNG1brMGnTpk0Vfu7jx49fcG3dunUXhEnS+c8zd+5cTZ48WRkZGZoyZcoFfQYOHKhVq1bJ29v7gmtr1qxRbm6upPOzt6ozg2zBggUaP358lf0u1j333FNln969e+vTTz9VYGCgy+txFcIkwINYyoRJabt3yWa1yvDwdVMBAAAAAADqk8tuvkORvfrUOBAaGDuWGUlOFhoaqvfff19r167V9u3bdfToUeXn5ys8PFz9+/fXuHHjNHbs2ApDG1do3bq1Nm/erPnz52vp0qVKTEzUqVOn1Lx5cw0cOFDjx4/X6NGj3VaPu9x///0aPHiw3nrrLa1du1aHDx9Wo0aN1KNHD91xxx2677775ONTPyKLoKAgtWzZUn379tXYsWN18803e/xnM2wV7fIFj5CWlmbftCs1NVUREREmV1Q35OXl6ZtvvpEkXXfddR6d+JaWnXVM7z3smHT/+ZW31LJ9R5MqAuBK9fVdBqDh4D0GwNPxHgM81759+1RUVCQfHx916dLF7HJMZbValZ2dLUlq3LixvPijZMCj1OZ95orcgDcH4EEat2ip0PDWDm0pu3aaVA0AAAAAAAAAoCEgTAI8jCW6l8N5akKcSZUAAAAAAAAAABoCwiTAw1iiYxzO03YnyFpcbFI1AAAAAAAAAID6jjAJ8DBlw6SCvFwdS95vUjUAAAAAAAAAgPqOMAnwMMFNm6lZG8cN01JY6g4AAAAAAAAA4CKESYAHKjs7iX2TAAAAAAAAAACuQpgEeKCyYVL6nkQVFxWZVA0AAAAAAAAAoD4jTAI8kCW6l8N54bl8Hd2/z6RqAAAAAAAAAAD1GWES4IGCGjdRC0s7hzaWugMAAAAAAAAAuAJhEuChLD3L7pu006RKAAAAAAAAAAD1GWES4KHK7pt0eO8eFRUWmlQNAAAAAAAAAKC+IkwCPJSlRy/JMOznRYUFOrJvj4kVAQAAAAAA1A3e3t6SpOLiYtlsNpOrAYDasdlsKi4ulvT7e80shEmAhwoIDlbLdh0d2tg3CQAAAAAAQPLz85N0/hexubm5JlcDALWTm5trD8RL3mtmIUwCPJglupfDeWpCvEmVAAAAAAAA1B2NGze2H584cYLZSQA8js1m04kTJ+znpd9rZiBMAjxYZM/eDueHf9ujwnP5JlUDAAAAAABQNwQHB8v4v+0BcnJylJaWprNnzxIqAajzbDabzp49q7S0NOXk5EiSDMNQcHCwqXX5mPp0ABelbfdoGV5eslmtkiRrcZEO792jdjF9zC0MAAAAAADARF5eXmrbtq3S09Nls9mUk5OjnJwcGYZh+r4jZigqKpIkZWZmmlwJgKqU3evNMAy1bdtWXl7mzg0iTAI8mH9QkMI7dtbRpN/sbamJcYRJAAAAAACgwQsJCXEIlKTzf/FfEqw0FDabTXl5eZKkwMBA+4wtAHVfSZAUEhJidimESYCns0THOIRJKQlxJlYDAAAAAABQd4SEhKhr167KyclRdna2CgoKVFxcbHZZbmW1Wu1hUnBwsOmzGwBUztvbW35+fmrcuHGd+pklTAI8XGRUL239bIX9PGP/PhXk5covMMjEqgAAAAAAAOoGLy8vNW7c2PTN682Sl5enPXv2SJL69eunwMBAkysC4InqRqQFoNbado+WV6m1fq3FxUrfk2hiRQAAAAAAAACA+oQwCfBwvgEBatW5m0MbS90BAAAAAAAAAJyFMAmoByKjezmcpybEm1QJAAAAAAAAAKC+IUwC6gFLdIzD+bHk/TqXe9akagAAAAAAAAAA9QlhElAPtO7aXd6+vvZzm82qtN27TKwIAAAAAAAAAFBfECYB9YCvn7/adOnu0Jayi32TAAAAAAAAAAAXjzAJqCfKLnWXmkCYBAAAAAAAAAC4eIRJQD1hie7lcJ55KFl5Z7JNqgYAAAAAAAAAUF8QJgH1RKvO3eTj5+/QlpbIvkkAAAAAAAAAgItDmATUEz6+vmrbPcqhLYWl7gAAAAAAAAAAF4kwCahHLFGOS92xbxIAAAAAAAAA4GIRJgH1iCU6xuH8eFqKzp46aVI1AAAAAAAAAID6gDAJqEfCO3aWb0CgQ1tqYrxJ1QAAAAAAAAAA6gPCJKAe8fbxUUSZfZNY6g4AAAAAAAAAcDEIk4B6xtKzt8N5agIzkwAAAAAAAAAAtUeYBNQzkWX2TTp5JF1nTmSZVA0AAAAAAAAAwNMRJgH1TFj7DvJv1MihjdlJAAAAAAAAAIDaIkwC6hkvL29F9Ojp0Ma+SQAAAAAAAACA2iJMAuohS5TjUneESQAAAAAAAACA2iJMAuqhyJ6OYdLpYxk6fSzDpGoAAAAAAAAAAJ6MMAmoh1pY2ikgpLFDG7OTAAAAAAAAAAC1QZgE1EOGl5csUeybBAAAAAAAAAC4eIRJQD1liXZc6i4lMV42m82kagAAAAAAAAAAnoowCainIsuESTnHs3Qq44hJ1QAAAAAAAAAAPBVhElBPNWtrUVCTUIe21F0sdQcAAAAAAAAAqBnCJKCeMgzjwqXu2DcJAAAAAAAAAFBDhElAPVZ2qbvUhDj2TQIAAAAAAAAA1AhhElCPWaJ7OZznnj6lE+lpJlUDAAAAAAAAAPBEhElAPRbaqo2Cm7dwaEtlqTsAAAAAAAAAQA0QJgH1mGEYioxynJ2UkrDTpGoAAAAAAAAAAJ6IMAmo5yxl901K3CWb1WpSNQAAAAAAAAAAT0OYBNRzZcOk/DPZyko9ZFI1AAAAAAAAAABPQ5gE1HNNWoarcVi4Qxv7JgEAAAAAAAAAqoswCWgAIns6zk5KSYg3qRIAAAAAAAAAgKchTAIagLJL3aUlxstqLTapGgAAAAAAAACAJyFMAhoAS3Qvh/NzuWeVeTDZpGoAAAAAAAAAAJ6EMAloAEKatVDT1m0c2lLYNwkAAAAAAAAAUA2ESUADYYlyXOoulTAJAAAAAAAAAFANhElAA2HpWWbfpN0JKi4qMqkaAAAAAAAAAICnIEwCGghLlOO+SYX5eco4kGRSNQAAAAAAAAAAT0GYBDQQjUKbqnlEpEMbS90BAAAAAAAAAKpCmAQ0IJZox9lJqYnxJlUCAAAAAAAAAPAUhElAA2KJdtw3KX1PooqLCk2qBgAAAAAAAADgCQiTgAak7L5JRQXndGTfXpOqAQAAAAAAAAB4AsIkoAEJDGmssHYdHNpSE1jqDgAAAAAAAABQMcIkoIEpu9RdakKcSZUAAAAAAAAAADwBYRLQwJQNkw7v26OiggKTqgEAAAAAAAAA1HWESUADE9EjWobx+49+cWGhDv+2x8SKAAAAAAAAAAB1GWES0MAENApWyw6dHNpSE3aaVA0AAAAAAAAAoK4jTAIaIEt0L4fzlIR4kyoBAAAAAAAAANR1hElAAxRZZt+ko0m/qTA/36RqAAAAAAAAAAB1GWES0AC17R4lw+v3H39rcZHS9yaaWBEAAAAAAAAAoK4iTAIaIL/AILXq3NWhLTUhzqRqAAAAAAAAAAB1GWES0ECVXeouhTAJAAAAAAAAAFAOwiSggbJEOYZJGQeSdC4316RqAAAAAAAAAAB1FWES0EC16dZdXt4+9nOb1ar0PQkmVgQAAAAAAAAAqIsIk4AGytc/QK27dHNoY6k7AAAAAAAAAEBZhElAAxbZ03Gpu1TCJAAAAAAAAABAGYRJQANmiXYMk44dPKC8nDMmVQMAAAAAAAAAqIsIk4AGrHWX7vLx9fu9wWZT2u5d5hUEAAAAAAAAAKhzCJOABszH11dtunV3aGOpOwAAAAAAAABAaYRJQANniSq7b1K8SZUAAAAAAAAAAOoiwiSggbP07O1wnpVyULnZp02qBgAAAAAAAABQ1xAmAQ1cq05d5Osf4NDG7CQAAAAAAAAAQAnCJKCB8/bxUdvuUQ5t7JsEAAAAAAAAAChBmARAluiy+yYRJgEAAAAAAAAAziNMAiBLdC+H8xOH05Rz8oRJ1QAAAAAAAAAA6hLCJAAK79BZfoFBDm3MTgIAAAAAAAAASIRJACR5eXsroke0QxthEgAAAAAAAABAIkwC8H8u3Dcp3qRKAAAAAAAAAAB1CWESAEkXhkmnMo4oOyvTpGoAAAAAAAAAAHUFYRIASVLLdh0U0CjYoY2l7gAAAAAAAAAAhEllTJs2TYZh2L++//77Ku9Zs2aNxowZo4iICPn7+ysiIkJjxozRmjVrXF8w4CSGl5ciono5tBEmAQAAAAAAAAAIk0rZuXOnZsyYUe3+NptNkyZN0ogRI7Rq1Sqlp6eroKBA6enpWrVqlUaMGKFJkybJZrO5sGrAecoudZeSEMd/fgEAAAAAAACggSNM+j9Wq1X333+/ioqK1LJly2rd88wzz2jevHmSpEsuuURLly7Vzz//rKVLl+qSSy6RJM2bN0//+Mc/XFY34EyR0Y4zk85kZer0sQyTqgEAAAAAAAAA1AWESf/nrbfe0tatW9W9e3fde++9VfZPSkrSq6++Kknq37+/fvjhB40bN04DBgzQuHHjtGnTJvXv31+S9Morr2j//v0urR9whuaWdgps3MShjaXuAAAAAAAAAKBhI0ySlJqaap89NGfOHPn5+VV5z4wZM1RUVCRJmjVrlgIDAx2uBwUFadasWZKkoqIizZw507lFAy5gGIYs7JsEAAAAAAAAACiFMEnSQw89pJycHN1999268sorq+xvs9n02WefSZK6d++uQYMGldtv0KBB6tatmyTp008/Ze8ZeITInuybBAAAAAAAAAD4XYMPk/7973/riy++ULNmzfTaa69V657k5GSlp6dLkoYNG1Zp35LraWlpOnjw4EXVCriDJdoxTDp78oROHkk3qRoAAAAAAAAAgNkadJh06tQp/eUvf5F0fl+jsLCwat23e/du+3H37t0r7Vv6eun7gLqqaeu2atS0mUMbS90BAAAAAAAAQMPlY3YBZpo2bZqOHj2qyy67TPfee2+170tNTbUfR0REVNrXYrGUe191paWlVXr9yJEj9uO8vDzl5eXV+Bn1UX5+frnHqJ423aK0b/Mm+3ly3A51vfwqEysCGibeZQA8He8xAJ6O9xiA+oB3GdDwuCInaLBh0qZNm/T+++/Lx8dHc+fOlWEY1b73zJkz9uPg4OBK+zZq1Mh+nJOTU+M6S4dRVdmwYYNatGhR42fUdxs2bDC7BI+TbXP8eTi4c4e+/vrrGv2cAHAu3mUAPB3vMQCejvcYgPqAdxnQMGRlZTl9zAa5zF1BQYEmTpwom82mxx57TL169arR/aUTfD8/v0r7+vv724+ZNQRPERjexuG8+Fy+Ck6fNKkaAAAAAAAAAICZGuTMpBdffFG7d+9WZGSknn322RrfHxAQYD8uKCiotO+5c+fsx4GBgTV+VlVL4x05ckQDBw6UJA0dOrTKZfcaivz8fPtfWgwdOtTh3wxVs9lsWvLDWuUc/z3Bbte0iWKuvc7EqoCGh3cZAE/HewyAp+M9BqA+4F0GNDxVbZ9TGw0uTNqzZ49eeuklSdKsWbMclqGrrpCQEPtxVUvXnT171n5c1ZJ45alJOBQYGFirwKq+CwgI4PtSC+169lbC+rX286O/7dalN4wxsSKgYeNdBsDT8R4D4Ol4jwGoD3iXAQ2DK37OG1yYNGPGDBUUFKhjx47Kzc3Vxx9/fEGfXbt22Y//+9//6ujRo5KkUaNGqVGjRg4BT1UJX+mZRTXZ/wgwmyU6xiFMStu9SzarVYZXg1wdEwAAAAAAAAAarAYXJpUsO3fgwAHddtttVfb/n//5H/txcnKyGjVqpKioKHvbnj17Kr2/9PUePXrUtFzANJZox73E8nPOKDPloFq272hSRQAAAAAAAAAAMzDFoBY6dOigNm3aSJLWr19fad+S9Ujbtm2r9u3bu7o0wGkat2ip0PDWDm0pu3aaVA0AAAAAAAAAwCwNLkxauHChbDZbpV/PPvusvf+6devs7SVhkGEYio2NlXR+5tHmzZvLfdbmzZvtM5NiY2NlGIZrPxzgZGVnJ6UmxJlUCQAAAAAAAADALA0uTHKWRx99VD4+51cJnDJlivLy8hyu5+XlacqUKZIkHx8fPfroo+4uEbholugYh/O03QmyFhebVA0AAAAAAAAAwAyESbXUtWtXTZ06VZK0bds2DRkyRMuWLdO2bdu0bNkyDRkyRNu2bZMkPfHEE+rSpYuZ5QK1UjZMKsjL1bHk/SZVAwAAAAAAAAAwg4/ZBXiyF154QceOHdMHH3ygHTt2aNy4cRf0uffee/X888+bUB1w8YKbNlOzNhE6cTjN3paSEKdWnbuaWBUAAAAAAAAAwJ2YmXQRvLy8NH/+fK1evVqxsbFq06aN/Pz81KZNG8XGxurLL7/U+++/Ly8vvs3wXGVnJ7FvEgAAAAAAAAA0LMxMKsf06dM1ffr0avcfOXKkRo4c6bqCABNZomO089sv7efpexJVXFQkbx9eHwAAAAAAAADQEDBlBkClLNG9HM4Lz+Xr6P59JlUDAAAAAAAAAHA3wiQAlQpq3EQtLO0c2ljqDgAAAAAAAAAaDqeuU7VhwwZnDlehoUOHuuU5AM6z9IxRVuoh+3lqwk4NGnOriRUBAAAAAAAAANzFqWHSlVdeKcMwnDnkBQzDUFFRkUufAcCRJTpGO7763H5+eO8eFRUWysfX18SqAAAAAAAAAADu4JJl7mw2m0u/ALiXpUcvqVRQXFRYoCP79phYEQAAAAAAAADAXZw6M6nEBx98oA4dOjh1zOTkZN1zzz1OHRNA9QQEB6tlu446dnC/vS01IU6WqF4mVgUAAAAAAAAAcAeXhEkDBw5UVFSUU8ds0aKFU8cDUDOW6F5lwqR46WYTCwIAAAAAAAAAuIVLlrkDUP9E9uztcH74tz0qPJdvUjUAAAAAAAAAAHdx6sykZ599VpLUsmVLZw5rH7NkfADu17Z7tAwvL9msVkmStbhIh/fuUbuYPuYWBgAAAAAAAABwKZeESa4QFhZGmASYyD8oSOEdO+to0m/2ttTEOMIkAAAAAAAAAKjnWOYOQLVZomMczlMS4kyqBAAAAAAAAADgLoRJAKotskyYlLF/nwryck2qBgAAAAAAAADgDoRJAKqtbbcoeXn/vjqmtbhY6XsSTawIAAAAAAAAAOBqTt0zqTqsVqsSExN14MABnTlzRsXFxVXec9ddd7mhMgBV8Q0IUKvOXXV47+8BUkpCnDpc0t/EqgAAAAAAAAAAruS2MCkvL0/PP/+83nvvPR0/frza9xmGQZgE1CGR0b0cwqTUhHgTqwEAAAAAAAAAuJpbwqS8vDxdffXV+vnnn2Wz2dzxSAAuYomO0eZPltnPjyXv17ncs/IPamRiVQAAAAAAAAAAV3FLmDRjxgxt2bJFktSzZ09NnjxZ/fr1U7NmzeTlxbZNgCdp3bW7vH19VVxYKEmy2axK271LnfpdanJlAAAAAAAAAABXcEuYtGzZ+VkMl112mf773//Kz8/PHY8F4AK+fv5q06W7UhN/X94uZVccYRIAAAAAAAAA1FNumRa0f/9+GYahadOmESQB9YAlOsbhPDUhzqRKAAAAAAAAAACu5pYwqSRAioyMdMfjALiYJbqXw3nmoWTlnck2qRoAAAAAAAAAgCu5JUzq3r27JOno0aPueBwAF2vVuZt8/Pwd2tISd5lUDQAAAAAAAADAldwSJo0fP142m03Lly93x+MAuJiPr6/ado9yaEthqTsAAAAAAAAAqJfcEibdf//9uuqqq7R48WItXbrUHY8E4GKWKMel7tg3CQAAAAAAAADqJx9nDpaSklLhtVmzZmnixIm68847tWrVKt1+++3q3r27goKCqhyXvZaAuscSHeNwfjwtRWdPnVSj0KYmVQQAAAAAAAAAcAWnhkkdOnSoso/NZtPKlSu1cuXKao1pGIaKiooutjQAThbesbN8AwJVmJ9nb0tNjFf3y4aaWBUAAAAAAAAAwNmcusydzWar8qu6/creA6Bu8fbxUUSZfZNY6g4AAAAAAAAA6h+nzkxasGCBM4cDUMdZevZW8q+/2M8JkwAAAAAAAACg/nFqmHT33Xc7czgAdVxkmX2TTh45rDMnshTSrIVJFQEAAAAAAAAAnM2py9wBaFjC2neQf6NGDm2pCfEmVQMAAAAAAAAAcIU6GyYVFBRo+fLlGjVqlNmlAKiAl5e3Inr0dGhjqTsAAAAAAAAAqF+cusydM/zwww9avHixli9frtOnT5tdDoAqWKJitH/bFvs5YRIAAAAAAAAA1C91Ikw6cOCAlixZoiVLlig5OVmSZLPZJEmGYZhZGoAqRPZ03Dfp9LEMnT6WoSYtw02qCAAAAAAAAADgTKaFSdnZ2Vq2bJkWL16sH3/8UZJjgHTZZZdp7Nixuummm8wqEUA1tLC0U0BIY+Wfyba3pSbEqUnLa02sCgAAAAAAAADgLG4Nk4qLi/XVV19p8eLF+uKLL3Tu3DlJ50MkwzDUr18/jR8/XmPGjFHr1q3dWRqAWjK8vGSJ6ql9W360t6UmxKnnVYRJAAAAAAAAAFAfuCVM2r59uxYvXqyPP/5YmZmZkn6fhRQVFaXExERJ0hNPPKFbbrnFHSUBcCJLdIxDmJSSGG8PiQEAAAAAAAAAns1lYdLhw4f14YcfavHixdq9e7ek3wOk1q1ba9y4cbrzzjt1ySWXyMvLy1VlAHCDyOjeDuc5x7N0KuOImrZqY1JFAAAAAAAAAABncXqYVBIgrVu3Tlar1R4gBQcHa/To0brzzjt1zTXXECAB9UizthFqFNpUZ0+dtLel7oojTAIAAAAAAACAesDpYdJdd90lwzBks9nk4+Oja6+9VnfeeaduvPFGBQYGOvtxAOoAwzAUEdVLe3/cYG9LSYhTzB+uN7EqAAAAAAAAAIAzuGyZu5CQEL3xxhsaP368fHzcsjUTABNFRsc4hEmpCXHsmwQAAAAAAAAA9YDT15ormZWUk5OjSZMmqVWrVnrooYf0ww8/OPtRAOoQS3Qvh/Pc06d0Ij3NpGoAAAAAAAAAAM7i9DDp0KFDev7559WtWzfZbDadOHFC7777roYOHapOnTrpn//8p/bu3evsxwIwWWirNgpu3sKhLTUhzqRqAAAAAAAAAADO4vQwKSIiQn/729+UmJioLVu26MEHH1SzZs1ks9mUnJysF154QVFRURowYIDeeustHTt2zNklADCBYRiKjHKcnZSSsNOkagAAAAAAAAAAzuL0MKm0AQMG6J133tHhw4f1ySefKDY2Vj4+PrLZbPrll1/02GOPKSIiwt7farW6shwALmaJjnE4T03cJRs/1wAAAAAAAADg0VwaJpXw9fXVjTfeqFWrVunIkSN66623NGDAANlsNhUVFckwDEnSPffco9jYWC1ZskSnT592R2kAnKhsmJR/JltZqYdMqgYAAAAAAAAA4AxuCZNKa9asmSZPnqwtW7Zo9+7devLJJxURESGbzab8/Hx98cUXGj9+vMLDwzVy5Eh98MEH7i4RQC01aRmuxmHhDm3smwQAAAAAAAAAns3tYVJp3bp100svvaSDBw/q22+/1Z///GcFBQXJZrOpoKBAa9as0cSJE80sEUANRfZ0nJ2UkhBvUiUAAAAAAAAAAGcwNUwqYRiGrrnmGi1atEgZGRlatGiRrr76anl5eclms5ldHoAaKLvUXVpivKzWYpOqAQAAAAAAAABcrDoRJpUWFBSkP//5z/ruu+908OBBvfDCC2aXBKAGLNG9HM7P5Z5V5sFkk6oBAAAAAAAAAFysOhcmlRYREaGnnnrK7DIA1EBIsxZq2rqNQ1sK+yYBAAAAAAAAgMeq02ESAM9kiXJc6i6VMAkAAAAAAAAAPJaPOx5yzz331PpewzA0f/58J1YDwNUsPWMUt3aN/Txtd4KKi4rk7eOWVw4AAAAAAAAAwInc8pvdhQsXyjCMGt9ns9kIkwAPZIly3DepMD9PGQeS1KZrd5MqAgAAAAAAAADUllvCpMjIyCrDpLNnzyorK0vS+dlILVq0UFBQkDvKA+BkjUKbqnlEpI6npdjbUhPiCJMAAAAAAAAAwAO5JUw6ePBgtfqdOHFCH330kZ599lmFhobqs88+U/fu/PIZ8ESW6F6OYVJivC4dfYuJFQEAAAAAAAAAasPL7AJKa9asmSZPnqxNmzYpIyNDI0aM0MmTJ80uC0AtWKJjHM7T9ySquKjQpGoAAAAAAAAAALVVp8KkEj169NAjjzyiQ4cO6Y033jC7HAC1UHbfpKKCczqyb69J1QAAAAAAAAAAaqtOhkmSdO2110qSPvnkE5MrAVAbgSGNFdaug0NbakK8SdUAAAAAAAAAAGqrzoZJwcHBkqSUlJQqegKoq8oudZeaEGdSJQAAAAAAAACA2qqzYdKOHTskSb6+viZXAqC2yoZJh/ftUVFBgUnVAAAAAAAAAABqo06GScnJyZo+fboMw1CfPn3MLgdALUX0iJZh/P6aKS4s1OHf9phYEQAAAAAAAACgpnzc8ZDFixdX2cdqterkyZPatm2bPvvsM+Xm5sowDD3wwANuqBCAKwQ0ClbLDp2UcWCfvS01Yacie8ZUchcAAAAAAAAAoC5xS5g0fvx4GYZR7f42m02S9Mgjj+jWW291VVkA3MAS3cshTEpJiNcQE+sBAAAAAAAAANSM25a5s9ls1fpq0qSJbrjhBq1Zs0YzZsxwV3kAXCSyzL5JR5N+U2F+vknVAAAAAAAAAABqyi0zk5KTk6vs4+XlpZCQEIWGhrq+IABu07Z7lAwvL9msVkmStbhI6XsT1b53X5MrAwAAAAAAAABUh1vCpHbt2rnjMQDqIL/AILXq3FVHfttjb0tNiCNMAgAAAAAAAAAP4bZl7gA0XGWXuktJiDOpEgAAAAAAAABATREmAXA5S5RjmJRxIEnncnNNqgYAAAAAAAAAUBOESQBcrk237vLy/n1VTZvVqvQ9CSZWBAAAAAAAAACoLqeGSVdffbWuueYaHTp0yJnDSpIOHjxoHx+AZ/H1D1DrLt0c2ljqDgAAAAAAAAA8g0/VXarv+++/l2EYOnv2rDOHlSSdPXvWPj4AzxPZM8ZhNlIqYRIAAAAAAAAAeASWuQPgFpZox32Tjh08oLycMyZVAwAAAAAAAACoLqfOTCoxe/ZstWzZ0qljHjt2zKnjAXCv1l26y8fXT0WFBecbbDal7d6lLgMGm1sYAAAAAAAAAKBSLgmT5syZ44phAXgwH19ftenWXSm7fl/eLjUhjjAJAAAAAAAAAOo4py9zZ7PZXPYFwLNZohyXuktNiDepEgAAAAAAAABAdTk1TLJarS7/Ki4udmbJANzI0rO3w3lWykHlZp82qRoAAAAAAAAAQHU4fWYSAFSkVacu8vUPcGhjdhIAAAAAAAAA1G2ESQDcxtvHR227Rzm0pSbEVdAbAAAAAAAAAFAXECYBcCtLdNl9kwiTAAAAAAAAAKAuI0wC4FaW6F4O5ycOpynn5AmTqgEAAAAAAAAAVIUwCYBbhXfoLL/AIIc2ZicBAAAAAAAAQN1FmATArby8vRXRI9qhjTAJAAAAAAAAAOouwiQAbnfhvknxJlUCAAAAAAAAAKgKYRIAtysbJp3KOKLsrEyTqgEAAAAAAAAAVIYwCYDbtWzXQQGNgh3aWOoOAAAAAAAAAOomwiQAbmd4eSkiqpdDG2ESAAAAAAAAANRNhEkATFF2qbuUhDjZbDaTqgEAAAAAAAAAVMTHrAenp6fr6NGjys3NVf/+/RUYGGhWKQBMEBntODPpTFamTh/LUGh4K5MqAgAAAAAAAACUx60zk86cOaNnn31WFotFkZGRGjhwoK688kolJyc79Pv44491yy236P7773dneQDcqLmlnQIbN3FoY6k7AAAAAAAAAKh73BYmJSUlqW/fvnr++eeVnp4um81W4ZJWgwcP1qpVq/TBBx9o06ZN7ioRgBsZhnHBUneESQAAAAAAAABQ97glTDp37pz++Mc/av/+/QoKCtK0adP0xRdfVNi/Xbt2uuqqqyRJ//nPf9xRIgATlF3qjn2TAAAAAAAAAKDuccueSXPnztW+ffvUqFEjbdy4UX369KnynhEjRui7777TTz/95PoCAZii7MyksydP6OSRdDVrE2FSRQAAAAAAAACAstwyM+mTTz6RYRj6y1/+Uq0gSZJiYs7/knnfvn0urAyAmZq2bqtGTZs5tLHUHQAAAAAAAADULW4JkxITEyVJ1113XbXvad68uSTp1KlTrigJQB1gGIYsUWWXuos3qRoAAAAAAAAAQHncEiadOXNGktSkSZNq35Ofny9J8vX1dUlNAOqGyJ69Hc5T2TcJAAAAAAAAAOoUt4RJJbOMMjIyqn1PfPz52Qnh4eEuqQlA3VB236S87NM6nnrIpGoAAAAAAAAAAGW5JUwq2Sdp7dq11b7ngw8+kGEYuvTSS11UFYC6oEnLcIW0CHNoY6k7AAAAAAAAAKg73BImjRkzRjabTe+++64OHap6xsFzzz2nLVu2SJJuvfVWV5cHwESGYSiyzOyk1IQ4k6oBAAAAAAAAAJTlljBp/Pjx6tGjh86cOaNhw4Zp9erVDnuiGIYhq9WqjRs3atSoUfp//+//yTAMDRgwQDfccIM7SgRgorJL3aXt3iWb1WpSNQAAAAAAAACA0nzc8RBvb2/95z//0ZAhQ5SSkqIbbrhBQUFB9uujRo1SRkaGcnNzJUk2m01t2rTR8uXL3VEeAJNZons5nOfnnFFmykG1bN/RpIoAAAAAAAAAACXcMjNJkjp16qRff/1Vf/zjH2Wz2XT27FlJ54OjAwcO6OzZs7LZbLLZbLruuuu0detWWSwWd5UHwESNW7RUaHhrh7aUXTtNqgYAAAAAAAAAUJpbZiaVaNWqlT7//HMlJCTos88+07Zt23Ts2DEVFxerefPmuuSSSxQbG6v+/fu7sywAdYAlupdOZRyxn6cmxKn/n0abWBEAAAAAAAAAQHJzmFQiOjpa0dHRZjwaQB1liY5R/H+/sZ+n7U6QtbhYXt7eJlYFAAAAAAAAAHDbMncAUBlLdIzDeUFero4l7zepGgAAAAAAAABACcIkAHVCcNNmatYmwqEtJSHOpGoAAAAAAAAAACXcssxdSkpKje8xDEMBAQFq0qSJ/Pz8XFAVgLrGEh2jE4fT7OepCXEaGDvWxIoAAAAAAAAAAG4Jkzp06HBR90dERGjQoEEaP368RowY4aSqANQ1lugY7fz2S/t5+p5EFRcVydvHlO3dAAAAAAAAAABy0zJ3Npvtor5SU1O1YsUK/elPf9Lw4cN18uRJd5QNwM0s0b0czgvP5evo/n0mVQMAAAAAAAAAkNw0M2nBggWSpLlz52rLli0KCAjQ8OHD1b9/f4WFhUmSMjMztW3bNn399dc6d+6cBg4cqIkTJyo7O1u7du3SZ599pqysLH333Xe68cYbtX79eneUDsCNgho3UYvI9spKOWhvS02IU9tuPcwrCgAAAAAAAAAaOLeESXfffbceeOAB/fzzz4qNjdW7776rli1bltv32LFjmjhxoj7//HNFR0fr/ffflyTNmjVLDzzwgBYvXqxNmzZp2bJluvXWW91RPgA3skT3KhMm7dSgMfysAwAAAAAAAIBZ3LLM3aeffqp58+Zp8ODB+uSTTyoMkiSpZcuWWrVqlQYNGqQFCxbo3//+tyQpICBAH3zwgfr27StJ+vjjj91ROgA3s0THOJwf3rtHRYWFJlUDAAAAAAAAAHBLmDR79mwZhqG//OUvMgyjyv6GYejRRx+VzWbTvHnz7O1eXl66//77ZbPZtG3bNleWDMAklh69pFLviaLCAh3Zt8fEigAAAAAAAACgYXNLmBQXFydJ6ty5c7XvKekbHx/v0B4Tc37WwvHjx51UHYC6JCA4WC3bdXRoS02IM6kaAAAAAAAAAIBbwqTs7GxJUmZmZrXvKel75swZh/bAwEBJkq+vr5OqA1DXWHo6LnWXmhBfQU8AAAAAAAAAgKu5JUyyWCySpH/961/VvmfJkiWSpMjISIf2Y8eOSZLCwsKcVB2Auiay7L5Jv+1R4bl8k6oBAAAAAAAAgIbNLWHSDTfcIJvNpg8//FAzZ86ssv+MGTP0r3/9S4Zh6IYbbnC4tmXLFklSu3btXFEqgDqgbfdoGV6/v56sxUU6vJd9kwAAAAAAAADADG4Jk5566im1aNFCkvT4449rwIABmjVrln788UclJSUpKSlJP/74o9566y0NGDBAU6dOlXR+9tFTTz3lMNbHH38swzB07bXXuqN0ACbwDwpSeEfHPdZSE9k3CQAAAAAAAADM4OOOhzRv3lzffvutrr/+emVkZGj79u3avn17hf1tNptatWqlNWvWqFmzZvb2AwcOaODAgRo4cKBuuukmd5QOwCSW6BgdTfrNfp6SQJgEAAAAAAAAAGZwy8wkSerdu7d2796tKVOmqHHjxrLZbOV+NW7cWFOmTFFCQoJiYhz3TenYsaMWLFigBQsWqEuXLu4qHYAJyu6blLF/nwryck2qBgAAAAAAAAAaLrfMTCoRGhqq//3f/9Wrr76qX375Rbt27dLJkyclSU2bNlV0dLT69+8vf39/l9aRnZ2tL7/8Ulu3btW2bduUnp6uzMxM5eXlKTQ0VFFRURo5cqTuvfdeNW/evMrx1qxZo3nz5unnn39WZmamwsLCNHDgQE2cOFHXX3+9Sz8LUF+17RYlL28fWYuLJEnW4mKl70lUh0v6m1wZAAAAAAAAADQsbgmTFi9eLEnq1q2bLr30Uvn7++uyyy7TZZdd5o7HX+Dnn3/WbbfdVu61zMxMrV+/XuvXr9drr72mDz/8UMOHDy+3r81m0wMPPKB58+Y5tKenp2vVqlVatWqVJk6cqLlz58owDKd/DqA+8w0IUKvOXXV4b6K9LSUhjjAJAAAAAAAAANzMLWHS+PHjZRiGli5dqksvvdQdj6ySxWLRVVddpX79+slisah169ayWq1KS0vTihUr9MknnygrK0s33HCDtm7desGSe5L0zDPP2IOkSy65RNOmTVOnTp20f/9+vfrqq9qxY4fmzZunsLAwPf/88+7+iIDHi4zu5RAmpSbEm1gNAAAAAAAAADRMbgmTmjRpouzs7Dqzz9FVV12llJSUCq/fcsst+vTTTzV69GgVFBToueee08qVKx36JCUl6dVXX5Uk9e/fXxs2bFBgYKAkacCAAbrhhhs0bNgwbdu2Ta+88oomTJigTp06ue5DAfWQJTpGmz9ZZj8/lrxf53LPyj+okYlVAQAAAAAAAEDD4uWOh3To0EGS7Psjmc3b27vKPjfeeKO6d+8uSdqwYcMF12fMmKGiovN7ucyaNcseJJUICgrSrFmzJElFRUWaOXPmRVYNNDytu3aXt6+v/dxmsypt9y4TKwIAAAAAAACAhsctYdLo0aNls9n0+eefu+NxTtOo0fnZD/n5+Q7tNptNn332mSSpe/fuGjRoULn3Dxo0SN26dZMkffrpp7LZbC6sFqh/fP381aZLd4e2lF1xJlUDAAAAAAAAAA2TW8Kkv/zlL2rXrp3mzJmj//73v+545EXbvXu3fv31V0myz1AqkZycrPT0dEnSsGHDKh2n5HpaWpoOHjzo9DqB+s4S7bhfWWoCYRIAAAAAAAAAuJNb9kxq3Lixvv32W40dO1bDhw/XhAkTdPvttysmJkZNmzaVYRjuKKNKubm5Sk9P1+eff65XX31VxcXFks6HYaXt3r3bflw2aCqr9PXdu3fbl/yrrrS0tEqvHzlyxH6cl5envLy8Go1fX5WeTVZ2Zhk8S8vO3RzOMw8l62TmMQUEh5hUEeA+vMsAeDreYwA8He8xAPUB7zKg4XFFTuCWMKn0HkU2m03z58/X/Pnzq3WvYRj2vYlcYeHChZowYUKF16dOnao77rjDoS01NdV+HBERUen4Foul3Puqq/T9VdmwYYNatGhR42fUd+XteQXPYSsuluHtLdv/hbuS9OWyjxRsqVkwC3g63mUAPB3vMQCejvcYgPqAdxnQMGRlZTl9TLcsc2ez2exfZc+r82WGPn36aPPmzXrttdcumDl15swZ+3FwcHCl45TsuyRJOTk5zi0SaAAMb28FhLVyaMvLOGxSNQAAAAAAAADQ8LhlZtKzzz7rjsfUyo033qj+/ftLOj/1a//+/fr3v/+tVatW6Y477tDMmTP1pz/9yeGe0tNB/fz8Kh3f39/fflybqWVVzWY6cuSIBg4cKEkaOnRolTOlGor8/Hz7X1oMHTpUAQEBJleEi/FLwVltWfGR/dwrJ1vXXXediRUB7sG7DICn4z0GwNPxHgNQH/AuAxqeqrbPqY0GHyaFhoYqNDTUfj5gwACNGzdOS5Ys0d13363Y2FjNnz9f48ePt/cp/cItKCiodPxz587ZjwMDA2tcX03CocDAwFo9o74LCAjg++LhOvbu6xAmnTycJuu5fDUKbWpiVYB78S4D4Ol4jwHwdLzHANQHvMuAhsEVP+duWebOE/35z3/WzTffLKvVqsmTJ+vkyZP2ayEhIfbjqpauO3v2rP24qiXxAJQvvGNn+QY4vgBTE+NNqgYAAAAAAAAAGhbCpErExsZKOh8IffXVV/b20rOFqpouVnqZOovF4uQKgYbB28dHET2iHdpSE+JMqgYAAAAAAAAAGhbCpEqEhYXZjw8dOmQ/joqKsh/v2bOn0jFKX+/Ro4cTqwMaFkt0jMM5YRIAAAAAAAAAuIdb9kwqzWaz6ddff9XOnTuVlZWlvLw82Wy2Su/55z//6abqHKWnp9uPSy9R16FDB7Vp00aHDx/W+vXrKx2jZHO7tm3bqn379i6pE2gIIsuESSePHNaZE1kKadbCpIoAAAAAAAAAoGFwa5i0aNEiPffccw6zfKrDrDBp+fLl9uNevXrZjw3DUGxsrObMmaM9e/Zo8+bNGjRo0AX3b9682T4zKTY2VoZhuL5ooJ4Ka99B/o0a6VypfchSE+IVdcVVJlYFAAAAAAAAAPWf25a5+/vf/6577rlHBw8elM1mq/RL0gXnzrRw4ULl5+dX2mfGjBn68ssvJUnt27fX5Zdf7nD90UcflY/P+SxuypQpysvLc7iel5enKVOmSJJ8fHz06KOPOql6oGHy8vJWRI+eDm0sdQcAAAAAAAAArueWMGnLli166aWXJEnXXnutfv31V23fvl3S+Vk+xcXFysrK0po1axQbGyubzabLL79cR44ckdVqdXo906dPV9u2bTVx4kQtXrxYP/zwg3bu3KlNmzZpzpw5uvzyy/XXv/5VkuTn56f33nvPHhyV6Nq1q6ZOnSpJ2rZtm4YMGaJly5Zp27ZtWrZsmYYMGaJt27ZJkp544gl16dLF6Z8DaGjKLnVHmAQAAAAAAAAArueWZe7mzJkjSWrXrp1Wr14tHx8fJSQk2K8bhqFmzZrpuuuu03XXXac5c+bo4Ycf1vXXX68tW7bIz8/P6TWdOHFC7733nt57770K+0REROiDDz7QH/7wh3Kvv/DCCzp27Jg++OAD7dixQ+PGjbugz7333qvnn3/eaXUDDZmlTJh0+liGTh/LUJOW4SZVBAAAAAAAAAD1n1tmJv34448yDEOPPPLIBTN8yvPggw/qpptuUlxcnGbPnu30etauXau5c+fq1ltvVUxMjMLDw+Xj46Pg4GB16tRJN910kxYsWKC9e/fq2muvrXAcLy8vzZ8/X6tXr1ZsbKzatGkjPz8/tWnTRrGxsfryyy/1/vvvy8vLbasJAvVaC0s7BYQ0dmhjdhIAAAAAAAAAuJZbZiYdOXJEkhQdHW1vKx2wFBYWytfX1+GeP//5z1q5cqWWLVvm9P2GOnXqpE6dOmnSpElOGW/kyJEaOXKkU8YCUDHDy0uWqJ7at+VHe1tqQpx6XlVx6AsAAAAAAAAAuDhumTJTWFgoSWrZsqW9LTg42H6cmZl5wT0Wi0WSlJSU5OLqAHiSskvdpSTGy2azmVQNAAAAAAAAANR/bgmTwsLCJEnZ2dn2tvDwcHl7e0uSdu/efcE9JbOZzpw544YKAXiKyOjeDuc5x7N0KuOISdUAAAAAAAAAQP3nljCpZHm7PXv22Nv8/Pzs7cuWLbvgnn/961+SpDZt2rihQgCeolnbCDUKberQlrqLfZMAAAAAAAAAwFXcEiZdccUVstlsWrdunUP7rbfeKpvNpg8++ED//Oc/lZCQoK1bt2ry5MlaunSpDMPQiBEj3FEiAA9hGIYiono5tKUkECYBAAAAAAAAgKu4JUy68cYbJUlffPGFw1J3f/nLX9S+fXtZrVa98MILiomJ0aBBgzRnzhxJUtOmTfX000+7o0QAHiSyzL5JqQlx7JsEAAAAAAAAAC7itmXu1q1bp1WrVqmoqMjeHhQUpHXr1mnIkCGy2WwOXz179tTatWsVERHhjhIBeBBLtOPMpNzTp3QiPc2kagAAAAAAAACgfvNx14OGDRtWbnu7du20ceNG7d27VwkJCSoqKlKXLl10ySWXuKs0AB4mtFUbBTdvoZzjWfa21IQ4NY+wmFgVAAAAAAAAANRPbguTqtKtWzd169bN7DIAeADDMBQZ1UuJG3/fhy0lYaf6DP+jiVUBAAAAAAAAQP3klmXuAMDZLGX3TUrcJZvValI1AAAAAAAAAFB/ESYB8Ehlw6T8M9nKSj1kUjUAAAAAAAAAUH+5fZm7nTt3auPGjTpw4IDOnDmj4uLiSvsbhqH58+e7qToAnqJJy3A1DgtXdmaGvS01IU5h7TqYWBUAAAAAAAAA1D9uC5P27t2re+65R5s3b672PTabjTAJQIUie8Zo17pv7ecpCfHqOzLWxIoAAAAAAAAAoP5xS5iUnp6uoUOHKisrSzabTZIUHByspk2bysuLlfYA1I4l2jFMSkuMl9VaLC8vbxOrAgAAAAAAAID6xS1h0gsvvKDMzEwZhqH77rtPU6dOVdeuXd3xaAD1mCW6l8P5udyzyjyYrPCOnU2qCAAAAAAAAADqH7dMC1qzZo0Mw9Bdd92lefPmESQBcIqQZi3UtHUbh7aUhDiTqgEAAAAAAACA+sktYdLhw4clSXfddZc7HgegAbFExzicpxImAQAAAAAAAIBTuSVMatq0qSQpNDTUHY8D0ICUDZPSdieouKjIpGoAAAAAAAAAoP5xS5jUv39/SdJvv/3mjscBaEAsUY77JhXm5ynjQJJJ1QAAAAAAAABA/eOWMOmRRx6RzWbTvHnz3PE4AA1Io9Cmah4R6dDGUncAAAAAAAAA4DxuCZOuvfZaTZs2TevWrdODDz6owsJCdzwWQANhiXacnZSaGG9SJQAAAAAAAABQ//g4c7DFixdXeC0qKkqXXXaZ5s2bp88//1xjx45V9+7dFRQUVOW4d911lzPLBFDPREb31q9fr7afp+9JVHFRobx9fE2sCgAAAAAAAADqB6eGSePHj5dhGFX2O3LkiGbNmlWtMQ3DIEwCUKmIqJ6SYUg2mySpqOCcjuzbq4gePU2uDAAAAAAAAAA8n9OXubPZbE7/AoDKBIY0Vlhke4e21ASWugMAAAAAAAAAZ3DqzKTk5GRnDgcA1WaJjlHmod/fQakJcRo89jYTKwIAAAAAAACA+sGpYVK7du2cORwAVJslOkbbv/zMfn543x4VFRTIx8/PxKoAAAAAAAAAwPM5fZk7ADBDRI9oGcbvr7TiwkId/m2PiRUBAAAAAAAAQP1AmASgXghoFKyWHTo5tKUm7DSpGgAAAAAAAACoP1wSJn311Vfq27ev+vbtq48++qhG9/7rX/+y3/vdd9+5ojwA9ZQlupfDeUpCvEmVAAAAAAAAAED94fQwyWaz6bHHHtPOnTvVvHlz3X777TW6//bbb1fz5s3166+/6vHHH3d2eQDqscjoGIfzo0m/qTA/36RqAAAAAAAAAKB+cHqY9N///le//fabvLy8NHPmzBrfbxiG/vd//1fe3t7atWuXvv/+e2eXCKCeats9SobX7681a3GR0vcmmlgRAAAAAAAAAHg+p4dJK1eulCRde+21io6OrtUYUVFRGj58uMN4AFAVv8Agterc1aEtNSHOpGoAAAAAAAAAoH5wepj0888/yzAMjRo16qLG+dOf/iSbzabNmzc7qTIADUHZpe5SCJMAAAAAAAAA4KI4PUw6dOiQJKlbt24XNU7XrudnFxw8ePBiSwLQgFiiHMOkjANJOpeba1I1AAAAAAAAAOD5nB4mnT59WpLUrFmzixqn5P7s7OyLrglAw9GmW3d5efvYz21Wq9L3JJhYEQAAAAAAAAB4NqeHSY0bN5YknTp16qLGKbk/JCTkIisC0JD4+geodRfHmZEsdQcAAAAAAAAAtef0MKlly5aSpMTExIsaZ/fu3Q7jAUB1RfZ0XOoulTAJAAAAAAAAAGrN6WHSwIEDZbPZ9J///Oeixvnss89kGIYGDBjgpMoANBSWaMcw6djBA8rLOWNSNQAAAAAAAADg2ZweJo0YMUKS9O2332rDhg21GmPDhg365ptvHMYDgOpq3aW7fHz9fm+w2ZS2e5d5BQEAAAAAAACAB3N6mHTTTTepY8eOstlsuuWWW7R3794a3f/bb7/plltukWEYat++vcaOHevsEgHUcz6+vmrTrbtDG0vdAQAAAAAAAEDtOD1M8vHx0RtvvCHDMJSZman+/ftrxowZysnJqfS+nJwczZw5U/3799exY8ckSW+88YZ8fHycXSKABsAS3dvhPDUh3qRKAAAAAAAAAMCzuSSpiY2N1fPPP6+///3vys3N1dSpU/Xss8/qiiuuUN++fRUeHq5GjRrp7NmzysjI0Pbt27Vx40adPXtWNptNkvTcc8/pxhtvdEV5ABqAsvsmZaUcVG72aQU1bmJSRQAAAAAAAADgmVw27efpp59WRESEHnroIZ09e1Y5OTlas2aN1qxZU27/khApKChIb7/9tsaPH++q0gA0AK06dZGvf4AKz+Xb21IT4tVt8OUmVgUAAAAAAAAAnsfpy9yV9uc//1m//fabHn/8cYWFhclms1X41aJFC02dOlW//fYbQRKAi+bt46O23aMc2tg3CQAAAAAAAABqzuUbErVu3VqvvfaaXnvtNSUmJmrnzp3KysrSmTNnFBISohYtWqh3796KioqqejAAqAFLdIwO7txuPydMAgAAAAAAAICac3mYVFpUVBShEQC3iSyzb9KJw2nKOXlCwU2bmVQRAAAAAAAAAHgely5zBwBmatmhk/wCgxzamJ0EAAAAAAAAADVDmASg3vLy9lZEj2iHNsIkAAAAAAAAAKgZwiQA9ZqlzFJ3qQnxJlUCAAAAAAAAAJ6JMAlAvVY2TDqVcUTZWZkmVQMAAAAAAAAAnocwCUC91rJdBwU0CnZoY6k7AAAAAAAAAKg+wiQA9Zrh5aWIqF4ObYRJAAAAAAAAAFB9hEkA6r2yS92lJMTJZrOZVA0AAAAAAAAAeBbCJAD1XmS048ykM1mZOn0sw6RqAAAAAAAAAMCzECYBqPeaW9opsHEThzaWugMAAAAAAACA6iFMAlDvGYZxwVJ3hEkAAAAAAAAAUD2ESQAahLJL3bFvEgAAAAAAAABUD2ESgAah7MyksydP6OSRdJOqAQAAAAAAAADPQZgEoEFo2rqtGjVt5tDGUncAAAAAAAAAUDXCJAANgmEYskSVXeou3qRqAAAAAAAAAMBzECYBaDAie/Z2OE9l3yQAAAAAAAAAqBJhEoAGo+y+SXnZp3U89ZBJ1QAAAAAAAACAZyBMAtBgNGkZrpAWYQ5tLHUHAAAAAAAAAJUjTALQYBiGocgys5NSE+JMqgYAAAAAAAAAPANhEoAGpexSd2m7d8lmtZpUDQAAAAAAAADUfYRJABqUsmFSfs4ZZaYcNKcYAAAAAAAAAPAAhEkAGpTGLcIUGt7aoS1l106Tqvn/7N13eFzVnf/xzzT13rtkS3KTbXC3KTYQMJhmbJkESAIkBBKSTZbsJiHbs7/N7kJ2NyEhgVADaQSwbLrBtNjGuHfLTZItq1q9a1Sm/P6QNNZII1my1fV+PY8ezT1z7r3fa6wrcz9zzgEAAAAAAACAsY8wCcCkk5gxx22bdZMAAAAAAAAAoG+ESQAmnd7rJmXLYbePUjUAAAAAAAAAMLYRJgGYdHqGSW3WZpWfyRulagAAAAAAAABgbCNMAjDpBISGKSwuwa2tgKnuAAAAAAAAAMAjwiQAk1LP0UmsmwQAAAAAAAAAnhEmAZiUeoZJxSeOyW6zjVI1AAAAAAAAADB2ESYBmJQSM+a4bbe3tuhcXs4oVQMAAAAAAAAAYxdhEoBJyS8oWBFJKW5tTHUHAAAAAAAAAL0RJgGYtHqOTirMPjRKlQAAAAAAAADA2EWYBGDS6rluUsnJE7K1t49SNQAAAAAAAAAwNhEmAZi0EmfOkQwG17atvU2lOSdGsSIAAAAAAAAAGHsIkwBMWj4BAYpKnurWxrpJAAAAAAAAAOCOMAnApJY4232qu8LsI6NUCQAAAAAAAACMTYRJACa1pJ7rJp06ofbWllGqBgAAAAAA7LdLbQAA7tNJREFUAADGHsIkAJNa/IwMGYznb4UOu00lJ1k3CQAAAAAAAAC6ECYBmNS8/fwUPTXNra3wGOsmAQAAAAAAAEAXwiQAk15ij6nuCrIJkwAAAAAAAACgC2ESgEmv57pJZXk5arM2j1I1AAAAAAAAADC2ECYBmPTip8+S0WR2bTvsdhWfODaKFQEAAAAAAADA2EGYBGDSs/j4KCZtmlsbU90BAAAAAAAAQAfCJACQlJQxx227MPvIKFUCAAAAAAAAAGMLYRIASErMuMxtu/xMnlqbm0apGgAAAAAAAAAYOwiTAEBS3LQZMlksrm2n06Gi40dHsSIAAAAAAAAAGBsIkwBAktnLS3HpM9zaCo6ybhIAAAAAAAAAECYBQKfEjLlu24XZhEkAAAAAAAAAQJgEAJ0SM+a4bVecPSNrQ/0oVQMAAAAAAAAAYwNhEgB0ik2fLrOXt1tb0THWTQIAAAAAAAAwuREmAUAnk9mi+Bmz3NoKsg+NUjUAAAAAAAAAMDYQJgFAN4mz3Ke6K8w+MkqVAAAAAAAAAMDYQJgEAN0kZsx1264qKlBTbc0oVQMAAAAAAAAAo48wCQC6iZ6aJouPr1tb4TFGJwEAAAAAAACYvAiTAKAbk9mshJkZbm2F2YdHqRoAAAAAAAAAGH2ESQDQQ8+p7giTAAAAAAAAAExmhEkA0ENSjzCpprREDdWVo1QNAAAAAAAAAIwuwiQA6CEyZYq8/f3d2gqzWTcJAAAAAAAAwOREmAQAPRiNJiXMnO3WxlR3AAAAAAAAACYrwiQA8KDnVHeESQAAAAAAAAAmK8IkAPAgsUeYVFdeprryslGqBgAAAAAAAABGD2ESAHgQkZgsn8AgtzZGJwEAAAAAAACYjAiTAMADg9GoxFmsmwQAAAAAAAAAhEkA0IeeU90VHDsip9M5StUAAAAAAAAAwOggTAKAPiRlXOa23VhVqdqy0lGqBgAAAAAAAABGB2ESAPQhLD5B/iGhbm2FR5nqDgAAAAAAAMDkQpgEAH0wGAxKmDXHra2AdZMAAAAAAAAATDKESQDQj6Qe6yYVZh9m3SQAAAAAAAAAkwphEgD0I3G2e5jUXFer6uKiUaoGAAAAAAAAAEYeYRIA9CMkOlYB4RFubYVMdQcAAAAAAABgEiFMAoB+GAwGJfVaN+nQKFUDAAAAAAAAACOPMAkALiCx57pJx47K6XCMUjUAAAAAAAAAMLIIkwDgAnqGSS0N9aosPDtK1QAAAAAAAADAyCJMAoALCI6KVnBUtFsb6yYBAAAAAAAAmCwmbZi0f/9+/dd//ZdWrVqlxMREeXt7KyAgQNOmTdP999+vbdu2Dep477//vtauXauEhAR5e3srISFBa9eu1fvvvz9MVwBgJPUcnVSQfWSUKgEAAAAAAACAkWUe7QJGw4oVK7R169Ze7W1tbcrJyVFOTo5efvllffWrX9Xzzz8vLy+vPo/ldDr1rW99S88++6xbe3FxsTZu3KiNGzfqoYce0m9/+1sZDIYhvxYAIyMxY66Ofvqha7vo2BE5HHYZjaZRrAoAAAAAAAAAht+kHJlUXFwsSYqLi9Pf/u3fav369dq9e7d27Nihn//854qPj5ck/eEPf9D999/f77H++Z//2RUkzZs3T6+88op2796tV155RfPmzZMkPfvss/qXf/mX4bsgAMMuMWOO23Zrc5Mq8s+MUjUAAAAAAAAAMHImZZg0Y8YMvfrqqyooKNATTzyhzMxMLVq0SEuXLtX3v/99HTx4UNOmTZMkvfLKK31OeZebm6uf/exnkqSFCxdq+/btuuuuu7Ro0SLddddd+uyzz7Rw4UJJ0uOPP668vLyRuUAAQy4wLEKhsXFubQWsmwQAAAAAAABgEpiUYdI777yjL37xizKZPE9PFRERof/7v/9zba9fv95jv1/84hey2WySpCeffFK+vr5u7/v5+enJJ5+UJNlsNj3xxBNDUD2A0dJz3aRCwiQAAAAAAAAAk8CkDJMG4pprrnG99jSiyOl06s0335TUMdJp6dKlHo+zdOlSTZ8+XZL0xhtvyOl0Dn2xAEZEzzCp6Hi27J2BMgAAAAAAAABMVIRJfWhra3O9Nhp7/zGdOXPGtfbSihUr+j1W1/tFRUXKz88fuiIBjKjEWe7rJrW3WFV2OneUqgEAAAAAAACAkUGY1IctW7a4Xs+YMaPX+8ePH+/3/e66v999PwDji39IqMITktzamOoOAAAAAAAAwERnHu0CxiKHw6HHHnvMtf3FL36xV5/CwkLX64SEhH6Pl5iY6HG/gSgqKur3/dLSUtdrq9Uqq9U6qONPVC0tLR5fA5cqdvpMVRUVuLbzjxzU3JtuG8WKMJFxLwMw3nEfAzDecR8DMBFwLwMmn+HICQiTPPjFL36h3bt3S5LWrFmjhQsX9urT0NDgeh0QENDv8fz9/V2vGxsbB1VL9yDqQrZu3aqIiIhBHX8y2Lp162iXgAmksc3utl18IlsfbNokg8k0ShVhsuBeBmC84z4GYLzjPgZgIuBeBkwOlZWVQ35MprnrYcuWLfrxj38sSYqKitLTTz/tsV/3FN/Ly6vfY3p7e7teM3IIGN98o2Ldtp12u1qqykepGgAAAAAAAAAYfoxM6iY7O1tr1qyRzWaTt7e3XnvtNUVHR3vs6+Pj43rd1tbW73FbW1tdr319fQdV04WmxSstLdXixYslScuXL7/glHuTRUtLi+uTFsuXL3f77wVcqld3b1VV4VnXdlygnxatXDmKFWGi4l4GYLzjPgZgvOM+BmAi4F4GTD4XWj7nYhAmdTpz5oxWrlypmpoamUwmvfLKK1qxYkWf/QMDA12vLzR1XVNTk+v1habE62kw4ZCvr++gw6rJwMfHhz8XDKnkOZe7hUnnTh7n7xiGHfcyAOMd9zEA4x33MQATAfcyYHIYjp9zprmTVFJSouuvv14lJSUyGAx68cUXtWbNmn736R7yXCjl6z66aDBrIAEYmxIz5rptl+SckO0CIxQBAAAAAAAAYLya9GFSZWWlbrjhBp0+fVqS9OSTT+ree++94H6zZs1yvT5x4kS/fbu/P3PmzIusFMBYkTAzQwbD+dunvb1dJaf6vw8AAAAAAAAAwHg1qcOkuro63XjjjTp27Jgk6bHHHtN3vvOdAe07ZcoUxcXFSZK2bNnSb9+uOUnj4+OVkpJy8QUDGBN8/AMUNSXVra0w+9AoVQMAAAAAAAAAw2vShknNzc265ZZbtH//fknSP/3TP+nRRx8d8P4Gg0GrV6+W1DHyaOfOnR777dy50zUyafXq1TIYDJdYOYCxIDFjjtt2QfaRUaoEAAAAAAAAAIbXpAyT2tratGbNGm3fvl2S9Ld/+7f66U9/OujjPPLIIzKbzZKk7373u7JarW7vW61Wffe735Ukmc1mPfLII5dWOIAxI6nHuknnck+pvaVllKoBAAAAAAAAgOFjHu0CRsPdd9+tzZs3S5Kuu+46PfDAAzp69Gif/b28vDRt2rRe7dOmTdMPfvADPfbYY9q7d6+uvPJKPfroo0pNTVVeXp4ef/xxHThwQJL0wx/+UOnp6cNzQQBGXPyMWTKaTHLY7ZIkh92m4pPHlHLZ/FGuDAAAAAAAAACG1qQMkzZs2OB6/cknn2ju3Ln99JaSk5OVn5/v8b3//M//VHl5uV588UUdOHBAd911V68+DzzwwEWNfAIwdnn5+ik6NV2lp0642gqzDxMmAQAAAAAAAJhwJuU0d0PJaDTqhRde0LvvvqvVq1crLi5OXl5eiouL0+rVq/Xee+/p+eefl9HIHzUw0fSc6q4g+/AoVQIAAAAAAAAAw2dSjkxyOp1Dfsybb75ZN99885AfF8DYlThrrnZtfM21XXY6V63NzfL28xvFqgAAAAAAAABgaDFcBgAuUtz0GTKazmfyTodDxSeyR7EiAAAAAAAAABh6hEkAcJEs3j6KmzbDrY2p7gAAAAAAAABMNIRJAHAJEjPmuG0XEiYBAAAAAAAAmGAIkwDgEiRmzHXbLs8/LWtjwyhVAwAAAAAAAABDjzAJAC5BbPoMmS1e5xucThUdPzp6BQEAAAAAAADAECNMAoBLYLZYFDfdfd0kproDAAAAAAAAMJEQJgHAJUrMuMxtuzD7yChVAgAAAAAAAABDjzAJAC5Rz3WTKgvy1VxfN0rVAAAAAAAAAMDQIkwCgEsUk5oui7ePWxujkwAAAAAAAABMFIRJAHCJTGaz4mfMcmtj3SQAAAAAAAAAEwVhEgAMgZ5T3REmAQAAAAAAAJgoCJMAYAgk9QiTqkuK1FhTPUrVAAAAAAAAAMDQIUwCgCEQNSVVXr5+bm2MTgIAAAAAAAAwERAmAcAQMJpMSpiZ4dZGmAQAAAAAAABgIiBMAoAh0nvdpCOjVAkAAAAAAAAADB3CJAAYIj3DpNqyUtVXVoxSNQAAAAAAAAAwNAiTAGCIRCVPkY9/gFsbU90BAAAAAAAAGO8IkwBgiBiMRiXMmuPWRpgEAAAAAAAAYLwjTAKAIdRzqruC7MNyOp2jVA0AAAAAAAAAXDrCJAAYQkkZ7iOTGiorVFdeNkrVAAAAAAAAAMClI0wCgCEUnpgs36BgtzamugMAAAAAAAAwnhEmAcAQMhgMvaa6I0wCAAAAAAAAMJ4RJgHAEOs51R3rJgEAAAAAAAAYzwiTAGCI9RyZ1FRTrZrS4lGqBgAAAAAAAAAuDWESAAyx0Nh4+YeGubUx1R0AAAAAAACA8YowCQCGmMFgUFKP0UkF2UdGqRoAAAAAAAAAuDSESQAwDHpOdVfIukkAAAAAAAAAxinCJAAYBj3DJGt9naoKz45SNQAAAAAAAABw8QiTAGAYBEdFKzAi0q2Nqe4AAAAAAAAAjEeESQAwDDytm1SYfXiUqgEAAAAAAACAi0eYBADDpOdUd0XHj8rpcIxSNQAAAAAAAABwcQiTAGCY9AyTWhobVFGQPzrFAAAAAAAAAMBFIkwCgGESFBGpkOhYt7aCo4dGqRoAAAAAAAAAuDiESQAwjBIz5rhts24SAAAAAAAAgPGGMAkAhlHvdZOy5bDbR6kaAAAAAAAAABg8wiQAGEY9w6Q2a7PKz+SNUjUAAAAAAAAAMHiESQAwjAJCwxQWl+DWVsBUdwAAAAAAAADGEcIkABhmPUcnsW4SAAAAAAAAgPGEMAkAhlnPMKn4xDHZbbZRqgYAAAAAAAAABocwCQCGWWLGHLft9tYWncvLGaVqAAAAAAAAAGBwCJMAYJj5BQUrIinFrY2p7gAAAAAAAACMF4RJADACeo5OKsw+NEqVAAAAAAAAAMDgECYBwAjouW5SyckTsrW3j1I1AAAAAAAAADBwhEkAMAISZ86RDAbXtq29TaU5J0axIgAAAAAAAAAYGMIkABgBPgEBikqZ6tbGukkAAAAAAAAAxgPCJAAYIT2nuivMPjJKlQAAAAAAAADAwBEmAcAISeq5btKpE2pvbRmlagAAAAAAAABgYAiTAGCExM/IkMF4/rbrsNtUcpJ1kwAAAAAAAACMbYRJADBCvP38FD01za2t8BjrJgEAAAAAAAAY2wiTAGAE9ZzqriCbMAkAAAAAAADA2EaYBAAjKLFHmFSWl6M2a/MoVQMAAAAAAAAAF0aYBAAjKH76LBlNZte2w25X8Yljo1gRAAAAAAAAAPSPMAkARpDFx0cxadPc2pjqDgAAAAAAAMBYRpgEACMsKWOO23Zh9pFRqgQAAAAAAAAALowwCQBGWGLGZW7b5Wfy1NrcNErVAAAAAAAAAED/CJMAYITFTZshk8Xi2nY6HSo6fnQUKwIAAAAAAACAvhEmAcAIM3t5KS59hltbwVHWTQIAAAAAAAAwNhEmAcAoSMyY67ZdmE2YBAAAAAAAAGBsIkzCuLe/bP+I7gcMhcSMOW7bFWfPyNpQP0rVAAAAAAAAAEDfCJMwrj118Cnd9/59euHIC4Pa74UjL+i+9+/TUwefGqbKgP7Fpk+X2cvbra3oGOsmAQAAAAAAABh7CJMwbu0v26+nDz0tSXpi/xMDDpReOPKCntj/hCTp6UNPM0IJo8Jktih+xiy3toLsQ6NUDQAAAAAAAAD0jTAJ49b86Pl6ZP4jru2BBErdgyRJemT+I5ofPX+YKgT6lzjLfaq7wuwjo1QJAAAAAAAAAPSNMAnj2gNzHhhwoOQpSHpgzgPDXCHQt8SMuW7bVUUFaqqtGaVqAAAAAAAAAMAzwiSMe54CpZePv+zWZ7iCpIudIo+p9SBJ0VPTZPHxdWsrPMboJAAAAAAAAABjC2ESJoSegdJvjvxG/1f/f3qn+R39aPuPhiVIeurgU7rv/fsGvFZTlxeOvKD73r9PTx186pJrwPhmMpuVMDPDra0w+/AoVQMAAAAAAAAAnplHuwBgqHQFRF3BUY2jRjvbdkrF5/sEWAK0t2yv6lrrlBaaprSQNE0Nniofs8+gzrW/bL+ePvS02/kGElB1HyH19KGntTR2KWs2TXKJGXN15sBe1zZhEgAAAAAAAICxhjAJE0rPQKmnxvZGfVb8mT4r/szVZjQYlRSYpLSQNFfAlB6SrsSgRFmMFo/HmR89X4/Mf8R1noEESp6m2iNIQlKPdZNqSkvUUF2pwLCIUaoIAAAAAAAAANwRJmHCuXvG3X2GSZ44nA7l1+crvz5fHxV85Gq3GC2aEjylI1wKTe8Im0LSFBcQJ6PB2Cu46i9QGq41mzD+RaZMkbe/v1qbmlxthdlHNOvqa0exKgAAAAAAAAA4jzAJE84fjv9hSI7T7mjXqZpTOlVzSjpzvt3X7OsKltJC0rQmbY025m6U5DlQIkhCf4xGkxJmzlHe3p2utsLsw4RJAAAAAAAAAMYMwiRMKC8ceUG/PvBr17avwVdWp9W1vSpllRICE5RTm6PcmlwVNRYN+hxWm1VHKo/oSOURj+8/sf8JHa44rIcue0g7S3YSJOGCkjJ6h0kAAAAAAAAAMFYQJmHC6DkCaKXPSi33Wa7SxFL95shvJEmb8jfpkfmP6MnrnpQkNbc363TdaeXU5Ci3NrfjqyZX5dbyS6rlk8JP9EnhJ25tBEnoS2KPdZPqystUV16m4KjoUaoIAAAAAAAAAM4jTMKE0DNI+s6c7yi2MFaSdN/M+2SxWDyubeRn8dPsiNmaHTHb7Xh1rXWuYCmntiNoyqnJUX1b/UXVZzQYdbL6pHaV7tKimEUyGowXdRxMTBGJyfIJDFJLw/m/X4XZhxUcdcMoVgUAAAAAAAAAHQiTMO55WpPonrR7tLlws6uta0SQp0DJk2DvYC2IXqAF0QtcbU6nUxXWCreAKbcmV3l1ebLarB6P08XhdGhT/iZtyt+kxMBErU1fq9WpqxXpF3kRV4yJxmA0KnHWbOXs+tzVVph9WLOvJUwCAAAAAAAAMPoIkzCueQqSHpjzgKzW3uHOYAOlngwGg6L8ohTlF6Ur4q9wtTucDhU3Fiu3Jld/OfkXfV7yeT9HkQobCvXL/b/Urw/8WssTlmvdtHW6Mu5KmYymAdWBiSkp4zK3MKng2BE5nU4ZDIZRrAoAAAAAAAAAJObawri1v2y/xyCpPw/MeUCPzH/Etf3E/ie0v2z/JdVhNBiVGJio03Wn3YIkf4t/v/vZnXZ9WvipvvPxd7Qya6V+feDXKm4svqRaMH71XDepsapStWWlo1QNAAAAAAAAAJxHmIRxa370fD182cOSBhYkdekeKD182cOaHz3/kmvxNEJq5z073YKr/pQ3l+uZw89oVdYqffPDb2pz/ma129svuS6MH2HxCfIPCXVrKzx6eJSqAQAAAAAAAIDzmOYO49q3L/+2lsYuHXQg9MCcBzQvat6wBUldwVbPqfUkKSM8Q6frTntcZ8kppz4v+Vyfl3yuMJ8w3Z56u9amr9WU4CmXXCfGNoPBoIRZc3Ty862utoLsw5p7/U2jWBUAAAAAAAAAMDIJE8DFBkLDHSR16Tm1XnZVtr6W8TX967J/1ezw2X0eu7qlWi9lv6Tb37hd9226T2/nva0WW8sl14yxK6nHVHeF2YfldDpHqRoAAAAAAAAA6ECYBFykgQRJXXoGSk8dekr1rfV65dZXtP629bpr+l0KtAT2ea795fv1j5/9o6577Tr9587/1Mnqk0N1GRhDEme7h0nNdbWqLi4apWoAAAAAAAAAoANhEnAR9pftH3CQ1KVnoPTE/ie0v2y/podN1z8t/Sd98sVP9F9X/ZcWRC/o8xgN7Q36y8m/aN3b63TXO3fp9VOvq7Gt8VIvB2NESHSsAsIj3NoKs1k3CQAAAAAAAMDoIkwCLsL86Pl6+LKHJQ0sSOrSPVB6+LKH3aba8zH76LbU2/TSTS/prTve0v0Z9yvMJ6zPY2VXZev/7fh/uu716/Sv2/9VhyoOMSXaOGcwGJQ0a45bW0H2oVGqBgAAAAAAAAA6mEe7AGC8+vbl39bS2KWDXnvpgTkPaF7UvH73mxI8RX+/8O/1vXnf06eFnyorJ0s7SnbIqd5hkdVm1cbcjdqYu1FpIWnKTM/Ubam3Kdg7eNDXhNGXmDFXx7Z96touPHZUTodDBiPZPwAAAAAAAIDRwdNJ4BIMNkga7H4Wk0UrU1bqmRue0abMTfrm3G8qyi+qz/65tbl6fM/juu616/SjrT/S7tLdcjgdF1UjRkdihvu6SS0N9aosPDtK1QAAAAAAAAAAYRIwbsQHxOtv5v2NNmdu1m++8Btdm3itTAaTx75tjjZtOrNJD2x+QLduvFXPH3leldbKEa4YFyM4KlrBUdFubaybBAAAAAAAAGA0ESYB44zJaNLyhOX61XW/0ofrPtTfzv9bJQQk9Nm/sKFQv9z/S13/+vX620/+VluLtsrusI9gxRisnqOTCgiTAAAAAAAAAIwiwiRgHIv0i9Q35nxD7659V8+vfF6rUlbJYrR47Gt32vVJ4Sf6zsff0Y1ZN+o3B3+jksaSEa4YA9EzTCo6dlQOAkAAAAAAAAAAo8Q82gUAuHRGg1FLYpdoSewS1bbU6u3TbyvrVJby6vI89i9rLtNvD/1Wzxx6RlfEXaHMaZm6JuEaWUyegyiMrMSMOW7brc1Nqsg/o+ipaaNUEQAAAAAAAIDJjDAJmGBCfEL01Vlf1VdmfkWHKg4pKydLH+R/IKvN2quvU05tL9mu7SXbFeYTptWpq7U2fa1SglNGvnC4BIZFKDQ2TjWl50eOFWQfJkwCAAAAAAAAMCqY5g6YoAwGgy6Pulz/ceV/6JM7P9G/LP0XzQqf1Wf/6pZq/S77d7rtjdt0//v36+28t9ViaxnBitFdz6nuClk3CQAAAAAAAMAoIUwCJoEArwB9cfoX9eqtr+q1W1/Tl6Z/SYGWwD777yvbp3/87B913evX6b92/ZdOVp8cwWoheVg36Xi27DbbKFUDAAAAAAAAYDIjTAImmZnhM/XPS/9ZH3/xY/3nVf+p+VHz++zb0NagV068onVvr9Pd79yt9afWq6m9aQSrnbwSZ7mvm9TeYlXZ6dxRqgYAAAAAAADAZEaYBExSvmZf3Z56u15e9bLevONN3TfrPoV6h/bZ/2jVUf37jn/Xta9dq3/7/N90uOKwnE7nCFY8ufiHhCo8IcmtjanuAAAAAAAAAIwGwiQAmho8VT9Y9AN9fOfH+t8V/6tlscv67Gu1WbUhZ4O+/N6Xlfl2pv50/E+qa60bwWonj17rJh07MkqVAAAAAAAAAJjMCJMAuFhMFt2YcqOeXfmsNq3dpIfmPqQo36g+++fU5Oix3Y/puteu06NbH9Wec3sYrTSEknqEScUnjsluax+lagAAAAAAAABMVoRJADxKCEzQd+d9Vx+s+0C/vu7XuibxGpkMJo992xxteu/Me/r6B1/XrRtv1QtHXlCltXKEK554EmbNlgwG17atrVWlOSdHsSIAAAAAAAAAkxFhEoB+mY1mrUhcoSeve1Kb123W9+Z9T/EB8X32L2go0BP7n9ANr9+gRz59RNuKtsnusI9gxROHb2CQIpNS3NoKs5nqDgAAAAAAAMDIIkwCMGBRflF6cO6Dem/te3pu5XO6KeUmWYwWj31tTps+LvhY3/7427ppw0166uBTKm0sHeGKx79e6yZlHx6lSgAAAAAAAABMVoRJAAbNaDBqaexS/c+K/9HHd36sHy78oaYGT+2z/7mmc3r60NO6MetGfeujb+mjsx+p3cHaPwORNNs9TCrJOSFbW9soVQMAAAAAAABgMjKPdgEAxrdQn1Ddm3GvvjrrqzpUcUjrT63XB/kfqMXe0quvU05tL96u7cXbFeYTptVpq5WZnqnkoORRqHx8SJg5WwaDUU6nQ5Jkb29XyakTvUImAAAAAAAAABgujEwCMCQMBoMuj7pcP73qp/rki5/oX5b+i2aGzeyzf3VLtX539He6deOt+tr7X9M7p99Rq711BCseH7z9/BU1JdWtrTD70ChVAwAAAAAAAGAyIkwCMOQCvQL1xelf1Gu3vaZXb31VX5r+JQVYAvrsv7dsr/5h2z/outeu03/v+m+dqjk1gtWOfYkZc9y2C7KPjFIlAAAAAAAAACYjwiQAw2pW+Cz989J/1sd3fqyfXvlTzYua12ff+rZ6/fnEn5X5VqbuefceZZ3KUnN78whWOzYlZbhPaXcu95TaW3pPIwgAAAAAAAAAw4EwCcCI8LP4aXXaav1+1e/15uo3de+sexXiHdJn/yOVR/STHT/Rta9dq598/hMdqTgip9M5cgWPIfEzZsloMrm2HXabik8eG8WKAAAAAAAAAEwmhEkARtzUkKn64aIf6uM7P9b/rPgfLY1d2mffZluzsnKydM979yjz7Uz96fifVNdaN4LVjj4vXz9Fp6a7tRVmHx6lagAAAAAAAABMNoRJAEaNl8lLN6XcpOdWPqf31r6nB+c8qCjfqD7759Tk6LHdj+m6167Tj7f9WHvO7Zk0o5V6TnVXQJgEAAAAAAAAYIQQJgEYExIDE/W9+d/TB+s+0JPXPalrEq6R0eD5FtXmaNO7p9/V1z/4um574za9ePRFVVorR7jikVF0IluSlDjLPUwqO52r1ua+15Pq2g8AAAAAAAAALhVhEoAxxWw065rEa/TkF57U5szN+u687yo+IL7P/mfrz+oX+36hG16/Qd//9Pv6rPgz2R32Eax4+Hz++p/06r89qt1vrlfc9Bkymsyu95wOh4r7CIx2v7ler/7bo/r89T+NVKkAAAAAAAAAJjDCJABjVrR/tB6a+5DeW/uenr3hWd2YcqPMRrPHvjanTR8VfKSHP3pYqzas0tMHn9a5pnMjXPHQKTqRrR3rX5EkbfvzSzrw/juKmzbDrY+nqe52v7le2/78kiRpx/pXGKEEAAAAAAAA4JIRJgEY84wGo5bFLdP/rvhffXznx/rBwh9oSvCUPvuXNpXqqUNP6casG/Xtj76tj89+rHZH+whWfOkSZmTo6nvud21v+/NLMppMbn0Ke4RJ3YMkSbr6nvuVMCNjOMsEAAAAAAAAMAl4/og/AIxRYT5hui/jPt07614drDio9afWa3P+ZrXYW3r1dTgd2la8TduKtyncJ1yr01YrMz1TSUFJo1D54C1evU6SXAFRwdFDbu+X55+WtbFBvgGBHoOkrv0BAAAAAAAA4FIQJgEYlwwGg+ZFzdO8qHl6dPGj2nR6k7JysnS8+rjH/lUtVXrx6It68eiLWhyzWGvT1+r65OvlbfIe4coHp2eg5MbpVNHxo6opKSZIAgAAAAAAADBsCJMAjHtBXkH60owv6UszvqTsqmxtOLVB7555V03tTR777z63W7vP7VbQriDdlnqbMtMzlR6aPsJVD1x/gdLetzao5NT5AI0gCQAAAAAAAMBQI0wCMKFkhGcoY1mG/n7h32vz2c3KOpWlgxUHPfatb6vXn47/SX86/ifNjZyrzPRM3ZRyk/wsfiNb9AD0FSgRJAEAAAAAAAAYboRJACYkP4uf7ki7Q3ek3aHcmlxtyN2gt/PeVm1rrcf+hysO63DFYT2++3HdPPVmZaZnKiM8QwaDYWQL78fi1etUX1GuQx++5/H9E9u3qL21RWkLlypqSuqYqh0AAAAAAADA+EWYBGDCSwtN048W/UiPzH9EnxR8ovU567WrdJfHvs22Zq0/tV7rT63X9NDpWpu+VrdMvUXB3sEjXLVn197/kA59uEmSs9d7FWfPqOLsGe3M+osCwsKVumCJUhcuUWLGXJktlpEvFgAAAAAAAMCEQJgEYNLwMnnppik36aYpN6mwoVAbczbqjdw3VGGt8Nj/ZM1J/ffu/9bP9/1cNyTfoMz0TC2IXjCqI372vfuGPAVJPTVWV+nQh+/p0IfvyeLjqymXzVfqoqWaMm+hfAMCh71OAAAAAAAAABMHYRKASSkxMFHfm/89ffvyb2tb0TZl5WRpW/E2OZyOXn1b7a165/Q7euf0O0oJStHa9LW6PfV2hfuGj2jNu99c77ZmksXHV+0t1gvu195i1ald23Vq13YZjEYlzMhQ6sIlSl24VCHRMcNYMQAAAAAAAICJgDAJwKRmNpp1bdK1ujbpWp1rOqc3c9/UxtyNKm4s9tg/vz5fP9/3c/1q/690bdK1ykzP1LK4ZTIajMNaZ88g6ep77tfi1et6tfsEBKqlsaHP4zgdDhUeO6LCY0f0198/r4jE5M5gaYlipqbLYBze6wAAAAAAAAAw/kzaMKm8vFy7d+/W7t27tWfPHu3Zs0dVVVWSpPvuu08vvfTSoI73/vvv69lnn9Xu3btVUVGhyMhILV68WA899JBuuummYbgCAEMtxj9G37zsm3pw7oPaWbpTWaey9EnhJ7I5bL362pw2fXj2Q3149kPF+cfpjvQ7tCZtjWL8h36kT19BkiTX9673WxobtOCWO+QbFKy8fbtUmnNScvY9LV5l4VlVFp7Vro2vyT80TKnzFyt14RIlzb5MZi+vIb8WAAAAAAAAAOPPpA2ToqOjh+Q4TqdT3/rWt/Tss8+6tRcXF2vjxo3auHGjHnroIf32t78d1XVWAAyc0WDUFXFX6Iq4K1RlrdI7p9/R+lPrlV+f77F/SVOJnjr4lH576Le6Mu5KZU7L1PKE5bIYLZdcS39BUpeegdK+d9/Q1ffcr3v+43/VVFuj0/v3KHfvThUcPihbe1uf52qqqdbhj9/X4Y/fl8XbR8lz5ymtc50lv6DgS74WAAAAAAAAAOPTpA2TuktMTNTMmTO1efPmQe/7z//8z64gad68efrRj36k1NRU5eXl6Wc/+5kOHDigZ599VpGRkfrpT3861KUDGGbhvuG6L+M+3TvrXu0v368NORv0Qf4HarW39urrcDq0rXibthVvU4RvhFanrlZmeqYSgxIv6twDCZK69AyUur4vXr1Oc65bqTnXrVR7a4vOHj6ovH27lLdvt6z1dX2eu721Rbl7dih3zw4ZDEbFTZ+ptM7p8EJj4y/qegAAAAAAAACMT5M2TPrXf/1XLVq0SIsWLVJ0dLTy8/M1ZcqUQR0jNzdXP/vZzyRJCxcu1NatW+Xr6ytJWrRokW6//XatWLFCe/fu1eOPP66vfe1rSk1NHfJrATD8DAaDFkQv0ILoBXp08aN67/R7ysrJ0onqEx77V1or9cLRF/TC0Re0JGaJ1qav1ReSvyBvk/eAzld0InvAQVIXT4FS3PSZSpiRIUmyePsobdFSpS1aKofDrtKcU8rbu1O5e3eppqSoz+M6nQ4Vn8hW8YlsbfnjiwqLT1TqwiVKW7hEsWnTWWcJAAAAAAAAmOAmbZj07//+75d8jF/84hey2TrWUnnyySddQVIXPz8/Pfnkk1q2bJlsNpueeOIJPfnkk5d8XgCjK8grSHfNuEtfmv4lHas6pqycLL135j01tTd57L/r3C7tOrdLwbuDddvU25SZnqm00LR+z5EwI0PL1t2tHetfGVCQ1KV7oLRs3d2uIKkno9Gk+OkzFT99ppZ/+WuqLilS3t5dytu3SyUnT8jpdPR5juriQlUXF2rPm+vlFxyiqZ3rLCXPuUwWb58B1QkAAAAAAABg/Ji0YdKlcjqdevPNNyVJM2bM0NKlSz32W7p0qaZPn66TJ0/qjTfe0K9+9SvWTgImCIPBoIyIDGVEZOgHC3+gD/I/UFZOlg5VHPLYv661Tn88/kf98fgfdVnkZcpMz9SNKTfKz+Lnsf8Vd35ZSXMu7zMQ6svi1evcRiQNRFhcgsJuT9Ci2zPVXF+n0/v3KG/vTuUfPiBba+8p/bo019Xq6KebdfTTzTJ7eSt57jylLlys1PmL5RccMqi6AQAAAAAAAIxNhEkX6cyZMyouLpYkrVixot++K1as0MmTJ1VUVHRR0+kBGPv8LH5ak75Ga9LXKKcmRxtyNujt02+rrtXzukSHKg7pUMUhPb7nca2askrr0tdpVvisXmHzYIOkS91PkvyCgjX7mus1+5rr1d7WqoIjhzrWWdq7S811tX3uZ2trVd7encrbu1MyGBSXPkOpnesshcdf3LpRAAAAAAAAAEYfYdJFOn78uOv1jBkz+u3b/f3jx48TJg2x5n375LdgwYjtB1xIemi6Hl38qB5Z8Ig+KfhEWaeytOvcLo99m9qbtP7Ueq0/tV4zwmZobfpa3TL1FgV5BY1w1Z5ZvLyVumCxUhcslvMb39G5vBzl7t2pvL27VFVU0PeOTqdKTh1Xyanj2vbnlxQaG+8KluKmzZDRaBq5iwAAAAAAAABwSQiTLlJhYaHrdUJCQr99ExPPfyK/+34DUVRU1O/7paWlrtdWq1VWq3VQxx/van77W9U986xCv/c9BX/tfld7S0uLx9dd6n73kmp+9SsFf/MhhX7rWyNRKiapa2Ku0TUx16iwoVBvn3lbb+e/raqWKo99T1Sf0H/t+i/9397/0xcSvqDVU1fr8ojLx9TUmCEJSVqYkKSFd3xRdWWlyj+4T2f271HpqeNyOp197ldTWqy9b2/Q3rc3yCcwUCmXLVDKvIVKnM06S/250L0MAMY67mMAxjvuYwAmAu5lwOQzHDkBYdJFamhocL0OCAjot6+/v7/rdWNj46DO0z2IupCtW7cqIiJiUMcfz3zO5CvpmWclSTW/+pVO5ZxSzTXX9Oq3detWt+3Qv/5VkZvelyTVPfOsjhiMapmSMtzlAkpTmr7n/T2dNJ7UvrZ9OmU7Jad6BzCt9la9d/Y9vXf2PUUYI7TQa6Hmec2Tv9Hfw1FHmcFLfguuVMrsBWoqKVRT0Vk1lxbKabP1uUtLQ4NOfPZXnfjsrzKYTPKNjpd/QrL845Nk9vW8fhR638sAYLzhPgZgvOM+BmAi4F4GTA6VlZVDfkzCpIvUPcX38vLqt6+3t7fr9WQbOTScWqakqGLVTa5gqOu7p0CpS/cgSZIqVt1EkIQRZTKYNMtrlmZ5zVKto1YH2g5oX+s+1TprPfavdFTq/Zb39WHLh5ppmakFXguUak6V0WAc2cIvwOTto6Ap6Qqaki6H3SZrWamais6qqfis7NbmPvdz2u1qLilQc0mBKiR5h0e5giWv4NAxNSoLAAAAAAAAmKwIky6Sj8/5aZna2tr67dva2up67evrO6jzXGhavNLSUi1evFiStHz58gtOuTfhrFypuvRpqvnVryR1BErT0qfJ++67XJ+0WL58uXx8fDqmtusWJIV+73tK6TY1HjAavqgvyu6wa3f5br15+k1tKd4iu9Peq59ddh1tP6qj7UcV6xer26fcrlun3Kpov+hRqHrgnA6HKs6e0Zn9e5R/cK+qCs/227+1qlytVeWqPrRHQVHRmjJvoVLmLVJs+gwZTZNvnaWWlpZe9zIAGE+4jwEY77iPAZgIuJcBk8+Fls+5GIRJFykwMND1+kJT1zU1NbleX2hKvJ4GEw75+voOOqyaCHy//bDMFrMq/u/nkjqmvAuVpPg4SR3BX9Mf/+gKnCQp8u//ThEPPjgK1QKeXTflOl035TpVWav0dt7bysrJUn59vse+pc2leib7GT137DldHX+11qav1fKE5TIbx+YtPXnWbCXPmi195WuqKz+nvH27lbd3pwqPHZXT4ehzv/ryMh364F0d+uBd+QQEauq8hUpduEQpl82X1yScDs/Hx2dS3uMBTBzcxwCMd9zHAEwE3MuAyWE4fs7H5pPHcaB7yHOhlK/76KLBrIGEgesKhroHSuHXrFDVqlUdI5IIkjBOhPuG6/7Z9+u+jPu0r2yfNuRs0Oazm9Vqb+3V1+F0aEvRFm0p2qJI30jdkXaH1qStUWLQ2L3PBEfFaP6q2zV/1e1qaWzUmYN7lbt3l/IP7lVbP9OAtjQ26Ni2T3Vs26cymc1KnH2Z0hYuUeqCJQoICx/BKwAAAAAAAAAmH8KkizRr1izX6xMnTvTbt/v7M2fOHLaaJquS3FrFpYX0CpTC/7pFYVu3qabbyIfuQVLXfsBYZDAYtDBmoRbGLNSjix/Vu6ffVVZOlk7VnPLYv8JaoeeOPKfnjjynJbFLlJmeqS8kfUFepv7XdBtNPgEBmnnVNZp51TWy29pVmH1Eeft2KXfvLjVW9b1IoN1mU/7Bfco/uE8fPf+UoqemdwRLC5coIimFdZYAAAAAAACAIUaYdJGmTJmiuLg4lZSUaMuWLf327ZqTND4+XikpKSNQ3eSx++3T2vNuvpatSdX8G5N7BUqGbkFS0OrbFf7AA5Kk/R+c1Y6NeVp0S4oW3zZ15AsHBiHYO1j3zLxHd8+4W9lV2crKydJ7p99Ts63ZY/9dpbu0q3SXQrxDdFvqbcpMz1RqSOoIVz04JrNFKZfNV8pl83Xd176l8vzTytu7U3l7d6s8P6/ffctO56jsdI62v/ZHBUVGK3XhYqUtXKr4GRkymfk1BwAAAAAAAFwqnrJdJIPBoNWrV+vpp5/WiRMntHPnTi1durRXv507d7pGJq1evZpPzA+hktxa7Xk3X5K0Y2PHw+b5NyYr5I47XGFSd/VvvqWWo9k6d923dTCnY6HBPe/mK2FmGCOUMC4YDAbNjpit2RGz9cOFP9T7+e8rKydLhysOe+xf21qrPxz7g/5w7A+6PPJyrU1fqxtTbpSfZWyvN2QwGBQ9JVXRU1J1xZ1fVn1lufL27lLevt0qzD4sh93e5771FWU6sOltHdj0trz9/TXl8oVKW7RUKZctkLff2L5uAAAAAAAAYKwiTLoEjzzyiJ577jnZbDZ997vf1datW90WtrJarfrud78rSTKbzXrkkUdGqdKJKS4tRMvWpLqCpK7vsdtf7HOfnLapyusMkiRp6a1JBEkYl/wsflqbvlZr09fqVM0pbcjZoLfz3lZ9W73H/gcrDupgxUH9bM/PdPOUm7V22lplhGeMcNUXJygiSvNuuk3zbrpNrc1NOnNwn/L27tKZA3vV2tzU536tTU06sX2LTmzfIqPJrMSMOUrtXGcpKCJyBK8AAAAAAAAAGN8mbZj02WefKTc317VdWXl+fY7c3Fy99NJLbv3vv//+XseYNm2afvCDH+ixxx7T3r17deWVV+rRRx9Vamqq8vLy9Pjjj+vAgQOSpB/+8IdKT08flmuZzObfmCxJboFSal6NkjvfdxoMMjidkqSziTcoL/UO176peW8o8D/3qrLwqwq95x6ZgoNHsnRgyEwLnaYfL/6xvr/g+/ro7EfakLNBu8/t9ti3sb1Rr516Ta+dek0zw2Zqbfpa3TL1FgV6BY5w1RfH289fM65YrhlXLJfdZlPR8aPK27dLeXt3qb6ivM/9HHabzh4+oLOHD+iTF3+rqJTUjmBp4RJFpUxl1CgAAAAAAADQD4PT2fmkfZK5//779fLLLw+4f19/TA6HQw8++KBefLHv0TAPPPCAnn32WRmNxkHXeSFFRUVKTEyUJBUWFiohIWHIzzEedK2B1CU17w15ZfioYflSXb5li44fc/YKkpILP3RtG/38FPKlLyns/vtliY4aydKBYXG2/qw25GzQm7lvqqqlqt++PiYfrUxZqcz0TM2LmjcugxWn06nKgnzldq6zVHY6Z8D7BoZHKnXhYqUuXKrEWbNlMluGsdLBsVqt2rx5syRp5cqVbqNfAWA84D4GYLzjPgZgIuBeBkw+w5EbTNqRSUPFaDTqhRdeUGZmpp599lnt2bNHlZWVioiI0KJFi/TNb35Tq1atGu0yJ7ykgs0qzzviCozyUu+QWpzyPWJTzvwHldd6fsRCzyBJkhzNzar+3e9U88c/KviO1Qp/4AF5paSM3AUAQyw5KFnfX/B9/c28v9HWwq1an7Ne24u3y6newXiLvUVv5b2lt/Le0tTgqVqbvla3pd6mMJ+wUaj84hgMBkUmT1Fk8hQty7xbDVWVOr1/t3L37lLh0UOy22x97ttQVaGDH7yrgx+8Ky9fP025fIFSFy3VlMsXyMc/YASvAgAAAAAAABibJu3IpImCkUlS5XPPqeL/fi6p91R2PU05846mnN104YMaDAq88UZFPPSgfGbNGqJKgdF1rumcNuZs1MbcjSptKu23r9lo1heSvqC16Wu1NHapjIahH1k5Utqszco/tF+5e3fpzP49amlqHNB+RpNJCTNnu9ZZCo6KHuZKe+PTYwDGO+5jAMY77mMAJgLuZcDkw8gkoIfuQZIkLfziHIXFTtGed8547F+YerNavYMVX7xNgU3F8p4xQ62nTkkOh3tHp1MN77+vhvffl/9VVyn8wQflt3jRuJz+C+gS4x+jhy9/WA/NfUg7SndoQ84GfVrwqWzO3qN2bA6bPsj/QB/kf6D4gHitSVujO9LuULT/yAcql8rL10/Tll6laUuvksNuV/GJbOXt26XcvbtUV3auz/0cdrsKjh5SwdFD+vSlZxWZlKLURUuVumCJoqemcT8AAAAAAADApEGYhHGred8+tyAp8u//ThEPPqiWkzV97mNzGFUSd7VK4q5WcF2e4ku26bLH/0et+3arbsNGOdvaeu3T9NlnavrsM/ledpnCH3pQAddeK8MwrH8FjBST0aSr4q/SVfFXqdJaqbfy3tKGnA06W3/WY//ixmL9+uCv9dShp7Q8frnWpq/V1QlXy2wcf79CjCaTEjPmKjFjrlZ89RuqKipQ3t5dytu7S6W5J/vdt6IgXxUF+dqZ9RcFhIUrdUHnOksZc2W2jJ11lgAAAAAAAIChNv6eBAKd/BYsUMR3vqPK3/zGFSRJUnl+/YD2rwtOVV1wqk5vsWjmFV/R9Lu+Ifu7r6rmz6/I0dTUq7/10CEVfedv5JWWqvBvfEPBt9wiAw+QMc5F+Ebo67O/rq9lfE17y/ZqQ84Gbc7frDZH72DV4XTor0V/1V+L/qpI30jdkXaH1qSvUWJg4ihUfukMBoMiEpMVkZisJWu+qMaaap3ev1t5e3fp7JGDsre397lvY3WVDn24SYc+3CSLj6+mXDa/Y52leQvlGxA4glcBAAAAAAAADD/WTBrnWDOpY4SS34IFkqT9H5zVjo15rvcMFqec7QOcisogJc0KV8aiUAUcfF+1f/i97FVVfXY3x8Uq/GtfV8i6TBmZaxYTSF1rnd45/Y6ycrKUU5Nzwf5LY5cqMz1T1yVdJy+T1whUOPzaWqw6e/hAx6il/XvU0jCwkNpgNCphRkbHOksLlyokOmbA5yw6ka2EGRlubQOZ19rTfgAwVjA/P4DxjvsYgImAexkw+bBmEuBBX0FS0LRWBaW2KcaUob3vFLjaLT4mtbfYex/IKRVkV6kgu0qBYbM168cvKa5qr5r/8Lzai4t7dbeVlKrsP/9TlU89pbB7v6rQe+6RKTh46C8QGGHB3sH68swv654Z9+ho5VFl5WRp05lNarY1e+y/s3SndpbuVKh3qG5LvU2Z6ZmaGjJ1hKseWl4+vkpffIXSF18hh8OukpPHlbdvt/L27lRNaUmf+zkdDhUeO6LCY0f0198/r/CEJKV1rrMUk5re5xSZn7/+J+1Y/4quvud+LV69bsB17n5zvbb9+SUtW3e3rrjzy4O+TgAAAAAAAGAgCJMwIfQMkhbemqRz9mxJ0twvxMtisbjeb2+xa9riaDXVtam4j/WVGqpbtOvdAhlN0Uq96xeaYjkrY9YzasvJ7dXXXlOjil/+SlXPPa+Qu+5S2H33yRIdNQxXCYwsg8GgOZFzNCdyjn646Id6/8z72pCzQYcrD3vsX9Nao98f+71+f+z3mhc1T2vT1+rGlBvlax7fn3gyGk1KmDlbCTNna/mXv6bqkiLXOkslOSekfgb4VhUVqKqoQLs2vib/0DClzl+s1IVLlDT7Mpm9OkZxFZ3I1o71r0iStv35JUkaUKDUFSRJ0o71ryhpzuWMUAIAAAAAAMCwIEzCuNczSFq2JlUzl0fp3OZsV9v8G5MlydXv1O4yLVuTqhV3T9PRrcU6seOc2qy2Xsd22J3K2VehHPkpbNE/K/32JoV88rLaD+zu3be5WdUvvqiaP/xBwXfcofBvPCCv5OShvlxgVPhb/JU5LVOZ0zJ1svqkNuRs0Nun31ZDW4PH/gfKD+hA+QE9vvtx3TL1Fq1NX6tZ4bNGuOqhZzAYFB6fqPD4RC1evU5NtTU6fWBPxzpLhw/K1tba575NNdU6/PH7Ovzx+zJ7eytl7nylda6zdPU997uCoYEESt2DJEm6+p77CZIAAAAAAAAwbAiTMK55CpLm35gsq9Xaq2/PQKnr+9VfnKalq1OVs7dMR7cUq6LA88Px6pIm7SqRLFFfV+rD31B09lsybX2nVz9ne7tqX39dtVlZCrxxpSIefFA+s8b/Q3Sgy/Sw6fqHJf+g7y/4vj4q+EgbcjZoz7k9Hvs2tjfq1ZOv6tWTr2pm2Eytm7ZOq6asUqBX4AhXPTz8Q0I159qVmnPtSrW3tujskUPK27tTeft2y1pf1+d+ttZW5e7Zodw9O2QwGBU3faamzFuoMwf2SjofKM1ZeUuvfT0FSYOZGg8AAAAAAAAYLMIkjFslubUeg6T+eAqUYlKDFZcWollXxmnmFbEqz2/Q0S1FytlXLnu7o9cx2lvtOnHcrhPGVYq+53YlVO5W4Me/l9He5t7R4VDDpvfVsOl9+V99tcIf/Ib8Fi2SwWC4xCsHxgYfs49unXqrbp16q87Wn1VWTpbezH1T1S3VHvsfrz6u/9j5H/rfvf+rlckrlTktU5dHXj5hfiYs3j5KW7hEaQuXyOGwqzTnlPL27VLenp2qLinqcz+n06HiE9m92rf9+SW1tbVKXgGuNoIkAAAAAAAAjAaD09nPYg8Y84qKipSYmChJKiwsVEJCwihXNLJ2v31ae97N7xUkWa1Wbd68WZK0cuVK+fq6r9nSNaJp0S0pWnzbVI/Hbmls1/EdpcreWqy6it4jnbrz8TMqSfmK2PqSfBrL+uzne/nlCn/oQQVcc40MRuNALxMYN9od7dpSuEVZOVnaXrxdTvX/KyY1OFVr09fqttTbFOoTOkJVjrzqkuKOYGnvLpWcPC6ns3dQ3RfvsAgFT5+taH9fHflok6udIAnAeHChf5MBwFjHfQzARMC9DJh8hiM3IEwa5yZ7mCR1jFCKSwtxaxvIL0lP+3nidDhVdKJGR7YUKf9wpfr9iTFIsb51ij6YpdCS/TL08SDdOz1N4d/4hoJuvlkGi+WCNQDjUWljqTbmbtTG3I0613Su374Wo0VfSPqC1qav1ZLYJTIaJm7Y2lxfpzMH9ip3z07lH94vW2vf6yz1JSIxRdOWXamIpBRFJqYoOCqagBrAmMSDCwDjHfcxABMB9zJg8iFMQi+ESZ4N1y/JhuoWHfusRMc+K1FzfVu/ff292hV79lPFnP5YXu2NHvtY4uIU9vWvKyRzrYz8IscEZXfY9XnJ58rKydKWwi2yOW399k8ISNDa9LVanbZaUX5RI1Tl6LC1tang6CHl7t2p0/t2q6m25qKOY/b2VkRCkiKSUhSRmKyIxBRFJCXLP2TijvYCMD7w4ALAeMd9DMBEwL0MmHyGIzdgzSRgEALDfLTk9qlaeEuKzhys1NEtRSo+Veuxb1ObRbmxK3U67gZF1x1VbO5mBdefVvfVYdpLSlT205+q8qmnFHbvVxV6zz0yBQWNyLUAI8VkNOnqhKt1dcLVqrRW6s3cN7UhZ4MKGgo89i9qLNKvDvxKvzn4G12dcLUy0zN1VfxVMhsn3q8ss5eXps5fpKnzF8npcOhcXo7y9u1S7p6dqiry/Ofjia21VefycnQuL8et3TcouCNcSuoImCKTUhSemCQvH/7HAQAAAAAAAAM38Z7MASPAZDIqbUGU0hZEqbqkSUe3FevkjlK1tdh79XU4DSoNmqPS+XMU2F6huDMfKbpsj8z281Nb2aurVfHEL1X13PMKuetLCrvvPlmiJvaIDExOEb4RemDOA/r67K9rb9lerT+1Xh+d/Uhtjt4j/exOu/5a+Ff9tfCvivKN0h3pd2hN2holBE7MEZgGo1Gx6dMVmz5dV911r7b88UXtfXvDJR3TWl+nwuzDKsw+7NYeHBXdbRRTsiKSUhQaGy+TmX8WAAAAAAAAoDeeGgGXKCzOX8u/NE3L7kjVqd3ndHRrsSoLPU9r12CJ1MlpdysvPVPRJTsUX7JNAU2lrvcdTU2qfuFF1fz+Dwpes0bhD3xdXsnJI3UpwIgxGAxaFLNIi2IWqa61Tu+cfkfrT61Xbm2ux/7l1nI9e/hZPXf4OS2NXaq109bqusTr5GXyGuHKR8buN9e7BUlGL2852s4H0HHTZspkNqui8KxaGuoHffy68jLVlZcpb++u8+cwmRUWn+AKlyI7w6bAiEgZDIZ+jgYAAAAAAICJjjAJGCIWb5Myro7XrKviVHamXke3Fit3b7nsNkevvjaDl4rjV6g4foWCa3OVULJVkRUHZXR2jGxytrer9rXXVLt+vYJuulHhDz4on5kzR/qSgBER7B2sL8/8su6ZcY+OVB5RVk6WNp3ZJKvN2quvU07tKN2hHaU7FOodqttTb9faaWs1NXjqKFQ+PHa/uV7b/vySazv88kUKnXW5ItqbtfP1P0mSSk4d19X33K87//W/1FxXq4qCfFUVnlVFQb4qC86qqqhAtm7h00A47DZVFuSrsiBf2r7F1e7l69dtBFNH0BSRlCLfgMChuFwAAAAAAACMA4RJwBAzGAyKmRqsmKnBunJdmk58fk5HtxapvrLFY/+6kDTVhaTJ0lavuNLPFVeyXb6t1R1vOhyqf2+T6t/bJP+rr1bEQw/Kd+FCRglgQjIYDJobOVdzI+fqR4t+pE1nNinrVJaOVh312L+mtUYvH3tZLx97WfOj5itzWqZuSL5Bvubxux5QzyBp6Z1fVqXFT5I0/5Y7ZLFYXO93fV+8ep38Q0KVMneeaz+Hw6668rLOcOhsx/fCs6opLZHT2Tvg7k+btVklp46r5NRxt3b/0LBeo5jCEhJl8fIe/IUDAAAAAABgTCNMAoaRb4CX5q1M0uXXJ6rweLWObCnW2SOVcjp79233CtLZ5Jt0NmmlIqqOKr5km8Kqj8ugjs5N27apads2+c6bp/AHH1TANStkMBpH+IqAkeFv8de6aeu0bto6naw+qaycLL1z+h01tDV47L+/fL/2l+/XY7se081Tb1ZmeqZmho+v0Xw9g6Sr77lfc1beos2bN7vaFq9eJ0keA6XujEaTQmPiFBoTp/TFV7jabW1tqioudIVLlYUdQVNjddWg622qqVZTTbXOHj7gajMYjAqJiXUfxZSYopCYGBmNpkGfAwAAAAAAAGMDYRIwAgxGg5IywpWUEa6G6hZlbyvWse2lsta3eeqsyoi5qoyYKx9rheJLPlPsuR3yam+SJFkPHFDRt78t7/R0hT/4DQWtWiWDxTLCVwSMnOlh0/WPS/5Rf7fg7/Th2Q+VlZOlfWX7PPZtaG/Qqydf1asnX9Ws8FnKTM/UzVNuVoBXwAhXPTiegqTFq9fJau091d9AAyVPzF5eip6SqugpqW7tLY2NqizsHMVU2Bk0FZxVa3PToK7D6XSoprRYNaXFytn9+fnzWrwUlpDoGsHUNaLJPzSMkZYAAAAAAADjAGESMMICw3y0dHWqFt0yRacPVujolmKV5NR67NviG6m81DU6M+VWRZYfUELJVgXVn5FBUmtOjkp+9KgqfvkrhX39awrJzJTRx2dErwUYST5mH92WeptuS71N+XX52pCzQW/mvanqlmqP/Y9VHdOxqmP6373/qxtTblRmeqYui7xszIUXRSeyPQZJ/fEUKMVNn6mEGRkXVYNPQIASZs5WwszZrjan06mGqsrzazF1jmKqLi6U3WYb1PFt7W0qP5On8jN5Pc4beH4UU2JK50imJHn7+V/UdQAAAAAAAGB4ECYBl+LsDil52UXtZ0pepvSF0UpfGK2qkkZlby3RiZ2lam+x9+ruMFpUFrNYZTGLFdBYpPjirYou3yuzvVXtxcUq+4+fqvI3Tyns3nsVes/dMgUFDcHFAWNXSnCK/m7h3+m7876rvxb9VVmnsvR5yedyqvccklabVW/kvqE3ct9QWkia1qav1W1Tb1OIT8jIF+5BwowMLVt3t3asf2VAQVKX7oHSsnV3X3SQ1BeDwaCgiEgFRURqyryFrnaH3a6a0pLOkUznRzHVlp+Txzk8+9HS2KCi40dVdNx9XazAiMheo5jC4hNkMjMKEwAAAAAAYDQYnM5BPvnBmFJUVKTExERJUmFhoRISEka5orHBarW61hlZuXKlfH19h/4kn/63tOUx6fqfSFd9f+D7ffYL6aOfSCt+LF37D25vtbXYlLOnTEe2FKuqqLHfw5hsVsWe26X4km3ybz7najf6+yv07rsUdt99MkdGDuKCgPGtpLFEG3M3amPORpU1l/Xb12K06Pqk67V22lotjlkso2H01x8rOpHdKxAayL3M036job2lRZVFZ13hUlfQ1FxXOyTHN5pMCo2Nd4VLEZ1hU3BkFOvHAWPYiPybDACGEfcxABMB9zJg8hmO3ICRScDFOLujI0iSOoIhaWCBUleQJHXsP/Uat5FNXj5mZVwdr1lXxansTL2ObClS7r5yOWy9M1+72VdFCdeoKOEahdSeUnzxNkVWHpKamlT1/Auq/v0fFLxmjcIf+Lq8kpIu6XKB8SAuIE7fufw7+tbcb2l7yXZlncrSlqItsjt7j/Zrd7RrU/4mbcrfpMTARK1NX6vVqasV6Td6AezFBkJjIUiSJIuPj2LTpis2bbpbe3N9XUew1G0UU2XhWbW3tgzq+A67XVVFBaoqKtDJHdu6nddXEQlJCk9MVmTS+aDJLyh4SK4LAAAAAAAAhEnARdnjnK6P2+/Sjy1/6WgYSKDUPUiS9Fj7XfqCc7oWeehqMBgUMzVYMVODddW6dB3/vFTZ24pVX+n54WttyDTVhkyTV1u94kq2K670M/m01qr21VdV+/rrCrrpJoU/9KB8Zsy4qOsFxhOT0aTlCcu1PGG5Kq2VeiP3DW3I2aDChkKP/QsbCvXL/b/Urw/8WssTliszPVNXxl8ps5FfkUPBLyhYSbMvU9Lsy1xtTodDdRXlrnWYuoKm6pIiOR2OQR2/vcWq0tyTKs096X7e4JBuo5g6p8tLSJaFteUAAAAAAAAGjSdlwEVYlBKmvTf8SI99qIEFSh6CpOAbfqRFKWEXPJdvoJfm35iseTckqeBYtY5uKVL+0Sp5WBpGbV5Byk9ZpfzkGxVRdUTxxdsUVnNC9e+9p/r33pP/8qsV8dBD8lu4sPfOwAQU4Ruhb8z5hr4+++vae26v1ues10dnP1K7o71XX7vTrk8LP9WnhZ8qyi9Ka9LWaE36GsUHxI9C5RObwWhUSHSMQqJjlLZwiavd1t6umpKi86OYCs+qoiBfDZUVgz5Hc12tCupqVXD0ULcTGxQSFXM+XEpKUURiikJj42Q0mYbi0gAAAAAAACYkwiTgIj18Taqe1gACpT6CpIevSR3U+QxGg5Jnhyt5drjqK63K/qxEx7eXyNrQ+6G4DEZVRlymyojL5GutUHzJNsWW7lTT1m1q2rpNvvPnK/zBbyjgmmtkMBgGd+HAOGQ0GLU4drEWxy5WbUut3jn9jrJyspRbm+uxf3lzuZ45/IyePfyslsUtU2Z6pq5NvFYWk2WEK59czBaLIpOnKDJ5ilt7a3OTKgsLOkOm89PltTQ2DO4ETqdqy0pVW1aq3D07Xc0ms1lh8YmudZg6wqYUBYZHcI8EAAAAAAAQYRJwSfoMlKrPSNNukk7/Vdr9jKv/xQZJPQVF+GrZHalafOsUnT5QoSNbilSaW+exr9U3Urmpa3V6ym2KKt+n+JJtcu7fL+vD35Z3errCH3pQQatWyWDmdoDJIcQnRF+Z9RV9eeaXdbjysLJOZen9/PdltVl79XXKqc9LPtfnJZ8rzCdMt6ferrXpazUleIqHI2O4ePv5K376TMVPn+lqczqdaqqp7jWKqbqoULb2tkEd326zqeLsGVWcPeN+Xn//jnApsSNc6gqZfAIChuS6AAAAAAAAxguD0+n0MFkWxouioiIlJiZKkgoLC5WQkDDKFY0NVqtVmzdvliStXLlSvr6+w3q+p/+aJ8eHP9F3LG/12afaESBr2AzFJ6dLQfFScHzH967XPiHSJXwCvqq4UUe3FuvkrnNqb7H32zegoUAJJdsUXbZXJkebLPHxCnvg6wpZu1ZG1hPBJNTY1qhN+ZuUdSpL2VXZF+w/P2q+1k1bp+uTr5evefjuLyN9L5sIHA67as+d6xjBVJCvyoKOoKn2XKmczsGtx9SXgLDw86OYOqfLC49PlNnLa0iOD0wk3McAjHfcxwBMBNzLgMlnOHIDhiIAl8LplM5u18Nlz8hhebffrmHGRql2b8eXJxb/8wFTcLwUlNBtO6Hju3ffn4YPjw/Qiruna9maVJ3aXaajW4pUVdzksW9jYJJOTP+yclPXKObcLsWXbFP7//sPVf7mKYXde69C775LpqCgAf8xAONdgFeA7px2p+6cdqdOVJ9Q1qksvXv6XTW0e55GbX/5fu0v36//3vXfumXqLcqclqkZYTNGuGp4YjSaFBYXr7C4eE1bcqWrvb2tVdVFha4RTF0jmppqqgd9jsbqKjVWVyn/4D5Xm8FoVGhM3Pm1mDrXZQqOjpHRyHpMAAAAAABgfCNMAi5GW7N05DVp17NSeccoBuOlHrO9Sao81fHVF5/gHiFTj9ApKF5ePj6avTxeGVfH6VxenY5sKVbegXI5bL0HIdrMfipKuFZFCdcqpOakEkq2qf2JX6rquecUevddCrv3XpkjIy/1yoBxZUbYDP3T0n/S3y/8e3149kOtP7Ve+8v3e+zb0N6gv5z8i/5y8i/KCM9Q5rRMrUpZpQAvpkEbayxe3oqemqboqWlu7daG+s41mM6vxVRZeFZt1uZBHd/pcKi6pEjVJUU6tWu7q93s5a3whCRXuBSRlKLIpBT5BYewHhMAAAAAABg3CJOAwajJl/Y8L+3/g9RSO/Lnb6nr+CrvZxouv3ApKF6G4ATFBsUrdnq8mjMSdTw/StmHpIYam8fdakOnqzZ0urxaaxVX+rnifr9e1S//XsFr1yj8gQfk1TksEpgsfMw+ui31Nt2WepvO1J3RhpwNeivvLVW3eB7Jkl2Vrewd2fqfPf+jm1Ju0tr0tbos8jICgzHONzBIibPmKHHWHFeb0+lUQ2VFr1FM1cVFctg930P7YmtrVdnpHJWdzul13p6jmCISk+Xl6zck1wUAAAAAADCUCJOAC3E6pdOfSrufk05ukjSwZcZqnAEKNTS6tt+wXaFsZ4riDFWKNVQr1lClOEOVIg11Q1tvc1XH17nDriY/SQskzfMyqiBkvo623a6zzbMl9X7I3eYdovyUm3U2+UaFVx5RwgfbVPPaKgWvuknhDz0on+nTh7ZeYByYEjxFf7/w7/W9ed/Tp4WfKisnSztKdsjp4X5gtVm1MXejNuZuVFpImjLTM3Xr1FsV4hMy8oXjohgMBgVFRikoMkpT5y9ytdttNtWUFneGSwWudZnqyssGfQ5rQ70Kjx1R4bEjbu1BkdHuo5gSkxUalyCTmX+yAQAAAACA0cOTCaAvrQ3Sob9Iu5/tf+o5STUKVKjOr63yWPtdetm4Rvc5NurHlr9Iku4wfy5b6Cw977xbhdXNamqzS5K81K5oQ7XidD5giu38iusMnbqHUpfCaHAoxWevUnz2qt4vStnWlTrWfL1anMG9+joNJlVGXq7KyMvl21yu+EPbFJt5j0IWTFPEgw/I74rrJOMlT+4HjCsWk0UrU1ZqZcpKFTcWa2NOR2hU3lzusX9uba4e3/O4frHvF/pC8he0Ln2dFsYslNHAz854ZDKbXSOIumuzNquqqLBjFFNhfsdUeQX5sjbUD/oc9RVlqq8o0+l9u11tRpNZYXHxHaOYEpM7w6YUBUVGMfINAAAAAACMCMIkjH9nd0jJy4Zuv6q8jgDp4J+l1v4fBDrSbtBfi6XrrB+62h5rv0ufx3xVx/7mSv12S7oe+1CuQGldzfNad32CnFc+oprmdhVWN6uwplmF1VYV1TSrsMaqw9XNKqqxqs3mcB3TR62KM1QpxlDdETbJPWyKNVQpyGAd1OUHmcu1LPCPWhzwF+W1LNPR5lUqbZ/psa/VL0q5aZk6PeU2RZXvU8L3/0fRPt9S+CJfBcxOlCEkwfMaTr6hEg86MUHFB8Trb+b9jb512bf0ecnnWn9qvbYWbZXdae/Vt83Rpk1nNmnTmU1KDEzU2vS1Wp26WpF+rEk2EXj5+ik2fbpi091HbjbV1nSuwZR/fl2mogLZWlsHdXyH3daxf+HZHuf1VXhi1xR5KYpM6hjN5BsYdMnXBAAAAAAA0B1hEsa3T/9b2vKYdP1PpKu+P/D9PvuF9NFPpBU/lq79B8nhkHI/knY/0/G9P95B0ryvyLnoG/rg9We1yvpb11uPtd+ltwO/pE8eXiaDwaCHr0nV0/qRW6Ckj34ig6Swq76vMH8vXZYY0usUDodT5Q2tnUFTR9jU9XpHjVWldVY5esyuFaBmxXaFTV0jm9T1uqPd19DW61wmg03TfLdpmu82VbYn62jzTTrVskLtTt/edZm8dC52mc7FLlNgw1nF79+mpM93KmrGfgUlWdVrsIXFzz1kCorrHTj58NAT45vZaNbyhOVanrBc5c3leivvLWWdylJRY5HH/oUNhfrl/l/q1wd+rRUJK5Q5LVNXxl0pk9E0wpVjuPmHhMo/JFTJcy93tTkdDtWVl6mic4q8jrDprGpKi+V0OPo+mAdtVqtKT51Q6akTvc57fhRTx/fwhERZvH2G4rIAAAAAAMAkRJiE8evsjo4gSeoIhqSBBUpdQZLUsb+1Rsr9UKo+3f9+EdOlJQ9Jc++SvAO0/0//qlXn3IOkP1nW6pPvXClv8/mHwn0FSv3VazQaFBPso5hgHy1KCev1fpvNodI6q1vIVFhjVWF1s7JrmrWlsXdoJDkVosZuYVO1W9AUqyrFmIt1TfAzuiLw9zrZskJHm29StS3Zw7GkhsBknZiRrNz2tYop26mUnL8qKSVPwVOaZey6s7Q3S1U5HV998Q7qFjjFS8EJvQMoLxakx/gQ5Relb8z5hr4+++vac26Psk5l6aOCj9TuaO/V1+6065PCT/RJ4SeK9ovWmvQ1WpO2RnEBcaNQOUaKwWhUSEysQmJilb7o/OhYW1ubqkuKzo9gKshXReFZNVZVDvocTbU1aqqt0dnDB7qd2KDQmFiFJ3SuxdQ5iikkOlZGE0EmAAAAAADoH2ESxq/kZR0jkrqCmYEESt2DJEkyWjpGI/XFYJSmreoIkaascE3ZduTz97Ug55eubo+136Xnnav1xoNLFRno3eswfQZKiUsvaoo+L7NRyeH+Sg739/i+tc3eOW1e56imbtPpFdaE6lhLiufLlUPhaugY1WSuUmzQfsXYD8u7JVXW1mlyerhl2Cx+Kkq4TkUJ1ym05qQSP/+rpkfsUHhavUxeTg9n6aG1XqqolyqO993HN6z3iKbuAVRQvGT2uvC5gBFiNBi1JHaJlsQuUU1Ljd45/Y6yTmUpry7PY/+y5jL99tBv9cyhZ3RF3BXKnJapaxKuGdmiMarMXl6KSpmqqJSpbu0tTY2dAVNnyFTYMW1ea1PT4E7gdKqmtEQ1pSXK3bPD1WyyWBQen9S5DlPnSKakZAWEhrMeEwAAAAAAcCFMwvjWFRz1DJQWfKt3320/lz7+d/c2D6MFJEk+IdL8e6VF35BC3UfmnK1q0t0fSN+wr9Uj5g16rP0u/dZ+u359z+WaHR/cZ6k9A6UnbGt1pXO6Fl3wIgfP18uk9OhApUcHeny/rrm924gm92n0imrMqrQF64iz84GmQZKv5OfdrjltTl3ealKQs+d8dh1qQqerJnS6TrR+SfEHP1OG74eKTy+S2WdwUzf1Yq3u+Dp3pO8+/lF9j24KjpcCYiQTtzyMvFCfUH111lf1lZlf0aGKQ8rKydIH+R/Iauu9zplTTm0v2a7tJdsV5hOmm5NvVoQ9QhGmiFGoHGOBj3+AEmZkKGFGhqvN6XSqsbrqfLjUOYqpurhQ9vY+fq/1wd7ervL8PJXnuwedPv4BHesxdY1iSuwImbz9PH+IAQAAAAAATGw8WcX45yFQMre3S+pcCN1aI2V9tWMquwuJni0tfkiac6fHqdUaWtr1jZf3qrHVrie0Tp/ZZ2uvc4a+e12abp174ampugKldR9M05XX3eZxCruREOxnUbBfsMfwy+l0qsK1XpO1M2DqDJtqmrWvpkVJbQbNazVpSrvJ4yfX27xDdCbpVuU7Vyk854jMjmy1JlcoMrDRtZ5TuKFhaC+qqbzjq+SA5/cNRikw1vOUel1t/lGS0XNQBlwqg8Ggy6Mu1+VRl+vRRY/qvTPvKSsnS8eqjnnsX91SrT+e/KMkKcWUIvtZu25Ou1k+Zta9mewMBoMCwyMUGB6hKfMWutoddrtqzpV0rsOU7/peW3ZOcg5gpGg3LU2NKj6RreIT2W7tgeGRHaOYutZkSkxWWHyizBbLkFwbAAAAAAAYmwxO5yCfLmBMKSoqUmJioiSpsLBQCQkJo1zRKOoxhV1e5EqZHK1Krtkug8PW934GkzTzVmnxN6XkK1xT2fXkcDj10B/26qPj5W7tN8yK1jNfWSCjceDTAe3Jrx61IOlS2ewOlda1qLCmWWfz61V+sFKmvDoZHP2vueHbXCZr02m9ERmrnJBoeavt/JpN6giYeq7nFGxoHqGr6mS0SEGx7tPp9Rzl5BfW598R4GIcrzqurJwsvXf6PTW09x+yBnoF6taptyozPVPTw6aPUIUY79pbWlRVVOCaIq+ic8q85rraITm+wWhUaGx8xyimxPNBU3BUtAwE9JOe1WrV5s2bJUkrV66Ur6/vKFeE8azoRLbbSM3h3g+QuI8BmBi4lwGTz3DkBoRJ4xxhUg8910Tqj1+4tOB+aeHXOwKDC/ifD07oN5+6TwM0PTpQWd++QgHek3uQn63drrz9FTq8KUfl5/qfYslob5OxIVdbAn30eXhsv339ZVWModoVMsUZqhSrarfgyd/QOpSXcmFmXykorvcaTt1DJ5++pzsE+mK1WfXh2Q+VdSpL+8v3X7D/7PDZypyWqVVTVsnfwtRjGLzm+rrzo5gKu9ZkKlB7S+8pGC+GxdtH4YlJnSOYOqbJi0xKkV9wyJAcfyB48Dz6eHCBofL563/SjvWv6Op77tfi1esGvN/uN9dr259f0rJ1d+uKO788jBViouI+BmAi4F4GTD7DkRtM7ifgmHiu+r7UXCN9/su++8ReLi35ppSxVrIMbLqotw6V9AqSQv0sev6+hZM+SJIks8Wk6UtiNH1JjCoKG3T4nRPKOVQju4dbjMPkJUfILF0p6YbyMrXEWbQvJVEFDS0qrLbK2m539W2Sr/Kc8cpzxvdxZqeC1KQ4Q3WPkU1ViusMnWIN1fI2DG4NkX7ZrFJ1XsdXX7wCuwVOfazh5MXDf7jzNfvq9tTbdXvq7Tpde1obcjbozbw3Vdta67H/0aqjOrrjqH6252daNWWVMtMzNSdijsepJwFP/IKClTR7rpJmz3W1OR0O1VeWd4ZLZ1VRkK+qwrOqLimSw27v52i9tbe26FzuKZ3LPeXW7hsU3G0dpo5RTOGJSfLyGdr/oeXBMzBxFJ3I1o71r0iStv35JUka0M9118+zJO1Y/4qS5lxOUAwAAABcJEYmjXOMTPLM+f8iZHD0CBBmr+sIkRIWDWqasiNFdbrzmc/V0u5wtZmNBv3hgSValho+VCVPOK1Wm459eEpHPzyj+vb+HxBaHC1KTTVr3leWyBHso8LqZhXWdK3X1Ll2U02zimussjkGe8tyKkwNbmFTV/jU1RatGlkMg3tIesl8QnqETD1Dp3jJ7D2yNWHMqWus0683/Vp72vYoz9ZPgNkpLSRN66at061Tb1WwNyPkMHTstnZVlxR3jl466/peX1F+4Z0HKDg6piNgSkx2jWIKiYmTyTz4D20UncjWq//2qGt7oIFS9wfPkvSlf3+cB8+XiE/BYqj0/Pm80M/1YPsDfeE+BmAi4F4GTD6MTAIG4rNf9A6SJClmtpS4eFCHKm9o0UN/2OsWJEnSv902iyDpArx9zZp3+yxdfttMFR0o0oFX96qoNkBOQ++1ldqNPjpxRjrxH/sUE9qmy9bM1a0LYmQ0ua+1YXc4da6+pSNs6gyciqqbVVTTETadq2/xsMa8QdUKUrUzSNnOKR5rNcqhCNW5T6fXI3iKUq2MhiHM3ltqO77Kjvbdxz+yY4RTX9PpBcZKJha9n8i8TF6a7TVbs71mK+OKDG0q2qQ3ct5QudXzA/zc2lw9tvsx/Xzvz3V98vVaN22dFkYvZLQSLpnJbFFkUooik1Lc2lubm1VVdH4UU2VhvioLzqqlsf/1vzypKzunurJzytu7s9t5zQqLS+gYwZR0PmgKDI/s9+91wowMXX3P/a4HyQMZyeDpwTNBEi6EqRRHTtfP70B+rgmSAAAAgKFHmISJpceaSW0mf3nZmzo2utqv+v6ADtVqs+tbf9in0roWt/Z7liTpK0uTh6DYycFgMChxfqIS5yeq8VytDrz4qU7lSS0Wz6MmztV46dyLJ+T7h6PKuDZJs6+bIv+QjhE6JqNB8SG+ig/x1dKpvcO8VptdJbWdYVO3EU1FncFTdVObx3M6ZFS5QlXuDNVBZ5rHPmbZFK0atzWcYt1eVynSUH+Rf0p9aKro+Co95Pl9g1EKiO49hV730CkgSjL2DvAw/sQHxOu7876rhy97WNuLt2t9znptK9omu7P3qLo2R5veO/Oe3jvznpICk7Q2fa1Wp61WhG/EKFSOiczbz09x02YqbtpMV5vT6VRTbU23UUwd6zJVFRbI1u75PtwXu82mioJ8VRTk9zivv8ITkxWRmKSIpBRFJqYoPClZvgGBrj48eMZwYyrFkTeQn2t+ngEAAIDhQZiEiaNHkJQd90XlRt+qm4NOyrLlPzsaBxgoOZ1O/dPGo9pfUOvWvnhKmH5yWwaf8r9IATEhuvof1+gKa6uOv7xZ2TvKVenrebSQtd2svZtLtG9zsaZkhGjODVMUPz203z97b7NJUyL8NSXC83pEja2289PmdQucOtqa1dTW91R3NplVrEgVOyO1r48BSt5qU7ShpiNgUvdRTudDpxBDU99/QIPldEgNpR1fxXs99zGapcBu6zcFxfVew8k/YlBTP2J0mY1mrUhcoRWJK1TeXK43c99UVk6WihuLPfYvaCjQE/uf0K8P/ForElcoMz1TV8RdIRMhI4aJwWBQQGiYAkLDlHLZfFe7w2FXXdk591FMhQWqLS2R0+no54i9tTY3qeTkMZWcPObWHhAa5jaKKXnO5bJ/6Sv6/NU/SuLBM4YOa/iMnkW3rZXd1q7PX/uTpI4//7ryMs29/iadObhP2//ye1dffp4BAACAoUOYhImhR5DUvuKflFs/XZJkW/pdWSyW8+8PIFB6cXu+1u8rcmuLD/HV01+eLy+zsY+9MFAmX2/N/tZtynjIoeI3P9bhN46o0JwmmyWgV1+nDDqdXafT2QcVEu6l2dcla8ayGHn7DX56twBvs2bEBGlGTFDv8zidqmlu7x0ydZtKr83e/8POVnmpwBmtAmd0n3181aI4Q9X5EU6qdptaL95YLX9ZB31tfXLYpLqCjq++mLw9hEw9ptTzCSFwGoOi/KL04NwH9cCcB7T73G5lncrSxwUfq93DVJ82p00fF3ysjws+Vox/jNakrdGatDWKDYgdhcoxGRmNJoXGxis0Nl7pS65wtbe3taq6qLBjFFPXekwF+WqsqR70ORprqtVYU638Q/tdbQaDUb6BQbI2dIwe3fbnl9RcX6er775Pe9/ZqM9eednVlwfPGCimUhwYh8Ou9pZWtbdY1dbSovYWq9pbWtTW2vm9c7u9pUVt1ubOPh392lpbeu/X0qL21hb1nNf48EebdPijTW5tc75wk+atum0kLxcAAACY0AxOZ+8VRjB+DMdCWuNOjyBJ1/9E1gXf6r2woId+ngKlracqdP/vdsvR7SfDz8ukrIev0MzY3iEELp3T6VT99p06+tJHOt0Uq/rgqf32N5kNmrYkRnNWJCgyKbDfvkPF4XCqvKG1M2g6P4VeYWfQVFpndfs7cykC1exx7aZ4Q5USTDWKVqW8nIObKuqSWfy7hUzdp9TrtqaT98j8t5hMLmaR1JqWGr2d97aycrJ0uu50v30NMuiK+Cu0Ln2dViSukMXIGlwYO6yNDaoqOKuKwvzOKfMKVFmQrzZr87Ccz2SxyMvXTyaTSUazWUaTSUaTWSazWUaTWUazSSZTZ7u5q72zj1tbtz6uY/V4be7Rp8d5eh/T5F6D2dz5vaN9LI+YnuiLPQ90ZNt4GAHnsNtd4c75kOd8mHP+e7dgx1P/1hZXm621dVSvyWQ2Kzp1mhJmZihh5mzFTZspbz+/Ua0J489Ev48BmBy4lwGTz3DkBoxMwvjWV0Bk9TCyoys46meE0pnKJv3Nn/f3CgV+/sXLCJKGkcFgUPBVy3TlVcs0/8hR5T3zmnIKLDoXvVAOk3ev/nabU8e3l+r49lJFpQRpzop4pS2Iktlr+KbtMhoNign2UUywjxalhPV6v83mUGmd1S1kKqyxdoZNzapsHHj40yA/NTj9dMqZ2EcPp0LVoDhDx6imrlFOiaZqJZtrFGuoVpi9Qian7SKv1oP2JqnyVMdXX7yD+wicukY5xUkW/sE63EJ9QnVvxr366qyv6lDFIa0/tV4f5H+gFntLr75OObW9eLu2F29XmE+YVqetVmZ6ppKDWBcOo883IFAJs2YrYdZsV5vT6VRDVcX5tZg6RzFVFRfJYb+0e569vV3W9rpLLXtUGIxGmcyWPgKq8+FYVwDlFnp1hVM9+rgFXCbT+fc9hl4W97Ct23nabXa11lbLYDSqrrxMtoAAj3UajONz5PdoreFjt7V7DHNcgY/Vej4AavUcCnX179jXKnt771Gt453dZnNNibn7jddlMBgVmTJFCTNnK2FGhuJnZsgvyPM6ngAAAADcMTJpnJvUI5PO7pB+d9P57W4jjfr9xEXPAOpr70vJy1Tf0q41v9muvAr3NW2+f/00/e316cN0EehL6+kzKn3uJZ3aV6ni6CvV7B/Tb39vf7NmLotVxvJ4hUSNvU+cWtvsndPm9V6zqbCmWQ0tQxj8SDLIoQjVdxvZVKUpllpN8apVvLFaEY4KBbRVyqjBrVNyyfzCe0+h132UU2CcZPYa2ZrGsKH69FhDW4M2ndmk9afW63j18Qv2Xxi9UJnTMnV90vXyMftc1DmBkWS32VR7rqRjLaaCzunyCvNVV3ZutEvDABkMxl6jsroHTh1BlqV3H5PJY+hlNFv6GGVmch9V1nkez0Fa71Cue5/uNe1/90195mGtnl1vvO42leL8m1dr+rKrO4OcZvcAqGc41C0E6giHzm9faniK88LiEztGLs3IUPzM2QqKiBztkjDG8Gl+ABMB9zJg8hmO3IAwaZyb1GGSJH3639KWx3pNWXfBX5JdgdKKH0vX/oPsDqe+8fIefXqywq3bqtkx+s0982U0jt3pYya69nPnVPXiSzrzwT4VhS9RRcRlchr7H4GUOCtMs5fHK2VOuIym8fFJ57rm9m4jmnpPo9dqG/rQxyS7olTbETYZqzTNp06p3nVKNNUoylmp4PZy+bZWDvl5+2eQAqL6Gd0ULwXGSBf4OzBRDMc/+I9VHdOGnA169/S7amxv7LdvkFeQbp16qzKnZWpa6LRLPjcw0tparKoqLHCtxXR6/27VEjABo8ZoMsnLx1cWH19ZfHzk5ePT7bVv53sdbV5u38+/7tr/6KcfaueGv7iO7e0foNam7r/XDJIG/7+6QZHRSpiZofgZHVPjhcbGjempJDH8eAALYCLgXgZMPoRJ6GXSh0lSxwil5GVuTQP6Jdltv//edFzPbHFfW2RmbJCyHl4mPy9mgxwLbDU1qvnTn3XulTdUGDBbJbFXqdUntN99AkK9lXF1nGZeGSf/4N7T5Y0XTqdTFa71mqyugKmwc6RTSW2L7EO1YFMPFtkUbahWorFas/wblO5Tp2RzjWIMVQq1lSugpUzm1pphOXefDCYpMLb/KfX8IqRxOmVSd8P5D/7m9mZ9ePZDZeVk6UD5gQv2nxMxR5npmbppyk3yt/gPWR3ASOk51Zi3n79am8+PRp57/SpNX3aVHDab7Ha7HHabHHa77DabHLbO13abHDa77LZ2OTz0ce1n6/hut9nc+7i+d+tj79a3s4/DdR6bnM4RHkEKdDJZLOfDHG+fXkGPl29nKOTt0yP4OR8OWbr18/Lxkck8NGvz9TV1YM/22ddcL//QMBUdP6pzuadktw1+RJdfcIhr1FLCzAxFJCXLOEk+1IIOPIAFMBFwLwMmH8Ik9EKY5NlgfkluPFCk7796yK0t3N9Lb/7NlUoIHXvTpU12juZm1b7+uip+97LKbJEqjrta1WGz+t3HaDRo6rxIzV4er7hpIRPu06U2u0OldS0qrGlWkYc1m8obhnfxax+1aoqlVnMCGzXdt15TvGoUZ6hWuKNSga1l8m4ulaG1flhr6MXk1TFtXlD3wKn79HoJkm+oNMb/LozUP/jzavO0IWeD3sp7S7Wttf329TP7adWUVcpMz9TsiNkT7ucJE9NAHzwPxVo2Q83pcLiFVN2DLHvP0Kp7QGWzucKv84FWe+8+3QOsXse09wjS3Pt4DNt6tHX1w/Aye3l7HOnjFvT4uoc854OiHiGQb8d+JvPY/EDVhX5u+3rf1tamc7mnVHT8qIpOZKvk5HG1t/ZeT/BCvP39FT99lmvkUvTU1CELyXBe0YlsJczIGLH9+sMDWAATAfcyYPIhTEIvhEmeDfSX5KHCWt35zA61dZtCzGw06M8PLtXiKWEjUisujrOtTXVvv6Oq559X7blGFcddpdKYZbJdYMREaIyfZq+I1/SlsfL2HZsPSYZaS7vdNZKpqFvI1DXSqc46/Atux/rYdHlwo2b6NSjVu1YJpmpFOTqm0vOxnpOxvlhqbx72OtxY/M4HTh7XcIqXfIJGtqYeRvof/G32Nn1S+ImyTmVpZ+nOC/ZPD01XZnqmbp16q4K9WcAcY9PFPnjG0LBarfrggw8kh0PXXXetvCwWV0g14JFbtnZX+OUWpHW12209jtlH2OYK2foJ27r3cY0Ysw/pGkUWbx/PoU730Tw+vn2P9HHt5yMvHz9ZfLwnzUiZgf68DqSf3WZTRf5pV7hUfOKYWhobBl2T2ctbcdOmK37GbCXMnK3Y9GmyeLPe4KX4/PU/acf6VwZ9P+76775s3d264s4vD1k9PIAFMBFM9HvZWPoQAjBWDEduMDmepAIelNW36KE/7HULkiTpP+6YTZA0Dhi8vBSSuVbBd6xWw8cfK+zZ5zR1xzsqj5yv4vjlqg9K8bhfzblmbXs1Rzs25mna4hjNXh6vyKTAkS1+hPlYTEqLClBaVIDH9+tb2t1GNBX1CJus7Zf+ifLSFrNKW0K0SSGSEnu9HxngpZkRdmUEdEyll2SuUYyzYyo9v5ZzMtQXS/Ulkr3tkmtxaW+WqnI7vvriHdQtZIrzvIaT18QZwehl8tJNKTfpppSbVNhQqI05G/VG7huqsFZ47J9Tk6PHdj+mn+/9uW5IuUGZ6ZlaGL2Q0UoYMwbyQLlru6tf13cCpaFjMBgkk0kWbx/5jNMHF06ns3OUmK33iC5bx6iswx9u0v5Nb7n28fL1U5v1/AclrrjzHi1de5cME2Aa1tEwmOB3ID/XJrNZMWnTFJM2TQtvWyunw6GqogIVHc9W0YlsFR0/qqaa6gvWZWtrVcHRwyo4eliSZDSZFZ2apoSZs5UwI0Nx02fKx9/zv8EGYrI9HCs6ka0d61+RNLj7cfe/HzvWv6KkOZePy+sHgKEw2X53jLUPIQATGWESJqWWdrse+sM+ldW7T/9137Jk3b04aZSqwsUwmEwKWrlSgTfcoOadOxX47LOK3fE/qg9IVHH81SqLWiSHyavXfrY2h459VqJjn5UoekqQ5qyIV+qCKJktk+OTvd0F+Vg0K86iWXG9R+E4nU5VNbW5TZtX1LV2U02zimussg3Bek0VjW2qaJS2yk+Sn6RY13smo0GxwT5KivLR9OA2TffpmEov1lClcHtlR9hUVyx1BU7OIZxOqbVeqqiXKo733cc3tEfI1GN0U1CcZB5/a3YlBibqe/O/p29f/m1tK9qmDTkbtLV4qxwe1m9pc7Tp3dPv6t3T7yo5KFlr09fq9tTbFeEb0e859pft1/zo+YOu7WL3w+Qy1A+eMbkZDAYZTCYZTSbJ6/w9fX/Zfs2Pma/db653C5I8TaX4+et/lsnipcWr13EfG6SiE9mDHkHo6ec6bvrMPh+SGYxGRSSlKCIpRZffeIucTqfqys6dH7l0PFu1ZaUXrNVht6n01AmVnjqhPW+ulwwGRSZPUcKMDCXMzFD8jAz5h/S/7meXyfhwLGFGhq6+5/5B3Y893e/H48NQABgKk+13Bx9CAEYWYRImHafTqX/ccESHCmvd2pdNDdc/39r/2jsYuwwGg/yXLZP/smWyHjmiqueeV9CHrygtb6PORS9RcfzVavaL8bhv2Zl6lZ2p12ev52rmFbHKWB6n4MiJM9rkUhgMBkUEeCsiwFvzkno/+LA7nDpX39IRNnUGTkVdo5tqmnWuvkWXOpmq3eFUUY1VRTVWfS5JMkmK6PyaLm+zUQmhvkoM81Niipem+VuV6lWreGO1opyV8mku7RzZVCzVFUuNZZKGcIZXa03HV9mRvvv4R/UY0dRjer3AWMk0Nn8lm41mXZt0ra5NulZlTWV6M+9NbcjZoOLGYo/9z9af1S/2/UJP7n9S1yReo8xpmVoWu0ymHlMwPXXwKT196Gk9Mv8RPTDngQHX88KRF/TE/if08GUP69uXf/uSrg0T10g8eAa67mPfarlZLZ9ku9q7/33z9Pdqz7k9+q3Pe9zHBiFhRoaWrbt70A/Huv/5L1t396B+ng0Gg0JiYhUSE6vZ194gSWqsruoctZSt4uNHVVl49sIHcjpVkX9aFfmndeD9tyVJoXEJSpgxq2P00szZCoqM6rXbZH44NpiAn6lKMd5MthEjGFmT8XcHH0KYXLiHjj7WTBrnWDPJs/7mgn12a57+670Tbv0Tw3z11neuUqh/7xEsGL9aT59W1fMvqO6tt+S02VQTMk3F8ctVGTFXTkP/I5CSMsI0e3m8kudEyGhkyq6L1Wqzq6S2xW3avO5rN1U3DeG0dX0I9DYrIcxPiZ2BU3KwWam+DUo01yraWSnvptLzQVN9Ucf35sphr8uNwSgFxPSaQq/VN1I7jxXK6hWuFTevk69f/2uCjRSH06GdpTu1IWeDPi74WDZH/2uJxPrHak3aGq1JX6MY/xjtL9uv+96/z/X+QAOlriCpy8s3vcwn+9GnyfapzLFqos7P33Ufm50XpIUnz3/YYqBr+OydXqOjqfXcxwZprD1AsDbUq/jkcRUdP6ri40dVdiZPTkfvEbwXEhgR2TlyabbiZ2YoLC5BBoNh0EHJRAtWxsqadxP1PoaRx79NMBL6ujf2dS+bKL87hnJdRYxN3EMHbzhyA8KkcY4wSdqTX61FKe5rHPX1S/LTk+X6+kt73EZK+HuZtOHbV2p6zMReN2cyay8tVfVLL6nmtdfltFrV6hWsktgrVRx3pdq8Q/rdNyDMWxlXxWvWVXHyCyJsHGqNrbbz0+Z1C5yKOtdvamobwinr+hAR4KWEUL+OkU2dgVNSkEkplhpFOatkaSw5HzJ1D51a6oa9tu6cRosMQbGe123q2vYLl0Z4vaLqlmq9nfe2snKydKbuTL99DTLoyvgrtS59nU7XndavDvzK9d6FAqWeQdJgRzRhchprD54no4n8EPY3zzzqNiLJ57oMfeebjw9Zf4w/bS1WlZw6oeLjR1V0PFuluSdlb28f9HF8g4Jd0+LVlp1zjWiSxv/DMafTKbvNJltbq+zt7bK1tcrW1vm9c9vV3t6unN2fK3f3Dtf+CbPmKGFmhkpzTurs4QOu9vQlVyh90TIZzRaZzGaZLJ3fu20bu7YtXe1dfcz9rmU2ke9jGDlFJ7L16r896toe6M9oz5/tL/374/wbBRfk6XfCnJW39LqXjZffHQM1Vj6EgKHHPfTiECahl8keJv3iw1P65cc5evSmGXr4mlRXu6d/8OeWN2rNb7arodX9E/TP3btQN8yKHtG6MTpsNTWq+eOfVPPHP8peVyeHwaiq8DkqirtaNWEz+93XaDJo6rxIzVkRr9i0kI7FxDGsnE6naprbO9dpsnYGTe5T6bXZB//p38EwGqSYIJ/OkU1+Sgzz7fzup6QAh6IclTI2dK7VVF8s1RV1C5yKpbbGYa2vF7NP7yn0eq7h5BM8LIGT0+nUgfIDysrJ0ub8zWqxt/TbP9zooylNNdrb7YFMXwFRryCpukYPXP4d6dp/GLL6AQyPifoQtuf/0HaNNLrQfaznSKbJ9j+0k42tvV3n8k6p+Hh2x+ilk8fV3mId9HFMZovstvOh1JV3fVVL13zJtX0xD8e6Qh17e5tsbW0XDHW6v38+BGqTrWv/nvv07Nve7up/yXMgDwOjySSj2SyzuTN06hZGGUwmNTQ2yWAyKiIyUl7ePjKazO6hVbf+fQZarlDLIrPZ3NHP4v7e+WN0BV8dbfy/x8Qw2UcbYmT1/Puz9M4vq9LSMZ3/ypUrdWTzuxPy71dfPzf8PI1/3EMHjzAJvUzmMGlPfrXu/O35T6l1D5R6Prhoc5q15qntOl3Z1Os4r39rWa+RTZjYHE1Nqnn9dVX/7iXZysokSc2+USqOu0qlMctks/S/XlJYnL9mL4/X9CUx8vIdm+vcTAYOh1PlDa3nQ6bq84FTUY1VpXVWOYb5N5yXyaj4UN/zazZ1D5xCfRVqapahvsR9Cr3uoVN9iWTrP3QZ+qID3EczeQqdvC5tOr36tnptOr1JWTlZOl59fFD79nwQ6zFIqmvo2Pja+1LyskuqFcDwmqhhknR+qg2f6zL0W5/3XO0Xuo91rbE0GafamOwcdrsqzp5R0fGjHV8njqmlof6ijhUcFaNpS69Uae5JFR076mqPSEpRUGTUuA114FnP8MpoNstssXS0uwVa7oGU2TUiy32UVtfrXsFX13dTt+Cr+6iunsFXZw2EXQPHVFwYST3/HoVfvkihsy5XRFuTdq7/s6v9ijvv0fybV8vhcMjZ/cvplNPh6Gh3ur/n6LePs/O7XU6ns1vfbvs6nb2OJ1dfu/txe9TU83gdfe2d7U6V5eWoNPek6/p6figjYdYcJc6aLaPJLKPJ1HnPNMlk6ri/mjo/YGDsvB+62jrvxUZz137mjmOYO49hOn8Mo8nEvXEYcA8dHMIk9DKZwyRJevqveXr8/fPrH3UFSt0fXFx3/fX6zqvZ2nqqotf+j940XQ9fkzZi9WJscba1qe7tt1X13PNqy8+XJNmNFpVFLVBx3HI1BCX3u7/Z26Tpi6M1e0W8IhKYJnGsabM5VFpndQuZCmusnWFTsyobh3+9Jn8vkxLD/Dqn0fPt+N4VPIX5KcDLJDVX9R7R1PnaUVco1ZXIqOGf7s+NT3CP6fR6jG4KipcsPgM6VHZVtjac2qB3z7yrpvbegb4nX5n5FT26+NH+g6TrfyJd9f1BXhhGQs9/Wjrl7PP9Xu913+7xL9T++vZ3zgv9U3fAx+nnOnod8xKO0/P9vvoO23EG8d/L/T+X5+O0tLTos88+kyRdedWV8vH2ubT/7gOsfbj+u/fcrM49o9C0FL2V95ZeOfGKq/2u6XdpTfoavX/mff0u+3eu9q6giakUIUlOh0PVJUWd4VLH6KXG6qrRLgsYNI/BlPl88OVp2sGewZfbKK2e/foMxbqfp1vw1e1YYzHsYiqu4eEWPtg7ggWHw97RZu/xvTOwcHh8r3ffvo/joW+v9xzdgg67HHaH22vPxzm/3RWc9HlOu11OZ999ba2tstv6X+MWw8MVNPUIqVwhVF+BlNv7HUGXK8jq9r7rHtsZdJ0/do/jmjwdwz1Ac+3TGaAZjMYxd+/swj104AiT0MtkD5Mkz4HS/UviXGHSAecUvbSzsNd+f3fDNH3vC+kjVifGLqfdroaPPlbVs8+qJfv8Wgb1gUkqjluusqgFcpj6Xy8pZmqwZq+IV+r8SJktpuEuGUPA2mbvWJvJw5pNhTXNamgZ/n9wh/pZXCOaErpNoZcY6qv4UF852tu0+YP35W2r1zXz0uTTWtl7dFNdsdR4TnIO75R/vfhF9A6Zuo9yCoyVTBZX9+b2Zn2Q/4E25GzQwYqDFzy8QQa3h7gBdrv8O//J4vQOkrwDzncewANt6eIftvc6zmAe4vfzYHw0QoWLCQMGck4AF2YxWhTqE6ogryAFegW6vgIsAW5tAV4BCrK49wn0CpTXBf4tgvHP6XSqvqKsM1jKVvGJo6opLRntskaE0WSW2csis5e3TJaO72YvL5k7XzdWV6mmtLjXfiHRMfIPDZO9vb1j2j6bTXZb5+v2djk6v9ts7YzEmsQ8TjE4oODr/BpbfY8G6z5q6wLBV2c4ZjSbdfCDd/T5a39y1djfVFyLbs/sFRB0D0z6DSF6hCr9Hqe/vt3P5SEEcQtJ7Pa+wxqno9/6eoY1biGJq2+PIKZbXwBDp2doNZigyy3Ycm137+seYPU6Rs+2HsfM3vKx9r37hqvWpZl3adFta7V/01va/uofXe2TOUiSCJPgAWFSh56B0t99IVXJzSe1q9ygP+f1frD/8DWpevSmGSNZIsYBp9Op5h07VPncc2resdPV3m72U2nMEhXHXS2rX//ra/kEWDTzilhlXB2v4MiJM5XPZFTX3N5tRFPvafRabcP7PysGgxQV4C1/tSjc26lFs6ZqSlSQa1RTTJCPTMbOTwrZbVJDqed1m7peN5UPa70erkAKjPG4hlOu0aANVQf0dtEnqm2tHeG6AGB88jZ5nw+XLIG9wqZ+270C5WPyGbOfMEXfGmuqVXyiM1w6flQVhWeHNRTxGOpYLJ3BjpfMXl4ydX7vCHy69+m9j8nLSxZLR1+Th76Wznajse8PY/V8uO4T8P/bu+84KcrDDeDPlC3XO+XoHFVR6YpSRURFbFFjS9QQElGToCaa8ovRNFNsMYkNaxJ7QxRFEUWwURWQInDI0eF63zYzvz9mZ3Z2d/Zu79gre/d8P59lp7zz7uyx9+7ePPu+bwY8dbXmerwXilRVCYVOwXs1InxSAn4o/gAUJbTN09CAzZs2AaqKYUOHQhQQKhfQj1GNIMsMtSIfxx+9zxJ4MewiO4IgAgBDEiKiVujuQRLAMIlsMEwKiQyUzuip4ItjIhQt/I/ma07rjz9edFJ7nx4lmcbNm1G+6AnUfvCB+YedBgGVOcNwsHAKyvJPhiY00QNJAPqfkIeTpvVB/1F5EEVevOlKNE1DqTlfU6MZMO0P9nQ6VOWB0sYTNsmigMLslNAcTbmpYXM35ac7wy8aBrz6HE1m0GSdwym43ljZpuccySPI+Ci/N15zAWsc/B0hImpLsiDHDJqMECrdmR7Vc8rYl+pIhRi8sEkd59OXn8MXr70Qtb330BEoHD4SDmvYY4Q/Tv3e4QgtRwdD+jZR6lw97DvDROrtMfebMTxXeOAUHkiZPa2s+yN6ZKmBAAJmOUtdEXUEmgjAbIMvv7/5J0FE3Yo+DJoIURT1ZVEI3utzBYnBYdIEUTL3i8FjBNFyM8pa9olmfZJZxtwu2B0rmY8viiKO7f0Wh3eFrg9KDkdYO1YwYBByevfR2zwlAFVRgm2oEr1NUcz2UlUUKIr+RQRVaeeh6KlFGCTpGCZRFIZJ4SIDpUjnjuqFR64Z145nRMnOW1yM8ieeRPVbbwGWcYa9ziwcLDwDh3qfAZ8ru8k6MnLdOHFqIUaeXojUTA5R0x0EFBWHqz3YX9mAAzZzNh2r9bb5OaQ4JEu4lBI2d1O/3FRkuh3RB/nq9cAprHfTgeC2YPDkbd1E4c3ZL8v4XX4O1rXBBRoi6j4EhILpyF44YfsQEWBHrcYua613+D4/dvYPvbcHtAACavPDpA7fr+GbfskVoouCiHRHelTQ1FQAFTmcn9RE7xNqXqJ66CSLzjInQnuESZ2dpmnmBVUziPLbB1rhwZd9oGVcrA34rXVFh2jNBV96GT/ng6HjIkoSxGBoIUqSGVQYy6Io6YGFpN8b4YUoiWZ4IkqW7WFl7eu1LWt5vFhlzTJmWbvHDD+/HZ+uwqbl74Ser8MJ1R+aP3j83O9gzOw5YaGN+fiW0MZ8nGCZzqq9voRgbReNgEm/twmkAgpUxRJINRFShcoELMfEqDeyjqbqDW43zlNTu26PR9nlws/+81pHn0anwDCJojBMivbPFbtw3/KdUdvHD8jBqwtO74Azoq7Af/gwyp9+GlWvvAqtsdHcrgoiyvJOxsE+U1GZM7zJOkRJQNHYHhg1tQ96D8niUDPdmMevmD2ZDlhCJqOnU3Vj23/7MyvFEdarqV9OCvoa8zflpMAda+4vT02M3k2WACrQaH9sE57MysCDuTnmepqqot7yR8pFtXWYXd9grlt/e6J+kzTrvvCPOZFlm6qnqd/QqLJaE/ugAaIMiA4IoqwvSw79JsqApO+D6IAQtuwI7pND66K+TRCDx8rOqOP0Y5xmvYLsNOuAJEOQnOGPJxn7xegL7Nbn0YIL802Vbe1F++bKhj9E6+tpqm1uqmyb1dOSeltZT2v/3+N5zMbGRiz/YDkECJg1axbcKe5mz6/J/69O9N5Zett3UbZ0Mwq+MxH5f3oWT255Eg9ufNDcn+XMQrWv2lz/7rDvYmq/qZAe/Bty3y7Gvpm9sfUH56PWV4s6Xx1qfbWo9dWixleDOr++7lXa/ssH7SnNkRYzcIqcO8qu95RDsvkiRDfRGXrotKd4n1d7PH+GSZ2fflE3InCyDjEYGWjZBF8BSzAV1SssKtCyC7XsjgvuUzog7BKEqBDEvA8LOSxBRWSZiHAjVrjSZNnI4CRGWb0+S91hgUgwrBGin0tk8NJUAGP7HDpxKJIIkW1k3ugJyDlhNPL9Dfjileg5u5JdZ/kSQjLQVFUPmIzAKiLEsu2NZQ3MmgvQjLriCLpC5xARfsU4NyUQaHZo2O78f2vVFrmBfNw1EHUyGe7ol7UsCnjxR6d1wNlQV+Ho3Ru9fv1r5C9YgMr//g8Vzz0HtboaoqaiR9lX6FH2FepTe+Jg4WQc6XUaAnJqVB2qomHXuqPYte4ocgvTcNK0Phh2ai84bV6zhkO7q1A4JLvF59va46h9uB0ShvRIx5Ae6bb7azx+HKhoRPHRKqz44itUeAWImQU4VO3F/opGNPqPv0t9daMf1Qf9+PqgfU+jggyX2aOpn9GjKRg89c4bDrnHSPuKNU0fLs8Ml2zmcKo5BCihb8NFBkkLKyoxr7o2bPvijHQM9Psxr7o26iGTg6/5Ih1NDAZLkgOQXJZlpx5aSc7Y+8PKGNtcMfZHHGfdJkfWG1FHF/+DvysKSAHIgv4+J4syHGLXCAMalj6LsqWbAQClr63F+saz8eAph839C8cuxLyT5oUFTC/tfAnjX1mFAe/sBwD0X3EYU87LQ+qcW2M+jlfxRodN/pqwbTW+4Lo/PJCq9dWisRXhfluq99ej3l+PI/VHWnW8W3K3aJ6oyP0uydWpAsl4NXXxy7g39hv3yXwBpSUX+7ri86eWEwQBkuyAJDsAd+cL+zRNM4OtgGW4wi/fexsb3n7DLOdMSYHP8sXFMeecj5POnN1MAGMTEHWDkISaF9mWnnbZ1Shz6Ncpxs65CA6Ho0u1nfG8d/A9I0QQRciiCDiS87O5qipYu/gVfPrS/8xtrrQ0eOvrAXTv/9u2xjCJupwGX/RF1oCqYdHqb7FgelEHnBF1JXJODgp++hPkzfsBKl9+BRVPP43AsWMAgLSGoxi2+zUU7XkLR3uMw8E+U1Gb0d+2nopD9fj4hZ347PViDD+1F0ZN64O8PuHBwtq39mDd0r2YdHERxs4eEPc5bnyvBJ+/UYwJcwZi4tzBrX+y1GEy3Q6cUOjAoBwH1H0aAA1nn30KUlJSoGkayut9YcPmHTDmbqpswMHKRgQSMF9Taa0XpbVebNxXFbVPEgX0znJHhUzGckFGDoTUXKD3yfaVqyrQUIZXP1yDp3c+j325X5u7jCAJgHlvBErGffIGSp2cGtBvnXlaBEEKBk52YVQLwi/bYCtW+BVjf6zwixdvuoXUOdeifslbSPt4KwBgwDv7cWGDiDcniWaQBMC8f3Djg7jwcxUDVu4366ifdiJS51zb5OO4JBdcKS7kp+S36jz9qh/1vnozhIrsAWUNocx1S5laf+dqbz2KB55GD0obS1t1vEN0tCqEMm6pcmq7h1Hd7eLYgR1bW/ytcbvnXzh8JPqOOLGtTpOoRQRBgOxwAA4Hvq7ZiLE9x2Ltm6+GBUl2vQ2/XPY20nPzMfHCS7HxqH4cUTzs3jtOOnuO2csS6FrvHfwSQvez/q03woIkuzaU/7dtg2ESdSmPrCzG3977xlwXoEELDo1izKXEQIkSQUxLQ9711yHn6qtQs2QJyhc9AV9JCQBAUn0oPPI5eh/5HLUZA3CgcAqO9RwP1ebb2H6vgq9XHcTXqw6i95AsjJraB0VjeuBoSQ3WLd0LAPj8jWIAiCtQMoIkAFi3dC/6jsxlD6UuRhAE5Ke7kJ/uwpj+OVH7FVXDkRqPHjYFA6cDFQ3msHpHajzN9QhvlqJqOFDZiAOVjfh8T/R+lyya8zX1zbEOpacHTlkpDgjpPVA96Bj2VdoHSUjJARor7QOlKb/AvCGX6L2bzJsfCHhDy2H7Iss0sV/xRZTxA0pEvQGbY7rYUFSdlqYA/obOH3jFDKTsgq9Y4VhTvbqOJxxzApy35rit21uBy3Kuxy8m/BlnrqsAAFy9UsXk1D4459p5YWXnnTQPfZ5+KSxI+nBCLv6ecz1e2VuBCQNz2+w8HaID2e5sZLuzW3W8oiqoD9TH7AVlrDfVU0rROs8E1X7VjwpPBSo8Fa06XhIkpDvTYwdRzQRU6Y50iEL8gXN3vDjWd8SJmHTplfj81RdaNESN9flPuvRKBknUKT381cN4ZNMjuMFzHjwfbjW3N9fbcN2RdXjU/Q4WnLIAN46+sd3Pm5JLrPeOxsbo3spd4b2DX0Lofrpbj+3OhmESdRmPrCw2AyMAmNtfwbTeGg6lD8f9K/SL6wyUKNFEpxPZl16KrIsvRu3yD1D++OPwbNsGQJ++I7O2BCd8U4Khxa/jcK/TcLDPVDSmFNjWdXh3NQ7vrsYnGbsw8vRCjDm7P758fx+A+AIla5AEAJMuLmKQ1A1JooA+2Snok52C0wbnRe33BhQcqvKEzdFknbupov74h2PzBlQUl9ajuLTedn+GS0Zm709Qk7LY3GYNkj4f/FNM+v4f8Pl/fotJex6KDpS2PgG40s1v/HcKmqb36jFCpqjAKTLEsgu/IsoEIgOr1oZjPjDwakeaos8bFmgEOuuPXBBthiq062nV3DCEzYdjogL0qt4KVZAhlqQCKelxhGOuTh94TRiYi1mTtuHRqhocThNx9Up9EuMB7+xHWcq1yP/Ts2bZst9caw5tBwDPTRfx5qQazMrehgkD57T7ubeEJErIdGYi05nZquM1TUNjoFGfB8pXh1p/rW0vqKaG6vOrnSc9VjQF1d5qVHurmy9sQ4AQPm9UEwGUeLAGxc+/ah47/vLvYszcC5usv6tcHDv9sqvR/6TRLT7viRdempTPl7qHjUc34pFNj2BUcSY839gHSYbI32XPh1sxangmHsEjOK33aeyhRDF1x2CFX0LoXrpbj+3OSNC04/1+MnWktphIKxlFBkm3zizCgAa9h9LZZ5+NZ9YcCtt/xzkjGChRm9A0DfWffYbyRU+g4YsvovdDQGXOcBzoMxVl+ScjaiZ6KwHI7pmKqiMN5qZYQ97ZBUktGRqPOqeOmPC5zhsIDZtnCZz0bQ2otxlKtKWklL1IHfiouW4Nkv7ivwKPKhdAFABVA26QluCXjhcBRM+t1M/zC6RrQyEIgCgIEEX9XhAEiMY2817fLxjLglE2VE4SI48N36/XYT02/HGMuqUY5xH52OF1Wc7TLKufU1P7rXVEnbMY/tgSABEqRNUHUfNDUv0QNT9ExQdR9UNU/ZC0AATVB1H1QVD9EBU/BNUHIVhGUP0Q7HprNRuONddzzNIrDPxoSggGXpGBU3O9tZobhrAl4Zi1TPT+jeVbce37PzBP94YPMs0eSgBQcMkE5P3pWZT/33UofW2tuf3DCbl49KzQXHXPnvMsLwo2w5g3qrkAyq6XVK2/880b1RKjd2Zh9O5srB9eia+L9NdNipzSbA8o7Yu9qFq+EX3OnowTLjgvbJ9LcnXws0o+HfF5jLqmfz92R1iPJPeZJ+KmH/81YeWJAOCzV56zDVaaa8uMi/STLr0Sp192dbuecyIc2LG1VYFQa4/rDFo7/GWyDpvZkh7brSnfFbVFbsCeSZT0IoOkO84ZgetOLcT774eGuzOCI6MceyhRWxEEAelnnIH0M85A46ZNKH/iCdQu/yC0HxpyK3cgt3IHPK5sHOp9Bg4PPBNeuKMr0xAWJAH2PZTsgqQR+WUAGCZRy6W7ZIzolYkRvaK/ha5pGiob/GFzNEUOpedT1GYfQ2kcCG/pTLgKVtgGSYAeJAEw13/peDGsh5K3dCa2leUBaN1QRRQvEYA7eAuRxIhQyyZ8iyecEwRAcggQncGy0CALGpyCH04olvsAHAjAKQTghL5s3JzwQ4YCJ/z6Ni0AObgsa4HgvR8y/JC1AGQE4ND0ZcnYpvkhBW+yFtCXVWObse7Tl1UfBAZebU9TgYBHv3USmgaofgEBj4gRHgl3SulYg1TMKvdjWNURBDJEBGr1P69KX1+H0tdHwvqlEW2ggML8TFzpz8QLjgNYkHkixu78CNjzBeBwA3IK4AjeZHf4vSMluD9YrhvNzZWIeaNaMldUja/G7EFV56tDnb8uwc8ofl8Nq8ahfA+O5Ya6OTYGGtEYaMSxxmOxD3QAPU5z4Zj8HPDOc2G7nKKzxXNFWbelyCntPm8UUVdwYMfWsGBo/fBKfO1+B+4tw2x72z+55Uk86n4Ho4ZnYvw3+pepPB9uxYFpyXvhm9pHd+3d2drzTtbnawybaZ2rMx5PbnkSD258MOmGzeyOve46K4ZJlNTsgqQF04tsx4JloETtLeWUU9D3n/+Et7gY5YueQPXbbwOBgLnf7a3C4L1LMbDkXZTln4LDI+agXOrdbL2fv1GMmrJGTLtqOL58f19UkNR/3/so+dn9yL/pJhT85OY2eW7UPQmCgNw0J3LTnDi5b3bUflXVcKzWGwqZLIHTgcpGHK5uNEOiH1Q24mz/UYz16hfIrEFSpMhAaYzHh/frGvGobWlqD4qqQe+j1tahigD942rn+sgqQoUDAbiMAAsBOIJBlzXssgu/XIIfDihhYZgRljmCoZjTUqcDEfXGeBxHxDZZaD7YJT0gUnwCFI+EgEdEwCOGL3vDt2tq6CL6KACjoAKQ4IHdsHzhF9yFvRpG7N2LE5aruCBHQV7mZ6jIWgVXlh+u7ABkVwv+zySnJXxyhwdNDjfgSA0GUU3tiwytUu3LJ3l45RAdyHHnIMcdPc9gPBRVMYOnWL2gwtYjQyp/HVSt9b+P1iApEcf5VB/KPeUo95S3ql5ZkPV5o+KZK8pme5ojrUXzRhF1FdahuNxnnoiv3e8AAB7c+CAAhF0MNi72AsDXRTWY3GcyPB9u5VBcFLfuFqx0N8awmYB9GxKLtW15ZFNyDZvJ4Qw7j871lzlRC6zbW9HioevsAqXxA3PadOJjIldREQr/cg8KfvoTlD/9DKpeeQWaJ/RNa1FT0aP0S/Qo/RL1qb1wZNQFOJQ+Cn419nwRW1cfwrZPDsE6UGnh0Gw0rF2LTSs+h5x/Ciqfex/e4RORPeFkuFIdkJ0iv0lKbUoUBfTKcqNXltu2XfUrKg5VNaJ6x2qcvPxFcz6ZZ9Oux6veOUBd7PmarIHSWK8XYx0vYr06DOu1EW3yXIiaokKEF0544QxttMvVOrADkxF4OS2hlcMMt0I9uUJBlqVsRDgV2h4KwsK3BeA0t/stIZilx5hNMNZWgZemAYrXCIBEBDwSAl7LcsR2qO373qgGREilIqpKHWHbJbcCd1YgGC754coKwJUVgCjbvJCMISJbOXdPi0kum6DJrhdVU2GVTQ8ru7pkd6cKryRRQpYrC1murFYdr2kaGgINUb2gmgqgIrcF1EDzD9ROAloAVd4qVHmrWnW8AEEPo5oaqi/GvkxnJtIcaZBFXsZIpO42TFJHsvYYcW8ZZl7UfXDjgwhoAVwx/Aq8/M3LeOjLh8xjjF4H7JHUOnx9U1c01uPFworK0JzCcQRK1iAJ0IeaH+vprBO82uuuve46G86ZlOS6+5xJDyzfiX+s2BUVJDU3FqzRo+lnM4fillnD2vWciQKVlaj8739R8dzzUKvtLwIpohPHBk7F/pxxqMvon5DHFWUB7lQHXGkOuNNkuFIdcKfKYeuuNDmqjDNFhigyhGprDRs2IHXcuLBt8YzRb3dcUvjoHuDjvwBn3QVMviWqp2maUwqbn+n8k3tjxvAeGLrrCZy84wF8PWQBNg+9EaqmQdM0qBqgGveqFlq22a9pGhQ1tBxe1iinQVGb2h+8tzyW3eOoUY8VvV9VQ49pdx6qGjpWiXw+qs05RdRD1FlFBl5G6KT3+FLCel65NC8yvfXI8jYg01OPDF8D0j2NSPM2IsXjRarHA7fXB5fXD6fXD6HLvPY1ONIUM1xyB++dGQF06c4dRnjVbDAVb1jVRF2dLLyKpGkaPIonaq4oI3CK6iXlj547yqN0nuEiEyFVTm1RCBW53Sk5m38Qi648Z1J3GyapLUXO72a92W2r9dVif+1+VHorY9aZ685F/4z+yHRlhr2WM52ZUUGrsZzuTIdDdMSsszvh6ztcV27LuqVPHsCT6+4Lm1M41mvdLkiaN+E2YPIt7XGm1IE4ZxJRhFtmDcPkofkt7lm0YHoReyRRh5FzclDw058i9wfzUPXyy6h45hkEjoWPey+pPvTe8wF64QPUZAzEwT5TcKzHOKjH8YeBGtDQUONDQ03s3h+2BMCVEgydUiPu0xxwpQaDqTRjXyiUkhyd9+JMZ1L6z39h9/+WYegPL0T+/PlxH1e2aBF2PfEmhlxzTvINaTjjV8Dg6cCASTGHLLVuf3vzYZxYmIXvXHEXUDIbowZMwqiOOfOkotkEYFowlFI1DVpEkGUNqhQ1ItSKCsSig7DI/ZqGYJhmdx4JDgHVyMDNfn/ofC11qTYhoPU8bPbb/Rxi/byifwaxgsnYj2P/s9TMoSOTkqoh1edBjqcWOV79lu2tQ7anFjneOmR7Q/eZ3npInWiuqkbZiTpXCupcKah3u9HocmNE/T5kHAvNdSjIKrRA6H1QFQGxxZ2xBPjrZfjrZdQdtGwWNbgyAuYQea4sPWRypCnoEp2QFa9+87RTzysjVIoZTMUxHGBLgq8W/CcJgoAUOQUpcgoKUgta9fR8iq/pAMpY99sP3dcQaGj+QdpRQ6ABDYEGHG042qrjXZKr+SDKsu7UnDimHINbcMMT8MCtubtEb//uOExSU1oTBlm3+9QW/o0VhwpPBSo8LZ8fNEVOMQOmyOAp5jZHJjJdXaf3H1/f1OVNvgXzAMASKDU3bCbAIImOX/K/Q1C319pAiEESdTQpPQ15P7geOddcjeo330TFE0/CV1ISVkYAkFW7F1k79mLo7texbeT3UZ7XzpfQNcDbEIC3IYCaFh4qO8Vg4KSHTu40a+8nI4SybAuWcbilLvFHejwaNmzA2qXfYu+YW1H98mKMx6K4AqWyRYuw/uUtKB5zKyqWLsWM05Owh1ITQRLQ1Fx3k9r5RJOXIAgQBEBE9/h96q6OJwSMFfI1GwJGhXPB/T4fUFkJoaoCQlUltLJSHN2xDe76OvR0SHDUVkOqroJcXQmprgZCJ+o+53Wloj4tEw1pWahLy0J9aibqjFtKJmpTM1CbkoXa1Az4JGdYCHjzF39DxrehC+5bRw3Cz4fchHt3/xsnfv0tAD1I2jmsL/6bNxsDao5gYPDWv/YonC0dxkwV4K12wFvtAPaFNvtlCTWZaajPdMOT5YIvywE1U4KcosIFH1Lggxs+uIXgPXxwCX6kwGuuS12nW1f8Ah795qlqn8czw6tYwVQcwwHGFXzp907JibyUPOSl5LXqdANqAPX++rBh+sIupPubHrqvzlcHrROFwV7FC2+jF2WNZS0+9m+v/w2yKCPTmYl0R3rzoVTEBfx0RzrSHGmd4nPu2J5jsTB7NB6s+gpAK4dJyh7daS60d8YwqKM0BhrRGGhsdeCa5kgLe003FUhF7kt3pEMSYw/X3l666zBg1DVomoaAFoCiKlA0BQE1ELpXldC+URdgsrcCx7b+B89nZQLQX+v7avfh7AFn491v38WbxW+a9TJIokRgmERE1MFEpxM5l12G7EsuQe3y5Sh7/HF4t22PKneo9+lhQZLsEBDwh/4wT6/dj/Q+eVBzesLTEIC3wQ9vQ6BD5+wI+FTU+byoq2zZh3BBFEJD70WGUBG9oiLvRSm5ekNVZRVh78A5AIDioouAOAIlM0gquggAsHfgHFRlFSG1Hc43kZoKkgyxA6Wm58gjAoBDu6tQOCS73Y7rKIIgQBIACQIcbXD9RvX5oJSVIVBejkBZGZTycgTKyhEoL4dSXmYuB8rKbIdv7ZX4U4qblJUFKT8fcl4e5Pw8SHnW5TzIwX1SXh5El6vF9R/aXQXn0z9D6YZd5jYjSMpOdeiBEkKB0rCdB/DPCzfh6E/+jrQ+aWj0K/B4fKjdtx9q8W4Ie4shl+yBa/9euI8dhqC1rCuTI6Agr6IGeRXhX/+odKWjJKMXtmQOxN7MXtib2Qslmb3gkSOfswYHFEvQZAmgIkKosGVzXQ+mXOY+v7kvBT64bI5jeNXWhNB8VjGDqaZ7WMmyG1mOVGSF1ZENZPaKDr5kV1TPK1VTUe+vtw2cIi/y2/WcqvXVIqB1onmj1ECre4wAgCiIZhCV6cxs8RxSCbtYX/I55n25BMjKiOuCu+23279dAoz+HBhw/F/0YRjUedT761Hvr8eR+iOtOt4uaLWGTrGWjde3mIBxXNdpw1FaNgcLsbTVr+/SsjlYpw3HhOM+m/bX2qHQO9sQ6qqmhocnlmDF2G4ELIpmXy4qgImoQ9EU+FW/udzsY0Tss263rtvuj3Fs2ONoCtQWfv5DMEgyvL7rdby+6/WwbQySKFEYJhERdRKCJCHznHOQMXs26j/9DOWLFqFhzRoAQEm/WWZwAABFxYsxYP/ysO11Gf3Qa+s7GFTxGQSnE4LTCTidUFwZ8LvSoTjS4XekIuBIg19KgV9KgU9wwy864YcTfs0JnybDp8jwKRJUreO+MampGhpr/Wis9bf4WKdbgissYIqYE8oyFJ91eD7ZIXbIt0QLh2Rj0sVF+PyNYgDhgVLaNddElY8MkgBg0sVFSXXhG4gvSDIwUKLWWPvWHqxbuheTLi7C2NkD4j5u43sl+PyNYkyYMxAT5w5uwzPsWKrHg0BZMAwKBkGBsjIoRjBUHlpWa2s7+nRDBAFSdrZNMBSxXJAPOSdHfy9sI8ZrrKg4C8YrzAiSrMN1/nxZeKC0aWMOiqu3hb/GhvQAzgy/eKN6PPAWF8O7axe8O3cF73cicLTl3zTP8dYhx7sbo8t2h2335PdCXWF/VPXqj8oe/VBa0BfHMnujXhPg8Svw+FU0+hU0+hSU+xU9/DLvWzxmnw0NTgT04MoSSLnh03tLWUIplyWESonqXWXZbqnHZQZZXrNesduFVxoQaNRviD03S+JYwqtgMCU6UpAhu5HhSEHvJue8ygNS+gKZ4cGXJrvRKImo1VTUIYBaNYAazYdaxYfaQCPqAvW2AVRnDRpUTUWNrwY1vhocxMHmD7AR2XMkVi+osHVnulneITmAAZOwesDNmFfyLwBo+TBJ1bVYPeBmTAkGSQyDQlLklKigxOdzoWLnFkzDN8hUVGSoKtYNmoCldXvM4zKcGaj1hd5zz00bjPEl61EjiqgVBazCMOQOPREOR/jPusZXA7/a8r+b2kqdvw51/jocrj/c4mMFCPa9/oI/z+aG7UtzpEEUREwYmIv1s25H6XI0GyjFCpKyZt3eaUa0MUIVv+pvMoxQVAX+Rf8DnnoJgRuuhP/K880go9HTiB3+HVA1FeJ+EZIshYUjua9+jN7/+QAHL5+MfZdPavIxwoIau+AkIoCJFeaEBT2WcKfVoQrZYpBEiSRoWicaW4JarC0m0uoKOLEgdRWNX32Fzx9fhe1qqEeSESQZYgVNx0MDoIoO+B1pCMip8MvBEEpODW1zpCIgp8HvCN+vyMn5+ybJYnjAZHvviCrjSpEhiMcfQhkXsA1FxYsx+uKRWNOnEIDeltX/73+2QVJLLpR3Buv2VuCyRz8315sKkqwiA6hXbpjUaf7Ao87l0O4qvHHvRnM93t+TyN/Di38+NqmCWrW+PhgMBcMg63JESKTW13f06YaIIqScnPAwKD8/1Hsoz7KcmwtB7vjvw0W+xoqKF6Mua3dYkGQw2q57d/8b6dVDwtrw1rzGlOpqPVgK3jw7d8K7cxfUmpYORhuDLMM1aCBcQ4fBNWwoXMOGwTV0KBx9+kAQLXNAqRq8ATUsYGr0hYdNjX4FHl9wnzWIMrepwdBKP9Yo57WEWI1+xXzMPgERB+WWX1gKHRceXqXY9q6y63nlN0MpPaDyhx1n1BPe86q7hlftTYhrniqv7EKtJAdvIuoEATUCUCtoqIWCWk1FrRZArerTb4oHdYoHNYFG1Prr0ah4OvqJJlSKnAKnmIqKWgk91UaM0I7hmCRhpysUwJ/Z70ycNeAsfFDyAT7c/6G5fZjXhwJFwQ6hAMfEFOSkK/AodV0+DLIGd5HbrevpznQ4Ysxz+8jKYlQv/xt+6XgRT1p6hAHAwrELMe+keTGDu7/4r0DWrNttPzNrmmaGebbhnd8SPHlrwrYb2zpT77/jIUBAujPd/D+prXdALDuIDOdhbLP0QJ49cDZmD5yND0o+wDvfvmNun1lfj5q6UXCNmInTirJDQUhEr5PIni1N7W8qgInZCybi2HiHCh2+X8Mf/hd633xuuog3JzXf0+vCz1VcvTL0/vrbayR806/jh+Ok45euqPh82A8ZJHVTbZEbMExKcgyT7DFMoq4iKmD4dgkGlLwXVa4tAqXWUgUxKoAKOFLhDwZPAdm6LbyMJnT8+Notp8Epa3A6AZcTcLkEuNwiXCkSXClyqDdUuhPuDBfcmW64s1LgzkqBnOoOuzBnFyiljpJQOX06Tj14CF+9sT3pgyTDA8t34h8rdsUdJBmMi7I/mzkUt8wa1oZnSMmsYcMGrPrlsy36fbH7/Zv6l2s7dKgPTdOg1tdbhpizD4b05XJoDQ3NV9peJAlybi7E3FxUahoC6enod9IouHv2ih5iLicHgpRc7X/D0mex6sENYa+xj91+zLhoiG2b9sjKYny0eDemeUIXGIuKF2PqwnFInXPtcZ+PpmkIHDum92DaudPsxeQtLobmTcx8D0JqKlxDhsA1bCjcQ4fCNVQPmqS8vDbt2atpemi19q092PL+fgyb1ReFk3qGek5FhFV6MBUKueSdtcjZ3YAjfZ3Y29sRHnZZwq9Gv4LE/2WswWX0kAoGUna9q6whVOS8VpI/D+nOfZZ5rfxhx1kDsRQhdDH/kG8kCp3RwyYni2+PnYRBPba023HN8QOoE0XUiiJqnSmodbpRK7tQJztQIzlQK0moFUXUiQJqBCEYUqmo1RTUaQHUap2n10h3kCKnxBw60G6ItXjDoER4/okleLfqMXxVEJrwbmHueMyb+7S5/uRb1+PBivXm+ujS/jg3+8e46ocXtMk5aZoGj+KJ6jUWby+zGl8NFE1p/oGoXUQGQ80FSi0t31n1qhmMI5l7mi+YoOM6C1HTIAGQNQ0KAJ8Y/X9nhNXU/bRFbtDxX+sjIiJbkRc2J11chL5b+qH8ieiyRnBkXNQy7jsiUBI1FU5/HZz+OqAx/uM0AIrktgmcLCGUI8XSGyrNDKRUqeXzXCSOAF9AgC8A1JnXcTUAgeAtNlHxwhFogCPQCIfqgUPzINORjZoUvTdScdFF6Ll3LQrufRGf5p6EI5aLlv3FEojvrsGm90UIkghBlCDKAiBJECUJgiRAkCQIkgRRDpaRJIiyBEGWzGVIIkRZDt/ukIP7ZEgOCYJDhhAsI8oSIMsQnTJEWQYkWT/OuizpZZq6uHjLrGGYPDS/xT2LFkwvwviBOeyRRE1KHTcO4y/fCLy82GwPjfbULlCyC5LGX35SmwRJmqZBra2NGGLOEgwFgyMjQEpUEJAQDgfk3Fw9AMqP6DFkXc7Ph5SdDUEU0djYiK+DX/A5pQt9wSd1zrXo/fprQHHoNTbN48CpXvs/r071ylAjgqTe/fcidc5DCTkfQRDg6NkTjp49kT5lsrldUxT49u0LHypv1y749u4F1Jb18NEaGuDZvBmezZthnRlLyskxey+5hgVDpqHDIKWnJey5VZTUYsv7+wEAO5cfQF66C+Pi7W24Wx8WsNcBHxZcMSpmTzBN0+BTVHiCQZTZ0yoQ3rtK36ZGbfMGrL2r9P0eyzaPX0F5cFk1QqtmwqvTG2Wc4XXgbbcfa93x9BrQw6uJHgmnedKx1V2J4pRjUSGUG96o3lVN9cpKEYI9siJ6ZVnDq0T6qPj72JZ2MU7e8yKmDH4p7uNW7/kuNqdegROK38CMov8k9JwcAHJUFTmqCgRqgYaWDf+pAKgXhWDgJAaHLbPehLD16DIC1A4YjrmjpEhuZBhzSTnSkeFM0+8d6ciU05DhMG6pyJDTkCmnIkNO0bfJbjgEGdA0QFP1GyzLWsSyqgGN9fr/aZPHaE3XZW7XYtZT+uoqDFpxBAPG7MVXBfoFX33uqdeBmgZg0BRgz0rM2708bC6rAbv3YtCXj6N0+3MoOP+UJh6/uXMzbgjbJ2gqUoK3HmHHwb4+s04R0DKhaelo1BTUaIrew0/Qg9QaqHqoat401AjGvRYMXYFaAVC7z8u7zb05SYQDg3H5Sn1oWyMosguIIoOkl6cPwZuT9rbLeSbS+P3nYPyBc7Gu3xJsK1wOWQMkaJCC99Z12bLe/8jZGHDoEhzq+RaO9X4ruF8PZiQzpAk/1u4+6jE0DTJg1iFFrEful6PKGduMei37IEASZciiAxpEOGUnIMp4Ms2BB1NDv0hZioLq4Je1Iod3XLe3gn9PU6sxTCIi6oQO7a6KCpL673sfpU+EkiQxMzNsSJvRU3sgu08KNqzVE5zioosw5NrzUJDhherzQfP5oPn8wXvLze8L7ff77csEb6o/uo6WXoyKRQAgKx7IigdAyyY0VkQ52BsqLarHkx5EWfelmdsCcgqQgAleW0uVXPBKLnhdOTHLHO05EUd7Tozavk8dgH2etuqVZARhzVzE1lQIwT9cw+9VCJoGILgevNc/2hrL+vrXgF5G0F8DgqAF7/WHEITwGwQBggB8K+gXGIXguiAG10W9oCAa2wUIoqjvFwUIgqgHbcFlUTL2W7aLRkCn34tS+LpxE2XJDOnMcoLlcQX9Sennhah9QnAfzG2We8t+QdSftyha6ouqN7QcVkYUoh8/jsc06khm+fPnYzwWNRsoxQqS8ufPj/uxNE2DWl0dCobKSmMMMVcOpbxcbzs7CcHhgBTsIRQeEuVbhpzT94lZWUn/ukiUdXsrcFnBj3GJuBIH3H6zx1E8r7GP3X4UD3Th9bwf45U2/mNekCS4Bg2Ca9Ag4Oyzze2q1wvfnj1mLybPzp3w7tqNwOGWz2+hVFaiYc0ac55Hg6OwMDxkGjYMzkGDILZiHqvs6mIUFccXDhvsfrezq7MA2IfEgiDAJUtwyRKy0Ha9EjRNg1/RQsP+2YROjT4VNfvrUPGWHqBN8zgwaXAuagelhR0X1hsreBtSpmK8R/9sc6InB5vkVHxjDA3YRj2vIkOoqF5XwRDK7F1lndMKPqQIoTmt1NIe2J52MQBgc+oV8O1xYNygN8w6YjGCJADYlnYxBh77sk16KLWWBCBT1ZCpKtCjpZbRADQKQljAVCdGrovm3Dq1UnCbIKJG0rcH2rH9TlE1ZGgaMlQNGaoavGnIUBVkqioyFEXfpijIUDV9m+XWdr+BHaeh1Im1xd/H3jFXYXLxYgArMGh4NeZVB4PJXcv0W5Cx/dtvsjC5eCY2jrkIFVuXYobnAaQWdJ7PEYD+GT41eOvViuM1AA2CHqhaX9M1kv56jg5fRUtZ/TiNn09ME/adg3yciyXTFuOCj/Uvl169UkW6qmLlxFDgMWOthnNWh/4W/nDKTOTjEly05y2U9XorLOCQADgi1mMFNKEgpGUhivkYNuGNEapEhzdAqXcEllScqz/3/Rfgp5XVGJv1NiDKgOgAJDm0LEqA5ABEBzaWTcfnh/XPRoVH5+KmvHoU5pQGy8nhx4XVYewzloP1io7gshy6Wddtl63nFMdjiTIQ7HlkHenDmbcyenhMn4wnnYGo+cJ85dOTeqSPb5euwaA5p7bbcRSNw9wlOQ5zZ4/D3FFXYJ08vv++91F63/3mvoLbbkX+/PkoW7Qoavu+/me36+TxWiAQCpusgZXfGliFB1Axwy1/M/stoRb8/vDHswZccb61aRAQkFPC5oayzgUVCJsjKthbKrisifw+BnVtengXI7yyhFQQIsIoazgVXIbdvoh1CAgGZk2VtdQXFdCF1mEp6922FUd3l6Ema4j53AqHZqNXURaO7qnGwZ1V5vacih0oPLFHsEeSBs3jgdrQAK2xAVpDg77cUA+1oQFqfT20+nqowXUoAT0wDbY/RsBqXL3V1xFc18LK6t8Kjq+sYFwN1lQzoDXKGvsEWYaUmQkxMwNyZiakzAxImZmQsoK3zExImVmQsjMhpqbqP/dgoisAoXngBH3uARhhLiwho7nN+D+xL+vxevDpJ58AACZPmYKUFHdYWBlZh/UxrK/B0LqA4CGhssHzNs9BNNZDZdsiBLP+EX+qV476EsjY2QNsexmvcQU67R/xSm1tqBeTZbg8pbq6+YPjIctwDhwA19ChcJtB0zA4+vYNG/bVTtmiRXHPG5iIkLgzWHXnC9hyrKe53tLhOkf1OIoxv75U7yXlj+hxFRFChbaFynmsAZelx1XY/Fd+BX4lsZcU5h3Yi9z0keZ6Rd12PNl3IASo5pxXKfCaodS5++sgp4dCQkfdZ9gzoDJGT6tQmGUEWeYwhBGBmKuJ8CrZaAC8ghAVQNn1jPrK5QqbO8kwzOvDGK83PPhR1G4TBh2vldrJ2Hr0bnO9qHgxxue+hvyRdTGPKduejvUV3wlr907s+TtMFza35akmHRVAvRAKUe16/hnbvnY5UWzzpYaCQAA9FSWql4ms2Qci1qAkMhBpqoeKXcgSeW+WazJEsd9/zDcSb1T82XxeJze8iPy1q0PP85Qa5I+sQ+n2TJRtSje3l06aiS2uS8z1iwc9gsLMQ8cRkljXbQITS6iTiOBm1Z/fxpbSQvP8W/p+eVKPo5j6+yvjebl1CtY5iJ15K+HqEQqiF1ZUYt6E2/Q5kj55AE+uuy9sfjbvsXPgK58OIPnmIP7oty9hW2kBTu5Tjim/vSzu41b/4RVsPpiHEwpKMeMP323DM+x8OGcSRWGYZI9hEnUVh3ZXwfnRK7ZBksEuUPLNuCypJo1PJE3TgGDAZYZN/uhAyja0soZe/tjlVK8PAb8Cn08f4s6riPApMnyqDL/mgE9zwi844Rdc8Itu+KUUs8eUIrM9IiLqMEKMoMkSSIXtM8oKluMt6wFVg0PS0yu/V4Hfo4Q9lrUnSHquC1n5KRBlEbXeAHIzXZBkEZIkQDTuHSIkSYQoC5AkEZIcXJb1npSSLEYsG8eGykmyADF4bGi/vq01NE1DoLQ0NEyeETLt3g3N42lVnZGElBR9PqawofKGQi4oCAsC4wmUukqQ1LBhA0quviZqXsyWBGgD9i/HgOf+1+Zzv/kV1QyiPJZwKqrnlGUuK2vvqka/Aq8RYgW3Tdv4NZyOoeZjVNXvwKI+0c87VvCUCAJUm55XfjPIigyh9J5Xfsu+0HCA1jqM40KBWLCnVicIr560DK0GhA+TBAQvUho9aajF/q1cCZRebq43FSjZBUkoeBk3SS+0w5l2TS15fQc0EQFI5s0PCQok+DUJAUVCQJMQUEUomoSAKkFRRSiaiIAiQdFEKKoIVROhqiIUVYCqiVAUAZomQFVFfYRFVYSqCYAKqKp+r2kCNFUIDsGob4OqAZoAqBoEDRDU4JeQVH1Z1LTgvQpB1VCbfxqqep9pPq8+JUsx/Nt3zHUFAiTLB5TPRl4JT8/QELlfipVYnyFAcafC5ZDhdohwyaLeeze47HZIoW2yCJdDhNvcb+wT4XJIweOlsDrclrqMfW6HBKcsQhJb9gWgZHq/TKRHVhbjgXWPxg6SDDECpVsm3NCiuYs72rdL1+Cdt+rN9XgDJSNIMpw3N61b9VDinElERN1Mc0ESAHPdKFd63/0oAIAhyXXRJFEEQQAcDggOB8S0xMzXcLw0TQv2pPIj4PHCW90IT40HnlovPHVeeOv88NT74W0MwNuooO7bQ6ioltCQ1jOqLsnfAIcMwOEwh2QHBH3ZfDzB2p8heM+hH4iIQh25NMtllOP7bl3My78R1dZVeFFXERo+tOq4HrXlBAGhYEkWI4InI7CyBFBRQVcepJQCiOPOgDRRhCgBqK+FVlEGpbwUWulRKEcPQz12FKLig6AGIGqKeS+qfgiqAlELmPeiGoCgKRC9AahbvoZnS/iwZFJ2ttl7yTV0KFLHjcc4rxd4037Iu64SJAH63G8Ft90KBD/ftXS4zgH7l6Pgtlvb5cKYQxLhkERkuBNZ6xlhF4Cy00bgP6nlGHfHxWbotO3+N7HbEiQVZh5Cnx9fhHusPacsgZXR6ypyW2Sw5QvowwJqEOGBCx4E5+a0/k63wVdyjfDKGko13bvKOheW12ZurKaO88ElhM/DFXmh3biwbt1u3CdjoKQGPx+rEKFaBl1WIUCFaH52Npb1e2sZyzFa+LGIUa/1WEDAJGEdvspOQ2PVHADB3+tiYPz28EDJLkgSspZjIIrxtnJqjHPXg4nY59DE8wm7FyOen37uqt3jRR0vhv2MoWn6qI5GAKJCHxY7uA4VwSBEDZXRNIiqFlwGBE2FoAKiqurbLcGJaAYo+ry9kqrXJWoqRE2DqKqQguuQyyE7y3GHokBSgUFePwp8QLkYwDFRgqQCspKBFf6ekPwuSJoKSVMgqwokTTXvJc06xLsKCSqk2J8EOkb5ayhpqDFfPwcHzIE74DfnU7YGSSX9ZoUFSUXFi3FmsJxflFDlSkeVMx1VrnRUu/R7Y7nclY4qVwaqnOmodqXBLyWmT6JDEsICJpcswhkMpsKDLCOccuKU867Bye/8D0D4++WWA9XIm5Bv1le5oQwHPg4N6Wu8X2b/bCGco8ck5Pzbi12PpBPyrg8PkgBg8i04YU8FFpY/bbbhrh7L4MwbASB5wqRBc07FyRtDnws2H8wD/vBKk4FSZJB0cp9yDJpzZszyFB/2TEpy7Jlkjz2TqCuw63HU1MWQlpanzsnuW9eiQ4PqD4VBrZ3TRR91SwvOoasFw6jgvRrar1qWjX1GWVXRoCkKtIAC1R/QhzlUFKgBBZo/AFVRoPkVfZuiWpb1YzRFgaaoenlV1esJqICq6uUVFaqiAIoKVdWgKapezrzXt6mqqp+XqkFTFX27pq9DVaEaz1EN3aBp4c/f5ueglwmGccEyEIIzPAkCNH1ct+C47Pr47OY+iOFl9YmJ9D/UhdBy7DLWuq33YlRZY13f13HzfhERJZSmQlQDYYGToCpR20QB8MjpaEwNfelClASoluHWMmpKkD8oB+7hw8N6mZnLwfXIXmgIWw8N34iIcuHDLYZ2Rg3DaFO/YHNc+PbQcQ1r1qJ+1ceozBqG8vxR5vMbeFIe+o7MxcFvKvHtpjJze8GxDSgo34LM885F1lkzzSFBRdGYF1AfytJYF61z61nW9TkFYQ5Zaj0+tCxAtBzbFsNJ2l0ImvLby2JuTwRF1eC1zGNVVduAlas/hU8FTh4zDoogR/Susu9x5bGGWL7wYQWNnlwdSYRq9qAS8z6Br8cqc58RJNVpbqQLnqigqU/pyehZcWJUmGAELbFClnhDHDPA0KKDDr1M06GGXf3t8sWqyCFprY9q7gMmeB2Y4nWZZYqKF2Nc9muQhgHKN8CG6vAg6UuxEjtRZQk1FEiqCtlyL6sKxOB+OWK/bShillMgaypkTYVDU+HQ9HUHFMiqChlGneH1SGqwblWvQwzWJSrBe1UJDuFLHSWyp44RnMS7v6XqZXdY2GQEUdYQythX60yFmuC/YS7b+SF+sO2dqOf1sduPte4AJnpkc45LIPR8nzrhPLwyTA8YJFGIEVjZ96YyAi5rj6ywYy3LYb25bHp4OaT430c3Ht2Ia5dda64vrKhEadkcPKpcgDvOGRHW4+iRlcX467IduEFagoL8pWFt+bPnPIuxPce29kfeIeJ9/2/LzwnJhMPcURSGSfYYJlGyM7pqG+INhiIDpWTrqt3d2QVJmcO8yCzyoZd0Ita/vc/cnszftk42mqrqQycGgzMtEACC91pAAZTgdn8gtBxXGQVawB8sFywTLK8pAcAI3wL+0LISCJ6LpUwgADWgAMHQTlUUwK+Heaqi6tvN8E4P5fTgLhjCqZZyqgaoWniQFRFsRQdiobArPPiyCdQg2oRl1pDMvv7wY8Tw87GrzywTHvjVpvVBXWb0cBdpdQeQ1nBMv/RjGc/MWBdkB+ByQXA6ITicQPBecDoAhxOCw6GXcTiC4Z4RyAaDXMBcBzRzqiQjwETozhJsxlc2rKeNZjx0qKuiGZIa52CpQFPjLBualin6MQHzeCLq5gTo4ZKkDwUZnAYv4mZc1tciLvtrEPRveeg9ETQVgqYAmor6BqBBDl38EtRA2NyVab5SZMiNltMIbyvDLs1FXf7QwhYFaGFNmgBA01T4fHrPA6fT0Ux9NnVbQoTI44wvrxjbrOtaWJuvhe6NsmHr1jLRxwoxzlWABggBCJZeSk5Ng1PT4NVk+CHDiQCc8MMvCPAJglmfpsoAJP3/LPI5G/XHeJMQYv5smj8+dKzNNks9ghZaDpWLWI8oE/s8bOq3rcf+eLt91ZmDUZkb6lmXU7Ed2dV7UJUVvj23fBuyq3dZnpMlsDLXrf/H4ctNl0WLy4f/34XGQTDKR//fGuux53q0qzv089XM302E7UfE+vGW18NdwfJzCa1bflaWn8vxlm+PcSNiBUaxtmtA8PO1FLyPXG5qX4xlRG9TBAmNjhQ0OFLQKLvhcaSgUXbBK7vhlV3wSi54ZSf8khM+0QFVlCBCgAhA1PTfVRHQt2nGMtCzoRK9GqrgdeXAkxIKElRoEC0/cXdjOVzeShxJzcGx1Gyo0P+HjHt99EHN/J9TzW2I2qZBCz/erhw0qELktoiyggZZEiEHe4kbyw5ZgEMWIcsiHLIEhyxggL8YcsPDeDkzDdfUVCEFZ+Pe8klmndOGF2DGiB74bE8Z3t5yRH9MAXhmxFpsr3gWD+Vl4ceVlbjpkpeAAZMS8VJrV80FRQySQhgmURSGSfYYJlFXUPrPf6Hs3/9ucQ8jI1DKv+kmFPzk5jY8Q0okuyBp/Pn9cUTZCkBvy7avOtZlhu+hzkvTtPjCskAoFLMGYdYyoVAtRlgWCOjLNuFaVBkzXAueRyAyXFMs52Qto9f7bdZp2NXzLPN5yv46BByhiYdHZe/DiYP9kPPyIOfnQcrLh1yQDzknB4LNRM0UzS5oamxoxAfLPwAAzJw5E253SnjAZpQNu6YT7BVo1Glst7tYarkOFb5uuZAarDP8mpUlfGuurBZxsVYNf47GlYFd649i+2ehoVMcLgl+b2gOpcGj89F3RC6UgAoloEJVtOCyBjWgQlGC98Y2Rb/Xy1q2+cPLGvWogWDPUiIiIkoeYcEcgh1WLWGlcW9JLY0eLGFzOpr3wZXgst8bQACWIeg0NWxkA0FVACF4BhzxoHsxvgQS2XPZpsdyZM9msxezAEtvZaOncvi9GHxpGfOOiiIAQYBobtPMfcHvGQa/kCLYfClF31fy6S4cbsgyn0qftEoUTR+OPSt34EB9rrm9OwdJAOdMIiLqVgp+cjPSTp/U4p5F+fPnI3XsWPZISiKxJhQfObUHjry/1dxmzI9gBErFRRcBLy/GeCxioEQJIwgCIMsQ5K7zMXHjeyXYFRHEDq5Ziz2ZE83fu6+r+iNjgP1EvRQfIWwIMf1fSRYhBOe2lp0SHC4p1uFJbeN7JWFBkjHps3Uumz1flaHnoKw2fY2pqh44qQENiqJC8RuhVHhAZYZWRigVVjbimKiyGhS/GlVWDQZfdkGXNTDTGHgRERGFGL3rLZts3ymbLRBLxFxGEYGRJnbNz2YUBw1QNQ1Iys9mWWFrB+tzcHDpMQAMktpa17lKQETUBbU2EGKQlDwaNmywDZLGzh6AxsbGqPKxAqWpYzfw/53Iht3E9HqPvoeQu2gR8PLiJie2J2pO5GvMaMOB6Da7rV9joihAFKWo60adiarG0RPLCK2M5eD+gMcP39FSeI8cw4FvPTjSkGnWKyo+qFKoF2FW1W5k1pZAH/4SML+mHaRZv85tloFZRrN+zTu4XQPCvwZuU878brnlMcOPi6zLOrCWEHacvi10rAYBHnceGlN7RP1cXY3lcPpr9eFCzeFFJX2oz+D8esawocYwQwgbfig41KjAi4pERESU3BgktR2GSURERB2oKqvINkhqil2gdHJWEVLb7CyJklPsIEnvyZc/fz7Gg4EStV5TQZKhvQOlzk4UBYhO6Tj+EO2Hje+V4MjW8N/tQVVf4Nvs08zf5ersISiaUoQTBnqgebxQPY36vVdf17weqB4vNI8Hqsej33u9EffGsfp+qOrxPv3jEjnHhXW4Tm9KHvoeWn1ck6cbjDnwzNApYt2YAwOWYCpq3RJUGdshOwGnC5ox95ykzzunOZyA7IDgcECTnYAkQ5MdgOwAJBmHyx0odfQzzy8yOMzXjqBXX7e+EhEKRsxUFNwUa2YcRIR++vGKqqCsrFx/rPx8SJIU97Ex14XQ8ULkTD5GMS28vG1dwTtNi3j8yHW7c22sBPavRbUoIlNVUawVokTriaKCdAzISwt/KA0oKW9AcWk9+gtHMUQ8hGpRRJaqAv1OhZaSE/OhIASfbIznoDWxL0aFYWvW/wdBsPlZRGjRTDUR524/SYTl/yLiuWjW/1RPJXBgvblvj9Yb6VoqUBtAfXqfqFpT6w4BWS7UCI0YIh6CMf8j+k6E5s6BMVaspkXMr2huN7Y1NVxs6CRt59uKp7wamsfLelzc8ze2pLy5HCofPRwttSdR1OfJE8XgkGeWYdBs9wmAoCkQFH1IakHxAwE/BL8P8PsAnwfweQGvB5q3EULAb86hZ51Pr7nlipzhKCsYY56nFPBAkd3men7pV8it3BH7yxYtXA+9B4a+xKFvE8PWre+J5rywYe+Z9l8AaWqdQxNGExUfg6Q2xDCJiIioAxUOycaEOQOxbuneuIIkg/Xi5IQ5A1E4JLsNz5Io+TQXJBkYKFFrxRMkGRgoJU5TvQ3zInobbtwiwDVkFMZ+5/h/zpqmAX5/dODk8ULzNOr3XiOY8lqCqMbo8MoaVjVGh1dGGSihObfimUTduI8KlAQBgtMJweWC4HJCdBjLNutOJ0SXE4LTFX6MywXBYVk39jktxxh1OCzrRjmHA4LY8gteq//wCkproifRtk6uXSb0QiHa7hvI1vl4T+9i8/Gue3oNZpY8gr/4r8CjyjTccc4IzJteFLP8IyuL8ZdlO3CDtBW/dLyIdQN+hAnXX9yOZ5y81u2twKdPvISF8uv4i/8KjFIdkNcfDPu9dqXJ8NYHAAAN6YUo2rkYBeP7YIv4LX7peBEPBi7BGZf9EBMG5sZ4FAJCcyg++MFOfPbh25hx9oX48dTB4SEUEDZvojW0evKTb7FqxTs4dcps3DC9qMlwLhS+RYRhlrkZrcfFM5djXOXNENEyB2RwZ/XSd1D16qswesHWnHktvi0P9eQVJA2aEko9hxRUI+fdR8wwJu/6a5F7xXf1eWtEEaIUEQwFlwUhNHdTW9A0DVpDAwIVFVDKy/X7igoEyiugVJQH76sRKK9AoKIcSkUloCgo6TcrLEiye78sKxiNrJq9CfkCRkfTgBYGXvGvR4ddEb2ZI3s3N7EeOqfY63YBXHPrHncuPCn5YT8TVXJi9R9eYaDURhgmERERdbCJcwej78jcFgdCY2cPQK+iLAZJRBEO7a6KK0gyxAqU+PtFsUS+xlrTq5SvsZbryN6GgiAATickpxPIyDiuuuKl+f1QPR58+f5+FC8/Ym43LoyJaWnmhTBroJT3o/kYM7OPHvI4nYDD0aYX/NqKNTACwoesmfLbywDL/s0H8wBeOGqRdXsrcNk30zFe6IX12gjccc4ILGgiSAJg7v/rMmC9OgzrvxmBV/ZWMNyIw4SBufhk2q9w6YejcB0CUUGS3Vx7xUUXoWj9YowaPxiXeu/EGWfO5c86DsYcjrecPRyThxW0+Gd249nDMGFYflL+rBs2bEDtoj+Zs8aUXf17fHswFCRlDvMis8iHXtKJWP/2PgDA7tIsnHzhfOQ/dycAwPPvv8Jx+kkdPoS6IAgQ0tLgTEsD+vVrtrymqtiwZCeKlx0ytxnvl4LLZft+mTppEkb2qAiOLisEXzvBoWaNZSM0a8H2UF2izbYm6gnbF3t7WF2CgHe/PoJXNx4M5o0CLh3fD3NOKcTbmw/j5Q0H9B7HAL47sT8uGN3Xvn7zMWJtb80xNtuD+4Tg84AoxlHefvunf38bW46GgiRHoAF+WR+vhZ8L2g7DJCIiok6gtRcTeRGSKFp2dTEG7l2KvQPnNBskGSIvQg/cuxTZ1VkAOBcZRWOv0vbXHXsbCg4HNn14CGtsgqSC225F/vz5KFu0CLjvfgChC2RrV5RCysxMuudr1VSQZGCgdHwmDMzFz2YOxT9WIK4gyWANlH42c2hSXnDvKLfMGoYZXzpwZHlJzGGu7YazLlq/GP83awhGzxrW7uec7Fr7+kzW13XquHHIv+kmlP373yi7+vdh7ej48/vjiLIVAHDyzD5wOBzm62zzwTycfPXvkf/cnci/6aYOD5Ja48vl+7HGJkhq6v1yy7GeSD/j9KR+v3xkZTH+eqgR6JUFQG/Pvxtsp6+YAlSuLMZfl+0AAHy1F6gakR93e9+Zrf7DK9hyNDSHpF3PZX4uaBscWJGIiIiIupTUceMwcc4gjP3y/riCJEP+/PkYf/lJGPvl/Zg4Z1BS/iFN7Wfi3MG4+OdjW3wBYuzsAbj452Mxce7gNjqzrqdVvQ0vPwlFxYvNbZ+/UYxDu6va+EwTyy5As14YA/TnWnDbrRiwf3nU8934Xkl7n3JCxBMkGab89jKc3KfcXN98MA+r//BKm59jV3HLrGF45YZJLb6wuGB6EV65YRJuYbjRImWLFuHI8t3Nzpc6dvYATLo49H9SXHQRjizfrV8MJ2pGwU9uRvUvngxrRyddXISTZ4bPzRX5Ott8MA/Vv3gSBT+5ud3ONVG66/vlI5agCLD/YsCC6UW445wR5vpfl+3AIyuLkcya67nMzwVti2ESEREREXU5BT+5Gac8fHfcQZIhf/58nPLw3Un5hzS1P/YqbR9Gb0Og+SDJEBko6b0Nk+fiiV2AFnlhzNDUBbJkC9C+Xbom7iDJYHfh6Nula9rsHLua7tZzo6M0bNiA9S9vaTZIMtgFSutf3oKGDRva+lQpyW18rwQb1nnM9Za8zjas8yRdsNJd3y/jCZIMXSlQirfnMgOltsMwiYiIiIi6pNb2LGKPJKLOpTv2Niwcko0Te1cAaPrCmMHuAtmJvSuSLrgcNOdUnFBQCiC+IMlgvXB0QkEpBs05tc3Okag1qrKK4g6SDHaBUlVW8g9PRW2ntXM6Wl9nyRasdMf3y3V7K+IOkgx2gdK6vRVtdo5tgT2XOwfOmURERERERESdWsFPbkba6ZNaHAjlz5+P1LFjkypIAvReDD1f+C1cWUXIri5u8sKYwdx/3/3IqtmD7JXFaDg/uUI0AJjxh+9i4NI1GDTnzBYdN+W3l6FvK44jag+ca4/aQ3d8nXXH98vQnHe7Wjnn3Y6km/OutT2XI+dW1D8n8Asnx4NhEhEREREREXV63am3oTGJOv7977gujBmsF8iSdRJ1AK2+0MMLRNSZTZw7GH1H5rb4Qv3Y2QPQqygrqS7wU8fpbq+z7vp+ecusYZg8NL/FgdCC6UUYPzAnqYIkINhz+YuXsK20oMU9l41ASe+5zC+cHC+GSURERERERESdTHfrjUXUHXCuPWoP3e111l3fL7vbnHfsudw5cM4kIiIiIiIiok6oO/XGIiIiai2+X3YP7Lnc8RgmERERERERERERERERUUwMk4iIiIiIiIiIiIiIiCgmhklEREREREREREREREQUE8MkIiIiIiIiIiIiIiIiiolhEhEREREREREREREREcXEMImIiIiIiIiIiIiIiIhiYphEREREREREREREREREMTFMIiIiIiIiIiIiIiIiopgYJhEREREREREREREREVFMDJOIiIiIiIiIiIiIiIgoJoZJREREREREREREREREFBPDJCIiIiIiIiIiIiIiIoqJYRIRERERERERERERERHFxDCJiIiIiIiIiIiIiIiIYmKYlED79u3Dz3/+c4wcORJpaWnIzc3FxIkTce+996KhoaGjT4+IiIiIiIiIiIiIiKjF5I4+ga5i6dKluPrqq1FdXW1ua2howLp167Bu3To88cQTeOeddzB48OAOPEsiIiIiIiIiIiIiIqKWYc+kBNi0aRMuv/xyVFdXIz09HX/605/w2WefYcWKFZg/fz4A4JtvvsGcOXNQV1fXwWdLREREREREREREREQUP/ZMSoCFCxeioaEBsizj/fffx6RJk8x9Z555JoYOHYrbb78dO3bswP33348777yzA8+WiIiIiIiIiIiIiIgofuyZdJzWrVuHlStXAgDmzZsXFiQZbrvtNowcORIA8OCDD8Lv97fnKRIREREREREREREREbUaw6TjtHjxYnP5+uuvty0jiiK+//3vAwAqKyvN8ImIiIiIiIiIiIiIiKizY5h0nFavXg0ASEtLw7hx42KWmzZtmrn8ySeftPl5ERERERERERERERERJQLDpOO0fft2AMCQIUMgy7GnoBoxYkTUMURERERERERERERERJ1d7PSDmuXxeFBWVgYA6Nu3b5Nlc3JykJaWhvr6euzfvz/uxzhw4ECT+w8fPmwuNzY2orGxMe66uzKPx2O7TESUTNiWEVGyYztGRMmO7RgRdQVsy4i6n7bICRgmHYfa2lpzOT09vdnyRphUV1cX92P069cv7rKrVq1Cfn5+3OW7i1WrVnX0KRARHTe2ZUSU7NiOEVGyYztGRF0B2zKi7sHoBJNIHObuOFiTfKfT2Wx5l8sFoG1SQSIiIiIiIiIiIiIiorbAnknHwe12m8s+n6/Z8l6vFwCQkpIS92M0NyTe4cOHMXHiRADA1KlTmx1ur7vweDzmNy2mTp0a9n9FRJQs2JYRUbJjO0ZEyY7tGBF1BWzLiLqf5qbPaQ2GScchIyPDXI5n6Lr6+noA8Q2JZ2hJOJSSktKioKq7cLvd/LkQUdJjW0ZEyY7tGBElO7ZjRNQVsC0j6h7a4vecw9wdB7fbbc5R1FzSV1lZaYZJLZkHiYiIiIiIiIiIiIiIqCMxTDpOI0eOBADs3r0bgUAgZrkdO3ZEHUNERERERERERERERNTZcZi74zR58mSsXr0a9fX12LBhA0499VTbch9//LG5fMYZZyTs8a0B1uHDhxNWb7JrbGxEWVkZAL3XGLvvElEyYltGRMmO7RgRJTu2Y0TUFbAtI+p+rFlBU51gWoJh0nG66KKLcM899wAAnn76adswSVVV/Oc//wEAZGdnY8aMGQl7/NLSUnN54sSJCauXiIiIiIiIiIiIiIiSW2lpKQYOHHjc9XCYu+M0ceJETJkyBQDw5JNP4vPPP48qc99992H79u0AgJ/97GdwOBzteo5EREREREREREREREStJWiapnX0SSS7L7/8EmeccQYaGxuRnp6OX//615gxYwYaGxvx4osv4vHHHwcADBs2DOvXr0dGRkbCHtvj8WDLli0AgIKCAsgyO5sBejc+o6fW2rVr0bt37w4+IyKilmNbRkTJju0YESU7tmNE1BWwLSPqfgKBgDmq2UknnQS3233cdTJ5SIAxY8bgpZdewjXXXIOamhr8+te/jiozbNgwLF26NKFBEgC43W5MmDAhoXV2Nb1790bfvn07+jSIiI4L2zIiSnZsx4go2bEdI6KugG0ZUfeRiKHtrDjMXYLMnTsXmzdvxi233IJhw4YhNTUV2dnZGD9+PP7617/iyy+/xJAhQzr6NImIiIiIiIiIiIiIiFqEPZMSaMCAAbj//vtx//33d/SpEBERERERERERERERJQR7JhEREREREREREREREVFMDJOIiIiIiIiIiIiIiIgoJoZJREREREREREREREREFBPDJCIiIiIiIiIiIiIiIoqJYRIRERERERERERERERHFJGiapnX0SRAREREREREREREREVHnxJ5JREREREREREREREREFBPDJCIiIiIiIiIiIiIiIoqJYRIRERERERERERERERHFxDCJiIiIiIiIiIiIiIiIYmKYRERERERERERERERERDExTCIiIiIiIiIiIiIiIqKYGCYRERERERERERERERFRTAyTiIiIiIiIiIiIiIiIKCaGSURERERERERERERERBQTwyQiIiIiIiIiIiIiIiKKiWESJZW6ujqsWrUK9957Ly6//HIMGjQIgiBAEAQMHDgwrjqOHTuGZ599FjfffDNOP/10DBo0CBkZGXC5XOjduzdmz56NRx55BPX19XGf14svvojZs2ejd+/ecLvdGDhwIL73ve/hiy++aOUzJaKuLBFtmaZp+OSTT3DnnXdi5syZ6N27N5xOJzIzM3HiiSfixhtvxKZNm1p0XmzLiCheiWjHAGD//v147bXX8Mtf/hJnnnkmMjMzzXruuuuuFp8X2zEiilei2jHD1q1bccMNN2DIkCFISUlBQUEBpk6disceewyBQCDuetiOEVFbePvtt3HppZeib9++cLlcyM/Px6RJk3DfffehoaEh7noS1dYRUZLSiJLI9OnTNQC2twEDBsRVx6JFi2LWEVnf+vXrm6yrsbFRO//882PWIYqi9vvf/z4Bz5yIupJEtGX9+/dvth0TBEG7/fbbNVVVm6yLbRkRtVQi2rG9e/c22Yb97ne/i/t82I4RUUsloh0zPPHEE5rL5YpZ32mnnaaVlZU1WQfbMSJqCzU1NdrcuXOb/Mw1dOhQbfv27c3WlYi2joiSG3smUVLRNM1czsnJwaxZs5Cent6iOgRBwNChQzF//nw8/PDDePPNN7F27VqsWrUK//3vfzF79mwAQElJCWbNmoXDhw/HrGve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NDQ0QBAEPProo2FzuFklqq0joi5AI0oiTz/9tAYg7ttHH30UVUe8x44cOVLbsGFDk+fT0NCgnXfeeTHrEEVR+93vftc2PwwiSlrH25Z9++23LToegDZt2rSY58O2jIhaKhGfyTRN06ZNmxZ3HQMGDIh5PmzHiKilEtWOaZqmPf7445rT6Yx57MSJE7XS0tImz4ftGBG1hTlz5jTZtuXm5mrPP/98XHUloq0jouTGnknU7WzevBkffvghVq5ciV27duHo0aOoqqpCamoqCgsLMXbsWFx88cW48MIL4XA4mqwrJSUFS5cuxfPPP49nnnkGmzZtQlVVFXr27IkpU6bg5ptvxqRJk9rpmRERtQ7bMiJKdmzHiKgjzZ8/H5MmTcJDDz2EFStW4NChQ0hLS8PIkSNx9dVX44c//CFkuenLL2zHiKgt/OpXv8Lw4cOxevVq7N+/H+Xl5cjOzkZRUREuuOAC/PCHP0RBQUFcdSWirSOi5CZomqZ19EkQERERERERERERERFR5yR29AkQERERERERERERERFR58UwiYiIiIiIiIiIiIiIiGJimEREREREREREREREREQxMUwiIiIiIiIiIiIiIiKimBgmERERERERERERERERUUwMk4iIiIiIiIiIiIiIiCgmhklEREREREREREREREQUE8MkIiIiIiIiIiIiIiIiiolhEhEREREREREREREREcXEMImIiIiIiIiIiIiIiIhiYphEREREREREREREREREMTFMIiIiIiIiIiIiIiIiopgYJhEREREREREREREREVFMDJOIiIiIiIiIiIiIiIgoJoZJREREREREREREREREFBPDJCIiIiIiIiIiIiIiIoqJYRIREREREVEXctddd0EQhKjbypUrW13nM888Y9azd+/ehJ1rR7M+L+vtmWee6ehTIyIiIiLqVBgmERERERFRp7By5UrbC/uCICAlJQV9+/bFueeei4cffhh1dXVx17tq1SrMmzcPJ5xwAjIzM+F0OlFYWIjRo0fjkksuwYMPPogvv/wSqqq2+TkNHDjQti5ZlpGXl4fTTjsNv/zlL7Fnz54W/ew62nXXXRfz5yTLMnJzczFp0iTceeedOHToUEefLhERERERtRDDJCIiIiIi6vQ8Hg8OHjyIZcuW4aabbsKoUaOwadOmJo9paGjAZZddhmnTpuGpp57C9u3bUVtbC7/fj8OHD2PTpk144403cMstt2Ds2LF4//332/ycYlEUBRUVFVizZg3++te/4oQTTsBjjz3WqrqstmzZYt4mTJhw3PW1hqIoqKysxBdffIE//OEPGDFiBJYsWdIh5xLpoosuMn8+7733XkefDhERERFRpyV39AkQERERERFFWrBgAW688UZzvaysDN988w3uv/9+7Ny5EyUlJTj33HPxzTffICMjw7aOyy67DO+88w4AYMiQIZg/fz4mTJiAnJwc1NfXY9euXfj000+xZMkSHDt2rF3OyVBYWBgWXgQCAezfvx8vvvginn/+eXi9XixYsAD9+/fHueee2+y5xTJq1KhWH9ta7733HgoLC811v9+PAwcO4NVXX8V///tf1NbW4rLLLsOmTZswYsSIdj8/q+zsbGRnZwMA0tPTO/RciIiIiIg6M4ZJRERERETU6fTo0SMqCJk+fTquv/56nHvuufjwww9x+PBhPP7447jtttuijn/33XfNIGn27Nl488034XK5wsqcccYZuO666/Doo49i8eLF6NevX5uek5XD4Yiqa/To0Zg7dy7GjRuH2267DZqm4be//e1xhUkdYdiwYRg4cGDYtjFjxmDu3LkYOHAgfv/738Pn8+Ef//gHHnnkkY45SSIiIiIiahEOc0dEREREREnD6XTirrvuMteXL19uW27x4sXm8n333RcVJFlJkoTvfOc7OPHEE9v0nOK1cOFC9O/fHwCwYcOGuHpNJYtf/OIXEAQBALBmzZoOPhsiIiIiIooXwyQiIiIiIkoqY8eONZf3799vW6akpMRcHjJkSKc4p3iJohg2v9G+ffuOq754VFZW4pe//CVGjBiBlJQU9OjRA2eddRZeeeWVhD5Oeno68vLyAOhzTtmZPn06BEHA9OnTAQC7d+/GDTfcgMGDByMlJQUDBw7EvHnzwv6PAeDrr7/G9ddfj8GDB8PtdqNfv35YsGBBlwrjiIiIiIg6Coe5IyIiIiKipCJJkrksy/Z/0jidTnN5+/btGD16dIefU0tY61AU5bjra8q2bdtw1lln4fDhw+Y2j8eDFStWYMWKFfjBD36AKVOmJOSx6urqUF5eDgBm76umfPDBB7jkkktQW1trbispKcFTTz2Ft99+Gx9//DFGjBiBF154Addffz28Xq9Z7sCBA3j00Ufx7rvv4rPPPgubx4mIiIiIiFqGPZOIiIiIiCipbNu2zVyOnJvHMGbMGHP55ptvRmlpaYefU0ts3rzZXG7LEKS6uhqzZ882g6Tvfve7eOedd7B+/Xo8//zzGD9+PJ566ik8/PDDCXm8++67D5qmAQAuuOCCJsseOnQIl19+ObKzs/HPf/4Ta9aswerVq7Fw4UIIgoBjx47hhz/8IdatW4fvf//7GDx4MJ544gmsXbsWH330Eb73ve8B0MOnW2+9NSHnT0RERETUXbFnEhERERERJZV7773XXL700ktty8ybNw/33nsvGhoa8Omnn2LAgAE499xzMXXqVJx66qkYM2ZMk/MotcU5xeuNN97A9u3bAQCDBw9Gv379jqu+pvz+97/HgQMHAAB//vOf8atf/crcN27cOFx66aU4//zz8f7778dd586dO1FXV2euBwIBHDhwAG+88QaeeeYZAMAZZ5yBefPmNVnPrl27MHToUHz66acoKCgwt0+ePBkOhwN///vf8emnn2LOnDk49dRT8f777yM1NdUsN336dHg8Hrzyyit47bXXUFpaGlYPERERERHFjz2TiIiIiIio0ysvL8cnn3yC8847Dy+88AIAYNKkSbjiiitsy/fv3x8vvfQS0tPTAQCNjY14/fXXsXDhQkyaNAlZWVmYOnUqHnjgAVRUVLTLOTVFURTs3bsX99xzD6666ipz++23396qc4uH1+vF008/DQA4+eSTcccdd0SVcTgcePLJJ+FwOOKud/bs2TjppJPM25gxYzB37lw89dRT6NWrFx544AF88MEHcYV5Dz30kG0AdOONN5rLZWVlWLRoUViQZFiwYAEAPdD6/PPP434OREREREQUjmESERERERF1OnfffTcEQTBv+fn5mDJlCt59913IsoxrrrkGy5YtazLkOP/887Ft2zbcdNNNyM3NDdvn9XqxevVq3HrrrSgqKsJ//vOfdjknQ0lJSVhdsixj0KBB+PWvfw2PxwNAD0J+/OMfN1tXa23YsAGVlZUAgGuvvRaiaP/nYd++fXH22Wcn5DEPHTqEp59+GsuWLWu2bHZ2NmbPnm27b+DAgcjMzASgB2EjR460LXfKKaeYy3v27GnFGRMREREREcAwiYiIiIiIksywYcNw++23m2FCU/r164d//etfOHr0KNasWYOHHnoI119/PYYOHWqWqaqqwrXXXmv20mnrc2pKeno6zj33XLzzzjsJm6coli1btpjLEyZMaLLsxIkT467322+/haZp5k1VVZSXl+Pdd9/FtGnTsHnzZlxyySX417/+1WQ9Q4cOhSAIMfdnZWUB0H/2sWRnZ5vLtbW1cT8HIiIiIiIKxzmTiIiIiIio01mwYIE5lFkgEMChQ4ewZMkSPPXUU9i2bRumT5+Ozz77DMOHD4+rPlmWMXHixLBQZMOGDVi4cCE++eQTAMBtt92GSy+9FBkZGW1+ToWFhXjvvffCzi8zMxO9evWK2UMo0YxeSQDQo0ePJsv27Nmz1Y8jCAJyc3NxzjnnYNasWZgxYwZWr16NW265BbNmzYr587Ibts7K+Dk1Vc76s1QUpRVnT0REREREAHsmERERERFRJ9SjRw+MGjUKo0aNwujRo3Heeefh0UcfxRtvvAFRFFFRUYGrrrrquAKCcePGYdmyZRgyZAgAPVz54IMP2uWcHA6HWdeoUaMwYsQIFBYWtluQBACappnLTfUAiix7PCRJwq233gpAD+TiGV6QiIiIiIg6HsMkIiIiIiJKGnPmzMENN9wAANi4cSOeeeaZ46ovLS0NV155pbm+e/fuDj+n9mKdR+ro0aNNlj127FjCHnfEiBHmsnWoPSIiIiIi6rwYJhERERERUVL53e9+h7S0NADA3XffDZ/Pd1z1FRYWmsut7RmU6HNqDyeddJK5vG7duibLNre/JQKBgLns9/sTVi8REREREbUdhklERERERJRUevTogR//+McAgP379+PZZ5+NKtOSYdnWr19vLg8aNKjNzqmzGTduHHJycgAA//3vf2P+zA4ePIj3338/YY9rDab69euXsHqJiIiIiKjtMEwiIiIiIqKk84tf/AJutxsA8Je//CVqnqIFCxbgz3/+MyoqKpqsZ/ny5Wbwk5aWhrPOOqvNzqmzcblcuP766wEAX331Ff7+979HlQkEApg/f37CelpVVlbinnvuMdfPO++8hNRLRERERERti2ESERERERElnV69emHevHkAgD179uD5558P219WVobf/OY36N27Ny6++GL84x//wAcffIAvv/wS69atwwsvvIArr7wS55xzjjns2h//+EdkZma22Tl1RnfeeSf69u0LALjjjjtw1VVXYdmyZdi4cSNefPFFnH766Xj33XcxYcKEuOvcuXMnvv76a/O2ZcsWrF69Gvfeey9Gjx6NXbt2AQAmT56MCy+8sE2eFxERERERJZbc0SdARERERETUGnfccQcWLVoEn8+HP//5z7j66qvNOY/69OkDAPD5fFi8eDEWL14csx632427774bCxcubNNz6oyysrKwbNkynHXWWThy5AheeOEFvPDCC2Flrr/+ekydOtXsxdSc2bNnN1tmxowZePXVVyEIQqvOm4iIiIiI2lfn/auGiIiIiIioCf369cO1114LANixYwdee+01c98//vEPlJSU4LHHHsM111yD0aNHIycnB7IsIyUlBYWFhTjrrLPwpz/9CTt37sTtt9/e5ufUWZ144onYunUrbr/9dgwdOhQulwv5+fmYMWMGnn/+eTz11FPH/Rjp6ekYOnQorrrqKrz11ltYsWIFcnNzE3D2RERERETUHgStJTPTEhERERERUad211134e677wYA8M+9+O3duxeDBg0CADz99NO47rrrOvaEiIiIiIg6EQ5zR0RERERE1EV9/fXX5vKgQYOQlpbWgWfT+VRVVeHAgQMAgEOHDnXw2RARERERdV4Mk4iIiIiIiLqok046yVz+6KOPMH369I47mU5o8eLFcc8FRURERETUnXHOJCIiIiIiIiIiIiIiIoqJcyYRERERERERERERERFRTOyZRERERERERERERERERDExTCIiIiIiIiIiIiIiIqKYGCYRERERERERERERERFRTAyTiIiIiIiIiIiIiIiIKCaGSURERERERERERERERBQTwyQiIiIiIiIiIiIiIiKKiWESERERERERERERERERxcQwiYiIiIiIiIiIiIiIiGJimEREREREREREREREREQxMUwiIiIiIiIiIiIiIiKimBgmERERERERERERERERUUwMk4iIiIiIiIiIiIiIiCgmhklEREREREREREREREQUE8MkIiIiIiIiIiIiIiIiiolhEhEREREREREREREREcXEMImIiIiIiIiIiIiIiIhiYphEREREREREREREREREMTFMIiIiIiIiIiIiIiIiopgYJhEREREREREREREREVFMDJOIiIiIiIiIiIiIiIgoJoZJREREREREREREREREFNP/Ays6RDnw5doMAAAAAElFTkSuQmCC", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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HuXWW2/l999/58033+R///sfW7dudc5Jczxfx/d28TMraNsff/zB7t2789UfGBiIYRhuv0rgYidPniQkJCTfsMAaNWrg7e3trPFSbDab83+ULF++nM6dOxMbG8uECRMKPL5mzZo8+uijzJ49m927dxMXF4evry9PPvlkvmPnz5/P1q1bWbt2LQMGDOCHH37I9z8LHBo2bMjWrVvZtm0b33//PadPn+bDDz90zscUkYpDc6REpNwzmUxMnDiRqKgo3n777SKd6+il2bVrFwBt27Zl69atLseEhYUVeK4jqCQkJOTbd+zYMcxmc4nMiejWrRsvvvgiS5cuLXDuUXGtXbuWY8eOsW7dOmcvFOQtHlGQgua+VK1alZycHJKTk12ChOMXfofKlSvj5eVF3759GTx4cIHtuzNP7eJ2L9zmeB7VqlUjIiKiwJ4IyP88C5vTU9KqVasGwLRp0wpdsdERXKpVq8bUqVOZOnUqR48eZdmyZbzwwgskJSXx1VdfAdCyZUsWLVqEYRjs3r2befPmMXr0aGw2Gy+88AJLly7l3LlzLF68mLp16zqvsXPnTpdrOr63ghZOSExMdOmVqlatGjabzWV+VUH3WFRVq1Zly5YtGIbh8jySkpLIyclxq12z2excBAIgKiqKtm3bMmrUKB566CHq1KlzyfM7duxI165dWbp0KUlJSdSoUcO5r1mzZs62b7vtNnJzc3n33Xf59NNP8/WiORbrEJGKTz1SIlIhdOnShaioKEaPHk1qaqrb5zl+qXT80hQYGOjstXL8OHoWLtakSRNq1arFwoULMQzDuf3cuXN89tlnzpX8rtQNN9xAjx49mDNnTr4FIBy2bdvG0aNHi9Su4xfWi5f6/s9//uN2G44A9tFHH7lsv3glPT8/P2677TZ27NhBREREvu84MjLSrQn/a9ascfmFPzc3l48++oiGDRtSu3ZtAO666y6+//57GjZsWOB1CgvGpa1Dhw5UqlSJffv2FVhXYX/WrrvuOh5//HGioqL47rvv8u03mUy0atWKN954g0qVKjmPKej5GoaRb4jZzTffjMViyfcMN2/enO+F13fddRcHDhygatWqBdZ/8VDAi1kslnw9nZA3ZDM1NZWlS5e6bJ8/f75zf1FZLBZmzJhBRkYGY8eOdW7/448/ClziPDc3l59//hk/Pz8qVap0ybYnTZpE5cqVeeWVV/SiXZFrmHqkRKTCmDhxIm3btiUpKck5jOtCp0+fds7Dyc7O5ocffmDcuHFYLJZCe0kuxWw2M2nSJB566CHuuusuBgwYQGZmJpMnT+b06dOFDikqjvnz59O9e3d69OhB//796dGjB5UrVyYhIYHly5cTGxvL9u3b8y2Bfint27encuXKDBw4kBEjRuDj48OCBQucvXPu6N69Ox06dODpp5/m7NmztG3blvj4eOcvwBfOHXvzzTf5y1/+wq233sq///1v6tWrR0pKCr/88gvLly8vNCReqFq1atx+++28/PLLzlX7fvzxR5fgNnr0aFatWkX79u154oknaNKkCRkZGRw+fJgvv/yS2bNnO0PX1RQQEMC0adN45JFHSE5OplevXtSoUYPjx4+za9cujh8/zqxZszhz5gy33XYbffr0oWnTpgQGBrJ161a++uor7r//fiBvrtLMmTO57777aNCgAYZhsHjxYk6fPk1UVBSQ1yPj6+tL7969ee6558jIyGDWrFn5hptWqVKFmJgYxo8fT+XKlfnrX//Kb7/9xqhRowgNDXV5hkOHDuWzzz6jY8eOPPXUU0RERGC32zl69CgrV67k6aef5uabby70O2jZsiWLFy9m1qxZtG3b1tmL9PDDDzNjxgweeeQRDh8+TMuWLdmwYQPjxo2jZ8+edOnSpVjfeadOnejZsydz587lhRdeoH79+nzwwQf85z//oU+fPtx4440EBwfz22+/8e677zpXICzsf544VK5cmWHDhvHcc8+xcOFC/u///q9Y9YlIOVd261yIiBTPxavnXahPnz4GcNlV+7y8vIzrrrvO6NWrl7Fjx44ruu7SpUuNm2++2bBarYa/v79xxx13GBs3biy0naKu2ueQnp5uvPXWW0a7du2MoKAgw9vb2wgLCzPuv/9+47///e9l6/zmm28MwPjmm2+c2zZt2mS0a9fO8PPzM6pXr2784x//ML777jsDMObOnetWzcnJycajjz5qVKpUyfDz8zOioqKMzZs3G4Dx5ptvuhx76NAho3///katWrUMHx8fo3r16kb79u2NsWPHXvb+AWPw4MHGzJkzjYYNGxo+Pj5G06ZNjQULFuQ79vjx48YTTzxh1K9f3/Dx8TGqVKlitG3b1hg+fLhzxT3Hqn2TJ0++7LUvruHieyqoHcf3/cknn7hsj4uLM+68806j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DRs24OXl5XY9drsdk8nEggULCA4OBuD111+nV69ezJgxw9krZbpo+KJhGPm2XdxuZmYm8+fPp3HjxgDMmTOHtm3b8tNPPxEeHk6fPn0YNWqUc39hmjRpwrJlywBISUnho48+4m9/+xvffPONW99VWfKc2XbiZD0/RyojVT1SIiIico0zmfKG1xXlJ35GXoi6bTi8fDzvn+snw+aZeeHI3XbcnB/l4OPjc1HpJux2u8s2f3/3hgrGxMRw+vRpjh49yokTJ7j33nsBqF+/vtv1hIaGUqtWLWeIAmjWrBmGYfDbb78BefOSLu59SkpKytdLdXG73t7eLiGpWbNmABw9epSUlBS2bdvG448/jre3N97e3owePZpdu3bh7e3t7LUC8PX1JTw8nPDwcNq0acOECROoVavWJYcWegoFKQ9kC3QEKfVIiYiIiBRJ3KS8hSZuGw6dnsvb1uk5uG045nXjsGx5s2zrKwKTyURYWBg2m43Y2Fjq1KnDDTfc4Pb5HTp04NixY6Re8Dvl/v37MZvN1K5dG4B27dqxatUql/NWrlxJ+/btL9luTk4OBw4ccGkXoG7dugQFBbFnzx527tzp/Bk4cCBNmjRh586d3HzzzZes28vLi/T0dLfvs6xoaJ8HcvRIaY6UiIiISBHZc11DlEOn57AbBqb0IqwAWIYmT55M9+7dMZvNLF68mAkTJvDxxx+7DO3bt28fWVlZJCcnk5KSws6dOwGc72vq06cPY8aM4dFHH2XUqFGcOHGCZ599lv79+zuH9T355JN07NiRiRMncu+99/L555+zevVqNmzYUGhtXbp04YYbbqB///5MnToVu93O4MGDiYqKcvZStWjRwuWcGjVqYLVa823Pyclx9og5hvbt27eP559//oq+v6tBQcoDOYf2nVOPlIiIiEiR3Das8H0dnyXj7Fl8r141xbZixQpeffVVMjMzadWqFZ9//jk9evRwOaZnz54cOXLE+blNmzZA3hwngICAAFatWsWQIUOIjIykatWqREdHu6yg1759exYtWsRLL73Eyy+/TMOGDfnoo48u2WtkNptZvnw5Q4YMoWPHjvj7+9OjRw9ee+21It/n3r17CQ0NBcDPz4+GDRsya9YsHn744SK3dbUpSHkg59C+lLOXnewnIiIiImVv3bp1+bZd/N4kR8C5WEHvgLpwHlFhDh8+fNljmjZt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li1b4uPjw3333VfW5YibFKTKEceCE+lauU9ERESkQJs+WUD8Z7EF7tu8eBHfLf/sKld0eTExMbRu3ZpDhw4xb948ANasWUP79u0JDAwkNDSU559/npycHOc5GRkZ9OvXj5YtW+Lt7V1oAMvMzGT48OHUrVsXi8VCw4YNee+995z79+7dywMPPEC9evUwmUxMnTr1svW6e+24uDjatm2L1WqlQYMGzJ4922X/O++8w6233krlypWpXLkyXbp04dtvvy30uuPHj8dkMvHUU0+5bO/cuTMmkwmTyYTZbKZmzZr87W9/48iRI5e9lyuhIFWOWLUEuoiIiMglmcxmNn2cP0zFfxZL/CcLMZk959ff7OxsAA4cOMDtt99O7dq1qVSpErt376Znz550796dHTt2sGjRIpYtW8YLL7zgPDc3NxebzcYTTzxBly5dCr1GdHQ0a9asYc6cOfz000/ExsbStGlT5/60tDQaNGjAhAkTCAkJcatud6596NAhevbsya233sqOHTt48cUXeeKJJ/jssz+D7Lp16+jduzfffPMN8fHxXHfddXTt2pXff/89X3tbt27l7bffJiIiosDr/fOf/yQhIYHff/+dzz//nF9//ZX/+7//c+t+isu7VFuXEuVcAj1FQUpERESuDYZhkJOZ6fbxkXf+FXtODps+XoA9J4eb7v0b337+CZsXf8TNf42myW1dyc7IwOxGoPK2WDCZTG5dt3PnzkRERGC1Wnn33Xfx9fVl4MCBjBw50nmMyWRi1qxZrFixgtWrV9OrVy/mz58PQP/+/enfvz9z585l//79RERE8MorrwAQHh7O+PHj6d27NyNGjCAwMBB/f39mzZoF5A0NPH36dL6avvrqK+Li4jh48CBVqlQBoF69ei7H3Hjjjdx4440ALkHtUty59uzZs7nuuuucPVzNmjVj27ZtTJkyhQceeACABQsWuJzzzjvv8Omnn7JmzRoefvhh5/bU1FQeeugh3nnnHcaOHVtgTX5+fs4gGBoayuDBgxk4cKBb91NcClLliC1APVIiIiJybcnJzOStR3oV69zNiz9i8+KPnJ+3LPmYLUs+dvv8J97/FB+r1e3j33//fWJiYtiyZQvx8fH069ePDh06EBUV5TxmxIgRjB8/njfeeAMvLy8mTpxIkyZNGD16NA8++CDBwcG89NJLWC+6rs1mIyMjg+3b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KrYiB6knn3zS5XN2djZpaWn4+vri5+enIFUGLH5+mExmDMNORmoKAZWrlHVJIiIiIiIVWpHnSJ06dcrlJzU1lZ9++om//OUvxMbGlkaNchkmsxmLY55Uit4lJSIiIiJS2oq92MSFGjVqxIQJE/L1VsnV8+cS6KllXImIiIiISMVXIkEKwMvLi2PHjpVUc1JE1sDzL+VNVY+UiIiIiEhpK/IcqWXLlrl8NgyDhIQEpk+fTocOHUqsMCkaR49UulbuExEREREpdUUOUvfdd5/LZ5PJRPXq1bn99tt57bXXSqouKSKrc2ifgpSIiIiISGkrcpCy2+2lUYdcIQUpEREREZGrp8TmSEnZsilIiYiIiIhcNW4FqZiYGM6dO+d2o8OGDSM5ObnYRUnRWQODAM2REhERERG5GtwKUm+++SZpaWluNzpjxgxOnz5d3JqkGKyO90idU5ASERERESltbs2RMgyDxo0bYzKZ3Gq0KL1XUjJsAXk9UhnqkRIRERERKXVuBam5c+cWueGaNWsW+RwpPkePVLrmSImIiIiIlDq3gtQjjzxS2nXIFbKdnyOVkZqCYRhu9x6KiIiIiEjRadW+CsIamLdqX252NjmZmWVcjYiIiIhIxaYgVUH4WKyYvfI6GDW8T0RERESkdClIVRAmkwlboN4lJSIiIiJyNShIVSDW8y/lTU85W8aViIiIiIhUbMUOUr/88gtff/016enpQN4S6VK2HEEqIzW1jCsREREREanYihykTp48SZcuXWjcuDE9e/YkISEBgH/84x88/fTTJV6guO/PIKUeKRERERGR0lTkIPXUU0/h7e3N0aNH8fPzc25/8MEH+eqrr0q0OCmaP+dIqUdKRERERKQ0ufUeqQutXLmSr7/+mtq1a7tsb9SoEUeOHCmxwqToNEdKREREROTqKHKP1Llz51x6ohxOnDiBxWIpkaKkeP4c2qdV+0RERERESlORg1THjh2ZP3++87PJZMJutzN58mRuu+22Ei1OisYxtE/vkRIRERERKV1FHto3efJkOnfuzLZt28jKyuK5555j7969JCcns3HjxtKoUdzk7JFKUZASERERESlNRe6Rat68Obt37+amm24iKiqKc+fOcf/997Njxw4aNmxYGjWKm2wa2iciIiIiclUUuUcKICQkhFGjRpV0LXKFrIFBgIb2iYiIiIiUtiIHqd27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WAMCyUpP0xLoIiIiIiKlpMhB6ujRo86eHpvN5nyfU9++fbnllluYPn26223NmjULgM6dO7tsnzt3Lv369QPgueeeIz09nUGDBnHq1CluvvlmVq5cSWBgoPP4N954A29vb6Kjo0lPT+eOO+5g3rx5eHkVb35QedQurB0/Jv9I/LF4mgYGcvb4HwpSIiIiIiKlpMhD+0JCQjh58iQAdevWZfPmzUDeUuWGYRSpLcMwCvxxhCjIW2hi5MiRJCQkkJGRQVxcnHNVPwer1cq0adM4efIkaWlpLF++nDp16hT11sq19mF54Tb+WDxW/wAA0lPcmygnIiIiIiJFU+Qgdfvtt7N8+XIAHnvsMZ566imioqJ48MEH+etf/1riBYp72tRog8XLQlJ6EjmWvNUKM1JTy7gqEREREZGKqchD+95++23sdjsAAwcOpEqVKmzYsIG7776bgQMHlniB4h6Ll4XImpFsPLaRk6a8IX0ZqeqREhEREREpDUUOUmazGbP5z46s6OhooqOjS7QoKZ52Ye3YeGwjv+f8QVUgXT1SIiIiIiKloljvkTp9+jTffvstSUlJzt4ph4cffrhECpOic8yTOpL1O1UJIkNzpERERERESkWRg9Ty5ct56KGHOHfuHIGBgZhMJuc+k8mkIFWGwiuFU91WnVTvNADStWqfiIiIiEipKPJiE08//TT9+/cnJSWF06dPc+rUKedPUd8jJSXLZDLRLqwdmT65AFr+XERERESklBQ5SP3+++888cQT+Pn5lUY9coXahbUjyydvuKWClIiIiIhI6ShykOrWrRvbtm0rjVqkBNwSegsZvnlBSu+REhEREREpHW7NkVq2bJnz3++8806effZZ9u3bR8uWLfHx8XE59p577inZCqVIqtmqcV2NhkAG2RkZ5OZk4+Xtc9nzRERERETEfW4Fqfvuuy/fttGjR+fbZjKZyM3NveKi5MrcWLcdBmsxYSIjNRX/SpXLuiQRERERkQrFraF9drvdrR+FKM/QoXYHMn00vE9EREREpLQUeY6UeL42NdqQ7WsAcCDhxzKuRkRERESk4nE7SK1du5bmzZtz9mz+Ho4zZ85w/fXXs379+hItTorH4mXB+/yqirt/+66MqxERERERqXjcDlJTp07ln//8J0FBQfn2BQcHM2DAAN54440SLU6KLyi4CgA/J+wr40pERERERCoe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3LhxvPDCC4SFhfXZpqmpicDAQAICAoiPj8fpdPLOO+9gtVqHXOZdu3Yxffp0/P39fcsyMjIG3fb1118nLy+PrVu38vrrr/P+++/z85//vM82kydPRlV7/vxGR0czdepU33OTyUR4eDjV1dVDLqMQQoiTT4KUEEKIkyYgIIBx48Yxbdo0nnzySbq6unjooYcGbBceHs4111zDo48+yq5du4iLi+ORRx7ps018fDwpKSksXryYF154geuuu25A+AgKCiIvL4/t27fT2tpKTk4Os2bNGlaZhzPqXnx8POPGjWPixIlce+21/OhHP+LRRx/1tb7BwO6HiqIMukzTtGGVUwghxMklQUoIIcQp88ADD/DII49QXl5+yG2sVitjx46lra3tkNssWLCAKVOm8PDDD/dZrqoq48aNIzk5mYCAgKMq46RJk9i6dSsdHR2+ZVlZWUN6rclkwu1243Q6j+q9hRBCnL4kSAkhhDhlzjvvPCZPnszvf/97wLiG6lvf+hYffvghBQUF7Nmzh0ceeYSVK1eydOnSw+7r/vvv57nnnuPgwYPHtYw33ngjqqry/e9/n507d7Jy5coBrWPd6urqqKyspKysjI8++ognnniChQsXEhwcfFzLJIQQ4tSTICWEEOKUuu+++3j++ecpLS1l0qRJ+Pv7c//995OamsrcuXN54403eOGFF7j55psPu58lS5aQmJg4oFXqWAUGBrJ8+XJ27tzJjBkz+NWvfsWf/vSnQbe98MILiY2NJTExkdtuu41LL72U119//biWRwghxOlB0Y/HLdeFEEKIEeCWW26hsbGR995771QXZYCXXnqJH/3oRzQ2Np7qogghhECGPxdCCCH66B6i/bXXXmPJkiWnujiA0Srmdrux2+2nuihCCCG8pEVKCCGE8Kqurqa5uRmA2NjYox6g4njbt28fYAxekZSUdIpLI4QQAiRICSGEEEIIIcSwyWATQgghhBBCCDFMEqSEEEIIIYQQYpgkSAkhhBBCCCHEMEmQEkIIIYQQQohhkiAlhBBCCCGEEMMkQUoIIYQQQgghhkmClBBCCCGEEEIMkwQpIYQQQgghhBim/w8hmZtCcR4iOQAAAABJRU5ErkJggg==", - "text/plain": [ - "<Figure size 1000x600 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABoIAAARFCAYAAACaFNChAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdd3hT1R8G8Dfde5duKBQKpWwoQ7YoS/ghS0FQWmUpQ5ElogIiS1AQWQpo2SggIHvZMsvelEJbWujek+4kvz9CLglN26RNWyjv53n6NDn33HO/CSWUvDnniKRSqRRERERERERERERERERU4+hUdwFERERERERERERERERUORgEERERERERERERERER1VAMgoiIiIiIiIiIiIiIiGooBkFEREREREREREREREQ1FIMgIiIiIiIiIiIiIiKiGopBEBERERERERERERERUQ3FIIiIiIiIiIiIiIiIiKiGYhBERERERERERERERERUQzEIIiIiIiIiIiIiIiIiqqEYBBEREREREREREREREdVQDIKIiIiIiIiIiIiIiIhqKAZBRERERERERERERERENRSDICIiIiIiIiIiIiIiohqKQRAREREREREREREREVENxSCIiIiIiIiIiIiIiIiohmIQREREREREREREREREVEMxCCIiIiIiIiIiIiIiIqqhGAQRERERERERERERERHVUAyCiIiIiIiIiIiIiIiIaigGQURERERERERERERERDUUgyAiIiIiqhLdunWDSCSCSCTC3LlzS+wXGBgo9NPWV2BgoDC+r69vucfp1q2bVp6LuXPnFhv7yy+/1GiMgwcPVkp9kZGRJT5+HR0dmJubw9XVFd7e3ujfvz/mzp2LAwcOIC8vr8LXJqqpynpd09fXh52dHZo3b46PP/4Yhw8fhkQi0fg6BQUF2LlzJ0aOHAkvLy9YW1tDT08PpqamcHV1RceOHTFmzBj8/vvvCA0NLXUsxddsVV/m5uaoXbs2+vTpg4ULFyImJkbtOlW9Bip+GRsbw9nZGW+++Sa+++47REREaPxcEBEREdFzDIKIiIiIiF4C27dvR1FRkdr9N2/eXInVqCaVSpGdnY2YmBgEBwfj4MGDmDdvHv73v//B2dkZn3/+OZ48eVLldQHKAZa7u3u11PAqUwxI/f39q7ucMikGCaUFy6+KoqIipKSk4Pbt2/jz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IiIiIiIiIiIiIiIiqqEYBBEREREREREREREREdVQDIKIiIiIiIiIiIiIiIhqKAZBRERERERERERERERENRSDICIiIiIiIiIiIiIiohqKQRAREREREREREREREVENxSCIiIiIiIiIiIiIiIiohmIQREREREREREREREREVEMxCCIiIiIiIiIiIiIiIqqh9Kq7gNdVXl4e7ty5AwCwt7eHnh7/KIiIiIiIiIiIiIiIXldFRUVISkoCADRt2hRGRkZaGZfpQzW5c+cO2rZtW91lEBERERERERERERHRS+by5cvw8fHRylhcGo6IiIiIiIiIiIiIiKiG4oygamJvby/cvnz5MpycnKqxmpdLbm4uzpw5AwDo0qULjI2Nq7kiIiLN8HWMiF51fB0jopqAr2VE9Krj6xjR6ycuLk5YSUwxQ6goBkHVRHFPICcnJ7i6ulZjNS+X3Nxc2NnZAQBcXV35jxwRvXL4OkZErzq+jhFRTcDXMiJ61fF1jOj1ppghVBSXhiMiIiIiIiIiIiIiIqqhGAQRERERERERERERERHVUAyCiIiIiIiIiIiIiIiIaigGQURERERERERERERERDUUgyAiIiIiIiIiIiIiIqIaikEQERERERERERERERFRDcUgiIiIiIiIiIiIiIiIqIZiEERERERERERERERERFRDMQgiIiIiIiIiIiIiIiKqoRgEERERERERERERERER1VB61V0AVYxEIkF2djYyMzNRUFAAsVhc3SVVmEQiga2tLQDgyZMn0NFhXklUU+jq6sLAwAAWFhYwMzPj328iIiIiIiIiIqJKxiDoFZaVlYWYmBhIpdLqLkWrpFIpjI2NAQBisRgSiaSaKyIibSkqKkJ+fj6ysrIgEong4uICc3Pz6i6LiIiIiIiIiIioxmIQ9IpSFQKJRCLo6upWY1XaIxKJAAB6evwRJapJxGKx8LollUoRExPDMIiIiIiIiIiIiKgS8V32V5BEIlEKgczMzGBjYwMTExMhQHmVSSQSZGZmAgAsLCy4dBRRDSKVSpGTk4PU1FRkZ2cLYZCnpyf/rhMREREREREREVUCvuv2CpK/eQrIQiBXV1eYmprWiBCIiGo2kUgEU1NTuLq6wszMDIAsHMrOzq7myoiIiIiIiIiIiGomBkGvIPlsGQCwsbFhAERErxyRSAQbGxvhvuLrGhERERERERER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69u3L3bu3FliMDVu3DjExsZi/vz5CA8Px8cff6xyjD/++KPEmtVhbm6OQ4cOoW/fvggNDcXvv/+O33//XamPhYUFtm3bpvLxvuibb77BN998U2qfunXrYvfu3XB0dKxI6URERET0Cri8fzfObvcv1m5h74DMpASltot7dkBPXx/tBr5XRdURERER0euCQRBpbMrbnujUwE7jMOfTbh6cCaRlVlZW2LBhA06dOoXr168jPj4eeXl5cHBwQJs2bTBs2DAMGTKkxMClMjg5OeHixYvYuHEjduzYgeDgYKSnp8PW1hZt27aFr6+vWnvtzJs3D7169cLq1atx9uxZJCQkwMrKCs2bN4efnx+GDx+ulXrr16+PGzduYPXq1di1axfCwsJQUFAANzc39O3bF59//nmpIVpZjIyMYGdnh+bNm+N///sfRo4cCRMTE63UTkREREQvr5JCID1DQ3zwwzLsXfI9Eh6FKh07t3MzRDo6aDtgSBVVSURERESvA5G0pB3SqVJFR0cLm8VHRUXB1dVV7XNDQ0NRVFQEPT09NGjQoLJKrDYSiQSZmZkAZLMxdHS4lRVRTVVTX89yc3Nx/PhxAEDPnj1hbGxczRUREWmGr2NEFVNSCAQA3l17oPdnU5CVmoxtX3+Jp2mpxfp0/sCXYZAW8LWMiF51fB0jev1UJDcoDd9hJyIiIiIiItKS6JB7JYZAANCk29sAAHMbOwyYNhu6+vrF+pzd7o/okHuVVSIRERERvWYYBBERERERERFpiWsjb3QYIlvG2NFDecazlaMTXLy8hftO9Rui17jJxcbQMzCAuY1d5RZKRERERK8NBkFEREREREREWvTG0BEYMns+UmOjldqbdHu72P6dXp27w+eFZeCKCgqwb+l8FOTmVHqtRERERFTzMQgiIiIiIiIi0rLstFQU5OYK90UiHTTu8qbKvp2GfYh6rXyU2pKfROLI6p8hlUgqtU4iIiIiqvkYBBERERERERFp2b3Ak0r36zRvCXNb1cu96ejoou+k6bB1ra3UHnblIi7s2lZpNRIRERHR64FBEBEREREREZEWpcfHISr4jlJbk25vl3qOoYkJ3p3+LYzMzJXaL/7zF0IunNF6jURERET0+mAQRERERERERKRF904rzwYyMjOHR5t2ZZ5n5eiE/lO+gkhH+b/qx9asQMKjMK3WSERERESvDwZB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9D//8z+aN29en/PRjgG5b7C0Y/1FOwY4Q7a2ZWVlZRo9erS2bt0adxsk+e/haEVbBkBKX1tXU1OjmpqakHHLly83h4888siQaclq6wDkBi4Nh5y0fft2czi8S+uMGTPMm+S99tprUZfR1dWlt99+O2IeAEiGbdu26cQTT9TOnTvldrv16KOP6mtf+1pc89KOARjsaMcAZNqxxx4rSfr000+1a9euqOWsbdQxxxwTMo22DECmPf744+bwueeeGzE9GW0dgNxAEISc4/P59I9//MN8Pm3atJDp5eXlOvHEEyVJS5cujdo99p///Kf2798vSTrrrLNSVFsATlRfX6958+aprq5OknTffffp/PPPj3t+2jEAgx3tGIBM+/rXv24Oh9+kPaitrU1//etfJfl7/wRvyB5EWwYgk1auXKlFixZJkk488UTbnknJaOsA5AaCIAwqCxcuVE9PT9TpPp9P1113nT788ENJ/l8+jB8/PqLcj370I0mS1+vVVVddFbHM3bt364YbbpAkVVZW6rvf/W6yNgGAwzU1NWnBggX69NNPJUl33323Lr/88oSXQzsGYLCjHQOQSWeddZYmTpwoSbrtttu0adOmiDI//vGP1djYaA7boS0DkCpbtmyJOm3jxo0655xzZBiGCgoKdM8999iWS1ZbB2Dw4x5BSJuNGzfqjTfeCBnX0tJi/h/+y4STTz5ZI0aMCBn3b//2b7rlllt0zjnn6KijjtLYsWNVUlKixsZGvfvuu3rkkUe0bt06SVJFRYX+8Ic/2NblhBNO0Hnnnacnn3xSixYt0vz583X11VertrZWH3zwgX75y1+aO9xf//rX5k34ADjbQNuxzs5OnXbaaXrvvfckSRdccIHmzZtnhtd2SktLbQNt2jEA/ZGM4zFJWrx4ccjlRazXlX/vvfdCllNWVqZzzjknYhm0YwD6KxltWX5+vu655x6dccYZ2r9/v4455hj9x3/8h2bOnKnGxkYtXLjQvNLEscceq4suusi2LrRlAFLlyiuvVF1dnS6++GIdccQRqqysVH19vV588UXdf//9amtrk8vl0n333RdyzzKrZLV1AHKAAaTJww8/bEiK+/Hqq69GLCPeeadOnWqsXbs2Zn3a2tqMU089Neoy3G638fOf/zw1LwaAQWmg7di//vWvhOaXZBx//PFR60M7BiBRyTgeMwzDOP744+NextixY6PWh3YMQH8kqy0zDMN44IEHjIKCgqjzzpw502hoaIhZH9oyAKlw2mmnxWzbhg4dajz++ONxLSsZbR2AwY0eQRhU1q1bp1deeUXLli3Thg0b9MUXX6ipqUklJSWqra3V4YcfrrPOOktf+9rXlJ+fH3NZxcXFeu655/T444/rkUce0fvvv6+mpiYdcMABOu644/T9739fs2bNStOWAUDiaMcADHa0YwAy7fLLL9esWbN0zz336OWXX9aOHTtUWlqqqVOn6oILLtB3v/tdeTyxT53QlgFIhRtvvFFf+tKXtHz5cm3dulV79uxRZWWlJk6cqDPPPFPf/e53VV1dHdeyktHWARjcXIZhGJmuBAAAAAAAAAAAAJLPnekKAAAAAAAAAAAAIDUIggAAAAAAAAAAAHIUQRAAAAAAAAAAAECOIggCAAAAAAAAAADIUQRBAAAAAAAAAAAAOYogCAAAAAAAAAAAIEcRBAEAAAAAAAAAAOQogiAAAAAAAAAAAIAcRRAEAAAAAAAAAACQowiCAAAAAAAAAAAAchRBEAAAAAAAAAAAQI4iCAIAAAAAAAAAAMhRBEEAAAAAAAAAAAA5iiAIAAAAAAAAAAAgRxEEAQAAAAAAAAAA5CiCIAAAAAAAAAAAgBxFEAQAAAAAWeDmm2+Wy+WKeCxbtqzfy3zkkUfM5WzevDlpdc0063ZZH4888kimqwYAAABkHYIgAAAAAAOybNky25PyLpdLxcXFGjVqlE455RT94Q9/UEtLS9zLff3113XZZZfpy1/+sioqKlRQUKDa2lodeuihOvvss/Wb3/xG7777rnw+X8rrNG7cONtleTweDRs2TEcddZR+8pOf6PPPP0/otcu0Sy65JOrr5PF4NHToUM2aNUs33XSTduzYkenqAgAAAOgHgiAAAAAAKdPR0aHt27dr8eLFuuqqqzRt2jS9//77Medpa2vTueeeq+OPP14PPfSQPv74YzU3N6u7u1s7d+7U+++/r6eeekrXXHONDj/8cC1ZsiTldYqmp6dHe/fu1cqVK3X77bfry1/+su6///5+Lcvqgw8+MB8zZswY8PL6o6enR42NjXr77bf1//7f/9OUKVO0aNGijNQl3Ne//nXz9XnxxRczXR0AAAAgq3kyXQEAAAAAueOKK67QlVdeaT7fvXu3Pv30U91111367LPPVFdXp1NOOUWffvqpysvLbZdx7rnn6vnnn5ckTZo0SZdffrlmzJihqqoqtba2asOGDXrzzTe1aNEi1dfXp6VOQbW1tSHBg9fr1datW/Xkk0/q8ccfV2dnp6644gqNGTNGp5xySp91i2batGn9nre/XnzxRdXW1prPu7u7tW3bNv3973/XY489pubmZp177rl6//33NWXKlLTXz6qyslKVlZWSpLKysozWBQAAAMh2BEEAAAAAkqampiYixJgzZ44uvfRSnXLKKXrllVe0c+dOPfDAA7ruuusi5n/hhRfMEGjBggX63//9XxUWFoaUOeaYY3TJJZfovvvu09NPP63Ro0entE5W+fn5Ecs69NBDdcYZZ2j69Om67rrrZBiG/r//7/8bUBCUCQcddJDGjRsXMu6www7TGWecoXHjxunWW29VV1eXfvvb3+ree+/NTCUBAAAAJIxLwwEAAABIuYKCAt18883m85deesm23NNPP20O33nnnREhkFVeXp6+8Y1v6OCDD05pneJ19dVXa8yYMZKktWvXxtVbabD48Y9/LJfLJUlauXJlhmsDAAAAIBEEQQAAAADS4vDDDzeHt27dalumrq7OHJ40aVJW1Clebrc75H4+W7ZsGdDy4tHY2Kif/OQnmjJlioqLi1VTU6N58+bpb3/7W1LXU1ZWpmHDhkny32PJzpw5c+RyuTRnzhxJ0saNG/W9731PEyZMUHFxscaNG6fLLrss5G8sSR9++KEuvfRSTZgwQUVFRRo9erSuuOKKnArSAAAAgEzi0nAAAAAA0iIvL88c9njsv4oUFBSYwx9//LEOPfTQjNcpEdZl9PT0DHh5sXz00UeaN2+edu7caY7r6OjQyy+/rJdffln/5//8Hx133HFJWVdLS4v27NkjSWavp1iWLl2qs88+W83Nzea4uro6PfTQQ3r22Wf12muvacqUKXriiSd06aWXqrOz0yy3bds23XfffXrhhRf01ltvhdy3CAAAAEDi6BEEAAAAIC0++ugjczj8XjRBhx12mDn8/e9/Xw0NDRmvUyLWrVtnDqcywNi3b58WLFhghkDf+ta39Pzzz2vNmjV6/PHHdcQRR+ihhx7SH/7wh6Ss784775RhGJKkM888M2bZHTt26Jvf/KYqKyv1u9/9TitXrtTy5ct19dVXy+Vyqb6+Xt/97ne1evVqXXzxxZowYYIefPBBrVq1Sq+++qouuugiSf7g6Nprr01K/QEAAAAno0cQAAAAgLS44447zOFzzjnHtsxll12mO+64Q21tbXrzzTc1duxYnXLKKZo9e7aOPPJIHXbYYTHvG5SKOsXrqaee0scffyxJmjBhgkaPHj2g5cVy6623atu2bZKkX/3qV7rxxhvNadOnT9c555yj008/XUuWLIl7mZ999plaWlrM516vV9u2bdNTTz2lRx55RJJ0zDHH6LLLLou5nA0bNmjy5Ml68803VV1dbY4/9thjlZ+fr//6r//Sm2++qdNOO01HHnmklixZopKSErPcnDlz1NHRob/97W/6xz/+oYaGhpDlAAAAAEgMPYIAAAAApMyePXv0xhtv6NRTT9UTTzwhSZo1a5bOO+882/JjxozR//zP/6isrEyS1N7ern/+85+6+uqrNWvWLA0ZMkSzZ8/W3Xffrb1796alTrH09PRo8+bNuu2223T++eeb46+//vp+1S0enZ2devjhhyVJX/nKV3TDDTdElMnPz9cf//hH5efnx73cBQsW6JBDDjEfhx12mM444ww99NBDGjFihO6++24tXbo0riDunnvusQ1vrrzySnN49+7dWrhwYUgIFHTFFVdI8odRK1asiHsbAAAAAEQiCAIAAACQNLfccotcLpf5GD58uI477ji98MIL8ng8uvDCC7V48eKYAcXpp5+ujz76SFdddZWGDh0aMq2zs1PLly/Xtddeq4kTJ+pPf/pTWuoUVFdXF7Isj8ej8ePH66c//ak6Ojok+UOMf//3f+9zWf21du1aNTY2SpK+853vyO22/1o3atQonXTSSUlZ544dO/Twww9r8eLFfZatrKzUggULbKeNGzdOFRUVkvwh1tSpU23LffWrXzWHP//8837UGAAAAEAQQRAAAACAtDjooIN0/fXXm0FALKNHj9bvf/97ffHFF1q5cqXuueceXXrppZo8ebJZpqmpSd/5znfM3jGprlMsZWVlOuWUU/T8888n7b480XzwwQfm8IwZM2KWnTlzZtzL/de//iXDMMyHz+fTnj179MILL+j444/XunXrdPbZZ+v3v/99zOVMnjxZLpcr6vQhQ4ZI8r/20VRWVprDzc3NcW8DAAAAgEjcIwgAAABA0lxxxRXm5b+8Xq927NihRYsW6aGHHtJHH32kOXPm6K233tKXvvSluJbn8Xg0c+bMkEBj7dq1uvrqq/XGG29Ikq677jqdc845Ki8vT3mdamtr9eKLL4bUr6KiQiNGjIjaMyfZgr2BJKmmpiZm2QMOOKDf63G5XBo6dKhOPvlkzZ8/X3PnztXy5ct1zTXXaP78+VFfL7tLvVkFX6dY5ayvZU9PTz9qDwAAACCIHkEAAAAAkqampkbTpk3TtGnTdOihh+rUU0/Vfffdp6eeekput1t79+7V+eefP6CT+9OnT9fixYs1adIkSf5gZOnSpWmpU35+vrmsadOmacqUKaqtrU1bCCRJhmGYw7F63oSXHYi8vDxde+21kvxhWjyX5AMAAACQHQiCAAAAAKTcaaedpu9973uSpHfeeUePPPLIgJZXWlqqb3/72+bzjRs3ZrxO6WK9b9IXX3wRs2x9fX3S1jtlyhRz2Hp5OgAAAADZjSAIAAAAQFr8/Oc/V2lpqSTplltuUVdX14CWV1tbaw73t0dOsuuUDocccog5vHr16phl+5qeCK/Xaw53d3cnbbkAAAAAUosgCAAAAEBa1NTU6N///d8lSVu3btWjjz4aUSaRS5mtWbPGHB4/fnzK6pRtpk+frqqqKknSY489FvU12759u5YsWZK09VpDpdGjRydtuQAAAABSiyAIAAAAQNr8+Mc/VlFRkSTp17/+dcR9ea644gr96le/0t69e2Mu56WXXjJDm9LSUs2bNy9ldco2hYWFuvTSSyVJ7733nv7rv/4roozX69Xll1+etB5OjY2Nuu2228znp556alKWCwAAACD1CIIAAAAApM2IESN02WWXSZI+//xzPf744yHTd+/erZ/97GcaOXKkzjrrLP32t7/V0qVL9e6772r16tV64okn9O1vf1snn3yyeamyX/ziF6qoqEhZnbLRTTfdpFGjRkmSbrjhBp1//vlavHix3nnnHT355JM6+uij9cILL2jGjBlxL/Ozzz7Thx9+aD4++OADLV++XHfccYcOPfRQbdiwQZJ07LHH6mtf+1pKtgsAAABA8nkyXQEAAAAAznLDDTdo4cKF6urq0q9+9StdcMEF5j1+DjzwQElSV1eXnn76aT399NNRl1NUVKRbbrlFV199dUrrlI2GDBmixYsXa968edq1a5eeeOIJPfHEEyFlLr30Us2ePdvsPdSXBQsW9Flm7ty5+vvf/y6Xy9WvegMAAABIv+z9ZgMAAAAgJ40ePVrf+c53JEmffPKJ/vGPf5jTfvvb36qurk7333+/LrzwQh166KGqqqqSx+NRcXGxamtrNW/ePP3yl7/UZ599puuvvz7ldcpWBx98sNavX6/rr79ekydPVmFhoYYPH665c+fq8ccf10MPPTTgdZSVlWny5Mk6//zz9cwzz+jll1/W0KFDk1B7AAAAAOniMhK5GysAAAAAICVuvvlm3XLLLZIkvqbFb/PmzRo/frwk6eGHH9Yll1yS2QoBAAAAWYZLwwEAAABAlvnwww/N4fHjx6u0tDSDtck+TU1N2rZtmyRpx44dGa4NAAAAkN0IggAAAAAgyxxyyCHm8Kuvvqo5c+ZkrjJZ6Omnn4773kcAAACA03GPIAAAAAAAAAAAgBzFPYIAAAAAAAAAAAByFD2CAAAAAAAAAAAAchRBEAAAAAAAAAAAQI4iCAIAAAAAAAAAAMhRBEEAAAAAAAAAAAA5iiAIAAAAAAAAAAAgRxEEAQAAAAAAAAAA5CiCIAAAAAAAAAAAgBxFEAQAAAAAAAAAAJCjCIIAAAAAAAAAAAByFEEQAAAAAAAAAABAjiIIAgAAAAAAAAAAyFEEQQAAAAAAAAAAADmKIAgAAAAAAAAAACBHEQQBAAAAAAAAAADkKIIgAAAAAAAAAACAHEUQBAAAAAAAAAAAkKMIggAAAAAAAAAAAHIUQRAAAAAAAAAAAECOIggCAAAAAAAAAADIUQRBAAAAAAAAAAAAOYogCAAAAAAAAAAAIEf9/6HPwUn6VjiqAAAAAElFTkSuQmCC", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "<Figure size 1000x600 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "\n" - ] - }, - { - "data": { - "image/png": "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wtbWFmZmZnBxcUHHjh0xbdo0nDx5Um/JM7Xx48fj+vXrePfdd+Hr6wtLS0s4OjqiVatWmDdvHq5fv46uXbuW69zL04cffojIyEisWLECr7/+Onx9fWFrawtTU1PUqFEDzZo1w4gRI7B69WpERkYa3XutIrRu3RrXr1/H9OnTxZVspd2XUJ+5c+fi0KFDGD58OHx9fWFtbV3kOaampvj5559x7do1fPLJJ2jRogWcnJxgZmYGNzc3dO3aFQsWLEBYWFiVB1JqmiXxTpw4geDgYPG+q6srDh48iMTEROzbtw8zZ85E3759UbduXdjZ2cHExAQ2Njbw8PBAz549MWPGDISEhCAkJKRCAilAeP9v166deJ97SxEREVUNiaqoAsdEREREREREREREREREZcSVUkRERERERERERERERFThGEoRERERERERERERERFRhWMoRURERERERERERERERBWOoRQRERERERERERERERFVOIZSREREREREREREREREVOEYShEREREREREREREREVGFYyhFREREREREREREREREFe6FDKXS0tKwbds2TJ8+Hd27d0e9evXg4OAAc3Nz1KxZEz169MD3338PmUxmcIz169dDIpEU61i/fn2Rc8rKysLixYvRvn17ODk5wdbWFo0aNcKMGTPw6NGjcnz2RERERERERERERERElU+iUqlUVT2Jynb06FG88sorRfZzcXHB5s2b0bdvX5229evXY9y4ccW63h9//IGAgACD7WFhYXj11Vdx7949ve0ODg7YunUrBgwYUKzrERERERERERERERERVTemVT2BquLl5YWePXuiTZs28PLygru7O5RKJaKjo7Fz507s3r0bSUlJeO2113DhwgU0b97c4FiHDx9G7dq1DbZ7enoabMvIyMDAgQPFQGrixIkYMWIErKysEBQUhAULFiA1NRXDhw9HSEiI0XkQERERERERERERERFVVy/kSimFQgETExOjffbs2YMhQ4YAAIYOHYpdu3ZptWuulAoPD4ePj0+p5jJ79mzMmTMHAPD999/j008/1WoPCQlBt27dIJfL0bNnTxw7dqxU1yEiIiIiIiIiIiIiIqpKL+SeUkUFUgDw+uuvo2HDhgCAkydPVsg88vPzsWzZMgBAo0aNMH36dJ0+nTp1wrvvvgsACAoKwqVLlypkLkRERERERERERERERBXphQylisvGxgYAkJOTUyHjHz9+HCkpKQCAsWPHQirV/+XQ3I9q9+7dFTIXIiIiIiIiIiIiIiKiivTC7ilVlDt37uDq1asAIK6YKm/BwcHi7e7duxvs17ZtW9jY2CAzMxOnTp0q93nk5OTgxo0bAABXV1eYmvLbgoiIiIiIiIiIiIjoRSWXy5GYmAgAaNasGSwtLctlXKYPGrKyshATE4P9+/fj+++/h0KhAAB8/PHHRs8LCAjAnTt38OTJE9jb26NevXro3bs33nvvPXh4eBg8786dO+JtY8GXqakp/Pz8cP36da1ziis6Otpo+9WrVzFo0KASj0tERERERERERERERM+38+fPo127duUy1gsfSq1fvx7jxo0z2D5jxgyMGjXK6BgnTpwQb8tkMshkMpw7dw4//vgjli5dismTJ+s9LyoqCoBQJtDR0dHoNby8vHD9+nUkJiYiNzcXFhYWRvs/fS4REREREREREREREVFVeuFDKUNatmyJ1atXo0OHDgb71K1bF0OHDkWnTp3E4Ofhw4fYtWsXdu7ciZycHEyZMgUSiQSTJk3SOT89PR0AYGtrW+R81PtbAUBGRkaJQqmS+P777+Hk5FQhYxMRERERERERERERUfWXnJyMmTNnAhC2/SkvEpVKpSq30Z5BKSkpYnm77OxshIWF4a+//sLff/8NPz8/LF26FAMHDtQ5LzU1Ffb29pBIJHrH/eeffzB06FDk5+fD2toaYWFhqFWrllYfPz8/PHz4EF5eXnj06JHReY4ZMwabNm0CIKyw8vT0LPZzLKp8X1xcHNq3bw8AuH//fonGft7l5OTg5MmTAIBu3bqVW91MIqLKwvcxInoe8L2MiJ51fB8jomcd38eIXjzR0dHw9/cHUPJMwpgXfqWUo6OjVum8du3aYcSIEdi0aRPGjh2LwYMHY926dQgICNA6z8HBwei4AwcOxLfffouvvvoKWVlZWLduHb788kutPuo377y8vCLnmZubK962srIqsr+mknyzWFlZlXj8F4WlpSVfGyJ6pvF9jIieB3wvI6JnHd/HiOhZx/cxohdDRf2cSytk1OfA6NGjMXz4cCiVSnz44Yd48uRJiceYOHGiuJJKc98pNTs7OwBCOb6iZGZmireLU+6PiIiIiIiIiIiIiIioOmEoZcTgwYMBCIHQoUOHSnx+zZo14eLiAgCIiYnRaVevYMrMzERKSorRsaKiogAItRsraj8pIiIiIiIiIiIiIiKiisJQygjNzbsiIyNLNYaxLbsaN24s3r57967BfnK5HGFhYQCARo0alWoeREREREREREREREREVYmhlBGaq5tKUzLv8ePHkMlkAIDatWvrtHfp0kW8ra+8n9rFixfF8n2dO3cu8TyIiIiIiIiIiIiIiIiqGkMpI3bs2CHebtasWYnP/+2338SVUt27d9dp79GjBxwcHAAAGzZsMLiqav369eLtIUOGlHgeREREREREREREREREVe2FDKXWr1+PnJwco32WLFmCgwcPAgB8fHy0VjVFRETgypUrRs//559/MHfuXACApaUlxo0bp9PH3NwcU6dOBQDcuXMHP/zwg06fkJAQrFu3DoAQbLVr187odYmIiIiIiIiIiIiIiKoj06qeQFWYPXs2pk+fjmHDhqFLly7w8/ODra0t0tPTcePGDWzZsgWnT58GIARHa9asgalp4UsVERGBnj17olOnThg0aBBatmyJmjVrQqVS4eHDh9i5cyd27twprnz64Ycf4OHhoXcun376KbZv34779+9j5syZePDgAUaMGAErKysEBQVh/vz5kMvlsLKywtKlSyv8tSEiIiIiIiIiIiIiIqoIL2QoBQDJyclYs2YN1qxZY7CPp6cnfv/9d/Tu3Vtve0hICEJCQgyeb21tjSVLlmDSpEkG+9jZ2eHAgQMYMGAAQkND8dtvv+G3337T6mNvb48tW7agZcuWxp8UERERERERERERERFRNfVChlKBgYE4evQogoKCcOfOHSQkJEAmk8HS0hJubm5o2bIlBg4ciDfffBPW1tY657dp0wabN29GSEgILl68iLi4OCQlJUEul6NGjRpo0qQJevXqhQkTJqBmzZpFzqdevXq4cuUKVqxYgR07duDBgwfIy8uDl5cXBgwYgI8//hje3t4V8VIQERERERERERERERFVihcylPLz84Ofnx8mT55cqvPt7OwwatQojBo1qtzmZGNjg5kzZ2LmzJnlNiYRERERERERERGVj5ycHKSkpCArKwsKhaKqp1OplEolnJ2dAQCPHj2CVCqt4hkRUVFMTExgbm4Oe3t72NraVpuf2xcylCIiIiIiIiIiIiIqDpVKhbi4OKSmplb1VKqMSqWClZUVAEChUECpVFbxjIioKHK5HLm5uUhPT4dE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YiyExwQ163i3y429zFk7A6uk6mBoVWdmVr1ZWm7nkaVYgaHWBjOZQuqFTyERAVisCpvak5YGSwqkWo9CKRERERERERERERFpNJBKO7M7FRUN92Nq62DqSJgtZkIiAgiJCABCD3u8x+Ohyu6iorSK1T9ksP6nvTVjFpsZV1Xt8oHDz+jG6PN6YLVZfNG6yDFPMa2IiIiIiIiIiIjIcW7f9sJGA6mmpJ3ZnbFTUmt+XjwznX3bC33Vos+YTCYCgq2krzxgCKTGTknlpucmGD7jqrkZrP0x0x9tihwTFEqJiIiIiIiIiIiIHOeSekUx6pwUoHmBVLW6wdSoc1JI6hXlow5961CzxKDx8G3ld7vbvEeRY4GW7xMRERERERERERERRp/Xk+T+MUccLKWd2Z2E1MhjMpCq1p6XKxTpSDRTSkREREREREREREQAWhwsHcuBVDXNmBI5egqlREREREREREREROS4czzvoyXiLwqlREREREREREREROS4c7zvoyXiD9pTSkRERERERERERESOS8frPloi/qKZUiIiIiIiIiIiIiJy3Dre9tES8SeFUiIiIiIiIiIiIiIiIuJzCqVERERERERERERERETE5xRKiYiIiIiIiIiIiIiIiM8plBIRERERERERERERERGfUyglIiIiIiIiIiIiIiIiPqdQSkRERERERERERERERHxOoZSIiIiIiIiIiIiIiIj4nEIpERERERERERERERER8TmFUiIiIiIiIiIiIiIiIuJzCqVERERERERERERERETE5xRKiYiIiIiIiIiIiIiIiM8plBIRERERERERERERERGfUyglIiIiIiIiIiIiIiIiPqdQSkRERERERERERERERHxOoZSIiIiIiIiIiIiIiIj4nEIpERERERERERERERER8TmFUiIiIiIiIiIiIiIiIuJzCqVERERERERERERERETE5xRKiYiIiIiIiIiIiIiIiM8plBIRERERERERERERERGfUyglIiIiIiIiIiIiIiIiPqdQSkRERERERERERERERHxOoZSIiIiIiIiIiIiIiIj4nEIpERERERERERERERER8TmFUiIiIiIiIiIiIiIiIuJzCqVERERERERERERERETE5xRKiYiIiIiIiIiIiIiIiM8plBIRERERERERERERERGfUyglIiIiIiIiIiIiIiIiPmf1dwPif06ns+b7rKwsP3bS/lRUVJCbmwtAZmYmwcHBfu5IROTI6D4mIscC3ctEpKPTfUxEOjrdx0SOP3WzgroZwtFSKCXk5OTUfD969Gg/diIiIiIiIiIiIiIiIu1JTk4OKSkprXIuLd8nIiIiIiIiIiIiIiIiPmfyeDwefzch/mW321m3bh0AnTp1wmrVBLpqWVlZNbPHli5dSmJiop87EhE5MrqPicixQPcyEenodB8TkY5O9zGR44/T6axZZW3w4MEEBQW1ynmVPghBQUGMGjXK3220e4mJiSQnJ/u7DRGRFtN9TESOBbqXiUhHp/uYiHR0uo+JHD9aa8m+urR8n4iIiIiIiIiIiIiIiPicQikRERERERERERERERHxOYVSIiIiIiIiIiIiIiIi4nMKpURERERERERERERERMTnFEqJiIiIiIiIiIiIiIiIzymUEhEREREREREREREREZ9TKCUiIiIiIiIiIiIiIiI+Z/J4PB5/NyEiIiIiIiIiIiIiIiLHNs2UEhEREREREREREREREZ9TKCUiIiIiIiIiIiIiIiI+p1BKREREREREREREREREfE6hlIiIiIiIiIiIiIiIiPicQikRERERERERERERERHxOYVSIiIiIiIiIiIiIiIi4nMKpURERERERERERERERMTnFEqJiIiIiIiIiIiIiIiIzymUEhEREREREREREREREZ9TKCUiIiIiIiIiIiIiIiI+p1BKjkulpaUsWLCAJ598kksuuYQePXpgMpkwmUykpKQ06xwHDhzg7bff5k9/+hMnnngiPXr0IDw8nMDAQBITEznzzDN58cUXKSsra3ZfH330EWeeeSaJiYkEBQWRkpLClVdeyZIlS1r4SUXkWNUa9zGPx8OiRYu4//77OfXUU0lMTCQgIICIiAgGDhzILbfcwpo1a46oL93HRKS5WuM+BrBnzx4+++wz7rnnHn7zm98QERFRc54HHnjgiPvSfUxEjkRr3cuqbdiwgZtuuolevXoRHBxMp06dOOWUU3j55ZdxOp3NPo/uZSLiC7Nnz+aiiy4iOTmZwMBA4uLiGDt2LE899RTl5eXNPk9r3etEpIPyiByHJkyY4AEafXXv3r1Z53j11VcPeY7651u+fHmT56qoqPCce+65hzyH2Wz2PPjgg63wyUXkWNEa97Fu3bod9h5mMpk8d999t8ftdjd5Lt3HRORItcZ9bNeuXU3ew/7+9783ux/dx0SkJVrjXlbttdde8wQGBh7yfGPGjPHk5uY2eQ7dy0TEF4qLiz3nnXdek/93V+/evT2bNm067Lla414nIh2bZkrJccnj8dR8Hx0dzemnn05YWNgRncNkMtG7d2+uv/56XnjhBb744guWLl3KggULePfddznzzDMB2L17N6effjpZWVmHPNfUqVOZPXs2ABMnTmTWrFksXbqU119/ndTUVNxuN/fffz+vvfZaCz6tiByLWuM+tnfvXgB69erFX/7yF7788kuWL1/OwoULefDBB4mOjsbj8fD444/z17/+tclz6T4mIkeqNe5jdc9hMpno1asXp5xySov60X1MRFqiNe5lAN999x033HADlZWVxMfH8+yzz/Lrr7/y7bffcuGFFwKwZMkSLrzwQtxu9yHPo3uZiLQ2j8fD7373O7766isARowYwXvvvcfy5cuZN28ed955J4GBgWzbto2zzjqLvLy8Q56rte51ItLB/X979x5VVZ3/f/x19AAqiGiJRuIdxcJJ8543HHG8paZpU1opo06hzQzppDX1LWlSm5XlJcfxMoNYE1beGGZG8UJaaCOaqWiaoiaCl1TEAg0Q3L8//LkXxAERz/ZweT7WOms+53w++3PenFnrhfQ+e28XNsQAl1myZInx0UcfGcnJyeZrTZo0ua1vs127du2Wa+bOnWt+02PKlCkO12zbts1cM2TIECMvL6/Q/IULF8yzGerWrWtkZGSUqj4AlZszcqxbt25GXFxcsWdBHTt2zKhfv74hybDb7cbx48cdriPHAJSFM3Ls4sWLxltvvWVs3LjRuHTpkmEYhrF169bbPlOKHANQVs7627Jly5aGJMPb29s4duxYkTWTJk0yc2rFihUO9yHLAFhh1apVZrb069fPyMnJKbJm8+bNRvXq1Q1Jxu9+9zuH+zgr6wBUfDSlgP/vdv9wKI1r164ZXl5ehiSjY8eODtcMGjTIkGRUr17dSE1Ndbhm5cqV5i/lOXPmOK0+AJWLFTn2/vvvm/nz3nvvOVxDjgFwFmfkWFmaUuQYAGe63Sz79NNPzXyZPXu2wzVXrlwx6tata0gygoKCHK4hywBYoeAlQY8ePVrsujFjxhiSDHd3d/PLQgU5K+sAVHxcvg+wkN1ul4eHhyQpOzu7yHxWVpbi4+MlSf369VOjRo0c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", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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+5OamgrAxx9/TEREBL/++iu2trYPjCsqKooePXrw3nvvsXLlSry8vAgMDGTEiBEMHDiQL7/8kt9//x07Ozs6d+5s8qH3ypUrODs78+2337J27VqmTZuGVqulYcOGnDhxIl/PT7169YwJ3Ndff20se3rvvfeMbVJSUnjllVd44YUXWLlyJcOHDwcyevYaNWrEjBkzWL9+PUOGDGH37t08//zzxufkXl26dKF69er8/vvvDBgwgMWLF9OvXz/j+rCwMLp27UrVqlVZsmQJf/31F0OGDCEtLS3Lvr766iuio6OZN28e3333HZs3b6Zbt2506dIFR0dHgoOD+fLLL1m4cKFJD8bDnP/9Ll++TIMGDVixYgVBQUGsWbOGyZMn4+joyM2bN3N5xrMXGRnJW2+9Rffu3fn777/5+OOPjeumTJnCxo0bmTBhAmvWrKFGjRps2rSJJk2aEBsby8yZM1m5ciU+Pj507do12/K89957D0tLSxYvXsy4cePYvHkzb731lnH9ihUrqFq1KnXr1jU+BytWrMgx3rCwMPR6PR07djS2nz59OgAnTpygcePGHD16lClTprB8+XJq1apFQEAA48aNe6jnJy0tjYsXL2bpBW/UqBGRkZG8+eabbNmyhTt37uR73xEREWi1WqpWrZpr25s3b3L9+vVi18ssRJGkCiHEEzB37lwVUPfs2aMmJyerVatWVX19fVWDwaCqqqo2b95cfeaZZ0y2qVSpkgpk+Xn22WfVyMjIfB9XVVU1PT1ddXNzU728vNT09HRju/j4eLVMmTJq48aNs93P//73P9XW1jZf51ypUiX1xRdfNJ6fn5+fqqqq+tdff6mKoqgRERHqsmXLVEDdtGlTjvtJS0tTExISVFtbW/X77783Wbd9+3ZVq9Wqffv2VX/++WcVUGfPnp3tcxAREWFc1rx5cxVQ9+7da1x2/fp11cLCQtXr9erly5eNy8PDw1VAnTJlygNjTElJUatVq6b269fPuDwiIkIF1Llz5+a4raqq6p49e3Js97///U8F1J9//vmB+zAYDGpqaqp6/vx5FVBXrlxpXDd06FAVUMeNG2eyzccff6xaW1sbX4cTJkxQATU2NjbH42zatEkF1Jdfftlked++fVVA7dOnj8nyzp07q05OTibLKlWqpP7vf//L0/lnJzAwULW0tFSPHTuWY5vsrvu98d/7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", - "text/plain": [ - "<Figure size 1000x600 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "\n" - ] - }, - { - "data": { - "image/png": "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RicWl42NDS5duoQVK1bA09MTDg4OWo0gcnV1xeXLl7Fz504MGjQILi4usLCwgIWFBVxcXDB48GDs3r0bly9fLvboSX1o0KABBgwYIO4vXrxYMiWjl5cXbt68iaioKGzYsAFjxoxBmzZtULlyZZiZmcHIyAh2dnZwdXVF//79sXLlSty/fx+rVq3SairWovj666/F3/no6GjJvzWIiIjo9ZIJgh4nGyYiIiIiojJj/fr1GD9+PID8BeWVF4knIiIiIiIiUuDIJCIiIiKid9SuXbvE7RYtWpRiJERERERERPQm48gkIiIiIqJ30J9//okPP/wQAGBqaoqHDx/C3t6+dIMiIiIiIiKiNxJHJhERERERvUXu37+PQYMG4cKFC1D1vbHs7GysXr0agwcPFsvGjh3LRBIRERERERGpxZFJRERERERvkZiYGNSoUQMAULlyZbi7u8PR0REymQwPHz5EUFAQnj9/LtavV68eQkJCYGVlVVohExERERER0RuOySQiIiIioreIcjKpMJ07d8bOnTtRoUKFEo6KiIiIiIiIyjImk4iIiIiI3jKXLl3CwYMHERQUhAcPHuDp06dISkqCtbU1HB0d4eHhgUGDBqFr166lHSoRERERERGVAUwmERERERERERERERERkVoGpR0AERERERERERERERERvbmYTCIiIiIiIiIiIiIiIiK1mEwiIiIiIiIiIiIiIiIitZhMIiIiIiIiIiIiIiIiIrWYTCIiIiIiIiIiIiIiIiK1mEwiIiIiIiIiIiIiIiIitYxKOwAqnszMTISHhwMAHBwcYGTEt5SIiIiIiIiIiIiI6F2Vm5uLhIQEAEDDhg1hZmZW7DaZeSjjwsPD0bJly9IOg4iIiIiIiIiIiIiI3jCXLl1CixYtit0Op7kjIiIiIiIiIiIiIiIitTgyqYxzcHAQty9dugRHR8dSjObNkZGRgTNnzgAAPD09YW5uXsoRERHpjvcyIirreB8jorKO9zEiehvwXkb07nn06JE4o5lyDqE4mEwq45TXSHJ0dISzs3MpRvPmyMjIQIUKFQAAzs7O/CNJRGUS72VEVNbxPkZEZR3vY0T0NuC9jOjdppxDKA5Oc0dERERERERERERERERqMZlEREREREREREREREREajGZRERERERERERERERERGoxmURERERERERERERERERqMZlEREREREREREREREREajGZRERERERERERERERERGoxmURERERERERERERERERqMZlEREREREREREREREREajGZRERERERERERERERERGoxmURERERERERERERERERqGZV2AEREREREREREREQlRS6XIy0tDSkpKcjOzkZeXl5ph/RayeVylC9fHgBw//59GBhwfAHRm8zQ0BAmJiawsbGBlZXVG/M7y2QSERERERERERERvZVSU1Px4MEDCIJQ2qGUGkEQYG5uDgDIy8uDXC4v5YiISJPc3FxkZWUhNTUVMpkMTk5OsLa2Lu2wmEwiIiIiIiIiIiKit4+qRJJMJoOhoWEpRlU6ZDIZAMDIiI+Did50eXl54n1LEAQ8ePDgjUgo8e5BREREREREREREbxW5XC5JJFlZWcHe3h4WFhZiYuVdIZfLkZKSAgCwsbF5Y6bMIiLVBEHAixcv8OzZM6SlpYkJJVdX11L9/eWdg4iIiIiIiIiIiN4qigewQH4iydnZGZaWlu9cIomIyh6ZTAZLS0s4OzvDysoKQH6CKS0trVTjYjKJiIiIiIiIiIiI3iqKkTgAYG9vzyQSEZU5MpkM9vb24r7yfa00MJlEREREREREREREb5Xs7GwA+Q9jLSwsSjkaIqKiUZ6aU3FfKy1MJhEREREREREREdFbJS8vDwBgaGjIUUlEVGbJZDIYGhoCeHlfKy1MJhEREREREREREREREZFaTCYRERERERERERERERGRWkwmERERERERERERERERkVpMJhEREREREREREREREZFaTCYRERERERERERERERGRWkwmEREREREREREREVGZlJiYiM8//xxubm4wNzeHTCaDTCbDqlWrSjs0orcKk0lEREREREREREREVOYkJyejTZs2+OGHH3Dnzh1kZmaqrZuSkoJly5bBw8MD9vb2MDU1RbVq1eDt7Y2jR48W2ldubi7CwsLw66+/Yty4cWjUqBGMjIzE5FVMTIzO8aenp2PNmjXo0qULnJycYGpqikqVKsHd3R1Tp07F8ePHC20jKCgIH330EVxcXGBmZgZHR0f07NkTO3bs0DkeTV68eIEVK1agZcuWsLe3h5WVFdzc3PD555/j/v37Gs/19/cXr9OrPwYGBrCxscF7772HiRMnIjQ0VK9xk/4YlXYARERERERERERERES6WrNmDSIjIwEAs2fP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eSlHRESkG97HiKis432MqOyKjIxEbm4ujIyMUKdOndIOp1TJ5XKkpKQAyB9BYmBgUMoREZEuinI/K4m8Ae8cVGbF3bmpMpH0qhYfesPSrpzKNs4G+CPuzs2SCpGIiIiIiIiIiIiIqMxjMonKLOd6DdBmYP5QTU0jjEzMLdBhRME5QwGgzcChcK7XoMRiJCIiIiIiIiIiIiIq67hmEpVpbb2Ho1rDJoUmhOq164jrJ48h7vYNsczA0BD123cu6RCJiIiIiIiIiIiIiMo0jkyiMk+bkUUymQydx0yETGlOWHleHgI3/VaSoRERERERERERERERlXlMJtE7w6GaC5r26CMp+y80BNFXLpVSREREREREREREREREbz4mk+id0nbQcFjY2knKAjf9htzs7NIJiIiIiIiIiIiIiIjoDcdkEr1TTC0s4Tl8tKQs+XE8Qg7sLaWIiIiIiIiIiIiIiIjebEwm0TunvmdnVKlbX1J2af9uJD+JL6WIiIiIiIiIiIiIiIjeXEwm0TtHJpOhy5iJkMlefvxzc7IRuGlDKUZFRERERERERERERPRmYjKJ3kkVXWqicffekrLoy8H4LyyklCIiIiIiIiIiIiIiInozMZlE7yyPwSNgbmMrKQvc+Btys7NLKSIiIiIiIiIiIiIiojcPk0n0zjKztILnMB9JWdLjR7h88I/SCYiIiIiIiIiIiIiI6A3EZBK90xp06ALHOnUlZRf370ZKwpNSioiIiIiIiIiIiIiI6M3CZBK902QGBugyZhIgk4lludlZCNy0vhSjIiIiIiIiIiIiIiJ6czCZRO+8SjVro3HXXpKyqJAgxFy9UkoRERERERERERERERG9OZhMIgLgMeQjmFnbSMr+8f8VuTk5pRQREREREREREREREdGbgckkIgDmVtZoP3SUpOz5o4e4cmhfKUVERERERERERERERPRmYDKJ6P817NQNlWu7SsqC9+1EytMnas8JfRxapL6Keh4RERERERERERER0evGZBLR/5MZGKDLmEmATCaW5WZl4fRmP5X1115di1FHR8EvXPVxdfzC/TDq6Cisvbq2WPESEREREREREREREb0OTCYRKalcqw4ade4hKfv34nncu35VUhb6OBTrrq0DAKwKXaV1Qskv3A+rQlcBANZdW8cRSkRERERERERERMWQmJiIzz//HG5ubjA3N4dM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LseZrb9BqdRuI/KLzl/A1thWFFt3cx2CooK0VBERERERERERERG9jthMohpPqVQWODNJZiArMM6glh4GTGsLqZGuKO53OBTB1yM1WSJVcbXt6qN9v3dFsdCb/gi57qulinIY6xtjudtySIRX/ynIVmZjgc8CpGalarEyIiIiIiIiIiIiep2wmUQ1XnJWMuRKuSiWf5s7VdzaCH0mtIYgEUTx09vu4WVYoqZKpGqg67CRqGVuIYqd27YRWRnpWqooR7s67TC57WRR7EnSE3j6eWqpIiIiIiIiIiIiInrdsJlENV58enyBWFHNJACwb2mBbsObiWLZWQocWReIlPgMNVdH1YW+oRG6jx4viiVGvcS1v721VNErk9pOQlsr8blOB4IP4GTYSS1VRERERERERERERK8TNpOoxovPiBe9lupIYahrWOwzbXrYopWbjSiWkpCJI+sDIc/MVneJVE20cO0Ou5atRTG/f/Yj/kWElirKoSvRxXK35TDSFZ8JtujyIrxIeaGlqoiIiIiIiIiIiOh1wWYSVXmp/v4Vei4uI04UN5OaQRCEwh5REQQBbiMcYOsgE8VfhiXhzI77UCqV5aqJqjdBENB73BQIkjxnFGVl4ey237RYVQ57E3t86fKlKJaYmYiFFxdCoVRoqSoiIiIiIiIiIiJ6HbCZRFVa1K9rEDZqNKI3bizTc9EbNyJs1GhE/bqmwMokc6l5qebQ0ZGg76Q2MLUSr2IK9ouE/9GwMtVDNYdl/YZo33egKPbohh8e+l/VUkWvDGw8EH0a9hHFrr64iu13tmupIiIiIiIiIiIiInodsJlEVVaqvz+i164FAESt+rHUDaXojRsRterHnOu1ayEPCBLdlxnISl2DgbEeBkxrC30DHVH86j+P8CggqtTzUM3SdfiHMDKTiWJnt/6GrEztnrklCAK+cvkK1kbWovjPAT/jXsw9LVVFRERERERERERE2sZmElVZRh06wGr256rXpWko5W0kAYDV7M/xtLGJaExpVyblsqhXC29PaI38O+Od3HIHUeFJZZqLagapUS10Hz1eFEt4GQm/v/drqaJXzKRmWOa2DAJefUPLFXLM95mPNHmaFisjIiIiIiIiIiIibWEziao0y4kTS91QKqyRZDlxYqFnJpVVg9a10XVoU1FMnqnAkXWBSE3MLPN8VP05uvWEbYuWopjf395I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x/QIy1EUBe+PZqO7fp2Uo0ez4un//kv42HGUXbYUpaj9lb9nVXh9Kxz/BnbNgIxsBZjL2yFoH7SfAY0GgebRirtarQZXT3tcPXPecZiRplMdmXf3rqY0EqNT0WU+4hF6RkiKSycpLp2If3PIz0qDS0k7nD3URSbnknbUanP7Lpp7C0p3/v2843ErJN0xuv5oDkUe4lLspazYukvraFmmJW18c74XTDzetFZW1O/8HDVaP83hX37i5Lbf0Ot0qj63blzn9/nz8K7yK21ffZMy1XI+slMIIYQQQgghhBBPPosUk0r/n737jq+yPv8//jorOSN7QkggJCQBQtggKyAOVFy1otZVbe3S2tZV7fi11W+nHVZrW22t1j2qrXuhqJAgyF4JJCQQSCB7n5Wz7t8fJznJISfJCWTnej4e53G45/kcxDsn9/tc12fCBI4dO8bRo0eZN29eUMds2eL9FntycnDfVheiT6dUJh3wTGVKrHGYBiPGK3VICMl/fZSya6/DceSIb73l88+p/MX9TPz1r8beN/zValj0Dci8CN67B4re89/uMHvX738VLv0LJEwftKGE6LXEJYcRlxy4hZ61xeEXNtVUWthXVIdidhGhqFBxZv9t3C4PjVVWGqusAbeHmrSYokKwNHlbA+545zjG5FCiprexb8MJdrxz3LfvSAmSAEI0ITyY+yBXv3M1be423/qfbf4Z/7vsf8QaYodxdOJM6E1hrLrh68xdczF5Lz1D0eebuu1TebiIl3/+QzKXrCD32puImhC4bacQQgghhBBCCCFGryHp77V8+XIAXn/99aD2t1qtPP7446hUKlaulG80iwFySpi0X5nKlBipfBNDTxMZSco//4Em1v8Ge/P//kfdY48N06iGQOQk+MqLcNUzYOrevo3yL+DxFfDZ78DV1n37IFOpVJgiQ5mYHknWWRNYdPFULv7GLO57cBWJ16fz1xgHT4TbedXUxnqDgy9CnRzSubCY1IQYB+a7GW0Wly9I6mCtCOHkx2EjNkjqkBaVxg8X/tBvXYO9gZ9//nOUM53ISgy7yIRELvnBvVz3qz+RlDUz4D7FW/P591238tmz/8IubYqFEEIIIYQQQogxZUjCpJtuuglFUXjppZdYv359r/uazWauvvpqjh/33jS75ZZbhmKIYqyzNUJjmd+qAk+qVCaJYROSnEzK44+hMvi3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mD59uqNLAwAAAAoUwiQAAAAABcLq1autfrBvMBjk6empwMBAdevWTePHj9fNmzez3e/atWs1ZMgQ1alTR35+fnJzc1NAQIAaNmyovn37auzYsdq5c6fS09PzvKaqVata7cvFxUVlypRReHi4Xn/9dR0/fjxHXztHGzRokM2vk4uLi0qXLq0WLVro7bff1tmzZx1dLgAAAIAcIkwCAAAAUOAlJibqzJkzWrJkiUaMGKF69epp9+7dWd4THx+vhx56SG3atNHUqVN18OBBxcXFKSUlRefOndPu3bs1Z84cvfjii2rcuLGWLVuW5zXZkpaWpitXrmjz5s36+OOPVadOHX3zzTe56iuzvXv3mh5hYWH33F9upKWl6erVq9q0aZP++9//qlatWpo/f75DarlT7969TV+fpUuXOrocAAAAoMBycXQBAAAAAHCnYcOGafjw4abnsbGxOnz4sD7//HMdOXJEp06dUrdu3XT48GH5+vpa7eOhhx7SokWLJEmhoaEaOnSowsLCVKpUKd26dUtHjx7Vhg0bNH/+fF28eDFfarotICDALLxITU1VdHS0fvrpJ82cOVNJSUkaNmyYKleurG7dut21Nlvq1auX63tza+nSpQoICDA9T0lJUUxMjH799Vd9//33iouL00MPPaTdu3erVq1a+V5fZiVLllTJkiUlST4+Pg6tBQAAACjICJMAAAAAFDj+/v4WQUjbtm01ePBgdevWTStXrtS5c+c0adIkvfzyyxb3L1682BQkdenSRfPmzZO7u7tZm5YtW2rQoEGaOHGi5s6dq6CgoDytKTNXV1eLvho2bKiePXuqSZMmevnll2U0GvWvf/3rnsIkR6hRo4aqVq1qdq5Ro0bq2bOnqlatqv/85z9KTk7WF198oQkTJjimSAAAAAA5wjJ3AAAAAAoNNzc3vfPOO6bnf/75p9V2c+fONR1/9tlnFkFSZs7OznrwwQdVt27dPK0pu0aNGqXKlStLkrZv356tWVOFxauvviqDwSBJ2rx5s4OrAQAAAJBdhEkAAAAACpXGjRubjqOjo622OXXqlOk4NDS0QNSUXU5OTmb7G50+ffqe+suOq1ev6vXXX1etWrXk6ekpf39/dezYUbNnz7br6/j4+KhMmTKSMvacsqZt27YyGAxq27atJCkqKkrPPfecgoOD5enpqapVq2rIkCFmf8aStG/f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", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "<Figure size 1000x600 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "files = ''\n", "stat('RSRP [dBm]', 'Charge [uAh]', 'Charge per message to RSRP')\n", @@ -530,55 +104,20 @@ }, { "cell_type": "code", - "execution_count": 5, - "id": "496c41c7-7f30-4430-a8ac-4b3970ec4998", + "execution_count": null, + "id": "a0876cd4-36d4-4293-a1fa-6111e994247f", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\\input{\"mereni/compltem_charge_per_message_to_rsrp\"}\n", - "\\input{\"mereni/compnbiot_charge_per_message_to_rsrp\"}\n", - "\\input{\"mereni/compltem_data-rate_to_rsrp\"}\n", - "\\input{\"mereni/compnbiot_data-rate_to_rsrp\"}\n", - "\\input{\"mereni/compltem_maximal_transmit_current_to_rsrp\"}\n", - "\\input{\"mereni/compnbiot_maximal_transmit_current_to_rsrp\"}\n", - "\\input{\"mereni/compltem_average_transmit_current_to_rsrp\"}\n", - "\\input{\"mereni/compnbiot_average_transmit_current_to_rsrp\"}\n", - "\n" - ] - } - ], + "outputs": [], "source": [ "print(files)" ] }, { "cell_type": "code", - "execution_count": 6, - "id": "e87e081d-2bdc-4e4e-8528-21ec8216a232", + "execution_count": null, + "id": "bcb38c19-203c-4f5c-ae41-d0b29c19c878", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\\input{mereni/nbiot60_0_table}\n", - "\\input{mereni/nbiot60_64_table}\n", - "\\input{mereni/nbiot60_1024_table}\n", - "\\input{mereni/ltem60_0_table}\n", - "\\input{mereni/ltem60_64_table}\n", - "\\input{mereni/ltem60_1024_table}\n", - "\\input{mereni/nbiot61_0_table}\n", - "\\input{mereni/nbiot61_64_table}\n", - "\\input{mereni/nbiot61_1024_table}\n", - "\\input{mereni/ltem61_0_table}\n", - "\\input{mereni/ltem61_64_table}\n", - "\\input{mereni/ltem61_1024_table}\n" - ] - } - ], + "outputs": [], "source": [ "cols = [\n", "'K_U [dB]',\n", @@ -625,102 +164,10 @@ }, { "cell_type": "code", - "execution_count": 7, - "id": "78dc3f1a-b815-4455-b111-a2cdf9690654", + "execution_count": null, + "id": "153bddfa-dfe8-4832-962a-482ea8fc88fc", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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+wGUzF334osv6rgiIiIiIqrvjHRdABERERERERGpdu/ePWzYsAEymQzh4eE4dOiQuG7JkiVwcHDQYXVERERE1BAwCCIiIiIiIiKqp2JjY/HFF1+UW96rVy+8/fbbOqiIiIiIiBoaDg1HRERERERE1ABIpVK0atUKy5cvx7FjxyCVSnVdEhERERE1ABJBEARdF0FERERERERERERERESaxx5BREREREREREREREREeopBEBERERERERERERERkZ5iEERERERERERERERERKSnGAQRERERERERERERERHpKQZBREREREREREREREREeopBEBERERERERERERERkZ4y0nUBT6r8/HyEhIQAAJycnGBkxG8FEREREREREREREdGTqri4GElJSQAAX19fmJqaamS/TB90JCQkBF27dtV1GUREREREREREREREVM9cvHgR/v7+GtkXh4YjIiIiIiIiIiIiIiLSU+wRpCNOTk7i408//RT29vbo27cvzMzMdFgV0ZMtLy8Pp06dAgC+H4l0iO9FovqB70Wi+oPvR6L6ge9FovqB70XSZ3FxceJIYooZQm0xCNIRxTmB7O3t4ejoiCZNmvAHF5EO5eXlwdHREQD4fiTSIb4XieoHvheJ6g++H4nqB74XieoHvhfpSaGYIdQWh4YjIiIiIiIiIiIiIiLSUwyCiIiIiIiIiIiIiIiI9BSDICIiIiIiIiIiIiIiIj3FIIiIiIiIiIiIiIiIiEhPMQgiIiIiIiIiIiIiIiLSUwyCiIiIiIiIiIiIiIiI9BSDICIiIiIiIiIiIiIiIj3FIIiIiIiIiIiIiIiIiEhPMQgiIiIiIiIiIiIiIiLSUwyCiIiIiIiIiIiIiIiI9JSRrgug2pHL5cjOzkZmZiYKCwshk8l0XRJRgyWXy+Hg4AAAiImJgYEBs/L6yNDQEObm5rC1tYWpqamuyyEiIiIiIiIiIqrXGAQ1YFlZWXj48CEEQdB1KUR6QRAEmJmZAQBkMhnkcrmOKyJViouLUVBQgLS0NNjY2KBx48aQSCS6LouIiIiIiIiIiKheYhDUQKkKgSQSCQwNDXVYFVHDVxooGBnxx2N9VVxcLD7OyMiAVCqFo6OjDisiIiIiIiIiIiKqv3ilswGSy+VKIZClpSXs7e1hbm7Ou+KJakEulyMzMxMAYG1tzaHh6imZTIb09HQkJiYCAJKSkmBtbQ2pVKrjyoiIiIiIiIiIiOofXuVsgLKzs5VCoCZNmsDCwoIhEBE9EQwNDeHg4CDO5wSU/FwkIiIiIiIiIiKi8hgENUClPRYAwN7engEQET2RrK2txcc5OTk6rISIiIiIiIiIiKj+YhDUABUWFgIomcvE3Nxcx9UQEemGiYmJGISX/lwkIiIiIiIiIiIiZQyCGiCZTAagZHgk9gYioieVRCKBoaEhgJL5nYiIiIiIiIiIiKg8BkFERERERERERERERER6ikEQERERERERERERERGRnmIQREREREREREREREREpKcYBBEREREREREREREREekpBkFERERERERERERERER6ikEQERERERERERERERGRnmIQRFSFwMBASCQSSCQSrFy5UmWblStXim1q+m/69Oni/gICAqq9fXp6eo3OLyoqSmk/BgYGiI6OVmvbli1bKm27devWGtWgKdOnT1f5tTEwMICNjQ3atGmDadOm4fjx41XuS/H7rs6/is49Pz8f3377LQYOHAgnJydIpVK4ublhxIgR2L17d5V1yOVy3Lp1C1u3bsX8+fPh7+8PExMT8biBgYHV/CoBRUVF2Lp1K0aMGAF3d3eYmJjA0dERvr6+mD17Nvbu3VvhtrGxsfjtt9/w9ttvY8CAAbC2tq7y/UFERERERERERES6Y6TrAoiofhEEATt27MC7775babugoCBERETUUVW1IwgCMjMzkZmZibCwMPz0008YP348tm/fDqlUqrXj3rlzB8888wzu3LmjtPzRo0d49OgR/v77b2zduhW//vorLCwsVO5j+/btSiFhbd24cQOTJk1CaGio0vKUlBSkpKQgNDQUv/76K8aNG1du2+joaHh6emqsFiIiIiIiIiIiItI+BkFUI5eiUuHvaV9n29V38+fPx3PPPady3aVLlzBz5kwAwLx58zB//nyV7ezs7FQuDwkJUasGa2trtdpVxtTUFPn5+di+fXuVQdD27duVtqlvjhw5AldXVwCATCZDTEwMzp49i3Xr1iE/Px979uyBs7Mzvv766yr3Vdn3rVSTJk2UniclJWHQoEGIjY0FAIwbNw7Tpk2Dq6srHj16hG3btmHv3r04fPgwJkyYgL/++kvlfgVBEB8bGxvDx8cHxcXFar8uFN24cQP9+/dHamoqpFIpZsyYgWHDhqFJkyZIT09HdHQ0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95w9e7blPgcOHHBare5W+OsqfMyePdvdpQEAAAAehyAIAAAAQIUsX77c5ovyJpNJoaGhatKkiUaNGqUZM2bowoULDt935cqVmjhxojp27KgaNWooKChIjRo1UkxMjMaNG6fp06dr8+bNysvLc3lNzZs3t3mvgIAA1alTR3379tVTTz2lffv2lel752533nmn3e9TQECAateurX79+um5557T0aNH3V0uAAAAgHIgCAIAAADgMhkZGTpy5IgWLVqkBx54QJ07d1Z8fHyJ16Slpen666/X4MGD9dFHH2n79u06f/68srOzlZycrPj4eH377beaMmWKunfvrsWLF7u8Jntyc3OVmpqqdevW6dVXX1XHjh313nvvletehSUmJlqOXr16Vfh+5ZGbm6vTp0/rjz/+0P/93/+pffv2+v77791SS1Fjx461fH9++eUXd5cDAAAAeLQAdxcAAAAAwHtMmjRJkydPtjxPSUnRzp079cYbb2jXrl06ePCgRo0apZ07d6p69eo273H99ddr4cKFkqTWrVvrnnvuUa9evRQREaGLFy9q9+7dWrNmjb7//nudOHGiUmrK16hRI6vgIScnR0lJSZo3b57mzp2rzMxMTZo0SU2bNtWoUaNKrc2ezp07l/va8vrll1/UqFEjy/Ps7GwdPnxYX331lT755BOdP39e119/veLj49W+fftKr6+wWrVqqVatWpKkatWqubUWAAAAwNMRBAEAAABwmsjIyGIhxpAhQ3TXXXdp1KhR+u2335ScnKz3339fjz76aLHrf/75Z0sINHLkSH333XcKDg626nPZZZfpzjvv1LvvvqsFCxYoKirKpTUVFhgYWOxeMTExGj16tHr06KFHH31UZrNZ//jHPyoUBLlD27Zt1bx5c6u2bt26afTo0WrevLleeOEFZWVl6c0339TMmTPdUyQAAACAMmNpOAAAAAAuFxQUpKlTp1qe//rrrzb7LViwwPL49ddfLxYCFebv76+//OUv6tSpk0trclRsbKyaNm0qSdq0aZNDs5Wqiscff1wmk0mStG7dOjdXAwAAAKAsCIIAAAAAVIru3btbHiclJdnsc/DgQcvj1q1be0RNjvLz87Paz+fQoUMVup8jTp8+raeeekrt27dXaGioIiMjNXz4cH355ZdO/TzVqlVTnTp1JBl7LNkyZMgQmUwmDRkyRJK0Z88e3X///WrZsqVCQ0PVvHlzTZw40erPWJK2bt2qu+66Sy1btlRISIiioqI0adIkrwrSAAAAAHdiaTgAAAAAlcLf39/yOCDA9q8iQUFBlsfbt29XTEyM22sqi8L3yM3NrfD9SrJt2zYNHz5cycnJlraMjAwtXbpUS5cu1V//+lcNHDjQKZ/rwoULOnXqlCRZZj2VZMmSJRo3bpzOnz9vaTt48KA++ugj/fjjj1qxYoXat2+vzz//XHfddZcyMzMt/Q4fPqx3331XP//8s37//XerfYsAAAAAlB0zggAAAABUim3btlkeF92LJl+3bt0sjx988EGdPHnS7TWVRUJCguWxKwOMs2fPauTIkZYQ6MYbb9TChQu1ceNGzZ07Vz179tRHH32kGTNmOOXzvf766zKbzZKka6+9tsS+R48e1Q033KBatWrp7bff1rp167Rq1SrFxsbKZDLpxIkTuvvuu7VhwwbdcccdatmypT788EOtX79ey5Yt0+233y7JCI4eeeQRp9QPAAAA+DJmBAEAAACoFK+99prl8fjx4232mThxol577TWlpaVpzZo1atasmUaNGqVBgwapT58+6tatW4n7BrmiJkd9++232r59uySpZcuWioqKqtD9SvLCCy/o8OHDkqSXXnpJTz/9tOVcjx49NH78eF1zzTVavHixw/fctWuXLly4YHmek5Ojw4cP69tvv9Xs2bMlSZdddpkmTpxY4n12796tNm3aaM2aNapXr56lfcCAAQoMDNR//vMfrVmzRldffbX69OmjxYsXKywszNJvyJAhysjI0Jdffqmvv/5aJ0+etLoPAAAAgLJhRhAAAAAAlzl16pRWr16tq666Sp9//rkkqV+/frrpppts9m/atKnmz5+vatWqSZLS09P1zTffKDY2Vv369VPNmjU1aNAgTZs2TampqZVSU0lyc3N14MABvfzyy7rlllss7U888US5anNEZmamPv74Y0lSly5d9OSTTxbrExgYqFmzZikwMNDh+44cOVLR0dGWo1u3bho9erQ++ugjNWjQQNOmTdOSJUscCuLeeustm+HN5MmTLY9TUlL0wQcfWIVA+SZNmiTJCKPWrl3r8NcAAAAAoDiCIAAAAABO8/zzz8tkMlmOunXrauDAgfr5558VEBCg2267TYsWLSoxoLjmmmu0bds2PfDAA6pdu7bVuczMTK1atUqP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", - "text/plain": [ - "<Figure size 2000x1200 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>SF</th>\n", - " <th>Sensitivity</th>\n", - " <th>DR [kB/s]</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>0</th>\n", - " <td>7</td>\n", - " <td>-124.5</td>\n", - " <td>0.683750</td>\n", - " </tr>\n", - " <tr>\n", - " <th>1</th>\n", - " <td>8</td>\n", - " <td>-127.0</td>\n", - " <td>0.390625</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2</th>\n", - " <td>9</td>\n", - " <td>-129.5</td>\n", - " <td>0.220125</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>10</td>\n", - " <td>-132.0</td>\n", - " <td>0.122500</td>\n", - " </tr>\n", - " <tr>\n", - " <th>4</th>\n", - " <td>11</td>\n", - " <td>-134.5</td>\n", - " <td>0.055000</td>\n", - " </tr>\n", - " <tr>\n", - " <th>5</th>\n", - " <td>12</td>\n", - " <td>-137.0</td>\n", - " <td>0.031250</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "</div>" - ], - "text/plain": [ - " SF Sensitivity DR [kB/s]\n", - "0 7 -124.5 0.683750\n", - "1 8 -127.0 0.390625\n", - "2 9 -129.5 0.220125\n", - "3 10 -132.0 0.122500\n", - "4 11 -134.5 0.055000\n", - "5 12 -137.0 0.031250" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "import pandas as pd\n", "dl = pd.DataFrame()\n", @@ -759,319 +206,10 @@ }, { "cell_type": "code", - "execution_count": 8, - "id": "ed627c59-af6b-44a9-ba02-8e2757f75e8f", + "execution_count": null, + "id": "783064c3-1af1-4701-83eb-0c3f5470e97e", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>Unnamed: 0</th>\n", - " <th>Round-trip min [ms]</th>\n", - " <th>Round-trip max [ms]</th>\n", - " <th>Round-trip avg [ms]</th>\n", - " <th>K_U [dB]</th>\n", - " <th>RSRP [dBm]</th>\n", - " <th>SNR [dB]</th>\n", - " <th>Transmit time [s]</th>\n", - " <th>Max I [mA]</th>\n", - " <th>Average I [mA]</th>\n", - " <th>Ready I [mA]</th>\n", - " <th>Standby I [mA]</th>\n", - " <th>Charge [uAh]</th>\n", - " <th>Data-rate [kB/s]</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>0</th>\n", - " <td>0</td>\n", - " <td>112</td>\n", - " <td>339</td>\n", - " <td>152</td>\n", - " <td>0</td>\n", - " <td>-84</td>\n", - " <td>7</td>\n", - " <td>0.277215</td>\n", - " <td>152.082321</td>\n", - " <td>32.722996</td>\n", - " <td>33.592216</td>\n", - " <td>1.250945</td>\n", - " <td>2.519807</td>\n", - " <td>0.007215</td>\n", - " </tr>\n", - " <tr>\n", - " <th>1</th>\n", - " <td>3</td>\n", - " <td>115</td>\n", - " <td>350</td>\n", - " <td>153</td>\n", - " <td>3</td>\n", - " <td>-88</td>\n", - " <td>7</td>\n", - " <td>0.265763</td>\n", - " <td>171.176743</td>\n", - " <td>33.654716</td>\n", - " <td>33.741470</td>\n", - " <td>1.218927</td>\n", - " <td>2.484494</td>\n", - " <td>0.007525</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2</th>\n", - " <td>6</td>\n", - " <td>89</td>\n", - " <td>543</td>\n", - " <td>181</td>\n", - " <td>6</td>\n", - " <td>-90</td>\n", - " <td>7</td>\n", - " <td>0.307699</td>\n", - " <td>238.794708</td>\n", - " <td>33.478432</td>\n", - " <td>33.687473</td>\n", - " <td>0.917239</td>\n", - " <td>2.861467</td>\n", - " <td>0.006500</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>10</td>\n", - " <td>122</td>\n", - " <td>322</td>\n", - " <td>151</td>\n", - " <td>10</td>\n", - " <td>-95</td>\n", - " <td>7</td>\n", - " <td>0.284790</td>\n", - " <td>231.850220</td>\n", - " <td>33.570335</td>\n", - " <td>33.701614</td>\n", - " <td>1.237470</td>\n", - " <td>2.655693</td>\n", - " <td>0.007023</td>\n", - " </tr>\n", - " <tr>\n", - " <th>4</th>\n", - " <td>16</td>\n", - " <td>112</td>\n", - " <td>371</td>\n", - " <td>152</td>\n", - " <td>16</td>\n", - " <td>-101</td>\n", - " <td>7</td>\n", - " <td>0.269954</td>\n", - " <td>232.621506</td>\n", - " <td>35.110657</td>\n", - " <td>33.634102</td>\n", - " <td>1.237955</td>\n", - " <td>2.632860</td>\n", - " <td>0.007409</td>\n", - " </tr>\n", - " <tr>\n", - " <th>5</th>\n", - " <td>20</td>\n", - " <td>126</td>\n", - " <td>313</td>\n", - " <td>152</td>\n", - " <td>20</td>\n", - " <td>-105</td>\n", - " <td>7</td>\n", - " <td>0.273574</td>\n", - " <td>230.307907</td>\n", - " <td>34.968719</td>\n", - " <td>33.814812</td>\n", - " <td>0.926201</td>\n", - " <td>2.657370</td>\n", - " <td>0.007311</td>\n", - " </tr>\n", - " <tr>\n", - " <th>6</th>\n", - " <td>21</td>\n", - " <td>106</td>\n", - " <td>335</td>\n", - " <td>151</td>\n", - " <td>21</td>\n", - " <td>-103</td>\n", - " <td>9</td>\n", - " <td>0.255496</td>\n", - " <td>241.110977</td>\n", - " <td>35.238750</td>\n", - " <td>33.826191</td>\n", - " <td>1.229917</td>\n", - " <td>2.500933</td>\n", - " <td>0.007828</td>\n", - " </tr>\n", - " <tr>\n", - " <th>7</th>\n", - " <td>26</td>\n", - " <td>108</td>\n", - " <td>348</td>\n", - " <td>154</td>\n", - " <td>26</td>\n", - " <td>-108</td>\n", - " <td>9</td>\n", - " <td>0.375812</td>\n", - " <td>234.164307</td>\n", - " <td>36.407372</td>\n", - " <td>35.304470</td>\n", - " <td>0.919607</td>\n", - " <td>3.800646</td>\n", - " <td>0.005322</td>\n", - " </tr>\n", - " <tr>\n", - " <th>8</th>\n", - " <td>30</td>\n", - " <td>78</td>\n", - " <td>321</td>\n", - " <td>148</td>\n", - " <td>30</td>\n", - " <td>-113</td>\n", - " <td>8</td>\n", - " <td>0.263797</td>\n", - " <td>249.610336</td>\n", - " <td>38.376728</td>\n", - " <td>35.383102</td>\n", - " <td>1.233826</td>\n", - " <td>2.812129</td>\n", - " <td>0.007582</td>\n", - " </tr>\n", - " <tr>\n", - " <th>9</th>\n", - " <td>36</td>\n", - " <td>108</td>\n", - " <td>323</td>\n", - " <td>158</td>\n", - " <td>36</td>\n", - " <td>-120</td>\n", - " <td>6</td>\n", - " <td>0.262181</td>\n", - " <td>261.990662</td>\n", - " <td>42.102467</td>\n", - " <td>35.517212</td>\n", - " <td>0.917700</td>\n", - " <td>3.066241</td>\n", - " <td>0.007628</td>\n", - " </tr>\n", - " <tr>\n", - " <th>10</th>\n", - " <td>40</td>\n", - " <td>114</td>\n", - " <td>377</td>\n", - " <td>157</td>\n", - " <td>40</td>\n", - " <td>-124</td>\n", - " <td>4</td>\n", - " <td>0.280024</td>\n", - " <td>264.314270</td>\n", - " <td>42.484680</td>\n", - " <td>35.938080</td>\n", - " <td>0.921323</td>\n", - " <td>3.304636</td>\n", - " <td>0.007142</td>\n", - " </tr>\n", - " <tr>\n", - " <th>11</th>\n", - " <td>46</td>\n", - " <td>147</td>\n", - " <td>7057</td>\n", - " <td>942</td>\n", - " <td>46</td>\n", - " <td>-130</td>\n", - " <td>-2</td>\n", - " <td>0.616812</td>\n", - " <td>269.738983</td>\n", - " <td>55.465904</td>\n", - " <td>35.396915</td>\n", - " <td>1.274614</td>\n", - " <td>9.503343</td>\n", - " <td>0.003242</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "</div>" - ], - "text/plain": [ - " Unnamed: 0 Round-trip min [ms] Round-trip max [ms] Round-trip avg [ms] \\\n", - "0 0 112 339 152 \n", - "1 3 115 350 153 \n", - "2 6 89 543 181 \n", - "3 10 122 322 151 \n", - "4 16 112 371 152 \n", - "5 20 126 313 152 \n", - "6 21 106 335 151 \n", - "7 26 108 348 154 \n", - "8 30 78 321 148 \n", - "9 36 108 323 158 \n", - "10 40 114 377 157 \n", - "11 46 147 7057 942 \n", - "\n", - " K_U [dB] RSRP [dBm] SNR [dB] Transmit time [s] Max I [mA] \\\n", - "0 0 -84 7 0.277215 152.082321 \n", - "1 3 -88 7 0.265763 171.176743 \n", - "2 6 -90 7 0.307699 238.794708 \n", - "3 10 -95 7 0.284790 231.850220 \n", - "4 16 -101 7 0.269954 232.621506 \n", - "5 20 -105 7 0.273574 230.307907 \n", - "6 21 -103 9 0.255496 241.110977 \n", - "7 26 -108 9 0.375812 234.164307 \n", - "8 30 -113 8 0.263797 249.610336 \n", - "9 36 -120 6 0.262181 261.990662 \n", - "10 40 -124 4 0.280024 264.314270 \n", - "11 46 -130 -2 0.616812 269.738983 \n", - "\n", - " Average I [mA] Ready I [mA] Standby I [mA] Charge [uAh] \\\n", - "0 32.722996 33.592216 1.250945 2.519807 \n", - "1 33.654716 33.741470 1.218927 2.484494 \n", - "2 33.478432 33.687473 0.917239 2.861467 \n", - "3 33.570335 33.701614 1.237470 2.655693 \n", - "4 35.110657 33.634102 1.237955 2.632860 \n", - "5 34.968719 33.814812 0.926201 2.657370 \n", - "6 35.238750 33.826191 1.229917 2.500933 \n", - "7 36.407372 35.304470 0.919607 3.800646 \n", - "8 38.376728 35.383102 1.233826 2.812129 \n", - "9 42.102467 35.517212 0.917700 3.066241 \n", - "10 42.484680 35.938080 0.921323 3.304636 \n", - "11 55.465904 35.396915 1.274614 9.503343 \n", - "\n", - " Data-rate [kB/s] \n", - "0 0.007215 \n", - "1 0.007525 \n", - "2 0.006500 \n", - "3 0.007023 \n", - "4 0.007409 \n", - "5 0.007311 \n", - "6 0.007828 \n", - "7 0.005322 \n", - "8 0.007582 \n", - "9 0.007628 \n", - "10 0.007142 \n", - "11 0.003242 " - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "m61_0" ] diff --git a/prilohy/KiCad_FreeCAD_antenna.zip b/prilohy/KiCad_FreeCAD_antenna.zip Binary files differnew file mode 100644 index 0000000..35e399d --- /dev/null +++ b/prilohy/KiCad_FreeCAD_antenna.zip diff --git a/prilohy/KiCad_FreeCAD_antenna/LTE_antenna_diagrams/GPS.bmp b/prilohy/KiCad_FreeCAD_antenna/LTE_antenna_diagrams/GPS.bmp Binary files differdeleted file mode 100644 index 4214b49..0000000 --- a/prilohy/KiCad_FreeCAD_antenna/LTE_antenna_diagrams/GPS.bmp +++ /dev/null diff --git a/prilohy/KiCad_FreeCAD_antenna/LTE_antenna_diagrams/LTE1.s1p b/prilohy/KiCad_FreeCAD_antenna/LTE_antenna_diagrams/LTE1.s1p deleted file mode 100644 index c1babe6..0000000 --- a/prilohy/KiCad_FreeCAD_antenna/LTE_antenna_diagrams/LTE1.s1p +++ /dev/null @@ -1,203 +0,0 @@ -!File created by NanoVNA
-# Hz S RI R 50
- 725000000 0.230119152 -0.540311872
- 726000000 0.220798064 -0.539449856
- 727000000 0.212556560 -0.540730560
- 728000000 0.204453712 -0.540776768
- 729000000 0.196144560 -0.541262336
- 730000000 0.186531328 -0.541980800
- 731000000 0.178805520 -0.540857984
- 732000000 0.168412304 -0.541865920
- 733000000 0.160790880 -0.540012736
- 734000000 0.151733168 -0.540320960
- 735000000 0.143410464 -0.540558080
- 736000000 0.133181008 -0.538863040
- 737000000 0.125443656 -0.537427072
- 738000000 0.116424472 -0.536714912
- 739000000 0.107717424 -0.534945504
- 740000000 0.100008072 -0.534647296
- 741000000 0.090081792 -0.532238720
- 742000000 0.082091176 -0.530737696
- 743000000 0.074015400 -0.529068704
- 744000000 0.065084272 -0.527017184
- 745000000 0.057434872 -0.524722880
- 746000000 0.048078500 -0.521999296
- 747000000 0.038953756 -0.520103040
- 748000000 0.031956804 -0.517073088
- 749000000 0.022552762 -0.513872864
- 750000000 0.015261192 -0.510383616
- 751000000 0.006809652 -0.507703424
- 752000000 -0.000639993 -0.504143968
- 753000000 -0.008825433 -0.501111872
- 754000000 -0.016155048 -0.497527552
- 755000000 -0.024769032 -0.493768192
- 756000000 -0.032716272 -0.490726688
- 757000000 -0.039665756 -0.486933824
- 758000000 -0.046798604 -0.482585536
- 759000000 -0.055188092 -0.478135040
- 760000000 -0.062521504 -0.473808928
- 761000000 -0.070238576 -0.469505536
- 762000000 -0.077851104 -0.464866528
- 763000000 -0.084338712 -0.459844128
- 764000000 -0.091570576 -0.454978944
- 765000000 -0.097792744 -0.449449984
- 766000000 -0.104532728 -0.444196672
- 767000000 -0.111766840 -0.438904896
- 768000000 -0.118127224 -0.432981856
- 769000000 -0.124677208 -0.427920832
- 770000000 -0.130226400 -0.422505632
- 771000000 -0.137095584 -0.416007040
- 772000000 -0.143408368 -0.409981600
- 773000000 -0.148447856 -0.404277440
- 774000000 -0.154503376 -0.396589376
- 775000000 -0.159693376 -0.391531424
- 776000000 -0.165279024 -0.384568736
- 777000000 -0.170475312 -0.378040672
- 778000000 -0.174799520 -0.371706528
- 779000000 -0.179297136 -0.365010336
- 780000000 -0.183676032 -0.357687136
- 781000000 -0.188573696 -0.351141664
- 782000000 -0.192461392 -0.344187424
- 783000000 -0.196095776 -0.337757472
- 784000000 -0.200015232 -0.331287456
- 785000000 -0.203854032 -0.324666336
- 786000000 -0.207508736 -0.317412064
- 787000000 -0.211816128 -0.310573984
- 788000000 -0.214293136 -0.303469856
- 789000000 -0.217595536 -0.296167424
- 790000000 -0.221716704 -0.288616576
- 791000000 -0.218141296 -0.284050752
- 792000000 -0.220677008 -0.275424512
- 793000000 -0.222952352 -0.268778656
- 794000000 -0.225215024 -0.260882400
- 795000000 -0.227013424 -0.253368736
- 796000000 -0.228661648 -0.246215808
- 797000000 -0.229880096 -0.238436528
- 798000000 -0.230804928 -0.231492416
- 799000000 -0.231829696 -0.224292112
- 800000000 -0.232091984 -0.217367168
- 801000000 -0.232806736 -0.210189872
- 802000000 -0.233708496 -0.203885616
- 803000000 -0.233727920 -0.197725136
- 804000000 -0.234910016 -0.189994496
- 805000000 -0.235263008 -0.185468032
- 806000000 -0.236160496 -0.179074080
- 807000000 -0.236780448 -0.172640224
- 808000000 -0.237701440 -0.166675648
- 809000000 -0.238311792 -0.159721168
- 810000000 -0.238780768 -0.153704480
- 811000000 -0.239600592 -0.146876928
- 812000000 -0.239969568 -0.139579904
- 813000000 -0.240358256 -0.133050992
- 814000000 -0.240697344 -0.126007392
- 815000000 -0.240049296 -0.118983936
- 816000000 -0.239301376 -0.110813696
- 817000000 -0.238913824 -0.104286096
- 818000000 -0.238147904 -0.098245584
- 819000000 -0.236990384 -0.090839528
- 820000000 -0.235774928 -0.084450480
- 821000000 -0.234924816 -0.077291992
- 822000000 -0.233095808 -0.070647128
- 823000000 -0.231542736 -0.064086228
- 824000000 -0.229572160 -0.057132860
- 825000000 -0.227501728 -0.050766568
- 826000000 -0.225849632 -0.043829076
- 827000000 -0.223729680 -0.036972712
- 828000000 -0.220422000 -0.030148110
- 829000000 -0.218586464 -0.024081526
- 830000000 -0.215696496 -0.017991692
- 831000000 -0.212439632 -0.011707107
- 832000000 -0.209619968 -0.005262646
- 833000000 -0.206301264 0.000329415
- 834000000 -0.202509120 0.006316019
- 835000000 -0.199093200 0.012135876
- 836000000 -0.195223728 0.018038724
- 837000000 -0.190959744 0.023581780
- 838000000 -0.186738784 0.028635738
- 839000000 -0.182196864 0.033917780
- 840000000 -0.176806544 0.038774288
- 841000000 -0.172409216 0.042834496
- 842000000 -0.167505344 0.047410260
- 843000000 -0.162781456 0.050944960
- 844000000 -0.157947184 0.054425448
- 845000000 -0.153259104 0.057636036
- 846000000 -0.148676688 0.060645640
- 847000000 -0.144032256 0.064064116
- 848000000 -0.139746528 0.067075612
- 849000000 -0.135288800 0.070238672
- 850000000 -0.131112648 0.072721992
- 851000000 -0.127158048 0.075772512
- 852000000 -0.122135144 0.079176136
- 853000000 -0.118442064 0.081953792
- 854000000 -0.113738840 0.084724856
- 855000000 -0.109222040 0.087511704
- 856000000 -0.104269216 0.089988784
- 857000000 -0.099204336 0.092836632
- 858000000 -0.094313424 0.094698688
- 859000000 -0.088910944 0.097134152
- 860000000 -0.083807600 0.098763392
- 861000000 -0.078261920 0.100383680
- 862000000 -0.073174432 0.101790600
- 863000000 -0.067862656 0.102637600
- 864000000 -0.062411124 0.104803872
- 865000000 -0.058214876 0.105957248
- 866000000 -0.053468492 0.113019408
- 867000000 -0.048175532 0.114263848
- 868000000 -0.043348184 0.114975352
- 869000000 -0.038491532 0.116019048
- 870000000 -0.033609412 0.116578488
- 871000000 -0.029012004 0.117536064
- 872000000 -0.023822660 0.118340288
- 873000000 -0.019240952 0.119042352
- 874000000 -0.013984108 0.119351000
- 875000000 -0.009300413 0.119711472
- 876000000 -0.004106834 0.120027904
- 877000000 0.000839833 0.119978112
- 878000000 0.005506369 0.119794384
- 879000000 0.010677501 0.119424968
- 880000000 0.014924915 0.118911872
- 881000000 0.019598726 0.117937472
- 882000000 0.024706566 0.117544512
- 883000000 0.028597788 0.116464880
- 884000000 0.033268876 0.115158016
- 885000000 0.037130864 0.114394304
- 886000000 0.040842008 0.113164296
- 887000000 0.044720348 0.112247808
- 888000000 0.047978932 0.110880328
- 889000000 0.051772860 0.110323696
- 890000000 0.055270956 0.109357656
- 891000000 0.058526056 0.108583256
- 892000000 0.061918432 0.108233816
- 893000000 0.065107800 0.107611112
- 894000000 0.069155968 0.106995400
- 895000000 0.072646112 0.106665072
- 896000000 0.076532784 0.106109968
- 897000000 0.080607432 0.105258600
- 898000000 0.084693832 0.104573936
- 899000000 0.089052672 0.103218136
- 900000000 0.093022128 0.101970880
- 901000000 0.097384624 0.100748032
- 902000000 0.101440472 0.098988216
- 903000000 0.104857136 0.097172120
- 904000000 0.108750760 0.095345136
- 905000000 0.112036872 0.093473392
- 906000000 0.115241280 0.091923472
- 907000000 0.118749896 0.090039904
- 908000000 0.121849168 0.088130408
- 909000000 0.124950696 0.086535792
- 910000000 0.128021240 0.085273520
- 911000000 0.131448208 0.084036192
- 912000000 0.134789344 0.082771960
- 913000000 0.138526880 0.081534312
- 914000000 0.142566720 0.079951648
- 915000000 0.146378704 0.078919056
- 916000000 0.151389664 0.077413312
- 917000000 0.155616032 0.075811960
- 918000000 0.160685376 0.073064808
- 919000000 0.165382864 0.070198656
- 920000000 0.169728384 0.067640968
- 921000000 0.173942336 0.063673468
- 922000000 0.179233792 0.059879076
- 923000000 0.182650544 0.055866444
- 924000000 0.186254016 0.051158872
- 925000000 0.189888960 0.047113760
diff --git a/prilohy/KiCad_FreeCAD_antenna/LTE_antenna_diagrams/LTE2.s2p b/prilohy/KiCad_FreeCAD_antenna/LTE_antenna_diagrams/LTE2.s2p deleted file mode 100644 index 45eb605..0000000 --- a/prilohy/KiCad_FreeCAD_antenna/LTE_antenna_diagrams/LTE2.s2p +++ /dev/null @@ -1,203 +0,0 @@ -!File created by NanoVNA
-# Hz S RI R 50
- 725000000 0.228662048 -0.548901568 -0.000079915 -0.000007431 0 0 0 0
- 726000000 0.219999856 -0.557679296 -0.000097447 -0.000009059 0 0 0 0
- 727000000 0.210377808 -0.559012032 -0.000029121 0.000011957 0 0 0 0
- 728000000 0.201803024 -0.559917760 -0.000034560 -0.000021372 0 0 0 0
- 729000000 0.191995648 -0.560193664 -0.000034888 0.000040020 0 0 0 0
- 730000000 0.182312496 -0.560108288 -0.000067556 0.000000493 0 0 0 0
- 731000000 0.173808576 -0.559329024 -0.000055356 -0.000037780 0 0 0 0
- 732000000 0.163038768 -0.559907008 -0.000049385 0.000011177 0 0 0 0
- 733000000 0.154343392 -0.558847616 -0.000053520 -0.000003806 0 0 0 0
- 734000000 0.145514448 -0.557933696 -0.000078032 -0.000005324 0 0 0 0
- 735000000 0.136476432 -0.558373824 -0.000041484 -0.000000753 0 0 0 0
- 736000000 0.125825656 -0.556646528 -0.000054296 0.000022361 0 0 0 0
- 737000000 0.117896224 -0.555667712 -0.000103816 -0.000020363 0 0 0 0
- 738000000 0.109273688 -0.554745920 -0.000018427 0.000012845 0 0 0 0
- 739000000 0.098818664 -0.552735872 -0.000032066 0.000047087 0 0 0 0
- 740000000 0.091398016 -0.551476800 -0.000054655 0.000004185 0 0 0 0
- 741000000 0.081404088 -0.548686464 -0.000012022 -0.000027035 0 0 0 0
- 742000000 0.072338104 -0.546809728 -0.000026435 0.000020361 0 0 0 0
- 743000000 0.064546132 -0.544829504 -0.000024442 -0.000030808 0 0 0 0
- 744000000 0.054469304 -0.541950016 -0.000040827 0.000016815 0 0 0 0
- 745000000 0.046658636 -0.539651456 -0.000009489 0.000008823 0 0 0 0
- 746000000 0.036701432 -0.536229248 -0.000030757 0.000042309 0 0 0 0
- 747000000 0.028606542 -0.533675552 -0.000038214 -0.000007776 0 0 0 0
- 748000000 0.021205546 -0.530244704 0.000013038 0.000023765 0 0 0 0
- 749000000 0.011769348 -0.526725888 0.000007354 -0.000013244 0 0 0 0
- 750000000 0.004324853 -0.522790784 -0.000019483 0.000035759 0 0 0 0
- 751000000 -0.003672626 -0.519315296 -0.000039180 0.000067578 0 0 0 0
- 752000000 -0.011679916 -0.515367200 -0.000053311 -0.000029827 0 0 0 0
- 753000000 -0.019725374 -0.511500544 -0.000050067 0.000024166 0 0 0 0
- 754000000 -0.027069672 -0.507668928 -0.000050976 0.000016600 0 0 0 0
- 755000000 -0.034361232 -0.503542784 -0.000000465 0.000045788 0 0 0 0
- 756000000 -0.041325168 -0.500130592 -0.000103587 0.000035050 0 0 0 0
- 757000000 -0.048868044 -0.496136000 -0.000037966 -0.000012193 0 0 0 0
- 758000000 -0.055373772 -0.491345312 -0.000069602 0.000031304 0 0 0 0
- 759000000 -0.064145132 -0.486900128 -0.000066829 -0.000032586 0 0 0 0
- 760000000 -0.070624632 -0.482364768 0.000017380 0.000023061 0 0 0 0
- 761000000 -0.077412016 -0.477882112 -0.000058002 0.000025805 0 0 0 0
- 762000000 -0.085399736 -0.472714752 0.000028841 0.000013555 0 0 0 0
- 763000000 -0.092630704 -0.467291136 -0.000032447 0.000044521 0 0 0 0
- 764000000 -0.099234864 -0.461646624 -0.000044132 -0.000009276 0 0 0 0
- 765000000 -0.105617328 -0.456552384 -0.000034600 0.000002337 0 0 0 0
- 766000000 -0.112702080 -0.450363104 0.000014036 0.000011077 0 0 0 0
- 767000000 -0.118424560 -0.445811648 -0.000011503 0.000009817 0 0 0 0
- 768000000 -0.125950608 -0.438707776 -0.000036112 0.000001669 0 0 0 0
- 769000000 -0.131495016 -0.433743840 -0.000017461 0.000037240 0 0 0 0
- 770000000 -0.137665648 -0.427783680 0.000036454 0.000042144 0 0 0 0
- 771000000 -0.144193648 -0.421661856 -0.000036674 0.000058588 0 0 0 0
- 772000000 -0.149748512 -0.415491072 -0.000033307 0.000040490 0 0 0 0
- 773000000 -0.155128032 -0.409492896 -0.000057609 0.000029893 0 0 0 0
- 774000000 -0.160812256 -0.401759712 -0.000045563 0.000008313 0 0 0 0
- 775000000 -0.166208064 -0.396424608 -0.000007927 0.000068014 0 0 0 0
- 776000000 -0.172298112 -0.388946880 -0.000028926 0.000007576 0 0 0 0
- 777000000 -0.176593760 -0.382699552 -0.000030298 0.000028919 0 0 0 0
- 778000000 -0.181742384 -0.375837344 -0.000006088 0.000022227 0 0 0 0
- 779000000 -0.186289520 -0.369163296 -0.000034201 0.000053650 0 0 0 0
- 780000000 -0.190590256 -0.361655392 -0.000004020 0.000036879 0 0 0 0
- 781000000 -0.195552480 -0.355052992 -0.000007950 0.000016144 0 0 0 0
- 782000000 -0.199839424 -0.348014848 -0.000037389 0.000032640 0 0 0 0
- 783000000 -0.203226144 -0.341531232 -0.000022157 -0.000032975 0 0 0 0
- 784000000 -0.207509920 -0.334460608 -0.000030620 0.000032256 0 0 0 0
- 785000000 -0.211619440 -0.327340000 -0.000037246 0.000019422 0 0 0 0
- 786000000 -0.215917760 -0.319972224 -0.000028196 -0.000010251 0 0 0 0
- 787000000 -0.219573056 -0.312862944 -0.000024057 0.000047471 0 0 0 0
- 788000000 -0.222936560 -0.305555072 -0.000043244 0.000048335 0 0 0 0
- 789000000 -0.226996048 -0.298635488 0.000013405 0.000012666 0 0 0 0
- 790000000 -0.230394528 -0.291180128 -0.000035763 0.000048149 0 0 0 0
- 791000000 -0.233527008 -0.283993216 -0.000040025 0.000019659 0 0 0 0
- 792000000 -0.230619680 -0.277388832 -0.000001440 0.000041944 0 0 0 0
- 793000000 -0.232910048 -0.271174048 -0.000019184 0.000050380 0 0 0 0
- 794000000 -0.235431776 -0.262860448 -0.000046675 0.000079900 0 0 0 0
- 795000000 -0.237372304 -0.255065856 0.000032549 0.000069105 0 0 0 0
- 796000000 -0.239497568 -0.247525312 -0.000012863 0.000033410 0 0 0 0
- 797000000 -0.241286368 -0.239315200 0.000014470 -0.000015545 0 0 0 0
- 798000000 -0.242477648 -0.232029872 0.000036726 0.000008785 0 0 0 0
- 799000000 -0.243661584 -0.224299312 0.000017448 0.000055285 0 0 0 0
- 800000000 -0.244380432 -0.217245760 0.000029072 0.000017672 0 0 0 0
- 801000000 -0.246004992 -0.209451360 -0.000005827 0.000061204 0 0 0 0
- 802000000 -0.246536528 -0.202660256 0.000012801 -0.000007728 0 0 0 0
- 803000000 -0.247037360 -0.195901408 -0.000009502 0.000020931 0 0 0 0
- 804000000 -0.248120720 -0.187735664 0.000024124 0.000069671 0 0 0 0
- 805000000 -0.249035664 -0.182249280 0.000005124 -0.000020723 0 0 0 0
- 806000000 -0.249631424 -0.175401328 0.000002995 0.000036554 0 0 0 0
- 807000000 -0.250167248 -0.168167200 0.000057996 -0.000029767 0 0 0 0
- 808000000 -0.250628704 -0.161640960 -0.000001419 -0.000009032 0 0 0 0
- 809000000 -0.251617456 -0.154369248 -0.000075599 0.000021654 0 0 0 0
- 810000000 -0.252365824 -0.147450144 0.000020993 0.000010109 0 0 0 0
- 811000000 -0.253069424 -0.140213248 0.000020255 -0.000018824 0 0 0 0
- 812000000 -0.253545104 -0.132882592 -0.000009234 -0.000011026 0 0 0 0
- 813000000 -0.253580688 -0.125416648 -0.000008737 -0.000035179 0 0 0 0
- 814000000 -0.253687920 -0.117832872 -0.000002083 0.000008967 0 0 0 0
- 815000000 -0.253061120 -0.110496872 0.000006310 0.000046003 0 0 0 0
- 816000000 -0.251974672 -0.102316344 -0.000017932 0.000008745 0 0 0 0
- 817000000 -0.251677008 -0.096061272 0.000041825 -0.000003280 0 0 0 0
- 818000000 -0.250348416 -0.088529752 -0.000029255 0.000023224 0 0 0 0
- 819000000 -0.249345712 -0.081109832 0.000015993 -0.000024899 0 0 0 0
- 820000000 -0.247666096 -0.074158208 0.000021276 0.000002609 0 0 0 0
- 821000000 -0.246083136 -0.066931308 -0.000023280 -0.000012031 0 0 0 0
- 822000000 -0.244008192 -0.059790364 0.000004723 0.000004331 0 0 0 0
- 823000000 -0.242296560 -0.052961392 0.000071691 0.000005659 0 0 0 0
- 824000000 -0.239800096 -0.046053288 0.000043481 0.000050107 0 0 0 0
- 825000000 -0.237548720 -0.038943852 -0.000019175 -0.000000769 0 0 0 0
- 826000000 -0.235156480 -0.032379062 0.000019162 0.000058538 0 0 0 0
- 827000000 -0.232383344 -0.025560900 -0.000000930 0.000045909 0 0 0 0
- 828000000 -0.228616720 -0.018350282 0.000009176 -0.000005076 0 0 0 0
- 829000000 -0.226289072 -0.012871386 -0.000018557 -0.000070304 0 0 0 0
- 830000000 -0.223024256 -0.006970651 -0.000011903 -0.000053440 0 0 0 0
- 831000000 -0.219252512 -0.000274884 0.000007318 -0.000023160 0 0 0 0
- 832000000 -0.215703136 0.005433074 0.000028135 -0.000073411 0 0 0 0
- 833000000 -0.212089680 0.011493207 0.000014386 0.000002999 0 0 0 0
- 834000000 -0.207665040 0.017377802 0.000048418 -0.000014882 0 0 0 0
- 835000000 -0.204221120 0.022759678 -0.000016845 -0.000011828 0 0 0 0
- 836000000 -0.199849056 0.028269474 -0.000006393 -0.000030324 0 0 0 0
- 837000000 -0.195440080 0.033553206 0.000022568 -0.000006743 0 0 0 0
- 838000000 -0.190890656 0.038538188 0.000019588 -0.000000693 0 0 0 0
- 839000000 -0.186153904 0.043571388 0.000011298 -0.000009667 0 0 0 0
- 840000000 -0.180527360 0.048188948 0.000044510 0.000001591 0 0 0 0
- 841000000 -0.176135744 0.052007396 0.000058696 0.000004658 0 0 0 0
- 842000000 -0.170954896 0.056574808 0.000009222 -0.000026792 0 0 0 0
- 843000000 -0.166047648 0.059642140 0.000056132 -0.000001905 0 0 0 0
- 844000000 -0.160836240 0.062857912 -0.000007998 0.000027810 0 0 0 0
- 845000000 -0.156220224 0.066148408 -0.000002197 -0.000013900 0 0 0 0
- 846000000 -0.151594224 0.068553712 -0.000022480 -0.000000665 0 0 0 0
- 847000000 -0.147237616 0.071782120 0.000013471 0.000003918 0 0 0 0
- 848000000 -0.143062976 0.074593696 0.000005614 -0.000020007 0 0 0 0
- 849000000 -0.138546848 0.077453336 0.000039730 -0.000009989 0 0 0 0
- 850000000 -0.134459200 0.079810496 -0.000006926 -0.000044330 0 0 0 0
- 851000000 -0.130390648 0.083189592 0.000038190 -0.000023571 0 0 0 0
- 852000000 -0.125473576 0.086211384 0.000034056 -0.000018033 0 0 0 0
- 853000000 -0.121388264 0.089081248 0.000039274 -0.000040454 0 0 0 0
- 854000000 -0.116745432 0.092125296 0.000008926 -0.000040359 0 0 0 0
- 855000000 -0.112366040 0.094710464 -0.000013446 -0.000000030 0 0 0 0
- 856000000 -0.107593832 0.097737880 0.000027947 0.000028679 0 0 0 0
- 857000000 -0.102296936 0.100731576 -0.000010525 -0.000069010 0 0 0 0
- 858000000 -0.097353624 0.103078176 0.000000577 0.000002425 0 0 0 0
- 859000000 -0.092089728 0.105533592 -0.000011062 -0.000025424 0 0 0 0
- 860000000 -0.087090144 0.107446928 -0.000002744 -0.000038721 0 0 0 0
- 861000000 -0.081830720 0.109223464 -0.000010054 -0.000001983 0 0 0 0
- 862000000 -0.076519296 0.110954080 -0.000022187 -0.000055117 0 0 0 0
- 863000000 -0.071377480 0.112370840 -0.000032960 -0.000033969 0 0 0 0
- 864000000 -0.065928192 0.114073832 0.000041112 -0.000018203 0 0 0 0
- 865000000 -0.061589352 0.115069792 0.000030418 -0.000028972 0 0 0 0
- 866000000 -0.056598176 0.116086832 -0.000015433 -0.000057183 0 0 0 0
- 867000000 -0.051432316 0.117426720 0.000024372 -0.000046708 0 0 0 0
- 868000000 -0.047209316 0.118135584 -0.000006346 -0.000036378 0 0 0 0
- 869000000 -0.041998240 0.119371752 0.000013445 -0.000065044 0 0 0 0
- 870000000 -0.037827204 0.120333192 0.000006887 -0.000048277 0 0 0 0
- 871000000 -0.032861536 0.121229440 -0.000051619 -0.000045526 0 0 0 0
- 872000000 -0.027868816 0.122232744 0.000033049 0.000014203 0 0 0 0
- 873000000 -0.023240700 0.122995720 -0.000015024 -0.000019000 0 0 0 0
- 874000000 -0.018123212 0.123688848 0.000027985 -0.000024967 0 0 0 0
- 875000000 -0.013539467 0.124339216 0.000024665 -0.000046897 0 0 0 0
- 876000000 -0.008251041 0.124815512 -0.000017717 -0.000049171 0 0 0 0
- 877000000 -0.003100593 0.124976320 0.000005036 -0.000025343 0 0 0 0
- 878000000 0.001872916 0.125198960 -0.000024050 -0.000003955 0 0 0 0
- 879000000 0.007026916 0.124919728 0.000005880 -0.000041408 0 0 0 0
- 880000000 0.011528008 0.124669360 -0.000018052 -0.000054408 0 0 0 0
- 881000000 0.016331982 0.124083160 -0.000018390 -0.000052859 0 0 0 0
- 882000000 0.021640812 0.123635496 -0.000011871 -0.000068174 0 0 0 0
- 883000000 0.025689676 0.122918424 -0.000007459 -0.000071903 0 0 0 0
- 884000000 0.030384498 0.121775392 -0.000024521 -0.000056777 0 0 0 0
- 885000000 0.034516036 0.121154992 -0.000034544 -0.000047179 0 0 0 0
- 886000000 0.038572040 0.119875232 -0.000014581 -0.000077034 0 0 0 0
- 887000000 0.042839504 0.119020368 -0.000004409 -0.000072655 0 0 0 0
- 888000000 0.046597284 0.117557792 0.000029750 -0.000057944 0 0 0 0
- 889000000 0.050459104 0.117011128 -0.000014072 -0.000031468 0 0 0 0
- 890000000 0.053722856 0.116221720 0.000003837 -0.000065609 0 0 0 0
- 891000000 0.057212576 0.115504760 -0.000022100 -0.000068391 0 0 0 0
- 892000000 0.060945236 0.115037536 -0.000008250 -0.000063069 0 0 0 0
- 893000000 0.064447232 0.114263544 -0.000030816 -0.000071962 0 0 0 0
- 894000000 0.068340904 0.113391768 0.000000454 -0.000077821 0 0 0 0
- 895000000 0.072111592 0.113203144 -0.000007068 -0.000054500 0 0 0 0
- 896000000 0.076029760 0.112432696 -0.000011053 -0.000053360 0 0 0 0
- 897000000 0.080007528 0.111858336 0.000005966 -0.000041434 0 0 0 0
- 898000000 0.084000912 0.110934000 -0.000037165 -0.000055241 0 0 0 0
- 899000000 0.088540320 0.109819416 -0.000008501 -0.000090369 0 0 0 0
- 900000000 0.092302376 0.108422776 -0.000026769 -0.000043850 0 0 0 0
- 901000000 0.096712184 0.107244848 -0.000019924 -0.000041002 0 0 0 0
- 902000000 0.100778384 0.105473784 -0.000031156 -0.000125609 0 0 0 0
- 903000000 0.104468256 0.104014536 -0.000003479 -0.000068543 0 0 0 0
- 904000000 0.108147360 0.101916360 0.000001469 -0.000067387 0 0 0 0
- 905000000 0.111730624 0.099997864 -0.000010858 -0.000049092 0 0 0 0
- 906000000 0.115586056 0.098156096 -0.000064683 -0.000098473 0 0 0 0
- 907000000 0.118589984 0.096126264 0.000005237 -0.000082888 0 0 0 0
- 908000000 0.121299000 0.094411280 -0.000029235 -0.000079575 0 0 0 0
- 909000000 0.124779856 0.092584856 -0.000062926 -0.000022647 0 0 0 0
- 910000000 0.127538816 0.091447496 -0.000059657 -0.000047221 0 0 0 0
- 911000000 0.130977496 0.089811264 -0.000071717 -0.000068630 0 0 0 0
- 912000000 0.134123368 0.088143984 -0.000040737 -0.000031040 0 0 0 0
- 913000000 0.137502336 0.087203352 -0.000065690 -0.000050904 0 0 0 0
- 914000000 0.141493104 0.085086936 -0.000061413 -0.000069240 0 0 0 0
- 915000000 0.144984656 0.083812928 -0.000051043 -0.000051392 0 0 0 0
- 916000000 0.149584400 0.082261736 -0.000058320 -0.000057351 0 0 0 0
- 917000000 0.154109824 0.080598192 -0.000068950 -0.000021296 0 0 0 0
- 918000000 0.159166048 0.078498232 -0.000092923 -0.000045838 0 0 0 0
- 919000000 0.163802352 0.075507992 -0.000014327 -0.000054499 0 0 0 0
- 920000000 0.167730688 0.073482864 -0.000043215 -0.000060184 0 0 0 0
- 921000000 0.172680032 0.070473504 -0.000021131 -0.000032159 0 0 0 0
- 922000000 0.177615040 0.066777796 -0.000047311 -0.000058359 0 0 0 0
- 923000000 0.181682928 0.062973732 -0.000029505 -0.000071845 0 0 0 0
- 924000000 0.185697152 0.058149336 -0.000059995 -0.000030783 0 0 0 0
- 925000000 0.189628912 0.054137956 -0.000082315 -0.000068024 0 0 0 0
diff --git a/prilohy/KiCad_FreeCAD_antenna/LTE_antenna_diagrams/LTEF.bmp b/prilohy/KiCad_FreeCAD_antenna/LTE_antenna_diagrams/LTEF.bmp Binary files differdeleted file mode 100644 index 3605282..0000000 --- a/prilohy/KiCad_FreeCAD_antenna/LTE_antenna_diagrams/LTEF.bmp +++ /dev/null diff --git a/prilohy/mobile_maps_on_web.zip b/prilohy/mobile_maps_on_web.zip Binary files differnew file mode 100644 index 0000000..793445c --- /dev/null +++ b/prilohy/mobile_maps_on_web.zip diff --git a/prilohy/nrfdemo_source.zip b/prilohy/nrfdemo_source.zip Binary files differnew file mode 100644 index 0000000..6d49173 --- /dev/null +++ b/prilohy/nrfdemo_source.zip diff --git a/prilohy/prilohabc.zip b/prilohy/prilohabc.zip Binary files differnew file mode 100644 index 0000000..433e31d --- /dev/null +++ b/prilohy/prilohabc.zip diff --git a/prilohy/prilohabc2.tar.xz b/prilohy/prilohabc2.tar.xz Binary files differnew file mode 100644 index 0000000..1bdd2e4 --- /dev/null +++ b/prilohy/prilohabc2.tar.xz diff --git a/prilohy/prilohabc2.zip b/prilohy/prilohabc2.zip Binary files differnew file mode 100644 index 0000000..3d81a69 --- /dev/null +++ b/prilohy/prilohabc2.zip diff --git a/prilohy/web/Untitled.ipynb b/prilohy/web/Untitled.ipynb deleted file mode 100644 index 0e52830..0000000 --- a/prilohy/web/Untitled.ipynb +++ /dev/null @@ -1,171 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 46, - "id": "62087531-441f-4c1a-b182-053ad5e944ae", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "len 26\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "f283310699e6411fac48d22e6f8cdd8f", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "FigureWidget({\n", - " 'data': [{'hovertemplate': ('temp=%{marker.size}<br>lati=%{' ... '%{marker.color}<extra></extra>'),\n", - " 'lat': {'bdata': ('oS+9/bmcSEBQVMkPu5xIQKBF1QC8nE' ... 'y3nEhA2OTuSLycSECyG668wZxIQA=='),\n", - " 'dtype': 'f8'},\n", - " 'legendgroup': '',\n", - " 'lon': {'bdata': ('cayL22iQMEBxlTGCaZAwQEBK4mhrkD' ... 'cdkDBAn1sYhBqQMEBApnNNGpAwQA=='),\n", - " 'dtype': 'f8'},\n", - " 'marker': {'color': {'bdata': ('AAAAAAAAAABlc3ISjHuhv7AgzVg0nb' ... '3pVfK/iAuZW7wo879EZYnvQIzzvw=='),\n", - " 'dtype': 'f8'},\n", - " 'coloraxis': 'coloraxis',\n", - " 'opacity': 0.5,\n", - " 'size': {'bdata': ('AAAAAAAAPkAAAAAAAAA+QAAAAAAAAD' ... 'AAAD5AAAAAAAAAPkAAAAAAAAA+QA=='),\n", - " 'dtype': 'f8'},\n", - " 'sizemode': 'area',\n", - " 'sizeref': np.float64(0.3)},\n", - " 'mode': 'markers',\n", - " 'name': '',\n", - " 'showlegend': False,\n", - " 'subplot': 'map',\n", - " 'type': 'scattermap',\n", - " 'uid': '2f0753e7-5993-4855-bcc8-6a5dbc5e62ec'}],\n", - " 'layout': {'coloraxis': {'colorbar': {'title': {'text': 'rssi'}},\n", - " 'colorscale': [[0.0, 'rgb(0,0,131)'], [0.2,\n", - " 'rgb(0,60,170)'], [0.4,\n", - " 'rgb(5,255,255)'], [0.6,\n", - " 'rgb(255,255,0)'], [0.8,\n", - " 'rgb(250,0,0)'], [1.0, 'rgb(128,0,0)']]},\n", - " 'height': 800,\n", - " 'legend': {'itemsizing': 'constant', 'tracegroupgap': 0},\n", - " 'map': {'center': {'lat': np.float64(49.22425434846154), 'lon': np.float64(16.56396273223077)},\n", - " 'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]},\n", - " 'style': 'open-street-map',\n", - " 'zoom': 13},\n", - " 'mapbox': {'center': {'lat': np.float64(49.22425434846154), 'lon': np.float64(16.56396273223077)},\n", - " 'style': 'open-street-map',\n", - " 'zoom': 13},\n", - " 'margin': {'t': 60},\n", - " 'template': '...',\n", - " 'width': 800}\n", - "})" - ] - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import dash\n", - "import time\n", - "import sys\n", - "import json\n", - "import pandas as pd\n", - "import plotly.express as px\n", - "\n", - "\n", - "df = pd.DataFrame()\n", - "dg = pd.DataFrame(columns=['lati', 'long', 'alti', 'rssi', 'snr', 'rttt', 'temp', 'humi', 'pres', 'voc'], dtype=float)\n", - "\n", - "with open('save.csv') as f:\n", - " for i, line in enumerate(f):\n", - " dg.loc[i] = pd.Series(json.loads(line))\n", - " savepos = f.tell()\n", - "\n", - "dg = dg.fillna(0.0)\n", - "\n", - "print('len', len(dg.index))\n", - "fig = px.scatter_map(dg, lat='lati', lon='long',color=\"rssi\", size='temp',\n", - " size_max=10, map_style=\"open-street-map\", color_continuous_scale='jet', zoom=13, height=800, width=800)\n", - "\n", - "f2 = go.FigureWidget(fig)\n", - "\n", - "f2" - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "id": "aee5d6bc-0590-4494-abd2-a1eaf28481b9", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{\"lati\": 49.232750116, \"long\": 16.565789814, \"alti\": NaN, \"rssi\": -8.493902113, \"snr\": 0.0, \"rttt\": NaN, \"temp\": 30.0, \"humi\": NaN, \"pres\": NaN, \"voc\": NaN}\n", - "\n", - "{\"lati\": 49.232391864, \"long\": 16.568253166, \"alti\": NaN, \"rssi\": -8.983527682, \"snr\": 0.0, \"rttt\": NaN, \"temp\": 30.0, \"humi\": NaN, \"pres\": NaN, \"voc\": NaN}\n", - "\n" - ] - } - ], - "source": [ - "#while True:\n", - "import time, threading\n", - "\n", - "def update():\n", - " global savepos\n", - " mi = max(dg.index)\n", - " with open('save.csv') as f:\n", - " f.seek(savepos)\n", - " for i, line in enumerate(f):\n", - " print(line)\n", - " dg.loc[mi+1+i] = pd.Series(json.loads(line)).fillna(0)\n", - " savepos = f.tell()\n", - "\n", - " f2.data[0]['lat'] = dg['lati']\n", - " f2.data[0]['lon'] = dg['long']\n", - " f2.data[0]['marker']['color'] = dg['rssi']\n", - " f2.data[0]['marker']['size'] = dg['temp']\n", - "\n", - " #time.sleep(1)\n", - " threading.Timer(1, update).start()\n", - "\n", - "update()" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "id": "65a5202a-8cfc-456a-a39d-52a0b2d9f739", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "venv", - "language": "python", - "name": "venv" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.2" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/prilohy/web/mapy.ipynb b/prilohy/web/mapy.ipynb deleted file mode 100644 index be55975..0000000 --- a/prilohy/web/mapy.ipynb +++ /dev/null @@ -1,24774 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 40, - "id": "9caeeb6a-144f-4c25-a191-15410836392e", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "len: 450\n" - ] - }, - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>temp</th>\n", - " <th>pres</th>\n", - " <th>humi</th>\n", - " <th>gas</th>\n", - " <th>rsrp</th>\n", - " <th>rsrq</th>\n", - " <th>snr</th>\n", - " <th>enerest</th>\n", - " <th>band</th>\n", - " <th>txp</th>\n", - " <th>dlpl</th>\n", - " <th>ltemode</th>\n", - " <th>time</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>104</th>\n", - " <td>13.11</td>\n", - " <td>97.045</td>\n", - " <td>79.304</td>\n", - " <td>39028.0</td>\n", - " <td>-89.0</td>\n", - " <td>14.0</td>\n", - " <td>3.0</td>\n", - " <td>8.0</td>\n", - " <td>20.0</td>\n", - " <td>6.0</td>\n", - " <td>105.0</td>\n", - " <td>1.0</td>\n", - " <td>1.748294e+09</td>\n", - " </tr>\n", - " <tr>\n", - " <th>105</th>\n", - " <td>13.20</td>\n", - " <td>97.045</td>\n", - " <td>79.272</td>\n", - " <td>43610.0</td>\n", - " <td>-93.0</td>\n", - " <td>11.0</td>\n", - " <td>6.0</td>\n", - " <td>8.0</td>\n", - " <td>20.0</td>\n", - " <td>7.0</td>\n", - " <td>108.0</td>\n", - " <td>1.0</td>\n", - " <td>1.748294e+09</td>\n", - " </tr>\n", - " <tr>\n", - " <th>106</th>\n", - " <td>13.25</td>\n", - " <td>97.045</td>\n", - " <td>79.187</td>\n", - " <td>46799.0</td>\n", - " <td>-90.0</td>\n", - " <td>19.0</td>\n", - " <td>10.0</td>\n", - " <td>8.0</td>\n", - " <td>20.0</td>\n", - " <td>7.0</td>\n", - " <td>105.0</td>\n", - " <td>1.0</td>\n", - " <td>1.748294e+09</td>\n", - " </tr>\n", - " <tr>\n", - " <th>107</th>\n", - " <td>13.69</td>\n", - " <td>97.102</td>\n", - " <td>79.100</td>\n", - " <td>38666.0</td>\n", - " <td>-95.0</td>\n", - " <td>15.0</td>\n", - " <td>6.0</td>\n", - " <td>7.0</td>\n", - " <td>20.0</td>\n", - " <td>17.0</td>\n", - " <td>108.0</td>\n", - " <td>1.0</td>\n", - " <td>1.748294e+09</td>\n", - " </tr>\n", - " <tr>\n", - " <th>108</th>\n", - " <td>13.83</td>\n", - " <td>97.118</td>\n", - " <td>78.338</td>\n", - " <td>46901.0</td>\n", - " <td>-91.0</td>\n", - " <td>16.0</td>\n", - " <td>3.0</td>\n", - " <td>7.0</td>\n", - " <td>20.0</td>\n", - " <td>17.0</td>\n", - " <td>109.0</td>\n", - " <td>1.0</td>\n", - " <td>1.748294e+09</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "</div>" - ], - "text/plain": [ - " temp pres humi gas rsrp rsrq snr enerest band txp \\\n", - "104 13.11 97.045 79.304 39028.0 -89.0 14.0 3.0 8.0 20.0 6.0 \n", - "105 13.20 97.045 79.272 43610.0 -93.0 11.0 6.0 8.0 20.0 7.0 \n", - "106 13.25 97.045 79.187 46799.0 -90.0 19.0 10.0 8.0 20.0 7.0 \n", - "107 13.69 97.102 79.100 38666.0 -95.0 15.0 6.0 7.0 20.0 17.0 \n", - "108 13.83 97.118 78.338 46901.0 -91.0 16.0 3.0 7.0 20.0 17.0 \n", - "\n", - " dlpl ltemode time \n", - "104 105.0 1.0 1.748294e+09 \n", - "105 108.0 1.0 1.748294e+09 \n", - "106 105.0 1.0 1.748294e+09 \n", - "107 108.0 1.0 1.748294e+09 \n", - "108 109.0 1.0 1.748294e+09 " - ] - }, - "execution_count": 40, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import time\n", - "import sys\n", - "import json\n", - "import numpy as np\n", - "import pandas as pd\n", - "import plotly.express as px\n", - "\n", - "cols = [ 'temp', 'pres', 'humi', 'gas', 'rsrp', 'rsrq', 'snr', 'enerest', 'band', 'txp', 'dlpl', 'ltemode', 'time']\n", - "\n", - "dg = pd.DataFrame(columns=cols, dtype=float)\n", - "\n", - "with open('save.csv') as f:\n", - " for i, line in enumerate(f):\n", - " dg.loc[i] = pd.Series(json.loads(line))\n", - "\n", - "dg['rsrp'] = dg['rsrp'] - 140 # to dBm\n", - "dg['snr'] = dg['snr'] - 24 # to dB\n", - "dg = dg.tail(450)\n", - "dg = dg.fillna(0.0)\n", - "\n", - "print('len: ', len(dg.index))\n", - "dg.head(5)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "id": "9a698481-3cb6-46de-96d8-0db62ece9631", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>time</th>\n", - " <th>lat</th>\n", - " <th>lon</th>\n", - " <th>elevation</th>\n", - " <th>accuracy</th>\n", - " <th>bearing</th>\n", - " <th>speed</th>\n", - " <th>satellites</th>\n", - " <th>provider</th>\n", - " <th>hdop</th>\n", - " <th>...</th>\n", - " <th>dgpsid</th>\n", - " <th>activity</th>\n", - " <th>battery</th>\n", - " <th>annotation</th>\n", - " <th>timestamp_ms</th>\n", - " <th>time_offset</th>\n", - " <th>distance</th>\n", - " <th>starttimestamp_ms</th>\n", - " <th>profile_name</th>\n", - " <th>battery_charging</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>0</th>\n", - " <td>1.748292e+09</td>\n", - " <td>49.544096</td>\n", - " <td>18.272569</td>\n", - " <td>475.904480</td>\n", - " <td>31.088001</td>\n", - " <td>23.1</td>\n", - " <td>2.556</td>\n", - " <td>44</td>\n", - " <td>gps</td>\n", - " <td>0.9</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>48</td>\n", - " <td>NaN</td>\n", - " <td>1748292393000</td>\n", - " <td>2025-05-26T22:46:33.000+02:00</td>\n", - " <td>0.000000</td>\n", - " <td>1748292363134</td>\n", - " <td>Default Profile</td>\n", - " <td>True</td>\n", - " </tr>\n", - " <tr>\n", - " <th>1</th>\n", - " <td>1.748292e+09</td>\n", - " <td>49.544060</td>\n", - " <td>18.272483</td>\n", - " <td>474.664734</td>\n", - " <td>30.016000</td>\n", - " <td>NaN</td>\n", - " <td>0.000</td>\n", - " <td>45</td>\n", - " <td>gps</td>\n", - " <td>0.9</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>50</td>\n", - " <td>NaN</td>\n", - " <td>1748292459000</td>\n", - " <td>2025-05-26T22:47:39.000+02:00</td>\n", - " <td>7.418598</td>\n", - " <td>1748292363134</td>\n", - " <td>Default Profile</td>\n", - " <td>True</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2</th>\n", - " <td>1.748293e+09</td>\n", - " <td>49.544057</td>\n", - " <td>18.272475</td>\n", - " <td>476.147278</td>\n", - " <td>31.088001</td>\n", - " <td>NaN</td>\n", - " <td>0.000</td>\n", - " <td>44</td>\n", - " <td>gps</td>\n", - " <td>1.1</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>51</td>\n", - " <td>NaN</td>\n", - " <td>1748292536000</td>\n", - " <td>2025-05-26T22:48:56.000+02:00</td>\n", - " <td>8.047284</td>\n", - " <td>1748292363134</td>\n", - " <td>Default Profile</td>\n", - " <td>True</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>1.748293e+09</td>\n", - " <td>49.544098</td>\n", - " <td>18.272478</td>\n", - " <td>477.413879</td>\n", - " <td>28.944000</td>\n", - " <td>NaN</td>\n", - " <td>0.000</td>\n", - " <td>44</td>\n", - " <td>gps</td>\n", - " <td>1.3</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>52</td>\n", - " <td>NaN</td>\n", - " <td>1748292603000</td>\n", - " <td>2025-05-26T22:50:03.000+02:00</td>\n", - " <td>12.585915</td>\n", - " <td>1748292363134</td>\n", - " <td>Default Profile</td>\n", - " <td>True</td>\n", - " </tr>\n", - " <tr>\n", - " <th>4</th>\n", - " <td>1.748293e+09</td>\n", - " <td>49.544125</td>\n", - " <td>18.272476</td>\n", - " <td>477.728516</td>\n", - " <td>26.800001</td>\n", - " <td>NaN</td>\n", - " <td>0.000</td>\n", - " <td>44</td>\n", - " <td>gps</td>\n", - " <td>1.3</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>54</td>\n", - " <td>NaN</td>\n", - " <td>1748292697000</td>\n", - " <td>2025-05-26T22:51:37.000+02:00</td>\n", - " <td>15.513266</td>\n", - " <td>1748292363134</td>\n", - " <td>Default Profile</td>\n", - " <td>True</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "<p>5 rows × 24 columns</p>\n", - "</div>" - ], - "text/plain": [ - " time lat lon elevation accuracy bearing speed \\\n", - "0 1.748292e+09 49.544096 18.272569 475.904480 31.088001 23.1 2.556 \n", - "1 1.748292e+09 49.544060 18.272483 474.664734 30.016000 NaN 0.000 \n", - "2 1.748293e+09 49.544057 18.272475 476.147278 31.088001 NaN 0.000 \n", - "3 1.748293e+09 49.544098 18.272478 477.413879 28.944000 NaN 0.000 \n", - "4 1.748293e+09 49.544125 18.272476 477.728516 26.800001 NaN 0.000 \n", - "\n", - " satellites provider hdop ... dgpsid activity battery annotation \\\n", - "0 44 gps 0.9 ... NaN NaN 48 NaN \n", - "1 45 gps 0.9 ... NaN NaN 50 NaN \n", - "2 44 gps 1.1 ... NaN NaN 51 NaN \n", - "3 44 gps 1.3 ... NaN NaN 52 NaN \n", - "4 44 gps 1.3 ... NaN NaN 54 NaN \n", - "\n", - " timestamp_ms time_offset distance starttimestamp_ms \\\n", - "0 1748292393000 2025-05-26T22:46:33.000+02:00 0.000000 1748292363134 \n", - "1 1748292459000 2025-05-26T22:47:39.000+02:00 7.418598 1748292363134 \n", - "2 1748292536000 2025-05-26T22:48:56.000+02:00 8.047284 1748292363134 \n", - "3 1748292603000 2025-05-26T22:50:03.000+02:00 12.585915 1748292363134 \n", - "4 1748292697000 2025-05-26T22:51:37.000+02:00 15.513266 1748292363134 \n", - "\n", - " profile_name battery_charging \n", - "0 Default Profile True \n", - "1 Default Profile True \n", - "2 Default Profile True \n", - "3 Default Profile True \n", - "4 Default Profile True \n", - "\n", - "[5 rows x 24 columns]" - ] - }, - "execution_count": 41, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "gps = pd.read_csv('ltemgps.csv')\n", - "gps['time'] = gps['time'].apply(lambda x: time.mktime(time.strptime(x[:-5], '%Y-%m-%dT%H:%M:%S')) +3600*2)\n", - "gps['speed'] = gps['speed'] * 3.6 # m/s -> km/s\n", - "gps.head(5)" - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "id": "f3d732ee-3e78-4ac9-89f8-63c02abd9826", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div>\n", - "<style scoped>\n", - " .dataframe tbody tr th:only-of-type {\n", - " vertical-align: middle;\n", - " }\n", - "\n", - " .dataframe tbody tr th {\n", - " vertical-align: top;\n", - " }\n", - "\n", - " .dataframe thead th {\n", - " text-align: right;\n", - " }\n", - "</style>\n", - "<table border=\"1\" class=\"dataframe\">\n", - " <thead>\n", - " <tr style=\"text-align: right;\">\n", - " <th></th>\n", - " <th>temp</th>\n", - " <th>pres</th>\n", - " <th>humi</th>\n", - " <th>gas</th>\n", - " <th>rsrp</th>\n", - " <th>rsrq</th>\n", - " <th>snr</th>\n", - " <th>enerest</th>\n", - " <th>band</th>\n", - " <th>txp</th>\n", - " <th>...</th>\n", - " <th>dgpsid</th>\n", - " <th>activity</th>\n", - " <th>battery</th>\n", - " <th>annotation</th>\n", - " <th>timestamp_ms</th>\n", - " <th>time_offset</th>\n", - " <th>distance</th>\n", - " <th>starttimestamp_ms</th>\n", - " <th>profile_name</th>\n", - " <th>battery_charging</th>\n", - " </tr>\n", - " </thead>\n", - " <tbody>\n", - " <tr>\n", - " <th>0</th>\n", - " <td>13.11</td>\n", - " <td>97.045</td>\n", - " <td>79.304</td>\n", - " <td>39028.0</td>\n", - " <td>-89.0</td>\n", - " <td>14.0</td>\n", - " <td>3.0</td>\n", - " <td>8.0</td>\n", - " <td>20.0</td>\n", - " <td>6.0</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>74</td>\n", - " <td>NaN</td>\n", - " <td>1748294421000</td>\n", - " <td>2025-05-26T23:20:21.000+02:00</td>\n", - " <td>451.484135</td>\n", - " <td>1748292363134</td>\n", - " <td>Default Profile</td>\n", - " <td>True</td>\n", - " </tr>\n", - " <tr>\n", - " <th>1</th>\n", - " <td>13.20</td>\n", - " <td>97.045</td>\n", - " <td>79.272</td>\n", - " <td>43610.0</td>\n", - " <td>-93.0</td>\n", - " <td>11.0</td>\n", - " <td>6.0</td>\n", - " <td>8.0</td>\n", - " <td>20.0</td>\n", - " <td>7.0</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>74</td>\n", - " <td>NaN</td>\n", - " <td>1748294421000</td>\n", - " <td>2025-05-26T23:20:21.000+02:00</td>\n", - " <td>451.484135</td>\n", - " <td>1748292363134</td>\n", - " <td>Default Profile</td>\n", - " <td>True</td>\n", - " </tr>\n", - " <tr>\n", - " <th>2</th>\n", - " <td>13.25</td>\n", - " <td>97.045</td>\n", - " <td>79.187</td>\n", - " <td>46799.0</td>\n", - " <td>-90.0</td>\n", - " <td>19.0</td>\n", - " <td>10.0</td>\n", - " <td>8.0</td>\n", - " <td>20.0</td>\n", - " <td>7.0</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>75</td>\n", - " <td>NaN</td>\n", - " <td>1748294485000</td>\n", - " <td>2025-05-26T23:21:25.000+02:00</td>\n", - " <td>802.403440</td>\n", - " <td>1748292363134</td>\n", - " <td>Default Profile</td>\n", - " <td>True</td>\n", - " </tr>\n", - " <tr>\n", - " <th>3</th>\n", - " <td>13.69</td>\n", - " <td>97.102</td>\n", - " <td>79.100</td>\n", - " <td>38666.0</td>\n", - " <td>-95.0</td>\n", - " <td>15.0</td>\n", - " <td>6.0</td>\n", - " <td>7.0</td>\n", - " <td>20.0</td>\n", - " <td>17.0</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>75</td>\n", - " <td>NaN</td>\n", - " <td>1748294485000</td>\n", - " <td>2025-05-26T23:21:25.000+02:00</td>\n", - " <td>802.403440</td>\n", - " <td>1748292363134</td>\n", - " <td>Default Profile</td>\n", - " <td>True</td>\n", - " </tr>\n", - " <tr>\n", - " <th>4</th>\n", - " <td>13.83</td>\n", - " <td>97.118</td>\n", - " <td>78.338</td>\n", - " <td>46901.0</td>\n", - " <td>-91.0</td>\n", - " <td>16.0</td>\n", - " <td>3.0</td>\n", - " <td>7.0</td>\n", - " <td>20.0</td>\n", - " <td>17.0</td>\n", - " <td>...</td>\n", - " <td>NaN</td>\n", - " <td>NaN</td>\n", - " <td>75</td>\n", - " <td>NaN</td>\n", - " <td>1748294485000</td>\n", - " <td>2025-05-26T23:21:25.000+02:00</td>\n", - " <td>802.403440</td>\n", - " <td>1748292363134</td>\n", - " <td>Default Profile</td>\n", - " <td>True</td>\n", - " </tr>\n", - " </tbody>\n", - "</table>\n", - "<p>5 rows × 36 columns</p>\n", - "</div>" - ], - "text/plain": [ - " temp pres humi gas rsrp rsrq snr enerest band txp ... \\\n", - "0 13.11 97.045 79.304 39028.0 -89.0 14.0 3.0 8.0 20.0 6.0 ... \n", - "1 13.20 97.045 79.272 43610.0 -93.0 11.0 6.0 8.0 20.0 7.0 ... \n", - "2 13.25 97.045 79.187 46799.0 -90.0 19.0 10.0 8.0 20.0 7.0 ... \n", - "3 13.69 97.102 79.100 38666.0 -95.0 15.0 6.0 7.0 20.0 17.0 ... \n", - "4 13.83 97.118 78.338 46901.0 -91.0 16.0 3.0 7.0 20.0 17.0 ... \n", - "\n", - " dgpsid activity battery annotation timestamp_ms \\\n", - "0 NaN NaN 74 NaN 1748294421000 \n", - "1 NaN NaN 74 NaN 1748294421000 \n", - "2 NaN NaN 75 NaN 1748294485000 \n", - "3 NaN NaN 75 NaN 1748294485000 \n", - "4 NaN NaN 75 NaN 1748294485000 \n", - "\n", - " time_offset distance starttimestamp_ms \\\n", - "0 2025-05-26T23:20:21.000+02:00 451.484135 1748292363134 \n", - "1 2025-05-26T23:20:21.000+02:00 451.484135 1748292363134 \n", - "2 2025-05-26T23:21:25.000+02:00 802.403440 1748292363134 \n", - "3 2025-05-26T23:21:25.000+02:00 802.403440 1748292363134 \n", - "4 2025-05-26T23:21:25.000+02:00 802.403440 1748292363134 \n", - "\n", - " profile_name battery_charging \n", - "0 Default Profile True \n", - "1 Default Profile True \n", - "2 Default Profile True \n", - "3 Default Profile True \n", - "4 Default Profile True \n", - "\n", - "[5 rows x 36 columns]" - ] - }, - "execution_count": 42, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df = pd.merge_asof(dg, gps, on='time', direction='nearest')\n", - "len(df.index)\n", - "\n", - "i = 0\n", - "def aproxpos(t):\n", - " global i\n", - " while i+2 < len(gps.index) and gps.at[i+1, 'time'] < t:\n", - " i += 1\n", - " t1, t2 = gps.at[i, 'time'], gps.at[i+1, 'time']\n", - " la1, la2 = gps.at[i, 'lat'], gps.at[i+1, 'lat']\n", - " lo1, lo2 = gps.at[i, 'lon'], gps.at[i+1, 'lon']\n", - " \n", - " la = (t-t1)*((la2-la1)/(t2-t1)) +la1\n", - " lo = (t-t1)*((lo2-lo1)/(t2-t1)) +lo1\n", - " return pd.Series([la, lo])\n", - "\n", - "df[['lat', 'lon']] = df['time'].apply(aproxpos)\n", - "df.head(5)" - ] - }, - { - "cell_type": "code", - "execution_count": 58, - "id": "5e753dcc-c84d-4b36-835f-9069eafb2c7d", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.plotly.v1+json": { - "config": { - "plotlyServerURL": "https://plot.ly" - }, - "data": [ - { - "hovertemplate": "speed=%{marker.size}<br>lat=%{lat}<br>lon=%{lon}<br>rsrp=%{marker.color}<extra></extra>", - "lat": { - "bdata": "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", - "dtype": "f8" - }, - "legendgroup": "", - "lon": { - "bdata": "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", - "dtype": "f8" - }, - "marker": { - "color": { - "bdata": "AAAAAABAVsAAAAAAAEBXwAAAAAAAgFbAAAAAAADAV8AAAAAAAMBWwAAAAAAAgFfAAAAAAACAWsAAAAAAAMBTwAAAAAAAgFnAAAAAAABAV8AAAAAAAEBYwAAAAAAAQFjAAAAAAAAAWsAAAAAAAMBXwAAAAAAAAFjAAAAAAABAV8AAAAAAAMBWwAAAAAAAgFbAAAAAAADAVcAAAAAAAMBVwAAAAAAAwFfAAAAAAACAUMAAAAAAAABRwAAAAAAAwFPAAAAAAAAAVMAAAAAAAIBYwAAAAAAAAFrAAAAAAAAAWcAAAAAAAEBawAAAAAAAAFvAAAAAAAAAW8AAAAAAAEBawAAAAAAAgFnAAAAAAABAWcAAAAAAAEBXwAAAAAAAQFjAAAAAAADAWsAAAAAAAABdwAAAAAAAgFrAAAAAAABAVcAAAAAAAIBUwAAAAAAAwFXAAAAAAAAAVMAAAAAAAEBSwAAAAAAAwFHAAAAAAABAVMAAAAAAAIBVwAAAAAAAAFbAAAAAAABAVcAAAAAAAIBXwAAAAAAAwFjAAAAAAADAUcAAAAAAAMBUwAAAAAAAwFPAAAAAAAAAVMAAAAAAAIBVwAAAAAAAAFbAAAAAAABAUsAAAAAAAIBUwAAAAAAAAFLAAAAAAADAVMAAAAAAAEBYwAAAAAAAQFbAAAAAAABAWMAAAAAAAABZwAAAAAAAAFnAAAAAAAAAWMAAAAAAAMBZwAAAAAAAwFjAAAAAAAAAWMAAAAAAAMBWwAAAAAAAAFjAAAAAAABAVMAAAAAAAEBYwAAAAAAAgFfAAAAAAACAWMAAAAAAAEBRwAAAAAAAAE/AAAAAAAAAUcAAAAAAAEBSwAAAAAAAAEzAAAAAAADAUMAAAAAAAEBTwAAAAAAAgFTAAAAAAAAAVsAAAAAAAABUwAAAAAAAQFPAAAAAAADAU8AAAAAAAABVwAAAAAAAgFbAAAAAAACAUsAAAAAAAEBWwAAAAAAAAFrAAAAAAADAV8AAAAAAAIBYwAAAAAAAQFjAAAAAAAAAVsAAAAAAAMBZwAAAAAAAAFnAAAAAAADAWMAAAAAAAMBXwAAAAAAAwFXAAAAAAAAAV8AAAAAAAABWwAAAAAAAAFfAAAAAAAAAV8AAAAAAAEBawAAAAAAAwFDAAAAAAAAAUcAAAAAAAMBUwAAAAAAAAFnAAAAAAACAXMAAAAAAAMBTwAAAAAAAwFLAAAAAAABAVsAAAAAAAMBWwAAAAAAAgFbAAAAAAACAV8AAAAAAAIBXwAAAAAAAQFjAAAAAAABAWsAAAAAAAMBVwAAAAAAAAFXAAAAAAABAVsAAAAAAAEBWwAAAAAAAwFjAAAAAAAAAWcAAAAAAAAAAAAAAAAAAQFfAAAAAAAAAW8AAAAAAAABawAAAAAAAQFrAAAAAAABAVMAAAAAAAABUwAAAAAAAAFTAAAAAAAAAVMAAAAAAAEBUwAAAAAAAQFPAAAAAAAAAVsAAAAAAAABXwAAAAAAAwFbAAAAAAADAV8AAAAAAAIBQwAAAAAAAwFPAAAAAAACAVMAAAAAAAABVwAAAAAAAwFbAAAAAAACAWMAAAAAAAMBYwAAAAAAAgFjAAAAAAABAWMAAAAAAAEBXwAAAAAAAgFHAAAAAAADAUcAAAAAAAMBSwAAAAAAAAFnAAAAAAAAAWcAAAAAAAABcwAAAAAAAwFfAAAAAAADAWMAAAAAAAEBYwAAAAAAAAFbAAAAAAACAVMAAAAAAAMBTwAAAAAAAgFfAAAAAAADAU8AAAAAAAEBUwAAAAAAAAFvAAAAAAAAAWsAAAAAAAIBXwAAAAAAAgFfAAAAAAACAWcAAAAAAAEBWwAAAAAAAwFbAAAAAAAAAWcAAAAAAAMBYwAAAAAAAQFfAAAAAAABAWcAAAAAAAEBXwAAAAAAAQFfAAAAAAADAWMAAAAAAAABZwAAAAAAAgFnAAAAAAACAVcAAAAAAAEBWwAAAAAAAAFbAAAAAAADAVMAAAAAAAABWwAAAAAAAgFbAAAAAAADAVMAAAAAAAIBUwAAAAAAAQFPAAAAAAADAU8AAAAAAAABUwAAAAAAAgFzAAAAAAAAAW8AAAAAAAIBZwAAAAAAAwFfAAAAAAAAAVsAAAAAAAMBUwAAAAAAAwFXAAAAAAADAU8AAAAAAAIBOwAAAAAAAwFjAAAAAAABAWMAAAAAAAMBVwAAAAAAAAFfAAAAAAABAWsAAAAAAAIBdwAAAAAAAwFrAAAAAAABAXMAAAAAAAIBbwAAAAAAAgFzAAAAAAABAW8AAAAAAAABdwAAAAAAAgFzAAAAAAABAXMAAAAAAAIBawAAAAAAAAFnAAAAAAACAV8AAAAAAAABXwAAAAAAAAFjAAAAAAAAAVcAAAAAAAIBYwAAAAAAAQFXAAAAAAAAAV8AAAAAAAEBZwAAAAAAAQFXAAAAAAACAVMAAAAAAAEBTwAAAAAAAAFbAAAAAAAAAVsAAAAAAAIBUwAAAAAAAgFrAAAAAAADAWMAAAAAAAABbwAAAAAAAgFrAAAAAAABAWMAAAAAAAMBYwAAAAAAAQFvAAAAAAADAWMAAAAAAAIBYwAAAAAAAAFnAAAAAAADAWMAAAAAAAIBZwAAAAAAAQFjAAAAAAACAWcAAAAAAAIBYwAAAAAAAQFnAAAAAAAAAXsAAAAAAAABdwAAAAAAAgFvAAAAAAADAWsAAAAAAAIBbwAAAAAAAQFvAAAAAAADAWcAAAAAAAIBewAAAAAAAgFzAAAAAAAAAXsAAAAAAAABZwAAAAAAAwFrAAAAAAABAVcAAAAAAAMBYwAAAAAAAQFnAAAAAAADAVsAAAAAAAEBWwAAAAAAAQFXAAAAAAAAAWMAAAAAAAABbwAAAAAAAQF3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFfAAAAAAAAAWMAAAAAAAABYwAAAAAAAwFfAAAAAAABAWcAAAAAAAEBawAAAAAAAAFjAAAAAAACAVsAAAAAAAABXwAAAAAAAAFbAAAAAAAAAWsAAAAAAAIBbwAAAAAAAgFjAAAAAAACAV8AAAAAAAEBXwAAAAAAAgFjAAAAAAAAAV8AAAAAAAABZwAAAAAAAgFjAAAAAAAAAWcAAAAAAAABWwAAAAAAAQFvAAAAAAACAWMAAAAAAAIBZwAAAAAAAgFnAAAAAAAAAVsAAAAAAAEBWwAAAAAAAAFTAAAAAAABAWsAAAAAAAIBZwAAAAAAAwFnAAAAAAAAAWcAAAAAAAIBawAAAAAAAQFzAAAAAAABAWcAAAAAAAMBbwAAAAAAAwFzAAAAAAACAWsAAAAAAAMBbwAAAAAAAgF/AAAAAAAAAAAAAAAAAAABcwAAAAAAAQFrAAAAAAADAW8AAAAAAAABcwAAAAAAAwFvAAAAAAADAXMAAAAAAAMBcwAAAAAAAAFzAAAAAAABAXMAAAAAAAEBewAAAAAAAAAAAAAAAAABAXMAAAAAAAIBewAAAAAAAgFvAAAAAAABAWcAAAAAAAMBawAAAAAAAAFvAAAAAAABAXMAAAAAAAIBZwAAAAAAAgFfAAAAAAADAVcAAAAAAAMBZwAAAAAAAQFnAAAAAAACAW8AAAAAAAMBWwAAAAAAAwFjAAAAAAADAVsAAAAAAAABXwAAAAAAAQFTAAAAAAAAAWMAAAAAAAMBYwAAAAAAAgFbAAAAAAADAVcAAAAAAAEBVwAAAAAAAwFfAAAAAAAAAWsAAAAAAAMBbwAAAAAAAAFrAAAAAAAAAX8AAAAAAAIBcwAAAAAAAgF3AAAAAAAAAXsAAAAAAAABdwAAAAAAAwFnAAAAAAACAX8AAAAAAAMBewAAAAAAAAFvAAAAAAACAW8AAAAAAAEBYwAAAAAAAQFzAAAAAAABAV8AAAAAAAMBYwAAAAAAAwFfAAAAAAACAVsAAAAAAAIBWwAAAAAAAwFXAAAAAAABAUsAAAAAAAABWwAAAAAAAQFbAAAAAAADAV8AAAAAAAMBXwAAAAAAAAFbAAAAAAAAAVsAAAAAAAIBcwAAAAAAAwFnAAAAAAADAV8AAAAAAAABYwAAAAAAAAFnAAAAAAAAAWMAAAAAAAMBXwAAAAAAAAFjAAAAAAADAWMAAAAAAAEBXwAAAAAAAgFTAAAAAAAAAWcAAAAAAAIBWwAAAAAAAwFbAAAAAAADAWcAAAAAAAABZwAAAAAAAwFbAAAAAAACAV8AAAAAAAEBXwAAAAAAAwFnAAAAAAADAV8AAAAAAAIBXwAAAAAAAgFnAAAAAAAAAWMAAAAAAAEBZwAAAAAAAAFfAAAAAAADAWsAAAAAAAABawAAAAAAAQFrAAAAAAADAW8AAAAAAAIBbwAAAAAAAQFvAAAAAAADAW8AAAAAAAEBdwAAAAAAAgFnAAAAAAABAWMAAAAAAAIBYwAAAAAAAgFrAAAAAAAAAWcAAAAAAAIBZwAAAAAAAQFjAAAAAAACAW8AAAAAAAIBbwAAAAAAAAFnAAAAAAADAWMAAAAAAAEBWwAAAAAAAwFTAAAAAAADAUcAAAAAAAEBQwAAAAAAAQFPAAAAAAADAVMAAAAAAAIBawAAAAAAAwFPAAAAAAADAVsAAAAAAAMBZwAAAAAAAQFbAAAAAAAAAUcAAAAAAAMBRwAAAAAAAwFHAAAAAAAAAVcAAAAAAAMBVwAAAAAAAgFrAAAAAAAAAVsAAAAAAAIBRwAAAAAAAAFTAAAAAAAAAU8AAAAAAAABWwAAAAAAAgFPAAAAAAABAU8AAAAAAAMBSwAAAAAAAQFPAAAAAAACAVMAAAAAAAIBSwAAAAAAAgFfA", - "dtype": "f8" - }, - "coloraxis": "coloraxis", - "opacity": 1, - "size": { - "bdata": "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", - "dtype": "f8" - }, - "sizemode": "area", - "sizeref": 1.6706666666666667 - }, - "mode": "markers", - "name": "", - "showlegend": false, - "subplot": "map", - "type": "scattermap" - } - ], - "layout": { - "coloraxis": { - "cmax": -60, - "cmin": -130, - "colorbar": { - "title": { - "text": "rsrp" - } - }, - "colorscale": [ - [ - 0, - "rgb(0,0,131)" - ], - [ - 0.2, - "rgb(0,60,170)" - ], - [ - 0.4, - "rgb(5,255,255)" - ], - [ - 0.6, - "rgb(255,255,0)" - ], - [ - 0.8, - "rgb(250,0,0)" - ], - [ - 1, - "rgb(128,0,0)" - ] - ] - }, - "legend": { - "itemsizing": "constant", - "tracegroupgap": 0 - }, - "map": { - "center": { - "lat": 49.4500818735672, - "lon": 17.419228472787495 - }, - "domain": { - "x": [ - 0, - 1 - ], - "y": [ - 0, - 1 - ] - }, - "style": "open-street-map", - "zoom": 8 - }, - "mapbox": { - "center": { - "lat": 49.4500818735672, - "lon": 17.419228472787495 - }, - "style": "open-street-map", - "zoom": 8 - }, - "margin": { - "t": 60 - }, - "template": { - "data": { - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "choropleth": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "choropleth" - } - ], - "contour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "contour" - } - ], - "contourcarpet": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "contourcarpet" - } - ], - "heatmap": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmap" - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "histogram2d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2d" - } - ], - "histogram2dcontour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2dcontour" - } - ], - "mesh3d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "mesh3d" - } - ], - "parcoords": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "parcoords" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "scatter3d": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatter3d" - } - ], - "scattercarpet": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattercarpet" - } - ], - "scattergeo": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergeo" - } - ], - "scattergl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergl" - } - ], - "scattermap": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermap" - } - ], - "scattermapbox": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermapbox" - } - ], - "scatterpolar": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolar" - } - ], - "scatterpolargl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolargl" - } - ], - "scatterternary": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterternary" - } - ], - "surface": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "surface" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ] - }, - "layout": { - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "autotypenumbers": "strict", - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ], - "sequential": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ] - }, - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "geo": { - "bgcolor": "white", - "lakecolor": "white", - "landcolor": "#E5ECF6", - "showlakes": true, - "showland": true, - "subunitcolor": "white" - }, - "hoverlabel": { - "align": "left" - }, - "hovermode": "closest", - "mapbox": { - "style": "light" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "ternary": { - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "title": { - "x": 0.05 - }, - "xaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - }, - "yaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - } - } - } - } - }, - "text/html": [ - "<div> <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script> <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n", - " <script type=\"text/javascript\">/**\n", - "* plotly.js v3.0.1\n", - "* Copyright 2012-2025, Plotly, Inc.\n", - "* All rights reserved.\n", - "* Licensed under the MIT license\n", - "*/\n", - "(\n", - " function(root, factory) {\n", - " if (typeof module === \"object\" && module.exports) {\n", - " module.exports = factory();\n", - " } else {\n", - " root.moduleName = factory();\n", - " }\n", - "} (typeof self !== \"undefined\" ? self : this, () => {\n", - "\"use strict\";var Plotly=(()=>{var VQe=Object.create;var MS=Object.defineProperty,HQe=Object.defineProperties,GQe=Object.getOwnPropertyDescriptor,jQe=Object.getOwnPropertyDescriptors,WQe=Object.getOwnPropertyNames,XQ=Object.getOwnPropertySymbols,ZQe=Object.getPrototypeOf,KQ=Object.prototype.hasOwnProperty,XQe=Object.prototype.propertyIsEnumerable;var YQ=(e,t,r)=>t in e?MS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,JQ=(e,t)=>{for(var r in t||(t={}))KQ.call(t,r)&&YQ(e,r,t[r]);if(XQ)for(var r of XQ(t))XQe.call(t,r)&&YQ(e,r,t[r]);return e},$Q=(e,t)=>HQe(e,jQe(t));var Ll=(e,t)=>()=>(e&&(t=e(e=0)),t);var ye=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),QQ=(e,t)=>{for(var r in t)MS(e,r,{get:t[r],enumerable:!0})},eee=(e,t,r,n)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let i of WQe(t))!KQ.call(e,i)&&i!==r&&MS(e,i,{get:()=>t[i],enumerable:!(n=GQe(t,i))||n.enumerable});return e};var YQe=(e,t,r)=>(r=e!=null?VQe(ZQe(e)):{},eee(t||!e||!e.__esModule?MS(r,\"default\",{value:e,enumerable:!0}):r,e)),B1=e=>eee(MS({},\"__esModule\",{value:!0}),e);var e6=ye(tee=>{\"use strict\";tee.version=\"3.0.1\"});var iee=ye((ree,t6)=>{(function(t,r,n){r[t]=r[t]||n(),typeof t6!=\"undefined\"&&t6.exports&&(t6.exports=r[t])})(\"Promise\",typeof window!=\"undefined\"?window:ree,function(){\"use strict\";var t,r,n,i=Object.prototype.toString,a=typeof setImmediate!=\"undefined\"?function(E){return setImmediate(E)}:setTimeout;try{Object.defineProperty({},\"x\",{}),t=function(E,k,A,L){return Object.defineProperty(E,k,{value:A,writable:!0,configurable:L!==!1})}}catch(p){t=function(k,A,L){return k[A]=L,k}}n=function(){var E,k,A;function L(_,C){this.fn=_,this.self=C,this.next=void 0}return{add:function(C,M){A=new L(C,M),k?k.next=A:E=A,k=A,A=void 0},drain:function(){var C=E;for(E=k=r=void 0;C;)C.fn.call(C.self),C=C.next}}}();function o(p,E){n.add(p,E),r||(r=a(n.drain))}function s(p){var E,k=typeof p;return p!=null&&(k==\"object\"||k==\"function\")&&(E=p.then),typeof E==\"function\"?E:!1}function l(){for(var p=0;p<this.chain.length;p++)u(this,this.state===1?this.chain[p].success:this.chain[p].failure,this.chain[p]);this.chain.length=0}function u(p,E,k){var A,L;try{E===!1?k.reject(p.msg):(E===!0?A=p.msg:A=E.call(void 0,p.msg),A===k.promise?k.reject(TypeError(\"Promise-chain cycle\")):(L=s(A))?L.call(A,k.resolve,k.reject):k.resolve(A))}catch(_){k.reject(_)}}function c(p){var E,k=this;if(!k.triggered){k.triggered=!0,k.def&&(k=k.def);try{(E=s(p))?o(function(){var A=new d(k);try{E.call(p,function(){c.apply(A,arguments)},function(){f.apply(A,arguments)})}catch(L){f.call(A,L)}}):(k.msg=p,k.state=1,k.chain.length>0&&o(l,k))}catch(A){f.call(new d(k),A)}}}function f(p){var E=this;E.triggered||(E.triggered=!0,E.def&&(E=E.def),E.msg=p,E.state=2,E.chain.length>0&&o(l,E))}function h(p,E,k,A){for(var L=0;L<E.length;L++)(function(C){p.resolve(E[C]).then(function(g){k(C,g)},A)})(L)}function d(p){this.def=p,this.triggered=!1}function v(p){this.promise=p,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function x(p){if(typeof p!=\"function\")throw TypeError(\"Not a function\");if(this.__NPO__!==0)throw TypeError(\"Not a promise\");this.__NPO__=1;var E=new v(this);this.then=function(A,L){var _={success:typeof A==\"function\"?A:!0,failure:typeof L==\"function\"?L:!1};return _.promise=new this.constructor(function(M,g){if(typeof M!=\"function\"||typeof g!=\"function\")throw TypeError(\"Not a function\");_.resolve=M,_.reject=g}),E.chain.push(_),E.state!==0&&o(l,E),_.promise},this.catch=function(A){return this.then(void 0,A)};try{p.call(void 0,function(A){c.call(E,A)},function(A){f.call(E,A)})}catch(k){f.call(E,k)}}var b=t({},\"constructor\",x,!1);return x.prototype=b,t(b,\"__NPO__\",0,!1),t(x,\"resolve\",function(E){var k=this;return E&&typeof E==\"object\"&&E.__NPO__===1?E:new k(function(L,_){if(typeof L!=\"function\"||typeof _!=\"function\")throw TypeError(\"Not a function\");L(E)})}),t(x,\"reject\",function(E){return new this(function(A,L){if(typeof A!=\"function\"||typeof L!=\"function\")throw TypeError(\"Not a function\");L(E)})}),t(x,\"all\",function(E){var k=this;return i.call(E)!=\"[object Array]\"?k.reject(TypeError(\"Not an array\")):E.length===0?k.resolve([]):new k(function(L,_){if(typeof L!=\"function\"||typeof _!=\"function\")throw TypeError(\"Not a function\");var C=E.length,M=Array(C),g=0;h(k,E,function(T,F){M[T]=F,++g===C&&L(M)},_)})}),t(x,\"race\",function(E){var k=this;return i.call(E)!=\"[object Array]\"?k.reject(TypeError(\"Not an array\")):new k(function(L,_){if(typeof L!=\"function\"||typeof _!=\"function\")throw TypeError(\"Not a function\");h(k,E,function(M,g){L(g)},_)})}),x})});var xa=ye((qQt,r6)=>{(function(){var e={version:\"3.8.2\"},t=[].slice,r=function(Z){return t.call(Z)},n=self.document;function i(Z){return Z&&(Z.ownerDocument||Z.document||Z).documentElement}function a(Z){return Z&&(Z.ownerDocument&&Z.ownerDocument.defaultView||Z.document&&Z||Z.defaultView)}if(n)try{r(n.documentElement.childNodes)[0].nodeType}catch(Z){r=function(oe){for(var we=oe.length,Be=new Array(we);we--;)Be[we]=oe[we];return Be}}if(Date.now||(Date.now=function(){return+new Date}),n)try{n.createElement(\"DIV\").style.setProperty(\"opacity\",0,\"\")}catch(Z){var o=this.Element.prototype,s=o.setAttribute,l=o.setAttributeNS,u=this.CSSStyleDeclaration.prototype,c=u.setProperty;o.setAttribute=function(oe,we){s.call(this,oe,we+\"\")},o.setAttributeNS=function(oe,we,Be){l.call(this,oe,we,Be+\"\")},u.setProperty=function(oe,we,Be){c.call(this,oe,we+\"\",Be)}}e.ascending=f;function f(Z,oe){return Z<oe?-1:Z>oe?1:Z>=oe?0:NaN}e.descending=function(Z,oe){return oe<Z?-1:oe>Z?1:oe>=Z?0:NaN},e.min=function(Z,oe){var we=-1,Be=Z.length,Ue,We;if(arguments.length===1){for(;++we<Be;)if((We=Z[we])!=null&&We>=We){Ue=We;break}for(;++we<Be;)(We=Z[we])!=null&&Ue>We&&(Ue=We)}else{for(;++we<Be;)if((We=oe.call(Z,Z[we],we))!=null&&We>=We){Ue=We;break}for(;++we<Be;)(We=oe.call(Z,Z[we],we))!=null&&Ue>We&&(Ue=We)}return Ue},e.max=function(Z,oe){var we=-1,Be=Z.length,Ue,We;if(arguments.length===1){for(;++we<Be;)if((We=Z[we])!=null&&We>=We){Ue=We;break}for(;++we<Be;)(We=Z[we])!=null&&We>Ue&&(Ue=We)}else{for(;++we<Be;)if((We=oe.call(Z,Z[we],we))!=null&&We>=We){Ue=We;break}for(;++we<Be;)(We=oe.call(Z,Z[we],we))!=null&&We>Ue&&(Ue=We)}return Ue},e.extent=function(Z,oe){var we=-1,Be=Z.length,Ue,We,wt;if(arguments.length===1){for(;++we<Be;)if((We=Z[we])!=null&&We>=We){Ue=wt=We;break}for(;++we<Be;)(We=Z[we])!=null&&(Ue>We&&(Ue=We),wt<We&&(wt=We))}else{for(;++we<Be;)if((We=oe.call(Z,Z[we],we))!=null&&We>=We){Ue=wt=We;break}for(;++we<Be;)(We=oe.call(Z,Z[we],we))!=null&&(Ue>We&&(Ue=We),wt<We&&(wt=We))}return[Ue,wt]};function h(Z){return Z===null?NaN:+Z}function d(Z){return!isNaN(Z)}e.sum=function(Z,oe){var we=0,Be=Z.length,Ue,We=-1;if(arguments.length===1)for(;++We<Be;)d(Ue=+Z[We])&&(we+=Ue);else for(;++We<Be;)d(Ue=+oe.call(Z,Z[We],We))&&(we+=Ue);return we},e.mean=function(Z,oe){var we=0,Be=Z.length,Ue,We=-1,wt=Be;if(arguments.length===1)for(;++We<Be;)d(Ue=h(Z[We]))?we+=Ue:--wt;else for(;++We<Be;)d(Ue=h(oe.call(Z,Z[We],We)))?we+=Ue:--wt;if(wt)return we/wt},e.quantile=function(Z,oe){var we=(Z.length-1)*oe+1,Be=Math.floor(we),Ue=+Z[Be-1],We=we-Be;return We?Ue+We*(Z[Be]-Ue):Ue},e.median=function(Z,oe){var we=[],Be=Z.length,Ue,We=-1;if(arguments.length===1)for(;++We<Be;)d(Ue=h(Z[We]))&&we.push(Ue);else for(;++We<Be;)d(Ue=h(oe.call(Z,Z[We],We)))&&we.push(Ue);if(we.length)return e.quantile(we.sort(f),.5)},e.variance=function(Z,oe){var we=Z.length,Be=0,Ue,We,wt=0,tt=-1,zt=0;if(arguments.length===1)for(;++tt<we;)d(Ue=h(Z[tt]))&&(We=Ue-Be,Be+=We/++zt,wt+=We*(Ue-Be));else for(;++tt<we;)d(Ue=h(oe.call(Z,Z[tt],tt)))&&(We=Ue-Be,Be+=We/++zt,wt+=We*(Ue-Be));if(zt>1)return wt/(zt-1)},e.deviation=function(){var Z=e.variance.apply(this,arguments);return Z&&Math.sqrt(Z)};function v(Z){return{left:function(oe,we,Be,Ue){for(arguments.length<3&&(Be=0),arguments.length<4&&(Ue=oe.length);Be<Ue;){var We=Be+Ue>>>1;Z(oe[We],we)<0?Be=We+1:Ue=We}return Be},right:function(oe,we,Be,Ue){for(arguments.length<3&&(Be=0),arguments.length<4&&(Ue=oe.length);Be<Ue;){var We=Be+Ue>>>1;Z(oe[We],we)>0?Ue=We:Be=We+1}return Be}}}var x=v(f);e.bisectLeft=x.left,e.bisect=e.bisectRight=x.right,e.bisector=function(Z){return v(Z.length===1?function(oe,we){return f(Z(oe),we)}:Z)},e.shuffle=function(Z,oe,we){(Be=arguments.length)<3&&(we=Z.length,Be<2&&(oe=0));for(var Be=we-oe,Ue,We;Be;)We=Math.random()*Be--|0,Ue=Z[Be+oe],Z[Be+oe]=Z[We+oe],Z[We+oe]=Ue;return Z},e.permute=function(Z,oe){for(var we=oe.length,Be=new Array(we);we--;)Be[we]=Z[oe[we]];return Be},e.pairs=function(Z){for(var oe=0,we=Z.length-1,Be,Ue=Z[0],We=new Array(we<0?0:we);oe<we;)We[oe]=[Be=Ue,Ue=Z[++oe]];return We},e.transpose=function(Z){if(!(We=Z.length))return[];for(var oe=-1,we=e.min(Z,b),Be=new Array(we);++oe<we;)for(var Ue=-1,We,wt=Be[oe]=new Array(We);++Ue<We;)wt[Ue]=Z[Ue][oe];return Be};function b(Z){return Z.length}e.zip=function(){return e.transpose(arguments)},e.keys=function(Z){var oe=[];for(var we in Z)oe.push(we);return oe},e.values=function(Z){var oe=[];for(var we in Z)oe.push(Z[we]);return oe},e.entries=function(Z){var oe=[];for(var we in Z)oe.push({key:we,value:Z[we]});return oe},e.merge=function(Z){for(var oe=Z.length,we,Be=-1,Ue=0,We,wt;++Be<oe;)Ue+=Z[Be].length;for(We=new Array(Ue);--oe>=0;)for(wt=Z[oe],we=wt.length;--we>=0;)We[--Ue]=wt[we];return We};var p=Math.abs;e.range=function(Z,oe,we){if(arguments.length<3&&(we=1,arguments.length<2&&(oe=Z,Z=0)),(oe-Z)/we===1/0)throw new Error(\"infinite range\");var Be=[],Ue=E(p(we)),We=-1,wt;if(Z*=Ue,oe*=Ue,we*=Ue,we<0)for(;(wt=Z+we*++We)>oe;)Be.push(wt/Ue);else for(;(wt=Z+we*++We)<oe;)Be.push(wt/Ue);return Be};function E(Z){for(var oe=1;Z*oe%1;)oe*=10;return oe}function k(Z,oe){for(var we in oe)Object.defineProperty(Z.prototype,we,{value:oe[we],enumerable:!1})}e.map=function(Z,oe){var we=new A;if(Z instanceof A)Z.forEach(function(tt,zt){we.set(tt,zt)});else if(Array.isArray(Z)){var Be=-1,Ue=Z.length,We;if(arguments.length===1)for(;++Be<Ue;)we.set(Be,Z[Be]);else for(;++Be<Ue;)we.set(oe.call(Z,We=Z[Be],Be),We)}else for(var wt in Z)we.set(wt,Z[wt]);return we};function A(){this._=Object.create(null)}var L=\"__proto__\",_=\"\\0\";k(A,{has:g,get:function(Z){return this._[C(Z)]},set:function(Z,oe){return this._[C(Z)]=oe},remove:P,keys:T,values:function(){var Z=[];for(var oe in this._)Z.push(this._[oe]);return Z},entries:function(){var Z=[];for(var oe in this._)Z.push({key:M(oe),value:this._[oe]});return Z},size:F,empty:q,forEach:function(Z){for(var oe in this._)Z.call(this,M(oe),this._[oe])}});function C(Z){return(Z+=\"\")===L||Z[0]===_?_+Z:Z}function M(Z){return(Z+=\"\")[0]===_?Z.slice(1):Z}function g(Z){return C(Z)in this._}function P(Z){return(Z=C(Z))in this._&&delete this._[Z]}function T(){var Z=[];for(var oe in this._)Z.push(M(oe));return Z}function F(){var Z=0;for(var oe in this._)++Z;return Z}function q(){for(var Z in this._)return!1;return!0}e.nest=function(){var Z={},oe=[],we=[],Be,Ue;function We(tt,zt,or){if(or>=oe.length)return Ue?Ue.call(Z,zt):Be?zt.sort(Be):zt;for(var lr=-1,Dr=zt.length,Ir=oe[or++],oi,ui,qr,Kr=new A,ii;++lr<Dr;)(ii=Kr.get(oi=Ir(ui=zt[lr])))?ii.push(ui):Kr.set(oi,[ui]);return tt?(ui=tt(),qr=function(vi,ci){ui.set(vi,We(tt,ci,or))}):(ui={},qr=function(vi,ci){ui[vi]=We(tt,ci,or)}),Kr.forEach(qr),ui}function wt(tt,zt){if(zt>=oe.length)return tt;var or=[],lr=we[zt++];return tt.forEach(function(Dr,Ir){or.push({key:Dr,values:wt(Ir,zt)})}),lr?or.sort(function(Dr,Ir){return lr(Dr.key,Ir.key)}):or}return Z.map=function(tt,zt){return We(zt,tt,0)},Z.entries=function(tt){return wt(We(e.map,tt,0),0)},Z.key=function(tt){return oe.push(tt),Z},Z.sortKeys=function(tt){return we[oe.length-1]=tt,Z},Z.sortValues=function(tt){return Be=tt,Z},Z.rollup=function(tt){return Ue=tt,Z},Z},e.set=function(Z){var oe=new V;if(Z)for(var we=0,Be=Z.length;we<Be;++we)oe.add(Z[we]);return oe};function V(){this._=Object.create(null)}k(V,{has:g,add:function(Z){return this._[C(Z+=\"\")]=!0,Z},remove:P,values:T,size:F,empty:q,forEach:function(Z){for(var oe in this._)Z.call(this,M(oe))}}),e.behavior={};function H(Z){return Z}e.rebind=function(Z,oe){for(var we=1,Be=arguments.length,Ue;++we<Be;)Z[Ue=arguments[we]]=X(Z,oe,oe[Ue]);return Z};function X(Z,oe,we){return function(){var Be=we.apply(oe,arguments);return Be===oe?Z:Be}}function G(Z,oe){if(oe in Z)return oe;oe=oe.charAt(0).toUpperCase()+oe.slice(1);for(var we=0,Be=N.length;we<Be;++we){var Ue=N[we]+oe;if(Ue in Z)return Ue}}var N=[\"webkit\",\"ms\",\"moz\",\"Moz\",\"o\",\"O\"];function W(){}e.dispatch=function(){for(var Z=new re,oe=-1,we=arguments.length;++oe<we;)Z[arguments[oe]]=ae(Z);return Z};function re(){}re.prototype.on=function(Z,oe){var we=Z.indexOf(\".\"),Be=\"\";if(we>=0&&(Be=Z.slice(we+1),Z=Z.slice(0,we)),Z)return arguments.length<2?this[Z].on(Be):this[Z].on(Be,oe);if(arguments.length===2){if(oe==null)for(Z in this)this.hasOwnProperty(Z)&&this[Z].on(Be,null);return this}};function ae(Z){var oe=[],we=new A;function Be(){for(var Ue=oe,We=-1,wt=Ue.length,tt;++We<wt;)(tt=Ue[We].on)&&tt.apply(this,arguments);return Z}return Be.on=function(Ue,We){var wt=we.get(Ue),tt;return arguments.length<2?wt&&wt.on:(wt&&(wt.on=null,oe=oe.slice(0,tt=oe.indexOf(wt)).concat(oe.slice(tt+1)),we.remove(Ue)),We&&oe.push(we.set(Ue,{on:We})),Z)},Be}e.event=null;function _e(){e.event.preventDefault()}function Me(){for(var Z=e.event,oe;oe=Z.sourceEvent;)Z=oe;return Z}function ke(Z){for(var oe=new re,we=0,Be=arguments.length;++we<Be;)oe[arguments[we]]=ae(oe);return oe.of=function(Ue,We){return function(wt){try{var tt=wt.sourceEvent=e.event;wt.target=Z,e.event=wt,oe[wt.type].apply(Ue,We)}finally{e.event=tt}}},oe}e.requote=function(Z){return Z.replace(ge,\"\\\\$&\")};var ge=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g,ie={}.__proto__?function(Z,oe){Z.__proto__=oe}:function(Z,oe){for(var we in oe)Z[we]=oe[we]};function Te(Z){return ie(Z,Ce),Z}var Ee=function(Z,oe){return oe.querySelector(Z)},Ae=function(Z,oe){return oe.querySelectorAll(Z)},ze=function(Z,oe){var we=Z.matches||Z[G(Z,\"matchesSelector\")];return ze=function(Be,Ue){return we.call(Be,Ue)},ze(Z,oe)};typeof Sizzle==\"function\"&&(Ee=function(Z,oe){return Sizzle(Z,oe)[0]||null},Ae=Sizzle,ze=Sizzle.matchesSelector),e.selection=function(){return e.select(n.documentElement)};var Ce=e.selection.prototype=[];Ce.select=function(Z){var oe=[],we,Be,Ue,We;Z=me(Z);for(var wt=-1,tt=this.length;++wt<tt;){oe.push(we=[]),we.parentNode=(Ue=this[wt]).parentNode;for(var zt=-1,or=Ue.length;++zt<or;)(We=Ue[zt])?(we.push(Be=Z.call(We,We.__data__,zt,wt)),Be&&\"__data__\"in We&&(Be.__data__=We.__data__)):we.push(null)}return Te(oe)};function me(Z){return typeof Z==\"function\"?Z:function(){return Ee(Z,this)}}Ce.selectAll=function(Z){var oe=[],we,Be;Z=Re(Z);for(var Ue=-1,We=this.length;++Ue<We;)for(var wt=this[Ue],tt=-1,zt=wt.length;++tt<zt;)(Be=wt[tt])&&(oe.push(we=r(Z.call(Be,Be.__data__,tt,Ue))),we.parentNode=Be);return Te(oe)};function Re(Z){return typeof Z==\"function\"?Z:function(){return Ae(Z,this)}}var ce=\"http://www.w3.org/1999/xhtml\",Ge={svg:\"http://www.w3.org/2000/svg\",xhtml:ce,xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"};e.ns={prefix:Ge,qualify:function(Z){var oe=Z.indexOf(\":\"),we=Z;return oe>=0&&(we=Z.slice(0,oe))!==\"xmlns\"&&(Z=Z.slice(oe+1)),Ge.hasOwnProperty(we)?{space:Ge[we],local:Z}:Z}},Ce.attr=function(Z,oe){if(arguments.length<2){if(typeof Z==\"string\"){var we=this.node();return Z=e.ns.qualify(Z),Z.local?we.getAttributeNS(Z.space,Z.local):we.getAttribute(Z)}for(oe in Z)this.each(nt(oe,Z[oe]));return this}return this.each(nt(Z,oe))};function nt(Z,oe){Z=e.ns.qualify(Z);function we(){this.removeAttribute(Z)}function Be(){this.removeAttributeNS(Z.space,Z.local)}function Ue(){this.setAttribute(Z,oe)}function We(){this.setAttributeNS(Z.space,Z.local,oe)}function wt(){var zt=oe.apply(this,arguments);zt==null?this.removeAttribute(Z):this.setAttribute(Z,zt)}function tt(){var zt=oe.apply(this,arguments);zt==null?this.removeAttributeNS(Z.space,Z.local):this.setAttributeNS(Z.space,Z.local,zt)}return oe==null?Z.local?Be:we:typeof oe==\"function\"?Z.local?tt:wt:Z.local?We:Ue}function ct(Z){return Z.trim().replace(/\\s+/g,\" \")}Ce.classed=function(Z,oe){if(arguments.length<2){if(typeof Z==\"string\"){var we=this.node(),Be=(Z=rt(Z)).length,Ue=-1;if(oe=we.classList){for(;++Ue<Be;)if(!oe.contains(Z[Ue]))return!1}else for(oe=we.getAttribute(\"class\");++Ue<Be;)if(!qt(Z[Ue]).test(oe))return!1;return!0}for(oe in Z)this.each(ot(oe,Z[oe]));return this}return this.each(ot(Z,oe))};function qt(Z){return new RegExp(\"(?:^|\\\\s+)\"+e.requote(Z)+\"(?:\\\\s+|$)\",\"g\")}function rt(Z){return(Z+\"\").trim().split(/^|\\s+/)}function ot(Z,oe){Z=rt(Z).map(Rt);var we=Z.length;function Be(){for(var We=-1;++We<we;)Z[We](this,oe)}function Ue(){for(var We=-1,wt=oe.apply(this,arguments);++We<we;)Z[We](this,wt)}return typeof oe==\"function\"?Ue:Be}function Rt(Z){var oe=qt(Z);return function(we,Be){if(Ue=we.classList)return Be?Ue.add(Z):Ue.remove(Z);var Ue=we.getAttribute(\"class\")||\"\";Be?(oe.lastIndex=0,oe.test(Ue)||we.setAttribute(\"class\",ct(Ue+\" \"+Z))):we.setAttribute(\"class\",ct(Ue.replace(oe,\" \")))}}Ce.style=function(Z,oe,we){var Be=arguments.length;if(Be<3){if(typeof Z!=\"string\"){Be<2&&(oe=\"\");for(we in Z)this.each(kt(we,Z[we],oe));return this}if(Be<2){var Ue=this.node();return a(Ue).getComputedStyle(Ue,null).getPropertyValue(Z)}we=\"\"}return this.each(kt(Z,oe,we))};function kt(Z,oe,we){function Be(){this.style.removeProperty(Z)}function Ue(){this.style.setProperty(Z,oe,we)}function We(){var wt=oe.apply(this,arguments);wt==null?this.style.removeProperty(Z):this.style.setProperty(Z,wt,we)}return oe==null?Be:typeof oe==\"function\"?We:Ue}Ce.property=function(Z,oe){if(arguments.length<2){if(typeof Z==\"string\")return this.node()[Z];for(oe in Z)this.each(Ct(oe,Z[oe]));return this}return this.each(Ct(Z,oe))};function Ct(Z,oe){function we(){delete this[Z]}function Be(){this[Z]=oe}function Ue(){var We=oe.apply(this,arguments);We==null?delete this[Z]:this[Z]=We}return oe==null?we:typeof oe==\"function\"?Ue:Be}Ce.text=function(Z){return arguments.length?this.each(typeof Z==\"function\"?function(){var oe=Z.apply(this,arguments);this.textContent=oe==null?\"\":oe}:Z==null?function(){this.textContent=\"\"}:function(){this.textContent=Z}):this.node().textContent},Ce.html=function(Z){return arguments.length?this.each(typeof Z==\"function\"?function(){var oe=Z.apply(this,arguments);this.innerHTML=oe==null?\"\":oe}:Z==null?function(){this.innerHTML=\"\"}:function(){this.innerHTML=Z}):this.node().innerHTML},Ce.append=function(Z){return Z=Yt(Z),this.select(function(){return this.appendChild(Z.apply(this,arguments))})};function Yt(Z){function oe(){var Be=this.ownerDocument,Ue=this.namespaceURI;return Ue===ce&&Be.documentElement.namespaceURI===ce?Be.createElement(Z):Be.createElementNS(Ue,Z)}function we(){return this.ownerDocument.createElementNS(Z.space,Z.local)}return typeof Z==\"function\"?Z:(Z=e.ns.qualify(Z)).local?we:oe}Ce.insert=function(Z,oe){return Z=Yt(Z),oe=me(oe),this.select(function(){return this.insertBefore(Z.apply(this,arguments),oe.apply(this,arguments)||null)})},Ce.remove=function(){return this.each(xr)};function xr(){var Z=this.parentNode;Z&&Z.removeChild(this)}Ce.data=function(Z,oe){var we=-1,Be=this.length,Ue,We;if(!arguments.length){for(Z=new Array(Be=(Ue=this[0]).length);++we<Be;)(We=Ue[we])&&(Z[we]=We.__data__);return Z}function wt(lr,Dr){var Ir,oi=lr.length,ui=Dr.length,qr=Math.min(oi,ui),Kr=new Array(ui),ii=new Array(ui),vi=new Array(oi),ci,Jr;if(oe){var un=new A,dn=new Array(oi),En;for(Ir=-1;++Ir<oi;)(ci=lr[Ir])&&(un.has(En=oe.call(ci,ci.__data__,Ir))?vi[Ir]=ci:un.set(En,ci),dn[Ir]=En);for(Ir=-1;++Ir<ui;)(ci=un.get(En=oe.call(Dr,Jr=Dr[Ir],Ir)))?ci!==!0&&(Kr[Ir]=ci,ci.__data__=Jr):ii[Ir]=er(Jr),un.set(En,!0);for(Ir=-1;++Ir<oi;)Ir in dn&&un.get(dn[Ir])!==!0&&(vi[Ir]=lr[Ir])}else{for(Ir=-1;++Ir<qr;)ci=lr[Ir],Jr=Dr[Ir],ci?(ci.__data__=Jr,Kr[Ir]=ci):ii[Ir]=er(Jr);for(;Ir<ui;++Ir)ii[Ir]=er(Dr[Ir]);for(;Ir<oi;++Ir)vi[Ir]=lr[Ir]}ii.update=Kr,ii.parentNode=Kr.parentNode=vi.parentNode=lr.parentNode,tt.push(ii),zt.push(Kr),or.push(vi)}var tt=Lt([]),zt=Te([]),or=Te([]);if(typeof Z==\"function\")for(;++we<Be;)wt(Ue=this[we],Z.call(Ue,Ue.parentNode.__data__,we));else for(;++we<Be;)wt(Ue=this[we],Z);return zt.enter=function(){return tt},zt.exit=function(){return or},zt};function er(Z){return{__data__:Z}}Ce.datum=function(Z){return arguments.length?this.property(\"__data__\",Z):this.property(\"__data__\")},Ce.filter=function(Z){var oe=[],we,Be,Ue;typeof Z!=\"function\"&&(Z=Ke(Z));for(var We=0,wt=this.length;We<wt;We++){oe.push(we=[]),we.parentNode=(Be=this[We]).parentNode;for(var tt=0,zt=Be.length;tt<zt;tt++)(Ue=Be[tt])&&Z.call(Ue,Ue.__data__,tt,We)&&we.push(Ue)}return Te(oe)};function Ke(Z){return function(){return ze(this,Z)}}Ce.order=function(){for(var Z=-1,oe=this.length;++Z<oe;)for(var we=this[Z],Be=we.length-1,Ue=we[Be],We;--Be>=0;)(We=we[Be])&&(Ue&&Ue!==We.nextSibling&&Ue.parentNode.insertBefore(We,Ue),Ue=We);return this},Ce.sort=function(Z){Z=xt.apply(this,arguments);for(var oe=-1,we=this.length;++oe<we;)this[oe].sort(Z);return this.order()};function xt(Z){return arguments.length||(Z=f),function(oe,we){return oe&&we?Z(oe.__data__,we.__data__):!oe-!we}}Ce.each=function(Z){return bt(this,function(oe,we,Be){Z.call(oe,oe.__data__,we,Be)})};function bt(Z,oe){for(var we=0,Be=Z.length;we<Be;we++)for(var Ue=Z[we],We=0,wt=Ue.length,tt;We<wt;We++)(tt=Ue[We])&&oe(tt,We,we);return Z}Ce.call=function(Z){var oe=r(arguments);return Z.apply(oe[0]=this,oe),this},Ce.empty=function(){return!this.node()},Ce.node=function(){for(var Z=0,oe=this.length;Z<oe;Z++)for(var we=this[Z],Be=0,Ue=we.length;Be<Ue;Be++){var We=we[Be];if(We)return We}return null},Ce.size=function(){var Z=0;return bt(this,function(){++Z}),Z};function Lt(Z){return ie(Z,St),Z}var St=[];e.selection.enter=Lt,e.selection.enter.prototype=St,St.append=Ce.append,St.empty=Ce.empty,St.node=Ce.node,St.call=Ce.call,St.size=Ce.size,St.select=function(Z){for(var oe=[],we,Be,Ue,We,wt,tt=-1,zt=this.length;++tt<zt;){Ue=(We=this[tt]).update,oe.push(we=[]),we.parentNode=We.parentNode;for(var or=-1,lr=We.length;++or<lr;)(wt=We[or])?(we.push(Ue[or]=Be=Z.call(We.parentNode,wt.__data__,or,tt)),Be.__data__=wt.__data__):we.push(null)}return Te(oe)},St.insert=function(Z,oe){return arguments.length<2&&(oe=Et(this)),Ce.insert.call(this,Z,oe)};function Et(Z){var oe,we;return function(Be,Ue,We){var wt=Z[We].update,tt=wt.length,zt;for(We!=we&&(we=We,oe=0),Ue>=oe&&(oe=Ue+1);!(zt=wt[oe])&&++oe<tt;);return zt}}e.select=function(Z){var oe;return typeof Z==\"string\"?(oe=[Ee(Z,n)],oe.parentNode=n.documentElement):(oe=[Z],oe.parentNode=i(Z)),Te([oe])},e.selectAll=function(Z){var oe;return typeof Z==\"string\"?(oe=r(Ae(Z,n)),oe.parentNode=n.documentElement):(oe=r(Z),oe.parentNode=null),Te([oe])},Ce.on=function(Z,oe,we){var Be=arguments.length;if(Be<3){if(typeof Z!=\"string\"){Be<2&&(oe=!1);for(we in Z)this.each(dt(we,Z[we],oe));return this}if(Be<2)return(Be=this.node()[\"__on\"+Z])&&Be._;we=!1}return this.each(dt(Z,oe,we))};function dt(Z,oe,we){var Be=\"__on\"+Z,Ue=Z.indexOf(\".\"),We=$t;Ue>0&&(Z=Z.slice(0,Ue));var wt=Ht.get(Z);wt&&(Z=wt,We=fr);function tt(){var lr=this[Be];lr&&(this.removeEventListener(Z,lr,lr.$),delete this[Be])}function zt(){var lr=We(oe,r(arguments));tt.call(this),this.addEventListener(Z,this[Be]=lr,lr.$=we),lr._=oe}function or(){var lr=new RegExp(\"^__on([^.]+)\"+e.requote(Z)+\"$\"),Dr;for(var Ir in this)if(Dr=Ir.match(lr)){var oi=this[Ir];this.removeEventListener(Dr[1],oi,oi.$),delete this[Ir]}}return Ue?oe?zt:tt:oe?W:or}var Ht=e.map({mouseenter:\"mouseover\",mouseleave:\"mouseout\"});n&&Ht.forEach(function(Z){\"on\"+Z in n&&Ht.remove(Z)});function $t(Z,oe){return function(we){var Be=e.event;e.event=we,oe[0]=this.__data__;try{Z.apply(this,oe)}finally{e.event=Be}}}function fr(Z,oe){var we=$t(Z,oe);return function(Be){var Ue=this,We=Be.relatedTarget;(!We||We!==Ue&&!(We.compareDocumentPosition(Ue)&8))&&we.call(Ue,Be)}}var _r,Br=0;function Or(Z){var oe=\".dragsuppress-\"+ ++Br,we=\"click\"+oe,Be=e.select(a(Z)).on(\"touchmove\"+oe,_e).on(\"dragstart\"+oe,_e).on(\"selectstart\"+oe,_e);if(_r==null&&(_r=\"onselectstart\"in Z?!1:G(Z.style,\"userSelect\")),_r){var Ue=i(Z).style,We=Ue[_r];Ue[_r]=\"none\"}return function(wt){if(Be.on(oe,null),_r&&(Ue[_r]=We),wt){var tt=function(){Be.on(we,null)};Be.on(we,function(){_e(),tt()},!0),setTimeout(tt,0)}}}e.mouse=function(Z){return ut(Z,Me())};var Nr=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function ut(Z,oe){oe.changedTouches&&(oe=oe.changedTouches[0]);var we=Z.ownerSVGElement||Z;if(we.createSVGPoint){var Be=we.createSVGPoint();if(Nr<0){var Ue=a(Z);if(Ue.scrollX||Ue.scrollY){we=e.select(\"body\").append(\"svg\").style({position:\"absolute\",top:0,left:0,margin:0,padding:0,border:\"none\"},\"important\");var We=we[0][0].getScreenCTM();Nr=!(We.f||We.e),we.remove()}}return Nr?(Be.x=oe.pageX,Be.y=oe.pageY):(Be.x=oe.clientX,Be.y=oe.clientY),Be=Be.matrixTransform(Z.getScreenCTM().inverse()),[Be.x,Be.y]}var wt=Z.getBoundingClientRect();return[oe.clientX-wt.left-Z.clientLeft,oe.clientY-wt.top-Z.clientTop]}e.touch=function(Z,oe,we){if(arguments.length<3&&(we=oe,oe=Me().changedTouches),oe){for(var Be=0,Ue=oe.length,We;Be<Ue;++Be)if((We=oe[Be]).identifier===we)return ut(Z,We)}},e.behavior.drag=function(){var Z=ke(Ue,\"drag\",\"dragstart\",\"dragend\"),oe=null,we=We(W,e.mouse,a,\"mousemove\",\"mouseup\"),Be=We(Ne,e.touch,H,\"touchmove\",\"touchend\");function Ue(){this.on(\"mousedown.drag\",we).on(\"touchstart.drag\",Be)}function We(wt,tt,zt,or,lr){return function(){var Dr=this,Ir=e.event.target.correspondingElement||e.event.target,oi=Dr.parentNode,ui=Z.of(Dr,arguments),qr=0,Kr=wt(),ii=\".drag\"+(Kr==null?\"\":\"-\"+Kr),vi,ci=e.select(zt(Ir)).on(or+ii,dn).on(lr+ii,En),Jr=Or(Ir),un=tt(oi,Kr);oe?(vi=oe.apply(Dr,arguments),vi=[vi.x-un[0],vi.y-un[1]]):vi=[0,0],ui({type:\"dragstart\"});function dn(){var Nn=tt(oi,Kr),ga,ya;Nn&&(ga=Nn[0]-un[0],ya=Nn[1]-un[1],qr|=ga|ya,un=Nn,ui({type:\"drag\",x:Nn[0]+vi[0],y:Nn[1]+vi[1],dx:ga,dy:ya}))}function En(){tt(oi,Kr)&&(ci.on(or+ii,null).on(lr+ii,null),Jr(qr),ui({type:\"dragend\"}))}}}return Ue.origin=function(wt){return arguments.length?(oe=wt,Ue):oe},e.rebind(Ue,Z,\"on\")};function Ne(){return e.event.changedTouches[0].identifier}e.touches=function(Z,oe){return arguments.length<2&&(oe=Me().touches),oe?r(oe).map(function(we){var Be=ut(Z,we);return Be.identifier=we.identifier,Be}):[]};var Ye=1e-6,Ve=Ye*Ye,Xe=Math.PI,ht=2*Xe,Le=ht-Ye,xe=Xe/2,Se=Xe/180,lt=180/Xe;function Gt(Z){return Z>0?1:Z<0?-1:0}function Vt(Z,oe,we){return(oe[0]-Z[0])*(we[1]-Z[1])-(oe[1]-Z[1])*(we[0]-Z[0])}function ar(Z){return Z>1?0:Z<-1?Xe:Math.acos(Z)}function Qr(Z){return Z>1?xe:Z<-1?-xe:Math.asin(Z)}function ai(Z){return((Z=Math.exp(Z))-1/Z)/2}function jr(Z){return((Z=Math.exp(Z))+1/Z)/2}function ri(Z){return((Z=Math.exp(2*Z))-1)/(Z+1)}function bi(Z){return(Z=Math.sin(Z/2))*Z}var nn=Math.SQRT2,Wi=2,Ni=4;e.interpolateZoom=function(Z,oe){var we=Z[0],Be=Z[1],Ue=Z[2],We=oe[0],wt=oe[1],tt=oe[2],zt=We-we,or=wt-Be,lr=zt*zt+or*or,Dr,Ir;if(lr<Ve)Ir=Math.log(tt/Ue)/nn,Dr=function(vi){return[we+vi*zt,Be+vi*or,Ue*Math.exp(nn*vi*Ir)]};else{var oi=Math.sqrt(lr),ui=(tt*tt-Ue*Ue+Ni*lr)/(2*Ue*Wi*oi),qr=(tt*tt-Ue*Ue-Ni*lr)/(2*tt*Wi*oi),Kr=Math.log(Math.sqrt(ui*ui+1)-ui),ii=Math.log(Math.sqrt(qr*qr+1)-qr);Ir=(ii-Kr)/nn,Dr=function(vi){var ci=vi*Ir,Jr=jr(Kr),un=Ue/(Wi*oi)*(Jr*ri(nn*ci+Kr)-ai(Kr));return[we+un*zt,Be+un*or,Ue*Jr/jr(nn*ci+Kr)]}}return Dr.duration=Ir*1e3,Dr},e.behavior.zoom=function(){var Z={x:0,y:0,k:1},oe,we,Be,Ue=[960,500],We=_n,wt=250,tt=0,zt=\"mousedown.zoom\",or=\"mousemove.zoom\",lr=\"mouseup.zoom\",Dr,Ir=\"touchstart.zoom\",oi,ui=ke(ci,\"zoomstart\",\"zoom\",\"zoomend\"),qr,Kr,ii,vi;zn||(zn=\"onwheel\"in n?($i=function(){return-e.event.deltaY*(e.event.deltaMode?120:1)},\"wheel\"):\"onmousewheel\"in n?($i=function(){return e.event.wheelDelta},\"mousewheel\"):($i=function(){return-e.event.detail},\"MozMousePixelScroll\"));function ci(pn){pn.on(zt,io).on(zn+\".zoom\",_s).on(\"dblclick.zoom\",Ns).on(Ir,Ss)}ci.event=function(pn){pn.each(function(){var za=ui.of(this,arguments),Lo=Z;Ro?e.select(this).transition().each(\"start.zoom\",function(){Z=this.__chart__||{x:0,y:0,k:1},ya(za)}).tween(\"zoom:zoom\",function(){var Fo=Ue[0],js=Ue[1],xl=we?we[0]:Fo/2,fu=we?we[1]:js/2,dl=e.interpolateZoom([(xl-Z.x)/Z.k,(fu-Z.y)/Z.k,Fo/Z.k],[(xl-Lo.x)/Lo.k,(fu-Lo.y)/Lo.k,Fo/Lo.k]);return function(xc){var At=dl(xc),Er=Fo/At[2];this.__chart__=Z={x:xl-At[0]*Er,y:fu-At[1]*Er,k:Er},so(za)}}).each(\"interrupt.zoom\",function(){wa(za)}).each(\"end.zoom\",function(){wa(za)}):(this.__chart__=Z,ya(za),so(za),wa(za))})},ci.translate=function(pn){return arguments.length?(Z={x:+pn[0],y:+pn[1],k:Z.k},ga(),ci):[Z.x,Z.y]},ci.scale=function(pn){return arguments.length?(Z={x:Z.x,y:Z.y,k:null},dn(+pn),ga(),ci):Z.k},ci.scaleExtent=function(pn){return arguments.length?(We=pn==null?_n:[+pn[0],+pn[1]],ci):We},ci.center=function(pn){return arguments.length?(Be=pn&&[+pn[0],+pn[1]],ci):Be},ci.size=function(pn){return arguments.length?(Ue=pn&&[+pn[0],+pn[1]],ci):Ue},ci.duration=function(pn){return arguments.length?(wt=+pn,ci):wt},ci.x=function(pn){return arguments.length?(Kr=pn,qr=pn.copy(),Z={x:0,y:0,k:1},ci):Kr},ci.y=function(pn){return arguments.length?(vi=pn,ii=pn.copy(),Z={x:0,y:0,k:1},ci):vi};function Jr(pn){return[(pn[0]-Z.x)/Z.k,(pn[1]-Z.y)/Z.k]}function un(pn){return[pn[0]*Z.k+Z.x,pn[1]*Z.k+Z.y]}function dn(pn){Z.k=Math.max(We[0],Math.min(We[1],pn))}function En(pn,za){za=un(za),Z.x+=pn[0]-za[0],Z.y+=pn[1]-za[1]}function Nn(pn,za,Lo,Fo){pn.__chart__={x:Z.x,y:Z.y,k:Z.k},dn(Math.pow(2,Fo)),En(we=za,Lo),pn=e.select(pn),wt>0&&(pn=pn.transition().duration(wt)),pn.call(ci.event)}function ga(){Kr&&Kr.domain(qr.range().map(function(pn){return(pn-Z.x)/Z.k}).map(qr.invert)),vi&&vi.domain(ii.range().map(function(pn){return(pn-Z.y)/Z.k}).map(ii.invert))}function ya(pn){tt++||pn({type:\"zoomstart\"})}function so(pn){ga(),pn({type:\"zoom\",scale:Z.k,translate:[Z.x,Z.y]})}function wa(pn){--tt||(pn({type:\"zoomend\"}),we=null)}function io(){var pn=this,za=ui.of(pn,arguments),Lo=0,Fo=e.select(a(pn)).on(or,fu).on(lr,dl),js=Jr(e.mouse(pn)),xl=Or(pn);ea.call(pn),ya(za);function fu(){Lo=1,En(e.mouse(pn),js),so(za)}function dl(){Fo.on(or,null).on(lr,null),xl(Lo),wa(za)}}function Ss(){var pn=this,za=ui.of(pn,arguments),Lo={},Fo=0,js,xl=\".zoom-\"+e.event.changedTouches[0].identifier,fu=\"touchmove\"+xl,dl=\"touchend\"+xl,xc=[],At=e.select(pn),Er=Or(pn);wi(),ya(za),At.on(zt,null).on(Ir,wi);function Wr(){var Bi=e.touches(pn);return js=Z.k,Bi.forEach(function(cn){cn.identifier in Lo&&(Lo[cn.identifier]=Jr(cn))}),Bi}function wi(){var Bi=e.event.target;e.select(Bi).on(fu,Ui).on(dl,Oi),xc.push(Bi);for(var cn=e.event.changedTouches,On=0,Bn=cn.length;On<Bn;++On)Lo[cn[On].identifier]=null;var yn=Wr(),to=Date.now();if(yn.length===1){if(to-oi<500){var Rn=yn[0];Nn(pn,Rn,Lo[Rn.identifier],Math.floor(Math.log(Z.k)/Math.LN2)+1),_e()}oi=to}else if(yn.length>1){var Rn=yn[0],Dn=yn[1],fn=Rn[0]-Dn[0],Ai=Rn[1]-Dn[1];Fo=fn*fn+Ai*Ai}}function Ui(){var Bi=e.touches(pn),cn,On,Bn,yn;ea.call(pn);for(var to=0,Rn=Bi.length;to<Rn;++to,yn=null)if(Bn=Bi[to],yn=Lo[Bn.identifier]){if(On)break;cn=Bn,On=yn}if(yn){var Dn=(Dn=Bn[0]-cn[0])*Dn+(Dn=Bn[1]-cn[1])*Dn,fn=Fo&&Math.sqrt(Dn/Fo);cn=[(cn[0]+Bn[0])/2,(cn[1]+Bn[1])/2],On=[(On[0]+yn[0])/2,(On[1]+yn[1])/2],dn(fn*js)}oi=null,En(cn,On),so(za)}function Oi(){if(e.event.touches.length){for(var Bi=e.event.changedTouches,cn=0,On=Bi.length;cn<On;++cn)delete Lo[Bi[cn].identifier];for(var Bn in Lo)return void Wr()}e.selectAll(xc).on(xl,null),At.on(zt,io).on(Ir,Ss),Er(),wa(za)}}function _s(){var pn=ui.of(this,arguments);Dr?clearTimeout(Dr):(ea.call(this),oe=Jr(we=Be||e.mouse(this)),ya(pn)),Dr=setTimeout(function(){Dr=null,wa(pn)},50),_e(),dn(Math.pow(2,$i()*.002)*Z.k),En(we,oe),so(pn)}function Ns(){var pn=e.mouse(this),za=Math.log(Z.k)/Math.LN2;Nn(this,pn,Jr(pn),e.event.shiftKey?Math.ceil(za)-1:Math.floor(za)+1)}return e.rebind(ci,ui,\"on\")};var _n=[0,1/0],$i,zn;e.color=Wn;function Wn(){}Wn.prototype.toString=function(){return this.rgb()+\"\"},e.hsl=It;function It(Z,oe,we){return this instanceof It?(this.h=+Z,this.s=+oe,void(this.l=+we)):arguments.length<2?Z instanceof It?new It(Z.h,Z.s,Z.l):Ha(\"\"+Z,oo,It):new It(Z,oe,we)}var ft=It.prototype=new Wn;ft.brighter=function(Z){return Z=Math.pow(.7,arguments.length?Z:1),new It(this.h,this.s,this.l/Z)},ft.darker=function(Z){return Z=Math.pow(.7,arguments.length?Z:1),new It(this.h,this.s,Z*this.l)},ft.rgb=function(){return jt(this.h,this.s,this.l)};function jt(Z,oe,we){var Be,Ue;Z=isNaN(Z)?0:(Z%=360)<0?Z+360:Z,oe=isNaN(oe)||oe<0?0:oe>1?1:oe,we=we<0?0:we>1?1:we,Ue=we<=.5?we*(1+oe):we+oe-we*oe,Be=2*we-Ue;function We(tt){return tt>360?tt-=360:tt<0&&(tt+=360),tt<60?Be+(Ue-Be)*tt/60:tt<180?Ue:tt<240?Be+(Ue-Be)*(240-tt)/60:Be}function wt(tt){return Math.round(We(tt)*255)}return new Fa(wt(Z+120),wt(Z),wt(Z-120))}e.hcl=Zt;function Zt(Z,oe,we){return this instanceof Zt?(this.h=+Z,this.c=+oe,void(this.l=+we)):arguments.length<2?Z instanceof Zt?new Zt(Z.h,Z.c,Z.l):Z instanceof Zr?Ki(Z.l,Z.a,Z.b):Ki((Z=xn((Z=e.rgb(Z)).r,Z.g,Z.b)).l,Z.a,Z.b):new Zt(Z,oe,we)}var yr=Zt.prototype=new Wn;yr.brighter=function(Z){return new Zt(this.h,this.c,Math.min(100,this.l+Vr*(arguments.length?Z:1)))},yr.darker=function(Z){return new Zt(this.h,this.c,Math.max(0,this.l-Vr*(arguments.length?Z:1)))},yr.rgb=function(){return Fr(this.h,this.c,this.l).rgb()};function Fr(Z,oe,we){return isNaN(Z)&&(Z=0),isNaN(oe)&&(oe=0),new Zr(we,Math.cos(Z*=Se)*oe,Math.sin(Z)*oe)}e.lab=Zr;function Zr(Z,oe,we){return this instanceof Zr?(this.l=+Z,this.a=+oe,void(this.b=+we)):arguments.length<2?Z instanceof Zr?new Zr(Z.l,Z.a,Z.b):Z instanceof Zt?Fr(Z.h,Z.c,Z.l):xn((Z=Fa(Z)).r,Z.g,Z.b):new Zr(Z,oe,we)}var Vr=18,gi=.95047,Si=1,Mi=1.08883,Pi=Zr.prototype=new Wn;Pi.brighter=function(Z){return new Zr(Math.min(100,this.l+Vr*(arguments.length?Z:1)),this.a,this.b)},Pi.darker=function(Z){return new Zr(Math.max(0,this.l-Vr*(arguments.length?Z:1)),this.a,this.b)},Pi.rgb=function(){return Gi(this.l,this.a,this.b)};function Gi(Z,oe,we){var Be=(Z+16)/116,Ue=Be+oe/500,We=Be-we/200;return Ue=ka(Ue)*gi,Be=ka(Be)*Si,We=ka(We)*Mi,new Fa(la(3.2404542*Ue-1.5371385*Be-.4985314*We),la(-.969266*Ue+1.8760108*Be+.041556*We),la(.0556434*Ue-.2040259*Be+1.0572252*We))}function Ki(Z,oe,we){return Z>0?new Zt(Math.atan2(we,oe)*lt,Math.sqrt(oe*oe+we*we),Z):new Zt(NaN,NaN,Z)}function ka(Z){return Z>.206893034?Z*Z*Z:(Z-4/29)/7.787037}function jn(Z){return Z>.008856?Math.pow(Z,1/3):7.787037*Z+4/29}function la(Z){return Math.round(255*(Z<=.00304?12.92*Z:1.055*Math.pow(Z,1/2.4)-.055))}e.rgb=Fa;function Fa(Z,oe,we){return this instanceof Fa?(this.r=~~Z,this.g=~~oe,void(this.b=~~we)):arguments.length<2?Z instanceof Fa?new Fa(Z.r,Z.g,Z.b):Ha(\"\"+Z,Fa,jt):new Fa(Z,oe,we)}function Ra(Z){return new Fa(Z>>16,Z>>8&255,Z&255)}function jo(Z){return Ra(Z)+\"\"}var oa=Fa.prototype=new Wn;oa.brighter=function(Z){Z=Math.pow(.7,arguments.length?Z:1);var oe=this.r,we=this.g,Be=this.b,Ue=30;return!oe&&!we&&!Be?new Fa(Ue,Ue,Ue):(oe&&oe<Ue&&(oe=Ue),we&&we<Ue&&(we=Ue),Be&&Be<Ue&&(Be=Ue),new Fa(Math.min(255,oe/Z),Math.min(255,we/Z),Math.min(255,Be/Z)))},oa.darker=function(Z){return Z=Math.pow(.7,arguments.length?Z:1),new Fa(Z*this.r,Z*this.g,Z*this.b)},oa.hsl=function(){return oo(this.r,this.g,this.b)},oa.toString=function(){return\"#\"+Sn(this.r)+Sn(this.g)+Sn(this.b)};function Sn(Z){return Z<16?\"0\"+Math.max(0,Z).toString(16):Math.min(255,Z).toString(16)}function Ha(Z,oe,we){var Be=0,Ue=0,We=0,wt,tt,zt;if(wt=/([a-z]+)\\((.*)\\)/.exec(Z=Z.toLowerCase()),wt)switch(tt=wt[2].split(\",\"),wt[1]){case\"hsl\":return we(parseFloat(tt[0]),parseFloat(tt[1])/100,parseFloat(tt[2])/100);case\"rgb\":return oe(br(tt[0]),br(tt[1]),br(tt[2]))}return(zt=Hr.get(Z))?oe(zt.r,zt.g,zt.b):(Z!=null&&Z.charAt(0)===\"#\"&&!isNaN(zt=parseInt(Z.slice(1),16))&&(Z.length===4?(Be=(zt&3840)>>4,Be=Be>>4|Be,Ue=zt&240,Ue=Ue>>4|Ue,We=zt&15,We=We<<4|We):Z.length===7&&(Be=(zt&16711680)>>16,Ue=(zt&65280)>>8,We=zt&255)),oe(Be,Ue,We))}function oo(Z,oe,we){var Be=Math.min(Z/=255,oe/=255,we/=255),Ue=Math.max(Z,oe,we),We=Ue-Be,wt,tt,zt=(Ue+Be)/2;return We?(tt=zt<.5?We/(Ue+Be):We/(2-Ue-Be),Z==Ue?wt=(oe-we)/We+(oe<we?6:0):oe==Ue?wt=(we-Z)/We+2:wt=(Z-oe)/We+4,wt*=60):(wt=NaN,tt=zt>0&&zt<1?0:wt),new It(wt,tt,zt)}function xn(Z,oe,we){Z=_t(Z),oe=_t(oe),we=_t(we);var Be=jn((.4124564*Z+.3575761*oe+.1804375*we)/gi),Ue=jn((.2126729*Z+.7151522*oe+.072175*we)/Si),We=jn((.0193339*Z+.119192*oe+.9503041*we)/Mi);return Zr(116*Ue-16,500*(Be-Ue),200*(Ue-We))}function _t(Z){return(Z/=255)<=.04045?Z/12.92:Math.pow((Z+.055)/1.055,2.4)}function br(Z){var oe=parseFloat(Z);return Z.charAt(Z.length-1)===\"%\"?Math.round(oe*2.55):oe}var Hr=e.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Hr.forEach(function(Z,oe){Hr.set(Z,Ra(oe))});function ti(Z){return typeof Z==\"function\"?Z:function(){return Z}}e.functor=ti,e.xhr=zi(H);function zi(Z){return function(oe,we,Be){return arguments.length===2&&typeof we==\"function\"&&(Be=we,we=null),Yi(oe,we,Z,Be)}}function Yi(Z,oe,we,Be){var Ue={},We=e.dispatch(\"beforesend\",\"progress\",\"load\",\"error\"),wt={},tt=new XMLHttpRequest,zt=null;self.XDomainRequest&&!(\"withCredentials\"in tt)&&/^(http(s)?:)?\\/\\//.test(Z)&&(tt=new XDomainRequest),\"onload\"in tt?tt.onload=tt.onerror=or:tt.onreadystatechange=function(){tt.readyState>3&&or()};function or(){var lr=tt.status,Dr;if(!lr&&hi(tt)||lr>=200&&lr<300||lr===304){try{Dr=we.call(Ue,tt)}catch(Ir){We.error.call(Ue,Ir);return}We.load.call(Ue,Dr)}else We.error.call(Ue,tt)}return tt.onprogress=function(lr){var Dr=e.event;e.event=lr;try{We.progress.call(Ue,tt)}finally{e.event=Dr}},Ue.header=function(lr,Dr){return lr=(lr+\"\").toLowerCase(),arguments.length<2?wt[lr]:(Dr==null?delete wt[lr]:wt[lr]=Dr+\"\",Ue)},Ue.mimeType=function(lr){return arguments.length?(oe=lr==null?null:lr+\"\",Ue):oe},Ue.responseType=function(lr){return arguments.length?(zt=lr,Ue):zt},Ue.response=function(lr){return we=lr,Ue},[\"get\",\"post\"].forEach(function(lr){Ue[lr]=function(){return Ue.send.apply(Ue,[lr].concat(r(arguments)))}}),Ue.send=function(lr,Dr,Ir){if(arguments.length===2&&typeof Dr==\"function\"&&(Ir=Dr,Dr=null),tt.open(lr,Z,!0),oe!=null&&!(\"accept\"in wt)&&(wt.accept=oe+\",*/*\"),tt.setRequestHeader)for(var oi in wt)tt.setRequestHeader(oi,wt[oi]);return oe!=null&&tt.overrideMimeType&&tt.overrideMimeType(oe),zt!=null&&(tt.responseType=zt),Ir!=null&&Ue.on(\"error\",Ir).on(\"load\",function(ui){Ir(null,ui)}),We.beforesend.call(Ue,tt),tt.send(Dr==null?null:Dr),Ue},Ue.abort=function(){return tt.abort(),Ue},e.rebind(Ue,We,\"on\"),Be==null?Ue:Ue.get(an(Be))}function an(Z){return Z.length===1?function(oe,we){Z(oe==null?we:null)}:Z}function hi(Z){var oe=Z.responseType;return oe&&oe!==\"text\"?Z.response:Z.responseText}e.dsv=function(Z,oe){var we=new RegExp('[\"'+Z+`\n", - "]`),Be=Z.charCodeAt(0);function Ue(or,lr,Dr){arguments.length<3&&(Dr=lr,lr=null);var Ir=Yi(or,oe,lr==null?We:wt(lr),Dr);return Ir.row=function(oi){return arguments.length?Ir.response((lr=oi)==null?We:wt(oi)):lr},Ir}function We(or){return Ue.parse(or.responseText)}function wt(or){return function(lr){return Ue.parse(lr.responseText,or)}}Ue.parse=function(or,lr){var Dr;return Ue.parseRows(or,function(Ir,oi){if(Dr)return Dr(Ir,oi-1);var ui=function(qr){for(var Kr={},ii=Ir.length,vi=0;vi<ii;++vi)Kr[Ir[vi]]=qr[vi];return Kr};Dr=lr?function(qr,Kr){return lr(ui(qr),Kr)}:ui})},Ue.parseRows=function(or,lr){var Dr={},Ir={},oi=[],ui=or.length,qr=0,Kr=0,ii,vi;function ci(){if(qr>=ui)return Ir;if(vi)return vi=!1,Dr;var un=qr;if(or.charCodeAt(un)===34){for(var dn=un;dn++<ui;)if(or.charCodeAt(dn)===34){if(or.charCodeAt(dn+1)!==34)break;++dn}qr=dn+2;var En=or.charCodeAt(dn+1);return En===13?(vi=!0,or.charCodeAt(dn+2)===10&&++qr):En===10&&(vi=!0),or.slice(un+1,dn).replace(/\"\"/g,'\"')}for(;qr<ui;){var En=or.charCodeAt(qr++),Nn=1;if(En===10)vi=!0;else if(En===13)vi=!0,or.charCodeAt(qr)===10&&(++qr,++Nn);else if(En!==Be)continue;return or.slice(un,qr-Nn)}return or.slice(un)}for(;(ii=ci())!==Ir;){for(var Jr=[];ii!==Dr&&ii!==Ir;)Jr.push(ii),ii=ci();lr&&(Jr=lr(Jr,Kr++))==null||oi.push(Jr)}return oi},Ue.format=function(or){if(Array.isArray(or[0]))return Ue.formatRows(or);var lr=new V,Dr=[];return or.forEach(function(Ir){for(var oi in Ir)lr.has(oi)||Dr.push(lr.add(oi))}),[Dr.map(zt).join(Z)].concat(or.map(function(Ir){return Dr.map(function(oi){return zt(Ir[oi])}).join(Z)})).join(`\n", - "`)},Ue.formatRows=function(or){return or.map(tt).join(`\n", - "`)};function tt(or){return or.map(zt).join(Z)}function zt(or){return we.test(or)?'\"'+or.replace(/\\\"/g,'\"\"')+'\"':or}return Ue},e.csv=e.dsv(\",\",\"text/csv\"),e.tsv=e.dsv(\"\t\",\"text/tab-separated-values\");var Ji,ua,Fn,Sa,go=this[G(this,\"requestAnimationFrame\")]||function(Z){setTimeout(Z,17)};e.timer=function(){Oo.apply(this,arguments)};function Oo(Z,oe,we){var Be=arguments.length;Be<2&&(oe=0),Be<3&&(we=Date.now());var Ue=we+oe,We={c:Z,t:Ue,n:null};return ua?ua.n=We:Ji=We,ua=We,Fn||(Sa=clearTimeout(Sa),Fn=1,go(ho)),We}function ho(){var Z=Mo(),oe=xo()-Z;oe>24?(isFinite(oe)&&(clearTimeout(Sa),Sa=setTimeout(ho,oe)),Fn=0):(Fn=1,go(ho))}e.timer.flush=function(){Mo(),xo()};function Mo(){for(var Z=Date.now(),oe=Ji;oe;)Z>=oe.t&&oe.c(Z-oe.t)&&(oe.c=null),oe=oe.n;return Z}function xo(){for(var Z,oe=Ji,we=1/0;oe;)oe.c?(oe.t<we&&(we=oe.t),oe=(Z=oe).n):oe=Z?Z.n=oe.n:Ji=oe.n;return ua=Z,we}e.round=function(Z,oe){return oe?Math.round(Z*(oe=Math.pow(10,oe)))/oe:Math.round(Z)},e.geom={};function zs(Z){return Z[0]}function ks(Z){return Z[1]}e.geom.hull=function(Z){var oe=zs,we=ks;if(arguments.length)return Be(Z);function Be(Ue){if(Ue.length<3)return[];var We=ti(oe),wt=ti(we),tt,zt=Ue.length,or=[],lr=[];for(tt=0;tt<zt;tt++)or.push([+We.call(this,Ue[tt],tt),+wt.call(this,Ue[tt],tt),tt]);for(or.sort(Xs),tt=0;tt<zt;tt++)lr.push([or[tt][0],-or[tt][1]]);var Dr=Zs(or),Ir=Zs(lr),oi=Ir[0]===Dr[0],ui=Ir[Ir.length-1]===Dr[Dr.length-1],qr=[];for(tt=Dr.length-1;tt>=0;--tt)qr.push(Ue[or[Dr[tt]][2]]);for(tt=+oi;tt<Ir.length-ui;++tt)qr.push(Ue[or[Ir[tt]][2]]);return qr}return Be.x=function(Ue){return arguments.length?(oe=Ue,Be):oe},Be.y=function(Ue){return arguments.length?(we=Ue,Be):we},Be};function Zs(Z){for(var oe=Z.length,we=[0,1],Be=2,Ue=2;Ue<oe;Ue++){for(;Be>1&&Vt(Z[we[Be-2]],Z[we[Be-1]],Z[Ue])<=0;)--Be;we[Be++]=Ue}return we.slice(0,Be)}function Xs(Z,oe){return Z[0]-oe[0]||Z[1]-oe[1]}e.geom.polygon=function(Z){return ie(Z,wl),Z};var wl=e.geom.polygon.prototype=[];wl.area=function(){for(var Z=-1,oe=this.length,we,Be=this[oe-1],Ue=0;++Z<oe;)we=Be,Be=this[Z],Ue+=we[1]*Be[0]-we[0]*Be[1];return Ue*.5},wl.centroid=function(Z){var oe=-1,we=this.length,Be=0,Ue=0,We,wt=this[we-1],tt;for(arguments.length||(Z=-1/(6*this.area()));++oe<we;)We=wt,wt=this[oe],tt=We[0]*wt[1]-wt[0]*We[1],Be+=(We[0]+wt[0])*tt,Ue+=(We[1]+wt[1])*tt;return[Be*Z,Ue*Z]},wl.clip=function(Z){for(var oe,we=Cs(Z),Be=-1,Ue=this.length-Cs(this),We,wt,tt=this[Ue-1],zt,or,lr;++Be<Ue;){for(oe=Z.slice(),Z.length=0,zt=this[Be],or=oe[(wt=oe.length-we)-1],We=-1;++We<wt;)lr=oe[We],os(lr,tt,zt)?(os(or,tt,zt)||Z.push(cl(or,lr,tt,zt)),Z.push(lr)):os(or,tt,zt)&&Z.push(cl(or,lr,tt,zt)),or=lr;we&&Z.push(Z[0]),tt=zt}return Z};function os(Z,oe,we){return(we[0]-oe[0])*(Z[1]-oe[1])<(we[1]-oe[1])*(Z[0]-oe[0])}function cl(Z,oe,we,Be){var Ue=Z[0],We=we[0],wt=oe[0]-Ue,tt=Be[0]-We,zt=Z[1],or=we[1],lr=oe[1]-zt,Dr=Be[1]-or,Ir=(tt*(zt-or)-Dr*(Ue-We))/(Dr*wt-tt*lr);return[Ue+Ir*wt,zt+Ir*lr]}function Cs(Z){var oe=Z[0],we=Z[Z.length-1];return!(oe[0]-we[0]||oe[1]-we[1])}var ml,Ys,Hs,Eo=[],fs,Ql,Hu=[];function fc(){Ls(this),this.edge=this.site=this.circle=null}function ms(Z){var oe=Eo.pop()||new fc;return oe.site=Z,oe}function on(Z){ko(Z),Hs.remove(Z),Eo.push(Z),Ls(Z)}function fa(Z){var oe=Z.circle,we=oe.x,Be=oe.cy,Ue={x:we,y:Be},We=Z.P,wt=Z.N,tt=[Z];on(Z);for(var zt=We;zt.circle&&p(we-zt.circle.x)<Ye&&p(Be-zt.circle.cy)<Ye;)We=zt.P,tt.unshift(zt),on(zt),zt=We;tt.unshift(zt),ko(zt);for(var or=wt;or.circle&&p(we-or.circle.x)<Ye&&p(Be-or.circle.cy)<Ye;)wt=or.N,tt.push(or),on(or),or=wt;tt.push(or),ko(or);var lr=tt.length,Dr;for(Dr=1;Dr<lr;++Dr)or=tt[Dr],zt=tt[Dr-1],Al(or.edge,zt.site,or.site,Ue);zt=tt[0],or=tt[lr-1],or.edge=cf(zt.site,or.site,null,Ue),Zn(zt),Zn(or)}function Qu(Z){for(var oe=Z.x,we=Z.y,Be,Ue,We,wt,tt=Hs._;tt;)if(We=Rl(tt,we)-oe,We>Ye)tt=tt.L;else if(wt=oe-vo(tt,we),wt>Ye){if(!tt.R){Be=tt;break}tt=tt.R}else{We>-Ye?(Be=tt.P,Ue=tt):wt>-Ye?(Be=tt,Ue=tt.N):Be=Ue=tt;break}var zt=ms(Z);if(Hs.insert(Be,zt),!(!Be&&!Ue)){if(Be===Ue){ko(Be),Ue=ms(Be.site),Hs.insert(zt,Ue),zt.edge=Ue.edge=cf(Be.site,zt.site),Zn(Be),Zn(Ue);return}if(!Ue){zt.edge=cf(Be.site,zt.site);return}ko(Be),ko(Ue);var or=Be.site,lr=or.x,Dr=or.y,Ir=Z.x-lr,oi=Z.y-Dr,ui=Ue.site,qr=ui.x-lr,Kr=ui.y-Dr,ii=2*(Ir*Kr-oi*qr),vi=Ir*Ir+oi*oi,ci=qr*qr+Kr*Kr,Jr={x:(Kr*vi-oi*ci)/ii+lr,y:(Ir*ci-qr*vi)/ii+Dr};Al(Ue.edge,or,ui,Jr),zt.edge=cf(or,Z,null,Jr),Ue.edge=cf(Z,ui,null,Jr),Zn(Be),Zn(Ue)}}function Rl(Z,oe){var we=Z.site,Be=we.x,Ue=we.y,We=Ue-oe;if(!We)return Be;var wt=Z.P;if(!wt)return-1/0;we=wt.site;var tt=we.x,zt=we.y,or=zt-oe;if(!or)return tt;var lr=tt-Be,Dr=1/We-1/or,Ir=lr/or;return Dr?(-Ir+Math.sqrt(Ir*Ir-2*Dr*(lr*lr/(-2*or)-zt+or/2+Ue-We/2)))/Dr+Be:(Be+tt)/2}function vo(Z,oe){var we=Z.N;if(we)return Rl(we,oe);var Be=Z.site;return Be.y===oe?Be.x:1/0}function Zl(Z){this.site=Z,this.edges=[]}Zl.prototype.prepare=function(){for(var Z=this.edges,oe=Z.length,we;oe--;)we=Z[oe].edge,(!we.b||!we.a)&&Z.splice(oe,1);return Z.sort(Xl),Z.length};function Ks(Z){for(var oe=Z[0][0],we=Z[1][0],Be=Z[0][1],Ue=Z[1][1],We,wt,tt,zt,or=Ys,lr=or.length,Dr,Ir,oi,ui,qr,Kr;lr--;)if(Dr=or[lr],!(!Dr||!Dr.prepare()))for(oi=Dr.edges,ui=oi.length,Ir=0;Ir<ui;)Kr=oi[Ir].end(),tt=Kr.x,zt=Kr.y,qr=oi[++Ir%ui].start(),We=qr.x,wt=qr.y,(p(tt-We)>Ye||p(zt-wt)>Ye)&&(oi.splice(Ir,0,new Hc(rh(Dr.site,Kr,p(tt-oe)<Ye&&Ue-zt>Ye?{x:oe,y:p(We-oe)<Ye?wt:Ue}:p(zt-Ue)<Ye&&we-tt>Ye?{x:p(wt-Ue)<Ye?We:we,y:Ue}:p(tt-we)<Ye&&zt-Be>Ye?{x:we,y:p(We-we)<Ye?wt:Be}:p(zt-Be)<Ye&&tt-oe>Ye?{x:p(wt-Be)<Ye?We:oe,y:Be}:null),Dr.site,null)),++ui)}function Xl(Z,oe){return oe.angle-Z.angle}function Ec(){Ls(this),this.x=this.y=this.arc=this.site=this.cy=null}function Zn(Z){var oe=Z.P,we=Z.N;if(!(!oe||!we)){var Be=oe.site,Ue=Z.site,We=we.site;if(Be!==We){var wt=Ue.x,tt=Ue.y,zt=Be.x-wt,or=Be.y-tt,lr=We.x-wt,Kr=We.y-tt,Dr=2*(zt*Kr-or*lr);if(!(Dr>=-Ve)){var Ir=zt*zt+or*or,oi=lr*lr+Kr*Kr,ui=(Kr*Ir-or*oi)/Dr,qr=(zt*oi-lr*Ir)/Dr,Kr=qr+tt,ii=Hu.pop()||new Ec;ii.arc=Z,ii.site=Ue,ii.x=ui+wt,ii.y=Kr+Math.sqrt(ui*ui+qr*qr),ii.cy=Kr,Z.circle=ii;for(var vi=null,ci=Ql._;ci;)if(ii.y<ci.y||ii.y===ci.y&&ii.x<=ci.x)if(ci.L)ci=ci.L;else{vi=ci.P;break}else if(ci.R)ci=ci.R;else{vi=ci;break}Ql.insert(vi,ii),vi||(fs=ii)}}}}function ko(Z){var oe=Z.circle;oe&&(oe.P||(fs=oe.N),Ql.remove(oe),Hu.push(oe),Ls(oe),Z.circle=null)}function Co(Z,oe,we,Be){return function(Ue){var We=Ue.a,wt=Ue.b,tt=We.x,zt=We.y,or=wt.x,lr=wt.y,Dr=0,Ir=1,oi=or-tt,ui=lr-zt,qr;if(qr=Z-tt,!(!oi&&qr>0)){if(qr/=oi,oi<0){if(qr<Dr)return;qr<Ir&&(Ir=qr)}else if(oi>0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}if(qr=we-tt,!(!oi&&qr<0)){if(qr/=oi,oi<0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}else if(oi>0){if(qr<Dr)return;qr<Ir&&(Ir=qr)}if(qr=oe-zt,!(!ui&&qr>0)){if(qr/=ui,ui<0){if(qr<Dr)return;qr<Ir&&(Ir=qr)}else if(ui>0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}if(qr=Be-zt,!(!ui&&qr<0)){if(qr/=ui,ui<0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}else if(ui>0){if(qr<Dr)return;qr<Ir&&(Ir=qr)}return Dr>0&&(Ue.a={x:tt+Dr*oi,y:zt+Dr*ui}),Ir<1&&(Ue.b={x:tt+Ir*oi,y:zt+Ir*ui}),Ue}}}}}}function Tl(Z){for(var oe=ml,we=Co(Z[0][0],Z[0][1],Z[1][0],Z[1][1]),Be=oe.length,Ue;Be--;)Ue=oe[Be],(!uf(Ue,Z)||!we(Ue)||p(Ue.a.x-Ue.b.x)<Ye&&p(Ue.a.y-Ue.b.y)<Ye)&&(Ue.a=Ue.b=null,oe.splice(Be,1))}function uf(Z,oe){var we=Z.b;if(we)return!0;var Be=Z.a,Ue=oe[0][0],We=oe[1][0],wt=oe[0][1],tt=oe[1][1],zt=Z.l,or=Z.r,lr=zt.x,Dr=zt.y,Ir=or.x,oi=or.y,ui=(lr+Ir)/2,qr=(Dr+oi)/2,Kr,ii;if(oi===Dr){if(ui<Ue||ui>=We)return;if(lr>Ir){if(!Be)Be={x:ui,y:wt};else if(Be.y>=tt)return;we={x:ui,y:tt}}else{if(!Be)Be={x:ui,y:tt};else if(Be.y<wt)return;we={x:ui,y:wt}}}else if(Kr=(lr-Ir)/(oi-Dr),ii=qr-Kr*ui,Kr<-1||Kr>1)if(lr>Ir){if(!Be)Be={x:(wt-ii)/Kr,y:wt};else if(Be.y>=tt)return;we={x:(tt-ii)/Kr,y:tt}}else{if(!Be)Be={x:(tt-ii)/Kr,y:tt};else if(Be.y<wt)return;we={x:(wt-ii)/Kr,y:wt}}else if(Dr<oi){if(!Be)Be={x:Ue,y:Kr*Ue+ii};else if(Be.x>=We)return;we={x:We,y:Kr*We+ii}}else{if(!Be)Be={x:We,y:Kr*We+ii};else if(Be.x<Ue)return;we={x:Ue,y:Kr*Ue+ii}}return Z.a=Be,Z.b=we,!0}function So(Z,oe){this.l=Z,this.r=oe,this.a=this.b=null}function cf(Z,oe,we,Be){var Ue=new So(Z,oe);return ml.push(Ue),we&&Al(Ue,Z,oe,we),Be&&Al(Ue,oe,Z,Be),Ys[Z.i].edges.push(new Hc(Ue,Z,oe)),Ys[oe.i].edges.push(new Hc(Ue,oe,Z)),Ue}function rh(Z,oe,we){var Be=new So(Z,null);return Be.a=oe,Be.b=we,ml.push(Be),Be}function Al(Z,oe,we,Be){!Z.a&&!Z.b?(Z.a=Be,Z.l=oe,Z.r=we):Z.l===we?Z.b=Be:Z.a=Be}function Hc(Z,oe,we){var Be=Z.a,Ue=Z.b;this.edge=Z,this.site=oe,this.angle=we?Math.atan2(we.y-oe.y,we.x-oe.x):Z.l===oe?Math.atan2(Ue.x-Be.x,Be.y-Ue.y):Math.atan2(Be.x-Ue.x,Ue.y-Be.y)}Hc.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}};function eu(){this._=null}function Ls(Z){Z.U=Z.C=Z.L=Z.R=Z.P=Z.N=null}eu.prototype={insert:function(Z,oe){var we,Be,Ue;if(Z){if(oe.P=Z,oe.N=Z.N,Z.N&&(Z.N.P=oe),Z.N=oe,Z.R){for(Z=Z.R;Z.L;)Z=Z.L;Z.L=oe}else Z.R=oe;we=Z}else this._?(Z=Of(this._),oe.P=null,oe.N=Z,Z.P=Z.L=oe,we=Z):(oe.P=oe.N=null,this._=oe,we=null);for(oe.L=oe.R=null,oe.U=we,oe.C=!0,Z=oe;we&&we.C;)Be=we.U,we===Be.L?(Ue=Be.R,Ue&&Ue.C?(we.C=Ue.C=!1,Be.C=!0,Z=Be):(Z===we.R&&(mu(this,we),Z=we,we=Z.U),we.C=!1,Be.C=!0,kc(this,Be))):(Ue=Be.L,Ue&&Ue.C?(we.C=Ue.C=!1,Be.C=!0,Z=Be):(Z===we.L&&(kc(this,we),Z=we,we=Z.U),we.C=!1,Be.C=!0,mu(this,Be))),we=Z.U;this._.C=!1},remove:function(Z){Z.N&&(Z.N.P=Z.P),Z.P&&(Z.P.N=Z.N),Z.N=Z.P=null;var oe=Z.U,we,Be=Z.L,Ue=Z.R,We,wt;if(Be?Ue?We=Of(Ue):We=Be:We=Ue,oe?oe.L===Z?oe.L=We:oe.R=We:this._=We,Be&&Ue?(wt=We.C,We.C=Z.C,We.L=Be,Be.U=We,We!==Ue?(oe=We.U,We.U=Z.U,Z=We.R,oe.L=Z,We.R=Ue,Ue.U=We):(We.U=oe,oe=We,Z=We.R)):(wt=Z.C,Z=We),Z&&(Z.U=oe),!wt){if(Z&&Z.C){Z.C=!1;return}do{if(Z===this._)break;if(Z===oe.L){if(we=oe.R,we.C&&(we.C=!1,oe.C=!0,mu(this,oe),we=oe.R),we.L&&we.L.C||we.R&&we.R.C){(!we.R||!we.R.C)&&(we.L.C=!1,we.C=!0,kc(this,we),we=oe.R),we.C=oe.C,oe.C=we.R.C=!1,mu(this,oe),Z=this._;break}}else if(we=oe.L,we.C&&(we.C=!1,oe.C=!0,kc(this,oe),we=oe.L),we.L&&we.L.C||we.R&&we.R.C){(!we.L||!we.L.C)&&(we.R.C=!1,we.C=!0,mu(this,we),we=oe.L),we.C=oe.C,oe.C=we.L.C=!1,kc(this,oe),Z=this._;break}we.C=!0,Z=oe,oe=oe.U}while(!Z.C);Z&&(Z.C=!1)}}};function mu(Z,oe){var we=oe,Be=oe.R,Ue=we.U;Ue?Ue.L===we?Ue.L=Be:Ue.R=Be:Z._=Be,Be.U=Ue,we.U=Be,we.R=Be.L,we.R&&(we.R.U=we),Be.L=we}function kc(Z,oe){var we=oe,Be=oe.L,Ue=we.U;Ue?Ue.L===we?Ue.L=Be:Ue.R=Be:Z._=Be,Be.U=Ue,we.U=Be,we.L=Be.R,we.L&&(we.L.U=we),Be.R=we}function Of(Z){for(;Z.L;)Z=Z.L;return Z}function Gc(Z,oe){var we=Z.sort(vd).pop(),Be,Ue,We;for(ml=[],Ys=new Array(Z.length),Hs=new eu,Ql=new eu;;)if(We=fs,we&&(!We||we.y<We.y||we.y===We.y&&we.x<We.x))(we.x!==Be||we.y!==Ue)&&(Ys[we.i]=new Zl(we),Qu(we),Be=we.x,Ue=we.y),we=Z.pop();else if(We)fa(We.arc);else break;oe&&(Tl(oe),Ks(oe));var wt={cells:Ys,edges:ml};return Hs=Ql=ml=Ys=null,wt}function vd(Z,oe){return oe.y-Z.y||oe.x-Z.x}e.geom.voronoi=function(Z){var oe=zs,we=ks,Be=oe,Ue=we,We=Bf;if(Z)return wt(Z);function wt(zt){var or=new Array(zt.length),lr=We[0][0],Dr=We[0][1],Ir=We[1][0],oi=We[1][1];return Gc(tt(zt),We).cells.forEach(function(ui,qr){var Kr=ui.edges,ii=ui.site,vi=or[qr]=Kr.length?Kr.map(function(ci){var Jr=ci.start();return[Jr.x,Jr.y]}):ii.x>=lr&&ii.x<=Ir&&ii.y>=Dr&&ii.y<=oi?[[lr,oi],[Ir,oi],[Ir,Dr],[lr,Dr]]:[];vi.point=zt[qr]}),or}function tt(zt){return zt.map(function(or,lr){return{x:Math.round(Be(or,lr)/Ye)*Ye,y:Math.round(Ue(or,lr)/Ye)*Ye,i:lr}})}return wt.links=function(zt){return Gc(tt(zt)).edges.filter(function(or){return or.l&&or.r}).map(function(or){return{source:zt[or.l.i],target:zt[or.r.i]}})},wt.triangles=function(zt){var or=[];return Gc(tt(zt)).cells.forEach(function(lr,Dr){for(var Ir=lr.site,oi=lr.edges.sort(Xl),ui=-1,qr=oi.length,Kr,ii,vi=oi[qr-1].edge,ci=vi.l===Ir?vi.r:vi.l;++ui<qr;)Kr=vi,ii=ci,vi=oi[ui].edge,ci=vi.l===Ir?vi.r:vi.l,Dr<ii.i&&Dr<ci.i&&ss(Ir,ii,ci)<0&&or.push([zt[Dr],zt[ii.i],zt[ci.i]])}),or},wt.x=function(zt){return arguments.length?(Be=ti(oe=zt),wt):oe},wt.y=function(zt){return arguments.length?(Ue=ti(we=zt),wt):we},wt.clipExtent=function(zt){return arguments.length?(We=zt==null?Bf:zt,wt):We===Bf?null:We},wt.size=function(zt){return arguments.length?wt.clipExtent(zt&&[[0,0],zt]):We===Bf?null:We&&We[1]},wt};var Bf=[[-1e6,-1e6],[1e6,1e6]];function ss(Z,oe,we){return(Z.x-we.x)*(oe.y-Z.y)-(Z.x-oe.x)*(we.y-Z.y)}e.geom.delaunay=function(Z){return e.geom.voronoi().triangles(Z)},e.geom.quadtree=function(Z,oe,we,Be,Ue){var We=zs,wt=ks,tt;if(tt=arguments.length)return We=ff,wt=ih,tt===3&&(Ue=we,Be=oe,we=oe=0),zt(Z);function zt(or){var lr,Dr=ti(We),Ir=ti(wt),oi,ui,qr,Kr,ii,vi,ci,Jr;if(oe!=null)ii=oe,vi=we,ci=Be,Jr=Ue;else if(ci=Jr=-(ii=vi=1/0),oi=[],ui=[],Kr=or.length,tt)for(qr=0;qr<Kr;++qr)lr=or[qr],lr.x<ii&&(ii=lr.x),lr.y<vi&&(vi=lr.y),lr.x>ci&&(ci=lr.x),lr.y>Jr&&(Jr=lr.y),oi.push(lr.x),ui.push(lr.y);else for(qr=0;qr<Kr;++qr){var un=+Dr(lr=or[qr],qr),dn=+Ir(lr,qr);un<ii&&(ii=un),dn<vi&&(vi=dn),un>ci&&(ci=un),dn>Jr&&(Jr=dn),oi.push(un),ui.push(dn)}var En=ci-ii,Nn=Jr-vi;En>Nn?Jr=vi+En:ci=ii+Nn;function ga(wa,io,Ss,_s,Ns,pn,za,Lo){if(!(isNaN(Ss)||isNaN(_s)))if(wa.leaf){var Fo=wa.x,js=wa.y;if(Fo!=null)if(p(Fo-Ss)+p(js-_s)<.01)ya(wa,io,Ss,_s,Ns,pn,za,Lo);else{var xl=wa.point;wa.x=wa.y=wa.point=null,ya(wa,xl,Fo,js,Ns,pn,za,Lo),ya(wa,io,Ss,_s,Ns,pn,za,Lo)}else wa.x=Ss,wa.y=_s,wa.point=io}else ya(wa,io,Ss,_s,Ns,pn,za,Lo)}function ya(wa,io,Ss,_s,Ns,pn,za,Lo){var Fo=(Ns+za)*.5,js=(pn+Lo)*.5,xl=Ss>=Fo,fu=_s>=js,dl=fu<<1|xl;wa.leaf=!1,wa=wa.nodes[dl]||(wa.nodes[dl]=Vl()),xl?Ns=Fo:za=Fo,fu?pn=js:Lo=js,ga(wa,io,Ss,_s,Ns,pn,za,Lo)}var so=Vl();if(so.add=function(wa){ga(so,wa,+Dr(wa,++qr),+Ir(wa,qr),ii,vi,ci,Jr)},so.visit=function(wa){Js(wa,so,ii,vi,ci,Jr)},so.find=function(wa){return hc(so,wa[0],wa[1],ii,vi,ci,Jr)},qr=-1,oe==null){for(;++qr<Kr;)ga(so,or[qr],oi[qr],ui[qr],ii,vi,ci,Jr);--qr}else or.forEach(so.add);return oi=ui=or=lr=null,so}return zt.x=function(or){return arguments.length?(We=or,zt):We},zt.y=function(or){return arguments.length?(wt=or,zt):wt},zt.extent=function(or){return arguments.length?(or==null?oe=we=Be=Ue=null:(oe=+or[0][0],we=+or[0][1],Be=+or[1][0],Ue=+or[1][1]),zt):oe==null?null:[[oe,we],[Be,Ue]]},zt.size=function(or){return arguments.length?(or==null?oe=we=Be=Ue=null:(oe=we=0,Be=+or[0],Ue=+or[1]),zt):oe==null?null:[Be-oe,Ue-we]},zt};function ff(Z){return Z.x}function ih(Z){return Z.y}function Vl(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function Js(Z,oe,we,Be,Ue,We){if(!Z(oe,we,Be,Ue,We)){var wt=(we+Ue)*.5,tt=(Be+We)*.5,zt=oe.nodes;zt[0]&&Js(Z,zt[0],we,Be,wt,tt),zt[1]&&Js(Z,zt[1],wt,Be,Ue,tt),zt[2]&&Js(Z,zt[2],we,tt,wt,We),zt[3]&&Js(Z,zt[3],wt,tt,Ue,We)}}function hc(Z,oe,we,Be,Ue,We,wt){var tt=1/0,zt;return function or(lr,Dr,Ir,oi,ui){if(!(Dr>We||Ir>wt||oi<Be||ui<Ue)){if(qr=lr.point){var qr,Kr=oe-lr.x,ii=we-lr.y,vi=Kr*Kr+ii*ii;if(vi<tt){var ci=Math.sqrt(tt=vi);Be=oe-ci,Ue=we-ci,We=oe+ci,wt=we+ci,zt=qr}}for(var Jr=lr.nodes,un=(Dr+oi)*.5,dn=(Ir+ui)*.5,En=oe>=un,Nn=we>=dn,ga=Nn<<1|En,ya=ga+4;ga<ya;++ga)if(lr=Jr[ga&3])switch(ga&3){case 0:or(lr,Dr,Ir,un,dn);break;case 1:or(lr,un,Ir,oi,dn);break;case 2:or(lr,Dr,dn,un,ui);break;case 3:or(lr,un,dn,oi,ui);break}}}(Z,Be,Ue,We,wt),zt}e.interpolateRgb=Cc;function Cc(Z,oe){Z=e.rgb(Z),oe=e.rgb(oe);var we=Z.r,Be=Z.g,Ue=Z.b,We=oe.r-we,wt=oe.g-Be,tt=oe.b-Ue;return function(zt){return\"#\"+Sn(Math.round(we+We*zt))+Sn(Math.round(Be+wt*zt))+Sn(Math.round(Ue+tt*zt))}}e.interpolateObject=ws;function ws(Z,oe){var we={},Be={},Ue;for(Ue in Z)Ue in oe?we[Ue]=Sl(Z[Ue],oe[Ue]):Be[Ue]=Z[Ue];for(Ue in oe)Ue in Z||(Be[Ue]=oe[Ue]);return function(We){for(Ue in we)Be[Ue]=we[Ue](We);return Be}}e.interpolateNumber=$s;function $s(Z,oe){return Z=+Z,oe=+oe,function(we){return Z*(1-we)+oe*we}}e.interpolateString=hs;function hs(Z,oe){var we=Ms.lastIndex=dc.lastIndex=0,Be,Ue,We,wt=-1,tt=[],zt=[];for(Z=Z+\"\",oe=oe+\"\";(Be=Ms.exec(Z))&&(Ue=dc.exec(oe));)(We=Ue.index)>we&&(We=oe.slice(we,We),tt[wt]?tt[wt]+=We:tt[++wt]=We),(Be=Be[0])===(Ue=Ue[0])?tt[wt]?tt[wt]+=Ue:tt[++wt]=Ue:(tt[++wt]=null,zt.push({i:wt,x:$s(Be,Ue)})),we=dc.lastIndex;return we<oe.length&&(We=oe.slice(we),tt[wt]?tt[wt]+=We:tt[++wt]=We),tt.length<2?zt[0]?(oe=zt[0].x,function(or){return oe(or)+\"\"}):function(){return oe}:(oe=zt.length,function(or){for(var lr=0,Dr;lr<oe;++lr)tt[(Dr=zt[lr]).i]=Dr.x(or);return tt.join(\"\")})}var Ms=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,dc=new RegExp(Ms.source,\"g\");e.interpolate=Sl;function Sl(Z,oe){for(var we=e.interpolators.length,Be;--we>=0&&!(Be=e.interpolators[we](Z,oe)););return Be}e.interpolators=[function(Z,oe){var we=typeof oe;return(we===\"string\"?Hr.has(oe.toLowerCase())||/^(#|rgb\\(|hsl\\()/i.test(oe)?Cc:hs:oe instanceof Wn?Cc:Array.isArray(oe)?ec:we===\"object\"&&isNaN(oe)?ws:$s)(Z,oe)}],e.interpolateArray=ec;function ec(Z,oe){var we=[],Be=[],Ue=Z.length,We=oe.length,wt=Math.min(Z.length,oe.length),tt;for(tt=0;tt<wt;++tt)we.push(Sl(Z[tt],oe[tt]));for(;tt<Ue;++tt)Be[tt]=Z[tt];for(;tt<We;++tt)Be[tt]=oe[tt];return function(zt){for(tt=0;tt<wt;++tt)Be[tt]=we[tt](zt);return Be}}var Ps=function(){return H},ov=e.map({linear:Ps,poly:Mh,quad:function(){return Ef},cubic:function(){return tc},sin:function(){return jc},exp:function(){return kf},circle:function(){return Ml},elastic:Yh,back:Eh,bounce:function(){return nh}}),wo=e.map({in:H,out:$o,\"in-out\":Ja,\"out-in\":function(Z){return Ja($o(Z))}});e.ease=function(Z){var oe=Z.indexOf(\"-\"),we=oe>=0?Z.slice(0,oe):Z,Be=oe>=0?Z.slice(oe+1):\"in\";return we=ov.get(we)||Ps,Be=wo.get(Be)||H,Od(Be(we.apply(null,t.call(arguments,1))))};function Od(Z){return function(oe){return oe<=0?0:oe>=1?1:Z(oe)}}function $o(Z){return function(oe){return 1-Z(1-oe)}}function Ja(Z){return function(oe){return .5*(oe<.5?Z(2*oe):2-Z(2-2*oe))}}function Ef(Z){return Z*Z}function tc(Z){return Z*Z*Z}function uu(Z){if(Z<=0)return 0;if(Z>=1)return 1;var oe=Z*Z,we=oe*Z;return 4*(Z<.5?we:3*(Z-oe)+we-.75)}function Mh(Z){return function(oe){return Math.pow(oe,Z)}}function jc(Z){return 1-Math.cos(Z*xe)}function kf(Z){return Math.pow(2,10*(Z-1))}function Ml(Z){return 1-Math.sqrt(1-Z*Z)}function Yh(Z,oe){var we;return arguments.length<2&&(oe=.45),arguments.length?we=oe/ht*Math.asin(1/Z):(Z=1,we=oe/4),function(Be){return 1+Z*Math.pow(2,-10*Be)*Math.sin((Be-we)*ht/oe)}}function Eh(Z){return Z||(Z=1.70158),function(oe){return oe*oe*((Z+1)*oe-Z)}}function nh(Z){return Z<1/2.75?7.5625*Z*Z:Z<2/2.75?7.5625*(Z-=1.5/2.75)*Z+.75:Z<2.5/2.75?7.5625*(Z-=2.25/2.75)*Z+.9375:7.5625*(Z-=2.625/2.75)*Z+.984375}e.interpolateHcl=hf;function hf(Z,oe){Z=e.hcl(Z),oe=e.hcl(oe);var we=Z.h,Be=Z.c,Ue=Z.l,We=oe.h-we,wt=oe.c-Be,tt=oe.l-Ue;return isNaN(wt)&&(wt=0,Be=isNaN(Be)?oe.c:Be),isNaN(We)?(We=0,we=isNaN(we)?oe.h:we):We>180?We-=360:We<-180&&(We+=360),function(zt){return Fr(we+We*zt,Be+wt*zt,Ue+tt*zt)+\"\"}}e.interpolateHsl=kh;function kh(Z,oe){Z=e.hsl(Z),oe=e.hsl(oe);var we=Z.h,Be=Z.s,Ue=Z.l,We=oe.h-we,wt=oe.s-Be,tt=oe.l-Ue;return isNaN(wt)&&(wt=0,Be=isNaN(Be)?oe.s:Be),isNaN(We)?(We=0,we=isNaN(we)?oe.h:we):We>180?We-=360:We<-180&&(We+=360),function(zt){return jt(we+We*zt,Be+wt*zt,Ue+tt*zt)+\"\"}}e.interpolateLab=Kh;function Kh(Z,oe){Z=e.lab(Z),oe=e.lab(oe);var we=Z.l,Be=Z.a,Ue=Z.b,We=oe.l-we,wt=oe.a-Be,tt=oe.b-Ue;return function(zt){return Gi(we+We*zt,Be+wt*zt,Ue+tt*zt)+\"\"}}e.interpolateRound=rc;function rc(Z,oe){return oe-=Z,function(we){return Math.round(Z+oe*we)}}e.transform=function(Z){var oe=n.createElementNS(e.ns.prefix.svg,\"g\");return(e.transform=function(we){if(we!=null){oe.setAttribute(\"transform\",we);var Be=oe.transform.baseVal.consolidate()}return new ah(Be?Be.matrix:Nf)})(Z)};function ah(Z){var oe=[Z.a,Z.b],we=[Z.c,Z.d],Be=df(oe),Ue=Wc(oe,we),We=df(Cu(we,oe,-Ue))||0;oe[0]*we[1]<we[0]*oe[1]&&(oe[0]*=-1,oe[1]*=-1,Be*=-1,Ue*=-1),this.rotate=(Be?Math.atan2(oe[1],oe[0]):Math.atan2(-we[0],we[1]))*lt,this.translate=[Z.e,Z.f],this.scale=[Be,We],this.skew=We?Math.atan2(Ue,We)*lt:0}ah.prototype.toString=function(){return\"translate(\"+this.translate+\")rotate(\"+this.rotate+\")skewX(\"+this.skew+\")scale(\"+this.scale+\")\"};function Wc(Z,oe){return Z[0]*oe[0]+Z[1]*oe[1]}function df(Z){var oe=Math.sqrt(Wc(Z,Z));return oe&&(Z[0]/=oe,Z[1]/=oe),oe}function Cu(Z,oe,we){return Z[0]+=we*oe[0],Z[1]+=we*oe[1],Z}var Nf={a:1,b:0,c:0,d:1,e:0,f:0};e.interpolateTransform=Cf;function Zc(Z){return Z.length?Z.pop()+\",\":\"\"}function ds(Z,oe,we,Be){if(Z[0]!==oe[0]||Z[1]!==oe[1]){var Ue=we.push(\"translate(\",null,\",\",null,\")\");Be.push({i:Ue-4,x:$s(Z[0],oe[0])},{i:Ue-2,x:$s(Z[1],oe[1])})}else(oe[0]||oe[1])&&we.push(\"translate(\"+oe+\")\")}function Ch(Z,oe,we,Be){Z!==oe?(Z-oe>180?oe+=360:oe-Z>180&&(Z+=360),Be.push({i:we.push(Zc(we)+\"rotate(\",null,\")\")-2,x:$s(Z,oe)})):oe&&we.push(Zc(we)+\"rotate(\"+oe+\")\")}function Bd(Z,oe,we,Be){Z!==oe?Be.push({i:we.push(Zc(we)+\"skewX(\",null,\")\")-2,x:$s(Z,oe)}):oe&&we.push(Zc(we)+\"skewX(\"+oe+\")\")}function Jh(Z,oe,we,Be){if(Z[0]!==oe[0]||Z[1]!==oe[1]){var Ue=we.push(Zc(we)+\"scale(\",null,\",\",null,\")\");Be.push({i:Ue-4,x:$s(Z[0],oe[0])},{i:Ue-2,x:$s(Z[1],oe[1])})}else(oe[0]!==1||oe[1]!==1)&&we.push(Zc(we)+\"scale(\"+oe+\")\")}function Cf(Z,oe){var we=[],Be=[];return Z=e.transform(Z),oe=e.transform(oe),ds(Z.translate,oe.translate,we,Be),Ch(Z.rotate,oe.rotate,we,Be),Bd(Z.skew,oe.skew,we,Be),Jh(Z.scale,oe.scale,we,Be),Z=oe=null,function(Ue){for(var We=-1,wt=Be.length,tt;++We<wt;)we[(tt=Be[We]).i]=tt.x(Ue);return we.join(\"\")}}function pd(Z,oe){return oe=(oe-=Z=+Z)||1/oe,function(we){return(we-Z)/oe}}function Lu(Z,oe){return oe=(oe-=Z=+Z)||1/oe,function(we){return Math.max(0,Math.min(1,(we-Z)/oe))}}e.layout={},e.layout.bundle=function(){return function(Z){for(var oe=[],we=-1,Be=Z.length;++we<Be;)oe.push($h(Z[we]));return oe}};function $h(Z){for(var oe=Z.source,we=Z.target,Be=Pu(oe,we),Ue=[oe];oe!==Be;)oe=oe.parent,Ue.push(oe);for(var We=Ue.length;we!==Be;)Ue.splice(We,0,we),we=we.parent;return Ue}function tu(Z){for(var oe=[],we=Z.parent;we!=null;)oe.push(Z),Z=we,we=we.parent;return oe.push(Z),oe}function Pu(Z,oe){if(Z===oe)return Z;for(var we=tu(Z),Be=tu(oe),Ue=we.pop(),We=Be.pop(),wt=null;Ue===We;)wt=Ue,Ue=we.pop(),We=Be.pop();return wt}e.layout.chord=function(){var Z={},oe,we,Be,Ue,We=0,wt,tt,zt;function or(){var Dr={},Ir=[],oi=e.range(Ue),ui=[],qr,Kr,ii,vi,ci;for(oe=[],we=[],qr=0,vi=-1;++vi<Ue;){for(Kr=0,ci=-1;++ci<Ue;)Kr+=Be[vi][ci];Ir.push(Kr),ui.push(e.range(Ue)),qr+=Kr}for(wt&&oi.sort(function(so,wa){return wt(Ir[so],Ir[wa])}),tt&&ui.forEach(function(so,wa){so.sort(function(io,Ss){return tt(Be[wa][io],Be[wa][Ss])})}),qr=(ht-We*Ue)/qr,Kr=0,vi=-1;++vi<Ue;){for(ii=Kr,ci=-1;++ci<Ue;){var Jr=oi[vi],un=ui[Jr][ci],dn=Be[Jr][un],En=Kr,Nn=Kr+=dn*qr;Dr[Jr+\"-\"+un]={index:Jr,subindex:un,startAngle:En,endAngle:Nn,value:dn}}we[Jr]={index:Jr,startAngle:ii,endAngle:Kr,value:Ir[Jr]},Kr+=We}for(vi=-1;++vi<Ue;)for(ci=vi-1;++ci<Ue;){var ga=Dr[vi+\"-\"+ci],ya=Dr[ci+\"-\"+vi];(ga.value||ya.value)&&oe.push(ga.value<ya.value?{source:ya,target:ga}:{source:ga,target:ya})}zt&&lr()}function lr(){oe.sort(function(Dr,Ir){return zt((Dr.source.value+Dr.target.value)/2,(Ir.source.value+Ir.target.value)/2)})}return Z.matrix=function(Dr){return arguments.length?(Ue=(Be=Dr)&&Be.length,oe=we=null,Z):Be},Z.padding=function(Dr){return arguments.length?(We=Dr,oe=we=null,Z):We},Z.sortGroups=function(Dr){return arguments.length?(wt=Dr,oe=we=null,Z):wt},Z.sortSubgroups=function(Dr){return arguments.length?(tt=Dr,oe=null,Z):tt},Z.sortChords=function(Dr){return arguments.length?(zt=Dr,oe&&lr(),Z):zt},Z.chords=function(){return oe||or(),oe},Z.groups=function(){return we||or(),we},Z},e.layout.force=function(){var Z={},oe=e.dispatch(\"start\",\"tick\",\"end\"),we,Be=[1,1],Ue,We,wt=.9,tt=Qs,zt=Qh,or=-30,lr=gd,Dr=.1,Ir=.64,oi=[],ui=[],qr,Kr,ii;function vi(Jr){return function(un,dn,En,Nn){if(un.point!==Jr){var ga=un.cx-Jr.x,ya=un.cy-Jr.y,so=Nn-dn,wa=ga*ga+ya*ya;if(so*so/Ir<wa){if(wa<lr){var io=un.charge/wa;Jr.px-=ga*io,Jr.py-=ya*io}return!0}if(un.point&&wa&&wa<lr){var io=un.pointCharge/wa;Jr.px-=ga*io,Jr.py-=ya*io}}return!un.charge}}Z.tick=function(){if((We*=.99)<.005)return we=null,oe.end({type:\"end\",alpha:We=0}),!0;var Jr=oi.length,un=ui.length,dn,En,Nn,ga,ya,so,wa,io,Ss;for(En=0;En<un;++En)Nn=ui[En],ga=Nn.source,ya=Nn.target,io=ya.x-ga.x,Ss=ya.y-ga.y,(so=io*io+Ss*Ss)&&(so=We*Kr[En]*((so=Math.sqrt(so))-qr[En])/so,io*=so,Ss*=so,ya.x-=io*(wa=ga.weight+ya.weight?ga.weight/(ga.weight+ya.weight):.5),ya.y-=Ss*wa,ga.x+=io*(wa=1-wa),ga.y+=Ss*wa);if((wa=We*Dr)&&(io=Be[0]/2,Ss=Be[1]/2,En=-1,wa))for(;++En<Jr;)Nn=oi[En],Nn.x+=(io-Nn.x)*wa,Nn.y+=(Ss-Nn.y)*wa;if(or)for(yu(dn=e.geom.quadtree(oi),We,ii),En=-1;++En<Jr;)(Nn=oi[En]).fixed||dn.visit(vi(Nn));for(En=-1;++En<Jr;)Nn=oi[En],Nn.fixed?(Nn.x=Nn.px,Nn.y=Nn.py):(Nn.x-=(Nn.px-(Nn.px=Nn.x))*wt,Nn.y-=(Nn.py-(Nn.py=Nn.y))*wt);oe.tick({type:\"tick\",alpha:We})},Z.nodes=function(Jr){return arguments.length?(oi=Jr,Z):oi},Z.links=function(Jr){return arguments.length?(ui=Jr,Z):ui},Z.size=function(Jr){return arguments.length?(Be=Jr,Z):Be},Z.linkDistance=function(Jr){return arguments.length?(tt=typeof Jr==\"function\"?Jr:+Jr,Z):tt},Z.distance=Z.linkDistance,Z.linkStrength=function(Jr){return arguments.length?(zt=typeof Jr==\"function\"?Jr:+Jr,Z):zt},Z.friction=function(Jr){return arguments.length?(wt=+Jr,Z):wt},Z.charge=function(Jr){return arguments.length?(or=typeof Jr==\"function\"?Jr:+Jr,Z):or},Z.chargeDistance=function(Jr){return arguments.length?(lr=Jr*Jr,Z):Math.sqrt(lr)},Z.gravity=function(Jr){return arguments.length?(Dr=+Jr,Z):Dr},Z.theta=function(Jr){return arguments.length?(Ir=Jr*Jr,Z):Math.sqrt(Ir)},Z.alpha=function(Jr){return arguments.length?(Jr=+Jr,We?Jr>0?We=Jr:(we.c=null,we.t=NaN,we=null,oe.end({type:\"end\",alpha:We=0})):Jr>0&&(oe.start({type:\"start\",alpha:We=Jr}),we=Oo(Z.tick)),Z):We},Z.start=function(){var Jr,un=oi.length,dn=ui.length,En=Be[0],Nn=Be[1],ga,ya;for(Jr=0;Jr<un;++Jr)(ya=oi[Jr]).index=Jr,ya.weight=0;for(Jr=0;Jr<dn;++Jr)ya=ui[Jr],typeof ya.source==\"number\"&&(ya.source=oi[ya.source]),typeof ya.target==\"number\"&&(ya.target=oi[ya.target]),++ya.source.weight,++ya.target.weight;for(Jr=0;Jr<un;++Jr)ya=oi[Jr],isNaN(ya.x)&&(ya.x=so(\"x\",En)),isNaN(ya.y)&&(ya.y=so(\"y\",Nn)),isNaN(ya.px)&&(ya.px=ya.x),isNaN(ya.py)&&(ya.py=ya.y);if(qr=[],typeof tt==\"function\")for(Jr=0;Jr<dn;++Jr)qr[Jr]=+tt.call(this,ui[Jr],Jr);else for(Jr=0;Jr<dn;++Jr)qr[Jr]=tt;if(Kr=[],typeof zt==\"function\")for(Jr=0;Jr<dn;++Jr)Kr[Jr]=+zt.call(this,ui[Jr],Jr);else for(Jr=0;Jr<dn;++Jr)Kr[Jr]=zt;if(ii=[],typeof or==\"function\")for(Jr=0;Jr<un;++Jr)ii[Jr]=+or.call(this,oi[Jr],Jr);else for(Jr=0;Jr<un;++Jr)ii[Jr]=or;function so(wa,io){if(!ga){for(ga=new Array(un),Ns=0;Ns<un;++Ns)ga[Ns]=[];for(Ns=0;Ns<dn;++Ns){var Ss=ui[Ns];ga[Ss.source.index].push(Ss.target),ga[Ss.target.index].push(Ss.source)}}for(var _s=ga[Jr],Ns=-1,pn=_s.length,za;++Ns<pn;)if(!isNaN(za=_s[Ns][wa]))return za;return Math.random()*io}return Z.resume()},Z.resume=function(){return Z.alpha(.1)},Z.stop=function(){return Z.alpha(0)},Z.drag=function(){if(Ue||(Ue=e.behavior.drag().origin(H).on(\"dragstart.force\",Lc).on(\"drag.force\",ci).on(\"dragend.force\",fl)),!arguments.length)return Ue;this.on(\"mouseover.force\",Xc).on(\"mouseout.force\",ic).call(Ue)};function ci(Jr){Jr.px=e.event.x,Jr.py=e.event.y,Z.resume()}return e.rebind(Z,oe,\"on\")};function Lc(Z){Z.fixed|=2}function fl(Z){Z.fixed&=-7}function Xc(Z){Z.fixed|=4,Z.px=Z.x,Z.py=Z.y}function ic(Z){Z.fixed&=-5}function yu(Z,oe,we){var Be=0,Ue=0;if(Z.charge=0,!Z.leaf)for(var We=Z.nodes,wt=We.length,tt=-1,zt;++tt<wt;)zt=We[tt],zt!=null&&(yu(zt,oe,we),Z.charge+=zt.charge,Be+=zt.charge*zt.cx,Ue+=zt.charge*zt.cy);if(Z.point){Z.leaf||(Z.point.x+=Math.random()-.5,Z.point.y+=Math.random()-.5);var or=oe*we[Z.point.index];Z.charge+=Z.pointCharge=or,Be+=or*Z.point.x,Ue+=or*Z.point.y}Z.cx=Be/Z.charge,Z.cy=Ue/Z.charge}var Qs=20,Qh=1,gd=1/0;e.layout.hierarchy=function(){var Z=Uf,oe=sv,we=Lf;function Be(Ue){var We=[Ue],wt=[],tt;for(Ue.depth=0;(tt=We.pop())!=null;)if(wt.push(tt),(or=oe.call(Be,tt,tt.depth))&&(zt=or.length)){for(var zt,or,lr;--zt>=0;)We.push(lr=or[zt]),lr.parent=tt,lr.depth=tt.depth+1;we&&(tt.value=0),tt.children=or}else we&&(tt.value=+we.call(Be,tt,tt.depth)||0),delete tt.children;return vc(Ue,function(Dr){var Ir,oi;Z&&(Ir=Dr.children)&&Ir.sort(Z),we&&(oi=Dr.parent)&&(oi.value+=Dr.value)}),wt}return Be.sort=function(Ue){return arguments.length?(Z=Ue,Be):Z},Be.children=function(Ue){return arguments.length?(oe=Ue,Be):oe},Be.value=function(Ue){return arguments.length?(we=Ue,Be):we},Be.revalue=function(Ue){return we&&(Pc(Ue,function(We){We.children&&(We.value=0)}),vc(Ue,function(We){var wt;We.children||(We.value=+we.call(Be,We,We.depth)||0),(wt=We.parent)&&(wt.value+=We.value)})),Ue},Be};function Gu(Z,oe){return e.rebind(Z,oe,\"sort\",\"children\",\"value\"),Z.nodes=Z,Z.links=Iu,Z}function Pc(Z,oe){for(var we=[Z];(Z=we.pop())!=null;)if(oe(Z),(Ue=Z.children)&&(Be=Ue.length))for(var Be,Ue;--Be>=0;)we.push(Ue[Be])}function vc(Z,oe){for(var we=[Z],Be=[];(Z=we.pop())!=null;)if(Be.push(Z),(wt=Z.children)&&(We=wt.length))for(var Ue=-1,We,wt;++Ue<We;)we.push(wt[Ue]);for(;(Z=Be.pop())!=null;)oe(Z)}function sv(Z){return Z.children}function Lf(Z){return Z.value}function Uf(Z,oe){return oe.value-Z.value}function Iu(Z){return e.merge(Z.map(function(oe){return(oe.children||[]).map(function(we){return{source:oe,target:we}})}))}e.layout.partition=function(){var Z=e.layout.hierarchy(),oe=[1,1];function we(We,wt,tt,zt){var or=We.children;if(We.x=wt,We.y=We.depth*zt,We.dx=tt,We.dy=zt,or&&(Dr=or.length)){var lr=-1,Dr,Ir,oi;for(tt=We.value?tt/We.value:0;++lr<Dr;)we(Ir=or[lr],wt,oi=Ir.value*tt,zt),wt+=oi}}function Be(We){var wt=We.children,tt=0;if(wt&&(or=wt.length))for(var zt=-1,or;++zt<or;)tt=Math.max(tt,Be(wt[zt]));return 1+tt}function Ue(We,wt){var tt=Z.call(this,We,wt);return we(tt[0],0,oe[0],oe[1]/Be(tt[0])),tt}return Ue.size=function(We){return arguments.length?(oe=We,Ue):oe},Gu(Ue,Z)},e.layout.pie=function(){var Z=Number,oe=oh,we=0,Be=ht,Ue=0;function We(wt){var tt=wt.length,zt=wt.map(function(vi,ci){return+Z.call(We,vi,ci)}),or=+(typeof we==\"function\"?we.apply(this,arguments):we),lr=(typeof Be==\"function\"?Be.apply(this,arguments):Be)-or,Dr=Math.min(Math.abs(lr)/tt,+(typeof Ue==\"function\"?Ue.apply(this,arguments):Ue)),Ir=Dr*(lr<0?-1:1),oi=e.sum(zt),ui=oi?(lr-tt*Ir)/oi:0,qr=e.range(tt),Kr=[],ii;return oe!=null&&qr.sort(oe===oh?function(vi,ci){return zt[ci]-zt[vi]}:function(vi,ci){return oe(wt[vi],wt[ci])}),qr.forEach(function(vi){Kr[vi]={data:wt[vi],value:ii=zt[vi],startAngle:or,endAngle:or+=ii*ui+Ir,padAngle:Dr}}),Kr}return We.value=function(wt){return arguments.length?(Z=wt,We):Z},We.sort=function(wt){return arguments.length?(oe=wt,We):oe},We.startAngle=function(wt){return arguments.length?(we=wt,We):we},We.endAngle=function(wt){return arguments.length?(Be=wt,We):Be},We.padAngle=function(wt){return arguments.length?(Ue=wt,We):Ue},We};var oh={};e.layout.stack=function(){var Z=H,oe=_u,we=xu,Be=md,Ue=ru,We=vf;function wt(tt,zt){if(!(ui=tt.length))return tt;var or=tt.map(function(vi,ci){return Z.call(wt,vi,ci)}),lr=or.map(function(vi){return vi.map(function(ci,Jr){return[Ue.call(wt,ci,Jr),We.call(wt,ci,Jr)]})}),Dr=oe.call(wt,lr,zt);or=e.permute(or,Dr),lr=e.permute(lr,Dr);var Ir=we.call(wt,lr,zt),oi=or[0].length,ui,qr,Kr,ii;for(Kr=0;Kr<oi;++Kr)for(Be.call(wt,or[0][Kr],ii=Ir[Kr],lr[0][Kr][1]),qr=1;qr<ui;++qr)Be.call(wt,or[qr][Kr],ii+=lr[qr-1][Kr][1],lr[qr][Kr][1]);return tt}return wt.values=function(tt){return arguments.length?(Z=tt,wt):Z},wt.order=function(tt){return arguments.length?(oe=typeof tt==\"function\"?tt:sh.get(tt)||_u,wt):oe},wt.offset=function(tt){return arguments.length?(we=typeof tt==\"function\"?tt:Fs.get(tt)||xu,wt):we},wt.x=function(tt){return arguments.length?(Ue=tt,wt):Ue},wt.y=function(tt){return arguments.length?(We=tt,wt):We},wt.out=function(tt){return arguments.length?(Be=tt,wt):Be},wt};function ru(Z){return Z.x}function vf(Z){return Z.y}function md(Z,oe,we){Z.y0=oe,Z.y=we}var sh=e.map({\"inside-out\":function(Z){var oe=Z.length,we,Be,Ue=Z.map(Lh),We=Z.map(Is),wt=e.range(oe).sort(function(Dr,Ir){return Ue[Dr]-Ue[Ir]}),tt=0,zt=0,or=[],lr=[];for(we=0;we<oe;++we)Be=wt[we],tt<zt?(tt+=We[Be],or.push(Be)):(zt+=We[Be],lr.push(Be));return lr.reverse().concat(or)},reverse:function(Z){return e.range(Z.length).reverse()},default:_u}),Fs=e.map({silhouette:function(Z){var oe=Z.length,we=Z[0].length,Be=[],Ue=0,We,wt,tt,zt=[];for(wt=0;wt<we;++wt){for(We=0,tt=0;We<oe;We++)tt+=Z[We][wt][1];tt>Ue&&(Ue=tt),Be.push(tt)}for(wt=0;wt<we;++wt)zt[wt]=(Ue-Be[wt])/2;return zt},wiggle:function(Z){var oe=Z.length,we=Z[0],Be=we.length,Ue,We,wt,tt,zt,or,lr,Dr,Ir,oi=[];for(oi[0]=Dr=Ir=0,We=1;We<Be;++We){for(Ue=0,tt=0;Ue<oe;++Ue)tt+=Z[Ue][We][1];for(Ue=0,zt=0,lr=we[We][0]-we[We-1][0];Ue<oe;++Ue){for(wt=0,or=(Z[Ue][We][1]-Z[Ue][We-1][1])/(2*lr);wt<Ue;++wt)or+=(Z[wt][We][1]-Z[wt][We-1][1])/lr;zt+=or*Z[Ue][We][1]}oi[We]=Dr-=tt?zt/tt*lr:0,Dr<Ir&&(Ir=Dr)}for(We=0;We<Be;++We)oi[We]-=Ir;return oi},expand:function(Z){var oe=Z.length,we=Z[0].length,Be=1/oe,Ue,We,wt,tt=[];for(We=0;We<we;++We){for(Ue=0,wt=0;Ue<oe;Ue++)wt+=Z[Ue][We][1];if(wt)for(Ue=0;Ue<oe;Ue++)Z[Ue][We][1]/=wt;else for(Ue=0;Ue<oe;Ue++)Z[Ue][We][1]=Be}for(We=0;We<we;++We)tt[We]=0;return tt},zero:xu});function _u(Z){return e.range(Z.length)}function xu(Z){for(var oe=-1,we=Z[0].length,Be=[];++oe<we;)Be[oe]=0;return Be}function Lh(Z){for(var oe=1,we=0,Be=Z[0][1],Ue,We=Z.length;oe<We;++oe)(Ue=Z[oe][1])>Be&&(we=oe,Be=Ue);return we}function Is(Z){return Z.reduce(Pf,0)}function Pf(Z,oe){return Z+oe[1]}e.layout.histogram=function(){var Z=!0,oe=Number,we=Vf,Be=Ic;function Ue(We,Ir){for(var tt=[],zt=We.map(oe,this),or=we.call(this,zt,Ir),lr=Be.call(this,or,zt,Ir),Dr,Ir=-1,oi=zt.length,ui=lr.length-1,qr=Z?1:1/oi,Kr;++Ir<ui;)Dr=tt[Ir]=[],Dr.dx=lr[Ir+1]-(Dr.x=lr[Ir]),Dr.y=0;if(ui>0)for(Ir=-1;++Ir<oi;)Kr=zt[Ir],Kr>=or[0]&&Kr<=or[1]&&(Dr=tt[e.bisect(lr,Kr,1,ui)-1],Dr.y+=qr,Dr.push(We[Ir]));return tt}return Ue.value=function(We){return arguments.length?(oe=We,Ue):oe},Ue.range=function(We){return arguments.length?(we=ti(We),Ue):we},Ue.bins=function(We){return arguments.length?(Be=typeof We==\"number\"?function(wt){return ju(wt,We)}:ti(We),Ue):Be},Ue.frequency=function(We){return arguments.length?(Z=!!We,Ue):Z},Ue};function Ic(Z,oe){return ju(Z,Math.ceil(Math.log(oe.length)/Math.LN2+1))}function ju(Z,oe){for(var we=-1,Be=+Z[0],Ue=(Z[1]-Be)/oe,We=[];++we<=oe;)We[we]=Ue*we+Be;return We}function Vf(Z){return[e.min(Z),e.max(Z)]}e.layout.pack=function(){var Z=e.layout.hierarchy().sort(pc),oe=0,we=[1,1],Be;function Ue(We,wt){var tt=Z.call(this,We,wt),zt=tt[0],or=we[0],lr=we[1],Dr=Be==null?Math.sqrt:typeof Be==\"function\"?Be:function(){return Be};if(zt.x=zt.y=0,vc(zt,function(oi){oi.r=+Dr(oi.value)}),vc(zt,Ih),oe){var Ir=oe*(Be?1:Math.max(2*zt.r/or,2*zt.r/lr))/2;vc(zt,function(oi){oi.r+=Ir}),vc(zt,Ih),vc(zt,function(oi){oi.r-=Ir})}return gc(zt,or/2,lr/2,Be?1:1/Math.max(2*zt.r/or,2*zt.r/lr)),tt}return Ue.size=function(We){return arguments.length?(we=We,Ue):we},Ue.radius=function(We){return arguments.length?(Be=We==null||typeof We==\"function\"?We:+We,Ue):Be},Ue.padding=function(We){return arguments.length?(oe=+We,Ue):oe},Gu(Ue,Z)};function pc(Z,oe){return Z.value-oe.value}function pf(Z,oe){var we=Z._pack_next;Z._pack_next=oe,oe._pack_prev=Z,oe._pack_next=we,we._pack_prev=oe}function Ph(Z,oe){Z._pack_next=oe,oe._pack_prev=Z}function Dl(Z,oe){var we=oe.x-Z.x,Be=oe.y-Z.y,Ue=Z.r+oe.r;return .999*Ue*Ue>we*we+Be*Be}function Ih(Z){if(!(oe=Z.children)||!(Ir=oe.length))return;var oe,we=1/0,Be=-1/0,Ue=1/0,We=-1/0,wt,tt,zt,or,lr,Dr,Ir;function oi(Jr){we=Math.min(Jr.x-Jr.r,we),Be=Math.max(Jr.x+Jr.r,Be),Ue=Math.min(Jr.y-Jr.r,Ue),We=Math.max(Jr.y+Jr.r,We)}if(oe.forEach(Wu),wt=oe[0],wt.x=-wt.r,wt.y=0,oi(wt),Ir>1&&(tt=oe[1],tt.x=tt.r,tt.y=0,oi(tt),Ir>2))for(zt=oe[2],hl(wt,tt,zt),oi(zt),pf(wt,zt),wt._pack_prev=zt,pf(zt,tt),tt=wt._pack_next,or=3;or<Ir;or++){hl(wt,tt,zt=oe[or]);var ui=0,qr=1,Kr=1;for(lr=tt._pack_next;lr!==tt;lr=lr._pack_next,qr++)if(Dl(lr,zt)){ui=1;break}if(ui==1)for(Dr=wt._pack_prev;Dr!==lr._pack_prev&&!Dl(Dr,zt);Dr=Dr._pack_prev,Kr++);ui?(qr<Kr||qr==Kr&&tt.r<wt.r?Ph(wt,tt=lr):Ph(wt=Dr,tt),or--):(pf(wt,zt),tt=zt,oi(zt))}var ii=(we+Be)/2,vi=(Ue+We)/2,ci=0;for(or=0;or<Ir;or++)zt=oe[or],zt.x-=ii,zt.y-=vi,ci=Math.max(ci,zt.r+Math.sqrt(zt.x*zt.x+zt.y*zt.y));Z.r=ci,oe.forEach(Rc)}function Wu(Z){Z._pack_next=Z._pack_prev=Z}function Rc(Z){delete Z._pack_next,delete Z._pack_prev}function gc(Z,oe,we,Be){var Ue=Z.children;if(Z.x=oe+=Be*Z.x,Z.y=we+=Be*Z.y,Z.r*=Be,Ue)for(var We=-1,wt=Ue.length;++We<wt;)gc(Ue[We],oe,we,Be)}function hl(Z,oe,we){var Be=Z.r+we.r,Ue=oe.x-Z.x,We=oe.y-Z.y;if(Be&&(Ue||We)){var wt=oe.r+we.r,tt=Ue*Ue+We*We;wt*=wt,Be*=Be;var zt=.5+(Be-wt)/(2*tt),or=Math.sqrt(Math.max(0,2*wt*(Be+tt)-(Be-=tt)*Be-wt*wt))/(2*tt);we.x=Z.x+zt*Ue+or*We,we.y=Z.y+zt*We-or*Ue}else we.x=Z.x+Be,we.y=Z.y}e.layout.tree=function(){var Z=e.layout.hierarchy().sort(null).value(null),oe=iu,we=[1,1],Be=null;function Ue(lr,Dr){var Ir=Z.call(this,lr,Dr),oi=Ir[0],ui=We(oi);if(vc(ui,wt),ui.parent.m=-ui.z,Pc(ui,tt),Be)Pc(oi,or);else{var qr=oi,Kr=oi,ii=oi;Pc(oi,function(un){un.x<qr.x&&(qr=un),un.x>Kr.x&&(Kr=un),un.depth>ii.depth&&(ii=un)});var vi=oe(qr,Kr)/2-qr.x,ci=we[0]/(Kr.x+oe(Kr,qr)/2+vi),Jr=we[1]/(ii.depth||1);Pc(oi,function(un){un.x=(un.x+vi)*ci,un.y=un.depth*Jr})}return Ir}function We(lr){for(var Dr={A:null,children:[lr]},Ir=[Dr],oi;(oi=Ir.pop())!=null;)for(var ui=oi.children,qr,Kr=0,ii=ui.length;Kr<ii;++Kr)Ir.push((ui[Kr]=qr={_:ui[Kr],parent:oi,children:(qr=ui[Kr].children)&&qr.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:Kr}).a=qr);return Dr.children[0]}function wt(lr){var Dr=lr.children,Ir=lr.parent.children,oi=lr.i?Ir[lr.i-1]:null;if(Dr.length){gf(lr);var ui=(Dr[0].z+Dr[Dr.length-1].z)/2;oi?(lr.z=oi.z+oe(lr._,oi._),lr.m=lr.z-ui):lr.z=ui}else oi&&(lr.z=oi.z+oe(lr._,oi._));lr.parent.A=zt(lr,oi,lr.parent.A||Ir[0])}function tt(lr){lr._.x=lr.z+lr.parent.m,lr.m+=lr.parent.m}function zt(lr,Dr,Ir){if(Dr){for(var oi=lr,ui=lr,qr=Dr,Kr=oi.parent.children[0],ii=oi.m,vi=ui.m,ci=qr.m,Jr=Kr.m,un;qr=Yc(qr),oi=mc(oi),qr&&oi;)Kr=mc(Kr),ui=Yc(ui),ui.a=lr,un=qr.z+ci-oi.z-ii+oe(qr._,oi._),un>0&&(nc(gt(qr,lr,Ir),lr,un),ii+=un,vi+=un),ci+=qr.m,ii+=oi.m,Jr+=Kr.m,vi+=ui.m;qr&&!Yc(ui)&&(ui.t=qr,ui.m+=ci-vi),oi&&!mc(Kr)&&(Kr.t=oi,Kr.m+=ii-Jr,Ir=lr)}return Ir}function or(lr){lr.x*=we[0],lr.y=lr.depth*we[1]}return Ue.separation=function(lr){return arguments.length?(oe=lr,Ue):oe},Ue.size=function(lr){return arguments.length?(Be=(we=lr)==null?or:null,Ue):Be?null:we},Ue.nodeSize=function(lr){return arguments.length?(Be=(we=lr)==null?null:or,Ue):Be?we:null},Gu(Ue,Z)};function iu(Z,oe){return Z.parent==oe.parent?1:2}function mc(Z){var oe=Z.children;return oe.length?oe[0]:Z.t}function Yc(Z){var oe=Z.children,we;return(we=oe.length)?oe[we-1]:Z.t}function nc(Z,oe,we){var Be=we/(oe.i-Z.i);oe.c-=Be,oe.s+=we,Z.c+=Be,oe.z+=we,oe.m+=we}function gf(Z){for(var oe=0,we=0,Be=Z.children,Ue=Be.length,We;--Ue>=0;)We=Be[Ue],We.z+=oe,We.m+=oe,oe+=We.s+(we+=We.c)}function gt(Z,oe,we){return Z.a.parent===oe.parent?Z.a:we}e.layout.cluster=function(){var Z=e.layout.hierarchy().sort(null).value(null),oe=iu,we=[1,1],Be=!1;function Ue(We,wt){var tt=Z.call(this,We,wt),zt=tt[0],or,lr=0;vc(zt,function(qr){var Kr=qr.children;Kr&&Kr.length?(qr.x=wr(Kr),qr.y=Bt(Kr)):(qr.x=or?lr+=oe(qr,or):0,qr.y=0,or=qr)});var Dr=vr(zt),Ir=Ur(zt),oi=Dr.x-oe(Dr,Ir)/2,ui=Ir.x+oe(Ir,Dr)/2;return vc(zt,Be?function(qr){qr.x=(qr.x-zt.x)*we[0],qr.y=(zt.y-qr.y)*we[1]}:function(qr){qr.x=(qr.x-oi)/(ui-oi)*we[0],qr.y=(1-(zt.y?qr.y/zt.y:1))*we[1]}),tt}return Ue.separation=function(We){return arguments.length?(oe=We,Ue):oe},Ue.size=function(We){return arguments.length?(Be=(we=We)==null,Ue):Be?null:we},Ue.nodeSize=function(We){return arguments.length?(Be=(we=We)!=null,Ue):Be?we:null},Gu(Ue,Z)};function Bt(Z){return 1+e.max(Z,function(oe){return oe.y})}function wr(Z){return Z.reduce(function(oe,we){return oe+we.x},0)/Z.length}function vr(Z){var oe=Z.children;return oe&&oe.length?vr(oe[0]):Z}function Ur(Z){var oe=Z.children,we;return oe&&(we=oe.length)?Ur(oe[we-1]):Z}e.layout.treemap=function(){var Z=e.layout.hierarchy(),oe=Math.round,we=[1,1],Be=null,Ue=fi,We=!1,wt,tt=\"squarify\",zt=.5*(1+Math.sqrt(5));function or(qr,Kr){for(var ii=-1,vi=qr.length,ci,Jr;++ii<vi;)Jr=(ci=qr[ii]).value*(Kr<0?0:Kr),ci.area=isNaN(Jr)||Jr<=0?0:Jr}function lr(qr){var Kr=qr.children;if(Kr&&Kr.length){var ii=Ue(qr),vi=[],ci=Kr.slice(),Jr,un=1/0,dn,En=tt===\"slice\"?ii.dx:tt===\"dice\"?ii.dy:tt===\"slice-dice\"?qr.depth&1?ii.dy:ii.dx:Math.min(ii.dx,ii.dy),Nn;for(or(ci,ii.dx*ii.dy/qr.value),vi.area=0;(Nn=ci.length)>0;)vi.push(Jr=ci[Nn-1]),vi.area+=Jr.area,tt!==\"squarify\"||(dn=Ir(vi,En))<=un?(ci.pop(),un=dn):(vi.area-=vi.pop().area,oi(vi,En,ii,!1),En=Math.min(ii.dx,ii.dy),vi.length=vi.area=0,un=1/0);vi.length&&(oi(vi,En,ii,!0),vi.length=vi.area=0),Kr.forEach(lr)}}function Dr(qr){var Kr=qr.children;if(Kr&&Kr.length){var ii=Ue(qr),vi=Kr.slice(),ci,Jr=[];for(or(vi,ii.dx*ii.dy/qr.value),Jr.area=0;ci=vi.pop();)Jr.push(ci),Jr.area+=ci.area,ci.z!=null&&(oi(Jr,ci.z?ii.dx:ii.dy,ii,!vi.length),Jr.length=Jr.area=0);Kr.forEach(Dr)}}function Ir(qr,Kr){for(var ii=qr.area,vi,ci=0,Jr=1/0,un=-1,dn=qr.length;++un<dn;)(vi=qr[un].area)&&(vi<Jr&&(Jr=vi),vi>ci&&(ci=vi));return ii*=ii,Kr*=Kr,ii?Math.max(Kr*ci*zt/ii,ii/(Kr*Jr*zt)):1/0}function oi(qr,Kr,ii,vi){var ci=-1,Jr=qr.length,un=ii.x,dn=ii.y,En=Kr?oe(qr.area/Kr):0,Nn;if(Kr==ii.dx){for((vi||En>ii.dy)&&(En=ii.dy);++ci<Jr;)Nn=qr[ci],Nn.x=un,Nn.y=dn,Nn.dy=En,un+=Nn.dx=Math.min(ii.x+ii.dx-un,En?oe(Nn.area/En):0);Nn.z=!0,Nn.dx+=ii.x+ii.dx-un,ii.y+=En,ii.dy-=En}else{for((vi||En>ii.dx)&&(En=ii.dx);++ci<Jr;)Nn=qr[ci],Nn.x=un,Nn.y=dn,Nn.dx=En,dn+=Nn.dy=Math.min(ii.y+ii.dy-dn,En?oe(Nn.area/En):0);Nn.z=!1,Nn.dy+=ii.y+ii.dy-dn,ii.x+=En,ii.dx-=En}}function ui(qr){var Kr=wt||Z(qr),ii=Kr[0];return ii.x=ii.y=0,ii.value?(ii.dx=we[0],ii.dy=we[1]):ii.dx=ii.dy=0,wt&&Z.revalue(ii),or([ii],ii.dx*ii.dy/ii.value),(wt?Dr:lr)(ii),We&&(wt=Kr),Kr}return ui.size=function(qr){return arguments.length?(we=qr,ui):we},ui.padding=function(qr){if(!arguments.length)return Be;function Kr(ci){var Jr=qr.call(ui,ci,ci.depth);return Jr==null?fi(ci):xi(ci,typeof Jr==\"number\"?[Jr,Jr,Jr,Jr]:Jr)}function ii(ci){return xi(ci,qr)}var vi;return Ue=(Be=qr)==null?fi:(vi=typeof qr)==\"function\"?Kr:(vi===\"number\"&&(qr=[qr,qr,qr,qr]),ii),ui},ui.round=function(qr){return arguments.length?(oe=qr?Math.round:Number,ui):oe!=Number},ui.sticky=function(qr){return arguments.length?(We=qr,wt=null,ui):We},ui.ratio=function(qr){return arguments.length?(zt=qr,ui):zt},ui.mode=function(qr){return arguments.length?(tt=qr+\"\",ui):tt},Gu(ui,Z)};function fi(Z){return{x:Z.x,y:Z.y,dx:Z.dx,dy:Z.dy}}function xi(Z,oe){var we=Z.x+oe[3],Be=Z.y+oe[0],Ue=Z.dx-oe[1]-oe[3],We=Z.dy-oe[0]-oe[2];return Ue<0&&(we+=Ue/2,Ue=0),We<0&&(Be+=We/2,We=0),{x:we,y:Be,dx:Ue,dy:We}}e.random={normal:function(Z,oe){var we=arguments.length;return we<2&&(oe=1),we<1&&(Z=0),function(){var Be,Ue,We;do Be=Math.random()*2-1,Ue=Math.random()*2-1,We=Be*Be+Ue*Ue;while(!We||We>1);return Z+oe*Be*Math.sqrt(-2*Math.log(We)/We)}},logNormal:function(){var Z=e.random.normal.apply(e,arguments);return function(){return Math.exp(Z())}},bates:function(Z){var oe=e.random.irwinHall(Z);return function(){return oe()/Z}},irwinHall:function(Z){return function(){for(var oe=0,we=0;we<Z;we++)oe+=Math.random();return oe}}},e.scale={};function Fi(Z){var oe=Z[0],we=Z[Z.length-1];return oe<we?[oe,we]:[we,oe]}function Xi(Z){return Z.rangeExtent?Z.rangeExtent():Fi(Z.range())}function hn(Z,oe,we,Be){var Ue=we(Z[0],Z[1]),We=Be(oe[0],oe[1]);return function(wt){return We(Ue(wt))}}function Ti(Z,oe){var we=0,Be=Z.length-1,Ue=Z[we],We=Z[Be],wt;return We<Ue&&(wt=we,we=Be,Be=wt,wt=Ue,Ue=We,We=wt),Z[we]=oe.floor(Ue),Z[Be]=oe.ceil(We),Z}function qi(Z){return Z?{floor:function(oe){return Math.floor(oe/Z)*Z},ceil:function(oe){return Math.ceil(oe/Z)*Z}}:Ii}var Ii={floor:H,ceil:H};function mi(Z,oe,we,Be){var Ue=[],We=[],wt=0,tt=Math.min(Z.length,oe.length)-1;for(Z[tt]<Z[0]&&(Z=Z.slice().reverse(),oe=oe.slice().reverse());++wt<=tt;)Ue.push(we(Z[wt-1],Z[wt])),We.push(Be(oe[wt-1],oe[wt]));return function(zt){var or=e.bisect(Z,zt,1,tt)-1;return We[or](Ue[or](zt))}}e.scale.linear=function(){return Pn([0,1],[0,1],Sl,!1)};function Pn(Z,oe,we,Be){var Ue,We;function wt(){var zt=Math.min(Z.length,oe.length)>2?mi:hn,or=Be?Lu:pd;return Ue=zt(Z,oe,or,we),We=zt(oe,Z,or,Sl),tt}function tt(zt){return Ue(zt)}return tt.invert=function(zt){return We(zt)},tt.domain=function(zt){return arguments.length?(Z=zt.map(Number),wt()):Z},tt.range=function(zt){return arguments.length?(oe=zt,wt()):oe},tt.rangeRound=function(zt){return tt.range(zt).interpolate(rc)},tt.clamp=function(zt){return arguments.length?(Be=zt,wt()):Be},tt.interpolate=function(zt){return arguments.length?(we=zt,wt()):we},tt.ticks=function(zt){return qa(Z,zt)},tt.tickFormat=function(zt,or){return d3_scale_linearTickFormat(Z,zt,or)},tt.nice=function(zt){return Ta(Z,zt),wt()},tt.copy=function(){return Pn(Z,oe,we,Be)},wt()}function Ma(Z,oe){return e.rebind(Z,oe,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function Ta(Z,oe){return Ti(Z,qi(Ea(Z,oe)[2])),Ti(Z,qi(Ea(Z,oe)[2])),Z}function Ea(Z,oe){oe==null&&(oe=10);var we=Fi(Z),Be=we[1]-we[0],Ue=Math.pow(10,Math.floor(Math.log(Be/oe)/Math.LN10)),We=oe/Be*Ue;return We<=.15?Ue*=10:We<=.35?Ue*=5:We<=.75&&(Ue*=2),we[0]=Math.ceil(we[0]/Ue)*Ue,we[1]=Math.floor(we[1]/Ue)*Ue+Ue*.5,we[2]=Ue,we}function qa(Z,oe){return e.range.apply(e,Ea(Z,oe))}var Cn={s:1,g:1,p:1,r:1,e:1};function sn(Z){return-Math.floor(Math.log(Z)/Math.LN10+.01)}function Ua(Z,oe){var we=sn(oe[2]);return Z in Cn?Math.abs(we-sn(Math.max(p(oe[0]),p(oe[1]))))+ +(Z!==\"e\"):we-(Z===\"%\")*2}e.scale.log=function(){return mo(e.scale.linear().domain([0,1]),10,!0,[1,10])};function mo(Z,oe,we,Be){function Ue(tt){return(we?Math.log(tt<0?0:tt):-Math.log(tt>0?0:-tt))/Math.log(oe)}function We(tt){return we?Math.pow(oe,tt):-Math.pow(oe,-tt)}function wt(tt){return Z(Ue(tt))}return wt.invert=function(tt){return We(Z.invert(tt))},wt.domain=function(tt){return arguments.length?(we=tt[0]>=0,Z.domain((Be=tt.map(Number)).map(Ue)),wt):Be},wt.base=function(tt){return arguments.length?(oe=+tt,Z.domain(Be.map(Ue)),wt):oe},wt.nice=function(){var tt=Ti(Be.map(Ue),we?Math:Xo);return Z.domain(tt),Be=tt.map(We),wt},wt.ticks=function(){var tt=Fi(Be),zt=[],or=tt[0],lr=tt[1],Dr=Math.floor(Ue(or)),Ir=Math.ceil(Ue(lr)),oi=oe%1?2:oe;if(isFinite(Ir-Dr)){if(we){for(;Dr<Ir;Dr++)for(var ui=1;ui<oi;ui++)zt.push(We(Dr)*ui);zt.push(We(Dr))}else for(zt.push(We(Dr));Dr++<Ir;)for(var ui=oi-1;ui>0;ui--)zt.push(We(Dr)*ui);for(Dr=0;zt[Dr]<or;Dr++);for(Ir=zt.length;zt[Ir-1]>lr;Ir--);zt=zt.slice(Dr,Ir)}return zt},wt.copy=function(){return mo(Z.copy(),oe,we,Be)},Ma(wt,Z)}var Xo={floor:function(Z){return-Math.ceil(-Z)},ceil:function(Z){return-Math.floor(-Z)}};e.scale.pow=function(){return Ts(e.scale.linear(),1,[0,1])};function Ts(Z,oe,we){var Be=Qo(oe),Ue=Qo(1/oe);function We(wt){return Z(Be(wt))}return We.invert=function(wt){return Ue(Z.invert(wt))},We.domain=function(wt){return arguments.length?(Z.domain((we=wt.map(Number)).map(Be)),We):we},We.ticks=function(wt){return qa(we,wt)},We.tickFormat=function(wt,tt){return d3_scale_linearTickFormat(we,wt,tt)},We.nice=function(wt){return We.domain(Ta(we,wt))},We.exponent=function(wt){return arguments.length?(Be=Qo(oe=wt),Ue=Qo(1/oe),Z.domain(we.map(Be)),We):oe},We.copy=function(){return Ts(Z.copy(),oe,we)},Ma(We,Z)}function Qo(Z){return function(oe){return oe<0?-Math.pow(-oe,Z):Math.pow(oe,Z)}}e.scale.sqrt=function(){return e.scale.pow().exponent(.5)},e.scale.ordinal=function(){return ys([],{t:\"range\",a:[[]]})};function ys(Z,oe){var we,Be,Ue;function We(tt){return Be[((we.get(tt)||(oe.t===\"range\"?we.set(tt,Z.push(tt)):NaN))-1)%Be.length]}function wt(tt,zt){return e.range(Z.length).map(function(or){return tt+zt*or})}return We.domain=function(tt){if(!arguments.length)return Z;Z=[],we=new A;for(var zt=-1,or=tt.length,lr;++zt<or;)we.has(lr=tt[zt])||we.set(lr,Z.push(lr));return We[oe.t].apply(We,oe.a)},We.range=function(tt){return arguments.length?(Be=tt,Ue=0,oe={t:\"range\",a:arguments},We):Be},We.rangePoints=function(tt,zt){arguments.length<2&&(zt=0);var or=tt[0],lr=tt[1],Dr=Z.length<2?(or=(or+lr)/2,0):(lr-or)/(Z.length-1+zt);return Be=wt(or+Dr*zt/2,Dr),Ue=0,oe={t:\"rangePoints\",a:arguments},We},We.rangeRoundPoints=function(tt,zt){arguments.length<2&&(zt=0);var or=tt[0],lr=tt[1],Dr=Z.length<2?(or=lr=Math.round((or+lr)/2),0):(lr-or)/(Z.length-1+zt)|0;return Be=wt(or+Math.round(Dr*zt/2+(lr-or-(Z.length-1+zt)*Dr)/2),Dr),Ue=0,oe={t:\"rangeRoundPoints\",a:arguments},We},We.rangeBands=function(tt,zt,or){arguments.length<2&&(zt=0),arguments.length<3&&(or=zt);var lr=tt[1]<tt[0],Dr=tt[lr-0],Ir=tt[1-lr],oi=(Ir-Dr)/(Z.length-zt+2*or);return Be=wt(Dr+oi*or,oi),lr&&Be.reverse(),Ue=oi*(1-zt),oe={t:\"rangeBands\",a:arguments},We},We.rangeRoundBands=function(tt,zt,or){arguments.length<2&&(zt=0),arguments.length<3&&(or=zt);var lr=tt[1]<tt[0],Dr=tt[lr-0],Ir=tt[1-lr],oi=Math.floor((Ir-Dr)/(Z.length-zt+2*or));return Be=wt(Dr+Math.round((Ir-Dr-(Z.length-zt)*oi)/2),oi),lr&&Be.reverse(),Ue=Math.round(oi*(1-zt)),oe={t:\"rangeRoundBands\",a:arguments},We},We.rangeBand=function(){return Ue},We.rangeExtent=function(){return Fi(oe.a[0])},We.copy=function(){return ys(Z,oe)},We.domain(Z)}e.scale.category10=function(){return e.scale.ordinal().range(Bo)},e.scale.category20=function(){return e.scale.ordinal().range(yl)},e.scale.category20b=function(){return e.scale.ordinal().range(Gs)},e.scale.category20c=function(){return e.scale.ordinal().range(Rs)};var Bo=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(jo),yl=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(jo),Gs=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(jo),Rs=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(jo);e.scale.quantile=function(){return ia([],[])};function ia(Z,oe){var we;function Be(){var We=0,wt=oe.length;for(we=[];++We<wt;)we[We-1]=e.quantile(Z,We/wt);return Ue}function Ue(We){if(!isNaN(We=+We))return oe[e.bisect(we,We)]}return Ue.domain=function(We){return arguments.length?(Z=We.map(h).filter(d).sort(f),Be()):Z},Ue.range=function(We){return arguments.length?(oe=We,Be()):oe},Ue.quantiles=function(){return we},Ue.invertExtent=function(We){return We=oe.indexOf(We),We<0?[NaN,NaN]:[We>0?we[We-1]:Z[0],We<we.length?we[We]:Z[Z.length-1]]},Ue.copy=function(){return ia(Z,oe)},Be()}e.scale.quantize=function(){return Ka(0,1,[0,1])};function Ka(Z,oe,we){var Be,Ue;function We(tt){return we[Math.max(0,Math.min(Ue,Math.floor(Be*(tt-Z))))]}function wt(){return Be=we.length/(oe-Z),Ue=we.length-1,We}return We.domain=function(tt){return arguments.length?(Z=+tt[0],oe=+tt[tt.length-1],wt()):[Z,oe]},We.range=function(tt){return arguments.length?(we=tt,wt()):we},We.invertExtent=function(tt){return tt=we.indexOf(tt),tt=tt<0?NaN:tt/Be+Z,[tt,tt+1/Be]},We.copy=function(){return Ka(Z,oe,we)},wt()}e.scale.threshold=function(){return vs([.5],[0,1])};function vs(Z,oe){function we(Be){if(Be<=Be)return oe[e.bisect(Z,Be)]}return we.domain=function(Be){return arguments.length?(Z=Be,we):Z},we.range=function(Be){return arguments.length?(oe=Be,we):oe},we.invertExtent=function(Be){return Be=oe.indexOf(Be),[Z[Be-1],Z[Be]]},we.copy=function(){return vs(Z,oe)},we}e.scale.identity=function(){return Ko([0,1])};function Ko(Z){function oe(we){return+we}return oe.invert=oe,oe.domain=oe.range=function(we){return arguments.length?(Z=we.map(oe),oe):Z},oe.ticks=function(we){return qa(Z,we)},oe.tickFormat=function(we,Be){return d3_scale_linearTickFormat(Z,we,Be)},oe.copy=function(){return Ko(Z)},oe}e.svg={};function nu(){return 0}e.svg.arc=function(){var Z=ac,oe=mf,we=nu,Be=Ru,Ue=bu,We=Kc,wt=Du;function tt(){var or=Math.max(0,+Z.apply(this,arguments)),lr=Math.max(0,+oe.apply(this,arguments)),Dr=Ue.apply(this,arguments)-xe,Ir=We.apply(this,arguments)-xe,oi=Math.abs(Ir-Dr),ui=Dr>Ir?0:1;if(lr<or&&(qr=lr,lr=or,or=qr),oi>=Le)return zt(lr,ui)+(or?zt(or,1-ui):\"\")+\"Z\";var qr,Kr,ii,vi,ci=0,Jr=0,un,dn,En,Nn,ga,ya,so,wa,io=[];if((vi=(+wt.apply(this,arguments)||0)/2)&&(ii=Be===Ru?Math.sqrt(or*or+lr*lr):+Be.apply(this,arguments),ui||(Jr*=-1),lr&&(Jr=Qr(ii/lr*Math.sin(vi))),or&&(ci=Qr(ii/or*Math.sin(vi)))),lr){un=lr*Math.cos(Dr+Jr),dn=lr*Math.sin(Dr+Jr),En=lr*Math.cos(Ir-Jr),Nn=lr*Math.sin(Ir-Jr);var Ss=Math.abs(Ir-Dr-2*Jr)<=Xe?0:1;if(Jr&&Dc(un,dn,En,Nn)===ui^Ss){var _s=(Dr+Ir)/2;un=lr*Math.cos(_s),dn=lr*Math.sin(_s),En=Nn=null}}else un=dn=0;if(or){ga=or*Math.cos(Ir-ci),ya=or*Math.sin(Ir-ci),so=or*Math.cos(Dr+ci),wa=or*Math.sin(Dr+ci);var Ns=Math.abs(Dr-Ir+2*ci)<=Xe?0:1;if(ci&&Dc(ga,ya,so,wa)===1-ui^Ns){var pn=(Dr+Ir)/2;ga=or*Math.cos(pn),ya=or*Math.sin(pn),so=wa=null}}else ga=ya=0;if(oi>Ye&&(qr=Math.min(Math.abs(lr-or)/2,+we.apply(this,arguments)))>.001){Kr=or<lr^ui?0:1;var za=qr,Lo=qr;if(oi<Xe){var Fo=so==null?[ga,ya]:En==null?[un,dn]:cl([un,dn],[so,wa],[En,Nn],[ga,ya]),js=un-Fo[0],xl=dn-Fo[1],fu=En-Fo[0],dl=Nn-Fo[1],xc=1/Math.sin(Math.acos((js*fu+xl*dl)/(Math.sqrt(js*js+xl*xl)*Math.sqrt(fu*fu+dl*dl)))/2),At=Math.sqrt(Fo[0]*Fo[0]+Fo[1]*Fo[1]);Lo=Math.min(qr,(or-At)/(xc-1)),za=Math.min(qr,(lr-At)/(xc+1))}if(En!=null){var Er=Da(so==null?[ga,ya]:[so,wa],[un,dn],lr,za,ui),Wr=Da([En,Nn],[ga,ya],lr,za,ui);qr===za?io.push(\"M\",Er[0],\"A\",za,\",\",za,\" 0 0,\",Kr,\" \",Er[1],\"A\",lr,\",\",lr,\" 0 \",1-ui^Dc(Er[1][0],Er[1][1],Wr[1][0],Wr[1][1]),\",\",ui,\" \",Wr[1],\"A\",za,\",\",za,\" 0 0,\",Kr,\" \",Wr[0]):io.push(\"M\",Er[0],\"A\",za,\",\",za,\" 0 1,\",Kr,\" \",Wr[0])}else io.push(\"M\",un,\",\",dn);if(so!=null){var wi=Da([un,dn],[so,wa],or,-Lo,ui),Ui=Da([ga,ya],En==null?[un,dn]:[En,Nn],or,-Lo,ui);qr===Lo?io.push(\"L\",Ui[0],\"A\",Lo,\",\",Lo,\" 0 0,\",Kr,\" \",Ui[1],\"A\",or,\",\",or,\" 0 \",ui^Dc(Ui[1][0],Ui[1][1],wi[1][0],wi[1][1]),\",\",1-ui,\" \",wi[1],\"A\",Lo,\",\",Lo,\" 0 0,\",Kr,\" \",wi[0]):io.push(\"L\",Ui[0],\"A\",Lo,\",\",Lo,\" 0 0,\",Kr,\" \",wi[0])}else io.push(\"L\",ga,\",\",ya)}else io.push(\"M\",un,\",\",dn),En!=null&&io.push(\"A\",lr,\",\",lr,\" 0 \",Ss,\",\",ui,\" \",En,\",\",Nn),io.push(\"L\",ga,\",\",ya),so!=null&&io.push(\"A\",or,\",\",or,\" 0 \",Ns,\",\",1-ui,\" \",so,\",\",wa);return io.push(\"Z\"),io.join(\"\")}function zt(or,lr){return\"M0,\"+or+\"A\"+or+\",\"+or+\" 0 1,\"+lr+\" 0,\"+-or+\"A\"+or+\",\"+or+\" 0 1,\"+lr+\" 0,\"+or}return tt.innerRadius=function(or){return arguments.length?(Z=ti(or),tt):Z},tt.outerRadius=function(or){return arguments.length?(oe=ti(or),tt):oe},tt.cornerRadius=function(or){return arguments.length?(we=ti(or),tt):we},tt.padRadius=function(or){return arguments.length?(Be=or==Ru?Ru:ti(or),tt):Be},tt.startAngle=function(or){return arguments.length?(Ue=ti(or),tt):Ue},tt.endAngle=function(or){return arguments.length?(We=ti(or),tt):We},tt.padAngle=function(or){return arguments.length?(wt=ti(or),tt):wt},tt.centroid=function(){var or=(+Z.apply(this,arguments)+ +oe.apply(this,arguments))/2,lr=(+Ue.apply(this,arguments)+ +We.apply(this,arguments))/2-xe;return[Math.cos(lr)*or,Math.sin(lr)*or]},tt};var Ru=\"auto\";function ac(Z){return Z.innerRadius}function mf(Z){return Z.outerRadius}function bu(Z){return Z.startAngle}function Kc(Z){return Z.endAngle}function Du(Z){return Z&&Z.padAngle}function Dc(Z,oe,we,Be){return(Z-we)*oe-(oe-Be)*Z>0?0:1}function Da(Z,oe,we,Be,Ue){var We=Z[0]-oe[0],wt=Z[1]-oe[1],tt=(Ue?Be:-Be)/Math.sqrt(We*We+wt*wt),zt=tt*wt,or=-tt*We,lr=Z[0]+zt,Dr=Z[1]+or,Ir=oe[0]+zt,oi=oe[1]+or,ui=(lr+Ir)/2,qr=(Dr+oi)/2,Kr=Ir-lr,ii=oi-Dr,vi=Kr*Kr+ii*ii,ci=we-Be,Jr=lr*oi-Ir*Dr,un=(ii<0?-1:1)*Math.sqrt(Math.max(0,ci*ci*vi-Jr*Jr)),dn=(Jr*ii-Kr*un)/vi,En=(-Jr*Kr-ii*un)/vi,Nn=(Jr*ii+Kr*un)/vi,ga=(-Jr*Kr+ii*un)/vi,ya=dn-ui,so=En-qr,wa=Nn-ui,io=ga-qr;return ya*ya+so*so>wa*wa+io*io&&(dn=Nn,En=ga),[[dn-zt,En-or],[dn*we/ci,En*we/ci]]}function eo(){return!0}function Jc(Z){var oe=zs,we=ks,Be=eo,Ue=_c,We=Ue.key,wt=.7;function tt(zt){var or=[],lr=[],Dr=-1,Ir=zt.length,oi,ui=ti(oe),qr=ti(we);function Kr(){or.push(\"M\",Ue(Z(lr),wt))}for(;++Dr<Ir;)Be.call(this,oi=zt[Dr],Dr)?lr.push([+ui.call(this,oi,Dr),+qr.call(this,oi,Dr)]):lr.length&&(Kr(),lr=[]);return lr.length&&Kr(),or.length?or.join(\"\"):null}return tt.x=function(zt){return arguments.length?(oe=zt,tt):oe},tt.y=function(zt){return arguments.length?(we=zt,tt):we},tt.defined=function(zt){return arguments.length?(Be=zt,tt):Be},tt.interpolate=function(zt){return arguments.length?(typeof zt==\"function\"?We=Ue=zt:We=(Ue=yc.get(zt)||_c).key,tt):We},tt.tension=function(zt){return arguments.length?(wt=zt,tt):wt},tt}e.svg.line=function(){return Jc(H)};var yc=e.map({linear:_c,\"linear-closed\":le,step:w,\"step-before\":B,\"step-after\":Q,basis:yt,\"basis-open\":Ot,\"basis-closed\":Nt,bundle:hr,cardinal:qe,\"cardinal-open\":ee,\"cardinal-closed\":se,monotone:Mt});yc.forEach(function(Z,oe){oe.key=Z,oe.closed=/-closed$/.test(Z)});function _c(Z){return Z.length>1?Z.join(\"L\"):Z+\"Z\"}function le(Z){return Z.join(\"L\")+\"Z\"}function w(Z){for(var oe=0,we=Z.length,Be=Z[0],Ue=[Be[0],\",\",Be[1]];++oe<we;)Ue.push(\"H\",(Be[0]+(Be=Z[oe])[0])/2,\"V\",Be[1]);return we>1&&Ue.push(\"H\",Be[0]),Ue.join(\"\")}function B(Z){for(var oe=0,we=Z.length,Be=Z[0],Ue=[Be[0],\",\",Be[1]];++oe<we;)Ue.push(\"V\",(Be=Z[oe])[1],\"H\",Be[0]);return Ue.join(\"\")}function Q(Z){for(var oe=0,we=Z.length,Be=Z[0],Ue=[Be[0],\",\",Be[1]];++oe<we;)Ue.push(\"H\",(Be=Z[oe])[0],\"V\",Be[1]);return Ue.join(\"\")}function ee(Z,oe){return Z.length<4?_c(Z):Z[1]+je(Z.slice(1,-1),it(Z,oe))}function se(Z,oe){return Z.length<3?le(Z):Z[0]+je((Z.push(Z[0]),Z),it([Z[Z.length-2]].concat(Z,[Z[1]]),oe))}function qe(Z,oe){return Z.length<3?_c(Z):Z[0]+je(Z,it(Z,oe))}function je(Z,oe){if(oe.length<1||Z.length!=oe.length&&Z.length!=oe.length+2)return _c(Z);var we=Z.length!=oe.length,Be=\"\",Ue=Z[0],We=Z[1],wt=oe[0],tt=wt,zt=1;if(we&&(Be+=\"Q\"+(We[0]-wt[0]*2/3)+\",\"+(We[1]-wt[1]*2/3)+\",\"+We[0]+\",\"+We[1],Ue=Z[1],zt=2),oe.length>1){tt=oe[1],We=Z[zt],zt++,Be+=\"C\"+(Ue[0]+wt[0])+\",\"+(Ue[1]+wt[1])+\",\"+(We[0]-tt[0])+\",\"+(We[1]-tt[1])+\",\"+We[0]+\",\"+We[1];for(var or=2;or<oe.length;or++,zt++)We=Z[zt],tt=oe[or],Be+=\"S\"+(We[0]-tt[0])+\",\"+(We[1]-tt[1])+\",\"+We[0]+\",\"+We[1]}if(we){var lr=Z[zt];Be+=\"Q\"+(We[0]+tt[0]*2/3)+\",\"+(We[1]+tt[1]*2/3)+\",\"+lr[0]+\",\"+lr[1]}return Be}function it(Z,oe){for(var we=[],Be=(1-oe)/2,Ue,We=Z[0],wt=Z[1],tt=1,zt=Z.length;++tt<zt;)Ue=We,We=wt,wt=Z[tt],we.push([Be*(wt[0]-Ue[0]),Be*(wt[1]-Ue[1])]);return we}function yt(Z){if(Z.length<3)return _c(Z);var oe=1,we=Z.length,Be=Z[0],Ue=Be[0],We=Be[1],wt=[Ue,Ue,Ue,(Be=Z[1])[0]],tt=[We,We,We,Be[1]],zt=[Ue,\",\",We,\"L\",Sr(Pe,wt),\",\",Sr(Pe,tt)];for(Z.push(Z[we-1]);++oe<=we;)Be=Z[oe],wt.shift(),wt.push(Be[0]),tt.shift(),tt.push(Be[1]),Oe(zt,wt,tt);return Z.pop(),zt.push(\"L\",Be),zt.join(\"\")}function Ot(Z){if(Z.length<4)return _c(Z);for(var oe=[],we=-1,Be=Z.length,Ue,We=[0],wt=[0];++we<3;)Ue=Z[we],We.push(Ue[0]),wt.push(Ue[1]);for(oe.push(Sr(Pe,We)+\",\"+Sr(Pe,wt)),--we;++we<Be;)Ue=Z[we],We.shift(),We.push(Ue[0]),wt.shift(),wt.push(Ue[1]),Oe(oe,We,wt);return oe.join(\"\")}function Nt(Z){for(var oe,we=-1,Be=Z.length,Ue=Be+4,We,wt=[],tt=[];++we<4;)We=Z[we%Be],wt.push(We[0]),tt.push(We[1]);for(oe=[Sr(Pe,wt),\",\",Sr(Pe,tt)],--we;++we<Ue;)We=Z[we%Be],wt.shift(),wt.push(We[0]),tt.shift(),tt.push(We[1]),Oe(oe,wt,tt);return oe.join(\"\")}function hr(Z,oe){var we=Z.length-1;if(we)for(var Be=Z[0][0],Ue=Z[0][1],We=Z[we][0]-Be,wt=Z[we][1]-Ue,tt=-1,zt,or;++tt<=we;)zt=Z[tt],or=tt/we,zt[0]=oe*zt[0]+(1-oe)*(Be+or*We),zt[1]=oe*zt[1]+(1-oe)*(Ue+or*wt);return yt(Z)}function Sr(Z,oe){return Z[0]*oe[0]+Z[1]*oe[1]+Z[2]*oe[2]+Z[3]*oe[3]}var he=[0,2/3,1/3,0],be=[0,1/3,2/3,0],Pe=[0,1/6,2/3,1/6];function Oe(Z,oe,we){Z.push(\"C\",Sr(he,oe),\",\",Sr(he,we),\",\",Sr(be,oe),\",\",Sr(be,we),\",\",Sr(Pe,oe),\",\",Sr(Pe,we))}function Je(Z,oe){return(oe[1]-Z[1])/(oe[0]-Z[0])}function He(Z){for(var oe=0,we=Z.length-1,Be=[],Ue=Z[0],We=Z[1],wt=Be[0]=Je(Ue,We);++oe<we;)Be[oe]=(wt+(wt=Je(Ue=We,We=Z[oe+1])))/2;return Be[oe]=wt,Be}function et(Z){for(var oe=[],we,Be,Ue,We,wt=He(Z),tt=-1,zt=Z.length-1;++tt<zt;)we=Je(Z[tt],Z[tt+1]),p(we)<Ye?wt[tt]=wt[tt+1]=0:(Be=wt[tt]/we,Ue=wt[tt+1]/we,We=Be*Be+Ue*Ue,We>9&&(We=we*3/Math.sqrt(We),wt[tt]=We*Be,wt[tt+1]=We*Ue));for(tt=-1;++tt<=zt;)We=(Z[Math.min(zt,tt+1)][0]-Z[Math.max(0,tt-1)][0])/(6*(1+wt[tt]*wt[tt])),oe.push([We||0,wt[tt]*We||0]);return oe}function Mt(Z){return Z.length<3?_c(Z):Z[0]+je(Z,et(Z))}e.svg.line.radial=function(){var Z=Jc(Dt);return Z.radius=Z.x,delete Z.x,Z.angle=Z.y,delete Z.y,Z};function Dt(Z){for(var oe,we=-1,Be=Z.length,Ue,We;++we<Be;)oe=Z[we],Ue=oe[0],We=oe[1]-xe,oe[0]=Ue*Math.cos(We),oe[1]=Ue*Math.sin(We);return Z}function Ut(Z){var oe=zs,we=zs,Be=0,Ue=ks,We=eo,wt=_c,tt=wt.key,zt=wt,or=\"L\",lr=.7;function Dr(Ir){var oi=[],ui=[],qr=[],Kr=-1,ii=Ir.length,vi,ci=ti(oe),Jr=ti(Be),un=oe===we?function(){return En}:ti(we),dn=Be===Ue?function(){return Nn}:ti(Ue),En,Nn;function ga(){oi.push(\"M\",wt(Z(qr),lr),or,zt(Z(ui.reverse()),lr),\"Z\")}for(;++Kr<ii;)We.call(this,vi=Ir[Kr],Kr)?(ui.push([En=+ci.call(this,vi,Kr),Nn=+Jr.call(this,vi,Kr)]),qr.push([+un.call(this,vi,Kr),+dn.call(this,vi,Kr)])):ui.length&&(ga(),ui=[],qr=[]);return ui.length&&ga(),oi.length?oi.join(\"\"):null}return Dr.x=function(Ir){return arguments.length?(oe=we=Ir,Dr):we},Dr.x0=function(Ir){return arguments.length?(oe=Ir,Dr):oe},Dr.x1=function(Ir){return arguments.length?(we=Ir,Dr):we},Dr.y=function(Ir){return arguments.length?(Be=Ue=Ir,Dr):Ue},Dr.y0=function(Ir){return arguments.length?(Be=Ir,Dr):Be},Dr.y1=function(Ir){return arguments.length?(Ue=Ir,Dr):Ue},Dr.defined=function(Ir){return arguments.length?(We=Ir,Dr):We},Dr.interpolate=function(Ir){return arguments.length?(typeof Ir==\"function\"?tt=wt=Ir:tt=(wt=yc.get(Ir)||_c).key,zt=wt.reverse||wt,or=wt.closed?\"M\":\"L\",Dr):tt},Dr.tension=function(Ir){return arguments.length?(lr=Ir,Dr):lr},Dr}B.reverse=Q,Q.reverse=B,e.svg.area=function(){return Ut(H)},e.svg.area.radial=function(){var Z=Ut(Dt);return Z.radius=Z.x,delete Z.x,Z.innerRadius=Z.x0,delete Z.x0,Z.outerRadius=Z.x1,delete Z.x1,Z.angle=Z.y,delete Z.y,Z.startAngle=Z.y0,delete Z.y0,Z.endAngle=Z.y1,delete Z.y1,Z};function tr(Z){return Z.source}function mr(Z){return Z.target}e.svg.chord=function(){var Z=tr,oe=mr,we=Rr,Be=bu,Ue=Kc;function We(lr,Dr){var Ir=wt(this,Z,lr,Dr),oi=wt(this,oe,lr,Dr);return\"M\"+Ir.p0+zt(Ir.r,Ir.p1,Ir.a1-Ir.a0)+(tt(Ir,oi)?or(Ir.r,Ir.p1,Ir.r,Ir.p0):or(Ir.r,Ir.p1,oi.r,oi.p0)+zt(oi.r,oi.p1,oi.a1-oi.a0)+or(oi.r,oi.p1,Ir.r,Ir.p0))+\"Z\"}function wt(lr,Dr,Ir,oi){var ui=Dr.call(lr,Ir,oi),qr=we.call(lr,ui,oi),Kr=Be.call(lr,ui,oi)-xe,ii=Ue.call(lr,ui,oi)-xe;return{r:qr,a0:Kr,a1:ii,p0:[qr*Math.cos(Kr),qr*Math.sin(Kr)],p1:[qr*Math.cos(ii),qr*Math.sin(ii)]}}function tt(lr,Dr){return lr.a0==Dr.a0&&lr.a1==Dr.a1}function zt(lr,Dr,Ir){return\"A\"+lr+\",\"+lr+\" 0 \"+ +(Ir>Xe)+\",1 \"+Dr}function or(lr,Dr,Ir,oi){return\"Q 0,0 \"+oi}return We.radius=function(lr){return arguments.length?(we=ti(lr),We):we},We.source=function(lr){return arguments.length?(Z=ti(lr),We):Z},We.target=function(lr){return arguments.length?(oe=ti(lr),We):oe},We.startAngle=function(lr){return arguments.length?(Be=ti(lr),We):Be},We.endAngle=function(lr){return arguments.length?(Ue=ti(lr),We):Ue},We};function Rr(Z){return Z.radius}e.svg.diagonal=function(){var Z=tr,oe=mr,we=zr;function Be(Ue,We){var wt=Z.call(this,Ue,We),tt=oe.call(this,Ue,We),zt=(wt.y+tt.y)/2,or=[wt,{x:wt.x,y:zt},{x:tt.x,y:zt},tt];return or=or.map(we),\"M\"+or[0]+\"C\"+or[1]+\" \"+or[2]+\" \"+or[3]}return Be.source=function(Ue){return arguments.length?(Z=ti(Ue),Be):Z},Be.target=function(Ue){return arguments.length?(oe=ti(Ue),Be):oe},Be.projection=function(Ue){return arguments.length?(we=Ue,Be):we},Be};function zr(Z){return[Z.x,Z.y]}e.svg.diagonal.radial=function(){var Z=e.svg.diagonal(),oe=zr,we=Z.projection;return Z.projection=function(Be){return arguments.length?we(Xr(oe=Be)):oe},Z};function Xr(Z){return function(){var oe=Z.apply(this,arguments),we=oe[0],Be=oe[1]-xe;return[we*Math.cos(Be),we*Math.sin(Be)]}}e.svg.symbol=function(){var Z=Li,oe=di;function we(Be,Ue){return(Qi.get(Z.call(this,Be,Ue))||Ci)(oe.call(this,Be,Ue))}return we.type=function(Be){return arguments.length?(Z=ti(Be),we):Z},we.size=function(Be){return arguments.length?(oe=ti(Be),we):oe},we};function di(){return 64}function Li(){return\"circle\"}function Ci(Z){var oe=Math.sqrt(Z/Xe);return\"M0,\"+oe+\"A\"+oe+\",\"+oe+\" 0 1,1 0,\"+-oe+\"A\"+oe+\",\"+oe+\" 0 1,1 0,\"+oe+\"Z\"}var Qi=e.map({circle:Ci,cross:function(Z){var oe=Math.sqrt(Z/5)/2;return\"M\"+-3*oe+\",\"+-oe+\"H\"+-oe+\"V\"+-3*oe+\"H\"+oe+\"V\"+-oe+\"H\"+3*oe+\"V\"+oe+\"H\"+oe+\"V\"+3*oe+\"H\"+-oe+\"V\"+oe+\"H\"+-3*oe+\"Z\"},diamond:function(Z){var oe=Math.sqrt(Z/(2*pa)),we=oe*pa;return\"M0,\"+-oe+\"L\"+we+\",0 0,\"+oe+\" \"+-we+\",0Z\"},square:function(Z){var oe=Math.sqrt(Z)/2;return\"M\"+-oe+\",\"+-oe+\"L\"+oe+\",\"+-oe+\" \"+oe+\",\"+oe+\" \"+-oe+\",\"+oe+\"Z\"},\"triangle-down\":function(Z){var oe=Math.sqrt(Z/Mn),we=oe*Mn/2;return\"M0,\"+we+\"L\"+oe+\",\"+-we+\" \"+-oe+\",\"+-we+\"Z\"},\"triangle-up\":function(Z){var oe=Math.sqrt(Z/Mn),we=oe*Mn/2;return\"M0,\"+-we+\"L\"+oe+\",\"+we+\" \"+-oe+\",\"+we+\"Z\"}});e.svg.symbolTypes=Qi.keys();var Mn=Math.sqrt(3),pa=Math.tan(30*Se);Ce.transition=function(Z){for(var oe=Ro||++co,we=po(Z),Be=[],Ue,We,wt=Ds||{time:Date.now(),ease:uu,delay:0,duration:250},tt=-1,zt=this.length;++tt<zt;){Be.push(Ue=[]);for(var or=this[tt],lr=-1,Dr=or.length;++lr<Dr;)(We=or[lr])&&_l(We,lr,we,oe,wt),Ue.push(We)}return To(Be,we,oe)},Ce.interrupt=function(Z){return this.each(Z==null?ea:Ga(po(Z)))};var ea=Ga(po());function Ga(Z){return function(){var oe,we,Be;(oe=this[Z])&&(Be=oe[we=oe.active])&&(Be.timer.c=null,Be.timer.t=NaN,--oe.count?delete oe[we]:delete this[Z],oe.active+=.5,Be.event&&Be.event.interrupt.call(this,this.__data__,Be.index))}}function To(Z,oe,we){return ie(Z,Wa),Z.namespace=oe,Z.id=we,Z}var Wa=[],co=0,Ro,Ds;Wa.call=Ce.call,Wa.empty=Ce.empty,Wa.node=Ce.node,Wa.size=Ce.size,e.transition=function(Z,oe){return Z&&Z.transition?Ro?Z.transition(oe):Z:e.selection().transition(Z)},e.transition.prototype=Wa,Wa.select=function(Z){var oe=this.id,we=this.namespace,Be=[],Ue,We,wt;Z=me(Z);for(var tt=-1,zt=this.length;++tt<zt;){Be.push(Ue=[]);for(var or=this[tt],lr=-1,Dr=or.length;++lr<Dr;)(wt=or[lr])&&(We=Z.call(wt,wt.__data__,lr,tt))?(\"__data__\"in wt&&(We.__data__=wt.__data__),_l(We,lr,we,oe,wt[we][oe]),Ue.push(We)):Ue.push(null)}return To(Be,we,oe)},Wa.selectAll=function(Z){var oe=this.id,we=this.namespace,Be=[],Ue,We,wt,tt,zt;Z=Re(Z);for(var or=-1,lr=this.length;++or<lr;)for(var Dr=this[or],Ir=-1,oi=Dr.length;++Ir<oi;)if(wt=Dr[Ir]){zt=wt[we][oe],We=Z.call(wt,wt.__data__,Ir,or),Be.push(Ue=[]);for(var ui=-1,qr=We.length;++ui<qr;)(tt=We[ui])&&_l(tt,ui,we,oe,zt),Ue.push(tt)}return To(Be,we,oe)},Wa.filter=function(Z){var oe=[],we,Be,Ue;typeof Z!=\"function\"&&(Z=Ke(Z));for(var We=0,wt=this.length;We<wt;We++){oe.push(we=[]);for(var Be=this[We],tt=0,zt=Be.length;tt<zt;tt++)(Ue=Be[tt])&&Z.call(Ue,Ue.__data__,tt,We)&&we.push(Ue)}return To(oe,this.namespace,this.id)},Wa.tween=function(Z,oe){var we=this.id,Be=this.namespace;return arguments.length<2?this.node()[Be][we].tween.get(Z):bt(this,oe==null?function(Ue){Ue[Be][we].tween.remove(Z)}:function(Ue){Ue[Be][we].tween.set(Z,oe)})};function As(Z,oe,we,Be){var Ue=Z.id,We=Z.namespace;return bt(Z,typeof we==\"function\"?function(wt,tt,zt){wt[We][Ue].tween.set(oe,Be(we.call(wt,wt.__data__,tt,zt)))}:(we=Be(we),function(wt){wt[We][Ue].tween.set(oe,we)}))}Wa.attr=function(Z,oe){if(arguments.length<2){for(oe in Z)this.attr(oe,Z[oe]);return this}var we=Z==\"transform\"?Cf:Sl,Be=e.ns.qualify(Z);function Ue(){this.removeAttribute(Be)}function We(){this.removeAttributeNS(Be.space,Be.local)}function wt(zt){return zt==null?Ue:(zt+=\"\",function(){var or=this.getAttribute(Be),lr;return or!==zt&&(lr=we(or,zt),function(Dr){this.setAttribute(Be,lr(Dr))})})}function tt(zt){return zt==null?We:(zt+=\"\",function(){var or=this.getAttributeNS(Be.space,Be.local),lr;return or!==zt&&(lr=we(or,zt),function(Dr){this.setAttributeNS(Be.space,Be.local,lr(Dr))})})}return As(this,\"attr.\"+Z,oe,Be.local?tt:wt)},Wa.attrTween=function(Z,oe){var we=e.ns.qualify(Z);function Be(We,wt){var tt=oe.call(this,We,wt,this.getAttribute(we));return tt&&function(zt){this.setAttribute(we,tt(zt))}}function Ue(We,wt){var tt=oe.call(this,We,wt,this.getAttributeNS(we.space,we.local));return tt&&function(zt){this.setAttributeNS(we.space,we.local,tt(zt))}}return this.tween(\"attr.\"+Z,we.local?Ue:Be)},Wa.style=function(Z,oe,we){var Be=arguments.length;if(Be<3){if(typeof Z!=\"string\"){Be<2&&(oe=\"\");for(we in Z)this.style(we,Z[we],oe);return this}we=\"\"}function Ue(){this.style.removeProperty(Z)}function We(wt){return wt==null?Ue:(wt+=\"\",function(){var tt=a(this).getComputedStyle(this,null).getPropertyValue(Z),zt;return tt!==wt&&(zt=Sl(tt,wt),function(or){this.style.setProperty(Z,zt(or),we)})})}return As(this,\"style.\"+Z,oe,We)},Wa.styleTween=function(Z,oe,we){arguments.length<3&&(we=\"\");function Be(Ue,We){var wt=oe.call(this,Ue,We,a(this).getComputedStyle(this,null).getPropertyValue(Z));return wt&&function(tt){this.style.setProperty(Z,wt(tt),we)}}return this.tween(\"style.\"+Z,Be)},Wa.text=function(Z){return As(this,\"text\",Z,yo)};function yo(Z){return Z==null&&(Z=\"\"),function(){this.textContent=Z}}Wa.remove=function(){var Z=this.namespace;return this.each(\"end.transition\",function(){var oe;this[Z].count<2&&(oe=this.parentNode)&&oe.removeChild(this)})},Wa.ease=function(Z){var oe=this.id,we=this.namespace;return arguments.length<1?this.node()[we][oe].ease:(typeof Z!=\"function\"&&(Z=e.ease.apply(e,arguments)),bt(this,function(Be){Be[we][oe].ease=Z}))},Wa.delay=function(Z){var oe=this.id,we=this.namespace;return arguments.length<1?this.node()[we][oe].delay:bt(this,typeof Z==\"function\"?function(Be,Ue,We){Be[we][oe].delay=+Z.call(Be,Be.__data__,Ue,We)}:(Z=+Z,function(Be){Be[we][oe].delay=Z}))},Wa.duration=function(Z){var oe=this.id,we=this.namespace;return arguments.length<1?this.node()[we][oe].duration:bt(this,typeof Z==\"function\"?function(Be,Ue,We){Be[we][oe].duration=Math.max(1,Z.call(Be,Be.__data__,Ue,We))}:(Z=Math.max(1,Z),function(Be){Be[we][oe].duration=Z}))},Wa.each=function(Z,oe){var we=this.id,Be=this.namespace;if(arguments.length<2){var Ue=Ds,We=Ro;try{Ro=we,bt(this,function(wt,tt,zt){Ds=wt[Be][we],Z.call(wt,wt.__data__,tt,zt)})}finally{Ds=Ue,Ro=We}}else bt(this,function(wt){var tt=wt[Be][we];(tt.event||(tt.event=e.dispatch(\"start\",\"end\",\"interrupt\"))).on(Z,oe)});return this},Wa.transition=function(){for(var Z=this.id,oe=++co,we=this.namespace,Be=[],Ue,We,wt,tt,zt=0,or=this.length;zt<or;zt++){Be.push(Ue=[]);for(var We=this[zt],lr=0,Dr=We.length;lr<Dr;lr++)(wt=We[lr])&&(tt=wt[we][Z],_l(wt,lr,we,oe,{time:tt.time,ease:tt.ease,delay:tt.delay+tt.duration,duration:tt.duration})),Ue.push(wt)}return To(Be,we,oe)};function po(Z){return Z==null?\"__transition__\":\"__transition_\"+Z+\"__\"}function _l(Z,oe,we,Be,Ue){var We=Z[we]||(Z[we]={active:0,count:0}),wt=We[Be],tt,zt,or,lr,Dr;function Ir(qr){var Kr=wt.delay;if(zt.t=Kr+tt,Kr<=qr)return oi(qr-Kr);zt.c=oi}function oi(qr){var Kr=We.active,ii=We[Kr];ii&&(ii.timer.c=null,ii.timer.t=NaN,--We.count,delete We[Kr],ii.event&&ii.event.interrupt.call(Z,Z.__data__,ii.index));for(var vi in We)if(+vi<Be){var ci=We[vi];ci.timer.c=null,ci.timer.t=NaN,--We.count,delete We[vi]}zt.c=ui,Oo(function(){return zt.c&&ui(qr||1)&&(zt.c=null,zt.t=NaN),1},0,tt),We.active=Be,wt.event&&wt.event.start.call(Z,Z.__data__,oe),Dr=[],wt.tween.forEach(function(Jr,un){(un=un.call(Z,Z.__data__,oe))&&Dr.push(un)}),lr=wt.ease,or=wt.duration}function ui(qr){for(var Kr=qr/or,ii=lr(Kr),vi=Dr.length;vi>0;)Dr[--vi].call(Z,ii);if(Kr>=1)return wt.event&&wt.event.end.call(Z,Z.__data__,oe),--We.count?delete We[Be]:delete Z[we],1}wt||(tt=Ue.time,zt=Oo(Ir,0,tt),wt=We[Be]={tween:new A,time:tt,timer:zt,delay:Ue.delay,duration:Ue.duration,ease:Ue.ease,index:oe},Ue=null,++We.count)}e.svg.axis=function(){var Z=e.scale.linear(),oe=Hl,we=6,Be=6,Ue=3,We=[10],wt=null,tt;function zt(or){or.each(function(){var lr=e.select(this),Dr=this.__chart__||Z,Ir=this.__chart__=Z.copy(),oi=wt==null?Ir.ticks?Ir.ticks.apply(Ir,We):Ir.domain():wt,ui=tt==null?Ir.tickFormat?Ir.tickFormat.apply(Ir,We):H:tt,qr=lr.selectAll(\".tick\").data(oi,Ir),Kr=qr.enter().insert(\"g\",\".domain\").attr(\"class\",\"tick\").style(\"opacity\",Ye),ii=e.transition(qr.exit()).style(\"opacity\",Ye).remove(),vi=e.transition(qr.order()).style(\"opacity\",1),ci=Math.max(we,0)+Ue,Jr,un=Xi(Ir),dn=lr.selectAll(\".domain\").data([0]),En=(dn.enter().append(\"path\").attr(\"class\",\"domain\"),e.transition(dn));Kr.append(\"line\"),Kr.append(\"text\");var Nn=Kr.select(\"line\"),ga=vi.select(\"line\"),ya=qr.select(\"text\").text(ui),so=Kr.select(\"text\"),wa=vi.select(\"text\"),io=oe===\"top\"||oe===\"left\"?-1:1,Ss,_s,Ns,pn;if(oe===\"bottom\"||oe===\"top\"?(Jr=cu,Ss=\"x\",Ns=\"y\",_s=\"x2\",pn=\"y2\",ya.attr(\"dy\",io<0?\"0em\":\".71em\").style(\"text-anchor\",\"middle\"),En.attr(\"d\",\"M\"+un[0]+\",\"+io*Be+\"V0H\"+un[1]+\"V\"+io*Be)):(Jr=el,Ss=\"y\",Ns=\"x\",_s=\"y2\",pn=\"x2\",ya.attr(\"dy\",\".32em\").style(\"text-anchor\",io<0?\"end\":\"start\"),En.attr(\"d\",\"M\"+io*Be+\",\"+un[0]+\"H0V\"+un[1]+\"H\"+io*Be)),Nn.attr(pn,io*we),so.attr(Ns,io*ci),ga.attr(_s,0).attr(pn,io*we),wa.attr(Ss,0).attr(Ns,io*ci),Ir.rangeBand){var za=Ir,Lo=za.rangeBand()/2;Dr=Ir=function(Fo){return za(Fo)+Lo}}else Dr.rangeBand?Dr=Ir:ii.call(Jr,Ir,Dr);Kr.call(Jr,Dr,Ir),vi.call(Jr,Ir,Ir)})}return zt.scale=function(or){return arguments.length?(Z=or,zt):Z},zt.orient=function(or){return arguments.length?(oe=or in Zu?or+\"\":Hl,zt):oe},zt.ticks=function(){return arguments.length?(We=r(arguments),zt):We},zt.tickValues=function(or){return arguments.length?(wt=or,zt):wt},zt.tickFormat=function(or){return arguments.length?(tt=or,zt):tt},zt.tickSize=function(or){var lr=arguments.length;return lr?(we=+or,Be=+arguments[lr-1],zt):we},zt.innerTickSize=function(or){return arguments.length?(we=+or,zt):we},zt.outerTickSize=function(or){return arguments.length?(Be=+or,zt):Be},zt.tickPadding=function(or){return arguments.length?(Ue=+or,zt):Ue},zt.tickSubdivide=function(){return arguments.length&&zt},zt};var Hl=\"bottom\",Zu={top:1,right:1,bottom:1,left:1};function cu(Z,oe,we){Z.attr(\"transform\",function(Be){var Ue=oe(Be);return\"translate(\"+(isFinite(Ue)?Ue:we(Be))+\",0)\"})}function el(Z,oe,we){Z.attr(\"transform\",function(Be){var Ue=oe(Be);return\"translate(0,\"+(isFinite(Ue)?Ue:we(Be))+\")\"})}e.svg.brush=function(){var Z=ke(lr,\"brushstart\",\"brush\",\"brushend\"),oe=null,we=null,Be=[0,0],Ue=[0,0],We,wt,tt=!0,zt=!0,or=zc[0];function lr(qr){qr.each(function(){var Kr=e.select(this).style(\"pointer-events\",\"all\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\").on(\"mousedown.brush\",ui).on(\"touchstart.brush\",ui),ii=Kr.selectAll(\".background\").data([0]);ii.enter().append(\"rect\").attr(\"class\",\"background\").style(\"visibility\",\"hidden\").style(\"cursor\",\"crosshair\"),Kr.selectAll(\".extent\").data([0]).enter().append(\"rect\").attr(\"class\",\"extent\").style(\"cursor\",\"move\");var vi=Kr.selectAll(\".resize\").data(or,H);vi.exit().remove(),vi.enter().append(\"g\").attr(\"class\",function(dn){return\"resize \"+dn}).style(\"cursor\",function(dn){return au[dn]}).append(\"rect\").attr(\"x\",function(dn){return/[ew]$/.test(dn)?-3:null}).attr(\"y\",function(dn){return/^[ns]/.test(dn)?-3:null}).attr(\"width\",6).attr(\"height\",6).style(\"visibility\",\"hidden\"),vi.style(\"display\",lr.empty()?\"none\":null);var ci=e.transition(Kr),Jr=e.transition(ii),un;oe&&(un=Xi(oe),Jr.attr(\"x\",un[0]).attr(\"width\",un[1]-un[0]),Ir(ci)),we&&(un=Xi(we),Jr.attr(\"y\",un[0]).attr(\"height\",un[1]-un[0]),oi(ci)),Dr(ci)})}lr.event=function(qr){qr.each(function(){var Kr=Z.of(this,arguments),ii={x:Be,y:Ue,i:We,j:wt},vi=this.__chart__||ii;this.__chart__=ii,Ro?e.select(this).transition().each(\"start.brush\",function(){We=vi.i,wt=vi.j,Be=vi.x,Ue=vi.y,Kr({type:\"brushstart\"})}).tween(\"brush:brush\",function(){var ci=ec(Be,ii.x),Jr=ec(Ue,ii.y);return We=wt=null,function(un){Be=ii.x=ci(un),Ue=ii.y=Jr(un),Kr({type:\"brush\",mode:\"resize\"})}}).each(\"end.brush\",function(){We=ii.i,wt=ii.j,Kr({type:\"brush\",mode:\"resize\"}),Kr({type:\"brushend\"})}):(Kr({type:\"brushstart\"}),Kr({type:\"brush\",mode:\"resize\"}),Kr({type:\"brushend\"}))})};function Dr(qr){qr.selectAll(\".resize\").attr(\"transform\",function(Kr){return\"translate(\"+Be[+/e$/.test(Kr)]+\",\"+Ue[+/^s/.test(Kr)]+\")\"})}function Ir(qr){qr.select(\".extent\").attr(\"x\",Be[0]),qr.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\",Be[1]-Be[0])}function oi(qr){qr.select(\".extent\").attr(\"y\",Ue[0]),qr.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",Ue[1]-Ue[0])}function ui(){var qr=this,Kr=e.select(e.event.target),ii=Z.of(qr,arguments),vi=e.select(qr),ci=Kr.datum(),Jr=!/^(n|s)$/.test(ci)&&oe,un=!/^(e|w)$/.test(ci)&&we,dn=Kr.classed(\"extent\"),En=Or(qr),Nn,ga=e.mouse(qr),ya,so=e.select(a(qr)).on(\"keydown.brush\",Ss).on(\"keyup.brush\",_s);if(e.event.changedTouches?so.on(\"touchmove.brush\",Ns).on(\"touchend.brush\",za):so.on(\"mousemove.brush\",Ns).on(\"mouseup.brush\",za),vi.interrupt().selectAll(\"*\").interrupt(),dn)ga[0]=Be[0]-ga[0],ga[1]=Ue[0]-ga[1];else if(ci){var wa=+/w$/.test(ci),io=+/^n/.test(ci);ya=[Be[1-wa]-ga[0],Ue[1-io]-ga[1]],ga[0]=Be[wa],ga[1]=Ue[io]}else e.event.altKey&&(Nn=ga.slice());vi.style(\"pointer-events\",\"none\").selectAll(\".resize\").style(\"display\",null),e.select(\"body\").style(\"cursor\",Kr.style(\"cursor\")),ii({type:\"brushstart\"}),Ns();function Ss(){e.event.keyCode==32&&(dn||(Nn=null,ga[0]-=Be[1],ga[1]-=Ue[1],dn=2),_e())}function _s(){e.event.keyCode==32&&dn==2&&(ga[0]+=Be[1],ga[1]+=Ue[1],dn=0,_e())}function Ns(){var Lo=e.mouse(qr),Fo=!1;ya&&(Lo[0]+=ya[0],Lo[1]+=ya[1]),dn||(e.event.altKey?(Nn||(Nn=[(Be[0]+Be[1])/2,(Ue[0]+Ue[1])/2]),ga[0]=Be[+(Lo[0]<Nn[0])],ga[1]=Ue[+(Lo[1]<Nn[1])]):Nn=null),Jr&&pn(Lo,oe,0)&&(Ir(vi),Fo=!0),un&&pn(Lo,we,1)&&(oi(vi),Fo=!0),Fo&&(Dr(vi),ii({type:\"brush\",mode:dn?\"move\":\"resize\"}))}function pn(Lo,Fo,js){var xl=Xi(Fo),fu=xl[0],dl=xl[1],xc=ga[js],At=js?Ue:Be,Er=At[1]-At[0],Wr,wi;if(dn&&(fu-=xc,dl-=Er+xc),Wr=(js?zt:tt)?Math.max(fu,Math.min(dl,Lo[js])):Lo[js],dn?wi=(Wr+=xc)+Er:(Nn&&(xc=Math.max(fu,Math.min(dl,2*Nn[js]-Wr))),xc<Wr?(wi=Wr,Wr=xc):wi=xc),At[0]!=Wr||At[1]!=wi)return js?wt=null:We=null,At[0]=Wr,At[1]=wi,!0}function za(){Ns(),vi.style(\"pointer-events\",\"all\").selectAll(\".resize\").style(\"display\",lr.empty()?\"none\":null),e.select(\"body\").style(\"cursor\",null),so.on(\"mousemove.brush\",null).on(\"mouseup.brush\",null).on(\"touchmove.brush\",null).on(\"touchend.brush\",null).on(\"keydown.brush\",null).on(\"keyup.brush\",null),En(),ii({type:\"brushend\"})}}return lr.x=function(qr){return arguments.length?(oe=qr,or=zc[!oe<<1|!we],lr):oe},lr.y=function(qr){return arguments.length?(we=qr,or=zc[!oe<<1|!we],lr):we},lr.clamp=function(qr){return arguments.length?(oe&&we?(tt=!!qr[0],zt=!!qr[1]):oe?tt=!!qr:we&&(zt=!!qr),lr):oe&&we?[tt,zt]:oe?tt:we?zt:null},lr.extent=function(qr){var Kr,ii,vi,ci,Jr;return arguments.length?(oe&&(Kr=qr[0],ii=qr[1],we&&(Kr=Kr[0],ii=ii[0]),We=[Kr,ii],oe.invert&&(Kr=oe(Kr),ii=oe(ii)),ii<Kr&&(Jr=Kr,Kr=ii,ii=Jr),(Kr!=Be[0]||ii!=Be[1])&&(Be=[Kr,ii])),we&&(vi=qr[0],ci=qr[1],oe&&(vi=vi[1],ci=ci[1]),wt=[vi,ci],we.invert&&(vi=we(vi),ci=we(ci)),ci<vi&&(Jr=vi,vi=ci,ci=Jr),(vi!=Ue[0]||ci!=Ue[1])&&(Ue=[vi,ci])),lr):(oe&&(We?(Kr=We[0],ii=We[1]):(Kr=Be[0],ii=Be[1],oe.invert&&(Kr=oe.invert(Kr),ii=oe.invert(ii)),ii<Kr&&(Jr=Kr,Kr=ii,ii=Jr))),we&&(wt?(vi=wt[0],ci=wt[1]):(vi=Ue[0],ci=Ue[1],we.invert&&(vi=we.invert(vi),ci=we.invert(ci)),ci<vi&&(Jr=vi,vi=ci,ci=Jr))),oe&&we?[[Kr,vi],[ii,ci]]:oe?[Kr,ii]:we&&[vi,ci])},lr.clear=function(){return lr.empty()||(Be=[0,0],Ue=[0,0],We=wt=null),lr},lr.empty=function(){return!!oe&&Be[0]==Be[1]||!!we&&Ue[0]==Ue[1]},e.rebind(lr,Z,\"on\")};var au={n:\"ns-resize\",e:\"ew-resize\",s:\"ns-resize\",w:\"ew-resize\",nw:\"nwse-resize\",ne:\"nesw-resize\",se:\"nwse-resize\",sw:\"nesw-resize\"},zc=[[\"n\",\"e\",\"s\",\"w\",\"nw\",\"ne\",\"se\",\"sw\"],[\"e\",\"w\"],[\"n\",\"s\"],[]];e.text=zi(function(Z){return Z.responseText}),e.json=function(Z,oe){return Yi(Z,\"application/json\",zl,oe)};function zl(Z){return JSON.parse(Z.responseText)}e.html=function(Z,oe){return Yi(Z,\"text/html\",Fl,oe)};function Fl(Z){var oe=n.createRange();return oe.selectNode(n.body),oe.createContextualFragment(Z.responseText)}e.xml=zi(function(Z){return Z.responseXML}),typeof r6==\"object\"&&r6.exports?r6.exports=e:this.d3=e}).apply(self)});var dq=ye((i6,nee)=>{(function(e,t){typeof i6==\"object\"&&typeof nee!=\"undefined\"?t(i6):(e=e||self,t(e.d3=e.d3||{}))})(i6,function(e){\"use strict\";var t=new Date,r=new Date;function n(Ke,xt,bt,Lt){function St(Et){return Ke(Et=arguments.length===0?new Date:new Date(+Et)),Et}return St.floor=function(Et){return Ke(Et=new Date(+Et)),Et},St.ceil=function(Et){return Ke(Et=new Date(Et-1)),xt(Et,1),Ke(Et),Et},St.round=function(Et){var dt=St(Et),Ht=St.ceil(Et);return Et-dt<Ht-Et?dt:Ht},St.offset=function(Et,dt){return xt(Et=new Date(+Et),dt==null?1:Math.floor(dt)),Et},St.range=function(Et,dt,Ht){var $t=[],fr;if(Et=St.ceil(Et),Ht=Ht==null?1:Math.floor(Ht),!(Et<dt)||!(Ht>0))return $t;do $t.push(fr=new Date(+Et)),xt(Et,Ht),Ke(Et);while(fr<Et&&Et<dt);return $t},St.filter=function(Et){return n(function(dt){if(dt>=dt)for(;Ke(dt),!Et(dt);)dt.setTime(dt-1)},function(dt,Ht){if(dt>=dt)if(Ht<0)for(;++Ht<=0;)for(;xt(dt,-1),!Et(dt););else for(;--Ht>=0;)for(;xt(dt,1),!Et(dt););})},bt&&(St.count=function(Et,dt){return t.setTime(+Et),r.setTime(+dt),Ke(t),Ke(r),Math.floor(bt(t,r))},St.every=function(Et){return Et=Math.floor(Et),!isFinite(Et)||!(Et>0)?null:Et>1?St.filter(Lt?function(dt){return Lt(dt)%Et===0}:function(dt){return St.count(0,dt)%Et===0}):St}),St}var i=n(function(){},function(Ke,xt){Ke.setTime(+Ke+xt)},function(Ke,xt){return xt-Ke});i.every=function(Ke){return Ke=Math.floor(Ke),!isFinite(Ke)||!(Ke>0)?null:Ke>1?n(function(xt){xt.setTime(Math.floor(xt/Ke)*Ke)},function(xt,bt){xt.setTime(+xt+bt*Ke)},function(xt,bt){return(bt-xt)/Ke}):i};var a=i.range,o=1e3,s=6e4,l=36e5,u=864e5,c=6048e5,f=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds())},function(Ke,xt){Ke.setTime(+Ke+xt*o)},function(Ke,xt){return(xt-Ke)/o},function(Ke){return Ke.getUTCSeconds()}),h=f.range,d=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds()-Ke.getSeconds()*o)},function(Ke,xt){Ke.setTime(+Ke+xt*s)},function(Ke,xt){return(xt-Ke)/s},function(Ke){return Ke.getMinutes()}),v=d.range,x=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds()-Ke.getSeconds()*o-Ke.getMinutes()*s)},function(Ke,xt){Ke.setTime(+Ke+xt*l)},function(Ke,xt){return(xt-Ke)/l},function(Ke){return Ke.getHours()}),b=x.range,p=n(function(Ke){Ke.setHours(0,0,0,0)},function(Ke,xt){Ke.setDate(Ke.getDate()+xt)},function(Ke,xt){return(xt-Ke-(xt.getTimezoneOffset()-Ke.getTimezoneOffset())*s)/u},function(Ke){return Ke.getDate()-1}),E=p.range;function k(Ke){return n(function(xt){xt.setDate(xt.getDate()-(xt.getDay()+7-Ke)%7),xt.setHours(0,0,0,0)},function(xt,bt){xt.setDate(xt.getDate()+bt*7)},function(xt,bt){return(bt-xt-(bt.getTimezoneOffset()-xt.getTimezoneOffset())*s)/c})}var A=k(0),L=k(1),_=k(2),C=k(3),M=k(4),g=k(5),P=k(6),T=A.range,F=L.range,q=_.range,V=C.range,H=M.range,X=g.range,G=P.range,N=n(function(Ke){Ke.setDate(1),Ke.setHours(0,0,0,0)},function(Ke,xt){Ke.setMonth(Ke.getMonth()+xt)},function(Ke,xt){return xt.getMonth()-Ke.getMonth()+(xt.getFullYear()-Ke.getFullYear())*12},function(Ke){return Ke.getMonth()}),W=N.range,re=n(function(Ke){Ke.setMonth(0,1),Ke.setHours(0,0,0,0)},function(Ke,xt){Ke.setFullYear(Ke.getFullYear()+xt)},function(Ke,xt){return xt.getFullYear()-Ke.getFullYear()},function(Ke){return Ke.getFullYear()});re.every=function(Ke){return!isFinite(Ke=Math.floor(Ke))||!(Ke>0)?null:n(function(xt){xt.setFullYear(Math.floor(xt.getFullYear()/Ke)*Ke),xt.setMonth(0,1),xt.setHours(0,0,0,0)},function(xt,bt){xt.setFullYear(xt.getFullYear()+bt*Ke)})};var ae=re.range,_e=n(function(Ke){Ke.setUTCSeconds(0,0)},function(Ke,xt){Ke.setTime(+Ke+xt*s)},function(Ke,xt){return(xt-Ke)/s},function(Ke){return Ke.getUTCMinutes()}),Me=_e.range,ke=n(function(Ke){Ke.setUTCMinutes(0,0,0)},function(Ke,xt){Ke.setTime(+Ke+xt*l)},function(Ke,xt){return(xt-Ke)/l},function(Ke){return Ke.getUTCHours()}),ge=ke.range,ie=n(function(Ke){Ke.setUTCHours(0,0,0,0)},function(Ke,xt){Ke.setUTCDate(Ke.getUTCDate()+xt)},function(Ke,xt){return(xt-Ke)/u},function(Ke){return Ke.getUTCDate()-1}),Te=ie.range;function Ee(Ke){return n(function(xt){xt.setUTCDate(xt.getUTCDate()-(xt.getUTCDay()+7-Ke)%7),xt.setUTCHours(0,0,0,0)},function(xt,bt){xt.setUTCDate(xt.getUTCDate()+bt*7)},function(xt,bt){return(bt-xt)/c})}var Ae=Ee(0),ze=Ee(1),Ce=Ee(2),me=Ee(3),Re=Ee(4),ce=Ee(5),Ge=Ee(6),nt=Ae.range,ct=ze.range,qt=Ce.range,rt=me.range,ot=Re.range,Rt=ce.range,kt=Ge.range,Ct=n(function(Ke){Ke.setUTCDate(1),Ke.setUTCHours(0,0,0,0)},function(Ke,xt){Ke.setUTCMonth(Ke.getUTCMonth()+xt)},function(Ke,xt){return xt.getUTCMonth()-Ke.getUTCMonth()+(xt.getUTCFullYear()-Ke.getUTCFullYear())*12},function(Ke){return Ke.getUTCMonth()}),Yt=Ct.range,xr=n(function(Ke){Ke.setUTCMonth(0,1),Ke.setUTCHours(0,0,0,0)},function(Ke,xt){Ke.setUTCFullYear(Ke.getUTCFullYear()+xt)},function(Ke,xt){return xt.getUTCFullYear()-Ke.getUTCFullYear()},function(Ke){return Ke.getUTCFullYear()});xr.every=function(Ke){return!isFinite(Ke=Math.floor(Ke))||!(Ke>0)?null:n(function(xt){xt.setUTCFullYear(Math.floor(xt.getUTCFullYear()/Ke)*Ke),xt.setUTCMonth(0,1),xt.setUTCHours(0,0,0,0)},function(xt,bt){xt.setUTCFullYear(xt.getUTCFullYear()+bt*Ke)})};var er=xr.range;e.timeDay=p,e.timeDays=E,e.timeFriday=g,e.timeFridays=X,e.timeHour=x,e.timeHours=b,e.timeInterval=n,e.timeMillisecond=i,e.timeMilliseconds=a,e.timeMinute=d,e.timeMinutes=v,e.timeMonday=L,e.timeMondays=F,e.timeMonth=N,e.timeMonths=W,e.timeSaturday=P,e.timeSaturdays=G,e.timeSecond=f,e.timeSeconds=h,e.timeSunday=A,e.timeSundays=T,e.timeThursday=M,e.timeThursdays=H,e.timeTuesday=_,e.timeTuesdays=q,e.timeWednesday=C,e.timeWednesdays=V,e.timeWeek=A,e.timeWeeks=T,e.timeYear=re,e.timeYears=ae,e.utcDay=ie,e.utcDays=Te,e.utcFriday=ce,e.utcFridays=Rt,e.utcHour=ke,e.utcHours=ge,e.utcMillisecond=i,e.utcMilliseconds=a,e.utcMinute=_e,e.utcMinutes=Me,e.utcMonday=ze,e.utcMondays=ct,e.utcMonth=Ct,e.utcMonths=Yt,e.utcSaturday=Ge,e.utcSaturdays=kt,e.utcSecond=f,e.utcSeconds=h,e.utcSunday=Ae,e.utcSundays=nt,e.utcThursday=Re,e.utcThursdays=ot,e.utcTuesday=Ce,e.utcTuesdays=qt,e.utcWednesday=me,e.utcWednesdays=rt,e.utcWeek=Ae,e.utcWeeks=nt,e.utcYear=xr,e.utcYears=er,Object.defineProperty(e,\"__esModule\",{value:!0})})});var e3=ye((n6,aee)=>{(function(e,t){typeof n6==\"object\"&&typeof aee!=\"undefined\"?t(n6,dq()):(e=e||self,t(e.d3=e.d3||{},e.d3))})(n6,function(e,t){\"use strict\";function r(Ne){if(0<=Ne.y&&Ne.y<100){var Ye=new Date(-1,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L);return Ye.setFullYear(Ne.y),Ye}return new Date(Ne.y,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L)}function n(Ne){if(0<=Ne.y&&Ne.y<100){var Ye=new Date(Date.UTC(-1,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L));return Ye.setUTCFullYear(Ne.y),Ye}return new Date(Date.UTC(Ne.y,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L))}function i(Ne,Ye,Ve){return{y:Ne,m:Ye,d:Ve,H:0,M:0,S:0,L:0}}function a(Ne){var Ye=Ne.dateTime,Ve=Ne.date,Xe=Ne.time,ht=Ne.periods,Le=Ne.days,xe=Ne.shortDays,Se=Ne.months,lt=Ne.shortMonths,Gt=h(ht),Vt=d(ht),ar=h(Le),Qr=d(Le),ai=h(xe),jr=d(xe),ri=h(Se),bi=d(Se),nn=h(lt),Wi=d(lt),Ni={a:Si,A:Mi,b:Pi,B:Gi,c:null,d:N,e:N,f:Me,H:W,I:re,j:ae,L:_e,m:ke,M:ge,p:Ki,q:ka,Q:dt,s:Ht,S:ie,u:Te,U:Ee,V:Ae,w:ze,W:Ce,x:null,X:null,y:me,Y:Re,Z:ce,\"%\":Et},_n={a:jn,A:la,b:Fa,B:Ra,c:null,d:Ge,e:Ge,f:ot,H:nt,I:ct,j:qt,L:rt,m:Rt,M:kt,p:jo,q:oa,Q:dt,s:Ht,S:Ct,u:Yt,U:xr,V:er,w:Ke,W:xt,x:null,X:null,y:bt,Y:Lt,Z:St,\"%\":Et},$i={a:jt,A:Zt,b:yr,B:Fr,c:Zr,d:M,e:M,f:V,H:P,I:P,j:g,L:q,m:C,M:T,p:ft,q:_,Q:X,s:G,S:F,u:x,U:b,V:p,w:v,W:E,x:Vr,X:gi,y:A,Y:k,Z:L,\"%\":H};Ni.x=zn(Ve,Ni),Ni.X=zn(Xe,Ni),Ni.c=zn(Ye,Ni),_n.x=zn(Ve,_n),_n.X=zn(Xe,_n),_n.c=zn(Ye,_n);function zn(Sn,Ha){return function(oo){var xn=[],_t=-1,br=0,Hr=Sn.length,ti,zi,Yi;for(oo instanceof Date||(oo=new Date(+oo));++_t<Hr;)Sn.charCodeAt(_t)===37&&(xn.push(Sn.slice(br,_t)),(zi=o[ti=Sn.charAt(++_t)])!=null?ti=Sn.charAt(++_t):zi=ti===\"e\"?\" \":\"0\",(Yi=Ha[ti])&&(ti=Yi(oo,zi)),xn.push(ti),br=_t+1);return xn.push(Sn.slice(br,_t)),xn.join(\"\")}}function Wn(Sn,Ha){return function(oo){var xn=i(1900,void 0,1),_t=It(xn,Sn,oo+=\"\",0),br,Hr;if(_t!=oo.length)return null;if(\"Q\"in xn)return new Date(xn.Q);if(\"s\"in xn)return new Date(xn.s*1e3+(\"L\"in xn?xn.L:0));if(Ha&&!(\"Z\"in xn)&&(xn.Z=0),\"p\"in xn&&(xn.H=xn.H%12+xn.p*12),xn.m===void 0&&(xn.m=\"q\"in xn?xn.q:0),\"V\"in xn){if(xn.V<1||xn.V>53)return null;\"w\"in xn||(xn.w=1),\"Z\"in xn?(br=n(i(xn.y,0,1)),Hr=br.getUTCDay(),br=Hr>4||Hr===0?t.utcMonday.ceil(br):t.utcMonday(br),br=t.utcDay.offset(br,(xn.V-1)*7),xn.y=br.getUTCFullYear(),xn.m=br.getUTCMonth(),xn.d=br.getUTCDate()+(xn.w+6)%7):(br=r(i(xn.y,0,1)),Hr=br.getDay(),br=Hr>4||Hr===0?t.timeMonday.ceil(br):t.timeMonday(br),br=t.timeDay.offset(br,(xn.V-1)*7),xn.y=br.getFullYear(),xn.m=br.getMonth(),xn.d=br.getDate()+(xn.w+6)%7)}else(\"W\"in xn||\"U\"in xn)&&(\"w\"in xn||(xn.w=\"u\"in xn?xn.u%7:\"W\"in xn?1:0),Hr=\"Z\"in xn?n(i(xn.y,0,1)).getUTCDay():r(i(xn.y,0,1)).getDay(),xn.m=0,xn.d=\"W\"in xn?(xn.w+6)%7+xn.W*7-(Hr+5)%7:xn.w+xn.U*7-(Hr+6)%7);return\"Z\"in xn?(xn.H+=xn.Z/100|0,xn.M+=xn.Z%100,n(xn)):r(xn)}}function It(Sn,Ha,oo,xn){for(var _t=0,br=Ha.length,Hr=oo.length,ti,zi;_t<br;){if(xn>=Hr)return-1;if(ti=Ha.charCodeAt(_t++),ti===37){if(ti=Ha.charAt(_t++),zi=$i[ti in o?Ha.charAt(_t++):ti],!zi||(xn=zi(Sn,oo,xn))<0)return-1}else if(ti!=oo.charCodeAt(xn++))return-1}return xn}function ft(Sn,Ha,oo){var xn=Gt.exec(Ha.slice(oo));return xn?(Sn.p=Vt[xn[0].toLowerCase()],oo+xn[0].length):-1}function jt(Sn,Ha,oo){var xn=ai.exec(Ha.slice(oo));return xn?(Sn.w=jr[xn[0].toLowerCase()],oo+xn[0].length):-1}function Zt(Sn,Ha,oo){var xn=ar.exec(Ha.slice(oo));return xn?(Sn.w=Qr[xn[0].toLowerCase()],oo+xn[0].length):-1}function yr(Sn,Ha,oo){var xn=nn.exec(Ha.slice(oo));return xn?(Sn.m=Wi[xn[0].toLowerCase()],oo+xn[0].length):-1}function Fr(Sn,Ha,oo){var xn=ri.exec(Ha.slice(oo));return xn?(Sn.m=bi[xn[0].toLowerCase()],oo+xn[0].length):-1}function Zr(Sn,Ha,oo){return It(Sn,Ye,Ha,oo)}function Vr(Sn,Ha,oo){return It(Sn,Ve,Ha,oo)}function gi(Sn,Ha,oo){return It(Sn,Xe,Ha,oo)}function Si(Sn){return xe[Sn.getDay()]}function Mi(Sn){return Le[Sn.getDay()]}function Pi(Sn){return lt[Sn.getMonth()]}function Gi(Sn){return Se[Sn.getMonth()]}function Ki(Sn){return ht[+(Sn.getHours()>=12)]}function ka(Sn){return 1+~~(Sn.getMonth()/3)}function jn(Sn){return xe[Sn.getUTCDay()]}function la(Sn){return Le[Sn.getUTCDay()]}function Fa(Sn){return lt[Sn.getUTCMonth()]}function Ra(Sn){return Se[Sn.getUTCMonth()]}function jo(Sn){return ht[+(Sn.getUTCHours()>=12)]}function oa(Sn){return 1+~~(Sn.getUTCMonth()/3)}return{format:function(Sn){var Ha=zn(Sn+=\"\",Ni);return Ha.toString=function(){return Sn},Ha},parse:function(Sn){var Ha=Wn(Sn+=\"\",!1);return Ha.toString=function(){return Sn},Ha},utcFormat:function(Sn){var Ha=zn(Sn+=\"\",_n);return Ha.toString=function(){return Sn},Ha},utcParse:function(Sn){var Ha=Wn(Sn+=\"\",!0);return Ha.toString=function(){return Sn},Ha}}}var o={\"-\":\"\",_:\" \",0:\"0\"},s=/^\\s*\\d+/,l=/^%/,u=/[\\\\^$*+?|[\\]().{}]/g;function c(Ne,Ye,Ve){var Xe=Ne<0?\"-\":\"\",ht=(Xe?-Ne:Ne)+\"\",Le=ht.length;return Xe+(Le<Ve?new Array(Ve-Le+1).join(Ye)+ht:ht)}function f(Ne){return Ne.replace(u,\"\\\\$&\")}function h(Ne){return new RegExp(\"^(?:\"+Ne.map(f).join(\"|\")+\")\",\"i\")}function d(Ne){for(var Ye={},Ve=-1,Xe=Ne.length;++Ve<Xe;)Ye[Ne[Ve].toLowerCase()]=Ve;return Ye}function v(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+1));return Xe?(Ne.w=+Xe[0],Ve+Xe[0].length):-1}function x(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+1));return Xe?(Ne.u=+Xe[0],Ve+Xe[0].length):-1}function b(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.U=+Xe[0],Ve+Xe[0].length):-1}function p(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.V=+Xe[0],Ve+Xe[0].length):-1}function E(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.W=+Xe[0],Ve+Xe[0].length):-1}function k(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+4));return Xe?(Ne.y=+Xe[0],Ve+Xe[0].length):-1}function A(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.y=+Xe[0]+(+Xe[0]>68?1900:2e3),Ve+Xe[0].length):-1}function L(Ne,Ye,Ve){var Xe=/^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(Ye.slice(Ve,Ve+6));return Xe?(Ne.Z=Xe[1]?0:-(Xe[2]+(Xe[3]||\"00\")),Ve+Xe[0].length):-1}function _(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+1));return Xe?(Ne.q=Xe[0]*3-3,Ve+Xe[0].length):-1}function C(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.m=Xe[0]-1,Ve+Xe[0].length):-1}function M(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.d=+Xe[0],Ve+Xe[0].length):-1}function g(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+3));return Xe?(Ne.m=0,Ne.d=+Xe[0],Ve+Xe[0].length):-1}function P(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.H=+Xe[0],Ve+Xe[0].length):-1}function T(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.M=+Xe[0],Ve+Xe[0].length):-1}function F(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.S=+Xe[0],Ve+Xe[0].length):-1}function q(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+3));return Xe?(Ne.L=+Xe[0],Ve+Xe[0].length):-1}function V(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+6));return Xe?(Ne.L=Math.floor(Xe[0]/1e3),Ve+Xe[0].length):-1}function H(Ne,Ye,Ve){var Xe=l.exec(Ye.slice(Ve,Ve+1));return Xe?Ve+Xe[0].length:-1}function X(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve));return Xe?(Ne.Q=+Xe[0],Ve+Xe[0].length):-1}function G(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve));return Xe?(Ne.s=+Xe[0],Ve+Xe[0].length):-1}function N(Ne,Ye){return c(Ne.getDate(),Ye,2)}function W(Ne,Ye){return c(Ne.getHours(),Ye,2)}function re(Ne,Ye){return c(Ne.getHours()%12||12,Ye,2)}function ae(Ne,Ye){return c(1+t.timeDay.count(t.timeYear(Ne),Ne),Ye,3)}function _e(Ne,Ye){return c(Ne.getMilliseconds(),Ye,3)}function Me(Ne,Ye){return _e(Ne,Ye)+\"000\"}function ke(Ne,Ye){return c(Ne.getMonth()+1,Ye,2)}function ge(Ne,Ye){return c(Ne.getMinutes(),Ye,2)}function ie(Ne,Ye){return c(Ne.getSeconds(),Ye,2)}function Te(Ne){var Ye=Ne.getDay();return Ye===0?7:Ye}function Ee(Ne,Ye){return c(t.timeSunday.count(t.timeYear(Ne)-1,Ne),Ye,2)}function Ae(Ne,Ye){var Ve=Ne.getDay();return Ne=Ve>=4||Ve===0?t.timeThursday(Ne):t.timeThursday.ceil(Ne),c(t.timeThursday.count(t.timeYear(Ne),Ne)+(t.timeYear(Ne).getDay()===4),Ye,2)}function ze(Ne){return Ne.getDay()}function Ce(Ne,Ye){return c(t.timeMonday.count(t.timeYear(Ne)-1,Ne),Ye,2)}function me(Ne,Ye){return c(Ne.getFullYear()%100,Ye,2)}function Re(Ne,Ye){return c(Ne.getFullYear()%1e4,Ye,4)}function ce(Ne){var Ye=Ne.getTimezoneOffset();return(Ye>0?\"-\":(Ye*=-1,\"+\"))+c(Ye/60|0,\"0\",2)+c(Ye%60,\"0\",2)}function Ge(Ne,Ye){return c(Ne.getUTCDate(),Ye,2)}function nt(Ne,Ye){return c(Ne.getUTCHours(),Ye,2)}function ct(Ne,Ye){return c(Ne.getUTCHours()%12||12,Ye,2)}function qt(Ne,Ye){return c(1+t.utcDay.count(t.utcYear(Ne),Ne),Ye,3)}function rt(Ne,Ye){return c(Ne.getUTCMilliseconds(),Ye,3)}function ot(Ne,Ye){return rt(Ne,Ye)+\"000\"}function Rt(Ne,Ye){return c(Ne.getUTCMonth()+1,Ye,2)}function kt(Ne,Ye){return c(Ne.getUTCMinutes(),Ye,2)}function Ct(Ne,Ye){return c(Ne.getUTCSeconds(),Ye,2)}function Yt(Ne){var Ye=Ne.getUTCDay();return Ye===0?7:Ye}function xr(Ne,Ye){return c(t.utcSunday.count(t.utcYear(Ne)-1,Ne),Ye,2)}function er(Ne,Ye){var Ve=Ne.getUTCDay();return Ne=Ve>=4||Ve===0?t.utcThursday(Ne):t.utcThursday.ceil(Ne),c(t.utcThursday.count(t.utcYear(Ne),Ne)+(t.utcYear(Ne).getUTCDay()===4),Ye,2)}function Ke(Ne){return Ne.getUTCDay()}function xt(Ne,Ye){return c(t.utcMonday.count(t.utcYear(Ne)-1,Ne),Ye,2)}function bt(Ne,Ye){return c(Ne.getUTCFullYear()%100,Ye,2)}function Lt(Ne,Ye){return c(Ne.getUTCFullYear()%1e4,Ye,4)}function St(){return\"+0000\"}function Et(){return\"%\"}function dt(Ne){return+Ne}function Ht(Ne){return Math.floor(+Ne/1e3)}var $t;fr({dateTime:\"%x, %X\",date:\"%-m/%-d/%Y\",time:\"%-I:%M:%S %p\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]});function fr(Ne){return $t=a(Ne),e.timeFormat=$t.format,e.timeParse=$t.parse,e.utcFormat=$t.utcFormat,e.utcParse=$t.utcParse,$t}var _r=\"%Y-%m-%dT%H:%M:%S.%LZ\";function Br(Ne){return Ne.toISOString()}var Or=Date.prototype.toISOString?Br:e.utcFormat(_r);function Nr(Ne){var Ye=new Date(Ne);return isNaN(Ye)?null:Ye}var ut=+new Date(\"2000-01-01T00:00:00.000Z\")?Nr:e.utcParse(_r);e.isoFormat=Or,e.isoParse=ut,e.timeFormatDefaultLocale=fr,e.timeFormatLocale=a,Object.defineProperty(e,\"__esModule\",{value:!0})})});var vq=ye((a6,oee)=>{(function(e,t){typeof a6==\"object\"&&typeof oee!=\"undefined\"?t(a6):(e=typeof globalThis!=\"undefined\"?globalThis:e||self,t(e.d3=e.d3||{}))})(a6,function(e){\"use strict\";function t(C){return Math.abs(C=Math.round(C))>=1e21?C.toLocaleString(\"en\").replace(/,/g,\"\"):C.toString(10)}function r(C,M){if((g=(C=M?C.toExponential(M-1):C.toExponential()).indexOf(\"e\"))<0)return null;var g,P=C.slice(0,g);return[P.length>1?P[0]+P.slice(2):P,+C.slice(g+1)]}function n(C){return C=r(Math.abs(C)),C?C[1]:NaN}function i(C,M){return function(g,P){for(var T=g.length,F=[],q=0,V=C[0],H=0;T>0&&V>0&&(H+V+1>P&&(V=Math.max(1,P-H)),F.push(g.substring(T-=V,T+V)),!((H+=V+1)>P));)V=C[q=(q+1)%C.length];return F.reverse().join(M)}}function a(C){return function(M){return M.replace(/[0-9]/g,function(g){return C[+g]})}}var o=/^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;function s(C){if(!(M=o.exec(C)))throw new Error(\"invalid format: \"+C);var M;return new l({fill:M[1],align:M[2],sign:M[3],symbol:M[4],zero:M[5],width:M[6],comma:M[7],precision:M[8]&&M[8].slice(1),trim:M[9],type:M[10]})}s.prototype=l.prototype;function l(C){this.fill=C.fill===void 0?\" \":C.fill+\"\",this.align=C.align===void 0?\">\":C.align+\"\",this.sign=C.sign===void 0?\"-\":C.sign+\"\",this.symbol=C.symbol===void 0?\"\":C.symbol+\"\",this.zero=!!C.zero,this.width=C.width===void 0?void 0:+C.width,this.comma=!!C.comma,this.precision=C.precision===void 0?void 0:+C.precision,this.trim=!!C.trim,this.type=C.type===void 0?\"\":C.type+\"\"}l.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?\"0\":\"\")+(this.width===void 0?\"\":Math.max(1,this.width|0))+(this.comma?\",\":\"\")+(this.precision===void 0?\"\":\".\"+Math.max(0,this.precision|0))+(this.trim?\"~\":\"\")+this.type};function u(C){e:for(var M=C.length,g=1,P=-1,T;g<M;++g)switch(C[g]){case\".\":P=T=g;break;case\"0\":P===0&&(P=g),T=g;break;default:if(!+C[g])break e;P>0&&(P=0);break}return P>0?C.slice(0,P)+C.slice(T+1):C}var c;function f(C,M){var g=r(C,M);if(!g)return C+\"\";var P=g[0],T=g[1],F=T-(c=Math.max(-8,Math.min(8,Math.floor(T/3)))*3)+1,q=P.length;return F===q?P:F>q?P+new Array(F-q+1).join(\"0\"):F>0?P.slice(0,F)+\".\"+P.slice(F):\"0.\"+new Array(1-F).join(\"0\")+r(C,Math.max(0,M+F-1))[0]}function h(C,M){var g=r(C,M);if(!g)return C+\"\";var P=g[0],T=g[1];return T<0?\"0.\"+new Array(-T).join(\"0\")+P:P.length>T+1?P.slice(0,T+1)+\".\"+P.slice(T+1):P+new Array(T-P.length+2).join(\"0\")}var d={\"%\":function(C,M){return(C*100).toFixed(M)},b:function(C){return Math.round(C).toString(2)},c:function(C){return C+\"\"},d:t,e:function(C,M){return C.toExponential(M)},f:function(C,M){return C.toFixed(M)},g:function(C,M){return C.toPrecision(M)},o:function(C){return Math.round(C).toString(8)},p:function(C,M){return h(C*100,M)},r:h,s:f,X:function(C){return Math.round(C).toString(16).toUpperCase()},x:function(C){return Math.round(C).toString(16)}};function v(C){return C}var x=Array.prototype.map,b=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"\\xB5\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];function p(C){var M=C.grouping===void 0||C.thousands===void 0?v:i(x.call(C.grouping,Number),C.thousands+\"\"),g=C.currency===void 0?\"\":C.currency[0]+\"\",P=C.currency===void 0?\"\":C.currency[1]+\"\",T=C.decimal===void 0?\".\":C.decimal+\"\",F=C.numerals===void 0?v:a(x.call(C.numerals,String)),q=C.percent===void 0?\"%\":C.percent+\"\",V=C.minus===void 0?\"-\":C.minus+\"\",H=C.nan===void 0?\"NaN\":C.nan+\"\";function X(N){N=s(N);var W=N.fill,re=N.align,ae=N.sign,_e=N.symbol,Me=N.zero,ke=N.width,ge=N.comma,ie=N.precision,Te=N.trim,Ee=N.type;Ee===\"n\"?(ge=!0,Ee=\"g\"):d[Ee]||(ie===void 0&&(ie=12),Te=!0,Ee=\"g\"),(Me||W===\"0\"&&re===\"=\")&&(Me=!0,W=\"0\",re=\"=\");var Ae=_e===\"$\"?g:_e===\"#\"&&/[boxX]/.test(Ee)?\"0\"+Ee.toLowerCase():\"\",ze=_e===\"$\"?P:/[%p]/.test(Ee)?q:\"\",Ce=d[Ee],me=/[defgprs%]/.test(Ee);ie=ie===void 0?6:/[gprs]/.test(Ee)?Math.max(1,Math.min(21,ie)):Math.max(0,Math.min(20,ie));function Re(ce){var Ge=Ae,nt=ze,ct,qt,rt;if(Ee===\"c\")nt=Ce(ce)+nt,ce=\"\";else{ce=+ce;var ot=ce<0||1/ce<0;if(ce=isNaN(ce)?H:Ce(Math.abs(ce),ie),Te&&(ce=u(ce)),ot&&+ce==0&&ae!==\"+\"&&(ot=!1),Ge=(ot?ae===\"(\"?ae:V:ae===\"-\"||ae===\"(\"?\"\":ae)+Ge,nt=(Ee===\"s\"?b[8+c/3]:\"\")+nt+(ot&&ae===\"(\"?\")\":\"\"),me){for(ct=-1,qt=ce.length;++ct<qt;)if(rt=ce.charCodeAt(ct),48>rt||rt>57){nt=(rt===46?T+ce.slice(ct+1):ce.slice(ct))+nt,ce=ce.slice(0,ct);break}}}ge&&!Me&&(ce=M(ce,1/0));var Rt=Ge.length+ce.length+nt.length,kt=Rt<ke?new Array(ke-Rt+1).join(W):\"\";switch(ge&&Me&&(ce=M(kt+ce,kt.length?ke-nt.length:1/0),kt=\"\"),re){case\"<\":ce=Ge+ce+nt+kt;break;case\"=\":ce=Ge+kt+ce+nt;break;case\"^\":ce=kt.slice(0,Rt=kt.length>>1)+Ge+ce+nt+kt.slice(Rt);break;default:ce=kt+Ge+ce+nt;break}return F(ce)}return Re.toString=function(){return N+\"\"},Re}function G(N,W){var re=X((N=s(N),N.type=\"f\",N)),ae=Math.max(-8,Math.min(8,Math.floor(n(W)/3)))*3,_e=Math.pow(10,-ae),Me=b[8+ae/3];return function(ke){return re(_e*ke)+Me}}return{format:X,formatPrefix:G}}var E;k({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],minus:\"-\"});function k(C){return E=p(C),e.format=E.format,e.formatPrefix=E.formatPrefix,E}function A(C){return Math.max(0,-n(Math.abs(C)))}function L(C,M){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(n(M)/3)))*3-n(Math.abs(C)))}function _(C,M){return C=Math.abs(C),M=Math.abs(M)-C,Math.max(0,n(M)-n(C))+1}e.FormatSpecifier=l,e.formatDefaultLocale=k,e.formatLocale=p,e.formatSpecifier=s,e.precisionFixed=A,e.precisionPrefix=L,e.precisionRound=_,Object.defineProperty(e,\"__esModule\",{value:!0})})});var lee=ye((OQt,see)=>{\"use strict\";see.exports=function(e){for(var t=e.length,r,n=0;n<t;n++)if(r=e.charCodeAt(n),(r<9||r>13)&&r!==32&&r!==133&&r!==160&&r!==5760&&r!==6158&&(r<8192||r>8205)&&r!==8232&&r!==8233&&r!==8239&&r!==8287&&r!==8288&&r!==12288&&r!==65279)return!1;return!0}});var uo=ye((BQt,uee)=>{\"use strict\";var KQe=lee();uee.exports=function(e){var t=typeof e;if(t===\"string\"){var r=e;if(e=+e,e===0&&KQe(r))return!1}else if(t!==\"number\")return!1;return e-e<1}});var es=ye((NQt,cee)=>{\"use strict\";cee.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE*1e-4,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:24405875e-1,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:\"\\u2212\"}});var pq=ye((o6,fee)=>{(function(e,t){typeof o6==\"object\"&&typeof fee!=\"undefined\"?t(o6):(e=typeof globalThis!=\"undefined\"?globalThis:e||self,t(e[\"base64-arraybuffer\"]={}))})(o6,function(e){\"use strict\";for(var t=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",r=typeof Uint8Array==\"undefined\"?[]:new Uint8Array(256),n=0;n<t.length;n++)r[t.charCodeAt(n)]=n;var i=function(o){var s=new Uint8Array(o),l,u=s.length,c=\"\";for(l=0;l<u;l+=3)c+=t[s[l]>>2],c+=t[(s[l]&3)<<4|s[l+1]>>4],c+=t[(s[l+1]&15)<<2|s[l+2]>>6],c+=t[s[l+2]&63];return u%3===2?c=c.substring(0,c.length-1)+\"=\":u%3===1&&(c=c.substring(0,c.length-2)+\"==\"),c},a=function(o){var s=o.length*.75,l=o.length,u,c=0,f,h,d,v;o[o.length-1]===\"=\"&&(s--,o[o.length-2]===\"=\"&&s--);var x=new ArrayBuffer(s),b=new Uint8Array(x);for(u=0;u<l;u+=4)f=r[o.charCodeAt(u)],h=r[o.charCodeAt(u+1)],d=r[o.charCodeAt(u+2)],v=r[o.charCodeAt(u+3)],b[c++]=f<<2|h>>4,b[c++]=(h&15)<<4|d>>2,b[c++]=(d&3)<<6|v&63;return x};e.decode=a,e.encode=i,Object.defineProperty(e,\"__esModule\",{value:!0})})});var gy=ye((UQt,hee)=>{\"use strict\";hee.exports=function(t){return window&&window.process&&window.process.versions?Object.prototype.toString.call(t)===\"[object Object]\":Object.prototype.toString.call(t)===\"[object Object]\"&&Object.getPrototypeOf(t).hasOwnProperty(\"hasOwnProperty\")}});var vv=ye(mg=>{\"use strict\";var JQe=pq().decode,$Qe=gy(),gq=Array.isArray,QQe=ArrayBuffer,eet=DataView;function dee(e){return QQe.isView(e)&&!(e instanceof eet)}mg.isTypedArray=dee;function s6(e){return gq(e)||dee(e)}mg.isArrayOrTypedArray=s6;function tet(e){return!s6(e[0])}mg.isArray1D=tet;mg.ensureArray=function(e,t){return gq(e)||(e=[]),e.length=t,e};var Md={u1c:typeof Uint8ClampedArray==\"undefined\"?void 0:Uint8ClampedArray,i1:typeof Int8Array==\"undefined\"?void 0:Int8Array,u1:typeof Uint8Array==\"undefined\"?void 0:Uint8Array,i2:typeof Int16Array==\"undefined\"?void 0:Int16Array,u2:typeof Uint16Array==\"undefined\"?void 0:Uint16Array,i4:typeof Int32Array==\"undefined\"?void 0:Int32Array,u4:typeof Uint32Array==\"undefined\"?void 0:Uint32Array,f4:typeof Float32Array==\"undefined\"?void 0:Float32Array,f8:typeof Float64Array==\"undefined\"?void 0:Float64Array};Md.uint8c=Md.u1c;Md.uint8=Md.u1;Md.int8=Md.i1;Md.uint16=Md.u2;Md.int16=Md.i2;Md.uint32=Md.u4;Md.int32=Md.i4;Md.float32=Md.f4;Md.float64=Md.f8;function mq(e){return e.constructor===ArrayBuffer}mg.isArrayBuffer=mq;mg.decodeTypedArraySpec=function(e){var t=[],r=ret(e),n=r.dtype,i=Md[n];if(!i)throw new Error('Error in dtype: \"'+n+'\"');var a=i.BYTES_PER_ELEMENT,o=r.bdata;mq(o)||(o=JQe(o));var s=r.shape===void 0?[o.byteLength/a]:(\"\"+r.shape).split(\",\");s.reverse();var l=s.length,u,c,f=+s[0],h=a*f,d=0;if(l===1)t=new i(o);else if(l===2)for(u=+s[1],c=0;c<u;c++)t[c]=new i(o,d,f),d+=h;else if(l===3){u=+s[1];for(var v=+s[2],x=0;x<v;x++)for(t[x]=[],c=0;c<u;c++)t[x][c]=new i(o,d,f),d+=h}else throw new Error(\"ndim: \"+l+'is not supported with the shape:\"'+r.shape+'\"');return t.bdata=r.bdata,t.dtype=r.dtype,t.shape=s.reverse().join(\",\"),e._inputArray=t,t};mg.isTypedArraySpec=function(e){return $Qe(e)&&e.hasOwnProperty(\"dtype\")&&typeof e.dtype==\"string\"&&e.hasOwnProperty(\"bdata\")&&(typeof e.bdata==\"string\"||mq(e.bdata))&&(e.shape===void 0||e.hasOwnProperty(\"shape\")&&(typeof e.shape==\"string\"||typeof e.shape==\"number\"))};function ret(e){return{bdata:e.bdata,dtype:e.dtype,shape:e.shape}}mg.concat=function(){var e=[],t=!0,r=0,n,i,a,o,s,l,u,c;for(a=0;a<arguments.length;a++)o=arguments[a],l=o.length,l&&(i?e.push(o):(i=o,s=l),gq(o)?n=!1:(t=!1,r?n!==o.constructor&&(n=!1):n=o.constructor),r+=l);if(!r)return[];if(!e.length)return i;if(t)return i.concat.apply(i,e);if(n){for(u=new n(r),u.set(i),a=0;a<e.length;a++)o=e[a],u.set(o,s),s+=o.length;return u}for(u=new Array(r),c=0;c<i.length;c++)u[c]=i[c];for(a=0;a<e.length;a++){for(o=e[a],c=0;c<o.length;c++)u[s+c]=o[c];s+=c}return u};mg.maxRowLength=function(e){return vee(e,Math.max,0)};mg.minRowLength=function(e){return vee(e,Math.min,1/0)};function vee(e,t,r){if(s6(e))if(s6(e[0])){for(var n=r,i=0;i<e.length;i++)n=t(n,e[i].length);return n}else return e.length;return 0}});var ES=ye((HQt,_ee)=>{\"use strict\";var pee=uo(),_q=vv().isArrayOrTypedArray;_ee.exports=function(t,r){if(pee(r))r=String(r);else if(typeof r!=\"string\"||r.substr(r.length-4)===\"[-1]\")throw\"bad property string\";var n=r.split(\".\"),i,a,o,s;for(s=0;s<n.length;s++)if(String(n[s]).slice(0,2)===\"__\")throw\"bad property string\";for(s=0;s<n.length;){if(i=String(n[s]).match(/^([^\\[\\]]*)((\\[\\-?[0-9]*\\])+)$/),i){if(i[1])n[s]=i[1];else if(s===0)n.splice(0,1);else throw\"bad property string\";for(a=i[2].substr(1,i[2].length-2).split(\"][\"),o=0;o<a.length;o++)s++,n.splice(s,0,Number(a[o]))}s++}return typeof t!=\"object\"?oet(t,r,n):{set:mee(t,n,r),get:gee(t,n),astr:r,parts:n,obj:t}};function gee(e,t){return function(r){var n=e,i,a,o,s,l;for(s=0;s<t.length-1;s++){if(i=t[s],i===-1){for(a=!0,o=[],l=0;l<n.length;l++)o[l]=gee(n[l],t.slice(s+1))(r),o[l]!==o[0]&&(a=!1);return a?o[0]:o}if(typeof i==\"number\"&&!_q(n)||(n=n[i],typeof n!=\"object\"||n===null))return}if(!(typeof n!=\"object\"||n===null)&&(o=n[t[s]],!(!r&&o===null)))return o}}var iet=/(^|\\.)args\\[/;function yq(e,t){return e===void 0||e===null&&!t.match(iet)}function mee(e,t,r){return function(n){var i=e,a=\"\",o=[[e,a]],s=yq(n,r),l,u;for(u=0;u<t.length-1;u++){if(l=t[u],typeof l==\"number\"&&!_q(i))throw\"array index but container is not an array\";if(l===-1){if(s=!aet(i,t.slice(u+1),n,r),s)break;return}if(!yee(i,l,t[u+1],s))break;if(i=i[l],typeof i!=\"object\"||i===null)throw\"container is not an object\";a=net(a,l),o.push([i,a])}if(s){if(u===t.length-1&&(delete i[t[u]],Array.isArray(i)&&+t[u]===i.length-1))for(;i.length&&i[i.length-1]===void 0;)i.pop()}else i[t[u]]=n}}function net(e,t){var r=t;return pee(t)?r=\"[\"+t+\"]\":e&&(r=\".\"+t),e+r}function aet(e,t,r,n){var i=_q(r),a=!0,o=r,s=n.replace(\"-1\",0),l=i?!1:yq(r,s),u=t[0],c;for(c=0;c<e.length;c++)s=n.replace(\"-1\",c),i&&(o=r[c%r.length],l=yq(o,s)),l&&(a=!1),yee(e,c,u,l)&&mee(e[c],t,n.replace(\"-1\",c))(o);return a}function yee(e,t,r,n){if(e[t]===void 0){if(n)return!1;typeof r==\"number\"?e[t]=[]:e[t]={}}return!0}function oet(e,t,r){return{set:function(){throw\"bad container\"},get:function(){},astr:t,parts:r,obj:e}}});var Tee=ye((GQt,wee)=>{\"use strict\";var t3=ES(),set=/^\\w*$/,uet=0,xee=1,l6=2,bee=3,ob=4;wee.exports=function(t,r,n,i){n=n||\"name\",i=i||\"value\";var a,o,s,l={};r&&r.length?(s=t3(t,r),o=s.get()):o=t,r=r||\"\";var u={};if(o)for(a=0;a<o.length;a++)u[o[a][n]]=a;var c=set.test(i),f={set:function(h,d){var v=d===null?ob:uet;if(!o){if(!s||v===ob)return;o=[],s.set(o)}var x=u[h];if(x===void 0){if(v===ob)return;v=v|bee,x=o.length,u[h]=x}else d!==(c?o[x][i]:t3(o[x],i).get())&&(v=v|l6);var b=o[x]=o[x]||{};return b[n]=h,c?b[i]=d:t3(b,i).set(d),d!==null&&(v=v&~ob),l[x]=l[x]|v,f},get:function(h){if(o){var d=u[h];if(d!==void 0)return c?o[d][i]:t3(o[d],i).get()}},rename:function(h,d){var v=u[h];return v===void 0||(l[v]=l[v]|xee,u[d]=v,delete u[h],o[v][n]=d),f},remove:function(h){var d=u[h];if(d===void 0)return f;var v=o[d];if(Object.keys(v).length>2)return l[d]=l[d]|l6,f.set(h,null);if(c){for(a=d;a<o.length;a++)l[a]=l[a]|bee;for(a=d;a<o.length;a++)u[o[a][n]]--;o.splice(d,1),delete u[h]}else t3(v,i).set(null),l[d]=l[d]|l6|ob;return f},constructUpdate:function(){for(var h,d,v={},x=Object.keys(l),b=0;b<x.length;b++)d=x[b],h=r+\"[\"+d+\"]\",o[d]?(l[d]&xee&&(v[h+\".\"+n]=o[d][n]),l[d]&l6&&(c?v[h+\".\"+i]=l[d]&ob?null:o[d][i]:v[h+\".\"+i]=l[d]&ob?null:t3(o[d],i).get())):v[h]=null;return v}};return f}});var See=ye((jQt,Aee)=>{\"use strict\";var cet=/^(.*)(\\.[^\\.\\[\\]]+|\\[\\d\\])$/,fet=/^[^\\.\\[\\]]+$/;Aee.exports=function(e,t){for(;t;){var r=e.match(cet);if(r)e=r[1];else if(e.match(fet))e=\"\";else throw new Error(\"bad relativeAttr call:\"+[e,t]);if(t.charAt(0)===\"^\")t=t.slice(1);else break}return e&&t.charAt(0)!==\"[\"?e+\".\"+t:e+t}});var u6=ye((WQt,Mee)=>{\"use strict\";var het=uo();Mee.exports=function(t,r){if(t>0)return Math.log(t)/Math.LN10;var n=Math.log(Math.min(r[0],r[1]))/Math.LN10;return het(n)||(n=Math.log(Math.max(r[0],r[1]))/Math.LN10-6),n}});var Cee=ye((ZQt,kee)=>{\"use strict\";var Eee=vv().isArrayOrTypedArray,kS=gy();kee.exports=function e(t,r){for(var n in r){var i=r[n],a=t[n];if(a!==i)if(n.charAt(0)===\"_\"||typeof i==\"function\"){if(n in t)continue;t[n]=i}else if(Eee(i)&&Eee(a)&&kS(i[0])){if(n===\"customdata\"||n===\"ids\")continue;for(var o=Math.min(i.length,a.length),s=0;s<o;s++)a[s]!==i[s]&&kS(i[s])&&kS(a[s])&&e(a[s],i[s])}else kS(i)&&kS(a)&&(e(a,i),Object.keys(a).length||delete t[n])}}});var r3=ye((XQt,Lee)=>{\"use strict\";function det(e,t){var r=e%t;return r<0?r+t:r}function vet(e,t){return Math.abs(e)>t/2?e-Math.round(e/t)*t:e}Lee.exports={mod:det,modHalf:vet}});var id=ye((YQt,c6)=>{(function(e){var t=/^\\s+/,r=/\\s+$/,n=0,i=e.round,a=e.min,o=e.max,s=e.random;function l(me,Re){if(me=me||\"\",Re=Re||{},me instanceof l)return me;if(!(this instanceof l))return new l(me,Re);var ce=u(me);this._originalInput=me,this._r=ce.r,this._g=ce.g,this._b=ce.b,this._a=ce.a,this._roundA=i(100*this._a)/100,this._format=Re.format||ce.format,this._gradientType=Re.gradientType,this._r<1&&(this._r=i(this._r)),this._g<1&&(this._g=i(this._g)),this._b<1&&(this._b=i(this._b)),this._ok=ce.ok,this._tc_id=n++}l.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 me=this.toRgb();return(me.r*299+me.g*587+me.b*114)/1e3},getLuminance:function(){var me=this.toRgb(),Re,ce,Ge,nt,ct,qt;return Re=me.r/255,ce=me.g/255,Ge=me.b/255,Re<=.03928?nt=Re/12.92:nt=e.pow((Re+.055)/1.055,2.4),ce<=.03928?ct=ce/12.92:ct=e.pow((ce+.055)/1.055,2.4),Ge<=.03928?qt=Ge/12.92:qt=e.pow((Ge+.055)/1.055,2.4),.2126*nt+.7152*ct+.0722*qt},setAlpha:function(me){return this._a=N(me),this._roundA=i(100*this._a)/100,this},toHsv:function(){var me=d(this._r,this._g,this._b);return{h:me.h*360,s:me.s,v:me.v,a:this._a}},toHsvString:function(){var me=d(this._r,this._g,this._b),Re=i(me.h*360),ce=i(me.s*100),Ge=i(me.v*100);return this._a==1?\"hsv(\"+Re+\", \"+ce+\"%, \"+Ge+\"%)\":\"hsva(\"+Re+\", \"+ce+\"%, \"+Ge+\"%, \"+this._roundA+\")\"},toHsl:function(){var me=f(this._r,this._g,this._b);return{h:me.h*360,s:me.s,l:me.l,a:this._a}},toHslString:function(){var me=f(this._r,this._g,this._b),Re=i(me.h*360),ce=i(me.s*100),Ge=i(me.l*100);return this._a==1?\"hsl(\"+Re+\", \"+ce+\"%, \"+Ge+\"%)\":\"hsla(\"+Re+\", \"+ce+\"%, \"+Ge+\"%, \"+this._roundA+\")\"},toHex:function(me){return x(this._r,this._g,this._b,me)},toHexString:function(me){return\"#\"+this.toHex(me)},toHex8:function(me){return b(this._r,this._g,this._b,this._a,me)},toHex8String:function(me){return\"#\"+this.toHex8(me)},toRgb:function(){return{r:i(this._r),g:i(this._g),b:i(this._b),a:this._a}},toRgbString:function(){return this._a==1?\"rgb(\"+i(this._r)+\", \"+i(this._g)+\", \"+i(this._b)+\")\":\"rgba(\"+i(this._r)+\", \"+i(this._g)+\", \"+i(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:i(W(this._r,255)*100)+\"%\",g:i(W(this._g,255)*100)+\"%\",b:i(W(this._b,255)*100)+\"%\",a:this._a}},toPercentageRgbString:function(){return this._a==1?\"rgb(\"+i(W(this._r,255)*100)+\"%, \"+i(W(this._g,255)*100)+\"%, \"+i(W(this._b,255)*100)+\"%)\":\"rgba(\"+i(W(this._r,255)*100)+\"%, \"+i(W(this._g,255)*100)+\"%, \"+i(W(this._b,255)*100)+\"%, \"+this._roundA+\")\"},toName:function(){return this._a===0?\"transparent\":this._a<1?!1:X[x(this._r,this._g,this._b,!0)]||!1},toFilter:function(me){var Re=\"#\"+p(this._r,this._g,this._b,this._a),ce=Re,Ge=this._gradientType?\"GradientType = 1, \":\"\";if(me){var nt=l(me);ce=\"#\"+p(nt._r,nt._g,nt._b,nt._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+Ge+\"startColorstr=\"+Re+\",endColorstr=\"+ce+\")\"},toString:function(me){var Re=!!me;me=me||this._format;var ce=!1,Ge=this._a<1&&this._a>=0,nt=!Re&&Ge&&(me===\"hex\"||me===\"hex6\"||me===\"hex3\"||me===\"hex4\"||me===\"hex8\"||me===\"name\");return nt?me===\"name\"&&this._a===0?this.toName():this.toRgbString():(me===\"rgb\"&&(ce=this.toRgbString()),me===\"prgb\"&&(ce=this.toPercentageRgbString()),(me===\"hex\"||me===\"hex6\")&&(ce=this.toHexString()),me===\"hex3\"&&(ce=this.toHexString(!0)),me===\"hex4\"&&(ce=this.toHex8String(!0)),me===\"hex8\"&&(ce=this.toHex8String()),me===\"name\"&&(ce=this.toName()),me===\"hsl\"&&(ce=this.toHslString()),me===\"hsv\"&&(ce=this.toHsvString()),ce||this.toHexString())},clone:function(){return l(this.toString())},_applyModification:function(me,Re){var ce=me.apply(null,[this].concat([].slice.call(Re)));return this._r=ce._r,this._g=ce._g,this._b=ce._b,this.setAlpha(ce._a),this},lighten:function(){return this._applyModification(L,arguments)},brighten:function(){return this._applyModification(_,arguments)},darken:function(){return this._applyModification(C,arguments)},desaturate:function(){return this._applyModification(E,arguments)},saturate:function(){return this._applyModification(k,arguments)},greyscale:function(){return this._applyModification(A,arguments)},spin:function(){return this._applyModification(M,arguments)},_applyCombination:function(me,Re){return me.apply(null,[this].concat([].slice.call(Re)))},analogous:function(){return this._applyCombination(q,arguments)},complement:function(){return this._applyCombination(g,arguments)},monochromatic:function(){return this._applyCombination(V,arguments)},splitcomplement:function(){return this._applyCombination(F,arguments)},triad:function(){return this._applyCombination(P,arguments)},tetrad:function(){return this._applyCombination(T,arguments)}},l.fromRatio=function(me,Re){if(typeof me==\"object\"){var ce={};for(var Ge in me)me.hasOwnProperty(Ge)&&(Ge===\"a\"?ce[Ge]=me[Ge]:ce[Ge]=ge(me[Ge]));me=ce}return l(me,Re)};function u(me){var Re={r:0,g:0,b:0},ce=1,Ge=null,nt=null,ct=null,qt=!1,rt=!1;return typeof me==\"string\"&&(me=ze(me)),typeof me==\"object\"&&(Ae(me.r)&&Ae(me.g)&&Ae(me.b)?(Re=c(me.r,me.g,me.b),qt=!0,rt=String(me.r).substr(-1)===\"%\"?\"prgb\":\"rgb\"):Ae(me.h)&&Ae(me.s)&&Ae(me.v)?(Ge=ge(me.s),nt=ge(me.v),Re=v(me.h,Ge,nt),qt=!0,rt=\"hsv\"):Ae(me.h)&&Ae(me.s)&&Ae(me.l)&&(Ge=ge(me.s),ct=ge(me.l),Re=h(me.h,Ge,ct),qt=!0,rt=\"hsl\"),me.hasOwnProperty(\"a\")&&(ce=me.a)),ce=N(ce),{ok:qt,format:me.format||rt,r:a(255,o(Re.r,0)),g:a(255,o(Re.g,0)),b:a(255,o(Re.b,0)),a:ce}}function c(me,Re,ce){return{r:W(me,255)*255,g:W(Re,255)*255,b:W(ce,255)*255}}function f(me,Re,ce){me=W(me,255),Re=W(Re,255),ce=W(ce,255);var Ge=o(me,Re,ce),nt=a(me,Re,ce),ct,qt,rt=(Ge+nt)/2;if(Ge==nt)ct=qt=0;else{var ot=Ge-nt;switch(qt=rt>.5?ot/(2-Ge-nt):ot/(Ge+nt),Ge){case me:ct=(Re-ce)/ot+(Re<ce?6:0);break;case Re:ct=(ce-me)/ot+2;break;case ce:ct=(me-Re)/ot+4;break}ct/=6}return{h:ct,s:qt,l:rt}}function h(me,Re,ce){var Ge,nt,ct;me=W(me,360),Re=W(Re,100),ce=W(ce,100);function qt(Rt,kt,Ct){return Ct<0&&(Ct+=1),Ct>1&&(Ct-=1),Ct<1/6?Rt+(kt-Rt)*6*Ct:Ct<1/2?kt:Ct<2/3?Rt+(kt-Rt)*(2/3-Ct)*6:Rt}if(Re===0)Ge=nt=ct=ce;else{var rt=ce<.5?ce*(1+Re):ce+Re-ce*Re,ot=2*ce-rt;Ge=qt(ot,rt,me+1/3),nt=qt(ot,rt,me),ct=qt(ot,rt,me-1/3)}return{r:Ge*255,g:nt*255,b:ct*255}}function d(me,Re,ce){me=W(me,255),Re=W(Re,255),ce=W(ce,255);var Ge=o(me,Re,ce),nt=a(me,Re,ce),ct,qt,rt=Ge,ot=Ge-nt;if(qt=Ge===0?0:ot/Ge,Ge==nt)ct=0;else{switch(Ge){case me:ct=(Re-ce)/ot+(Re<ce?6:0);break;case Re:ct=(ce-me)/ot+2;break;case ce:ct=(me-Re)/ot+4;break}ct/=6}return{h:ct,s:qt,v:rt}}function v(me,Re,ce){me=W(me,360)*6,Re=W(Re,100),ce=W(ce,100);var Ge=e.floor(me),nt=me-Ge,ct=ce*(1-Re),qt=ce*(1-nt*Re),rt=ce*(1-(1-nt)*Re),ot=Ge%6,Rt=[ce,qt,ct,ct,rt,ce][ot],kt=[rt,ce,ce,qt,ct,ct][ot],Ct=[ct,ct,rt,ce,ce,qt][ot];return{r:Rt*255,g:kt*255,b:Ct*255}}function x(me,Re,ce,Ge){var nt=[ke(i(me).toString(16)),ke(i(Re).toString(16)),ke(i(ce).toString(16))];return Ge&&nt[0].charAt(0)==nt[0].charAt(1)&&nt[1].charAt(0)==nt[1].charAt(1)&&nt[2].charAt(0)==nt[2].charAt(1)?nt[0].charAt(0)+nt[1].charAt(0)+nt[2].charAt(0):nt.join(\"\")}function b(me,Re,ce,Ge,nt){var ct=[ke(i(me).toString(16)),ke(i(Re).toString(16)),ke(i(ce).toString(16)),ke(ie(Ge))];return nt&&ct[0].charAt(0)==ct[0].charAt(1)&&ct[1].charAt(0)==ct[1].charAt(1)&&ct[2].charAt(0)==ct[2].charAt(1)&&ct[3].charAt(0)==ct[3].charAt(1)?ct[0].charAt(0)+ct[1].charAt(0)+ct[2].charAt(0)+ct[3].charAt(0):ct.join(\"\")}function p(me,Re,ce,Ge){var nt=[ke(ie(Ge)),ke(i(me).toString(16)),ke(i(Re).toString(16)),ke(i(ce).toString(16))];return nt.join(\"\")}l.equals=function(me,Re){return!me||!Re?!1:l(me).toRgbString()==l(Re).toRgbString()},l.random=function(){return l.fromRatio({r:s(),g:s(),b:s()})};function E(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toHsl();return ce.s-=Re/100,ce.s=re(ce.s),l(ce)}function k(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toHsl();return ce.s+=Re/100,ce.s=re(ce.s),l(ce)}function A(me){return l(me).desaturate(100)}function L(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toHsl();return ce.l+=Re/100,ce.l=re(ce.l),l(ce)}function _(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toRgb();return ce.r=o(0,a(255,ce.r-i(255*-(Re/100)))),ce.g=o(0,a(255,ce.g-i(255*-(Re/100)))),ce.b=o(0,a(255,ce.b-i(255*-(Re/100)))),l(ce)}function C(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toHsl();return ce.l-=Re/100,ce.l=re(ce.l),l(ce)}function M(me,Re){var ce=l(me).toHsl(),Ge=(ce.h+Re)%360;return ce.h=Ge<0?360+Ge:Ge,l(ce)}function g(me){var Re=l(me).toHsl();return Re.h=(Re.h+180)%360,l(Re)}function P(me){var Re=l(me).toHsl(),ce=Re.h;return[l(me),l({h:(ce+120)%360,s:Re.s,l:Re.l}),l({h:(ce+240)%360,s:Re.s,l:Re.l})]}function T(me){var Re=l(me).toHsl(),ce=Re.h;return[l(me),l({h:(ce+90)%360,s:Re.s,l:Re.l}),l({h:(ce+180)%360,s:Re.s,l:Re.l}),l({h:(ce+270)%360,s:Re.s,l:Re.l})]}function F(me){var Re=l(me).toHsl(),ce=Re.h;return[l(me),l({h:(ce+72)%360,s:Re.s,l:Re.l}),l({h:(ce+216)%360,s:Re.s,l:Re.l})]}function q(me,Re,ce){Re=Re||6,ce=ce||30;var Ge=l(me).toHsl(),nt=360/ce,ct=[l(me)];for(Ge.h=(Ge.h-(nt*Re>>1)+720)%360;--Re;)Ge.h=(Ge.h+nt)%360,ct.push(l(Ge));return ct}function V(me,Re){Re=Re||6;for(var ce=l(me).toHsv(),Ge=ce.h,nt=ce.s,ct=ce.v,qt=[],rt=1/Re;Re--;)qt.push(l({h:Ge,s:nt,v:ct})),ct=(ct+rt)%1;return qt}l.mix=function(me,Re,ce){ce=ce===0?0:ce||50;var Ge=l(me).toRgb(),nt=l(Re).toRgb(),ct=ce/100,qt={r:(nt.r-Ge.r)*ct+Ge.r,g:(nt.g-Ge.g)*ct+Ge.g,b:(nt.b-Ge.b)*ct+Ge.b,a:(nt.a-Ge.a)*ct+Ge.a};return l(qt)},l.readability=function(me,Re){var ce=l(me),Ge=l(Re);return(e.max(ce.getLuminance(),Ge.getLuminance())+.05)/(e.min(ce.getLuminance(),Ge.getLuminance())+.05)},l.isReadable=function(me,Re,ce){var Ge=l.readability(me,Re),nt,ct;switch(ct=!1,nt=Ce(ce),nt.level+nt.size){case\"AAsmall\":case\"AAAlarge\":ct=Ge>=4.5;break;case\"AAlarge\":ct=Ge>=3;break;case\"AAAsmall\":ct=Ge>=7;break}return ct},l.mostReadable=function(me,Re,ce){var Ge=null,nt=0,ct,qt,rt,ot;ce=ce||{},qt=ce.includeFallbackColors,rt=ce.level,ot=ce.size;for(var Rt=0;Rt<Re.length;Rt++)ct=l.readability(me,Re[Rt]),ct>nt&&(nt=ct,Ge=l(Re[Rt]));return l.isReadable(me,Ge,{level:rt,size:ot})||!qt?Ge:(ce.includeFallbackColors=!1,l.mostReadable(me,[\"#fff\",\"#000\"],ce))};var H=l.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\"},X=l.hexNames=G(H);function G(me){var Re={};for(var ce in me)me.hasOwnProperty(ce)&&(Re[me[ce]]=ce);return Re}function N(me){return me=parseFloat(me),(isNaN(me)||me<0||me>1)&&(me=1),me}function W(me,Re){_e(me)&&(me=\"100%\");var ce=Me(me);return me=a(Re,o(0,parseFloat(me))),ce&&(me=parseInt(me*Re,10)/100),e.abs(me-Re)<1e-6?1:me%Re/parseFloat(Re)}function re(me){return a(1,o(0,me))}function ae(me){return parseInt(me,16)}function _e(me){return typeof me==\"string\"&&me.indexOf(\".\")!=-1&&parseFloat(me)===1}function Me(me){return typeof me==\"string\"&&me.indexOf(\"%\")!=-1}function ke(me){return me.length==1?\"0\"+me:\"\"+me}function ge(me){return me<=1&&(me=me*100+\"%\"),me}function ie(me){return e.round(parseFloat(me)*255).toString(16)}function Te(me){return ae(me)/255}var Ee=function(){var me=\"[-\\\\+]?\\\\d+%?\",Re=\"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\",ce=\"(?:\"+Re+\")|(?:\"+me+\")\",Ge=\"[\\\\s|\\\\(]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")\\\\s*\\\\)?\",nt=\"[\\\\s|\\\\(]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")\\\\s*\\\\)?\";return{CSS_UNIT:new RegExp(ce),rgb:new RegExp(\"rgb\"+Ge),rgba:new RegExp(\"rgba\"+nt),hsl:new RegExp(\"hsl\"+Ge),hsla:new RegExp(\"hsla\"+nt),hsv:new RegExp(\"hsv\"+Ge),hsva:new RegExp(\"hsva\"+nt),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 Ae(me){return!!Ee.CSS_UNIT.exec(me)}function ze(me){me=me.replace(t,\"\").replace(r,\"\").toLowerCase();var Re=!1;if(H[me])me=H[me],Re=!0;else if(me==\"transparent\")return{r:0,g:0,b:0,a:0,format:\"name\"};var ce;return(ce=Ee.rgb.exec(me))?{r:ce[1],g:ce[2],b:ce[3]}:(ce=Ee.rgba.exec(me))?{r:ce[1],g:ce[2],b:ce[3],a:ce[4]}:(ce=Ee.hsl.exec(me))?{h:ce[1],s:ce[2],l:ce[3]}:(ce=Ee.hsla.exec(me))?{h:ce[1],s:ce[2],l:ce[3],a:ce[4]}:(ce=Ee.hsv.exec(me))?{h:ce[1],s:ce[2],v:ce[3]}:(ce=Ee.hsva.exec(me))?{h:ce[1],s:ce[2],v:ce[3],a:ce[4]}:(ce=Ee.hex8.exec(me))?{r:ae(ce[1]),g:ae(ce[2]),b:ae(ce[3]),a:Te(ce[4]),format:Re?\"name\":\"hex8\"}:(ce=Ee.hex6.exec(me))?{r:ae(ce[1]),g:ae(ce[2]),b:ae(ce[3]),format:Re?\"name\":\"hex\"}:(ce=Ee.hex4.exec(me))?{r:ae(ce[1]+\"\"+ce[1]),g:ae(ce[2]+\"\"+ce[2]),b:ae(ce[3]+\"\"+ce[3]),a:Te(ce[4]+\"\"+ce[4]),format:Re?\"name\":\"hex8\"}:(ce=Ee.hex3.exec(me))?{r:ae(ce[1]+\"\"+ce[1]),g:ae(ce[2]+\"\"+ce[2]),b:ae(ce[3]+\"\"+ce[3]),format:Re?\"name\":\"hex\"}:!1}function Ce(me){var Re,ce;return me=me||{level:\"AA\",size:\"small\"},Re=(me.level||\"AA\").toUpperCase(),ce=(me.size||\"small\").toLowerCase(),Re!==\"AA\"&&Re!==\"AAA\"&&(Re=\"AA\"),ce!==\"small\"&&ce!==\"large\"&&(ce=\"small\"),{level:Re,size:ce}}typeof c6!=\"undefined\"&&c6.exports?c6.exports=l:window.tinycolor=l})(Math)});var no=ye(PS=>{\"use strict\";var Pee=gy(),CS=Array.isArray;function pet(e,t){var r,n;for(r=0;r<e.length;r++){if(n=e[r],n!==null&&typeof n==\"object\")return!1;n!==void 0&&(t[r]=n)}return!0}PS.extendFlat=function(){return LS(arguments,!1,!1,!1)};PS.extendDeep=function(){return LS(arguments,!0,!1,!1)};PS.extendDeepAll=function(){return LS(arguments,!0,!0,!1)};PS.extendDeepNoArrays=function(){return LS(arguments,!0,!1,!0)};function LS(e,t,r,n){var i=e[0],a=e.length,o,s,l,u,c,f,h;if(a===2&&CS(i)&&CS(e[1])&&i.length===0){if(h=pet(e[1],i),h)return i;i.splice(0,i.length)}for(var d=1;d<a;d++){o=e[d];for(s in o)l=i[s],u=o[s],n&&CS(u)?i[s]=u:t&&u&&(Pee(u)||(c=CS(u)))?(c?(c=!1,f=l&&CS(l)?l:[]):f=l&&Pee(l)?l:{},i[s]=LS([f,u],t,r,n)):(typeof u!=\"undefined\"||r)&&(i[s]=u)}return i}});var Su=ye((JQt,Iee)=>{\"use strict\";Iee.exports=function(e){var t=e.variantValues,r=e.editType,n=e.colorEditType;n===void 0&&(n=r);var i={editType:r,valType:\"integer\",min:1,max:1e3,extras:[\"normal\",\"bold\"],dflt:\"normal\"};e.noNumericWeightValues&&(i.valType=\"enumerated\",i.values=i.extras,i.extras=void 0,i.min=void 0,i.max=void 0);var a={family:{valType:\"string\",noBlank:!0,strict:!0,editType:r},size:{valType:\"number\",min:1,editType:r},color:{valType:\"color\",editType:n},weight:i,style:{editType:r,valType:\"enumerated\",values:[\"normal\",\"italic\"],dflt:\"normal\"},variant:e.noFontVariant?void 0:{editType:r,valType:\"enumerated\",values:t||[\"normal\",\"small-caps\",\"all-small-caps\",\"all-petite-caps\",\"petite-caps\",\"unicase\"],dflt:\"normal\"},textcase:e.noFontTextcase?void 0:{editType:r,valType:\"enumerated\",values:[\"normal\",\"word caps\",\"upper\",\"lower\"],dflt:\"normal\"},lineposition:e.noFontLineposition?void 0:{editType:r,valType:\"flaglist\",flags:[\"under\",\"over\",\"through\"],extras:[\"none\"],dflt:\"none\"},shadow:e.noFontShadow?void 0:{editType:r,valType:\"string\",dflt:e.autoShadowDflt?\"auto\":\"none\"},editType:r};return e.autoSize&&(a.size.dflt=\"auto\"),e.autoColor&&(a.color.dflt=\"auto\"),e.arrayOk&&(a.family.arrayOk=!0,a.weight.arrayOk=!0,a.style.arrayOk=!0,e.noFontVariant||(a.variant.arrayOk=!0),e.noFontTextcase||(a.textcase.arrayOk=!0),e.noFontLineposition||(a.lineposition.arrayOk=!0),e.noFontShadow||(a.shadow.arrayOk=!0),a.size.arrayOk=!0,a.color.arrayOk=!0),a}});var IS=ye(($Qt,Ree)=>{\"use strict\";Ree.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:\"Arial, sans-serif\",HOVERMINTIME:50,HOVERID:\"-hover\"}});var N1=ye((QQt,Fee)=>{\"use strict\";var Dee=IS(),zee=Su(),xq=zee({editType:\"none\"});xq.family.dflt=Dee.HOVERFONT;xq.size.dflt=Dee.HOVERFONTSIZE;Fee.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:xq,grouptitlefont:zee({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\"}}});var i3=ye((eer,qee)=>{\"use strict\";var get=Su(),f6=N1().hoverlabel,h6=no().extendFlat;qee.exports={hoverlabel:{bgcolor:h6({},f6.bgcolor,{arrayOk:!0}),bordercolor:h6({},f6.bordercolor,{arrayOk:!0}),font:get({arrayOk:!0,editType:\"none\"}),align:h6({},f6.align,{arrayOk:!0}),namelength:h6({},f6.namelength,{arrayOk:!0}),editType:\"none\"}}});var vl=ye((ter,Oee)=>{\"use strict\";var met=Su(),yet=i3();Oee.exports={type:{valType:\"enumerated\",values:[],dflt:\"scatter\",editType:\"calc+clearAxisTypes\",_noTemplating:!0},visible:{valType:\"enumerated\",values:[!0,!1,\"legendonly\"],dflt:!0,editType:\"calc\"},showlegend:{valType:\"boolean\",dflt:!0,editType:\"style\"},legend:{valType:\"subplotid\",dflt:\"legend\",editType:\"style\"},legendgroup:{valType:\"string\",dflt:\"\",editType:\"style\"},legendgrouptitle:{text:{valType:\"string\",dflt:\"\",editType:\"style\"},font:met({editType:\"style\"}),editType:\"style\"},legendrank:{valType:\"number\",dflt:1e3,editType:\"style\"},legendwidth:{valType:\"number\",min:0,editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"style\"},name:{valType:\"string\",editType:\"style\"},uid:{valType:\"string\",editType:\"plot\",anim:!0},ids:{valType:\"data_array\",editType:\"calc\",anim:!0},customdata:{valType:\"data_array\",editType:\"calc\"},meta:{valType:\"any\",arrayOk:!0,editType:\"plot\"},selectedpoints:{valType:\"any\",editType:\"calc\"},hoverinfo:{valType:\"flaglist\",flags:[\"x\",\"y\",\"z\",\"text\",\"name\"],extras:[\"all\",\"none\",\"skip\"],arrayOk:!0,dflt:\"all\",editType:\"none\"},hoverlabel:yet.hoverlabel,stream:{token:{valType:\"string\",noBlank:!0,strict:!0,editType:\"calc\"},maxpoints:{valType:\"number\",min:0,max:1e4,dflt:500,editType:\"calc\"},editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"}}});var sb=ye((rer,Uee)=>{\"use strict\";var _et=id(),d6={Greys:[[0,\"rgb(0,0,0)\"],[1,\"rgb(255,255,255)\"]],YlGnBu:[[0,\"rgb(8,29,88)\"],[.125,\"rgb(37,52,148)\"],[.25,\"rgb(34,94,168)\"],[.375,\"rgb(29,145,192)\"],[.5,\"rgb(65,182,196)\"],[.625,\"rgb(127,205,187)\"],[.75,\"rgb(199,233,180)\"],[.875,\"rgb(237,248,217)\"],[1,\"rgb(255,255,217)\"]],Greens:[[0,\"rgb(0,68,27)\"],[.125,\"rgb(0,109,44)\"],[.25,\"rgb(35,139,69)\"],[.375,\"rgb(65,171,93)\"],[.5,\"rgb(116,196,118)\"],[.625,\"rgb(161,217,155)\"],[.75,\"rgb(199,233,192)\"],[.875,\"rgb(229,245,224)\"],[1,\"rgb(247,252,245)\"]],YlOrRd:[[0,\"rgb(128,0,38)\"],[.125,\"rgb(189,0,38)\"],[.25,\"rgb(227,26,28)\"],[.375,\"rgb(252,78,42)\"],[.5,\"rgb(253,141,60)\"],[.625,\"rgb(254,178,76)\"],[.75,\"rgb(254,217,118)\"],[.875,\"rgb(255,237,160)\"],[1,\"rgb(255,255,204)\"]],Bluered:[[0,\"rgb(0,0,255)\"],[1,\"rgb(255,0,0)\"]],RdBu:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(106,137,247)\"],[.5,\"rgb(190,190,190)\"],[.6,\"rgb(220,170,132)\"],[.7,\"rgb(230,145,90)\"],[1,\"rgb(178,10,28)\"]],Reds:[[0,\"rgb(220,220,220)\"],[.2,\"rgb(245,195,157)\"],[.4,\"rgb(245,160,105)\"],[1,\"rgb(178,10,28)\"]],Blues:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(40,60,190)\"],[.5,\"rgb(70,100,245)\"],[.6,\"rgb(90,120,245)\"],[.7,\"rgb(106,137,247)\"],[1,\"rgb(220,220,220)\"]],Picnic:[[0,\"rgb(0,0,255)\"],[.1,\"rgb(51,153,255)\"],[.2,\"rgb(102,204,255)\"],[.3,\"rgb(153,204,255)\"],[.4,\"rgb(204,204,255)\"],[.5,\"rgb(255,255,255)\"],[.6,\"rgb(255,204,255)\"],[.7,\"rgb(255,153,255)\"],[.8,\"rgb(255,102,204)\"],[.9,\"rgb(255,102,102)\"],[1,\"rgb(255,0,0)\"]],Rainbow:[[0,\"rgb(150,0,90)\"],[.125,\"rgb(0,0,200)\"],[.25,\"rgb(0,25,255)\"],[.375,\"rgb(0,152,255)\"],[.5,\"rgb(44,255,150)\"],[.625,\"rgb(151,255,0)\"],[.75,\"rgb(255,234,0)\"],[.875,\"rgb(255,111,0)\"],[1,\"rgb(255,0,0)\"]],Portland:[[0,\"rgb(12,51,131)\"],[.25,\"rgb(10,136,186)\"],[.5,\"rgb(242,211,56)\"],[.75,\"rgb(242,143,56)\"],[1,\"rgb(217,30,30)\"]],Jet:[[0,\"rgb(0,0,131)\"],[.125,\"rgb(0,60,170)\"],[.375,\"rgb(5,255,255)\"],[.625,\"rgb(255,255,0)\"],[.875,\"rgb(250,0,0)\"],[1,\"rgb(128,0,0)\"]],Hot:[[0,\"rgb(0,0,0)\"],[.3,\"rgb(230,0,0)\"],[.6,\"rgb(255,210,0)\"],[1,\"rgb(255,255,255)\"]],Blackbody:[[0,\"rgb(0,0,0)\"],[.2,\"rgb(230,0,0)\"],[.4,\"rgb(230,210,0)\"],[.7,\"rgb(255,255,255)\"],[1,\"rgb(160,200,255)\"]],Earth:[[0,\"rgb(0,0,130)\"],[.1,\"rgb(0,180,180)\"],[.2,\"rgb(40,210,40)\"],[.4,\"rgb(230,230,50)\"],[.6,\"rgb(120,70,20)\"],[1,\"rgb(255,255,255)\"]],Electric:[[0,\"rgb(0,0,0)\"],[.15,\"rgb(30,0,100)\"],[.4,\"rgb(120,0,100)\"],[.6,\"rgb(160,90,0)\"],[.8,\"rgb(230,200,0)\"],[1,\"rgb(255,250,220)\"]],Viridis:[[0,\"#440154\"],[.06274509803921569,\"#48186a\"],[.12549019607843137,\"#472d7b\"],[.18823529411764706,\"#424086\"],[.25098039215686274,\"#3b528b\"],[.3137254901960784,\"#33638d\"],[.3764705882352941,\"#2c728e\"],[.4392156862745098,\"#26828e\"],[.5019607843137255,\"#21918c\"],[.5647058823529412,\"#1fa088\"],[.6274509803921569,\"#28ae80\"],[.6901960784313725,\"#3fbc73\"],[.7529411764705882,\"#5ec962\"],[.8156862745098039,\"#84d44b\"],[.8784313725490196,\"#addc30\"],[.9411764705882353,\"#d8e219\"],[1,\"#fde725\"]],Cividis:[[0,\"rgb(0,32,76)\"],[.058824,\"rgb(0,42,102)\"],[.117647,\"rgb(0,52,110)\"],[.176471,\"rgb(39,63,108)\"],[.235294,\"rgb(60,74,107)\"],[.294118,\"rgb(76,85,107)\"],[.352941,\"rgb(91,95,109)\"],[.411765,\"rgb(104,106,112)\"],[.470588,\"rgb(117,117,117)\"],[.529412,\"rgb(131,129,120)\"],[.588235,\"rgb(146,140,120)\"],[.647059,\"rgb(161,152,118)\"],[.705882,\"rgb(176,165,114)\"],[.764706,\"rgb(192,177,109)\"],[.823529,\"rgb(209,191,102)\"],[.882353,\"rgb(225,204,92)\"],[.941176,\"rgb(243,219,79)\"],[1,\"rgb(255,233,69)\"]]},Bee=d6.RdBu;function xet(e,t){if(t||(t=Bee),!e)return t;function r(){try{e=d6[e]||JSON.parse(e)}catch(n){e=t}}return typeof e==\"string\"&&(r(),typeof e==\"string\"&&r()),Nee(e)?e:t}function Nee(e){var t=0;if(!Array.isArray(e)||e.length<2||!e[0]||!e[e.length-1]||+e[0][0]!=0||+e[e.length-1][0]!=1)return!1;for(var r=0;r<e.length;r++){var n=e[r];if(n.length!==2||+n[0]<t||!_et(n[1]).isValid())return!1;t=+n[0]}return!0}function bet(e){return d6[e]!==void 0?!0:Nee(e)}Uee.exports={scales:d6,defaultScale:Bee,get:xet,isValid:bet}});var dh=ye(lb=>{\"use strict\";lb.defaults=[\"#1f77b4\",\"#ff7f0e\",\"#2ca02c\",\"#d62728\",\"#9467bd\",\"#8c564b\",\"#e377c2\",\"#7f7f7f\",\"#bcbd22\",\"#17becf\"];lb.defaultLine=\"#444\";lb.lightLine=\"#eee\";lb.background=\"#fff\";lb.borderLine=\"#BEC8D9\";lb.lightFraction=100*10/11});var va=ye((ner,Vee)=>{\"use strict\";var xp=id(),wet=uo(),Tet=vv().isTypedArray,nd=Vee.exports={},v6=dh();nd.defaults=v6.defaults;var Aet=nd.defaultLine=v6.defaultLine;nd.lightLine=v6.lightLine;var wq=nd.background=v6.background;nd.tinyRGB=function(e){var t=e.toRgb();return\"rgb(\"+Math.round(t.r)+\", \"+Math.round(t.g)+\", \"+Math.round(t.b)+\")\"};nd.rgb=function(e){return nd.tinyRGB(xp(e))};nd.opacity=function(e){return e?xp(e).getAlpha():0};nd.addOpacity=function(e,t){var r=xp(e).toRgb();return\"rgba(\"+Math.round(r.r)+\", \"+Math.round(r.g)+\", \"+Math.round(r.b)+\", \"+t+\")\"};nd.combine=function(e,t){var r=xp(e).toRgb();if(r.a===1)return xp(e).toRgbString();var n=xp(t||wq).toRgb(),i=n.a===1?n:{r:255*(1-n.a)+n.r*n.a,g:255*(1-n.a)+n.g*n.a,b:255*(1-n.a)+n.b*n.a},a={r:i.r*(1-r.a)+r.r*r.a,g:i.g*(1-r.a)+r.g*r.a,b:i.b*(1-r.a)+r.b*r.a};return xp(a).toRgbString()};nd.interpolate=function(e,t,r){var n=xp(e).toRgb(),i=xp(t).toRgb(),a={r:r*n.r+(1-r)*i.r,g:r*n.g+(1-r)*i.g,b:r*n.b+(1-r)*i.b};return xp(a).toRgbString()};nd.contrast=function(e,t,r){var n=xp(e);n.getAlpha()!==1&&(n=xp(nd.combine(e,wq)));var i=n.isDark()?t?n.lighten(t):wq:r?n.darken(r):Aet;return i.toString()};nd.stroke=function(e,t){var r=xp(t);e.style({stroke:nd.tinyRGB(r),\"stroke-opacity\":r.getAlpha()})};nd.fill=function(e,t){var r=xp(t);e.style({fill:nd.tinyRGB(r),\"fill-opacity\":r.getAlpha()})};nd.clean=function(e){if(!(!e||typeof e!=\"object\")){var t=Object.keys(e),r,n,i,a;for(r=0;r<t.length;r++)if(i=t[r],a=e[i],i.substr(i.length-5)===\"color\")if(Array.isArray(a))for(n=0;n<a.length;n++)a[n]=bq(a[n]);else e[i]=bq(a);else if(i.substr(i.length-10)===\"colorscale\"&&Array.isArray(a))for(n=0;n<a.length;n++)Array.isArray(a[n])&&(a[n][1]=bq(a[n][1]));else if(Array.isArray(a)){var o=a[0];if(!Array.isArray(o)&&o&&typeof o==\"object\")for(n=0;n<a.length;n++)nd.clean(a[n])}else a&&typeof a==\"object\"&&!Tet(a)&&nd.clean(a)}};function bq(e){if(wet(e)||typeof e!=\"string\")return e;var t=e.trim();if(t.substr(0,3)!==\"rgb\")return e;var r=t.match(/^rgba?\\s*\\(([^()]*)\\)$/);if(!r)return e;var n=r[1].trim().split(/\\s*[\\s,]\\s*/),i=t.charAt(3)===\"a\"&&n.length===4;if(!i&&n.length!==3)return e;for(var a=0;a<n.length;a++){if(!n[a].length||(n[a]=Number(n[a]),!(n[a]>=0)))return e;if(a===3)n[a]>1&&(n[a]=1);else if(n[a]>=1)return e}var o=Math.round(n[0]*255)+\", \"+Math.round(n[1]*255)+\", \"+Math.round(n[2]*255);return i?\"rgba(\"+o+\", \"+n[3]+\")\":\"rgb(\"+o+\")\"}});var U1=ye((aer,Hee)=>{\"use strict\";Hee.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}});var n3=ye(Gee=>{\"use strict\";Gee.counter=function(e,t,r,n){var i=(t||\"\")+(r?\"\":\"$\"),a=n===!1?\"\":\"^\";return e===\"xy\"?new RegExp(a+\"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?\"+i):new RegExp(a+e+\"([2-9]|[1-9][0-9]+)?\"+i)}});var Xee=ye(bp=>{\"use strict\";var Tq=uo(),jee=id(),Wee=no().extendFlat,Met=vl(),Eet=sb(),ket=va(),Cet=U1().DESELECTDIM,a3=ES(),Zee=n3().counter,Let=r3().modHalf,dm=vv().isArrayOrTypedArray,V1=vv().isTypedArraySpec,H1=vv().decodeTypedArraySpec;bp.valObjectMeta={data_array:{coerceFunction:function(e,t,r){t.set(dm(e)?e:V1(e)?H1(e):r)}},enumerated:{coerceFunction:function(e,t,r,n){n.coerceNumber&&(e=+e),n.values.indexOf(e)===-1?t.set(r):t.set(e)},validateFunction:function(e,t){t.coerceNumber&&(e=+e);for(var r=t.values,n=0;n<r.length;n++){var i=String(r[n]);if(i.charAt(0)===\"/\"&&i.charAt(i.length-1)===\"/\"){var a=new RegExp(i.substr(1,i.length-2));if(a.test(e))return!0}else if(e===r[n])return!0}return!1}},boolean:{coerceFunction:function(e,t,r){e===!0||e===!1?t.set(e):t.set(r)}},number:{coerceFunction:function(e,t,r,n){V1(e)&&(e=H1(e)),!Tq(e)||n.min!==void 0&&e<n.min||n.max!==void 0&&e>n.max?t.set(r):t.set(+e)}},integer:{coerceFunction:function(e,t,r,n){if((n.extras||[]).indexOf(e)!==-1){t.set(e);return}V1(e)&&(e=H1(e)),e%1||!Tq(e)||n.min!==void 0&&e<n.min||n.max!==void 0&&e>n.max?t.set(r):t.set(+e)}},string:{coerceFunction:function(e,t,r,n){if(typeof e!=\"string\"){var i=typeof e==\"number\";n.strict===!0||!i?t.set(r):t.set(String(e))}else n.noBlank&&!e?t.set(r):t.set(e)}},color:{coerceFunction:function(e,t,r){V1(e)&&(e=H1(e)),jee(e).isValid()?t.set(e):t.set(r)}},colorlist:{coerceFunction:function(e,t,r){function n(i){return jee(i).isValid()}!Array.isArray(e)||!e.length?t.set(r):e.every(n)?t.set(e):t.set(r)}},colorscale:{coerceFunction:function(e,t,r){t.set(Eet.get(e,r))}},angle:{coerceFunction:function(e,t,r){V1(e)&&(e=H1(e)),e===\"auto\"?t.set(\"auto\"):Tq(e)?t.set(Let(+e,360)):t.set(r)}},subplotid:{coerceFunction:function(e,t,r,n){var i=n.regex||Zee(r);if(typeof e==\"string\"&&i.test(e)){t.set(e);return}t.set(r)},validateFunction:function(e,t){var r=t.dflt;return e===r?!0:typeof e!=\"string\"?!1:!!Zee(r).test(e)}},flaglist:{coerceFunction:function(e,t,r,n){if((n.extras||[]).indexOf(e)!==-1){t.set(e);return}if(typeof e!=\"string\"){t.set(r);return}for(var i=e.split(\"+\"),a=0;a<i.length;){var o=i[a];n.flags.indexOf(o)===-1||i.indexOf(o)<a?i.splice(a,1):a++}i.length?t.set(i.join(\"+\")):t.set(r)}},any:{coerceFunction:function(e,t,r){e===void 0?t.set(r):t.set(V1(e)?H1(e):e)}},info_array:{coerceFunction:function(e,t,r,n){function i(E,k,A){var L,_={set:function(C){L=C}};return A===void 0&&(A=k.dflt),bp.valObjectMeta[k.valType].coerceFunction(E,_,A,k),L}if(V1(e)&&(e=H1(e)),!dm(e)){t.set(r);return}var a=n.dimensions===2||n.dimensions===\"1-2\"&&Array.isArray(e)&&dm(e[0]),o=n.items,s=[],l=Array.isArray(o),u=l&&a&&dm(o[0]),c=a&&l&&!u,f=l&&!c?o.length:e.length,h,d,v,x,b,p;if(r=Array.isArray(r)?r:[],a)for(h=0;h<f;h++)for(s[h]=[],v=dm(e[h])?e[h]:[],c?b=o.length:l?b=o[h].length:b=v.length,d=0;d<b;d++)c?x=o[d]:l?x=o[h][d]:x=o,p=i(v[d],x,(r[h]||[])[d]),p!==void 0&&(s[h][d]=p);else for(h=0;h<f;h++)p=i(e[h],l?o[h]:o,r[h]),p!==void 0&&(s[h]=p);t.set(s)},validateFunction:function(e,t){if(!dm(e))return!1;var r=t.items,n=Array.isArray(r),i=t.dimensions===2;if(!t.freeLength&&e.length!==r.length)return!1;for(var a=0;a<e.length;a++)if(i){if(!dm(e[a])||!t.freeLength&&e[a].length!==r[a].length)return!1;for(var o=0;o<e[a].length;o++)if(!p6(e[a][o],n?r[a][o]:r))return!1}else if(!p6(e[a],n?r[a]:r))return!1;return!0}}};bp.coerce=function(e,t,r,n,i){var a=a3(r,n).get(),o=a3(e,n),s=a3(t,n),l=o.get(),u=t._template;if(l===void 0&&u&&(l=a3(u,n).get(),u=0),i===void 0&&(i=a.dflt),a.arrayOk){if(dm(l))return s.set(l),l;if(V1(l))return l=H1(l),s.set(l),l}var c=bp.valObjectMeta[a.valType].coerceFunction;c(l,s,i,a);var f=s.get();return u&&f===i&&!p6(l,a)&&(l=a3(u,n).get(),c(l,s,i,a),f=s.get()),f};bp.coerce2=function(e,t,r,n,i){var a=a3(e,n),o=bp.coerce(e,t,r,n,i),s=a.get();return s!=null?o:!1};bp.coerceFont=function(e,t,r,n){n||(n={}),r=Wee({},r),r=Wee(r,n.overrideDflt||{});var i={family:e(t+\".family\",r.family),size:e(t+\".size\",r.size),color:e(t+\".color\",r.color),weight:e(t+\".weight\",r.weight),style:e(t+\".style\",r.style)};if(n.noFontVariant||(i.variant=e(t+\".variant\",r.variant)),n.noFontLineposition||(i.lineposition=e(t+\".lineposition\",r.lineposition)),n.noFontTextcase||(i.textcase=e(t+\".textcase\",r.textcase)),!n.noFontShadow){var a=r.shadow;a===\"none\"&&n.autoShadowDflt&&(a=\"auto\"),i.shadow=e(t+\".shadow\",a)}return i};bp.coercePattern=function(e,t,r,n){var i=e(t+\".shape\");if(i){e(t+\".solidity\"),e(t+\".size\");var a=e(t+\".fillmode\"),o=a===\"overlay\";if(!n){var s=e(t+\".bgcolor\",o?r:void 0);e(t+\".fgcolor\",o?ket.contrast(s):r)}e(t+\".fgopacity\",o?.5:1)}};bp.coerceHoverinfo=function(e,t,r){var n=t._module.attributes,i=n.hoverinfo?n:Met,a=i.hoverinfo,o;if(r._dataLength===1){var s=a.dflt===\"all\"?a.flags.slice():a.dflt.split(\"+\");s.splice(s.indexOf(\"name\"),1),o=s.join(\"+\")}return bp.coerce(e,t,i,\"hoverinfo\",o)};bp.coerceSelectionMarkerOpacity=function(e,t){if(e.marker){var r=e.marker.opacity;if(r!==void 0){var n,i;!dm(r)&&!e.selected&&!e.unselected&&(n=r,i=Cet*r),t(\"selected.marker.opacity\",n),t(\"unselected.marker.opacity\",i)}}};function p6(e,t){var r=bp.valObjectMeta[t.valType];if(t.arrayOk&&dm(e))return!0;if(r.validateFunction)return r.validateFunction(e,t);var n={},i=n,a={set:function(o){i=o}};return r.coerceFunction(e,a,n,t),i!==n}bp.validate=p6});var ub=ye((ler,$ee)=>{\"use strict\";var Yee={staticPlot:{valType:\"boolean\",dflt:!1},typesetMath:{valType:\"boolean\",dflt:!0},plotlyServerURL:{valType:\"string\",dflt:\"\"},editable:{valType:\"boolean\",dflt:!1},edits:{annotationPosition:{valType:\"boolean\",dflt:!1},annotationTail:{valType:\"boolean\",dflt:!1},annotationText:{valType:\"boolean\",dflt:!1},axisTitleText:{valType:\"boolean\",dflt:!1},colorbarPosition:{valType:\"boolean\",dflt:!1},colorbarTitleText:{valType:\"boolean\",dflt:!1},legendPosition:{valType:\"boolean\",dflt:!1},legendText:{valType:\"boolean\",dflt:!1},shapePosition:{valType:\"boolean\",dflt:!1},titleText:{valType:\"boolean\",dflt:!1}},editSelection:{valType:\"boolean\",dflt:!0},autosizable:{valType:\"boolean\",dflt:!1},responsive:{valType:\"boolean\",dflt:!1},fillFrame:{valType:\"boolean\",dflt:!1},frameMargins:{valType:\"number\",dflt:0,min:0,max:.5},scrollZoom:{valType:\"flaglist\",flags:[\"cartesian\",\"gl3d\",\"geo\",\"mapbox\",\"map\"],extras:[!0,!1],dflt:\"gl3d+geo+map\"},doubleClick:{valType:\"enumerated\",values:[!1,\"reset\",\"autosize\",\"reset+autosize\"],dflt:\"reset+autosize\"},doubleClickDelay:{valType:\"number\",dflt:300,min:0},showAxisDragHandles:{valType:\"boolean\",dflt:!0},showAxisRangeEntryBoxes:{valType:\"boolean\",dflt:!0},showTips:{valType:\"boolean\",dflt:!0},showLink:{valType:\"boolean\",dflt:!1},linkText:{valType:\"string\",dflt:\"Edit chart\",noBlank:!0},sendData:{valType:\"boolean\",dflt:!0},showSources:{valType:\"any\",dflt:!1},displayModeBar:{valType:\"enumerated\",values:[\"hover\",!0,!1],dflt:\"hover\"},showSendToCloud:{valType:\"boolean\",dflt:!1},showEditInChartStudio:{valType:\"boolean\",dflt:!1},modeBarButtonsToRemove:{valType:\"any\",dflt:[]},modeBarButtonsToAdd:{valType:\"any\",dflt:[]},modeBarButtons:{valType:\"any\",dflt:!1},toImageButtonOptions:{valType:\"any\",dflt:{}},displaylogo:{valType:\"boolean\",dflt:!0},watermark:{valType:\"boolean\",dflt:!1},plotGlPixelRatio:{valType:\"number\",dflt:2,min:1,max:4},setBackground:{valType:\"any\",dflt:\"transparent\"},topojsonURL:{valType:\"string\",noBlank:!0,dflt:\"https://cdn.plot.ly/\"},mapboxAccessToken:{valType:\"string\",dflt:null},logging:{valType:\"integer\",min:0,max:2,dflt:1},notifyOnLogging:{valType:\"integer\",min:0,max:2,dflt:0},queueLength:{valType:\"integer\",min:0,dflt:0},locale:{valType:\"string\",dflt:\"en-US\"},locales:{valType:\"any\",dflt:{}}},Kee={};function Jee(e,t){for(var r in e){var n=e[r];n.valType?t[r]=n.dflt:(t[r]||(t[r]={}),Jee(n,t[r]))}}Jee(Yee,Kee);$ee.exports={configAttributes:Yee,dfltConfig:Kee}});var Sq=ye((uer,Qee)=>{\"use strict\";var Aq=xa(),Pet=uo(),RS=[];Qee.exports=function(e,t){if(RS.indexOf(e)!==-1)return;RS.push(e);var r=1e3;Pet(t)?r=t:t===\"long\"&&(r=3e3);var n=Aq.select(\"body\").selectAll(\".plotly-notifier\").data([0]);n.enter().append(\"div\").classed(\"plotly-notifier\",!0);var i=n.selectAll(\".notifier-note\").data(RS);function a(o){o.duration(700).style(\"opacity\",0).each(\"end\",function(s){var l=RS.indexOf(s);l!==-1&&RS.splice(l,1),Aq.select(this).remove()})}i.enter().append(\"div\").classed(\"notifier-note\",!0).style(\"opacity\",0).each(function(o){var s=Aq.select(this);s.append(\"button\").classed(\"notifier-close\",!0).html(\"×\").on(\"click\",function(){s.transition().call(a)});for(var l=s.append(\"p\"),u=o.split(/<br\\s*\\/?>/g),c=0;c<u.length;c++)c&&l.append(\"br\"),l.append(\"span\").text(u[c]);t===\"stick\"?s.transition().duration(350).style(\"opacity\",1):s.transition().duration(700).style(\"opacity\",1).transition().delay(r).call(a)})}});var G1=ye((cer,ete)=>{\"use strict\";var o3=ub().dfltConfig,Mq=Sq(),Eq=ete.exports={};Eq.log=function(){var e;if(o3.logging>1){var t=[\"LOG:\"];for(e=0;e<arguments.length;e++)t.push(arguments[e]);console.trace.apply(console,t)}if(o3.notifyOnLogging>1){var r=[];for(e=0;e<arguments.length;e++)r.push(arguments[e]);Mq(r.join(\"<br>\"),\"long\")}};Eq.warn=function(){var e;if(o3.logging>0){var t=[\"WARN:\"];for(e=0;e<arguments.length;e++)t.push(arguments[e]);console.trace.apply(console,t)}if(o3.notifyOnLogging>0){var r=[];for(e=0;e<arguments.length;e++)r.push(arguments[e]);Mq(r.join(\"<br>\"),\"stick\")}};Eq.error=function(){var e;if(o3.logging>0){var t=[\"ERROR:\"];for(e=0;e<arguments.length;e++)t.push(arguments[e]);console.error.apply(console,t)}if(o3.notifyOnLogging>0){var r=[];for(e=0;e<arguments.length;e++)r.push(arguments[e]);Mq(r.join(\"<br>\"),\"stick\")}}});var g6=ye((fer,tte)=>{\"use strict\";tte.exports=function(){}});var kq=ye((her,rte)=>{\"use strict\";rte.exports=function(t,r){if(r instanceof RegExp){for(var n=r.toString(),i=0;i<t.length;i++)if(t[i]instanceof RegExp&&t[i].toString()===n)return t;t.push(r)}else(r||r===0)&&t.indexOf(r)===-1&&t.push(r);return t}});var nte=ye((der,ite)=>{ite.exports=Iet;function Iet(){var e=new Float32Array(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var ote=ye((ver,ate)=>{ate.exports=Ret;function Ret(e){var t=new Float32Array(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}});var lte=ye((per,ste)=>{ste.exports=Det;function Det(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var Cq=ye((ger,ute)=>{ute.exports=zet;function zet(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var fte=ye((mer,cte)=>{cte.exports=Fet;function Fet(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}});var dte=ye((yer,hte)=>{hte.exports=qet;function qet(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],d=t[11],v=t[12],x=t[13],b=t[14],p=t[15],E=r*s-n*o,k=r*l-i*o,A=r*u-a*o,L=n*l-i*s,_=n*u-a*s,C=i*u-a*l,M=c*x-f*v,g=c*b-h*v,P=c*p-d*v,T=f*b-h*x,F=f*p-d*x,q=h*p-d*b,V=E*q-k*F+A*T+L*P-_*g+C*M;return V?(V=1/V,e[0]=(s*q-l*F+u*T)*V,e[1]=(i*F-n*q-a*T)*V,e[2]=(x*C-b*_+p*L)*V,e[3]=(h*_-f*C-d*L)*V,e[4]=(l*P-o*q-u*g)*V,e[5]=(r*q-i*P+a*g)*V,e[6]=(b*A-v*C-p*k)*V,e[7]=(c*C-h*A+d*k)*V,e[8]=(o*F-s*P+u*M)*V,e[9]=(n*P-r*F-a*M)*V,e[10]=(v*_-x*A+p*E)*V,e[11]=(f*A-c*_-d*E)*V,e[12]=(s*g-o*T-l*M)*V,e[13]=(r*T-n*g+i*M)*V,e[14]=(x*k-v*L-b*E)*V,e[15]=(c*L-f*k+h*E)*V,e):null}});var pte=ye((_er,vte)=>{vte.exports=Oet;function Oet(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],d=t[11],v=t[12],x=t[13],b=t[14],p=t[15];return e[0]=s*(h*p-d*b)-f*(l*p-u*b)+x*(l*d-u*h),e[1]=-(n*(h*p-d*b)-f*(i*p-a*b)+x*(i*d-a*h)),e[2]=n*(l*p-u*b)-s*(i*p-a*b)+x*(i*u-a*l),e[3]=-(n*(l*d-u*h)-s*(i*d-a*h)+f*(i*u-a*l)),e[4]=-(o*(h*p-d*b)-c*(l*p-u*b)+v*(l*d-u*h)),e[5]=r*(h*p-d*b)-c*(i*p-a*b)+v*(i*d-a*h),e[6]=-(r*(l*p-u*b)-o*(i*p-a*b)+v*(i*u-a*l)),e[7]=r*(l*d-u*h)-o*(i*d-a*h)+c*(i*u-a*l),e[8]=o*(f*p-d*x)-c*(s*p-u*x)+v*(s*d-u*f),e[9]=-(r*(f*p-d*x)-c*(n*p-a*x)+v*(n*d-a*f)),e[10]=r*(s*p-u*x)-o*(n*p-a*x)+v*(n*u-a*s),e[11]=-(r*(s*d-u*f)-o*(n*d-a*f)+c*(n*u-a*s)),e[12]=-(o*(f*b-h*x)-c*(s*b-l*x)+v*(s*h-l*f)),e[13]=r*(f*b-h*x)-c*(n*b-i*x)+v*(n*h-i*f),e[14]=-(r*(s*b-l*x)-o*(n*b-i*x)+v*(n*l-i*s)),e[15]=r*(s*h-l*f)-o*(n*h-i*f)+c*(n*l-i*s),e}});var mte=ye((xer,gte)=>{gte.exports=Bet;function Bet(e){var t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],f=e[10],h=e[11],d=e[12],v=e[13],x=e[14],b=e[15],p=t*o-r*a,E=t*s-n*a,k=t*l-i*a,A=r*s-n*o,L=r*l-i*o,_=n*l-i*s,C=u*v-c*d,M=u*x-f*d,g=u*b-h*d,P=c*x-f*v,T=c*b-h*v,F=f*b-h*x;return p*F-E*T+k*P+A*g-L*M+_*C}});var _te=ye((ber,yte)=>{yte.exports=Net;function Net(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],f=t[8],h=t[9],d=t[10],v=t[11],x=t[12],b=t[13],p=t[14],E=t[15],k=r[0],A=r[1],L=r[2],_=r[3];return e[0]=k*n+A*s+L*f+_*x,e[1]=k*i+A*l+L*h+_*b,e[2]=k*a+A*u+L*d+_*p,e[3]=k*o+A*c+L*v+_*E,k=r[4],A=r[5],L=r[6],_=r[7],e[4]=k*n+A*s+L*f+_*x,e[5]=k*i+A*l+L*h+_*b,e[6]=k*a+A*u+L*d+_*p,e[7]=k*o+A*c+L*v+_*E,k=r[8],A=r[9],L=r[10],_=r[11],e[8]=k*n+A*s+L*f+_*x,e[9]=k*i+A*l+L*h+_*b,e[10]=k*a+A*u+L*d+_*p,e[11]=k*o+A*c+L*v+_*E,k=r[12],A=r[13],L=r[14],_=r[15],e[12]=k*n+A*s+L*f+_*x,e[13]=k*i+A*l+L*h+_*b,e[14]=k*a+A*u+L*d+_*p,e[15]=k*o+A*c+L*v+_*E,e}});var bte=ye((wer,xte)=>{xte.exports=Uet;function Uet(e,t,r){var n=r[0],i=r[1],a=r[2],o,s,l,u,c,f,h,d,v,x,b,p;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],l=t[2],u=t[3],c=t[4],f=t[5],h=t[6],d=t[7],v=t[8],x=t[9],b=t[10],p=t[11],e[0]=o,e[1]=s,e[2]=l,e[3]=u,e[4]=c,e[5]=f,e[6]=h,e[7]=d,e[8]=v,e[9]=x,e[10]=b,e[11]=p,e[12]=o*n+c*i+v*a+t[12],e[13]=s*n+f*i+x*a+t[13],e[14]=l*n+h*i+b*a+t[14],e[15]=u*n+d*i+p*a+t[15]),e}});var Tte=ye((Ter,wte)=>{wte.exports=Vet;function Vet(e,t,r){var n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var Ste=ye((Aer,Ate)=>{Ate.exports=Het;function Het(e,t,r,n){var i=n[0],a=n[1],o=n[2],s=Math.sqrt(i*i+a*a+o*o),l,u,c,f,h,d,v,x,b,p,E,k,A,L,_,C,M,g,P,T,F,q,V,H;return Math.abs(s)<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,l=Math.sin(r),u=Math.cos(r),c=1-u,f=t[0],h=t[1],d=t[2],v=t[3],x=t[4],b=t[5],p=t[6],E=t[7],k=t[8],A=t[9],L=t[10],_=t[11],C=i*i*c+u,M=a*i*c+o*l,g=o*i*c-a*l,P=i*a*c-o*l,T=a*a*c+u,F=o*a*c+i*l,q=i*o*c+a*l,V=a*o*c-i*l,H=o*o*c+u,e[0]=f*C+x*M+k*g,e[1]=h*C+b*M+A*g,e[2]=d*C+p*M+L*g,e[3]=v*C+E*M+_*g,e[4]=f*P+x*T+k*F,e[5]=h*P+b*T+A*F,e[6]=d*P+p*T+L*F,e[7]=v*P+E*T+_*F,e[8]=f*q+x*V+k*H,e[9]=h*q+b*V+A*H,e[10]=d*q+p*V+L*H,e[11]=v*q+E*V+_*H,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}});var Ete=ye((Ser,Mte)=>{Mte.exports=Get;function Get(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+u*n,e[5]=o*i+c*n,e[6]=s*i+f*n,e[7]=l*i+h*n,e[8]=u*i-a*n,e[9]=c*i-o*n,e[10]=f*i-s*n,e[11]=h*i-l*n,e}});var Cte=ye((Mer,kte)=>{kte.exports=jet;function jet(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-u*n,e[1]=o*i-c*n,e[2]=s*i-f*n,e[3]=l*i-h*n,e[8]=a*n+u*i,e[9]=o*n+c*i,e[10]=s*n+f*i,e[11]=l*n+h*i,e}});var Pte=ye((Eer,Lte)=>{Lte.exports=Wet;function Wet(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[4],c=t[5],f=t[6],h=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+u*n,e[1]=o*i+c*n,e[2]=s*i+f*n,e[3]=l*i+h*n,e[4]=u*i-a*n,e[5]=c*i-o*n,e[6]=f*i-s*n,e[7]=h*i-l*n,e}});var Rte=ye((ker,Ite)=>{Ite.exports=Zet;function Zet(e,t,r){var n,i,a,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(u=1/u,o*=u,s*=u,l*=u,n=Math.sin(t),i=Math.cos(t),a=1-i,e[0]=o*o*a+i,e[1]=s*o*a+l*n,e[2]=l*o*a-s*n,e[3]=0,e[4]=o*s*a-l*n,e[5]=s*s*a+i,e[6]=l*s*a+o*n,e[7]=0,e[8]=o*l*a+s*n,e[9]=s*l*a-o*n,e[10]=l*l*a+i,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}});var zte=ye((Cer,Dte)=>{Dte.exports=Xet;function Xet(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,l=i+i,u=a+a,c=n*s,f=n*l,h=n*u,d=i*l,v=i*u,x=a*u,b=o*s,p=o*l,E=o*u;return e[0]=1-(d+x),e[1]=f+E,e[2]=h-p,e[3]=0,e[4]=f-E,e[5]=1-(c+x),e[6]=v+b,e[7]=0,e[8]=h+p,e[9]=v-b,e[10]=1-(c+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}});var qte=ye((Ler,Fte)=>{Fte.exports=Yet;function Yet(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Bte=ye((Per,Ote)=>{Ote.exports=Ket;function Ket(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}});var Ute=ye((Ier,Nte)=>{Nte.exports=Jet;function Jet(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Hte=ye((Rer,Vte)=>{Vte.exports=$et;function $et(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var jte=ye((Der,Gte)=>{Gte.exports=Qet;function Qet(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Lq=ye((zer,Wte)=>{Wte.exports=ett;function ett(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,f=n*s,h=i*o,d=i*s,v=i*l,x=a*o,b=a*s,p=a*l;return e[0]=1-f-v,e[1]=c+p,e[2]=h-b,e[3]=0,e[4]=c-p,e[5]=1-u-v,e[6]=d+x,e[7]=0,e[8]=h+b,e[9]=d-x,e[10]=1-u-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Xte=ye((Fer,Zte)=>{Zte.exports=ttt;function ttt(e,t,r,n,i,a,o){var s=1/(r-t),l=1/(i-n),u=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*l,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*l,e[10]=(o+a)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*u,e[15]=0,e}});var Kte=ye((qer,Yte)=>{Yte.exports=rtt;function rtt(e,t,r,n,i){var a=1/Math.tan(t/2),o=1/(n-i);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(i+n)*o,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*i*n*o,e[15]=0,e}});var $te=ye((Oer,Jte)=>{Jte.exports=itt;function itt(e,t,r,n){var i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return e[0]=l,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=u,e[6]=0,e[7]=0,e[8]=-((o-s)*l*.5),e[9]=(i-a)*u*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}});var ere=ye((Ber,Qte)=>{Qte.exports=ntt;function ntt(e,t,r,n,i,a,o){var s=1/(t-r),l=1/(n-i),u=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*l,e[14]=(o+a)*u,e[15]=1,e}});var rre=ye((Ner,tre)=>{var att=Cq();tre.exports=ott;function ott(e,t,r,n){var i,a,o,s,l,u,c,f,h,d,v=t[0],x=t[1],b=t[2],p=n[0],E=n[1],k=n[2],A=r[0],L=r[1],_=r[2];return Math.abs(v-A)<1e-6&&Math.abs(x-L)<1e-6&&Math.abs(b-_)<1e-6?att(e):(c=v-A,f=x-L,h=b-_,d=1/Math.sqrt(c*c+f*f+h*h),c*=d,f*=d,h*=d,i=E*h-k*f,a=k*c-p*h,o=p*f-E*c,d=Math.sqrt(i*i+a*a+o*o),d?(d=1/d,i*=d,a*=d,o*=d):(i=0,a=0,o=0),s=f*o-h*a,l=h*i-c*o,u=c*a-f*i,d=Math.sqrt(s*s+l*l+u*u),d?(d=1/d,s*=d,l*=d,u*=d):(s=0,l=0,u=0),e[0]=i,e[1]=s,e[2]=c,e[3]=0,e[4]=a,e[5]=l,e[6]=f,e[7]=0,e[8]=o,e[9]=u,e[10]=h,e[11]=0,e[12]=-(i*v+a*x+o*b),e[13]=-(s*v+l*x+u*b),e[14]=-(c*v+f*x+h*b),e[15]=1,e)}});var nre=ye((Uer,ire)=>{ire.exports=stt;function stt(e){return\"mat4(\"+e[0]+\", \"+e[1]+\", \"+e[2]+\", \"+e[3]+\", \"+e[4]+\", \"+e[5]+\", \"+e[6]+\", \"+e[7]+\", \"+e[8]+\", \"+e[9]+\", \"+e[10]+\", \"+e[11]+\", \"+e[12]+\", \"+e[13]+\", \"+e[14]+\", \"+e[15]+\")\"}});var Pq=ye((Ver,are)=>{are.exports={create:nte(),clone:ote(),copy:lte(),identity:Cq(),transpose:fte(),invert:dte(),adjoint:pte(),determinant:mte(),multiply:_te(),translate:bte(),scale:Tte(),rotate:Ste(),rotateX:Ete(),rotateY:Cte(),rotateZ:Pte(),fromRotation:Rte(),fromRotationTranslation:zte(),fromScaling:qte(),fromTranslation:Bte(),fromXRotation:Ute(),fromYRotation:Hte(),fromZRotation:jte(),fromQuat:Lq(),frustum:Xte(),perspective:Kte(),perspectiveFromFieldOfView:$te(),ortho:ere(),lookAt:rre(),str:nre()}});var m6=ye(Xf=>{\"use strict\";var ltt=Pq();Xf.init2dArray=function(e,t){for(var r=new Array(e),n=0;n<e;n++)r[n]=new Array(t);return r};Xf.transposeRagged=function(e){var t=0,r=e.length,n,i;for(n=0;n<r;n++)t=Math.max(t,e[n].length);var a=new Array(t);for(n=0;n<t;n++)for(a[n]=new Array(r),i=0;i<r;i++)a[n][i]=e[i][n];return a};Xf.dot=function(e,t){if(!(e.length&&t.length)||e.length!==t.length)return null;var r=e.length,n,i;if(e[0].length)for(n=new Array(r),i=0;i<r;i++)n[i]=Xf.dot(e[i],t);else if(t[0].length){var a=Xf.transposeRagged(t);for(n=new Array(a.length),i=0;i<a.length;i++)n[i]=Xf.dot(e,a[i])}else for(n=0,i=0;i<r;i++)n+=e[i]*t[i];return n};Xf.translationMatrix=function(e,t){return[[1,0,e],[0,1,t],[0,0,1]]};Xf.rotationMatrix=function(e){var t=e*Math.PI/180;return[[Math.cos(t),-Math.sin(t),0],[Math.sin(t),Math.cos(t),0],[0,0,1]]};Xf.rotationXYMatrix=function(e,t,r){return Xf.dot(Xf.dot(Xf.translationMatrix(t,r),Xf.rotationMatrix(e)),Xf.translationMatrix(-t,-r))};Xf.apply3DTransform=function(e){return function(){var t=arguments,r=arguments.length===1?t[0]:[t[0],t[1],t[2]||0];return Xf.dot(e,[r[0],r[1],r[2],1]).slice(0,3)}};Xf.apply2DTransform=function(e){return function(){var t=arguments;t.length===3&&(t=t[0]);var r=arguments.length===1?t[0]:[t[0],t[1]];return Xf.dot(e,[r[0],r[1],1]).slice(0,2)}};Xf.apply2DTransform2=function(e){var t=Xf.apply2DTransform(e);return function(r){return t(r.slice(0,2)).concat(t(r.slice(2,4)))}};Xf.convertCssMatrix=function(e){if(e){var t=e.length;if(t===16)return e;if(t===6)return[e[0],e[1],0,0,e[2],e[3],0,0,0,0,1,0,e[4],e[5],0,1]}return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]};Xf.inverseTransformMatrix=function(e){var t=[];return ltt.invert(t,e),[[t[0],t[1],t[2],t[3]],[t[4],t[5],t[6],t[7]],[t[8],t[9],t[10],t[11]],[t[12],t[13],t[14],t[15]]]}});var DS=ye((Ger,fre)=>{\"use strict\";var utt=xa(),ore=G1(),ctt=m6(),ftt=Pq();function htt(e){var t;if(typeof e==\"string\"){if(t=document.getElementById(e),t===null)throw new Error(\"No DOM element with id '\"+e+\"' exists on the page.\");return t}else if(e==null)throw new Error(\"DOM element provided is null or undefined\");return e}function dtt(e){var t=utt.select(e);return t.node()instanceof HTMLElement&&t.size()&&t.classed(\"js-plotly-plot\")}function sre(e){var t=e&&e.parentNode;t&&t.removeChild(e)}function vtt(e,t){lre(\"global\",e,t)}function lre(e,t,r){var n=\"plotly.js-style-\"+e,i=document.getElementById(n);if(!(i&&i.matches(\".no-inline-styles\"))){i||(i=document.createElement(\"style\"),i.setAttribute(\"id\",n),i.appendChild(document.createTextNode(\"\")),document.head.appendChild(i));var a=i.sheet;a?a.insertRule?a.insertRule(t+\"{\"+r+\"}\",0):a.addRule?a.addRule(t,r,0):ore.warn(\"addStyleRule failed\"):ore.warn(\"Cannot addRelatedStyleRule, probably due to strict CSP...\")}}function ptt(e){var t=\"plotly.js-style-\"+e,r=document.getElementById(t);r&&sre(r)}function gtt(e,t,r,n,i,a){var o=n.split(\":\"),s=i.split(\":\"),l=\"data-btn-style-event-added\";a||(a=document),a.querySelectorAll(e).forEach(function(u){u.getAttribute(l)||(u.addEventListener(\"mouseenter\",function(){var c=this.querySelector(r);c&&(c.style[o[0]]=o[1])}),u.addEventListener(\"mouseleave\",function(){var c=this.querySelector(r);c&&(t&&this.matches(t)?c.style[o[0]]=o[1]:c.style[s[0]]=s[1])}),u.setAttribute(l,!0))})}function mtt(e){var t=cre(e),r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return t.forEach(function(n){var i=ure(n);if(i){var a=ctt.convertCssMatrix(i);r=ftt.multiply(r,r,a)}}),r}function ure(e){var t=window.getComputedStyle(e,null),r=t.getPropertyValue(\"-webkit-transform\")||t.getPropertyValue(\"-moz-transform\")||t.getPropertyValue(\"-ms-transform\")||t.getPropertyValue(\"-o-transform\")||t.getPropertyValue(\"transform\");return r===\"none\"?null:r.replace(\"matrix\",\"\").replace(\"3d\",\"\").slice(1,-1).split(\",\").map(function(n){return+n})}function cre(e){for(var t=[];ytt(e);)t.push(e),e=e.parentNode,typeof ShadowRoot==\"function\"&&e instanceof ShadowRoot&&(e=e.host);return t}function ytt(e){return e&&(e instanceof Element||e instanceof HTMLElement)}function _tt(e,t){return e&&t&&e.top===t.top&&e.left===t.left&&e.right===t.right&&e.bottom===t.bottom}fre.exports={getGraphDiv:htt,isPlotDiv:dtt,removeElement:sre,addStyleRule:vtt,addRelatedStyleRule:lre,deleteRelatedStyleRule:ptt,setStyleOnHover:gtt,getFullTransformMatrix:mtt,getElementTransformMatrix:ure,getElementAndAncestors:cre,equalDomRects:_tt}});var zS=ye((jer,hre)=>{\"use strict\";hre.exports={mode:{valType:\"enumerated\",dflt:\"afterall\",values:[\"immediate\",\"next\",\"afterall\"]},direction:{valType:\"enumerated\",values:[\"forward\",\"reverse\"],dflt:\"forward\"},fromcurrent:{valType:\"boolean\",dflt:!1},frame:{duration:{valType:\"number\",min:0,dflt:500},redraw:{valType:\"boolean\",dflt:!0}},transition:{duration:{valType:\"number\",min:0,dflt:500,editType:\"none\"},easing:{valType:\"enumerated\",dflt:\"cubic-in-out\",values:[\"linear\",\"quad\",\"cubic\",\"sin\",\"exp\",\"circle\",\"elastic\",\"back\",\"bounce\",\"linear-in\",\"quad-in\",\"cubic-in\",\"sin-in\",\"exp-in\",\"circle-in\",\"elastic-in\",\"back-in\",\"bounce-in\",\"linear-out\",\"quad-out\",\"cubic-out\",\"sin-out\",\"exp-out\",\"circle-out\",\"elastic-out\",\"back-out\",\"bounce-out\",\"linear-in-out\",\"quad-in-out\",\"cubic-in-out\",\"sin-in-out\",\"exp-in-out\",\"circle-in-out\",\"elastic-in-out\",\"back-in-out\",\"bounce-in-out\"],editType:\"none\"},ordering:{valType:\"enumerated\",values:[\"layout first\",\"traces first\"],dflt:\"layout first\",editType:\"none\"}}}});var Bu=ye((Wer,_re)=>{\"use strict\";var vre=no().extendFlat,xtt=gy(),pre={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"clearAxisTypes\",\"plot\",\"style\",\"markerSize\",\"colorbars\"]},gre={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"plot\",\"legend\",\"ticks\",\"axrange\",\"layoutstyle\",\"modebar\",\"camera\",\"arraydraw\",\"colorbars\"]},btt=pre.flags.slice().concat([\"fullReplot\"]),wtt=gre.flags.slice().concat(\"layoutReplot\");_re.exports={traces:pre,layout:gre,traceFlags:function(){return dre(btt)},layoutFlags:function(){return dre(wtt)},update:function(e,t){var r=t.editType;if(r&&r!==\"none\")for(var n=r.split(\"+\"),i=0;i<n.length;i++)e[n[i]]=!0},overrideAll:mre};function dre(e){for(var t={},r=0;r<e.length;r++)t[e[r]]=!1;return t}function mre(e,t,r){var n=vre({},e);for(var i in n){var a=n[i];xtt(a)&&(n[i]=yre(a,t,r,i))}return r===\"from-root\"&&(n.editType=t),n}function yre(e,t,r,n){if(e.valType){var i=vre({},e);if(i.editType=t,Array.isArray(e.items)){i.items=new Array(e.items.length);for(var a=0;a<e.items.length;a++)i.items[a]=yre(e.items[a],t,\"from-root\")}return i}else return mre(e,t,n.charAt(0)===\"_\"?\"nested\":\"from-root\")}});var Ed=ye(Iq=>{\"use strict\";Iq.dash={valType:\"string\",values:[\"solid\",\"dot\",\"dash\",\"longdash\",\"dashdot\",\"longdashdot\"],dflt:\"solid\",editType:\"style\"};Iq.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\"}});var Rq=ye((Xer,xre)=>{\"use strict\";xre.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\"}});var Wo=ye(y6=>{\"use strict\";var bre=Rq(),Yer=bre.FORMAT_LINK,Ker=bre.DATE_FORMAT_LINK;function Dq(e){var t=e.description?\" \"+e.description:\"\",r=e.keys||[];if(r.length>0){for(var n=[],i=0;i<r.length;i++)n[i]=\"`\"+r[i]+\"`\";t=t+\"Finally, the template string has access to \",r.length===1?t=t+\"variable \"+n[0]:t=t+\"variables \"+n.slice(0,-1).join(\", \")+\" and \"+n.slice(-1)+\".\"}return t}y6.hovertemplateAttrs=function(e,t){e=e||{},t=t||{};var r=Dq(t),n={valType:\"string\",dflt:\"\",editType:e.editType||\"none\"};return e.arrayOk!==!1&&(n.arrayOk=!0),n};y6.texttemplateAttrs=function(e,t){e=e||{},t=t||{};var r=Dq(t),n={valType:\"string\",dflt:\"\",editType:e.editType||\"calc\"};return e.arrayOk!==!1&&(n.arrayOk=!0),n};y6.shapeTexttemplateAttrs=function(e,t){e=e||{},t=t||{};var r=e.newshape?\"new \":\"\",n=Dq(t),i={valType:\"string\",dflt:\"\",editType:e.editType||\"arraydraw\"};return i}});var b6=ye(($er,Ere)=>{\"use strict\";function j1(e,t){return t?t.d2l(e):e}function wre(e,t){return t?t.l2d(e):e}function Ttt(e){return e.x0}function Att(e){return e.x1}function Stt(e){return e.y0}function Mtt(e){return e.y1}function Tre(e){return e.x0shift||0}function Are(e){return e.x1shift||0}function Sre(e){return e.y0shift||0}function Mre(e){return e.y1shift||0}function _6(e,t){return j1(e.x1,t)+Are(e)-j1(e.x0,t)-Tre(e)}function x6(e,t,r){return j1(e.y1,r)+Mre(e)-j1(e.y0,r)-Sre(e)}function Ett(e,t){return Math.abs(_6(e,t))}function ktt(e,t,r){return Math.abs(x6(e,t,r))}function Ctt(e,t,r){return e.type!==\"line\"?void 0:Math.sqrt(Math.pow(_6(e,t),2)+Math.pow(x6(e,t,r),2))}function Ltt(e,t){return wre((j1(e.x1,t)+Are(e)+j1(e.x0,t)+Tre(e))/2,t)}function Ptt(e,t,r){return wre((j1(e.y1,r)+Mre(e)+j1(e.y0,r)+Sre(e))/2,r)}function Itt(e,t,r){return e.type!==\"line\"?void 0:x6(e,t,r)/_6(e,t)}Ere.exports={x0:Ttt,x1:Att,y0:Stt,y1:Mtt,slope:Itt,dx:_6,dy:x6,width:Ett,height:ktt,length:Ctt,xcenter:Ltt,ycenter:Ptt}});var Lre=ye((Qer,Cre)=>{\"use strict\";var Rtt=Bu().overrideAll,cb=vl(),kre=Su(),Dtt=Ed().dash,W1=no().extendFlat,ztt=Wo().shapeTexttemplateAttrs,Ftt=b6();Cre.exports=Rtt({newshape:{visible:W1({},cb.visible,{}),showlegend:{valType:\"boolean\",dflt:!1},legend:W1({},cb.legend,{}),legendgroup:W1({},cb.legendgroup,{}),legendgrouptitle:{text:W1({},cb.legendgrouptitle.text,{}),font:kre({})},legendrank:W1({},cb.legendrank,{}),legendwidth:W1({},cb.legendwidth,{}),line:{color:{valType:\"color\"},width:{valType:\"number\",min:0,dflt:4},dash:W1({},Dtt,{dflt:\"solid\"})},fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},fillrule:{valType:\"enumerated\",values:[\"evenodd\",\"nonzero\"],dflt:\"evenodd\"},opacity:{valType:\"number\",min:0,max:1,dflt:1},layer:{valType:\"enumerated\",values:[\"below\",\"above\",\"between\"],dflt:\"above\"},drawdirection:{valType:\"enumerated\",values:[\"ortho\",\"horizontal\",\"vertical\",\"diagonal\"],dflt:\"diagonal\"},name:W1({},cb.name,{}),label:{text:{valType:\"string\",dflt:\"\"},texttemplate:ztt({newshape:!0},{keys:Object.keys(Ftt)}),font:kre({}),textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\",\"start\",\"middle\",\"end\"]},textangle:{valType:\"angle\",dflt:\"auto\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"]},padding:{valType:\"number\",dflt:3,min:0}}},activeshape:{fillcolor:{valType:\"color\",dflt:\"rgb(255,0,255)\"},opacity:{valType:\"number\",min:0,max:1,dflt:.5}}},\"none\",\"from-root\")});var Ire=ye((etr,Pre)=>{\"use strict\";var qtt=Ed().dash,Ott=no().extendFlat;Pre.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:Ott({},qtt,{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\"}}});var w6=ye((ttr,Rre)=>{\"use strict\";Rre.exports=function(e){var t=e.editType;return{t:{valType:\"number\",dflt:0,editType:t},r:{valType:\"number\",dflt:0,editType:t},b:{valType:\"number\",dflt:0,editType:t},l:{valType:\"number\",dflt:0,editType:t},editType:t}}});var s3=ye((rtr,qre)=>{\"use strict\";var zq=Su(),Btt=zS(),T6=dh(),Dre=Lre(),zre=Ire(),Ntt=w6(),Fre=no().extendFlat,A6=zq({editType:\"calc\"});A6.family.dflt='\"Open Sans\", verdana, arial, sans-serif';A6.size.dflt=12;A6.color.dflt=T6.defaultLine;qre.exports={font:A6,title:{text:{valType:\"string\",editType:\"layoutstyle\"},font:zq({editType:\"layoutstyle\"}),subtitle:{text:{valType:\"string\",editType:\"layoutstyle\"},font:zq({editType:\"layoutstyle\"}),editType:\"layoutstyle\"},xref:{valType:\"enumerated\",dflt:\"container\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},yref:{valType:\"enumerated\",dflt:\"container\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},x:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"layoutstyle\"},y:{valType:\"number\",min:0,max:1,dflt:\"auto\",editType:\"layoutstyle\"},xanchor:{valType:\"enumerated\",dflt:\"auto\",values:[\"auto\",\"left\",\"center\",\"right\"],editType:\"layoutstyle\"},yanchor:{valType:\"enumerated\",dflt:\"auto\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],editType:\"layoutstyle\"},pad:Fre(Ntt({editType:\"layoutstyle\"}),{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},editType:\"layoutstyle\"},uniformtext:{mode:{valType:\"enumerated\",values:[!1,\"hide\",\"show\"],dflt:!1,editType:\"plot\"},minsize:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"},autosize:{valType:\"boolean\",dflt:!1,editType:\"none\"},width:{valType:\"number\",min:10,dflt:700,editType:\"plot\"},height:{valType:\"number\",min:10,dflt:450,editType:\"plot\"},minreducedwidth:{valType:\"number\",min:2,dflt:64,editType:\"plot\"},minreducedheight:{valType:\"number\",min:2,dflt:64,editType:\"plot\"},margin:{l:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},r:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},t:{valType:\"number\",min:0,dflt:100,editType:\"plot\"},b:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},autoexpand:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},computed:{valType:\"any\",editType:\"none\"},paper_bgcolor:{valType:\"color\",dflt:T6.background,editType:\"plot\"},plot_bgcolor:{valType:\"color\",dflt:T6.background,editType:\"layoutstyle\"},autotypenumbers:{valType:\"enumerated\",values:[\"convert types\",\"strict\"],dflt:\"convert types\",editType:\"calc\"},separators:{valType:\"string\",editType:\"plot\"},hidesources:{valType:\"boolean\",dflt:!1,editType:\"plot\"},showlegend:{valType:\"boolean\",editType:\"legend\"},colorway:{valType:\"colorlist\",dflt:T6.defaults,editType:\"calc\"},datarevision:{valType:\"any\",editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"},editrevision:{valType:\"any\",editType:\"none\"},selectionrevision:{valType:\"any\",editType:\"none\"},template:{valType:\"any\",editType:\"calc\"},newshape:Dre.newshape,activeshape:Dre.activeshape,newselection:zre.newselection,activeselection:zre.activeselection,meta:{valType:\"any\",arrayOk:!0,editType:\"plot\"},transition:Fre({},Btt.transition,{editType:\"none\"})}});var Ore=Ll(()=>{});var Utt={};var Bre=Ll(()=>{Ore()});var ba=ye(qs=>{\"use strict\";var l3=G1(),Nre=g6(),Ure=kq(),Vtt=gy(),Htt=DS().addStyleRule,Vre=no(),Gtt=vl(),jtt=s3(),Wtt=Vre.extendFlat,Fq=Vre.extendDeepAll;qs.modules={};qs.allCategories={};qs.allTypes=[];qs.subplotsRegistry={};qs.componentsRegistry={};qs.layoutArrayContainers=[];qs.layoutArrayRegexes=[];qs.traceLayoutAttributes={};qs.localeRegistry={};qs.apiMethodRegistry={};qs.collectableSubplotTypes=null;qs.register=function(t){if(qs.collectableSubplotTypes=null,t)t&&!Array.isArray(t)&&(t=[t]);else throw new Error(\"No argument passed to Plotly.register.\");for(var r=0;r<t.length;r++){var n=t[r];if(!n)throw new Error(\"Invalid module was attempted to be registered!\");switch(n.moduleType){case\"trace\":Ztt(n);break;case\"transform\":Ktt(n);break;case\"component\":Ytt(n);break;case\"locale\":Jtt(n);break;case\"apiMethod\":var i=n.name;qs.apiMethodRegistry[i]=n.fn;break;default:throw new Error(\"Invalid module was attempted to be registered!\")}}};qs.getModule=function(e){var t=qs.modules[Wre(e)];return t?t._module:!1};qs.traceIs=function(e,t){if(e=Wre(e),e===\"various\")return!1;var r=qs.modules[e];return r||(e&&l3.log(\"Unrecognized trace type \"+e+\".\"),r=qs.modules[Gtt.type.dflt]),!!r.categories[t]};qs.getComponentMethod=function(e,t){var r=qs.componentsRegistry[e];return r&&r[t]||Nre};qs.call=function(){var e=arguments[0],t=[].slice.call(arguments,1);return qs.apiMethodRegistry[e].apply(null,t)};function Ztt(e){var t=e.name,r=e.categories,n=e.meta;if(qs.modules[t]){l3.log(\"Type \"+t+\" already registered\");return}qs.subplotsRegistry[e.basePlotModule.name]||Xtt(e.basePlotModule);for(var i={},a=0;a<r.length;a++)i[r[a]]=!0,qs.allCategories[r[a]]=!0;qs.modules[t]={_module:e,categories:i},n&&Object.keys(n).length&&(qs.modules[t].meta=n),qs.allTypes.push(t);for(var o in qs.componentsRegistry)Gre(o,t);e.layoutAttributes&&Wtt(qs.traceLayoutAttributes,e.layoutAttributes);var s=e.basePlotModule,l=s.name;if(l===\"mapbox\"){var u=s.constants.styleRules;for(var c in u)Htt(\".js-plotly-plot .plotly .mapboxgl-\"+c,u[c])}l===\"map\"&&(Bre(),B1(Utt)),(l===\"geo\"||l===\"mapbox\"||l===\"map\")&&window.PlotlyGeoAssets===void 0&&(window.PlotlyGeoAssets={topojson:{}})}function Xtt(e){var t=e.name;if(qs.subplotsRegistry[t]){l3.log(\"Plot type \"+t+\" already registered.\");return}Hre(e),qs.subplotsRegistry[t]=e;for(var r in qs.componentsRegistry)jre(r,e.name)}function Ytt(e){if(typeof e.name!=\"string\")throw new Error(\"Component module *name* must be a string.\");var t=e.name;qs.componentsRegistry[t]=e,e.layoutAttributes&&(e.layoutAttributes._isLinkedToArray&&Ure(qs.layoutArrayContainers,t),Hre(e));for(var r in qs.modules)Gre(t,r);for(var n in qs.subplotsRegistry)jre(t,n);e.schema&&e.schema.layout&&Fq(jtt,e.schema.layout)}function Ktt(e){if(typeof e.name!=\"string\")throw new Error(\"Transform module *name* must be a string.\");var t=\"Transform module \"+e.name,r=typeof e.transform==\"function\",n=typeof e.calcTransform==\"function\";if(!r&&!n)throw new Error(t+\" is missing a *transform* or *calcTransform* method.\");r&&n&&l3.log([t+\" has both a *transform* and *calcTransform* methods.\",\"Please note that all *transform* methods are executed\",\"before all *calcTransform* methods.\"].join(\" \")),Vtt(e.attributes)||l3.log(t+\" registered without an *attributes* object.\"),typeof e.supplyDefaults!=\"function\"&&l3.log(t+\" registered without a *supplyDefaults* method.\")}function Jtt(e){var t=e.name,r=t.split(\"-\")[0],n=e.dictionary,i=e.format,a=n&&Object.keys(n).length,o=i&&Object.keys(i).length,s=qs.localeRegistry,l=s[t];if(l||(s[t]=l={}),r!==t){var u=s[r];u||(s[r]=u={}),a&&u.dictionary===l.dictionary&&(u.dictionary=n),o&&u.format===l.format&&(u.format=i)}a&&(l.dictionary=n),o&&(l.format=i)}function Hre(e){if(e.layoutAttributes){var t=e.layoutAttributes._arrayAttrRegexps;if(t)for(var r=0;r<t.length;r++)Ure(qs.layoutArrayRegexes,t[r])}}function Gre(e,t){var r=qs.componentsRegistry[e].schema;if(!(!r||!r.traces)){var n=r.traces[t];n&&Fq(qs.modules[t]._module.attributes,n)}}function jre(e,t){var r=qs.componentsRegistry[e].schema;if(!(!r||!r.subplots)){var n=qs.subplotsRegistry[t],i=n.layoutAttributes,a=n.attr===\"subplot\"?n.name:n.attr;Array.isArray(a)&&(a=a[0]);var o=r.subplots[a];i&&o&&Fq(i,o)}}function Wre(e){return typeof e==\"object\"&&(e=e.type),e}});var tie=ye(Yf=>{\"use strict\";var $tt=e3().timeFormat,Qre=uo(),qq=G1(),X1=r3().mod,f3=es(),_0=f3.BADNUM,wp=f3.ONEDAY,FS=f3.ONEHOUR,Z1=f3.ONEMIN,c3=f3.ONESEC,qS=f3.EPOCHJD,my=ba(),Zre=e3().utcFormat,Qtt=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\d)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d(:?\\d\\d)?)?)?)?)?)?\\s*$/m,ert=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\di?)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d(:?\\d\\d)?)?)?)?)?)?\\s*$/m,Xre=new Date().getFullYear()-70;function yy(e){return e&&my.componentsRegistry.calendars&&typeof e==\"string\"&&e!==\"gregorian\"}Yf.dateTick0=function(e,t){var r=trt(e,!!t);if(t<2)return r;var n=Yf.dateTime2ms(r,e);return n+=wp*(t-1),Yf.ms2DateTime(n,0,e)};function trt(e,t){return yy(e)?t?my.getComponentMethod(\"calendars\",\"CANONICAL_SUNDAY\")[e]:my.getComponentMethod(\"calendars\",\"CANONICAL_TICK\")[e]:t?\"2000-01-02\":\"2000-01-01\"}Yf.dfltRange=function(e){return yy(e)?my.getComponentMethod(\"calendars\",\"DFLTRANGE\")[e]:[\"2000-01-01\",\"2001-01-01\"]};Yf.isJSDate=function(e){return typeof e==\"object\"&&e!==null&&typeof e.getTime==\"function\"};var M6,E6;Yf.dateTime2ms=function(e,t){if(Yf.isJSDate(e)){var r=e.getTimezoneOffset()*Z1,n=(e.getUTCMinutes()-e.getMinutes())*Z1+(e.getUTCSeconds()-e.getSeconds())*c3+(e.getUTCMilliseconds()-e.getMilliseconds());if(n){var i=3*Z1;r=r-i/2+X1(n-r+i/2,i)}return e=Number(e)-r,e>=M6&&e<=E6?e:_0}if(typeof e!=\"string\"&&typeof e!=\"number\")return _0;e=String(e);var a=yy(t),o=e.charAt(0);a&&(o===\"G\"||o===\"g\")&&(e=e.substr(1),t=\"\");var s=a&&t.substr(0,7)===\"chinese\",l=e.match(s?ert:Qtt);if(!l)return _0;var u=l[1],c=l[3]||\"1\",f=Number(l[5]||1),h=Number(l[7]||0),d=Number(l[9]||0),v=Number(l[11]||0);if(a){if(u.length===2)return _0;u=Number(u);var x;try{var b=my.getComponentMethod(\"calendars\",\"getCal\")(t);if(s){var p=c.charAt(c.length-1)===\"i\";c=parseInt(c,10),x=b.newDate(u,b.toMonthIndex(u,c,p),f)}else x=b.newDate(u,Number(c),f)}catch(k){return _0}return x?(x.toJD()-qS)*wp+h*FS+d*Z1+v*c3:_0}u.length===2?u=(Number(u)+2e3-Xre)%100+Xre:u=Number(u),c-=1;var E=new Date(Date.UTC(2e3,c,f,h,d));return E.setUTCFullYear(u),E.getUTCMonth()!==c||E.getUTCDate()!==f?_0:E.getTime()+v*c3};M6=Yf.MIN_MS=Yf.dateTime2ms(\"-9999\");E6=Yf.MAX_MS=Yf.dateTime2ms(\"9999-12-31 23:59:59.9999\");Yf.isDateTime=function(e,t){return Yf.dateTime2ms(e,t)!==_0};function u3(e,t){return String(e+Math.pow(10,t)).substr(1)}var S6=90*wp,Yre=3*FS,Kre=5*Z1;Yf.ms2DateTime=function(e,t,r){if(typeof e!=\"number\"||!(e>=M6&&e<=E6))return _0;t||(t=0);var n=Math.floor(X1(e+.05,1)*10),i=Math.round(e-n/10),a,o,s,l,u,c;if(yy(r)){var f=Math.floor(i/wp)+qS,h=Math.floor(X1(e,wp));try{a=my.getComponentMethod(\"calendars\",\"getCal\")(r).fromJD(f).formatDate(\"yyyy-mm-dd\")}catch(d){a=Zre(\"G%Y-%m-%d\")(new Date(i))}if(a.charAt(0)===\"-\")for(;a.length<11;)a=\"-0\"+a.substr(1);else for(;a.length<10;)a=\"0\"+a;o=t<S6?Math.floor(h/FS):0,s=t<S6?Math.floor(h%FS/Z1):0,l=t<Yre?Math.floor(h%Z1/c3):0,u=t<Kre?h%c3*10+n:0}else c=new Date(i),a=Zre(\"%Y-%m-%d\")(c),o=t<S6?c.getUTCHours():0,s=t<S6?c.getUTCMinutes():0,l=t<Yre?c.getUTCSeconds():0,u=t<Kre?c.getUTCMilliseconds()*10+n:0;return eie(a,o,s,l,u)};Yf.ms2DateTimeLocal=function(e){if(!(e>=M6+wp&&e<=E6-wp))return _0;var t=Math.floor(X1(e+.05,1)*10),r=new Date(Math.round(e-t/10)),n=$tt(\"%Y-%m-%d\")(r),i=r.getHours(),a=r.getMinutes(),o=r.getSeconds(),s=r.getUTCMilliseconds()*10+t;return eie(n,i,a,o,s)};function eie(e,t,r,n,i){if((t||r||n||i)&&(e+=\" \"+u3(t,2)+\":\"+u3(r,2),(n||i)&&(e+=\":\"+u3(n,2),i))){for(var a=4;i%10===0;)a-=1,i/=10;e+=\".\"+u3(i,a)}return e}Yf.cleanDate=function(e,t,r){if(e===_0)return t;if(Yf.isJSDate(e)||typeof e==\"number\"&&isFinite(e)){if(yy(r))return qq.error(\"JS Dates and milliseconds are incompatible with world calendars\",e),t;if(e=Yf.ms2DateTimeLocal(+e),!e&&t!==void 0)return t}else if(!Yf.isDateTime(e,r))return qq.error(\"unrecognized date\",e),t;return e};var rrt=/%\\d?f/g,irt=/%h/g,nrt={1:\"1\",2:\"1\",3:\"2\",4:\"2\"};function Jre(e,t,r,n){e=e.replace(rrt,function(a){var o=Math.min(+a.charAt(1)||6,6),s=(t/1e3%1+2).toFixed(o).substr(2).replace(/0+$/,\"\")||\"0\";return s});var i=new Date(Math.floor(t+.05));if(e=e.replace(irt,function(){return nrt[r(\"%q\")(i)]}),yy(n))try{e=my.getComponentMethod(\"calendars\",\"worldCalFmt\")(e,t,n)}catch(a){return\"Invalid\"}return r(e)(i)}var art=[59,59.9,59.99,59.999,59.9999];function ort(e,t){var r=X1(e+.05,wp),n=u3(Math.floor(r/FS),2)+\":\"+u3(X1(Math.floor(r/Z1),60),2);if(t!==\"M\"){Qre(t)||(t=0);var i=Math.min(X1(e/c3,60),art[t]),a=(100+i).toFixed(t).substr(1);t>0&&(a=a.replace(/0+$/,\"\").replace(/[\\.]$/,\"\")),n+=\":\"+a}return n}Yf.formatDate=function(e,t,r,n,i,a){if(i=yy(i)&&i,!t)if(r===\"y\")t=a.year;else if(r===\"m\")t=a.month;else if(r===\"d\")t=a.dayMonth+`\n", - "`+a.year;else return ort(e,r)+`\n", - "`+Jre(a.dayMonthYear,e,n,i);return Jre(t,e,n,i)};var $re=3*wp;Yf.incrementMonth=function(e,t,r){r=yy(r)&&r;var n=X1(e,wp);if(e=Math.round(e-n),r)try{var i=Math.round(e/wp)+qS,a=my.getComponentMethod(\"calendars\",\"getCal\")(r),o=a.fromJD(i);return t%12?a.add(o,t,\"m\"):a.add(o,t/12,\"y\"),(o.toJD()-qS)*wp+n}catch(l){qq.error(\"invalid ms \"+e+\" in calendar \"+r)}var s=new Date(e+$re);return s.setUTCMonth(s.getUTCMonth()+t)+n-$re};Yf.findExactDates=function(e,t){for(var r=0,n=0,i=0,a=0,o,s,l=yy(t)&&my.getComponentMethod(\"calendars\",\"getCal\")(t),u=0;u<e.length;u++){if(s=e[u],!Qre(s)){a++;continue}if(!(s%wp))if(l)try{o=l.fromJD(s/wp+qS),o.day()===1?o.month()===1?r++:n++:i++}catch(f){}else o=new Date(s),o.getUTCDate()===1?o.getUTCMonth()===0?r++:n++:i++}n+=r,i+=n;var c=e.length-a;return{exactYears:r/c,exactMonths:n/c,exactDays:i/c}}});var OS=ye((ltr,rie)=>{\"use strict\";rie.exports=function(t){return t}});var k6=ye(_y=>{\"use strict\";var srt=uo(),lrt=G1(),urt=OS(),crt=es().BADNUM,Oq=1e-9;_y.findBin=function(e,t,r){if(srt(t.start))return r?Math.ceil((e-t.start)/t.size-Oq)-1:Math.floor((e-t.start)/t.size+Oq);var n=0,i=t.length,a=0,o=i>1?(t[i-1]-t[0])/(i-1):1,s,l;for(o>=0?l=r?frt:hrt:l=r?vrt:drt,e+=o*Oq*(r?-1:1)*(o>=0?1:-1);n<i&&a++<100;)s=Math.floor((n+i)/2),l(t[s],e)?n=s+1:i=s;return a>90&&lrt.log(\"Long binary search...\"),n-1};function frt(e,t){return e<t}function hrt(e,t){return e<=t}function drt(e,t){return e>t}function vrt(e,t){return e>=t}_y.sorterAsc=function(e,t){return e-t};_y.sorterDes=function(e,t){return t-e};_y.distinctVals=function(e){var t=e.slice();t.sort(_y.sorterAsc);var r;for(r=t.length-1;r>-1&&t[r]===crt;r--);for(var n=t[r]-t[0]||1,i=n/(r||1)/1e4,a=[],o,s=0;s<=r;s++){var l=t[s],u=l-o;o===void 0?(a.push(l),o=l):u>i&&(n=Math.min(n,u),a.push(l),o=l)}return{vals:a,minDiff:n}};_y.roundUp=function(e,t,r){for(var n=0,i=t.length-1,a,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;n<i&&o++<100;)a=u((n+i)/2),t[a]<=e?n=a+s:i=a-l;return t[n]};_y.sort=function(e,t){for(var r=0,n=0,i=1;i<e.length;i++){var a=t(e[i],e[i-1]);if(a<0?r=1:a>0&&(n=1),r&&n)return e.sort(t)}return n?e:e.reverse()};_y.findIndexOfMin=function(e,t){t=t||urt;for(var r=1/0,n,i=0;i<e.length;i++){var a=t(e[i]);a<r&&(r=a,n=i)}return n}});var Y1=ye((ctr,iie)=>{\"use strict\";iie.exports=function(t){return Object.keys(t).sort()}});var nie=ye(Kf=>{\"use strict\";var BS=uo(),prt=vv().isArrayOrTypedArray;Kf.aggNums=function(e,t,r,n){var i,a;if((!n||n>r.length)&&(n=r.length),BS(t)||(t=!1),prt(r[0])){for(a=new Array(n),i=0;i<n;i++)a[i]=Kf.aggNums(e,t,r[i]);r=a}for(i=0;i<n;i++)BS(t)?BS(r[i])&&(t=e(+t,+r[i])):t=r[i];return t};Kf.len=function(e){return Kf.aggNums(function(t){return t+1},0,e)};Kf.mean=function(e,t){return t||(t=Kf.len(e)),Kf.aggNums(function(r,n){return r+n},0,e)/t};Kf.geometricMean=function(e,t){return t||(t=Kf.len(e)),Math.pow(Kf.aggNums(function(r,n){return r*n},1,e),1/t)};Kf.midRange=function(e){if(!(e===void 0||e.length===0))return(Kf.aggNums(Math.max,null,e)+Kf.aggNums(Math.min,null,e))/2};Kf.variance=function(e,t,r){return t||(t=Kf.len(e)),BS(r)||(r=Kf.mean(e,t)),Kf.aggNums(function(n,i){return n+Math.pow(i-r,2)},0,e)/t};Kf.stdev=function(e,t,r){return Math.sqrt(Kf.variance(e,t,r))};Kf.median=function(e){var t=e.slice().sort();return Kf.interp(t,.5)};Kf.interp=function(e,t){if(!BS(t))throw\"n should be a finite number\";if(t=t*e.length-.5,t<0)return e[0];if(t>e.length-1)return e[e.length-1];var r=t%1;return r*e[Math.ceil(t)]+(1-r)*e[Math.floor(t)]}});var uie=ye((htr,lie)=>{\"use strict\";var aie=r3(),Bq=aie.mod,grt=aie.modHalf,NS=Math.PI,K1=2*NS;function mrt(e){return e/180*NS}function yrt(e){return e/NS*180}function Nq(e){return Math.abs(e[1]-e[0])>K1-1e-14}function oie(e,t){return grt(t-e,K1)}function _rt(e,t){return Math.abs(oie(e,t))}function sie(e,t){if(Nq(t))return!0;var r,n;t[0]<t[1]?(r=t[0],n=t[1]):(r=t[1],n=t[0]),r=Bq(r,K1),n=Bq(n,K1),r>n&&(n+=K1);var i=Bq(e,K1),a=i+K1;return i>=r&&i<=n||a>=r&&a<=n}function xrt(e,t,r,n){if(!sie(t,n))return!1;var i,a;return r[0]<r[1]?(i=r[0],a=r[1]):(i=r[1],a=r[0]),e>=i&&e<=a}function Uq(e,t,r,n,i,a,o){i=i||0,a=a||0;var s=Nq([r,n]),l,u,c,f,h;s?(l=0,u=NS,c=K1):r<n?(l=r,c=n):(l=n,c=r),e<t?(f=e,h=t):(f=t,h=e);function d(p,E){return[p*Math.cos(E)+i,a-p*Math.sin(E)]}var v=Math.abs(c-l)<=NS?0:1;function x(p,E,k){return\"A\"+[p,p]+\" \"+[0,v,k]+\" \"+d(p,E)}var b;return s?f===null?b=\"M\"+d(h,l)+x(h,u,0)+x(h,c,0)+\"Z\":b=\"M\"+d(f,l)+x(f,u,0)+x(f,c,0)+\"ZM\"+d(h,l)+x(h,u,1)+x(h,c,1)+\"Z\":f===null?(b=\"M\"+d(h,l)+x(h,c,0),o&&(b+=\"L0,0Z\")):b=\"M\"+d(f,l)+\"L\"+d(h,l)+x(h,c,0)+\"L\"+d(f,c)+x(f,l,1)+\"Z\",b}function brt(e,t,r,n,i){return Uq(null,e,t,r,n,i,0)}function wrt(e,t,r,n,i){return Uq(null,e,t,r,n,i,1)}function Trt(e,t,r,n,i,a){return Uq(e,t,r,n,i,a,1)}lie.exports={deg2rad:mrt,rad2deg:yrt,angleDelta:oie,angleDist:_rt,isFullCircle:Nq,isAngleInsideSector:sie,isPtInsideSector:xrt,pathArc:brt,pathSector:wrt,pathAnnulus:Trt}});var cie=ye(fb=>{\"use strict\";fb.isLeftAnchor=function(t){return t.xanchor===\"left\"||t.xanchor===\"auto\"&&t.x<=1/3};fb.isCenterAnchor=function(t){return t.xanchor===\"center\"||t.xanchor===\"auto\"&&t.x>1/3&&t.x<2/3};fb.isRightAnchor=function(t){return t.xanchor===\"right\"||t.xanchor===\"auto\"&&t.x>=2/3};fb.isTopAnchor=function(t){return t.yanchor===\"top\"||t.yanchor===\"auto\"&&t.y>=2/3};fb.isMiddleAnchor=function(t){return t.yanchor===\"middle\"||t.yanchor===\"auto\"&&t.y>1/3&&t.y<2/3};fb.isBottomAnchor=function(t){return t.yanchor===\"bottom\"||t.yanchor===\"auto\"&&t.y<=1/3}});var die=ye(hb=>{\"use strict\";var Vq=r3().mod;hb.segmentsIntersect=hie;function hie(e,t,r,n,i,a,o,s){var l=r-e,u=i-e,c=o-i,f=n-t,h=a-t,d=s-a,v=l*d-c*f;if(v===0)return null;var x=(u*d-c*h)/v,b=(u*f-l*h)/v;return b<0||b>1||x<0||x>1?null:{x:e+l*x,y:t+f*x}}hb.segmentDistance=function(t,r,n,i,a,o,s,l){if(hie(t,r,n,i,a,o,s,l))return 0;var u=n-t,c=i-r,f=s-a,h=l-o,d=u*u+c*c,v=f*f+h*h,x=Math.min(C6(u,c,d,a-t,o-r),C6(u,c,d,s-t,l-r),C6(f,h,v,t-a,r-o),C6(f,h,v,n-a,i-o));return Math.sqrt(x)};function C6(e,t,r,n,i){var a=n*e+i*t;if(a<0)return n*n+i*i;if(a>r){var o=n-e,s=i-t;return o*o+s*s}else{var l=n*t-i*e;return l*l/r}}var L6,Hq,fie;hb.getTextLocation=function(t,r,n,i){if((t!==Hq||i!==fie)&&(L6={},Hq=t,fie=i),L6[n])return L6[n];var a=t.getPointAtLength(Vq(n-i/2,r)),o=t.getPointAtLength(Vq(n+i/2,r)),s=Math.atan((o.y-a.y)/(o.x-a.x)),l=t.getPointAtLength(Vq(n,r)),u=(l.x*4+a.x+o.x)/6,c=(l.y*4+a.y+o.y)/6,f={x:u,y:c,theta:s};return L6[n]=f,f};hb.clearLocationCache=function(){Hq=null};hb.getVisibleSegment=function(t,r,n){var i=r.left,a=r.right,o=r.top,s=r.bottom,l=0,u=t.getTotalLength(),c=u,f,h;function d(x){var b=t.getPointAtLength(x);x===0?f=b:x===u&&(h=b);var p=b.x<i?i-b.x:b.x>a?b.x-a:0,E=b.y<o?o-b.y:b.y>s?b.y-s:0;return Math.sqrt(p*p+E*E)}for(var v=d(l);v;){if(l+=v+n,l>c)return;v=d(l)}for(v=d(c);v;){if(c-=v+n,l>c)return;v=d(c)}return{min:l,max:c,len:c-l,total:u,isClosed:l===0&&c===u&&Math.abs(f.x-h.x)<.1&&Math.abs(f.y-h.y)<.1}};hb.findPointOnPath=function(t,r,n,i){i=i||{};for(var a=i.pathLength||t.getTotalLength(),o=i.tolerance||.001,s=i.iterationLimit||30,l=t.getPointAtLength(0)[n]>t.getPointAtLength(a)[n]?-1:1,u=0,c=0,f=a,h,d,v;u<s;){if(h=(c+f)/2,d=t.getPointAtLength(h),v=d[n]-r,Math.abs(v)<o)return d;l*v>0?f=h:c=h,u++}return d}});var P6=ye(US=>{\"use strict\";var xy={};US.throttle=function(t,r,n){var i=xy[t],a=Date.now();if(!i){for(var o in xy)xy[o].ts<a-6e4&&delete xy[o];i=xy[t]={ts:0,timer:null}}vie(i);function s(){n(),i.ts=Date.now(),i.onDone&&(i.onDone(),i.onDone=null)}if(a>i.ts+r){s();return}i.timer=setTimeout(function(){s(),i.timer=null},r)};US.done=function(e){var t=xy[e];return!t||!t.timer?Promise.resolve():new Promise(function(r){var n=t.onDone;t.onDone=function(){n&&n(),r(),t.onDone=null}})};US.clear=function(e){if(e)vie(xy[e]),delete xy[e];else for(var t in xy)US.clear(t)};function vie(e){e&&e.timer!==null&&(clearTimeout(e.timer),e.timer=null)}});var gie=ye((gtr,pie)=>{\"use strict\";pie.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener(\"resize\",t._responsiveChartHandler),delete t._responsiveChartHandler)}});var mie=ye((mtr,I6)=>{\"use strict\";I6.exports=Gq;I6.exports.isMobile=Gq;I6.exports.default=Gq;var Art=/(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,Srt=/CrOS/,Mrt=/android|ipad|playbook|silk/i;function Gq(e){e||(e={});let t=e.ua;if(!t&&typeof navigator!=\"undefined\"&&(t=navigator.userAgent),t&&t.headers&&typeof t.headers[\"user-agent\"]==\"string\"&&(t=t.headers[\"user-agent\"]),typeof t!=\"string\")return!1;let r=Art.test(t)&&!Srt.test(t)||!!e.tablet&&Mrt.test(t);return!r&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&t.indexOf(\"Macintosh\")!==-1&&t.indexOf(\"Safari\")!==-1&&(r=!0),r}});var _ie=ye((ytr,yie)=>{\"use strict\";var Ert=uo(),krt=mie();yie.exports=function(t){var r;if(t&&t.hasOwnProperty(\"userAgent\")?r=t.userAgent:r=Crt(),typeof r!=\"string\")return!0;var n=krt({ua:{headers:{\"user-agent\":r}},tablet:!0,featureDetect:!1});if(!n)for(var i=r.split(\" \"),a=1;a<i.length;a++){var o=i[a];if(o.indexOf(\"Safari\")!==-1)for(var s=a-1;s>-1;s--){var l=i[s];if(l.substr(0,8)===\"Version/\"){var u=l.substr(8).split(\".\")[0];if(Ert(u)&&(u=+u),u>=13)return!0}}}return n};function Crt(){var e;return typeof navigator!=\"undefined\"&&(e=navigator.userAgent),e&&e.headers&&typeof e.headers[\"user-agent\"]==\"string\"&&(e=e.headers[\"user-agent\"]),e}});var bie=ye((_tr,xie)=>{\"use strict\";var Lrt=xa();xie.exports=function(t,r,n){var i=t.selectAll(\"g.\"+n.replace(/\\s/g,\".\")).data(r,function(o){return o[0].trace.uid});i.exit().remove(),i.enter().append(\"g\").attr(\"class\",n),i.order();var a=t.classed(\"rangeplot\")?\"nodeRangePlot3\":\"node3\";return i.each(function(o){o[0][a]=Lrt.select(this)}),i}});var Tie=ye((xtr,wie)=>{\"use strict\";var Prt=ba();wie.exports=function(t,r){for(var n=t._context.locale,i=0;i<2;i++){for(var a=t._context.locales,o=0;o<2;o++){var s=(a[n]||{}).dictionary;if(s){var l=s[r];if(l)return l}a=Prt.localeRegistry}var u=n.split(\"-\")[0];if(u===n)break;n=u}return r}});var jq=ye((btr,Aie)=>{\"use strict\";Aie.exports=function(t){for(var r={},n=[],i=0,a=0;a<t.length;a++){var o=t[a];r[o]!==1&&(r[o]=1,n[i++]=o)}return n}});var Mie=ye((wtr,Sie)=>{\"use strict\";Sie.exports=function(t){for(var r=Drt(t)?Rrt:Irt,n=[],i=0;i<t.length;i++){var a=t[i];r(a)&&n.push(a)}return n};function Irt(e){return e.visible===!0}function Rrt(e){var t=e[0].trace;return t.visible===!0&&t._length!==0}function Drt(e){return Array.isArray(e)&&Array.isArray(e[0])&&e[0][0]&&e[0][0].trace}});var kie=ye((Ttr,Eie)=>{\"use strict\";Eie.exports=function(t,r){if(!r)return t;var n=1/Math.abs(r),i=n>1?(n*t+n*r)/n:t+r,a=String(i).length;if(a>16){var o=String(r).length,s=String(t).length;if(a>=s+o){var l=parseFloat(i).toPrecision(12);l.indexOf(\"e+\")===-1&&(i=+l)}}return i}});var Lie=ye((Atr,Cie)=>{\"use strict\";var zrt=uo(),Frt=es().BADNUM,qrt=/^['\"%,$#\\s']+|[, ]|['\"%,$#\\s']+$/g;Cie.exports=function(t){return typeof t==\"string\"&&(t=t.replace(qrt,\"\")),zrt(t)?Number(t):Frt}});var Mr=ye((Str,Hie)=>{\"use strict\";var VS=xa(),Ort=e3().utcFormat,Brt=vq().format,Fie=uo(),qie=es(),Oie=qie.FP_SAFE,Nrt=-Oie,Pie=qie.BADNUM,li=Hie.exports={};li.adjustFormat=function(t){return!t||/^\\d[.]\\df/.test(t)||/[.]\\d%/.test(t)?t:t===\"0.f\"?\"~f\":/^\\d%/.test(t)?\"~%\":/^\\ds/.test(t)?\"~s\":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?\"~\"+t:t};var Iie={};li.warnBadFormat=function(e){var t=String(e);Iie[t]||(Iie[t]=1,li.warn('encountered bad format: \"'+t+'\"'))};li.noFormat=function(e){return String(e)};li.numberFormat=function(e){var t;try{t=Brt(li.adjustFormat(e))}catch(r){return li.warnBadFormat(e),li.noFormat}return t};li.nestedProperty=ES();li.keyedContainer=Tee();li.relativeAttr=See();li.isPlainObject=gy();li.toLogRange=u6();li.relinkPrivateKeys=Cee();var J1=vv();li.isArrayBuffer=J1.isArrayBuffer;li.isTypedArray=J1.isTypedArray;li.isArrayOrTypedArray=J1.isArrayOrTypedArray;li.isArray1D=J1.isArray1D;li.ensureArray=J1.ensureArray;li.concat=J1.concat;li.maxRowLength=J1.maxRowLength;li.minRowLength=J1.minRowLength;var Bie=r3();li.mod=Bie.mod;li.modHalf=Bie.modHalf;var $1=Xee();li.valObjectMeta=$1.valObjectMeta;li.coerce=$1.coerce;li.coerce2=$1.coerce2;li.coerceFont=$1.coerceFont;li.coercePattern=$1.coercePattern;li.coerceHoverinfo=$1.coerceHoverinfo;li.coerceSelectionMarkerOpacity=$1.coerceSelectionMarkerOpacity;li.validate=$1.validate;var Wp=tie();li.dateTime2ms=Wp.dateTime2ms;li.isDateTime=Wp.isDateTime;li.ms2DateTime=Wp.ms2DateTime;li.ms2DateTimeLocal=Wp.ms2DateTimeLocal;li.cleanDate=Wp.cleanDate;li.isJSDate=Wp.isJSDate;li.formatDate=Wp.formatDate;li.incrementMonth=Wp.incrementMonth;li.dateTick0=Wp.dateTick0;li.dfltRange=Wp.dfltRange;li.findExactDates=Wp.findExactDates;li.MIN_MS=Wp.MIN_MS;li.MAX_MS=Wp.MAX_MS;var db=k6();li.findBin=db.findBin;li.sorterAsc=db.sorterAsc;li.sorterDes=db.sorterDes;li.distinctVals=db.distinctVals;li.roundUp=db.roundUp;li.sort=db.sort;li.findIndexOfMin=db.findIndexOfMin;li.sortObjectKeys=Y1();var by=nie();li.aggNums=by.aggNums;li.len=by.len;li.mean=by.mean;li.geometricMean=by.geometricMean;li.median=by.median;li.midRange=by.midRange;li.variance=by.variance;li.stdev=by.stdev;li.interp=by.interp;var yg=m6();li.init2dArray=yg.init2dArray;li.transposeRagged=yg.transposeRagged;li.dot=yg.dot;li.translationMatrix=yg.translationMatrix;li.rotationMatrix=yg.rotationMatrix;li.rotationXYMatrix=yg.rotationXYMatrix;li.apply3DTransform=yg.apply3DTransform;li.apply2DTransform=yg.apply2DTransform;li.apply2DTransform2=yg.apply2DTransform2;li.convertCssMatrix=yg.convertCssMatrix;li.inverseTransformMatrix=yg.inverseTransformMatrix;var vm=uie();li.deg2rad=vm.deg2rad;li.rad2deg=vm.rad2deg;li.angleDelta=vm.angleDelta;li.angleDist=vm.angleDist;li.isFullCircle=vm.isFullCircle;li.isAngleInsideSector=vm.isAngleInsideSector;li.isPtInsideSector=vm.isPtInsideSector;li.pathArc=vm.pathArc;li.pathSector=vm.pathSector;li.pathAnnulus=vm.pathAnnulus;var d3=cie();li.isLeftAnchor=d3.isLeftAnchor;li.isCenterAnchor=d3.isCenterAnchor;li.isRightAnchor=d3.isRightAnchor;li.isTopAnchor=d3.isTopAnchor;li.isMiddleAnchor=d3.isMiddleAnchor;li.isBottomAnchor=d3.isBottomAnchor;var v3=die();li.segmentsIntersect=v3.segmentsIntersect;li.segmentDistance=v3.segmentDistance;li.getTextLocation=v3.getTextLocation;li.clearLocationCache=v3.clearLocationCache;li.getVisibleSegment=v3.getVisibleSegment;li.findPointOnPath=v3.findPointOnPath;var z6=no();li.extendFlat=z6.extendFlat;li.extendDeep=z6.extendDeep;li.extendDeepAll=z6.extendDeepAll;li.extendDeepNoArrays=z6.extendDeepNoArrays;var Wq=G1();li.log=Wq.log;li.warn=Wq.warn;li.error=Wq.error;var Urt=n3();li.counterRegex=Urt.counter;var Zq=P6();li.throttle=Zq.throttle;li.throttleDone=Zq.done;li.clearThrottle=Zq.clear;var _g=DS();li.getGraphDiv=_g.getGraphDiv;li.isPlotDiv=_g.isPlotDiv;li.removeElement=_g.removeElement;li.addStyleRule=_g.addStyleRule;li.addRelatedStyleRule=_g.addRelatedStyleRule;li.deleteRelatedStyleRule=_g.deleteRelatedStyleRule;li.setStyleOnHover=_g.setStyleOnHover;li.getFullTransformMatrix=_g.getFullTransformMatrix;li.getElementTransformMatrix=_g.getElementTransformMatrix;li.getElementAndAncestors=_g.getElementAndAncestors;li.equalDomRects=_g.equalDomRects;li.clearResponsive=gie();li.preserveDrawingBuffer=_ie();li.makeTraceGroups=bie();li._=Tie();li.notifier=Sq();li.filterUnique=jq();li.filterVisible=Mie();li.pushUnique=kq();li.increment=kie();li.cleanNumber=Lie();li.ensureNumber=function(t){return Fie(t)?(t=Number(t),t>Oie||t<Nrt?Pie:t):Pie};li.isIndex=function(e,t){return t!==void 0&&e>=t?!1:Fie(e)&&e>=0&&e%1===0};li.noop=g6();li.identity=OS();li.repeat=function(e,t){for(var r=new Array(t),n=0;n<t;n++)r[n]=e;return r};li.swapAttrs=function(e,t,r,n){r||(r=\"x\"),n||(n=\"y\");for(var i=0;i<t.length;i++){var a=t[i],o=li.nestedProperty(e,a.replace(\"?\",r)),s=li.nestedProperty(e,a.replace(\"?\",n)),l=o.get();o.set(s.get()),s.set(l)}};li.raiseToTop=function(t){t.parentNode.appendChild(t)};li.cancelTransition=function(e){return e.transition().duration(0)};li.constrain=function(e,t,r){return t>r?Math.max(r,Math.min(t,e)):Math.max(t,Math.min(r,e))};li.bBoxIntersect=function(e,t,r){return r=r||0,e.left<=t.right+r&&t.left<=e.right+r&&e.top<=t.bottom+r&&t.top<=e.bottom+r};li.simpleMap=function(e,t,r,n,i){for(var a=e.length,o=new Array(a),s=0;s<a;s++)o[s]=t(e[s],r,n,i);return o};li.randstr=function e(t,r,n,i){if(n||(n=16),r===void 0&&(r=24),r<=0)return\"0\";var a=Math.log(Math.pow(2,r))/Math.log(n),o=\"\",s,l,u;for(s=2;a===1/0;s*=2)a=Math.log(Math.pow(2,r/s))/Math.log(n)*s;var c=a-Math.floor(a);for(s=0;s<Math.floor(a);s++)u=Math.floor(Math.random()*n).toString(n),o=u+o;c&&(l=Math.pow(n,c),u=Math.floor(Math.random()*l).toString(n),o=u+o);var f=parseInt(o,n);return t&&t[o]||f!==1/0&&f>=Math.pow(2,r)?i>10?(li.warn(\"randstr failed uniqueness\"),o):e(t,r,n,(i||0)+1):o};li.OptionControl=function(e,t){e||(e={}),t||(t=\"opt\");var r={};return r.optionList=[],r._newoption=function(n){n[t]=e,r[n.name]=n,r.optionList.push(n)},r[\"_\"+t]=e,r};li.smooth=function(e,t){if(t=Math.round(t)||0,t<2)return e;var r=e.length,n=2*r,i=2*t-1,a=new Array(i),o=new Array(r),s,l,u,c;for(s=0;s<i;s++)a[s]=(1-Math.cos(Math.PI*(s+1)/t))/(2*t);for(s=0;s<r;s++){for(c=0,l=0;l<i;l++)u=s+l+1-t,u<-r?u-=n*Math.round(u/n):u>=n&&(u-=n*Math.floor(u/n)),u<0?u=-1-u:u>=r&&(u=n-1-u),c+=e[u]*a[l];o[s]=c}return o};li.syncOrAsync=function(e,t,r){var n,i;function a(){return li.syncOrAsync(e,t,r)}for(;e.length;)if(i=e.splice(0,1)[0],n=i(t),n&&n.then)return n.then(a);return r&&r(t)};li.stripTrailingSlash=function(e){return e.substr(-1)===\"/\"?e.substr(0,e.length-1):e};li.noneOrAll=function(e,t,r){if(e){var n=!1,i=!0,a,o;for(a=0;a<r.length;a++)o=e[r[a]],o!=null?n=!0:i=!1;if(n&&!i)for(a=0;a<r.length;a++)e[r[a]]=t[r[a]]}};li.mergeArray=function(e,t,r,n){var i=typeof n==\"function\";if(li.isArrayOrTypedArray(e))for(var a=Math.min(e.length,t.length),o=0;o<a;o++){var s=e[o];t[o][r]=i?n(s):s}};li.mergeArrayCastPositive=function(e,t,r){return li.mergeArray(e,t,r,function(n){var i=+n;return isFinite(i)&&i>0?i:0})};li.fillArray=function(e,t,r,n){if(n=n||li.identity,li.isArrayOrTypedArray(e))for(var i=0;i<t.length;i++)t[i][r]=n(e[i])};li.castOption=function(e,t,r,n){n=n||li.identity;var i=li.nestedProperty(e,r).get();return li.isArrayOrTypedArray(i)?Array.isArray(t)&&li.isArrayOrTypedArray(i[t[0]])?n(i[t[0]][t[1]]):n(i[t]):i};li.extractOption=function(e,t,r,n){if(r in e)return e[r];var i=li.nestedProperty(t,n).get();if(!Array.isArray(i))return i};function Nie(e){var t={};for(var r in e)for(var n=e[r],i=0;i<n.length;i++)t[n[i]]=+r;return t}li.tagSelected=function(e,t,r){var n=t.selectedpoints,i=t._indexToPoints,a;i&&(a=Nie(i));function o(f){return f!==void 0&&f<e.length}for(var s=0;s<n.length;s++){var l=n[s];if(li.isIndex(l)||li.isArrayOrTypedArray(l)&&li.isIndex(l[0])&&li.isIndex(l[1])){var u=a?a[l]:l,c=r?r[u]:u;o(c)&&(e[c].selected=1)}}};li.selIndices2selPoints=function(e){var t=e.selectedpoints,r=e._indexToPoints;if(r){for(var n=Nie(r),i=[],a=0;a<t.length;a++){var o=t[a];if(li.isIndex(o)){var s=n[o];li.isIndex(s)&&i.push(s)}}return i}else return t};li.getTargetArray=function(e,t){var r=t.target;if(typeof r==\"string\"&&r){var n=li.nestedProperty(e,r).get();return li.isArrayOrTypedArray(n)?n:!1}else if(li.isArrayOrTypedArray(r))return r;return!1};function Uie(e,t,r){var n={};typeof t!=\"object\"&&(t={});var i=r===\"pieLike\"?-1:3,a=Object.keys(e),o,s,l;for(o=0;o<a.length;o++)s=a[o],l=e[s],!(s.charAt(0)===\"_\"||typeof l==\"function\")&&(s===\"module\"?n[s]=l:Array.isArray(l)?s===\"colorscale\"||i===-1?n[s]=l.slice():n[s]=l.slice(0,i):li.isTypedArray(l)?i===-1?n[s]=l.subarray():n[s]=l.subarray(0,i):l&&typeof l==\"object\"?n[s]=Uie(e[s],t[s],r):n[s]=l);for(a=Object.keys(t),o=0;o<a.length;o++)s=a[o],l=t[s],(typeof l!=\"object\"||!(s in n)||typeof n[s]!=\"object\")&&(n[s]=l);return n}li.minExtend=Uie;li.titleCase=function(e){return e.charAt(0).toUpperCase()+e.substr(1)};li.containsAny=function(e,t){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])!==-1)return!0;return!1};var Vrt=/Version\\/[\\d\\.]+.*Safari/;li.isSafari=function(){return Vrt.test(window.navigator.userAgent)};var Hrt=/iPad|iPhone|iPod/;li.isIOS=function(){return Hrt.test(window.navigator.userAgent)};var Grt=/Firefox\\/(\\d+)\\.\\d+/;li.getFirefoxVersion=function(){var e=Grt.exec(window.navigator.userAgent);if(e&&e.length===2){var t=parseInt(e[1]);if(!isNaN(t))return t}return null};li.isD3Selection=function(e){return e instanceof VS.selection};li.ensureSingle=function(e,t,r,n){var i=e.select(t+(r?\".\"+r:\"\"));if(i.size())return i;var a=e.append(t);return r&&a.classed(r,!0),n&&a.call(n),a};li.ensureSingleById=function(e,t,r,n){var i=e.select(t+\"#\"+r);if(i.size())return i;var a=e.append(t).attr(\"id\",r);return n&&a.call(n),a};li.objectFromPath=function(e,t){for(var r=e.split(\".\"),n,i=n={},a=0;a<r.length;a++){var o=r[a],s=null,l=r[a].match(/(.*)\\[([0-9]+)\\]/);l?(o=l[1],s=l[2],n=n[o]=[],a===r.length-1?n[s]=t:n[s]={},n=n[s]):(a===r.length-1?n[o]=t:n[o]={},n=n[o])}return i};var jrt=/^([^\\[\\.]+)\\.(.+)?/,Wrt=/^([^\\.]+)\\[([0-9]+)\\](\\.)?(.+)?/;function R6(e){return e.slice(0,2)===\"__\"}li.expandObjectPaths=function(e){var t,r,n,i,a,o,s;if(typeof e==\"object\"&&!Array.isArray(e)){for(r in e)if(e.hasOwnProperty(r))if(t=r.match(jrt)){if(i=e[r],n=t[1],R6(n))continue;delete e[r],e[n]=li.extendDeepNoArrays(e[n]||{},li.objectFromPath(r,li.expandObjectPaths(i))[n])}else if(t=r.match(Wrt)){if(i=e[r],n=t[1],R6(n))continue;if(a=parseInt(t[2]),delete e[r],e[n]=e[n]||[],t[3]===\".\")s=t[4],o=e[n][a]=e[n][a]||{},li.extendDeepNoArrays(o,li.objectFromPath(s,li.expandObjectPaths(i)));else{if(R6(n))continue;e[n][a]=li.expandObjectPaths(i)}}else{if(R6(r))continue;e[r]=li.expandObjectPaths(e[r])}}return e};li.numSeparate=function(e,t,r){if(r||(r=!1),typeof t!=\"string\"||t.length===0)throw new Error(\"Separator string required for formatting!\");typeof e==\"number\"&&(e=String(e));var n=/(\\d+)(\\d{3})/,i=t.charAt(0),a=t.charAt(1),o=e.split(\".\"),s=o[0],l=o.length>1?i+o[1]:\"\";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,\"$1\"+a+\"$2\");return s+l};li.TEMPLATE_STRING_REGEX=/%{([^\\s%{}:]*)([:|\\|][^}]*)?}/g;var Vie=/^\\w*$/;li.templateString=function(e,t){var r={};return e.replace(li.TEMPLATE_STRING_REGEX,function(n,i){var a;return Vie.test(i)?a=t[i]:(r[i]=r[i]||li.nestedProperty(t,i).get,a=r[i](!0)),a!==void 0?a:\"\"})};var Zrt={max:10,count:0,name:\"hovertemplate\"};li.hovertemplateString=function(){return Xq.apply(Zrt,arguments)};var Xrt={max:10,count:0,name:\"texttemplate\"};li.texttemplateString=function(){return Xq.apply(Xrt,arguments)};var Yrt=/^(\\S+)([\\*\\/])(-?\\d+(\\.\\d+)?)$/;function Krt(e){var t=e.match(Yrt);return t?{key:t[1],op:t[2],number:Number(t[3])}:{key:e,op:null,number:null}}var Jrt={max:10,count:0,name:\"texttemplate\",parseMultDiv:!0};li.texttemplateStringForShapes=function(){return Xq.apply(Jrt,arguments)};var Rie=/^[:|\\|]/;function Xq(e,t,r){var n=this,i=arguments;return t||(t={}),e.replace(li.TEMPLATE_STRING_REGEX,function(a,o,s){var l=o===\"xother\"||o===\"yother\",u=o===\"_xother\"||o===\"_yother\",c=o===\"_xother_\"||o===\"_yother_\",f=o===\"xother_\"||o===\"yother_\",h=l||u||f||c,d=o;(u||c)&&(d=d.substring(1)),(f||c)&&(d=d.substring(0,d.length-1));var v=null,x=null;if(n.parseMultDiv){var b=Krt(d);d=b.key,v=b.op,x=b.number}var p;if(h){if(p=t[d],p===void 0)return\"\"}else{var E,k;for(k=3;k<i.length;k++)if(E=i[k],!!E){if(E.hasOwnProperty(d)){p=E[d];break}if(Vie.test(d)||(p=li.nestedProperty(E,d).get(!0)),p!==void 0)break}}if(p!==void 0&&(v===\"*\"&&(p*=x),v===\"/\"&&(p/=x)),p===void 0&&n)return n.count<n.max&&(li.warn(\"Variable '\"+d+\"' in \"+n.name+\" could not be found!\"),p=a),n.count===n.max&&li.warn(\"Too many \"+n.name+\" warnings - additional warnings will be suppressed\"),n.count++,a;if(s){var A;if(s[0]===\":\"&&(A=r?r.numberFormat:li.numberFormat,p!==\"\"&&(p=A(s.replace(Rie,\"\"))(p))),s[0]===\"|\"){A=r?r.timeFormat:Ort;var L=li.dateTime2ms(p);p=li.formatDate(L,s.replace(Rie,\"\"),!1,A)}}else{var _=d+\"Label\";t.hasOwnProperty(_)&&(p=t[_])}return h&&(p=\"(\"+p+\")\",(u||c)&&(p=\" \"+p),(f||c)&&(p=p+\" \")),p})}var D6=48,Die=57;li.subplotSort=function(e,t){for(var r=Math.min(e.length,t.length)+1,n=0,i=0,a=0;a<r;a++){var o=e.charCodeAt(a)||0,s=t.charCodeAt(a)||0,l=o>=D6&&o<=Die,u=s>=D6&&s<=Die;if(l&&(n=10*n+o-D6),u&&(i=10*i+s-D6),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var h3=2e9;li.seedPseudoRandom=function(){h3=2e9};li.pseudoRandom=function(){var e=h3;return h3=(69069*h3+1)%4294967296,Math.abs(h3-e)<429496729?li.pseudoRandom():h3/4294967296};li.fillText=function(e,t,r){var n=Array.isArray(r)?function(o){r.push(o)}:function(o){r.text=o},i=li.extractOption(e,t,\"htx\",\"hovertext\");if(li.isValidTextValue(i))return n(i);var a=li.extractOption(e,t,\"tx\",\"text\");if(li.isValidTextValue(a))return n(a)};li.isValidTextValue=function(e){return e||e===0};li.formatPercent=function(e,t){t=t||0;for(var r=(Math.round(100*e*Math.pow(10,t))*Math.pow(.1,t)).toFixed(t)+\"%\",n=0;n<t;n++)r.indexOf(\".\")!==-1&&(r=r.replace(\"0%\",\"%\"),r=r.replace(\".%\",\"%\"));return r};li.isHidden=function(e){var t=window.getComputedStyle(e).display;return!t||t===\"none\"};li.strTranslate=function(e,t){return e||t?\"translate(\"+e+\",\"+t+\")\":\"\"};li.strRotate=function(e){return e?\"rotate(\"+e+\")\":\"\"};li.strScale=function(e){return e!==1?\"scale(\"+e+\")\":\"\"};li.getTextTransform=function(e){var t=e.noCenter,r=e.textX,n=e.textY,i=e.targetX,a=e.targetY,o=e.anchorX||0,s=e.anchorY||0,l=e.rotate,u=e.scale;return u?u>1&&(u=1):u=0,li.strTranslate(i-u*(r+o),a-u*(n+s))+li.strScale(u)+(l?\"rotate(\"+l+(t?\"\":\" \"+r+\" \"+n)+\")\":\"\")};li.setTransormAndDisplay=function(e,t){e.attr(\"transform\",li.getTextTransform(t)),e.style(\"display\",t.scale?null:\"none\")};li.ensureUniformFontSize=function(e,t){var r=li.extendFlat({},t);return r.size=Math.max(t.size,e._fullLayout.uniformtext.minsize||0),r};li.join2=function(e,t,r){var n=e.length;return n>1?e.slice(0,-1).join(t)+r+e[n-1]:e.join(t)};li.bigFont=function(e){return Math.round(1.2*e)};var zie=li.getFirefoxVersion(),$rt=zie!==null&&zie<86;li.getPositionFromD3Event=function(){return $rt?[VS.event.layerX,VS.event.layerY]:[VS.event.offsetX,VS.event.offsetY]}});var Wie=ye(()=>{\"use strict\";var Qrt=Mr(),Gie={\"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 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(Yq in Gie)jie=Yq.replace(/^,/,\" ,\").replace(/X/g,\".js-plotly-plot .plotly\").replace(/Y/g,\".plotly-notifier\"),Qrt.addStyleRule(jie,Gie[Yq]);var jie,Yq});var Kq=ye((ktr,Zie)=>{Zie.exports=!0});var $q=ye((Ctr,Xie)=>{\"use strict\";var eit=Kq(),Jq;typeof window.matchMedia==\"function\"?Jq=!window.matchMedia(\"(hover: none)\").matches:Jq=eit;Xie.exports=Jq});var vb=ye((Ltr,Qq)=>{\"use strict\";var p3=typeof Reflect==\"object\"?Reflect:null,Yie=p3&&typeof p3.apply==\"function\"?p3.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},F6;p3&&typeof p3.ownKeys==\"function\"?F6=p3.ownKeys:Object.getOwnPropertySymbols?F6=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:F6=function(t){return Object.getOwnPropertyNames(t)};function tit(e){console&&console.warn&&console.warn(e)}var Jie=Number.isNaN||function(t){return t!==t};function Tc(){Tc.init.call(this)}Qq.exports=Tc;Qq.exports.once=ait;Tc.EventEmitter=Tc;Tc.prototype._events=void 0;Tc.prototype._eventsCount=0;Tc.prototype._maxListeners=void 0;var Kie=10;function q6(e){if(typeof e!=\"function\")throw new TypeError('The \"listener\" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(Tc,\"defaultMaxListeners\",{enumerable:!0,get:function(){return Kie},set:function(e){if(typeof e!=\"number\"||e<0||Jie(e))throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received '+e+\".\");Kie=e}});Tc.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};Tc.prototype.setMaxListeners=function(t){if(typeof t!=\"number\"||t<0||Jie(t))throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received '+t+\".\");return this._maxListeners=t,this};function $ie(e){return e._maxListeners===void 0?Tc.defaultMaxListeners:e._maxListeners}Tc.prototype.getMaxListeners=function(){return $ie(this)};Tc.prototype.emit=function(t){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=t===\"error\",a=this._events;if(a!==void 0)i=i&&a.error===void 0;else if(!i)return!1;if(i){var o;if(r.length>0&&(o=r[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(l===void 0)return!1;if(typeof l==\"function\")Yie(l,this,r);else for(var u=l.length,c=ine(l,u),n=0;n<u;++n)Yie(c[n],this,r);return!0};function Qie(e,t,r,n){var i,a,o;if(q6(r),a=e._events,a===void 0?(a=e._events=Object.create(null),e._eventsCount=0):(a.newListener!==void 0&&(e.emit(\"newListener\",t,r.listener?r.listener:r),a=e._events),o=a[t]),o===void 0)o=a[t]=r,++e._eventsCount;else if(typeof o==\"function\"?o=a[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),i=$ie(e),i>0&&o.length>i&&!o.warned){o.warned=!0;var s=new Error(\"Possible EventEmitter memory leak detected. \"+o.length+\" \"+String(t)+\" listeners added. Use emitter.setMaxListeners() to increase limit\");s.name=\"MaxListenersExceededWarning\",s.emitter=e,s.type=t,s.count=o.length,tit(s)}return e}Tc.prototype.addListener=function(t,r){return Qie(this,t,r,!1)};Tc.prototype.on=Tc.prototype.addListener;Tc.prototype.prependListener=function(t,r){return Qie(this,t,r,!0)};function rit(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function ene(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=rit.bind(n);return i.listener=r,n.wrapFn=i,i}Tc.prototype.once=function(t,r){return q6(r),this.on(t,ene(this,t,r)),this};Tc.prototype.prependOnceListener=function(t,r){return q6(r),this.prependListener(t,ene(this,t,r)),this};Tc.prototype.removeListener=function(t,r){var n,i,a,o,s;if(q6(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit(\"removeListener\",t,n.listener||r));else if(typeof n!=\"function\"){for(a=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){s=n[o].listener,a=o;break}if(a<0)return this;a===0?n.shift():iit(n,a),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit(\"removeListener\",t,s||r)}return this};Tc.prototype.off=Tc.prototype.removeListener;Tc.prototype.removeAllListeners=function(t){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var a=Object.keys(n),o;for(i=0;i<a.length;++i)o=a[i],o!==\"removeListener\"&&this.removeAllListeners(o);return this.removeAllListeners(\"removeListener\"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[t],typeof r==\"function\")this.removeListener(t,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(t,r[i]);return this};function tne(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i==\"function\"?r?[i.listener||i]:[i]:r?nit(i):ine(i,i.length)}Tc.prototype.listeners=function(t){return tne(this,t,!0)};Tc.prototype.rawListeners=function(t){return tne(this,t,!1)};Tc.listenerCount=function(e,t){return typeof e.listenerCount==\"function\"?e.listenerCount(t):rne.call(e,t)};Tc.prototype.listenerCount=rne;function rne(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r==\"function\")return 1;if(r!==void 0)return r.length}return 0}Tc.prototype.eventNames=function(){return this._eventsCount>0?F6(this._events):[]};function ine(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function iit(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function nit(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function ait(e,t){return new Promise(function(r,n){function i(o){e.removeListener(t,a),n(o)}function a(){typeof e.removeListener==\"function\"&&e.removeListener(\"error\",i),r([].slice.call(arguments))}nne(e,t,a,{once:!0}),t!==\"error\"&&oit(e,i,{once:!0})})}function oit(e,t,r){typeof e.on==\"function\"&&nne(e,\"error\",t,r)}function nne(e,t,r,n){if(typeof e.on==\"function\")n.once?e.once(t,r):e.on(t,r);else if(typeof e.addEventListener==\"function\")e.addEventListener(t,function i(a){n.once&&e.removeEventListener(t,i),r(a)});else throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type '+typeof e)}});var g3=ye((Ptr,ane)=>{\"use strict\";var eO=vb().EventEmitter,sit={init:function(e){if(e._ev instanceof eO)return e;var t=new eO,r=new eO;return e._ev=t,e._internalEv=r,e.on=t.on.bind(t),e.once=t.once.bind(t),e.removeListener=t.removeListener.bind(t),e.removeAllListeners=t.removeAllListeners.bind(t),e._internalOn=r.on.bind(r),e._internalOnce=r.once.bind(r),e._removeInternalListener=r.removeListener.bind(r),e._removeAllInternalListeners=r.removeAllListeners.bind(r),e.emit=function(n,i){t.emit(n,i),r.emit(n,i)},e},triggerHandler:function(e,t,r){var n,i=e._ev;if(!i)return;var a=i._events[t];if(!a)return;function o(l){if(l.listener){if(i.removeListener(t,l.listener),!l.fired)return l.fired=!0,l.listener.apply(i,[r])}else return l.apply(i,[r])}a=Array.isArray(a)?a:[a];var s;for(s=0;s<a.length-1;s++)o(a[s]);return n=o(a[s]),n},purge:function(e){return delete e._ev,delete e.on,delete e.once,delete e.removeListener,delete e.removeAllListeners,delete e.emit,delete e._ev,delete e._internalEv,delete e._internalOn,delete e._internalOnce,delete e._removeInternalListener,delete e._removeAllInternalListeners,e}};ane.exports=sit});var lne=ye((Itr,sne)=>{\"use strict\";var one=Mr(),lit=ub().dfltConfig;function uit(e,t){for(var r=[],n,i=0;i<t.length;i++)n=t[i],n===e?r[i]=n:typeof n==\"object\"?r[i]=Array.isArray(n)?one.extendDeep([],n):one.extendDeepAll({},n):r[i]=n;return r}var wy={};wy.add=function(e,t,r,n,i){var a,o;if(e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},o=e.undoQueue.index,e.autoplay){e.undoQueue.inSequence||(e.autoplay=!1);return}!e.undoQueue.sequence||e.undoQueue.beginSequence?(a={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},e.undoQueue.queue.splice(o,e.undoQueue.queue.length-o,a),e.undoQueue.index+=1):a=e.undoQueue.queue[o-1],e.undoQueue.beginSequence=!1,a&&(a.undo.calls.unshift(t),a.undo.args.unshift(r),a.redo.calls.push(n),a.redo.args.push(i)),e.undoQueue.queue.length>lit.queueLength&&(e.undoQueue.queue.shift(),e.undoQueue.index--)};wy.startSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!0,e.undoQueue.beginSequence=!0};wy.stopSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!1,e.undoQueue.beginSequence=!1};wy.undo=function(t){var r,n;if(!(t.undoQueue===void 0||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,n=0;n<r.undo.calls.length;n++)wy.plotDo(t,r.undo.calls[n],r.undo.args[n]);t.undoQueue.inSequence=!1,t.autoplay=!1}};wy.redo=function(t){var r,n;if(!(t.undoQueue===void 0||isNaN(t.undoQueue.index)||t.undoQueue.index>=t.undoQueue.queue.length)){for(r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,n=0;n<r.redo.calls.length;n++)wy.plotDo(t,r.redo.calls[n],r.redo.args[n]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}};wy.plotDo=function(e,t,r){e.autoplay=!0,r=uit(e,r),t.apply(null,r)};sne.exports=wy});var tO=ye((Rtr,une)=>{\"use strict\";une.exports={_isLinkedToArray:\"frames_entry\",group:{valType:\"string\"},name:{valType:\"string\"},traces:{valType:\"any\"},baseframe:{valType:\"string\"},data:{valType:\"any\"},layout:{valType:\"any\"}}});var _3=ye(Bh=>{\"use strict\";var x0=ba(),HS=Mr(),B6=vl(),rO=s3(),cit=tO(),fit=zS(),hit=ub().configAttributes,cne=Bu(),xg=HS.extendDeepAll,m3=HS.isPlainObject,dit=HS.isArrayOrTypedArray,N6=HS.nestedProperty,vit=HS.valObjectMeta,iO=\"_isSubplotObj\",U6=\"_isLinkedToArray\",pit=\"_arrayAttrRegexps\",hne=\"_deprecated\",nO=[iO,U6,pit,hne];Bh.IS_SUBPLOT_OBJ=iO;Bh.IS_LINKED_TO_ARRAY=U6;Bh.DEPRECATED=hne;Bh.UNDERSCORE_ATTRS=nO;Bh.get=function(){var e={};return x0.allTypes.forEach(function(t){e[t]=mit(t)}),{defs:{valObjects:vit,metaKeys:nO.concat([\"description\",\"role\",\"editType\",\"impliedEdits\"]),editType:{traces:cne.traces,layout:cne.layout},impliedEdits:{}},traces:e,layout:yit(),frames:_it(),animation:y3(fit),config:y3(hit)}};Bh.crawl=function(e,t,r,n){var i=r||0;n=n||\"\",Object.keys(e).forEach(function(a){var o=e[a];if(nO.indexOf(a)===-1){var s=(n?n+\".\":\"\")+a;t(o,a,e,i,s),!Bh.isValObject(o)&&m3(o)&&a!==\"impliedEdits\"&&Bh.crawl(o,t,i+1,s)}})};Bh.isValObject=function(e){return e&&e.valType!==void 0};Bh.findArrayAttributes=function(e){var t=[],r=[],n=[],i,a;function o(l,u,c,f){r=r.slice(0,f).concat([u]),n=n.slice(0,f).concat([l&&l._isLinkedToArray]);var h=l&&(l.valType===\"data_array\"||l.arrayOk===!0)&&!(r[f-1]===\"colorbar\"&&(u===\"ticktext\"||u===\"tickvals\"));h&&s(i,0,\"\")}function s(l,u,c){var f=l[r[u]],h=c+r[u];if(u===r.length-1)dit(f)&&t.push(a+h);else if(n[u]){if(Array.isArray(f))for(var d=0;d<f.length;d++)m3(f[d])&&s(f[d],u+1,h+\"[\"+d+\"].\")}else m3(f)&&s(f,u+1,h+\".\")}return i=e,a=\"\",Bh.crawl(B6,o),e._module&&e._module.attributes&&Bh.crawl(e._module.attributes,o),t};Bh.getTraceValObject=function(e,t){var r=t[0],n=1,i,a,o=e._module;if(o||(o=(x0.modules[e.type||B6.type.dflt]||{})._module),!o)return!1;if(i=o.attributes,a=i&&i[r],!a){var s=o.basePlotModule;s&&s.attributes&&(a=s.attributes[r])}return a||(a=B6[r]),dne(a,t,n)};Bh.getLayoutValObject=function(e,t){var r=git(e,t[0]);return dne(r,t,1)};function git(e,t){var r,n,i,a,o=e._basePlotModules;if(o){var s;for(r=0;r<o.length;r++){if(i=o[r],i.attrRegex&&i.attrRegex.test(t)){if(i.layoutAttrOverrides)return i.layoutAttrOverrides;!s&&i.layoutAttributes&&(s=i.layoutAttributes)}var l=i.baseLayoutAttrOverrides;if(l&&t in l)return l[t]}if(s)return s}var u=e._modules;if(u){for(r=0;r<u.length;r++)if(a=u[r].layoutAttributes,a&&t in a)return a[t]}for(n in x0.componentsRegistry){if(i=x0.componentsRegistry[n],i.name===\"colorscale\"&&t.indexOf(\"coloraxis\")===0)return i.layoutAttributes[t];if(!i.schema&&t===i.name)return i.layoutAttributes}return t in rO?rO[t]:!1}function dne(e,t,r){if(!e)return!1;if(e._isLinkedToArray){if(O6(t[r]))r++;else if(r<t.length)return!1}for(;r<t.length;r++){var n=e[t[r]];if(m3(n))e=n;else break;if(r===t.length-1)break;if(e._isLinkedToArray){if(r++,!O6(t[r]))return!1}else if(e.valType===\"info_array\"){r++;var i=t[r];if(!O6(i))return!1;var a=e.items;if(Array.isArray(a)){if(i>=a.length)return!1;if(e.dimensions===2){if(r++,t.length===r)return e;var o=t[r];if(!O6(o))return!1;e=a[i][o]}else e=a[i]}else e=a}}return e}function O6(e){return e===Math.round(e)&&e>=0}function mit(e){var t,r;t=x0.modules[e]._module,r=t.basePlotModule;var n={};n.type=null;var i=xg({},B6),a=xg({},t.attributes);Bh.crawl(a,function(l,u,c,f,h){N6(i,h).set(void 0),l===void 0&&N6(a,h).set(void 0)}),xg(n,i),x0.traceIs(e,\"noOpacity\")&&delete n.opacity,x0.traceIs(e,\"showLegend\")||(delete n.showlegend,delete n.legendgroup),x0.traceIs(e,\"noHover\")&&(delete n.hoverinfo,delete n.hoverlabel),t.selectPoints||delete n.selectedpoints,xg(n,a),r.attributes&&xg(n,r.attributes),n.type=e;var o={meta:t.meta||{},categories:t.categories||{},animatable:!!t.animatable,type:e,attributes:y3(n)};if(t.layoutAttributes){var s={};xg(s,t.layoutAttributes),o.layoutAttributes=y3(s)}return t.animatable||Bh.crawl(o,function(l){Bh.isValObject(l)&&\"anim\"in l&&delete l.anim}),o}function yit(){var e={},t,r;xg(e,rO);for(t in x0.subplotsRegistry)if(r=x0.subplotsRegistry[t],!!r.layoutAttributes)if(Array.isArray(r.attr))for(var n=0;n<r.attr.length;n++)fne(e,r,r.attr[n]);else{var i=r.attr===\"subplot\"?r.name:r.attr;fne(e,r,i)}for(t in x0.componentsRegistry){r=x0.componentsRegistry[t];var a=r.schema;if(a&&(a.subplots||a.layout)){var o=a.subplots;if(o&&o.xaxis&&!o.yaxis)for(var s in o.xaxis)delete e.yaxis[s];delete e.xaxis.shift,delete e.xaxis.autoshift}else r.name===\"colorscale\"?xg(e,r.layoutAttributes):r.layoutAttributes&&Tit(e,r.layoutAttributes,r.name)}return{layoutAttributes:y3(e)}}function _it(){var e={frames:xg({},cit)};return y3(e),e.frames}function y3(e){return xit(e),bit(e),wit(e),e}function xit(e){function t(n){return{valType:\"string\",editType:\"none\"}}function r(n,i,a){Bh.isValObject(n)?(n.arrayOk===!0||n.valType===\"data_array\")&&(a[i+\"src\"]=t(i)):m3(n)&&(n.role=\"object\")}Bh.crawl(e,r)}function bit(e){function t(r,n,i){if(r){var a=r[U6];a&&(delete r[U6],i[n]={items:{}},i[n].items[a]=r,i[n].role=\"object\")}}Bh.crawl(e,t)}function wit(e){function t(r){for(var n in r)if(m3(r[n]))t(r[n]);else if(Array.isArray(r[n]))for(var i=0;i<r[n].length;i++)t(r[n][i]);else r[n]instanceof RegExp&&(r[n]=r[n].toString())}t(e)}function fne(e,t,r){var n=N6(e,r),i=xg({},t.layoutAttributes);i[iO]=!0,n.set(i)}function Tit(e,t,r){var n=N6(e,r);n.set(xg(n.get()||{},t))}});var Vs=ye(pb=>{\"use strict\";var x3=Mr(),Ait=vl(),Q1=\"templateitemname\",aO={name:{valType:\"string\",editType:\"none\"}};aO[Q1]={valType:\"string\",editType:\"calc\"};pb.templatedArray=function(e,t){return t._isLinkedToArray=e,t.name=aO.name,t[Q1]=aO[Q1],t};pb.traceTemplater=function(e){var t={},r,n;for(r in e)n=e[r],Array.isArray(n)&&n.length&&(t[r]=0);function i(a){r=x3.coerce(a,{},Ait,\"type\");var o={type:r,_template:null};if(r in t){n=e[r];var s=t[r]%n.length;t[r]++,o._template=n[s]}return o}return{newTrace:i}};pb.newContainer=function(e,t,r){var n=e._template,i=n&&(n[t]||r&&n[r]);x3.isPlainObject(i)||(i=null);var a=e[t]={_template:i};return a};pb.arrayTemplater=function(e,t,r){var n=e._template,i=n&&n[pne(t)],a=n&&n[t];(!Array.isArray(a)||!a.length)&&(a=[]);var o={};function s(u){var c={name:u.name,_input:u},f=c[Q1]=u[Q1];if(!vne(f))return c._template=i,c;for(var h=0;h<a.length;h++){var d=a[h];if(d.name===f)return o[f]=1,c._template=d,c}return c[r]=u[r]||!1,c._template=!1,c}function l(){for(var u=[],c=0;c<a.length;c++){var f=a[c],h=f.name;if(vne(h)&&!o[h]){var d={_template:f,name:h,_input:{_templateitemname:h}};d[Q1]=f[Q1],u.push(d),o[h]=1}}return u}return{newItem:s,defaultItems:l}};function vne(e){return e&&typeof e==\"string\"}function pne(e){var t=e.length-1;return e.charAt(t)!==\"s\"&&x3.warn(\"bad argument to arrayDefaultKey: \"+e),e.substr(0,e.length-1)+\"defaults\"}pb.arrayDefaultKey=pne;pb.arrayEditor=function(e,t,r){var n=(x3.nestedProperty(e,t).get()||[]).length,i=r._index,a=i>=n&&(r._input||{})._templateitemname;a&&(i=n);var o=t+\"[\"+i+\"]\",s;function l(){s={},a&&(s[o]={},s[o][Q1]=a)}l();function u(d,v){s[d]=v}function c(d,v){a?x3.nestedProperty(s[o],d).set(v):s[o+\".\"+d]=v}function f(){var d=s;return l(),d}function h(d,v){d&&c(d,v);var x=f();for(var b in x)x3.nestedProperty(e,b).set(x[b])}return{modifyBase:u,modifyItem:c,getUpdateObj:f,applyUpdate:h}}});var ad=ye((Ftr,gne)=>{\"use strict\";var GS=n3().counter;gne.exports={idRegex:{x:GS(\"x\",\"( domain)?\"),y:GS(\"y\",\"( domain)?\")},attrRegex:GS(\"[xy]axis\"),xAxisMatch:GS(\"xaxis\"),yAxisMatch:GS(\"yaxis\"),AX_ID_PATTERN:/^[xyz][0-9]*( domain)?$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,HOUR_PATTERN:\"hour\",WEEKDAY_PATTERN:\"day of week\",MINDRAG:8,MINZOOM:20,DRAGGERSIZE:20,REDRAWDELAY:50,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:[\"imagelayer\",\"heatmaplayer\",\"contourcarpetlayer\",\"contourlayer\",\"funnellayer\",\"waterfalllayer\",\"barlayer\",\"carpetlayer\",\"violinlayer\",\"boxlayer\",\"ohlclayer\",\"scattercarpetlayer\",\"scatterlayer\"],clipOnAxisFalseQuery:[\".scatterlayer\",\".barlayer\",\".funnellayer\",\".waterfalllayer\"],layerValue2layerClass:{\"above traces\":\"above\",\"below traces\":\"below\"},zindexSeparator:\"z\"}});var af=ye(Tp=>{\"use strict\";var Sit=ba(),oO=ad();Tp.id2name=function(t){if(!(typeof t!=\"string\"||!t.match(oO.AX_ID_PATTERN))){var r=t.split(\" \")[0].substr(1);return r===\"1\"&&(r=\"\"),t.charAt(0)+\"axis\"+r}};Tp.name2id=function(t){if(t.match(oO.AX_NAME_PATTERN)){var r=t.substr(5);return r===\"1\"&&(r=\"\"),t.charAt(0)+r}};Tp.cleanId=function(t,r,n){var i=/( domain)$/.test(t);if(!(typeof t!=\"string\"||!t.match(oO.AX_ID_PATTERN))&&!(r&&t.charAt(0)!==r)&&!(i&&!n)){var a=t.split(\" \")[0].substr(1).replace(/^0+/,\"\");return a===\"1\"&&(a=\"\"),t.charAt(0)+a+(i&&n?\" domain\":\"\")}};Tp.list=function(e,t,r){var n=e._fullLayout;if(!n)return[];var i=Tp.listIds(e,t),a=new Array(i.length),o;for(o=0;o<i.length;o++){var s=i[o];a[o]=n[s.charAt(0)+\"axis\"+s.substr(1)]}if(!r){var l=n._subplots.gl3d||[];for(o=0;o<l.length;o++){var u=n[l[o]];t?a.push(u[t+\"axis\"]):a.push(u.xaxis,u.yaxis,u.zaxis)}}return a};Tp.listIds=function(e,t){var r=e._fullLayout;if(!r)return[];var n=r._subplots;return t?n[t+\"axis\"]:n.xaxis.concat(n.yaxis)};Tp.getFromId=function(e,t,r){var n=e._fullLayout;return t=t===void 0||typeof t!=\"string\"?t:t.replace(\" domain\",\"\"),r===\"x\"?t=t.replace(/y[0-9]*/,\"\"):r===\"y\"&&(t=t.replace(/x[0-9]*/,\"\")),n[Tp.id2name(t)]};Tp.getFromTrace=function(e,t,r){var n=e._fullLayout,i=null;if(Sit.traceIs(t,\"gl3d\")){var a=t.scene;a.substr(0,5)===\"scene\"&&(i=n[a][r+\"axis\"])}else i=Tp.getFromId(e,t[r+\"axis\"]||r);return i};Tp.idSort=function(e,t){var r=e.charAt(0),n=t.charAt(0);return r!==n?r>n?1:-1:+(e.substr(1)||1)-+(t.substr(1)||1)};Tp.ref2id=function(e){return/^[xyz]/.test(e)?e.split(\" \")[0]:!1};function mne(e,t){if(t&&t.length){for(var r=0;r<t.length;r++)if(t[r][e])return!0}return!1}Tp.isLinked=function(e,t){return mne(t,e._axisMatchGroups)||mne(t,e._axisConstraintGroups)}});var e_=ye((Otr,yne)=>{\"use strict\";function Mit(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(\".outline-controllers\").remove()}function Eit(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(\".select-outline\").remove(),e._fullLayout._outlining=!1}yne.exports={clearOutlineControllers:Mit,clearOutline:Eit}});var V6=ye((Btr,_ne)=>{\"use strict\";_ne.exports={scattermode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\",editType:\"calc\"},scattergap:{valType:\"number\",min:0,max:1,editType:\"calc\"}}});var kd=ye(G6=>{\"use strict\";var H6=ba(),Ntr=ad().SUBPLOT_PATTERN;G6.getSubplotCalcData=function(e,t,r){var n=H6.subplotsRegistry[t];if(!n)return[];for(var i=n.attr,a=[],o=0;o<e.length;o++){var s=e[o],l=s[0].trace;l[i]===r&&a.push(s)}return a};G6.getModuleCalcData=function(e,t,r){var n=[],i=[],a;if(typeof t==\"string\"?a=H6.getModule(t).plot:typeof t==\"function\"?a=t:a=t.plot,!a)return[n,e];for(var o=r,s=0;s<e.length;s++){var l=e[s],u=l[0].trace,c=u.zorder!==void 0;u.visible!==!0||u._length===0||(u._module&&u._module.plot===a&&(!c||u.zorder===o)?n.push(l):i.push(l))}return[n,i]};G6.getSubplotData=function(t,r,n){if(!H6.subplotsRegistry[r])return[];for(var i=H6.subplotsRegistry[r].attr,a=[],o,s,l,u=0;u<t.length;u++)o=t[u],o[i]===n&&a.push(o);return a}});var Tne=ye(gb=>{\"use strict\";var kit=ba(),b3=Mr();gb.manageCommandObserver=function(e,t,r,n){var i={},a=!0;t&&t._commandObserver&&(i=t._commandObserver),i.cache||(i.cache={}),i.lookupTable={};var o=gb.hasSimpleAPICommandBindings(e,r,i.lookupTable);if(t&&t._commandObserver){if(o)return i;if(t._commandObserver.remove)return t._commandObserver.remove(),t._commandObserver=null,i}if(o){xne(e,o,i.cache),i.check=function(){if(a){var c=xne(e,o,i.cache);return c.changed&&n&&i.lookupTable[c.value]!==void 0&&(i.disable(),Promise.resolve(n({value:c.value,type:o.type,prop:o.prop,traces:o.traces,index:i.lookupTable[c.value]})).then(i.enable,i.enable)),c.changed}};for(var s=[\"plotly_relayout\",\"plotly_redraw\",\"plotly_restyle\",\"plotly_update\",\"plotly_animatingframe\",\"plotly_afterplot\"],l=0;l<s.length;l++)e._internalOn(s[l],i.check);i.remove=function(){for(var u=0;u<s.length;u++)e._removeInternalListener(s[u],i.check)}}else b3.log(\"Unable to automatically bind plot updates to API command\"),i.lookupTable={},i.remove=function(){};return i.disable=function(){a=!1},i.enable=function(){a=!0},t&&(t._commandObserver=i),i};gb.hasSimpleAPICommandBindings=function(e,t,r){var n,i=t.length,a;for(n=0;n<i;n++){var o,s=t[n],l=s.method,u=s.args;if(Array.isArray(u)||(u=[]),!l)return!1;var c=gb.computeAPICommandBindings(e,l,u);if(c.length!==1)return!1;if(!a)a=c[0],Array.isArray(a.traces)&&a.traces.sort();else{if(o=c[0],o.type!==a.type||o.prop!==a.prop)return!1;if(Array.isArray(a.traces))if(Array.isArray(o.traces)){o.traces.sort();for(var f=0;f<a.traces.length;f++)if(a.traces[f]!==o.traces[f])return!1}else return!1;else if(o.prop!==a.prop)return!1}o=c[0];var h=o.value;if(Array.isArray(h))if(h.length===1)h=h[0];else return!1;r&&(r[h]=n)}return a};function xne(e,t,r){var n,i,a,o=!1;if(t.type===\"data\")n=e._fullData[t.traces!==null?t.traces[0]:0];else if(t.type===\"layout\")n=e._fullLayout;else return!1;return i=b3.nestedProperty(n,t.prop).get(),a=r[t.type]=r[t.type]||{},a.hasOwnProperty(t.prop)&&a[t.prop]!==i&&(o=!0),a[t.prop]=i,{changed:o,value:i}}gb.executeAPICommand=function(e,t,r){if(t===\"skip\")return Promise.resolve();var n=kit.apiMethodRegistry[t],i=[e];Array.isArray(r)||(r=[]);for(var a=0;a<r.length;a++)i.push(r[a]);return n.apply(null,i).catch(function(o){return b3.warn(\"API call to Plotly.\"+t+\" rejected.\",o),Promise.reject(o)})};gb.computeAPICommandBindings=function(e,t,r){var n;switch(Array.isArray(r)||(r=[]),t){case\"restyle\":n=wne(e,r);break;case\"relayout\":n=bne(e,r);break;case\"update\":n=wne(e,[r[0],r[2]]).concat(bne(e,[r[1]]));break;case\"animate\":n=Cit(e,r);break;default:n=[]}return n};function Cit(e,t){return Array.isArray(t[0])&&t[0].length===1&&[\"string\",\"number\"].indexOf(typeof t[0][0])!==-1?[{type:\"layout\",prop:\"_currentFrame\",value:t[0][0].toString()}]:[]}function bne(e,t){var r=[],n=t[0],i={};if(typeof n==\"string\")i[n]=t[1];else if(b3.isPlainObject(n))i=n;else return r;return sO(i,function(a,o,s){r.push({type:\"layout\",prop:a,value:s})},\"\",0),r}function wne(e,t){var r,n,i,a,o=[];if(n=t[0],i=t[1],r=t[2],a={},typeof n==\"string\")a[n]=i;else if(b3.isPlainObject(n))a=n,r===void 0&&(r=i);else return o;return r===void 0&&(r=null),sO(a,function(s,l,u){var c,f;if(Array.isArray(u)){f=u.slice();var h=Math.min(f.length,e.data.length);r&&(h=Math.min(h,r.length)),c=[];for(var d=0;d<h;d++)c[d]=r?r[d]:d}else f=u,c=r?r.slice():null;if(c===null)Array.isArray(f)&&(f=f[0]);else if(Array.isArray(c)){if(!Array.isArray(f)){var v=f;f=[];for(var x=0;x<c.length;x++)f[x]=v}f.length=Math.min(c.length,f.length)}o.push({type:\"data\",prop:s,traces:c,value:f})},\"\",0),o}function sO(e,t,r,n){Object.keys(e).forEach(function(i){var a=e[i];if(i[0]!==\"_\"){var o=r+(n>0?\".\":\"\")+i;b3.isPlainObject(a)?sO(a,t,o,n+1):t(o,i,a)}})}});var Xu=ye((Htr,qne)=>{\"use strict\";var Lne=xa(),Lit=e3().timeFormatLocale,Pit=vq().formatLocale,jS=uo(),Iit=pq(),bl=ba(),Pne=_3(),Rit=Vs(),Ca=Mr(),Ine=va(),Ane=es().BADNUM,Ap=af(),Dit=e_().clearOutline,zit=V6(),lO=zS(),Fit=tO(),qit=kd().getModuleCalcData,Sne=Ca.relinkPrivateKeys,mb=Ca._,ha=qne.exports={};Ca.extendFlat(ha,bl);ha.attributes=vl();ha.attributes.type.values=ha.allTypes;ha.fontAttrs=Su();ha.layoutAttributes=s3();var W6=Tne();ha.executeAPICommand=W6.executeAPICommand;ha.computeAPICommandBindings=W6.computeAPICommandBindings;ha.manageCommandObserver=W6.manageCommandObserver;ha.hasSimpleAPICommandBindings=W6.hasSimpleAPICommandBindings;ha.redrawText=function(e){return e=Ca.getGraphDiv(e),new Promise(function(t){setTimeout(function(){e._fullLayout&&(bl.getComponentMethod(\"annotations\",\"draw\")(e),bl.getComponentMethod(\"legend\",\"draw\")(e),bl.getComponentMethod(\"colorbar\",\"draw\")(e),t(ha.previousPromises(e)))},300)})};ha.resize=function(e){e=Ca.getGraphDiv(e);var t,r=new Promise(function(n,i){(!e||Ca.isHidden(e))&&i(new Error(\"Resize must be passed a displayed plot div element.\")),e._redrawTimer&&clearTimeout(e._redrawTimer),e._resolveResize&&(t=e._resolveResize),e._resolveResize=n,e._redrawTimer=setTimeout(function(){if(!e.layout||e.layout.width&&e.layout.height||Ca.isHidden(e)){n(e);return}delete e.layout.width,delete e.layout.height;var a=e.changed;e.autoplay=!0,bl.call(\"relayout\",e,{autosize:!0}).then(function(){e.changed=a,e._resolveResize===n&&(delete e._resolveResize,n(e))})},100)});return t&&t(r),r};ha.previousPromises=function(e){if((e._promises||[]).length)return Promise.all(e._promises).then(function(){e._promises=[]})};ha.addLinks=function(e){if(!(!e._context.showLink&&!e._context.showSources)){var t=e._fullLayout,r=Ca.ensureSingle(t._paper,\"text\",\"js-plot-link-container\",function(l){l.style({\"font-family\":'\"Open Sans\", Arial, sans-serif',\"font-size\":\"12px\",fill:Ine.defaultLine,\"pointer-events\":\"all\"}).each(function(){var u=Lne.select(this);u.append(\"tspan\").classed(\"js-link-to-tool\",!0),u.append(\"tspan\").classed(\"js-link-spacer\",!0),u.append(\"tspan\").classed(\"js-sourcelinks\",!0)})}),n=r.node(),i={y:t._paper.attr(\"height\")-9};document.body.contains(n)&&n.getComputedTextLength()>=t.width-20?(i[\"text-anchor\"]=\"start\",i.x=5):(i[\"text-anchor\"]=\"end\",i.x=t._paper.attr(\"width\")-7),r.attr(i);var a=r.select(\".js-link-to-tool\"),o=r.select(\".js-link-spacer\"),s=r.select(\".js-sourcelinks\");e._context.showSources&&e._context.showSources(e),e._context.showLink&&Oit(e,a),o.text(a.text()&&s.text()?\" - \":\"\")}};function Oit(e,t){t.text(\"\");var r=t.append(\"a\").attr({\"xlink:xlink:href\":\"#\",class:\"link--impt link--embedview\",\"font-weight\":\"bold\"}).text(e._context.linkText+\" \\xBB\");if(e._context.sendData)r.on(\"click\",function(){ha.sendDataToCloud(e)});else{var n=window.location.pathname.split(\"/\"),i=window.location.search;r.attr({\"xlink:xlink:show\":\"new\",\"xlink:xlink:href\":\"/\"+n[2].split(\".\")[0]+\"/\"+n[1]+i})}}ha.sendDataToCloud=function(e){var t=(window.PLOTLYENV||{}).BASE_URL||e._context.plotlyServerURL;if(t){e.emit(\"plotly_beforeexport\");var r=Lne.select(e).append(\"div\").attr(\"id\",\"hiddenform\").style(\"display\",\"none\"),n=r.append(\"form\").attr({action:t+\"/external\",method:\"post\",target:\"_blank\"}),i=n.append(\"input\").attr({type:\"text\",name:\"data\"});return i.node().value=ha.graphJson(e,!1,\"keepdata\"),n.node().submit(),r.remove(),e.emit(\"plotly_afterexport\"),!1}};var Bit=[\"days\",\"shortDays\",\"months\",\"shortMonths\",\"periods\",\"dateTime\",\"date\",\"time\",\"decimal\",\"thousands\",\"grouping\",\"currency\"],Nit=[\"year\",\"month\",\"dayMonth\",\"dayMonthYear\"];ha.supplyDefaults=function(e,t){var r=t&&t.skipUpdateCalc,n=e._fullLayout||{};if(n._skipDefaults){delete n._skipDefaults;return}var i=e._fullLayout={},a=e.layout||{},o=e._fullData||[],s=e._fullData=[],l=e.data||[],u=e.calcdata||[],c=e._context||{},f;e._transitionData||ha.createTransitionData(e),i._dfltTitle={plot:mb(e,\"Click to enter Plot title\"),subtitle:mb(e,\"Click to enter Plot subtitle\"),x:mb(e,\"Click to enter X axis title\"),y:mb(e,\"Click to enter Y axis title\"),colorbar:mb(e,\"Click to enter Colorscale title\"),annotation:mb(e,\"new text\")},i._traceWord=mb(e,\"trace\");var h=Mne(e,Bit);if(i._mapboxAccessToken=c.mapboxAccessToken,n._initialAutoSizeIsDone){var d=n.width,v=n.height;ha.supplyLayoutGlobalDefaults(a,i,h),a.width||(i.width=d),a.height||(i.height=v),ha.sanitizeMargins(i)}else{ha.supplyLayoutGlobalDefaults(a,i,h);var x=!a.width||!a.height,b=i.autosize,p=c.autosizable,E=x&&(b||p);E?ha.plotAutoSize(e,a,i):x&&ha.sanitizeMargins(i),!b&&x&&(a.width=i.width,a.height=i.height)}i._d3locale=Hit(h,i.separators),i._extraFormat=Mne(e,Nit),i._initialAutoSizeIsDone=!0,i._dataLength=l.length,i._modules=[],i._visibleModules=[],i._basePlotModules=[];var k=i._subplots=Vit(),A=i._splomAxes={x:{},y:{}},L=i._splomSubplots={};i._splomGridDflt={},i._scatterStackOpts={},i._firstScatter={},i._alignmentOpts={},i._colorAxes={},i._requestRangeslider={},i._traceUids=Uit(o,l),ha.supplyDataDefaults(l,s,a,i);var _=Object.keys(A.x),C=Object.keys(A.y);if(_.length>1&&C.length>1){for(bl.getComponentMethod(\"grid\",\"sizeDefaults\")(a,i),f=0;f<_.length;f++)Ca.pushUnique(k.xaxis,_[f]);for(f=0;f<C.length;f++)Ca.pushUnique(k.yaxis,C[f]);for(var M in L)Ca.pushUnique(k.cartesian,M)}if(i._has=ha._hasPlotType.bind(i),o.length===s.length)for(f=0;f<s.length;f++)Sne(s[f],o[f]);ha.supplyLayoutModuleDefaults(a,i,s,e._transitionData);var g=i._visibleModules,P=[];for(f=0;f<g.length;f++){var T=g[f].crossTraceDefaults;T&&Ca.pushUnique(P,T)}for(f=0;f<P.length;f++)P[f](s,i);i._hasOnlyLargeSploms=i._basePlotModules.length===1&&i._basePlotModules[0].name===\"splom\"&&_.length>15&&C.length>15&&i.shapes.length===0&&i.images.length===0,ha.linkSubplots(s,i,o,n),ha.cleanPlot(s,i,o,n);var F=!!(n._has&&n._has(\"cartesian\")),q=!!(i._has&&i._has(\"cartesian\")),V=F,H=q;V&&!H?n._bgLayer.remove():H&&!V&&(i._shouldCreateBgLayer=!0),n._zoomlayer&&!e._dragging&&Dit({_fullLayout:n}),Git(s,i),Sne(i,n),bl.getComponentMethod(\"colorscale\",\"crossTraceDefaults\")(s,i),i._preGUI||(i._preGUI={}),i._tracePreGUI||(i._tracePreGUI={});var X=i._tracePreGUI,G={},N;for(N in X)G[N]=\"old\";for(f=0;f<s.length;f++)N=s[f]._fullInput.uid,G[N]||(X[N]={}),G[N]=\"new\";for(N in G)G[N]===\"old\"&&delete X[N];Rne(i),bl.getComponentMethod(\"rangeslider\",\"makeData\")(i),!r&&u.length===s.length&&ha.supplyDefaultsUpdateCalc(u,s)};ha.supplyDefaultsUpdateCalc=function(e,t){for(var r=0;r<t.length;r++){var n=t[r],i=(e[r]||[])[0];if(i&&i.trace){var a=i.trace;if(a._hasCalcTransform){var o=a._arrayAttrs,s,l,u;for(s=0;s<o.length;s++)l=o[s],u=Ca.nestedProperty(a,l).get().slice(),Ca.nestedProperty(n,l).set(u)}i.trace=n}}};function Uit(e,t){var r=t.length,n=[],i,a;for(i=0;i<e.length;i++){var o=e[i]._fullInput;o!==a&&n.push(o),a=o}var s=n.length,l=new Array(r),u={};function c(d,v){l[v]=d,u[d]=1}function f(d,v){if(d&&typeof d==\"string\"&&!u[d])return c(d,v),!0}for(i=0;i<r;i++){var h=t[i].uid;typeof h==\"number\"&&(h=String(h)),!f(h,i)&&(i<s&&f(n[i].uid,i)||c(Ca.randstr(u),i))}return l}function Vit(){var e=bl.collectableSubplotTypes,t={},r,n;if(!e){e=[];var i=bl.subplotsRegistry;for(var a in i){var o=i[a],s=o.attr;if(s&&(e.push(a),Array.isArray(s)))for(n=0;n<s.length;n++)Ca.pushUnique(e,s[n])}}for(r=0;r<e.length;r++)t[e[r]]=[];return t}function Mne(e,t){var r=e._context.locale;r||(r=\"en-US\");var n=!1,i={};function a(f){for(var h=!0,d=0;d<t.length;d++){var v=t[d];i[v]||(f[v]?i[v]=f[v]:h=!1)}h&&(n=!0)}for(var o=0;o<2;o++){for(var s=e._context.locales,l=0;l<2;l++){var u=(s[r]||{}).format;if(u&&(a(u),n))break;s=bl.localeRegistry}var c=r.split(\"-\")[0];if(n||c===r)break;r=c}return n||a(bl.localeRegistry.en.format),i}function Hit(e,t){return e.decimal=t.charAt(0),e.thousands=t.charAt(1),{numberFormat:function(r){try{r=Pit(e).format(Ca.adjustFormat(r))}catch(n){return Ca.warnBadFormat(r),Ca.noFormat}return r},timeFormat:Lit(e).utcFormat}}function Git(e,t){var r,n=[];t.meta&&(r=t._meta={meta:t.meta,layout:{meta:t.meta}});for(var i=0;i<e.length;i++){var a=e[i];a.meta?n[a.index]=a._meta={meta:a.meta}:t.meta&&(a._meta={meta:t.meta}),t.meta&&(a._meta.layout={meta:t.meta})}n.length&&(r||(r=t._meta={}),r.data=n)}ha.createTransitionData=function(e){e._transitionData||(e._transitionData={}),e._transitionData._frames||(e._transitionData._frames=[]),e._transitionData._frameHash||(e._transitionData._frameHash={}),e._transitionData._counter||(e._transitionData._counter=0),e._transitionData._interruptCallbacks||(e._transitionData._interruptCallbacks=[])};ha._hasPlotType=function(e){var t,r=this._basePlotModules||[];for(t=0;t<r.length;t++)if(r[t].name===e)return!0;var n=this._modules||[];for(t=0;t<n.length;t++){var i=n[t].name;if(i===e)return!0;var a=bl.modules[i];if(a&&a.categories[e])return!0}return!1};ha.cleanPlot=function(e,t,r,n){var i,a,o=n._basePlotModules||[];for(i=0;i<o.length;i++){var s=o[i];s.clean&&s.clean(e,t,r,n)}var l=n._has&&n._has(\"gl\"),u=t._has&&t._has(\"gl\");l&&!u&&n._glcontainer!==void 0&&(n._glcontainer.selectAll(\".gl-canvas\").remove(),n._glcontainer.selectAll(\".no-webgl\").remove(),n._glcanvas=null);var c=!!n._infolayer;e:for(i=0;i<r.length;i++){var f=r[i],h=f.uid;for(a=0;a<e.length;a++){var d=e[a];if(h===d.uid)continue e}c&&n._infolayer.select(\".cb\"+h).remove()}};ha.linkSubplots=function(e,t,r,n){var i,a,o=n._plots||{},s=t._plots={},l=t._subplots,u={_fullData:e,_fullLayout:t},c=l.cartesian||[];for(i=0;i<c.length;i++){var f=c[i],h=o[f],d=Ap.getFromId(u,f,\"x\"),v=Ap.getFromId(u,f,\"y\"),x;for(h?x=s[f]=h:(x=s[f]={},x.id=f),d._counterAxes.push(v._id),v._counterAxes.push(d._id),d._subplotsWith.push(f),v._subplotsWith.push(f),x.xaxis=d,x.yaxis=v,x._hasClipOnAxisFalse=!1,a=0;a<e.length;a++){var b=e[a];if(b.xaxis===x.xaxis._id&&b.yaxis===x.yaxis._id&&b.cliponaxis===!1){x._hasClipOnAxisFalse=!0;break}}}var p=Ap.list(u,null,!0),E;for(i=0;i<p.length;i++){E=p[i];var k=null;E.overlaying&&(k=Ap.getFromId(u,E.overlaying),k&&k.overlaying&&(E.overlaying=!1,k=null)),E._mainAxis=k||E,k&&(E.domain=k.domain.slice()),E._anchorAxis=E.anchor===\"free\"?null:Ap.getFromId(u,E.anchor)}for(i=0;i<p.length;i++)if(E=p[i],E._counterAxes.sort(Ap.idSort),E._subplotsWith.sort(Ca.subplotSort),E._mainSubplot=jit(E,t),E._counterAxes.length&&(E.spikemode&&E.spikemode.indexOf(\"across\")!==-1||E.automargin&&E.mirror&&E.anchor!==\"free\"||bl.getComponentMethod(\"rangeslider\",\"isVisible\")(E))){var A=1,L=0;for(a=0;a<E._counterAxes.length;a++){var _=Ap.getFromId(u,E._counterAxes[a]);A=Math.min(A,_.domain[0]),L=Math.max(L,_.domain[1])}A<L&&(E._counterDomainMin=A,E._counterDomainMax=L)}};function jit(e,t){var r={_fullLayout:t},n=e._id.charAt(0)===\"x\",i=e._mainAxis._anchorAxis,a=\"\",o=\"\",s=\"\";if(i&&(s=i._mainAxis._id,a=n?e._id+s:s+e._id),!a||!t._plots[a]){a=\"\";for(var l=e._counterAxes,u=0;u<l.length;u++){var c=l[u],f=n?e._id+c:c+e._id;o||(o=f);var h=Ap.getFromId(r,c);if(s&&h.overlaying===s){a=f;break}}}return a||o}ha.clearExpandedTraceDefaultColors=function(e){var t,r,n;function i(o,s,l,u){r[u]=s,r.length=u+1,o.valType===\"color\"&&o.dflt===void 0&&t.push(r.join(\".\"))}for(r=[],t=e._module._colorAttrs,t||(e._module._colorAttrs=t=[],Pne.crawl(e._module.attributes,i)),n=0;n<t.length;n++){var a=Ca.nestedProperty(e,\"_input.\"+t[n]);a.get()||Ca.nestedProperty(e,t[n]).set(null)}};ha.supplyDataDefaults=function(e,t,r,n){var i=n._modules,a=n._visibleModules,o=n._basePlotModules,s=0,l=0,u,c,f;n._transformModules=[];function h(E){t.push(E);var k=E._module;k&&(Ca.pushUnique(i,k),E.visible===!0&&Ca.pushUnique(a,k),Ca.pushUnique(o,E._module.basePlotModule),s++,E._input.visible!==!1&&l++)}var d={},v=[],x=(r.template||{}).data||{},b=Rit.traceTemplater(x);for(u=0;u<e.length;u++)f=e[u],c=b.newTrace(f),c.uid=n._traceUids[u],ha.supplyTraceDefaults(f,c,l,n,u),c.index=u,c._input=f,c._fullInput=c,h(c),bl.traceIs(c,\"carpetAxis\")&&(d[c.carpet]=c),bl.traceIs(c,\"carpetDependent\")&&v.push(u);for(u=0;u<v.length;u++)if(c=t[v[u]],!!c.visible){var p=d[c.carpet];if(c._carpet=p,!p||!p.visible){c.visible=!1;continue}c.xaxis=p.xaxis,c.yaxis=p.yaxis}};ha.supplyAnimationDefaults=function(e){e=e||{};var t,r={};function n(i,a){return Ca.coerce(e||{},r,lO,i,a)}if(n(\"mode\"),n(\"direction\"),n(\"fromcurrent\"),Array.isArray(e.frame))for(r.frame=[],t=0;t<e.frame.length;t++)r.frame[t]=ha.supplyAnimationFrameDefaults(e.frame[t]||{});else r.frame=ha.supplyAnimationFrameDefaults(e.frame||{});if(Array.isArray(e.transition))for(r.transition=[],t=0;t<e.transition.length;t++)r.transition[t]=ha.supplyAnimationTransitionDefaults(e.transition[t]||{});else r.transition=ha.supplyAnimationTransitionDefaults(e.transition||{});return r};ha.supplyAnimationFrameDefaults=function(e){var t={};function r(n,i){return Ca.coerce(e||{},t,lO.frame,n,i)}return r(\"duration\"),r(\"redraw\"),t};ha.supplyAnimationTransitionDefaults=function(e){var t={};function r(n,i){return Ca.coerce(e||{},t,lO.transition,n,i)}return r(\"duration\"),r(\"easing\"),t};ha.supplyFrameDefaults=function(e){var t={};function r(n,i){return Ca.coerce(e,t,Fit,n,i)}return r(\"group\"),r(\"name\"),r(\"traces\"),r(\"baseframe\"),r(\"data\"),r(\"layout\"),t};ha.supplyTraceDefaults=function(e,t,r,n,i){var a=n.colorway||Ine.defaults,o=a[r%a.length],s;function l(k,A){return Ca.coerce(e,t,ha.attributes,k,A)}var u=l(\"visible\");l(\"type\"),l(\"name\",n._traceWord+\" \"+i),l(\"uirevision\",n.uirevision);var c=ha.getModule(t);if(t._module=c,c){var f=c.basePlotModule,h=f.attr,d=f.attributes;if(h&&d){var v=n._subplots,x=\"\";if(Array.isArray(h))for(s=0;s<h.length;s++){var b=h[s],p=Ca.coerce(e,t,d,b);v[b]&&Ca.pushUnique(v[b],p),x+=p}else x=Ca.coerce(e,t,d,h);v[f.name]&&Ca.pushUnique(v[f.name],x)}}if(u&&(l(\"customdata\"),l(\"ids\"),l(\"meta\"),bl.traceIs(t,\"showLegend\")?(Ca.coerce(e,t,c.attributes.showlegend?c.attributes:ha.attributes,\"showlegend\"),l(\"legend\"),l(\"legendwidth\"),l(\"legendgroup\"),l(\"legendgrouptitle.text\"),l(\"legendrank\"),t._dfltShowLegend=!0):t._dfltShowLegend=!1,c&&c.supplyDefaults(e,t,o,n),bl.traceIs(t,\"noOpacity\")||l(\"opacity\"),bl.traceIs(t,\"notLegendIsolatable\")&&(t.visible=!!t.visible),bl.traceIs(t,\"noHover\")||(t.hovertemplate||Ca.coerceHoverinfo(e,t,n),t.type!==\"parcats\"&&bl.getComponentMethod(\"fx\",\"supplyDefaults\")(e,t,o,n)),c&&c.selectPoints)){var E=l(\"selectedpoints\");Ca.isTypedArray(E)&&(t.selectedpoints=Array.from(E))}return t};ha.supplyLayoutGlobalDefaults=function(e,t,r){function n(f,h){return Ca.coerce(e,t,ha.layoutAttributes,f,h)}var i=e.template;Ca.isPlainObject(i)&&(t.template=i,t._template=i.layout,t._dataTemplate=i.data),n(\"autotypenumbers\");var a=Ca.coerceFont(n,\"font\"),o=a.size;Ca.coerceFont(n,\"title.font\",a,{overrideDflt:{size:Math.round(o*1.4)}}),n(\"title.text\",t._dfltTitle.plot),n(\"title.xref\");var s=n(\"title.yref\");n(\"title.pad.t\"),n(\"title.pad.r\"),n(\"title.pad.b\"),n(\"title.pad.l\");var l=n(\"title.automargin\");n(\"title.x\"),n(\"title.xanchor\"),n(\"title.y\"),n(\"title.yanchor\"),n(\"title.subtitle.text\",t._dfltTitle.subtitle),Ca.coerceFont(n,\"title.subtitle.font\",a,{overrideDflt:{size:Math.round(t.title.font.size*.7)}}),l&&(s===\"paper\"&&(t.title.y!==0&&(t.title.y=1),t.title.yanchor===\"auto\"&&(t.title.yanchor=t.title.y===0?\"top\":\"bottom\")),s===\"container\"&&(t.title.y===\"auto\"&&(t.title.y=1),t.title.yanchor===\"auto\"&&(t.title.yanchor=t.title.y<.5?\"bottom\":\"top\")));var u=n(\"uniformtext.mode\");u&&n(\"uniformtext.minsize\"),n(\"autosize\",!(e.width&&e.height)),n(\"width\"),n(\"height\"),n(\"minreducedwidth\"),n(\"minreducedheight\"),n(\"margin.l\"),n(\"margin.r\"),n(\"margin.t\"),n(\"margin.b\"),n(\"margin.pad\"),n(\"margin.autoexpand\"),e.width&&e.height&&ha.sanitizeMargins(t),bl.getComponentMethod(\"grid\",\"sizeDefaults\")(e,t),n(\"paper_bgcolor\"),n(\"separators\",r.decimal+r.thousands),n(\"hidesources\"),n(\"colorway\"),n(\"datarevision\");var c=n(\"uirevision\");n(\"editrevision\",c),n(\"selectionrevision\",c),bl.getComponentMethod(\"modebar\",\"supplyLayoutDefaults\")(e,t),bl.getComponentMethod(\"shapes\",\"supplyDrawNewShapeDefaults\")(e,t,n),bl.getComponentMethod(\"selections\",\"supplyDrawNewSelectionDefaults\")(e,t,n),n(\"meta\"),Ca.isPlainObject(e.transition)&&(n(\"transition.duration\"),n(\"transition.easing\"),n(\"transition.ordering\")),bl.getComponentMethod(\"calendars\",\"handleDefaults\")(e,t,\"calendar\"),bl.getComponentMethod(\"fx\",\"supplyLayoutGlobalDefaults\")(e,t,n),Ca.coerce(e,t,zit,\"scattermode\")};function j6(e){return typeof e==\"string\"&&e.substr(e.length-2)===\"px\"&&parseFloat(e)}ha.plotAutoSize=function(t,r,n){var i=t._context||{},a=i.frameMargins,o,s,l=Ca.isPlotDiv(t);if(l&&t.emit(\"plotly_autosize\"),i.fillFrame)o=window.innerWidth,s=window.innerHeight,document.body.style.overflow=\"hidden\";else{var u=l?window.getComputedStyle(t):{};if(o=j6(u.width)||j6(u.maxWidth)||n.width,s=j6(u.height)||j6(u.maxHeight)||n.height,jS(a)&&a>0){var c=1-2*a;o=Math.round(c*o),s=Math.round(c*s)}}var f=ha.layoutAttributes.width.min,h=ha.layoutAttributes.height.min;o<f&&(o=f),s<h&&(s=h);var d=!r.width&&Math.abs(n.width-o)>1,v=!r.height&&Math.abs(n.height-s)>1;(v||d)&&(d&&(n.width=o),v&&(n.height=s)),t._initialAutoSize||(t._initialAutoSize={width:o,height:s}),ha.sanitizeMargins(n)};ha.supplyLayoutModuleDefaults=function(e,t,r,n){var i=bl.componentsRegistry,a=t._basePlotModules,o,s,l,u=bl.subplotsRegistry.cartesian;for(o in i)l=i[o],l.includeBasePlot&&l.includeBasePlot(e,t);a.length||a.push(u),t._has(\"cartesian\")&&(bl.getComponentMethod(\"grid\",\"contentDefaults\")(e,t),u.finalizeSubplots(e,t));for(var c in t._subplots)t._subplots[c].sort(Ca.subplotSort);for(s=0;s<a.length;s++)l=a[s],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r);var f=t._modules;for(s=0;s<f.length;s++)l=f[s],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r);var h=t._transformModules;for(s=0;s<h.length;s++)l=h[s],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r,n);for(o in i)l=i[o],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r)};ha.purge=function(e){var t=e._fullLayout||{};t._glcontainer!==void 0&&(t._glcontainer.selectAll(\".gl-canvas\").remove(),t._glcontainer.remove(),t._glcanvas=null),t._modeBar&&t._modeBar.destroy(),e._transitionData&&(e._transitionData._interruptCallbacks&&(e._transitionData._interruptCallbacks.length=0),e._transitionData._animationRaf&&window.cancelAnimationFrame(e._transitionData._animationRaf)),Ca.clearThrottle(),Ca.clearResponsive(e),delete e.data,delete e.layout,delete e._fullData,delete e._fullLayout,delete e.calcdata,delete e.empty,delete e.fid,delete e.undoqueue,delete e.undonum,delete e.autoplay,delete e.changed,delete e._promises,delete e._redrawTimer,delete e._hmlumcount,delete e._hmpixcount,delete e._transitionData,delete e._transitioning,delete e._initialAutoSize,delete e._transitioningWithDuration,delete e._dragging,delete e._dragged,delete e._dragdata,delete e._hoverdata,delete e._snapshotInProgress,delete e._editing,delete e._mouseDownTime,delete e._legendMouseDownTime,e.removeAllListeners&&e.removeAllListeners()};ha.style=function(e){var t=e._fullLayout._visibleModules,r=[],n;for(n=0;n<t.length;n++){var i=t[n];i.style&&Ca.pushUnique(r,i.style)}for(n=0;n<r.length;n++)r[n](e)};ha.sanitizeMargins=function(e){if(!(!e||!e.margin)){var t=e.width,r=e.height,n=e.margin,i=t-(n.l+n.r),a=r-(n.t+n.b),o;i<0&&(o=(t-1)/(n.l+n.r),n.l=Math.floor(o*n.l),n.r=Math.floor(o*n.r)),a<0&&(o=(r-1)/(n.t+n.b),n.t=Math.floor(o*n.t),n.b=Math.floor(o*n.b))}};ha.clearAutoMarginIds=function(e){e._fullLayout._pushmarginIds={}};ha.allowAutoMargin=function(e,t){e._fullLayout._pushmarginIds[t]=1};function Rne(e){var t=e.margin;if(!e._size){var r=e._size={l:Math.round(t.l),r:Math.round(t.r),t:Math.round(t.t),b:Math.round(t.b),p:Math.round(t.pad)};r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b}e._pushmargin||(e._pushmargin={}),e._pushmarginIds||(e._pushmarginIds={}),e._reservedMargin||(e._reservedMargin={})}var Dne=2,zne=2;ha.autoMargin=function(e,t,r){var n=e._fullLayout,i=n.width,a=n.height,o=n.margin,s=n.minreducedwidth,l=n.minreducedheight,u=Ca.constrain(i-o.l-o.r,Dne,s),c=Ca.constrain(a-o.t-o.b,zne,l),f=Math.max(0,i-u),h=Math.max(0,a-c),d=n._pushmargin,v=n._pushmarginIds;if(o.autoexpand!==!1){if(!r)delete d[t],delete v[t];else{var x=r.pad;if(x===void 0&&(x=Math.min(12,o.l,o.r,o.t,o.b)),f){var b=(r.l+r.r)/f;b>1&&(r.l/=b,r.r/=b)}if(h){var p=(r.t+r.b)/h;p>1&&(r.t/=p,r.b/=p)}var E=r.xl!==void 0?r.xl:r.x,k=r.xr!==void 0?r.xr:r.x,A=r.yt!==void 0?r.yt:r.y,L=r.yb!==void 0?r.yb:r.y;d[t]={l:{val:E,size:r.l+x},r:{val:k,size:r.r+x},b:{val:L,size:r.b+x},t:{val:A,size:r.t+x}},v[t]=1}if(!n._replotting)return ha.doAutoMargin(e)}};function Wit(e){if(\"_redrawFromAutoMarginCount\"in e._fullLayout)return!1;var t=Ap.list(e,\"\",!0);for(var r in t)if(t[r].autoshift||t[r].shift)return!0;return!1}ha.doAutoMargin=function(e){var t=e._fullLayout,r=t.width,n=t.height;t._size||(t._size={}),Rne(t);var i=t._size,a=t.margin,o={t:0,b:0,l:0,r:0},s=Ca.extendFlat({},i),l=a.l,u=a.r,c=a.t,f=a.b,h=t._pushmargin,d=t._pushmarginIds,v=t.minreducedwidth,x=t.minreducedheight;if(a.autoexpand!==!1){for(var b in h)d[b]||delete h[b];var p=e._fullLayout._reservedMargin;for(var E in p)for(var k in p[E]){var A=p[E][k];o[k]=Math.max(o[k],A)}h.base={l:{val:0,size:l},r:{val:1,size:u},t:{val:1,size:c},b:{val:0,size:f}};for(var L in o){var _=0;for(var C in h)C!==\"base\"&&jS(h[C][L].size)&&(_=h[C][L].size>_?h[C][L].size:_);var M=Math.max(0,a[L]-_);o[L]=Math.max(0,o[L]-M)}for(var g in h){var P=h[g].l||{},T=h[g].b||{},F=P.val,q=P.size,V=T.val,H=T.size,X=r-o.r-o.l,G=n-o.t-o.b;for(var N in h){if(jS(q)&&h[N].r){var W=h[N].r.val,re=h[N].r.size;if(W>F){var ae=(q*W+(re-X)*F)/(W-F),_e=(re*(1-F)+(q-X)*(1-W))/(W-F);ae+_e>l+u&&(l=ae,u=_e)}}if(jS(H)&&h[N].t){var Me=h[N].t.val,ke=h[N].t.size;if(Me>V){var ge=(H*Me+(ke-G)*V)/(Me-V),ie=(ke*(1-V)+(H-G)*(1-Me))/(Me-V);ge+ie>f+c&&(f=ge,c=ie)}}}}}var Te=Ca.constrain(r-a.l-a.r,Dne,v),Ee=Ca.constrain(n-a.t-a.b,zne,x),Ae=Math.max(0,r-Te),ze=Math.max(0,n-Ee);if(Ae){var Ce=(l+u)/Ae;Ce>1&&(l/=Ce,u/=Ce)}if(ze){var me=(f+c)/ze;me>1&&(f/=me,c/=me)}if(i.l=Math.round(l)+o.l,i.r=Math.round(u)+o.r,i.t=Math.round(c)+o.t,i.b=Math.round(f)+o.b,i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!t._replotting&&(ha.didMarginChange(s,i)||Wit(e))){\"_redrawFromAutoMarginCount\"in t?t._redrawFromAutoMarginCount++:t._redrawFromAutoMarginCount=1;var Re=3*(1+Object.keys(d).length);if(t._redrawFromAutoMarginCount<Re)return bl.call(\"_doPlot\",e);t._size=s,Ca.warn(\"Too many auto-margin redraws.\")}Zit(e)};function Zit(e){var t=Ap.list(e,\"\",!0);[\"_adjustTickLabelsOverflow\",\"_hideCounterAxisInsideTickLabels\"].forEach(function(r){for(var n=0;n<t.length;n++){var i=t[n][r];i&&i()}})}var Ene=[\"l\",\"r\",\"t\",\"b\",\"p\",\"w\",\"h\"];ha.didMarginChange=function(e,t){for(var r=0;r<Ene.length;r++){var n=Ene[r],i=e[n],a=t[n];if(!jS(i)||Math.abs(a-i)>1)return!0}return!1};ha.graphJson=function(e,t,r,n,i,a){(i&&t&&!e._fullData||i&&!t&&!e._fullLayout)&&ha.supplyDefaults(e);var o=i?e._fullData:e.data,s=i?e._fullLayout:e.layout,l=(e._transitionData||{})._frames;function u(h,d){if(typeof h==\"function\")return d?\"_function_\":null;if(Ca.isPlainObject(h)){var v={},x;return Object.keys(h).sort().forEach(function(k){if([\"_\",\"[\"].indexOf(k.charAt(0))===-1){if(typeof h[k]==\"function\"){d&&(v[k]=\"_function\");return}if(r===\"keepdata\"){if(k.substr(k.length-3)===\"src\")return}else if(r===\"keepstream\"){if(x=h[k+\"src\"],typeof x==\"string\"&&x.indexOf(\":\")>0&&!Ca.isPlainObject(h.stream))return}else if(r!==\"keepall\"&&(x=h[k+\"src\"],typeof x==\"string\"&&x.indexOf(\":\")>0))return;v[k]=u(h[k],d)}}),v}var b=Array.isArray(h),p=Ca.isTypedArray(h);if((b||p)&&h.dtype&&h.shape){var E=h.bdata;return u({dtype:h.dtype,shape:h.shape,bdata:Ca.isArrayBuffer(E)?Iit.encode(E):E},d)}return b?h.map(function(k){return u(k,d)}):p?Ca.simpleMap(h,Ca.identity):Ca.isJSDate(h)?Ca.ms2DateTimeLocal(+h):h}var c={data:(o||[]).map(function(h){var d=u(h);return t&&delete d.fit,d})};if(!t&&(c.layout=u(s),i)){var f=s._size;c.layout.computed={margin:{b:f.b,l:f.l,r:f.r,t:f.t}}}return l&&(c.frames=u(l)),a&&(c.config=u(e._context,!0)),n===\"object\"?c:JSON.stringify(c)};ha.modifyFrames=function(e,t){var r,n,i,a=e._transitionData._frames,o=e._transitionData._frameHash;for(r=0;r<t.length;r++)switch(n=t[r],n.type){case\"replace\":i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&&(delete o[s],o[l]=i);break;case\"insert\":i=n.value,o[i.name]=i,a.splice(n.index,0,i);break;case\"delete\":i=a[n.index],delete o[i.name],a.splice(n.index,1);break}return Promise.resolve()};ha.computeFrame=function(e,t){var r=e._transitionData._frameHash,n,i,a,o;if(!t)throw new Error(\"computeFrame must be given a string frame name\");var s=r[t.toString()];if(!s)return!1;for(var l=[s],u=[s.name];s.baseframe&&(s=r[s.baseframe.toString()])&&u.indexOf(s.name)===-1;)l.push(s),u.push(s.name);for(var c={};s=l.pop();)if(s.layout&&(c.layout=ha.extendLayout(c.layout,s.layout)),s.data){if(c.data||(c.data=[]),i=s.traces,!i)for(i=[],n=0;n<s.data.length;n++)i[n]=n;for(c.traces||(c.traces=[]),n=0;n<s.data.length;n++)a=i[n],a!=null&&(o=c.traces.indexOf(a),o===-1&&(o=c.data.length,c.traces[o]=a),c.data[o]=ha.extendTrace(c.data[o],s.data[n]))}return c};ha.recomputeFrameHash=function(e){for(var t=e._transitionData._frameHash={},r=e._transitionData._frames,n=0;n<r.length;n++){var i=r[n];i&&i.name&&(t[i.name]=i)}};ha.extendObjectWithContainers=function(e,t,r){var n,i,a,o,s,l,u,c,f=Ca.extendDeepNoArrays({},t||{}),h=Ca.expandObjectPaths(f),d={};if(r&&r.length)for(a=0;a<r.length;a++)n=Ca.nestedProperty(h,r[a]),i=n.get(),i===void 0?Ca.nestedProperty(d,r[a]).set(null):(n.set(null),Ca.nestedProperty(d,r[a]).set(i));if(e=Ca.extendDeepNoArrays(e||{},h),r&&r.length){for(a=0;a<r.length;a++)if(s=Ca.nestedProperty(d,r[a]),u=s.get(),!!u){for(l=Ca.nestedProperty(e,r[a]),c=l.get(),Array.isArray(c)||(c=[],l.set(c)),o=0;o<u.length;o++){var v=u[o];v===null?c[o]=null:c[o]=ha.extendObjectWithContainers(c[o],v)}l.set(c)}}return e};ha.dataArrayContainers=[\"transforms\",\"dimensions\"];ha.layoutArrayContainers=bl.layoutArrayContainers;ha.extendTrace=function(e,t){return ha.extendObjectWithContainers(e,t,ha.dataArrayContainers)};ha.extendLayout=function(e,t){return ha.extendObjectWithContainers(e,t,ha.layoutArrayContainers)};ha.transition=function(e,t,r,n,i,a){var o={redraw:i.redraw},s={},l=[];return o.prepareFn=function(){for(var u=Array.isArray(t)?t.length:0,c=n.slice(0,u),f=0;f<c.length;f++){var h=c[f],d=e._fullData[h],v=d._module;if(v){if(v.animatable){var x=v.basePlotModule.name;s[x]||(s[x]=[]),s[x].push(h)}e.data[c[f]]=ha.extendTrace(e.data[c[f]],t[f])}}var b=Ca.expandObjectPaths(Ca.extendDeepNoArrays({},r)),p=/^[xy]axis[0-9]*$/;for(var E in b)p.test(E)&&delete b[E].range;ha.extendLayout(e.layout,b),delete e.calcdata,ha.supplyDefaults(e),ha.doCalcdata(e);var k=Ca.expandObjectPaths(r);if(k){var A=e._fullLayout._plots;for(var L in A){var _=A[L],C=_.xaxis,M=_.yaxis,g=C.range.slice(),P=M.range.slice(),T=null,F=null,q=null,V=null;Array.isArray(k[C._name+\".range\"])?T=k[C._name+\".range\"].slice():Array.isArray((k[C._name]||{}).range)&&(T=k[C._name].range.slice()),Array.isArray(k[M._name+\".range\"])?F=k[M._name+\".range\"].slice():Array.isArray((k[M._name]||{}).range)&&(F=k[M._name].range.slice()),g&&T&&(C.r2l(g[0])!==C.r2l(T[0])||C.r2l(g[1])!==C.r2l(T[1]))&&(q={xr0:g,xr1:T}),P&&F&&(M.r2l(P[0])!==M.r2l(F[0])||M.r2l(P[1])!==M.r2l(F[1]))&&(V={yr0:P,yr1:F}),(q||V)&&l.push(Ca.extendFlat({plotinfo:_},q,V))}}return Promise.resolve()},o.runFn=function(u){var c,f=e._fullLayout._basePlotModules,h=l.length,d;if(r)for(d=0;d<f.length;d++)f[d].transitionAxes&&f[d].transitionAxes(e,l,a,u);h?(c=Ca.extendFlat({},a),c.duration=0,delete s.cartesian):c=a;for(var v in s){var x=s[v],b=e._fullData[x[0]]._module;b.basePlotModule.plot(e,x,c,u)}},Fne(e,a,o)};ha.transitionFromReact=function(e,t,r,n){var i=e._fullLayout,a=i.transition,o={},s=[];return o.prepareFn=function(){var l=i._plots;o.redraw=!1,t.anim===\"some\"&&(o.redraw=!0),r.anim===\"some\"&&(o.redraw=!0);for(var u in l){var c=l[u],f=c.xaxis,h=c.yaxis,d=n[f._name].range.slice(),v=n[h._name].range.slice(),x=f.range.slice(),b=h.range.slice();f.setScale(),h.setScale();var p=null,E=null;(f.r2l(d[0])!==f.r2l(x[0])||f.r2l(d[1])!==f.r2l(x[1]))&&(p={xr0:d,xr1:x}),(h.r2l(v[0])!==h.r2l(b[0])||h.r2l(v[1])!==h.r2l(b[1]))&&(E={yr0:v,yr1:b}),(p||E)&&s.push(Ca.extendFlat({plotinfo:c},p,E))}return Promise.resolve()},o.runFn=function(l){for(var u=e._fullData,c=e._fullLayout,f=c._basePlotModules,h,d,v,x=[],b=0;b<u.length;b++)x.push(b);function p(){if(e._fullLayout)for(var k=0;k<f.length;k++)f[k].transitionAxes&&f[k].transitionAxes(e,s,h,l)}function E(){if(e._fullLayout)for(var k=0;k<f.length;k++)f[k].plot(e,v,d,l)}s.length&&t.anim?a.ordering===\"traces first\"?(h=Ca.extendFlat({},a,{duration:0}),v=x,d=a,setTimeout(p,a.duration),E()):(h=a,v=null,d=Ca.extendFlat({},a,{duration:0}),setTimeout(E,h.duration),p()):s.length?(h=a,p()):t.anim&&(v=x,d=a,E())},Fne(e,a,o)};function Fne(e,t,r){var n=!1;function i(f){var h=Promise.resolve();if(!f)return h;for(;f.length;)h=h.then(f.shift());return h}function a(f){if(f)for(;f.length;)f.shift()}function o(){return e.emit(\"plotly_transitioning\",[]),new Promise(function(f){e._transitioning=!0,t.duration>0&&(e._transitioningWithDuration=!0),e._transitionData._interruptCallbacks.push(function(){n=!0}),r.redraw&&e._transitionData._interruptCallbacks.push(function(){return bl.call(\"redraw\",e)}),e._transitionData._interruptCallbacks.push(function(){e.emit(\"plotly_transitioninterrupted\",[])});var h=0,d=0;function v(){return h++,function(){d++,!n&&d===h&&s(f)}}r.runFn(v),setTimeout(v())})}function s(f){if(e._transitionData)return a(e._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(r.redraw)return bl.call(\"redraw\",e)}).then(function(){e._transitioning=!1,e._transitioningWithDuration=!1,e.emit(\"plotly_transitioned\",[])}).then(f)}function l(){if(e._transitionData)return e._transitioning=!1,i(e._transitionData._interruptCallbacks)}var u=[ha.previousPromises,l,r.prepareFn,ha.rehover,ha.reselect,o],c=Ca.syncOrAsync(u,e);return(!c||!c.then)&&(c=Promise.resolve()),c.then(function(){return e})}ha.doCalcdata=function(e,t){var r=Ap.list(e),n=e._fullData,i=e._fullLayout,a,o,s,l,u=new Array(n.length),c=(e.calcdata||[]).slice();for(e.calcdata=u,i._numBoxes=0,i._numViolins=0,i._violinScaleGroupStats={},e._hmpixcount=0,e._hmlumcount=0,i._piecolormap={},i._sunburstcolormap={},i._treemapcolormap={},i._iciclecolormap={},i._funnelareacolormap={},s=0;s<n.length;s++)if(Array.isArray(t)&&t.indexOf(s)===-1){u[s]=c[s];continue}for(s=0;s<n.length;s++)a=n[s],a._arrayAttrs=Pne.findArrayAttributes(a),a._extremes={};var f=i._subplots.polar||[];for(s=0;s<f.length;s++)r.push(i[f[s]].radialaxis,i[f[s]].angularaxis);for(var h in i._colorAxes){var d=i[h];d.cauto!==!1&&(delete d.cmin,delete d.cmax)}var v=!1;function x(E){if(a=n[E],o=a._module,a.visible===!0&&a.transforms){if(o&&o.calc){var k=o.calc(e,a);k[0]&&k[0].t&&k[0].t._scene&&delete k[0].t._scene.dirty}for(l=0;l<a.transforms.length;l++){var A=a.transforms[l];o=transformsRegistry[A.type],o&&o.calcTransform&&(a._hasCalcTransform=!0,v=!0,o.calcTransform(e,a,A))}}}function b(E,k){if(a=n[E],o=a._module,!!o.isContainer===k){var A=[];if(a.visible===!0&&a._length!==0){delete a._indexToPoints;var L=a.transforms||[];for(l=L.length-1;l>=0;l--)if(L[l].enabled){a._indexToPoints=L[l]._indexToPoints;break}o&&o.calc&&(A=o.calc(e,a))}(!Array.isArray(A)||!A[0])&&(A=[{x:Ane,y:Ane}]),A[0].t||(A[0].t={}),A[0].trace=a,u[E]=A}}for(kne(r,n,i),s=0;s<n.length;s++)b(s,!0);for(s=0;s<n.length;s++)x(s);for(v&&kne(r,n,i),s=0;s<n.length;s++)b(s,!0);for(s=0;s<n.length;s++)b(s,!1);Cne(e);var p=Yit(r,e);if(p.length){for(i._numBoxes=0,i._numViolins=0,s=0;s<p.length;s++)b(p[s],!0);for(s=0;s<p.length;s++)b(p[s],!1);Cne(e)}bl.getComponentMethod(\"fx\",\"calc\")(e),bl.getComponentMethod(\"errorbars\",\"calc\")(e)};var Xit=/(total|sum|min|max|mean|geometric mean|median) (ascending|descending)/;function Yit(e,t){var r=[],n,i,a,o,s;function l(N,W,re){var ae=W._id.charAt(0);if(N===\"histogram2dcontour\"){var _e=W._counterAxes[0],Me=Ap.getFromId(t,_e),ke=ae===\"x\"||_e===\"x\"&&Me.type===\"category\",ge=ae===\"y\"||_e===\"y\"&&Me.type===\"category\";return function(ie,Te){return ie===0||Te===0||ke&&ie===re[Te].length-1||ge&&Te===re.length-1?-1:(ae===\"y\"?Te:ie)-1}}else return function(ie,Te){return ae===\"y\"?Te:ie}}var u={min:function(N){return Ca.aggNums(Math.min,null,N)},max:function(N){return Ca.aggNums(Math.max,null,N)},sum:function(N){return Ca.aggNums(function(W,re){return W+re},null,N)},total:function(N){return Ca.aggNums(function(W,re){return W+re},null,N)},mean:function(N){return Ca.mean(N)},\"geometric mean\":function(N){return Ca.geometricMean(N)},median:function(N){return Ca.median(N)}};function c(N,W){return N[1]-W[1]}function f(N,W){return W[1]-N[1]}for(n=0;n<e.length;n++){var h=e[n];if(h.type===\"category\"){var d=h.categoryorder.match(Xit);if(d){var v=d[1],x=d[2],b=h._id.charAt(0),p=b===\"x\",E=[];for(i=0;i<h._categories.length;i++)E.push([h._categories[i],[]]);for(i=0;i<h._traceIndices.length;i++){var k=h._traceIndices[i],A=t._fullData[k];if(A.visible===!0){var L=A.type;bl.traceIs(A,\"histogram\")&&(delete A._xautoBinFinished,delete A._yautoBinFinished);var _=L===\"splom\",C=L===\"scattergl\",M=t.calcdata[k];for(a=0;a<M.length;a++){var g=M[a],P,T;if(_){var F=A._axesDim[h._id];if(!p){var q=A._diag[F][0];q&&(h=t._fullLayout[Ap.id2name(q)])}var V=g.trace.dimensions[F].values;for(o=0;o<V.length;o++)for(P=h._categoriesMap[V[o]],s=0;s<g.trace.dimensions.length;s++)if(s!==F){var H=g.trace.dimensions[s];E[P][1].push(H.values[o])}}else if(C){for(o=0;o<g.t.x.length;o++)p?(P=g.t.x[o],T=g.t.y[o]):(P=g.t.y[o],T=g.t.x[o]),E[P][1].push(T);g.t&&g.t._scene&&delete g.t._scene.dirty}else if(g.hasOwnProperty(\"z\")){T=g.z;var X=l(A.type,h,T);for(o=0;o<T.length;o++)for(s=0;s<T[o].length;s++)P=X(s,o),P+1&&E[P][1].push(T[o][s])}else for(P=g.p,P===void 0&&(P=g[b]),T=g.s,T===void 0&&(T=g.v),T===void 0&&(T=p?g.y:g.x),Array.isArray(T)||(T===void 0?T=[]:T=[T]),o=0;o<T.length;o++)E[P][1].push(T[o])}}}h._categoriesValue=E;var G=[];for(i=0;i<E.length;i++)G.push([E[i][0],u[v](E[i][1])]);G.sort(x===\"descending\"?f:c),h._categoriesAggregatedValue=G,h._initialCategories=G.map(function(N){return N[0]}),r=r.concat(h.sortByInitialCategories())}}}return r}function kne(e,t,r){var n={};function i(l){l.clearCalc(),l.type===\"multicategory\"&&l.setupMultiCategory(t),n[l._id]=1}Ca.simpleMap(e,i);for(var a=r._axisMatchGroups||[],o=0;o<a.length;o++)for(var s in a[o])n[s]||i(r[Ap.id2name(s)])}function Cne(e){var t=e._fullLayout,r=t._visibleModules,n={},i,a,o;for(a=0;a<r.length;a++){var s=r[a],l=s.crossTraceCalc;if(l){var u=s.basePlotModule.name;n[u]?Ca.pushUnique(n[u],l):n[u]=[l]}}for(o in n){var c=n[o],f=t._subplots[o];if(Array.isArray(f))for(i=0;i<f.length;i++){var h=f[i],d=o===\"cartesian\"?t._plots[h]:t[h];for(a=0;a<c.length;a++)c[a](e,d,h)}else for(a=0;a<c.length;a++)c[a](e)}}ha.rehover=function(e){e._fullLayout._rehover&&e._fullLayout._rehover()};ha.redrag=function(e){e._fullLayout._redrag&&e._fullLayout._redrag()};ha.reselect=function(e){var t=e._fullLayout,r=(e.layout||{}).selections,n=t._previousSelections;t._previousSelections=r;var i=t._reselect||JSON.stringify(r)!==JSON.stringify(n);bl.getComponentMethod(\"selections\",\"reselect\")(e,i)};ha.generalUpdatePerTraceModule=function(e,t,r,n){var i=t.traceHash,a={},o;for(o=0;o<r.length;o++){var s=r[o],l=s[0].trace;l.visible&&(a[l.type]=a[l.type]||[],a[l.type].push(s))}for(var u in i)if(!a[u]){var c=i[u][0],f=c[0].trace;f.visible=!1,a[u]=[c]}for(var h in a){var d=a[h],v=d[0][0].trace._module;v.plot(e,t,Ca.filterVisible(d),n)}t.traceHash=a};ha.plotBasePlot=function(e,t,r,n,i){var a=bl.getModule(e),o=qit(t.calcdata,a)[0];a.plot(t,o,n,i)};ha.cleanBasePlot=function(e,t,r,n,i){var a=i._has&&i._has(e),o=r._has&&r._has(e);a&&!o&&i[\"_\"+e+\"layer\"].selectAll(\"g.trace\").remove()}});var Zp=ye(yb=>{\"use strict\";yb.xmlns=\"http://www.w3.org/2000/xmlns/\";yb.svg=\"http://www.w3.org/2000/svg\";yb.xlink=\"http://www.w3.org/1999/xlink\";yb.svgAttrs={xmlns:yb.svg,\"xmlns:xlink\":yb.xlink}});var Nh=ye((jtr,One)=>{\"use strict\";One.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\"}}});var Pl=ye(b0=>{\"use strict\";var vh=xa(),Ty=Mr(),Kit=Ty.strTranslate,uO=Zp(),Jit=Nh().LINE_SPACING,$it=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;b0.convertToTspans=function(e,t,r){var n=e.text(),i=!e.attr(\"data-notex\")&&t&&t._context.typesetMath&&typeof MathJax!=\"undefined\"&&n.match($it),a=vh.select(e.node().parentNode);if(a.empty())return;var o=e.attr(\"class\")?e.attr(\"class\").split(\" \")[0]:\"text\";o+=\"-math\",a.selectAll(\"svg.\"+o).remove(),a.selectAll(\"g.\"+o+\"-group\").remove(),e.style(\"display\",null).attr({\"data-unformatted\":n,\"data-math\":\"N\"});function s(){a.empty()||(o=e.attr(\"class\")+\"-math\",a.select(\"svg.\"+o).remove()),e.text(\"\").style(\"white-space\",\"pre\");var l=fnt(e.node(),n);l&&e.style(\"pointer-events\",\"all\"),b0.positionText(e),r&&r.call(e)}return i?(t&&t._promises||[]).push(new Promise(function(l){e.style(\"display\",\"none\");var u=parseInt(e.node().style.fontSize,10),c={fontSize:u};rnt(i[2],c,function(f,h,d){a.selectAll(\"svg.\"+o).remove(),a.selectAll(\"g.\"+o+\"-group\").remove();var v=f&&f.select(\"svg\");if(!v||!v.node()){s(),l();return}var x=a.append(\"g\").classed(o+\"-group\",!0).attr({\"pointer-events\":\"none\",\"data-unformatted\":n,\"data-math\":\"Y\"});x.node().appendChild(v.node()),h&&h.node()&&v.node().insertBefore(h.node().cloneNode(!0),v.node().firstChild);var b=d.width,p=d.height;v.attr({class:o,height:p,preserveAspectRatio:\"xMinYMin meet\"}).style({overflow:\"visible\",\"pointer-events\":\"none\"});var E=e.node().style.fill||\"black\",k=v.select(\"g\");k.attr({fill:E,stroke:E});var A=k.node().getBoundingClientRect(),L=A.width,_=A.height;(L>b||_>p)&&(v.style(\"overflow\",\"hidden\"),A=v.node().getBoundingClientRect(),L=A.width,_=A.height);var C=+e.attr(\"x\"),M=+e.attr(\"y\"),g=u||e.node().getBoundingClientRect().height,P=-g/4;if(o[0]===\"y\")x.attr({transform:\"rotate(\"+[-90,C,M]+\")\"+Kit(-L/2,P-_/2)});else if(o[0]===\"l\")M=P-_/2;else if(o[0]===\"a\"&&o.indexOf(\"atitle\")!==0)C=0,M=P;else{var T=e.attr(\"text-anchor\");C=C-L*(T===\"middle\"?.5:T===\"end\"?1:0),M=M+P-_/2}v.attr({x:C,y:M}),r&&r.call(e,x),l(x)})})):s(),e};var Qit=/(<|<|<)/g,ent=/(>|>|>)/g;function tnt(e){return e.replace(Qit,\"\\\\lt \").replace(ent,\"\\\\gt \")}var Bne=[[\"$\",\"$\"],[\"\\\\(\",\"\\\\)\"]];function rnt(e,t,r){var n=parseInt((MathJax.version||\"\").split(\".\")[0]);if(n!==2&&n!==3){Ty.warn(\"No MathJax version:\",MathJax.version);return}var i,a,o,s,l=function(){return a=Ty.extendDeepAll({},MathJax.Hub.config),o=MathJax.Hub.processSectionDelay,MathJax.Hub.processSectionDelay!==void 0&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:\"none\",tex2jax:{inlineMath:Bne},displayAlign:\"left\"})},u=function(){a=Ty.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=Bne},c=function(){if(i=MathJax.Hub.config.menuSettings.renderer,i!==\"SVG\")return MathJax.Hub.setRenderer(\"SVG\")},f=function(){i=MathJax.config.startup.output,i!==\"svg\"&&(MathJax.config.startup.output=\"svg\")},h=function(){var E=\"math-output-\"+Ty.randstr({},64);s=vh.select(\"body\").append(\"div\").attr({id:E}).style({visibility:\"hidden\",position:\"absolute\",\"font-size\":t.fontSize+\"px\"}).text(tnt(e));var k=s.node();return n===2?MathJax.Hub.Typeset(k):MathJax.typeset([k])},d=function(){var E=s.select(n===2?\".MathJax_SVG\":\".MathJax\"),k=!E.empty()&&s.select(\"svg\").node();if(!k)Ty.log(\"There was an error in the tex syntax.\",e),r();else{var A=k.getBoundingClientRect(),L;n===2?L=vh.select(\"body\").select(\"#MathJax_SVG_glyphs\"):L=E.select(\"defs\"),r(E,L,A)}s.remove()},v=function(){if(i!==\"SVG\")return MathJax.Hub.setRenderer(i)},x=function(){i!==\"svg\"&&(MathJax.config.startup.output=i)},b=function(){return o!==void 0&&(MathJax.Hub.processSectionDelay=o),MathJax.Hub.Config(a)},p=function(){MathJax.config=a};n===2?MathJax.Hub.Queue(l,c,h,d,v,b):n===3&&(u(),f(),MathJax.startup.defaultReady(),MathJax.startup.promise.then(function(){h(),d(),x(),p()}))}var Hne={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\"},int={sub:\"0.3em\",sup:\"-0.6em\"},nnt={sub:\"-0.21em\",sup:\"0.42em\"},Nne=\"\\u200B\",Une=[\"http:\",\"https:\",\"mailto:\",\"\",void 0,\":\"],Gne=b0.NEWLINES=/(\\r\\n?|\\n)/g,fO=/(<[^<>]*>)/,hO=/<(\\/?)([^ >]*)(\\s+(.*))?>/i,ant=/<br(\\s+.*)?>/i;b0.BR_TAG_ALL=/<br(\\s+.*)?>/gi;var jne=/(^|[\\s\"'])style\\s*=\\s*(\"([^\"]*);?\"|'([^']*);?')/i,Wne=/(^|[\\s\"'])href\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/i,Zne=/(^|[\\s\"'])target\\s*=\\s*(\"([^\"\\s]*)\"|'([^'\\s]*)')/i,ont=/(^|[\\s\"'])popup\\s*=\\s*(\"([\\w=,]*)\"|'([\\w=,]*)')/i;function _b(e,t){if(!e)return null;var r=e.match(t),n=r&&(r[3]||r[4]);return n&&Z6(n)}var snt=/(^|;)\\s*color:/;b0.plainText=function(e,t){t=t||{};for(var r=t.len!==void 0&&t.len!==-1?t.len:1/0,n=t.allowedTags!==void 0?t.allowedTags:[\"br\"],i=\"...\",a=i.length,o=e.split(fO),s=[],l=\"\",u=0,c=0;c<o.length;c++){var f=o[c],h=f.match(hO),d=h&&h[2].toLowerCase();if(d)n.indexOf(d)!==-1&&(s.push(f),l=d);else{var v=f.length;if(u+v<r)s.push(f),u+=v;else if(u<r){var x=r-u;l&&(l!==\"br\"||x<=a||v<=a)&&s.pop(),r>a?s.push(f.substr(0,x-a)+i):s.push(f.substr(0,x));break}l=\"\"}}return s.join(\"\")};var lnt={mu:\"\\u03BC\",amp:\"&\",lt:\"<\",gt:\">\",nbsp:\"\\xA0\",times:\"\\xD7\",plusmn:\"\\xB1\",deg:\"\\xB0\"},unt=/&(#\\d+|#x[\\da-fA-F]+|[a-z]+);/g;function Z6(e){return e.replace(unt,function(t,r){var n;return r.charAt(0)===\"#\"?n=cnt(r.charAt(1)===\"x\"?parseInt(r.substr(2),16):parseInt(r.substr(1),10)):n=lnt[r],n||t})}b0.convertEntities=Z6;function cnt(e){if(!(e>1114111)){var t=String.fromCodePoint;if(t)return t(e);var r=String.fromCharCode;return e<=65535?r(e):r((e>>10)+55232,e%1024+56320)}}function fnt(e,t){t=t.replace(Gne,\" \");var r=!1,n=[],i,a=-1;function o(){a++;var _=document.createElementNS(uO.svg,\"tspan\");vh.select(_).attr({class:\"line\",dy:a*Jit+\"em\"}),e.appendChild(_),i=_;var C=n;if(n=[{node:_}],C.length>1)for(var M=1;M<C.length;M++)s(C[M])}function s(_){var C=_.type,M={},g;if(C===\"a\"){g=\"a\";var P=_.target,T=_.href,F=_.popup;T&&(M={\"xlink:xlink:show\":P===\"_blank\"||P.charAt(0)!==\"_\"?\"new\":\"replace\",target:P,\"xlink:xlink:href\":T},F&&(M.onclick='window.open(this.href.baseVal,this.target.baseVal,\"'+F+'\");return false;'))}else g=\"tspan\";_.style&&(M.style=_.style);var q=document.createElementNS(uO.svg,g);if(C===\"sup\"||C===\"sub\"){l(i,Nne),i.appendChild(q);var V=document.createElementNS(uO.svg,\"tspan\");l(V,Nne),vh.select(V).attr(\"dy\",nnt[C]),M.dy=int[C],i.appendChild(q),i.appendChild(V)}else i.appendChild(q);vh.select(q).attr(M),i=_.node=q,n.push(_)}function l(_,C){_.appendChild(document.createTextNode(C))}function u(_){if(n.length===1){Ty.log(\"Ignoring unexpected end tag </\"+_+\">.\",t);return}var C=n.pop();_!==C.type&&Ty.log(\"Start tag <\"+C.type+\"> doesnt match end tag <\"+_+\">. Pretending it did match.\",t),i=n[n.length-1].node}var c=ant.test(t);c?o():(i=e,n=[{node:e}]);for(var f=t.split(fO),h=0;h<f.length;h++){var d=f[h],v=d.match(hO),x=v&&v[2].toLowerCase(),b=Hne[x];if(x===\"br\")o();else if(b===void 0)l(i,Z6(d));else if(v[1])u(x);else{var p=v[4],E={type:x},k=_b(p,jne);if(k?(k=k.replace(snt,\"$1 fill:\"),b&&(k+=\";\"+b)):b&&(k=b),k&&(E.style=k),x===\"a\"){r=!0;var A=_b(p,Wne);if(A){var L=Xne(A);L&&(E.href=L,E.target=_b(p,Zne)||\"_blank\",E.popup=_b(p,ont))}}s(E)}}return r}function Xne(e){var t=encodeURI(decodeURI(e)),r=document.createElement(\"a\"),n=document.createElement(\"a\");r.href=e,n.href=t;var i=r.protocol,a=n.protocol;return Une.indexOf(i)!==-1&&Une.indexOf(a)!==-1?t:\"\"}b0.sanitizeHTML=function(t){t=t.replace(Gne,\" \");for(var r=document.createElement(\"p\"),n=r,i=[],a=t.split(fO),o=0;o<a.length;o++){var s=a[o],l=s.match(hO),u=l&&l[2].toLowerCase();if(u in Hne)if(l[1])i.length&&(n=i.pop());else{var c=l[4],f=_b(c,jne),h=f?{style:f}:{};if(u===\"a\"){var d=_b(c,Wne);if(d){var v=Xne(d);if(v){h.href=v;var x=_b(c,Zne);x&&(h.target=x)}}}var b=document.createElement(u);n.appendChild(b),vh.select(b).attr(h),n=b,i.push(b)}else n.appendChild(document.createTextNode(Z6(s)))}var p=\"innerHTML\";return r[p]};b0.lineCount=function(t){return t.selectAll(\"tspan.line\").size()||1};b0.positionText=function(t,r,n){return t.each(function(){var i=vh.select(this);function a(l,u){return u===void 0?(u=i.attr(l),u===null&&(i.attr(l,0),u=0)):i.attr(l,u),u}var o=a(\"x\",r),s=a(\"y\",n);this.nodeName===\"text\"&&i.selectAll(\"tspan.line\").attr({x:o,y:s})})};function Vne(e,t,r){var n=r.horizontalAlign,i=r.verticalAlign||\"top\",a=e.node().getBoundingClientRect(),o=t.node().getBoundingClientRect(),s,l,u;return i===\"bottom\"?l=function(){return a.bottom-s.height}:i===\"middle\"?l=function(){return a.top+(a.height-s.height)/2}:l=function(){return a.top},n===\"right\"?u=function(){return a.right-s.width}:n===\"center\"?u=function(){return a.left+(a.width-s.width)/2}:u=function(){return a.left},function(){s=this.node().getBoundingClientRect();var c=u()-o.left,f=l()-o.top,h=r.gd||{};if(r.gd){h._fullLayout._calcInverseTransform(h);var d=Ty.apply3DTransform(h._fullLayout._invTransform)(c,f);c=d[0],f=d[1]}return this.style({top:f+\"px\",left:c+\"px\",\"z-index\":1e3}),this}}var cO=\"1px \";b0.makeTextShadow=function(e){var t=cO,r=cO,n=cO;return t+r+n+e+\", -\"+t+\"-\"+r+n+e+\", \"+t+\"-\"+r+n+e+\", -\"+t+r+n+e};b0.makeEditable=function(e,t){var r=t.gd,n=t.delegate,i=vh.dispatch(\"edit\",\"input\",\"cancel\"),a=n||e;if(e.style({\"pointer-events\":n?\"none\":\"all\"}),e.size()!==1)throw new Error(\"boo\");function o(){l(),e.style({opacity:0});var u=a.attr(\"class\"),c;u?c=\".\"+u.split(\" \")[0]+\"-math-group\":c=\"[class*=-math-group]\",c&&vh.select(e.node().parentNode).select(c).style({opacity:0})}function s(u){var c=u.node(),f=document.createRange();f.selectNodeContents(c);var h=window.getSelection();h.removeAllRanges(),h.addRange(f),c.focus()}function l(){var u=vh.select(r),c=u.select(\".svg-container\"),f=c.append(\"div\"),h=e.node().style,d=parseFloat(h.fontSize||12),v=t.text;v===void 0&&(v=e.attr(\"data-unformatted\")),f.classed(\"plugin-editable editable\",!0).style({position:\"absolute\",\"font-family\":h.fontFamily||\"Arial\",\"font-size\":d,color:t.fill||h.fill||\"black\",opacity:1,\"background-color\":t.background||\"transparent\",outline:\"#ffffff33 1px solid\",margin:[-d/8+1,0,0,-1].join(\"px \")+\"px\",padding:\"0\",\"box-sizing\":\"border-box\"}).attr({contenteditable:!0}).text(v).call(Vne(e,c,t)).on(\"blur\",function(){r._editing=!1,e.text(this.textContent).style({opacity:1});var x=vh.select(this).attr(\"class\"),b;x?b=\".\"+x.split(\" \")[0]+\"-math-group\":b=\"[class*=-math-group]\",b&&vh.select(e.node().parentNode).select(b).style({opacity:0});var p=this.textContent;vh.select(this).transition().duration(0).remove(),vh.select(document).on(\"mouseup\",null),i.edit.call(e,p)}).on(\"focus\",function(){var x=this;r._editing=!0,vh.select(document).on(\"mouseup\",function(){if(vh.event.target===x)return!1;document.activeElement===f.node()&&f.node().blur()})}).on(\"keyup\",function(){vh.event.which===27?(r._editing=!1,e.style({opacity:1}),vh.select(this).style({opacity:0}).on(\"blur\",function(){return!1}).transition().remove(),i.cancel.call(e,this.textContent)):(i.input.call(e,this.textContent),vh.select(this).call(Vne(e,c,t)))}).on(\"keydown\",function(){vh.event.which===13&&this.blur()}).call(s)}return t.immediate?o():a.on(\"click\",o),vh.rebind(e,i,\"on\")}});var Dv=ye((Ztr,rae)=>{\"use strict\";var hnt=xa(),Y6=id(),ZS=uo(),X6=Mr(),Yne=va(),dnt=sb().isValid;function vnt(e,t,r){var n=t?X6.nestedProperty(e,t).get()||{}:e,i=n[r||\"color\"];i&&i._inputArray&&(i=i._inputArray);var a=!1;if(X6.isArrayOrTypedArray(i)){for(var o=0;o<i.length;o++)if(ZS(i[o])){a=!0;break}}return X6.isPlainObject(n)&&(a||n.showscale===!0||ZS(n.cmin)&&ZS(n.cmax)||dnt(n.colorscale)||X6.isPlainObject(n.colorbar))}var Kne=[\"showscale\",\"autocolorscale\",\"colorscale\",\"reversescale\",\"colorbar\"],WS=[\"min\",\"max\",\"mid\",\"auto\"];function $ne(e){var t=e._colorAx,r=t||e,n={},i,a,o;for(a=0;a<Kne.length;a++)o=Kne[a],n[o]=r[o];if(t)for(i=\"c\",a=0;a<WS.length;a++)o=WS[a],n[o]=r[\"c\"+o];else{var s;for(a=0;a<WS.length;a++){if(o=WS[a],s=\"c\"+o,s in r){n[o]=r[s];continue}s=\"z\"+o,s in r&&(n[o]=r[s])}i=s.charAt(0)}return n._sync=function(l,u){var c=WS.indexOf(l)!==-1?i+l:l;r[c]=r[\"_\"+c]=u},n}function Qne(e){for(var t=$ne(e),r=t.min,n=t.max,i=t.reversescale?eae(t.colorscale):t.colorscale,a=i.length,o=new Array(a),s=new Array(a),l=0;l<a;l++){var u=i[l];o[l]=r+u[0]*(n-r),s[l]=u[1]}return{domain:o,range:s}}function eae(e){for(var t=e.length,r=new Array(t),n=t-1,i=0;n>=0;n--,i++){var a=e[n];r[i]=[1-a[0],a[1]]}return r}function tae(e,t){t=t||{};for(var r=e.domain,n=e.range,i=n.length,a=new Array(i),o=0;o<i;o++){var s=Y6(n[o]).toRgb();a[o]=[s.r,s.g,s.b,s.a]}var l=hnt.scale.linear().domain(r).range(a).clamp(!0),u=t.noNumericCheck,c=t.returnArray,f;return u&&c?f=l:u?f=function(h){return Jne(l(h))}:c?f=function(h){return ZS(h)?l(h):Y6(h).isValid()?h:Yne.defaultLine}:f=function(h){return ZS(h)?Jne(l(h)):Y6(h).isValid()?h:Yne.defaultLine},f.domain=l.domain,f.range=function(){return n},f}function pnt(e,t){return tae(Qne(e),t)}function Jne(e){var t={r:e[0],g:e[1],b:e[2],a:e[3]};return Y6(t).toRgbString()}rae.exports={hasColorscale:vnt,extractOpts:$ne,extractScale:Qne,flipScale:eae,makeColorScaleFunc:tae,makeColorScaleFuncFromTrace:pnt}});var Oc=ye((Xtr,aae)=>{\"use strict\";var iae=Rq(),gnt=iae.FORMAT_LINK,mnt=iae.DATE_FORMAT_LINK;function ynt(e,t){return{valType:\"string\",dflt:\"\",editType:\"none\",description:(t?dO:nae)(\"hover text\",e)+[\"By default the values are formatted using \"+(t?\"generic number format\":\"`\"+e+\"axis.hoverformat`\")+\".\"].join(\" \")}}function dO(e,t){return[\"Sets the \"+e+\" formatting rule\"+(t?\"for `\"+t+\"` \":\"\"),\"using d3 formatting mini-languages\",\"which are very similar to those in Python. For numbers, see: \"+gnt+\".\"].join(\" \")}function nae(e,t){return dO(e,t)+[\" And for dates see: \"+mnt+\".\",\"We add two items to d3's date formatter:\",\"*%h* for half of the year as a decimal number as well as\",\"*%{n}f* for fractional seconds\",\"with n digits. For example, *2016-10-13 09:15:23.456* with tickformat\",\"*%H~%M~%S.%2f* would display *09~15~23.46*\"].join(\" \")}aae.exports={axisHoverFormat:ynt,descriptionOnlyNumbers:dO,descriptionWithDates:nae}});var Cd=ye((Ytr,wae)=>{\"use strict\";var oae=Su(),w3=dh(),bae=Ed().dash,pO=no().extendFlat,sae=Vs().templatedArray,lae=Oc().descriptionWithDates,_nt=es().ONEDAY,pm=ad(),xnt=pm.HOUR_PATTERN,bnt=pm.WEEKDAY_PATTERN,vO={valType:\"enumerated\",values:[\"auto\",\"linear\",\"array\"],editType:\"ticks\",impliedEdits:{tick0:void 0,dtick:void 0}},wnt=pO({},vO,{values:vO.values.slice().concat([\"sync\"])});function uae(e){return{valType:\"integer\",min:0,dflt:e?5:0,editType:\"ticks\"}}var cae={valType:\"any\",editType:\"ticks\",impliedEdits:{tickmode:\"linear\"}},fae={valType:\"any\",editType:\"ticks\",impliedEdits:{tickmode:\"linear\"}},hae={valType:\"data_array\",editType:\"ticks\"},dae={valType:\"enumerated\",values:[\"outside\",\"inside\",\"\"],editType:\"ticks\"};function vae(e){var t={valType:\"number\",min:0,editType:\"ticks\"};return e||(t.dflt=5),t}function pae(e){var t={valType:\"number\",min:0,editType:\"ticks\"};return e||(t.dflt=1),t}var gae={valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},mae={valType:\"color\",dflt:w3.lightLine,editType:\"ticks\"};function yae(e){var t={valType:\"number\",min:0,editType:\"ticks\"};return e||(t.dflt=1),t}var _ae=pO({},bae,{editType:\"ticks\"}),xae={valType:\"boolean\",editType:\"ticks\"};wae.exports={visible:{valType:\"boolean\",editType:\"plot\"},color:{valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},title:{text:{valType:\"string\",editType:\"ticks\"},font:oae({editType:\"ticks\"}),standoff:{valType:\"number\",min:0,editType:\"ticks\"},editType:\"ticks\"},type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"log\",\"date\",\"category\",\"multicategory\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},autotypenumbers:{valType:\"enumerated\",values:[\"convert types\",\"strict\"],dflt:\"convert types\",editType:\"calc\"},autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\",\"min reversed\",\"max reversed\",\"min\",\"max\"],dflt:!0,editType:\"axrange\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},autorangeoptions:{minallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},maxallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},clipmin:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},clipmax:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},include:{valType:\"any\",arrayOk:!0,editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},editType:\"plot\"},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"plot\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"axrange\",impliedEdits:{\"^autorange\":!1},anim:!0},{valType:\"any\",editType:\"axrange\",impliedEdits:{\"^autorange\":!1},anim:!0}],editType:\"axrange\",impliedEdits:{autorange:!1},anim:!0},minallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},maxallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},insiderange:{valType:\"info_array\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},scaleanchor:{valType:\"enumerated\",values:[pm.idRegex.x.toString(),pm.idRegex.y.toString(),!1],editType:\"plot\"},scaleratio:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},constrain:{valType:\"enumerated\",values:[\"range\",\"domain\"],editType:\"plot\"},constraintoward:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\",\"top\",\"middle\",\"bottom\"],editType:\"plot\"},matches:{valType:\"enumerated\",values:[pm.idRegex.x.toString(),pm.idRegex.y.toString()],editType:\"calc\"},rangebreaks:sae(\"rangebreak\",{enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},bounds:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}],editType:\"calc\"},pattern:{valType:\"enumerated\",values:[bnt,xnt,\"\"],editType:\"calc\"},values:{valType:\"info_array\",freeLength:!0,editType:\"calc\",items:{valType:\"any\",editType:\"calc\"}},dvalue:{valType:\"number\",editType:\"calc\",min:0,dflt:_nt},editType:\"calc\"}),tickmode:wnt,nticks:uae(),tick0:cae,dtick:fae,ticklabelstep:{valType:\"integer\",min:1,dflt:1,editType:\"ticks\"},tickvals:hae,ticktext:{valType:\"data_array\",editType:\"ticks\"},ticks:dae,tickson:{valType:\"enumerated\",values:[\"labels\",\"boundaries\"],dflt:\"labels\",editType:\"ticks\"},ticklabelmode:{valType:\"enumerated\",values:[\"instant\",\"period\"],dflt:\"instant\",editType:\"ticks\"},ticklabelposition:{valType:\"enumerated\",values:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside left\",\"inside left\",\"outside right\",\"inside right\",\"outside bottom\",\"inside bottom\"],dflt:\"outside\",editType:\"calc\"},ticklabeloverflow:{valType:\"enumerated\",values:[\"allow\",\"hide past div\",\"hide past domain\"],editType:\"calc\"},ticklabelshift:{valType:\"integer\",dflt:0,editType:\"ticks\"},ticklabelstandoff:{valType:\"integer\",dflt:0,editType:\"ticks\"},ticklabelindex:{valType:\"integer\",arrayOk:!0,editType:\"calc\"},mirror:{valType:\"enumerated\",values:[!0,\"ticks\",!1,\"all\",\"allticks\"],dflt:!1,editType:\"ticks+layoutstyle\"},ticklen:vae(),tickwidth:pae(),tickcolor:gae,showticklabels:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},labelalias:{valType:\"any\",dflt:!1,editType:\"ticks\"},automargin:{valType:\"flaglist\",flags:[\"height\",\"width\",\"left\",\"right\",\"top\",\"bottom\"],extras:[!0,!1],dflt:!1,editType:\"ticks\"},showspikes:{valType:\"boolean\",dflt:!1,editType:\"modebar\"},spikecolor:{valType:\"color\",dflt:null,editType:\"none\"},spikethickness:{valType:\"number\",dflt:3,editType:\"none\"},spikedash:pO({},bae,{dflt:\"dash\",editType:\"none\"}),spikemode:{valType:\"flaglist\",flags:[\"toaxis\",\"across\",\"marker\"],dflt:\"toaxis\",editType:\"none\"},spikesnap:{valType:\"enumerated\",values:[\"data\",\"cursor\",\"hovered data\"],dflt:\"hovered data\",editType:\"none\"},tickfont:oae({editType:\"ticks\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"ticks\"},autotickangles:{valType:\"info_array\",freeLength:!0,items:{valType:\"angle\"},dflt:[0,30,90],editType:\"ticks\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"ticks\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"ticks\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"ticks\"},minexponent:{valType:\"number\",dflt:3,min:0,editType:\"ticks\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"ticks\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"ticks\",description:lae(\"tick label\")},tickformatstops:sae(\"tickformatstop\",{enabled:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},dtickrange:{valType:\"info_array\",items:[{valType:\"any\",editType:\"ticks\"},{valType:\"any\",editType:\"ticks\"}],editType:\"ticks\"},value:{valType:\"string\",dflt:\"\",editType:\"ticks\"},editType:\"ticks\"}),hoverformat:{valType:\"string\",dflt:\"\",editType:\"none\",description:lae(\"hover text\")},showline:{valType:\"boolean\",dflt:!1,editType:\"ticks+layoutstyle\"},linecolor:{valType:\"color\",dflt:w3.defaultLine,editType:\"layoutstyle\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"ticks+layoutstyle\"},showgrid:xae,gridcolor:mae,gridwidth:yae(),griddash:_ae,zeroline:{valType:\"boolean\",editType:\"ticks\"},zerolinecolor:{valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},zerolinewidth:{valType:\"number\",dflt:1,editType:\"ticks\"},showdividers:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},dividercolor:{valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},dividerwidth:{valType:\"number\",dflt:1,editType:\"ticks\"},anchor:{valType:\"enumerated\",values:[\"free\",pm.idRegex.x.toString(),pm.idRegex.y.toString()],editType:\"plot\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"],editType:\"plot\"},overlaying:{valType:\"enumerated\",values:[\"free\",pm.idRegex.x.toString(),pm.idRegex.y.toString()],editType:\"plot\"},minor:{tickmode:vO,nticks:uae(\"minor\"),tick0:cae,dtick:fae,tickvals:hae,ticks:dae,ticklen:vae(\"minor\"),tickwidth:pae(\"minor\"),tickcolor:gae,gridcolor:mae,gridwidth:yae(\"minor\"),griddash:_ae,showgrid:xae,editType:\"ticks\"},layer:{valType:\"enumerated\",values:[\"above traces\",\"below traces\"],dflt:\"above traces\",editType:\"plot\"},domain:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1,editType:\"plot\"},{valType:\"number\",min:0,max:1,editType:\"plot\"}],dflt:[0,1],editType:\"plot\"},position:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot\"},autoshift:{valType:\"boolean\",dflt:!1,editType:\"plot\"},shift:{valType:\"number\",editType:\"plot\"},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\",\"total ascending\",\"total descending\",\"min ascending\",\"min descending\",\"max ascending\",\"max descending\",\"sum ascending\",\"sum descending\",\"mean ascending\",\"mean descending\",\"geometric mean ascending\",\"geometric mean descending\",\"median ascending\",\"median descending\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"}});var K6=ye((Ktr,Sae)=>{\"use strict\";var Ac=Cd(),Tae=Su(),Aae=no().extendFlat,Tnt=Bu().overrideAll;Sae.exports=Tnt({orientation:{valType:\"enumerated\",values:[\"h\",\"v\"],dflt:\"v\"},thicknessmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"pixels\"},thickness:{valType:\"number\",min:0,dflt:30},lenmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"fraction\"},len:{valType:\"number\",min:0,dflt:1},x:{valType:\"number\"},xref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"]},xpad:{valType:\"number\",min:0,dflt:10},y:{valType:\"number\"},yref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"]},ypad:{valType:\"number\",min:0,dflt:10},outlinecolor:Ac.linecolor,outlinewidth:Ac.linewidth,bordercolor:Ac.linecolor,borderwidth:{valType:\"number\",min:0,dflt:0},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},tickmode:Ac.minor.tickmode,nticks:Ac.nticks,tick0:Ac.tick0,dtick:Ac.dtick,tickvals:Ac.tickvals,ticktext:Ac.ticktext,ticks:Aae({},Ac.ticks,{dflt:\"\"}),ticklabeloverflow:Aae({},Ac.ticklabeloverflow,{}),ticklabelposition:{valType:\"enumerated\",values:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside left\",\"inside left\",\"outside right\",\"inside right\",\"outside bottom\",\"inside bottom\"],dflt:\"outside\"},ticklen:Ac.ticklen,tickwidth:Ac.tickwidth,tickcolor:Ac.tickcolor,ticklabelstep:Ac.ticklabelstep,showticklabels:Ac.showticklabels,labelalias:Ac.labelalias,tickfont:Tae({}),tickangle:Ac.tickangle,tickformat:Ac.tickformat,tickformatstops:Ac.tickformatstops,tickprefix:Ac.tickprefix,showtickprefix:Ac.showtickprefix,ticksuffix:Ac.ticksuffix,showticksuffix:Ac.showticksuffix,separatethousands:Ac.separatethousands,exponentformat:Ac.exponentformat,minexponent:Ac.minexponent,showexponent:Ac.showexponent,title:{text:{valType:\"string\"},font:Tae({}),side:{valType:\"enumerated\",values:[\"right\",\"top\",\"bottom\"]}}},\"colorbars\",\"from-root\")});var Jl=ye(($tr,Eae)=>{\"use strict\";var Ant=K6(),Snt=n3().counter,Mnt=Y1(),Mae=sb().scales,Jtr=Mnt(Mae);function J6(e){return\"`\"+e+\"`\"}Eae.exports=function(t,r){t=t||\"\",r=r||{};var n=r.cLetter||\"c\",i=\"onlyIfNumerical\"in r?r.onlyIfNumerical:!!t,a=\"noScale\"in r?r.noScale:t===\"marker.line\",o=\"showScaleDflt\"in r?r.showScaleDflt:n===\"z\",s=typeof r.colorscaleDflt==\"string\"?Mae[r.colorscaleDflt]:null,l=r.editTypeOverride||\"\",u=t?t+\".\":\"\",c,f;\"colorAttr\"in r?(c=r.colorAttr,f=r.colorAttr):(c={z:\"z\",c:\"color\"}[n],f=\"in \"+J6(u+c));var h=i?\" Has an effect only if \"+f+\" is set to a numerical array.\":\"\",d=n+\"auto\",v=n+\"min\",x=n+\"max\",b=n+\"mid\",p=J6(u+d),E=J6(u+v),k=J6(u+x),A=E+\" and \"+k,L={};L[v]=L[x]=void 0;var _={};_[d]=!1;var C={};return c===\"color\"&&(C.color={valType:\"color\",arrayOk:!0,editType:l||\"style\"},r.anim&&(C.color.anim=!0)),C[d]={valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:L},C[v]={valType:\"number\",dflt:null,editType:l||\"plot\",impliedEdits:_},C[x]={valType:\"number\",dflt:null,editType:l||\"plot\",impliedEdits:_},C[b]={valType:\"number\",dflt:null,editType:\"calc\",impliedEdits:L},C.colorscale={valType:\"colorscale\",editType:\"calc\",dflt:s,impliedEdits:{autocolorscale:!1}},C.autocolorscale={valType:\"boolean\",dflt:r.autoColorDflt!==!1,editType:\"calc\",impliedEdits:{colorscale:void 0}},C.reversescale={valType:\"boolean\",dflt:!1,editType:\"plot\"},a||(C.showscale={valType:\"boolean\",dflt:o,editType:\"calc\"},C.colorbar=Ant),r.noColorAxis||(C.coloraxis={valType:\"subplotid\",regex:Snt(\"coloraxis\"),dflt:null,editType:\"calc\"}),C}});var mO=ye((Qtr,kae)=>{\"use strict\";var Ent=no().extendFlat,knt=Jl(),gO=sb().scales;kae.exports={editType:\"calc\",colorscale:{editType:\"calc\",sequential:{valType:\"colorscale\",dflt:gO.Reds,editType:\"calc\"},sequentialminus:{valType:\"colorscale\",dflt:gO.Blues,editType:\"calc\"},diverging:{valType:\"colorscale\",dflt:gO.RdBu,editType:\"calc\"}},coloraxis:Ent({_isSubplotObj:!0,editType:\"calc\"},knt(\"\",{colorAttr:\"corresponding trace color array(s)\",noColorAxis:!0,showScaleDflt:!0}))}});var yO=ye((err,Cae)=>{\"use strict\";var Cnt=Mr();Cae.exports=function(t){return Cnt.isPlainObject(t.colorbar)}});var bO=ye(xO=>{\"use strict\";var _O=uo(),Lae=Mr(),Pae=es(),Lnt=Pae.ONEDAY,Pnt=Pae.ONEWEEK;xO.dtick=function(e,t){var r=t===\"log\",n=t===\"date\",i=t===\"category\",a=n?Lnt:1;if(!e)return a;if(_O(e))return e=Number(e),e<=0?a:i?Math.max(1,Math.round(e)):n?Math.max(.1,e):e;if(typeof e!=\"string\"||!(n||r))return a;var o=e.charAt(0),s=e.substr(1);return s=_O(s)?Number(s):0,s<=0||!(n&&o===\"M\"&&s===Math.round(s)||r&&o===\"L\"||r&&o===\"D\"&&(s===1||s===2))?a:e};xO.tick0=function(e,t,r,n){if(t===\"date\")return Lae.cleanDate(e,Lae.dateTick0(r,n%Pnt===0?1:0));if(!(n===\"D1\"||n===\"D2\"))return _O(e)?Number(e):0}});var xb=ye((rrr,Rae)=>{\"use strict\";var Iae=bO(),Int=Mr().isArrayOrTypedArray,Rnt=vv().isTypedArraySpec,Dnt=vv().decodeTypedArraySpec;Rae.exports=function(t,r,n,i,a){a||(a={});var o=a.isMinor,s=o?t.minor||{}:t,l=o?r.minor:r,u=o?\"minor.\":\"\";function c(E){var k=s[E];return Rnt(k)&&(k=Dnt(k)),k!==void 0?k:(l._template||{})[E]}var f=c(\"tick0\"),h=c(\"dtick\"),d=c(\"tickvals\"),v=Int(d)?\"array\":h?\"linear\":\"auto\",x=n(u+\"tickmode\",v);if(x===\"auto\"||x===\"sync\")n(u+\"nticks\");else if(x===\"linear\"){var b=l.dtick=Iae.dtick(h,i);l.tick0=Iae.tick0(f,i,r.calendar,b)}else if(i!==\"multicategory\"){var p=n(u+\"tickvals\");p===void 0?l.tickmode=\"auto\":o||n(\"ticktext\")}}});var T3=ye((irr,zae)=>{\"use strict\";var wO=Mr(),Dae=Cd();zae.exports=function(t,r,n,i){var a=i.isMinor,o=a?t.minor||{}:t,s=a?r.minor:r,l=a?Dae.minor:Dae,u=a?\"minor.\":\"\",c=wO.coerce2(o,s,l,\"ticklen\",a?(r.ticklen||5)*.6:void 0),f=wO.coerce2(o,s,l,\"tickwidth\",a?r.tickwidth||1:void 0),h=wO.coerce2(o,s,l,\"tickcolor\",(a?r.tickcolor:void 0)||s.color),d=n(u+\"ticks\",!a&&i.outerTicks||c||f||h?\"outside\":\"\");d||(delete s.ticklen,delete s.tickwidth,delete s.tickcolor)}});var TO=ye((nrr,Fae)=>{\"use strict\";Fae.exports=function(t){var r=[\"showexponent\",\"showtickprefix\",\"showticksuffix\"],n=r.filter(function(a){return t[a]!==void 0}),i=function(a){return t[a]===t[n[0]]};if(n.every(i)||n.length===1)return t[n[0]]}});var Zd=ye((arr,qae)=>{\"use strict\";var $6=Mr(),znt=Vs();qae.exports=function(t,r,n){var i=n.name,a=n.inclusionAttr||\"visible\",o=r[i],s=$6.isArrayOrTypedArray(t[i])?t[i]:[],l=r[i]=[],u=znt.arrayTemplater(r,i,a),c,f;for(c=0;c<s.length;c++){var h=s[c];$6.isPlainObject(h)?f=u.newItem(h):(f=u.newItem({}),f[a]=!1),f._index=c,f[a]!==!1&&n.handleItemDefaults(h,f,r,n),l.push(f)}var d=u.defaultItems();for(c=0;c<d.length;c++)f=d[c],f._index=l.length,n.handleItemDefaults({},f,r,n,{}),l.push(f);if($6.isArrayOrTypedArray(o)){var v=Math.min(o.length,l.length);for(c=0;c<v;c++)$6.relinkPrivateKeys(l[c],o[c])}return l}});var t_=ye((orr,Bae)=>{\"use strict\";var AO=Mr(),Fnt=va().contrast,Oae=Cd(),qnt=TO(),Ont=Zd();Bae.exports=function(t,r,n,i,a){a||(a={});var o=n(\"labelalias\");AO.isPlainObject(o)||delete r.labelalias;var s=qnt(t),l=n(\"showticklabels\");if(l){a.noTicklabelshift||n(\"ticklabelshift\"),a.noTicklabelstandoff||n(\"ticklabelstandoff\");var u=a.font||{},c=r.color,f=r.ticklabelposition||\"\",h=f.indexOf(\"inside\")!==-1?Fnt(a.bgColor):c&&c!==Oae.color.dflt?c:u.color;if(AO.coerceFont(n,\"tickfont\",u,{overrideDflt:{color:h}}),!a.noTicklabelstep&&i!==\"multicategory\"&&i!==\"log\"&&n(\"ticklabelstep\"),!a.noAng){var d=n(\"tickangle\");!a.noAutotickangles&&d===\"auto\"&&n(\"autotickangles\")}if(i!==\"category\"){var v=n(\"tickformat\");Ont(t,r,{name:\"tickformatstops\",inclusionAttr:\"enabled\",handleItemDefaults:Bnt}),r.tickformatstops.length||delete r.tickformatstops,!a.noExp&&!v&&i!==\"date\"&&(n(\"showexponent\",s),n(\"exponentformat\"),n(\"minexponent\"),n(\"separatethousands\"))}}};function Bnt(e,t){function r(i,a){return AO.coerce(e,t,Oae.tickformatstops,i,a)}var n=r(\"enabled\");n&&(r(\"dtickrange\"),r(\"value\"))}});var r_=ye((srr,Nae)=>{\"use strict\";var Nnt=TO();Nae.exports=function(t,r,n,i,a){a||(a={});var o=a.tickSuffixDflt,s=Nnt(t),l=n(\"tickprefix\");l&&n(\"showtickprefix\",s);var u=n(\"ticksuffix\",o);u&&n(\"showticksuffix\",s)}});var SO=ye((lrr,Uae)=>{\"use strict\";var i_=Mr(),Unt=Vs(),Vnt=xb(),Hnt=T3(),Gnt=t_(),jnt=r_(),Wnt=K6();Uae.exports=function(t,r,n){var i=Unt.newContainer(r,\"colorbar\"),a=t.colorbar||{};function o(T,F){return i_.coerce(a,i,Wnt,T,F)}var s=n.margin||{t:0,b:0,l:0,r:0},l=n.width-s.l-s.r,u=n.height-s.t-s.b,c=o(\"orientation\"),f=c===\"v\",h=o(\"thicknessmode\");o(\"thickness\",h===\"fraction\"?30/(f?l:u):30);var d=o(\"lenmode\");o(\"len\",d===\"fraction\"?1:f?u:l);var v=o(\"yref\"),x=o(\"xref\"),b=v===\"paper\",p=x===\"paper\",E,k,A,L=\"left\";f?(A=\"middle\",L=p?\"left\":\"right\",E=p?1.02:1,k=.5):(A=b?\"bottom\":\"top\",L=\"center\",E=.5,k=b?1.02:1),i_.coerce(a,i,{x:{valType:\"number\",min:p?-2:0,max:p?3:1,dflt:E}},\"x\"),i_.coerce(a,i,{y:{valType:\"number\",min:b?-2:0,max:b?3:1,dflt:k}},\"y\"),o(\"xanchor\",L),o(\"xpad\"),o(\"yanchor\",A),o(\"ypad\"),i_.noneOrAll(a,i,[\"x\",\"y\"]),o(\"outlinecolor\"),o(\"outlinewidth\"),o(\"bordercolor\"),o(\"borderwidth\"),o(\"bgcolor\");var _=i_.coerce(a,i,{ticklabelposition:{valType:\"enumerated\",dflt:\"outside\",values:f?[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside bottom\",\"inside bottom\"]:[\"outside\",\"inside\",\"outside left\",\"inside left\",\"outside right\",\"inside right\"]}},\"ticklabelposition\");o(\"ticklabeloverflow\",_.indexOf(\"inside\")!==-1?\"hide past domain\":\"hide past div\"),Vnt(a,i,o,\"linear\");var C=n.font,M={noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,outerTicks:!1,font:C};_.indexOf(\"inside\")!==-1&&(M.bgColor=\"black\"),jnt(a,i,o,\"linear\",M),Gnt(a,i,o,\"linear\",M),Hnt(a,i,o,\"linear\",M),o(\"title.text\",n._dfltTitle.colorbar);var g=i.showticklabels?i.tickfont:C,P=i_.extendFlat({},C,{family:g.family,size:i_.bigFont(g.size)});i_.coerceFont(o,\"title.font\",P),o(\"title.side\",f?\"top\":\"right\")}});var Uh=ye((urr,Gae)=>{\"use strict\";var Vae=uo(),EO=Mr(),Znt=yO(),Xnt=SO(),Hae=sb().isValid,Ynt=ba().traceIs;function MO(e,t){var r=t.slice(0,t.length-1);return t?EO.nestedProperty(e,r).get()||{}:e}Gae.exports=function e(t,r,n,i,a){var o=a.prefix,s=a.cLetter,l=\"_module\"in r,u=MO(t,o),c=MO(r,o),f=MO(r._template||{},o)||{},h=function(){return delete t.coloraxis,delete r.coloraxis,e(t,r,n,i,a)};if(l){var d=n._colorAxes||{},v=i(o+\"coloraxis\");if(v){var x=Ynt(r,\"contour\")&&EO.nestedProperty(r,\"contours.coloring\").get()||\"heatmap\",b=d[v];b?(b[2].push(h),b[0]!==x&&(b[0]=!1,EO.warn([\"Ignoring coloraxis:\",v,\"setting\",\"as it is linked to incompatible colorscales.\"].join(\" \")))):d[v]=[x,r,[h]];return}}var p=u[s+\"min\"],E=u[s+\"max\"],k=Vae(p)&&Vae(E)&&p<E,A=i(o+s+\"auto\",!k);A?i(o+s+\"mid\"):(i(o+s+\"min\"),i(o+s+\"max\"));var L=u.colorscale,_=f.colorscale,C;if(L!==void 0&&(C=!Hae(L)),_!==void 0&&(C=!Hae(_)),i(o+\"autocolorscale\",C),i(o+\"colorscale\"),i(o+\"reversescale\"),o!==\"marker.line.\"){var M;o&&l&&(M=Znt(u));var g=i(o+\"showscale\",M);g&&(o&&f&&(c._template=f),Xnt(u,c,n))}}});var Xae=ye((crr,Zae)=>{\"use strict\";var jae=Mr(),Knt=Vs(),Wae=mO(),Jnt=Uh();Zae.exports=function(t,r){function n(f,h){return jae.coerce(t,r,Wae,f,h)}n(\"colorscale.sequential\"),n(\"colorscale.sequentialminus\"),n(\"colorscale.diverging\");var i=r._colorAxes,a,o;function s(f,h){return jae.coerce(a,o,Wae.coloraxis,f,h)}for(var l in i){var u=i[l];if(u[0])a=t[l]||{},o=Knt.newContainer(r,l,\"coloraxis\"),o._name=l,Jnt(a,o,r,s,{prefix:\"\",cLetter:\"c\"});else{for(var c=0;c<u[2].length;c++)u[2][c]();delete r._colorAxes[l]}}}});var Kae=ye((frr,Yae)=>{\"use strict\";var $nt=Mr(),Qnt=Dv().hasColorscale,eat=Dv().extractOpts;Yae.exports=function(t,r){function n(c,f){var h=c[\"_\"+f];h!==void 0&&(c[f]=h)}function i(c,f){var h=f.container?$nt.nestedProperty(c,f.container).get():c;if(h)if(h.coloraxis)h._colorAx=r[h.coloraxis];else{var d=eat(h),v=d.auto;(v||d.min===void 0)&&n(h,f.min),(v||d.max===void 0)&&n(h,f.max),d.autocolorscale&&n(h,\"colorscale\")}}for(var a=0;a<t.length;a++){var o=t[a],s=o._module.colorbar;if(s)if(Array.isArray(s))for(var l=0;l<s.length;l++)i(o,s[l]);else i(o,s);Qnt(o,\"marker.line\")&&i(o,{container:\"marker.line\",min:\"cmin\",max:\"cmax\"})}for(var u in r._colorAxes)i(r[u],{min:\"cmin\",max:\"cmax\"})}});var zv=ye((hrr,$ae)=>{\"use strict\";var Jae=uo(),kO=Mr(),tat=Dv().extractOpts;$ae.exports=function(t,r,n){var i=t._fullLayout,a=n.vals,o=n.containerStr,s=o?kO.nestedProperty(r,o).get():r,l=tat(s),u=l.auto!==!1,c=l.min,f=l.max,h=l.mid,d=function(){return kO.aggNums(Math.min,null,a)},v=function(){return kO.aggNums(Math.max,null,a)};if(c===void 0?c=d():u&&(s._colorAx&&Jae(c)?c=Math.min(c,d()):c=d()),f===void 0?f=v():u&&(s._colorAx&&Jae(f)?f=Math.max(f,v()):f=v()),u&&h!==void 0&&(f-h>h-c?c=h-(f-h):f-h<h-c&&(f=h+(h-c))),c===f&&(c-=.5,f+=.5),l._sync(\"min\",c),l._sync(\"max\",f),l.autocolorscale){var x;c*f<0?x=i.colorscale.diverging:c>=0?x=i.colorscale.sequential:x=i.colorscale.sequentialminus,l._sync(\"colorscale\",x)}}});var Mu=ye((drr,Qae)=>{\"use strict\";var Q6=sb(),A3=Dv();Qae.exports={moduleType:\"component\",name:\"colorscale\",attributes:Jl(),layoutAttributes:mO(),supplyLayoutDefaults:Xae(),handleDefaults:Uh(),crossTraceDefaults:Kae(),calc:zv(),scales:Q6.scales,defaultScale:Q6.defaultScale,getScale:Q6.get,isValidScale:Q6.isValid,hasColorscale:A3.hasColorscale,extractOpts:A3.extractOpts,extractScale:A3.extractScale,flipScale:A3.flipScale,makeColorScaleFunc:A3.makeColorScaleFunc,makeColorScaleFuncFromTrace:A3.makeColorScaleFuncFromTrace}});var lu=ye((vrr,toe)=>{\"use strict\";var eoe=Mr(),rat=vv().isTypedArraySpec;toe.exports={hasLines:function(e){return e.visible&&e.mode&&e.mode.indexOf(\"lines\")!==-1},hasMarkers:function(e){return e.visible&&(e.mode&&e.mode.indexOf(\"markers\")!==-1||e.type===\"splom\")},hasText:function(e){return e.visible&&e.mode&&e.mode.indexOf(\"text\")!==-1},isBubble:function(e){var t=e.marker;return eoe.isPlainObject(t)&&(eoe.isArrayOrTypedArray(t.size)||rat(t.size))}}});var S3=ye((prr,roe)=>{\"use strict\";var iat=uo();roe.exports=function(t,r){r||(r=2);var n=t.marker,i=n.sizeref||1,a=n.sizemin||0,o=n.sizemode===\"area\"?function(s){return Math.sqrt(s/i)}:function(s){return s/i};return function(s){var l=o(s/r);return iat(l)&&l>0?Math.max(l,a):0}}});var rp=ye(pv=>{\"use strict\";var ioe=Mr();pv.getSubplot=function(e){return e.subplot||e.xaxis+e.yaxis||e.geo};pv.isTraceInSubplots=function(e,t){if(e.type===\"splom\"){for(var r=e.xaxes||[],n=e.yaxes||[],i=0;i<r.length;i++)for(var a=0;a<n.length;a++)if(t.indexOf(r[i]+n[a])!==-1)return!0;return!1}return t.indexOf(pv.getSubplot(e))!==-1};pv.flat=function(e,t){for(var r=new Array(e.length),n=0;n<e.length;n++)r[n]=t;return r};pv.p2c=function(e,t){for(var r=new Array(e.length),n=0;n<e.length;n++)r[n]=e[n].p2c(t);return r};pv.getDistanceFunction=function(e,t,r,n){return e===\"closest\"?n||pv.quadrature(t,r):e.charAt(0)===\"x\"?t:r};pv.getClosest=function(e,t,r){if(r.index!==!1)r.index>=0&&r.index<e.length?r.distance=0:r.index=!1;else for(var n=1/0,i=e.length,a=0;a<i;a++)n=t(e[a]),n<=r.distance&&(r.index=a,r.distance=n);return r};pv.inbox=function(e,t,r){return e*t<0||e===0?r:1/0};pv.quadrature=function(e,t){return function(r){var n=e(r),i=t(r);return Math.sqrt(n*n+i*i)}};pv.makeEventData=function(e,t,r){var n=\"index\"in e?e.index:e.pointNumber,i={data:t._input,fullData:t,curveNumber:t.index,pointNumber:n};if(t._indexToPoints){var a=t._indexToPoints[n];a.length===1?i.pointIndex=a[0]:i.pointIndices=a}else i.pointIndex=n;return t._module.eventData?i=t._module.eventData(i,e,t,r,n):(\"xVal\"in e?i.x=e.xVal:\"x\"in e&&(i.x=e.x),\"yVal\"in e?i.y=e.yVal:\"y\"in e&&(i.y=e.y),e.xa&&(i.xaxis=e.xa),e.ya&&(i.yaxis=e.ya),e.zLabelVal!==void 0&&(i.z=e.zLabelVal)),pv.appendArrayPointValue(i,t,n),i};pv.appendArrayPointValue=function(e,t,r){var n=t._arrayAttrs;if(n)for(var i=0;i<n.length;i++){var a=n[i],o=noe(a);if(e[o]===void 0){var s=ioe.nestedProperty(t,a).get(),l=aoe(s,r);l!==void 0&&(e[o]=l)}}};pv.appendArrayMultiPointValues=function(e,t,r){var n=t._arrayAttrs;if(n)for(var i=0;i<n.length;i++){var a=n[i],o=noe(a);if(e[o]===void 0){for(var s=ioe.nestedProperty(t,a).get(),l=new Array(r.length),u=0;u<r.length;u++)l[u]=aoe(s,r[u]);e[o]=l}}};var nat={ids:\"id\",locations:\"location\",labels:\"label\",values:\"value\",\"marker.colors\":\"color\",parents:\"parent\"};function noe(e){return nat[e]||e}function aoe(e,t){if(Array.isArray(t)){if(Array.isArray(e)&&Array.isArray(e[t[0]]))return e[t[0]][t[1]]}else return e[t]}var aat={x:!0,y:!0},oat={\"x unified\":!0,\"y unified\":!0};pv.isUnifiedHover=function(e){return typeof e!=\"string\"?!1:!!oat[e]};pv.isXYhover=function(e){return typeof e!=\"string\"?!1:!!aat[e]}});var XS=ye((mrr,ooe)=>{ooe.exports=lat;var CO={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},sat=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function lat(e){var t=[];return e.replace(sat,function(r,n,i){var a=n.toLowerCase();for(i=cat(i),a==\"m\"&&i.length>2&&(t.push([n].concat(i.splice(0,2))),a=\"l\",n=n==\"m\"?\"l\":\"L\");;){if(i.length==CO[a])return i.unshift(n),t.push(i);if(i.length<CO[a])throw new Error(\"malformed path data\");t.push([n].concat(i.splice(0,CO[a])))}}),t}var uat=/-?[0-9]*\\.?[0-9]+(?:e[-+]?\\d+)?/ig;function cat(e){var t=e.match(uat);return t?t.map(Number):[]}});var doe=ye((yrr,hoe)=>{\"use strict\";var fat=XS(),Yn=function(e,t){return t?Math.round(e*(t=Math.pow(10,t)))/t:Math.round(e)},ts=\"M0,0Z\",soe=Math.sqrt(2),n_=Math.sqrt(3),LO=Math.PI,PO=Math.cos,IO=Math.sin;hoe.exports={circle:{n:0,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=\"M\"+n+\",0A\"+n+\",\"+n+\" 0 1,1 0,-\"+n+\"A\"+n+\",\"+n+\" 0 0,1 \"+n+\",0Z\";return r?is(t,r,i):i}},square:{n:1,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"H-\"+n+\"V-\"+n+\"H\"+n+\"Z\")}},diamond:{n:2,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2);return is(t,r,\"M\"+n+\",0L0,\"+n+\"L-\"+n+\",0L0,-\"+n+\"Z\")}},cross:{n:3,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.4,2),i=Yn(e*1.2,2);return is(t,r,\"M\"+i+\",\"+n+\"H\"+n+\"V\"+i+\"H-\"+n+\"V\"+n+\"H-\"+i+\"V-\"+n+\"H-\"+n+\"V-\"+i+\"H\"+n+\"V-\"+n+\"H\"+i+\"Z\")}},x:{n:4,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.8/soe,2),i=\"l\"+n+\",\"+n,a=\"l\"+n+\",-\"+n,o=\"l-\"+n+\",-\"+n,s=\"l-\"+n+\",\"+n;return is(t,r,\"M0,\"+n+i+a+o+a+o+s+o+s+i+s+i+\"Z\")}},\"triangle-up\":{n:5,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/n_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M-\"+n+\",\"+i+\"H\"+n+\"L0,-\"+a+\"Z\")}},\"triangle-down\":{n:6,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/n_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M-\"+n+\",-\"+i+\"H\"+n+\"L0,\"+a+\"Z\")}},\"triangle-left\":{n:7,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/n_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M\"+i+\",-\"+n+\"V\"+n+\"L-\"+a+\",0Z\")}},\"triangle-right\":{n:8,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/n_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M-\"+i+\",-\"+n+\"V\"+n+\"L\"+a+\",0Z\")}},\"triangle-ne\":{n:9,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M-\"+i+\",-\"+n+\"H\"+n+\"V\"+i+\"Z\")}},\"triangle-se\":{n:10,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M\"+n+\",-\"+i+\"V\"+n+\"H-\"+i+\"Z\")}},\"triangle-sw\":{n:11,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M\"+i+\",\"+n+\"H-\"+n+\"V-\"+i+\"Z\")}},\"triangle-nw\":{n:12,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M-\"+n+\",\"+i+\"V-\"+n+\"H\"+i+\"Z\")}},pentagon:{n:13,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.951,2),i=Yn(e*.588,2),a=Yn(-e,2),o=Yn(e*-.309,2),s=Yn(e*.809,2);return is(t,r,\"M\"+n+\",\"+o+\"L\"+i+\",\"+s+\"H-\"+i+\"L-\"+n+\",\"+o+\"L0,\"+a+\"Z\")}},hexagon:{n:14,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/2,2),a=Yn(e*n_/2,2);return is(t,r,\"M\"+a+\",-\"+i+\"V\"+i+\"L0,\"+n+\"L-\"+a+\",\"+i+\"V-\"+i+\"L0,-\"+n+\"Z\")}},hexagon2:{n:15,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/2,2),a=Yn(e*n_/2,2);return is(t,r,\"M-\"+i+\",\"+a+\"H\"+i+\"L\"+n+\",0L\"+i+\",-\"+a+\"H-\"+i+\"L-\"+n+\",0Z\")}},octagon:{n:16,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.924,2),i=Yn(e*.383,2);return is(t,r,\"M-\"+i+\",-\"+n+\"H\"+i+\"L\"+n+\",-\"+i+\"V\"+i+\"L\"+i+\",\"+n+\"H-\"+i+\"L-\"+n+\",\"+i+\"V-\"+i+\"Z\")}},star:{n:17,f:function(e,t,r){if(rs(t))return ts;var n=e*1.4,i=Yn(n*.225,2),a=Yn(n*.951,2),o=Yn(n*.363,2),s=Yn(n*.588,2),l=Yn(-n,2),u=Yn(n*-.309,2),c=Yn(n*.118,2),f=Yn(n*.809,2),h=Yn(n*.382,2);return is(t,r,\"M\"+i+\",\"+u+\"H\"+a+\"L\"+o+\",\"+c+\"L\"+s+\",\"+f+\"L0,\"+h+\"L-\"+s+\",\"+f+\"L-\"+o+\",\"+c+\"L-\"+a+\",\"+u+\"H-\"+i+\"L0,\"+l+\"Z\")}},hexagram:{n:18,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.66,2),i=Yn(e*.38,2),a=Yn(e*.76,2);return is(t,r,\"M-\"+a+\",0l-\"+i+\",-\"+n+\"h\"+a+\"l\"+i+\",-\"+n+\"l\"+i+\",\"+n+\"h\"+a+\"l-\"+i+\",\"+n+\"l\"+i+\",\"+n+\"h-\"+a+\"l-\"+i+\",\"+n+\"l-\"+i+\",-\"+n+\"h-\"+a+\"Z\")}},\"star-triangle-up\":{n:19,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*n_*.8,2),i=Yn(e*.8,2),a=Yn(e*1.6,2),o=Yn(e*4,2),s=\"A \"+o+\",\"+o+\" 0 0 1 \";return is(t,r,\"M-\"+n+\",\"+i+s+n+\",\"+i+s+\"0,-\"+a+s+\"-\"+n+\",\"+i+\"Z\")}},\"star-triangle-down\":{n:20,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*n_*.8,2),i=Yn(e*.8,2),a=Yn(e*1.6,2),o=Yn(e*4,2),s=\"A \"+o+\",\"+o+\" 0 0 1 \";return is(t,r,\"M\"+n+\",-\"+i+s+\"-\"+n+\",-\"+i+s+\"0,\"+a+s+n+\",-\"+i+\"Z\")}},\"star-square\":{n:21,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.1,2),i=Yn(e*2,2),a=\"A \"+i+\",\"+i+\" 0 0 1 \";return is(t,r,\"M-\"+n+\",-\"+n+a+\"-\"+n+\",\"+n+a+n+\",\"+n+a+n+\",-\"+n+a+\"-\"+n+\",-\"+n+\"Z\")}},\"star-diamond\":{n:22,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2),i=Yn(e*1.9,2),a=\"A \"+i+\",\"+i+\" 0 0 1 \";return is(t,r,\"M-\"+n+\",0\"+a+\"0,\"+n+a+n+\",0\"+a+\"0,-\"+n+a+\"-\"+n+\",0Z\")}},\"diamond-tall\":{n:23,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.7,2),i=Yn(e*1.4,2);return is(t,r,\"M0,\"+i+\"L\"+n+\",0L0,-\"+i+\"L-\"+n+\",0Z\")}},\"diamond-wide\":{n:24,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2),i=Yn(e*.7,2);return is(t,r,\"M0,\"+i+\"L\"+n+\",0L0,-\"+i+\"L-\"+n+\",0Z\")}},hourglass:{n:25,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"H-\"+n+\"L\"+n+\",-\"+n+\"H-\"+n+\"Z\")},noDot:!0},bowtie:{n:26,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"V-\"+n+\"L-\"+n+\",\"+n+\"V-\"+n+\"Z\")},noDot:!0},\"circle-cross\":{n:27,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n+\"M\"+n+\",0A\"+n+\",\"+n+\" 0 1,1 0,-\"+n+\"A\"+n+\",\"+n+\" 0 0,1 \"+n+\",0Z\")},needLine:!0,noDot:!0},\"circle-x\":{n:28,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/soe,2);return is(t,r,\"M\"+i+\",\"+i+\"L-\"+i+\",-\"+i+\"M\"+i+\",-\"+i+\"L-\"+i+\",\"+i+\"M\"+n+\",0A\"+n+\",\"+n+\" 0 1,1 0,-\"+n+\"A\"+n+\",\"+n+\" 0 0,1 \"+n+\",0Z\")},needLine:!0,noDot:!0},\"square-cross\":{n:29,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n+\"M\"+n+\",\"+n+\"H-\"+n+\"V-\"+n+\"H\"+n+\"Z\")},needLine:!0,noDot:!0},\"square-x\":{n:30,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n+\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n+\"M\"+n+\",\"+n+\"H-\"+n+\"V-\"+n+\"H\"+n+\"Z\")},needLine:!0,noDot:!0},\"diamond-cross\":{n:31,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2);return is(t,r,\"M\"+n+\",0L0,\"+n+\"L-\"+n+\",0L0,-\"+n+\"ZM0,-\"+n+\"V\"+n+\"M-\"+n+\",0H\"+n)},needLine:!0,noDot:!0},\"diamond-x\":{n:32,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2),i=Yn(e*.65,2);return is(t,r,\"M\"+n+\",0L0,\"+n+\"L-\"+n+\",0L0,-\"+n+\"ZM-\"+i+\",-\"+i+\"L\"+i+\",\"+i+\"M-\"+i+\",\"+i+\"L\"+i+\",-\"+i)},needLine:!0,noDot:!0},\"cross-thin\":{n:33,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"x-thin\":{n:34,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n+\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n)},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*.85,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n+\"M\"+i+\",\"+i+\"L-\"+i+\",-\"+i+\"M\"+i+\",-\"+i+\"L-\"+i+\",\"+i)},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e/2,2),i=Yn(e,2);return is(t,r,\"M\"+n+\",\"+i+\"V-\"+i+\"M\"+(n-i)+\",-\"+i+\"V\"+i+\"M\"+i+\",\"+n+\"H-\"+i+\"M-\"+i+\",\"+(n-i)+\"H\"+i)},needLine:!0,noFill:!0},\"y-up\":{n:37,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M-\"+n+\",\"+a+\"L0,0M\"+n+\",\"+a+\"L0,0M0,-\"+i+\"L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"y-down\":{n:38,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M-\"+n+\",-\"+a+\"L0,0M\"+n+\",-\"+a+\"L0,0M0,\"+i+\"L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"y-left\":{n:39,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M\"+a+\",\"+n+\"L0,0M\"+a+\",-\"+n+\"L0,0M-\"+i+\",0L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"y-right\":{n:40,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M-\"+a+\",\"+n+\"L0,0M-\"+a+\",-\"+n+\"L0,0M\"+i+\",0L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"line-ew\":{n:41,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,\"M\"+n+\",0H-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"line-ns\":{n:42,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,\"M0,\"+n+\"V-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"line-ne\":{n:43,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n)},needLine:!0,noDot:!0,noFill:!0},\"line-nw\":{n:44,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"arrow-up\":{n:45,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M0,0L-\"+n+\",\"+i+\"H\"+n+\"Z\")},backoff:1,noDot:!0},\"arrow-down\":{n:46,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M0,0L-\"+n+\",-\"+i+\"H\"+n+\"Z\")},noDot:!0},\"arrow-left\":{n:47,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,0L\"+n+\",-\"+i+\"V\"+i+\"Z\")},noDot:!0},\"arrow-right\":{n:48,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,0L-\"+n+\",-\"+i+\"V\"+i+\"Z\")},noDot:!0},\"arrow-bar-up\":{n:49,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M-\"+n+\",0H\"+n+\"M0,0L-\"+n+\",\"+i+\"H\"+n+\"Z\")},backoff:1,needLine:!0,noDot:!0},\"arrow-bar-down\":{n:50,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M-\"+n+\",0H\"+n+\"M0,0L-\"+n+\",-\"+i+\"H\"+n+\"Z\")},needLine:!0,noDot:!0},\"arrow-bar-left\":{n:51,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,-\"+i+\"V\"+i+\"M0,0L\"+n+\",-\"+i+\"V\"+i+\"Z\")},needLine:!0,noDot:!0},\"arrow-bar-right\":{n:52,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,-\"+i+\"V\"+i+\"M0,0L-\"+n+\",-\"+i+\"V\"+i+\"Z\")},needLine:!0,noDot:!0},arrow:{n:53,f:function(e,t,r){if(rs(t))return ts;var n=LO/2.5,i=2*e*PO(n),a=2*e*IO(n);return is(t,r,\"M0,0L\"+-i+\",\"+a+\"L\"+i+\",\"+a+\"Z\")},backoff:.9,noDot:!0},\"arrow-wide\":{n:54,f:function(e,t,r){if(rs(t))return ts;var n=LO/4,i=2*e*PO(n),a=2*e*IO(n);return is(t,r,\"M0,0L\"+-i+\",\"+a+\"A \"+2*e+\",\"+2*e+\" 0 0 1 \"+i+\",\"+a+\"Z\")},backoff:.4,noDot:!0}};function rs(e){return e===null}var loe,uoe,coe,foe;function is(e,t,r){if((!e||e%360===0)&&!t)return r;if(coe===e&&foe===t&&loe===r)return uoe;coe=e,foe=t,loe=r;function n(b,p){var E=PO(b),k=IO(b),A=p[0],L=p[1]+(t||0);return[A*E-L*k,A*k+L*E]}for(var i=e/180*LO,a=0,o=0,s=fat(r),l=\"\",u=0;u<s.length;u++){var c=s[u],f=c[0],h=a,d=o;if(f===\"M\"||f===\"L\")a=+c[1],o=+c[2];else if(f===\"m\"||f===\"l\")a+=+c[1],o+=+c[2];else if(f===\"H\")a=+c[1];else if(f===\"h\")a+=+c[1];else if(f===\"V\")o=+c[1];else if(f===\"v\")o+=+c[1];else if(f===\"A\"){a=+c[1],o=+c[2];var v=n(i,[+c[6],+c[7]]);c[6]=v[0],c[7]=v[1],c[3]=+c[3]+e}(f===\"H\"||f===\"V\")&&(f=\"L\"),(f===\"h\"||f===\"v\")&&(f=\"l\"),(f===\"m\"||f===\"l\")&&(a-=h,o-=d);var x=n(i,[a,o]);(f===\"H\"||f===\"V\")&&(f=\"L\"),(f===\"M\"||f===\"L\"||f===\"m\"||f===\"l\")&&(c[1]=x[0],c[2]=x[1]),c[0]=f,l+=c[0]+c.slice(1).join(\",\")}return uoe=l,l}});var ao=ye((_rr,Roe)=>{\"use strict\";var od=xa(),du=Mr(),hat=du.numberFormat,Ab=uo(),OO=id(),tL=ba(),Xd=va(),dat=Mu(),KS=du.strTranslate,rL=Pl(),vat=Zp(),pat=Nh(),gat=pat.LINE_SPACING,Toe=U1().DESELECTDIM,mat=lu(),yat=S3(),_at=rp().appendArrayPointValue,na=Roe.exports={};na.font=function(e,t){var r=t.variant,n=t.style,i=t.weight,a=t.color,o=t.size,s=t.family,l=t.shadow,u=t.lineposition,c=t.textcase;s&&e.style(\"font-family\",s),o+1&&e.style(\"font-size\",o+\"px\"),a&&e.call(Xd.fill,a),i&&e.style(\"font-weight\",i),n&&e.style(\"font-style\",n),r&&e.style(\"font-variant\",r),c&&e.style(\"text-transform\",RO(bat(c))),l&&e.style(\"text-shadow\",l===\"auto\"?rL.makeTextShadow(Xd.contrast(a)):RO(l)),u&&e.style(\"text-decoration-line\",RO(wat(u)))};function RO(e){return e===\"none\"?void 0:e}var xat={normal:\"none\",lower:\"lowercase\",upper:\"uppercase\",\"word caps\":\"capitalize\"};function bat(e){return xat[e]}function wat(e){return e.replace(\"under\",\"underline\").replace(\"over\",\"overline\").replace(\"through\",\"line-through\").split(\"+\").join(\" \")}na.setPosition=function(e,t,r){e.attr(\"x\",t).attr(\"y\",r)};na.setSize=function(e,t,r){e.attr(\"width\",t).attr(\"height\",r)};na.setRect=function(e,t,r,n,i){e.call(na.setPosition,t,r).call(na.setSize,n,i)};na.translatePoint=function(e,t,r,n){var i=r.c2p(e.x),a=n.c2p(e.y);if(Ab(i)&&Ab(a)&&t.node())t.node().nodeName===\"text\"?t.attr(\"x\",i).attr(\"y\",a):t.attr(\"transform\",KS(i,a));else return!1;return!0};na.translatePoints=function(e,t,r){e.each(function(n){var i=od.select(this);na.translatePoint(n,i,t,r)})};na.hideOutsideRangePoint=function(e,t,r,n,i,a){t.attr(\"display\",r.isPtWithinRange(e,i)&&n.isPtWithinRange(e,a)?null:\"none\")};na.hideOutsideRangePoints=function(e,t){if(t._hasClipOnAxisFalse){var r=t.xaxis,n=t.yaxis;e.each(function(i){var a=i[0].trace,o=a.xcalendar,s=a.ycalendar,l=tL.traceIs(a,\"bar-like\")?\".bartext\":\".point,.textpoint\";e.selectAll(l).each(function(u){na.hideOutsideRangePoint(u,od.select(this),r,n,o,s)})})}};na.crispRound=function(e,t,r){return!t||!Ab(t)?r||0:e._context.staticPlot?t:t<1?1:Math.round(t)};na.singleLineStyle=function(e,t,r,n,i){t.style(\"fill\",\"none\");var a=(((e||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||\"\";Xd.stroke(t,n||a.color),na.dashLine(t,s,o)};na.lineGroupStyle=function(e,t,r,n){e.style(\"fill\",\"none\").each(function(i){var a=(((i||[])[0]||{}).trace||{}).line||{},o=t||a.width||0,s=n||a.dash||\"\";od.select(this).call(Xd.stroke,r||a.color).call(na.dashLine,s,o)})};na.dashLine=function(e,t,r){r=+r||0,t=na.dashStyle(t,r),e.style({\"stroke-dasharray\":t,\"stroke-width\":r+\"px\"})};na.dashStyle=function(e,t){t=+t||1;var r=Math.max(t,3);return e===\"solid\"?e=\"\":e===\"dot\"?e=r+\"px,\"+r+\"px\":e===\"dash\"?e=3*r+\"px,\"+3*r+\"px\":e===\"longdash\"?e=5*r+\"px,\"+5*r+\"px\":e===\"dashdot\"?e=3*r+\"px,\"+r+\"px,\"+r+\"px,\"+r+\"px\":e===\"longdashdot\"&&(e=5*r+\"px,\"+2*r+\"px,\"+r+\"px,\"+2*r+\"px\"),e};function Aoe(e,t,r,n){var i=t.fillpattern,a=t.fillgradient,o=i&&na.getPatternAttr(i.shape,0,\"\");if(o){var s=na.getPatternAttr(i.bgcolor,0,null),l=na.getPatternAttr(i.fgcolor,0,null),u=i.fgopacity,c=na.getPatternAttr(i.size,0,8),f=na.getPatternAttr(i.solidity,0,.3),h=t.uid;na.pattern(e,\"point\",r,h,o,c,f,void 0,i.fillmode,s,l,u)}else if(a&&a.type!==\"none\"){var d=a.type,v=\"scatterfill-\"+t.uid;if(n&&(v=\"legendfill-\"+t.uid),!n&&(a.start!==void 0||a.stop!==void 0)){var x,b;d===\"horizontal\"?(x={x:a.start,y:0},b={x:a.stop,y:0}):d===\"vertical\"&&(x={x:0,y:a.start},b={x:0,y:a.stop}),x.x=t._xA.c2p(x.x===void 0?t._extremes.x.min[0].val:x.x,!0),x.y=t._yA.c2p(x.y===void 0?t._extremes.y.min[0].val:x.y,!0),b.x=t._xA.c2p(b.x===void 0?t._extremes.x.max[0].val:b.x,!0),b.y=t._yA.c2p(b.y===void 0?t._extremes.y.max[0].val:b.y,!0),e.call(Eoe,r,v,\"linear\",a.colorscale,\"fill\",x,b,!0,!1)}else d===\"horizontal\"&&(d=d+\"reversed\"),e.call(na.gradient,r,v,d,a.colorscale,\"fill\")}else t.fillcolor&&e.call(Xd.fill,t.fillcolor)}na.singleFillStyle=function(e,t){var r=od.select(e.node()),n=r.data(),i=((n[0]||[])[0]||{}).trace||{};Aoe(e,i,t,!1)};na.fillGroupStyle=function(e,t,r){e.style(\"stroke-width\",0).each(function(n){var i=od.select(this);n[0].trace&&Aoe(i,n[0].trace,t,r)})};var voe=doe();na.symbolNames=[];na.symbolFuncs=[];na.symbolBackOffs=[];na.symbolNeedLines={};na.symbolNoDot={};na.symbolNoFill={};na.symbolList=[];Object.keys(voe).forEach(function(e){var t=voe[e],r=t.n;na.symbolList.push(r,String(r),e,r+100,String(r+100),e+\"-open\"),na.symbolNames[r]=e,na.symbolFuncs[r]=t.f,na.symbolBackOffs[r]=t.backoff||0,t.needLine&&(na.symbolNeedLines[r]=!0),t.noDot?na.symbolNoDot[r]=!0:na.symbolList.push(r+200,String(r+200),e+\"-dot\",r+300,String(r+300),e+\"-open-dot\"),t.noFill&&(na.symbolNoFill[r]=!0)});var Tat=na.symbolNames.length,Aat=\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\";na.symbolNumber=function(e){if(Ab(e))e=+e;else if(typeof e==\"string\"){var t=0;e.indexOf(\"-open\")>0&&(t=100,e=e.replace(\"-open\",\"\")),e.indexOf(\"-dot\")>0&&(t+=200,e=e.replace(\"-dot\",\"\")),e=na.symbolNames.indexOf(e),e>=0&&(e+=t)}return e%100>=Tat||e>=400?0:Math.floor(Math.max(e,0))};function Soe(e,t,r,n){var i=e%100;return na.symbolFuncs[i](t,r,n)+(e>=200?Aat:\"\")}var poe=hat(\"~f\"),Moe={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}};na.gradient=function(e,t,r,n,i,a){var o=Moe[n];return Eoe(e,t,r,o.type,i,a,o.start,o.stop,!1,o.reversed)};function Eoe(e,t,r,n,i,a,o,s,l,u){var c=i.length,f;n===\"linear\"?f={node:\"linearGradient\",attrs:{x1:o.x,y1:o.y,x2:s.x,y2:s.y,gradientUnits:l?\"userSpaceOnUse\":\"objectBoundingBox\"},reversed:u}:n===\"radial\"&&(f={node:\"radialGradient\",reversed:u});for(var h=new Array(c),d=0;d<c;d++)f.reversed?h[c-1-d]=[poe((1-i[d][0])*100),i[d][1]]:h[d]=[poe(i[d][0]*100),i[d][1]];var v=t._fullLayout,x=\"g\"+v._uid+\"-\"+r,b=v._defs.select(\".gradients\").selectAll(\"#\"+x).data([n+h.join(\";\")],du.identity);b.exit().remove(),b.enter().append(f.node).each(function(){var p=od.select(this);f.attrs&&p.attr(f.attrs),p.attr(\"id\",x);var E=p.selectAll(\"stop\").data(h);E.exit().remove(),E.enter().append(\"stop\"),E.each(function(k){var A=OO(k[1]);od.select(this).attr({offset:k[0]+\"%\",\"stop-color\":Xd.tinyRGB(A),\"stop-opacity\":A.getAlpha()})})}),e.style(a,BO(x,t)).style(a+\"-opacity\",null),e.classed(\"gradient_filled\",!0)}na.pattern=function(e,t,r,n,i,a,o,s,l,u,c,f){var h=t===\"legend\";s&&(l===\"overlay\"?(u=s,c=Xd.contrast(u)):(u=void 0,c=s));var d=r._fullLayout,v=\"p\"+d._uid+\"-\"+n,x,b,p=function(q,V,H,X,G){return X+(G-X)*(q-V)/(H-V)},E,k,A,L,_={},C=OO(c),M=Xd.tinyRGB(C),g=C.getAlpha(),P=f*g;switch(i){case\"/\":x=a*Math.sqrt(2),b=a*Math.sqrt(2),E=\"M-\"+x/4+\",\"+b/4+\"l\"+x/2+\",-\"+b/2+\"M0,\"+b+\"L\"+x+\",0M\"+x/4*3+\",\"+b/4*5+\"l\"+x/2+\",-\"+b/2,k=o*a,L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"\\\\\":x=a*Math.sqrt(2),b=a*Math.sqrt(2),E=\"M\"+x/4*3+\",-\"+b/4+\"l\"+x/2+\",\"+b/2+\"M0,0L\"+x+\",\"+b+\"M-\"+x/4+\",\"+b/4*3+\"l\"+x/2+\",\"+b/2,k=o*a,L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"x\":x=a*Math.sqrt(2),b=a*Math.sqrt(2),E=\"M-\"+x/4+\",\"+b/4+\"l\"+x/2+\",-\"+b/2+\"M0,\"+b+\"L\"+x+\",0M\"+x/4*3+\",\"+b/4*5+\"l\"+x/2+\",-\"+b/2+\"M\"+x/4*3+\",-\"+b/4+\"l\"+x/2+\",\"+b/2+\"M0,0L\"+x+\",\"+b+\"M-\"+x/4+\",\"+b/4*3+\"l\"+x/2+\",\"+b/2,k=a-a*Math.sqrt(1-o),L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"|\":x=a,b=a,L=\"path\",E=\"M\"+x/2+\",0L\"+x/2+\",\"+b,k=o*a,L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"-\":x=a,b=a,L=\"path\",E=\"M0,\"+b/2+\"L\"+x+\",\"+b/2,k=o*a,L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"+\":x=a,b=a,L=\"path\",E=\"M\"+x/2+\",0L\"+x/2+\",\"+b+\"M0,\"+b/2+\"L\"+x+\",\"+b/2,k=a-a*Math.sqrt(1-o),L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\".\":x=a,b=a,o<Math.PI/4?A=Math.sqrt(o*a*a/Math.PI):A=p(o,Math.PI/4,1,a/2,a/Math.sqrt(2)),L=\"circle\",_={cx:x/2,cy:b/2,r:A,opacity:P,fill:M};break}var T=[i||\"noSh\",u||\"noBg\",c||\"noFg\",a,o].join(\";\"),F=d._defs.select(\".patterns\").selectAll(\"#\"+v).data([T],du.identity);F.exit().remove(),F.enter().append(\"pattern\").each(function(){var q=od.select(this);if(q.attr({id:v,width:x+\"px\",height:b+\"px\",patternUnits:\"userSpaceOnUse\",patternTransform:h?\"scale(0.8)\":\"\"}),u){var V=OO(u),H=Xd.tinyRGB(V),X=V.getAlpha(),G=q.selectAll(\"rect\").data([0]);G.exit().remove(),G.enter().append(\"rect\").attr({width:x+\"px\",height:b+\"px\",fill:H,\"fill-opacity\":X})}var N=q.selectAll(L).data([0]);N.exit().remove(),N.enter().append(L).attr(_)}),e.style(\"fill\",BO(v,r)).style(\"fill-opacity\",null),e.classed(\"pattern_filled\",!0)};na.initGradients=function(e){var t=e._fullLayout,r=du.ensureSingle(t._defs,\"g\",\"gradients\");r.selectAll(\"linearGradient,radialGradient\").remove(),od.select(e).selectAll(\".gradient_filled\").classed(\"gradient_filled\",!1)};na.initPatterns=function(e){var t=e._fullLayout,r=du.ensureSingle(t._defs,\"g\",\"patterns\");r.selectAll(\"pattern\").remove(),od.select(e).selectAll(\".pattern_filled\").classed(\"pattern_filled\",!1)};na.getPatternAttr=function(e,t,r){return e&&du.isArrayOrTypedArray(e)?t<e.length?e[t]:r:e};na.pointStyle=function(e,t,r,n){if(e.size()){var i=na.makePointStyleFns(t);e.each(function(a){na.singlePointStyle(a,od.select(this),t,i,r,n)})}};na.singlePointStyle=function(e,t,r,n,i,a){var o=r.marker,s=o.line;if(a&&a.i>=0&&e.i===void 0&&(e.i=a.i),t.style(\"opacity\",n.selectedOpacityFn?n.selectedOpacityFn(e):e.mo===void 0?o.opacity:e.mo),n.ms2mrc){var l;e.ms===\"various\"||o.size===\"various\"?l=3:l=n.ms2mrc(e.ms),e.mrc=l,n.selectedSizeFn&&(l=e.mrc=n.selectedSizeFn(e));var u=na.symbolNumber(e.mx||o.symbol)||0;e.om=u%200>=100;var c=UO(e,r),f=NO(e,r);t.attr(\"d\",Soe(u,l,c,f))}var h=!1,d,v,x;if(e.so)x=s.outlierwidth,v=s.outliercolor,d=o.outliercolor;else{var b=(s||{}).width;x=(e.mlw+1||b+1||(e.trace?(e.trace.marker.line||{}).width:0)+1)-1||0,\"mlc\"in e?v=e.mlcc=n.lineScale(e.mlc):du.isArrayOrTypedArray(s.color)?v=Xd.defaultLine:v=s.color,du.isArrayOrTypedArray(o.color)&&(d=Xd.defaultLine,h=!0),\"mc\"in e?d=e.mcc=n.markerScale(e.mc):d=o.color||o.colors||\"rgba(0,0,0,0)\",n.selectedColorFn&&(d=n.selectedColorFn(e))}if(e.om)t.call(Xd.stroke,d).style({\"stroke-width\":(x||1)+\"px\",fill:\"none\"});else{t.style(\"stroke-width\",(e.isBlank?0:x)+\"px\");var p=o.gradient,E=e.mgt;E?h=!0:E=p&&p.type,du.isArrayOrTypedArray(E)&&(E=E[0],Moe[E]||(E=0));var k=o.pattern,A=k&&na.getPatternAttr(k.shape,e.i,\"\");if(E&&E!==\"none\"){var L=e.mgc;L?h=!0:L=p.color;var _=r.uid;h&&(_+=\"-\"+e.i),na.gradient(t,i,_,E,[[0,L],[1,d]],\"fill\")}else if(A){var C=!1,M=k.fgcolor;!M&&a&&a.color&&(M=a.color,C=!0);var g=na.getPatternAttr(M,e.i,a&&a.color||null),P=na.getPatternAttr(k.bgcolor,e.i,null),T=k.fgopacity,F=na.getPatternAttr(k.size,e.i,8),q=na.getPatternAttr(k.solidity,e.i,.3);C=C||e.mcc||du.isArrayOrTypedArray(k.shape)||du.isArrayOrTypedArray(k.bgcolor)||du.isArrayOrTypedArray(k.fgcolor)||du.isArrayOrTypedArray(k.size)||du.isArrayOrTypedArray(k.solidity);var V=r.uid;C&&(V+=\"-\"+e.i),na.pattern(t,\"point\",i,V,A,F,q,e.mcc,k.fillmode,P,g,T)}else du.isArrayOrTypedArray(d)?Xd.fill(t,d[e.i]):Xd.fill(t,d);x&&Xd.stroke(t,v)}};na.makePointStyleFns=function(e){var t={},r=e.marker;return t.markerScale=na.tryColorscale(r,\"\"),t.lineScale=na.tryColorscale(r,\"line\"),tL.traceIs(e,\"symbols\")&&(t.ms2mrc=mat.isBubble(e)?yat(e):function(){return(r.size||6)/2}),e.selectedpoints&&du.extendFlat(t,na.makeSelectedPointStyleFns(e)),t};na.makeSelectedPointStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.marker||{},a=r.marker||{},o=n.marker||{},s=i.opacity,l=a.opacity,u=o.opacity,c=l!==void 0,f=u!==void 0;(du.isArrayOrTypedArray(s)||c||f)&&(t.selectedOpacityFn=function(A){var L=A.mo===void 0?i.opacity:A.mo;return A.selected?c?l:L:f?u:Toe*L});var h=i.color,d=a.color,v=o.color;(d||v)&&(t.selectedColorFn=function(A){var L=A.mcc||h;return A.selected?d||L:v||L});var x=i.size,b=a.size,p=o.size,E=b!==void 0,k=p!==void 0;return tL.traceIs(e,\"symbols\")&&(E||k)&&(t.selectedSizeFn=function(A){var L=A.mrc||x/2;return A.selected?E?b/2:L:k?p/2:L}),t};na.makeSelectedTextStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,u=o.color;return t.selectedTextColorFn=function(c){var f=c.tc||s;return c.selected?l||f:u||(l?f:Xd.addOpacity(f,Toe))},t};na.selectedPointStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=na.makeSelectedPointStyleFns(t),n=t.marker||{},i=[];r.selectedOpacityFn&&i.push(function(a,o){a.style(\"opacity\",r.selectedOpacityFn(o))}),r.selectedColorFn&&i.push(function(a,o){Xd.fill(a,r.selectedColorFn(o))}),r.selectedSizeFn&&i.push(function(a,o){var s=o.mx||n.symbol||0,l=r.selectedSizeFn(o);a.attr(\"d\",Soe(na.symbolNumber(s),l,UO(o,t),NO(o,t))),o.mrc2=l}),i.length&&e.each(function(a){for(var o=od.select(this),s=0;s<i.length;s++)i[s](o,a)})}};na.tryColorscale=function(e,t){var r=t?du.nestedProperty(e,t).get():e;if(r){var n=r.color;if((r.colorscale||r._colorAx)&&du.isArrayOrTypedArray(n))return dat.makeColorScaleFuncFromTrace(r)}return du.identity};var DO={start:1,end:-1,middle:0,bottom:1,top:-1};function koe(e,t,r,n,i){var a=od.select(e.node().parentNode),o=t.indexOf(\"top\")!==-1?\"top\":t.indexOf(\"bottom\")!==-1?\"bottom\":\"middle\",s=t.indexOf(\"left\")!==-1?\"end\":t.indexOf(\"right\")!==-1?\"start\":\"middle\",l=n?n/.8+1:0,u=(rL.lineCount(e)-1)*gat+1,c=DO[s]*l,f=r*.75+DO[o]*l+(DO[o]-1)*u*r/2;e.attr(\"text-anchor\",s),i||a.attr(\"transform\",KS(c,f))}function Coe(e,t){var r=e.ts||t.textfont.size;return Ab(r)&&r>0?r:0}na.textPointStyle=function(e,t,r){if(e.size()){var n;if(t.selectedpoints){var i=na.makeSelectedTextStyleFns(t);n=i.selectedTextColorFn}var a=t.texttemplate,o=r._fullLayout;e.each(function(s){var l=od.select(this),u=a?du.extractOption(s,t,\"txt\",\"texttemplate\"):du.extractOption(s,t,\"tx\",\"text\");if(!u&&u!==0){l.remove();return}if(a){var c=t._module.formatLabels,f=c?c(s,t,o):{},h={};_at(h,t,s.i);var d=t._meta||{};u=du.texttemplateString(u,f,o._d3locale,h,s,d)}var v=s.tp||t.textposition,x=Coe(s,t),b=n?n(s):s.tc||t.textfont.color;l.call(na.font,{family:s.tf||t.textfont.family,weight:s.tw||t.textfont.weight,style:s.ty||t.textfont.style,variant:s.tv||t.textfont.variant,textcase:s.tC||t.textfont.textcase,lineposition:s.tE||t.textfont.lineposition,shadow:s.tS||t.textfont.shadow,size:x,color:b}).text(u).call(rL.convertToTspans,r).call(koe,v,x,s.mrc)})}};na.selectedTextStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=na.makeSelectedTextStyleFns(t);e.each(function(n){var i=od.select(this),a=r.selectedTextColorFn(n),o=n.tp||t.textposition,s=Coe(n,t);Xd.fill(i,a);var l=tL.traceIs(t,\"bar-like\");koe(i,o,s,n.mrc2||n.mrc,l)})}};var goe=.5;na.smoothopen=function(e,t){if(e.length<3)return\"M\"+e.join(\"L\");var r=\"M\"+e[0],n=[],i;for(i=1;i<e.length-1;i++)n.push(eL(e[i-1],e[i],e[i+1],t));for(r+=\"Q\"+n[0][0]+\" \"+e[1],i=2;i<e.length-1;i++)r+=\"C\"+n[i-2][1]+\" \"+n[i-1][0]+\" \"+e[i];return r+=\"Q\"+n[e.length-3][1]+\" \"+e[e.length-1],r};na.smoothclosed=function(e,t){if(e.length<3)return\"M\"+e.join(\"L\")+\"Z\";var r=\"M\"+e[0],n=e.length-1,i=[eL(e[n],e[0],e[1],t)],a;for(a=1;a<n;a++)i.push(eL(e[a-1],e[a],e[a+1],t));for(i.push(eL(e[n-1],e[n],e[0],t)),a=1;a<=n;a++)r+=\"C\"+i[a-1][1]+\" \"+i[a][0]+\" \"+e[a];return r+=\"C\"+i[n][1]+\" \"+i[0][0]+\" \"+e[0]+\"Z\",r};var Loe,Poe;function M3(e,t,r){return r&&(e=Ioe(e)),t?Tb(e[1]):wb(e[0])}function wb(e){var t=od.round(e,2);return Loe=t,t}function Tb(e){var t=od.round(e,2);return Poe=t,t}function eL(e,t,r,n){var i=e[0]-t[0],a=e[1]-t[1],o=r[0]-t[0],s=r[1]-t[1],l=Math.pow(i*i+a*a,goe/2),u=Math.pow(o*o+s*s,goe/2),c=(u*u*i-l*l*o)*n,f=(u*u*a-l*l*s)*n,h=3*u*(l+u),d=3*l*(l+u);return[[wb(t[0]+(h&&c/h)),Tb(t[1]+(h&&f/h))],[wb(t[0]-(d&&c/d)),Tb(t[1]-(d&&f/d))]]}var Sat={hv:function(e,t,r){return\"H\"+wb(t[0])+\"V\"+M3(t,1,r)},vh:function(e,t,r){return\"V\"+Tb(t[1])+\"H\"+M3(t,0,r)},hvh:function(e,t,r){return\"H\"+wb((e[0]+t[0])/2)+\"V\"+Tb(t[1])+\"H\"+M3(t,0,r)},vhv:function(e,t,r){return\"V\"+Tb((e[1]+t[1])/2)+\"H\"+wb(t[0])+\"V\"+M3(t,1,r)}},Mat=function(e,t,r){return\"L\"+M3(t,0,r)+\",\"+M3(t,1,r)};na.steps=function(e){var t=Sat[e]||Mat;return function(r){for(var n=\"M\"+wb(r[0][0])+\",\"+Tb(r[0][1]),i=r.length,a=1;a<i;a++)n+=t(r[a-1],r[a],a===i-1);return n}};function Ioe(e,t){var r=e.backoff,n=e.trace,i=e.d,a=e.i;if(r&&n&&n.marker&&n.marker.angle%360===0&&n.line&&n.line.shape!==\"spline\"){var o=du.isArrayOrTypedArray(r),s=e,l=t?t[0]:Loe||0,u=t?t[1]:Poe||0,c=s[0],f=s[1],h=c-l,d=f-u,v=Math.atan2(d,h),x=o?r[a]:r;if(x===\"auto\"){var b=s.i;n.type===\"scatter\"&&b--;var p=s.marker,E=p.symbol;du.isArrayOrTypedArray(E)&&(E=E[b]);var k=p.size;du.isArrayOrTypedArray(k)&&(k=k[b]),x=p?na.symbolBackOffs[na.symbolNumber(E)]*k:0,x+=na.getMarkerStandoff(i[b],n)||0}var A=c-x*Math.cos(v),L=f-x*Math.sin(v);(A<=c&&A>=l||A>=c&&A<=l)&&(L<=f&&L>=u||L>=f&&L<=u)&&(e=[A,L])}return e}na.applyBackoff=Ioe;na.makeTester=function(){var e=du.ensureSingleById(od.select(\"body\"),\"svg\",\"js-plotly-tester\",function(r){r.attr(vat.svgAttrs).style({position:\"absolute\",left:\"-10000px\",top:\"-10000px\",width:\"9000px\",height:\"9000px\",\"z-index\":\"1\"})}),t=du.ensureSingle(e,\"path\",\"js-reference-point\",function(r){r.attr(\"d\",\"M0,0H1V1H0Z\").style({\"stroke-width\":0,fill:\"black\"})});na.tester=e,na.testref=t};na.savedBBoxes={};var zO=0,Eat=1e4;na.bBox=function(e,t,r){r||(r=moe(e));var n;if(r){if(n=na.savedBBoxes[r],n)return du.extendFlat({},n)}else if(e.childNodes.length===1){var i=e.childNodes[0];if(r=moe(i),r){var a=+i.getAttribute(\"x\")||0,o=+i.getAttribute(\"y\")||0,s=i.getAttribute(\"transform\");if(!s){var l=na.bBox(i,!1,r);return a&&(l.left+=a,l.right+=a),o&&(l.top+=o,l.bottom+=o),l}if(r+=\"~\"+a+\"~\"+o+\"~\"+s,n=na.savedBBoxes[r],n)return du.extendFlat({},n)}}var u,c;t?u=e:(c=na.tester.node(),u=e.cloneNode(!0),c.appendChild(u)),od.select(u).attr(\"transform\",null).call(rL.positionText,0,0);var f=u.getBoundingClientRect(),h=na.testref.node().getBoundingClientRect();t||c.removeChild(u);var d={height:f.height,width:f.width,left:f.left-h.left,top:f.top-h.top,right:f.right-h.left,bottom:f.bottom-h.top};return zO>=Eat&&(na.savedBBoxes={},zO=0),r&&(na.savedBBoxes[r]=d),zO++,du.extendFlat({},d)};function moe(e){var t=e.getAttribute(\"data-unformatted\");if(t!==null)return t+e.getAttribute(\"data-math\")+e.getAttribute(\"text-anchor\")+e.getAttribute(\"style\")}na.setClipUrl=function(e,t,r){e.attr(\"clip-path\",BO(t,r))};function BO(e,t){if(!e)return null;var r=t._context,n=r._exportedPlot?\"\":r._baseUrl||\"\";return n?\"url('\"+n+\"#\"+e+\"')\":\"url(#\"+e+\")\"}na.getTranslate=function(e){var t=/.*\\btranslate\\((-?\\d*\\.?\\d*)[^-\\d]*(-?\\d*\\.?\\d*)[^\\d].*/,r=e.attr?\"attr\":\"getAttribute\",n=e[r](\"transform\")||\"\",i=n.replace(t,function(a,o,s){return[o,s].join(\" \")}).split(\" \");return{x:+i[0]||0,y:+i[1]||0}};na.setTranslate=function(e,t,r){var n=/(\\btranslate\\(.*?\\);?)/,i=e.attr?\"attr\":\"getAttribute\",a=e.attr?\"attr\":\"setAttribute\",o=e[i](\"transform\")||\"\";return t=t||0,r=r||0,o=o.replace(n,\"\").trim(),o+=KS(t,r),o=o.trim(),e[a](\"transform\",o),o};na.getScale=function(e){var t=/.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/,r=e.attr?\"attr\":\"getAttribute\",n=e[r](\"transform\")||\"\",i=n.replace(t,function(a,o,s){return[o,s].join(\" \")}).split(\" \");return{x:+i[0]||1,y:+i[1]||1}};na.setScale=function(e,t,r){var n=/(\\bscale\\(.*?\\);?)/,i=e.attr?\"attr\":\"getAttribute\",a=e.attr?\"attr\":\"setAttribute\",o=e[i](\"transform\")||\"\";return t=t||1,r=r||1,o=o.replace(n,\"\").trim(),o+=\"scale(\"+t+\",\"+r+\")\",o=o.trim(),e[a](\"transform\",o),o};var kat=/\\s*sc.*/;na.setPointGroupScale=function(e,t,r){if(t=t||1,r=r||1,!!e){var n=t===1&&r===1?\"\":\"scale(\"+t+\",\"+r+\")\";e.each(function(){var i=(this.getAttribute(\"transform\")||\"\").replace(kat,\"\");i+=n,i=i.trim(),this.setAttribute(\"transform\",i)})}};var Cat=/translate\\([^)]*\\)\\s*$/;na.setTextPointsScale=function(e,t,r){e&&e.each(function(){var n,i=od.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(Cat);t===1&&r===1?n=[]:n=[KS(o,s),\"scale(\"+t+\",\"+r+\")\",KS(-o,-s)],l&&n.push(l),i.attr(\"transform\",n.join(\"\"))}})};function NO(e,t){var r;return e&&(r=e.mf),r===void 0&&(r=t.marker&&t.marker.standoff||0),!t._geo&&!t._xA?-r:r}na.getMarkerStandoff=NO;var YS=Math.atan2,bb=Math.cos,E3=Math.sin;function yoe(e,t){var r=t[0],n=t[1];return[r*bb(e)-n*E3(e),r*E3(e)+n*bb(e)]}var _oe,xoe,boe,woe,FO,qO;function UO(e,t){var r=e.ma;r===void 0&&(r=t.marker.angle,(!r||du.isArrayOrTypedArray(r))&&(r=0));var n,i,a=t.marker.angleref;if(a===\"previous\"||a===\"north\"){if(t._geo){var o=t._geo.project(e.lonlat);n=o[0],i=o[1]}else{var s=t._xA,l=t._yA;if(s&&l)n=s.c2p(e.x),i=l.c2p(e.y);else return 90}if(t._geo){var u=e.lonlat[0],c=e.lonlat[1],f=t._geo.project([u,c+1e-5]),h=t._geo.project([u+1e-5,c]),d=YS(h[1]-i,h[0]-n),v=YS(f[1]-i,f[0]-n),x;if(a===\"north\")x=r/180*Math.PI;else if(a===\"previous\"){var b=u/180*Math.PI,p=c/180*Math.PI,E=_oe/180*Math.PI,k=xoe/180*Math.PI,A=E-b,L=bb(k)*E3(A),_=E3(k)*bb(p)-bb(k)*E3(p)*bb(A);x=-YS(L,_)-Math.PI,_oe=u,xoe=c}var C=yoe(d,[bb(x),0]),M=yoe(v,[E3(x),0]);r=YS(C[1]+M[1],C[0]+M[0])/Math.PI*180,a===\"previous\"&&!(qO===t.uid&&e.i===FO+1)&&(r=null)}if(a===\"previous\"&&!t._geo)if(qO===t.uid&&e.i===FO+1&&Ab(n)&&Ab(i)){var g=n-boe,P=i-woe,T=t.line&&t.line.shape||\"\",F=T.slice(T.length-1);F===\"h\"&&(P=0),F===\"v\"&&(g=0),r+=YS(P,g)/Math.PI*180+90}else r=null}return boe=n,woe=i,FO=e.i,qO=t.uid,r}na.getMarkerAngle=UO});var Mb=ye((xrr,qoe)=>{\"use strict\";var k3=xa(),Lat=uo(),Pat=Xu(),VO=ba(),Sb=Mr(),Doe=Sb.strTranslate,iL=ao(),nL=va(),C3=Pl(),zoe=U1(),Iat=Nh().OPPOSITE_SIDE,Foe=/ [XY][0-9]* /,HO=1.6,GO=1.6;function Rat(e,t,r){var n=e._fullLayout,i=r.propContainer,a=r.propName,o=r.placeholder,s=r.traceIndex,l=r.avoid||{},u=r.attributes,c=r.transform,f=r.containerGroup,h=1,d=i.title,v=(d&&d.text?d.text:\"\").trim(),x=!1,b=d&&d.font?d.font:{},p=b.family,E=b.size,k=b.color,A=b.weight,L=b.style,_=b.variant,C=b.textcase,M=b.lineposition,g=b.shadow,P=r.subtitlePropName,T=!!P,F=r.subtitlePlaceholder,q=(i.title||{}).subtitle||{text:\"\",font:{}},V=q.text.trim(),H=!1,X=1,G=q.font,N=G.family,W=G.size,re=G.color,ae=G.weight,_e=G.style,Me=G.variant,ke=G.textcase,ge=G.lineposition,ie=G.shadow,Te;a===\"title.text\"?Te=\"titleText\":a.indexOf(\"axis\")!==-1?Te=\"axisTitleText\":a.indexOf(\"colorbar\"!==-1)&&(Te=\"colorbarTitleText\");var Ee=e._context.edits[Te];function Ae(kt,Ct){return kt===void 0||Ct===void 0?!1:kt.replace(Foe,\" % \")===Ct.replace(Foe,\" % \")}v===\"\"?h=0:Ae(v,o)&&(Ee||(v=\"\"),h=.2,x=!0),T&&(V===\"\"?X=0:Ae(V,F)&&(Ee||(V=\"\"),X=.2,H=!0)),r._meta?v=Sb.templateString(v,r._meta):n._meta&&(v=Sb.templateString(v,n._meta));var ze=v||V||Ee,Ce;f||(f=Sb.ensureSingle(n._infolayer,\"g\",\"g-\"+t),Ce=n._hColorbarMoveTitle);var me=f.selectAll(\"text.\"+t).data(ze?[0]:[]);me.enter().append(\"text\"),me.text(v).attr(\"class\",t),me.exit().remove();var Re=null,ce=t+\"-subtitle\",Ge=V||Ee;if(T&&Ge&&(Re=f.selectAll(\"text.\"+ce).data(Ge?[0]:[]),Re.enter().append(\"text\"),Re.text(V).attr(\"class\",ce),Re.exit().remove()),!ze)return f;function nt(kt,Ct){Sb.syncOrAsync([ct,qt],{title:kt,subtitle:Ct})}function ct(kt){var Ct=kt.title,Yt=kt.subtitle,xr;!c&&Ce&&(c={}),c?(xr=\"\",c.rotate&&(xr+=\"rotate(\"+[c.rotate,u.x,u.y]+\")\"),(c.offset||Ce)&&(xr+=Doe(0,(c.offset||0)-(Ce||0)))):xr=null,Ct.attr(\"transform\",xr);function er(Et){if(Et){var dt=k3.select(Et.node().parentNode).select(\".\"+ce);if(!dt.empty()){var Ht=Et.node().getBBox();if(Ht.height){var $t=Ht.y+Ht.height+HO*W;dt.attr(\"y\",$t)}}}}if(Ct.style(\"opacity\",h*nL.opacity(k)).call(iL.font,{color:nL.rgb(k),size:k3.round(E,2),family:p,weight:A,style:L,variant:_,textcase:C,shadow:g,lineposition:M}).attr(u).call(C3.convertToTspans,e,er),Yt){var Ke=f.select(\".\"+t+\"-math-group\"),xt=Ct.node().getBBox(),bt=Ke.node()?Ke.node().getBBox():void 0,Lt=bt?bt.y+bt.height+HO*W:xt.y+xt.height+GO*W,St=Sb.extendFlat({},u,{y:Lt});Yt.attr(\"transform\",xr),Yt.style(\"opacity\",X*nL.opacity(re)).call(iL.font,{color:nL.rgb(re),size:k3.round(W,2),family:N,weight:ae,style:_e,variant:Me,textcase:ke,shadow:ie,lineposition:ge}).attr(St).call(C3.convertToTspans,e)}return Pat.previousPromises(e)}function qt(kt){var Ct=kt.title,Yt=k3.select(Ct.node().parentNode);if(l&&l.selection&&l.side&&v){Yt.attr(\"transform\",null);var xr=Iat[l.side],er=l.side===\"left\"||l.side===\"top\"?-1:1,Ke=Lat(l.pad)?l.pad:2,xt=iL.bBox(Yt.node()),bt={t:0,b:0,l:0,r:0},Lt=e._fullLayout._reservedMargin;for(var St in Lt)for(var Et in Lt[St]){var dt=Lt[St][Et];bt[Et]=Math.max(bt[Et],dt)}var Ht={left:bt.l,top:bt.t,right:n.width-bt.r,bottom:n.height-bt.b},$t=l.maxShift||er*(Ht[l.side]-xt[l.side]),fr=0;if($t<0)fr=$t;else{var _r=l.offsetLeft||0,Br=l.offsetTop||0;xt.left-=_r,xt.right-=_r,xt.top-=Br,xt.bottom-=Br,l.selection.each(function(){var Nr=iL.bBox(this);Sb.bBoxIntersect(xt,Nr,Ke)&&(fr=Math.max(fr,er*(Nr[l.side]-xt[xr])+Ke))}),fr=Math.min($t,fr),i._titleScoot=Math.abs(fr)}if(fr>0||$t<0){var Or={left:[-fr,0],right:[fr,0],top:[0,-fr],bottom:[0,fr]}[l.side];Yt.attr(\"transform\",Doe(Or[0],Or[1]))}}}me.call(nt,Re);function rt(kt,Ct){kt.text(Ct).on(\"mouseover.opacity\",function(){k3.select(this).transition().duration(zoe.SHOW_PLACEHOLDER).style(\"opacity\",1)}).on(\"mouseout.opacity\",function(){k3.select(this).transition().duration(zoe.HIDE_PLACEHOLDER).style(\"opacity\",0)})}if(Ee&&(v?me.on(\".opacity\",null):(rt(me,o),x=!0),me.call(C3.makeEditable,{gd:e}).on(\"edit\",function(kt){s!==void 0?VO.call(\"_guiRestyle\",e,a,kt,s):VO.call(\"_guiRelayout\",e,a,kt)}).on(\"cancel\",function(){this.text(this.attr(\"data-unformatted\")).call(nt)}).on(\"input\",function(kt){this.text(kt||\" \").call(C3.positionText,u.x,u.y)}),T)){if(T&&!v){var ot=me.node().getBBox(),Rt=ot.y+ot.height+GO*W;Re.attr(\"y\",Rt)}V?Re.on(\".opacity\",null):(rt(Re,F),H=!0),Re.call(C3.makeEditable,{gd:e}).on(\"edit\",function(kt){VO.call(\"_guiRelayout\",e,\"title.subtitle.text\",kt)}).on(\"cancel\",function(){this.text(this.attr(\"data-unformatted\")).call(nt)}).on(\"input\",function(kt){this.text(kt||\" \").call(C3.positionText,Re.attr(\"x\"),Re.attr(\"y\"))})}return me.classed(\"js-placeholder\",x),Re&&Re.classed(\"js-placeholder\",H),f}qoe.exports={draw:Rat,SUBTITLE_PADDING_EM:GO,SUBTITLE_PADDING_MATHJAX_EM:HO}});var ym=ye((brr,Voe)=>{\"use strict\";var Dat=xa(),zat=e3().utcFormat,Nu=Mr(),Fat=Nu.numberFormat,gm=uo(),a_=Nu.cleanNumber,qat=Nu.ms2DateTime,Ooe=Nu.dateTime2ms,mm=Nu.ensureNumber,Boe=Nu.isArrayOrTypedArray,o_=es(),aL=o_.FP_SAFE,bg=o_.BADNUM,Oat=o_.LOG_CLIP,Bat=o_.ONEWEEK,oL=o_.ONEDAY,sL=o_.ONEHOUR,Noe=o_.ONEMIN,Uoe=o_.ONESEC,lL=af(),fL=ad(),uL=fL.HOUR_PATTERN,cL=fL.WEEKDAY_PATTERN;function JS(e){return Math.pow(10,e)}function jO(e){return e!=null}Voe.exports=function(t,r){r=r||{};var n=t._id||\"x\",i=n.charAt(0);function a(A,L){if(A>0)return Math.log(A)/Math.LN10;if(A<=0&&L&&t.range&&t.range.length===2){var _=t.range[0],C=t.range[1];return .5*(_+C-2*Oat*Math.abs(_-C))}else return bg}function o(A,L,_,C){if((C||{}).msUTC&&gm(A))return+A;var M=Ooe(A,_||t.calendar);if(M===bg)if(gm(A)){A=+A;var g=Math.floor(Nu.mod(A+.05,1)*10),P=Math.round(A-g/10);M=Ooe(new Date(P))+g/10}else return bg;return M}function s(A,L,_){return qat(A,L,_||t.calendar)}function l(A){return t._categories[Math.round(A)]}function u(A){if(jO(A)){if(t._categoriesMap===void 0&&(t._categoriesMap={}),t._categoriesMap[A]!==void 0)return t._categoriesMap[A];t._categories.push(typeof A==\"number\"?String(A):A);var L=t._categories.length-1;return t._categoriesMap[A]=L,L}return bg}function c(A,L){for(var _=new Array(L),C=0;C<L;C++){var M=(A[0]||[])[C],g=(A[1]||[])[C];_[C]=f([M,g])}return _}function f(A){if(t._categoriesMap)return t._categoriesMap[A]}function h(A){var L=f(A);if(L!==void 0)return L;if(gm(A))return+A}function d(A){return gm(A)?+A:f(A)}function v(A,L,_){return Dat.round(_+L*A,2)}function x(A,L,_){return(A-_)/L}var b=function(L){return gm(L)?v(L,t._m,t._b):bg},p=function(A){return x(A,t._m,t._b)};if(t.rangebreaks){var E=i===\"y\";b=function(A){if(!gm(A))return bg;var L=t._rangebreaks.length;if(!L)return v(A,t._m,t._b);var _=E;t.range[0]>t.range[1]&&(_=!_);for(var C=_?-1:1,M=C*A,g=0,P=0;P<L;P++){var T=C*t._rangebreaks[P].min,F=C*t._rangebreaks[P].max;if(M<T)break;if(M>F)g=P+1;else{g=M<(T+F)/2?P:P+1;break}}var q=t._B[g]||0;return isFinite(q)?v(A,t._m2,q):0},p=function(A){var L=t._rangebreaks.length;if(!L)return x(A,t._m,t._b);for(var _=0,C=0;C<L&&!(A<t._rangebreaks[C].pmin);C++)A>t._rangebreaks[C].pmax&&(_=C+1);return x(A,t._m2,t._B[_])}}t.c2l=t.type===\"log\"?a:mm,t.l2c=t.type===\"log\"?JS:mm,t.l2p=b,t.p2l=p,t.c2p=t.type===\"log\"?function(A,L){return b(a(A,L))}:b,t.p2c=t.type===\"log\"?function(A){return JS(p(A))}:p,[\"linear\",\"-\"].indexOf(t.type)!==-1?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=a_,t.c2d=t.c2r=t.l2d=t.l2r=mm,t.d2p=t.r2p=function(A){return t.l2p(a_(A))},t.p2d=t.p2r=p,t.cleanPos=mm):t.type===\"log\"?(t.d2r=t.d2l=function(A,L){return a(a_(A),L)},t.r2d=t.r2c=function(A){return JS(a_(A))},t.d2c=t.r2l=a_,t.c2d=t.l2r=mm,t.c2r=a,t.l2d=JS,t.d2p=function(A,L){return t.l2p(t.d2r(A,L))},t.p2d=function(A){return JS(p(A))},t.r2p=function(A){return t.l2p(a_(A))},t.p2r=p,t.cleanPos=mm):t.type===\"date\"?(t.d2r=t.r2d=Nu.identity,t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=s,t.d2p=t.r2p=function(A,L,_){return t.l2p(o(A,0,_))},t.p2d=t.p2r=function(A,L,_){return s(p(A),L,_)},t.cleanPos=function(A){return Nu.cleanDate(A,bg,t.calendar)}):t.type===\"category\"?(t.d2c=t.d2l=u,t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(A){var L=d(A);return L!==void 0?L:t.fraction2r(.5)},t.l2r=t.c2r=mm,t.r2l=d,t.d2p=function(A){return t.l2p(t.r2c(A))},t.p2d=function(A){return l(p(A))},t.r2p=t.d2p,t.p2r=p,t.cleanPos=function(A){return typeof A==\"string\"&&A!==\"\"?A:mm(A)}):t.type===\"multicategory\"&&(t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(A){var L=h(A);return L!==void 0?L:t.fraction2r(.5)},t.r2c_just_indices=f,t.l2r=t.c2r=mm,t.r2l=h,t.d2p=function(A){return t.l2p(t.r2c(A))},t.p2d=function(A){return l(p(A))},t.r2p=t.d2p,t.p2r=p,t.cleanPos=function(A){return Array.isArray(A)||typeof A==\"string\"&&A!==\"\"?A:mm(A)},t.setupMultiCategory=function(A){var L=t._traceIndices,_,C,M=t._matchGroup;if(M&&t._categories.length===0){for(var g in M)if(g!==n){var P=r[lL.id2name(g)];L=L.concat(P._traceIndices)}}var T=[[0,{}],[0,{}]],F=[];for(_=0;_<L.length;_++){var q=A[L[_]];if(i in q){var V=q[i],H=q._length||Nu.minRowLength(V);if(Boe(V[0])&&Boe(V[1]))for(C=0;C<H;C++){var X=V[0][C],G=V[1][C];jO(X)&&jO(G)&&(F.push([X,G]),X in T[0][1]||(T[0][1][X]=T[0][0]++),G in T[1][1]||(T[1][1][G]=T[1][0]++))}}}for(F.sort(function(N,W){var re=T[0][1],ae=re[N[0]]-re[W[0]];if(ae)return ae;var _e=T[1][1];return _e[N[1]]-_e[W[1]]}),_=0;_<F.length;_++)u(F[_])}),t.fraction2r=function(A){var L=t.r2l(t.range[0]),_=t.r2l(t.range[1]);return t.l2r(L+A*(_-L))},t.r2fraction=function(A){var L=t.r2l(t.range[0]),_=t.r2l(t.range[1]);return(t.r2l(A)-L)/(_-L)},t.limitRange=function(A){var L=t.minallowed,_=t.maxallowed;if(!(L===void 0&&_===void 0)){A||(A=\"range\");var C=Nu.nestedProperty(t,A).get(),M=Nu.simpleMap(C,t.r2l),g=M[1]<M[0];g&&M.reverse();var P=Nu.simpleMap([L,_],t.r2l);if(L!==void 0&&M[0]<P[0]&&(C[g?1:0]=L),_!==void 0&&M[1]>P[1]&&(C[g?0:1]=_),C[0]===C[1]){var T=t.l2r(L),F=t.l2r(_);if(L!==void 0){var q=T+1;_!==void 0&&(q=Math.min(q,F)),C[g?1:0]=q}if(_!==void 0){var V=F+1;L!==void 0&&(V=Math.max(V,T)),C[g?0:1]=V}}}},t.cleanRange=function(A,L){t._cleanRange(A,L),t.limitRange(A)},t._cleanRange=function(A,L){L||(L={}),A||(A=\"range\");var _=Nu.nestedProperty(t,A).get(),C,M;if(t.type===\"date\"?M=Nu.dfltRange(t.calendar):i===\"y\"?M=fL.DFLTRANGEY:t._name===\"realaxis\"?M=[0,1]:M=L.dfltRange||fL.DFLTRANGEX,M=M.slice(),(t.rangemode===\"tozero\"||t.rangemode===\"nonnegative\")&&(M[0]=0),!_||_.length!==2){Nu.nestedProperty(t,A).set(M);return}var g=_[0]===null,P=_[1]===null;for(t.type===\"date\"&&!t.autorange&&(_[0]=Nu.cleanDate(_[0],bg,t.calendar),_[1]=Nu.cleanDate(_[1],bg,t.calendar)),C=0;C<2;C++)if(t.type===\"date\"){if(!Nu.isDateTime(_[C],t.calendar)){t[A]=M;break}if(t.r2l(_[0])===t.r2l(_[1])){var T=Nu.constrain(t.r2l(_[0]),Nu.MIN_MS+1e3,Nu.MAX_MS-1e3);_[0]=t.l2r(T-1e3),_[1]=t.l2r(T+1e3);break}}else{if(!gm(_[C]))if(!(g||P)&&gm(_[1-C]))_[C]=_[1-C]*(C?10:.1);else{t[A]=M;break}if(_[C]<-aL?_[C]=-aL:_[C]>aL&&(_[C]=aL),_[0]===_[1]){var F=Math.max(1,Math.abs(_[0]*1e-6));_[0]-=F,_[1]+=F}}},t.setScale=function(A){var L=r._size;if(t.overlaying){var _=lL.getFromId({_fullLayout:r},t.overlaying);t.domain=_.domain}var C=A&&t._r?\"_r\":\"range\",M=t.calendar;t.cleanRange(C);var g=t.r2l(t[C][0],M),P=t.r2l(t[C][1],M),T=i===\"y\";if(T?(t._offset=L.t+(1-t.domain[1])*L.h,t._length=L.h*(t.domain[1]-t.domain[0]),t._m=t._length/(g-P),t._b=-t._m*P):(t._offset=L.l+t.domain[0]*L.w,t._length=L.w*(t.domain[1]-t.domain[0]),t._m=t._length/(P-g),t._b=-t._m*g),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks){var F,q;if(t._rangebreaks=t.locateBreaks(Math.min(g,P),Math.max(g,P)),t._rangebreaks.length){for(F=0;F<t._rangebreaks.length;F++)q=t._rangebreaks[F],t._lBreaks+=Math.abs(q.max-q.min);var V=T;g>P&&(V=!V),V&&t._rangebreaks.reverse();var H=V?-1:1;for(t._m2=H*t._length/(Math.abs(P-g)-t._lBreaks),t._B.push(-t._m2*(T?P:g)),F=0;F<t._rangebreaks.length;F++)q=t._rangebreaks[F],t._B.push(t._B[t._B.length-1]-H*t._m2*(q.max-q.min));for(F=0;F<t._rangebreaks.length;F++)q=t._rangebreaks[F],q.pmin=b(q.min),q.pmax=b(q.max)}}if(!isFinite(t._m)||!isFinite(t._b)||t._length<0)throw r._replotting=!1,new Error(\"Something went wrong with axis scaling\")},t.maskBreaks=function(A){var L=t.rangebreaks||[],_,C,M,g,P;L._cachedPatterns||(L._cachedPatterns=L.map(function(re){return re.enabled&&re.bounds?Nu.simpleMap(re.bounds,re.pattern?a_:t.d2c):null})),L._cachedValues||(L._cachedValues=L.map(function(re){return re.enabled&&re.values?Nu.simpleMap(re.values,t.d2c).sort(Nu.sorterAsc):null}));for(var T=0;T<L.length;T++){var F=L[T];if(F.enabled){if(F.bounds){var q=F.pattern;switch(_=L._cachedPatterns[T],C=_[0],M=_[1],q){case cL:P=new Date(A),g=P.getUTCDay(),C>M&&(M+=7,g<C&&(g+=7));break;case uL:P=new Date(A);var V=P.getUTCHours(),H=P.getUTCMinutes(),X=P.getUTCSeconds(),G=P.getUTCMilliseconds();g=V+(H/60+X/3600+G/36e5),C>M&&(M+=24,g<C&&(g+=24));break;case\"\":g=A;break}if(g>=C&&g<M)return bg}else for(var N=L._cachedValues[T],W=0;W<N.length;W++)if(C=N[W],M=C+F.dvalue,A>=C&&A<M)return bg}}return A},t.locateBreaks=function(A,L){var _,C,M,g,P=[];if(!t.rangebreaks)return P;var T=t.rangebreaks.slice().sort(function(_e,Me){return _e.pattern===cL&&Me.pattern===uL?-1:Me.pattern===cL&&_e.pattern===uL?1:0}),F=function(_e,Me){if(_e=Nu.constrain(_e,A,L),Me=Nu.constrain(Me,A,L),_e!==Me){for(var ke=!0,ge=0;ge<P.length;ge++){var ie=P[ge];_e<ie.max&&Me>=ie.min&&(_e<ie.min&&(ie.min=_e),Me>ie.max&&(ie.max=Me),ke=!1)}ke&&P.push({min:_e,max:Me})}};for(_=0;_<T.length;_++){var q=T[_];if(q.enabled)if(q.bounds){var V=A,H=L;q.pattern&&(V=Math.floor(V)),C=Nu.simpleMap(q.bounds,q.pattern?a_:t.r2l),M=C[0],g=C[1];var X=new Date(V),G,N;switch(q.pattern){case cL:N=Bat,G=((g<M?7:0)+(g-M))*oL,V+=M*oL-(X.getUTCDay()*oL+X.getUTCHours()*sL+X.getUTCMinutes()*Noe+X.getUTCSeconds()*Uoe+X.getUTCMilliseconds());break;case uL:N=oL,G=((g<M?24:0)+(g-M))*sL,V+=M*sL-(X.getUTCHours()*sL+X.getUTCMinutes()*Noe+X.getUTCSeconds()*Uoe+X.getUTCMilliseconds());break;default:V=Math.min(C[0],C[1]),H=Math.max(C[0],C[1]),N=H-V,G=N}for(var W=V;W<H;W+=N)F(W,W+G)}else for(var re=Nu.simpleMap(q.values,t.d2c),ae=0;ae<re.length;ae++)M=re[ae],g=M+q.dvalue,F(M,g)}return P.sort(function(_e,Me){return _e.min-Me.min}),P},t.makeCalcdata=function(A,L,_){var C,M,g,P,T=t.type,F=T===\"date\"&&A[L+\"calendar\"];if(L in A){if(C=A[L],P=A._length||Nu.minRowLength(C),Nu.isTypedArray(C)&&(T===\"linear\"||T===\"log\")){if(P===C.length)return C;if(C.subarray)return C.subarray(0,P)}if(T===\"multicategory\")return c(C,P);for(M=new Array(P),g=0;g<P;g++)M[g]=t.d2c(C[g],0,F,_)}else{var q=L+\"0\"in A?t.d2c(A[L+\"0\"],0,F):0,V=A[\"d\"+L]?Number(A[\"d\"+L]):1;for(C=A[{x:\"y\",y:\"x\"}[L]],P=A._length||C.length,M=new Array(P),g=0;g<P;g++)M[g]=q+g*V}if(t.rangebreaks)for(g=0;g<P;g++)M[g]=t.maskBreaks(M[g]);return M},t.isValidRange=function(A,L){return Array.isArray(A)&&A.length===2&&(L&&A[0]===null||gm(t.r2l(A[0])))&&(L&&A[1]===null||gm(t.r2l(A[1])))},t.getAutorangeDflt=function(A,L){var _=!t.isValidRange(A,\"nullOk\");return _&&L&&L.reverseDflt?_=\"reversed\":A&&(A[0]===null&&A[1]===null?_=!0:A[0]===null&&A[1]!==null?_=\"min\":A[0]!==null&&A[1]===null&&(_=\"max\")),_},t.isReversed=function(){var A=t.autorange;return A===\"reversed\"||A===\"min reversed\"||A===\"max reversed\"},t.isPtWithinRange=function(A,L){var _=t.c2l(A[i],null,L),C=t.r2l(t.range[0]),M=t.r2l(t.range[1]);return C<M?C<=_&&_<=M:M<=_&&_<=C},t._emptyCategories=function(){t._categories=[],t._categoriesMap={}},t.clearCalc=function(){var A=t._matchGroup;if(A){var L=null,_=null;for(var C in A){var M=r[lL.id2name(C)];if(M._categories){L=M._categories,_=M._categoriesMap;break}}L&&_?(t._categories=L,t._categoriesMap=_):t._emptyCategories()}else t._emptyCategories();if(t._initialCategories)for(var g=0;g<t._initialCategories.length;g++)u(t._initialCategories[g])},t.sortByInitialCategories=function(){var A=[];if(t._emptyCategories(),t._initialCategories)for(var L=0;L<t._initialCategories.length;L++)u(t._initialCategories[L]);A=A.concat(t._traceIndices);var _=t._matchGroup;for(var C in _)if(n!==C){var M=r[lL.id2name(C)];M._categories=t._categories,M._categoriesMap=t._categoriesMap,A=A.concat(M._traceIndices)}return A};var k=r._d3locale;t.type===\"date\"&&(t._dateFormat=k?k.timeFormat:zat,t._extraFormat=r._extraFormat),t._separators=r.separators,t._numFormat=k?k.numberFormat:Fat,delete t._minDtick,delete t._forceTick0}});var L3=ye((wrr,Woe)=>{\"use strict\";var Hoe=uo(),WO=Mr(),Nat=es().BADNUM,hL=WO.isArrayOrTypedArray,Uat=WO.isDateTime,Vat=WO.cleanNumber,Goe=Math.round;Woe.exports=function(t,r,n){var i=t,a=n.noMultiCategory;if(hL(i)&&!i.length)return\"-\";if(!a&&Zat(i))return\"multicategory\";if(a&&Array.isArray(i[0])){for(var o=[],s=0;s<i.length;s++)if(hL(i[s]))for(var l=0;l<i[s].length;l++)o.push(i[s][l]);i=o}if(jat(i,r))return\"date\";var u=n.autotypenumbers!==\"strict\";return Wat(i,u)?\"category\":Gat(i,u)?\"linear\":\"-\"};function Hat(e,t){return t?Hoe(e):typeof e==\"number\"}function Gat(e,t){for(var r=e.length,n=0;n<r;n++)if(Hat(e[n],t))return!0;return!1}function jat(e,t){for(var r=e.length,n=joe(r),i=0,a=0,o={},s=0;s<r;s+=n){var l=Goe(s),u=e[l],c=String(u);o[c]||(o[c]=1,Uat(u,t)&&i++,Hoe(u)&&a++)}return i>a*2}function joe(e){return Math.max(1,(e-1)/1e3)}function Wat(e,t){for(var r=e.length,n=joe(r),i=0,a=0,o={},s=0;s<r;s+=n){var l=Goe(s),u=e[l],c=String(u);if(!o[c]){o[c]=1;var f=typeof u;f===\"boolean\"?a++:(t?Vat(u)!==Nat:f===\"number\")?i++:f===\"string\"&&a++}}return a>i*2}function Zat(e){return hL(e[0])&&hL(e[1])}});var wg=ye((Trr,ese)=>{\"use strict\";var Xat=xa(),Koe=uo(),s_=Mr(),dL=es().FP_SAFE,Yat=ba(),Kat=ao(),Joe=af(),Jat=Joe.getFromId,$at=Joe.isLinked;ese.exports={applyAutorangeOptions:Qoe,getAutoRange:ZO,makePadFn:XO,doAutoRange:eot,findExtremes:tot,concatExtremes:JO};function ZO(e,t){var r,n,i=[],a=e._fullLayout,o=XO(a,t,0),s=XO(a,t,1),l=JO(e,t),u=l.min,c=l.max;if(u.length===0||c.length===0)return s_.simpleMap(t.range,t.r2l);var f=u[0].val,h=c[0].val;for(r=1;r<u.length&&f===h;r++)f=Math.min(f,u[r].val);for(r=1;r<c.length&&f===h;r++)h=Math.max(h,c[r].val);var d=t.autorange,v=d===\"reversed\"||d===\"min reversed\"||d===\"max reversed\";if(!v&&t.range){var x=s_.simpleMap(t.range,t.r2l);v=x[1]<x[0]}t.autorange===\"reversed\"&&(t.autorange=!0);var b=t.rangemode,p=b===\"tozero\",E=b===\"nonnegative\",k=t._length,A=k/10,L=0,_,C,M,g,P,T;for(r=0;r<u.length;r++)for(_=u[r],n=0;n<c.length;n++)C=c[n],T=C.val-_.val-Zoe(t,_.val,C.val),T>0&&(P=k-o(_)-s(C),P>A?T/P>L&&(M=_,g=C,L=T/P):T/k>L&&(M={val:_.val,nopad:1},g={val:C.val,nopad:1},L=T/k));function F(G,N){return Math.max(G,s(N))}if(f===h){var q=f-1,V=f+1;if(p)if(f===0)i=[0,1];else{var H=(f>0?c:u).reduce(F,0),X=f/(1-Math.min(.5,H/k));i=f>0?[0,X]:[X,0]}else E?i=[Math.max(0,q),Math.max(1,V)]:i=[q,V]}else p?(M.val>=0&&(M={val:0,nopad:1}),g.val<=0&&(g={val:0,nopad:1})):E&&(M.val-L*o(M)<0&&(M={val:0,nopad:1}),g.val<=0&&(g={val:1,nopad:1})),L=(g.val-M.val-Zoe(t,_.val,C.val))/(k-o(M)-s(g)),i=[M.val-L*o(M),g.val+L*s(g)];return i=Qoe(i,t),t.limitRange&&t.limitRange(),v&&i.reverse(),s_.simpleMap(i,t.l2r||Number)}function Zoe(e,t,r){var n=0;if(e.rangebreaks)for(var i=e.locateBreaks(t,r),a=0;a<i.length;a++){var o=i[a];n+=o.max-o.min}return n}function XO(e,t,r){var n=.05*t._length,i=t._anchorAxis||{};if((t.ticklabelposition||\"\").indexOf(\"inside\")!==-1||(i.ticklabelposition||\"\").indexOf(\"inside\")!==-1){var a=t.isReversed();if(!a){var o=s_.simpleMap(t.range,t.r2l);a=o[1]<o[0]}a&&(r=!r)}var s=0;return $at(e,t._id)||(s=Qat(e,t,r)),n=Math.max(s,n),t.constrain===\"domain\"&&t._inputDomain&&(n*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0])),function(u){return u.nopad?0:u.pad+(u.extrapad?n:s)}}var Xoe=3;function Qat(e,t,r){var n=0,i=t._id.charAt(0)===\"x\";for(var a in e._plots){var o=e._plots[a];if(!(t._id!==o.xaxis._id&&t._id!==o.yaxis._id)){var s=(i?o.yaxis:o.xaxis)||{};if((s.ticklabelposition||\"\").indexOf(\"inside\")!==-1&&(!r&&(s.side===\"left\"||s.side===\"bottom\")||r&&(s.side===\"top\"||s.side===\"right\"))){if(s._vals){var l=s_.deg2rad(s._tickAngles[s._id+\"tick\"]||0),u=Math.abs(Math.cos(l)),c=Math.abs(Math.sin(l));if(!s._vals[0].bb){var f=s._id+\"tick\",h=s._selections[f];h.each(function(E){var k=Xat.select(this),A=k.select(\".text-math-group\");A.empty()&&(E.bb=Kat.bBox(k.node()))})}for(var d=0;d<s._vals.length;d++){var v=s._vals[d],x=v.bb;if(x){var b=2*Xoe+x.width,p=2*Xoe+x.height;n=Math.max(n,i?Math.max(b*u,p*c):Math.max(p*u,b*c))}}}s.ticks===\"inside\"&&s.ticklabelposition===\"inside\"&&(n+=s.ticklen||0)}}}return n}function JO(e,t,r){var n=t._id,i=e._fullData,a=e._fullLayout,o=[],s=[],l,u,c;function f(b,p){for(l=0;l<p.length;l++){var E=b[p[l]],k=(E._extremes||{})[n];if(E.visible===!0&&k){for(u=0;u<k.min.length;u++)c=k.min[u],YO(o,c.val,c.pad,{extrapad:c.extrapad});for(u=0;u<k.max.length;u++)c=k.max[u],KO(s,c.val,c.pad,{extrapad:c.extrapad})}}}if(f(i,t._traceIndices),f(a.annotations||[],t._annIndices||[]),f(a.shapes||[],t._shapeIndices||[]),t._matchGroup&&!r){for(var h in t._matchGroup)if(h!==t._id){var d=Jat(e,h),v=JO(e,d,!0),x=t._length/d._length;for(u=0;u<v.min.length;u++)c=v.min[u],YO(o,c.val,c.pad*x,{extrapad:c.extrapad});for(u=0;u<v.max.length;u++)c=v.max[u],KO(s,c.val,c.pad*x,{extrapad:c.extrapad})}}return{min:o,max:s}}function eot(e,t,r){if(t.setScale(),t.autorange){t.range=r?r.slice():ZO(e,t),t._r=t.range.slice(),t._rl=s_.simpleMap(t._r,t.r2l);var n=t._input,i={};i[t._attr+\".range\"]=t.range,i[t._attr+\".autorange\"]=t.autorange,Yat.call(\"_storeDirectGUIEdit\",e.layout,e._fullLayout._preGUI,i),n.range=t.range.slice(),n.autorange=t.autorange}var a=t._anchorAxis;if(a&&a.rangeslider){var o=a.rangeslider[t._name];o&&o.rangemode===\"auto\"&&(o.range=ZO(e,t)),a._input.rangeslider[t._name]=s_.extendFlat({},o)}}function tot(e,t,r){r||(r={}),e._m||e.setScale();var n=[],i=[],a=t.length,o=r.padded||!1,s=r.tozero&&(e.type===\"linear\"||e.type===\"-\"),l=e.type===\"log\",u=!1,c=r.vpadLinearized||!1,f,h,d,v,x,b,p,E,k;function A(F){if(Array.isArray(F))return u=!0,function(V){return Math.max(Number(F[V]||0),0)};var q=Math.max(Number(F||0),0);return function(){return q}}var L=A((e._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),_=A((e._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),C=A(r.vpadplus||r.vpad),M=A(r.vpadminus||r.vpad);if(!u){if(E=1/0,k=-1/0,l)for(f=0;f<a;f++)h=t[f],h<E&&h>0&&(E=h),h>k&&h<dL&&(k=h);else for(f=0;f<a;f++)h=t[f],h<E&&h>-dL&&(E=h),h>k&&h<dL&&(k=h);t=[E,k],a=2}var g={tozero:s,extrapad:o};function P(F){d=t[F],Koe(d)&&(b=L(F),p=_(F),c?(v=e.c2l(d)-M(F),x=e.c2l(d)+C(F)):(E=d-M(F),k=d+C(F),l&&E<k/10&&(E=k/10),v=e.c2l(E),x=e.c2l(k)),s&&(v=Math.min(0,v),x=Math.max(0,x)),Yoe(v)&&YO(n,v,p,g),Yoe(x)&&KO(i,x,b,g))}var T=Math.min(6,a);for(f=0;f<T;f++)P(f);for(f=a-1;f>=T;f--)P(f);return{min:n,max:i,opts:r}}function YO(e,t,r,n){$oe(e,t,r,n,rot)}function KO(e,t,r,n){$oe(e,t,r,n,iot)}function $oe(e,t,r,n,i){for(var a=n.tozero,o=n.extrapad,s=!0,l=0;l<e.length&&s;l++){var u=e[l];if(i(u.val,t)&&u.pad>=r&&(u.extrapad||!o)){s=!1;break}else i(t,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(e.splice(l,1),l--)}if(s){var c=a&&t===0;e.push({val:t,pad:c?0:r,extrapad:c?!1:o})}}function Yoe(e){return Koe(e)&&Math.abs(e)<dL}function rot(e,t){return e<=t}function iot(e,t){return e>=t}function not(e,t){var r=t.autorangeoptions;return r&&r.minallowed!==void 0&&vL(t,r.minallowed,r.maxallowed)?r.minallowed:r&&r.clipmin!==void 0&&vL(t,r.clipmin,r.clipmax)?Math.max(e,t.d2l(r.clipmin)):e}function aot(e,t){var r=t.autorangeoptions;return r&&r.maxallowed!==void 0&&vL(t,r.minallowed,r.maxallowed)?r.maxallowed:r&&r.clipmax!==void 0&&vL(t,r.clipmin,r.clipmax)?Math.min(e,t.d2l(r.clipmax)):e}function vL(e,t,r){return t!==void 0&&r!==void 0?(t=e.d2l(t),r=e.d2l(r),t<r):!0}function Qoe(e,t){if(!t||!t.autorangeoptions)return e;var r=e[0],n=e[1],i=t.autorangeoptions.include;if(i!==void 0){var a=t.d2l(r),o=t.d2l(n);s_.isArrayOrTypedArray(i)||(i=[i]);for(var s=0;s<i.length;s++){var l=t.d2l(i[s]);a>=l&&(a=l,r=l),o<=l&&(o=l,n=l)}}return r=not(r,t),n=aot(n,t),[r,n]}});var Qa=ye((Arr,wse)=>{\"use strict\";var w0=xa(),ph=uo(),P3=Xu(),QS=ba(),Vo=Mr(),I3=Vo.strTranslate,Eb=Pl(),oot=Mb(),eM=va(),Xp=ao(),sot=Cd(),tse=bO(),Yd=es(),lot=Yd.ONEMAXYEAR,mL=Yd.ONEAVGYEAR,yL=Yd.ONEMINYEAR,uot=Yd.ONEMAXQUARTER,tB=Yd.ONEAVGQUARTER,_L=Yd.ONEMINQUARTER,cot=Yd.ONEMAXMONTH,R3=Yd.ONEAVGMONTH,xL=Yd.ONEMINMONTH,Yp=Yd.ONEWEEK,Fv=Yd.ONEDAY,l_=Fv/2,xm=Yd.ONEHOUR,tM=Yd.ONEMIN,bL=Yd.ONESEC,fot=Yd.ONEMILLI,hot=Yd.ONEMICROSEC,kb=Yd.MINUS_SIGN,AL=Yd.BADNUM,rB={K:\"zeroline\"},iB={K:\"gridline\",L:\"path\"},nB={K:\"minor-gridline\",L:\"path\"},hse={K:\"tick\",L:\"path\"},rse={K:\"tick\",L:\"text\"},ise={width:[\"x\",\"r\",\"l\",\"xl\",\"xr\"],height:[\"y\",\"t\",\"b\",\"yt\",\"yb\"],right:[\"r\",\"xr\"],left:[\"l\",\"xl\"],top:[\"t\",\"yt\"],bottom:[\"b\",\"yb\"]},SL=Nh(),$S=SL.MID_SHIFT,Cb=SL.CAP_SHIFT,rM=SL.LINE_SPACING,dot=SL.OPPOSITE_SIDE,wL=3,kn=wse.exports={};kn.setConvert=ym();var vot=L3(),Ay=af(),pot=Ay.idSort,got=Ay.isLinked;kn.id2name=Ay.id2name;kn.name2id=Ay.name2id;kn.cleanId=Ay.cleanId;kn.list=Ay.list;kn.listIds=Ay.listIds;kn.getFromId=Ay.getFromId;kn.getFromTrace=Ay.getFromTrace;var dse=wg();kn.getAutoRange=dse.getAutoRange;kn.findExtremes=dse.findExtremes;var mot=1e-4;function lB(e){var t=(e[1]-e[0])*mot;return[e[0]-t,e[1]+t]}kn.coerceRef=function(e,t,r,n,i,a){var o=n.charAt(n.length-1),s=r._fullLayout._subplots[o+\"axis\"],l=n+\"ref\",u={};return i||(i=s[0]||(typeof a==\"string\"?a:a[0])),a||(a=i),s=s.concat(s.map(function(c){return c+\" domain\"})),u[l]={valType:\"enumerated\",values:s.concat(a?typeof a==\"string\"?[a]:a:[]),dflt:i},Vo.coerce(e,t,u,l)};kn.getRefType=function(e){return e===void 0?e:e===\"paper\"?\"paper\":e===\"pixel\"?\"pixel\":/( domain)$/.test(e)?\"domain\":\"range\"};kn.coercePosition=function(e,t,r,n,i,a){var o,s,l=kn.getRefType(n);if(l!==\"range\")o=Vo.ensureNumber,s=r(i,a);else{var u=kn.getFromId(t,n);a=u.fraction2r(a),s=r(i,a),o=u.cleanPos}e[i]=o(s)};kn.cleanPosition=function(e,t,r){var n=r===\"paper\"||r===\"pixel\"?Vo.ensureNumber:kn.getFromId(t,r).cleanPos;return n(e)};kn.redrawComponents=function(e,t){t=t||kn.listIds(e);var r=e._fullLayout;function n(i,a,o,s){for(var l=QS.getComponentMethod(i,a),u={},c=0;c<t.length;c++)for(var f=r[kn.id2name(t[c])],h=f[o],d=0;d<h.length;d++){var v=h[d];if(!u[v]&&(l(e,v),u[v]=1,s))return}}n(\"annotations\",\"drawOne\",\"_annIndices\"),n(\"shapes\",\"drawOne\",\"_shapeIndices\"),n(\"images\",\"draw\",\"_imgIndices\",!0),n(\"selections\",\"drawOne\",\"_selectionIndices\")};var yot=kn.getDataConversions=function(e,t,r,n){var i,a=r===\"x\"||r===\"y\"||r===\"z\"?r:n;if(Vo.isArrayOrTypedArray(a)){if(i={type:vot(n,void 0,{autotypenumbers:e._fullLayout.autotypenumbers}),_categories:[]},kn.setConvert(i),i.type===\"category\")for(var o=0;o<n.length;o++)i.d2c(n[o])}else i=kn.getFromTrace(e,t,a);return i?{d2c:i.d2c,c2d:i.c2d}:a===\"ids\"?{d2c:ase,c2d:ase}:{d2c:nse,c2d:nse}};function nse(e){return+e}function ase(e){return String(e)}kn.getDataToCoordFunc=function(e,t,r,n){return yot(e,t,r,n).d2c};kn.counterLetter=function(e){var t=e.charAt(0);if(t===\"x\")return\"y\";if(t===\"y\")return\"x\"};kn.minDtick=function(e,t,r,n){[\"log\",\"category\",\"multicategory\"].indexOf(e.type)!==-1||!n?e._minDtick=0:e._minDtick===void 0?(e._minDtick=t,e._forceTick0=r):e._minDtick&&((e._minDtick/t+1e-6)%1<2e-6&&((r-e._forceTick0)/t%1+1.000001)%1<2e-6?(e._minDtick=t,e._forceTick0=r):((t/e._minDtick+1e-6)%1>2e-6||((r-e._forceTick0)/e._minDtick%1+1.000001)%1>2e-6)&&(e._minDtick=0))};kn.saveRangeInitial=function(e,t){for(var r=kn.list(e,\"\",!0),n=!1,i=0;i<r.length;i++){var a=r[i],o=a._rangeInitial0===void 0&&a._rangeInitial1===void 0,s=o||a.range[0]!==a._rangeInitial0||a.range[1]!==a._rangeInitial1,l=a.autorange;(o&&l!==!0||t&&s)&&(a._rangeInitial0=l===\"min\"||l===\"max reversed\"?void 0:a.range[0],a._rangeInitial1=l===\"max\"||l===\"min reversed\"?void 0:a.range[1],a._autorangeInitial=l,n=!0)}return n};kn.saveShowSpikeInitial=function(e,t){for(var r=kn.list(e,\"\",!0),n=!1,i=\"on\",a=0;a<r.length;a++){var o=r[a],s=o._showSpikeInitial===void 0,l=s||o.showspikes!==o._showspikes;(s||t&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),i===\"on\"&&!o.showspikes&&(i=\"off\")}return e._fullLayout._cartesianSpikesEnabled=i,n};kn.autoBin=function(e,t,r,n,i,a){var o=Vo.aggNums(Math.min,null,e),s=Vo.aggNums(Math.max,null,e);if(t.type===\"category\"||t.type===\"multicategory\")return{start:o-.5,end:s+.5,size:Math.max(1,Math.round(a)||1),_dataSpan:s-o};i||(i=t.calendar);var l;if(t.type===\"log\"?l={type:\"linear\",range:[o,s]}:l={type:t.type,range:Vo.simpleMap([o,s],t.c2r,0,i),calendar:i},kn.setConvert(l),a=a&&tse.dtick(a,l.type),a)l.dtick=a,l.tick0=tse.tick0(void 0,l.type,i);else{var u;if(r)u=(s-o)/r;else{var c=Vo.distinctVals(e),f=Math.pow(10,Math.floor(Math.log(c.minDiff)/Math.LN10)),h=f*Vo.roundUp(c.minDiff/f,[.9,1.9,4.9,9.9],!0);u=Math.max(h,2*Vo.stdev(e)/Math.pow(e.length,n?.25:.4)),ph(u)||(u=1)}kn.autoTicks(l,u)}var d=l.dtick,v=kn.tickIncrement(kn.tickFirst(l),d,\"reverse\",i),x,b;if(typeof d==\"number\")v=_ot(v,e,l,o,s),b=1+Math.floor((s-v)/d),x=v+b*d;else for(l.dtick.charAt(0)===\"M\"&&(v=xot(v,e,d,o,i)),x=v,b=0;x<=s;)x=kn.tickIncrement(x,d,!1,i),b++;return{start:t.c2r(v,0,i),end:t.c2r(x,0,i),size:d,_dataSpan:s-o}};function _ot(e,t,r,n,i){var a=0,o=0,s=0,l=0;function u(d){return(1+(d-e)*100/r.dtick)%100<2}for(var c=0;c<t.length;c++)t[c]%1===0?s++:ph(t[c])||l++,u(t[c])&&a++,u(t[c]+r.dtick/2)&&o++;var f=t.length-l;if(s===f&&r.type!==\"date\")r.dtick<1?e=n-.5*r.dtick:(e-=.5,e+r.dtick<n&&(e+=r.dtick));else if(o<f*.1&&(a>f*.3||u(n)||u(i))){var h=r.dtick/2;e+=e+h<n?h:-h}return e}function xot(e,t,r,n,i){var a=Vo.findExactDates(t,i),o=.8;if(a.exactDays>o){var s=Number(r.substr(1));a.exactYears>o&&s%12===0?e=kn.tickIncrement(e,\"M6\",\"reverse\")+Fv*1.5:a.exactMonths>o?e=kn.tickIncrement(e,\"M1\",\"reverse\")+Fv*15.5:e-=l_;var l=kn.tickIncrement(e,r);if(l<=n)return l}return e}kn.prepMinorTicks=function(e,t,r){if(!t.minor.dtick){delete e.dtick;var n=t.dtick&&ph(t._tmin),i;if(n){var a=kn.tickIncrement(t._tmin,t.dtick,!0);i=[t._tmin,a*.99+t._tmin*.01]}else{var o=Vo.simpleMap(t.range,t.r2l);i=[o[0],.8*o[0]+.2*o[1]]}if(e.range=Vo.simpleMap(i,t.l2r),e._isMinor=!0,kn.prepTicks(e,r),n){var s=ph(t.dtick),l=ph(e.dtick),u=s?t.dtick:+t.dtick.substring(1),c=l?e.dtick:+e.dtick.substring(1);s&&l?$O(u,c)?u===2*Yp&&c===2*Fv&&(e.dtick=Yp):u===2*Yp&&c===3*Fv?e.dtick=Yp:u===Yp&&!(t._input.minor||{}).nticks?e.dtick=Fv:ose(u/c,2.5)?e.dtick=u/2:e.dtick=u:String(t.dtick).charAt(0)===\"M\"?l?e.dtick=\"M1\":$O(u,c)?u>=12&&c===2&&(e.dtick=\"M3\"):e.dtick=t.dtick:String(e.dtick).charAt(0)===\"L\"?String(t.dtick).charAt(0)===\"L\"?$O(u,c)||(e.dtick=ose(u/c,2.5)?t.dtick/2:t.dtick):e.dtick=\"D1\":e.dtick===\"D2\"&&+t.dtick>1&&(e.dtick=1)}e.range=t.range}t.minor._tick0Init===void 0&&(e.tick0=t.tick0)};function $O(e,t){return Math.abs((e/t+.5)%1-.5)<.001}function ose(e,t){return Math.abs(e/t-1)<.001}kn.prepTicks=function(e,t){var r=Vo.simpleMap(e.range,e.r2l,void 0,void 0,t);if(e.tickmode===\"auto\"||!e.dtick){var n=e.nticks,i;n||(e.type===\"category\"||e.type===\"multicategory\"?(i=e.tickfont?Vo.bigFont(e.tickfont.size||12):15,n=e._length/i):(i=e._id.charAt(0)===\"y\"?40:80,n=Vo.constrain(e._length/i,4,9)+1),e._name===\"radialaxis\"&&(n*=2)),e.minor&&e.minor.tickmode!==\"array\"||e.tickmode===\"array\"&&(n*=100),e._roughDTick=Math.abs(r[1]-r[0])/n,kn.autoTicks(e,e._roughDTick),e._minDtick>0&&e.dtick<e._minDtick*2&&(e.dtick=e._minDtick,e.tick0=e.l2r(e._forceTick0))}e.ticklabelmode===\"period\"&&bot(e),e.tick0||(e.tick0=e.type===\"date\"?\"2000-01-01\":0),e.type===\"date\"&&e.dtick<.1&&(e.dtick=.1),mse(e)};function QO(e){return+e.substring(1)}function bot(e){var t;function r(){return!(ph(e.dtick)||e.dtick.charAt(0)!==\"M\")}var n=r(),i=kn.getTickFormat(e);if(i){var a=e._dtickInit!==e.dtick;/%[fLQsSMX]/.test(i)||(/%[HI]/.test(i)?(t=xm,a&&!n&&e.dtick<xm&&(e.dtick=xm)):/%p/.test(i)?(t=l_,a&&!n&&e.dtick<l_&&(e.dtick=l_)):/%[Aadejuwx]/.test(i)?(t=Fv,a&&!n&&e.dtick<Fv&&(e.dtick=Fv)):/%[UVW]/.test(i)?(t=Yp,a&&!n&&e.dtick<Yp&&(e.dtick=Yp)):/%[Bbm]/.test(i)?(t=R3,a&&(n?QO(e.dtick)<1:e.dtick<xL)&&(e.dtick=\"M1\")):/%[q]/.test(i)?(t=tB,a&&(n?QO(e.dtick)<3:e.dtick<_L)&&(e.dtick=\"M3\")):/%[Yy]/.test(i)&&(t=mL,a&&(n?QO(e.dtick)<12:e.dtick<yL)&&(e.dtick=\"M12\")))}n=r(),n&&e.tick0===e._dowTick0&&(e.tick0=e._rawTick0),e._definedDelta=t}function wot(e,t,r){for(var n=0;n<e.length;n++){var i=e[n].value,a=n,o=n+1;n<e.length-1?(a=n,o=n+1):n>0?(a=n-1,o=n):(a=n,o=n);var s=e[a].value,l=e[o].value,u=Math.abs(l-s),c=r||u,f=0;c>=yL?u>=yL&&u<=lot?f=u:f=mL:r===tB&&c>=_L?u>=_L&&u<=uot?f=u:f=tB:c>=xL?u>=xL&&u<=cot?f=u:f=R3:r===Yp&&c>=Yp?f=Yp:c>=Fv?f=Fv:r===l_&&c>=l_?f=l_:r===xm&&c>=xm&&(f=xm);var h;f>=u&&(f=u,h=!0);var d=i+f;if(t.rangebreaks&&f>0){for(var v=84,x=0,b=0;b<v;b++){var p=(b+.5)/v;t.maskBreaks(i*(1-p)+p*d)!==AL&&x++}f*=x/v,f||(e[n].drop=!0),h&&u>Yp&&(f=u)}(f>0||n===0)&&(e[n].periodX=i+f/2)}}kn.calcTicks=function(t,r){for(var n=t.type,i=t.calendar,a=t.ticklabelstep,o=t.ticklabelmode===\"period\",s=t.range[0]>t.range[1],l=!t.ticklabelindex||Vo.isArrayOrTypedArray(t.ticklabelindex)?t.ticklabelindex:[t.ticklabelindex],u=Vo.simpleMap(t.range,t.r2l,void 0,void 0,r),c=u[1]<u[0],f=Math.min(u[0],u[1]),h=Math.max(u[0],u[1]),d=Math.max(1e3,t._length||0),v=[],x=[],b=[],p=[],E=[],k=t.minor&&(t.minor.ticks||t.minor.showgrid),A=1;A>=(k?0:1);A--){var L=!A;A?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var _=A?t:Vo.extendFlat({},t,t.minor);if(L?kn.prepMinorTicks(_,t,r):kn.prepTicks(_,r),_.tickmode===\"array\"){A?(b=[],v=sse(t,!L)):(p=[],x=sse(t,!L));continue}if(_.tickmode===\"sync\"){b=[],v=Tot(t);continue}var C=lB(u),M=C[0],g=C[1],P=ph(_.dtick),T=n===\"log\"&&!(P||_.dtick.charAt(0)===\"L\"),F=kn.tickFirst(_,r);if(A){if(t._tmin=F,F<M!==c)break;(n===\"category\"||n===\"multicategory\")&&(g=c?Math.max(-.5,g):Math.min(t._categories.length-.5,g))}var q=null,V=F,H;if(A){var X;P?X=t.dtick:n===\"date\"?typeof t.dtick==\"string\"&&t.dtick.charAt(0)===\"M\"&&(X=R3*t.dtick.substring(1)):X=t._roughDTick,H=Math.round((t.r2l(V)-t.r2l(t.tick0))/X)-1}var G=_.dtick;for(_.rangebreaks&&_._tick0Init!==_.tick0&&(V=eB(V,t),c||(V=kn.tickIncrement(V,G,!c,i))),A&&o&&(V=kn.tickIncrement(V,G,!c,i),H--);c?V>=g:V<=g;V=kn.tickIncrement(V,G,c,i)){if(A&&H++,_.rangebreaks&&!c){if(V<M)continue;if(_.maskBreaks(V)===AL&&eB(V,_)>=h)break}if(b.length>d||V===q)break;q=V;var N={value:V};A?(T&&V!==(V|0)&&(N.simpleLabel=!0),a>1&&H%a&&(N.skipLabel=!0),b.push(N)):(N.minor=!0,p.push(N))}}if(!p||p.length<2)l=!1;else{var W=(p[1].value-p[0].value)*(s?-1:1);Zot(W,t.tickformat)||(l=!1)}if(!l)E=b;else{var re=b.concat(p);o&&b.length&&(re=re.slice(1)),re=re.sort(function(Rt,kt){return Rt.value-kt.value}).filter(function(Rt,kt,Ct){return kt===0||Rt.value!==Ct[kt-1].value});var ae=re.map(function(Rt,kt){return Rt.minor===void 0&&!Rt.skipLabel?kt:null}).filter(function(Rt){return Rt!==null});ae.forEach(function(Rt){l.map(function(kt){var Ct=Rt+kt;Ct>=0&&Ct<re.length&&Vo.pushUnique(E,re[Ct])})})}if(k){var _e=t.minor.ticks===\"inside\"&&t.ticks===\"outside\"||t.minor.ticks===\"outside\"&&t.ticks===\"inside\";if(!_e){for(var Me=b.map(function(Rt){return Rt.value}),ke=[],ge=0;ge<p.length;ge++){var ie=p[ge],Te=ie.value;if(Me.indexOf(Te)===-1){for(var Ee=!1,Ae=0;!Ee&&Ae<b.length;Ae++)1e7+b[Ae].value===1e7+Te&&(Ee=!0);Ee||ke.push(ie)}}p=ke}}o&&wot(E,t,t._definedDelta);var ze;if(t.rangebreaks){var Ce=t._id.charAt(0)===\"y\",me=1;t.tickmode===\"auto\"&&(me=t.tickfont?t.tickfont.size:12);var Re=NaN;for(ze=b.length-1;ze>-1;ze--){if(b[ze].drop){b.splice(ze,1);continue}b[ze].value=eB(b[ze].value,t);var ce=t.c2p(b[ze].value);(Ce?Re>ce-me:Re<ce+me)?b.splice(c?ze+1:ze,1):Re=ce}}fB(t)&&Math.abs(u[1]-u[0])===360&&b.pop(),t._tmax=(b[b.length-1]||{}).value,t._prevDateHead=\"\",t._inCalcTicks=!0;var Ge,nt=function(Rt){Rt.text=\"\",t._prevDateHead=Ge};b=b.concat(p);function ct(Rt,kt){var Ct=kn.tickText(Rt,kt.value,!1,kt.simpleLabel),Yt=kt.periodX;return Yt!==void 0&&(Ct.periodX=Yt,(Yt>h||Yt<f)&&(Yt>h&&(Ct.periodX=h),Yt<f&&(Ct.periodX=f),nt(Ct))),Ct}var qt;for(ze=0;ze<b.length;ze++){var rt=b[ze].minor,ot=b[ze].value;rt?(l&&E.indexOf(b[ze])!==-1?qt=ct(t,b[ze]):qt={x:ot},qt.minor=!0,x.push(qt)):(Ge=t._prevDateHead,qt=ct(t,b[ze]),(b[ze].skipLabel||l&&E.indexOf(b[ze])===-1)&&nt(qt),v.push(qt))}return v=v.concat(x),t._inCalcTicks=!1,o&&v.length&&(v[0].noTick=!0),v};function vse(e,t){return e.rangebreaks&&(t=t.filter(function(r){return e.maskBreaks(r.x)!==AL})),t}function Tot(e){var t=e._mainAxis,r=[];if(t._vals){for(var n=0;n<t._vals.length;n++)if(!t._vals[n].noTick){var i=t.l2p(t._vals[n].x),a=e.p2l(i),o=kn.tickText(e,a);t._vals[n].minor&&(o.minor=!0,o.text=\"\"),r.push(o)}}return r=vse(e,r),r}function sse(e,t){var r=Vo.simpleMap(e.range,e.r2l),n=lB(r),i=Math.min(n[0],n[1]),a=Math.max(n[0],n[1]),o=e.type===\"category\"?e.d2l_noadd:e.d2l;e.type===\"log\"&&String(e.dtick).charAt(0)!==\"L\"&&(e.dtick=\"L\"+Math.pow(10,Math.floor(Math.min(e.range[0],e.range[1]))-1));for(var s=[],l=0;l<=1;l++)if(!(t!==void 0&&(t&&l||t===!1&&!l))&&!(l&&!e.minor)){var u=l?e.minor.tickvals:e.tickvals,c=l?[]:e.ticktext;if(u){Vo.isArrayOrTypedArray(c)||(c=[]);for(var f=0;f<u.length;f++){var h=o(u[f]);if(h>i&&h<a){var d=kn.tickText(e,h,!1,String(c[f]));l&&(d.minor=!0,d.text=\"\"),s.push(d)}}}}return s=vse(e,s),s}var pL=[2,5,10],lse=[1,2,3,6,12],use=[1,2,5,10,15,30],Aot=[1,2,3,7,14],pse=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],gse=[-.301,0,.301,.699,1],Sot=[15,30,45,90,180];function _m(e,t,r){return t*Vo.roundUp(e/t,r)}kn.autoTicks=function(e,t,r){var n;function i(f){return Math.pow(f,Math.floor(Math.log(t)/Math.LN10))}if(e.type===\"date\"){e.tick0=Vo.dateTick0(e.calendar,0);var a=2*t;if(a>mL)t/=mL,n=i(10),e.dtick=\"M\"+12*_m(t,n,pL);else if(a>R3)t/=R3,e.dtick=\"M\"+_m(t,1,lse);else if(a>Fv){if(e.dtick=_m(t,Fv,e._hasDayOfWeekBreaks?[1,2,7,14]:Aot),!r){var o=kn.getTickFormat(e),s=e.ticklabelmode===\"period\";s&&(e._rawTick0=e.tick0),/%[uVW]/.test(o)?e.tick0=Vo.dateTick0(e.calendar,2):e.tick0=Vo.dateTick0(e.calendar,1),s&&(e._dowTick0=e.tick0)}}else a>xm?e.dtick=_m(t,xm,lse):a>tM?e.dtick=_m(t,tM,use):a>bL?e.dtick=_m(t,bL,use):(n=i(10),e.dtick=_m(t,n,pL))}else if(e.type===\"log\"){e.tick0=0;var l=Vo.simpleMap(e.range,e.r2l);if(e._isMinor&&(t*=1.5),t>.7)e.dtick=Math.ceil(t);else if(Math.abs(l[1]-l[0])<1){var u=1.5*Math.abs((l[1]-l[0])/t);t=Math.abs(Math.pow(10,l[1])-Math.pow(10,l[0]))/u,n=i(10),e.dtick=\"L\"+_m(t,n,pL)}else e.dtick=t>.3?\"D2\":\"D1\"}else e.type===\"category\"||e.type===\"multicategory\"?(e.tick0=0,e.dtick=Math.ceil(Math.max(t,1))):fB(e)?(e.tick0=0,n=1,e.dtick=_m(t,n,Sot)):(e.tick0=0,n=i(10),e.dtick=_m(t,n,pL));if(e.dtick===0&&(e.dtick=1),!ph(e.dtick)&&typeof e.dtick!=\"string\"){var c=e.dtick;throw e.dtick=1,\"ax.dtick error: \"+String(c)}};function mse(e){var t=e.dtick;if(e._tickexponent=0,!ph(t)&&typeof t!=\"string\"&&(t=1),(e.type===\"category\"||e.type===\"multicategory\")&&(e._tickround=null),e.type===\"date\"){var r=e.r2l(e.tick0),n=e.l2r(r).replace(/(^-|i)/g,\"\"),i=n.length;if(String(t).charAt(0)===\"M\")i>10||n.substr(5)!==\"01-01\"?e._tickround=\"d\":e._tickround=+t.substr(1)%12===0?\"y\":\"m\";else if(t>=Fv&&i<=10||t>=Fv*15)e._tickround=\"d\";else if(t>=tM&&i<=16||t>=xm)e._tickround=\"M\";else if(t>=bL&&i<=19||t>=tM)e._tickround=\"S\";else{var a=e.l2r(r+t).replace(/^-/,\"\").length;e._tickround=Math.max(i,a)-20,e._tickround<0&&(e._tickround=4)}}else if(ph(t)||t.charAt(0)===\"L\"){var o=e.range.map(e.r2d||Number);ph(t)||(t=Number(t.substr(1))),e._tickround=2-Math.floor(Math.log(t)/Math.LN10+.01);var s=Math.max(Math.abs(o[0]),Math.abs(o[1])),l=Math.floor(Math.log(s)/Math.LN10+.01),u=e.minexponent===void 0?3:e.minexponent;Math.abs(l)>u&&(TL(e.exponentformat)&&!uB(l)?e._tickexponent=3*Math.round((l-1)/3):e._tickexponent=l)}else e._tickround=null}kn.tickIncrement=function(e,t,r,n){var i=r?-1:1;if(ph(t))return Vo.increment(e,i*t);var a=t.charAt(0),o=i*Number(t.substr(1));if(a===\"M\")return Vo.incrementMonth(e,o,n);if(a===\"L\")return Math.log(Math.pow(10,e)+o)/Math.LN10;if(a===\"D\"){var s=t===\"D2\"?gse:pse,l=e+i*.01,u=Vo.roundUp(Vo.mod(l,1),s,r);return Math.floor(l)+Math.log(w0.round(Math.pow(10,u),1))/Math.LN10}throw\"unrecognized dtick \"+String(t)};kn.tickFirst=function(e,t){var r=e.r2l||Number,n=Vo.simpleMap(e.range,r,void 0,void 0,t),i=n[1]<n[0],a=i?Math.floor:Math.ceil,o=lB(n)[0],s=e.dtick,l=r(e.tick0);if(ph(s)){var u=a((o-l)/s)*s+l;return(e.type===\"category\"||e.type===\"multicategory\")&&(u=Vo.constrain(u,0,e._categories.length-1)),u}var c=s.charAt(0),f=Number(s.substr(1));if(c===\"M\"){for(var h=0,d=l,v,x,b;h<10;){if(v=kn.tickIncrement(d,s,i,e.calendar),(v-o)*(d-o)<=0)return i?Math.min(d,v):Math.max(d,v);x=(o-(d+v)/2)/(v-d),b=c+(Math.abs(Math.round(x))||1)*f,d=kn.tickIncrement(d,b,x<0?!i:i,e.calendar),h++}return Vo.error(\"tickFirst did not converge\",e),d}else{if(c===\"L\")return Math.log(a((Math.pow(10,o)-l)/f)*f+l)/Math.LN10;if(c===\"D\"){var p=s===\"D2\"?gse:pse,E=Vo.roundUp(Vo.mod(o,1),p,i);return Math.floor(o)+Math.log(w0.round(Math.pow(10,E),1))/Math.LN10}else throw\"unrecognized dtick \"+String(s)}};kn.tickText=function(e,t,r,n){var i=yse(e,t),a=e.tickmode===\"array\",o=r||a,s=e.type,l=s===\"category\"?e.d2l_noadd:e.d2l,u,c=function(b){var p=e.l2p(b);return p>=0&&p<=e._length?b:null};if(a&&Vo.isArrayOrTypedArray(e.ticktext)){var f=Vo.simpleMap(e.range,e.r2l),h=(Math.abs(f[1]-f[0])-(e._lBreaks||0))/1e4;for(u=0;u<e.ticktext.length&&!(Math.abs(t-l(e.tickvals[u]))<h);u++);if(u<e.ticktext.length)return i.text=String(e.ticktext[u]),i.xbnd=[c(i.x-.5),c(i.x+e.dtick-.5)],i}function d(b){if(b===void 0)return!0;if(r)return b===\"none\";var p={first:e._tmin,last:e._tmax}[b];return b!==\"all\"&&t!==p}var v=r?\"never\":e.exponentformat!==\"none\"&&d(e.showexponent)?\"hide\":\"\";if(s===\"date\"?Mot(e,i,r,o):s===\"log\"?Eot(e,i,r,o,v):s===\"category\"?kot(e,i):s===\"multicategory\"?Cot(e,i,r):fB(e)?Pot(e,i,r,o,v):Lot(e,i,r,o,v),n||(e.tickprefix&&!d(e.showtickprefix)&&(i.text=e.tickprefix+i.text),e.ticksuffix&&!d(e.showticksuffix)&&(i.text+=e.ticksuffix)),e.labelalias&&e.labelalias.hasOwnProperty(i.text)){var x=e.labelalias[i.text];typeof x==\"string\"&&(i.text=x)}return(e.tickson===\"boundaries\"||e.showdividers)&&(i.xbnd=[c(i.x-.5),c(i.x+e.dtick-.5)]),i};kn.hoverLabelText=function(e,t,r){r&&(e=Vo.extendFlat({},e,{hoverformat:r}));var n=Vo.isArrayOrTypedArray(t)?t[0]:t,i=Vo.isArrayOrTypedArray(t)?t[1]:void 0;if(i!==void 0&&i!==n)return kn.hoverLabelText(e,n,r)+\" - \"+kn.hoverLabelText(e,i,r);var a=e.type===\"log\"&&n<=0,o=kn.tickText(e,e.c2l(a?-n:n),\"hover\").text;return a?n===0?\"0\":kb+o:o};function yse(e,t,r){var n=e.tickfont||{};return{x:t,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}}function Mot(e,t,r,n){var i=e._tickround,a=r&&e.hoverformat||kn.getTickFormat(e);n=!a&&n,n&&(ph(i)?i=4:i={y:\"m\",m:\"d\",d:\"M\",M:\"S\",S:4}[i]);var o=Vo.formatDate(t.x,a,i,e._dateFormat,e.calendar,e._extraFormat),s,l=o.indexOf(`\n", - "`);if(l!==-1&&(s=o.substr(l+1),o=o.substr(0,l)),n&&(s!==void 0&&(o===\"00:00:00\"||o===\"00:00\")?(o=s,s=\"\"):o.length===8&&(o=o.replace(/:00$/,\"\"))),s)if(r)i===\"d\"?o+=\", \"+s:o=s+(o?\", \"+o:\"\");else if(!e._inCalcTicks||e._prevDateHead!==s)e._prevDateHead=s,o+=\"<br>\"+s;else{var u=nM(e),c=e._trueSide||e.side;(!u&&c===\"top\"||u&&c===\"bottom\")&&(o+=\"<br> \")}t.text=o}function Eot(e,t,r,n,i){var a=e.dtick,o=t.x,s=e.tickformat,l=typeof a==\"string\"&&a.charAt(0);if(i===\"never\"&&(i=\"\"),n&&l!==\"L\"&&(a=\"L3\",l=\"L\"),s||l===\"L\")t.text=iM(Math.pow(10,o),e,i,n);else if(ph(a)||l===\"D\"&&Vo.mod(o+.01,1)<.1){var u=Math.round(o),c=Math.abs(u),f=e.exponentformat;f===\"power\"||TL(f)&&uB(u)?(u===0?t.text=1:u===1?t.text=\"10\":t.text=\"10<sup>\"+(u>1?\"\":kb)+c+\"</sup>\",t.fontSize*=1.25):(f===\"e\"||f===\"E\")&&c>2?t.text=\"1\"+f+(u>0?\"+\":kb)+c:(t.text=iM(Math.pow(10,o),e,\"\",\"fakehover\"),a===\"D1\"&&e._id.charAt(0)===\"y\"&&(t.dy-=t.fontSize/6))}else if(l===\"D\")t.text=String(Math.round(Math.pow(10,Vo.mod(o,1)))),t.fontSize*=.75;else throw\"unrecognized dtick \"+String(a);if(e.dtick===\"D1\"){var h=String(t.text).charAt(0);(h===\"0\"||h===\"1\")&&(e._id.charAt(0)===\"y\"?t.dx-=t.fontSize/4:(t.dy+=t.fontSize/2,t.dx+=(e.range[1]>e.range[0]?1:-1)*t.fontSize*(o<0?.5:.25)))}}function kot(e,t){var r=e._categories[Math.round(t.x)];r===void 0&&(r=\"\"),t.text=String(r)}function Cot(e,t,r){var n=Math.round(t.x),i=e._categories[n]||[],a=i[1]===void 0?\"\":String(i[1]),o=i[0]===void 0?\"\":String(i[0]);r?t.text=o+\" - \"+a:(t.text=a,t.text2=o)}function Lot(e,t,r,n,i){i===\"never\"?i=\"\":e.showexponent===\"all\"&&Math.abs(t.x/e.dtick)<1e-6&&(i=\"hide\"),t.text=iM(t.x,e,i,n)}function Pot(e,t,r,n,i){if(e.thetaunit===\"radians\"&&!r){var a=t.x/180;if(a===0)t.text=\"0\";else{var o=Iot(a);if(o[1]>=100)t.text=iM(Vo.deg2rad(t.x),e,i,n);else{var s=t.x<0;o[1]===1?o[0]===1?t.text=\"\\u03C0\":t.text=o[0]+\"\\u03C0\":t.text=[\"<sup>\",o[0],\"</sup>\",\"\\u2044\",\"<sub>\",o[1],\"</sub>\",\"\\u03C0\"].join(\"\"),s&&(t.text=kb+t.text)}}}else t.text=iM(t.x,e,i,n)}function Iot(e){function t(s,l){return Math.abs(s-l)<=1e-6}function r(s,l){return t(l,0)?s:r(l,s%l)}function n(s){for(var l=1;!t(Math.round(s*l)/l,s);)l*=10;return l}var i=n(e),a=e*i,o=Math.abs(r(a,i));return[Math.round(a/o),Math.round(i/o)]}var Rot=[\"f\",\"p\",\"n\",\"\\u03BC\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\"];function TL(e){return e===\"SI\"||e===\"B\"}function uB(e){return e>14||e<-15}function iM(e,t,r,n){var i=e<0,a=t._tickround,o=r||t.exponentformat||\"B\",s=t._tickexponent,l=kn.getTickFormat(t),u=t.separatethousands;if(n){var c={exponentformat:o,minexponent:t.minexponent,dtick:t.showexponent===\"none\"?t.dtick:ph(e)&&Math.abs(e)||1,range:t.showexponent===\"none\"?t.range.map(t.r2d):[0,e||1]};mse(c),a=(Number(c._tickround)||0)+4,s=c._tickexponent,t.hoverformat&&(l=t.hoverformat)}if(l)return t._numFormat(l)(e).replace(/-/g,kb);var f=Math.pow(10,-a)/2;if(o===\"none\"&&(s=0),e=Math.abs(e),e<f)e=\"0\",i=!1;else{if(e+=f,s&&(e*=Math.pow(10,-s),a+=s),a===0)e=String(Math.floor(e));else if(a<0){e=String(Math.round(e)),e=e.substr(0,e.length+a);for(var h=a;h<0;h++)e+=\"0\"}else{e=String(e);var d=e.indexOf(\".\")+1;d&&(e=e.substr(0,d+a).replace(/\\.?0+$/,\"\"))}e=Vo.numSeparate(e,t._separators,u)}if(s&&o!==\"hide\"){TL(o)&&uB(s)&&(o=\"power\");var v;s<0?v=kb+-s:o!==\"power\"?v=\"+\"+s:v=String(s),o===\"e\"||o===\"E\"?e+=o+v:o===\"power\"?e+=\"\\xD710<sup>\"+v+\"</sup>\":o===\"B\"&&s===9?e+=\"B\":TL(o)&&(e+=Rot[s/3+5])}return i?kb+e:e}kn.getTickFormat=function(e){var t;function r(l){return typeof l!=\"string\"?l:Number(l.replace(\"M\",\"\"))*R3}function n(l,u){var c=[\"L\",\"D\"];if(typeof l==typeof u){if(typeof l==\"number\")return l-u;var f=c.indexOf(l.charAt(0)),h=c.indexOf(u.charAt(0));return f===h?Number(l.replace(/(L|D)/g,\"\"))-Number(u.replace(/(L|D)/g,\"\")):f-h}else return typeof l==\"number\"?1:-1}function i(l,u,c){var f=c||function(v){return v},h=u[0],d=u[1];return(!h&&typeof h!=\"number\"||f(h)<=f(l))&&(!d&&typeof d!=\"number\"||f(d)>=f(l))}function a(l,u){var c=u[0]===null,f=u[1]===null,h=n(l,u[0])>=0,d=n(l,u[1])<=0;return(c||h)&&(f||d)}var o,s;if(e.tickformatstops&&e.tickformatstops.length>0)switch(e.type){case\"date\":case\"linear\":{for(t=0;t<e.tickformatstops.length;t++)if(s=e.tickformatstops[t],s.enabled&&i(e.dtick,s.dtickrange,r)){o=s;break}break}case\"log\":{for(t=0;t<e.tickformatstops.length;t++)if(s=e.tickformatstops[t],s.enabled&&a(e.dtick,s.dtickrange)){o=s;break}break}default:}return o?o.value:e.tickformat};kn.getSubplots=function(e,t){var r=e._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=t?kn.findSubplotsWithAxis(n,t):n;return i.sort(function(a,o){var s=a.substr(1).split(\"y\"),l=o.substr(1).split(\"y\");return s[0]===l[0]?+s[1]-+l[1]:+s[0]-+l[0]}),i};kn.findSubplotsWithAxis=function(e,t){for(var r=new RegExp(t._id.charAt(0)===\"x\"?\"^\"+t._id+\"y\":t._id+\"$\"),n=[],i=0;i<e.length;i++){var a=e[i];r.test(a)&&n.push(a)}return n};kn.makeClipPaths=function(e){var t=e._fullLayout;if(!t._hasOnlyLargeSploms){var r={_offset:0,_length:t.width,_id:\"\"},n={_offset:0,_length:t.height,_id:\"\"},i=kn.list(e,\"x\",!0),a=kn.list(e,\"y\",!0),o=[],s,l;for(s=0;s<i.length;s++)for(o.push({x:i[s],y:n}),l=0;l<a.length;l++)s===0&&o.push({x:r,y:a[l]}),o.push({x:i[s],y:a[l]});var u=t._clips.selectAll(\".axesclip\").data(o,function(c){return c.x._id+c.y._id});u.enter().append(\"clipPath\").classed(\"axesclip\",!0).attr(\"id\",function(c){return\"clip\"+t._uid+c.x._id+c.y._id}).append(\"rect\"),u.exit().remove(),u.each(function(c){w0.select(this).select(\"rect\").attr({x:c.x._offset||0,y:c.y._offset||0,width:c.x._length||1,height:c.y._length||1})})}};kn.draw=function(e,t,r){var n=e._fullLayout;t===\"redraw\"&&n._paper.selectAll(\"g.subplot\").each(function(l){var u=l[0],c=n._plots[u];if(c){var f=c.xaxis,h=c.yaxis;c.xaxislayer.selectAll(\".\"+f._id+\"tick\").remove(),c.yaxislayer.selectAll(\".\"+h._id+\"tick\").remove(),c.xaxislayer.selectAll(\".\"+f._id+\"tick2\").remove(),c.yaxislayer.selectAll(\".\"+h._id+\"tick2\").remove(),c.xaxislayer.selectAll(\".\"+f._id+\"divider\").remove(),c.yaxislayer.selectAll(\".\"+h._id+\"divider\").remove(),c.minorGridlayer&&c.minorGridlayer.selectAll(\"path\").remove(),c.gridlayer&&c.gridlayer.selectAll(\"path\").remove(),c.zerolinelayer&&c.zerolinelayer.selectAll(\"path\").remove(),n._infolayer.select(\".g-\"+f._id+\"title\").remove(),n._infolayer.select(\".g-\"+h._id+\"title\").remove()}});var i=!t||t===\"redraw\"?kn.listIds(e):t,a=kn.list(e),o=a.filter(function(l){return l.autoshift}).map(function(l){return l.overlaying});i.map(function(l){var u=kn.getFromId(e,l);if(u.tickmode===\"sync\"&&u.overlaying){var c=i.findIndex(function(f){return f===u.overlaying});c>=0&&i.unshift(i.splice(c,1).shift())}});var s={false:{left:0,right:0}};return Vo.syncOrAsync(i.map(function(l){return function(){if(l){var u=kn.getFromId(e,l);r||(r={}),r.axShifts=s,r.overlayingShiftedAx=o;var c=kn.drawOne(e,u,r);return u._shiftPusher&&sB(u,u._fullDepth||0,s,!0),u._r=u.range.slice(),u._rl=Vo.simpleMap(u._r,u.r2l),c}}}))};kn.drawOne=function(e,t,r){r=r||{};var n=r.axShifts||{},i=r.overlayingShiftedAx||[],a,o,s;t.setScale();var l=e._fullLayout,u=t._id,c=u.charAt(0),f=kn.counterLetter(u),h=l._plots[t._mainSubplot];if(!h)return;if(t._shiftPusher=t.autoshift||i.indexOf(t._id)!==-1||i.indexOf(t.overlaying)!==-1,t._shiftPusher&t.anchor===\"free\"){var d=t.linewidth/2||0;t.ticks===\"inside\"&&(d+=t.ticklen),sB(t,d,n,!0),sB(t,t.shift||0,n,!1)}(r.skipTitle!==!0||t._shift===void 0)&&(t._shift=Wot(t,n));var v=h[c+\"axislayer\"],x=t._mainLinePosition,b=x+=t._shift,p=t._mainMirrorPosition,E=t._vals=kn.calcTicks(t),k=[t.mirror,b,p].join(\"_\");for(a=0;a<E.length;a++)E[a].axInfo=k;t._selections={},t._tickAngles&&(t._prevTickAngles=t._tickAngles),t._tickAngles={},t._depth=null;var A={};function L(rt){var ot=u+(rt||\"tick\");return A[ot]||(A[ot]=qot(t,ot,b)),A[ot]}if(t.visible){var _=kn.makeTransTickFn(t),C=kn.makeTransTickLabelFn(t),M,g,P=t.ticks===\"inside\",T=t.ticks===\"outside\";if(t.tickson===\"boundaries\"){var F=Dot(t,E);g=kn.clipEnds(t,F),M=P?g:F}else g=kn.clipEnds(t,E),M=P&&t.ticklabelmode!==\"period\"?g:E;var q=t._gridVals=g,V=Fot(t,E);if(!l._hasOnlyLargeSploms){var H=t._subplotsWith,X={};for(a=0;a<H.length;a++){o=H[a],s=l._plots[o];var G=s[f+\"axis\"],N=G._mainAxis._id;if(!X[N]){X[N]=1;var W=c===\"x\"?\"M0,\"+G._offset+\"v\"+G._length:\"M\"+G._offset+\",0h\"+G._length;kn.drawGrid(e,t,{vals:q,counterAxis:G,layer:s.gridlayer.select(\".\"+u),minorLayer:s.minorGridlayer.select(\".\"+u),path:W,transFn:_}),kn.drawZeroLine(e,t,{counterAxis:G,layer:s.zerolinelayer,path:W,transFn:_})}}}var re,ae=kn.getTickSigns(t),_e=kn.getTickSigns(t,\"minor\");if(t.ticks||t.minor&&t.minor.ticks){var Me=kn.makeTickPath(t,b,ae[2]),ke=kn.makeTickPath(t,b,_e[2],{minor:!0}),ge,ie,Te,Ee;if(t._anchorAxis&&t.mirror&&t.mirror!==!0?(ge=kn.makeTickPath(t,p,ae[3]),ie=kn.makeTickPath(t,p,_e[3],{minor:!0}),Te=Me+ge,Ee=ke+ie):(ge=\"\",ie=\"\",Te=Me,Ee=ke),t.showdividers&&T&&t.tickson===\"boundaries\"){var Ae={};for(a=0;a<V.length;a++)Ae[V[a].x]=1;re=function(rt){return Ae[rt.x]?ge:Te}}else re=function(rt){return rt.minor?Ee:Te}}if(kn.drawTicks(e,t,{vals:M,layer:v,path:re,transFn:_}),t.mirror===\"allticks\"){var ze=Object.keys(t._linepositions||{});for(a=0;a<ze.length;a++){o=ze[a],s=l._plots[o];var Ce=t._linepositions[o]||[],me=Ce[0],Re=Ce[1],ce=Ce[2],Ge=kn.makeTickPath(t,me,ce?ae[0]:_e[0],{minor:ce})+kn.makeTickPath(t,Re,ce?ae[1]:_e[1],{minor:ce});kn.drawTicks(e,t,{vals:M,layer:s[c+\"axislayer\"],path:Ge,transFn:_})}}var nt=[];if(nt.push(function(){return kn.drawLabels(e,t,{vals:E,layer:v,plotinfo:s,transFn:C,labelFns:kn.makeLabelFns(t,b)})}),t.type===\"multicategory\"){var ct={x:2,y:10}[c];nt.push(function(){var rt={x:\"height\",y:\"width\"}[c],ot=L()[rt]+ct+(t._tickAngles[u+\"tick\"]?t.tickfont.size*rM:0);return kn.drawLabels(e,t,{vals:zot(t,E),layer:v,cls:u+\"tick2\",repositionOnUpdate:!0,secondary:!0,transFn:_,labelFns:kn.makeLabelFns(t,b+ot*ae[4])})}),nt.push(function(){return t._depth=ae[4]*(L(\"tick2\")[t.side]-b),Bot(e,t,{vals:V,layer:v,path:kn.makeTickPath(t,b,ae[4],{len:t._depth}),transFn:_})})}else t.title.hasOwnProperty(\"standoff\")&&nt.push(function(){t._depth=ae[4]*(L()[t.side]-b)});var qt=QS.getComponentMethod(\"rangeslider\",\"isVisible\")(t);return!r.skipTitle&&!(qt&&t.side===\"bottom\")&&nt.push(function(){return Not(e,t)}),nt.push(function(){var rt=t.side.charAt(0),ot=dot[t.side].charAt(0),Rt=kn.getPxPosition(e,t),kt=T?t.ticklen:0,Ct,Yt,xr,er;(t.automargin||qt||t._shiftPusher)&&(t.type===\"multicategory\"?Ct=L(\"tick2\"):(Ct=L(),c===\"x\"&&rt===\"b\"&&(t._depth=Math.max(Ct.width>0?Ct.bottom-Rt:0,kt))));var Ke=0,xt=0;if(t._shiftPusher&&(Ke=Math.max(kt,Ct.height>0?rt===\"l\"?Rt-Ct.left:Ct.right-Rt:0),t.title.text!==l._dfltTitle[c]&&(xt=(t._titleStandoff||0)+(t._titleScoot||0),rt===\"l\"&&(xt+=fse(t))),t._fullDepth=Math.max(Ke,xt)),t.automargin){Yt={x:0,y:0,r:0,l:0,t:0,b:0};var bt=[0,1],Lt=typeof t._shift==\"number\"?t._shift:0;if(c===\"x\"){if(rt===\"b\"?Yt[rt]=t._depth:(Yt[rt]=t._depth=Math.max(Ct.width>0?Rt-Ct.top:0,kt),bt.reverse()),Ct.width>0){var St=Ct.right-(t._offset+t._length);St>0&&(Yt.xr=1,Yt.r=St);var Et=t._offset-Ct.left;Et>0&&(Yt.xl=0,Yt.l=Et)}}else if(rt===\"l\"?(t._depth=Math.max(Ct.height>0?Rt-Ct.left:0,kt),Yt[rt]=t._depth-Lt):(t._depth=Math.max(Ct.height>0?Ct.right-Rt:0,kt),Yt[rt]=t._depth+Lt,bt.reverse()),Ct.height>0){var dt=Ct.bottom-(t._offset+t._length);dt>0&&(Yt.yb=0,Yt.b=dt);var Ht=t._offset-Ct.top;Ht>0&&(Yt.yt=1,Yt.t=Ht)}Yt[f]=t.anchor===\"free\"?t.position:t._anchorAxis.domain[bt[0]],t.title.text!==l._dfltTitle[c]&&(Yt[rt]+=fse(t)+(t.title.standoff||0)),t.mirror&&t.anchor!==\"free\"&&(xr={x:0,y:0,r:0,l:0,t:0,b:0},xr[ot]=t.linewidth,t.mirror&&t.mirror!==!0&&(xr[ot]+=kt),t.mirror===!0||t.mirror===\"ticks\"?xr[f]=t._anchorAxis.domain[bt[1]]:(t.mirror===\"all\"||t.mirror===\"allticks\")&&(xr[f]=[t._counterDomainMin,t._counterDomainMax][bt[1]]))}qt&&(er=QS.getComponentMethod(\"rangeslider\",\"autoMarginOpts\")(e,t)),typeof t.automargin==\"string\"&&(cse(Yt,t.automargin),cse(xr,t.automargin)),P3.autoMargin(e,cB(t),Yt),P3.autoMargin(e,xse(t),xr),P3.autoMargin(e,bse(t),er)}),Vo.syncOrAsync(nt)}};function cse(e,t){if(e){var r=Object.keys(ise).reduce(function(n,i){return t.indexOf(i)!==-1&&ise[i].forEach(function(a){n[a]=1}),n},{});Object.keys(e).forEach(function(n){r[n]||(n.length===1?e[n]=0:delete e[n])})}}function Dot(e,t){var r=[],n,i=function(a,o){var s=a.xbnd[o];s!==null&&r.push(Vo.extendFlat({},a,{x:s}))};if(t.length){for(n=0;n<t.length;n++)i(t[n],0);i(t[n-1],1)}return r}function zot(e,t){for(var r=[],n={},i=0;i<t.length;i++){var a=t[i];n[a.text2]?n[a.text2].push(a.x):n[a.text2]=[a.x]}for(var o in n)r.push(yse(e,Vo.interp(n[o],.5),o));return r}function Fot(e,t){var r=[],n,i,a=t.length&&t[t.length-1].x<t[0].x,o=function(l,u){var c=l.xbnd[u];c!==null&&r.push(Vo.extendFlat({},l,{x:c}))};if(e.showdividers&&t.length){for(n=0;n<t.length;n++){var s=t[n];s.text2!==i&&o(s,a?1:0),i=s.text2}o(t[n-1],a?0:1)}return r}function qot(e,t,r){var n,i,a,o;if(e._selections[t].size())n=1/0,i=-1/0,a=1/0,o=-1/0,e._selections[t].each(function(){var l=oB(this),u=Xp.bBox(l.node().parentNode);n=Math.min(n,u.top),i=Math.max(i,u.bottom),a=Math.min(a,u.left),o=Math.max(o,u.right)});else{var s=kn.makeLabelFns(e,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}}kn.getTickSigns=function(e,t){var r=e._id.charAt(0),n={x:\"top\",y:\"right\"}[r],i=e.side===n?1:-1,a=[-1,1,i,-i],o=t?(e.minor||{}).ticks:e.ticks;return o!==\"inside\"==(r===\"x\")&&(a=a.map(function(s){return-s})),e.side&&a.push({l:-1,t:-1,r:1,b:1}[e.side.charAt(0)]),a};kn.makeTransTickFn=function(e){return e._id.charAt(0)===\"x\"?function(t){return I3(e._offset+e.l2p(t.x),0)}:function(t){return I3(0,e._offset+e.l2p(t.x))}};kn.makeTransTickLabelFn=function(e){var t=Oot(e),r=e.ticklabelshift||0,n=e.ticklabelstandoff||0,i=t[0],a=t[1],o=e.range[0]>e.range[1],s=e.ticklabelposition&&e.ticklabelposition.indexOf(\"inside\")!==-1,l=!s;if(r){var u=o?-1:1;r=r*u}if(n){var c=e.side,f=s&&(c===\"top\"||c===\"left\")||l&&(c===\"bottom\"||c===\"right\")?1:-1;n=n*f}return e._id.charAt(0)===\"x\"?function(h){return I3(i+e._offset+e.l2p(aB(h))+r,a+n)}:function(h){return I3(a+n,i+e._offset+e.l2p(aB(h))+r)}};function aB(e){return e.periodX!==void 0?e.periodX:e.x}function Oot(e){var t=e.ticklabelposition||\"\",r=function(d){return t.indexOf(d)!==-1},n=r(\"top\"),i=r(\"left\"),a=r(\"right\"),o=r(\"bottom\"),s=r(\"inside\"),l=o||i||n||a;if(!l&&!s)return[0,0];var u=e.side,c=l?(e.tickwidth||0)/2:0,f=wL,h=e.tickfont?e.tickfont.size:12;return(o||n)&&(c+=h*Cb,f+=(e.linewidth||0)/2),(i||a)&&(c+=(e.linewidth||0)/2,f+=wL),s&&u===\"top\"&&(f-=h*(1-Cb)),(i||n)&&(c=-c),(u===\"bottom\"||u===\"right\")&&(f=-f),[l?c:0,s?f:0]}kn.makeTickPath=function(e,t,r,n){n||(n={});var i=n.minor;if(i&&!e.minor)return\"\";var a=n.len!==void 0?n.len:i?e.minor.ticklen:e.ticklen,o=e._id.charAt(0),s=(e.linewidth||1)/2;return o===\"x\"?\"M0,\"+(t+s*r)+\"v\"+a*r:\"M\"+(t+s*r)+\",0h\"+a*r};kn.makeLabelFns=function(e,t,r){var n=e.ticklabelposition||\"\",i=function(F){return n.indexOf(F)!==-1},a=i(\"top\"),o=i(\"left\"),s=i(\"right\"),l=i(\"bottom\"),u=l||o||a||s,c=i(\"inside\"),f=n===\"inside\"&&e.ticks===\"inside\"||!c&&e.ticks===\"outside\"&&e.tickson!==\"boundaries\",h=0,d=0,v=f?e.ticklen:0;if(c?v*=-1:u&&(v=0),f&&(h+=v,r)){var x=Vo.deg2rad(r);h=v*Math.cos(x)+1,d=v*Math.sin(x)}e.showticklabels&&(f||e.showline)&&(h+=.2*e.tickfont.size),h+=(e.linewidth||1)/2*(c?-1:1);var b={labelStandoff:h,labelShift:d},p,E,k,A,L=0,_=e.side,C=e._id.charAt(0),M=e.tickangle,g;if(C===\"x\")g=!c&&_===\"bottom\"||c&&_===\"top\",A=g?1:-1,c&&(A*=-1),p=d*A,E=t+h*A,k=g?1:-.2,Math.abs(M)===90&&(c?k+=$S:M===-90&&_===\"bottom\"?k=Cb:M===90&&_===\"top\"?k=$S:k=.5,L=$S/2*(M/90)),b.xFn=function(F){return F.dx+p+L*F.fontSize},b.yFn=function(F){return F.dy+E+F.fontSize*k},b.anchorFn=function(F,q){if(u){if(o)return\"end\";if(s)return\"start\"}return!ph(q)||q===0||q===180?\"middle\":q*A<0!==c?\"end\":\"start\"},b.heightFn=function(F,q,V){return q<-60||q>60?-.5*V:e.side===\"top\"!==c?-V:0};else if(C===\"y\"){if(g=!c&&_===\"left\"||c&&_===\"right\",A=g?1:-1,c&&(A*=-1),p=h,E=d*A,k=0,!c&&Math.abs(M)===90&&(M===-90&&_===\"left\"||M===90&&_===\"right\"?k=Cb:k=.5),c){var P=ph(M)?+M:0;if(P!==0){var T=Vo.deg2rad(P);L=Math.abs(Math.sin(T))*Cb*A,k=0}}b.xFn=function(F){return F.dx+t-(p+F.fontSize*k)*A+L*F.fontSize},b.yFn=function(F){return F.dy+E+F.fontSize*$S},b.anchorFn=function(F,q){return ph(q)&&Math.abs(q)===90?\"middle\":g?\"end\":\"start\"},b.heightFn=function(F,q,V){return e.side===\"right\"&&(q*=-1),q<-30?-V:q<30?-.5*V:0}}return b};function ML(e){return[e.text,e.x,e.axInfo,e.font,e.fontSize,e.fontColor].join(\"_\")}kn.drawTicks=function(e,t,r){r=r||{};var n=t._id+\"tick\",i=[].concat(t.minor&&t.minor.ticks?r.vals.filter(function(o){return o.minor&&!o.noTick}):[]).concat(t.ticks?r.vals.filter(function(o){return!o.minor&&!o.noTick}):[]),a=r.layer.selectAll(\"path.\"+n).data(i,ML);a.exit().remove(),a.enter().append(\"path\").classed(n,1).classed(\"ticks\",1).classed(\"crisp\",r.crisp!==!1).each(function(o){return eM.stroke(w0.select(this),o.minor?t.minor.tickcolor:t.tickcolor)}).style(\"stroke-width\",function(o){return Xp.crispRound(e,o.minor?t.minor.tickwidth:t.tickwidth,1)+\"px\"}).attr(\"d\",r.path).style(\"display\",null),EL(t,[hse]),a.attr(\"transform\",r.transFn)};kn.drawGrid=function(e,t,r){if(r=r||{},t.tickmode!==\"sync\"){var n=t._id+\"grid\",i=t.minor&&t.minor.showgrid,a=i?r.vals.filter(function(p){return p.minor}):[],o=t.showgrid?r.vals.filter(function(p){return!p.minor}):[],s=r.counterAxis;if(s&&kn.shouldShowZeroLine(e,t,s))for(var l=t.tickmode===\"array\",u=0;u<o.length;u++){var c=o[u].x;if(l?!c:Math.abs(c)<t.dtick/100)if(o=o.slice(0,u).concat(o.slice(u+1)),l)u--;else break}t._gw=Xp.crispRound(e,t.gridwidth,1);for(var f=i?Xp.crispRound(e,t.minor.gridwidth,1):0,h=r.layer,d=r.minorLayer,v=1;v>=0;v--){var x=v?h:d;if(x){var b=x.selectAll(\"path.\"+n).data(v?o:a,ML);b.exit().remove(),b.enter().append(\"path\").classed(n,1).classed(\"crisp\",r.crisp!==!1),b.attr(\"transform\",r.transFn).attr(\"d\",r.path).each(function(p){return eM.stroke(w0.select(this),p.minor?t.minor.gridcolor:t.gridcolor||\"#ddd\")}).style(\"stroke-dasharray\",function(p){return Xp.dashStyle(p.minor?t.minor.griddash:t.griddash,p.minor?t.minor.gridwidth:t.gridwidth)}).style(\"stroke-width\",function(p){return(p.minor?f:t._gw)+\"px\"}).style(\"display\",null),typeof r.path==\"function\"&&b.attr(\"d\",r.path)}}EL(t,[iB,nB])}};kn.drawZeroLine=function(e,t,r){r=r||r;var n=t._id+\"zl\",i=kn.shouldShowZeroLine(e,t,r.counterAxis),a=r.layer.selectAll(\"path.\"+n).data(i?[{x:0,id:t._id}]:[]);a.exit().remove(),a.enter().append(\"path\").classed(n,1).classed(\"zl\",1).classed(\"crisp\",r.crisp!==!1).each(function(){r.layer.selectAll(\"path\").sort(function(o,s){return pot(o.id,s.id)})}),a.attr(\"transform\",r.transFn).attr(\"d\",r.path).call(eM.stroke,t.zerolinecolor||eM.defaultLine).style(\"stroke-width\",Xp.crispRound(e,t.zerolinewidth,t._gw||1)+\"px\").style(\"display\",null),EL(t,[rB])};kn.drawLabels=function(e,t,r){r=r||{};var n=e._fullLayout,i=t._id,a=r.cls||i+\"tick\",o=r.vals.filter(function(N){return N.text}),s=r.labelFns,l=r.secondary?0:t.tickangle,u=(t._prevTickAngles||{})[a],c=r.layer.selectAll(\"g.\"+a).data(t.showticklabels?o:[],ML),f=[];c.enter().append(\"g\").classed(a,1).append(\"text\").attr(\"text-anchor\",\"middle\").each(function(N){var W=w0.select(this),re=e._promises.length;W.call(Eb.positionText,s.xFn(N),s.yFn(N)).call(Xp.font,{family:N.font,size:N.fontSize,color:N.fontColor,weight:N.fontWeight,style:N.fontStyle,variant:N.fontVariant,textcase:N.fontTextcase,lineposition:N.fontLineposition,shadow:N.fontShadow}).text(N.text).call(Eb.convertToTspans,e),e._promises[re]?f.push(e._promises.pop().then(function(){h(W,l)})):h(W,l)}),EL(t,[rse]),c.exit().remove(),r.repositionOnUpdate&&c.each(function(N){w0.select(this).select(\"text\").call(Eb.positionText,s.xFn(N),s.yFn(N))});function h(N,W){N.each(function(re){var ae=w0.select(this),_e=ae.select(\".text-math-group\"),Me=s.anchorFn(re,W),ke=r.transFn.call(ae.node(),re)+(ph(W)&&+W!=0?\" rotate(\"+W+\",\"+s.xFn(re)+\",\"+(s.yFn(re)-re.fontSize/2)+\")\":\"\"),ge=Eb.lineCount(ae),ie=rM*re.fontSize,Te=s.heightFn(re,ph(W)?+W:0,(ge-1)*ie);if(Te&&(ke+=I3(0,Te)),_e.empty()){var Ee=ae.select(\"text\");Ee.attr({transform:ke,\"text-anchor\":Me}),Ee.style(\"opacity\",1),t._adjustTickLabelsOverflow&&t._adjustTickLabelsOverflow()}else{var Ae=Xp.bBox(_e.node()).width,ze=Ae*{end:-.5,start:.5}[Me];_e.attr(\"transform\",ke+I3(ze,0))}})}t._adjustTickLabelsOverflow=function(){var N=t.ticklabeloverflow;if(!(!N||N===\"allow\")){var W=N.indexOf(\"hide\")!==-1,re=t._id.charAt(0)===\"x\",ae=0,_e=re?e._fullLayout.width:e._fullLayout.height;if(N.indexOf(\"domain\")!==-1){var Me=Vo.simpleMap(t.range,t.r2l);ae=t.l2p(Me[0])+t._offset,_e=t.l2p(Me[1])+t._offset}var ke=Math.min(ae,_e),ge=Math.max(ae,_e),ie=t.side,Te=1/0,Ee=-1/0;c.each(function(me){var Re=w0.select(this),ce=Re.select(\".text-math-group\");if(ce.empty()){var Ge=Xp.bBox(Re.node()),nt=0;re?(Ge.right>ge||Ge.left<ke)&&(nt=1):(Ge.bottom>ge||Ge.top+(t.tickangle?0:me.fontSize/4)<ke)&&(nt=1);var ct=Re.select(\"text\");nt?W&&ct.style(\"opacity\",0):(ct.style(\"opacity\",1),ie===\"bottom\"||ie===\"right\"?Te=Math.min(Te,re?Ge.top:Ge.left):Te=-1/0,ie===\"top\"||ie===\"left\"?Ee=Math.max(Ee,re?Ge.bottom:Ge.right):Ee=1/0)}});for(var Ae in n._plots){var ze=n._plots[Ae];if(!(t._id!==ze.xaxis._id&&t._id!==ze.yaxis._id)){var Ce=re?ze.yaxis:ze.xaxis;Ce&&(Ce[\"_visibleLabelMin_\"+t._id]=Te,Ce[\"_visibleLabelMax_\"+t._id]=Ee)}}}},t._hideCounterAxisInsideTickLabels=function(N){var W=t._id.charAt(0)===\"x\",re=[];for(var ae in n._plots){var _e=n._plots[ae];t._id!==_e.xaxis._id&&t._id!==_e.yaxis._id||re.push(W?_e.yaxis:_e.xaxis)}re.forEach(function(Me,ke){Me&&nM(Me)&&(N||[rB,nB,iB,hse,rse]).forEach(function(ge){var ie=ge.K===\"tick\"&&ge.L===\"text\"&&t.ticklabelmode===\"period\",Te=n._plots[t._mainSubplot],Ee;ge.K===rB.K?Ee=Te.zerolinelayer.selectAll(\".\"+t._id+\"zl\"):ge.K===nB.K?Ee=Te.minorGridlayer.selectAll(\".\"+t._id):ge.K===iB.K?Ee=Te.gridlayer.selectAll(\".\"+t._id):Ee=Te[t._id.charAt(0)+\"axislayer\"],Ee.each(function(){var Ae=w0.select(this);ge.L&&(Ae=Ae.selectAll(ge.L)),Ae.each(function(ze){var Ce=t.l2p(ie?aB(ze):ze.x)+t._offset,me=w0.select(this);Ce<t[\"_visibleLabelMax_\"+Me._id]&&Ce>t[\"_visibleLabelMin_\"+Me._id]?me.style(\"display\",\"none\"):ge.K===\"tick\"&&!ke&&me.style(\"display\",null)})})})})},h(c,u+1?u:l);function d(){return f.length&&Promise.all(f)}var v=null;function x(){if(h(c,l),o.length&&t.autotickangles&&(t.type!==\"log\"||String(t.dtick).charAt(0)!==\"D\")){v=t.autotickangles[0];var N=0,W=[],re,ae=1;c.each(function(Ct){N=Math.max(N,Ct.fontSize);var Yt=t.l2p(Ct.x),xr=oB(this),er=Xp.bBox(xr.node());ae=Math.max(ae,Eb.lineCount(xr)),W.push({top:0,bottom:10,height:10,left:Yt-er.width/2,right:Yt+er.width/2+2,width:er.width+2})});var _e=(t.tickson===\"boundaries\"||t.showdividers)&&!r.secondary,Me=o.length,ke=Math.abs((o[Me-1].x-o[0].x)*t._m)/(Me-1),ge=_e?ke/2:ke,ie=_e?t.ticklen:N*1.25*ae,Te=Math.sqrt(Math.pow(ge,2)+Math.pow(ie,2)),Ee=ge/Te,Ae=t.autotickangles.map(function(Ct){return Ct*Math.PI/180}),ze=Ae.find(function(Ct){return Math.abs(Math.cos(Ct))<=Ee});ze===void 0&&(ze=Ae.reduce(function(Ct,Yt){return Math.abs(Math.cos(Ct))<Math.abs(Math.cos(Yt))?Ct:Yt},Ae[0]));var Ce=ze*(180/Math.PI);if(_e){var me=2;for(t.ticks&&(me+=t.tickwidth/2),re=0;re<W.length;re++){var Re=o[re].xbnd,ce=W[re];if(Re[0]!==null&&ce.left-t.l2p(Re[0])<me||Re[1]!==null&&t.l2p(Re[1])-ce.right<me){v=Ce;break}}}else{var Ge=t.ticklabelposition||\"\",nt=function(Ct){return Ge.indexOf(Ct)!==-1},ct=nt(\"top\"),qt=nt(\"left\"),rt=nt(\"right\"),ot=nt(\"bottom\"),Rt=ot||qt||ct||rt,kt=Rt?(t.tickwidth||0)+2*wL:0;for(re=0;re<W.length-1;re++)if(Vo.bBoxIntersect(W[re],W[re+1],kt)){v=Ce;break}}v&&h(c,v)}}t._selections&&(t._selections[a]=c);var b=[d];t.automargin&&n._redrawFromAutoMarginCount&&u===90?(v=u,b.push(function(){h(c,u)})):b.push(x),t._tickAngles&&b.push(function(){t._tickAngles[a]=v===null?ph(l)?l:0:v});var p=function(){var N=0,W=0;return c.each(function(re,ae){var _e=oB(this),Me=_e.select(\".text-math-group\");if(Me.empty()){var ke;t._vals[ae]&&(ke=t._vals[ae].bb||Xp.bBox(_e.node()),t._vals[ae].bb=ke),N=Math.max(N,ke.width),W=Math.max(W,ke.height)}}),{labelsMaxW:N,labelsMaxH:W}},E=t._anchorAxis;if(E&&(E.autorange||E.insiderange)&&nM(t)&&!got(n,t._id)&&(n._insideTickLabelsUpdaterange||(n._insideTickLabelsUpdaterange={}),E.autorange&&(n._insideTickLabelsUpdaterange[E._name+\".autorange\"]=E.autorange,b.push(p)),E.insiderange)){var k=p(),A=t._id.charAt(0)===\"y\"?k.labelsMaxW:k.labelsMaxH;A+=2*wL,t.ticklabelposition===\"inside\"&&(A+=t.ticklen||0);var L=t.side===\"right\"||t.side===\"top\"?1:-1,_=L===1?1:0,C=L===1?0:1,M=[];M[C]=E.range[C];var g=E.range,P=E.r2p(g[_]),T=E.r2p(g[C]),F=n._insideTickLabelsUpdaterange[E._name+\".range\"];if(F){var q=E.r2p(F[_]),V=E.r2p(F[C]),H=L*(t._id.charAt(0)===\"y\"?1:-1);H*P<H*q&&(P=q,M[_]=g[_]=F[_]),H*T>H*V&&(T=V,M[C]=g[C]=F[C])}var X=Math.abs(T-P);X-A>0?(X-=A,A*=1+A/X):A=0,t._id.charAt(0)!==\"y\"&&(A=-A),M[_]=E.p2r(E.r2p(g[_])+L*A),E.autorange===\"min\"||E.autorange===\"max reversed\"?(M[0]=null,E._rangeInitial0=void 0,E._rangeInitial1=void 0):(E.autorange===\"max\"||E.autorange===\"min reversed\")&&(M[1]=null,E._rangeInitial0=void 0,E._rangeInitial1=void 0),n._insideTickLabelsUpdaterange[E._name+\".range\"]=M}var G=Vo.syncOrAsync(b);return G&&G.then&&e._promises.push(G),G};function Bot(e,t,r){var n=t._id+\"divider\",i=r.vals,a=r.layer.selectAll(\"path.\"+n).data(i,ML);a.exit().remove(),a.enter().insert(\"path\",\":first-child\").classed(n,1).classed(\"crisp\",1).call(eM.stroke,t.dividercolor).style(\"stroke-width\",Xp.crispRound(e,t.dividerwidth,1)+\"px\"),a.attr(\"transform\",r.transFn).attr(\"d\",r.path)}kn.getPxPosition=function(e,t){var r=e._fullLayout._size,n=t._id.charAt(0),i=t.side,a;if(t.anchor!==\"free\"?a=t._anchorAxis:n===\"x\"?a={_offset:r.t+(1-(t.position||0))*r.h,_length:0}:n===\"y\"&&(a={_offset:r.l+(t.position||0)*r.w+t._shift,_length:0}),i===\"top\"||i===\"left\")return a._offset;if(i===\"bottom\"||i===\"right\")return a._offset+a._length};function fse(e){var t=e.title.font.size,r=(e.title.text.match(Eb.BR_TAG_ALL)||[]).length;return e.title.hasOwnProperty(\"standoff\")?t*(Cb+r*rM):r?t*(r+1)*rM:t}function Not(e,t){var r=e._fullLayout,n=t._id,i=n.charAt(0),a=t.title.font.size,o,s=(t.title.text.match(Eb.BR_TAG_ALL)||[]).length;if(t.title.hasOwnProperty(\"standoff\"))t.side===\"bottom\"||t.side===\"right\"?o=t._depth+t.title.standoff+a*Cb:(t.side===\"top\"||t.side===\"left\")&&(o=t._depth+t.title.standoff+a*($S+s*rM));else{var l=nM(t);if(t.type===\"multicategory\")o=t._depth;else{var u=1.5*a;l&&(u=.5*a,t.ticks===\"outside\"&&(u+=t.ticklen)),o=10+u+(t.linewidth?t.linewidth-1:0)}l||(i===\"x\"?o+=t.side===\"top\"?a*(t.showticklabels?1:0):a*(t.showticklabels?1.5:.5):o+=t.side===\"right\"?a*(t.showticklabels?1:.5):a*(t.showticklabels?.5:0))}var c=kn.getPxPosition(e,t),f,h,d;i===\"x\"?(h=t._offset+t._length/2,d=t.side===\"top\"?c-o:c+o):(d=t._offset+t._length/2,h=t.side===\"right\"?c+o:c-o,f={rotate:\"-90\",offset:0});var v;if(t.type!==\"multicategory\"){var x=t._selections[t._id+\"tick\"];if(v={selection:x,side:t.side},x&&x.node()&&x.node().parentNode){var b=Xp.getTranslate(x.node().parentNode);v.offsetLeft=b.x,v.offsetTop=b.y}t.title.hasOwnProperty(\"standoff\")&&(v.pad=0)}return t._titleStandoff=o,oot.draw(e,n+\"title\",{propContainer:t,propName:t._name+\".title.text\",placeholder:r._dfltTitle[i],avoid:v,transform:f,attributes:{x:h,y:d,\"text-anchor\":\"middle\"}})}kn.shouldShowZeroLine=function(e,t,r){var n=Vo.simpleMap(t.range,t.r2l);return n[0]*n[1]<=0&&t.zeroline&&(t.type===\"linear\"||t.type===\"-\")&&!(t.rangebreaks&&t.maskBreaks(0)===AL)&&(_se(t,0)||!Uot(e,t,r,n)||Vot(e,t))};kn.clipEnds=function(e,t){return t.filter(function(r){return _se(e,r.x)})};function _se(e,t){var r=e.l2p(t);return r>1&&r<e._length-1}function Uot(e,t,r,n){var i=r._mainAxis;if(!i)return;var a=e._fullLayout,o=t._id.charAt(0),s=kn.counterLetter(t._id),l=t._offset+(Math.abs(n[0])<Math.abs(n[1])==(o===\"x\")?0:t._length);function u(v){if(!v.showline||!v.linewidth)return!1;var x=Math.max((v.linewidth+t.zerolinewidth)/2,1);function b(k){return typeof k==\"number\"&&Math.abs(k-l)<x}if(b(v._mainLinePosition)||b(v._mainMirrorPosition))return!0;var p=v._linepositions||{};for(var E in p)if(b(p[E][0])||b(p[E][1]))return!0}var c=a._plots[r._mainSubplot];if(!(c.mainplotinfo||c).overlays.length)return u(r,l);for(var f=kn.list(e,s),h=0;h<f.length;h++){var d=f[h];if(d._mainAxis===i&&u(d,l))return!0}}function Vot(e,t){for(var r=e._fullData,n=t._mainSubplot,i=t._id.charAt(0),a=0;a<r.length;a++){var o=r[a];if(o.visible===!0&&o.xaxis+o.yaxis===n&&(QS.traceIs(o,\"bar-like\")&&o.orientation==={x:\"h\",y:\"v\"}[i]||o.fill&&o.fill.charAt(o.fill.length-1)===i))return!0}return!1}function oB(e){var t=w0.select(e),r=t.select(\".text-math-group\");return r.empty()?t.select(\"text\"):r}kn.allowAutoMargin=function(e){for(var t=kn.list(e,\"\",!0),r=0;r<t.length;r++){var n=t[r];n.automargin&&(P3.allowAutoMargin(e,cB(n)),n.mirror&&P3.allowAutoMargin(e,xse(n))),QS.getComponentMethod(\"rangeslider\",\"isVisible\")(n)&&P3.allowAutoMargin(e,bse(n))}};function cB(e){return e._id+\".automargin\"}function xse(e){return cB(e)+\".mirror\"}function bse(e){return e._id+\".rangeslider\"}kn.swap=function(e,t){for(var r=Hot(e,t),n=0;n<r.length;n++)Got(e,r[n].x,r[n].y)};function Hot(e,t){var r=[],n,i;for(n=0;n<t.length;n++){var a=[],o=e._fullData[t[n]].xaxis,s=e._fullData[t[n]].yaxis;if(!(!o||!s)){for(i=0;i<r.length;i++)(r[i].x.indexOf(o)!==-1||r[i].y.indexOf(s)!==-1)&&a.push(i);if(!a.length){r.push({x:[o],y:[s]});continue}var l=r[a[0]],u;if(a.length>1)for(i=1;i<a.length;i++)u=r[a[i]],gL(l.x,u.x),gL(l.y,u.y);gL(l.x,[o]),gL(l.y,[s])}}return r}function gL(e,t){for(var r=0;r<t.length;r++)e.indexOf(t[r])===-1&&e.push(t[r])}function Got(e,t,r){var n=[],i=[],a=e.layout,o,s;for(o=0;o<t.length;o++)n.push(kn.getFromId(e,t[o]));for(o=0;o<r.length;o++)i.push(kn.getFromId(e,r[o]));var l=Object.keys(sot),u=[\"anchor\",\"domain\",\"overlaying\",\"position\",\"side\",\"tickangle\",\"editType\"],c=[\"linear\",\"log\"];for(o=0;o<l.length;o++){var f=l[o],h=n[0][f],d=i[0][f],v=!0,x=!1,b=!1;if(!(f.charAt(0)===\"_\"||typeof h==\"function\"||u.indexOf(f)!==-1)){for(s=1;s<n.length&&v;s++){var p=n[s][f];f===\"type\"&&c.indexOf(h)!==-1&&c.indexOf(p)!==-1&&h!==p?x=!0:p!==h&&(v=!1)}for(s=1;s<i.length&&v;s++){var E=i[s][f];f===\"type\"&&c.indexOf(d)!==-1&&c.indexOf(E)!==-1&&d!==E?b=!0:i[s][f]!==d&&(v=!1)}v&&(x&&(a[n[0]._name].type=\"linear\"),b&&(a[i[0]._name].type=\"linear\"),jot(a,f,n,i,e._fullLayout._dfltTitle))}}for(o=0;o<e._fullLayout.annotations.length;o++){var k=e._fullLayout.annotations[o];t.indexOf(k.xref)!==-1&&r.indexOf(k.yref)!==-1&&Vo.swapAttrs(a.annotations[o],[\"?\"])}}function jot(e,t,r,n,i){var a=Vo.nestedProperty,o=a(e[r[0]._name],t).get(),s=a(e[n[0]._name],t).get(),l;for(t===\"title\"&&(o&&o.text===i.x&&(o.text=i.y),s&&s.text===i.y&&(s.text=i.x)),l=0;l<r.length;l++)a(e,r[l]._name+\".\"+t).set(s);for(l=0;l<n.length;l++)a(e,n[l]._name+\".\"+t).set(o)}function fB(e){return e._id===\"angularaxis\"}function eB(e,t){for(var r=t._rangebreaks.length,n=0;n<r;n++){var i=t._rangebreaks[n];if(e>=i.min&&e<i.max)return i.max}return e}function nM(e){return(e.ticklabelposition||\"\").indexOf(\"inside\")!==-1}function EL(e,t){nM(e._anchorAxis||{})&&e._hideCounterAxisInsideTickLabels&&e._hideCounterAxisInsideTickLabels(t)}function sB(e,t,r,n){var i=e.anchor!==\"free\"&&(e.overlaying===void 0||e.overlaying===!1)?e._id:e.overlaying,a;n?a=e.side===\"right\"?t:-t:a=t,i in r||(r[i]={}),e.side in r[i]||(r[i][e.side]=0),r[i][e.side]+=a}function Wot(e,t){return e.autoshift?t[e.overlaying][e.side]:e.shift||0}function Zot(e,t){return/%f/.test(t)?e>=hot:/%L/.test(t)?e>=fot:/%[SX]/.test(t)?e>=bL:/%M/.test(t)?e>=tM:/%[HI]/.test(t)?e>=xm:/%p/.test(t)?e>=l_:/%[Aadejuwx]/.test(t)?e>=Fv:/%[UVW]/.test(t)?e>=Yp:/%[Bbm]/.test(t)?e>=xL:/%[q]/.test(t)?e>=_L:/%[Yy]/.test(t)?e>=yL:!0}});var hB=ye((Srr,Tse)=>{\"use strict\";Tse.exports=function(t,r,n){var i,a;if(n){var o=r===\"reversed\"||r===\"min reversed\"||r===\"max reversed\";i=n[o?1:0],a=n[o?0:1]}var s=t(\"autorangeoptions.minallowed\",a===null?i:void 0),l=t(\"autorangeoptions.maxallowed\",i===null?a:void 0);s===void 0&&t(\"autorangeoptions.clipmin\"),l===void 0&&t(\"autorangeoptions.clipmax\"),t(\"autorangeoptions.include\")}});var dB=ye((Mrr,Ase)=>{\"use strict\";var Xot=hB();Ase.exports=function(t,r,n,i){var a=r._template||{},o=r.type||a.type||\"-\";n(\"minallowed\"),n(\"maxallowed\");var s=n(\"range\");if(!s){var l;!i.noInsiderange&&o!==\"log\"&&(l=n(\"insiderange\"),l&&(l[0]===null||l[1]===null)&&(r.insiderange=!1,l=void 0),l&&(s=n(\"range\",l)))}var u=r.getAutorangeDflt(s,i),c=n(\"autorange\",u),f;s&&(s[0]===null&&s[1]===null||(s[0]===null||s[1]===null)&&(c===\"reversed\"||c===!0)||s[0]!==null&&(c===\"min\"||c===\"max reversed\")||s[1]!==null&&(c===\"max\"||c===\"min reversed\"))&&(s=void 0,delete r.range,r.autorange=!0,f=!0),f||(u=r.getAutorangeDflt(s,i),c=n(\"autorange\",u)),c&&(Xot(n,c,s),(o===\"linear\"||o===\"-\")&&n(\"rangemode\")),r.cleanRange()}});var Mse=ye((Err,Sse)=>{var Yot={left:0,top:0};Sse.exports=Kot;function Kot(e,t,r){t=t||e.currentTarget||e.srcElement,Array.isArray(r)||(r=[0,0]);var n=e.clientX||0,i=e.clientY||0,a=Jot(t);return r[0]=n-a.left,r[1]=i-a.top,r}function Jot(e){return e===window||e===document||e===document.body?Yot:e.getBoundingClientRect()}});var kL=ye((krr,Ese)=>{\"use strict\";var $ot=Kq();function Qot(){var e=!1;try{var t=Object.defineProperty({},\"passive\",{get:function(){e=!0}});window.addEventListener(\"test\",null,t),window.removeEventListener(\"test\",null,t)}catch(r){e=!1}return e}Ese.exports=$ot&&Qot()});var Cse=ye((Crr,kse)=>{\"use strict\";kse.exports=function(t,r,n,i,a){var o=(t-n)/(i-n),s=o+r/(i-n),l=(o+s)/2;return a===\"left\"||a===\"bottom\"?o:a===\"center\"||a===\"middle\"?l:a===\"right\"||a===\"top\"?s:o<2/3-l?o:s>4/3-l?s:l}});var Ise=ye((Lrr,Pse)=>{\"use strict\";var Lse=Mr(),est=[[\"sw-resize\",\"s-resize\",\"se-resize\"],[\"w-resize\",\"move\",\"e-resize\"],[\"nw-resize\",\"n-resize\",\"ne-resize\"]];Pse.exports=function(t,r,n,i){return n===\"left\"?t=0:n===\"center\"?t=1:n===\"right\"?t=2:t=Lse.constrain(Math.floor(t*3),0,2),i===\"bottom\"?r=0:i===\"middle\"?r=1:i===\"top\"?r=2:r=Lse.constrain(Math.floor(r*3),0,2),est[r][t]}});var Dse=ye((Prr,Rse)=>{\"use strict\";var tst=g3(),rst=P6(),ist=DS().getGraphDiv,nst=IS(),vB=Rse.exports={};vB.wrapped=function(e,t,r){e=ist(e),e._fullLayout&&rst.clear(e._fullLayout._uid+nst.HOVERID),vB.raw(e,t,r)};vB.raw=function(t,r){var n=t._fullLayout,i=t._hoverdata;r||(r={}),!(r.target&&!t._dragged&&tst.triggerHandler(t,\"plotly_beforehover\",r)===!1)&&(n._hoverlayer.selectAll(\"g\").remove(),n._hoverlayer.selectAll(\"line\").remove(),n._hoverlayer.selectAll(\"circle\").remove(),t._hoverdata=void 0,r.target&&i&&t.emit(\"plotly_unhover\",{event:r,points:i}))}});var gv=ye((Irr,Ose)=>{\"use strict\";var ast=Mse(),pB=$q(),ost=kL(),sst=Mr().removeElement,lst=ad(),Lb=Ose.exports={};Lb.align=Cse();Lb.getCursor=Ise();var Fse=Dse();Lb.unhover=Fse.wrapped;Lb.unhoverRaw=Fse.raw;Lb.init=function(t){var r=t.gd,n=1,i=r._context.doubleClickDelay,a=t.element,o,s,l,u,c,f,h,d;r._mouseDownTime||(r._mouseDownTime=0),a.style.pointerEvents=\"all\",a.onmousedown=b,ost?(a._ontouchstart&&a.removeEventListener(\"touchstart\",a._ontouchstart),a._ontouchstart=b,a.addEventListener(\"touchstart\",b,{passive:!1})):a.ontouchstart=b;function v(k,A,L){return Math.abs(k)<L&&(k=0),Math.abs(A)<L&&(A=0),[k,A]}var x=t.clampFn||v;function b(k){r._dragged=!1,r._dragging=!0;var A=zse(k);o=A[0],s=A[1],h=k.target,f=k,d=k.buttons===2||k.ctrlKey,typeof k.clientX==\"undefined\"&&typeof k.clientY==\"undefined\"&&(k.clientX=o,k.clientY=s),l=new Date().getTime(),l-r._mouseDownTime<i?n+=1:(n=1,r._mouseDownTime=l),t.prepFn&&t.prepFn(k,o,s),pB&&!d?(c=qse(),c.style.cursor=window.getComputedStyle(a).cursor):pB||(c=document,u=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(a).cursor),document.addEventListener(\"mouseup\",E),document.addEventListener(\"touchend\",E),t.dragmode!==!1&&(k.preventDefault(),document.addEventListener(\"mousemove\",p),document.addEventListener(\"touchmove\",p,{passive:!1}))}function p(k){k.preventDefault();var A=zse(k),L=t.minDrag||lst.MINDRAG,_=x(A[0]-o,A[1]-s,L),C=_[0],M=_[1];(C||M)&&(r._dragged=!0,Lb.unhover(r,k)),r._dragged&&t.moveFn&&!d&&(r._dragdata={element:a,dx:C,dy:M},t.moveFn(C,M))}function E(k){if(delete r._dragdata,t.dragmode!==!1&&(k.preventDefault(),document.removeEventListener(\"mousemove\",p),document.removeEventListener(\"touchmove\",p)),document.removeEventListener(\"mouseup\",E),document.removeEventListener(\"touchend\",E),pB?sst(c):u&&(c.documentElement.style.cursor=u,u=null),!r._dragging){r._dragged=!1;return}if(r._dragging=!1,new Date().getTime()-r._mouseDownTime>i&&(n=Math.max(n-1,1)),r._dragged)t.doneFn&&t.doneFn();else{var A;f.target===h?A=f:(A={target:h,srcElement:h,toElement:h},Object.keys(f).concat(Object.keys(f.__proto__)).forEach(L=>{var _=f[L];!A[L]&&typeof _!=\"function\"&&(A[L]=_)})),t.clickFn&&t.clickFn(n,A),d||h.dispatchEvent(new MouseEvent(\"click\",k))}r._dragging=!1,r._dragged=!1}};function qse(){var e=document.createElement(\"div\");e.className=\"dragcover\";var t=e.style;return t.position=\"fixed\",t.left=0,t.right=0,t.top=0,t.bottom=0,t.zIndex=999999999,t.background=\"none\",document.body.appendChild(e),e}Lb.coverSlip=qse;function zse(e){return ast(e.changedTouches?e.changedTouches[0]:e,document.body)}});var Tg=ye((Rrr,Bse)=>{\"use strict\";Bse.exports=function(t,r){(t.attr(\"class\")||\"\").split(\" \").forEach(function(n){n.indexOf(\"cursor-\")===0&&t.classed(n,!1)}),r&&t.classed(\"cursor-\"+r,!0)}});var Vse=ye((Drr,Use)=>{\"use strict\";var gB=Tg(),aM=\"data-savedcursor\",Nse=\"!!\";Use.exports=function(t,r){var n=t.attr(aM);if(r){if(!n){for(var i=(t.attr(\"class\")||\"\").split(\" \"),a=0;a<i.length;a++){var o=i[a];o.indexOf(\"cursor-\")===0&&t.attr(aM,o.substr(7)).classed(o,!1)}t.attr(aM)||t.attr(aM,Nse)}gB(t,r)}else n&&(t.attr(aM,null),n===Nse?gB(t):gB(t,n))}});var yB=ye((zrr,Hse)=>{\"use strict\";var mB=Su(),ust=dh();Hse.exports={_isSubplotObj:!0,visible:{valType:\"boolean\",dflt:!0,editType:\"legend\"},bgcolor:{valType:\"color\",editType:\"legend\"},bordercolor:{valType:\"color\",dflt:ust.defaultLine,editType:\"legend\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"legend\"},font:mB({editType:\"legend\"}),grouptitlefont:mB({editType:\"legend\"}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"v\",editType:\"legend\"},traceorder:{valType:\"flaglist\",flags:[\"reversed\",\"grouped\"],extras:[\"normal\"],editType:\"legend\"},tracegroupgap:{valType:\"number\",min:0,dflt:10,editType:\"legend\"},entrywidth:{valType:\"number\",min:0,editType:\"legend\"},entrywidthmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"pixels\",editType:\"legend\"},indentation:{valType:\"number\",min:-15,dflt:0,editType:\"legend\"},itemsizing:{valType:\"enumerated\",values:[\"trace\",\"constant\"],dflt:\"trace\",editType:\"legend\"},itemwidth:{valType:\"number\",min:30,dflt:30,editType:\"legend\"},itemclick:{valType:\"enumerated\",values:[\"toggle\",\"toggleothers\",!1],dflt:\"toggle\",editType:\"legend\"},itemdoubleclick:{valType:\"enumerated\",values:[\"toggle\",\"toggleothers\",!1],dflt:\"toggleothers\",editType:\"legend\"},groupclick:{valType:\"enumerated\",values:[\"toggleitem\",\"togglegroup\"],dflt:\"togglegroup\",editType:\"legend\"},x:{valType:\"number\",editType:\"legend\"},xref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"legend\"},y:{valType:\"number\",editType:\"legend\"},yref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],editType:\"legend\"},uirevision:{valType:\"any\",editType:\"none\"},valign:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\",editType:\"legend\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"legend\"},font:mB({editType:\"legend\"}),side:{valType:\"enumerated\",values:[\"top\",\"left\",\"top left\",\"top center\",\"top right\"],editType:\"legend\"},editType:\"legend\"},editType:\"legend\"}});var LL=ye(CL=>{\"use strict\";CL.isGrouped=function(t){return(t.traceorder||\"\").indexOf(\"grouped\")!==-1};CL.isVertical=function(t){return t.orientation!==\"h\"};CL.isReversed=function(t){return(t.traceorder||\"\").indexOf(\"reversed\")!==-1}});var bB=ye((qrr,Gse)=>{\"use strict\";var _B=ba(),Kp=Mr(),cst=Vs(),fst=vl(),hst=yB(),dst=s3(),xB=LL();function vst(e,t,r,n){var i=t[e]||{},a=cst.newContainer(r,e);function o(G,N){return Kp.coerce(i,a,hst,G,N)}var s=Kp.coerceFont(o,\"font\",r.font);o(\"bgcolor\",r.paper_bgcolor),o(\"bordercolor\");var l=o(\"visible\");if(l){for(var u,c=function(G,N){var W=u._input,re=u;return Kp.coerce(W,re,fst,G,N)},f=r.font||{},h=Kp.coerceFont(o,\"grouptitlefont\",f,{overrideDflt:{size:Math.round(f.size*1.1)}}),d=0,v=!1,x=\"normal\",b=(r.shapes||[]).filter(function(G){return G.showlegend}),p=n.concat(b).filter(function(G){return e===(G.legend||\"legend\")}),E=0;E<p.length;E++)if(u=p[E],!!u.visible){var k=u._isShape;(u.showlegend||u._dfltShowLegend&&!(u._module&&u._module.attributes&&u._module.attributes.showlegend&&u._module.attributes.showlegend.dflt===!1))&&(d++,u.showlegend&&(v=!0,(!k&&_B.traceIs(u,\"pie-like\")||u._input.showlegend===!0)&&d++),Kp.coerceFont(c,\"legendgrouptitle.font\",h)),(!k&&_B.traceIs(u,\"bar\")&&r.barmode===\"stack\"||[\"tonextx\",\"tonexty\"].indexOf(u.fill)!==-1)&&(x=xB.isGrouped({traceorder:x})?\"grouped+reversed\":\"reversed\"),u.legendgroup!==void 0&&u.legendgroup!==\"\"&&(x=xB.isReversed({traceorder:x})?\"reversed+grouped\":\"grouped\")}var A=Kp.coerce(t,r,dst,\"showlegend\",v&&d>(e===\"legend\"?1:0));if(A===!1&&(r[e]=void 0),!(A===!1&&!i.uirevision)&&(o(\"uirevision\",r.uirevision),A!==!1)){o(\"borderwidth\");var L=o(\"orientation\"),_=o(\"yref\"),C=o(\"xref\"),M=L===\"h\",g=_===\"paper\",P=C===\"paper\",T,F,q,V=\"left\";M?(T=0,_B.getComponentMethod(\"rangeslider\",\"isVisible\")(t.xaxis)?g?(F=1.1,q=\"bottom\"):(F=1,q=\"top\"):g?(F=-.1,q=\"top\"):(F=0,q=\"bottom\")):(F=1,q=\"auto\",P?T=1.02:(T=1,V=\"right\")),Kp.coerce(i,a,{x:{valType:\"number\",editType:\"legend\",min:P?-2:0,max:P?3:1,dflt:T}},\"x\"),Kp.coerce(i,a,{y:{valType:\"number\",editType:\"legend\",min:g?-2:0,max:g?3:1,dflt:F}},\"y\"),o(\"traceorder\",x),xB.isGrouped(r[e])&&o(\"tracegroupgap\"),o(\"entrywidth\"),o(\"entrywidthmode\"),o(\"indentation\"),o(\"itemsizing\"),o(\"itemwidth\"),o(\"itemclick\"),o(\"itemdoubleclick\"),o(\"groupclick\"),o(\"xanchor\",V),o(\"yanchor\",q),o(\"valign\"),Kp.noneOrAll(i,a,[\"x\",\"y\"]);var H=o(\"title.text\");if(H){o(\"title.side\",M?\"left\":\"top\");var X=Kp.extendFlat({},s,{size:Kp.bigFont(s.size)});Kp.coerceFont(o,\"title.font\",X)}}}}Gse.exports=function(t,r,n){var i,a=n.slice(),o=r.shapes;if(o)for(i=0;i<o.length;i++){var s=o[i];if(s.showlegend){var l={_input:s._input,visible:s.visible,showlegend:s.showlegend,legend:s.legend};a.push(l)}}var u=[\"legend\"];for(i=0;i<a.length;i++)Kp.pushUnique(u,a[i].legend);for(r._legends=[],i=0;i<u.length;i++){var c=u[i];vst(c,t,r,a),r[c]&&r[c].visible&&(r[c]._id=c),r._legends.push(c)}}});var Wse=ye((Orr,jse)=>{\"use strict\";var D3=ba(),TB=Mr(),pst=TB.pushUnique,wB=!0;jse.exports=function(t,r,n){var i=r._fullLayout;if(r._dragged||r._editing)return;var a=i.legend.itemclick,o=i.legend.itemdoubleclick,s=i.legend.groupclick;n===1&&a===\"toggle\"&&o===\"toggleothers\"&&wB&&r.data&&r._context.showTips&&TB.notifier(TB._(r,\"Double-click on legend to isolate one trace\"),\"long\"),wB=!1;var l;if(n===1?l=a:n===2&&(l=o),!l)return;var u=s===\"togglegroup\",c=i.hiddenlabels?i.hiddenlabels.slice():[],f=t.data()[0][0];if(f.groupTitle&&f.noClick)return;var h=r._fullData,d=(i.shapes||[]).filter(function(Rt){return Rt.showlegend}),v=h.concat(d),x=f.trace;x._isShape&&(x=x._fullInput);var b=x.legendgroup,p,E,k,A,L,_,C={},M=[],g=[],P=[];function T(Rt,kt){var Ct=M.indexOf(Rt),Yt=C.visible;return Yt||(Yt=C.visible=[]),M.indexOf(Rt)===-1&&(M.push(Rt),Ct=M.length-1),Yt[Ct]=kt,Ct}var F=(i.shapes||[]).map(function(Rt){return Rt._input}),q=!1;function V(Rt,kt){F[Rt].visible=kt,q=!0}function H(Rt,kt){if(!(f.groupTitle&&!u)){var Ct=Rt._fullInput||Rt,Yt=Ct._isShape,xr=Ct.index;xr===void 0&&(xr=Ct._index);var er=Ct.visible===!1?!1:kt;Yt?V(xr,er):T(xr,er)}}var X=x.legend,G=x._fullInput,N=G&&G._isShape;if(!N&&D3.traceIs(x,\"pie-like\")){var W=f.label,re=c.indexOf(W);if(l===\"toggle\")re===-1?c.push(W):c.splice(re,1);else if(l===\"toggleothers\"){var ae=re!==-1,_e=[];for(p=0;p<r.calcdata.length;p++){var Me=r.calcdata[p];for(E=0;E<Me.length;E++){var ke=Me[E],ge=ke.label;X===Me[0].trace.legend&&W!==ge&&(c.indexOf(ge)===-1&&(ae=!0),pst(c,ge),_e.push(ge))}}if(!ae)for(var ie=0;ie<_e.length;ie++){var Te=c.indexOf(_e[ie]);Te!==-1&&c.splice(Te,1)}}D3.call(\"_guiRelayout\",r,\"hiddenlabels\",c)}else{var Ee=b&&b.length,Ae=[],ze;if(Ee)for(p=0;p<v.length;p++)ze=v[p],ze.visible&&ze.legendgroup===b&&Ae.push(p);if(l===\"toggle\"){var Ce;switch(x.visible){case!0:Ce=\"legendonly\";break;case!1:Ce=!1;break;case\"legendonly\":Ce=!0;break}if(Ee)if(u)for(p=0;p<v.length;p++){var me=v[p];me.visible!==!1&&me.legendgroup===b&&H(me,Ce)}else H(x,Ce);else H(x,Ce)}else if(l===\"toggleothers\"){var Re,ce,Ge,nt,ct,qt=!0;for(p=0;p<v.length;p++)if(ct=v[p],Re=ct===x,Ge=ct.showlegend!==!0,!(Re||Ge)&&(ce=Ee&&ct.legendgroup===b,!ce&&ct.legend===X&&ct.visible===!0&&!D3.traceIs(ct,\"notLegendIsolatable\"))){qt=!1;break}for(p=0;p<v.length;p++)if(ct=v[p],!(ct.visible===!1||ct.legend!==X)&&!D3.traceIs(ct,\"notLegendIsolatable\"))switch(x.visible){case\"legendonly\":H(ct,!0);break;case!0:nt=qt?!0:\"legendonly\",Re=ct===x,Ge=ct.showlegend!==!0&&!ct.legendgroup,ce=Re||Ee&&ct.legendgroup===b,H(ct,ce||Ge?!0:nt);break}}for(p=0;p<g.length;p++)if(k=g[p],!!k){var rt=k.constructUpdate(),ot=Object.keys(rt);for(E=0;E<ot.length;E++)A=ot[E],_=C[A]=C[A]||[],_[P[p]]=rt[A]}for(L=Object.keys(C),p=0;p<L.length;p++)for(A=L[p],E=0;E<M.length;E++)C[A].hasOwnProperty(E)||(C[A][E]=void 0);q?D3.call(\"_guiUpdate\",r,C,{shapes:F},M):D3.call(\"_guiRestyle\",r,C,M)}}});var AB=ye((Brr,Zse)=>{\"use strict\";Zse.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:\"#808BA4\",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},titlePad:2,itemGap:5}});var Kse=ye((Nrr,Yse)=>{\"use strict\";var Xse=ba(),SB=LL();Yse.exports=function(t,r,n){var i=r._inHover,a=SB.isGrouped(r),o=SB.isReversed(r),s={},l=[],u=!1,c={},f=0,h=0,d,v;function x(G,N,W){if(r.visible!==!1&&!(n&&G!==r._id))if(N===\"\"||!SB.isGrouped(r)){var re=\"~~i\"+f;l.push(re),s[re]=[W],f++}else l.indexOf(N)===-1?(l.push(N),u=!0,s[N]=[W]):s[N].push(W)}for(d=0;d<t.length;d++){var b=t[d],p=b[0],E=p.trace,k=E.legend,A=E.legendgroup;if(!(!i&&(!E.visible||!E.showlegend)))if(Xse.traceIs(E,\"pie-like\"))for(c[A]||(c[A]={}),v=0;v<b.length;v++){var L=b[v].label;c[A][L]||(x(k,A,{label:L,color:b[v].color,i:b[v].i,trace:E,pts:b[v].pts}),c[A][L]=!0,h=Math.max(h,(L||\"\").length))}else x(k,A,p),h=Math.max(h,(E.name||\"\").length)}if(!l.length)return[];var _=!u||!a,C=[];for(d=0;d<l.length;d++){var M=s[l[d]];_?C.push(M[0]):C.push(M)}for(_&&(C=[C]),d=0;d<C.length;d++){var g=1/0;for(v=0;v<C[d].length;v++){var P=C[d][v].trace.legendrank;g>P&&(g=P)}C[d][0]._groupMinRank=g,C[d][0]._preGroupSort=d}var T=function(G,N){return G[0]._groupMinRank-N[0]._groupMinRank||G[0]._preGroupSort-N[0]._preGroupSort},F=function(G,N){return G.trace.legendrank-N.trace.legendrank||G._preSort-N._preSort};for(C.forEach(function(G,N){G[0]._preGroupSort=N}),C.sort(T),d=0;d<C.length;d++){C[d].forEach(function(G,N){G._preSort=N}),C[d].sort(F);var q=C[d][0].trace,V=null;for(v=0;v<C[d].length;v++){var H=C[d][v].trace.legendgrouptitle;if(H&&H.text){V=H,i&&(H.font=r._groupTitleFont);break}}if(o&&C[d].reverse(),V){var X=!1;for(v=0;v<C[d].length;v++)if(Xse.traceIs(C[d][v].trace,\"pie-like\")){X=!0;break}C[d].unshift({i:-1,groupTitle:V,noClick:X,trace:{showlegend:q.showlegend,legendgroup:q.legendgroup,visible:r.groupclick===\"toggleitem\"?!0:q.visible}})}for(v=0;v<C[d].length;v++)C[d][v]=[C[d][v]]}return r._lgroupsLength=C.length,r._maxNameLength=h,C}});var u_=ye(Pb=>{\"use strict\";var PL=Mr();function Jse(e){return e.indexOf(\"e\")!==-1?e.replace(/[.]?0+e/,\"e\"):e.indexOf(\".\")!==-1?e.replace(/[.]?0+$/,\"\"):e}Pb.formatPiePercent=function(t,r){var n=Jse((t*100).toPrecision(3));return PL.numSeparate(n,r)+\"%\"};Pb.formatPieValue=function(t,r){var n=Jse(t.toPrecision(10));return PL.numSeparate(n,r)};Pb.getFirstFilled=function(t,r){if(PL.isArrayOrTypedArray(t))for(var n=0;n<r.length;n++){var i=t[r[n]];if(i||i===0||i===\"\")return i}};Pb.castOption=function(t,r){if(PL.isArrayOrTypedArray(t))return Pb.getFirstFilled(t,r);if(t)return t};Pb.getRotationAngle=function(e){return(e===\"auto\"?0:e)*Math.PI/180}});var Qse=ye((Vrr,$se)=>{\"use strict\";var gst=ao(),mst=va();$se.exports=function(t,r,n,i){var a=n.marker.pattern;a&&a.shape?gst.pointStyle(t,n,i,r):mst.fill(t,r.color)}});var z3=ye((Hrr,rle)=>{\"use strict\";var ele=va(),tle=u_().castOption,yst=Qse();rle.exports=function(t,r,n,i){var a=n.marker.line,o=tle(a.color,r.pts)||ele.defaultLine,s=tle(a.width,r.pts)||0;t.call(yst,r,n,i).style(\"stroke-width\",s).call(ele.stroke,o)}});var CB=ye((Grr,lle)=>{\"use strict\";var qv=xa(),MB=ba(),mv=Mr(),ile=mv.strTranslate,ip=ao(),T0=va(),EB=Dv().extractOpts,IL=lu(),_st=z3(),xst=u_().castOption,bst=AB(),nle=12,ale=5,Ib=2,wst=10,F3=5;lle.exports=function(t,r,n){var i=r._fullLayout;n||(n=i.legend);var a=n.itemsizing===\"constant\",o=n.itemwidth,s=(o+bst.itemGap*2)/2,l=ile(s,0),u=function(C,M,g,P){var T;if(C+1)T=C;else if(M&&M.width>0)T=M.width;else return 0;return a?P:Math.min(T,g)};t.each(function(C){var M=qv.select(this),g=mv.ensureSingle(M,\"g\",\"layers\");g.style(\"opacity\",C[0].trace.opacity);var P=n.indentation,T=n.valign,F=C[0].lineHeight,q=C[0].height;if(T===\"middle\"&&P===0||!F||!q)g.attr(\"transform\",null);else{var V={top:1,bottom:-1}[T],H=V*(.5*(F-q+3))||0,X=n.indentation;g.attr(\"transform\",ile(X,H))}var G=g.selectAll(\"g.legendfill\").data([C]);G.enter().append(\"g\").classed(\"legendfill\",!0);var N=g.selectAll(\"g.legendlines\").data([C]);N.enter().append(\"g\").classed(\"legendlines\",!0);var W=g.selectAll(\"g.legendsymbols\").data([C]);W.enter().append(\"g\").classed(\"legendsymbols\",!0),W.selectAll(\"g.legendpoints\").data([C]).enter().append(\"g\").classed(\"legendpoints\",!0)}).each(_).each(h).each(v).each(d).each(b).each(A).each(k).each(c).each(f).each(p).each(E);function c(C){var M=ole(C),g=M.showFill,P=M.showLine,T=M.showGradientLine,F=M.showGradientFill,q=M.anyFill,V=M.anyLine,H=C[0],X=H.trace,G,N,W=EB(X),re=W.colorscale,ae=W.reversescale,_e=function(Ae){if(Ae.size())if(g)ip.fillGroupStyle(Ae,r,!0);else{var ze=\"legendfill-\"+X.uid;ip.gradient(Ae,r,ze,kB(ae),re,\"fill\")}},Me=function(Ae){if(Ae.size()){var ze=\"legendline-\"+X.uid;ip.lineGroupStyle(Ae),ip.gradient(Ae,r,ze,kB(ae),re,\"stroke\")}},ke=IL.hasMarkers(X)||!q?\"M5,0\":V?\"M5,-2\":\"M5,-3\",ge=qv.select(this),ie=ge.select(\".legendfill\").selectAll(\"path\").data(g||F?[C]:[]);if(ie.enter().append(\"path\").classed(\"js-fill\",!0),ie.exit().remove(),ie.attr(\"d\",ke+\"h\"+o+\"v6h-\"+o+\"z\").call(_e),P||T){var Te=u(void 0,X.line,wst,ale);N=mv.minExtend(X,{line:{width:Te}}),G=[mv.minExtend(H,{trace:N})]}var Ee=ge.select(\".legendlines\").selectAll(\"path\").data(P||T?[G]:[]);Ee.enter().append(\"path\").classed(\"js-line\",!0),Ee.exit().remove(),Ee.attr(\"d\",ke+(T?\"l\"+o+\",0.0001\":\"h\"+o)).call(P?ip.lineGroupStyle:Me)}function f(C){var M=ole(C),g=M.anyFill,P=M.anyLine,T=M.showLine,F=M.showMarker,q=C[0],V=q.trace,H=!F&&!P&&!g&&IL.hasText(V),X,G;function N(ie,Te,Ee,Ae){var ze=mv.nestedProperty(V,ie).get(),Ce=mv.isArrayOrTypedArray(ze)&&Te?Te(ze):ze;if(a&&Ce&&Ae!==void 0&&(Ce=Ae),Ee){if(Ce<Ee[0])return Ee[0];if(Ce>Ee[1])return Ee[1]}return Ce}function W(ie){return q._distinct&&q.index&&ie[q.index]?ie[q.index]:ie[0]}if(F||H||T){var re={},ae={};if(F){re.mc=N(\"marker.color\",W),re.mx=N(\"marker.symbol\",W),re.mo=N(\"marker.opacity\",mv.mean,[.2,1]),re.mlc=N(\"marker.line.color\",W),re.mlw=N(\"marker.line.width\",mv.mean,[0,5],Ib),ae.marker={sizeref:1,sizemin:1,sizemode:\"diameter\"};var _e=N(\"marker.size\",mv.mean,[2,16],nle);re.ms=_e,ae.marker.size=_e}T&&(ae.line={width:N(\"line.width\",W,[0,10],ale)}),H&&(re.tx=\"Aa\",re.tp=N(\"textposition\",W),re.ts=10,re.tc=N(\"textfont.color\",W),re.tf=N(\"textfont.family\",W),re.tw=N(\"textfont.weight\",W),re.ty=N(\"textfont.style\",W),re.tv=N(\"textfont.variant\",W),re.tC=N(\"textfont.textcase\",W),re.tE=N(\"textfont.lineposition\",W),re.tS=N(\"textfont.shadow\",W)),X=[mv.minExtend(q,re)],G=mv.minExtend(V,ae),G.selectedpoints=null,G.texttemplate=null}var Me=qv.select(this).select(\"g.legendpoints\"),ke=Me.selectAll(\"path.scatterpts\").data(F?X:[]);ke.enter().insert(\"path\",\":first-child\").classed(\"scatterpts\",!0).attr(\"transform\",l),ke.exit().remove(),ke.call(ip.pointStyle,G,r),F&&(X[0].mrc=3);var ge=Me.selectAll(\"g.pointtext\").data(H?X:[]);ge.enter().append(\"g\").classed(\"pointtext\",!0).append(\"text\").attr(\"transform\",l),ge.exit().remove(),ge.selectAll(\"text\").call(ip.textPointStyle,G,r)}function h(C){var M=C[0].trace,g=M.type===\"waterfall\";if(C[0]._distinct&&g){var P=C[0].trace[C[0].dir].marker;return C[0].mc=P.color,C[0].mlw=P.line.width,C[0].mlc=P.line.color,x(C,this,\"waterfall\")}var T=[];M.visible&&g&&(T=C[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 F=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendwaterfall\").data(T);F.enter().append(\"path\").classed(\"legendwaterfall\",!0).attr(\"transform\",l).style(\"stroke-miterlimit\",1),F.exit().remove(),F.each(function(q){var V=qv.select(this),H=M[q[0]].marker,X=u(void 0,H.line,F3,Ib);V.attr(\"d\",q[1]).style(\"stroke-width\",X+\"px\").call(T0.fill,H.color),X&&V.call(T0.stroke,H.line.color)})}function d(C){x(C,this)}function v(C){x(C,this,\"funnel\")}function x(C,M,g){var P=C[0].trace,T=P.marker||{},F=T.line||{},q=T.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\",V=g?P.visible&&P.type===g:MB.traceIs(P,\"bar\"),H=qv.select(M).select(\"g.legendpoints\").selectAll(\"path.legend\"+g).data(V?[C]:[]);H.enter().append(\"path\").classed(\"legend\"+g,!0).attr(\"d\",q).attr(\"transform\",l),H.exit().remove(),H.each(function(X){var G=qv.select(this),N=X[0],W=u(N.mlw,T.line,F3,Ib);G.style(\"stroke-width\",W+\"px\");var re=N.mcc;if(!n._inHover&&\"mc\"in N){var ae=EB(T),_e=ae.mid;_e===void 0&&(_e=(ae.max+ae.min)/2),re=ip.tryColorscale(T,\"\")(_e)}var Me=re||N.mc||T.color,ke=T.pattern,ge=ke&&ip.getPatternAttr(ke.shape,0,\"\");if(ge){var ie=ip.getPatternAttr(ke.bgcolor,0,null),Te=ip.getPatternAttr(ke.fgcolor,0,null),Ee=ke.fgopacity,Ae=sle(ke.size,8,10),ze=sle(ke.solidity,.5,1),Ce=\"legend-\"+P.uid;G.call(ip.pattern,\"legend\",r,Ce,ge,Ae,ze,re,ke.fillmode,ie,Te,Ee)}else G.call(T0.fill,Me);W&&T0.stroke(G,N.mlc||F.color)})}function b(C){var M=C[0].trace,g=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbox\").data(M.visible&&MB.traceIs(M,\"box-violin\")?[C]:[]);g.enter().append(\"path\").classed(\"legendbox\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",l),g.exit().remove(),g.each(function(){var P=qv.select(this);if((M.boxpoints===\"all\"||M.points===\"all\")&&T0.opacity(M.fillcolor)===0&&T0.opacity((M.line||{}).color)===0){var T=mv.minExtend(M,{marker:{size:a?nle:mv.constrain(M.marker.size,2,16),sizeref:1,sizemin:1,sizemode:\"diameter\"}});g.call(ip.pointStyle,T,r)}else{var F=u(void 0,M.line,F3,Ib);P.style(\"stroke-width\",F+\"px\").call(T0.fill,M.fillcolor),F&&T0.stroke(P,M.line.color)}})}function p(C){var M=C[0].trace,g=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendcandle\").data(M.visible&&M.type===\"candlestick\"?[C,C]:[]);g.enter().append(\"path\").classed(\"legendcandle\",!0).attr(\"d\",function(P,T){return T?\"M-15,0H-8M-8,6V-6H8Z\":\"M15,0H8M8,-6V6H-8Z\"}).attr(\"transform\",l).style(\"stroke-miterlimit\",1),g.exit().remove(),g.each(function(P,T){var F=qv.select(this),q=M[T?\"increasing\":\"decreasing\"],V=u(void 0,q.line,F3,Ib);F.style(\"stroke-width\",V+\"px\").call(T0.fill,q.fillcolor),V&&T0.stroke(F,q.line.color)})}function E(C){var M=C[0].trace,g=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendohlc\").data(M.visible&&M.type===\"ohlc\"?[C,C]:[]);g.enter().append(\"path\").classed(\"legendohlc\",!0).attr(\"d\",function(P,T){return T?\"M-15,0H0M-8,-6V0\":\"M15,0H0M8,6V0\"}).attr(\"transform\",l).style(\"stroke-miterlimit\",1),g.exit().remove(),g.each(function(P,T){var F=qv.select(this),q=M[T?\"increasing\":\"decreasing\"],V=u(void 0,q.line,F3,Ib);F.style(\"fill\",\"none\").call(ip.dashLine,q.line.dash,V),V&&T0.stroke(F,q.line.color)})}function k(C){L(C,this,\"pie\")}function A(C){L(C,this,\"funnelarea\")}function L(C,M,g){var P=C[0],T=P.trace,F=g?T.visible&&T.type===g:MB.traceIs(T,g),q=qv.select(M).select(\"g.legendpoints\").selectAll(\"path.legend\"+g).data(F?[C]:[]);if(q.enter().append(\"path\").classed(\"legend\"+g,!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",l),q.exit().remove(),q.size()){var V=T.marker||{},H=u(xst(V.line.width,P.pts),V.line,F3,Ib),X=\"pieLike\",G=mv.minExtend(T,{marker:{line:{width:H}}},X),N=mv.minExtend(P,{trace:G},X);_st(q,N,G,r)}}function _(C){var M=C[0].trace,g,P=[];if(M.visible)switch(M.type){case\"histogram2d\":case\"heatmap\":P=[[\"M-15,-2V4H15V-2Z\"]],g=!0;break;case\"choropleth\":case\"choroplethmapbox\":case\"choroplethmap\":P=[[\"M-6,-6V6H6V-6Z\"]],g=!0;break;case\"densitymapbox\":case\"densitymap\":P=[[\"M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0\"]],g=\"radial\";break;case\"cone\":P=[[\"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\"]],g=!1;break;case\"streamtube\":P=[[\"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\"]],g=!1;break;case\"surface\":P=[[\"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\"]],g=!0;break;case\"mesh3d\":P=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],g=!1;break;case\"volume\":P=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],g=!0;break;case\"isosurface\":P=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6 A12,24 0 0,0 6,-6 L0,6Z\"]],g=!1;break}var T=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legend3dandfriends\").data(P);T.enter().append(\"path\").classed(\"legend3dandfriends\",!0).attr(\"transform\",l).style(\"stroke-miterlimit\",1),T.exit().remove(),T.each(function(F,q){var V=qv.select(this),H=EB(M),X=H.colorscale,G=H.reversescale,N=function(_e){if(_e.size()){var Me=\"legendfill-\"+M.uid;ip.gradient(_e,r,Me,kB(G,g===\"radial\"),X,\"fill\")}},W;if(X){if(!g){var ae=X.length;W=q===0?X[G?ae-1:0][1]:q===1?X[G?0:ae-1][1]:X[Math.floor((ae-1)/2)][1]}}else{var re=M.vertexcolor||M.facecolor||M.color;W=mv.isArrayOrTypedArray(re)?re[q]||re[0]:re}V.attr(\"d\",F[0]),W?V.call(T0.fill,W):V.call(N)})}};function kB(e,t){var r=t?\"radial\":\"horizontal\";return r+(e?\"\":\"reversed\")}function ole(e){var t=e[0].trace,r=t.contours,n=IL.hasLines(t),i=IL.hasMarkers(t),a=t.visible&&t.fill&&t.fill!==\"none\",o=!1,s=!1;if(r){var l=r.coloring;l===\"lines\"?o=!0:n=l===\"none\"||l===\"heatmap\"||r.showlines,r.type===\"constraint\"?a=r._operation!==\"=\":(l===\"fill\"||l===\"heatmap\")&&(s=!0)}return{showMarker:i,showLine:n,showFill:a,showGradientLine:o,showGradientFill:s,anyLine:n||o,anyFill:a||s}}function sle(e,t,r){return e&&mv.isArrayOrTypedArray(e)?t:e>r?r:e}});var RB=ye((jrr,yle)=>{\"use strict\";var Sp=xa(),gh=Mr(),PB=Xu(),B3=ba(),ule=g3(),LB=gv(),mh=ao(),DL=va(),Rb=Pl(),cle=Wse(),Vh=AB(),IB=Nh(),gle=IB.LINE_SPACING,O3=IB.FROM_TL,fle=IB.FROM_BR,hle=Kse(),Tst=CB(),dle=LL(),q3=1,Ast=/^legend[0-9]*$/;yle.exports=function(t,r){if(r)vle(t,r);else{var n=t._fullLayout,i=n._legends,a=n._infolayer.selectAll('[class^=\"legend\"]');a.each(function(){var u=Sp.select(this),c=u.attr(\"class\"),f=c.split(\" \")[0];f.match(Ast)&&i.indexOf(f)===-1&&u.remove()});for(var o=0;o<i.length;o++){var s=i[o],l=t._fullLayout[s];vle(t,l)}}};function Sst(e,t,r){if(!(t.title.side!==\"top center\"&&t.title.side!==\"top right\")){var n=t.title.font,i=n.size*gle,a=0,o=e.node(),s=mh.bBox(o).width;t.title.side===\"top center\"?a=.5*(t._width-2*r-2*Vh.titlePad-s):t.title.side===\"top right\"&&(a=t._width-2*r-2*Vh.titlePad-s),Rb.positionText(e,r+Vh.titlePad+a,r+i)}}function vle(e,t){var r=t||{},n=e._fullLayout,i=OL(r),a,o,s=r._inHover;if(s?(o=r.layer,a=\"hover\"):(o=n._infolayer,a=i),!!o){a+=n._uid,e._legendMouseDownTime||(e._legendMouseDownTime=0);var l;if(s){if(!r.entries)return;l=hle(r.entries,r)}else{for(var u=(e.calcdata||[]).slice(),c=n.shapes,f=0;f<c.length;f++){var h=c[f];if(h.showlegend){var d={_isShape:!0,_fullInput:h,index:h._index,name:h.name||h.label.text||\"shape \"+h._index,legend:h.legend,legendgroup:h.legendgroup,legendgrouptitle:h.legendgrouptitle,legendrank:h.legendrank,legendwidth:h.legendwidth,showlegend:h.showlegend,visible:h.visible,opacity:h.opacity,mode:h.type===\"line\"?\"lines\":\"markers\",line:h.line,marker:{line:h.line,color:h.fillcolor,size:12,symbol:h.type===\"rect\"?\"square\":h.type===\"circle\"?\"circle\":\"hexagon2\"}};u.push([{trace:d}])}}l=n.showlegend&&hle(u,r,n._legends.length>1)}var v=n.hiddenlabels||[];if(!s&&(!n.showlegend||!l.length))return o.selectAll(\".\"+i).remove(),n._topdefs.select(\"#\"+a).remove(),PB.autoMargin(e,i);var x=gh.ensureSingle(o,\"g\",i,function(M){s||M.attr(\"pointer-events\",\"all\")}),b=gh.ensureSingleById(n._topdefs,\"clipPath\",a,function(M){M.append(\"rect\")}),p=gh.ensureSingle(x,\"rect\",\"bg\",function(M){M.attr(\"shape-rendering\",\"crispEdges\")});p.call(DL.stroke,r.bordercolor).call(DL.fill,r.bgcolor).style(\"stroke-width\",r.borderwidth+\"px\");var E=gh.ensureSingle(x,\"g\",\"scrollbox\"),k=r.title;r._titleWidth=0,r._titleHeight=0;var A;k.text?(A=gh.ensureSingle(E,\"text\",i+\"titletext\"),A.attr(\"text-anchor\",\"start\").call(mh.font,k.font).text(k.text),zL(A,E,e,r,q3)):E.selectAll(\".\"+i+\"titletext\").remove();var L=gh.ensureSingle(x,\"rect\",\"scrollbar\",function(M){M.attr(Vh.scrollBarEnterAttrs).call(DL.fill,Vh.scrollBarColor)}),_=E.selectAll(\"g.groups\").data(l);_.enter().append(\"g\").attr(\"class\",\"groups\"),_.exit().remove();var C=_.selectAll(\"g.traces\").data(gh.identity);C.enter().append(\"g\").attr(\"class\",\"traces\"),C.exit().remove(),C.style(\"opacity\",function(M){var g=M[0].trace;return B3.traceIs(g,\"pie-like\")?v.indexOf(M[0].label)!==-1?.5:1:g.visible===\"legendonly\"?.5:1}).each(function(){Sp.select(this).call(Mst,e,r)}).call(Tst,e,r).each(function(){s||Sp.select(this).call(Est,e,i)}),gh.syncOrAsync([PB.previousPromises,function(){return Lst(e,_,C,r)},function(){var M=n._size,g=r.borderwidth,P=r.xref===\"paper\",T=r.yref===\"paper\";if(k.text&&Sst(A,r,g),!s){var F,q;P?F=M.l+M.w*r.x-O3[FL(r)]*r._width:F=n.width*r.x-O3[FL(r)]*r._width,T?q=M.t+M.h*(1-r.y)-O3[qL(r)]*r._effHeight:q=n.height*(1-r.y)-O3[qL(r)]*r._effHeight;var V=Pst(e,i,F,q);if(V)return;if(n.margin.autoexpand){var H=F,X=q;F=P?gh.constrain(F,0,n.width-r._width):H,q=T?gh.constrain(q,0,n.height-r._effHeight):X,F!==H&&gh.log(\"Constrain \"+i+\".x to make legend fit inside graph\"),q!==X&&gh.log(\"Constrain \"+i+\".y to make legend fit inside graph\")}mh.setTranslate(x,F,q)}if(L.on(\".drag\",null),x.on(\"wheel\",null),s||r._height<=r._maxHeight||e._context.staticPlot){var G=r._effHeight;s&&(G=r._height),p.attr({width:r._width-g,height:G-g,x:g/2,y:g/2}),mh.setTranslate(E,0,0),b.select(\"rect\").attr({width:r._width-2*g,height:G-2*g,x:g,y:g}),mh.setClipUrl(E,a,e),mh.setRect(L,0,0,0,0),delete r._scrollY}else{var N=Math.max(Vh.scrollBarMinHeight,r._effHeight*r._effHeight/r._height),W=r._effHeight-N-2*Vh.scrollBarMargin,re=r._height-r._effHeight,ae=W/re,_e=Math.min(r._scrollY||0,re);p.attr({width:r._width-2*g+Vh.scrollBarWidth+Vh.scrollBarMargin,height:r._effHeight-g,x:g/2,y:g/2}),b.select(\"rect\").attr({width:r._width-2*g+Vh.scrollBarWidth+Vh.scrollBarMargin,height:r._effHeight-2*g,x:g,y:g+_e}),mh.setClipUrl(E,a,e),ze(_e,N,ae),x.on(\"wheel\",function(){_e=gh.constrain(r._scrollY+Sp.event.deltaY/W*re,0,re),ze(_e,N,ae),_e!==0&&_e!==re&&Sp.event.preventDefault()});var Me,ke,ge,ie=function(Ge,nt,ct){var qt=(ct-nt)/ae+Ge;return gh.constrain(qt,0,re)},Te=function(Ge,nt,ct){var qt=(nt-ct)/ae+Ge;return gh.constrain(qt,0,re)},Ee=Sp.behavior.drag().on(\"dragstart\",function(){var Ge=Sp.event.sourceEvent;Ge.type===\"touchstart\"?Me=Ge.changedTouches[0].clientY:Me=Ge.clientY,ge=_e}).on(\"drag\",function(){var Ge=Sp.event.sourceEvent;Ge.buttons===2||Ge.ctrlKey||(Ge.type===\"touchmove\"?ke=Ge.changedTouches[0].clientY:ke=Ge.clientY,_e=ie(ge,Me,ke),ze(_e,N,ae))});L.call(Ee);var Ae=Sp.behavior.drag().on(\"dragstart\",function(){var Ge=Sp.event.sourceEvent;Ge.type===\"touchstart\"&&(Me=Ge.changedTouches[0].clientY,ge=_e)}).on(\"drag\",function(){var Ge=Sp.event.sourceEvent;Ge.type===\"touchmove\"&&(ke=Ge.changedTouches[0].clientY,_e=Te(ge,Me,ke),ze(_e,N,ae))});E.call(Ae)}function ze(Ge,nt,ct){r._scrollY=e._fullLayout[i]._scrollY=Ge,mh.setTranslate(E,0,-Ge),mh.setRect(L,r._width,Vh.scrollBarMargin+Ge*ct,Vh.scrollBarWidth,nt),b.select(\"rect\").attr(\"y\",g+Ge)}if(e._context.edits.legendPosition){var Ce,me,Re,ce;x.classed(\"cursor-move\",!0),LB.init({element:x.node(),gd:e,prepFn:function(Ge){if(Ge.target!==L.node()){var nt=mh.getTranslate(x);Re=nt.x,ce=nt.y}},moveFn:function(Ge,nt){if(Re!==void 0&&ce!==void 0){var ct=Re+Ge,qt=ce+nt;mh.setTranslate(x,ct,qt),Ce=LB.align(ct,r._width,M.l,M.l+M.w,r.xanchor),me=LB.align(qt+r._height,-r._height,M.t+M.h,M.t,r.yanchor)}},doneFn:function(){if(Ce!==void 0&&me!==void 0){var Ge={};Ge[i+\".x\"]=Ce,Ge[i+\".y\"]=me,B3.call(\"_guiRelayout\",e,Ge)}},clickFn:function(Ge,nt){var ct=o.selectAll(\"g.traces\").filter(function(){var qt=this.getBoundingClientRect();return nt.clientX>=qt.left&&nt.clientX<=qt.right&&nt.clientY>=qt.top&&nt.clientY<=qt.bottom});ct.size()>0&&mle(e,x,ct,Ge,nt)}})}}],e)}}function RL(e,t,r){var n=e[0],i=n.width,a=t.entrywidthmode,o=n.trace.legendwidth||t.entrywidth;return a===\"fraction\"?t._maxWidth*o:r+(o||i)}function mle(e,t,r,n,i){var a=r.data()[0][0].trace,o={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a.index,data:e.data,layout:e.layout,frames:e._transitionData._frames,config:e._context,fullData:e._fullData,fullLayout:e._fullLayout};a._group&&(o.group=a._group),B3.traceIs(a,\"pie-like\")&&(o.label=r.datum()[0].label);var s=ule.triggerHandler(e,\"plotly_legendclick\",o);if(n===1){if(s===!1)return;t._clickTimeout=setTimeout(function(){e._fullLayout&&cle(r,e,n)},e._context.doubleClickDelay)}else if(n===2){t._clickTimeout&&clearTimeout(t._clickTimeout),e._legendMouseDownTime=0;var l=ule.triggerHandler(e,\"plotly_legenddoubleclick\",o);l!==!1&&s!==!1&&cle(r,e,n)}}function Mst(e,t,r){var n=OL(r),i=e.data()[0][0],a=i.trace,o=B3.traceIs(a,\"pie-like\"),s=!r._inHover&&t._context.edits.legendText&&!o,l=r._maxNameLength,u,c;i.groupTitle?(u=i.groupTitle.text,c=i.groupTitle.font):(c=r.font,r.entries?u=i.text:(u=o?i.label:a.name,a._meta&&(u=gh.templateString(u,a._meta))));var f=gh.ensureSingle(e,\"text\",n+\"text\");f.attr(\"text-anchor\",\"start\").call(mh.font,c).text(s?ple(u,l):u);var h=r.indentation+r.itemwidth+Vh.itemGap*2;Rb.positionText(f,h,0),s?f.call(Rb.makeEditable,{gd:t,text:u}).call(zL,e,t,r).on(\"edit\",function(d){this.text(ple(d,l)).call(zL,e,t,r);var v=i.trace._fullInput||{},x={};return x.name=d,v._isShape?B3.call(\"_guiRelayout\",t,\"shapes[\"+a.index+\"].name\",x.name):B3.call(\"_guiRestyle\",t,x,a.index)}):zL(f,e,t,r)}function ple(e,t){var r=Math.max(4,t);if(e&&e.trim().length>=r/2)return e;e=e||\"\";for(var n=r-e.length;n>0;n--)e+=\" \";return e}function Est(e,t,r){var n=t._context.doubleClickDelay,i,a=1,o=gh.ensureSingle(e,\"rect\",r+\"toggle\",function(s){t._context.staticPlot||s.style(\"cursor\",\"pointer\").attr(\"pointer-events\",\"all\"),s.call(DL.fill,\"rgba(0,0,0,0)\")});t._context.staticPlot||(o.on(\"mousedown\",function(){i=new Date().getTime(),i-t._legendMouseDownTime<n?a+=1:(a=1,t._legendMouseDownTime=i)}),o.on(\"mouseup\",function(){if(!(t._dragged||t._editing)){var s=t._fullLayout[r];new Date().getTime()-t._legendMouseDownTime>n&&(a=Math.max(a-1,1)),mle(t,s,e,a,Sp.event)}}))}function zL(e,t,r,n,i){n._inHover&&e.attr(\"data-notex\",!0),Rb.convertToTspans(e,r,function(){kst(t,r,n,i)})}function kst(e,t,r,n){var i=e.data()[0][0];if(!r._inHover&&i&&!i.trace.showlegend){e.remove();return}var a=e.select(\"g[class*=math-group]\"),o=a.node(),s=OL(r);r||(r=t._fullLayout[s]);var l=r.borderwidth,u;n===q3?u=r.title.font:i.groupTitle?u=i.groupTitle.font:u=r.font;var c=u.size*gle,f,h;if(o){var d=mh.bBox(o);f=d.height,h=d.width,n===q3?mh.setTranslate(a,l,l+f*.75):mh.setTranslate(a,0,f*.25)}else{var v=\".\"+s+(n===q3?\"title\":\"\")+\"text\",x=e.select(v),b=Rb.lineCount(x),p=x.node();if(f=c*b,h=p?mh.bBox(p).width:0,n===q3)r.title.side===\"left\"&&(h+=Vh.itemGap*2),Rb.positionText(x,l+Vh.titlePad,l+c);else{var E=Vh.itemGap*2+r.indentation+r.itemwidth;i.groupTitle&&(E=Vh.itemGap,h-=r.indentation+r.itemwidth),Rb.positionText(x,E,-c*((b-1)/2-.3))}}n===q3?(r._titleWidth=h,r._titleHeight=f):(i.lineHeight=c,i.height=Math.max(f,16)+3,i.width=h)}function Cst(e){var t=0,r=0,n=e.title.side;return n&&(n.indexOf(\"left\")!==-1&&(t=e._titleWidth),n.indexOf(\"top\")!==-1&&(r=e._titleHeight)),[t,r]}function Lst(e,t,r,n){var i=e._fullLayout,a=OL(n);n||(n=i[a]);var o=i._size,s=dle.isVertical(n),l=dle.isGrouped(n),u=n.entrywidthmode===\"fraction\",c=n.borderwidth,f=2*c,h=Vh.itemGap,d=n.indentation+n.itemwidth+h*2,v=2*(c+h),x=qL(n),b=n.y<0||n.y===0&&x===\"top\",p=n.y>1||n.y===1&&x===\"bottom\",E=n.tracegroupgap,k={};n._maxHeight=Math.max(b||p?i.height/2:o.h,30);var A=0;n._width=0,n._height=0;var L=Cst(n);if(s)r.each(function(ge){var ie=ge[0].height;mh.setTranslate(this,c+L[0],c+L[1]+n._height+ie/2+h),n._height+=ie,n._width=Math.max(n._width,ge[0].width)}),A=d+n._width,n._width+=h+d+f,n._height+=v,l&&(t.each(function(ge,ie){mh.setTranslate(this,0,ie*n.tracegroupgap)}),n._height+=(n._lgroupsLength-1)*n.tracegroupgap);else{var _=FL(n),C=n.x<0||n.x===0&&_===\"right\",M=n.x>1||n.x===1&&_===\"left\",g=p||b,P=i.width/2;n._maxWidth=Math.max(C?g&&_===\"left\"?o.l+o.w:P:M?g&&_===\"right\"?o.r+o.w:P:o.w,2*d);var T=0,F=0;r.each(function(ge){var ie=RL(ge,n,d);T=Math.max(T,ie),F+=ie}),A=null;var q=0;if(l){var V=0,H=0,X=0;t.each(function(){var ge=0,ie=0;Sp.select(this).selectAll(\"g.traces\").each(function(Ee){var Ae=RL(Ee,n,d),ze=Ee[0].height;mh.setTranslate(this,L[0],L[1]+c+h+ze/2+ie),ie+=ze,ge=Math.max(ge,Ae),k[Ee[0].trace.legendgroup]=ge});var Te=ge+h;H>0&&Te+c+H>n._maxWidth?(q=Math.max(q,H),H=0,X+=V+E,V=ie):V=Math.max(V,ie),mh.setTranslate(this,H,X),H+=Te}),n._width=Math.max(q,H)+c,n._height=X+V+v}else{var G=r.size(),N=F+f+(G-1)*h<n._maxWidth,W=0,re=0,ae=0,_e=0;r.each(function(ge){var ie=ge[0].height,Te=RL(ge,n,d,l),Ee=N?Te:T;u||(Ee+=h),Ee+c+re-h>=n._maxWidth&&(q=Math.max(q,_e),re=0,ae+=W,n._height+=W,W=0),mh.setTranslate(this,L[0]+c+re,L[1]+c+ae+ie/2+h),_e=re+Te+h,re+=Ee,W=Math.max(W,ie)}),N?(n._width=re+f,n._height=W+v):(n._width=Math.max(q,_e)+f,n._height+=W+v)}}n._width=Math.ceil(Math.max(n._width+L[0],n._titleWidth+2*(c+Vh.titlePad))),n._height=Math.ceil(Math.max(n._height+L[1],n._titleHeight+2*(c+Vh.itemGap))),n._effHeight=Math.min(n._height,n._maxHeight);var Me=e._context.edits,ke=Me.legendText||Me.legendPosition;r.each(function(ge){var ie=Sp.select(this).select(\".\"+a+\"toggle\"),Te=ge[0].height,Ee=ge[0].trace.legendgroup,Ae=RL(ge,n,d);l&&Ee!==\"\"&&(Ae=k[Ee]);var ze=ke?d:A||Ae;!s&&!u&&(ze+=h/2),mh.setRect(ie,0,-Te/2,ze,Te)})}function Pst(e,t,r,n){var i=e._fullLayout,a=i[t],o=FL(a),s=qL(a),l=a.xref===\"paper\",u=a.yref===\"paper\";e._fullLayout._reservedMargin[t]={};var c=a.y<.5?\"b\":\"t\",f=a.x<.5?\"l\":\"r\",h={r:i.width-r,l:r+a._width,b:i.height-n,t:n+a._effHeight};if(l&&u)return PB.autoMargin(e,t,{x:a.x,y:a.y,l:a._width*O3[o],r:a._width*fle[o],b:a._effHeight*fle[s],t:a._effHeight*O3[s]});l?e._fullLayout._reservedMargin[t][c]=h[c]:u||a.orientation===\"v\"?e._fullLayout._reservedMargin[t][f]=h[f]:e._fullLayout._reservedMargin[t][c]=h[c]}function FL(e){return gh.isRightAnchor(e)?\"right\":gh.isCenterAnchor(e)?\"center\":\"left\"}function qL(e){return gh.isBottomAnchor(e)?\"bottom\":gh.isMiddleAnchor(e)?\"middle\":\"top\"}function OL(e){return e._id||\"legend\"}});var qB=ye(FB=>{\"use strict\";var Db=xa(),Sy=uo(),_le=id(),Rf=Mr(),Ist=Rf.pushUnique,DB=Rf.strTranslate,Rst=Rf.strRotate,Dst=g3(),A0=Pl(),zst=Vse(),bm=ao(),sd=va(),BL=gv(),wm=Qa(),Fst=ad().zindexSeparator,U3=ba(),Ag=rp(),zb=IS(),qst=bB(),Ost=RB(),Ele=zb.YANGLE,zB=Math.PI*Ele/180,Bst=1/Math.sin(zB),Nst=Math.cos(zB),Ust=Math.sin(zB),Bc=zb.HOVERARROWSIZE,Us=zb.HOVERTEXTPAD,xle={box:!0,ohlc:!0,violin:!0,candlestick:!0},Vst={scatter:!0,scattergl:!0,splom:!0};function ble(e,t){return e.distance-t.distance}FB.hover=function(t,r,n,i){t=Rf.getGraphDiv(t);var a=r.target;Rf.throttle(t._fullLayout._uid+zb.HOVERID,zb.HOVERMINTIME,function(){Hst(t,r,n,i,a)})};FB.loneHover=function(t,r){var n=!0;Array.isArray(t)||(n=!1,t=[t]);var i=r.gd,a=Ile(i),o=Rle(i),s=t.map(function(b){var p=b._x0||b.x0||b.x||0,E=b._x1||b.x1||b.x||0,k=b._y0||b.y0||b.y||0,A=b._y1||b.y1||b.y||0,L=b.eventData;if(L){var _=Math.min(p,E),C=Math.max(p,E),M=Math.min(k,A),g=Math.max(k,A),P=b.trace;if(U3.traceIs(P,\"gl3d\")){var T=i._fullLayout[P.scene]._scene.container,F=T.offsetLeft,q=T.offsetTop;_+=F,C+=F,M+=q,g+=q}L.bbox={x0:_+o,x1:C+o,y0:M+a,y1:g+a},r.inOut_bbox&&r.inOut_bbox.push(L.bbox)}else L=!1;return{color:b.color||sd.defaultLine,x0:b.x0||b.x||0,x1:b.x1||b.x||0,y0:b.y0||b.y||0,y1:b.y1||b.y||0,xLabel:b.xLabel,yLabel:b.yLabel,zLabel:b.zLabel,text:b.text,name:b.name,idealAlign:b.idealAlign,borderColor:b.borderColor,fontFamily:b.fontFamily,fontSize:b.fontSize,fontColor:b.fontColor,fontWeight:b.fontWeight,fontStyle:b.fontStyle,fontVariant:b.fontVariant,nameLength:b.nameLength,textAlign:b.textAlign,trace:b.trace||{index:0,hoverinfo:\"\"},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:b.hovertemplate||!1,hovertemplateLabels:b.hovertemplateLabels||!1,eventData:L}}),l=!1,u=Cle(s,{gd:i,hovermode:\"closest\",rotateLabels:l,bgColor:r.bgColor||sd.background,container:Db.select(r.container),outerContainer:r.outerContainer||r.container}),c=u.hoverLabels,f=5,h=0,d=0;c.sort(function(b,p){return b.y0-p.y0}).each(function(b,p){var E=b.y0-b.by/2;E-f<h?b.offset=h-E+f:b.offset=0,h=E+b.by+b.offset,p===r.anchorIndex&&(d=b.offset)}).each(function(b){b.offset-=d});var v=i._fullLayout._invScaleX,x=i._fullLayout._invScaleY;return Ple(c,l,v,x),n?c:c.node()};function Hst(e,t,r,n,i){r||(r=\"xy\"),typeof r==\"string\"&&(r=r.split(Fst)[0]);var a=Array.isArray(r)?r:[r],o,s=e._fullLayout,l=s.hoversubplots,u=s._plots||[],c=u[r],f=s._has(\"cartesian\"),h=t.hovermode||s.hovermode,d=(h||\"\").charAt(0)===\"x\",v=(h||\"\").charAt(0)===\"y\",x,b;if(f&&(d||v)&&l===\"axis\"){for(var p=a.length,E=0;E<p;E++)if(o=a[E],u[o]){x=wm.getFromId(e,o,\"x\"),b=wm.getFromId(e,o,\"y\");var k=(d?x:b)._subplotsWith;if(k&&k.length)for(var A=0;A<k.length;A++)Ist(a,k[A])}}if(c&&l!==\"single\"){var L=c.overlays.map(function(Ni){return Ni.id});a=a.concat(L)}for(var _=a.length,C=new Array(_),M=new Array(_),g=!1,P=0;P<_;P++)if(o=a[P],u[o])g=!0,C[P]=u[o].xaxis,M[P]=u[o].yaxis;else if(s[o]&&s[o]._subplot){var T=s[o]._subplot;C[P]=T.xaxis,M[P]=T.yaxis}else{Rf.warn(\"Unrecognized subplot: \"+o);return}if(h&&!g&&(h=\"closest\"),[\"x\",\"y\",\"closest\",\"x unified\",\"y unified\"].indexOf(h)===-1||!e.calcdata||e.querySelector(\".zoombox\")||e._dragging)return BL.unhoverRaw(e,t);var F=s.hoverdistance;F===-1&&(F=1/0);var q=s.spikedistance;q===-1&&(q=1/0);var V=[],H=[],X,G,N,W,re,ae,_e,Me,ke,ge,ie,Te,Ee,Ae={hLinePoint:null,vLinePoint:null},ze=!1;if(Array.isArray(t))for(h=\"array\",N=0;N<t.length;N++)re=e.calcdata[t[N].curveNumber||0],re&&(ae=re[0].trace,re[0].trace.hoverinfo!==\"skip\"&&(H.push(re),ae.orientation===\"h\"&&(ze=!0)));else{var Ce=e.calcdata.slice();for(Ce.sort(function(Ni,_n){var $i=Ni[0].trace.zorder||0,zn=_n[0].trace.zorder||0;return $i-zn}),W=0;W<Ce.length;W++)re=Ce[W],ae=re[0].trace,ae.hoverinfo!==\"skip\"&&Ag.isTraceInSubplots(ae,a)&&(H.push(re),ae.orientation===\"h\"&&(ze=!0));var me=!i,Re,ce;if(me)\"xpx\"in t?Re=t.xpx:Re=C[0]._length/2,\"ypx\"in t?ce=t.ypx:ce=M[0]._length/2;else{if(Dst.triggerHandler(e,\"plotly_beforehover\",t)===!1)return;var Ge=i.getBoundingClientRect();Re=t.clientX-Ge.left,ce=t.clientY-Ge.top,s._calcInverseTransform(e);var nt=Rf.apply3DTransform(s._invTransform)(Re,ce);if(Re=nt[0],ce=nt[1],Re<0||Re>C[0]._length||ce<0||ce>M[0]._length)return BL.unhoverRaw(e,t)}if(t.pointerX=Re+C[0]._offset,t.pointerY=ce+M[0]._offset,\"xval\"in t?X=Ag.flat(a,t.xval):X=Ag.p2c(C,Re),\"yval\"in t?G=Ag.flat(a,t.yval):G=Ag.p2c(M,ce),!Sy(X[0])||!Sy(G[0]))return Rf.warn(\"Fx.hover failed\",t,e),BL.unhoverRaw(e,t)}var ct=1/0;function qt(Ni,_n){for(W=0;W<H.length;W++)if(re=H[W],!(!re||!re[0]||!re[0].trace)&&(ae=re[0].trace,!(ae.visible!==!0||ae._length===0)&&[\"carpet\",\"contourcarpet\"].indexOf(ae._module.name)===-1)){if(ke=h,Ag.isUnifiedHover(ke)&&(ke=ke.charAt(0)),ae.type===\"splom\"?(Me=0,_e=a[Me]):(_e=Ag.getSubplot(ae),Me=a.indexOf(_e)),Te={cd:re,trace:ae,xa:C[Me],ya:M[Me],maxHoverDistance:F,maxSpikeDistance:q,index:!1,distance:Math.min(ct,F),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:sd.defaultLine,name:ae.name,x0:void 0,x1:void 0,y0:void 0,y1:void 0,xLabelVal:void 0,yLabelVal:void 0,zLabelVal:void 0,text:void 0},s[_e]&&(Te.subplot=s[_e]._subplot),s._splomScenes&&s._splomScenes[ae.uid]&&(Te.scene=s._splomScenes[ae.uid]),ke===\"array\"){var $i=t[W];\"pointNumber\"in $i?(Te.index=$i.pointNumber,ke=\"closest\"):(ke=\"\",\"xval\"in $i&&(ge=$i.xval,ke=\"x\"),\"yval\"in $i&&(ie=$i.yval,ke=ke?\"closest\":\"y\"))}else Ni!==void 0&&_n!==void 0?(ge=Ni,ie=_n):(ge=X[Me],ie=G[Me]);if(Ee=V.length,F!==0)if(ae._module&&ae._module.hoverPoints){var zn=ae._module.hoverPoints(Te,ge,ie,ke,{finiteRange:!0,hoverLayer:s._hoverlayer,hoversubplots:l,gd:e});if(zn)for(var Wn,It=0;It<zn.length;It++)Wn=zn[It],Sy(Wn.x0)&&Sy(Wn.y0)&&V.push(Zst(Wn,h))}else Rf.log(\"Unrecognized trace type in hover:\",ae);if(h===\"closest\"&&V.length>Ee&&(V.splice(0,Ee),ct=V[0].distance),f&&q!==0&&V.length===0){Te.distance=q,Te.index=!1;var ft=ae._module.hoverPoints(Te,ge,ie,\"closest\",{hoverLayer:s._hoverlayer});if(ft&&(ft=ft.filter(function(Vr){return Vr.spikeDistance<=q})),ft&&ft.length){var jt,Zt=ft.filter(function(Vr){return Vr.xa.showspikes&&Vr.xa.spikesnap!==\"hovered data\"});if(Zt.length){var yr=Zt[0];Sy(yr.x0)&&Sy(yr.y0)&&(jt=ot(yr),(!Ae.vLinePoint||Ae.vLinePoint.spikeDistance>jt.spikeDistance)&&(Ae.vLinePoint=jt))}var Fr=ft.filter(function(Vr){return Vr.ya.showspikes&&Vr.ya.spikesnap!==\"hovered data\"});if(Fr.length){var Zr=Fr[0];Sy(Zr.x0)&&Sy(Zr.y0)&&(jt=ot(Zr),(!Ae.hLinePoint||Ae.hLinePoint.spikeDistance>jt.spikeDistance)&&(Ae.hLinePoint=jt))}}}}}qt();function rt(Ni,_n,$i){for(var zn=null,Wn=1/0,It,ft=0;ft<Ni.length;ft++)x&&x._id!==Ni[ft].xa._id||b&&b._id!==Ni[ft].ya._id||(It=Ni[ft].spikeDistance,$i&&ft===0&&(It=-1/0),It<=Wn&&It<=_n&&(zn=Ni[ft],Wn=It));return zn}function ot(Ni){return Ni?{xa:Ni.xa,ya:Ni.ya,x:Ni.xSpike!==void 0?Ni.xSpike:(Ni.x0+Ni.x1)/2,y:Ni.ySpike!==void 0?Ni.ySpike:(Ni.y0+Ni.y1)/2,distance:Ni.distance,spikeDistance:Ni.spikeDistance,curveNumber:Ni.trace.index,color:Ni.color,pointNumber:Ni.index}:null}var Rt={fullLayout:s,container:s._hoverlayer,event:t},kt=e._spikepoints,Ct={vLinePoint:Ae.vLinePoint,hLinePoint:Ae.hLinePoint};e._spikepoints=Ct;var Yt=function(){var Ni=V.filter(function($i){return x&&x._id===$i.xa._id&&b&&b._id===$i.ya._id}),_n=V.filter(function($i){return!(x&&x._id===$i.xa._id&&b&&b._id===$i.ya._id)});Ni.sort(ble),_n.sort(ble),V=Ni.concat(_n),V=Yst(V,h)};Yt();var xr=h.charAt(0),er=(xr===\"x\"||xr===\"y\")&&V[0]&&Vst[V[0].trace.type];if(f&&q!==0&&V.length!==0){var Ke=V.filter(function(Ni){return Ni.ya.showspikes}),xt=rt(Ke,q,er);Ae.hLinePoint=ot(xt);var bt=V.filter(function(Ni){return Ni.xa.showspikes}),Lt=rt(bt,q,er);Ae.vLinePoint=ot(Lt)}if(V.length===0){var St=BL.unhoverRaw(e,t);return f&&(Ae.hLinePoint!==null||Ae.vLinePoint!==null)&&Ale(kt)&&Tle(e,Ae,Rt),St}if(f&&Ale(kt)&&Tle(e,Ae,Rt),Ag.isXYhover(ke)&&V[0].length!==0&&V[0].trace.type!==\"splom\"){var Et=V[0];xle[Et.trace.type]?V=V.filter(function(Ni){return Ni.trace.index===Et.trace.index}):V=[Et];var dt=V.length,Ht=Mle(\"x\",Et,s),$t=Mle(\"y\",Et,s);qt(Ht,$t);var fr=[],_r={},Br=0,Or=function(Ni){var _n=xle[Ni.trace.type]?kle(Ni):Ni.trace.index;if(!_r[_n])Br++,_r[_n]=Br,fr.push(Ni);else{var $i=_r[_n]-1,zn=fr[$i];$i>0&&Math.abs(Ni.distance)<Math.abs(zn.distance)&&(fr[$i]=Ni)}},Nr;for(Nr=0;Nr<dt;Nr++)Or(V[Nr]);for(Nr=V.length-1;Nr>dt-1;Nr--)Or(V[Nr]);V=fr,Yt()}var ut=e._hoverdata,Ne=[],Ye=Ile(e),Ve=Rle(e);for(N=0;N<V.length;N++){var Xe=V[N],ht=Ag.makeEventData(Xe,Xe.trace,Xe.cd);if(Xe.hovertemplate!==!1){var Le=!1;Xe.cd[Xe.index]&&Xe.cd[Xe.index].ht&&(Le=Xe.cd[Xe.index].ht),Xe.hovertemplate=Le||Xe.trace.hovertemplate||!1}if(Xe.xa&&Xe.ya){var xe=Xe.x0+Xe.xa._offset,Se=Xe.x1+Xe.xa._offset,lt=Xe.y0+Xe.ya._offset,Gt=Xe.y1+Xe.ya._offset,Vt=Math.min(xe,Se),ar=Math.max(xe,Se),Qr=Math.min(lt,Gt),ai=Math.max(lt,Gt);ht.bbox={x0:Vt+Ve,x1:ar+Ve,y0:Qr+Ye,y1:ai+Ye}}Xe.eventData=[ht],Ne.push(ht)}e._hoverdata=Ne;var jr=h===\"y\"&&(H.length>1||V.length>1)||h===\"closest\"&&ze&&V.length>1,ri=sd.combine(s.plot_bgcolor||sd.background,s.paper_bgcolor),bi=Cle(V,{gd:e,hovermode:h,rotateLabels:jr,bgColor:ri,container:s._hoverlayer,outerContainer:s._paper.node(),commonLabelOpts:s.hoverlabel,hoverdistance:s.hoverdistance}),nn=bi.hoverLabels;if(Ag.isUnifiedHover(h)||(jst(nn,jr,s,bi.commonLabelBoundingBox),Ple(nn,jr,s._invScaleX,s._invScaleY)),i&&i.tagName){var Wi=U3.getComponentMethod(\"annotations\",\"hasClickToShow\")(e,Ne);zst(Db.select(i),Wi?\"pointer\":\"\")}!i||n||!Xst(e,t,ut)||(ut&&e.emit(\"plotly_unhover\",{event:t,points:ut}),e.emit(\"plotly_hover\",{event:t,points:e._hoverdata,xaxes:C,yaxes:M,xvals:X,yvals:G}))}function kle(e){return[e.trace.index,e.index,e.x0,e.y0,e.name,e.attr,e.xa?e.xa._id:\"\",e.ya?e.ya._id:\"\"].join(\",\")}var Gst=/<extra>([\\s\\S]*)<\\/extra>/;function Cle(e,t){var r=t.gd,n=r._fullLayout,i=t.hovermode,a=t.rotateLabels,o=t.bgColor,s=t.container,l=t.outerContainer,u=t.commonLabelOpts||{};if(e.length===0)return[[]];var c=t.fontFamily||zb.HOVERFONT,f=t.fontSize||zb.HOVERFONTSIZE,h=t.fontWeight||n.font.weight,d=t.fontStyle||n.font.style,v=t.fontVariant||n.font.variant,x=t.fontTextcase||n.font.textcase,b=t.fontLineposition||n.font.lineposition,p=t.fontShadow||n.font.shadow,E=e[0],k=E.xa,A=E.ya,L=i.charAt(0),_=L+\"Label\",C=E[_];if(C===void 0&&k.type===\"multicategory\")for(var M=0;M<e.length&&(C=e[M][_],C===void 0);M++);var g=N3(r,l),P=g.top,T=g.width,F=g.height,q=C!==void 0&&E.distance<=t.hoverdistance&&(i===\"x\"||i===\"y\");if(q){var V=!0,H,X;for(H=0;H<e.length;H++)if(V&&e[H].zLabel===void 0&&(V=!1),X=e[H].hoverinfo||e[H].trace.hoverinfo,X){var G=Array.isArray(X)?X:X.split(\"+\");if(G.indexOf(\"all\")===-1&&G.indexOf(i)===-1){q=!1;break}}V&&(q=!1)}var N=s.selectAll(\"g.axistext\").data(q?[0]:[]);N.enter().append(\"g\").classed(\"axistext\",!0),N.exit().remove();var W={minX:0,maxX:0,minY:0,maxY:0};if(N.each(function(){var bt=Db.select(this),Lt=Rf.ensureSingle(bt,\"path\",\"\",function(Vt){Vt.style({\"stroke-width\":\"1px\"})}),St=Rf.ensureSingle(bt,\"text\",\"\",function(Vt){Vt.attr(\"data-notex\",1)}),Et=u.bgcolor||sd.defaultLine,dt=u.bordercolor||sd.contrast(Et),Ht=sd.contrast(Et),$t=u.font,fr={weight:$t.weight||h,style:$t.style||d,variant:$t.variant||v,textcase:$t.textcase||x,lineposition:$t.lineposition||b,shadow:$t.shadow||p,family:$t.family||c,size:$t.size||f,color:$t.color||Ht};Lt.style({fill:Et,stroke:dt}),St.text(C).call(bm.font,fr).call(A0.positionText,0,0).call(A0.convertToTspans,r),bt.attr(\"transform\",\"\");var _r=N3(r,St.node()),Br,Or;if(i===\"x\"){var Nr=k.side===\"top\"?\"-\":\"\";St.attr(\"text-anchor\",\"middle\").call(A0.positionText,0,k.side===\"top\"?P-_r.bottom-Bc-Us:P-_r.top+Bc+Us),Br=k._offset+(E.x0+E.x1)/2,Or=A._offset+(k.side===\"top\"?0:A._length);var ut=_r.width/2+Us,Ne=Br;Br<ut?Ne=ut:Br>n.width-ut&&(Ne=n.width-ut),Lt.attr(\"d\",\"M\"+(Br-Ne)+\",0L\"+(Br-Ne+Bc)+\",\"+Nr+Bc+\"H\"+ut+\"v\"+Nr+(Us*2+_r.height)+\"H\"+-ut+\"V\"+Nr+Bc+\"H\"+(Br-Ne-Bc)+\"Z\"),Br=Ne,W.minX=Br-ut,W.maxX=Br+ut,k.side===\"top\"?(W.minY=Or-(Us*2+_r.height),W.maxY=Or-Us):(W.minY=Or+Us,W.maxY=Or+(Us*2+_r.height))}else{var Ye,Ve,Xe;A.side===\"right\"?(Ye=\"start\",Ve=1,Xe=\"\",Br=k._offset+k._length):(Ye=\"end\",Ve=-1,Xe=\"-\",Br=k._offset),Or=A._offset+(E.y0+E.y1)/2,St.attr(\"text-anchor\",Ye),Lt.attr(\"d\",\"M0,0L\"+Xe+Bc+\",\"+Bc+\"V\"+(Us+_r.height/2)+\"h\"+Xe+(Us*2+_r.width)+\"V-\"+(Us+_r.height/2)+\"H\"+Xe+Bc+\"V-\"+Bc+\"Z\"),W.minY=Or-(Us+_r.height/2),W.maxY=Or+(Us+_r.height/2),A.side===\"right\"?(W.minX=Br+Bc,W.maxX=Br+Bc+(Us*2+_r.width)):(W.minX=Br-Bc-(Us*2+_r.width),W.maxX=Br-Bc);var ht=_r.height/2,Le=P-_r.top-ht,xe=\"clip\"+n._uid+\"commonlabel\"+A._id,Se;if(Br<_r.width+2*Us+Bc){Se=\"M-\"+(Bc+Us)+\"-\"+ht+\"h-\"+(_r.width-Us)+\"V\"+ht+\"h\"+(_r.width-Us)+\"Z\";var lt=_r.width-Br+Us;A0.positionText(St,lt,Le),Ye===\"end\"&&St.selectAll(\"tspan\").each(function(){var Vt=Db.select(this),ar=bm.tester.append(\"text\").text(Vt.text()).call(bm.font,fr),Qr=N3(r,ar.node());Math.round(Qr.width)<Math.round(_r.width)&&Vt.attr(\"x\",lt-Qr.width),ar.remove()})}else A0.positionText(St,Ve*(Us+Bc),Le),Se=null;var Gt=n._topclips.selectAll(\"#\"+xe).data(Se?[0]:[]);Gt.enter().append(\"clipPath\").attr(\"id\",xe).append(\"path\"),Gt.exit().remove(),Gt.select(\"path\").attr(\"d\",Se),bm.setClipUrl(St,Se?xe:null,r)}bt.attr(\"transform\",DB(Br,Or))}),Ag.isUnifiedHover(i)){s.selectAll(\"g.hovertext\").remove();var re=e.filter(function(bt){return bt.hoverinfo!==\"none\"});if(re.length===0)return[];var ae=n.hoverlabel,_e=ae.font,Me={showlegend:!0,legend:{title:{text:C,font:_e},font:_e,bgcolor:ae.bgcolor,bordercolor:ae.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:n.legend?n.legend.traceorder:void 0,orientation:\"v\"}},ke={font:_e};qst(Me,ke,r._fullData);var ge=ke.legend;ge.entries=[];for(var ie=0;ie<re.length;ie++){var Te=re[ie];if(Te.hoverinfo!==\"none\"){var Ee=wle(Te,!0,i,n,C),Ae=Ee[0],ze=Ee[1];Te.name=ze,ze!==\"\"?Te.text=ze+\" : \"+Ae:Te.text=Ae;var Ce=Te.cd[Te.index];Ce&&(Ce.mc&&(Te.mc=Ce.mc),Ce.mcc&&(Te.mc=Ce.mcc),Ce.mlc&&(Te.mlc=Ce.mlc),Ce.mlcc&&(Te.mlc=Ce.mlcc),Ce.mlw&&(Te.mlw=Ce.mlw),Ce.mrc&&(Te.mrc=Ce.mrc),Ce.dir&&(Te.dir=Ce.dir)),Te._distinct=!0,ge.entries.push([Te])}}ge.entries.sort(function(bt,Lt){return bt[0].trace.index-Lt[0].trace.index}),ge.layer=s,ge._inHover=!0,ge._groupTitleFont=ae.grouptitlefont,Ost(r,ge);var me=s.select(\"g.legend\"),Re=N3(r,me.node()),ce=Re.width+2*Us,Ge=Re.height+2*Us,nt=re[0],ct=(nt.x0+nt.x1)/2,qt=(nt.y0+nt.y1)/2,rt=!(U3.traceIs(nt.trace,\"bar-like\")||U3.traceIs(nt.trace,\"box-violin\")),ot,Rt;L===\"y\"?rt?(Rt=qt-Us,ot=qt+Us):(Rt=Math.min.apply(null,re.map(function(bt){return Math.min(bt.y0,bt.y1)})),ot=Math.max.apply(null,re.map(function(bt){return Math.max(bt.y0,bt.y1)}))):Rt=ot=Rf.mean(re.map(function(bt){return(bt.y0+bt.y1)/2}))-Ge/2;var kt,Ct;L===\"x\"?rt?(kt=ct+Us,Ct=ct-Us):(kt=Math.max.apply(null,re.map(function(bt){return Math.max(bt.x0,bt.x1)})),Ct=Math.min.apply(null,re.map(function(bt){return Math.min(bt.x0,bt.x1)}))):kt=Ct=Rf.mean(re.map(function(bt){return(bt.x0+bt.x1)/2}))-ce/2;var Yt=k._offset,xr=A._offset;ot+=xr,kt+=Yt,Ct+=Yt-ce,Rt+=xr-Ge;var er,Ke;return kt+ce<T&&kt>=0?er=kt:Ct+ce<T&&Ct>=0?er=Ct:Yt+ce<T?er=Yt:kt-ct<ct-Ct+ce?er=T-ce:er=0,er+=Us,ot+Ge<F&&ot>=0?Ke=ot:Rt+Ge<F&&Rt>=0?Ke=Rt:xr+Ge<F?Ke=xr:ot-qt<qt-Rt+Ge?Ke=F-Ge:Ke=0,Ke+=Us,me.attr(\"transform\",DB(er-1,Ke-1)),me}var xt=s.selectAll(\"g.hovertext\").data(e,function(bt){return kle(bt)});return xt.enter().append(\"g\").classed(\"hovertext\",!0).each(function(){var bt=Db.select(this);bt.append(\"rect\").call(sd.fill,sd.addOpacity(o,.8)),bt.append(\"text\").classed(\"name\",!0),bt.append(\"path\").style(\"stroke-width\",\"1px\"),bt.append(\"text\").classed(\"nums\",!0).call(bm.font,{weight:h,style:d,variant:v,textcase:x,lineposition:b,shadow:p,family:c,size:f})}),xt.exit().remove(),xt.each(function(bt){var Lt=Db.select(this).attr(\"transform\",\"\"),St=bt.color;Array.isArray(St)&&(St=St[bt.eventData[0].pointNumber]);var Et=bt.bgcolor||St,dt=sd.combine(sd.opacity(Et)?Et:sd.defaultLine,o),Ht=sd.combine(sd.opacity(St)?St:sd.defaultLine,o),$t=bt.borderColor||sd.contrast(dt),fr=wle(bt,q,i,n,C,Lt),_r=fr[0],Br=fr[1],Or=Lt.select(\"text.nums\").call(bm.font,{family:bt.fontFamily||c,size:bt.fontSize||f,color:bt.fontColor||$t,weight:bt.fontWeight||h,style:bt.fontStyle||d,variant:bt.fontVariant||v,textcase:bt.fontTextcase||x,lineposition:bt.fontLineposition||b,shadow:bt.fontShadow||p}).text(_r).attr(\"data-notex\",1).call(A0.positionText,0,0).call(A0.convertToTspans,r),Nr=Lt.select(\"text.name\"),ut=0,Ne=0;if(Br&&Br!==_r){Nr.call(bm.font,{family:bt.fontFamily||c,size:bt.fontSize||f,color:Ht,weight:bt.fontWeight||h,style:bt.fontStyle||d,variant:bt.fontVariant||v,textcase:bt.fontTextcase||x,lineposition:bt.fontLineposition||b,shadow:bt.fontShadow||p}).text(Br).attr(\"data-notex\",1).call(A0.positionText,0,0).call(A0.convertToTspans,r);var Ye=N3(r,Nr.node());ut=Ye.width+2*Us,Ne=Ye.height+2*Us}else Nr.remove(),Lt.select(\"rect\").remove();Lt.select(\"path\").style({fill:dt,stroke:$t});var Ve=bt.xa._offset+(bt.x0+bt.x1)/2,Xe=bt.ya._offset+(bt.y0+bt.y1)/2,ht=Math.abs(bt.x1-bt.x0),Le=Math.abs(bt.y1-bt.y0),xe=N3(r,Or.node()),Se=xe.width/n._invScaleX,lt=xe.height/n._invScaleY;bt.ty0=(P-xe.top)/n._invScaleY,bt.bx=Se+2*Us,bt.by=Math.max(lt+2*Us,Ne),bt.anchor=\"start\",bt.txwidth=Se,bt.tx2width=ut,bt.offset=0;var Gt=(Se+Bc+Us+ut)*n._invScaleX,Vt,ar;if(a)bt.pos=Ve,Vt=Xe+Le/2+Gt<=F,ar=Xe-Le/2-Gt>=0,(bt.idealAlign===\"top\"||!Vt)&&ar?(Xe-=Le/2,bt.anchor=\"end\"):Vt?(Xe+=Le/2,bt.anchor=\"start\"):bt.anchor=\"middle\",bt.crossPos=Xe;else{if(bt.pos=Xe,Vt=Ve+ht/2+Gt<=T,ar=Ve-ht/2-Gt>=0,(bt.idealAlign===\"left\"||!Vt)&&ar)Ve-=ht/2,bt.anchor=\"end\";else if(Vt)Ve+=ht/2,bt.anchor=\"start\";else{bt.anchor=\"middle\";var Qr=Gt/2,ai=Ve+Qr-T,jr=Ve-Qr;ai>0&&(Ve-=ai),jr<0&&(Ve+=-jr)}bt.crossPos=Ve}Or.attr(\"text-anchor\",bt.anchor),ut&&Nr.attr(\"text-anchor\",bt.anchor),Lt.attr(\"transform\",DB(Ve,Xe)+(a?Rst(Ele):\"\"))}),{hoverLabels:xt,commonLabelBoundingBox:W}}function wle(e,t,r,n,i,a){var o=\"\",s=\"\";e.nameOverride!==void 0&&(e.name=e.nameOverride),e.name&&(e.trace._meta&&(e.name=Rf.templateString(e.name,e.trace._meta)),o=Sle(e.name,e.nameLength));var l=r.charAt(0),u=l===\"x\"?\"y\":\"x\";e.zLabel!==void 0?(e.xLabel!==void 0&&(s+=\"x: \"+e.xLabel+\"<br>\"),e.yLabel!==void 0&&(s+=\"y: \"+e.yLabel+\"<br>\"),e.trace.type!==\"choropleth\"&&e.trace.type!==\"choroplethmapbox\"&&e.trace.type!==\"choroplethmap\"&&(s+=(s?\"z: \":\"\")+e.zLabel)):t&&e[l+\"Label\"]===i?s=e[u+\"Label\"]||\"\":e.xLabel===void 0?e.yLabel!==void 0&&e.trace.type!==\"scattercarpet\"&&(s=e.yLabel):e.yLabel===void 0?s=e.xLabel:s=\"(\"+e.xLabel+\", \"+e.yLabel+\")\",(e.text||e.text===0)&&!Array.isArray(e.text)&&(s+=(s?\"<br>\":\"\")+e.text),e.extraText!==void 0&&(s+=(s?\"<br>\":\"\")+e.extraText),a&&s===\"\"&&!e.hovertemplate&&(o===\"\"&&a.remove(),s=o);var c=e.hovertemplate||!1;if(c){var f=e.hovertemplateLabels||e;e[l+\"Label\"]!==i&&(f[l+\"other\"]=f[l+\"Val\"],f[l+\"otherLabel\"]=f[l+\"Label\"]),s=Rf.hovertemplateString(c,f,n._d3locale,e.eventData[0]||{},e.trace._meta),s=s.replace(Gst,function(h,d){return o=Sle(d,e.nameLength),\"\"})}return[s,o]}function jst(e,t,r,n){var i=t?\"xa\":\"ya\",a=t?\"ya\":\"xa\",o=0,s=1,l=e.size(),u=new Array(l),c=0,f=n.minX,h=n.maxX,d=n.minY,v=n.maxY,x=function(X){return X*r._invScaleX},b=function(X){return X*r._invScaleY};e.each(function(X){var G=X[i],N=X[a],W=G._id.charAt(0)===\"x\",re=G.range;c===0&&re&&re[0]>re[1]!==W&&(s=-1);var ae=0,_e=W?r.width:r.height;if(r.hovermode===\"x\"||r.hovermode===\"y\"){var Me=Lle(X,t),ke=X.anchor,ge=ke===\"end\"?-1:1,ie,Te;if(ke===\"middle\")ie=X.crossPos+(W?b(Me.y-X.by/2):x(X.bx/2+X.tx2width/2)),Te=ie+(W?b(X.by):x(X.bx));else if(W)ie=X.crossPos+b(Bc+Me.y)-b(X.by/2-Bc),Te=ie+b(X.by);else{var Ee=x(ge*Bc+Me.x),Ae=Ee+x(ge*X.bx);ie=X.crossPos+Math.min(Ee,Ae),Te=X.crossPos+Math.max(Ee,Ae)}W?d!==void 0&&v!==void 0&&Math.min(Te,v)-Math.max(ie,d)>1&&(N.side===\"left\"?(ae=N._mainLinePosition,_e=r.width):_e=N._mainLinePosition):f!==void 0&&h!==void 0&&Math.min(Te,h)-Math.max(ie,f)>1&&(N.side===\"top\"?(ae=N._mainLinePosition,_e=r.height):_e=N._mainLinePosition)}u[c++]=[{datum:X,traceIndex:X.trace.index,dp:0,pos:X.pos,posref:X.posref,size:X.by*(W?Bst:1)/2,pmin:ae,pmax:_e}]}),u.sort(function(X,G){return X[0].posref-G[0].posref||s*(G[0].traceIndex-X[0].traceIndex)});var p,E,k,A,L,_,C;function M(X){var G=X[0],N=X[X.length-1];if(E=G.pmin-G.pos-G.dp+G.size,k=N.pos+N.dp+N.size-G.pmax,E>.01){for(L=X.length-1;L>=0;L--)X[L].dp+=E;p=!1}if(!(k<.01)){if(E<-.01){for(L=X.length-1;L>=0;L--)X[L].dp-=k;p=!1}if(p){var W=0;for(A=0;A<X.length;A++)_=X[A],_.pos+_.dp+_.size>G.pmax&&W++;for(A=X.length-1;A>=0&&!(W<=0);A--)_=X[A],_.pos>G.pmax-1&&(_.del=!0,W--);for(A=0;A<X.length&&!(W<=0);A++)if(_=X[A],_.pos<G.pmin+1)for(_.del=!0,W--,k=_.size*2,L=X.length-1;L>=0;L--)X[L].dp-=k;for(A=X.length-1;A>=0&&!(W<=0);A--)_=X[A],_.pos+_.dp+_.size>G.pmax&&(_.del=!0,W--)}}}for(;!p&&o<=l;){for(o++,p=!0,A=0;A<u.length-1;){var g=u[A],P=u[A+1],T=g[g.length-1],F=P[0];if(E=T.pos+T.dp+T.size-F.pos-F.dp+F.size,E>.01){for(L=P.length-1;L>=0;L--)P[L].dp+=E;for(g.push.apply(g,P),u.splice(A+1,1),C=0,L=g.length-1;L>=0;L--)C+=g[L].dp;for(k=C/g.length,L=g.length-1;L>=0;L--)g[L].dp-=k;p=!1}else A++}u.forEach(M)}for(A=u.length-1;A>=0;A--){var q=u[A];for(L=q.length-1;L>=0;L--){var V=q[L],H=V.datum;H.offset=V.dp,H.del=V.del}}}function Lle(e,t){var r=0,n=e.offset;return t&&(n*=-Ust,r=e.offset*Nst),{x:r,y:n}}function Wst(e){var t={start:1,end:-1,middle:0}[e.anchor],r=t*(Bc+Us),n=r+t*(e.txwidth+Us),i=e.anchor===\"middle\";return i&&(r-=e.tx2width/2,n+=e.txwidth/2+Us),{alignShift:t,textShiftX:r,text2ShiftX:n}}function Ple(e,t,r,n){var i=function(o){return o*r},a=function(o){return o*n};e.each(function(o){var s=Db.select(this);if(o.del)return s.remove();var l=s.select(\"text.nums\"),u=o.anchor,c=u===\"end\"?-1:1,f=Wst(o),h=Lle(o,t),d=h.x,v=h.y,x=u===\"middle\";s.select(\"path\").attr(\"d\",x?\"M-\"+i(o.bx/2+o.tx2width/2)+\",\"+a(v-o.by/2)+\"h\"+i(o.bx)+\"v\"+a(o.by)+\"h-\"+i(o.bx)+\"Z\":\"M0,0L\"+i(c*Bc+d)+\",\"+a(Bc+v)+\"v\"+a(o.by/2-Bc)+\"h\"+i(c*o.bx)+\"v-\"+a(o.by)+\"H\"+i(c*Bc+d)+\"V\"+a(v-Bc)+\"Z\");var b=d+f.textShiftX,p=v+o.ty0-o.by/2+Us,E=o.textAlign||\"auto\";E!==\"auto\"&&(E===\"left\"&&u!==\"start\"?(l.attr(\"text-anchor\",\"start\"),b=x?-o.bx/2-o.tx2width/2+Us:-o.bx-Us):E===\"right\"&&u!==\"end\"&&(l.attr(\"text-anchor\",\"end\"),b=x?o.bx/2-o.tx2width/2-Us:o.bx+Us)),l.call(A0.positionText,i(b),a(p)),o.tx2width&&(s.select(\"text.name\").call(A0.positionText,i(f.text2ShiftX+f.alignShift*Us+d),a(v+o.ty0-o.by/2+Us)),s.select(\"rect\").call(bm.setRect,i(f.text2ShiftX+(f.alignShift-1)*o.tx2width/2+d),a(v-o.by/2-1),i(o.tx2width),a(o.by+2)))})}function Zst(e,t){var r=e.index,n=e.trace||{},i=e.cd[0],a=e.cd[r]||{};function o(h){return h||Sy(h)&&h===0}var s=Array.isArray(r)?function(h,d){var v=Rf.castOption(i,r,h);return o(v)?v:Rf.extractOption({},n,\"\",d)}:function(h,d){return Rf.extractOption(a,n,h,d)};function l(h,d,v){var x=s(d,v);o(x)&&(e[h]=x)}if(l(\"hoverinfo\",\"hi\",\"hoverinfo\"),l(\"bgcolor\",\"hbg\",\"hoverlabel.bgcolor\"),l(\"borderColor\",\"hbc\",\"hoverlabel.bordercolor\"),l(\"fontFamily\",\"htf\",\"hoverlabel.font.family\"),l(\"fontSize\",\"hts\",\"hoverlabel.font.size\"),l(\"fontColor\",\"htc\",\"hoverlabel.font.color\"),l(\"fontWeight\",\"htw\",\"hoverlabel.font.weight\"),l(\"fontStyle\",\"hty\",\"hoverlabel.font.style\"),l(\"fontVariant\",\"htv\",\"hoverlabel.font.variant\"),l(\"nameLength\",\"hnl\",\"hoverlabel.namelength\"),l(\"textAlign\",\"hta\",\"hoverlabel.align\"),e.posref=t===\"y\"||t===\"closest\"&&n.orientation===\"h\"?e.xa._offset+(e.x0+e.x1)/2:e.ya._offset+(e.y0+e.y1)/2,e.x0=Rf.constrain(e.x0,0,e.xa._length),e.x1=Rf.constrain(e.x1,0,e.xa._length),e.y0=Rf.constrain(e.y0,0,e.ya._length),e.y1=Rf.constrain(e.y1,0,e.ya._length),e.xLabelVal!==void 0&&(e.xLabel=\"xLabel\"in e?e.xLabel:wm.hoverLabelText(e.xa,e.xLabelVal,n.xhoverformat),e.xVal=e.xa.c2d(e.xLabelVal)),e.yLabelVal!==void 0&&(e.yLabel=\"yLabel\"in e?e.yLabel:wm.hoverLabelText(e.ya,e.yLabelVal,n.yhoverformat),e.yVal=e.ya.c2d(e.yLabelVal)),e.zLabelVal!==void 0&&e.zLabel===void 0&&(e.zLabel=String(e.zLabelVal)),!isNaN(e.xerr)&&!(e.xa.type===\"log\"&&e.xerr<=0)){var u=wm.tickText(e.xa,e.xa.c2l(e.xerr),\"hover\").text;e.xerrneg!==void 0?e.xLabel+=\" +\"+u+\" / -\"+wm.tickText(e.xa,e.xa.c2l(e.xerrneg),\"hover\").text:e.xLabel+=\" \\xB1 \"+u,t===\"x\"&&(e.distance+=1)}if(!isNaN(e.yerr)&&!(e.ya.type===\"log\"&&e.yerr<=0)){var c=wm.tickText(e.ya,e.ya.c2l(e.yerr),\"hover\").text;e.yerrneg!==void 0?e.yLabel+=\" +\"+c+\" / -\"+wm.tickText(e.ya,e.ya.c2l(e.yerrneg),\"hover\").text:e.yLabel+=\" \\xB1 \"+c,t===\"y\"&&(e.distance+=1)}var f=e.hoverinfo||e.trace.hoverinfo;return f&&f!==\"all\"&&(f=Array.isArray(f)?f:f.split(\"+\"),f.indexOf(\"x\")===-1&&(e.xLabel=void 0),f.indexOf(\"y\")===-1&&(e.yLabel=void 0),f.indexOf(\"z\")===-1&&(e.zLabel=void 0),f.indexOf(\"text\")===-1&&(e.text=void 0),f.indexOf(\"name\")===-1&&(e.name=void 0)),e}function Tle(e,t,r){var n=r.container,i=r.fullLayout,a=i._size,o=r.event,s=!!t.hLinePoint,l=!!t.vLinePoint,u,c;if(n.selectAll(\".spikeline\").remove(),!!(l||s)){var f=sd.combine(i.plot_bgcolor,i.paper_bgcolor);if(s){var h=t.hLinePoint,d,v;u=h&&h.xa,c=h&&h.ya;var x=c.spikesnap;x===\"cursor\"?(d=o.pointerX,v=o.pointerY):(d=u._offset+h.x,v=c._offset+h.y);var b=_le.readability(h.color,f)<1.5?sd.contrast(f):h.color,p=c.spikemode,E=c.spikethickness,k=c.spikecolor||b,A=wm.getPxPosition(e,c),L,_;if(p.indexOf(\"toaxis\")!==-1||p.indexOf(\"across\")!==-1){if(p.indexOf(\"toaxis\")!==-1&&(L=A,_=d),p.indexOf(\"across\")!==-1){var C=c._counterDomainMin,M=c._counterDomainMax;c.anchor===\"free\"&&(C=Math.min(C,c.position),M=Math.max(M,c.position)),L=a.l+C*a.w,_=a.l+M*a.w}n.insert(\"line\",\":first-child\").attr({x1:L,x2:_,y1:v,y2:v,\"stroke-width\":E,stroke:k,\"stroke-dasharray\":bm.dashStyle(c.spikedash,E)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),n.insert(\"line\",\":first-child\").attr({x1:L,x2:_,y1:v,y2:v,\"stroke-width\":E+2,stroke:f}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}p.indexOf(\"marker\")!==-1&&n.insert(\"circle\",\":first-child\").attr({cx:A+(c.side!==\"right\"?E:-E),cy:v,r:E,fill:k}).classed(\"spikeline\",!0)}if(l){var g=t.vLinePoint,P,T;u=g&&g.xa,c=g&&g.ya;var F=u.spikesnap;F===\"cursor\"?(P=o.pointerX,T=o.pointerY):(P=u._offset+g.x,T=c._offset+g.y);var q=_le.readability(g.color,f)<1.5?sd.contrast(f):g.color,V=u.spikemode,H=u.spikethickness,X=u.spikecolor||q,G=wm.getPxPosition(e,u),N,W;if(V.indexOf(\"toaxis\")!==-1||V.indexOf(\"across\")!==-1){if(V.indexOf(\"toaxis\")!==-1&&(N=G,W=T),V.indexOf(\"across\")!==-1){var re=u._counterDomainMin,ae=u._counterDomainMax;u.anchor===\"free\"&&(re=Math.min(re,u.position),ae=Math.max(ae,u.position)),N=a.t+(1-ae)*a.h,W=a.t+(1-re)*a.h}n.insert(\"line\",\":first-child\").attr({x1:P,x2:P,y1:N,y2:W,\"stroke-width\":H,stroke:X,\"stroke-dasharray\":bm.dashStyle(u.spikedash,H)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),n.insert(\"line\",\":first-child\").attr({x1:P,x2:P,y1:N,y2:W,\"stroke-width\":H+2,stroke:f}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}V.indexOf(\"marker\")!==-1&&n.insert(\"circle\",\":first-child\").attr({cx:P,cy:G-(u.side!==\"top\"?H:-H),r:H,fill:X}).classed(\"spikeline\",!0)}}}function Xst(e,t,r){if(!r||r.length!==e._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=e._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}function Ale(e,t){return!t||t.vLinePoint!==e._spikepoints.vLinePoint||t.hLinePoint!==e._spikepoints.hLinePoint}function Sle(e,t){return A0.plainText(e||\"\",{len:t,allowedTags:[\"br\",\"sub\",\"sup\",\"b\",\"i\",\"em\",\"s\",\"u\"]})}function Yst(e,t){for(var r=t.charAt(0),n=[],i=[],a=[],o=0;o<e.length;o++){var s=e[o];U3.traceIs(s.trace,\"bar-like\")||U3.traceIs(s.trace,\"box-violin\")?a.push(s):s.trace[r+\"period\"]?i.push(s):n.push(s)}return n.concat(i).concat(a)}function Mle(e,t,r){var n=t[e+\"a\"],i=t[e+\"Val\"],a=t.cd[0];if(n.type===\"category\"||n.type===\"multicategory\")i=n._categoriesMap[i];else if(n.type===\"date\"){var o=t.trace[e+\"periodalignment\"];if(o){var s=t.cd[t.index],l=s[e+\"Start\"];l===void 0&&(l=s[e]);var u=s[e+\"End\"];u===void 0&&(u=s[e]);var c=u-l;o===\"end\"?i+=c:o===\"middle\"&&(i+=c/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&(r.boxmode===\"group\"||r.violinmode===\"group\")&&(i+=a.t.dPos),i}function Ile(e){return e.offsetTop+e.clientTop}function Rle(e){return e.offsetLeft+e.clientLeft}function N3(e,t){var r=e._fullLayout,n=t.getBoundingClientRect(),i=n.left,a=n.top,o=i+n.width,s=a+n.height,l=Rf.apply3DTransform(r._invTransform)(i,a),u=Rf.apply3DTransform(r._invTransform)(o,s),c=l[0],f=l[1],h=u[0],d=u[1];return{x:c,y:f,width:h-c,height:d-f,top:Math.min(f,d),left:Math.min(c,h),right:Math.max(c,h),bottom:Math.max(f,d)}}});var oM=ye((Zrr,Dle)=>{\"use strict\";var Kst=Mr(),Jst=va(),$st=rp().isUnifiedHover;Dle.exports=function(t,r,n,i){i=i||{};var a=r.legend;function o(s){i.font[s]||(i.font[s]=a?r.legend.font[s]:r.font[s])}r&&$st(r.hovermode)&&(i.font||(i.font={}),o(\"size\"),o(\"family\"),o(\"color\"),o(\"weight\"),o(\"style\"),o(\"variant\"),a?(i.bgcolor||(i.bgcolor=Jst.combine(r.legend.bgcolor,r.paper_bgcolor)),i.bordercolor||(i.bordercolor=r.legend.bordercolor)):i.bgcolor||(i.bgcolor=r.paper_bgcolor)),n(\"hoverlabel.bgcolor\",i.bgcolor),n(\"hoverlabel.bordercolor\",i.bordercolor),n(\"hoverlabel.namelength\",i.namelength),Kst.coerceFont(n,\"hoverlabel.font\",i.font),n(\"hoverlabel.align\",i.align)}});var Fle=ye((Xrr,zle)=>{\"use strict\";var Qst=Mr(),elt=oM(),tlt=N1();zle.exports=function(t,r){function n(i,a){return Qst.coerce(t,r,tlt,i,a)}elt(t,r,n)}});var Ble=ye((Yrr,Ole)=>{\"use strict\";var qle=Mr(),rlt=i3(),ilt=oM();Ole.exports=function(t,r,n,i){function a(s,l){return qle.coerce(t,r,rlt,s,l)}var o=qle.extendFlat({},i.hoverlabel);r.hovertemplate&&(o.namelength=-1),ilt(t,r,a,o)}});var OB=ye((Krr,Nle)=>{\"use strict\";var nlt=Mr(),alt=N1();Nle.exports=function(t,r){function n(i,a){return r[i]!==void 0?r[i]:nlt.coerce(t,r,alt,i,a)}return n(\"clickmode\"),n(\"hoversubplots\"),n(\"hovermode\")}});var Hle=ye((Jrr,Vle)=>{\"use strict\";var Ule=Mr(),olt=N1(),slt=OB(),llt=oM();Vle.exports=function(t,r){function n(c,f){return Ule.coerce(t,r,olt,c,f)}var i=slt(t,r);i&&(n(\"hoverdistance\"),n(\"spikedistance\"));var a=n(\"dragmode\");a===\"select\"&&n(\"selectdirection\");var o=r._has(\"mapbox\"),s=r._has(\"map\"),l=r._has(\"geo\"),u=r._basePlotModules.length;r.dragmode===\"zoom\"&&((o||s||l)&&u===1||(o||s)&&l&&u===2)&&(r.dragmode=\"pan\"),llt(t,r,n),Ule.coerceFont(n,\"hoverlabel.grouptitlefont\",r.hoverlabel.font)}});var Wle=ye(($rr,jle)=>{\"use strict\";var BB=Mr(),Gle=ba();jle.exports=function(t){var r=t.calcdata,n=t._fullLayout;function i(u){return function(c){return BB.coerceHoverinfo({hoverinfo:c},{_module:u._module},n)}}for(var a=0;a<r.length;a++){var o=r[a],s=o[0].trace;if(!Gle.traceIs(s,\"pie-like\")){var l=Gle.traceIs(s,\"2dMap\")?ult:BB.fillArray;l(s.hoverinfo,o,\"hi\",i(s)),s.hovertemplate&&l(s.hovertemplate,o,\"ht\"),s.hoverlabel&&(l(s.hoverlabel.bgcolor,o,\"hbg\"),l(s.hoverlabel.bordercolor,o,\"hbc\"),l(s.hoverlabel.font.size,o,\"hts\"),l(s.hoverlabel.font.color,o,\"htc\"),l(s.hoverlabel.font.family,o,\"htf\"),l(s.hoverlabel.font.weight,o,\"htw\"),l(s.hoverlabel.font.style,o,\"hty\"),l(s.hoverlabel.font.variant,o,\"htv\"),l(s.hoverlabel.namelength,o,\"hnl\"),l(s.hoverlabel.align,o,\"hta\"))}}};function ult(e,t,r,n){n=n||BB.identity,Array.isArray(e)&&(t[0][r]=n(e))}});var Xle=ye((Qrr,Zle)=>{\"use strict\";var clt=ba(),flt=qB().hover;Zle.exports=function(t,r,n){var i=clt.getComponentMethod(\"annotations\",\"onClick\")(t,t._hoverdata);n!==void 0&&flt(t,r,n,!0);function a(){t.emit(\"plotly_click\",{points:t._hoverdata,event:r})}t._hoverdata&&r&&r.target&&(i&&i.then?i.then(a):a(),r.stopImmediatePropagation&&r.stopImmediatePropagation())}});var Nc=ye((eir,Jle)=>{\"use strict\";var hlt=xa(),NL=Mr(),dlt=gv(),sM=rp(),Yle=N1(),Kle=qB();Jle.exports={moduleType:\"component\",name:\"fx\",constants:IS(),schema:{layout:Yle},attributes:i3(),layoutAttributes:Yle,supplyLayoutGlobalDefaults:Fle(),supplyDefaults:Ble(),supplyLayoutDefaults:Hle(),calc:Wle(),getDistanceFunction:sM.getDistanceFunction,getClosest:sM.getClosest,inbox:sM.inbox,quadrature:sM.quadrature,appendArrayPointValue:sM.appendArrayPointValue,castHoverOption:plt,castHoverinfo:glt,hover:Kle.hover,unhover:dlt.unhover,loneHover:Kle.loneHover,loneUnhover:vlt,click:Xle()};function vlt(e){var t=NL.isD3Selection(e)?e:hlt.select(e);t.selectAll(\"g.hovertext\").remove(),t.selectAll(\".spikeline\").remove()}function plt(e,t,r){return NL.castOption(e,t,\"hoverlabel.\"+r)}function glt(e,t,r){function n(i){return NL.coerceHoverinfo({hoverinfo:i},{_module:e._module},t)}return NL.castOption(e,r,\"hoverinfo\",n)}});var Sg=ye(My=>{\"use strict\";My.selectMode=function(e){return e===\"lasso\"||e===\"select\"};My.drawMode=function(e){return e===\"drawclosedpath\"||e===\"drawopenpath\"||e===\"drawline\"||e===\"drawrect\"||e===\"drawcircle\"};My.openMode=function(e){return e===\"drawline\"||e===\"drawopenpath\"};My.rectMode=function(e){return e===\"select\"||e===\"drawline\"||e===\"drawrect\"||e===\"drawcircle\"};My.freeMode=function(e){return e===\"lasso\"||e===\"drawclosedpath\"||e===\"drawopenpath\"};My.selectingOrDrawing=function(e){return My.freeMode(e)||My.rectMode(e)}});var lM=ye((rir,$le)=>{\"use strict\";$le.exports=function(t){var r=t._fullLayout;r._glcanvas&&r._glcanvas.size()&&r._glcanvas.each(function(n){n.regl&&n.regl.clear({color:!0,depth:!0})})}});var UL=ye((iir,Qle)=>{\"use strict\";Qle.exports={undo:{width:857.1,height:1e3,path:\"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z\",transform:\"matrix(1 0 0 -1 0 850)\"},home:{width:928.6,height:1e3,path:\"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"camera-retro\":{width:1e3,height:1e3,path:\"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoombox:{width:1e3,height:1e3,path:\"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z\",transform:\"matrix(1 0 0 -1 0 850)\"},pan:{width:1e3,height:1e3,path:\"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoom_plus:{width:875,height:1e3,path:\"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoom_minus:{width:875,height:1e3,path:\"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z\",transform:\"matrix(1 0 0 -1 0 850)\"},autoscale:{width:1e3,height:1e3,path:\"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z\",transform:\"matrix(1 0 0 -1 0 850)\"},tooltip_basic:{width:1500,height:1e3,path:\"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z\",transform:\"matrix(1 0 0 -1 0 850)\"},tooltip_compare:{width:1125,height:1e3,path:\"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z\",transform:\"matrix(1 0 0 -1 0 850)\"},plotlylogo:{width:1542,height:1e3,path:\"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"z-axis\":{width:1e3,height:1e3,path:\"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"3d_rotate\":{width:1e3,height:1e3,path:\"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z\",transform:\"matrix(1 0 0 -1 0 850)\"},camera:{width:1e3,height:1e3,path:\"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z\",transform:\"matrix(1 0 0 -1 0 850)\"},movie:{width:1e3,height:1e3,path:\"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z\",transform:\"matrix(1 0 0 -1 0 850)\"},question:{width:857.1,height:1e3,path:\"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z\",transform:\"matrix(1 0 0 -1 0 850)\"},disk:{width:857.1,height:1e3,path:\"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z\",transform:\"matrix(1 0 0 -1 0 850)\"},drawopenpath:{width:70,height:70,path:\"M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z\",transform:\"matrix(1 0 0 1 -15 -15)\"},drawclosedpath:{width:90,height:90,path:\"M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z\",transform:\"matrix(1 0 0 1 -5 -5)\"},lasso:{width:1031,height:1e3,path:\"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z\",transform:\"matrix(1 0 0 -1 0 850)\"},selectbox:{width:1e3,height:1e3,path:\"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z\",transform:\"matrix(1 0 0 -1 0 850)\"},drawline:{width:70,height:70,path:\"M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z\",transform:\"matrix(1 0 0 1 -15 -15)\"},drawrect:{width:80,height:80,path:\"M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},drawcircle:{width:80,height:80,path:\"M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},eraseshape:{width:80,height:80,path:\"M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},spikeline:{width:1e3,height:1e3,path:\"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z\",transform:\"matrix(1.5 0 0 -1.5 0 850)\"},pencil:{width:1792,height:1792,path:\"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z\",transform:\"matrix(1 0 0 1 0 1)\"},newplotlylogo:{name:\"newplotlylogo\",svg:[\"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 132'>\",\" <title>plotly-logomark</title>\",\" <g id='symbol'>\",\" <rect fill='#000' x='0' y='0' width='132' height='132' rx='18' ry='18'/>\",\" <circle fill='#9EF' cx='102' cy='30' r='6'/>\",\" <circle fill='#BAC' cx='78' cy='30' r='6'/>\",\" <circle fill='#BAC' cx='78' cy='54' r='6'/>\",\" <circle fill='#D69' cx='54' cy='30' r='6'/>\",\" <circle fill='#F26' cx='30' cy='30' r='6'/>\",\" <circle fill='#F26' cx='30' cy='54' r='6'/>\",\" <path fill='#FFF' d='M30,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,30,72Z'/>\",\" <path fill='#FFF' d='M78,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,78,72Z'/>\",\" <path fill='#FFF' d='M54,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,54,48Z'/>\",\" <path fill='#FFF' d='M102,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,102,48Z'/>\",\" </g>\",\"</svg>\"].join(\"\")}}});var HL=ye((nir,eue)=>{\"use strict\";var VL=32;eue.exports={CIRCLE_SIDES:VL,i000:0,i090:VL/4,i180:VL/2,i270:VL/4*3,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}});var GL=ye((air,rue)=>{\"use strict\";var mlt=Mr().strTranslate;function tue(e,t){switch(e.type){case\"log\":return e.p2d(t);case\"date\":return e.p2r(t,0,e.calendar);default:return e.p2r(t)}}function ylt(e,t){switch(e.type){case\"log\":return e.d2p(t);case\"date\":return e.r2p(t,0,e.calendar);default:return e.r2p(t)}}function _lt(e){var t=e._id.charAt(0)===\"y\"?1:0;return function(r){return tue(e,r[t])}}function xlt(e){return mlt(e.xaxis._offset,e.yaxis._offset)}rue.exports={p2r:tue,r2p:ylt,axValue:_lt,getTransform:xlt}});var c_=ye(Ey=>{\"use strict\";var blt=XS(),aue=HL(),V3=aue.CIRCLE_SIDES,NB=aue.SQRT2,oue=GL(),iue=oue.p2r,nue=oue.r2p,wlt=[0,3,4,5,6,1,2],Tlt=[0,3,4,1,2];Ey.writePaths=function(e){var t=e.length;if(!t)return\"M0,0Z\";for(var r=\"\",n=0;n<t;n++)for(var i=e[n].length,a=0;a<i;a++){var o=e[n][a][0];if(o===\"Z\")r+=\"Z\";else for(var s=e[n][a].length,l=0;l<s;l++){var u=l;o===\"Q\"||o===\"S\"?u=Tlt[l]:o===\"C\"&&(u=wlt[l]),r+=e[n][a][u],l>0&&l<s-1&&(r+=\",\")}}return r};Ey.readPaths=function(e,t,r,n){var i=blt(e),a=[],o=-1,s=function(){o++,a[o]=[]},l,u=0,c=0,f,h,d=function(){f=u,h=c};d();for(var v=0;v<i.length;v++){var x=[],b,p,E,k,A=i[v][0],L=A;switch(A){case\"M\":s(),u=+i[v][1],c=+i[v][2],x.push([L,u,c]),d();break;case\"Q\":case\"S\":b=+i[v][1],E=+i[v][2],u=+i[v][3],c=+i[v][4],x.push([L,u,c,b,E]);break;case\"C\":b=+i[v][1],E=+i[v][2],p=+i[v][3],k=+i[v][4],u=+i[v][5],c=+i[v][6],x.push([L,u,c,b,E,p,k]);break;case\"T\":case\"L\":u=+i[v][1],c=+i[v][2],x.push([L,u,c]);break;case\"H\":L=\"L\",u=+i[v][1],x.push([L,u,c]);break;case\"V\":L=\"L\",c=+i[v][1],x.push([L,u,c]);break;case\"A\":L=\"L\";var _=+i[v][1],C=+i[v][2];+i[v][4]||(_=-_,C=-C);var M=u-_,g=c;for(l=1;l<=V3/2;l++){var P=2*Math.PI*l/V3;x.push([L,M+_*Math.cos(P),g+C*Math.sin(P)])}break;case\"Z\":(u!==f||c!==h)&&(u=f,c=h,x.push([L,u,c]));break}for(var T=(r||{}).domain,F=t._fullLayout._size,q=r&&r.xsizemode===\"pixel\",V=r&&r.ysizemode===\"pixel\",H=n===!1,X=0;X<x.length;X++){for(l=0;l+2<7;l+=2){var G=x[X][l+1],N=x[X][l+2];G===void 0||N===void 0||(u=G,c=N,r&&(r.xaxis&&r.xaxis.p2r?(H&&(G-=r.xaxis._offset),q?G=nue(r.xaxis,r.xanchor)+G:G=iue(r.xaxis,G)):(H&&(G-=F.l),T?G=T.x[0]+G/F.w:G=G/F.w),r.yaxis&&r.yaxis.p2r?(H&&(N-=r.yaxis._offset),V?N=nue(r.yaxis,r.yanchor)-N:N=iue(r.yaxis,N)):(H&&(N-=F.t),T?N=T.y[1]-N/F.h:N=1-N/F.h)),x[X][l+1]=G,x[X][l+2]=N)}a[o].push(x[X].slice())}}return a};function uM(e,t){return Math.abs(e-t)<=1e-6}function jL(e,t){var r=t[1]-e[1],n=t[2]-e[2];return Math.sqrt(r*r+n*n)}Ey.pointsOnRectangle=function(e){var t=e.length;if(t!==5)return!1;for(var r=1;r<3;r++){var n=e[0][r]-e[1][r],i=e[3][r]-e[2][r];if(!uM(n,i))return!1;var a=e[0][r]-e[3][r],o=e[1][r]-e[2][r];if(!uM(a,o))return!1}return!uM(e[0][1],e[1][1])&&!uM(e[0][1],e[3][1])?!1:!!(jL(e[0],e[1])*jL(e[0],e[3]))};Ey.pointsOnEllipse=function(e){var t=e.length;if(t!==V3+1)return!1;t=V3;for(var r=0;r<t;r++){var n=(t*2-r)%t,i=(t/2+n)%t,a=(t/2+r)%t;if(!uM(jL(e[r],e[a]),jL(e[n],e[i])))return!1}return!0};Ey.handleEllipse=function(e,t,r){if(!e)return[t,r];var n=Ey.ellipseOver({x0:t[0],y0:t[1],x1:r[0],y1:r[1]}),i=(n.x1+n.x0)/2,a=(n.y1+n.y0)/2,o=(n.x1-n.x0)/2,s=(n.y1-n.y0)/2;o||(o=s=s/NB),s||(s=o=o/NB);for(var l=[],u=0;u<V3;u++){var c=u*2*Math.PI/V3;l.push([i+o*Math.cos(c),a+s*Math.sin(c)])}return l};Ey.ellipseOver=function(e){var t=e.x0,r=e.y0,n=e.x1,i=e.y1,a=n-t,o=i-r;t-=a,r-=o;var s=(t+n)/2,l=(r+i)/2,u=NB;return a*=u,o*=u,{x0:s-a,y0:l-o,x1:s+a,y1:l+o}};Ey.fixDatesForPaths=function(e,t,r){var n=t.type===\"date\",i=r.type===\"date\";if(!n&&!i)return e;for(var a=0;a<e.length;a++)for(var o=0;o<e[a].length;o++)for(var s=0;s+2<e[a][o].length;s+=2)n&&(e[a][o][s+1]=e[a][o][s+1].replace(\" \",\"_\")),i&&(e[a][o][s+2]=e[a][o][s+2].replace(\" \",\"_\"));return e}});var XL=ye((sir,vue)=>{\"use strict\";var fue=Sg(),Alt=fue.drawMode,Slt=fue.openMode,H3=HL(),sue=H3.i000,lue=H3.i090,uue=H3.i180,cue=H3.i270,Mlt=H3.cos45,Elt=H3.sin45,hue=GL(),WL=hue.p2r,f_=hue.r2p,klt=e_(),Clt=klt.clearOutline,ZL=c_(),Llt=ZL.readPaths,Plt=ZL.writePaths,Ilt=ZL.ellipseOver,Rlt=ZL.fixDatesForPaths;function Dlt(e,t){if(e.length){var r=e[0][0];if(r){var n=t.gd,i=t.isActiveShape,a=t.dragmode,o=(n.layout||{}).shapes||[];if(!Alt(a)&&i!==void 0){var s=n._fullLayout._activeShapeIndex;if(s<o.length)switch(n._fullLayout.shapes[s].type){case\"rect\":a=\"drawrect\";break;case\"circle\":a=\"drawcircle\";break;case\"line\":a=\"drawline\";break;case\"path\":var l=o[s].path||\"\";l[l.length-1]===\"Z\"?a=\"drawclosedpath\":a=\"drawopenpath\";break}}var u=due(e,t,a);Clt(n);for(var c=t.editHelpers,f=(c||{}).modifyItem,h=[],d=0;d<o.length;d++){var v=n._fullLayout.shapes[d];if(h[d]=v._input,i!==void 0&&d===n._fullLayout._activeShapeIndex){var x=u;switch(v.type){case\"line\":case\"rect\":case\"circle\":f(\"x0\",x.x0-(v.x0shift||0)),f(\"x1\",x.x1-(v.x1shift||0)),f(\"y0\",x.y0-(v.y0shift||0)),f(\"y1\",x.y1-(v.y1shift||0));break;case\"path\":f(\"path\",x.path);break}}}return i===void 0?(h.push(u),h):c?c.getUpdateObj():{}}}}function due(e,t,r){var n=e[0][0],i=t.gd,a=n.getAttribute(\"d\"),o=i._fullLayout.newshape,s=t.plotinfo,l=t.isActiveShape,u=s.xaxis,c=s.yaxis,f=!!s.domain||!s.xaxis,h=!!s.domain||!s.yaxis,d=Slt(r),v=Llt(a,i,s,l),x={editable:!0,visible:o.visible,name:o.name,showlegend:o.showlegend,legend:o.legend,legendwidth:o.legendwidth,legendgroup:o.legendgroup,legendgrouptitle:{text:o.legendgrouptitle.text,font:o.legendgrouptitle.font},legendrank:o.legendrank,label:o.label,xref:f?\"paper\":u._id,yref:h?\"paper\":c._id,layer:o.layer,opacity:o.opacity,line:{color:o.line.color,width:o.line.width,dash:o.line.dash}};d||(x.fillcolor=o.fillcolor,x.fillrule=o.fillrule);var b;if(v.length===1&&(b=v[0]),b&&b.length===5&&r===\"drawrect\")x.type=\"rect\",x.x0=b[0][1],x.y0=b[0][2],x.x1=b[2][1],x.y1=b[2][2];else if(b&&r===\"drawline\")x.type=\"line\",x.x0=b[0][1],x.y0=b[0][2],x.x1=b[1][1],x.y1=b[1][2];else if(b&&r===\"drawcircle\"){x.type=\"circle\";var p=b[sue][1],E=b[lue][1],k=b[uue][1],A=b[cue][1],L=b[sue][2],_=b[lue][2],C=b[uue][2],M=b[cue][2],g=s.xaxis&&(s.xaxis.type===\"date\"||s.xaxis.type===\"log\"),P=s.yaxis&&(s.yaxis.type===\"date\"||s.yaxis.type===\"log\");g&&(p=f_(s.xaxis,p),E=f_(s.xaxis,E),k=f_(s.xaxis,k),A=f_(s.xaxis,A)),P&&(L=f_(s.yaxis,L),_=f_(s.yaxis,_),C=f_(s.yaxis,C),M=f_(s.yaxis,M));var T=(E+A)/2,F=(L+C)/2,q=(A-E+k-p)/2,V=(M-_+C-L)/2,H=Ilt({x0:T,y0:F,x1:T+q*Mlt,y1:F+V*Elt});g&&(H.x0=WL(s.xaxis,H.x0),H.x1=WL(s.xaxis,H.x1)),P&&(H.y0=WL(s.yaxis,H.y0),H.y1=WL(s.yaxis,H.y1)),x.x0=H.x0,x.y0=H.y0,x.x1=H.x1,x.y1=H.y1}else x.type=\"path\",u&&c&&Rlt(v,u,c),x.path=Plt(v),b=null;return x}vue.exports={newShapes:Dlt,createShapeObj:due}});var VB=ye((lir,pue)=>{\"use strict\";var zlt=Sg(),Flt=zlt.selectMode,qlt=e_(),Olt=qlt.clearOutline,UB=c_(),Blt=UB.readPaths,Nlt=UB.writePaths,Ult=UB.fixDatesForPaths;pue.exports=function(t,r){if(t.length){var n=t[0][0];if(n){var i=n.getAttribute(\"d\"),a=r.gd,o=a._fullLayout.newselection,s=r.plotinfo,l=s.xaxis,u=s.yaxis,c=r.isActiveSelection,f=r.dragmode,h=(a.layout||{}).selections||[];if(!Flt(f)&&c!==void 0){var d=a._fullLayout._activeSelectionIndex;if(d<h.length)switch(a._fullLayout.selections[d].type){case\"rect\":f=\"select\";break;case\"path\":f=\"lasso\";break}}var v=Blt(i,a,s,c),x={xref:l._id,yref:u._id,opacity:o.opacity,line:{color:o.line.color,width:o.line.width,dash:o.line.dash}},b;v.length===1&&(b=v[0]),b&&b.length===5&&f===\"select\"?(x.type=\"rect\",x.x0=b[0][1],x.y0=b[0][2],x.x1=b[2][1],x.y1=b[2][2]):(x.type=\"path\",l&&u&&Ult(v,l,u),x.path=Nlt(v),b=null),Olt(a);for(var p=r.editHelpers,E=(p||{}).modifyItem,k=[],A=0;A<h.length;A++){var L=a._fullLayout.selections[A];if(!L){k[A]=L;continue}if(k[A]=L._input,c!==void 0&&A===a._fullLayout._activeSelectionIndex){var _=x;switch(L.type){case\"rect\":E(\"x0\",_.x0),E(\"x1\",_.x1),E(\"y0\",_.y0),E(\"y1\",_.y1);break;case\"path\":E(\"path\",_.path);break}}}return c===void 0?(k.push(x),k):p?p.getUpdateObj():{}}}}});var cM=ye((uir,gue)=>{\"use strict\";gue.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}});var h_=ye(Ld=>{\"use strict\";var Fb=cM(),mue=Mr(),YL=Qa();Ld.rangeToShapePosition=function(e){return e.type===\"log\"?e.r2d:function(t){return t}};Ld.shapePositionToRange=function(e){return e.type===\"log\"?e.d2r:function(t){return t}};Ld.decodeDate=function(e){return function(t){return t.replace&&(t=t.replace(\"_\",\" \")),e(t)}};Ld.encodeDate=function(e){return function(t){return e(t).replace(\" \",\"_\")}};Ld.extractPathCoords=function(e,t,r){var n=[],i=e.match(Fb.segmentRE);return i.forEach(function(a){var o=t[a.charAt(0)].drawn;if(o!==void 0){var s=a.substr(1).match(Fb.paramRE);if(!(!s||s.length<o)){var l=s[o],u=r?l:mue.cleanNumber(l);n.push(u)}}}),n};Ld.getDataToPixel=function(e,t,r,n,i){var a=e._fullLayout._size,o;if(t)if(i===\"domain\")o=function(l){return t._length*(n?1-l:l)+t._offset};else{var s=Ld.shapePositionToRange(t);o=function(l){var u=fM(t,r);return t._offset+t.r2p(s(l,!0))+u},t.type===\"date\"&&(o=Ld.decodeDate(o))}else n?o=function(l){return a.t+a.h*(1-l)}:o=function(l){return a.l+a.w*l};return o};Ld.getPixelToData=function(e,t,r,n){var i=e._fullLayout._size,a;if(t)if(n===\"domain\")a=function(s){var l=(s-t._offset)/t._length;return r?1-l:l};else{var o=Ld.rangeToShapePosition(t);a=function(s){return o(t.p2r(s-t._offset))}}else r?a=function(s){return 1-(s-i.t)/i.h}:a=function(s){return(s-i.l)/i.w};return a};Ld.roundPositionForSharpStrokeRendering=function(e,t){var r=Math.round(t%2)===1,n=Math.round(e);return r?n+.5:n};Ld.makeShapesOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.shapes[t]||{},n=e._fullLayout._plots[r.xref+r.yref],i=!!n;return i?n._hadPlotinfo=!0:(n={},r.xref&&r.xref!==\"paper\"&&(n.xaxis=e._fullLayout[r.xref+\"axis\"]),r.yref&&r.yref!==\"paper\"&&(n.yaxis=e._fullLayout[r.yref+\"axis\"])),n.xsizemode=r.xsizemode,n.ysizemode=r.ysizemode,n.xanchor=r.xanchor,n.yanchor=r.yanchor,{options:r,plotinfo:n}};Ld.makeSelectionsOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.selections[t]||{},n=e._fullLayout._plots[r.xref+r.yref],i=!!n;return i?n._hadPlotinfo=!0:(n={},r.xref&&(n.xaxis=e._fullLayout[r.xref+\"axis\"]),r.yref&&(n.yaxis=e._fullLayout[r.yref+\"axis\"])),{options:r,plotinfo:n}};Ld.getPathString=function(e,t){var r=t.type,n=YL.getRefType(t.xref),i=YL.getRefType(t.yref),a=YL.getFromId(e,t.xref),o=YL.getFromId(e,t.yref),s=e._fullLayout._size,l,u,c,f,h=fM(a,t.x0shift),d=fM(a,t.x1shift),v=fM(o,t.y0shift),x=fM(o,t.y1shift),b,p,E,k;if(a?n===\"domain\"?u=function(q){return a._offset+a._length*q}:(l=Ld.shapePositionToRange(a),u=function(q){return a._offset+a.r2p(l(q,!0))}):u=function(q){return s.l+s.w*q},o?i===\"domain\"?f=function(q){return o._offset+o._length*(1-q)}:(c=Ld.shapePositionToRange(o),f=function(q){return o._offset+o.r2p(c(q,!0))}):f=function(q){return s.t+s.h*(1-q)},r===\"path\")return a&&a.type===\"date\"&&(u=Ld.decodeDate(u)),o&&o.type===\"date\"&&(f=Ld.decodeDate(f)),Vlt(t,u,f);if(t.xsizemode===\"pixel\"){var A=u(t.xanchor);b=A+t.x0+h,p=A+t.x1+d}else b=u(t.x0)+h,p=u(t.x1)+d;if(t.ysizemode===\"pixel\"){var L=f(t.yanchor);E=L-t.y0+v,k=L-t.y1+x}else E=f(t.y0)+v,k=f(t.y1)+x;if(r===\"line\")return\"M\"+b+\",\"+E+\"L\"+p+\",\"+k;if(r===\"rect\")return\"M\"+b+\",\"+E+\"H\"+p+\"V\"+k+\"H\"+b+\"Z\";var _=(b+p)/2,C=(E+k)/2,M=Math.abs(_-b),g=Math.abs(C-E),P=\"A\"+M+\",\"+g,T=_+M+\",\"+C,F=_+\",\"+(C-g);return\"M\"+T+P+\" 0 1,1 \"+F+P+\" 0 0,1 \"+T+\"Z\"};function Vlt(e,t,r){var n=e.path,i=e.xsizemode,a=e.ysizemode,o=e.xanchor,s=e.yanchor;return n.replace(Fb.segmentRE,function(l){var u=0,c=l.charAt(0),f=Fb.paramIsX[c],h=Fb.paramIsY[c],d=Fb.numParams[c],v=l.substr(1).replace(Fb.paramRE,function(x){return f[u]?i===\"pixel\"?x=t(o)+Number(x):x=t(x):h[u]&&(a===\"pixel\"?x=r(s)-Number(x):x=r(x)),u++,u>d&&(x=\"X\"),x});return u>d&&(v=v.replace(/[\\s,]*X.*/,\"\"),mue.log(\"Ignoring extra params in segment \"+l)),c+v})}function fM(e,t){t=t||0;var r=0;return t&&e&&(e.type===\"category\"||e.type===\"multicategory\")&&(r=(e.r2p(1)-e.r2p(0))*t),r}});var GB=ye((fir,bue)=>{\"use strict\";var Hlt=Mr(),G3=Qa(),yue=Pl(),_ue=ao(),Glt=c_().readPaths,HB=h_(),jlt=HB.getPathString,xue=b6(),Wlt=Nh().FROM_TL;bue.exports=function(t,r,n,i){if(i.selectAll(\".shape-label\").remove(),!!(n.label.text||n.label.texttemplate)){var a;if(n.label.texttemplate){var o={};if(n.type!==\"path\"){var s=G3.getFromId(t,n.xref),l=G3.getFromId(t,n.yref);for(var u in xue){var c=xue[u](n,s,l);c!==void 0&&(o[u]=c)}}a=Hlt.texttemplateStringForShapes(n.label.texttemplate,{},t._fullLayout._d3locale,o)}else a=n.label.text;var f={\"data-index\":r},h=n.label.font,d={\"data-notex\":1},v=i.append(\"g\").attr(f).classed(\"shape-label\",!0),x=v.append(\"text\").attr(d).classed(\"shape-label-text\",!0).text(a),b,p,E,k;if(n.path){var A=jlt(t,n),L=Glt(A,t);b=1/0,E=1/0,p=-1/0,k=-1/0;for(var _=0;_<L.length;_++)for(var C=0;C<L[_].length;C++)for(var M=L[_][C],g=1;g<M.length;g+=2){var P=M[g],T=M[g+1];b=Math.min(b,P),p=Math.max(p,P),E=Math.min(E,T),k=Math.max(k,T)}}else{var F=G3.getFromId(t,n.xref),q=n.x0shift,V=n.x1shift,H=G3.getRefType(n.xref),X=G3.getFromId(t,n.yref),G=n.y0shift,N=n.y1shift,W=G3.getRefType(n.yref),re=function(Ee,Ae){var ze=HB.getDataToPixel(t,F,Ae,!1,H);return ze(Ee)},ae=function(Ee,Ae){var ze=HB.getDataToPixel(t,X,Ae,!0,W);return ze(Ee)};b=re(n.x0,q),p=re(n.x1,V),E=ae(n.y0,G),k=ae(n.y1,N)}var _e=n.label.textangle;_e===\"auto\"&&(n.type===\"line\"?_e=Zlt(b,E,p,k):_e=0),x.call(function(Ee){return Ee.call(_ue.font,h).attr({}),yue.convertToTspans(Ee,t),Ee});var Me=_ue.bBox(x.node()),ke=Xlt(b,E,p,k,n,_e,Me),ge=ke.textx,ie=ke.texty,Te=ke.xanchor;x.attr({\"text-anchor\":{left:\"start\",center:\"middle\",right:\"end\"}[Te],y:ie,x:ge,transform:\"rotate(\"+_e+\",\"+ge+\",\"+ie+\")\"}).call(yue.positionText,ge,ie)}};function Zlt(e,t,r,n){var i,a;return a=Math.abs(r-e),r>=e?i=t-n:i=n-t,-180/Math.PI*Math.atan2(i,a)}function Xlt(e,t,r,n,i,a,o){var s=i.label.textposition,l=i.label.textangle,u=i.label.padding,c=i.type,f=Math.PI/180*a,h=Math.sin(f),d=Math.cos(f),v=i.label.xanchor,x=i.label.yanchor,b,p,E,k;if(c===\"line\"){s===\"start\"?(b=e,p=t):s===\"end\"?(b=r,p=n):(b=(e+r)/2,p=(t+n)/2),v===\"auto\"&&(s===\"start\"?l===\"auto\"?r>e?v=\"left\":r<e?v=\"right\":v=\"center\":r>e?v=\"right\":r<e?v=\"left\":v=\"center\":s===\"end\"?l===\"auto\"?r>e?v=\"right\":r<e?v=\"left\":v=\"center\":r>e?v=\"left\":r<e?v=\"right\":v=\"center\":v=\"center\");var A={left:1,center:0,right:-1},L={bottom:-1,middle:0,top:1};if(l===\"auto\"){var _=L[x];E=-u*h*_,k=u*d*_}else{var C=A[v],M=L[x];E=u*C,k=u*M}b=b+E,p=p+k}else E=u+3,s.indexOf(\"right\")!==-1?(b=Math.max(e,r)-E,v===\"auto\"&&(v=\"right\")):s.indexOf(\"left\")!==-1?(b=Math.min(e,r)+E,v===\"auto\"&&(v=\"left\")):(b=(e+r)/2,v===\"auto\"&&(v=\"center\")),s.indexOf(\"top\")!==-1?p=Math.min(t,n):s.indexOf(\"bottom\")!==-1?p=Math.max(t,n):p=(t+n)/2,k=u,x===\"bottom\"?p=p-k:x===\"top\"&&(p=p+k);var g=Wlt[x],P=i.label.font.size,T=o.height,F=(T*g-P)*h,q=-(T*g-P)*d;return{textx:b+F,texty:p+q,xanchor:v}}});var $L=ye((hir,Cue)=>{\"use strict\";var Ylt=Mr(),Klt=Ylt.strTranslate,wue=gv(),Sue=Sg(),Jlt=Sue.drawMode,Mue=Sue.selectMode,Eue=ba(),Tue=va(),JL=HL(),$lt=JL.i000,Qlt=JL.i090,eut=JL.i180,tut=JL.i270,rut=e_(),kue=rut.clearOutlineControllers,WB=c_(),KL=WB.pointsOnRectangle,jB=WB.pointsOnEllipse,iut=WB.writePaths,nut=XL().newShapes,aut=XL().createShapeObj,out=VB(),sut=GB();Cue.exports=function e(t,r,n,i){i||(i=0);var a=n.gd;function o(){e(t,r,n,i++),(jB(t[0])||n.hasText)&&s({redrawing:!0})}function s(G){var N={};n.isActiveShape!==void 0&&(n.isActiveShape=!1,N=nut(r,n)),n.isActiveSelection!==void 0&&(n.isActiveSelection=!1,N=out(r,n),a._fullLayout._reselect=!0),Object.keys(N).length&&Eue.call((G||{}).redrawing?\"relayout\":\"_guiRelayout\",a,N)}var l=a._fullLayout,u=l._zoomlayer,c=n.dragmode,f=Jlt(c),h=Mue(c);(f||h)&&(a._fullLayout._outlining=!0),kue(a),r.attr(\"d\",iut(t));var d,v,x,b,p;if(!i&&(n.isActiveShape||n.isActiveSelection)){p=lut([],t);var E=u.append(\"g\").attr(\"class\",\"outline-controllers\");P(E),X()}if(f&&n.hasText){var k=u.select(\".label-temp\"),A=aut(r,n,n.dragmode);sut(a,\"label-temp\",A,k)}function L(G){x=+G.srcElement.getAttribute(\"data-i\"),b=+G.srcElement.getAttribute(\"data-j\"),d[x][b].moveFn=_}function _(G,N){if(t.length){var W=p[x][b][1],re=p[x][b][2],ae=t[x],_e=ae.length;if(KL(ae)){var Me=G,ke=N;if(n.isActiveSelection){var ge=Aue(ae,b);ge[1]===ae[b][1]?ke=0:Me=0}for(var ie=0;ie<_e;ie++)if(ie!==b){var Te=ae[ie];Te[1]===ae[b][1]&&(Te[1]=W+Me),Te[2]===ae[b][2]&&(Te[2]=re+ke)}if(ae[b][1]=W+Me,ae[b][2]=re+ke,!KL(ae))for(var Ee=0;Ee<_e;Ee++)for(var Ae=0;Ae<ae[Ee].length;Ae++)ae[Ee][Ae]=p[x][Ee][Ae]}else ae[b][1]=W+G,ae[b][2]=re+N;o()}}function C(){s()}function M(){if(t.length&&t[x]&&t[x].length){for(var G=[],N=0;N<t[x].length;N++)N!==b&&G.push(t[x][N]);G.length>1&&!(G.length===2&&G[1][0]===\"Z\")&&(b===0&&(G[0][0]=\"M\"),t[x]=G,o(),s())}}function g(G,N){if(G===2){x=+N.srcElement.getAttribute(\"data-i\"),b=+N.srcElement.getAttribute(\"data-j\");var W=t[x];!KL(W)&&!jB(W)&&M()}}function P(G){d=[];for(var N=0;N<t.length;N++){var W=t[N],re=KL(W),ae=!re&&jB(W);d[N]=[];for(var _e=W.length,Me=0;Me<_e;Me++)if(W[Me][0]!==\"Z\"&&!(ae&&Me!==$lt&&Me!==Qlt&&Me!==eut&&Me!==tut)){var ke=re&&n.isActiveSelection,ge;ke&&(ge=Aue(W,Me));var ie=W[Me][1],Te=W[Me][2],Ee=G.append(ke?\"rect\":\"circle\").attr(\"data-i\",N).attr(\"data-j\",Me).style({fill:Tue.background,stroke:Tue.defaultLine,\"stroke-width\":1,\"shape-rendering\":\"crispEdges\"});if(ke){var Ae=ge[1]-ie,ze=ge[2]-Te,Ce=ze?5:Math.max(Math.min(25,Math.abs(Ae)-5),5),me=Ae?5:Math.max(Math.min(25,Math.abs(ze)-5),5);Ee.classed(ze?\"cursor-ew-resize\":\"cursor-ns-resize\",!0).attr(\"width\",Ce).attr(\"height\",me).attr(\"x\",ie-Ce/2).attr(\"y\",Te-me/2).attr(\"transform\",Klt(Ae/2,ze/2))}else Ee.classed(\"cursor-grab\",!0).attr(\"r\",5).attr(\"cx\",ie).attr(\"cy\",Te);d[N][Me]={element:Ee.node(),gd:a,prepFn:L,doneFn:C,clickFn:g},wue.init(d[N][Me])}}}function T(G,N){if(t.length)for(var W=0;W<t.length;W++)for(var re=0;re<t[W].length;re++)for(var ae=0;ae+2<t[W][re].length;ae+=2)t[W][re][ae+1]=p[W][re][ae+1]+G,t[W][re][ae+2]=p[W][re][ae+2]+N}function F(G,N){T(G,N),o()}function q(G){x=+G.srcElement.getAttribute(\"data-i\"),x||(x=0),v[x].moveFn=F}function V(){s()}function H(G){G===2&&uut(a)}function X(){if(v=[],!!t.length){var G=0;v[G]={element:r[0][0],gd:a,prepFn:q,doneFn:V,clickFn:H},wue.init(v[G])}}};function lut(e,t){for(var r=0;r<t.length;r++){var n=t[r];e[r]=[];for(var i=0;i<n.length;i++){e[r][i]=[];for(var a=0;a<n[i].length;a++)e[r][i][a]=n[i][a]}}return e}function Aue(e,t){var r=e[t][1],n=e[t][2],i=e.length,a,o,s;return a=(t+1)%i,o=e[a][1],s=e[a][2],o===r&&s===n&&(a=(t+2)%i,o=e[a][1],s=e[a][2]),[a,o,s]}function uut(e){if(Mue(e._fullLayout.dragmode)){kue(e);var t=e._fullLayout._activeSelectionIndex,r=(e.layout||{}).selections||[];if(t<r.length){for(var n=[],i=0;i<r.length;i++)i!==t&&n.push(r[i]);delete e._fullLayout._activeSelectionIndex;var a=e._fullLayout.selections[t];e._fullLayout._deselect={xref:a.xref,yref:a.yref},Eue.call(\"_guiRelayout\",e,{selections:n})}}}});var rP=ye((dir,Bue)=>{\"use strict\";var cut=xa(),zue=ba(),Lue=Mr(),j3=Qa(),fut=c_().readPaths,hut=$L(),eP=GB(),Fue=e_().clearOutlineControllers,ZB=va(),YB=ao(),dut=Vs().arrayEditor,Pue=gv(),Iue=Tg(),qb=cM(),Mp=h_(),XB=Mp.getPathString;Bue.exports={draw:KB,drawOne:que,eraseActiveShape:gut,drawLabel:eP};function KB(e){var t=e._fullLayout;t._shapeUpperLayer.selectAll(\"path\").remove(),t._shapeLowerLayer.selectAll(\"path\").remove(),t._shapeUpperLayer.selectAll(\"text\").remove(),t._shapeLowerLayer.selectAll(\"text\").remove();for(var r in t._plots){var n=t._plots[r].shapelayer;n&&(n.selectAll(\"path\").remove(),n.selectAll(\"text\").remove())}for(var i=0;i<t.shapes.length;i++)t.shapes[i].visible===!0&&que(e,i)}function QL(e){return!!e._fullLayout._outlining}function tP(e){return!e._context.edits.shapePosition}function que(e,t){e._fullLayout._paperdiv.selectAll('.shapelayer [data-index=\"'+t+'\"]').remove();var r=Mp.makeShapesOptionsAndPlotinfo(e,t),n=r.options,i=r.plotinfo;if(!n._input||n.visible!==!0)return;if(n.layer===\"above\")o(e._fullLayout._shapeUpperLayer);else if(n.xref===\"paper\"||n.yref===\"paper\")o(e._fullLayout._shapeLowerLayer);else if(n.layer===\"between\")o(i.shapelayerBetween);else if(i._hadPlotinfo){var a=i.mainplotinfo||i;o(a.shapelayer)}else o(e._fullLayout._shapeLowerLayer);function o(s){var l=XB(e,n),u={\"data-index\":t,\"fill-rule\":n.fillrule,d:l},c=n.opacity,f=n.fillcolor,h=n.line.width?n.line.color:\"rgba(0,0,0,0)\",d=n.line.width,v=n.line.dash;!d&&n.editable===!0&&(d=5,v=\"solid\");var x=l[l.length-1]!==\"Z\",b=tP(e)&&n.editable&&e._fullLayout._activeShapeIndex===t;b&&(f=x?\"rgba(0,0,0,0)\":e._fullLayout.activeshape.fillcolor,c=e._fullLayout.activeshape.opacity);var p=s.append(\"g\").classed(\"shape-group\",!0).attr({\"data-index\":t}),E=p.append(\"path\").attr(u).style(\"opacity\",c).call(ZB.stroke,h).call(ZB.fill,f).call(YB.dashLine,v,d);Oue(p,e,n),eP(e,t,n,p);var k;if((b||e._context.edits.shapePosition)&&(k=dut(e.layout,\"shapes\",n)),b){E.style({cursor:\"move\"});var A={element:E.node(),plotinfo:i,gd:e,editHelpers:k,hasText:n.label.text||n.label.texttemplate,isActiveShape:!0},L=fut(l,e);hut(L,E,A)}else e._context.edits.shapePosition?vut(e,E,n,t,s,k):n.editable===!0&&E.style(\"pointer-events\",x||ZB.opacity(f)*c<=.5?\"stroke\":\"all\");E.node().addEventListener(\"click\",function(){return put(e,E)})}}function Oue(e,t,r){var n=(r.xref+r.yref).replace(/paper/g,\"\").replace(/[xyz][1-9]* *domain/g,\"\");YB.setClipUrl(e,n?\"clip\"+t._fullLayout._uid+n:null,t)}function vut(e,t,r,n,i,a){var o=10,s=10,l=r.xsizemode===\"pixel\",u=r.ysizemode===\"pixel\",c=r.type===\"line\",f=r.type===\"path\",h=a.modifyItem,d,v,x,b,p,E,k,A,L,_,C,M,g,P,T,F=cut.select(t.node().parentNode),q=j3.getFromId(e,r.xref),V=j3.getRefType(r.xref),H=j3.getFromId(e,r.yref),X=j3.getRefType(r.yref),G=r.x0shift,N=r.x1shift,W=r.y0shift,re=r.y1shift,ae=function(rt,ot){var Rt=Mp.getDataToPixel(e,q,ot,!1,V);return Rt(rt)},_e=function(rt,ot){var Rt=Mp.getDataToPixel(e,H,ot,!0,X);return Rt(rt)},Me=Mp.getPixelToData(e,q,!1,V),ke=Mp.getPixelToData(e,H,!0,X),ge=Ee(),ie={element:ge.node(),gd:e,prepFn:Ce,doneFn:me,clickFn:Re},Te;Pue.init(ie),ge.node().onmousemove=ze;function Ee(){return c?Ae():t}function Ae(){var rt=10,ot=Math.max(r.line.width,rt),Rt=i.append(\"g\").attr(\"data-index\",n).attr(\"drag-helper\",!0);Rt.append(\"path\").attr(\"d\",t.attr(\"d\")).style({cursor:\"move\",\"stroke-width\":ot,\"stroke-opacity\":\"0\"});var kt={\"fill-opacity\":\"0\"},Ct=Math.max(ot/2,rt);return Rt.append(\"circle\").attr({\"data-line-point\":\"start-point\",cx:l?ae(r.xanchor)+r.x0:ae(r.x0,G),cy:u?_e(r.yanchor)-r.y0:_e(r.y0,W),r:Ct}).style(kt).classed(\"cursor-grab\",!0),Rt.append(\"circle\").attr({\"data-line-point\":\"end-point\",cx:l?ae(r.xanchor)+r.x1:ae(r.x1,N),cy:u?_e(r.yanchor)-r.y1:_e(r.y1,re),r:Ct}).style(kt).classed(\"cursor-grab\",!0),Rt}function ze(rt){if(QL(e)){Te=null;return}if(c)rt.target.tagName===\"path\"?Te=\"move\":Te=rt.target.attributes[\"data-line-point\"].value===\"start-point\"?\"resize-over-start-point\":\"resize-over-end-point\";else{var ot=ie.element.getBoundingClientRect(),Rt=ot.right-ot.left,kt=ot.bottom-ot.top,Ct=rt.clientX-ot.left,Yt=rt.clientY-ot.top,xr=!f&&Rt>o&&kt>s&&!rt.shiftKey?Pue.getCursor(Ct/Rt,1-Yt/kt):\"move\";Iue(t,xr),Te=xr.split(\"-\")[0]}}function Ce(rt){QL(e)||(l&&(p=ae(r.xanchor)),u&&(E=_e(r.yanchor)),r.type===\"path\"?T=r.path:(d=l?r.x0:ae(r.x0),v=u?r.y0:_e(r.y0),x=l?r.x1:ae(r.x1),b=u?r.y1:_e(r.y1)),d<x?(L=d,g=\"x0\",_=x,P=\"x1\"):(L=x,g=\"x1\",_=d,P=\"x0\"),!u&&v<b||u&&v>b?(k=v,C=\"y0\",A=b,M=\"y1\"):(k=b,C=\"y1\",A=v,M=\"y0\"),ze(rt),nt(i,r),qt(t,r,e),ie.moveFn=Te===\"move\"?ce:Ge,ie.altKey=rt.altKey)}function me(){QL(e)||(Iue(t),ct(i),Oue(t,e,r),zue.call(\"_guiRelayout\",e,a.getUpdateObj()))}function Re(){QL(e)||ct(i)}function ce(rt,ot){if(r.type===\"path\"){var Rt=function(Yt){return Yt},kt=Rt,Ct=Rt;l?h(\"xanchor\",r.xanchor=Me(p+rt)):(kt=function(xr){return Me(ae(xr)+rt)},q&&q.type===\"date\"&&(kt=Mp.encodeDate(kt))),u?h(\"yanchor\",r.yanchor=ke(E+ot)):(Ct=function(xr){return ke(_e(xr)+ot)},H&&H.type===\"date\"&&(Ct=Mp.encodeDate(Ct))),h(\"path\",r.path=Rue(T,kt,Ct))}else l?h(\"xanchor\",r.xanchor=Me(p+rt)):(h(\"x0\",r.x0=Me(d+rt)),h(\"x1\",r.x1=Me(x+rt))),u?h(\"yanchor\",r.yanchor=ke(E+ot)):(h(\"y0\",r.y0=ke(v+ot)),h(\"y1\",r.y1=ke(b+ot)));t.attr(\"d\",XB(e,r)),nt(i,r),eP(e,n,r,F)}function Ge(rt,ot){if(f){var Rt=function(_r){return _r},kt=Rt,Ct=Rt;l?h(\"xanchor\",r.xanchor=Me(p+rt)):(kt=function(Br){return Me(ae(Br)+rt)},q&&q.type===\"date\"&&(kt=Mp.encodeDate(kt))),u?h(\"yanchor\",r.yanchor=ke(E+ot)):(Ct=function(Br){return ke(_e(Br)+ot)},H&&H.type===\"date\"&&(Ct=Mp.encodeDate(Ct))),h(\"path\",r.path=Rue(T,kt,Ct))}else if(c){if(Te===\"resize-over-start-point\"){var Yt=d+rt,xr=u?v-ot:v+ot;h(\"x0\",r.x0=l?Yt:Me(Yt)),h(\"y0\",r.y0=u?xr:ke(xr))}else if(Te===\"resize-over-end-point\"){var er=x+rt,Ke=u?b-ot:b+ot;h(\"x1\",r.x1=l?er:Me(er)),h(\"y1\",r.y1=u?Ke:ke(Ke))}}else{var xt=function(_r){return Te.indexOf(_r)!==-1},bt=xt(\"n\"),Lt=xt(\"s\"),St=xt(\"w\"),Et=xt(\"e\"),dt=bt?k+ot:k,Ht=Lt?A+ot:A,$t=St?L+rt:L,fr=Et?_+rt:_;u&&(bt&&(dt=k-ot),Lt&&(Ht=A-ot)),(!u&&Ht-dt>s||u&&dt-Ht>s)&&(h(C,r[C]=u?dt:ke(dt)),h(M,r[M]=u?Ht:ke(Ht))),fr-$t>o&&(h(g,r[g]=l?$t:Me($t)),h(P,r[P]=l?fr:Me(fr)))}t.attr(\"d\",XB(e,r)),nt(i,r),eP(e,n,r,F)}function nt(rt,ot){(l||u)&&Rt();function Rt(){var kt=ot.type!==\"path\",Ct=rt.selectAll(\".visual-cue\").data([0]),Yt=1;Ct.enter().append(\"path\").attr({fill:\"#fff\",\"fill-rule\":\"evenodd\",stroke:\"#000\",\"stroke-width\":Yt}).classed(\"visual-cue\",!0);var xr=ae(l?ot.xanchor:Lue.midRange(kt?[ot.x0,ot.x1]:Mp.extractPathCoords(ot.path,qb.paramIsX))),er=_e(u?ot.yanchor:Lue.midRange(kt?[ot.y0,ot.y1]:Mp.extractPathCoords(ot.path,qb.paramIsY)));if(xr=Mp.roundPositionForSharpStrokeRendering(xr,Yt),er=Mp.roundPositionForSharpStrokeRendering(er,Yt),l&&u){var Ke=\"M\"+(xr-1-Yt)+\",\"+(er-1-Yt)+\"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z\";Ct.attr(\"d\",Ke)}else if(l){var xt=\"M\"+(xr-1-Yt)+\",\"+(er-9-Yt)+\"v18 h2 v-18 Z\";Ct.attr(\"d\",xt)}else{var bt=\"M\"+(xr-9-Yt)+\",\"+(er-1-Yt)+\"h18 v2 h-18 Z\";Ct.attr(\"d\",bt)}}}function ct(rt){rt.selectAll(\".visual-cue\").remove()}function qt(rt,ot,Rt){var kt=ot.xref,Ct=ot.yref,Yt=j3.getFromId(Rt,kt),xr=j3.getFromId(Rt,Ct),er=\"\";kt!==\"paper\"&&!Yt.autorange&&(er+=kt),Ct!==\"paper\"&&!xr.autorange&&(er+=Ct),YB.setClipUrl(rt,er?\"clip\"+Rt._fullLayout._uid+er:null,Rt)}}function Rue(e,t,r){return e.replace(qb.segmentRE,function(n){var i=0,a=n.charAt(0),o=qb.paramIsX[a],s=qb.paramIsY[a],l=qb.numParams[a],u=n.substr(1).replace(qb.paramRE,function(c){return i>=l||(o[i]?c=t(c):s[i]&&(c=r(c)),i++),c});return a+u})}function put(e,t){if(tP(e)){var r=t.node(),n=+r.getAttribute(\"data-index\");if(n>=0){if(n===e._fullLayout._activeShapeIndex){Due(e);return}e._fullLayout._activeShapeIndex=n,e._fullLayout._deactivateShape=Due,KB(e)}}}function Due(e){if(tP(e)){var t=e._fullLayout._activeShapeIndex;t>=0&&(Fue(e),delete e._fullLayout._activeShapeIndex,KB(e))}}function gut(e){if(tP(e)){Fue(e);var t=e._fullLayout._activeShapeIndex,r=(e.layout||{}).shapes||[];if(t<r.length){for(var n=[],i=0;i<r.length;i++)i!==t&&n.push(r[i]);return delete e._fullLayout._activeShapeIndex,zue.call(\"_guiRelayout\",e,{shapes:n})}}}});var QB=ye((vir,Xue)=>{\"use strict\";var S0=ba(),Nue=Xu(),Uue=af(),al=UL(),mut=rP().eraseActiveShape,iP=Mr(),Os=iP._,ol=Xue.exports={};ol.toImage={name:\"toImage\",title:function(e){var t=e._context.toImageButtonOptions||{},r=t.format||\"png\";return r===\"png\"?Os(e,\"Download plot as a png\"):Os(e,\"Download plot\")},icon:al.camera,click:function(e){var t=e._context.toImageButtonOptions,r={format:t.format||\"png\"};iP.notifier(Os(e,\"Taking snapshot - this may take a few seconds\"),\"long\"),[\"filename\",\"width\",\"height\",\"scale\"].forEach(function(n){n in t&&(r[n]=t[n])}),S0.call(\"downloadImage\",e,r).then(function(n){iP.notifier(Os(e,\"Snapshot succeeded\")+\" - \"+n,\"long\")}).catch(function(){iP.notifier(Os(e,\"Sorry, there was a problem downloading your snapshot!\"),\"long\")})}};ol.sendDataToCloud={name:\"sendDataToCloud\",title:function(e){return Os(e,\"Edit in Chart Studio\")},icon:al.disk,click:function(e){Nue.sendDataToCloud(e)}};ol.editInChartStudio={name:\"editInChartStudio\",title:function(e){return Os(e,\"Edit in Chart Studio\")},icon:al.pencil,click:function(e){Nue.sendDataToCloud(e)}};ol.zoom2d={name:\"zoom2d\",_cat:\"zoom\",title:function(e){return Os(e,\"Zoom\")},attr:\"dragmode\",val:\"zoom\",icon:al.zoombox,click:Ov};ol.pan2d={name:\"pan2d\",_cat:\"pan\",title:function(e){return Os(e,\"Pan\")},attr:\"dragmode\",val:\"pan\",icon:al.pan,click:Ov};ol.select2d={name:\"select2d\",_cat:\"select\",title:function(e){return Os(e,\"Box Select\")},attr:\"dragmode\",val:\"select\",icon:al.selectbox,click:Ov};ol.lasso2d={name:\"lasso2d\",_cat:\"lasso\",title:function(e){return Os(e,\"Lasso Select\")},attr:\"dragmode\",val:\"lasso\",icon:al.lasso,click:Ov};ol.drawclosedpath={name:\"drawclosedpath\",title:function(e){return Os(e,\"Draw closed freeform\")},attr:\"dragmode\",val:\"drawclosedpath\",icon:al.drawclosedpath,click:Ov};ol.drawopenpath={name:\"drawopenpath\",title:function(e){return Os(e,\"Draw open freeform\")},attr:\"dragmode\",val:\"drawopenpath\",icon:al.drawopenpath,click:Ov};ol.drawline={name:\"drawline\",title:function(e){return Os(e,\"Draw line\")},attr:\"dragmode\",val:\"drawline\",icon:al.drawline,click:Ov};ol.drawrect={name:\"drawrect\",title:function(e){return Os(e,\"Draw rectangle\")},attr:\"dragmode\",val:\"drawrect\",icon:al.drawrect,click:Ov};ol.drawcircle={name:\"drawcircle\",title:function(e){return Os(e,\"Draw circle\")},attr:\"dragmode\",val:\"drawcircle\",icon:al.drawcircle,click:Ov};ol.eraseshape={name:\"eraseshape\",title:function(e){return Os(e,\"Erase active shape\")},icon:al.eraseshape,click:mut};ol.zoomIn2d={name:\"zoomIn2d\",_cat:\"zoomin\",title:function(e){return Os(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:al.zoom_plus,click:Ov};ol.zoomOut2d={name:\"zoomOut2d\",_cat:\"zoomout\",title:function(e){return Os(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:al.zoom_minus,click:Ov};ol.autoScale2d={name:\"autoScale2d\",_cat:\"autoscale\",title:function(e){return Os(e,\"Autoscale\")},attr:\"zoom\",val:\"auto\",icon:al.autoscale,click:Ov};ol.resetScale2d={name:\"resetScale2d\",_cat:\"resetscale\",title:function(e){return Os(e,\"Reset axes\")},attr:\"zoom\",val:\"reset\",icon:al.home,click:Ov};ol.hoverClosestCartesian={name:\"hoverClosestCartesian\",_cat:\"hoverclosest\",title:function(e){return Os(e,\"Show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:al.tooltip_basic,gravity:\"ne\",click:Ov};ol.hoverCompareCartesian={name:\"hoverCompareCartesian\",_cat:\"hoverCompare\",title:function(e){return Os(e,\"Compare data on hover\")},attr:\"hovermode\",val:function(e){return e._fullLayout._isHoriz?\"y\":\"x\"},icon:al.tooltip_compare,gravity:\"ne\",click:Ov};function Ov(e,t){var r=t.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=e._fullLayout,o={},s=Uue.list(e,null,!0),l=a._cartesianSpikesEnabled,u,c;if(n===\"zoom\"){var f=i===\"in\"?.5:2,h=(1+f)/2,d=(1-f)/2,v;for(c=0;c<s.length;c++)if(u=s[c],!u.fixedrange)if(v=u._name,i===\"auto\")o[v+\".autorange\"]=!0;else if(i===\"reset\")u._rangeInitial0===void 0&&u._rangeInitial1===void 0?o[v+\".autorange\"]=!0:u._rangeInitial0===void 0?(o[v+\".autorange\"]=u._autorangeInitial,o[v+\".range\"]=[null,u._rangeInitial1]):u._rangeInitial1===void 0?(o[v+\".range\"]=[u._rangeInitial0,null],o[v+\".autorange\"]=u._autorangeInitial):o[v+\".range\"]=[u._rangeInitial0,u._rangeInitial1],u._showSpikeInitial!==void 0&&(o[v+\".showspikes\"]=u._showSpikeInitial,l===\"on\"&&!u._showSpikeInitial&&(l=\"off\"));else{var x=[u.r2l(u.range[0]),u.r2l(u.range[1])],b=[h*x[0]+d*x[1],h*x[1]+d*x[0]];o[v+\".range[0]\"]=u.l2r(b[0]),o[v+\".range[1]\"]=u.l2r(b[1])}}else n===\"hovermode\"&&(i===\"x\"||i===\"y\")&&(i=a._isHoriz?\"y\":\"x\",r.setAttribute(\"data-val\",i)),o[n]=i;a._cartesianSpikesEnabled=l,S0.call(\"_guiRelayout\",e,o)}ol.zoom3d={name:\"zoom3d\",_cat:\"zoom\",title:function(e){return Os(e,\"Zoom\")},attr:\"scene.dragmode\",val:\"zoom\",icon:al.zoombox,click:nP};ol.pan3d={name:\"pan3d\",_cat:\"pan\",title:function(e){return Os(e,\"Pan\")},attr:\"scene.dragmode\",val:\"pan\",icon:al.pan,click:nP};ol.orbitRotation={name:\"orbitRotation\",title:function(e){return Os(e,\"Orbital rotation\")},attr:\"scene.dragmode\",val:\"orbit\",icon:al[\"3d_rotate\"],click:nP};ol.tableRotation={name:\"tableRotation\",title:function(e){return Os(e,\"Turntable rotation\")},attr:\"scene.dragmode\",val:\"turntable\",icon:al[\"z-axis\"],click:nP};function nP(e,t){for(var r=t.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=e._fullLayout._subplots.gl3d||[],o={},s=n.split(\".\"),l=0;l<a.length;l++)o[a[l]+\".\"+s[1]]=i;var u=i===\"pan\"?i:\"zoom\";o.dragmode=u,S0.call(\"_guiRelayout\",e,o)}ol.resetCameraDefault3d={name:\"resetCameraDefault3d\",_cat:\"resetCameraDefault\",title:function(e){return Os(e,\"Reset camera to default\")},attr:\"resetDefault\",icon:al.home,click:JB};ol.resetCameraLastSave3d={name:\"resetCameraLastSave3d\",_cat:\"resetCameraLastSave\",title:function(e){return Os(e,\"Reset camera to last save\")},attr:\"resetLastSave\",icon:al.movie,click:JB};function JB(e,t){for(var r=t.currentTarget,n=r.getAttribute(\"data-attr\"),i=n===\"resetLastSave\",a=n===\"resetDefault\",o=e._fullLayout,s=o._subplots.gl3d||[],l={},u=0;u<s.length;u++){var c=s[u],f=c+\".camera\",h=c+\".aspectratio\",d=c+\".aspectmode\",v=o[c]._scene,x;i?(l[f+\".up\"]=v.viewInitial.up,l[f+\".eye\"]=v.viewInitial.eye,l[f+\".center\"]=v.viewInitial.center,x=!0):a&&(l[f+\".up\"]=null,l[f+\".eye\"]=null,l[f+\".center\"]=null,x=!0),x&&(l[h+\".x\"]=v.viewInitial.aspectratio.x,l[h+\".y\"]=v.viewInitial.aspectratio.y,l[h+\".z\"]=v.viewInitial.aspectratio.z,l[d]=v.viewInitial.aspectmode)}S0.call(\"_guiRelayout\",e,l)}ol.hoverClosest3d={name:\"hoverClosest3d\",_cat:\"hoverclosest\",title:function(e){return Os(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:al.tooltip_basic,gravity:\"ne\",click:yut};function Vue(e,t){var r=t.currentTarget,n=r._previousVal,i=e._fullLayout,a=i._subplots.gl3d||[],o=[\"xaxis\",\"yaxis\",\"zaxis\"],s={},l={};if(n)l=n,r._previousVal=null;else{for(var u=0;u<a.length;u++){var c=a[u],f=i[c],h=c+\".hovermode\";s[h]=f.hovermode,l[h]=!1;for(var d=0;d<3;d++){var v=o[d],x=c+\".\"+v+\".showspikes\";l[x]=!1,s[x]=f[v].showspikes}}r._previousVal=s}return l}function yut(e,t){var r=Vue(e,t);S0.call(\"_guiRelayout\",e,r)}ol.zoomInGeo={name:\"zoomInGeo\",_cat:\"zoomin\",title:function(e){return Os(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:al.zoom_plus,click:$B};ol.zoomOutGeo={name:\"zoomOutGeo\",_cat:\"zoomout\",title:function(e){return Os(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:al.zoom_minus,click:$B};ol.resetGeo={name:\"resetGeo\",_cat:\"reset\",title:function(e){return Os(e,\"Reset\")},attr:\"reset\",val:null,icon:al.autoscale,click:$B};ol.hoverClosestGeo={name:\"hoverClosestGeo\",_cat:\"hoverclosest\",title:function(e){return Os(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:al.tooltip_basic,gravity:\"ne\",click:Gue};function $B(e,t){for(var r=t.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=e._fullLayout,o=a._subplots.geo||[],s=0;s<o.length;s++){var l=o[s],u=a[l];if(n===\"zoom\"){var c=u.projection.scale,f=i===\"in\"?2*c:.5*c;S0.call(\"_guiRelayout\",e,l+\".projection.scale\",f)}}n===\"reset\"&&W3(e,\"geo\")}ol.hoverClosestPie={name:\"hoverClosestPie\",_cat:\"hoverclosest\",title:function(e){return Os(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:al.tooltip_basic,gravity:\"ne\",click:Gue};function Hue(e){var t=e._fullLayout;return t.hovermode?!1:t._has(\"cartesian\")?t._isHoriz?\"y\":\"x\":\"closest\"}function Gue(e){var t=Hue(e);S0.call(\"_guiRelayout\",e,\"hovermode\",t)}ol.resetViewSankey={name:\"resetSankeyGroup\",title:function(e){return Os(e,\"Reset view\")},icon:al.home,click:function(e){for(var t={\"node.groups\":[],\"node.x\":[],\"node.y\":[]},r=0;r<e._fullData.length;r++){var n=e._fullData[r]._viewInitial;t[\"node.groups\"].push(n.node.groups.slice()),t[\"node.x\"].push(n.node.x.slice()),t[\"node.y\"].push(n.node.y.slice())}S0.call(\"restyle\",e,t)}};ol.toggleHover={name:\"toggleHover\",title:function(e){return Os(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:al.tooltip_basic,gravity:\"ne\",click:function(e,t){var r=Vue(e,t);r.hovermode=Hue(e),S0.call(\"_guiRelayout\",e,r)}};ol.resetViews={name:\"resetViews\",title:function(e){return Os(e,\"Reset views\")},icon:al.home,click:function(e,t){var r=t.currentTarget;r.setAttribute(\"data-attr\",\"zoom\"),r.setAttribute(\"data-val\",\"reset\"),Ov(e,t),r.setAttribute(\"data-attr\",\"resetLastSave\"),JB(e,t),W3(e,\"geo\"),W3(e,\"mapbox\"),W3(e,\"map\")}};ol.toggleSpikelines={name:\"toggleSpikelines\",title:function(e){return Os(e,\"Toggle Spike Lines\")},icon:al.spikeline,attr:\"_cartesianSpikesEnabled\",val:\"on\",click:function(e){var t=e._fullLayout,r=t._cartesianSpikesEnabled;t._cartesianSpikesEnabled=r===\"on\"?\"off\":\"on\",S0.call(\"_guiRelayout\",e,_ut(e))}};function _ut(e){for(var t=e._fullLayout,r=t._cartesianSpikesEnabled===\"on\",n=Uue.list(e,null,!0),i={},a=0;a<n.length;a++){var o=n[a];i[o._name+\".showspikes\"]=r?!0:o._showSpikeInitial}return i}ol.resetViewMapbox={name:\"resetViewMapbox\",_cat:\"resetView\",title:function(e){return Os(e,\"Reset view\")},attr:\"reset\",icon:al.home,click:function(e){W3(e,\"mapbox\")}};ol.resetViewMap={name:\"resetViewMap\",_cat:\"resetView\",title:function(e){return Os(e,\"Reset view\")},attr:\"reset\",icon:al.home,click:function(e){W3(e,\"map\")}};ol.zoomInMapbox={name:\"zoomInMapbox\",_cat:\"zoomin\",title:function(e){return Os(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:al.zoom_plus,click:jue};ol.zoomInMap={name:\"zoomInMap\",_cat:\"zoomin\",title:function(e){return Os(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:al.zoom_plus,click:Wue};ol.zoomOutMapbox={name:\"zoomOutMapbox\",_cat:\"zoomout\",title:function(e){return Os(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:al.zoom_minus,click:jue};ol.zoomOutMap={name:\"zoomOutMap\",_cat:\"zoomout\",title:function(e){return Os(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:al.zoom_minus,click:Wue};function jue(e,t){Zue(e,t,\"mapbox\")}function Wue(e,t){Zue(e,t,\"map\")}function Zue(e,t,r){for(var n=t.currentTarget,i=n.getAttribute(\"data-val\"),a=e._fullLayout,o=a._subplots[r]||[],s=1.05,l={},u=0;u<o.length;u++){var c=o[u],f=a[c].zoom,h=i===\"in\"?s*f:f/s;l[c+\".zoom\"]=h}S0.call(\"_guiRelayout\",e,l)}function W3(e,t){for(var r=e._fullLayout,n=r._subplots[t]||[],i={},a=0;a<n.length;a++)for(var o=n[a],s=r[o]._subplot,l=s.viewInitial,u=Object.keys(l),c=0;c<u.length;c++){var f=u[c];i[o+\".\"+f]=l[f]}S0.call(\"_guiRelayout\",e,i)}});var eN=ye((pir,$ue)=>{\"use strict\";var Yue=QB(),xut=Object.keys(Yue),Kue=[\"drawline\",\"drawopenpath\",\"drawclosedpath\",\"drawcircle\",\"drawrect\",\"eraseshape\"],Jue=[\"v1hovermode\",\"hoverclosest\",\"hovercompare\",\"togglehover\",\"togglespikelines\"].concat(Kue),Z3=[],but=function(e){if(Jue.indexOf(e._cat||e.name)===-1){var t=e.name,r=(e._cat||e.name).toLowerCase();Z3.indexOf(t)===-1&&Z3.push(t),Z3.indexOf(r)===-1&&Z3.push(r)}};xut.forEach(function(e){but(Yue[e])});Z3.sort();$ue.exports={DRAW_MODES:Kue,backButtons:Jue,foreButtons:Z3}});var tN=ye((mir,Que)=>{\"use strict\";var gir=eN();Que.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\"}}});var tce=ye((yir,ece)=>{\"use strict\";var wut=Mr(),hM=va(),Tut=Vs(),Aut=tN();ece.exports=function(t,r){var n=t.modebar||{},i=Tut.newContainer(r,\"modebar\");function a(s,l){return wut.coerce(n,i,Aut,s,l)}a(\"orientation\"),a(\"bgcolor\",hM.addOpacity(r.paper_bgcolor,.5));var o=hM.contrast(hM.rgb(r.modebar.bgcolor));a(\"color\",hM.addOpacity(o,.3)),a(\"activecolor\",hM.addOpacity(o,.7)),a(\"uirevision\",r.uirevision),a(\"add\"),a(\"remove\")}});var ace=ye((_ir,nce)=>{\"use strict\";var rN=xa(),Sut=uo(),aP=Mr(),rce=UL(),Mut=e6().version,Eut=new DOMParser;function ice(e){this.container=e.container,this.element=document.createElement(\"div\"),this.update(e.graphInfo,e.buttons),this.container.appendChild(this.element)}var Tm=ice.prototype;Tm.update=function(e,t){this.graphInfo=e;var r=this.graphInfo._context,n=this.graphInfo._fullLayout,i=\"modebar-\"+n._uid;this.element.setAttribute(\"id\",i),this._uid=i,this.element.className=\"modebar\",r.displayModeBar===\"hover\"&&(this.element.className+=\" modebar--hover ease-bg\"),n.modebar.orientation===\"v\"&&(this.element.className+=\" vertical\",t=t.reverse());var a=n.modebar,o=\"#\"+i+\" .modebar-group\";document.querySelectorAll(o).forEach(function(f){f.style.backgroundColor=a.bgcolor});var s=!this.hasButtons(t),l=this.hasLogo!==r.displaylogo,u=this.locale!==r.locale;if(this.locale=r.locale,(s||l||u)&&(this.removeAllButtons(),this.updateButtons(t),r.watermark||r.displaylogo)){var c=this.getLogo();r.watermark&&(c.className=c.className+\" watermark\"),n.modebar.orientation===\"v\"?this.element.insertBefore(c,this.element.childNodes[0]):this.element.appendChild(c),this.hasLogo=!0}this.updateActiveButton(),aP.setStyleOnHover(\"#\"+i+\" .modebar-btn\",\".active\",\".icon path\",\"fill: \"+a.activecolor,\"fill: \"+a.color,this.element)};Tm.updateButtons=function(e){var t=this;this.buttons=e,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(r){var n=t.createGroup();r.forEach(function(i){var a=i.name;if(!a)throw new Error(\"must provide button 'name' in button config\");if(t.buttonsNames.indexOf(a)!==-1)throw new Error(\"button name '\"+a+\"' is taken\");t.buttonsNames.push(a);var o=t.createButton(i);t.buttonElements.push(o),n.appendChild(o)}),t.element.appendChild(n)})};Tm.createGroup=function(){var e=document.createElement(\"div\");e.className=\"modebar-group\";var t=this.graphInfo._fullLayout.modebar;return e.style.backgroundColor=t.bgcolor,e};Tm.createButton=function(e){var t=this,r=document.createElement(\"a\");r.setAttribute(\"rel\",\"tooltip\"),r.className=\"modebar-btn\";var n=e.title;n===void 0?n=e.name:typeof n==\"function\"&&(n=n(this.graphInfo)),(n||n===0)&&r.setAttribute(\"data-title\",n),e.attr!==void 0&&r.setAttribute(\"data-attr\",e.attr);var i=e.val;i!==void 0&&(typeof i==\"function\"&&(i=i(this.graphInfo)),r.setAttribute(\"data-val\",i));var a=e.click;if(typeof a!=\"function\")throw new Error(\"must provide button 'click' function in button config\");r.addEventListener(\"click\",function(s){e.click(t.graphInfo,s),t.updateActiveButton(s.currentTarget)}),r.setAttribute(\"data-toggle\",e.toggle||!1),e.toggle&&rN.select(r).classed(\"active\",!0);var o=e.icon;return typeof o==\"function\"?r.appendChild(o()):r.appendChild(this.createIcon(o||rce.question)),r.setAttribute(\"data-gravity\",e.gravity||\"n\"),r};Tm.createIcon=function(e){var t=Sut(e.height)?Number(e.height):e.ascent-e.descent,r=\"http://www.w3.org/2000/svg\",n;if(e.path){n=document.createElementNS(r,\"svg\"),n.setAttribute(\"viewBox\",[0,0,e.width,t].join(\" \")),n.setAttribute(\"class\",\"icon\");var i=document.createElementNS(r,\"path\");i.setAttribute(\"d\",e.path),e.transform?i.setAttribute(\"transform\",e.transform):e.ascent!==void 0&&i.setAttribute(\"transform\",\"matrix(1 0 0 -1 0 \"+e.ascent+\")\"),n.appendChild(i)}if(e.svg){var a=Eut.parseFromString(e.svg,\"application/xml\");n=a.childNodes[0]}return n.setAttribute(\"height\",\"1em\"),n.setAttribute(\"width\",\"1em\"),n};Tm.updateActiveButton=function(e){var t=this.graphInfo._fullLayout,r=e!==void 0?e.getAttribute(\"data-attr\"):null;this.buttonElements.forEach(function(n){var i=n.getAttribute(\"data-val\")||!0,a=n.getAttribute(\"data-attr\"),o=n.getAttribute(\"data-toggle\")===\"true\",s=rN.select(n),l=function(f,h){var d=t.modebar,v=f.querySelector(\".icon path\");v&&(h||f.matches(\":hover\")?v.style.fill=d.activecolor:v.style.fill=d.color)};if(o){if(a===r){var u=!s.classed(\"active\");s.classed(\"active\",u),l(n,u)}}else{var c=a===null?a:aP.nestedProperty(t,a).get();s.classed(\"active\",c===i),l(n,c===i)}})};Tm.hasButtons=function(e){var t=this.buttons;if(!t||e.length!==t.length)return!1;for(var r=0;r<e.length;++r){if(e[r].length!==t[r].length)return!1;for(var n=0;n<e[r].length;n++)if(e[r][n].name!==t[r][n].name)return!1}return!0};function kut(e){return e+\" (v\"+Mut+\")\"}Tm.getLogo=function(){var e=this.createGroup(),t=document.createElement(\"a\");return t.href=\"https://plotly.com/\",t.target=\"_blank\",t.setAttribute(\"data-title\",kut(aP._(this.graphInfo,\"Produced with Plotly.js\"))),t.className=\"modebar-btn plotlyjsicon modebar-btn--logo\",t.appendChild(this.createIcon(rce.newplotlylogo)),e.appendChild(t),e};Tm.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1};Tm.destroy=function(){aP.removeElement(this.container.querySelector(\".modebar\"))};function Cut(e,t){var r=e._fullLayout,n=new ice({graphInfo:e,container:r._modebardiv.node(),buttons:t});return r._privateplot&&rN.select(n.element).append(\"span\").classed(\"badge-private float--left\",!0).text(\"PRIVATE\"),n}nce.exports=Cut});var lce=ye((xir,sce)=>{\"use strict\";var Lut=af(),oce=lu(),iN=ba(),Put=rp().isUnifiedHover,Iut=ace(),oP=QB(),Rut=eN().DRAW_MODES,Dut=Mr().extendDeep;sce.exports=function(t){var r=t._fullLayout,n=t._context,i=r._modeBar;if(!n.displayModeBar&&!n.watermark){i&&(i.destroy(),delete r._modeBar);return}if(!Array.isArray(n.modeBarButtonsToRemove))throw new Error([\"*modeBarButtonsToRemove* configuration options\",\"must be an array.\"].join(\" \"));if(!Array.isArray(n.modeBarButtonsToAdd))throw new Error([\"*modeBarButtonsToAdd* configuration options\",\"must be an array.\"].join(\" \"));var a=n.modeBarButtons,o;Array.isArray(a)&&a.length?o=Nut(a):!n.displayModeBar&&n.watermark?o=[]:o=zut(t),i?i.update(t,o):r._modeBar=Iut(t,o)};function zut(e){var t=e._fullLayout,r=e._fullData,n=e._context;function i(N,W){if(typeof W==\"string\"){if(W.toLowerCase()===N.toLowerCase())return!0}else{var re=W.name,ae=W._cat||W.name;if(re===N||ae===N.toLowerCase())return!0}return!1}var a=t.modebar.add;typeof a==\"string\"&&(a=[a]);var o=t.modebar.remove;typeof o==\"string\"&&(o=[o]);var s=n.modeBarButtonsToAdd.concat(a.filter(function(N){for(var W=0;W<n.modeBarButtonsToRemove.length;W++)if(i(N,n.modeBarButtonsToRemove[W]))return!1;return!0})),l=n.modeBarButtonsToRemove.concat(o.filter(function(N){for(var W=0;W<n.modeBarButtonsToAdd.length;W++)if(i(N,n.modeBarButtonsToAdd[W]))return!1;return!0})),u=t._has(\"cartesian\"),c=t._has(\"gl3d\"),f=t._has(\"geo\"),h=t._has(\"pie\"),d=t._has(\"funnelarea\"),v=t._has(\"ternary\"),x=t._has(\"mapbox\"),b=t._has(\"map\"),p=t._has(\"polar\"),E=t._has(\"smith\"),k=t._has(\"sankey\"),A=Fut(t),L=Put(t.hovermode),_=[];function C(N){if(N.length){for(var W=[],re=0;re<N.length;re++){for(var ae=N[re],_e=oP[ae],Me=_e.name.toLowerCase(),ke=(_e._cat||_e.name).toLowerCase(),ge=!1,ie=0;ie<l.length;ie++){var Te=l[ie].toLowerCase();if(Te===Me||Te===ke){ge=!0;break}}ge||W.push(oP[ae])}_.push(W)}}var M=[\"toImage\"];n.showEditInChartStudio?M.push(\"editInChartStudio\"):n.showSendToCloud&&M.push(\"sendDataToCloud\"),C(M);var g=[],P=[],T=[],F=[];(u||h||d||v)+f+c+x+b+p+E>1?(P=[\"toggleHover\"],T=[\"resetViews\"]):f?(g=[\"zoomInGeo\",\"zoomOutGeo\"],P=[\"hoverClosestGeo\"],T=[\"resetGeo\"]):c?(P=[\"hoverClosest3d\"],T=[\"resetCameraDefault3d\",\"resetCameraLastSave3d\"]):x?(g=[\"zoomInMapbox\",\"zoomOutMapbox\"],P=[\"toggleHover\"],T=[\"resetViewMapbox\"]):b?(g=[\"zoomInMap\",\"zoomOutMap\"],P=[\"toggleHover\"],T=[\"resetViewMap\"]):h?P=[\"hoverClosestPie\"]:k?(P=[\"hoverClosestCartesian\",\"hoverCompareCartesian\"],T=[\"resetViewSankey\"]):P=[\"toggleHover\"],u&&P.push(\"toggleSpikelines\",\"hoverClosestCartesian\",\"hoverCompareCartesian\"),(Out(r)||L)&&(P=[]),u&&!A&&(g=[\"zoomIn2d\",\"zoomOut2d\",\"autoScale2d\"],T[0]!==\"resetViews\"&&(T=[\"resetScale2d\"])),c?F=[\"zoom3d\",\"pan3d\",\"orbitRotation\",\"tableRotation\"]:u&&!A||v?F=[\"zoom2d\",\"pan2d\"]:x||b||f?F=[\"pan2d\"]:p&&(F=[\"zoom2d\"]),qut(r)&&F.push(\"select2d\",\"lasso2d\");var q=[],V=function(N){q.indexOf(N)===-1&&P.indexOf(N)!==-1&&q.push(N)};if(Array.isArray(s)){for(var H=[],X=0;X<s.length;X++){var G=s[X];typeof G==\"string\"?(G=G.toLowerCase(),Rut.indexOf(G)!==-1?(t._has(\"mapbox\")||t._has(\"map\")||t._has(\"cartesian\"))&&F.push(G):G===\"togglespikelines\"?V(\"toggleSpikelines\"):G===\"togglehover\"?V(\"toggleHover\"):G===\"hovercompare\"?V(\"hoverCompareCartesian\"):G===\"hoverclosest\"?(V(\"hoverClosestCartesian\"),V(\"hoverClosestGeo\"),V(\"hoverClosest3d\"),V(\"hoverClosestPie\")):G===\"v1hovermode\"&&(V(\"hoverClosestCartesian\"),V(\"hoverCompareCartesian\"),V(\"hoverClosestGeo\"),V(\"hoverClosest3d\"),V(\"hoverClosestPie\"))):H.push(G)}s=H}return C(F),C(g.concat(T)),C(q),But(_,s)}function Fut(e){for(var t=Lut.list({_fullLayout:e},null,!0),r=0;r<t.length;r++)if(!t[r].fixedrange)return!1;return!0}function qut(e){for(var t=!1,r=0;r<e.length&&!t;r++){var n=e[r];!n._module||!n._module.selectPoints||(iN.traceIs(n,\"scatter-like\")?(oce.hasMarkers(n)||oce.hasText(n))&&(t=!0):iN.traceIs(n,\"box-violin\")?(n.boxpoints===\"all\"||n.points===\"all\")&&(t=!0):t=!0)}return t}function Out(e){for(var t=0;t<e.length;t++)if(!iN.traceIs(e[t],\"noHover\"))return!1;return!0}function But(e,t){if(t.length)if(Array.isArray(t[0]))for(var r=0;r<t.length;r++)e.push(t[r]);else e.push(t);return e}function Nut(e){for(var t=Dut([],e),r=0;r<t.length;r++)for(var n=t[r],i=0;i<n.length;i++){var a=n[i];if(typeof a==\"string\")if(oP[a]!==void 0)t[r][i]=oP[a];else throw new Error([\"*modeBarButtons* configuration options\",\"invalid button name\"].join(\" \"))}return t}});var nN=ye((bir,uce)=>{\"use strict\";uce.exports={moduleType:\"component\",name:\"modebar\",layoutAttributes:tN(),supplyLayoutDefaults:tce(),manage:lce()}});var aN=ye((wir,cce)=>{\"use strict\";var Uut=Nh().FROM_BL;cce.exports=function(t,r,n){n===void 0&&(n=Uut[t.constraintoward||\"center\"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*n;t.range=t._input.range=[t.l2r(a+(i[0]-a)*r),t.l2r(a+(i[1]-a)*r)],t.setScale()}});var Bb=ye(dM=>{\"use strict\";var Ob=Mr(),oN=wg(),Mg=af().id2name,Vut=Cd(),fce=aN(),Hut=ym(),Gut=es().ALMOST_EQUAL,jut=Nh().FROM_BL;dM.handleDefaults=function(e,t,r){var n=r.axIds,i=r.axHasImage,a=t._axisConstraintGroups=[],o=t._axisMatchGroups=[],s,l,u,c,f,h,d,v;for(s=0;s<n.length;s++)c=Mg(n[s]),f=e[c],h=t[c],Wut(f,h,{axIds:n,layoutOut:t,hasImage:i[c]});function x(M,g){for(s=0;s<M.length;s++){l=M[s];for(u in l)t[Mg(u)][g]=l}}for(x(o,\"_matchGroup\"),s=0;s<a.length;s++){l=a[s];for(u in l)if(h=t[Mg(u)],h.fixedrange){for(var b in l){var p=Mg(b);(e[p]||{}).fixedrange===!1&&Ob.warn(\"fixedrange was specified as false for axis \"+p+\" but was overridden because another axis in its constraint group has fixedrange true\"),t[p].fixedrange=!0}break}}for(s=0;s<a.length;){l=a[s];for(u in l){h=t[Mg(u)],h._matchGroup&&Object.keys(h._matchGroup).length===Object.keys(l).length&&(a.splice(s,1),s--);break}s++}x(a,\"_constraintGroup\");var E=[\"constrain\",\"range\",\"autorange\",\"rangemode\",\"rangebreaks\",\"categoryorder\",\"categoryarray\"],k=!1,A=!1;function L(){v=h[d],d===\"rangebreaks\"&&(A=h._hasDayOfWeekBreaks)}for(s=0;s<o.length;s++){l=o[s];for(var _=0;_<E.length;_++){d=E[_],v=null;var C;for(u in l)if(c=Mg(u),f=e[c],h=t[c],d in h){if(!h.matches&&(C=h,d in f)){L();break}v===null&&d in f&&L()}if(d===\"range\"&&v&&f.range&&f.range.length===2&&f.range[0]!==null&&f.range[1]!==null&&(k=!0),d===\"autorange\"&&v===null&&k&&(v=!1),v===null&&d in C&&(v=C[d]),v!==null)for(u in l)h=t[Mg(u)],h[d]=d===\"range\"?v.slice():v,d===\"rangebreaks\"&&(h._hasDayOfWeekBreaks=A,Hut(h,t))}}};function Wut(e,t,r){var n=r.axIds,i=r.layoutOut,a=r.hasImage,o=i._axisConstraintGroups,s=i._axisMatchGroups,l=t._id,u=l.charAt(0),c=((i._splomAxes||{})[u]||{})[l]||{},f=t._id,h=f.charAt(0)===\"x\";t._matchGroup=null,t._constraintGroup=null;function d(F,q){return Ob.coerce(e,t,Vut,F,q)}d(\"constrain\",a?\"domain\":\"range\"),Ob.coerce(e,t,{constraintoward:{valType:\"enumerated\",values:h?[\"left\",\"center\",\"right\"]:[\"bottom\",\"middle\",\"top\"],dflt:h?\"center\":\"middle\"}},\"constraintoward\");var v=t.type,x,b,p=[];for(x=0;x<n.length;x++)if(b=n[x],b!==f){var E=i[Mg(b)];E.type===v&&p.push(b)}var k=vce(o,f);if(k){var A=[];for(x=0;x<p.length;x++)b=p[x],k[b]||A.push(b);p=A}var L=p.length,_,C;L&&(e.matches||c.matches)&&(_=Ob.coerce(e,t,{matches:{valType:\"enumerated\",values:p,dflt:p.indexOf(c.matches)!==-1?c.matches:void 0}},\"matches\"));var M=a&&!h?t.anchor:void 0;if(L&&!_&&(e.scaleanchor||M)&&(C=Ob.coerce(e,t,{scaleanchor:{valType:\"enumerated\",values:p.concat([!1])}},\"scaleanchor\",M)),_){t._matchGroup=sN(s,f,_,1);var g=i[Mg(_)],P=hce(i,t)/hce(i,g);h!==(_.charAt(0)===\"x\")&&(P=(h?\"x\":\"y\")+P),sN(o,f,_,P)}else e.matches&&n.indexOf(e.matches)!==-1&&Ob.warn(\"ignored \"+t._name+'.matches: \"'+e.matches+'\" to avoid an infinite loop');if(C){var T=d(\"scaleratio\");T||(T=t.scaleratio=1),sN(o,f,C,T)}else e.scaleanchor&&n.indexOf(e.scaleanchor)!==-1&&Ob.warn(\"ignored \"+t._name+'.scaleanchor: \"'+e.scaleanchor+'\" to avoid either an infinite loop and possibly inconsistent scaleratios, or because this axis declares a *matches* constraint.')}function hce(e,t){var r=t.domain;return r||(r=e[Mg(t.overlaying)].domain),r[1]-r[0]}function vce(e,t){for(var r=0;r<e.length;r++)if(e[r][t])return e[r];return null}function sN(e,t,r,n){var i,a,o,s,l,u=vce(e,t);u===null?(u={},u[t]=1,l=e.length,e.push(u)):l=e.indexOf(u);var c=Object.keys(u);for(i=0;i<e.length;i++)if(o=e[i],i!==l&&o[r]){var f=o[r];for(a=0;a<c.length;a++)s=c[a],o[s]=lN(f,lN(n,u[s]));e.splice(l,1);return}if(n!==1)for(a=0;a<c.length;a++){var h=c[a];u[h]=lN(n,u[h])}u[r]=1}function lN(e,t){var r=\"\",n=\"\",i,a;typeof e==\"string\"&&(r=e.match(/^[xy]*/)[0],i=r.length,e=+e.substr(i)),typeof t==\"string\"&&(n=t.match(/^[xy]*/)[0],a=n.length,t=+t.substr(a));var o=e*t;return!i&&!a?o:!i||!a||r.charAt(0)===n.charAt(0)?r+n+e*t:i===a?o:(i>a?r.substr(a):n.substr(i))+o}function Zut(e,t){for(var r=t._size,n=r.h/r.w,i={},a=Object.keys(e),o=0;o<a.length;o++){var s=a[o],l=e[s];if(typeof l==\"string\"){var u=l.match(/^[xy]*/)[0],c=u.length;l=+l.substr(c);for(var f=u.charAt(0)===\"y\"?n:1/n,h=0;h<c;h++)l*=f}i[s]=l}return i}dM.enforce=function(t){var r=t._fullLayout,n=r._axisConstraintGroups||[],i,a,o,s,l,u,c,f;for(i=0;i<n.length;i++){o=Zut(n[i],r);var h=Object.keys(o),d=1/0,v=0,x=1/0,b={},p={},E=!1;for(a=0;a<h.length;a++)s=h[a],p[s]=l=r[Mg(s)],l._inputDomain?l.domain=l._inputDomain.slice():l._inputDomain=l.domain.slice(),l._inputRange||(l._inputRange=l.range.slice()),l.setScale(),b[s]=u=Math.abs(l._m)/o[s],d=Math.min(d,u),(l.constrain===\"domain\"||!l._constraintShrinkable)&&(x=Math.min(x,u)),delete l._constraintShrinkable,v=Math.max(v,u),l.constrain===\"domain\"&&(E=!0);if(!(d>Gut*v&&!E)){for(a=0;a<h.length;a++)if(s=h[a],u=b[s],l=p[s],c=l.constrain,u!==x||c===\"domain\")if(f=u/x,c===\"range\")fce(l,f);else{var k=l._inputDomain,A=(l.domain[1]-l.domain[0])/(k[1]-k[0]),L=(l.r2l(l.range[1])-l.r2l(l.range[0]))/(l.r2l(l._inputRange[1])-l.r2l(l._inputRange[0]));if(f/=A,f*L<1){l.domain=l._input.domain=k.slice(),fce(l,f);continue}if(L<1&&(l.range=l._input.range=l._inputRange.slice(),f*=L),l.autorange){var _=l.r2l(l.range[0]),C=l.r2l(l.range[1]),M=(_+C)/2,g=M,P=M,T=Math.abs(C-M),F=M-T*f*1.0001,q=M+T*f*1.0001,V=oN.makePadFn(r,l,0),H=oN.makePadFn(r,l,1);dce(l,f);var X=Math.abs(l._m),G=oN.concatExtremes(t,l),N=G.min,W=G.max,re,ae;for(ae=0;ae<N.length;ae++)re=N[ae].val-V(N[ae])/X,re>F&&re<g&&(g=re);for(ae=0;ae<W.length;ae++)re=W[ae].val+H(W[ae])/X,re<q&&re>P&&(P=re);var _e=(P-g)/(2*T);f/=_e,g=l.l2r(g),P=l.l2r(P),l.range=l._input.range=_<C?[g,P]:[P,g]}dce(l,f)}}}};dM.getAxisGroup=function(t,r){for(var n=t._axisMatchGroups,i=0;i<n.length;i++){var a=n[i];if(a[r])return\"g\"+i}return r};dM.clean=function(t,r){if(r._inputDomain){for(var n=!1,i=r._id,a=t._fullLayout._axisConstraintGroups,o=0;o<a.length;o++)if(a[o][i]){n=!0;break}(!n||r.constrain!==\"domain\")&&(r._input.domain=r.domain=r._inputDomain,delete r._inputDomain)}};function dce(e,t){var r=e._inputDomain,n=jut[e.constraintoward],i=r[0]+(r[1]-r[0])*n;e.domain=e._input.domain=[i+(r[0]-i)/t,i+(r[1]-i)/t],e.setScale()}});var gM=ye(ld=>{\"use strict\";var lP=xa(),Bv=ba(),Jp=Xu(),M0=Mr(),uN=Pl(),cN=lM(),vM=va(),X3=ao(),pce=Mb(),xce=nN(),pM=Qa(),ky=Nh(),bce=Bb(),Xut=bce.enforce,Yut=bce.clean,gce=wg().doAutoRange,wce=\"start\",Kut=\"middle\",Tce=\"end\",Jut=ad().zindexSeparator;ld.layoutStyles=function(e){return M0.syncOrAsync([Jp.doAutoMargin,Qut],e)};function $ut(e,t,r){for(var n=0;n<r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]>=e[1]||i[1]<=e[0])&&a[0]<t[1]&&a[1]>t[0])return!0}return!1}function Qut(e){var t=e._fullLayout,r=t._size,n=r.p,i=pM.list(e,\"\",!0),a,o,s,l,u,c;if(t._paperdiv.style({width:e._context.responsive&&t.autosize&&!e._context._hasZeroWidth&&!e.layout.width?\"100%\":t.width+\"px\",height:e._context.responsive&&t.autosize&&!e._context._hasZeroHeight&&!e.layout.height?\"100%\":t.height+\"px\"}).selectAll(\".main-svg\").call(X3.setSize,t.width,t.height),e._context.setBackground(e,t.paper_bgcolor),ld.drawMainTitle(e),xce.manage(e),!t._has(\"cartesian\"))return Jp.previousPromises(e);function f(Ce,me,Re){var ce=Ce._lw/2;if(Ce._id.charAt(0)===\"x\"){if(me){if(Re===\"top\")return me._offset-n-ce}else return r.t+r.h*(1-(Ce.position||0))+ce%1;return me._offset+me._length+n+ce}if(me){if(Re===\"right\")return me._offset+me._length+n+ce}else return r.l+r.w*(Ce.position||0)+ce%1;return me._offset-n-ce}for(a=0;a<i.length;a++){l=i[a];var h=l._anchorAxis;l._linepositions={},l._lw=X3.crispRound(e,l.linewidth,1),l._mainLinePosition=f(l,h,l.side),l._mainMirrorPosition=l.mirror&&h?f(l,h,ky.OPPOSITE_SIDE[l.side]):null}var d=[],v=[],x=[],b=vM.opacity(t.paper_bgcolor)===1&&vM.opacity(t.plot_bgcolor)===1&&t.paper_bgcolor===t.plot_bgcolor;for(o in t._plots)if(s=t._plots[o],s.mainplot)s.bg&&s.bg.remove(),s.bg=void 0;else{var p=s.xaxis.domain,E=s.yaxis.domain,k=s.plotgroup;if($ut(p,E,x)&&o.indexOf(Jut)===-1){var A=k.node(),L=s.bg=M0.ensureSingle(k,\"rect\",\"bg\");A.insertBefore(L.node(),A.childNodes[0]),v.push(o)}else k.select(\"rect.bg\").remove(),x.push([p,E]),b||(d.push(o),v.push(o))}var _=t._bgLayer.selectAll(\".bg\").data(d);for(_.enter().append(\"rect\").classed(\"bg\",!0),_.exit().remove(),_.each(function(Ce){t._plots[Ce].bg=lP.select(this)}),a=0;a<v.length;a++)s=t._plots[v[a]],u=s.xaxis,c=s.yaxis,s.bg&&u._offset!==void 0&&c._offset!==void 0&&s.bg.call(X3.setRect,u._offset-n,c._offset-n,u._length+2*n,c._length+2*n).call(vM.fill,t.plot_bgcolor).style(\"stroke-width\",0);if(!t._hasOnlyLargeSploms)for(o in t._plots){s=t._plots[o],u=s.xaxis,c=s.yaxis;var C=s.clipId=\"clip\"+t._uid+o+\"plot\",M=M0.ensureSingleById(t._clips,\"clipPath\",C,function(Ce){Ce.classed(\"plotclip\",!0).append(\"rect\")});s.clipRect=M.select(\"rect\").attr({width:u._length,height:c._length}),X3.setTranslate(s.plot,u._offset,c._offset);var g,P;s._hasClipOnAxisFalse?(g=null,P=C):(g=C,P=null),X3.setClipUrl(s.plot,g,e),s.layerClipId=P}var T,F,q,V,H,X,G,N,W,re,ae,_e,Me;function ke(Ce){return\"M\"+T+\",\"+Ce+\"H\"+F}function ge(Ce){return\"M\"+u._offset+\",\"+Ce+\"h\"+u._length}function ie(Ce){return\"M\"+Ce+\",\"+N+\"V\"+G}function Te(Ce){return c._shift!==void 0&&(Ce+=c._shift),\"M\"+Ce+\",\"+c._offset+\"v\"+c._length}function Ee(Ce,me,Re){if(!Ce.showline||o!==Ce._mainSubplot)return\"\";if(!Ce._anchorAxis)return Re(Ce._mainLinePosition);var ce=me(Ce._mainLinePosition);return Ce.mirror&&(ce+=me(Ce._mainMirrorPosition)),ce}for(o in t._plots){s=t._plots[o],u=s.xaxis,c=s.yaxis;var Ae=\"M0,0\";mce(u,o)&&(H=sP(u,\"left\",c,i),T=u._offset-(H?n+H:0),X=sP(u,\"right\",c,i),F=u._offset+u._length+(X?n+X:0),q=f(u,c,\"bottom\"),V=f(u,c,\"top\"),Me=!u._anchorAxis||o!==u._mainSubplot,Me&&(u.mirror===\"allticks\"||u.mirror===\"all\")&&(u._linepositions[o]=[q,V]),Ae=Ee(u,ke,ge),Me&&u.showline&&(u.mirror===\"all\"||u.mirror===\"allticks\")&&(Ae+=ke(q)+ke(V)),s.xlines.style(\"stroke-width\",u._lw+\"px\").call(vM.stroke,u.showline?u.linecolor:\"rgba(0,0,0,0)\")),s.xlines.attr(\"d\",Ae);var ze=\"M0,0\";mce(c,o)&&(ae=sP(c,\"bottom\",u,i),G=c._offset+c._length+(ae?n:0),_e=sP(c,\"top\",u,i),N=c._offset-(_e?n:0),W=f(c,u,\"left\"),re=f(c,u,\"right\"),Me=!c._anchorAxis||o!==c._mainSubplot,Me&&(c.mirror===\"allticks\"||c.mirror===\"all\")&&(c._linepositions[o]=[W,re]),ze=Ee(c,ie,Te),Me&&c.showline&&(c.mirror===\"all\"||c.mirror===\"allticks\")&&(ze+=ie(W)+ie(re)),s.ylines.style(\"stroke-width\",c._lw+\"px\").call(vM.stroke,c.showline?c.linecolor:\"rgba(0,0,0,0)\")),s.ylines.attr(\"d\",ze)}return pM.makeClipPaths(e),Jp.previousPromises(e)}function mce(e,t){return(e.ticks||e.showline)&&(t===e._mainSubplot||e.mirror===\"all\"||e.mirror===\"allticks\")}function yce(e,t,r){if(!r.showline||!r._lw)return!1;if(r.mirror===\"all\"||r.mirror===\"allticks\")return!0;var n=r._anchorAxis;if(!n)return!1;var i=ky.FROM_BL[t];return r.side===t?n.domain[i]===e.domain[i]:r.mirror&&n.domain[1-i]===e.domain[1-i]}function sP(e,t,r,n){if(yce(e,t,r))return r._lw;for(var i=0;i<n.length;i++){var a=n[i];if(a._mainAxis===r._mainAxis&&yce(e,t,a))return a._lw}return 0}ld.drawMainTitle=function(e){var t=e._fullLayout.title,r=e._fullLayout,n=oct(r),i=sct(r),a=act(r,i),o=nct(r,n);if(pce.draw(e,\"gtitle\",{propContainer:r,propName:\"title.text\",subtitlePropName:\"title.subtitle.text\",placeholder:r._dfltTitle.plot,subtitlePlaceholder:r._dfltTitle.subtitle,attributes:{x:o,y:a,\"text-anchor\":n,dy:i}}),t.text&&t.automargin){var s=lP.selectAll(\".gtitle\"),l=X3.bBox(lP.selectAll(\".g-gtitle\").node()).height,u=rct(e,t,l);if(u>0){ict(e,a,u,l),s.attr({x:o,y:a,\"text-anchor\":n,dy:_ce(t.yanchor)}).call(uN.positionText,o,a);var c=(t.text.match(uN.BR_TAG_ALL)||[]).length;if(c){var f=ky.LINE_SPACING*c+ky.MID_SHIFT;t.y===0&&(f=-f),s.selectAll(\".line\").each(function(){var b=+this.getAttribute(\"dy\").slice(0,-2)-f+\"em\";this.setAttribute(\"dy\",b)})}var h=lP.selectAll(\".gtitle-subtitle\");if(h.node()){var d=s.node().getBBox(),v=d.y+d.height,x=v+pce.SUBTITLE_PADDING_EM*t.subtitle.font.size;h.attr({x:o,y:x,\"text-anchor\":n,dy:_ce(t.yanchor)}).call(uN.positionText,o,x)}}}};function ect(e,t,r,n,i){var a=t.yref===\"paper\"?e._fullLayout._size.h:e._fullLayout.height,o=M0.isTopAnchor(t)?n:n-i,s=r===\"b\"?a-o:o;return M0.isTopAnchor(t)&&r===\"t\"||M0.isBottomAnchor(t)&&r===\"b\"?!1:s<i}function tct(e,t,r,n,i){var a=0;return r===\"middle\"&&(a+=i/2),e===\"t\"?(r===\"top\"&&(a+=i),a+=n-t*n):(r===\"bottom\"&&(a+=i),a+=t*n),a}function rct(e,t,r){var n=t.y,i=t.yanchor,a=n>.5?\"t\":\"b\",o=e._fullLayout.margin[a],s=0;return t.yref===\"paper\"?s=r+t.pad.t+t.pad.b:t.yref===\"container\"&&(s=tct(a,n,i,e._fullLayout.height,r)+t.pad.t+t.pad.b),s>o?s:0}function ict(e,t,r,n){var i=\"title.automargin\",a=e._fullLayout.title,o=a.y>.5?\"t\":\"b\",s={x:a.x,y:a.y,t:0,b:0},l={};a.yref===\"paper\"&&ect(e,a,o,t,n)?s[o]=r:a.yref===\"container\"&&(l[o]=r,e._fullLayout._reservedMargin[i]=l),Jp.allowAutoMargin(e,i),Jp.autoMargin(e,i,s)}function nct(e,t){var r=e.title,n=e._size,i=0;switch(t===wce?i=r.pad.l:t===Tce&&(i=-r.pad.r),r.xref){case\"paper\":return n.l+n.w*r.x+i;case\"container\":default:return e.width*r.x+i}}function act(e,t){var r=e.title,n=e._size,i=0;if(t===\"0em\"||!t?i=-r.pad.b:t===ky.CAP_SHIFT+\"em\"&&(i=r.pad.t),r.y===\"auto\")return n.t/2;switch(r.yref){case\"paper\":return n.t+n.h-n.h*r.y+i;case\"container\":default:return e.height-e.height*r.y+i}}function _ce(e){return e===\"top\"?ky.CAP_SHIFT+.3+\"em\":e===\"bottom\"?\"-0.3em\":ky.MID_SHIFT+\"em\"}function oct(e){var t=e.title,r=Kut;return M0.isRightAnchor(t)?r=Tce:M0.isLeftAnchor(t)&&(r=wce),r}function sct(e){var t=e.title,r=\"0em\";return M0.isTopAnchor(t)?r=ky.CAP_SHIFT+\"em\":M0.isMiddleAnchor(t)&&(r=ky.MID_SHIFT+\"em\"),r}ld.doTraceStyle=function(e){var t=e.calcdata,r=[],n;for(n=0;n<t.length;n++){var i=t[n],a=i[0]||{},o=a.trace||{},s=o._module||{},l=s.arraysToCalcdata;l&&l(i,o);var u=s.editStyle;u&&r.push({fn:u,cd0:a})}if(r.length){for(n=0;n<r.length;n++){var c=r[n];c.fn(e,c.cd0)}cN(e),ld.redrawReglTraces(e)}return Jp.style(e),Bv.getComponentMethod(\"legend\",\"draw\")(e),Jp.previousPromises(e)};ld.doColorBars=function(e){return Bv.getComponentMethod(\"colorbar\",\"draw\")(e),Jp.previousPromises(e)};ld.layoutReplot=function(e){var t=e.layout;return e.layout=void 0,Bv.call(\"_doPlot\",e,\"\",t)};ld.doLegend=function(e){return Bv.getComponentMethod(\"legend\",\"draw\")(e),Jp.previousPromises(e)};ld.doTicksRelayout=function(e){return pM.draw(e,\"redraw\"),e._fullLayout._hasOnlyLargeSploms&&(Bv.subplotsRegistry.splom.updateGrid(e),cN(e),ld.redrawReglTraces(e)),ld.drawMainTitle(e),Jp.previousPromises(e)};ld.doModeBar=function(e){var t=e._fullLayout;xce.manage(e);for(var r=0;r<t._basePlotModules.length;r++){var n=t._basePlotModules[r].updateFx;n&&n(e)}return Jp.previousPromises(e)};ld.doCamera=function(e){for(var t=e._fullLayout,r=t._subplots.gl3d,n=0;n<r.length;n++){var i=t[r[n]],a=i._scene;a.setViewport(i)}};ld.drawData=function(e){var t=e._fullLayout;cN(e);for(var r=t._basePlotModules,n=0;n<r.length;n++)r[n].plot(e);return ld.redrawReglTraces(e),Jp.style(e),Bv.getComponentMethod(\"selections\",\"draw\")(e),Bv.getComponentMethod(\"shapes\",\"draw\")(e),Bv.getComponentMethod(\"annotations\",\"draw\")(e),Bv.getComponentMethod(\"images\",\"draw\")(e),t._replotting=!1,Jp.previousPromises(e)};ld.redrawReglTraces=function(e){var t=e._fullLayout;if(t._has(\"regl\")){var r=e._fullData,n=[],i=[],a,o;for(t._hasOnlyLargeSploms&&t._splomGrid.draw(),a=0;a<r.length;a++){var s=r[a];s.visible===!0&&s._length!==0&&(s.type===\"splom\"?t._splomScenes[s.uid].draw():s.type===\"scattergl\"?M0.pushUnique(n,s.xaxis+s.yaxis):s.type===\"scatterpolargl\"&&M0.pushUnique(i,s.subplot))}for(a=0;a<n.length;a++)o=t._plots[n[a]],o._scene&&o._scene.draw();for(a=0;a<i.length;a++)o=t[i[a]]._subplot,o._scene&&o._scene.draw()}};ld.doAutoRangeAndConstraints=function(e){for(var t=pM.list(e,\"\",!0),r,n={},i=0;i<t.length;i++)if(r=t[i],!n[r._id]){n[r._id]=1,Yut(e,r),gce(e,r);var a=r._matchGroup;if(a)for(var o in a){var s=pM.getFromId(e,o);gce(e,s,r.range),n[o]=1}}Xut(e)};ld.finalDraw=function(e){Bv.getComponentMethod(\"rangeslider\",\"draw\")(e),Bv.getComponentMethod(\"rangeselector\",\"draw\")(e)};ld.drawMarginPushers=function(e){Bv.getComponentMethod(\"legend\",\"draw\")(e),Bv.getComponentMethod(\"rangeselector\",\"draw\")(e),Bv.getComponentMethod(\"sliders\",\"draw\")(e),Bv.getComponentMethod(\"updatemenus\",\"draw\")(e),Bv.getComponentMethod(\"colorbar\",\"draw\")(e)}});var dN=ye((Sir,kce)=>{\"use strict\";var lct=c_().readPaths,uct=$L(),Ace=e_().clearOutlineControllers,fN=va(),Sce=ao(),cct=Vs().arrayEditor,Mce=h_(),fct=Mce.getPathString;kce.exports={draw:uP,drawOne:Ece,activateLastSelection:vct};function uP(e){var t=e._fullLayout;Ace(e),t._selectionLayer.selectAll(\"path\").remove();for(var r in t._plots){var n=t._plots[r].selectionLayer;n&&n.selectAll(\"path\").remove()}for(var i=0;i<t.selections.length;i++)Ece(e,i)}function cP(e){return e._context.editSelection}function Ece(e,t){e._fullLayout._paperdiv.selectAll('.selectionlayer [data-index=\"'+t+'\"]').remove();var r=Mce.makeSelectionsOptionsAndPlotinfo(e,t),n=r.options,i=r.plotinfo;if(!n._input)return;a(e._fullLayout._selectionLayer);function a(o){var s=fct(e,n),l={\"data-index\":t,\"fill-rule\":\"evenodd\",d:s},u=n.opacity,c=\"rgba(0,0,0,0)\",f=n.line.color||fN.contrast(e._fullLayout.plot_bgcolor),h=n.line.width,d=n.line.dash;h||(h=5,d=\"solid\");var v=cP(e)&&e._fullLayout._activeSelectionIndex===t;v&&(c=e._fullLayout.activeselection.fillcolor,u=e._fullLayout.activeselection.opacity);for(var x=[],b=1;b>=0;b--){var p=o.append(\"path\").attr(l).style(\"opacity\",b?.1:u).call(fN.stroke,f).call(fN.fill,c).call(Sce.dashLine,b?\"solid\":d,b?4+h:h);if(hct(p,e,n),v){var E=cct(e.layout,\"selections\",n);p.style({cursor:\"move\"});var k={element:p.node(),plotinfo:i,gd:e,editHelpers:E,isActiveSelection:!0},A=lct(s,e);uct(A,p,k)}else p.style(\"pointer-events\",b?\"all\":\"none\");x[b]=p}var L=x[0],_=x[1];_.node().addEventListener(\"click\",function(){return dct(e,L)})}}function hct(e,t,r){var n=r.xref+r.yref;Sce.setClipUrl(e,\"clip\"+t._fullLayout._uid+n,t)}function dct(e,t){if(cP(e)){var r=t.node(),n=+r.getAttribute(\"data-index\");if(n>=0){if(n===e._fullLayout._activeSelectionIndex){hN(e);return}e._fullLayout._activeSelectionIndex=n,e._fullLayout._deactivateSelection=hN,uP(e)}}}function vct(e){if(cP(e)){var t=e._fullLayout.selections.length-1;e._fullLayout._activeSelectionIndex=t,e._fullLayout._deactivateSelection=hN,uP(e)}}function hN(e){if(cP(e)){var t=e._fullLayout._activeSelectionIndex;t>=0&&(Ace(e),delete e._fullLayout._activeSelectionIndex,uP(e))}}});var Lce=ye((Mir,Cce)=>{function pct(){var e,t=0,r=!1;function n(i,a){return e.list.push({type:i,data:a?JSON.parse(JSON.stringify(a)):void 0}),e}return e={list:[],segmentId:function(){return t++},checkIntersection:function(i,a){return n(\"check\",{seg1:i,seg2:a})},segmentChop:function(i,a){return n(\"div_seg\",{seg:i,pt:a}),n(\"chop\",{seg:i,pt:a})},statusRemove:function(i){return n(\"pop_seg\",{seg:i})},segmentUpdate:function(i){return n(\"seg_update\",{seg:i})},segmentNew:function(i,a){return n(\"new_seg\",{seg:i,primary:a})},segmentRemove:function(i){return n(\"rem_seg\",{seg:i})},tempStatus:function(i,a,o){return n(\"temp_status\",{seg:i,above:a,below:o})},rewind:function(i){return n(\"rewind\",{seg:i})},status:function(i,a,o){return n(\"status\",{seg:i,above:a,below:o})},vert:function(i){return i===r?e:(r=i,n(\"vert\",{x:i}))},log:function(i){return typeof i!=\"string\"&&(i=JSON.stringify(i,!1,\" \")),n(\"log\",{txt:i})},reset:function(){return n(\"reset\")},selected:function(i){return n(\"selected\",{segs:i})},chainStart:function(i){return n(\"chain_start\",{seg:i})},chainRemoveHead:function(i,a){return n(\"chain_rem_head\",{index:i,pt:a})},chainRemoveTail:function(i,a){return n(\"chain_rem_tail\",{index:i,pt:a})},chainNew:function(i,a){return n(\"chain_new\",{pt1:i,pt2:a})},chainMatch:function(i){return n(\"chain_match\",{index:i})},chainClose:function(i){return n(\"chain_close\",{index:i})},chainAddHead:function(i,a){return n(\"chain_add_head\",{index:i,pt:a})},chainAddTail:function(i,a){return n(\"chain_add_tail\",{index:i,pt:a})},chainConnect:function(i,a){return n(\"chain_con\",{index1:i,index2:a})},chainReverse:function(i){return n(\"chain_rev\",{index:i})},chainJoin:function(i,a){return n(\"chain_join\",{index1:i,index2:a})},done:function(){return n(\"done\")}},e}Cce.exports=pct});var Ice=ye((Eir,Pce)=>{function gct(e){typeof e!=\"number\"&&(e=1e-10);var t={epsilon:function(r){return typeof r==\"number\"&&(e=r),e},pointAboveOrOnLine:function(r,n,i){var a=n[0],o=n[1],s=i[0],l=i[1],u=r[0],c=r[1];return(s-a)*(c-o)-(l-o)*(u-a)>=-e},pointBetween:function(r,n,i){var a=r[1]-n[1],o=i[0]-n[0],s=r[0]-n[0],l=i[1]-n[1],u=s*o+a*l;if(u<e)return!1;var c=o*o+l*l;return!(u-c>-e)},pointsSameX:function(r,n){return Math.abs(r[0]-n[0])<e},pointsSameY:function(r,n){return Math.abs(r[1]-n[1])<e},pointsSame:function(r,n){return t.pointsSameX(r,n)&&t.pointsSameY(r,n)},pointsCompare:function(r,n){return t.pointsSameX(r,n)?t.pointsSameY(r,n)?0:r[1]<n[1]?-1:1:r[0]<n[0]?-1:1},pointsCollinear:function(r,n,i){var a=r[0]-n[0],o=r[1]-n[1],s=n[0]-i[0],l=n[1]-i[1];return Math.abs(a*l-s*o)<e},linesIntersect:function(r,n,i,a){var o=n[0]-r[0],s=n[1]-r[1],l=a[0]-i[0],u=a[1]-i[1],c=o*u-s*l;if(Math.abs(c)<e)return!1;var f=r[0]-i[0],h=r[1]-i[1],d=(l*h-u*f)/c,v=(o*h-s*f)/c,x={alongA:0,alongB:0,pt:[r[0]+d*o,r[1]+d*s]};return d<=-e?x.alongA=-2:d<e?x.alongA=-1:d-1<=-e?x.alongA=0:d-1<e?x.alongA=1:x.alongA=2,v<=-e?x.alongB=-2:v<e?x.alongB=-1:v-1<=-e?x.alongB=0:v-1<e?x.alongB=1:x.alongB=2,x},pointInsideRegion:function(r,n){for(var i=r[0],a=r[1],o=n[n.length-1][0],s=n[n.length-1][1],l=!1,u=0;u<n.length;u++){var c=n[u][0],f=n[u][1];f-a>e!=s-a>e&&(o-c)*(a-f)/(s-f)+c-i>e&&(l=!l),o=c,s=f}return l}};return t}Pce.exports=gct});var Dce=ye((kir,Rce)=>{var mct={create:function(){var e={root:{root:!0,next:null},exists:function(t){return!(t===null||t===e.root)},isEmpty:function(){return e.root.next===null},getHead:function(){return e.root.next},insertBefore:function(t,r){for(var n=e.root,i=e.root.next;i!==null;){if(r(i)){t.prev=i.prev,t.next=i,i.prev.next=t,i.prev=t;return}n=i,i=i.next}n.next=t,t.prev=n,t.next=null},findTransition:function(t){for(var r=e.root,n=e.root.next;n!==null&&!t(n);)r=n,n=n.next;return{before:r===e.root?null:r,after:n,insert:function(i){return i.prev=r,i.next=n,r.next=i,n!==null&&(n.prev=i),i}}}};return e},node:function(e){return e.prev=null,e.next=null,e.remove=function(){e.prev.next=e.next,e.next&&(e.next.prev=e.prev),e.prev=null,e.next=null},e}};Rce.exports=mct});var Fce=ye((Cir,zce)=>{var mM=Dce();function yct(e,t,r){function n(v,x){return{id:r?r.segmentId():-1,start:v,end:x,myFill:{above:null,below:null},otherFill:null}}function i(v,x,b){return{id:r?r.segmentId():-1,start:v,end:x,myFill:{above:b.myFill.above,below:b.myFill.below},otherFill:null}}var a=mM.create();function o(v,x,b,p,E,k){var A=t.pointsCompare(x,E);return A!==0?A:t.pointsSame(b,k)?0:v!==p?v?1:-1:t.pointAboveOrOnLine(b,p?E:k,p?k:E)?1:-1}function s(v,x){a.insertBefore(v,function(b){var p=o(v.isStart,v.pt,x,b.isStart,b.pt,b.other.pt);return p<0})}function l(v,x){var b=mM.node({isStart:!0,pt:v.start,seg:v,primary:x,other:null,status:null});return s(b,v.end),b}function u(v,x,b){var p=mM.node({isStart:!1,pt:x.end,seg:x,primary:b,other:v,status:null});v.other=p,s(p,v.pt)}function c(v,x){var b=l(v,x);return u(b,v,x),b}function f(v,x){r&&r.segmentChop(v.seg,x),v.other.remove(),v.seg.end=x,v.other.pt=x,s(v.other,v.pt)}function h(v,x){var b=i(x,v.seg.end,v.seg);return f(v,x),c(b,v.primary)}function d(v,x){var b=mM.create();function p(H,X){var G=H.seg.start,N=H.seg.end,W=X.seg.start,re=X.seg.end;return t.pointsCollinear(G,W,re)?t.pointsCollinear(N,W,re)||t.pointAboveOrOnLine(N,W,re)?1:-1:t.pointAboveOrOnLine(G,W,re)?1:-1}function E(H){return b.findTransition(function(X){var G=p(H,X.ev);return G>0})}function k(H,X){var G=H.seg,N=X.seg,W=G.start,re=G.end,ae=N.start,_e=N.end;r&&r.checkIntersection(G,N);var Me=t.linesIntersect(W,re,ae,_e);if(Me===!1){if(!t.pointsCollinear(W,re,ae)||t.pointsSame(W,_e)||t.pointsSame(re,ae))return!1;var ke=t.pointsSame(W,ae),ge=t.pointsSame(re,_e);if(ke&&ge)return X;var ie=!ke&&t.pointBetween(W,ae,_e),Te=!ge&&t.pointBetween(re,ae,_e);if(ke)return Te?h(X,re):h(H,_e),X;ie&&(ge||(Te?h(X,re):h(H,_e)),h(X,W))}else Me.alongA===0&&(Me.alongB===-1?h(H,ae):Me.alongB===0?h(H,Me.pt):Me.alongB===1&&h(H,_e)),Me.alongB===0&&(Me.alongA===-1?h(X,W):Me.alongA===0?h(X,Me.pt):Me.alongA===1&&h(X,re));return!1}for(var A=[];!a.isEmpty();){var L=a.getHead();if(r&&r.vert(L.pt[0]),L.isStart){let H=function(){if(C){var X=k(L,C);if(X)return X}return M?k(L,M):!1};var V=H;r&&r.segmentNew(L.seg,L.primary);var _=E(L),C=_.before?_.before.ev:null,M=_.after?_.after.ev:null;r&&r.tempStatus(L.seg,C?C.seg:!1,M?M.seg:!1);var g=H();if(g){if(e){var P;L.seg.myFill.below===null?P=!0:P=L.seg.myFill.above!==L.seg.myFill.below,P&&(g.seg.myFill.above=!g.seg.myFill.above)}else g.seg.otherFill=L.seg.myFill;r&&r.segmentUpdate(g.seg),L.other.remove(),L.remove()}if(a.getHead()!==L){r&&r.rewind(L.seg);continue}if(e){var P;L.seg.myFill.below===null?P=!0:P=L.seg.myFill.above!==L.seg.myFill.below,M?L.seg.myFill.below=M.seg.myFill.above:L.seg.myFill.below=v,P?L.seg.myFill.above=!L.seg.myFill.below:L.seg.myFill.above=L.seg.myFill.below}else if(L.seg.otherFill===null){var T;M?L.primary===M.primary?T=M.seg.otherFill.above:T=M.seg.myFill.above:T=L.primary?x:v,L.seg.otherFill={above:T,below:T}}r&&r.status(L.seg,C?C.seg:!1,M?M.seg:!1),L.other.status=_.insert(mM.node({ev:L}))}else{var F=L.status;if(F===null)throw new Error(\"PolyBool: Zero-length segment detected; your epsilon is probably too small or too large\");if(b.exists(F.prev)&&b.exists(F.next)&&k(F.prev.ev,F.next.ev),r&&r.statusRemove(F.ev.seg),F.remove(),!L.primary){var q=L.seg.myFill;L.seg.myFill=L.seg.otherFill,L.seg.otherFill=q}A.push(L.seg)}a.getHead().remove()}return r&&r.done(),A}return e?{addRegion:function(v){for(var x,b=v[v.length-1],p=0;p<v.length;p++){x=b,b=v[p];var E=t.pointsCompare(x,b);E!==0&&c(n(E<0?x:b,E<0?b:x),!0)}},calculate:function(v){return d(v,!1)}}:{calculate:function(v,x,b,p){return v.forEach(function(E){c(i(E.start,E.end,E),!0)}),b.forEach(function(E){c(i(E.start,E.end,E),!1)}),d(x,p)}}}zce.exports=yct});var Oce=ye((Lir,qce)=>{function _ct(e,t,r){var n=[],i=[];return e.forEach(function(a){var o=a.start,s=a.end;if(t.pointsSame(o,s)){console.warn(\"PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large\");return}r&&r.chainStart(a);var l={index:0,matches_head:!1,matches_pt1:!1},u={index:0,matches_head:!1,matches_pt1:!1},c=l;function f(V,H,X){return c.index=V,c.matches_head=H,c.matches_pt1=X,c===l?(c=u,!1):(c=null,!0)}for(var h=0;h<n.length;h++){var d=n[h],v=d[0],x=d[1],b=d[d.length-1],p=d[d.length-2];if(t.pointsSame(v,o)){if(f(h,!0,!0))break}else if(t.pointsSame(v,s)){if(f(h,!0,!1))break}else if(t.pointsSame(b,o)){if(f(h,!1,!0))break}else if(t.pointsSame(b,s)&&f(h,!1,!1))break}if(c===l){n.push([o,s]),r&&r.chainNew(o,s);return}if(c===u){r&&r.chainMatch(l.index);var E=l.index,k=l.matches_pt1?s:o,A=l.matches_head,d=n[E],L=A?d[0]:d[d.length-1],_=A?d[1]:d[d.length-2],C=A?d[d.length-1]:d[0],M=A?d[d.length-2]:d[1];if(t.pointsCollinear(_,L,k)&&(A?(r&&r.chainRemoveHead(l.index,k),d.shift()):(r&&r.chainRemoveTail(l.index,k),d.pop()),L=_),t.pointsSame(C,k)){n.splice(E,1),t.pointsCollinear(M,C,L)&&(A?(r&&r.chainRemoveTail(l.index,L),d.pop()):(r&&r.chainRemoveHead(l.index,L),d.shift())),r&&r.chainClose(l.index),i.push(d);return}A?(r&&r.chainAddHead(l.index,k),d.unshift(k)):(r&&r.chainAddTail(l.index,k),d.push(k));return}function g(V){r&&r.chainReverse(V),n[V].reverse()}function P(V,H){var X=n[V],G=n[H],N=X[X.length-1],W=X[X.length-2],re=G[0],ae=G[1];t.pointsCollinear(W,N,re)&&(r&&r.chainRemoveTail(V,N),X.pop(),N=W),t.pointsCollinear(N,re,ae)&&(r&&r.chainRemoveHead(H,re),G.shift()),r&&r.chainJoin(V,H),n[V]=X.concat(G),n.splice(H,1)}var T=l.index,F=u.index;r&&r.chainConnect(T,F);var q=n[T].length<n[F].length;l.matches_head?u.matches_head?q?(g(T),P(T,F)):(g(F),P(F,T)):P(F,T):u.matches_head?P(T,F):q?(g(T),P(F,T)):(g(F),P(T,F))}),i}qce.exports=_ct});var Nce=ye((Pir,Bce)=>{function yM(e,t,r){var n=[];return e.forEach(function(i){var a=(i.myFill.above?8:0)+(i.myFill.below?4:0)+(i.otherFill&&i.otherFill.above?2:0)+(i.otherFill&&i.otherFill.below?1:0);t[a]!==0&&n.push({id:r?r.segmentId():-1,start:i.start,end:i.end,myFill:{above:t[a]===1,below:t[a]===2},otherFill:null})}),r&&r.selected(n),n}var xct={union:function(e,t){return yM(e,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],t)},intersect:function(e,t){return yM(e,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],t)},difference:function(e,t){return yM(e,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],t)},differenceRev:function(e,t){return yM(e,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],t)},xor:function(e,t){return yM(e,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],t)}};Bce.exports=xct});var Vce=ye((Iir,Uce)=>{var bct={toPolygon:function(e,t){function r(a){if(a.length<=0)return e.segments({inverted:!1,regions:[]});function o(u){var c=u.slice(0,u.length-1);return e.segments({inverted:!1,regions:[c]})}for(var s=o(a[0]),l=1;l<a.length;l++)s=e.selectDifference(e.combine(s,o(a[l])));return s}if(t.type===\"Polygon\")return e.polygon(r(t.coordinates));if(t.type===\"MultiPolygon\"){for(var n=e.segments({inverted:!1,regions:[]}),i=0;i<t.coordinates.length;i++)n=e.selectUnion(e.combine(n,r(t.coordinates[i])));return e.polygon(n)}throw new Error(\"PolyBool: Cannot convert GeoJSON object to PolyBool polygon\")},fromPolygon:function(e,t,r){r=e.polygon(e.segments(r));function n(d,v){return t.pointInsideRegion([(d[0][0]+d[1][0])*.5,(d[0][1]+d[1][1])*.5],v)}function i(d){return{region:d,children:[]}}var a=i(null);function o(d,v){for(var x=0;x<d.children.length;x++){var b=d.children[x];if(n(v,b.region)){o(b,v);return}}for(var p=i(v),x=0;x<d.children.length;x++){var b=d.children[x];n(b.region,v)&&(p.children.push(b),d.children.splice(x,1),x--)}d.children.push(p)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(a,l)}function u(d,v){for(var x=0,b=d[d.length-1][0],p=d[d.length-1][1],E=[],k=0;k<d.length;k++){var A=d[k][0],L=d[k][1];E.push([A,L]),x+=L*b-A*p,b=A,p=L}var _=x<0;return _!==v&&E.reverse(),E.push([E[0][0],E[0][1]]),E}var c=[];function f(d){var v=[u(d.region,!1)];c.push(v);for(var x=0;x<d.children.length;x++)v.push(h(d.children[x]))}function h(d){for(var v=0;v<d.children.length;v++)f(d.children[v]);return u(d.region,!0)}for(var s=0;s<a.children.length;s++)f(a.children[s]);return c.length<=0?{type:\"Polygon\",coordinates:[]}:c.length==1?{type:\"Polygon\",coordinates:c[0]}:{type:\"MultiPolygon\",coordinates:c}}};Uce.exports=bct});var Wce=ye((Rir,jce)=>{var wct=Lce(),Tct=Ice(),Hce=Fce(),Act=Oce(),_M=Nce(),Gce=Vce(),E0=!1,xM=Tct(),Ep;Ep={buildLog:function(e){return e===!0?E0=wct():e===!1&&(E0=!1),E0===!1?!1:E0.list},epsilon:function(e){return xM.epsilon(e)},segments:function(e){var t=Hce(!0,xM,E0);return e.regions.forEach(t.addRegion),{segments:t.calculate(e.inverted),inverted:e.inverted}},combine:function(e,t){var r=Hce(!1,xM,E0);return{combined:r.calculate(e.segments,e.inverted,t.segments,t.inverted),inverted1:e.inverted,inverted2:t.inverted}},selectUnion:function(e){return{segments:_M.union(e.combined,E0),inverted:e.inverted1||e.inverted2}},selectIntersect:function(e){return{segments:_M.intersect(e.combined,E0),inverted:e.inverted1&&e.inverted2}},selectDifference:function(e){return{segments:_M.difference(e.combined,E0),inverted:e.inverted1&&!e.inverted2}},selectDifferenceRev:function(e){return{segments:_M.differenceRev(e.combined,E0),inverted:!e.inverted1&&e.inverted2}},selectXor:function(e){return{segments:_M.xor(e.combined,E0),inverted:e.inverted1!==e.inverted2}},polygon:function(e){return{regions:Act(e.segments,xM,E0),inverted:e.inverted}},polygonFromGeoJSON:function(e){return Gce.toPolygon(Ep,e)},polygonToGeoJSON:function(e){return Gce.fromPolygon(Ep,xM,e)},union:function(e,t){return bM(e,t,Ep.selectUnion)},intersect:function(e,t){return bM(e,t,Ep.selectIntersect)},difference:function(e,t){return bM(e,t,Ep.selectDifference)},differenceRev:function(e,t){return bM(e,t,Ep.selectDifferenceRev)},xor:function(e,t){return bM(e,t,Ep.selectXor)}};function bM(e,t,r){var n=Ep.segments(e),i=Ep.segments(t),a=Ep.combine(n,i),o=r(a);return Ep.polygon(o)}typeof window==\"object\"&&(window.PolyBool=Ep);jce.exports=Ep});var Xce=ye((Dir,Zce)=>{Zce.exports=function(t,r,n,i){var a=t[0],o=t[1],s=!1;n===void 0&&(n=0),i===void 0&&(i=r.length);for(var l=i-n,u=0,c=l-1;u<l;c=u++){var f=r[u+n][0],h=r[u+n][1],d=r[c+n][0],v=r[c+n][1],x=h>o!=v>o&&a<(d-f)*(o-h)/(v-h)+f;x&&(s=!s)}return s}});var wM=ye((zir,Yce)=>{\"use strict\";var vN=m6().dot,fP=es().BADNUM,hP=Yce.exports={};hP.tester=function(t){var r=t.slice(),n=r[0][0],i=n,a=r[0][1],o=a,s;for((r[r.length-1][0]!==r[0][0]||r[r.length-1][1]!==r[0][1])&&r.push(r[0]),s=1;s<r.length;s++)n=Math.min(n,r[s][0]),i=Math.max(i,r[s][0]),a=Math.min(a,r[s][1]),o=Math.max(o,r[s][1]);var l=!1,u;r.length===5&&(r[0][0]===r[1][0]?r[2][0]===r[3][0]&&r[0][1]===r[3][1]&&r[1][1]===r[2][1]&&(l=!0,u=function(v){return v[0]===r[0][0]}):r[0][1]===r[1][1]&&r[2][1]===r[3][1]&&r[0][0]===r[3][0]&&r[1][0]===r[2][0]&&(l=!0,u=function(v){return v[1]===r[0][1]}));function c(v,x){var b=v[0],p=v[1];return!(b===fP||b<n||b>i||p===fP||p<a||p>o||x&&u(v))}function f(v,x){var b=v[0],p=v[1];if(b===fP||b<n||b>i||p===fP||p<a||p>o)return!1;var E=r.length,k=r[0][0],A=r[0][1],L=0,_,C,M,g,P;for(_=1;_<E;_++)if(C=k,M=A,k=r[_][0],A=r[_][1],g=Math.min(C,k),!(b<g||b>Math.max(C,k)||p>Math.max(M,A)))if(p<Math.min(M,A))b!==g&&L++;else{if(k===C?P=p:P=M+(b-C)*(A-M)/(k-C),p===P)return!(_===1&&x);p<=P&&b!==g&&L++}return L%2===1}var h=!0,d=r[0];for(s=1;s<r.length;s++)if(d[0]!==r[s][0]||d[1]!==r[s][1]){h=!1;break}return{xmin:n,xmax:i,ymin:a,ymax:o,pts:r,contains:l?c:f,isRect:l,degenerate:h}};hP.isSegmentBent=function(t,r,n,i){var a=t[r],o=[t[n][0]-a[0],t[n][1]-a[1]],s=vN(o,o),l=Math.sqrt(s),u=[-o[1]/l,o[0]/l],c,f,h;for(c=r+1;c<n;c++)if(f=[t[c][0]-a[0],t[c][1]-a[1]],h=vN(f,o),h<0||h>s||Math.abs(vN(f,u))>i)return!0;return!1};hP.filter=function(t,r){var n=[t[0]],i=0,a=0;function o(l){t.push(l);var u=n.length,c=i;n.splice(a+1);for(var f=c+1;f<t.length;f++)(f===t.length-1||hP.isSegmentBent(t,c,f+1,r))&&(n.push(t[f]),n.length<u-2&&(i=f,a=n.length-1),c=f)}if(t.length>1){var s=t.pop();o(s)}return{addPt:o,raw:t,filtered:n}}});var Jce=ye((Fir,Kce)=>{\"use strict\";Kce.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:\"-select\"}});var _fe=ye((qir,yfe)=>{\"use strict\";var $ce=Wce(),Sct=Xce(),SM=ba(),Mct=ao().dashStyle,TM=va(),Ect=Nc(),kct=rp().makeEventData,LM=Sg(),Cct=LM.freeMode,Lct=LM.rectMode,MM=LM.drawMode,yN=LM.openMode,_N=LM.selectMode,Qce=h_(),efe=cM(),afe=$L(),ofe=e_().clearOutline,sfe=c_(),pN=sfe.handleEllipse,Pct=sfe.readPaths,Ict=XL().newShapes,Rct=VB(),Dct=dN().activateLastSelection,vP=Mr(),zct=vP.sorterAsc,lfe=wM(),AM=P6(),k0=af().getFromId,Fct=lM(),qct=gM().redrawReglTraces,pP=Jce(),Am=pP.MINSELECT,Oct=lfe.filter,xN=lfe.tester,bN=GL(),tfe=bN.p2r,Bct=bN.axValue,Nct=bN.getTransform;function wN(e){return e.subplot!==void 0}function Uct(e,t,r,n,i){var a=!wN(n),o=Cct(i),s=Lct(i),l=yN(i),u=MM(i),c=_N(i),f=i===\"drawline\",h=i===\"drawcircle\",d=f||h,v=n.gd,x=v._fullLayout,b=c&&x.newselection.mode===\"immediate\"&&a,p=x._zoomlayer,E=n.element.getBoundingClientRect(),k=n.plotinfo,A=Nct(k),L=t-E.left,_=r-E.top;x._calcInverseTransform(v);var C=vP.apply3DTransform(x._invTransform)(L,_);L=C[0],_=C[1];var M=x._invScaleX,g=x._invScaleY,P=L,T=_,F=\"M\"+L+\",\"+_,q=n.xaxes[0],V=n.yaxes[0],H=q._length,X=V._length,G=e.altKey&&!(MM(i)&&l),N,W,re,ae,_e,Me,ke;cfe(e,v,n),o&&(N=Oct([[L,_]],pP.BENDPX));var ge=p.selectAll(\"path.select-outline-\"+k.id).data([1]),ie=u?x.newshape:x.newselection;u&&(n.hasText=ie.label.text||ie.label.texttemplate);var Te=u&&!l?ie.fillcolor:\"rgba(0,0,0,0)\",Ee=ie.line.color||(a?TM.contrast(v._fullLayout.plot_bgcolor):\"#7f7f7f\");ge.enter().append(\"path\").attr(\"class\",\"select-outline select-outline-\"+k.id).style({opacity:u?ie.opacity/2:1,\"stroke-dasharray\":Mct(ie.line.dash,ie.line.width),\"stroke-width\":ie.line.width+\"px\",\"shape-rendering\":\"crispEdges\"}).call(TM.stroke,Ee).call(TM.fill,Te).attr(\"fill-rule\",\"evenodd\").classed(\"cursor-move\",!!u).attr(\"transform\",A).attr(\"d\",F+\"Z\");var Ae=p.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:TM.background,stroke:TM.defaultLine,\"stroke-width\":1}).attr(\"transform\",A).attr(\"d\",\"M0,0Z\");if(u&&n.hasText){var ze=p.select(\".label-temp\");ze.empty()&&(ze=p.append(\"g\").classed(\"label-temp\",!0).classed(\"select-outline\",!0).style({opacity:.8}))}var Ce=x._uid+pP.SELECTID,me=[],Re=gP(v,n.xaxes,n.yaxes,n.subplot);b&&!e.shiftKey&&(n._clearSubplotSelections=function(){if(a){var Ge=q._id,nt=V._id;pfe(v,Ge,nt,Re);for(var ct=(v.layout||{}).selections||[],qt=[],rt=!1,ot=0;ot<ct.length;ot++){var Rt=x.selections[ot];!Rt||Rt.xref!==Ge||Rt.yref!==nt?qt.push(ct[ot]):rt=!0}rt&&(v._fullLayout._noEmitSelectedAtStart=!0,SM.call(\"_guiRelayout\",v,{selections:qt}))}});var ce=tft(n);n.moveFn=function(Ge,nt){n._clearSubplotSelections&&(n._clearSubplotSelections(),n._clearSubplotSelections=void 0),P=Math.max(0,Math.min(H,M*Ge+L)),T=Math.max(0,Math.min(X,g*nt+_));var ct=Math.abs(P-L),qt=Math.abs(T-_);if(s){var rt,ot,Rt;if(c){var kt=x.selectdirection;switch(kt===\"any\"?qt<Math.min(ct*.6,Am)?rt=\"h\":ct<Math.min(qt*.6,Am)?rt=\"v\":rt=\"d\":rt=kt,rt){case\"h\":ot=h?X/2:0,Rt=X;break;case\"v\":ot=h?H/2:0,Rt=H;break}}if(u)switch(x.newshape.drawdirection){case\"vertical\":rt=\"h\",ot=h?X/2:0,Rt=X;break;case\"horizontal\":rt=\"v\",ot=h?H/2:0,Rt=H;break;case\"ortho\":ct<qt?(rt=\"h\",ot=_,Rt=T):(rt=\"v\",ot=L,Rt=P);break;default:rt=\"d\"}rt===\"h\"?(ae=d?pN(h,[P,ot],[P,Rt]):[[L,ot],[L,Rt],[P,Rt],[P,ot]],ae.xmin=d?P:Math.min(L,P),ae.xmax=d?P:Math.max(L,P),ae.ymin=Math.min(ot,Rt),ae.ymax=Math.max(ot,Rt),Ae.attr(\"d\",\"M\"+ae.xmin+\",\"+(_-Am)+\"h-4v\"+2*Am+\"h4ZM\"+(ae.xmax-1)+\",\"+(_-Am)+\"h4v\"+2*Am+\"h-4Z\")):rt===\"v\"?(ae=d?pN(h,[ot,T],[Rt,T]):[[ot,_],[ot,T],[Rt,T],[Rt,_]],ae.xmin=Math.min(ot,Rt),ae.xmax=Math.max(ot,Rt),ae.ymin=d?T:Math.min(_,T),ae.ymax=d?T:Math.max(_,T),Ae.attr(\"d\",\"M\"+(L-Am)+\",\"+ae.ymin+\"v-4h\"+2*Am+\"v4ZM\"+(L-Am)+\",\"+(ae.ymax-1)+\"v4h\"+2*Am+\"v-4Z\")):rt===\"d\"&&(ae=d?pN(h,[L,_],[P,T]):[[L,_],[L,T],[P,T],[P,_]],ae.xmin=Math.min(L,P),ae.xmax=Math.max(L,P),ae.ymin=Math.min(_,T),ae.ymax=Math.max(_,T),Ae.attr(\"d\",\"M0,0Z\"))}else o&&(N.addPt([P,T]),ae=N.filtered);if(n.selectionDefs&&n.selectionDefs.length?(re=ffe(n.mergedPolygons,ae,G),ae.subtract=G,W=TN(n.selectionDefs.concat([ae]))):(re=[ae],W=xN(ae)),afe(dfe(re,l),ge,n),c){var Ct=mN(v,!1),Yt=Ct.eventData?Ct.eventData.points.slice():[];Ct=mN(v,!1,W,Re,n),W=Ct.selectionTesters,ke=Ct.eventData;var xr;N?xr=N.filtered:xr=gfe(re),AM.throttle(Ce,pP.SELECTDELAY,function(){me=vfe(W,Re);for(var er=me.slice(),Ke=0;Ke<Yt.length;Ke++){for(var xt=Yt[Ke],bt=!1,Lt=0;Lt<er.length;Lt++)if(er[Lt].curveNumber===xt.curveNumber&&er[Lt].pointNumber===xt.pointNumber){bt=!0;break}bt||er.push(xt)}er.length&&(ke||(ke={}),ke.points=er),ce(ke,xr),rft(v,ke)})}},n.clickFn=function(Ge,nt){if(Ae.remove(),v._fullLayout._activeShapeIndex>=0){v._fullLayout._deactivateShape(v);return}if(!u){var ct=x.clickmode;AM.done(Ce).then(function(){if(AM.clear(Ce),Ge===2){for(ge.remove(),_e=0;_e<Re.length;_e++)Me=Re[_e],Me._module.selectPoints(Me,!1);if(kM(v,Re),EM(n),SN(v),Re.length){var qt=Re[0].xaxis,rt=Re[0].yaxis;if(qt&&rt){for(var ot=[],Rt=v._fullLayout.selections,kt=0;kt<Rt.length;kt++){var Ct=Rt[kt];Ct&&(Ct.xref!==qt._id||Ct.yref!==rt._id)&&ot.push(Ct)}ot.length<Rt.length&&(v._fullLayout._noEmitSelectedAtStart=!0,SM.call(\"_guiRelayout\",v,{selections:ot}))}}}else ct.indexOf(\"select\")>-1&&ufe(nt,v,n.xaxes,n.yaxes,n.subplot,n,ge),ct===\"event\"&&CM(v,void 0);Ect.click(v,nt,k.id)}).catch(vP.error)}},n.doneFn=function(){Ae.remove(),AM.done(Ce).then(function(){AM.clear(Ce),!b&&ae&&n.selectionDefs&&(ae.subtract=G,n.selectionDefs.push(ae),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,re)),(b||u)&&EM(n,b),n.doneFnCompleted&&n.doneFnCompleted(me),c&&CM(v,ke)}).catch(vP.error)}}function ufe(e,t,r,n,i,a,o){var s=t._hoverdata,l=t._fullLayout,u=l.clickmode,c=u.indexOf(\"event\")>-1,f=[],h,d,v,x,b,p,E,k,A,L;if(Wct(s)){cfe(e,t,a),h=gP(t,r,n,i);var _=Zct(s,h),C=_.pointNumbers.length>0;if(C?Xct(h,_):Yct(h)&&(E=ife(_))){for(o&&o.remove(),L=0;L<h.length;L++)d=h[L],d._module.selectPoints(d,!1);kM(t,h),EM(a),c&&SN(t)}else{k=e.shiftKey&&(E!==void 0?E:ife(_)),v=Vct(_.pointNumber,_.searchInfo,k);var M=a.selectionDefs.concat([v]);for(x=TN(M,x),L=0;L<h.length;L++)if(b=h[L]._module.selectPoints(h[L],x),p=hfe(b,h[L]),f.length)for(var g=0;g<p.length;g++)f.push(p[g]);else f=p;if(A={points:f},kM(t,h,A),v&&a&&a.selectionDefs.push(v),o){var P=a.mergedPolygons,T=yN(a.dragmode);afe(dfe(P,T),o,a)}c&&CM(t,A)}}}function Vct(e,t,r){return{pointNumber:e,searchInfo:t,subtract:!!r}}function gN(e){return\"pointNumber\"in e&&\"searchInfo\"in e}function Hct(e){return{xmin:0,xmax:0,ymin:0,ymax:0,pts:[],contains:function(t,r,n,i){var a=e.searchInfo.cd[0].trace.index,o=i.cd[0].trace.index;return o===a&&n===e.pointNumber},isRect:!1,degenerate:!1,subtract:!!e.subtract}}function TN(e){if(!e.length)return;for(var t=[],r=gN(e[0])?0:e[0][0][0],n=r,i=gN(e[0])?0:e[0][0][1],a=i,o=0;o<e.length;o++)if(gN(e[o]))t.push(Hct(e[o]));else{var s=xN(e[o]);s.subtract=!!e[o].subtract,t.push(s),r=Math.min(r,s.xmin),n=Math.max(n,s.xmax),i=Math.min(i,s.ymin),a=Math.max(a,s.ymax)}function l(u,c,f,h){for(var d=!1,v=0;v<t.length;v++)t[v].contains(u,c,f,h)&&(d=!t[v].subtract);return d}return{xmin:r,xmax:n,ymin:i,ymax:a,pts:[],contains:l,isRect:!1,degenerate:!1}}function cfe(e,t,r){var n=t._fullLayout,i=r.plotinfo,a=r.dragmode,o=n._lastSelectedSubplot&&n._lastSelectedSubplot===i.id,s=(e.shiftKey||e.altKey)&&!(MM(a)&&yN(a));o&&s&&i.selection&&i.selection.selectionDefs&&!r.selectionDefs?(r.selectionDefs=i.selection.selectionDefs,r.mergedPolygons=i.selection.mergedPolygons):(!s||!i.selection)&&EM(r),o||(ofe(t),n._lastSelectedSubplot=i.id)}function Gct(e){return e._fullLayout._activeShapeIndex>=0}function jct(e){return e._fullLayout._activeSelectionIndex>=0}function EM(e,t){var r=e.dragmode,n=e.plotinfo,i=e.gd;Gct(i)&&i._fullLayout._deactivateShape(i),jct(i)&&i._fullLayout._deactivateSelection(i);var a=i._fullLayout,o=a._zoomlayer,s=MM(r),l=_N(r);if(s||l){var u=o.selectAll(\".select-outline-\"+n.id);if(u&&i._fullLayout._outlining){var c;s&&(c=Ict(u,e)),c&&SM.call(\"_guiRelayout\",i,{shapes:c});var f;l&&!wN(e)&&(f=Rct(u,e)),f&&(i._fullLayout._noEmitSelectedAtStart=!0,SM.call(\"_guiRelayout\",i,{selections:f}).then(function(){t&&Dct(i)})),i._fullLayout._outlining=!1}}n.selection={},n.selection.selectionDefs=e.selectionDefs=[],n.selection.mergedPolygons=e.mergedPolygons=[]}function rfe(e){return e._id}function gP(e,t,r,n){if(!e.calcdata)return[];var i=[],a=t.map(rfe),o=r.map(rfe),s,l,u;for(u=0;u<e.calcdata.length;u++)if(s=e.calcdata[u],l=s[0].trace,!(l.visible!==!0||!l._module||!l._module.selectPoints))if(wN({subplot:n})&&(l.subplot===n||l.geo===n))i.push(dP(l._module,s,t[0],r[0]));else if(l.type===\"splom\"){if(l._xaxes[a[0]]&&l._yaxes[o[0]]){var c=dP(l._module,s,t[0],r[0]);c.scene=e._fullLayout._splomScenes[l.uid],i.push(c)}}else if(l.type===\"sankey\"){var f=dP(l._module,s,t[0],r[0]);i.push(f)}else{if(a.indexOf(l.xaxis)===-1&&(!l._xA||!l._xA.overlaying)||o.indexOf(l.yaxis)===-1&&(!l._yA||!l._yA.overlaying))continue;i.push(dP(l._module,s,k0(e,l.xaxis),k0(e,l.yaxis)))}return i}function dP(e,t,r,n){return{_module:e,cd:t,xaxis:r,yaxis:n}}function Wct(e){return e&&Array.isArray(e)&&e[0].hoverOnBox!==!0}function Zct(e,t){var r=e[0],n=-1,i=[],a,o;for(o=0;o<t.length;o++)if(a=t[o],r.fullData.index===a.cd[0].trace.index){if(r.hoverOnBox===!0)break;r.pointNumber!==void 0?n=r.pointNumber:r.binNumber!==void 0&&(n=r.binNumber,i=r.pointNumbers);break}return{pointNumber:n,pointNumbers:i,searchInfo:a}}function ife(e){var t=e.searchInfo.cd[0].trace,r=e.pointNumber,n=e.pointNumbers,i=n.length>0,a=i?n[0]:r;return t.selectedpoints?t.selectedpoints.indexOf(a)>-1:!1}function Xct(e,t){var r=[],n,i,a,o;for(o=0;o<e.length;o++)n=e[o],n.cd[0].trace.selectedpoints&&n.cd[0].trace.selectedpoints.length>0&&r.push(n);if(r.length===1&&(a=r[0]===t.searchInfo,a&&(i=t.searchInfo.cd[0].trace,i.selectedpoints.length===t.pointNumbers.length))){for(o=0;o<t.pointNumbers.length;o++)if(i.selectedpoints.indexOf(t.pointNumbers[o])<0)return!1;return!0}return!1}function Yct(e){var t=0,r,n,i;for(i=0;i<e.length;i++)if(r=e[i],n=r.cd[0].trace,n.selectedpoints&&(n.selectedpoints.length>1||(t+=n.selectedpoints.length,t>1)))return!1;return t===1}function kM(e,t,r){var n;for(n=0;n<t.length;n++){var i=t[n].cd[0].trace._fullInput,a=e._fullLayout._tracePreGUI[i.uid]||{};a.selectedpoints===void 0&&(a.selectedpoints=i._input.selectedpoints||null)}var o;if(r){var s=r.points||[];for(n=0;n<t.length;n++)o=t[n].cd[0].trace,o._input.selectedpoints=o._fullInput.selectedpoints=[],o._fullInput!==o&&(o.selectedpoints=[]);for(var l=0;l<s.length;l++){var u=s[l],c=u.data,f=u.fullData,h=u.pointIndex,d=u.pointIndices;d?([].push.apply(c.selectedpoints,d),o._fullInput!==o&&[].push.apply(f.selectedpoints,d)):(c.selectedpoints.push(h),o._fullInput!==o&&f.selectedpoints.push(h))}}else for(n=0;n<t.length;n++)o=t[n].cd[0].trace,delete o.selectedpoints,delete o._input.selectedpoints,o._fullInput!==o&&delete o._fullInput.selectedpoints;Kct(e,t)}function Kct(e,t){for(var r=!1,n=0;n<t.length;n++){var i=t[n],a=i.cd;SM.traceIs(a[0].trace,\"regl\")&&(r=!0);var o=i._module,s=o.styleOnSelect||o.style;s&&(s(e,a,a[0].node3),a[0].nodeRangePlot3&&s(e,a,a[0].nodeRangePlot3))}r&&(Fct(e),qct(e))}function ffe(e,t,r){for(var n=r?$ce.difference:$ce.union,i=n({regions:e},{regions:[t]}),a=i.regions.reverse(),o=0;o<a.length;o++){var s=a[o];s.subtract=AN(s,a.slice(0,o))}return a}function hfe(e,t){if(Array.isArray(e))for(var r=t.cd,n=t.cd[0].trace,i=0;i<e.length;i++)e[i]=kct(e[i],n,r);return e}function dfe(e,t){for(var r=[],n=0;n<e.length;n++){r[n]=[];for(var i=0;i<e[n].length;i++){r[n][i]=[],r[n][i][0]=i?\"L\":\"M\";for(var a=0;a<e[n][i].length;a++)r[n][i].push(e[n][i][a])}t||r[n].push([\"Z\",r[n][0][1],r[n][0][2]])}return r}function vfe(e,t){for(var r=[],n,i=[],a,o=0;o<t.length;o++){var s=t[o];a=s._module.selectPoints(s,e),i.push(a),n=hfe(a,s),r=r.concat(n)}return r}function mN(e,t,r,n,i){var a=!!n,o,s,l;i&&(o=i.plotinfo,s=i.xaxes[0]._id,l=i.yaxes[0]._id);var u=[],c=[],f=nfe(e),h=e._fullLayout;if(o){var d=h._zoomlayer,v=h.dragmode,x=MM(v),b=_N(v);if(x||b){var p=k0(e,s,\"x\"),E=k0(e,l,\"y\");if(p&&E){var k=d.selectAll(\".select-outline-\"+o.id);if(k&&e._fullLayout._outlining&&k.length){for(var A=k[0][0],L=A.getAttribute(\"d\"),_=Pct(L,e,o),C=[],M=0;M<_.length;M++){for(var g=_[M],P=[],T=0;T<g.length;T++)P.push([d_(p,g[T][1]),d_(E,g[T][2])]);P.xref=s,P.yref=l,P.subtract=AN(P,C),C.push(P)}f=f.concat(C)}}}}var F=s&&l?[s+l]:h._subplots.cartesian;Jct(e);for(var q={},V=0;V<F.length;V++){var H=F[V],X=H.indexOf(\"y\"),G=H.slice(0,X),N=H.slice(X),W=s&&l?r:void 0;if(W=Qct(f,G,N,W),W){var re=n;if(!a){var ae=k0(e,G,\"x\"),_e=k0(e,N,\"y\");re=gP(e,[ae],[_e],H);for(var Me=0;Me<re.length;Me++){var ke=re[Me],ge=ke.cd[0],ie=ge.trace;if(ke._module.name===\"scattergl\"&&!ge.t.xpx){var Te=ie.x,Ee=ie.y,Ae=ie._length;ge.t.xpx=[],ge.t.ypx=[];for(var ze=0;ze<Ae;ze++)ge.t.xpx[ze]=ae.c2p(Te[ze]),ge.t.ypx[ze]=_e.c2p(Ee[ze])}ke._module.name===\"splom\"&&(q[ie.uid]||(q[ie.uid]=!0))}}var Ce=vfe(W,re);u=u.concat(Ce),c=c.concat(re)}}var me={points:u};kM(e,c,me);var Re=h.clickmode,ce=Re.indexOf(\"event\")>-1&&t;if(!o&&t){var Ge=nfe(e,!0);if(Ge.length){var nt=Ge[0].xref,ct=Ge[0].yref;if(nt&&ct){var qt=gfe(Ge),rt=mfe([k0(e,nt,\"x\"),k0(e,ct,\"y\")]);rt(me,qt)}}e._fullLayout._noEmitSelectedAtStart?e._fullLayout._noEmitSelectedAtStart=!1:ce&&CM(e,me),h._reselect=!1}if(!o&&h._deselect){var ot=h._deselect;s=ot.xref,l=ot.yref,$ct(s,l,c)||pfe(e,s,l,n),ce&&(me.points.length?CM(e,me):SN(e)),h._deselect=!1}return{eventData:me,selectionTesters:r}}function Jct(e){var t=e.calcdata;if(t)for(var r=0;r<t.length;r++){var n=t[r][0],i=n.trace,a=e._fullLayout._splomScenes;if(a){var o=a[i.uid];o&&(o.selectBatch=[])}}}function $ct(e,t,r){for(var n=0;n<r.length;n++){var i=r[n];if(i.xaxis&&i.xaxis._id===e&&i.yaxis&&i.yaxis._id===t)return!0}return!1}function pfe(e,t,r,n){n=gP(e,[k0(e,t,\"x\")],[k0(e,r,\"y\")],t+r);for(var i=0;i<n.length;i++){var a=n[i];a._module.selectPoints(a,!1)}kM(e,n)}function Qct(e,t,r,n){for(var i,a=0;a<e.length;a++){var o=e[a];if(!(t!==o.xref||r!==o.yref))if(i){var s=!!o.subtract;i=ffe(i,o,s),n=TN(i)}else i=[o],n=xN(o)}return n}function nfe(e,t){for(var r=[],n=e._fullLayout,i=n.selections,a=i.length,o=0;o<a;o++)if(!(t&&o!==n._activeSelectionIndex)){var s=i[o];if(s){var l=s.xref,u=s.yref,c=k0(e,l,\"x\"),f=k0(e,u,\"y\"),h,d,v,x,b;if(s.type===\"rect\"){b=[];var p=d_(c,s.x0),E=d_(c,s.x1),k=d_(f,s.y0),A=d_(f,s.y1);b=[[p,k],[p,A],[E,A],[E,k]],h=Math.min(p,E),d=Math.max(p,E),v=Math.min(k,A),x=Math.max(k,A),b.xmin=h,b.xmax=d,b.ymin=v,b.ymax=x,b.xref=l,b.yref=u,b.subtract=!1,b.isRect=!0,r.push(b)}else if(s.type===\"path\")for(var L=s.path.split(\"Z\"),_=[],C=0;C<L.length;C++){var M=L[C];if(M){M+=\"Z\";var g=Qce.extractPathCoords(M,efe.paramIsX,\"raw\"),P=Qce.extractPathCoords(M,efe.paramIsY,\"raw\");h=1/0,d=-1/0,v=1/0,x=-1/0,b=[];for(var T=0;T<g.length;T++){var F=d_(c,g[T]),q=d_(f,P[T]);b.push([F,q]),h=Math.min(F,h),d=Math.max(F,d),v=Math.min(q,v),x=Math.max(q,x)}b.xmin=h,b.xmax=d,b.ymin=v,b.ymax=x,b.xref=l,b.yref=u,b.subtract=AN(b,_),_.push(b),r.push(b)}}}}return r}function AN(e,t){for(var r=!1,n=0;n<t.length;n++)for(var i=t[n],a=0;a<e.length;a++)if(Sct(e[a],i)){r=!r;break}return r}function d_(e,t){return e.type===\"date\"&&(t=t.replace(\"_\",\" \")),e.type===\"log\"?e.c2p(t):e.r2p(t,null,e.calendar)}function gfe(e){for(var t=e.length,r=[],n=0;n<t;n++){var i=e[n];r=r.concat(i),r=r.concat([i[0]])}return eft(r)}function eft(e){return e.isRect=e.length===5&&e[0][0]===e[4][0]&&e[0][1]===e[4][1]&&e[0][0]===e[1][0]&&e[2][0]===e[3][0]&&e[0][1]===e[3][1]&&e[1][1]===e[2][1]||e[0][1]===e[1][1]&&e[2][1]===e[3][1]&&e[0][0]===e[3][0]&&e[1][0]===e[2][0],e.isRect&&(e.xmin=Math.min(e[0][0],e[2][0]),e.xmax=Math.max(e[0][0],e[2][0]),e.ymin=Math.min(e[0][1],e[2][1]),e.ymax=Math.max(e[0][1],e[2][1])),e}function mfe(e){return function(t,r){for(var n,i,a=0;a<e.length;a++){var o=e[a],s=o._id,l=s.charAt(0);if(r.isRect){n||(n={});var u=r[l+\"min\"],c=r[l+\"max\"];u!==void 0&&c!==void 0&&(n[s]=[tfe(o,u),tfe(o,c)].sort(zct))}else i||(i={}),i[s]=r.map(Bct(o))}n&&(t.range=n),i&&(t.lassoPoints=i)}}function tft(e){var t=e.plotinfo;return t.fillRangeItems||mfe(e.xaxes.concat(e.yaxes))}function rft(e,t){e.emit(\"plotly_selecting\",t)}function CM(e,t){t&&(t.selections=(e.layout||{}).selections||[]),e.emit(\"plotly_selected\",t)}function SN(e){e.emit(\"plotly_deselect\",null)}yfe.exports={reselect:mN,prepSelect:Uct,clearOutline:ofe,clearSelectionsCache:EM,selectOnClick:ufe}});var MN=ye((Oir,xfe)=>{\"use strict\";xfe.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}]});var PM=ye((Bir,bfe)=>{\"use strict\";bfe.exports={axisRefDescription:function(e,t,r){return[\"If set to a\",e,\"axis id (e.g. *\"+e+\"* or\",\"*\"+e+\"2*), the `\"+e+\"` position refers to a\",e,\"coordinate. If set to *paper*, the `\"+e+\"`\",\"position refers to the distance from the\",t,\"of the plotting\",\"area in normalized coordinates where *0* (*1*) corresponds to the\",t,\"(\"+r+\"). If set to a\",e,\"axis ID followed by\",\"*domain* (separated by a space), the position behaves like for\",\"*paper*, but refers to the distance in fractions of the domain\",\"length from the\",t,\"of the domain of that axis: e.g.,\",\"*\"+e+\"2 domain* refers to the domain of the second\",e,\" axis and a\",e,\"position of 0.5 refers to the\",\"point between the\",t,\"and the\",r,\"of the domain of the\",\"second\",e,\"axis.\"].join(\" \")}}});var Nb=ye((Uir,Afe)=>{\"use strict\";var wfe=MN(),Tfe=Su(),mP=ad(),ift=Vs().templatedArray,Nir=PM();Afe.exports=ift(\"annotation\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},text:{valType:\"string\",editType:\"calc+arraydraw\"},textangle:{valType:\"angle\",dflt:0,editType:\"calc+arraydraw\"},font:Tfe({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:wfe.length,dflt:1,editType:\"arraydraw\"},startarrowhead:{valType:\"integer\",min:0,max:wfe.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\",mP.idRegex.x.toString()],editType:\"calc\"},ayref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",mP.idRegex.y.toString()],editType:\"calc\"},xref:{valType:\"enumerated\",values:[\"paper\",mP.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\",mP.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:Tfe({editType:\"arraydraw\"}),editType:\"arraydraw\"},captureevents:{valType:\"boolean\",editType:\"arraydraw\"},editType:\"calc\"})});var Sm=ye((Vir,Sfe)=>{\"use strict\";Sfe.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}});var Eg=ye((Hir,Mfe)=>{\"use strict\";Mfe.exports=function(t){return{valType:\"color\",editType:\"style\",anim:!0}}});var Uc=ye((Gir,Ife)=>{\"use strict\";var Efe=Oc().axisHoverFormat,nft=Wo().texttemplateAttrs,aft=Wo().hovertemplateAttrs,kfe=Jl(),oft=Su(),sft=Ed().dash,lft=Ed().pattern,uft=ao(),cft=Sm(),yP=no().extendFlat,fft=Eg();function Cfe(e){return{valType:\"any\",dflt:0,editType:\"calc\"}}function Lfe(e){return{valType:\"any\",editType:\"calc\"}}function Pfe(e){return{valType:\"enumerated\",values:[\"start\",\"middle\",\"end\"],dflt:\"middle\",editType:\"calc\"}}Ife.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\",anim:!0},x0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\",anim:!0},dx:{valType:\"number\",dflt:1,editType:\"calc\",anim:!0},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\",anim:!0},y0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\",anim:!0},dy:{valType:\"number\",dflt:1,editType:\"calc\",anim:!0},xperiod:Cfe(\"x\"),yperiod:Cfe(\"y\"),xperiod0:Lfe(\"x0\"),yperiod0:Lfe(\"y0\"),xperiodalignment:Pfe(\"x\"),yperiodalignment:Pfe(\"y\"),xhoverformat:Efe(\"x\"),yhoverformat:Efe(\"y\"),offsetgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},alignmentgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},stackgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc\"},groupnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\",editType:\"calc\"},stackgaps:{valType:\"enumerated\",values:[\"infer zero\",\"interpolate\"],dflt:\"infer zero\",editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},texttemplate:nft({},{}),hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"],editType:\"calc\"},hoveron:{valType:\"flaglist\",flags:[\"points\",\"fills\"],editType:\"style\"},hovertemplate:aft({},{keys:cft.eventDataKeys}),line:{color:{valType:\"color\",editType:\"style\",anim:!0},width:{valType:\"number\",min:0,dflt:2,editType:\"style\",anim:!0},shape:{valType:\"enumerated\",values:[\"linear\",\"spline\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\",editType:\"plot\"},smoothing:{valType:\"number\",min:0,max:1.3,dflt:1,editType:\"plot\"},dash:yP({},sft,{editType:\"style\"}),backoff:{valType:\"number\",min:0,dflt:\"auto\",arrayOk:!0,editType:\"plot\"},simplify:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cliponaxis:{valType:\"boolean\",dflt:!0,editType:\"plot\"},fill:{valType:\"enumerated\",values:[\"none\",\"tozeroy\",\"tozerox\",\"tonexty\",\"tonextx\",\"toself\",\"tonext\"],editType:\"calc\"},fillcolor:fft(!0),fillgradient:yP({type:{valType:\"enumerated\",values:[\"radial\",\"horizontal\",\"vertical\",\"none\"],dflt:\"none\",editType:\"calc\"},start:{valType:\"number\",editType:\"calc\"},stop:{valType:\"number\",editType:\"calc\"},colorscale:{valType:\"colorscale\",editType:\"style\"},editType:\"calc\"}),fillpattern:lft,marker:yP({symbol:{valType:\"enumerated\",values:uft.symbolList,dflt:\"circle\",arrayOk:!0,editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,arrayOk:!0,editType:\"style\",anim:!0},angle:{valType:\"angle\",dflt:0,arrayOk:!0,editType:\"plot\",anim:!1},angleref:{valType:\"enumerated\",values:[\"previous\",\"up\"],dflt:\"up\",editType:\"plot\",anim:!1},standoff:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"plot\",anim:!0},size:{valType:\"number\",min:0,dflt:6,arrayOk:!0,editType:\"calc\",anim:!0},maxdisplayed:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},sizeref:{valType:\"number\",dflt:1,editType:\"calc\"},sizemin:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},sizemode:{valType:\"enumerated\",values:[\"diameter\",\"area\"],dflt:\"diameter\",editType:\"calc\"},line:yP({width:{valType:\"number\",min:0,arrayOk:!0,editType:\"style\",anim:!0},editType:\"calc\"},kfe(\"marker.line\",{anim:!0})),gradient:{type:{valType:\"enumerated\",values:[\"radial\",\"horizontal\",\"vertical\",\"none\"],arrayOk:!0,dflt:\"none\",editType:\"calc\"},color:{valType:\"color\",arrayOk:!0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},kfe(\"marker\",{anim:!0})),selected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},unselected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\"],dflt:\"middle center\",arrayOk:!0,editType:\"calc\"},textfont:oft({editType:\"calc\",colorEditType:\"style\",arrayOk:!0}),zorder:{valType:\"integer\",dflt:0,editType:\"plot\"}}});var EN=ye((Wir,zfe)=>{\"use strict\";var Rfe=Nb(),Dfe=Uc().line,hft=Ed().dash,_P=no().extendFlat,dft=Bu().overrideAll,vft=Vs().templatedArray,jir=PM();zfe.exports=dft(vft(\"selection\",{type:{valType:\"enumerated\",values:[\"rect\",\"path\"]},xref:_P({},Rfe.xref,{}),yref:_P({},Rfe.yref,{}),x0:{valType:\"any\"},x1:{valType:\"any\"},y0:{valType:\"any\"},y1:{valType:\"any\"},path:{valType:\"string\",editType:\"arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:.7,editType:\"arraydraw\"},line:{color:Dfe.color,width:_P({},Dfe.width,{min:1,dflt:1}),dash:_P({},hft,{dflt:\"dot\"})}}),\"arraydraw\",\"from-root\")});var Bfe=ye((Zir,Ofe)=>{\"use strict\";var Ffe=Mr(),xP=Qa(),pft=Zd(),gft=EN(),qfe=h_();Ofe.exports=function(t,r){pft(t,r,{name:\"selections\",handleItemDefaults:mft});for(var n=r.selections,i=0;i<n.length;i++){var a=n[i];a&&a.path===void 0&&(a.x0===void 0||a.x1===void 0||a.y0===void 0||a.y1===void 0)&&(r.selections[i]=null)}};function mft(e,t,r){function n(_,C){return Ffe.coerce(e,t,gft,_,C)}var i=n(\"path\"),a=i?\"path\":\"rect\",o=n(\"type\",a),s=o!==\"path\";s&&delete t.path,n(\"opacity\"),n(\"line.color\"),n(\"line.width\"),n(\"line.dash\");for(var l=[\"x\",\"y\"],u=0;u<2;u++){var c=l[u],f={_fullLayout:r},h,d,v,x=xP.coerceRef(e,t,f,c);if(h=xP.getFromId(f,x),h._selectionIndices.push(t._index),v=qfe.rangeToShapePosition(h),d=qfe.shapePositionToRange(h),s){var b=c+\"0\",p=c+\"1\",E=e[b],k=e[p];e[b]=d(e[b],!0),e[p]=d(e[p],!0),xP.coercePosition(t,f,n,x,b),xP.coercePosition(t,f,n,x,p);var A=t[b],L=t[p];A!==void 0&&L!==void 0&&(t[b]=v(A),t[p]=v(L),e[b]=E,e[p]=k)}}s&&Ffe.noneOrAll(e,t,[\"x0\",\"x1\",\"y0\",\"y1\"])}});var Ufe=ye((Xir,Nfe)=>{\"use strict\";Nfe.exports=function(t,r,n){n(\"newselection.mode\");var i=n(\"newselection.line.width\");i&&(n(\"newselection.line.color\"),n(\"newselection.line.dash\")),n(\"activeselection.fillcolor\"),n(\"activeselection.opacity\")}});var IM=ye((Yir,Gfe)=>{\"use strict\";var yft=ba(),Vfe=Mr(),Hfe=af();Gfe.exports=function(t){return function(n,i){var a=n[t];if(Array.isArray(a))for(var o=yft.subplotsRegistry.cartesian,s=o.idRegex,l=i._subplots,u=l.xaxis,c=l.yaxis,f=l.cartesian,h=i._has(\"cartesian\"),d=0;d<a.length;d++){var v=a[d];if(Vfe.isPlainObject(v)){var x=Hfe.cleanId(v.xref,\"x\",!1),b=Hfe.cleanId(v.yref,\"y\",!1),p=s.x.test(x),E=s.y.test(b);if(p||E){h||Vfe.pushUnique(i._basePlotModules,o);var k=!1;p&&u.indexOf(x)===-1&&(u.push(x),k=!0),E&&c.indexOf(b)===-1&&(c.push(b),k=!0),k&&p&&E&&f.push(x+b)}}}}}});var wf=ye((Kir,Wfe)=>{\"use strict\";var jfe=dN(),RM=_fe();Wfe.exports={moduleType:\"component\",name:\"selections\",layoutAttributes:EN(),supplyLayoutDefaults:Bfe(),supplyDrawNewSelectionDefaults:Ufe(),includeBasePlot:IM()(\"selections\"),draw:jfe.draw,drawOne:jfe.drawOne,reselect:RM.reselect,prepSelect:RM.prepSelect,clearOutline:RM.clearOutline,clearSelectionsCache:RM.clearSelectionsCache,selectOnClick:RM.selectOnClick}});var DN=ye((Jir,hhe)=>{\"use strict\";var IN=xa(),C0=Mr(),Zfe=C0.numberFormat,_ft=id(),xft=kL(),bP=ba(),rhe=C0.strTranslate,bft=Pl(),Xfe=va(),v_=ao(),wft=Nc(),Yfe=Qa(),Tft=Tg(),Aft=gv(),ihe=Sg(),wP=ihe.selectingOrDrawing,Sft=ihe.freeMode,Mft=Nh().FROM_TL,Eft=lM(),kft=gM().redrawReglTraces,Cft=Xu(),CN=af().getFromId,Lft=wf().prepSelect,Pft=wf().clearOutline,Ift=wf().selectOnClick,kN=aN(),RN=ad(),Kfe=RN.MINDRAG,np=RN.MINZOOM,Jfe=!0;function Rft(e,t,r,n,i,a,o,s){var l=e._fullLayout._zoomlayer,u=o+s===\"nsew\",c=(o+s).length===1,f,h,d,v,x,b,p,E,k,A,L,_,C,M,g,P,T,F,q,V,H,X,G;r+=t.yaxis._shift;function N(){if(f=t.xaxis,h=t.yaxis,k=f._length,A=h._length,p=f._offset,E=h._offset,d={},d[f._id]=f,v={},v[h._id]=h,o&&s)for(var Et=t.overlays,dt=0;dt<Et.length;dt++){var Ht=Et[dt].xaxis;d[Ht._id]=Ht;var $t=Et[dt].yaxis;v[$t._id]=$t}x=the(d),b=the(v),C=$fe(x,s),M=$fe(b,o),g=!M&&!C,_=ehe(e,e._fullLayout._axisMatchGroups,d,v),L=ehe(e,e._fullLayout._axisConstraintGroups,d,v,_);var fr=L.isSubplotConstrained||_.isSubplotConstrained;P=s||fr,T=o||fr;var _r=e._fullLayout;F=_r._has(\"scattergl\"),q=_r._has(\"splom\"),V=_r._has(\"svg\")}N();var W=Fft(M+C,e._fullLayout.dragmode,u),re=ahe(t,o+s+\"drag\",W,r,n,i,a);if(g&&!u)return re.onmousedown=null,re.style.pointerEvents=\"none\",re;var ae={element:re,gd:e,plotinfo:t};ae.prepFn=function(Et,dt,Ht){var $t=ae.dragmode,fr=e._fullLayout.dragmode;fr!==$t&&(ae.dragmode=fr),N(),X=e._fullLayout._invScaleX,G=e._fullLayout._invScaleY,g||(u?Et.shiftKey?fr===\"pan\"?fr=\"zoom\":wP(fr)||(fr=\"pan\"):Et.ctrlKey&&(fr=\"pan\"):fr=\"pan\"),Sft(fr)?ae.minDrag=1:ae.minDrag=void 0,wP(fr)?(ae.xaxes=x,ae.yaxes=b,Lft(Et,dt,Ht,ae,fr)):(ae.clickFn=Me,wP($t)&&_e(),g||(fr===\"zoom\"?(ae.moveFn=Ge,ae.doneFn=ct,ae.minDrag=1,ce(Et,dt,Ht)):fr===\"pan\"&&(ae.moveFn=Ct,ae.doneFn=Ke))),e._fullLayout._redrag=function(){var _r=e._dragdata;if(_r&&_r.element===re){var Br=e._fullLayout.dragmode;wP(Br)||(N(),xt([0,0,k,A]),ae.moveFn(_r.dx,_r.dy))}}};function _e(){ae.plotinfo.selection=!1,Pft(e)}function Me(Et,dt){var Ht=ae.gd;if(Ht._fullLayout._activeShapeIndex>=0){Ht._fullLayout._deactivateShape(Ht);return}var $t=Ht._fullLayout.clickmode;if(PN(Ht),Et===2&&!c&&er(),u)$t.indexOf(\"select\")>-1&&Ift(dt,Ht,x,b,t.id,ae),$t.indexOf(\"event\")>-1&&wft.click(Ht,dt,t.id);else if(Et===1&&c){var fr=o?h:f,_r=o===\"s\"||s===\"w\"?0:1,Br=fr._name+\".range[\"+_r+\"]\",Or=Dft(fr,_r),Nr=\"left\",ut=\"middle\";if(fr.fixedrange)return;o?(ut=o===\"n\"?\"top\":\"bottom\",fr.side===\"right\"&&(Nr=\"right\")):s===\"e\"&&(Nr=\"right\"),Ht._context.showAxisRangeEntryBoxes&&IN.select(re).call(bft.makeEditable,{gd:Ht,immediate:!0,background:Ht._fullLayout.paper_bgcolor,text:String(Or),fill:fr.tickfont?fr.tickfont.color:\"#444\",horizontalAlign:Nr,verticalAlign:ut}).on(\"edit\",function(Ne){var Ye=fr.d2r(Ne);Ye!==void 0&&bP.call(\"_guiRelayout\",Ht,Br,Ye)})}}Aft.init(ae);var ke,ge,ie,Te,Ee,Ae,ze,Ce,me,Re;function ce(Et,dt,Ht){var $t=re.getBoundingClientRect();ke=dt-$t.left,ge=Ht-$t.top,e._fullLayout._calcInverseTransform(e);var fr=C0.apply3DTransform(e._fullLayout._invTransform)(ke,ge);ke=fr[0],ge=fr[1],ie={l:ke,r:ke,w:0,t:ge,b:ge,h:0},Te=e._hmpixcount?e._hmlumcount/e._hmpixcount:_ft(e._fullLayout.plot_bgcolor).getLuminance(),Ee=\"M0,0H\"+k+\"V\"+A+\"H0V0\",Ae=!1,ze=\"xy\",Re=!1,Ce=ohe(l,Te,p,E,Ee),me=she(l,p,E)}function Ge(Et,dt){if(e._transitioningWithDuration)return!1;var Ht=Math.max(0,Math.min(k,X*Et+ke)),$t=Math.max(0,Math.min(A,G*dt+ge)),fr=Math.abs(Ht-ke),_r=Math.abs($t-ge);ie.l=Math.min(ke,Ht),ie.r=Math.max(ke,Ht),ie.t=Math.min(ge,$t),ie.b=Math.max(ge,$t);function Br(){ze=\"\",ie.r=ie.l,ie.t=ie.b,me.attr(\"d\",\"M0,0Z\")}if(L.isSubplotConstrained)fr>np||_r>np?(ze=\"xy\",fr/k>_r/A?(_r=fr*A/k,ge>$t?ie.t=ge-_r:ie.b=ge+_r):(fr=_r*k/A,ke>Ht?ie.l=ke-fr:ie.r=ke+fr),me.attr(\"d\",TP(ie))):Br();else if(_.isSubplotConstrained)if(fr>np||_r>np){ze=\"xy\";var Or=Math.min(ie.l/k,(A-ie.b)/A),Nr=Math.max(ie.r/k,(A-ie.t)/A);ie.l=Or*k,ie.r=Nr*k,ie.b=(1-Or)*A,ie.t=(1-Nr)*A,me.attr(\"d\",TP(ie))}else Br();else!M||_r<Math.min(Math.max(fr*.6,Kfe),np)?fr<Kfe||!C?Br():(ie.t=0,ie.b=A,ze=\"x\",me.attr(\"d\",qft(ie,ge))):!C||fr<Math.min(_r*.6,np)?(ie.l=0,ie.r=k,ze=\"y\",me.attr(\"d\",Oft(ie,ke))):(ze=\"xy\",me.attr(\"d\",TP(ie)));ie.w=ie.r-ie.l,ie.h=ie.b-ie.t,ze&&(Re=!0),e._dragged=Re,lhe(Ce,me,ie,Ee,Ae,Te),nt(),e.emit(\"plotly_relayouting\",H),Ae=!0}function nt(){H={},(ze===\"xy\"||ze===\"x\")&&(LN(x,ie.l/k,ie.r/k,H,L.xaxes),Yt(\"x\",H)),(ze===\"xy\"||ze===\"y\")&&(LN(b,(A-ie.b)/A,(A-ie.t)/A,H,L.yaxes),Yt(\"y\",H))}function ct(){nt(),PN(e),Ke(),che(e)}var qt=[0,0,k,A],rt=null,ot=RN.REDRAWDELAY,Rt=t.mainplot?e._fullLayout._plots[t.mainplot]:t;function kt(Et){if(!e._context._scrollZoom.cartesian&&!e._fullLayout._enablescrollzoom)return;if(_e(),e._transitioningWithDuration){Et.preventDefault(),Et.stopPropagation();return}N(),clearTimeout(rt);var dt=-Et.deltaY;if(isFinite(dt)||(dt=Et.wheelDelta/10),!isFinite(dt)){C0.log(\"Did not find wheel motion attributes: \",Et);return}var Ht=Math.exp(-Math.min(Math.max(dt,-20),20)/200),$t=Rt.draglayer.select(\".nsewdrag\").node().getBoundingClientRect(),fr=(Et.clientX-$t.left)/$t.width,_r=($t.bottom-Et.clientY)/$t.height,Br;function Or(Nr,ut,Ne){if(Nr.fixedrange)return;var Ye=C0.simpleMap(Nr.range,Nr.r2l),Ve=Ye[0]+(Ye[1]-Ye[0])*ut;function Xe(ht){return Nr.l2r(Ve+(ht-Ve)*Ne)}Nr.range=Ye.map(Xe)}if(P){for(s||(fr=.5),Br=0;Br<x.length;Br++)Or(x[Br],fr,Ht);Yt(\"x\"),qt[2]*=Ht,qt[0]+=qt[2]*fr*(1/Ht-1)}if(T){for(o||(_r=.5),Br=0;Br<b.length;Br++)Or(b[Br],_r,Ht);Yt(\"y\"),qt[3]*=Ht,qt[1]+=qt[3]*(1-_r)*(1/Ht-1)}xt(qt),xr(),e.emit(\"plotly_relayouting\",H),rt=setTimeout(function(){e._fullLayout&&(qt=[0,0,k,A],Ke())},ot),Et.preventDefault()}o.length*s.length!==1&&fhe(re,kt);function Ct(Et,dt){if(Et=Et*X,dt=dt*G,e._transitioningWithDuration)return;if(e._fullLayout._replotting=!0,C===\"ew\"||M===\"ns\"){var Ht=C?-Et:0,$t=M?-dt:0;if(_.isSubplotConstrained){if(C&&M){var fr=(Et/k-dt/A)/2;Et=fr*k,dt=-fr*A,Ht=-Et,$t=-dt}M?Ht=-$t*k/A:$t=-Ht*A/k}C&&(Qfe(x,Et),Yt(\"x\")),M&&(Qfe(b,dt),Yt(\"y\")),xt([Ht,$t,k,A]),xr(),e.emit(\"plotly_relayouting\",H);return}function _r(Xe,ht,Le){for(var xe=1-ht,Se,lt,Gt=0;Gt<Xe.length;Gt++){var Vt=Xe[Gt];if(!Vt.fixedrange){Se=Vt,lt=Vt._rl[xe]+(Vt._rl[ht]-Vt._rl[xe])/zft(Le/Vt._length);var ar=Vt.l2r(lt);ar!==!1&&ar!==void 0&&(Vt.range[ht]=ar)}}return Se._length*(Se._rl[ht]-lt)/(Se._rl[ht]-Se._rl[xe])}var Br=C===\"w\"==(M===\"n\")?1:-1;if(C&&M&&(L.isSubplotConstrained||_.isSubplotConstrained)){var Or=(Et/k+Br*dt/A)/2;Et=Or*k,dt=Br*Or*A}var Nr,ut;if(C===\"w\"?Et=_r(x,0,Et):C===\"e\"?Et=_r(x,1,-Et):C||(Et=0),M===\"n\"?dt=_r(b,1,dt):M===\"s\"?dt=_r(b,0,-dt):M||(dt=0),Nr=C===\"w\"?Et:0,ut=M===\"n\"?dt:0,L.isSubplotConstrained&&!_.isSubplotConstrained||_.isSubplotConstrained&&C&&M&&Br>0){var Ne;if(_.isSubplotConstrained||!C&&M.length===1){for(Ne=0;Ne<x.length;Ne++)x[Ne].range=x[Ne]._r.slice(),kN(x[Ne],1-dt/A);Et=dt*k/A,Nr=Et/2}if(_.isSubplotConstrained||!M&&C.length===1){for(Ne=0;Ne<b.length;Ne++)b[Ne].range=b[Ne]._r.slice(),kN(b[Ne],1-Et/k);dt=Et*A/k,ut=dt/2}}(!_.isSubplotConstrained||!M)&&Yt(\"x\"),(!_.isSubplotConstrained||!C)&&Yt(\"y\");var Ye=k-Et,Ve=A-dt;_.isSubplotConstrained&&!(C&&M)&&(C?(ut=Nr?0:Et*A/k,Ve=Ye*A/k):(Nr=ut?0:dt*k/A,Ye=Ve*k/A)),xt([Nr,ut,Ye,Ve]),xr(),e.emit(\"plotly_relayouting\",H)}function Yt(Et,dt){for(var Ht=_.isSubplotConstrained?{x:b,y:x}[Et]:_[Et+\"axes\"],$t=_.isSubplotConstrained?{x,y:b}[Et]:[],fr=0;fr<Ht.length;fr++){var _r=Ht[fr],Br=_r._id,Or=_.xLinks[Br]||_.yLinks[Br],Nr=$t[0]||d[Or]||v[Or];Nr&&(dt?(dt[_r._name+\".range[0]\"]=dt[Nr._name+\".range[0]\"],dt[_r._name+\".range[1]\"]=dt[Nr._name+\".range[1]\"]):_r.range=Nr.range.slice())}}function xr(){var Et=[],dt;function Ht(Br){for(dt=0;dt<Br.length;dt++)Br[dt].fixedrange||Et.push(Br[dt]._id)}function $t(Br,Or){for(dt=0;dt<Br.length;dt++){var Nr=Br[dt],ut=Nr[Or];!Nr.fixedrange&&ut.tickmode===\"sync\"&&Et.push(ut._id)}}for(P&&(Ht(x),Ht(L.xaxes),Ht(_.xaxes),$t(t.overlays,\"xaxis\")),T&&(Ht(b),Ht(L.yaxes),Ht(_.yaxes),$t(t.overlays,\"yaxis\")),H={},dt=0;dt<Et.length;dt++){var fr=Et[dt],_r=CN(e,fr);Yfe.drawOne(e,_r,{skipTitle:!0}),H[_r._name+\".range[0]\"]=_r.range[0],H[_r._name+\".range[1]\"]=_r.range[1]}Yfe.redrawComponents(e,Et)}function er(){if(!e._transitioningWithDuration){var Et=e._context.doubleClick,dt=[];C&&(dt=dt.concat(x)),M&&(dt=dt.concat(b)),_.xaxes&&(dt=dt.concat(_.xaxes)),_.yaxes&&(dt=dt.concat(_.yaxes));var Ht={},$t,fr;if(Et===\"reset+autosize\")for(Et=\"autosize\",fr=0;fr<dt.length;fr++){$t=dt[fr];var _r=$t._rangeInitial0,Br=$t._rangeInitial1,Or=_r!==void 0||Br!==void 0;if(Or&&(_r!==void 0&&_r!==$t.range[0]||Br!==void 0&&Br!==$t.range[1])||!Or&&$t.autorange!==!0){Et=\"reset\";break}}if(Et===\"autosize\")for(fr=0;fr<dt.length;fr++)$t=dt[fr],$t.fixedrange||(Ht[$t._name+\".autorange\"]=!0);else if(Et===\"reset\"){for((C||L.isSubplotConstrained)&&(dt=dt.concat(L.xaxes)),M&&!L.isSubplotConstrained&&(dt=dt.concat(L.yaxes)),L.isSubplotConstrained&&(C?M||(dt=dt.concat(b)):dt=dt.concat(x)),fr=0;fr<dt.length;fr++)if($t=dt[fr],!$t.fixedrange){var Nr=$t._name,ut=$t._autorangeInitial;$t._rangeInitial0===void 0&&$t._rangeInitial1===void 0?Ht[Nr+\".autorange\"]=!0:$t._rangeInitial0===void 0?(Ht[Nr+\".autorange\"]=ut,Ht[Nr+\".range\"]=[null,$t._rangeInitial1]):$t._rangeInitial1===void 0?(Ht[Nr+\".range\"]=[$t._rangeInitial0,null],Ht[Nr+\".autorange\"]=ut):Ht[Nr+\".range\"]=[$t._rangeInitial0,$t._rangeInitial1]}}e.emit(\"plotly_doubleclick\",null),bP.call(\"_guiRelayout\",e,Ht)}}function Ke(){xt([0,0,k,A]),C0.syncOrAsync([Cft.previousPromises,function(){e._fullLayout._replotting=!1,bP.call(\"_guiRelayout\",e,H)}],e)}function xt(Et){var dt=e._fullLayout,Ht=dt._plots,$t=dt._subplots.cartesian,fr,_r,Br,Or;if(q&&bP.subplotsRegistry.splom.drag(e),F){for(fr=0;fr<$t.length;fr++)if(_r=Ht[$t[fr]],Br=_r.xaxis,Or=_r.yaxis,_r._scene){Br.limitRange&&Br.limitRange(),Or.limitRange&&Or.limitRange();var Nr=C0.simpleMap(Br.range,Br.r2l),ut=C0.simpleMap(Or.range,Or.r2l);_r._scene.update({range:[Nr[0],ut[0],Nr[1],ut[1]]})}}if((q||F)&&(Eft(e),kft(e)),V){var Ne=Et[2]/f._length,Ye=Et[3]/h._length;for(fr=0;fr<$t.length;fr++){_r=Ht[$t[fr]],Br=_r.xaxis,Or=_r.yaxis;var Ve=(P||_.isSubplotConstrained)&&!Br.fixedrange&&d[Br._id],Xe=(T||_.isSubplotConstrained)&&!Or.fixedrange&&v[Or._id],ht,Le,xe,Se;if(Ve?(ht=Ne,xe=s||_.isSubplotConstrained?Et[0]:St(Br,ht)):_.xaHash[Br._id]?(ht=Ne,xe=Et[0]*Br._length/f._length):_.yaHash[Br._id]?(ht=Ye,xe=M===\"ns\"?-Et[1]*Br._length/h._length:St(Br,ht,{n:\"top\",s:\"bottom\"}[M])):(ht=bt(Br,Ne,Ye),xe=Lt(Br,ht)),ht>1&&(Br.maxallowed!==void 0&&P===(Br.range[0]<Br.range[1]?\"e\":\"w\")||Br.minallowed!==void 0&&P===(Br.range[0]<Br.range[1]?\"w\":\"e\"))&&(ht=1,xe=0),Xe?(Le=Ye,Se=o||_.isSubplotConstrained?Et[1]:St(Or,Le)):_.yaHash[Or._id]?(Le=Ye,Se=Et[1]*Or._length/h._length):_.xaHash[Or._id]?(Le=Ne,Se=C===\"ew\"?-Et[0]*Or._length/f._length:St(Or,Le,{e:\"right\",w:\"left\"}[C])):(Le=bt(Or,Ne,Ye),Se=Lt(Or,Le)),Le>1&&(Or.maxallowed!==void 0&&T===(Or.range[0]<Or.range[1]?\"n\":\"s\")||Or.minallowed!==void 0&&T===(Or.range[0]<Or.range[1]?\"s\":\"n\"))&&(Le=1,Se=0),!(!ht&&!Le)){ht||(ht=1),Le||(Le=1);var lt=Br._offset-xe/ht,Gt=Or._offset-Se/Le;_r.clipRect.call(v_.setTranslate,xe,Se).call(v_.setScale,ht,Le),_r.plot.call(v_.setTranslate,lt,Gt).call(v_.setScale,1/ht,1/Le),(ht!==_r.xScaleFactor||Le!==_r.yScaleFactor)&&(v_.setPointGroupScale(_r.zoomScalePts,ht,Le),v_.setTextPointsScale(_r.zoomScaleTxt,ht,Le)),v_.hideOutsideRangePoints(_r.clipOnAxisFalseTraces,_r),_r.xScaleFactor=ht,_r.yScaleFactor=Le}}}}function bt(Et,dt,Ht){return Et.fixedrange?0:P&&L.xaHash[Et._id]?dt:T&&(L.isSubplotConstrained?L.xaHash:L.yaHash)[Et._id]?Ht:0}function Lt(Et,dt){return dt?(Et.range=Et._r.slice(),kN(Et,dt),St(Et,dt)):0}function St(Et,dt,Ht){return Et._length*(1-dt)*Mft[Ht||Et.constraintoward||\"middle\"]}return re}function nhe(e,t,r,n){var i=C0.ensureSingle(e.draglayer,t,r,function(a){a.classed(\"drag\",!0).style({fill:\"transparent\",\"stroke-width\":0}).attr(\"data-subplot\",e.id)});return i.call(Tft,n),i.node()}function ahe(e,t,r,n,i,a,o){var s=nhe(e,\"rect\",t,r);return IN.select(s).call(v_.setRect,n,i,a,o),s}function $fe(e,t){for(var r=0;r<e.length;r++)if(!e[r].fixedrange)return t;return\"\"}function Dft(e,t){var r=e.range[t],n=Math.abs(r-e.range[1-t]),i;return e.type===\"date\"?r:e.type===\"log\"?(i=Math.ceil(Math.max(0,-Math.log(n)/Math.LN10))+3,Zfe(\".\"+i+\"g\")(Math.pow(10,r))):(i=Math.floor(Math.log(Math.abs(r))/Math.LN10)-Math.floor(Math.log(n)/Math.LN10)+4,Zfe(\".\"+String(i)+\"g\")(r))}function LN(e,t,r,n,i){for(var a=0;a<e.length;a++){var o=e[a];if(!o.fixedrange)if(o.rangebreaks){var s=o._id.charAt(0)===\"y\",l=s?1-t:t,u=s?1-r:r;n[o._name+\".range[0]\"]=o.l2r(o.p2l(l*o._length)),n[o._name+\".range[1]\"]=o.l2r(o.p2l(u*o._length))}else{var c=o._rl[0],f=o._rl[1]-c;n[o._name+\".range[0]\"]=o.l2r(c+f*t),n[o._name+\".range[1]\"]=o.l2r(c+f*r)}}if(i&&i.length){var h=(t+(1-r))/2;LN(i,h,1-h,n,[])}}function Qfe(e,t){for(var r=0;r<e.length;r++){var n=e[r];if(!n.fixedrange){if(n.rangebreaks){var i=0,a=n._length,o=n.p2l(i+t)-n.p2l(i),s=n.p2l(a+t)-n.p2l(a),l=(o+s)/2;n.range=[n.l2r(n._rl[0]-l),n.l2r(n._rl[1]-l)]}else n.range=[n.l2r(n._rl[0]-t/n._m),n.l2r(n._rl[1]-t/n._m)];n.limitRange&&n.limitRange()}}}function zft(e){return 1-(e>=0?Math.min(e,.9):1/(1/Math.max(e,-.3)+3.222))}function Fft(e,t,r){return e?e===\"nsew\"?r?\"\":t===\"pan\"?\"move\":\"crosshair\":e.toLowerCase()+\"-resize\":\"pointer\"}function ohe(e,t,r,n,i){return e.append(\"path\").attr(\"class\",\"zoombox\").style({fill:t>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"transform\",rhe(r,n)).attr(\"d\",i+\"Z\")}function she(e,t,r){return e.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:Xfe.background,stroke:Xfe.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"transform\",rhe(t,r)).attr(\"d\",\"M0,0Z\")}function lhe(e,t,r,n,i,a){e.attr(\"d\",n+\"M\"+r.l+\",\"+r.t+\"v\"+r.h+\"h\"+r.w+\"v-\"+r.h+\"h-\"+r.w+\"Z\"),uhe(e,t,i,a)}function uhe(e,t,r,n){r||(e.transition().style(\"fill\",n>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),t.transition().style(\"opacity\",1).duration(200))}function PN(e){IN.select(e).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}function che(e){Jfe&&e.data&&e._context.showTips&&(C0.notifier(C0._(e,\"Double-click to zoom back out\"),\"long\"),Jfe=!1)}function qft(e,t){return\"M\"+(e.l-.5)+\",\"+(t-np-.5)+\"h-3v\"+(2*np+1)+\"h3ZM\"+(e.r+.5)+\",\"+(t-np-.5)+\"h3v\"+(2*np+1)+\"h-3Z\"}function Oft(e,t){return\"M\"+(t-np-.5)+\",\"+(e.t-.5)+\"v-3h\"+(2*np+1)+\"v3ZM\"+(t-np-.5)+\",\"+(e.b+.5)+\"v3h\"+(2*np+1)+\"v-3Z\"}function TP(e){var t=Math.floor(Math.min(e.b-e.t,e.r-e.l,np)/2);return\"M\"+(e.l-3.5)+\",\"+(e.t-.5+t)+\"h3v\"+-t+\"h\"+t+\"v-3h-\"+(t+3)+\"ZM\"+(e.r+3.5)+\",\"+(e.t-.5+t)+\"h-3v\"+-t+\"h\"+-t+\"v-3h\"+(t+3)+\"ZM\"+(e.r+3.5)+\",\"+(e.b+.5-t)+\"h-3v\"+t+\"h\"+-t+\"v3h\"+(t+3)+\"ZM\"+(e.l-3.5)+\",\"+(e.b+.5-t)+\"h3v\"+t+\"h\"+t+\"v3h-\"+(t+3)+\"Z\"}function ehe(e,t,r,n,i){for(var a=!1,o={},s={},l,u,c,f,h=(i||{}).xaHash,d=(i||{}).yaHash,v=0;v<t.length;v++){var x=t[v];for(l in r)if(x[l]){for(c in x)!(i&&(h[c]||d[c]))&&!(c.charAt(0)===\"x\"?r:n)[c]&&(o[c]=l);for(u in n)!(i&&(h[u]||d[u]))&&x[u]&&(a=!0)}for(u in n)if(x[u])for(f in x)!(i&&(h[f]||d[f]))&&!(f.charAt(0)===\"x\"?r:n)[f]&&(s[f]=u)}a&&(C0.extendFlat(o,s),s={});var b={},p=[];for(c in o){var E=CN(e,c);p.push(E),b[E._id]=E}var k={},A=[];for(f in s){var L=CN(e,f);A.push(L),k[L._id]=L}return{xaHash:b,yaHash:k,xaxes:p,yaxes:A,xLinks:o,yLinks:s,isSubplotConstrained:a}}function fhe(e,t){if(!xft)e.onwheel!==void 0?e.onwheel=t:e.onmousewheel!==void 0?e.onmousewheel=t:e.isAddedWheelEvent||(e.isAddedWheelEvent=!0,e.addEventListener(\"wheel\",t,{passive:!1}));else{var r=e.onwheel!==void 0?\"wheel\":\"mousewheel\";e._onwheel&&e.removeEventListener(r,e._onwheel),e._onwheel=t,e.addEventListener(r,t,{passive:!1})}}function the(e){var t=[];for(var r in e)t.push(e[r]);return t}hhe.exports={makeDragBox:Rft,makeDragger:nhe,makeRectDragger:ahe,makeZoombox:ohe,makeCorners:she,updateZoombox:lhe,xyCorners:TP,transitionZoombox:uhe,removeZoombox:PN,showDoubleClickNotifier:che,attachWheelEventHandler:fhe}});var zN=ye(SP=>{\"use strict\";var Bft=xa(),AP=Nc(),Nft=gv(),Uft=Tg(),kg=DN().makeDragBox,ud=ad().DRAGGERSIZE;SP.initInteractions=function(t){var r=t._fullLayout;if(t._context.staticPlot){Bft.select(t).selectAll(\".drag\").remove();return}if(!(!r._has(\"cartesian\")&&!r._has(\"splom\"))){var n=Object.keys(r._plots||{}).sort(function(a,o){if((r._plots[a].mainplot&&!0)===(r._plots[o].mainplot&&!0)){var s=a.split(\"y\"),l=o.split(\"y\");return s[0]===l[0]?Number(s[1]||1)-Number(l[1]||1):Number(s[0]||1)-Number(l[0]||1)}return r._plots[a].mainplot?1:-1});n.forEach(function(a){var o=r._plots[a],s=o.xaxis,l=o.yaxis;if(!o.mainplot){var u=kg(t,o,s._offset,l._offset,s._length,l._length,\"ns\",\"ew\");u.onmousemove=function(h){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===a&&t._fullLayout._plots[a]&&AP.hover(t,h,a)},AP.hover(t,h,a),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=a},u.onmouseout=function(h){t._dragging||(t._fullLayout._hoversubplot=null,Nft.unhover(t,h))},t._context.showAxisDragHandles&&(kg(t,o,s._offset-ud,l._offset-ud,ud,ud,\"n\",\"w\"),kg(t,o,s._offset+s._length,l._offset-ud,ud,ud,\"n\",\"e\"),kg(t,o,s._offset-ud,l._offset+l._length,ud,ud,\"s\",\"w\"),kg(t,o,s._offset+s._length,l._offset+l._length,ud,ud,\"s\",\"e\"))}if(t._context.showAxisDragHandles){if(a===s._mainSubplot){var c=s._mainLinePosition;s.side===\"top\"&&(c-=ud),kg(t,o,s._offset+s._length*.1,c,s._length*.8,ud,\"\",\"ew\"),kg(t,o,s._offset,c,s._length*.1,ud,\"\",\"w\"),kg(t,o,s._offset+s._length*.9,c,s._length*.1,ud,\"\",\"e\")}if(a===l._mainSubplot){var f=l._mainLinePosition;l.side!==\"right\"&&(f-=ud),kg(t,o,f,l._offset+l._length*.1,ud,l._length*.8,\"ns\",\"\"),kg(t,o,f,l._offset+l._length*.9,ud,l._length*.1,\"s\",\"\"),kg(t,o,f,l._offset,ud,l._length*.1,\"n\",\"\")}}});var i=r._hoverlayer.node();i.onmousemove=function(a){a.target=t._fullLayout._lasthover,AP.hover(t,a,r._hoversubplot)},i.onclick=function(a){a.target=t._fullLayout._lasthover,AP.click(t,a)},i.onmousedown=function(a){t._fullLayout._lasthover.onmousedown(a)},SP.updateFx(t)}};SP.updateFx=function(e){var t=e._fullLayout,r=t.dragmode===\"pan\"?\"move\":\"crosshair\";Uft(t._draggers,r)}});var phe=ye((Qir,vhe)=>{\"use strict\";var dhe=ba();vhe.exports=function(t){for(var r=dhe.layoutArrayContainers,n=dhe.layoutArrayRegexes,i=t.split(\"[\")[0],a,o,s=0;s<n.length;s++)if(o=t.match(n[s]),o&&o.index===0){a=o[0];break}if(a||(a=r[r.indexOf(i)]),!a)return!1;var l=t.substr(a.length);return l?(o=l.match(/^\\[(0|[1-9][0-9]*)\\](\\.(.+))?$/),o?{array:a,index:Number(o[1]),property:o[3]||\"\"}:!1):{array:a,index:\"\",property:\"\"}}});var mhe=ye(zM=>{\"use strict\";var Vft=gy(),FN=g6(),DM=G1(),Hft=k6().sorterAsc,qN=ba();zM.containerArrayMatch=phe();var Gft=zM.isAddVal=function(t){return t===\"add\"||Vft(t)},ghe=zM.isRemoveVal=function(t){return t===null||t===\"remove\"};zM.applyContainerArrayChanges=function(t,r,n,i,a){var o=r.astr,s=qN.getComponentMethod(o,\"supplyLayoutDefaults\"),l=qN.getComponentMethod(o,\"draw\"),u=qN.getComponentMethod(o,\"drawOne\"),c=i.replot||i.recalc||s===FN||l===FN,f=t.layout,h=t._fullLayout;if(n[\"\"]){Object.keys(n).length>1&&DM.warn(\"Full array edits are incompatible with other edits\",o);var d=n[\"\"][\"\"];if(ghe(d))r.set(null);else if(Array.isArray(d))r.set(d);else return DM.warn(\"Unrecognized full array edit value\",o,d),!0;return c?!1:(s(f,h),l(t),!0)}var v=Object.keys(n).map(Number).sort(Hft),x=r.get(),b=x||[],p=a(h,o).get(),E=[],k=-1,A=b.length,L,_,C,M,g,P,T,F;for(L=0;L<v.length;L++){if(C=v[L],M=n[C],g=Object.keys(M),P=M[\"\"],T=Gft(P),C<0||C>b.length-(T?0:1)){DM.warn(\"index out of range\",o,C);continue}if(P!==void 0)g.length>1&&DM.warn(\"Insertion & removal are incompatible with edits to the same index.\",o,C),ghe(P)?E.push(C):T?(P===\"add\"&&(P={}),b.splice(C,0,P),p&&p.splice(C,0,{})):DM.warn(\"Unrecognized full object edit value\",o,C,P),k===-1&&(k=C);else for(_=0;_<g.length;_++)F=o+\"[\"+C+\"].\",a(b[C],g[_],F).set(M[g[_]])}for(L=E.length-1;L>=0;L--)b.splice(E[L],1),p&&p.splice(E[L],1);if(b.length?x||r.set(b):r.set(null),c)return!1;if(s(f,h),u!==FN){var q;if(k===-1)q=v;else{for(A=Math.max(b.length,A),q=[],L=0;L<v.length&&(C=v[L],!(C>=k));L++)q.push(C);for(L=k;L<A;L++)q.push(L)}for(L=0;L<q.length;L++)u(t,q[L])}else l(t);return!0}});var She=ye(Cg=>{\"use strict\";var bhe=uo(),tnr=Lq(),whe=ba(),kp=Mr(),FM=Xu(),The=af(),Ahe=va(),qM=The.cleanId,jft=The.getFromTrace,ON=whe.traceIs;Cg.clearPromiseQueue=function(e){Array.isArray(e._promises)&&e._promises.length>0&&kp.log(\"Clearing previous rejected promises from queue.\"),e._promises=[]};Cg.cleanLayout=function(e){var t,r;e||(e={}),e.xaxis1&&(e.xaxis||(e.xaxis=e.xaxis1),delete e.xaxis1),e.yaxis1&&(e.yaxis||(e.yaxis=e.yaxis1),delete e.yaxis1),e.scene1&&(e.scene||(e.scene=e.scene1),delete e.scene1);var n=(FM.subplotsRegistry.cartesian||{}).attrRegex,i=(FM.subplotsRegistry.polar||{}).attrRegex,a=(FM.subplotsRegistry.ternary||{}).attrRegex,o=(FM.subplotsRegistry.gl3d||{}).attrRegex,s=Object.keys(e);for(t=0;t<s.length;t++){var l=s[t];if(n&&n.test(l)){var u=e[l];u.anchor&&u.anchor!==\"free\"&&(u.anchor=qM(u.anchor)),u.overlaying&&(u.overlaying=qM(u.overlaying)),u.type||(u.isdate?u.type=\"date\":u.islog?u.type=\"log\":u.isdate===!1&&u.islog===!1&&(u.type=\"linear\")),(u.autorange===\"withzero\"||u.autorange===\"tozero\")&&(u.autorange=!0,u.rangemode=\"tozero\"),u.insiderange&&delete u.range,delete u.islog,delete u.isdate,delete u.categories,MP(u,\"domain\")&&delete u.domain}}var c=Array.isArray(e.annotations)?e.annotations.length:0;for(t=0;t<c;t++){var f=e.annotations[t];kp.isPlainObject(f)&&(Y3(f,\"xref\"),Y3(f,\"yref\"))}var h=Array.isArray(e.shapes)?e.shapes.length:0;for(t=0;t<h;t++){var d=e.shapes[t];kp.isPlainObject(d)&&(Y3(d,\"xref\"),Y3(d,\"yref\"))}var v=Array.isArray(e.images)?e.images.length:0;for(t=0;t<v;t++){var x=e.images[t];kp.isPlainObject(x)&&(Y3(x,\"xref\"),Y3(x,\"yref\"))}var b=e.legend;return b&&(b.x>3?(b.x=1.02,b.xanchor=\"left\"):b.x<-2&&(b.x=-.02,b.xanchor=\"right\"),b.y>3?(b.y=1.02,b.yanchor=\"bottom\"):b.y<-2&&(b.y=-.02,b.yanchor=\"top\")),e.dragmode===\"rotate\"&&(e.dragmode=\"orbit\"),Ahe.clean(e),e.template&&e.template.layout&&Cg.cleanLayout(e.template.layout),e};function Y3(e,t){var r=e[t],n=t.charAt(0);r&&r!==\"paper\"&&(e[t]=qM(r,n,!0))}Cg.cleanData=function(e){for(var t=0;t<e.length;t++){var r=e[t],n;if(r.type===\"histogramy\"&&\"xbins\"in r&&!(\"ybins\"in r)&&(r.ybins=r.xbins,delete r.xbins),r.type===\"histogramy\"&&Cg.swapXYData(r),(r.type===\"histogramx\"||r.type===\"histogramy\")&&(r.type=\"histogram\"),\"scl\"in r&&!(\"colorscale\"in r)&&(r.colorscale=r.scl,delete r.scl),\"reversescl\"in r&&!(\"reversescale\"in r)&&(r.reversescale=r.reversescl,delete r.reversescl),r.xaxis&&(r.xaxis=qM(r.xaxis,\"x\")),r.yaxis&&(r.yaxis=qM(r.yaxis,\"y\")),ON(r,\"gl3d\")&&r.scene&&(r.scene=FM.subplotsRegistry.gl3d.cleanId(r.scene)),!ON(r,\"pie-like\")&&!ON(r,\"bar-like\"))if(Array.isArray(r.textposition))for(n=0;n<r.textposition.length;n++)r.textposition[n]=_he(r.textposition[n]);else r.textposition&&(r.textposition=_he(r.textposition));var i=whe.getModule(r);if(i&&i.colorbar){var a=i.colorbar.container,o=a?r[a]:r;o&&o.colorscale&&(o.colorscale===\"YIGnBu\"&&(o.colorscale=\"YlGnBu\"),o.colorscale===\"YIOrRd\"&&(o.colorscale=\"YlOrRd\"))}if(r.type===\"surface\"&&kp.isPlainObject(r.contours)){var s=[\"x\",\"y\",\"z\"];for(n=0;n<s.length;n++){var l=r.contours[s[n]];kp.isPlainObject(l)&&(l.highlightColor&&(l.highlightcolor=l.highlightColor,delete l.highlightColor),l.highlightWidth&&(l.highlightwidth=l.highlightWidth,delete l.highlightWidth))}}if(r.type===\"candlestick\"||r.type===\"ohlc\"){var u=(r.increasing||{}).showlegend!==!1,c=(r.decreasing||{}).showlegend!==!1,f=yhe(r.increasing),h=yhe(r.decreasing);if(f!==!1&&h!==!1){var d=Wft(f,h,u,c);d&&(r.name=d)}else(f||h)&&!r.name&&(r.name=f||h)}MP(r,\"line\")&&delete r.line,\"marker\"in r&&(MP(r.marker,\"line\")&&delete r.marker.line,MP(r,\"marker\")&&delete r.marker),Ahe.clean(r),r.autobinx&&(delete r.autobinx,delete r.xbins),r.autobiny&&(delete r.autobiny,delete r.ybins)}};function yhe(e){if(!kp.isPlainObject(e))return!1;var t=e.name;return delete e.name,delete e.showlegend,(typeof t==\"string\"||typeof t==\"number\")&&String(t)}function Wft(e,t,r,n){if(r&&!n)return e;if(n&&!r||!e.trim())return t;if(!t.trim())return e;var i=Math.min(e.length,t.length),a;for(a=0;a<i&&e.charAt(a)===t.charAt(a);a++);var o=e.substr(0,a);return o.trim()}function _he(e){var t=\"middle\",r=\"center\";return typeof e==\"string\"&&(e.indexOf(\"top\")!==-1?t=\"top\":e.indexOf(\"bottom\")!==-1&&(t=\"bottom\"),e.indexOf(\"left\")!==-1?r=\"left\":e.indexOf(\"right\")!==-1&&(r=\"right\")),t+\" \"+r}function MP(e,t){return t in e&&typeof e[t]==\"object\"&&Object.keys(e[t]).length===0}Cg.swapXYData=function(e){var t;if(kp.swapAttrs(e,[\"?\",\"?0\",\"d?\",\"?bins\",\"nbins?\",\"autobin?\",\"?src\",\"error_?\"]),Array.isArray(e.z)&&Array.isArray(e.z[0])&&(e.transpose?delete e.transpose:e.transpose=!0),e.error_x&&e.error_y){var r=e.error_y,n=\"copy_ystyle\"in r?r.copy_ystyle:!(r.color||r.thickness||r.width);kp.swapAttrs(e,[\"error_?.copy_ystyle\"]),n&&kp.swapAttrs(e,[\"error_?.color\",\"error_?.thickness\",\"error_?.width\"])}if(typeof e.hoverinfo==\"string\"){var i=e.hoverinfo.split(\"+\");for(t=0;t<i.length;t++)i[t]===\"x\"?i[t]=\"y\":i[t]===\"y\"&&(i[t]=\"x\");e.hoverinfo=i.join(\"+\")}};Cg.coerceTraceIndices=function(e,t){if(bhe(t))return[t];if(!Array.isArray(t)||!t.length)return e.data.map(function(i,a){return a});if(Array.isArray(t)){for(var r=[],n=0;n<t.length;n++)kp.isIndex(t[n],e.data.length)?r.push(t[n]):kp.warn(\"trace index (\",t[n],\") is not a number or is out of bounds\");return r}return t};Cg.manageArrayContainers=function(e,t,r){var n=e.obj,i=e.parts,a=i.length,o=i[a-1],s=bhe(o);if(s&&t===null){var l=i.slice(0,a-1).join(\".\"),u=kp.nestedProperty(n,l).get();u.splice(o,1)}else s&&e.get()===void 0&&e.get()===void 0&&(r[e.astr]=null),e.set(t)};var Zft=/(\\.[^\\[\\]\\.]+|\\[[^\\[\\]\\.]+\\])$/;function xhe(e){var t=e.search(Zft);if(t>0)return e.substr(0,t)}Cg.hasParent=function(e,t){for(var r=xhe(t);r;){if(r in e)return!0;r=xhe(r)}return!1};var Xft=[\"x\",\"y\",\"z\"];Cg.clearAxisTypes=function(e,t,r){for(var n=0;n<t.length;n++)for(var i=e._fullData[n],a=0;a<3;a++){var o=jft(e,i,Xft[a]);if(o&&o.type!==\"log\"){var s=o._name,l=o._id.substr(1);if(l.substr(0,5)===\"scene\"){if(r[l]!==void 0)continue;s=l+\".\"+s}var u=s+\".type\";r[s]===void 0&&r[u]===void 0&&kp.nestedProperty(e.layout,u).set(null)}}}});var OP=ye(pl=>{\"use strict\";var CP=xa(),Yft=uo(),Kft=$q(),sa=Mr(),Yu=sa.nestedProperty,UN=g3(),ap=lne(),L0=ba(),FP=_3(),Ho=Xu(),Nv=Qa(),Jft=dB(),$ft=Cd(),BN=ao(),Qft=va(),eht=zN().initInteractions,tht=Zp(),rht=wf().clearOutline,Lhe=ub().dfltConfig,EP=mhe(),yh=She(),$l=gM(),p_=Bu(),iht=ad().AX_NAME_PATTERN,NN=0,Mhe=5;function nht(e,t,r,n){var i;if(e=sa.getGraphDiv(e),UN.init(e),sa.isPlainObject(t)){var a=t;t=a.data,r=a.layout,n=a.config,i=a.frames}var o=UN.triggerHandler(e,\"plotly_beforeplot\",[t,r,n]);if(o===!1)return Promise.reject();!t&&!r&&!sa.isPlotDiv(e)&&sa.warn(\"Calling _doPlot as if redrawing but this container doesn't yet have a plot.\",e);function s(){if(i)return pl.addFrames(e,i)}Ihe(e,n),r||(r={}),CP.select(e).classed(\"js-plotly-plot\",!0),BN.makeTester(),Array.isArray(e._promises)||(e._promises=[]);var l=(e.data||[]).length===0&&Array.isArray(t);Array.isArray(t)&&(yh.cleanData(t),l?e.data=t:e.data.push.apply(e.data,t),e.empty=!1),(!e.layout||l)&&(e.layout=yh.cleanLayout(r)),Ho.supplyDefaults(e);var u=e._fullLayout,c=u._has(\"cartesian\");u._replotting=!0,(l||u._shouldCreateBgLayer)&&(Eht(e),u._shouldCreateBgLayer&&delete u._shouldCreateBgLayer),BN.initGradients(e),BN.initPatterns(e),l&&Nv.saveShowSpikeInitial(e);var f=!e.calcdata||e.calcdata.length!==(e._fullData||[]).length;f&&Ho.doCalcdata(e);for(var h=0;h<e.calcdata.length;h++)e.calcdata[h][0].trace=e._fullData[h];e._context.responsive?e._responsiveChartHandler||(e._responsiveChartHandler=function(){sa.isHidden(e)||Ho.resize(e)},window.addEventListener(\"resize\",e._responsiveChartHandler)):sa.clearResponsive(e);var d=sa.extendFlat({},u._size),v=0;function x(){for(var C=u._basePlotModules,M=0;M<C.length;M++)C[M].drawFramework&&C[M].drawFramework(e);!u._glcanvas&&u._has(\"gl\")&&(u._glcanvas=u._glcontainer.selectAll(\".gl-canvas\").data([{key:\"contextLayer\",context:!0,pick:!1},{key:\"focusLayer\",context:!1,pick:!1},{key:\"pickLayer\",context:!1,pick:!0}],function(F){return F.key}),u._glcanvas.enter().append(\"canvas\").attr(\"class\",function(F){return\"gl-canvas gl-canvas-\"+F.key.replace(\"Layer\",\"\")}).style({position:\"absolute\",top:0,left:0,overflow:\"visible\",\"pointer-events\":\"none\"}));var g=e._context.plotGlPixelRatio;if(u._glcanvas){u._glcanvas.attr(\"width\",u.width*g).attr(\"height\",u.height*g).style(\"width\",u.width+\"px\").style(\"height\",u.height+\"px\");var P=u._glcanvas.data()[0].regl;if(P&&(Math.floor(u.width*g)!==P._gl.drawingBufferWidth||Math.floor(u.height*g)!==P._gl.drawingBufferHeight)){var T=\"WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug.\";if(v)sa.error(T);else return sa.log(T+\" Clearing graph and plotting again.\"),Ho.cleanPlot([],{},e._fullData,u),Ho.supplyDefaults(e),u=e._fullLayout,Ho.doCalcdata(e),v++,x()}}return u.modebar.orientation===\"h\"?u._modebardiv.style(\"height\",null).style(\"width\",\"100%\"):u._modebardiv.style(\"width\",null).style(\"height\",u.height+\"px\"),Ho.previousPromises(e)}function b(){if(Ho.clearAutoMarginIds(e),$l.drawMarginPushers(e),Nv.allowAutoMargin(e),e._fullLayout.title.text&&e._fullLayout.title.automargin&&Ho.allowAutoMargin(e,\"title.automargin\"),u._has(\"pie\"))for(var C=e._fullData,M=0;M<C.length;M++){var g=C[M];g.type===\"pie\"&&g.automargin&&Ho.allowAutoMargin(e,\"pie.\"+g.uid+\".automargin\")}return Ho.doAutoMargin(e),Ho.previousPromises(e)}function p(){if(Ho.didMarginChange(d,u._size))return sa.syncOrAsync([b,$l.layoutStyles],e)}function E(){if(!f){k();return}return sa.syncOrAsync([L0.getComponentMethod(\"shapes\",\"calcAutorange\"),L0.getComponentMethod(\"annotations\",\"calcAutorange\"),k],e)}function k(){e._transitioning||($l.doAutoRangeAndConstraints(e),l&&Nv.saveRangeInitial(e),L0.getComponentMethod(\"rangeslider\",\"calcAutorange\")(e))}function A(){return Nv.draw(e,l?\"\":\"redraw\")}var L=[Ho.previousPromises,s,x,b,p];c&&L.push(E),L.push($l.layoutStyles),c&&L.push(A,function(M){var g=M._fullLayout._insideTickLabelsUpdaterange;if(g)return M._fullLayout._insideTickLabelsUpdaterange=void 0,OM(M,g).then(function(){Nv.saveRangeInitial(M,!0)})}),L.push($l.drawData,$l.finalDraw,eht,Ho.addLinks,Ho.rehover,Ho.redrag,Ho.reselect,Ho.doAutoMargin,Ho.previousPromises);var _=sa.syncOrAsync(L,e);return(!_||!_.then)&&(_=Promise.resolve()),_.then(function(){return BM(e),e})}function BM(e){var t=e._fullLayout;t._redrawFromAutoMarginCount?t._redrawFromAutoMarginCount--:e.emit(\"plotly_afterplot\")}function aht(e){return sa.extendFlat(Lhe,e)}function Phe(e,t){try{e._fullLayout._paper.style(\"background\",t)}catch(r){sa.error(r)}}function oht(e,t){var r=Qft.combine(t,\"white\");Phe(e,r)}function Ihe(e,t){if(!e._context){e._context=sa.extendDeep({},Lhe);var r=CP.select(\"base\");e._context._baseUrl=r.size()&&r.attr(\"href\")?window.location.href.split(\"#\")[0]:\"\"}var n=e._context,i,a,o;if(t){for(a=Object.keys(t),i=0;i<a.length;i++)o=a[i],!(o===\"editable\"||o===\"edits\")&&o in n&&(o===\"setBackground\"&&t[o]===\"opaque\"?n[o]=oht:n[o]=t[o]);var s=t.editable;if(s!==void 0)for(n.editable=s,a=Object.keys(n.edits),i=0;i<a.length;i++)n.edits[a[i]]=s;if(t.edits)for(a=Object.keys(t.edits),i=0;i<a.length;i++)o=a[i],o in n.edits&&(n.edits[o]=t.edits[o]);n._exportedPlot=t._exportedPlot}n.staticPlot&&(n.editable=!1,n.edits={},n.autosizable=!1,n.scrollZoom=!1,n.doubleClick=!1,n.showTips=!1,n.showLink=!1,n.displayModeBar=!1),n.displayModeBar===\"hover\"&&!Kft&&(n.displayModeBar=!0),(n.setBackground===\"transparent\"||typeof n.setBackground!=\"function\")&&(n.setBackground=Phe),n._hasZeroHeight=n._hasZeroHeight||e.clientHeight===0,n._hasZeroWidth=n._hasZeroWidth||e.clientWidth===0;var l=n.scrollZoom,u=n._scrollZoom={};if(l===!0)u.cartesian=1,u.gl3d=1,u.geo=1,u.mapbox=1,u.map=1;else if(typeof l==\"string\"){var c=l.split(\"+\");for(i=0;i<c.length;i++)u[c[i]]=1}else l!==!1&&(u.gl3d=1,u.geo=1,u.mapbox=1,u.map=1)}function sht(e){if(e=sa.getGraphDiv(e),!sa.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e);return yh.cleanData(e.data),yh.cleanLayout(e.layout),e.calcdata=void 0,pl._doPlot(e).then(function(){return e.emit(\"plotly_redraw\"),e})}function lht(e,t,r,n){return e=sa.getGraphDiv(e),Ho.cleanPlot([],{},e._fullData||[],e._fullLayout||{}),Ho.purge(e),pl._doPlot(e,t,r,n)}function LP(e,t){var r=t+1,n=[],i,a;for(i=0;i<e.length;i++)a=e[i],a<0?n.push(r+a):n.push(a);return n}function PP(e,t,r){var n,i;for(n=0;n<t.length;n++){if(i=t[n],i!==parseInt(i,10))throw new Error(\"all values in \"+r+\" must be integers\");if(i>=e.data.length||i<-e.data.length)throw new Error(r+\" must be valid indices for gd.data.\");if(t.indexOf(i,n+1)>-1||i>=0&&t.indexOf(-e.data.length+i)>-1||i<0&&t.indexOf(e.data.length+i)>-1)throw new Error(\"each index in \"+r+\" must be unique.\")}}function Rhe(e,t,r){if(!Array.isArray(e.data))throw new Error(\"gd.data must be an array.\");if(typeof t==\"undefined\")throw new Error(\"currentIndices is a required argument.\");if(Array.isArray(t)||(t=[t]),PP(e,t,\"currentIndices\"),typeof r!=\"undefined\"&&!Array.isArray(r)&&(r=[r]),typeof r!=\"undefined\"&&PP(e,r,\"newIndices\"),typeof r!=\"undefined\"&&t.length!==r.length)throw new Error(\"current and new indices must be of equal length.\")}function uht(e,t,r){var n,i;if(!Array.isArray(e.data))throw new Error(\"gd.data must be an array.\");if(typeof t==\"undefined\")throw new Error(\"traces must be defined.\");for(Array.isArray(t)||(t=[t]),n=0;n<t.length;n++)if(i=t[n],typeof i!=\"object\"||Array.isArray(i)||i===null)throw new Error(\"all values in traces array must be non-array objects\");if(typeof r!=\"undefined\"&&!Array.isArray(r)&&(r=[r]),typeof r!=\"undefined\"&&r.length!==t.length)throw new Error(\"if indices is specified, traces.length must equal indices.length\")}function cht(e,t,r,n){var i=sa.isPlainObject(n);if(!Array.isArray(e.data))throw new Error(\"gd.data must be an array\");if(!sa.isPlainObject(t))throw new Error(\"update must be a key:value object\");if(typeof r==\"undefined\")throw new Error(\"indices must be an integer or array of integers\");PP(e,r,\"indices\");for(var a in t){if(!Array.isArray(t[a])||t[a].length!==r.length)throw new Error(\"attribute \"+a+\" must be an array of length equal to indices array length\");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==t[a].length))throw new Error(\"when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object\")}}function fht(e,t,r,n){var i=sa.isPlainObject(n),a=[],o,s,l,u,c;Array.isArray(r)||(r=[r]),r=LP(r,e.data.length-1);for(var f in t)for(var h=0;h<r.length;h++){if(o=e.data[r[h]],l=Yu(o,f),s=l.get(),u=t[f][h],!sa.isArrayOrTypedArray(u))throw new Error(\"attribute: \"+f+\" index: \"+h+\" must be an array\");if(!sa.isArrayOrTypedArray(s))throw new Error(\"cannot extend missing or non-array attribute: \"+f);if(s.constructor!==u.constructor)throw new Error(\"cannot extend array with an array of a different type: \"+f);c=i?n[f][h]:n,Yft(c)||(c=-1),a.push({prop:l,target:s,insert:u,maxp:Math.floor(c)})}return a}function Dhe(e,t,r,n,i){cht(e,t,r,n);for(var a=fht(e,t,r,n),o={},s={},l=0;l<a.length;l++){var u=a[l].prop,c=a[l].maxp,f=i(a[l].target,a[l].insert,c);u.set(f[0]),Array.isArray(o[u.astr])||(o[u.astr]=[]),o[u.astr].push(f[1]),Array.isArray(s[u.astr])||(s[u.astr]=[]),s[u.astr].push(a[l].target.length)}return{update:o,maxPoints:s}}function zhe(e,t){var r=new e.constructor(e.length+t.length);return r.set(e),r.set(t,e.length),r}function Fhe(e,t,r,n){e=sa.getGraphDiv(e);function i(l,u,c){var f,h;if(sa.isTypedArray(l))if(c<0){var d=new l.constructor(0),v=zhe(l,u);c<0?(f=v,h=d):(f=d,h=v)}else if(f=new l.constructor(c),h=new l.constructor(l.length+u.length-c),c===u.length)f.set(u),h.set(l);else if(c<u.length){var x=u.length-c;f.set(u.subarray(x)),h.set(l),h.set(u.subarray(0,x),l.length)}else{var b=c-u.length,p=l.length-b;f.set(l.subarray(p)),f.set(u,b),h.set(l.subarray(0,p))}else f=l.concat(u),h=c>=0&&c<f.length?f.splice(0,f.length-c):[];return[f,h]}var a=Dhe(e,t,r,n,i),o=pl.redraw(e),s=[e,a.update,r,a.maxPoints];return ap.add(e,pl.prependTraces,s,Fhe,arguments),o}function qhe(e,t,r,n){e=sa.getGraphDiv(e);function i(l,u,c){var f,h;if(sa.isTypedArray(l))if(c<=0){var d=new l.constructor(0),v=zhe(u,l);c<0?(f=v,h=d):(f=d,h=v)}else if(f=new l.constructor(c),h=new l.constructor(l.length+u.length-c),c===u.length)f.set(u),h.set(l);else if(c<u.length){var x=u.length-c;f.set(u.subarray(0,x)),h.set(u.subarray(x)),h.set(l,x)}else{var b=c-u.length;f.set(u),f.set(l.subarray(0,b),u.length),h.set(l.subarray(b))}else f=u.concat(l),h=c>=0&&c<f.length?f.splice(c,f.length):[];return[f,h]}var a=Dhe(e,t,r,n,i),o=pl.redraw(e),s=[e,a.update,r,a.maxPoints];return ap.add(e,pl.extendTraces,s,qhe,arguments),o}function Ohe(e,t,r){e=sa.getGraphDiv(e);var n=[],i=pl.deleteTraces,a=Ohe,o=[e,n],s=[e,t],l,u;for(uht(e,t,r),Array.isArray(t)||(t=[t]),t=t.map(function(c){return sa.extendFlat({},c)}),yh.cleanData(t),l=0;l<t.length;l++)e.data.push(t[l]);for(l=0;l<t.length;l++)n.push(-t.length+l);if(typeof r==\"undefined\")return u=pl.redraw(e),ap.add(e,i,o,a,s),u;Array.isArray(r)||(r=[r]);try{Rhe(e,n,r)}catch(c){throw e.data.splice(e.data.length-t.length,t.length),c}return ap.startSequence(e),ap.add(e,i,o,a,s),u=pl.moveTraces(e,n,r),ap.stopSequence(e),u}function Bhe(e,t){e=sa.getGraphDiv(e);var r=[],n=pl.addTraces,i=Bhe,a=[e,r,t],o=[e,t],s,l;if(typeof t==\"undefined\")throw new Error(\"indices must be an integer or array of integers.\");for(Array.isArray(t)||(t=[t]),PP(e,t,\"indices\"),t=LP(t,e.data.length-1),t.sort(sa.sorterDes),s=0;s<t.length;s+=1)l=e.data.splice(t[s],1)[0],r.push(l);var u=pl.redraw(e);return ap.add(e,n,a,i,o),u}function VN(e,t,r){e=sa.getGraphDiv(e);var n=[],i=[],a=VN,o=VN,s=[e,r,t],l=[e,t,r],u;if(Rhe(e,t,r),t=Array.isArray(t)?t:[t],typeof r==\"undefined\")for(r=[],u=0;u<t.length;u++)r.push(-t.length+u);for(r=Array.isArray(r)?r:[r],t=LP(t,e.data.length-1),r=LP(r,e.data.length-1),u=0;u<e.data.length;u++)t.indexOf(u)===-1&&n.push(e.data[u]);for(u=0;u<t.length;u++)i.push({newIndex:r[u],trace:e.data[t[u]]});for(i.sort(function(f,h){return f.newIndex-h.newIndex}),u=0;u<i.length;u+=1)n.splice(i[u].newIndex,0,i[u].trace);e.data=n;var c=pl.redraw(e);return ap.add(e,a,s,o,l),c}function IP(e,t,r,n){e=sa.getGraphDiv(e),yh.clearPromiseQueue(e);var i={};if(typeof t==\"string\")i[t]=r;else if(sa.isPlainObject(t))i=sa.extendFlat({},t),n===void 0&&(n=r);else return sa.warn(\"Restyle fail.\",t,r,n),Promise.reject();Object.keys(i).length&&(e.changed=!0);var a=yh.coerceTraceIndices(e,n),o=Nhe(e,i,a),s=o.flags;s.calc&&(e.calcdata=void 0),s.clearAxisTypes&&yh.clearAxisTypes(e,a,{});var l=[];s.fullReplot?l.push(pl._doPlot):(l.push(Ho.previousPromises),Ho.supplyDefaults(e),s.markerSize&&(Ho.doCalcdata(e),qP(l)),s.style&&l.push($l.doTraceStyle),s.colorbars&&l.push($l.doColorBars),l.push(BM)),l.push(Ho.rehover,Ho.redrag,Ho.reselect),ap.add(e,IP,[e,o.undoit,o.traces],IP,[e,o.redoit,o.traces]);var u=sa.syncOrAsync(l,e);return(!u||!u.then)&&(u=Promise.resolve()),u.then(function(){return e.emit(\"plotly_restyle\",o.eventData),e})}function Cy(e){return e===void 0?null:e}function kP(e,t){return t?function(r,n,i){var a=Yu(r,n),o=a.set;return a.set=function(s){var l=(i||\"\")+n;RP(l,a.get(),s,e),o(s)},a}:Yu}function RP(e,t,r,n){if(Array.isArray(t)||Array.isArray(r))for(var i=Array.isArray(t)?t:[],a=Array.isArray(r)?r:[],o=Math.max(i.length,a.length),s=0;s<o;s++)RP(e+\"[\"+s+\"]\",i[s],a[s],n);else if(sa.isPlainObject(t)||sa.isPlainObject(r)){var l=sa.isPlainObject(t)?t:{},u=sa.isPlainObject(r)?r:{},c=sa.extendFlat({},l,u);for(var f in c)RP(e+\".\"+f,l[f],u[f],n)}else n[e]===void 0&&(n[e]=Cy(t))}function hht(e,t,r){for(var n in r){var i=Yu(e,n);RP(n,i.get(),r[n],t)}}function Nhe(e,t,r){var n=e._fullLayout,i=e._fullData,a=e.data,o=n._guiEditing,s=kP(n._preGUI,o),l=sa.extendDeepAll({},t),u,c=p_.traceFlags(),f={},h={},d;function v(){return r.map(function(){})}function x(me){var Re=Nv.id2name(me);d.indexOf(Re)===-1&&d.push(Re)}function b(me){return\"LAYOUT\"+me+\".autorange\"}function p(me){return\"LAYOUT\"+me+\".range\"}function E(me){for(var Re=me;Re<i.length;Re++)if(i[Re]._input===a[me])return i[Re]}function k(me,Re,ce){if(Array.isArray(me)){me.forEach(function(qt){k(qt,Re,ce)});return}if(!(me in t||yh.hasParent(t,me))){var Ge;if(me.substr(0,6)===\"LAYOUT\")Ge=s(e.layout,me.replace(\"LAYOUT\",\"\"));else{var nt=r[ce],ct=n._tracePreGUI[E(nt)._fullInput.uid];Ge=kP(ct,o)(a[nt],me)}me in h||(h[me]=v()),h[me][ce]===void 0&&(h[me][ce]=Cy(Ge.get())),Re!==void 0&&Ge.set(Re)}}function A(me){return function(Re){return i[Re][me]}}function L(me){return function(Re,ce){return Re===!1?i[r[ce]][me]:null}}for(var _ in t){if(yh.hasParent(t,_))throw new Error(\"cannot set \"+_+\" and a parent attribute simultaneously\");var C=t[_],M,g,P,T,F,q;if((_===\"autobinx\"||_===\"autobiny\")&&(_=_.charAt(_.length-1)+\"bins\",Array.isArray(C)?C=C.map(L(_)):C===!1?C=r.map(A(_)):C=null),f[_]=C,_.substr(0,6)===\"LAYOUT\"){P=s(e.layout,_.replace(\"LAYOUT\",\"\")),h[_]=[Cy(P.get())],P.set(Array.isArray(C)?C[0]:C),c.calc=!0;continue}for(h[_]=v(),u=0;u<r.length;u++){M=a[r[u]],g=E(r[u]);var V=n._tracePreGUI[g._fullInput.uid];if(P=kP(V,o)(M,_),T=P.get(),F=Array.isArray(C)?C[u%C.length]:C,F!==void 0){var H=P.parts[P.parts.length-1],X=_.substr(0,_.length-H.length-1),G=X?X+\".\":\"\",N=X?Yu(g,X).get():g;if(q=FP.getTraceValObject(g,P.parts),q&&q.impliedEdits&&F!==null)for(var W in q.impliedEdits)k(sa.relativeAttr(_,W),q.impliedEdits[W],u);else if((H===\"thicknessmode\"||H===\"lenmode\")&&T!==F&&(F===\"fraction\"||F===\"pixels\")&&N){var re=n._size,ae=N.orient,_e=ae===\"top\"||ae===\"bottom\";if(H===\"thicknessmode\"){var Me=_e?re.h:re.w;k(G+\"thickness\",N.thickness*(F===\"fraction\"?1/Me:Me),u)}else{var ke=_e?re.w:re.h;k(G+\"len\",N.len*(F===\"fraction\"?1/ke:ke),u)}}else if(_===\"type\"&&(F===\"pie\"!=(T===\"pie\")||F===\"funnelarea\"!=(T===\"funnelarea\"))){var ge=\"x\",ie=\"y\";(F===\"bar\"||T===\"bar\")&&M.orientation===\"h\"&&(ge=\"y\",ie=\"x\"),sa.swapAttrs(M,[\"?\",\"?src\"],\"labels\",ge),sa.swapAttrs(M,[\"d?\",\"?0\"],\"label\",ge),sa.swapAttrs(M,[\"?\",\"?src\"],\"values\",ie),T===\"pie\"||T===\"funnelarea\"?(Yu(M,\"marker.color\").set(Yu(M,\"marker.colors\").get()),n._pielayer.selectAll(\"g.trace\").remove()):L0.traceIs(M,\"cartesian\")&&Yu(M,\"marker.colors\").set(Yu(M,\"marker.color\").get())}h[_][u]=Cy(T);var Te=[\"swapxy\",\"swapxyaxes\",\"orientation\",\"orientationaxes\"];if(Te.indexOf(_)!==-1){if(_===\"orientation\"){P.set(F);var Ee=M.x&&!M.y?\"h\":\"v\";if((P.get()||Ee)===g.orientation)continue}else _===\"orientationaxes\"&&(M.orientation={v:\"h\",h:\"v\"}[g.orientation]);yh.swapXYData(M),c.calc=c.clearAxisTypes=!0}else Ho.dataArrayContainers.indexOf(P.parts[0])!==-1?(yh.manageArrayContainers(P,F,h),c.calc=!0):(q?q.arrayOk&&!L0.traceIs(g,\"regl\")&&(sa.isArrayOrTypedArray(F)||sa.isArrayOrTypedArray(T))?c.calc=!0:p_.update(c,q):c.calc=!0,P.set(F))}}if([\"swapxyaxes\",\"orientationaxes\"].indexOf(_)!==-1&&Nv.swap(e,r),_===\"orientationaxes\"){var Ae=Yu(e.layout,\"hovermode\"),ze=Ae.get();ze===\"x\"?Ae.set(\"y\"):ze===\"y\"?Ae.set(\"x\"):ze===\"x unified\"?Ae.set(\"y unified\"):ze===\"y unified\"&&Ae.set(\"x unified\")}if([\"orientation\",\"type\"].indexOf(_)!==-1){for(d=[],u=0;u<r.length;u++){var Ce=a[r[u]];L0.traceIs(Ce,\"cartesian\")&&(x(Ce.xaxis||\"x\"),x(Ce.yaxis||\"y\"))}k(d.map(b),!0,0),k(d.map(p),[0,1],0)}}return(c.calc||c.plot)&&(c.fullReplot=!0),{flags:c,undoit:h,redoit:f,traces:r,eventData:sa.extendDeepNoArrays([],[l,r])}}function OM(e,t,r){e=sa.getGraphDiv(e),yh.clearPromiseQueue(e);var n={};if(typeof t==\"string\")n[t]=r;else if(sa.isPlainObject(t))n=sa.extendFlat({},t);else return sa.warn(\"Relayout fail.\",t,r),Promise.reject();Object.keys(n).length&&(e.changed=!0);var i=Ghe(e,n),a=i.flags;a.calc&&(e.calcdata=void 0);var o=[Ho.previousPromises];a.layoutReplot?o.push($l.layoutReplot):Object.keys(n).length&&(Uhe(e,a,i)||Ho.supplyDefaults(e),a.legend&&o.push($l.doLegend),a.layoutstyle&&o.push($l.layoutStyles),a.axrange&&qP(o,i.rangesAltered),a.ticks&&o.push($l.doTicksRelayout),a.modebar&&o.push($l.doModeBar),a.camera&&o.push($l.doCamera),a.colorbars&&o.push($l.doColorBars),o.push(BM)),o.push(Ho.rehover,Ho.redrag,Ho.reselect),ap.add(e,OM,[e,i.undoit],OM,[e,i.redoit]);var s=sa.syncOrAsync(o,e);return(!s||!s.then)&&(s=Promise.resolve(e)),s.then(function(){return e.emit(\"plotly_relayout\",i.eventData),e})}function Uhe(e,t,r){var n=e._fullLayout;if(!t.axrange)return!1;for(var i in t)if(i!==\"axrange\"&&t[i])return!1;var a,o,s=function(d,v){return sa.coerce(a,o,$ft,d,v)},l={};for(var u in r.rangesAltered){var c=Nv.id2name(u);if(a=e.layout[c],o=n[c],Jft(a,o,s,l),o._matchGroup){for(var f in o._matchGroup)if(f!==u){var h=n[Nv.id2name(f)];h.autorange=o.autorange,h.range=o.range.slice(),h._input.range=o.range.slice()}}}return!0}function qP(e,t){var r=t?function(n){var i=[],a=!0;for(var o in t){var s=Nv.getFromId(n,o);if(i.push(o),(s.ticklabelposition||\"\").indexOf(\"inside\")!==-1&&s._anchorAxis&&i.push(s._anchorAxis._id),s._matchGroup)for(var l in s._matchGroup)t[l]||i.push(l)}return Nv.draw(n,i,{skipTitle:a})}:function(n){return Nv.draw(n,\"redraw\")};e.push(rht,$l.doAutoRangeAndConstraints,r,$l.drawData,$l.finalDraw)}var Vhe=/^[xyz]axis[0-9]*\\.range(\\[[0|1]\\])?$/,Hhe=/^[xyz]axis[0-9]*\\.autorange$/,dht=/^[xyz]axis[0-9]*\\.domain(\\[[0|1]\\])?$/;function Ghe(e,t){var r=e.layout,n=e._fullLayout,i=n._guiEditing,a=kP(n._preGUI,i),o=Object.keys(t),s=Nv.list(e),l=sa.extendDeepAll({},t),u={},c,f,h;for(o=Object.keys(t),f=0;f<o.length;f++)if(o[f].indexOf(\"allaxes\")===0){for(h=0;h<s.length;h++){var d=s[h]._id.substr(1),v=d.indexOf(\"scene\")!==-1?d+\".\":\"\",x=o[f].replace(\"allaxes\",v+s[h]._name);t[x]||(t[x]=t[o[f]])}delete t[o[f]]}var b=p_.layoutFlags(),p={},E={};function k(ct,qt){if(Array.isArray(ct)){ct.forEach(function(ot){k(ot,qt)});return}if(!(ct in t||yh.hasParent(t,ct))){var rt=a(r,ct);ct in E||(E[ct]=Cy(rt.get())),qt!==void 0&&rt.set(qt)}}var A={},L;function _(ct){var qt=Nv.name2id(ct.split(\".\")[0]);return A[qt]=1,qt}for(var C in t){if(yh.hasParent(t,C))throw new Error(\"cannot set \"+C+\" and a parent attribute simultaneously\");for(var M=a(r,C),g=t[C],P=M.parts.length,T=P-1;T>0&&typeof M.parts[T]!=\"string\";)T--;var F=M.parts[T],q=M.parts[T-1]+\".\"+F,V=M.parts.slice(0,T).join(\".\"),H=Yu(e.layout,V).get(),X=Yu(n,V).get(),G=M.get();if(g!==void 0){p[C]=g,E[C]=F===\"reverse\"?g:Cy(G);var N=FP.getLayoutValObject(n,M.parts);if(N&&N.impliedEdits&&g!==null)for(var W in N.impliedEdits)k(sa.relativeAttr(C,W),N.impliedEdits[W]);if([\"width\",\"height\"].indexOf(C)!==-1)if(g){k(\"autosize\",null);var re=C===\"height\"?\"width\":\"height\";k(re,n[re])}else n[C]=e._initialAutoSize[C];else if(C===\"autosize\")k(\"width\",g?null:n.width),k(\"height\",g?null:n.height);else if(q.match(Vhe))_(q),Yu(n,V+\"._inputRange\").set(null);else if(q.match(Hhe)){_(q),Yu(n,V+\"._inputRange\").set(null);var ae=Yu(n,V).get();ae._inputDomain&&(ae._input.domain=ae._inputDomain.slice())}else q.match(dht)&&Yu(n,V+\"._inputDomain\").set(null);if(F===\"type\"){L=H;var _e=X.type===\"linear\"&&g===\"log\",Me=X.type===\"log\"&&g===\"linear\";if(_e||Me){if(!L||!L.range)k(V+\".autorange\",!0);else if(X.autorange)_e&&(L.range=L.range[1]>L.range[0]?[1,2]:[2,1]);else{var ke=L.range[0],ge=L.range[1];_e?(ke<=0&&ge<=0&&k(V+\".autorange\",!0),ke<=0?ke=ge/1e6:ge<=0&&(ge=ke/1e6),k(V+\".range[0]\",Math.log(ke)/Math.LN10),k(V+\".range[1]\",Math.log(ge)/Math.LN10)):(k(V+\".range[0]\",Math.pow(10,ke)),k(V+\".range[1]\",Math.pow(10,ge)))}Array.isArray(n._subplots.polar)&&n._subplots.polar.length&&n[M.parts[0]]&&M.parts[1]===\"radialaxis\"&&delete n[M.parts[0]]._subplot.viewInitial[\"radialaxis.range\"],L0.getComponentMethod(\"annotations\",\"convertCoords\")(e,X,g,k),L0.getComponentMethod(\"images\",\"convertCoords\")(e,X,g,k)}else k(V+\".autorange\",!0),k(V+\".range\",null);Yu(n,V+\"._inputRange\").set(null)}else if(F.match(iht)){var ie=Yu(n,C).get(),Te=(g||{}).type;(!Te||Te===\"-\")&&(Te=\"linear\"),L0.getComponentMethod(\"annotations\",\"convertCoords\")(e,ie,Te,k),L0.getComponentMethod(\"images\",\"convertCoords\")(e,ie,Te,k)}var Ee=EP.containerArrayMatch(C);if(Ee){c=Ee.array,f=Ee.index;var Ae=Ee.property,ze=N||{editType:\"calc\"};f!==\"\"&&Ae===\"\"&&(EP.isAddVal(g)?E[C]=null:EP.isRemoveVal(g)?E[C]=(Yu(r,c).get()||[])[f]:sa.warn(\"unrecognized full object value\",t)),p_.update(b,ze),u[c]||(u[c]={});var Ce=u[c][f];Ce||(Ce=u[c][f]={}),Ce[Ae]=g,delete t[C]}else F===\"reverse\"?(H.range?H.range.reverse():(k(V+\".autorange\",!0),H.range=[1,0]),X.autorange?b.calc=!0:b.plot=!0):(C===\"dragmode\"&&(g===!1&&G!==!1||g!==!1&&G===!1)||n._has(\"scatter-like\")&&n._has(\"regl\")&&C===\"dragmode\"&&(g===\"lasso\"||g===\"select\")&&!(G===\"lasso\"||G===\"select\")?b.plot=!0:N?p_.update(b,N):b.calc=!0,M.set(g))}}for(c in u){var me=EP.applyContainerArrayChanges(e,a(r,c),u[c],b,a);me||(b.plot=!0)}for(var Re in A){L=Nv.getFromId(e,Re);var ce=L&&L._constraintGroup;if(ce){b.calc=!0;for(var Ge in ce)A[Ge]||(Nv.getFromId(e,Ge)._constraintShrinkable=!0)}}(jhe(e)||t.height||t.width)&&(b.plot=!0);var nt=n.shapes;for(f=0;f<nt.length;f++)if(nt[f].showlegend){b.calc=!0;break}return(b.plot||b.calc)&&(b.layoutReplot=!0),{flags:b,rangesAltered:A,undoit:E,redoit:p,eventData:l}}function jhe(e){var t=e._fullLayout,r=t.width,n=t.height;return e.layout.autosize&&Ho.plotAutoSize(e,e.layout,t),t.width!==r||t.height!==n}function DP(e,t,r,n){e=sa.getGraphDiv(e),yh.clearPromiseQueue(e),sa.isPlainObject(t)||(t={}),sa.isPlainObject(r)||(r={}),Object.keys(t).length&&(e.changed=!0),Object.keys(r).length&&(e.changed=!0);var i=yh.coerceTraceIndices(e,n),a=Nhe(e,sa.extendFlat({},t),i),o=a.flags,s=Ghe(e,sa.extendFlat({},r)),l=s.flags;(o.calc||l.calc)&&(e.calcdata=void 0),o.clearAxisTypes&&yh.clearAxisTypes(e,i,r);var u=[];l.layoutReplot?u.push($l.layoutReplot):o.fullReplot?u.push(pl._doPlot):(u.push(Ho.previousPromises),Uhe(e,l,s)||Ho.supplyDefaults(e),o.style&&u.push($l.doTraceStyle),(o.colorbars||l.colorbars)&&u.push($l.doColorBars),l.legend&&u.push($l.doLegend),l.layoutstyle&&u.push($l.layoutStyles),l.axrange&&qP(u,s.rangesAltered),l.ticks&&u.push($l.doTicksRelayout),l.modebar&&u.push($l.doModeBar),l.camera&&u.push($l.doCamera),u.push(BM)),u.push(Ho.rehover,Ho.redrag,Ho.reselect),ap.add(e,DP,[e,a.undoit,s.undoit,a.traces],DP,[e,a.redoit,s.redoit,a.traces]);var c=sa.syncOrAsync(u,e);return(!c||!c.then)&&(c=Promise.resolve(e)),c.then(function(){return e.emit(\"plotly_update\",{data:a.eventData,layout:s.eventData}),e})}function GN(e){return function(r){r._fullLayout._guiEditing=!0;var n=e.apply(null,arguments);return r._fullLayout._guiEditing=!1,n}}var vht=[{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:/^(map\\d*)\\.(center|zoom|bearing|pitch)/},{pattern:/^legend\\.(x|y)$/,attr:\"editrevision\"},{pattern:/^(shapes|annotations)/,attr:\"editrevision\"},{pattern:/^title\\.text$/,attr:\"editrevision\"}],pht=[{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 Ehe(e,t){for(var r=0;r<t.length;r++){var n=t[r],i=e.match(n.pattern);if(i){var a=i[1]||\"\";return{head:a,tail:e.substr(a.length+1),attr:n.attr}}}}function khe(e,t){var r=Yu(t,e).get();if(r!==void 0)return r;var n=e.split(\".\");for(n.pop();n.length>1;)if(n.pop(),r=Yu(t,n.join(\".\")+\".uirevision\").get(),r!==void 0)return r;return t.uirevision}function ght(e,t){for(var r=0;r<t.length;r++)if(t[r]._fullInput.uid===e)return r;return-1}function mht(e,t,r){for(var n=0;n<t.length;n++)if(t[n].uid===e)return n;return!t[r]||t[r].uid?-1:r}function Che(e,t){var r=sa.isPlainObject(e),n=Array.isArray(e);return r||n?(r&&sa.isPlainObject(t)||n&&Array.isArray(t))&&JSON.stringify(e)===JSON.stringify(t):e===t}function yht(e,t,r,n){var i=n._preGUI,a,o,s,l,u,c,f,h,d,v,x=[],b={},p={};for(a in i){if(u=Ehe(a,vht),u){if(d=u.head,v=u.tail,o=u.attr||d+\".uirevision\",s=Yu(n,o).get(),l=s&&khe(o,t),l&&l===s){if(c=i[a],c===null&&(c=void 0),f=Yu(t,a),h=f.get(),Che(h,c)){h===void 0&&v===\"autorange\"&&x.push(d),f.set(Cy(Yu(n,a).get()));continue}else if(v===\"autorange\"||v.substr(0,6)===\"range[\"){var E=i[d+\".range[0]\"],k=i[d+\".range[1]\"],A=i[d+\".autorange\"];if(A||A===null&&E===null&&k===null){if(!(d in b)){var L=Yu(t,d).get();b[d]=L&&(L.autorange||L.autorange!==!1&&(!L.range||L.range.length!==2))}if(b[d]){f.set(Cy(Yu(n,a).get()));continue}}}}}else sa.warn(\"unrecognized GUI edit: \"+a);delete i[a],u&&u.tail.substr(0,6)===\"range[\"&&(p[u.head]=1)}for(var _=0;_<x.length;_++){var C=x[_];if(p[C]){var M=Yu(t,C).get();M&&delete M.autorange}}var g=n._tracePreGUI;for(var P in g){var T=g[P],F=null,q;for(a in T){if(!F){var V=ght(P,r);if(V<0){delete g[P];break}var H=r[V];q=H._fullInput;var X=mht(P,e,q.index);if(X<0){delete g[P];break}F=e[X]}if(u=Ehe(a,pht),u){if(u.attr?(s=Yu(n,u.attr).get(),l=s&&khe(u.attr,t)):(s=q.uirevision,l=F.uirevision,l===void 0&&(l=t.uirevision)),l&&l===s&&(c=T[a],c===null&&(c=void 0),f=Yu(F,a),h=f.get(),Che(h,c))){f.set(Cy(Yu(q,a).get()));continue}}else sa.warn(\"unrecognized GUI edit: \"+a+\" in trace uid \"+P);delete T[a]}}}function _ht(e,t,r,n){var i,a;function o(){return pl.addFrames(e,i)}e=sa.getGraphDiv(e),yh.clearPromiseQueue(e);var s=e._fullData,l=e._fullLayout;if(!sa.isPlotDiv(e)||!s||!l)a=pl.newPlot(e,t,r,n);else{if(sa.isPlainObject(t)){var u=t;t=u.data,r=u.layout,n=u.config,i=u.frames}var c=!1;if(n){var f=sa.extendDeep({},e._context);e._context=void 0,Ihe(e,n),c=HN(f,e._context)}e.data=t||[],yh.cleanData(e.data),e.layout=r||{},yh.cleanLayout(e.layout),yht(e.data,e.layout,s,l),Ho.supplyDefaults(e,{skipUpdateCalc:!0});var h=e._fullData,d=e._fullLayout,v=d.datarevision===void 0,x=d.transition,b=bht(e,l,d,v,x),p=b.newDataRevision,E=xht(e,s,h,v,x,p);if(jhe(e)&&(b.layoutReplot=!0),E.calc||b.calc){e.calcdata=void 0;for(var k=Object.getOwnPropertyNames(d),A=0;A<k.length;A++){var L=k[A],_=L.substring(0,5);if(_===\"xaxis\"||_===\"yaxis\"){var C=d[L]._emptyCategories;C&&C()}}}else Ho.supplyDefaultsUpdateCalc(e.calcdata,h);var M=[];if(i&&(e._transitionData={},Ho.createTransitionData(e),M.push(o)),d.transition&&!c&&(E.anim||b.anim))b.ticks&&M.push($l.doTicksRelayout),Ho.doCalcdata(e),$l.doAutoRangeAndConstraints(e),M.push(function(){return Ho.transitionFromReact(e,E,b,l)});else if(E.fullReplot||b.layoutReplot||c)e._fullLayout._skipDefaults=!0,M.push(pl._doPlot);else{for(var g in b.arrays){var P=b.arrays[g];if(P.length){var T=L0.getComponentMethod(g,\"drawOne\");if(T!==sa.noop)for(var F=0;F<P.length;F++)T(e,P[F]);else{var q=L0.getComponentMethod(g,\"draw\");if(q===sa.noop)throw new Error(\"cannot draw components: \"+g);q(e)}}}M.push(Ho.previousPromises),E.style&&M.push($l.doTraceStyle),(E.colorbars||b.colorbars)&&M.push($l.doColorBars),b.legend&&M.push($l.doLegend),b.layoutstyle&&M.push($l.layoutStyles),b.axrange&&qP(M),b.ticks&&M.push($l.doTicksRelayout),b.modebar&&M.push($l.doModeBar),b.camera&&M.push($l.doCamera),M.push(BM)}M.push(Ho.rehover,Ho.redrag,Ho.reselect),a=sa.syncOrAsync(M,e),(!a||!a.then)&&(a=Promise.resolve(e))}return a.then(function(){return e.emit(\"plotly_react\",{data:t,layout:r}),e})}function xht(e,t,r,n,i,a){var o=t.length===r.length;if(!i&&!o)return{fullReplot:!0,calc:!0};var s=p_.traceFlags();s.arrays={},s.nChanges=0,s.nChangesAnim=0;var l,u;function c(d){var v=FP.getTraceValObject(u,d);return!u._module.animatable&&v.anim&&(v.anim=!1),v}var f={getValObject:c,flags:s,immutable:n,transition:i,newDataRevision:a,gd:e},h={};for(l=0;l<t.length;l++)if(r[l]){if(u=r[l]._fullInput,h[u.uid])continue;h[u.uid]=1,zP(t[l]._fullInput,u,[],f)}return(s.calc||s.plot)&&(s.fullReplot=!0),i&&s.nChanges&&s.nChangesAnim&&(s.anim=s.nChanges===s.nChangesAnim&&o?\"all\":\"some\"),s}function bht(e,t,r,n,i){var a=p_.layoutFlags();a.arrays={},a.rangesAltered={},a.nChanges=0,a.nChangesAnim=0;function o(h){return FP.getLayoutValObject(r,h)}for(var s in r)if(!(!s.startsWith(\"xaxis\")&&!s.startsWith(\"yaxis\"))&&t[s]){var l=r[s].domain,u=t[s].domain,c=t[s]._inputDomain;t[s]._inputDomain&&(l[0]===c[0]&&l[1]===c[1]?r[s].domain=t[s].domain:(l[0]!==u[0]||l[1]!==u[1])&&(r[s]._inputDomain=null))}var f={getValObject:o,flags:a,immutable:n,transition:i,gd:e};return zP(t,r,[],f),(a.plot||a.calc)&&(a.layoutReplot=!0),i&&a.nChanges&&a.nChangesAnim&&(a.anim=a.nChanges===a.nChangesAnim?\"all\":\"some\"),a}function zP(e,t,r,n){var i,a,o,s=n.getValObject,l=n.flags,u=n.immutable,c=n.inArray,f=n.arrayIndex;function h(){var V=i.editType;if(c&&V.indexOf(\"arraydraw\")!==-1){sa.pushUnique(l.arrays[c],f);return}p_.update(l,i),V!==\"none\"&&l.nChanges++,n.transition&&i.anim&&l.nChangesAnim++,(Vhe.test(o)||Hhe.test(o))&&(l.rangesAltered[r[0]]=1),a===\"datarevision\"&&(l.newDataRevision=1)}function d(V){return V.valType===\"data_array\"||V.arrayOk}for(a in e){if(l.calc&&!n.transition)return;var v=e[a],x=t[a],b=r.concat(a);if(o=b.join(\".\"),!(a.charAt(0)===\"_\"||typeof v==\"function\"||v===x)){if((a===\"tick0\"||a===\"dtick\")&&r[0]!==\"geo\"){var p=t.tickmode;if(p===\"auto\"||p===\"array\"||!p)continue}if(!(a===\"range\"&&t.autorange)&&!((a===\"zmin\"||a===\"zmax\")&&t.type===\"contourcarpet\")&&(i=s(b),!!i&&!(i._compareAsJSON&&JSON.stringify(v)===JSON.stringify(x)))){var E=i.valType,k,A=d(i),L=Array.isArray(v),_=Array.isArray(x);if(L&&_){var C=\"_input_\"+a,M=e[C],g=t[C];if(Array.isArray(M)&&M===g)continue}if(x===void 0)A&&L?l.calc=!0:h();else if(i._isLinkedToArray){var P=[],T=!1;c||(l.arrays[a]=P);var F=Math.min(v.length,x.length),q=Math.max(v.length,x.length);if(F!==q)if(i.editType===\"arraydraw\")T=!0;else{h();continue}for(k=0;k<F;k++)zP(v[k],x[k],b.concat(k),sa.extendFlat({inArray:a,arrayIndex:k},n));if(T)for(k=F;k<q;k++)P.push(k)}else!E&&sa.isPlainObject(v)?zP(v,x,b,n):A?L&&_?(u&&(l.calc=!0),(u||n.newDataRevision)&&h()):L!==_?l.calc=!0:h():L&&_?(v.length!==x.length||String(v)!==String(x))&&h():h()}}}for(a in t)if(!(a in e||a.charAt(0)===\"_\"||typeof t[a]==\"function\"))if(i=s(r.concat(a)),d(i)&&Array.isArray(t[a])){l.calc=!0;return}else h()}function HN(e,t){var r;for(r in e)if(r.charAt(0)!==\"_\"){var n=e[r],i=t[r];if(n!==i)if(sa.isPlainObject(n)&&sa.isPlainObject(i)){if(HN(n,i))return!0}else if(Array.isArray(n)&&Array.isArray(i)){if(n.length!==i.length)return!0;for(var a=0;a<n.length;a++)if(n[a]!==i[a])if(sa.isPlainObject(n[a])&&sa.isPlainObject(i[a])){if(HN(n[a],i[a]))return!0}else return!0}else return!0}}function wht(e,t,r){if(e=sa.getGraphDiv(e),!sa.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e+\". It's likely that you've failed to create a plot before animating it. For more details, see https://plotly.com/javascript/animations/\");var n=e._transitionData;n._frameQueue||(n._frameQueue=[]),r=Ho.supplyAnimationDefaults(r);var i=r.transition,a=r.frame;n._frameWaitingCnt===void 0&&(n._frameWaitingCnt=0);function o(u){return Array.isArray(i)?u>=i.length?i[0]:i[u]:i}function s(u){return Array.isArray(a)?u>=a.length?a[0]:a[u]:a}function l(u,c){var f=0;return function(){if(u&&++f===c)return u()}}return new Promise(function(u,c){function f(){if(n._frameQueue.length!==0){for(;n._frameQueue.length;){var F=n._frameQueue.pop();F.onInterrupt&&F.onInterrupt()}e.emit(\"plotly_animationinterrupted\",[])}}function h(F){if(F.length!==0){for(var q=0;q<F.length;q++){var V;F[q].type===\"byname\"?V=Ho.computeFrame(e,F[q].name):V=F[q].data;var H=s(q),X=o(q);X.duration=Math.min(X.duration,H.duration);var G={frame:V,name:F[q].name,frameOpts:H,transitionOpts:X};q===F.length-1&&(G.onComplete=l(u,2),G.onInterrupt=c),n._frameQueue.push(G)}r.mode===\"immediate\"&&(n._lastFrameAt=-1/0),n._animationRaf||x()}}function d(){e.emit(\"plotly_animated\"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function v(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var F=n._currentFrame=n._frameQueue.shift();if(F){var q=F.name?F.name.toString():null;e._fullLayout._currentFrame=q,n._lastFrameAt=Date.now(),n._timeToNext=F.frameOpts.duration,Ho.transition(e,F.frame.data,F.frame.layout,yh.coerceTraceIndices(e,F.frame.traces),F.frameOpts,F.transitionOpts).then(function(){F.onComplete&&F.onComplete()}),e.emit(\"plotly_animatingframe\",{name:q,frame:F.frame,animation:{frame:F.frameOpts,transition:F.transitionOpts}})}else d()}function x(){e.emit(\"plotly_animating\"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var F=function(){n._animationRaf=window.requestAnimationFrame(F),Date.now()-n._lastFrameAt>n._timeToNext&&v()};F()}var b=0;function p(F){return Array.isArray(i)?b>=i.length?F.transitionOpts=i[b]:F.transitionOpts=i[0]:F.transitionOpts=i,b++,F}var E,k,A=[],L=t==null,_=Array.isArray(t),C=!L&&!_&&sa.isPlainObject(t);if(C)A.push({type:\"object\",data:p(sa.extendFlat({},t))});else if(L||[\"string\",\"number\"].indexOf(typeof t)!==-1)for(E=0;E<n._frames.length;E++)k=n._frames[E],k&&(L||String(k.group)===String(t))&&A.push({type:\"byname\",name:String(k.name),data:p({name:k.name})});else if(_)for(E=0;E<t.length;E++){var M=t[E];[\"number\",\"string\"].indexOf(typeof M)!==-1?(M=String(M),A.push({type:\"byname\",name:M,data:p({name:M})})):sa.isPlainObject(M)&&A.push({type:\"object\",data:p(sa.extendFlat({},M))})}for(E=0;E<A.length;E++)if(k=A[E],k.type===\"byname\"&&!n._frameHash[k.data.name]){sa.warn('animate failure: frame not found: \"'+k.data.name+'\"'),c();return}[\"next\",\"immediate\"].indexOf(r.mode)!==-1&&f(),r.direction===\"reverse\"&&A.reverse();var g=e._fullLayout._currentFrame;if(g&&r.fromcurrent){var P=-1;for(E=0;E<A.length;E++)if(k=A[E],k.type===\"byname\"&&k.name===g){P=E;break}if(P>0&&P<A.length-1){var T=[];for(E=0;E<A.length;E++)k=A[E],(A[E].type!==\"byname\"||E>P)&&T.push(k);A=T}}A.length>0?h(A):(e.emit(\"plotly_animated\"),u())})}function Tht(e,t,r){if(e=sa.getGraphDiv(e),t==null)return Promise.resolve();if(!sa.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e+\". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/\");var n,i,a,o,s=e._transitionData._frames,l=e._transitionData._frameHash;if(!Array.isArray(t))throw new Error(\"addFrames failure: frameList must be an Array of frame definitions\"+t);var u=s.length+t.length*2,c=[],f={};for(n=t.length-1;n>=0;n--)if(sa.isPlainObject(t[n])){var h=t[n].name,d=(l[h]||f[h]||{}).name,v=t[n].name,x=l[d]||f[d];d&&v&&typeof v==\"number\"&&x&&NN<Mhe&&(NN++,sa.warn('addFrames: overwriting frame \"'+(l[d]||f[d]).name+'\" with a frame whose name of type \"number\" also equates to \"'+d+'\". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),NN===Mhe&&sa.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.\")),f[h]={name:h},c.push({frame:Ho.supplyFrameDefaults(t[n]),index:r&&r[n]!==void 0&&r[n]!==null?r[n]:u+n})}c.sort(function(C,M){return C.index>M.index?-1:C.index<M.index?1:0});var b=[],p=[],E=s.length;for(n=c.length-1;n>=0;n--){if(i=c[n].frame,typeof i.name==\"number\"&&sa.warn(\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\"),!i.name)for(;l[i.name=\"frame \"+e._transitionData._counter++];);if(l[i.name]){for(a=0;a<s.length&&(s[a]||{}).name!==i.name;a++);b.push({type:\"replace\",index:a,value:i}),p.unshift({type:\"replace\",index:a,value:s[a]})}else o=Math.max(0,Math.min(c[n].index,E)),b.push({type:\"insert\",index:o,value:i}),p.unshift({type:\"delete\",index:o}),E++}var k=Ho.modifyFrames,A=Ho.modifyFrames,L=[e,p],_=[e,b];return ap&&ap.add(e,k,L,A,_),Ho.modifyFrames(e,b)}function Aht(e,t){if(e=sa.getGraphDiv(e),!sa.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e);var r,n,i=e._transitionData._frames,a=[],o=[];if(!t)for(t=[],r=0;r<i.length;r++)t.push(r);for(t=t.slice(),t.sort(),r=t.length-1;r>=0;r--)n=t[r],a.push({type:\"delete\",index:n}),o.unshift({type:\"insert\",index:n,value:i[n]});var s=Ho.modifyFrames,l=Ho.modifyFrames,u=[e,o],c=[e,a];return ap&&ap.add(e,s,u,l,c),Ho.modifyFrames(e,a)}function Sht(e){e=sa.getGraphDiv(e);var t=e._fullLayout||{},r=e._fullData||[];return Ho.cleanPlot([],{},r,t),Ho.purge(e),UN.purge(e),t._container&&t._container.remove(),delete e._context,e}function Mht(e){var t=e._fullLayout,r=e.getBoundingClientRect();if(!sa.equalDomRects(r,t._lastBBox)){var n=t._invTransform=sa.inverseTransformMatrix(sa.getFullTransformMatrix(e));t._invScaleX=Math.sqrt(n[0][0]*n[0][0]+n[0][1]*n[0][1]+n[0][2]*n[0][2]),t._invScaleY=Math.sqrt(n[1][0]*n[1][0]+n[1][1]*n[1][1]+n[1][2]*n[1][2]),t._lastBBox=r}}function Eht(e){var t=CP.select(e),r=e._fullLayout;if(r._calcInverseTransform=Mht,r._calcInverseTransform(e),r._container=t.selectAll(\".plot-container\").data([0]),r._container.enter().insert(\"div\",\":first-child\").classed(\"plot-container\",!0).classed(\"plotly\",!0).style({width:\"100%\",height:\"100%\"}),r._paperdiv=r._container.selectAll(\".svg-container\").data([0]),r._paperdiv.enter().append(\"div\").classed(\"user-select-none\",!0).classed(\"svg-container\",!0).style(\"position\",\"relative\"),r._glcontainer=r._paperdiv.selectAll(\".gl-container\").data([{}]),r._glcontainer.enter().append(\"div\").classed(\"gl-container\",!0),r._paperdiv.selectAll(\".main-svg\").remove(),r._paperdiv.select(\".modebar-container\").remove(),r._paper=r._paperdiv.insert(\"svg\",\":first-child\").classed(\"main-svg\",!0),r._toppaper=r._paperdiv.append(\"svg\").classed(\"main-svg\",!0),r._modebardiv=r._paperdiv.append(\"div\"),delete r._modeBar,r._hoverpaper=r._paperdiv.append(\"svg\").classed(\"main-svg\",!0),!r._uid){var n={};CP.selectAll(\"defs\").each(function(){this.id&&(n[this.id.split(\"-\")[1]]=1)}),r._uid=sa.randstr(n)}r._paperdiv.selectAll(\".main-svg\").attr(tht.svgAttrs),r._defs=r._paper.append(\"defs\").attr(\"id\",\"defs-\"+r._uid),r._clips=r._defs.append(\"g\").classed(\"clips\",!0),r._topdefs=r._toppaper.append(\"defs\").attr(\"id\",\"topdefs-\"+r._uid),r._topclips=r._topdefs.append(\"g\").classed(\"clips\",!0),r._bgLayer=r._paper.append(\"g\").classed(\"bglayer\",!0),r._draggers=r._paper.append(\"g\").classed(\"draglayer\",!0);var i=r._paper.append(\"g\").classed(\"layer-below\",!0);r._imageLowerLayer=i.append(\"g\").classed(\"imagelayer\",!0),r._shapeLowerLayer=i.append(\"g\").classed(\"shapelayer\",!0),r._cartesianlayer=r._paper.append(\"g\").classed(\"cartesianlayer\",!0),r._polarlayer=r._paper.append(\"g\").classed(\"polarlayer\",!0),r._smithlayer=r._paper.append(\"g\").classed(\"smithlayer\",!0),r._ternarylayer=r._paper.append(\"g\").classed(\"ternarylayer\",!0),r._geolayer=r._paper.append(\"g\").classed(\"geolayer\",!0),r._funnelarealayer=r._paper.append(\"g\").classed(\"funnelarealayer\",!0),r._pielayer=r._paper.append(\"g\").classed(\"pielayer\",!0),r._iciclelayer=r._paper.append(\"g\").classed(\"iciclelayer\",!0),r._treemaplayer=r._paper.append(\"g\").classed(\"treemaplayer\",!0),r._sunburstlayer=r._paper.append(\"g\").classed(\"sunburstlayer\",!0),r._indicatorlayer=r._toppaper.append(\"g\").classed(\"indicatorlayer\",!0),r._glimages=r._paper.append(\"g\").classed(\"glimages\",!0);var a=r._toppaper.append(\"g\").classed(\"layer-above\",!0);r._imageUpperLayer=a.append(\"g\").classed(\"imagelayer\",!0),r._shapeUpperLayer=a.append(\"g\").classed(\"shapelayer\",!0),r._selectionLayer=r._toppaper.append(\"g\").classed(\"selectionlayer\",!0),r._infolayer=r._toppaper.append(\"g\").classed(\"infolayer\",!0),r._menulayer=r._toppaper.append(\"g\").classed(\"menulayer\",!0),r._zoomlayer=r._toppaper.append(\"g\").classed(\"zoomlayer\",!0),r._hoverlayer=r._hoverpaper.append(\"g\").classed(\"hoverlayer\",!0),r._modebardiv.classed(\"modebar-container\",!0).style(\"position\",\"absolute\").style(\"top\",\"0px\").style(\"right\",\"0px\"),e.emit(\"plotly_framework\")}pl.animate=wht;pl.addFrames=Tht;pl.deleteFrames=Aht;pl.addTraces=Ohe;pl.deleteTraces=Bhe;pl.extendTraces=Fhe;pl.moveTraces=VN;pl.prependTraces=qhe;pl.newPlot=lht;pl._doPlot=nht;pl.purge=Sht;pl.react=_ht;pl.redraw=sht;pl.relayout=OM;pl.restyle=IP;pl.setPlotConfig=aht;pl.update=DP;pl._guiRelayout=GN(OM);pl._guiRestyle=GN(IP);pl._guiUpdate=GN(DP);pl._storeDirectGUIEdit=hht});var Ly=ye(Mm=>{\"use strict\";var kht=ba();Mm.getDelay=function(e){return e._has&&(e._has(\"gl3d\")||e._has(\"mapbox\")||e._has(\"map\"))?500:0};Mm.getRedrawFunc=function(e){return function(){kht.getComponentMethod(\"colorbar\",\"draw\")(e)}};Mm.encodeSVG=function(e){return\"data:image/svg+xml,\"+encodeURIComponent(e)};Mm.encodeJSON=function(e){return\"data:application/json,\"+encodeURIComponent(e)};var Whe=window.URL||window.webkitURL;Mm.createObjectURL=function(e){return Whe.createObjectURL(e)};Mm.revokeObjectURL=function(e){return Whe.revokeObjectURL(e)};Mm.createBlob=function(e,t){if(t===\"svg\")return new window.Blob([e],{type:\"image/svg+xml;charset=utf-8\"});if(t===\"full-json\")return new window.Blob([e],{type:\"application/json;charset=utf-8\"});var r=Cht(window.atob(e));return new window.Blob([r],{type:\"image/\"+t})};Mm.octetStream=function(e){document.location.href=\"data:application/octet-stream\"+e};function Cht(e){for(var t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;i<t;i++)n[i]=e.charCodeAt(i);return r}Mm.IMAGE_URL_PREFIX=/^data:image\\/\\w+;base64,/});var BP=ye((snr,Zhe)=>{\"use strict\";var WN=xa(),anr=Mr(),Lht=ao(),Pht=va(),onr=Zp(),jN=/\"/g,NM=\"TOBESTRIPPED\",Iht=new RegExp('(\"'+NM+\")|(\"+NM+'\")',\"g\");function Rht(e){var t=WN.select(\"body\").append(\"div\").style({display:\"none\"}).html(\"\"),r=e.replace(/(&[^;]*;)/gi,function(n){return n===\"<\"?\"<\":n===\"&rt;\"?\">\":n.indexOf(\"<\")!==-1||n.indexOf(\">\")!==-1?\"\":t.html(n).text()});return t.remove(),r}function Dht(e){return e.replace(/&(?!\\w+;|\\#[0-9]+;| \\#x[0-9A-F]+;)/g,\"&\")}Zhe.exports=function(t,r,n){var i=t._fullLayout,a=i._paper,o=i._toppaper,s=i.width,l=i.height,u;a.insert(\"rect\",\":first-child\").call(Lht.setRect,0,0,s,l).call(Pht.fill,i.paper_bgcolor);var c=i._basePlotModules||[];for(u=0;u<c.length;u++){var f=c[u];f.toSVG&&f.toSVG(t)}if(o){var h=o.node().childNodes,d=Array.prototype.slice.call(h);for(u=0;u<d.length;u++){var v=d[u];v.childNodes.length&&a.node().appendChild(v)}}i._draggers&&i._draggers.remove(),a.node().style.background=\"\",a.selectAll(\"text\").attr({\"data-unformatted\":null,\"data-math\":null}).each(function(){var b=WN.select(this);if(this.style.visibility===\"hidden\"||this.style.display===\"none\"){b.remove();return}else b.style({visibility:null,display:null});var p=this.style.fontFamily;p&&p.indexOf('\"')!==-1&&b.style(\"font-family\",p.replace(jN,NM));var E=this.style.fontWeight;E&&(E===\"normal\"||E===\"400\")&&b.style(\"font-weight\",void 0);var k=this.style.fontStyle;k&&k===\"normal\"&&b.style(\"font-style\",void 0);var A=this.style.fontVariant;A&&A===\"normal\"&&b.style(\"font-variant\",void 0)}),a.selectAll(\".gradient_filled,.pattern_filled\").each(function(){var b=WN.select(this),p=this.style.fill;p&&p.indexOf(\"url(\")!==-1&&b.style(\"fill\",p.replace(jN,NM));var E=this.style.stroke;E&&E.indexOf(\"url(\")!==-1&&b.style(\"stroke\",E.replace(jN,NM))}),(r===\"pdf\"||r===\"eps\")&&a.selectAll(\"#MathJax_SVG_glyphs path\").attr(\"stroke-width\",0),r===\"svg\"&&n&&(a.attr(\"width\",n*s),a.attr(\"height\",n*l),a.attr(\"viewBox\",\"0 0 \"+s+\" \"+l));var x=new window.XMLSerializer().serializeToString(a.node());return x=Rht(x),x=Dht(x),x=x.replace(Iht,\"'\"),x}});var NP=ye((lnr,Xhe)=>{\"use strict\";var zht=Mr(),Fht=vb().EventEmitter,UM=Ly();function qht(e){var t=e.emitter||new Fht,r=new Promise(function(n,i){var a=window.Image,o=e.svg,s=e.format||\"png\",l=e.canvas,u=e.scale||1,c=e.width||300,f=e.height||150,h=u*c,d=u*f,v=l.getContext(\"2d\",{willReadFrequently:!0}),x=new a,b,p;s===\"svg\"||zht.isSafari()?p=UM.encodeSVG(o):(b=UM.createBlob(o,\"svg\"),p=UM.createObjectURL(b)),l.width=h,l.height=d,x.onload=function(){var E;switch(b=null,UM.revokeObjectURL(p),s!==\"svg\"&&v.drawImage(x,0,0,h,d),s){case\"jpeg\":E=l.toDataURL(\"image/jpeg\");break;case\"png\":E=l.toDataURL(\"image/png\");break;case\"webp\":E=l.toDataURL(\"image/webp\");break;case\"svg\":E=p;break;default:var k=\"Image format is not jpeg, png, svg or webp.\";if(i(new Error(k)),!e.promise)return t.emit(\"error\",k)}n(E),e.promise||t.emit(\"success\",E)},x.onerror=function(E){if(b=null,UM.revokeObjectURL(p),i(E),!e.promise)return t.emit(\"error\",E)},x.src=p});return e.promise?r:t}Xhe.exports=qht});var XN=ye((unr,Jhe)=>{\"use strict\";var Yhe=uo(),Khe=OP(),Oht=Xu(),Em=Mr(),VM=Ly(),Bht=BP(),Nht=NP(),Uht=e6().version,ZN={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}};function Vht(e,t){t=t||{};var r,n,i,a;Em.isPlainObject(e)?(r=e.data||[],n=e.layout||{},i=e.config||{},a={}):(e=Em.getGraphDiv(e),r=Em.extendDeep([],e.data),n=Em.extendDeep({},e.layout),i=e._context,a=e._fullLayout||{});function o(_){return!(_ in t)||Em.validate(t[_],ZN[_])}if(!o(\"width\")&&t.width!==null||!o(\"height\")&&t.height!==null)throw new Error(\"Height and width should be pixel values.\");if(!o(\"format\"))throw new Error(\"Export format is not \"+Em.join2(ZN.format.values,\", \",\" or \")+\".\");var s={};function l(_,C){return Em.coerce(t,s,ZN,_,C)}var u=l(\"format\"),c=l(\"width\"),f=l(\"height\"),h=l(\"scale\"),d=l(\"setBackground\"),v=l(\"imageDataOnly\"),x=document.createElement(\"div\");x.style.position=\"absolute\",x.style.left=\"-5000px\",document.body.appendChild(x);var b=Em.extendFlat({},n);c?b.width=c:t.width===null&&Yhe(a.width)&&(b.width=a.width),f?b.height=f:t.height===null&&Yhe(a.height)&&(b.height=a.height);var p=Em.extendFlat({},i,{_exportedPlot:!0,staticPlot:!0,setBackground:d}),E=VM.getRedrawFunc(x);function k(){return new Promise(function(_){setTimeout(_,VM.getDelay(x._fullLayout))})}function A(){return new Promise(function(_,C){var M=Bht(x,u,h),g=x._fullLayout.width,P=x._fullLayout.height;function T(){Khe.purge(x),document.body.removeChild(x)}if(u===\"full-json\"){var F=Oht.graphJson(x,!1,\"keepdata\",\"object\",!0,!0);return F.version=Uht,F=JSON.stringify(F),T(),_(v?F:VM.encodeJSON(F))}if(T(),u===\"svg\")return _(v?M:VM.encodeSVG(M));var q=document.createElement(\"canvas\");q.id=Em.randstr(),Nht({format:u,width:g,height:P,scale:h,canvas:q,svg:M,promise:!0}).then(_).catch(C)})}function L(_){return v?_.replace(VM.IMAGE_URL_PREFIX,\"\"):_}return new Promise(function(_,C){Khe.newPlot(x,r,b,p).then(E).then(k).then(A).then(function(M){_(L(M))}).catch(function(M){C(M)})})}Jhe.exports=Vht});var tde=ye((cnr,ede)=>{\"use strict\";var P0=Mr(),Hht=Xu(),Ght=_3(),jht=ub().dfltConfig,Lg=P0.isPlainObject,Vb=Array.isArray,$he=P0.isArrayOrTypedArray;ede.exports=function(t,r){t===void 0&&(t=[]),r===void 0&&(r={});var n=Ght.get(),i=[],a={_context:P0.extendFlat({},jht)},o,s;Vb(t)?(a.data=P0.extendDeep([],t),o=t):(a.data=[],o=[],i.push(cd(\"array\",\"data\"))),Lg(r)?(a.layout=P0.extendDeep({},r),s=r):(a.layout={},s={},arguments.length>1&&i.push(cd(\"object\",\"layout\"))),Hht.supplyDefaults(a);for(var l=a._fullData,u=o.length,c=0;c<u;c++){var f=o[c],h=[\"data\",c];if(!Lg(f)){i.push(cd(\"object\",h));continue}var d=l[c],v=d.type,x=n.traces[v].attributes;x.type={valType:\"enumerated\",values:[v]},d.visible===!1&&f.visible!==!1&&i.push(cd(\"invisible\",h)),UP(f,d,x,i,h)}var b=a._fullLayout,p=Wht(n,l);return UP(s,b,p,i,\"layout\"),i.length===0?void 0:i};function UP(e,t,r,n,i,a){a=a||[];for(var o=Object.keys(e),s=0;s<o.length;s++){var l=o[s],u=a.slice();u.push(l);var c=e[l],f=t[l],h=Yht(r,l),d=(h||{}).valType,v=d===\"info_array\",x=d===\"colorscale\",b=(h||{}).items;if(!Xht(r,l))n.push(cd(\"schema\",i,u));else if(Lg(c)&&Lg(f)&&d!==\"any\")UP(c,f,h,n,i,u);else if(v&&Vb(c)){c.length>f.length&&n.push(cd(\"unused\",i,u.concat(f.length)));var p=f.length,E=Array.isArray(b);E&&(p=Math.min(p,b.length));var k,A,L,_,C;if(h.dimensions===2)for(A=0;A<p;A++)if(Vb(c[A])){c[A].length>f[A].length&&n.push(cd(\"unused\",i,u.concat(A,f[A].length)));var M=f[A].length;for(k=0;k<(E?Math.min(M,b[A].length):M);k++)L=E?b[A][k]:b,_=c[A][k],C=f[A][k],P0.validate(_,L)?C!==_&&C!==+_&&n.push(cd(\"dynamic\",i,u.concat(A,k),_,C)):n.push(cd(\"value\",i,u.concat(A,k),_))}else n.push(cd(\"array\",i,u.concat(A),c[A]));else for(A=0;A<p;A++)L=E?b[A]:b,_=c[A],C=f[A],P0.validate(_,L)?C!==_&&C!==+_&&n.push(cd(\"dynamic\",i,u.concat(A),_,C)):n.push(cd(\"value\",i,u.concat(A),_))}else if(h.items&&!v&&Vb(c)){var g=b[Object.keys(b)[0]],P=[],T,F;for(T=0;T<f.length;T++){var q=f[T]._index||T;if(F=u.slice(),F.push(q),Lg(c[q])&&Lg(f[T])){P.push(q);var V=c[q],H=f[T];Lg(V)&&V.visible!==!1&&H.visible===!1?n.push(cd(\"invisible\",i,F)):UP(V,H,g,n,i,F)}}for(T=0;T<c.length;T++)F=u.slice(),F.push(T),Lg(c[T])?P.indexOf(T)===-1&&n.push(cd(\"unused\",i,F)):n.push(cd(\"object\",i,F,c[T]))}else!Lg(c)&&Lg(f)?n.push(cd(\"object\",i,u,c)):!$he(c)&&$he(f)&&!v&&!x?n.push(cd(\"array\",i,u,c)):l in t?P0.validate(c,h)?h.valType===\"enumerated\"&&(h.coerceNumber&&c!==+f||c!==f)&&n.push(cd(\"dynamic\",i,u,c,f)):n.push(cd(\"value\",i,u,c)):n.push(cd(\"unused\",i,u,c))}return n}function Wht(e,t){for(var r=e.layout.layoutAttributes,n=0;n<t.length;n++){var i=t[n],a=e.traces[i.type],o=a.layoutAttributes;o&&(i.subplot?P0.extendFlat(r[a.attributes.subplot.dflt],o):P0.extendFlat(r,o))}return r}var Zht={object:function(e,t){var r;return e===\"layout\"&&t===\"\"?r=\"The layout argument\":e[0]===\"data\"&&t===\"\"?r=\"Trace \"+e[1]+\" in the data argument\":r=Ub(e)+\"key \"+t,r+\" must be linked to an object container\"},array:function(e,t){var r;return e===\"data\"?r=\"The data argument\":r=Ub(e)+\"key \"+t,r+\" must be linked to an array container\"},schema:function(e,t){return Ub(e)+\"key \"+t+\" is not part of the schema\"},unused:function(e,t,r){var n=Lg(r)?\"container\":\"key\";return Ub(e)+n+\" \"+t+\" did not get coerced\"},dynamic:function(e,t,r,n){return[Ub(e)+\"key\",t,\"(set to '\"+r+\"')\",\"got reset to\",\"'\"+n+\"'\",\"during defaults.\"].join(\" \")},invisible:function(e,t){return(t?Ub(e)+\"item \"+t:\"Trace \"+e[1])+\" got defaulted to be not visible\"},value:function(e,t,r){return[Ub(e)+\"key \"+t,\"is set to an invalid value (\"+r+\")\"].join(\" \")}};function Ub(e){return Vb(e)?\"In data trace \"+e[1]+\", \":\"In \"+e+\", \"}function cd(e,t,r,n,i){r=r||\"\";var a,o;Vb(t)?(a=t[0],o=t[1]):(a=t,o=null);var s=Jht(r),l=Zht[e](t,s,n,i);return P0.log(l),{code:e,container:a,trace:o,path:r,astr:s,msg:l}}function Xht(e,t){var r=Qhe(t),n=r.keyMinusId,i=r.id;return n in e&&e[n]._isSubplotObj&&i?!0:t in e}function Yht(e,t){if(t in e)return e[t];var r=Qhe(t);return e[r.keyMinusId]}var Kht=P0.counterRegex(\"([a-z]+)\");function Qhe(e){var t=e.match(Kht);return{keyMinusId:t&&t[1],id:t&&t[2]}}function Jht(e){if(!Vb(e))return String(e);for(var t=\"\",r=0;r<e.length;r++){var n=e[r];typeof n==\"number\"?t=t.substr(0,t.length-1)+\"[\"+n+\"]\":t+=n,r<e.length-1&&(t+=\".\")}return t}});var ide=ye((fnr,rde)=>{\"use strict\";var $ht=Mr(),VP=Ly();function Qht(e,t,r){var n=document.createElement(\"a\"),i=\"download\"in n,a=new Promise(function(o,s){var l,u;if(i)return l=VP.createBlob(e,r),u=VP.createObjectURL(l),n.href=u,n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n),VP.revokeObjectURL(u),l=null,o(t);if($ht.isSafari()){var c=r===\"svg\"?\",\":\";base64,\";return VP.octetStream(c+encodeURIComponent(e)),o(t)}s(new Error(\"download error\"))});return a}rde.exports=Qht});var YN=ye((dnr,ade)=>{\"use strict\";var nde=Mr(),edt=XN(),tdt=ide(),hnr=Ly();function rdt(e,t){var r;return nde.isPlainObject(e)||(r=nde.getGraphDiv(e)),t=t||{},t.format=t.format||\"png\",t.width=t.width||null,t.height=t.height||null,t.imageDataOnly=!0,new Promise(function(n,i){r&&r._snapshotInProgress&&i(new Error(\"Snapshotting already in progress.\")),r&&(r._snapshotInProgress=!0);var a=edt(e,t),o=t.filename||e.fn||\"newplot\";o+=\".\"+t.format.replace(\"-\",\".\"),a.then(function(s){return r&&(r._snapshotInProgress=!1),tdt(s,o,t.format)}).then(function(s){n(s)}).catch(function(s){r&&(r._snapshotInProgress=!1),i(s)})})}ade.exports=rdt});var cde=ye(KN=>{\"use strict\";var Cp=Mr(),Lp=Cp.isPlainObject,ode=_3(),sde=Xu(),idt=vl(),lde=Vs(),ude=ub().dfltConfig;KN.makeTemplate=function(e){e=Cp.isPlainObject(e)?e:Cp.getGraphDiv(e),e=Cp.extendDeep({_context:ude},{data:e.data,layout:e.layout}),sde.supplyDefaults(e);var t=e.data||[],r=e.layout||{};r._basePlotModules=e._fullLayout._basePlotModules,r._modules=e._fullLayout._modules;var n={data:{},layout:{}};t.forEach(function(d){var v={};HM(d,v,adt.bind(null,d));var x=Cp.coerce(d,{},idt,\"type\"),b=n.data[x];b||(b=n.data[x]=[]),b.push(v)}),HM(r,n.layout,ndt.bind(null,r)),delete n.layout.template;var i=r.template;if(Lp(i)){var a=i.layout,o,s,l,u,c,f;Lp(a)&&HP(a,n.layout);var h=i.data;if(Lp(h)){for(s in n.data)if(l=h[s],Array.isArray(l)){for(c=n.data[s],f=c.length,u=l.length,o=0;o<f;o++)HP(l[o%u],c[o]);for(o=f;o<u;o++)c.push(Cp.extendDeep({},l[o]))}for(s in h)s in n.data||(n.data[s]=Cp.extendDeep([],h[s]))}}return n};function HP(e,t){e=Cp.extendDeep({},e);var r=Object.keys(e).sort(),n,i;function a(c,f,h){if(Lp(f)&&Lp(c))HP(c,f);else if(Array.isArray(f)&&Array.isArray(c)){var d=lde.arrayTemplater({_template:e},h);for(i=0;i<f.length;i++){var v=f[i],x=d.newItem(v)._template;x&&HP(x,v)}var b=d.defaultItems();for(i=0;i<b.length;i++)f.push(b[i]._template);for(i=0;i<f.length;i++)delete f[i].templateitemname}}for(n=0;n<r.length;n++){var o=r[n],s=e[o];if(o in t?a(s,t[o],o):t[o]=s,GP(o)===o)for(var l in t){var u=GP(l);l!==u&&u===o&&!(l in e)&&a(s,t[l],o)}}}function GP(e){return e.replace(/[0-9]+$/,\"\")}function HM(e,t,r,n,i){var a=i&&r(i);for(var o in e){var s=e[o],l=I0(e,o,n),u=I0(e,o,i),c=r(u);if(!c){var f=GP(o);f!==o&&(u=I0(e,f,i),c=r(u))}if(!(a&&a===c)&&!(!c||c._noTemplating||c.valType===\"data_array\"||c.arrayOk&&Array.isArray(s)))if(!c.valType&&Lp(s))HM(s,t,r,l,u);else if(c._isLinkedToArray&&Array.isArray(s))for(var h=!1,d=0,v={},x=0;x<s.length;x++){var b=s[x];if(Lp(b)){var p=b.name;if(p)v[p]||(HM(b,t,r,I0(s,d,l),I0(s,d,u)),d++,v[p]=1);else if(!h){var E=lde.arrayDefaultKey(o),k=I0(e,E,n),A=I0(s,d,l);HM(b,t,r,A,I0(s,d,u));var L=Cp.nestedProperty(t,A),_=Cp.nestedProperty(t,k);_.set(L.get()),L.set(null),h=!0}}}else{var C=Cp.nestedProperty(t,l);C.set(s)}}}function ndt(e,t){return ode.getLayoutValObject(e,Cp.nestedProperty({},t).parts)}function adt(e,t){return ode.getTraceValObject(e,Cp.nestedProperty({},t).parts)}function I0(e,t,r){var n;return r?Array.isArray(e)?n=r+\"[\"+t+\"]\":n=r+\".\"+t:n=t,n}KN.validateTemplate=function(e,t){var r=Cp.extendDeep({},{_context:ude,data:e.data,layout:e.layout}),n=r.layout||{};Lp(t)||(t=n.template||{});var i=t.layout,a=t.data,o=[];r.layout=n,r.layout.template=t,sde.supplyDefaults(r);var s=r._fullLayout,l=r._fullData,u={};function c(k,A){for(var L in k)if(L.charAt(0)!==\"_\"&&Lp(k[L])){var _=GP(L),C=[],M;for(M=0;M<A.length;M++)C.push(I0(k,L,A[M])),_!==L&&C.push(I0(k,_,A[M]));for(M=0;M<C.length;M++)u[C[M]]=1;c(k[L],C)}}function f(k,A){for(var L in k)if(L.indexOf(\"defaults\")===-1&&Lp(k[L])){var _=I0(k,L,A);u[_]?f(k[L],_):o.push({code:\"unused\",path:_})}}if(Lp(i)?(c(s,[\"layout\"]),f(i,\"layout\")):o.push({code:\"layout\"}),!Lp(a))o.push({code:\"data\"});else{for(var h={},d,v=0;v<l.length;v++){var x=l[v];d=x.type,h[d]=(h[d]||0)+1,x._fullInput._template||o.push({code:\"missing\",index:x.index,traceType:d})}for(d in a){var b=a[d].length,p=h[d]||0;b>p?o.push({code:\"unused\",traceType:d,templateCount:b,dataCount:p}):p>b&&o.push({code:\"reused\",traceType:d,templateCount:b,dataCount:p})}}function E(k,A){for(var L in k)if(L.charAt(0)!==\"_\"){var _=k[L],C=I0(k,L,A);Lp(_)?(Array.isArray(k)&&_._template===!1&&_.templateitemname&&o.push({code:\"missing\",path:C,templateitemname:_.templateitemname}),E(_,C)):Array.isArray(_)&&odt(_)&&E(_,C)}}if(E({data:l,layout:s},\"\"),o.length)return o.map(sdt)};function odt(e){for(var t=0;t<e.length;t++)if(Lp(e[t]))return!0}function sdt(e){var t;switch(e.code){case\"data\":t=\"The template has no key data.\";break;case\"layout\":t=\"The template has no key layout.\";break;case\"missing\":e.path?t=\"There are no templates for item \"+e.path+\" with name \"+e.templateitemname:t=\"There are no templates for trace \"+e.index+\", of type \"+e.traceType+\".\";break;case\"unused\":e.path?t=\"The template item at \"+e.path+\" was not used in constructing the plot.\":e.dataCount?t=\"Some of the templates of type \"+e.traceType+\" were not used. The template has \"+e.templateCount+\" traces, the data only has \"+e.dataCount+\" of this type.\":t=\"The template has \"+e.templateCount+\" traces of type \"+e.traceType+\" but there are none in the data.\";break;case\"reused\":t=\"Some of the templates of type \"+e.traceType+\" were used more than once. The template has \"+e.templateCount+\" traces, the data has \"+e.dataCount+\" of this type.\";break}return e.msg=t,e}});var hde=ye(Sc=>{\"use strict\";var Hh=OP();Sc._doPlot=Hh._doPlot;Sc.newPlot=Hh.newPlot;Sc.restyle=Hh.restyle;Sc.relayout=Hh.relayout;Sc.redraw=Hh.redraw;Sc.update=Hh.update;Sc._guiRestyle=Hh._guiRestyle;Sc._guiRelayout=Hh._guiRelayout;Sc._guiUpdate=Hh._guiUpdate;Sc._storeDirectGUIEdit=Hh._storeDirectGUIEdit;Sc.react=Hh.react;Sc.extendTraces=Hh.extendTraces;Sc.prependTraces=Hh.prependTraces;Sc.addTraces=Hh.addTraces;Sc.deleteTraces=Hh.deleteTraces;Sc.moveTraces=Hh.moveTraces;Sc.purge=Hh.purge;Sc.addFrames=Hh.addFrames;Sc.deleteFrames=Hh.deleteFrames;Sc.animate=Hh.animate;Sc.setPlotConfig=Hh.setPlotConfig;var ldt=DS().getGraphDiv,udt=rP().eraseActiveShape;Sc.deleteActiveShape=function(e){return udt(ldt(e))};Sc.toImage=XN();Sc.validate=tde();Sc.downloadImage=YN();var fde=cde();Sc.makeTemplate=fde.makeTemplate;Sc.validateTemplate=fde.validateTemplate});var K3=ye((gnr,dde)=>{\"use strict\";var JN=Mr(),cdt=ba();dde.exports=function(t,r,n,i){var a=i(\"x\"),o=i(\"y\"),s,l=cdt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");if(l(t,r,[\"x\",\"y\"],n),a){var u=JN.minRowLength(a);o?s=Math.min(u,JN.minRowLength(o)):(s=u,i(\"y0\"),i(\"dy\"))}else{if(!o)return 0;s=JN.minRowLength(o),i(\"x0\"),i(\"dx\")}return r._length=s,s}});var Pg=ye((mnr,gde)=>{\"use strict\";var vde=Mr().dateTick0,fdt=es(),hdt=fdt.ONEWEEK;function pde(e,t){return e%hdt===0?vde(t,1):vde(t,0)}gde.exports=function(t,r,n,i,a){if(a||(a={x:!0,y:!0}),a.x){var o=i(\"xperiod\");o&&(i(\"xperiod0\",pde(o,r.xcalendar)),i(\"xperiodalignment\"))}if(a.y){var s=i(\"yperiod\");s&&(i(\"yperiod0\",pde(s,r.ycalendar)),i(\"yperiodalignment\"))}}});var _de=ye((ynr,yde)=>{\"use strict\";var mde=[\"orientation\",\"groupnorm\",\"stackgaps\"];yde.exports=function(t,r,n,i){var a=n._scatterStackOpts,o=i(\"stackgroup\");if(o){var s=r.xaxis+r.yaxis,l=a[s];l||(l=a[s]={});var u=l[o],c=!1;u?u.traces.push(r):(u=l[o]={traceIndices:[],traces:[r]},c=!0);for(var f={orientation:r.x&&!r.y?\"h\":\"v\"},h=0;h<mde.length;h++){var d=mde[h],v=d+\"Found\";if(!u[v]){var x=t[d]!==void 0,b=d===\"orientation\";if((x||c)&&(u[d]=i(d,f[d]),b&&(u.fillDflt=u[d]===\"h\"?\"tonextx\":\"tonexty\"),x&&(u[v]=!0,!c&&(delete u.traces[0][d],b))))for(var p=0;p<u.traces.length-1;p++){var E=u.traces[p];E._input.fill!==E.fill&&(E.fill=u.fillDflt)}}}return u}}});var $p=ye((_nr,Tde)=>{\"use strict\";var xde=va(),bde=Dv().hasColorscale,wde=Uh(),ddt=lu();Tde.exports=function(t,r,n,i,a,o){var s=ddt.isBubble(t),l=(t.line||{}).color,u;if(o=o||{},l&&(n=l),a(\"marker.symbol\"),a(\"marker.opacity\",s?.7:1),a(\"marker.size\"),o.noAngle||(a(\"marker.angle\"),o.noAngleRef||a(\"marker.angleref\"),o.noStandOff||a(\"marker.standoff\")),a(\"marker.color\",n),bde(t,\"marker\")&&wde(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}),o.noSelect||(a(\"selected.marker.color\"),a(\"unselected.marker.color\"),a(\"selected.marker.size\"),a(\"unselected.marker.size\")),o.noLine||(l&&!Array.isArray(l)&&r.marker.color!==l?u=l:s?u=xde.background:u=xde.defaultLine,a(\"marker.line.color\",u),bde(t,\"marker.line\")&&wde(t,r,i,a,{prefix:\"marker.line.\",cLetter:\"c\"}),a(\"marker.line.width\",s?1:0)),s&&(a(\"marker.sizeref\"),a(\"marker.sizemin\"),a(\"marker.sizemode\")),o.gradient){var c=a(\"marker.gradient.type\");c!==\"none\"&&a(\"marker.gradient.color\")}}});var R0=ye((xnr,Ade)=>{\"use strict\";var vdt=Mr().isArrayOrTypedArray,pdt=Dv().hasColorscale,gdt=Uh();Ade.exports=function(t,r,n,i,a,o){o||(o={});var s=(t.marker||{}).color;if(s&&s._inputArray&&(s=s._inputArray),a(\"line.color\",n),pdt(t,\"line\"))gdt(t,r,i,a,{prefix:\"line.\",cLetter:\"c\"});else{var l=(vdt(s)?!1:s)||n;a(\"line.color\",l)}a(\"line.width\"),o.noDash||a(\"line.dash\"),o.backoff&&a(\"line.backoff\")}});var J3=ye((bnr,Sde)=>{\"use strict\";Sde.exports=function(t,r,n){var i=n(\"line.shape\");i===\"spline\"&&n(\"line.smoothing\")}});var D0=ye((wnr,Mde)=>{\"use strict\";var mdt=Mr();Mde.exports=function(e,t,r,n,i){i=i||{},n(\"textposition\"),mdt.coerceFont(n,\"textfont\",i.font||r.font,i),i.noSelect||(n(\"selected.textfont.color\"),n(\"unselected.textfont.color\"))}});var Ig=ye((Tnr,kde)=>{\"use strict\";var jP=va(),Ede=Mr().isArrayOrTypedArray;function ydt(e){for(var t=jP.interpolate(e[0][1],e[1][1],.5),r=2;r<e.length;r++){var n=jP.interpolate(e[r-1][1],e[r][1],.5);t=jP.interpolate(t,n,e[r-1][0]/e[r][0])}return t}kde.exports=function(t,r,n,i,a){a||(a={});var o=!1;if(r.marker){var s=r.marker.color,l=(r.marker.line||{}).color;s&&!Ede(s)?o=s:l&&!Ede(l)&&(o=l)}var u;if(a.moduleHasFillgradient){var c=i(\"fillgradient.type\");if(c!==\"none\"){i(\"fillgradient.start\"),i(\"fillgradient.stop\");var f=i(\"fillgradient.colorscale\");f&&(u=ydt(f))}}i(\"fillcolor\",jP.addOpacity((r.line||{}).color||o||u||n,.5))}});var Ide=ye((Anr,Pde)=>{\"use strict\";var Cde=Mr(),_dt=ba(),xdt=Uc(),bdt=Sm(),$3=lu(),wdt=K3(),Tdt=Pg(),Adt=_de(),Sdt=$p(),Mdt=R0(),Lde=J3(),Edt=D0(),kdt=Ig(),Cdt=Mr().coercePattern;Pde.exports=function(t,r,n,i){function a(d,v){return Cde.coerce(t,r,xdt,d,v)}var o=wdt(t,r,i,a);if(o||(r.visible=!1),!!r.visible){Tdt(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zorder\");var s=Adt(t,r,i,a);i.scattermode===\"group\"&&r.orientation===void 0&&a(\"orientation\",\"v\");var l=!s&&o<bdt.PTS_LINESONLY?\"lines+markers\":\"lines\";a(\"text\"),a(\"hovertext\"),a(\"mode\",l),$3.hasMarkers(r)&&Sdt(t,r,n,i,a,{gradient:!0}),$3.hasLines(r)&&(Mdt(t,r,n,i,a,{backoff:!0}),Lde(t,r,a),a(\"connectgaps\"),a(\"line.simplify\")),$3.hasText(r)&&(a(\"texttemplate\"),Edt(t,r,i,a));var u=[];($3.hasMarkers(r)||$3.hasText(r))&&(a(\"cliponaxis\"),a(\"marker.maxdisplayed\"),u.push(\"points\")),a(\"fill\",s?s.fillDflt:\"none\"),r.fill!==\"none\"&&(kdt(t,r,n,a,{moduleHasFillgradient:!0}),$3.hasLines(r)||Lde(t,r,a),Cdt(a,\"fillpattern\",r.fillcolor,!1));var c=(r.line||{}).color,f=(r.marker||{}).color;(r.fill===\"tonext\"||r.fill===\"toself\")&&u.push(\"fills\"),a(\"hoveron\",u.join(\"+\")||\"points\"),r.hoveron!==\"fills\"&&a(\"hovertemplate\");var h=_dt.getComponentMethod(\"errorbars\",\"supplyDefaults\");h(t,r,c||f||n,{axis:\"y\"}),h(t,r,c||f||n,{axis:\"x\",inherit:\"y\"}),Cde.coerceSelectionMarkerOpacity(r,a)}}});var Hb=ye((Snr,Rde)=>{\"use strict\";var Ldt=Bb().getAxisGroup;Rde.exports=function(t,r,n,i,a){var o=r.orientation,s=r[{v:\"x\",h:\"y\"}[o]+\"axis\"],l=Ldt(n,s)+o,u=n._alignmentOpts||{},c=i(\"alignmentgroup\"),f=u[l];f||(f=u[l]={});var h=f[c];h?h.traces.push(r):h=f[c]={traces:[r],alignmentIndex:Object.keys(f).length,offsetGroups:{}};var d=i(\"offsetgroup\")||\"\",v=h.offsetGroups,x=v[d];r._offsetIndex=0,(a!==\"group\"||d)&&(x||(x=v[d]={offsetIndex:Object.keys(v).length}),r._offsetIndex=x.offsetIndex)}});var $N=ye((Mnr,Dde)=>{\"use strict\";var Pdt=Mr(),Idt=Hb(),Rdt=Uc();Dde.exports=function(t,r){var n,i,a,o=r.scattermode;function s(h){return Pdt.coerce(i._input,i,Rdt,h)}if(r.scattermode===\"group\")for(a=0;a<t.length;a++)i=t[a],i.type===\"scatter\"&&(n=i._input,Idt(n,i,r,s,o));for(a=0;a<t.length;a++){var l=t[a];if(l.type===\"scatter\"){var u=l.fill;if(!(u===\"none\"||u===\"toself\")&&(l.opacity=void 0,u===\"tonexty\"||u===\"tonextx\"))for(var c=a-1;c>=0;c--){var f=t[c];if(f.type===\"scatter\"&&f.xaxis===l.xaxis&&f.yaxis===l.yaxis){f.opacity=void 0;break}}}}}});var Fde=ye((Enr,zde)=>{\"use strict\";var Ddt=Mr(),zdt=V6();zde.exports=function(e,t){function r(i,a){return Ddt.coerce(e,t,zdt,i,a)}var n=t.barmode===\"group\";t.scattermode===\"group\"&&r(\"scattergap\",n?t.bargap:.2)}});var Rg=ye((knr,Ode)=>{\"use strict\";var Fdt=uo(),qde=Mr(),qdt=qde.dateTime2ms,WP=qde.incrementMonth,Odt=es(),Bdt=Odt.ONEAVGMONTH;Ode.exports=function(t,r,n,i){if(r.type!==\"date\")return{vals:i};var a=t[n+\"periodalignment\"];if(!a)return{vals:i};var o=t[n+\"period\"],s;if(Fdt(o)){if(o=+o,o<=0)return{vals:i}}else if(typeof o==\"string\"&&o.charAt(0)===\"M\"){var l=+o.substring(1);if(l>0&&Math.round(l)===l)s=l;else return{vals:i}}for(var u=r.calendar,c=a===\"start\",f=a===\"end\",h=t[n+\"period0\"],d=qdt(h,u)||0,v=[],x=[],b=[],p=i.length,E=0;E<p;E++){var k=i[E],A,L,_;if(s){for(A=Math.round((k-d)/(s*Bdt)),_=WP(d,s*A,u);_>k;)_=WP(_,-s,u);for(;_<=k;)_=WP(_,s,u);L=WP(_,-s,u)}else{for(A=Math.round((k-d)/o),_=d+A*o;_>k;)_-=o;for(;_<=k;)_+=o;L=_-o}v[E]=c?L:f?_:(L+_)/2,x[E]=L,b[E]=_}return{vals:v,starts:x,ends:b}}});var z0=ye((Cnr,Nde)=>{\"use strict\";var QN=Dv().hasColorscale,eU=zv(),Bde=lu();Nde.exports=function(t,r){Bde.hasLines(r)&&QN(r,\"line\")&&eU(t,r,{vals:r.line.color,containerStr:\"line\",cLetter:\"c\"}),Bde.hasMarkers(r)&&(QN(r,\"marker\")&&eU(t,r,{vals:r.marker.color,containerStr:\"marker\",cLetter:\"c\"}),QN(r,\"marker.line\")&&eU(t,r,{vals:r.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}))}});var km=ye((Lnr,Ude)=>{\"use strict\";var Df=Mr();Ude.exports=function(t,r){for(var n=0;n<t.length;n++)t[n].i=n;Df.mergeArray(r.text,t,\"tx\"),Df.mergeArray(r.texttemplate,t,\"txt\"),Df.mergeArray(r.hovertext,t,\"htx\"),Df.mergeArray(r.customdata,t,\"data\"),Df.mergeArray(r.textposition,t,\"tp\"),r.textfont&&(Df.mergeArrayCastPositive(r.textfont.size,t,\"ts\"),Df.mergeArray(r.textfont.color,t,\"tc\"),Df.mergeArray(r.textfont.family,t,\"tf\"),Df.mergeArray(r.textfont.weight,t,\"tw\"),Df.mergeArray(r.textfont.style,t,\"ty\"),Df.mergeArray(r.textfont.variant,t,\"tv\"),Df.mergeArray(r.textfont.textcase,t,\"tC\"),Df.mergeArray(r.textfont.lineposition,t,\"tE\"),Df.mergeArray(r.textfont.shadow,t,\"tS\"));var i=r.marker;if(i){Df.mergeArrayCastPositive(i.size,t,\"ms\"),Df.mergeArrayCastPositive(i.opacity,t,\"mo\"),Df.mergeArray(i.symbol,t,\"mx\"),Df.mergeArray(i.angle,t,\"ma\"),Df.mergeArray(i.standoff,t,\"mf\"),Df.mergeArray(i.color,t,\"mc\");var a=i.line;i.line&&(Df.mergeArray(a.color,t,\"mlc\"),Df.mergeArrayCastPositive(a.width,t,\"mlw\"));var o=i.gradient;o&&o.type!==\"none\"&&(Df.mergeArray(o.type,t,\"mgt\"),Df.mergeArray(o.color,t,\"mgc\"))}}});var F0=ye((Pnr,Hde)=>{\"use strict\";var Vde=Mr();Hde.exports=function(t,r){Vde.isArrayOrTypedArray(r.selectedpoints)&&Vde.tagSelected(t,r)}});var q0=ye((Inr,Kde)=>{\"use strict\";var Gde=uo(),rU=Mr(),GM=Qa(),jde=Rg(),tU=es().BADNUM,iU=lu(),Ndt=z0(),Udt=km(),Vdt=F0();function Hdt(e,t){var r=e._fullLayout,n=t._xA=GM.getFromId(e,t.xaxis||\"x\",\"x\"),i=t._yA=GM.getFromId(e,t.yaxis||\"y\",\"y\"),a=n.makeCalcdata(t,\"x\"),o=i.makeCalcdata(t,\"y\"),s=jde(t,n,\"x\",a),l=jde(t,i,\"y\",o),u=s.vals,c=l.vals,f=t._length,h=new Array(f),d=t.ids,v=nU(t,r,n,i),x=!1,b,p,E,k,A,L;Xde(r,t);var _=\"x\",C=\"y\",M;if(v)rU.pushUnique(v.traceIndices,t.index),b=v.orientation===\"v\",b?(C=\"s\",M=\"x\"):(_=\"s\",M=\"y\"),A=v.stackgaps===\"interpolate\";else{var g=Zde(t,f);Wde(e,t,n,i,u,c,g)}var P=!!t.xperiodalignment,T=!!t.yperiodalignment;for(p=0;p<f;p++){var F=h[p]={},q=Gde(u[p]),V=Gde(c[p]);q&&V?(F[_]=u[p],F[C]=c[p],P&&(F.orig_x=a[p],F.xEnd=s.ends[p],F.xStart=s.starts[p]),T&&(F.orig_y=o[p],F.yEnd=l.ends[p],F.yStart=l.starts[p])):v&&(b?q:V)?(F[M]=b?u[p]:c[p],F.gap=!0,A?(F.s=tU,x=!0):F.s=0):F[_]=F[C]=tU,d&&(F.id=String(d[p]))}if(Udt(h,t),Ndt(e,t),Vdt(h,t),v){for(p=0;p<h.length;)h[p][M]===tU?h.splice(p,1):p++;if(rU.sort(h,function(N,W){return N[M]-W[M]||N.i-W.i}),x){for(p=0;p<h.length-1&&h[p].gap;)p++;for(L=h[p].s,L||(L=h[p].s=0),E=0;E<p;E++)h[E].s=L;for(k=h.length-1;k>p&&h[k].gap;)k--;for(L=h[k].s,E=h.length-1;E>k;E--)h[E].s=L;for(;p<k;)if(p++,h[p].gap){for(E=p+1;h[E].gap;)E++;for(var H=h[p-1][M],X=h[p-1].s,G=(h[E].s-X)/(h[E][M]-H);p<E;)h[p].s=X+(h[p][M]-H)*G,p++}}}return h}function Wde(e,t,r,n,i,a,o){var s=t._length,l=e._fullLayout,u=r._id,c=n._id,f=l._firstScatter[Yde(t)]===t.uid,h=(nU(t,l,r,n)||{}).orientation,d=t.fill;r._minDtick=0,n._minDtick=0;var v={padded:!0},x={padded:!0};o&&(v.ppad=x.ppad=o);var b=s<2||i[0]!==i[s-1]||a[0]!==a[s-1];b&&(d===\"tozerox\"||d===\"tonextx\"&&(f||h===\"h\"))?v.tozero=!0:!(t.error_y||{}).visible&&(d===\"tonexty\"||d===\"tozeroy\"||!iU.hasMarkers(t)&&!iU.hasText(t))&&(v.padded=!1,v.ppad=0),b&&(d===\"tozeroy\"||d===\"tonexty\"&&(f||h===\"v\"))?x.tozero=!0:(d===\"tonextx\"||d===\"tozerox\")&&(x.padded=!1),u&&(t._extremes[u]=GM.findExtremes(r,i,v)),c&&(t._extremes[c]=GM.findExtremes(n,a,x))}function Zde(e,t){if(iU.hasMarkers(e)){var r=e.marker,n=1.6*(e.marker.sizeref||1),i;if(e.marker.sizemode===\"area\"?i=function(u){return Math.max(Math.sqrt((u||0)/n),3)}:i=function(u){return Math.max((u||0)/n,3)},rU.isArrayOrTypedArray(r.size)){var a={type:\"linear\"};GM.setConvert(a);for(var o=a.makeCalcdata(e.marker,\"size\"),s=new Array(t),l=0;l<t;l++)s[l]=i(o[l]);return s}else return i(r.size)}}function Xde(e,t){var r=Yde(t),n=e._firstScatter;n[r]||(n[r]=t.uid)}function Yde(e){var t=e.stackgroup;return e.xaxis+e.yaxis+e.type+(t?\"-\"+t:\"\")}function nU(e,t,r,n){var i=e.stackgroup;if(i){var a=t._scatterStackOpts[r._id+n._id][i],o=a.orientation===\"v\"?n:r;if(o.type===\"linear\"||o.type===\"log\")return a}}Kde.exports={calc:Hdt,calcMarkerSize:Zde,calcAxisExpansion:Wde,setFirstScatter:Xde,getStackOpts:nU}});var $de=ye((Rnr,Jde)=>{\"use strict\";Jde.exports=ZP;var Gdt=Mr().distinctVals;function ZP(e,t){this.traces=e,this.sepNegVal=t.sepNegVal,this.overlapNoMerge=t.overlapNoMerge;for(var r=1/0,n=t.posAxis._id.charAt(0),i=[],a=0;a<e.length;a++){for(var o=e[a],s=0;s<o.length;s++){var l=o[s],u=l.p;u===void 0&&(u=l[n]),u!==void 0&&i.push(u)}o[0]&&o[0].width1&&(r=Math.min(o[0].width1,r))}this.positions=i;var c=Gdt(i);this.distinctPositions=c.vals,c.vals.length===1&&r!==1/0?this.minDiff=r:this.minDiff=Math.min(c.minDiff,r);var f=(t.posAxis||{}).type;(f===\"category\"||f===\"multicategory\")&&(this.minDiff=1),this.binWidth=this.minDiff,this.bins={}}ZP.prototype.put=function(t,r,n){var i=this.getLabel(t,r,n),a=this.bins[i]||0;return this.bins[i]=a+n,a};ZP.prototype.get=function(t,r,n){var i=this.getLabel(t,r,n);return this.bins[i]||0};ZP.prototype.getLabel=function(t,r,n){var i=n<0&&this.sepNegVal?\"v\":\"^\",a=this.overlapNoMerge?t:Math.round(t/this.binWidth);return i+a+\"g\"+r}});var Gb=ye((Dnr,rve)=>{\"use strict\";var O0=uo(),g_=Mr().isArrayOrTypedArray,Q3=es().BADNUM,jdt=ba(),jM=Qa(),Wdt=Bb().getAxisGroup,XP=$de();function Zdt(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,a=e._fullData,o=e.calcdata,s=[],l=[],u=0;u<a.length;u++){var c=a[u];if(c.visible===!0&&jdt.traceIs(c,\"bar\")&&c.xaxis===r._id&&c.yaxis===n._id&&(c.orientation===\"h\"?s.push(o[u]):l.push(o[u]),c._computePh))for(var f=e.calcdata[u],h=0;h<f.length;h++)typeof f[h].ph0==\"function\"&&(f[h].ph0=f[h].ph0()),typeof f[h].ph1==\"function\"&&(f[h].ph1=f[h].ph1())}var d={xCat:r.type===\"category\"||r.type===\"multicategory\",yCat:n.type===\"category\"||n.type===\"multicategory\",mode:i.barmode,norm:i.barnorm,gap:i.bargap,groupgap:i.bargroupgap};oU(e,r,n,l,d),oU(e,n,r,s,d)}function oU(e,t,r,n,i){if(n.length){var a,o,s,l,u;switch(Kdt(r,n),i.mode){case\"overlay\":aU(e,t,r,n,i);break;case\"group\":for(a=[],o=[],s=0;s<n.length;s++)l=n[s],u=l[0].trace,u.offset===void 0?o.push(l):a.push(l);o.length&&Jdt(e,t,r,o,i),a.length&&aU(e,t,r,a,i);break;case\"stack\":case\"relative\":for(a=[],o=[],s=0;s<n.length;s++)l=n[s],u=l[0].trace,u.base===void 0?o.push(l):a.push(l);Ydt(o),o.length&&$dt(e,t,r,o,i),a.length&&aU(e,t,r,a,i);break}Xdt(n),nvt(n,t)}}function Xdt(e){var t,r,n,i,a,o,s;for(t=0;t<e.length;t++)r=e[t],n=r[0].trace,i=r[0].t,i.cornerradiusvalue===void 0&&(a=n.marker?n.marker.cornerradius:void 0,a!==void 0&&(o=O0(a)?+a:+a.slice(0,-1),s=O0(a)?\"px\":\"%\",i.cornerradiusvalue=o,i.cornerradiusform=s))}function Ydt(e){if(!(e.length<2)){var t,r,n,i,a,o,s;for(t=0;t<e.length&&(r=e[t],n=r[0].trace,a=n.marker?n.marker.cornerradius:void 0,a===void 0);t++);if(a!==void 0)for(o=O0(a)?+a:+a.slice(0,-1),s=O0(a)?\"px\":\"%\",t=0;t<e.length;t++)r=e[t],i=r[0].t,i.cornerradiusvalue=o,i.cornerradiusform=s}}function Kdt(e,t){var r,n;for(r=0;r<t.length;r++){var i=t[r],a=i[0].trace,o=a.type===\"funnel\"?a._base:a.base,s,l=a.orientation===\"h\"?a.xcalendar:a.ycalendar,u=e.type===\"category\"||e.type===\"multicategory\"?function(){return null}:e.d2c;if(g_(o)){for(n=0;n<Math.min(o.length,i.length);n++)s=u(o[n],0,l),O0(s)?(i[n].b=+s,i[n].hasB=1):i[n].b=0;for(;n<i.length;n++)i[n].b=0}else{s=u(o,0,l);var c=O0(s);for(s=c?s:0,n=0;n<i.length;n++)i[n].b=s,c&&(i[n].hasB=1)}}}function aU(e,t,r,n,i){for(var a=0;a<n.length;a++){var o=n[a],s=new XP([o],{posAxis:t,sepNegVal:!1,overlapNoMerge:!i.norm});sU(e,t,s,i),i.norm?(tve(s),lU(r,s,i)):eve(r,s)}}function Jdt(e,t,r,n,i){var a=new XP(n,{posAxis:t,sepNegVal:!1,overlapNoMerge:!i.norm});sU(e,t,a,i),rvt(a,t),i.norm?(tve(a),lU(r,a,i)):eve(r,a)}function $dt(e,t,r,n,i){var a=new XP(n,{posAxis:t,sepNegVal:i.mode===\"relative\",overlapNoMerge:!(i.norm||i.mode===\"stack\"||i.mode===\"relative\")});sU(e,t,a,i),tvt(r,a,i);for(var o=0;o<n.length;o++)for(var s=n[o],l=s[0].t.offsetindex,u=0;u<s.length;u++){var c=s[u];if(c.s!==Q3){var f=c.b+c.s===a.get(c.p,l,c.s);f&&(c._outmost=!0)}}i.norm&&lU(r,a,i)}function sU(e,t,r,n){var i=e._fullLayout,a=r.positions,o=r.distinctPositions,s=r.minDiff,l=r.traces,u=l.length,c=a.length!==o.length,f=s*(1-n.gap),h,d,v,x;if(t._id===\"angularaxis\")h=f,d=h*(1-(n.groupgap||0)),v=-d/2;else{var b=Wdt(i,t._id)+l[0][0].trace.orientation;x=i._alignmentOpts[b]||{}}for(var p=0;p<u;p++){var E=l[p],k=E[0].trace;if(t._id!==\"angularaxis\"){var A=x[k.alignmentgroup]||{},L=Object.keys(A.offsetGroups||{}).length;L?h=f/L:h=c?f/u:f,d=h*(1-(n.groupgap||0)),L?v=((2*k._offsetIndex+1-L)*h-d)/2:v=c?((2*p+1-u)*h-d)/2:-d/2}var _=E[0].t;_.barwidth=d,_.offsetindex=k._offsetIndex||0,_.poffset=v,_.bargroupwidth=f,_.bardelta=s}r.binWidth=l[0][0].t.barwidth/100,Qdt(r),evt(t,r),t._id===\"angularaxis\"?Qde(t,r):Qde(t,r,c)}function Qdt(e){var t=e.traces,r,n;for(r=0;r<t.length;r++){var i=t[r],a=i[0],o=a.trace,s=a.t,l=o._offset||o.offset,u=s.poffset,c;if(g_(l)){for(c=Array.prototype.slice.call(l,0,i.length),n=0;n<c.length;n++)O0(c[n])||(c[n]=u);for(n=c.length;n<i.length;n++)c.push(u);s.poffset=c}else l!==void 0&&(s.poffset=l);var f=o._width||o.width,h=s.barwidth;if(g_(f)){var d=Array.prototype.slice.call(f,0,i.length);for(n=0;n<d.length;n++)O0(d[n])||(d[n]=h);for(n=d.length;n<i.length;n++)d.push(h);if(s.barwidth=d,l===void 0){for(c=[],n=0;n<i.length;n++)c.push(u+(h-d[n])/2);s.poffset=c}}else f!==void 0&&(s.barwidth=f,l===void 0&&(s.poffset=u+(h-f)/2))}}function evt(e,t){for(var r=t.traces,n=eT(e),i=0;i<r.length;i++)for(var a=r[i],o=a[0].t,s=o.poffset,l=g_(s),u=o.barwidth,c=g_(u),f=0;f<a.length;f++){var h=a[f],d=h.w=c?u[f]:u;h.p===void 0&&(h.p=h[n],h[\"orig_\"+n]=h[n]);var v=(l?s[f]:s)+d/2;h[n]=h.p+v}}function Qde(e,t,r){var n=t.traces,i=t.minDiff,a=i/2;jM.minDtick(e,t.minDiff,t.distinctPositions[0],r);for(var o=0;o<n.length;o++){var s=n[o],l=s[0],u=l.trace,c=[],f,h,d,v;for(v=0;v<s.length;v++)f=s[v],h=f.p-a,d=f.p+a,c.push(h,d);if(u.width||u.offset){var x=l.t,b=x.poffset,p=x.barwidth,E=g_(b),k=g_(p);for(v=0;v<s.length;v++){f=s[v];var A=E?b[v]:b,L=k?p[v]:p;h=f.p+A,d=h+L,c.push(h,d)}}u._extremes[e._id]=jM.findExtremes(e,c,{padded:!1})}}function eve(e,t){for(var r=t.traces,n=eT(e),i=0;i<r.length;i++){for(var a=r[i],o=a[0].trace,s=o.type===\"scatter\",l=o.orientation===\"v\",u=[],c=!1,f=0;f<a.length;f++){var h=a[f],d=s?0:h.b,v=s?l?h.y:h.x:d+h.s;h[n]=v,u.push(v),h.hasB&&u.push(d),(!h.hasB||!h.b)&&(c=!0)}o._extremes[e._id]=jM.findExtremes(e,u,{tozero:c,padded:!0})}}function tvt(e,t,r){var n=eT(e),i=t.traces,a,o,s,l,u,c,f;for(l=0;l<i.length;l++)if(a=i[l],o=a[0].trace,o.type===\"funnel\")for(f=a[0].t.offsetindex,u=0;u<a.length;u++)c=a[u],c.s!==Q3&&t.put(c.p,f,-.5*c.s);for(l=0;l<i.length;l++){a=i[l],o=a[0].trace,s=o.type===\"funnel\",f=o.type===\"barpolar\"?0:a[0].t.offsetindex;var h=[];for(u=0;u<a.length;u++)if(c=a[u],c.s!==Q3){var d;s?d=c.s:d=c.s+c.b;var v=t.put(c.p,f,d),x=v+d;c.b=v,c[n]=x,r.norm||(h.push(x),c.hasB&&h.push(v))}r.norm||(o._extremes[e._id]=jM.findExtremes(e,h,{tozero:!0,padded:!0}))}}function tve(e){for(var t=e.traces,r=0;r<t.length;r++)for(var n=t[r],i=n[0].t.offsetindex,a=0;a<n.length;a++){var o=n[a];o.s!==Q3&&e.put(o.p,i,o.b+o.s)}}function rvt(e,t){for(var r=e.traces,n=0;n<r.length;n++){var i=r[n],a=i[0].trace,o=i[0].t.offsetindex;if(a.base===void 0)for(var s=new XP([i],{posAxis:t,sepNegVal:!0,overlapNoMerge:!0}),l=0;l<i.length;l++){var u=i[l];if(u.p!==Q3){var c=s.put(u.p,o,u.b+u.s);c&&(u.b=c)}}}}function lU(e,t,r){var n=t.traces,i=eT(e),a=r.norm===\"fraction\"?1:100,o=a/1e9,s=e.l2c(e.c2l(0)),l=r.mode===\"stack\"?a:s;function u(_){return O0(e.c2l(_))&&(_<s-o||_>l+o||!O0(s))}for(var c=0;c<n.length;c++){for(var f=n[c],h=f[0].t.offsetindex,d=f[0].trace,v=[],x=!1,b=!1,p=0;p<f.length;p++){var E=f[p];if(E.s!==Q3){var k=Math.abs(a/t.get(E.p,h,E.s));E.b*=k,E.s*=k;var A=E.b,L=A+E.s;E[i]=L,v.push(L),b=b||u(L),E.hasB&&(v.push(A),b=b||u(A)),(!E.hasB||!E.b)&&(x=!0)}}d._extremes[e._id]=jM.findExtremes(e,v,{tozero:x,padded:b})}}function ivt(e,t,r,n){for(var i=eT(n),a=0;a<e.length;a++)for(var o=e[a],s=0;s<o.length;s++){var l=o[s],u=l[i];l._sMin=t[u],l._sMax=r[u]}}function nvt(e,t){var r=eT(t),n={},i,a,o,s=1/0,l=-1/0;for(i=0;i<e.length;i++)for(o=e[i],a=0;a<o.length;a++){var u=o[a].p;O0(u)&&(s=Math.min(s,u),l=Math.max(l,u))}var c=1e4/(l-s),f=n.round=function(M){return String(Math.round(c*(M-s)))},h={},d={},v=e.some(function(M){var g=M[0].trace;return\"marker\"in g&&g.marker.cornerradius});for(i=0;i<e.length;i++){o=e[i],o[0].t.extents=n;var x=o[0].t.poffset,b=g_(x);for(a=0;a<o.length;a++){var p=o[a],E=p[r]-p.w/2;if(O0(E)){var k=p[r]+p.w/2,A=f(p.p);n[A]?n[A]=[Math.min(E,n[A][0]),Math.max(k,n[A][1])]:n[A]=[E,k]}if(p.p0=p.p+(b?x[a]:x),p.p1=p.p0+p.w,p.s0=p.b,p.s1=p.s0+p.s,v){var L=Math.min(p.s0,p.s1)||0,_=Math.max(p.s0,p.s1)||0,C=p[r];h[C]=C in h?Math.min(h[C],L):L,d[C]=C in d?Math.max(d[C],_):_}}}v&&ivt(e,h,d,t)}function eT(e){return e._id.charAt(0)}rve.exports={crossTraceCalc:Zdt,setGroupPositions:oU}});var ove=ye((znr,ave)=>{\"use strict\";var ive=q0(),nve=Gb().setGroupPositions;function avt(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,a=e._fullData,o=e.calcdata,s=[],l=[],u=0;u<a.length;u++){var c=a[u];c.visible===!0&&c.type===\"scatter\"&&c.xaxis===r._id&&c.yaxis===n._id&&(c.orientation===\"h\"?s.push(o[u]):c.orientation===\"v\"&&l.push(o[u]))}var f={mode:i.scattermode,gap:i.scattergap};nve(e,r,n,l,f),nve(e,n,r,s,f)}ave.exports=function(t,r){t._fullLayout.scattermode===\"group\"&&avt(t,r);var n=r.xaxis,i=r.yaxis,a=n._id+i._id,o=t._fullLayout._scatterStackOpts[a];if(o){var s=t.calcdata,l,u,c,f,h,d,v,x,b,p,E,k,A,L,_;for(var C in o){p=o[C];var M=p.traceIndices;if(M.length){for(E=p.stackgaps===\"interpolate\",k=p.groupnorm,p.orientation===\"v\"?(A=\"x\",L=\"y\"):(A=\"y\",L=\"x\"),_=new Array(M.length),l=0;l<_.length;l++)_[l]=!1;d=s[M[0]];var g=new Array(d.length);for(l=0;l<d.length;l++)g[l]=d[l][A];for(l=1;l<M.length;l++){for(h=s[M[l]],u=c=0;u<h.length;u++){for(v=h[u][A];v>g[c]&&c<g.length;c++)uU(h,u,g[c],l,_,E,A),u++;if(v!==g[c]){for(f=0;f<l;f++)uU(s[M[f]],c,v,f,_,E,A);g.splice(c,0,v)}c++}for(;c<g.length;c++)uU(h,u,g[c],l,_,E,A),u++}var P=g.length;for(u=0;u<d.length;u++){for(x=d[u][L]=d[u].s,l=1;l<M.length;l++)h=s[M[l]],h[0].trace._rawLength=h[0].trace._length,h[0].trace._length=P,x+=h[u].s,h[u][L]=x;if(k)for(b=(k===\"fraction\"?x:x/100)||1,l=0;l<M.length;l++){var T=s[M[l]][u];T[L]/=b,T.sNorm=T.s/b}}for(l=0;l<M.length;l++){h=s[M[l]];var F=h[0].trace,q=ive.calcMarkerSize(F,F._rawLength),V=Array.isArray(q);if(q&&_[l]||V){var H=q;for(q=new Array(P),u=0;u<P;u++)q[u]=h[u].gap?0:V?H[h[u].i]:H}var X=new Array(P),G=new Array(P);for(u=0;u<P;u++)X[u]=h[u].x,G[u]=h[u].y;ive.calcAxisExpansion(t,F,n,i,X,G,q),h[0].t.orientation=p.orientation}}}}};function uU(e,t,r,n,i,a,o){i[n]=!0;var s={i:null,gap:!0,s:0};if(s[o]=r,e.splice(t,0,s),t&&r===e[t-1][o]){var l=e[t-1];s.s=l.s,s.i=l.i,s.gap=l.gap}else a&&(s.s=ovt(e,t,r,o));t||(e[0].t=e[1].t,e[0].trace=e[1].trace,delete e[1].t,delete e[1].trace)}function ovt(e,t,r,n){var i=e[t-1],a=e[t+1];return a?i?i.s+(a.s-i.s)*(r-i[n])/(a[n]-i[n]):a.s:i.s}});var fU=ye((Fnr,hve)=>{\"use strict\";var svt=ao(),cve=es(),WM=cve.BADNUM,fve=cve.LOG_CLIP,sve=fve+.5,lve=fve-.5,YP=Mr(),lvt=YP.segmentsIntersect,uve=YP.constrain,cU=Sm();hve.exports=function(t,r){var n=r.trace||{},i=r.xaxis,a=r.yaxis,o=i.type===\"log\",s=a.type===\"log\",l=i._length,u=a._length,c=r.backoff,f=n.marker,h=r.connectGaps,d=r.baseTolerance,v=r.shape,x=v===\"linear\",b=n.fill&&n.fill!==\"none\",p=[],E=cU.minTolerance,k=t.length,A=new Array(k),L=0,_,C,M,g,P,T,F,q,V,H,X,G,N,W,re,ae;function _e(ut){var Ne=t[ut];if(!Ne)return!1;var Ye=r.linearized?i.l2p(Ne.x):i.c2p(Ne.x),Ve=r.linearized?a.l2p(Ne.y):a.c2p(Ne.y);if(Ye===WM){if(o&&(Ye=i.c2p(Ne.x,!0)),Ye===WM)return!1;s&&Ve===WM&&(Ye*=Math.abs(i._m*u*(i._m>0?sve:lve)/(a._m*l*(a._m>0?sve:lve)))),Ye*=1e3}if(Ve===WM){if(s&&(Ve=a.c2p(Ne.y,!0)),Ve===WM)return!1;Ve*=1e3}return[Ye,Ve]}function Me(ut,Ne,Ye,Ve){var Xe=Ye-ut,ht=Ve-Ne,Le=.5-ut,xe=.5-Ne,Se=Xe*Xe+ht*ht,lt=Xe*Le+ht*xe;if(lt>0&<<Se){var Gt=Le*ht-xe*Xe;if(Gt*Gt<Se)return!0}}var ke,ge;function ie(ut,Ne){var Ye=ut[0]/l,Ve=ut[1]/u,Xe=Math.max(0,-Ye,Ye-1,-Ve,Ve-1);return Xe&&ke!==void 0&&Me(Ye,Ve,ke,ge)&&(Xe=0),Xe&&Ne&&Me(Ye,Ve,Ne[0]/l,Ne[1]/u)&&(Xe=0),(1+cU.toleranceGrowth*Xe)*d}function Te(ut,Ne){var Ye=ut[0]-Ne[0],Ve=ut[1]-Ne[1];return Math.sqrt(Ye*Ye+Ve*Ve)}var Ee=cU.maxScreensAway,Ae=-l*Ee,ze=l*(1+Ee),Ce=-u*Ee,me=u*(1+Ee),Re=[[Ae,Ce,ze,Ce],[ze,Ce,ze,me],[ze,me,Ae,me],[Ae,me,Ae,Ce]],ce,Ge,nt,ct,qt,rt;function ot(ut,Ne){for(var Ye=[],Ve=0,Xe=0;Xe<4;Xe++){var ht=Re[Xe],Le=lvt(ut[0],ut[1],Ne[0],Ne[1],ht[0],ht[1],ht[2],ht[3]);Le&&(!Ve||Math.abs(Le.x-Ye[0][0])>1||Math.abs(Le.y-Ye[0][1])>1)&&(Le=[Le.x,Le.y],Ve&&Te(Le,ut)<Te(Ye[0],ut)?Ye.unshift(Le):Ye.push(Le),Ve++)}return Ye}function Rt(ut){if(ut[0]<Ae||ut[0]>ze||ut[1]<Ce||ut[1]>me)return[uve(ut[0],Ae,ze),uve(ut[1],Ce,me)]}function kt(ut,Ne){if(ut[0]===Ne[0]&&(ut[0]===Ae||ut[0]===ze)||ut[1]===Ne[1]&&(ut[1]===Ce||ut[1]===me))return!0}function Ct(ut,Ne){var Ye=[],Ve=Rt(ut),Xe=Rt(Ne);return Ve&&Xe&&kt(Ve,Xe)||(Ve&&Ye.push(Ve),Xe&&Ye.push(Xe)),Ye}function Yt(ut,Ne,Ye){return function(Ve,Xe){var ht=Rt(Ve),Le=Rt(Xe),xe=[];if(ht&&Le&&kt(ht,Le))return xe;ht&&xe.push(ht),Le&&xe.push(Le);var Se=2*YP.constrain((Ve[ut]+Xe[ut])/2,Ne,Ye)-((ht||Ve)[ut]+(Le||Xe)[ut]);if(Se){var lt;ht&&Le?lt=Se>0==ht[ut]>Le[ut]?ht:Le:lt=ht||Le,lt[ut]+=Se}return xe}}var xr;v===\"linear\"||v===\"spline\"?xr=ot:v===\"hv\"||v===\"vh\"?xr=Ct:v===\"hvh\"?xr=Yt(0,Ae,ze):v===\"vhv\"&&(xr=Yt(1,Ce,me));function er(ut,Ne){var Ye=Ne[0]-ut[0],Ve=(Ne[1]-ut[1])/Ye,Xe=(ut[1]*Ne[0]-Ne[1]*ut[0])/Ye;return Xe>0?[Ve>0?Ae:ze,me]:[Ve>0?ze:Ae,Ce]}function Ke(ut){var Ne=ut[0],Ye=ut[1],Ve=Ne===A[L-1][0],Xe=Ye===A[L-1][1];if(!(Ve&&Xe))if(L>1){var ht=Ne===A[L-2][0],Le=Ye===A[L-2][1];Ve&&(Ne===Ae||Ne===ze)&&ht?Le?L--:A[L-1]=ut:Xe&&(Ye===Ce||Ye===me)&&Le?ht?L--:A[L-1]=ut:A[L++]=ut}else A[L++]=ut}function xt(ut){A[L-1][0]!==ut[0]&&A[L-1][1]!==ut[1]&&Ke([nt,ct]),Ke(ut),qt=null,nt=ct=0}var bt=YP.isArrayOrTypedArray(f);function Lt(ut){if(ut&&c&&(ut.i=_,ut.d=t,ut.trace=n,ut.marker=bt?f[ut.i]:f,ut.backoff=c),ke=ut[0]/l,ge=ut[1]/u,ce=ut[0]<Ae?Ae:ut[0]>ze?ze:0,Ge=ut[1]<Ce?Ce:ut[1]>me?me:0,ce||Ge){if(!L)A[L++]=[ce||ut[0],Ge||ut[1]];else if(qt){var Ne=xr(qt,ut);Ne.length>1&&(xt(Ne[0]),A[L++]=Ne[1])}else rt=xr(A[L-1],ut)[0],A[L++]=rt;var Ye=A[L-1];ce&&Ge&&(Ye[0]!==ce||Ye[1]!==Ge)?(qt&&(nt!==ce&&ct!==Ge?Ke(nt&&ct?er(qt,ut):[nt||ce,ct||Ge]):nt&&ct&&Ke([nt,ct])),Ke([ce,Ge])):nt-ce&&ct-Ge&&Ke([ce||nt,Ge||ct]),qt=ut,nt=ce,ct=Ge}else qt&&xt(xr(qt,ut)[0]),A[L++]=ut}for(_=0;_<k;_++)if(C=_e(_),!!C){for(L=0,qt=null,Lt(C),_++;_<k;_++){if(g=_e(_),!g){if(h)continue;break}if(!x||!r.simplify){Lt(g);continue}var St=_e(_+1);if(H=Te(g,C),!(!(b&&(L===0||L===k-1))&&H<ie(g,St)*E)){for(q=[(g[0]-C[0])/H,(g[1]-C[1])/H],P=C,X=H,G=W=re=0,F=!1,M=g,_++;_<t.length;_++){if(T=St,St=_e(_+1),!T){if(h)continue;break}if(V=[T[0]-C[0],T[1]-C[1]],ae=V[0]*q[1]-V[1]*q[0],W=Math.min(W,ae),re=Math.max(re,ae),re-W>ie(T,St))break;M=T,N=V[0]*q[0]+V[1]*q[1],N>X?(X=N,g=T,F=!1):N<G&&(G=N,P=T,F=!0)}if(F?(Lt(g),M!==P&&Lt(P)):(P!==C&&Lt(P),M!==g&&Lt(g)),Lt(M),_>=t.length||!T)break;Lt(T),C=T}}qt&&Ke([nt||qt[0],ct||qt[1]]),p.push(A.slice(0,L))}var Et=v.slice(v.length-1);if(c&&Et!==\"h\"&&Et!==\"v\"){for(var dt=!1,Ht=-1,$t=[],fr=0;fr<p.length;fr++)for(var _r=0;_r<p[fr].length-1;_r++){var Br=p[fr][_r],Or=p[fr][_r+1],Nr=svt.applyBackoff(Or,Br);(Nr[0]!==Or[0]||Nr[1]!==Or[1])&&(dt=!0),$t[Ht+1]||(Ht++,$t[Ht]=[Br,[Nr[0],Nr[1]]])}return dt?$t:p}return p}});var hU=ye((qnr,vve)=>{\"use strict\";var dve={tonextx:1,tonexty:1,tonext:1};vve.exports=function(t,r,n){var i,a,o,s,l,u={},c=!1,f=-1,h=0,d=-1;for(a=0;a<n.length;a++)i=n[a][0].trace,o=i.stackgroup||\"\",o?o in u?l=u[o]:(l=u[o]=h,h++):i.fill in dve&&d>=0?l=d:(l=d=h,h++),l<f&&(c=!0),i._groupIndex=f=l;var v=n.slice();c&&v.sort(function(b,p){var E=b[0].trace,k=p[0].trace;return E._groupIndex-k._groupIndex||E.index-k.index});var x={};for(a=0;a<v.length;a++)i=v[a][0].trace,o=i.stackgroup||\"\",i.visible===!0?(i._nexttrace=null,i.fill in dve&&(s=x[o],i._prevtrace=s||null,s&&(s._nexttrace=i)),i._ownfill=i.fill&&(i.fill.substr(0,6)===\"tozero\"||i.fill===\"toself\"||i.fill.substr(0,2)===\"to\"&&!i._prevtrace),x[o]=i):i._prevtrace=i._nexttrace=i._ownfill=null;return v}});var iT=ye((Onr,mve)=>{\"use strict\";var Dg=xa(),uvt=ba(),ZM=Mr(),tT=ZM.ensureSingle,gve=ZM.identity,zf=ao(),rT=lu(),cvt=fU(),fvt=hU(),KP=wM().tester;mve.exports=function(t,r,n,i,a,o){var s,l,u=!a,c=!!a&&a.duration>0,f=fvt(t,r,n);if(s=i.selectAll(\"g.trace\").data(f,function(d){return d[0].trace.uid}),s.enter().append(\"g\").attr(\"class\",function(d){return\"trace scatter trace\"+d[0].trace.uid}).style(\"stroke-miterlimit\",2),s.order(),hvt(t,s,r),c){o&&(l=o());var h=Dg.transition().duration(a.duration).ease(a.easing).each(\"end\",function(){l&&l()}).each(\"interrupt\",function(){l&&l()});h.each(function(){i.selectAll(\"g.trace\").each(function(d,v){pve(t,v,r,d,f,this,a)})})}else s.each(function(d,v){pve(t,v,r,d,f,this,a)});u&&s.exit().remove(),i.selectAll(\"path:not([d])\").remove()};function hvt(e,t,r){t.each(function(n){var i=tT(Dg.select(this),\"g\",\"fills\");zf.setClipUrl(i,r.layerClipId,e);var a=n[0].trace,o=[];a._ownfill&&o.push(\"_ownFill\"),a._nexttrace&&o.push(\"_nextFill\");var s=i.selectAll(\"g\").data(o,gve);s.enter().append(\"g\"),s.exit().each(function(l){a[l]=null}).remove(),s.order().each(function(l){a[l]=tT(Dg.select(this),\"path\",\"js-fill\")})})}function pve(e,t,r,n,i,a,o){var s=e._context.staticPlot,l;dvt(e,t,r,n,i);var u=!!o&&o.duration>0;function c(Yt){return u?Yt.transition():Yt}var f=r.xaxis,h=r.yaxis,d=n[0].trace,v=d.line,x=Dg.select(a),b=tT(x,\"g\",\"errorbars\"),p=tT(x,\"g\",\"lines\"),E=tT(x,\"g\",\"points\"),k=tT(x,\"g\",\"text\");if(uvt.getComponentMethod(\"errorbars\",\"plot\")(e,b,r,o),d.visible!==!0)return;c(x).style(\"opacity\",d.opacity);var A,L,_=d.fill.charAt(d.fill.length-1);_!==\"x\"&&_!==\"y\"&&(_=\"\");var C,M;_===\"y\"?(C=1,M=h.c2p(0,!0)):_===\"x\"&&(C=0,M=f.c2p(0,!0)),n[0][r.isRangePlot?\"nodeRangePlot3\":\"node3\"]=x;var g=\"\",P=[],T=d._prevtrace,F=null,q=null;T&&(g=T._prevRevpath||\"\",L=T._nextFill,P=T._ownPolygons,F=T._fillsegments,q=T._fillElement);var V,H,X=\"\",G=\"\",N,W,re,ae,_e,Me,ke=[];d._polygons=[];var ge=[],ie=[],Te=ZM.noop;if(A=d._ownFill,rT.hasLines(d)||d.fill!==\"none\"){L&&L.datum(n),[\"hv\",\"vh\",\"hvh\",\"vhv\"].indexOf(v.shape)!==-1?(N=zf.steps(v.shape),W=zf.steps(v.shape.split(\"\").reverse().join(\"\"))):v.shape===\"spline\"?N=W=function(Yt){var xr=Yt[Yt.length-1];return Yt.length>1&&Yt[0][0]===xr[0]&&Yt[0][1]===xr[1]?zf.smoothclosed(Yt.slice(1),v.smoothing):zf.smoothopen(Yt,v.smoothing)}:N=W=function(Yt){return\"M\"+Yt.join(\"L\")},re=function(Yt){return W(Yt.reverse())},ie=cvt(n,{xaxis:f,yaxis:h,trace:d,connectGaps:d.connectgaps,baseTolerance:Math.max(v.width||1,3)/4,shape:v.shape,backoff:v.backoff,simplify:v.simplify,fill:d.fill}),ge=new Array(ie.length);var Ee=0;for(l=0;l<ie.length;l++){var Ae,ze=ie[l];!Ae||!_?(Ae=ze.slice(),ge[Ee]=Ae,Ee++):Ae.push.apply(Ae,ze)}d._fillElement=null,d._fillExclusionElement=q,d._fillsegments=ge.slice(0,Ee),ge=d._fillsegments,ie.length&&(ae=ie[0][0].slice(),_e=ie[ie.length-1],Me=_e[_e.length-1].slice()),Te=function(Yt){return function(xr){if(V=N(xr),H=re(xr),X?_?(X+=\"L\"+V.substr(1),G=H+(\"L\"+G.substr(1))):(X+=\"Z\"+V,G=H+\"Z\"+G):(X=V,G=H),rT.hasLines(d)){var er=Dg.select(this);if(er.datum(n),Yt)c(er.style(\"opacity\",0).attr(\"d\",V).call(zf.lineGroupStyle)).style(\"opacity\",1);else{var Ke=c(er);Ke.attr(\"d\",V),zf.singleLineStyle(n,Ke)}}}}}var Ce=p.selectAll(\".js-line\").data(ie);c(Ce.exit()).style(\"opacity\",0).remove(),Ce.each(Te(!1)),Ce.enter().append(\"path\").classed(\"js-line\",!0).style(\"vector-effect\",s?\"none\":\"non-scaling-stroke\").call(zf.lineGroupStyle).each(Te(!0)),zf.setClipUrl(Ce,r.layerClipId,e);function me(Yt){c(Yt).attr(\"d\",\"M0,0Z\")}var Re=function(){var Yt=new Array(ge.length);for(l=0;l<ge.length;l++)Yt[l]=KP(ge[l]);return Yt},ce=function(Yt){var xr,er;if(!Yt||Yt.length===0)for(xr=new Array(ge.length),er=0;er<ge.length;er++){var Ke=ge[er][0].slice(),xt=ge[er][ge[er].length-1].slice();Ke[C]=xt[C]=M;var bt=[xt,Ke],Lt=bt.concat(ge[er]);xr[er]=KP(Lt)}else{for(xr=new Array(Yt.length-1+ge.length),er=0;er<Yt.length-1;er++)xr[er]=KP(Yt[er]);var St=Yt[Yt.length-1].slice();for(St.reverse(),er=0;er<ge.length;er++)xr[Yt.length-1+er]=KP(ge[er].concat(St))}return xr};ie.length?(A?(A.datum(n),ae&&Me&&(_?(ae[C]=Me[C]=M,c(A).attr(\"d\",\"M\"+Me+\"L\"+ae+\"L\"+X.substr(1)).call(zf.singleFillStyle,e),ke=ce(null)):(c(A).attr(\"d\",X+\"Z\").call(zf.singleFillStyle,e),ke=Re())),d._polygons=ke,d._fillElement=A):L&&(d.fill.substr(0,6)===\"tonext\"&&X&&g?(d.fill===\"tonext\"?(c(L).attr(\"d\",X+\"Z\"+g+\"Z\").call(zf.singleFillStyle,e),ke=Re(),d._polygons=ke.concat(P)):(c(L).attr(\"d\",X+\"L\"+g.substr(1)+\"Z\").call(zf.singleFillStyle,e),ke=ce(F),d._polygons=ke),d._fillElement=L):me(L)),d._prevRevpath=G):(A?me(A):L&&me(L),d._prevRevpath=null),d._ownPolygons=ke;function Ge(Yt){return Yt.filter(function(xr){return!xr.gap&&xr.vis})}function nt(Yt){return Yt.filter(function(xr){return xr.vis})}function ct(Yt){return Yt.filter(function(xr){return!xr.gap})}function qt(Yt){return Yt.id}function rt(Yt){if(Yt.ids)return qt}function ot(){return!1}function Rt(Yt,xr,er){var Ke,xt,bt,Lt=er[0].trace,St=rT.hasMarkers(Lt),Et=rT.hasText(Lt),dt=rt(Lt),Ht=ot,$t=ot;if(St||Et){var fr=gve,_r=Lt.stackgroup,Br=_r&&e._fullLayout._scatterStackOpts[f._id+h._id][_r].stackgaps===\"infer zero\";Lt.marker.maxdisplayed||Lt._needsCull?fr=Br?nt:Ge:_r&&!Br&&(fr=ct),St&&(Ht=fr),Et&&($t=fr)}xt=Yt.selectAll(\"path.point\"),Ke=xt.data(Ht,dt);var Or=Ke.enter().append(\"path\").classed(\"point\",!0);u&&Or.call(zf.pointStyle,Lt,e).call(zf.translatePoints,f,h).style(\"opacity\",0).transition().style(\"opacity\",1),Ke.order();var Nr;St&&(Nr=zf.makePointStyleFns(Lt)),Ke.each(function(ut){var Ne=Dg.select(this),Ye=c(Ne);bt=zf.translatePoint(ut,Ye,f,h),bt?(zf.singlePointStyle(ut,Ye,Lt,Nr,e),r.layerClipId&&zf.hideOutsideRangePoint(ut,Ye,f,h,Lt.xcalendar,Lt.ycalendar),Lt.customdata&&Ne.classed(\"plotly-customdata\",ut.data!==null&&ut.data!==void 0)):Ye.remove()}),u?Ke.exit().transition().style(\"opacity\",0).remove():Ke.exit().remove(),xt=xr.selectAll(\"g\"),Ke=xt.data($t,dt),Ke.enter().append(\"g\").classed(\"textpoint\",!0).append(\"text\"),Ke.order(),Ke.each(function(ut){var Ne=Dg.select(this),Ye=c(Ne.select(\"text\"));bt=zf.translatePoint(ut,Ye,f,h),bt?r.layerClipId&&zf.hideOutsideRangePoint(ut,Ne,f,h,Lt.xcalendar,Lt.ycalendar):Ne.remove()}),Ke.selectAll(\"text\").call(zf.textPointStyle,Lt,e).each(function(ut){var Ne=f.c2p(ut.x),Ye=h.c2p(ut.y);Dg.select(this).selectAll(\"tspan.line\").each(function(){c(Dg.select(this)).attr({x:Ne,y:Ye})})}),Ke.exit().remove()}E.datum(n),k.datum(n),Rt(E,k,n);var kt=d.cliponaxis===!1,Ct=kt?null:r.layerClipId;zf.setClipUrl(E,Ct,e),zf.setClipUrl(k,Ct,e)}function dvt(e,t,r,n,i){var a=r.xaxis,o=r.yaxis,s=Dg.extent(ZM.simpleMap(a.range,a.r2c)),l=Dg.extent(ZM.simpleMap(o.range,o.r2c)),u=n[0].trace;if(rT.hasMarkers(u)){var c=u.marker.maxdisplayed;if(c!==0){var f=n.filter(function(x){return x.x>=s[0]&&x.x<=s[1]&&x.y>=l[0]&&x.y<=l[1]}),h=Math.ceil(f.length/c),d=0;i.forEach(function(x,b){var p=x[0].trace;rT.hasMarkers(p)&&p.marker.maxdisplayed>0&&b<t&&d++});var v=Math.round(d*h/3+Math.floor(d/3)*h/7.1);n.forEach(function(x){delete x.vis}),f.forEach(function(x,b){Math.round((b+v)%h)===0&&(x.vis=!0)})}}}});var Kd=ye((Bnr,yve)=>{\"use strict\";yve.exports={container:\"marker\",min:\"cmin\",max:\"cmax\"}});var $P=ye((Nnr,_ve)=>{\"use strict\";var JP=Qa();_ve.exports=function(t,r,n){var i={},a={_fullLayout:n},o=JP.getFromTrace(a,r,\"x\"),s=JP.getFromTrace(a,r,\"y\"),l=t.orig_x;l===void 0&&(l=t.x);var u=t.orig_y;return u===void 0&&(u=t.y),i.xLabel=JP.tickText(o,o.c2l(l),!0).text,i.yLabel=JP.tickText(s,s.c2l(u),!0).text,i}});var op=ye((Unr,xve)=>{\"use strict\";var dU=xa(),nT=ao(),vvt=ba();function pvt(e){var t=dU.select(e).selectAll(\"g.trace.scatter\");t.style(\"opacity\",function(r){return r[0].trace.opacity}),t.selectAll(\"g.points\").each(function(r){var n=dU.select(this),i=r.trace||r[0].trace;vU(n,i,e)}),t.selectAll(\"g.text\").each(function(r){var n=dU.select(this),i=r.trace||r[0].trace;pU(n,i,e)}),t.selectAll(\"g.trace path.js-line\").call(nT.lineGroupStyle),t.selectAll(\"g.trace path.js-fill\").call(nT.fillGroupStyle,e,!1),vvt.getComponentMethod(\"errorbars\",\"style\")(t)}function vU(e,t,r){nT.pointStyle(e.selectAll(\"path.point\"),t,r)}function pU(e,t,r){nT.textPointStyle(e.selectAll(\"text\"),t,r)}function gvt(e,t,r){var n=t[0].trace;n.selectedpoints?(nT.selectedPointStyle(r.selectAll(\"path.point\"),n),nT.selectedTextStyle(r.selectAll(\"text\"),n)):(vU(r,n,e),pU(r,n,e))}xve.exports={style:pvt,stylePoints:vU,styleText:pU,styleOnSelect:gvt}});var oT=ye((Vnr,bve)=>{\"use strict\";var aT=va(),mvt=lu();bve.exports=function(t,r){var n,i;if(t.mode===\"lines\")return n=t.line.color,n&&aT.opacity(n)?n:t.fillcolor;if(t.mode===\"none\")return t.fill?t.fillcolor:\"\";var a=r.mcc||(t.marker||{}).color,o=r.mlcc||((t.marker||{}).line||{}).color;return i=a&&aT.opacity(a)?a:o&&aT.opacity(o)&&(r.mlw||((t.marker||{}).line||{}).width)?o:\"\",i?aT.opacity(i)<.3?aT.addOpacity(i,.3):i:(n=(t.line||{}).color,n&&aT.opacity(n)&&mvt.hasLines(t)&&t.line.width?n:t.fillcolor)}});var sT=ye((Hnr,Tve)=>{\"use strict\";var QP=Mr(),wve=Nc(),yvt=ba(),_vt=oT(),gU=va(),xvt=QP.fillText;Tve.exports=function(t,r,n,i){var a=t.cd,o=a[0].trace,s=t.xa,l=t.ya,u=s.c2p(r),c=l.c2p(n),f=[u,c],h=o.hoveron||\"\",d=o.mode.indexOf(\"markers\")!==-1?3:.5,v=!!o.xperiodalignment,x=!!o.yperiodalignment;if(h.indexOf(\"points\")!==-1){var b=function(G){if(v){var N=s.c2p(G.xStart),W=s.c2p(G.xEnd);return u>=Math.min(N,W)&&u<=Math.max(N,W)?0:1/0}var re=Math.max(3,G.mrc||0),ae=1-1/re,_e=Math.abs(s.c2p(G.x)-u);return _e<re?ae*_e/re:_e-re+ae},p=function(G){if(x){var N=l.c2p(G.yStart),W=l.c2p(G.yEnd);return c>=Math.min(N,W)&&c<=Math.max(N,W)?0:1/0}var re=Math.max(3,G.mrc||0),ae=1-1/re,_e=Math.abs(l.c2p(G.y)-c);return _e<re?ae*_e/re:_e-re+ae},E=function(G){var N=Math.max(d,G.mrc||0),W=s.c2p(G.x)-u,re=l.c2p(G.y)-c;return Math.max(Math.sqrt(W*W+re*re)-N,1-d/N)},k=wve.getDistanceFunction(i,b,p,E);if(wve.getClosest(a,k,t),t.index!==!1){var A=a[t.index],L=s.c2p(A.x,!0),_=l.c2p(A.y,!0),C=A.mrc||1;t.index=A.i;var M=a[0].t.orientation,g=M&&(A.sNorm||A.s),P=M===\"h\"?g:A.orig_x!==void 0?A.orig_x:A.x,T=M===\"v\"?g:A.orig_y!==void 0?A.orig_y:A.y;return QP.extendFlat(t,{color:_vt(o,A),x0:L-C,x1:L+C,xLabelVal:P,y0:_-C,y1:_+C,yLabelVal:T,spikeDistance:E(A),hovertemplate:o.hovertemplate}),xvt(A,o,t),yvt.getComponentMethod(\"errorbars\",\"hoverInfo\")(A,o,t),[t]}}function F(G){if(!G)return!1;var N=G.node();try{var W=new DOMPoint(f[0],f[1]);return N.isPointInFill(W)}catch(ae){var re=N.ownerSVGElement.createSVGPoint();return re.x=f[0],re.y=f[1],N.isPointInFill(re)}}function q(G){var N,W=[],re=1/0,ae=-1/0,_e=1/0,Me=-1/0,ke;for(N=0;N<G.length;N++){var ge=G[N];ge.contains(f)&&(W.push(ge),_e=Math.min(_e,ge.ymin),Me=Math.max(Me,ge.ymax))}if(W.length===0)return null;_e=Math.max(_e,0),Me=Math.min(Me,l._length),ke=(_e+Me)/2;var ie,Te,Ee,Ae,ze,Ce,me;for(N=0;N<W.length;N++)for(Te=W[N].pts,ie=1;ie<Te.length;ie++)Ce=Te[ie-1][1],me=Te[ie][1],Ce>ke!=me>=ke&&(Ae=Te[ie-1][0],ze=Te[ie][0],me-Ce&&(Ee=Ae+(ze-Ae)*(ke-Ce)/(me-Ce),re=Math.min(re,Ee),ae=Math.max(ae,Ee)));return re=Math.max(re,0),ae=Math.min(ae,s._length),{x0:re,x1:ae,y0:ke,y1:ke}}if(h.indexOf(\"fills\")!==-1&&o._fillElement){var V=F(o._fillElement)&&!F(o._fillExclusionElement);if(V){var H=q(o._polygons);H===null&&(H={x0:f[0],x1:f[0],y0:f[1],y1:f[1]});var X=gU.defaultLine;return gU.opacity(o.fillcolor)?X=o.fillcolor:gU.opacity((o.line||{}).color)&&(X=o.line.color),QP.extendFlat(t,{distance:t.maxHoverDistance,x0:H.x0,x1:H.x1,y0:H.y0,y1:H.y1,color:X,hovertemplate:!1}),delete t.index,o.text&&!QP.isArrayOrTypedArray(o.text)?t.text=String(o.text):t.text=o.name,[t]}}}});var lT=ye((Gnr,Sve)=>{\"use strict\";var Ave=lu();Sve.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l,u,c,f,h=!Ave.hasMarkers(s)&&!Ave.hasText(s);if(h)return[];if(r===!1)for(l=0;l<n.length;l++)n[l].selected=0;else for(l=0;l<n.length;l++)u=n[l],c=i.c2p(u.x),f=a.c2p(u.y),u.i!==null&&r.contains([c,f],!1,l,t)?(o.push({pointNumber:u.i,x:i.c2d(u.x),y:a.c2d(u.y)}),u.selected=1):u.selected=0;return o}});var Eve=ye((jnr,Mve)=>{\"use strict\";Mve.exports={xaxis:{valType:\"subplotid\",dflt:\"x\",editType:\"calc+clearAxisTypes\"},yaxis:{valType:\"subplotid\",dflt:\"y\",editType:\"calc+clearAxisTypes\"}}});var yU=ye((Wnr,Lve)=>{\"use strict\";var XM=ba().traceIs,mU=L3();Lve.exports=function(t,r,n,i){n(\"autotypenumbers\",i.autotypenumbersDflt);var a=n(\"type\",(i.splomStash||{}).type);a===\"-\"&&(bvt(r,i.data),r.type===\"-\"?r.type=\"linear\":t.type=r.type)};function bvt(e,t){if(e.type===\"-\"){var r=e._id,n=r.charAt(0),i;r.indexOf(\"scene\")!==-1&&(r=n);var a=wvt(t,r,n);if(a){if(a.type===\"histogram\"&&n==={v:\"y\",h:\"x\"}[a.orientation||\"v\"]){e.type=\"linear\";return}var o=n+\"calendar\",s=a[o],l={noMultiCategory:!XM(a,\"cartesian\")||XM(a,\"noMultiCategory\")};if(a.type===\"box\"&&a._hasPreCompStats&&n==={h:\"x\",v:\"y\"}[a.orientation||\"v\"]&&(l.noMultiCategory=!0),l.autotypenumbers=e.autotypenumbers,Cve(a,n)){var u=kve(a),c=[];for(i=0;i<t.length;i++){var f=t[i];!XM(f,\"box-violin\")||(f[n+\"axis\"]||n)!==r||(f[u]!==void 0?c.push(f[u][0]):f.name!==void 0?c.push(f.name):c.push(\"text\"),f[o]!==s&&(s=void 0))}e.type=mU(c,s,l)}else if(a.type===\"splom\"){var h=a.dimensions,d=h[a._axesDim[r]];d.visible&&(e.type=mU(d.values,s,l))}else e.type=mU(a[n]||[a[n+\"0\"]],s,l)}}}function wvt(e,t,r){for(var n=0;n<e.length;n++){var i=e[n];if(i.type===\"splom\"&&i._length>0&&(i[\"_\"+r+\"axes\"]||{})[t])return i;if((i[r+\"axis\"]||r)===t){if(Cve(i,r))return i;if((i[r]||[]).length||i[r+\"0\"])return i}}}function kve(e){return{v:\"x\",h:\"y\"}[e.orientation||\"v\"]}function Cve(e,t){var r=kve(e),n=XM(e,\"box-violin\"),i=XM(e._fullInput||{},\"candlestick\");return n&&!i&&t===r&&e[r]===void 0&&e[r+\"0\"]===void 0}});var eI=ye((Znr,Pve)=>{\"use strict\";var Tvt=vv().isTypedArraySpec;function Avt(e,t){var r=t.dataAttr||e._id.charAt(0),n={},i,a,o;if(t.axData)i=t.axData;else for(i=[],a=0;a<t.data.length;a++){var s=t.data[a];s[r+\"axis\"]===e._id&&i.push(s)}for(a=0;a<i.length;a++){var l=i[a][r];for(o=0;o<l.length;o++){var u=l[o];u!=null&&(n[u]=1)}}return Object.keys(n)}Pve.exports=function(t,r,n,i){if(r.type===\"category\"){var a=t.categoryarray,o=Array.isArray(a)&&a.length>0||Tvt(a),s;o&&(s=\"array\");var l=n(\"categoryorder\",s),u;l===\"array\"&&(u=n(\"categoryarray\")),!o&&l===\"array\"&&(l=r.categoryorder=\"trace\"),l===\"trace\"?r._initialCategories=[]:l===\"array\"?r._initialCategories=u.slice():(u=Avt(r,i).sort(),l===\"category ascending\"?r._initialCategories=u:l===\"category descending\"&&(r._initialCategories=u.reverse()))}}});var YM=ye((Xnr,Rve)=>{\"use strict\";var Ive=id().mix,Svt=dh(),Mvt=Mr();Rve.exports=function(t,r,n,i){i=i||{};var a=i.dfltColor;function o(C,M){return Mvt.coerce2(t,r,i.attributes,C,M)}var s=o(\"linecolor\",a),l=o(\"linewidth\"),u=n(\"showline\",i.showLine||!!s||!!l);u||(delete r.linecolor,delete r.linewidth);var c=Ive(a,i.bgColor,i.blend||Svt.lightFraction).toRgbString(),f=o(\"gridcolor\",c),h=o(\"gridwidth\"),d=o(\"griddash\"),v=n(\"showgrid\",i.showGrid||!!f||!!h||!!d);if(v||(delete r.gridcolor,delete r.gridwidth,delete r.griddash),i.hasMinor){var x=Ive(r.gridcolor,i.bgColor,67).toRgbString(),b=o(\"minor.gridcolor\",x),p=o(\"minor.gridwidth\",r.gridwidth||1),E=o(\"minor.griddash\",r.griddash||\"solid\"),k=n(\"minor.showgrid\",!!b||!!p||!!E);k||(delete r.minor.gridcolor,delete r.minor.gridwidth,delete r.minor.griddash)}if(!i.noZeroLine){var A=o(\"zerolinecolor\",a),L=o(\"zerolinewidth\"),_=n(\"zeroline\",i.showGrid||!!A||!!L);_||(delete r.zerolinecolor,delete r.zerolinewidth)}}});var JM=ye((Ynr,Bve)=>{\"use strict\";var Dve=uo(),Evt=ba(),KM=Mr(),kvt=Vs(),Cvt=Zd(),_U=Cd(),zve=xb(),Fve=T3(),Lvt=t_(),Pvt=r_(),Ivt=eI(),Rvt=YM(),Dvt=dB(),qve=ym(),tI=ad().WEEKDAY_PATTERN,zvt=ad().HOUR_PATTERN;Bve.exports=function(t,r,n,i,a){var o=i.letter,s=i.font||{},l=i.splomStash||{},u=n(\"visible\",!i.visibleDflt),c=r._template||{},f=r.type||c.type||\"-\",h;if(f===\"date\"){var d=Evt.getComponentMethod(\"calendars\",\"handleDefaults\");d(t,r,\"calendar\",i.calendar),i.noTicklabelmode||(h=n(\"ticklabelmode\"))}!i.noTicklabelindex&&(f===\"date\"||f===\"linear\")&&n(\"ticklabelindex\");var v=\"\";(!i.noTicklabelposition||f===\"multicategory\")&&(v=KM.coerce(t,r,{ticklabelposition:{valType:\"enumerated\",dflt:\"outside\",values:h===\"period\"?[\"outside\",\"inside\"]:o===\"x\"?[\"outside\",\"inside\",\"outside left\",\"inside left\",\"outside right\",\"inside right\"]:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside bottom\",\"inside bottom\"]}},\"ticklabelposition\")),i.noTicklabeloverflow||n(\"ticklabeloverflow\",v.indexOf(\"inside\")!==-1?\"hide past domain\":f===\"category\"||f===\"multicategory\"?\"allow\":\"hide past div\"),qve(r,a),Dvt(t,r,n,i),Ivt(t,r,n,i),f!==\"category\"&&!i.noHover&&n(\"hoverformat\");var x=n(\"color\"),b=x!==_U.color.dflt?x:s.color,p=l.label||a._dfltTitle[o];if(Pvt(t,r,n,f,i),!u)return r;n(\"title.text\",p),KM.coerceFont(n,\"title.font\",s,{overrideDflt:{size:KM.bigFont(s.size),color:b}}),zve(t,r,n,f);var E=i.hasMinor;if(E&&(kvt.newContainer(r,\"minor\"),zve(t,r,n,f,{isMinor:!0})),Lvt(t,r,n,f,i),Fve(t,r,n,i),E){var k=i.isMinor;i.isMinor=!0,Fve(t,r,n,i),i.isMinor=k}Rvt(t,r,n,{dfltColor:x,bgColor:i.bgColor,showGrid:i.showGrid,hasMinor:E,attributes:_U}),E&&!r.minor.ticks&&!r.minor.showgrid&&delete r.minor,(r.showline||r.ticks)&&n(\"mirror\");var A=f===\"multicategory\";if(!i.noTickson&&(f===\"category\"||A)&&(r.ticks||r.showgrid)){var L;A&&(L=\"boundaries\");var _=n(\"tickson\",L);_===\"boundaries\"&&delete r.ticklabelposition}if(A){var C=n(\"showdividers\");C&&(n(\"dividercolor\"),n(\"dividerwidth\"))}if(f===\"date\")if(Cvt(t,r,{name:\"rangebreaks\",inclusionAttr:\"enabled\",handleItemDefaults:Fvt}),!r.rangebreaks.length)delete r.rangebreaks;else{for(var M=0;M<r.rangebreaks.length;M++)if(r.rangebreaks[M].pattern===tI){r._hasDayOfWeekBreaks=!0;break}if(qve(r,a),a._has(\"scattergl\")||a._has(\"splom\"))for(var g=0;g<i.data.length;g++){var P=i.data[g];(P.type===\"scattergl\"||P.type===\"splom\")&&(P.visible=!1,KM.warn(P.type+\" traces do not work on axes with rangebreaks. Setting trace \"+P.index+\" to `visible: false`.\"))}}return r};function Fvt(e,t,r){function n(h,d){return KM.coerce(e,t,_U.rangebreaks,h,d)}var i=n(\"enabled\");if(i){var a=n(\"bounds\");if(a&&a.length>=2){var o=\"\",s,l;if(a.length===2){for(s=0;s<2;s++)if(l=Ove(a[s]),l){o=tI;break}}var u=n(\"pattern\",o);if(u===tI)for(s=0;s<2;s++)l=Ove(a[s]),l&&(t.bounds[s]=a[s]=l-1);if(u)for(s=0;s<2;s++)switch(l=a[s],u){case tI:if(!Dve(l)){t.enabled=!1;return}if(l=+l,l!==Math.floor(l)||l<0||l>=7){t.enabled=!1;return}t.bounds[s]=a[s]=l;break;case zvt:if(!Dve(l)){t.enabled=!1;return}if(l=+l,l<0||l>24){t.enabled=!1;return}t.bounds[s]=a[s]=l;break}if(r.autorange===!1){var c=r.range;if(c[0]<c[1]){if(a[0]<c[0]&&a[1]>c[1]){t.enabled=!1;return}}else if(a[0]>c[0]&&a[1]<c[1]){t.enabled=!1;return}}}else{var f=n(\"values\");if(f&&f.length)n(\"dvalue\");else{t.enabled=!1;return}}}}var qvt={sun:1,mon:2,tue:3,wed:4,thu:5,fri:6,sat:7};function Ove(e){if(typeof e==\"string\")return qvt[e.substr(0,3).toLowerCase()]}});var iI=ye((Knr,Nve)=>{\"use strict\";var Ovt=uo(),rI=Mr();Nve.exports=function(t,r,n,i){var a=i.counterAxes||[],o=i.overlayableAxes||[],s=i.letter,l=i.grid,u=i.overlayingDomain,c,f,h,d,v,x;l&&(f=l._domains[s][l._axisMap[r._id]],c=l._anchors[r._id],f&&(h=l[s+\"side\"].split(\" \")[0],d=l.domain[s][h===\"right\"||h===\"top\"?1:0])),f=f||[0,1],c=c||(Ovt(t.position)?\"free\":a[0]||\"free\"),h=h||(s===\"x\"?\"bottom\":\"left\"),d=d||0,v=0,x=!1;var b=rI.coerce(t,r,{anchor:{valType:\"enumerated\",values:[\"free\"].concat(a),dflt:c}},\"anchor\"),p=rI.coerce(t,r,{side:{valType:\"enumerated\",values:s===\"x\"?[\"bottom\",\"top\"]:[\"left\",\"right\"],dflt:h}},\"side\");if(b===\"free\"){if(s===\"y\"){var E=n(\"autoshift\");E&&(d=p===\"left\"?u[0]:u[1],x=r.automargin?r.automargin:!0,v=p===\"left\"?-3:3),n(\"shift\",v)}n(\"position\",d)}n(\"automargin\",x);var k=!1;if(o.length&&(k=rI.coerce(t,r,{overlaying:{valType:\"enumerated\",values:[!1].concat(o),dflt:!1}},\"overlaying\")),!k){var A=n(\"domain\",f);A[0]>A[1]-1/4096&&(r.domain=f),rI.noneOrAll(t.domain,r.domain,f),r.tickmode===\"sync\"&&(r.tickmode=\"auto\")}return n(\"layer\"),r}});var Yve=ye((Jnr,Xve)=>{\"use strict\";var jb=Mr(),Uve=va(),Bvt=rp().isUnifiedHover,Nvt=OB(),Vve=Vs(),Uvt=s3(),Hve=Cd(),Vvt=yU(),Gve=JM(),Hvt=Bb(),jve=iI(),bU=af(),Cm=bU.id2name,Wve=bU.name2id,Gvt=ad().AX_ID_PATTERN,Zve=ba(),nI=Zve.traceIs,xU=Zve.getComponentMethod;function aI(e,t,r){Array.isArray(e[t])?e[t].push(r):e[t]=[r]}Xve.exports=function(t,r,n){var i=r.autotypenumbers,a={},o={},s={},l={},u={},c={},f={},h={},d={},v={},x,b;for(x=0;x<n.length;x++){var p=n[x];if(nI(p,\"cartesian\")){var E;if(p.xaxis)E=Cm(p.xaxis),aI(a,E,p);else if(p.xaxes)for(b=0;b<p.xaxes.length;b++)aI(a,Cm(p.xaxes[b]),p);var k;if(p.yaxis)k=Cm(p.yaxis),aI(a,k,p);else if(p.yaxes)for(b=0;b<p.yaxes.length;b++)aI(a,Cm(p.yaxes[b]),p);if(p.type===\"funnel\"?p.orientation===\"h\"?(E&&(o[E]=!0),k&&(f[k]=!0)):k&&(s[k]=!0):p.type===\"image\"?(k&&(h[k]=!0),E&&(h[E]=!0)):(k&&(u[k]=!0,c[k]=!0),(!nI(p,\"carpet\")||p.type===\"carpet\"&&!p._cheater)&&E&&(l[E]=!0)),p.type===\"carpet\"&&p._cheater&&E&&(o[E]=!0),nI(p,\"2dMap\")&&(d[E]=!0,d[k]=!0),nI(p,\"oriented\")){var A=p.orientation===\"h\"?k:E;v[A]=!0}}}var L=r._subplots,_=L.xaxis,C=L.yaxis,M=jb.simpleMap(_,Cm),g=jb.simpleMap(C,Cm),P=M.concat(g),T=Uve.background;_.length&&C.length&&(T=jb.coerce(t,r,Uvt,\"plot_bgcolor\"));var F=Uve.combine(T,r.paper_bgcolor),q,V,H,X,G;function N(){var xt=a[q]||[];G._traceIndices=xt.map(function(bt){return bt.index}),G._annIndices=[],G._shapeIndices=[],G._selectionIndices=[],G._imgIndices=[],G._subplotsWith=[],G._counterAxes=[],G._name=G._attr=q,G._id=V}function W(xt,bt){return jb.coerce(X,G,Hve,xt,bt)}function re(xt,bt){return jb.coerce2(X,G,Hve,xt,bt)}function ae(xt){return xt===\"x\"?C:_}function _e(xt,bt){for(var Lt=xt===\"x\"?M:g,St=[],Et=0;Et<Lt.length;Et++){var dt=Lt[Et];dt!==bt&&!(t[dt]||{}).overlaying&&St.push(Wve(dt))}return St}var Me={x:ae(\"x\"),y:ae(\"y\")},ke=Me.x.concat(Me.y),ge={},ie=[];function Te(){var xt=X.matches;Gvt.test(xt)&&ke.indexOf(xt)===-1&&(ge[xt]=X.type,ie=Object.keys(ge))}var Ee=Nvt(t,r),Ae=Bvt(Ee);for(x=0;x<P.length;x++){q=P[x],V=Wve(q),H=q.charAt(0),jb.isPlainObject(t[q])||(t[q]={}),X=t[q],G=Vve.newContainer(r,q,H+\"axis\"),N();var ze=H===\"x\"&&!l[q]&&o[q]||H===\"y\"&&!u[q]&&s[q],Ce=H===\"y\"&&(!c[q]&&f[q]||h[q]),me={hasMinor:!0,letter:H,font:r.font,outerTicks:d[q],showGrid:!v[q],data:a[q]||[],bgColor:F,calendar:r.calendar,automargin:!0,visibleDflt:ze,reverseDflt:Ce,autotypenumbersDflt:i,splomStash:((r._splomAxes||{})[H]||{})[V],noAutotickangles:H===\"y\"};W(\"uirevision\",r.uirevision),Vvt(X,G,W,me),Gve(X,G,W,me,r);var Re=Ae&&H===Ee.charAt(0),ce=re(\"spikecolor\",Ae?G.color:void 0),Ge=re(\"spikethickness\",Ae?1.5:void 0),nt=re(\"spikedash\",Ae?\"dot\":void 0),ct=re(\"spikemode\",Ae?\"across\":void 0),qt=re(\"spikesnap\"),rt=W(\"showspikes\",!!Re||!!ce||!!Ge||!!nt||!!ct||!!qt);rt||(delete G.spikecolor,delete G.spikethickness,delete G.spikedash,delete G.spikemode,delete G.spikesnap);var ot=Cm(X.overlaying),Rt=[0,1];if(r[ot]!==void 0){var kt=Cm(r[ot].anchor);r[kt]!==void 0&&(Rt=r[kt].domain)}jve(X,G,W,{letter:H,counterAxes:Me[H],overlayableAxes:_e(H,q),grid:r.grid,overlayingDomain:Rt}),W(\"title.standoff\"),Te(),G._input=X}for(x=0;x<ie.length;){V=ie[x++],q=Cm(V),H=q.charAt(0),jb.isPlainObject(t[q])||(t[q]={}),X=t[q],G=Vve.newContainer(r,q,H+\"axis\"),N();var Ct={letter:H,font:r.font,outerTicks:d[q],showGrid:!v[q],data:[],bgColor:F,calendar:r.calendar,automargin:!0,visibleDflt:!1,reverseDflt:!1,autotypenumbersDflt:i,splomStash:((r._splomAxes||{})[H]||{})[V]};W(\"uirevision\",r.uirevision),G.type=ge[V]||\"linear\",Gve(X,G,W,Ct,r),jve(X,G,W,{letter:H,counterAxes:Me[H],overlayableAxes:_e(H,q),grid:r.grid}),W(\"fixedrange\"),Te(),G._input=X}var Yt=xU(\"rangeslider\",\"handleDefaults\"),xr=xU(\"rangeselector\",\"handleDefaults\");for(x=0;x<M.length;x++)q=M[x],X=t[q],G=r[q],Yt(t,r,q),G.type===\"date\"&&xr(X,G,r,g,G.calendar),W(\"fixedrange\");for(x=0;x<g.length;x++){q=g[x],X=t[q],G=r[q];var er=r[Cm(G.anchor)],Ke=xU(\"rangeslider\",\"isVisible\")(er);W(\"fixedrange\",Ke)}Hvt.handleDefaults(t,r,{axIds:ke.concat(ie).sort(bU.idSort),axHasImage:h})}});var $ve=ye(($nr,Jve)=>{\"use strict\";var jvt=xa(),Kve=ba(),oI=Mr(),Qp=ao(),sI=Qa();Jve.exports=function(t,r,n,i){var a=t._fullLayout;if(r.length===0){sI.redrawComponents(t);return}function o(b){var p=b.xaxis,E=b.yaxis;a._defs.select(\"#\"+b.clipId+\"> rect\").call(Qp.setTranslate,0,0).call(Qp.setScale,1,1),b.plot.call(Qp.setTranslate,p._offset,E._offset).call(Qp.setScale,1,1);var k=b.plot.selectAll(\".scatterlayer .trace\");k.selectAll(\".point\").call(Qp.setPointGroupScale,1,1),k.selectAll(\".textpoint\").call(Qp.setTextPointsScale,1,1),k.call(Qp.hideOutsideRangePoints,b)}function s(b,p){var E=b.plotinfo,k=E.xaxis,A=E.yaxis,L=k._length,_=A._length,C=!!b.xr1,M=!!b.yr1,g=[];if(C){var P=oI.simpleMap(b.xr0,k.r2l),T=oI.simpleMap(b.xr1,k.r2l),F=P[1]-P[0],q=T[1]-T[0];g[0]=(P[0]*(1-p)+p*T[0]-P[0])/(P[1]-P[0])*L,g[2]=L*(1-p+p*q/F),k.range[0]=k.l2r(P[0]*(1-p)+p*T[0]),k.range[1]=k.l2r(P[1]*(1-p)+p*T[1])}else g[0]=0,g[2]=L;if(M){var V=oI.simpleMap(b.yr0,A.r2l),H=oI.simpleMap(b.yr1,A.r2l),X=V[1]-V[0],G=H[1]-H[0];g[1]=(V[1]*(1-p)+p*H[1]-V[1])/(V[0]-V[1])*_,g[3]=_*(1-p+p*G/X),A.range[0]=k.l2r(V[0]*(1-p)+p*H[0]),A.range[1]=A.l2r(V[1]*(1-p)+p*H[1])}else g[1]=0,g[3]=_;sI.drawOne(t,k,{skipTitle:!0}),sI.drawOne(t,A,{skipTitle:!0}),sI.redrawComponents(t,[k._id,A._id]);var N=C?L/g[2]:1,W=M?_/g[3]:1,re=C?g[0]:0,ae=M?g[1]:0,_e=C?g[0]/g[2]*L:0,Me=M?g[1]/g[3]*_:0,ke=k._offset-_e,ge=A._offset-Me;E.clipRect.call(Qp.setTranslate,re,ae).call(Qp.setScale,1/N,1/W),E.plot.call(Qp.setTranslate,ke,ge).call(Qp.setScale,N,W),Qp.setPointGroupScale(E.zoomScalePts,1/N,1/W),Qp.setTextPointsScale(E.zoomScaleTxt,1/N,1/W)}var l;i&&(l=i());function u(){for(var b={},p=0;p<r.length;p++){var E=r[p],k=E.plotinfo.xaxis,A=E.plotinfo.yaxis;E.xr1&&(b[k._name+\".range\"]=E.xr1.slice()),E.yr1&&(b[A._name+\".range\"]=E.yr1.slice())}return l&&l(),Kve.call(\"relayout\",t,b).then(function(){for(var L=0;L<r.length;L++)o(r[L].plotinfo)})}function c(){for(var b={},p=0;p<r.length;p++){var E=r[p],k=E.plotinfo.xaxis,A=E.plotinfo.yaxis;E.xr0&&(b[k._name+\".range\"]=E.xr0.slice()),E.yr0&&(b[A._name+\".range\"]=E.yr0.slice())}return Kve.call(\"relayout\",t,b).then(function(){for(var L=0;L<r.length;L++)o(r[L].plotinfo)})}var f,h,d,v=jvt.ease(n.easing);t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(d),d=null,c()});function x(){h=Date.now();for(var b=Math.min(1,(h-f)/n.duration),p=v(b),E=0;E<r.length;E++)s(r[E],p);h-f>n.duration?(u(),d=window.cancelAnimationFrame(x)):d=window.requestAnimationFrame(x)}return f=Date.now(),d=window.requestAnimationFrame(x),Promise.resolve()}});var Jf=ye(yv=>{\"use strict\";var uI=xa(),Qve=ba(),Wb=Mr(),Wvt=Xu(),Zvt=ao(),epe=kd().getModuleCalcData,m_=af(),zg=ad(),Xvt=Zp(),ql=Wb.ensureSingle;function lI(e,t,r){return Wb.ensureSingle(e,t,r,function(n){n.datum(r)})}var Zb=zg.zindexSeparator;yv.name=\"cartesian\";yv.attr=[\"xaxis\",\"yaxis\"];yv.idRoot=[\"x\",\"y\"];yv.idRegex=zg.idRegex;yv.attrRegex=zg.attrRegex;yv.attributes=Eve();yv.layoutAttributes=Cd();yv.supplyLayoutDefaults=Yve();yv.transitionAxes=$ve();yv.finalizeSubplots=function(e,t){var r=t._subplots,n=r.xaxis,i=r.yaxis,a=r.cartesian,o=a,s={},l={},u,c,f;for(u=0;u<o.length;u++){var h=o[u].split(\"y\");s[h[0]]=1,l[\"y\"+h[1]]=1}for(u=0;u<n.length;u++)c=n[u],s[c]||(f=(e[m_.id2name(c)]||{}).anchor,zg.idRegex.y.test(f)||(f=\"y\"),a.push(c+f),o.push(c+f),l[f]||(l[f]=1,Wb.pushUnique(i,f)));for(u=0;u<i.length;u++)f=i[u],l[f]||(c=(e[m_.id2name(f)]||{}).anchor,zg.idRegex.x.test(c)||(c=\"x\"),a.push(c+f),o.push(c+f),s[c]||(s[c]=1,Wb.pushUnique(n,c)));if(!o.length){c=\"\",f=\"\";for(var d in e)if(zg.attrRegex.test(d)){var v=d.charAt(0);v===\"x\"?(!c||+d.substr(5)<+c.substr(5))&&(c=d):(!f||+d.substr(5)<+f.substr(5))&&(f=d)}c=c?m_.name2id(c):\"x\",f=f?m_.name2id(f):\"y\",n.push(c),i.push(f),a.push(c+f)}};yv.plot=function(e,t,r,n){var i=e._fullLayout,a=i._subplots.cartesian,o=e.calcdata,s;if(!Array.isArray(t))for(t=[],s=0;s<o.length;s++)t.push(s);for(var l=i._zindices,u=0;u<l.length;u++){var c=l[u];for(s=0;s<a.length;s++){var f=a[s],h=i._plots[f];if(u>0){var d=h.id;if(d.indexOf(Zb)!==-1)continue;d+=Zb+(u+1),h=Wb.extendFlat({},h,{id:d,plot:i._cartesianlayer.selectAll(\".subplot\").select(\".\"+d)})}for(var v=[],x,b=0;b<o.length;b++){var p=o[b],E=p[0].trace;c===(E.zorder||0)&&E.xaxis+E.yaxis===f&&((t.indexOf(E.index)!==-1||E.carpet)&&(x&&x[0].trace.xaxis+x[0].trace.yaxis===f&&[\"tonextx\",\"tonexty\",\"tonext\"].indexOf(E.fill)!==-1&&v.indexOf(x)===-1&&v.push(x),v.push(p)),x=p)}tpe(e,h,v,r,n)}}};function tpe(e,t,r,n,i){for(var a=zg.traceLayerClasses,o=e._fullLayout,s=o._zindices,l=o._modules,u,c,f,h=[],d=[],v=0;v<s.length;v++)for(var x=s[v],b=0;b<l.length;b++){u=l[b];var p=u.name,E=Qve.modules[p].categories;if(E.svg){var k=u.layerName||p+\"layer\",A=k+(v?Number(v)+1:\"\"),L=u.plot;c=epe(r,L,x),f=c[0],r=c[1],f.length&&h.push({i:a.indexOf(k),zindex:v,className:A,plotMethod:L,cdModule:f}),E.zoomScale&&d.push(\".\"+A)}}h.sort(function(M,g){return(M.zindex||0)-(g.zindex||0)||M.i-g.i});var _=t.plot.selectAll(\"g.mlayer\").data(h,function(M){return M.className});if(_.enter().append(\"g\").attr(\"class\",function(M){return M.className}).classed(\"mlayer\",!0).classed(\"rangeplot\",t.isRangePlot),_.exit().remove(),_.order(),_.each(function(M){var g=uI.select(this),P=M.className;M.plotMethod(e,t,M.cdModule,g,n,i),zg.clipOnAxisFalseQuery.indexOf(\".\"+P)===-1&&Zvt.setClipUrl(g,t.layerClipId,e)}),o._has(\"scattergl\")&&(u=Qve.getModule(\"scattergl\"),f=epe(r,u)[0],u.plot(e,t,f)),!e._context.staticPlot&&(t._hasClipOnAxisFalse&&(t.clipOnAxisFalseTraces=t.plot.selectAll(zg.clipOnAxisFalseQuery.join(\",\")).selectAll(\".trace\")),d.length)){var C=t.plot.selectAll(d.join(\",\")).selectAll(\".trace\");t.zoomScalePts=C.selectAll(\"path.point\"),t.zoomScaleTxt=C.selectAll(\".textpoint\")}}yv.clean=function(e,t,r,n){var i=n._plots||{},a=t._plots||{},o=n._subplots||{},s,l,u;if(n._hasOnlyLargeSploms&&!t._hasOnlyLargeSploms)for(u in i)s=i[u],s.plotgroup&&s.plotgroup.remove();var c=n._has&&n._has(\"gl\"),f=t._has&&t._has(\"gl\");if(c&&!f)for(u in i)s=i[u],s._scene&&s._scene.destroy();if(o.xaxis&&o.yaxis){var h=m_.listIds({_fullLayout:n});for(l=0;l<h.length;l++){var d=h[l];t[m_.id2name(d)]||n._infolayer.selectAll(\".g-\"+d+\"title\").remove()}}var v=n._has&&n._has(\"cartesian\"),x=t._has&&t._has(\"cartesian\");if(v&&!x)ipe(n._cartesianlayer.selectAll(\".subplot\"),n),n._defs.selectAll(\".axesclip\").remove(),delete n._axisConstraintGroups,delete n._axisMatchGroups;else if(o.cartesian)for(l=0;l<o.cartesian.length;l++){var b=o.cartesian[l];if(b.indexOf(Zb)===-1&&!a[b]){var p=\".\"+b+\",.\"+b+\"-x,.\"+b+\"-y\";n._cartesianlayer.selectAll(p).remove(),npe(b,n)}}};yv.drawFramework=function(e){var t=e._fullLayout,r=e.calcdata,n,i={};for(n=0;n<r.length;n++){var a=r[n][0],o=a.trace,s=o.zorder||0;i[s]||(i[s]=[]),i[s].push(a)}var l=Object.keys(i).map(Number).sort(Wb.sorterAsc);l.length||(l=[0]),t._zindices=l;var u=Yvt(e),c=u.length,f=[];for(n=0;n<c;n++)f[n]=u[n].slice();for(var h=1;h<l.length;h++){var d=[];for(n=0;n<c;n++)d[n]=u[n].slice(),d[n][0]+=Zb+(h+1);f=f.concat(d)}var v=t._cartesianlayer.selectAll(\".subplot\").data(f,String);v.enter().append(\"g\").attr(\"class\",function(x){return\"subplot \"+x[0]}),v.order(),v.exit().call(ipe,t),v.each(function(x){var b=x[0],p=b.indexOf(Zb),E=p!==-1,k=E?b.slice(0,p):b,A=t._plots[b];A||(A=Wb.extendFlat({},t._plots[k]),A&&(A.id=b,t._plots[b]=A,t._subplots.cartesian.push(b))),A&&(A.plotgroup=uI.select(this),rpe(e,A),E||(A.draglayer=ql(t._draggers,\"g\",b)))})};yv.rangePlot=function(e,t,r){rpe(e,t),tpe(e,t,r),Wvt.style(e)};function Yvt(e){var t=e._fullLayout,r=t._zindices.length,n=t._subplots.cartesian,i=n.length,a,o,s,l,u,c,f=[],h=[];for(a=0;a<i;a++){s=n[a],l=t._plots[s],u=l.xaxis,c=l.yaxis;var d=u._mainAxis,v=c._mainAxis,x=d._id+v._id,b=t._plots[x];l.overlays=[],x!==s&&b?(l.mainplot=x,l.mainplotinfo=b,h.push(s)):(l.mainplot=void 0,l.mainplotinfo=void 0,f.push(s))}for(a=0;a<h.length;a++)s=h[a],l=t._plots[s],l.mainplotinfo.overlays.push(l);var p=f.concat(h),E=[];for(a=0;a<i;a++){s=p[a],l=t._plots[s],u=l.xaxis,c=l.yaxis;for(var k=[],A=1;A<=r;A++){var L=\"\";for(A>1&&(L+=Zb+A),k.push(s+L),o=0;o<l.overlays.length;o++)k.push(l.overlays[o].id+L)}k=k.concat([u.layer,c.layer,u.overlaying||\"\",c.overlaying||\"\"]),E.push(k)}return E}function rpe(e,t){var r=e._fullLayout,n=t.plotgroup,i=t.id,a=i.indexOf(Zb),o=a!==-1,s=zg.layerValue2layerClass[t.xaxis.layer],l=zg.layerValue2layerClass[t.yaxis.layer],u=r._hasOnlyLargeSploms,c=r._zindices.length>1,f=t.mainplotinfo;if(!t.mainplot||c)if(u)t.xlines=ql(n,\"path\",\"xlines-above\"),t.ylines=ql(n,\"path\",\"ylines-above\"),t.xaxislayer=ql(n,\"g\",\"xaxislayer-above\"),t.yaxislayer=ql(n,\"g\",\"yaxislayer-above\");else{if(!o){var h=ql(n,\"g\",\"layer-subplot\");t.shapelayer=ql(h,\"g\",\"shapelayer\"),t.imagelayer=ql(h,\"g\",\"imagelayer\"),f&&c?(t.minorGridlayer=f.minorGridlayer,t.gridlayer=f.gridlayer,t.zerolinelayer=f.zerolinelayer):(t.minorGridlayer=ql(n,\"g\",\"minor-gridlayer\"),t.gridlayer=ql(n,\"g\",\"gridlayer\"),t.zerolinelayer=ql(n,\"g\",\"zerolinelayer\"));var d=ql(n,\"g\",\"layer-between\");t.shapelayerBetween=ql(d,\"g\",\"shapelayer\"),t.imagelayerBetween=ql(d,\"g\",\"imagelayer\"),ql(n,\"path\",\"xlines-below\"),ql(n,\"path\",\"ylines-below\"),t.overlinesBelow=ql(n,\"g\",\"overlines-below\"),ql(n,\"g\",\"xaxislayer-below\"),ql(n,\"g\",\"yaxislayer-below\"),t.overaxesBelow=ql(n,\"g\",\"overaxes-below\")}t.overplot=ql(n,\"g\",\"overplot\"),t.plot=ql(t.overplot,\"g\",i),o||(t.xlines=ql(n,\"path\",\"xlines-above\"),t.ylines=ql(n,\"path\",\"ylines-above\"),t.overlinesAbove=ql(n,\"g\",\"overlines-above\"),ql(n,\"g\",\"xaxislayer-above\"),ql(n,\"g\",\"yaxislayer-above\"),t.overaxesAbove=ql(n,\"g\",\"overaxes-above\"),t.xlines=n.select(\".xlines-\"+s),t.ylines=n.select(\".ylines-\"+l),t.xaxislayer=n.select(\".xaxislayer-\"+s),t.yaxislayer=n.select(\".yaxislayer-\"+l))}else{var v=f.plotgroup,x=i+\"-x\",b=i+\"-y\";t.minorGridlayer=f.minorGridlayer,t.gridlayer=f.gridlayer,t.zerolinelayer=f.zerolinelayer,ql(f.overlinesBelow,\"path\",x),ql(f.overlinesBelow,\"path\",b),ql(f.overaxesBelow,\"g\",x),ql(f.overaxesBelow,\"g\",b),t.plot=ql(f.overplot,\"g\",i),ql(f.overlinesAbove,\"path\",x),ql(f.overlinesAbove,\"path\",b),ql(f.overaxesAbove,\"g\",x),ql(f.overaxesAbove,\"g\",b),t.xlines=v.select(\".overlines-\"+s).select(\".\"+x),t.ylines=v.select(\".overlines-\"+l).select(\".\"+b),t.xaxislayer=v.select(\".overaxes-\"+s).select(\".\"+x),t.yaxislayer=v.select(\".overaxes-\"+l).select(\".\"+b)}o||(u||(lI(t.minorGridlayer,\"g\",t.xaxis._id),lI(t.minorGridlayer,\"g\",t.yaxis._id),t.minorGridlayer.selectAll(\"g\").map(function(p){return p[0]}).sort(m_.idSort),lI(t.gridlayer,\"g\",t.xaxis._id),lI(t.gridlayer,\"g\",t.yaxis._id),t.gridlayer.selectAll(\"g\").map(function(p){return p[0]}).sort(m_.idSort)),t.xlines.style(\"fill\",\"none\").classed(\"crisp\",!0),t.ylines.style(\"fill\",\"none\").classed(\"crisp\",!0))}function ipe(e,t){if(e){var r={};e.each(function(l){var u=l[0],c=uI.select(this);c.remove(),npe(u,t),r[u]=!0});for(var n in t._plots)for(var i=t._plots[n],a=i.overlays||[],o=0;o<a.length;o++){var s=a[o];r[s.id]&&s.plot.selectAll(\".trace\").remove()}}}function npe(e,t){t._draggers.selectAll(\"g.\"+e).remove(),t._defs.select(\"#clip\"+t._uid+e+\"plot\").remove()}yv.toSVG=function(e){var t=e._fullLayout._glimages,r=uI.select(e).selectAll(\".svg-container\"),n=r.filter(function(a,o){return o===r.size()-1}).selectAll(\".gl-canvas-context, .gl-canvas-focus\");function i(){var a=this,o=a.toDataURL(\"image/png\"),s=t.append(\"svg:image\");s.attr({xmlns:Xvt.svg,\"xlink:href\":o,preserveAspectRatio:\"none\",x:0,y:0,width:a.style.width,height:a.style.height})}n.each(i)};yv.updateFx=zN().updateFx});var ope=ye((ear,ape)=>{\"use strict\";var cI=lu();ape.exports={hasLines:cI.hasLines,hasMarkers:cI.hasMarkers,hasText:cI.hasText,isBubble:cI.isBubble,attributes:Uc(),layoutAttributes:V6(),supplyDefaults:Ide(),crossTraceDefaults:$N(),supplyLayoutDefaults:Fde(),calc:q0().calc,crossTraceCalc:ove(),arraysToCalcdata:km(),plot:iT(),colorbar:Kd(),formatLabels:$P(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:sT(),selectPoints:lT(),animatable:!0,moduleType:\"trace\",name:\"scatter\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\",\"zoomScale\"],meta:{}}});var upe=ye((tar,lpe)=>{\"use strict\";var Kvt=xa(),Jvt=va(),spe=MN(),wU=Mr(),$vt=wU.strScale,Qvt=wU.strRotate,ept=wU.strTranslate;lpe.exports=function(t,r,n){var i=t.node(),a=spe[n.arrowhead||0],o=spe[n.startarrowhead||0],s=(n.arrowwidth||1)*(n.arrowsize||1),l=(n.arrowwidth||1)*(n.startarrowsize||1),u=r.indexOf(\"start\")>=0,c=r.indexOf(\"end\")>=0,f=a.backoff*s+n.standoff,h=o.backoff*l+n.startstandoff,d,v,x,b;if(i.nodeName===\"line\"){d={x:+t.attr(\"x1\"),y:+t.attr(\"y1\")},v={x:+t.attr(\"x2\"),y:+t.attr(\"y2\")};var p=d.x-v.x,E=d.y-v.y;if(x=Math.atan2(E,p),b=x+Math.PI,f&&h&&f+h>Math.sqrt(p*p+E*E)){V();return}if(f){if(f*f>p*p+E*E){V();return}var k=f*Math.cos(x),A=f*Math.sin(x);v.x+=k,v.y+=A,t.attr({x2:v.x,y2:v.y})}if(h){if(h*h>p*p+E*E){V();return}var L=h*Math.cos(x),_=h*Math.sin(x);d.x-=L,d.y-=_,t.attr({x1:d.x,y1:d.y})}}else if(i.nodeName===\"path\"){var C=i.getTotalLength(),M=\"\";if(C<f+h){V();return}var g=i.getPointAtLength(0),P=i.getPointAtLength(.1);x=Math.atan2(g.y-P.y,g.x-P.x),d=i.getPointAtLength(Math.min(h,C)),M=\"0px,\"+h+\"px,\";var T=i.getPointAtLength(C),F=i.getPointAtLength(C-.1);b=Math.atan2(T.y-F.y,T.x-F.x),v=i.getPointAtLength(Math.max(0,C-f));var q=M?h+f:f;M+=C-q+\"px,\"+C+\"px\",t.style(\"stroke-dasharray\",M)}function V(){t.style(\"stroke-dasharray\",\"0px,100px\")}function H(X,G,N,W){X.path&&(X.noRotate&&(N=0),Kvt.select(i.parentNode).append(\"path\").attr({class:t.attr(\"class\"),d:X.path,transform:ept(G.x,G.y)+Qvt(N*180/Math.PI)+$vt(W)}).style({fill:Jvt.rgb(n.arrowcolor),\"stroke-width\":0}))}u&&H(o,d,x,l),c&&H(a,v,b,s)}});var fI=ye((rar,vpe)=>{\"use strict\";var cpe=xa(),TU=ba(),tpt=Xu(),__=Mr(),AU=__.strTranslate,QM=Qa(),Xb=va(),Py=ao(),fpe=Nc(),SU=Pl(),MU=Tg(),$M=gv(),rpt=Vs().arrayEditor,ipt=upe();vpe.exports={draw:npt,drawOne:hpe,drawRaw:dpe};function npt(e){var t=e._fullLayout;t._infolayer.selectAll(\".annotation\").remove();for(var r=0;r<t.annotations.length;r++)t.annotations[r].visible&&hpe(e,r);return tpt.previousPromises(e)}function hpe(e,t){var r=e._fullLayout,n=r.annotations[t]||{},i=QM.getFromId(e,n.xref),a=QM.getFromId(e,n.yref);i&&i.setScale(),a&&a.setScale(),dpe(e,n,t,!1,i,a)}function y_(e,t,r,n,i){var a=i[r],o=i[r+\"ref\"],s=r.indexOf(\"y\")!==-1,l=QM.getRefType(o)===\"domain\",u=s?n.h:n.w;return e?l?a+(s?-t:t)/e._length:e.p2r(e.r2p(a)+t):a+(s?-t:t)/u}function dpe(e,t,r,n,i,a){var o=e._fullLayout,s=e._fullLayout._size,l=e._context.edits,u,c;n?(u=\"annotation-\"+n,c=n+\".annotations\"):(u=\"annotation\",c=\"annotations\");var f=rpt(e.layout,c,t),h=f.modifyBase,d=f.modifyItem,v=f.getUpdateObj;o._infolayer.selectAll(\".\"+u+'[data-index=\"'+r+'\"]').remove();var x=\"clip\"+o._uid+\"_ann\"+r;if(!t._input||t.visible===!1){cpe.selectAll(\"#\"+x).remove();return}var b={x:{},y:{}},p=+t.textangle||0,E=o._infolayer.append(\"g\").classed(u,!0).attr(\"data-index\",String(r)).style(\"opacity\",t.opacity),k=E.append(\"g\").classed(\"annotation-text-g\",!0),A=l[t.showarrow?\"annotationTail\":\"annotationPosition\"],L=t.captureevents||l.annotationText||A;function _(W){var re={index:r,annotation:t._input,fullAnnotation:t,event:W};return n&&(re.subplotId=n),re}var C=k.append(\"g\").style(\"pointer-events\",L?\"all\":null).call(MU,\"pointer\").on(\"click\",function(){e._dragging=!1,e.emit(\"plotly_clickannotation\",_(cpe.event))});t.hovertext&&C.on(\"mouseover\",function(){var W=t.hoverlabel,re=W.font,ae=this.getBoundingClientRect(),_e=e.getBoundingClientRect();fpe.loneHover({x0:ae.left-_e.left,x1:ae.right-_e.left,y:(ae.top+ae.bottom)/2-_e.top,text:t.hovertext,color:W.bgcolor,borderColor:W.bordercolor,fontFamily:re.family,fontSize:re.size,fontColor:re.color,fontWeight:re.weight,fontStyle:re.style,fontVariant:re.variant,fontShadow:re.fontShadow,fontLineposition:re.fontLineposition,fontTextcase:re.fontTextcase},{container:o._hoverlayer.node(),outerContainer:o._paper.node(),gd:e})}).on(\"mouseout\",function(){fpe.loneUnhover(o._hoverlayer.node())});var M=t.borderwidth,g=t.borderpad,P=M+g,T=C.append(\"rect\").attr(\"class\",\"bg\").style(\"stroke-width\",M+\"px\").call(Xb.stroke,t.bordercolor).call(Xb.fill,t.bgcolor),F=t.width||t.height,q=o._topclips.selectAll(\"#\"+x).data(F?[0]:[]);q.enter().append(\"clipPath\").classed(\"annclip\",!0).attr(\"id\",x).append(\"rect\"),q.exit().remove();var V=t.font,H=o._meta?__.templateString(t.text,o._meta):t.text,X=C.append(\"text\").classed(\"annotation-text\",!0).text(H);function G(W){return W.call(Py.font,V).attr({\"text-anchor\":{left:\"start\",right:\"end\"}[t.align]||\"middle\"}),SU.convertToTspans(W,e,N),W}function N(){var W=X.selectAll(\"a\");if(W.size()===1&&W.text()===X.text()){var re=C.insert(\"a\",\":first-child\").attr({\"xlink:xlink:href\":W.attr(\"xlink:href\"),\"xlink:xlink:show\":W.attr(\"xlink:show\")}).style({cursor:\"pointer\"});re.node().appendChild(T.node())}var ae=C.select(\".annotation-text-math-group\"),_e=!ae.empty(),Me=Py.bBox((_e?ae:X).node()),ke=Me.width,ge=Me.height,ie=t.width||ke,Te=t.height||ge,Ee=Math.round(ie+2*P),Ae=Math.round(Te+2*P);function ze(Ve,Xe){return Xe===\"auto\"&&(Ve<1/3?Xe=\"left\":Ve>2/3?Xe=\"right\":Xe=\"center\"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[Xe]}for(var Ce=!1,me=[\"x\",\"y\"],Re=0;Re<me.length;Re++){var ce=me[Re],Ge=t[ce+\"ref\"]||ce,nt=t[\"a\"+ce+\"ref\"],ct={x:i,y:a}[ce],qt=(p+(ce===\"x\"?0:-90))*Math.PI/180,rt=Ee*Math.cos(qt),ot=Ae*Math.sin(qt),Rt=Math.abs(rt)+Math.abs(ot),kt=t[ce+\"anchor\"],Ct=t[ce+\"shift\"]*(ce===\"x\"?1:-1),Yt=b[ce],xr,er,Ke,xt,bt,Lt=QM.getRefType(Ge);if(ct&&Lt!==\"domain\"){var St=ct.r2fraction(t[ce]);(St<0||St>1)&&(nt===Ge?(St=ct.r2fraction(t[\"a\"+ce]),(St<0||St>1)&&(Ce=!0)):Ce=!0),xr=ct._offset+ct.r2p(t[ce]),xt=.5}else{var Et=Lt===\"domain\";ce===\"x\"?(Ke=t[ce],xr=Et?ct._offset+ct._length*Ke:xr=s.l+s.w*Ke):(Ke=1-t[ce],xr=Et?ct._offset+ct._length*Ke:xr=s.t+s.h*Ke),xt=t.showarrow?.5:Ke}if(t.showarrow){Yt.head=xr;var dt=t[\"a\"+ce];if(bt=rt*ze(.5,t.xanchor)-ot*ze(.5,t.yanchor),nt===Ge){var Ht=QM.getRefType(nt);Ht===\"domain\"?(ce===\"y\"&&(dt=1-dt),Yt.tail=ct._offset+ct._length*dt):Ht===\"paper\"?ce===\"y\"?(dt=1-dt,Yt.tail=s.t+s.h*dt):Yt.tail=s.l+s.w*dt:Yt.tail=ct._offset+ct.r2p(dt),er=bt}else Yt.tail=xr+dt,er=bt+dt;Yt.text=Yt.tail+bt;var $t=o[ce===\"x\"?\"width\":\"height\"];if(Ge===\"paper\"&&(Yt.head=__.constrain(Yt.head,1,$t-1)),nt===\"pixel\"){var fr=-Math.max(Yt.tail-3,Yt.text),_r=Math.min(Yt.tail+3,Yt.text)-$t;fr>0?(Yt.tail+=fr,Yt.text+=fr):_r>0&&(Yt.tail-=_r,Yt.text-=_r)}Yt.tail+=Ct,Yt.head+=Ct}else bt=Rt*ze(xt,kt),er=bt,Yt.text=xr+bt;Yt.text+=Ct,bt+=Ct,er+=Ct,t[\"_\"+ce+\"padplus\"]=Rt/2+er,t[\"_\"+ce+\"padminus\"]=Rt/2-er,t[\"_\"+ce+\"size\"]=Rt,t[\"_\"+ce+\"shift\"]=bt}if(Ce){C.remove();return}var Br=0,Or=0;if(t.align!==\"left\"&&(Br=(ie-ke)*(t.align===\"center\"?.5:1)),t.valign!==\"top\"&&(Or=(Te-ge)*(t.valign===\"middle\"?.5:1)),_e)ae.select(\"svg\").attr({x:P+Br-1,y:P+Or}).call(Py.setClipUrl,F?x:null,e);else{var Nr=P+Or-Me.top,ut=P+Br-Me.left;X.call(SU.positionText,ut,Nr).call(Py.setClipUrl,F?x:null,e)}q.select(\"rect\").call(Py.setRect,P,P,ie,Te),T.call(Py.setRect,M/2,M/2,Ee-M,Ae-M),C.call(Py.setTranslate,Math.round(b.x.text-Ee/2),Math.round(b.y.text-Ae/2)),k.attr({transform:\"rotate(\"+p+\",\"+b.x.text+\",\"+b.y.text+\")\"});var Ne=function(Ve,Xe){E.selectAll(\".annotation-arrow-g\").remove();var ht=b.x.head,Le=b.y.head,xe=b.x.tail+Ve,Se=b.y.tail+Xe,lt=b.x.text+Ve,Gt=b.y.text+Xe,Vt=__.rotationXYMatrix(p,lt,Gt),ar=__.apply2DTransform(Vt),Qr=__.apply2DTransform2(Vt),ai=+T.attr(\"width\"),jr=+T.attr(\"height\"),ri=lt-.5*ai,bi=ri+ai,nn=Gt-.5*jr,Wi=nn+jr,Ni=[[ri,nn,ri,Wi],[ri,Wi,bi,Wi],[bi,Wi,bi,nn],[bi,nn,ri,nn]].map(Qr);if(!Ni.reduce(function(Vr,gi){return Vr^!!__.segmentsIntersect(ht,Le,ht+1e6,Le+1e6,gi[0],gi[1],gi[2],gi[3])},!1)){Ni.forEach(function(Vr){var gi=__.segmentsIntersect(xe,Se,ht,Le,Vr[0],Vr[1],Vr[2],Vr[3]);gi&&(xe=gi.x,Se=gi.y)});var _n=t.arrowwidth,$i=t.arrowcolor,zn=t.arrowside,Wn=E.append(\"g\").style({opacity:Xb.opacity($i)}).classed(\"annotation-arrow-g\",!0),It=Wn.append(\"path\").attr(\"d\",\"M\"+xe+\",\"+Se+\"L\"+ht+\",\"+Le).style(\"stroke-width\",_n+\"px\").call(Xb.stroke,Xb.rgb($i));if(ipt(It,zn,t),l.annotationPosition&&It.node().parentNode&&!n){var ft=ht,jt=Le;if(t.standoff){var Zt=Math.sqrt(Math.pow(ht-xe,2)+Math.pow(Le-Se,2));ft+=t.standoff*(xe-ht)/Zt,jt+=t.standoff*(Se-Le)/Zt}var yr=Wn.append(\"path\").classed(\"annotation-arrow\",!0).classed(\"anndrag\",!0).classed(\"cursor-move\",!0).attr({d:\"M3,3H-3V-3H3ZM0,0L\"+(xe-ft)+\",\"+(Se-jt),transform:AU(ft,jt)}).style(\"stroke-width\",_n+6+\"px\").call(Xb.stroke,\"rgba(0,0,0,0)\").call(Xb.fill,\"rgba(0,0,0,0)\"),Fr,Zr;$M.init({element:yr.node(),gd:e,prepFn:function(){var Vr=Py.getTranslate(C);Fr=Vr.x,Zr=Vr.y,i&&i.autorange&&h(i._name+\".autorange\",!0),a&&a.autorange&&h(a._name+\".autorange\",!0)},moveFn:function(Vr,gi){var Si=ar(Fr,Zr),Mi=Si[0]+Vr,Pi=Si[1]+gi;C.call(Py.setTranslate,Mi,Pi),d(\"x\",y_(i,Vr,\"x\",s,t)),d(\"y\",y_(a,gi,\"y\",s,t)),t.axref===t.xref&&d(\"ax\",y_(i,Vr,\"ax\",s,t)),t.ayref===t.yref&&d(\"ay\",y_(a,gi,\"ay\",s,t)),Wn.attr(\"transform\",AU(Vr,gi)),k.attr({transform:\"rotate(\"+p+\",\"+Mi+\",\"+Pi+\")\"})},doneFn:function(){TU.call(\"_guiRelayout\",e,v());var Vr=document.querySelector(\".js-notes-box-panel\");Vr&&Vr.redraw(Vr.selectedObj)}})}}};if(t.showarrow&&Ne(0,0),A){var Ye;$M.init({element:C.node(),gd:e,prepFn:function(){Ye=k.attr(\"transform\")},moveFn:function(Ve,Xe){var ht=\"pointer\";if(t.showarrow)t.axref===t.xref?d(\"ax\",y_(i,Ve,\"ax\",s,t)):d(\"ax\",t.ax+Ve),t.ayref===t.yref?d(\"ay\",y_(a,Xe,\"ay\",s.w,t)):d(\"ay\",t.ay+Xe),Ne(Ve,Xe);else{if(n)return;var Le,xe;if(i)Le=y_(i,Ve,\"x\",s,t);else{var Se=t._xsize/s.w,lt=t.x+(t._xshift-t.xshift)/s.w-Se/2;Le=$M.align(lt+Ve/s.w,Se,0,1,t.xanchor)}if(a)xe=y_(a,Xe,\"y\",s,t);else{var Gt=t._ysize/s.h,Vt=t.y-(t._yshift+t.yshift)/s.h-Gt/2;xe=$M.align(Vt-Xe/s.h,Gt,0,1,t.yanchor)}d(\"x\",Le),d(\"y\",xe),(!i||!a)&&(ht=$M.getCursor(i?.5:Le,a?.5:xe,t.xanchor,t.yanchor))}k.attr({transform:AU(Ve,Xe)+Ye}),MU(C,ht)},clickFn:function(Ve,Xe){t.captureevents&&e.emit(\"plotly_clickannotation\",_(Xe))},doneFn:function(){MU(C),TU.call(\"_guiRelayout\",e,v());var Ve=document.querySelector(\".js-notes-box-panel\");Ve&&Ve.redraw(Ve.selectedObj)}})}}l.annotationText?X.call(SU.makeEditable,{delegate:C,gd:e}).call(G).on(\"edit\",function(W){t.text=W,this.call(G),d(\"text\",W),i&&i.autorange&&h(i._name+\".autorange\",!0),a&&a.autorange&&h(a._name+\".autorange\",!0),TU.call(\"_guiRelayout\",e,v())}):X.call(G)}});var xpe=ye((iar,_pe)=>{\"use strict\";var ppe=Mr(),apt=ba(),gpe=Vs().arrayEditor;_pe.exports={hasClickToShow:opt,onClick:spt};function opt(e,t){var r=ype(e,t);return r.on.length>0||r.explicitOff.length>0}function spt(e,t){var r=ype(e,t),n=r.on,i=r.off.concat(r.explicitOff),a={},o=e._fullLayout.annotations,s,l;if(n.length||i.length){for(s=0;s<n.length;s++)l=gpe(e.layout,\"annotations\",o[n[s]]),l.modifyItem(\"visible\",!0),ppe.extendFlat(a,l.getUpdateObj());for(s=0;s<i.length;s++)l=gpe(e.layout,\"annotations\",o[i[s]]),l.modifyItem(\"visible\",!1),ppe.extendFlat(a,l.getUpdateObj());return apt.call(\"update\",e,{},a)}}function ype(e,t){var r=e._fullLayout.annotations,n=[],i=[],a=[],o=(t||[]).length,s,l,u,c,f,h,d,v;for(s=0;s<r.length;s++)if(u=r[s],c=u.clicktoshow,c){for(l=0;l<o;l++)if(f=t[l],h=f.xaxis,d=f.yaxis,h._id===u.xref&&d._id===u.yref&&h.d2r(f.x)===mpe(u._xclick,h)&&d.d2r(f.y)===mpe(u._yclick,d)){u.visible?c===\"onout\"?v=i:v=a:v=n,v.push(s);break}l===o&&u.visible&&c===\"onout\"&&i.push(s)}return{on:n,off:i,explicitOff:a}}function mpe(e,t){return t.type===\"log\"?t.l2r(e):t.d2r(e)}});var kU=ye((nar,bpe)=>{\"use strict\";var EU=Mr(),uT=va();bpe.exports=function(t,r,n,i){i(\"opacity\");var a=i(\"bgcolor\"),o=i(\"bordercolor\"),s=uT.opacity(o);i(\"borderpad\");var l=i(\"borderwidth\"),u=i(\"showarrow\");i(\"text\",u?\" \":n._dfltTitle.annotation),i(\"textangle\"),EU.coerceFont(i,\"font\",n.font),i(\"width\"),i(\"align\");var c=i(\"height\");if(c&&i(\"valign\"),u){var f=i(\"arrowside\"),h,d;f.indexOf(\"end\")!==-1&&(h=i(\"arrowhead\"),d=i(\"arrowsize\")),f.indexOf(\"start\")!==-1&&(i(\"startarrowhead\",h),i(\"startarrowsize\",d)),i(\"arrowcolor\",s?r.bordercolor:uT.defaultLine),i(\"arrowwidth\",(s&&l||1)*2),i(\"standoff\"),i(\"startstandoff\")}var v=i(\"hovertext\"),x=n.hoverlabel||{};if(v){var b=i(\"hoverlabel.bgcolor\",x.bgcolor||(uT.opacity(a)?uT.rgb(a):uT.defaultLine)),p=i(\"hoverlabel.bordercolor\",x.bordercolor||uT.contrast(b)),E=EU.extendFlat({},x.font);E.color||(E.color=p),EU.coerceFont(i,\"hoverlabel.font\",E)}i(\"captureevents\",!!v)}});var Tpe=ye((aar,wpe)=>{\"use strict\";var CU=Mr(),Yb=Qa(),lpt=Zd(),upt=kU(),cpt=Nb();wpe.exports=function(t,r){lpt(t,r,{name:\"annotations\",handleItemDefaults:fpt})};function fpt(e,t,r){function n(k,A){return CU.coerce(e,t,cpt,k,A)}var i=n(\"visible\"),a=n(\"clicktoshow\");if(i||a){upt(e,t,r,n);for(var o=t.showarrow,s=[\"x\",\"y\"],l=[-10,-30],u={_fullLayout:r},c=0;c<2;c++){var f=s[c],h=Yb.coerceRef(e,t,u,f,\"\",\"paper\");if(h!==\"paper\"){var d=Yb.getFromId(u,h);d._annIndices.push(t._index)}if(Yb.coercePosition(t,u,n,h,f,.5),o){var v=\"a\"+f,x=Yb.coerceRef(e,t,u,v,\"pixel\",[\"pixel\",\"paper\"]);x!==\"pixel\"&&x!==h&&(x=t[v]=\"pixel\");var b=x===\"pixel\"?l[c]:.4;Yb.coercePosition(t,u,n,x,v,b)}n(f+\"anchor\"),n(f+\"shift\")}if(CU.noneOrAll(e,t,[\"x\",\"y\"]),o&&CU.noneOrAll(e,t,[\"ax\",\"ay\"]),a){var p=n(\"xclick\"),E=n(\"yclick\");t._xclick=p===void 0?t.x:Yb.cleanPosition(p,u,t.xref),t._yclick=E===void 0?t.y:Yb.cleanPosition(E,u,t.yref)}}}});var Mpe=ye((oar,Spe)=>{\"use strict\";var LU=Mr(),Kb=Qa(),hpt=fI().draw;Spe.exports=function(t){var r=t._fullLayout,n=LU.filterVisible(r.annotations);if(n.length&&t._fullData.length)return LU.syncOrAsync([hpt,dpt],t)};function dpt(e){var t=e._fullLayout;LU.filterVisible(t.annotations).forEach(function(r){var n=Kb.getFromId(e,r.xref),i=Kb.getFromId(e,r.yref),a=Kb.getRefType(r.xref),o=Kb.getRefType(r.yref);r._extremes={},a===\"range\"&&Ape(r,n),o===\"range\"&&Ape(r,i)})}function Ape(e,t){var r=t._id,n=r.charAt(0),i=e[n],a=e[\"a\"+n],o=e[n+\"ref\"],s=e[\"a\"+n+\"ref\"],l=e[\"_\"+n+\"padplus\"],u=e[\"_\"+n+\"padminus\"],c={x:1,y:-1}[n]*e[n+\"shift\"],f=3*e.arrowsize*e.arrowwidth||0,h=f+c,d=f-c,v=3*e.startarrowsize*e.arrowwidth||0,x=v+c,b=v-c,p;if(s===o){var E=Kb.findExtremes(t,[t.r2c(i)],{ppadplus:h,ppadminus:d}),k=Kb.findExtremes(t,[t.r2c(a)],{ppadplus:Math.max(l,x),ppadminus:Math.max(u,b)});p={min:[E.min[0],k.min[0]],max:[E.max[0],k.max[0]]}}else x=a?x+a:x,b=a?b-a:b,p=Kb.findExtremes(t,[t.r2c(i)],{ppadplus:Math.max(l,h,x),ppadminus:Math.max(u,d,b)});e._extremes[r]=p}});var kpe=ye((sar,Epe)=>{\"use strict\";var vpt=uo(),ppt=u6();Epe.exports=function(t,r,n,i){r=r||{};var a=n===\"log\"&&r.type===\"linear\",o=n===\"linear\"&&r.type===\"log\";if(!(a||o))return;var s=t._fullLayout.annotations,l=r._id.charAt(0),u,c;function f(d){var v=u[d],x=null;a?x=ppt(v,r.range):x=Math.pow(10,v),vpt(x)||(x=null),i(c+d,x)}for(var h=0;h<s.length;h++)u=s[h],c=\"annotations[\"+h+\"].\",u[l+\"ref\"]===r._id&&f(l),u[\"a\"+l+\"ref\"]===r._id&&f(\"a\"+l)}});var Ppe=ye((lar,Lpe)=>{\"use strict\";var PU=fI(),Cpe=xpe();Lpe.exports={moduleType:\"component\",name:\"annotations\",layoutAttributes:Nb(),supplyLayoutDefaults:Tpe(),includeBasePlot:IM()(\"annotations\"),calcAutorange:Mpe(),draw:PU.draw,drawOne:PU.drawOne,drawRaw:PU.drawRaw,hasClickToShow:Cpe.hasClickToShow,onClick:Cpe.onClick,convertCoords:kpe()}});var hI=ye((uar,Ipe)=>{\"use strict\";var Ku=Nb(),gpt=Bu().overrideAll,mpt=Vs().templatedArray;Ipe.exports=gpt(mpt(\"annotation\",{visible:Ku.visible,x:{valType:\"any\"},y:{valType:\"any\"},z:{valType:\"any\"},ax:{valType:\"number\"},ay:{valType:\"number\"},xanchor:Ku.xanchor,xshift:Ku.xshift,yanchor:Ku.yanchor,yshift:Ku.yshift,text:Ku.text,textangle:Ku.textangle,font:Ku.font,width:Ku.width,height:Ku.height,opacity:Ku.opacity,align:Ku.align,valign:Ku.valign,bgcolor:Ku.bgcolor,bordercolor:Ku.bordercolor,borderpad:Ku.borderpad,borderwidth:Ku.borderwidth,showarrow:Ku.showarrow,arrowcolor:Ku.arrowcolor,arrowhead:Ku.arrowhead,startarrowhead:Ku.startarrowhead,arrowside:Ku.arrowside,arrowsize:Ku.arrowsize,startarrowsize:Ku.startarrowsize,arrowwidth:Ku.arrowwidth,standoff:Ku.standoff,startstandoff:Ku.startstandoff,hovertext:Ku.hovertext,hoverlabel:Ku.hoverlabel,captureevents:Ku.captureevents}),\"calc\",\"from-root\")});var Dpe=ye((car,Rpe)=>{\"use strict\";var IU=Mr(),ypt=Qa(),_pt=Zd(),xpt=kU(),bpt=hI();Rpe.exports=function(t,r,n){_pt(t,r,{name:\"annotations\",handleItemDefaults:wpt,fullLayout:n.fullLayout})};function wpt(e,t,r,n){function i(s,l){return IU.coerce(e,t,bpt,s,l)}function a(s){var l=s+\"axis\",u={_fullLayout:{}};return u._fullLayout[l]=r[l],ypt.coercePosition(t,u,i,s,s,.5)}var o=i(\"visible\");o&&(xpt(e,t,n.fullLayout,i),a(\"x\"),a(\"y\"),a(\"z\"),IU.noneOrAll(e,t,[\"x\",\"y\",\"z\"]),t.xref=\"x\",t.yref=\"y\",t.zref=\"z\",i(\"xanchor\"),i(\"yanchor\"),i(\"xshift\"),i(\"yshift\"),t.showarrow&&(t.axref=\"pixel\",t.ayref=\"pixel\",i(\"ax\",-10),i(\"ay\",-30),IU.noneOrAll(e,t,[\"ax\",\"ay\"])))}});var Ope=ye((far,qpe)=>{\"use strict\";var zpe=Mr(),Fpe=Qa();qpe.exports=function(t){for(var r=t.fullSceneLayout,n=r.annotations,i=0;i<n.length;i++)Tpt(n[i],t);t.fullLayout._infolayer.selectAll(\".annotation-\"+t.id).remove()};function Tpt(e,t){var r=t.fullSceneLayout,n=r.domain,i=t.fullLayout._size,a={pdata:null,type:\"linear\",autorange:!1,range:[-1/0,1/0]};e._xa={},zpe.extendFlat(e._xa,a),Fpe.setConvert(e._xa),e._xa._offset=i.l+n.x[0]*i.w,e._xa.l2p=function(){return .5*(1+e._pdata[0]/e._pdata[3])*i.w*(n.x[1]-n.x[0])},e._ya={},zpe.extendFlat(e._ya,a),Fpe.setConvert(e._ya),e._ya._offset=i.t+(1-n.y[1])*i.h,e._ya.l2p=function(){return .5*(1-e._pdata[1]/e._pdata[3])*i.h*(n.y[1]-n.y[0])}}});var DU=ye((har,Bpe)=>{\"use strict\";function RU(e,t){var r=[0,0,0,0],n,i;for(n=0;n<4;++n)for(i=0;i<4;++i)r[i]+=e[4*n+i]*t[n];return r}function Apt(e,t){var r=RU(e.projection,RU(e.view,RU(e.model,[t[0],t[1],t[2],1])));return r}Bpe.exports=Apt});var Upe=ye((dar,Npe)=>{\"use strict\";var Spt=fI().drawRaw,Mpt=DU(),Ept=[\"x\",\"y\",\"z\"];Npe.exports=function(t){for(var r=t.fullSceneLayout,n=t.dataScale,i=r.annotations,a=0;a<i.length;a++){for(var o=i[a],s=!1,l=0;l<3;l++){var u=Ept[l],c=o[u],f=r[u+\"axis\"],h=f.r2fraction(c);if(h<0||h>1){s=!0;break}}s?t.fullLayout._infolayer.select(\".annotation-\"+t.id+'[data-index=\"'+a+'\"]').remove():(o._pdata=Mpt(t.glplot.cameraParams,[r.xaxis.r2l(o.x)*n[0],r.yaxis.r2l(o.y)*n[1],r.zaxis.r2l(o.z)*n[2]]),Spt(t.graphDiv,o,a,t.id,o._xa,o._ya))}}});var Gpe=ye((par,Hpe)=>{\"use strict\";var kpt=ba(),Vpe=Mr();Hpe.exports={moduleType:\"component\",name:\"annotations3d\",schema:{subplots:{scene:{annotations:hI()}}},layoutAttributes:hI(),handleDefaults:Dpe(),includeBasePlot:Cpt,convert:Ope(),draw:Upe()};function Cpt(e,t){var r=kpt.subplotsRegistry.gl3d;if(r)for(var n=r.attrRegex,i=Object.keys(e),a=0;a<i.length;a++){var o=i[a];n.test(o)&&(e[o].annotations||[]).length&&(Vpe.pushUnique(t._basePlotModules,r),Vpe.pushUnique(t._subplots.gl3d,o))}}});var zU=ye((mar,Xpe)=>{\"use strict\";var jpe=Nb(),Wpe=Su(),Zpe=Uc().line,Lpt=Ed().dash,Fg=no().extendFlat,Ppt=Vs().templatedArray,gar=PM(),cT=vl(),Ipt=Wo().shapeTexttemplateAttrs,Rpt=b6();Xpe.exports=Ppt(\"shape\",{visible:Fg({},cT.visible,{editType:\"calc+arraydraw\"}),showlegend:{valType:\"boolean\",dflt:!1,editType:\"calc+arraydraw\"},legend:Fg({},cT.legend,{editType:\"calc+arraydraw\"}),legendgroup:Fg({},cT.legendgroup,{editType:\"calc+arraydraw\"}),legendgrouptitle:{text:Fg({},cT.legendgrouptitle.text,{editType:\"calc+arraydraw\"}),font:Wpe({editType:\"calc+arraydraw\"}),editType:\"calc+arraydraw\"},legendrank:Fg({},cT.legendrank,{editType:\"calc+arraydraw\"}),legendwidth:Fg({},cT.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:Fg({},jpe.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:Fg({},jpe.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:Fg({},Zpe.color,{editType:\"arraydraw\"}),width:Fg({},Zpe.width,{editType:\"calc+arraydraw\"}),dash:Fg({},Lpt,{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:Ipt({},{keys:Object.keys(Rpt)}),font:Wpe({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\"})});var Jpe=ye((yar,Kpe)=>{\"use strict\";var e4=Mr(),fT=Qa(),Dpt=Zd(),zpt=zU(),Ype=h_();Kpe.exports=function(t,r){Dpt(t,r,{name:\"shapes\",handleItemDefaults:qpt})};function Fpt(e,t){return e?\"bottom\":t.indexOf(\"top\")!==-1?\"top\":t.indexOf(\"bottom\")!==-1?\"bottom\":\"middle\"}function qpt(e,t,r){function n(W,re){return e4.coerce(e,t,zpt,W,re)}t._isShape=!0;var i=n(\"visible\");if(i){var a=n(\"showlegend\");a&&(n(\"legend\"),n(\"legendwidth\"),n(\"legendgroup\"),n(\"legendgrouptitle.text\"),e4.coerceFont(n,\"legendgrouptitle.font\"),n(\"legendrank\"));var o=n(\"path\"),s=o?\"path\":\"rect\",l=n(\"type\",s),u=l!==\"path\";u&&delete t.path,n(\"editable\"),n(\"layer\"),n(\"opacity\"),n(\"fillcolor\"),n(\"fillrule\");var c=n(\"line.width\");c&&(n(\"line.color\"),n(\"line.dash\"));for(var f=n(\"xsizemode\"),h=n(\"ysizemode\"),d=[\"x\",\"y\"],v=0;v<2;v++){var x=d[v],b=x+\"anchor\",p=x===\"x\"?f:h,E={_fullLayout:r},k,A,L,_=fT.coerceRef(e,t,E,x,void 0,\"paper\"),C=fT.getRefType(_);if(C===\"range\"?(k=fT.getFromId(E,_),k._shapeIndices.push(t._index),L=Ype.rangeToShapePosition(k),A=Ype.shapePositionToRange(k),(k.type===\"category\"||k.type===\"multicategory\")&&(n(x+\"0shift\"),n(x+\"1shift\"))):A=L=e4.identity,u){var M=.25,g=.75,P=x+\"0\",T=x+\"1\",F=e[P],q=e[T];e[P]=A(e[P],!0),e[T]=A(e[T],!0),p===\"pixel\"?(n(P,0),n(T,10)):(fT.coercePosition(t,E,n,_,P,M),fT.coercePosition(t,E,n,_,T,g)),t[P]=L(t[P]),t[T]=L(t[T]),e[P]=F,e[T]=q}if(p===\"pixel\"){var V=e[b];e[b]=A(e[b],!0),fT.coercePosition(t,E,n,_,b,.25),t[b]=L(t[b]),e[b]=V}}u&&e4.noneOrAll(e,t,[\"x0\",\"x1\",\"y0\",\"y1\"]);var H=l===\"line\",X,G;if(u&&(X=n(\"label.texttemplate\")),X||(G=n(\"label.text\")),G||X){n(\"label.textangle\");var N=n(\"label.textposition\",H?\"middle\":\"middle center\");n(\"label.xanchor\"),n(\"label.yanchor\",Fpt(H,N)),n(\"label.padding\"),e4.coerceFont(n,\"label.font\",r.font)}}}});var e0e=ye((_ar,Qpe)=>{\"use strict\";var Opt=va(),$pe=Mr();function Bpt(e,t){return e?\"bottom\":t.indexOf(\"top\")!==-1?\"top\":t.indexOf(\"bottom\")!==-1?\"bottom\":\"middle\"}Qpe.exports=function(t,r,n){n(\"newshape.visible\"),n(\"newshape.name\"),n(\"newshape.showlegend\"),n(\"newshape.legend\"),n(\"newshape.legendwidth\"),n(\"newshape.legendgroup\"),n(\"newshape.legendgrouptitle.text\"),$pe.coerceFont(n,\"newshape.legendgrouptitle.font\"),n(\"newshape.legendrank\"),n(\"newshape.drawdirection\"),n(\"newshape.layer\"),n(\"newshape.fillcolor\"),n(\"newshape.fillrule\"),n(\"newshape.opacity\");var i=n(\"newshape.line.width\");if(i){var a=(t||{}).plot_bgcolor||\"#FFF\";n(\"newshape.line.color\",Opt.contrast(a)),n(\"newshape.line.dash\")}var o=t.dragmode===\"drawline\",s=n(\"newshape.label.text\"),l=n(\"newshape.label.texttemplate\");if(s||l){n(\"newshape.label.textangle\");var u=n(\"newshape.label.textposition\",o?\"middle\":\"middle center\");n(\"newshape.label.xanchor\"),n(\"newshape.label.yanchor\",Bpt(o,u)),n(\"newshape.label.padding\"),$pe.coerceFont(n,\"newshape.label.font\",r.font)}n(\"activeshape.fillcolor\"),n(\"activeshape.opacity\")}});var a0e=ye((xar,n0e)=>{\"use strict\";var FU=Mr(),hT=Qa(),dT=cM(),r0e=h_();n0e.exports=function(t){var r=t._fullLayout,n=FU.filterVisible(r.shapes);if(!(!n.length||!t._fullData.length))for(var i=0;i<n.length;i++){var a=n[i];a._extremes={};var o,s,l=hT.getRefType(a.xref),u=hT.getRefType(a.yref);a.xref!==\"paper\"&&l!==\"domain\"&&(o=hT.getFromId(t,a.xref),s=t0e(o,a,dT.paramIsX),s&&(a._extremes[o._id]=hT.findExtremes(o,s,Npt(a)))),a.yref!==\"paper\"&&u!==\"domain\"&&(o=hT.getFromId(t,a.yref),s=t0e(o,a,dT.paramIsY),s&&(a._extremes[o._id]=hT.findExtremes(o,s,Upt(a))))}};function Npt(e){return i0e(e.line.width,e.xsizemode,e.x0,e.x1,e.path,!1)}function Upt(e){return i0e(e.line.width,e.ysizemode,e.y0,e.y1,e.path,!0)}function i0e(e,t,r,n,i,a){var o=e/2,s=a;if(t===\"pixel\"){var l=i?r0e.extractPathCoords(i,a?dT.paramIsY:dT.paramIsX):[r,n],u=FU.aggNums(Math.max,null,l),c=FU.aggNums(Math.min,null,l),f=c<0?Math.abs(c)+o:o,h=u>0?u+o:o;return{ppad:o,ppadplus:s?f:h,ppadminus:s?h:f}}else return{ppad:o}}function t0e(e,t,r){var n=e._id.charAt(0)===\"x\"?\"x\":\"y\",i=e.type===\"category\"||e.type===\"multicategory\",a,o,s=0,l=0,u=i?e.r2c:e.d2c,c=t[n+\"sizemode\"]===\"scaled\";if(c?(a=t[n+\"0\"],o=t[n+\"1\"],i&&(s=t[n+\"0shift\"],l=t[n+\"1shift\"])):(a=t[n+\"anchor\"],o=t[n+\"anchor\"]),a!==void 0)return[u(a)+s,u(o)+l];if(t.path){var f=1/0,h=-1/0,d=t.path.match(dT.segmentRE),v,x,b,p,E;for(e.type===\"date\"&&(u=r0e.decodeDate(u)),v=0;v<d.length;v++)x=d[v],b=r[x.charAt(0)].drawn,b!==void 0&&(p=d[v].substr(1).match(dT.paramRE),!(!p||p.length<b)&&(E=u(p[b]),E<f&&(f=E),E>h&&(h=E)));if(h>=f)return[f,h]}}});var l0e=ye((bar,s0e)=>{\"use strict\";var o0e=rP();s0e.exports={moduleType:\"component\",name:\"shapes\",layoutAttributes:zU(),supplyLayoutDefaults:Jpe(),supplyDrawNewShapeDefaults:e0e(),includeBasePlot:IM()(\"shapes\"),calcAutorange:a0e(),draw:o0e.draw,drawOne:o0e.drawOne}});var qU=ye((Tar,c0e)=>{\"use strict\";var u0e=ad(),Vpt=Vs().templatedArray,war=PM();c0e.exports=Vpt(\"image\",{visible:{valType:\"boolean\",dflt:!0,editType:\"arraydraw\"},source:{valType:\"string\",editType:\"arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\",editType:\"arraydraw\"},sizex:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizey:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizing:{valType:\"enumerated\",values:[\"fill\",\"contain\",\"stretch\"],dflt:\"contain\",editType:\"arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},x:{valType:\"any\",dflt:0,editType:\"arraydraw\"},y:{valType:\"any\",dflt:0,editType:\"arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"top\",editType:\"arraydraw\"},xref:{valType:\"enumerated\",values:[\"paper\",u0e.idRegex.x.toString()],dflt:\"paper\",editType:\"arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",u0e.idRegex.y.toString()],dflt:\"paper\",editType:\"arraydraw\"},editType:\"arraydraw\"})});var h0e=ye((Aar,f0e)=>{\"use strict\";var Hpt=Mr(),OU=Qa(),Gpt=Zd(),jpt=qU(),Wpt=\"images\";f0e.exports=function(t,r){var n={name:Wpt,handleItemDefaults:Zpt};Gpt(t,r,n)};function Zpt(e,t,r){function n(h,d){return Hpt.coerce(e,t,jpt,h,d)}var i=n(\"source\"),a=n(\"visible\",!!i);if(!a)return t;n(\"layer\"),n(\"xanchor\"),n(\"yanchor\"),n(\"sizex\"),n(\"sizey\"),n(\"sizing\"),n(\"opacity\");for(var o={_fullLayout:r},s=[\"x\",\"y\"],l=0;l<2;l++){var u=s[l],c=OU.coerceRef(e,t,o,u,\"paper\",void 0);if(c!==\"paper\"){var f=OU.getFromId(o,c);f._imgIndices.push(t._index)}OU.coercePosition(t,o,n,c,u,0)}return t}});var g0e=ye((Sar,p0e)=>{\"use strict\";var d0e=xa(),Xpt=ao(),vT=Qa(),v0e=af(),Ypt=Zp();p0e.exports=function(t){var r=t._fullLayout,n=[],i={},a=[],o,s;for(s=0;s<r.images.length;s++){var l=r.images[s];if(l.visible)if(l.layer===\"below\"&&l.xref!==\"paper\"&&l.yref!==\"paper\"){o=v0e.ref2id(l.xref)+v0e.ref2id(l.yref);var u=r._plots[o];if(!u){a.push(l);continue}u.mainplot&&(o=u.mainplot.id),i[o]||(i[o]=[]),i[o].push(l)}else l.layer===\"above\"?n.push(l):a.push(l)}var c={x:{left:{sizing:\"xMin\",offset:0},center:{sizing:\"xMid\",offset:-1/2},right:{sizing:\"xMax\",offset:-1}},y:{top:{sizing:\"YMin\",offset:0},middle:{sizing:\"YMid\",offset:-1/2},bottom:{sizing:\"YMax\",offset:-1}}};function f(A){var L=d0e.select(this);if(this._imgSrc!==A.source)if(L.attr(\"xmlns\",Ypt.svg),!t._context.staticPlot||A.source&&A.source.slice(0,5)===\"data:\")L.attr(\"xlink:href\",A.source),this._imgSrc=A.source;else{var _=new Promise(function(C){var M=new Image;this.img=M,M.setAttribute(\"crossOrigin\",\"anonymous\"),M.onerror=g,M.onload=function(){var P=document.createElement(\"canvas\");P.width=this.width,P.height=this.height;var T=P.getContext(\"2d\",{willReadFrequently:!0});T.drawImage(this,0,0);var F=P.toDataURL(\"image/png\");L.attr(\"xlink:href\",F),C()},L.on(\"error\",g),M.src=A.source,this._imgSrc=A.source;function g(){L.remove(),C()}}.bind(this));t._promises.push(_)}}function h(A){var L=d0e.select(this),_=vT.getFromId(t,A.xref),C=vT.getFromId(t,A.yref),M=vT.getRefType(A.xref)===\"domain\",g=vT.getRefType(A.yref)===\"domain\",P=r._size,T,F;_!==void 0?T=typeof A.xref==\"string\"&&M?_._length*A.sizex:Math.abs(_.l2p(A.sizex)-_.l2p(0)):T=A.sizex*P.w,C!==void 0?F=typeof A.yref==\"string\"&&g?C._length*A.sizey:Math.abs(C.l2p(A.sizey)-C.l2p(0)):F=A.sizey*P.h;var q=T*c.x[A.xanchor].offset,V=F*c.y[A.yanchor].offset,H=c.x[A.xanchor].sizing+c.y[A.yanchor].sizing,X,G;switch(_!==void 0?X=typeof A.xref==\"string\"&&M?_._length*A.x+_._offset:_.r2p(A.x)+_._offset:X=A.x*P.w+P.l,X+=q,C!==void 0?G=typeof A.yref==\"string\"&&g?C._length*(1-A.y)+C._offset:C.r2p(A.y)+C._offset:G=P.h-A.y*P.h+P.t,G+=V,A.sizing){case\"fill\":H+=\" slice\";break;case\"stretch\":H=\"none\";break}L.attr({x:X,y:G,width:T,height:F,preserveAspectRatio:H,opacity:A.opacity});var N=_&&vT.getRefType(A.xref)!==\"domain\"?_._id:\"\",W=C&&vT.getRefType(A.yref)!==\"domain\"?C._id:\"\",re=N+W;Xpt.setClipUrl(L,re?\"clip\"+r._uid+re:null,t)}function d(A){return[A.xref,A.x,A.sizex,A.yref,A.y,A.sizey].join(\"_\")}function v(A,L){return A._index-L._index}var x=r._imageLowerLayer.selectAll(\"image\").data(a,d),b=r._imageUpperLayer.selectAll(\"image\").data(n,d);x.enter().append(\"image\"),b.enter().append(\"image\"),x.exit().remove(),b.exit().remove(),x.each(function(A){f.bind(this)(A),h.bind(this)(A)}),b.each(function(A){f.bind(this)(A),h.bind(this)(A)}),x.sort(v),b.sort(v);var p=Object.keys(r._plots);for(s=0;s<p.length;s++){o=p[s];var E=r._plots[o];if(E.imagelayer){var k=E.imagelayer.selectAll(\"image\").data(i[o]||[],d);k.enter().append(\"image\"),k.exit().remove(),k.each(function(A){f.bind(this)(A),h.bind(this)(A)}),k.sort(v)}}}});var _0e=ye((Mar,y0e)=>{\"use strict\";var m0e=uo(),Kpt=u6();y0e.exports=function(t,r,n,i){r=r||{};var a=n===\"log\"&&r.type===\"linear\",o=n===\"linear\"&&r.type===\"log\";if(a||o){for(var s=t._fullLayout.images,l=r._id.charAt(0),u,c,f=0;f<s.length;f++)if(u=s[f],c=\"images[\"+f+\"].\",u[l+\"ref\"]===r._id){var h=u[l],d=u[\"size\"+l],v=null,x=null;if(a){v=Kpt(h,r.range);var b=d/Math.pow(10,v)/2;x=2*Math.log(b+Math.sqrt(1+b*b))/Math.LN10}else v=Math.pow(10,h),x=v*(Math.pow(10,d/2)-Math.pow(10,-d/2));m0e(v)?m0e(x)||(x=null):(v=null,x=null),i(c+l,v),i(c+\"size\"+l,x)}}}});var b0e=ye((Ear,x0e)=>{\"use strict\";x0e.exports={moduleType:\"component\",name:\"images\",layoutAttributes:qU(),supplyLayoutDefaults:h0e(),includeBasePlot:IM()(\"images\"),draw:g0e(),convertCoords:_0e()}});var dI=ye((kar,w0e)=>{\"use strict\";w0e.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\"}}});var BU=ye((Car,A0e)=>{\"use strict\";var Jpt=Su(),$pt=dh(),Qpt=no().extendFlat,e0t=Bu().overrideAll,t0t=w6(),T0e=Vs().templatedArray,r0t=T0e(\"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}});A0e.exports=e0t(T0e(\"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:r0t,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:Qpt(t0t({editType:\"arraydraw\"}),{}),font:Jpt({}),bgcolor:{valType:\"color\"},bordercolor:{valType:\"color\",dflt:$pt.borderLine},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"arraydraw\"}}),\"arraydraw\",\"from-root\")});var k0e=ye((Lar,E0e)=>{\"use strict\";var vI=Mr(),S0e=Zd(),M0e=BU(),i0t=dI(),n0t=i0t.name,a0t=M0e.buttons;E0e.exports=function(t,r){var n={name:n0t,handleItemDefaults:o0t};S0e(t,r,n)};function o0t(e,t,r){function n(o,s){return vI.coerce(e,t,M0e,o,s)}var i=S0e(e,t,{name:\"buttons\",handleItemDefaults:s0t}),a=n(\"visible\",i.length>0);a&&(n(\"active\"),n(\"direction\"),n(\"type\"),n(\"showactive\"),n(\"x\"),n(\"y\"),vI.noneOrAll(e,t,[\"x\",\"y\"]),n(\"xanchor\"),n(\"yanchor\"),n(\"pad.t\"),n(\"pad.r\"),n(\"pad.b\"),n(\"pad.l\"),vI.coerceFont(n,\"font\",r.font),n(\"bgcolor\",r.paper_bgcolor),n(\"bordercolor\"),n(\"borderwidth\"))}function s0t(e,t){function r(i,a){return vI.coerce(e,t,a0t,i,a)}var n=r(\"visible\",e.method===\"skip\"||Array.isArray(e.args));n&&(r(\"method\"),r(\"args\"),r(\"args2\"),r(\"label\"),r(\"execute\"))}});var P0e=ye((Par,L0e)=>{\"use strict\";L0e.exports=of;var qg=xa(),C0e=va(),pT=ao(),pI=Mr();function of(e,t,r){this.gd=e,this.container=t,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll(\"rect.scrollbox-bg\").data([0]),this.bg.exit().on(\".drag\",null).on(\"wheel\",null).remove(),this.bg.enter().append(\"rect\").classed(\"scrollbox-bg\",!0).style(\"pointer-events\",\"all\").attr({opacity:0,x:0,y:0,width:0,height:0})}of.barWidth=2;of.barLength=20;of.barRadius=2;of.barPad=1;of.barColor=\"#808BA4\";of.prototype.enable=function(t,r,n){var i=this.gd._fullLayout,a=i.width,o=i.height;this.position=t;var s=this.position.l,l=this.position.w,u=this.position.t,c=this.position.h,f=this.position.direction,h=f===\"down\",d=f===\"left\",v=f===\"right\",x=f===\"up\",b=l,p=c,E,k,A,L;!h&&!d&&!v&&!x&&(this.position.direction=\"down\",h=!0);var _=h||x;_?(E=s,k=E+b,h?(A=u,L=Math.min(A+p,o),p=L-A):(L=u+p,A=Math.max(L-p,0),p=L-A)):(A=u,L=A+p,d?(k=s+b,E=Math.max(k-b,0),b=k-E):(E=s,k=Math.min(E+b,a),b=k-E)),this._box={l:E,t:A,w:b,h:p};var C=l>b,M=of.barLength+2*of.barPad,g=of.barWidth+2*of.barPad,P=s,T=u+c;T+g>o&&(T=o-g);var F=this.container.selectAll(\"rect.scrollbar-horizontal\").data(C?[0]:[]);F.exit().on(\".drag\",null).remove(),F.enter().append(\"rect\").classed(\"scrollbar-horizontal\",!0).call(C0e.fill,of.barColor),C?(this.hbar=F.attr({rx:of.barRadius,ry:of.barRadius,x:P,y:T,width:M,height:g}),this._hbarXMin=P+M/2,this._hbarTranslateMax=b-M):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var q=c>p,V=of.barWidth+2*of.barPad,H=of.barLength+2*of.barPad,X=s+l,G=u;X+V>a&&(X=a-V);var N=this.container.selectAll(\"rect.scrollbar-vertical\").data(q?[0]:[]);N.exit().on(\".drag\",null).remove(),N.enter().append(\"rect\").classed(\"scrollbar-vertical\",!0).call(C0e.fill,of.barColor),q?(this.vbar=N.attr({rx:of.barRadius,ry:of.barRadius,x:X,y:G,width:V,height:H}),this._vbarYMin=G+H/2,this._vbarTranslateMax=p-H):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var W=this.id,re=E-.5,ae=q?k+V+.5:k+.5,_e=A-.5,Me=C?L+g+.5:L+.5,ke=i._topdefs.selectAll(\"#\"+W).data(C||q?[0]:[]);if(ke.exit().remove(),ke.enter().append(\"clipPath\").attr(\"id\",W).append(\"rect\"),C||q?(this._clipRect=ke.select(\"rect\").attr({x:Math.floor(re),y:Math.floor(_e),width:Math.ceil(ae)-Math.floor(re),height:Math.ceil(Me)-Math.floor(_e)}),this.container.call(pT.setClipUrl,W,this.gd),this.bg.attr({x:s,y:u,width:l,height:c})):(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(pT.setClipUrl,null),delete this._clipRect),C||q){var ge=qg.behavior.drag().on(\"dragstart\",function(){qg.event.sourceEvent.preventDefault()}).on(\"drag\",this._onBoxDrag.bind(this));this.container.on(\"wheel\",null).on(\"wheel\",this._onBoxWheel.bind(this)).on(\".drag\",null).call(ge);var ie=qg.behavior.drag().on(\"dragstart\",function(){qg.event.sourceEvent.preventDefault(),qg.event.sourceEvent.stopPropagation()}).on(\"drag\",this._onBarDrag.bind(this));C&&this.hbar.on(\".drag\",null).call(ie),q&&this.vbar.on(\".drag\",null).call(ie)}this.setTranslate(r,n)};of.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(pT.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)};of.prototype._onBoxDrag=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t-=qg.event.dx),this.vbar&&(r-=qg.event.dy),this.setTranslate(t,r)};of.prototype._onBoxWheel=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t+=qg.event.deltaY),this.vbar&&(r+=qg.event.deltaY),this.setTranslate(t,r)};of.prototype._onBarDrag=function(){var t=this.translateX,r=this.translateY;if(this.hbar){var n=t+this._hbarXMin,i=n+this._hbarTranslateMax,a=pI.constrain(qg.event.x,n,i),o=(a-n)/(i-n),s=this.position.w-this._box.w;t=o*s}if(this.vbar){var l=r+this._vbarYMin,u=l+this._vbarTranslateMax,c=pI.constrain(qg.event.y,l,u),f=(c-l)/(u-l),h=this.position.h-this._box.h;r=f*h}this.setTranslate(t,r)};of.prototype.setTranslate=function(t,r){var n=this.position.w-this._box.w,i=this.position.h-this._box.h;if(t=pI.constrain(t||0,0,n),r=pI.constrain(r||0,0,i),this.translateX=t,this.translateY=r,this.container.call(pT.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-r),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+r-.5)}),this.hbar){var a=t/n;this.hbar.call(pT.setTranslate,t+a*this._hbarTranslateMax,r)}if(this.vbar){var o=r/i;this.vbar.call(pT.setTranslate,t,r+o*this._vbarTranslateMax)}}});var U0e=ye((Iar,N0e)=>{\"use strict\";var gT=xa(),t4=Xu(),r4=va(),mT=ao(),e0=Mr(),gI=Pl(),l0t=Vs().arrayEditor,R0e=Nh().LINE_SPACING,Go=dI(),u0t=P0e();N0e.exports=function(t){var r=t._fullLayout,n=e0.filterVisible(r[Go.name]);function i(h){t4.autoMargin(t,O0e(h))}var a=r._menulayer.selectAll(\"g.\"+Go.containerClassName).data(n.length>0?[0]:[]);if(a.enter().append(\"g\").classed(Go.containerClassName,!0).style(\"cursor\",\"pointer\"),a.exit().each(function(){gT.select(this).selectAll(\"g.\"+Go.headerGroupClassName).each(i)}).remove(),n.length!==0){var o=a.selectAll(\"g.\"+Go.headerGroupClassName).data(n,c0t);o.enter().append(\"g\").classed(Go.headerGroupClassName,!0);for(var s=e0.ensureSingle(a,\"g\",Go.dropdownButtonGroupClassName,function(h){h.style(\"pointer-events\",\"all\")}),l=0;l<n.length;l++){var u=n[l];g0t(t,u)}var c=\"updatemenus\"+r._uid,f=new u0t(t,s,c);o.enter().size()&&(s.node().parentNode.appendChild(s.node()),s.call(UU)),o.exit().each(function(h){s.call(UU),i(h)}).remove(),o.each(function(h){var d=gT.select(this),v=h.type===\"dropdown\"?s:null;t4.manageCommandObserver(t,h,h.buttons,function(x){NU(t,h,h.buttons[x.index],d,v,f,x.index,!0)}),h.type===\"dropdown\"?(z0e(t,d,s,f,h),D0e(s,h)&&i4(t,d,s,f,h)):i4(t,d,null,null,h)})}};function c0t(e){return e._index}function f0t(e){return+e.attr(Go.menuIndexAttrName)==-1}function D0e(e,t){return+e.attr(Go.menuIndexAttrName)===t._index}function NU(e,t,r,n,i,a,o,s){t.active=o,l0t(e.layout,Go.name,t).applyUpdate(\"active\",o),t.type===\"buttons\"?i4(e,n,null,null,t):t.type===\"dropdown\"&&(i.attr(Go.menuIndexAttrName,\"-1\"),z0e(e,n,i,a,t),s||i4(e,n,i,a,t))}function z0e(e,t,r,n,i){var a=e0.ensureSingle(t,\"g\",Go.headerClassName,function(h){h.style(\"pointer-events\",\"all\")}),o=i._dims,s=i.active,l=i.buttons[s]||Go.blankHeaderOpts,u={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},c={width:o.headerWidth,height:o.headerHeight};a.call(VU,i,l,e).call(B0e,i,u,c);var f=e0.ensureSingle(t,\"text\",Go.headerArrowClassName,function(h){h.attr(\"text-anchor\",\"end\").call(mT.font,i.font).text(Go.arrowSymbol[i.direction])});f.attr({x:o.headerWidth-Go.arrowOffsetX+i.pad.l,y:o.headerHeight/2+Go.textOffsetY+i.pad.t}),a.on(\"click\",function(){r.call(UU,String(D0e(r,i)?-1:i._index)),i4(e,t,r,n,i)}),a.on(\"mouseover\",function(){a.call(F0e)}),a.on(\"mouseout\",function(){a.call(q0e,i)}),mT.setTranslate(t,o.lx,o.ly)}function i4(e,t,r,n,i){r||(r=t,r.attr(\"pointer-events\",\"all\"));var a=!f0t(r)||i.type===\"buttons\"?i.buttons:[],o=i.type===\"dropdown\"?Go.dropdownButtonClassName:Go.buttonClassName,s=r.selectAll(\"g.\"+o).data(e0.filterVisible(a)),l=s.enter().append(\"g\").classed(o,!0),u=s.exit();i.type===\"dropdown\"?(l.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),u.transition().attr(\"opacity\",\"0\").remove()):u.remove();var c=0,f=0,h=i._dims,d=[\"up\",\"down\"].indexOf(i.direction)!==-1;i.type===\"dropdown\"&&(d?f=h.headerHeight+Go.gapButtonHeader:c=h.headerWidth+Go.gapButtonHeader),i.type===\"dropdown\"&&i.direction===\"up\"&&(f=-Go.gapButtonHeader+Go.gapButton-h.openHeight),i.type===\"dropdown\"&&i.direction===\"left\"&&(c=-Go.gapButtonHeader+Go.gapButton-h.openWidth);var v={x:h.lx+c+i.pad.l,y:h.ly+f+i.pad.t,yPad:Go.gapButton,xPad:Go.gapButton,index:0},x={l:v.x+i.borderwidth,t:v.y+i.borderwidth};s.each(function(b,p){var E=gT.select(this);E.call(VU,i,b,e).call(B0e,i,v),E.on(\"click\",function(){gT.event.defaultPrevented||(b.execute&&(b.args2&&i.active===p?(NU(e,i,b,t,r,n,-1),t4.executeAPICommand(e,b.method,b.args2)):(NU(e,i,b,t,r,n,p),t4.executeAPICommand(e,b.method,b.args))),e.emit(\"plotly_buttonclicked\",{menu:i,button:b,active:i.active}))}),E.on(\"mouseover\",function(){E.call(F0e)}),E.on(\"mouseout\",function(){E.call(q0e,i),s.call(I0e,i)})}),s.call(I0e,i),d?(x.w=Math.max(h.openWidth,h.headerWidth),x.h=v.y-x.t):(x.w=v.x-x.l,x.h=Math.max(h.openHeight,h.headerHeight)),x.direction=i.direction,n&&(s.size()?h0t(e,t,r,n,i,x):d0t(n))}function h0t(e,t,r,n,i,a){var o=i.direction,s=o===\"up\"||o===\"down\",l=i._dims,u=i.active,c,f,h;if(s)for(f=0,h=0;h<u;h++)f+=l.heights[h]+Go.gapButton;else for(c=0,h=0;h<u;h++)c+=l.widths[h]+Go.gapButton;n.enable(a,c,f),n.hbar&&n.hbar.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),n.vbar&&n.vbar.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\")}function d0t(e){var t=!!e.hbar,r=!!e.vbar;t&&e.hbar.transition().attr(\"opacity\",\"0\").each(\"end\",function(){t=!1,r||e.disable()}),r&&e.vbar.transition().attr(\"opacity\",\"0\").each(\"end\",function(){r=!1,t||e.disable()})}function VU(e,t,r,n){e.call(v0t,t).call(p0t,t,r,n)}function v0t(e,t){var r=e0.ensureSingle(e,\"rect\",Go.itemRectClassName,function(n){n.attr({rx:Go.rx,ry:Go.ry,\"shape-rendering\":\"crispEdges\"})});r.call(r4.stroke,t.bordercolor).call(r4.fill,t.bgcolor).style(\"stroke-width\",t.borderwidth+\"px\")}function p0t(e,t,r,n){var i=e0.ensureSingle(e,\"text\",Go.itemTextClassName,function(s){s.attr({\"text-anchor\":\"start\",\"data-notex\":1})}),a=r.label,o=n._fullLayout._meta;o&&(a=e0.templateString(a,o)),i.call(mT.font,t.font).text(a).call(gI.convertToTspans,n)}function I0e(e,t){var r=t.active;e.each(function(n,i){var a=gT.select(this);i===r&&t.showactive&&a.select(\"rect.\"+Go.itemRectClassName).call(r4.fill,Go.activeColor)})}function F0e(e){e.select(\"rect.\"+Go.itemRectClassName).call(r4.fill,Go.hoverColor)}function q0e(e,t){e.select(\"rect.\"+Go.itemRectClassName).call(r4.fill,t.bgcolor)}function g0t(e,t){var r=t._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},n=mT.tester.selectAll(\"g.\"+Go.dropdownButtonClassName).data(e0.filterVisible(t.buttons));n.enter().append(\"g\").classed(Go.dropdownButtonClassName,!0);var i=[\"up\",\"down\"].indexOf(t.direction)!==-1;n.each(function(c,f){var h=gT.select(this);h.call(VU,t,c,e);var d=h.select(\".\"+Go.itemTextClassName),v=d.node()&&mT.bBox(d.node()).width,x=Math.max(v+Go.textPadX,Go.minWidth),b=t.font.size*R0e,p=gI.lineCount(d),E=Math.max(b*p,Go.minHeight)+Go.textOffsetY;E=Math.ceil(E),x=Math.ceil(x),r.widths[f]=x,r.heights[f]=E,r.height1=Math.max(r.height1,E),r.width1=Math.max(r.width1,x),i?(r.totalWidth=Math.max(r.totalWidth,x),r.openWidth=r.totalWidth,r.totalHeight+=E+Go.gapButton,r.openHeight+=E+Go.gapButton):(r.totalWidth+=x+Go.gapButton,r.openWidth+=x+Go.gapButton,r.totalHeight=Math.max(r.totalHeight,E),r.openHeight=r.totalHeight)}),i?r.totalHeight-=Go.gapButton:r.totalWidth-=Go.gapButton,r.headerWidth=r.width1+Go.arrowPadX,r.headerHeight=r.height1,t.type===\"dropdown\"&&(i?(r.width1+=Go.arrowPadX,r.totalHeight=r.height1):r.totalWidth=r.width1,r.totalWidth+=Go.arrowPadX),n.remove();var a=r.totalWidth+t.pad.l+t.pad.r,o=r.totalHeight+t.pad.t+t.pad.b,s=e._fullLayout._size;r.lx=s.l+s.w*t.x,r.ly=s.t+s.h*(1-t.y);var l=\"left\";e0.isRightAnchor(t)&&(r.lx-=a,l=\"right\"),e0.isCenterAnchor(t)&&(r.lx-=a/2,l=\"center\");var u=\"top\";e0.isBottomAnchor(t)&&(r.ly-=o,u=\"bottom\"),e0.isMiddleAnchor(t)&&(r.ly-=o/2,u=\"middle\"),r.totalWidth=Math.ceil(r.totalWidth),r.totalHeight=Math.ceil(r.totalHeight),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),t4.autoMargin(e,O0e(t),{x:t.x,y:t.y,l:a*({right:1,center:.5}[l]||0),r:a*({left:1,center:.5}[l]||0),b:o*({top:1,middle:.5}[u]||0),t:o*({bottom:1,middle:.5}[u]||0)})}function O0e(e){return Go.autoMarginIdRoot+e._index}function B0e(e,t,r,n){n=n||{};var i=e.select(\".\"+Go.itemRectClassName),a=e.select(\".\"+Go.itemTextClassName),o=t.borderwidth,s=r.index,l=t._dims;mT.setTranslate(e,o+r.x,o+r.y);var u=[\"up\",\"down\"].indexOf(t.direction)!==-1,c=n.height||(u?l.heights[s]:l.height1);i.attr({x:0,y:0,width:n.width||(u?l.width1:l.widths[s]),height:c});var f=t.font.size*R0e,h=gI.lineCount(a),d=(h-1)*f/2;gI.positionText(a,Go.textOffsetX,c/2-d+Go.textOffsetY),u?r.y+=l.heights[s]+r.yPad:r.x+=l.widths[s]+r.xPad,r.index++}function UU(e,t){e.attr(Go.menuIndexAttrName,t||\"-1\").selectAll(\"g.\"+Go.dropdownButtonClassName).remove()}});var H0e=ye((Rar,V0e)=>{\"use strict\";var m0t=dI();V0e.exports={moduleType:\"component\",name:m0t.name,layoutAttributes:BU(),supplyLayoutDefaults:k0e(),draw:U0e()}});var n4=ye((Dar,G0e)=>{\"use strict\";G0e.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}});var HU=ye((zar,Z0e)=>{\"use strict\";var j0e=Su(),y0t=w6(),_0t=no().extendDeepAll,x0t=Bu().overrideAll,b0t=zS(),W0e=Vs().templatedArray,Jb=n4(),w0t=W0e(\"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}});Z0e.exports=x0t(W0e(\"slider\",{visible:{valType:\"boolean\",dflt:!0},active:{valType:\"number\",min:0,dflt:0},steps:w0t,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:_0t(y0t({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:b0t.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:j0e({})},font:j0e({}),activebgcolor:{valType:\"color\",dflt:Jb.gripBgActiveColor},bgcolor:{valType:\"color\",dflt:Jb.railBgColor},bordercolor:{valType:\"color\",dflt:Jb.railBorderColor},borderwidth:{valType:\"number\",min:0,dflt:Jb.railBorderWidth},ticklen:{valType:\"number\",min:0,dflt:Jb.tickLength},tickcolor:{valType:\"color\",dflt:Jb.tickColor},tickwidth:{valType:\"number\",min:0,dflt:1},minorticklen:{valType:\"number\",min:0,dflt:Jb.minorTickLength}}),\"arraydraw\",\"from-root\")});var J0e=ye((Far,K0e)=>{\"use strict\";var yT=Mr(),X0e=Zd(),Y0e=HU(),T0t=n4(),A0t=T0t.name,S0t=Y0e.steps;K0e.exports=function(t,r){X0e(t,r,{name:A0t,handleItemDefaults:M0t})};function M0t(e,t,r){function n(f,h){return yT.coerce(e,t,Y0e,f,h)}for(var i=X0e(e,t,{name:\"steps\",handleItemDefaults:E0t}),a=0,o=0;o<i.length;o++)i[o].visible&&a++;var s;if(a<2?s=t.visible=!1:s=n(\"visible\"),!!s){t._stepCount=a;var l=t._visibleSteps=yT.filterVisible(i),u=n(\"active\");(i[u]||{}).visible||(t.active=l[0]._index),n(\"x\"),n(\"y\"),yT.noneOrAll(e,t,[\"x\",\"y\"]),n(\"xanchor\"),n(\"yanchor\"),n(\"len\"),n(\"lenmode\"),n(\"pad.t\"),n(\"pad.r\"),n(\"pad.b\"),n(\"pad.l\"),yT.coerceFont(n,\"font\",r.font);var c=n(\"currentvalue.visible\");c&&(n(\"currentvalue.xanchor\"),n(\"currentvalue.prefix\"),n(\"currentvalue.suffix\"),n(\"currentvalue.offset\"),yT.coerceFont(n,\"currentvalue.font\",t.font)),n(\"transition.duration\"),n(\"transition.easing\"),n(\"bgcolor\"),n(\"activebgcolor\"),n(\"bordercolor\"),n(\"borderwidth\"),n(\"ticklen\"),n(\"tickwidth\"),n(\"tickcolor\"),n(\"minorticklen\")}}function E0t(e,t){function r(a,o){return yT.coerce(e,t,S0t,a,o)}var n;if(e.method!==\"skip\"&&!Array.isArray(e.args)?n=t.visible=!1:n=r(\"visible\"),n){r(\"method\"),r(\"args\");var i=r(\"label\",\"step-\"+t._index);r(\"value\",i),r(\"execute\")}}});var sge=ye((qar,oge)=>{\"use strict\";var Og=xa(),mI=Xu(),x_=va(),Bg=ao(),t0=Mr(),k0t=t0.strTranslate,a4=Pl(),C0t=Vs().arrayEditor,gs=n4(),WU=Nh(),ege=WU.LINE_SPACING,GU=WU.FROM_TL,jU=WU.FROM_BR;oge.exports=function(t){var r=t._context.staticPlot,n=t._fullLayout,i=L0t(n,t),a=n._infolayer.selectAll(\"g.\"+gs.containerClassName).data(i.length>0?[0]:[]);a.enter().append(\"g\").classed(gs.containerClassName,!0).style(\"cursor\",r?null:\"ew-resize\");function o(c){c._commandObserver&&(c._commandObserver.remove(),delete c._commandObserver),mI.autoMargin(t,tge(c))}if(a.exit().each(function(){Og.select(this).selectAll(\"g.\"+gs.groupClassName).each(o)}).remove(),i.length!==0){var s=a.selectAll(\"g.\"+gs.groupClassName).data(i,P0t);s.enter().append(\"g\").classed(gs.groupClassName,!0),s.exit().each(o).remove();for(var l=0;l<i.length;l++){var u=i[l];I0t(t,u)}s.each(function(c){var f=Og.select(this);q0t(c),mI.manageCommandObserver(t,c,c._visibleSteps,function(h){var d=f.data()[0];d.active!==h.index&&(d._dragging||ige(t,f,d,h.index,!1,!0))}),R0t(t,Og.select(this),c)})}};function tge(e){return gs.autoMarginIdRoot+e._index}function L0t(e,t){for(var r=e[gs.name],n=[],i=0;i<r.length;i++){var a=r[i];a.visible&&(a._gd=t,n.push(a))}return n}function P0t(e){return e._index}function I0t(e,t){var r=Bg.tester.selectAll(\"g.\"+gs.labelGroupClass).data(t._visibleSteps);r.enter().append(\"g\").classed(gs.labelGroupClass,!0);var n=0,i=0;r.each(function(v){var x=Og.select(this),b=rge(x,{step:v},t),p=b.node();if(p){var E=Bg.bBox(p);i=Math.max(i,E.height),n=Math.max(n,E.width)}}),r.remove();var a=t._dims={};a.inputAreaWidth=Math.max(gs.railWidth,gs.gripHeight);var o=e._fullLayout._size;a.lx=o.l+o.w*t.x,a.ly=o.t+o.h*(1-t.y),t.lenmode===\"fraction\"?a.outerLength=Math.round(o.w*t.len):a.outerLength=t.len,a.inputAreaStart=0,a.inputAreaLength=Math.round(a.outerLength-t.pad.l-t.pad.r);var s=a.inputAreaLength-2*gs.stepInset,l=s/(t._stepCount-1),u=n+gs.labelPadding;if(a.labelStride=Math.max(1,Math.ceil(u/l)),a.labelHeight=i,a.currentValueMaxWidth=0,a.currentValueHeight=0,a.currentValueTotalHeight=0,a.currentValueMaxLines=1,t.currentvalue.visible){var c=Bg.tester.append(\"g\");r.each(function(v){var x=yI(c,t,v.label),b=x.node()&&Bg.bBox(x.node())||{width:0,height:0},p=a4.lineCount(x);a.currentValueMaxWidth=Math.max(a.currentValueMaxWidth,Math.ceil(b.width)),a.currentValueHeight=Math.max(a.currentValueHeight,Math.ceil(b.height)),a.currentValueMaxLines=Math.max(a.currentValueMaxLines,p)}),a.currentValueTotalHeight=a.currentValueHeight+t.currentvalue.offset,c.remove()}a.height=a.currentValueTotalHeight+gs.tickOffset+t.ticklen+gs.labelOffset+a.labelHeight+t.pad.t+t.pad.b;var f=\"left\";t0.isRightAnchor(t)&&(a.lx-=a.outerLength,f=\"right\"),t0.isCenterAnchor(t)&&(a.lx-=a.outerLength/2,f=\"center\");var h=\"top\";t0.isBottomAnchor(t)&&(a.ly-=a.height,h=\"bottom\"),t0.isMiddleAnchor(t)&&(a.ly-=a.height/2,h=\"middle\"),a.outerLength=Math.ceil(a.outerLength),a.height=Math.ceil(a.height),a.lx=Math.round(a.lx),a.ly=Math.round(a.ly);var d={y:t.y,b:a.height*jU[h],t:a.height*GU[h]};t.lenmode===\"fraction\"?(d.l=0,d.xl=t.x-t.len*GU[f],d.r=0,d.xr=t.x+t.len*jU[f]):(d.x=t.x,d.l=a.outerLength*GU[f],d.r=a.outerLength*jU[f]),mI.autoMargin(e,tge(t),d)}function R0t(e,t,r){(r.steps[r.active]||{}).visible||(r.active=r._visibleSteps[0]._index),t.call(yI,r).call(B0t,r).call(z0t,r).call(F0t,r).call(O0t,e,r).call(D0t,e,r);var n=r._dims;Bg.setTranslate(t,n.lx+r.pad.l,n.ly+r.pad.t),t.call(age,r,!1),t.call(yI,r)}function yI(e,t,r){if(t.currentvalue.visible){var n=t._dims,i,a;switch(t.currentvalue.xanchor){case\"right\":i=n.inputAreaLength-gs.currentValueInset-n.currentValueMaxWidth,a=\"left\";break;case\"center\":i=n.inputAreaLength*.5,a=\"middle\";break;default:i=gs.currentValueInset,a=\"left\"}var o=t0.ensureSingle(e,\"text\",gs.labelClass,function(h){h.attr({\"text-anchor\":a,\"data-notex\":1})}),s=t.currentvalue.prefix?t.currentvalue.prefix:\"\";if(typeof r==\"string\")s+=r;else{var l=t.steps[t.active].label,u=t._gd._fullLayout._meta;u&&(l=t0.templateString(l,u)),s+=l}t.currentvalue.suffix&&(s+=t.currentvalue.suffix),o.call(Bg.font,t.currentvalue.font).text(s).call(a4.convertToTspans,t._gd);var c=a4.lineCount(o),f=(n.currentValueMaxLines+1-c)*t.currentvalue.font.size*ege;return a4.positionText(o,i,f),o}}function D0t(e,t,r){var n=t0.ensureSingle(e,\"rect\",gs.gripRectClass,function(i){i.call(nge,t,e,r).style(\"pointer-events\",\"all\")});n.attr({width:gs.gripWidth,height:gs.gripHeight,rx:gs.gripRadius,ry:gs.gripRadius}).call(x_.stroke,r.bordercolor).call(x_.fill,r.bgcolor).style(\"stroke-width\",r.borderwidth+\"px\")}function rge(e,t,r){var n=t0.ensureSingle(e,\"text\",gs.labelClass,function(o){o.attr({\"text-anchor\":\"middle\",\"data-notex\":1})}),i=t.step.label,a=r._gd._fullLayout._meta;return a&&(i=t0.templateString(i,a)),n.call(Bg.font,r.font).text(i).call(a4.convertToTspans,r._gd),n}function z0t(e,t){var r=t0.ensureSingle(e,\"g\",gs.labelsClass),n=t._dims,i=r.selectAll(\"g.\"+gs.labelGroupClass).data(n.labelSteps);i.enter().append(\"g\").classed(gs.labelGroupClass,!0),i.exit().remove(),i.each(function(a){var o=Og.select(this);o.call(rge,a,t),Bg.setTranslate(o,ZU(t,a.fraction),gs.tickOffset+t.ticklen+t.font.size*ege+gs.labelOffset+n.currentValueTotalHeight)})}function $0e(e,t,r,n,i){var a=Math.round(n*(r._stepCount-1)),o=r._visibleSteps[a]._index;o!==r.active&&ige(e,t,r,o,!0,i)}function ige(e,t,r,n,i,a){var o=r.active;r.active=n,C0t(e.layout,gs.name,r).applyUpdate(\"active\",n);var s=r.steps[r.active];t.call(age,r,a),t.call(yI,r),e.emit(\"plotly_sliderchange\",{slider:r,step:r.steps[r.active],interaction:i,previousActive:o}),s&&s.method&&i&&(t._nextMethod?(t._nextMethod.step=s,t._nextMethod.doCallback=i,t._nextMethod.doTransition=a):(t._nextMethod={step:s,doCallback:i,doTransition:a},t._nextMethodRaf=window.requestAnimationFrame(function(){var l=t._nextMethod.step;l.method&&(l.execute&&mI.executeAPICommand(e,l.method,l.args),t._nextMethod=null,t._nextMethodRaf=null)})))}function nge(e,t,r){if(t._context.staticPlot)return;var n=r.node(),i=Og.select(t);function a(){return r.data()[0]}function o(){var s=a();t.emit(\"plotly_sliderstart\",{slider:s});var l=r.select(\".\"+gs.gripRectClass);Og.event.stopPropagation(),Og.event.preventDefault(),l.call(x_.fill,s.activebgcolor);var u=Q0e(s,Og.mouse(n)[0]);$0e(t,r,s,u,!0),s._dragging=!0;function c(){var h=a(),d=Q0e(h,Og.mouse(n)[0]);$0e(t,r,h,d,!1)}i.on(\"mousemove\",c),i.on(\"touchmove\",c);function f(){var h=a();h._dragging=!1,l.call(x_.fill,h.bgcolor),i.on(\"mouseup\",null),i.on(\"mousemove\",null),i.on(\"touchend\",null),i.on(\"touchmove\",null),t.emit(\"plotly_sliderend\",{slider:h,step:h.steps[h.active]})}i.on(\"mouseup\",f),i.on(\"touchend\",f)}e.on(\"mousedown\",o),e.on(\"touchstart\",o)}function F0t(e,t){var r=e.selectAll(\"rect.\"+gs.tickRectClass).data(t._visibleSteps),n=t._dims;r.enter().append(\"rect\").classed(gs.tickRectClass,!0),r.exit().remove(),r.attr({width:t.tickwidth+\"px\",\"shape-rendering\":\"crispEdges\"}),r.each(function(i,a){var o=a%n.labelStride===0,s=Og.select(this);s.attr({height:o?t.ticklen:t.minorticklen}).call(x_.fill,t.tickcolor),Bg.setTranslate(s,ZU(t,a/(t._stepCount-1))-.5*t.tickwidth,(o?gs.tickOffset:gs.minorTickOffset)+n.currentValueTotalHeight)})}function q0t(e){var t=e._dims;t.labelSteps=[];for(var r=e._stepCount,n=0;n<r;n+=t.labelStride)t.labelSteps.push({fraction:n/(r-1),step:e._visibleSteps[n]})}function age(e,t,r){for(var n=e.select(\"rect.\"+gs.gripRectClass),i=0,a=0;a<t._stepCount;a++)if(t._visibleSteps[a]._index===t.active){i=a;break}var o=ZU(t,i/(t._stepCount-1));if(!t._invokingCommand){var s=n;r&&t.transition.duration>0&&(s=s.transition().duration(t.transition.duration).ease(t.transition.easing)),s.attr(\"transform\",k0t(o-gs.gripWidth*.5,t._dims.currentValueTotalHeight))}}function ZU(e,t){var r=e._dims;return r.inputAreaStart+gs.stepInset+(r.inputAreaLength-2*gs.stepInset)*Math.min(1,Math.max(0,t))}function Q0e(e,t){var r=e._dims;return Math.min(1,Math.max(0,(t-gs.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*gs.stepInset-2*r.inputAreaStart)))}function O0t(e,t,r){var n=r._dims,i=t0.ensureSingle(e,\"rect\",gs.railTouchRectClass,function(a){a.call(nge,t,e,r).style(\"pointer-events\",\"all\")});i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,gs.tickOffset+r.ticklen+n.labelHeight)}).call(x_.fill,r.bgcolor).attr(\"opacity\",0),Bg.setTranslate(i,0,n.currentValueTotalHeight)}function B0t(e,t){var r=t._dims,n=r.inputAreaLength-gs.railInset*2,i=t0.ensureSingle(e,\"rect\",gs.railRectClass);i.attr({width:n,height:gs.railWidth,rx:gs.railRadius,ry:gs.railRadius,\"shape-rendering\":\"crispEdges\"}).call(x_.stroke,t.bordercolor).call(x_.fill,t.bgcolor).style(\"stroke-width\",t.borderwidth+\"px\"),Bg.setTranslate(i,gs.railInset,(r.inputAreaWidth-gs.railWidth)*.5+r.currentValueTotalHeight)}});var uge=ye((Oar,lge)=>{\"use strict\";var N0t=n4();lge.exports={moduleType:\"component\",name:N0t.name,layoutAttributes:HU(),supplyLayoutDefaults:J0e(),draw:sge()}});var _I=ye((Bar,fge)=>{\"use strict\";var cge=dh();fge.exports={bgcolor:{valType:\"color\",dflt:cge.background,editType:\"plot\"},bordercolor:{valType:\"color\",dflt:cge.defaultLine,editType:\"plot\"},borderwidth:{valType:\"integer\",dflt:0,min:0,editType:\"plot\"},autorange:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}}],editType:\"calc\",impliedEdits:{autorange:!1}},thickness:{valType:\"number\",dflt:.15,min:0,max:1,editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"}});var XU=ye((Nar,hge)=>{\"use strict\";hge.exports={_isSubplotObj:!0,rangemode:{valType:\"enumerated\",values:[\"auto\",\"fixed\",\"match\"],dflt:\"match\",editType:\"calc\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},editType:\"calc\"}});var xI=ye((Uar,dge)=>{\"use strict\";dge.exports={name:\"rangeslider\",containerClassName:\"rangeslider-container\",bgClassName:\"rangeslider-bg\",rangePlotClassName:\"rangeslider-rangeplot\",maskMinClassName:\"rangeslider-mask-min\",maskMaxClassName:\"rangeslider-mask-max\",slideBoxClassName:\"rangeslider-slidebox\",grabberMinClassName:\"rangeslider-grabber-min\",grabAreaMinClassName:\"rangeslider-grabarea-min\",handleMinClassName:\"rangeslider-handle-min\",grabberMaxClassName:\"rangeslider-grabber-max\",grabAreaMaxClassName:\"rangeslider-grabarea-max\",handleMaxClassName:\"rangeslider-handle-max\",maskMinOppAxisClassName:\"rangeslider-mask-min-opp-axis\",maskMaxOppAxisClassName:\"rangeslider-mask-max-opp-axis\",maskColor:\"rgba(0,0,0,0.4)\",maskOppAxisColor:\"rgba(0,0,0,0.2)\",slideBoxFill:\"transparent\",slideBoxCursor:\"ew-resize\",grabAreaFill:\"transparent\",grabAreaCursor:\"col-resize\",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}});var gge=ye(wI=>{\"use strict\";var U0t=af(),V0t=Pl(),vge=xI(),H0t=Nh().LINE_SPACING,bI=vge.name;function pge(e){var t=e&&e[bI];return t&&t.visible}wI.isVisible=pge;wI.makeData=function(e){for(var t=U0t.list({_fullLayout:e},\"x\",!0),r=e.margin,n=[],i=0;i<t.length;i++){var a=t[i];if(pge(a)){n.push(a);var o=a[bI];o._id=bI+a._id,o._height=(e.height-r.b-r.t)*o.thickness,o._offsetShift=Math.floor(o.borderwidth/2)}}e._rangeSliderData=n};wI.autoMarginOpts=function(e,t){var r=e._fullLayout,n=t[bI],i=t._id.charAt(0),a=0,o=0;if(t.side===\"bottom\"&&(a=t._depth,t.title.text!==r._dfltTitle[i])){o=1.5*t.title.font.size+10+n._offsetShift;var s=(t.title.text.match(V0t.BR_TAG_ALL)||[]).length;o+=s*t.title.font.size*H0t}return{x:0,y:t._counterDomainMin,l:0,r:0,t:0,b:n._height+a+Math.max(r.margin.b,o),pad:vge.extraPad+n._offsetShift*2}}});var xge=ye((Har,_ge)=>{\"use strict\";var TI=Mr(),mge=Vs(),yge=af(),G0t=_I(),j0t=XU();_ge.exports=function(t,r,n){var i=t[n],a=r[n];if(!(i.rangeslider||r._requestRangeslider[a._id]))return;TI.isPlainObject(i.rangeslider)||(i.rangeslider={});var o=i.rangeslider,s=mge.newContainer(a,\"rangeslider\");function l(L,_){return TI.coerce(o,s,G0t,L,_)}var u,c;function f(L,_){return TI.coerce(u,c,j0t,L,_)}var h=l(\"visible\");if(h){l(\"bgcolor\",r.plot_bgcolor),l(\"bordercolor\"),l(\"borderwidth\"),l(\"thickness\"),l(\"autorange\",!a.isValidRange(o.range)),l(\"range\");var d=r._subplots;if(d)for(var v=d.cartesian.filter(function(L){return L.substr(0,L.indexOf(\"y\"))===yge.name2id(n)}).map(function(L){return L.substr(L.indexOf(\"y\"),L.length)}),x=TI.simpleMap(v,yge.id2name),b=0;b<x.length;b++){var p=x[b];u=o[p]||{},c=mge.newContainer(s,p,\"yaxis\");var E=r[p],k;u.range&&E.isValidRange(u.range)&&(k=\"fixed\");var A=f(\"rangemode\",k);A!==\"match\"&&f(\"range\",E.range.slice())}s._input=o}}});var wge=ye((Gar,bge)=>{\"use strict\";var W0t=af().list,Z0t=wg().getAutoRange,X0t=xI();bge.exports=function(t){for(var r=W0t(t,\"x\",!0),n=0;n<r.length;n++){var i=r[n],a=i[X0t.name];a&&a.visible&&a.autorange&&(a._input.autorange=!0,a._input.range=a.range=Z0t(t,i))}}});var Mge=ye((jar,Sge)=>{\"use strict\";var AI=xa(),Y0t=ba(),K0t=Xu(),Ff=Mr(),SI=Ff.strTranslate,Age=ao(),b_=va(),J0t=Mb(),$0t=Jf(),YU=af(),Q0t=gv(),egt=Tg(),Bs=xI();Sge.exports=function(e){for(var t=e._fullLayout,r=t._rangeSliderData,n=0;n<r.length;n++){var i=r[n][Bs.name];i._clipId=i._id+\"-\"+t._uid}function a(s){return s._name}var o=t._infolayer.selectAll(\"g.\"+Bs.containerClassName).data(r,a);o.exit().each(function(s){var l=s[Bs.name];t._topdefs.select(\"#\"+l._clipId).remove()}).remove(),r.length!==0&&(o.enter().append(\"g\").classed(Bs.containerClassName,!0).attr(\"pointer-events\",\"all\"),o.each(function(s){var l=AI.select(this),u=s[Bs.name],c=t[YU.id2name(s.anchor)],f=u[YU.id2name(s.anchor)];if(u.range){var h=Ff.simpleMap(u.range,s.r2l),d=Ff.simpleMap(s.range,s.r2l),v;d[0]<d[1]?v=[Math.min(h[0],d[0]),Math.max(h[1],d[1])]:v=[Math.max(h[0],d[0]),Math.min(h[1],d[1])],u.range=u._input.range=Ff.simpleMap(v,s.l2r)}s.cleanRange(\"rangeslider.range\");var x=t._size,b=s.domain;u._width=x.w*(b[1]-b[0]);var p=Math.round(x.l+x.w*b[0]),E=Math.round(x.t+x.h*(1-s._counterDomainMin)+(s.side===\"bottom\"?s._depth:0)+u._offsetShift+Bs.extraPad);l.attr(\"transform\",SI(p,E)),u._rl=Ff.simpleMap(u.range,s.r2l);var k=u._rl[0],A=u._rl[1],L=A-k;if(u.p2d=function(H){return H/u._width*L+k},u.d2p=function(H){return(H-k)/L*u._width},s.rangebreaks){var _=s.locateBreaks(k,A);if(_.length){var C,M,g=0;for(C=0;C<_.length;C++)M=_[C],g+=M.max-M.min;var P=u._width/(A-k-g),T=[-P*k];for(C=0;C<_.length;C++)M=_[C],T.push(T[T.length-1]-P*(M.max-M.min));for(u.d2p=function(H){for(var X=T[0],G=0;G<_.length;G++){var N=_[G];if(H>=N.max)X=T[G+1];else if(H<N.min)break}return X+P*H},C=0;C<_.length;C++)M=_[C],M.pmin=u.d2p(M.min),M.pmax=u.d2p(M.max);u.p2d=function(H){for(var X=T[0],G=0;G<_.length;G++){var N=_[G];if(H>=N.pmax)X=T[G+1];else if(H<N.pmin)break}return(H-X)/P}}}if(f.rangemode!==\"match\"){var F=c.r2l(f.range[0]),q=c.r2l(f.range[1]),V=q-F;u.d2pOppAxis=function(H){return(H-F)/V*u._height}}l.call(ngt,e,s,u).call(agt,e,s,u).call(ogt,e,s,u).call(lgt,e,s,u,f).call(ugt,e,s,u).call(cgt,e,s,u),tgt(l,e,s,u),igt(l,e,s,u,c,f),s.side===\"bottom\"&&J0t.draw(e,s._id+\"title\",{propContainer:s,propName:s._name+\".title\",placeholder:t._dfltTitle.x,attributes:{x:s._offset+s._length/2,y:E+u._height+u._offsetShift+10+1.5*s.title.font.size,\"text-anchor\":\"middle\"}})}))};function Tge(e){return typeof e.clientX==\"number\"?e.clientX:e.touches&&e.touches.length>0?e.touches[0].clientX:0}function tgt(e,t,r,n){if(t._context.staticPlot)return;var i=e.select(\"rect.\"+Bs.slideBoxClassName).node(),a=e.select(\"rect.\"+Bs.grabAreaMinClassName).node(),o=e.select(\"rect.\"+Bs.grabAreaMaxClassName).node();function s(){var l=AI.event,u=l.target,c=Tge(l),f=c-e.node().getBoundingClientRect().left,h=n.d2p(r._rl[0]),d=n.d2p(r._rl[1]),v=Q0t.coverSlip();this.addEventListener(\"touchmove\",x),this.addEventListener(\"touchend\",b),v.addEventListener(\"mousemove\",x),v.addEventListener(\"mouseup\",b);function x(p){var E=Tge(p),k=+E-c,A,L,_;switch(u){case i:if(_=\"ew-resize\",h+k>r._length||d+k<0)return;A=h+k,L=d+k;break;case a:if(_=\"col-resize\",h+k>r._length)return;A=h+k,L=d;break;case o:if(_=\"col-resize\",d+k<0)return;A=h,L=d+k;break;default:_=\"ew-resize\",A=f,L=f+k;break}if(L<A){var C=L;L=A,A=C}n._pixelMin=A,n._pixelMax=L,egt(AI.select(v),_),rgt(e,t,r,n)}function b(){v.removeEventListener(\"mousemove\",x),v.removeEventListener(\"mouseup\",b),this.removeEventListener(\"touchmove\",x),this.removeEventListener(\"touchend\",b),Ff.removeElement(v)}}e.on(\"mousedown\",s),e.on(\"touchstart\",s)}function rgt(e,t,r,n){function i(s){return r.l2r(Ff.constrain(s,n._rl[0],n._rl[1]))}var a=i(n.p2d(n._pixelMin)),o=i(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){Y0t.call(\"_guiRelayout\",t,r._name+\".range\",[a,o])})}function igt(e,t,r,n,i,a){var o=Bs.handleWidth/2;function s(p){return Ff.constrain(p,0,n._width)}function l(p){return Ff.constrain(p,0,n._height)}function u(p){return Ff.constrain(p,-o,n._width+o)}var c=s(n.d2p(r._rl[0])),f=s(n.d2p(r._rl[1]));if(e.select(\"rect.\"+Bs.slideBoxClassName).attr(\"x\",c).attr(\"width\",f-c),e.select(\"rect.\"+Bs.maskMinClassName).attr(\"width\",c),e.select(\"rect.\"+Bs.maskMaxClassName).attr(\"x\",f).attr(\"width\",n._width-f),a.rangemode!==\"match\"){var h=n._height-l(n.d2pOppAxis(i._rl[1])),d=n._height-l(n.d2pOppAxis(i._rl[0]));e.select(\"rect.\"+Bs.maskMinOppAxisClassName).attr(\"x\",c).attr(\"height\",h).attr(\"width\",f-c),e.select(\"rect.\"+Bs.maskMaxOppAxisClassName).attr(\"x\",c).attr(\"y\",d).attr(\"height\",n._height-d).attr(\"width\",f-c),e.select(\"rect.\"+Bs.slideBoxClassName).attr(\"y\",h).attr(\"height\",d-h)}var v=.5,x=Math.round(u(c-o))-v,b=Math.round(u(f-o))+v;e.select(\"g.\"+Bs.grabberMinClassName).attr(\"transform\",SI(x,v)),e.select(\"g.\"+Bs.grabberMaxClassName).attr(\"transform\",SI(b,v))}function ngt(e,t,r,n){var i=Ff.ensureSingle(e,\"rect\",Bs.bgClassName,function(l){l.attr({x:0,y:0,\"shape-rendering\":\"crispEdges\"})}),a=n.borderwidth%2===0?n.borderwidth:n.borderwidth-1,o=-n._offsetShift,s=Age.crispRound(t,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:SI(o,o),\"stroke-width\":s}).call(b_.stroke,n.bordercolor).call(b_.fill,n.bgcolor)}function agt(e,t,r,n){var i=t._fullLayout,a=Ff.ensureSingleById(i._topdefs,\"clipPath\",n._clipId,function(o){o.append(\"rect\").attr({x:0,y:0})});a.select(\"rect\").attr({width:n._width,height:n._height})}function ogt(e,t,r,n){var i=t.calcdata,a=e.selectAll(\"g.\"+Bs.rangePlotClassName).data(r._subplotsWith,Ff.identity);a.enter().append(\"g\").attr(\"class\",function(s){return Bs.rangePlotClassName+\" \"+s}).call(Age.setClipUrl,n._clipId,t),a.order(),a.exit().remove();var o;a.each(function(s,l){var u=AI.select(this),c=l===0,f=YU.getFromId(t,s,\"y\"),h=f._name,d=n[h],v={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:n.range.slice(),calendar:r.calendar},width:n._width,height:n._height,margin:{t:0,b:0,l:0,r:0}},_context:t._context};r.rangebreaks&&(v.layout.xaxis.rangebreaks=r.rangebreaks),v.layout[h]={type:f.type,domain:[0,1],range:d.rangemode!==\"match\"?d.range.slice():f.range.slice(),calendar:f.calendar},f.rangebreaks&&(v.layout[h].rangebreaks=f.rangebreaks),K0t.supplyDefaults(v);var x=v._fullLayout.xaxis,b=v._fullLayout[h];x.clearCalc(),x.setScale(),b.clearCalc(),b.setScale();var p={id:s,plotgroup:u,xaxis:x,yaxis:b,isRangePlot:!0};c?o=p:(p.mainplot=\"xy\",p.mainplotinfo=o),$0t.rangePlot(t,p,sgt(i,s))})}function sgt(e,t){for(var r=[],n=0;n<e.length;n++){var i=e[n],a=i[0].trace;a.xaxis+a.yaxis===t&&r.push(i)}return r}function lgt(e,t,r,n,i){var a=Ff.ensureSingle(e,\"rect\",Bs.maskMinClassName,function(u){u.attr({x:0,y:0,\"shape-rendering\":\"crispEdges\"})});a.attr(\"height\",n._height).call(b_.fill,Bs.maskColor);var o=Ff.ensureSingle(e,\"rect\",Bs.maskMaxClassName,function(u){u.attr({y:0,\"shape-rendering\":\"crispEdges\"})});if(o.attr(\"height\",n._height).call(b_.fill,Bs.maskColor),i.rangemode!==\"match\"){var s=Ff.ensureSingle(e,\"rect\",Bs.maskMinOppAxisClassName,function(u){u.attr({y:0,\"shape-rendering\":\"crispEdges\"})});s.attr(\"width\",n._width).call(b_.fill,Bs.maskOppAxisColor);var l=Ff.ensureSingle(e,\"rect\",Bs.maskMaxOppAxisClassName,function(u){u.attr({y:0,\"shape-rendering\":\"crispEdges\"})});l.attr(\"width\",n._width).style(\"border-top\",Bs.maskOppBorder).call(b_.fill,Bs.maskOppAxisColor)}}function ugt(e,t,r,n){if(!t._context.staticPlot){var i=Ff.ensureSingle(e,\"rect\",Bs.slideBoxClassName,function(a){a.attr({y:0,cursor:Bs.slideBoxCursor,\"shape-rendering\":\"crispEdges\"})});i.attr({height:n._height,fill:Bs.slideBoxFill})}}function cgt(e,t,r,n){var i=Ff.ensureSingle(e,\"g\",Bs.grabberMinClassName),a=Ff.ensureSingle(e,\"g\",Bs.grabberMaxClassName),o={x:0,width:Bs.handleWidth,rx:Bs.handleRadius,fill:b_.background,stroke:b_.defaultLine,\"stroke-width\":Bs.handleStrokeWidth,\"shape-rendering\":\"crispEdges\"},s={y:Math.round(n._height/4),height:Math.round(n._height/2)},l=Ff.ensureSingle(i,\"rect\",Bs.handleMinClassName,function(d){d.attr(o)});l.attr(s);var u=Ff.ensureSingle(a,\"rect\",Bs.handleMaxClassName,function(d){d.attr(o)});u.attr(s);var c={width:Bs.grabAreaWidth,x:0,y:0,fill:Bs.grabAreaFill,cursor:t._context.staticPlot?void 0:Bs.grabAreaCursor},f=Ff.ensureSingle(i,\"rect\",Bs.grabAreaMinClassName,function(d){d.attr(c)});f.attr(\"height\",n._height);var h=Ff.ensureSingle(a,\"rect\",Bs.grabAreaMaxClassName,function(d){d.attr(c)});h.attr(\"height\",n._height)}});var kge=ye((War,Ege)=>{\"use strict\";var fgt=Mr(),hgt=_I(),dgt=XU(),KU=gge();Ege.exports={moduleType:\"component\",name:\"rangeslider\",schema:{subplots:{xaxis:{rangeslider:fgt.extendFlat({},hgt,{yaxis:dgt})}}},layoutAttributes:_I(),handleDefaults:xge(),calcAutorange:wge(),draw:Mge(),isVisible:KU.isVisible,makeData:KU.makeData,autoMarginOpts:KU.autoMarginOpts}});var MI=ye((Zar,Lge)=>{\"use strict\";var vgt=Su(),Cge=dh(),pgt=Vs().templatedArray,ggt=pgt(\"button\",{visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},step:{valType:\"enumerated\",values:[\"month\",\"year\",\"day\",\"hour\",\"minute\",\"second\",\"all\"],dflt:\"month\",editType:\"plot\"},stepmode:{valType:\"enumerated\",values:[\"backward\",\"todate\"],dflt:\"backward\",editType:\"plot\"},count:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},label:{valType:\"string\",editType:\"plot\"},editType:\"plot\"});Lge.exports={visible:{valType:\"boolean\",editType:\"plot\"},buttons:ggt,x:{valType:\"number\",min:-2,max:3,editType:\"plot\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"plot\"},y:{valType:\"number\",min:-2,max:3,editType:\"plot\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"bottom\",editType:\"plot\"},font:vgt({editType:\"plot\"}),bgcolor:{valType:\"color\",dflt:Cge.lightLine,editType:\"plot\"},activecolor:{valType:\"color\",editType:\"plot\"},bordercolor:{valType:\"color\",dflt:Cge.defaultLine,editType:\"plot\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"}});var JU=ye((Xar,Pge)=>{\"use strict\";Pge.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}});var Dge=ye((Yar,Rge)=>{\"use strict\";var EI=Mr(),mgt=va(),ygt=Vs(),_gt=Zd(),Ige=MI(),$U=JU();Rge.exports=function(t,r,n,i,a){var o=t.rangeselector||{},s=ygt.newContainer(r,\"rangeselector\");function l(d,v){return EI.coerce(o,s,Ige,d,v)}var u=_gt(o,s,{name:\"buttons\",handleItemDefaults:xgt,calendar:a}),c=l(\"visible\",u.length>0);if(c){var f=bgt(r,n,i);l(\"x\",f[0]),l(\"y\",f[1]),EI.noneOrAll(t,r,[\"x\",\"y\"]),l(\"xanchor\"),l(\"yanchor\"),EI.coerceFont(l,\"font\",n.font);var h=l(\"bgcolor\");l(\"activecolor\",mgt.contrast(h,$U.lightAmount,$U.darkAmount)),l(\"bordercolor\"),l(\"borderwidth\")}};function xgt(e,t,r,n){var i=n.calendar;function a(l,u){return EI.coerce(e,t,Ige.buttons,l,u)}var o=a(\"visible\");if(o){var s=a(\"step\");s!==\"all\"&&(i&&i!==\"gregorian\"&&(s===\"month\"||s===\"year\")?t.stepmode=\"backward\":a(\"stepmode\"),a(\"count\")),a(\"label\")}}function bgt(e,t,r){for(var n=r.filter(function(s){return t[s].anchor===e._id}),i=0,a=0;a<n.length;a++){var o=t[n[a]].domain;o&&(i=Math.max(o[1],i))}return[e.domain[0],i+$U.yPad]}});var Fge=ye((Kar,zge)=>{\"use strict\";var wgt=dq(),Tgt=Mr().titleCase;zge.exports=function(t,r){var n=t._name,i={};if(r.step===\"all\")i[n+\".autorange\"]=!0;else{var a=Agt(t,r);i[n+\".range[0]\"]=a[0],i[n+\".range[1]\"]=a[1]}return i};function Agt(e,t){var r=e.range,n=new Date(e.r2l(r[1])),i=t.step,a=wgt[\"utc\"+Tgt(i)],o=t.count,s;switch(t.stepmode){case\"backward\":s=e.l2r(+a.offset(n,-o));break;case\"todate\":var l=a.offset(n,-o);s=e.l2r(+a.ceil(l));break}var u=r[1];return[s,u]}});var Gge=ye((Jar,Hge)=>{\"use strict\";var CI=xa(),Sgt=ba(),Mgt=Xu(),qge=va(),Vge=ao(),Iy=Mr(),Oge=Iy.strTranslate,kI=Pl(),Egt=af(),tV=Nh(),Bge=tV.LINE_SPACING,Nge=tV.FROM_TL,Uge=tV.FROM_BR,eV=JU(),kgt=Fge();Hge.exports=function(t){var r=t._fullLayout,n=r._infolayer.selectAll(\".rangeselector\").data(Cgt(t),Lgt);n.enter().append(\"g\").classed(\"rangeselector\",!0),n.exit().remove(),n.style({cursor:\"pointer\",\"pointer-events\":\"all\"}),n.each(function(i){var a=CI.select(this),o=i,s=o.rangeselector,l=a.selectAll(\"g.button\").data(Iy.filterVisible(s.buttons));l.enter().append(\"g\").classed(\"button\",!0),l.exit().remove(),l.each(function(u){var c=CI.select(this),f=kgt(o,u);u._isActive=Pgt(o,u,f),c.call(QU,s,u),c.call(Rgt,s,u,t),c.on(\"click\",function(){t._dragged||Sgt.call(\"_guiRelayout\",t,f)}),c.on(\"mouseover\",function(){u._isHovered=!0,c.call(QU,s,u)}),c.on(\"mouseout\",function(){u._isHovered=!1,c.call(QU,s,u)})}),zgt(t,l,s,o._name,a)})};function Cgt(e){for(var t=Egt.list(e,\"x\",!0),r=[],n=0;n<t.length;n++){var i=t[n];i.rangeselector&&i.rangeselector.visible&&r.push(i)}return r}function Lgt(e){return e._id}function Pgt(e,t,r){if(t.step===\"all\")return e.autorange===!0;var n=Object.keys(r);return e.range[0]===r[n[0]]&&e.range[1]===r[n[1]]}function QU(e,t,r){var n=Iy.ensureSingle(e,\"rect\",\"selector-rect\",function(i){i.attr(\"shape-rendering\",\"crispEdges\")});n.attr({rx:eV.rx,ry:eV.ry}),n.call(qge.stroke,t.bordercolor).call(qge.fill,Igt(t,r)).style(\"stroke-width\",t.borderwidth+\"px\")}function Igt(e,t){return t._isActive||t._isHovered?e.activecolor:e.bgcolor}function Rgt(e,t,r,n){function i(o){kI.convertToTspans(o,n)}var a=Iy.ensureSingle(e,\"text\",\"selector-text\",function(o){o.attr(\"text-anchor\",\"middle\")});a.call(Vge.font,t.font).text(Dgt(r,n._fullLayout._meta)).call(i)}function Dgt(e,t){return e.label?t?Iy.templateString(e.label,t):e.label:e.step===\"all\"?\"all\":e.count+e.step.charAt(0)}function zgt(e,t,r,n,i){var a=0,o=0,s=r.borderwidth;t.each(function(){var d=CI.select(this),v=d.select(\".selector-text\"),x=r.font.size*Bge,b=Math.max(x*kI.lineCount(v),16)+3;o=Math.max(o,b)}),t.each(function(){var d=CI.select(this),v=d.select(\".selector-rect\"),x=d.select(\".selector-text\"),b=x.node()&&Vge.bBox(x.node()).width,p=r.font.size*Bge,E=kI.lineCount(x),k=Math.max(b+10,eV.minButtonWidth);d.attr(\"transform\",Oge(s+a,s)),v.attr({x:0,y:0,width:k,height:o}),kI.positionText(x,k/2,o/2-(E-1)*p/2+3),a+=k+5});var l=e._fullLayout._size,u=l.l+l.w*r.x,c=l.t+l.h*(1-r.y),f=\"left\";Iy.isRightAnchor(r)&&(u-=a,f=\"right\"),Iy.isCenterAnchor(r)&&(u-=a/2,f=\"center\");var h=\"top\";Iy.isBottomAnchor(r)&&(c-=o,h=\"bottom\"),Iy.isMiddleAnchor(r)&&(c-=o/2,h=\"middle\"),a=Math.ceil(a),o=Math.ceil(o),u=Math.round(u),c=Math.round(c),Mgt.autoMargin(e,n+\"-range-selector\",{x:r.x,y:r.y,l:a*Nge[f],r:a*Uge[f],b:o*Uge[h],t:o*Nge[h]}),i.attr(\"transform\",Oge(u,c))}});var Wge=ye(($ar,jge)=>{\"use strict\";jge.exports={moduleType:\"component\",name:\"rangeselector\",schema:{subplots:{xaxis:{rangeselector:MI()}}},layoutAttributes:MI(),handleDefaults:Dge(),draw:Gge()}});var Ju=ye(rV=>{\"use strict\";var Zge=no().extendFlat;rV.attributes=function(e,t){e=e||{},t=t||{};var r={valType:\"info_array\",editType:e.editType,items:[{valType:\"number\",min:0,max:1,editType:e.editType},{valType:\"number\",min:0,max:1,editType:e.editType}],dflt:[0,1]},n=e.name?e.name+\" \":\"\",i=e.trace?\"trace \":\"subplot \",a=t.description?\" \"+t.description:\"\",o={x:Zge({},r,{}),y:Zge({},r,{}),editType:e.editType};return e.noGridCell||(o.row={valType:\"integer\",min:0,dflt:0,editType:e.editType},o.column={valType:\"integer\",min:0,dflt:0,editType:e.editType}),o};rV.defaults=function(e,t,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=t.grid;if(o){var s=r(\"domain.column\");s!==void 0&&(s<o.columns?i=o._domains.x[s]:delete e.domain.column);var l=r(\"domain.row\");l!==void 0&&(l<o.rows?a=o._domains.y[l]:delete e.domain.row)}var u=r(\"domain.x\",i),c=r(\"domain.y\",a);u[0]<u[1]||(e.domain.x=i.slice()),c[0]<c[1]||(e.domain.y=a.slice())}});var nV=ye((eor,Jge)=>{\"use strict\";var Fgt=Mr(),qgt=n3().counter,Ogt=Ju().attributes,Xge=ad().idRegex,Bgt=Vs(),iV={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:[qgt(\"xy\").toString(),\"\"],editType:\"plot\"},editType:\"plot\"},xaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[Xge.x.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},yaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[Xge.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:Ogt({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 LI(e,t,r){var n=t[r+\"axes\"],i=Object.keys((e._splomAxes||{})[r]||{});if(Array.isArray(n))return n;if(i.length)return i}function Ngt(e,t){var r=e.grid||{},n=LI(t,r,\"x\"),i=LI(t,r,\"y\");if(!e.grid&&!n&&!i)return;var a=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),o=Array.isArray(n),s=Array.isArray(i),l=o&&n!==r.xaxes&&s&&i!==r.yaxes,u,c;a?(u=r.subplots.length,c=r.subplots[0].length):(s&&(u=i.length),o&&(c=n.length));var f=Bgt.newContainer(t,\"grid\");function h(_,C){return Fgt.coerce(r,f,iV,_,C)}var d=h(\"rows\",u),v=h(\"columns\",c);if(!(d*v>1)){delete t.grid;return}if(!a&&!o&&!s){var x=h(\"pattern\")===\"independent\";x&&(a=!0)}f._hasSubplotGrid=a;var b=h(\"roworder\"),p=b===\"top to bottom\",E=a?.2:.1,k=a?.3:.1,A,L;l&&t._splomGridDflt&&(A=t._splomGridDflt.xside,L=t._splomGridDflt.yside),f._domains={x:Yge(\"x\",h,E,A,v),y:Yge(\"y\",h,k,L,d,p)}}function Yge(e,t,r,n,i,a){var o=t(e+\"gap\",r),s=t(\"domain.\"+e);t(e+\"side\",n);for(var l=new Array(i),u=s[0],c=(s[1]-u)/(i-o),f=c*(1-o),h=0;h<i;h++){var d=u+c*h;l[a?i-1-h:h]=[d,d+f]}return l}function Ugt(e,t){var r=t.grid;if(!(!r||!r._domains)){var n=e.grid||{},i=t._subplots,a=r._hasSubplotGrid,o=r.rows,s=r.columns,l=r.pattern===\"independent\",u,c,f,h,d,v,x,b=r._axisMap={};if(a){var p=n.subplots||[];v=r.subplots=new Array(o);var E=1;for(u=0;u<o;u++){var k=v[u]=new Array(s),A=p[u]||[];for(c=0;c<s;c++)if(l?(d=E===1?\"xy\":\"x\"+E+\"y\"+E,E++):d=A[c],k[c]=\"\",i.cartesian.indexOf(d)!==-1){if(x=d.indexOf(\"y\"),f=d.slice(0,x),h=d.slice(x),b[f]!==void 0&&b[f]!==c||b[h]!==void 0&&b[h]!==u)continue;k[c]=d,b[f]=c,b[h]=u}}}else{var L=LI(t,n,\"x\"),_=LI(t,n,\"y\");r.xaxes=Kge(L,i.xaxis,s,b,\"x\"),r.yaxes=Kge(_,i.yaxis,o,b,\"y\")}var C=r._anchors={},M=r.roworder===\"top to bottom\";for(var g in b){var P=g.charAt(0),T=r[P+\"side\"],F,q,V;if(T.length<8)C[g]=\"free\";else if(P===\"x\"){if(T.charAt(0)===\"t\"===M?(F=0,q=1,V=o):(F=o-1,q=-1,V=-1),a){var H=b[g];for(u=F;u!==V;u+=q)if(d=v[u][H],!!d&&(x=d.indexOf(\"y\"),d.slice(0,x)===g)){C[g]=d.slice(x);break}}else for(u=F;u!==V;u+=q)if(h=r.yaxes[u],i.cartesian.indexOf(g+h)!==-1){C[g]=h;break}}else if(T.charAt(0)===\"l\"?(F=0,q=1,V=s):(F=s-1,q=-1,V=-1),a){var X=b[g];for(u=F;u!==V;u+=q)if(d=v[X][u],!!d&&(x=d.indexOf(\"y\"),d.slice(x)===g)){C[g]=d.slice(0,x);break}}else for(u=F;u!==V;u+=q)if(f=r.xaxes[u],i.cartesian.indexOf(f+g)!==-1){C[g]=f;break}}}}function Kge(e,t,r,n,i){var a=new Array(r),o;function s(l,u){t.indexOf(u)!==-1&&n[u]===void 0?(a[l]=u,n[u]=l):a[l]=\"\"}if(Array.isArray(e))for(o=0;o<r;o++)s(o,e[o]);else for(s(0,i),o=1;o<r;o++)s(o,i+(o+1));return a}Jge.exports={moduleType:\"component\",name:\"grid\",schema:{layout:{grid:iV}},layoutAttributes:iV,sizeDefaults:Ngt,contentDefaults:Ugt}});var aV=ye((tor,$ge)=>{\"use strict\";$ge.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\"}});var tme=ye((ror,eme)=>{\"use strict\";var Qge=uo(),Vgt=ba(),Hgt=Mr(),Ggt=Vs(),jgt=aV();eme.exports=function(e,t,r,n){var i=\"error_\"+n.axis,a=Ggt.newContainer(t,i),o=e[i]||{};function s(v,x){return Hgt.coerce(o,a,jgt,v,x)}var l=o.array!==void 0||o.value!==void 0||o.type===\"sqrt\",u=s(\"visible\",l);if(u!==!1){var c=s(\"type\",\"array\"in o?\"data\":\"percent\"),f=!0;c!==\"sqrt\"&&(f=s(\"symmetric\",!((c===\"data\"?\"arrayminus\":\"valueminus\")in o))),c===\"data\"?(s(\"array\"),s(\"traceref\"),f||(s(\"arrayminus\"),s(\"tracerefminus\"))):(c===\"percent\"||c===\"constant\")&&(s(\"value\"),f||s(\"valueminus\"));var h=\"copy_\"+n.inherit+\"style\";if(n.inherit){var d=t[\"error_\"+n.inherit];(d||{}).visible&&s(h,!(o.color||Qge(o.thickness)||Qge(o.width)))}(!n.inherit||!a[h])&&(s(\"color\",r),s(\"thickness\"),s(\"width\",Vgt.traceIs(t,\"gl3d\")?0:4))}}});var oV=ye((ior,ime)=>{\"use strict\";ime.exports=function(t){var r=t.type,n=t.symmetric;if(r===\"data\"){var i=t.array||[];if(n)return function(u,c){var f=+i[c];return[f,f]};var a=t.arrayminus||[];return function(u,c){var f=+i[c],h=+a[c];return!isNaN(f)||!isNaN(h)?[h||0,f||0]:[NaN,NaN]}}else{var o=rme(r,t.value),s=rme(r,t.valueminus);return n||t.valueminus===void 0?function(u){var c=o(u);return[c,c]}:function(u){return[s(u),o(u)]}}};function rme(e,t){if(e===\"percent\")return function(r){return Math.abs(r*t/100)};if(e===\"constant\")return function(){return Math.abs(t)};if(e===\"sqrt\")return function(r){return Math.sqrt(Math.abs(r))}}});var ome=ye((nor,ame)=>{\"use strict\";var sV=uo(),Wgt=ba(),lV=Qa(),Zgt=Mr(),Xgt=oV();ame.exports=function(t){for(var r=t.calcdata,n=0;n<r.length;n++){var i=r[n],a=i[0].trace;if(a.visible===!0&&Wgt.traceIs(a,\"errorBarsOK\")){var o=lV.getFromId(t,a.xaxis),s=lV.getFromId(t,a.yaxis);nme(i,a,o,\"x\"),nme(i,a,s,\"y\")}}};function nme(e,t,r,n){var i=t[\"error_\"+n]||{},a=i.visible&&[\"linear\",\"log\"].indexOf(r.type)!==-1,o=[];if(a){for(var s=Xgt(i),l=0;l<e.length;l++){var u=e[l],c=u.i;if(c===void 0)c=l;else if(c===null)continue;var f=u[n];if(sV(r.c2l(f))){var h=s(f,c);if(sV(h[0])&&sV(h[1])){var d=u[n+\"s\"]=f-h[0],v=u[n+\"h\"]=f+h[1];o.push(d,v)}}}var x=r._id,b=t._extremes[x],p=lV.findExtremes(r,o,Zgt.extendFlat({tozero:b.opts.tozero},{padded:!0}));b.min=b.min.concat(p.min),b.max=b.max.concat(p.max)}}});var ume=ye((aor,lme)=>{\"use strict\";var sme=xa(),w_=uo(),Ygt=ao(),Kgt=lu();lme.exports=function(t,r,n,i){var a,o=n.xaxis,s=n.yaxis,l=i&&i.duration>0,u=t._context.staticPlot;r.each(function(c){var f=c[0].trace,h=f.error_x||{},d=f.error_y||{},v;f.ids&&(v=function(E){return E.id});var x=Kgt.hasMarkers(f)&&f.marker.maxdisplayed>0;!d.visible&&!h.visible&&(c=[]);var b=sme.select(this).selectAll(\"g.errorbar\").data(c,v);if(b.exit().remove(),!!c.length){h.visible||b.selectAll(\"path.xerror\").remove(),d.visible||b.selectAll(\"path.yerror\").remove(),b.style(\"opacity\",1);var p=b.enter().append(\"g\").classed(\"errorbar\",!0);l&&p.style(\"opacity\",0).transition().duration(i.duration).style(\"opacity\",1),Ygt.setClipUrl(b,n.layerClipId,t),b.each(function(E){var k=sme.select(this),A=Jgt(E,o,s);if(!(x&&!E.vis)){var L,_=k.select(\"path.yerror\");if(d.visible&&w_(A.x)&&w_(A.yh)&&w_(A.ys)){var C=d.width;L=\"M\"+(A.x-C)+\",\"+A.yh+\"h\"+2*C+\"m-\"+C+\",0V\"+A.ys,A.noYS||(L+=\"m-\"+C+\",0h\"+2*C),a=!_.size(),a?_=k.append(\"path\").style(\"vector-effect\",u?\"none\":\"non-scaling-stroke\").classed(\"yerror\",!0):l&&(_=_.transition().duration(i.duration).ease(i.easing)),_.attr(\"d\",L)}else _.remove();var M=k.select(\"path.xerror\");if(h.visible&&w_(A.y)&&w_(A.xh)&&w_(A.xs)){var g=(h.copy_ystyle?d:h).width;L=\"M\"+A.xh+\",\"+(A.y-g)+\"v\"+2*g+\"m0,-\"+g+\"H\"+A.xs,A.noXS||(L+=\"m0,-\"+g+\"v\"+2*g),a=!M.size(),a?M=k.append(\"path\").style(\"vector-effect\",u?\"none\":\"non-scaling-stroke\").classed(\"xerror\",!0):l&&(M=M.transition().duration(i.duration).ease(i.easing)),M.attr(\"d\",L)}else M.remove()}})}})};function Jgt(e,t,r){var n={x:t.c2p(e.x),y:r.c2p(e.y)};return e.yh!==void 0&&(n.yh=r.c2p(e.yh),n.ys=r.c2p(e.ys),w_(n.ys)||(n.noYS=!0,n.ys=r.c2p(e.ys,!0))),e.xh!==void 0&&(n.xh=t.c2p(e.xh),n.xs=t.c2p(e.xs),w_(n.xs)||(n.noXS=!0,n.xs=t.c2p(e.xs,!0))),n}});var hme=ye((oor,fme)=>{\"use strict\";var $gt=xa(),cme=va();fme.exports=function(t){t.each(function(r){var n=r[0].trace,i=n.error_y||{},a=n.error_x||{},o=$gt.select(this);o.selectAll(\"path.yerror\").style(\"stroke-width\",i.thickness+\"px\").call(cme.stroke,i.color),a.copy_ystyle&&(a=i),o.selectAll(\"path.xerror\").style(\"stroke-width\",a.thickness+\"px\").call(cme.stroke,a.color)})}});var pme=ye((sor,vme)=>{\"use strict\";var o4=Mr(),dme=Bu().overrideAll,s4=aV(),$b={error_x:o4.extendFlat({},s4),error_y:o4.extendFlat({},s4)};delete $b.error_x.copy_zstyle;delete $b.error_y.copy_zstyle;delete $b.error_y.copy_ystyle;var l4={error_x:o4.extendFlat({},s4),error_y:o4.extendFlat({},s4),error_z:o4.extendFlat({},s4)};delete l4.error_x.copy_ystyle;delete l4.error_y.copy_ystyle;delete l4.error_z.copy_ystyle;delete l4.error_z.copy_zstyle;vme.exports={moduleType:\"component\",name:\"errorbars\",schema:{traces:{scatter:$b,bar:$b,histogram:$b,scatter3d:dme(l4,\"calc\",\"nested\"),scattergl:dme($b,\"calc\",\"nested\")}},supplyDefaults:tme(),calc:ome(),makeComputeError:oV(),plot:ume(),style:hme(),hoverInfo:Qgt};function Qgt(e,t,r){(t.error_y||{}).visible&&(r.yerr=e.yh-e.y,t.error_y.symmetric||(r.yerrneg=e.y-e.ys)),(t.error_x||{}).visible&&(r.xerr=e.xh-e.x,t.error_x.symmetric||(r.xerrneg=e.x-e.xs))}});var mme=ye((lor,gme)=>{\"use strict\";gme.exports={cn:{colorbar:\"colorbar\",cbbg:\"cbbg\",cbfill:\"cbfill\",cbfills:\"cbfills\",cbline:\"cbline\",cblines:\"cblines\",cbaxis:\"cbaxis\",cbtitleunshift:\"cbtitleunshift\",cbtitle:\"cbtitle\",cboutline:\"cboutline\",crisp:\"crisp\",jsPlaceholder:\"js-placeholder\"}}});var Ame=ye((uor,Tme)=>{\"use strict\";var T_=xa(),uV=id(),II=Xu(),yme=ba(),Ry=Qa(),PI=gv(),B0=Mr(),Ug=B0.strTranslate,wme=no().extendFlat,cV=Tg(),Ng=ao(),fV=va(),emt=Mb(),tmt=Pl(),rmt=Dv().flipScale,imt=JM(),nmt=iI(),amt=Cd(),hV=Nh(),_me=hV.LINE_SPACING,xme=hV.FROM_TL,bme=hV.FROM_BR,Vc=mme().cn;function omt(e){var t=e._fullLayout,r=t._infolayer.selectAll(\"g.\"+Vc.colorbar).data(smt(e),function(n){return n._id});r.enter().append(\"g\").attr(\"class\",function(n){return n._id}).classed(Vc.colorbar,!0),r.each(function(n){var i=T_.select(this);B0.ensureSingle(i,\"rect\",Vc.cbbg),B0.ensureSingle(i,\"g\",Vc.cbfills),B0.ensureSingle(i,\"g\",Vc.cblines),B0.ensureSingle(i,\"g\",Vc.cbaxis,function(o){o.classed(Vc.crisp,!0)}),B0.ensureSingle(i,\"g\",Vc.cbtitleunshift,function(o){o.append(\"g\").classed(Vc.cbtitle,!0)}),B0.ensureSingle(i,\"rect\",Vc.cboutline);var a=lmt(i,n,e);a&&a.then&&(e._promises||[]).push(a),e._context.edits.colorbarPosition&&umt(i,n,e)}),r.exit().each(function(n){II.autoMargin(e,n._id)}).remove(),r.order()}function smt(e){var t=e._fullLayout,r=e.calcdata,n=[],i,a,o,s;function l(k){return wme(k,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function u(){typeof s.calc==\"function\"?s.calc(e,o,i):(i._fillgradient=a.reversescale?rmt(a.colorscale):a.colorscale,i._zrange=[a[s.min],a[s.max]])}for(var c=0;c<r.length;c++){var f=r[c];if(o=f[0].trace,!!o._module){var h=o._module.colorbar;if(o.visible===!0&&h)for(var d=Array.isArray(h),v=d?h:[h],x=0;x<v.length;x++){s=v[x];var b=s.container;a=b?o[b]:o,a&&a.showscale&&(i=l(a.colorbar),i._id=\"cb\"+o.uid+(d&&b?\"-\"+b:\"\"),i._traceIndex=o.index,i._propPrefix=(b?b+\".\":\"\")+\"colorbar.\",i._meta=o._meta,u(),n.push(i))}}}for(var p in t._colorAxes)if(a=t[p],a.showscale){var E=t._colorAxes[p];i=l(a.colorbar),i._id=\"cb\"+p,i._propPrefix=p+\".colorbar.\",i._meta=t._meta,s={min:\"cmin\",max:\"cmax\"},E[0]!==\"heatmap\"&&(o=E[1],s.calc=o._module.colorbar.calc),u(),n.push(i)}return n}function lmt(e,t,r){var n=t.orientation===\"v\",i=t.len,a=t.lenmode,o=t.thickness,s=t.thicknessmode,l=t.outlinewidth,u=t.borderwidth,c=t.bgcolor,f=t.xanchor,h=t.yanchor,d=t.xpad,v=t.ypad,x=t.x,b=n?t.y:1-t.y,p=t.yref===\"paper\",E=t.xref===\"paper\",k=r._fullLayout,A=k._size,L=t._fillcolor,_=t._line,C=t.title,M=C.side,g=t._zrange||T_.extent((typeof L==\"function\"?L:_.color).domain()),P=typeof _.color==\"function\"?_.color:function(){return _.color},T=typeof L==\"function\"?L:function(){return L},F=t._levels,q=cmt(r,t,g),V=q.fill,H=q.line,X=Math.round(o*(s===\"fraction\"?n?A.w:A.h:1)),G=X/(n?A.w:A.h),N=Math.round(i*(a===\"fraction\"?n?A.h:A.w:1)),W=N/(n?A.h:A.w),re=E?A.w:r._fullLayout.width,ae=p?A.h:r._fullLayout.height,_e=Math.round(n?x*re+d:b*ae+v),Me={center:.5,right:1}[f]||0,ke={top:1,middle:.5}[h]||0,ge=n?x-Me*G:b-ke*G,ie=n?b-ke*W:x-Me*W,Te=Math.round(n?ae*(1-ie):re*ie);t._lenFrac=W,t._thickFrac=G,t._uFrac=ge,t._vFrac=ie;var Ee=t._axis=fmt(r,t,g);Ee.position=G+(n?x+d/A.w:b+v/A.h);var Ae=[\"top\",\"bottom\"].indexOf(M)!==-1;if(n&&Ae&&(Ee.title.side=M,Ee.titlex=x+d/A.w,Ee.titley=ie+(C.side===\"top\"?W-v/A.h:v/A.h)),!n&&!Ae&&(Ee.title.side=M,Ee.titley=b+v/A.h,Ee.titlex=ie+d/A.w),_.color&&t.tickmode===\"auto\"){Ee.tickmode=\"linear\",Ee.tick0=F.start;var ze=F.size,Ce=B0.constrain(N/50,4,15)+1,me=(g[1]-g[0])/((t.nticks||Ce)*ze);if(me>1){var Re=Math.pow(10,Math.floor(Math.log(me)/Math.LN10));ze*=Re*B0.roundUp(me/Re,[2,5,10]),(Math.abs(F.start)/F.size+1e-6)%1<2e-6&&(Ee.tick0=0)}Ee.dtick=ze}Ee.domain=n?[ie+v/A.h,ie+W-v/A.h]:[ie+d/A.w,ie+W-d/A.w],Ee.setScale(),e.attr(\"transform\",Ug(Math.round(A.l),Math.round(A.t)));var ce=e.select(\".\"+Vc.cbtitleunshift).attr(\"transform\",Ug(-Math.round(A.l),-Math.round(A.t))),Ge=Ee.ticklabelposition,nt=Ee.title.font.size,ct=e.select(\".\"+Vc.cbaxis),qt,rt=0,ot=0;function Rt(er,Ke){var xt={propContainer:Ee,propName:t._propPrefix+\"title\",traceIndex:t._traceIndex,_meta:t._meta,placeholder:k._dfltTitle.colorbar,containerGroup:e.select(\".\"+Vc.cbtitle)},bt=er.charAt(0)===\"h\"?er.substr(1):\"h\"+er;e.selectAll(\".\"+bt+\",.\"+bt+\"-math-group\").remove(),emt.draw(r,er,wme(xt,Ke||{}))}function kt(){if(n&&Ae||!n&&!Ae){var er,Ke;M===\"top\"&&(er=d+A.l+re*x,Ke=v+A.t+ae*(1-ie-W)+3+nt*.75),M===\"bottom\"&&(er=d+A.l+re*x,Ke=v+A.t+ae*(1-ie)-3-nt*.25),M===\"right\"&&(Ke=v+A.t+ae*b+3+nt*.75,er=d+A.l+re*ie),Rt(Ee._id+\"title\",{attributes:{x:er,y:Ke,\"text-anchor\":n?\"start\":\"middle\"}})}}function Ct(){if(n&&!Ae||!n&&Ae){var er=Ee.position||0,Ke=Ee._offset+Ee._length/2,xt,bt;if(M===\"right\")bt=Ke,xt=A.l+re*er+10+nt*(Ee.showticklabels?1:.5);else if(xt=Ke,M===\"bottom\"&&(bt=A.t+ae*er+10+(Ge.indexOf(\"inside\")===-1?Ee.tickfont.size:0)+(Ee.ticks!==\"intside\"&&t.ticklen||0)),M===\"top\"){var Lt=C.text.split(\"<br>\").length;bt=A.t+ae*er+10-X-_me*nt*Lt}Rt((n?\"h\":\"v\")+Ee._id+\"title\",{avoid:{selection:T_.select(r).selectAll(\"g.\"+Ee._id+\"tick\"),side:M,offsetTop:n?0:A.t,offsetLeft:n?A.l:0,maxShift:n?k.width:k.height},attributes:{x:xt,y:bt,\"text-anchor\":\"middle\"},transform:{rotate:n?-90:0,offset:0}})}}function Yt(){if(!n&&!Ae||n&&Ae){var er=e.select(\".\"+Vc.cbtitle),Ke=er.select(\"text\"),xt=[-l/2,l/2],bt=er.select(\".h\"+Ee._id+\"title-math-group\").node(),Lt=15.6;Ke.node()&&(Lt=parseInt(Ke.node().style.fontSize,10)*_me);var St;if(bt?(St=Ng.bBox(bt),ot=St.width,rt=St.height,rt>Lt&&(xt[1]-=(rt-Lt)/2)):Ke.node()&&!Ke.classed(Vc.jsPlaceholder)&&(St=Ng.bBox(Ke.node()),ot=St.width,rt=St.height),n){if(rt){if(rt+=5,M===\"top\")Ee.domain[1]-=rt/A.h,xt[1]*=-1;else{Ee.domain[0]+=rt/A.h;var Et=tmt.lineCount(Ke);xt[1]+=(1-Et)*Lt}er.attr(\"transform\",Ug(xt[0],xt[1])),Ee.setScale()}}else ot&&(M===\"right\"&&(Ee.domain[0]+=(ot+nt/2)/A.w),er.attr(\"transform\",Ug(xt[0],xt[1])),Ee.setScale())}e.selectAll(\".\"+Vc.cbfills+\",.\"+Vc.cblines).attr(\"transform\",n?Ug(0,Math.round(A.h*(1-Ee.domain[1]))):Ug(Math.round(A.w*Ee.domain[0]),0)),ct.attr(\"transform\",n?Ug(0,Math.round(-A.t)):Ug(Math.round(-A.l),0));var dt=e.select(\".\"+Vc.cbfills).selectAll(\"rect.\"+Vc.cbfill).attr(\"style\",\"\").data(V);dt.enter().append(\"rect\").classed(Vc.cbfill,!0).attr(\"style\",\"\"),dt.exit().remove();var Ht=g.map(Ee.c2p).map(Math.round).sort(function(Or,Nr){return Or-Nr});dt.each(function(Or,Nr){var ut=[Nr===0?g[0]:(V[Nr]+V[Nr-1])/2,Nr===V.length-1?g[1]:(V[Nr]+V[Nr+1])/2].map(Ee.c2p).map(Math.round);n&&(ut[1]=B0.constrain(ut[1]+(ut[1]>ut[0])?1:-1,Ht[0],Ht[1]));var Ne=T_.select(this).attr(n?\"x\":\"y\",_e).attr(n?\"y\":\"x\",T_.min(ut)).attr(n?\"width\":\"height\",Math.max(X,2)).attr(n?\"height\":\"width\",Math.max(T_.max(ut)-T_.min(ut),2));if(t._fillgradient)Ng.gradient(Ne,r,t._id,n?\"vertical\":\"horizontalreversed\",t._fillgradient,\"fill\");else{var Ye=T(Or).replace(\"e-\",\"\");Ne.attr(\"fill\",uV(Ye).toHexString())}});var $t=e.select(\".\"+Vc.cblines).selectAll(\"path.\"+Vc.cbline).data(_.color&&_.width?H:[]);$t.enter().append(\"path\").classed(Vc.cbline,!0),$t.exit().remove(),$t.each(function(Or){var Nr=_e,ut=Math.round(Ee.c2p(Or))+_.width/2%1;T_.select(this).attr(\"d\",\"M\"+(n?Nr+\",\"+ut:ut+\",\"+Nr)+(n?\"h\":\"v\")+X).call(Ng.lineGroupStyle,_.width,P(Or),_.dash)}),ct.selectAll(\"g.\"+Ee._id+\"tick,path\").remove();var fr=_e+X+(l||0)/2-(t.ticks===\"outside\"?1:0),_r=Ry.calcTicks(Ee),Br=Ry.getTickSigns(Ee)[2];return Ry.drawTicks(r,Ee,{vals:Ee.ticks===\"inside\"?Ry.clipEnds(Ee,_r):_r,layer:ct,path:Ry.makeTickPath(Ee,fr,Br),transFn:Ry.makeTransTickFn(Ee)}),Ry.drawLabels(r,Ee,{vals:_r,layer:ct,transFn:Ry.makeTransTickLabelFn(Ee),labelFns:Ry.makeLabelFns(Ee,fr)})}function xr(){var er,Ke=X+l/2;Ge.indexOf(\"inside\")===-1&&(er=Ng.bBox(ct.node()),Ke+=n?er.width:er.height),qt=ce.select(\"text\");var xt=0,bt=n&&M===\"top\",Lt=!n&&M===\"right\",St=0;if(qt.node()&&!qt.classed(Vc.jsPlaceholder)){var Et,dt=ce.select(\".h\"+Ee._id+\"title-math-group\").node();dt&&(n&&Ae||!n&&!Ae)?(er=Ng.bBox(dt),xt=er.width,Et=er.height):(er=Ng.bBox(ce.node()),xt=er.right-A.l-(n?_e:Te),Et=er.bottom-A.t-(n?Te:_e),!n&&M===\"top\"&&(Ke+=er.height,St=er.height)),Lt&&(qt.attr(\"transform\",Ug(xt/2+nt/2,0)),xt*=2),Ke=Math.max(Ke,n?xt:Et)}var Ht=(n?d:v)*2+Ke+u+l/2,$t=0;!n&&C.text&&h===\"bottom\"&&b<=0&&($t=Ht/2,Ht+=$t,St+=$t),k._hColorbarMoveTitle=$t,k._hColorbarMoveCBTitle=St;var fr=u+l,_r=(n?_e:Te)-fr/2-(n?d:0),Br=(n?Te:_e)-(n?N:v+St-$t);e.select(\".\"+Vc.cbbg).attr(\"x\",_r).attr(\"y\",Br).attr(n?\"width\":\"height\",Math.max(Ht-$t,2)).attr(n?\"height\":\"width\",Math.max(N+fr,2)).call(fV.fill,c).call(fV.stroke,t.bordercolor).style(\"stroke-width\",u);var Or=Lt?Math.max(xt-10,0):0;e.selectAll(\".\"+Vc.cboutline).attr(\"x\",(n?_e:Te+d)+Or).attr(\"y\",(n?Te+v-N:_e)+(bt?rt:0)).attr(n?\"width\":\"height\",Math.max(X,2)).attr(n?\"height\":\"width\",Math.max(N-(n?2*v+rt:2*d+Or),2)).call(fV.stroke,t.outlinecolor).style({fill:\"none\",\"stroke-width\":l});var Nr=n?Me*Ht:0,ut=n?0:(1-ke)*Ht-St;if(Nr=E?A.l-Nr:-Nr,ut=p?A.t-ut:-ut,e.attr(\"transform\",Ug(Nr,ut)),!n&&(u||uV(c).getAlpha()&&!uV.equals(k.paper_bgcolor,c))){var Ne=ct.selectAll(\"text\"),Ye=Ne[0].length,Ve=e.select(\".\"+Vc.cbbg).node(),Xe=Ng.bBox(Ve),ht=Ng.getTranslate(e),Le=2;Ne.each(function(ri,bi){var nn=0,Wi=Ye-1;if(bi===nn||bi===Wi){var Ni=Ng.bBox(this),_n=Ng.getTranslate(this),$i;if(bi===Wi){var zn=Ni.right+_n.x,Wn=Xe.right+ht.x+Te-u-Le+x;$i=Wn-zn,$i>0&&($i=0)}else if(bi===nn){var It=Ni.left+_n.x,ft=Xe.left+ht.x+Te+u+Le;$i=ft-It,$i<0&&($i=0)}$i&&(Ye<3?this.setAttribute(\"transform\",\"translate(\"+$i+\",0) \"+this.getAttribute(\"transform\")):this.setAttribute(\"visibility\",\"hidden\"))}})}var xe={},Se=xme[f],lt=bme[f],Gt=xme[h],Vt=bme[h],ar=Ht-X;n?(a===\"pixels\"?(xe.y=b,xe.t=N*Gt,xe.b=N*Vt):(xe.t=xe.b=0,xe.yt=b+i*Gt,xe.yb=b-i*Vt),s===\"pixels\"?(xe.x=x,xe.l=Ht*Se,xe.r=Ht*lt):(xe.l=ar*Se,xe.r=ar*lt,xe.xl=x-o*Se,xe.xr=x+o*lt)):(a===\"pixels\"?(xe.x=x,xe.l=N*Se,xe.r=N*lt):(xe.l=xe.r=0,xe.xl=x+i*Se,xe.xr=x-i*lt),s===\"pixels\"?(xe.y=1-b,xe.t=Ht*Gt,xe.b=Ht*Vt):(xe.t=ar*Gt,xe.b=ar*Vt,xe.yt=b-o*Gt,xe.yb=b+o*Vt));var Qr=t.y<.5?\"b\":\"t\",ai=t.x<.5?\"l\":\"r\";r._fullLayout._reservedMargin[t._id]={};var jr={r:k.width-_r-Nr,l:_r+xe.r,b:k.height-Br-ut,t:Br+xe.b};E&&p?II.autoMargin(r,t._id,xe):E?r._fullLayout._reservedMargin[t._id][Qr]=jr[Qr]:p||n?r._fullLayout._reservedMargin[t._id][ai]=jr[ai]:r._fullLayout._reservedMargin[t._id][Qr]=jr[Qr]}return B0.syncOrAsync([II.previousPromises,kt,Yt,Ct,II.previousPromises,xr],r)}function umt(e,t,r){var n=t.orientation===\"v\",i=r._fullLayout,a=i._size,o,s,l;PI.init({element:e.node(),gd:r,prepFn:function(){o=e.attr(\"transform\"),cV(e)},moveFn:function(u,c){e.attr(\"transform\",o+Ug(u,c)),s=PI.align((n?t._uFrac:t._vFrac)+u/a.w,n?t._thickFrac:t._lenFrac,0,1,t.xanchor),l=PI.align((n?t._vFrac:1-t._uFrac)-c/a.h,n?t._lenFrac:t._thickFrac,0,1,t.yanchor);var f=PI.getCursor(s,l,t.xanchor,t.yanchor);cV(e,f)},doneFn:function(){if(cV(e),s!==void 0&&l!==void 0){var u={};u[t._propPrefix+\"x\"]=s,u[t._propPrefix+\"y\"]=l,t._traceIndex!==void 0?yme.call(\"_guiRestyle\",r,u,t._traceIndex):yme.call(\"_guiRelayout\",r,u)}}})}function cmt(e,t,r){var n=t._levels,i=[],a=[],o,s,l=n.end+n.size/100,u=n.size,c=1.001*r[0]-.001*r[1],f=1.001*r[1]-.001*r[0];for(s=0;s<1e5&&(o=n.start+s*u,!(u>0?o>=l:o<=l));s++)o>c&&o<f&&i.push(o);if(t._fillgradient)a=[0];else if(typeof t._fillcolor==\"function\"){var h=t._filllevels;if(h)for(l=h.end+h.size/100,u=h.size,s=0;s<1e5&&(o=h.start+s*u,!(u>0?o>=l:o<=l));s++)o>r[0]&&o<r[1]&&a.push(o);else a=i.map(function(d){return d-n.size/2}),a.push(a[a.length-1]+n.size)}else t._fillcolor&&typeof t._fillcolor==\"string\"&&(a=[0]);return n.size<0&&(i.reverse(),a.reverse()),{line:i,fill:a}}function fmt(e,t,r){var n=e._fullLayout,i=t.orientation===\"v\",a={type:\"linear\",range:r,tickmode:t.tickmode,nticks:t.nticks,tick0:t.tick0,dtick:t.dtick,tickvals:t.tickvals,ticktext:t.ticktext,ticks:t.ticks,ticklen:t.ticklen,tickwidth:t.tickwidth,tickcolor:t.tickcolor,showticklabels:t.showticklabels,labelalias:t.labelalias,ticklabelposition:t.ticklabelposition,ticklabeloverflow:t.ticklabeloverflow,ticklabelstep:t.ticklabelstep,tickfont:t.tickfont,tickangle:t.tickangle,tickformat:t.tickformat,exponentformat:t.exponentformat,minexponent:t.minexponent,separatethousands:t.separatethousands,showexponent:t.showexponent,showtickprefix:t.showtickprefix,tickprefix:t.tickprefix,showticksuffix:t.showticksuffix,ticksuffix:t.ticksuffix,title:t.title,showline:!0,anchor:\"free\",side:i?\"right\":\"bottom\",position:1},o=i?\"y\":\"x\",s={type:\"linear\",_id:o+t._id},l={letter:o,font:n.font,noAutotickangles:o===\"y\",noHover:!0,noTickson:!0,noTicklabelmode:!0,noInsideRange:!0,calendar:n.calendar};function u(c,f){return B0.coerce(a,s,amt,c,f)}return imt(a,s,u,l,n),nmt(a,s,u,l),s}Tme.exports={draw:omt}});var Mme=ye((cor,Sme)=>{\"use strict\";Sme.exports={moduleType:\"component\",name:\"colorbar\",attributes:K6(),supplyDefaults:SO(),draw:Ame().draw,hasColorbar:yO()}});var kme=ye((hor,Eme)=>{\"use strict\";Eme.exports={moduleType:\"component\",name:\"legend\",layoutAttributes:yB(),supplyLayoutDefaults:bB(),draw:RB(),style:CB()}});var Lme=ye((dor,Cme)=>{\"use strict\";Cme.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\"}}});var Ime=ye((vor,Pme)=>{\"use strict\";Pme.exports={moduleType:\"locale\",name:\"en-US\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colorscale title\"},format:{date:\"%m/%d/%Y\"}}});var vV=ye((por,Fme)=>{\"use strict\";var hmt=ba(),zme=Mr(),dV=zme.extendFlat,Rme=zme.extendDeep;function Dme(e){var t;switch(e){case\"themes__thumb\":t={autosize:!0,width:150,height:150,title:{text:\"\"},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case\"thumbnail\":t={title:{text:\"\"},hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:\"\",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:t={}}return t}function dmt(e){var t=[\"xaxis\",\"yaxis\",\"zaxis\"];return t.indexOf(e.slice(0,5))>-1}Fme.exports=function(t,r){var n,i=t.data,a=t.layout,o=Rme([],i),s=Rme({},a,Dme(r.tileClass)),l=t._context||{};if(r.width&&(s.width=r.width),r.height&&(s.height=r.height),r.tileClass===\"thumbnail\"||r.tileClass===\"themes__thumb\"){s.annotations=[];var u=Object.keys(s);for(n=0;n<u.length;n++)dmt(u[n])&&(s[u[n]].title={text:\"\"});for(n=0;n<o.length;n++){var c=o[n];c.showscale=!1,c.marker&&(c.marker.showscale=!1),hmt.traceIs(c,\"pie-like\")&&(c.textposition=\"none\")}}if(Array.isArray(r.annotations))for(n=0;n<r.annotations.length;n++)s.annotations.push(r.annotations[n]);var f=Object.keys(s).filter(function(b){return b.match(/^scene\\d*$/)});if(f.length){var h={};for(r.tileClass===\"thumbnail\"&&(h={title:{text:\"\"},showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),n=0;n<f.length;n++){var d=s[f[n]];d.xaxis||(d.xaxis={}),d.yaxis||(d.yaxis={}),d.zaxis||(d.zaxis={}),dV(d.xaxis,h),dV(d.yaxis,h),dV(d.zaxis,h),d._scene=null}}var v=document.createElement(\"div\");r.tileClass&&(v.className=r.tileClass);var x={gd:v,td:v,layout:s,data:o,config:{staticPlot:r.staticPlot===void 0?!0:r.staticPlot,plotGlPixelRatio:r.plotGlPixelRatio===void 0?2:r.plotGlPixelRatio,displaylogo:r.displaylogo||!1,showLink:r.showLink||!1,showTips:r.showTips||!1,mapboxAccessToken:l.mapboxAccessToken}};return r.setBackground!==\"transparent\"&&(x.config.setBackground=r.setBackground||\"opaque\"),x.gd.defaultLayout=Dme(r.tileClass),x}});var Bme=ye((gor,Ome)=>{\"use strict\";var vmt=vb().EventEmitter,pmt=ba(),gmt=Mr(),qme=Ly(),mmt=vV(),ymt=BP(),_mt=NP();function xmt(e,t){var r=new vmt,n=mmt(e,{format:\"png\"}),i=n.gd;i.style.position=\"absolute\",i.style.left=\"-5000px\",document.body.appendChild(i);function a(){var s=qme.getDelay(i._fullLayout);setTimeout(function(){var l=ymt(i),u=document.createElement(\"canvas\");u.id=gmt.randstr(),r=_mt({format:t.format,width:i._fullLayout.width,height:i._fullLayout.height,canvas:u,emitter:r,svg:l}),r.clean=function(){i&&document.body.removeChild(i)}},s)}var o=qme.getRedrawFunc(i);return pmt.call(\"_doPlot\",i,n.data,n.layout,n.config).then(o).then(a).catch(function(s){r.emit(\"error\",s)}),r}Ome.exports=xmt});var Vme=ye((mor,Ume)=>{\"use strict\";var Nme=Ly(),bmt={getDelay:Nme.getDelay,getRedrawFunc:Nme.getRedrawFunc,clone:vV(),toSVG:BP(),svgToImg:NP(),toImage:Bme(),downloadImage:YN()};Ume.exports=bmt});var Gme=ye(Dy=>{\"use strict\";Dy.version=e6().version;iee();Wie();var wmt=ba(),u4=Dy.register=wmt.register,gV=hde(),Hme=Object.keys(gV);for(RI=0;RI<Hme.length;RI++)_T=Hme[RI],_T.charAt(0)!==\"_\"&&(Dy[_T]=gV[_T]),u4({moduleType:\"apiMethod\",name:_T,fn:gV[_T]});var _T,RI;u4(ope());u4([Ppe(),Gpe(),wf(),l0e(),b0e(),H0e(),uge(),kge(),Wge(),nV(),pme(),Mu(),Mme(),kme(),Nc(),nN()]);u4([Lme(),Ime()]);window.PlotlyLocales&&Array.isArray(window.PlotlyLocales)&&(u4(window.PlotlyLocales),delete window.PlotlyLocales);Dy.Icons=UL();var DI=Nc(),pV=Xu();Dy.Plots={resize:pV.resize,graphJson:pV.graphJson,sendDataToCloud:pV.sendDataToCloud};Dy.Fx={hover:DI.hover,unhover:DI.unhover,loneHover:DI.loneHover,loneUnhover:DI.loneUnhover};Dy.Snapshot=Vme();Dy.PlotSchema=_3()});var Wme=ye((_or,jme)=>{\"use strict\";jme.exports=Gme()});var Qb=ye((xor,Zme)=>{\"use strict\";Zme.exports={TEXTPAD:3,eventDataKeys:[\"value\",\"label\"]}});var Lm=ye((bor,Jme)=>{\"use strict\";var Tf=Uc(),Xme=Oc().axisHoverFormat,Tmt=Wo().hovertemplateAttrs,Amt=Wo().texttemplateAttrs,Kme=Jl(),Smt=Su(),Yme=Qb(),Mmt=Ed().pattern,e2=no().extendFlat,mV=Smt({editType:\"calc\",arrayOk:!0,colorEditType:\"style\"}),Emt=Tf.marker,kmt=Emt.line,Cmt=e2({},kmt.width,{dflt:0}),Lmt=e2({width:Cmt,editType:\"calc\"},Kme(\"marker.line\")),Pmt=e2({line:Lmt,editType:\"calc\"},Kme(\"marker\"),{opacity:{valType:\"number\",arrayOk:!0,dflt:1,min:0,max:1,editType:\"style\"},pattern:Mmt,cornerradius:{valType:\"any\",editType:\"calc\"}});Jme.exports={x:Tf.x,x0:Tf.x0,dx:Tf.dx,y:Tf.y,y0:Tf.y0,dy:Tf.dy,xperiod:Tf.xperiod,yperiod:Tf.yperiod,xperiod0:Tf.xperiod0,yperiod0:Tf.yperiod0,xperiodalignment:Tf.xperiodalignment,yperiodalignment:Tf.yperiodalignment,xhoverformat:Xme(\"x\"),yhoverformat:Xme(\"y\"),text:Tf.text,texttemplate:Amt({editType:\"plot\"},{keys:Yme.eventDataKeys}),hovertext:Tf.hovertext,hovertemplate:Tmt({},{keys:Yme.eventDataKeys}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"calc\"},insidetextanchor:{valType:\"enumerated\",values:[\"end\",\"middle\",\"start\"],dflt:\"end\",editType:\"plot\"},textangle:{valType:\"angle\",dflt:\"auto\",editType:\"plot\"},textfont:e2({},mV,{}),insidetextfont:e2({},mV,{}),outsidetextfont:e2({},mV,{}),constraintext:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"both\",\"none\"],dflt:\"both\",editType:\"calc\"},cliponaxis:e2({},Tf.cliponaxis,{}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},base:{valType:\"any\",dflt:null,arrayOk:!0,editType:\"calc\"},offset:{valType:\"number\",dflt:null,arrayOk:!0,editType:\"calc\"},width:{valType:\"number\",dflt:null,min:0,arrayOk:!0,editType:\"calc\"},marker:Pmt,offsetgroup:Tf.offsetgroup,alignmentgroup:Tf.alignmentgroup,selected:{marker:{opacity:Tf.selected.marker.opacity,color:Tf.selected.marker.color,editType:\"style\"},textfont:Tf.selected.textfont,editType:\"style\"},unselected:{marker:{opacity:Tf.unselected.marker.opacity,color:Tf.unselected.marker.color,editType:\"style\"},textfont:Tf.unselected.textfont,editType:\"style\"},zorder:Tf.zorder}});var zI=ye((wor,$me)=>{\"use strict\";$me.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\"}}});var FI=ye((Tor,tye)=>{\"use strict\";var Imt=va(),Qme=Dv().hasColorscale,eye=Uh(),Rmt=Mr().coercePattern;tye.exports=function(t,r,n,i,a){var o=n(\"marker.color\",i),s=Qme(t,\"marker\");s&&eye(t,r,a,n,{prefix:\"marker.\",cLetter:\"c\"}),n(\"marker.line.color\",Imt.defaultLine),Qme(t,\"marker.line\")&&eye(t,r,a,n,{prefix:\"marker.line.\",cLetter:\"c\"}),n(\"marker.line.width\"),n(\"marker.opacity\"),Rmt(n,\"marker.pattern\",o,s),n(\"selected.marker.color\"),n(\"unselected.marker.color\")}});var r0=ye((Aor,sye)=>{\"use strict\";var rye=uo(),xT=Mr(),iye=va(),Dmt=ba(),zmt=K3(),Fmt=Pg(),qmt=FI(),Omt=Hb(),nye=Lm(),qI=xT.coerceFont;function Bmt(e,t,r,n){function i(u,c){return xT.coerce(e,t,nye,u,c)}var a=zmt(e,t,n,i);if(!a){t.visible=!1;return}Fmt(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\"),i(\"zorder\"),i(\"orientation\",t.x&&!t.y?\"h\":\"v\"),i(\"base\"),i(\"offset\"),i(\"width\"),i(\"text\"),i(\"hovertext\"),i(\"hovertemplate\");var o=i(\"textposition\");oye(e,t,n,i,o,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),qmt(e,t,i,r,n);var s=(t.marker.line||{}).color,l=Dmt.getComponentMethod(\"errorbars\",\"supplyDefaults\");l(e,t,s||iye.defaultLine,{axis:\"y\"}),l(e,t,s||iye.defaultLine,{axis:\"x\",inherit:\"y\"}),xT.coerceSelectionMarkerOpacity(t,i)}function Nmt(e,t){var r,n;function i(s,l){return xT.coerce(n._input,n,nye,s,l)}for(var a=0;a<e.length;a++)if(n=e[a],n.type===\"bar\"){r=n._input;var o=i(\"marker.cornerradius\",t.barcornerradius);n.marker&&(n.marker.cornerradius=aye(o)),Omt(r,n,t,i,t.barmode)}}function aye(e){if(rye(e)){if(e=+e,e>=0)return e}else if(typeof e==\"string\"&&(e=e.trim(),e.slice(-1)===\"%\"&&rye(e.slice(0,-1))&&(e=+e.slice(0,-1),e>=0)))return e+\"%\"}function oye(e,t,r,n,i,a){a=a||{};var o=a.moduleHasSelected!==!1,s=a.moduleHasUnselected!==!1,l=a.moduleHasConstrain!==!1,u=a.moduleHasCliponaxis!==!1,c=a.moduleHasTextangle!==!1,f=a.moduleHasInsideanchor!==!1,h=!!a.hasPathbar,d=Array.isArray(i)||i===\"auto\",v=d||i===\"inside\",x=d||i===\"outside\";if(v||x){var b=qI(n,\"textfont\",r.font),p=xT.extendFlat({},b),E=e.textfont&&e.textfont.color,k=!E;if(k&&delete p.color,qI(n,\"insidetextfont\",p),h){var A=xT.extendFlat({},b);k&&delete A.color,qI(n,\"pathbar.textfont\",A)}x&&qI(n,\"outsidetextfont\",b),o&&n(\"selected.textfont.color\"),s&&n(\"unselected.textfont.color\"),l&&n(\"constraintext\"),u&&n(\"cliponaxis\"),c&&n(\"textangle\"),n(\"texttemplate\")}v&&f&&n(\"insidetextanchor\")}sye.exports={supplyDefaults:Bmt,crossTraceDefaults:Nmt,handleText:oye,validateCornerradius:aye}});var yV=ye((Sor,lye)=>{\"use strict\";var Umt=ba(),Vmt=Qa(),Hmt=Mr(),Gmt=zI(),jmt=r0().validateCornerradius;lye.exports=function(e,t,r){function n(x,b){return Hmt.coerce(e,t,Gmt,x,b)}for(var i=!1,a=!1,o=!1,s={},l=n(\"barmode\"),u=l===\"group\",c=0;c<r.length;c++){var f=r[c];if(Umt.traceIs(f,\"bar\")&&f.visible)i=!0;else continue;var h=f.xaxis+f.yaxis;if(u?(s[h]&&(o=!0),s[h]=!0):(h+=f._input.offsetgroup,s.length>0&&!s[h]&&(o=!0),s[h]=!0),f.visible&&f.type===\"histogram\"){var d=Vmt.getFromId({_fullLayout:t},f[f.orientation===\"v\"?\"xaxis\":\"yaxis\"]);d.type!==\"category\"&&(a=!0)}}if(!i){delete t.barmode;return}l!==\"overlay\"&&n(\"barnorm\"),n(\"bargap\",a&&!o?0:.2),n(\"bargroupgap\");var v=n(\"barcornerradius\");t.barcornerradius=jmt(v)}});var c4=ye((Mor,uye)=>{\"use strict\";var bT=Mr();uye.exports=function(t,r){for(var n=0;n<t.length;n++)t[n].i=n;bT.mergeArray(r.text,t,\"tx\"),bT.mergeArray(r.hovertext,t,\"htx\");var i=r.marker;if(i){bT.mergeArray(i.opacity,t,\"mo\",!0),bT.mergeArray(i.color,t,\"mc\");var a=i.line;a&&(bT.mergeArray(a.color,t,\"mlc\"),bT.mergeArrayCastPositive(a.width,t,\"mlw\"))}}});var pye=ye((Eor,vye)=>{\"use strict\";var cye=Qa(),fye=Rg(),hye=Dv().hasColorscale,dye=zv(),Wmt=c4(),Zmt=F0();vye.exports=function(t,r){var n=cye.getFromId(t,r.xaxis||\"x\"),i=cye.getFromId(t,r.yaxis||\"y\"),a,o,s,l,u,c,f={msUTC:!!(r.base||r.base===0)};r.orientation===\"h\"?(a=n.makeCalcdata(r,\"x\",f),s=i.makeCalcdata(r,\"y\"),l=fye(r,i,\"y\",s),u=!!r.yperiodalignment,c=\"y\"):(a=i.makeCalcdata(r,\"y\",f),s=n.makeCalcdata(r,\"x\"),l=fye(r,n,\"x\",s),u=!!r.xperiodalignment,c=\"x\"),o=l.vals;for(var h=Math.min(o.length,a.length),d=new Array(h),v=0;v<h;v++)d[v]={p:o[v],s:a[v]},u&&(d[v].orig_p=s[v],d[v][c+\"End\"]=l.ends[v],d[v][c+\"Start\"]=l.starts[v]),r.ids&&(d[v].id=String(r.ids[v]));return hye(r,\"marker\")&&dye(t,r,{vals:r.marker.color,containerStr:\"marker\",cLetter:\"c\"}),hye(r,\"marker.line\")&&dye(t,r,{vals:r.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}),Wmt(d,r),Zmt(d,r),d}});var _v=ye((kor,mye)=>{\"use strict\";var Xmt=xa(),Ymt=Mr();function Kmt(e,t,r){var n=e._fullLayout,i=n[\"_\"+r+\"Text_minsize\"];if(i){var a=n.uniformtext.mode===\"hide\",o;switch(r){case\"funnelarea\":case\"pie\":case\"sunburst\":o=\"g.slice\";break;case\"treemap\":case\"icicle\":o=\"g.slice, g.pathbar\";break;default:o=\"g.points > g.point\"}t.selectAll(o).each(function(s){var l=s.transform;if(l){l.scale=a&&l.hide?0:i/l.fontSize;var u=Xmt.select(this).select(\"text\");Ymt.setTransormAndDisplay(u,l)}})}}function Jmt(e,t,r){if(r.uniformtext.mode){var n=gye(e),i=r.uniformtext.minsize,a=t.scale*t.fontSize;t.hide=a<i,r[n]=r[n]||1/0,t.hide||(r[n]=Math.min(r[n],Math.max(a,i)))}}function $mt(e,t){var r=gye(e);t[r]=void 0}function gye(e){return\"_\"+e+\"Text_minsize\"}mye.exports={recordMinTextSize:Jmt,clearMinTextSize:$mt,resizeText:Kmt}});var OI=ye(t2=>{\"use strict\";var Qmt=uo(),eyt=id(),yye=Mr().isArrayOrTypedArray;t2.coerceString=function(e,t,r){if(typeof t==\"string\"){if(t||!e.noBlank)return t}else if((typeof t==\"number\"||t===!0)&&!e.strict)return String(t);return r!==void 0?r:e.dflt};t2.coerceNumber=function(e,t,r){if(Qmt(t)){t=+t;var n=e.min,i=e.max,a=n!==void 0&&t<n||i!==void 0&&t>i;if(!a)return t}return r!==void 0?r:e.dflt};t2.coerceColor=function(e,t,r){return eyt(t).isValid()?t:r!==void 0?r:e.dflt};t2.coerceEnumerated=function(e,t,r){return e.coerceNumber&&(t=+t),e.values.indexOf(t)!==-1?t:r!==void 0?r:e.dflt};t2.getValue=function(e,t){var r;return yye(e)?t<e.length&&(r=e[t]):r=e,r};t2.getLineWidth=function(e,t){var r=0<t.mlw?t.mlw:yye(e.marker.line.width)?0:e.marker.line.width;return r}});var N0=ye((Lor,Cye)=>{\"use strict\";var f4=xa(),tyt=va(),h4=ao(),_ye=Mr(),xye=ba(),bye=_v().resizeText,_V=Lm(),ryt=_V.textfont,iyt=_V.insidetextfont,nyt=_V.outsidetextfont,Jd=OI();function ayt(e){var t=f4.select(e).selectAll('g[class^=\"barlayer\"]').selectAll(\"g.trace\");bye(e,t,\"bar\");var r=t.size(),n=e._fullLayout;t.style(\"opacity\",function(i){return i[0].trace.opacity}).each(function(i){(n.barmode===\"stack\"&&r>1||n.bargap===0&&n.bargroupgap===0&&!i[0].trace.marker.line.width)&&f4.select(this).attr(\"shape-rendering\",\"crispEdges\")}),t.selectAll(\"g.points\").each(function(i){var a=f4.select(this),o=i[0].trace;wye(a,o,e)}),xye.getComponentMethod(\"errorbars\",\"style\")(t)}function wye(e,t,r){h4.pointStyle(e.selectAll(\"path\"),t,r),Tye(e,t,r)}function Tye(e,t,r){e.selectAll(\"text\").each(function(n){var i=f4.select(this),a=_ye.ensureUniformFontSize(r,Aye(i,n,t,r));h4.font(i,a)})}function oyt(e,t,r){var n=t[0].trace;n.selectedpoints?syt(r,n,e):(wye(r,n,e),xye.getComponentMethod(\"errorbars\",\"style\")(r))}function syt(e,t,r){h4.selectedPointStyle(e.selectAll(\"path\"),t),lyt(e.selectAll(\"text\"),t,r)}function lyt(e,t,r){e.each(function(n){var i=f4.select(this),a;if(n.selected){a=_ye.ensureUniformFontSize(r,Aye(i,n,t,r));var o=t.selected.textfont&&t.selected.textfont.color;o&&(a.color=o),h4.font(i,a)}else h4.selectedTextStyle(i,t)})}function Aye(e,t,r,n){var i=n._fullLayout.font,a=r.textfont;if(e.classed(\"bartext-inside\")){var o=kye(t,r);a=Mye(r,t.i,i,o)}else e.classed(\"bartext-outside\")&&(a=Eye(r,t.i,i));return a}function Sye(e,t,r){return xV(ryt,e.textfont,t,r)}function Mye(e,t,r,n){var i=Sye(e,t,r),a=e._input.textfont===void 0||e._input.textfont.color===void 0||Array.isArray(e.textfont.color)&&e.textfont.color[t]===void 0;return a&&(i={color:tyt.contrast(n),family:i.family,size:i.size,weight:i.weight,style:i.style,variant:i.variant,textcase:i.textcase,lineposition:i.lineposition,shadow:i.shadow}),xV(iyt,e.insidetextfont,t,i)}function Eye(e,t,r){var n=Sye(e,t,r);return xV(nyt,e.outsidetextfont,t,n)}function xV(e,t,r,n){t=t||{};var i=Jd.getValue(t.family,r),a=Jd.getValue(t.size,r),o=Jd.getValue(t.color,r),s=Jd.getValue(t.weight,r),l=Jd.getValue(t.style,r),u=Jd.getValue(t.variant,r),c=Jd.getValue(t.textcase,r),f=Jd.getValue(t.lineposition,r),h=Jd.getValue(t.shadow,r);return{family:Jd.coerceString(e.family,i,n.family),size:Jd.coerceNumber(e.size,a,n.size),color:Jd.coerceColor(e.color,o,n.color),weight:Jd.coerceString(e.weight,s,n.weight),style:Jd.coerceString(e.style,l,n.style),variant:Jd.coerceString(e.variant,u,n.variant),textcase:Jd.coerceString(e.variant,c,n.textcase),lineposition:Jd.coerceString(e.variant,f,n.lineposition),shadow:Jd.coerceString(e.variant,h,n.shadow)}}function kye(e,t){return t.type===\"waterfall\"?t[e.dir].marker.color:e.mcc||e.mc||t.marker.color}Cye.exports={style:ayt,styleTextPoints:Tye,styleOnSelect:oyt,getInsideTextFont:Mye,getOutsideTextFont:Eye,getBarColor:kye,resizeText:bye}});var i2=ye((Por,qye)=>{\"use strict\";var BI=xa(),NI=uo(),Pd=Mr(),uyt=Pl(),cyt=va(),A_=ao(),fyt=ba(),UI=Qa().tickText,Lye=_v(),hyt=Lye.recordMinTextSize,dyt=Lye.clearMinTextSize,bV=N0(),wT=OI(),vyt=Qb(),Pye=Lm(),pyt=Pye.text,gyt=Pye.textposition,myt=rp().appendArrayPointValue,Uv=vyt.TEXTPAD;function yyt(e){return e.id}function _yt(e){if(e.ids)return yyt}function wV(e){return(e>0)-(e<0)}function Pm(e,t){return e<t?1:-1}function xyt(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),n?[i,a]:[a,i]}function Iye(e,t,r,n){if(!t.uniformtext.mode&&Rye(r)){var i;return n&&(i=n()),e.transition().duration(r.duration).ease(r.easing).each(\"end\",function(){i&&i()}).each(\"interrupt\",function(){i&&i()})}else return e}function Rye(e){return e&&e.duration>0}function byt(e,t,r,n,i,a){var o=t.xaxis,s=t.yaxis,l=e._fullLayout,u=e._context.staticPlot;i||(i={mode:l.barmode,norm:l.barmode,gap:l.bargap,groupgap:l.bargroupgap},dyt(\"bar\",l));var c=Pd.makeTraceGroups(n,r,\"trace bars\").each(function(f){var h=BI.select(this),d=f[0].trace,v=f[0].t,x=d.type===\"waterfall\",b=d.type===\"funnel\",p=d.type===\"histogram\",E=d.type===\"bar\",k=E||b,A=0;x&&d.connector.visible&&d.connector.mode===\"between\"&&(A=d.connector.line.width/2);var L=d.orientation===\"h\",_=Rye(i),C=Pd.ensureSingle(h,\"g\",\"points\"),M=_yt(d),g=C.selectAll(\"g.point\").data(Pd.identity,M);g.enter().append(\"g\").classed(\"point\",!0),g.exit().remove(),g.each(function(T,F){var q=BI.select(this),V=xyt(T,o,s,L),H=V[0][0],X=V[0][1],G=V[1][0],N=V[1][1],W=(L?X-H:N-G)===0;W&&k&&wT.getLineWidth(d,T)&&(W=!1),W||(W=!NI(H)||!NI(X)||!NI(G)||!NI(N)),T.isBlank=W,W&&(L?X=H:N=G),A&&!W&&(L?(H-=Pm(H,X)*A,X+=Pm(H,X)*A):(G-=Pm(G,N)*A,N+=Pm(G,N)*A));var re,ae;if(d.type===\"waterfall\"){if(!W){var _e=d[T.dir].marker;re=_e.line.width,ae=_e.color}}else re=wT.getLineWidth(d,T),ae=T.mc||d.marker.color;function Me(Ke){var xt=BI.round(re/2%1,2);return i.gap===0&&i.groupgap===0?BI.round(Math.round(Ke)-xt,2):Ke}function ke(Ke,xt,bt){return bt&&Ke===xt?Ke:Math.abs(Ke-xt)>=2?Me(Ke):Ke>xt?Math.ceil(Ke):Math.floor(Ke)}var ge=cyt.opacity(ae),ie=ge<1||re>.01?Me:ke;e._context.staticPlot||(H=ie(H,X,L),X=ie(X,H,L),G=ie(G,N,!L),N=ie(N,G,!L));var Te=L?o.c2p:s.c2p,Ee;T.s0>0?Ee=T._sMax:T.s0<0?Ee=T._sMin:Ee=T.s1>0?T._sMax:T._sMin;function Ae(Ke,xt){if(!Ke)return 0;var bt=Math.abs(L?N-G:X-H),Lt=Math.abs(L?X-H:N-G),St=ie(Math.abs(Te(Ee,!0)-Te(0,!0))),Et=T.hasB?Math.min(bt/2,Lt/2):Math.min(bt/2,St),dt;if(xt===\"%\"){var Ht=Math.min(50,Ke);dt=bt*(Ht/100)}else dt=Ke;return ie(Math.max(Math.min(dt,Et),0))}var ze=E||p?Ae(v.cornerradiusvalue,v.cornerradiusform):0,Ce,me,Re=\"M\"+H+\",\"+G+\"V\"+N+\"H\"+X+\"V\"+G+\"Z\",ce=0;if(ze&&T.s){var Ge=wV(T.s0)===0||wV(T.s)===wV(T.s0)?T.s1:T.s0;if(ce=ie(T.hasB?0:Math.abs(Te(Ee,!0)-Te(Ge,!0))),ce<ze){var nt=Pm(H,X),ct=Pm(G,N),qt=nt===-ct?1:0;if(L)if(T.hasB)Ce=\"M\"+(H+ze*nt)+\",\"+G+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+H+\",\"+(G+ze*ct)+\"V\"+(N-ze*ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(H+ze*nt)+\",\"+N+\"H\"+(X-ze*nt)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+X+\",\"+(N-ze*ct)+\"V\"+(G+ze*ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(X-ze*nt)+\",\"+G+\"Z\";else{me=Math.abs(X-H)+ce;var rt=me<ze?ze-Math.sqrt(me*(2*ze-me)):0,ot=ce>0?Math.sqrt(ce*(2*ze-ce)):0,Rt=nt>0?Math.max:Math.min;Ce=\"M\"+H+\",\"+G+\"V\"+(N-rt*ct)+\"H\"+Rt(X-(ze-ce)*nt,H)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+X+\",\"+(N-ze*ct-ot)+\"V\"+(G+ze*ct+ot)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+Rt(X-(ze-ce)*nt,H)+\",\"+(G+rt*ct)+\"Z\"}else if(T.hasB)Ce=\"M\"+(H+ze*nt)+\",\"+G+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+H+\",\"+(G+ze*ct)+\"V\"+(N-ze*ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(H+ze*nt)+\",\"+N+\"H\"+(X-ze*nt)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+X+\",\"+(N-ze*ct)+\"V\"+(G+ze*ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(X-ze*nt)+\",\"+G+\"Z\";else{me=Math.abs(N-G)+ce;var kt=me<ze?ze-Math.sqrt(me*(2*ze-me)):0,Ct=ce>0?Math.sqrt(ce*(2*ze-ce)):0,Yt=ct>0?Math.max:Math.min;Ce=\"M\"+(H+kt*nt)+\",\"+G+\"V\"+Yt(N-(ze-ce)*ct,G)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(H+ze*nt-Ct)+\",\"+N+\"H\"+(X-ze*nt+Ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(X-kt*nt)+\",\"+Yt(N-(ze-ce)*ct,G)+\"V\"+G+\"Z\"}}else Ce=Re}else Ce=Re;var xr=Iye(Pd.ensureSingle(q,\"path\"),l,i,a);if(xr.style(\"vector-effect\",u?\"none\":\"non-scaling-stroke\").attr(\"d\",isNaN((X-H)*(N-G))||W&&e._context.staticPlot?\"M0,0Z\":Ce).call(A_.setClipUrl,t.layerClipId,e),!l.uniformtext.mode&&_){var er=A_.makePointStyleFns(d);A_.singlePointStyle(T,xr,d,er,e)}wyt(e,t,q,f,F,H,X,G,N,ze,ce,i,a),t.layerClipId&&A_.hideOutsideRangePoint(T,q.select(\"text\"),o,s,d.xcalendar,d.ycalendar)});var P=d.cliponaxis===!1;A_.setClipUrl(h,P?null:t.layerClipId,e)});fyt.getComponentMethod(\"errorbars\",\"plot\")(e,c,t,i)}function wyt(e,t,r,n,i,a,o,s,l,u,c,f,h){var d=t.xaxis,v=t.yaxis,x=e._fullLayout,b;function p(me,Re,ce){var Ge=Pd.ensureSingle(me,\"text\").text(Re).attr({class:\"bartext bartext-\"+b,\"text-anchor\":\"middle\",\"data-notex\":1}).call(A_.font,ce).call(uyt.convertToTspans,e);return Ge}var E=n[0].trace,k=E.orientation===\"h\",A=Syt(x,n,i,d,v);b=Myt(E,i);var L=f.mode===\"stack\"||f.mode===\"relative\",_=n[i],C=!L||_._outmost,M=_.hasB,g=u&&u-c>Uv;if(!A||b===\"none\"||(_.isBlank||a===o||s===l)&&(b===\"auto\"||b===\"inside\")){r.select(\"text\").remove();return}var P=x.font,T=bV.getBarColor(n[i],E),F=bV.getInsideTextFont(E,i,P,T),q=bV.getOutsideTextFont(E,i,P),V=E.insidetextanchor||\"end\",H=r.datum();k?d.type===\"log\"&&H.s0<=0&&(d.range[0]<d.range[1]?a=0:a=d._length):v.type===\"log\"&&H.s0<=0&&(v.range[0]<v.range[1]?s=v._length:s=0);var X=Math.abs(o-a),G=Math.abs(l-s),N=X-2*Uv,W=G-2*Uv,re,ae,_e,Me,ke;if(b===\"outside\"&&!C&&!_.hasB&&(b=\"inside\"),b===\"auto\")if(C){b=\"inside\",ke=Pd.ensureUniformFontSize(e,F),re=p(r,A,ke),ae=A_.bBox(re.node()),_e=ae.width,Me=ae.height;var ge=_e>0&&Me>0,ie;g?M?ie=r2(N-2*u,W,_e,Me,k)||r2(N,W-2*u,_e,Me,k):k?ie=r2(N-(u-c),W,_e,Me,k)||r2(N,W-2*(u-c),_e,Me,k):ie=r2(N,W-(u-c),_e,Me,k)||r2(N-2*(u-c),W,_e,Me,k):ie=r2(N,W,_e,Me,k),ge&&ie?b=\"inside\":(b=\"outside\",re.remove(),re=null)}else b=\"inside\";if(!re){ke=Pd.ensureUniformFontSize(e,b===\"outside\"?q:F),re=p(r,A,ke);var Te=re.attr(\"transform\");if(re.attr(\"transform\",\"\"),ae=A_.bBox(re.node()),_e=ae.width,Me=ae.height,re.attr(\"transform\",Te),_e<=0||Me<=0){re.remove();return}}var Ee=E.textangle,Ae,ze;b===\"outside\"?(ze=E.constraintext===\"both\"||E.constraintext===\"outside\",Ae=Ayt(a,o,s,l,ae,{isHorizontal:k,constrained:ze,angle:Ee})):(ze=E.constraintext===\"both\"||E.constraintext===\"inside\",Ae=Fye(a,o,s,l,ae,{isHorizontal:k,constrained:ze,angle:Ee,anchor:V,hasB:M,r:u,overhead:c})),Ae.fontSize=ke.size,hyt(E.type===\"histogram\"?\"bar\":E.type,Ae,x),_.transform=Ae;var Ce=Iye(re,x,f,h);Pd.setTransormAndDisplay(Ce,Ae)}function r2(e,t,r,n,i){if(e<0||t<0)return!1;var a=r<=e&&n<=t,o=r<=t&&n<=e,s=i?e>=r*(t/n):t>=n*(e/r);return a||o||s}function Dye(e){return e===\"auto\"?0:e}function zye(e,t){var r=Math.PI/180*t,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:e.width*i+e.height*n,y:e.width*n+e.height*i}}function Fye(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=a.anchor,c=u===\"end\",f=u===\"start\",h=a.leftToRight||0,d=(h+1)/2,v=1-d,x=a.hasB,b=a.r,p=a.overhead,E=i.width,k=i.height,A=Math.abs(t-e),L=Math.abs(n-r),_=A>2*Uv&&L>2*Uv?Uv:0;A-=2*_,L-=2*_;var C=Dye(l);l===\"auto\"&&!(E<=A&&k<=L)&&(E>A||k>L)&&(!(E>L||k>A)||E<k!=A<L)&&(C+=90);var M=zye(i,C),g,P;if(b&&b-p>Uv){var T=Tyt(e,t,r,n,M,b,p,o,x);g=T.scale,P=T.pad}else g=1,s&&(g=Math.min(1,A/M.x,L/M.y)),P=0;var F=i.left*v+i.right*d,q=(i.top+i.bottom)/2,V=(e+Uv)*v+(t-Uv)*d,H=(r+n)/2,X=0,G=0;if(f||c){var N=(o?M.x:M.y)/2;b&&(c||x)&&(_+=P);var W=o?Pm(e,t):Pm(r,n);o?f?(V=e+W*_,X=-W*N):(V=t-W*_,X=W*N):f?(H=r+W*_,G=-W*N):(H=n-W*_,G=W*N)}return{textX:F,textY:q,targetX:V,targetY:H,anchorX:X,anchorY:G,scale:g,rotate:C}}function Tyt(e,t,r,n,i,a,o,s,l){var u=Math.max(0,Math.abs(t-e)-2*Uv),c=Math.max(0,Math.abs(n-r)-2*Uv),f=a-Uv,h=o?f-Math.sqrt(f*f-(f-o)*(f-o)):f,d=l?f*2:s?f-o:2*h,v=l?f*2:s?2*h:f-o,x,b,p,E,k;return i.y/i.x>=c/(u-d)?E=c/i.y:i.y/i.x<=(c-v)/u?E=u/i.x:!l&&s?(x=i.x*i.x+i.y*i.y/4,b=-2*i.x*(u-f)-i.y*(c/2-f),p=(u-f)*(u-f)+(c/2-f)*(c/2-f)-f*f,E=(-b+Math.sqrt(b*b-4*x*p))/(2*x)):l?(x=(i.x*i.x+i.y*i.y)/4,b=-i.x*(u/2-f)-i.y*(c/2-f),p=(u/2-f)*(u/2-f)+(c/2-f)*(c/2-f)-f*f,E=(-b+Math.sqrt(b*b-4*x*p))/(2*x)):(x=i.x*i.x/4+i.y*i.y,b=-i.x*(u/2-f)-2*i.y*(c-f),p=(u/2-f)*(u/2-f)+(c-f)*(c-f)-f*f,E=(-b+Math.sqrt(b*b-4*x*p))/(2*x)),E=Math.min(1,E),s?k=Math.max(0,f-Math.sqrt(Math.max(0,f*f-(f-(c-i.y*E)/2)*(f-(c-i.y*E)/2)))-o):k=Math.max(0,f-Math.sqrt(Math.max(0,f*f-(f-(u-i.x*E)/2)*(f-(u-i.x*E)/2)))-o),{scale:E,pad:k}}function Ayt(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=i.width,c=i.height,f=Math.abs(t-e),h=Math.abs(n-r),d;o?d=h>2*Uv?Uv:0:d=f>2*Uv?Uv:0;var v=1;s&&(v=o?Math.min(1,h/c):Math.min(1,f/u));var x=Dye(l),b=zye(i,x),p=(o?b.x:b.y)/2,E=(i.left+i.right)/2,k=(i.top+i.bottom)/2,A=(e+t)/2,L=(r+n)/2,_=0,C=0,M=o?Pm(t,e):Pm(r,n);return o?(A=t-M*d,_=M*p):(L=n+M*d,C=-M*p),{textX:E,textY:k,targetX:A,targetY:L,anchorX:_,anchorY:C,scale:v,rotate:x}}function Syt(e,t,r,n,i){var a=t[0].trace,o=a.texttemplate,s;return o?s=Eyt(e,t,r,n,i):a.textinfo?s=kyt(t,r,n,i):s=wT.getValue(a.text,r),wT.coerceString(pyt,s)}function Myt(e,t){var r=wT.getValue(e.textposition,t);return wT.coerceEnumerated(gyt,r)}function Eyt(e,t,r,n,i){var a=t[0].trace,o=Pd.castOption(a,r,\"texttemplate\");if(!o)return\"\";var s=a.type===\"histogram\",l=a.type===\"waterfall\",u=a.type===\"funnel\",c=a.orientation===\"h\",f,h,d,v;c?(f=\"y\",h=i,d=\"x\",v=n):(f=\"x\",h=n,d=\"y\",v=i);function x(_){return UI(h,h.c2l(_),!0).text}function b(_){return UI(v,v.c2l(_),!0).text}var p=t[r],E={};E.label=p.p,E.labelLabel=E[f+\"Label\"]=x(p.p);var k=Pd.castOption(a,p.i,\"text\");(k===0||k)&&(E.text=k),E.value=p.s,E.valueLabel=E[d+\"Label\"]=b(p.s);var A={};myt(A,a,p.i),(s||A.x===void 0)&&(A.x=c?E.value:E.label),(s||A.y===void 0)&&(A.y=c?E.label:E.value),(s||A.xLabel===void 0)&&(A.xLabel=c?E.valueLabel:E.labelLabel),(s||A.yLabel===void 0)&&(A.yLabel=c?E.labelLabel:E.valueLabel),l&&(E.delta=+p.rawS||p.s,E.deltaLabel=b(E.delta),E.final=p.v,E.finalLabel=b(E.final),E.initial=E.final-E.delta,E.initialLabel=b(E.initial)),u&&(E.value=p.s,E.valueLabel=b(E.value),E.percentInitial=p.begR,E.percentInitialLabel=Pd.formatPercent(p.begR),E.percentPrevious=p.difR,E.percentPreviousLabel=Pd.formatPercent(p.difR),E.percentTotal=p.sumR,E.percenTotalLabel=Pd.formatPercent(p.sumR));var L=Pd.castOption(a,p.i,\"customdata\");return L&&(E.customdata=L),Pd.texttemplateString(o,E,e._d3locale,A,E,a._meta||{})}function kyt(e,t,r,n){var i=e[0].trace,a=i.orientation===\"h\",o=i.type===\"waterfall\",s=i.type===\"funnel\";function l(L){var _=a?n:r;return UI(_,L,!0).text}function u(L){var _=a?r:n;return UI(_,+L,!0).text}var c=i.textinfo,f=e[t],h=c.split(\"+\"),d=[],v,x=function(L){return h.indexOf(L)!==-1};if(x(\"label\")&&d.push(l(e[t].p)),x(\"text\")&&(v=Pd.castOption(i,f.i,\"text\"),(v===0||v)&&d.push(v)),o){var b=+f.rawS||f.s,p=f.v,E=p-b;x(\"initial\")&&d.push(u(E)),x(\"delta\")&&d.push(u(b)),x(\"final\")&&d.push(u(p))}if(s){x(\"value\")&&d.push(u(f.s));var k=0;x(\"percent initial\")&&k++,x(\"percent previous\")&&k++,x(\"percent total\")&&k++;var A=k>1;x(\"percent initial\")&&(v=Pd.formatPercent(f.begR),A&&(v+=\" of initial\"),d.push(v)),x(\"percent previous\")&&(v=Pd.formatPercent(f.difR),A&&(v+=\" of previous\"),d.push(v)),x(\"percent total\")&&(v=Pd.formatPercent(f.sumR),A&&(v+=\" of total\"),d.push(v))}return d.join(\"<br>\")}qye.exports={plot:byt,toMoveInsideBar:Fye}});var TT=ye((Ior,Uye)=>{\"use strict\";var d4=Nc(),Cyt=ba(),Oye=va(),Lyt=Mr().fillText,Pyt=OI().getLineWidth,TV=Qa().hoverLabelText,Iyt=es().BADNUM;function Ryt(e,t,r,n,i){var a=Bye(e,t,r,n,i);if(a){var o=a.cd,s=o[0].trace,l=o[a.index];return a.color=Nye(s,l),Cyt.getComponentMethod(\"errorbars\",\"hoverInfo\")(l,s,a),[a]}}function Bye(e,t,r,n,i){var a=e.cd,o=a[0].trace,s=a[0].t,l=n===\"closest\",u=o.type===\"waterfall\",c=e.maxHoverDistance,f=e.maxSpikeDistance,h,d,v,x,b,p,E;o.orientation===\"h\"?(h=r,d=t,v=\"y\",x=\"x\",b=H,p=F):(h=t,d=r,v=\"x\",x=\"y\",p=H,b=F);var k=o[v+\"period\"],A=l||k;function L(ie){return C(ie,-1)}function _(ie){return C(ie,1)}function C(ie,Te){var Ee=ie.w;return ie[v]+Te*Ee/2}function M(ie){return ie[v+\"End\"]-ie[v+\"Start\"]}var g=l?L:k?function(ie){return ie.p-M(ie)/2}:function(ie){return Math.min(L(ie),ie.p-s.bardelta/2)},P=l?_:k?function(ie){return ie.p+M(ie)/2}:function(ie){return Math.max(_(ie),ie.p+s.bardelta/2)};function T(ie,Te,Ee){return i.finiteRange&&(Ee=0),d4.inbox(ie-h,Te-h,Ee+Math.min(1,Math.abs(Te-ie)/E)-1)}function F(ie){return T(g(ie),P(ie),c)}function q(ie){return T(L(ie),_(ie),f)}function V(ie){var Te=ie[x];if(u){var Ee=Math.abs(ie.rawS)||0;d>0?Te+=Ee:d<0&&(Te-=Ee)}return Te}function H(ie){var Te=d,Ee=ie.b,Ae=V(ie);return d4.inbox(Ee-Te,Ae-Te,c+(Ae-Te)/(Ae-Ee)-1)}function X(ie){var Te=d,Ee=ie.b,Ae=V(ie);return d4.inbox(Ee-Te,Ae-Te,f+(Ae-Te)/(Ae-Ee)-1)}var G=e[v+\"a\"],N=e[x+\"a\"];E=Math.abs(G.r2c(G.range[1])-G.r2c(G.range[0]));function W(ie){return(b(ie)+p(ie))/2}var re=d4.getDistanceFunction(n,b,p,W);if(d4.getClosest(a,re,e),e.index!==!1&&a[e.index].p!==Iyt){A||(g=function(ie){return Math.min(L(ie),ie.p-s.bargroupwidth/2)},P=function(ie){return Math.max(_(ie),ie.p+s.bargroupwidth/2)});var ae=e.index,_e=a[ae],Me=o.base?_e.b+_e.s:_e.s;e[x+\"0\"]=e[x+\"1\"]=N.c2p(_e[x],!0),e[x+\"LabelVal\"]=Me;var ke=s.extents[s.extents.round(_e.p)];e[v+\"0\"]=G.c2p(l?g(_e):ke[0],!0),e[v+\"1\"]=G.c2p(l?P(_e):ke[1],!0);var ge=_e.orig_p!==void 0;return e[v+\"LabelVal\"]=ge?_e.orig_p:_e.p,e.labelLabel=TV(G,e[v+\"LabelVal\"],o[v+\"hoverformat\"]),e.valueLabel=TV(N,e[x+\"LabelVal\"],o[x+\"hoverformat\"]),e.baseLabel=TV(N,_e.b,o[x+\"hoverformat\"]),e.spikeDistance=(X(_e)+q(_e))/2,e[v+\"Spike\"]=G.c2p(_e.p,!0),Lyt(_e,o,e),e.hovertemplate=o.hovertemplate,e}}function Nye(e,t){var r=t.mcc||e.marker.color,n=t.mlcc||e.marker.line.color,i=Pyt(e,t);if(Oye.opacity(r))return r;if(Oye.opacity(n)&&i)return n}Uye.exports={hoverPoints:Ryt,hoverOnBars:Bye,getTraceColor:Nye}});var Hye=ye((Ror,Vye)=>{\"use strict\";Vye.exports=function(t,r,n){return t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),n.orientation===\"h\"?(t.label=t.y,t.value=t.x):(t.label=t.x,t.value=t.y),t}});var AT=ye((Dor,Gye)=>{\"use strict\";Gye.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=n[0].trace,s=o.type===\"funnel\",l=o.orientation===\"h\",u=[],c;if(r===!1)for(c=0;c<n.length;c++)n[c].selected=0;else for(c=0;c<n.length;c++){var f=n[c],h=\"ct\"in f?f.ct:Dyt(f,i,a,l,s);r.contains(h,!1,c,t)?(u.push({pointNumber:c,x:i.c2d(f.x),y:a.c2d(f.y)}),f.selected=1):f.selected=0}return u};function Dyt(e,t,r,n,i){var a=t.c2p(n?e.s0:e.p0,!0),o=t.c2p(n?e.s1:e.p1,!0),s=r.c2p(n?e.p0:e.s0,!0),l=r.c2p(n?e.p1:e.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}});var Wye=ye((zor,jye)=>{\"use strict\";jye.exports={attributes:Lm(),layoutAttributes:zI(),supplyDefaults:r0().supplyDefaults,crossTraceDefaults:r0().crossTraceDefaults,supplyLayoutDefaults:yV(),calc:pye(),crossTraceCalc:Gb().crossTraceCalc,colorbar:Kd(),arraysToCalcdata:c4(),plot:i2().plot,style:N0().style,styleOnSelect:N0().styleOnSelect,hoverPoints:TT().hoverPoints,eventData:Hye(),selectPoints:AT(),moduleType:\"trace\",name:\"bar\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"bar\",\"oriented\",\"errorBarsOK\",\"showLegend\",\"zoomScale\"],animatable:!0,meta:{}}});var Xye=ye((For,Zye)=>{\"use strict\";Zye.exports=Wye()});var v4=ye((qor,$ye)=>{\"use strict\";var zyt=Eg(),U0=Uc(),Yye=Lm(),Fyt=dh(),Kye=Oc().axisHoverFormat,qyt=Wo().hovertemplateAttrs,zy=no().extendFlat,ST=U0.marker,Jye=ST.line;$ye.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:U0.xperiod,yperiod:U0.yperiod,xperiod0:U0.xperiod0,yperiod0:U0.yperiod0,xperiodalignment:U0.xperiodalignment,yperiodalignment:U0.yperiodalignment,xhoverformat:Kye(\"x\"),yhoverformat:Kye(\"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:zy({},ST.symbol,{arrayOk:!1,editType:\"plot\"}),opacity:zy({},ST.opacity,{arrayOk:!1,dflt:1,editType:\"style\"}),angle:zy({},ST.angle,{arrayOk:!1,editType:\"calc\"}),size:zy({},ST.size,{arrayOk:!1,editType:\"calc\"}),color:zy({},ST.color,{arrayOk:!1,editType:\"style\"}),line:{color:zy({},Jye.color,{arrayOk:!1,dflt:Fyt.defaultLine,editType:\"style\"}),width:zy({},Jye.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:zyt(),whiskerwidth:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"calc\"},showwhiskers:{valType:\"boolean\",editType:\"calc\"},offsetgroup:Yye.offsetgroup,alignmentgroup:Yye.alignmentgroup,selected:{marker:U0.selected.marker,editType:\"style\"},unselected:{marker:U0.unselected.marker,editType:\"style\"},text:zy({},U0.text,{}),hovertext:zy({},U0.hovertext,{}),hovertemplate:qyt({}),hoveron:{valType:\"flaglist\",flags:[\"boxes\",\"points\"],dflt:\"boxes+points\",editType:\"style\"},zorder:U0.zorder}});var p4=ye((Oor,Qye)=>{\"use strict\";Qye.exports={boxmode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\",editType:\"calc\"},boxgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"},boxgroupgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"}}});var m4=ye((Bor,i1e)=>{\"use strict\";var V0=Mr(),Oyt=ba(),Byt=va(),Nyt=Pg(),Uyt=Hb(),e1e=L3(),g4=v4();function Vyt(e,t,r,n){function i(v,x){return V0.coerce(e,t,g4,v,x)}if(t1e(e,t,i,n),t.visible!==!1){Nyt(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\");var a=t._hasPreCompStats;a&&(i(\"lowerfence\"),i(\"upperfence\")),i(\"line.color\",(e.marker||{}).color||r),i(\"line.width\"),i(\"fillcolor\",Byt.addOpacity(t.line.color,.5));var o=!1;if(a){var s=i(\"mean\"),l=i(\"sd\");s&&s.length&&(o=!0,l&&l.length&&(o=\"sd\"))}i(\"whiskerwidth\");var u=i(\"sizemode\"),c;u===\"quartiles\"&&(c=i(\"boxmean\",o)),i(\"showwhiskers\",u===\"quartiles\"),(u===\"sd\"||c===\"sd\")&&i(\"sdmultiple\"),i(\"width\"),i(\"quartilemethod\");var f=!1;if(a){var h=i(\"notchspan\");h&&h.length&&(f=!0)}else V0.validate(e.notchwidth,g4.notchwidth)&&(f=!0);var d=i(\"notched\",f);d&&i(\"notchwidth\"),r1e(e,t,i,{prefix:\"box\"}),i(\"zorder\")}}function t1e(e,t,r,n){function i(P){var T=0;return P&&P.length&&(T+=1,V0.isArrayOrTypedArray(P[0])&&P[0].length&&(T+=1)),T}function a(P){return V0.validate(e[P],g4[P])}var o=r(\"y\"),s=r(\"x\"),l;if(t.type===\"box\"){var u=r(\"q1\"),c=r(\"median\"),f=r(\"q3\");t._hasPreCompStats=u&&u.length&&c&&c.length&&f&&f.length,l=Math.min(V0.minRowLength(u),V0.minRowLength(c),V0.minRowLength(f))}var h=i(o),d=i(s),v=h&&V0.minRowLength(o),x=d&&V0.minRowLength(s),b=n.calendar,p={autotypenumbers:n.autotypenumbers},E,k;if(t._hasPreCompStats)switch(String(d)+String(h)){case\"00\":var A=a(\"x0\")||a(\"dx\"),L=a(\"y0\")||a(\"dy\");L&&!A?E=\"h\":E=\"v\",k=l;break;case\"10\":E=\"v\",k=Math.min(l,x);break;case\"20\":E=\"h\",k=Math.min(l,s.length);break;case\"01\":E=\"h\",k=Math.min(l,v);break;case\"02\":E=\"v\",k=Math.min(l,o.length);break;case\"12\":E=\"v\",k=Math.min(l,x,o.length);break;case\"21\":E=\"h\",k=Math.min(l,s.length,v);break;case\"11\":k=0;break;case\"22\":var _=!1,C;for(C=0;C<s.length;C++)if(e1e(s[C],b,p)===\"category\"){_=!0;break}if(_)E=\"v\",k=Math.min(l,x,o.length);else{for(C=0;C<o.length;C++)if(e1e(o[C],b,p)===\"category\"){_=!0;break}_?(E=\"h\",k=Math.min(l,s.length,v)):(E=\"v\",k=Math.min(l,x,o.length))}break}else h>0?(E=\"v\",d>0?k=Math.min(x,v):k=Math.min(v)):d>0?(E=\"h\",k=Math.min(x)):k=0;if(!k){t.visible=!1;return}t._length=k;var M=r(\"orientation\",E);t._hasPreCompStats?M===\"v\"&&d===0?(r(\"x0\",0),r(\"dx\",1)):M===\"h\"&&h===0&&(r(\"y0\",0),r(\"dy\",1)):M===\"v\"&&d===0?r(\"x0\"):M===\"h\"&&h===0&&r(\"y0\");var g=Oyt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");g(e,t,[\"x\",\"y\"],n)}function r1e(e,t,r,n){var i=n.prefix,a=V0.coerce2(e,t,g4,\"marker.outliercolor\"),o=r(\"marker.line.outliercolor\"),s=\"outliers\";t._hasPreCompStats?s=\"all\":(a||o)&&(s=\"suspectedoutliers\");var l=r(i+\"points\",s);l?(r(\"jitter\",l===\"all\"?.3:0),r(\"pointpos\",l===\"all\"?-1.5:0),r(\"marker.symbol\"),r(\"marker.opacity\"),r(\"marker.size\"),r(\"marker.angle\"),r(\"marker.color\",t.line.color),r(\"marker.line.color\"),r(\"marker.line.width\"),l===\"suspectedoutliers\"&&(r(\"marker.line.outliercolor\",t.marker.color),r(\"marker.line.outlierwidth\")),r(\"selected.marker.color\"),r(\"unselected.marker.color\"),r(\"selected.marker.size\"),r(\"unselected.marker.size\"),r(\"text\"),r(\"hovertext\")):delete t.marker;var u=r(\"hoveron\");(u===\"all\"||u.indexOf(\"points\")!==-1)&&r(\"hovertemplate\"),V0.coerceSelectionMarkerOpacity(t,r)}function Hyt(e,t){var r,n;function i(l){return V0.coerce(n._input,n,g4,l)}for(var a=0;a<e.length;a++){n=e[a];var o=n.type;if(o===\"box\"||o===\"violin\"){r=n._input;var s=t[o+\"mode\"];s===\"group\"&&Uyt(r,n,t,i,s)}}}i1e.exports={supplyDefaults:Vyt,crossTraceDefaults:Hyt,handleSampleDefaults:t1e,handlePointsDefaults:r1e}});var VI=ye((Nor,a1e)=>{\"use strict\";var Gyt=ba(),jyt=Mr(),Wyt=p4();function n1e(e,t,r,n,i){for(var a=i+\"Layout\",o=!1,s=0;s<r.length;s++){var l=r[s];if(Gyt.traceIs(l,a)){o=!0;break}}o&&(n(i+\"mode\"),n(i+\"gap\"),n(i+\"groupgap\"))}function Zyt(e,t,r){function n(i,a){return jyt.coerce(e,t,Wyt,i,a)}n1e(e,t,r,n,\"box\")}a1e.exports={supplyLayoutDefaults:Zyt,_supply:n1e}});var MV=ye((Uor,v1e)=>{\"use strict\";var SV=uo(),HI=Qa(),Xyt=Rg(),$f=Mr(),i0=es().BADNUM,Fy=$f._;v1e.exports=function(t,r){var n=t._fullLayout,i=HI.getFromId(t,r.xaxis||\"x\"),a=HI.getFromId(t,r.yaxis||\"y\"),o=[],s=r.type===\"violin\"?\"_numViolins\":\"_numBoxes\",l,u,c,f,h,d,v;r.orientation===\"h\"?(c=i,f=\"x\",h=a,d=\"y\",v=!!r.yperiodalignment):(c=a,f=\"y\",h=i,d=\"x\",v=!!r.xperiodalignment);var x=Yyt(r,d,h,n[s]),b=x[0],p=x[1],E=$f.distinctVals(b,h),k=E.vals,A=E.minDiff/2,L,_,C,M,g,P,T=(r.boxpoints||r.points)===\"all\"?$f.identity:function(qt){return qt.v<L.lf||qt.v>L.uf};if(r._hasPreCompStats){var F=r[f],q=function(qt){return c.d2c((r[qt]||[])[l])},V=1/0,H=-1/0;for(l=0;l<r._length;l++){var X=b[l];if(SV(X)){if(L={},L.pos=L[d]=X,v&&p&&(L.orig_p=p[l]),L.q1=q(\"q1\"),L.med=q(\"median\"),L.q3=q(\"q3\"),_=[],F&&$f.isArrayOrTypedArray(F[l]))for(u=0;u<F[l].length;u++)P=c.d2c(F[l][u]),P!==i0&&(g={v:P,i:[l,u]},o1e(g,r,[l,u]),_.push(g));if(L.pts=_.sort(s1e),C=L[f]=_.map(l1e),M=C.length,L.med!==i0&&L.q1!==i0&&L.q3!==i0&&L.med>=L.q1&&L.q3>=L.med){var G=q(\"lowerfence\");L.lf=G!==i0&&G<=L.q1?G:u1e(L,C,M);var N=q(\"upperfence\");L.uf=N!==i0&&N>=L.q3?N:c1e(L,C,M);var W=q(\"mean\");L.mean=W!==i0?W:M?$f.mean(C,M):(L.q1+L.q3)/2;var re=q(\"sd\");L.sd=W!==i0&&re>=0?re:M?$f.stdev(C,M,L.mean):L.q3-L.q1,L.lo=f1e(L),L.uo=h1e(L);var ae=q(\"notchspan\");ae=ae!==i0&&ae>0?ae:d1e(L,M),L.ln=L.med-ae,L.un=L.med+ae;var _e=L.lf,Me=L.uf;r.boxpoints&&C.length&&(_e=Math.min(_e,C[0]),Me=Math.max(Me,C[M-1])),r.notched&&(_e=Math.min(_e,L.ln),Me=Math.max(Me,L.un)),L.min=_e,L.max=Me}else{$f.warn([\"Invalid input - make sure that q1 <= median <= q3\",\"q1 = \"+L.q1,\"median = \"+L.med,\"q3 = \"+L.q3].join(`\n", - "`));var ke;L.med!==i0?ke=L.med:L.q1!==i0?L.q3!==i0?ke=(L.q1+L.q3)/2:ke=L.q1:L.q3!==i0?ke=L.q3:ke=0,L.med=ke,L.q1=L.q3=ke,L.lf=L.uf=ke,L.mean=L.sd=ke,L.ln=L.un=ke,L.min=L.max=ke}V=Math.min(V,L.min),H=Math.max(H,L.max),L.pts2=_.filter(T),o.push(L)}}r._extremes[c._id]=HI.findExtremes(c,[V,H],{padded:!0})}else{var ge=c.makeCalcdata(r,f),ie=Kyt(k,A),Te=k.length,Ee=Jyt(Te);for(l=0;l<r._length;l++)if(P=ge[l],!!SV(P)){var Ae=$f.findBin(b[l],ie);Ae>=0&&Ae<Te&&(g={v:P,i:l},o1e(g,r,l),Ee[Ae].push(g))}var ze=1/0,Ce=-1/0,me=r.quartilemethod,Re=me===\"exclusive\",ce=me===\"inclusive\";for(l=0;l<Te;l++)if(Ee[l].length>0){if(L={},L.pos=L[d]=k[l],_=L.pts=Ee[l].sort(s1e),C=L[f]=_.map(l1e),M=C.length,L.min=C[0],L.max=C[M-1],L.mean=$f.mean(C,M),L.sd=$f.stdev(C,M,L.mean)*r.sdmultiple,L.med=$f.interp(C,.5),M%2&&(Re||ce)){var Ge,nt;Re?(Ge=C.slice(0,M/2),nt=C.slice(M/2+1)):ce&&(Ge=C.slice(0,M/2+1),nt=C.slice(M/2)),L.q1=$f.interp(Ge,.5),L.q3=$f.interp(nt,.5)}else L.q1=$f.interp(C,.25),L.q3=$f.interp(C,.75);L.lf=u1e(L,C,M),L.uf=c1e(L,C,M),L.lo=f1e(L),L.uo=h1e(L);var ct=d1e(L,M);L.ln=L.med-ct,L.un=L.med+ct,ze=Math.min(ze,L.ln),Ce=Math.max(Ce,L.un),L.pts2=_.filter(T),o.push(L)}r.notched&&$f.isTypedArray(ge)&&(ge=Array.from(ge)),r._extremes[c._id]=HI.findExtremes(c,r.notched?ge.concat([ze,Ce]):ge,{padded:!0})}return $yt(o,r),o.length>0?(o[0].t={num:n[s],dPos:A,posLetter:d,valLetter:f,labels:{med:Fy(t,\"median:\"),min:Fy(t,\"min:\"),q1:Fy(t,\"q1:\"),q3:Fy(t,\"q3:\"),max:Fy(t,\"max:\"),mean:r.boxmean===\"sd\"||r.sizemode===\"sd\"?Fy(t,\"mean \\xB1 \\u03C3:\").replace(\"\\u03C3\",r.sdmultiple===1?\"\\u03C3\":r.sdmultiple+\"\\u03C3\"):Fy(t,\"mean:\"),lf:Fy(t,\"lower fence:\"),uf:Fy(t,\"upper fence:\")}},n[s]++,o):[{t:{empty:!0}}]};function Yyt(e,t,r,n){var i=t in e,a=t+\"0\"in e,o=\"d\"+t in e;if(i||a&&o){var s=r.makeCalcdata(e,t),l=Xyt(e,r,t,s).vals;return[l,s]}var u;a?u=e[t+\"0\"]:\"name\"in e&&(r.type===\"category\"||SV(e.name)&&[\"linear\",\"log\"].indexOf(r.type)!==-1||$f.isDateTime(e.name)&&r.type===\"date\")?u=e.name:u=n;for(var c=r.type===\"multicategory\"?r.r2c_just_indices(u):r.d2c(u,0,e[t+\"calendar\"]),f=e._length,h=new Array(f),d=0;d<f;d++)h[d]=c;return[h]}function Kyt(e,t){for(var r=e.length,n=new Array(r+1),i=0;i<r;i++)n[i]=e[i]-t;return n[r]=e[r-1]+t,n}function Jyt(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=[];return t}var AV={text:\"tx\",hovertext:\"htx\"};function o1e(e,t,r){for(var n in AV)$f.isArrayOrTypedArray(t[n])&&(Array.isArray(r)?$f.isArrayOrTypedArray(t[n][r[0]])&&(e[AV[n]]=t[n][r[0]][r[1]]):e[AV[n]]=t[n][r])}function $yt(e,t){if($f.isArrayOrTypedArray(t.selectedpoints))for(var r=0;r<e.length;r++){for(var n=e[r].pts||[],i={},a=0;a<n.length;a++)i[n[a].i]=a;$f.tagSelected(n,t,i)}}function s1e(e,t){return e.v-t.v}function l1e(e){return e.v}function u1e(e,t,r){return r===0?e.q1:Math.min(e.q1,t[Math.min($f.findBin(2.5*e.q1-1.5*e.q3,t,!0)+1,r-1)])}function c1e(e,t,r){return r===0?e.q3:Math.max(e.q3,t[Math.max($f.findBin(2.5*e.q3-1.5*e.q1,t),0)])}function f1e(e){return 4*e.q1-3*e.q3}function h1e(e){return 4*e.q3-3*e.q1}function d1e(e,t){return t===0?0:1.57*(e.q3-e.q1)/Math.sqrt(t)}});var GI=ye((Vor,y1e)=>{\"use strict\";var p1e=Qa(),Qyt=Mr(),e1t=Bb().getAxisGroup,g1e=[\"v\",\"h\"];function t1t(e,t){for(var r=e.calcdata,n=t.xaxis,i=t.yaxis,a=0;a<g1e.length;a++){for(var o=g1e[a],s=o===\"h\"?i:n,l=[],u=0;u<r.length;u++){var c=r[u],f=c[0].t,h=c[0].trace;h.visible===!0&&(h.type===\"box\"||h.type===\"candlestick\")&&!f.empty&&(h.orientation||\"v\")===o&&h.xaxis===n._id&&h.yaxis===i._id&&l.push(u)}m1e(\"box\",e,l,s)}}function m1e(e,t,r,n){var i=t.calcdata,a=t._fullLayout,o=n._id,s=o.charAt(0),l,u,c,f=[],h=0;for(l=0;l<r.length;l++)for(c=i[r[l]],u=0;u<c.length;u++)f.push(n.c2l(c[u].pos,!0)),h+=(c[u].pts2||[]).length;if(f.length){var d=Qyt.distinctVals(f);(n.type===\"category\"||n.type===\"multicategory\")&&(d.minDiff=1);var v=d.minDiff/2;p1e.minDtick(n,d.minDiff,d.vals[0],!0);var x=e===\"violin\"?\"_numViolins\":\"_numBoxes\",b=a[x],p=a[e+\"mode\"]===\"group\"&&b>1,E=1-a[e+\"gap\"],k=1-a[e+\"groupgap\"];for(l=0;l<r.length;l++){c=i[r[l]];var A=c[0].trace,L=c[0].t,_=A.width,C=A.side,M,g,P,T;if(_)M=g=T=_/2,P=0;else if(M=v,p){var F=e1t(a,n._id)+A.orientation,q=a._alignmentOpts[F]||{},V=q[A.alignmentgroup]||{},H=Object.keys(V.offsetGroups||{}).length,X=H||b,G=H?A._offsetIndex:L.num;g=M*E*k/X,P=2*M*(-.5+(G+.5)/X)*E,T=M*E/X}else g=M*E*k,P=0,T=M;L.dPos=M,L.bPos=P,L.bdPos=g,L.wHover=T;var N,W,re=P+g,ae,_e,Me,ke,ge,ie,Te=!!_,Ee=(A.boxpoints||A.points)&&h>0;if(C===\"positive\"?(N=M*(_?1:.5),ae=re,W=ae=P):C===\"negative\"?(N=ae=P,W=M*(_?1:.5),_e=re):(N=W=M,ae=_e=re),Ee){var Ae=A.pointpos,ze=A.jitter,Ce=A.marker.size/2,me=0;Ae+ze>=0&&(me=re*(Ae+ze),me>N?(Te=!0,ge=Ce,Me=me):me>ae&&(ge=Ce,Me=N)),me<=N&&(Me=N);var Re=0;Ae-ze<=0&&(Re=-re*(Ae-ze),Re>W?(Te=!0,ie=Ce,ke=Re):Re>_e&&(ie=Ce,ke=W)),Re<=W&&(ke=W)}else Me=N,ke=W;var ce=new Array(c.length);for(u=0;u<c.length;u++)ce[u]=c[u].pos;A._extremes[o]=p1e.findExtremes(n,ce,{padded:Te,vpadminus:ke,vpadplus:Me,vpadLinearized:!0,ppadminus:{x:ie,y:ge}[s],ppadplus:{x:ge,y:ie}[s]})}}}y1e.exports={crossTraceCalc:t1t,setPositionOffset:m1e}});var jI=ye((Hor,T1e)=>{\"use strict\";var MT=xa(),n2=Mr(),r1t=ao(),_1e=5,i1t=.01;function n1t(e,t,r,n){var i=e._context.staticPlot,a=t.xaxis,o=t.yaxis;n2.makeTraceGroups(n,r,\"trace boxes\").each(function(s){var l=MT.select(this),u=s[0],c=u.t,f=u.trace;if(c.wdPos=c.bdPos*f.whiskerwidth,f.visible!==!0||c.empty){l.remove();return}var h,d;f.orientation===\"h\"?(h=o,d=a):(h=a,d=o),x1e(l,{pos:h,val:d},f,c,i),b1e(l,{x:a,y:o},f,c),w1e(l,{pos:h,val:d},f,c)})}function x1e(e,t,r,n,i){var a=r.orientation===\"h\",o=t.val,s=t.pos,l=!!s.rangebreaks,u=n.bPos,c=n.wdPos||0,f=n.bPosPxOffset||0,h=r.whiskerwidth||0,d=r.showwhiskers!==!1,v=r.notched||!1,x=v?1-2*r.notchwidth:1,b,p;Array.isArray(n.bdPos)?(b=n.bdPos[0],p=n.bdPos[1]):(b=n.bdPos,p=n.bdPos);var E=e.selectAll(\"path.box\").data(r.type!==\"violin\"||r.box.visible?n2.identity:[]);E.enter().append(\"path\").style(\"vector-effect\",i?\"none\":\"non-scaling-stroke\").attr(\"class\",\"box\"),E.exit().remove(),E.each(function(k){if(k.empty)return MT.select(this).attr(\"d\",\"M0,0Z\");var A=s.c2l(k.pos+u,!0),L=s.l2p(A-b)+f,_=s.l2p(A+p)+f,C=l?(L+_)/2:s.l2p(A)+f,M=r.whiskerwidth,g=l?L*M+(1-M)*C:s.l2p(A-c)+f,P=l?_*M+(1-M)*C:s.l2p(A+c)+f,T=s.l2p(A-b*x)+f,F=s.l2p(A+p*x)+f,q=r.sizemode===\"sd\",V=o.c2p(q?k.mean-k.sd:k.q1,!0),H=q?o.c2p(k.mean+k.sd,!0):o.c2p(k.q3,!0),X=n2.constrain(q?o.c2p(k.mean,!0):o.c2p(k.med,!0),Math.min(V,H)+1,Math.max(V,H)-1),G=k.lf===void 0||r.boxpoints===!1||q,N=o.c2p(G?k.min:k.lf,!0),W=o.c2p(G?k.max:k.uf,!0),re=o.c2p(k.ln,!0),ae=o.c2p(k.un,!0);a?MT.select(this).attr(\"d\",\"M\"+X+\",\"+T+\"V\"+F+\"M\"+V+\",\"+L+\"V\"+_+(v?\"H\"+re+\"L\"+X+\",\"+F+\"L\"+ae+\",\"+_:\"\")+\"H\"+H+\"V\"+L+(v?\"H\"+ae+\"L\"+X+\",\"+T+\"L\"+re+\",\"+L:\"\")+\"Z\"+(d?\"M\"+V+\",\"+C+\"H\"+N+\"M\"+H+\",\"+C+\"H\"+W+(h===0?\"\":\"M\"+N+\",\"+g+\"V\"+P+\"M\"+W+\",\"+g+\"V\"+P):\"\")):MT.select(this).attr(\"d\",\"M\"+T+\",\"+X+\"H\"+F+\"M\"+L+\",\"+V+\"H\"+_+(v?\"V\"+re+\"L\"+F+\",\"+X+\"L\"+_+\",\"+ae:\"\")+\"V\"+H+\"H\"+L+(v?\"V\"+ae+\"L\"+T+\",\"+X+\"L\"+L+\",\"+re:\"\")+\"Z\"+(d?\"M\"+C+\",\"+V+\"V\"+N+\"M\"+C+\",\"+H+\"V\"+W+(h===0?\"\":\"M\"+g+\",\"+N+\"H\"+P+\"M\"+g+\",\"+W+\"H\"+P):\"\"))})}function b1e(e,t,r,n){var i=t.x,a=t.y,o=n.bdPos,s=n.bPos,l=r.boxpoints||r.points;n2.seedPseudoRandom();var u=function(h){return h.forEach(function(d){d.t=n,d.trace=r}),h},c=e.selectAll(\"g.points\").data(l?u:[]);c.enter().append(\"g\").attr(\"class\",\"points\"),c.exit().remove();var f=c.selectAll(\"path\").data(function(h){var d,v=h.pts2,x=Math.max((h.max-h.min)/10,h.q3-h.q1),b=x*1e-9,p=x*i1t,E=[],k=0,A;if(r.jitter){if(x===0)for(k=1,E=new Array(v.length),d=0;d<v.length;d++)E[d]=1;else for(d=0;d<v.length;d++){var L=Math.max(0,d-_1e),_=v[L].v,C=Math.min(v.length-1,d+_1e),M=v[C].v;l!==\"all\"&&(v[d].v<h.lf?M=Math.min(M,h.lf):_=Math.max(_,h.uf));var g=Math.sqrt(p*(C-L)/(M-_+b))||0;g=n2.constrain(Math.abs(g),0,1),E.push(g),k=Math.max(g,k)}A=r.jitter*2/(k||1)}for(d=0;d<v.length;d++){var P=v[d],T=P.v,F=r.jitter?A*E[d]*(n2.pseudoRandom()-.5):0,q=h.pos+s+o*(r.pointpos+F);r.orientation===\"h\"?(P.y=q,P.x=T):(P.x=q,P.y=T),l===\"suspectedoutliers\"&&T<h.uo&&T>h.lo&&(P.so=!0)}return v});f.enter().append(\"path\").classed(\"point\",!0),f.exit().remove(),f.call(r1t.translatePoints,i,a)}function w1e(e,t,r,n){var i=t.val,a=t.pos,o=!!a.rangebreaks,s=n.bPos,l=n.bPosPxOffset||0,u=r.boxmean||(r.meanline||{}).visible,c,f;Array.isArray(n.bdPos)?(c=n.bdPos[0],f=n.bdPos[1]):(c=n.bdPos,f=n.bdPos);var h=e.selectAll(\"path.mean\").data(r.type===\"box\"&&r.boxmean||r.type===\"violin\"&&r.box.visible&&r.meanline.visible?n2.identity:[]);h.enter().append(\"path\").attr(\"class\",\"mean\").style({fill:\"none\",\"vector-effect\":\"non-scaling-stroke\"}),h.exit().remove(),h.each(function(d){var v=a.c2l(d.pos+s,!0),x=a.l2p(v-c)+l,b=a.l2p(v+f)+l,p=o?(x+b)/2:a.l2p(v)+l,E=i.c2p(d.mean,!0),k=i.c2p(d.mean-d.sd,!0),A=i.c2p(d.mean+d.sd,!0);r.orientation===\"h\"?MT.select(this).attr(\"d\",\"M\"+E+\",\"+x+\"V\"+b+(u===\"sd\"?\"m0,0L\"+k+\",\"+p+\"L\"+E+\",\"+x+\"L\"+A+\",\"+p+\"Z\":\"\")):MT.select(this).attr(\"d\",\"M\"+x+\",\"+E+\"H\"+b+(u===\"sd\"?\"m0,0L\"+p+\",\"+k+\"L\"+x+\",\"+E+\"L\"+p+\",\"+A+\"Z\":\"\"))})}T1e.exports={plot:n1t,plotBoxAndWhiskers:x1e,plotPoints:b1e,plotBoxMean:w1e}});var WI=ye((Gor,A1e)=>{\"use strict\";var EV=xa(),kV=va(),CV=ao();function a1t(e,t,r){var n=r||EV.select(e).selectAll(\"g.trace.boxes\");n.style(\"opacity\",function(i){return i[0].trace.opacity}),n.each(function(i){var a=EV.select(this),o=i[0].trace,s=o.line.width;function l(f,h,d,v){f.style(\"stroke-width\",h+\"px\").call(kV.stroke,d).call(kV.fill,v)}var u=a.selectAll(\"path.box\");if(o.type===\"candlestick\")u.each(function(f){if(!f.empty){var h=EV.select(this),d=o[f.dir];l(h,d.line.width,d.line.color,d.fillcolor),h.style(\"opacity\",o.selectedpoints&&!f.selected?.3:1)}});else{l(u,s,o.line.color,o.fillcolor),a.selectAll(\"path.mean\").style({\"stroke-width\":s,\"stroke-dasharray\":2*s+\"px,\"+s+\"px\"}).call(kV.stroke,o.line.color);var c=a.selectAll(\"path.point\");CV.pointStyle(c,o,e)}})}function o1t(e,t,r){var n=t[0].trace,i=r.selectAll(\"path.point\");n.selectedpoints?CV.selectedPointStyle(i,n):CV.pointStyle(i,n,e)}A1e.exports={style:a1t,styleOnSelect:o1t}});var PV=ye((jor,k1e)=>{\"use strict\";var s1t=Qa(),LV=Mr(),S_=Nc(),S1e=va(),l1t=LV.fillText;function u1t(e,t,r,n){var i=e.cd,a=i[0].trace,o=a.hoveron,s=[],l;return o.indexOf(\"boxes\")!==-1&&(s=s.concat(M1e(e,t,r,n))),o.indexOf(\"points\")!==-1&&(l=E1e(e,t,r)),n===\"closest\"?l?[l]:s:(l&&s.push(l),s)}function M1e(e,t,r,n){var i=e.cd,a=e.xa,o=e.ya,s=i[0].trace,l=i[0].t,u=s.type===\"violin\",c,f,h,d,v,x,b,p,E,k,A,L=l.bdPos,_,C,M=l.wHover,g=function(Ce){return h.c2l(Ce.pos)+l.bPos-h.c2l(x)};u&&s.side!==\"both\"?(s.side===\"positive\"&&(E=function(Ce){var me=g(Ce);return S_.inbox(me,me+M,k)},_=L,C=0),s.side===\"negative\"&&(E=function(Ce){var me=g(Ce);return S_.inbox(me-M,me,k)},_=0,C=L)):(E=function(Ce){var me=g(Ce);return S_.inbox(me-M,me+M,k)},_=C=L);var P;u?P=function(Ce){return S_.inbox(Ce.span[0]-v,Ce.span[1]-v,k)}:P=function(Ce){return S_.inbox(Ce.min-v,Ce.max-v,k)},s.orientation===\"h\"?(v=t,x=r,b=P,p=E,c=\"y\",h=o,f=\"x\",d=a):(v=r,x=t,b=E,p=P,c=\"x\",h=a,f=\"y\",d=o);var T=Math.min(1,L/Math.abs(h.r2c(h.range[1])-h.r2c(h.range[0])));k=e.maxHoverDistance-T,A=e.maxSpikeDistance-T;function F(Ce){return(b(Ce)+p(Ce))/2}var q=S_.getDistanceFunction(n,b,p,F);if(S_.getClosest(i,q,e),e.index===!1)return[];var V=i[e.index],H=s.line.color,X=(s.marker||{}).color;S1e.opacity(H)&&s.line.width?e.color=H:S1e.opacity(X)&&s.boxpoints?e.color=X:e.color=s.fillcolor,e[c+\"0\"]=h.c2p(V.pos+l.bPos-C,!0),e[c+\"1\"]=h.c2p(V.pos+l.bPos+_,!0),e[c+\"LabelVal\"]=V.orig_p!==void 0?V.orig_p:V.pos;var G=c+\"Spike\";e.spikeDistance=F(V)*A/k,e[G]=h.c2p(V.pos,!0);var N=s.boxmean||s.sizemode===\"sd\"||(s.meanline||{}).visible,W=s.boxpoints||s.points,re=W&&N?[\"max\",\"uf\",\"q3\",\"med\",\"mean\",\"q1\",\"lf\",\"min\"]:W&&!N?[\"max\",\"uf\",\"q3\",\"med\",\"q1\",\"lf\",\"min\"]:!W&&N?[\"max\",\"q3\",\"med\",\"mean\",\"q1\",\"min\"]:[\"max\",\"q3\",\"med\",\"q1\",\"min\"],ae=d.range[1]<d.range[0];s.orientation===(ae?\"v\":\"h\")&&re.reverse();for(var _e=e.spikeDistance,Me=e[G],ke=[],ge=0;ge<re.length;ge++){var ie=re[ge];if(ie in V){var Te=V[ie],Ee=d.c2p(Te,!0),Ae=LV.extendFlat({},e);Ae.attr=ie,Ae[f+\"0\"]=Ae[f+\"1\"]=Ee,Ae[f+\"LabelVal\"]=Te,Ae[f+\"Label\"]=(l.labels?l.labels[ie]+\" \":\"\")+s1t.hoverLabelText(d,Te,s[f+\"hoverformat\"]),Ae.hoverOnBox=!0,ie===\"mean\"&&\"sd\"in V&&(s.boxmean===\"sd\"||s.sizemode===\"sd\")&&(Ae[f+\"err\"]=V.sd),Ae.hovertemplate=!1,ke.push(Ae)}}e.name=\"\",e.spikeDistance=void 0,e[G]=void 0;for(var ze=0;ze<ke.length;ze++)ke[ze].attr!==\"med\"?(ke[ze].name=\"\",ke[ze].spikeDistance=void 0,ke[ze][G]=void 0):(ke[ze].spikeDistance=_e,ke[ze][G]=Me);return ke}function E1e(e,t,r){for(var n=e.cd,i=e.xa,a=e.ya,o=n[0].trace,s=i.c2p(t),l=a.c2p(r),u,c=function(P){var T=Math.max(3,P.mrc||0);return Math.max(Math.abs(i.c2p(P.x)-s)-T,1-3/T)},f=function(P){var T=Math.max(3,P.mrc||0);return Math.max(Math.abs(a.c2p(P.y)-l)-T,1-3/T)},h=S_.quadrature(c,f),d=!1,v,x,b=0;b<n.length;b++){v=n[b];for(var p=0;p<(v.pts||[]).length;p++){x=v.pts[p];var E=h(x);E<=e.distance&&(e.distance=E,d=[b,p])}}if(!d)return!1;v=n[d[0]],x=v.pts[d[1]];var k=i.c2p(x.x,!0),A=a.c2p(x.y,!0),L=x.mrc||1;u=LV.extendFlat({},e,{index:x.i,color:(o.marker||{}).color,name:o.name,x0:k-L,x1:k+L,y0:A-L,y1:A+L,spikeDistance:e.distance,hovertemplate:o.hovertemplate});var _=v.orig_p,C=_!==void 0?_:v.pos,M;o.orientation===\"h\"?(M=a,u.xLabelVal=x.x,u.yLabelVal=C):(M=i,u.xLabelVal=C,u.yLabelVal=x.y);var g=M._id.charAt(0);return u[g+\"Spike\"]=M.c2p(v.pos,!0),l1t(x,o,u),u}k1e.exports={hoverPoints:u1t,hoverOnBoxes:M1e,hoverOnPoints:E1e}});var L1e=ye((Wor,C1e)=>{\"use strict\";C1e.exports=function(t,r){return r.hoverOnBox&&(t.hoverOnBox=r.hoverOnBox),\"xVal\"in r&&(t.x=r.xVal),\"yVal\"in r&&(t.y=r.yVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var IV=ye((Zor,P1e)=>{\"use strict\";P1e.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l;if(r===!1)for(s=0;s<n.length;s++)for(l=0;l<(n[s].pts||[]).length;l++)n[s].pts[l].selected=0;else for(s=0;s<n.length;s++)for(l=0;l<(n[s].pts||[]).length;l++){var u=n[s].pts[l],c=i.c2p(u.x),f=a.c2p(u.y);r.contains([c,f],null,u.i,t)?(o.push({pointNumber:u.i,x:i.c2d(u.x),y:a.c2d(u.y)}),u.selected=1):u.selected=0}return o}});var R1e=ye((Xor,I1e)=>{\"use strict\";I1e.exports={attributes:v4(),layoutAttributes:p4(),supplyDefaults:m4().supplyDefaults,crossTraceDefaults:m4().crossTraceDefaults,supplyLayoutDefaults:VI().supplyLayoutDefaults,calc:MV(),crossTraceCalc:GI().crossTraceCalc,plot:jI().plot,style:WI().style,styleOnSelect:WI().styleOnSelect,hoverPoints:PV().hoverPoints,eventData:L1e(),selectPoints:IV(),moduleType:\"trace\",name:\"box\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\",\"boxLayout\",\"zoomScale\"],meta:{}}});var z1e=ye((Yor,D1e)=>{\"use strict\";D1e.exports=R1e()});var ET=ye((Kor,F1e)=>{\"use strict\";var n0=Uc(),c1t=vl(),f1t=Su(),RV=Oc().axisHoverFormat,h1t=Wo().hovertemplateAttrs,d1t=Wo().texttemplateAttrs,v1t=Jl(),Pp=no().extendFlat;F1e.exports=Pp({z:{valType:\"data_array\",editType:\"calc\"},x:Pp({},n0.x,{impliedEdits:{xtype:\"array\"}}),x0:Pp({},n0.x0,{impliedEdits:{xtype:\"scaled\"}}),dx:Pp({},n0.dx,{impliedEdits:{xtype:\"scaled\"}}),y:Pp({},n0.y,{impliedEdits:{ytype:\"array\"}}),y0:Pp({},n0.y0,{impliedEdits:{ytype:\"scaled\"}}),dy:Pp({},n0.dy,{impliedEdits:{ytype:\"scaled\"}}),xperiod:Pp({},n0.xperiod,{impliedEdits:{xtype:\"scaled\"}}),yperiod:Pp({},n0.yperiod,{impliedEdits:{ytype:\"scaled\"}}),xperiod0:Pp({},n0.xperiod0,{impliedEdits:{xtype:\"scaled\"}}),yperiod0:Pp({},n0.yperiod0,{impliedEdits:{ytype:\"scaled\"}}),xperiodalignment:Pp({},n0.xperiodalignment,{impliedEdits:{xtype:\"scaled\"}}),yperiodalignment:Pp({},n0.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:RV(\"x\"),yhoverformat:RV(\"y\"),zhoverformat:RV(\"z\",1),hovertemplate:h1t(),texttemplate:d1t({arrayOk:!1,editType:\"plot\"},{keys:[\"x\",\"y\",\"z\",\"text\"]}),textfont:f1t({editType:\"plot\",autoSize:!0,autoColor:!0,colorEditType:\"style\"}),showlegend:Pp({},c1t.showlegend,{dflt:!1}),zorder:n0.zorder},v1t(\"\",{cLetter:\"z\",autoColorDflt:!1}))});var XI=ye((Jor,O1e)=>{\"use strict\";var p1t=uo(),ZI=Mr(),g1t=ba();O1e.exports=function(t,r,n,i,a,o){var s=n(\"z\");a=a||\"x\",o=o||\"y\";var l,u;if(s===void 0||!s.length)return 0;if(ZI.isArray1D(s)){l=n(a),u=n(o);var c=ZI.minRowLength(l),f=ZI.minRowLength(u);if(c===0||f===0)return 0;r._length=Math.min(c,f,s.length)}else{if(l=q1e(a,n),u=q1e(o,n),!m1t(s))return 0;n(\"transpose\"),r._length=null}var h=g1t.getComponentMethod(\"calendars\",\"handleTraceDefaults\");return h(t,r,[a,o],i),!0};function q1e(e,t){var r=t(e),n=r?t(e+\"type\",\"array\"):\"scaled\";return n===\"scaled\"&&(t(e+\"0\"),t(\"d\"+e)),r}function m1t(e){for(var t=!0,r=!1,n=!1,i,a=0;a<e.length;a++){if(i=e[a],!ZI.isArrayOrTypedArray(i)){t=!1;break}i.length>0&&(r=!0);for(var o=0;o<i.length;o++)if(p1t(i[o])){n=!0;break}}return t&&r&&n}});var y4=ye(($or,N1e)=>{\"use strict\";var B1e=Mr();N1e.exports=function(t,r){t(\"texttemplate\");var n=B1e.extendFlat({},r.font,{color:\"auto\",size:\"auto\"});B1e.coerceFont(t,\"textfont\",n)}});var DV=ye((Qor,U1e)=>{\"use strict\";U1e.exports=function(t,r,n){var i=n(\"zsmooth\");i===!1&&(n(\"xgap\"),n(\"ygap\")),n(\"zhoverformat\")}});var G1e=ye((esr,H1e)=>{\"use strict\";var V1e=Mr(),y1t=XI(),_1t=y4(),x1t=Pg(),b1t=DV(),w1t=Uh(),T1t=ET();H1e.exports=function(t,r,n,i){function a(s,l){return V1e.coerce(t,r,T1t,s,l)}var o=y1t(t,r,a,i);if(!o){r.visible=!1;return}x1t(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),_1t(a,i),b1t(t,r,a,i),a(\"hoverongaps\"),a(\"connectgaps\",V1e.isArray1D(r.z)&&r.zsmooth!==!1),w1t(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),a(\"zorder\")}});var zV=ye((tsr,j1e)=>{\"use strict\";var kT=uo();j1e.exports={count:function(e,t,r){return r[e]++,1},sum:function(e,t,r,n){var i=n[t];return kT(i)?(i=Number(i),r[e]+=i,i):0},avg:function(e,t,r,n,i){var a=n[t];return kT(a)&&(a=Number(a),r[e]+=a,i[e]++),0},min:function(e,t,r,n){var i=n[t];if(kT(i))if(i=Number(i),kT(r[e])){if(r[e]>i){var a=i-r[e];return r[e]=i,a}}else return r[e]=i,i;return 0},max:function(e,t,r,n){var i=n[t];if(kT(i))if(i=Number(i),kT(r[e])){if(r[e]<i){var a=i-r[e];return r[e]=i,a}}else return r[e]=i,i;return 0}}});var FV=ye((rsr,W1e)=>{\"use strict\";W1e.exports={percent:function(e,t){for(var r=e.length,n=100/t,i=0;i<r;i++)e[i]*=n},probability:function(e,t){for(var r=e.length,n=0;n<r;n++)e[n]/=t},density:function(e,t,r,n){var i=e.length;n=n||1;for(var a=0;a<i;a++)e[a]*=r[a]*n},\"probability density\":function(e,t,r,n){var i=e.length;n&&(t/=n);for(var a=0;a<i;a++)e[a]*=r[a]/t}}});var qV=ye((isr,Z1e)=>{\"use strict\";Z1e.exports=function(t,r){for(var n=t.length,i=0,a=0;a<n;a++)r[a]?(t[a]/=r[a],i+=t[a]):t[a]=null;return i}});var OV=ye((nsr,t_e)=>{\"use strict\";var CT=es(),a2=CT.ONEAVGYEAR,X1e=CT.ONEAVGMONTH,KI=CT.ONEDAY,Y1e=CT.ONEHOUR,K1e=CT.ONEMIN,J1e=CT.ONESEC,$1e=Qa().tickIncrement;t_e.exports=function(t,r,n,i,a){var o=-1.1*r,s=-.1*r,l=t-s,u=n[0],c=n[1],f=Math.min(YI(u+s,u+l,i,a),YI(c+s,c+l,i,a)),h=Math.min(YI(u+o,u+s,i,a),YI(c+o,c+s,i,a)),d,v;if(f>h&&h<Math.abs(c-u)/4e3?(d=f,v=!1):(d=Math.min(f,h),v=!0),i.type===\"date\"&&d>KI){var x=d===a2?1:6,b=d===a2?\"M12\":\"M1\";return function(p,E){var k=i.c2d(p,a2,a),A=k.indexOf(\"-\",x);A>0&&(k=k.substr(0,A));var L=i.d2c(k,0,a);if(L<p){var _=$1e(L,b,!1,a);(L+_)/2<p+t&&(L=_)}return E&&v?$1e(L,b,!0,a):L}}return function(p,E){var k=d*Math.round(p/d);return k+d/10<p&&k+d*.9<p+t&&(k+=d),E&&v&&(k-=d),k}};function YI(e,t,r,n){if(e*t<=0)return 1/0;for(var i=Math.abs(t-e),a=r.type===\"date\",o=Q1e(i,a),s=0;s<10;s++){var l=Q1e(o*80,a);if(o===l)break;if(A1t(l,e,t,a,r,n))o=l;else break}return o}function Q1e(e,t){return t&&e>J1e?e>KI?e>a2*1.1?a2:e>X1e*1.1?X1e:KI:e>Y1e?Y1e:e>K1e?K1e:J1e:Math.pow(10,Math.floor(Math.log(e)/Math.LN10))}function A1t(e,t,r,n,i,a){if(n&&e>KI){var o=e_e(t,i,a),s=e_e(r,i,a),l=e===a2?0:1;return o[l]!==s[l]}return Math.floor(r/e)-Math.floor(t/e)>.1}function e_e(e,t,r){var n=t.c2d(e,a2,r).split(\"-\");return n[0]===\"\"&&(n.unshift(),n[0]=\"-\"+n[0]),n}});var UV=ye((asr,n_e)=>{\"use strict\";var BV=uo(),Vv=Mr(),r_e=ba(),H0=Qa(),S1t=c4(),i_e=zV(),M1t=FV(),E1t=qV(),k1t=OV();function C1t(e,t){var r=[],n=[],i=t.orientation===\"h\",a=H0.getFromId(e,i?t.yaxis:t.xaxis),o=i?\"y\":\"x\",s={x:\"y\",y:\"x\"}[o],l=t[o+\"calendar\"],u=t.cumulative,c,f=NV(e,t,a,o),h=f[0],d=f[1],v=typeof h.size==\"string\",x=[],b=v?x:h,p=[],E=[],k=[],A=0,L=t.histnorm,_=t.histfunc,C=L.indexOf(\"density\")!==-1,M,g,P;u.enabled&&C&&(L=L.replace(/ ?density$/,\"\"),C=!1);var T=_===\"max\"||_===\"min\",F=T?null:0,q=i_e.count,V=M1t[L],H=!1,X=function(me){return a.r2c(me,0,l)},G;for(Vv.isArrayOrTypedArray(t[s])&&_!==\"count\"&&(G=t[s],H=_===\"avg\",q=i_e[_]),c=X(h.start),g=X(h.end)+(c-H0.tickIncrement(c,h.size,!1,l))/1e6;c<g&&r.length<1e6&&(M=H0.tickIncrement(c,h.size,!1,l),r.push((c+M)/2),n.push(F),k.push([]),x.push(c),C&&p.push(1/(M-c)),H&&E.push(0),!(M<=c));)c=M;x.push(c),!v&&a.type===\"date\"&&(b={start:X(b.start),end:X(b.end),size:b.size}),e._fullLayout._roundFnOpts||(e._fullLayout._roundFnOpts={});var N=t[\"_\"+o+\"bingroup\"],W={leftGap:1/0,rightGap:1/0};N&&(e._fullLayout._roundFnOpts[N]||(e._fullLayout._roundFnOpts[N]=W),W=e._fullLayout._roundFnOpts[N]);var re=n.length,ae=!0,_e=W.leftGap,Me=W.rightGap,ke={};for(c=0;c<d.length;c++){var ge=d[c];P=Vv.findBin(ge,b),P>=0&&P<re&&(A+=q(P,c,n,G,E),ae&&k[P].length&&ge!==d[k[P][0]]&&(ae=!1),k[P].push(c),ke[c]=P,_e=Math.min(_e,ge-x[P]),Me=Math.min(Me,x[P+1]-ge))}W.leftGap=_e,W.rightGap=Me;var ie;ae||(ie=function(me,Re){return function(){var ce=e._fullLayout._roundFnOpts[N];return k1t(ce.leftGap,ce.rightGap,x,a,l)(me,Re)}}),H&&(A=E1t(n,E)),V&&V(n,A,p),u.enabled&&I1t(n,u.direction,u.currentbin);var Te=Math.min(r.length,n.length),Ee=[],Ae=0,ze=Te-1;for(c=0;c<Te;c++)if(n[c]){Ae=c;break}for(c=Te-1;c>=Ae;c--)if(n[c]){ze=c;break}for(c=Ae;c<=ze;c++)if(BV(r[c])&&BV(n[c])){var Ce={p:r[c],s:n[c],b:0};u.enabled||(Ce.pts=k[c],ae?Ce.ph0=Ce.ph1=k[c].length?d[k[c][0]]:r[c]:(t._computePh=!0,Ce.ph0=ie(x[c]),Ce.ph1=ie(x[c+1],!0))),Ee.push(Ce)}return Ee.length===1&&(Ee[0].width1=H0.tickIncrement(Ee[0].p,h.size,!1,l)-Ee[0].p),S1t(Ee,t),Vv.isArrayOrTypedArray(t.selectedpoints)&&Vv.tagSelected(Ee,t,ke),Ee}function NV(e,t,r,n,i){var a=n+\"bins\",o=e._fullLayout,s=t[\"_\"+n+\"bingroup\"],l=o._histogramBinOpts[s],u=o.barmode===\"overlay\",c,f,h,d,v,x,b,p=function(ge){return r.r2c(ge,0,d)},E=function(ge){return r.c2r(ge,0,d)},k=r.type===\"date\"?function(ge){return ge||ge===0?Vv.cleanDate(ge,null,d):null}:function(ge){return BV(ge)?Number(ge):null};function A(ge,ie,Te){ie[ge+\"Found\"]?(ie[ge]=k(ie[ge]),ie[ge]===null&&(ie[ge]=Te[ge])):(x[ge]=ie[ge]=Te[ge],Vv.nestedProperty(f[0],a+\".\"+ge).set(Te[ge]))}if(t[\"_\"+n+\"autoBinFinished\"])delete t[\"_\"+n+\"autoBinFinished\"];else{f=l.traces;var L=[],_=!0,C=!1,M=!1;for(c=0;c<f.length;c++)if(h=f[c],h.visible){var g=l.dirs[c];v=h[\"_\"+g+\"pos0\"]=r.makeCalcdata(h,g),L=Vv.concat(L,v),delete h[\"_\"+n+\"autoBinFinished\"],t.visible===!0&&(_?_=!1:(delete h._autoBin,h[\"_\"+n+\"autoBinFinished\"]=1),r_e.traceIs(h,\"2dMap\")&&(C=!0),h.type===\"histogram2dcontour\"&&(M=!0))}d=f[0][n+\"calendar\"];var P=H0.autoBin(L,r,l.nbins,C,d,l.sizeFound&&l.size),T=f[0]._autoBin={};if(x=T[l.dirs[0]]={},M&&(l.size||(P.start=E(H0.tickIncrement(p(P.start),P.size,!0,d))),l.end===void 0&&(P.end=E(H0.tickIncrement(p(P.end),P.size,!1,d)))),u&&!r_e.traceIs(t,\"2dMap\")&&P._dataSpan===0&&r.type!==\"category\"&&r.type!==\"multicategory\"&&t.bingroup===\"\"&&typeof t.xbins==\"undefined\"){if(i)return[P,v,!0];P=L1t(e,t,r,n,a)}b=h.cumulative||{},b.enabled&&b.currentbin!==\"include\"&&(b.direction===\"decreasing\"?P.start=E(H0.tickIncrement(p(P.start),P.size,!0,d)):P.end=E(H0.tickIncrement(p(P.end),P.size,!1,d))),l.size=P.size,l.sizeFound||(x.size=P.size,Vv.nestedProperty(f[0],a+\".size\").set(P.size)),A(\"start\",l,P),A(\"end\",l,P)}v=t[\"_\"+n+\"pos0\"],delete t[\"_\"+n+\"pos0\"];var F=t._input[a]||{},q=Vv.extendFlat({},l),V=l.start,H=r.r2l(F.start),X=H!==void 0;if((l.startFound||X)&&H!==r.r2l(V)){var G=X?H:Vv.aggNums(Math.min,null,v),N={type:r.type===\"category\"||r.type===\"multicategory\"?\"linear\":r.type,r2l:r.r2l,dtick:l.size,tick0:V,calendar:d,range:[G,H0.tickIncrement(G,l.size,!1,d)].map(r.l2r)},W=H0.tickFirst(N);W>r.r2l(G)&&(W=H0.tickIncrement(W,l.size,!0,d)),q.start=r.l2r(W),X||Vv.nestedProperty(t,a+\".start\").set(q.start)}var re=l.end,ae=r.r2l(F.end),_e=ae!==void 0;if((l.endFound||_e)&&ae!==r.r2l(re)){var Me=_e?ae:Vv.aggNums(Math.max,null,v);q.end=r.l2r(Me),_e||Vv.nestedProperty(t,a+\".start\").set(q.end)}var ke=\"autobin\"+n;return t._input[ke]===!1&&(t._input[a]=Vv.extendFlat({},t[a]||{}),delete t._input[ke],delete t[ke]),[q,v]}function L1t(e,t,r,n,i){var a=e._fullLayout,o=P1t(e,t),s=!1,l=1/0,u=[t],c,f,h;for(c=0;c<o.length;c++)if(f=o[c],f===t)s=!0;else if(!s)h=a._histogramBinOpts[f[\"_\"+n+\"bingroup\"]],l=Math.min(l,h.size||f[i].size);else{var d=NV(e,f,r,n,!0),v=d[0],x=d[2];f[\"_\"+n+\"autoBinFinished\"]=1,f[\"_\"+n+\"pos0\"]=d[1],x?u.push(f):l=Math.min(l,v.size)}var b=new Array(u.length);for(c=0;c<u.length;c++)for(var p=u[c][\"_\"+n+\"pos0\"],E=0;E<p.length;E++)if(p[E]!==void 0){b[c]=p[E];break}for(isFinite(l)||(l=Vv.distinctVals(b).minDiff),c=0;c<u.length;c++){f=u[c];var k=f[n+\"calendar\"],A={start:r.c2r(b[c]-l/2,0,k),end:r.c2r(b[c]+l/2,0,k),size:l};f._input[i]=f[i]=A,h=a._histogramBinOpts[f[\"_\"+n+\"bingroup\"]],h&&Vv.extendFlat(h,A)}return t[i]}function P1t(e,t){for(var r=t.xaxis,n=t.yaxis,i=t.orientation,a=[],o=e._fullData,s=0;s<o.length;s++){var l=o[s];l.type===\"histogram\"&&l.visible===!0&&l.orientation===i&&l.xaxis===r&&l.yaxis===n&&a.push(l)}return a}function I1t(e,t,r){var n,i,a;function o(l){a=e[l],e[l]/=2}function s(l){i=e[l],e[l]=a+i/2,a+=i}if(r===\"half\")if(t===\"increasing\")for(o(0),n=1;n<e.length;n++)s(n);else for(o(e.length-1),n=e.length-2;n>=0;n--)s(n);else if(t===\"increasing\"){for(n=1;n<e.length;n++)e[n]+=e[n-1];r===\"exclude\"&&(e.unshift(0),e.pop())}else{for(n=e.length-2;n>=0;n--)e[n]+=e[n+1];r===\"exclude\"&&(e.push(0),e.shift())}}n_e.exports={calc:C1t,calcAllAutoBins:NV}});var h_e=ye((osr,f_e)=>{\"use strict\";var a_e=Mr(),LT=Qa(),o_e=zV(),R1t=FV(),D1t=qV(),z1t=OV(),s_e=UV().calcAllAutoBins;f_e.exports=function(t,r){var n=LT.getFromId(t,r.xaxis),i=LT.getFromId(t,r.yaxis),a=r.xcalendar,o=r.ycalendar,s=function(Et){return n.r2c(Et,0,a)},l=function(Et){return i.r2c(Et,0,o)},u=function(Et){return n.c2r(Et,0,a)},c=function(Et){return i.c2r(Et,0,o)},f,h,d,v,x=s_e(t,r,n,\"x\"),b=x[0],p=x[1],E=s_e(t,r,i,\"y\"),k=E[0],A=E[1],L=r._length;p.length>L&&p.splice(L,p.length-L),A.length>L&&A.splice(L,A.length-L);var _=[],C=[],M=[],g=typeof b.size==\"string\",P=typeof k.size==\"string\",T=[],F=[],q=g?T:b,V=P?F:k,H=0,X=[],G=[],N=r.histnorm,W=r.histfunc,re=N.indexOf(\"density\")!==-1,ae=W===\"max\"||W===\"min\",_e=ae?null:0,Me=o_e.count,ke=R1t[N],ge=!1,ie=[],Te=[],Ee=\"z\"in r?r.z:\"marker\"in r&&Array.isArray(r.marker.color)?r.marker.color:\"\";Ee&&W!==\"count\"&&(ge=W===\"avg\",Me=o_e[W]);var Ae=b.size,ze=s(b.start),Ce=s(b.end)+(ze-LT.tickIncrement(ze,Ae,!1,a))/1e6;for(f=ze;f<Ce;f=LT.tickIncrement(f,Ae,!1,a))C.push(_e),T.push(f),ge&&M.push(0);T.push(f);var me=C.length,Re=(f-ze)/me,ce=u(ze+Re/2),Ge=k.size,nt=l(k.start),ct=l(k.end)+(nt-LT.tickIncrement(nt,Ge,!1,o))/1e6;for(f=nt;f<ct;f=LT.tickIncrement(f,Ge,!1,o)){_.push(C.slice()),F.push(f);var qt=new Array(me);for(h=0;h<me;h++)qt[h]=[];G.push(qt),ge&&X.push(M.slice())}F.push(f);var rt=_.length,ot=(f-nt)/rt,Rt=c(nt+ot/2);re&&(ie=l_e(C.length,q,Re,g),Te=l_e(_.length,V,ot,P)),!g&&n.type===\"date\"&&(q=u_e(s,q)),!P&&i.type===\"date\"&&(V=u_e(l,V));var kt=!0,Ct=!0,Yt=new Array(me),xr=new Array(rt),er=1/0,Ke=1/0,xt=1/0,bt=1/0;for(f=0;f<L;f++){var Lt=p[f],St=A[f];d=a_e.findBin(Lt,q),v=a_e.findBin(St,V),d>=0&&d<me&&v>=0&&v<rt&&(H+=Me(d,f,_[v],Ee,X[v]),G[v][d].push(f),kt&&(Yt[d]===void 0?Yt[d]=Lt:Yt[d]!==Lt&&(kt=!1)),Ct&&(xr[v]===void 0?xr[v]=St:xr[v]!==St&&(Ct=!1)),er=Math.min(er,Lt-T[d]),Ke=Math.min(Ke,T[d+1]-Lt),xt=Math.min(xt,St-F[v]),bt=Math.min(bt,F[v+1]-St))}if(ge)for(v=0;v<rt;v++)H+=D1t(_[v],X[v]);if(ke)for(v=0;v<rt;v++)ke(_[v],H,ie,Te[v]);return{x:p,xRanges:c_e(T,kt&&Yt,er,Ke,n,a),x0:ce,dx:Re,y:A,yRanges:c_e(F,Ct&&xr,xt,bt,i,o),y0:Rt,dy:ot,z:_,pts:G}};function l_e(e,t,r,n){var i=new Array(e),a;if(n)for(a=0;a<e;a++)i[a]=1/(t[a+1]-t[a]);else{var o=1/r;for(a=0;a<e;a++)i[a]=o}return i}function u_e(e,t){return{start:e(t.start),end:e(t.end),size:t.size}}function c_e(e,t,r,n,i,a){var o,s=e.length-1,l=new Array(s),u=z1t(r,n,e,i,a);for(o=0;o<s;o++){var c=(t||[])[o];l[o]=c===void 0?[u(e[o]),u(e[o+1],!0)]:[c,c]}return l}});var JI=ye((ssr,p_e)=>{\"use strict\";var Im=Mr(),d_e=es().BADNUM,v_e=Rg();p_e.exports=function(t,r,n,i,a,o){var s=t._length,l=r.makeCalcdata(t,i),u=n.makeCalcdata(t,a);l=v_e(t,r,i,l).vals,u=v_e(t,n,a,u).vals;var c=t.text,f=c!==void 0&&Im.isArray1D(c),h=t.hovertext,d=h!==void 0&&Im.isArray1D(h),v,x,b=Im.distinctVals(l),p=b.vals,E=Im.distinctVals(u),k=E.vals,A=[],L,_,C=k.length,M=p.length;for(v=0;v<o.length;v++)A[v]=Im.init2dArray(C,M);f&&(L=Im.init2dArray(C,M)),d&&(_=Im.init2dArray(C,M));var g=Im.init2dArray(C,M);for(v=0;v<s;v++)if(l[v]!==d_e&&u[v]!==d_e){var P=Im.findBin(l[v]+b.minDiff/2,p),T=Im.findBin(u[v]+E.minDiff/2,k);for(x=0;x<o.length;x++){var F=o[x],q=t[F],V=A[x];V[T][P]=q[v],g[T][P]=v}f&&(L[T][P]=c[v]),d&&(_[T][P]=h[v])}for(t[\"_\"+i]=p,t[\"_\"+a]=k,x=0;x<o.length;x++)t[\"_\"+o[x]]=A[x];f&&(t._text=L),d&&(t._hovertext=_),r&&r.type===\"category\"&&(t[\"_\"+i+\"CategoryMap\"]=p.map(function(H){return r._categories[H]})),n&&n.type===\"category\"&&(t[\"_\"+a+\"CategoryMap\"]=k.map(function(H){return n._categories[H]})),t._after2before=g}});var QI=ye((lsr,g_e)=>{\"use strict\";var F1t=uo(),q1t=Mr(),$I=es().BADNUM;g_e.exports=function(t,r,n,i){var a,o,s,l,u,c;function f(p){if(F1t(p))return+p}if(r&&r.transpose){for(a=0,u=0;u<t.length;u++)a=Math.max(a,t[u].length);if(a===0)return!1;s=function(p){return p.length},l=function(p,E,k){return(p[k]||[])[E]}}else a=t.length,s=function(p,E){return p[E].length},l=function(p,E,k){return(p[E]||[])[k]};var h=function(p,E,k){return E===$I||k===$I?$I:l(p,E,k)};function d(p){if(r&&r.type!==\"carpet\"&&r.type!==\"contourcarpet\"&&p&&p.type===\"category\"&&r[\"_\"+p._id.charAt(0)].length){var E=p._id.charAt(0),k={},A=r[\"_\"+E+\"CategoryMap\"]||r[E];for(u=0;u<A.length;u++)k[A[u]]=u;return function(L){var _=k[p._categories[L]];return _+1?_:$I}}else return q1t.identity}var v=d(n),x=d(i);i&&i.type===\"category\"&&(a=i._categories.length);var b=new Array(a);for(u=0;u<a;u++)for(n&&n.type===\"category\"?o=n._categories.length:o=s(t,u),b[u]=new Array(o),c=0;c<o;c++)b[u][c]=f(h(t,x(u),v(c)));return b}});var e8=ye((usr,__e)=>{\"use strict\";var O1t=Mr(),m_e=.01,B1t=[[-1,0],[1,0],[0,-1],[0,1]];function N1t(e){return .5-.25*Math.min(1,e*.5)}__e.exports=function(t,r){var n=1,i;for(y_e(t,r),i=0;i<r.length&&!(r[i][2]<4);i++);for(r=r.slice(i),i=0;i<100&&n>m_e;i++)n=y_e(t,r,N1t(n));return n>m_e&&O1t.log(\"interp2d didn't converge quickly\",n),t};function y_e(e,t,r){var n=0,i,a,o,s,l,u,c,f,h,d,v,x,b;for(s=0;s<t.length;s++){for(i=t[s],a=i[0],o=i[1],v=e[a][o],d=0,h=0,l=0;l<4;l++)u=B1t[l],c=e[a+u[0]],c&&(f=c[o+u[1]],f!==void 0&&(d===0?x=b=f:(x=Math.min(x,f),b=Math.max(b,f)),h++,d+=f));if(h===0)throw\"iterateInterp2d order is wrong: no defined neighbors\";e[a][o]=d/h,v===void 0?h<4&&(n=1):(e[a][o]=(1+r)*e[a][o]-r*v,b>x&&(n=Math.max(n,Math.abs(e[a][o]-v)/(b-x))))}return n}});var t8=ye((csr,x_e)=>{\"use strict\";var U1t=Mr().maxRowLength;x_e.exports=function(t){var r=[],n={},i=[],a=t[0],o=[],s=[0,0,0],l=U1t(t),u,c,f,h,d,v,x,b;for(c=0;c<t.length;c++)for(u=o,o=a,a=t[c+1]||[],f=0;f<l;f++)o[f]===void 0&&(v=(o[f-1]!==void 0?1:0)+(o[f+1]!==void 0?1:0)+(u[f]!==void 0?1:0)+(a[f]!==void 0?1:0),v?(c===0&&v++,f===0&&v++,c===t.length-1&&v++,f===o.length-1&&v++,v<4&&(n[[c,f]]=[c,f,v]),r.push([c,f,v])):i.push([c,f]));for(;i.length;){for(x={},b=!1,d=i.length-1;d>=0;d--)h=i[d],c=h[0],f=h[1],v=((n[[c-1,f]]||s)[2]+(n[[c+1,f]]||s)[2]+(n[[c,f-1]]||s)[2]+(n[[c,f+1]]||s)[2])/20,v&&(x[h]=[c,f,v],i.splice(d,1),b=!0);if(!b)throw\"findEmpties iterated with no new neighbors\";for(h in x)n[h]=x[h],r.push(x[h])}return r.sort(function(p,E){return E[2]-p[2]})}});var VV=ye((fsr,T_e)=>{\"use strict\";var b_e=ba(),w_e=Mr().isArrayOrTypedArray;T_e.exports=function(t,r,n,i,a,o){var s=[],l=b_e.traceIs(t,\"contour\"),u=b_e.traceIs(t,\"histogram\"),c,f,h,d=w_e(r)&&r.length>1;if(d&&!u&&o.type!==\"category\"){var v=r.length;if(v<=a){if(l)s=Array.from(r).slice(0,a);else if(a===1)o.type===\"log\"?s=[.5*r[0],2*r[0]]:s=[r[0]-.5,r[0]+.5];else if(o.type===\"log\"){for(s=[Math.pow(r[0],1.5)/Math.pow(r[1],.5)],h=1;h<v;h++)s.push(Math.sqrt(r[h-1]*r[h]));s.push(Math.pow(r[v-1],1.5)/Math.pow(r[v-2],.5))}else{for(s=[1.5*r[0]-.5*r[1]],h=1;h<v;h++)s.push((r[h-1]+r[h])*.5);s.push(1.5*r[v-1]-.5*r[v-2])}if(v<a){var x=s[s.length-1],b;if(o.type===\"log\")for(b=x/s[s.length-2],h=v;h<a;h++)x*=b,s.push(x);else for(b=x-s[s.length-2],h=v;h<a;h++)x+=b,s.push(x)}}else return l?r.slice(0,a):r.slice(0,a+1)}else{var p=t[o._id.charAt(0)+\"calendar\"];if(u)c=o.r2c(n,0,p);else if(w_e(r)&&r.length===1)c=r[0];else if(n===void 0)c=0;else{var E=o.type===\"log\"?o.d2c:o.r2c;c=E(n,0,p)}for(f=i||1,h=l?0:-.5;h<a;h++)s.push(c+f*h)}return s}});var n8=ye((hsr,E_e)=>{\"use strict\";var A_e=ba(),HV=Mr(),r8=Qa(),S_e=Rg(),V1t=h_e(),H1t=zv(),G1t=JI(),j1t=QI(),W1t=e8(),Z1t=t8(),i8=VV(),GV=es().BADNUM;E_e.exports=function(t,r){var n=r8.getFromId(t,r.xaxis||\"x\"),i=r8.getFromId(t,r.yaxis||\"y\"),a=A_e.traceIs(r,\"contour\"),o=A_e.traceIs(r,\"histogram\"),s=a?\"best\":r.zsmooth,l,u,c,f,h,d,v,x,b,p,E;if(n._minDtick=0,i._minDtick=0,o)E=V1t(t,r),f=E.orig_x,l=E.x,u=E.x0,c=E.dx,x=E.orig_y,h=E.y,d=E.y0,v=E.dy,b=E.z;else{var k=r.z;HV.isArray1D(k)?(G1t(r,n,i,\"x\",\"y\",[\"z\"]),l=r._x,h=r._y,k=r._z):(f=r.x?n.makeCalcdata(r,\"x\"):[],x=r.y?i.makeCalcdata(r,\"y\"):[],l=S_e(r,n,\"x\",f).vals,h=S_e(r,i,\"y\",x).vals,r._x=l,r._y=h),u=r.x0,c=r.dx,d=r.y0,v=r.dy,b=j1t(k,r,n,i)}(n.rangebreaks||i.rangebreaks)&&(b=X1t(l,h,b),o||(l=M_e(l),h=M_e(h),r._x=l,r._y=h)),!o&&(a||r.connectgaps)&&(r._emptypoints=Z1t(b),W1t(b,r._emptypoints));function A(q){s=r._input.zsmooth=r.zsmooth=!1,HV.warn('cannot use zsmooth: \"fast\": '+q)}function L(q){if(q.length>1){var V=(q[q.length-1]-q[0])/(q.length-1),H=Math.abs(V/100);for(p=0;p<q.length-1;p++)if(Math.abs(q[p+1]-q[p]-V)>H)return!1}return!0}r._islinear=!1,n.type===\"log\"||i.type===\"log\"?s===\"fast\"&&A(\"log axis found\"):L(l)?L(h)?r._islinear=!0:s===\"fast\"&&A(\"y scale is not linear\"):s===\"fast\"&&A(\"x scale is not linear\");var _=HV.maxRowLength(b),C=r.xtype===\"scaled\"?\"\":l,M=i8(r,C,u,c,_,n),g=r.ytype===\"scaled\"?\"\":h,P=i8(r,g,d,v,b.length,i);r._extremes[n._id]=r8.findExtremes(n,M),r._extremes[i._id]=r8.findExtremes(i,P);var T={x:M,y:P,z:b,text:r._text||r.text,hovertext:r._hovertext||r.hovertext};if(r.xperiodalignment&&f&&(T.orig_x=f),r.yperiodalignment&&x&&(T.orig_y=x),C&&C.length===M.length-1&&(T.xCenter=C),g&&g.length===P.length-1&&(T.yCenter=g),o&&(T.xRanges=E.xRanges,T.yRanges=E.yRanges,T.pts=E.pts),a||H1t(t,r,{vals:b,cLetter:\"z\"}),a&&r.contours&&r.contours.coloring===\"heatmap\"){var F={type:r.type===\"contour\"?\"heatmap\":\"histogram2d\",xcalendar:r.xcalendar,ycalendar:r.ycalendar};T.xfill=i8(F,C,u,c,_,n),T.yfill=i8(F,g,d,v,b.length,i)}return[T]};function M_e(e){for(var t=[],r=e.length,n=0;n<r;n++){var i=e[n];i!==GV&&t.push(i)}return t}function X1t(e,t,r){for(var n=[],i=-1,a=0;a<r.length;a++)if(t[a]!==GV){i++,n[i]=[];for(var o=0;o<r[a].length;o++)e[o]!==GV&&n[i].push(r[a][o])}return n}});var o8=ye(a8=>{\"use strict\";a8.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\"]];a8.STYLE=a8.CSS_DECLARATIONS.map(function(e){return e.join(\": \")+\"; \"}).join(\"\")});var jV=ye((vsr,L_e)=>{\"use strict\";var k_e=o8(),Y1t=ao(),C_e=Mr(),PT=null;function K1t(){if(PT!==null)return PT;PT=!1;var e=C_e.isSafari()||C_e.isIOS();if(window.navigator.userAgent&&!e){var t=Array.from(k_e.CSS_DECLARATIONS).reverse(),r=window.CSS&&window.CSS.supports||window.supportsCSS;if(typeof r==\"function\")PT=t.some(function(o){return r.apply(null,o)});else{var n=Y1t.tester.append(\"image\").attr(\"style\",k_e.STYLE),i=window.getComputedStyle(n.node()),a=i.imageRendering;PT=t.some(function(o){var s=o[1];return a===s||a===s.toLowerCase()}),n.remove()}}return PT}L_e.exports=K1t});var s8=ye((psr,B_e)=>{\"use strict\";var P_e=xa(),J1t=id(),$1t=ba(),Q1t=ao(),e_t=Qa(),G0=Mr(),I_e=Pl(),t_t=$P(),r_t=va(),i_t=Mu().extractOpts,n_t=Mu().makeColorScaleFuncFromTrace,a_t=Zp(),o_t=Nh(),WV=o_t.LINE_SPACING,s_t=jV(),l_t=o8().STYLE,q_e=\"heatmap-label\";function O_e(e){return e.selectAll(\"g.\"+q_e)}function R_e(e){O_e(e).remove()}B_e.exports=function(e,t,r,n){var i=t.xaxis,a=t.yaxis;G0.makeTraceGroups(n,r,\"hm\").each(function(o){var s=P_e.select(this),l=o[0],u=l.trace,c=u.xgap||0,f=u.ygap||0,h=l.z,d=l.x,v=l.y,x=l.xCenter,b=l.yCenter,p=$1t.traceIs(u,\"contour\"),E=p?\"best\":u.zsmooth,k=h.length,A=G0.maxRowLength(h),L=!1,_=!1,C,M,g,P,T,F,q,V;for(F=0;C===void 0&&F<d.length-1;)C=i.c2p(d[F]),F++;for(F=d.length-1;M===void 0&&F>0;)M=i.c2p(d[F]),F--;for(M<C&&(g=M,M=C,C=g,L=!0),F=0;P===void 0&&F<v.length-1;)P=a.c2p(v[F]),F++;for(F=v.length-1;T===void 0&&F>0;)T=a.c2p(v[F]),F--;T<P&&(g=P,P=T,T=g,_=!0),p&&(x=d,b=v,d=l.xfill,v=l.yfill);var H=\"default\";if(E?H=E===\"best\"?\"smooth\":\"fast\":u._islinear&&c===0&&f===0&&s_t()&&(H=\"fast\"),H!==\"fast\"){var X=E===\"best\"?0:.5;C=Math.max(-X*i._length,C),M=Math.min((1+X)*i._length,M),P=Math.max(-X*a._length,P),T=Math.min((1+X)*a._length,T)}var G=Math.round(M-C),N=Math.round(T-P),W=C>=i._length||M<=0||P>=a._length||T<=0;if(W){var re=s.selectAll(\"image\").data([]);re.exit().remove(),R_e(s);return}var ae,_e;H===\"fast\"?(ae=A,_e=k):(ae=G,_e=N);var Me=document.createElement(\"canvas\");Me.width=ae,Me.height=_e;var ke=Me.getContext(\"2d\",{willReadFrequently:!0}),ge=n_t(u,{noNumericCheck:!0,returnArray:!0}),ie,Te;H===\"fast\"?(ie=L?function(Pi){return A-1-Pi}:G0.identity,Te=_?function(Pi){return k-1-Pi}:G0.identity):(ie=function(Pi){return G0.constrain(Math.round(i.c2p(d[Pi])-C),0,G)},Te=function(Pi){return G0.constrain(Math.round(a.c2p(v[Pi])-P),0,N)});var Ee=Te(0),Ae=[Ee,Ee],ze=L?0:1,Ce=_?0:1,me=0,Re=0,ce=0,Ge=0,nt,ct,qt,rt,ot;function Rt(Pi,Gi){if(Pi!==void 0){var Ki=ge(Pi);return Ki[0]=Math.round(Ki[0]),Ki[1]=Math.round(Ki[1]),Ki[2]=Math.round(Ki[2]),me+=Gi,Re+=Ki[0]*Gi,ce+=Ki[1]*Gi,Ge+=Ki[2]*Gi,Ki}return[0,0,0,0]}function kt(Pi,Gi,Ki,ka){var jn=Pi[Ki.bin0];if(jn===void 0)return Rt(void 0,1);var la=Pi[Ki.bin1],Fa=Gi[Ki.bin0],Ra=Gi[Ki.bin1],jo=la-jn||0,oa=Fa-jn||0,Sn;return la===void 0?Ra===void 0?Sn=0:Fa===void 0?Sn=2*(Ra-jn):Sn=(2*Ra-Fa-jn)*2/3:Ra===void 0?Fa===void 0?Sn=0:Sn=(2*jn-la-Fa)*2/3:Fa===void 0?Sn=(2*Ra-la-jn)*2/3:Sn=Ra+jn-la-Fa,Rt(jn+Ki.frac*jo+ka.frac*(oa+Ki.frac*Sn))}if(H!==\"default\"){var Ct=0,Yt;try{Yt=new Uint8Array(ae*_e*4)}catch(Pi){Yt=new Array(ae*_e*4)}if(H===\"smooth\"){var xr=x||d,er=b||v,Ke=new Array(xr.length),xt=new Array(er.length),bt=new Array(G),Lt=x?z_e:D_e,St=b?z_e:D_e,Et,dt,Ht;for(F=0;F<xr.length;F++)Ke[F]=Math.round(i.c2p(xr[F])-C);for(F=0;F<er.length;F++)xt[F]=Math.round(a.c2p(er[F])-P);for(F=0;F<G;F++)bt[F]=Lt(F,Ke);for(q=0;q<N;q++)for(Et=St(q,xt),dt=h[Et.bin0],Ht=h[Et.bin1],F=0;F<G;F++,Ct+=4)ot=kt(dt,Ht,bt[F],Et),F_e(Yt,Ct,ot)}else for(q=0;q<k;q++)for(rt=h[q],Ae=Te(q),F=0;F<A;F++)ot=Rt(rt[F],1),Ct=(Ae*A+ie(F))*4,F_e(Yt,Ct,ot);var $t=ke.createImageData(ae,_e);try{$t.data.set(Yt)}catch(Pi){var fr=$t.data,_r=fr.length;for(q=0;q<_r;q++)fr[q]=Yt[q]}ke.putImageData($t,0,0)}else{var Br=Math.floor(c/2),Or=Math.floor(f/2);for(q=0;q<k;q++)if(rt=h[q],Ae.reverse(),Ae[Ce]=Te(q+1),!(Ae[0]===Ae[1]||Ae[0]===void 0||Ae[1]===void 0))for(ct=ie(0),nt=[ct,ct],F=0;F<A;F++)nt.reverse(),nt[ze]=ie(F+1),!(nt[0]===nt[1]||nt[0]===void 0||nt[1]===void 0)&&(qt=rt[F],ot=Rt(qt,(nt[1]-nt[0])*(Ae[1]-Ae[0])),ke.fillStyle=\"rgba(\"+ot.join(\",\")+\")\",ke.fillRect(nt[0]+Br,Ae[0]+Or,nt[1]-nt[0]-c,Ae[1]-Ae[0]-f))}Re=Math.round(Re/me),ce=Math.round(ce/me),Ge=Math.round(Ge/me);var Nr=J1t(\"rgb(\"+Re+\",\"+ce+\",\"+Ge+\")\");e._hmpixcount=(e._hmpixcount||0)+me,e._hmlumcount=(e._hmlumcount||0)+me*Nr.getLuminance();var ut=s.selectAll(\"image\").data(o);ut.enter().append(\"svg:image\").attr({xmlns:a_t.svg,preserveAspectRatio:\"none\"}),ut.attr({height:N,width:G,x:C,y:P,\"xlink:href\":Me.toDataURL(\"image/png\")}),H===\"fast\"&&!E&&ut.attr(\"style\",l_t),R_e(s);var Ne=u.texttemplate;if(Ne){var Ye=i_t(u),Ve={type:\"linear\",range:[Ye.min,Ye.max],_separators:i._separators,_numFormat:i._numFormat},Xe=u.type===\"histogram2dcontour\",ht=u.type===\"contour\",Le=ht?1:0,xe=ht?k-1:k,Se=ht?1:0,lt=ht?A-1:A,Gt=[];for(F=Le;F<xe;F++){var Vt;if(ht)Vt=l.y[F];else if(Xe){if(F===0||F===k-1)continue;Vt=l.y[F]}else if(l.yCenter)Vt=l.yCenter[F];else{if(F+1===k&&l.y[F+1]===void 0)continue;Vt=(l.y[F]+l.y[F+1])/2}var ar=Math.round(a.c2p(Vt));if(!(0>ar||ar>a._length))for(q=Se;q<lt;q++){var Qr;if(ht)Qr=l.x[q];else if(Xe){if(q===0||q===A-1)continue;Qr=l.x[q]}else if(l.xCenter)Qr=l.xCenter[q];else{if(q+1===A&&l.x[q+1]===void 0)continue;Qr=(l.x[q]+l.x[q+1])/2}var ai=Math.round(i.c2p(Qr));if(!(0>ai||ai>i._length)){var jr=t_t({x:Qr,y:Vt},u,e._fullLayout);jr.x=Qr,jr.y=Vt;var ri=l.z[F][q];ri===void 0?(jr.z=\"\",jr.zLabel=\"\"):(jr.z=ri,jr.zLabel=e_t.tickText(Ve,ri,\"hover\").text);var bi=l.text&&l.text[F]&&l.text[F][q];(bi===void 0||bi===!1)&&(bi=\"\"),jr.text=bi;var nn=G0.texttemplateString(Ne,jr,e._fullLayout._d3locale,jr,u._meta||{});if(nn){var Wi=nn.split(\"<br>\"),Ni=Wi.length,_n=0;for(V=0;V<Ni;V++)_n=Math.max(_n,Wi[V].length);Gt.push({l:Ni,c:_n,t:nn,x:ai,y:ar,z:ri})}}}}var $i=u.textfont,zn=$i.size,Wn=e._fullLayout.font.size;if(!zn||zn===\"auto\"){var It=1/0,ft=1/0,jt=0,Zt=0;for(V=0;V<Gt.length;V++){var yr=Gt[V];if(jt=Math.max(jt,yr.l),Zt=Math.max(Zt,yr.c),V<Gt.length-1){var Fr=Gt[V+1],Zr=Math.abs(Fr.x-yr.x),Vr=Math.abs(Fr.y-yr.y);Zr&&(It=Math.min(It,Zr)),Vr&&(ft=Math.min(ft,Vr))}}!isFinite(It)||!isFinite(ft)?zn=Wn:(It-=c,ft-=f,It/=Zt,ft/=jt,It/=WV/2,ft/=WV,zn=Math.min(Math.floor(It),Math.floor(ft),Wn))}if(zn<=0||!isFinite(zn))return;var gi=function(Pi){return Pi.x},Si=function(Pi){return Pi.y-zn*(Pi.l*WV/2-1)},Mi=O_e(s).data(Gt);Mi.enter().append(\"g\").classed(q_e,1).append(\"text\").attr(\"text-anchor\",\"middle\").each(function(Pi){var Gi=P_e.select(this),Ki=$i.color;(!Ki||Ki===\"auto\")&&(Ki=r_t.contrast(Pi.z===void 0?e._fullLayout.plot_bgcolor:\"rgba(\"+ge(Pi.z).join()+\")\")),Gi.attr(\"data-notex\",1).call(I_e.positionText,gi(Pi),Si(Pi)).call(Q1t.font,{family:$i.family,size:zn,color:Ki,weight:$i.weight,style:$i.style,variant:$i.variant,textcase:$i.textcase,lineposition:$i.lineposition,shadow:$i.shadow}).text(Pi.t).call(I_e.convertToTspans,e)})}})};function D_e(e,t){var r=t.length-2,n=G0.constrain(G0.findBin(e,t),0,r),i=t[n],a=t[n+1],o=G0.constrain(n+(e-i)/(a-i)-.5,0,r),s=Math.round(o),l=Math.abs(o-s);return!o||o===r||!l?{bin0:s,bin1:s,frac:0}:{bin0:s,frac:l,bin1:Math.round(s+l/(o-s))}}function z_e(e,t){var r=t.length-1,n=G0.constrain(G0.findBin(e,t),0,r),i=t[n],a=t[n+1],o=(e-i)/(a-i)||0;return o<=0?{bin0:n,bin1:n,frac:0}:o<.5?{bin0:n,bin1:n+1,frac:o}:{bin0:n+1,bin1:n,frac:1-o}}function F_e(e,t,r){e[t]=r[0],e[t+1]=r[1],e[t+2]=r[2],e[t+3]=Math.round(r[3]*255)}});var M_=ye((gsr,N_e)=>{\"use strict\";N_e.exports={min:\"zmin\",max:\"zmax\"}});var l8=ye((msr,U_e)=>{\"use strict\";var u_t=xa();U_e.exports=function(t){u_t.select(t).selectAll(\".hm image\").style(\"opacity\",function(r){return r.trace.opacity})}});var c8=ye((ysr,H_e)=>{\"use strict\";var V_e=Nc(),_4=Mr(),u8=_4.isArrayOrTypedArray,c_t=Qa(),f_t=Mu().extractOpts;H_e.exports=function(t,r,n,i,a){a||(a={});var o=a.isContour,s=t.cd[0],l=s.trace,u=t.xa,c=t.ya,f=s.x,h=s.y,d=s.z,v=s.xCenter,x=s.yCenter,b=s.zmask,p=l.zhoverformat,E=f,k=h,A,L,_,C;if(t.index!==!1){try{_=Math.round(t.index[1]),C=Math.round(t.index[0])}catch(re){_4.error(\"Error hovering on heatmap, pointNumber must be [row,col], found:\",t.index);return}if(_<0||_>=d[0].length||C<0||C>d.length)return}else{if(V_e.inbox(r-f[0],r-f[f.length-1],0)>0||V_e.inbox(n-h[0],n-h[h.length-1],0)>0)return;if(o){var M;for(E=[2*f[0]-f[1]],M=1;M<f.length;M++)E.push((f[M]+f[M-1])/2);for(E.push([2*f[f.length-1]-f[f.length-2]]),k=[2*h[0]-h[1]],M=1;M<h.length;M++)k.push((h[M]+h[M-1])/2);k.push([2*h[h.length-1]-h[h.length-2]])}_=Math.max(0,Math.min(E.length-2,_4.findBin(r,E))),C=Math.max(0,Math.min(k.length-2,_4.findBin(n,k)))}var g=u.c2p(f[_]),P=u.c2p(f[_+1]),T=c.c2p(h[C]),F=c.c2p(h[C+1]),q,V;o?(q=s.orig_x||f,V=s.orig_y||h,P=g,A=q[_],F=T,L=V[C]):(q=s.orig_x||v||f,V=s.orig_y||x||h,A=v?q[_]:(q[_]+q[_+1])/2,L=x?V[C]:(V[C]+V[C+1])/2,u&&u.type===\"category\"&&(A=f[_]),c&&c.type===\"category\"&&(L=h[C]),l.zsmooth&&(g=P=u.c2p(A),T=F=c.c2p(L)));var H=d[C][_];if(b&&!b[C][_]&&(H=void 0),!(H===void 0&&!l.hoverongaps)){var X;u8(s.hovertext)&&u8(s.hovertext[C])?X=s.hovertext[C][_]:u8(s.text)&&u8(s.text[C])&&(X=s.text[C][_]);var G=f_t(l),N={type:\"linear\",range:[G.min,G.max],hoverformat:p,_separators:u._separators,_numFormat:u._numFormat},W=c_t.tickText(N,H,\"hover\").text;return[_4.extendFlat(t,{index:l._after2before?l._after2before[C][_]:[C,_],distance:t.maxHoverDistance,spikeDistance:t.maxSpikeDistance,x0:g,x1:P,y0:T,y1:F,xLabelVal:A,yLabelVal:L,zLabelVal:H,zLabel:W,text:X})]}}});var j_e=ye((_sr,G_e)=>{\"use strict\";G_e.exports={attributes:ET(),supplyDefaults:G1e(),calc:n8(),plot:s8(),colorbar:M_(),style:l8(),hoverPoints:c8(),moduleType:\"trace\",name:\"heatmap\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"showLegend\"],meta:{}}});var Z_e=ye((xsr,W_e)=>{\"use strict\";W_e.exports=j_e()});var ZV=ye((bsr,X_e)=>{\"use strict\";X_e.exports=function(t,r){return{start:{valType:\"any\",editType:\"calc\"},end:{valType:\"any\",editType:\"calc\"},size:{valType:\"any\",editType:\"calc\"},editType:\"calc\"}}});var K_e=ye((wsr,Y_e)=>{\"use strict\";Y_e.exports={eventDataKeys:[\"binNumber\"]}});var f8=ye((Tsr,Q_e)=>{\"use strict\";var Ip=Lm(),J_e=Oc().axisHoverFormat,h_t=Wo().hovertemplateAttrs,d_t=Wo().texttemplateAttrs,XV=Su(),$_e=ZV(),v_t=K_e(),YV=no().extendFlat;Q_e.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},xhoverformat:J_e(\"x\"),yhoverformat:J_e(\"y\"),text:YV({},Ip.text,{}),hovertext:YV({},Ip.hovertext,{}),orientation:Ip.orientation,histfunc:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"min\",\"max\"],dflt:\"count\",editType:\"calc\"},histnorm:{valType:\"enumerated\",values:[\"\",\"percent\",\"probability\",\"density\",\"probability density\"],dflt:\"\",editType:\"calc\"},cumulative:{enabled:{valType:\"boolean\",dflt:!1,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"increasing\",\"decreasing\"],dflt:\"increasing\",editType:\"calc\"},currentbin:{valType:\"enumerated\",values:[\"include\",\"exclude\",\"half\"],dflt:\"include\",editType:\"calc\"},editType:\"calc\"},nbinsx:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},xbins:$_e(\"x\",!0),nbinsy:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},ybins:$_e(\"y\",!0),autobinx:{valType:\"boolean\",dflt:null,editType:\"calc\"},autobiny:{valType:\"boolean\",dflt:null,editType:\"calc\"},bingroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertemplate:h_t({},{keys:v_t.eventDataKeys}),texttemplate:d_t({arrayOk:!1,editType:\"plot\"},{keys:[\"label\",\"value\"]}),textposition:YV({},Ip.textposition,{arrayOk:!1}),textfont:XV({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),outsidetextfont:XV({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),insidetextfont:XV({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),insidetextanchor:Ip.insidetextanchor,textangle:Ip.textangle,cliponaxis:Ip.cliponaxis,constraintext:Ip.constraintext,marker:Ip.marker,offsetgroup:Ip.offsetgroup,alignmentgroup:Ip.alignmentgroup,selected:Ip.selected,unselected:Ip.unselected,zorder:Ip.zorder}});var ixe=ye((Asr,rxe)=>{\"use strict\";var exe=ba(),x4=Mr(),txe=va(),p_t=r0().handleText,g_t=FI(),m_t=f8();rxe.exports=function(t,r,n,i){function a(E,k){return x4.coerce(t,r,m_t,E,k)}var o=a(\"x\"),s=a(\"y\"),l=a(\"cumulative.enabled\");l&&(a(\"cumulative.direction\"),a(\"cumulative.currentbin\")),a(\"text\");var u=a(\"textposition\");p_t(t,r,i,a,u,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\");var c=a(\"orientation\",s&&!o?\"h\":\"v\"),f=c===\"v\"?\"x\":\"y\",h=c===\"v\"?\"y\":\"x\",d=o&&s?Math.min(x4.minRowLength(o)&&x4.minRowLength(s)):x4.minRowLength(r[f]||[]);if(!d){r.visible=!1;return}r._length=d;var v=exe.getComponentMethod(\"calendars\",\"handleTraceDefaults\");v(t,r,[\"x\",\"y\"],i);var x=r[h];x&&a(\"histfunc\"),a(\"histnorm\"),a(\"autobin\"+f),g_t(t,r,a,n,i),x4.coerceSelectionMarkerOpacity(r,a);var b=(r.marker.line||{}).color,p=exe.getComponentMethod(\"errorbars\",\"supplyDefaults\");p(t,r,b||txe.defaultLine,{axis:\"y\"}),p(t,r,b||txe.defaultLine,{axis:\"x\",inherit:\"y\"}),a(\"zorder\")}});var d8=ye((Ssr,oxe)=>{\"use strict\";var b4=Mr(),y_t=af(),h8=ba().traceIs,__t=Hb(),x_t=r0().validateCornerradius,nxe=b4.nestedProperty,KV=Bb().getAxisGroup,axe=[{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\"}],b_t=[\"x\",\"y\"];oxe.exports=function(t,r){var n=r._histogramBinOpts={},i=[],a={},o=[],s,l,u,c,f,h,d;function v(H,X){return b4.coerce(s._input,s,s._module.attributes,H,X)}function x(H){return H.orientation===\"v\"?\"x\":\"y\"}function b(H,X){var G=y_t.getFromTrace({_fullLayout:r},H,X);return G.type}function p(H,X,G){var N=H.uid+\"__\"+G;X||(X=N);var W=b(H,G),re=H[G+\"calendar\"]||\"\",ae=n[X],_e=!0;ae&&(W===ae.axType&&re===ae.calendar?(_e=!1,ae.traces.push(H),ae.dirs.push(G)):(X=N,W!==ae.axType&&b4.warn([\"Attempted to group the bins of trace\",H.index,\"set on a\",\"type:\"+W,\"axis\",\"with bins on\",\"type:\"+ae.axType,\"axis.\"].join(\" \")),re!==ae.calendar&&b4.warn([\"Attempted to group the bins of trace\",H.index,\"set with a\",re,\"calendar\",\"with bins\",ae.calendar?\"on a \"+ae.calendar+\" calendar\":\"w/o a set calendar\"].join(\" \")))),_e&&(n[X]={traces:[H],dirs:[G],axType:W,calendar:H[G+\"calendar\"]||\"\"}),H[\"_\"+G+\"bingroup\"]=X}for(f=0;f<t.length;f++)if(s=t[f],h8(s,\"histogram\")){if(i.push(s),delete s._xautoBinFinished,delete s._yautoBinFinished,s.type===\"histogram\"){var E=v(\"marker.cornerradius\",r.barcornerradius);s.marker&&(s.marker.cornerradius=x_t(E))}h8(s,\"2dMap\")||__t(s._input,s,r,v,r.barmode)}var k=r._alignmentOpts||{};for(f=0;f<i.length;f++){if(s=i[f],u=\"\",!h8(s,\"2dMap\")){if(c=x(s),r.barmode===\"group\"&&s.alignmentgroup){var A=s[c+\"axis\"],L=KV(r,A)+s.orientation;(k[L]||{})[s.alignmentgroup]&&(u=L)}!u&&r.barmode!==\"overlay\"&&(u=KV(r,s.xaxis)+KV(r,s.yaxis)+x(s))}u?(a[u]||(a[u]=[]),a[u].push(s)):o.push(s)}for(u in a){if(l=a[u],l.length===1){o.push(l[0]);continue}var _=!1;for(l.length&&(s=l[0],_=v(\"bingroup\")),u=_||u,f=0;f<l.length;f++){s=l[f];var C=s._input.bingroup;C&&C!==u&&b4.warn([\"Trace\",s.index,\"must match\",\"within bingroup\",u+\".\",\"Ignoring its bingroup:\",C,\"setting.\"].join(\" \")),s.bingroup=u,p(s,u,x(s))}}for(f=0;f<o.length;f++){s=o[f];var M=v(\"bingroup\");if(h8(s,\"2dMap\"))for(d=0;d<2;d++){c=b_t[d];var g=v(c+\"bingroup\",M?M+\"__\"+c:null);p(s,g,c)}else p(s,M,x(s))}for(u in n){var P=n[u];for(l=P.traces,h=0;h<axe.length;h++){var T=axe[h],F=T.name,q,V;if(!(F===\"nbins\"&&P.sizeFound)){for(f=0;f<l.length;f++){if(s=l[f],c=P.dirs[f],q=T.aStr[c],nxe(s._input,q).get()!==void 0){P[F]=v(q),P[F+\"Found\"]=!0;break}V=(s._autoBin||{})[c]||{},V[F]&&nxe(s,q).set(V[F])}if(F===\"start\"||F===\"end\")for(;f<l.length;f++)s=l[f],s[\"_\"+c+\"bingroup\"]&&(V=(s._autoBin||{})[c]||{},v(q,V[F]));F===\"nbins\"&&!P.sizeFound&&!P.nbinsFound&&(s=l[0],P[F]=v(q))}}}}});var lxe=ye((Msr,sxe)=>{\"use strict\";var w_t=TT().hoverPoints,T_t=Qa().hoverLabelText;sxe.exports=function(t,r,n,i,a){var o=w_t(t,r,n,i,a);if(o){t=o[0];var s=t.cd[t.index],l=t.cd[0].trace;if(!l.cumulative.enabled){var u=l.orientation===\"h\"?\"y\":\"x\";t[u+\"Label\"]=T_t(t[u+\"a\"],[s.ph0,s.ph1],l[u+\"hoverformat\"])}return o}}});var JV=ye((Esr,uxe)=>{\"use strict\";uxe.exports=function(t,r,n,i,a){if(t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,\"zLabelVal\"in r&&(t.z=r.zLabelVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),!(n.cumulative||{}).enabled){var o=Array.isArray(a)?i[0].pts[a[0]][a[1]]:i[a].pts;t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex;var s;if(n._indexToPoints){s=[];for(var l=0;l<o.length;l++)s=s.concat(n._indexToPoints[o[l]])}else s=o;t.pointIndices=s}return t}});var fxe=ye((ksr,cxe)=>{\"use strict\";cxe.exports={attributes:f8(),layoutAttributes:zI(),supplyDefaults:ixe(),crossTraceDefaults:d8(),supplyLayoutDefaults:yV(),calc:UV().calc,crossTraceCalc:Gb().crossTraceCalc,plot:i2().plot,layerName:\"barlayer\",style:N0().style,styleOnSelect:N0().styleOnSelect,colorbar:Kd(),hoverPoints:lxe(),selectPoints:AT(),eventData:JV(),moduleType:\"trace\",name:\"histogram\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"bar\",\"histogram\",\"oriented\",\"errorBarsOK\",\"showLegend\"],meta:{}}});var dxe=ye((Csr,hxe)=>{\"use strict\";hxe.exports=fxe()});var p8=ye((Lsr,pxe)=>{\"use strict\";var Vg=f8(),vxe=ZV(),v8=ET(),A_t=vl(),$V=Oc().axisHoverFormat,S_t=Wo().hovertemplateAttrs,M_t=Wo().texttemplateAttrs,E_t=Jl(),w4=no().extendFlat;pxe.exports=w4({x:Vg.x,y:Vg.y,z:{valType:\"data_array\",editType:\"calc\"},marker:{color:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},histnorm:Vg.histnorm,histfunc:Vg.histfunc,nbinsx:Vg.nbinsx,xbins:vxe(\"x\"),nbinsy:Vg.nbinsy,ybins:vxe(\"y\"),autobinx:Vg.autobinx,autobiny:Vg.autobiny,bingroup:w4({},Vg.bingroup,{}),xbingroup:w4({},Vg.bingroup,{}),ybingroup:w4({},Vg.bingroup,{}),xgap:v8.xgap,ygap:v8.ygap,zsmooth:v8.zsmooth,xhoverformat:$V(\"x\"),yhoverformat:$V(\"y\"),zhoverformat:$V(\"z\",1),hovertemplate:S_t({},{keys:\"z\"}),texttemplate:M_t({arrayOk:!1,editType:\"plot\"},{keys:\"z\"}),textfont:v8.textfont,showlegend:w4({},A_t.showlegend,{dflt:!1})},E_t(\"\",{cLetter:\"z\",autoColorDflt:!1}))});var QV=ye((Psr,mxe)=>{\"use strict\";var k_t=ba(),gxe=Mr();mxe.exports=function(t,r,n,i){var a=n(\"x\"),o=n(\"y\"),s=gxe.minRowLength(a),l=gxe.minRowLength(o);if(!s||!l){r.visible=!1;return}r._length=Math.min(s,l);var u=k_t.getComponentMethod(\"calendars\",\"handleTraceDefaults\");u(t,r,[\"x\",\"y\"],i);var c=n(\"z\")||n(\"marker.color\");c&&n(\"histfunc\"),n(\"histnorm\"),n(\"autobinx\"),n(\"autobiny\")}});var _xe=ye((Isr,yxe)=>{\"use strict\";var C_t=Mr(),L_t=QV(),P_t=DV(),I_t=Uh(),R_t=y4(),D_t=p8();yxe.exports=function(t,r,n,i){function a(o,s){return C_t.coerce(t,r,D_t,o,s)}L_t(t,r,a,i),r.visible!==!1&&(P_t(t,r,a,i),I_t(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),a(\"hovertemplate\"),R_t(a,i),a(\"xhoverformat\"),a(\"yhoverformat\"))}});var wxe=ye((Rsr,bxe)=>{\"use strict\";var z_t=c8(),xxe=Qa().hoverLabelText;bxe.exports=function(t,r,n,i,a){var o=z_t(t,r,n,i,a);if(o){t=o[0];var s=t.index,l=s[0],u=s[1],c=t.cd[0],f=c.trace,h=c.xRanges[u],d=c.yRanges[l];return t.xLabel=xxe(t.xa,[h[0],h[1]],f.xhoverformat),t.yLabel=xxe(t.ya,[d[0],d[1]],f.yhoverformat),o}}});var Axe=ye((Dsr,Txe)=>{\"use strict\";Txe.exports={attributes:p8(),supplyDefaults:_xe(),crossTraceDefaults:d8(),calc:n8(),plot:s8(),layerName:\"heatmaplayer\",colorbar:M_(),style:l8(),hoverPoints:wxe(),eventData:JV(),moduleType:\"trace\",name:\"histogram2d\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"histogram\",\"showLegend\"],meta:{}}});var Mxe=ye((zsr,Sxe)=>{\"use strict\";Sxe.exports=Axe()});var g8=ye((Fsr,Exe)=>{\"use strict\";Exe.exports={COMPARISON_OPS:[\"=\",\"!=\",\"<\",\">=\",\">\",\"<=\"],COMPARISON_OPS2:[\"=\",\"<\",\">=\",\">\",\"<=\"],INTERVAL_OPS:[\"[]\",\"()\",\"[)\",\"(]\",\"][\",\")(\",\"](\",\")[\"],SET_OPS:[\"{}\",\"}{\"],CONSTRAINT_REDUCTION:{\"=\":\"=\",\"<\":\"<\",\"<=\":\"<\",\">\":\">\",\">=\":\">\",\"[]\":\"[]\",\"()\":\"[]\",\"[)\":\"[]\",\"(]\":\"[]\",\"][\":\"][\",\")(\":\"][\",\"](\":\"][\",\")[\":\"][\"}}});var T4=ye((qsr,Pxe)=>{\"use strict\";var Gh=ET(),m8=Uc(),Cxe=Oc(),eH=Cxe.axisHoverFormat,F_t=Cxe.descriptionOnlyNumbers,q_t=Jl(),O_t=Ed().dash,B_t=Su(),IT=no().extendFlat,Lxe=g8(),N_t=Lxe.COMPARISON_OPS2,U_t=Lxe.INTERVAL_OPS,kxe=m8.line;Pxe.exports=IT({z:Gh.z,x:Gh.x,x0:Gh.x0,dx:Gh.dx,y:Gh.y,y0:Gh.y0,dy:Gh.dy,xperiod:Gh.xperiod,yperiod:Gh.yperiod,xperiod0:m8.xperiod0,yperiod0:m8.yperiod0,xperiodalignment:Gh.xperiodalignment,yperiodalignment:Gh.yperiodalignment,text:Gh.text,hovertext:Gh.hovertext,transpose:Gh.transpose,xtype:Gh.xtype,ytype:Gh.ytype,xhoverformat:eH(\"x\"),yhoverformat:eH(\"y\"),zhoverformat:eH(\"z\",1),hovertemplate:Gh.hovertemplate,texttemplate:IT({},Gh.texttemplate,{}),textfont:IT({},Gh.textfont,{}),hoverongaps:Gh.hoverongaps,connectgaps:IT({},Gh.connectgaps,{}),fillcolor:{valType:\"color\",editType:\"calc\"},autocontour:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"contours.start\":void 0,\"contours.end\":void 0,\"contours.size\":void 0}},ncontours:{valType:\"integer\",dflt:15,min:1,editType:\"calc\"},contours:{type:{valType:\"enumerated\",values:[\"levels\",\"constraint\"],dflt:\"levels\",editType:\"calc\"},start:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},end:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},coloring:{valType:\"enumerated\",values:[\"fill\",\"heatmap\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:{valType:\"boolean\",dflt:!0,editType:\"plot\"},showlabels:{valType:\"boolean\",dflt:!1,editType:\"plot\"},labelfont:B_t({editType:\"plot\",colorEditType:\"style\"}),labelformat:{valType:\"string\",dflt:\"\",editType:\"plot\",description:F_t(\"contour label\")},operation:{valType:\"enumerated\",values:[].concat(N_t).concat(U_t),dflt:\"=\",editType:\"calc\"},value:{valType:\"any\",dflt:0,editType:\"calc\"},editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:IT({},kxe.color,{editType:\"style+colorbars\"}),width:{valType:\"number\",min:0,editType:\"style+colorbars\"},dash:O_t,smoothing:IT({},kxe.smoothing,{}),editType:\"plot\"},zorder:m8.zorder},q_t(\"\",{cLetter:\"z\",autoColorDflt:!1,editTypeOverride:\"calc\"}))});var rH=ye((Osr,Rxe)=>{\"use strict\";var Hv=p8(),qy=T4(),V_t=Jl(),tH=Oc().axisHoverFormat,Ixe=no().extendFlat;Rxe.exports=Ixe({x:Hv.x,y:Hv.y,z:Hv.z,marker:Hv.marker,histnorm:Hv.histnorm,histfunc:Hv.histfunc,nbinsx:Hv.nbinsx,xbins:Hv.xbins,nbinsy:Hv.nbinsy,ybins:Hv.ybins,autobinx:Hv.autobinx,autobiny:Hv.autobiny,bingroup:Hv.bingroup,xbingroup:Hv.xbingroup,ybingroup:Hv.ybingroup,autocontour:qy.autocontour,ncontours:qy.ncontours,contours:qy.contours,line:{color:qy.line.color,width:Ixe({},qy.line.width,{dflt:.5}),dash:qy.line.dash,smoothing:qy.line.smoothing,editType:\"plot\"},xhoverformat:tH(\"x\"),yhoverformat:tH(\"y\"),zhoverformat:tH(\"z\",1),hovertemplate:Hv.hovertemplate,texttemplate:qy.texttemplate,textfont:qy.textfont},V_t(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var y8=ye((Bsr,Dxe)=>{\"use strict\";Dxe.exports=function(t,r,n,i){var a=i(\"contours.start\"),o=i(\"contours.end\"),s=a===!1||o===!1,l=n(\"contours.size\"),u;s?u=r.autocontour=!0:u=n(\"autocontour\",!1),(u||!l)&&n(\"ncontours\")}});var iH=ye((Nsr,zxe)=>{\"use strict\";var H_t=Mr();zxe.exports=function(t,r,n,i){i||(i={});var a=t(\"contours.showlabels\");if(a){var o=r.font;H_t.coerceFont(t,\"contours.labelfont\",o,{overrideDflt:{color:n}}),t(\"contours.labelformat\")}i.hasHover!==!1&&t(\"zhoverformat\")}});var _8=ye((Usr,Fxe)=>{\"use strict\";var G_t=Uh(),j_t=iH();Fxe.exports=function(t,r,n,i,a){var o=n(\"contours.coloring\"),s,l=\"\";o===\"fill\"&&(s=n(\"contours.showlines\")),s!==!1&&(o!==\"lines\"&&(l=n(\"line.color\",\"#000\")),n(\"line.width\",.5),n(\"line.dash\")),o!==\"none\"&&(t.showlegend!==!0&&(r.showlegend=!1),r._dfltShowLegend=!1,G_t(t,r,i,n,{prefix:\"\",cLetter:\"z\"})),n(\"line.smoothing\"),j_t(n,i,l,a)}});var Nxe=ye((Vsr,Bxe)=>{\"use strict\";var qxe=Mr(),W_t=QV(),Z_t=y8(),X_t=_8(),Y_t=y4(),Oxe=rH();Bxe.exports=function(t,r,n,i){function a(s,l){return qxe.coerce(t,r,Oxe,s,l)}function o(s){return qxe.coerce2(t,r,Oxe,s)}W_t(t,r,a,i),r.visible!==!1&&(Z_t(t,r,a,o),X_t(t,r,a,i),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"hovertemplate\"),r.contours&&r.contours.coloring===\"heatmap\"&&Y_t(a,i))}});var oH=ye((Hsr,Vxe)=>{\"use strict\";var aH=Qa(),nH=Mr();Vxe.exports=function(t,r){var n=t.contours;if(t.autocontour){var i=t.zmin,a=t.zmax;(t.zauto||i===void 0)&&(i=nH.aggNums(Math.min,null,r)),(t.zauto||a===void 0)&&(a=nH.aggNums(Math.max,null,r));var o=Uxe(i,a,t.ncontours);n.size=o.dtick,n.start=aH.tickFirst(o),o.range.reverse(),n.end=aH.tickFirst(o),n.start===i&&(n.start+=n.size),n.end===a&&(n.end-=n.size),n.start>n.end&&(n.start=n.end=(n.start+n.end)/2),t._input.contours||(t._input.contours={}),nH.extendFlat(t._input.contours,{start:n.start,end:n.end,size:n.size}),t._input.autocontour=!0}else if(n.type!==\"constraint\"){var s=n.start,l=n.end,u=t._input.contours;if(s>l&&(n.start=u.start=l,l=n.end=u.end=s,s=n.start),!(n.size>0)){var c;s===l?c=1:c=Uxe(s,l,t.ncontours).dtick,u.size=n.size=c}}};function Uxe(e,t,r){var n={type:\"linear\",range:[e,t]};return aH.autoTicks(n,(t-e)/(r||15)),n}});var A4=ye((Gsr,Hxe)=>{\"use strict\";Hxe.exports=function(t){return t.end+t.size/1e6}});var sH=ye((jsr,jxe)=>{\"use strict\";var Gxe=Mu(),K_t=n8(),J_t=oH(),$_t=A4();jxe.exports=function(t,r){var n=K_t(t,r),i=n[0].z;J_t(r,i);var a=r.contours,o=Gxe.extractOpts(r),s;if(a.coloring===\"heatmap\"&&o.auto&&r.autocontour===!1){var l=a.start,u=$_t(a),c=a.size||1,f=Math.floor((u-l)/c)+1;isFinite(c)||(c=1,f=1);var h=l-c/2,d=h+f*c;s=[h,d]}else s=i;return Gxe.calc(t,r,{vals:s,cLetter:\"z\"}),n}});var S4=ye((Wsr,Wxe)=>{\"use strict\";Wxe.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}}});var lH=ye((Zsr,Zxe)=>{\"use strict\";var x8=S4();Zxe.exports=function(t){var r=t[0].z,n=r.length,i=r[0].length,a=n===2||i===2,o,s,l,u,c,f,h,d,v;for(s=0;s<n-1;s++)for(u=[],s===0&&(u=u.concat(x8.BOTTOMSTART)),s===n-2&&(u=u.concat(x8.TOPSTART)),o=0;o<i-1;o++)for(l=u.slice(),o===0&&(l=l.concat(x8.LEFTSTART)),o===i-2&&(l=l.concat(x8.RIGHTSTART)),c=o+\",\"+s,f=[[r[s][o],r[s][o+1]],[r[s+1][o],r[s+1][o+1]]],v=0;v<t.length;v++)d=t[v],h=Q_t(d.level,f),h&&(d.crossings[c]=h,l.indexOf(h)!==-1&&(d.starts.push([o,s]),a&&l.indexOf(h,l.indexOf(h)+1)!==-1&&d.starts.push([o,s])))};function Q_t(e,t){var r=(t[0][0]>e?0:1)+(t[0][1]>e?0:2)+(t[1][1]>e?0:4)+(t[1][0]>e?0:8);if(r===5||r===10){var n=(t[0][0]+t[0][1]+t[1][0]+t[1][1])/4;return e>n?r===5?713:1114:r===5?104:208}return r===15?0:r}});var uH=ye((Xsr,Kxe)=>{\"use strict\";var b8=Mr(),RT=S4();Kxe.exports=function(t,r,n){var i,a,o,s,l;for(r=r||.01,n=n||.01,o=0;o<t.length;o++){for(s=t[o],l=0;l<s.starts.length;l++)a=s.starts[l],Xxe(s,a,\"edge\",r,n);for(i=0;Object.keys(s.crossings).length&&i<1e4;)i++,a=Object.keys(s.crossings)[0].split(\",\").map(Number),Xxe(s,a,void 0,r,n);i===1e4&&b8.log(\"Infinite loop in contour?\")}};function M4(e,t,r,n){return Math.abs(e[0]-t[0])<r&&Math.abs(e[1]-t[1])<n}function ext(e,t){var r=e[2]-t[2],n=e[3]-t[3];return Math.sqrt(r*r+n*n)}function Xxe(e,t,r,n,i){var a=t.join(\",\"),o=e.crossings[a],s=txt(o,r,t),l=[Yxe(e,t,[-s[0],-s[1]])],u=e.z.length,c=e.z[0].length,f=t.slice(),h=s.slice(),d;for(d=0;d<1e4;d++){if(o>20?(o=RT.CHOOSESADDLE[o][(s[0]||s[1])<0?0:1],e.crossings[a]=RT.SADDLEREMAINDER[o]):delete e.crossings[a],s=RT.NEWDELTA[o],!s){b8.log(\"Found bad marching index:\",o,t,e.level);break}l.push(Yxe(e,t,s)),t[0]+=s[0],t[1]+=s[1],a=t.join(\",\"),M4(l[l.length-1],l[l.length-2],n,i)&&l.pop();var v=s[0]&&(t[0]<0||t[0]>c-2)||s[1]&&(t[1]<0||t[1]>u-2),x=t[0]===f[0]&&t[1]===f[1]&&s[0]===h[0]&&s[1]===h[1];if(x||r&&v)break;o=e.crossings[a]}d===1e4&&b8.log(\"Infinite loop in contour?\");var b=M4(l[0],l[l.length-1],n,i),p=0,E=.2*e.smoothing,k=[],A=0,L,_,C,M,g,P,T,F,q,V,H;for(d=1;d<l.length;d++)T=ext(l[d],l[d-1]),p+=T,k.push(T);var X=p/k.length*E;function G(re){return l[re%l.length]}for(d=l.length-2;d>=A;d--)if(L=k[d],L<X){for(C=0,_=d-1;_>=A&&L+k[_]<X;_--)L+=k[_];if(b&&d===l.length-2)for(C=0;C<_&&L+k[C]<X;C++)L+=k[C];g=d-_+C+1,P=Math.floor((d+_+C+2)/2),!b&&d===l.length-2?M=l[l.length-1]:!b&&_===-1?M=l[0]:g%2?M=G(P):M=[(G(P)[0]+G(P+1)[0])/2,(G(P)[1]+G(P+1)[1])/2],l.splice(_+1,d-_+1,M),d=_+1,C&&(A=C),b&&(d===l.length-2?l[C]=l[l.length-1]:d===0&&(l[l.length-1]=l[0]))}for(l.splice(0,A),d=0;d<l.length;d++)l[d].length=2;if(!(l.length<2))if(b)l.pop(),e.paths.push(l);else{r||b8.log(\"Unclosed interior contour?\",e.level,f.join(\",\"),l.join(\"L\"));var N=!1;for(F=0;F<e.edgepaths.length;F++)if(V=e.edgepaths[F],!N&&M4(V[0],l[l.length-1],n,i)){l.pop(),N=!0;var W=!1;for(q=0;q<e.edgepaths.length;q++)if(H=e.edgepaths[q],M4(H[H.length-1],l[0],n,i)){W=!0,l.shift(),e.edgepaths.splice(F,1),q===F?e.paths.push(l.concat(H)):(q>F&&q--,e.edgepaths[q]=H.concat(l,V));break}W||(e.edgepaths[F]=l.concat(V))}for(F=0;F<e.edgepaths.length&&!N;F++)V=e.edgepaths[F],M4(V[V.length-1],l[0],n,i)&&(l.shift(),e.edgepaths[F]=V.concat(l),N=!0);N||e.edgepaths.push(l)}}function txt(e,t,r){var n=0,i=0;return e>20&&t?e===208||e===1114?n=r[0]===0?1:-1:i=r[1]===0?1:-1:RT.BOTTOMSTART.indexOf(e)!==-1?i=1:RT.LEFTSTART.indexOf(e)!==-1?n=1:RT.TOPSTART.indexOf(e)!==-1?i=-1:n=-1,[n,i]}function Yxe(e,t,r){var n=t[0]+Math.max(r[0],0),i=t[1]+Math.max(r[1],0),a=e.z[i][n],o=e.xaxis,s=e.yaxis;if(r[1]){var l=(e.level-a)/(e.z[i][n+1]-a),u=(l!==1?(1-l)*o.c2l(e.x[n]):0)+(l!==0?l*o.c2l(e.x[n+1]):0);return[o.c2p(o.l2c(u),!0),s.c2p(e.y[i],!0),n+l,i]}else{var c=(e.level-a)/(e.z[i+1][n]-a),f=(c!==1?(1-c)*s.c2l(e.y[i]):0)+(c!==0?c*s.c2l(e.y[i+1]):0);return[o.c2p(e.x[n],!0),s.c2p(s.l2c(f),!0),n,i+c]}}});var ebe=ye((Ysr,Qxe)=>{\"use strict\";var cH=g8(),rxt=uo();Qxe.exports={\"[]\":Jxe(\"[]\"),\"][\":Jxe(\"][\"),\">\":fH(\">\"),\"<\":fH(\"<\"),\"=\":fH(\"=\")};function $xe(e,t){var r=Array.isArray(t),n;function i(a){return rxt(a)?+a:null}return cH.COMPARISON_OPS2.indexOf(e)!==-1?n=i(r?t[0]:t):cH.INTERVAL_OPS.indexOf(e)!==-1?n=r?[i(t[0]),i(t[1])]:[i(t),i(t)]:cH.SET_OPS.indexOf(e)!==-1&&(n=r?t.map(i):[i(t)]),n}function Jxe(e){return function(t){t=$xe(e,t);var r=Math.min(t[0],t[1]),n=Math.max(t[0],t[1]);return{start:r,end:n,size:n-r}}}function fH(e){return function(t){return t=$xe(e,t),{start:t,end:1/0,size:1/0}}}});var hH=ye((Ksr,rbe)=>{\"use strict\";var tbe=Mr(),ixt=ebe(),nxt=A4();rbe.exports=function(t,r,n){for(var i=t.type===\"constraint\"?ixt[t._operation](t.value):t,a=i.size,o=[],s=nxt(i),l=n.trace._carpetTrace,u=l?{xaxis:l.aaxis,yaxis:l.baxis,x:n.a,y:n.b}:{xaxis:r.xaxis,yaxis:r.yaxis,x:n.x,y:n.y},c=i.start;c<s;c+=a)if(o.push(tbe.extendFlat({level:c,crossings:{},starts:[],edgepaths:[],paths:[],z:n.z,smoothing:n.trace.line.smoothing},u)),o.length>1e3){tbe.warn(\"Too many contours, clipping at 1000\",t);break}return o}});var dH=ye((Jsr,nbe)=>{\"use strict\";var DT=Mr();nbe.exports=function(e,t){var r,n,i,a=function(l){return l.reverse()},o=function(l){return l};switch(t){case\"=\":case\"<\":return e;case\">\":for(e.length!==1&&DT.warn(\"Contour data invalid for the specified inequality operation.\"),n=e[0],r=0;r<n.edgepaths.length;r++)n.edgepaths[r]=a(n.edgepaths[r]);for(r=0;r<n.paths.length;r++)n.paths[r]=a(n.paths[r]);for(r=0;r<n.starts.length;r++)n.starts[r]=a(n.starts[r]);return e;case\"][\":var s=a;a=o,o=s;case\"[]\":for(e.length!==2&&DT.warn(\"Contour data invalid for the specified inequality range operation.\"),n=ibe(e[0]),i=ibe(e[1]),r=0;r<n.edgepaths.length;r++)n.edgepaths[r]=a(n.edgepaths[r]);for(r=0;r<n.paths.length;r++)n.paths[r]=a(n.paths[r]);for(r=0;r<n.starts.length;r++)n.starts[r]=a(n.starts[r]);for(;i.edgepaths.length;)n.edgepaths.push(o(i.edgepaths.shift()));for(;i.paths.length;)n.paths.push(o(i.paths.shift()));for(;i.starts.length;)n.starts.push(o(i.starts.shift()));return[n]}};function ibe(e){return DT.extendFlat({},e,{edgepaths:DT.extendDeep([],e.edgepaths),paths:DT.extendDeep([],e.paths),starts:DT.extendDeep([],e.starts)})}});var vH=ye(($sr,abe)=>{\"use strict\";abe.exports=function(e,t){var r=e[0],n=r.z,i;switch(t.type){case\"levels\":var a=Math.min(n[0][0],n[0][1]);for(i=0;i<e.length;i++){var o=e[i];o.prefixBoundary=!o.edgepaths.length&&(a>o.level||o.starts.length&&a===o.level)}break;case\"constraint\":if(r.prefixBoundary=!1,r.edgepaths.length)return;var s=r.x.length,l=r.y.length,u=-1/0,c=1/0;for(i=0;i<l;i++)c=Math.min(c,n[i][0]),c=Math.min(c,n[i][s-1]),u=Math.max(u,n[i][0]),u=Math.max(u,n[i][s-1]);for(i=1;i<s-1;i++)c=Math.min(c,n[0][i]),c=Math.min(c,n[l-1][i]),u=Math.max(u,n[0][i]),u=Math.max(u,n[l-1][i]);var f=t.value,h,d;switch(t._operation){case\">\":f>u&&(r.prefixBoundary=!0);break;case\"<\":(f<c||r.starts.length&&f===c)&&(r.prefixBoundary=!0);break;case\"[]\":h=Math.min(f[0],f[1]),d=Math.max(f[0],f[1]),(d<c||h>u||r.starts.length&&d===c)&&(r.prefixBoundary=!0);break;case\"][\":h=Math.min(f[0],f[1]),d=Math.max(f[0],f[1]),h<c&&d>u&&(r.prefixBoundary=!0);break}break}}});var w8=ye(Gv=>{\"use strict\";var k4=xa(),Id=Mr(),Oy=ao(),axt=Mu(),lbe=Pl(),obe=Qa(),sbe=ym(),oxt=s8(),ube=lH(),cbe=uH(),sxt=hH(),lxt=dH(),fbe=vH(),E4=S4(),Rm=E4.LABELOPTIMIZER;Gv.plot=function(t,r,n,i){var a=r.xaxis,o=r.yaxis;Id.makeTraceGroups(i,n,\"contour\").each(function(s){var l=k4.select(this),u=s[0],c=u.trace,f=u.x,h=u.y,d=c.contours,v=sxt(d,r,u),x=Id.ensureSingle(l,\"g\",\"heatmapcoloring\"),b=[];d.coloring===\"heatmap\"&&(b=[s]),oxt(t,r,b,x),ube(v),cbe(v);var p=a.c2p(f[0],!0),E=a.c2p(f[f.length-1],!0),k=o.c2p(h[0],!0),A=o.c2p(h[h.length-1],!0),L=[[p,A],[E,A],[E,k],[p,k]],_=v;d.type===\"constraint\"&&(_=lxt(v,d._operation)),uxt(l,L,d),cxt(l,_,L,d),fxt(l,v,t,u,d),dxt(l,r,t,u,L)})};function uxt(e,t,r){var n=Id.ensureSingle(e,\"g\",\"contourbg\"),i=n.selectAll(\"path\").data(r.coloring===\"fill\"?[0]:[]);i.enter().append(\"path\"),i.exit().remove(),i.attr(\"d\",\"M\"+t.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}function cxt(e,t,r,n){var i=n.coloring===\"fill\"||n.type===\"constraint\"&&n._operation!==\"=\",a=\"M\"+r.join(\"L\")+\"Z\";i&&fbe(t,n);var o=Id.ensureSingle(e,\"g\",\"contourfill\"),s=o.selectAll(\"path\").data(i?t:[]);s.enter().append(\"path\"),s.exit().remove(),s.each(function(l){var u=(l.prefixBoundary?a:\"\")+hbe(l,r);u?k4.select(this).attr(\"d\",u).style(\"stroke\",\"none\"):k4.select(this).remove()})}function hbe(e,t){var r=\"\",n=0,i=e.edgepaths.map(function(p,E){return E}),a=!0,o,s,l,u,c,f;function h(p){return Math.abs(p[1]-t[0][1])<.01}function d(p){return Math.abs(p[1]-t[2][1])<.01}function v(p){return Math.abs(p[0]-t[0][0])<.01}function x(p){return Math.abs(p[0]-t[2][0])<.01}for(;i.length;){for(f=Oy.smoothopen(e.edgepaths[n],e.smoothing),r+=a?f:f.replace(/^M/,\"L\"),i.splice(i.indexOf(n),1),o=e.edgepaths[n][e.edgepaths[n].length-1],u=-1,l=0;l<4;l++){if(!o){Id.log(\"Missing end?\",n,e);break}for(h(o)&&!x(o)?s=t[1]:v(o)?s=t[0]:d(o)?s=t[3]:x(o)&&(s=t[2]),c=0;c<e.edgepaths.length;c++){var b=e.edgepaths[c][0];Math.abs(o[0]-s[0])<.01?Math.abs(o[0]-b[0])<.01&&(b[1]-o[1])*(s[1]-b[1])>=0&&(s=b,u=c):Math.abs(o[1]-s[1])<.01?Math.abs(o[1]-b[1])<.01&&(b[0]-o[0])*(s[0]-b[0])>=0&&(s=b,u=c):Id.log(\"endpt to newendpt is not vert. or horz.\",o,s,b)}if(o=s,u>=0)break;r+=\"L\"+s}if(u===e.edgepaths.length){Id.log(\"unclosed perimeter path\");break}n=u,a=i.indexOf(n)===-1,a&&(n=i[0],r+=\"Z\")}for(n=0;n<e.paths.length;n++)r+=Oy.smoothclosed(e.paths[n],e.smoothing);return r}function fxt(e,t,r,n,i){var a=r._context.staticPlot,o=Id.ensureSingle(e,\"g\",\"contourlines\"),s=i.showlines!==!1,l=i.showlabels,u=s&&l,c=Gv.createLines(o,s||l,t,a),f=Gv.createLineClip(o,u,r,n.trace.uid),h=e.selectAll(\"g.contourlabels\").data(l?[0]:[]);if(h.exit().remove(),h.enter().append(\"g\").classed(\"contourlabels\",!0),l){var d=[],v=[];Id.clearLocationCache();var x=Gv.labelFormatter(r,n),b=Oy.tester.append(\"text\").attr(\"data-notex\",1).call(Oy.font,i.labelfont),p=t[0].xaxis,E=t[0].yaxis,k=p._length,A=E._length,L=p.range,_=E.range,C=Id.aggNums(Math.min,null,n.x),M=Id.aggNums(Math.max,null,n.x),g=Id.aggNums(Math.min,null,n.y),P=Id.aggNums(Math.max,null,n.y),T=Math.max(p.c2p(C,!0),0),F=Math.min(p.c2p(M,!0),k),q=Math.max(E.c2p(P,!0),0),V=Math.min(E.c2p(g,!0),A),H={};L[0]<L[1]?(H.left=T,H.right=F):(H.left=F,H.right=T),_[0]<_[1]?(H.top=q,H.bottom=V):(H.top=V,H.bottom=q),H.middle=(H.top+H.bottom)/2,H.center=(H.left+H.right)/2,d.push([[H.left,H.top],[H.right,H.top],[H.right,H.bottom],[H.left,H.bottom]]);var X=Math.sqrt(k*k+A*A),G=E4.LABELDISTANCE*X/Math.max(1,t.length/E4.LABELINCREASE);c.each(function(N){var W=Gv.calcTextOpts(N.level,x,b,r);k4.select(this).selectAll(\"path\").each(function(){var re=this,ae=Id.getVisibleSegment(re,H,W.height/2);if(ae&&!(ae.len<(W.width+W.height)*E4.LABELMIN))for(var _e=Math.min(Math.ceil(ae.len/G),E4.LABELMAX),Me=0;Me<_e;Me++){var ke=Gv.findBestTextLocation(re,ae,W,v,H);if(!ke)break;Gv.addLabelData(ke,W,v,d)}})}),b.remove(),Gv.drawLabels(h,v,r,f,u?d:null)}l&&!s&&c.remove()}Gv.createLines=function(e,t,r,n){var i=r[0].smoothing,a=e.selectAll(\"g.contourlevel\").data(t?r:[]);if(a.exit().remove(),a.enter().append(\"g\").classed(\"contourlevel\",!0),t){var o=a.selectAll(\"path.openline\").data(function(l){return l.pedgepaths||l.edgepaths});o.exit().remove(),o.enter().append(\"path\").classed(\"openline\",!0),o.attr(\"d\",function(l){return Oy.smoothopen(l,i)}).style(\"stroke-miterlimit\",1).style(\"vector-effect\",n?\"none\":\"non-scaling-stroke\");var s=a.selectAll(\"path.closedline\").data(function(l){return l.ppaths||l.paths});s.exit().remove(),s.enter().append(\"path\").classed(\"closedline\",!0),s.attr(\"d\",function(l){return Oy.smoothclosed(l,i)}).style(\"stroke-miterlimit\",1).style(\"vector-effect\",n?\"none\":\"non-scaling-stroke\")}return a};Gv.createLineClip=function(e,t,r,n){var i=r._fullLayout._clips,a=t?\"clipline\"+n:null,o=i.selectAll(\"#\"+a).data(t?[0]:[]);return o.exit().remove(),o.enter().append(\"clipPath\").classed(\"contourlineclip\",!0).attr(\"id\",a),Oy.setClipUrl(e,a,r),o};Gv.labelFormatter=function(e,t){var r=e._fullLayout,n=t.trace,i=n.contours,a={type:\"linear\",_id:\"ycontour\",showexponent:\"all\",exponentformat:\"B\"};if(i.labelformat)a.tickformat=i.labelformat,sbe(a,r);else{var o=axt.extractOpts(n);if(o&&o.colorbar&&o.colorbar._axis)a=o.colorbar._axis;else{if(i.type===\"constraint\"){var s=i.value;Id.isArrayOrTypedArray(s)?a.range=[s[0],s[s.length-1]]:a.range=[s,s]}else a.range=[i.start,i.end],a.nticks=(i.end-i.start)/i.size;a.range[0]===a.range[1]&&(a.range[1]+=a.range[0]||1),a.nticks||(a.nticks=1e3),sbe(a,r),obe.prepTicks(a),a._tmin=null,a._tmax=null}}return function(l){return obe.tickText(a,l).text}};Gv.calcTextOpts=function(e,t,r,n){var i=t(e);r.text(i).call(lbe.convertToTspans,n);var a=r.node(),o=Oy.bBox(a,!0);return{text:i,width:o.width,height:o.height,fontSize:+a.style[\"font-size\"].replace(\"px\",\"\"),level:e,dy:(o.top+o.bottom)/2}};Gv.findBestTextLocation=function(e,t,r,n,i){var a=r.width,o,s,l,u,c;t.isClosed?(s=t.len/Rm.INITIALSEARCHPOINTS,o=t.min+s/2,l=t.max):(s=(t.len-a)/(Rm.INITIALSEARCHPOINTS+1),o=t.min+s+a/2,l=t.max-(s+a)/2);for(var f=1/0,h=0;h<Rm.ITERATIONS;h++){for(var d=o;d<l;d+=s){var v=Id.getTextLocation(e,t.total,d,a),x=hxt(v,r,n,i);x<f&&(f=x,c=v,u=d)}if(f>Rm.MAXCOST*2)break;h&&(s/=2),o=u-s/2,l=o+s*1.5}if(f<=Rm.MAXCOST)return c};function hxt(e,t,r,n){var i=t.width/2,a=t.height/2,o=e.x,s=e.y,l=e.theta,u=Math.cos(l)*i,c=Math.sin(l)*i,f=(o>n.center?n.right-o:o-n.left)/(u+Math.abs(Math.sin(l)*a)),h=(s>n.middle?n.bottom-s:s-n.top)/(Math.abs(c)+Math.cos(l)*a);if(f<1||h<1)return 1/0;var d=Rm.EDGECOST*(1/(f-1)+1/(h-1));d+=Rm.ANGLECOST*l*l;for(var v=o-u,x=s-c,b=o+u,p=s+c,E=0;E<r.length;E++){var k=r[E],A=Math.cos(k.theta)*k.width/2,L=Math.sin(k.theta)*k.width/2,_=Id.segmentDistance(v,x,b,p,k.x-A,k.y-L,k.x+A,k.y+L)*2/(t.height+k.height),C=k.level===t.level,M=C?Rm.SAMELEVELDISTANCE:1;if(_<=M)return 1/0;var g=Rm.NEIGHBORCOST*(C?Rm.SAMELEVELFACTOR:1);d+=g/(_-M)}return d}Gv.addLabelData=function(e,t,r,n){var i=t.fontSize,a=t.width+i/3,o=Math.max(0,t.height-i/3),s=e.x,l=e.y,u=e.theta,c=Math.sin(u),f=Math.cos(u),h=function(v,x){return[s+v*f-x*c,l+v*c+x*f]},d=[h(-a/2,-o/2),h(-a/2,o/2),h(a/2,o/2),h(a/2,-o/2)];r.push({text:t.text,x:s,y:l,dy:t.dy,theta:u,level:t.level,width:a,height:o}),n.push(d)};Gv.drawLabels=function(e,t,r,n,i){var a=e.selectAll(\"text\").data(t,function(u){return u.text+\",\"+u.x+\",\"+u.y+\",\"+u.theta});if(a.exit().remove(),a.enter().append(\"text\").attr({\"data-notex\":1,\"text-anchor\":\"middle\"}).each(function(u){var c=u.x+Math.sin(u.theta)*u.dy,f=u.y-Math.cos(u.theta)*u.dy;k4.select(this).text(u.text).attr({x:c,y:f,transform:\"rotate(\"+180*u.theta/Math.PI+\" \"+c+\" \"+f+\")\"}).call(lbe.convertToTspans,r)}),i){for(var o=\"\",s=0;s<i.length;s++)o+=\"M\"+i[s].join(\"L\")+\"Z\";var l=Id.ensureSingle(n,\"path\",\"\");l.attr(\"d\",o)}};function dxt(e,t,r,n,i){var a=n.trace,o=r._fullLayout._clips,s=\"clip\"+a.uid,l=o.selectAll(\"#\"+s).data(a.connectgaps?[]:[0]);if(l.enter().append(\"clipPath\").classed(\"contourclip\",!0).attr(\"id\",s),l.exit().remove(),a.connectgaps===!1){var u={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:t.xaxis,yaxis:t.yaxis,x:n.x,y:n.y,z:vxt(n),smoothing:0};ube([u]),cbe([u]),fbe([u],{type:\"levels\"});var c=Id.ensureSingle(l,\"path\",\"\");c.attr(\"d\",(u.prefixBoundary?\"M\"+i.join(\"L\")+\"Z\":\"\")+hbe(u,i))}else s=null;Oy.setClipUrl(e,s,r)}function vxt(e){var t=e.trace._emptypoints,r=[],n=e.z.length,i=e.z[0].length,a,o=[],s;for(a=0;a<i;a++)o.push(1);for(a=0;a<n;a++)r.push(o.slice());for(a=0;a<t.length;a++)s=t[a],r[s[0]][s[1]]=0;return e.zmask=r,r}});var gH=ye((elr,dbe)=>{\"use strict\";var pxt=xa(),pH=Mu(),gxt=A4();dbe.exports=function(t){var r=t.contours,n=r.start,i=gxt(r),a=r.size||1,o=Math.floor((i-n)/a)+1,s=r.coloring===\"lines\"?0:1,l=pH.extractOpts(t);isFinite(a)||(a=1,o=1);var u=l.reversescale?pH.flipScale(l.colorscale):l.colorscale,c=u.length,f=new Array(c),h=new Array(c),d,v,x=l.min,b=l.max;if(r.coloring===\"heatmap\"){for(v=0;v<c;v++)d=u[v],f[v]=d[0]*(b-x)+x,h[v]=d[1];var p=pxt.extent([x,b,r.start,r.start+a*(o-1)]),E=p[x<b?0:1],k=p[x<b?1:0];E!==x&&(f.splice(0,0,E),h.splice(0,0,h[0])),k!==b&&(f.push(k),h.push(h[h.length-1]))}else{var A=t._input&&typeof t._input.zmin==\"number\"&&typeof t._input.zmax==\"number\";for(A&&(n<=x||i>=b)&&(n<=x&&(n=x),i>=b&&(i=b),o=Math.floor((i-n)/a)+1,s=0),v=0;v<c;v++)d=u[v],f[v]=(d[0]*(o+s-1)-s/2)*a+n,h[v]=d[1];(A||t.autocontour)&&(f[0]>x&&(f.unshift(x),h.unshift(h[0])),f[f.length-1]<b&&(f.push(b),h.push(h[h.length-1])))}return pH.makeColorScaleFunc({domain:f,range:h},{noNumericCheck:!0})}});var A8=ye((tlr,pbe)=>{\"use strict\";var T8=xa(),vbe=ao(),mxt=l8(),yxt=gH();pbe.exports=function(t){var r=T8.select(t).selectAll(\"g.contour\");r.style(\"opacity\",function(n){return n[0].trace.opacity}),r.each(function(n){var i=T8.select(this),a=n[0].trace,o=a.contours,s=a.line,l=o.size||1,u=o.start,c=o.type===\"constraint\",f=!c&&o.coloring===\"lines\",h=!c&&o.coloring===\"fill\",d=f||h?yxt(a):null;i.selectAll(\"g.contourlevel\").each(function(b){T8.select(this).selectAll(\"path\").call(vbe.lineGroupStyle,s.width,f?d(b.level):s.color,s.dash)});var v=o.labelfont;if(i.selectAll(\"g.contourlabels text\").each(function(b){vbe.font(T8.select(this),{weight:v.weight,style:v.style,variant:v.variant,textcase:v.textcase,lineposition:v.lineposition,shadow:v.shadow,family:v.family,size:v.size,color:v.color||(f?d(b.level):s.color)})}),c)i.selectAll(\"g.contourfill path\").style(\"fill\",a.fillcolor);else if(h){var x;i.selectAll(\"g.contourfill path\").style(\"fill\",function(b){return x===void 0&&(x=b.level),d(b.level+.5*l)}),x===void 0&&(x=u),i.selectAll(\"g.contourbg path\").style(\"fill\",d(x-.5*l))}}),mxt(t)}});var S8=ye((rlr,mbe)=>{\"use strict\";var gbe=Mu(),_xt=gH(),xxt=A4();function bxt(e,t,r){var n=t.contours,i=t.line,a=n.size||1,o=n.coloring,s=_xt(t,{isColorbar:!0});if(o===\"heatmap\"){var l=gbe.extractOpts(t);r._fillgradient=l.reversescale?gbe.flipScale(l.colorscale):l.colorscale,r._zrange=[l.min,l.max]}else o===\"fill\"&&(r._fillcolor=s);r._line={color:o===\"lines\"?s:i.color,width:n.showlines!==!1?i.width:0,dash:i.dash},r._levels={start:n.start,end:xxt(n),size:a}}mbe.exports={min:\"zmin\",max:\"zmax\",calc:bxt}});var mH=ye((ilr,ybe)=>{\"use strict\";var M8=va(),wxt=c8();ybe.exports=function(t,r,n,i,a){a||(a={}),a.isContour=!0;var o=wxt(t,r,n,i,a);return o&&o.forEach(function(s){var l=s.trace;l.contours.type===\"constraint\"&&(l.fillcolor&&M8.opacity(l.fillcolor)?s.color=M8.addOpacity(l.fillcolor,1):l.contours.showlines&&M8.opacity(l.line.color)&&(s.color=M8.addOpacity(l.line.color,1)))}),o}});var xbe=ye((nlr,_be)=>{\"use strict\";_be.exports={attributes:rH(),supplyDefaults:Nxe(),crossTraceDefaults:d8(),calc:sH(),plot:w8().plot,layerName:\"contourlayer\",style:A8(),colorbar:S8(),hoverPoints:mH(),moduleType:\"trace\",name:\"histogram2dcontour\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"histogram\",\"showLegend\"],meta:{}}});var wbe=ye((alr,bbe)=>{\"use strict\";bbe.exports=xbe()});var yH=ye((olr,kbe)=>{\"use strict\";var Tbe=uo(),Txt=iH(),Mbe=va(),Abe=Mbe.addOpacity,Axt=Mbe.opacity,Ebe=g8(),Sbe=Mr().isArrayOrTypedArray,Sxt=Ebe.CONSTRAINT_REDUCTION,Mxt=Ebe.COMPARISON_OPS2;kbe.exports=function(t,r,n,i,a,o){var s=r.contours,l,u,c,f=n(\"contours.operation\");if(s._operation=Sxt[f],Ext(n,s),f===\"=\"?l=s.showlines=!0:(l=n(\"contours.showlines\"),c=n(\"fillcolor\",Abe((t.line||{}).color||a,.5))),l){var h=c&&Axt(c)?Abe(r.fillcolor,1):a;u=n(\"line.color\",h),n(\"line.width\",2),n(\"line.dash\")}n(\"line.smoothing\"),Txt(n,i,u,o)};function Ext(e,t){var r;Mxt.indexOf(t.operation)===-1?(e(\"contours.value\",[0,1]),Sbe(t.value)?t.value.length>2?t.value=t.value.slice(2):t.length===0?t.value=[0,1]:t.length<2?(r=parseFloat(t.value[0]),t.value=[r,r+1]):t.value=[parseFloat(t.value[0]),parseFloat(t.value[1])]:Tbe(t.value)&&(r=parseFloat(t.value),t.value=[r,r+1])):(e(\"contours.value\",0),Tbe(t.value)||(Sbe(t.value)?t.value=parseFloat(t.value[0]):t.value=0))}});var Pbe=ye((slr,Lbe)=>{\"use strict\";var _H=Mr(),kxt=XI(),Cxt=Pg(),Lxt=yH(),Pxt=y8(),Ixt=_8(),Rxt=y4(),Cbe=T4();Lbe.exports=function(t,r,n,i){function a(u,c){return _H.coerce(t,r,Cbe,u,c)}function o(u){return _H.coerce2(t,r,Cbe,u)}var s=kxt(t,r,a,i);if(!s){r.visible=!1;return}Cxt(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"text\"),a(\"hovertext\"),a(\"hoverongaps\"),a(\"hovertemplate\");var l=a(\"contours.type\")===\"constraint\";a(\"connectgaps\",_H.isArray1D(r.z)),l?Lxt(t,r,a,i,n):(Pxt(t,r,a,o),Ixt(t,r,a,i)),r.contours&&r.contours.coloring===\"heatmap\"&&Rxt(a,i),a(\"zorder\")}});var Rbe=ye((llr,Ibe)=>{\"use strict\";Ibe.exports={attributes:T4(),supplyDefaults:Pbe(),calc:sH(),plot:w8().plot,style:A8(),colorbar:S8(),hoverPoints:mH(),moduleType:\"trace\",name:\"contour\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"showLegend\"],meta:{}}});var zbe=ye((ulr,Dbe)=>{\"use strict\";Dbe.exports=Rbe()});var xH=ye((clr,qbe)=>{\"use strict\";var Dxt=Wo().hovertemplateAttrs,zxt=Wo().texttemplateAttrs,Fxt=Eg(),a0=Uc(),qxt=vl(),Fbe=Jl(),Oxt=Ed().dash,E_=no().extendFlat,j0=a0.marker,C4=a0.line,Bxt=j0.line;qbe.exports={a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},c:{valType:\"data_array\",editType:\"calc\"},sum:{valType:\"number\",dflt:0,min:0,editType:\"calc\"},mode:E_({},a0.mode,{dflt:\"markers\"}),text:E_({},a0.text,{}),texttemplate:zxt({editType:\"plot\"},{keys:[\"a\",\"b\",\"c\",\"text\"]}),hovertext:E_({},a0.hovertext,{}),line:{color:C4.color,width:C4.width,dash:Oxt,backoff:C4.backoff,shape:E_({},C4.shape,{values:[\"linear\",\"spline\"]}),smoothing:C4.smoothing,editType:\"calc\"},connectgaps:a0.connectgaps,cliponaxis:a0.cliponaxis,fill:E_({},a0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:Fxt(),marker:E_({symbol:j0.symbol,opacity:j0.opacity,angle:j0.angle,angleref:j0.angleref,standoff:j0.standoff,maxdisplayed:j0.maxdisplayed,size:j0.size,sizeref:j0.sizeref,sizemin:j0.sizemin,sizemode:j0.sizemode,line:E_({width:Bxt.width,editType:\"calc\"},Fbe(\"marker.line\")),gradient:j0.gradient,editType:\"calc\"},Fbe(\"marker\")),textfont:a0.textfont,textposition:a0.textposition,selected:a0.selected,unselected:a0.unselected,hoverinfo:E_({},qxt.hoverinfo,{flags:[\"a\",\"b\",\"c\",\"text\",\"name\"]}),hoveron:a0.hoveron,hovertemplate:Dxt()}});var Ube=ye((flr,Nbe)=>{\"use strict\";var Obe=Mr(),Nxt=Sm(),zT=lu(),Uxt=$p(),Vxt=R0(),Bbe=J3(),Hxt=D0(),Gxt=Ig(),jxt=xH();Nbe.exports=function(t,r,n,i){function a(h,d){return Obe.coerce(t,r,jxt,h,d)}var o=a(\"a\"),s=a(\"b\"),l=a(\"c\"),u;if(o?(u=o.length,s?(u=Math.min(u,s.length),l&&(u=Math.min(u,l.length))):l?u=Math.min(u,l.length):u=0):s&&l&&(u=Math.min(s.length,l.length)),!u){r.visible=!1;return}r._length=u,a(\"sum\"),a(\"text\"),a(\"hovertext\"),r.hoveron!==\"fills\"&&a(\"hovertemplate\");var c=u<Nxt.PTS_LINESONLY?\"lines+markers\":\"lines\";a(\"mode\",c),zT.hasMarkers(r)&&Uxt(t,r,n,i,a,{gradient:!0}),zT.hasLines(r)&&(Vxt(t,r,n,i,a,{backoff:!0}),Bbe(t,r,a),a(\"connectgaps\")),zT.hasText(r)&&(a(\"texttemplate\"),Hxt(t,r,i,a));var f=[];(zT.hasMarkers(r)||zT.hasText(r))&&(a(\"cliponaxis\"),a(\"marker.maxdisplayed\"),f.push(\"points\")),a(\"fill\"),r.fill!==\"none\"&&(Gxt(t,r,n,a),zT.hasLines(r)||Bbe(t,r,a)),(r.fill===\"tonext\"||r.fill===\"toself\")&&f.push(\"fills\"),a(\"hoveron\",f.join(\"+\")||\"points\"),Obe.coerceSelectionMarkerOpacity(r,a)}});var Hbe=ye((hlr,Vbe)=>{\"use strict\";var bH=Qa();Vbe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot;return i.aLabel=bH.tickText(a.aaxis,t.a,!0).text,i.bLabel=bH.tickText(a.baxis,t.b,!0).text,i.cLabel=bH.tickText(a.caxis,t.c,!0).text,i}});var Zbe=ye((dlr,Wbe)=>{\"use strict\";var wH=uo(),Wxt=z0(),Zxt=km(),Xxt=F0(),Yxt=q0().calcMarkerSize,Gbe=[\"a\",\"b\",\"c\"],jbe={a:[\"b\",\"c\"],b:[\"a\",\"c\"],c:[\"a\",\"b\"]};Wbe.exports=function(t,r){var n=t._fullLayout[r.subplot],i=n.sum,a=r.sum||i,o={a:r.a,b:r.b,c:r.c},s=r.ids,l,u,c,f,h,d;for(l=0;l<Gbe.length;l++)if(c=Gbe[l],!o[c]){for(h=o[jbe[c][0]],d=o[jbe[c][1]],f=new Array(h.length),u=0;u<h.length;u++)f[u]=a-h[u]-d[u];o[c]=f}var v=r._length,x=new Array(v),b,p,E,k,A,L;for(l=0;l<v;l++)b=o.a[l],p=o.b[l],E=o.c[l],wH(b)&&wH(p)&&wH(E)?(b=+b,p=+p,E=+E,k=i/(b+p+E),k!==1&&(b*=k,p*=k,E*=k),L=b,A=E-p,x[l]={x:A,y:L,a:b,b:p,c:E},s&&(x[l].id=s[l])):x[l]={x:!1,y:!1};return Yxt(r,v),Wxt(t,r),Zxt(x,r),Xxt(x,r),x}});var Ybe=ye((vlr,Xbe)=>{\"use strict\";var Kxt=iT();Xbe.exports=function(t,r,n){var i=r.plotContainer;i.select(\".scatterlayer\").selectAll(\"*\").remove();for(var a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:r._hasClipOnAxisFalse?r.clipIdRelative:null},l=r.layers.frontplot.select(\"g.scatterlayer\"),u=0;u<n.length;u++){var c=n[u];c.length&&(c[0].trace._xA=a,c[0].trace._yA=o)}Kxt(t,s,n,l)}});var Jbe=ye((plr,Kbe)=>{\"use strict\";var Jxt=sT();Kbe.exports=function(t,r,n,i){var a=Jxt(t,r,n,i);if(!a||a[0].index===!1)return;var o=a[0];if(o.index===void 0){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,c=l-u;return o.x0=Math.max(Math.min(o.x0,c),u),o.x1=Math.max(Math.min(o.x1,c),u),a}var f=o.cd[o.index],h=o.trace,d=o.subplot;o.a=f.a,o.b=f.b,o.c=f.c,o.xLabelVal=void 0,o.yLabelVal=void 0;var v={};v[h.subplot]={_subplot:d};var x=h._module.formatLabels(f,h,v);o.aLabel=x.aLabel,o.bLabel=x.bLabel,o.cLabel=x.cLabel;var b=f.hi||h.hoverinfo,p=[];function E(A,L){p.push(A._hovertitle+\": \"+L)}if(!h.hovertemplate){var k=b.split(\"+\");k.indexOf(\"all\")!==-1&&(k=[\"a\",\"b\",\"c\"]),k.indexOf(\"a\")!==-1&&E(d.aaxis,o.aLabel),k.indexOf(\"b\")!==-1&&E(d.baxis,o.bLabel),k.indexOf(\"c\")!==-1&&E(d.caxis,o.cLabel)}return o.extraText=p.join(\"<br>\"),o.hovertemplate=h.hovertemplate,a}});var Qbe=ye((glr,$be)=>{\"use strict\";$be.exports=function(t,r,n,i,a){if(r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),i[a]){var o=i[a];t.a=o.a,t.b=o.b,t.c=o.c}else t.a=r.a,t.b=r.b,t.c=r.c;return t}});var c2e=ye((mlr,u2e)=>{\"use strict\";var a2e=xa(),$xt=id(),TH=ba(),By=Mr(),Dm=By.strTranslate,E8=By._,qT=va(),k8=ao(),L4=ym(),AH=no().extendFlat,Qxt=Xu(),k_=Qa(),e2e=gv(),t2e=Nc(),o2e=Sg(),r2e=o2e.freeMode,ebt=o2e.rectMode,SH=Mb(),tbt=wf().prepSelect,rbt=wf().selectOnClick,ibt=wf().clearOutline,nbt=wf().clearSelectionsCache,s2e=ad();function l2e(e,t){this.id=e.id,this.graphDiv=e.graphDiv,this.init(t),this.makeFramework(t),this.updateFx(t),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}u2e.exports=l2e;var zm=l2e.prototype;zm.init=function(e){this.container=e._ternarylayer,this.defs=e._defs,this.layoutId=e._uid,this.traceHash={},this.layers={}};zm.plot=function(e,t){var r=this,n=t[r.id],i=t._size;r._hasClipOnAxisFalse=!1;for(var a=0;a<e.length;a++){var o=e[a][0].trace;if(o.cliponaxis===!1){r._hasClipOnAxisFalse=!0;break}}r.updateLayers(n),r.adjustLayout(n,i),Qxt.generalUpdatePerTraceModule(r.graphDiv,r,e,n),r.layers.plotbg.select(\"path\").call(qT.fill,n.bgcolor)};zm.makeFramework=function(e){var t=this,r=t.graphDiv,n=e[t.id],i=t.clipId=\"clip\"+t.layoutId+t.id,a=t.clipIdRelative=\"clip-relative\"+t.layoutId+t.id;t.clipDef=By.ensureSingleById(e._clips,\"clipPath\",i,function(o){o.append(\"path\").attr(\"d\",\"M0,0Z\")}),t.clipDefRelative=By.ensureSingleById(e._clips,\"clipPath\",a,function(o){o.append(\"path\").attr(\"d\",\"M0,0Z\")}),t.plotContainer=By.ensureSingle(t.container,\"g\",t.id),t.updateLayers(n),k8.setClipUrl(t.layers.backplot,i,r),k8.setClipUrl(t.layers.grids,i,r)};zm.updateFx=function(e){e._ternarylayer.selectAll(\"g.toplevel\").style(\"cursor\",e.dragmode===\"pan\"?\"move\":\"crosshair\")};zm.updateLayers=function(e){var t=this,r=t.layers,n=[\"draglayer\",\"plotbg\",\"backplot\",\"grids\"];e.aaxis.layer===\"below traces\"&&n.push(\"aaxis\",\"aline\"),e.baxis.layer===\"below traces\"&&n.push(\"baxis\",\"bline\"),e.caxis.layer===\"below traces\"&&n.push(\"caxis\",\"cline\"),n.push(\"frontplot\"),e.aaxis.layer===\"above traces\"&&n.push(\"aaxis\",\"aline\"),e.baxis.layer===\"above traces\"&&n.push(\"baxis\",\"bline\"),e.caxis.layer===\"above traces\"&&n.push(\"caxis\",\"cline\");var i=t.plotContainer.selectAll(\"g.toplevel\").data(n,String),a=[\"agrid\",\"bgrid\",\"cgrid\"];i.enter().append(\"g\").attr(\"class\",function(o){return\"toplevel \"+o}).each(function(o){var s=a2e.select(this);r[o]=s,o===\"frontplot\"?s.append(\"g\").classed(\"scatterlayer\",!0):o===\"backplot\"?s.append(\"g\").classed(\"maplayer\",!0):o===\"plotbg\"?s.append(\"path\").attr(\"d\",\"M0,0Z\"):o===\"aline\"||o===\"bline\"||o===\"cline\"?s.append(\"path\"):o===\"grids\"&&a.forEach(function(l){r[l]=s.append(\"g\").classed(\"grid \"+l,!0)})}),i.order()};var FT=Math.sqrt(4/3);zm.adjustLayout=function(e,t){var r=this,n=e.domain,i=(n.x[0]+n.x[1])/2,a=(n.y[0]+n.y[1])/2,o=n.x[1]-n.x[0],s=n.y[1]-n.y[0],l=o*t.w,u=s*t.h,c=e.sum,f=e.aaxis.min,h=e.baxis.min,d=e.caxis.min,v,x,b,p,E,k;l>FT*u?(p=u,b=p*FT):(b=l,p=b/FT),E=o*b/l,k=s*p/u,v=t.l+t.w*i-b/2,x=t.t+t.h*(1-a)-p/2,r.x0=v,r.y0=x,r.w=b,r.h=p,r.sum=c,r.xaxis={type:\"linear\",range:[f+2*d-c,c-f-2*h],domain:[i-E/2,i+E/2],_id:\"x\"},L4(r.xaxis,r.graphDiv._fullLayout),r.xaxis.setScale(),r.xaxis.isPtWithinRange=function(V){return V.a>=r.aaxis.range[0]&&V.a<=r.aaxis.range[1]&&V.b>=r.baxis.range[1]&&V.b<=r.baxis.range[0]&&V.c>=r.caxis.range[1]&&V.c<=r.caxis.range[0]},r.yaxis={type:\"linear\",range:[f,c-h-d],domain:[a-k/2,a+k/2],_id:\"y\"},L4(r.yaxis,r.graphDiv._fullLayout),r.yaxis.setScale(),r.yaxis.isPtWithinRange=function(){return!0};var A=r.yaxis.domain[0],L=r.aaxis=AH({},e.aaxis,{range:[f,c-h-d],side:\"left\",tickangle:(+e.aaxis.tickangle||0)-30,domain:[A,A+k*FT],anchor:\"free\",position:0,_id:\"y\",_length:b});L4(L,r.graphDiv._fullLayout),L.setScale();var _=r.baxis=AH({},e.baxis,{range:[c-f-d,h],side:\"bottom\",domain:r.xaxis.domain,anchor:\"free\",position:0,_id:\"x\",_length:b});L4(_,r.graphDiv._fullLayout),_.setScale();var C=r.caxis=AH({},e.caxis,{range:[c-f-h,d],side:\"right\",tickangle:(+e.caxis.tickangle||0)+30,domain:[A,A+k*FT],anchor:\"free\",position:0,_id:\"y\",_length:b});L4(C,r.graphDiv._fullLayout),C.setScale();var M=\"M\"+v+\",\"+(x+p)+\"h\"+b+\"l-\"+b/2+\",-\"+p+\"Z\";r.clipDef.select(\"path\").attr(\"d\",M),r.layers.plotbg.select(\"path\").attr(\"d\",M);var g=\"M0,\"+p+\"h\"+b+\"l-\"+b/2+\",-\"+p+\"Z\";r.clipDefRelative.select(\"path\").attr(\"d\",g);var P=Dm(v,x);r.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",P),r.clipDefRelative.select(\"path\").attr(\"transform\",null);var T=Dm(v-_._offset,x+p);r.layers.baxis.attr(\"transform\",T),r.layers.bgrid.attr(\"transform\",T);var F=Dm(v+b/2,x)+\"rotate(30)\"+Dm(0,-L._offset);r.layers.aaxis.attr(\"transform\",F),r.layers.agrid.attr(\"transform\",F);var q=Dm(v+b/2,x)+\"rotate(-30)\"+Dm(0,-C._offset);r.layers.caxis.attr(\"transform\",q),r.layers.cgrid.attr(\"transform\",q),r.drawAxes(!0),r.layers.aline.select(\"path\").attr(\"d\",L.showline?\"M\"+v+\",\"+(x+p)+\"l\"+b/2+\",-\"+p:\"M0,0\").call(qT.stroke,L.linecolor||\"#000\").style(\"stroke-width\",(L.linewidth||0)+\"px\"),r.layers.bline.select(\"path\").attr(\"d\",_.showline?\"M\"+v+\",\"+(x+p)+\"h\"+b:\"M0,0\").call(qT.stroke,_.linecolor||\"#000\").style(\"stroke-width\",(_.linewidth||0)+\"px\"),r.layers.cline.select(\"path\").attr(\"d\",C.showline?\"M\"+(v+b/2)+\",\"+x+\"l\"+b/2+\",\"+p:\"M0,0\").call(qT.stroke,C.linecolor||\"#000\").style(\"stroke-width\",(C.linewidth||0)+\"px\"),r.graphDiv._context.staticPlot||r.initInteractions(),k8.setClipUrl(r.layers.frontplot,r._hasClipOnAxisFalse?null:r.clipId,r.graphDiv)};zm.drawAxes=function(e){var t=this,r=t.graphDiv,n=t.id.substr(7)+\"title\",i=t.layers,a=t.aaxis,o=t.baxis,s=t.caxis;if(t.drawAx(a),t.drawAx(o),t.drawAx(s),e){var l=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?s.tickfont.size*.75:0)+(s.ticks===\"outside\"?s.ticklen*.87:0)),u=(o.showticklabels?o.tickfont.size:0)+(o.ticks===\"outside\"?o.ticklen:0)+3;i[\"a-title\"]=SH.draw(r,\"a\"+n,{propContainer:a,propName:t.id+\".aaxis.title\",placeholder:E8(r,\"Click to enter Component A title\"),attributes:{x:t.x0+t.w/2,y:t.y0-a.title.font.size/3-l,\"text-anchor\":\"middle\"}}),i[\"b-title\"]=SH.draw(r,\"b\"+n,{propContainer:o,propName:t.id+\".baxis.title\",placeholder:E8(r,\"Click to enter Component B title\"),attributes:{x:t.x0-u,y:t.y0+t.h+o.title.font.size*.83+u,\"text-anchor\":\"middle\"}}),i[\"c-title\"]=SH.draw(r,\"c\"+n,{propContainer:s,propName:t.id+\".caxis.title\",placeholder:E8(r,\"Click to enter Component C title\"),attributes:{x:t.x0+t.w+u,y:t.y0+t.h+s.title.font.size*.83+u,\"text-anchor\":\"middle\"}})}};zm.drawAx=function(e){var t=this,r=t.graphDiv,n=e._name,i=n.charAt(0),a=e._id,o=t.layers[n],s=30,l=i+\"tickLayout\",u=abt(e);t[l]!==u&&(o.selectAll(\".\"+a+\"tick\").remove(),t[l]=u),e.setScale();var c=k_.calcTicks(e),f=k_.clipEnds(e,c),h=k_.makeTransTickFn(e),d=k_.getTickSigns(e)[2],v=By.deg2rad(s),x=d*(e.linewidth||1)/2,b=d*e.ticklen,p=t.w,E=t.h,k=i===\"b\"?\"M0,\"+x+\"l\"+Math.sin(v)*b+\",\"+Math.cos(v)*b:\"M\"+x+\",0l\"+Math.cos(v)*b+\",\"+-Math.sin(v)*b,A={a:\"M0,0l\"+E+\",-\"+p/2,b:\"M0,0l-\"+p/2+\",-\"+E,c:\"M0,0l-\"+E+\",\"+p/2}[i];k_.drawTicks(r,e,{vals:e.ticks===\"inside\"?f:c,layer:o,path:k,transFn:h,crisp:!1}),k_.drawGrid(r,e,{vals:f,layer:t.layers[i+\"grid\"],path:A,transFn:h,crisp:!1}),k_.drawLabels(r,e,{vals:c,layer:o,transFn:h,labelFns:k_.makeLabelFns(e,0,s)})};function abt(e){return e.ticks+String(e.ticklen)+String(e.showticklabels)}var fd=s2e.MINZOOM/2+.87,obt=\"m-0.87,.5h\"+fd+\"v3h-\"+(fd+5.2)+\"l\"+(fd/2+2.6)+\",-\"+(fd*.87+4.5)+\"l2.6,1.5l-\"+fd/2+\",\"+fd*.87+\"Z\",sbt=\"m0.87,.5h-\"+fd+\"v3h\"+(fd+5.2)+\"l-\"+(fd/2+2.6)+\",-\"+(fd*.87+4.5)+\"l-2.6,1.5l\"+fd/2+\",\"+fd*.87+\"Z\",lbt=\"m0,1l\"+fd/2+\",\"+fd*.87+\"l2.6,-1.5l-\"+(fd/2+2.6)+\",-\"+(fd*.87+4.5)+\"l-\"+(fd/2+2.6)+\",\"+(fd*.87+4.5)+\"l2.6,1.5l\"+fd/2+\",-\"+fd*.87+\"Z\",ubt=\"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z\",i2e=!0;zm.clearOutline=function(){nbt(this.dragOptions),ibt(this.dragOptions.gd)};zm.initInteractions=function(){var e=this,t=e.layers.plotbg.select(\"path\").node(),r=e.graphDiv,n=r._fullLayout._zoomlayer,i,a;this.dragOptions={element:t,gd:r,plotinfo:{id:e.id,domain:r._fullLayout[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis},subplot:e.id,prepFn:function(T,F,q){e.dragOptions.xaxes=[e.xaxis],e.dragOptions.yaxes=[e.yaxis],i=r._fullLayout._invScaleX,a=r._fullLayout._invScaleY;var V=e.dragOptions.dragmode=r._fullLayout.dragmode;r2e(V)?e.dragOptions.minDrag=1:e.dragOptions.minDrag=void 0,V===\"zoom\"?(e.dragOptions.moveFn=_,e.dragOptions.clickFn=p,e.dragOptions.doneFn=C,E(T,F,q)):V===\"pan\"?(e.dragOptions.moveFn=g,e.dragOptions.clickFn=p,e.dragOptions.doneFn=P,M(),e.clearOutline(r)):(ebt(V)||r2e(V))&&tbt(T,F,q,e.dragOptions,V)}};var o,s,l,u,c,f,h,d,v,x;function b(T){var F={};return F[e.id+\".aaxis.min\"]=T.a,F[e.id+\".baxis.min\"]=T.b,F[e.id+\".caxis.min\"]=T.c,F}function p(T,F){var q=r._fullLayout.clickmode;n2e(r),T===2&&(r.emit(\"plotly_doubleclick\",null),TH.call(\"_guiRelayout\",r,b({a:0,b:0,c:0}))),q.indexOf(\"select\")>-1&&T===1&&rbt(F,r,[e.xaxis],[e.yaxis],e.id,e.dragOptions),q.indexOf(\"event\")>-1&&t2e.click(r,F,e.id)}function E(T,F,q){var V=t.getBoundingClientRect();o=F-V.left,s=q-V.top,r._fullLayout._calcInverseTransform(r);var H=r._fullLayout._invTransform,X=By.apply3DTransform(H)(o,s);o=X[0],s=X[1],l={a:e.aaxis.range[0],b:e.baxis.range[1],c:e.caxis.range[1]},c=l,u=e.aaxis.range[1]-l.a,f=$xt(e.graphDiv._fullLayout[e.id].bgcolor).getLuminance(),h=\"M0,\"+e.h+\"L\"+e.w/2+\", 0L\"+e.w+\",\"+e.h+\"Z\",d=!1,v=n.append(\"path\").attr(\"class\",\"zoombox\").attr(\"transform\",Dm(e.x0,e.y0)).style({fill:f>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"d\",h),x=n.append(\"path\").attr(\"class\",\"zoombox-corners\").attr(\"transform\",Dm(e.x0,e.y0)).style({fill:qT.background,stroke:qT.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"d\",\"M0,0Z\"),e.clearOutline(r)}function k(T,F){return 1-F/e.h}function A(T,F){return 1-(T+(e.h-F)/Math.sqrt(3))/e.w}function L(T,F){return(T-(e.h-F)/Math.sqrt(3))/e.w}function _(T,F){var q=o+T*i,V=s+F*a,H=Math.max(0,Math.min(1,k(o,s),k(q,V))),X=Math.max(0,Math.min(1,A(o,s),A(q,V))),G=Math.max(0,Math.min(1,L(o,s),L(q,V))),N=(H/2+G)*e.w,W=(1-H/2-X)*e.w,re=(N+W)/2,ae=W-N,_e=(1-H)*e.h,Me=_e-ae/FT;ae<s2e.MINZOOM?(c=l,v.attr(\"d\",h),x.attr(\"d\",\"M0,0Z\")):(c={a:l.a+H*u,b:l.b+X*u,c:l.c+G*u},v.attr(\"d\",h+\"M\"+N+\",\"+_e+\"H\"+W+\"L\"+re+\",\"+Me+\"L\"+N+\",\"+_e+\"Z\"),x.attr(\"d\",\"M\"+o+\",\"+s+ubt+\"M\"+N+\",\"+_e+obt+\"M\"+W+\",\"+_e+sbt+\"M\"+re+\",\"+Me+lbt)),d||(v.transition().style(\"fill\",f>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),x.transition().style(\"opacity\",1).duration(200),d=!0),r.emit(\"plotly_relayouting\",b(c))}function C(){n2e(r),c!==l&&(TH.call(\"_guiRelayout\",r,b(c)),i2e&&r.data&&r._context.showTips&&(By.notifier(E8(r,\"Double-click to zoom back out\"),\"long\"),i2e=!1))}function M(){l={a:e.aaxis.range[0],b:e.baxis.range[1],c:e.caxis.range[1]},c=l}function g(T,F){var q=T/e.xaxis._m,V=F/e.yaxis._m;c={a:l.a-V,b:l.b+(q+V)/2,c:l.c-(q-V)/2};var H=[c.a,c.b,c.c].sort(By.sorterAsc),X={a:H.indexOf(c.a),b:H.indexOf(c.b),c:H.indexOf(c.c)};H[0]<0&&(H[1]+H[0]/2<0?(H[2]+=H[0]+H[1],H[0]=H[1]=0):(H[2]+=H[0]/2,H[1]+=H[0]/2,H[0]=0),c={a:H[X.a],b:H[X.b],c:H[X.c]},F=(l.a-c.a)*e.yaxis._m,T=(l.c-c.c-l.b+c.b)*e.xaxis._m);var G=Dm(e.x0+T,e.y0+F);e.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",G);var N=Dm(-T,-F);e.clipDefRelative.select(\"path\").attr(\"transform\",N),e.aaxis.range=[c.a,e.sum-c.b-c.c],e.baxis.range=[e.sum-c.a-c.c,c.b],e.caxis.range=[e.sum-c.a-c.b,c.c],e.drawAxes(!1),e._hasClipOnAxisFalse&&e.plotContainer.select(\".scatterlayer\").selectAll(\".trace\").call(k8.hideOutsideRangePoints,e),r.emit(\"plotly_relayouting\",b(c))}function P(){TH.call(\"_guiRelayout\",r,b(c))}t.onmousemove=function(T){t2e.hover(r,T,e.id),r._fullLayout._lasthover=t,r._fullLayout._hoversubplot=e.id},t.onmouseout=function(T){r._dragging||e2e.unhover(r,T)},e2e.init(this.dragOptions)};function n2e(e){a2e.select(e).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}});var kH=ye((ylr,f2e)=>{\"use strict\";var cbt=dh(),fbt=Ju().attributes,Ol=Cd(),hbt=Bu().overrideAll,MH=no().extendFlat,EH={title:{text:Ol.title.text,font:Ol.title.font},color:Ol.color,tickmode:Ol.minor.tickmode,nticks:MH({},Ol.nticks,{dflt:6,min:1}),tick0:Ol.tick0,dtick:Ol.dtick,tickvals:Ol.tickvals,ticktext:Ol.ticktext,ticks:Ol.ticks,ticklen:Ol.ticklen,tickwidth:Ol.tickwidth,tickcolor:Ol.tickcolor,ticklabelstep:Ol.ticklabelstep,showticklabels:Ol.showticklabels,labelalias:Ol.labelalias,showtickprefix:Ol.showtickprefix,tickprefix:Ol.tickprefix,showticksuffix:Ol.showticksuffix,ticksuffix:Ol.ticksuffix,showexponent:Ol.showexponent,exponentformat:Ol.exponentformat,minexponent:Ol.minexponent,separatethousands:Ol.separatethousands,tickfont:Ol.tickfont,tickangle:Ol.tickangle,tickformat:Ol.tickformat,tickformatstops:Ol.tickformatstops,hoverformat:Ol.hoverformat,showline:MH({},Ol.showline,{dflt:!0}),linecolor:Ol.linecolor,linewidth:Ol.linewidth,showgrid:MH({},Ol.showgrid,{dflt:!0}),gridcolor:Ol.gridcolor,gridwidth:Ol.gridwidth,griddash:Ol.griddash,layer:Ol.layer,min:{valType:\"number\",dflt:0,min:0}},C8=f2e.exports=hbt({domain:fbt({name:\"ternary\"}),bgcolor:{valType:\"color\",dflt:cbt.background},sum:{valType:\"number\",dflt:1,min:0},aaxis:EH,baxis:EH,caxis:EH},\"plot\",\"from-root\");C8.uirevision={valType:\"any\",editType:\"none\"};C8.aaxis.uirevision=C8.baxis.uirevision=C8.caxis.uirevision={valType:\"any\",editType:\"none\"}});var C_=ye((_lr,h2e)=>{\"use strict\";var dbt=Mr(),vbt=Vs(),pbt=Ju().defaults;h2e.exports=function(t,r,n,i){var a=i.type,o=i.attributes,s=i.handleDefaults,l=i.partition||\"x\",u=r._subplots[a],c=u.length,f=c&&u[0].replace(/\\d+$/,\"\"),h,d;function v(E,k){return dbt.coerce(h,d,o,E,k)}for(var x=0;x<c;x++){var b=u[x];t[b]?h=t[b]:h=t[b]={},d=vbt.newContainer(r,b,f),i.noUirevision||v(\"uirevision\",r.uirevision);var p={};p[l]=[x/c,(x+1)/c],pbt(d,r,v,p),i.id=b,s(h,d,v,i)}}});var g2e=ye((xlr,p2e)=>{\"use strict\";var gbt=va(),mbt=Vs(),L8=Mr(),ybt=C_(),_bt=t_(),xbt=r_(),bbt=T3(),wbt=xb(),Tbt=YM(),v2e=kH(),d2e=[\"aaxis\",\"baxis\",\"caxis\"];p2e.exports=function(t,r,n){ybt(t,r,n,{type:\"ternary\",attributes:v2e,handleDefaults:Abt,font:r.font,paper_bgcolor:r.paper_bgcolor})};function Abt(e,t,r,n){var i=r(\"bgcolor\"),a=r(\"sum\");n.bgColor=gbt.combine(i,n.paper_bgcolor);for(var o,s,l,u=0;u<d2e.length;u++)o=d2e[u],s=e[o]||{},l=mbt.newContainer(t,o),l._name=o,Sbt(s,l,n,t);var c=t.aaxis,f=t.baxis,h=t.caxis;c.min+f.min+h.min>=a&&(c.min=0,f.min=0,h.min=0,e.aaxis&&delete e.aaxis.min,e.baxis&&delete e.baxis.min,e.caxis&&delete e.caxis.min)}function Sbt(e,t,r,n){var i=v2e[t._name];function a(d,v){return L8.coerce(e,t,i,d,v)}a(\"uirevision\",n.uirevision),t.type=\"linear\";var o=a(\"color\"),s=o!==i.color.dflt?o:r.font.color,l=t._name,u=l.charAt(0).toUpperCase(),c=\"Component \"+u,f=a(\"title.text\",c);t._hovertitle=f===c?f:u,L8.coerceFont(a,\"title.font\",r.font,{overrideDflt:{size:L8.bigFont(r.font.size),color:s}}),a(\"min\"),wbt(e,t,a,\"linear\"),xbt(e,t,a,\"linear\"),_bt(e,t,a,\"linear\",{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0}),bbt(e,t,a,{outerTicks:!0});var h=a(\"showticklabels\");h&&(L8.coerceFont(a,\"tickfont\",r.font,{overrideDflt:{color:s}}),a(\"tickangle\"),a(\"tickformat\")),Tbt(e,t,a,{dfltColor:o,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),a(\"hoverformat\"),a(\"layer\")}});var m2e=ye(W0=>{\"use strict\";var Mbt=c2e(),Ebt=kd().getSubplotCalcData,kbt=Mr().counterRegex,OT=\"ternary\";W0.name=OT;var Cbt=W0.attr=\"subplot\";W0.idRoot=OT;W0.idRegex=W0.attrRegex=kbt(OT);var Lbt=W0.attributes={};Lbt[Cbt]={valType:\"subplotid\",dflt:\"ternary\",editType:\"calc\"};W0.layoutAttributes=kH();W0.supplyLayoutDefaults=g2e();W0.plot=function(t){for(var r=t._fullLayout,n=t.calcdata,i=r._subplots[OT],a=0;a<i.length;a++){var o=i[a],s=Ebt(n,OT,o),l=r[o]._subplot;l||(l=new Mbt({id:o,graphDiv:t,container:r._ternarylayer.node()},r),r[o]._subplot=l),l.plot(s,r,t._promises)}};W0.clean=function(e,t,r,n){for(var i=n._subplots[OT]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!t[o]&&s&&(s.plotContainer.remove(),s.clipDef.remove(),s.clipDefRelative.remove(),s.layers[\"a-title\"].remove(),s.layers[\"b-title\"].remove(),s.layers[\"c-title\"].remove())}};W0.updateFx=function(e){var t=e._fullLayout;t._ternarylayer.selectAll(\"g.toplevel\").style(\"cursor\",t.dragmode===\"pan\"?\"move\":\"crosshair\")}});var _2e=ye((wlr,y2e)=>{\"use strict\";y2e.exports={attributes:xH(),supplyDefaults:Ube(),colorbar:Kd(),formatLabels:Hbe(),calc:Zbe(),plot:Ybe(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:Jbe(),selectPoints:lT(),eventData:Qbe(),moduleType:\"trace\",name:\"scatterternary\",basePlotModule:m2e(),categories:[\"ternary\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var b2e=ye((Tlr,x2e)=>{\"use strict\";x2e.exports=_2e()});var CH=ye((Alr,T2e)=>{\"use strict\";var jh=v4(),BT=no().extendFlat,w2e=Oc().axisHoverFormat;T2e.exports={y:jh.y,x:jh.x,x0:jh.x0,y0:jh.y0,xhoverformat:w2e(\"x\"),yhoverformat:w2e(\"y\"),name:BT({},jh.name,{}),orientation:BT({},jh.orientation,{}),bandwidth:{valType:\"number\",min:0,editType:\"calc\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},scalemode:{valType:\"enumerated\",values:[\"width\",\"count\"],dflt:\"width\",editType:\"calc\"},spanmode:{valType:\"enumerated\",values:[\"soft\",\"hard\",\"manual\"],dflt:\"soft\",editType:\"calc\"},span:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}],editType:\"calc\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:jh.fillcolor,points:BT({},jh.boxpoints,{}),jitter:BT({},jh.jitter,{}),pointpos:BT({},jh.pointpos,{}),width:BT({},jh.width,{}),marker:jh.marker,text:jh.text,hovertext:jh.hovertext,hovertemplate:jh.hovertemplate,quartilemethod:jh.quartilemethod,box:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},width:{valType:\"number\",min:0,max:1,dflt:.25,editType:\"plot\"},fillcolor:{valType:\"color\",editType:\"style\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},editType:\"plot\"},meanline:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"plot\"},side:{valType:\"enumerated\",values:[\"both\",\"positive\",\"negative\"],dflt:\"both\",editType:\"calc\"},offsetgroup:jh.offsetgroup,alignmentgroup:jh.alignmentgroup,selected:jh.selected,unselected:jh.unselected,hoveron:{valType:\"flaglist\",flags:[\"violins\",\"points\",\"kde\"],dflt:\"violins+points+kde\",extras:[\"all\"],editType:\"style\"},zorder:jh.zorder}});var IH=ye((Slr,A2e)=>{\"use strict\";var LH=p4(),PH=Mr().extendFlat;A2e.exports={violinmode:PH({},LH.boxmode,{}),violingap:PH({},LH.boxgap,{}),violingroupgap:PH({},LH.boxgroupgap,{})}});var C2e=ye((Mlr,k2e)=>{\"use strict\";var S2e=Mr(),Pbt=va(),M2e=m4(),E2e=CH();k2e.exports=function(t,r,n,i){function a(L,_){return S2e.coerce(t,r,E2e,L,_)}function o(L,_){return S2e.coerce2(t,r,E2e,L,_)}if(M2e.handleSampleDefaults(t,r,a,i),r.visible!==!1){a(\"bandwidth\"),a(\"side\");var s=a(\"width\");s||(a(\"scalegroup\",r.name),a(\"scalemode\"));var l=a(\"span\"),u;Array.isArray(l)&&(u=\"manual\"),a(\"spanmode\",u);var c=a(\"line.color\",(t.marker||{}).color||n),f=a(\"line.width\"),h=a(\"fillcolor\",Pbt.addOpacity(r.line.color,.5));M2e.handlePointsDefaults(t,r,a,{prefix:\"\"});var d=o(\"box.width\"),v=o(\"box.fillcolor\",h),x=o(\"box.line.color\",c),b=o(\"box.line.width\",f),p=a(\"box.visible\",!!(d||v||x||b));p||(r.box={visible:!1});var E=o(\"meanline.color\",c),k=o(\"meanline.width\",f),A=a(\"meanline.visible\",!!(E||k));A||(r.meanline={visible:!1}),a(\"quartilemethod\"),a(\"zorder\")}}});var P2e=ye((Elr,L2e)=>{\"use strict\";var Ibt=Mr(),Rbt=IH(),Dbt=VI();L2e.exports=function(t,r,n){function i(a,o){return Ibt.coerce(t,r,Rbt,a,o)}Dbt._supply(t,r,n,i,\"violin\")}});var P8=ye(o2=>{\"use strict\";var zbt=Mr(),Fbt={gaussian:function(e){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*e*e)}};o2.makeKDE=function(e,t,r){var n=r.length,i=Fbt.gaussian,a=e.bandwidth,o=1/(n*a);return function(s){for(var l=0,u=0;u<n;u++)l+=i((s-r[u])/a);return o*l}};o2.getPositionOnKdePath=function(e,t,r){var n,i;t.orientation===\"h\"?(n=\"y\",i=\"x\"):(n=\"x\",i=\"y\");var a=zbt.findPointOnPath(e.path,r,i,{pathLength:e.pathLength}),o=e.posCenterPx,s=a[n],l=t.side===\"both\"?2*o-s:o;return[s,l]};o2.getKdeValue=function(e,t,r){var n=e.pts.map(o2.extractVal),i=o2.makeKDE(e,t,n);return i(r)/e.posDensityScale};o2.extractVal=function(e){return e.v}});var D2e=ye((Clr,R2e)=>{\"use strict\";var RH=Mr(),DH=Qa(),qbt=MV(),I2e=P8(),Obt=es().BADNUM;R2e.exports=function(t,r){var n=qbt(t,r);if(n[0].t.empty)return n;for(var i=t._fullLayout,a=DH.getFromId(t,r[r.orientation===\"h\"?\"xaxis\":\"yaxis\"]),o=1/0,s=-1/0,l=0,u=0,c=0;c<n.length;c++){var f=n[c],h=f.pts.map(I2e.extractVal),d=f.bandwidth=Nbt(r,f,h),v=f.span=Ubt(r,f,a,d);if(f.min===f.max&&d===0)v=f.span=[f.min,f.max],f.density=[{v:1,t:v[0]}],f.bandwidth=d,l=Math.max(l,1);else{var x=v[1]-v[0],b=Math.ceil(x/(d/3)),p=x/b;if(!isFinite(p)||!isFinite(b))return RH.error(\"Something went wrong with computing the violin span\"),n[0].t.empty=!0,n;var E=I2e.makeKDE(f,r,h);f.density=new Array(b);for(var k=0,A=v[0];A<v[1]+p/2;k++,A+=p){var L=E(A);f.density[k]={v:L,t:A},l=Math.max(l,L)}}u=Math.max(u,h.length),o=Math.min(o,v[0]),s=Math.max(s,v[1])}var _=DH.findExtremes(a,[o,s],{padded:!0});if(r._extremes[a._id]=_,r.width)n[0].t.maxKDE=l;else{var C=i._violinScaleGroupStats,M=r.scalegroup,g=C[M];g?(g.maxKDE=Math.max(g.maxKDE,l),g.maxCount=Math.max(g.maxCount,u)):C[M]={maxKDE:l,maxCount:u}}return n[0].t.labels.kde=RH._(t,\"kde:\"),n};function Bbt(e,t,r){var n=Math.min(t,r/1.349);return 1.059*n*Math.pow(e,-.2)}function Nbt(e,t,r){var n=t.max-t.min;if(!n)return e.bandwidth?e.bandwidth:0;if(e.bandwidth)return Math.max(e.bandwidth,n/1e4);var i=r.length,a=RH.stdev(r,i-1,t.mean);return Math.max(Bbt(i,a,t.q3-t.q1),n/100)}function Ubt(e,t,r,n){var i=e.spanmode,a=e.span||[],o=[t.min,t.max],s=[t.min-2*n,t.max+2*n],l;function u(f){var h=a[f],d=r.type===\"multicategory\"?r.r2c(h):r.d2c(h,0,e[t.valLetter+\"calendar\"]);return d===Obt?s[f]:d}i===\"soft\"?l=s:i===\"hard\"?l=o:l=[u(0),u(1)];var c={type:\"linear\",range:l};return DH.setConvert(c),c.cleanRange(),l}});var q2e=ye((Llr,F2e)=>{\"use strict\";var Vbt=GI().setPositionOffset,z2e=[\"v\",\"h\"];F2e.exports=function(t,r){for(var n=t.calcdata,i=r.xaxis,a=r.yaxis,o=0;o<z2e.length;o++){for(var s=z2e[o],l=s===\"h\"?a:i,u=[],c=0;c<n.length;c++){var f=n[c],h=f[0].t,d=f[0].trace;d.visible===!0&&d.type===\"violin\"&&!h.empty&&d.orientation===s&&d.xaxis===i._id&&d.yaxis===a._id&&u.push(c)}Vbt(\"violin\",t,u,l)}}});var B2e=ye((Plr,O2e)=>{\"use strict\";var zH=xa(),FH=Mr(),Hbt=ao(),qH=jI(),Gbt=fU(),jbt=P8();O2e.exports=function(t,r,n,i){var a=t._context.staticPlot,o=t._fullLayout,s=r.xaxis,l=r.yaxis;function u(c,f){var h=Gbt(c,{xaxis:s,yaxis:l,trace:f,connectGaps:!0,baseTolerance:.75,shape:\"spline\",simplify:!0,linearized:!0});return Hbt.smoothopen(h[0],1)}FH.makeTraceGroups(i,n,\"trace violins\").each(function(c){var f=zH.select(this),h=c[0],d=h.t,v=h.trace;if(v.visible!==!0||d.empty){f.remove();return}var x=d.bPos,b=d.bdPos,p=r[d.valLetter+\"axis\"],E=r[d.posLetter+\"axis\"],k=v.side===\"both\",A=k||v.side===\"positive\",L=k||v.side===\"negative\",_=f.selectAll(\"path.violin\").data(FH.identity);_.enter().append(\"path\").style(\"vector-effect\",a?\"none\":\"non-scaling-stroke\").attr(\"class\",\"violin\"),_.exit().remove(),_.each(function(V){var H=zH.select(this),X=V.density,G=X.length,N=E.c2l(V.pos+x,!0),W=E.l2p(N),re;if(v.width)re=d.maxKDE/b;else{var ae=o._violinScaleGroupStats[v.scalegroup];re=v.scalemode===\"count\"?ae.maxKDE/b*(ae.maxCount/V.pts.length):ae.maxKDE/b}var _e,Me,ke,ge,ie,Te,Ee;if(A){for(Te=new Array(G),ge=0;ge<G;ge++)Ee=Te[ge]={},Ee[d.posLetter]=N+X[ge].v/re,Ee[d.valLetter]=p.c2l(X[ge].t,!0);_e=u(Te,v)}if(L){for(Te=new Array(G),ie=0,ge=G-1;ie<G;ie++,ge--)Ee=Te[ie]={},Ee[d.posLetter]=N-X[ge].v/re,Ee[d.valLetter]=p.c2l(X[ge].t,!0);Me=u(Te,v)}if(k)ke=_e+\"L\"+Me.substr(1)+\"Z\";else{var Ae=[W,p.c2p(X[0].t)],ze=[W,p.c2p(X[G-1].t)];v.orientation===\"h\"&&(Ae.reverse(),ze.reverse()),A?ke=\"M\"+Ae+\"L\"+_e.substr(1)+\"L\"+ze:ke=\"M\"+ze+\"L\"+Me.substr(1)+\"L\"+Ae}H.attr(\"d\",ke),V.posCenterPx=W,V.posDensityScale=re*b,V.path=H.node(),V.pathLength=V.path.getTotalLength()/(k?2:1)});var C=v.box,M=C.width,g=(C.line||{}).width,P,T;k?(P=b*M,T=0):A?(P=[0,b*M/2],T=g*{x:1,y:-1}[d.posLetter]):(P=[b*M/2,0],T=g*{x:-1,y:1}[d.posLetter]),qH.plotBoxAndWhiskers(f,{pos:E,val:p},v,{bPos:x,bdPos:P,bPosPxOffset:T}),qH.plotBoxMean(f,{pos:E,val:p},v,{bPos:x,bdPos:P,bPosPxOffset:T});var F;!v.box.visible&&v.meanline.visible&&(F=FH.identity);var q=f.selectAll(\"path.meanline\").data(F||[]);q.enter().append(\"path\").attr(\"class\",\"meanline\").style(\"fill\",\"none\").style(\"vector-effect\",a?\"none\":\"non-scaling-stroke\"),q.exit().remove(),q.each(function(V){var H=p.c2p(V.mean,!0),X=jbt.getPositionOnKdePath(V,v,H);zH.select(this).attr(\"d\",v.orientation===\"h\"?\"M\"+H+\",\"+X[0]+\"V\"+X[1]:\"M\"+X[0]+\",\"+H+\"H\"+X[1])}),qH.plotPoints(f,{x:s,y:l},v,d)})}});var V2e=ye((Ilr,U2e)=>{\"use strict\";var N2e=xa(),NT=va(),Wbt=op().stylePoints;U2e.exports=function(t){var r=N2e.select(t).selectAll(\"g.trace.violins\");r.style(\"opacity\",function(n){return n[0].trace.opacity}),r.each(function(n){var i=n[0].trace,a=N2e.select(this),o=i.box||{},s=o.line||{},l=i.meanline||{},u=l.width;a.selectAll(\"path.violin\").style(\"stroke-width\",i.line.width+\"px\").call(NT.stroke,i.line.color).call(NT.fill,i.fillcolor),a.selectAll(\"path.box\").style(\"stroke-width\",s.width+\"px\").call(NT.stroke,s.color).call(NT.fill,o.fillcolor);var c={\"stroke-width\":u+\"px\",\"stroke-dasharray\":2*u+\"px,\"+u+\"px\"};a.selectAll(\"path.mean\").style(c).call(NT.stroke,l.color),a.selectAll(\"path.meanline\").style(c).call(NT.stroke,l.color),Wbt(a,i,t)})}});var W2e=ye((Rlr,j2e)=>{\"use strict\";var Zbt=va(),OH=Mr(),Xbt=Qa(),H2e=PV(),G2e=P8();j2e.exports=function(t,r,n,i,a){a||(a={});var o=a.hoverLayer,s=t.cd,l=s[0].trace,u=l.hoveron,c=u.indexOf(\"violins\")!==-1,f=u.indexOf(\"kde\")!==-1,h=[],d,v;if(c||f){var x=H2e.hoverOnBoxes(t,r,n,i);if(f&&x.length>0){var b=t.xa,p=t.ya,E,k,A,L,_;l.orientation===\"h\"?(_=r,E=\"y\",A=p,k=\"x\",L=b):(_=n,E=\"x\",A=b,k=\"y\",L=p);var C=s[t.index];if(_>=C.span[0]&&_<=C.span[1]){var M=OH.extendFlat({},t),g=L.c2p(_,!0),P=G2e.getKdeValue(C,l,_),T=G2e.getPositionOnKdePath(C,l,g),F=A._offset,q=A._length;M[E+\"0\"]=T[0],M[E+\"1\"]=T[1],M[k+\"0\"]=M[k+\"1\"]=g,M[k+\"Label\"]=k+\": \"+Xbt.hoverLabelText(L,_,l[k+\"hoverformat\"])+\", \"+s[0].t.labels.kde+\" \"+P.toFixed(3);for(var V=0,H=0;H<x.length;H++)if(x[H].attr===\"med\"){V=H;break}M.spikeDistance=x[V].spikeDistance;var X=E+\"Spike\";M[X]=x[V][X],x[V].spikeDistance=void 0,x[V][X]=void 0,M.hovertemplate=!1,h.push(M),v={},v[E+\"1\"]=OH.constrain(F+T[0],F,F+q),v[E+\"2\"]=OH.constrain(F+T[1],F,F+q),v[k+\"1\"]=v[k+\"2\"]=L._offset+g}}c&&(h=h.concat(x))}u.indexOf(\"points\")!==-1&&(d=H2e.hoverOnPoints(t,r,n));var G=o.selectAll(\".violinline-\"+l.uid).data(v?[0]:[]);return G.enter().append(\"line\").classed(\"violinline-\"+l.uid,!0).attr(\"stroke-width\",1.5),G.exit().remove(),G.attr(v).call(Zbt.stroke,t.color),i===\"closest\"?d?[d]:h:(d&&h.push(d),h)}});var X2e=ye((Dlr,Z2e)=>{\"use strict\";Z2e.exports={attributes:CH(),layoutAttributes:IH(),supplyDefaults:C2e(),crossTraceDefaults:m4().crossTraceDefaults,supplyLayoutDefaults:P2e(),calc:D2e(),crossTraceCalc:q2e(),plot:B2e(),style:V2e(),styleOnSelect:op().styleOnSelect,hoverPoints:W2e(),selectPoints:IV(),moduleType:\"trace\",name:\"violin\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\",\"violinLayout\",\"zoomScale\"],meta:{}}});var K2e=ye((zlr,Y2e)=>{\"use strict\";Y2e.exports=X2e()});var $2e=ye((Flr,J2e)=>{\"use strict\";J2e.exports={eventDataKeys:[\"percentInitial\",\"percentPrevious\",\"percentTotal\"]}});var NH=ye((qlr,twe)=>{\"use strict\";var lc=Lm(),BH=Uc().line,Ybt=vl(),Q2e=Oc().axisHoverFormat,Kbt=Wo().hovertemplateAttrs,Jbt=Wo().texttemplateAttrs,ewe=$2e(),Ny=no().extendFlat,$bt=va();twe.exports={x:lc.x,x0:lc.x0,dx:lc.dx,y:lc.y,y0:lc.y0,dy:lc.dy,xperiod:lc.xperiod,yperiod:lc.yperiod,xperiod0:lc.xperiod0,yperiod0:lc.yperiod0,xperiodalignment:lc.xperiodalignment,yperiodalignment:lc.yperiodalignment,xhoverformat:Q2e(\"x\"),yhoverformat:Q2e(\"y\"),hovertext:lc.hovertext,hovertemplate:Kbt({},{keys:ewe.eventDataKeys}),hoverinfo:Ny({},Ybt.hoverinfo,{flags:[\"name\",\"x\",\"y\",\"text\",\"percent initial\",\"percent previous\",\"percent total\"]}),textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"percent initial\",\"percent previous\",\"percent total\",\"value\"],extras:[\"none\"],editType:\"plot\",arrayOk:!1},texttemplate:Jbt({editType:\"plot\"},{keys:ewe.eventDataKeys.concat([\"label\",\"value\"])}),text:lc.text,textposition:lc.textposition,insidetextanchor:Ny({},lc.insidetextanchor,{dflt:\"middle\"}),textangle:Ny({},lc.textangle,{dflt:0}),textfont:lc.textfont,insidetextfont:lc.insidetextfont,outsidetextfont:lc.outsidetextfont,constraintext:lc.constraintext,cliponaxis:lc.cliponaxis,orientation:Ny({},lc.orientation,{}),offset:Ny({},lc.offset,{arrayOk:!1}),width:Ny({},lc.width,{arrayOk:!1}),marker:Qbt(),connector:{fillcolor:{valType:\"color\",editType:\"style\"},line:{color:Ny({},BH.color,{dflt:$bt.defaultLine}),width:Ny({},BH.width,{dflt:0,editType:\"plot\"}),dash:BH.dash,editType:\"style\"},visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},offsetgroup:lc.offsetgroup,alignmentgroup:lc.alignmentgroup,zorder:lc.zorder};function Qbt(){var e=Ny({},lc.marker);return delete e.pattern,delete e.cornerradius,e}});var UH=ye((Olr,rwe)=>{\"use strict\";rwe.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\"}}});var HH=ye((Blr,nwe)=>{\"use strict\";var I8=Mr(),e2t=Hb(),t2t=r0().handleText,r2t=K3(),i2t=Pg(),iwe=NH(),VH=va();function n2t(e,t,r,n){function i(f,h){return I8.coerce(e,t,iwe,f,h)}var a=r2t(e,t,n,i);if(!a){t.visible=!1;return}i2t(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\"),i(\"orientation\",t.y&&!t.x?\"v\":\"h\"),i(\"offset\"),i(\"width\");var o=i(\"text\");i(\"hovertext\"),i(\"hovertemplate\");var s=i(\"textposition\");t2t(e,t,n,i,s,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),t.textposition!==\"none\"&&!t.texttemplate&&i(\"textinfo\",I8.isArrayOrTypedArray(o)?\"text+value\":\"value\");var l=i(\"marker.color\",r);i(\"marker.line.color\",VH.defaultLine),i(\"marker.line.width\");var u=i(\"connector.visible\");if(u){i(\"connector.fillcolor\",a2t(l));var c=i(\"connector.line.width\");c&&(i(\"connector.line.color\"),i(\"connector.line.dash\"))}i(\"zorder\")}function a2t(e){var t=I8.isArrayOrTypedArray(e)?\"#000\":e;return VH.addOpacity(t,.5*VH.opacity(t))}function o2t(e,t){var r,n;function i(o){return I8.coerce(n._input,n,iwe,o)}for(var a=0;a<e.length;a++)n=e[a],n.type===\"funnel\"&&(r=n._input,e2t(r,n,t,i,t.funnelmode))}nwe.exports={supplyDefaults:n2t,crossTraceDefaults:o2t}});var owe=ye((Nlr,awe)=>{\"use strict\";var s2t=Mr(),l2t=UH();awe.exports=function(e,t,r){var n=!1;function i(s,l){return s2t.coerce(e,t,l2t,s,l)}for(var a=0;a<r.length;a++){var o=r[a];if(o.visible&&o.type===\"funnel\"){n=!0;break}}n&&(i(\"funnelmode\"),i(\"funnelgap\",.2),i(\"funnelgroupgap\"))}});var lwe=ye((Ulr,swe)=>{\"use strict\";var UT=Mr();swe.exports=function(t,r){for(var n=0;n<t.length;n++)t[n].i=n;UT.mergeArray(r.text,t,\"tx\"),UT.mergeArray(r.hovertext,t,\"htx\");var i=r.marker;if(i){UT.mergeArray(i.opacity,t,\"mo\"),UT.mergeArray(i.color,t,\"mc\");var a=i.line;a&&(UT.mergeArray(a.color,t,\"mlc\"),UT.mergeArrayCastPositive(a.width,t,\"mlw\"))}}});var hwe=ye((Vlr,fwe)=>{\"use strict\";var uwe=Qa(),cwe=Rg(),u2t=lwe(),c2t=F0(),P4=es().BADNUM;fwe.exports=function(t,r){var n=uwe.getFromId(t,r.xaxis||\"x\"),i=uwe.getFromId(t,r.yaxis||\"y\"),a,o,s,l,u,c,f,h;r.orientation===\"h\"?(a=n.makeCalcdata(r,\"x\"),s=i.makeCalcdata(r,\"y\"),l=cwe(r,i,\"y\",s),u=!!r.yperiodalignment,c=\"y\"):(a=i.makeCalcdata(r,\"y\"),s=n.makeCalcdata(r,\"x\"),l=cwe(r,n,\"x\",s),u=!!r.xperiodalignment,c=\"x\"),o=l.vals;var d=Math.min(o.length,a.length),v=new Array(d);for(r._base=[],f=0;f<d;f++){a[f]<0&&(a[f]=P4);var x=!1;a[f]!==P4&&f+1<d&&a[f+1]!==P4&&(x=!0),h=v[f]={p:o[f],s:a[f],cNext:x},r._base[f]=-.5*h.s,u&&(v[f].orig_p=s[f],v[f][c+\"End\"]=l.ends[f],v[f][c+\"Start\"]=l.starts[f]),r.ids&&(h.id=String(r.ids[f])),f===0&&(v[0].vTotal=0),v[0].vTotal+=GH(h.s),h.begR=GH(h.s)/GH(v[0].s)}var b;for(f=0;f<d;f++)h=v[f],h.s!==P4&&(h.sumR=h.s/v[0].vTotal,h.difR=b!==void 0?h.s/b:1,b=h.s);return u2t(v,r),c2t(v,r),v};function GH(e){return e===P4?0:e}});var pwe=ye((Hlr,vwe)=>{\"use strict\";var dwe=Gb().setGroupPositions;vwe.exports=function(t,r){var n=t._fullLayout,i=t._fullData,a=t.calcdata,o=r.xaxis,s=r.yaxis,l=[],u=[],c=[],f,h;for(h=0;h<i.length;h++){var d=i[h],v=d.orientation===\"h\";d.visible===!0&&d.xaxis===o._id&&d.yaxis===s._id&&d.type===\"funnel\"&&(f=a[h],v?c.push(f):u.push(f),l.push(f))}var x={mode:n.funnelmode,norm:n.funnelnorm,gap:n.funnelgap,groupgap:n.funnelgroupgap};for(dwe(t,o,s,u,x),dwe(t,s,o,c,x),h=0;h<l.length;h++){f=l[h];for(var b=0;b<f.length;b++)b+1<f.length&&(f[b].nextP0=f[b+1].p0,f[b].nextS0=f[b+1].s0,f[b].nextP1=f[b+1].p1,f[b].nextS1=f[b+1].s1)}}});var _we=ye((Glr,ywe)=>{\"use strict\";var R8=xa(),P_=Mr(),gwe=ao(),L_=es().BADNUM,f2t=i2(),h2t=_v().clearMinTextSize;ywe.exports=function(t,r,n,i){var a=t._fullLayout;h2t(\"funnel\",a),d2t(t,r,n,i),v2t(t,r,n,i),f2t.plot(t,r,n,i,{mode:a.funnelmode,norm:a.funnelmode,gap:a.funnelgap,groupgap:a.funnelgroupgap})};function d2t(e,t,r,n){var i=t.xaxis,a=t.yaxis;P_.makeTraceGroups(n,r,\"trace bars\").each(function(o){var s=R8.select(this),l=o[0].trace,u=P_.ensureSingle(s,\"g\",\"regions\");if(!l.connector||!l.connector.visible){u.remove();return}var c=l.orientation===\"h\",f=u.selectAll(\"g.region\").data(P_.identity);f.enter().append(\"g\").classed(\"region\",!0),f.exit().remove();var h=f.size();f.each(function(d,v){if(!(v!==h-1&&!d.cNext)){var x=mwe(d,i,a,c),b=x[0],p=x[1],E=\"\";b[0]!==L_&&p[0]!==L_&&b[1]!==L_&&p[1]!==L_&&b[2]!==L_&&p[2]!==L_&&b[3]!==L_&&p[3]!==L_&&(c?E+=\"M\"+b[0]+\",\"+p[1]+\"L\"+b[2]+\",\"+p[2]+\"H\"+b[3]+\"L\"+b[1]+\",\"+p[1]+\"Z\":E+=\"M\"+b[1]+\",\"+p[1]+\"L\"+b[2]+\",\"+p[3]+\"V\"+p[2]+\"L\"+b[1]+\",\"+p[0]+\"Z\"),E===\"\"&&(E=\"M0,0Z\"),P_.ensureSingle(R8.select(this),\"path\").attr(\"d\",E).call(gwe.setClipUrl,t.layerClipId,e)}})})}function v2t(e,t,r,n){var i=t.xaxis,a=t.yaxis;P_.makeTraceGroups(n,r,\"trace bars\").each(function(o){var s=R8.select(this),l=o[0].trace,u=P_.ensureSingle(s,\"g\",\"lines\");if(!l.connector||!l.connector.visible||!l.connector.line.width){u.remove();return}var c=l.orientation===\"h\",f=u.selectAll(\"g.line\").data(P_.identity);f.enter().append(\"g\").classed(\"line\",!0),f.exit().remove();var h=f.size();f.each(function(d,v){if(!(v!==h-1&&!d.cNext)){var x=mwe(d,i,a,c),b=x[0],p=x[1],E=\"\";b[3]!==void 0&&p[3]!==void 0&&(c?(E+=\"M\"+b[0]+\",\"+p[1]+\"L\"+b[2]+\",\"+p[2],E+=\"M\"+b[1]+\",\"+p[1]+\"L\"+b[3]+\",\"+p[2]):(E+=\"M\"+b[1]+\",\"+p[1]+\"L\"+b[2]+\",\"+p[3],E+=\"M\"+b[1]+\",\"+p[0]+\"L\"+b[2]+\",\"+p[2])),E===\"\"&&(E=\"M0,0Z\"),P_.ensureSingle(R8.select(this),\"path\").attr(\"d\",E).call(gwe.setClipUrl,t.layerClipId,e)}})})}function mwe(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),i[2]=o.c2p(e.nextS0,!0),a[2]=s.c2p(e.nextP0,!0),i[3]=o.c2p(e.nextS1,!0),a[3]=s.c2p(e.nextP1,!0),n?[i,a]:[a,i]}});var wwe=ye((jlr,bwe)=>{\"use strict\";var I4=xa(),xwe=ao(),jH=va(),p2t=U1().DESELECTDIM,g2t=N0(),m2t=_v().resizeText,y2t=g2t.styleTextPoints;function _2t(e,t,r){var n=r||I4.select(e).selectAll('g[class^=\"funnellayer\"]').selectAll(\"g.trace\");m2t(e,n,\"funnel\"),n.style(\"opacity\",function(i){return i[0].trace.opacity}),n.each(function(i){var a=I4.select(this),o=i[0].trace;a.selectAll(\".point > path\").each(function(s){if(!s.isBlank){var l=o.marker;I4.select(this).call(jH.fill,s.mc||l.color).call(jH.stroke,s.mlc||l.line.color).call(xwe.dashLine,l.line.dash,s.mlw||l.line.width).style(\"opacity\",o.selectedpoints&&!s.selected?p2t:1)}}),y2t(a,o,e),a.selectAll(\".regions\").each(function(){I4.select(this).selectAll(\"path\").style(\"stroke-width\",0).call(jH.fill,o.connector.fillcolor)}),a.selectAll(\".lines\").each(function(){var s=o.connector.line;xwe.lineGroupStyle(I4.select(this).selectAll(\"path\"),s.width,s.color,s.dash)})})}bwe.exports={style:_2t}});var Swe=ye((Wlr,Awe)=>{\"use strict\";var Twe=va().opacity,x2t=TT().hoverOnBars,WH=Mr().formatPercent;Awe.exports=function(t,r,n,i,a){var o=x2t(t,r,n,i,a);if(o){var s=o.cd,l=s[0].trace,u=l.orientation===\"h\",c=o.index,f=s[c],h=u?\"x\":\"y\";o[h+\"LabelVal\"]=f.s,o.percentInitial=f.begR,o.percentInitialLabel=WH(f.begR,1),o.percentPrevious=f.difR,o.percentPreviousLabel=WH(f.difR,1),o.percentTotal=f.sumR,o.percentTotalLabel=WH(f.sumR,1);var d=f.hi||l.hoverinfo,v=[];if(d&&d!==\"none\"&&d!==\"skip\"){var x=d===\"all\",b=d.split(\"+\"),p=function(E){return x||b.indexOf(E)!==-1};p(\"percent initial\")&&v.push(o.percentInitialLabel+\" of initial\"),p(\"percent previous\")&&v.push(o.percentPreviousLabel+\" of previous\"),p(\"percent total\")&&v.push(o.percentTotalLabel+\" of total\")}return o.extraText=v.join(\"<br>\"),o.color=b2t(l,f),[o]}};function b2t(e,t){var r=e.marker,n=t.mc||r.color,i=t.mlc||r.line.color,a=t.mlw||r.line.width;if(Twe(n))return n;if(Twe(i)&&a)return i}});var Ewe=ye((Zlr,Mwe)=>{\"use strict\";Mwe.exports=function(t,r){return t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,\"percentInitial\"in r&&(t.percentInitial=r.percentInitial),\"percentPrevious\"in r&&(t.percentPrevious=r.percentPrevious),\"percentTotal\"in r&&(t.percentTotal=r.percentTotal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var Cwe=ye((Xlr,kwe)=>{\"use strict\";kwe.exports={attributes:NH(),layoutAttributes:UH(),supplyDefaults:HH().supplyDefaults,crossTraceDefaults:HH().crossTraceDefaults,supplyLayoutDefaults:owe(),calc:hwe(),crossTraceCalc:pwe(),plot:_we(),style:wwe().style,hoverPoints:Swe(),eventData:Ewe(),selectPoints:AT(),moduleType:\"trace\",name:\"funnel\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}});var Pwe=ye((Ylr,Lwe)=>{\"use strict\";Lwe.exports=Cwe()});var Rwe=ye((Klr,Iwe)=>{\"use strict\";Iwe.exports={eventDataKeys:[\"initial\",\"delta\",\"final\"]}});var YH=ye((Jlr,Fwe)=>{\"use strict\";var Uu=Lm(),ZH=Uc().line,w2t=vl(),Dwe=Oc().axisHoverFormat,T2t=Wo().hovertemplateAttrs,A2t=Wo().texttemplateAttrs,zwe=Rwe(),VT=no().extendFlat,S2t=va();function XH(e){return{marker:{color:VT({},Uu.marker.color,{arrayOk:!1,editType:\"style\"}),line:{color:VT({},Uu.marker.line.color,{arrayOk:!1,editType:\"style\"}),width:VT({},Uu.marker.line.width,{arrayOk:!1,editType:\"style\"}),editType:\"style\"},editType:\"style\"},editType:\"style\"}}Fwe.exports={measure:{valType:\"data_array\",dflt:[],editType:\"calc\"},base:{valType:\"number\",dflt:null,arrayOk:!1,editType:\"calc\"},x:Uu.x,x0:Uu.x0,dx:Uu.dx,y:Uu.y,y0:Uu.y0,dy:Uu.dy,xperiod:Uu.xperiod,yperiod:Uu.yperiod,xperiod0:Uu.xperiod0,yperiod0:Uu.yperiod0,xperiodalignment:Uu.xperiodalignment,yperiodalignment:Uu.yperiodalignment,xhoverformat:Dwe(\"x\"),yhoverformat:Dwe(\"y\"),hovertext:Uu.hovertext,hovertemplate:T2t({},{keys:zwe.eventDataKeys}),hoverinfo:VT({},w2t.hoverinfo,{flags:[\"name\",\"x\",\"y\",\"text\",\"initial\",\"delta\",\"final\"]}),textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"initial\",\"delta\",\"final\"],extras:[\"none\"],editType:\"plot\",arrayOk:!1},texttemplate:A2t({editType:\"plot\"},{keys:zwe.eventDataKeys.concat([\"label\"])}),text:Uu.text,textposition:Uu.textposition,insidetextanchor:Uu.insidetextanchor,textangle:Uu.textangle,textfont:Uu.textfont,insidetextfont:Uu.insidetextfont,outsidetextfont:Uu.outsidetextfont,constraintext:Uu.constraintext,cliponaxis:Uu.cliponaxis,orientation:Uu.orientation,offset:Uu.offset,width:Uu.width,increasing:XH(\"increasing\"),decreasing:XH(\"decreasing\"),totals:XH(\"intermediate sums and total\"),connector:{line:{color:VT({},ZH.color,{dflt:S2t.defaultLine}),width:VT({},ZH.width,{editType:\"plot\"}),dash:ZH.dash,editType:\"plot\"},mode:{valType:\"enumerated\",values:[\"spanning\",\"between\"],dflt:\"between\",editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},offsetgroup:Uu.offsetgroup,alignmentgroup:Uu.alignmentgroup,zorder:Uu.zorder}});var KH=ye(($lr,qwe)=>{\"use strict\";qwe.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\"}}});var HT=ye((Qlr,Owe)=>{\"use strict\";Owe.exports={INCREASING:{COLOR:\"#3D9970\",SYMBOL:\"\\u25B2\"},DECREASING:{COLOR:\"#FF4136\",SYMBOL:\"\\u25BC\"}}});var $H=ye((eur,Vwe)=>{\"use strict\";var Bwe=Mr(),M2t=Hb(),E2t=r0().handleText,k2t=K3(),C2t=Pg(),Nwe=YH(),L2t=va(),Uwe=HT(),P2t=Uwe.INCREASING.COLOR,I2t=Uwe.DECREASING.COLOR,R2t=\"#4499FF\";function JH(e,t,r){e(t+\".marker.color\",r),e(t+\".marker.line.color\",L2t.defaultLine),e(t+\".marker.line.width\")}function D2t(e,t,r,n){function i(u,c){return Bwe.coerce(e,t,Nwe,u,c)}var a=k2t(e,t,n,i);if(!a){t.visible=!1;return}C2t(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\"),i(\"measure\"),i(\"orientation\",t.x&&!t.y?\"h\":\"v\"),i(\"base\"),i(\"offset\"),i(\"width\"),i(\"text\"),i(\"hovertext\"),i(\"hovertemplate\");var o=i(\"textposition\");E2t(e,t,n,i,o,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),t.textposition!==\"none\"&&(i(\"texttemplate\"),t.texttemplate||i(\"textinfo\")),JH(i,\"increasing\",P2t),JH(i,\"decreasing\",I2t),JH(i,\"totals\",R2t);var s=i(\"connector.visible\");if(s){i(\"connector.mode\");var l=i(\"connector.line.width\");l&&(i(\"connector.line.color\"),i(\"connector.line.dash\"))}i(\"zorder\")}function z2t(e,t){var r,n;function i(o){return Bwe.coerce(n._input,n,Nwe,o)}if(t.waterfallmode===\"group\")for(var a=0;a<e.length;a++)n=e[a],r=n._input,M2t(r,n,t,i,t.waterfallmode)}Vwe.exports={supplyDefaults:D2t,crossTraceDefaults:z2t}});var Gwe=ye((tur,Hwe)=>{\"use strict\";var F2t=Mr(),q2t=KH();Hwe.exports=function(e,t,r){var n=!1;function i(s,l){return F2t.coerce(e,t,q2t,s,l)}for(var a=0;a<r.length;a++){var o=r[a];if(o.visible&&o.type===\"waterfall\"){n=!0;break}}n&&(i(\"waterfallmode\"),i(\"waterfallgap\",.2),i(\"waterfallgroupgap\"))}});var Kwe=ye((rur,Ywe)=>{\"use strict\";var jwe=Qa(),Wwe=Rg(),Zwe=Mr().mergeArray,O2t=F0(),Xwe=es().BADNUM;function QH(e){return e===\"a\"||e===\"absolute\"}function eG(e){return e===\"t\"||e===\"total\"}Ywe.exports=function(t,r){var n=jwe.getFromId(t,r.xaxis||\"x\"),i=jwe.getFromId(t,r.yaxis||\"y\"),a,o,s,l,u,c;r.orientation===\"h\"?(a=n.makeCalcdata(r,\"x\"),s=i.makeCalcdata(r,\"y\"),l=Wwe(r,i,\"y\",s),u=!!r.yperiodalignment,c=\"y\"):(a=i.makeCalcdata(r,\"y\"),s=n.makeCalcdata(r,\"x\"),l=Wwe(r,n,\"x\",s),u=!!r.xperiodalignment,c=\"x\"),o=l.vals;for(var f=Math.min(o.length,a.length),h=new Array(f),d=0,v,x=!1,b=0;b<f;b++){var p=a[b]||0,E=!1;(a[b]!==Xwe||eG(r.measure[b])||QH(r.measure[b]))&&b+1<f&&(a[b+1]!==Xwe||eG(r.measure[b+1])||QH(r.measure[b+1]))&&(E=!0);var k=h[b]={i:b,p:o[b],s:p,rawS:p,cNext:E};QH(r.measure[b])?(d=k.s,k.isSum=!0,k.dir=\"totals\",k.s=d):eG(r.measure[b])?(k.isSum=!0,k.dir=\"totals\",k.s=d):(k.isSum=!1,k.dir=k.rawS<0?\"decreasing\":\"increasing\",v=k.s,k.s=d+v,d+=v),k.dir===\"totals\"&&(x=!0),u&&(h[b].orig_p=s[b],h[b][c+\"End\"]=l.ends[b],h[b][c+\"Start\"]=l.starts[b]),r.ids&&(k.id=String(r.ids[b])),k.v=(r.base||0)+d}return h.length&&(h[0].hasTotals=x),Zwe(r.text,h,\"tx\"),Zwe(r.hovertext,h,\"htx\"),O2t(h,r),h}});var Qwe=ye((iur,$we)=>{\"use strict\";var Jwe=Gb().setGroupPositions;$we.exports=function(t,r){var n=t._fullLayout,i=t._fullData,a=t.calcdata,o=r.xaxis,s=r.yaxis,l=[],u=[],c=[],f,h;for(h=0;h<i.length;h++){var d=i[h];d.visible===!0&&d.xaxis===o._id&&d.yaxis===s._id&&d.type===\"waterfall\"&&(f=a[h],d.orientation===\"h\"?c.push(f):u.push(f),l.push(f))}var v={mode:n.waterfallmode,norm:n.waterfallnorm,gap:n.waterfallgap,groupgap:n.waterfallgroupgap};for(Jwe(t,o,s,u,v),Jwe(t,s,o,c,v),h=0;h<l.length;h++){f=l[h];for(var x=0;x<f.length;x++){var b=f[x];b.isSum===!1&&(b.s0+=x===0?0:f[x-1].s),x+1<f.length&&(f[x].nextP0=f[x+1].p0,f[x].nextS0=f[x+1].s0)}}}});var r3e=ye((nur,t3e)=>{\"use strict\";var e3e=xa(),D8=Mr(),B2t=ao(),GT=es().BADNUM,N2t=i2(),U2t=_v().clearMinTextSize;t3e.exports=function(t,r,n,i){var a=t._fullLayout;U2t(\"waterfall\",a),N2t.plot(t,r,n,i,{mode:a.waterfallmode,norm:a.waterfallmode,gap:a.waterfallgap,groupgap:a.waterfallgroupgap}),V2t(t,r,n,i)};function V2t(e,t,r,n){var i=t.xaxis,a=t.yaxis;D8.makeTraceGroups(n,r,\"trace bars\").each(function(o){var s=e3e.select(this),l=o[0].trace,u=D8.ensureSingle(s,\"g\",\"lines\");if(!l.connector||!l.connector.visible){u.remove();return}var c=l.orientation===\"h\",f=l.connector.mode,h=u.selectAll(\"g.line\").data(D8.identity);h.enter().append(\"g\").classed(\"line\",!0),h.exit().remove();var d=h.size();h.each(function(v,x){if(!(x!==d-1&&!v.cNext)){var b=H2t(v,i,a,c),p=b[0],E=b[1],k=\"\";p[0]!==GT&&E[0]!==GT&&p[1]!==GT&&E[1]!==GT&&(f===\"spanning\"&&!v.isSum&&x>0&&(c?k+=\"M\"+p[0]+\",\"+E[1]+\"V\"+E[0]:k+=\"M\"+p[1]+\",\"+E[0]+\"H\"+p[0]),f!==\"between\"&&(v.isSum||x<d-1)&&(c?k+=\"M\"+p[1]+\",\"+E[0]+\"V\"+E[1]:k+=\"M\"+p[0]+\",\"+E[1]+\"H\"+p[1]),p[2]!==GT&&E[2]!==GT&&(c?k+=\"M\"+p[1]+\",\"+E[1]+\"V\"+E[2]:k+=\"M\"+p[1]+\",\"+E[1]+\"H\"+p[2])),k===\"\"&&(k=\"M0,0Z\"),D8.ensureSingle(e3e.select(this),\"path\").attr(\"d\",k).call(B2t.setClipUrl,t.layerClipId,e)}})})}function H2t(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),i[2]=o.c2p(e.nextS0,!0),a[2]=s.c2p(e.nextP0,!0),n?[i,a]:[a,i]}});var o3e=ye((aur,a3e)=>{\"use strict\";var z8=xa(),i3e=ao(),n3e=va(),G2t=U1().DESELECTDIM,j2t=N0(),W2t=_v().resizeText,Z2t=j2t.styleTextPoints;function X2t(e,t,r){var n=r||z8.select(e).selectAll('g[class^=\"waterfalllayer\"]').selectAll(\"g.trace\");W2t(e,n,\"waterfall\"),n.style(\"opacity\",function(i){return i[0].trace.opacity}),n.each(function(i){var a=z8.select(this),o=i[0].trace;a.selectAll(\".point > path\").each(function(s){if(!s.isBlank){var l=o[s.dir].marker;z8.select(this).call(n3e.fill,l.color).call(n3e.stroke,l.line.color).call(i3e.dashLine,l.line.dash,l.line.width).style(\"opacity\",o.selectedpoints&&!s.selected?G2t:1)}}),Z2t(a,o,e),a.selectAll(\".lines\").each(function(){var s=o.connector.line;i3e.lineGroupStyle(z8.select(this).selectAll(\"path\"),s.width,s.color,s.dash)})})}a3e.exports={style:X2t}});var f3e=ye((our,c3e)=>{\"use strict\";var Y2t=Qa().hoverLabelText,s3e=va().opacity,K2t=TT().hoverOnBars,l3e=HT(),u3e={increasing:l3e.INCREASING.SYMBOL,decreasing:l3e.DECREASING.SYMBOL};c3e.exports=function(t,r,n,i,a){var o=K2t(t,r,n,i,a);if(!o)return;var s=o.cd,l=s[0].trace,u=l.orientation===\"h\",c=u?\"x\":\"y\",f=u?t.xa:t.ya;function h(_){return Y2t(f,_,l[c+\"hoverformat\"])}var d=o.index,v=s[d],x=v.isSum?v.b+v.s:v.rawS;o.initial=v.b+v.s-x,o.delta=x,o.final=o.initial+o.delta;var b=h(Math.abs(o.delta));o.deltaLabel=x<0?\"(\"+b+\")\":b,o.finalLabel=h(o.final),o.initialLabel=h(o.initial);var p=v.hi||l.hoverinfo,E=[];if(p&&p!==\"none\"&&p!==\"skip\"){var k=p===\"all\",A=p.split(\"+\"),L=function(_){return k||A.indexOf(_)!==-1};v.isSum||(L(\"final\")&&(u?!L(\"x\"):!L(\"y\"))&&E.push(o.finalLabel),L(\"delta\")&&(x<0?E.push(o.deltaLabel+\" \"+u3e.decreasing):E.push(o.deltaLabel+\" \"+u3e.increasing)),L(\"initial\")&&E.push(\"Initial: \"+o.initialLabel))}return E.length&&(o.extraText=E.join(\"<br>\")),o.color=J2t(l,v),[o]};function J2t(e,t){var r=e[t.dir].marker,n=r.color,i=r.line.color,a=r.line.width;if(s3e(n))return n;if(s3e(i)&&a)return i}});var d3e=ye((sur,h3e)=>{\"use strict\";h3e.exports=function(t,r){return t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,\"initial\"in r&&(t.initial=r.initial),\"delta\"in r&&(t.delta=r.delta),\"final\"in r&&(t.final=r.final),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var p3e=ye((lur,v3e)=>{\"use strict\";v3e.exports={attributes:YH(),layoutAttributes:KH(),supplyDefaults:$H().supplyDefaults,crossTraceDefaults:$H().crossTraceDefaults,supplyLayoutDefaults:Gwe(),calc:Kwe(),crossTraceCalc:Qwe(),plot:r3e(),style:o3e().style,hoverPoints:f3e(),eventData:d3e(),selectPoints:AT(),moduleType:\"trace\",name:\"waterfall\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}});var m3e=ye((uur,g3e)=>{\"use strict\";g3e.exports=p3e()});var jT=ye((cur,y3e)=>{\"use strict\";y3e.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(e){return e.slice(0,3)},suffix:[\"\",\"\",\"\"]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.slice(0,4)},suffix:[\"\",\"\",\"\",\"\"]},rgba256:{colormodel:\"rgba\",zminDflt:[0,0,0,0],zmaxDflt:[255,255,255,255],min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.slice(0,4)},suffix:[\"\",\"\",\"\",\"\"]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(e){var t=e.slice(0,3);return t[1]=t[1]+\"%\",t[2]=t[2]+\"%\",t},suffix:[\"\\xB0\",\"%\",\"%\"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(e){var t=e.slice(0,4);return t[1]=t[1]+\"%\",t[2]=t[2]+\"%\",t},suffix:[\"\\xB0\",\"%\",\"%\",\"\"]}}}});var tG=ye((fur,x3e)=>{\"use strict\";var $2t=vl(),Q2t=Uc().zorder,ewt=Wo().hovertemplateAttrs,_3e=no().extendFlat,twt=jT().colormodel,D4=[\"rgb\",\"rgba\",\"rgba256\",\"hsl\",\"hsla\"],rwt=[],iwt=[];for(WT=0;WT<D4.length;WT++)R4=twt[D4[WT]],rwt.push(\"For the `\"+D4[WT]+\"` colormodel, it is [\"+(R4.zminDflt||R4.min).join(\", \")+\"].\"),iwt.push(\"For the `\"+D4[WT]+\"` colormodel, it is [\"+(R4.zmaxDflt||R4.max).join(\", \")+\"].\");var R4,WT;x3e.exports=_3e({source:{valType:\"string\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},colormodel:{valType:\"enumerated\",values:D4,editType:\"calc\"},zsmooth:{valType:\"enumerated\",values:[\"fast\",!1],dflt:!1,editType:\"plot\"},zmin:{valType:\"info_array\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},zmax:{valType:\"info_array\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},x0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},y0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dx:{valType:\"number\",dflt:1,editType:\"calc\"},dy:{valType:\"number\",dflt:1,editType:\"calc\"},text:{valType:\"data_array\",editType:\"plot\"},hovertext:{valType:\"data_array\",editType:\"plot\"},hoverinfo:_3e({},$2t.hoverinfo,{flags:[\"x\",\"y\",\"z\",\"color\",\"name\",\"text\"],dflt:\"x+y+z+text+name\"}),hovertemplate:ewt({},{keys:[\"z\",\"color\",\"colormodel\"]}),zorder:Q2t})});var T3e=ye((hur,w3e)=>{\"use strict\";var nwt=Mr(),awt=tG(),b3e=jT(),owt=Ly().IMAGE_URL_PREFIX;w3e.exports=function(t,r){function n(o,s){return nwt.coerce(t,r,awt,o,s)}n(\"source\"),r.source&&!r.source.match(owt)&&delete r.source,r._hasSource=!!r.source;var i=n(\"z\");if(r._hasZ=!(i===void 0||!i.length||!i[0]||!i[0].length),!r._hasZ&&!r._hasSource){r.visible=!1;return}n(\"x0\"),n(\"y0\"),n(\"dx\"),n(\"dy\");var a;r._hasZ?(n(\"colormodel\",\"rgb\"),a=b3e.colormodel[r.colormodel],n(\"zmin\",a.zminDflt||a.min),n(\"zmax\",a.zmaxDflt||a.max)):r._hasSource&&(r.colormodel=\"rgba256\",a=b3e.colormodel[r.colormodel],r.zmin=a.zminDflt,r.zmax=a.zmaxDflt),n(\"zsmooth\"),n(\"text\"),n(\"hovertext\"),n(\"hovertemplate\"),r._length=null,n(\"zorder\")}});var Uy=ye((dur,rG)=>{typeof Object.create==\"function\"?rG.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:rG.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}}});var iG=ye((vur,A3e)=>{A3e.exports=vb().EventEmitter});var E3e=ye(F8=>{\"use strict\";F8.byteLength=lwt;F8.toByteArray=cwt;F8.fromByteArray=dwt;var Fm=[],Z0=[],swt=typeof Uint8Array!=\"undefined\"?Uint8Array:Array,nG=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";for(s2=0,S3e=nG.length;s2<S3e;++s2)Fm[s2]=nG[s2],Z0[nG.charCodeAt(s2)]=s2;var s2,S3e;Z0[45]=62;Z0[95]=63;function M3e(e){var t=e.length;if(t%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=e.indexOf(\"=\");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function lwt(e){var t=M3e(e),r=t[0],n=t[1];return(r+n)*3/4-n}function uwt(e,t,r){return(t+r)*3/4-r}function cwt(e){var t,r=M3e(e),n=r[0],i=r[1],a=new swt(uwt(e,n,i)),o=0,s=i>0?n-4:n,l;for(l=0;l<s;l+=4)t=Z0[e.charCodeAt(l)]<<18|Z0[e.charCodeAt(l+1)]<<12|Z0[e.charCodeAt(l+2)]<<6|Z0[e.charCodeAt(l+3)],a[o++]=t>>16&255,a[o++]=t>>8&255,a[o++]=t&255;return i===2&&(t=Z0[e.charCodeAt(l)]<<2|Z0[e.charCodeAt(l+1)]>>4,a[o++]=t&255),i===1&&(t=Z0[e.charCodeAt(l)]<<10|Z0[e.charCodeAt(l+1)]<<4|Z0[e.charCodeAt(l+2)]>>2,a[o++]=t>>8&255,a[o++]=t&255),a}function fwt(e){return Fm[e>>18&63]+Fm[e>>12&63]+Fm[e>>6&63]+Fm[e&63]}function hwt(e,t,r){for(var n,i=[],a=t;a<r;a+=3)n=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(e[a+2]&255),i.push(fwt(n));return i.join(\"\")}function dwt(e){for(var t,r=e.length,n=r%3,i=[],a=16383,o=0,s=r-n;o<s;o+=a)i.push(hwt(e,o,o+a>s?s:o+a));return n===1?(t=e[r-1],i.push(Fm[t>>2]+Fm[t<<4&63]+\"==\")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(Fm[t>>10]+Fm[t>>4&63]+Fm[t<<2&63]+\"=\")),i.join(\"\")}});var k3e=ye(aG=>{aG.read=function(e,t,r,n,i){var a,o,s=i*8-n-1,l=(1<<s)-1,u=l>>1,c=-7,f=r?i-1:0,h=r?-1:1,d=e[t+f];for(f+=h,a=d&(1<<-c)-1,d>>=-c,c+=s;c>0;a=a*256+e[t+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=o*256+e[t+f],f+=h,c-=8);if(a===0)a=1-u;else{if(a===l)return o?NaN:(d?-1:1)*(1/0);o=o+Math.pow(2,n),a=a-u}return(d?-1:1)*o*Math.pow(2,a-n)};aG.write=function(e,t,r,n,i,a){var o,s,l,u=a*8-i-1,c=(1<<u)-1,f=c>>1,h=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:a-1,v=n?1:-1,x=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+f>=1?t+=h/l:t+=h*Math.pow(2,1-f),t*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(t*l-1)*Math.pow(2,i),o=o+f):(s=t*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;e[r+d]=s&255,d+=v,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;e[r+d]=o&255,d+=v,o/=256,u-=8);e[r+d-v]|=x*128}});var u2=ye(KT=>{\"use strict\";var oG=E3e(),XT=k3e(),C3e=typeof Symbol==\"function\"&&typeof Symbol.for==\"function\"?Symbol.for(\"nodejs.util.inspect.custom\"):null;KT.Buffer=In;KT.SlowBuffer=_wt;KT.INSPECT_MAX_BYTES=50;var q8=2147483647;KT.kMaxLength=q8;In.TYPED_ARRAY_SUPPORT=vwt();!In.TYPED_ARRAY_SUPPORT&&typeof console!=\"undefined\"&&typeof console.error==\"function\"&&console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\");function vwt(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch(e){return!1}}Object.defineProperty(In.prototype,\"parent\",{enumerable:!0,get:function(){if(In.isBuffer(this))return this.buffer}});Object.defineProperty(In.prototype,\"offset\",{enumerable:!0,get:function(){if(In.isBuffer(this))return this.byteOffset}});function Vy(e){if(e>q8)throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,In.prototype),t}function In(e,t,r){if(typeof e==\"number\"){if(typeof t==\"string\")throw new TypeError('The \"string\" argument must be of type string. Received type number');return cG(e)}return R3e(e,t,r)}In.poolSize=8192;function R3e(e,t,r){if(typeof e==\"string\")return gwt(e,t);if(ArrayBuffer.isView(e))return mwt(e);if(e==null)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof e);if(qm(e,ArrayBuffer)||e&&qm(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer!=\"undefined\"&&(qm(e,SharedArrayBuffer)||e&&qm(e.buffer,SharedArrayBuffer)))return lG(e,t,r);if(typeof e==\"number\")throw new TypeError('The \"value\" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return In.from(n,t,r);let i=ywt(e);if(i)return i;if(typeof Symbol!=\"undefined\"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]==\"function\")return In.from(e[Symbol.toPrimitive](\"string\"),t,r);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof e)}In.from=function(e,t,r){return R3e(e,t,r)};Object.setPrototypeOf(In.prototype,Uint8Array.prototype);Object.setPrototypeOf(In,Uint8Array);function D3e(e){if(typeof e!=\"number\")throw new TypeError('\"size\" argument must be of type number');if(e<0)throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"')}function pwt(e,t,r){return D3e(e),e<=0?Vy(e):t!==void 0?typeof r==\"string\"?Vy(e).fill(t,r):Vy(e).fill(t):Vy(e)}In.alloc=function(e,t,r){return pwt(e,t,r)};function cG(e){return D3e(e),Vy(e<0?0:fG(e)|0)}In.allocUnsafe=function(e){return cG(e)};In.allocUnsafeSlow=function(e){return cG(e)};function gwt(e,t){if((typeof t!=\"string\"||t===\"\")&&(t=\"utf8\"),!In.isEncoding(t))throw new TypeError(\"Unknown encoding: \"+t);let r=z3e(e,t)|0,n=Vy(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function sG(e){let t=e.length<0?0:fG(e.length)|0,r=Vy(t);for(let n=0;n<t;n+=1)r[n]=e[n]&255;return r}function mwt(e){if(qm(e,Uint8Array)){let t=new Uint8Array(e);return lG(t.buffer,t.byteOffset,t.byteLength)}return sG(e)}function lG(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('\"offset\" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('\"length\" is outside of buffer bounds');let n;return t===void 0&&r===void 0?n=new Uint8Array(e):r===void 0?n=new Uint8Array(e,t):n=new Uint8Array(e,t,r),Object.setPrototypeOf(n,In.prototype),n}function ywt(e){if(In.isBuffer(e)){let t=fG(e.length)|0,r=Vy(t);return r.length===0||e.copy(r,0,0,t),r}if(e.length!==void 0)return typeof e.length!=\"number\"||dG(e.length)?Vy(0):sG(e);if(e.type===\"Buffer\"&&Array.isArray(e.data))return sG(e.data)}function fG(e){if(e>=q8)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+q8.toString(16)+\" bytes\");return e|0}function _wt(e){return+e!=e&&(e=0),In.alloc(+e)}In.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==In.prototype};In.compare=function(t,r){if(qm(t,Uint8Array)&&(t=In.from(t,t.offset,t.byteLength)),qm(r,Uint8Array)&&(r=In.from(r,r.offset,r.byteLength)),!In.isBuffer(t)||!In.isBuffer(r))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let n=t.length,i=r.length;for(let a=0,o=Math.min(n,i);a<o;++a)if(t[a]!==r[a]){n=t[a],i=r[a];break}return n<i?-1:i<n?1:0};In.isEncoding=function(t){switch(String(t).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}};In.concat=function(t,r){if(!Array.isArray(t))throw new TypeError('\"list\" argument must be an Array of Buffers');if(t.length===0)return In.alloc(0);let n;if(r===void 0)for(r=0,n=0;n<t.length;++n)r+=t[n].length;let i=In.allocUnsafe(r),a=0;for(n=0;n<t.length;++n){let o=t[n];if(qm(o,Uint8Array))a+o.length>i.length?(In.isBuffer(o)||(o=In.from(o)),o.copy(i,a)):Uint8Array.prototype.set.call(i,o,a);else if(In.isBuffer(o))o.copy(i,a);else throw new TypeError('\"list\" argument must be an Array of Buffers');a+=o.length}return i};function z3e(e,t){if(In.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||qm(e,ArrayBuffer))return e.byteLength;if(typeof e!=\"string\")throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return uG(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return r*2;case\"hex\":return r>>>1;case\"base64\":return G3e(e).length;default:if(i)return n?-1:uG(e).length;t=(\"\"+t).toLowerCase(),i=!0}}In.byteLength=z3e;function xwt(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return Lwt(this,t,r);case\"utf8\":case\"utf-8\":return q3e(this,t,r);case\"ascii\":return kwt(this,t,r);case\"latin1\":case\"binary\":return Cwt(this,t,r);case\"base64\":return Mwt(this,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Pwt(this,t,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),n=!0}}In.prototype._isBuffer=!0;function l2(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}In.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(let r=0;r<t;r+=2)l2(this,r,r+1);return this};In.prototype.swap32=function(){let t=this.length;if(t%4!==0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(let r=0;r<t;r+=4)l2(this,r,r+3),l2(this,r+1,r+2);return this};In.prototype.swap64=function(){let t=this.length;if(t%8!==0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(let r=0;r<t;r+=8)l2(this,r,r+7),l2(this,r+1,r+6),l2(this,r+2,r+5),l2(this,r+3,r+4);return this};In.prototype.toString=function(){let t=this.length;return t===0?\"\":arguments.length===0?q3e(this,0,t):xwt.apply(this,arguments)};In.prototype.toLocaleString=In.prototype.toString;In.prototype.equals=function(t){if(!In.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");return this===t?!0:In.compare(this,t)===0};In.prototype.inspect=function(){let t=\"\",r=KT.INSPECT_MAX_BYTES;return t=this.toString(\"hex\",0,r).replace(/(.{2})/g,\"$1 \").trim(),this.length>r&&(t+=\" ... \"),\"<Buffer \"+t+\">\"};C3e&&(In.prototype[C3e]=In.prototype.inspect);In.prototype.compare=function(t,r,n,i,a){if(qm(t,Uint8Array)&&(t=In.from(t,t.offset,t.byteLength)),!In.isBuffer(t))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),a===void 0&&(a=this.length),r<0||n>t.length||i<0||a>this.length)throw new RangeError(\"out of range index\");if(i>=a&&r>=n)return 0;if(i>=a)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,a>>>=0,this===t)return 0;let o=a-i,s=n-r,l=Math.min(o,s),u=this.slice(i,a),c=t.slice(r,n);for(let f=0;f<l;++f)if(u[f]!==c[f]){o=u[f],s=c[f];break}return o<s?-1:s<o?1:0};function F3e(e,t,r,n,i){if(e.length===0)return-1;if(typeof r==\"string\"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,dG(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t==\"string\"&&(t=In.from(t,n)),In.isBuffer(t))return t.length===0?-1:L3e(e,t,r,n,i);if(typeof t==\"number\")return t=t&255,typeof Uint8Array.prototype.indexOf==\"function\"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):L3e(e,[t],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function L3e(e,t,r,n,i){let a=1,o=e.length,s=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n===\"ucs2\"||n===\"ucs-2\"||n===\"utf16le\"||n===\"utf-16le\")){if(e.length<2||t.length<2)return-1;a=2,o/=2,s/=2,r/=2}function l(c,f){return a===1?c[f]:c.readUInt16BE(f*a)}let u;if(i){let c=-1;for(u=r;u<o;u++)if(l(e,u)===l(t,c===-1?0:u-c)){if(c===-1&&(c=u),u-c+1===s)return c*a}else c!==-1&&(u-=u-c),c=-1}else for(r+s>o&&(r=o-s),u=r;u>=0;u--){let c=!0;for(let f=0;f<s;f++)if(l(e,u+f)!==l(t,f)){c=!1;break}if(c)return u}return-1}In.prototype.includes=function(t,r,n){return this.indexOf(t,r,n)!==-1};In.prototype.indexOf=function(t,r,n){return F3e(this,t,r,n,!0)};In.prototype.lastIndexOf=function(t,r,n){return F3e(this,t,r,n,!1)};function bwt(e,t,r,n){r=Number(r)||0;let i=e.length-r;n?(n=Number(n),n>i&&(n=i)):n=i;let a=t.length;n>a/2&&(n=a/2);let o;for(o=0;o<n;++o){let s=parseInt(t.substr(o*2,2),16);if(dG(s))return o;e[r+o]=s}return o}function wwt(e,t,r,n){return O8(uG(t,e.length-r),e,r,n)}function Twt(e,t,r,n){return O8(zwt(t),e,r,n)}function Awt(e,t,r,n){return O8(G3e(t),e,r,n)}function Swt(e,t,r,n){return O8(Fwt(t,e.length-r),e,r,n)}In.prototype.write=function(t,r,n,i){if(r===void 0)i=\"utf8\",n=this.length,r=0;else if(n===void 0&&typeof r==\"string\")i=r,n=this.length,r=0;else if(isFinite(r))r=r>>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i=\"utf8\")):(i=n,n=void 0);else throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");let a=this.length-r;if((n===void 0||n>a)&&(n=a),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");i||(i=\"utf8\");let o=!1;for(;;)switch(i){case\"hex\":return bwt(this,t,r,n);case\"utf8\":case\"utf-8\":return wwt(this,t,r,n);case\"ascii\":case\"latin1\":case\"binary\":return Twt(this,t,r,n);case\"base64\":return Awt(this,t,r,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Swt(this,t,r,n);default:if(o)throw new TypeError(\"Unknown encoding: \"+i);i=(\"\"+i).toLowerCase(),o=!0}};In.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function Mwt(e,t,r){return t===0&&r===e.length?oG.fromByteArray(e):oG.fromByteArray(e.slice(t,r))}function q3e(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i<r;){let a=e[i],o=null,s=a>239?4:a>223?3:a>191?2:1;if(i+s<=r){let l,u,c,f;switch(s){case 1:a<128&&(o=a);break;case 2:l=e[i+1],(l&192)===128&&(f=(a&31)<<6|l&63,f>127&&(o=f));break;case 3:l=e[i+1],u=e[i+2],(l&192)===128&&(u&192)===128&&(f=(a&15)<<12|(l&63)<<6|u&63,f>2047&&(f<55296||f>57343)&&(o=f));break;case 4:l=e[i+1],u=e[i+2],c=e[i+3],(l&192)===128&&(u&192)===128&&(c&192)===128&&(f=(a&15)<<18|(l&63)<<12|(u&63)<<6|c&63,f>65535&&f<1114112&&(o=f))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=s}return Ewt(n)}var P3e=4096;function Ewt(e){let t=e.length;if(t<=P3e)return String.fromCharCode.apply(String,e);let r=\"\",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=P3e));return r}function kwt(e,t,r){let n=\"\";r=Math.min(e.length,r);for(let i=t;i<r;++i)n+=String.fromCharCode(e[i]&127);return n}function Cwt(e,t,r){let n=\"\";r=Math.min(e.length,r);for(let i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function Lwt(e,t,r){let n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);let i=\"\";for(let a=t;a<r;++a)i+=qwt[e[a]];return i}function Pwt(e,t,r){let n=e.slice(t,r),i=\"\";for(let a=0;a<n.length-1;a+=2)i+=String.fromCharCode(n[a]+n[a+1]*256);return i}In.prototype.slice=function(t,r){let n=this.length;t=~~t,r=r===void 0?n:~~r,t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),r<t&&(r=t);let i=this.subarray(t,r);return Object.setPrototypeOf(i,In.prototype),i};function $d(e,t,r){if(e%1!==0||e<0)throw new RangeError(\"offset is not uint\");if(e+t>r)throw new RangeError(\"Trying to access beyond buffer length\")}In.prototype.readUintLE=In.prototype.readUIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=this[t],a=1,o=0;for(;++o<r&&(a*=256);)i+=this[t+o]*a;return i};In.prototype.readUintBE=In.prototype.readUIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=this[t+--r],a=1;for(;r>0&&(a*=256);)i+=this[t+--r]*a;return i};In.prototype.readUint8=In.prototype.readUInt8=function(t,r){return t=t>>>0,r||$d(t,1,this.length),this[t]};In.prototype.readUint16LE=In.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||$d(t,2,this.length),this[t]|this[t+1]<<8};In.prototype.readUint16BE=In.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||$d(t,2,this.length),this[t]<<8|this[t+1]};In.prototype.readUint32LE=In.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};In.prototype.readUint32BE=In.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};In.prototype.readBigUInt64LE=I_(function(t){t=t>>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,a=this[++t]+this[++t]*2**8+this[++t]*2**16+n*2**24;return BigInt(i)+(BigInt(a)<<BigInt(32))});In.prototype.readBigUInt64BE=I_(function(t){t=t>>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],a=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n;return(BigInt(i)<<BigInt(32))+BigInt(a)});In.prototype.readIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=this[t],a=1,o=0;for(;++o<r&&(a*=256);)i+=this[t+o]*a;return a*=128,i>=a&&(i-=Math.pow(2,8*r)),i};In.prototype.readIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=r,a=1,o=this[t+--i];for(;i>0&&(a*=256);)o+=this[t+--i]*a;return a*=128,o>=a&&(o-=Math.pow(2,8*r)),o};In.prototype.readInt8=function(t,r){return t=t>>>0,r||$d(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};In.prototype.readInt16LE=function(t,r){t=t>>>0,r||$d(t,2,this.length);let n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};In.prototype.readInt16BE=function(t,r){t=t>>>0,r||$d(t,2,this.length);let n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};In.prototype.readInt32LE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};In.prototype.readInt32BE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};In.prototype.readBigInt64LE=I_(function(t){t=t>>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(n<<24);return(BigInt(i)<<BigInt(32))+BigInt(r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24)});In.prototype.readBigInt64BE=I_(function(t){t=t>>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(i)<<BigInt(32))+BigInt(this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n)});In.prototype.readFloatLE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),XT.read(this,t,!0,23,4)};In.prototype.readFloatBE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),XT.read(this,t,!1,23,4)};In.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||$d(t,8,this.length),XT.read(this,t,!0,52,8)};In.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||$d(t,8,this.length),XT.read(this,t,!1,52,8)};function Rp(e,t,r,n,i,a){if(!In.isBuffer(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>i||t<a)throw new RangeError('\"value\" argument is out of bounds');if(r+n>e.length)throw new RangeError(\"Index out of range\")}In.prototype.writeUintLE=In.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let s=Math.pow(2,8*n)-1;Rp(this,t,r,n,s,0)}let a=1,o=0;for(this[r]=t&255;++o<n&&(a*=256);)this[r+o]=t/a&255;return r+n};In.prototype.writeUintBE=In.prototype.writeUIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let s=Math.pow(2,8*n)-1;Rp(this,t,r,n,s,0)}let a=n-1,o=1;for(this[r+a]=t&255;--a>=0&&(o*=256);)this[r+a]=t/o&255;return r+n};In.prototype.writeUint8=In.prototype.writeUInt8=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,1,255,0),this[r]=t&255,r+1};In.prototype.writeUint16LE=In.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2};In.prototype.writeUint16BE=In.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2};In.prototype.writeUint32LE=In.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4};In.prototype.writeUint32BE=In.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function O3e(e,t,r,n,i){H3e(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,r}function B3e(e,t,r,n,i){H3e(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r+7]=a,a=a>>8,e[r+6]=a,a=a>>8,e[r+5]=a,a=a>>8,e[r+4]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=o,o=o>>8,e[r+2]=o,o=o>>8,e[r+1]=o,o=o>>8,e[r]=o,r+8}In.prototype.writeBigUInt64LE=I_(function(t,r=0){return O3e(this,t,r,BigInt(0),BigInt(\"0xffffffffffffffff\"))});In.prototype.writeBigUInt64BE=I_(function(t,r=0){return B3e(this,t,r,BigInt(0),BigInt(\"0xffffffffffffffff\"))});In.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);Rp(this,t,r,n,l-1,-l)}let a=0,o=1,s=0;for(this[r]=t&255;++a<n&&(o*=256);)t<0&&s===0&&this[r+a-1]!==0&&(s=1),this[r+a]=(t/o>>0)-s&255;return r+n};In.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);Rp(this,t,r,n,l-1,-l)}let a=n-1,o=1,s=0;for(this[r+a]=t&255;--a>=0&&(o*=256);)t<0&&s===0&&this[r+a+1]!==0&&(s=1),this[r+a]=(t/o>>0)-s&255;return r+n};In.prototype.writeInt8=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1};In.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2};In.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2};In.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4};In.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};In.prototype.writeBigInt64LE=I_(function(t,r=0){return O3e(this,t,r,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});In.prototype.writeBigInt64BE=I_(function(t,r=0){return B3e(this,t,r,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});function N3e(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function U3e(e,t,r,n,i){return t=+t,r=r>>>0,i||N3e(e,t,r,4,34028234663852886e22,-34028234663852886e22),XT.write(e,t,r,n,23,4),r+4}In.prototype.writeFloatLE=function(t,r,n){return U3e(this,t,r,!0,n)};In.prototype.writeFloatBE=function(t,r,n){return U3e(this,t,r,!1,n)};function V3e(e,t,r,n,i){return t=+t,r=r>>>0,i||N3e(e,t,r,8,17976931348623157e292,-17976931348623157e292),XT.write(e,t,r,n,52,8),r+8}In.prototype.writeDoubleLE=function(t,r,n){return V3e(this,t,r,!0,n)};In.prototype.writeDoubleBE=function(t,r,n){return V3e(this,t,r,!1,n)};In.prototype.copy=function(t,r,n,i){if(!In.isBuffer(t))throw new TypeError(\"argument should be a Buffer\");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i<n&&(i=n),i===n||t.length===0||this.length===0)return 0;if(r<0)throw new RangeError(\"targetStart out of bounds\");if(n<0||n>=this.length)throw new RangeError(\"Index out of range\");if(i<0)throw new RangeError(\"sourceEnd out of bounds\");i>this.length&&(i=this.length),t.length-r<i-n&&(i=t.length-r+n);let a=i-n;return this===t&&typeof Uint8Array.prototype.copyWithin==\"function\"?this.copyWithin(r,n,i):Uint8Array.prototype.set.call(t,this.subarray(n,i),r),a};In.prototype.fill=function(t,r,n,i){if(typeof t==\"string\"){if(typeof r==\"string\"?(i=r,r=0,n=this.length):typeof n==\"string\"&&(i=n,n=this.length),i!==void 0&&typeof i!=\"string\")throw new TypeError(\"encoding must be a string\");if(typeof i==\"string\"&&!In.isEncoding(i))throw new TypeError(\"Unknown encoding: \"+i);if(t.length===1){let o=t.charCodeAt(0);(i===\"utf8\"&&o<128||i===\"latin1\")&&(t=o)}}else typeof t==\"number\"?t=t&255:typeof t==\"boolean\"&&(t=Number(t));if(r<0||this.length<r||this.length<n)throw new RangeError(\"Out of range index\");if(n<=r)return this;r=r>>>0,n=n===void 0?this.length:n>>>0,t||(t=0);let a;if(typeof t==\"number\")for(a=r;a<n;++a)this[a]=t;else{let o=In.isBuffer(t)?t:In.from(t,i),s=o.length;if(s===0)throw new TypeError('The value \"'+t+'\" is invalid for argument \"value\"');for(a=0;a<n-r;++a)this[a+r]=o[a%s]}return this};var ZT={};function hG(e,t,r){ZT[e]=class extends r{constructor(){super(),Object.defineProperty(this,\"message\",{value:t.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${e}]`,this.stack,delete this.name}get code(){return e}set code(i){Object.defineProperty(this,\"code\",{configurable:!0,enumerable:!0,value:i,writable:!0})}toString(){return`${this.name} [${e}]: ${this.message}`}}}hG(\"ERR_BUFFER_OUT_OF_BOUNDS\",function(e){return e?`${e} is outside of buffer bounds`:\"Attempt to access memory outside buffer bounds\"},RangeError);hG(\"ERR_INVALID_ARG_TYPE\",function(e,t){return`The \"${e}\" argument must be of type number. Received type ${typeof t}`},TypeError);hG(\"ERR_OUT_OF_RANGE\",function(e,t,r){let n=`The value of \"${e}\" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=I3e(String(r)):typeof r==\"bigint\"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=I3e(i)),i+=\"n\"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function I3e(e){let t=\"\",r=e.length,n=e[0]===\"-\"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function Iwt(e,t,r){YT(t,\"offset\"),(e[t]===void 0||e[t+r]===void 0)&&z4(t,e.length-(r+1))}function H3e(e,t,r,n,i,a){if(e>r||e<t){let o=typeof t==\"bigint\"?\"n\":\"\",s;throw a>3?t===0||t===BigInt(0)?s=`>= 0${o} and < 2${o} ** ${(a+1)*8}${o}`:s=`>= -(2${o} ** ${(a+1)*8-1}${o}) and < 2 ** ${(a+1)*8-1}${o}`:s=`>= ${t}${o} and <= ${r}${o}`,new ZT.ERR_OUT_OF_RANGE(\"value\",s,e)}Iwt(n,i,a)}function YT(e,t){if(typeof e!=\"number\")throw new ZT.ERR_INVALID_ARG_TYPE(t,\"number\",e)}function z4(e,t,r){throw Math.floor(e)!==e?(YT(e,r),new ZT.ERR_OUT_OF_RANGE(r||\"offset\",\"an integer\",e)):t<0?new ZT.ERR_BUFFER_OUT_OF_BOUNDS:new ZT.ERR_OUT_OF_RANGE(r||\"offset\",`>= ${r?1:0} and <= ${t}`,e)}var Rwt=/[^+/0-9A-Za-z-_]/g;function Dwt(e){if(e=e.split(\"=\")[0],e=e.trim().replace(Rwt,\"\"),e.length<2)return\"\";for(;e.length%4!==0;)e=e+\"=\";return e}function uG(e,t){t=t||1/0;let r,n=e.length,i=null,a=[];for(let o=0;o<n;++o){if(r=e.charCodeAt(o),r>55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error(\"Invalid code point\")}return a}function zwt(e){let t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r)&255);return t}function Fwt(e,t){let r,n,i,a=[];for(let o=0;o<e.length&&!((t-=2)<0);++o)r=e.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}function G3e(e){return oG.toByteArray(Dwt(e))}function O8(e,t,r,n){let i;for(i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function qm(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function dG(e){return e!==e}var qwt=function(){let e=\"0123456789abcdef\",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function I_(e){return typeof BigInt==\"undefined\"?Owt:e}function Owt(){throw new Error(\"BigInt not supported\")}});var B8=ye((_ur,j3e)=>{\"use strict\";j3e.exports=function(){if(typeof Symbol!=\"function\"||typeof Object.getOwnPropertySymbols!=\"function\")return!1;if(typeof Symbol.iterator==\"symbol\")return!0;var t={},r=Symbol(\"test\"),n=Object(r);if(typeof r==\"string\"||Object.prototype.toString.call(r)!==\"[object Symbol]\"||Object.prototype.toString.call(n)!==\"[object Symbol]\")return!1;var i=42;t[r]=i;for(r in t)return!1;if(typeof Object.keys==\"function\"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames==\"function\"&&Object.getOwnPropertyNames(t).length!==0)return!1;var a=Object.getOwnPropertySymbols(t);if(a.length!==1||a[0]!==r||!Object.prototype.propertyIsEnumerable.call(t,r))return!1;if(typeof Object.getOwnPropertyDescriptor==\"function\"){var o=Object.getOwnPropertyDescriptor(t,r);if(o.value!==i||o.enumerable!==!0)return!1}return!0}});var F4=ye((xur,W3e)=>{\"use strict\";var Bwt=B8();W3e.exports=function(){return Bwt()&&!!Symbol.toStringTag}});var X3e=ye((bur,Z3e)=>{\"use strict\";Z3e.exports=Error});var K3e=ye((wur,Y3e)=>{\"use strict\";Y3e.exports=EvalError});var $3e=ye((Tur,J3e)=>{\"use strict\";J3e.exports=RangeError});var eTe=ye((Aur,Q3e)=>{\"use strict\";Q3e.exports=ReferenceError});var vG=ye((Sur,tTe)=>{\"use strict\";tTe.exports=SyntaxError});var q4=ye((Mur,rTe)=>{\"use strict\";rTe.exports=TypeError});var nTe=ye((Eur,iTe)=>{\"use strict\";iTe.exports=URIError});var sTe=ye((kur,oTe)=>{\"use strict\";var aTe=typeof Symbol!=\"undefined\"&&Symbol,Nwt=B8();oTe.exports=function(){return typeof aTe!=\"function\"||typeof Symbol!=\"function\"||typeof aTe(\"foo\")!=\"symbol\"||typeof Symbol(\"bar\")!=\"symbol\"?!1:Nwt()}});var cTe=ye((Cur,uTe)=>{\"use strict\";var lTe={foo:{}},Uwt=Object;uTe.exports=function(){return{__proto__:lTe}.foo===lTe.foo&&!({__proto__:null}instanceof Uwt)}});var dTe=ye((Lur,hTe)=>{\"use strict\";var Vwt=\"Function.prototype.bind called on incompatible \",Hwt=Object.prototype.toString,Gwt=Math.max,jwt=\"[object Function]\",fTe=function(t,r){for(var n=[],i=0;i<t.length;i+=1)n[i]=t[i];for(var a=0;a<r.length;a+=1)n[a+t.length]=r[a];return n},Wwt=function(t,r){for(var n=[],i=r||0,a=0;i<t.length;i+=1,a+=1)n[a]=t[i];return n},Zwt=function(e,t){for(var r=\"\",n=0;n<e.length;n+=1)r+=e[n],n+1<e.length&&(r+=t);return r};hTe.exports=function(t){var r=this;if(typeof r!=\"function\"||Hwt.apply(r)!==jwt)throw new TypeError(Vwt+r);for(var n=Wwt(arguments,1),i,a=function(){if(this instanceof i){var c=r.apply(this,fTe(n,arguments));return Object(c)===c?c:this}return r.apply(t,fTe(n,arguments))},o=Gwt(0,r.length-n.length),s=[],l=0;l<o;l++)s[l]=\"$\"+l;if(i=Function(\"binder\",\"return function (\"+Zwt(s,\",\")+\"){ return binder.apply(this,arguments); }\")(a),r.prototype){var u=function(){};u.prototype=r.prototype,i.prototype=new u,u.prototype=null}return i}});var N8=ye((Pur,vTe)=>{\"use strict\";var Xwt=dTe();vTe.exports=Function.prototype.bind||Xwt});var gTe=ye((Iur,pTe)=>{\"use strict\";var Ywt=Function.prototype.call,Kwt=Object.prototype.hasOwnProperty,Jwt=N8();pTe.exports=Jwt.call(Ywt,Kwt)});var t5=ye((Rur,bTe)=>{\"use strict\";var jl,$wt=X3e(),Qwt=K3e(),e3t=$3e(),t3t=eTe(),e5=vG(),QT=q4(),r3t=nTe(),xTe=Function,pG=function(e){try{return xTe('\"use strict\"; return ('+e+\").constructor;\")()}catch(t){}},c2=Object.getOwnPropertyDescriptor;if(c2)try{c2({},\"\")}catch(e){c2=null}var gG=function(){throw new QT},i3t=c2?function(){try{return arguments.callee,gG}catch(e){try{return c2(arguments,\"callee\").get}catch(t){return gG}}}():gG,JT=sTe()(),n3t=cTe()(),Qd=Object.getPrototypeOf||(n3t?function(e){return e.__proto__}:null),$T={},a3t=typeof Uint8Array==\"undefined\"||!Qd?jl:Qd(Uint8Array),f2={__proto__:null,\"%AggregateError%\":typeof AggregateError==\"undefined\"?jl:AggregateError,\"%Array%\":Array,\"%ArrayBuffer%\":typeof ArrayBuffer==\"undefined\"?jl:ArrayBuffer,\"%ArrayIteratorPrototype%\":JT&&Qd?Qd([][Symbol.iterator]()):jl,\"%AsyncFromSyncIteratorPrototype%\":jl,\"%AsyncFunction%\":$T,\"%AsyncGenerator%\":$T,\"%AsyncGeneratorFunction%\":$T,\"%AsyncIteratorPrototype%\":$T,\"%Atomics%\":typeof Atomics==\"undefined\"?jl:Atomics,\"%BigInt%\":typeof BigInt==\"undefined\"?jl:BigInt,\"%BigInt64Array%\":typeof BigInt64Array==\"undefined\"?jl:BigInt64Array,\"%BigUint64Array%\":typeof BigUint64Array==\"undefined\"?jl:BigUint64Array,\"%Boolean%\":Boolean,\"%DataView%\":typeof DataView==\"undefined\"?jl:DataView,\"%Date%\":Date,\"%decodeURI%\":decodeURI,\"%decodeURIComponent%\":decodeURIComponent,\"%encodeURI%\":encodeURI,\"%encodeURIComponent%\":encodeURIComponent,\"%Error%\":$wt,\"%eval%\":eval,\"%EvalError%\":Qwt,\"%Float32Array%\":typeof Float32Array==\"undefined\"?jl:Float32Array,\"%Float64Array%\":typeof Float64Array==\"undefined\"?jl:Float64Array,\"%FinalizationRegistry%\":typeof FinalizationRegistry==\"undefined\"?jl:FinalizationRegistry,\"%Function%\":xTe,\"%GeneratorFunction%\":$T,\"%Int8Array%\":typeof Int8Array==\"undefined\"?jl:Int8Array,\"%Int16Array%\":typeof Int16Array==\"undefined\"?jl:Int16Array,\"%Int32Array%\":typeof Int32Array==\"undefined\"?jl:Int32Array,\"%isFinite%\":isFinite,\"%isNaN%\":isNaN,\"%IteratorPrototype%\":JT&&Qd?Qd(Qd([][Symbol.iterator]())):jl,\"%JSON%\":typeof JSON==\"object\"?JSON:jl,\"%Map%\":typeof Map==\"undefined\"?jl:Map,\"%MapIteratorPrototype%\":typeof Map==\"undefined\"||!JT||!Qd?jl:Qd(new Map()[Symbol.iterator]()),\"%Math%\":Math,\"%Number%\":Number,\"%Object%\":Object,\"%parseFloat%\":parseFloat,\"%parseInt%\":parseInt,\"%Promise%\":typeof Promise==\"undefined\"?jl:Promise,\"%Proxy%\":typeof Proxy==\"undefined\"?jl:Proxy,\"%RangeError%\":e3t,\"%ReferenceError%\":t3t,\"%Reflect%\":typeof Reflect==\"undefined\"?jl:Reflect,\"%RegExp%\":RegExp,\"%Set%\":typeof Set==\"undefined\"?jl:Set,\"%SetIteratorPrototype%\":typeof Set==\"undefined\"||!JT||!Qd?jl:Qd(new Set()[Symbol.iterator]()),\"%SharedArrayBuffer%\":typeof SharedArrayBuffer==\"undefined\"?jl:SharedArrayBuffer,\"%String%\":String,\"%StringIteratorPrototype%\":JT&&Qd?Qd(\"\"[Symbol.iterator]()):jl,\"%Symbol%\":JT?Symbol:jl,\"%SyntaxError%\":e5,\"%ThrowTypeError%\":i3t,\"%TypedArray%\":a3t,\"%TypeError%\":QT,\"%Uint8Array%\":typeof Uint8Array==\"undefined\"?jl:Uint8Array,\"%Uint8ClampedArray%\":typeof Uint8ClampedArray==\"undefined\"?jl:Uint8ClampedArray,\"%Uint16Array%\":typeof Uint16Array==\"undefined\"?jl:Uint16Array,\"%Uint32Array%\":typeof Uint32Array==\"undefined\"?jl:Uint32Array,\"%URIError%\":r3t,\"%WeakMap%\":typeof WeakMap==\"undefined\"?jl:WeakMap,\"%WeakRef%\":typeof WeakRef==\"undefined\"?jl:WeakRef,\"%WeakSet%\":typeof WeakSet==\"undefined\"?jl:WeakSet};if(Qd)try{null.error}catch(e){mTe=Qd(Qd(e)),f2[\"%Error.prototype%\"]=mTe}var mTe,o3t=function e(t){var r;if(t===\"%AsyncFunction%\")r=pG(\"async function () {}\");else if(t===\"%GeneratorFunction%\")r=pG(\"function* () {}\");else if(t===\"%AsyncGeneratorFunction%\")r=pG(\"async function* () {}\");else if(t===\"%AsyncGenerator%\"){var n=e(\"%AsyncGeneratorFunction%\");n&&(r=n.prototype)}else if(t===\"%AsyncIteratorPrototype%\"){var i=e(\"%AsyncGenerator%\");i&&Qd&&(r=Qd(i.prototype))}return f2[t]=r,r},yTe={__proto__:null,\"%ArrayBufferPrototype%\":[\"ArrayBuffer\",\"prototype\"],\"%ArrayPrototype%\":[\"Array\",\"prototype\"],\"%ArrayProto_entries%\":[\"Array\",\"prototype\",\"entries\"],\"%ArrayProto_forEach%\":[\"Array\",\"prototype\",\"forEach\"],\"%ArrayProto_keys%\":[\"Array\",\"prototype\",\"keys\"],\"%ArrayProto_values%\":[\"Array\",\"prototype\",\"values\"],\"%AsyncFunctionPrototype%\":[\"AsyncFunction\",\"prototype\"],\"%AsyncGenerator%\":[\"AsyncGeneratorFunction\",\"prototype\"],\"%AsyncGeneratorPrototype%\":[\"AsyncGeneratorFunction\",\"prototype\",\"prototype\"],\"%BooleanPrototype%\":[\"Boolean\",\"prototype\"],\"%DataViewPrototype%\":[\"DataView\",\"prototype\"],\"%DatePrototype%\":[\"Date\",\"prototype\"],\"%ErrorPrototype%\":[\"Error\",\"prototype\"],\"%EvalErrorPrototype%\":[\"EvalError\",\"prototype\"],\"%Float32ArrayPrototype%\":[\"Float32Array\",\"prototype\"],\"%Float64ArrayPrototype%\":[\"Float64Array\",\"prototype\"],\"%FunctionPrototype%\":[\"Function\",\"prototype\"],\"%Generator%\":[\"GeneratorFunction\",\"prototype\"],\"%GeneratorPrototype%\":[\"GeneratorFunction\",\"prototype\",\"prototype\"],\"%Int8ArrayPrototype%\":[\"Int8Array\",\"prototype\"],\"%Int16ArrayPrototype%\":[\"Int16Array\",\"prototype\"],\"%Int32ArrayPrototype%\":[\"Int32Array\",\"prototype\"],\"%JSONParse%\":[\"JSON\",\"parse\"],\"%JSONStringify%\":[\"JSON\",\"stringify\"],\"%MapPrototype%\":[\"Map\",\"prototype\"],\"%NumberPrototype%\":[\"Number\",\"prototype\"],\"%ObjectPrototype%\":[\"Object\",\"prototype\"],\"%ObjProto_toString%\":[\"Object\",\"prototype\",\"toString\"],\"%ObjProto_valueOf%\":[\"Object\",\"prototype\",\"valueOf\"],\"%PromisePrototype%\":[\"Promise\",\"prototype\"],\"%PromiseProto_then%\":[\"Promise\",\"prototype\",\"then\"],\"%Promise_all%\":[\"Promise\",\"all\"],\"%Promise_reject%\":[\"Promise\",\"reject\"],\"%Promise_resolve%\":[\"Promise\",\"resolve\"],\"%RangeErrorPrototype%\":[\"RangeError\",\"prototype\"],\"%ReferenceErrorPrototype%\":[\"ReferenceError\",\"prototype\"],\"%RegExpPrototype%\":[\"RegExp\",\"prototype\"],\"%SetPrototype%\":[\"Set\",\"prototype\"],\"%SharedArrayBufferPrototype%\":[\"SharedArrayBuffer\",\"prototype\"],\"%StringPrototype%\":[\"String\",\"prototype\"],\"%SymbolPrototype%\":[\"Symbol\",\"prototype\"],\"%SyntaxErrorPrototype%\":[\"SyntaxError\",\"prototype\"],\"%TypedArrayPrototype%\":[\"TypedArray\",\"prototype\"],\"%TypeErrorPrototype%\":[\"TypeError\",\"prototype\"],\"%Uint8ArrayPrototype%\":[\"Uint8Array\",\"prototype\"],\"%Uint8ClampedArrayPrototype%\":[\"Uint8ClampedArray\",\"prototype\"],\"%Uint16ArrayPrototype%\":[\"Uint16Array\",\"prototype\"],\"%Uint32ArrayPrototype%\":[\"Uint32Array\",\"prototype\"],\"%URIErrorPrototype%\":[\"URIError\",\"prototype\"],\"%WeakMapPrototype%\":[\"WeakMap\",\"prototype\"],\"%WeakSetPrototype%\":[\"WeakSet\",\"prototype\"]},O4=N8(),U8=gTe(),s3t=O4.call(Function.call,Array.prototype.concat),l3t=O4.call(Function.apply,Array.prototype.splice),_Te=O4.call(Function.call,String.prototype.replace),V8=O4.call(Function.call,String.prototype.slice),u3t=O4.call(Function.call,RegExp.prototype.exec),c3t=/[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g,f3t=/\\\\(\\\\)?/g,h3t=function(t){var r=V8(t,0,1),n=V8(t,-1);if(r===\"%\"&&n!==\"%\")throw new e5(\"invalid intrinsic syntax, expected closing `%`\");if(n===\"%\"&&r!==\"%\")throw new e5(\"invalid intrinsic syntax, expected opening `%`\");var i=[];return _Te(t,c3t,function(a,o,s,l){i[i.length]=s?_Te(l,f3t,\"$1\"):o||a}),i},d3t=function(t,r){var n=t,i;if(U8(yTe,n)&&(i=yTe[n],n=\"%\"+i[0]+\"%\"),U8(f2,n)){var a=f2[n];if(a===$T&&(a=o3t(n)),typeof a==\"undefined\"&&!r)throw new QT(\"intrinsic \"+t+\" exists, but is not available. Please file an issue!\");return{alias:i,name:n,value:a}}throw new e5(\"intrinsic \"+t+\" does not exist!\")};bTe.exports=function(t,r){if(typeof t!=\"string\"||t.length===0)throw new QT(\"intrinsic name must be a non-empty string\");if(arguments.length>1&&typeof r!=\"boolean\")throw new QT('\"allowMissing\" argument must be a boolean');if(u3t(/^%?[^%]*%?$/,t)===null)throw new e5(\"`%` may not be present anywhere but at the beginning and end of the intrinsic name\");var n=h3t(t),i=n.length>0?n[0]:\"\",a=d3t(\"%\"+i+\"%\",r),o=a.name,s=a.value,l=!1,u=a.alias;u&&(i=u[0],l3t(n,s3t([0,1],u)));for(var c=1,f=!0;c<n.length;c+=1){var h=n[c],d=V8(h,0,1),v=V8(h,-1);if((d==='\"'||d===\"'\"||d===\"`\"||v==='\"'||v===\"'\"||v===\"`\")&&d!==v)throw new e5(\"property names with quotes must have matching quotes\");if((h===\"constructor\"||!f)&&(l=!0),i+=\".\"+h,o=\"%\"+i+\"%\",U8(f2,o))s=f2[o];else if(s!=null){if(!(h in s)){if(!r)throw new QT(\"base intrinsic for \"+t+\" exists, but the property is not available.\");return}if(c2&&c+1>=n.length){var x=c2(s,h);f=!!x,f&&\"get\"in x&&!(\"originalValue\"in x.get)?s=x.get:s=s[h]}else f=U8(s,h),s=s[h];f&&!l&&(f2[o]=s)}}return s}});var G8=ye((Dur,wTe)=>{\"use strict\";var v3t=t5(),H8=v3t(\"%Object.defineProperty%\",!0)||!1;if(H8)try{H8({},\"a\",{value:1})}catch(e){H8=!1}wTe.exports=H8});var B4=ye((zur,TTe)=>{\"use strict\";var p3t=t5(),j8=p3t(\"%Object.getOwnPropertyDescriptor%\",!0);if(j8)try{j8([],\"length\")}catch(e){j8=null}TTe.exports=j8});var ETe=ye((Fur,MTe)=>{\"use strict\";var ATe=G8(),g3t=vG(),r5=q4(),STe=B4();MTe.exports=function(t,r,n){if(!t||typeof t!=\"object\"&&typeof t!=\"function\")throw new r5(\"`obj` must be an object or a function`\");if(typeof r!=\"string\"&&typeof r!=\"symbol\")throw new r5(\"`property` must be a string or a symbol`\");if(arguments.length>3&&typeof arguments[3]!=\"boolean\"&&arguments[3]!==null)throw new r5(\"`nonEnumerable`, if provided, must be a boolean or null\");if(arguments.length>4&&typeof arguments[4]!=\"boolean\"&&arguments[4]!==null)throw new r5(\"`nonWritable`, if provided, must be a boolean or null\");if(arguments.length>5&&typeof arguments[5]!=\"boolean\"&&arguments[5]!==null)throw new r5(\"`nonConfigurable`, if provided, must be a boolean or null\");if(arguments.length>6&&typeof arguments[6]!=\"boolean\")throw new r5(\"`loose`, if provided, must be a boolean\");var i=arguments.length>3?arguments[3]:null,a=arguments.length>4?arguments[4]:null,o=arguments.length>5?arguments[5]:null,s=arguments.length>6?arguments[6]:!1,l=!!STe&&STe(t,r);if(ATe)ATe(t,r,{configurable:o===null&&l?l.configurable:!o,enumerable:i===null&&l?l.enumerable:!i,value:n,writable:a===null&&l?l.writable:!a});else if(s||!i&&!a&&!o)t[r]=n;else throw new g3t(\"This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.\")}});var yG=ye((qur,CTe)=>{\"use strict\";var mG=G8(),kTe=function(){return!!mG};kTe.hasArrayLengthDefineBug=function(){if(!mG)return null;try{return mG([],\"length\",{value:1}).length!==1}catch(t){return!0}};CTe.exports=kTe});var DTe=ye((Our,RTe)=>{\"use strict\";var m3t=t5(),LTe=ETe(),y3t=yG()(),PTe=B4(),ITe=q4(),_3t=m3t(\"%Math.floor%\");RTe.exports=function(t,r){if(typeof t!=\"function\")throw new ITe(\"`fn` is not a function\");if(typeof r!=\"number\"||r<0||r>4294967295||_3t(r)!==r)throw new ITe(\"`length` must be a positive 32-bit integer\");var n=arguments.length>2&&!!arguments[2],i=!0,a=!0;if(\"length\"in t&&PTe){var o=PTe(t,\"length\");o&&!o.configurable&&(i=!1),o&&!o.writable&&(a=!1)}return(i||a||!n)&&(y3t?LTe(t,\"length\",r,!0,!0):LTe(t,\"length\",r)),t}});var N4=ye((Bur,W8)=>{\"use strict\";var _G=N8(),Z8=t5(),x3t=DTe(),b3t=q4(),qTe=Z8(\"%Function.prototype.apply%\"),OTe=Z8(\"%Function.prototype.call%\"),BTe=Z8(\"%Reflect.apply%\",!0)||_G.call(OTe,qTe),zTe=G8(),w3t=Z8(\"%Math.max%\");W8.exports=function(t){if(typeof t!=\"function\")throw new b3t(\"a function is required\");var r=BTe(_G,OTe,arguments);return x3t(r,1+w3t(0,t.length-(arguments.length-1)),!0)};var FTe=function(){return BTe(_G,qTe,arguments)};zTe?zTe(W8.exports,\"apply\",{value:FTe}):W8.exports.apply=FTe});var i5=ye((Nur,VTe)=>{\"use strict\";var NTe=t5(),UTe=N4(),T3t=UTe(NTe(\"String.prototype.indexOf\"));VTe.exports=function(t,r){var n=NTe(t,!!r);return typeof n==\"function\"&&T3t(t,\".prototype.\")>-1?UTe(n):n}});var jTe=ye((Uur,GTe)=>{\"use strict\";var A3t=F4()(),S3t=i5(),xG=S3t(\"Object.prototype.toString\"),X8=function(t){return A3t&&t&&typeof t==\"object\"&&Symbol.toStringTag in t?!1:xG(t)===\"[object Arguments]\"},HTe=function(t){return X8(t)?!0:t!==null&&typeof t==\"object\"&&typeof t.length==\"number\"&&t.length>=0&&xG(t)!==\"[object Array]\"&&xG(t.callee)===\"[object Function]\"},M3t=function(){return X8(arguments)}();X8.isLegacyArguments=HTe;GTe.exports=M3t?X8:HTe});var XTe=ye((Vur,ZTe)=>{\"use strict\";var E3t=Object.prototype.toString,k3t=Function.prototype.toString,C3t=/^\\s*(?:function)?\\*/,WTe=F4()(),bG=Object.getPrototypeOf,L3t=function(){if(!WTe)return!1;try{return Function(\"return function*() {}\")()}catch(e){}},wG;ZTe.exports=function(t){if(typeof t!=\"function\")return!1;if(C3t.test(k3t.call(t)))return!0;if(!WTe){var r=E3t.call(t);return r===\"[object GeneratorFunction]\"}if(!bG)return!1;if(typeof wG==\"undefined\"){var n=L3t();wG=n?bG(n):!1}return bG(t)===wG}});var $Te=ye((Hur,JTe)=>{\"use strict\";var KTe=Function.prototype.toString,n5=typeof Reflect==\"object\"&&Reflect!==null&&Reflect.apply,AG,Y8;if(typeof n5==\"function\"&&typeof Object.defineProperty==\"function\")try{AG=Object.defineProperty({},\"length\",{get:function(){throw Y8}}),Y8={},n5(function(){throw 42},null,AG)}catch(e){e!==Y8&&(n5=null)}else n5=null;var P3t=/^\\s*class\\b/,SG=function(t){try{var r=KTe.call(t);return P3t.test(r)}catch(n){return!1}},TG=function(t){try{return SG(t)?!1:(KTe.call(t),!0)}catch(r){return!1}},K8=Object.prototype.toString,I3t=\"[object Object]\",R3t=\"[object Function]\",D3t=\"[object GeneratorFunction]\",z3t=\"[object HTMLAllCollection]\",F3t=\"[object HTML document.all class]\",q3t=\"[object HTMLCollection]\",O3t=typeof Symbol==\"function\"&&!!Symbol.toStringTag,B3t=!(0 in[,]),MG=function(){return!1};typeof document==\"object\"&&(YTe=document.all,K8.call(YTe)===K8.call(document.all)&&(MG=function(t){if((B3t||!t)&&(typeof t==\"undefined\"||typeof t==\"object\"))try{var r=K8.call(t);return(r===z3t||r===F3t||r===q3t||r===I3t)&&t(\"\")==null}catch(n){}return!1}));var YTe;JTe.exports=n5?function(t){if(MG(t))return!0;if(!t||typeof t!=\"function\"&&typeof t!=\"object\")return!1;try{n5(t,null,AG)}catch(r){if(r!==Y8)return!1}return!SG(t)&&TG(t)}:function(t){if(MG(t))return!0;if(!t||typeof t!=\"function\"&&typeof t!=\"object\")return!1;if(O3t)return TG(t);if(SG(t))return!1;var r=K8.call(t);return r!==R3t&&r!==D3t&&!/^\\[object HTML/.test(r)?!1:TG(t)}});var EG=ye((Gur,e5e)=>{\"use strict\";var N3t=$Te(),U3t=Object.prototype.toString,QTe=Object.prototype.hasOwnProperty,V3t=function(t,r,n){for(var i=0,a=t.length;i<a;i++)QTe.call(t,i)&&(n==null?r(t[i],i,t):r.call(n,t[i],i,t))},H3t=function(t,r,n){for(var i=0,a=t.length;i<a;i++)n==null?r(t.charAt(i),i,t):r.call(n,t.charAt(i),i,t)},G3t=function(t,r,n){for(var i in t)QTe.call(t,i)&&(n==null?r(t[i],i,t):r.call(n,t[i],i,t))},j3t=function(t,r,n){if(!N3t(r))throw new TypeError(\"iterator must be a function\");var i;arguments.length>=3&&(i=n),U3t.call(t)===\"[object Array]\"?V3t(t,r,i):typeof t==\"string\"?H3t(t,r,i):G3t(t,r,i)};e5e.exports=j3t});var CG=ye((jur,t5e)=>{\"use strict\";var kG=[\"BigInt64Array\",\"BigUint64Array\",\"Float32Array\",\"Float64Array\",\"Int16Array\",\"Int32Array\",\"Int8Array\",\"Uint16Array\",\"Uint32Array\",\"Uint8Array\",\"Uint8ClampedArray\"],W3t=typeof globalThis==\"undefined\"?window:globalThis;t5e.exports=function(){for(var t=[],r=0;r<kG.length;r++)typeof W3t[kG[r]]==\"function\"&&(t[t.length]=kG[r]);return t}});var o5e=ye((Wur,a5e)=>{\"use strict\";var $8=EG(),Z3t=CG(),r5e=N4(),IG=i5(),J8=B4(),X3t=IG(\"Object.prototype.toString\"),n5e=F4()(),i5e=typeof globalThis==\"undefined\"?window:globalThis,PG=Z3t(),RG=IG(\"String.prototype.slice\"),LG=Object.getPrototypeOf,Y3t=IG(\"Array.prototype.indexOf\",!0)||function(t,r){for(var n=0;n<t.length;n+=1)if(t[n]===r)return n;return-1},Q8={__proto__:null};n5e&&J8&&LG?$8(PG,function(e){var t=new i5e[e];if(Symbol.toStringTag in t){var r=LG(t),n=J8(r,Symbol.toStringTag);if(!n){var i=LG(r);n=J8(i,Symbol.toStringTag)}Q8[\"$\"+e]=r5e(n.get)}}):$8(PG,function(e){var t=new i5e[e],r=t.slice||t.set;r&&(Q8[\"$\"+e]=r5e(r))});var K3t=function(t){var r=!1;return $8(Q8,function(n,i){if(!r)try{\"$\"+n(t)===i&&(r=RG(i,1))}catch(a){}}),r},J3t=function(t){var r=!1;return $8(Q8,function(n,i){if(!r)try{n(t),r=RG(i,1)}catch(a){}}),r};a5e.exports=function(t){if(!t||typeof t!=\"object\")return!1;if(!n5e){var r=RG(X3t(t),8,-1);return Y3t(PG,r)>-1?r:r!==\"Object\"?!1:J3t(t)}return J8?K3t(t):null}});var h5e=ye((Zur,f5e)=>{\"use strict\";var s5e=EG(),$3t=CG(),zG=i5(),Q3t=zG(\"Object.prototype.toString\"),l5e=F4()(),eR=B4(),eTt=typeof globalThis==\"undefined\"?window:globalThis,u5e=$3t(),tTt=zG(\"Array.prototype.indexOf\",!0)||function(t,r){for(var n=0;n<t.length;n+=1)if(t[n]===r)return n;return-1},rTt=zG(\"String.prototype.slice\"),c5e={},DG=Object.getPrototypeOf;l5e&&eR&&DG&&s5e(u5e,function(e){var t=new eTt[e];if(Symbol.toStringTag in t){var r=DG(t),n=eR(r,Symbol.toStringTag);if(!n){var i=DG(r);n=eR(i,Symbol.toStringTag)}c5e[e]=n.get}});var iTt=function(t){var r=!1;return s5e(c5e,function(n,i){if(!r)try{r=n.call(t)===i}catch(a){}}),r};f5e.exports=function(t){if(!t||typeof t!=\"object\")return!1;if(!l5e||!(Symbol.toStringTag in t)){var r=rTt(Q3t(t),8,-1);return tTt(u5e,r)>-1}return eR?iTt(t):!1}});var OG=ye(Bl=>{\"use strict\";var nTt=jTe(),aTt=XTe(),Hg=o5e(),d5e=h5e();function a5(e){return e.call.bind(e)}var v5e=typeof BigInt!=\"undefined\",p5e=typeof Symbol!=\"undefined\",X0=a5(Object.prototype.toString),oTt=a5(Number.prototype.valueOf),sTt=a5(String.prototype.valueOf),lTt=a5(Boolean.prototype.valueOf);v5e&&(g5e=a5(BigInt.prototype.valueOf));var g5e;p5e&&(m5e=a5(Symbol.prototype.valueOf));var m5e;function V4(e,t){if(typeof e!=\"object\")return!1;try{return t(e),!0}catch(r){return!1}}Bl.isArgumentsObject=nTt;Bl.isGeneratorFunction=aTt;Bl.isTypedArray=d5e;function uTt(e){return typeof Promise!=\"undefined\"&&e instanceof Promise||e!==null&&typeof e==\"object\"&&typeof e.then==\"function\"&&typeof e.catch==\"function\"}Bl.isPromise=uTt;function cTt(e){return typeof ArrayBuffer!=\"undefined\"&&ArrayBuffer.isView?ArrayBuffer.isView(e):d5e(e)||_5e(e)}Bl.isArrayBufferView=cTt;function fTt(e){return Hg(e)===\"Uint8Array\"}Bl.isUint8Array=fTt;function hTt(e){return Hg(e)===\"Uint8ClampedArray\"}Bl.isUint8ClampedArray=hTt;function dTt(e){return Hg(e)===\"Uint16Array\"}Bl.isUint16Array=dTt;function vTt(e){return Hg(e)===\"Uint32Array\"}Bl.isUint32Array=vTt;function pTt(e){return Hg(e)===\"Int8Array\"}Bl.isInt8Array=pTt;function gTt(e){return Hg(e)===\"Int16Array\"}Bl.isInt16Array=gTt;function mTt(e){return Hg(e)===\"Int32Array\"}Bl.isInt32Array=mTt;function yTt(e){return Hg(e)===\"Float32Array\"}Bl.isFloat32Array=yTt;function _Tt(e){return Hg(e)===\"Float64Array\"}Bl.isFloat64Array=_Tt;function xTt(e){return Hg(e)===\"BigInt64Array\"}Bl.isBigInt64Array=xTt;function bTt(e){return Hg(e)===\"BigUint64Array\"}Bl.isBigUint64Array=bTt;function tR(e){return X0(e)===\"[object Map]\"}tR.working=typeof Map!=\"undefined\"&&tR(new Map);function wTt(e){return typeof Map==\"undefined\"?!1:tR.working?tR(e):e instanceof Map}Bl.isMap=wTt;function rR(e){return X0(e)===\"[object Set]\"}rR.working=typeof Set!=\"undefined\"&&rR(new Set);function TTt(e){return typeof Set==\"undefined\"?!1:rR.working?rR(e):e instanceof Set}Bl.isSet=TTt;function iR(e){return X0(e)===\"[object WeakMap]\"}iR.working=typeof WeakMap!=\"undefined\"&&iR(new WeakMap);function ATt(e){return typeof WeakMap==\"undefined\"?!1:iR.working?iR(e):e instanceof WeakMap}Bl.isWeakMap=ATt;function qG(e){return X0(e)===\"[object WeakSet]\"}qG.working=typeof WeakSet!=\"undefined\"&&qG(new WeakSet);function STt(e){return qG(e)}Bl.isWeakSet=STt;function nR(e){return X0(e)===\"[object ArrayBuffer]\"}nR.working=typeof ArrayBuffer!=\"undefined\"&&nR(new ArrayBuffer);function y5e(e){return typeof ArrayBuffer==\"undefined\"?!1:nR.working?nR(e):e instanceof ArrayBuffer}Bl.isArrayBuffer=y5e;function aR(e){return X0(e)===\"[object DataView]\"}aR.working=typeof ArrayBuffer!=\"undefined\"&&typeof DataView!=\"undefined\"&&aR(new DataView(new ArrayBuffer(1),0,1));function _5e(e){return typeof DataView==\"undefined\"?!1:aR.working?aR(e):e instanceof DataView}Bl.isDataView=_5e;var FG=typeof SharedArrayBuffer!=\"undefined\"?SharedArrayBuffer:void 0;function U4(e){return X0(e)===\"[object SharedArrayBuffer]\"}function x5e(e){return typeof FG==\"undefined\"?!1:(typeof U4.working==\"undefined\"&&(U4.working=U4(new FG)),U4.working?U4(e):e instanceof FG)}Bl.isSharedArrayBuffer=x5e;function MTt(e){return X0(e)===\"[object AsyncFunction]\"}Bl.isAsyncFunction=MTt;function ETt(e){return X0(e)===\"[object Map Iterator]\"}Bl.isMapIterator=ETt;function kTt(e){return X0(e)===\"[object Set Iterator]\"}Bl.isSetIterator=kTt;function CTt(e){return X0(e)===\"[object Generator]\"}Bl.isGeneratorObject=CTt;function LTt(e){return X0(e)===\"[object WebAssembly.Module]\"}Bl.isWebAssemblyCompiledModule=LTt;function b5e(e){return V4(e,oTt)}Bl.isNumberObject=b5e;function w5e(e){return V4(e,sTt)}Bl.isStringObject=w5e;function T5e(e){return V4(e,lTt)}Bl.isBooleanObject=T5e;function A5e(e){return v5e&&V4(e,g5e)}Bl.isBigIntObject=A5e;function S5e(e){return p5e&&V4(e,m5e)}Bl.isSymbolObject=S5e;function PTt(e){return b5e(e)||w5e(e)||T5e(e)||A5e(e)||S5e(e)}Bl.isBoxedPrimitive=PTt;function ITt(e){return typeof Uint8Array!=\"undefined\"&&(y5e(e)||x5e(e))}Bl.isAnyArrayBuffer=ITt;[\"isProxy\",\"isExternal\",\"isModuleNamespaceObject\"].forEach(function(e){Object.defineProperty(Bl,e,{enumerable:!1,value:function(){throw new Error(e+\" is not supported in userland\")}})})});var BG=ye((Yur,M5e)=>{M5e.exports=function(t){return t&&typeof t==\"object\"&&typeof t.copy==\"function\"&&typeof t.fill==\"function\"&&typeof t.readUInt8==\"function\"}});var jG=ye(Nl=>{var E5e=Object.getOwnPropertyDescriptors||function(t){for(var r=Object.keys(t),n={},i=0;i<r.length;i++)n[r[i]]=Object.getOwnPropertyDescriptor(t,r[i]);return n},RTt=/%[sdj%]/g;Nl.format=function(e){if(!hR(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(R_(arguments[r]));return t.join(\" \")}for(var r=1,n=arguments,i=n.length,a=String(e).replace(RTt,function(s){if(s===\"%%\")return\"%\";if(r>=i)return s;switch(s){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(l){return\"[Circular]\"}default:return s}}),o=n[r];r<i;o=n[++r])fR(o)||!o5(o)?a+=\" \"+o:a+=\" \"+R_(o);return a};Nl.deprecate=function(e,t){if(typeof process!=\"undefined\"&&process.noDeprecation===!0)return e;if(typeof process==\"undefined\")return function(){return Nl.deprecate(e,t).apply(this,arguments)};var r=!1;function n(){if(!r){if(process.throwDeprecation)throw new Error(t);process.traceDeprecation?console.trace(t):console.error(t),r=!0}return e.apply(this,arguments)}return n};var oR={},k5e=/^$/;sR=\"false\",sR=sR.replace(/[|\\\\{}()[\\]^$+?.]/g,\"\\\\$&\").replace(/\\*/g,\".*\").replace(/,/g,\"$|^\").toUpperCase(),k5e=new RegExp(\"^\"+sR+\"$\",\"i\");var sR;Nl.debuglog=function(e){if(e=e.toUpperCase(),!oR[e])if(k5e.test(e)){var t=process.pid;oR[e]=function(){var r=Nl.format.apply(Nl,arguments);console.error(\"%s %d: %s\",e,t,r)}}else oR[e]=function(){};return oR[e]};function R_(e,t){var r={seen:[],stylize:zTt};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),HG(t)?r.showHidden=t:t&&Nl._extend(r,t),d2(r.showHidden)&&(r.showHidden=!1),d2(r.depth)&&(r.depth=2),d2(r.colors)&&(r.colors=!1),d2(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=DTt),uR(r,e,r.depth)}Nl.inspect=R_;R_.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]};R_.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};function DTt(e,t){var r=R_.styles[t];return r?\"\\x1B[\"+R_.colors[r][0]+\"m\"+e+\"\\x1B[\"+R_.colors[r][1]+\"m\":e}function zTt(e,t){return e}function FTt(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function uR(e,t,r){if(e.customInspect&&t&&lR(t.inspect)&&t.inspect!==Nl.inspect&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return hR(n)||(n=uR(e,n,r)),n}var i=qTt(e,t);if(i)return i;var a=Object.keys(t),o=FTt(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),G4(t)&&(a.indexOf(\"message\")>=0||a.indexOf(\"description\")>=0))return NG(t);if(a.length===0){if(lR(t)){var s=t.name?\": \"+t.name:\"\";return e.stylize(\"[Function\"+s+\"]\",\"special\")}if(H4(t))return e.stylize(RegExp.prototype.toString.call(t),\"regexp\");if(cR(t))return e.stylize(Date.prototype.toString.call(t),\"date\");if(G4(t))return NG(t)}var l=\"\",u=!1,c=[\"{\",\"}\"];if(C5e(t)&&(u=!0,c=[\"[\",\"]\"]),lR(t)){var f=t.name?\": \"+t.name:\"\";l=\" [Function\"+f+\"]\"}if(H4(t)&&(l=\" \"+RegExp.prototype.toString.call(t)),cR(t)&&(l=\" \"+Date.prototype.toUTCString.call(t)),G4(t)&&(l=\" \"+NG(t)),a.length===0&&(!u||t.length==0))return c[0]+l+c[1];if(r<0)return H4(t)?e.stylize(RegExp.prototype.toString.call(t),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(t);var h;return u?h=OTt(e,t,r,o,a):h=a.map(function(d){return VG(e,t,r,o,d,u)}),e.seen.pop(),BTt(h,l,c)}function qTt(e,t){if(d2(t))return e.stylize(\"undefined\",\"undefined\");if(hR(t)){var r=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(r,\"string\")}if(L5e(t))return e.stylize(\"\"+t,\"number\");if(HG(t))return e.stylize(\"\"+t,\"boolean\");if(fR(t))return e.stylize(\"null\",\"null\")}function NG(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function OTt(e,t,r,n,i){for(var a=[],o=0,s=t.length;o<s;++o)P5e(t,String(o))?a.push(VG(e,t,r,n,String(o),!0)):a.push(\"\");return i.forEach(function(l){l.match(/^\\d+$/)||a.push(VG(e,t,r,n,l,!0))}),a}function VG(e,t,r,n,i,a){var o,s,l;if(l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]},l.get?l.set?s=e.stylize(\"[Getter/Setter]\",\"special\"):s=e.stylize(\"[Getter]\",\"special\"):l.set&&(s=e.stylize(\"[Setter]\",\"special\")),P5e(n,i)||(o=\"[\"+i+\"]\"),s||(e.seen.indexOf(l.value)<0?(fR(r)?s=uR(e,l.value,null):s=uR(e,l.value,r-1),s.indexOf(`\n", - "`)>-1&&(a?s=s.split(`\n", - "`).map(function(u){return\" \"+u}).join(`\n", - "`).slice(2):s=`\n", - "`+s.split(`\n", - "`).map(function(u){return\" \"+u}).join(`\n", - "`))):s=e.stylize(\"[Circular]\",\"special\")),d2(o)){if(a&&i.match(/^\\d+$/))return s;o=JSON.stringify(\"\"+i),o.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.slice(1,-1),o=e.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=e.stylize(o,\"string\"))}return o+\": \"+s}function BTt(e,t,r){var n=0,i=e.reduce(function(a,o){return n++,o.indexOf(`\n", - "`)>=0&&n++,a+o.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return i>60?r[0]+(t===\"\"?\"\":t+`\n", - " `)+\" \"+e.join(`,\n", - " `)+\" \"+r[1]:r[0]+t+\" \"+e.join(\", \")+\" \"+r[1]}Nl.types=OG();function C5e(e){return Array.isArray(e)}Nl.isArray=C5e;function HG(e){return typeof e==\"boolean\"}Nl.isBoolean=HG;function fR(e){return e===null}Nl.isNull=fR;function NTt(e){return e==null}Nl.isNullOrUndefined=NTt;function L5e(e){return typeof e==\"number\"}Nl.isNumber=L5e;function hR(e){return typeof e==\"string\"}Nl.isString=hR;function UTt(e){return typeof e==\"symbol\"}Nl.isSymbol=UTt;function d2(e){return e===void 0}Nl.isUndefined=d2;function H4(e){return o5(e)&&GG(e)===\"[object RegExp]\"}Nl.isRegExp=H4;Nl.types.isRegExp=H4;function o5(e){return typeof e==\"object\"&&e!==null}Nl.isObject=o5;function cR(e){return o5(e)&&GG(e)===\"[object Date]\"}Nl.isDate=cR;Nl.types.isDate=cR;function G4(e){return o5(e)&&(GG(e)===\"[object Error]\"||e instanceof Error)}Nl.isError=G4;Nl.types.isNativeError=G4;function lR(e){return typeof e==\"function\"}Nl.isFunction=lR;function VTt(e){return e===null||typeof e==\"boolean\"||typeof e==\"number\"||typeof e==\"string\"||typeof e==\"symbol\"||typeof e==\"undefined\"}Nl.isPrimitive=VTt;Nl.isBuffer=BG();function GG(e){return Object.prototype.toString.call(e)}function UG(e){return e<10?\"0\"+e.toString(10):e.toString(10)}var HTt=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function GTt(){var e=new Date,t=[UG(e.getHours()),UG(e.getMinutes()),UG(e.getSeconds())].join(\":\");return[e.getDate(),HTt[e.getMonth()],t].join(\" \")}Nl.log=function(){console.log(\"%s - %s\",GTt(),Nl.format.apply(Nl,arguments))};Nl.inherits=Uy();Nl._extend=function(e,t){if(!t||!o5(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};function P5e(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var h2=typeof Symbol!=\"undefined\"?Symbol(\"util.promisify.custom\"):void 0;Nl.promisify=function(t){if(typeof t!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');if(h2&&t[h2]){var r=t[h2];if(typeof r!=\"function\")throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(r,h2,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var n,i,a=new Promise(function(l,u){n=l,i=u}),o=[],s=0;s<arguments.length;s++)o.push(arguments[s]);o.push(function(l,u){l?i(l):n(u)});try{t.apply(this,o)}catch(l){i(l)}return a}return Object.setPrototypeOf(r,Object.getPrototypeOf(t)),h2&&Object.defineProperty(r,h2,{value:r,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(r,E5e(t))};Nl.promisify.custom=h2;function jTt(e,t){if(!e){var r=new Error(\"Promise was rejected with a falsy value\");r.reason=e,e=r}return t(e)}function WTt(e){if(typeof e!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');function t(){for(var r=[],n=0;n<arguments.length;n++)r.push(arguments[n]);var i=r.pop();if(typeof i!=\"function\")throw new TypeError(\"The last argument must be of type Function\");var a=this,o=function(){return i.apply(a,arguments)};e.apply(this,r).then(function(s){process.nextTick(o.bind(null,null,s))},function(s){process.nextTick(jTt.bind(null,s,o))})}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),Object.defineProperties(t,E5e(e)),t}Nl.callbackify=WTt});var z5e=ye((Jur,D5e)=>{\"use strict\";function I5e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ZTt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?I5e(Object(r),!0).forEach(function(n){XTt(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):I5e(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function XTt(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function YTt(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function R5e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function KTt(e,t,r){return t&&R5e(e.prototype,t),r&&R5e(e,r),e}var JTt=u2(),dR=JTt.Buffer,$Tt=jG(),WG=$Tt.inspect,QTt=WG&&WG.custom||\"inspect\";function e5t(e,t,r){dR.prototype.copy.call(e,t,r)}D5e.exports=function(){function e(){YTt(this,e),this.head=null,this.tail=null,this.length=0}return KTt(e,[{key:\"push\",value:function(r){var n={data:r,next:null};this.length>0?this.tail.next=n:this.head=n,this.tail=n,++this.length}},{key:\"unshift\",value:function(r){var n={data:r,next:this.head};this.length===0&&(this.tail=n),this.head=n,++this.length}},{key:\"shift\",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:\"clear\",value:function(){this.head=this.tail=null,this.length=0}},{key:\"join\",value:function(r){if(this.length===0)return\"\";for(var n=this.head,i=\"\"+n.data;n=n.next;)i+=r+n.data;return i}},{key:\"concat\",value:function(r){if(this.length===0)return dR.alloc(0);for(var n=dR.allocUnsafe(r>>>0),i=this.head,a=0;i;)e5t(i.data,n,a),a+=i.data.length,i=i.next;return n}},{key:\"consume\",value:function(r,n){var i;return r<this.head.data.length?(i=this.head.data.slice(0,r),this.head.data=this.head.data.slice(r)):r===this.head.data.length?i=this.shift():i=n?this._getString(r):this._getBuffer(r),i}},{key:\"first\",value:function(){return this.head.data}},{key:\"_getString\",value:function(r){var n=this.head,i=1,a=n.data;for(r-=a.length;n=n.next;){var o=n.data,s=r>o.length?o.length:r;if(s===o.length?a+=o:a+=o.slice(0,r),r-=s,r===0){s===o.length?(++i,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(s));break}++i}return this.length-=i,a}},{key:\"_getBuffer\",value:function(r){var n=dR.allocUnsafe(r),i=this.head,a=1;for(i.data.copy(n),r-=i.data.length;i=i.next;){var o=i.data,s=r>o.length?o.length:r;if(o.copy(n,n.length-r,0,s),r-=s,r===0){s===o.length?(++a,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(s));break}++a}return this.length-=a,n}},{key:QTt,value:function(r,n){return WG(this,ZTt({},n,{depth:0,customInspect:!1}))}}]),e}()});var XG=ye(($ur,q5e)=>{\"use strict\";function t5t(e,t){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(ZG,this,e)):process.nextTick(ZG,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(a){!t&&a?r._writableState?r._writableState.errorEmitted?process.nextTick(vR,r):(r._writableState.errorEmitted=!0,process.nextTick(F5e,r,a)):process.nextTick(F5e,r,a):t?(process.nextTick(vR,r),t(a)):process.nextTick(vR,r)}),this)}function F5e(e,t){ZG(e,t),vR(e)}function vR(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit(\"close\")}function r5t(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function ZG(e,t){e.emit(\"error\",t)}function i5t(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit(\"error\",t)}q5e.exports={destroy:t5t,undestroy:r5t,errorOrDestroy:i5t}});var v2=ye((Qur,N5e)=>{\"use strict\";function n5t(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var B5e={};function Y0(e,t,r){r||(r=Error);function n(a,o,s){return typeof t==\"string\"?t:t(a,o,s)}var i=function(a){n5t(o,a);function o(s,l,u){return a.call(this,n(s,l,u))||this}return o}(r);i.prototype.name=r.name,i.prototype.code=e,B5e[e]=i}function O5e(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(n){return String(n)}),r>2?\"one of \".concat(t,\" \").concat(e.slice(0,r-1).join(\", \"),\", or \")+e[r-1]:r===2?\"one of \".concat(t,\" \").concat(e[0],\" or \").concat(e[1]):\"of \".concat(t,\" \").concat(e[0])}else return\"of \".concat(t,\" \").concat(String(e))}function a5t(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function o5t(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function s5t(e,t,r){return typeof r!=\"number\"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}Y0(\"ERR_INVALID_OPT_VALUE\",function(e,t){return'The value \"'+t+'\" is invalid for option \"'+e+'\"'},TypeError);Y0(\"ERR_INVALID_ARG_TYPE\",function(e,t,r){var n;typeof t==\"string\"&&a5t(t,\"not \")?(n=\"must not be\",t=t.replace(/^not /,\"\")):n=\"must be\";var i;if(o5t(e,\" argument\"))i=\"The \".concat(e,\" \").concat(n,\" \").concat(O5e(t,\"type\"));else{var a=s5t(e,\".\")?\"property\":\"argument\";i='The \"'.concat(e,'\" ').concat(a,\" \").concat(n,\" \").concat(O5e(t,\"type\"))}return i+=\". Received type \".concat(typeof r),i},TypeError);Y0(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\");Y0(\"ERR_METHOD_NOT_IMPLEMENTED\",function(e){return\"The \"+e+\" method is not implemented\"});Y0(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\");Y0(\"ERR_STREAM_DESTROYED\",function(e){return\"Cannot call \"+e+\" after a stream was destroyed\"});Y0(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\");Y0(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\");Y0(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\");Y0(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError);Y0(\"ERR_UNKNOWN_ENCODING\",function(e){return\"Unknown encoding: \"+e},TypeError);Y0(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\");N5e.exports.codes=B5e});var YG=ye((ecr,U5e)=>{\"use strict\";var l5t=v2().codes.ERR_INVALID_OPT_VALUE;function u5t(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function c5t(e,t,r,n){var i=u5t(t,n,r);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var a=n?r:\"highWaterMark\";throw new l5t(a,i)}return Math.floor(i)}return e.objectMode?16:16*1024}U5e.exports={getHighWaterMark:c5t}});var H5e=ye((tcr,V5e)=>{V5e.exports=f5t;function f5t(e,t){if(KG(\"noDeprecation\"))return e;var r=!1;function n(){if(!r){if(KG(\"throwDeprecation\"))throw new Error(t);KG(\"traceDeprecation\")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}return n}function KG(e){try{if(!window.localStorage)return!1}catch(r){return!1}var t=window.localStorage[e];return t==null?!1:String(t).toLowerCase()===\"true\"}});var QG=ye((rcr,Y5e)=>{\"use strict\";Y5e.exports=_h;function j5e(e){var t=this;this.next=null,this.entry=null,this.finish=function(){O5t(t,e)}}var s5;_h.WritableState=W4;var h5t={deprecate:H5e()},W5e=iG(),gR=u2().Buffer,d5t=window.Uint8Array||function(){};function v5t(e){return gR.from(e)}function p5t(e){return gR.isBuffer(e)||e instanceof d5t}var $G=XG(),g5t=YG(),m5t=g5t.getHighWaterMark,D_=v2().codes,y5t=D_.ERR_INVALID_ARG_TYPE,_5t=D_.ERR_METHOD_NOT_IMPLEMENTED,x5t=D_.ERR_MULTIPLE_CALLBACK,b5t=D_.ERR_STREAM_CANNOT_PIPE,w5t=D_.ERR_STREAM_DESTROYED,T5t=D_.ERR_STREAM_NULL_VALUES,A5t=D_.ERR_STREAM_WRITE_AFTER_END,S5t=D_.ERR_UNKNOWN_ENCODING,l5=$G.errorOrDestroy;Uy()(_h,W5e);function M5t(){}function W4(e,t,r){s5=s5||p2(),e=e||{},typeof r!=\"boolean\"&&(r=t instanceof s5),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=m5t(this,e,\"writableHighWaterMark\",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var n=e.decodeStrings===!1;this.decodeStrings=!n,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(i){R5t(t,i)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new j5e(this)}W4.prototype.getBuffer=function(){for(var t=this.bufferedRequest,r=[];t;)r.push(t),t=t.next;return r};(function(){try{Object.defineProperty(W4.prototype,\"buffer\",{get:h5t.deprecate(function(){return this.getBuffer()},\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\",\"DEP0003\")})}catch(e){}})();var pR;typeof Symbol==\"function\"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==\"function\"?(pR=Function.prototype[Symbol.hasInstance],Object.defineProperty(_h,Symbol.hasInstance,{value:function(t){return pR.call(this,t)?!0:this!==_h?!1:t&&t._writableState instanceof W4}})):pR=function(t){return t instanceof this};function _h(e){s5=s5||p2();var t=this instanceof s5;if(!t&&!pR.call(_h,this))return new _h(e);this._writableState=new W4(e,this,t),this.writable=!0,e&&(typeof e.write==\"function\"&&(this._write=e.write),typeof e.writev==\"function\"&&(this._writev=e.writev),typeof e.destroy==\"function\"&&(this._destroy=e.destroy),typeof e.final==\"function\"&&(this._final=e.final)),W5e.call(this)}_h.prototype.pipe=function(){l5(this,new b5t)};function E5t(e,t){var r=new A5t;l5(e,r),process.nextTick(t,r)}function k5t(e,t,r,n){var i;return r===null?i=new T5t:typeof r!=\"string\"&&!t.objectMode&&(i=new y5t(\"chunk\",[\"string\",\"Buffer\"],r)),i?(l5(e,i),process.nextTick(n,i),!1):!0}_h.prototype.write=function(e,t,r){var n=this._writableState,i=!1,a=!n.objectMode&&p5t(e);return a&&!gR.isBuffer(e)&&(e=v5t(e)),typeof t==\"function\"&&(r=t,t=null),a?t=\"buffer\":t||(t=n.defaultEncoding),typeof r!=\"function\"&&(r=M5t),n.ending?E5t(this,r):(a||k5t(this,n,e,r))&&(n.pendingcb++,i=L5t(this,n,a,e,t,r)),i};_h.prototype.cork=function(){this._writableState.corked++};_h.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest&&Z5e(this,e))};_h.prototype.setDefaultEncoding=function(t){if(typeof t==\"string\"&&(t=t.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((t+\"\").toLowerCase())>-1))throw new S5t(t);return this._writableState.defaultEncoding=t,this};Object.defineProperty(_h.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function C5t(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t==\"string\"&&(t=gR.from(t,r)),t}Object.defineProperty(_h.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function L5t(e,t,r,n,i,a){if(!r){var o=C5t(t,n,i);n!==o&&(r=!0,i=\"buffer\",n=o)}var s=t.objectMode?1:n.length;t.length+=s;var l=t.length<t.highWaterMark;if(l||(t.needDrain=!0),t.writing||t.corked){var u=t.lastBufferedRequest;t.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:a,next:null},u?u.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else JG(e,t,!1,s,n,i,a);return l}function JG(e,t,r,n,i,a,o){t.writelen=n,t.writecb=o,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new w5t(\"write\")):r?e._writev(i,t.onwrite):e._write(i,a,t.onwrite),t.sync=!1}function P5t(e,t,r,n,i){--t.pendingcb,r?(process.nextTick(i,n),process.nextTick(j4,e,t),e._writableState.errorEmitted=!0,l5(e,n)):(i(n),e._writableState.errorEmitted=!0,l5(e,n),j4(e,t))}function I5t(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function R5t(e,t){var r=e._writableState,n=r.sync,i=r.writecb;if(typeof i!=\"function\")throw new x5t;if(I5t(r),t)P5t(e,r,n,t,i);else{var a=X5e(r)||e.destroyed;!a&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&Z5e(e,r),n?process.nextTick(G5e,e,r,a,i):G5e(e,r,a,i)}}function G5e(e,t,r,n){r||D5t(e,t),t.pendingcb--,n(),j4(e,t)}function D5t(e,t){t.length===0&&t.needDrain&&(t.needDrain=!1,e.emit(\"drain\"))}function Z5e(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount,i=new Array(n),a=t.corkedRequestsFree;a.entry=r;for(var o=0,s=!0;r;)i[o]=r,r.isBuf||(s=!1),r=r.next,o+=1;i.allBuffers=s,JG(e,t,!0,t.length,i,\"\",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new j5e(t),t.bufferedRequestCount=0}else{for(;r;){var l=r.chunk,u=r.encoding,c=r.callback,f=t.objectMode?1:l.length;if(JG(e,t,!1,f,l,u,c),r=r.next,t.bufferedRequestCount--,t.writing)break}r===null&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}_h.prototype._write=function(e,t,r){r(new _5t(\"_write()\"))};_h.prototype._writev=null;_h.prototype.end=function(e,t,r){var n=this._writableState;return typeof e==\"function\"?(r=e,e=null,t=null):typeof t==\"function\"&&(r=t,t=null),e!=null&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||q5t(this,n,r),this};Object.defineProperty(_h.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}});function X5e(e){return e.ending&&e.length===0&&e.bufferedRequest===null&&!e.finished&&!e.writing}function z5t(e,t){e._final(function(r){t.pendingcb--,r&&l5(e,r),t.prefinished=!0,e.emit(\"prefinish\"),j4(e,t)})}function F5t(e,t){!t.prefinished&&!t.finalCalled&&(typeof e._final==\"function\"&&!t.destroyed?(t.pendingcb++,t.finalCalled=!0,process.nextTick(z5t,e,t)):(t.prefinished=!0,e.emit(\"prefinish\")))}function j4(e,t){var r=X5e(t);if(r&&(F5t(e,t),t.pendingcb===0&&(t.finished=!0,e.emit(\"finish\"),t.autoDestroy))){var n=e._readableState;(!n||n.autoDestroy&&n.endEmitted)&&e.destroy()}return r}function q5t(e,t,r){t.ending=!0,j4(e,t),r&&(t.finished?process.nextTick(r):e.once(\"finish\",r)),t.ended=!0,e.writable=!1}function O5t(e,t,r){var n=e.entry;for(e.entry=null;n;){var i=n.callback;t.pendingcb--,i(r),n=n.next}t.corkedRequestsFree.next=e}Object.defineProperty(_h.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}});_h.prototype.destroy=$G.destroy;_h.prototype._undestroy=$G.undestroy;_h.prototype._destroy=function(e,t){t(e)}});var p2=ye((icr,J5e)=>{\"use strict\";var B5t=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};J5e.exports=Om;var K5e=rj(),tj=QG();Uy()(Om,K5e);for(ej=B5t(tj.prototype),mR=0;mR<ej.length;mR++)yR=ej[mR],Om.prototype[yR]||(Om.prototype[yR]=tj.prototype[yR]);var ej,yR,mR;function Om(e){if(!(this instanceof Om))return new Om(e);K5e.call(this,e),tj.call(this,e),this.allowHalfOpen=!0,e&&(e.readable===!1&&(this.readable=!1),e.writable===!1&&(this.writable=!1),e.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once(\"end\",N5t)))}Object.defineProperty(Om.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});Object.defineProperty(Om.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});Object.defineProperty(Om.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}});function N5t(){this._writableState.ended||process.nextTick(U5t,this)}function U5t(e){e.end()}Object.defineProperty(Om.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(t){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=t,this._writableState.destroyed=t)}})});var eAe=ye((ij,Q5e)=>{var _R=u2(),Bm=_R.Buffer;function $5e(e,t){for(var r in e)t[r]=e[r]}Bm.from&&Bm.alloc&&Bm.allocUnsafe&&Bm.allocUnsafeSlow?Q5e.exports=_R:($5e(_R,ij),ij.Buffer=g2);function g2(e,t,r){return Bm(e,t,r)}g2.prototype=Object.create(Bm.prototype);$5e(Bm,g2);g2.from=function(e,t,r){if(typeof e==\"number\")throw new TypeError(\"Argument must not be a number\");return Bm(e,t,r)};g2.alloc=function(e,t,r){if(typeof e!=\"number\")throw new TypeError(\"Argument must be a number\");var n=Bm(e);return t!==void 0?typeof r==\"string\"?n.fill(t,r):n.fill(t):n.fill(0),n};g2.allocUnsafe=function(e){if(typeof e!=\"number\")throw new TypeError(\"Argument must be a number\");return Bm(e)};g2.allocUnsafeSlow=function(e){if(typeof e!=\"number\")throw new TypeError(\"Argument must be a number\");return _R.SlowBuffer(e)}});var oj=ye(rAe=>{\"use strict\";var aj=eAe().Buffer,tAe=aj.isEncoding||function(e){switch(e=\"\"+e,e&&e.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function V5t(e){if(!e)return\"utf8\";for(var t;;)switch(e){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return e;default:if(t)return;e=(\"\"+e).toLowerCase(),t=!0}}function H5t(e){var t=V5t(e);if(typeof t!=\"string\"&&(aj.isEncoding===tAe||!tAe(e)))throw new Error(\"Unknown encoding: \"+e);return t||e}rAe.StringDecoder=Z4;function Z4(e){this.encoding=H5t(e);var t;switch(this.encoding){case\"utf16le\":this.text=Y5t,this.end=K5t,t=4;break;case\"utf8\":this.fillLast=W5t,t=4;break;case\"base64\":this.text=J5t,this.end=$5t,t=3;break;default:this.write=Q5t,this.end=eAt;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=aj.allocUnsafe(t)}Z4.prototype.write=function(e){if(e.length===0)return\"\";var t,r;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return\"\";r=this.lastNeed,this.lastNeed=0}else r=0;return r<e.length?t?t+this.text(e,r):this.text(e,r):t||\"\"};Z4.prototype.end=X5t;Z4.prototype.text=Z5t;Z4.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length};function nj(e){return e<=127?0:e>>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function G5t(e,t,r){var n=t.length-1;if(n<r)return 0;var i=nj(t[n]);return i>=0?(i>0&&(e.lastNeed=i-1),i):--n<r||i===-2?0:(i=nj(t[n]),i>=0?(i>0&&(e.lastNeed=i-2),i):--n<r||i===-2?0:(i=nj(t[n]),i>=0?(i>0&&(i===2?i=0:e.lastNeed=i-3),i):0))}function j5t(e,t,r){if((t[0]&192)!==128)return e.lastNeed=0,\"\\uFFFD\";if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128)return e.lastNeed=1,\"\\uFFFD\";if(e.lastNeed>2&&t.length>2&&(t[2]&192)!==128)return e.lastNeed=2,\"\\uFFFD\"}}function W5t(e){var t=this.lastTotal-this.lastNeed,r=j5t(this,e,t);if(r!==void 0)return r;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function Z5t(e,t){var r=G5t(this,e,t);if(!this.lastNeed)return e.toString(\"utf8\",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString(\"utf8\",t,n)}function X5t(e){var t=e&&e.length?this.write(e):\"\";return this.lastNeed?t+\"\\uFFFD\":t}function Y5t(e,t){if((e.length-t)%2===0){var r=e.toString(\"utf16le\",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString(\"utf16le\",t,e.length-1)}function K5t(e){var t=e&&e.length?this.write(e):\"\";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString(\"utf16le\",0,r)}return t}function J5t(e,t){var r=(e.length-t)%3;return r===0?e.toString(\"base64\",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString(\"base64\",t,e.length-r))}function $5t(e){var t=e&&e.length?this.write(e):\"\";return this.lastNeed?t+this.lastChar.toString(\"base64\",0,3-this.lastNeed):t}function Q5t(e){return e.toString(this.encoding)}function eAt(e){return e&&e.length?this.write(e):\"\"}});var xR=ye((acr,aAe)=>{\"use strict\";var iAe=v2().codes.ERR_STREAM_PREMATURE_CLOSE;function tAt(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];e.apply(this,n)}}}function rAt(){}function iAt(e){return e.setHeader&&typeof e.abort==\"function\"}function nAe(e,t,r){if(typeof t==\"function\")return nAe(e,null,t);t||(t={}),r=tAt(r||rAt);var n=t.readable||t.readable!==!1&&e.readable,i=t.writable||t.writable!==!1&&e.writable,a=function(){e.writable||s()},o=e._writableState&&e._writableState.finished,s=function(){i=!1,o=!0,n||r.call(e)},l=e._readableState&&e._readableState.endEmitted,u=function(){n=!1,l=!0,i||r.call(e)},c=function(v){r.call(e,v)},f=function(){var v;if(n&&!l)return(!e._readableState||!e._readableState.ended)&&(v=new iAe),r.call(e,v);if(i&&!o)return(!e._writableState||!e._writableState.ended)&&(v=new iAe),r.call(e,v)},h=function(){e.req.on(\"finish\",s)};return iAt(e)?(e.on(\"complete\",s),e.on(\"abort\",f),e.req?h():e.on(\"request\",h)):i&&!e._writableState&&(e.on(\"end\",a),e.on(\"close\",a)),e.on(\"end\",u),e.on(\"finish\",s),t.error!==!1&&e.on(\"error\",c),e.on(\"close\",f),function(){e.removeListener(\"complete\",s),e.removeListener(\"abort\",f),e.removeListener(\"request\",h),e.req&&e.req.removeListener(\"finish\",s),e.removeListener(\"end\",a),e.removeListener(\"close\",a),e.removeListener(\"finish\",s),e.removeListener(\"end\",u),e.removeListener(\"error\",c),e.removeListener(\"close\",f)}}aAe.exports=nAe});var sAe=ye((ocr,oAe)=>{\"use strict\";var bR;function z_(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var nAt=xR(),F_=Symbol(\"lastResolve\"),m2=Symbol(\"lastReject\"),X4=Symbol(\"error\"),wR=Symbol(\"ended\"),y2=Symbol(\"lastPromise\"),sj=Symbol(\"handlePromise\"),_2=Symbol(\"stream\");function q_(e,t){return{value:e,done:t}}function aAt(e){var t=e[F_];if(t!==null){var r=e[_2].read();r!==null&&(e[y2]=null,e[F_]=null,e[m2]=null,t(q_(r,!1)))}}function oAt(e){process.nextTick(aAt,e)}function sAt(e,t){return function(r,n){e.then(function(){if(t[wR]){r(q_(void 0,!0));return}t[sj](r,n)},n)}}var lAt=Object.getPrototypeOf(function(){}),uAt=Object.setPrototypeOf((bR={get stream(){return this[_2]},next:function(){var t=this,r=this[X4];if(r!==null)return Promise.reject(r);if(this[wR])return Promise.resolve(q_(void 0,!0));if(this[_2].destroyed)return new Promise(function(o,s){process.nextTick(function(){t[X4]?s(t[X4]):o(q_(void 0,!0))})});var n=this[y2],i;if(n)i=new Promise(sAt(n,this));else{var a=this[_2].read();if(a!==null)return Promise.resolve(q_(a,!1));i=new Promise(this[sj])}return this[y2]=i,i}},z_(bR,Symbol.asyncIterator,function(){return this}),z_(bR,\"return\",function(){var t=this;return new Promise(function(r,n){t[_2].destroy(null,function(i){if(i){n(i);return}r(q_(void 0,!0))})})}),bR),lAt),cAt=function(t){var r,n=Object.create(uAt,(r={},z_(r,_2,{value:t,writable:!0}),z_(r,F_,{value:null,writable:!0}),z_(r,m2,{value:null,writable:!0}),z_(r,X4,{value:null,writable:!0}),z_(r,wR,{value:t._readableState.endEmitted,writable:!0}),z_(r,sj,{value:function(a,o){var s=n[_2].read();s?(n[y2]=null,n[F_]=null,n[m2]=null,a(q_(s,!1))):(n[F_]=a,n[m2]=o)},writable:!0}),r));return n[y2]=null,nAt(t,function(i){if(i&&i.code!==\"ERR_STREAM_PREMATURE_CLOSE\"){var a=n[m2];a!==null&&(n[y2]=null,n[F_]=null,n[m2]=null,a(i)),n[X4]=i;return}var o=n[F_];o!==null&&(n[y2]=null,n[F_]=null,n[m2]=null,o(q_(void 0,!0))),n[wR]=!0}),t.on(\"readable\",oAt.bind(null,n)),n};oAe.exports=cAt});var uAe=ye((scr,lAe)=>{lAe.exports=function(){throw new Error(\"Readable.from is not available in the browser\")}});var rj=ye((ucr,_Ae)=>{\"use strict\";_Ae.exports=vu;var u5;vu.ReadableState=dAe;var lcr=vb().EventEmitter,hAe=function(t,r){return t.listeners(r).length},K4=iG(),TR=u2().Buffer,fAt=window.Uint8Array||function(){};function hAt(e){return TR.from(e)}function dAt(e){return TR.isBuffer(e)||e instanceof fAt}var lj=jG(),Il;lj&&lj.debuglog?Il=lj.debuglog(\"stream\"):Il=function(){};var vAt=z5e(),pj=XG(),pAt=YG(),gAt=pAt.getHighWaterMark,AR=v2().codes,mAt=AR.ERR_INVALID_ARG_TYPE,yAt=AR.ERR_STREAM_PUSH_AFTER_EOF,_At=AR.ERR_METHOD_NOT_IMPLEMENTED,xAt=AR.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,c5,uj,cj;Uy()(vu,K4);var Y4=pj.errorOrDestroy,fj=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];function bAt(e,t,r){if(typeof e.prependListener==\"function\")return e.prependListener(t,r);!e._events||!e._events[t]?e.on(t,r):Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]}function dAe(e,t,r){u5=u5||p2(),e=e||{},typeof r!=\"boolean\"&&(r=t instanceof u5),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=gAt(this,e,\"readableHighWaterMark\",r),this.buffer=new vAt,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(c5||(c5=oj().StringDecoder),this.decoder=new c5(e.encoding),this.encoding=e.encoding)}function vu(e){if(u5=u5||p2(),!(this instanceof vu))return new vu(e);var t=this instanceof u5;this._readableState=new dAe(e,this,t),this.readable=!0,e&&(typeof e.read==\"function\"&&(this._read=e.read),typeof e.destroy==\"function\"&&(this._destroy=e.destroy)),K4.call(this)}Object.defineProperty(vu.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}});vu.prototype.destroy=pj.destroy;vu.prototype._undestroy=pj.undestroy;vu.prototype._destroy=function(e,t){t(e)};vu.prototype.push=function(e,t){var r=this._readableState,n;return r.objectMode?n=!0:typeof e==\"string\"&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=TR.from(e,t),t=\"\"),n=!0),vAe(this,e,t,!1,n)};vu.prototype.unshift=function(e){return vAe(this,e,null,!0,!1)};function vAe(e,t,r,n,i){Il(\"readableAddChunk\",t);var a=e._readableState;if(t===null)a.reading=!1,AAt(e,a);else{var o;if(i||(o=wAt(a,t)),o)Y4(e,o);else if(a.objectMode||t&&t.length>0)if(typeof t!=\"string\"&&!a.objectMode&&Object.getPrototypeOf(t)!==TR.prototype&&(t=hAt(t)),n)a.endEmitted?Y4(e,new xAt):hj(e,a,t,!0);else if(a.ended)Y4(e,new yAt);else{if(a.destroyed)return!1;a.reading=!1,a.decoder&&!r?(t=a.decoder.write(t),a.objectMode||t.length!==0?hj(e,a,t,!1):vj(e,a)):hj(e,a,t,!1)}else n||(a.reading=!1,vj(e,a))}return!a.ended&&(a.length<a.highWaterMark||a.length===0)}function hj(e,t,r,n){t.flowing&&t.length===0&&!t.sync?(t.awaitDrain=0,e.emit(\"data\",r)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&SR(e)),vj(e,t)}function wAt(e,t){var r;return!dAt(t)&&typeof t!=\"string\"&&t!==void 0&&!e.objectMode&&(r=new mAt(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],t)),r}vu.prototype.isPaused=function(){return this._readableState.flowing===!1};vu.prototype.setEncoding=function(e){c5||(c5=oj().StringDecoder);var t=new c5(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,n=\"\";r!==null;)n+=t.write(r.data),r=r.next;return this._readableState.buffer.clear(),n!==\"\"&&this._readableState.buffer.push(n),this._readableState.length=n.length,this};var cAe=1073741824;function TAt(e){return e>=cAe?e=cAe:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function fAe(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=TAt(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}vu.prototype.read=function(e){Il(\"read\",e),e=parseInt(e,10);var t=this._readableState,r=e;if(e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&((t.highWaterMark!==0?t.length>=t.highWaterMark:t.length>0)||t.ended))return Il(\"read: emitReadable\",t.length,t.ended),t.length===0&&t.ended?dj(this):SR(this),null;if(e=fAe(e,t),e===0&&t.ended)return t.length===0&&dj(this),null;var n=t.needReadable;Il(\"need readable\",n),(t.length===0||t.length-e<t.highWaterMark)&&(n=!0,Il(\"length less than watermark\",n)),t.ended||t.reading?(n=!1,Il(\"reading or ended\",n)):n&&(Il(\"do read\"),t.reading=!0,t.sync=!0,t.length===0&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=fAe(r,t)));var i;return e>0?i=mAe(e,t):i=null,i===null?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),t.length===0&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&dj(this)),i!==null&&this.emit(\"data\",i),i};function AAt(e,t){if(Il(\"onEofChunk\"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?SR(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,pAe(e)))}}function SR(e){var t=e._readableState;Il(\"emitReadable\",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(Il(\"emitReadable\",t.flowing),t.emittedReadable=!0,process.nextTick(pAe,e))}function pAe(e){var t=e._readableState;Il(\"emitReadable_\",t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit(\"readable\"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,gj(e)}function vj(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(SAt,e,t))}function SAt(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&t.length===0);){var r=t.length;if(Il(\"maybeReadMore read 0\"),e.read(0),r===t.length)break}t.readingMore=!1}vu.prototype._read=function(e){Y4(this,new _At(\"_read()\"))};vu.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e);break}n.pipesCount+=1,Il(\"pipe count=%d opts=%j\",n.pipesCount,t);var i=(!t||t.end!==!1)&&e!==process.stdout&&e!==process.stderr,a=i?s:x;n.endEmitted?process.nextTick(a):r.once(\"end\",a),e.on(\"unpipe\",o);function o(b,p){Il(\"onunpipe\"),b===r&&p&&p.hasUnpiped===!1&&(p.hasUnpiped=!0,c())}function s(){Il(\"onend\"),e.end()}var l=MAt(r);e.on(\"drain\",l);var u=!1;function c(){Il(\"cleanup\"),e.removeListener(\"close\",d),e.removeListener(\"finish\",v),e.removeListener(\"drain\",l),e.removeListener(\"error\",h),e.removeListener(\"unpipe\",o),r.removeListener(\"end\",s),r.removeListener(\"end\",x),r.removeListener(\"data\",f),u=!0,n.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&l()}r.on(\"data\",f);function f(b){Il(\"ondata\");var p=e.write(b);Il(\"dest.write\",p),p===!1&&((n.pipesCount===1&&n.pipes===e||n.pipesCount>1&&yAe(n.pipes,e)!==-1)&&!u&&(Il(\"false write response, pause\",n.awaitDrain),n.awaitDrain++),r.pause())}function h(b){Il(\"onerror\",b),x(),e.removeListener(\"error\",h),hAe(e,\"error\")===0&&Y4(e,b)}bAt(e,\"error\",h);function d(){e.removeListener(\"finish\",v),x()}e.once(\"close\",d);function v(){Il(\"onfinish\"),e.removeListener(\"close\",d),x()}e.once(\"finish\",v);function x(){Il(\"unpipe\"),r.unpipe(e)}return e.emit(\"pipe\",r),n.flowing||(Il(\"pipe resume\"),r.resume()),e};function MAt(e){return function(){var r=e._readableState;Il(\"pipeOnDrain\",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&hAe(e,\"data\")&&(r.flowing=!0,gj(e))}}vu.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(t.pipesCount===0)return this;if(t.pipesCount===1)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit(\"unpipe\",this,r),this);if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<i;a++)n[a].emit(\"unpipe\",this,{hasUnpiped:!1});return this}var o=yAe(t.pipes,e);return o===-1?this:(t.pipes.splice(o,1),t.pipesCount-=1,t.pipesCount===1&&(t.pipes=t.pipes[0]),e.emit(\"unpipe\",this,r),this)};vu.prototype.on=function(e,t){var r=K4.prototype.on.call(this,e,t),n=this._readableState;return e===\"data\"?(n.readableListening=this.listenerCount(\"readable\")>0,n.flowing!==!1&&this.resume()):e===\"readable\"&&!n.endEmitted&&!n.readableListening&&(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,Il(\"on readable\",n.length,n.reading),n.length?SR(this):n.reading||process.nextTick(EAt,this)),r};vu.prototype.addListener=vu.prototype.on;vu.prototype.removeListener=function(e,t){var r=K4.prototype.removeListener.call(this,e,t);return e===\"readable\"&&process.nextTick(gAe,this),r};vu.prototype.removeAllListeners=function(e){var t=K4.prototype.removeAllListeners.apply(this,arguments);return(e===\"readable\"||e===void 0)&&process.nextTick(gAe,this),t};function gAe(e){var t=e._readableState;t.readableListening=e.listenerCount(\"readable\")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount(\"data\")>0&&e.resume()}function EAt(e){Il(\"readable nexttick read 0\"),e.read(0)}vu.prototype.resume=function(){var e=this._readableState;return e.flowing||(Il(\"resume\"),e.flowing=!e.readableListening,kAt(this,e)),e.paused=!1,this};function kAt(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(CAt,e,t))}function CAt(e,t){Il(\"resume\",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit(\"resume\"),gj(e),t.flowing&&!t.reading&&e.read(0)}vu.prototype.pause=function(){return Il(\"call pause flowing=%j\",this._readableState.flowing),this._readableState.flowing!==!1&&(Il(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this._readableState.paused=!0,this};function gj(e){var t=e._readableState;for(Il(\"flow\",t.flowing);t.flowing&&e.read()!==null;);}vu.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;e.on(\"end\",function(){if(Il(\"wrapped end\"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&t.push(o)}t.push(null)}),e.on(\"data\",function(o){if(Il(\"wrapped data\"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var s=t.push(o);s||(n=!0,e.pause())}});for(var i in e)this[i]===void 0&&typeof e[i]==\"function\"&&(this[i]=function(s){return function(){return e[s].apply(e,arguments)}}(i));for(var a=0;a<fj.length;a++)e.on(fj[a],this.emit.bind(this,fj[a]));return this._read=function(o){Il(\"wrapped _read\",o),n&&(n=!1,e.resume())},this};typeof Symbol==\"function\"&&(vu.prototype[Symbol.asyncIterator]=function(){return uj===void 0&&(uj=sAe()),uj(this)});Object.defineProperty(vu.prototype,\"readableHighWaterMark\",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Object.defineProperty(vu.prototype,\"readableBuffer\",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(vu.prototype,\"readableFlowing\",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t)}});vu._fromList=mAe;Object.defineProperty(vu.prototype,\"readableLength\",{enumerable:!1,get:function(){return this._readableState.length}});function mAe(e,t){if(t.length===0)return null;var r;return t.objectMode?r=t.buffer.shift():!e||e>=t.length?(t.decoder?r=t.buffer.join(\"\"):t.buffer.length===1?r=t.buffer.first():r=t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r}function dj(e){var t=e._readableState;Il(\"endReadable\",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(LAt,t,e))}function LAt(e,t){if(Il(\"endReadableNT\",e.endEmitted,e.length),!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit(\"end\"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}typeof Symbol==\"function\"&&(vu.from=function(e,t){return cj===void 0&&(cj=uAe()),cj(vu,e,t)});function yAe(e,t){for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}});var mj=ye((ccr,bAe)=>{\"use strict\";bAe.exports=Hy;var MR=v2().codes,PAt=MR.ERR_METHOD_NOT_IMPLEMENTED,IAt=MR.ERR_MULTIPLE_CALLBACK,RAt=MR.ERR_TRANSFORM_ALREADY_TRANSFORMING,DAt=MR.ERR_TRANSFORM_WITH_LENGTH_0,ER=p2();Uy()(Hy,ER);function zAt(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(n===null)return this.emit(\"error\",new IAt);r.writechunk=null,r.writecb=null,t!=null&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function Hy(e){if(!(this instanceof Hy))return new Hy(e);ER.call(this,e),this._transformState={afterTransform:zAt.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(typeof e.transform==\"function\"&&(this._transform=e.transform),typeof e.flush==\"function\"&&(this._flush=e.flush)),this.on(\"prefinish\",FAt)}function FAt(){var e=this;typeof this._flush==\"function\"&&!this._readableState.destroyed?this._flush(function(t,r){xAe(e,t,r)}):xAe(this,null,null)}Hy.prototype.push=function(e,t){return this._transformState.needTransform=!1,ER.prototype.push.call(this,e,t)};Hy.prototype._transform=function(e,t,r){r(new PAt(\"_transform()\"))};Hy.prototype._write=function(e,t,r){var n=this._transformState;if(n.writecb=r,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}};Hy.prototype._read=function(e){var t=this._transformState;t.writechunk!==null&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0};Hy.prototype._destroy=function(e,t){ER.prototype._destroy.call(this,e,function(r){t(r)})};function xAe(e,t,r){if(t)return e.emit(\"error\",t);if(r!=null&&e.push(r),e._writableState.length)throw new DAt;if(e._transformState.transforming)throw new RAt;return e.push(null)}});var AAe=ye((fcr,TAe)=>{\"use strict\";TAe.exports=J4;var wAe=mj();Uy()(J4,wAe);function J4(e){if(!(this instanceof J4))return new J4(e);wAe.call(this,e)}J4.prototype._transform=function(e,t,r){r(null,e)}});var CAe=ye((hcr,kAe)=>{\"use strict\";var yj;function qAt(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var EAe=v2().codes,OAt=EAe.ERR_MISSING_ARGS,BAt=EAe.ERR_STREAM_DESTROYED;function SAe(e){if(e)throw e}function NAt(e){return e.setHeader&&typeof e.abort==\"function\"}function UAt(e,t,r,n){n=qAt(n);var i=!1;e.on(\"close\",function(){i=!0}),yj===void 0&&(yj=xR()),yj(e,{readable:t,writable:r},function(o){if(o)return n(o);i=!0,n()});var a=!1;return function(o){if(!i&&!a){if(a=!0,NAt(e))return e.abort();if(typeof e.destroy==\"function\")return e.destroy();n(o||new BAt(\"pipe\"))}}}function MAe(e){e()}function VAt(e,t){return e.pipe(t)}function HAt(e){return!e.length||typeof e[e.length-1]!=\"function\"?SAe:e.pop()}function GAt(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=HAt(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new OAt(\"streams\");var i,a=t.map(function(o,s){var l=s<t.length-1,u=s>0;return UAt(o,l,u,function(c){i||(i=c),c&&a.forEach(MAe),!l&&(a.forEach(MAe),n(i))})});return t.reduce(VAt)}kAe.exports=GAt});var PAe=ye((dcr,LAe)=>{LAe.exports=K0;var _j=vb().EventEmitter,jAt=Uy();jAt(K0,_j);K0.Readable=rj();K0.Writable=QG();K0.Duplex=p2();K0.Transform=mj();K0.PassThrough=AAe();K0.finished=xR();K0.pipeline=CAe();K0.Stream=K0;function K0(){_j.call(this)}K0.prototype.pipe=function(e,t){var r=this;function n(c){e.writable&&e.write(c)===!1&&r.pause&&r.pause()}r.on(\"data\",n);function i(){r.readable&&r.resume&&r.resume()}e.on(\"drain\",i),!e._isStdio&&(!t||t.end!==!1)&&(r.on(\"end\",o),r.on(\"close\",s));var a=!1;function o(){a||(a=!0,e.end())}function s(){a||(a=!0,typeof e.destroy==\"function\"&&e.destroy())}function l(c){if(u(),_j.listenerCount(this,\"error\")===0)throw c}r.on(\"error\",l),e.on(\"error\",l);function u(){r.removeListener(\"data\",n),e.removeListener(\"drain\",i),r.removeListener(\"end\",o),r.removeListener(\"close\",s),r.removeListener(\"error\",l),e.removeListener(\"error\",l),r.removeListener(\"end\",u),r.removeListener(\"close\",u),e.removeListener(\"close\",u)}return r.on(\"end\",u),r.on(\"close\",u),e.on(\"close\",u),e.emit(\"pipe\",r),e}});var h5=ye(Ul=>{var IAe=Object.getOwnPropertyDescriptors||function(t){for(var r=Object.keys(t),n={},i=0;i<r.length;i++)n[r[i]]=Object.getOwnPropertyDescriptor(t,r[i]);return n},WAt=/%[sdj%]/g;Ul.format=function(e){if(!DR(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(O_(arguments[r]));return t.join(\" \")}for(var r=1,n=arguments,i=n.length,a=String(e).replace(WAt,function(s){if(s===\"%%\")return\"%\";if(r>=i)return s;switch(s){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(l){return\"[Circular]\"}default:return s}}),o=n[r];r<i;o=n[++r])RR(o)||!f5(o)?a+=\" \"+o:a+=\" \"+O_(o);return a};Ul.deprecate=function(e,t){if(typeof process!=\"undefined\"&&process.noDeprecation===!0)return e;if(typeof process==\"undefined\")return function(){return Ul.deprecate(e,t).apply(this,arguments)};var r=!1;function n(){if(!r){if(process.throwDeprecation)throw new Error(t);process.traceDeprecation?console.trace(t):console.error(t),r=!0}return e.apply(this,arguments)}return n};var kR={},RAe=/^$/;CR=\"false\",CR=CR.replace(/[|\\\\{}()[\\]^$+?.]/g,\"\\\\$&\").replace(/\\*/g,\".*\").replace(/,/g,\"$|^\").toUpperCase(),RAe=new RegExp(\"^\"+CR+\"$\",\"i\");var CR;Ul.debuglog=function(e){if(e=e.toUpperCase(),!kR[e])if(RAe.test(e)){var t=process.pid;kR[e]=function(){var r=Ul.format.apply(Ul,arguments);console.error(\"%s %d: %s\",e,t,r)}}else kR[e]=function(){};return kR[e]};function O_(e,t){var r={seen:[],stylize:XAt};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),Tj(t)?r.showHidden=t:t&&Ul._extend(r,t),b2(r.showHidden)&&(r.showHidden=!1),b2(r.depth)&&(r.depth=2),b2(r.colors)&&(r.colors=!1),b2(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=ZAt),PR(r,e,r.depth)}Ul.inspect=O_;O_.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]};O_.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};function ZAt(e,t){var r=O_.styles[t];return r?\"\\x1B[\"+O_.colors[r][0]+\"m\"+e+\"\\x1B[\"+O_.colors[r][1]+\"m\":e}function XAt(e,t){return e}function YAt(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function PR(e,t,r){if(e.customInspect&&t&&LR(t.inspect)&&t.inspect!==Ul.inspect&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return DR(n)||(n=PR(e,n,r)),n}var i=KAt(e,t);if(i)return i;var a=Object.keys(t),o=YAt(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),Q4(t)&&(a.indexOf(\"message\")>=0||a.indexOf(\"description\")>=0))return xj(t);if(a.length===0){if(LR(t)){var s=t.name?\": \"+t.name:\"\";return e.stylize(\"[Function\"+s+\"]\",\"special\")}if($4(t))return e.stylize(RegExp.prototype.toString.call(t),\"regexp\");if(IR(t))return e.stylize(Date.prototype.toString.call(t),\"date\");if(Q4(t))return xj(t)}var l=\"\",u=!1,c=[\"{\",\"}\"];if(DAe(t)&&(u=!0,c=[\"[\",\"]\"]),LR(t)){var f=t.name?\": \"+t.name:\"\";l=\" [Function\"+f+\"]\"}if($4(t)&&(l=\" \"+RegExp.prototype.toString.call(t)),IR(t)&&(l=\" \"+Date.prototype.toUTCString.call(t)),Q4(t)&&(l=\" \"+xj(t)),a.length===0&&(!u||t.length==0))return c[0]+l+c[1];if(r<0)return $4(t)?e.stylize(RegExp.prototype.toString.call(t),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(t);var h;return u?h=JAt(e,t,r,o,a):h=a.map(function(d){return wj(e,t,r,o,d,u)}),e.seen.pop(),$At(h,l,c)}function KAt(e,t){if(b2(t))return e.stylize(\"undefined\",\"undefined\");if(DR(t)){var r=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(r,\"string\")}if(zAe(t))return e.stylize(\"\"+t,\"number\");if(Tj(t))return e.stylize(\"\"+t,\"boolean\");if(RR(t))return e.stylize(\"null\",\"null\")}function xj(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function JAt(e,t,r,n,i){for(var a=[],o=0,s=t.length;o<s;++o)FAe(t,String(o))?a.push(wj(e,t,r,n,String(o),!0)):a.push(\"\");return i.forEach(function(l){l.match(/^\\d+$/)||a.push(wj(e,t,r,n,l,!0))}),a}function wj(e,t,r,n,i,a){var o,s,l;if(l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]},l.get?l.set?s=e.stylize(\"[Getter/Setter]\",\"special\"):s=e.stylize(\"[Getter]\",\"special\"):l.set&&(s=e.stylize(\"[Setter]\",\"special\")),FAe(n,i)||(o=\"[\"+i+\"]\"),s||(e.seen.indexOf(l.value)<0?(RR(r)?s=PR(e,l.value,null):s=PR(e,l.value,r-1),s.indexOf(`\n", - "`)>-1&&(a?s=s.split(`\n", - "`).map(function(u){return\" \"+u}).join(`\n", - "`).slice(2):s=`\n", - "`+s.split(`\n", - "`).map(function(u){return\" \"+u}).join(`\n", - "`))):s=e.stylize(\"[Circular]\",\"special\")),b2(o)){if(a&&i.match(/^\\d+$/))return s;o=JSON.stringify(\"\"+i),o.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.slice(1,-1),o=e.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=e.stylize(o,\"string\"))}return o+\": \"+s}function $At(e,t,r){var n=0,i=e.reduce(function(a,o){return n++,o.indexOf(`\n", - "`)>=0&&n++,a+o.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return i>60?r[0]+(t===\"\"?\"\":t+`\n", - " `)+\" \"+e.join(`,\n", - " `)+\" \"+r[1]:r[0]+t+\" \"+e.join(\", \")+\" \"+r[1]}Ul.types=OG();function DAe(e){return Array.isArray(e)}Ul.isArray=DAe;function Tj(e){return typeof e==\"boolean\"}Ul.isBoolean=Tj;function RR(e){return e===null}Ul.isNull=RR;function QAt(e){return e==null}Ul.isNullOrUndefined=QAt;function zAe(e){return typeof e==\"number\"}Ul.isNumber=zAe;function DR(e){return typeof e==\"string\"}Ul.isString=DR;function eSt(e){return typeof e==\"symbol\"}Ul.isSymbol=eSt;function b2(e){return e===void 0}Ul.isUndefined=b2;function $4(e){return f5(e)&&Aj(e)===\"[object RegExp]\"}Ul.isRegExp=$4;Ul.types.isRegExp=$4;function f5(e){return typeof e==\"object\"&&e!==null}Ul.isObject=f5;function IR(e){return f5(e)&&Aj(e)===\"[object Date]\"}Ul.isDate=IR;Ul.types.isDate=IR;function Q4(e){return f5(e)&&(Aj(e)===\"[object Error]\"||e instanceof Error)}Ul.isError=Q4;Ul.types.isNativeError=Q4;function LR(e){return typeof e==\"function\"}Ul.isFunction=LR;function tSt(e){return e===null||typeof e==\"boolean\"||typeof e==\"number\"||typeof e==\"string\"||typeof e==\"symbol\"||typeof e==\"undefined\"}Ul.isPrimitive=tSt;Ul.isBuffer=BG();function Aj(e){return Object.prototype.toString.call(e)}function bj(e){return e<10?\"0\"+e.toString(10):e.toString(10)}var rSt=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function iSt(){var e=new Date,t=[bj(e.getHours()),bj(e.getMinutes()),bj(e.getSeconds())].join(\":\");return[e.getDate(),rSt[e.getMonth()],t].join(\" \")}Ul.log=function(){console.log(\"%s - %s\",iSt(),Ul.format.apply(Ul,arguments))};Ul.inherits=Uy();Ul._extend=function(e,t){if(!t||!f5(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};function FAe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var x2=typeof Symbol!=\"undefined\"?Symbol(\"util.promisify.custom\"):void 0;Ul.promisify=function(t){if(typeof t!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');if(x2&&t[x2]){var r=t[x2];if(typeof r!=\"function\")throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(r,x2,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var n,i,a=new Promise(function(l,u){n=l,i=u}),o=[],s=0;s<arguments.length;s++)o.push(arguments[s]);o.push(function(l,u){l?i(l):n(u)});try{t.apply(this,o)}catch(l){i(l)}return a}return Object.setPrototypeOf(r,Object.getPrototypeOf(t)),x2&&Object.defineProperty(r,x2,{value:r,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(r,IAe(t))};Ul.promisify.custom=x2;function nSt(e,t){if(!e){var r=new Error(\"Promise was rejected with a falsy value\");r.reason=e,e=r}return t(e)}function aSt(e){if(typeof e!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');function t(){for(var r=[],n=0;n<arguments.length;n++)r.push(arguments[n]);var i=r.pop();if(typeof i!=\"function\")throw new TypeError(\"The last argument must be of type Function\");var a=this,o=function(){return i.apply(a,arguments)};e.apply(this,r).then(function(s){process.nextTick(o.bind(null,null,s))},function(s){process.nextTick(nSt.bind(null,s,o))})}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),Object.defineProperties(t,IAe(e)),t}Ul.callbackify=aSt});var Ej=ye((pcr,NAe)=>{\"use strict\";function B_(e){\"@babel/helpers - typeof\";return B_=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},B_(e)}function qAe(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,sSt(n.key),n)}}function oSt(e,t,r){return t&&qAe(e.prototype,t),r&&qAe(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function sSt(e){var t=lSt(e,\"string\");return B_(t)===\"symbol\"?t:String(t)}function lSt(e,t){if(B_(e)!==\"object\"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||\"default\");if(B_(n)!==\"object\")return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(t===\"string\"?String:Number)(e)}function uSt(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function cSt(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&Mj(e,t)}function Mj(e,t){return Mj=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Mj(e,t)}function fSt(e){var t=vSt();return function(){var n=zR(e),i;if(t){var a=zR(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return hSt(this,i)}}function hSt(e,t){if(t&&(B_(t)===\"object\"||typeof t==\"function\"))return t;if(t!==void 0)throw new TypeError(\"Derived constructors may only return object or undefined\");return dSt(e)}function dSt(e){if(e===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function vSt(){if(typeof Reflect==\"undefined\"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==\"function\")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function zR(e){return zR=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},zR(e)}var BAe={},d5,Sj;function eE(e,t,r){r||(r=Error);function n(a,o,s){return typeof t==\"string\"?t:t(a,o,s)}var i=function(a){cSt(s,a);var o=fSt(s);function s(l,u,c){var f;return uSt(this,s),f=o.call(this,n(l,u,c)),f.code=e,f}return oSt(s)}(r);BAe[e]=i}function OAe(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(n){return String(n)}),r>2?\"one of \".concat(t,\" \").concat(e.slice(0,r-1).join(\", \"),\", or \")+e[r-1]:r===2?\"one of \".concat(t,\" \").concat(e[0],\" or \").concat(e[1]):\"of \".concat(t,\" \").concat(e[0])}else return\"of \".concat(t,\" \").concat(String(e))}function pSt(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function gSt(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function mSt(e,t,r){return typeof r!=\"number\"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}eE(\"ERR_AMBIGUOUS_ARGUMENT\",'The \"%s\" argument is ambiguous. %s',TypeError);eE(\"ERR_INVALID_ARG_TYPE\",function(e,t,r){d5===void 0&&(d5=tE()),d5(typeof e==\"string\",\"'name' must be a string\");var n;typeof t==\"string\"&&pSt(t,\"not \")?(n=\"must not be\",t=t.replace(/^not /,\"\")):n=\"must be\";var i;if(gSt(e,\" argument\"))i=\"The \".concat(e,\" \").concat(n,\" \").concat(OAe(t,\"type\"));else{var a=mSt(e,\".\")?\"property\":\"argument\";i='The \"'.concat(e,'\" ').concat(a,\" \").concat(n,\" \").concat(OAe(t,\"type\"))}return i+=\". Received type \".concat(B_(r)),i},TypeError);eE(\"ERR_INVALID_ARG_VALUE\",function(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\"is invalid\";Sj===void 0&&(Sj=h5());var n=Sj.inspect(t);return n.length>128&&(n=\"\".concat(n.slice(0,128),\"...\")),\"The argument '\".concat(e,\"' \").concat(r,\". Received \").concat(n)},TypeError,RangeError);eE(\"ERR_INVALID_RETURN_VALUE\",function(e,t,r){var n;return r&&r.constructor&&r.constructor.name?n=\"instance of \".concat(r.constructor.name):n=\"type \".concat(B_(r)),\"Expected \".concat(e,' to be returned from the \"').concat(t,'\"')+\" function but got \".concat(n,\".\")},TypeError);eE(\"ERR_MISSING_ARGS\",function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];d5===void 0&&(d5=tE()),d5(t.length>0,\"At least one arg needs to be specified\");var n=\"The \",i=t.length;switch(t=t.map(function(a){return'\"'.concat(a,'\"')}),i){case 1:n+=\"\".concat(t[0],\" argument\");break;case 2:n+=\"\".concat(t[0],\" and \").concat(t[1],\" arguments\");break;default:n+=t.slice(0,i-1).join(\", \"),n+=\", and \".concat(t[i-1],\" arguments\");break}return\"\".concat(n,\" must be specified\")},TypeError);NAe.exports.codes=BAe});var KAe=ye((gcr,YAe)=>{\"use strict\";function UAe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function VAe(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?UAe(Object(r),!0).forEach(function(n){ySt(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):UAe(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function ySt(e,t,r){return t=WAe(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _St(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function HAe(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,WAe(n.key),n)}}function xSt(e,t,r){return t&&HAe(e.prototype,t),r&&HAe(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function WAe(e){var t=bSt(e,\"string\");return Dp(t)===\"symbol\"?t:String(t)}function bSt(e,t){if(Dp(e)!==\"object\"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||\"default\");if(Dp(n)!==\"object\")return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(t===\"string\"?String:Number)(e)}function wSt(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&aE(e,t)}function TSt(e){var t=XAe();return function(){var n=oE(e),i;if(t){var a=oE(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return ZAe(this,i)}}function ZAe(e,t){if(t&&(Dp(t)===\"object\"||typeof t==\"function\"))return t;if(t!==void 0)throw new TypeError(\"Derived constructors may only return object or undefined\");return kj(e)}function kj(e){if(e===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function Cj(e){var t=typeof Map==\"function\"?new Map:void 0;return Cj=function(n){if(n===null||!ASt(n))return n;if(typeof n!=\"function\")throw new TypeError(\"Super expression must either be null or a function\");if(typeof t!=\"undefined\"){if(t.has(n))return t.get(n);t.set(n,i)}function i(){return FR(n,arguments,oE(this).constructor)}return i.prototype=Object.create(n.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),aE(i,n)},Cj(e)}function FR(e,t,r){return XAe()?FR=Reflect.construct.bind():FR=function(i,a,o){var s=[null];s.push.apply(s,a);var l=Function.bind.apply(i,s),u=new l;return o&&aE(u,o.prototype),u},FR.apply(null,arguments)}function XAe(){if(typeof Reflect==\"undefined\"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==\"function\")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function ASt(e){return Function.toString.call(e).indexOf(\"[native code]\")!==-1}function aE(e,t){return aE=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},aE(e,t)}function oE(e){return oE=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},oE(e)}function Dp(e){\"@babel/helpers - typeof\";return Dp=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},Dp(e)}var SSt=h5(),Lj=SSt.inspect,MSt=Ej(),ESt=MSt.codes.ERR_INVALID_ARG_TYPE;function GAe(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function kSt(e,t){if(t=Math.floor(t),e.length==0||t==0)return\"\";var r=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+=e.substring(0,r-e.length),e}var Gg=\"\",rE=\"\",iE=\"\",xv=\"\",w2={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:\"},CSt=10;function jAe(e){var t=Object.keys(e),r=Object.create(Object.getPrototypeOf(e));return t.forEach(function(n){r[n]=e[n]}),Object.defineProperty(r,\"message\",{value:e.message}),r}function nE(e){return Lj(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function LSt(e,t,r){var n=\"\",i=\"\",a=0,o=\"\",s=!1,l=nE(e),u=l.split(`\n", - "`),c=nE(t).split(`\n", - "`),f=0,h=\"\";if(r===\"strictEqual\"&&Dp(e)===\"object\"&&Dp(t)===\"object\"&&e!==null&&t!==null&&(r=\"strictEqualObject\"),u.length===1&&c.length===1&&u[0]!==c[0]){var d=u[0].length+c[0].length;if(d<=CSt){if((Dp(e)!==\"object\"||e===null)&&(Dp(t)!==\"object\"||t===null)&&(e!==0||t!==0))return\"\".concat(w2[r],`\n", - "\n", - "`)+\"\".concat(u[0],\" !== \").concat(c[0],`\n", - "`)}else if(r!==\"strictEqualObject\"){var v=process.stderr&&process.stderr.isTTY?process.stderr.columns:80;if(d<v){for(;u[0][f]===c[0][f];)f++;f>2&&(h=`\n", - " `.concat(kSt(\" \",f),\"^\"),f=0)}}}for(var x=u[u.length-1],b=c[c.length-1];x===b&&(f++<2?o=`\n", - " `.concat(x).concat(o):n=x,u.pop(),c.pop(),!(u.length===0||c.length===0));)x=u[u.length-1],b=c[c.length-1];var p=Math.max(u.length,c.length);if(p===0){var E=l.split(`\n", - "`);if(E.length>30)for(E[26]=\"\".concat(Gg,\"...\").concat(xv);E.length>27;)E.pop();return\"\".concat(w2.notIdentical,`\n", - "\n", - "`).concat(E.join(`\n", - "`),`\n", - "`)}f>3&&(o=`\n", - "`.concat(Gg,\"...\").concat(xv).concat(o),s=!0),n!==\"\"&&(o=`\n", - " `.concat(n).concat(o),n=\"\");var k=0,A=w2[r]+`\n", - "`.concat(rE,\"+ actual\").concat(xv,\" \").concat(iE,\"- expected\").concat(xv),L=\" \".concat(Gg,\"...\").concat(xv,\" Lines skipped\");for(f=0;f<p;f++){var _=f-a;if(u.length<f+1)_>1&&f>2&&(_>4?(i+=`\n", - "`.concat(Gg,\"...\").concat(xv),s=!0):_>3&&(i+=`\n", - " `.concat(c[f-2]),k++),i+=`\n", - " `.concat(c[f-1]),k++),a=f,n+=`\n", - "`.concat(iE,\"-\").concat(xv,\" \").concat(c[f]),k++;else if(c.length<f+1)_>1&&f>2&&(_>4?(i+=`\n", - "`.concat(Gg,\"...\").concat(xv),s=!0):_>3&&(i+=`\n", - " `.concat(u[f-2]),k++),i+=`\n", - " `.concat(u[f-1]),k++),a=f,i+=`\n", - "`.concat(rE,\"+\").concat(xv,\" \").concat(u[f]),k++;else{var C=c[f],M=u[f],g=M!==C&&(!GAe(M,\",\")||M.slice(0,-1)!==C);g&&GAe(C,\",\")&&C.slice(0,-1)===M&&(g=!1,M+=\",\"),g?(_>1&&f>2&&(_>4?(i+=`\n", - "`.concat(Gg,\"...\").concat(xv),s=!0):_>3&&(i+=`\n", - " `.concat(u[f-2]),k++),i+=`\n", - " `.concat(u[f-1]),k++),a=f,i+=`\n", - "`.concat(rE,\"+\").concat(xv,\" \").concat(M),n+=`\n", - "`.concat(iE,\"-\").concat(xv,\" \").concat(C),k+=2):(i+=n,n=\"\",(_===1||f===0)&&(i+=`\n", - " `.concat(M),k++))}if(k>20&&f<p-2)return\"\".concat(A).concat(L,`\n", - "`).concat(i,`\n", - "`).concat(Gg,\"...\").concat(xv).concat(n,`\n", - "`)+\"\".concat(Gg,\"...\").concat(xv)}return\"\".concat(A).concat(s?L:\"\",`\n", - "`).concat(i).concat(n).concat(o).concat(h)}var PSt=function(e,t){wSt(n,e);var r=TSt(n);function n(i){var a;if(_St(this,n),Dp(i)!==\"object\"||i===null)throw new ESt(\"options\",\"Object\",i);var o=i.message,s=i.operator,l=i.stackStartFn,u=i.actual,c=i.expected,f=Error.stackTraceLimit;if(Error.stackTraceLimit=0,o!=null)a=r.call(this,String(o));else if(process.stderr&&process.stderr.isTTY&&(process.stderr&&process.stderr.getColorDepth&&process.stderr.getColorDepth()!==1?(Gg=\"\\x1B[34m\",rE=\"\\x1B[32m\",xv=\"\\x1B[39m\",iE=\"\\x1B[31m\"):(Gg=\"\",rE=\"\",xv=\"\",iE=\"\")),Dp(u)===\"object\"&&u!==null&&Dp(c)===\"object\"&&c!==null&&\"stack\"in u&&u instanceof Error&&\"stack\"in c&&c instanceof Error&&(u=jAe(u),c=jAe(c)),s===\"deepStrictEqual\"||s===\"strictEqual\")a=r.call(this,LSt(u,c,s));else if(s===\"notDeepStrictEqual\"||s===\"notStrictEqual\"){var h=w2[s],d=nE(u).split(`\n", - "`);if(s===\"notStrictEqual\"&&Dp(u)===\"object\"&&u!==null&&(h=w2.notStrictEqualObject),d.length>30)for(d[26]=\"\".concat(Gg,\"...\").concat(xv);d.length>27;)d.pop();d.length===1?a=r.call(this,\"\".concat(h,\" \").concat(d[0])):a=r.call(this,\"\".concat(h,`\n", - "\n", - "`).concat(d.join(`\n", - "`),`\n", - "`))}else{var v=nE(u),x=\"\",b=w2[s];s===\"notDeepEqual\"||s===\"notEqual\"?(v=\"\".concat(w2[s],`\n", - "\n", - "`).concat(v),v.length>1024&&(v=\"\".concat(v.slice(0,1021),\"...\"))):(x=\"\".concat(nE(c)),v.length>512&&(v=\"\".concat(v.slice(0,509),\"...\")),x.length>512&&(x=\"\".concat(x.slice(0,509),\"...\")),s===\"deepEqual\"||s===\"equal\"?v=\"\".concat(b,`\n", - "\n", - "`).concat(v,`\n", - "\n", - "should equal\n", - "\n", - "`):x=\" \".concat(s,\" \").concat(x)),a=r.call(this,\"\".concat(v).concat(x))}return Error.stackTraceLimit=f,a.generatedMessage=!o,Object.defineProperty(kj(a),\"name\",{value:\"AssertionError [ERR_ASSERTION]\",enumerable:!1,writable:!0,configurable:!0}),a.code=\"ERR_ASSERTION\",a.actual=u,a.expected=c,a.operator=s,Error.captureStackTrace&&Error.captureStackTrace(kj(a),l),a.stack,a.name=\"AssertionError\",ZAe(a)}return xSt(n,[{key:\"toString\",value:function(){return\"\".concat(this.name,\" [\").concat(this.code,\"]: \").concat(this.message)}},{key:t,value:function(a,o){return Lj(this,VAe(VAe({},o),{},{customInspect:!1,depth:0}))}}]),n}(Cj(Error),Lj.custom);YAe.exports=PSt});var Pj=ye((mcr,$Ae)=>{\"use strict\";var JAe=Object.prototype.toString;$Ae.exports=function(t){var r=JAe.call(t),n=r===\"[object Arguments]\";return n||(n=r!==\"[object Array]\"&&t!==null&&typeof t==\"object\"&&typeof t.length==\"number\"&&t.length>=0&&JAe.call(t.callee)===\"[object Function]\"),n}});var sSe=ye((ycr,oSe)=>{\"use strict\";var aSe;Object.keys||(sE=Object.prototype.hasOwnProperty,Ij=Object.prototype.toString,QAe=Pj(),Rj=Object.prototype.propertyIsEnumerable,eSe=!Rj.call({toString:null},\"toString\"),tSe=Rj.call(function(){},\"prototype\"),lE=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],qR=function(e){var t=e.constructor;return t&&t.prototype===e},rSe={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},iSe=function(){if(typeof window==\"undefined\")return!1;for(var e in window)try{if(!rSe[\"$\"+e]&&sE.call(window,e)&&window[e]!==null&&typeof window[e]==\"object\")try{qR(window[e])}catch(t){return!0}}catch(t){return!0}return!1}(),nSe=function(e){if(typeof window==\"undefined\"||!iSe)return qR(e);try{return qR(e)}catch(t){return!1}},aSe=function(t){var r=t!==null&&typeof t==\"object\",n=Ij.call(t)===\"[object Function]\",i=QAe(t),a=r&&Ij.call(t)===\"[object String]\",o=[];if(!r&&!n&&!i)throw new TypeError(\"Object.keys called on a non-object\");var s=tSe&&n;if(a&&t.length>0&&!sE.call(t,0))for(var l=0;l<t.length;++l)o.push(String(l));if(i&&t.length>0)for(var u=0;u<t.length;++u)o.push(String(u));else for(var c in t)!(s&&c===\"prototype\")&&sE.call(t,c)&&o.push(String(c));if(eSe)for(var f=nSe(t),h=0;h<lE.length;++h)!(f&&lE[h]===\"constructor\")&&sE.call(t,lE[h])&&o.push(lE[h]);return o});var sE,Ij,QAe,Rj,eSe,tSe,lE,qR,rSe,iSe,nSe;oSe.exports=aSe});var Dj=ye((_cr,cSe)=>{\"use strict\";var ISt=Array.prototype.slice,RSt=Pj(),lSe=Object.keys,OR=lSe?function(t){return lSe(t)}:sSe(),uSe=Object.keys;OR.shim=function(){if(Object.keys){var t=function(){var r=Object.keys(arguments);return r&&r.length===arguments.length}(1,2);t||(Object.keys=function(n){return RSt(n)?uSe(ISt.call(n)):uSe(n)})}else Object.keys=OR;return Object.keys||OR};cSe.exports=OR});var gSe=ye((xcr,pSe)=>{\"use strict\";var DSt=Dj(),dSe=B8()(),vSe=i5(),fSe=Object,zSt=vSe(\"Array.prototype.push\"),hSe=vSe(\"Object.prototype.propertyIsEnumerable\"),FSt=dSe?Object.getOwnPropertySymbols:null;pSe.exports=function(t,r){if(t==null)throw new TypeError(\"target must be an object\");var n=fSe(t);if(arguments.length===1)return n;for(var i=1;i<arguments.length;++i){var a=fSe(arguments[i]),o=DSt(a),s=dSe&&(Object.getOwnPropertySymbols||FSt);if(s)for(var l=s(a),u=0;u<l.length;++u){var c=l[u];hSe(a,c)&&zSt(o,c)}for(var f=0;f<o.length;++f){var h=o[f];if(hSe(a,h)){var d=a[h];n[h]=d}}}return n}});var ySe=ye((bcr,mSe)=>{\"use strict\";var zj=gSe(),qSt=function(){if(!Object.assign)return!1;for(var e=\"abcdefghijklmnopqrst\",t=e.split(\"\"),r={},n=0;n<t.length;++n)r[t[n]]=t[n];var i=Object.assign({},r),a=\"\";for(var o in i)a+=o;return e!==a},OSt=function(){if(!Object.assign||!Object.preventExtensions)return!1;var e=Object.preventExtensions({1:2});try{Object.assign(e,\"xy\")}catch(t){return e[1]===\"y\"}return!1};mSe.exports=function(){return!Object.assign||qSt()||OSt()?zj:Object.assign}});var Fj=ye((wcr,xSe)=>{\"use strict\";var _Se=function(e){return e!==e};xSe.exports=function(t,r){return t===0&&r===0?1/t===1/r:!!(t===r||_Se(t)&&_Se(r))}});var BR=ye((Tcr,bSe)=>{\"use strict\";var BSt=Fj();bSe.exports=function(){return typeof Object.is==\"function\"?Object.is:BSt}});var uE=ye((Acr,SSe)=>{\"use strict\";var NSt=Dj(),USt=typeof Symbol==\"function\"&&typeof Symbol(\"foo\")==\"symbol\",VSt=Object.prototype.toString,HSt=Array.prototype.concat,wSe=Object.defineProperty,GSt=function(e){return typeof e==\"function\"&&VSt.call(e)===\"[object Function]\"},jSt=yG()(),TSe=wSe&&jSt,WSt=function(e,t,r,n){if(t in e){if(n===!0){if(e[t]===r)return}else if(!GSt(n)||!n())return}TSe?wSe(e,t,{configurable:!0,enumerable:!1,value:r,writable:!0}):e[t]=r},ASe=function(e,t){var r=arguments.length>2?arguments[2]:{},n=NSt(t);USt&&(n=HSt.call(n,Object.getOwnPropertySymbols(t)));for(var i=0;i<n.length;i+=1)WSt(e,n[i],t[n[i]],r[n[i]])};ASe.supportsDescriptors=!!TSe;SSe.exports=ASe});var ESe=ye((Scr,MSe)=>{\"use strict\";var ZSt=BR(),XSt=uE();MSe.exports=function(){var t=ZSt();return XSt(Object,{is:t},{is:function(){return Object.is!==t}}),t}});var PSe=ye((Mcr,LSe)=>{\"use strict\";var YSt=uE(),KSt=N4(),JSt=Fj(),kSe=BR(),$St=ESe(),CSe=KSt(kSe(),Object);YSt(CSe,{getPolyfill:kSe,implementation:JSt,shim:$St});LSe.exports=CSe});var qj=ye((Ecr,ISe)=>{\"use strict\";ISe.exports=function(t){return t!==t}});var Oj=ye((kcr,RSe)=>{\"use strict\";var QSt=qj();RSe.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN(\"a\")?Number.isNaN:QSt}});var zSe=ye((Ccr,DSe)=>{\"use strict\";var eMt=uE(),tMt=Oj();DSe.exports=function(){var t=tMt();return eMt(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}});var BSe=ye((Lcr,OSe)=>{\"use strict\";var rMt=N4(),iMt=uE(),nMt=qj(),FSe=Oj(),aMt=zSe(),qSe=rMt(FSe(),Number);iMt(qSe,{getPolyfill:FSe,implementation:nMt,shim:aMt});OSe.exports=qSe});var aMe=ye((Pcr,nMe)=>{\"use strict\";function NSe(e,t){return uMt(e)||lMt(e,t)||sMt(e,t)||oMt()}function oMt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.\n", - "In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function sMt(e,t){if(e){if(typeof e==\"string\")return USe(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r===\"Object\"&&e.constructor&&(r=e.constructor.name),r===\"Map\"||r===\"Set\")return Array.from(e);if(r===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return USe(e,t)}}function USe(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function lMt(e,t){var r=e==null?null:typeof Symbol!=\"undefined\"&&e[Symbol.iterator]||e[\"@@iterator\"];if(r!=null){var n,i,a,o,s=[],l=!0,u=!1;try{if(a=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(c){u=!0,i=c}finally{try{if(!l&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}function uMt(e){if(Array.isArray(e))return e}function J0(e){\"@babel/helpers - typeof\";return J0=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},J0(e)}var cMt=/a/g.flags!==void 0,WR=function(t){var r=[];return t.forEach(function(n){return r.push(n)}),r},VSe=function(t){var r=[];return t.forEach(function(n,i){return r.push([i,n])}),r},QSe=Object.is?Object.is:PSe(),GR=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},Bj=Number.isNaN?Number.isNaN:BSe();function Uj(e){return e.call.bind(e)}var fE=Uj(Object.prototype.hasOwnProperty),jR=Uj(Object.prototype.propertyIsEnumerable),HSe=Uj(Object.prototype.toString),sp=h5().types,fMt=sp.isAnyArrayBuffer,hMt=sp.isArrayBufferView,GSe=sp.isDate,NR=sp.isMap,jSe=sp.isRegExp,UR=sp.isSet,dMt=sp.isNativeError,vMt=sp.isBoxedPrimitive,WSe=sp.isNumberObject,ZSe=sp.isStringObject,XSe=sp.isBooleanObject,YSe=sp.isBigIntObject,pMt=sp.isSymbolObject,gMt=sp.isFloat32Array,mMt=sp.isFloat64Array;function yMt(e){if(e.length===0||e.length>10)return!0;for(var t=0;t<e.length;t++){var r=e.charCodeAt(t);if(r<48||r>57)return!0}return e.length===10&&e>=Math.pow(2,32)}function VR(e){return Object.keys(e).filter(yMt).concat(GR(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}function eMe(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i<a;++i)if(e[i]!==t[i]){r=e[i],n=t[i];break}return r<n?-1:n<r?1:0}var HR=void 0,_Mt=!0,xMt=!1,Nj=0,Vj=1,tMe=2,rMe=3;function bMt(e,t){return cMt?e.source===t.source&&e.flags===t.flags:RegExp.prototype.toString.call(e)===RegExp.prototype.toString.call(t)}function wMt(e,t){if(e.byteLength!==t.byteLength)return!1;for(var r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function TMt(e,t){return e.byteLength!==t.byteLength?!1:eMe(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))===0}function AMt(e,t){return e.byteLength===t.byteLength&&eMe(new Uint8Array(e),new Uint8Array(t))===0}function SMt(e,t){return WSe(e)?WSe(t)&&QSe(Number.prototype.valueOf.call(e),Number.prototype.valueOf.call(t)):ZSe(e)?ZSe(t)&&String.prototype.valueOf.call(e)===String.prototype.valueOf.call(t):XSe(e)?XSe(t)&&Boolean.prototype.valueOf.call(e)===Boolean.prototype.valueOf.call(t):YSe(e)?YSe(t)&&BigInt.prototype.valueOf.call(e)===BigInt.prototype.valueOf.call(t):pMt(t)&&Symbol.prototype.valueOf.call(e)===Symbol.prototype.valueOf.call(t)}function $0(e,t,r,n){if(e===t)return e!==0?!0:r?QSe(e,t):!0;if(r){if(J0(e)!==\"object\")return typeof e==\"number\"&&Bj(e)&&Bj(t);if(J0(t)!==\"object\"||e===null||t===null||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1}else{if(e===null||J0(e)!==\"object\")return t===null||J0(t)!==\"object\"?e==t:!1;if(t===null||J0(t)!==\"object\")return!1}var i=HSe(e),a=HSe(t);if(i!==a)return!1;if(Array.isArray(e)){if(e.length!==t.length)return!1;var o=VR(e,HR),s=VR(t,HR);return o.length!==s.length?!1:cE(e,t,r,n,Vj,o)}if(i===\"[object Object]\"&&(!NR(e)&&NR(t)||!UR(e)&&UR(t)))return!1;if(GSe(e)){if(!GSe(t)||Date.prototype.getTime.call(e)!==Date.prototype.getTime.call(t))return!1}else if(jSe(e)){if(!jSe(t)||!bMt(e,t))return!1}else if(dMt(e)||e instanceof Error){if(e.message!==t.message||e.name!==t.name)return!1}else if(hMt(e)){if(!r&&(gMt(e)||mMt(e))){if(!wMt(e,t))return!1}else if(!TMt(e,t))return!1;var l=VR(e,HR),u=VR(t,HR);return l.length!==u.length?!1:cE(e,t,r,n,Nj,l)}else{if(UR(e))return!UR(t)||e.size!==t.size?!1:cE(e,t,r,n,tMe);if(NR(e))return!NR(t)||e.size!==t.size?!1:cE(e,t,r,n,rMe);if(fMt(e)){if(!AMt(e,t))return!1}else if(vMt(e)&&!SMt(e,t))return!1}return cE(e,t,r,n,Nj)}function KSe(e,t){return t.filter(function(r){return jR(e,r)})}function cE(e,t,r,n,i,a){if(arguments.length===5){a=Object.keys(e);var o=Object.keys(t);if(a.length!==o.length)return!1}for(var s=0;s<a.length;s++)if(!fE(t,a[s]))return!1;if(r&&arguments.length===5){var l=GR(e);if(l.length!==0){var u=0;for(s=0;s<l.length;s++){var c=l[s];if(jR(e,c)){if(!jR(t,c))return!1;a.push(c),u++}else if(jR(t,c))return!1}var f=GR(t);if(l.length!==f.length&&KSe(t,f).length!==u)return!1}else{var h=GR(t);if(h.length!==0&&KSe(t,h).length!==0)return!1}}if(a.length===0&&(i===Nj||i===Vj&&e.length===0||e.size===0))return!0;if(n===void 0)n={val1:new Map,val2:new Map,position:0};else{var d=n.val1.get(e);if(d!==void 0){var v=n.val2.get(t);if(v!==void 0)return d===v}n.position++}n.val1.set(e,n.position),n.val2.set(t,n.position);var x=LMt(e,t,r,a,n,i);return n.val1.delete(e),n.val2.delete(t),x}function JSe(e,t,r,n){for(var i=WR(e),a=0;a<i.length;a++){var o=i[a];if($0(t,o,r,n))return e.delete(o),!0}return!1}function iMe(e){switch(J0(e)){case\"undefined\":return null;case\"object\":return;case\"symbol\":return!1;case\"string\":e=+e;case\"number\":if(Bj(e))return!1}return!0}function MMt(e,t,r){var n=iMe(r);return n!=null?n:t.has(n)&&!e.has(n)}function EMt(e,t,r,n,i){var a=iMe(r);if(a!=null)return a;var o=t.get(a);return o===void 0&&!t.has(a)||!$0(n,o,!1,i)?!1:!e.has(a)&&$0(n,o,!1,i)}function kMt(e,t,r,n){for(var i=null,a=WR(e),o=0;o<a.length;o++){var s=a[o];if(J0(s)===\"object\"&&s!==null)i===null&&(i=new Set),i.add(s);else if(!t.has(s)){if(r||!MMt(e,t,s))return!1;i===null&&(i=new Set),i.add(s)}}if(i!==null){for(var l=WR(t),u=0;u<l.length;u++){var c=l[u];if(J0(c)===\"object\"&&c!==null){if(!JSe(i,c,r,n))return!1}else if(!r&&!e.has(c)&&!JSe(i,c,r,n))return!1}return i.size===0}return!0}function $Se(e,t,r,n,i,a){for(var o=WR(e),s=0;s<o.length;s++){var l=o[s];if($0(r,l,i,a)&&$0(n,t.get(l),i,a))return e.delete(l),!0}return!1}function CMt(e,t,r,n){for(var i=null,a=VSe(e),o=0;o<a.length;o++){var s=NSe(a[o],2),l=s[0],u=s[1];if(J0(l)===\"object\"&&l!==null)i===null&&(i=new Set),i.add(l);else{var c=t.get(l);if(c===void 0&&!t.has(l)||!$0(u,c,r,n)){if(r||!EMt(e,t,l,u,n))return!1;i===null&&(i=new Set),i.add(l)}}}if(i!==null){for(var f=VSe(t),h=0;h<f.length;h++){var d=NSe(f[h],2),v=d[0],x=d[1];if(J0(v)===\"object\"&&v!==null){if(!$Se(i,e,v,x,r,n))return!1}else if(!r&&(!e.has(v)||!$0(e.get(v),x,!1,n))&&!$Se(i,e,v,x,!1,n))return!1}return i.size===0}return!0}function LMt(e,t,r,n,i,a){var o=0;if(a===tMe){if(!kMt(e,t,r,i))return!1}else if(a===rMe){if(!CMt(e,t,r,i))return!1}else if(a===Vj)for(;o<e.length;o++)if(fE(e,o)){if(!fE(t,o)||!$0(e[o],t[o],r,i))return!1}else{if(fE(t,o))return!1;for(var s=Object.keys(e);o<s.length;o++){var l=s[o];if(!fE(t,l)||!$0(e[l],t[l],r,i))return!1}return s.length===Object.keys(t).length}for(o=0;o<n.length;o++){var u=n[o];if(!$0(e[u],t[u],r,i))return!1}return!0}function PMt(e,t){return $0(e,t,xMt)}function IMt(e,t){return $0(e,t,_Mt)}nMe.exports={isDeepEqual:PMt,isDeepStrictEqual:IMt}});var tE=ye((Icr,TMe)=>{\"use strict\";function jg(e){\"@babel/helpers - typeof\";return jg=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},jg(e)}function oMe(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,DMt(n.key),n)}}function RMt(e,t,r){return t&&oMe(e.prototype,t),r&&oMe(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function DMt(e){var t=zMt(e,\"string\");return jg(t)===\"symbol\"?t:String(t)}function zMt(e,t){if(jg(e)!==\"object\"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||\"default\");if(jg(n)!==\"object\")return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(t===\"string\"?String:Number)(e)}function FMt(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var qMt=Ej(),hE=qMt.codes,sMe=hE.ERR_AMBIGUOUS_ARGUMENT,v5=hE.ERR_INVALID_ARG_TYPE,OMt=hE.ERR_INVALID_ARG_VALUE,BMt=hE.ERR_INVALID_RETURN_VALUE,U_=hE.ERR_MISSING_ARGS,V_=KAe(),NMt=h5(),ZR=NMt.inspect,fMe=h5().types,UMt=fMe.isPromise,XR=fMe.isRegExp,VMt=ySe()(),hMe=BR()(),YR=i5()(\"RegExp.prototype.test\"),N_,KR;function dE(){var e=aMe();N_=e.isDeepEqual,KR=e.isDeepStrictEqual}var lMe=!1,sf=TMe.exports=Hj,JR={};function Wg(e){throw e.message instanceof Error?e.message:new V_(e)}function dMe(e,t,r,n,i){var a=arguments.length,o;if(a===0)o=\"Failed\";else if(a===1)r=e,e=void 0;else{if(lMe===!1){lMe=!0;var s=process.emitWarning?process.emitWarning:console.warn.bind(console);s(\"assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.\",\"DeprecationWarning\",\"DEP0094\")}a===2&&(n=\"!=\")}if(r instanceof Error)throw r;var l={actual:e,expected:t,operator:n===void 0?\"fail\":n,stackStartFn:i||dMe};r!==void 0&&(l.message=r);var u=new V_(l);throw o&&(u.message=o,u.generatedMessage=!0),u}sf.fail=dMe;sf.AssertionError=V_;function vMe(e,t,r,n){if(!r){var i=!1;if(t===0)i=!0,n=\"No value argument passed to `assert.ok()`\";else if(n instanceof Error)throw n;var a=new V_({actual:r,expected:!0,message:n,operator:\"==\",stackStartFn:e});throw a.generatedMessage=i,a}}function Hj(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];vMe.apply(void 0,[Hj,t.length].concat(t))}sf.ok=Hj;sf.equal=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");t!=r&&Wg({actual:t,expected:r,message:n,operator:\"==\",stackStartFn:e})};sf.notEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");t==r&&Wg({actual:t,expected:r,message:n,operator:\"!=\",stackStartFn:e})};sf.deepEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");N_===void 0&&dE(),N_(t,r)||Wg({actual:t,expected:r,message:n,operator:\"deepEqual\",stackStartFn:e})};sf.notDeepEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");N_===void 0&&dE(),N_(t,r)&&Wg({actual:t,expected:r,message:n,operator:\"notDeepEqual\",stackStartFn:e})};sf.deepStrictEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");N_===void 0&&dE(),KR(t,r)||Wg({actual:t,expected:r,message:n,operator:\"deepStrictEqual\",stackStartFn:e})};sf.notDeepStrictEqual=pMe;function pMe(e,t,r){if(arguments.length<2)throw new U_(\"actual\",\"expected\");N_===void 0&&dE(),KR(e,t)&&Wg({actual:e,expected:t,message:r,operator:\"notDeepStrictEqual\",stackStartFn:pMe})}sf.strictEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");hMe(t,r)||Wg({actual:t,expected:r,message:n,operator:\"strictEqual\",stackStartFn:e})};sf.notStrictEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");hMe(t,r)&&Wg({actual:t,expected:r,message:n,operator:\"notStrictEqual\",stackStartFn:e})};var uMe=RMt(function e(t,r,n){var i=this;FMt(this,e),r.forEach(function(a){a in t&&(n!==void 0&&typeof n[a]==\"string\"&&XR(t[a])&&YR(t[a],n[a])?i[a]=n[a]:i[a]=t[a])})});function HMt(e,t,r,n,i,a){if(!(r in e)||!KR(e[r],t[r])){if(!n){var o=new uMe(e,i),s=new uMe(t,i,e),l=new V_({actual:o,expected:s,operator:\"deepStrictEqual\",stackStartFn:a});throw l.actual=e,l.expected=t,l.operator=a.name,l}Wg({actual:e,expected:t,message:n,operator:a.name,stackStartFn:a})}}function gMe(e,t,r,n){if(typeof t!=\"function\"){if(XR(t))return YR(t,e);if(arguments.length===2)throw new v5(\"expected\",[\"Function\",\"RegExp\"],t);if(jg(e)!==\"object\"||e===null){var i=new V_({actual:e,expected:t,message:r,operator:\"deepStrictEqual\",stackStartFn:n});throw i.operator=n.name,i}var a=Object.keys(t);if(t instanceof Error)a.push(\"name\",\"message\");else if(a.length===0)throw new OMt(\"error\",t,\"may not be an empty object\");return N_===void 0&&dE(),a.forEach(function(o){typeof e[o]==\"string\"&&XR(t[o])&&YR(t[o],e[o])||HMt(e,t,o,r,a,n)}),!0}return t.prototype!==void 0&&e instanceof t?!0:Error.isPrototypeOf(t)?!1:t.call({},e)===!0}function mMe(e){if(typeof e!=\"function\")throw new v5(\"fn\",\"Function\",e);try{e()}catch(t){return t}return JR}function cMe(e){return UMt(e)||e!==null&&jg(e)===\"object\"&&typeof e.then==\"function\"&&typeof e.catch==\"function\"}function yMe(e){return Promise.resolve().then(function(){var t;if(typeof e==\"function\"){if(t=e(),!cMe(t))throw new BMt(\"instance of Promise\",\"promiseFn\",t)}else if(cMe(e))t=e;else throw new v5(\"promiseFn\",[\"Function\",\"Promise\"],e);return Promise.resolve().then(function(){return t}).then(function(){return JR}).catch(function(r){return r})})}function _Me(e,t,r,n){if(typeof r==\"string\"){if(arguments.length===4)throw new v5(\"error\",[\"Object\",\"Error\",\"Function\",\"RegExp\"],r);if(jg(t)===\"object\"&&t!==null){if(t.message===r)throw new sMe(\"error/message\",'The error message \"'.concat(t.message,'\" is identical to the message.'))}else if(t===r)throw new sMe(\"error/message\",'The error \"'.concat(t,'\" is identical to the message.'));n=r,r=void 0}else if(r!=null&&jg(r)!==\"object\"&&typeof r!=\"function\")throw new v5(\"error\",[\"Object\",\"Error\",\"Function\",\"RegExp\"],r);if(t===JR){var i=\"\";r&&r.name&&(i+=\" (\".concat(r.name,\")\")),i+=n?\": \".concat(n):\".\";var a=e.name===\"rejects\"?\"rejection\":\"exception\";Wg({actual:void 0,expected:r,operator:e.name,message:\"Missing expected \".concat(a).concat(i),stackStartFn:e})}if(r&&!gMe(t,r,n,e))throw t}function xMe(e,t,r,n){if(t!==JR){if(typeof r==\"string\"&&(n=r,r=void 0),!r||gMe(t,r)){var i=n?\": \".concat(n):\".\",a=e.name===\"doesNotReject\"?\"rejection\":\"exception\";Wg({actual:t,expected:r,operator:e.name,message:\"Got unwanted \".concat(a).concat(i,`\n", - "`)+'Actual message: \"'.concat(t&&t.message,'\"'),stackStartFn:e})}throw t}}sf.throws=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];_Me.apply(void 0,[e,mMe(t)].concat(n))};sf.rejects=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];return yMe(t).then(function(a){return _Me.apply(void 0,[e,a].concat(n))})};sf.doesNotThrow=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];xMe.apply(void 0,[e,mMe(t)].concat(n))};sf.doesNotReject=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];return yMe(t).then(function(a){return xMe.apply(void 0,[e,a].concat(n))})};sf.ifError=function e(t){if(t!=null){var r=\"ifError got unwanted exception: \";jg(t)===\"object\"&&typeof t.message==\"string\"?t.message.length===0&&t.constructor?r+=t.constructor.name:r+=t.message:r+=ZR(t);var n=new V_({actual:t,expected:null,operator:\"ifError\",message:r,stackStartFn:e}),i=t.stack;if(typeof i==\"string\"){var a=i.split(`\n", - "`);a.shift();for(var o=n.stack.split(`\n", - "`),s=0;s<a.length;s++){var l=o.indexOf(a[s]);if(l!==-1){o=o.slice(0,l);break}}n.stack=\"\".concat(o.join(`\n", - "`),`\n", - "`).concat(a.join(`\n", - "`))}throw n}};function bMe(e,t,r,n,i){if(!XR(t))throw new v5(\"regexp\",\"RegExp\",t);var a=i===\"match\";if(typeof e!=\"string\"||YR(t,e)!==a){if(r instanceof Error)throw r;var o=!r;r=r||(typeof e!=\"string\"?'The \"string\" argument must be of type string. Received type '+\"\".concat(jg(e),\" (\").concat(ZR(e),\")\"):(a?\"The input did not match the regular expression \":\"The input was expected to not match the regular expression \")+\"\".concat(ZR(t),`. Input:\n", - "\n", - "`).concat(ZR(e),`\n", - "`));var s=new V_({actual:e,expected:t,message:r,operator:i,stackStartFn:n});throw s.generatedMessage=o,s}}sf.match=function e(t,r,n){bMe(t,r,n,e,\"match\")};sf.doesNotMatch=function e(t,r,n){bMe(t,r,n,e,\"doesNotMatch\")};function wMe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];vMe.apply(void 0,[wMe,t.length].concat(t))}sf.strict=VMt(wMe,sf,{equal:sf.strictEqual,deepEqual:sf.deepStrictEqual,notEqual:sf.notStrictEqual,notDeepEqual:sf.notDeepStrictEqual});sf.strict.strict=sf.strict});var SMe=ye((Rcr,AMe)=>{var vE=1e3,pE=vE*60,gE=pE*60,mE=gE*24,GMt=mE*365.25;AMe.exports=function(e,t){t=t||{};var r=typeof e;if(r===\"string\"&&e.length>0)return jMt(e);if(r===\"number\"&&isNaN(e)===!1)return t.long?ZMt(e):WMt(e);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(e))};function jMt(e){if(e=String(e),!(e.length>100)){var t=/^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||\"ms\").toLowerCase();switch(n){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return r*GMt;case\"days\":case\"day\":case\"d\":return r*mE;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return r*gE;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return r*pE;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return r*vE;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return r;default:return}}}}function WMt(e){return e>=mE?Math.round(e/mE)+\"d\":e>=gE?Math.round(e/gE)+\"h\":e>=pE?Math.round(e/pE)+\"m\":e>=vE?Math.round(e/vE)+\"s\":e+\"ms\"}function ZMt(e){return $R(e,mE,\"day\")||$R(e,gE,\"hour\")||$R(e,pE,\"minute\")||$R(e,vE,\"second\")||e+\" ms\"}function $R(e,t,r){if(!(e<t))return e<t*1.5?Math.floor(e/t)+\" \"+r:Math.ceil(e/t)+\" \"+r+\"s\"}});var EMe=ye(($u,MMe)=>{$u=MMe.exports=jj.debug=jj.default=jj;$u.coerce=$Mt;$u.disable=KMt;$u.enable=YMt;$u.enabled=JMt;$u.humanize=SMe();$u.names=[];$u.skips=[];$u.formatters={};var Gj;function XMt(e){var t=0,r;for(r in e)t=(t<<5)-t+e.charCodeAt(r),t|=0;return $u.colors[Math.abs(t)%$u.colors.length]}function jj(e){function t(){if(t.enabled){var r=t,n=+new Date,i=n-(Gj||n);r.diff=i,r.prev=Gj,r.curr=n,Gj=n;for(var a=new Array(arguments.length),o=0;o<a.length;o++)a[o]=arguments[o];a[0]=$u.coerce(a[0]),typeof a[0]!=\"string\"&&a.unshift(\"%O\");var s=0;a[0]=a[0].replace(/%([a-zA-Z%])/g,function(u,c){if(u===\"%%\")return u;s++;var f=$u.formatters[c];if(typeof f==\"function\"){var h=a[s];u=f.call(r,h),a.splice(s,1),s--}return u}),$u.formatArgs.call(r,a);var l=t.log||$u.log||console.log.bind(console);l.apply(r,a)}}return t.namespace=e,t.enabled=$u.enabled(e),t.useColors=$u.useColors(),t.color=XMt(e),typeof $u.init==\"function\"&&$u.init(t),t}function YMt(e){$u.save(e),$u.names=[],$u.skips=[];for(var t=(typeof e==\"string\"?e:\"\").split(/[\\s,]+/),r=t.length,n=0;n<r;n++)t[n]&&(e=t[n].replace(/\\*/g,\".*?\"),e[0]===\"-\"?$u.skips.push(new RegExp(\"^\"+e.substr(1)+\"$\")):$u.names.push(new RegExp(\"^\"+e+\"$\")))}function KMt(){$u.enable(\"\")}function JMt(e){var t,r;for(t=0,r=$u.skips.length;t<r;t++)if($u.skips[t].test(e))return!1;for(t=0,r=$u.names.length;t<r;t++)if($u.names[t].test(e))return!0;return!1}function $Mt(e){return e instanceof Error?e.stack||e.message:e}});var LMe=ye((lp,CMe)=>{lp=CMe.exports=EMe();lp.log=t4t;lp.formatArgs=e4t;lp.save=r4t;lp.load=kMe;lp.useColors=QMt;lp.storage=typeof chrome!=\"undefined\"&&typeof chrome.storage!=\"undefined\"?chrome.storage.local:i4t();lp.colors=[\"lightseagreen\",\"forestgreen\",\"goldenrod\",\"dodgerblue\",\"darkorchid\",\"crimson\"];function QMt(){return typeof window!=\"undefined\"&&window.process&&window.process.type===\"renderer\"?!0:typeof document!=\"undefined\"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=\"undefined\"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=\"undefined\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!=\"undefined\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)}lp.formatters.j=function(e){try{return JSON.stringify(e)}catch(t){return\"[UnexpectedJSONParseError]: \"+t.message}};function e4t(e){var t=this.useColors;if(e[0]=(t?\"%c\":\"\")+this.namespace+(t?\" %c\":\" \")+e[0]+(t?\"%c \":\" \")+\"+\"+lp.humanize(this.diff),!!t){var r=\"color: \"+this.color;e.splice(1,0,r,\"color: inherit\");var n=0,i=0;e[0].replace(/%[a-zA-Z%]/g,function(a){a!==\"%%\"&&(n++,a===\"%c\"&&(i=n))}),e.splice(i,0,r)}}function t4t(){return typeof console==\"object\"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function r4t(e){try{e==null?lp.storage.removeItem(\"debug\"):lp.storage.debug=e}catch(t){}}function kMe(){var e;try{e=lp.storage.debug}catch(t){}return!e&&typeof process!=\"undefined\"&&\"env\"in process&&(e=process.env.DEBUG),e}lp.enable(kMe());function i4t(){try{return window.localStorage}catch(e){}}});var OMe=ye((Dcr,qMe)=>{var p5=tE(),H_=LMe()(\"stream-parser\");qMe.exports=a4t;var IMe=-1,QR=0,n4t=1,RMe=2;function a4t(e){var t=e&&typeof e._transform==\"function\",r=e&&typeof e._write==\"function\";if(!t&&!r)throw new Error(\"must pass a Writable or Transform stream in\");H_(\"extending Parser into stream\"),e._bytes=o4t,e._skipBytes=s4t,t&&(e._passthrough=l4t),t?e._transform=c4t:e._write=u4t}function yE(e){H_(\"initializing parser stream\"),e._parserBytesLeft=0,e._parserBuffers=[],e._parserBuffered=0,e._parserState=IMe,e._parserCallback=null,typeof e.push==\"function\"&&(e._parserOutput=e.push.bind(e)),e._parserInit=!0}function o4t(e,t){p5(!this._parserCallback,'there is already a \"callback\" set!'),p5(isFinite(e)&&e>0,'can only buffer a finite number of bytes > 0, got \"'+e+'\"'),this._parserInit||yE(this),H_(\"buffering %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=QR}function s4t(e,t){p5(!this._parserCallback,'there is already a \"callback\" set!'),p5(e>0,'can only skip > 0 bytes, got \"'+e+'\"'),this._parserInit||yE(this),H_(\"skipping %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=n4t}function l4t(e,t){p5(!this._parserCallback,'There is already a \"callback\" set!'),p5(e>0,'can only pass through > 0 bytes, got \"'+e+'\"'),this._parserInit||yE(this),H_(\"passing through %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=RMe}function u4t(e,t,r){this._parserInit||yE(this),H_(\"write(%o bytes)\",e.length),typeof t==\"function\"&&(r=t),zMe(this,e,null,r)}function c4t(e,t,r){this._parserInit||yE(this),H_(\"transform(%o bytes)\",e.length),typeof t!=\"function\"&&(t=this._parserOutput),zMe(this,e,t,r)}function DMe(e,t,r,n){return e._parserBytesLeft<=0?n(new Error(\"got data but not currently parsing anything\")):t.length<=e._parserBytesLeft?function(){return PMe(e,t,r,n)}:function(){var i=t.slice(0,e._parserBytesLeft);return PMe(e,i,r,function(a){if(a)return n(a);if(t.length>i.length)return function(){return DMe(e,t.slice(i.length),r,n)}})}}function PMe(e,t,r,n){if(e._parserBytesLeft-=t.length,H_(\"%o bytes left for stream piece\",e._parserBytesLeft),e._parserState===QR?(e._parserBuffers.push(t),e._parserBuffered+=t.length):e._parserState===RMe&&r(t),e._parserBytesLeft===0){var i=e._parserCallback;if(i&&e._parserState===QR&&e._parserBuffers.length>1&&(t=Buffer.concat(e._parserBuffers,e._parserBuffered)),e._parserState!==QR&&(t=null),e._parserCallback=null,e._parserBuffered=0,e._parserState=IMe,e._parserBuffers.splice(0),i){var a=[];t&&a.push(t),r&&a.push(r);var o=i.length>a.length;o&&a.push(FMe(n));var s=i.apply(e,a);if(!o||n===s)return n}}else return n}var zMe=FMe(DMe);function FMe(e){return function(){for(var t=e.apply(this,arguments);typeof t==\"function\";)t=t();return t}}});var Eu=ye(Gy=>{\"use strict\";var BMe=PAe().Transform,f4t=OMe();function _E(){BMe.call(this,{readableObjectMode:!0})}_E.prototype=Object.create(BMe.prototype);_E.prototype.constructor=_E;f4t(_E.prototype);Gy.ParserStream=_E;Gy.sliceEq=function(e,t,r){for(var n=t,i=0;i<r.length;)if(e[n++]!==r[i++])return!1;return!0};Gy.str2arr=function(e,t){var r=[],n=0;if(t&&t===\"hex\")for(;n<e.length;)r.push(parseInt(e.slice(n,n+2),16)),n+=2;else for(;n<e.length;n++)r.push(e.charCodeAt(n)&255);return r};Gy.readUInt16LE=function(e,t){return e[t]|e[t+1]<<8};Gy.readUInt16BE=function(e,t){return e[t+1]|e[t]<<8};Gy.readUInt32LE=function(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]*16777216};Gy.readUInt32BE=function(e,t){return e[t+3]|e[t+2]<<8|e[t+1]<<16|e[t]*16777216};function eD(e,t,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||\"\",this.name=this.constructor.name,this.message=e,t&&(this.code=t),r&&(this.statusCode=r)}eD.prototype=Object.create(Error.prototype);eD.prototype.constructor=eD;Gy.ProbeError=eD});var NMe=ye((Fcr,tD)=>{\"use strict\";var g5=Eu().readUInt16BE,Zj=Eu().readUInt32BE;function xE(e,t){if(e.length<4+t)return null;var r=Zj(e,t);return e.length<r+t||r<8?null:{boxtype:String.fromCharCode.apply(null,e.slice(t+4,t+8)),data:e.slice(t+8,t+r),end:t+r}}tD.exports.unbox=xE;function h4t(e,t){for(var r=0;;){var n=xE(e,r);if(!n)break;switch(n.boxtype){case\"ispe\":t.sizes.push({width:Zj(n.data,4),height:Zj(n.data,8)});break;case\"irot\":t.transforms.push({type:\"irot\",value:n.data[0]&3});break;case\"imir\":t.transforms.push({type:\"imir\",value:n.data[0]&1});break}r=n.end}}function Wj(e,t,r){for(var n=0,i=0;i<r;i++)n=n*256+(e[t+i]||0);return n}function d4t(e,t){for(var r=e[4]>>4&15,n=e[4]&15,i=e[5]>>4&15,a=g5(e,6),o=8,s=0;s<a;s++){var l=g5(e,o);o+=2;var u=g5(e,o);o+=2;var c=Wj(e,o,i);o+=i;var f=g5(e,o);if(o+=2,u===0&&f===1){var h=Wj(e,o,r),d=Wj(e,o+r,n);t.item_loc[l]={length:d,offset:h+c}}o+=f*(r+n)}}function v4t(e,t){for(var r=g5(e,4),n=6,i=0;i<r;i++){var a=xE(e,n);if(!a)break;if(a.boxtype===\"infe\"){for(var o=g5(a.data,4),s=\"\",l=8;l<a.data.length&&a.data[l];l++)s+=String.fromCharCode(a.data[l]);t.item_inf[s]=o}n=a.end}}function p4t(e,t){for(var r=0;;){var n=xE(e,r);if(!n)break;n.boxtype===\"ipco\"&&h4t(n.data,t),r=n.end}}function g4t(e,t){for(var r=4;;){var n=xE(e,r);if(!n)break;n.boxtype===\"iprp\"&&p4t(n.data,t),n.boxtype===\"iloc\"&&d4t(n.data,t),n.boxtype===\"iinf\"&&v4t(n.data,t),r=n.end}}function m4t(e){var t=e.reduce(function(i,a){return i.width>a.width||i.width===a.width&&i.height>a.height?i:a}),r=e.reduce(function(i,a){return i.height>a.height||i.height===a.height&&i.width>a.width?i:a}),n;return t.width>r.height||t.width===r.height&&t.height>r.width?n=t:n=r,n}tD.exports.readSizeFromMeta=function(e){var t={sizes:[],transforms:[],item_inf:{},item_loc:{}};if(g4t(e,t),!!t.sizes.length){var r=m4t(t.sizes),n=1;t.transforms.forEach(function(a){var o={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},s={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if(a.type===\"imir\"&&(a.value===0?n=s[n]:(n=s[n],n=o[n],n=o[n])),a.type===\"irot\")for(var l=0;l<a.value;l++)n=o[n]});var i=null;return t.item_inf.Exif&&(i=t.item_loc[t.item_inf.Exif]),{width:r.width,height:r.height,orientation:t.transforms.length?n:null,variants:t.sizes,exif_location:i}}};tD.exports.getMimeType=function(e){var t=String.fromCharCode.apply(null,e.slice(0,4)),r={};r[t]=!0;for(var n=8;n<e.length;n+=4)r[String.fromCharCode.apply(null,e.slice(n,n+4))]=!0;if(!(!r.mif1&&!r.msf1&&!r.miaf))return t===\"avif\"||t===\"avis\"||t===\"avio\"?{type:\"avif\",mime:\"image/avif\"}:t===\"heic\"||t===\"heix\"?{type:\"heic\",mime:\"image/heic\"}:t===\"hevc\"||t===\"hevx\"?{type:\"heic\",mime:\"image/heic-sequence\"}:r.avif||r.avis?{type:\"avif\",mime:\"image/avif\"}:r.heic||r.heix||r.hevc||r.hevx||r.heis?r.msf1?{type:\"heif\",mime:\"image/heif-sequence\"}:{type:\"heif\",mime:\"image/heif\"}:{type:\"avif\",mime:\"image/avif\"}}});var iD=ye((qcr,Xj)=>{\"use strict\";function rD(e,t){var r=new Error(e);return r.code=t,r}function y4t(e){try{return decodeURIComponent(escape(e))}catch(t){return e}}function jy(e,t,r){this.input=e.subarray(t,r),this.start=t;var n=String.fromCharCode.apply(null,this.input.subarray(0,4));if(n!==\"II*\\0\"&&n!==\"MM\\0*\")throw rD(\"invalid TIFF signature\",\"EBADDATA\");this.big_endian=n[0]===\"M\"}jy.prototype.each=function(e){this.aborted=!1;var t=this.read_uint32(4);for(this.ifds_to_read=[{id:0,offset:t}];this.ifds_to_read.length>0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,e)}};jy.prototype.read_uint16=function(e){var t=this.input;if(e+2>t.length)throw rD(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?t[e]*256+t[e+1]:t[e]+t[e+1]*256};jy.prototype.read_uint32=function(e){var t=this.input;if(e+4>t.length)throw rD(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?t[e]*16777216+t[e+1]*65536+t[e+2]*256+t[e+3]:t[e]+t[e+1]*256+t[e+2]*65536+t[e+3]*16777216};jy.prototype.is_subifd_link=function(e,t){return e===0&&t===34665||e===0&&t===34853||e===34665&&t===40965};jy.prototype.exif_format_length=function(e){switch(e){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}};jy.prototype.exif_format_read=function(e,t){var r;switch(e){case 1:case 2:return r=this.input[t],r;case 6:return r=this.input[t],r|(r&128)*33554430;case 3:return r=this.read_uint16(t),r;case 8:return r=this.read_uint16(t),r|(r&32768)*131070;case 4:return r=this.read_uint32(t),r;case 9:return r=this.read_uint32(t),r|0;case 5:case 10:case 11:case 12:return null;case 7:return null;default:return null}};jy.prototype.scan_ifd=function(e,t,r){var n=this.read_uint16(t);t+=2;for(var i=0;i<n;i++){var a=this.read_uint16(t),o=this.read_uint16(t+2),s=this.read_uint32(t+4),l=this.exif_format_length(o),u=s*l,c=u<=4?t+8:this.read_uint32(t+8),f=!1;if(c+u>this.input.length)throw rD(\"unexpected EOF\",\"EBADDATA\");for(var h=[],d=c,v=0;v<s;v++,d+=l){var x=this.exif_format_read(o,d);if(x===null){h=null;break}h.push(x)}Array.isArray(h)&&o===2&&(h=y4t(String.fromCharCode.apply(null,h)),h&&h[h.length-1]===\"\\0\"&&(h=h.slice(0,-1))),this.is_subifd_link(e,a)&&Array.isArray(h)&&Number.isInteger(h[0])&&h[0]>0&&(this.ifds_to_read.push({id:a,offset:h[0]}),f=!0);var b={is_big_endian:this.big_endian,ifd:e,tag:a,format:o,count:s,entry_offset:t+this.start,data_length:u,data_offset:c+this.start,value:h,is_subifd_link:f};if(r(b)===!1){this.aborted=!0;return}t+=12}e===0&&this.ifds_to_read.push({id:1,offset:this.read_uint32(t)})};Xj.exports.ExifParser=jy;Xj.exports.get_orientation=function(e){var t=0;try{return new jy(e,0,e.length).each(function(r){if(r.ifd===0&&r.tag===274&&Array.isArray(r.value))return t=r.value[0],!1}),t}catch(r){return-1}}});var VMe=ye((Ocr,UMe)=>{\"use strict\";var _4t=Eu().str2arr,x4t=Eu().sliceEq,b4t=Eu().readUInt32BE,nD=NMe(),w4t=iD(),T4t=_4t(\"ftyp\");UMe.exports=function(e){if(x4t(e,4,T4t)){var t=nD.unbox(e,0);if(t){var r=nD.getMimeType(t.data);if(r){for(var n,i=t.end;;){var a=nD.unbox(e,i);if(!a)break;if(i=a.end,a.boxtype===\"mdat\")return;if(a.boxtype===\"meta\"){n=a.data;break}}if(n){var o=nD.readSizeFromMeta(n);if(o){var s={width:o.width,height:o.height,type:r.type,mime:r.mime,wUnits:\"px\",hUnits:\"px\"};if(o.variants.length>1&&(s.variants=o.variants),o.orientation&&(s.orientation=o.orientation),o.exif_location&&o.exif_location.offset+o.exif_location.length<=e.length){var l=b4t(e,o.exif_location.offset),u=e.slice(o.exif_location.offset+l+4,o.exif_location.offset+o.exif_location.length),c=w4t.get_orientation(u);c>0&&(s.orientation=c)}return s}}}}}}});var jMe=ye((Bcr,GMe)=>{\"use strict\";var A4t=Eu().str2arr,S4t=Eu().sliceEq,HMe=Eu().readUInt16LE,M4t=A4t(\"BM\");GMe.exports=function(e){if(!(e.length<26)&&S4t(e,0,M4t))return{width:HMe(e,18),height:HMe(e,22),type:\"bmp\",mime:\"image/bmp\",wUnits:\"px\",hUnits:\"px\"}}});var KMe=ye((Ncr,YMe)=>{\"use strict\";var XMe=Eu().str2arr,WMe=Eu().sliceEq,ZMe=Eu().readUInt16LE,E4t=XMe(\"GIF87a\"),k4t=XMe(\"GIF89a\");YMe.exports=function(e){if(!(e.length<10)&&!(!WMe(e,0,E4t)&&!WMe(e,0,k4t)))return{width:ZMe(e,6),height:ZMe(e,8),type:\"gif\",mime:\"image/gif\",wUnits:\"px\",hUnits:\"px\"}}});var QMe=ye((Ucr,$Me)=>{\"use strict\";var Yj=Eu().readUInt16LE,C4t=0,L4t=1,JMe=16;$Me.exports=function(e){var t=Yj(e,0),r=Yj(e,2),n=Yj(e,4);if(!(t!==C4t||r!==L4t||!n)){for(var i=[],a={width:0,height:0},o=0;o<n;o++){var s=e[6+JMe*o]||256,l=e[6+JMe*o+1]||256,u={width:s,height:l};i.push(u),(s>a.width||l>a.height)&&(a=u)}return{width:a.width,height:a.height,variants:i,type:\"ico\",mime:\"image/x-icon\",wUnits:\"px\",hUnits:\"px\"}}}});var t4e=ye((Vcr,e4e)=>{\"use strict\";var Kj=Eu().readUInt16BE,P4t=Eu().str2arr,I4t=Eu().sliceEq,R4t=iD(),D4t=P4t(\"Exif\\0\\0\");e4e.exports=function(e){if(!(e.length<2)&&!(e[0]!==255||e[1]!==216||e[2]!==255))for(var t=2;;){for(;;){if(e.length-t<2)return;if(e[t++]===255)break}for(var r=e[t++],n;r===255;)r=e[t++];if(208<=r&&r<=217||r===1)n=0;else if(192<=r&&r<=254){if(e.length-t<2)return;n=Kj(e,t)-2,t+=2}else return;if(r===217||r===218)return;var i;if(r===225&&n>=10&&I4t(e,t,D4t)&&(i=R4t.get_orientation(e.slice(t+6,t+n))),n>=5&&192<=r&&r<=207&&r!==196&&r!==200&&r!==204){if(e.length-t<n)return;var a={width:Kj(e,t+3),height:Kj(e,t+1),type:\"jpg\",mime:\"image/jpeg\",wUnits:\"px\",hUnits:\"px\"};return i>0&&(a.orientation=i),a}t+=n}}});var o4e=ye((Hcr,a4e)=>{\"use strict\";var n4e=Eu().str2arr,r4e=Eu().sliceEq,i4e=Eu().readUInt32BE,z4t=n4e(`\\x89PNG\\r\n", - "\u001a\n", - "`),F4t=n4e(\"IHDR\");a4e.exports=function(e){if(!(e.length<24)&&r4e(e,0,z4t)&&r4e(e,12,F4t))return{width:i4e(e,16),height:i4e(e,20),type:\"png\",mime:\"image/png\",wUnits:\"px\",hUnits:\"px\"}}});var u4e=ye((Gcr,l4e)=>{\"use strict\";var q4t=Eu().str2arr,O4t=Eu().sliceEq,s4e=Eu().readUInt32BE,B4t=q4t(\"8BPS\\0\u0001\");l4e.exports=function(e){if(!(e.length<22)&&O4t(e,0,B4t))return{width:s4e(e,18),height:s4e(e,14),type:\"psd\",mime:\"image/vnd.adobe.photoshop\",wUnits:\"px\",hUnits:\"px\"}}});var h4e=ye((jcr,f4e)=>{\"use strict\";function N4t(e){return e===32||e===9||e===13||e===10}function m5(e){return typeof e==\"number\"&&isFinite(e)&&e>0}function U4t(e){var t=0,r=e.length;for(e[0]===239&&e[1]===187&&e[2]===191&&(t=3);t<r&&N4t(e[t]);)t++;return t===r?!1:e[t]===60}var V4t=/<[-_.:a-zA-Z0-9][^>]*>/,H4t=/^<([-_.:a-zA-Z0-9]+:)?svg\\s/,G4t=/[^-]\\bwidth=\"([^%]+?)\"|[^-]\\bwidth='([^%]+?)'/,j4t=/\\bheight=\"([^%]+?)\"|\\bheight='([^%]+?)'/,W4t=/\\bview[bB]ox=\"(.+?)\"|\\bview[bB]ox='(.+?)'/,c4e=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function Z4t(e){var t=e.match(G4t),r=e.match(j4t),n=e.match(W4t);return{width:t&&(t[1]||t[2]),height:r&&(r[1]||r[2]),viewbox:n&&(n[1]||n[2])}}function Nm(e){return c4e.test(e)?e.match(c4e)[0]:\"px\"}f4e.exports=function(e){if(U4t(e)){for(var t=\"\",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);var n=(t.match(V4t)||[\"\"])[0];if(H4t.test(n)){var i=Z4t(n),a=parseFloat(i.width),o=parseFloat(i.height);if(i.width&&i.height)return!m5(a)||!m5(o)?void 0:{width:a,height:o,type:\"svg\",mime:\"image/svg+xml\",wUnits:Nm(i.width),hUnits:Nm(i.height)};var s=(i.viewbox||\"\").split(\" \"),l={width:s[2],height:s[3]},u=parseFloat(l.width),c=parseFloat(l.height);if(!(!m5(u)||!m5(c))&&Nm(l.width)===Nm(l.height)){var f=u/c;return i.width?m5(a)?{width:a,height:a/f,type:\"svg\",mime:\"image/svg+xml\",wUnits:Nm(i.width),hUnits:Nm(i.width)}:void 0:i.height?m5(o)?{width:o*f,height:o,type:\"svg\",mime:\"image/svg+xml\",wUnits:Nm(i.height),hUnits:Nm(i.height)}:void 0:{width:u,height:c,type:\"svg\",mime:\"image/svg+xml\",wUnits:Nm(l.width),hUnits:Nm(l.height)}}}}}});var m4e=ye((Wcr,g4e)=>{\"use strict\";var p4e=Eu().str2arr,d4e=Eu().sliceEq,X4t=Eu().readUInt16LE,Y4t=Eu().readUInt16BE,K4t=Eu().readUInt32LE,J4t=Eu().readUInt32BE,$4t=p4e(\"II*\\0\"),Q4t=p4e(\"MM\\0*\");function aD(e,t,r){return r?Y4t(e,t):X4t(e,t)}function Jj(e,t,r){return r?J4t(e,t):K4t(e,t)}function v4e(e,t,r){var n=aD(e,t+2,r),i=Jj(e,t+4,r);return i!==1||n!==3&&n!==4?null:n===3?aD(e,t+8,r):Jj(e,t+8,r)}g4e.exports=function(e){if(!(e.length<8)&&!(!d4e(e,0,$4t)&&!d4e(e,0,Q4t))){var t=e[0]===77,r=Jj(e,4,t)-8;if(!(r<0)){var n=r+8;if(!(e.length-n<2)){var i=aD(e,n+0,t)*12;if(!(i<=0)&&(n+=2,!(e.length-n<i))){var a,o,s,l;for(a=0;a<i;a+=12)l=aD(e,n+a,t),l===256?o=v4e(e,n+a,t):l===257&&(s=v4e(e,n+a,t));if(o&&s)return{width:o,height:s,type:\"tiff\",mime:\"image/tiff\",wUnits:\"px\",hUnits:\"px\"}}}}}}});var w4e=ye((Zcr,b4e)=>{\"use strict\";var x4e=Eu().str2arr,y4e=Eu().sliceEq,_4e=Eu().readUInt16LE,$j=Eu().readUInt32LE,eEt=iD(),tEt=x4e(\"RIFF\"),rEt=x4e(\"WEBP\");function iEt(e,t){if(!(e[t+3]!==157||e[t+4]!==1||e[t+5]!==42))return{width:_4e(e,t+6)&16383,height:_4e(e,t+8)&16383,type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}function nEt(e,t){if(e[t]===47){var r=$j(e,t+1);return{width:(r&16383)+1,height:(r>>14&16383)+1,type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}}function aEt(e,t){return{width:(e[t+6]<<16|e[t+5]<<8|e[t+4])+1,height:(e[t+9]<<t|e[t+8]<<8|e[t+7])+1,type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}b4e.exports=function(e){if(!(e.length<16)&&!(!y4e(e,0,tEt)&&!y4e(e,8,rEt))){var t=12,r=null,n=0,i=$j(e,4)+8;if(!(i>e.length)){for(;t+8<i;){if(e[t]===0){t++;continue}var a=String.fromCharCode.apply(null,e.slice(t,t+4)),o=$j(e,t+4);a===\"VP8 \"&&o>=10?r=r||iEt(e,t+8):a===\"VP8L\"&&o>=9?r=r||nEt(e,t+8):a===\"VP8X\"&&o>=10?r=r||aEt(e,t+8):a===\"EXIF\"&&(n=eEt.get_orientation(e.slice(t+8,t+8+o)),t=1/0),t+=8+o}if(r)return n>0&&(r.orientation=n),r}}}});var A4e=ye((Xcr,T4e)=>{\"use strict\";T4e.exports={avif:VMe(),bmp:jMe(),gif:KMe(),ico:QMe(),jpeg:t4e(),png:o4e(),psd:u4e(),svg:h4e(),tiff:m4e(),webp:w4e()}});var S4e=ye((Ycr,eW)=>{\"use strict\";var Qj=A4e();function oEt(e){for(var t=Object.keys(Qj),r=0;r<t.length;r++){var n=Qj[t[r]](e);if(n)return n}return null}eW.exports=function(t){return oEt(t)};eW.exports.parsers=Qj});var E4e=ye(M4e=>{\"use strict\";var sEt=S4e(),lEt=Ly().IMAGE_URL_PREFIX,uEt=u2().Buffer;M4e.getImageSize=function(e){var t=e.replace(lEt,\"\"),r=new uEt(t,\"base64\");return sEt(r)}});var L4e=ye((Jcr,C4e)=>{\"use strict\";var k4e=Mr(),cEt=jT(),fEt=uo(),oD=Qa(),hEt=Mr().maxRowLength,dEt=E4e().getImageSize;C4e.exports=function(t,r){var n,i;if(r._hasZ)n=r.z.length,i=hEt(r.z);else if(r._hasSource){var a=dEt(r.source);n=a.height,i=a.width}var o=oD.getFromId(t,r.xaxis||\"x\"),s=oD.getFromId(t,r.yaxis||\"y\"),l=o.d2c(r.x0)-r.dx/2,u=s.d2c(r.y0)-r.dy/2,c,f=[l,l+i*r.dx],h=[u,u+n*r.dy];if(o&&o.type===\"log\")for(c=0;c<i;c++)f.push(l+c*r.dx);if(s&&s.type===\"log\")for(c=0;c<n;c++)h.push(u+c*r.dy);r._extremes[o._id]=oD.findExtremes(o,f),r._extremes[s._id]=oD.findExtremes(s,h),r._scaler=gEt(r);var d={x0:l,y0:u,z:r.z,w:i,h:n};return[d]};function vEt(e,t,r,n){return function(i){return k4e.constrain((i-e)*t,r,n)}}function pEt(e,t){return function(r){return k4e.constrain(r,e,t)}}function gEt(e){var t=cEt.colormodel[e.colormodel],r=t.colormodel||e.colormodel,n=r.length;e._sArray=[];for(var i=0;i<n;i++)t.min[i]!==e.zmin[i]||t.max[i]!==e.zmax[i]?e._sArray.push(vEt(e.zmin[i],(t.max[i]-t.min[i])/(e.zmax[i]-e.zmin[i]),t.min[i],t.max[i])):e._sArray.push(pEt(t.min[i],t.max[i]));return function(a){for(var o=a.slice(0,n),s=0;s<n;s++){var l=o[s];if(!fEt(l))return!1;o[s]=e._sArray[s](l)}return o}}});var R4e=ye(($cr,I4e)=>{\"use strict\";var mEt=xa(),T2=Mr(),P4e=T2.strTranslate,yEt=Zp(),_Et=jT(),xEt=jV(),bEt=o8().STYLE;I4e.exports=function(t,r,n,i){var a=r.xaxis,o=r.yaxis,s=!t._context._exportedPlot&&xEt();T2.makeTraceGroups(i,n,\"im\").each(function(l){var u=mEt.select(this),c=l[0],f=c.trace,h=(f.zsmooth===\"fast\"||f.zsmooth===!1&&s)&&!f._hasZ&&f._hasSource&&a.type===\"linear\"&&o.type===\"linear\";f._realImage=h;var d=c.z,v=c.x0,x=c.y0,b=c.w,p=c.h,E=f.dx,k=f.dy,A,L,_,C,M,g;for(g=0;A===void 0&&g<b;)A=a.c2p(v+g*E),g++;for(g=b;L===void 0&&g>0;)L=a.c2p(v+g*E),g--;for(g=0;C===void 0&&g<p;)C=o.c2p(x+g*k),g++;for(g=p;M===void 0&&g>0;)M=o.c2p(x+g*k),g--;if(L<A&&(_=L,L=A,A=_),M<C&&(_=C,C=M,M=_),!h){var P=.5;A=Math.max(-P*a._length,A),L=Math.min((1+P)*a._length,L),C=Math.max(-P*o._length,C),M=Math.min((1+P)*o._length,M)}var T=Math.round(L-A),F=Math.round(M-C),q=T<=0||F<=0;if(q){var V=u.selectAll(\"image\").data([]);V.exit().remove();return}function H(ge){var ie=document.createElement(\"canvas\");ie.width=T,ie.height=F;var Te=ie.getContext(\"2d\",{willReadFrequently:!0}),Ee=function(rt){return T2.constrain(Math.round(a.c2p(v+rt*E)-A),0,T)},Ae=function(rt){return T2.constrain(Math.round(o.c2p(x+rt*k)-C),0,F)},ze=_Et.colormodel[f.colormodel],Ce=ze.colormodel||f.colormodel,me=ze.fmt,Re;for(g=0;g<c.w;g++){var ce=Ee(g),Ge=Ee(g+1);if(!(Ge===ce||isNaN(Ge)||isNaN(ce)))for(var nt=0;nt<c.h;nt++){var ct=Ae(nt),qt=Ae(nt+1);qt===ct||isNaN(qt)||isNaN(ct)||!ge(g,nt)||(Re=f._scaler(ge(g,nt)),Re?Te.fillStyle=Ce+\"(\"+me(Re).join(\",\")+\")\":Te.fillStyle=\"rgba(0,0,0,0)\",Te.fillRect(ce,ct,Ge-ce,qt-ct))}}return ie}var X=u.selectAll(\"image\").data([l]);X.enter().append(\"svg:image\").attr({xmlns:yEt.svg,preserveAspectRatio:\"none\"}),X.exit().remove();var G=f.zsmooth===!1?bEt:\"\";if(h){var N=T2.simpleMap(a.range,a.r2l),W=T2.simpleMap(o.range,o.r2l),re=N[1]<N[0],ae=W[1]>W[0];if(re||ae){var _e=A+T/2,Me=C+F/2;G+=\"transform:\"+P4e(_e+\"px\",Me+\"px\")+\"scale(\"+(re?-1:1)+\",\"+(ae?-1:1)+\")\"+P4e(-_e+\"px\",-Me+\"px\")+\";\"}}X.attr(\"style\",G);var ke=new Promise(function(ge){if(f._hasZ)ge();else if(f._hasSource)if(f._canvas&&f._canvas.el.width===b&&f._canvas.el.height===p&&f._canvas.source===f.source)ge();else{var ie=document.createElement(\"canvas\");ie.width=b,ie.height=p;var Te=ie.getContext(\"2d\",{willReadFrequently:!0});f._image=f._image||new Image;var Ee=f._image;Ee.onload=function(){Te.drawImage(Ee,0,0),f._canvas={el:ie,source:f.source},ge()},Ee.setAttribute(\"src\",f.source)}}).then(function(){var ge,ie;if(f._hasZ)ie=H(function(Ae,ze){var Ce=d[ze][Ae];return T2.isTypedArray(Ce)&&(Ce=Array.from(Ce)),Ce}),ge=ie.toDataURL(\"image/png\");else if(f._hasSource)if(h)ge=f.source;else{var Te=f._canvas.el.getContext(\"2d\",{willReadFrequently:!0}),Ee=Te.getImageData(0,0,b,p).data;ie=H(function(Ae,ze){var Ce=4*(ze*b+Ae);return[Ee[Ce],Ee[Ce+1],Ee[Ce+2],Ee[Ce+3]]}),ge=ie.toDataURL(\"image/png\")}X.attr({\"xlink:href\":ge,height:F,width:T,x:A,y:C})});t._promises.push(ke)})}});var z4e=ye((Qcr,D4e)=>{\"use strict\";var wEt=xa();D4e.exports=function(t){wEt.select(t).selectAll(\".im image\").style(\"opacity\",function(r){return r[0].trace.opacity})}});var B4e=ye((efr,O4e)=>{\"use strict\";var F4e=Nc(),q4e=Mr(),sD=q4e.isArrayOrTypedArray,TEt=jT();O4e.exports=function(t,r,n){var i=t.cd[0],a=i.trace,o=t.xa,s=t.ya;if(!(F4e.inbox(r-i.x0,r-(i.x0+i.w*a.dx),0)>0||F4e.inbox(n-i.y0,n-(i.y0+i.h*a.dy),0)>0)){var l=Math.floor((r-i.x0)/a.dx),u=Math.floor(Math.abs(n-i.y0)/a.dy),c;if(a._hasZ?c=i.z[u][l]:a._hasSource&&(c=a._canvas.el.getContext(\"2d\",{willReadFrequently:!0}).getImageData(l,u,1,1).data),!!c){var f=i.hi||a.hoverinfo,h;if(f){var d=f.split(\"+\");d.indexOf(\"all\")!==-1&&(d=[\"color\"]),d.indexOf(\"color\")!==-1&&(h=!0)}var v=TEt.colormodel[a.colormodel],x=v.colormodel||a.colormodel,b=x.length,p=a._scaler(c),E=v.suffix,k=[];(a.hovertemplate||h)&&(k.push(\"[\"+[p[0]+E[0],p[1]+E[1],p[2]+E[2]].join(\", \")),b===4&&k.push(\", \"+p[3]+E[3]),k.push(\"]\"),k=k.join(\"\"),t.extraText=x.toUpperCase()+\": \"+k);var A;sD(a.hovertext)&&sD(a.hovertext[u])?A=a.hovertext[u][l]:sD(a.text)&&sD(a.text[u])&&(A=a.text[u][l]);var L=s.c2p(i.y0+(u+.5)*a.dy),_=i.x0+(l+.5)*a.dx,C=i.y0+(u+.5)*a.dy,M=\"[\"+c.slice(0,a.colormodel.length).join(\", \")+\"]\";return[q4e.extendFlat(t,{index:[u,l],x0:o.c2p(i.x0+l*a.dx),x1:o.c2p(i.x0+(l+1)*a.dx),y0:L,y1:L,color:p,xVal:_,xLabelVal:_,yVal:C,yLabelVal:C,zLabelVal:M,text:A,hovertemplateLabels:{zLabel:M,colorLabel:k,\"color[0]Label\":p[0]+E[0],\"color[1]Label\":p[1]+E[1],\"color[2]Label\":p[2]+E[2],\"color[3]Label\":p[3]+E[3]}})]}}}});var U4e=ye((tfr,N4e)=>{\"use strict\";N4e.exports=function(t,r){return\"xVal\"in r&&(t.x=r.xVal),\"yVal\"in r&&(t.y=r.yVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t.color=r.color,t.colormodel=r.trace.colormodel,t.z||(t.z=r.color),t}});var H4e=ye((rfr,V4e)=>{\"use strict\";V4e.exports={attributes:tG(),supplyDefaults:T3e(),calc:L4e(),plot:R4e(),style:z4e(),hoverPoints:B4e(),eventData:U4e(),moduleType:\"trace\",name:\"image\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"noSortingByValue\"],animatable:!1,meta:{}}});var j4e=ye((ifr,G4e)=>{\"use strict\";G4e.exports=H4e()});var A2=ye((nfr,W4e)=>{\"use strict\";var AEt=vl(),SEt=Ju().attributes,MEt=Su(),EEt=dh(),kEt=Wo().hovertemplateAttrs,CEt=Wo().texttemplateAttrs,bE=no().extendFlat,LEt=Ed().pattern,lD=MEt({editType:\"plot\",arrayOk:!0,colorEditType:\"plot\"});W4e.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:EEt.defaultLine,arrayOk:!0,editType:\"style\"},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"style\"},editType:\"calc\"},pattern:LEt,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:bE({},AEt.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:kEt({},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),texttemplate:CEt({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"plot\"},textfont:bE({},lD,{}),insidetextorientation:{valType:\"enumerated\",values:[\"horizontal\",\"radial\",\"tangential\",\"auto\"],dflt:\"auto\",editType:\"plot\"},insidetextfont:bE({},lD,{}),outsidetextfont:bE({},lD,{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"plot\"},font:bE({},lD,{}),position:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle center\",\"bottom left\",\"bottom center\",\"bottom right\"],editType:\"plot\"},editType:\"plot\"},domain:SEt({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\"}}});var S2=ye((afr,Y4e)=>{\"use strict\";var PEt=uo(),wE=Mr(),IEt=A2(),REt=Ju().defaults,DEt=r0().handleText,zEt=Mr().coercePattern;function Z4e(e,t){var r=wE.isArrayOrTypedArray(e),n=wE.isArrayOrTypedArray(t),i=Math.min(r?e.length:1/0,n?t.length:1/0);if(isFinite(i)||(i=0),i&&n){for(var a,o=0;o<i;o++){var s=t[o];if(PEt(s)&&s>0){a=!0;break}}a||(i=0)}return{hasLabels:r,hasValues:n,len:i}}function X4e(e,t,r,n,i){var a=n(\"marker.line.width\");a&&n(\"marker.line.color\",i?void 0:r.paper_bgcolor);var o=n(\"marker.colors\");zEt(n,\"marker.pattern\",o),e.marker&&!t.marker.pattern.fgcolor&&(t.marker.pattern.fgcolor=e.marker.colors),t.marker.pattern.bgcolor||(t.marker.pattern.bgcolor=r.paper_bgcolor)}function FEt(e,t,r,n){function i(E,k){return wE.coerce(e,t,IEt,E,k)}var a=i(\"labels\"),o=i(\"values\"),s=Z4e(a,o),l=s.len;if(t._hasLabels=s.hasLabels,t._hasValues=s.hasValues,!t._hasLabels&&t._hasValues&&(i(\"label0\"),i(\"dlabel\")),!l){t.visible=!1;return}t._length=l,X4e(e,t,n,i,!0),i(\"scalegroup\");var u=i(\"text\"),c=i(\"texttemplate\"),f;if(c||(f=i(\"textinfo\",wE.isArrayOrTypedArray(u)?\"text+percent\":\"percent\")),i(\"hovertext\"),i(\"hovertemplate\"),c||f&&f!==\"none\"){var h=i(\"textposition\");DEt(e,t,n,i,h,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1});var d=Array.isArray(h)||h===\"auto\",v=d||h===\"outside\";v&&i(\"automargin\"),(h===\"inside\"||h===\"auto\"||Array.isArray(h))&&i(\"insidetextorientation\")}else f===\"none\"&&i(\"textposition\",\"none\");REt(t,n,i);var x=i(\"hole\"),b=i(\"title.text\");if(b){var p=i(\"title.position\",x?\"middle center\":\"top center\");!x&&p===\"middle center\"&&(t.title.position=\"top center\"),wE.coerceFont(i,\"title.font\",n.font)}i(\"sort\"),i(\"direction\"),i(\"rotation\"),i(\"pull\")}Y4e.exports={handleLabelsAndValues:Z4e,handleMarkerDefaults:X4e,supplyDefaults:FEt}});var uD=ye((ofr,K4e)=>{\"use strict\";K4e.exports={hiddenlabels:{valType:\"data_array\",editType:\"calc\"},piecolorway:{valType:\"colorlist\",editType:\"calc\"},extendpiecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var $4e=ye((sfr,J4e)=>{\"use strict\";var qEt=Mr(),OEt=uD();J4e.exports=function(t,r){function n(i,a){return qEt.coerce(t,r,OEt,i,a)}n(\"hiddenlabels\"),n(\"piecolorway\",r.colorway),n(\"extendpiecolors\")}});var y5=ye((lfr,tEe)=>{\"use strict\";var BEt=uo(),tW=id(),NEt=va(),UEt={};function VEt(e,t){var r=[],n=e._fullLayout,i=n.hiddenlabels||[],a=t.labels,o=t.marker.colors||[],s=t.values,l=t._length,u=t._hasValues&&l,c,f;if(t.dlabel)for(a=new Array(l),c=0;c<l;c++)a[c]=String(t.label0+c*t.dlabel);var h={},d=Q4e(n[\"_\"+t.type+\"colormap\"]),v=0,x=!1;for(c=0;c<l;c++){var b,p,E;if(u){if(b=s[c],!BEt(b))continue;b=+b}else b=1;p=a[c],(p===void 0||p===\"\")&&(p=c),p=String(p);var k=h[p];k===void 0?(h[p]=r.length,E=i.indexOf(p)!==-1,E||(v+=b),r.push({v:b,label:p,color:d(o[c],p),i:c,pts:[c],hidden:E})):(x=!0,f=r[k],f.v+=b,f.pts.push(c),f.hidden||(v+=b),f.color===!1&&o[c]&&(f.color=d(o[c],p)))}r=r.filter(function(L){return L.v>=0});var A=t.type===\"funnelarea\"?x:t.sort;return A&&r.sort(function(L,_){return _.v-L.v}),r[0]&&(r[0].vTotal=v),r}function Q4e(e){return function(r,n){return!r||(r=tW(r),!r.isValid())?!1:(r=NEt.addOpacity(r,r.getAlpha()),e[n]||(e[n]=r),r)}}function HEt(e,t){var r=(t||{}).type;r||(r=\"pie\");var n=e._fullLayout,i=e.calcdata,a=n[r+\"colorway\"],o=n[\"_\"+r+\"colormap\"];n[\"extend\"+r+\"colors\"]&&(a=eEe(a,UEt));for(var s=0,l=0;l<i.length;l++){var u=i[l],c=u[0].trace.type;if(c===r)for(var f=0;f<u.length;f++){var h=u[f];h.color===!1&&(o[h.label]?h.color=o[h.label]:(o[h.label]=h.color=a[s%a.length],s++))}}}function eEe(e,t){var r,n=JSON.stringify(e),i=t[n];if(!i){for(i=e.slice(),r=0;r<e.length;r++)i.push(tW(e[r]).lighten(20).toHexString());for(r=0;r<e.length;r++)i.push(tW(e[r]).darken(20).toHexString());t[n]=i}return i}tEe.exports={calc:VEt,crossTraceCalc:HEt,makePullColorFn:Q4e,generateExtendedColors:eEe}});var iEe=ye((ufr,rEe)=>{\"use strict\";var GEt=rp().appendArrayMultiPointValues;rEe.exports=function(t,r){var n={curveNumber:r.index,pointNumbers:t.pts,data:r._input,fullData:r,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return t.pts.length===1&&(n.pointNumber=n.i=t.pts[0]),GEt(n,r,t.pts),r.type===\"funnelarea\"&&(delete n.v,delete n.i),n}});var dD=ye((cfr,AEe)=>{\"use strict\";var zp=xa(),jEt=Xu(),cD=Nc(),uEe=va(),Wy=ao(),ev=Mr(),WEt=ev.strScale,nEe=ev.strTranslate,rW=Pl(),cEe=_v(),ZEt=cEe.recordMinTextSize,XEt=cEe.clearMinTextSize,fEe=Qb().TEXTPAD,Zo=u_(),fD=iEe(),aEe=Mr().isValidTextValue;function YEt(e,t){var r=e._context.staticPlot,n=e._fullLayout,i=n._size;XEt(\"pie\",n),vEe(t,e),bEe(t,i);var a=ev.makeTraceGroups(n._pielayer,t,\"trace\").each(function(o){var s=zp.select(this),l=o[0],u=l.trace;nkt(o),s.attr(\"stroke-linejoin\",\"round\"),s.each(function(){var c=zp.select(this).selectAll(\"g.slice\").data(o);c.enter().append(\"g\").classed(\"slice\",!0),c.exit().remove();var f=[[[],[]],[[],[]]],h=!1;c.each(function(A,L){if(A.hidden){zp.select(this).selectAll(\"path,g\").remove();return}A.pointNumber=A.i,A.curveNumber=u.index,f[A.pxmid[1]<0?0:1][A.pxmid[0]<0?0:1].push(A);var _=l.cx,C=l.cy,M=zp.select(this),g=M.selectAll(\"path.surface\").data([A]);if(g.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":r?\"none\":\"all\"}),M.call(hEe,e,o),u.pull){var P=+Zo.castOption(u.pull,A.pts)||0;P>0&&(_+=P*A.pxmid[0],C+=P*A.pxmid[1])}A.cxFinal=_,A.cyFinal=C;function T(N,W,re,ae){var _e=ae*(W[0]-N[0]),Me=ae*(W[1]-N[1]);return\"a\"+ae*l.r+\",\"+ae*l.r+\" 0 \"+A.largeArc+(re?\" 1 \":\" 0 \")+_e+\",\"+Me}var F=u.hole;if(A.v===l.vTotal){var q=\"M\"+(_+A.px0[0])+\",\"+(C+A.px0[1])+T(A.px0,A.pxmid,!0,1)+T(A.pxmid,A.px0,!0,1)+\"Z\";F?g.attr(\"d\",\"M\"+(_+F*A.px0[0])+\",\"+(C+F*A.px0[1])+T(A.px0,A.pxmid,!1,F)+T(A.pxmid,A.px0,!1,F)+\"Z\"+q):g.attr(\"d\",q)}else{var V=T(A.px0,A.px1,!0,1);if(F){var H=1-F;g.attr(\"d\",\"M\"+(_+F*A.px1[0])+\",\"+(C+F*A.px1[1])+T(A.px1,A.px0,!1,F)+\"l\"+H*A.px0[0]+\",\"+H*A.px0[1]+V+\"Z\")}else g.attr(\"d\",\"M\"+_+\",\"+C+\"l\"+A.px0[0]+\",\"+A.px0[1]+V+\"Z\")}wEe(e,A,l);var X=Zo.castOption(u.textposition,A.pts),G=M.selectAll(\"g.slicetext\").data(A.text&&X!==\"none\"?[0]:[]);G.enter().append(\"g\").classed(\"slicetext\",!0),G.exit().remove(),G.each(function(){var N=ev.ensureSingle(zp.select(this),\"text\",\"\",function(ie){ie.attr(\"data-notex\",1)}),W=ev.ensureUniformFontSize(e,X===\"outside\"?JEt(u,A,n.font):dEe(u,A,n.font));N.text(A.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(Wy.font,W).call(rW.convertToTspans,e);var re=Wy.bBox(N.node()),ae;if(X===\"outside\")ae=lEe(re,A);else if(ae=pEe(re,A,l),X===\"auto\"&&ae.scale<1){var _e=ev.ensureUniformFontSize(e,u.outsidetextfont);N.call(Wy.font,_e),re=Wy.bBox(N.node()),ae=lEe(re,A)}var Me=ae.textPosAngle,ke=Me===void 0?A.pxmid:hD(l.r,Me);if(ae.targetX=_+ke[0]*ae.rCenter+(ae.x||0),ae.targetY=C+ke[1]*ae.rCenter+(ae.y||0),TEe(ae,re),ae.outside){var ge=ae.targetY;A.yLabelMin=ge-re.height/2,A.yLabelMid=ge,A.yLabelMax=ge+re.height/2,A.labelExtraX=0,A.labelExtraY=0,h=!0}ae.fontSize=W.size,ZEt(u.type,ae,n),o[L].transform=ae,ev.setTransormAndDisplay(N,ae)})});var d=zp.select(this).selectAll(\"g.titletext\").data(u.title.text?[0]:[]);if(d.enter().append(\"g\").classed(\"titletext\",!0),d.exit().remove(),d.each(function(){var A=ev.ensureSingle(zp.select(this),\"text\",\"\",function(C){C.attr(\"data-notex\",1)}),L=u.title.text;u._meta&&(L=ev.templateString(L,u._meta)),A.text(L).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(Wy.font,u.title.font).call(rW.convertToTspans,e);var _;u.title.position===\"middle center\"?_=ekt(l):_=_Ee(l,i),A.attr(\"transform\",nEe(_.x,_.y)+WEt(Math.min(1,_.scale))+nEe(_.tx,_.ty))}),h&&rkt(f,u),KEt(c,u),h&&u.automargin){var v=Wy.bBox(s.node()),x=u.domain,b=i.w*(x.x[1]-x.x[0]),p=i.h*(x.y[1]-x.y[0]),E=(.5*b-l.r)/i.w,k=(.5*p-l.r)/i.h;jEt.autoMargin(e,\"pie.\"+u.uid+\".automargin\",{xl:x.x[0]-E,xr:x.x[1]+E,yb:x.y[0]-k,yt:x.y[1]+k,l:Math.max(l.cx-l.r-v.left,0),r:Math.max(v.right-(l.cx+l.r),0),b:Math.max(v.bottom-(l.cy+l.r),0),t:Math.max(l.cy-l.r-v.top,0),pad:5})}})});setTimeout(function(){a.selectAll(\"tspan\").each(function(){var o=zp.select(this);o.attr(\"dy\")&&o.attr(\"dy\",o.attr(\"dy\"))})},0)}function KEt(e,t){e.each(function(r){var n=zp.select(this);if(!r.labelExtraX&&!r.labelExtraY){n.select(\"path.textline\").remove();return}var i=n.select(\"g.slicetext text\");r.transform.targetX+=r.labelExtraX,r.transform.targetY+=r.labelExtraY,ev.setTransormAndDisplay(i,r.transform);var a=r.cxFinal+r.pxmid[0],o=r.cyFinal+r.pxmid[1],s=\"M\"+a+\",\"+o,l=(r.yLabelMax-r.yLabelMin)*(r.pxmid[0]<0?-1:1)/4;if(r.labelExtraX){var u=r.labelExtraX*r.pxmid[1]/r.pxmid[0],c=r.yLabelMid+r.labelExtraY-(r.cyFinal+r.pxmid[1]);Math.abs(u)>Math.abs(c)?s+=\"l\"+c*r.pxmid[0]/r.pxmid[1]+\",\"+c+\"H\"+(a+r.labelExtraX+l):s+=\"l\"+r.labelExtraX+\",\"+u+\"v\"+(c-u)+\"h\"+l}else s+=\"V\"+(r.yLabelMid+r.labelExtraY)+\"h\"+l;ev.ensureSingle(n,\"path\",\"textline\").call(uEe.stroke,t.outsidetextfont.color).attr({\"stroke-width\":Math.min(2,t.outsidetextfont.size/8),d:s,fill:\"none\"})})}function hEe(e,t,r){var n=r[0],i=n.cx,a=n.cy,o=n.trace,s=o.type===\"funnelarea\";\"_hasHoverLabel\"in o||(o._hasHoverLabel=!1),\"_hasHoverEvent\"in o||(o._hasHoverEvent=!1),e.on(\"mouseover\",function(l){var u=t._fullLayout,c=t._fullData[o.index];if(!(t._dragging||u.hovermode===!1)){var f=c.hoverinfo;if(Array.isArray(f)&&(f=cD.castHoverinfo({hoverinfo:[Zo.castOption(f,l.pts)],_module:o._module},u,0)),f===\"all\"&&(f=\"label+text+value+percent+name\"),c.hovertemplate||f!==\"none\"&&f!==\"skip\"&&f){var h=l.rInscribed||0,d=i+l.pxmid[0]*(1-h),v=a+l.pxmid[1]*(1-h),x=u.separators,b=[];if(f&&f.indexOf(\"label\")!==-1&&b.push(l.label),l.text=Zo.castOption(c.hovertext||c.text,l.pts),f&&f.indexOf(\"text\")!==-1){var p=l.text;ev.isValidTextValue(p)&&b.push(p)}l.value=l.v,l.valueLabel=Zo.formatPieValue(l.v,x),f&&f.indexOf(\"value\")!==-1&&b.push(l.valueLabel),l.percent=l.v/n.vTotal,l.percentLabel=Zo.formatPiePercent(l.percent,x),f&&f.indexOf(\"percent\")!==-1&&b.push(l.percentLabel);var E=c.hoverlabel,k=E.font,A=[];cD.loneHover({trace:o,x0:d-h*n.r,x1:d+h*n.r,y:v,_x0:s?i+l.TL[0]:d-h*n.r,_x1:s?i+l.TR[0]:d+h*n.r,_y0:s?a+l.TL[1]:v-h*n.r,_y1:s?a+l.BL[1]:v+h*n.r,text:b.join(\"<br>\"),name:c.hovertemplate||f.indexOf(\"name\")!==-1?c.name:void 0,idealAlign:l.pxmid[0]<0?\"left\":\"right\",color:Zo.castOption(E.bgcolor,l.pts)||l.color,borderColor:Zo.castOption(E.bordercolor,l.pts),fontFamily:Zo.castOption(k.family,l.pts),fontSize:Zo.castOption(k.size,l.pts),fontColor:Zo.castOption(k.color,l.pts),nameLength:Zo.castOption(E.namelength,l.pts),textAlign:Zo.castOption(E.align,l.pts),hovertemplate:Zo.castOption(c.hovertemplate,l.pts),hovertemplateLabels:l,eventData:[fD(l,c)]},{container:u._hoverlayer.node(),outerContainer:u._paper.node(),gd:t,inOut_bbox:A}),l.bbox=A[0],o._hasHoverLabel=!0}o._hasHoverEvent=!0,t.emit(\"plotly_hover\",{points:[fD(l,c)],event:zp.event})}}),e.on(\"mouseout\",function(l){var u=t._fullLayout,c=t._fullData[o.index],f=zp.select(this).datum();o._hasHoverEvent&&(l.originalEvent=zp.event,t.emit(\"plotly_unhover\",{points:[fD(f,c)],event:zp.event}),o._hasHoverEvent=!1),o._hasHoverLabel&&(cD.loneUnhover(u._hoverlayer.node()),o._hasHoverLabel=!1)}),e.on(\"click\",function(l){var u=t._fullLayout,c=t._fullData[o.index];t._dragging||u.hovermode===!1||(t._hoverdata=[fD(l,c)],cD.click(t,zp.event))})}function JEt(e,t,r){var n=Zo.castOption(e.outsidetextfont.color,t.pts)||Zo.castOption(e.textfont.color,t.pts)||r.color,i=Zo.castOption(e.outsidetextfont.family,t.pts)||Zo.castOption(e.textfont.family,t.pts)||r.family,a=Zo.castOption(e.outsidetextfont.size,t.pts)||Zo.castOption(e.textfont.size,t.pts)||r.size,o=Zo.castOption(e.outsidetextfont.weight,t.pts)||Zo.castOption(e.textfont.weight,t.pts)||r.weight,s=Zo.castOption(e.outsidetextfont.style,t.pts)||Zo.castOption(e.textfont.style,t.pts)||r.style,l=Zo.castOption(e.outsidetextfont.variant,t.pts)||Zo.castOption(e.textfont.variant,t.pts)||r.variant,u=Zo.castOption(e.outsidetextfont.textcase,t.pts)||Zo.castOption(e.textfont.textcase,t.pts)||r.textcase,c=Zo.castOption(e.outsidetextfont.lineposition,t.pts)||Zo.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=Zo.castOption(e.outsidetextfont.shadow,t.pts)||Zo.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n,family:i,size:a,weight:o,style:s,variant:l,textcase:u,lineposition:c,shadow:f}}function dEe(e,t,r){var n=Zo.castOption(e.insidetextfont.color,t.pts);!n&&e._input.textfont&&(n=Zo.castOption(e._input.textfont.color,t.pts));var i=Zo.castOption(e.insidetextfont.family,t.pts)||Zo.castOption(e.textfont.family,t.pts)||r.family,a=Zo.castOption(e.insidetextfont.size,t.pts)||Zo.castOption(e.textfont.size,t.pts)||r.size,o=Zo.castOption(e.insidetextfont.weight,t.pts)||Zo.castOption(e.textfont.weight,t.pts)||r.weight,s=Zo.castOption(e.insidetextfont.style,t.pts)||Zo.castOption(e.textfont.style,t.pts)||r.style,l=Zo.castOption(e.insidetextfont.variant,t.pts)||Zo.castOption(e.textfont.variant,t.pts)||r.variant,u=Zo.castOption(e.insidetextfont.textcase,t.pts)||Zo.castOption(e.textfont.textcase,t.pts)||r.textcase,c=Zo.castOption(e.insidetextfont.lineposition,t.pts)||Zo.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=Zo.castOption(e.insidetextfont.shadow,t.pts)||Zo.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n||uEe.contrast(t.color),family:i,size:a,weight:o,style:s,variant:l,textcase:u,lineposition:c,shadow:f}}function vEe(e,t){for(var r,n,i=0;i<e.length;i++)if(r=e[i][0],n=r.trace,n.title.text){var a=n.title.text;n._meta&&(a=ev.templateString(a,n._meta));var o=Wy.tester.append(\"text\").attr(\"data-notex\",1).text(a).call(Wy.font,n.title.font).call(rW.convertToTspans,t),s=Wy.bBox(o.node(),!0);r.titleBox={width:s.width,height:s.height},o.remove()}}function pEe(e,t,r){var n=r.r||t.rpx1,i=t.rInscribed,a=t.startangle===t.stopangle;if(a)return{rCenter:1-i,scale:0,rotate:0,textPosAngle:0};var o=t.ring,s=o===1&&Math.abs(t.startangle-t.stopangle)===Math.PI*2,l=t.halfangle,u=t.midangle,c=r.trace.insidetextorientation,f=c===\"horizontal\",h=c===\"tangential\",d=c===\"radial\",v=c===\"auto\",x=[],b;if(!v){var p=function(M,g){if($Et(t,M)){var P=Math.abs(M-t.startangle),T=Math.abs(M-t.stopangle),F=P<T?P:T;g===\"tan\"?b=sEe(e,n,o,F,0):b=oEe(e,n,o,F,Math.PI/2),b.textPosAngle=M,x.push(b)}},E;if(f||h){for(E=4;E>=-4;E-=2)p(Math.PI*E,\"tan\");for(E=4;E>=-4;E-=2)p(Math.PI*(E+1),\"tan\")}if(f||d){for(E=4;E>=-4;E-=2)p(Math.PI*(E+1.5),\"rad\");for(E=4;E>=-4;E-=2)p(Math.PI*(E+.5),\"rad\")}}if(s||v||f){var k=Math.sqrt(e.width*e.width+e.height*e.height);if(b={scale:i*n*2/k,rCenter:1-i,rotate:0},b.textPosAngle=(t.startangle+t.stopangle)/2,b.scale>=1)return b;x.push(b)}(v||d)&&(b=oEe(e,n,o,l,u),b.textPosAngle=(t.startangle+t.stopangle)/2,x.push(b)),(v||h)&&(b=sEe(e,n,o,l,u),b.textPosAngle=(t.startangle+t.stopangle)/2,x.push(b));for(var A=0,L=0,_=0;_<x.length;_++){var C=x[_].scale;if(L<C&&(L=C,A=_),!v&&L>=1)break}return x[A]}function $Et(e,t){var r=e.startangle,n=e.stopangle;return r>t&&t>n||r<t&&t<n}function oEe(e,t,r,n,i){t=Math.max(0,t-2*fEe);var a=e.width/e.height,o=yEe(a,n,t,r);return{scale:o*2/e.height,rCenter:gEe(a,o/t),rotate:mEe(i)}}function sEe(e,t,r,n,i){t=Math.max(0,t-2*fEe);var a=e.height/e.width,o=yEe(a,n,t,r);return{scale:o*2/e.width,rCenter:gEe(a,o/t),rotate:mEe(i+Math.PI/2)}}function gEe(e,t){return Math.cos(t)-e*t}function mEe(e){return(180/Math.PI*e+720)%180-90}function yEe(e,t,r,n){var i=e+1/(2*Math.tan(t));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(e*e+n/2)+e))}function QEt(e,t){return e.v===t.vTotal&&!t.trace.hole?1:Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2)}function lEe(e,t){var r=t.pxmid[0],n=t.pxmid[1],i=e.width/2,a=e.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function ekt(e){var t=Math.sqrt(e.titleBox.width*e.titleBox.width+e.titleBox.height*e.titleBox.height);return{x:e.cx,y:e.cy,scale:e.trace.hole*e.r*2/t,tx:0,ty:-e.titleBox.height/2+e.trace.title.font.size}}function _Ee(e,t){var r=1,n=1,i,a=e.trace,o={x:e.cx,y:e.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=xEe(a),a.title.position.indexOf(\"top\")!==-1?(o.y-=(1+i)*e.r,s.ty-=e.titleBox.height):a.title.position.indexOf(\"bottom\")!==-1&&(o.y+=(1+i)*e.r);var l=tkt(e.r,e.trace.aspectratio),u=t.w*(a.domain.x[1]-a.domain.x[0])/2;return a.title.position.indexOf(\"left\")!==-1?(u=u+l,o.x-=(1+i)*l,s.tx+=e.titleBox.width/2):a.title.position.indexOf(\"center\")!==-1?u*=2:a.title.position.indexOf(\"right\")!==-1&&(u=u+l,o.x+=(1+i)*l,s.tx-=e.titleBox.width/2),r=u/e.titleBox.width,n=iW(e,t)/e.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function tkt(e,t){return e/(t===void 0?1:t)}function iW(e,t){var r=e.trace,n=t.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(e.titleBox.height,n/2)}function xEe(e){var t=e.pull;if(!t)return 0;var r;if(ev.isArrayOrTypedArray(t))for(t=0,r=0;r<e.pull.length;r++)e.pull[r]>t&&(t=e.pull[r]);return t}function rkt(e,t){var r,n,i,a,o,s,l,u,c,f,h,d,v;function x(k,A){return k.pxmid[1]-A.pxmid[1]}function b(k,A){return A.pxmid[1]-k.pxmid[1]}function p(k,A){A||(A={});var L=A.labelExtraY+(n?A.yLabelMax:A.yLabelMin),_=n?k.yLabelMin:k.yLabelMax,C=n?k.yLabelMax:k.yLabelMin,M=k.cyFinal+o(k.px0[1],k.px1[1]),g=L-_,P,T,F,q,V,H;if(g*l>0&&(k.labelExtraY=g),!!ev.isArrayOrTypedArray(t.pull))for(T=0;T<f.length;T++)F=f[T],!(F===k||(Zo.castOption(t.pull,k.pts)||0)>=(Zo.castOption(t.pull,F.pts)||0))&&((k.pxmid[1]-F.pxmid[1])*l>0?(q=F.cyFinal+o(F.px0[1],F.px1[1]),g=q-_-k.labelExtraY,g*l>0&&(k.labelExtraY+=g)):(C+k.labelExtraY-M)*l>0&&(P=3*s*Math.abs(T-f.indexOf(k)),V=F.cxFinal+a(F.px0[0],F.px1[0]),H=V+P-(k.cxFinal+k.pxmid[0])-k.labelExtraX,H*s>0&&(k.labelExtraX+=H)))}for(n=0;n<2;n++)for(i=n?x:b,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,u=e[n][r],u.sort(i),c=e[1-n][r],f=c.concat(u),d=[],h=0;h<u.length;h++)u[h].yLabelMid!==void 0&&d.push(u[h]);for(v=!1,h=0;n&&h<c.length;h++)if(c[h].yLabelMid!==void 0){v=c[h];break}for(h=0;h<d.length;h++){var E=h&&d[h-1];v&&!h&&(E=v),p(d[h],E)}}}function bEe(e,t){for(var r=[],n=0;n<e.length;n++){var i=e[n][0],a=i.trace,o=a.domain,s=t.w*(o.x[1]-o.x[0]),l=t.h*(o.y[1]-o.y[0]);a.title.text&&a.title.position!==\"middle center\"&&(l-=iW(i,t));var u=s/2,c=l/2;a.type===\"funnelarea\"&&!a.scalegroup&&(c/=a.aspectratio),i.r=Math.min(u,c)/(1+xEe(a)),i.cx=t.l+t.w*(a.domain.x[1]+a.domain.x[0])/2,i.cy=t.t+t.h*(1-a.domain.y[0])-l/2,a.title.text&&a.title.position.indexOf(\"bottom\")!==-1&&(i.cy-=iW(i,t)),a.scalegroup&&r.indexOf(a.scalegroup)===-1&&r.push(a.scalegroup)}ikt(e,r)}function ikt(e,t){for(var r,n,i,a=0;a<t.length;a++){var o=1/0,s=t[a];for(n=0;n<e.length;n++)if(r=e[n][0],i=r.trace,i.scalegroup===s){var l;if(i.type===\"pie\")l=r.r*r.r;else if(i.type===\"funnelarea\"){var u,c;i.aspectratio>1?(u=r.r,c=u/i.aspectratio):(c=r.r,u=c*i.aspectratio),u*=(1+i.baseratio)/2,l=u*c}o=Math.min(o,l/r.vTotal)}for(n=0;n<e.length;n++)if(r=e[n][0],i=r.trace,i.scalegroup===s){var f=o*r.vTotal;i.type===\"funnelarea\"&&(f/=(1+i.baseratio)/2,f/=i.aspectratio),r.r=Math.sqrt(f)}}}function nkt(e){var t=e[0],r=t.r,n=t.trace,i=Zo.getRotationAngle(n.rotation),a=2*Math.PI/t.vTotal,o=\"px0\",s=\"px1\",l,u,c;if(n.direction===\"counterclockwise\"){for(l=0;l<e.length&&e[l].hidden;l++);if(l===e.length)return;i+=a*e[l].v,a*=-1,o=\"px1\",s=\"px0\"}for(c=hD(r,i),l=0;l<e.length;l++)u=e[l],!u.hidden&&(u[o]=c,u.startangle=i,i+=a*u.v/2,u.pxmid=hD(r,i),u.midangle=i,i+=a*u.v/2,c=hD(r,i),u.stopangle=i,u[s]=c,u.largeArc=u.v>t.vTotal/2?1:0,u.halfangle=Math.PI*Math.min(u.v/t.vTotal,.5),u.ring=1-n.hole,u.rInscribed=QEt(u,t))}function hD(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}function wEe(e,t,r){var n=e._fullLayout,i=r.trace,a=i.texttemplate,o=i.textinfo;if(!a&&o&&o!==\"none\"){var s=o.split(\"+\"),l=function(A){return s.indexOf(A)!==-1},u=l(\"label\"),c=l(\"text\"),f=l(\"value\"),h=l(\"percent\"),d=n.separators,v;if(v=u?[t.label]:[],c){var x=Zo.getFirstFilled(i.text,t.pts);aEe(x)&&v.push(x)}f&&v.push(Zo.formatPieValue(t.v,d)),h&&v.push(Zo.formatPiePercent(t.v/r.vTotal,d)),t.text=v.join(\"<br>\")}function b(A){return{label:A.label,value:A.v,valueLabel:Zo.formatPieValue(A.v,n.separators),percent:A.v/r.vTotal,percentLabel:Zo.formatPiePercent(A.v/r.vTotal,n.separators),color:A.color,text:A.text,customdata:ev.castOption(i,A.i,\"customdata\")}}if(a){var p=ev.castOption(i,t.i,\"texttemplate\");if(!p)t.text=\"\";else{var E=b(t),k=Zo.getFirstFilled(i.text,t.pts);(aEe(k)||k===\"\")&&(E.text=k),t.text=ev.texttemplateString(p,E,e._fullLayout._d3locale,E,i._meta||{})}}}function TEe(e,t){var r=e.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(t.left+t.right)/2,o=(t.top+t.bottom)/2;e.textX=a*n-o*i,e.textY=a*i+o*n,e.noCenter=!0}AEe.exports={plot:YEt,formatSliceLabel:wEe,transformInsideText:pEe,determineInsideTextFont:dEe,positionTitleOutside:_Ee,prerenderTitles:vEe,layoutAreas:bEe,attachFxHandlers:hEe,computeTransform:TEe}});var EEe=ye((ffr,MEe)=>{\"use strict\";var SEe=xa(),akt=z3(),okt=_v().resizeText;MEe.exports=function(t){var r=t._fullLayout._pielayer.selectAll(\".trace\");okt(t,r,\"pie\"),r.each(function(n){var i=n[0],a=i.trace,o=SEe.select(this);o.style({opacity:a.opacity}),o.selectAll(\"path.surface\").each(function(s){SEe.select(this).call(akt,s,a,t)})})}});var CEe=ye(_5=>{\"use strict\";var kEe=Xu();_5.name=\"pie\";_5.plot=function(e,t,r,n){kEe.plotBasePlot(_5.name,e,t,r,n)};_5.clean=function(e,t,r,n){kEe.cleanBasePlot(_5.name,e,t,r,n)}});var PEe=ye((dfr,LEe)=>{\"use strict\";LEe.exports={attributes:A2(),supplyDefaults:S2().supplyDefaults,supplyLayoutDefaults:$4e(),layoutAttributes:uD(),calc:y5().calc,crossTraceCalc:y5().crossTraceCalc,plot:dD().plot,style:EEe(),styleOne:z3(),moduleType:\"trace\",name:\"pie\",basePlotModule:CEe(),categories:[\"pie-like\",\"pie\",\"showLegend\"],meta:{}}});var REe=ye((vfr,IEe)=>{\"use strict\";IEe.exports=PEe()});var zEe=ye(x5=>{\"use strict\";var DEe=Xu();x5.name=\"sunburst\";x5.plot=function(e,t,r,n){DEe.plotBasePlot(x5.name,e,t,r,n)};x5.clean=function(e,t,r,n){DEe.cleanBasePlot(x5.name,e,t,r,n)}});var nW=ye((gfr,FEe)=>{\"use strict\";FEe.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"linear\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"]}});var AE=ye((mfr,OEe)=>{\"use strict\";var skt=vl(),lkt=Wo().hovertemplateAttrs,ukt=Wo().texttemplateAttrs,ckt=Jl(),fkt=Ju().attributes,Zy=A2(),qEe=nW(),TE=no().extendFlat,hkt=Ed().pattern;OEe.exports={labels:{valType:\"data_array\",editType:\"calc\"},parents:{valType:\"data_array\",editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},branchvalues:{valType:\"enumerated\",values:[\"remainder\",\"total\"],dflt:\"remainder\",editType:\"calc\"},count:{valType:\"flaglist\",flags:[\"branches\",\"leaves\"],dflt:\"leaves\",editType:\"calc\"},level:{valType:\"any\",editType:\"plot\",anim:!0},maxdepth:{valType:\"integer\",editType:\"plot\",dflt:-1},marker:TE({colors:{valType:\"data_array\",editType:\"calc\"},line:{color:TE({},Zy.marker.line.color,{dflt:null}),width:TE({},Zy.marker.line.width,{dflt:1}),editType:\"calc\"},pattern:hkt,editType:\"calc\"},ckt(\"marker\",{colorAttr:\"colors\",anim:!1})),leaf:{opacity:{valType:\"number\",editType:\"style\",min:0,max:1},editType:\"plot\"},text:Zy.text,textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],extras:[\"none\"],editType:\"plot\"},texttemplate:ukt({editType:\"plot\"},{keys:qEe.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:Zy.hovertext,hoverinfo:TE({},skt.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"name\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],dflt:\"label+text+value+name\"}),hovertemplate:lkt({},{keys:qEe.eventDataKeys}),textfont:Zy.textfont,insidetextorientation:Zy.insidetextorientation,insidetextfont:Zy.insidetextfont,outsidetextfont:TE({},Zy.outsidetextfont,{}),rotation:{valType:\"angle\",dflt:0,editType:\"plot\"},sort:Zy.sort,root:{color:{valType:\"color\",editType:\"calc\",dflt:\"rgba(0,0,0,0)\"},editType:\"calc\"},domain:fkt({name:\"sunburst\",trace:!0,editType:\"calc\"})}});var aW=ye((yfr,BEe)=>{\"use strict\";BEe.exports={sunburstcolorway:{valType:\"colorlist\",editType:\"calc\"},extendsunburstcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var HEe=ye((_fr,VEe)=>{\"use strict\";var NEe=Mr(),dkt=AE(),vkt=Ju().defaults,pkt=r0().handleText,gkt=S2().handleMarkerDefaults,UEe=Mu(),mkt=UEe.hasColorscale,ykt=UEe.handleDefaults;VEe.exports=function(t,r,n,i){function a(h,d){return NEe.coerce(t,r,dkt,h,d)}var o=a(\"labels\"),s=a(\"parents\");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a(\"values\");l&&l.length?a(\"branchvalues\"):a(\"count\"),a(\"level\"),a(\"maxdepth\"),gkt(t,r,i,a);var u=r._hasColorscale=mkt(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;u&&ykt(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}),a(\"leaf.opacity\",u?1:.7);var c=a(\"text\");a(\"texttemplate\"),r.texttemplate||a(\"textinfo\",NEe.isArrayOrTypedArray(c)?\"text+label\":\"label\"),a(\"hovertext\"),a(\"hovertemplate\");var f=\"auto\";pkt(t,r,i,a,f,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a(\"insidetextorientation\"),a(\"sort\"),a(\"rotation\"),a(\"root.color\"),vkt(r,i,a),r._length=null}});var jEe=ye((xfr,GEe)=>{\"use strict\";var _kt=Mr(),xkt=aW();GEe.exports=function(t,r){function n(i,a){return _kt.coerce(t,r,xkt,i,a)}n(\"sunburstcolorway\",r.colorway),n(\"extendsunburstcolors\")}});var SE=ye((vD,WEe)=>{(function(e,t){typeof vD==\"object\"&&typeof WEe!=\"undefined\"?t(vD):(e=e||self,t(e.d3=e.d3||{}))})(vD,function(e){\"use strict\";function t(Ve,Xe){return Ve.parent===Xe.parent?1:2}function r(Ve){return Ve.reduce(n,0)/Ve.length}function n(Ve,Xe){return Ve+Xe.x}function i(Ve){return 1+Ve.reduce(a,0)}function a(Ve,Xe){return Math.max(Ve,Xe.y)}function o(Ve){for(var Xe;Xe=Ve.children;)Ve=Xe[0];return Ve}function s(Ve){for(var Xe;Xe=Ve.children;)Ve=Xe[Xe.length-1];return Ve}function l(){var Ve=t,Xe=1,ht=1,Le=!1;function xe(Se){var lt,Gt=0;Se.eachAfter(function(jr){var ri=jr.children;ri?(jr.x=r(ri),jr.y=i(ri)):(jr.x=lt?Gt+=Ve(jr,lt):0,jr.y=0,lt=jr)});var Vt=o(Se),ar=s(Se),Qr=Vt.x-Ve(Vt,ar)/2,ai=ar.x+Ve(ar,Vt)/2;return Se.eachAfter(Le?function(jr){jr.x=(jr.x-Se.x)*Xe,jr.y=(Se.y-jr.y)*ht}:function(jr){jr.x=(jr.x-Qr)/(ai-Qr)*Xe,jr.y=(1-(Se.y?jr.y/Se.y:1))*ht})}return xe.separation=function(Se){return arguments.length?(Ve=Se,xe):Ve},xe.size=function(Se){return arguments.length?(Le=!1,Xe=+Se[0],ht=+Se[1],xe):Le?null:[Xe,ht]},xe.nodeSize=function(Se){return arguments.length?(Le=!0,Xe=+Se[0],ht=+Se[1],xe):Le?[Xe,ht]:null},xe}function u(Ve){var Xe=0,ht=Ve.children,Le=ht&&ht.length;if(!Le)Xe=1;else for(;--Le>=0;)Xe+=ht[Le].value;Ve.value=Xe}function c(){return this.eachAfter(u)}function f(Ve){var Xe=this,ht,Le=[Xe],xe,Se,lt;do for(ht=Le.reverse(),Le=[];Xe=ht.pop();)if(Ve(Xe),xe=Xe.children,xe)for(Se=0,lt=xe.length;Se<lt;++Se)Le.push(xe[Se]);while(Le.length);return this}function h(Ve){for(var Xe=this,ht=[Xe],Le,xe;Xe=ht.pop();)if(Ve(Xe),Le=Xe.children,Le)for(xe=Le.length-1;xe>=0;--xe)ht.push(Le[xe]);return this}function d(Ve){for(var Xe=this,ht=[Xe],Le=[],xe,Se,lt;Xe=ht.pop();)if(Le.push(Xe),xe=Xe.children,xe)for(Se=0,lt=xe.length;Se<lt;++Se)ht.push(xe[Se]);for(;Xe=Le.pop();)Ve(Xe);return this}function v(Ve){return this.eachAfter(function(Xe){for(var ht=+Ve(Xe.data)||0,Le=Xe.children,xe=Le&&Le.length;--xe>=0;)ht+=Le[xe].value;Xe.value=ht})}function x(Ve){return this.eachBefore(function(Xe){Xe.children&&Xe.children.sort(Ve)})}function b(Ve){for(var Xe=this,ht=p(Xe,Ve),Le=[Xe];Xe!==ht;)Xe=Xe.parent,Le.push(Xe);for(var xe=Le.length;Ve!==ht;)Le.splice(xe,0,Ve),Ve=Ve.parent;return Le}function p(Ve,Xe){if(Ve===Xe)return Ve;var ht=Ve.ancestors(),Le=Xe.ancestors(),xe=null;for(Ve=ht.pop(),Xe=Le.pop();Ve===Xe;)xe=Ve,Ve=ht.pop(),Xe=Le.pop();return xe}function E(){for(var Ve=this,Xe=[Ve];Ve=Ve.parent;)Xe.push(Ve);return Xe}function k(){var Ve=[];return this.each(function(Xe){Ve.push(Xe)}),Ve}function A(){var Ve=[];return this.eachBefore(function(Xe){Xe.children||Ve.push(Xe)}),Ve}function L(){var Ve=this,Xe=[];return Ve.each(function(ht){ht!==Ve&&Xe.push({source:ht.parent,target:ht})}),Xe}function _(Ve,Xe){var ht=new T(Ve),Le=+Ve.value&&(ht.value=Ve.value),xe,Se=[ht],lt,Gt,Vt,ar;for(Xe==null&&(Xe=M);xe=Se.pop();)if(Le&&(xe.value=+xe.data.value),(Gt=Xe(xe.data))&&(ar=Gt.length))for(xe.children=new Array(ar),Vt=ar-1;Vt>=0;--Vt)Se.push(lt=xe.children[Vt]=new T(Gt[Vt])),lt.parent=xe,lt.depth=xe.depth+1;return ht.eachBefore(P)}function C(){return _(this).eachBefore(g)}function M(Ve){return Ve.children}function g(Ve){Ve.data=Ve.data.data}function P(Ve){var Xe=0;do Ve.height=Xe;while((Ve=Ve.parent)&&Ve.height<++Xe)}function T(Ve){this.data=Ve,this.depth=this.height=0,this.parent=null}T.prototype=_.prototype={constructor:T,count:c,each:f,eachAfter:d,eachBefore:h,sum:v,sort:x,path:b,ancestors:E,descendants:k,leaves:A,links:L,copy:C};var F=Array.prototype.slice;function q(Ve){for(var Xe=Ve.length,ht,Le;Xe;)Le=Math.random()*Xe--|0,ht=Ve[Xe],Ve[Xe]=Ve[Le],Ve[Le]=ht;return Ve}function V(Ve){for(var Xe=0,ht=(Ve=q(F.call(Ve))).length,Le=[],xe,Se;Xe<ht;)xe=Ve[Xe],Se&&G(Se,xe)?++Xe:(Se=W(Le=H(Le,xe)),Xe=0);return Se}function H(Ve,Xe){var ht,Le;if(N(Xe,Ve))return[Xe];for(ht=0;ht<Ve.length;++ht)if(X(Xe,Ve[ht])&&N(ae(Ve[ht],Xe),Ve))return[Ve[ht],Xe];for(ht=0;ht<Ve.length-1;++ht)for(Le=ht+1;Le<Ve.length;++Le)if(X(ae(Ve[ht],Ve[Le]),Xe)&&X(ae(Ve[ht],Xe),Ve[Le])&&X(ae(Ve[Le],Xe),Ve[ht])&&N(_e(Ve[ht],Ve[Le],Xe),Ve))return[Ve[ht],Ve[Le],Xe];throw new Error}function X(Ve,Xe){var ht=Ve.r-Xe.r,Le=Xe.x-Ve.x,xe=Xe.y-Ve.y;return ht<0||ht*ht<Le*Le+xe*xe}function G(Ve,Xe){var ht=Ve.r-Xe.r+1e-6,Le=Xe.x-Ve.x,xe=Xe.y-Ve.y;return ht>0&&ht*ht>Le*Le+xe*xe}function N(Ve,Xe){for(var ht=0;ht<Xe.length;++ht)if(!G(Ve,Xe[ht]))return!1;return!0}function W(Ve){switch(Ve.length){case 1:return re(Ve[0]);case 2:return ae(Ve[0],Ve[1]);case 3:return _e(Ve[0],Ve[1],Ve[2])}}function re(Ve){return{x:Ve.x,y:Ve.y,r:Ve.r}}function ae(Ve,Xe){var ht=Ve.x,Le=Ve.y,xe=Ve.r,Se=Xe.x,lt=Xe.y,Gt=Xe.r,Vt=Se-ht,ar=lt-Le,Qr=Gt-xe,ai=Math.sqrt(Vt*Vt+ar*ar);return{x:(ht+Se+Vt/ai*Qr)/2,y:(Le+lt+ar/ai*Qr)/2,r:(ai+xe+Gt)/2}}function _e(Ve,Xe,ht){var Le=Ve.x,xe=Ve.y,Se=Ve.r,lt=Xe.x,Gt=Xe.y,Vt=Xe.r,ar=ht.x,Qr=ht.y,ai=ht.r,jr=Le-lt,ri=Le-ar,bi=xe-Gt,nn=xe-Qr,Wi=Vt-Se,Ni=ai-Se,_n=Le*Le+xe*xe-Se*Se,$i=_n-lt*lt-Gt*Gt+Vt*Vt,zn=_n-ar*ar-Qr*Qr+ai*ai,Wn=ri*bi-jr*nn,It=(bi*zn-nn*$i)/(Wn*2)-Le,ft=(nn*Wi-bi*Ni)/Wn,jt=(ri*$i-jr*zn)/(Wn*2)-xe,Zt=(jr*Ni-ri*Wi)/Wn,yr=ft*ft+Zt*Zt-1,Fr=2*(Se+It*ft+jt*Zt),Zr=It*It+jt*jt-Se*Se,Vr=-(yr?(Fr+Math.sqrt(Fr*Fr-4*yr*Zr))/(2*yr):Zr/Fr);return{x:Le+It+ft*Vr,y:xe+jt+Zt*Vr,r:Vr}}function Me(Ve,Xe,ht){var Le=Ve.x-Xe.x,xe,Se,lt=Ve.y-Xe.y,Gt,Vt,ar=Le*Le+lt*lt;ar?(Se=Xe.r+ht.r,Se*=Se,Vt=Ve.r+ht.r,Vt*=Vt,Se>Vt?(xe=(ar+Vt-Se)/(2*ar),Gt=Math.sqrt(Math.max(0,Vt/ar-xe*xe)),ht.x=Ve.x-xe*Le-Gt*lt,ht.y=Ve.y-xe*lt+Gt*Le):(xe=(ar+Se-Vt)/(2*ar),Gt=Math.sqrt(Math.max(0,Se/ar-xe*xe)),ht.x=Xe.x+xe*Le-Gt*lt,ht.y=Xe.y+xe*lt+Gt*Le)):(ht.x=Xe.x+ht.r,ht.y=Xe.y)}function ke(Ve,Xe){var ht=Ve.r+Xe.r-1e-6,Le=Xe.x-Ve.x,xe=Xe.y-Ve.y;return ht>0&&ht*ht>Le*Le+xe*xe}function ge(Ve){var Xe=Ve._,ht=Ve.next._,Le=Xe.r+ht.r,xe=(Xe.x*ht.r+ht.x*Xe.r)/Le,Se=(Xe.y*ht.r+ht.y*Xe.r)/Le;return xe*xe+Se*Se}function ie(Ve){this._=Ve,this.next=null,this.previous=null}function Te(Ve){if(!(xe=Ve.length))return 0;var Xe,ht,Le,xe,Se,lt,Gt,Vt,ar,Qr,ai;if(Xe=Ve[0],Xe.x=0,Xe.y=0,!(xe>1))return Xe.r;if(ht=Ve[1],Xe.x=-ht.r,ht.x=Xe.r,ht.y=0,!(xe>2))return Xe.r+ht.r;Me(ht,Xe,Le=Ve[2]),Xe=new ie(Xe),ht=new ie(ht),Le=new ie(Le),Xe.next=Le.previous=ht,ht.next=Xe.previous=Le,Le.next=ht.previous=Xe;e:for(Gt=3;Gt<xe;++Gt){Me(Xe._,ht._,Le=Ve[Gt]),Le=new ie(Le),Vt=ht.next,ar=Xe.previous,Qr=ht._.r,ai=Xe._.r;do if(Qr<=ai){if(ke(Vt._,Le._)){ht=Vt,Xe.next=ht,ht.previous=Xe,--Gt;continue e}Qr+=Vt._.r,Vt=Vt.next}else{if(ke(ar._,Le._)){Xe=ar,Xe.next=ht,ht.previous=Xe,--Gt;continue e}ai+=ar._.r,ar=ar.previous}while(Vt!==ar.next);for(Le.previous=Xe,Le.next=ht,Xe.next=ht.previous=ht=Le,Se=ge(Xe);(Le=Le.next)!==ht;)(lt=ge(Le))<Se&&(Xe=Le,Se=lt);ht=Xe.next}for(Xe=[ht._],Le=ht;(Le=Le.next)!==ht;)Xe.push(Le._);for(Le=V(Xe),Gt=0;Gt<xe;++Gt)Xe=Ve[Gt],Xe.x-=Le.x,Xe.y-=Le.y;return Le.r}function Ee(Ve){return Te(Ve),Ve}function Ae(Ve){return Ve==null?null:ze(Ve)}function ze(Ve){if(typeof Ve!=\"function\")throw new Error;return Ve}function Ce(){return 0}function me(Ve){return function(){return Ve}}function Re(Ve){return Math.sqrt(Ve.value)}function ce(){var Ve=null,Xe=1,ht=1,Le=Ce;function xe(Se){return Se.x=Xe/2,Se.y=ht/2,Ve?Se.eachBefore(Ge(Ve)).eachAfter(nt(Le,.5)).eachBefore(ct(1)):Se.eachBefore(Ge(Re)).eachAfter(nt(Ce,1)).eachAfter(nt(Le,Se.r/Math.min(Xe,ht))).eachBefore(ct(Math.min(Xe,ht)/(2*Se.r))),Se}return xe.radius=function(Se){return arguments.length?(Ve=Ae(Se),xe):Ve},xe.size=function(Se){return arguments.length?(Xe=+Se[0],ht=+Se[1],xe):[Xe,ht]},xe.padding=function(Se){return arguments.length?(Le=typeof Se==\"function\"?Se:me(+Se),xe):Le},xe}function Ge(Ve){return function(Xe){Xe.children||(Xe.r=Math.max(0,+Ve(Xe)||0))}}function nt(Ve,Xe){return function(ht){if(Le=ht.children){var Le,xe,Se=Le.length,lt=Ve(ht)*Xe||0,Gt;if(lt)for(xe=0;xe<Se;++xe)Le[xe].r+=lt;if(Gt=Te(Le),lt)for(xe=0;xe<Se;++xe)Le[xe].r-=lt;ht.r=Gt+lt}}}function ct(Ve){return function(Xe){var ht=Xe.parent;Xe.r*=Ve,ht&&(Xe.x=ht.x+Ve*Xe.x,Xe.y=ht.y+Ve*Xe.y)}}function qt(Ve){Ve.x0=Math.round(Ve.x0),Ve.y0=Math.round(Ve.y0),Ve.x1=Math.round(Ve.x1),Ve.y1=Math.round(Ve.y1)}function rt(Ve,Xe,ht,Le,xe){for(var Se=Ve.children,lt,Gt=-1,Vt=Se.length,ar=Ve.value&&(Le-Xe)/Ve.value;++Gt<Vt;)lt=Se[Gt],lt.y0=ht,lt.y1=xe,lt.x0=Xe,lt.x1=Xe+=lt.value*ar}function ot(){var Ve=1,Xe=1,ht=0,Le=!1;function xe(lt){var Gt=lt.height+1;return lt.x0=lt.y0=ht,lt.x1=Ve,lt.y1=Xe/Gt,lt.eachBefore(Se(Xe,Gt)),Le&<.eachBefore(qt),lt}function Se(lt,Gt){return function(Vt){Vt.children&&rt(Vt,Vt.x0,lt*(Vt.depth+1)/Gt,Vt.x1,lt*(Vt.depth+2)/Gt);var ar=Vt.x0,Qr=Vt.y0,ai=Vt.x1-ht,jr=Vt.y1-ht;ai<ar&&(ar=ai=(ar+ai)/2),jr<Qr&&(Qr=jr=(Qr+jr)/2),Vt.x0=ar,Vt.y0=Qr,Vt.x1=ai,Vt.y1=jr}}return xe.round=function(lt){return arguments.length?(Le=!!lt,xe):Le},xe.size=function(lt){return arguments.length?(Ve=+lt[0],Xe=+lt[1],xe):[Ve,Xe]},xe.padding=function(lt){return arguments.length?(ht=+lt,xe):ht},xe}var Rt=\"$\",kt={depth:-1},Ct={};function Yt(Ve){return Ve.id}function xr(Ve){return Ve.parentId}function er(){var Ve=Yt,Xe=xr;function ht(Le){var xe,Se,lt=Le.length,Gt,Vt,ar,Qr=new Array(lt),ai,jr,ri={};for(Se=0;Se<lt;++Se)xe=Le[Se],ar=Qr[Se]=new T(xe),(ai=Ve(xe,Se,Le))!=null&&(ai+=\"\")&&(jr=Rt+(ar.id=ai),ri[jr]=jr in ri?Ct:ar);for(Se=0;Se<lt;++Se)if(ar=Qr[Se],ai=Xe(Le[Se],Se,Le),ai==null||!(ai+=\"\")){if(Gt)throw new Error(\"multiple roots\");Gt=ar}else{if(Vt=ri[Rt+ai],!Vt)throw new Error(\"missing: \"+ai);if(Vt===Ct)throw new Error(\"ambiguous: \"+ai);Vt.children?Vt.children.push(ar):Vt.children=[ar],ar.parent=Vt}if(!Gt)throw new Error(\"no root\");if(Gt.parent=kt,Gt.eachBefore(function(bi){bi.depth=bi.parent.depth+1,--lt}).eachBefore(P),Gt.parent=null,lt>0)throw new Error(\"cycle\");return Gt}return ht.id=function(Le){return arguments.length?(Ve=ze(Le),ht):Ve},ht.parentId=function(Le){return arguments.length?(Xe=ze(Le),ht):Xe},ht}function Ke(Ve,Xe){return Ve.parent===Xe.parent?1:2}function xt(Ve){var Xe=Ve.children;return Xe?Xe[0]:Ve.t}function bt(Ve){var Xe=Ve.children;return Xe?Xe[Xe.length-1]:Ve.t}function Lt(Ve,Xe,ht){var Le=ht/(Xe.i-Ve.i);Xe.c-=Le,Xe.s+=ht,Ve.c+=Le,Xe.z+=ht,Xe.m+=ht}function St(Ve){for(var Xe=0,ht=0,Le=Ve.children,xe=Le.length,Se;--xe>=0;)Se=Le[xe],Se.z+=Xe,Se.m+=Xe,Xe+=Se.s+(ht+=Se.c)}function Et(Ve,Xe,ht){return Ve.a.parent===Xe.parent?Ve.a:ht}function dt(Ve,Xe){this._=Ve,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=Xe}dt.prototype=Object.create(T.prototype);function Ht(Ve){for(var Xe=new dt(Ve,0),ht,Le=[Xe],xe,Se,lt,Gt;ht=Le.pop();)if(Se=ht._.children)for(ht.children=new Array(Gt=Se.length),lt=Gt-1;lt>=0;--lt)Le.push(xe=ht.children[lt]=new dt(Se[lt],lt)),xe.parent=ht;return(Xe.parent=new dt(null,0)).children=[Xe],Xe}function $t(){var Ve=Ke,Xe=1,ht=1,Le=null;function xe(ar){var Qr=Ht(ar);if(Qr.eachAfter(Se),Qr.parent.m=-Qr.z,Qr.eachBefore(lt),Le)ar.eachBefore(Vt);else{var ai=ar,jr=ar,ri=ar;ar.eachBefore(function(_n){_n.x<ai.x&&(ai=_n),_n.x>jr.x&&(jr=_n),_n.depth>ri.depth&&(ri=_n)});var bi=ai===jr?1:Ve(ai,jr)/2,nn=bi-ai.x,Wi=Xe/(jr.x+bi+nn),Ni=ht/(ri.depth||1);ar.eachBefore(function(_n){_n.x=(_n.x+nn)*Wi,_n.y=_n.depth*Ni})}return ar}function Se(ar){var Qr=ar.children,ai=ar.parent.children,jr=ar.i?ai[ar.i-1]:null;if(Qr){St(ar);var ri=(Qr[0].z+Qr[Qr.length-1].z)/2;jr?(ar.z=jr.z+Ve(ar._,jr._),ar.m=ar.z-ri):ar.z=ri}else jr&&(ar.z=jr.z+Ve(ar._,jr._));ar.parent.A=Gt(ar,jr,ar.parent.A||ai[0])}function lt(ar){ar._.x=ar.z+ar.parent.m,ar.m+=ar.parent.m}function Gt(ar,Qr,ai){if(Qr){for(var jr=ar,ri=ar,bi=Qr,nn=jr.parent.children[0],Wi=jr.m,Ni=ri.m,_n=bi.m,$i=nn.m,zn;bi=bt(bi),jr=xt(jr),bi&&jr;)nn=xt(nn),ri=bt(ri),ri.a=ar,zn=bi.z+_n-jr.z-Wi+Ve(bi._,jr._),zn>0&&(Lt(Et(bi,ar,ai),ar,zn),Wi+=zn,Ni+=zn),_n+=bi.m,Wi+=jr.m,$i+=nn.m,Ni+=ri.m;bi&&!bt(ri)&&(ri.t=bi,ri.m+=_n-Ni),jr&&!xt(nn)&&(nn.t=jr,nn.m+=Wi-$i,ai=ar)}return ai}function Vt(ar){ar.x*=Xe,ar.y=ar.depth*ht}return xe.separation=function(ar){return arguments.length?(Ve=ar,xe):Ve},xe.size=function(ar){return arguments.length?(Le=!1,Xe=+ar[0],ht=+ar[1],xe):Le?null:[Xe,ht]},xe.nodeSize=function(ar){return arguments.length?(Le=!0,Xe=+ar[0],ht=+ar[1],xe):Le?[Xe,ht]:null},xe}function fr(Ve,Xe,ht,Le,xe){for(var Se=Ve.children,lt,Gt=-1,Vt=Se.length,ar=Ve.value&&(xe-ht)/Ve.value;++Gt<Vt;)lt=Se[Gt],lt.x0=Xe,lt.x1=Le,lt.y0=ht,lt.y1=ht+=lt.value*ar}var _r=(1+Math.sqrt(5))/2;function Br(Ve,Xe,ht,Le,xe,Se){for(var lt=[],Gt=Xe.children,Vt,ar,Qr=0,ai=0,jr=Gt.length,ri,bi,nn=Xe.value,Wi,Ni,_n,$i,zn,Wn,It;Qr<jr;){ri=xe-ht,bi=Se-Le;do Wi=Gt[ai++].value;while(!Wi&&ai<jr);for(Ni=_n=Wi,Wn=Math.max(bi/ri,ri/bi)/(nn*Ve),It=Wi*Wi*Wn,zn=Math.max(_n/It,It/Ni);ai<jr;++ai){if(Wi+=ar=Gt[ai].value,ar<Ni&&(Ni=ar),ar>_n&&(_n=ar),It=Wi*Wi*Wn,$i=Math.max(_n/It,It/Ni),$i>zn){Wi-=ar;break}zn=$i}lt.push(Vt={value:Wi,dice:ri<bi,children:Gt.slice(Qr,ai)}),Vt.dice?rt(Vt,ht,Le,xe,nn?Le+=bi*Wi/nn:Se):fr(Vt,ht,Le,nn?ht+=ri*Wi/nn:xe,Se),nn-=Wi,Qr=ai}return lt}var Or=function Ve(Xe){function ht(Le,xe,Se,lt,Gt){Br(Xe,Le,xe,Se,lt,Gt)}return ht.ratio=function(Le){return Ve((Le=+Le)>1?Le:1)},ht}(_r);function Nr(){var Ve=Or,Xe=!1,ht=1,Le=1,xe=[0],Se=Ce,lt=Ce,Gt=Ce,Vt=Ce,ar=Ce;function Qr(jr){return jr.x0=jr.y0=0,jr.x1=ht,jr.y1=Le,jr.eachBefore(ai),xe=[0],Xe&&jr.eachBefore(qt),jr}function ai(jr){var ri=xe[jr.depth],bi=jr.x0+ri,nn=jr.y0+ri,Wi=jr.x1-ri,Ni=jr.y1-ri;Wi<bi&&(bi=Wi=(bi+Wi)/2),Ni<nn&&(nn=Ni=(nn+Ni)/2),jr.x0=bi,jr.y0=nn,jr.x1=Wi,jr.y1=Ni,jr.children&&(ri=xe[jr.depth+1]=Se(jr)/2,bi+=ar(jr)-ri,nn+=lt(jr)-ri,Wi-=Gt(jr)-ri,Ni-=Vt(jr)-ri,Wi<bi&&(bi=Wi=(bi+Wi)/2),Ni<nn&&(nn=Ni=(nn+Ni)/2),Ve(jr,bi,nn,Wi,Ni))}return Qr.round=function(jr){return arguments.length?(Xe=!!jr,Qr):Xe},Qr.size=function(jr){return arguments.length?(ht=+jr[0],Le=+jr[1],Qr):[ht,Le]},Qr.tile=function(jr){return arguments.length?(Ve=ze(jr),Qr):Ve},Qr.padding=function(jr){return arguments.length?Qr.paddingInner(jr).paddingOuter(jr):Qr.paddingInner()},Qr.paddingInner=function(jr){return arguments.length?(Se=typeof jr==\"function\"?jr:me(+jr),Qr):Se},Qr.paddingOuter=function(jr){return arguments.length?Qr.paddingTop(jr).paddingRight(jr).paddingBottom(jr).paddingLeft(jr):Qr.paddingTop()},Qr.paddingTop=function(jr){return arguments.length?(lt=typeof jr==\"function\"?jr:me(+jr),Qr):lt},Qr.paddingRight=function(jr){return arguments.length?(Gt=typeof jr==\"function\"?jr:me(+jr),Qr):Gt},Qr.paddingBottom=function(jr){return arguments.length?(Vt=typeof jr==\"function\"?jr:me(+jr),Qr):Vt},Qr.paddingLeft=function(jr){return arguments.length?(ar=typeof jr==\"function\"?jr:me(+jr),Qr):ar},Qr}function ut(Ve,Xe,ht,Le,xe){var Se=Ve.children,lt,Gt=Se.length,Vt,ar=new Array(Gt+1);for(ar[0]=Vt=lt=0;lt<Gt;++lt)ar[lt+1]=Vt+=Se[lt].value;Qr(0,Gt,Ve.value,Xe,ht,Le,xe);function Qr(ai,jr,ri,bi,nn,Wi,Ni){if(ai>=jr-1){var _n=Se[ai];_n.x0=bi,_n.y0=nn,_n.x1=Wi,_n.y1=Ni;return}for(var $i=ar[ai],zn=ri/2+$i,Wn=ai+1,It=jr-1;Wn<It;){var ft=Wn+It>>>1;ar[ft]<zn?Wn=ft+1:It=ft}zn-ar[Wn-1]<ar[Wn]-zn&&ai+1<Wn&&--Wn;var jt=ar[Wn]-$i,Zt=ri-jt;if(Wi-bi>Ni-nn){var yr=(bi*Zt+Wi*jt)/ri;Qr(ai,Wn,jt,bi,nn,yr,Ni),Qr(Wn,jr,Zt,yr,nn,Wi,Ni)}else{var Fr=(nn*Zt+Ni*jt)/ri;Qr(ai,Wn,jt,bi,nn,Wi,Fr),Qr(Wn,jr,Zt,bi,Fr,Wi,Ni)}}}function Ne(Ve,Xe,ht,Le,xe){(Ve.depth&1?fr:rt)(Ve,Xe,ht,Le,xe)}var Ye=function Ve(Xe){function ht(Le,xe,Se,lt,Gt){if((Vt=Le._squarify)&&Vt.ratio===Xe)for(var Vt,ar,Qr,ai,jr=-1,ri,bi=Vt.length,nn=Le.value;++jr<bi;){for(ar=Vt[jr],Qr=ar.children,ai=ar.value=0,ri=Qr.length;ai<ri;++ai)ar.value+=Qr[ai].value;ar.dice?rt(ar,xe,Se,lt,Se+=(Gt-Se)*ar.value/nn):fr(ar,xe,Se,xe+=(lt-xe)*ar.value/nn,Gt),nn-=ar.value}else Le._squarify=Vt=Br(Xe,Le,xe,Se,lt,Gt),Vt.ratio=Xe}return ht.ratio=function(Le){return Ve((Le=+Le)>1?Le:1)},ht}(_r);e.cluster=l,e.hierarchy=_,e.pack=ce,e.packEnclose=V,e.packSiblings=Ee,e.partition=ot,e.stratify=er,e.tree=$t,e.treemap=Nr,e.treemapBinary=ut,e.treemapDice=rt,e.treemapResquarify=Ye,e.treemapSlice=fr,e.treemapSliceDice=Ne,e.treemapSquarify=Or,Object.defineProperty(e,\"__esModule\",{value:!0})})});var EE=ye(ME=>{\"use strict\";var ZEe=SE(),bkt=uo(),b5=Mr(),wkt=Mu().makeColorScaleFuncFromTrace,Tkt=y5().makePullColorFn,Akt=y5().generateExtendedColors,Skt=Mu().calc,Mkt=es().ALMOST_EQUAL,Ekt={},kkt={},Ckt={};ME.calc=function(e,t){var r=e._fullLayout,n=t.ids,i=b5.isArrayOrTypedArray(n),a=t.labels,o=t.parents,s=t.values,l=b5.isArrayOrTypedArray(s),u=[],c={},f={},h=function(G,N){c[G]?c[G].push(N):c[G]=[N],f[N]=1},d=function(G){return G||typeof G==\"number\"},v=function(G){return!l||bkt(s[G])&&s[G]>=0},x,b,p;i?(x=Math.min(n.length,o.length),b=function(G){return d(n[G])&&v(G)},p=function(G){return String(n[G])}):(x=Math.min(a.length,o.length),b=function(G){return d(a[G])&&v(G)},p=function(G){return String(a[G])}),l&&(x=Math.min(x,s.length));for(var E=0;E<x;E++)if(b(E)){var k=p(E),A=d(o[E])?String(o[E]):\"\",L={i:E,id:k,pid:A,label:d(a[E])?String(a[E]):\"\"};l&&(L.v=+s[E]),u.push(L),h(A,k)}if(c[\"\"]){if(c[\"\"].length>1){for(var M=b5.randstr(),g=0;g<u.length;g++)u[g].pid===\"\"&&(u[g].pid=M);u.unshift({hasMultipleRoots:!0,id:M,pid:\"\",label:\"\"})}}else{var _=[],C;for(C in c)f[C]||_.push(C);if(_.length===1)C=_[0],u.unshift({hasImpliedRoot:!0,id:C,pid:\"\",label:C});else return b5.warn([\"Multiple implied roots, cannot build\",t.type,\"hierarchy of\",t.name+\".\",\"These roots include:\",_.join(\", \")].join(\" \"))}var P;try{P=ZEe.stratify().id(function(G){return G.id}).parentId(function(G){return G.pid})(u)}catch(G){return b5.warn([\"Failed to build\",t.type,\"hierarchy of\",t.name+\".\",\"Error:\",G.message].join(\" \"))}var T=ZEe.hierarchy(P),F=!1;if(l)switch(t.branchvalues){case\"remainder\":T.sum(function(G){return G.data.v});break;case\"total\":T.each(function(G){var N=G.data.data,W=N.v;if(G.children){var re=G.children.reduce(function(ae,_e){return ae+_e.data.data.v},0);if((N.hasImpliedRoot||N.hasMultipleRoots)&&(W=re),W<re*Mkt)return F=!0,b5.warn([\"Total value for node\",G.data.data.id,\"of\",t.name,\"is smaller than the sum of its children.\",`\n", - "parent value =`,W,`\n", - "children sum =`,re].join(\" \"))}G.value=W});break}else XEe(T,t,{branches:t.count.indexOf(\"branches\")!==-1,leaves:t.count.indexOf(\"leaves\")!==-1});if(!F){t.sort&&T.sort(function(G,N){return N.value-G.value});var q,V,H=t.marker.colors||[],X=!!H.length;return t._hasColorscale?(X||(H=l?t.values:t._values),Skt(e,t,{vals:H,containerStr:\"marker\",cLetter:\"c\"}),V=wkt(t.marker)):q=Tkt(r[\"_\"+t.type+\"colormap\"]),T.each(function(G){var N=G.data.data;N.color=t._hasColorscale?V(H[N.i]):q(H[N.i],N.id)}),u[0].hierarchy=T,u}};ME._runCrossTraceCalc=function(e,t){var r=t._fullLayout,n=t.calcdata,i=r[e+\"colorway\"],a=r[\"_\"+e+\"colormap\"];r[\"extend\"+e+\"colors\"]&&(i=Akt(i,e===\"icicle\"?Ckt:e===\"treemap\"?kkt:Ekt));var o=0,s;function l(h){var d=h.data.data,v=d.id;d.color===!1&&(a[v]?d.color=a[v]:h.parent?h.parent.parent?d.color=h.parent.data.data.color:(a[v]=d.color=i[o%i.length],o++):d.color=s)}for(var u=0;u<n.length;u++){var c=n[u],f=c[0];f.trace.type===e&&f.hierarchy&&(s=f.trace.root.color,f.hierarchy.each(l))}};ME.crossTraceCalc=function(e){return ME._runCrossTraceCalc(\"sunburst\",e)};function XEe(e,t,r){var n=0,i=e.children;if(i){for(var a=i.length,o=0;o<a;o++)n+=XEe(i[o],t,r);r.branches&&n++}else r.leaves&&n++;return e.value=e.data.data.value=n,t._values||(t._values=[]),t._values[e.data.data.i]=n,n}});function Xy(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function G_(e,t){var r=Object.create(e.prototype);for(var n in t)r[n]=t[n];return r}var pD=Ll(()=>{});function Vm(){}function KEe(){return this.rgb().formatHex()}function qkt(){return this.rgb().formatHex8()}function Okt(){return ike(this).formatHsl()}function JEe(){return this.rgb().formatRgb()}function W_(e){var t,r;return e=(e+\"\").trim().toLowerCase(),(t=Lkt.exec(e))?(r=t[1].length,t=parseInt(t[1],16),r===6?$Ee(t):r===3?new hd(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?gD(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?gD(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Pkt.exec(e))?new hd(t[1],t[2],t[3],1):(t=Ikt.exec(e))?new hd(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Rkt.exec(e))?gD(t[1],t[2],t[3],t[4]):(t=Dkt.exec(e))?gD(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=zkt.exec(e))?tke(t[1],t[2]/100,t[3]/100,1):(t=Fkt.exec(e))?tke(t[1],t[2]/100,t[3]/100,t[4]):YEe.hasOwnProperty(e)?$Ee(YEe[e]):e===\"transparent\"?new hd(NaN,NaN,NaN,0):null}function $Ee(e){return new hd(e>>16&255,e>>8&255,e&255,1)}function gD(e,t,r,n){return n<=0&&(e=t=r=NaN),new hd(e,t,r,n)}function CE(e){return e instanceof Vm||(e=W_(e)),e?(e=e.rgb(),new hd(e.r,e.g,e.b,e.opacity)):new hd}function T5(e,t,r,n){return arguments.length===1?CE(e):new hd(e,t,r,n==null?1:n)}function hd(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}function QEe(){return`#${M2(this.r)}${M2(this.g)}${M2(this.b)}`}function Bkt(){return`#${M2(this.r)}${M2(this.g)}${M2(this.b)}${M2((isNaN(this.opacity)?1:this.opacity)*255)}`}function eke(){let e=yD(this.opacity);return`${e===1?\"rgb(\":\"rgba(\"}${E2(this.r)}, ${E2(this.g)}, ${E2(this.b)}${e===1?\")\":`, ${e})`}`}function yD(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function E2(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function M2(e){return e=E2(e),(e<16?\"0\":\"\")+e.toString(16)}function tke(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Zg(e,t,r,n)}function ike(e){if(e instanceof Zg)return new Zg(e.h,e.s,e.l,e.opacity);if(e instanceof Vm||(e=W_(e)),!e)return new Zg;if(e instanceof Zg)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=NaN,s=a-i,l=(a+i)/2;return s?(t===a?o=(r-n)/s+(r<n)*6:r===a?o=(n-t)/s+2:o=(t-r)/s+4,s/=l<.5?a+i:2-a-i,o*=60):s=l>0&&l<1?0:o,new Zg(o,s,l,e.opacity)}function LE(e,t,r,n){return arguments.length===1?ike(e):new Zg(e,t,r,n==null?1:n)}function Zg(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}function rke(e){return e=(e||0)%360,e<0?e+360:e}function mD(e){return Math.max(0,Math.min(1,e||0))}function oW(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}var j_,k2,w5,kE,Um,Lkt,Pkt,Ikt,Rkt,Dkt,zkt,Fkt,YEe,_D=Ll(()=>{pD();j_=.7,k2=1/j_,w5=\"\\\\s*([+-]?\\\\d+)\\\\s*\",kE=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",Um=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",Lkt=/^#([0-9a-f]{3,8})$/,Pkt=new RegExp(`^rgb\\\\(${w5},${w5},${w5}\\\\)$`),Ikt=new RegExp(`^rgb\\\\(${Um},${Um},${Um}\\\\)$`),Rkt=new RegExp(`^rgba\\\\(${w5},${w5},${w5},${kE}\\\\)$`),Dkt=new RegExp(`^rgba\\\\(${Um},${Um},${Um},${kE}\\\\)$`),zkt=new RegExp(`^hsl\\\\(${kE},${Um},${Um}\\\\)$`),Fkt=new RegExp(`^hsla\\\\(${kE},${Um},${Um},${kE}\\\\)$`),YEe={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};Xy(Vm,W_,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:KEe,formatHex:KEe,formatHex8:qkt,formatHsl:Okt,formatRgb:JEe,toString:JEe});Xy(hd,T5,G_(Vm,{brighter(e){return e=e==null?k2:Math.pow(k2,e),new hd(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?j_:Math.pow(j_,e),new hd(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new hd(E2(this.r),E2(this.g),E2(this.b),yD(this.opacity))},displayable(){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:QEe,formatHex:QEe,formatHex8:Bkt,formatRgb:eke,toString:eke}));Xy(Zg,LE,G_(Vm,{brighter(e){return e=e==null?k2:Math.pow(k2,e),new Zg(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?j_:Math.pow(j_,e),new Zg(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new hd(oW(e>=240?e-240:e+120,i,n),oW(e,i,n),oW(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new Zg(rke(this.h),mD(this.s),mD(this.l),yD(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=yD(this.opacity);return`${e===1?\"hsl(\":\"hsla(\"}${rke(this.h)}, ${mD(this.s)*100}%, ${mD(this.l)*100}%${e===1?\")\":`, ${e})`}`}}))});var xD,bD,sW=Ll(()=>{xD=Math.PI/180,bD=180/Math.PI});function uke(e){if(e instanceof Hm)return new Hm(e.l,e.a,e.b,e.opacity);if(e instanceof Yy)return cke(e);e instanceof hd||(e=CE(e));var t=fW(e.r),r=fW(e.g),n=fW(e.b),i=lW((.2225045*t+.7168786*r+.0606169*n)/ake),a,o;return t===r&&r===n?a=o=i:(a=lW((.4360747*t+.3850649*r+.1430804*n)/nke),o=lW((.0139322*t+.0971045*r+.7141733*n)/oke)),new Hm(116*i-16,500*(a-i),200*(i-o),e.opacity)}function S5(e,t,r,n){return arguments.length===1?uke(e):new Hm(e,t,r,n==null?1:n)}function Hm(e,t,r,n){this.l=+e,this.a=+t,this.b=+r,this.opacity=+n}function lW(e){return e>Nkt?Math.pow(e,1/3):e/lke+ske}function uW(e){return e>A5?e*e*e:lke*(e-ske)}function cW(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function fW(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Ukt(e){if(e instanceof Yy)return new Yy(e.h,e.c,e.l,e.opacity);if(e instanceof Hm||(e=uke(e)),e.a===0&&e.b===0)return new Yy(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*bD;return new Yy(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function PE(e,t,r,n){return arguments.length===1?Ukt(e):new Yy(e,t,r,n==null?1:n)}function Yy(e,t,r,n){this.h=+e,this.c=+t,this.l=+r,this.opacity=+n}function cke(e){if(isNaN(e.h))return new Hm(e.l,0,0,e.opacity);var t=e.h*xD;return new Hm(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}var wD,nke,ake,oke,ske,A5,lke,Nkt,fke=Ll(()=>{pD();_D();sW();wD=18,nke=.96422,ake=1,oke=.82521,ske=4/29,A5=6/29,lke=3*A5*A5,Nkt=A5*A5*A5;Xy(Hm,S5,G_(Vm,{brighter(e){return new Hm(this.l+wD*(e==null?1:e),this.a,this.b,this.opacity)},darker(e){return new Hm(this.l-wD*(e==null?1:e),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,r=isNaN(this.b)?e:e-this.b/200;return t=nke*uW(t),e=ake*uW(e),r=oke*uW(r),new hd(cW(3.1338561*t-1.6168667*e-.4906146*r),cW(-.9787684*t+1.9161415*e+.033454*r),cW(.0719453*t-.2289914*e+1.4052427*r),this.opacity)}}));Xy(Yy,PE,G_(Vm,{brighter(e){return new Yy(this.h,this.c,this.l+wD*(e==null?1:e),this.opacity)},darker(e){return new Yy(this.h,this.c,this.l-wD*(e==null?1:e),this.opacity)},rgb(){return cke(this).rgb()}}))});function Vkt(e){if(e instanceof C2)return new C2(e.h,e.s,e.l,e.opacity);e instanceof hd||(e=CE(e));var t=e.r/255,r=e.g/255,n=e.b/255,i=(vke*n+hke*t-dke*r)/(vke+hke-dke),a=n-i,o=(IE*(r-i)-dW*a)/TD,s=Math.sqrt(o*o+a*a)/(IE*i*(1-i)),l=s?Math.atan2(o,a)*bD-120:NaN;return new C2(l<0?l+360:l,s,i,e.opacity)}function M5(e,t,r,n){return arguments.length===1?Vkt(e):new C2(e,t,r,n==null?1:n)}function C2(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}var pke,hW,dW,TD,IE,hke,dke,vke,gke=Ll(()=>{pD();_D();sW();pke=-.14861,hW=1.78277,dW=-.29227,TD=-.90649,IE=1.97294,hke=IE*TD,dke=IE*hW,vke=hW*dW-TD*pke;Xy(C2,M5,G_(Vm,{brighter(e){return e=e==null?k2:Math.pow(k2,e),new C2(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?j_:Math.pow(j_,e),new C2(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*xD,t=+this.l,r=isNaN(this.s)?0:this.s*t*(1-t),n=Math.cos(e),i=Math.sin(e);return new hd(255*(t+r*(pke*n+hW*i)),255*(t+r*(dW*n+TD*i)),255*(t+r*(IE*n)),this.opacity)}}))});var L2=Ll(()=>{_D();fke();gke()});function vW(e,t,r,n,i){var a=e*e,o=a*e;return((1-3*e+3*a-o)*t+(4-6*a+3*o)*r+(1+3*e+3*a-3*o)*n+o*i)/6}function AD(e){var t=e.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,t-1):Math.floor(r*t),i=e[n],a=e[n+1],o=n>0?e[n-1]:2*i-a,s=n<t-1?e[n+2]:2*a-i;return vW((r-n/t)*t,o,i,a,s)}}var SD=Ll(()=>{});function MD(e){var t=e.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*t),i=e[(n+t-1)%t],a=e[n%t],o=e[(n+1)%t],s=e[(n+2)%t];return vW((r-n/t)*t,i,a,o,s)}}var pW=Ll(()=>{SD()});var E5,gW=Ll(()=>{E5=e=>()=>e});function mke(e,t){return function(r){return e+r*t}}function Hkt(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function Z_(e,t){var r=t-e;return r?mke(e,r>180||r<-180?r-360*Math.round(r/360):r):E5(isNaN(e)?t:e)}function yke(e){return(e=+e)==1?qf:function(t,r){return r-t?Hkt(t,r,e):E5(isNaN(t)?r:t)}}function qf(e,t){var r=t-e;return r?mke(e,r):E5(isNaN(e)?t:e)}var P2=Ll(()=>{gW()});function _ke(e){return function(t){var r=t.length,n=new Array(r),i=new Array(r),a=new Array(r),o,s;for(o=0;o<r;++o)s=T5(t[o]),n[o]=s.r||0,i[o]=s.g||0,a[o]=s.b||0;return n=e(n),i=e(i),a=e(a),s.opacity=1,function(l){return s.r=n(l),s.g=i(l),s.b=a(l),s+\"\"}}}var RE,xke,bke,mW=Ll(()=>{L2();SD();pW();P2();RE=function e(t){var r=yke(t);function n(i,a){var o=r((i=T5(i)).r,(a=T5(a)).r),s=r(i.g,a.g),l=r(i.b,a.b),u=qf(i.opacity,a.opacity);return function(c){return i.r=o(c),i.g=s(c),i.b=l(c),i.opacity=u(c),i+\"\"}}return n.gamma=e,n}(1);xke=_ke(AD),bke=_ke(MD)});function k5(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),i;return function(a){for(i=0;i<r;++i)n[i]=e[i]*(1-a)+t[i]*a;return n}}function ED(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}var kD=Ll(()=>{});function wke(e,t){return(ED(t)?k5:yW)(e,t)}function yW(e,t){var r=t?t.length:0,n=e?Math.min(r,e.length):0,i=new Array(n),a=new Array(r),o;for(o=0;o<n;++o)i[o]=X_(e[o],t[o]);for(;o<r;++o)a[o]=t[o];return function(s){for(o=0;o<n;++o)a[o]=i[o](s);return a}}var _W=Ll(()=>{DE();kD()});function CD(e,t){var r=new Date;return e=+e,t=+t,function(n){return r.setTime(e*(1-n)+t*n),r}}var xW=Ll(()=>{});function Fp(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}var zE=Ll(()=>{});function LD(e,t){var r={},n={},i;(e===null||typeof e!=\"object\")&&(e={}),(t===null||typeof t!=\"object\")&&(t={});for(i in t)i in e?r[i]=X_(e[i],t[i]):n[i]=t[i];return function(a){for(i in r)n[i]=r[i](a);return n}}var bW=Ll(()=>{DE()});function Gkt(e){return function(){return e}}function jkt(e){return function(t){return e(t)+\"\"}}function PD(e,t){var r=TW.lastIndex=wW.lastIndex=0,n,i,a,o=-1,s=[],l=[];for(e=e+\"\",t=t+\"\";(n=TW.exec(e))&&(i=wW.exec(t));)(a=i.index)>r&&(a=t.slice(r,a),s[o]?s[o]+=a:s[++o]=a),(n=n[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,l.push({i:o,x:Fp(n,i)})),r=wW.lastIndex;return r<t.length&&(a=t.slice(r),s[o]?s[o]+=a:s[++o]=a),s.length<2?l[0]?jkt(l[0].x):Gkt(t):(t=l.length,function(u){for(var c=0,f;c<t;++c)s[(f=l[c]).i]=f.x(u);return s.join(\"\")})}var TW,wW,AW=Ll(()=>{zE();TW=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,wW=new RegExp(TW.source,\"g\")});function X_(e,t){var r=typeof t,n;return t==null||r===\"boolean\"?E5(t):(r===\"number\"?Fp:r===\"string\"?(n=W_(t))?(t=n,RE):PD:t instanceof W_?RE:t instanceof Date?CD:ED(t)?k5:Array.isArray(t)?yW:typeof t.valueOf!=\"function\"&&typeof t.toString!=\"function\"||isNaN(t)?LD:Fp)(e,t)}var DE=Ll(()=>{L2();mW();_W();xW();zE();bW();AW();gW();kD()});function Tke(e){var t=e.length;return function(r){return e[Math.max(0,Math.min(t-1,Math.floor(r*t)))]}}var Ake=Ll(()=>{});function Ske(e,t){var r=Z_(+e,+t);return function(n){var i=r(n);return i-360*Math.floor(i/360)}}var Mke=Ll(()=>{P2()});function Eke(e,t){return e=+e,t=+t,function(r){return Math.round(e*(1-r)+t*r)}}var kke=Ll(()=>{});function SW(e,t,r,n,i,a){var o,s,l;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(l=e*r+t*n)&&(r-=e*l,n-=t*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),e*n<t*r&&(e=-e,t=-t,l=-l,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*Cke,skewX:Math.atan(l)*Cke,scaleX:o,scaleY:s}}var Cke,ID,Lke=Ll(()=>{Cke=180/Math.PI,ID={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1}});function Pke(e){let t=new(typeof DOMMatrix==\"function\"?DOMMatrix:WebKitCSSMatrix)(e+\"\");return t.isIdentity?ID:SW(t.a,t.b,t.c,t.d,t.e,t.f)}function Ike(e){return e==null?ID:(RD||(RD=document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\")),RD.setAttribute(\"transform\",e),(e=RD.transform.baseVal.consolidate())?(e=e.matrix,SW(e.a,e.b,e.c,e.d,e.e,e.f)):ID)}var RD,Rke=Ll(()=>{Lke()});function Dke(e,t,r,n){function i(u){return u.length?u.pop()+\" \":\"\"}function a(u,c,f,h,d,v){if(u!==f||c!==h){var x=d.push(\"translate(\",null,t,null,r);v.push({i:x-4,x:Fp(u,f)},{i:x-2,x:Fp(c,h)})}else(f||h)&&d.push(\"translate(\"+f+t+h+r)}function o(u,c,f,h){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),h.push({i:f.push(i(f)+\"rotate(\",null,n)-2,x:Fp(u,c)})):c&&f.push(i(f)+\"rotate(\"+c+n)}function s(u,c,f,h){u!==c?h.push({i:f.push(i(f)+\"skewX(\",null,n)-2,x:Fp(u,c)}):c&&f.push(i(f)+\"skewX(\"+c+n)}function l(u,c,f,h,d,v){if(u!==f||c!==h){var x=d.push(i(d)+\"scale(\",null,\",\",null,\")\");v.push({i:x-4,x:Fp(u,f)},{i:x-2,x:Fp(c,h)})}else(f!==1||h!==1)&&d.push(i(d)+\"scale(\"+f+\",\"+h+\")\")}return function(u,c){var f=[],h=[];return u=e(u),c=e(c),a(u.translateX,u.translateY,c.translateX,c.translateY,f,h),o(u.rotate,c.rotate,f,h),s(u.skewX,c.skewX,f,h),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,f,h),u=c=null,function(d){for(var v=-1,x=h.length,b;++v<x;)f[(b=h[v]).i]=b.x(d);return f.join(\"\")}}}var zke,Fke,qke=Ll(()=>{zE();Rke();zke=Dke(Pke,\"px, \",\"px)\",\"deg)\"),Fke=Dke(Ike,\", \",\")\",\")\")});function Oke(e){return((e=Math.exp(e))+1/e)/2}function Zkt(e){return((e=Math.exp(e))-1/e)/2}function Xkt(e){return((e=Math.exp(2*e))-1)/(e+1)}var Wkt,Bke,Nke=Ll(()=>{Wkt=1e-12;Bke=function e(t,r,n){function i(a,o){var s=a[0],l=a[1],u=a[2],c=o[0],f=o[1],h=o[2],d=c-s,v=f-l,x=d*d+v*v,b,p;if(x<Wkt)p=Math.log(h/u)/t,b=function(C){return[s+C*d,l+C*v,u*Math.exp(t*C*p)]};else{var E=Math.sqrt(x),k=(h*h-u*u+n*x)/(2*u*r*E),A=(h*h-u*u-n*x)/(2*h*r*E),L=Math.log(Math.sqrt(k*k+1)-k),_=Math.log(Math.sqrt(A*A+1)-A);p=(_-L)/t,b=function(C){var M=C*p,g=Oke(L),P=u/(r*E)*(g*Xkt(t*M+L)-Zkt(L));return[s+P*d,l+P*v,u*g/Oke(t*M+L)]}}return b.duration=p*1e3*t/Math.SQRT2,b}return i.rho=function(a){var o=Math.max(.001,+a),s=o*o,l=s*s;return e(o,s,l)},i}(Math.SQRT2,2,4)});function Uke(e){return function(t,r){var n=e((t=LE(t)).h,(r=LE(r)).h),i=qf(t.s,r.s),a=qf(t.l,r.l),o=qf(t.opacity,r.opacity);return function(s){return t.h=n(s),t.s=i(s),t.l=a(s),t.opacity=o(s),t+\"\"}}}var Vke,Hke,Gke=Ll(()=>{L2();P2();Vke=Uke(Z_),Hke=Uke(qf)});function MW(e,t){var r=qf((e=S5(e)).l,(t=S5(t)).l),n=qf(e.a,t.a),i=qf(e.b,t.b),a=qf(e.opacity,t.opacity);return function(o){return e.l=r(o),e.a=n(o),e.b=i(o),e.opacity=a(o),e+\"\"}}var jke=Ll(()=>{L2();P2()});function Wke(e){return function(t,r){var n=e((t=PE(t)).h,(r=PE(r)).h),i=qf(t.c,r.c),a=qf(t.l,r.l),o=qf(t.opacity,r.opacity);return function(s){return t.h=n(s),t.c=i(s),t.l=a(s),t.opacity=o(s),t+\"\"}}}var Zke,Xke,Yke=Ll(()=>{L2();P2();Zke=Wke(Z_),Xke=Wke(qf)});function Kke(e){return function t(r){r=+r;function n(i,a){var o=e((i=M5(i)).h,(a=M5(a)).h),s=qf(i.s,a.s),l=qf(i.l,a.l),u=qf(i.opacity,a.opacity);return function(c){return i.h=o(c),i.s=s(c),i.l=l(Math.pow(c,r)),i.opacity=u(c),i+\"\"}}return n.gamma=t,n}(1)}var Jke,$ke,Qke=Ll(()=>{L2();P2();Jke=Kke(Z_),$ke=Kke(qf)});function EW(e,t){t===void 0&&(t=e,e=X_);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r<n;)a[r]=e(i,i=t[++r]);return function(o){var s=Math.max(0,Math.min(n-1,Math.floor(o*=n)));return a[s](o-s)}}var eCe=Ll(()=>{DE()});function tCe(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e(n/(t-1));return r}var rCe=Ll(()=>{});var I2={};QQ(I2,{interpolate:()=>X_,interpolateArray:()=>wke,interpolateBasis:()=>AD,interpolateBasisClosed:()=>MD,interpolateCubehelix:()=>Jke,interpolateCubehelixLong:()=>$ke,interpolateDate:()=>CD,interpolateDiscrete:()=>Tke,interpolateHcl:()=>Zke,interpolateHclLong:()=>Xke,interpolateHsl:()=>Vke,interpolateHslLong:()=>Hke,interpolateHue:()=>Ske,interpolateLab:()=>MW,interpolateNumber:()=>Fp,interpolateNumberArray:()=>k5,interpolateObject:()=>LD,interpolateRgb:()=>RE,interpolateRgbBasis:()=>xke,interpolateRgbBasisClosed:()=>bke,interpolateRound:()=>Eke,interpolateString:()=>PD,interpolateTransformCss:()=>zke,interpolateTransformSvg:()=>Fke,interpolateZoom:()=>Bke,piecewise:()=>EW,quantize:()=>tCe});var R2=Ll(()=>{DE();_W();SD();pW();xW();Ake();Mke();zE();kD();bW();kke();AW();qke();Nke();mW();Gke();jke();Yke();Qke();eCe();rCe()});var DD=ye((cdr,iCe)=>{\"use strict\";var Ykt=ao(),Kkt=va();iCe.exports=function(t,r,n,i,a){var o=r.data.data,s=o.i,l=a||o.color;if(s>=0){r.i=o.i;var u=n.marker;u.pattern?(!u.colors||!u.pattern.shape)&&(u.color=l,r.color=l):(u.color=l,r.color=l),Ykt.pointStyle(t,n,i,r)}else Kkt.fill(t,l)}});var kW=ye((fdr,lCe)=>{\"use strict\";var nCe=xa(),aCe=va(),oCe=Mr(),Jkt=_v().resizeText,$kt=DD();function Qkt(e){var t=e._fullLayout._sunburstlayer.selectAll(\".trace\");Jkt(e,t,\"sunburst\"),t.each(function(r){var n=nCe.select(this),i=r[0],a=i.trace;n.style(\"opacity\",a.opacity),n.selectAll(\"path.surface\").each(function(o){nCe.select(this).call(sCe,o,a,e)})})}function sCe(e,t,r,n){var i=t.data.data,a=!t.children,o=i.i,s=oCe.castOption(r,o,\"marker.line.color\")||aCe.defaultLine,l=oCe.castOption(r,o,\"marker.line.width\")||0;e.call($kt,t,r,n).style(\"stroke-width\",l).call(aCe.stroke,s).style(\"opacity\",a?r.leaf.opacity:null)}lCe.exports={style:Qkt,styleOne:sCe}});var Ky=ye(bs=>{\"use strict\";var D2=Mr(),eCt=va(),tCt=Tg(),uCe=u_();bs.findEntryWithLevel=function(e,t){var r;return t&&e.eachAfter(function(n){if(bs.getPtId(n)===t)return r=n.copy()}),r||e};bs.findEntryWithChild=function(e,t){var r;return e.eachAfter(function(n){for(var i=n.children||[],a=0;a<i.length;a++){var o=i[a];if(bs.getPtId(o)===t)return r=n.copy()}}),r||e};bs.isEntry=function(e){return!e.parent};bs.isLeaf=function(e){return!e.children};bs.getPtId=function(e){return e.data.data.id};bs.getPtLabel=function(e){return e.data.data.label};bs.getValue=function(e){return e.value};bs.isHierarchyRoot=function(e){return cCe(e)===\"\"};bs.setSliceCursor=function(e,t,r){var n=r.isTransitioning;if(!n){var i=e.datum();n=r.hideOnRoot&&bs.isHierarchyRoot(i)||r.hideOnLeaves&&bs.isLeaf(i)}tCt(e,n?null:\"pointer\")};function rCt(e,t,r){return{color:bs.getOutsideTextFontKey(\"color\",e,t,r),family:bs.getOutsideTextFontKey(\"family\",e,t,r),size:bs.getOutsideTextFontKey(\"size\",e,t,r),weight:bs.getOutsideTextFontKey(\"weight\",e,t,r),style:bs.getOutsideTextFontKey(\"style\",e,t,r),variant:bs.getOutsideTextFontKey(\"variant\",e,t,r),textcase:bs.getOutsideTextFontKey(\"textcase\",e,t,r),lineposition:bs.getOutsideTextFontKey(\"lineposition\",e,t,r),shadow:bs.getOutsideTextFontKey(\"shadow\",e,t,r)}}function iCt(e,t,r,n){var i=(n||{}).onPathbar,a=t.data.data,o=a.i,s=D2.castOption(e,o,(i?\"pathbar.textfont\":\"insidetextfont\")+\".color\");return!s&&e._input.textfont&&(s=D2.castOption(e._input,o,\"textfont.color\")),{color:s||eCt.contrast(a.color),family:bs.getInsideTextFontKey(\"family\",e,t,r,n),size:bs.getInsideTextFontKey(\"size\",e,t,r,n),weight:bs.getInsideTextFontKey(\"weight\",e,t,r,n),style:bs.getInsideTextFontKey(\"style\",e,t,r,n),variant:bs.getInsideTextFontKey(\"variant\",e,t,r,n),textcase:bs.getInsideTextFontKey(\"textcase\",e,t,r,n),lineposition:bs.getInsideTextFontKey(\"lineposition\",e,t,r,n),shadow:bs.getInsideTextFontKey(\"shadow\",e,t,r,n)}}bs.getInsideTextFontKey=function(e,t,r,n,i){var a=(i||{}).onPathbar,o=a?\"pathbar.textfont\":\"insidetextfont\",s=r.data.data.i;return D2.castOption(t,s,o+\".\"+e)||D2.castOption(t,s,\"textfont.\"+e)||n.size};bs.getOutsideTextFontKey=function(e,t,r,n){var i=r.data.data.i;return D2.castOption(t,i,\"outsidetextfont.\"+e)||D2.castOption(t,i,\"textfont.\"+e)||n.size};bs.isOutsideText=function(e,t){return!e._hasColorscale&&bs.isHierarchyRoot(t)};bs.determineTextFont=function(e,t,r,n){return bs.isOutsideText(e,t)?rCt(e,t,r):iCt(e,t,r,n)};bs.hasTransition=function(e){return!!(e&&e.duration>0)};bs.getMaxDepth=function(e){return e.maxdepth>=0?e.maxdepth:1/0};bs.isHeader=function(e,t){return!(bs.isLeaf(e)||e.depth===t._maxDepth-1)};function cCe(e){return e.data.data.pid}bs.getParent=function(e,t){return bs.findEntryWithLevel(e,cCe(t))};bs.listPath=function(e,t){var r=e.parent;if(!r)return[];var n=t?[r.data[t]]:[r];return bs.listPath(r,t).concat(n)};bs.getPath=function(e){return bs.listPath(e,\"label\").join(\"/\")+\"/\"};bs.formatValue=uCe.formatPieValue;bs.formatPercent=function(e,t){var r=D2.formatPercent(e,0);return r===\"0%\"&&(r=uCe.formatPiePercent(e,t)),r}});var OE=ye((ddr,dCe)=>{\"use strict\";var C5=xa(),fCe=ba(),nCt=rp().appendArrayPointValue,FE=Nc(),hCe=Mr(),aCt=g3(),Wh=Ky(),oCt=u_(),sCt=oCt.formatPieValue;dCe.exports=function(t,r,n,i,a){var o=i[0],s=o.trace,l=o.hierarchy,u=s.type===\"sunburst\",c=s.type===\"treemap\"||s.type===\"icicle\";\"_hasHoverLabel\"in s||(s._hasHoverLabel=!1),\"_hasHoverEvent\"in s||(s._hasHoverEvent=!1);var f=function(v){var x=n._fullLayout;if(!(n._dragging||x.hovermode===!1)){var b=n._fullData[s.index],p=v.data.data,E=p.i,k=Wh.isHierarchyRoot(v),A=Wh.getParent(l,v),L=Wh.getValue(v),_=function(Me){return hCe.castOption(b,E,Me)},C=_(\"hovertemplate\"),M=FE.castHoverinfo(b,x,E),g=x.separators,P;if(C||M&&M!==\"none\"&&M!==\"skip\"){var T,F;u&&(T=o.cx+v.pxmid[0]*(1-v.rInscribed),F=o.cy+v.pxmid[1]*(1-v.rInscribed)),c&&(T=v._hoverX,F=v._hoverY);var q={},V=[],H=[],X=function(Me){return V.indexOf(Me)!==-1};M&&(V=M===\"all\"?b._module.attributes.hoverinfo.flags:M.split(\"+\")),q.label=p.label,X(\"label\")&&q.label&&H.push(q.label),p.hasOwnProperty(\"v\")&&(q.value=p.v,q.valueLabel=sCt(q.value,g),X(\"value\")&&H.push(q.valueLabel)),q.currentPath=v.currentPath=Wh.getPath(v.data),X(\"current path\")&&!k&&H.push(q.currentPath);var G,N=[],W=function(){N.indexOf(G)===-1&&(H.push(G),N.push(G))};q.percentParent=v.percentParent=L/Wh.getValue(A),q.parent=v.parentString=Wh.getPtLabel(A),X(\"percent parent\")&&(G=Wh.formatPercent(q.percentParent,g)+\" of \"+q.parent,W()),q.percentEntry=v.percentEntry=L/Wh.getValue(r),q.entry=v.entry=Wh.getPtLabel(r),X(\"percent entry\")&&!k&&!v.onPathbar&&(G=Wh.formatPercent(q.percentEntry,g)+\" of \"+q.entry,W()),q.percentRoot=v.percentRoot=L/Wh.getValue(l),q.root=v.root=Wh.getPtLabel(l),X(\"percent root\")&&!k&&(G=Wh.formatPercent(q.percentRoot,g)+\" of \"+q.root,W()),q.text=_(\"hovertext\")||_(\"text\"),X(\"text\")&&(G=q.text,hCe.isValidTextValue(G)&&H.push(G)),P=[qE(v,b,a.eventDataKeys)];var re={trace:b,y:F,_x0:v._x0,_x1:v._x1,_y0:v._y0,_y1:v._y1,text:H.join(\"<br>\"),name:C||X(\"name\")?b.name:void 0,color:_(\"hoverlabel.bgcolor\")||p.color,borderColor:_(\"hoverlabel.bordercolor\"),fontFamily:_(\"hoverlabel.font.family\"),fontSize:_(\"hoverlabel.font.size\"),fontColor:_(\"hoverlabel.font.color\"),fontWeight:_(\"hoverlabel.font.weight\"),fontStyle:_(\"hoverlabel.font.style\"),fontVariant:_(\"hoverlabel.font.variant\"),nameLength:_(\"hoverlabel.namelength\"),textAlign:_(\"hoverlabel.align\"),hovertemplate:C,hovertemplateLabels:q,eventData:P};u&&(re.x0=T-v.rInscribed*v.rpx1,re.x1=T+v.rInscribed*v.rpx1,re.idealAlign=v.pxmid[0]<0?\"left\":\"right\"),c&&(re.x=T,re.idealAlign=T<0?\"left\":\"right\");var ae=[];FE.loneHover(re,{container:x._hoverlayer.node(),outerContainer:x._paper.node(),gd:n,inOut_bbox:ae}),P[0].bbox=ae[0],s._hasHoverLabel=!0}if(c){var _e=t.select(\"path.surface\");a.styleOne(_e,v,b,n,{hovered:!0})}s._hasHoverEvent=!0,n.emit(\"plotly_hover\",{points:P||[qE(v,b,a.eventDataKeys)],event:C5.event})}},h=function(v){var x=n._fullLayout,b=n._fullData[s.index],p=C5.select(this).datum();if(s._hasHoverEvent&&(v.originalEvent=C5.event,n.emit(\"plotly_unhover\",{points:[qE(p,b,a.eventDataKeys)],event:C5.event}),s._hasHoverEvent=!1),s._hasHoverLabel&&(FE.loneUnhover(x._hoverlayer.node()),s._hasHoverLabel=!1),c){var E=t.select(\"path.surface\");a.styleOne(E,p,b,n,{hovered:!1})}},d=function(v){var x=n._fullLayout,b=n._fullData[s.index],p=u&&(Wh.isHierarchyRoot(v)||Wh.isLeaf(v)),E=Wh.getPtId(v),k=Wh.isEntry(v)?Wh.findEntryWithChild(l,E):Wh.findEntryWithLevel(l,E),A=Wh.getPtId(k),L={points:[qE(v,b,a.eventDataKeys)],event:C5.event};p||(L.nextLevel=A);var _=aCt.triggerHandler(n,\"plotly_\"+s.type+\"click\",L);if(_!==!1&&x.hovermode&&(n._hoverdata=[qE(v,b,a.eventDataKeys)],FE.click(n,C5.event)),!p&&_!==!1&&!n._dragging&&!n._transitioning){fCe.call(\"_storeDirectGUIEdit\",b,x._tracePreGUI[b.uid],{level:b.level});var C={data:[{level:A}],traces:[s.index]},M={frame:{redraw:!1,duration:a.transitionTime},transition:{duration:a.transitionTime,easing:a.transitionEasing},mode:\"immediate\",fromcurrent:!0};FE.loneUnhover(x._hoverlayer.node()),fCe.call(\"animate\",n,C,M)}};t.on(\"mouseover\",f),t.on(\"mouseout\",h),t.on(\"click\",d)};function qE(e,t,r){for(var n=e.data.data,i={curveNumber:t.index,pointNumber:n.i,data:t._input,fullData:t},a=0;a<r.length;a++){var o=r[a];o in e&&(i[o]=e[o])}return\"parentString\"in e&&!Wh.isHierarchyRoot(e)&&(i.parent=e.parentString),nCt(i,t,n.i),i}});var FD=ye(zD=>{\"use strict\";var BE=xa(),lCt=SE(),Xg=(R2(),B1(I2)).interpolate,vCe=ao(),bv=Mr(),uCt=Pl(),yCe=_v(),pCe=yCe.recordMinTextSize,cCt=yCe.clearMinTextSize,_Ce=dD(),fCt=u_().getRotationAngle,hCt=_Ce.computeTransform,dCt=_Ce.transformInsideText,vCt=kW().styleOne,pCt=N0().resizeText,gCt=OE(),CW=nW(),sl=Ky();zD.plot=function(e,t,r,n){var i=e._fullLayout,a=i._sunburstlayer,o,s,l=!r,u=!i.uniformtext.mode&&sl.hasTransition(r);if(cCt(\"sunburst\",i),o=a.selectAll(\"g.trace.sunburst\").data(t,function(f){return f[0].trace.uid}),o.enter().append(\"g\").classed(\"trace\",!0).classed(\"sunburst\",!0).attr(\"stroke-linejoin\",\"round\"),o.order(),u){n&&(s=n());var c=BE.transition().duration(r.duration).ease(r.easing).each(\"end\",function(){s&&s()}).each(\"interrupt\",function(){s&&s()});c.each(function(){a.selectAll(\"g.trace\").each(function(f){gCe(e,f,this,r)})})}else o.each(function(f){gCe(e,f,this,r)}),i.uniformtext.mode&&pCt(e,i._sunburstlayer.selectAll(\".trace\"),\"sunburst\");l&&o.exit().remove()};function gCe(e,t,r,n){var i=e._context.staticPlot,a=e._fullLayout,o=!a.uniformtext.mode&&sl.hasTransition(n),s=BE.select(r),l=s.selectAll(\"g.slice\"),u=t[0],c=u.trace,f=u.hierarchy,h=sl.findEntryWithLevel(f,c.level),d=sl.getMaxDepth(c),v=a._size,x=c.domain,b=v.w*(x.x[1]-x.x[0]),p=v.h*(x.y[1]-x.y[0]),E=.5*Math.min(b,p),k=u.cx=v.l+v.w*(x.x[1]+x.x[0])/2,A=u.cy=v.t+v.h*(1-x.y[0])-p/2;if(!h)return l.remove();var L=null,_={};o&&l.each(function(ge){_[sl.getPtId(ge)]={rpx0:ge.rpx0,rpx1:ge.rpx1,x0:ge.x0,x1:ge.x1,transform:ge.transform},!L&&sl.isEntry(ge)&&(L=ge)});var C=mCt(h).descendants(),M=h.height+1,g=0,P=d;u.hasMultipleRoots&&sl.isHierarchyRoot(h)&&(C=C.slice(1),M-=1,g=1,P+=1),C=C.filter(function(ge){return ge.y1<=P});var T=fCt(c.rotation);T&&C.forEach(function(ge){ge.x0+=T,ge.x1+=T});var F=Math.min(M,d),q=function(ge){return(ge-g)/F*E},V=function(ge,ie){return[ge*Math.cos(ie),-ge*Math.sin(ie)]},H=function(ge){return bv.pathAnnulus(ge.rpx0,ge.rpx1,ge.x0,ge.x1,k,A)},X=function(ge){return k+mCe(ge)[0]*(ge.transform.rCenter||0)+(ge.transform.x||0)},G=function(ge){return A+mCe(ge)[1]*(ge.transform.rCenter||0)+(ge.transform.y||0)};l=l.data(C,sl.getPtId),l.enter().append(\"g\").classed(\"slice\",!0),o?l.exit().transition().each(function(){var ge=BE.select(this),ie=ge.select(\"path.surface\");ie.transition().attrTween(\"d\",function(Ee){var Ae=ae(Ee);return function(ze){return H(Ae(ze))}});var Te=ge.select(\"g.slicetext\");Te.attr(\"opacity\",0)}).remove():l.exit().remove(),l.order();var N=null;if(o&&L){var W=sl.getPtId(L);l.each(function(ge){N===null&&sl.getPtId(ge)===W&&(N=ge.x1)})}var re=l;o&&(re=re.transition().each(\"end\",function(){var ge=BE.select(this);sl.setSliceCursor(ge,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:!1})})),re.each(function(ge){var ie=BE.select(this),Te=bv.ensureSingle(ie,\"path\",\"surface\",function(Re){Re.style(\"pointer-events\",i?\"none\":\"all\")});ge.rpx0=q(ge.y0),ge.rpx1=q(ge.y1),ge.xmid=(ge.x0+ge.x1)/2,ge.pxmid=V(ge.rpx1,ge.xmid),ge.midangle=-(ge.xmid-Math.PI/2),ge.startangle=-(ge.x0-Math.PI/2),ge.stopangle=-(ge.x1-Math.PI/2),ge.halfangle=.5*Math.min(bv.angleDelta(ge.x0,ge.x1)||Math.PI,Math.PI),ge.ring=1-ge.rpx0/ge.rpx1,ge.rInscribed=yCt(ge,c),o?Te.transition().attrTween(\"d\",function(Re){var ce=_e(Re);return function(Ge){return H(ce(Ge))}}):Te.attr(\"d\",H),ie.call(gCt,h,e,t,{eventDataKeys:CW.eventDataKeys,transitionTime:CW.CLICK_TRANSITION_TIME,transitionEasing:CW.CLICK_TRANSITION_EASING}).call(sl.setSliceCursor,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:e._transitioning}),Te.call(vCt,ge,c,e);var Ee=bv.ensureSingle(ie,\"g\",\"slicetext\"),Ae=bv.ensureSingle(Ee,\"text\",\"\",function(Re){Re.attr(\"data-notex\",1)}),ze=bv.ensureUniformFontSize(e,sl.determineTextFont(c,ge,a.font));Ae.text(zD.formatSliceLabel(ge,h,c,t,a)).classed(\"slicetext\",!0).attr(\"text-anchor\",\"middle\").call(vCe.font,ze).call(uCt.convertToTspans,e);var Ce=vCe.bBox(Ae.node());ge.transform=dCt(Ce,ge,u),ge.transform.targetX=X(ge),ge.transform.targetY=G(ge);var me=function(Re,ce){var Ge=Re.transform;return hCt(Ge,ce),Ge.fontSize=ze.size,pCe(c.type,Ge,a),bv.getTextTransform(Ge)};o?Ae.transition().attrTween(\"transform\",function(Re){var ce=Me(Re);return function(Ge){return me(ce(Ge),Ce)}}):Ae.attr(\"transform\",me(ge,Ce))});function ae(ge){var ie=sl.getPtId(ge),Te=_[ie],Ee=_[sl.getPtId(h)],Ae;if(Ee){var ze=(ge.x1>Ee.x1?2*Math.PI:0)+T;Ae=ge.rpx1<Ee.rpx1?{x0:ge.x0,x1:ge.x1,rpx0:0,rpx1:0}:{x0:ze,x1:ze,rpx0:ge.rpx0,rpx1:ge.rpx1}}else{var Ce,me=sl.getPtId(ge.parent);l.each(function(ct){if(sl.getPtId(ct)===me)return Ce=ct});var Re=Ce.children,ce;Re.forEach(function(ct,qt){if(sl.getPtId(ct)===ie)return ce=qt});var Ge=Re.length,nt=Xg(Ce.x0,Ce.x1);Ae={rpx0:E,rpx1:E,x0:nt(ce/Ge),x1:nt((ce+1)/Ge)}}return Xg(Te,Ae)}function _e(ge){var ie=_[sl.getPtId(ge)],Te,Ee={x0:ge.x0,x1:ge.x1,rpx0:ge.rpx0,rpx1:ge.rpx1};if(ie)Te=ie;else if(L)if(ge.parent)if(N){var Ae=(ge.x1>N?2*Math.PI:0)+T;Te={x0:Ae,x1:Ae}}else Te={rpx0:E,rpx1:E},bv.extendFlat(Te,ke(ge));else Te={rpx0:0,rpx1:0};else Te={x0:T,x1:T};return Xg(Te,Ee)}function Me(ge){var ie=_[sl.getPtId(ge)],Te,Ee=ge.transform;if(ie)Te=ie;else if(Te={rpx1:ge.rpx1,transform:{textPosAngle:Ee.textPosAngle,scale:0,rotate:Ee.rotate,rCenter:Ee.rCenter,x:Ee.x,y:Ee.y}},L)if(ge.parent)if(N){var Ae=ge.x1>N?2*Math.PI:0;Te.x0=Te.x1=Ae}else bv.extendFlat(Te,ke(ge));else Te.x0=Te.x1=T;else Te.x0=Te.x1=T;var ze=Xg(Te.transform.textPosAngle,ge.transform.textPosAngle),Ce=Xg(Te.rpx1,ge.rpx1),me=Xg(Te.x0,ge.x0),Re=Xg(Te.x1,ge.x1),ce=Xg(Te.transform.scale,Ee.scale),Ge=Xg(Te.transform.rotate,Ee.rotate),nt=Ee.rCenter===0?3:Te.transform.rCenter===0?1/3:1,ct=Xg(Te.transform.rCenter,Ee.rCenter),qt=function(rt){return ct(Math.pow(rt,nt))};return function(rt){var ot=Ce(rt),Rt=me(rt),kt=Re(rt),Ct=qt(rt),Yt=V(ot,(Rt+kt)/2),xr=ze(rt),er={pxmid:Yt,rpx1:ot,transform:{textPosAngle:xr,rCenter:Ct,x:Ee.x,y:Ee.y}};return pCe(c.type,Ee,a),{transform:{targetX:X(er),targetY:G(er),scale:ce(rt),rotate:Ge(rt),rCenter:Ct}}}}function ke(ge){var ie=ge.parent,Te=_[sl.getPtId(ie)],Ee={};if(Te){var Ae=ie.children,ze=Ae.indexOf(ge),Ce=Ae.length,me=Xg(Te.x0,Te.x1);Ee.x0=me(ze/Ce),Ee.x1=me(ze/Ce)}else Ee.x0=Ee.x1=0;return Ee}}function mCt(e){return lCt.partition().size([2*Math.PI,e.height+1])(e)}zD.formatSliceLabel=function(e,t,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!a&&(!o||o===\"none\"))return\"\";var s=i.separators,l=n[0],u=e.data.data,c=l.hierarchy,f=sl.isHierarchyRoot(e),h=sl.getParent(c,e),d=sl.getValue(e);if(!a){var v=o.split(\"+\"),x=function(g){return v.indexOf(g)!==-1},b=[],p;if(x(\"label\")&&u.label&&b.push(u.label),u.hasOwnProperty(\"v\")&&x(\"value\")&&b.push(sl.formatValue(u.v,s)),!f){x(\"current path\")&&b.push(sl.getPath(e.data));var E=0;x(\"percent parent\")&&E++,x(\"percent entry\")&&E++,x(\"percent root\")&&E++;var k=E>1;if(E){var A,L=function(g){p=sl.formatPercent(A,s),k&&(p+=\" of \"+g),b.push(p)};x(\"percent parent\")&&!f&&(A=d/sl.getValue(h),L(\"parent\")),x(\"percent entry\")&&(A=d/sl.getValue(t),L(\"entry\")),x(\"percent root\")&&(A=d/sl.getValue(c),L(\"root\"))}}return x(\"text\")&&(p=bv.castOption(r,u.i,\"text\"),bv.isValidTextValue(p)&&b.push(p)),b.join(\"<br>\")}var _=bv.castOption(r,u.i,\"texttemplate\");if(!_)return\"\";var C={};u.label&&(C.label=u.label),u.hasOwnProperty(\"v\")&&(C.value=u.v,C.valueLabel=sl.formatValue(u.v,s)),C.currentPath=sl.getPath(e.data),f||(C.percentParent=d/sl.getValue(h),C.percentParentLabel=sl.formatPercent(C.percentParent,s),C.parent=sl.getPtLabel(h)),C.percentEntry=d/sl.getValue(t),C.percentEntryLabel=sl.formatPercent(C.percentEntry,s),C.entry=sl.getPtLabel(t),C.percentRoot=d/sl.getValue(c),C.percentRootLabel=sl.formatPercent(C.percentRoot,s),C.root=sl.getPtLabel(c),u.hasOwnProperty(\"color\")&&(C.color=u.color);var M=bv.castOption(r,u.i,\"text\");return(bv.isValidTextValue(M)||M===\"\")&&(C.text=M),C.customdata=bv.castOption(r,u.i,\"customdata\"),bv.texttemplateString(_,C,i._d3locale,C,r._meta||{})};function yCt(e){return e.rpx0===0&&bv.isFullCircle([e.x0,e.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2))}function mCe(e){return _Ct(e.rpx1,e.transform.textPosAngle)}function _Ct(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}});var bCe=ye((pdr,xCe)=>{\"use strict\";xCe.exports={moduleType:\"trace\",name:\"sunburst\",basePlotModule:zEe(),categories:[],animatable:!0,attributes:AE(),layoutAttributes:aW(),supplyDefaults:HEe(),supplyLayoutDefaults:jEe(),calc:EE().calc,crossTraceCalc:EE().crossTraceCalc,plot:FD().plot,style:kW().style,colorbar:Kd(),meta:{}}});var TCe=ye((gdr,wCe)=>{\"use strict\";wCe.exports=bCe()});var SCe=ye(L5=>{\"use strict\";var ACe=Xu();L5.name=\"treemap\";L5.plot=function(e,t,r,n){ACe.plotBasePlot(L5.name,e,t,r,n)};L5.clean=function(e,t,r,n){ACe.cleanBasePlot(L5.name,e,t,r,n)}});var z2=ye((ydr,MCe)=>{\"use strict\";MCe.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"poly\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"],gapWithPathbar:1}});var qD=ye((_dr,kCe)=>{\"use strict\";var xCt=Wo().hovertemplateAttrs,bCt=Wo().texttemplateAttrs,wCt=Jl(),TCt=Ju().attributes,F2=A2(),Q0=AE(),ECe=z2(),LW=no().extendFlat,ACt=Ed().pattern;kCe.exports={labels:Q0.labels,parents:Q0.parents,values:Q0.values,branchvalues:Q0.branchvalues,count:Q0.count,level:Q0.level,maxdepth:Q0.maxdepth,tiling:{packing:{valType:\"enumerated\",values:[\"squarify\",\"binary\",\"dice\",\"slice\",\"slice-dice\",\"dice-slice\"],dflt:\"squarify\",editType:\"plot\"},squarifyratio:{valType:\"number\",min:1,dflt:1,editType:\"plot\"},flip:{valType:\"flaglist\",flags:[\"x\",\"y\"],dflt:\"\",editType:\"plot\"},pad:{valType:\"number\",min:0,dflt:3,editType:\"plot\"},editType:\"calc\"},marker:LW({pad:{t:{valType:\"number\",min:0,editType:\"plot\"},l:{valType:\"number\",min:0,editType:\"plot\"},r:{valType:\"number\",min:0,editType:\"plot\"},b:{valType:\"number\",min:0,editType:\"plot\"},editType:\"calc\"},colors:Q0.marker.colors,pattern:ACt,depthfade:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],editType:\"style\"},line:Q0.marker.line,cornerradius:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},wCt(\"marker\",{colorAttr:\"colors\",anim:!1})),pathbar:{visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},edgeshape:{valType:\"enumerated\",values:[\">\",\"<\",\"|\",\"/\",\"\\\\\"],dflt:\">\",editType:\"plot\"},thickness:{valType:\"number\",min:12,editType:\"plot\"},textfont:LW({},F2.textfont,{}),editType:\"calc\"},text:F2.text,textinfo:Q0.textinfo,texttemplate:bCt({editType:\"plot\"},{keys:ECe.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:F2.hovertext,hoverinfo:Q0.hoverinfo,hovertemplate:xCt({},{keys:ECe.eventDataKeys}),textfont:F2.textfont,insidetextfont:F2.insidetextfont,outsidetextfont:LW({},F2.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:F2.sort,root:Q0.root,domain:TCt({name:\"treemap\",trace:!0,editType:\"calc\"})}});var PW=ye((xdr,CCe)=>{\"use strict\";CCe.exports={treemapcolorway:{valType:\"colorlist\",editType:\"calc\"},extendtreemapcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var RCe=ye((bdr,ICe)=>{\"use strict\";var LCe=Mr(),SCt=qD(),MCt=va(),ECt=Ju().defaults,kCt=r0().handleText,CCt=Qb().TEXTPAD,LCt=S2().handleMarkerDefaults,PCe=Mu(),PCt=PCe.hasColorscale,ICt=PCe.handleDefaults;ICe.exports=function(t,r,n,i){function a(b,p){return LCe.coerce(t,r,SCt,b,p)}var o=a(\"labels\"),s=a(\"parents\");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a(\"values\");l&&l.length?a(\"branchvalues\"):a(\"count\"),a(\"level\"),a(\"maxdepth\");var u=a(\"tiling.packing\");u===\"squarify\"&&a(\"tiling.squarifyratio\"),a(\"tiling.flip\"),a(\"tiling.pad\");var c=a(\"text\");a(\"texttemplate\"),r.texttemplate||a(\"textinfo\",LCe.isArrayOrTypedArray(c)?\"text+label\":\"label\"),a(\"hovertext\"),a(\"hovertemplate\");var f=a(\"pathbar.visible\"),h=\"auto\";kCt(t,r,i,a,h,{hasPathbar:f,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a(\"textposition\");var d=r.textposition.indexOf(\"bottom\")!==-1;LCt(t,r,i,a);var v=r._hasColorscale=PCt(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;v?ICt(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}):a(\"marker.depthfade\",!(r.marker.colors||[]).length);var x=r.textfont.size*2;a(\"marker.pad.t\",d?x/4:x),a(\"marker.pad.l\",x/4),a(\"marker.pad.r\",x/4),a(\"marker.pad.b\",d?x:x/4),a(\"marker.cornerradius\"),r._hovered={marker:{line:{width:2,color:MCt.contrast(i.paper_bgcolor)}}},f&&(a(\"pathbar.thickness\",r.pathbar.textfont.size+2*CCt),a(\"pathbar.side\"),a(\"pathbar.edgeshape\")),a(\"sort\"),a(\"root.color\"),ECt(r,i,a),r._length=null}});var zCe=ye((wdr,DCe)=>{\"use strict\";var RCt=Mr(),DCt=PW();DCe.exports=function(t,r){function n(i,a){return RCt.coerce(t,r,DCt,i,a)}n(\"treemapcolorway\",r.colorway),n(\"extendtreemapcolors\")}});var RW=ye(IW=>{\"use strict\";var FCe=EE();IW.calc=function(e,t){return FCe.calc(e,t)};IW.crossTraceCalc=function(e){return FCe._runCrossTraceCalc(\"treemap\",e)}});var DW=ye((Adr,qCe)=>{\"use strict\";qCe.exports=function e(t,r,n){var i;n.swapXY&&(i=t.x0,t.x0=t.y0,t.y0=i,i=t.x1,t.x1=t.y1,t.y1=i),n.flipX&&(i=t.x0,t.x0=r[0]-t.x1,t.x1=r[0]-i),n.flipY&&(i=t.y0,t.y0=r[1]-t.y1,t.y1=r[1]-i);var a=t.children;if(a)for(var o=0;o<a.length;o++)e(a[o],r,n)}});var zW=ye((Sdr,OCe)=>{\"use strict\";var P5=SE(),zCt=DW();OCe.exports=function(t,r,n){var i=n.flipX,a=n.flipY,o=n.packing===\"dice-slice\",s=n.pad[a?\"bottom\":\"top\"],l=n.pad[i?\"right\":\"left\"],u=n.pad[i?\"left\":\"right\"],c=n.pad[a?\"top\":\"bottom\"],f;o&&(f=l,l=s,s=f,f=u,u=c,c=f);var h=P5.treemap().tile(FCt(n.packing,n.squarifyratio)).paddingInner(n.pad.inner).paddingLeft(l).paddingRight(u).paddingTop(s).paddingBottom(c).size(o?[r[1],r[0]]:r)(t);return(o||i||a)&&zCt(h,r,{swapXY:o,flipX:i,flipY:a}),h};function FCt(e,t){switch(e){case\"squarify\":return P5.treemapSquarify.ratio(t);case\"binary\":return P5.treemapBinary;case\"dice\":return P5.treemapDice;case\"slice\":return P5.treemapSlice;default:return P5.treemapSliceDice}}});var OD=ye((Mdr,VCe)=>{\"use strict\";var BCe=xa(),I5=va(),NCe=Mr(),FW=Ky(),qCt=_v().resizeText,OCt=DD();function BCt(e){var t=e._fullLayout._treemaplayer.selectAll(\".trace\");qCt(e,t,\"treemap\"),t.each(function(r){var n=BCe.select(this),i=r[0],a=i.trace;n.style(\"opacity\",a.opacity),n.selectAll(\"path.surface\").each(function(o){BCe.select(this).call(UCe,o,a,e,{hovered:!1})})})}function UCe(e,t,r,n,i){var a=(i||{}).hovered,o=t.data.data,s=o.i,l,u,c=o.color,f=FW.isHierarchyRoot(t),h=1;if(a)l=r._hovered.marker.line.color,u=r._hovered.marker.line.width;else if(f&&c===r.root.color)h=100,l=\"rgba(0,0,0,0)\",u=0;else if(l=NCe.castOption(r,s,\"marker.line.color\")||I5.defaultLine,u=NCe.castOption(r,s,\"marker.line.width\")||0,!r._hasColorscale&&!t.onPathbar){var d=r.marker.depthfade;if(d){var v=I5.combine(I5.addOpacity(r._backgroundColor,.75),c),x;if(d===!0){var b=FW.getMaxDepth(r);isFinite(b)?FW.isLeaf(t)?x=0:x=r._maxVisibleLayers-(t.data.depth-r._entryDepth):x=t.data.height+1}else x=t.data.depth-r._entryDepth,r._atRootLevel||x++;if(x>0)for(var p=0;p<x;p++){var E=.5*p/x;c=I5.combine(I5.addOpacity(v,E),c)}}}e.call(OCt,t,r,n,c).style(\"stroke-width\",u).call(I5.stroke,l).style(\"opacity\",h)}VCe.exports={style:BCt,styleOne:UCe}});var ZCe=ye((Edr,WCe)=>{\"use strict\";var HCe=xa(),BD=Mr(),GCe=ao(),NCt=Pl(),UCt=zW(),jCe=OD().styleOne,qW=z2(),R5=Ky(),VCt=OE(),OW=!0;WCe.exports=function(t,r,n,i,a){var o=a.barDifY,s=a.width,l=a.height,u=a.viewX,c=a.viewY,f=a.pathSlice,h=a.toMoveInsideSlice,d=a.strTransform,v=a.hasTransition,x=a.handleSlicesExit,b=a.makeUpdateSliceInterpolator,p=a.makeUpdateTextInterpolator,E={},k=t._context.staticPlot,A=t._fullLayout,L=r[0],_=L.trace,C=L.hierarchy,M=s/_._entryDepth,g=R5.listPath(n.data,\"id\"),P=UCt(C.copy(),[s,l],{packing:\"dice\",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();P=P.filter(function(F){var q=g.indexOf(F.data.id);return q===-1?!1:(F.x0=M*q,F.x1=M*(q+1),F.y0=o,F.y1=o+l,F.onPathbar=!0,!0)}),P.reverse(),i=i.data(P,R5.getPtId),i.enter().append(\"g\").classed(\"pathbar\",!0),x(i,OW,E,[s,l],f),i.order();var T=i;v&&(T=T.transition().each(\"end\",function(){var F=HCe.select(this);R5.setSliceCursor(F,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})})),T.each(function(F){F._x0=u(F.x0),F._x1=u(F.x1),F._y0=c(F.y0),F._y1=c(F.y1),F._hoverX=u(F.x1-Math.min(s,l)/2),F._hoverY=c(F.y1-l/2);var q=HCe.select(this),V=BD.ensureSingle(q,\"path\",\"surface\",function(N){N.style(\"pointer-events\",k?\"none\":\"all\")});v?V.transition().attrTween(\"d\",function(N){var W=b(N,OW,E,[s,l]);return function(re){return f(W(re))}}):V.attr(\"d\",f),q.call(VCt,n,t,r,{styleOne:jCe,eventDataKeys:qW.eventDataKeys,transitionTime:qW.CLICK_TRANSITION_TIME,transitionEasing:qW.CLICK_TRANSITION_EASING}).call(R5.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),V.call(jCe,F,_,t,{hovered:!1}),F._text=(R5.getPtLabel(F)||\"\").split(\"<br>\").join(\" \")||\"\";var H=BD.ensureSingle(q,\"g\",\"slicetext\"),X=BD.ensureSingle(H,\"text\",\"\",function(N){N.attr(\"data-notex\",1)}),G=BD.ensureUniformFontSize(t,R5.determineTextFont(_,F,A.font,{onPathbar:!0}));X.text(F._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",\"start\").call(GCe.font,G).call(NCt.convertToTspans,t),F.textBB=GCe.bBox(X.node()),F.transform=h(F,{fontSize:G.size,onPathbar:!0}),F.transform.fontSize=G.size,v?X.transition().attrTween(\"transform\",function(N){var W=p(N,OW,E,[s,l]);return function(re){return d(W(re))}}):X.attr(\"transform\",d(F))})}});var JCe=ye((kdr,KCe)=>{\"use strict\";var XCe=xa(),BW=(R2(),B1(I2)).interpolate,Y_=Ky(),NE=Mr(),YCe=Qb().TEXTPAD,HCt=i2(),GCt=HCt.toMoveInsideBar,jCt=_v(),NW=jCt.recordMinTextSize,WCt=z2(),ZCt=ZCe();function q2(e){return Y_.isHierarchyRoot(e)?\"\":Y_.getPtId(e)}KCe.exports=function(t,r,n,i,a){var o=t._fullLayout,s=r[0],l=s.trace,u=l.type,c=u===\"icicle\",f=s.hierarchy,h=Y_.findEntryWithLevel(f,l.level),d=XCe.select(n),v=d.selectAll(\"g.pathbar\"),x=d.selectAll(\"g.slice\");if(!h){v.remove(),x.remove();return}var b=Y_.isHierarchyRoot(h),p=!o.uniformtext.mode&&Y_.hasTransition(i),E=Y_.getMaxDepth(l),k=function(Ke){return Ke.data.depth-h.data.depth<E},A=o._size,L=l.domain,_=A.w*(L.x[1]-L.x[0]),C=A.h*(L.y[1]-L.y[0]),M=_,g=l.pathbar.thickness,P=l.marker.line.width+WCt.gapWithPathbar,T=l.pathbar.visible?l.pathbar.side.indexOf(\"bottom\")>-1?C+P:-(g+P):0,F={x0:M,x1:M,y0:T,y1:T+g},q=function(Ke,xt,bt){var Lt=l.tiling.pad,St=function($t){return $t-Lt<=xt.x0},Et=function($t){return $t+Lt>=xt.x1},dt=function($t){return $t-Lt<=xt.y0},Ht=function($t){return $t+Lt>=xt.y1};return Ke.x0===xt.x0&&Ke.x1===xt.x1&&Ke.y0===xt.y0&&Ke.y1===xt.y1?{x0:Ke.x0,x1:Ke.x1,y0:Ke.y0,y1:Ke.y1}:{x0:St(Ke.x0-Lt)?0:Et(Ke.x0-Lt)?bt[0]:Ke.x0,x1:St(Ke.x1+Lt)?0:Et(Ke.x1+Lt)?bt[0]:Ke.x1,y0:dt(Ke.y0-Lt)?0:Ht(Ke.y0-Lt)?bt[1]:Ke.y0,y1:dt(Ke.y1+Lt)?0:Ht(Ke.y1+Lt)?bt[1]:Ke.y1}},V=null,H={},X={},G=null,N=function(Ke,xt){return xt?H[q2(Ke)]:X[q2(Ke)]},W=function(Ke,xt,bt,Lt){if(xt)return H[q2(f)]||F;var St=X[l.level]||bt;return k(Ke)?q(Ke,St,Lt):{}};s.hasMultipleRoots&&b&&E++,l._maxDepth=E,l._backgroundColor=o.paper_bgcolor,l._entryDepth=h.data.depth,l._atRootLevel=b;var re=-_/2+A.l+A.w*(L.x[1]+L.x[0])/2,ae=-C/2+A.t+A.h*(1-(L.y[1]+L.y[0])/2),_e=function(Ke){return re+Ke},Me=function(Ke){return ae+Ke},ke=Me(0),ge=_e(0),ie=function(Ke){return ge+Ke},Te=function(Ke){return ke+Ke};function Ee(Ke,xt){return Ke+\",\"+xt}var Ae=ie(0),ze=function(Ke){Ke.x=Math.max(Ae,Ke.x)},Ce=l.pathbar.edgeshape,me=function(Ke){var xt=ie(Math.max(Math.min(Ke.x0,Ke.x0),0)),bt=ie(Math.min(Math.max(Ke.x1,Ke.x1),M)),Lt=Te(Ke.y0),St=Te(Ke.y1),Et=g/2,dt={},Ht={};dt.x=xt,Ht.x=bt,dt.y=Ht.y=(Lt+St)/2;var $t={x:xt,y:Lt},fr={x:bt,y:Lt},_r={x:bt,y:St},Br={x:xt,y:St};return Ce===\">\"?($t.x-=Et,fr.x-=Et,_r.x-=Et,Br.x-=Et):Ce===\"/\"?(_r.x-=Et,Br.x-=Et,dt.x-=Et/2,Ht.x-=Et/2):Ce===\"\\\\\"?($t.x-=Et,fr.x-=Et,dt.x-=Et/2,Ht.x-=Et/2):Ce===\"<\"&&(dt.x-=Et,Ht.x-=Et),ze($t),ze(Br),ze(dt),ze(fr),ze(_r),ze(Ht),\"M\"+Ee($t.x,$t.y)+\"L\"+Ee(fr.x,fr.y)+\"L\"+Ee(Ht.x,Ht.y)+\"L\"+Ee(_r.x,_r.y)+\"L\"+Ee(Br.x,Br.y)+\"L\"+Ee(dt.x,dt.y)+\"Z\"},Re=l[c?\"tiling\":\"marker\"].pad,ce=function(Ke){return l.textposition.indexOf(Ke)!==-1},Ge=ce(\"top\"),nt=ce(\"left\"),ct=ce(\"right\"),qt=ce(\"bottom\"),rt=function(Ke){var xt=_e(Ke.x0),bt=_e(Ke.x1),Lt=Me(Ke.y0),St=Me(Ke.y1),Et=bt-xt,dt=St-Lt;if(!Et||!dt)return\"\";var Ht=l.marker.cornerradius||0,$t=Math.min(Ht,Et/2,dt/2);$t&&Ke.data&&Ke.data.data&&Ke.data.data.label&&(Ge&&($t=Math.min($t,Re.t)),nt&&($t=Math.min($t,Re.l)),ct&&($t=Math.min($t,Re.r)),qt&&($t=Math.min($t,Re.b)));var fr=function(_r,Br){return $t?\"a\"+Ee($t,$t)+\" 0 0 1 \"+Ee(_r,Br):\"\"};return\"M\"+Ee(xt,Lt+$t)+fr($t,-$t)+\"L\"+Ee(bt-$t,Lt)+fr($t,$t)+\"L\"+Ee(bt,St-$t)+fr(-$t,$t)+\"L\"+Ee(xt+$t,St)+fr(-$t,-$t)+\"Z\"},ot=function(Ke,xt){var bt=Ke.x0,Lt=Ke.x1,St=Ke.y0,Et=Ke.y1,dt=Ke.textBB,Ht=Ge||xt.isHeader&&!qt,$t=Ht?\"start\":qt?\"end\":\"middle\",fr=ce(\"right\"),_r=ce(\"left\")||xt.onPathbar,Br=_r?-1:fr?1:0;if(xt.isHeader){if(bt+=(c?Re:Re.l)-YCe,Lt-=(c?Re:Re.r)-YCe,bt>=Lt){var Or=(bt+Lt)/2;bt=Or,Lt=Or}var Nr;qt?(Nr=Et-(c?Re:Re.b),St<Nr&&Nr<Et&&(St=Nr)):(Nr=St+(c?Re:Re.t),St<Nr&&Nr<Et&&(Et=Nr))}var ut=GCt(bt,Lt,St,Et,dt,{isHorizontal:!1,constrained:!0,angle:0,anchor:$t,leftToRight:Br});return ut.fontSize=xt.fontSize,ut.targetX=_e(ut.targetX),ut.targetY=Me(ut.targetY),isNaN(ut.targetX)||isNaN(ut.targetY)?{}:(bt!==Lt&&St!==Et&&NW(l.type,ut,o),{scale:ut.scale,rotate:ut.rotate,textX:ut.textX,textY:ut.textY,anchorX:ut.anchorX,anchorY:ut.anchorY,targetX:ut.targetX,targetY:ut.targetY})},Rt=function(Ke,xt){for(var bt,Lt=0,St=Ke;!bt&&Lt<E;)Lt++,St=St.parent,St?bt=N(St,xt):Lt=E;return bt||{}},kt=function(Ke,xt,bt,Lt){var St=N(Ke,xt),Et;if(xt)Et=F;else{var dt=N(h,xt);dt?Et=q(Ke,dt,Lt):Et={}}return BW(St,Et)},Ct=function(Ke,xt,bt,Lt,St){var Et=N(Ke,xt),dt;if(Et)dt=Et;else if(xt)dt=F;else if(V)if(Ke.parent){var Ht=G||bt;Ht&&!xt?dt=q(Ke,Ht,Lt):(dt={},NE.extendFlat(dt,Rt(Ke,xt)))}else dt=NE.extendFlat({},Ke),c&&(St.orientation===\"h\"?St.flipX?dt.x0=Ke.x1:dt.x1=0:St.flipY?dt.y0=Ke.y1:dt.y1=0);else dt={};return BW(dt,{x0:Ke.x0,x1:Ke.x1,y0:Ke.y0,y1:Ke.y1})},Yt=function(Ke,xt,bt,Lt){var St=N(Ke,xt),Et={},dt=W(Ke,xt,bt,Lt);NE.extendFlat(Et,{transform:ot({x0:dt.x0,x1:dt.x1,y0:dt.y0,y1:dt.y1,textBB:Ke.textBB,_text:Ke._text},{isHeader:Y_.isHeader(Ke,l)})}),St?Et=St:Ke.parent&&NE.extendFlat(Et,Rt(Ke,xt));var Ht=Ke.transform;return Ke.x0!==Ke.x1&&Ke.y0!==Ke.y1&&NW(l.type,Ht,o),BW(Et,{transform:{scale:Ht.scale,rotate:Ht.rotate,textX:Ht.textX,textY:Ht.textY,anchorX:Ht.anchorX,anchorY:Ht.anchorY,targetX:Ht.targetX,targetY:Ht.targetY}})},xr=function(Ke,xt,bt,Lt,St){var Et=Lt[0],dt=Lt[1];p?Ke.exit().transition().each(function(){var Ht=XCe.select(this),$t=Ht.select(\"path.surface\");$t.transition().attrTween(\"d\",function(_r){var Br=kt(_r,xt,bt,[Et,dt]);return function(Or){return St(Br(Or))}});var fr=Ht.select(\"g.slicetext\");fr.attr(\"opacity\",0)}).remove():Ke.exit().remove()},er=function(Ke){var xt=Ke.transform;return Ke.x0!==Ke.x1&&Ke.y0!==Ke.y1&&NW(l.type,xt,o),NE.getTextTransform({textX:xt.textX,textY:xt.textY,anchorX:xt.anchorX,anchorY:xt.anchorY,targetX:xt.targetX,targetY:xt.targetY,scale:xt.scale,rotate:xt.rotate})};p&&(v.each(function(Ke){H[q2(Ke)]={x0:Ke.x0,x1:Ke.x1,y0:Ke.y0,y1:Ke.y1},Ke.transform&&(H[q2(Ke)].transform={textX:Ke.transform.textX,textY:Ke.transform.textY,anchorX:Ke.transform.anchorX,anchorY:Ke.transform.anchorY,targetX:Ke.transform.targetX,targetY:Ke.transform.targetY,scale:Ke.transform.scale,rotate:Ke.transform.rotate})}),x.each(function(Ke){X[q2(Ke)]={x0:Ke.x0,x1:Ke.x1,y0:Ke.y0,y1:Ke.y1},Ke.transform&&(X[q2(Ke)].transform={textX:Ke.transform.textX,textY:Ke.transform.textY,anchorX:Ke.transform.anchorX,anchorY:Ke.transform.anchorY,targetX:Ke.transform.targetX,targetY:Ke.transform.targetY,scale:Ke.transform.scale,rotate:Ke.transform.rotate}),!V&&Y_.isEntry(Ke)&&(V=Ke)})),G=a(t,r,h,x,{width:_,height:C,viewX:_e,viewY:Me,pathSlice:rt,toMoveInsideSlice:ot,prevEntry:V,makeUpdateSliceInterpolator:Ct,makeUpdateTextInterpolator:Yt,handleSlicesExit:xr,hasTransition:p,strTransform:er}),l.pathbar.visible?ZCt(t,r,h,v,{barDifY:T,width:M,height:g,viewX:ie,viewY:Te,pathSlice:me,toMoveInsideSlice:ot,makeUpdateSliceInterpolator:Ct,makeUpdateTextInterpolator:Yt,handleSlicesExit:xr,hasTransition:p,strTransform:er}):v.remove()}});var UW=ye((Cdr,QCe)=>{\"use strict\";var XCt=xa(),YCt=Ky(),KCt=_v(),JCt=KCt.clearMinTextSize,$Ct=N0().resizeText,$Ce=JCe();QCe.exports=function(t,r,n,i,a){var o=a.type,s=a.drawDescendants,l=t._fullLayout,u=l[\"_\"+o+\"layer\"],c,f,h=!n;if(JCt(o,l),c=u.selectAll(\"g.trace.\"+o).data(r,function(v){return v[0].trace.uid}),c.enter().append(\"g\").classed(\"trace\",!0).classed(o,!0),c.order(),!l.uniformtext.mode&&YCt.hasTransition(n)){i&&(f=i());var d=XCt.transition().duration(n.duration).ease(n.easing).each(\"end\",function(){f&&f()}).each(\"interrupt\",function(){f&&f()});d.each(function(){u.selectAll(\"g.trace\").each(function(v){$Ce(t,v,this,n,s)})})}else c.each(function(v){$Ce(t,v,this,n,s)}),l.uniformtext.mode&&$Ct(t,u.selectAll(\".trace\"),o);h&&c.exit().remove()}});var n6e=ye((Ldr,i6e)=>{\"use strict\";var e6e=xa(),ND=Mr(),t6e=ao(),QCt=Pl(),e6t=zW(),r6e=OD().styleOne,VW=z2(),K_=Ky(),t6t=OE(),r6t=FD().formatSliceLabel,HW=!1;i6e.exports=function(t,r,n,i,a){var o=a.width,s=a.height,l=a.viewX,u=a.viewY,c=a.pathSlice,f=a.toMoveInsideSlice,h=a.strTransform,d=a.hasTransition,v=a.handleSlicesExit,x=a.makeUpdateSliceInterpolator,b=a.makeUpdateTextInterpolator,p=a.prevEntry,E={},k=t._context.staticPlot,A=t._fullLayout,L=r[0],_=L.trace,C=_.textposition.indexOf(\"left\")!==-1,M=_.textposition.indexOf(\"right\")!==-1,g=_.textposition.indexOf(\"bottom\")!==-1,P=!g&&!_.marker.pad.t||g&&!_.marker.pad.b,T=e6t(n,[o,s],{packing:_.tiling.packing,squarifyratio:_.tiling.squarifyratio,flipX:_.tiling.flip.indexOf(\"x\")>-1,flipY:_.tiling.flip.indexOf(\"y\")>-1,pad:{inner:_.tiling.pad,top:_.marker.pad.t,left:_.marker.pad.l,right:_.marker.pad.r,bottom:_.marker.pad.b}}),F=T.descendants(),q=1/0,V=-1/0;F.forEach(function(W){var re=W.depth;re>=_._maxDepth?(W.x0=W.x1=(W.x0+W.x1)/2,W.y0=W.y1=(W.y0+W.y1)/2):(q=Math.min(q,re),V=Math.max(V,re))}),i=i.data(F,K_.getPtId),_._maxVisibleLayers=isFinite(V)?V-q+1:0,i.enter().append(\"g\").classed(\"slice\",!0),v(i,HW,E,[o,s],c),i.order();var H=null;if(d&&p){var X=K_.getPtId(p);i.each(function(W){H===null&&K_.getPtId(W)===X&&(H={x0:W.x0,x1:W.x1,y0:W.y0,y1:W.y1})})}var G=function(){return H||{x0:0,x1:o,y0:0,y1:s}},N=i;return d&&(N=N.transition().each(\"end\",function(){var W=e6e.select(this);K_.setSliceCursor(W,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),N.each(function(W){var re=K_.isHeader(W,_);W._x0=l(W.x0),W._x1=l(W.x1),W._y0=u(W.y0),W._y1=u(W.y1),W._hoverX=l(W.x1-_.marker.pad.r),W._hoverY=u(g?W.y1-_.marker.pad.b/2:W.y0+_.marker.pad.t/2);var ae=e6e.select(this),_e=ND.ensureSingle(ae,\"path\",\"surface\",function(Ee){Ee.style(\"pointer-events\",k?\"none\":\"all\")});d?_e.transition().attrTween(\"d\",function(Ee){var Ae=x(Ee,HW,G(),[o,s]);return function(ze){return c(Ae(ze))}}):_e.attr(\"d\",c),ae.call(t6t,n,t,r,{styleOne:r6e,eventDataKeys:VW.eventDataKeys,transitionTime:VW.CLICK_TRANSITION_TIME,transitionEasing:VW.CLICK_TRANSITION_EASING}).call(K_.setSliceCursor,t,{isTransitioning:t._transitioning}),_e.call(r6e,W,_,t,{hovered:!1}),W.x0===W.x1||W.y0===W.y1?W._text=\"\":re?W._text=P?\"\":K_.getPtLabel(W)||\"\":W._text=r6t(W,n,_,r,A)||\"\";var Me=ND.ensureSingle(ae,\"g\",\"slicetext\"),ke=ND.ensureSingle(Me,\"text\",\"\",function(Ee){Ee.attr(\"data-notex\",1)}),ge=ND.ensureUniformFontSize(t,K_.determineTextFont(_,W,A.font)),ie=W._text||\" \",Te=re&&ie.indexOf(\"<br>\")===-1;ke.text(ie).classed(\"slicetext\",!0).attr(\"text-anchor\",M?\"end\":C||Te?\"start\":\"middle\").call(t6e.font,ge).call(QCt.convertToTspans,t),W.textBB=t6e.bBox(ke.node()),W.transform=f(W,{fontSize:ge.size,isHeader:re}),W.transform.fontSize=ge.size,d?ke.transition().attrTween(\"transform\",function(Ee){var Ae=b(Ee,HW,G(),[o,s]);return function(ze){return h(Ae(ze))}}):ke.attr(\"transform\",h(W))}),H}});var o6e=ye((Pdr,a6e)=>{\"use strict\";var i6t=UW(),n6t=n6e();a6e.exports=function(t,r,n,i){return i6t(t,r,n,i,{type:\"treemap\",drawDescendants:n6t})}});var l6e=ye((Idr,s6e)=>{\"use strict\";s6e.exports={moduleType:\"trace\",name:\"treemap\",basePlotModule:SCe(),categories:[],animatable:!0,attributes:qD(),layoutAttributes:PW(),supplyDefaults:RCe(),supplyLayoutDefaults:zCe(),calc:RW().calc,crossTraceCalc:RW().crossTraceCalc,plot:o6e(),style:OD().style,colorbar:Kd(),meta:{}}});var c6e=ye((Rdr,u6e)=>{\"use strict\";u6e.exports=l6e()});var h6e=ye(D5=>{\"use strict\";var f6e=Xu();D5.name=\"icicle\";D5.plot=function(e,t,r,n){f6e.plotBasePlot(D5.name,e,t,r,n)};D5.clean=function(e,t,r,n){f6e.cleanBasePlot(D5.name,e,t,r,n)}});var GW=ye((zdr,v6e)=>{\"use strict\";var a6t=Wo().hovertemplateAttrs,o6t=Wo().texttemplateAttrs,s6t=Jl(),l6t=Ju().attributes,UE=A2(),o0=AE(),UD=qD(),d6e=z2(),u6t=no().extendFlat,c6t=Ed().pattern;v6e.exports={labels:o0.labels,parents:o0.parents,values:o0.values,branchvalues:o0.branchvalues,count:o0.count,level:o0.level,maxdepth:o0.maxdepth,tiling:{orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\",editType:\"plot\"},flip:UD.tiling.flip,pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},marker:u6t({colors:o0.marker.colors,line:o0.marker.line,pattern:c6t,editType:\"calc\"},s6t(\"marker\",{colorAttr:\"colors\",anim:!1})),leaf:o0.leaf,pathbar:UD.pathbar,text:UE.text,textinfo:o0.textinfo,texttemplate:o6t({editType:\"plot\"},{keys:d6e.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:UE.hovertext,hoverinfo:o0.hoverinfo,hovertemplate:a6t({},{keys:d6e.eventDataKeys}),textfont:UE.textfont,insidetextfont:UE.insidetextfont,outsidetextfont:UD.outsidetextfont,textposition:UD.textposition,sort:UE.sort,root:o0.root,domain:l6t({name:\"icicle\",trace:!0,editType:\"calc\"})}});var jW=ye((Fdr,p6e)=>{\"use strict\";p6e.exports={iciclecolorway:{valType:\"colorlist\",editType:\"calc\"},extendiciclecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var _6e=ye((qdr,y6e)=>{\"use strict\";var g6e=Mr(),f6t=GW(),h6t=va(),d6t=Ju().defaults,v6t=r0().handleText,p6t=Qb().TEXTPAD,g6t=S2().handleMarkerDefaults,m6e=Mu(),m6t=m6e.hasColorscale,y6t=m6e.handleDefaults;y6e.exports=function(t,r,n,i){function a(d,v){return g6e.coerce(t,r,f6t,d,v)}var o=a(\"labels\"),s=a(\"parents\");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a(\"values\");l&&l.length?a(\"branchvalues\"):a(\"count\"),a(\"level\"),a(\"maxdepth\"),a(\"tiling.orientation\"),a(\"tiling.flip\"),a(\"tiling.pad\");var u=a(\"text\");a(\"texttemplate\"),r.texttemplate||a(\"textinfo\",g6e.isArrayOrTypedArray(u)?\"text+label\":\"label\"),a(\"hovertext\"),a(\"hovertemplate\");var c=a(\"pathbar.visible\"),f=\"auto\";v6t(t,r,i,a,f,{hasPathbar:c,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a(\"textposition\"),g6t(t,r,i,a);var h=r._hasColorscale=m6t(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;h&&y6t(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}),a(\"leaf.opacity\",h?1:.7),r._hovered={marker:{line:{width:2,color:h6t.contrast(i.paper_bgcolor)}}},c&&(a(\"pathbar.thickness\",r.pathbar.textfont.size+2*p6t),a(\"pathbar.side\"),a(\"pathbar.edgeshape\")),a(\"sort\"),a(\"root.color\"),d6t(r,i,a),r._length=null}});var b6e=ye((Odr,x6e)=>{\"use strict\";var _6t=Mr(),x6t=jW();x6e.exports=function(t,r){function n(i,a){return _6t.coerce(t,r,x6t,i,a)}n(\"iciclecolorway\",r.colorway),n(\"extendiciclecolors\")}});var ZW=ye(WW=>{\"use strict\";var w6e=EE();WW.calc=function(e,t){return w6e.calc(e,t)};WW.crossTraceCalc=function(e){return w6e._runCrossTraceCalc(\"icicle\",e)}});var A6e=ye((Ndr,T6e)=>{\"use strict\";var b6t=SE(),w6t=DW();T6e.exports=function(t,r,n){var i=n.flipX,a=n.flipY,o=n.orientation===\"h\",s=n.maxDepth,l=r[0],u=r[1];s&&(l=(t.height+1)*r[0]/Math.min(t.height+1,s),u=(t.height+1)*r[1]/Math.min(t.height+1,s));var c=b6t.partition().padding(n.pad.inner).size(o?[r[1],l]:[r[0],u])(t);return(o||i||a)&&w6t(c,r,{swapXY:o,flipX:i,flipY:a}),c}});var XW=ye((Udr,C6e)=>{\"use strict\";var S6e=xa(),M6e=va(),E6e=Mr(),T6t=_v().resizeText,A6t=DD();function S6t(e){var t=e._fullLayout._iciclelayer.selectAll(\".trace\");T6t(e,t,\"icicle\"),t.each(function(r){var n=S6e.select(this),i=r[0],a=i.trace;n.style(\"opacity\",a.opacity),n.selectAll(\"path.surface\").each(function(o){S6e.select(this).call(k6e,o,a,e)})})}function k6e(e,t,r,n){var i=t.data.data,a=!t.children,o=i.i,s=E6e.castOption(r,o,\"marker.line.color\")||M6e.defaultLine,l=E6e.castOption(r,o,\"marker.line.width\")||0;e.call(A6t,t,r,n).style(\"stroke-width\",l).call(M6e.stroke,s).style(\"opacity\",a?r.leaf.opacity:null)}C6e.exports={style:S6t,styleOne:k6e}});var D6e=ye((Vdr,R6e)=>{\"use strict\";var L6e=xa(),VD=Mr(),P6e=ao(),M6t=Pl(),E6t=A6e(),I6e=XW().styleOne,YW=z2(),z5=Ky(),k6t=OE(),C6t=FD().formatSliceLabel,KW=!1;R6e.exports=function(t,r,n,i,a){var o=a.width,s=a.height,l=a.viewX,u=a.viewY,c=a.pathSlice,f=a.toMoveInsideSlice,h=a.strTransform,d=a.hasTransition,v=a.handleSlicesExit,x=a.makeUpdateSliceInterpolator,b=a.makeUpdateTextInterpolator,p=a.prevEntry,E={},k=t._context.staticPlot,A=t._fullLayout,L=r[0],_=L.trace,C=_.textposition.indexOf(\"left\")!==-1,M=_.textposition.indexOf(\"right\")!==-1,g=_.textposition.indexOf(\"bottom\")!==-1,P=E6t(n,[o,s],{flipX:_.tiling.flip.indexOf(\"x\")>-1,flipY:_.tiling.flip.indexOf(\"y\")>-1,orientation:_.tiling.orientation,pad:{inner:_.tiling.pad},maxDepth:_._maxDepth}),T=P.descendants(),F=1/0,q=-1/0;T.forEach(function(N){var W=N.depth;W>=_._maxDepth?(N.x0=N.x1=(N.x0+N.x1)/2,N.y0=N.y1=(N.y0+N.y1)/2):(F=Math.min(F,W),q=Math.max(q,W))}),i=i.data(T,z5.getPtId),_._maxVisibleLayers=isFinite(q)?q-F+1:0,i.enter().append(\"g\").classed(\"slice\",!0),v(i,KW,E,[o,s],c),i.order();var V=null;if(d&&p){var H=z5.getPtId(p);i.each(function(N){V===null&&z5.getPtId(N)===H&&(V={x0:N.x0,x1:N.x1,y0:N.y0,y1:N.y1})})}var X=function(){return V||{x0:0,x1:o,y0:0,y1:s}},G=i;return d&&(G=G.transition().each(\"end\",function(){var N=L6e.select(this);z5.setSliceCursor(N,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),G.each(function(N){N._x0=l(N.x0),N._x1=l(N.x1),N._y0=u(N.y0),N._y1=u(N.y1),N._hoverX=l(N.x1-_.tiling.pad),N._hoverY=u(g?N.y1-_.tiling.pad/2:N.y0+_.tiling.pad/2);var W=L6e.select(this),re=VD.ensureSingle(W,\"path\",\"surface\",function(ke){ke.style(\"pointer-events\",k?\"none\":\"all\")});d?re.transition().attrTween(\"d\",function(ke){var ge=x(ke,KW,X(),[o,s],{orientation:_.tiling.orientation,flipX:_.tiling.flip.indexOf(\"x\")>-1,flipY:_.tiling.flip.indexOf(\"y\")>-1});return function(ie){return c(ge(ie))}}):re.attr(\"d\",c),W.call(k6t,n,t,r,{styleOne:I6e,eventDataKeys:YW.eventDataKeys,transitionTime:YW.CLICK_TRANSITION_TIME,transitionEasing:YW.CLICK_TRANSITION_EASING}).call(z5.setSliceCursor,t,{isTransitioning:t._transitioning}),re.call(I6e,N,_,t,{hovered:!1}),N.x0===N.x1||N.y0===N.y1?N._text=\"\":N._text=C6t(N,n,_,r,A)||\"\";var ae=VD.ensureSingle(W,\"g\",\"slicetext\"),_e=VD.ensureSingle(ae,\"text\",\"\",function(ke){ke.attr(\"data-notex\",1)}),Me=VD.ensureUniformFontSize(t,z5.determineTextFont(_,N,A.font));_e.text(N._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",M?\"end\":C?\"start\":\"middle\").call(P6e.font,Me).call(M6t.convertToTspans,t),N.textBB=P6e.bBox(_e.node()),N.transform=f(N,{fontSize:Me.size}),N.transform.fontSize=Me.size,d?_e.transition().attrTween(\"transform\",function(ke){var ge=b(ke,KW,X(),[o,s]);return function(ie){return h(ge(ie))}}):_e.attr(\"transform\",h(N))}),V}});var F6e=ye((Hdr,z6e)=>{\"use strict\";var L6t=UW(),P6t=D6e();z6e.exports=function(t,r,n,i){return L6t(t,r,n,i,{type:\"icicle\",drawDescendants:P6t})}});var O6e=ye((Gdr,q6e)=>{\"use strict\";q6e.exports={moduleType:\"trace\",name:\"icicle\",basePlotModule:h6e(),categories:[],animatable:!0,attributes:GW(),layoutAttributes:jW(),supplyDefaults:_6e(),supplyLayoutDefaults:b6e(),calc:ZW().calc,crossTraceCalc:ZW().crossTraceCalc,plot:F6e(),style:XW().style,colorbar:Kd(),meta:{}}});var N6e=ye((jdr,B6e)=>{\"use strict\";B6e.exports=O6e()});var V6e=ye(F5=>{\"use strict\";var U6e=Xu();F5.name=\"funnelarea\";F5.plot=function(e,t,r,n){U6e.plotBasePlot(F5.name,e,t,r,n)};F5.clean=function(e,t,r,n){U6e.cleanBasePlot(F5.name,e,t,r,n)}});var JW=ye((Zdr,H6e)=>{\"use strict\";var tv=A2(),I6t=vl(),R6t=Ju().attributes,D6t=Wo().hovertemplateAttrs,z6t=Wo().texttemplateAttrs,O2=no().extendFlat;H6e.exports={labels:tv.labels,label0:tv.label0,dlabel:tv.dlabel,values:tv.values,marker:{colors:tv.marker.colors,line:{color:O2({},tv.marker.line.color,{dflt:null}),width:O2({},tv.marker.line.width,{dflt:1}),editType:\"calc\"},pattern:tv.marker.pattern,editType:\"calc\"},text:tv.text,hovertext:tv.hovertext,scalegroup:O2({},tv.scalegroup,{}),textinfo:O2({},tv.textinfo,{flags:[\"label\",\"text\",\"value\",\"percent\"]}),texttemplate:z6t({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),hoverinfo:O2({},I6t.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:D6t({},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),textposition:O2({},tv.textposition,{values:[\"inside\",\"none\"],dflt:\"inside\"}),textfont:tv.textfont,insidetextfont:tv.insidetextfont,title:{text:tv.title.text,font:tv.title.font,position:O2({},tv.title.position,{values:[\"top left\",\"top center\",\"top right\"],dflt:\"top center\"}),editType:\"plot\"},domain:R6t({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\"}}});var $W=ye((Xdr,G6e)=>{\"use strict\";var F6t=uD().hiddenlabels;G6e.exports={hiddenlabels:F6t,funnelareacolorway:{valType:\"colorlist\",editType:\"calc\"},extendfunnelareacolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var Z6e=ye((Ydr,W6e)=>{\"use strict\";var j6e=Mr(),q6t=JW(),O6t=Ju().defaults,B6t=r0().handleText,N6t=S2().handleLabelsAndValues,U6t=S2().handleMarkerDefaults;W6e.exports=function(t,r,n,i){function a(x,b){return j6e.coerce(t,r,q6t,x,b)}var o=a(\"labels\"),s=a(\"values\"),l=N6t(o,s),u=l.len;if(r._hasLabels=l.hasLabels,r._hasValues=l.hasValues,!r._hasLabels&&r._hasValues&&(a(\"label0\"),a(\"dlabel\")),!u){r.visible=!1;return}r._length=u,U6t(t,r,i,a),a(\"scalegroup\");var c=a(\"text\"),f=a(\"texttemplate\"),h;if(f||(h=a(\"textinfo\",Array.isArray(c)?\"text+percent\":\"percent\")),a(\"hovertext\"),a(\"hovertemplate\"),f||h&&h!==\"none\"){var d=a(\"textposition\");B6t(t,r,i,a,d,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else h===\"none\"&&a(\"textposition\",\"none\");O6t(r,i,a);var v=a(\"title.text\");v&&(a(\"title.position\"),j6e.coerceFont(a,\"title.font\",i.font)),a(\"aspectratio\"),a(\"baseratio\")}});var Y6e=ye((Kdr,X6e)=>{\"use strict\";var V6t=Mr(),H6t=$W();X6e.exports=function(t,r){function n(i,a){return V6t.coerce(t,r,H6t,i,a)}n(\"hiddenlabels\"),n(\"funnelareacolorway\",r.colorway),n(\"extendfunnelareacolors\")}});var QW=ye((Jdr,J6e)=>{\"use strict\";var K6e=y5();function G6t(e,t){return K6e.calc(e,t)}function j6t(e){K6e.crossTraceCalc(e,{type:\"funnelarea\"})}J6e.exports={calc:G6t,crossTraceCalc:j6t}});var rLe=ye(($dr,tLe)=>{\"use strict\";var B2=xa(),eZ=ao(),J_=Mr(),W6t=J_.strScale,$6e=J_.strTranslate,Q6e=Pl(),Z6t=i2(),X6t=Z6t.toMoveInsideBar,eLe=_v(),Y6t=eLe.recordMinTextSize,K6t=eLe.clearMinTextSize,J6t=u_(),q5=dD(),$6t=q5.attachFxHandlers,Q6t=q5.determineInsideTextFont,eLt=q5.layoutAreas,tLt=q5.prerenderTitles,rLt=q5.positionTitleOutside,iLt=q5.formatSliceLabel;tLe.exports=function(t,r){var n=t._context.staticPlot,i=t._fullLayout;K6t(\"funnelarea\",i),tLt(r,t),eLt(r,i._size),J_.makeTraceGroups(i._funnelarealayer,r,\"trace\").each(function(a){var o=B2.select(this),s=a[0],l=s.trace;aLt(a),o.each(function(){var u=B2.select(this).selectAll(\"g.slice\").data(a);u.enter().append(\"g\").classed(\"slice\",!0),u.exit().remove(),u.each(function(f,h){if(f.hidden){B2.select(this).selectAll(\"path,g\").remove();return}f.pointNumber=f.i,f.curveNumber=l.index;var d=s.cx,v=s.cy,x=B2.select(this),b=x.selectAll(\"path.surface\").data([f]);b.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":n?\"none\":\"all\"}),x.call($6t,t,a);var p=\"M\"+(d+f.TR[0])+\",\"+(v+f.TR[1])+tZ(f.TR,f.BR)+tZ(f.BR,f.BL)+tZ(f.BL,f.TL)+\"Z\";b.attr(\"d\",p),iLt(t,f,s);var E=J6t.castOption(l.textposition,f.pts),k=x.selectAll(\"g.slicetext\").data(f.text&&E!==\"none\"?[0]:[]);k.enter().append(\"g\").classed(\"slicetext\",!0),k.exit().remove(),k.each(function(){var A=J_.ensureSingle(B2.select(this),\"text\",\"\",function(F){F.attr(\"data-notex\",1)}),L=J_.ensureUniformFontSize(t,Q6t(l,f,i.font));A.text(f.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(eZ.font,L).call(Q6e.convertToTspans,t);var _=eZ.bBox(A.node()),C,M,g,P=Math.min(f.BL[1],f.BR[1])+v,T=Math.max(f.TL[1],f.TR[1])+v;M=Math.max(f.TL[0],f.BL[0])+d,g=Math.min(f.TR[0],f.BR[0])+d,C=X6t(M,g,P,T,_,{isHorizontal:!0,constrained:!0,angle:0,anchor:\"middle\"}),C.fontSize=L.size,Y6t(l.type,C,i),a[h].transform=C,J_.setTransormAndDisplay(A,C)})});var c=B2.select(this).selectAll(\"g.titletext\").data(l.title.text?[0]:[]);c.enter().append(\"g\").classed(\"titletext\",!0),c.exit().remove(),c.each(function(){var f=J_.ensureSingle(B2.select(this),\"text\",\"\",function(v){v.attr(\"data-notex\",1)}),h=l.title.text;l._meta&&(h=J_.templateString(h,l._meta)),f.text(h).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(eZ.font,l.title.font).call(Q6e.convertToTspans,t);var d=rLt(s,i._size);f.attr(\"transform\",$6e(d.x,d.y)+W6t(Math.min(1,d.scale))+$6e(d.tx,d.ty))})})})};function tZ(e,t){var r=t[0]-e[0],n=t[1]-e[1];return\"l\"+r+\",\"+n}function nLt(e,t){return[.5*(e[0]+t[0]),.5*(e[1]+t[1])]}function aLt(e){if(!e.length)return;var t=e[0],r=t.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a=Math.pow(i,2),o=t.vTotal,s=o*a/(1-a),l=o,u=s/o;function c(){var q=Math.sqrt(u);return{x:q,y:-q}}function f(){var q=c();return[q.x,q.y]}var h,d=[];d.push(f());var v,x;for(v=e.length-1;v>-1;v--)if(x=e[v],!x.hidden){var b=x.v/l;u+=b,d.push(f())}var p=1/0,E=-1/0;for(v=0;v<d.length;v++)h=d[v],p=Math.min(p,h[1]),E=Math.max(E,h[1]);for(v=0;v<d.length;v++)d[v][1]-=(E+p)/2;var k=d[d.length-1][0],A=t.r,L=(E-p)/2,_=A/k,C=A/L*n;for(t.r=C*L,v=0;v<d.length;v++)d[v][0]*=_,d[v][1]*=C;h=d[0];var M=[-h[0],h[1]],g=[h[0],h[1]],P=0;for(v=e.length-1;v>-1;v--)if(x=e[v],!x.hidden){P+=1;var T=d[P][0],F=d[P][1];x.TL=[-T,F],x.TR=[T,F],x.BL=M,x.BR=g,x.pxmid=nLt(x.TR,x.BR),M=x.TL,g=x.TR}}});var aLe=ye((Qdr,nLe)=>{\"use strict\";var iLe=xa(),oLt=z3(),sLt=_v().resizeText;nLe.exports=function(t){var r=t._fullLayout._funnelarealayer.selectAll(\".trace\");sLt(t,r,\"funnelarea\"),r.each(function(n){var i=n[0],a=i.trace,o=iLe.select(this);o.style({opacity:a.opacity}),o.selectAll(\"path.surface\").each(function(s){iLe.select(this).call(oLt,s,a,t)})})}});var sLe=ye((evr,oLe)=>{\"use strict\";oLe.exports={moduleType:\"trace\",name:\"funnelarea\",basePlotModule:V6e(),categories:[\"pie-like\",\"funnelarea\",\"showLegend\"],attributes:JW(),layoutAttributes:$W(),supplyDefaults:Z6e(),supplyLayoutDefaults:Y6e(),calc:QW().calc,crossTraceCalc:QW().crossTraceCalc,plot:rLe(),style:aLe(),styleOne:z3(),meta:{}}});var uLe=ye((tvr,lLe)=>{\"use strict\";lLe.exports=sLe()});var Rd=ye((rvr,cLe)=>{(function(){var e={1964:function(i,a,o){i.exports={alpha_shape:o(3502),convex_hull:o(7352),delaunay_triangulate:o(7642),gl_cone3d:o(6405),gl_error3d:o(9165),gl_line3d:o(5714),gl_mesh3d:o(7201),gl_plot3d:o(4100),gl_scatter3d:o(8418),gl_streamtube3d:o(7815),gl_surface3d:o(9499),ndarray:o(9618),ndarray_linear_interpolate:o(4317)}},4793:function(i,a,o){\"use strict\";var s;function l(Le,xe){if(!(Le instanceof xe))throw new TypeError(\"Cannot call a class as a function\")}function u(Le,xe){for(var Se=0;Se<xe.length;Se++){var lt=xe[Se];lt.enumerable=lt.enumerable||!1,lt.configurable=!0,\"value\"in lt&&(lt.writable=!0),Object.defineProperty(Le,f(lt.key),lt)}}function c(Le,xe,Se){return xe&&u(Le.prototype,xe),Se&&u(Le,Se),Object.defineProperty(Le,\"prototype\",{writable:!1}),Le}function f(Le){var xe=h(Le,\"string\");return A(xe)==\"symbol\"?xe:xe+\"\"}function h(Le,xe){if(A(Le)!=\"object\"||!Le)return Le;var Se=Le[Symbol.toPrimitive];if(Se!==void 0){var lt=Se.call(Le,xe||\"default\");if(A(lt)!=\"object\")return lt;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(xe===\"string\"?String:Number)(Le)}function d(Le,xe,Se){return xe=p(xe),v(Le,b()?Reflect.construct(xe,Se||[],p(Le).constructor):xe.apply(Le,Se))}function v(Le,xe){if(xe&&(A(xe)==\"object\"||typeof xe==\"function\"))return xe;if(xe!==void 0)throw new TypeError(\"Derived constructors may only return object or undefined\");return x(Le)}function x(Le){if(Le===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return Le}function b(){try{var Le=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(xe){}return(b=function(){return!!Le})()}function p(Le){return p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(xe){return xe.__proto__||Object.getPrototypeOf(xe)},p(Le)}function E(Le,xe){if(typeof xe!=\"function\"&&xe!==null)throw new TypeError(\"Super expression must either be null or a function\");Le.prototype=Object.create(xe&&xe.prototype,{constructor:{value:Le,writable:!0,configurable:!0}}),Object.defineProperty(Le,\"prototype\",{writable:!1}),xe&&k(Le,xe)}function k(Le,xe){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(Se,lt){return Se.__proto__=lt,Se},k(Le,xe)}function A(Le){\"@babel/helpers - typeof\";return A=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(xe){return typeof xe}:function(xe){return xe&&typeof Symbol==\"function\"&&xe.constructor===Symbol&&xe!==Symbol.prototype?\"symbol\":typeof xe},A(Le)}var L=o(7507),_=o(3778),C=typeof Symbol==\"function\"&&typeof Symbol.for==\"function\"?Symbol.for(\"nodejs.util.inspect.custom\"):null;a.hp=T,s=_e,a.IS=50;var M=2147483647;s=M,T.TYPED_ARRAY_SUPPORT=g(),!T.TYPED_ARRAY_SUPPORT&&typeof console!=\"undefined\"&&typeof console.error==\"function\"&&console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\");function g(){try{var Le=new Uint8Array(1),xe={foo:function(){return 42}};return Object.setPrototypeOf(xe,Uint8Array.prototype),Object.setPrototypeOf(Le,xe),Le.foo()===42}catch(Se){return!1}}Object.defineProperty(T.prototype,\"parent\",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.buffer}}),Object.defineProperty(T.prototype,\"offset\",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.byteOffset}});function P(Le){if(Le>M)throw new RangeError('The value \"'+Le+'\" is invalid for option \"size\"');var xe=new Uint8Array(Le);return Object.setPrototypeOf(xe,T.prototype),xe}function T(Le,xe,Se){if(typeof Le==\"number\"){if(typeof xe==\"string\")throw new TypeError('The \"string\" argument must be of type string. Received type number');return H(Le)}return F(Le,xe,Se)}T.poolSize=8192;function F(Le,xe,Se){if(typeof Le==\"string\")return X(Le,xe);if(ArrayBuffer.isView(Le))return N(Le);if(Le==null)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+A(Le));if(Ne(Le,ArrayBuffer)||Le&&Ne(Le.buffer,ArrayBuffer)||typeof SharedArrayBuffer!=\"undefined\"&&(Ne(Le,SharedArrayBuffer)||Le&&Ne(Le.buffer,SharedArrayBuffer)))return W(Le,xe,Se);if(typeof Le==\"number\")throw new TypeError('The \"value\" argument must not be of type number. Received type number');var lt=Le.valueOf&&Le.valueOf();if(lt!=null&<!==Le)return T.from(lt,xe,Se);var Gt=re(Le);if(Gt)return Gt;if(typeof Symbol!=\"undefined\"&&Symbol.toPrimitive!=null&&typeof Le[Symbol.toPrimitive]==\"function\")return T.from(Le[Symbol.toPrimitive](\"string\"),xe,Se);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+A(Le))}T.from=function(Le,xe,Se){return F(Le,xe,Se)},Object.setPrototypeOf(T.prototype,Uint8Array.prototype),Object.setPrototypeOf(T,Uint8Array);function q(Le){if(typeof Le!=\"number\")throw new TypeError('\"size\" argument must be of type number');if(Le<0)throw new RangeError('The value \"'+Le+'\" is invalid for option \"size\"')}function V(Le,xe,Se){return q(Le),Le<=0?P(Le):xe!==void 0?typeof Se==\"string\"?P(Le).fill(xe,Se):P(Le).fill(xe):P(Le)}T.alloc=function(Le,xe,Se){return V(Le,xe,Se)};function H(Le){return q(Le),P(Le<0?0:ae(Le)|0)}T.allocUnsafe=function(Le){return H(Le)},T.allocUnsafeSlow=function(Le){return H(Le)};function X(Le,xe){if((typeof xe!=\"string\"||xe===\"\")&&(xe=\"utf8\"),!T.isEncoding(xe))throw new TypeError(\"Unknown encoding: \"+xe);var Se=Me(Le,xe)|0,lt=P(Se),Gt=lt.write(Le,xe);return Gt!==Se&&(lt=lt.slice(0,Gt)),lt}function G(Le){for(var xe=Le.length<0?0:ae(Le.length)|0,Se=P(xe),lt=0;lt<xe;lt+=1)Se[lt]=Le[lt]&255;return Se}function N(Le){if(Ne(Le,Uint8Array)){var xe=new Uint8Array(Le);return W(xe.buffer,xe.byteOffset,xe.byteLength)}return G(Le)}function W(Le,xe,Se){if(xe<0||Le.byteLength<xe)throw new RangeError('\"offset\" is outside of buffer bounds');if(Le.byteLength<xe+(Se||0))throw new RangeError('\"length\" is outside of buffer bounds');var lt;return xe===void 0&&Se===void 0?lt=new Uint8Array(Le):Se===void 0?lt=new Uint8Array(Le,xe):lt=new Uint8Array(Le,xe,Se),Object.setPrototypeOf(lt,T.prototype),lt}function re(Le){if(T.isBuffer(Le)){var xe=ae(Le.length)|0,Se=P(xe);return Se.length===0||Le.copy(Se,0,0,xe),Se}if(Le.length!==void 0)return typeof Le.length!=\"number\"||Ye(Le.length)?P(0):G(Le);if(Le.type===\"Buffer\"&&Array.isArray(Le.data))return G(Le.data)}function ae(Le){if(Le>=M)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+M.toString(16)+\" bytes\");return Le|0}function _e(Le){return+Le!=Le&&(Le=0),T.alloc(+Le)}T.isBuffer=function(xe){return xe!=null&&xe._isBuffer===!0&&xe!==T.prototype},T.compare=function(xe,Se){if(Ne(xe,Uint8Array)&&(xe=T.from(xe,xe.offset,xe.byteLength)),Ne(Se,Uint8Array)&&(Se=T.from(Se,Se.offset,Se.byteLength)),!T.isBuffer(xe)||!T.isBuffer(Se))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(xe===Se)return 0;for(var lt=xe.length,Gt=Se.length,Vt=0,ar=Math.min(lt,Gt);Vt<ar;++Vt)if(xe[Vt]!==Se[Vt]){lt=xe[Vt],Gt=Se[Vt];break}return lt<Gt?-1:Gt<lt?1:0},T.isEncoding=function(xe){switch(String(xe).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},T.concat=function(xe,Se){if(!Array.isArray(xe))throw new TypeError('\"list\" argument must be an Array of Buffers');if(xe.length===0)return T.alloc(0);var lt;if(Se===void 0)for(Se=0,lt=0;lt<xe.length;++lt)Se+=xe[lt].length;var Gt=T.allocUnsafe(Se),Vt=0;for(lt=0;lt<xe.length;++lt){var ar=xe[lt];if(Ne(ar,Uint8Array))Vt+ar.length>Gt.length?(T.isBuffer(ar)||(ar=T.from(ar)),ar.copy(Gt,Vt)):Uint8Array.prototype.set.call(Gt,ar,Vt);else if(T.isBuffer(ar))ar.copy(Gt,Vt);else throw new TypeError('\"list\" argument must be an Array of Buffers');Vt+=ar.length}return Gt};function Me(Le,xe){if(T.isBuffer(Le))return Le.length;if(ArrayBuffer.isView(Le)||Ne(Le,ArrayBuffer))return Le.byteLength;if(typeof Le!=\"string\")throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+A(Le));var Se=Le.length,lt=arguments.length>2&&arguments[2]===!0;if(!lt&&Se===0)return 0;for(var Gt=!1;;)switch(xe){case\"ascii\":case\"latin1\":case\"binary\":return Se;case\"utf8\":case\"utf-8\":return _r(Le).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Se*2;case\"hex\":return Se>>>1;case\"base64\":return Nr(Le).length;default:if(Gt)return lt?-1:_r(Le).length;xe=(\"\"+xe).toLowerCase(),Gt=!0}}T.byteLength=Me;function ke(Le,xe,Se){var lt=!1;if((xe===void 0||xe<0)&&(xe=0),xe>this.length||((Se===void 0||Se>this.length)&&(Se=this.length),Se<=0)||(Se>>>=0,xe>>>=0,Se<=xe))return\"\";for(Le||(Le=\"utf8\");;)switch(Le){case\"hex\":return rt(this,xe,Se);case\"utf8\":case\"utf-8\":return ce(this,xe,Se);case\"ascii\":return ct(this,xe,Se);case\"latin1\":case\"binary\":return qt(this,xe,Se);case\"base64\":return Re(this,xe,Se);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return ot(this,xe,Se);default:if(lt)throw new TypeError(\"Unknown encoding: \"+Le);Le=(Le+\"\").toLowerCase(),lt=!0}}T.prototype._isBuffer=!0;function ge(Le,xe,Se){var lt=Le[xe];Le[xe]=Le[Se],Le[Se]=lt}T.prototype.swap16=function(){var xe=this.length;if(xe%2!==0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var Se=0;Se<xe;Se+=2)ge(this,Se,Se+1);return this},T.prototype.swap32=function(){var xe=this.length;if(xe%4!==0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var Se=0;Se<xe;Se+=4)ge(this,Se,Se+3),ge(this,Se+1,Se+2);return this},T.prototype.swap64=function(){var xe=this.length;if(xe%8!==0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var Se=0;Se<xe;Se+=8)ge(this,Se,Se+7),ge(this,Se+1,Se+6),ge(this,Se+2,Se+5),ge(this,Se+3,Se+4);return this},T.prototype.toString=function(){var xe=this.length;return xe===0?\"\":arguments.length===0?ce(this,0,xe):ke.apply(this,arguments)},T.prototype.toLocaleString=T.prototype.toString,T.prototype.equals=function(xe){if(!T.isBuffer(xe))throw new TypeError(\"Argument must be a Buffer\");return this===xe?!0:T.compare(this,xe)===0},T.prototype.inspect=function(){var xe=\"\",Se=a.IS;return xe=this.toString(\"hex\",0,Se).replace(/(.{2})/g,\"$1 \").trim(),this.length>Se&&(xe+=\" ... \"),\"<Buffer \"+xe+\">\"},C&&(T.prototype[C]=T.prototype.inspect),T.prototype.compare=function(xe,Se,lt,Gt,Vt){if(Ne(xe,Uint8Array)&&(xe=T.from(xe,xe.offset,xe.byteLength)),!T.isBuffer(xe))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+A(xe));if(Se===void 0&&(Se=0),lt===void 0&&(lt=xe?xe.length:0),Gt===void 0&&(Gt=0),Vt===void 0&&(Vt=this.length),Se<0||lt>xe.length||Gt<0||Vt>this.length)throw new RangeError(\"out of range index\");if(Gt>=Vt&&Se>=lt)return 0;if(Gt>=Vt)return-1;if(Se>=lt)return 1;if(Se>>>=0,lt>>>=0,Gt>>>=0,Vt>>>=0,this===xe)return 0;for(var ar=Vt-Gt,Qr=lt-Se,ai=Math.min(ar,Qr),jr=this.slice(Gt,Vt),ri=xe.slice(Se,lt),bi=0;bi<ai;++bi)if(jr[bi]!==ri[bi]){ar=jr[bi],Qr=ri[bi];break}return ar<Qr?-1:Qr<ar?1:0};function ie(Le,xe,Se,lt,Gt){if(Le.length===0)return-1;if(typeof Se==\"string\"?(lt=Se,Se=0):Se>2147483647?Se=2147483647:Se<-2147483648&&(Se=-2147483648),Se=+Se,Ye(Se)&&(Se=Gt?0:Le.length-1),Se<0&&(Se=Le.length+Se),Se>=Le.length){if(Gt)return-1;Se=Le.length-1}else if(Se<0)if(Gt)Se=0;else return-1;if(typeof xe==\"string\"&&(xe=T.from(xe,lt)),T.isBuffer(xe))return xe.length===0?-1:Te(Le,xe,Se,lt,Gt);if(typeof xe==\"number\")return xe=xe&255,typeof Uint8Array.prototype.indexOf==\"function\"?Gt?Uint8Array.prototype.indexOf.call(Le,xe,Se):Uint8Array.prototype.lastIndexOf.call(Le,xe,Se):Te(Le,[xe],Se,lt,Gt);throw new TypeError(\"val must be string, number or Buffer\")}function Te(Le,xe,Se,lt,Gt){var Vt=1,ar=Le.length,Qr=xe.length;if(lt!==void 0&&(lt=String(lt).toLowerCase(),lt===\"ucs2\"||lt===\"ucs-2\"||lt===\"utf16le\"||lt===\"utf-16le\")){if(Le.length<2||xe.length<2)return-1;Vt=2,ar/=2,Qr/=2,Se/=2}function ai(Wi,Ni){return Vt===1?Wi[Ni]:Wi.readUInt16BE(Ni*Vt)}var jr;if(Gt){var ri=-1;for(jr=Se;jr<ar;jr++)if(ai(Le,jr)===ai(xe,ri===-1?0:jr-ri)){if(ri===-1&&(ri=jr),jr-ri+1===Qr)return ri*Vt}else ri!==-1&&(jr-=jr-ri),ri=-1}else for(Se+Qr>ar&&(Se=ar-Qr),jr=Se;jr>=0;jr--){for(var bi=!0,nn=0;nn<Qr;nn++)if(ai(Le,jr+nn)!==ai(xe,nn)){bi=!1;break}if(bi)return jr}return-1}T.prototype.includes=function(xe,Se,lt){return this.indexOf(xe,Se,lt)!==-1},T.prototype.indexOf=function(xe,Se,lt){return ie(this,xe,Se,lt,!0)},T.prototype.lastIndexOf=function(xe,Se,lt){return ie(this,xe,Se,lt,!1)};function Ee(Le,xe,Se,lt){Se=Number(Se)||0;var Gt=Le.length-Se;lt?(lt=Number(lt),lt>Gt&&(lt=Gt)):lt=Gt;var Vt=xe.length;lt>Vt/2&&(lt=Vt/2);var ar;for(ar=0;ar<lt;++ar){var Qr=parseInt(xe.substr(ar*2,2),16);if(Ye(Qr))return ar;Le[Se+ar]=Qr}return ar}function Ae(Le,xe,Se,lt){return ut(_r(xe,Le.length-Se),Le,Se,lt)}function ze(Le,xe,Se,lt){return ut(Br(xe),Le,Se,lt)}function Ce(Le,xe,Se,lt){return ut(Nr(xe),Le,Se,lt)}function me(Le,xe,Se,lt){return ut(Or(xe,Le.length-Se),Le,Se,lt)}T.prototype.write=function(xe,Se,lt,Gt){if(Se===void 0)Gt=\"utf8\",lt=this.length,Se=0;else if(lt===void 0&&typeof Se==\"string\")Gt=Se,lt=this.length,Se=0;else if(isFinite(Se))Se=Se>>>0,isFinite(lt)?(lt=lt>>>0,Gt===void 0&&(Gt=\"utf8\")):(Gt=lt,lt=void 0);else throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");var Vt=this.length-Se;if((lt===void 0||lt>Vt)&&(lt=Vt),xe.length>0&&(lt<0||Se<0)||Se>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");Gt||(Gt=\"utf8\");for(var ar=!1;;)switch(Gt){case\"hex\":return Ee(this,xe,Se,lt);case\"utf8\":case\"utf-8\":return Ae(this,xe,Se,lt);case\"ascii\":case\"latin1\":case\"binary\":return ze(this,xe,Se,lt);case\"base64\":return Ce(this,xe,Se,lt);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return me(this,xe,Se,lt);default:if(ar)throw new TypeError(\"Unknown encoding: \"+Gt);Gt=(\"\"+Gt).toLowerCase(),ar=!0}},T.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function Re(Le,xe,Se){return xe===0&&Se===Le.length?L.fromByteArray(Le):L.fromByteArray(Le.slice(xe,Se))}function ce(Le,xe,Se){Se=Math.min(Le.length,Se);for(var lt=[],Gt=xe;Gt<Se;){var Vt=Le[Gt],ar=null,Qr=Vt>239?4:Vt>223?3:Vt>191?2:1;if(Gt+Qr<=Se){var ai=void 0,jr=void 0,ri=void 0,bi=void 0;switch(Qr){case 1:Vt<128&&(ar=Vt);break;case 2:ai=Le[Gt+1],(ai&192)===128&&(bi=(Vt&31)<<6|ai&63,bi>127&&(ar=bi));break;case 3:ai=Le[Gt+1],jr=Le[Gt+2],(ai&192)===128&&(jr&192)===128&&(bi=(Vt&15)<<12|(ai&63)<<6|jr&63,bi>2047&&(bi<55296||bi>57343)&&(ar=bi));break;case 4:ai=Le[Gt+1],jr=Le[Gt+2],ri=Le[Gt+3],(ai&192)===128&&(jr&192)===128&&(ri&192)===128&&(bi=(Vt&15)<<18|(ai&63)<<12|(jr&63)<<6|ri&63,bi>65535&&bi<1114112&&(ar=bi))}}ar===null?(ar=65533,Qr=1):ar>65535&&(ar-=65536,lt.push(ar>>>10&1023|55296),ar=56320|ar&1023),lt.push(ar),Gt+=Qr}return nt(lt)}var Ge=4096;function nt(Le){var xe=Le.length;if(xe<=Ge)return String.fromCharCode.apply(String,Le);for(var Se=\"\",lt=0;lt<xe;)Se+=String.fromCharCode.apply(String,Le.slice(lt,lt+=Ge));return Se}function ct(Le,xe,Se){var lt=\"\";Se=Math.min(Le.length,Se);for(var Gt=xe;Gt<Se;++Gt)lt+=String.fromCharCode(Le[Gt]&127);return lt}function qt(Le,xe,Se){var lt=\"\";Se=Math.min(Le.length,Se);for(var Gt=xe;Gt<Se;++Gt)lt+=String.fromCharCode(Le[Gt]);return lt}function rt(Le,xe,Se){var lt=Le.length;(!xe||xe<0)&&(xe=0),(!Se||Se<0||Se>lt)&&(Se=lt);for(var Gt=\"\",Vt=xe;Vt<Se;++Vt)Gt+=Ve[Le[Vt]];return Gt}function ot(Le,xe,Se){for(var lt=Le.slice(xe,Se),Gt=\"\",Vt=0;Vt<lt.length-1;Vt+=2)Gt+=String.fromCharCode(lt[Vt]+lt[Vt+1]*256);return Gt}T.prototype.slice=function(xe,Se){var lt=this.length;xe=~~xe,Se=Se===void 0?lt:~~Se,xe<0?(xe+=lt,xe<0&&(xe=0)):xe>lt&&(xe=lt),Se<0?(Se+=lt,Se<0&&(Se=0)):Se>lt&&(Se=lt),Se<xe&&(Se=xe);var Gt=this.subarray(xe,Se);return Object.setPrototypeOf(Gt,T.prototype),Gt};function Rt(Le,xe,Se){if(Le%1!==0||Le<0)throw new RangeError(\"offset is not uint\");if(Le+xe>Se)throw new RangeError(\"Trying to access beyond buffer length\")}T.prototype.readUintLE=T.prototype.readUIntLE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=this[xe],Vt=1,ar=0;++ar<Se&&(Vt*=256);)Gt+=this[xe+ar]*Vt;return Gt},T.prototype.readUintBE=T.prototype.readUIntBE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=this[xe+--Se],Vt=1;Se>0&&(Vt*=256);)Gt+=this[xe+--Se]*Vt;return Gt},T.prototype.readUint8=T.prototype.readUInt8=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,1,this.length),this[xe]},T.prototype.readUint16LE=T.prototype.readUInt16LE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,2,this.length),this[xe]|this[xe+1]<<8},T.prototype.readUint16BE=T.prototype.readUInt16BE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,2,this.length),this[xe]<<8|this[xe+1]},T.prototype.readUint32LE=T.prototype.readUInt32LE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),(this[xe]|this[xe+1]<<8|this[xe+2]<<16)+this[xe+3]*16777216},T.prototype.readUint32BE=T.prototype.readUInt32BE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),this[xe]*16777216+(this[xe+1]<<16|this[xe+2]<<8|this[xe+3])},T.prototype.readBigUInt64LE=Xe(function(xe){xe=xe>>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=Se+this[++xe]*Math.pow(2,8)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,24),Vt=this[++xe]+this[++xe]*Math.pow(2,8)+this[++xe]*Math.pow(2,16)+lt*Math.pow(2,24);return BigInt(Gt)+(BigInt(Vt)<<BigInt(32))}),T.prototype.readBigUInt64BE=Xe(function(xe){xe=xe>>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=Se*Math.pow(2,24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+this[++xe],Vt=this[++xe]*Math.pow(2,24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+lt;return(BigInt(Gt)<<BigInt(32))+BigInt(Vt)}),T.prototype.readIntLE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=this[xe],Vt=1,ar=0;++ar<Se&&(Vt*=256);)Gt+=this[xe+ar]*Vt;return Vt*=128,Gt>=Vt&&(Gt-=Math.pow(2,8*Se)),Gt},T.prototype.readIntBE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=Se,Vt=1,ar=this[xe+--Gt];Gt>0&&(Vt*=256);)ar+=this[xe+--Gt]*Vt;return Vt*=128,ar>=Vt&&(ar-=Math.pow(2,8*Se)),ar},T.prototype.readInt8=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,1,this.length),this[xe]&128?(255-this[xe]+1)*-1:this[xe]},T.prototype.readInt16LE=function(xe,Se){xe=xe>>>0,Se||Rt(xe,2,this.length);var lt=this[xe]|this[xe+1]<<8;return lt&32768?lt|4294901760:lt},T.prototype.readInt16BE=function(xe,Se){xe=xe>>>0,Se||Rt(xe,2,this.length);var lt=this[xe+1]|this[xe]<<8;return lt&32768?lt|4294901760:lt},T.prototype.readInt32LE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),this[xe]|this[xe+1]<<8|this[xe+2]<<16|this[xe+3]<<24},T.prototype.readInt32BE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),this[xe]<<24|this[xe+1]<<16|this[xe+2]<<8|this[xe+3]},T.prototype.readBigInt64LE=Xe(function(xe){xe=xe>>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=this[xe+4]+this[xe+5]*Math.pow(2,8)+this[xe+6]*Math.pow(2,16)+(lt<<24);return(BigInt(Gt)<<BigInt(32))+BigInt(Se+this[++xe]*Math.pow(2,8)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,24))}),T.prototype.readBigInt64BE=Xe(function(xe){xe=xe>>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=(Se<<24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+this[++xe];return(BigInt(Gt)<<BigInt(32))+BigInt(this[++xe]*Math.pow(2,24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+lt)}),T.prototype.readFloatLE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),_.read(this,xe,!0,23,4)},T.prototype.readFloatBE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),_.read(this,xe,!1,23,4)},T.prototype.readDoubleLE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,8,this.length),_.read(this,xe,!0,52,8)},T.prototype.readDoubleBE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,8,this.length),_.read(this,xe,!1,52,8)};function kt(Le,xe,Se,lt,Gt,Vt){if(!T.isBuffer(Le))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(xe>Gt||xe<Vt)throw new RangeError('\"value\" argument is out of bounds');if(Se+lt>Le.length)throw new RangeError(\"Index out of range\")}T.prototype.writeUintLE=T.prototype.writeUIntLE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,lt=lt>>>0,!Gt){var Vt=Math.pow(2,8*lt)-1;kt(this,xe,Se,lt,Vt,0)}var ar=1,Qr=0;for(this[Se]=xe&255;++Qr<lt&&(ar*=256);)this[Se+Qr]=xe/ar&255;return Se+lt},T.prototype.writeUintBE=T.prototype.writeUIntBE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,lt=lt>>>0,!Gt){var Vt=Math.pow(2,8*lt)-1;kt(this,xe,Se,lt,Vt,0)}var ar=lt-1,Qr=1;for(this[Se+ar]=xe&255;--ar>=0&&(Qr*=256);)this[Se+ar]=xe/Qr&255;return Se+lt},T.prototype.writeUint8=T.prototype.writeUInt8=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,1,255,0),this[Se]=xe&255,Se+1},T.prototype.writeUint16LE=T.prototype.writeUInt16LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,65535,0),this[Se]=xe&255,this[Se+1]=xe>>>8,Se+2},T.prototype.writeUint16BE=T.prototype.writeUInt16BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,65535,0),this[Se]=xe>>>8,this[Se+1]=xe&255,Se+2},T.prototype.writeUint32LE=T.prototype.writeUInt32LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,4294967295,0),this[Se+3]=xe>>>24,this[Se+2]=xe>>>16,this[Se+1]=xe>>>8,this[Se]=xe&255,Se+4},T.prototype.writeUint32BE=T.prototype.writeUInt32BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,4294967295,0),this[Se]=xe>>>24,this[Se+1]=xe>>>16,this[Se+2]=xe>>>8,this[Se+3]=xe&255,Se+4};function Ct(Le,xe,Se,lt,Gt){Et(xe,lt,Gt,Le,Se,7);var Vt=Number(xe&BigInt(4294967295));Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt;var ar=Number(xe>>BigInt(32)&BigInt(4294967295));return Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,Se}function Yt(Le,xe,Se,lt,Gt){Et(xe,lt,Gt,Le,Se,7);var Vt=Number(xe&BigInt(4294967295));Le[Se+7]=Vt,Vt=Vt>>8,Le[Se+6]=Vt,Vt=Vt>>8,Le[Se+5]=Vt,Vt=Vt>>8,Le[Se+4]=Vt;var ar=Number(xe>>BigInt(32)&BigInt(4294967295));return Le[Se+3]=ar,ar=ar>>8,Le[Se+2]=ar,ar=ar>>8,Le[Se+1]=ar,ar=ar>>8,Le[Se]=ar,Se+8}T.prototype.writeBigUInt64LE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Ct(this,xe,Se,BigInt(0),BigInt(\"0xffffffffffffffff\"))}),T.prototype.writeBigUInt64BE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Yt(this,xe,Se,BigInt(0),BigInt(\"0xffffffffffffffff\"))}),T.prototype.writeIntLE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,!Gt){var Vt=Math.pow(2,8*lt-1);kt(this,xe,Se,lt,Vt-1,-Vt)}var ar=0,Qr=1,ai=0;for(this[Se]=xe&255;++ar<lt&&(Qr*=256);)xe<0&&ai===0&&this[Se+ar-1]!==0&&(ai=1),this[Se+ar]=(xe/Qr>>0)-ai&255;return Se+lt},T.prototype.writeIntBE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,!Gt){var Vt=Math.pow(2,8*lt-1);kt(this,xe,Se,lt,Vt-1,-Vt)}var ar=lt-1,Qr=1,ai=0;for(this[Se+ar]=xe&255;--ar>=0&&(Qr*=256);)xe<0&&ai===0&&this[Se+ar+1]!==0&&(ai=1),this[Se+ar]=(xe/Qr>>0)-ai&255;return Se+lt},T.prototype.writeInt8=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,1,127,-128),xe<0&&(xe=255+xe+1),this[Se]=xe&255,Se+1},T.prototype.writeInt16LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,32767,-32768),this[Se]=xe&255,this[Se+1]=xe>>>8,Se+2},T.prototype.writeInt16BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,32767,-32768),this[Se]=xe>>>8,this[Se+1]=xe&255,Se+2},T.prototype.writeInt32LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,2147483647,-2147483648),this[Se]=xe&255,this[Se+1]=xe>>>8,this[Se+2]=xe>>>16,this[Se+3]=xe>>>24,Se+4},T.prototype.writeInt32BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,2147483647,-2147483648),xe<0&&(xe=4294967295+xe+1),this[Se]=xe>>>24,this[Se+1]=xe>>>16,this[Se+2]=xe>>>8,this[Se+3]=xe&255,Se+4},T.prototype.writeBigInt64LE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Ct(this,xe,Se,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))}),T.prototype.writeBigInt64BE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Yt(this,xe,Se,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});function xr(Le,xe,Se,lt,Gt,Vt){if(Se+lt>Le.length)throw new RangeError(\"Index out of range\");if(Se<0)throw new RangeError(\"Index out of range\")}function er(Le,xe,Se,lt,Gt){return xe=+xe,Se=Se>>>0,Gt||xr(Le,xe,Se,4,34028234663852886e22,-34028234663852886e22),_.write(Le,xe,Se,lt,23,4),Se+4}T.prototype.writeFloatLE=function(xe,Se,lt){return er(this,xe,Se,!0,lt)},T.prototype.writeFloatBE=function(xe,Se,lt){return er(this,xe,Se,!1,lt)};function Ke(Le,xe,Se,lt,Gt){return xe=+xe,Se=Se>>>0,Gt||xr(Le,xe,Se,8,17976931348623157e292,-17976931348623157e292),_.write(Le,xe,Se,lt,52,8),Se+8}T.prototype.writeDoubleLE=function(xe,Se,lt){return Ke(this,xe,Se,!0,lt)},T.prototype.writeDoubleBE=function(xe,Se,lt){return Ke(this,xe,Se,!1,lt)},T.prototype.copy=function(xe,Se,lt,Gt){if(!T.isBuffer(xe))throw new TypeError(\"argument should be a Buffer\");if(lt||(lt=0),!Gt&&Gt!==0&&(Gt=this.length),Se>=xe.length&&(Se=xe.length),Se||(Se=0),Gt>0&&Gt<lt&&(Gt=lt),Gt===lt||xe.length===0||this.length===0)return 0;if(Se<0)throw new RangeError(\"targetStart out of bounds\");if(lt<0||lt>=this.length)throw new RangeError(\"Index out of range\");if(Gt<0)throw new RangeError(\"sourceEnd out of bounds\");Gt>this.length&&(Gt=this.length),xe.length-Se<Gt-lt&&(Gt=xe.length-Se+lt);var Vt=Gt-lt;return this===xe&&typeof Uint8Array.prototype.copyWithin==\"function\"?this.copyWithin(Se,lt,Gt):Uint8Array.prototype.set.call(xe,this.subarray(lt,Gt),Se),Vt},T.prototype.fill=function(xe,Se,lt,Gt){if(typeof xe==\"string\"){if(typeof Se==\"string\"?(Gt=Se,Se=0,lt=this.length):typeof lt==\"string\"&&(Gt=lt,lt=this.length),Gt!==void 0&&typeof Gt!=\"string\")throw new TypeError(\"encoding must be a string\");if(typeof Gt==\"string\"&&!T.isEncoding(Gt))throw new TypeError(\"Unknown encoding: \"+Gt);if(xe.length===1){var Vt=xe.charCodeAt(0);(Gt===\"utf8\"&&Vt<128||Gt===\"latin1\")&&(xe=Vt)}}else typeof xe==\"number\"?xe=xe&255:typeof xe==\"boolean\"&&(xe=Number(xe));if(Se<0||this.length<Se||this.length<lt)throw new RangeError(\"Out of range index\");if(lt<=Se)return this;Se=Se>>>0,lt=lt===void 0?this.length:lt>>>0,xe||(xe=0);var ar;if(typeof xe==\"number\")for(ar=Se;ar<lt;++ar)this[ar]=xe;else{var Qr=T.isBuffer(xe)?xe:T.from(xe,Gt),ai=Qr.length;if(ai===0)throw new TypeError('The value \"'+xe+'\" is invalid for argument \"value\"');for(ar=0;ar<lt-Se;++ar)this[ar+Se]=Qr[ar%ai]}return this};var xt={};function bt(Le,xe,Se){xt[Le]=function(lt){function Gt(){var Vt;return l(this,Gt),Vt=d(this,Gt),Object.defineProperty(Vt,\"message\",{value:xe.apply(Vt,arguments),writable:!0,configurable:!0}),Vt.name=\"\".concat(Vt.name,\" [\").concat(Le,\"]\"),Vt.stack,delete Vt.name,Vt}return E(Gt,lt),c(Gt,[{key:\"code\",get:function(){return Le},set:function(ar){Object.defineProperty(this,\"code\",{configurable:!0,enumerable:!0,value:ar,writable:!0})}},{key:\"toString\",value:function(){return\"\".concat(this.name,\" [\").concat(Le,\"]: \").concat(this.message)}}])}(Se)}bt(\"ERR_BUFFER_OUT_OF_BOUNDS\",function(Le){return Le?\"\".concat(Le,\" is outside of buffer bounds\"):\"Attempt to access memory outside buffer bounds\"},RangeError),bt(\"ERR_INVALID_ARG_TYPE\",function(Le,xe){return'The \"'.concat(Le,'\" argument must be of type number. Received type ').concat(A(xe))},TypeError),bt(\"ERR_OUT_OF_RANGE\",function(Le,xe,Se){var lt='The value of \"'.concat(Le,'\" is out of range.'),Gt=Se;return Number.isInteger(Se)&&Math.abs(Se)>Math.pow(2,32)?Gt=Lt(String(Se)):typeof Se==\"bigint\"&&(Gt=String(Se),(Se>Math.pow(BigInt(2),BigInt(32))||Se<-Math.pow(BigInt(2),BigInt(32)))&&(Gt=Lt(Gt)),Gt+=\"n\"),lt+=\" It must be \".concat(xe,\". Received \").concat(Gt),lt},RangeError);function Lt(Le){for(var xe=\"\",Se=Le.length,lt=Le[0]===\"-\"?1:0;Se>=lt+4;Se-=3)xe=\"_\".concat(Le.slice(Se-3,Se)).concat(xe);return\"\".concat(Le.slice(0,Se)).concat(xe)}function St(Le,xe,Se){dt(xe,\"offset\"),(Le[xe]===void 0||Le[xe+Se]===void 0)&&Ht(xe,Le.length-(Se+1))}function Et(Le,xe,Se,lt,Gt,Vt){if(Le>Se||Le<xe){var ar=typeof xe==\"bigint\"?\"n\":\"\",Qr;throw Vt>3?xe===0||xe===BigInt(0)?Qr=\">= 0\".concat(ar,\" and < 2\").concat(ar,\" ** \").concat((Vt+1)*8).concat(ar):Qr=\">= -(2\".concat(ar,\" ** \").concat((Vt+1)*8-1).concat(ar,\") and < 2 ** \")+\"\".concat((Vt+1)*8-1).concat(ar):Qr=\">= \".concat(xe).concat(ar,\" and <= \").concat(Se).concat(ar),new xt.ERR_OUT_OF_RANGE(\"value\",Qr,Le)}St(lt,Gt,Vt)}function dt(Le,xe){if(typeof Le!=\"number\")throw new xt.ERR_INVALID_ARG_TYPE(xe,\"number\",Le)}function Ht(Le,xe,Se){throw Math.floor(Le)!==Le?(dt(Le,Se),new xt.ERR_OUT_OF_RANGE(Se||\"offset\",\"an integer\",Le)):xe<0?new xt.ERR_BUFFER_OUT_OF_BOUNDS:new xt.ERR_OUT_OF_RANGE(Se||\"offset\",\">= \".concat(Se?1:0,\" and <= \").concat(xe),Le)}var $t=/[^+/0-9A-Za-z-_]/g;function fr(Le){if(Le=Le.split(\"=\")[0],Le=Le.trim().replace($t,\"\"),Le.length<2)return\"\";for(;Le.length%4!==0;)Le=Le+\"=\";return Le}function _r(Le,xe){xe=xe||1/0;for(var Se,lt=Le.length,Gt=null,Vt=[],ar=0;ar<lt;++ar){if(Se=Le.charCodeAt(ar),Se>55295&&Se<57344){if(!Gt){if(Se>56319){(xe-=3)>-1&&Vt.push(239,191,189);continue}else if(ar+1===lt){(xe-=3)>-1&&Vt.push(239,191,189);continue}Gt=Se;continue}if(Se<56320){(xe-=3)>-1&&Vt.push(239,191,189),Gt=Se;continue}Se=(Gt-55296<<10|Se-56320)+65536}else Gt&&(xe-=3)>-1&&Vt.push(239,191,189);if(Gt=null,Se<128){if((xe-=1)<0)break;Vt.push(Se)}else if(Se<2048){if((xe-=2)<0)break;Vt.push(Se>>6|192,Se&63|128)}else if(Se<65536){if((xe-=3)<0)break;Vt.push(Se>>12|224,Se>>6&63|128,Se&63|128)}else if(Se<1114112){if((xe-=4)<0)break;Vt.push(Se>>18|240,Se>>12&63|128,Se>>6&63|128,Se&63|128)}else throw new Error(\"Invalid code point\")}return Vt}function Br(Le){for(var xe=[],Se=0;Se<Le.length;++Se)xe.push(Le.charCodeAt(Se)&255);return xe}function Or(Le,xe){for(var Se,lt,Gt,Vt=[],ar=0;ar<Le.length&&!((xe-=2)<0);++ar)Se=Le.charCodeAt(ar),lt=Se>>8,Gt=Se%256,Vt.push(Gt),Vt.push(lt);return Vt}function Nr(Le){return L.toByteArray(fr(Le))}function ut(Le,xe,Se,lt){var Gt;for(Gt=0;Gt<lt&&!(Gt+Se>=xe.length||Gt>=Le.length);++Gt)xe[Gt+Se]=Le[Gt];return Gt}function Ne(Le,xe){return Le instanceof xe||Le!=null&&Le.constructor!=null&&Le.constructor.name!=null&&Le.constructor.name===xe.name}function Ye(Le){return Le!==Le}var Ve=function(){for(var Le=\"0123456789abcdef\",xe=new Array(256),Se=0;Se<16;++Se)for(var lt=Se*16,Gt=0;Gt<16;++Gt)xe[lt+Gt]=Le[Se]+Le[Gt];return xe}();function Xe(Le){return typeof BigInt==\"undefined\"?ht:Le}function ht(){throw new Error(\"BigInt not supported\")}},9216:function(i){\"use strict\";i.exports=l,i.exports.isMobile=l,i.exports.default=l;var a=/(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,o=/CrOS/,s=/android|ipad|playbook|silk/i;function l(u){u||(u={});var c=u.ua;if(!c&&typeof navigator!=\"undefined\"&&(c=navigator.userAgent),c&&c.headers&&typeof c.headers[\"user-agent\"]==\"string\"&&(c=c.headers[\"user-agent\"]),typeof c!=\"string\")return!1;var f=a.test(c)&&!o.test(c)||!!u.tablet&&s.test(c);return!f&&u.tablet&&u.featureDetect&&navigator&&navigator.maxTouchPoints>1&&c.indexOf(\"Macintosh\")!==-1&&c.indexOf(\"Safari\")!==-1&&(f=!0),f}},6296:function(i,a,o){\"use strict\";i.exports=h;var s=o(7261),l=o(9977),u=o(1811);function c(d,v){this._controllerNames=Object.keys(d),this._controllerList=this._controllerNames.map(function(x){return d[x]}),this._mode=v,this._active=d[v],this._active||(this._mode=\"turntable\",this._active=d.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 f=c.prototype;f.flush=function(d){for(var v=this._controllerList,x=0;x<v.length;++x)v[x].flush(d)},f.idle=function(d){for(var v=this._controllerList,x=0;x<v.length;++x)v[x].idle(d)},f.lookAt=function(d,v,x,b){for(var p=this._controllerList,E=0;E<p.length;++E)p[E].lookAt(d,v,x,b)},f.rotate=function(d,v,x,b){for(var p=this._controllerList,E=0;E<p.length;++E)p[E].rotate(d,v,x,b)},f.pan=function(d,v,x,b){for(var p=this._controllerList,E=0;E<p.length;++E)p[E].pan(d,v,x,b)},f.translate=function(d,v,x,b){for(var p=this._controllerList,E=0;E<p.length;++E)p[E].translate(d,v,x,b)},f.setMatrix=function(d,v){for(var x=this._controllerList,b=0;b<x.length;++b)x[b].setMatrix(d,v)},f.setDistanceLimits=function(d,v){for(var x=this._controllerList,b=0;b<x.length;++b)x[b].setDistanceLimits(d,v)},f.setDistance=function(d,v){for(var x=this._controllerList,b=0;b<x.length;++b)x[b].setDistance(d,v)},f.recalcMatrix=function(d){this._active.recalcMatrix(d)},f.getDistance=function(d){return this._active.getDistance(d)},f.getDistanceLimits=function(d){return this._active.getDistanceLimits(d)},f.lastT=function(){return this._active.lastT()},f.setMode=function(d){if(d!==this._mode){var v=this._controllerNames.indexOf(d);if(!(v<0)){var x=this._active,b=this._controllerList[v],p=Math.max(x.lastT(),b.lastT());x.recalcMatrix(p),b.setMatrix(p,x.computedMatrix),this._active=b,this._mode=d,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}}},f.getMode=function(){return this._mode};function h(d){d=d||{};var v=d.eye||[0,0,1],x=d.center||[0,0,0],b=d.up||[0,1,0],p=d.distanceLimits||[0,1/0],E=d.mode||\"turntable\",k=s(),A=l(),L=u();return k.setDistanceLimits(p[0],p[1]),k.lookAt(0,v,x,b),A.setDistanceLimits(p[0],p[1]),A.lookAt(0,v,x,b),L.setDistanceLimits(p[0],p[1]),L.lookAt(0,v,x,b),new c({turntable:k,orbit:A,matrix:L},E)}},7169:function(i,a,o){\"use strict\";var s=typeof WeakMap==\"undefined\"?o(1538):WeakMap,l=o(2762),u=o(8116),c=new s;function f(h){var d=c.get(h),v=d&&(d._triangleBuffer.handle||d._triangleBuffer.buffer);if(!v||!h.isBuffer(v)){var x=l(h,new Float32Array([-1,-1,-1,4,4,-1]));d=u(h,[{buffer:x,type:h.FLOAT,size:2}]),d._triangleBuffer=x,c.set(h,d)}d.bind(),h.drawArrays(h.TRIANGLES,0,3),d.unbind()}i.exports=f},1085:function(i,a,o){var s=o(1371);i.exports=l;function l(u,c,f){c=typeof c==\"number\"?c:1,f=f||\": \";var h=u.split(/\\r?\\n/),d=String(h.length+c-1).length;return h.map(function(v,x){var b=x+c,p=String(b).length,E=s(b,d-p);return E+f+v}).join(`\n", - "`)}},3952:function(i,a,o){\"use strict\";i.exports=u;var s=o(3250);function l(c,f){for(var h=new Array(f+1),d=0;d<c.length;++d)h[d]=c[d];for(var d=0;d<=c.length;++d){for(var v=c.length;v<=f;++v){for(var x=new Array(f),b=0;b<f;++b)x[b]=Math.pow(v+1-d,b);h[v]=x}var p=s.apply(void 0,h);if(p)return!0}return!1}function u(c){var f=c.length;if(f===0)return[];if(f===1)return[0];for(var h=c[0].length,d=[c[0]],v=[0],x=1;x<f;++x){if(d.push(c[x]),!l(d,h)){d.pop();continue}if(v.push(x),v.length===h+1)return v}return v}},5995:function(i,a,o){\"use strict\";i.exports=u;var s=o(7642),l=o(6037);function u(c,f){return s(f).filter(function(h){for(var d=new Array(h.length),v=0;v<h.length;++v)d[v]=f[h[v]];return l(d)*c<1})}},3502:function(i,a,o){i.exports=u;var s=o(5995),l=o(9127);function u(c,f){return l(s(c,f))}},6468:function(i){i.exports=function(o){return atob(o)}},2642:function(i,a,o){\"use strict\";i.exports=u;var s=o(727);function l(c){for(var f=0,h=0;h<c.length;++h)f+=c[h];return f}function u(c,f){for(var h=f.length,d=new Array(h+1),v=0;v<h;++v){for(var x=new Array(h+1),b=0;b<=h;++b)x[b]=c[b][v];d[v]=x}d[h]=new Array(h+1);for(var v=0;v<=h;++v)d[h][v]=1;for(var p=new Array(h+1),v=0;v<h;++v)p[v]=f[v];p[h]=1;var E=s(d,p),k=l(E[h+1]);k===0&&(k=1);for(var A=new Array(h+1),v=0;v<=h;++v)A[v]=l(E[v])/k;return A}},7507:function(i,a){\"use strict\";a.byteLength=d,a.toByteArray=x,a.fromByteArray=E;for(var o=[],s=[],l=typeof Uint8Array!=\"undefined\"?Uint8Array:Array,u=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",c=0,f=u.length;c<f;++c)o[c]=u[c],s[u.charCodeAt(c)]=c;s[45]=62,s[95]=63;function h(k){var A=k.length;if(A%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var L=k.indexOf(\"=\");L===-1&&(L=A);var _=L===A?0:4-L%4;return[L,_]}function d(k){var A=h(k),L=A[0],_=A[1];return(L+_)*3/4-_}function v(k,A,L){return(A+L)*3/4-L}function x(k){var A,L=h(k),_=L[0],C=L[1],M=new l(v(k,_,C)),g=0,P=C>0?_-4:_,T;for(T=0;T<P;T+=4)A=s[k.charCodeAt(T)]<<18|s[k.charCodeAt(T+1)]<<12|s[k.charCodeAt(T+2)]<<6|s[k.charCodeAt(T+3)],M[g++]=A>>16&255,M[g++]=A>>8&255,M[g++]=A&255;return C===2&&(A=s[k.charCodeAt(T)]<<2|s[k.charCodeAt(T+1)]>>4,M[g++]=A&255),C===1&&(A=s[k.charCodeAt(T)]<<10|s[k.charCodeAt(T+1)]<<4|s[k.charCodeAt(T+2)]>>2,M[g++]=A>>8&255,M[g++]=A&255),M}function b(k){return o[k>>18&63]+o[k>>12&63]+o[k>>6&63]+o[k&63]}function p(k,A,L){for(var _,C=[],M=A;M<L;M+=3)_=(k[M]<<16&16711680)+(k[M+1]<<8&65280)+(k[M+2]&255),C.push(b(_));return C.join(\"\")}function E(k){for(var A,L=k.length,_=L%3,C=[],M=16383,g=0,P=L-_;g<P;g+=M)C.push(p(k,g,g+M>P?P:g+M));return _===1?(A=k[L-1],C.push(o[A>>2]+o[A<<4&63]+\"==\")):_===2&&(A=(k[L-2]<<8)+k[L-1],C.push(o[A>>10]+o[A>>4&63]+o[A<<2&63]+\"=\")),C.join(\"\")}},3865:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]).add(c[0].mul(u[1])),u[1].mul(c[1]))}},1318:function(i){\"use strict\";i.exports=a;function a(o,s){return o[0].mul(s[1]).cmp(s[0].mul(o[1]))}},8697:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]),u[1].mul(c[0]))}},7842:function(i,a,o){\"use strict\";var s=o(6330),l=o(1533),u=o(2651),c=o(6768),f=o(869),h=o(8697);i.exports=d;function d(v,x){if(s(v))return x?h(v,d(x)):[v[0].clone(),v[1].clone()];var b=0,p,E;if(l(v))p=v.clone();else if(typeof v==\"string\")p=c(v);else{if(v===0)return[u(0),u(1)];if(v===Math.floor(v))p=u(v);else{for(;v!==Math.floor(v);)v=v*Math.pow(2,256),b-=256;p=u(v)}}if(s(x))p.mul(x[1]),E=x[0].clone();else if(l(x))E=x.clone();else if(typeof x==\"string\")E=c(x);else if(!x)E=u(1);else if(x===Math.floor(x))E=u(x);else{for(;x!==Math.floor(x);)x=x*Math.pow(2,256),b+=256;E=u(x)}return b>0?p=p.ushln(b):b<0&&(E=E.ushln(-b)),f(p,E)}},6330:function(i,a,o){\"use strict\";var s=o(1533);i.exports=l;function l(u){return Array.isArray(u)&&u.length===2&&s(u[0])&&s(u[1])}},5716:function(i,a,o){\"use strict\";var s=o(6859);i.exports=l;function l(u){return u.cmp(new s(0))}},1369:function(i,a,o){\"use strict\";var s=o(5716);i.exports=l;function l(u){var c=u.length,f=u.words,h=0;if(c===1)h=f[0];else if(c===2)h=f[0]+f[1]*67108864;else for(var d=0;d<c;d++){var v=f[d];h+=v*Math.pow(67108864,d)}return s(u)*h}},4025:function(i,a,o){\"use strict\";var s=o(2361),l=o(8828).countTrailingZeros;i.exports=u;function u(c){var f=l(s.lo(c));if(f<32)return f;var h=l(s.hi(c));return h>20?52:h+32}},1533:function(i,a,o){\"use strict\";var s=o(6859);i.exports=l;function l(u){return u&&typeof u==\"object\"&&!!u.words}},2651:function(i,a,o){\"use strict\";var s=o(6859),l=o(2361);i.exports=u;function u(c){var f=l.exponent(c);return f<52?new s(c):new s(c*Math.pow(2,52-f)).ushln(f-52)}},869:function(i,a,o){\"use strict\";var s=o(2651),l=o(5716);i.exports=u;function u(c,f){var h=l(c),d=l(f);if(h===0)return[s(0),s(1)];if(d===0)return[s(0),s(0)];d<0&&(c=c.neg(),f=f.neg());var v=c.gcd(f);return v.cmpn(1)?[c.div(v),f.div(v)]:[c,f]}},6768:function(i,a,o){\"use strict\";var s=o(6859);i.exports=l;function l(u){return new s(u)}},6504:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[0]),u[1].mul(c[1]))}},7721:function(i,a,o){\"use strict\";var s=o(5716);i.exports=l;function l(u){return s(u[0])*s(u[1])}},5572:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]).sub(u[1].mul(c[0])),u[1].mul(c[1]))}},946:function(i,a,o){\"use strict\";var s=o(1369),l=o(4025);i.exports=u;function u(c){var f=c[0],h=c[1];if(f.cmpn(0)===0)return 0;var d=f.abs().divmod(h.abs()),v=d.div,x=s(v),b=d.mod,p=f.negative!==h.negative?-1:1;if(b.cmpn(0)===0)return p*x;if(x){var E=l(x)+4,k=s(b.ushln(E).divRound(h));return p*(x+k*Math.pow(2,-E))}else{var A=h.bitLength()-b.bitLength()+53,k=s(b.ushln(A).divRound(h));return A<1023?p*k*Math.pow(2,-A):(k*=Math.pow(2,-1023),p*k*Math.pow(2,1023-A))}}},2478:function(i){\"use strict\";function a(f,h,d,v,x){for(var b=x+1;v<=x;){var p=v+x>>>1,E=f[p],k=d!==void 0?d(E,h):E-h;k>=0?(b=p,x=p-1):v=p+1}return b}function o(f,h,d,v,x){for(var b=x+1;v<=x;){var p=v+x>>>1,E=f[p],k=d!==void 0?d(E,h):E-h;k>0?(b=p,x=p-1):v=p+1}return b}function s(f,h,d,v,x){for(var b=v-1;v<=x;){var p=v+x>>>1,E=f[p],k=d!==void 0?d(E,h):E-h;k<0?(b=p,v=p+1):x=p-1}return b}function l(f,h,d,v,x){for(var b=v-1;v<=x;){var p=v+x>>>1,E=f[p],k=d!==void 0?d(E,h):E-h;k<=0?(b=p,v=p+1):x=p-1}return b}function u(f,h,d,v,x){for(;v<=x;){var b=v+x>>>1,p=f[b],E=d!==void 0?d(p,h):p-h;if(E===0)return b;E<=0?v=b+1:x=b-1}return-1}function c(f,h,d,v,x,b){return typeof d==\"function\"?b(f,h,d,v===void 0?0:v|0,x===void 0?f.length-1:x|0):b(f,h,void 0,d===void 0?0:d|0,v===void 0?f.length-1:v|0)}i.exports={ge:function(f,h,d,v,x){return c(f,h,d,v,x,a)},gt:function(f,h,d,v,x){return c(f,h,d,v,x,o)},lt:function(f,h,d,v,x){return c(f,h,d,v,x,s)},le:function(f,h,d,v,x){return c(f,h,d,v,x,l)},eq:function(f,h,d,v,x){return c(f,h,d,v,x,u)}}},8828:function(i,a){\"use strict\";\"use restrict\";var o=32;a.INT_BITS=o,a.INT_MAX=2147483647,a.INT_MIN=-1<<o-1,a.sign=function(u){return(u>0)-(u<0)},a.abs=function(u){var c=u>>o-1;return(u^c)-c},a.min=function(u,c){return c^(u^c)&-(u<c)},a.max=function(u,c){return u^(u^c)&-(u<c)},a.isPow2=function(u){return!(u&u-1)&&!!u},a.log2=function(u){var c,f;return c=(u>65535)<<4,u>>>=c,f=(u>255)<<3,u>>>=f,c|=f,f=(u>15)<<2,u>>>=f,c|=f,f=(u>3)<<1,u>>>=f,c|=f,c|u>>1},a.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},a.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var c=32;return u&=-u,u&&c--,u&65535&&(c-=16),u&16711935&&(c-=8),u&252645135&&(c-=4),u&858993459&&(c-=2),u&1431655765&&(c-=1),c}a.countTrailingZeros=s,a.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},a.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},a.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var c=0;c<256;++c){var f=c,h=c,d=7;for(f>>>=1;f;f>>>=1)h<<=1,h|=f&1,--d;u[c]=h<<d&255}})(l),a.reverse=function(u){return l[u&255]<<24|l[u>>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},a.interleave2=function(u,c){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,c&=65535,c=(c|c<<8)&16711935,c=(c|c<<4)&252645135,c=(c|c<<2)&858993459,c=(c|c<<1)&1431655765,u|c<<1},a.deinterleave2=function(u,c){return u=u>>>c&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},a.interleave3=function(u,c,f){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|=c<<1,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|f<<2},a.deinterleave3=function(u,c){return u=u>>>c&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},a.nextCombination=function(u){var c=u|u-1;return c+1|(~c&-~c)-1>>>s(u)+1}},6859:function(i,a,o){i=o.nmd(i),function(s,l){\"use strict\";function u(G,N){if(!G)throw new Error(N||\"Assertion failed\")}function c(G,N){G.super_=N;var W=function(){};W.prototype=N.prototype,G.prototype=new W,G.prototype.constructor=G}function f(G,N,W){if(f.isBN(G))return G;this.negative=0,this.words=null,this.length=0,this.red=null,G!==null&&((N===\"le\"||N===\"be\")&&(W=N,N=10),this._init(G||0,N||10,W||\"be\"))}typeof s==\"object\"?s.exports=f:l.BN=f,f.BN=f,f.wordSize=26;var h;try{typeof window!=\"undefined\"&&typeof window.Buffer!=\"undefined\"?h=window.Buffer:h=o(7790).Buffer}catch(G){}f.isBN=function(N){return N instanceof f?!0:N!==null&&typeof N==\"object\"&&N.constructor.wordSize===f.wordSize&&Array.isArray(N.words)},f.max=function(N,W){return N.cmp(W)>0?N:W},f.min=function(N,W){return N.cmp(W)<0?N:W},f.prototype._init=function(N,W,re){if(typeof N==\"number\")return this._initNumber(N,W,re);if(typeof N==\"object\")return this._initArray(N,W,re);W===\"hex\"&&(W=16),u(W===(W|0)&&W>=2&&W<=36),N=N.toString().replace(/\\s+/g,\"\");var ae=0;N[0]===\"-\"&&(ae++,this.negative=1),ae<N.length&&(W===16?this._parseHex(N,ae,re):(this._parseBase(N,W,ae),re===\"le\"&&this._initArray(this.toArray(),W,re)))},f.prototype._initNumber=function(N,W,re){N<0&&(this.negative=1,N=-N),N<67108864?(this.words=[N&67108863],this.length=1):N<4503599627370496?(this.words=[N&67108863,N/67108864&67108863],this.length=2):(u(N<9007199254740992),this.words=[N&67108863,N/67108864&67108863,1],this.length=3),re===\"le\"&&this._initArray(this.toArray(),W,re)},f.prototype._initArray=function(N,W,re){if(u(typeof N.length==\"number\"),N.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(N.length/3),this.words=new Array(this.length);for(var ae=0;ae<this.length;ae++)this.words[ae]=0;var _e,Me,ke=0;if(re===\"be\")for(ae=N.length-1,_e=0;ae>=0;ae-=3)Me=N[ae]|N[ae-1]<<8|N[ae-2]<<16,this.words[_e]|=Me<<ke&67108863,this.words[_e+1]=Me>>>26-ke&67108863,ke+=24,ke>=26&&(ke-=26,_e++);else if(re===\"le\")for(ae=0,_e=0;ae<N.length;ae+=3)Me=N[ae]|N[ae+1]<<8|N[ae+2]<<16,this.words[_e]|=Me<<ke&67108863,this.words[_e+1]=Me>>>26-ke&67108863,ke+=24,ke>=26&&(ke-=26,_e++);return this.strip()};function d(G,N){var W=G.charCodeAt(N);return W>=65&&W<=70?W-55:W>=97&&W<=102?W-87:W-48&15}function v(G,N,W){var re=d(G,W);return W-1>=N&&(re|=d(G,W-1)<<4),re}f.prototype._parseHex=function(N,W,re){this.length=Math.ceil((N.length-W)/6),this.words=new Array(this.length);for(var ae=0;ae<this.length;ae++)this.words[ae]=0;var _e=0,Me=0,ke;if(re===\"be\")for(ae=N.length-1;ae>=W;ae-=2)ke=v(N,W,ae)<<_e,this.words[Me]|=ke&67108863,_e>=18?(_e-=18,Me+=1,this.words[Me]|=ke>>>26):_e+=8;else{var ge=N.length-W;for(ae=ge%2===0?W+1:W;ae<N.length;ae+=2)ke=v(N,W,ae)<<_e,this.words[Me]|=ke&67108863,_e>=18?(_e-=18,Me+=1,this.words[Me]|=ke>>>26):_e+=8}this.strip()};function x(G,N,W,re){for(var ae=0,_e=Math.min(G.length,W),Me=N;Me<_e;Me++){var ke=G.charCodeAt(Me)-48;ae*=re,ke>=49?ae+=ke-49+10:ke>=17?ae+=ke-17+10:ae+=ke}return ae}f.prototype._parseBase=function(N,W,re){this.words=[0],this.length=1;for(var ae=0,_e=1;_e<=67108863;_e*=W)ae++;ae--,_e=_e/W|0;for(var Me=N.length-re,ke=Me%ae,ge=Math.min(Me,Me-ke)+re,ie=0,Te=re;Te<ge;Te+=ae)ie=x(N,Te,Te+ae,W),this.imuln(_e),this.words[0]+ie<67108864?this.words[0]+=ie:this._iaddn(ie);if(ke!==0){var Ee=1;for(ie=x(N,Te,N.length,W),Te=0;Te<ke;Te++)Ee*=W;this.imuln(Ee),this.words[0]+ie<67108864?this.words[0]+=ie:this._iaddn(ie)}this.strip()},f.prototype.copy=function(N){N.words=new Array(this.length);for(var W=0;W<this.length;W++)N.words[W]=this.words[W];N.length=this.length,N.negative=this.negative,N.red=this.red},f.prototype.clone=function(){var N=new f(null);return this.copy(N),N},f.prototype._expand=function(N){for(;this.length<N;)this.words[this.length++]=0;return this},f.prototype.strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},f.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},f.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var b=[\"\",\"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\"],p=[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],E=[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];f.prototype.toString=function(N,W){N=N||10,W=W|0||1;var re;if(N===16||N===\"hex\"){re=\"\";for(var ae=0,_e=0,Me=0;Me<this.length;Me++){var ke=this.words[Me],ge=((ke<<ae|_e)&16777215).toString(16);_e=ke>>>24-ae&16777215,_e!==0||Me!==this.length-1?re=b[6-ge.length]+ge+re:re=ge+re,ae+=2,ae>=26&&(ae-=26,Me--)}for(_e!==0&&(re=_e.toString(16)+re);re.length%W!==0;)re=\"0\"+re;return this.negative!==0&&(re=\"-\"+re),re}if(N===(N|0)&&N>=2&&N<=36){var ie=p[N],Te=E[N];re=\"\";var Ee=this.clone();for(Ee.negative=0;!Ee.isZero();){var Ae=Ee.modn(Te).toString(N);Ee=Ee.idivn(Te),Ee.isZero()?re=Ae+re:re=b[ie-Ae.length]+Ae+re}for(this.isZero()&&(re=\"0\"+re);re.length%W!==0;)re=\"0\"+re;return this.negative!==0&&(re=\"-\"+re),re}u(!1,\"Base should be between 2 and 36\")},f.prototype.toNumber=function(){var N=this.words[0];return this.length===2?N+=this.words[1]*67108864:this.length===3&&this.words[2]===1?N+=4503599627370496+this.words[1]*67108864:this.length>2&&u(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0?-N:N},f.prototype.toJSON=function(){return this.toString(16)},f.prototype.toBuffer=function(N,W){return u(typeof h!=\"undefined\"),this.toArrayLike(h,N,W)},f.prototype.toArray=function(N,W){return this.toArrayLike(Array,N,W)},f.prototype.toArrayLike=function(N,W,re){var ae=this.byteLength(),_e=re||Math.max(1,ae);u(ae<=_e,\"byte array longer than desired length\"),u(_e>0,\"Requested array length <= 0\"),this.strip();var Me=W===\"le\",ke=new N(_e),ge,ie,Te=this.clone();if(Me){for(ie=0;!Te.isZero();ie++)ge=Te.andln(255),Te.iushrn(8),ke[ie]=ge;for(;ie<_e;ie++)ke[ie]=0}else{for(ie=0;ie<_e-ae;ie++)ke[ie]=0;for(ie=0;!Te.isZero();ie++)ge=Te.andln(255),Te.iushrn(8),ke[_e-ie-1]=ge}return ke},Math.clz32?f.prototype._countBits=function(N){return 32-Math.clz32(N)}:f.prototype._countBits=function(N){var W=N,re=0;return W>=4096&&(re+=13,W>>>=13),W>=64&&(re+=7,W>>>=7),W>=8&&(re+=4,W>>>=4),W>=2&&(re+=2,W>>>=2),re+W},f.prototype._zeroBits=function(N){if(N===0)return 26;var W=N,re=0;return W&8191||(re+=13,W>>>=13),W&127||(re+=7,W>>>=7),W&15||(re+=4,W>>>=4),W&3||(re+=2,W>>>=2),W&1||re++,re},f.prototype.bitLength=function(){var N=this.words[this.length-1],W=this._countBits(N);return(this.length-1)*26+W};function k(G){for(var N=new Array(G.bitLength()),W=0;W<N.length;W++){var re=W/26|0,ae=W%26;N[W]=(G.words[re]&1<<ae)>>>ae}return N}f.prototype.zeroBits=function(){if(this.isZero())return 0;for(var N=0,W=0;W<this.length;W++){var re=this._zeroBits(this.words[W]);if(N+=re,re!==26)break}return N},f.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},f.prototype.toTwos=function(N){return this.negative!==0?this.abs().inotn(N).iaddn(1):this.clone()},f.prototype.fromTwos=function(N){return this.testn(N-1)?this.notn(N).iaddn(1).ineg():this.clone()},f.prototype.isNeg=function(){return this.negative!==0},f.prototype.neg=function(){return this.clone().ineg()},f.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},f.prototype.iuor=function(N){for(;this.length<N.length;)this.words[this.length++]=0;for(var W=0;W<N.length;W++)this.words[W]=this.words[W]|N.words[W];return this.strip()},f.prototype.ior=function(N){return u((this.negative|N.negative)===0),this.iuor(N)},f.prototype.or=function(N){return this.length>N.length?this.clone().ior(N):N.clone().ior(this)},f.prototype.uor=function(N){return this.length>N.length?this.clone().iuor(N):N.clone().iuor(this)},f.prototype.iuand=function(N){var W;this.length>N.length?W=N:W=this;for(var re=0;re<W.length;re++)this.words[re]=this.words[re]&N.words[re];return this.length=W.length,this.strip()},f.prototype.iand=function(N){return u((this.negative|N.negative)===0),this.iuand(N)},f.prototype.and=function(N){return this.length>N.length?this.clone().iand(N):N.clone().iand(this)},f.prototype.uand=function(N){return this.length>N.length?this.clone().iuand(N):N.clone().iuand(this)},f.prototype.iuxor=function(N){var W,re;this.length>N.length?(W=this,re=N):(W=N,re=this);for(var ae=0;ae<re.length;ae++)this.words[ae]=W.words[ae]^re.words[ae];if(this!==W)for(;ae<W.length;ae++)this.words[ae]=W.words[ae];return this.length=W.length,this.strip()},f.prototype.ixor=function(N){return u((this.negative|N.negative)===0),this.iuxor(N)},f.prototype.xor=function(N){return this.length>N.length?this.clone().ixor(N):N.clone().ixor(this)},f.prototype.uxor=function(N){return this.length>N.length?this.clone().iuxor(N):N.clone().iuxor(this)},f.prototype.inotn=function(N){u(typeof N==\"number\"&&N>=0);var W=Math.ceil(N/26)|0,re=N%26;this._expand(W),re>0&&W--;for(var ae=0;ae<W;ae++)this.words[ae]=~this.words[ae]&67108863;return re>0&&(this.words[ae]=~this.words[ae]&67108863>>26-re),this.strip()},f.prototype.notn=function(N){return this.clone().inotn(N)},f.prototype.setn=function(N,W){u(typeof N==\"number\"&&N>=0);var re=N/26|0,ae=N%26;return this._expand(re+1),W?this.words[re]=this.words[re]|1<<ae:this.words[re]=this.words[re]&~(1<<ae),this.strip()},f.prototype.iadd=function(N){var W;if(this.negative!==0&&N.negative===0)return this.negative=0,W=this.isub(N),this.negative^=1,this._normSign();if(this.negative===0&&N.negative!==0)return N.negative=0,W=this.isub(N),N.negative=1,W._normSign();var re,ae;this.length>N.length?(re=this,ae=N):(re=N,ae=this);for(var _e=0,Me=0;Me<ae.length;Me++)W=(re.words[Me]|0)+(ae.words[Me]|0)+_e,this.words[Me]=W&67108863,_e=W>>>26;for(;_e!==0&&Me<re.length;Me++)W=(re.words[Me]|0)+_e,this.words[Me]=W&67108863,_e=W>>>26;if(this.length=re.length,_e!==0)this.words[this.length]=_e,this.length++;else if(re!==this)for(;Me<re.length;Me++)this.words[Me]=re.words[Me];return this},f.prototype.add=function(N){var W;return N.negative!==0&&this.negative===0?(N.negative=0,W=this.sub(N),N.negative^=1,W):N.negative===0&&this.negative!==0?(this.negative=0,W=N.sub(this),this.negative=1,W):this.length>N.length?this.clone().iadd(N):N.clone().iadd(this)},f.prototype.isub=function(N){if(N.negative!==0){N.negative=0;var W=this.iadd(N);return N.negative=1,W._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(N),this.negative=1,this._normSign();var re=this.cmp(N);if(re===0)return this.negative=0,this.length=1,this.words[0]=0,this;var ae,_e;re>0?(ae=this,_e=N):(ae=N,_e=this);for(var Me=0,ke=0;ke<_e.length;ke++)W=(ae.words[ke]|0)-(_e.words[ke]|0)+Me,Me=W>>26,this.words[ke]=W&67108863;for(;Me!==0&&ke<ae.length;ke++)W=(ae.words[ke]|0)+Me,Me=W>>26,this.words[ke]=W&67108863;if(Me===0&&ke<ae.length&&ae!==this)for(;ke<ae.length;ke++)this.words[ke]=ae.words[ke];return this.length=Math.max(this.length,ke),ae!==this&&(this.negative=1),this.strip()},f.prototype.sub=function(N){return this.clone().isub(N)};function A(G,N,W){W.negative=N.negative^G.negative;var re=G.length+N.length|0;W.length=re,re=re-1|0;var ae=G.words[0]|0,_e=N.words[0]|0,Me=ae*_e,ke=Me&67108863,ge=Me/67108864|0;W.words[0]=ke;for(var ie=1;ie<re;ie++){for(var Te=ge>>>26,Ee=ge&67108863,Ae=Math.min(ie,N.length-1),ze=Math.max(0,ie-G.length+1);ze<=Ae;ze++){var Ce=ie-ze|0;ae=G.words[Ce]|0,_e=N.words[ze]|0,Me=ae*_e+Ee,Te+=Me/67108864|0,Ee=Me&67108863}W.words[ie]=Ee|0,ge=Te|0}return ge!==0?W.words[ie]=ge|0:W.length--,W.strip()}var L=function(N,W,re){var ae=N.words,_e=W.words,Me=re.words,ke=0,ge,ie,Te,Ee=ae[0]|0,Ae=Ee&8191,ze=Ee>>>13,Ce=ae[1]|0,me=Ce&8191,Re=Ce>>>13,ce=ae[2]|0,Ge=ce&8191,nt=ce>>>13,ct=ae[3]|0,qt=ct&8191,rt=ct>>>13,ot=ae[4]|0,Rt=ot&8191,kt=ot>>>13,Ct=ae[5]|0,Yt=Ct&8191,xr=Ct>>>13,er=ae[6]|0,Ke=er&8191,xt=er>>>13,bt=ae[7]|0,Lt=bt&8191,St=bt>>>13,Et=ae[8]|0,dt=Et&8191,Ht=Et>>>13,$t=ae[9]|0,fr=$t&8191,_r=$t>>>13,Br=_e[0]|0,Or=Br&8191,Nr=Br>>>13,ut=_e[1]|0,Ne=ut&8191,Ye=ut>>>13,Ve=_e[2]|0,Xe=Ve&8191,ht=Ve>>>13,Le=_e[3]|0,xe=Le&8191,Se=Le>>>13,lt=_e[4]|0,Gt=lt&8191,Vt=lt>>>13,ar=_e[5]|0,Qr=ar&8191,ai=ar>>>13,jr=_e[6]|0,ri=jr&8191,bi=jr>>>13,nn=_e[7]|0,Wi=nn&8191,Ni=nn>>>13,_n=_e[8]|0,$i=_n&8191,zn=_n>>>13,Wn=_e[9]|0,It=Wn&8191,ft=Wn>>>13;re.negative=N.negative^W.negative,re.length=19,ge=Math.imul(Ae,Or),ie=Math.imul(Ae,Nr),ie=ie+Math.imul(ze,Or)|0,Te=Math.imul(ze,Nr);var jt=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jt>>>26)|0,jt&=67108863,ge=Math.imul(me,Or),ie=Math.imul(me,Nr),ie=ie+Math.imul(Re,Or)|0,Te=Math.imul(Re,Nr),ge=ge+Math.imul(Ae,Ne)|0,ie=ie+Math.imul(Ae,Ye)|0,ie=ie+Math.imul(ze,Ne)|0,Te=Te+Math.imul(ze,Ye)|0;var Zt=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,ge=Math.imul(Ge,Or),ie=Math.imul(Ge,Nr),ie=ie+Math.imul(nt,Or)|0,Te=Math.imul(nt,Nr),ge=ge+Math.imul(me,Ne)|0,ie=ie+Math.imul(me,Ye)|0,ie=ie+Math.imul(Re,Ne)|0,Te=Te+Math.imul(Re,Ye)|0,ge=ge+Math.imul(Ae,Xe)|0,ie=ie+Math.imul(Ae,ht)|0,ie=ie+Math.imul(ze,Xe)|0,Te=Te+Math.imul(ze,ht)|0;var yr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(yr>>>26)|0,yr&=67108863,ge=Math.imul(qt,Or),ie=Math.imul(qt,Nr),ie=ie+Math.imul(rt,Or)|0,Te=Math.imul(rt,Nr),ge=ge+Math.imul(Ge,Ne)|0,ie=ie+Math.imul(Ge,Ye)|0,ie=ie+Math.imul(nt,Ne)|0,Te=Te+Math.imul(nt,Ye)|0,ge=ge+Math.imul(me,Xe)|0,ie=ie+Math.imul(me,ht)|0,ie=ie+Math.imul(Re,Xe)|0,Te=Te+Math.imul(Re,ht)|0,ge=ge+Math.imul(Ae,xe)|0,ie=ie+Math.imul(Ae,Se)|0,ie=ie+Math.imul(ze,xe)|0,Te=Te+Math.imul(ze,Se)|0;var Fr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Fr>>>26)|0,Fr&=67108863,ge=Math.imul(Rt,Or),ie=Math.imul(Rt,Nr),ie=ie+Math.imul(kt,Or)|0,Te=Math.imul(kt,Nr),ge=ge+Math.imul(qt,Ne)|0,ie=ie+Math.imul(qt,Ye)|0,ie=ie+Math.imul(rt,Ne)|0,Te=Te+Math.imul(rt,Ye)|0,ge=ge+Math.imul(Ge,Xe)|0,ie=ie+Math.imul(Ge,ht)|0,ie=ie+Math.imul(nt,Xe)|0,Te=Te+Math.imul(nt,ht)|0,ge=ge+Math.imul(me,xe)|0,ie=ie+Math.imul(me,Se)|0,ie=ie+Math.imul(Re,xe)|0,Te=Te+Math.imul(Re,Se)|0,ge=ge+Math.imul(Ae,Gt)|0,ie=ie+Math.imul(Ae,Vt)|0,ie=ie+Math.imul(ze,Gt)|0,Te=Te+Math.imul(ze,Vt)|0;var Zr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Zr>>>26)|0,Zr&=67108863,ge=Math.imul(Yt,Or),ie=Math.imul(Yt,Nr),ie=ie+Math.imul(xr,Or)|0,Te=Math.imul(xr,Nr),ge=ge+Math.imul(Rt,Ne)|0,ie=ie+Math.imul(Rt,Ye)|0,ie=ie+Math.imul(kt,Ne)|0,Te=Te+Math.imul(kt,Ye)|0,ge=ge+Math.imul(qt,Xe)|0,ie=ie+Math.imul(qt,ht)|0,ie=ie+Math.imul(rt,Xe)|0,Te=Te+Math.imul(rt,ht)|0,ge=ge+Math.imul(Ge,xe)|0,ie=ie+Math.imul(Ge,Se)|0,ie=ie+Math.imul(nt,xe)|0,Te=Te+Math.imul(nt,Se)|0,ge=ge+Math.imul(me,Gt)|0,ie=ie+Math.imul(me,Vt)|0,ie=ie+Math.imul(Re,Gt)|0,Te=Te+Math.imul(Re,Vt)|0,ge=ge+Math.imul(Ae,Qr)|0,ie=ie+Math.imul(Ae,ai)|0,ie=ie+Math.imul(ze,Qr)|0,Te=Te+Math.imul(ze,ai)|0;var Vr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Vr>>>26)|0,Vr&=67108863,ge=Math.imul(Ke,Or),ie=Math.imul(Ke,Nr),ie=ie+Math.imul(xt,Or)|0,Te=Math.imul(xt,Nr),ge=ge+Math.imul(Yt,Ne)|0,ie=ie+Math.imul(Yt,Ye)|0,ie=ie+Math.imul(xr,Ne)|0,Te=Te+Math.imul(xr,Ye)|0,ge=ge+Math.imul(Rt,Xe)|0,ie=ie+Math.imul(Rt,ht)|0,ie=ie+Math.imul(kt,Xe)|0,Te=Te+Math.imul(kt,ht)|0,ge=ge+Math.imul(qt,xe)|0,ie=ie+Math.imul(qt,Se)|0,ie=ie+Math.imul(rt,xe)|0,Te=Te+Math.imul(rt,Se)|0,ge=ge+Math.imul(Ge,Gt)|0,ie=ie+Math.imul(Ge,Vt)|0,ie=ie+Math.imul(nt,Gt)|0,Te=Te+Math.imul(nt,Vt)|0,ge=ge+Math.imul(me,Qr)|0,ie=ie+Math.imul(me,ai)|0,ie=ie+Math.imul(Re,Qr)|0,Te=Te+Math.imul(Re,ai)|0,ge=ge+Math.imul(Ae,ri)|0,ie=ie+Math.imul(Ae,bi)|0,ie=ie+Math.imul(ze,ri)|0,Te=Te+Math.imul(ze,bi)|0;var gi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(gi>>>26)|0,gi&=67108863,ge=Math.imul(Lt,Or),ie=Math.imul(Lt,Nr),ie=ie+Math.imul(St,Or)|0,Te=Math.imul(St,Nr),ge=ge+Math.imul(Ke,Ne)|0,ie=ie+Math.imul(Ke,Ye)|0,ie=ie+Math.imul(xt,Ne)|0,Te=Te+Math.imul(xt,Ye)|0,ge=ge+Math.imul(Yt,Xe)|0,ie=ie+Math.imul(Yt,ht)|0,ie=ie+Math.imul(xr,Xe)|0,Te=Te+Math.imul(xr,ht)|0,ge=ge+Math.imul(Rt,xe)|0,ie=ie+Math.imul(Rt,Se)|0,ie=ie+Math.imul(kt,xe)|0,Te=Te+Math.imul(kt,Se)|0,ge=ge+Math.imul(qt,Gt)|0,ie=ie+Math.imul(qt,Vt)|0,ie=ie+Math.imul(rt,Gt)|0,Te=Te+Math.imul(rt,Vt)|0,ge=ge+Math.imul(Ge,Qr)|0,ie=ie+Math.imul(Ge,ai)|0,ie=ie+Math.imul(nt,Qr)|0,Te=Te+Math.imul(nt,ai)|0,ge=ge+Math.imul(me,ri)|0,ie=ie+Math.imul(me,bi)|0,ie=ie+Math.imul(Re,ri)|0,Te=Te+Math.imul(Re,bi)|0,ge=ge+Math.imul(Ae,Wi)|0,ie=ie+Math.imul(Ae,Ni)|0,ie=ie+Math.imul(ze,Wi)|0,Te=Te+Math.imul(ze,Ni)|0;var Si=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Si>>>26)|0,Si&=67108863,ge=Math.imul(dt,Or),ie=Math.imul(dt,Nr),ie=ie+Math.imul(Ht,Or)|0,Te=Math.imul(Ht,Nr),ge=ge+Math.imul(Lt,Ne)|0,ie=ie+Math.imul(Lt,Ye)|0,ie=ie+Math.imul(St,Ne)|0,Te=Te+Math.imul(St,Ye)|0,ge=ge+Math.imul(Ke,Xe)|0,ie=ie+Math.imul(Ke,ht)|0,ie=ie+Math.imul(xt,Xe)|0,Te=Te+Math.imul(xt,ht)|0,ge=ge+Math.imul(Yt,xe)|0,ie=ie+Math.imul(Yt,Se)|0,ie=ie+Math.imul(xr,xe)|0,Te=Te+Math.imul(xr,Se)|0,ge=ge+Math.imul(Rt,Gt)|0,ie=ie+Math.imul(Rt,Vt)|0,ie=ie+Math.imul(kt,Gt)|0,Te=Te+Math.imul(kt,Vt)|0,ge=ge+Math.imul(qt,Qr)|0,ie=ie+Math.imul(qt,ai)|0,ie=ie+Math.imul(rt,Qr)|0,Te=Te+Math.imul(rt,ai)|0,ge=ge+Math.imul(Ge,ri)|0,ie=ie+Math.imul(Ge,bi)|0,ie=ie+Math.imul(nt,ri)|0,Te=Te+Math.imul(nt,bi)|0,ge=ge+Math.imul(me,Wi)|0,ie=ie+Math.imul(me,Ni)|0,ie=ie+Math.imul(Re,Wi)|0,Te=Te+Math.imul(Re,Ni)|0,ge=ge+Math.imul(Ae,$i)|0,ie=ie+Math.imul(Ae,zn)|0,ie=ie+Math.imul(ze,$i)|0,Te=Te+Math.imul(ze,zn)|0;var Mi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Mi>>>26)|0,Mi&=67108863,ge=Math.imul(fr,Or),ie=Math.imul(fr,Nr),ie=ie+Math.imul(_r,Or)|0,Te=Math.imul(_r,Nr),ge=ge+Math.imul(dt,Ne)|0,ie=ie+Math.imul(dt,Ye)|0,ie=ie+Math.imul(Ht,Ne)|0,Te=Te+Math.imul(Ht,Ye)|0,ge=ge+Math.imul(Lt,Xe)|0,ie=ie+Math.imul(Lt,ht)|0,ie=ie+Math.imul(St,Xe)|0,Te=Te+Math.imul(St,ht)|0,ge=ge+Math.imul(Ke,xe)|0,ie=ie+Math.imul(Ke,Se)|0,ie=ie+Math.imul(xt,xe)|0,Te=Te+Math.imul(xt,Se)|0,ge=ge+Math.imul(Yt,Gt)|0,ie=ie+Math.imul(Yt,Vt)|0,ie=ie+Math.imul(xr,Gt)|0,Te=Te+Math.imul(xr,Vt)|0,ge=ge+Math.imul(Rt,Qr)|0,ie=ie+Math.imul(Rt,ai)|0,ie=ie+Math.imul(kt,Qr)|0,Te=Te+Math.imul(kt,ai)|0,ge=ge+Math.imul(qt,ri)|0,ie=ie+Math.imul(qt,bi)|0,ie=ie+Math.imul(rt,ri)|0,Te=Te+Math.imul(rt,bi)|0,ge=ge+Math.imul(Ge,Wi)|0,ie=ie+Math.imul(Ge,Ni)|0,ie=ie+Math.imul(nt,Wi)|0,Te=Te+Math.imul(nt,Ni)|0,ge=ge+Math.imul(me,$i)|0,ie=ie+Math.imul(me,zn)|0,ie=ie+Math.imul(Re,$i)|0,Te=Te+Math.imul(Re,zn)|0,ge=ge+Math.imul(Ae,It)|0,ie=ie+Math.imul(Ae,ft)|0,ie=ie+Math.imul(ze,It)|0,Te=Te+Math.imul(ze,ft)|0;var Pi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Pi>>>26)|0,Pi&=67108863,ge=Math.imul(fr,Ne),ie=Math.imul(fr,Ye),ie=ie+Math.imul(_r,Ne)|0,Te=Math.imul(_r,Ye),ge=ge+Math.imul(dt,Xe)|0,ie=ie+Math.imul(dt,ht)|0,ie=ie+Math.imul(Ht,Xe)|0,Te=Te+Math.imul(Ht,ht)|0,ge=ge+Math.imul(Lt,xe)|0,ie=ie+Math.imul(Lt,Se)|0,ie=ie+Math.imul(St,xe)|0,Te=Te+Math.imul(St,Se)|0,ge=ge+Math.imul(Ke,Gt)|0,ie=ie+Math.imul(Ke,Vt)|0,ie=ie+Math.imul(xt,Gt)|0,Te=Te+Math.imul(xt,Vt)|0,ge=ge+Math.imul(Yt,Qr)|0,ie=ie+Math.imul(Yt,ai)|0,ie=ie+Math.imul(xr,Qr)|0,Te=Te+Math.imul(xr,ai)|0,ge=ge+Math.imul(Rt,ri)|0,ie=ie+Math.imul(Rt,bi)|0,ie=ie+Math.imul(kt,ri)|0,Te=Te+Math.imul(kt,bi)|0,ge=ge+Math.imul(qt,Wi)|0,ie=ie+Math.imul(qt,Ni)|0,ie=ie+Math.imul(rt,Wi)|0,Te=Te+Math.imul(rt,Ni)|0,ge=ge+Math.imul(Ge,$i)|0,ie=ie+Math.imul(Ge,zn)|0,ie=ie+Math.imul(nt,$i)|0,Te=Te+Math.imul(nt,zn)|0,ge=ge+Math.imul(me,It)|0,ie=ie+Math.imul(me,ft)|0,ie=ie+Math.imul(Re,It)|0,Te=Te+Math.imul(Re,ft)|0;var Gi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Gi>>>26)|0,Gi&=67108863,ge=Math.imul(fr,Xe),ie=Math.imul(fr,ht),ie=ie+Math.imul(_r,Xe)|0,Te=Math.imul(_r,ht),ge=ge+Math.imul(dt,xe)|0,ie=ie+Math.imul(dt,Se)|0,ie=ie+Math.imul(Ht,xe)|0,Te=Te+Math.imul(Ht,Se)|0,ge=ge+Math.imul(Lt,Gt)|0,ie=ie+Math.imul(Lt,Vt)|0,ie=ie+Math.imul(St,Gt)|0,Te=Te+Math.imul(St,Vt)|0,ge=ge+Math.imul(Ke,Qr)|0,ie=ie+Math.imul(Ke,ai)|0,ie=ie+Math.imul(xt,Qr)|0,Te=Te+Math.imul(xt,ai)|0,ge=ge+Math.imul(Yt,ri)|0,ie=ie+Math.imul(Yt,bi)|0,ie=ie+Math.imul(xr,ri)|0,Te=Te+Math.imul(xr,bi)|0,ge=ge+Math.imul(Rt,Wi)|0,ie=ie+Math.imul(Rt,Ni)|0,ie=ie+Math.imul(kt,Wi)|0,Te=Te+Math.imul(kt,Ni)|0,ge=ge+Math.imul(qt,$i)|0,ie=ie+Math.imul(qt,zn)|0,ie=ie+Math.imul(rt,$i)|0,Te=Te+Math.imul(rt,zn)|0,ge=ge+Math.imul(Ge,It)|0,ie=ie+Math.imul(Ge,ft)|0,ie=ie+Math.imul(nt,It)|0,Te=Te+Math.imul(nt,ft)|0;var Ki=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Ki>>>26)|0,Ki&=67108863,ge=Math.imul(fr,xe),ie=Math.imul(fr,Se),ie=ie+Math.imul(_r,xe)|0,Te=Math.imul(_r,Se),ge=ge+Math.imul(dt,Gt)|0,ie=ie+Math.imul(dt,Vt)|0,ie=ie+Math.imul(Ht,Gt)|0,Te=Te+Math.imul(Ht,Vt)|0,ge=ge+Math.imul(Lt,Qr)|0,ie=ie+Math.imul(Lt,ai)|0,ie=ie+Math.imul(St,Qr)|0,Te=Te+Math.imul(St,ai)|0,ge=ge+Math.imul(Ke,ri)|0,ie=ie+Math.imul(Ke,bi)|0,ie=ie+Math.imul(xt,ri)|0,Te=Te+Math.imul(xt,bi)|0,ge=ge+Math.imul(Yt,Wi)|0,ie=ie+Math.imul(Yt,Ni)|0,ie=ie+Math.imul(xr,Wi)|0,Te=Te+Math.imul(xr,Ni)|0,ge=ge+Math.imul(Rt,$i)|0,ie=ie+Math.imul(Rt,zn)|0,ie=ie+Math.imul(kt,$i)|0,Te=Te+Math.imul(kt,zn)|0,ge=ge+Math.imul(qt,It)|0,ie=ie+Math.imul(qt,ft)|0,ie=ie+Math.imul(rt,It)|0,Te=Te+Math.imul(rt,ft)|0;var ka=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(ka>>>26)|0,ka&=67108863,ge=Math.imul(fr,Gt),ie=Math.imul(fr,Vt),ie=ie+Math.imul(_r,Gt)|0,Te=Math.imul(_r,Vt),ge=ge+Math.imul(dt,Qr)|0,ie=ie+Math.imul(dt,ai)|0,ie=ie+Math.imul(Ht,Qr)|0,Te=Te+Math.imul(Ht,ai)|0,ge=ge+Math.imul(Lt,ri)|0,ie=ie+Math.imul(Lt,bi)|0,ie=ie+Math.imul(St,ri)|0,Te=Te+Math.imul(St,bi)|0,ge=ge+Math.imul(Ke,Wi)|0,ie=ie+Math.imul(Ke,Ni)|0,ie=ie+Math.imul(xt,Wi)|0,Te=Te+Math.imul(xt,Ni)|0,ge=ge+Math.imul(Yt,$i)|0,ie=ie+Math.imul(Yt,zn)|0,ie=ie+Math.imul(xr,$i)|0,Te=Te+Math.imul(xr,zn)|0,ge=ge+Math.imul(Rt,It)|0,ie=ie+Math.imul(Rt,ft)|0,ie=ie+Math.imul(kt,It)|0,Te=Te+Math.imul(kt,ft)|0;var jn=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jn>>>26)|0,jn&=67108863,ge=Math.imul(fr,Qr),ie=Math.imul(fr,ai),ie=ie+Math.imul(_r,Qr)|0,Te=Math.imul(_r,ai),ge=ge+Math.imul(dt,ri)|0,ie=ie+Math.imul(dt,bi)|0,ie=ie+Math.imul(Ht,ri)|0,Te=Te+Math.imul(Ht,bi)|0,ge=ge+Math.imul(Lt,Wi)|0,ie=ie+Math.imul(Lt,Ni)|0,ie=ie+Math.imul(St,Wi)|0,Te=Te+Math.imul(St,Ni)|0,ge=ge+Math.imul(Ke,$i)|0,ie=ie+Math.imul(Ke,zn)|0,ie=ie+Math.imul(xt,$i)|0,Te=Te+Math.imul(xt,zn)|0,ge=ge+Math.imul(Yt,It)|0,ie=ie+Math.imul(Yt,ft)|0,ie=ie+Math.imul(xr,It)|0,Te=Te+Math.imul(xr,ft)|0;var la=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(la>>>26)|0,la&=67108863,ge=Math.imul(fr,ri),ie=Math.imul(fr,bi),ie=ie+Math.imul(_r,ri)|0,Te=Math.imul(_r,bi),ge=ge+Math.imul(dt,Wi)|0,ie=ie+Math.imul(dt,Ni)|0,ie=ie+Math.imul(Ht,Wi)|0,Te=Te+Math.imul(Ht,Ni)|0,ge=ge+Math.imul(Lt,$i)|0,ie=ie+Math.imul(Lt,zn)|0,ie=ie+Math.imul(St,$i)|0,Te=Te+Math.imul(St,zn)|0,ge=ge+Math.imul(Ke,It)|0,ie=ie+Math.imul(Ke,ft)|0,ie=ie+Math.imul(xt,It)|0,Te=Te+Math.imul(xt,ft)|0;var Fa=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Fa>>>26)|0,Fa&=67108863,ge=Math.imul(fr,Wi),ie=Math.imul(fr,Ni),ie=ie+Math.imul(_r,Wi)|0,Te=Math.imul(_r,Ni),ge=ge+Math.imul(dt,$i)|0,ie=ie+Math.imul(dt,zn)|0,ie=ie+Math.imul(Ht,$i)|0,Te=Te+Math.imul(Ht,zn)|0,ge=ge+Math.imul(Lt,It)|0,ie=ie+Math.imul(Lt,ft)|0,ie=ie+Math.imul(St,It)|0,Te=Te+Math.imul(St,ft)|0;var Ra=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Ra>>>26)|0,Ra&=67108863,ge=Math.imul(fr,$i),ie=Math.imul(fr,zn),ie=ie+Math.imul(_r,$i)|0,Te=Math.imul(_r,zn),ge=ge+Math.imul(dt,It)|0,ie=ie+Math.imul(dt,ft)|0,ie=ie+Math.imul(Ht,It)|0,Te=Te+Math.imul(Ht,ft)|0;var jo=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jo>>>26)|0,jo&=67108863,ge=Math.imul(fr,It),ie=Math.imul(fr,ft),ie=ie+Math.imul(_r,It)|0,Te=Math.imul(_r,ft);var oa=(ke+ge|0)+((ie&8191)<<13)|0;return ke=(Te+(ie>>>13)|0)+(oa>>>26)|0,oa&=67108863,Me[0]=jt,Me[1]=Zt,Me[2]=yr,Me[3]=Fr,Me[4]=Zr,Me[5]=Vr,Me[6]=gi,Me[7]=Si,Me[8]=Mi,Me[9]=Pi,Me[10]=Gi,Me[11]=Ki,Me[12]=ka,Me[13]=jn,Me[14]=la,Me[15]=Fa,Me[16]=Ra,Me[17]=jo,Me[18]=oa,ke!==0&&(Me[19]=ke,re.length++),re};Math.imul||(L=A);function _(G,N,W){W.negative=N.negative^G.negative,W.length=G.length+N.length;for(var re=0,ae=0,_e=0;_e<W.length-1;_e++){var Me=ae;ae=0;for(var ke=re&67108863,ge=Math.min(_e,N.length-1),ie=Math.max(0,_e-G.length+1);ie<=ge;ie++){var Te=_e-ie,Ee=G.words[Te]|0,Ae=N.words[ie]|0,ze=Ee*Ae,Ce=ze&67108863;Me=Me+(ze/67108864|0)|0,Ce=Ce+ke|0,ke=Ce&67108863,Me=Me+(Ce>>>26)|0,ae+=Me>>>26,Me&=67108863}W.words[_e]=ke,re=Me,Me=ae}return re!==0?W.words[_e]=re:W.length--,W.strip()}function C(G,N,W){var re=new M;return re.mulp(G,N,W)}f.prototype.mulTo=function(N,W){var re,ae=this.length+N.length;return this.length===10&&N.length===10?re=L(this,N,W):ae<63?re=A(this,N,W):ae<1024?re=_(this,N,W):re=C(this,N,W),re};function M(G,N){this.x=G,this.y=N}M.prototype.makeRBT=function(N){for(var W=new Array(N),re=f.prototype._countBits(N)-1,ae=0;ae<N;ae++)W[ae]=this.revBin(ae,re,N);return W},M.prototype.revBin=function(N,W,re){if(N===0||N===re-1)return N;for(var ae=0,_e=0;_e<W;_e++)ae|=(N&1)<<W-_e-1,N>>=1;return ae},M.prototype.permute=function(N,W,re,ae,_e,Me){for(var ke=0;ke<Me;ke++)ae[ke]=W[N[ke]],_e[ke]=re[N[ke]]},M.prototype.transform=function(N,W,re,ae,_e,Me){this.permute(Me,N,W,re,ae,_e);for(var ke=1;ke<_e;ke<<=1)for(var ge=ke<<1,ie=Math.cos(2*Math.PI/ge),Te=Math.sin(2*Math.PI/ge),Ee=0;Ee<_e;Ee+=ge)for(var Ae=ie,ze=Te,Ce=0;Ce<ke;Ce++){var me=re[Ee+Ce],Re=ae[Ee+Ce],ce=re[Ee+Ce+ke],Ge=ae[Ee+Ce+ke],nt=Ae*ce-ze*Ge;Ge=Ae*Ge+ze*ce,ce=nt,re[Ee+Ce]=me+ce,ae[Ee+Ce]=Re+Ge,re[Ee+Ce+ke]=me-ce,ae[Ee+Ce+ke]=Re-Ge,Ce!==ge&&(nt=ie*Ae-Te*ze,ze=ie*ze+Te*Ae,Ae=nt)}},M.prototype.guessLen13b=function(N,W){var re=Math.max(W,N)|1,ae=re&1,_e=0;for(re=re/2|0;re;re=re>>>1)_e++;return 1<<_e+1+ae},M.prototype.conjugate=function(N,W,re){if(!(re<=1))for(var ae=0;ae<re/2;ae++){var _e=N[ae];N[ae]=N[re-ae-1],N[re-ae-1]=_e,_e=W[ae],W[ae]=-W[re-ae-1],W[re-ae-1]=-_e}},M.prototype.normalize13b=function(N,W){for(var re=0,ae=0;ae<W/2;ae++){var _e=Math.round(N[2*ae+1]/W)*8192+Math.round(N[2*ae]/W)+re;N[ae]=_e&67108863,_e<67108864?re=0:re=_e/67108864|0}return N},M.prototype.convert13b=function(N,W,re,ae){for(var _e=0,Me=0;Me<W;Me++)_e=_e+(N[Me]|0),re[2*Me]=_e&8191,_e=_e>>>13,re[2*Me+1]=_e&8191,_e=_e>>>13;for(Me=2*W;Me<ae;++Me)re[Me]=0;u(_e===0),u((_e&-8192)===0)},M.prototype.stub=function(N){for(var W=new Array(N),re=0;re<N;re++)W[re]=0;return W},M.prototype.mulp=function(N,W,re){var ae=2*this.guessLen13b(N.length,W.length),_e=this.makeRBT(ae),Me=this.stub(ae),ke=new Array(ae),ge=new Array(ae),ie=new Array(ae),Te=new Array(ae),Ee=new Array(ae),Ae=new Array(ae),ze=re.words;ze.length=ae,this.convert13b(N.words,N.length,ke,ae),this.convert13b(W.words,W.length,Te,ae),this.transform(ke,Me,ge,ie,ae,_e),this.transform(Te,Me,Ee,Ae,ae,_e);for(var Ce=0;Ce<ae;Ce++){var me=ge[Ce]*Ee[Ce]-ie[Ce]*Ae[Ce];ie[Ce]=ge[Ce]*Ae[Ce]+ie[Ce]*Ee[Ce],ge[Ce]=me}return this.conjugate(ge,ie,ae),this.transform(ge,ie,ze,Me,ae,_e),this.conjugate(ze,Me,ae),this.normalize13b(ze,ae),re.negative=N.negative^W.negative,re.length=N.length+W.length,re.strip()},f.prototype.mul=function(N){var W=new f(null);return W.words=new Array(this.length+N.length),this.mulTo(N,W)},f.prototype.mulf=function(N){var W=new f(null);return W.words=new Array(this.length+N.length),C(this,N,W)},f.prototype.imul=function(N){return this.clone().mulTo(N,this)},f.prototype.imuln=function(N){u(typeof N==\"number\"),u(N<67108864);for(var W=0,re=0;re<this.length;re++){var ae=(this.words[re]|0)*N,_e=(ae&67108863)+(W&67108863);W>>=26,W+=ae/67108864|0,W+=_e>>>26,this.words[re]=_e&67108863}return W!==0&&(this.words[re]=W,this.length++),this},f.prototype.muln=function(N){return this.clone().imuln(N)},f.prototype.sqr=function(){return this.mul(this)},f.prototype.isqr=function(){return this.imul(this.clone())},f.prototype.pow=function(N){var W=k(N);if(W.length===0)return new f(1);for(var re=this,ae=0;ae<W.length&&W[ae]===0;ae++,re=re.sqr());if(++ae<W.length)for(var _e=re.sqr();ae<W.length;ae++,_e=_e.sqr())W[ae]!==0&&(re=re.mul(_e));return re},f.prototype.iushln=function(N){u(typeof N==\"number\"&&N>=0);var W=N%26,re=(N-W)/26,ae=67108863>>>26-W<<26-W,_e;if(W!==0){var Me=0;for(_e=0;_e<this.length;_e++){var ke=this.words[_e]&ae,ge=(this.words[_e]|0)-ke<<W;this.words[_e]=ge|Me,Me=ke>>>26-W}Me&&(this.words[_e]=Me,this.length++)}if(re!==0){for(_e=this.length-1;_e>=0;_e--)this.words[_e+re]=this.words[_e];for(_e=0;_e<re;_e++)this.words[_e]=0;this.length+=re}return this.strip()},f.prototype.ishln=function(N){return u(this.negative===0),this.iushln(N)},f.prototype.iushrn=function(N,W,re){u(typeof N==\"number\"&&N>=0);var ae;W?ae=(W-W%26)/26:ae=0;var _e=N%26,Me=Math.min((N-_e)/26,this.length),ke=67108863^67108863>>>_e<<_e,ge=re;if(ae-=Me,ae=Math.max(0,ae),ge){for(var ie=0;ie<Me;ie++)ge.words[ie]=this.words[ie];ge.length=Me}if(Me!==0)if(this.length>Me)for(this.length-=Me,ie=0;ie<this.length;ie++)this.words[ie]=this.words[ie+Me];else this.words[0]=0,this.length=1;var Te=0;for(ie=this.length-1;ie>=0&&(Te!==0||ie>=ae);ie--){var Ee=this.words[ie]|0;this.words[ie]=Te<<26-_e|Ee>>>_e,Te=Ee&ke}return ge&&Te!==0&&(ge.words[ge.length++]=Te),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},f.prototype.ishrn=function(N,W,re){return u(this.negative===0),this.iushrn(N,W,re)},f.prototype.shln=function(N){return this.clone().ishln(N)},f.prototype.ushln=function(N){return this.clone().iushln(N)},f.prototype.shrn=function(N){return this.clone().ishrn(N)},f.prototype.ushrn=function(N){return this.clone().iushrn(N)},f.prototype.testn=function(N){u(typeof N==\"number\"&&N>=0);var W=N%26,re=(N-W)/26,ae=1<<W;if(this.length<=re)return!1;var _e=this.words[re];return!!(_e&ae)},f.prototype.imaskn=function(N){u(typeof N==\"number\"&&N>=0);var W=N%26,re=(N-W)/26;if(u(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=re)return this;if(W!==0&&re++,this.length=Math.min(re,this.length),W!==0){var ae=67108863^67108863>>>W<<W;this.words[this.length-1]&=ae}return this.strip()},f.prototype.maskn=function(N){return this.clone().imaskn(N)},f.prototype.iaddn=function(N){return u(typeof N==\"number\"),u(N<67108864),N<0?this.isubn(-N):this.negative!==0?this.length===1&&(this.words[0]|0)<N?(this.words[0]=N-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(N),this.negative=1,this):this._iaddn(N)},f.prototype._iaddn=function(N){this.words[0]+=N;for(var W=0;W<this.length&&this.words[W]>=67108864;W++)this.words[W]-=67108864,W===this.length-1?this.words[W+1]=1:this.words[W+1]++;return this.length=Math.max(this.length,W+1),this},f.prototype.isubn=function(N){if(u(typeof N==\"number\"),u(N<67108864),N<0)return this.iaddn(-N);if(this.negative!==0)return this.negative=0,this.iaddn(N),this.negative=1,this;if(this.words[0]-=N,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var W=0;W<this.length&&this.words[W]<0;W++)this.words[W]+=67108864,this.words[W+1]-=1;return this.strip()},f.prototype.addn=function(N){return this.clone().iaddn(N)},f.prototype.subn=function(N){return this.clone().isubn(N)},f.prototype.iabs=function(){return this.negative=0,this},f.prototype.abs=function(){return this.clone().iabs()},f.prototype._ishlnsubmul=function(N,W,re){var ae=N.length+re,_e;this._expand(ae);var Me,ke=0;for(_e=0;_e<N.length;_e++){Me=(this.words[_e+re]|0)+ke;var ge=(N.words[_e]|0)*W;Me-=ge&67108863,ke=(Me>>26)-(ge/67108864|0),this.words[_e+re]=Me&67108863}for(;_e<this.length-re;_e++)Me=(this.words[_e+re]|0)+ke,ke=Me>>26,this.words[_e+re]=Me&67108863;if(ke===0)return this.strip();for(u(ke===-1),ke=0,_e=0;_e<this.length;_e++)Me=-(this.words[_e]|0)+ke,ke=Me>>26,this.words[_e]=Me&67108863;return this.negative=1,this.strip()},f.prototype._wordDiv=function(N,W){var re=this.length-N.length,ae=this.clone(),_e=N,Me=_e.words[_e.length-1]|0,ke=this._countBits(Me);re=26-ke,re!==0&&(_e=_e.ushln(re),ae.iushln(re),Me=_e.words[_e.length-1]|0);var ge=ae.length-_e.length,ie;if(W!==\"mod\"){ie=new f(null),ie.length=ge+1,ie.words=new Array(ie.length);for(var Te=0;Te<ie.length;Te++)ie.words[Te]=0}var Ee=ae.clone()._ishlnsubmul(_e,1,ge);Ee.negative===0&&(ae=Ee,ie&&(ie.words[ge]=1));for(var Ae=ge-1;Ae>=0;Ae--){var ze=(ae.words[_e.length+Ae]|0)*67108864+(ae.words[_e.length+Ae-1]|0);for(ze=Math.min(ze/Me|0,67108863),ae._ishlnsubmul(_e,ze,Ae);ae.negative!==0;)ze--,ae.negative=0,ae._ishlnsubmul(_e,1,Ae),ae.isZero()||(ae.negative^=1);ie&&(ie.words[Ae]=ze)}return ie&&ie.strip(),ae.strip(),W!==\"div\"&&re!==0&&ae.iushrn(re),{div:ie||null,mod:ae}},f.prototype.divmod=function(N,W,re){if(u(!N.isZero()),this.isZero())return{div:new f(0),mod:new f(0)};var ae,_e,Me;return this.negative!==0&&N.negative===0?(Me=this.neg().divmod(N,W),W!==\"mod\"&&(ae=Me.div.neg()),W!==\"div\"&&(_e=Me.mod.neg(),re&&_e.negative!==0&&_e.iadd(N)),{div:ae,mod:_e}):this.negative===0&&N.negative!==0?(Me=this.divmod(N.neg(),W),W!==\"mod\"&&(ae=Me.div.neg()),{div:ae,mod:Me.mod}):this.negative&N.negative?(Me=this.neg().divmod(N.neg(),W),W!==\"div\"&&(_e=Me.mod.neg(),re&&_e.negative!==0&&_e.isub(N)),{div:Me.div,mod:_e}):N.length>this.length||this.cmp(N)<0?{div:new f(0),mod:this}:N.length===1?W===\"div\"?{div:this.divn(N.words[0]),mod:null}:W===\"mod\"?{div:null,mod:new f(this.modn(N.words[0]))}:{div:this.divn(N.words[0]),mod:new f(this.modn(N.words[0]))}:this._wordDiv(N,W)},f.prototype.div=function(N){return this.divmod(N,\"div\",!1).div},f.prototype.mod=function(N){return this.divmod(N,\"mod\",!1).mod},f.prototype.umod=function(N){return this.divmod(N,\"mod\",!0).mod},f.prototype.divRound=function(N){var W=this.divmod(N);if(W.mod.isZero())return W.div;var re=W.div.negative!==0?W.mod.isub(N):W.mod,ae=N.ushrn(1),_e=N.andln(1),Me=re.cmp(ae);return Me<0||_e===1&&Me===0?W.div:W.div.negative!==0?W.div.isubn(1):W.div.iaddn(1)},f.prototype.modn=function(N){u(N<=67108863);for(var W=(1<<26)%N,re=0,ae=this.length-1;ae>=0;ae--)re=(W*re+(this.words[ae]|0))%N;return re},f.prototype.idivn=function(N){u(N<=67108863);for(var W=0,re=this.length-1;re>=0;re--){var ae=(this.words[re]|0)+W*67108864;this.words[re]=ae/N|0,W=ae%N}return this.strip()},f.prototype.divn=function(N){return this.clone().idivn(N)},f.prototype.egcd=function(N){u(N.negative===0),u(!N.isZero());var W=this,re=N.clone();W.negative!==0?W=W.umod(N):W=W.clone();for(var ae=new f(1),_e=new f(0),Me=new f(0),ke=new f(1),ge=0;W.isEven()&&re.isEven();)W.iushrn(1),re.iushrn(1),++ge;for(var ie=re.clone(),Te=W.clone();!W.isZero();){for(var Ee=0,Ae=1;!(W.words[0]&Ae)&&Ee<26;++Ee,Ae<<=1);if(Ee>0)for(W.iushrn(Ee);Ee-- >0;)(ae.isOdd()||_e.isOdd())&&(ae.iadd(ie),_e.isub(Te)),ae.iushrn(1),_e.iushrn(1);for(var ze=0,Ce=1;!(re.words[0]&Ce)&&ze<26;++ze,Ce<<=1);if(ze>0)for(re.iushrn(ze);ze-- >0;)(Me.isOdd()||ke.isOdd())&&(Me.iadd(ie),ke.isub(Te)),Me.iushrn(1),ke.iushrn(1);W.cmp(re)>=0?(W.isub(re),ae.isub(Me),_e.isub(ke)):(re.isub(W),Me.isub(ae),ke.isub(_e))}return{a:Me,b:ke,gcd:re.iushln(ge)}},f.prototype._invmp=function(N){u(N.negative===0),u(!N.isZero());var W=this,re=N.clone();W.negative!==0?W=W.umod(N):W=W.clone();for(var ae=new f(1),_e=new f(0),Me=re.clone();W.cmpn(1)>0&&re.cmpn(1)>0;){for(var ke=0,ge=1;!(W.words[0]&ge)&&ke<26;++ke,ge<<=1);if(ke>0)for(W.iushrn(ke);ke-- >0;)ae.isOdd()&&ae.iadd(Me),ae.iushrn(1);for(var ie=0,Te=1;!(re.words[0]&Te)&&ie<26;++ie,Te<<=1);if(ie>0)for(re.iushrn(ie);ie-- >0;)_e.isOdd()&&_e.iadd(Me),_e.iushrn(1);W.cmp(re)>=0?(W.isub(re),ae.isub(_e)):(re.isub(W),_e.isub(ae))}var Ee;return W.cmpn(1)===0?Ee=ae:Ee=_e,Ee.cmpn(0)<0&&Ee.iadd(N),Ee},f.prototype.gcd=function(N){if(this.isZero())return N.abs();if(N.isZero())return this.abs();var W=this.clone(),re=N.clone();W.negative=0,re.negative=0;for(var ae=0;W.isEven()&&re.isEven();ae++)W.iushrn(1),re.iushrn(1);do{for(;W.isEven();)W.iushrn(1);for(;re.isEven();)re.iushrn(1);var _e=W.cmp(re);if(_e<0){var Me=W;W=re,re=Me}else if(_e===0||re.cmpn(1)===0)break;W.isub(re)}while(!0);return re.iushln(ae)},f.prototype.invm=function(N){return this.egcd(N).a.umod(N)},f.prototype.isEven=function(){return(this.words[0]&1)===0},f.prototype.isOdd=function(){return(this.words[0]&1)===1},f.prototype.andln=function(N){return this.words[0]&N},f.prototype.bincn=function(N){u(typeof N==\"number\");var W=N%26,re=(N-W)/26,ae=1<<W;if(this.length<=re)return this._expand(re+1),this.words[re]|=ae,this;for(var _e=ae,Me=re;_e!==0&&Me<this.length;Me++){var ke=this.words[Me]|0;ke+=_e,_e=ke>>>26,ke&=67108863,this.words[Me]=ke}return _e!==0&&(this.words[Me]=_e,this.length++),this},f.prototype.isZero=function(){return this.length===1&&this.words[0]===0},f.prototype.cmpn=function(N){var W=N<0;if(this.negative!==0&&!W)return-1;if(this.negative===0&&W)return 1;this.strip();var re;if(this.length>1)re=1;else{W&&(N=-N),u(N<=67108863,\"Number is too big\");var ae=this.words[0]|0;re=ae===N?0:ae<N?-1:1}return this.negative!==0?-re|0:re},f.prototype.cmp=function(N){if(this.negative!==0&&N.negative===0)return-1;if(this.negative===0&&N.negative!==0)return 1;var W=this.ucmp(N);return this.negative!==0?-W|0:W},f.prototype.ucmp=function(N){if(this.length>N.length)return 1;if(this.length<N.length)return-1;for(var W=0,re=this.length-1;re>=0;re--){var ae=this.words[re]|0,_e=N.words[re]|0;if(ae!==_e){ae<_e?W=-1:ae>_e&&(W=1);break}}return W},f.prototype.gtn=function(N){return this.cmpn(N)===1},f.prototype.gt=function(N){return this.cmp(N)===1},f.prototype.gten=function(N){return this.cmpn(N)>=0},f.prototype.gte=function(N){return this.cmp(N)>=0},f.prototype.ltn=function(N){return this.cmpn(N)===-1},f.prototype.lt=function(N){return this.cmp(N)===-1},f.prototype.lten=function(N){return this.cmpn(N)<=0},f.prototype.lte=function(N){return this.cmp(N)<=0},f.prototype.eqn=function(N){return this.cmpn(N)===0},f.prototype.eq=function(N){return this.cmp(N)===0},f.red=function(N){return new H(N)},f.prototype.toRed=function(N){return u(!this.red,\"Already a number in reduction context\"),u(this.negative===0,\"red works only with positives\"),N.convertTo(this)._forceRed(N)},f.prototype.fromRed=function(){return u(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},f.prototype._forceRed=function(N){return this.red=N,this},f.prototype.forceRed=function(N){return u(!this.red,\"Already a number in reduction context\"),this._forceRed(N)},f.prototype.redAdd=function(N){return u(this.red,\"redAdd works only with red numbers\"),this.red.add(this,N)},f.prototype.redIAdd=function(N){return u(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,N)},f.prototype.redSub=function(N){return u(this.red,\"redSub works only with red numbers\"),this.red.sub(this,N)},f.prototype.redISub=function(N){return u(this.red,\"redISub works only with red numbers\"),this.red.isub(this,N)},f.prototype.redShl=function(N){return u(this.red,\"redShl works only with red numbers\"),this.red.shl(this,N)},f.prototype.redMul=function(N){return u(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,N),this.red.mul(this,N)},f.prototype.redIMul=function(N){return u(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,N),this.red.imul(this,N)},f.prototype.redSqr=function(){return u(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},f.prototype.redISqr=function(){return u(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},f.prototype.redSqrt=function(){return u(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},f.prototype.redInvm=function(){return u(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},f.prototype.redNeg=function(){return u(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},f.prototype.redPow=function(N){return u(this.red&&!N.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,N)};var g={k256:null,p224:null,p192:null,p25519:null};function P(G,N){this.name=G,this.p=new f(N,16),this.n=this.p.bitLength(),this.k=new f(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}P.prototype._tmp=function(){var N=new f(null);return N.words=new Array(Math.ceil(this.n/13)),N},P.prototype.ireduce=function(N){var W=N,re;do this.split(W,this.tmp),W=this.imulK(W),W=W.iadd(this.tmp),re=W.bitLength();while(re>this.n);var ae=re<this.n?-1:W.ucmp(this.p);return ae===0?(W.words[0]=0,W.length=1):ae>0?W.isub(this.p):W.strip!==void 0?W.strip():W._strip(),W},P.prototype.split=function(N,W){N.iushrn(this.n,0,W)},P.prototype.imulK=function(N){return N.imul(this.k)};function T(){P.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}c(T,P),T.prototype.split=function(N,W){for(var re=4194303,ae=Math.min(N.length,9),_e=0;_e<ae;_e++)W.words[_e]=N.words[_e];if(W.length=ae,N.length<=9){N.words[0]=0,N.length=1;return}var Me=N.words[9];for(W.words[W.length++]=Me&re,_e=10;_e<N.length;_e++){var ke=N.words[_e]|0;N.words[_e-10]=(ke&re)<<4|Me>>>22,Me=ke}Me>>>=22,N.words[_e-10]=Me,Me===0&&N.length>10?N.length-=10:N.length-=9},T.prototype.imulK=function(N){N.words[N.length]=0,N.words[N.length+1]=0,N.length+=2;for(var W=0,re=0;re<N.length;re++){var ae=N.words[re]|0;W+=ae*977,N.words[re]=W&67108863,W=ae*64+(W/67108864|0)}return N.words[N.length-1]===0&&(N.length--,N.words[N.length-1]===0&&N.length--),N};function F(){P.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}c(F,P);function q(){P.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}c(q,P);function V(){P.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}c(V,P),V.prototype.imulK=function(N){for(var W=0,re=0;re<N.length;re++){var ae=(N.words[re]|0)*19+W,_e=ae&67108863;ae>>>=26,N.words[re]=_e,W=ae}return W!==0&&(N.words[N.length++]=W),N},f._prime=function(N){if(g[N])return g[N];var W;if(N===\"k256\")W=new T;else if(N===\"p224\")W=new F;else if(N===\"p192\")W=new q;else if(N===\"p25519\")W=new V;else throw new Error(\"Unknown prime \"+N);return g[N]=W,W};function H(G){if(typeof G==\"string\"){var N=f._prime(G);this.m=N.p,this.prime=N}else u(G.gtn(1),\"modulus must be greater than 1\"),this.m=G,this.prime=null}H.prototype._verify1=function(N){u(N.negative===0,\"red works only with positives\"),u(N.red,\"red works only with red numbers\")},H.prototype._verify2=function(N,W){u((N.negative|W.negative)===0,\"red works only with positives\"),u(N.red&&N.red===W.red,\"red works only with red numbers\")},H.prototype.imod=function(N){return this.prime?this.prime.ireduce(N)._forceRed(this):N.umod(this.m)._forceRed(this)},H.prototype.neg=function(N){return N.isZero()?N.clone():this.m.sub(N)._forceRed(this)},H.prototype.add=function(N,W){this._verify2(N,W);var re=N.add(W);return re.cmp(this.m)>=0&&re.isub(this.m),re._forceRed(this)},H.prototype.iadd=function(N,W){this._verify2(N,W);var re=N.iadd(W);return re.cmp(this.m)>=0&&re.isub(this.m),re},H.prototype.sub=function(N,W){this._verify2(N,W);var re=N.sub(W);return re.cmpn(0)<0&&re.iadd(this.m),re._forceRed(this)},H.prototype.isub=function(N,W){this._verify2(N,W);var re=N.isub(W);return re.cmpn(0)<0&&re.iadd(this.m),re},H.prototype.shl=function(N,W){return this._verify1(N),this.imod(N.ushln(W))},H.prototype.imul=function(N,W){return this._verify2(N,W),this.imod(N.imul(W))},H.prototype.mul=function(N,W){return this._verify2(N,W),this.imod(N.mul(W))},H.prototype.isqr=function(N){return this.imul(N,N.clone())},H.prototype.sqr=function(N){return this.mul(N,N)},H.prototype.sqrt=function(N){if(N.isZero())return N.clone();var W=this.m.andln(3);if(u(W%2===1),W===3){var re=this.m.add(new f(1)).iushrn(2);return this.pow(N,re)}for(var ae=this.m.subn(1),_e=0;!ae.isZero()&&ae.andln(1)===0;)_e++,ae.iushrn(1);u(!ae.isZero());var Me=new f(1).toRed(this),ke=Me.redNeg(),ge=this.m.subn(1).iushrn(1),ie=this.m.bitLength();for(ie=new f(2*ie*ie).toRed(this);this.pow(ie,ge).cmp(ke)!==0;)ie.redIAdd(ke);for(var Te=this.pow(ie,ae),Ee=this.pow(N,ae.addn(1).iushrn(1)),Ae=this.pow(N,ae),ze=_e;Ae.cmp(Me)!==0;){for(var Ce=Ae,me=0;Ce.cmp(Me)!==0;me++)Ce=Ce.redSqr();u(me<ze);var Re=this.pow(Te,new f(1).iushln(ze-me-1));Ee=Ee.redMul(Re),Te=Re.redSqr(),Ae=Ae.redMul(Te),ze=me}return Ee},H.prototype.invm=function(N){var W=N._invmp(this.m);return W.negative!==0?(W.negative=0,this.imod(W).redNeg()):this.imod(W)},H.prototype.pow=function(N,W){if(W.isZero())return new f(1).toRed(this);if(W.cmpn(1)===0)return N.clone();var re=4,ae=new Array(1<<re);ae[0]=new f(1).toRed(this),ae[1]=N;for(var _e=2;_e<ae.length;_e++)ae[_e]=this.mul(ae[_e-1],N);var Me=ae[0],ke=0,ge=0,ie=W.bitLength()%26;for(ie===0&&(ie=26),_e=W.length-1;_e>=0;_e--){for(var Te=W.words[_e],Ee=ie-1;Ee>=0;Ee--){var Ae=Te>>Ee&1;if(Me!==ae[0]&&(Me=this.sqr(Me)),Ae===0&&ke===0){ge=0;continue}ke<<=1,ke|=Ae,ge++,!(ge!==re&&(_e!==0||Ee!==0))&&(Me=this.mul(Me,ae[ke]),ge=0,ke=0)}ie=26}return Me},H.prototype.convertTo=function(N){var W=N.umod(this.m);return W===N?W.clone():W},H.prototype.convertFrom=function(N){var W=N.clone();return W.red=null,W},f.mont=function(N){return new X(N)};function X(G){H.call(this,G),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new f(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)}c(X,H),X.prototype.convertTo=function(N){return this.imod(N.ushln(this.shift))},X.prototype.convertFrom=function(N){var W=this.imod(N.mul(this.rinv));return W.red=null,W},X.prototype.imul=function(N,W){if(N.isZero()||W.isZero())return N.words[0]=0,N.length=1,N;var re=N.imul(W),ae=re.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_e=re.isub(ae).iushrn(this.shift),Me=_e;return _e.cmp(this.m)>=0?Me=_e.isub(this.m):_e.cmpn(0)<0&&(Me=_e.iadd(this.m)),Me._forceRed(this)},X.prototype.mul=function(N,W){if(N.isZero()||W.isZero())return new f(0)._forceRed(this);var re=N.mul(W),ae=re.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_e=re.isub(ae).iushrn(this.shift),Me=_e;return _e.cmp(this.m)>=0?Me=_e.isub(this.m):_e.cmpn(0)<0&&(Me=_e.iadd(this.m)),Me._forceRed(this)},X.prototype.invm=function(N){var W=this.imod(N._invmp(this.m).mul(this.r2));return W._forceRed(this)}}(i,this)},6204:function(i){\"use strict\";i.exports=a;function a(o){var s,l,u,c=o.length,f=0;for(s=0;s<c;++s)f+=o[s].length;var h=new Array(f),d=0;for(s=0;s<c;++s){var v=o[s],x=v.length;for(l=0;l<x;++l){var b=h[d++]=new Array(x-1),p=0;for(u=0;u<x;++u)u!==l&&(b[p++]=v[u]);if(l&1){var E=b[1];b[1]=b[0],b[0]=E}}}return h}},6867:function(i,a,o){\"use strict\";i.exports=p;var s=o(1888),l=o(855),u=o(7150);function c(E,k){for(var A=0;A<E;++A)if(!(k[A]<=k[A+E]))return!0;return!1}function f(E,k,A,L){for(var _=0,C=0,M=0,g=E.length;M<g;++M){var P=E[M];if(!c(k,P)){for(var T=0;T<2*k;++T)A[_++]=P[T];L[C++]=M}}return C}function h(E,k,A,L){var _=E.length,C=k.length;if(!(_<=0||C<=0)){var M=E[0].length>>>1;if(!(M<=0)){var g,P=s.mallocDouble(2*M*_),T=s.mallocInt32(_);if(_=f(E,M,P,T),_>0){if(M===1&&L)l.init(_),g=l.sweepComplete(M,A,0,_,P,T,0,_,P,T);else{var F=s.mallocDouble(2*M*C),q=s.mallocInt32(C);C=f(k,M,F,q),C>0&&(l.init(_+C),M===1?g=l.sweepBipartite(M,A,0,_,P,T,0,C,F,q):g=u(M,A,L,_,P,T,C,F,q),s.free(F),s.free(q))}s.free(P),s.free(T)}return g}}}var d;function v(E,k){d.push([E,k])}function x(E){return d=[],h(E,E,v,!0),d}function b(E,k){return d=[],h(E,k,v,!1),d}function p(E,k,A){switch(arguments.length){case 1:return x(E);case 2:return typeof k==\"function\"?h(E,E,k,!0):b(E,k);case 3:return h(E,k,A,!1);default:throw new Error(\"box-intersect: Invalid arguments\")}}},2455:function(i,a){\"use strict\";function o(){function u(h,d,v,x,b,p,E,k,A,L,_){for(var C=2*h,M=x,g=C*x;M<b;++M,g+=C){var P=p[d+g],T=p[d+g+h],F=E[M];e:for(var q=k,V=C*k;q<A;++q,V+=C){var H=L[d+V],X=L[d+V+h],G=_[q];if(!(X<P||T<H)){for(var N=d+1;N<h;++N){var W=p[N+g],re=p[N+h+g],ae=L[N+V],_e=L[N+h+V];if(re<ae||_e<W)continue e}var Me=v(F,G);if(Me!==void 0)return Me}}}}function c(h,d,v,x,b,p,E,k,A,L,_){for(var C=2*h,M=k,g=C*k;M<A;++M,g+=C){var P=L[d+g],T=L[d+g+h],F=_[M];e:for(var q=x,V=C*x;q<b;++q,V+=C){var H=p[d+V],X=p[d+V+h],G=E[q];if(!(T<H||X<P)){for(var N=d+1;N<h;++N){var W=p[N+V],re=p[N+h+V],ae=L[N+g],_e=L[N+h+g];if(re<ae||_e<W)continue e}var Me=v(G,F);if(Me!==void 0)return Me}}}}function f(h,d,v,x,b,p,E,k,A,L,_){return b-x>A-k?u(h,d,v,x,b,p,E,k,A,L,_):c(h,d,v,x,b,p,E,k,A,L,_)}return f}function s(){function u(v,x,b,p,E,k,A,L,_,C,M){for(var g=2*v,P=p,T=g*p;P<E;++P,T+=g){var F=k[x+T],q=k[x+T+v],V=A[P];e:for(var H=L,X=g*L;H<_;++H,X+=g){var G=C[x+X],N=M[H];if(!(G<=F||q<G)){for(var W=x+1;W<v;++W){var re=k[W+T],ae=k[W+v+T],_e=C[W+X],Me=C[W+v+X];if(ae<_e||Me<re)continue e}var ke=b(N,V);if(ke!==void 0)return ke}}}}function c(v,x,b,p,E,k,A,L,_,C,M){for(var g=2*v,P=p,T=g*p;P<E;++P,T+=g){var F=k[x+T],q=k[x+T+v],V=A[P];e:for(var H=L,X=g*L;H<_;++H,X+=g){var G=C[x+X],N=M[H];if(!(G<F||q<G)){for(var W=x+1;W<v;++W){var re=k[W+T],ae=k[W+v+T],_e=C[W+X],Me=C[W+v+X];if(ae<_e||Me<re)continue e}var ke=b(V,N);if(ke!==void 0)return ke}}}}function f(v,x,b,p,E,k,A,L,_,C,M){for(var g=2*v,P=L,T=g*L;P<_;++P,T+=g){var F=C[x+T],q=M[P];e:for(var V=p,H=g*p;V<E;++V,H+=g){var X=k[x+H],G=k[x+H+v],N=A[V];if(!(F<=X||G<F)){for(var W=x+1;W<v;++W){var re=k[W+H],ae=k[W+v+H],_e=C[W+T],Me=C[W+v+T];if(ae<_e||Me<re)continue e}var ke=b(q,N);if(ke!==void 0)return ke}}}}function h(v,x,b,p,E,k,A,L,_,C,M){for(var g=2*v,P=L,T=g*L;P<_;++P,T+=g){var F=C[x+T],q=M[P];e:for(var V=p,H=g*p;V<E;++V,H+=g){var X=k[x+H],G=k[x+H+v],N=A[V];if(!(F<X||G<F)){for(var W=x+1;W<v;++W){var re=k[W+H],ae=k[W+v+H],_e=C[W+T],Me=C[W+v+T];if(ae<_e||Me<re)continue e}var ke=b(N,q);if(ke!==void 0)return ke}}}}function d(v,x,b,p,E,k,A,L,_,C,M,g){return k-E>C-_?p?u(v,x,b,E,k,A,L,_,C,M,g):c(v,x,b,E,k,A,L,_,C,M,g):p?f(v,x,b,E,k,A,L,_,C,M,g):h(v,x,b,E,k,A,L,_,C,M,g)}return d}function l(u){return u?o():s()}a.partial=l(!1),a.full=l(!0)},7150:function(i,a,o){\"use strict\";i.exports=G;var s=o(1888),l=o(8828),u=o(2455),c=u.partial,f=u.full,h=o(855),d=o(3545),v=o(8105),x=128,b=1<<22,p=1<<22,E=v(\"!(lo>=p0)&&!(p1>=hi)\"),k=v(\"lo===p0\"),A=v(\"lo<p0\"),L=v(\"hi<=p0\"),_=v(\"lo<=p0&&p0<=hi\"),C=v(\"lo<p0&&p0<=hi\"),M=6,g=2,P=1024,T=s.mallocInt32(P),F=s.mallocDouble(P);function q(N,W){var re=8*l.log2(W+1)*(N+1)|0,ae=l.nextPow2(M*re);T.length<ae&&(s.free(T),T=s.mallocInt32(ae));var _e=l.nextPow2(g*re);F.length<_e&&(s.free(F),F=s.mallocDouble(_e))}function V(N,W,re,ae,_e,Me,ke,ge,ie){var Te=M*N;T[Te]=W,T[Te+1]=re,T[Te+2]=ae,T[Te+3]=_e,T[Te+4]=Me,T[Te+5]=ke;var Ee=g*N;F[Ee]=ge,F[Ee+1]=ie}function H(N,W,re,ae,_e,Me,ke,ge,ie,Te,Ee){var Ae=2*N,ze=ie*Ae,Ce=Te[ze+W];e:for(var me=_e,Re=_e*Ae;me<Me;++me,Re+=Ae){var ce=ke[Re+W],Ge=ke[Re+W+N];if(!(Ce<ce||Ge<Ce)&&!(ae&&Ce===ce)){for(var nt=ge[me],ct=W+1;ct<N;++ct){var ce=ke[Re+ct],Ge=ke[Re+ct+N],qt=Te[ze+ct],rt=Te[ze+ct+N];if(Ge<qt||rt<ce)continue e}var ot;if(ae?ot=re(Ee,nt):ot=re(nt,Ee),ot!==void 0)return ot}}}function X(N,W,re,ae,_e,Me,ke,ge,ie,Te){var Ee=2*N,Ae=ge*Ee,ze=ie[Ae+W];e:for(var Ce=ae,me=ae*Ee;Ce<_e;++Ce,me+=Ee){var Re=ke[Ce];if(Re!==Te){var ce=Me[me+W],Ge=Me[me+W+N];if(!(ze<ce||Ge<ze)){for(var nt=W+1;nt<N;++nt){var ce=Me[me+nt],Ge=Me[me+nt+N],ct=ie[Ae+nt],qt=ie[Ae+nt+N];if(Ge<ct||qt<ce)continue e}var rt=re(Re,Te);if(rt!==void 0)return rt}}}}function G(N,W,re,ae,_e,Me,ke,ge,ie){q(N,ae+ke);var Te=0,Ee=2*N,Ae;for(V(Te++,0,0,ae,0,ke,re?16:0,-1/0,1/0),re||V(Te++,0,0,ke,0,ae,1,-1/0,1/0);Te>0;){Te-=1;var ze=Te*M,Ce=T[ze],me=T[ze+1],Re=T[ze+2],ce=T[ze+3],Ge=T[ze+4],nt=T[ze+5],ct=Te*g,qt=F[ct],rt=F[ct+1],ot=nt&1,Rt=!!(nt&16),kt=_e,Ct=Me,Yt=ge,xr=ie;if(ot&&(kt=ge,Ct=ie,Yt=_e,xr=Me),!(nt&2&&(Re=A(N,Ce,me,Re,kt,Ct,rt),me>=Re))&&!(nt&4&&(me=L(N,Ce,me,Re,kt,Ct,qt),me>=Re))){var er=Re-me,Ke=Ge-ce;if(Rt){if(N*er*(er+Ke)<p){if(Ae=h.scanComplete(N,Ce,W,me,Re,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae;continue}}else if(N*Math.min(er,Ke)<x){if(Ae=c(N,Ce,W,ot,me,Re,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae;continue}else if(N*er*Ke<b){if(Ae=h.scanBipartite(N,Ce,W,ot,me,Re,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae;continue}var xt=E(N,Ce,me,Re,kt,Ct,qt,rt);if(me<xt)if(N*(xt-me)<x){if(Ae=f(N,Ce+1,W,me,xt,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae}else if(Ce===N-2){if(ot?Ae=h.sweepBipartite(N,W,ce,Ge,Yt,xr,me,xt,kt,Ct):Ae=h.sweepBipartite(N,W,me,xt,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae}else V(Te++,Ce+1,me,xt,ce,Ge,ot,-1/0,1/0),V(Te++,Ce+1,ce,Ge,me,xt,ot^1,-1/0,1/0);if(xt<Re){var bt=d(N,Ce,ce,Ge,Yt,xr),Lt=Yt[Ee*bt+Ce],St=k(N,Ce,bt,Ge,Yt,xr,Lt);if(St<Ge&&V(Te++,Ce,xt,Re,St,Ge,(ot|4)+(Rt?16:0),Lt,rt),ce<bt&&V(Te++,Ce,xt,Re,ce,bt,(ot|2)+(Rt?16:0),qt,Lt),bt+1===St){if(Rt?Ae=X(N,Ce,W,xt,Re,kt,Ct,bt,Yt,xr[bt]):Ae=H(N,Ce,W,ot,xt,Re,kt,Ct,bt,Yt,xr[bt]),Ae!==void 0)return Ae}else if(bt<St){var Et;if(Rt){if(Et=_(N,Ce,xt,Re,kt,Ct,Lt),xt<Et){var dt=k(N,Ce,xt,Et,kt,Ct,Lt);if(Ce===N-2){if(xt<dt&&(Ae=h.sweepComplete(N,W,xt,dt,kt,Ct,bt,St,Yt,xr),Ae!==void 0)||dt<Et&&(Ae=h.sweepBipartite(N,W,dt,Et,kt,Ct,bt,St,Yt,xr),Ae!==void 0))return Ae}else xt<dt&&V(Te++,Ce+1,xt,dt,bt,St,16,-1/0,1/0),dt<Et&&(V(Te++,Ce+1,dt,Et,bt,St,0,-1/0,1/0),V(Te++,Ce+1,bt,St,dt,Et,1,-1/0,1/0))}}else ot?Et=C(N,Ce,xt,Re,kt,Ct,Lt):Et=_(N,Ce,xt,Re,kt,Ct,Lt),xt<Et&&(Ce===N-2?ot?Ae=h.sweepBipartite(N,W,bt,St,Yt,xr,xt,Et,kt,Ct):Ae=h.sweepBipartite(N,W,xt,Et,kt,Ct,bt,St,Yt,xr):(V(Te++,Ce+1,xt,Et,bt,St,ot,-1/0,1/0),V(Te++,Ce+1,bt,St,xt,Et,ot^1,-1/0,1/0)))}}}}}},3545:function(i,a,o){\"use strict\";i.exports=f;var s=o(8105),l=s(\"lo<p0\"),u=8;function c(h,d,v,x,b,p){for(var E=2*h,k=E*(v+1)+d,A=v+1;A<x;++A,k+=E)for(var L=b[k],_=A,C=E*(A-1);_>v&&b[C+d]>L;--_,C-=E){for(var M=C,g=C+E,P=0;P<E;++P,++M,++g){var T=b[M];b[M]=b[g],b[g]=T}var F=p[_];p[_]=p[_-1],p[_-1]=F}}function f(h,d,v,x,b,p){if(x<=v+1)return v;for(var E=v,k=x,A=x+v>>>1,L=2*h,_=A,C=b[L*A+d];E<k;){if(k-E<u){c(h,d,E,k,b,p),C=b[L*A+d];break}var M=k-E,g=Math.random()*M+E|0,P=b[L*g+d],T=Math.random()*M+E|0,F=b[L*T+d],q=Math.random()*M+E|0,V=b[L*q+d];P<=F?V>=F?(_=T,C=F):P>=V?(_=g,C=P):(_=q,C=V):F>=V?(_=T,C=F):V>=P?(_=g,C=P):(_=q,C=V);for(var G=L*(k-1),N=L*_,H=0;H<L;++H,++G,++N){var X=b[G];b[G]=b[N],b[N]=X}var W=p[k-1];p[k-1]=p[_],p[_]=W,_=l(h,d,E,k-1,b,p,C);for(var G=L*(k-1),N=L*_,H=0;H<L;++H,++G,++N){var X=b[G];b[G]=b[N],b[N]=X}var W=p[k-1];if(p[k-1]=p[_],p[_]=W,A<_){for(k=_-1;E<k&&b[L*(k-1)+d]===C;)k-=1;k+=1}else if(_<A)for(E=_+1;E<k&&b[L*E+d]===C;)E+=1;else break}return l(h,d,v,A,b,p,b[L*A+d])}},8105:function(i){\"use strict\";i.exports=o;var a={\"lo===p0\":s,\"lo<p0\":l,\"lo<=p0\":u,\"hi<=p0\":c,\"lo<p0&&p0<=hi\":h,\"lo<=p0&&p0<=hi\":f,\"!(lo>=p0)&&!(p1>=hi)\":d};function o(v){return a[v]}function s(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+g];if(F===A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function l(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+g];if(F<A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function u(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+P];if(F<=A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function c(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+P];if(F<=A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function f(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+g],q=E[_+P];if(F<=A&&A<=q)if(M===T)M+=1,C+=L;else{for(var V=0;L>V;++V){var H=E[_+V];E[_+V]=E[C],E[C++]=H}var X=k[T];k[T]=k[M],k[M++]=X}}return M}function h(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+g],q=E[_+P];if(F<A&&A<=q)if(M===T)M+=1,C+=L;else{for(var V=0;L>V;++V){var H=E[_+V];E[_+V]=E[C],E[C++]=H}var X=k[T];k[T]=k[M],k[M++]=X}}return M}function d(v,x,b,p,E,k,A,L){for(var _=2*v,C=_*b,M=C,g=b,P=x,T=v+x,F=b;p>F;++F,C+=_){var q=E[C+P],V=E[C+T];if(!(q>=A)&&!(L>=V))if(g===F)g+=1,M+=_;else{for(var H=0;_>H;++H){var X=E[C+H];E[C+H]=E[M],E[M++]=X}var G=k[F];k[F]=k[g],k[g++]=G}}return g}},4192:function(i){\"use strict\";i.exports=o;var a=32;function o(x,b){b<=4*a?s(0,b-1,x):v(0,b-1,x)}function s(x,b,p){for(var E=2*(x+1),k=x+1;k<=b;++k){for(var A=p[E++],L=p[E++],_=k,C=E-2;_-- >x;){var M=p[C-2],g=p[C-1];if(M<A)break;if(M===A&&g<L)break;p[C]=M,p[C+1]=g,C-=2}p[C]=A,p[C+1]=L}}function l(x,b,p){x*=2,b*=2;var E=p[x],k=p[x+1];p[x]=p[b],p[x+1]=p[b+1],p[b]=E,p[b+1]=k}function u(x,b,p){x*=2,b*=2,p[x]=p[b],p[x+1]=p[b+1]}function c(x,b,p,E){x*=2,b*=2,p*=2;var k=E[x],A=E[x+1];E[x]=E[b],E[x+1]=E[b+1],E[b]=E[p],E[b+1]=E[p+1],E[p]=k,E[p+1]=A}function f(x,b,p,E,k){x*=2,b*=2,k[x]=k[b],k[b]=p,k[x+1]=k[b+1],k[b+1]=E}function h(x,b,p){x*=2,b*=2;var E=p[x],k=p[b];return E<k?!1:E===k?p[x+1]>p[b+1]:!0}function d(x,b,p,E){x*=2;var k=E[x];return k<b?!0:k===b?E[x+1]<p:!1}function v(x,b,p){var E=(b-x+1)/6|0,k=x+E,A=b-E,L=x+b>>1,_=L-E,C=L+E,M=k,g=_,P=L,T=C,F=A,q=x+1,V=b-1,H=0;h(M,g,p)&&(H=M,M=g,g=H),h(T,F,p)&&(H=T,T=F,F=H),h(M,P,p)&&(H=M,M=P,P=H),h(g,P,p)&&(H=g,g=P,P=H),h(M,T,p)&&(H=M,M=T,T=H),h(P,T,p)&&(H=P,P=T,T=H),h(g,F,p)&&(H=g,g=F,F=H),h(g,P,p)&&(H=g,g=P,P=H),h(T,F,p)&&(H=T,T=F,F=H);for(var X=p[2*g],G=p[2*g+1],N=p[2*T],W=p[2*T+1],re=2*M,ae=2*P,_e=2*F,Me=2*k,ke=2*L,ge=2*A,ie=0;ie<2;++ie){var Te=p[re+ie],Ee=p[ae+ie],Ae=p[_e+ie];p[Me+ie]=Te,p[ke+ie]=Ee,p[ge+ie]=Ae}u(_,x,p),u(C,b,p);for(var ze=q;ze<=V;++ze)if(d(ze,X,G,p))ze!==q&&l(ze,q,p),++q;else if(!d(ze,N,W,p))for(;;)if(d(V,N,W,p)){d(V,X,G,p)?(c(ze,q,V,p),++q,--V):(l(ze,V,p),--V);break}else{if(--V<ze)break;continue}f(x,q-1,X,G,p),f(b,V+1,N,W,p),q-2-x<=a?s(x,q-2,p):v(x,q-2,p),b-(V+2)<=a?s(V+2,b,p):v(V+2,b,p),V-q<=a?s(q,V,p):v(q,V,p)}},855:function(i,a,o){\"use strict\";i.exports={init:k,sweepBipartite:_,sweepComplete:C,scanBipartite:M,scanComplete:g};var s=o(1888),l=o(8828),u=o(4192),c=1<<28,f=1024,h=s.mallocInt32(f),d=s.mallocInt32(f),v=s.mallocInt32(f),x=s.mallocInt32(f),b=s.mallocInt32(f),p=s.mallocInt32(f),E=s.mallocDouble(f*8);function k(P){var T=l.nextPow2(P);h.length<T&&(s.free(h),h=s.mallocInt32(T)),d.length<T&&(s.free(d),d=s.mallocInt32(T)),v.length<T&&(s.free(v),v=s.mallocInt32(T)),x.length<T&&(s.free(x),x=s.mallocInt32(T)),b.length<T&&(s.free(b),b=s.mallocInt32(T)),p.length<T&&(s.free(p),p=s.mallocInt32(T));var F=8*T;E.length<F&&(s.free(E),E=s.mallocDouble(F))}function A(P,T,F,q){var V=T[q],H=P[F-1];P[V]=H,T[H]=V}function L(P,T,F,q){P[F]=q,T[q]=F}function _(P,T,F,q,V,H,X,G,N,W){for(var re=0,ae=2*P,_e=P-1,Me=ae-1,ke=F;ke<q;++ke){var ge=H[ke],ie=ae*ke;E[re++]=V[ie+_e],E[re++]=-(ge+1),E[re++]=V[ie+Me],E[re++]=ge}for(var ke=X;ke<G;++ke){var ge=W[ke]+c,Te=ae*ke;E[re++]=N[Te+_e],E[re++]=-ge,E[re++]=N[Te+Me],E[re++]=ge}var Ee=re>>>1;u(E,Ee);for(var Ae=0,ze=0,ke=0;ke<Ee;++ke){var Ce=E[2*ke+1]|0;if(Ce>=c)Ce=Ce-c|0,A(v,x,ze--,Ce);else if(Ce>=0)A(h,d,Ae--,Ce);else if(Ce<=-c){Ce=-Ce-c|0;for(var me=0;me<Ae;++me){var Re=T(h[me],Ce);if(Re!==void 0)return Re}L(v,x,ze++,Ce)}else{Ce=-Ce-1|0;for(var me=0;me<ze;++me){var Re=T(Ce,v[me]);if(Re!==void 0)return Re}L(h,d,Ae++,Ce)}}}function C(P,T,F,q,V,H,X,G,N,W){for(var re=0,ae=2*P,_e=P-1,Me=ae-1,ke=F;ke<q;++ke){var ge=H[ke]+1<<1,ie=ae*ke;E[re++]=V[ie+_e],E[re++]=-ge,E[re++]=V[ie+Me],E[re++]=ge}for(var ke=X;ke<G;++ke){var ge=W[ke]+1<<1,Te=ae*ke;E[re++]=N[Te+_e],E[re++]=-ge|1,E[re++]=N[Te+Me],E[re++]=ge|1}var Ee=re>>>1;u(E,Ee);for(var Ae=0,ze=0,Ce=0,ke=0;ke<Ee;++ke){var me=E[2*ke+1]|0,Re=me&1;if(ke<Ee-1&&me>>1===E[2*ke+3]>>1&&(Re=2,ke+=1),me<0){for(var ce=-(me>>1)-1,Ge=0;Ge<Ce;++Ge){var nt=T(b[Ge],ce);if(nt!==void 0)return nt}if(Re!==0)for(var Ge=0;Ge<Ae;++Ge){var nt=T(h[Ge],ce);if(nt!==void 0)return nt}if(Re!==1)for(var Ge=0;Ge<ze;++Ge){var nt=T(v[Ge],ce);if(nt!==void 0)return nt}Re===0?L(h,d,Ae++,ce):Re===1?L(v,x,ze++,ce):Re===2&&L(b,p,Ce++,ce)}else{var ce=(me>>1)-1;Re===0?A(h,d,Ae--,ce):Re===1?A(v,x,ze--,ce):Re===2&&A(b,p,Ce--,ce)}}}function M(P,T,F,q,V,H,X,G,N,W,re,ae){var _e=0,Me=2*P,ke=T,ge=T+P,ie=1,Te=1;q?Te=c:ie=c;for(var Ee=V;Ee<H;++Ee){var Ae=Ee+ie,ze=Me*Ee;E[_e++]=X[ze+ke],E[_e++]=-Ae,E[_e++]=X[ze+ge],E[_e++]=Ae}for(var Ee=N;Ee<W;++Ee){var Ae=Ee+Te,Ce=Me*Ee;E[_e++]=re[Ce+ke],E[_e++]=-Ae}var me=_e>>>1;u(E,me);for(var Re=0,Ee=0;Ee<me;++Ee){var ce=E[2*Ee+1]|0;if(ce<0){var Ae=-ce,Ge=!1;if(Ae>=c?(Ge=!q,Ae-=c):(Ge=!!q,Ae-=1),Ge)L(h,d,Re++,Ae);else{var nt=ae[Ae],ct=Me*Ae,qt=re[ct+T+1],rt=re[ct+T+1+P];e:for(var ot=0;ot<Re;++ot){var Rt=h[ot],kt=Me*Rt;if(!(rt<X[kt+T+1]||X[kt+T+1+P]<qt)){for(var Ct=T+2;Ct<P;++Ct)if(re[ct+Ct+P]<X[kt+Ct]||X[kt+Ct+P]<re[ct+Ct])continue e;var Yt=G[Rt],xr;if(q?xr=F(nt,Yt):xr=F(Yt,nt),xr!==void 0)return xr}}}}else A(h,d,Re--,ce-ie)}}function g(P,T,F,q,V,H,X,G,N,W,re){for(var ae=0,_e=2*P,Me=T,ke=T+P,ge=q;ge<V;++ge){var ie=ge+c,Te=_e*ge;E[ae++]=H[Te+Me],E[ae++]=-ie,E[ae++]=H[Te+ke],E[ae++]=ie}for(var ge=G;ge<N;++ge){var ie=ge+1,Ee=_e*ge;E[ae++]=W[Ee+Me],E[ae++]=-ie}var Ae=ae>>>1;u(E,Ae);for(var ze=0,ge=0;ge<Ae;++ge){var Ce=E[2*ge+1]|0;if(Ce<0){var ie=-Ce;if(ie>=c)h[ze++]=ie-c;else{ie-=1;var me=re[ie],Re=_e*ie,ce=W[Re+T+1],Ge=W[Re+T+1+P];e:for(var nt=0;nt<ze;++nt){var ct=h[nt],qt=X[ct];if(qt===me)break;var rt=_e*ct;if(!(Ge<H[rt+T+1]||H[rt+T+1+P]<ce)){for(var ot=T+2;ot<P;++ot)if(W[Re+ot+P]<H[rt+ot]||H[rt+ot+P]<W[Re+ot])continue e;var Rt=F(qt,me);if(Rt!==void 0)return Rt}}}}else{for(var ie=Ce-c,nt=ze-1;nt>=0;--nt)if(h[nt]===ie){for(var ot=nt+1;ot<ze;++ot)h[ot-1]=h[ot];break}--ze}}}},2538:function(i,a,o){\"use strict\";var s=o(8902),l=o(5542),u=o(2272),c=o(5023);i.exports=x;function f(b){return[Math.min(b[0],b[1]),Math.max(b[0],b[1])]}function h(b,p){return b[0]-p[0]||b[1]-p[1]}function d(b){return b.map(f).sort(h)}function v(b,p,E){return p in b?b[p]:E}function x(b,p,E){Array.isArray(p)?(E=E||{},p=p||[]):(E=p||{},p=[]);var k=!!v(E,\"delaunay\",!0),A=!!v(E,\"interior\",!0),L=!!v(E,\"exterior\",!0),_=!!v(E,\"infinity\",!1);if(!A&&!L||b.length===0)return[];var C=s(b,p);if(k||A!==L||_){for(var M=l(b.length,d(p)),g=0;g<C.length;++g){var P=C[g];M.addTriangle(P[0],P[1],P[2])}return k&&u(b,M),L?A?_?c(M,0,_):M.cells():c(M,1,_):c(M,-1)}else return C}},2272:function(i,a,o){\"use strict\";var s=o(2646)[4],l=o(2478);i.exports=c;function u(f,h,d,v,x,b){var p=h.opposite(v,x);if(!(p<0)){if(x<v){var E=v;v=x,x=E,E=b,b=p,p=E}h.isConstraint(v,x)||s(f[v],f[x],f[b],f[p])<0&&d.push(v,x)}}function c(f,h){for(var d=[],v=f.length,x=h.stars,b=0;b<v;++b)for(var p=x[b],E=1;E<p.length;E+=2){var k=p[E];if(!(k<b)&&!h.isConstraint(b,k)){for(var A=p[E-1],L=-1,_=1;_<p.length;_+=2)if(p[_-1]===k){L=p[_];break}L<0||s(f[b],f[k],f[A],f[L])<0&&d.push(b,k)}}for(;d.length>0;){for(var k=d.pop(),b=d.pop(),A=-1,L=-1,p=x[b],C=1;C<p.length;C+=2){var M=p[C-1],g=p[C];M===k?L=g:g===k&&(A=M)}A<0||L<0||s(f[b],f[k],f[A],f[L])>=0||(h.flip(b,k),u(f,h,d,A,b,L),u(f,h,d,b,L,A),u(f,h,d,L,k,A),u(f,h,d,k,A,L))}}},5023:function(i,a,o){\"use strict\";var s=o(2478);i.exports=d;function l(v,x,b,p,E,k,A){this.cells=v,this.neighbor=x,this.flags=p,this.constraint=b,this.active=E,this.next=k,this.boundary=A}var u=l.prototype;function c(v,x){return v[0]-x[0]||v[1]-x[1]||v[2]-x[2]}u.locate=function(){var v=[0,0,0];return function(x,b,p){var E=x,k=b,A=p;return b<p?b<x&&(E=b,k=p,A=x):p<x&&(E=p,k=x,A=b),E<0?-1:(v[0]=E,v[1]=k,v[2]=A,s.eq(this.cells,v,c))}}();function f(v,x){for(var b=v.cells(),p=b.length,E=0;E<p;++E){var k=b[E],A=k[0],L=k[1],_=k[2];L<_?L<A&&(k[0]=L,k[1]=_,k[2]=A):_<A&&(k[0]=_,k[1]=A,k[2]=L)}b.sort(c);for(var C=new Array(p),E=0;E<C.length;++E)C[E]=0;var M=[],g=[],P=new Array(3*p),T=new Array(3*p),F=null;x&&(F=[]);for(var q=new l(b,P,T,C,M,g,F),E=0;E<p;++E)for(var k=b[E],V=0;V<3;++V){var A=k[V],L=k[(V+1)%3],H=P[3*E+V]=q.locate(L,A,v.opposite(L,A)),X=T[3*E+V]=v.isConstraint(A,L);H<0&&(X?g.push(E):(M.push(E),C[E]=1),x&&F.push([L,A,-1]))}return q}function h(v,x,b){for(var p=0,E=0;E<v.length;++E)x[E]===b&&(v[p++]=v[E]);return v.length=p,v}function d(v,x,b){var p=f(v,b);if(x===0)return b?p.cells.concat(p.boundary):p.cells;for(var E=1,k=p.active,A=p.next,L=p.flags,_=p.cells,C=p.constraint,M=p.neighbor;k.length>0||A.length>0;){for(;k.length>0;){var g=k.pop();if(L[g]!==-E){L[g]=E;for(var P=_[g],T=0;T<3;++T){var F=M[3*g+T];F>=0&&L[F]===0&&(C[3*g+T]?A.push(F):(k.push(F),L[F]=E))}}}var q=A;A=k,k=q,A.length=0,E=-E}var V=h(_,L,x);return b?V.concat(p.boundary):V}},8902:function(i,a,o){\"use strict\";var s=o(2478),l=o(3250)[3],u=0,c=1,f=2;i.exports=A;function h(L,_,C,M,g){this.a=L,this.b=_,this.idx=C,this.lowerIds=M,this.upperIds=g}function d(L,_,C,M){this.a=L,this.b=_,this.type=C,this.idx=M}function v(L,_){var C=L.a[0]-_.a[0]||L.a[1]-_.a[1]||L.type-_.type;return C||L.type!==u&&(C=l(L.a,L.b,_.b),C)?C:L.idx-_.idx}function x(L,_){return l(L.a,L.b,_)}function b(L,_,C,M,g){for(var P=s.lt(_,M,x),T=s.gt(_,M,x),F=P;F<T;++F){for(var q=_[F],V=q.lowerIds,X=V.length;X>1&&l(C[V[X-2]],C[V[X-1]],M)>0;)L.push([V[X-1],V[X-2],g]),X-=1;V.length=X,V.push(g);for(var H=q.upperIds,X=H.length;X>1&&l(C[H[X-2]],C[H[X-1]],M)<0;)L.push([H[X-2],H[X-1],g]),X-=1;H.length=X,H.push(g)}}function p(L,_){var C;return L.a[0]<_.a[0]?C=l(L.a,L.b,_.a):C=l(_.b,_.a,L.a),C||(_.b[0]<L.b[0]?C=l(L.a,L.b,_.b):C=l(_.b,_.a,L.b),C||L.idx-_.idx)}function E(L,_,C){var M=s.le(L,C,p),g=L[M],P=g.upperIds,T=P[P.length-1];g.upperIds=[T],L.splice(M+1,0,new h(C.a,C.b,C.idx,[T],P))}function k(L,_,C){var M=C.a;C.a=C.b,C.b=M;var g=s.eq(L,C,p),P=L[g],T=L[g-1];T.upperIds=P.upperIds,L.splice(g,1)}function A(L,_){for(var C=L.length,M=_.length,g=[],P=0;P<C;++P)g.push(new d(L[P],null,u,P));for(var P=0;P<M;++P){var T=_[P],F=L[T[0]],q=L[T[1]];F[0]<q[0]?g.push(new d(F,q,f,P),new d(q,F,c,P)):F[0]>q[0]&&g.push(new d(q,F,f,P),new d(F,q,c,P))}g.sort(v);for(var V=g[0].a[0]-(1+Math.abs(g[0].a[0]))*Math.pow(2,-52),H=[new h([V,1],[V,0],-1,[],[],[],[])],X=[],P=0,G=g.length;P<G;++P){var N=g[P],W=N.type;W===u?b(X,H,L,N.a,N.idx):W===f?E(H,L,N):k(H,L,N)}return X}},5542:function(i,a,o){\"use strict\";var s=o(2478);i.exports=f;function l(h,d){this.stars=h,this.edges=d}var u=l.prototype;function c(h,d,v){for(var x=1,b=h.length;x<b;x+=2)if(h[x-1]===d&&h[x]===v){h[x-1]=h[b-2],h[x]=h[b-1],h.length=b-2;return}}u.isConstraint=function(){var h=[0,0];function d(v,x){return v[0]-x[0]||v[1]-x[1]}return function(v,x){return h[0]=Math.min(v,x),h[1]=Math.max(v,x),s.eq(this.edges,h,d)>=0}}(),u.removeTriangle=function(h,d,v){var x=this.stars;c(x[h],d,v),c(x[d],v,h),c(x[v],h,d)},u.addTriangle=function(h,d,v){var x=this.stars;x[h].push(d,v),x[d].push(v,h),x[v].push(h,d)},u.opposite=function(h,d){for(var v=this.stars[d],x=1,b=v.length;x<b;x+=2)if(v[x]===h)return v[x-1];return-1},u.flip=function(h,d){var v=this.opposite(h,d),x=this.opposite(d,h);this.removeTriangle(h,d,v),this.removeTriangle(d,h,x),this.addTriangle(h,x,v),this.addTriangle(d,v,x)},u.edges=function(){for(var h=this.stars,d=[],v=0,x=h.length;v<x;++v)for(var b=h[v],p=0,E=b.length;p<E;p+=2)d.push([b[p],b[p+1]]);return d},u.cells=function(){for(var h=this.stars,d=[],v=0,x=h.length;v<x;++v)for(var b=h[v],p=0,E=b.length;p<E;p+=2){var k=b[p],A=b[p+1];v<Math.min(k,A)&&d.push([v,k,A])}return d};function f(h,d){for(var v=new Array(h),x=0;x<h;++x)v[x]=[];return new l(v,d)}},2419:function(i){\"use strict\";i.exports=a;function a(o){for(var s=1,l=1;l<o.length;++l)for(var u=0;u<l;++u)if(o[l]<o[u])s=-s;else if(o[u]===o[l])return 0;return s}},3628:function(i,a,o){\"use strict\";var s=o(1338),l=o(727);function u(h,d){for(var v=0,x=h.length,b=0;b<x;++b)v+=h[b]*d[b];return v}function c(h){var d=h.length;if(d===0)return[];var v=h[0].length,x=s([h.length+1,h.length+1],1),b=s([h.length+1],1);x[d][d]=0;for(var p=0;p<d;++p){for(var E=0;E<=p;++E)x[E][p]=x[p][E]=2*u(h[p],h[E]);b[p]=u(h[p],h[p])}for(var k=l(x,b),A=0,L=k[d+1],p=0;p<L.length;++p)A+=L[p];for(var _=new Array(d),p=0;p<d;++p){for(var L=k[p],C=0,E=0;E<L.length;++E)C+=L[E];_[p]=C/A}return _}function f(h){if(h.length===0)return[];for(var d=h[0].length,v=s([d]),x=c(h),b=0;b<h.length;++b)for(var p=0;p<d;++p)v[p]+=h[b][p]*x[b];return v}f.barycenetric=c,i.exports=f},6037:function(i,a,o){i.exports=l;var s=o(3628);function l(u){for(var c=s(u),f=0,h=0;h<u.length;++h)for(var d=u[h],v=0;v<c.length;++v)f+=Math.pow(d[v]-c[v],2);return Math.sqrt(f/u.length)}},332:function(i,a,o){\"use strict\";i.exports=F;var s=o(1755),l=o(6867),u=o(1125),c=o(7842),f=o(1318),h=o(946),d=o(5838),v=o(1278),x=o(3637);function b(q){var V=h(q);return[v(V,-1/0),v(V,1/0)]}function p(q,V){for(var H=new Array(V.length),X=0;X<V.length;++X){var G=V[X],N=q[G[0]],W=q[G[1]];H[X]=[v(Math.min(N[0],W[0]),-1/0),v(Math.min(N[1],W[1]),-1/0),v(Math.max(N[0],W[0]),1/0),v(Math.max(N[1],W[1]),1/0)]}return H}function E(q){for(var V=new Array(q.length),H=0;H<q.length;++H){var X=q[H];V[H]=[v(X[0],-1/0),v(X[1],-1/0),v(X[0],1/0),v(X[1],1/0)]}return V}function k(q,V,H){var X=[];return l(H,function(G,N){var W=V[G],re=V[N];if(!(W[0]===re[0]||W[0]===re[1]||W[1]===re[0]||W[1]===re[1])){var ae=q[W[0]],_e=q[W[1]],Me=q[re[0]],ke=q[re[1]];u(ae,_e,Me,ke)&&X.push([G,N])}}),X}function A(q,V,H,X){var G=[];return l(H,X,function(N,W){var re=V[N];if(!(re[0]===W||re[1]===W)){var ae=q[W],_e=q[re[0]],Me=q[re[1]];u(_e,Me,ae,ae)&&G.push([N,W])}}),G}function L(q,V,H,X,G){var N,W,re=q.map(function(ct){return[c(ct[0]),c(ct[1])]});for(N=0;N<H.length;++N){var ae=H[N];W=ae[0];var _e=ae[1],Me=V[W],ke=V[_e],ge=x(d(q[Me[0]]),d(q[Me[1]]),d(q[ke[0]]),d(q[ke[1]]));if(ge){var ie=q.length;q.push([h(ge[0]),h(ge[1])]),re.push(ge),X.push([W,ie],[_e,ie])}}for(X.sort(function(ct,qt){if(ct[0]!==qt[0])return ct[0]-qt[0];var rt=re[ct[1]],ot=re[qt[1]];return f(rt[0],ot[0])||f(rt[1],ot[1])}),N=X.length-1;N>=0;--N){var Te=X[N];W=Te[0];var Ee=V[W],Ae=Ee[0],ze=Ee[1],Ce=q[Ae],me=q[ze];if((Ce[0]-me[0]||Ce[1]-me[1])<0){var Re=Ae;Ae=ze,ze=Re}Ee[0]=Ae;var ce=Ee[1]=Te[1],Ge;for(G&&(Ge=Ee[2]);N>0&&X[N-1][0]===W;){var Te=X[--N],nt=Te[1];G?V.push([ce,nt,Ge]):V.push([ce,nt]),ce=nt}G?V.push([ce,ze,Ge]):V.push([ce,ze])}return re}function _(q,V,H){for(var X=V.length,G=new s(X),N=[],W=0;W<V.length;++W){var re=V[W],ae=b(re[0]),_e=b(re[1]);N.push([v(ae[0],-1/0),v(_e[0],-1/0),v(ae[1],1/0),v(_e[1],1/0)])}l(N,function(Te,Ee){G.link(Te,Ee)});for(var Me=!0,ke=new Array(X),W=0;W<X;++W){var ge=G.find(W);ge!==W&&(Me=!1,q[ge]=[Math.min(q[W][0],q[ge][0]),Math.min(q[W][1],q[ge][1])])}if(Me)return null;for(var ie=0,W=0;W<X;++W){var ge=G.find(W);ge===W?(ke[W]=ie,q[ie++]=q[W]):ke[W]=-1}q.length=ie;for(var W=0;W<X;++W)ke[W]<0&&(ke[W]=ke[G.find(W)]);return ke}function C(q,V){return q[0]-V[0]||q[1]-V[1]}function M(q,V){var H=q[0]-V[0]||q[1]-V[1];return H||(q[2]<V[2]?-1:q[2]>V[2]?1:0)}function g(q,V,H){if(q.length!==0){if(V)for(var X=0;X<q.length;++X){var G=q[X],N=V[G[0]],W=V[G[1]];G[0]=Math.min(N,W),G[1]=Math.max(N,W)}else for(var X=0;X<q.length;++X){var G=q[X],N=G[0],W=G[1];G[0]=Math.min(N,W),G[1]=Math.max(N,W)}H?q.sort(M):q.sort(C);for(var re=1,X=1;X<q.length;++X){var ae=q[X-1],_e=q[X];_e[0]===ae[0]&&_e[1]===ae[1]&&(!H||_e[2]===ae[2])||(q[re++]=_e)}q.length=re}}function P(q,V,H){var X=_(q,[],E(q));return g(V,X,H),!!X}function T(q,V,H){var X=p(q,V),G=k(q,V,X),N=E(q),W=A(q,V,X,N),re=L(q,V,G,W,H),ae=_(q,re,N);return g(V,ae,H),ae?!0:G.length>0||W.length>0}function F(q,V,H){var X;if(H){X=V;for(var G=new Array(V.length),N=0;N<V.length;++N){var W=V[N];G[N]=[W[0],W[1],H[N]]}V=G}for(var re=P(q,V,!!H);T(q,V,!!H);)re=!0;if(H&&re){X.length=0,H.length=0;for(var N=0;N<V.length;++N){var W=V[N];X.push([W[0],W[1]]),H.push(W[2])}}return re}},3637:function(i,a,o){\"use strict\";i.exports=x;var s=o(6504),l=o(8697),u=o(5572),c=o(7721),f=o(544),h=o(2653),d=o(8987);function v(b,p){return u(s(b[0],p[1]),s(b[1],p[0]))}function x(b,p,E,k){var A=f(p,b),L=f(k,E),_=v(A,L);if(c(_)===0)return null;var C=f(b,E),M=v(L,C),g=l(M,_),P=d(A,g),T=h(b,P);return T}},3642:function(i){i.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(i,a,o){\"use strict\";var s=o(3642),l=o(395);i.exports=u;function u(d){var v,x,b,p,E,k,A,L,g,_,C;if(d||(d={}),L=(d.nshades||72)-1,A=d.format||\"hex\",k=d.colormap,k||(k=\"jet\"),typeof k==\"string\"){if(k=k.toLowerCase(),!s[k])throw Error(k+\" not a supported colorscale\");E=s[k]}else if(Array.isArray(k))E=k.slice();else throw Error(\"unsupported colormap option\",k);if(E.length>L+1)throw new Error(k+\" map requires nshades to be at least size \"+E.length);Array.isArray(d.alpha)?d.alpha.length!==2?_=[1,1]:_=d.alpha.slice():typeof d.alpha==\"number\"?_=[d.alpha,d.alpha]:_=[1,1],v=E.map(function(F){return Math.round(F.index*L)}),_[0]=Math.min(Math.max(_[0],0),1),_[1]=Math.min(Math.max(_[1],0),1);var M=E.map(function(F,q){var V=E[q].index,H=E[q].rgb.slice();return H.length===4&&H[3]>=0&&H[3]<=1||(H[3]=_[0]+(_[1]-_[0])*V),H}),g=[];for(C=0;C<v.length-1;++C){p=v[C+1]-v[C],x=M[C],b=M[C+1];for(var P=0;P<p;P++){var T=P/p;g.push([Math.round(l(x[0],b[0],T)),Math.round(l(x[1],b[1],T)),Math.round(l(x[2],b[2],T)),l(x[3],b[3],T)])}}return g.push(E[E.length-1].rgb.concat(_[1])),A===\"hex\"?g=g.map(f):A===\"rgbaString\"?g=g.map(h):A===\"float\"&&(g=g.map(c)),g}function c(d){return[d[0]/255,d[1]/255,d[2]/255,d[3]]}function f(d){for(var v,x=\"#\",b=0;b<3;++b)v=d[b],v=v.toString(16),x+=(\"00\"+v).substr(v.length);return x}function h(d){return\"rgba(\"+d.join(\",\")+\")\"}},3140:function(i,a,o){\"use strict\";i.exports=d;var s=o(3250),l=o(8572),u=o(9362),c=o(5382),f=o(8210);function h(v,x,b){var p=u(v[0],-x[0]),E=u(v[1],-x[1]),k=u(b[0],-x[0]),A=u(b[1],-x[1]),L=f(c(p,k),c(E,A));return L[L.length-1]>=0}function d(v,x,b,p){var E=s(x,b,p);if(E===0){var k=l(s(v,x,b)),A=l(s(v,x,p));if(k===A){if(k===0){var L=h(v,x,b),_=h(v,x,p);return L===_?0:L?1:-1}return 0}else{if(A===0)return k>0||h(v,x,p)?-1:1;if(k===0)return A>0||h(v,x,b)?1:-1}return l(A-k)}var C=s(v,x,b);if(C>0)return E>0&&s(v,x,p)>0?1:-1;if(C<0)return E>0||s(v,x,p)>0?1:-1;var M=s(v,x,p);return M>0||h(v,x,b)?1:-1}},8572:function(i){\"use strict\";i.exports=function(o){return o<0?-1:o>0?1:0}},8507:function(i){i.exports=s;var a=Math.min;function o(l,u){return l-u}function s(l,u){var c=l.length,f=l.length-u.length;if(f)return f;switch(c){case 0:return 0;case 1:return l[0]-u[0];case 2:return l[0]+l[1]-u[0]-u[1]||a(l[0],l[1])-a(u[0],u[1]);case 3:var h=l[0]+l[1],d=u[0]+u[1];if(f=h+l[2]-(d+u[2]),f)return f;var v=a(l[0],l[1]),x=a(u[0],u[1]);return a(v,l[2])-a(x,u[2])||a(v+l[2],h)-a(x+u[2],d);case 4:var b=l[0],p=l[1],E=l[2],k=l[3],A=u[0],L=u[1],_=u[2],C=u[3];return b+p+E+k-(A+L+_+C)||a(b,p,E,k)-a(A,L,_,C,A)||a(b+p,b+E,b+k,p+E,p+k,E+k)-a(A+L,A+_,A+C,L+_,L+C,_+C)||a(b+p+E,b+p+k,b+E+k,p+E+k)-a(A+L+_,A+L+C,A+_+C,L+_+C);default:for(var M=l.slice().sort(o),g=u.slice().sort(o),P=0;P<c;++P)if(f=M[P]-g[P],f)return f;return 0}}},3788:function(i,a,o){\"use strict\";var s=o(8507),l=o(2419);i.exports=u;function u(c,f){return s(c,f)||l(c)-l(f)}},7352:function(i,a,o){\"use strict\";var s=o(5721),l=o(4750),u=o(2690);i.exports=c;function c(f){var h=f.length;if(h===0)return[];if(h===1)return[[0]];var d=f[0].length;return d===0?[]:d===1?s(f):d===2?l(f):u(f,d)}},5721:function(i){\"use strict\";i.exports=a;function a(o){for(var s=0,l=0,u=1;u<o.length;++u)o[u][0]<o[s][0]&&(s=u),o[u][0]>o[l][0]&&(l=u);return s<l?[[s],[l]]:s>l?[[l],[s]]:[[s]]}},4750:function(i,a,o){\"use strict\";i.exports=l;var s=o(3090);function l(u){var c=s(u),f=c.length;if(f<=2)return[];for(var h=new Array(f),d=c[f-1],v=0;v<f;++v){var x=c[v];h[v]=[d,x],d=x}return h}},2690:function(i,a,o){\"use strict\";i.exports=f;var s=o(8954),l=o(3952);function u(h,d){for(var v=h.length,x=new Array(v),b=0;b<d.length;++b)x[b]=h[d[b]];for(var p=d.length,b=0;b<v;++b)d.indexOf(b)<0&&(x[p++]=h[b]);return x}function c(h,d){for(var v=h.length,x=d.length,b=0;b<v;++b)for(var p=h[b],E=0;E<p.length;++E){var k=p[E];if(k<x)p[E]=d[k];else{k=k-x;for(var A=0;A<x;++A)k>=d[A]&&(k+=1);p[E]=k}}return h}function f(h,d){try{return s(h,!0)}catch(p){var v=l(h);if(v.length<=d)return[];var x=u(h,v),b=s(x,!0);return c(b,v)}}},4769:function(i){\"use strict\";function a(s,l,u,c,f,h){var d=6*f*f-6*f,v=3*f*f-4*f+1,x=-6*f*f+6*f,b=3*f*f-2*f;if(s.length){h||(h=new Array(s.length));for(var p=s.length-1;p>=0;--p)h[p]=d*s[p]+v*l[p]+x*u[p]+b*c[p];return h}return d*s+v*l+x*u[p]+b*c}function o(s,l,u,c,f,h){var d=f-1,v=f*f,x=d*d,b=(1+2*f)*x,p=f*x,E=v*(3-2*f),k=v*d;if(s.length){h||(h=new Array(s.length));for(var A=s.length-1;A>=0;--A)h[A]=b*s[A]+p*l[A]+E*u[A]+k*c[A];return h}return b*s+p*l+E*u+k*c}i.exports=o,i.exports.derivative=a},7642:function(i,a,o){\"use strict\";var s=o(8954),l=o(1682);i.exports=h;function u(d,v){this.point=d,this.index=v}function c(d,v){for(var x=d.point,b=v.point,p=x.length,E=0;E<p;++E){var k=b[E]-x[E];if(k)return k}return 0}function f(d,v,x){if(d===1)return x?[[-1,0]]:[];var b=v.map(function(L,_){return[L[0],_]});b.sort(function(L,_){return L[0]-_[0]});for(var p=new Array(d-1),E=1;E<d;++E){var k=b[E-1],A=b[E];p[E-1]=[k[1],A[1]]}return x&&p.push([-1,p[0][1]],[p[d-1][1],-1]),p}function h(d,v){var x=d.length;if(x===0)return[];var b=d[0].length;if(b<1)return[];if(b===1)return f(x,d,v);for(var p=new Array(x),E=1,k=0;k<x;++k){for(var A=d[k],L=new Array(b+1),_=0,C=0;C<b;++C){var M=A[C];L[C]=M,_+=M*M}L[b]=_,p[k]=new u(L,k),E=Math.max(_,E)}l(p,c),x=p.length;for(var g=new Array(x+b+1),P=new Array(x+b+1),T=(b+1)*(b+1)*E,F=new Array(b+1),k=0;k<=b;++k)F[k]=0;F[b]=T,g[0]=F.slice(),P[0]=-1;for(var k=0;k<=b;++k){var L=F.slice();L[k]=1,g[k+1]=L,P[k+1]=-1}for(var k=0;k<x;++k){var q=p[k];g[k+b+1]=q.point,P[k+b+1]=q.index}var V=s(g,!1);if(v?V=V.filter(function(H){for(var X=0,G=0;G<=b;++G){var N=P[H[G]];if(N<0&&++X>=2)return!1;H[G]=N}return!0}):V=V.filter(function(H){for(var X=0;X<=b;++X){var G=P[H[X]];if(G<0)return!1;H[X]=G}return!0}),b&1)for(var k=0;k<V.length;++k){var q=V[k],L=q[0];q[0]=q[1],q[1]=L}return V}},2361:function(i){var a=!1;if(typeof Float64Array!=\"undefined\"){var o=new Float64Array(1),s=new Uint32Array(o.buffer);if(o[0]=1,a=!0,s[1]===1072693248){let E=function(L,_){return s[0]=L,s[1]=_,o[0]},k=function(L){return o[0]=L,s[0]},A=function(L){return o[0]=L,s[1]};var u=E,c=k,f=A;i.exports=function(_){return o[0]=_,[s[0],s[1]]},i.exports.pack=E,i.exports.lo=k,i.exports.hi=A}else if(s[0]===1072693248){let E=function(L,_){return s[1]=L,s[0]=_,o[0]},k=function(L){return o[0]=L,s[1]},A=function(L){return o[0]=L,s[0]};var h=E,d=k,v=A;i.exports=function(_){return o[0]=_,[s[1],s[0]]},i.exports.pack=E,i.exports.lo=k,i.exports.hi=A}else a=!1}if(!a){let E=function(L,_){return l.writeUInt32LE(L,0,!0),l.writeUInt32LE(_,4,!0),l.readDoubleLE(0,!0)},k=function(L){return l.writeDoubleLE(L,0,!0),l.readUInt32LE(0,!0)},A=function(L){return l.writeDoubleLE(L,0,!0),l.readUInt32LE(4,!0)};var x=E,b=k,p=A,l=new Buffer(8);i.exports=function(_){return l.writeDoubleLE(_,0,!0),[l.readUInt32LE(0,!0),l.readUInt32LE(4,!0)]},i.exports.pack=E,i.exports.lo=k,i.exports.hi=A}i.exports.sign=function(E){return i.exports.hi(E)>>>31},i.exports.exponent=function(E){var k=i.exports.hi(E);return(k<<1>>>21)-1023},i.exports.fraction=function(E){var k=i.exports.lo(E),A=i.exports.hi(E),L=A&(1<<20)-1;return A&2146435072&&(L+=1048576),[k,L]},i.exports.denormalized=function(E){var k=i.exports.hi(E);return!(k&2146435072)}},1338:function(i){\"use strict\";function a(l,u,c){var f=l[c]|0;if(f<=0)return[];var h=new Array(f),d;if(c===l.length-1)for(d=0;d<f;++d)h[d]=u;else for(d=0;d<f;++d)h[d]=a(l,u,c+1);return h}function o(l,u){var c,f;for(c=new Array(l),f=0;f<l;++f)c[f]=u;return c}function s(l,u){switch(typeof u==\"undefined\"&&(u=0),typeof l){case\"number\":if(l>0)return o(l|0,u);break;case\"object\":if(typeof l.length==\"number\")return a(l,u,0);break}return[]}i.exports=s},3134:function(i,a,o){\"use strict\";i.exports=l;var s=o(1682);function l(u,c){var f=u.length;if(typeof c!=\"number\"){c=0;for(var h=0;h<f;++h){var d=u[h];c=Math.max(c,d[0],d[1])}c=(c|0)+1}c=c|0;for(var v=new Array(c),h=0;h<c;++h)v[h]=[];for(var h=0;h<f;++h){var d=u[h];v[d[0]].push(d[1]),v[d[1]].push(d[0])}for(var x=0;x<c;++x)s(v[x],function(b,p){return b-p});return v}},5033:function(i){\"use strict\";i.exports=a;function a(o,s,l){var u=s||0,c=l||1;return[[o[12]+o[0],o[13]+o[1],o[14]+o[2],o[15]+o[3]],[o[12]-o[0],o[13]-o[1],o[14]-o[2],o[15]-o[3]],[o[12]+o[4],o[13]+o[5],o[14]+o[6],o[15]+o[7]],[o[12]-o[4],o[13]-o[5],o[14]-o[6],o[15]-o[7]],[u*o[12]+o[8],u*o[13]+o[9],u*o[14]+o[10],u*o[15]+o[11]],[c*o[12]-o[8],c*o[13]-o[9],c*o[14]-o[10],c*o[15]-o[11]]]}},9215:function(i,a,o){\"use strict\";i.exports=d;var s=o(4769),l=o(2478);function u(v,x,b){return Math.min(x,Math.max(v,b))}function c(v,x,b){this.dimension=v.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var p=0;p<this.dimension;++p)this.bounds[0][p]=-1/0,this.bounds[1][p]=1/0;this._state=v.slice().reverse(),this._velocity=x.slice().reverse(),this._time=[b],this._scratch=[v.slice(),v.slice(),v.slice(),v.slice(),v.slice()]}var f=c.prototype;f.flush=function(v){var x=l.gt(this._time,v)-1;x<=0||(this._time.splice(0,x),this._state.splice(0,x*this.dimension),this._velocity.splice(0,x*this.dimension))},f.curve=function(v){var x=this._time,b=x.length,p=l.le(x,v),E=this._scratch[0],k=this._state,A=this._velocity,L=this.dimension,_=this.bounds;if(p<0)for(var C=L-1,M=0;M<L;++M,--C)E[M]=k[C];else if(p>=b-1)for(var C=k.length-1,g=v-x[b-1],M=0;M<L;++M,--C)E[M]=k[C]+g*A[C];else{for(var C=L*(p+1)-1,P=x[p],T=x[p+1],F=T-P||1,q=this._scratch[1],V=this._scratch[2],H=this._scratch[3],X=this._scratch[4],G=!0,M=0;M<L;++M,--C)q[M]=k[C],H[M]=A[C]*F,V[M]=k[C+L],X[M]=A[C+L]*F,G=G&&q[M]===V[M]&&H[M]===X[M]&&H[M]===0;if(G)for(var M=0;M<L;++M)E[M]=q[M];else s(q,H,V,X,(v-P)/F,E)}for(var N=_[0],W=_[1],M=0;M<L;++M)E[M]=u(N[M],W[M],E[M]);return E},f.dcurve=function(v){var x=this._time,b=x.length,p=l.le(x,v),E=this._scratch[0],k=this._state,A=this._velocity,L=this.dimension;if(p>=b-1)for(var _=k.length-1,C=v-x[b-1],M=0;M<L;++M,--_)E[M]=A[_];else{for(var _=L*(p+1)-1,g=x[p],P=x[p+1],T=P-g||1,F=this._scratch[1],q=this._scratch[2],V=this._scratch[3],H=this._scratch[4],X=!0,M=0;M<L;++M,--_)F[M]=k[_],V[M]=A[_]*T,q[M]=k[_+L],H[M]=A[_+L]*T,X=X&&F[M]===q[M]&&V[M]===H[M]&&V[M]===0;if(X)for(var M=0;M<L;++M)E[M]=0;else{s.derivative(F,V,q,H,(v-g)/T,E);for(var M=0;M<L;++M)E[M]/=T}}return E},f.lastT=function(){var v=this._time;return v[v.length-1]},f.stable=function(){for(var v=this._velocity,x=v.length,b=this.dimension-1;b>=0;--b)if(v[--x])return!1;return!0},f.jump=function(v){var x=this.lastT(),b=this.dimension;if(!(v<x||arguments.length!==b+1)){var p=this._state,E=this._velocity,k=p.length-this.dimension,A=this.bounds,L=A[0],_=A[1];this._time.push(x,v);for(var C=0;C<2;++C)for(var M=0;M<b;++M)p.push(p[k++]),E.push(0);this._time.push(v);for(var M=b;M>0;--M)p.push(u(L[M-1],_[M-1],arguments[M])),E.push(0)}},f.push=function(v){var x=this.lastT(),b=this.dimension;if(!(v<x||arguments.length!==b+1)){var p=this._state,E=this._velocity,k=p.length-this.dimension,A=v-x,L=this.bounds,_=L[0],C=L[1],M=A>1e-6?1/A:0;this._time.push(v);for(var g=b;g>0;--g){var P=u(_[g-1],C[g-1],arguments[g]);p.push(P),E.push((P-p[k++])*M)}}},f.set=function(v){var x=this.dimension;if(!(v<this.lastT()||arguments.length!==x+1)){var b=this._state,p=this._velocity,E=this.bounds,k=E[0],A=E[1];this._time.push(v);for(var L=x;L>0;--L)b.push(u(k[L-1],A[L-1],arguments[L])),p.push(0)}},f.move=function(v){var x=this.lastT(),b=this.dimension;if(!(v<=x||arguments.length!==b+1)){var p=this._state,E=this._velocity,k=p.length-this.dimension,A=this.bounds,L=A[0],_=A[1],C=v-x,M=C>1e-6?1/C:0;this._time.push(v);for(var g=b;g>0;--g){var P=arguments[g];p.push(u(L[g-1],_[g-1],p[k++]+P)),E.push(P*M)}}},f.idle=function(v){var x=this.lastT();if(!(v<x)){var b=this.dimension,p=this._state,E=this._velocity,k=p.length-b,A=this.bounds,L=A[0],_=A[1],C=v-x;this._time.push(v);for(var M=b-1;M>=0;--M)p.push(u(L[M],_[M],p[k]+C*E[k])),E.push(0),k+=1}};function h(v){for(var x=new Array(v),b=0;b<v;++b)x[b]=0;return x}function d(v,x,b){switch(arguments.length){case 0:return new c([0],[0],0);case 1:if(typeof v==\"number\"){var p=h(v);return new c(p,p,0)}else return new c(v,h(v.length),0);case 2:if(typeof x==\"number\"){var p=h(v.length);return new c(v,p,+x)}else b=0;case 3:if(v.length!==x.length)throw new Error(\"state and velocity lengths must match\");return new c(v,x,b)}}},3840:function(i){\"use strict\";i.exports=L;var a=0,o=1;function s(_,C,M,g,P,T){this._color=_,this.key=C,this.value=M,this.left=g,this.right=P,this._count=T}function l(_){return new s(_._color,_.key,_.value,_.left,_.right,_._count)}function u(_,C){return new s(_,C.key,C.value,C.left,C.right,C._count)}function c(_){_._count=1+(_.left?_.left._count:0)+(_.right?_.right._count:0)}function f(_,C){this._compare=_,this.root=C}var h=f.prototype;Object.defineProperty(h,\"keys\",{get:function(){var _=[];return this.forEach(function(C,M){_.push(C)}),_}}),Object.defineProperty(h,\"values\",{get:function(){var _=[];return this.forEach(function(C,M){_.push(M)}),_}}),Object.defineProperty(h,\"length\",{get:function(){return this.root?this.root._count:0}}),h.insert=function(_,C){for(var M=this._compare,g=this.root,P=[],T=[];g;){var F=M(_,g.key);P.push(g),T.push(F),F<=0?g=g.left:g=g.right}P.push(new s(a,_,C,null,null,1));for(var q=P.length-2;q>=0;--q){var g=P[q];T[q]<=0?P[q]=new s(g._color,g.key,g.value,P[q+1],g.right,g._count+1):P[q]=new s(g._color,g.key,g.value,g.left,P[q+1],g._count+1)}for(var q=P.length-1;q>1;--q){var V=P[q-1],g=P[q];if(V._color===o||g._color===o)break;var H=P[q-2];if(H.left===V)if(V.left===g){var X=H.right;if(X&&X._color===a)V._color=o,H.right=u(o,X),H._color=a,q-=1;else{if(H._color=a,H.left=V.right,V._color=o,V.right=H,P[q-2]=V,P[q-1]=g,c(H),c(V),q>=3){var G=P[q-3];G.left===H?G.left=V:G.right=V}break}}else{var X=H.right;if(X&&X._color===a)V._color=o,H.right=u(o,X),H._color=a,q-=1;else{if(V.right=g.left,H._color=a,H.left=g.right,g._color=o,g.left=V,g.right=H,P[q-2]=g,P[q-1]=V,c(H),c(V),c(g),q>=3){var G=P[q-3];G.left===H?G.left=g:G.right=g}break}}else if(V.right===g){var X=H.left;if(X&&X._color===a)V._color=o,H.left=u(o,X),H._color=a,q-=1;else{if(H._color=a,H.right=V.left,V._color=o,V.left=H,P[q-2]=V,P[q-1]=g,c(H),c(V),q>=3){var G=P[q-3];G.right===H?G.right=V:G.left=V}break}}else{var X=H.left;if(X&&X._color===a)V._color=o,H.left=u(o,X),H._color=a,q-=1;else{if(V.left=g.right,H._color=a,H.right=g.left,g._color=o,g.right=V,g.left=H,P[q-2]=g,P[q-1]=V,c(H),c(V),c(g),q>=3){var G=P[q-3];G.right===H?G.right=g:G.left=g}break}}}return P[0]._color=o,new f(M,P[0])};function d(_,C){if(C.left){var M=d(_,C.left);if(M)return M}var M=_(C.key,C.value);if(M)return M;if(C.right)return d(_,C.right)}function v(_,C,M,g){var P=C(_,g.key);if(P<=0){if(g.left){var T=v(_,C,M,g.left);if(T)return T}var T=M(g.key,g.value);if(T)return T}if(g.right)return v(_,C,M,g.right)}function x(_,C,M,g,P){var T=M(_,P.key),F=M(C,P.key),q;if(T<=0&&(P.left&&(q=x(_,C,M,g,P.left),q)||F>0&&(q=g(P.key,P.value),q)))return q;if(F>0&&P.right)return x(_,C,M,g,P.right)}h.forEach=function(C,M,g){if(this.root)switch(arguments.length){case 1:return d(C,this.root);case 2:return v(M,this._compare,C,this.root);case 3:return this._compare(M,g)>=0?void 0:x(M,g,this._compare,C,this.root)}},Object.defineProperty(h,\"begin\",{get:function(){for(var _=[],C=this.root;C;)_.push(C),C=C.left;return new b(this,_)}}),Object.defineProperty(h,\"end\",{get:function(){for(var _=[],C=this.root;C;)_.push(C),C=C.right;return new b(this,_)}}),h.at=function(_){if(_<0)return new b(this,[]);for(var C=this.root,M=[];;){if(M.push(C),C.left){if(_<C.left._count){C=C.left;continue}_-=C.left._count}if(!_)return new b(this,M);if(_-=1,C.right){if(_>=C.right._count)break;C=C.right}else break}return new b(this,[])},h.ge=function(_){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(_,M.key);g.push(M),T<=0&&(P=g.length),T<=0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.gt=function(_){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(_,M.key);g.push(M),T<0&&(P=g.length),T<0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.lt=function(_){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(_,M.key);g.push(M),T>0&&(P=g.length),T<=0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.le=function(_){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(_,M.key);g.push(M),T>=0&&(P=g.length),T<0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.find=function(_){for(var C=this._compare,M=this.root,g=[];M;){var P=C(_,M.key);if(g.push(M),P===0)return new b(this,g);P<=0?M=M.left:M=M.right}return new b(this,[])},h.remove=function(_){var C=this.find(_);return C?C.remove():this},h.get=function(_){for(var C=this._compare,M=this.root;M;){var g=C(_,M.key);if(g===0)return M.value;g<=0?M=M.left:M=M.right}};function b(_,C){this.tree=_,this._stack=C}var p=b.prototype;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 b(this.tree,this._stack.slice())};function E(_,C){_.key=C.key,_.value=C.value,_.left=C.left,_.right=C.right,_._color=C._color,_._count=C._count}function k(_){for(var C,M,g,P,T=_.length-1;T>=0;--T){if(C=_[T],T===0){C._color=o;return}if(M=_[T-1],M.left===C){if(g=M.right,g.right&&g.right._color===a){if(g=M.right=l(g),P=g.right=l(g.right),M.right=g.left,g.left=M,g.right=P,g._color=M._color,C._color=o,M._color=o,P._color=o,c(M),c(g),T>1){var F=_[T-2];F.left===M?F.left=g:F.right=g}_[T-1]=g;return}else if(g.left&&g.left._color===a){if(g=M.right=l(g),P=g.left=l(g.left),M.right=P.left,g.left=P.right,P.left=M,P.right=g,P._color=M._color,M._color=o,g._color=o,C._color=o,c(M),c(g),c(P),T>1){var F=_[T-2];F.left===M?F.left=P:F.right=P}_[T-1]=P;return}if(g._color===o)if(M._color===a){M._color=o,M.right=u(a,g);return}else{M.right=u(a,g);continue}else{if(g=l(g),M.right=g.left,g.left=M,g._color=M._color,M._color=a,c(M),c(g),T>1){var F=_[T-2];F.left===M?F.left=g:F.right=g}_[T-1]=g,_[T]=M,T+1<_.length?_[T+1]=C:_.push(C),T=T+2}}else{if(g=M.left,g.left&&g.left._color===a){if(g=M.left=l(g),P=g.left=l(g.left),M.left=g.right,g.right=M,g.left=P,g._color=M._color,C._color=o,M._color=o,P._color=o,c(M),c(g),T>1){var F=_[T-2];F.right===M?F.right=g:F.left=g}_[T-1]=g;return}else if(g.right&&g.right._color===a){if(g=M.left=l(g),P=g.right=l(g.right),M.left=P.right,g.right=P.left,P.right=M,P.left=g,P._color=M._color,M._color=o,g._color=o,C._color=o,c(M),c(g),c(P),T>1){var F=_[T-2];F.right===M?F.right=P:F.left=P}_[T-1]=P;return}if(g._color===o)if(M._color===a){M._color=o,M.left=u(a,g);return}else{M.left=u(a,g);continue}else{if(g=l(g),M.left=g.right,g.right=M,g._color=M._color,M._color=a,c(M),c(g),T>1){var F=_[T-2];F.right===M?F.right=g:F.left=g}_[T-1]=g,_[T]=M,T+1<_.length?_[T+1]=C:_.push(C),T=T+2}}}}p.remove=function(){var _=this._stack;if(_.length===0)return this.tree;var C=new Array(_.length),M=_[_.length-1];C[C.length-1]=new s(M._color,M.key,M.value,M.left,M.right,M._count);for(var g=_.length-2;g>=0;--g){var M=_[g];M.left===_[g+1]?C[g]=new s(M._color,M.key,M.value,C[g+1],M.right,M._count):C[g]=new s(M._color,M.key,M.value,M.left,C[g+1],M._count)}if(M=C[C.length-1],M.left&&M.right){var P=C.length;for(M=M.left;M.right;)C.push(M),M=M.right;var T=C[P-1];C.push(new s(M._color,T.key,T.value,M.left,M.right,M._count)),C[P-1].key=M.key,C[P-1].value=M.value;for(var g=C.length-2;g>=P;--g)M=C[g],C[g]=new s(M._color,M.key,M.value,M.left,C[g+1],M._count);C[P-1].left=C[P]}if(M=C[C.length-1],M._color===a){var F=C[C.length-2];F.left===M?F.left=null:F.right===M&&(F.right=null),C.pop();for(var g=0;g<C.length;++g)C[g]._count--;return new f(this.tree._compare,C[0])}else if(M.left||M.right){M.left?E(M,M.left):M.right&&E(M,M.right),M._color=o;for(var g=0;g<C.length-1;++g)C[g]._count--;return new f(this.tree._compare,C[0])}else{if(C.length===1)return new f(this.tree._compare,null);for(var g=0;g<C.length;++g)C[g]._count--;var q=C[C.length-2];k(C),q.left===M?q.left=null:q.right=null}return new f(this.tree._compare,C[0])},Object.defineProperty(p,\"key\",{get:function(){if(this._stack.length>0)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 _=0,C=this._stack;if(C.length===0){var M=this.tree.root;return M?M._count:0}else C[C.length-1].left&&(_=C[C.length-1].left._count);for(var g=C.length-2;g>=0;--g)C[g+1]===C[g].right&&(++_,C[g].left&&(_+=C[g].left._count));return _},enumerable:!0}),p.next=function(){var _=this._stack;if(_.length!==0){var C=_[_.length-1];if(C.right)for(C=C.right;C;)_.push(C),C=C.left;else for(_.pop();_.length>0&&_[_.length-1].right===C;)C=_[_.length-1],_.pop()}},Object.defineProperty(p,\"hasNext\",{get:function(){var _=this._stack;if(_.length===0)return!1;if(_[_.length-1].right)return!0;for(var C=_.length-1;C>0;--C)if(_[C-1].left===_[C])return!0;return!1}}),p.update=function(_){var C=this._stack;if(C.length===0)throw new Error(\"Can't update empty node!\");var M=new Array(C.length),g=C[C.length-1];M[M.length-1]=new s(g._color,g.key,_,g.left,g.right,g._count);for(var P=C.length-2;P>=0;--P)g=C[P],g.left===C[P+1]?M[P]=new s(g._color,g.key,g.value,M[P+1],g.right,g._count):M[P]=new s(g._color,g.key,g.value,g.left,M[P+1],g._count);return new f(this.tree._compare,M[0])},p.prev=function(){var _=this._stack;if(_.length!==0){var C=_[_.length-1];if(C.left)for(C=C.left;C;)_.push(C),C=C.right;else for(_.pop();_.length>0&&_[_.length-1].left===C;)C=_[_.length-1],_.pop()}},Object.defineProperty(p,\"hasPrev\",{get:function(){var _=this._stack;if(_.length===0)return!1;if(_[_.length-1].left)return!0;for(var C=_.length-1;C>0;--C)if(_[C-1].right===_[C])return!0;return!1}});function A(_,C){return _<C?-1:_>C?1:0}function L(_){return new f(_||A,null)}},3837:function(i,a,o){\"use strict\";i.exports=q;var s=o(4935),l=o(501),u=o(5304),c=o(6429),f=o(6444),h=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),d=ArrayBuffer,v=DataView;function x(V){return d.isView(V)&&!(V instanceof v)}function b(V){return Array.isArray(V)||x(V)}function p(V,H){return V[0]=H[0],V[1]=H[1],V[2]=H[2],V}function E(V){this.gl=V,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=u(V)}var k=E.prototype;k.update=function(V){V=V||{};function H(Ae,ze,Ce){if(Ce in V){var me=V[Ce],Re=this[Ce],ce;(Ae?b(me)&&b(me[0]):b(me))?this[Ce]=ce=[ze(me[0]),ze(me[1]),ze(me[2])]:this[Ce]=ce=[ze(me),ze(me),ze(me)];for(var Ge=0;Ge<3;++Ge)if(ce[Ge]!==Re[Ge])return!0}return!1}var X=H.bind(this,!1,Number),G=H.bind(this,!1,Boolean),N=H.bind(this,!1,String),W=H.bind(this,!0,function(Ae){if(b(Ae)){if(Ae.length===3)return[+Ae[0],+Ae[1],+Ae[2],1];if(Ae.length===4)return[+Ae[0],+Ae[1],+Ae[2],+Ae[3]]}return[0,0,0,1]}),re,ae=!1,_e=!1;if(\"bounds\"in V)for(var Me=V.bounds,ke=0;ke<2;++ke)for(var ge=0;ge<3;++ge)Me[ke][ge]!==this.bounds[ke][ge]&&(_e=!0),this.bounds[ke][ge]=Me[ke][ge];if(\"ticks\"in V){re=V.ticks,ae=!0,this.autoTicks=!1;for(var ke=0;ke<3;++ke)this.tickSpacing[ke]=0}else X(\"tickSpacing\")&&(this.autoTicks=!0,_e=!0);if(this._firstInit&&(\"ticks\"in V||\"tickSpacing\"in V||(this.autoTicks=!0),_e=!0,ae=!0,this._firstInit=!1),_e&&this.autoTicks&&(re=f.create(this.bounds,this.tickSpacing),ae=!0),ae){for(var ke=0;ke<3;++ke)re[ke].sort(function(ze,Ce){return ze.x-Ce.x});f.equal(re,this.ticks)?ae=!1:this.ticks=re}G(\"tickEnable\"),N(\"tickFont\")&&(ae=!0),N(\"tickFontStyle\")&&(ae=!0),N(\"tickFontWeight\")&&(ae=!0),N(\"tickFontVariant\")&&(ae=!0),X(\"tickSize\"),X(\"tickAngle\"),X(\"tickPad\"),W(\"tickColor\");var ie=N(\"labels\");N(\"labelFont\")&&(ie=!0),N(\"labelFontStyle\")&&(ie=!0),N(\"labelFontWeight\")&&(ie=!0),N(\"labelFontVariant\")&&(ie=!0),G(\"labelEnable\"),X(\"labelSize\"),X(\"labelPad\"),W(\"labelColor\"),G(\"lineEnable\"),G(\"lineMirror\"),X(\"lineWidth\"),W(\"lineColor\"),G(\"lineTickEnable\"),G(\"lineTickMirror\"),X(\"lineTickLength\"),X(\"lineTickWidth\"),W(\"lineTickColor\"),G(\"gridEnable\"),X(\"gridWidth\"),W(\"gridColor\"),G(\"zeroEnable\"),W(\"zeroLineColor\"),X(\"zeroLineWidth\"),G(\"backgroundEnable\"),W(\"backgroundColor\");var Te=[{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]}],Ee=[{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&&(ie||ae)&&this._text.update(this.bounds,this.labels,Te,this.ticks,Ee):this._text=s(this.gl,this.bounds,this.labels,Te,this.ticks,Ee),this._lines&&ae&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=l(this.gl,this.bounds,this.ticks))};function A(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}var L=[new A,new A,new A];function _(V,H,X,G,N){for(var W=V.primalOffset,re=V.primalMinor,ae=V.mirrorOffset,_e=V.mirrorMinor,Me=G[H],ke=0;ke<3;++ke)if(H!==ke){var ge=W,ie=ae,Te=re,Ee=_e;Me&1<<ke&&(ge=ae,ie=W,Te=_e,Ee=re),ge[ke]=X[0][ke],ie[ke]=X[1][ke],N[ke]>0?(Te[ke]=-1,Ee[ke]=0):(Te[ke]=0,Ee[ke]=1)}}var C=[0,0,0],M={model:h,view:h,projection:h,_ortho:!1};k.isOpaque=function(){return!0},k.isTransparent=function(){return!1},k.drawTransparent=function(V){};var g=0,P=[0,0,0],T=[0,0,0],F=[0,0,0];k.draw=function(V){V=V||M;for(var Ce=this.gl,H=V.model||h,X=V.view||h,G=V.projection||h,N=this.bounds,W=V._ortho||!1,re=c(H,X,G,N,W),ae=re.cubeEdges,_e=re.axis,Me=X[12],ke=X[13],ge=X[14],ie=X[15],Te=W?2:1,Ee=Te*this.pixelRatio*(G[3]*Me+G[7]*ke+G[11]*ge+G[15]*ie)/Ce.drawingBufferHeight,Ae=0;Ae<3;++Ae)this.lastCubeProps.cubeEdges[Ae]=ae[Ae],this.lastCubeProps.axis[Ae]=_e[Ae];for(var ze=L,Ae=0;Ae<3;++Ae)_(L[Ae],Ae,this.bounds,ae,_e);for(var Ce=this.gl,me=C,Ae=0;Ae<3;++Ae)this.backgroundEnable[Ae]?me[Ae]=_e[Ae]:me[Ae]=0;this._background.draw(H,X,G,N,me,this.backgroundColor),this._lines.bind(H,X,G,this);for(var Ae=0;Ae<3;++Ae){var Re=[0,0,0];_e[Ae]>0?Re[Ae]=N[1][Ae]:Re[Ae]=N[0][Ae];for(var ce=0;ce<2;++ce){var Ge=(Ae+1+ce)%3,nt=(Ae+1+(ce^1))%3;this.gridEnable[Ge]&&this._lines.drawGrid(Ge,nt,this.bounds,Re,this.gridColor[Ge],this.gridWidth[Ge]*this.pixelRatio)}for(var ce=0;ce<2;++ce){var Ge=(Ae+1+ce)%3,nt=(Ae+1+(ce^1))%3;this.zeroEnable[nt]&&Math.min(N[0][nt],N[1][nt])<=0&&Math.max(N[0][nt],N[1][nt])>=0&&this._lines.drawZero(Ge,nt,this.bounds,Re,this.zeroLineColor[nt],this.zeroLineWidth[nt]*this.pixelRatio)}}for(var Ae=0;Ae<3;++Ae){this.lineEnable[Ae]&&this._lines.drawAxisLine(Ae,this.bounds,ze[Ae].primalOffset,this.lineColor[Ae],this.lineWidth[Ae]*this.pixelRatio),this.lineMirror[Ae]&&this._lines.drawAxisLine(Ae,this.bounds,ze[Ae].mirrorOffset,this.lineColor[Ae],this.lineWidth[Ae]*this.pixelRatio);for(var ct=p(P,ze[Ae].primalMinor),qt=p(T,ze[Ae].mirrorMinor),rt=this.lineTickLength,ce=0;ce<3;++ce){var ot=Ee/H[5*ce];ct[ce]*=rt[ce]*ot,qt[ce]*=rt[ce]*ot}this.lineTickEnable[Ae]&&this._lines.drawAxisTicks(Ae,ze[Ae].primalOffset,ct,this.lineTickColor[Ae],this.lineTickWidth[Ae]*this.pixelRatio),this.lineTickMirror[Ae]&&this._lines.drawAxisTicks(Ae,ze[Ae].mirrorOffset,qt,this.lineTickColor[Ae],this.lineTickWidth[Ae]*this.pixelRatio)}this._lines.unbind(),this._text.bind(H,X,G,this.pixelRatio);var Rt,kt=.5,Ct,Yt;function xr(St){Yt=[0,0,0],Yt[St]=1}function er(St,Et,dt){var Ht=(St+1)%3,$t=(St+2)%3,fr=Et[Ht],_r=Et[$t],Br=dt[Ht],Or=dt[$t];if(fr>0&&Or>0){xr(Ht);return}else if(fr>0&&Or<0){xr(Ht);return}else if(fr<0&&Or>0){xr(Ht);return}else if(fr<0&&Or<0){xr(Ht);return}else if(_r>0&&Br>0){xr($t);return}else if(_r>0&&Br<0){xr($t);return}else if(_r<0&&Br>0){xr($t);return}else if(_r<0&&Br<0){xr($t);return}}for(var Ae=0;Ae<3;++Ae){for(var Ke=ze[Ae].primalMinor,xt=ze[Ae].mirrorMinor,bt=p(F,ze[Ae].primalOffset),ce=0;ce<3;++ce)this.lineTickEnable[Ae]&&(bt[ce]+=Ee*Ke[ce]*Math.max(this.lineTickLength[ce],0)/H[5*ce]);var Lt=[0,0,0];if(Lt[Ae]=1,this.tickEnable[Ae]){this.tickAngle[Ae]===-3600?(this.tickAngle[Ae]=0,this.tickAlign[Ae]=\"auto\"):this.tickAlign[Ae]=-1,Ct=1,Rt=[this.tickAlign[Ae],kt,Ct],Rt[0]===\"auto\"?Rt[0]=g:Rt[0]=parseInt(\"\"+Rt[0]),Yt=[0,0,0],er(Ae,Ke,xt);for(var ce=0;ce<3;++ce)bt[ce]+=Ee*Ke[ce]*this.tickPad[ce]/H[5*ce];this._text.drawTicks(Ae,this.tickSize[Ae],this.tickAngle[Ae],bt,this.tickColor[Ae],Lt,Yt,Rt)}if(this.labelEnable[Ae]){Ct=0,Yt=[0,0,0],this.labels[Ae].length>4&&(xr(Ae),Ct=1),Rt=[this.labelAlign[Ae],kt,Ct],Rt[0]===\"auto\"?Rt[0]=g:Rt[0]=parseInt(\"\"+Rt[0]);for(var ce=0;ce<3;++ce)bt[ce]+=Ee*Ke[ce]*this.labelPad[ce]/H[5*ce];bt[Ae]+=.5*(N[0][Ae]+N[1][Ae]),this._text.drawLabel(Ae,this.labelSize[Ae],this.labelAngle[Ae],bt,this.labelColor[Ae],[0,0,0],Yt,Rt)}}this._text.unbind()},k.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null};function q(V,H){var X=new E(V);return X.update(H),X}},5304:function(i,a,o){\"use strict\";i.exports=h;var s=o(2762),l=o(8116),u=o(1879).bg;function c(d,v,x,b){this.gl=d,this.buffer=v,this.vao=x,this.shader=b}var f=c.prototype;f.draw=function(d,v,x,b,p,E){for(var k=!1,A=0;A<3;++A)k=k||p[A];if(k){var L=this.gl;L.enable(L.POLYGON_OFFSET_FILL),L.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:d,view:v,projection:x,bounds:b,enable:p,colors:E},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),L.disable(L.POLYGON_OFFSET_FILL)}},f.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};function h(d){for(var v=[],x=[],b=0,p=0;p<3;++p)for(var E=(p+1)%3,k=(p+2)%3,A=[0,0,0],L=[0,0,0],_=-1;_<=1;_+=2){x.push(b,b+2,b+1,b+1,b+2,b+3),A[p]=_,L[p]=_;for(var C=-1;C<=1;C+=2){A[E]=C;for(var M=-1;M<=1;M+=2)A[k]=M,v.push(A[0],A[1],A[2],L[0],L[1],L[2]),b+=1}var g=E;E=k,k=g}var P=s(d,new Float32Array(v)),T=s(d,new Uint16Array(x),d.ELEMENT_ARRAY_BUFFER),F=l(d,[{buffer:P,type:d.FLOAT,size:3,offset:0,stride:24},{buffer:P,type:d.FLOAT,size:3,offset:12,stride:24}],T),q=u(d);return q.attributes.position.location=0,q.attributes.normal.location=1,new c(d,P,F,q)}},6429:function(i,a,o){\"use strict\";i.exports=_;var s=o(8828),l=o(6760),u=o(5202),c=o(3250),f=new Array(16),h=new Array(8),d=new Array(8),v=new Array(3),x=[0,0,0];(function(){for(var C=0;C<8;++C)h[C]=[1,1,1,1],d[C]=[1,1,1]})();function b(C,M,g){for(var P=0;P<4;++P){C[P]=g[12+P];for(var T=0;T<3;++T)C[P]+=M[T]*g[4*T+P]}}var p=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function E(C){for(var M=0;M<p.length;++M)if(C=u.positive(C,p[M]),C.length<3)return 0;for(var g=C[0],P=g[0]/g[3],T=g[1]/g[3],F=0,M=1;M+1<C.length;++M){var q=C[M],V=C[M+1],H=q[0]/q[3],X=q[1]/q[3],G=V[0]/V[3],N=V[1]/V[3],W=H-P,re=X-T,ae=G-P,_e=N-T;F+=Math.abs(W*_e-re*ae)}return F}var k=[1,1,1],A=[0,0,0],L={cubeEdges:k,axis:A};function _(C,M,g,P,T){l(f,M,C),l(f,g,f);for(var F=0,q=0;q<2;++q){v[2]=P[q][2];for(var V=0;V<2;++V){v[1]=P[V][1];for(var H=0;H<2;++H)v[0]=P[H][0],b(h[F],v,f),F+=1}}for(var X=-1,q=0;q<8;++q){for(var G=h[q][3],N=0;N<3;++N)d[q][N]=h[q][N]/G;T&&(d[q][2]*=-1),G<0&&(X<0||d[q][2]<d[X][2])&&(X=q)}if(X<0){X=0;for(var W=0;W<3;++W){for(var re=(W+2)%3,ae=(W+1)%3,_e=-1,Me=-1,ke=0;ke<2;++ke){var ge=ke<<W,ie=ge+(ke<<re)+(1-ke<<ae),Te=ge+(1-ke<<re)+(ke<<ae);c(d[ge],d[ie],d[Te],x)<0||(ke?_e=1:Me=1)}if(_e<0||Me<0){Me>_e&&(X|=1<<W);continue}for(var ke=0;ke<2;++ke){var ge=ke<<W,ie=ge+(ke<<re)+(1-ke<<ae),Te=ge+(1-ke<<re)+(ke<<ae),Ee=E([h[ge],h[ie],h[Te],h[ge+(1<<re)+(1<<ae)]]);ke?_e=Ee:Me=Ee}if(Me>_e){X|=1<<W;continue}}}for(var Ae=7^X,ze=-1,q=0;q<8;++q)q===X||q===Ae||(ze<0||d[ze][1]>d[q][1])&&(ze=q);for(var Ce=-1,q=0;q<3;++q){var me=ze^1<<q;if(!(me===X||me===Ae)){Ce<0&&(Ce=me);var ae=d[me];ae[0]<d[Ce][0]&&(Ce=me)}}for(var Re=-1,q=0;q<3;++q){var me=ze^1<<q;if(!(me===X||me===Ae||me===Ce)){Re<0&&(Re=me);var ae=d[me];ae[0]>d[Re][0]&&(Re=me)}}var ce=k;ce[0]=ce[1]=ce[2]=0,ce[s.log2(Ce^ze)]=ze&Ce,ce[s.log2(ze^Re)]=zeℜvar Ge=Re^7;Ge===X||Ge===Ae?(Ge=Ce^7,ce[s.log2(Re^Ge)]=Ge&Re):ce[s.log2(Ce^Ge)]=Ge&Ce;for(var nt=A,ct=X,W=0;W<3;++W)ct&1<<W?nt[W]=-1:nt[W]=1;return L}},501:function(i,a,o){\"use strict\";i.exports=k;var s=o(2762),l=o(8116),u=o(1879).n,c=[0,0,0],f=[0,0,0],h=[0,0,0],d=[0,0,0],v=[1,1];function x(A){return A[0]=A[1]=A[2]=0,A}function b(A,L){return A[0]=L[0],A[1]=L[1],A[2]=L[2],A}function p(A,L,_,C,M,g,P,T){this.gl=A,this.vertBuffer=L,this.vao=_,this.shader=C,this.tickCount=M,this.tickOffset=g,this.gridCount=P,this.gridOffset=T}var E=p.prototype;E.bind=function(A,L,_){this.shader.bind(),this.shader.uniforms.model=A,this.shader.uniforms.view=L,this.shader.uniforms.projection=_,v[0]=this.gl.drawingBufferWidth,v[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=v,this.vao.bind()},E.unbind=function(){this.vao.unbind()},E.drawAxisLine=function(A,L,_,C,M){var g=x(f);this.shader.uniforms.majorAxis=f,g[A]=L[1][A]-L[0][A],this.shader.uniforms.minorAxis=g;var P=b(d,_);P[A]+=L[0][A],this.shader.uniforms.offset=P,this.shader.uniforms.lineWidth=M,this.shader.uniforms.color=C;var T=x(h);T[(A+2)%3]=1,this.shader.uniforms.screenAxis=T,this.vao.draw(this.gl.TRIANGLES,6);var T=x(h);T[(A+1)%3]=1,this.shader.uniforms.screenAxis=T,this.vao.draw(this.gl.TRIANGLES,6)},E.drawAxisTicks=function(A,L,_,C,M){if(this.tickCount[A]){var g=x(c);g[A]=1,this.shader.uniforms.majorAxis=g,this.shader.uniforms.offset=L,this.shader.uniforms.minorAxis=_,this.shader.uniforms.color=C,this.shader.uniforms.lineWidth=M;var P=x(h);P[A]=1,this.shader.uniforms.screenAxis=P,this.vao.draw(this.gl.TRIANGLES,this.tickCount[A],this.tickOffset[A])}},E.drawGrid=function(A,L,_,C,M,g){if(this.gridCount[A]){var P=x(f);P[L]=_[1][L]-_[0][L],this.shader.uniforms.minorAxis=P;var T=b(d,C);T[L]+=_[0][L],this.shader.uniforms.offset=T;var F=x(c);F[A]=1,this.shader.uniforms.majorAxis=F;var q=x(h);q[A]=1,this.shader.uniforms.screenAxis=q,this.shader.uniforms.lineWidth=g,this.shader.uniforms.color=M,this.vao.draw(this.gl.TRIANGLES,this.gridCount[A],this.gridOffset[A])}},E.drawZero=function(A,L,_,C,M,g){var P=x(f);this.shader.uniforms.majorAxis=P,P[A]=_[1][A]-_[0][A],this.shader.uniforms.minorAxis=P;var T=b(d,C);T[A]+=_[0][A],this.shader.uniforms.offset=T;var F=x(h);F[L]=1,this.shader.uniforms.screenAxis=F,this.shader.uniforms.lineWidth=g,this.shader.uniforms.color=M,this.vao.draw(this.gl.TRIANGLES,6)},E.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()};function k(A,L,_){var C=[],M=[0,0,0],g=[0,0,0],P=[0,0,0],T=[0,0,0];C.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var F=0;F<3;++F){for(var H=C.length/3|0,q=0;q<_[F].length;++q){var V=+_[F][q].x;C.push(V,0,1,V,1,1,V,0,-1,V,0,-1,V,1,1,V,1,-1)}var G=C.length/3|0;M[F]=H,g[F]=G-H;for(var H=C.length/3|0,X=0;X<_[F].length;++X){var V=+_[F][X].x;C.push(V,0,1,V,1,1,V,0,-1,V,0,-1,V,1,1,V,1,-1)}var G=C.length/3|0;P[F]=H,T[F]=G-H}var N=s(A,new Float32Array(C)),W=l(A,[{buffer:N,type:A.FLOAT,size:3,stride:0,offset:0}]),re=u(A);return re.attributes.position.location=0,new p(A,N,W,re,g,M,T,P)}},1879:function(i,a,o){\"use strict\";var s=o(3236),l=o(9405),u=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 offset, majorAxis, minorAxis, screenAxis;\n", - "uniform float lineWidth;\n", - "uniform vec2 screenShape;\n", - "\n", - "vec3 project(vec3 p) {\n", - " vec4 pp = projection * (view * (model * vec4(p, 1.0)));\n", - " return pp.xyz / max(pp.w, 0.0001);\n", - "}\n", - "\n", - "void main() {\n", - " vec3 major = position.x * majorAxis;\n", - " vec3 minor = position.y * minorAxis;\n", - "\n", - " vec3 vPosition = major + minor + offset;\n", - " vec3 pPosition = project(vPosition);\n", - " vec3 offset = project(vPosition + screenAxis * position.z);\n", - "\n", - " vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;\n", - "\n", - " gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);\n", - "}\n", - "`]),c=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform vec4 color;\n", - "void main() {\n", - " gl_FragColor = color;\n", - "}`]);a.n=function(x){return l(x,u,c,null,[{name:\"position\",type:\"vec3\"}])};var f=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 offset, axis, alignDir, alignOpt;\n", - "uniform float scale, angle, pixelScale;\n", - "uniform vec2 resolution;\n", - "\n", - "vec3 project(vec3 p) {\n", - " vec4 pp = projection * (view * (model * vec4(p, 1.0)));\n", - " return pp.xyz / max(pp.w, 0.0001);\n", - "}\n", - "\n", - "float computeViewAngle(vec3 a, vec3 b) {\n", - " vec3 A = project(a);\n", - " vec3 B = project(b);\n", - "\n", - " return atan(\n", - " (B.y - A.y) * resolution.y,\n", - " (B.x - A.x) * resolution.x\n", - " );\n", - "}\n", - "\n", - "const float PI = 3.141592;\n", - "const float TWO_PI = 2.0 * PI;\n", - "const float HALF_PI = 0.5 * PI;\n", - "const float ONE_AND_HALF_PI = 1.5 * PI;\n", - "\n", - "int option = int(floor(alignOpt.x + 0.001));\n", - "float hv_ratio = alignOpt.y;\n", - "bool enableAlign = (alignOpt.z != 0.0);\n", - "\n", - "float mod_angle(float a) {\n", - " return mod(a, PI);\n", - "}\n", - "\n", - "float positive_angle(float a) {\n", - " return mod_angle((a < 0.0) ?\n", - " a + TWO_PI :\n", - " a\n", - " );\n", - "}\n", - "\n", - "float look_upwards(float a) {\n", - " float b = positive_angle(a);\n", - " return ((b > HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n", - " b - PI :\n", - " b;\n", - "}\n", - "\n", - "float 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", - "\n", - "float roundTo(float a, float b) {\n", - " return float(b * floor((a + 0.5 * b) / b));\n", - "}\n", - "\n", - "float 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", - "\n", - "float 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", - "\n", - "bool isAxisTitle = (axis.x == 0.0) &&\n", - " (axis.y == 0.0) &&\n", - " (axis.z == 0.0);\n", - "\n", - "void 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", - "`]),h=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform vec4 color;\n", - "void main() {\n", - " gl_FragColor = color;\n", - "}`]);a.Q=function(x){return l(x,f,h,null,[{name:\"position\",type:\"vec3\"}])};var d=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "attribute vec3 normal;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 enable;\n", - "uniform vec3 bounds[2];\n", - "\n", - "varying vec3 colorChannel;\n", - "\n", - "void 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", - "`]),v=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform vec4 colors[3];\n", - "\n", - "varying vec3 colorChannel;\n", - "\n", - "void main() {\n", - " gl_FragColor = colorChannel.x * colors[0] +\n", - " colorChannel.y * colors[1] +\n", - " colorChannel.z * colors[2];\n", - "}`]);a.bg=function(x){return l(x,d,v,null,[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}])}},4935:function(i,a,o){\"use strict\";i.exports=E;var s=o(2762),l=o(8116),u=o(4359),c=o(1879).Q,f=window||process.global||{},h=f.__TEXT_CACHE||{};f.__TEXT_CACHE={};var d=3;function v(k,A,L,_){this.gl=k,this.shader=A,this.buffer=L,this.vao=_,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var x=v.prototype,b=[0,0];x.bind=function(k,A,L,_){this.vao.bind(),this.shader.bind();var C=this.shader.uniforms;C.model=k,C.view=A,C.projection=L,C.pixelScale=_,b[0]=this.gl.drawingBufferWidth,b[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=b},x.unbind=function(){this.vao.unbind()},x.update=function(k,A,L,_,C){var M=[];function g(W,re,ae,_e,Me,ke){var ge=[ae.style,ae.weight,ae.variant,ae.family].join(\"_\"),ie=h[ge];ie||(ie=h[ge]={});var Te=ie[re];Te||(Te=ie[re]=p(re,{triangles:!0,font:ae.family,fontStyle:ae.style,fontWeight:ae.weight,fontVariant:ae.variant,textAlign:\"center\",textBaseline:\"middle\",lineSpacing:Me,styletags:ke}));for(var Ee=(_e||12)/12,Ae=Te.positions,ze=Te.cells,Ce=0,me=ze.length;Ce<me;++Ce)for(var Re=ze[Ce],ce=2;ce>=0;--ce){var Ge=Ae[Re[ce]];M.push(Ee*Ge[0],-Ee*Ge[1],W)}}for(var P=[0,0,0],T=[0,0,0],F=[0,0,0],q=[0,0,0],V=1.25,H={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},X=0;X<3;++X){F[X]=M.length/d|0,g(.5*(k[0][X]+k[1][X]),A[X],L[X],12,V,H),q[X]=(M.length/d|0)-F[X],P[X]=M.length/d|0;for(var G=0;G<_[X].length;++G)if(_[X][G].text){var N={family:_[X][G].font||C[X].family,style:C[X].fontStyle||C[X].style,weight:C[X].fontWeight||C[X].weight,variant:C[X].fontVariant||C[X].variant};g(_[X][G].x,_[X][G].text,N,_[X][G].fontSize||12,V,H)}T[X]=(M.length/d|0)-P[X]}this.buffer.update(M),this.tickOffset=P,this.tickCount=T,this.labelOffset=F,this.labelCount=q},x.drawTicks=function(k,A,L,_,C,M,g,P){this.tickCount[k]&&(this.shader.uniforms.axis=M,this.shader.uniforms.color=C,this.shader.uniforms.angle=L,this.shader.uniforms.scale=A,this.shader.uniforms.offset=_,this.shader.uniforms.alignDir=g,this.shader.uniforms.alignOpt=P,this.vao.draw(this.gl.TRIANGLES,this.tickCount[k],this.tickOffset[k]))},x.drawLabel=function(k,A,L,_,C,M,g,P){this.labelCount[k]&&(this.shader.uniforms.axis=M,this.shader.uniforms.color=C,this.shader.uniforms.angle=L,this.shader.uniforms.scale=A,this.shader.uniforms.offset=_,this.shader.uniforms.alignDir=g,this.shader.uniforms.alignOpt=P,this.vao.draw(this.gl.TRIANGLES,this.labelCount[k],this.labelOffset[k]))},x.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()};function p(k,A){try{return u(k,A)}catch(L){return console.warn('error vectorizing text:\"'+k+'\" error:',L),{cells:[],positions:[]}}}function E(k,A,L,_,C,M){var g=s(k),P=l(k,[{buffer:g,size:3}]),T=c(k);T.attributes.position.location=0;var F=new v(k,T,g,P);return F.update(A,L,_,C,M),F}},6444:function(i,a){\"use strict\";a.create=s,a.equal=l;function o(u,c){var f=u+\"\",h=f.indexOf(\".\"),d=0;h>=0&&(d=f.length-h-1);var v=Math.pow(10,d),x=Math.round(u*c*v),b=x+\"\";if(b.indexOf(\"e\")>=0)return b;var p=x/v,E=x%v;x<0?(p=-Math.ceil(p)|0,E=-E|0):(p=Math.floor(p)|0,E=E|0);var k=\"\"+p;if(x<0&&(k=\"-\"+k),d){for(var A=\"\"+E;A.length<d;)A=\"0\"+A;return k+\".\"+A}else return k}function s(u,c){for(var f=[],h=0;h<3;++h){for(var d=[],v=.5*(u[0][h]+u[1][h]),x=0;x*c[h]<=u[1][h];++x)d.push({x:x*c[h],text:o(c[h],x)});for(var x=-1;x*c[h]>=u[0][h];--x)d.push({x:x*c[h],text:o(c[h],x)});f.push(d)}return f}function l(u,c){for(var f=0;f<3;++f){if(u[f].length!==c[f].length)return!1;for(var h=0;h<u[f].length;++h){var d=u[f][h],v=c[f][h];if(d.x!==v.x||d.text!==v.text||d.font!==v.font||d.fontColor!==v.fontColor||d.fontSize!==v.fontSize||d.dx!==v.dx||d.dy!==v.dy)return!1}}return!0}},5445:function(i,a,o){\"use strict\";i.exports=L;var s=o(5033),l=o(5202),u=o(6429),c=o(6760),f=o(5665),h=o(5352),d=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),v=new Float32Array(16);function x(_,C,M){this.lo=_,this.hi=C,this.pixelsPerDataUnit=M}var b=[0,0,0,1],p=[0,0,0,1];function E(_,C,M,g,P){for(var T=0;T<3;++T){for(var F=b,q=p,V=0;V<3;++V)q[V]=F[V]=M[V];q[3]=F[3]=1,q[T]+=1,h(q,q,C),q[3]<0&&(_[T]=1/0),F[T]-=1,h(F,F,C),F[3]<0&&(_[T]=1/0);var H=(F[0]/F[3]-q[0]/q[3])*g,X=(F[1]/F[3]-q[1]/q[3])*P;_[T]=.25*Math.sqrt(H*H+X*X)}return _}var k=[new x(1/0,-1/0,1/0),new x(1/0,-1/0,1/0),new x(1/0,-1/0,1/0)],A=[0,0,0];function L(_,C,M,g,X){var T=C.model||d,F=C.view||d,q=C.projection||d,V=C._ortho||!1,H=_.bounds,X=X||u(T,F,q,H,V),G=X.axis;c(v,F,T),c(v,q,v);for(var N=k,W=0;W<3;++W)N[W].lo=1/0,N[W].hi=-1/0,N[W].pixelsPerDataUnit=1/0;var re=s(f(v,v));f(v,v);for(var ae=0;ae<3;++ae){var _e=(ae+1)%3,Me=(ae+2)%3,ke=A;e:for(var W=0;W<2;++W){var ge=[];if(G[ae]<0!=!!W){ke[ae]=H[W][ae];for(var ie=0;ie<2;++ie){ke[_e]=H[ie^W][_e];for(var Te=0;Te<2;++Te)ke[Me]=H[Te^ie^W][Me],ge.push(ke.slice())}for(var Ee=V?5:4,ie=Ee;ie===Ee;++ie){if(ge.length===0)continue e;ge=l.positive(ge,re[ie])}for(var ie=0;ie<ge.length;++ie)for(var Me=ge[ie],Ae=E(A,v,Me,M,g),Te=0;Te<3;++Te)N[Te].lo=Math.min(N[Te].lo,Me[Te]),N[Te].hi=Math.max(N[Te].hi,Me[Te]),Te!==ae&&(N[Te].pixelsPerDataUnit=Math.min(N[Te].pixelsPerDataUnit,Math.abs(Ae[Te])))}}}return N}},2762:function(i,a,o){\"use strict\";var s=o(1888),l=o(5298),u=o(9618),c=[\"uint8\",\"uint8_clamped\",\"uint16\",\"uint32\",\"int8\",\"int16\",\"int32\",\"float32\"];function f(p,E,k,A,L){this.gl=p,this.type=E,this.handle=k,this.length=A,this.usage=L}var h=f.prototype;h.bind=function(){this.gl.bindBuffer(this.type,this.handle)},h.unbind=function(){this.gl.bindBuffer(this.type,null)},h.dispose=function(){this.gl.deleteBuffer(this.handle)};function d(p,E,k,A,L,_){var C=L.length*L.BYTES_PER_ELEMENT;if(_<0)return p.bufferData(E,L,A),C;if(C+_>k)throw new Error(\"gl-buffer: If resizing buffer, must not specify offset\");return p.bufferSubData(E,_,L),k}function v(p,E){for(var k=s.malloc(p.length,E),A=p.length,L=0;L<A;++L)k[L]=p[L];return k}function x(p,E){for(var k=1,A=E.length-1;A>=0;--A){if(E[A]!==k)return!1;k*=p[A]}return!0}h.update=function(p,E){if(typeof E!=\"number\"&&(E=-1),this.bind(),typeof p==\"object\"&&typeof p.shape!=\"undefined\"){var k=p.dtype;if(c.indexOf(k)<0&&(k=\"float32\"),this.type===this.gl.ELEMENT_ARRAY_BUFFER){var A=gl.getExtension(\"OES_element_index_uint\");A&&k!==\"uint16\"?k=\"uint32\":k=\"uint16\"}if(k===p.dtype&&x(p.shape,p.stride))p.offset===0&&p.data.length===p.shape[0]?this.length=d(this.gl,this.type,this.length,this.usage,p.data,E):this.length=d(this.gl,this.type,this.length,this.usage,p.data.subarray(p.offset,p.shape[0]),E);else{var L=s.malloc(p.size,k),_=u(L,p.shape);l.assign(_,p),E<0?this.length=d(this.gl,this.type,this.length,this.usage,L,E):this.length=d(this.gl,this.type,this.length,this.usage,L.subarray(0,p.size),E),s.free(L)}}else if(Array.isArray(p)){var C;this.type===this.gl.ELEMENT_ARRAY_BUFFER?C=v(p,\"uint16\"):C=v(p,\"float32\"),E<0?this.length=d(this.gl,this.type,this.length,this.usage,C,E):this.length=d(this.gl,this.type,this.length,this.usage,C.subarray(0,p.length),E),s.free(C)}else if(typeof p==\"object\"&&typeof p.length==\"number\")this.length=d(this.gl,this.type,this.length,this.usage,p,E);else if(typeof p==\"number\"||p===void 0){if(E>=0)throw new Error(\"gl-buffer: Cannot specify offset when resizing buffer\");p=p|0,p<=0&&(p=1),this.gl.bufferData(this.type,p|0,this.usage),this.length=p}else throw new Error(\"gl-buffer: Invalid data type\")};function b(p,E,k,A){if(k=k||p.ARRAY_BUFFER,A=A||p.DYNAMIC_DRAW,k!==p.ARRAY_BUFFER&&k!==p.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(A!==p.DYNAMIC_DRAW&&A!==p.STATIC_DRAW&&A!==p.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 L=p.createBuffer(),_=new f(p,k,L,0,A);return _.update(E),_}i.exports=b},6405:function(i,a,o){\"use strict\";var s=o(2931);i.exports=function(u,c){var f=u.positions,h=u.vectors,d={positions:[],vertexIntensity:[],vertexIntensityBounds:u.vertexIntensityBounds,vectors:[],cells:[],coneOffset:u.coneOffset,colormap:u.colormap};if(u.positions.length===0)return c&&(c[0]=[0,0,0],c[1]=[0,0,0]),d;for(var v=0,x=1/0,b=-1/0,p=1/0,E=-1/0,k=1/0,A=-1/0,L=null,_=null,C=[],M=1/0,g=!1,P=u.coneSizemode===\"raw\",T=0;T<f.length;T++){var F=f[T];x=Math.min(F[0],x),b=Math.max(F[0],b),p=Math.min(F[1],p),E=Math.max(F[1],E),k=Math.min(F[2],k),A=Math.max(F[2],A);var q=h[T];if(s.length(q)>v&&(v=s.length(q)),T&&!P){var V=2*s.distance(L,F)/(s.length(_)+s.length(q));V?(M=Math.min(M,V),g=!1):g=!0}g||(L=F,_=q),C.push(q)}var H=[x,p,k],X=[b,E,A];c&&(c[0]=H,c[1]=X),v===0&&(v=1);var G=1/v;isFinite(M)||(M=1),d.vectorScale=M;var N=u.coneSize||(P?1:.5);u.absoluteConeSize&&(N=u.absoluteConeSize*G),d.coneScale=N;for(var T=0,W=0;T<f.length;T++)for(var F=f[T],re=F[0],ae=F[1],_e=F[2],Me=C[T],ke=s.length(Me)*G,ge=0,ie=8;ge<ie;ge++){d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.vectors.push(Me),d.vectors.push(Me),d.vectors.push(Me),d.vectors.push(Me),d.vectors.push(Me),d.vectors.push(Me),d.vertexIntensity.push(ke,ke,ke),d.vertexIntensity.push(ke,ke,ke);var Te=d.positions.length;d.cells.push([Te-6,Te-5,Te-4],[Te-3,Te-2,Te-1])}return d};var l=o(614);i.exports.createMesh=o(9060),i.exports.createConeMesh=function(u,c){return i.exports.createMesh(u,c,{shaders:l,traceType:\"cone\"})}},9060:function(i,a,o){\"use strict\";var s=o(9405),l=o(2762),u=o(8116),c=o(7766),f=o(6760),h=o(7608),d=o(9618),v=o(6729),x=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function b(C,M,g,P,T,F,q,V,H,X,G){this.gl=C,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=M,this.dirty=!0,this.triShader=g,this.pickShader=P,this.trianglePositions=T,this.triangleVectors=F,this.triangleColors=V,this.triangleUVs=H,this.triangleIds=q,this.triangleVAO=X,this.triangleCount=0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.traceType=G,this.tubeScale=1,this.coneScale=2,this.vectorScale=1,this.coneOffset=.25,this._model=x,this._view=x,this._projection=x,this._resolution=[1,1]}var p=b.prototype;p.isOpaque=function(){return this.opacity>=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(C){this.pickId=C};function E(C){for(var M=v({colormap:C,nshades:256,format:\"rgba\"}),g=new Uint8Array(256*4),P=0;P<256;++P){for(var T=M[P],F=0;F<3;++F)g[4*P+F]=T[F];g[4*P+3]=T[3]*255}return d(g,[256,256,4],[4,0,1])}function k(C){for(var M=C.length,g=new Array(M),P=0;P<M;++P)g[P]=C[P][2];return g}p.update=function(C){C=C||{};var M=this.gl;this.dirty=!0,\"lightPosition\"in C&&(this.lightPosition=C.lightPosition),\"opacity\"in C&&(this.opacity=C.opacity),\"ambient\"in C&&(this.ambientLight=C.ambient),\"diffuse\"in C&&(this.diffuseLight=C.diffuse),\"specular\"in C&&(this.specularLight=C.specular),\"roughness\"in C&&(this.roughness=C.roughness),\"fresnel\"in C&&(this.fresnel=C.fresnel),C.tubeScale!==void 0&&(this.tubeScale=C.tubeScale),C.vectorScale!==void 0&&(this.vectorScale=C.vectorScale),C.coneScale!==void 0&&(this.coneScale=C.coneScale),C.coneOffset!==void 0&&(this.coneOffset=C.coneOffset),C.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=M.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=M.LINEAR,this.texture.setPixels(E(C.colormap)),this.texture.generateMipmap());var g=C.cells,P=C.positions,T=C.vectors;if(!(!P||!g||!T)){var F=[],q=[],V=[],H=[],X=[];this.cells=g,this.positions=P,this.vectors=T;var G=C.meshColor||[1,1,1,1],N=C.vertexIntensity,W=1/0,re=-1/0;if(N)if(C.vertexIntensityBounds)W=+C.vertexIntensityBounds[0],re=+C.vertexIntensityBounds[1];else for(var ae=0;ae<N.length;++ae){var _e=N[ae];W=Math.min(W,_e),re=Math.max(re,_e)}else for(var ae=0;ae<P.length;++ae){var _e=P[ae][2];W=Math.min(W,_e),re=Math.max(re,_e)}N?this.intensity=N:this.intensity=k(P),this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(var ae=0;ae<P.length;++ae)for(var Me=P[ae],ke=0;ke<3;++ke)isNaN(Me[ke])||!isFinite(Me[ke])||(this.bounds[0][ke]=Math.min(this.bounds[0][ke],Me[ke]),this.bounds[1][ke]=Math.max(this.bounds[1][ke],Me[ke]));var ge=0;e:for(var ae=0;ae<g.length;++ae){var ie=g[ae];switch(ie.length){case 3:for(var ke=0;ke<3;++ke)for(var Te=ie[ke],Me=P[Te],Ee=0;Ee<3;++Ee)if(isNaN(Me[Ee])||!isFinite(Me[Ee]))continue e;for(var ke=0;ke<3;++ke){var Te=ie[2-ke],Me=P[Te];F.push(Me[0],Me[1],Me[2],Me[3]);var Ae=T[Te];q.push(Ae[0],Ae[1],Ae[2],Ae[3]||0);var ze=G;ze.length===3?V.push(ze[0],ze[1],ze[2],1):V.push(ze[0],ze[1],ze[2],ze[3]);var Ce;N?Ce=[(N[Te]-W)/(re-W),0]:Ce=[(Me[2]-W)/(re-W),0],H.push(Ce[0],Ce[1]),X.push(ae)}ge+=1;break;default:break}}this.triangleCount=ge,this.trianglePositions.update(F),this.triangleVectors.update(q),this.triangleColors.update(V),this.triangleUVs.update(H),this.triangleIds.update(new Uint32Array(X))}},p.drawTransparent=p.draw=function(C){C=C||{};for(var M=this.gl,g=C.model||x,P=C.view||x,T=C.projection||x,F=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],q=0;q<3;++q)F[0][q]=Math.max(F[0][q],this.clipBounds[0][q]),F[1][q]=Math.min(F[1][q],this.clipBounds[1][q]);var V={model:g,view:P,projection:T,inverseModel:x.slice(),clipBounds:F,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,texture:0};V.inverseModel=h(V.inverseModel,V.model),M.disable(M.CULL_FACE),this.texture.bind(0);var H=new Array(16);f(H,V.view,V.model),f(H,V.projection,H),h(H,H);for(var q=0;q<3;++q)V.eyePosition[q]=H[12+q]/H[15];for(var X=H[15],q=0;q<3;++q)X+=this.lightPosition[q]*H[4*q+3];for(var q=0;q<3;++q){for(var G=H[12+q],N=0;N<3;++N)G+=H[4*N+q]*this.lightPosition[N];V.lightPosition[q]=G/X}if(this.triangleCount>0){var W=this.triShader;W.bind(),W.uniforms=V,this.triangleVAO.bind(),M.drawArrays(M.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}},p.drawPick=function(C){C=C||{};for(var M=this.gl,g=C.model||x,P=C.view||x,T=C.projection||x,F=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],q=0;q<3;++q)F[0][q]=Math.max(F[0][q],this.clipBounds[0][q]),F[1][q]=Math.min(F[1][q],this.clipBounds[1][q]);this._model=[].slice.call(g),this._view=[].slice.call(P),this._projection=[].slice.call(T),this._resolution=[M.drawingBufferWidth,M.drawingBufferHeight];var V={model:g,view:P,projection:T,clipBounds:F,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},H=this.pickShader;H.bind(),H.uniforms=V,this.triangleCount>0&&(this.triangleVAO.bind(),M.drawArrays(M.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind())},p.pick=function(C){if(!C||C.id!==this.pickId)return null;var M=C.value[0]+256*C.value[1]+65536*C.value[2],g=this.cells[M],P=this.positions[g[1]].slice(0,3),T={position:P,dataCoordinate:P,index:Math.floor(g[1]/48)};return this.traceType===\"cone\"?T.index=Math.floor(g[1]/48):this.traceType===\"streamtube\"&&(T.intensity=this.intensity[g[1]],T.velocity=this.vectors[g[1]].slice(0,3),T.divergence=this.vectors[g[1]][3],T.index=M),T},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()};function A(C,M){var g=s(C,M.meshShader.vertex,M.meshShader.fragment,null,M.meshShader.attributes);return g.attributes.position.location=0,g.attributes.color.location=2,g.attributes.uv.location=3,g.attributes.vector.location=4,g}function L(C,M){var g=s(C,M.pickShader.vertex,M.pickShader.fragment,null,M.pickShader.attributes);return g.attributes.position.location=0,g.attributes.id.location=1,g.attributes.vector.location=4,g}function _(C,M,g){var P=g.shaders;arguments.length===1&&(M=C,C=M.gl);var T=A(C,P),F=L(C,P),q=c(C,d(new Uint8Array([255,255,255,255]),[1,1,4]));q.generateMipmap(),q.minFilter=C.LINEAR_MIPMAP_LINEAR,q.magFilter=C.LINEAR;var V=l(C),H=l(C),X=l(C),G=l(C),N=l(C),W=u(C,[{buffer:V,type:C.FLOAT,size:4},{buffer:N,type:C.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:X,type:C.FLOAT,size:4},{buffer:G,type:C.FLOAT,size:2},{buffer:H,type:C.FLOAT,size:4}]),re=new b(C,q,T,F,V,H,N,X,G,W,g.traceType||\"cone\");return re.update(M),re}i.exports=_},614:function(i,a,o){var s=o(3236),l=s([`precision highp float;\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "vec3 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", - "//\n", - "vec3 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", - "\n", - "attribute vec3 vector;\n", - "attribute vec4 color, position;\n", - "attribute vec2 uv;\n", - "\n", - "uniform float vectorScale, coneScale, coneOffset;\n", - "uniform mat4 model, view, projection, inverseModel;\n", - "uniform vec3 eyePosition, lightPosition;\n", - "\n", - "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),u=s([`#extension GL_OES_standard_derivatives : enable\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "float 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", - "\n", - "float 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", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\n", - "uniform sampler2D texture;\n", - "\n", - "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),c=s([`precision highp float;\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "vec3 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", - "//\n", - "vec3 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", - "\n", - "attribute vec4 vector;\n", - "attribute vec4 position;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform float vectorScale, coneScale, coneOffset;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void 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", - "`]),f=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float pickId;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n", - "\n", - " gl_FragColor = vec4(pickId, f_id.xyz);\n", - "}`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec3\"}]},a.pickShader={vertex:c,fragment:f,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec3\"}]}},737:function(i){i.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(i,a,o){var s=o(737);i.exports=function(u){return s[u]}},9165:function(i,a,o){\"use strict\";i.exports=b;var s=o(2762),l=o(8116),u=o(3436),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(p,E,k,A){this.gl=p,this.shader=A,this.buffer=E,this.vao=k,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 h=f.prototype;h.isOpaque=function(){return!this.hasAlpha},h.isTransparent=function(){return this.hasAlpha},h.drawTransparent=h.draw=function(p){var E=this.gl,k=this.shader.uniforms;this.shader.bind();var A=k.view=p.view||c,L=k.projection=p.projection||c;k.model=p.model||c,k.clipBounds=this.clipBounds,k.opacity=this.opacity;var _=A[12],C=A[13],M=A[14],g=A[15],P=p._ortho||!1,T=P?2:1,F=T*this.pixelRatio*(L[3]*_+L[7]*C+L[11]*M+L[15]*g)/E.drawingBufferHeight;this.vao.bind();for(var q=0;q<3;++q)E.lineWidth(this.lineWidth[q]*this.pixelRatio),k.capSize=this.capSize[q]*F,this.lineCount[q]&&E.drawArrays(E.LINES,this.lineOffset[q],this.lineCount[q]);this.vao.unbind()};function d(p,E){for(var k=0;k<3;++k)p[0][k]=Math.min(p[0][k],E[k]),p[1][k]=Math.max(p[1][k],E[k])}var v=function(){for(var p=new Array(3),E=0;E<3;++E){for(var k=[],A=1;A<=2;++A)for(var L=-1;L<=1;L+=2){var _=(A+E)%3,C=[0,0,0];C[_]=L,k.push(C)}p[E]=k}return p}();function x(p,E,k,A){for(var L=v[A],_=0;_<L.length;++_){var C=L[_];p.push(E[0],E[1],E[2],k[0],k[1],k[2],k[3],C[0],C[1],C[2])}return L.length}h.update=function(p){p=p||{},\"lineWidth\"in p&&(this.lineWidth=p.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),\"capSize\"in p&&(this.capSize=p.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),this.hasAlpha=!1,\"opacity\"in p&&(this.opacity=+p.opacity,this.opacity<1&&(this.hasAlpha=!0));var E=p.color||[[0,0,0],[0,0,0],[0,0,0]],k=p.position,A=p.error;if(Array.isArray(E[0])||(E=[E,E,E]),k&&A){var L=[],_=k.length,C=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var M=0;M<3;++M){this.lineOffset[M]=C;e:for(var g=0;g<_;++g){for(var P=k[g],T=0;T<3;++T)if(isNaN(P[T])||!isFinite(P[T]))continue e;var F=A[g],q=E[M];if(Array.isArray(q[0])&&(q=E[g]),q.length===3?q=[q[0],q[1],q[2],1]:q.length===4&&(q=[q[0],q[1],q[2],q[3]],!this.hasAlpha&&q[3]<1&&(this.hasAlpha=!0)),!(isNaN(F[0][M])||isNaN(F[1][M]))){if(F[0][M]<0){var V=P.slice();V[M]+=F[0][M],L.push(P[0],P[1],P[2],q[0],q[1],q[2],q[3],0,0,0,V[0],V[1],V[2],q[0],q[1],q[2],q[3],0,0,0),d(this.bounds,V),C+=2+x(L,V,q,M)}if(F[1][M]>0){var V=P.slice();V[M]+=F[1][M],L.push(P[0],P[1],P[2],q[0],q[1],q[2],q[3],0,0,0,V[0],V[1],V[2],q[0],q[1],q[2],q[3],0,0,0),d(this.bounds,V),C+=2+x(L,V,q,M)}}}this.lineCount[M]=C-this.lineOffset[M]}this.buffer.update(L)}},h.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()};function b(p){var E=p.gl,k=s(E),A=l(E,[{buffer:k,type:E.FLOAT,size:3,offset:0,stride:40},{buffer:k,type:E.FLOAT,size:4,offset:12,stride:40},{buffer:k,type:E.FLOAT,size:3,offset:28,stride:40}]),L=u(E);L.attributes.position.location=0,L.attributes.color.location=1,L.attributes.offset.location=2;var _=new f(E,k,A,L);return _.update(p),_}},3436:function(i,a,o){\"use strict\";var s=o(3236),l=o(9405),u=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position, offset;\n", - "attribute vec4 color;\n", - "uniform mat4 model, view, projection;\n", - "uniform float capSize;\n", - "varying vec4 fragColor;\n", - "varying vec3 fragPosition;\n", - "\n", - "void 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", - "}`]),c=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float opacity;\n", - "varying vec3 fragPosition;\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - " if (\n", - " outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n", - " fragColor.a * opacity == 0.\n", - " ) discard;\n", - "\n", - " gl_FragColor = opacity * fragColor;\n", - "}`]);i.exports=function(f){return l(f,u,c,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"offset\",type:\"vec3\"}])}},2260:function(i,a,o){\"use strict\";var s=o(7766);i.exports=C;var l=null,u,c,f,h;function d(M){var g=M.getParameter(M.FRAMEBUFFER_BINDING),P=M.getParameter(M.RENDERBUFFER_BINDING),T=M.getParameter(M.TEXTURE_BINDING_2D);return[g,P,T]}function v(M,g){M.bindFramebuffer(M.FRAMEBUFFER,g[0]),M.bindRenderbuffer(M.RENDERBUFFER,g[1]),M.bindTexture(M.TEXTURE_2D,g[2])}function x(M,g){var P=M.getParameter(g.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(P+1);for(var T=0;T<=P;++T){for(var F=new Array(P),q=0;q<T;++q)F[q]=M.COLOR_ATTACHMENT0+q;for(var q=T;q<P;++q)F[q]=M.NONE;l[T]=F}}function b(M){switch(M){case u:throw new Error(\"gl-fbo: Framebuffer unsupported\");case c:throw new Error(\"gl-fbo: Framebuffer incomplete attachment\");case f:throw new Error(\"gl-fbo: Framebuffer incomplete dimensions\");case h:throw new Error(\"gl-fbo: Framebuffer incomplete missing attachment\");default:throw new Error(\"gl-fbo: Framebuffer failed for unspecified reason\")}}function p(M,g,P,T,F,q){if(!T)return null;var V=s(M,g,P,F,T);return V.magFilter=M.NEAREST,V.minFilter=M.NEAREST,V.mipSamples=1,V.bind(),M.framebufferTexture2D(M.FRAMEBUFFER,q,M.TEXTURE_2D,V.handle,0),V}function E(M,g,P,T,F){var q=M.createRenderbuffer();return M.bindRenderbuffer(M.RENDERBUFFER,q),M.renderbufferStorage(M.RENDERBUFFER,T,g,P),M.framebufferRenderbuffer(M.FRAMEBUFFER,F,M.RENDERBUFFER,q),q}function k(M){var g=d(M.gl),P=M.gl,T=M.handle=P.createFramebuffer(),F=M._shape[0],q=M._shape[1],V=M.color.length,H=M._ext,X=M._useStencil,G=M._useDepth,N=M._colorType;P.bindFramebuffer(P.FRAMEBUFFER,T);for(var W=0;W<V;++W)M.color[W]=p(P,F,q,N,P.RGBA,P.COLOR_ATTACHMENT0+W);V===0?(M._color_rb=E(P,F,q,P.RGBA4,P.COLOR_ATTACHMENT0),H&&H.drawBuffersWEBGL(l[0])):V>1&&H.drawBuffersWEBGL(l[V]);var re=P.getExtension(\"WEBGL_depth_texture\");re?X?M.depth=p(P,F,q,re.UNSIGNED_INT_24_8_WEBGL,P.DEPTH_STENCIL,P.DEPTH_STENCIL_ATTACHMENT):G&&(M.depth=p(P,F,q,P.UNSIGNED_SHORT,P.DEPTH_COMPONENT,P.DEPTH_ATTACHMENT)):G&&X?M._depth_rb=E(P,F,q,P.DEPTH_STENCIL,P.DEPTH_STENCIL_ATTACHMENT):G?M._depth_rb=E(P,F,q,P.DEPTH_COMPONENT16,P.DEPTH_ATTACHMENT):X&&(M._depth_rb=E(P,F,q,P.STENCIL_INDEX,P.STENCIL_ATTACHMENT));var ae=P.checkFramebufferStatus(P.FRAMEBUFFER);if(ae!==P.FRAMEBUFFER_COMPLETE){M._destroyed=!0,P.bindFramebuffer(P.FRAMEBUFFER,null),P.deleteFramebuffer(M.handle),M.handle=null,M.depth&&(M.depth.dispose(),M.depth=null),M._depth_rb&&(P.deleteRenderbuffer(M._depth_rb),M._depth_rb=null);for(var W=0;W<M.color.length;++W)M.color[W].dispose(),M.color[W]=null;M._color_rb&&(P.deleteRenderbuffer(M._color_rb),M._color_rb=null),v(P,g),b(ae)}v(P,g)}function A(M,g,P,T,F,q,V,H){this.gl=M,this._shape=[g|0,P|0],this._destroyed=!1,this._ext=H,this.color=new Array(F);for(var X=0;X<F;++X)this.color[X]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=T,this._useDepth=q,this._useStencil=V;var G=this,N=[g|0,P|0];Object.defineProperties(N,{0:{get:function(){return G._shape[0]},set:function(W){return G.width=W}},1:{get:function(){return G._shape[1]},set:function(W){return G.height=W}}}),this._shapeVector=N,k(this)}var L=A.prototype;function _(M,g,P){if(M._destroyed)throw new Error(\"gl-fbo: Can't resize destroyed FBO\");if(!(M._shape[0]===g&&M._shape[1]===P)){var T=M.gl,F=T.getParameter(T.MAX_RENDERBUFFER_SIZE);if(g<0||g>F||P<0||P>F)throw new Error(\"gl-fbo: Can't resize FBO, invalid dimensions\");M._shape[0]=g,M._shape[1]=P;for(var q=d(T),V=0;V<M.color.length;++V)M.color[V].shape=M._shape;M._color_rb&&(T.bindRenderbuffer(T.RENDERBUFFER,M._color_rb),T.renderbufferStorage(T.RENDERBUFFER,T.RGBA4,M._shape[0],M._shape[1])),M.depth&&(M.depth.shape=M._shape),M._depth_rb&&(T.bindRenderbuffer(T.RENDERBUFFER,M._depth_rb),M._useDepth&&M._useStencil?T.renderbufferStorage(T.RENDERBUFFER,T.DEPTH_STENCIL,M._shape[0],M._shape[1]):M._useDepth?T.renderbufferStorage(T.RENDERBUFFER,T.DEPTH_COMPONENT16,M._shape[0],M._shape[1]):M._useStencil&&T.renderbufferStorage(T.RENDERBUFFER,T.STENCIL_INDEX,M._shape[0],M._shape[1])),T.bindFramebuffer(T.FRAMEBUFFER,M.handle);var H=T.checkFramebufferStatus(T.FRAMEBUFFER);H!==T.FRAMEBUFFER_COMPLETE&&(M.dispose(),v(T,q),b(H)),v(T,q)}}Object.defineProperties(L,{shape:{get:function(){return this._destroyed?[0,0]:this._shapeVector},set:function(M){if(Array.isArray(M)||(M=[M|0,M|0]),M.length!==2)throw new Error(\"gl-fbo: Shape vector must be length 2\");var g=M[0]|0,P=M[1]|0;return _(this,g,P),[g,P]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(M){return M=M|0,_(this,M,this._shape[1]),M},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(M){return M=M|0,_(this,this._shape[0],M),M},enumerable:!1}}),L.bind=function(){if(!this._destroyed){var M=this.gl;M.bindFramebuffer(M.FRAMEBUFFER,this.handle),M.viewport(0,0,this._shape[0],this._shape[1])}},L.dispose=function(){if(!this._destroyed){this._destroyed=!0;var M=this.gl;M.deleteFramebuffer(this.handle),this.handle=null,this.depth&&(this.depth.dispose(),this.depth=null),this._depth_rb&&(M.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var g=0;g<this.color.length;++g)this.color[g].dispose(),this.color[g]=null;this._color_rb&&(M.deleteRenderbuffer(this._color_rb),this._color_rb=null)}};function C(M,g,P,T){u||(u=M.FRAMEBUFFER_UNSUPPORTED,c=M.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,f=M.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,h=M.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var F=M.getExtension(\"WEBGL_draw_buffers\");if(!l&&F&&x(M,F),Array.isArray(g)&&(T=P,P=g[1]|0,g=g[0]|0),typeof g!=\"number\")throw new Error(\"gl-fbo: Missing shape parameter\");var q=M.getParameter(M.MAX_RENDERBUFFER_SIZE);if(g<0||g>q||P<0||P>q)throw new Error(\"gl-fbo: Parameters are too large for FBO\");T=T||{};var V=1;if(\"color\"in T){if(V=Math.max(T.color|0,0),V<0)throw new Error(\"gl-fbo: Must specify a nonnegative number of colors\");if(V>1)if(F){if(V>M.getParameter(F.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\"gl-fbo: Context does not support \"+V+\" draw buffers\")}else throw new Error(\"gl-fbo: Multiple draw buffer extension not supported\")}var H=M.UNSIGNED_BYTE,X=M.getExtension(\"OES_texture_float\");if(T.float&&V>0){if(!X)throw new Error(\"gl-fbo: Context does not support floating point textures\");H=M.FLOAT}else T.preferFloat&&V>0&&X&&(H=M.FLOAT);var G=!0;\"depth\"in T&&(G=!!T.depth);var N=!1;return\"stencil\"in T&&(N=!!T.stencil),new A(M,g,P,H,V,G,N,F)}},2992:function(i,a,o){var s=o(3387).sprintf,l=o(5171),u=o(1848),c=o(1085);i.exports=f;function f(h,d,v){\"use strict\";var x=u(d)||\"of unknown name (see npm glsl-shader-name)\",b=\"unknown type\";v!==void 0&&(b=v===l.FRAGMENT_SHADER?\"fragment\":\"vertex\");for(var p=s(`Error compiling %s shader %s:\n", - "`,b,x),E=s(\"%s%s\",p,h),k=h.split(`\n", - "`),A={},L=0;L<k.length;L++){var _=k[L];if(!(_===\"\"||_===\"\\0\")){var C=parseInt(_.split(\":\")[2]);if(isNaN(C))throw new Error(s(\"Could not parse error: %s\",_));A[C]=_}}for(var M=c(d).split(`\n", - "`),L=0;L<M.length;L++)if(!(!A[L+3]&&!A[L+2]&&!A[L+1])){var g=M[L];if(p+=g+`\n", - "`,A[L+1]){var P=A[L+1];P=P.substr(P.split(\":\",3).join(\":\").length+1).trim(),p+=s(`^^^ %s\n", - "\n", - "`,P)}}return{long:p.trim(),short:E.trim()}}},7319:function(i,a,o){var s=o(3236),l=o(9405),u=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position, nextPosition;\n", - "attribute float arcLength, lineWidth;\n", - "attribute vec4 color;\n", - "\n", - "uniform vec2 screenShape;\n", - "uniform float pixelRatio;\n", - "uniform mat4 model, view, projection;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec3 worldPosition;\n", - "varying float pixelArcLength;\n", - "\n", - "vec4 project(vec3 p) {\n", - " return projection * (view * (model * vec4(p, 1.0)));\n", - "}\n", - "\n", - "void main() {\n", - " vec4 startPoint = project(position);\n", - " vec4 endPoint = project(nextPosition);\n", - "\n", - " vec2 A = startPoint.xy / startPoint.w;\n", - " vec2 B = endPoint.xy / endPoint.w;\n", - "\n", - " float clipAngle = atan(\n", - " (B.y - A.y) * screenShape.y,\n", - " (B.x - A.x) * screenShape.x\n", - " );\n", - "\n", - " vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(\n", - " sin(clipAngle),\n", - " -cos(clipAngle)\n", - " ) / screenShape;\n", - "\n", - " gl_Position = vec4(startPoint.xy + startPoint.w * offset, startPoint.zw);\n", - "\n", - " worldPosition = position;\n", - " pixelArcLength = arcLength;\n", - " fragColor = color;\n", - "}\n", - "`]),c=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform sampler2D dashTexture;\n", - "uniform float dashScale;\n", - "uniform float opacity;\n", - "\n", - "varying vec3 worldPosition;\n", - "varying float pixelArcLength;\n", - "varying vec4 fragColor;\n", - "\n", - "void 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", - "`]),f=s([`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\n", - "vec4 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", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform float pickId;\n", - "uniform vec3 clipBounds[2];\n", - "\n", - "varying vec3 worldPosition;\n", - "varying float pixelArcLength;\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n", - "\n", - " gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n", - "}`]),h=[{name:\"position\",type:\"vec3\"},{name:\"nextPosition\",type:\"vec3\"},{name:\"arcLength\",type:\"float\"},{name:\"lineWidth\",type:\"float\"},{name:\"color\",type:\"vec4\"}];a.createShader=function(d){return l(d,u,c,null,h)},a.createPickShader=function(d){return l(d,u,f,null,h)}},5714:function(i,a,o){\"use strict\";i.exports=M;var s=o(2762),l=o(8116),u=o(7766),c=new Uint8Array(4),f=new Float32Array(c.buffer);function h(g,P,T,F){return c[0]=F,c[1]=T,c[2]=P,c[3]=g,f[0]}var d=o(2478),v=o(9618),x=o(7319),b=x.createShader,p=x.createPickShader,E=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function k(g,P){for(var T=0,F=0;F<3;++F){var q=g[F]-P[F];T+=q*q}return Math.sqrt(T)}function A(g){for(var P=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],T=0;T<3;++T)P[0][T]=Math.max(g[0][T],P[0][T]),P[1][T]=Math.min(g[1][T],P[1][T]);return P}function L(g,P,T,F){this.arcLength=g,this.position=P,this.index=T,this.dataCoordinate=F}function _(g,P,T,F,q,V){this.gl=g,this.shader=P,this.pickShader=T,this.buffer=F,this.vao=q,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=V,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var C=_.prototype;C.isTransparent=function(){return this.hasAlpha},C.isOpaque=function(){return!this.hasAlpha},C.pickSlots=1,C.setPickBase=function(g){this.pickId=g},C.drawTransparent=C.draw=function(g){if(this.vertexCount){var P=this.gl,T=this.shader,F=this.vao;T.bind(),T.uniforms={model:g.model||E,view:g.view||E,projection:g.projection||E,clipBounds:A(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[P.drawingBufferWidth,P.drawingBufferHeight],pixelRatio:this.pixelRatio},F.bind(),F.draw(P.TRIANGLE_STRIP,this.vertexCount),F.unbind()}},C.drawPick=function(g){if(this.vertexCount){var P=this.gl,T=this.pickShader,F=this.vao;T.bind(),T.uniforms={model:g.model||E,view:g.view||E,projection:g.projection||E,pickId:this.pickId,clipBounds:A(this.clipBounds),screenShape:[P.drawingBufferWidth,P.drawingBufferHeight],pixelRatio:this.pixelRatio},F.bind(),F.draw(P.TRIANGLE_STRIP,this.vertexCount),F.unbind()}},C.update=function(g){var P,T;this.dirty=!0;var F=!!g.connectGaps;\"dashScale\"in g&&(this.dashScale=g.dashScale),this.hasAlpha=!1,\"opacity\"in g&&(this.opacity=+g.opacity,this.opacity<1&&(this.hasAlpha=!0));var q=[],V=[],H=[],X=0,G=0,N=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],W=g.position||g.positions;if(W){var re=g.color||g.colors||[0,0,0,1],ae=g.lineWidth||1,_e=!1;e:for(P=1;P<W.length;++P){var Me=W[P-1],ke=W[P];for(V.push(X),H.push(Me.slice()),T=0;T<3;++T){if(isNaN(Me[T])||isNaN(ke[T])||!isFinite(Me[T])||!isFinite(ke[T])){if(!F&&q.length>0){for(var ge=0;ge<24;++ge)q.push(q[q.length-12]);G+=2,_e=!0}continue e}N[0][T]=Math.min(N[0][T],Me[T],ke[T]),N[1][T]=Math.max(N[1][T],Me[T],ke[T])}var ie,Te;Array.isArray(re[0])?(ie=re.length>P-1?re[P-1]:re.length>0?re[re.length-1]:[0,0,0,1],Te=re.length>P?re[P]:re.length>0?re[re.length-1]:[0,0,0,1]):ie=Te=re,ie.length===3&&(ie=[ie[0],ie[1],ie[2],1]),Te.length===3&&(Te=[Te[0],Te[1],Te[2],1]),!this.hasAlpha&&ie[3]<1&&(this.hasAlpha=!0);var Ee;Array.isArray(ae)?Ee=ae.length>P-1?ae[P-1]:ae.length>0?ae[ae.length-1]:[0,0,0,1]:Ee=ae;var Ae=X;if(X+=k(Me,ke),_e){for(T=0;T<2;++T)q.push(Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,Ee,ie[0],ie[1],ie[2],ie[3]);G+=2,_e=!1}q.push(Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,Ee,ie[0],ie[1],ie[2],ie[3],Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,-Ee,ie[0],ie[1],ie[2],ie[3],ke[0],ke[1],ke[2],Me[0],Me[1],Me[2],X,-Ee,Te[0],Te[1],Te[2],Te[3],ke[0],ke[1],ke[2],Me[0],Me[1],Me[2],X,Ee,Te[0],Te[1],Te[2],Te[3]),G+=4}}if(this.buffer.update(q),V.push(X),H.push(W[W.length-1].slice()),this.bounds=N,this.vertexCount=G,this.points=H,this.arcLength=V,\"dashes\"in g){var ze=g.dashes,Ce=ze.slice();for(Ce.unshift(0),P=1;P<Ce.length;++P)Ce[P]=Ce[P-1]+Ce[P];var me=v(new Array(256*4),[256,1,4]);for(P=0;P<256;++P){for(T=0;T<4;++T)me.set(P,0,T,0);d.le(Ce,Ce[Ce.length-1]*P/255)&1?me.set(P,0,0,0):me.set(P,0,0,255)}this.texture.setPixels(me)}},C.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},C.pick=function(g){if(!g||g.id!==this.pickId)return null;var P=h(g.value[0],g.value[1],g.value[2],0),T=d.le(this.arcLength,P);if(T<0)return null;if(T===this.arcLength.length-1)return new L(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),T);for(var F=this.points[T],q=this.points[Math.min(T+1,this.points.length-1)],V=(P-this.arcLength[T])/(this.arcLength[T+1]-this.arcLength[T]),H=1-V,X=[0,0,0],G=0;G<3;++G)X[G]=H*F[G]+V*q[G];var N=Math.min(V<.5?T:T+1,this.points.length-1);return new L(P,X,N,this.points[N])};function M(g){var P=g.gl||g.scene&&g.scene.gl,T=b(P);T.attributes.position.location=0,T.attributes.nextPosition.location=1,T.attributes.arcLength.location=2,T.attributes.lineWidth.location=3,T.attributes.color.location=4;var F=p(P);F.attributes.position.location=0,F.attributes.nextPosition.location=1,F.attributes.arcLength.location=2,F.attributes.lineWidth.location=3,F.attributes.color.location=4;for(var q=s(P),V=l(P,[{buffer:q,size:3,offset:0,stride:48},{buffer:q,size:3,offset:12,stride:48},{buffer:q,size:1,offset:24,stride:48},{buffer:q,size:1,offset:28,stride:48},{buffer:q,size:4,offset:32,stride:48}]),H=v(new Array(256*4),[256,1,4]),X=0;X<1024;++X)H.data[X]=255;var G=u(P,H);G.wrap=P.REPEAT;var N=new _(P,T,F,q,V,G);return N.update(g),N}},1903:function(i){i.exports=a;function a(o){var s=new Float32Array(16);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s[3]=o[3],s[4]=o[4],s[5]=o[5],s[6]=o[6],s[7]=o[7],s[8]=o[8],s[9]=o[9],s[10]=o[10],s[11]=o[11],s[12]=o[12],s[13]=o[13],s[14]=o[14],s[15]=o[15],s}},6864:function(i){i.exports=a;function a(){var o=new Float32Array(16);return o[0]=1,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=1,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=1,o[11]=0,o[12]=0,o[13]=0,o[14]=0,o[15]=1,o}},9921:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3],f=o[4],h=o[5],d=o[6],v=o[7],x=o[8],b=o[9],p=o[10],E=o[11],k=o[12],A=o[13],L=o[14],_=o[15],C=s*h-l*f,M=s*d-u*f,g=s*v-c*f,P=l*d-u*h,T=l*v-c*h,F=u*v-c*d,q=x*A-b*k,V=x*L-p*k,H=x*_-E*k,X=b*L-p*A,G=b*_-E*A,N=p*_-E*L;return C*N-M*G+g*X+P*H-T*V+F*q}},7399:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=s[3],h=l+l,d=u+u,v=c+c,x=l*h,b=u*h,p=u*d,E=c*h,k=c*d,A=c*v,L=f*h,_=f*d,C=f*v;return o[0]=1-p-A,o[1]=b+C,o[2]=E-_,o[3]=0,o[4]=b-C,o[5]=1-x-A,o[6]=k+L,o[7]=0,o[8]=E+_,o[9]=k-L,o[10]=1-x-p,o[11]=0,o[12]=0,o[13]=0,o[14]=0,o[15]=1,o}},6743:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=s[3],d=u+u,v=c+c,x=f+f,b=u*d,p=u*v,E=u*x,k=c*v,A=c*x,L=f*x,_=h*d,C=h*v,M=h*x;return o[0]=1-(k+L),o[1]=p+M,o[2]=E-C,o[3]=0,o[4]=p-M,o[5]=1-(b+L),o[6]=A+_,o[7]=0,o[8]=E+C,o[9]=A-_,o[10]=1-(b+k),o[11]=0,o[12]=l[0],o[13]=l[1],o[14]=l[2],o[15]=1,o}},7894:function(i){i.exports=a;function a(o){return o[0]=1,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=1,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=1,o[11]=0,o[12]=0,o[13]=0,o[14]=0,o[15]=1,o}},7608:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=s[3],h=s[4],d=s[5],v=s[6],x=s[7],b=s[8],p=s[9],E=s[10],k=s[11],A=s[12],L=s[13],_=s[14],C=s[15],M=l*d-u*h,g=l*v-c*h,P=l*x-f*h,T=u*v-c*d,F=u*x-f*d,q=c*x-f*v,V=b*L-p*A,H=b*_-E*A,X=b*C-k*A,G=p*_-E*L,N=p*C-k*L,W=E*C-k*_,re=M*W-g*N+P*G+T*X-F*H+q*V;return re?(re=1/re,o[0]=(d*W-v*N+x*G)*re,o[1]=(c*N-u*W-f*G)*re,o[2]=(L*q-_*F+C*T)*re,o[3]=(E*F-p*q-k*T)*re,o[4]=(v*X-h*W-x*H)*re,o[5]=(l*W-c*X+f*H)*re,o[6]=(_*P-A*q-C*g)*re,o[7]=(b*q-E*P+k*g)*re,o[8]=(h*N-d*X+x*V)*re,o[9]=(u*X-l*N-f*V)*re,o[10]=(A*F-L*P+C*M)*re,o[11]=(p*P-b*F-k*M)*re,o[12]=(d*H-h*G-v*V)*re,o[13]=(l*G-u*H+c*V)*re,o[14]=(L*g-A*T-_*M)*re,o[15]=(b*T-p*g+E*M)*re,o):null}},6582:function(i,a,o){var s=o(7894);i.exports=l;function l(u,c,f,h){var d,v,x,b,p,E,k,A,L,_,C=c[0],M=c[1],g=c[2],P=h[0],T=h[1],F=h[2],q=f[0],V=f[1],H=f[2];return Math.abs(C-q)<1e-6&&Math.abs(M-V)<1e-6&&Math.abs(g-H)<1e-6?s(u):(k=C-q,A=M-V,L=g-H,_=1/Math.sqrt(k*k+A*A+L*L),k*=_,A*=_,L*=_,d=T*L-F*A,v=F*k-P*L,x=P*A-T*k,_=Math.sqrt(d*d+v*v+x*x),_?(_=1/_,d*=_,v*=_,x*=_):(d=0,v=0,x=0),b=A*x-L*v,p=L*d-k*x,E=k*v-A*d,_=Math.sqrt(b*b+p*p+E*E),_?(_=1/_,b*=_,p*=_,E*=_):(b=0,p=0,E=0),u[0]=d,u[1]=b,u[2]=k,u[3]=0,u[4]=v,u[5]=p,u[6]=A,u[7]=0,u[8]=x,u[9]=E,u[10]=L,u[11]=0,u[12]=-(d*C+v*M+x*g),u[13]=-(b*C+p*M+E*g),u[14]=-(k*C+A*M+L*g),u[15]=1,u)}},6760:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=s[3],d=s[4],v=s[5],x=s[6],b=s[7],p=s[8],E=s[9],k=s[10],A=s[11],L=s[12],_=s[13],C=s[14],M=s[15],g=l[0],P=l[1],T=l[2],F=l[3];return o[0]=g*u+P*d+T*p+F*L,o[1]=g*c+P*v+T*E+F*_,o[2]=g*f+P*x+T*k+F*C,o[3]=g*h+P*b+T*A+F*M,g=l[4],P=l[5],T=l[6],F=l[7],o[4]=g*u+P*d+T*p+F*L,o[5]=g*c+P*v+T*E+F*_,o[6]=g*f+P*x+T*k+F*C,o[7]=g*h+P*b+T*A+F*M,g=l[8],P=l[9],T=l[10],F=l[11],o[8]=g*u+P*d+T*p+F*L,o[9]=g*c+P*v+T*E+F*_,o[10]=g*f+P*x+T*k+F*C,o[11]=g*h+P*b+T*A+F*M,g=l[12],P=l[13],T=l[14],F=l[15],o[12]=g*u+P*d+T*p+F*L,o[13]=g*c+P*v+T*E+F*_,o[14]=g*f+P*x+T*k+F*C,o[15]=g*h+P*b+T*A+F*M,o}},4040:function(i){i.exports=a;function a(o,s,l,u,c,f,h){var d=1/(s-l),v=1/(u-c),x=1/(f-h);return o[0]=-2*d,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=-2*v,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=2*x,o[11]=0,o[12]=(s+l)*d,o[13]=(c+u)*v,o[14]=(h+f)*x,o[15]=1,o}},4772:function(i){i.exports=a;function a(o,s,l,u,c){var f=1/Math.tan(s/2),h=1/(u-c);return o[0]=f/l,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=f,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=(c+u)*h,o[11]=-1,o[12]=0,o[13]=0,o[14]=2*c*u*h,o[15]=0,o}},6079:function(i){i.exports=a;function a(o,s,l,u){var c=u[0],f=u[1],h=u[2],d=Math.sqrt(c*c+f*f+h*h),v,x,b,p,E,k,A,L,_,C,M,g,P,T,F,q,V,H,X,G,N,W,re,ae;return Math.abs(d)<1e-6?null:(d=1/d,c*=d,f*=d,h*=d,v=Math.sin(l),x=Math.cos(l),b=1-x,p=s[0],E=s[1],k=s[2],A=s[3],L=s[4],_=s[5],C=s[6],M=s[7],g=s[8],P=s[9],T=s[10],F=s[11],q=c*c*b+x,V=f*c*b+h*v,H=h*c*b-f*v,X=c*f*b-h*v,G=f*f*b+x,N=h*f*b+c*v,W=c*h*b+f*v,re=f*h*b-c*v,ae=h*h*b+x,o[0]=p*q+L*V+g*H,o[1]=E*q+_*V+P*H,o[2]=k*q+C*V+T*H,o[3]=A*q+M*V+F*H,o[4]=p*X+L*G+g*N,o[5]=E*X+_*G+P*N,o[6]=k*X+C*G+T*N,o[7]=A*X+M*G+F*N,o[8]=p*W+L*re+g*ae,o[9]=E*W+_*re+P*ae,o[10]=k*W+C*re+T*ae,o[11]=A*W+M*re+F*ae,s!==o&&(o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o)}},5567:function(i){i.exports=a;function a(o,s,l){var u=Math.sin(l),c=Math.cos(l),f=s[4],h=s[5],d=s[6],v=s[7],x=s[8],b=s[9],p=s[10],E=s[11];return s!==o&&(o[0]=s[0],o[1]=s[1],o[2]=s[2],o[3]=s[3],o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o[4]=f*c+x*u,o[5]=h*c+b*u,o[6]=d*c+p*u,o[7]=v*c+E*u,o[8]=x*c-f*u,o[9]=b*c-h*u,o[10]=p*c-d*u,o[11]=E*c-v*u,o}},2408:function(i){i.exports=a;function a(o,s,l){var u=Math.sin(l),c=Math.cos(l),f=s[0],h=s[1],d=s[2],v=s[3],x=s[8],b=s[9],p=s[10],E=s[11];return s!==o&&(o[4]=s[4],o[5]=s[5],o[6]=s[6],o[7]=s[7],o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o[0]=f*c-x*u,o[1]=h*c-b*u,o[2]=d*c-p*u,o[3]=v*c-E*u,o[8]=f*u+x*c,o[9]=h*u+b*c,o[10]=d*u+p*c,o[11]=v*u+E*c,o}},7089:function(i){i.exports=a;function a(o,s,l){var u=Math.sin(l),c=Math.cos(l),f=s[0],h=s[1],d=s[2],v=s[3],x=s[4],b=s[5],p=s[6],E=s[7];return s!==o&&(o[8]=s[8],o[9]=s[9],o[10]=s[10],o[11]=s[11],o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o[0]=f*c+x*u,o[1]=h*c+b*u,o[2]=d*c+p*u,o[3]=v*c+E*u,o[4]=x*c-f*u,o[5]=b*c-h*u,o[6]=p*c-d*u,o[7]=E*c-v*u,o}},2504:function(i){i.exports=a;function a(o,s,l){var u=l[0],c=l[1],f=l[2];return o[0]=s[0]*u,o[1]=s[1]*u,o[2]=s[2]*u,o[3]=s[3]*u,o[4]=s[4]*c,o[5]=s[5]*c,o[6]=s[6]*c,o[7]=s[7]*c,o[8]=s[8]*f,o[9]=s[9]*f,o[10]=s[10]*f,o[11]=s[11]*f,o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15],o}},7656:function(i){i.exports=a;function a(o,s,l){var u=l[0],c=l[1],f=l[2],h,d,v,x,b,p,E,k,A,L,_,C;return s===o?(o[12]=s[0]*u+s[4]*c+s[8]*f+s[12],o[13]=s[1]*u+s[5]*c+s[9]*f+s[13],o[14]=s[2]*u+s[6]*c+s[10]*f+s[14],o[15]=s[3]*u+s[7]*c+s[11]*f+s[15]):(h=s[0],d=s[1],v=s[2],x=s[3],b=s[4],p=s[5],E=s[6],k=s[7],A=s[8],L=s[9],_=s[10],C=s[11],o[0]=h,o[1]=d,o[2]=v,o[3]=x,o[4]=b,o[5]=p,o[6]=E,o[7]=k,o[8]=A,o[9]=L,o[10]=_,o[11]=C,o[12]=h*u+b*c+A*f+s[12],o[13]=d*u+p*c+L*f+s[13],o[14]=v*u+E*c+_*f+s[14],o[15]=x*u+k*c+C*f+s[15]),o}},5665:function(i){i.exports=a;function a(o,s){if(o===s){var l=s[1],u=s[2],c=s[3],f=s[6],h=s[7],d=s[11];o[1]=s[4],o[2]=s[8],o[3]=s[12],o[4]=l,o[6]=s[9],o[7]=s[13],o[8]=u,o[9]=f,o[11]=s[14],o[12]=c,o[13]=h,o[14]=d}else o[0]=s[0],o[1]=s[4],o[2]=s[8],o[3]=s[12],o[4]=s[1],o[5]=s[5],o[6]=s[9],o[7]=s[13],o[8]=s[2],o[9]=s[6],o[10]=s[10],o[11]=s[14],o[12]=s[3],o[13]=s[7],o[14]=s[11],o[15]=s[15];return o}},7626:function(i,a,o){\"use strict\";var s=o(2642),l=o(9346);i.exports=d;function u(v,x){for(var b=[0,0,0,0],p=0;p<4;++p)for(var E=0;E<4;++E)b[E]+=v[4*p+E]*x[p];return b}function c(v,x,b,p,E){for(var k=u(p,u(b,u(x,[v[0],v[1],v[2],1]))),A=0;A<3;++A)k[A]/=k[3];return[.5*E[0]*(1+k[0]),.5*E[1]*(1-k[1])]}function f(v,x){if(v.length===2){for(var b=0,p=0,E=0;E<2;++E)b+=Math.pow(x[E]-v[0][E],2),p+=Math.pow(x[E]-v[1][E],2);return b=Math.sqrt(b),p=Math.sqrt(p),b+p<1e-6?[1,0]:[p/(b+p),b/(p+b)]}else if(v.length===3){var k=[0,0];return l(v[0],v[1],v[2],x,k),s(v,k)}return[]}function h(v,x){for(var b=[0,0,0],p=0;p<v.length;++p)for(var E=v[p],k=x[p],A=0;A<3;++A)b[A]+=k*E[A];return b}function d(v,x,b,p,E,k){if(v.length===1)return[0,v[0].slice()];for(var A=new Array(v.length),L=0;L<v.length;++L)A[L]=c(v[L],b,p,E,k);for(var _=0,C=1/0,L=0;L<A.length;++L){for(var M=0,g=0;g<2;++g)M+=Math.pow(A[L][g]-x[g],2);M<C&&(C=M,_=L)}for(var P=f(A,x),T=0,L=0;L<3;++L){if(P[L]<-.001||P[L]>1.0001)return null;T+=P[L]}return Math.abs(T-1)>.001?null:[_,h(v,P),P]}},840:function(i,a,o){var s=o(3236),l=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position, normal;\n", - "attribute vec4 color;\n", - "attribute vec2 uv;\n", - "\n", - "uniform mat4 model\n", - " , view\n", - " , projection\n", - " , inverseModel;\n", - "uniform vec3 eyePosition\n", - " , lightPosition;\n", - "\n", - "varying vec3 f_normal\n", - " , f_lightDirection\n", - " , f_eyeDirection\n", - " , f_data;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "vec4 project(vec3 p) {\n", - " return projection * (view * (model * vec4(p, 1.0)));\n", - "}\n", - "\n", - "void 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", - "`]),u=s([`#extension GL_OES_standard_derivatives : enable\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "float 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", - "\n", - "float 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", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float roughness\n", - " , fresnel\n", - " , kambient\n", - " , kdiffuse\n", - " , kspecular;\n", - "uniform sampler2D texture;\n", - "\n", - "varying vec3 f_normal\n", - " , f_lightDirection\n", - " , f_eyeDirection\n", - " , f_data;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),c=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 uv;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "\n", - "varying vec4 f_color;\n", - "varying vec3 f_data;\n", - "varying vec2 f_uv;\n", - "\n", - "void main() {\n", - " gl_Position = projection * (view * (model * vec4(position, 1.0)));\n", - " f_color = color;\n", - " f_data = position;\n", - " f_uv = uv;\n", - "}`]),f=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform sampler2D texture;\n", - "uniform float opacity;\n", - "\n", - "varying vec4 f_color;\n", - "varying vec3 f_data;\n", - "varying vec2 f_uv;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n", - "\n", - " gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n", - "}`]),h=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 uv;\n", - "attribute float pointSize;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 clipBounds[2];\n", - "\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "}`]),d=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform sampler2D texture;\n", - "uniform float opacity;\n", - "\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "}`]),v=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void main() {\n", - " gl_Position = projection * (view * (model * vec4(position, 1.0)));\n", - " f_id = id;\n", - " f_position = position;\n", - "}`]),x=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float pickId;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n", - "\n", - " gl_FragColor = vec4(pickId, f_id.xyz);\n", - "}`]),b=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute float pointSize;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 clipBounds[2];\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void 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=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "\n", - "void main() {\n", - " gl_Position = projection * (view * (model * vec4(position, 1.0)));\n", - "}`]),E=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform vec3 contourColor;\n", - "\n", - "void main() {\n", - " gl_FragColor = vec4(contourColor, 1.0);\n", - "}\n", - "`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},a.wireShader={vertex:c,fragment:f,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},a.pointShader={vertex:h,fragment:d,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"pointSize\",type:\"float\"}]},a.pickShader={vertex:v,fragment:x,attributes:[{name:\"position\",type:\"vec3\"},{name:\"id\",type:\"vec4\"}]},a.pointPickShader={vertex:b,fragment:x,attributes:[{name:\"position\",type:\"vec3\"},{name:\"pointSize\",type:\"float\"},{name:\"id\",type:\"vec4\"}]},a.contourShader={vertex:p,fragment:E,attributes:[{name:\"position\",type:\"vec3\"}]}},7201:function(i,a,o){\"use strict\";var s=1e-6,l=1e-6,u=o(9405),c=o(2762),f=o(8116),h=o(7766),d=o(8406),v=o(6760),x=o(7608),b=o(9618),p=o(6729),E=o(7765),k=o(1888),A=o(840),L=o(7626),_=A.meshShader,C=A.wireShader,M=A.pointShader,g=A.pickShader,P=A.pointPickShader,T=A.contourShader,F=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function q(ge,ie,Te,Ee,Ae,ze,Ce,me,Re,ce,Ge,nt,ct,qt,rt,ot,Rt,kt,Ct,Yt,xr,er,Ke,xt,bt,Lt,St){this.gl=ge,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=ie,this.dirty=!0,this.triShader=Te,this.lineShader=Ee,this.pointShader=Ae,this.pickShader=ze,this.pointPickShader=Ce,this.contourShader=me,this.trianglePositions=Re,this.triangleColors=Ge,this.triangleNormals=ct,this.triangleUVs=nt,this.triangleIds=ce,this.triangleVAO=qt,this.triangleCount=0,this.lineWidth=1,this.edgePositions=rt,this.edgeColors=Rt,this.edgeUVs=kt,this.edgeIds=ot,this.edgeVAO=Ct,this.edgeCount=0,this.pointPositions=Yt,this.pointColors=er,this.pointUVs=Ke,this.pointSizes=xt,this.pointIds=xr,this.pointVAO=bt,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=Lt,this.contourVAO=St,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=F,this._view=F,this._projection=F,this._resolution=[1,1]}var V=q.prototype;V.isOpaque=function(){return!this.hasAlpha},V.isTransparent=function(){return this.hasAlpha},V.pickSlots=1,V.setPickBase=function(ge){this.pickId=ge};function H(ge,ie){if(!ie||!ie.length)return 1;for(var Te=0;Te<ie.length;++Te){if(ie.length<2)return 1;if(ie[Te][0]===ge)return ie[Te][1];if(ie[Te][0]>ge&&Te>0){var Ee=(ie[Te][0]-ge)/(ie[Te][0]-ie[Te-1][0]);return ie[Te][1]*(1-Ee)+Ee*ie[Te-1][1]}}return 1}function X(ge,ie){for(var Te=p({colormap:ge,nshades:256,format:\"rgba\"}),Ee=new Uint8Array(256*4),Ae=0;Ae<256;++Ae){for(var ze=Te[Ae],Ce=0;Ce<3;++Ce)Ee[4*Ae+Ce]=ze[Ce];ie?Ee[4*Ae+3]=255*H(Ae/255,ie):Ee[4*Ae+3]=255*ze[3]}return b(Ee,[256,256,4],[4,0,1])}function G(ge){for(var ie=ge.length,Te=new Array(ie),Ee=0;Ee<ie;++Ee)Te[Ee]=ge[Ee][2];return Te}V.highlight=function(ge){if(!ge||!this.contourEnable){this.contourCount=0;return}for(var ie=E(this.cells,this.intensity,ge.intensity),Te=ie.cells,Ee=ie.vertexIds,Ae=ie.vertexWeights,ze=Te.length,Ce=k.mallocFloat32(2*3*ze),me=0,Re=0;Re<ze;++Re)for(var ce=Te[Re],Ge=0;Ge<2;++Ge){var nt=ce[0];ce.length===2&&(nt=ce[Ge]);for(var ct=Ee[nt][0],qt=Ee[nt][1],rt=Ae[nt],ot=1-rt,Rt=this.positions[ct],kt=this.positions[qt],Ct=0;Ct<3;++Ct)Ce[me++]=rt*Rt[Ct]+ot*kt[Ct]}this.contourCount=me/3|0,this.contourPositions.update(Ce.subarray(0,me)),k.free(Ce)},V.update=function(ge){ge=ge||{};var ie=this.gl;this.dirty=!0,\"contourEnable\"in ge&&(this.contourEnable=ge.contourEnable),\"contourColor\"in ge&&(this.contourColor=ge.contourColor),\"lineWidth\"in ge&&(this.lineWidth=ge.lineWidth),\"lightPosition\"in ge&&(this.lightPosition=ge.lightPosition),this.hasAlpha=!1,\"opacity\"in ge&&(this.opacity=ge.opacity,this.opacity<1&&(this.hasAlpha=!0)),\"opacityscale\"in ge&&(this.opacityscale=ge.opacityscale,this.hasAlpha=!0),\"ambient\"in ge&&(this.ambientLight=ge.ambient),\"diffuse\"in ge&&(this.diffuseLight=ge.diffuse),\"specular\"in ge&&(this.specularLight=ge.specular),\"roughness\"in ge&&(this.roughness=ge.roughness),\"fresnel\"in ge&&(this.fresnel=ge.fresnel),ge.texture?(this.texture.dispose(),this.texture=h(ie,ge.texture)):ge.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=ie.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=ie.LINEAR,this.texture.setPixels(X(ge.colormap,this.opacityscale)),this.texture.generateMipmap());var Te=ge.cells,Ee=ge.positions;if(!(!Ee||!Te)){var Ae=[],ze=[],Ce=[],me=[],Re=[],ce=[],Ge=[],nt=[],ct=[],qt=[],rt=[],ot=[],Rt=[],kt=[];this.cells=Te,this.positions=Ee;var Ct=ge.vertexNormals,Yt=ge.cellNormals,xr=ge.vertexNormalsEpsilon===void 0?s:ge.vertexNormalsEpsilon,er=ge.faceNormalsEpsilon===void 0?l:ge.faceNormalsEpsilon;ge.useFacetNormals&&!Yt&&(Yt=d.faceNormals(Te,Ee,er)),!Yt&&!Ct&&(Ct=d.vertexNormals(Te,Ee,xr));var Ke=ge.vertexColors,xt=ge.cellColors,bt=ge.meshColor||[1,1,1,1],Lt=ge.vertexUVs,St=ge.vertexIntensity,Et=ge.cellUVs,dt=ge.cellIntensity,Ht=1/0,$t=-1/0;if(!Lt&&!Et)if(St)if(ge.vertexIntensityBounds)Ht=+ge.vertexIntensityBounds[0],$t=+ge.vertexIntensityBounds[1];else for(var fr=0;fr<St.length;++fr){var _r=St[fr];Ht=Math.min(Ht,_r),$t=Math.max($t,_r)}else if(dt)if(ge.cellIntensityBounds)Ht=+ge.cellIntensityBounds[0],$t=+ge.cellIntensityBounds[1];else for(var fr=0;fr<dt.length;++fr){var _r=dt[fr];Ht=Math.min(Ht,_r),$t=Math.max($t,_r)}else for(var fr=0;fr<Ee.length;++fr){var _r=Ee[fr][2];Ht=Math.min(Ht,_r),$t=Math.max($t,_r)}St?this.intensity=St:dt?this.intensity=dt:this.intensity=G(Ee),this.pickVertex=!(dt||xt);var Br=ge.pointSizes,Or=ge.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(var fr=0;fr<Ee.length;++fr)for(var Nr=Ee[fr],ut=0;ut<3;++ut)isNaN(Nr[ut])||!isFinite(Nr[ut])||(this.bounds[0][ut]=Math.min(this.bounds[0][ut],Nr[ut]),this.bounds[1][ut]=Math.max(this.bounds[1][ut],Nr[ut]));var Ne=0,Ye=0,Ve=0;e:for(var fr=0;fr<Te.length;++fr){var Xe=Te[fr];switch(Xe.length){case 1:for(var ht=Xe[0],Nr=Ee[ht],ut=0;ut<3;++ut)if(isNaN(Nr[ut])||!isFinite(Nr[ut]))continue e;qt.push(Nr[0],Nr[1],Nr[2]);var Le;Ke?Le=Ke[ht]:xt?Le=xt[fr]:Le=bt,this.opacityscale&&St?ze.push(Le[0],Le[1],Le[2],this.opacity*H((St[ht]-Ht)/($t-Ht),this.opacityscale)):Le.length===3?rt.push(Le[0],Le[1],Le[2],this.opacity):(rt.push(Le[0],Le[1],Le[2],Le[3]*this.opacity),Le[3]<1&&(this.hasAlpha=!0));var xe;Lt?xe=Lt[ht]:St?xe=[(St[ht]-Ht)/($t-Ht),0]:Et?xe=Et[fr]:dt?xe=[(dt[fr]-Ht)/($t-Ht),0]:xe=[(Nr[2]-Ht)/($t-Ht),0],ot.push(xe[0],xe[1]),Br?Rt.push(Br[ht]):Rt.push(Or),kt.push(fr),Ve+=1;break;case 2:for(var ut=0;ut<2;++ut)for(var ht=Xe[ut],Nr=Ee[ht],Se=0;Se<3;++Se)if(isNaN(Nr[Se])||!isFinite(Nr[Se]))continue e;for(var ut=0;ut<2;++ut){var ht=Xe[ut],Nr=Ee[ht];ce.push(Nr[0],Nr[1],Nr[2]);var Le;Ke?Le=Ke[ht]:xt?Le=xt[fr]:Le=bt,this.opacityscale&&St?ze.push(Le[0],Le[1],Le[2],this.opacity*H((St[ht]-Ht)/($t-Ht),this.opacityscale)):Le.length===3?Ge.push(Le[0],Le[1],Le[2],this.opacity):(Ge.push(Le[0],Le[1],Le[2],Le[3]*this.opacity),Le[3]<1&&(this.hasAlpha=!0));var xe;Lt?xe=Lt[ht]:St?xe=[(St[ht]-Ht)/($t-Ht),0]:Et?xe=Et[fr]:dt?xe=[(dt[fr]-Ht)/($t-Ht),0]:xe=[(Nr[2]-Ht)/($t-Ht),0],nt.push(xe[0],xe[1]),ct.push(fr)}Ye+=1;break;case 3:for(var ut=0;ut<3;++ut)for(var ht=Xe[ut],Nr=Ee[ht],Se=0;Se<3;++Se)if(isNaN(Nr[Se])||!isFinite(Nr[Se]))continue e;for(var ut=0;ut<3;++ut){var ht=Xe[2-ut],Nr=Ee[ht];Ae.push(Nr[0],Nr[1],Nr[2]);var Le;Ke?Le=Ke[ht]:xt?Le=xt[fr]:Le=bt,Le?this.opacityscale&&St?ze.push(Le[0],Le[1],Le[2],this.opacity*H((St[ht]-Ht)/($t-Ht),this.opacityscale)):Le.length===3?ze.push(Le[0],Le[1],Le[2],this.opacity):(ze.push(Le[0],Le[1],Le[2],Le[3]*this.opacity),Le[3]<1&&(this.hasAlpha=!0)):ze.push(.5,.5,.5,1);var xe;Lt?xe=Lt[ht]:St?xe=[(St[ht]-Ht)/($t-Ht),0]:Et?xe=Et[fr]:dt?xe=[(dt[fr]-Ht)/($t-Ht),0]:xe=[(Nr[2]-Ht)/($t-Ht),0],me.push(xe[0],xe[1]);var lt;Ct?lt=Ct[ht]:lt=Yt[fr],Ce.push(lt[0],lt[1],lt[2]),Re.push(fr)}Ne+=1;break;default:break}}this.pointCount=Ve,this.edgeCount=Ye,this.triangleCount=Ne,this.pointPositions.update(qt),this.pointColors.update(rt),this.pointUVs.update(ot),this.pointSizes.update(Rt),this.pointIds.update(new Uint32Array(kt)),this.edgePositions.update(ce),this.edgeColors.update(Ge),this.edgeUVs.update(nt),this.edgeIds.update(new Uint32Array(ct)),this.trianglePositions.update(Ae),this.triangleColors.update(ze),this.triangleUVs.update(me),this.triangleNormals.update(Ce),this.triangleIds.update(new Uint32Array(Re))}},V.drawTransparent=V.draw=function(ge){ge=ge||{};for(var ie=this.gl,Te=ge.model||F,Ee=ge.view||F,Ae=ge.projection||F,ze=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],Ce=0;Ce<3;++Ce)ze[0][Ce]=Math.max(ze[0][Ce],this.clipBounds[0][Ce]),ze[1][Ce]=Math.min(ze[1][Ce],this.clipBounds[1][Ce]);var me={model:Te,view:Ee,projection:Ae,inverseModel:F.slice(),clipBounds:ze,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],contourColor:this.contourColor,texture:0};me.inverseModel=x(me.inverseModel,me.model),ie.disable(ie.CULL_FACE),this.texture.bind(0);var Re=new Array(16);v(Re,me.view,me.model),v(Re,me.projection,Re),x(Re,Re);for(var Ce=0;Ce<3;++Ce)me.eyePosition[Ce]=Re[12+Ce]/Re[15];for(var ce=Re[15],Ce=0;Ce<3;++Ce)ce+=this.lightPosition[Ce]*Re[4*Ce+3];for(var Ce=0;Ce<3;++Ce){for(var Ge=Re[12+Ce],nt=0;nt<3;++nt)Ge+=Re[4*nt+Ce]*this.lightPosition[nt];me.lightPosition[Ce]=Ge/ce}if(this.triangleCount>0){var ct=this.triShader;ct.bind(),ct.uniforms=me,this.triangleVAO.bind(),ie.drawArrays(ie.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var ct=this.lineShader;ct.bind(),ct.uniforms=me,this.edgeVAO.bind(),ie.lineWidth(this.lineWidth*this.pixelRatio),ie.drawArrays(ie.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()}if(this.pointCount>0){var ct=this.pointShader;ct.bind(),ct.uniforms=me,this.pointVAO.bind(),ie.drawArrays(ie.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var ct=this.contourShader;ct.bind(),ct.uniforms=me,this.contourVAO.bind(),ie.drawArrays(ie.LINES,0,this.contourCount),this.contourVAO.unbind()}},V.drawPick=function(ge){ge=ge||{};for(var ie=this.gl,Te=ge.model||F,Ee=ge.view||F,Ae=ge.projection||F,ze=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],Ce=0;Ce<3;++Ce)ze[0][Ce]=Math.max(ze[0][Ce],this.clipBounds[0][Ce]),ze[1][Ce]=Math.min(ze[1][Ce],this.clipBounds[1][Ce]);this._model=[].slice.call(Te),this._view=[].slice.call(Ee),this._projection=[].slice.call(Ae),this._resolution=[ie.drawingBufferWidth,ie.drawingBufferHeight];var me={model:Te,view:Ee,projection:Ae,clipBounds:ze,pickId:this.pickId/255},Re=this.pickShader;if(Re.bind(),Re.uniforms=me,this.triangleCount>0&&(this.triangleVAO.bind(),ie.drawArrays(ie.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),ie.lineWidth(this.lineWidth*this.pixelRatio),ie.drawArrays(ie.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()),this.pointCount>0){var Re=this.pointPickShader;Re.bind(),Re.uniforms=me,this.pointVAO.bind(),ie.drawArrays(ie.POINTS,0,this.pointCount),this.pointVAO.unbind()}},V.pick=function(ge){if(!ge||ge.id!==this.pickId)return null;for(var ie=ge.value[0]+256*ge.value[1]+65536*ge.value[2],Te=this.cells[ie],Ee=this.positions,Ae=new Array(Te.length),ze=0;ze<Te.length;++ze)Ae[ze]=Ee[Te[ze]];var Ce=ge.coord[0],me=ge.coord[1];if(!this.pickVertex){var Re=this.positions[Te[0]],ce=this.positions[Te[1]],Ge=this.positions[Te[2]],nt=[(Re[0]+ce[0]+Ge[0])/3,(Re[1]+ce[1]+Ge[1])/3,(Re[2]+ce[2]+Ge[2])/3];return{_cellCenter:!0,position:[Ce,me],index:ie,cell:Te,cellId:ie,intensity:this.intensity[ie],dataCoordinate:nt}}var ct=L(Ae,[Ce*this.pixelRatio,this._resolution[1]-me*this.pixelRatio],this._model,this._view,this._projection,this._resolution);if(!ct)return null;for(var qt=ct[2],rt=0,ze=0;ze<Te.length;++ze)rt+=qt[ze]*this.intensity[Te[ze]];return{position:ct[1],index:Te[ct[0]],cell:Te,cellId:ie,intensity:rt,dataCoordinate:this.positions[Te[ct[0]]]}},V.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.lineShader.dispose(),this.pointShader.dispose(),this.pickShader.dispose(),this.pointPickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose(),this.contourShader.dispose()};function N(ge){var ie=u(ge,_.vertex,_.fragment);return ie.attributes.position.location=0,ie.attributes.color.location=2,ie.attributes.uv.location=3,ie.attributes.normal.location=4,ie}function W(ge){var ie=u(ge,C.vertex,C.fragment);return ie.attributes.position.location=0,ie.attributes.color.location=2,ie.attributes.uv.location=3,ie}function re(ge){var ie=u(ge,M.vertex,M.fragment);return ie.attributes.position.location=0,ie.attributes.color.location=2,ie.attributes.uv.location=3,ie.attributes.pointSize.location=4,ie}function ae(ge){var ie=u(ge,g.vertex,g.fragment);return ie.attributes.position.location=0,ie.attributes.id.location=1,ie}function _e(ge){var ie=u(ge,P.vertex,P.fragment);return ie.attributes.position.location=0,ie.attributes.id.location=1,ie.attributes.pointSize.location=4,ie}function Me(ge){var ie=u(ge,T.vertex,T.fragment);return ie.attributes.position.location=0,ie}function ke(ge,ie){arguments.length===1&&(ie=ge,ge=ie.gl);var Te=ge.getExtension(\"OES_standard_derivatives\")||ge.getExtension(\"MOZ_OES_standard_derivatives\")||ge.getExtension(\"WEBKIT_OES_standard_derivatives\");if(!Te)throw new Error(\"derivatives not supported\");var Ee=N(ge),Ae=W(ge),ze=re(ge),Ce=ae(ge),me=_e(ge),Re=Me(ge),ce=h(ge,b(new Uint8Array([255,255,255,255]),[1,1,4]));ce.generateMipmap(),ce.minFilter=ge.LINEAR_MIPMAP_LINEAR,ce.magFilter=ge.LINEAR;var Ge=c(ge),nt=c(ge),ct=c(ge),qt=c(ge),rt=c(ge),ot=f(ge,[{buffer:Ge,type:ge.FLOAT,size:3},{buffer:rt,type:ge.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:nt,type:ge.FLOAT,size:4},{buffer:ct,type:ge.FLOAT,size:2},{buffer:qt,type:ge.FLOAT,size:3}]),Rt=c(ge),kt=c(ge),Ct=c(ge),Yt=c(ge),xr=f(ge,[{buffer:Rt,type:ge.FLOAT,size:3},{buffer:Yt,type:ge.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:kt,type:ge.FLOAT,size:4},{buffer:Ct,type:ge.FLOAT,size:2}]),er=c(ge),Ke=c(ge),xt=c(ge),bt=c(ge),Lt=c(ge),St=f(ge,[{buffer:er,type:ge.FLOAT,size:3},{buffer:Lt,type:ge.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:Ke,type:ge.FLOAT,size:4},{buffer:xt,type:ge.FLOAT,size:2},{buffer:bt,type:ge.FLOAT,size:1}]),Et=c(ge),dt=f(ge,[{buffer:Et,type:ge.FLOAT,size:3}]),Ht=new q(ge,ce,Ee,Ae,ze,Ce,me,Re,Ge,rt,nt,ct,qt,ot,Rt,Yt,kt,Ct,xr,er,Lt,Ke,xt,bt,St,Et,dt);return Ht.update(ie),Ht}i.exports=ke},4437:function(i,a,o){\"use strict\";i.exports=d;var s=o(3025),l=o(6296),u=o(351),c=o(8512),f=o(24),h=o(7520);function d(v,x){v=v||document.body,x=x||{};var b=[.01,1/0];\"distanceLimits\"in x&&(b[0]=x.distanceLimits[0],b[1]=x.distanceLimits[1]),\"zoomMin\"in x&&(b[0]=x.zoomMin),\"zoomMax\"in x&&(b[1]=x.zoomMax);var p=l({center:x.center||[0,0,0],up:x.up||[0,1,0],eye:x.eye||[0,0,10],mode:x.mode||\"orbit\",distanceLimits:b}),E=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],k=0,A=v.clientWidth,L=v.clientHeight,_={keyBindingMode:\"rotate\",enableWheel:!0,view:p,element:v,delay:x.delay||16,rotateSpeed:x.rotateSpeed||1,zoomSpeed:x.zoomSpeed||1,translateSpeed:x.translateSpeed||1,flipX:!!x.flipX,flipY:!!x.flipY,modes:p.modes,_ortho:x._ortho||x.projection&&x.projection.type===\"orthographic\"||!1,tick:function(){var C=s(),M=this.delay,g=C-2*M;p.idle(C-M),p.recalcMatrix(g),p.flush(C-(100+M*2));for(var P=!0,T=p.computedMatrix,F=0;F<16;++F)P=P&&E[F]===T[F],E[F]=T[F];var q=v.clientWidth===A&&v.clientHeight===L;return A=v.clientWidth,L=v.clientHeight,P?!q:(k=Math.exp(p.computedRadius[0]),!0)},lookAt:function(C,M,g){p.lookAt(p.lastT(),C,M,g)},rotate:function(C,M,g){p.rotate(p.lastT(),C,M,g)},pan:function(C,M,g){p.pan(p.lastT(),C,M,g)},translate:function(C,M,g){p.translate(p.lastT(),C,M,g)}};return Object.defineProperties(_,{matrix:{get:function(){return p.computedMatrix},set:function(C){return p.setMatrix(p.lastT(),C),p.computedMatrix},enumerable:!0},mode:{get:function(){return p.getMode()},set:function(C){var M=p.computedUp.slice(),g=p.computedEye.slice(),P=p.computedCenter.slice();if(p.setMode(C),C===\"turntable\"){var T=s();p._active.lookAt(T,g,P,M),p._active.lookAt(T+500,g,P,[0,0,1]),p._active.flush(T)}return p.getMode()},enumerable:!0},center:{get:function(){return p.computedCenter},set:function(C){return p.lookAt(p.lastT(),null,C),p.computedCenter},enumerable:!0},eye:{get:function(){return p.computedEye},set:function(C){return p.lookAt(p.lastT(),C),p.computedEye},enumerable:!0},up:{get:function(){return p.computedUp},set:function(C){return p.lookAt(p.lastT(),null,null,C),p.computedUp},enumerable:!0},distance:{get:function(){return k},set:function(C){return p.setDistance(p.lastT(),C),C},enumerable:!0},distanceLimits:{get:function(){return p.getDistanceLimits(b)},set:function(C){return p.setDistanceLimits(C),C},enumerable:!0}}),v.addEventListener(\"contextmenu\",function(C){return C.preventDefault(),!1}),_._lastX=-1,_._lastY=-1,_._lastMods={shift:!1,control:!1,alt:!1,meta:!1},_.enableMouseListeners=function(){_.mouseListener=u(v,C),v.addEventListener(\"touchstart\",function(M){var g=f(M.changedTouches[0],v);C(0,g[0],g[1],_._lastMods),C(1,g[0],g[1],_._lastMods)},h?{passive:!0}:!1),v.addEventListener(\"touchmove\",function(M){var g=f(M.changedTouches[0],v);C(1,g[0],g[1],_._lastMods),M.preventDefault()},h?{passive:!1}:!1),v.addEventListener(\"touchend\",function(M){C(0,_._lastX,_._lastY,_._lastMods)},h?{passive:!0}:!1);function C(M,g,P,T){var F=_.keyBindingMode;if(F!==!1){var q=F===\"rotate\",V=F===\"pan\",H=F===\"zoom\",X=!!T.control,G=!!T.alt,N=!!T.shift,W=!!(M&1),re=!!(M&2),ae=!!(M&4),_e=1/v.clientHeight,Me=_e*(g-_._lastX),ke=_e*(P-_._lastY),ge=_.flipX?1:-1,ie=_.flipY?1:-1,Te=Math.PI*_.rotateSpeed,Ee=s();if(_._lastX!==-1&&_._lastY!==-1&&((q&&W&&!X&&!G&&!N||W&&!X&&!G&&N)&&p.rotate(Ee,ge*Te*Me,-ie*Te*ke,0),(V&&W&&!X&&!G&&!N||re||W&&X&&!G&&!N)&&p.pan(Ee,-_.translateSpeed*Me*k,_.translateSpeed*ke*k,0),H&&W&&!X&&!G&&!N||ae||W&&!X&&G&&!N)){var Ae=-_.zoomSpeed*ke/window.innerHeight*(Ee-p.lastT())*100;p.pan(Ee,0,0,k*(Math.exp(Ae)-1))}return _._lastX=g,_._lastY=P,_._lastMods=T,!0}}_.wheelListener=c(v,function(M,g){if(_.keyBindingMode!==!1&&_.enableWheel){var P=_.flipX?1:-1,T=_.flipY?1:-1,F=s();if(Math.abs(M)>Math.abs(g))p.rotate(F,0,0,-M*P*Math.PI*_.rotateSpeed/window.innerWidth);else if(!_._ortho){var q=-_.zoomSpeed*T*g/window.innerHeight*(F-p.lastT())/20;p.pan(F,0,0,k*(Math.exp(q)-1))}}},!0)},_.enableMouseListeners(),_}},799:function(i,a,o){var s=o(3236),l=o(9405),u=s([`precision mediump float;\n", - "#define GLSLIFY 1\n", - "attribute vec2 position;\n", - "varying vec2 uv;\n", - "void main() {\n", - " uv = position;\n", - " gl_Position = vec4(position, 0, 1);\n", - "}`]),c=s([`precision mediump float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform sampler2D accumBuffer;\n", - "varying vec2 uv;\n", - "\n", - "void main() {\n", - " vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n", - " gl_FragColor = min(vec4(1,1,1,1), accum);\n", - "}`]);i.exports=function(f){return l(f,u,c,null,[{name:\"position\",type:\"vec2\"}])}},4100:function(i,a,o){\"use strict\";var s=o(4437),l=o(3837),u=o(5445),c=o(4449),f=o(3589),h=o(2260),d=o(7169),v=o(351),x=o(4772),b=o(4040),p=o(799),E=o(9216)({tablet:!0,featureDetect:!0});i.exports={createScene:C,createCamera:s};function k(){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 A(g,P){var T=null;try{T=g.getContext(\"webgl\",P),T||(T=g.getContext(\"experimental-webgl\",P))}catch(F){return null}return T}function L(g){var P=Math.round(Math.log(Math.abs(g))/Math.log(10));if(P<0){var T=Math.round(Math.pow(10,-P));return Math.ceil(g*T)/T}else if(P>0){var T=Math.round(Math.pow(10,P));return Math.ceil(g/T)*T}return Math.ceil(g)}function _(g){return typeof g==\"boolean\"?g:!0}function C(g){g=g||{},g.camera=g.camera||{};var P=g.canvas;if(!P)if(P=document.createElement(\"canvas\"),g.container){var T=g.container;T.appendChild(P)}else document.body.appendChild(P);var F=g.gl;if(F||(g.glOptions&&(E=!!g.glOptions.preserveDrawingBuffer),F=A(P,g.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:E})),!F)throw new Error(\"webgl not supported\");var q=g.bounds||[[-10,-10,-10],[10,10,10]],V=new k,H=h(F,F.drawingBufferWidth,F.drawingBufferHeight,{preferFloat:!E}),X=p(F),G=g.cameraObject&&g.cameraObject._ortho===!0||g.camera.projection&&g.camera.projection.type===\"orthographic\"||!1,N={eye:g.camera.eye||[2,0,0],center:g.camera.center||[0,0,0],up:g.camera.up||[0,1,0],zoomMin:g.camera.zoomMax||.1,zoomMax:g.camera.zoomMin||100,mode:g.camera.mode||\"turntable\",_ortho:G},W=g.axes||{},re=l(F,W);re.enable=!W.disable;var ae=g.spikes||{},_e=c(F,ae),Me=[],ke=[],ge=[],ie=[],Te=!0,Ce=!0,Ee=new Array(16),Ae=new Array(16),ze={view:null,projection:Ee,model:Ae,_ortho:!1},Ce=!0,me=[F.drawingBufferWidth,F.drawingBufferHeight],Re=g.cameraObject||s(P,N),ce={gl:F,contextLost:!1,pixelRatio:g.pixelRatio||1,canvas:P,selection:V,camera:Re,axes:re,axesPixels:null,spikes:_e,bounds:q,objects:Me,shape:me,aspect:g.aspectRatio||[1,1,1],pickRadius:g.pickRadius||10,zNear:g.zNear||.01,zFar:g.zFar||1e3,fovy:g.fovy||Math.PI/4,clearColor:g.clearColor||[0,0,0,0],autoResize:_(g.autoResize),autoBounds:_(g.autoBounds),autoScale:!!g.autoScale,autoCenter:_(g.autoCenter),clipToBounds:_(g.clipToBounds),snapToData:!!g.snapToData,onselect:g.onselect||null,onrender:g.onrender||null,onclick:g.onclick||null,cameraParams:ze,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(Yt){this.aspect[0]=Yt.x,this.aspect[1]=Yt.y,this.aspect[2]=Yt.z,Ce=!0},setBounds:function(Yt,xr){this.bounds[0][Yt]=xr.min,this.bounds[1][Yt]=xr.max},setClearColor:function(Yt){this.clearColor=Yt},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)}},Ge=[F.drawingBufferWidth/ce.pixelRatio|0,F.drawingBufferHeight/ce.pixelRatio|0];function nt(){if(!ce._stopped&&ce.autoResize){var Yt=P.parentNode,xr=1,er=1;Yt&&Yt!==document.body?(xr=Yt.clientWidth,er=Yt.clientHeight):(xr=window.innerWidth,er=window.innerHeight);var Ke=Math.ceil(xr*ce.pixelRatio)|0,xt=Math.ceil(er*ce.pixelRatio)|0;if(Ke!==P.width||xt!==P.height){P.width=Ke,P.height=xt;var bt=P.style;bt.position=bt.position||\"absolute\",bt.left=\"0px\",bt.top=\"0px\",bt.width=xr+\"px\",bt.height=er+\"px\",Te=!0}}}ce.autoResize&&nt(),window.addEventListener(\"resize\",nt);function ct(){for(var Yt=Me.length,xr=ie.length,er=0;er<xr;++er)ge[er]=0;e:for(var er=0;er<Yt;++er){var Ke=Me[er],xt=Ke.pickSlots;if(!xt){ke[er]=-1;continue}for(var bt=0;bt<xr;++bt)if(ge[bt]+xt<255){ke[er]=bt,Ke.setPickBase(ge[bt]+1),ge[bt]+=xt;continue e}var Lt=f(F,me);ke[er]=xr,ie.push(Lt),ge.push(xt),Ke.setPickBase(1),xr+=1}for(;xr>0&&ge[xr-1]===0;)ge.pop(),ie.pop().dispose()}ce.update=function(Yt){ce._stopped||(Yt=Yt||{},Te=!0,Ce=!0)},ce.add=function(Yt){ce._stopped||(Yt.axes=re,Me.push(Yt),ke.push(-1),Te=!0,Ce=!0,ct())},ce.remove=function(Yt){if(!ce._stopped){var xr=Me.indexOf(Yt);xr<0||(Me.splice(xr,1),ke.pop(),Te=!0,Ce=!0,ct())}},ce.dispose=function(){if(!ce._stopped&&(ce._stopped=!0,window.removeEventListener(\"resize\",nt),P.removeEventListener(\"webglcontextlost\",qt),ce.mouseListener.enabled=!1,!ce.contextLost)){re.dispose(),_e.dispose();for(var Yt=0;Yt<Me.length;++Yt)Me[Yt].dispose();H.dispose();for(var Yt=0;Yt<ie.length;++Yt)ie[Yt].dispose();X.dispose(),F=null,re=null,_e=null,Me=[]}},ce._mouseRotating=!1,ce._prevButtons=0,ce.enableMouseListeners=function(){ce.mouseListener=v(P,function(Yt,xr,er){if(!ce._stopped){var Ke=ie.length,xt=Me.length,bt=V.object;V.distance=1/0,V.mouse[0]=xr,V.mouse[1]=er,V.object=null,V.screen=null,V.dataCoordinate=V.dataPosition=null;var Lt=!1;if(Yt&&ce._prevButtons)ce._mouseRotating=!0;else{ce._mouseRotating&&(Ce=!0),ce._mouseRotating=!1;for(var St=0;St<Ke;++St){var Et=ie[St].query(xr,Ge[1]-er-1,ce.pickRadius);if(Et){if(Et.distance>V.distance)continue;for(var dt=0;dt<xt;++dt){var Ht=Me[dt];if(ke[dt]===St){var $t=Ht.pick(Et);$t&&(V.buttons=Yt,V.screen=Et.coord,V.distance=Et.distance,V.object=Ht,V.index=$t.distance,V.dataPosition=$t.position,V.dataCoordinate=$t.dataCoordinate,V.data=$t,Lt=!0)}}}}}bt&&bt!==V.object&&(bt.highlight&&bt.highlight(null),Te=!0),V.object&&(V.object.highlight&&V.object.highlight(V.data),Te=!0),Lt=Lt||V.object!==bt,Lt&&ce.onselect&&ce.onselect(V),Yt&1&&!(ce._prevButtons&1)&&ce.onclick&&ce.onclick(V),ce._prevButtons=Yt}})};function qt(){if(ce.contextLost)return!0;F.isContextLost()&&(ce.contextLost=!0,ce.mouseListener.enabled=!1,ce.selection.object=null,ce.oncontextloss&&ce.oncontextloss())}P.addEventListener(\"webglcontextlost\",qt);function rt(){if(!qt()){F.colorMask(!0,!0,!0,!0),F.depthMask(!0),F.disable(F.BLEND),F.enable(F.DEPTH_TEST),F.depthFunc(F.LEQUAL);for(var Yt=Me.length,xr=ie.length,er=0;er<xr;++er){var Ke=ie[er];Ke.shape=Ge,Ke.begin();for(var xt=0;xt<Yt;++xt)if(ke[xt]===er){var bt=Me[xt];bt.drawPick&&(bt.pixelRatio=1,bt.drawPick(ze))}Ke.end()}}}var ot=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],Rt=[ot[0].slice(),ot[1].slice()];function kt(){if(!qt()){nt();var Yt=ce.camera.tick();ze.view=ce.camera.matrix,Te=Te||Yt,Ce=Ce||Yt,re.pixelRatio=ce.pixelRatio,_e.pixelRatio=ce.pixelRatio;var xr=Me.length,er=ot[0],Ke=ot[1];er[0]=er[1]=er[2]=1/0,Ke[0]=Ke[1]=Ke[2]=-1/0;for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.pixelRatio=ce.pixelRatio,bt.axes=ce.axes,Te=Te||!!bt.dirty,Ce=Ce||!!bt.dirty;var Lt=bt.bounds;if(Lt)for(var St=Lt[0],Et=Lt[1],dt=0;dt<3;++dt)er[dt]=Math.min(er[dt],St[dt]),Ke[dt]=Math.max(Ke[dt],Et[dt])}var Ht=ce.bounds;if(ce.autoBounds)for(var dt=0;dt<3;++dt){if(Ke[dt]<er[dt])er[dt]=-1,Ke[dt]=1;else{er[dt]===Ke[dt]&&(er[dt]-=1,Ke[dt]+=1);var $t=.05*(Ke[dt]-er[dt]);er[dt]=er[dt]-$t,Ke[dt]=Ke[dt]+$t}Ht[0][dt]=er[dt],Ht[1][dt]=Ke[dt]}for(var fr=!1,dt=0;dt<3;++dt)fr=fr||Rt[0][dt]!==Ht[0][dt]||Rt[1][dt]!==Ht[1][dt],Rt[0][dt]=Ht[0][dt],Rt[1][dt]=Ht[1][dt];if(Ce=Ce||fr,Te=Te||fr,!!Te){if(fr){for(var _r=[0,0,0],xt=0;xt<3;++xt)_r[xt]=L((Ht[1][xt]-Ht[0][xt])/10);re.autoTicks?re.update({bounds:Ht,tickSpacing:_r}):re.update({bounds:Ht})}var Br=F.drawingBufferWidth,Or=F.drawingBufferHeight;me[0]=Br,me[1]=Or,Ge[0]=Math.max(Br/ce.pixelRatio,1)|0,Ge[1]=Math.max(Or/ce.pixelRatio,1)|0,M(ce,G);for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.axesBounds=Ht,ce.clipToBounds&&(bt.clipBounds=Ht)}V.object&&(ce.snapToData?_e.position=V.dataCoordinate:_e.position=V.dataPosition,_e.bounds=Ht),Ce&&(Ce=!1,rt()),ce.axesPixels=u(ce.axes,ze,Br,Or),ce.onrender&&ce.onrender(),F.bindFramebuffer(F.FRAMEBUFFER,null),F.viewport(0,0,Br,Or),ce.clearRGBA(),F.depthMask(!0),F.colorMask(!0,!0,!0,!0),F.enable(F.DEPTH_TEST),F.depthFunc(F.LEQUAL),F.disable(F.BLEND),F.disable(F.CULL_FACE);var Nr=!1;re.enable&&(Nr=Nr||re.isTransparent(),re.draw(ze)),_e.axes=re,V.object&&_e.draw(ze),F.disable(F.CULL_FACE);for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.axes=re,bt.pixelRatio=ce.pixelRatio,bt.isOpaque&&bt.isOpaque()&&bt.draw(ze),bt.isTransparent&&bt.isTransparent()&&(Nr=!0)}if(Nr){H.shape=me,H.bind(),F.clear(F.DEPTH_BUFFER_BIT),F.colorMask(!1,!1,!1,!1),F.depthMask(!0),F.depthFunc(F.LESS),re.enable&&re.isTransparent()&&re.drawTransparent(ze);for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.isOpaque&&bt.isOpaque()&&bt.draw(ze)}F.enable(F.BLEND),F.blendEquation(F.FUNC_ADD),F.blendFunc(F.ONE,F.ONE_MINUS_SRC_ALPHA),F.colorMask(!0,!0,!0,!0),F.depthMask(!1),F.clearColor(0,0,0,0),F.clear(F.COLOR_BUFFER_BIT),re.isTransparent()&&re.drawTransparent(ze);for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.isTransparent&&bt.isTransparent()&&bt.drawTransparent(ze)}F.bindFramebuffer(F.FRAMEBUFFER,null),F.blendFunc(F.ONE,F.ONE_MINUS_SRC_ALPHA),F.disable(F.DEPTH_TEST),X.bind(),H.color[0].bind(0),X.uniforms.accumBuffer=0,d(F),F.disable(F.BLEND)}Te=!1;for(var xt=0;xt<xr;++xt)Me[xt].dirty=!1}}}function Ct(){ce._stopped||ce.contextLost||(kt(),requestAnimationFrame(Ct))}return ce.enableMouseListeners(),Ct(),ce.redraw=function(){ce._stopped||(Te=!0,kt())},ce}function M(g,P){var T=g.bounds,F=g.cameraParams,q=F.projection,V=F.model,H=g.gl.drawingBufferWidth,X=g.gl.drawingBufferHeight,G=g.zNear,N=g.zFar,W=g.fovy,re=H/X;P?(b(q,-re,re,-1,1,G,N),F._ortho=!0):(x(q,W,re,G,N),F._ortho=!1);for(var ae=0;ae<16;++ae)V[ae]=0;V[15]=1;for(var _e=0,ae=0;ae<3;++ae)_e=Math.max(_e,T[1][ae]-T[0][ae]);for(var ae=0;ae<3;++ae)g.autoScale?V[5*ae]=g.aspect[ae]/(T[1][ae]-T[0][ae]):V[5*ae]=1/_e,g.autoCenter&&(V[12+ae]=-V[5*ae]*.5*(T[0][ae]+T[1][ae]))}},783:function(i){i.exports=a;function a(o,s,l,u){var c=s[0],f=s[1],h=s[2],d=s[3],v=l[0],x=l[1],b=l[2],p=l[3],E,k,A,L,_;return k=c*v+f*x+h*b+d*p,k<0&&(k=-k,v=-v,x=-x,b=-b,p=-p),1-k>1e-6?(E=Math.acos(k),A=Math.sin(E),L=Math.sin((1-u)*E)/A,_=Math.sin(u*E)/A):(L=1-u,_=u),o[0]=L*c+_*v,o[1]=L*f+_*x,o[2]=L*h+_*b,o[3]=L*d+_*p,o}},5964:function(i){\"use strict\";i.exports=function(a){return!a&&a!==0?\"\":a.toString()}},9366:function(i,a,o){\"use strict\";var s=o(4359);i.exports=u;var l={};function u(c,f,h){var d=[f.style,f.weight,f.variant,f.family].join(\"_\"),v=l[d];if(v||(v=l[d]={}),c in v)return v[c];var x={textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:f.family,fontStyle:f.style,fontWeight:f.weight,fontVariant:f.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}};x.triangles=!0;var b=s(c,x);x.triangles=!1;var p=s(c,x),E,k;if(h&&h!==1){for(E=0;E<b.positions.length;++E)for(k=0;k<b.positions[E].length;++k)b.positions[E][k]/=h;for(E=0;E<p.positions.length;++E)for(k=0;k<p.positions[E].length;++k)p.positions[E][k]/=h}var A=[[1/0,1/0],[-1/0,-1/0]],L=p.positions.length;for(E=0;E<L;++E){var _=p.positions[E];for(k=0;k<2;++k)A[0][k]=Math.min(A[0][k],_[k]),A[1][k]=Math.max(A[1][k],_[k])}return v[c]=[b,p,A]}},1283:function(i,a,o){var s=o(9405),l=o(3236),u=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 glyph;\n", - "attribute vec4 id;\n", - "\n", - "uniform vec4 highlightId;\n", - "uniform float highlightScale;\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 clipBounds[2];\n", - "\n", - "varying vec4 interpColor;\n", - "varying vec4 pickId;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void 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", - "}`]),c=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 glyph;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec2 screenSize;\n", - "uniform vec3 clipBounds[2];\n", - "uniform float highlightScale, pixelRatio;\n", - "uniform vec4 highlightId;\n", - "\n", - "varying vec4 interpColor;\n", - "varying vec4 pickId;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void 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", - "}`]),f=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 glyph;\n", - "attribute vec4 id;\n", - "\n", - "uniform float highlightScale;\n", - "uniform vec4 highlightId;\n", - "uniform vec3 axes[2];\n", - "uniform mat4 model, view, projection;\n", - "uniform vec2 screenSize;\n", - "uniform vec3 clipBounds[2];\n", - "uniform float scale, pixelRatio;\n", - "\n", - "varying vec4 interpColor;\n", - "varying vec4 pickId;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void 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", - "`]),h=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 fragClipBounds[2];\n", - "uniform float opacity;\n", - "\n", - "varying vec4 interpColor;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void main() {\n", - " if (\n", - " outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n", - " interpColor.a * opacity == 0.\n", - " ) discard;\n", - " gl_FragColor = interpColor * opacity;\n", - "}\n", - "`]),d=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 fragClipBounds[2];\n", - "uniform float pickGroup;\n", - "\n", - "varying vec4 pickId;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void main() {\n", - " if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n", - "\n", - " gl_FragColor = vec4(pickGroup, pickId.bgr);\n", - "}`]),v=[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"glyph\",type:\"vec2\"},{name:\"id\",type:\"vec4\"}],x={vertex:u,fragment:h,attributes:v},b={vertex:c,fragment:h,attributes:v},p={vertex:f,fragment:h,attributes:v},E={vertex:u,fragment:d,attributes:v},k={vertex:c,fragment:d,attributes:v},A={vertex:f,fragment:d,attributes:v};function L(_,C){var M=s(_,C),g=M.attributes;return g.position.location=0,g.color.location=1,g.glyph.location=2,g.id.location=3,M}a.createPerspective=function(_){return L(_,x)},a.createOrtho=function(_){return L(_,b)},a.createProject=function(_){return L(_,p)},a.createPickPerspective=function(_){return L(_,E)},a.createPickOrtho=function(_){return L(_,k)},a.createPickProject=function(_){return L(_,A)}},8418:function(i,a,o){\"use strict\";var s=o(5219),l=o(2762),u=o(8116),c=o(1888),f=o(6760),h=o(1283),d=o(9366),v=o(5964),x=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],b=ArrayBuffer,p=DataView;function E(Ae){return b.isView(Ae)&&!(Ae instanceof p)}function k(Ae){return Array.isArray(Ae)||E(Ae)}i.exports=Ee;function A(Ae,ze){var Ce=Ae[0],me=Ae[1],Re=Ae[2],ce=Ae[3];return Ae[0]=ze[0]*Ce+ze[4]*me+ze[8]*Re+ze[12]*ce,Ae[1]=ze[1]*Ce+ze[5]*me+ze[9]*Re+ze[13]*ce,Ae[2]=ze[2]*Ce+ze[6]*me+ze[10]*Re+ze[14]*ce,Ae[3]=ze[3]*Ce+ze[7]*me+ze[11]*Re+ze[15]*ce,Ae}function L(Ae,ze,Ce,me){return A(me,me,Ce),A(me,me,ze),A(me,me,Ae)}function _(Ae,ze){this.index=Ae,this.dataCoordinate=this.position=ze}function C(Ae){return Ae===!0||Ae>1?1:Ae}function M(Ae,ze,Ce,me,Re,ce,Ge,nt,ct,qt,rt,ot){this.gl=Ae,this.pixelRatio=1,this.shader=ze,this.orthoShader=Ce,this.projectShader=me,this.pointBuffer=Re,this.colorBuffer=ce,this.glyphBuffer=Ge,this.idBuffer=nt,this.vao=ct,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[.6666666666666666,.6666666666666666,.6666666666666666],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=qt,this.pickOrthoShader=rt,this.pickProjectShader=ot,this.points=[],this._selectResult=new _(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}var g=M.prototype;g.pickSlots=1,g.setPickBase=function(Ae){this.pickId=Ae},g.isTransparent=function(){if(this.hasAlpha)return!0;for(var Ae=0;Ae<3;++Ae)if(this.axesProject[Ae]&&this.projectHasAlpha)return!0;return!1},g.isOpaque=function(){if(!this.hasAlpha)return!0;for(var Ae=0;Ae<3;++Ae)if(this.axesProject[Ae]&&!this.projectHasAlpha)return!0;return!1};var P=[0,0],T=[0,0,0],F=[0,0,0],q=[0,0,0,1],V=[0,0,0,1],H=x.slice(),X=[0,0,0],G=[[0,0,0],[0,0,0]];function N(Ae){return Ae[0]=Ae[1]=Ae[2]=0,Ae}function W(Ae,ze){return Ae[0]=ze[0],Ae[1]=ze[1],Ae[2]=ze[2],Ae[3]=1,Ae}function re(Ae,ze,Ce,me){return Ae[0]=ze[0],Ae[1]=ze[1],Ae[2]=ze[2],Ae[Ce]=me,Ae}function ae(Ae){for(var ze=G,Ce=0;Ce<2;++Ce)for(var me=0;me<3;++me)ze[Ce][me]=Math.max(Math.min(Ae[Ce][me],1e8),-1e8);return ze}function _e(Ae,ze,Ce,me){var Re=ze.axesProject,ce=ze.gl,Ge=Ae.uniforms,nt=Ce.model||x,ct=Ce.view||x,qt=Ce.projection||x,rt=ze.axesBounds,ot=ae(ze.clipBounds),Rt;ze.axes&&ze.axes.lastCubeProps?Rt=ze.axes.lastCubeProps.axis:Rt=[1,1,1],P[0]=2/ce.drawingBufferWidth,P[1]=2/ce.drawingBufferHeight,Ae.bind(),Ge.view=ct,Ge.projection=qt,Ge.screenSize=P,Ge.highlightId=ze.highlightId,Ge.highlightScale=ze.highlightScale,Ge.clipBounds=ot,Ge.pickGroup=ze.pickId/255,Ge.pixelRatio=me;for(var kt=0;kt<3;++kt)if(Re[kt]){Ge.scale=ze.projectScale[kt],Ge.opacity=ze.projectOpacity[kt];for(var Ct=H,Yt=0;Yt<16;++Yt)Ct[Yt]=0;for(var Yt=0;Yt<4;++Yt)Ct[5*Yt]=1;Ct[5*kt]=0,Rt[kt]<0?Ct[12+kt]=rt[0][kt]:Ct[12+kt]=rt[1][kt],f(Ct,nt,Ct),Ge.model=Ct;var xr=(kt+1)%3,er=(kt+2)%3,Ke=N(T),xt=N(F);Ke[xr]=1,xt[er]=1;var bt=L(qt,ct,nt,W(q,Ke)),Lt=L(qt,ct,nt,W(V,xt));if(Math.abs(bt[1])>Math.abs(Lt[1])){var St=bt;bt=Lt,Lt=St,St=Ke,Ke=xt,xt=St;var Et=xr;xr=er,er=Et}bt[0]<0&&(Ke[xr]=-1),Lt[1]>0&&(xt[er]=-1);for(var dt=0,Ht=0,Yt=0;Yt<4;++Yt)dt+=Math.pow(nt[4*xr+Yt],2),Ht+=Math.pow(nt[4*er+Yt],2);Ke[xr]/=Math.sqrt(dt),xt[er]/=Math.sqrt(Ht),Ge.axes[0]=Ke,Ge.axes[1]=xt,Ge.fragClipBounds[0]=re(X,ot[0],kt,-1e8),Ge.fragClipBounds[1]=re(X,ot[1],kt,1e8),ze.vao.bind(),ze.vao.draw(ce.TRIANGLES,ze.vertexCount),ze.lineWidth>0&&(ce.lineWidth(ze.lineWidth*me),ze.vao.draw(ce.LINES,ze.lineVertexCount,ze.vertexCount)),ze.vao.unbind()}}var Me=[-1e8,-1e8,-1e8],ke=[1e8,1e8,1e8],ge=[Me,ke];function ie(Ae,ze,Ce,me,Re,ce,Ge){var nt=Ce.gl;if((ce===Ce.projectHasAlpha||Ge)&&_e(ze,Ce,me,Re),ce===Ce.hasAlpha||Ge){Ae.bind();var ct=Ae.uniforms;ct.model=me.model||x,ct.view=me.view||x,ct.projection=me.projection||x,P[0]=2/nt.drawingBufferWidth,P[1]=2/nt.drawingBufferHeight,ct.screenSize=P,ct.highlightId=Ce.highlightId,ct.highlightScale=Ce.highlightScale,ct.fragClipBounds=ge,ct.clipBounds=Ce.axes.bounds,ct.opacity=Ce.opacity,ct.pickGroup=Ce.pickId/255,ct.pixelRatio=Re,Ce.vao.bind(),Ce.vao.draw(nt.TRIANGLES,Ce.vertexCount),Ce.lineWidth>0&&(nt.lineWidth(Ce.lineWidth*Re),Ce.vao.draw(nt.LINES,Ce.lineVertexCount,Ce.vertexCount)),Ce.vao.unbind()}}g.draw=function(Ae){var ze=this.useOrtho?this.orthoShader:this.shader;ie(ze,this.projectShader,this,Ae,this.pixelRatio,!1,!1)},g.drawTransparent=function(Ae){var ze=this.useOrtho?this.orthoShader:this.shader;ie(ze,this.projectShader,this,Ae,this.pixelRatio,!0,!1)},g.drawPick=function(Ae){var ze=this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader;ie(ze,this.pickProjectShader,this,Ae,1,!0,!0)},g.pick=function(Ae){if(!Ae||Ae.id!==this.pickId)return null;var ze=Ae.value[2]+(Ae.value[1]<<8)+(Ae.value[0]<<16);if(ze>=this.pointCount||ze<0)return null;var Ce=this.points[ze],me=this._selectResult;me.index=ze;for(var Re=0;Re<3;++Re)me.position[Re]=me.dataCoordinate[Re]=Ce[Re];return me},g.highlight=function(Ae){if(!Ae)this.highlightId=[1,1,1,1];else{var ze=Ae.index,Ce=ze&255,me=ze>>8&255,Re=ze>>16&255;this.highlightId=[Ce/255,me/255,Re/255,0]}};function Te(Ae,ze,Ce,me){var Re;k(Ae)?ze<Ae.length?Re=Ae[ze]:Re=void 0:Re=Ae,Re=v(Re);var ce=!0;s(Re)&&(Re=\"\\u25BC\",ce=!1),Ce||(Ce={});var Ge=Ce.family;k(Ge)&&(Ge=Ge[ze]),Ge||(Ge=\"normal\");var nt=Ce.weight;k(nt)&&(nt=nt[ze]),nt||(nt=\"normal\");var ct=Ce.style;k(ct)&&(ct=ct[ze]),ct||(ct=\"normal\");var qt=Ce.variant;k(qt)&&(qt=qt[ze]),qt||(qt=\"normal\");var rt=d(Re,{family:Ge,weight:nt,style:ct,variant:qt},me),rt=d(Re,Ce,me);return{mesh:rt[0],lines:rt[1],bounds:rt[2],visible:ce}}g.update=function(Ae){if(Ae=Ae||{},\"perspective\"in Ae&&(this.useOrtho=!Ae.perspective),\"orthographic\"in Ae&&(this.useOrtho=!!Ae.orthographic),\"lineWidth\"in Ae&&(this.lineWidth=Ae.lineWidth),\"project\"in Ae)if(k(Ae.project))this.axesProject=Ae.project;else{var ze=!!Ae.project;this.axesProject=[ze,ze,ze]}if(\"projectScale\"in Ae)if(k(Ae.projectScale))this.projectScale=Ae.projectScale.slice();else{var Ce=+Ae.projectScale;this.projectScale=[Ce,Ce,Ce]}if(this.projectHasAlpha=!1,\"projectOpacity\"in Ae){if(k(Ae.projectOpacity))this.projectOpacity=Ae.projectOpacity.slice();else{var Ce=+Ae.projectOpacity;this.projectOpacity=[Ce,Ce,Ce]}for(var me=0;me<3;++me)this.projectOpacity[me]=C(this.projectOpacity[me]),this.projectOpacity[me]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,\"opacity\"in Ae&&(this.opacity=C(Ae.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var Re=Ae.position,ce={family:Ae.font||\"normal\",style:Ae.fontStyle||\"normal\",weight:Ae.fontWeight||\"normal\",variant:Ae.fontVariant||\"normal\"},Ge=Ae.alignment||[0,0],nt,ct;if(Ge.length===2)nt=Ge[0],ct=Ge[1];else{nt=[],ct=[];for(var me=0;me<Ge.length;++me)nt[me]=Ge[me][0],ct[me]=Ge[me][1]}var qt=[1/0,1/0,1/0],rt=[-1/0,-1/0,-1/0],ot=Ae.glyph,Rt=Ae.color,kt=Ae.size,Ct=Ae.angle,Yt=Ae.lineColor,xr=-1,er=0,Ke=0,xt=0;if(Re.length){xt=Re.length;e:for(var me=0;me<xt;++me){for(var bt=Re[me],Lt=0;Lt<3;++Lt)if(isNaN(bt[Lt])||!isFinite(bt[Lt]))continue e;var St=Te(ot,me,ce,this.pixelRatio),Et=St.mesh,dt=St.lines,Ht=St.bounds;er+=Et.cells.length*3,Ke+=dt.edges.length*2}}var $t=er+Ke,fr=c.mallocFloat(3*$t),_r=c.mallocFloat(4*$t),Br=c.mallocFloat(2*$t),Or=c.mallocUint32($t);if($t>0){var Nr=0,ut=er,Ne=[0,0,0,1],Ye=[0,0,0,1],Ve=k(Rt)&&k(Rt[0]),Xe=k(Yt)&&k(Yt[0]);e:for(var me=0;me<xt;++me){xr+=1;for(var bt=Re[me],Lt=0;Lt<3;++Lt){if(isNaN(bt[Lt])||!isFinite(bt[Lt]))continue e;rt[Lt]=Math.max(rt[Lt],bt[Lt]),qt[Lt]=Math.min(qt[Lt],bt[Lt])}var St=Te(ot,me,ce,this.pixelRatio),Et=St.mesh,dt=St.lines,Ht=St.bounds,ht=St.visible;if(!ht)Ne=[1,1,1,0];else if(k(Rt)){var Le;if(Ve?me<Rt.length?Le=Rt[me]:Le=[0,0,0,0]:Le=Rt,Le.length===3){for(var Lt=0;Lt<3;++Lt)Ne[Lt]=Le[Lt];Ne[3]=1}else if(Le.length===4){for(var Lt=0;Lt<4;++Lt)Ne[Lt]=Le[Lt];!this.hasAlpha&&Le[3]<1&&(this.hasAlpha=!0)}}else Ne[0]=Ne[1]=Ne[2]=0,Ne[3]=1;if(!ht)Ye=[1,1,1,0];else if(k(Yt)){var Le;if(Xe?me<Yt.length?Le=Yt[me]:Le=[0,0,0,0]:Le=Yt,Le.length===3){for(var Lt=0;Lt<3;++Lt)Ye[Lt]=Le[Lt];Ye[Lt]=1}else if(Le.length===4){for(var Lt=0;Lt<4;++Lt)Ye[Lt]=Le[Lt];!this.hasAlpha&&Le[3]<1&&(this.hasAlpha=!0)}}else Ye[0]=Ye[1]=Ye[2]=0,Ye[3]=1;var xe=.5;ht?k(kt)?me<kt.length?xe=+kt[me]:xe=12:kt?xe=+kt:this.useOrtho&&(xe=12):xe=0;var Se=0;k(Ct)?me<Ct.length?Se=+Ct[me]:Se=0:Ct&&(Se=+Ct);for(var lt=Math.cos(Se),Gt=Math.sin(Se),bt=Re[me],Lt=0;Lt<3;++Lt)rt[Lt]=Math.max(rt[Lt],bt[Lt]),qt[Lt]=Math.min(qt[Lt],bt[Lt]);var Vt=nt,ar=ct,Vt=0;k(nt)?me<nt.length?Vt=nt[me]:Vt=0:nt&&(Vt=nt);var ar=0;k(ct)?me<ct.length?ar=ct[me]:ar=0:ct&&(ar=ct),Vt*=Vt>0?1-Ht[0][0]:Vt<0?1+Ht[1][0]:1,ar*=ar>0?1-Ht[0][1]:ar<0?1+Ht[1][1]:1;for(var Qr=[Vt,ar],nn=Et.cells||[],Wi=Et.positions||[],Lt=0;Lt<nn.length;++Lt)for(var ai=nn[Lt],jr=0;jr<3;++jr){for(var ri=0;ri<3;++ri)fr[3*Nr+ri]=bt[ri];for(var ri=0;ri<4;++ri)_r[4*Nr+ri]=Ne[ri];Or[Nr]=xr;var bi=Wi[ai[jr]];Br[2*Nr]=xe*(lt*bi[0]-Gt*bi[1]+Qr[0]),Br[2*Nr+1]=xe*(Gt*bi[0]+lt*bi[1]+Qr[1]),Nr+=1}for(var nn=dt.edges,Wi=dt.positions,Lt=0;Lt<nn.length;++Lt)for(var ai=nn[Lt],jr=0;jr<2;++jr){for(var ri=0;ri<3;++ri)fr[3*ut+ri]=bt[ri];for(var ri=0;ri<4;++ri)_r[4*ut+ri]=Ye[ri];Or[ut]=xr;var bi=Wi[ai[jr]];Br[2*ut]=xe*(lt*bi[0]-Gt*bi[1]+Qr[0]),Br[2*ut+1]=xe*(Gt*bi[0]+lt*bi[1]+Qr[1]),ut+=1}}}this.bounds=[qt,rt],this.points=Re,this.pointCount=Re.length,this.vertexCount=er,this.lineVertexCount=Ke,this.pointBuffer.update(fr),this.colorBuffer.update(_r),this.glyphBuffer.update(Br),this.idBuffer.update(Or),c.free(fr),c.free(_r),c.free(Br),c.free(Or)},g.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()};function Ee(Ae){var ze=Ae.gl,Ce=h.createPerspective(ze),me=h.createOrtho(ze),Re=h.createProject(ze),ce=h.createPickPerspective(ze),Ge=h.createPickOrtho(ze),nt=h.createPickProject(ze),ct=l(ze),qt=l(ze),rt=l(ze),ot=l(ze),Rt=u(ze,[{buffer:ct,size:3,type:ze.FLOAT},{buffer:qt,size:4,type:ze.FLOAT},{buffer:rt,size:2,type:ze.FLOAT},{buffer:ot,size:4,type:ze.UNSIGNED_BYTE,normalized:!0}]),kt=new M(ze,Ce,me,Re,ct,qt,rt,ot,Rt,ce,Ge,nt);return kt.update(Ae),kt}},3589:function(i,a,o){\"use strict\";i.exports=x;var s=o(2260),l=o(1888),u=o(9618),c=o(8828).nextPow2,f=function(b,p,E){for(var k=1e8,A=-1,L=-1,_=b.shape[0],C=b.shape[1],M=0;M<_;M++)for(var g=0;g<C;g++){var P=b.get(M,g,0),T=b.get(M,g,1),F=b.get(M,g,2),q=b.get(M,g,3);if(P<255||T<255||F<255||q<255){var V=p-M,H=E-g,X=V*V+H*H;X<k&&(k=X,A=M,L=g)}}return[A,L,k]};function h(b,p,E,k,A){this.coord=[b,p],this.id=E,this.value=k,this.distance=A}function d(b,p,E){this.gl=b,this.fbo=p,this.buffer=E,this._readTimeout=null;var k=this;this._readCallback=function(){k.gl&&(p.bind(),b.readPixels(0,0,p.shape[0],p.shape[1],b.RGBA,b.UNSIGNED_BYTE,k.buffer),k._readTimeout=null)}}var v=d.prototype;Object.defineProperty(v,\"shape\",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(b){if(this.gl){this.fbo.shape=b;var p=this.fbo.shape[0],E=this.fbo.shape[1];if(E*p*4>this.buffer.length){l.free(this.buffer);for(var k=this.buffer=l.mallocUint8(c(E*p*4)),A=0;A<E*p*4;++A)k[A]=255}return b}}}),v.begin=function(){var b=this.gl,p=this.shape;b&&(this.fbo.bind(),b.clearColor(1,1,1,1),b.clear(b.COLOR_BUFFER_BIT|b.DEPTH_BUFFER_BIT))},v.end=function(){var b=this.gl;b&&(b.bindFramebuffer(b.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},v.query=function(b,p,E){if(!this.gl)return null;var k=this.fbo.shape.slice();b=b|0,p=p|0,typeof E!=\"number\"&&(E=1);var A=Math.min(Math.max(b-E,0),k[0])|0,L=Math.min(Math.max(b+E,0),k[0])|0,_=Math.min(Math.max(p-E,0),k[1])|0,C=Math.min(Math.max(p+E,0),k[1])|0;if(L<=A||C<=_)return null;var M=[L-A,C-_],g=u(this.buffer,[M[0],M[1],4],[4,k[0]*4,1],4*(A+k[0]*_)),P=f(g.hi(M[0],M[1],1),E,E),T=P[0],F=P[1];if(T<0||Math.pow(this.radius,2)<P[2])return null;var q=g.get(T,F,0),V=g.get(T,F,1),H=g.get(T,F,2),X=g.get(T,F,3);return new h(T+A|0,F+_|0,q,[V,H,X],Math.sqrt(P[2]))},v.dispose=function(){this.gl&&(this.fbo.dispose(),l.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))};function x(b,p){var E=p[0],k=p[1],A={},L=s(b,E,k,A),_=l.mallocUint8(E*k*4);return new d(b,L,_)}},9405:function(i,a,o){\"use strict\";var s=o(3327),l=o(8731),u=o(216),c=o(5091),f=o(2145),h=o(8866);function d(p){this.gl=p,this.gl.lastAttribCount=0,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}var v=d.prototype;v.bind=function(){this.program||this._relink();var p,E=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),k=this.gl.lastAttribCount;if(E>k)for(p=k;p<E;p++)this.gl.enableVertexAttribArray(p);else if(k>E)for(p=E;p<k;p++)this.gl.disableVertexAttribArray(p);this.gl.lastAttribCount=E,this.gl.useProgram(this.program)},v.dispose=function(){for(var p=this.gl.lastAttribCount,E=0;E<p;E++)this.gl.disableVertexAttribArray(E);this.gl.lastAttribCount=0,this._fref&&this._fref.dispose(),this._vref&&this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null};function x(p,E){return p.name<E.name?-1:1}v.update=function(p,E,k,A){if(!E||arguments.length===1){var L=p;p=L.vertex,E=L.fragment,k=L.uniforms,A=L.attributes}var _=this,C=_.gl,M=_._vref;_._vref=c.shader(C,C.VERTEX_SHADER,p),M&&M.dispose(),_.vertShader=_._vref.shader;var g=this._fref;if(_._fref=c.shader(C,C.FRAGMENT_SHADER,E),g&&g.dispose(),_.fragShader=_._fref.shader,!k||!A){var P=C.createProgram();if(C.attachShader(P,_.fragShader),C.attachShader(P,_.vertShader),C.linkProgram(P),!C.getProgramParameter(P,C.LINK_STATUS)){var T=C.getProgramInfoLog(P);throw new h(T,\"Error linking program:\"+T)}k=k||f.uniforms(C,P),A=A||f.attributes(C,P),C.deleteProgram(P)}A=A.slice(),A.sort(x);var F=[],q=[],V=[],H;for(H=0;H<A.length;++H){var X=A[H];if(X.type.indexOf(\"mat\")>=0){for(var G=X.type.charAt(X.type.length-1)|0,N=new Array(G),W=0;W<G;++W)N[W]=V.length,q.push(X.name+\"[\"+W+\"]\"),typeof X.location==\"number\"?V.push(X.location+W):Array.isArray(X.location)&&X.location.length===G&&typeof X.location[W]==\"number\"?V.push(X.location[W]|0):V.push(-1);F.push({name:X.name,type:X.type,locations:N})}else F.push({name:X.name,type:X.type,locations:[V.length]}),q.push(X.name),typeof X.location==\"number\"?V.push(X.location|0):V.push(-1)}var re=0;for(H=0;H<V.length;++H)if(V[H]<0){for(;V.indexOf(re)>=0;)re+=1;V[H]=re}var ae=new Array(k.length);function _e(){_.program=c.program(C,_._vref,_._fref,q,V);for(var Me=0;Me<k.length;++Me)ae[Me]=C.getUniformLocation(_.program,k[Me].name)}_e(),_._relink=_e,_.types={uniforms:u(k),attributes:u(A)},_.attributes=l(C,_,F,V),Object.defineProperty(_,\"uniforms\",s(C,_,k,ae))};function b(p,E,k,A,L){var _=new d(p);return _.update(E,k,A,L),_}i.exports=b},8866:function(i){function a(o,s,l){this.shortMessage=s||\"\",this.longMessage=l||\"\",this.rawError=o||\"\",this.message=\"gl-shader: \"+(s||o||\"\")+(l?`\n", - "`+l:\"\"),this.stack=new Error().stack}a.prototype=new Error,a.prototype.name=\"GLError\",a.prototype.constructor=a,i.exports=a},8731:function(i,a,o){\"use strict\";i.exports=d;var s=o(8866);function l(v,x,b,p,E,k){this._gl=v,this._wrapper=x,this._index=b,this._locations=p,this._dimension=E,this._constFunc=k}var u=l.prototype;u.pointer=function(x,b,p,E){var k=this,A=k._gl,L=k._locations[k._index];A.vertexAttribPointer(L,k._dimension,x||A.FLOAT,!!b,p||0,E||0),A.enableVertexAttribArray(L)},u.set=function(v,x,b,p){return this._constFunc(this._locations[this._index],v,x,b,p)},Object.defineProperty(u,\"location\",{get:function(){return this._locations[this._index]},set:function(v){return v!==this._locations[this._index]&&(this._locations[this._index]=v|0,this._wrapper.program=null),v|0}});var c=[function(v,x,b){return b.length===void 0?v.vertexAttrib1f(x,b):v.vertexAttrib1fv(x,b)},function(v,x,b,p){return b.length===void 0?v.vertexAttrib2f(x,b,p):v.vertexAttrib2fv(x,b)},function(v,x,b,p,E){return b.length===void 0?v.vertexAttrib3f(x,b,p,E):v.vertexAttrib3fv(x,b)},function(v,x,b,p,E,k){return b.length===void 0?v.vertexAttrib4f(x,b,p,E,k):v.vertexAttrib4fv(x,b)}];function f(v,x,b,p,E,k,A){var L=c[E],_=new l(v,x,b,p,E,L);Object.defineProperty(k,A,{set:function(C){return v.disableVertexAttribArray(p[b]),L(v,p[b],C),C},get:function(){return _},enumerable:!0})}function h(v,x,b,p,E,k,A){for(var L=new Array(E),_=new Array(E),C=0;C<E;++C)f(v,x,b[C],p,E,L,C),_[C]=L[C];Object.defineProperty(L,\"location\",{set:function(P){if(Array.isArray(P))for(var T=0;T<E;++T)_[T].location=P[T];else for(var T=0;T<E;++T)_[T].location=P+T;return P},get:function(){for(var P=new Array(E),T=0;T<E;++T)P[T]=p[b[T]];return P},enumerable:!0}),L.pointer=function(P,T,F,q){P=P||v.FLOAT,T=!!T,F=F||E*E,q=q||0;for(var V=0;V<E;++V){var H=p[b[V]];v.vertexAttribPointer(H,E,P,T,F,q+V*E),v.enableVertexAttribArray(H)}};var M=new Array(E),g=v[\"vertexAttrib\"+E+\"fv\"];Object.defineProperty(k,A,{set:function(P){for(var T=0;T<E;++T){var F=p[b[T]];if(v.disableVertexAttribArray(F),Array.isArray(P[0]))g.call(v,F,P[T]);else{for(var q=0;q<E;++q)M[q]=P[E*T+q];g.call(v,F,M)}}return P},get:function(){return L},enumerable:!0})}function d(v,x,b,p){for(var E={},k=0,A=b.length;k<A;++k){var L=b[k],_=L.name,C=L.type,M=L.locations;switch(C){case\"bool\":case\"int\":case\"float\":f(v,x,M[0],p,1,E,_);break;default:if(C.indexOf(\"vec\")>=0){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new s(\"\",\"Invalid data type for attribute \"+_+\": \"+C);f(v,x,M[0],p,g,E,_)}else if(C.indexOf(\"mat\")>=0){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new s(\"\",\"Invalid data type for attribute \"+_+\": \"+C);h(v,x,M,p,g,E,_)}else throw new s(\"\",\"Unknown data type for attribute \"+_+\": \"+C);break}}return E}},3327:function(i,a,o){\"use strict\";var s=o(216),l=o(8866);i.exports=f;function u(h){return function(){return h}}function c(h,d){for(var v=new Array(h),x=0;x<h;++x)v[x]=d;return v}function f(h,d,v,x){function b(C){return function(M,g,P){return M.getUniform(g.program,P[C])}}function p(C){return function(g){for(var P=E(\"\",C),T=0;T<P.length;++T){var F=P[T],q=F[0],V=F[1];if(x[V]){var H=g;if(typeof q==\"string\"&&(q.indexOf(\".\")===0||q.indexOf(\"[\")===0)){var X=q;if(q.indexOf(\".\")===0&&(X=q.slice(1)),X.indexOf(\"]\")===X.length-1){var G=X.indexOf(\"[\"),N=X.slice(0,G),W=X.slice(G+1,X.length-1);H=N?g[N][W]:g[W]}else H=g[X]}var re=v[V].type,ae;switch(re){case\"bool\":case\"int\":case\"sampler2D\":case\"samplerCube\":h.uniform1i(x[V],H);break;case\"float\":h.uniform1f(x[V],H);break;default:var _e=re.indexOf(\"vec\");if(0<=_e&&_e<=1&&re.length===4+_e){if(ae=re.charCodeAt(re.length-1)-48,ae<2||ae>4)throw new l(\"\",\"Invalid data type\");switch(re.charAt(0)){case\"b\":case\"i\":h[\"uniform\"+ae+\"iv\"](x[V],H);break;case\"v\":h[\"uniform\"+ae+\"fv\"](x[V],H);break;default:throw new l(\"\",\"Unrecognized data type for vector \"+name+\": \"+re)}}else if(re.indexOf(\"mat\")===0&&re.length===4){if(ae=re.charCodeAt(re.length-1)-48,ae<2||ae>4)throw new l(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+re);h[\"uniformMatrix\"+ae+\"fv\"](x[V],!1,H);break}else throw new l(\"\",\"Unknown uniform data type for \"+name+\": \"+re)}}}}}function E(C,M){if(typeof M!=\"object\")return[[C,M]];var g=[];for(var P in M){var T=M[P],F=C;parseInt(P)+\"\"===P?F+=\"[\"+P+\"]\":F+=\".\"+P,typeof T==\"object\"?g.push.apply(g,E(F,T)):g.push([F,T])}return g}function k(C){switch(C){case\"bool\":return!1;case\"int\":case\"sampler2D\":case\"samplerCube\":return 0;case\"float\":return 0;default:var M=C.indexOf(\"vec\");if(0<=M&&M<=1&&C.length===4+M){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new l(\"\",\"Invalid data type\");return C.charAt(0)===\"b\"?c(g,!1):c(g,0)}else if(C.indexOf(\"mat\")===0&&C.length===4){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new l(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+C);return c(g*g,0)}else throw new l(\"\",\"Unknown uniform data type for \"+name+\": \"+C)}}function A(C,M,g){if(typeof g==\"object\"){var P=L(g);Object.defineProperty(C,M,{get:u(P),set:p(g),enumerable:!0,configurable:!1})}else x[g]?Object.defineProperty(C,M,{get:b(g),set:p(g),enumerable:!0,configurable:!1}):C[M]=k(v[g].type)}function L(C){var M;if(Array.isArray(C)){M=new Array(C.length);for(var g=0;g<C.length;++g)A(M,g,C[g])}else{M={};for(var P in C)A(M,P,C[P])}return M}var _=s(v,!0);return{get:u(L(_)),set:p(_),enumerable:!0,configurable:!0}}},216:function(i){\"use strict\";i.exports=a;function a(o,s){for(var l={},u=0;u<o.length;++u)for(var c=o[u].name,f=c.split(\".\"),h=l,d=0;d<f.length;++d){var v=f[d].split(\"[\");if(v.length>1){v[0]in h||(h[v[0]]=[]),h=h[v[0]];for(var x=1;x<v.length;++x){var b=parseInt(v[x]);x<v.length-1||d<f.length-1?(b in h||(x<v.length-1?h[b]=[]:h[b]={}),h=h[b]):s?h[b]=u:h[b]=o[u].type}}else d<f.length-1?(v[0]in h||(h[v[0]]={}),h=h[v[0]]):s?h[v[0]]=u:h[v[0]]=o[u].type}return l}},2145:function(i,a){\"use strict\";a.uniforms=u,a.attributes=c;var o={FLOAT:\"float\",FLOAT_VEC2:\"vec2\",FLOAT_VEC3:\"vec3\",FLOAT_VEC4:\"vec4\",INT:\"int\",INT_VEC2:\"ivec2\",INT_VEC3:\"ivec3\",INT_VEC4:\"ivec4\",BOOL:\"bool\",BOOL_VEC2:\"bvec2\",BOOL_VEC3:\"bvec3\",BOOL_VEC4:\"bvec4\",FLOAT_MAT2:\"mat2\",FLOAT_MAT3:\"mat3\",FLOAT_MAT4:\"mat4\",SAMPLER_2D:\"sampler2D\",SAMPLER_CUBE:\"samplerCube\"},s=null;function l(f,h){if(!s){var d=Object.keys(o);s={};for(var v=0;v<d.length;++v){var x=d[v];s[f[x]]=o[x]}}return s[h]}function u(f,h){for(var d=f.getProgramParameter(h,f.ACTIVE_UNIFORMS),v=[],x=0;x<d;++x){var b=f.getActiveUniform(h,x);if(b){var p=l(f,b.type);if(b.size>1)for(var E=0;E<b.size;++E)v.push({name:b.name.replace(\"[0]\",\"[\"+E+\"]\"),type:p});else v.push({name:b.name,type:p})}}return v}function c(f,h){for(var d=f.getProgramParameter(h,f.ACTIVE_ATTRIBUTES),v=[],x=0;x<d;++x){var b=f.getActiveAttrib(h,x);b&&v.push({name:b.name,type:l(f,b.type)})}return v}},5091:function(i,a,o){\"use strict\";a.shader=E,a.program=k;var s=o(8866),l=o(2992),u=typeof WeakMap==\"undefined\"?o(606):WeakMap,c=new u,f=0;function h(A,L,_,C,M,g,P){this.id=A,this.src=L,this.type=_,this.shader=C,this.count=g,this.programs=[],this.cache=P}h.prototype.dispose=function(){if(--this.count===0){for(var A=this.cache,L=A.gl,_=this.programs,C=0,M=_.length;C<M;++C){var g=A.programs[_[C]];g&&(delete A.programs[C],L.deleteProgram(g))}L.deleteShader(this.shader),delete A.shaders[this.type===L.FRAGMENT_SHADER|0][this.src]}};function d(A){this.gl=A,this.shaders=[{},{}],this.programs={}}var v=d.prototype;function x(A,L,_){var C=A.createShader(L);if(A.shaderSource(C,_),A.compileShader(C),!A.getShaderParameter(C,A.COMPILE_STATUS)){var M=A.getShaderInfoLog(C);try{var g=l(M,_,L)}catch(P){throw console.warn(\"Failed to format compiler error: \"+P),new s(M,`Error compiling shader:\n", - "`+M)}throw new s(M,g.short,g.long)}return C}v.getShaderReference=function(A,L){var _=this.gl,C=this.shaders[A===_.FRAGMENT_SHADER|0],M=C[L];if(!M||!_.isShader(M.shader)){var g=x(_,A,L);M=C[L]=new h(f++,L,A,g,[],1,this)}else M.count+=1;return M};function b(A,L,_,C,M){var g=A.createProgram();A.attachShader(g,L),A.attachShader(g,_);for(var P=0;P<C.length;++P)A.bindAttribLocation(g,M[P],C[P]);if(A.linkProgram(g),!A.getProgramParameter(g,A.LINK_STATUS)){var T=A.getProgramInfoLog(g);throw new s(T,\"Error linking program: \"+T)}return g}v.getProgram=function(A,L,_,C){var M=[A.id,L.id,_.join(\":\"),C.join(\":\")].join(\"@\"),g=this.programs[M];return(!g||!this.gl.isProgram(g))&&(this.programs[M]=g=b(this.gl,A.shader,L.shader,_,C),A.programs.push(M),L.programs.push(M)),g};function p(A){var L=c.get(A);return L||(L=new d(A),c.set(A,L)),L}function E(A,L,_){return p(A).getShaderReference(L,_)}function k(A,L,_,C,M){return p(A).getProgram(L,_,C,M)}},1493:function(i,a,o){\"use strict\";var s=o(3236),l=o(9405),u=s([`precision mediump float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position, color;\n", - "attribute float weight;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 coordinates[3];\n", - "uniform vec4 colors[3];\n", - "uniform vec2 screenShape;\n", - "uniform float lineWidth;\n", - "\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - " vec3 vertexPosition = mix(coordinates[0],\n", - " mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));\n", - "\n", - " vec4 clipPos = projection * (view * (model * vec4(vertexPosition, 1.0)));\n", - " vec2 clipOffset = (projection * (view * (model * vec4(color, 0.0)))).xy;\n", - " vec2 delta = weight * clipOffset * screenShape;\n", - " vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;\n", - "\n", - " gl_Position = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);\n", - " fragColor = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];\n", - "}\n", - "`]),c=s([`precision mediump float;\n", - "#define GLSLIFY 1\n", - "\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - " gl_FragColor = fragColor;\n", - "}`]);i.exports=function(f){return l(f,u,c,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec3\"},{name:\"weight\",type:\"float\"}])}},4449:function(i,a,o){\"use strict\";var s=o(2762),l=o(8116),u=o(1493);i.exports=b;var c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(p,E,k,A){this.gl=p,this.buffer=E,this.vao=k,this.shader=A,this.pixelRatio=1,this.bounds=[[-1e3,-1e3,-1e3],[1e3,1e3,1e3]],this.position=[0,0,0],this.lineWidth=[2,2,2],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.enabled=[!0,!0,!0],this.drawSides=[!0,!0,!0],this.axes=null}var h=f.prototype,d=[0,0,0],v=[0,0,0],x=[0,0];h.isTransparent=function(){return!1},h.drawTransparent=function(p){},h.draw=function(p){var E=this.gl,k=this.vao,A=this.shader;k.bind(),A.bind();var L=p.model||c,_=p.view||c,C=p.projection||c,M;this.axes&&(M=this.axes.lastCubeProps.axis);for(var g=d,P=v,T=0;T<3;++T)M&&M[T]<0?(g[T]=this.bounds[0][T],P[T]=this.bounds[1][T]):(g[T]=this.bounds[1][T],P[T]=this.bounds[0][T]);x[0]=E.drawingBufferWidth,x[1]=E.drawingBufferHeight,A.uniforms.model=L,A.uniforms.view=_,A.uniforms.projection=C,A.uniforms.coordinates=[this.position,g,P],A.uniforms.colors=this.colors,A.uniforms.screenShape=x;for(var T=0;T<3;++T)A.uniforms.lineWidth=this.lineWidth[T]*this.pixelRatio,this.enabled[T]&&(k.draw(E.TRIANGLES,6,6*T),this.drawSides[T]&&k.draw(E.TRIANGLES,12,18+12*T));k.unbind()},h.update=function(p){p&&(\"bounds\"in p&&(this.bounds=p.bounds),\"position\"in p&&(this.position=p.position),\"lineWidth\"in p&&(this.lineWidth=p.lineWidth),\"colors\"in p&&(this.colors=p.colors),\"enabled\"in p&&(this.enabled=p.enabled),\"drawSides\"in p&&(this.drawSides=p.drawSides))},h.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};function b(p,E){var k=[];function A(g,P,T,F,q,V){var H=[g,P,T,0,0,0,1];H[F+3]=1,H[F]=q,k.push.apply(k,H),H[6]=-1,k.push.apply(k,H),H[F]=V,k.push.apply(k,H),k.push.apply(k,H),H[6]=1,k.push.apply(k,H),H[F]=q,k.push.apply(k,H)}A(0,0,0,0,0,1),A(0,0,0,1,0,1),A(0,0,0,2,0,1),A(1,0,0,1,-1,1),A(1,0,0,2,-1,1),A(0,1,0,0,-1,1),A(0,1,0,2,-1,1),A(0,0,1,0,-1,1),A(0,0,1,1,-1,1);var L=s(p,k),_=l(p,[{type:p.FLOAT,buffer:L,size:3,offset:0,stride:28},{type:p.FLOAT,buffer:L,size:3,offset:12,stride:28},{type:p.FLOAT,buffer:L,size:1,offset:24,stride:28}]),C=u(p);C.attributes.position.location=0,C.attributes.color.location=1,C.attributes.weight.location=2;var M=new f(p,L,_,C);return M.update(E),M}},6740:function(i,a,o){var s=o(3236),l=s([`precision highp float;\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "vec3 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", - "//\n", - "vec3 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", - "\n", - "attribute vec4 vector;\n", - "attribute vec4 color, position;\n", - "attribute vec2 uv;\n", - "\n", - "uniform float vectorScale, tubeScale;\n", - "uniform mat4 model, view, projection, inverseModel;\n", - "uniform vec3 eyePosition, lightPosition;\n", - "\n", - "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),u=s([`#extension GL_OES_standard_derivatives : enable\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "float 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", - "\n", - "float 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", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\n", - "uniform sampler2D texture;\n", - "\n", - "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),c=s([`precision highp float;\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "vec3 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", - "//\n", - "vec3 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", - "\n", - "attribute vec4 vector;\n", - "attribute vec4 position;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform float tubeScale;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void 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", - "`]),f=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float pickId;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n", - "\n", - " gl_FragColor = vec4(pickId, f_id.xyz);\n", - "}`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec4\"}]},a.pickShader={vertex:c,fragment:f,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec4\"}]}},7815:function(i,a,o){\"use strict\";var s=o(2931),l=o(9970),u=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"],c=function(A,L,_,C){for(var M=A.points,g=A.velocities,P=A.divergences,T=[],F=[],q=[],V=[],H=[],X=[],G=0,N=0,W=l.create(),re=l.create(),ae=8,_e=0;_e<M.length;_e++){var Me=M[_e],ke=g[_e],ge=P[_e];L===0&&(ge=_*.05),N=s.length(ke)/C,W=l.create(),s.copy(W,ke),W[3]=ge;for(var ie=0;ie<ae;ie++)H[ie]=[Me[0],Me[1],Me[2],ie];if(V.length>0)for(var ie=0;ie<ae;ie++){var Te=(ie+1)%ae;T.push(V[ie],H[ie],H[Te],H[Te],V[Te],V[ie]),q.push(re,W,W,W,re,re),X.push(G,N,N,N,G,G);var Ee=T.length;F.push([Ee-6,Ee-5,Ee-4],[Ee-3,Ee-2,Ee-1])}var Ae=V;V=H,H=Ae;var ze=re;re=W,W=ze;var Ce=G;G=N,N=Ce}return{positions:T,cells:F,vectors:q,vertexIntensity:X}},f=function(A,L,_,C){for(var M=0,g=0;g<A.length;g++)for(var P=A[g].velocities,T=0;T<P.length;T++)M=Math.max(M,s.length(P[T]));for(var F=A.map(function(_e){return c(_e,_,C,M)}),q=[],V=[],H=[],X=[],g=0;g<F.length;g++){var G=F[g],N=q.length;q=q.concat(G.positions),H=H.concat(G.vectors),X=X.concat(G.vertexIntensity);for(var T=0;T<G.cells.length;T++){var W=G.cells[T],re=[];V.push(re);for(var ae=0;ae<W.length;ae++)re.push(W[ae]+N)}}return{positions:q,cells:V,vectors:H,vertexIntensity:X,colormap:L}},h=function(A,L){var _=A.length,C;for(C=0;C<_;C++){var M=A[C];if(M===L)return C;if(M>L)return C-1}return C},d=function(A,L,_){return A<L?L:A>_?_:A},v=function(A,L,_){var C=L.vectors,M=L.meshgrid,g=A[0],P=A[1],T=A[2],F=M[0].length,q=M[1].length,V=M[2].length,H=h(M[0],g),X=h(M[1],P),G=h(M[2],T),N=H+1,W=X+1,re=G+1;if(H=d(H,0,F-1),N=d(N,0,F-1),X=d(X,0,q-1),W=d(W,0,q-1),G=d(G,0,V-1),re=d(re,0,V-1),H<0||X<0||G<0||N>F-1||W>q-1||re>V-1)return s.create();var ae=M[0][H],_e=M[0][N],Me=M[1][X],ke=M[1][W],ge=M[2][G],ie=M[2][re],Te=(g-ae)/(_e-ae),Ee=(P-Me)/(ke-Me),Ae=(T-ge)/(ie-ge);isFinite(Te)||(Te=.5),isFinite(Ee)||(Ee=.5),isFinite(Ae)||(Ae=.5);var ze,Ce,me,Re,ce,Ge;switch(_.reversedX&&(H=F-1-H,N=F-1-N),_.reversedY&&(X=q-1-X,W=q-1-W),_.reversedZ&&(G=V-1-G,re=V-1-re),_.filled){case 5:ce=G,Ge=re,me=X*V,Re=W*V,ze=H*V*q,Ce=N*V*q;break;case 4:ce=G,Ge=re,ze=H*V,Ce=N*V,me=X*V*F,Re=W*V*F;break;case 3:me=X,Re=W,ce=G*q,Ge=re*q,ze=H*q*V,Ce=N*q*V;break;case 2:me=X,Re=W,ze=H*q,Ce=N*q,ce=G*q*F,Ge=re*q*F;break;case 1:ze=H,Ce=N,ce=G*F,Ge=re*F,me=X*F*V,Re=W*F*V;break;default:ze=H,Ce=N,me=X*F,Re=W*F,ce=G*F*q,Ge=re*F*q;break}var nt=C[ze+me+ce],ct=C[ze+me+Ge],qt=C[ze+Re+ce],rt=C[ze+Re+Ge],ot=C[Ce+me+ce],Rt=C[Ce+me+Ge],kt=C[Ce+Re+ce],Ct=C[Ce+Re+Ge],Yt=s.create(),xr=s.create(),er=s.create(),Ke=s.create();s.lerp(Yt,nt,ot,Te),s.lerp(xr,ct,Rt,Te),s.lerp(er,qt,kt,Te),s.lerp(Ke,rt,Ct,Te);var xt=s.create(),bt=s.create();s.lerp(xt,Yt,er,Ee),s.lerp(bt,xr,Ke,Ee);var Lt=s.create();return s.lerp(Lt,xt,bt,Ae),Lt},x=function(A,L){var _=L[0],C=L[1],M=L[2];return A[0]=_<0?-_:_,A[1]=C<0?-C:C,A[2]=M<0?-M:M,A},b=function(A){var L=1/0;A.sort(function(g,P){return g-P});for(var _=A.length,C=1;C<_;C++){var M=Math.abs(A[C]-A[C-1]);M<L&&(L=M)}return L},p=function(A){for(var L=[],_=[],C=[],M={},g={},P={},T=A.length,F=0;F<T;F++){var q=A[F],V=q[0],H=q[1],X=q[2];M[V]||(L.push(V),M[V]=!0),g[H]||(_.push(H),g[H]=!0),P[X]||(C.push(X),P[X]=!0)}var G=b(L),N=b(_),W=b(C),re=Math.min(G,N,W);return isFinite(re)?re:1};i.exports=function(A,L){var _=A.startingPositions,C=A.maxLength||1e3,M=A.tubeSize||1,g=A.absoluteTubeSize,P=A.gridFill||\"+x+y+z\",T={};P.indexOf(\"-x\")!==-1&&(T.reversedX=!0),P.indexOf(\"-y\")!==-1&&(T.reversedY=!0),P.indexOf(\"-z\")!==-1&&(T.reversedZ=!0),T.filled=u.indexOf(P.replace(/-/g,\"\").replace(/\\+/g,\"\"));var F=A.getVelocity||function(Rt){return v(Rt,A,T)},q=A.getDivergence||function(Rt,kt){var Ct=s.create(),Yt=1e-4;s.add(Ct,Rt,[Yt,0,0]);var xr=F(Ct);s.subtract(xr,xr,kt),s.scale(xr,xr,1/Yt),s.add(Ct,Rt,[0,Yt,0]);var er=F(Ct);s.subtract(er,er,kt),s.scale(er,er,1/Yt),s.add(Ct,Rt,[0,0,Yt]);var Ke=F(Ct);return s.subtract(Ke,Ke,kt),s.scale(Ke,Ke,1/Yt),s.add(Ct,xr,er),s.add(Ct,Ct,Ke),Ct},V=[],H=L[0][0],X=L[0][1],G=L[0][2],N=L[1][0],W=L[1][1],re=L[1][2],ae=function(Rt){var kt=Rt[0],Ct=Rt[1],Yt=Rt[2];return!(kt<H||kt>N||Ct<X||Ct>W||Yt<G||Yt>re)},_e=s.distance(L[0],L[1]),Me=10*_e/C,ke=Me*Me,ge=1,ie=0,Te=_.length;Te>1&&(ge=p(_));for(var Ee=0;Ee<Te;Ee++){var Ae=s.create();s.copy(Ae,_[Ee]);var ze=[Ae],Ce=[],me=F(Ae),Re=Ae;Ce.push(me);var ce=[],Ge=q(Ae,me),nt=s.length(Ge);isFinite(nt)&&nt>ie&&(ie=nt),ce.push(nt),V.push({points:ze,velocities:Ce,divergences:ce});for(var ct=0;ct<C*100&&ze.length<C&&ae(Ae);){ct++;var qt=s.clone(me),rt=s.squaredLength(qt);if(rt===0)break;if(rt>ke&&s.scale(qt,qt,Me/Math.sqrt(rt)),s.add(qt,qt,Ae),me=F(qt),s.squaredDistance(Re,qt)-ke>-1e-4*ke){ze.push(qt),Re=qt,Ce.push(me);var Ge=q(qt,me),nt=s.length(Ge);isFinite(nt)&&nt>ie&&(ie=nt),ce.push(nt)}Ae=qt}}var ot=f(V,A.colormap,ie,ge);return g?ot.tubeScale=g:(ie===0&&(ie=1),ot.tubeScale=M*.5*ge/ie),ot};var E=o(6740),k=o(6405).createMesh;i.exports.createTubeMesh=function(A,L){return k(A,L,{shaders:E,traceType:\"streamtube\"})}},990:function(i,a,o){var s=o(9405),l=o(3236),u=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec4 uv;\n", - "attribute vec3 f;\n", - "attribute vec3 normal;\n", - "\n", - "uniform vec3 objectOffset;\n", - "uniform mat4 model, view, projection, inverseModel;\n", - "uniform vec3 lightPosition, eyePosition;\n", - "uniform sampler2D colormap;\n", - "\n", - "varying float value, kill;\n", - "varying vec3 worldCoordinate;\n", - "varying vec2 planeCoordinate;\n", - "varying vec3 lightDirection, eyeDirection, surfaceNormal;\n", - "varying vec4 vColor;\n", - "\n", - "void main() {\n", - " vec3 localCoordinate = vec3(uv.zw, f.x);\n", - " worldCoordinate = objectOffset + localCoordinate;\n", - " mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0));\n", - " vec4 worldPosition = (model * objectOffsetTranslation) * vec4(localCoordinate, 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", - "`]),c=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "float 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", - "\n", - "float beckmannSpecular(\n", - " vec3 lightDirection,\n", - " vec3 viewDirection,\n", - " vec3 surfaceNormal,\n", - " float roughness) {\n", - " return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n", - "}\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 lowerBound, upperBound;\n", - "uniform float contourTint;\n", - "uniform vec4 contourColor;\n", - "uniform sampler2D colormap;\n", - "uniform vec3 clipBounds[2];\n", - "uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\n", - "uniform float vertexColor;\n", - "\n", - "varying float value, kill;\n", - "varying vec3 worldCoordinate;\n", - "varying vec3 lightDirection, eyeDirection, surfaceNormal;\n", - "varying vec4 vColor;\n", - "\n", - "void 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", - "`]),f=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec4 uv;\n", - "attribute float f;\n", - "\n", - "uniform vec3 objectOffset;\n", - "uniform mat3 permutation;\n", - "uniform mat4 model, view, projection;\n", - "uniform float height, zOffset;\n", - "uniform sampler2D colormap;\n", - "\n", - "varying float value, kill;\n", - "varying vec3 worldCoordinate;\n", - "varying vec2 planeCoordinate;\n", - "varying vec3 lightDirection, eyeDirection, surfaceNormal;\n", - "varying vec4 vColor;\n", - "\n", - "void 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", - "`]),h=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec2 shape;\n", - "uniform vec3 clipBounds[2];\n", - "uniform float pickId;\n", - "\n", - "varying float value, kill;\n", - "varying vec3 worldCoordinate;\n", - "varying vec2 planeCoordinate;\n", - "varying vec3 surfaceNormal;\n", - "\n", - "vec2 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", - "\n", - "void 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", - "`]);a.createShader=function(d){var v=s(d,u,c,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v.attributes.normal.location=2,v},a.createPickShader=function(d){var v=s(d,u,h,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v.attributes.normal.location=2,v},a.createContourShader=function(d){var v=s(d,f,c,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v},a.createPickContourShader=function(d){var v=s(d,f,h,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v}},9499:function(i,a,o){\"use strict\";i.exports=ze;var s=o(8828),l=o(2762),u=o(8116),c=o(7766),f=o(1888),h=o(6729),d=o(5298),v=o(9994),x=o(9618),b=o(3711),p=o(6760),E=o(7608),k=o(2478),A=o(6199),L=o(990),_=L.createShader,C=L.createContourShader,M=L.createPickShader,g=L.createPickContourShader,P=4*10,T=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],F=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],q=[[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(){for(var Ce=0;Ce<3;++Ce){var me=q[Ce],Re=(Ce+1)%3,ce=(Ce+2)%3;me[Re+0]=1,me[ce+3]=1,me[Ce+6]=1}})();function V(Ce,me,Re,ce,Ge){this.position=Ce,this.index=me,this.uv=Re,this.level=ce,this.dataCoordinate=Ge}var H=256;function X(Ce,me,Re,ce,Ge,nt,ct,qt,rt,ot,Rt,kt,Ct,Yt,xr){this.gl=Ce,this.shape=me,this.bounds=Re,this.objectOffset=xr,this.intensityBounds=[],this._shader=ce,this._pickShader=Ge,this._coordinateBuffer=nt,this._vao=ct,this._colorMap=qt,this._contourShader=rt,this._contourPickShader=ot,this._contourBuffer=Rt,this._contourVAO=kt,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new V([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=Ct,this._dynamicVAO=Yt,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=[x(f.mallocFloat(1024),[0,0]),x(f.mallocFloat(1024),[0,0]),x(f.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 G=X.prototype;G.genColormap=function(Ce,me){var Re=!1,ce=v([h({colormap:Ce,nshades:H,format:\"rgba\"}).map(function(Ge,nt){var ct=me?N(nt/255,me):Ge[3];return ct<1&&(Re=!0),[Ge[0],Ge[1],Ge[2],255*ct]})]);return d.divseq(ce,255),this.hasAlphaScale=Re,ce},G.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},G.isOpaque=function(){return!this.isTransparent()},G.pickSlots=1,G.setPickBase=function(Ce){this.pickId=Ce};function N(Ce,me){if(!me||!me.length)return 1;for(var Re=0;Re<me.length;++Re){if(me.length<2)return 1;if(me[Re][0]===Ce)return me[Re][1];if(me[Re][0]>Ce&&Re>0){var ce=(me[Re][0]-Ce)/(me[Re][0]-me[Re-1][0]);return me[Re][1]*(1-ce)+ce*me[Re-1][1]}}return 1}var W=[0,0,0],re={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 ae(Ce,me){var Re,ce,Ge,nt=me.axes&&me.axes.lastCubeProps.axis||W,ct=me.showSurface,qt=me.showContour;for(Re=0;Re<3;++Re)for(ct=ct||me.surfaceProject[Re],ce=0;ce<3;++ce)qt=qt||me.contourProject[Re][ce];for(Re=0;Re<3;++Re){var rt=re.projections[Re];for(ce=0;ce<16;++ce)rt[ce]=0;for(ce=0;ce<4;++ce)rt[5*ce]=1;rt[5*Re]=0,rt[12+Re]=me.axesBounds[+(nt[Re]>0)][Re],p(rt,Ce.model,rt);var ot=re.clipBounds[Re];for(Ge=0;Ge<2;++Ge)for(ce=0;ce<3;++ce)ot[Ge][ce]=Ce.clipBounds[Ge][ce];ot[0][Re]=-1e8,ot[1][Re]=1e8}return re.showSurface=ct,re.showContour=qt,re}var _e={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},Me=T.slice(),ke=[1,0,0,0,1,0,0,0,1];function ge(Ce,me){Ce=Ce||{};var Re=this.gl;Re.disable(Re.CULL_FACE),this._colorMap.bind(0);var ce=_e;ce.model=Ce.model||T,ce.view=Ce.view||T,ce.projection=Ce.projection||T,ce.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],ce.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],ce.objectOffset=this.objectOffset,ce.contourColor=this.contourColor[0],ce.inverseModel=E(ce.inverseModel,ce.model);for(var Ge=0;Ge<2;++Ge)for(var nt=ce.clipBounds[Ge],ct=0;ct<3;++ct)nt[ct]=Math.min(Math.max(this.clipBounds[Ge][ct],-1e8),1e8);ce.kambient=this.ambientLight,ce.kdiffuse=this.diffuseLight,ce.kspecular=this.specularLight,ce.roughness=this.roughness,ce.fresnel=this.fresnel,ce.opacity=this.opacity,ce.height=0,ce.permutation=ke,ce.vertexColor=this.vertexColor;var qt=Me;for(p(qt,ce.view,ce.model),p(qt,ce.projection,qt),E(qt,qt),Ge=0;Ge<3;++Ge)ce.eyePosition[Ge]=qt[12+Ge]/qt[15];var rt=qt[15];for(Ge=0;Ge<3;++Ge)rt+=this.lightPosition[Ge]*qt[4*Ge+3];for(Ge=0;Ge<3;++Ge){var ot=qt[12+Ge];for(ct=0;ct<3;++ct)ot+=qt[4*ct+Ge]*this.lightPosition[ct];ce.lightPosition[Ge]=ot/rt}var Rt=ae(ce,this);if(Rt.showSurface){for(this._shader.bind(),this._shader.uniforms=ce,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(Re.TRIANGLES,this._vertexCount),Ge=0;Ge<3;++Ge)!this.surfaceProject[Ge]||!this.vertexCount||(this._shader.uniforms.model=Rt.projections[Ge],this._shader.uniforms.clipBounds=Rt.clipBounds[Ge],this._vao.draw(Re.TRIANGLES,this._vertexCount));this._vao.unbind()}if(Rt.showContour){var kt=this._contourShader;ce.kambient=1,ce.kdiffuse=0,ce.kspecular=0,ce.opacity=1,kt.bind(),kt.uniforms=ce;var Ct=this._contourVAO;for(Ct.bind(),Ge=0;Ge<3;++Ge)for(kt.uniforms.permutation=q[Ge],Re.lineWidth(this.contourWidth[Ge]*this.pixelRatio),ct=0;ct<this.contourLevels[Ge].length;++ct)ct===this.highlightLevel[Ge]?(kt.uniforms.contourColor=this.highlightColor[Ge],kt.uniforms.contourTint=this.highlightTint[Ge]):(ct===0||ct-1===this.highlightLevel[Ge])&&(kt.uniforms.contourColor=this.contourColor[Ge],kt.uniforms.contourTint=this.contourTint[Ge]),this._contourCounts[Ge][ct]&&(kt.uniforms.height=this.contourLevels[Ge][ct],Ct.draw(Re.LINES,this._contourCounts[Ge][ct],this._contourOffsets[Ge][ct]));for(Ge=0;Ge<3;++Ge)for(kt.uniforms.model=Rt.projections[Ge],kt.uniforms.clipBounds=Rt.clipBounds[Ge],ct=0;ct<3;++ct)if(this.contourProject[Ge][ct]){kt.uniforms.permutation=q[ct],Re.lineWidth(this.contourWidth[ct]*this.pixelRatio);for(var Yt=0;Yt<this.contourLevels[ct].length;++Yt)Yt===this.highlightLevel[ct]?(kt.uniforms.contourColor=this.highlightColor[ct],kt.uniforms.contourTint=this.highlightTint[ct]):(Yt===0||Yt-1===this.highlightLevel[ct])&&(kt.uniforms.contourColor=this.contourColor[ct],kt.uniforms.contourTint=this.contourTint[ct]),this._contourCounts[ct][Yt]&&(kt.uniforms.height=this.contourLevels[ct][Yt],Ct.draw(Re.LINES,this._contourCounts[ct][Yt],this._contourOffsets[ct][Yt]))}for(Ct.unbind(),Ct=this._dynamicVAO,Ct.bind(),Ge=0;Ge<3;++Ge)if(this._dynamicCounts[Ge]!==0)for(kt.uniforms.model=ce.model,kt.uniforms.clipBounds=ce.clipBounds,kt.uniforms.permutation=q[Ge],Re.lineWidth(this.dynamicWidth[Ge]*this.pixelRatio),kt.uniforms.contourColor=this.dynamicColor[Ge],kt.uniforms.contourTint=this.dynamicTint[Ge],kt.uniforms.height=this.dynamicLevel[Ge],Ct.draw(Re.LINES,this._dynamicCounts[Ge],this._dynamicOffsets[Ge]),ct=0;ct<3;++ct)this.contourProject[ct][Ge]&&(kt.uniforms.model=Rt.projections[ct],kt.uniforms.clipBounds=Rt.clipBounds[ct],Ct.draw(Re.LINES,this._dynamicCounts[Ge],this._dynamicOffsets[Ge]));Ct.unbind()}}G.draw=function(Ce){return ge.call(this,Ce,!1)},G.drawTransparent=function(Ce){return ge.call(this,Ce,!0)};var ie={model:T,view:T,projection:T,inverseModel:T,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,objectOffset:[0,0,0],permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};G.drawPick=function(Ce){Ce=Ce||{};var me=this.gl;me.disable(me.CULL_FACE);var Re=ie;Re.model=Ce.model||T,Re.view=Ce.view||T,Re.projection=Ce.projection||T,Re.shape=this._field[2].shape,Re.pickId=this.pickId/255,Re.lowerBound=this.bounds[0],Re.upperBound=this.bounds[1],Re.objectOffset=this.objectOffset,Re.permutation=ke;for(var ce=0;ce<2;++ce)for(var Ge=Re.clipBounds[ce],nt=0;nt<3;++nt)Ge[nt]=Math.min(Math.max(this.clipBounds[ce][nt],-1e8),1e8);var ct=ae(Re,this);if(ct.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=Re,this._vao.bind(),this._vao.draw(me.TRIANGLES,this._vertexCount),ce=0;ce<3;++ce)this.surfaceProject[ce]&&(this._pickShader.uniforms.model=ct.projections[ce],this._pickShader.uniforms.clipBounds=ct.clipBounds[ce],this._vao.draw(me.TRIANGLES,this._vertexCount));this._vao.unbind()}if(ct.showContour){var qt=this._contourPickShader;qt.bind(),qt.uniforms=Re;var rt=this._contourVAO;for(rt.bind(),nt=0;nt<3;++nt)for(me.lineWidth(this.contourWidth[nt]*this.pixelRatio),qt.uniforms.permutation=q[nt],ce=0;ce<this.contourLevels[nt].length;++ce)this._contourCounts[nt][ce]&&(qt.uniforms.height=this.contourLevels[nt][ce],rt.draw(me.LINES,this._contourCounts[nt][ce],this._contourOffsets[nt][ce]));for(ce=0;ce<3;++ce)for(qt.uniforms.model=ct.projections[ce],qt.uniforms.clipBounds=ct.clipBounds[ce],nt=0;nt<3;++nt)if(this.contourProject[ce][nt]){qt.uniforms.permutation=q[nt],me.lineWidth(this.contourWidth[nt]*this.pixelRatio);for(var ot=0;ot<this.contourLevels[nt].length;++ot)this._contourCounts[nt][ot]&&(qt.uniforms.height=this.contourLevels[nt][ot],rt.draw(me.LINES,this._contourCounts[nt][ot],this._contourOffsets[nt][ot]))}rt.unbind()}},G.pick=function(Ce){if(!Ce||Ce.id!==this.pickId)return null;var me=this._field[2].shape,Re=this._pickResult,ce=me[0]*(Ce.value[0]+(Ce.value[2]>>4)/16)/255,Ge=Math.floor(ce),nt=ce-Ge,ct=me[1]*(Ce.value[1]+(Ce.value[2]&15)/16)/255,qt=Math.floor(ct),rt=ct-qt;Ge+=1,qt+=1;var ot=Re.position;ot[0]=ot[1]=ot[2]=0;for(var Rt=0;Rt<2;++Rt)for(var kt=Rt?nt:1-nt,Ct=0;Ct<2;++Ct)for(var Yt=Ct?rt:1-rt,xr=Ge+Rt,er=qt+Ct,Ke=kt*Yt,xt=0;xt<3;++xt)ot[xt]+=this._field[xt].get(xr,er)*Ke;for(var bt=this._pickResult.level,Lt=0;Lt<3;++Lt)if(bt[Lt]=k.le(this.contourLevels[Lt],ot[Lt]),bt[Lt]<0)this.contourLevels[Lt].length>0&&(bt[Lt]=0);else if(bt[Lt]<this.contourLevels[Lt].length-1){var St=this.contourLevels[Lt][bt[Lt]],Et=this.contourLevels[Lt][bt[Lt]+1];Math.abs(St-ot[Lt])>Math.abs(Et-ot[Lt])&&(bt[Lt]+=1)}for(Re.index[0]=nt<.5?Ge:Ge+1,Re.index[1]=rt<.5?qt:qt+1,Re.uv[0]=ce/me[0],Re.uv[1]=ct/me[1],xt=0;xt<3;++xt)Re.dataCoordinate[xt]=this._field[xt].get(Re.index[0],Re.index[1]);return Re},G.padField=function(Ce,me){var Re=me.shape.slice(),ce=Ce.shape.slice();d.assign(Ce.lo(1,1).hi(Re[0],Re[1]),me),d.assign(Ce.lo(1).hi(Re[0],1),me.hi(Re[0],1)),d.assign(Ce.lo(1,ce[1]-1).hi(Re[0],1),me.lo(0,Re[1]-1).hi(Re[0],1)),d.assign(Ce.lo(0,1).hi(1,Re[1]),me.hi(1)),d.assign(Ce.lo(ce[0]-1,1).hi(1,Re[1]),me.lo(Re[0]-1)),Ce.set(0,0,me.get(0,0)),Ce.set(0,ce[1]-1,me.get(0,Re[1]-1)),Ce.set(ce[0]-1,0,me.get(Re[0]-1,0)),Ce.set(ce[0]-1,ce[1]-1,me.get(Re[0]-1,Re[1]-1))};function Te(Ce,me){return Array.isArray(Ce)?[me(Ce[0]),me(Ce[1]),me(Ce[2])]:[me(Ce),me(Ce),me(Ce)]}function Ee(Ce){return Array.isArray(Ce)?Ce.length===3?[Ce[0],Ce[1],Ce[2],1]:[Ce[0],Ce[1],Ce[2],Ce[3]]:[0,0,0,1]}function Ae(Ce){if(Array.isArray(Ce)){if(Array.isArray(Ce))return[Ee(Ce[0]),Ee(Ce[1]),Ee(Ce[2])];var me=Ee(Ce);return[me.slice(),me.slice(),me.slice()]}}G.update=function(Ce){Ce=Ce||{},this.objectOffset=Ce.objectOffset||this.objectOffset,this.dirty=!0,\"contourWidth\"in Ce&&(this.contourWidth=Te(Ce.contourWidth,Number)),\"showContour\"in Ce&&(this.showContour=Te(Ce.showContour,Boolean)),\"showSurface\"in Ce&&(this.showSurface=!!Ce.showSurface),\"contourTint\"in Ce&&(this.contourTint=Te(Ce.contourTint,Boolean)),\"contourColor\"in Ce&&(this.contourColor=Ae(Ce.contourColor)),\"contourProject\"in Ce&&(this.contourProject=Te(Ce.contourProject,function(Gi){return Te(Gi,Boolean)})),\"surfaceProject\"in Ce&&(this.surfaceProject=Ce.surfaceProject),\"dynamicColor\"in Ce&&(this.dynamicColor=Ae(Ce.dynamicColor)),\"dynamicTint\"in Ce&&(this.dynamicTint=Te(Ce.dynamicTint,Number)),\"dynamicWidth\"in Ce&&(this.dynamicWidth=Te(Ce.dynamicWidth,Number)),\"opacity\"in Ce&&(this.opacity=Ce.opacity),\"opacityscale\"in Ce&&(this.opacityscale=Ce.opacityscale),\"colorBounds\"in Ce&&(this.colorBounds=Ce.colorBounds),\"vertexColor\"in Ce&&(this.vertexColor=Ce.vertexColor?1:0),\"colormap\"in Ce&&this._colorMap.setPixels(this.genColormap(Ce.colormap,this.opacityscale));var me=Ce.field||Ce.coords&&Ce.coords[2]||null,Re=!1;if(me||(this._field[2].shape[0]||this._field[2].shape[2]?me=this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):me=this._field[2].hi(0,0)),\"field\"in Ce||\"coords\"in Ce){var ce=(me.shape[0]+2)*(me.shape[1]+2);ce>this._field[2].data.length&&(f.freeFloat(this._field[2].data),this._field[2].data=f.mallocFloat(s.nextPow2(ce))),this._field[2]=x(this._field[2].data,[me.shape[0]+2,me.shape[1]+2]),this.padField(this._field[2],me),this.shape=me.shape.slice();for(var Ge=this.shape,nt=0;nt<2;++nt)this._field[2].size>this._field[nt].data.length&&(f.freeFloat(this._field[nt].data),this._field[nt].data=f.mallocFloat(this._field[2].size)),this._field[nt]=x(this._field[nt].data,[Ge[0]+2,Ge[1]+2]);if(Ce.coords){var ct=Ce.coords;if(!Array.isArray(ct)||ct.length!==3)throw new Error(\"gl-surface: invalid coordinates for x/y\");for(nt=0;nt<2;++nt){var qt=ct[nt];for(Ct=0;Ct<2;++Ct)if(qt.shape[Ct]!==Ge[Ct])throw new Error(\"gl-surface: coords have incorrect shape\");this.padField(this._field[nt],qt)}}else if(Ce.ticks){var rt=Ce.ticks;if(!Array.isArray(rt)||rt.length!==2)throw new Error(\"gl-surface: invalid ticks\");for(nt=0;nt<2;++nt){var ot=rt[nt];if((Array.isArray(ot)||ot.length)&&(ot=x(ot)),ot.shape[0]!==Ge[nt])throw new Error(\"gl-surface: invalid tick length\");var Rt=x(ot.data,Ge);Rt.stride[nt]=ot.stride[0],Rt.stride[nt^1]=0,this.padField(this._field[nt],Rt)}}else{for(nt=0;nt<2;++nt){var kt=[0,0];kt[nt]=1,this._field[nt]=x(this._field[nt].data,[Ge[0]+2,Ge[1]+2],kt,0)}this._field[0].set(0,0,0);for(var Ct=0;Ct<Ge[0];++Ct)this._field[0].set(Ct+1,0,Ct);for(this._field[0].set(Ge[0]+1,0,Ge[0]-1),this._field[1].set(0,0,0),Ct=0;Ct<Ge[1];++Ct)this._field[1].set(0,Ct+1,Ct);this._field[1].set(0,Ge[1]+1,Ge[1]-1)}var Yt=this._field,xr=x(f.mallocFloat(Yt[2].size*3*2),[3,Ge[0]+2,Ge[1]+2,2]);for(nt=0;nt<3;++nt)A(xr.pick(nt),Yt[nt],\"mirror\");var er=x(f.mallocFloat(Yt[2].size*3),[Ge[0]+2,Ge[1]+2,3]);for(nt=0;nt<Ge[0]+2;++nt)for(Ct=0;Ct<Ge[1]+2;++Ct){var Ke=xr.get(0,nt,Ct,0),xt=xr.get(0,nt,Ct,1),bt=xr.get(1,nt,Ct,0),Lt=xr.get(1,nt,Ct,1),St=xr.get(2,nt,Ct,0),Et=xr.get(2,nt,Ct,1),dt=bt*Et-Lt*St,Ht=St*xt-Et*Ke,$t=Ke*Lt-xt*bt,fr=Math.sqrt(dt*dt+Ht*Ht+$t*$t);fr<1e-8?(fr=Math.max(Math.abs(dt),Math.abs(Ht),Math.abs($t)),fr<1e-8?($t=1,Ht=dt=0,fr=1):fr=1/fr):fr=1/Math.sqrt(fr),er.set(nt,Ct,0,dt*fr),er.set(nt,Ct,1,Ht*fr),er.set(nt,Ct,2,$t*fr)}f.free(xr.data);var _r=[1/0,1/0,1/0],Br=[-1/0,-1/0,-1/0],Or=1/0,Nr=-1/0,ut=(Ge[0]-1)*(Ge[1]-1)*6,Ne=f.mallocFloat(s.nextPow2(10*ut)),Ye=0,Ve=0;for(nt=0;nt<Ge[0]-1;++nt)e:for(Ct=0;Ct<Ge[1]-1;++Ct){for(var Xe=0;Xe<2;++Xe)for(var ht=0;ht<2;++ht)for(var Le=0;Le<3;++Le){var xe=this._field[Le].get(1+nt+Xe,1+Ct+ht);if(isNaN(xe)||!isFinite(xe))continue e}for(Le=0;Le<6;++Le){var Se=nt+F[Le][0],lt=Ct+F[Le][1],Gt=this._field[0].get(Se+1,lt+1),Vt=this._field[1].get(Se+1,lt+1);xe=this._field[2].get(Se+1,lt+1),dt=er.get(Se+1,lt+1,0),Ht=er.get(Se+1,lt+1,1),$t=er.get(Se+1,lt+1,2),Ce.intensity&&(ar=Ce.intensity.get(Se,lt));var ar=Ce.intensity?Ce.intensity.get(Se,lt):xe+this.objectOffset[2];Ne[Ye++]=Se,Ne[Ye++]=lt,Ne[Ye++]=Gt,Ne[Ye++]=Vt,Ne[Ye++]=xe,Ne[Ye++]=0,Ne[Ye++]=ar,Ne[Ye++]=dt,Ne[Ye++]=Ht,Ne[Ye++]=$t,_r[0]=Math.min(_r[0],Gt+this.objectOffset[0]),_r[1]=Math.min(_r[1],Vt+this.objectOffset[1]),_r[2]=Math.min(_r[2],xe+this.objectOffset[2]),Or=Math.min(Or,ar),Br[0]=Math.max(Br[0],Gt+this.objectOffset[0]),Br[1]=Math.max(Br[1],Vt+this.objectOffset[1]),Br[2]=Math.max(Br[2],xe+this.objectOffset[2]),Nr=Math.max(Nr,ar),Ve+=1}}for(Ce.intensityBounds&&(Or=+Ce.intensityBounds[0],Nr=+Ce.intensityBounds[1]),nt=6;nt<Ye;nt+=10)Ne[nt]=(Ne[nt]-Or)/(Nr-Or);this._vertexCount=Ve,this._coordinateBuffer.update(Ne.subarray(0,Ye)),f.freeFloat(Ne),f.free(er.data),this.bounds=[_r,Br],this.intensity=Ce.intensity||this._field[2],(this.intensityBounds[0]!==Or||this.intensityBounds[1]!==Nr)&&(Re=!0),this.intensityBounds=[Or,Nr]}if(\"levels\"in Ce){var Qr=Ce.levels;for(Array.isArray(Qr[0])?Qr=Qr.slice():Qr=[[],[],Qr],nt=0;nt<3;++nt)Qr[nt]=Qr[nt].slice(),Qr[nt].sort(function(Gi,Ki){return Gi-Ki});for(nt=0;nt<3;++nt)for(Ct=0;Ct<Qr[nt].length;++Ct)Qr[nt][Ct]-=this.objectOffset[nt];e:for(nt=0;nt<3;++nt){if(Qr[nt].length!==this.contourLevels[nt].length){Re=!0;break}for(Ct=0;Ct<Qr[nt].length;++Ct)if(Qr[nt][Ct]!==this.contourLevels[nt][Ct]){Re=!0;break e}}this.contourLevels=Qr}if(Re){Yt=this._field,Ge=this.shape;for(var ai=[],jr=0;jr<3;++jr){var ri=this.contourLevels[jr],bi=[],nn=[],Wi=[0,0,0];for(nt=0;nt<ri.length;++nt){var Ni=b(this._field[jr],ri[nt]);bi.push(ai.length/5|0),Ve=0;e:for(Ct=0;Ct<Ni.cells.length;++Ct){var _n=Ni.cells[Ct];for(Le=0;Le<2;++Le){var $i=Ni.positions[_n[Le]],zn=$i[0],Wn=Math.floor(zn)|0,It=zn-Wn,ft=$i[1],jt=Math.floor(ft)|0,Zt=ft-jt,yr=!1;t:for(var Fr=0;Fr<3;++Fr){Wi[Fr]=0;var Zr=(jr+Fr+1)%3;for(Xe=0;Xe<2;++Xe){var Vr=Xe?It:1-It;for(Se=Math.min(Math.max(Wn+Xe,0),Ge[0])|0,ht=0;ht<2;++ht){var gi=ht?Zt:1-Zt;if(lt=Math.min(Math.max(jt+ht,0),Ge[1])|0,Fr<2?xe=this._field[Zr].get(Se,lt):xe=(this.intensity.get(Se,lt)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(xe)||isNaN(xe)){yr=!0;break t}var Si=Vr*gi;Wi[Fr]+=Si*xe}}}if(!yr)ai.push(Wi[0],Wi[1],$i[0],$i[1],Wi[2]),Ve+=1;else{if(Le>0){for(var Mi=0;Mi<5;++Mi)ai.pop();Ve-=1}continue e}}}nn.push(Ve)}this._contourOffsets[jr]=bi,this._contourCounts[jr]=nn}var Pi=f.mallocFloat(ai.length);for(nt=0;nt<ai.length;++nt)Pi[nt]=ai[nt];this._contourBuffer.update(Pi),f.freeFloat(Pi)}},G.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var Ce=0;Ce<3;++Ce)f.freeFloat(this._field[Ce].data)},G.highlight=function(Ce){var me;if(!Ce){this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],this.highlightLevel=[-1,-1,-1];return}for(me=0;me<3;++me)this.enableHighlight[me]?this.highlightLevel[me]=Ce.level[me]:this.highlightLevel[me]=-1;var Re;for(this.snapToData?Re=Ce.dataCoordinate:Re=Ce.position,me=0;me<3;++me)Re[me]-=this.objectOffset[me];if(!((!this.enableDynamic[0]||Re[0]===this.dynamicLevel[0])&&(!this.enableDynamic[1]||Re[1]===this.dynamicLevel[1])&&(!this.enableDynamic[2]||Re[2]===this.dynamicLevel[2]))){for(var ce=0,Ge=this.shape,nt=f.mallocFloat(12*Ge[0]*Ge[1]),ct=0;ct<3;++ct){if(!this.enableDynamic[ct]){this.dynamicLevel[ct]=NaN,this._dynamicCounts[ct]=0;continue}this.dynamicLevel[ct]=Re[ct];var qt=(ct+1)%3,rt=(ct+2)%3,ot=this._field[ct],Rt=this._field[qt],kt=this._field[rt],Ct=b(ot,Re[ct]),Yt=Ct.cells,xr=Ct.positions;for(this._dynamicOffsets[ct]=ce,me=0;me<Yt.length;++me)for(var er=Yt[me],Ke=0;Ke<2;++Ke){var xt=xr[er[Ke]],bt=+xt[0],Lt=bt|0,St=Math.min(Lt+1,Ge[0])|0,Et=bt-Lt,dt=1-Et,Ht=+xt[1],$t=Ht|0,fr=Math.min($t+1,Ge[1])|0,_r=Ht-$t,Br=1-_r,Or=dt*Br,Nr=dt*_r,ut=Et*Br,Ne=Et*_r,Ye=Or*Rt.get(Lt,$t)+Nr*Rt.get(Lt,fr)+ut*Rt.get(St,$t)+Ne*Rt.get(St,fr),Ve=Or*kt.get(Lt,$t)+Nr*kt.get(Lt,fr)+ut*kt.get(St,$t)+Ne*kt.get(St,fr);if(isNaN(Ye)||isNaN(Ve)){Ke&&(ce-=1);break}nt[2*ce+0]=Ye,nt[2*ce+1]=Ve,ce+=1}this._dynamicCounts[ct]=ce-this._dynamicOffsets[ct]}this._dynamicBuffer.update(nt.subarray(0,2*ce)),f.freeFloat(nt)}};function ze(Ce){var me=Ce.gl,Re=_(me),ce=M(me),Ge=C(me),nt=g(me),ct=l(me),qt=u(me,[{buffer:ct,size:4,stride:P,offset:0},{buffer:ct,size:3,stride:P,offset:16},{buffer:ct,size:3,stride:P,offset:28}]),rt=l(me),ot=u(me,[{buffer:rt,size:4,stride:20,offset:0},{buffer:rt,size:1,stride:20,offset:16}]),Rt=l(me),kt=u(me,[{buffer:Rt,size:2,type:me.FLOAT}]),Ct=c(me,1,H,me.RGBA,me.UNSIGNED_BYTE);Ct.minFilter=me.LINEAR,Ct.magFilter=me.LINEAR;var Yt=new X(me,[0,0],[[0,0,0],[0,0,0]],Re,ce,ct,qt,Ct,Ge,nt,rt,ot,Rt,kt,[0,0,0]),xr={levels:[[],[],[]]};for(var er in Ce)xr[er]=Ce[er];return xr.colormap=xr.colormap||\"jet\",Yt.update(xr),Yt}},7766:function(i,a,o){\"use strict\";var s=o(9618),l=o(5298),u=o(1888);i.exports=g;var c=null,f=null,h=null;function d(P){c=[P.LINEAR,P.NEAREST_MIPMAP_LINEAR,P.LINEAR_MIPMAP_NEAREST,P.LINEAR_MIPMAP_NEAREST],f=[P.NEAREST,P.LINEAR,P.NEAREST_MIPMAP_NEAREST,P.NEAREST_MIPMAP_LINEAR,P.LINEAR_MIPMAP_NEAREST,P.LINEAR_MIPMAP_LINEAR],h=[P.REPEAT,P.CLAMP_TO_EDGE,P.MIRRORED_REPEAT]}function v(P){return typeof HTMLCanvasElement!=\"undefined\"&&P instanceof HTMLCanvasElement||typeof HTMLImageElement!=\"undefined\"&&P instanceof HTMLImageElement||typeof HTMLVideoElement!=\"undefined\"&&P instanceof HTMLVideoElement||typeof ImageData!=\"undefined\"&&P instanceof ImageData}var x=function(P,T){l.muls(P,T,255)};function b(P,T,F){var q=P.gl,V=q.getParameter(q.MAX_TEXTURE_SIZE);if(T<0||T>V||F<0||F>V)throw new Error(\"gl-texture2d: Invalid texture size\");return P._shape=[T,F],P.bind(),q.texImage2D(q.TEXTURE_2D,0,P.format,T,F,0,P.format,P.type,null),P._mipLevels=[0],P}function p(P,T,F,q,V,H){this.gl=P,this.handle=T,this.format=V,this.type=H,this._shape=[F,q],this._mipLevels=[0],this._magFilter=P.NEAREST,this._minFilter=P.NEAREST,this._wrapS=P.CLAMP_TO_EDGE,this._wrapT=P.CLAMP_TO_EDGE,this._anisoSamples=1;var X=this,G=[this._wrapS,this._wrapT];Object.defineProperties(G,[{get:function(){return X._wrapS},set:function(W){return X.wrapS=W}},{get:function(){return X._wrapT},set:function(W){return X.wrapT=W}}]),this._wrapVector=G;var N=[this._shape[0],this._shape[1]];Object.defineProperties(N,[{get:function(){return X._shape[0]},set:function(W){return X.width=W}},{get:function(){return X._shape[1]},set:function(W){return X.height=W}}]),this._shapeVector=N}var E=p.prototype;Object.defineProperties(E,{minFilter:{get:function(){return this._minFilter},set:function(P){this.bind();var T=this.gl;if(this.type===T.FLOAT&&c.indexOf(P)>=0&&(T.getExtension(\"OES_texture_float_linear\")||(P=T.NEAREST)),f.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+P);return T.texParameteri(T.TEXTURE_2D,T.TEXTURE_MIN_FILTER,P),this._minFilter=P}},magFilter:{get:function(){return this._magFilter},set:function(P){this.bind();var T=this.gl;if(this.type===T.FLOAT&&c.indexOf(P)>=0&&(T.getExtension(\"OES_texture_float_linear\")||(P=T.NEAREST)),f.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+P);return T.texParameteri(T.TEXTURE_2D,T.TEXTURE_MAG_FILTER,P),this._magFilter=P}},mipSamples:{get:function(){return this._anisoSamples},set:function(P){var T=this._anisoSamples;if(this._anisoSamples=Math.max(P,1)|0,T!==this._anisoSamples){var F=this.gl.getExtension(\"EXT_texture_filter_anisotropic\");F&&this.gl.texParameterf(this.gl.TEXTURE_2D,F.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(P){if(this.bind(),h.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+P);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,P),this._wrapS=P}},wrapT:{get:function(){return this._wrapT},set:function(P){if(this.bind(),h.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+P);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,P),this._wrapT=P}},wrap:{get:function(){return this._wrapVector},set:function(P){if(Array.isArray(P)||(P=[P,P]),P.length!==2)throw new Error(\"gl-texture2d: Must specify wrap mode for rows and columns\");for(var T=0;T<2;++T)if(h.indexOf(P[T])<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+P);this._wrapS=P[0],this._wrapT=P[1];var F=this.gl;return this.bind(),F.texParameteri(F.TEXTURE_2D,F.TEXTURE_WRAP_S,this._wrapS),F.texParameteri(F.TEXTURE_2D,F.TEXTURE_WRAP_T,this._wrapT),P}},shape:{get:function(){return this._shapeVector},set:function(P){if(!Array.isArray(P))P=[P|0,P|0];else if(P.length!==2)throw new Error(\"gl-texture2d: Invalid texture shape\");return b(this,P[0]|0,P[1]|0),[P[0]|0,P[1]|0]}},width:{get:function(){return this._shape[0]},set:function(P){return P=P|0,b(this,P,this._shape[1]),P}},height:{get:function(){return this._shape[1]},set:function(P){return P=P|0,b(this,this._shape[0],P),P}}}),E.bind=function(P){var T=this.gl;return P!==void 0&&T.activeTexture(T.TEXTURE0+(P|0)),T.bindTexture(T.TEXTURE_2D,this.handle),P!==void 0?P|0:T.getParameter(T.ACTIVE_TEXTURE)-T.TEXTURE0},E.dispose=function(){this.gl.deleteTexture(this.handle)},E.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var P=Math.min(this._shape[0],this._shape[1]),T=0;P>0;++T,P>>>=1)this._mipLevels.indexOf(T)<0&&this._mipLevels.push(T)},E.setPixels=function(P,T,F,q){var V=this.gl;this.bind(),Array.isArray(T)?(q=F,F=T[1]|0,T=T[0]|0):(T=T||0,F=F||0),q=q||0;var H=v(P)?P:P.raw;if(H){var X=this._mipLevels.indexOf(q)<0;X?(V.texImage2D(V.TEXTURE_2D,0,this.format,this.format,this.type,H),this._mipLevels.push(q)):V.texSubImage2D(V.TEXTURE_2D,q,T,F,this.format,this.type,H)}else if(P.shape&&P.stride&&P.data){if(P.shape.length<2||T+P.shape[1]>this._shape[1]>>>q||F+P.shape[0]>this._shape[0]>>>q||T<0||F<0)throw new Error(\"gl-texture2d: Texture dimensions are out of bounds\");A(V,T,F,q,this.format,this.type,this._mipLevels,P)}else throw new Error(\"gl-texture2d: Unsupported data type\")};function k(P,T){return P.length===3?T[2]===1&&T[1]===P[0]*P[2]&&T[0]===P[2]:T[0]===1&&T[1]===P[0]}function A(P,T,F,q,V,H,X,G){var N=G.dtype,W=G.shape.slice();if(W.length<2||W.length>3)throw new Error(\"gl-texture2d: Invalid ndarray, must be 2d or 3d\");var re=0,ae=0,_e=k(W,G.stride.slice());N===\"float32\"?re=P.FLOAT:N===\"float64\"?(re=P.FLOAT,_e=!1,N=\"float32\"):N===\"uint8\"?re=P.UNSIGNED_BYTE:(re=P.UNSIGNED_BYTE,_e=!1,N=\"uint8\");var Me=1;if(W.length===2)ae=P.LUMINANCE,W=[W[0],W[1],1],G=s(G.data,W,[G.stride[0],G.stride[1],1],G.offset);else if(W.length===3){if(W[2]===1)ae=P.ALPHA;else if(W[2]===2)ae=P.LUMINANCE_ALPHA;else if(W[2]===3)ae=P.RGB;else if(W[2]===4)ae=P.RGBA;else throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");Me=W[2]}else throw new Error(\"gl-texture2d: Invalid shape for texture\");if((ae===P.LUMINANCE||ae===P.ALPHA)&&(V===P.LUMINANCE||V===P.ALPHA)&&(ae=V),ae!==V)throw new Error(\"gl-texture2d: Incompatible texture format for setPixels\");var ke=G.size,ge=X.indexOf(q)<0;if(ge&&X.push(q),re===H&&_e)G.offset===0&&G.data.length===ke?ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,G.data):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,G.data):ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,G.data.subarray(G.offset,G.offset+ke)):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,G.data.subarray(G.offset,G.offset+ke));else{var ie;H===P.FLOAT?ie=u.mallocFloat32(ke):ie=u.mallocUint8(ke);var Te=s(ie,W,[W[2],W[2]*W[0],1]);re===P.FLOAT&&H===P.UNSIGNED_BYTE?x(Te,G):l.assign(Te,G),ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,ie.subarray(0,ke)):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,ie.subarray(0,ke)),H===P.FLOAT?u.freeFloat32(ie):u.freeUint8(ie)}}function L(P){var T=P.createTexture();return P.bindTexture(P.TEXTURE_2D,T),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_MIN_FILTER,P.NEAREST),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_MAG_FILTER,P.NEAREST),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_WRAP_S,P.CLAMP_TO_EDGE),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_WRAP_T,P.CLAMP_TO_EDGE),T}function _(P,T,F,q,V){var H=P.getParameter(P.MAX_TEXTURE_SIZE);if(T<0||T>H||F<0||F>H)throw new Error(\"gl-texture2d: Invalid texture shape\");if(V===P.FLOAT&&!P.getExtension(\"OES_texture_float\"))throw new Error(\"gl-texture2d: Floating point textures not supported on this platform\");var X=L(P);return P.texImage2D(P.TEXTURE_2D,0,q,T,F,0,q,V,null),new p(P,X,T,F,q,V)}function C(P,T,F,q,V,H){var X=L(P);return P.texImage2D(P.TEXTURE_2D,0,V,V,H,T),new p(P,X,F,q,V,H)}function M(P,T){var F=T.dtype,q=T.shape.slice(),V=P.getParameter(P.MAX_TEXTURE_SIZE);if(q[0]<0||q[0]>V||q[1]<0||q[1]>V)throw new Error(\"gl-texture2d: Invalid texture size\");var H=k(q,T.stride.slice()),X=0;F===\"float32\"?X=P.FLOAT:F===\"float64\"?(X=P.FLOAT,H=!1,F=\"float32\"):F===\"uint8\"?X=P.UNSIGNED_BYTE:(X=P.UNSIGNED_BYTE,H=!1,F=\"uint8\");var G=0;if(q.length===2)G=P.LUMINANCE,q=[q[0],q[1],1],T=s(T.data,q,[T.stride[0],T.stride[1],1],T.offset);else if(q.length===3)if(q[2]===1)G=P.ALPHA;else if(q[2]===2)G=P.LUMINANCE_ALPHA;else if(q[2]===3)G=P.RGB;else if(q[2]===4)G=P.RGBA;else throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");else throw new Error(\"gl-texture2d: Invalid shape for texture\");X===P.FLOAT&&!P.getExtension(\"OES_texture_float\")&&(X=P.UNSIGNED_BYTE,H=!1);var N,W,re=T.size;if(H)T.offset===0&&T.data.length===re?N=T.data:N=T.data.subarray(T.offset,T.offset+re);else{var ae=[q[2],q[2]*q[0],1];W=u.malloc(re,F);var _e=s(W,q,ae,0);(F===\"float32\"||F===\"float64\")&&X===P.UNSIGNED_BYTE?x(_e,T):l.assign(_e,T),N=W.subarray(0,re)}var Me=L(P);return P.texImage2D(P.TEXTURE_2D,0,G,q[0],q[1],0,G,X,N),H||u.free(W),new p(P,Me,q[0],q[1],G,X)}function g(P){if(arguments.length<=1)throw new Error(\"gl-texture2d: Missing arguments for texture2d constructor\");if(c||d(P),typeof arguments[1]==\"number\")return _(P,arguments[1],arguments[2],arguments[3]||P.RGBA,arguments[4]||P.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return _(P,arguments[1][0]|0,arguments[1][1]|0,arguments[2]||P.RGBA,arguments[3]||P.UNSIGNED_BYTE);if(typeof arguments[1]==\"object\"){var T=arguments[1],F=v(T)?T:T.raw;if(F)return C(P,F,T.width|0,T.height|0,arguments[2]||P.RGBA,arguments[3]||P.UNSIGNED_BYTE);if(T.shape&&T.data&&T.stride)return M(P,T)}throw new Error(\"gl-texture2d: Invalid arguments for texture2d constructor\")}},1433:function(i){\"use strict\";function a(o,s,l){s?s.bind():o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,null);var u=o.getParameter(o.MAX_VERTEX_ATTRIBS)|0;if(l){if(l.length>u)throw new Error(\"gl-vao: Too many vertex attributes\");for(var c=0;c<l.length;++c){var f=l[c];if(f.buffer){var h=f.buffer,d=f.size||4,v=f.type||o.FLOAT,x=!!f.normalized,b=f.stride||0,p=f.offset||0;h.bind(),o.enableVertexAttribArray(c),o.vertexAttribPointer(c,d,v,x,b,p)}else{if(typeof f==\"number\")o.vertexAttrib1f(c,f);else if(f.length===1)o.vertexAttrib1f(c,f[0]);else if(f.length===2)o.vertexAttrib2f(c,f[0],f[1]);else if(f.length===3)o.vertexAttrib3f(c,f[0],f[1],f[2]);else if(f.length===4)o.vertexAttrib4f(c,f[0],f[1],f[2],f[3]);else throw new Error(\"gl-vao: Invalid vertex attribute\");o.disableVertexAttribArray(c)}}for(;c<u;++c)o.disableVertexAttribArray(c)}else{o.bindBuffer(o.ARRAY_BUFFER,null);for(var c=0;c<u;++c)o.disableVertexAttribArray(c)}}i.exports=a},870:function(i,a,o){\"use strict\";var s=o(1433);function l(c){this.gl=c,this._elements=null,this._attributes=null,this._elementsType=c.UNSIGNED_SHORT}l.prototype.bind=function(){s(this.gl,this._elements,this._attributes)},l.prototype.update=function(c,f,h){this._elements=f,this._attributes=c,this._elementsType=h||this.gl.UNSIGNED_SHORT},l.prototype.dispose=function(){},l.prototype.unbind=function(){},l.prototype.draw=function(c,f,h){h=h||0;var d=this.gl;this._elements?d.drawElements(c,f,this._elementsType,h):d.drawArrays(c,h,f)};function u(c){return new l(c)}i.exports=u},7518:function(i,a,o){\"use strict\";var s=o(1433);function l(f,h,d,v,x,b){this.location=f,this.dimension=h,this.a=d,this.b=v,this.c=x,this.d=b}l.prototype.bind=function(f){switch(this.dimension){case 1:f.vertexAttrib1f(this.location,this.a);break;case 2:f.vertexAttrib2f(this.location,this.a,this.b);break;case 3:f.vertexAttrib3f(this.location,this.a,this.b,this.c);break;case 4:f.vertexAttrib4f(this.location,this.a,this.b,this.c,this.d);break}};function u(f,h,d){this.gl=f,this._ext=h,this.handle=d,this._attribs=[],this._useElements=!1,this._elementsType=f.UNSIGNED_SHORT}u.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var f=0;f<this._attribs.length;++f)this._attribs[f].bind(this.gl)},u.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},u.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},u.prototype.update=function(f,h,d){if(this.bind(),s(this.gl,h,f),this.unbind(),this._attribs.length=0,f)for(var v=0;v<f.length;++v){var x=f[v];typeof x==\"number\"?this._attribs.push(new l(v,1,x)):Array.isArray(x)&&this._attribs.push(new l(v,x.length,x[0],x[1],x[2],x[3]))}this._useElements=!!h,this._elementsType=d||this.gl.UNSIGNED_SHORT},u.prototype.draw=function(f,h,d){d=d||0;var v=this.gl;this._useElements?v.drawElements(f,h,this._elementsType,d):v.drawArrays(f,d,h)};function c(f,h){return new u(f,h,h.createVertexArrayOES())}i.exports=c},8116:function(i,a,o){\"use strict\";var s=o(7518),l=o(870);function u(f){this.bindVertexArrayOES=f.bindVertexArray.bind(f),this.createVertexArrayOES=f.createVertexArray.bind(f),this.deleteVertexArrayOES=f.deleteVertexArray.bind(f)}function c(f,h,d,v){var x=f.createVertexArray?new u(f):f.getExtension(\"OES_vertex_array_object\"),b;return x?b=s(f,x):b=l(f),b.update(h,d,v),b}i.exports=c},5632:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]+l[0],o[1]=s[1]+l[1],o[2]=s[2]+l[2],o}},8192:function(i,a,o){i.exports=c;var s=o(2825),l=o(3536),u=o(244);function c(f,h){var d=s(f[0],f[1],f[2]),v=s(h[0],h[1],h[2]);l(d,d),l(v,v);var x=u(d,v);return x>1?0:Math.acos(x)}},9226:function(i){i.exports=a;function a(o,s){return o[0]=Math.ceil(s[0]),o[1]=Math.ceil(s[1]),o[2]=Math.ceil(s[2]),o}},3126:function(i){i.exports=a;function a(o){var s=new Float32Array(3);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s}},3990:function(i){i.exports=a;function a(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o}},1091:function(i){i.exports=a;function a(){var o=new Float32Array(3);return o[0]=0,o[1]=0,o[2]=0,o}},5911:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2];return o[0]=c*v-f*d,o[1]=f*h-u*v,o[2]=u*d-c*h,o}},5455:function(i,a,o){i.exports=o(7056)},7056:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2];return Math.sqrt(l*l+u*u+c*c)}},4008:function(i,a,o){i.exports=o(6690)},6690:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o}},244:function(i){i.exports=a;function a(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]}},2613:function(i){i.exports=1e-6},9922:function(i,a,o){i.exports=l;var s=o(2613);function l(u,c){var f=u[0],h=u[1],d=u[2],v=c[0],x=c[1],b=c[2];return Math.abs(f-v)<=s*Math.max(1,Math.abs(f),Math.abs(v))&&Math.abs(h-x)<=s*Math.max(1,Math.abs(h),Math.abs(x))&&Math.abs(d-b)<=s*Math.max(1,Math.abs(d),Math.abs(b))}},9265:function(i){i.exports=a;function a(o,s){return o[0]===s[0]&&o[1]===s[1]&&o[2]===s[2]}},2681:function(i){i.exports=a;function a(o,s){return o[0]=Math.floor(s[0]),o[1]=Math.floor(s[1]),o[2]=Math.floor(s[2]),o}},5137:function(i,a,o){i.exports=l;var s=o(1091)();function l(u,c,f,h,d,v){var x,b;for(c||(c=3),f||(f=0),h?b=Math.min(h*c+f,u.length):b=u.length,x=f;x<b;x+=c)s[0]=u[x],s[1]=u[x+1],s[2]=u[x+2],d(s,s,v),u[x]=s[0],u[x+1]=s[1],u[x+2]=s[2];return u}},2825:function(i){i.exports=a;function a(o,s,l){var u=new Float32Array(3);return u[0]=o,u[1]=s,u[2]=l,u}},2931:function(i,a,o){i.exports={EPSILON:o(2613),create:o(1091),clone:o(3126),angle:o(8192),fromValues:o(2825),copy:o(3990),set:o(1463),equals:o(9922),exactEquals:o(9265),add:o(5632),subtract:o(6843),sub:o(2229),multiply:o(5847),mul:o(4505),divide:o(6690),div:o(4008),min:o(8107),max:o(7417),floor:o(2681),ceil:o(9226),round:o(2447),scale:o(6621),scaleAndAdd:o(8489),distance:o(7056),dist:o(5455),squaredDistance:o(2953),sqrDist:o(6141),length:o(1387),len:o(868),squaredLength:o(3066),sqrLen:o(5486),negate:o(5093),inverse:o(811),normalize:o(3536),dot:o(244),cross:o(5911),lerp:o(6658),random:o(7636),transformMat4:o(5673),transformMat3:o(492),transformQuat:o(264),rotateX:o(6894),rotateY:o(109),rotateZ:o(8692),forEach:o(5137)}},811:function(i){i.exports=a;function a(o,s){return o[0]=1/s[0],o[1]=1/s[1],o[2]=1/s[2],o}},868:function(i,a,o){i.exports=o(1387)},1387:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2];return Math.sqrt(s*s+l*l+u*u)}},6658:function(i){i.exports=a;function a(o,s,l,u){var c=s[0],f=s[1],h=s[2];return o[0]=c+u*(l[0]-c),o[1]=f+u*(l[1]-f),o[2]=h+u*(l[2]-h),o}},7417:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.max(s[0],l[0]),o[1]=Math.max(s[1],l[1]),o[2]=Math.max(s[2],l[2]),o}},8107:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.min(s[0],l[0]),o[1]=Math.min(s[1],l[1]),o[2]=Math.min(s[2],l[2]),o}},4505:function(i,a,o){i.exports=o(5847)},5847:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l[0],o[1]=s[1]*l[1],o[2]=s[2]*l[2],o}},5093:function(i){i.exports=a;function a(o,s){return o[0]=-s[0],o[1]=-s[1],o[2]=-s[2],o}},3536:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=l*l+u*u+c*c;return f>0&&(f=1/Math.sqrt(f),o[0]=s[0]*f,o[1]=s[1]*f,o[2]=s[2]*f),o}},7636:function(i){i.exports=a;function a(o,s){s=s||1;var l=Math.random()*2*Math.PI,u=Math.random()*2-1,c=Math.sqrt(1-u*u)*s;return o[0]=Math.cos(l)*c,o[1]=Math.sin(l)*c,o[2]=u*s,o}},6894:function(i){i.exports=a;function a(o,s,l,u){var c=l[1],f=l[2],h=s[1]-c,d=s[2]-f,v=Math.sin(u),x=Math.cos(u);return o[0]=s[0],o[1]=c+h*x-d*v,o[2]=f+h*v+d*x,o}},109:function(i){i.exports=a;function a(o,s,l,u){var c=l[0],f=l[2],h=s[0]-c,d=s[2]-f,v=Math.sin(u),x=Math.cos(u);return o[0]=c+d*v+h*x,o[1]=s[1],o[2]=f+d*x-h*v,o}},8692:function(i){i.exports=a;function a(o,s,l,u){var c=l[0],f=l[1],h=s[0]-c,d=s[1]-f,v=Math.sin(u),x=Math.cos(u);return o[0]=c+h*x-d*v,o[1]=f+h*v+d*x,o[2]=s[2],o}},2447:function(i){i.exports=a;function a(o,s){return o[0]=Math.round(s[0]),o[1]=Math.round(s[1]),o[2]=Math.round(s[2]),o}},6621:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o}},8489:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o}},1463:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s,o[1]=l,o[2]=u,o}},6141:function(i,a,o){i.exports=o(2953)},5486:function(i,a,o){i.exports=o(3066)},2953:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2];return l*l+u*u+c*c}},3066:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2];return s*s+l*l+u*u}},2229:function(i,a,o){i.exports=o(6843)},6843:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o}},492:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2];return o[0]=u*l[0]+c*l[3]+f*l[6],o[1]=u*l[1]+c*l[4]+f*l[7],o[2]=u*l[2]+c*l[5]+f*l[8],o}},5673:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[3]*u+l[7]*c+l[11]*f+l[15];return h=h||1,o[0]=(l[0]*u+l[4]*c+l[8]*f+l[12])/h,o[1]=(l[1]*u+l[5]*c+l[9]*f+l[13])/h,o[2]=(l[2]*u+l[6]*c+l[10]*f+l[14])/h,o}},264:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2],x=l[3],b=x*u+d*f-v*c,p=x*c+v*u-h*f,E=x*f+h*c-d*u,k=-h*u-d*c-v*f;return o[0]=b*x+k*-h+p*-v-E*-d,o[1]=p*x+k*-d+E*-h-b*-v,o[2]=E*x+k*-v+b*-d-p*-h,o}},4361:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]+l[0],o[1]=s[1]+l[1],o[2]=s[2]+l[2],o[3]=s[3]+l[3],o}},2335:function(i){i.exports=a;function a(o){var s=new Float32Array(4);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s[3]=o[3],s}},2933:function(i){i.exports=a;function a(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o[3]=s[3],o}},7536:function(i){i.exports=a;function a(){var o=new Float32Array(4);return o[0]=0,o[1]=0,o[2]=0,o[3]=0,o}},4691:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2],f=s[3]-o[3];return Math.sqrt(l*l+u*u+c*c+f*f)}},1373:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o[3]=s[3]/l[3],o}},3750:function(i){i.exports=a;function a(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]+o[3]*s[3]}},3390:function(i){i.exports=a;function a(o,s,l,u){var c=new Float32Array(4);return c[0]=o,c[1]=s,c[2]=l,c[3]=u,c}},9970:function(i,a,o){i.exports={create:o(7536),clone:o(2335),fromValues:o(3390),copy:o(2933),set:o(4578),add:o(4361),subtract:o(6860),multiply:o(3576),divide:o(1373),min:o(2334),max:o(160),scale:o(9288),scaleAndAdd:o(4844),distance:o(4691),squaredDistance:o(7960),length:o(6808),squaredLength:o(483),negate:o(1498),inverse:o(4494),normalize:o(5177),dot:o(3750),lerp:o(2573),random:o(9131),transformMat4:o(5352),transformQuat:o(4041)}},4494:function(i){i.exports=a;function a(o,s){return o[0]=1/s[0],o[1]=1/s[1],o[2]=1/s[2],o[3]=1/s[3],o}},6808:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3];return Math.sqrt(s*s+l*l+u*u+c*c)}},2573:function(i){i.exports=a;function a(o,s,l,u){var c=s[0],f=s[1],h=s[2],d=s[3];return o[0]=c+u*(l[0]-c),o[1]=f+u*(l[1]-f),o[2]=h+u*(l[2]-h),o[3]=d+u*(l[3]-d),o}},160:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.max(s[0],l[0]),o[1]=Math.max(s[1],l[1]),o[2]=Math.max(s[2],l[2]),o[3]=Math.max(s[3],l[3]),o}},2334:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.min(s[0],l[0]),o[1]=Math.min(s[1],l[1]),o[2]=Math.min(s[2],l[2]),o[3]=Math.min(s[3],l[3]),o}},3576:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l[0],o[1]=s[1]*l[1],o[2]=s[2]*l[2],o[3]=s[3]*l[3],o}},1498:function(i){i.exports=a;function a(o,s){return o[0]=-s[0],o[1]=-s[1],o[2]=-s[2],o[3]=-s[3],o}},5177:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=s[3],h=l*l+u*u+c*c+f*f;return h>0&&(h=1/Math.sqrt(h),o[0]=l*h,o[1]=u*h,o[2]=c*h,o[3]=f*h),o}},9131:function(i,a,o){var s=o(5177),l=o(9288);i.exports=u;function u(c,f){return f=f||1,c[0]=Math.random(),c[1]=Math.random(),c[2]=Math.random(),c[3]=Math.random(),s(c,c),l(c,c,f),c}},9288:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o[3]=s[3]*l,o}},4844:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o[3]=s[3]+l[3]*u,o}},4578:function(i){i.exports=a;function a(o,s,l,u,c){return o[0]=s,o[1]=l,o[2]=u,o[3]=c,o}},7960:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2],f=s[3]-o[3];return l*l+u*u+c*c+f*f}},483:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3];return s*s+l*l+u*u+c*c}},6860:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o[3]=s[3]-l[3],o}},5352:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=s[3];return o[0]=l[0]*u+l[4]*c+l[8]*f+l[12]*h,o[1]=l[1]*u+l[5]*c+l[9]*f+l[13]*h,o[2]=l[2]*u+l[6]*c+l[10]*f+l[14]*h,o[3]=l[3]*u+l[7]*c+l[11]*f+l[15]*h,o}},4041:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2],x=l[3],b=x*u+d*f-v*c,p=x*c+v*u-h*f,E=x*f+h*c-d*u,k=-h*u-d*c-v*f;return o[0]=b*x+k*-h+p*-v-E*-d,o[1]=p*x+k*-d+E*-h-b*-v,o[2]=E*x+k*-v+b*-d-p*-h,o[3]=s[3],o}},1848:function(i,a,o){var s=o(4905),l=o(6468);i.exports=u;function u(c){for(var f=Array.isArray(c)?c:s(c),h=0;h<f.length;h++){var d=f[h];if(d.type===\"preprocessor\"){var v=d.data.match(/\\#define\\s+SHADER_NAME(_B64)?\\s+(.+)$/);if(v&&v[2]){var x=v[1],b=v[2];return(x?l(b):b).trim()}}}}},5874:function(i,a,o){i.exports=T;var s=o(620),l=o(7827),u=o(6852),c=o(7932),f=o(3508),h=999,d=9999,v=0,x=1,b=2,p=3,E=4,k=5,A=6,L=7,_=8,C=9,M=10,g=11,P=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"];function T(F){var q=0,V=0,H=h,X,G,N=[],W=[],re=0,ae=0,_e=1,Me=0,ke=0,ge=!1,ie=!1,Te=\"\",Ee;F=F||{};var Ae=u,ze=s;F.version===\"300 es\"&&(Ae=f,ze=c);for(var Ce={},me={},q=0;q<Ae.length;q++)Ce[Ae[q]]=!0;for(var q=0;q<ze.length;q++)me[ze[q]]=!0;return function(Ke){return W=[],Ke!==null?ce(Ke):Ge()};function Re(Ke){Ke.length&&W.push({type:P[H],data:Ke,position:ke,line:_e,column:Me})}function ce(Ke){q=0,Ke.toString&&(Ke=Ke.toString()),Te+=Ke.replace(/\\r\\n/g,`\n", - "`),Ee=Te.length;for(var xt;X=Te[q],q<Ee;){switch(xt=q,H){case v:q=ot();break;case x:q=rt();break;case b:q=qt();break;case p:q=Rt();break;case E:q=Yt();break;case g:q=Ct();break;case k:q=xr();break;case d:q=er();break;case C:q=ct();break;case h:q=nt();break}if(xt!==q)switch(Te[xt]){case`\n", - "`:Me=0,++_e;break;default:++Me;break}}return V+=q,Te=Te.slice(q),W}function Ge(Ke){return N.length&&Re(N.join(\"\")),H=M,Re(\"(eof)\"),W}function nt(){return N=N.length?[]:N,G===\"/\"&&X===\"*\"?(ke=V+q-1,H=v,G=X,q+1):G===\"/\"&&X===\"/\"?(ke=V+q-1,H=x,G=X,q+1):X===\"#\"?(H=b,ke=V+q,q):/\\s/.test(X)?(H=C,ke=V+q,q):(ge=/\\d/.test(X),ie=/[^\\w_]/.test(X),ke=V+q,H=ge?E:ie?p:d,q)}function ct(){return/[^\\s]/g.test(X)?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function qt(){return(X===\"\\r\"||X===`\n", - "`)&&G!==\"\\\\\"?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function rt(){return qt()}function ot(){return X===\"/\"&&G===\"*\"?(N.push(X),Re(N.join(\"\")),H=h,q+1):(N.push(X),G=X,q+1)}function Rt(){if(G===\".\"&&/\\d/.test(X))return H=k,q;if(G===\"/\"&&X===\"*\")return H=v,q;if(G===\"/\"&&X===\"/\")return H=x,q;if(X===\".\"&&N.length){for(;kt(N););return H=k,q}if(X===\";\"||X===\")\"||X===\"(\"){if(N.length)for(;kt(N););return Re(X),H=h,q+1}var Ke=N.length===2&&X!==\"=\";if(/[\\w_\\d\\s]/.test(X)||Ke){for(;kt(N););return H=h,q}return N.push(X),G=X,q+1}function kt(Ke){var xt=0,bt,Lt;do{if(bt=l.indexOf(Ke.slice(0,Ke.length+xt).join(\"\")),Lt=l[bt],bt===-1){if(xt--+Ke.length>0)continue;Lt=Ke.slice(0,1).join(\"\")}return Re(Lt),ke+=Lt.length,N=N.slice(Lt.length),N.length}while(!0)}function Ct(){return/[^a-fA-F0-9]/.test(X)?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function Yt(){return X===\".\"||/[eE]/.test(X)?(N.push(X),H=k,G=X,q+1):X===\"x\"&&N.length===1&&N[0]===\"0\"?(H=g,N.push(X),G=X,q+1):/[^\\d]/.test(X)?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function xr(){return X===\"f\"&&(N.push(X),G=X,q+=1),/[eE]/.test(X)||(X===\"-\"||X===\"+\")&&/[eE]/.test(G)?(N.push(X),G=X,q+1):/[^\\d]/.test(X)?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function er(){if(/[^\\d\\w_]/.test(X)){var Ke=N.join(\"\");return me[Ke]?H=_:Ce[Ke]?H=L:H=A,Re(N.join(\"\")),H=h,q}return N.push(X),G=X,q+1}}},3508:function(i,a,o){var s=o(6852);s=s.slice().filter(function(l){return!/^(gl\\_|texture)/.test(l)}),i.exports=s.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(i){i.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(i,a,o){var s=o(620);i.exports=s.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(i){i.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(i){i.exports=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"]},4905:function(i,a,o){var s=o(5874);i.exports=l;function l(u,c){var f=s(c),h=[];return h=h.concat(f(u)),h=h.concat(f(null)),h}},3236:function(i){i.exports=function(a){typeof a==\"string\"&&(a=[a]);for(var o=[].slice.call(arguments,1),s=[],l=0;l<a.length-1;l++)s.push(a[l],o[l]||\"\");return s.push(a[l]),s.join(\"\")}},7520:function(i,a,o){\"use strict\";var s=o(9507);function l(){var u=!1;try{var c=Object.defineProperty({},\"passive\",{get:function(){u=!0}});window.addEventListener(\"test\",null,c),window.removeEventListener(\"test\",null,c)}catch(f){u=!1}return u}i.exports=s&&l()},3778:function(i,a){a.read=function(o,s,l,u,c){var f,h,d=c*8-u-1,v=(1<<d)-1,x=v>>1,b=-7,p=l?c-1:0,E=l?-1:1,k=o[s+p];for(p+=E,f=k&(1<<-b)-1,k>>=-b,b+=d;b>0;f=f*256+o[s+p],p+=E,b-=8);for(h=f&(1<<-b)-1,f>>=-b,b+=u;b>0;h=h*256+o[s+p],p+=E,b-=8);if(f===0)f=1-x;else{if(f===v)return h?NaN:(k?-1:1)*(1/0);h=h+Math.pow(2,u),f=f-x}return(k?-1:1)*h*Math.pow(2,f-u)},a.write=function(o,s,l,u,c,f){var h,d,v,x=f*8-c-1,b=(1<<x)-1,p=b>>1,E=c===23?Math.pow(2,-24)-Math.pow(2,-77):0,k=u?0:f-1,A=u?1:-1,L=s<0||s===0&&1/s<0?1:0;for(s=Math.abs(s),isNaN(s)||s===1/0?(d=isNaN(s)?1:0,h=b):(h=Math.floor(Math.log(s)/Math.LN2),s*(v=Math.pow(2,-h))<1&&(h--,v*=2),h+p>=1?s+=E/v:s+=E*Math.pow(2,1-p),s*v>=2&&(h++,v/=2),h+p>=b?(d=0,h=b):h+p>=1?(d=(s*v-1)*Math.pow(2,c),h=h+p):(d=s*Math.pow(2,p-1)*Math.pow(2,c),h=0));c>=8;o[l+k]=d&255,k+=A,d/=256,c-=8);for(h=h<<c|d,x+=c;x>0;o[l+k]=h&255,k+=A,h/=256,x-=8);o[l+k-A]|=L*128}},8954:function(i,a,o){\"use strict\";i.exports=p;var s=o(3250),l=o(6803).Fw;function u(E,k,A){this.vertices=E,this.adjacent=k,this.boundary=A,this.lastVisited=-1}u.prototype.flip=function(){var E=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=E;var k=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=k};function c(E,k,A){this.vertices=E,this.cell=k,this.index=A}function f(E,k){return l(E.vertices,k.vertices)}function h(E){return function(){var k=this.tuple;return E.apply(this,k)}}function d(E){var k=s[E+1];return k||(k=s),h(k)}var v=[];function x(E,k,A){this.dimension=E,this.vertices=k,this.simplices=A,this.interior=A.filter(function(C){return!C.boundary}),this.tuple=new Array(E+1);for(var L=0;L<=E;++L)this.tuple[L]=this.vertices[L];var _=v[E];_||(_=v[E]=d(E)),this.orient=_}var b=x.prototype;b.handleBoundaryDegeneracy=function(E,k){var A=this.dimension,L=this.vertices.length-1,_=this.tuple,C=this.vertices,M=[E];for(E.lastVisited=-L;M.length>0;){E=M.pop();for(var g=E.adjacent,P=0;P<=A;++P){var T=g[P];if(!(!T.boundary||T.lastVisited<=-L)){for(var F=T.vertices,q=0;q<=A;++q){var V=F[q];V<0?_[q]=k:_[q]=C[V]}var H=this.orient();if(H>0)return T;T.lastVisited=-L,H===0&&M.push(T)}}}return null},b.walk=function(E,k){var A=this.vertices.length-1,L=this.dimension,_=this.vertices,C=this.tuple,M=k?this.interior.length*Math.random()|0:this.interior.length-1,g=this.interior[M];e:for(;!g.boundary;){for(var P=g.vertices,T=g.adjacent,F=0;F<=L;++F)C[F]=_[P[F]];g.lastVisited=A;for(var F=0;F<=L;++F){var q=T[F];if(!(q.lastVisited>=A)){var V=C[F];C[F]=E;var H=this.orient();if(C[F]=V,H<0){g=q;continue e}else q.boundary?q.lastVisited=-A:q.lastVisited=A}}return}return g},b.addPeaks=function(E,k){var A=this.vertices.length-1,L=this.dimension,_=this.vertices,C=this.tuple,M=this.interior,g=this.simplices,P=[k];k.lastVisited=A,k.vertices[k.vertices.indexOf(-1)]=A,k.boundary=!1,M.push(k);for(var T=[];P.length>0;){var k=P.pop(),F=k.vertices,q=k.adjacent,V=F.indexOf(A);if(!(V<0)){for(var H=0;H<=L;++H)if(H!==V){var X=q[H];if(!(!X.boundary||X.lastVisited>=A)){var G=X.vertices;if(X.lastVisited!==-A){for(var N=0,W=0;W<=L;++W)G[W]<0?(N=W,C[W]=E):C[W]=_[G[W]];var re=this.orient();if(re>0){G[N]=A,X.boundary=!1,M.push(X),P.push(X),X.lastVisited=A;continue}else X.lastVisited=-A}var ae=X.adjacent,_e=F.slice(),Me=q.slice(),ke=new u(_e,Me,!0);g.push(ke);var ge=ae.indexOf(k);if(!(ge<0)){ae[ge]=ke,Me[V]=X,_e[H]=-1,Me[H]=k,q[H]=ke,ke.flip();for(var W=0;W<=L;++W){var ie=_e[W];if(!(ie<0||ie===A)){for(var Te=new Array(L-1),Ee=0,Ae=0;Ae<=L;++Ae){var ze=_e[Ae];ze<0||Ae===W||(Te[Ee++]=ze)}T.push(new c(Te,ke,W))}}}}}}}T.sort(f);for(var H=0;H+1<T.length;H+=2){var Ce=T[H],me=T[H+1],Re=Ce.index,ce=me.index;Re<0||ce<0||(Ce.cell.adjacent[Ce.index]=me.cell,me.cell.adjacent[me.index]=Ce.cell)}},b.insert=function(E,k){var A=this.vertices;A.push(E);var L=this.walk(E,k);if(L){for(var _=this.dimension,C=this.tuple,M=0;M<=_;++M){var g=L.vertices[M];g<0?C[M]=E:C[M]=A[g]}var P=this.orient(C);P<0||P===0&&(L=this.handleBoundaryDegeneracy(L,E),!L)||this.addPeaks(E,L)}},b.boundary=function(){for(var E=this.dimension,k=[],A=this.simplices,L=A.length,_=0;_<L;++_){var C=A[_];if(C.boundary){for(var M=new Array(E),g=C.vertices,P=0,T=0,F=0;F<=E;++F)g[F]>=0?M[P++]=g[F]:T=F&1;if(T===(E&1)){var q=M[0];M[0]=M[1],M[1]=q}k.push(M)}}return k};function p(E,k){var A=E.length;if(A===0)throw new Error(\"Must have at least d+1 points\");var L=E[0].length;if(A<=L)throw new Error(\"Must input at least d+1 points\");var _=E.slice(0,L+1),C=s.apply(void 0,_);if(C===0)throw new Error(\"Input not in general position\");for(var M=new Array(L+1),g=0;g<=L;++g)M[g]=g;C<0&&(M[0]=1,M[1]=0);for(var P=new u(M,new Array(L+1),!1),T=P.adjacent,F=new Array(L+2),g=0;g<=L;++g){for(var q=M.slice(),V=0;V<=L;++V)V===g&&(q[V]=-1);var H=q[0];q[0]=q[1],q[1]=H;var X=new u(q,new Array(L+1),!0);T[g]=X,F[g]=X}F[L+1]=P;for(var g=0;g<=L;++g)for(var q=T[g].vertices,G=T[g].adjacent,V=0;V<=L;++V){var N=q[V];if(N<0){G[V]=P;continue}for(var W=0;W<=L;++W)T[W].vertices.indexOf(N)<0&&(G[V]=T[W])}for(var re=new x(L,_,F),ae=!!k,g=L+1;g<A;++g)re.insert(E[g],ae);return re.boundary()}},3352:function(i,a,o){\"use strict\";var s=o(2478),l=0,u=1,c=2;i.exports=P;function f(T,F,q,V,H){this.mid=T,this.left=F,this.right=q,this.leftPoints=V,this.rightPoints=H,this.count=(F?F.count:0)+(q?q.count:0)+V.length}var h=f.prototype;function d(T,F){T.mid=F.mid,T.left=F.left,T.right=F.right,T.leftPoints=F.leftPoints,T.rightPoints=F.rightPoints,T.count=F.count}function v(T,F){var q=C(F);T.mid=q.mid,T.left=q.left,T.right=q.right,T.leftPoints=q.leftPoints,T.rightPoints=q.rightPoints,T.count=q.count}function x(T,F){var q=T.intervals([]);q.push(F),v(T,q)}function b(T,F){var q=T.intervals([]),V=q.indexOf(F);return V<0?l:(q.splice(V,1),v(T,q),u)}h.intervals=function(T){return T.push.apply(T,this.leftPoints),this.left&&this.left.intervals(T),this.right&&this.right.intervals(T),T},h.insert=function(T){var F=this.count-this.leftPoints.length;if(this.count+=1,T[1]<this.mid)this.left?4*(this.left.count+1)>3*(F+1)?x(this,T):this.left.insert(T):this.left=C([T]);else if(T[0]>this.mid)this.right?4*(this.right.count+1)>3*(F+1)?x(this,T):this.right.insert(T):this.right=C([T]);else{var q=s.ge(this.leftPoints,T,L),V=s.ge(this.rightPoints,T,_);this.leftPoints.splice(q,0,T),this.rightPoints.splice(V,0,T)}},h.remove=function(T){var F=this.count-this.leftPoints;if(T[1]<this.mid){if(!this.left)return l;var q=this.right?this.right.count:0;if(4*q>3*(F-1))return b(this,T);var V=this.left.remove(T);return V===c?(this.left=null,this.count-=1,u):(V===u&&(this.count-=1),V)}else if(T[0]>this.mid){if(!this.right)return l;var H=this.left?this.left.count:0;if(4*H>3*(F-1))return b(this,T);var V=this.right.remove(T);return V===c?(this.right=null,this.count-=1,u):(V===u&&(this.count-=1),V)}else{if(this.count===1)return this.leftPoints[0]===T?c:l;if(this.leftPoints.length===1&&this.leftPoints[0]===T){if(this.left&&this.right){for(var X=this,G=this.left;G.right;)X=G,G=G.right;if(X===this)G.right=this.right;else{var N=this.left,V=this.right;X.count-=G.count,X.right=G.left,G.left=N,G.right=V}d(this,G),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?d(this,this.left):d(this,this.right);return u}for(var N=s.ge(this.leftPoints,T,L);N<this.leftPoints.length&&this.leftPoints[N][0]===T[0];++N)if(this.leftPoints[N]===T){this.count-=1,this.leftPoints.splice(N,1);for(var V=s.ge(this.rightPoints,T,_);V<this.rightPoints.length&&this.rightPoints[V][1]===T[1];++V)if(this.rightPoints[V]===T)return this.rightPoints.splice(V,1),u}return l}};function p(T,F,q){for(var V=0;V<T.length&&T[V][0]<=F;++V){var H=q(T[V]);if(H)return H}}function E(T,F,q){for(var V=T.length-1;V>=0&&T[V][1]>=F;--V){var H=q(T[V]);if(H)return H}}function k(T,F){for(var q=0;q<T.length;++q){var V=F(T[q]);if(V)return V}}h.queryPoint=function(T,F){if(T<this.mid){if(this.left){var q=this.left.queryPoint(T,F);if(q)return q}return p(this.leftPoints,T,F)}else if(T>this.mid){if(this.right){var q=this.right.queryPoint(T,F);if(q)return q}return E(this.rightPoints,T,F)}else return k(this.leftPoints,F)},h.queryInterval=function(T,F,q){if(T<this.mid&&this.left){var V=this.left.queryInterval(T,F,q);if(V)return V}if(F>this.mid&&this.right){var V=this.right.queryInterval(T,F,q);if(V)return V}return F<this.mid?p(this.leftPoints,F,q):T>this.mid?E(this.rightPoints,T,q):k(this.leftPoints,q)};function A(T,F){return T-F}function L(T,F){var q=T[0]-F[0];return q||T[1]-F[1]}function _(T,F){var q=T[1]-F[1];return q||T[0]-F[0]}function C(T){if(T.length===0)return null;for(var F=[],q=0;q<T.length;++q)F.push(T[q][0],T[q][1]);F.sort(A);for(var V=F[F.length>>1],H=[],X=[],G=[],q=0;q<T.length;++q){var N=T[q];N[1]<V?H.push(N):V<N[0]?X.push(N):G.push(N)}var W=G,re=G.slice();return W.sort(L),re.sort(_),new f(V,C(H),C(X),W,re)}function M(T){this.root=T}var g=M.prototype;g.insert=function(T){this.root?this.root.insert(T):this.root=new f(T[0],null,null,[T],[T])},g.remove=function(T){if(this.root){var F=this.root.remove(T);return F===c&&(this.root=null),F!==l}return!1},g.queryPoint=function(T,F){if(this.root)return this.root.queryPoint(T,F)},g.queryInterval=function(T,F,q){if(T<=F&&this.root)return this.root.queryInterval(T,F,q)},Object.defineProperty(g,\"count\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(g,\"intervals\",{get:function(){return this.root?this.root.intervals([]):[]}});function P(T){return!T||T.length===0?new M(null):new M(C(T))}},9507:function(i){i.exports=!0},7163:function(i){i.exports=function(s){return s!=null&&(a(s)||o(s)||!!s._isBuffer)};function a(s){return!!s.constructor&&typeof s.constructor.isBuffer==\"function\"&&s.constructor.isBuffer(s)}function o(s){return typeof s.readFloatLE==\"function\"&&typeof s.slice==\"function\"&&a(s.slice(0,0))}},5219:function(i){\"use strict\";i.exports=function(a){for(var o=a.length,s,l=0;l<o;l++)if(s=a.charCodeAt(l),(s<9||s>13)&&s!==32&&s!==133&&s!==160&&s!==5760&&s!==6158&&(s<8192||s>8205)&&s!==8232&&s!==8233&&s!==8239&&s!==8287&&s!==8288&&s!==12288&&s!==65279)return!1;return!0}},395:function(i){function a(o,s,l){return o*(1-l)+s*l}i.exports=a},2652:function(i,a,o){var s=o(4335),l=o(6864),u=o(1903),c=o(9921),f=o(7608),h=o(5665),d={length:o(1387),normalize:o(3536),dot:o(244),cross:o(5911)},v=l(),x=l(),b=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],E=[0,0,0];i.exports=function(C,M,g,P,T,F){if(M||(M=[0,0,0]),g||(g=[0,0,0]),P||(P=[0,0,0]),T||(T=[0,0,0,1]),F||(F=[0,0,0,1]),!s(v,C)||(u(x,v),x[3]=0,x[7]=0,x[11]=0,x[15]=1,Math.abs(c(x)<1e-8)))return!1;var q=v[3],V=v[7],H=v[11],X=v[12],G=v[13],N=v[14],W=v[15];if(q!==0||V!==0||H!==0){b[0]=q,b[1]=V,b[2]=H,b[3]=W;var re=f(x,x);if(!re)return!1;h(x,x),k(T,b,x)}else T[0]=T[1]=T[2]=0,T[3]=1;if(M[0]=X,M[1]=G,M[2]=N,A(p,v),g[0]=d.length(p[0]),d.normalize(p[0],p[0]),P[0]=d.dot(p[0],p[1]),L(p[1],p[1],p[0],1,-P[0]),g[1]=d.length(p[1]),d.normalize(p[1],p[1]),P[0]/=g[1],P[1]=d.dot(p[0],p[2]),L(p[2],p[2],p[0],1,-P[1]),P[2]=d.dot(p[1],p[2]),L(p[2],p[2],p[1],1,-P[2]),g[2]=d.length(p[2]),d.normalize(p[2],p[2]),P[1]/=g[2],P[2]/=g[2],d.cross(E,p[1],p[2]),d.dot(p[0],E)<0)for(var ae=0;ae<3;ae++)g[ae]*=-1,p[ae][0]*=-1,p[ae][1]*=-1,p[ae][2]*=-1;return F[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),F[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),F[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),F[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(F[0]=-F[0]),p[0][2]>p[2][0]&&(F[1]=-F[1]),p[1][0]>p[0][1]&&(F[2]=-F[2]),!0};function k(_,C,M){var g=C[0],P=C[1],T=C[2],F=C[3];return _[0]=M[0]*g+M[4]*P+M[8]*T+M[12]*F,_[1]=M[1]*g+M[5]*P+M[9]*T+M[13]*F,_[2]=M[2]*g+M[6]*P+M[10]*T+M[14]*F,_[3]=M[3]*g+M[7]*P+M[11]*T+M[15]*F,_}function A(_,C){_[0][0]=C[0],_[0][1]=C[1],_[0][2]=C[2],_[1][0]=C[4],_[1][1]=C[5],_[1][2]=C[6],_[2][0]=C[8],_[2][1]=C[9],_[2][2]=C[10]}function L(_,C,M,g,P){_[0]=C[0]*g+M[0]*P,_[1]=C[1]*g+M[1]*P,_[2]=C[2]*g+M[2]*P}},4335:function(i){i.exports=function(o,s){var l=s[15];if(l===0)return!1;for(var u=1/l,c=0;c<16;c++)o[c]=s[c]*u;return!0}},7442:function(i,a,o){var s=o(6658),l=o(7182),u=o(2652),c=o(9921),f=o(8648),h=b(),d=b(),v=b();i.exports=x;function x(k,A,L,_){if(c(A)===0||c(L)===0)return!1;var C=u(A,h.translate,h.scale,h.skew,h.perspective,h.quaternion),M=u(L,d.translate,d.scale,d.skew,d.perspective,d.quaternion);return!C||!M?!1:(s(v.translate,h.translate,d.translate,_),s(v.skew,h.skew,d.skew,_),s(v.scale,h.scale,d.scale,_),s(v.perspective,h.perspective,d.perspective,_),f(v.quaternion,h.quaternion,d.quaternion,_),l(k,v.translate,v.scale,v.skew,v.perspective,v.quaternion),!0)}function b(){return{translate:p(),scale:p(1),skew:p(),perspective:E(),quaternion:E()}}function p(k){return[k||0,k||0,k||0]}function E(){return[0,0,0,1]}},7182:function(i,a,o){var s={identity:o(7894),translate:o(7656),multiply:o(6760),create:o(6864),scale:o(2504),fromRotationTranslation:o(6743)},l=s.create(),u=s.create();i.exports=function(f,h,d,v,x,b){return s.identity(f),s.fromRotationTranslation(f,b,h),f[3]=x[0],f[7]=x[1],f[11]=x[2],f[15]=x[3],s.identity(u),v[2]!==0&&(u[9]=v[2],s.multiply(f,f,u)),v[1]!==0&&(u[9]=0,u[8]=v[1],s.multiply(f,f,u)),v[0]!==0&&(u[8]=0,u[4]=v[0],s.multiply(f,f,u)),s.scale(f,f,d),f}},1811:function(i,a,o){\"use strict\";var s=o(2478),l=o(7442),u=o(7608),c=o(5567),f=o(2408),h=o(7089),d=o(6582),v=o(7656),x=o(2504),b=o(3536),p=[0,0,0];i.exports=L;function E(_){this._components=_.slice(),this._time=[0],this.prevMatrix=_.slice(),this.nextMatrix=_.slice(),this.computedMatrix=_.slice(),this.computedInverse=_.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]}var k=E.prototype;k.recalcMatrix=function(_){var C=this._time,M=s.le(C,_),g=this.computedMatrix;if(!(M<0)){var P=this._components;if(M===C.length-1)for(var T=16*M,F=0;F<16;++F)g[F]=P[T++];else{for(var q=C[M+1]-C[M],T=16*M,V=this.prevMatrix,H=!0,F=0;F<16;++F)V[F]=P[T++];for(var X=this.nextMatrix,F=0;F<16;++F)X[F]=P[T++],H=H&&V[F]===X[F];if(q<1e-6||H)for(var F=0;F<16;++F)g[F]=V[F];else l(g,V,X,(_-C[M])/q)}var G=this.computedUp;G[0]=g[1],G[1]=g[5],G[2]=g[9],b(G,G);var N=this.computedInverse;u(N,g);var W=this.computedEye,re=N[15];W[0]=N[12]/re,W[1]=N[13]/re,W[2]=N[14]/re;for(var ae=this.computedCenter,_e=Math.exp(this.computedRadius[0]),F=0;F<3;++F)ae[F]=W[F]-g[2+4*F]*_e}},k.idle=function(_){if(!(_<this.lastT())){for(var C=this._components,M=C.length-16,g=0;g<16;++g)C.push(C[M++]);this._time.push(_)}},k.flush=function(_){var C=s.gt(this._time,_)-2;C<0||(this._time.splice(0,C),this._components.splice(0,16*C))},k.lastT=function(){return this._time[this._time.length-1]},k.lookAt=function(_,C,M,g){this.recalcMatrix(_),C=C||this.computedEye,M=M||p,g=g||this.computedUp,this.setMatrix(_,d(this.computedMatrix,C,M,g));for(var P=0,T=0;T<3;++T)P+=Math.pow(M[T]-C[T],2);P=Math.log(Math.sqrt(P)),this.computedRadius[0]=P},k.rotate=function(_,C,M,g){this.recalcMatrix(_);var P=this.computedInverse;C&&f(P,P,C),M&&c(P,P,M),g&&h(P,P,g),this.setMatrix(_,u(this.computedMatrix,P))};var A=[0,0,0];k.pan=function(_,C,M,g){A[0]=-(C||0),A[1]=-(M||0),A[2]=-(g||0),this.recalcMatrix(_);var P=this.computedInverse;v(P,P,A),this.setMatrix(_,u(P,P))},k.translate=function(_,C,M,g){A[0]=C||0,A[1]=M||0,A[2]=g||0,this.recalcMatrix(_);var P=this.computedMatrix;v(P,P,A),this.setMatrix(_,P)},k.setMatrix=function(_,C){if(!(_<this.lastT())){this._time.push(_);for(var M=0;M<16;++M)this._components.push(C[M])}},k.setDistance=function(_,C){this.computedRadius[0]=C},k.setDistanceLimits=function(_,C){var M=this._limits;M[0]=_,M[1]=C},k.getDistanceLimits=function(_){var C=this._limits;return _?(_[0]=C[0],_[1]=C[1],_):C};function L(_){_=_||{};var C=_.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return new E(C)}},3090:function(i,a,o){\"use strict\";i.exports=l;var s=o(3250)[3];function l(u){var c=u.length;if(c<3){for(var E=new Array(c),f=0;f<c;++f)E[f]=f;return c===2&&u[0][0]===u[1][0]&&u[0][1]===u[1][1]?[0]:E}for(var h=new Array(c),f=0;f<c;++f)h[f]=f;h.sort(function(_,C){var M=u[_][0]-u[C][0];return M||u[_][1]-u[C][1]});for(var d=[h[0],h[1]],v=[h[0],h[1]],f=2;f<c;++f){for(var x=h[f],b=u[x],p=d.length;p>1&&s(u[d[p-2]],u[d[p-1]],b)<=0;)p-=1,d.pop();for(d.push(x),p=v.length;p>1&&s(u[v[p-2]],u[v[p-1]],b)>=0;)p-=1,v.pop();v.push(x)}for(var E=new Array(v.length+d.length-2),k=0,f=0,A=d.length;f<A;++f)E[k++]=d[f];for(var L=v.length-2;L>0;--L)E[k++]=v[L];return E}},351:function(i,a,o){\"use strict\";i.exports=l;var s=o(4687);function l(u,c){c||(c=u,u=window);var f=0,h=0,d=0,v={shift:!1,alt:!1,control:!1,meta:!1},x=!1;function b(T){var F=!1;return\"altKey\"in T&&(F=F||T.altKey!==v.alt,v.alt=!!T.altKey),\"shiftKey\"in T&&(F=F||T.shiftKey!==v.shift,v.shift=!!T.shiftKey),\"ctrlKey\"in T&&(F=F||T.ctrlKey!==v.control,v.control=!!T.ctrlKey),\"metaKey\"in T&&(F=F||T.metaKey!==v.meta,v.meta=!!T.metaKey),F}function p(T,F){var q=s.x(F),V=s.y(F);\"buttons\"in F&&(T=F.buttons|0),(T!==f||q!==h||V!==d||b(F))&&(f=T|0,h=q||0,d=V||0,c&&c(f,h,d,v))}function E(T){p(0,T)}function k(){(f||h||d||v.shift||v.alt||v.meta||v.control)&&(h=d=0,f=0,v.shift=v.alt=v.control=v.meta=!1,c&&c(0,0,0,v))}function A(T){b(T)&&c&&c(f,h,d,v)}function L(T){s.buttons(T)===0?p(0,T):p(f,T)}function _(T){p(f|s.buttons(T),T)}function C(T){p(f&~s.buttons(T),T)}function M(){x||(x=!0,u.addEventListener(\"mousemove\",L),u.addEventListener(\"mousedown\",_),u.addEventListener(\"mouseup\",C),u.addEventListener(\"mouseleave\",E),u.addEventListener(\"mouseenter\",E),u.addEventListener(\"mouseout\",E),u.addEventListener(\"mouseover\",E),u.addEventListener(\"blur\",k),u.addEventListener(\"keyup\",A),u.addEventListener(\"keydown\",A),u.addEventListener(\"keypress\",A),u!==window&&(window.addEventListener(\"blur\",k),window.addEventListener(\"keyup\",A),window.addEventListener(\"keydown\",A),window.addEventListener(\"keypress\",A)))}function g(){x&&(x=!1,u.removeEventListener(\"mousemove\",L),u.removeEventListener(\"mousedown\",_),u.removeEventListener(\"mouseup\",C),u.removeEventListener(\"mouseleave\",E),u.removeEventListener(\"mouseenter\",E),u.removeEventListener(\"mouseout\",E),u.removeEventListener(\"mouseover\",E),u.removeEventListener(\"blur\",k),u.removeEventListener(\"keyup\",A),u.removeEventListener(\"keydown\",A),u.removeEventListener(\"keypress\",A),u!==window&&(window.removeEventListener(\"blur\",k),window.removeEventListener(\"keyup\",A),window.removeEventListener(\"keydown\",A),window.removeEventListener(\"keypress\",A)))}M();var P={element:u};return Object.defineProperties(P,{enabled:{get:function(){return x},set:function(T){T?M():g()},enumerable:!0},buttons:{get:function(){return f},enumerable:!0},x:{get:function(){return h},enumerable:!0},y:{get:function(){return d},enumerable:!0},mods:{get:function(){return v},enumerable:!0}}),P}},24:function(i){var a={left:0,top:0};i.exports=o;function o(l,u,c){u=u||l.currentTarget||l.srcElement,Array.isArray(c)||(c=[0,0]);var f=l.clientX||0,h=l.clientY||0,d=s(u);return c[0]=f-d.left,c[1]=h-d.top,c}function s(l){return l===window||l===document||l===document.body?a:l.getBoundingClientRect()}},4687:function(i,a){\"use strict\";function o(c){if(typeof c==\"object\"){if(\"buttons\"in c)return c.buttons;if(\"which\"in c){var f=c.which;if(f===2)return 4;if(f===3)return 2;if(f>0)return 1<<f-1}else if(\"button\"in c){var f=c.button;if(f===1)return 4;if(f===2)return 2;if(f>=0)return 1<<f}}return 0}a.buttons=o;function s(c){return c.target||c.srcElement||window}a.element=s;function l(c){if(typeof c==\"object\"){if(\"offsetX\"in c)return c.offsetX;var f=s(c),h=f.getBoundingClientRect();return c.clientX-h.left}return 0}a.x=l;function u(c){if(typeof c==\"object\"){if(\"offsetY\"in c)return c.offsetY;var f=s(c),h=f.getBoundingClientRect();return c.clientY-h.top}return 0}a.y=u},8512:function(i,a,o){\"use strict\";var s=o(665);i.exports=l;function l(u,c,f){typeof u==\"function\"&&(f=!!c,c=u,u=window);var h=s(\"ex\",u),d=function(v){f&&v.preventDefault();var x=v.deltaX||0,b=v.deltaY||0,p=v.deltaZ||0,E=v.deltaMode,k=1;switch(E){case 1:k=h;break;case 2:k=window.innerHeight;break}if(x*=k,b*=k,p*=k,x||b||p)return c(x,b,p,v)};return u.addEventListener(\"wheel\",d),d}},2640:function(i,a,o){\"use strict\";var s=o(1888);i.exports=c;var l={\"false,0,1\":function(h,d,v,x,b){return function(E,k,A,L){var _=E.shape[0]|0,C=E.shape[1]|0,M=E.data,g=E.offset|0,P=E.stride[0]|0,T=E.stride[1]|0,F=g,q,V=-P|0,H=0,X=-T|0,G=0,N=-P-T|0,W=0,re=P|0,ae=T-P*_|0,_e=0,Me=0,ke=0,ge=2*_|0,ie=x(ge),Te=x(ge),Ee=0,Ae=0,ze=-1,Ce=-1,me=0,Re=-_|0,ce=_|0,Ge=0,nt=-_-1|0,ct=_-1|0,qt=0,rt=0,ot=0;for(_e=0;_e<_;++_e)ie[Ee++]=v(M[F],k,A,L),F+=re;if(F+=ae,C>0){if(Me=1,ie[Ee++]=v(M[F],k,A,L),F+=re,_>0)for(_e=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++),Ee+=1,F+=re,_e=2;_e<_;++_e)q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++,qt!==me&&d(Te[Ee+ze],rt,W,H,qt,me,k,A,L)),Ee+=1,F+=re;for(F+=ae,Ee=0,ot=ze,ze=Ce,Ce=ot,ot=Re,Re=ce,ce=ot,ot=nt,nt=ct,ct=ot,Me=2;Me<C;++Me){if(ie[Ee++]=v(M[F],k,A,L),F+=re,_>0)for(_e=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++,qt!==Ge&&d(Te[Ee+Re],rt,G,W,Ge,qt,k,A,L)),Ee+=1,F+=re,_e=2;_e<_;++_e)q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++,qt!==Ge&&d(Te[Ee+Re],rt,G,W,Ge,qt,k,A,L),qt!==me&&d(Te[Ee+ze],rt,W,H,qt,me,k,A,L)),Ee+=1,F+=re;Me&1&&(Ee=0),ot=ze,ze=Ce,Ce=ot,ot=Re,Re=ce,ce=ot,ot=nt,nt=ct,ct=ot,F+=ae}}b(Te),b(ie)}},\"false,1,0\":function(h,d,v,x,b){return function(E,k,A,L){var _=E.shape[0]|0,C=E.shape[1]|0,M=E.data,g=E.offset|0,P=E.stride[0]|0,T=E.stride[1]|0,F=g,q,V=-P|0,H=0,X=-T|0,G=0,N=-P-T|0,W=0,re=T|0,ae=P-T*C|0,_e=0,Me=0,ke=0,ge=2*C|0,ie=x(ge),Te=x(ge),Ee=0,Ae=0,ze=-1,Ce=-1,me=0,Re=-C|0,ce=C|0,Ge=0,nt=-C-1|0,ct=C-1|0,qt=0,rt=0,ot=0;for(Me=0;Me<C;++Me)ie[Ee++]=v(M[F],k,A,L),F+=re;if(F+=ae,_>0){if(_e=1,ie[Ee++]=v(M[F],k,A,L),F+=re,C>0)for(Me=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++),Ee+=1,F+=re,Me=2;Me<C;++Me)q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++,qt!==me&&d(Te[Ee+ze],rt,G,W,me,qt,k,A,L)),Ee+=1,F+=re;for(F+=ae,Ee=0,ot=Re,Re=ce,ce=ot,ot=ze,ze=Ce,Ce=ot,ot=nt,nt=ct,ct=ot,_e=2;_e<_;++_e){if(ie[Ee++]=v(M[F],k,A,L),F+=re,C>0)for(Me=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++,qt!==Ge&&d(Te[Ee+Re],rt,W,H,qt,Ge,k,A,L)),Ee+=1,F+=re,Me=2;Me<C;++Me)q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++,qt!==me&&d(Te[Ee+ze],rt,G,W,me,qt,k,A,L),qt!==Ge&&d(Te[Ee+Re],rt,W,H,qt,Ge,k,A,L)),Ee+=1,F+=re;_e&1&&(Ee=0),ot=Re,Re=ce,ce=ot,ot=ze,ze=Ce,Ce=ot,ot=nt,nt=ct,ct=ot,F+=ae}}b(Te),b(ie)}}};function u(f,h,d,v,x,b){var p=[b,x].join(\",\"),E=l[p];return E(f,h,d,s.mallocUint32,s.freeUint32)}function c(f){function h(k){throw new Error(\"ndarray-extract-contour: \"+k)}typeof f!=\"object\"&&h(\"Must specify arguments\");var d=f.order;Array.isArray(d)||h(\"Must specify order\");var v=f.arrayArguments||1;v<1&&h(\"Must have at least one array argument\");var x=f.scalarArguments||0;x<0&&h(\"Scalar arg count must be > 0\"),typeof f.vertex!=\"function\"&&h(\"Must specify vertex creation function\"),typeof f.cell!=\"function\"&&h(\"Must specify cell creation function\"),typeof f.phase!=\"function\"&&h(\"Must specify phase function\");for(var b=f.getters||[],p=new Array(v),E=0;E<v;++E)b.indexOf(E)>=0?p[E]=!0:p[E]=!1;return u(f.vertex,f.cell,f.phase,x,d,p)}},6199:function(i,a,o){\"use strict\";var s=o(1338),l={zero:function(L,_,C,M){var g=L[0],P=C[0];M|=0;var T=0,F=P;for(T=0;T<g;++T)_[M]=0,M+=F},fdTemplate1:function(L,_,C,M,g,P,T){var F=L[0],q=C[0],V=P[0],H=-1*q,X=q;M|=0,T|=0;var G=0,N=q,W=V;for(G=0;G<F;++G)g[T]=.5*(_[M+H]-_[M+X]),M+=N,T+=W},fdTemplate2:function(L,_,C,M,g,P,T,F,q,V){var H=L[0],X=L[1],G=C[0],N=C[1],W=P[0],re=P[1],ae=q[0],_e=q[1],Me=-1*G,ke=G,ge=-1*N,ie=N;M|=0,T|=0,V|=0;var Te=0,Ee=0,Ae=N,ze=G-X*N,Ce=re,me=W-X*re,Re=_e,ce=ae-X*_e;for(Ee=0;Ee<H;++Ee){for(Te=0;Te<X;++Te)g[T]=.5*(_[M+Me]-_[M+ke]),F[V]=.5*(_[M+ge]-_[M+ie]),M+=Ae,T+=Ce,V+=Re;M+=ze,T+=me,V+=ce}}},u={cdiff:function(L){var _={};return function(M,g,P){var T=M.dtype,F=M.order,q=g.dtype,V=g.order,H=P.dtype,X=P.order,G=[T,F.join(),q,V.join(),H,X.join()].join(),N=_[G];return N||(_[G]=N=L([T,F,q,V,H,X])),N(M.shape.slice(0),M.data,M.stride,M.offset|0,g.data,g.stride,g.offset|0,P.data,P.stride,P.offset|0)}},zero:function(L){var _={};return function(M){var g=M.dtype,P=M.order,T=[g,P.join()].join(),F=_[T];return F||(_[T]=F=L([g,P])),F(M.shape.slice(0),M.data,M.stride,M.offset|0)}},fdTemplate1:function(L){var _={};return function(M,g){var P=M.dtype,T=M.order,F=g.dtype,q=g.order,V=[P,T.join(),F,q.join()].join(),H=_[V];return H||(_[V]=H=L([P,T,F,q])),H(M.shape.slice(0),M.data,M.stride,M.offset|0,g.data,g.stride,g.offset|0)}},fdTemplate2:function(L){var _={};return function(M,g,P){var T=M.dtype,F=M.order,q=g.dtype,V=g.order,H=P.dtype,X=P.order,G=[T,F.join(),q,V.join(),H,X.join()].join(),N=_[G];return N||(_[G]=N=L([T,F,q,V,H,X])),N(M.shape.slice(0),M.data,M.stride,M.offset|0,g.data,g.stride,g.offset|0,P.data,P.stride,P.offset|0)}}};function c(L){var _=u[L.funcName];return _(f.bind(void 0,L))}function f(L){return l[L.funcName]}function h(L){return c({funcName:L.funcName})}var d={},v={},x={body:\"\",args:[],thisVars:[],localVars:[]},b=h({funcName:\"cdiff\"}),p=h({funcName:\"zero\"});function E(L){return L in d?d[L]:d[L]=h({funcName:\"fdTemplate\"+L})}function k(L,_,C,M){return function(g,P){var T=P.shape.slice();return T[0]>2&&T[1]>2&&M(P.pick(-1,-1).lo(1,1).hi(T[0]-2,T[1]-2),g.pick(-1,-1,0).lo(1,1).hi(T[0]-2,T[1]-2),g.pick(-1,-1,1).lo(1,1).hi(T[0]-2,T[1]-2)),T[1]>2&&(C(P.pick(0,-1).lo(1).hi(T[1]-2),g.pick(0,-1,1).lo(1).hi(T[1]-2)),_(g.pick(0,-1,0).lo(1).hi(T[1]-2))),T[1]>2&&(C(P.pick(T[0]-1,-1).lo(1).hi(T[1]-2),g.pick(T[0]-1,-1,1).lo(1).hi(T[1]-2)),_(g.pick(T[0]-1,-1,0).lo(1).hi(T[1]-2))),T[0]>2&&(C(P.pick(-1,0).lo(1).hi(T[0]-2),g.pick(-1,0,0).lo(1).hi(T[0]-2)),_(g.pick(-1,0,1).lo(1).hi(T[0]-2))),T[0]>2&&(C(P.pick(-1,T[1]-1).lo(1).hi(T[0]-2),g.pick(-1,T[1]-1,0).lo(1).hi(T[0]-2)),_(g.pick(-1,T[1]-1,1).lo(1).hi(T[0]-2))),g.set(0,0,0,0),g.set(0,0,1,0),g.set(T[0]-1,0,0,0),g.set(T[0]-1,0,1,0),g.set(0,T[1]-1,0,0),g.set(0,T[1]-1,1,0),g.set(T[0]-1,T[1]-1,0,0),g.set(T[0]-1,T[1]-1,1,0),g}}function A(L){var _=L.join(),T=v[_];if(T)return T;for(var C=L.length,M=[b,p],g=1;g<=C;++g)M.push(E(g));var P=k,T=P.apply(void 0,M);return v[_]=T,T}i.exports=function(_,C,M){if(Array.isArray(M)||(typeof M==\"string\"?M=s(C.dimension,M):M=s(C.dimension,\"clamp\")),C.size===0)return _;if(C.dimension===0)return _.set(0),_;var g=A(M);return g(_,C)}},4317:function(i){\"use strict\";function a(c,f){var h=Math.floor(f),d=f-h,v=0<=h&&h<c.shape[0],x=0<=h+1&&h+1<c.shape[0],b=v?+c.get(h):0,p=x?+c.get(h+1):0;return(1-d)*b+d*p}function o(c,f,h){var d=Math.floor(f),v=f-d,x=0<=d&&d<c.shape[0],b=0<=d+1&&d+1<c.shape[0],p=Math.floor(h),E=h-p,k=0<=p&&p<c.shape[1],A=0<=p+1&&p+1<c.shape[1],L=x&&k?c.get(d,p):0,_=x&&A?c.get(d,p+1):0,C=b&&k?c.get(d+1,p):0,M=b&&A?c.get(d+1,p+1):0;return(1-E)*((1-v)*L+v*C)+E*((1-v)*_+v*M)}function s(c,f,h,d){var v=Math.floor(f),x=f-v,b=0<=v&&v<c.shape[0],p=0<=v+1&&v+1<c.shape[0],E=Math.floor(h),k=h-E,A=0<=E&&E<c.shape[1],L=0<=E+1&&E+1<c.shape[1],_=Math.floor(d),C=d-_,M=0<=_&&_<c.shape[2],g=0<=_+1&&_+1<c.shape[2],P=b&&A&&M?c.get(v,E,_):0,T=b&&L&&M?c.get(v,E+1,_):0,F=p&&A&&M?c.get(v+1,E,_):0,q=p&&L&&M?c.get(v+1,E+1,_):0,V=b&&A&&g?c.get(v,E,_+1):0,H=b&&L&&g?c.get(v,E+1,_+1):0,X=p&&A&&g?c.get(v+1,E,_+1):0,G=p&&L&&g?c.get(v+1,E+1,_+1):0;return(1-C)*((1-k)*((1-x)*P+x*F)+k*((1-x)*T+x*q))+C*((1-k)*((1-x)*V+x*X)+k*((1-x)*H+x*G))}function l(c){var f=c.shape.length|0,h=new Array(f),d=new Array(f),v=new Array(f),x=new Array(f),b,p;for(b=0;b<f;++b)p=+arguments[b+1],h[b]=Math.floor(p),d[b]=p-h[b],v[b]=0<=h[b]&&h[b]<c.shape[b],x[b]=0<=h[b]+1&&h[b]+1<c.shape[b];var E=0,k,A,L;e:for(b=0;b<1<<f;++b){for(A=1,L=c.offset,k=0;k<f;++k)if(b&1<<k){if(!x[k])continue e;A*=d[k],L+=c.stride[k]*(h[k]+1)}else{if(!v[k])continue e;A*=1-d[k],L+=c.stride[k]*h[k]}E+=A*c.data[L]}return E}function u(c,f,h,d){switch(c.shape.length){case 0:return 0;case 1:return a(c,f);case 2:return o(c,f,h);case 3:return s(c,f,h,d);default:return l.apply(void 0,arguments)}}i.exports=u,i.exports.d1=a,i.exports.d2=o,i.exports.d3=s},5298:function(i,a){\"use strict\";var o={\"float64,2,1,0\":function(){return function(v,x,b,p,E){var k=v[0],A=v[1],L=v[2],_=b[0],C=b[1],M=b[2];p|=0;var g=0,P=0,T=0,F=M,q=C-L*M,V=_-A*C;for(T=0;T<k;++T){for(P=0;P<A;++P){for(g=0;g<L;++g)x[p]/=E,p+=F;p+=q}p+=V}}},\"uint8,2,0,1,float64,2,1,0\":function(){return function(v,x,b,p,E,k,A,L){var _=v[0],C=v[1],M=v[2],g=b[0],P=b[1],T=b[2],F=k[0],q=k[1],V=k[2];p|=0,A|=0;for(var H=p,X=A,G=v[0]|0;G>0;){G<64?(_=G,G=0):(_=64,G-=64);for(var N=v[1]|0;N>0;){N<64?(C=N,N=0):(C=64,N-=64),p=H+G*g+N*P,A=X+G*F+N*q;var W=0,re=0,ae=0,_e=T,Me=g-M*T,ke=P-_*g,ge=V,ie=F-M*V,Te=q-_*F;for(ae=0;ae<C;++ae){for(re=0;re<_;++re){for(W=0;W<M;++W)x[p]=E[A]*L,p+=_e,A+=ge;p+=Me,A+=ie}p+=ke,A+=Te}}}}},\"float32,1,0,float32,1,0\":function(){return function(v,x,b,p,E,k,A){var L=v[0],_=v[1],C=b[0],M=b[1],g=k[0],P=k[1];p|=0,A|=0;var T=0,F=0,q=M,V=C-_*M,H=P,X=g-_*P;for(F=0;F<L;++F){for(T=0;T<_;++T)x[p]=E[A],p+=q,A+=H;p+=V,A+=X}}},\"float32,1,0,float32,0,1\":function(){return function(v,x,b,p,E,k,A){var L=v[0],_=v[1],C=b[0],M=b[1],g=k[0],P=k[1];p|=0,A|=0;for(var T=p,F=A,q=v[1]|0;q>0;){q<64?(_=q,q=0):(_=64,q-=64);for(var V=v[0]|0;V>0;){V<64?(L=V,V=0):(L=64,V-=64),p=T+q*M+V*C,A=F+q*P+V*g;var H=0,X=0,G=M,N=C-_*M,W=P,re=g-_*P;for(X=0;X<L;++X){for(H=0;H<_;++H)x[p]=E[A],p+=G,A+=W;p+=N,A+=re}}}}},\"uint8,2,0,1,uint8,1,2,0\":function(){return function(v,x,b,p,E,k,A){var L=v[0],_=v[1],C=v[2],M=b[0],g=b[1],P=b[2],T=k[0],F=k[1],q=k[2];p|=0,A|=0;for(var V=p,H=A,X=v[2]|0;X>0;){X<64?(C=X,X=0):(C=64,X-=64);for(var G=v[0]|0;G>0;){G<64?(L=G,G=0):(L=64,G-=64);for(var N=v[1]|0;N>0;){N<64?(_=N,N=0):(_=64,N-=64),p=V+X*P+G*M+N*g,A=H+X*q+G*T+N*F;var W=0,re=0,ae=0,_e=P,Me=M-C*P,ke=g-L*M,ge=q,ie=T-C*q,Te=F-L*T;for(ae=0;ae<_;++ae){for(re=0;re<L;++re){for(W=0;W<C;++W)x[p]=E[A],p+=_e,A+=ge;p+=Me,A+=ie}p+=ke,A+=Te}}}}}},\"uint8,2,0,1,array,2,0,1\":function(){return function(v,x,b,p,E,k,A){var L=v[0],_=v[1],C=v[2],M=b[0],g=b[1],P=b[2],T=k[0],F=k[1],q=k[2];p|=0,A|=0;var V=0,H=0,X=0,G=P,N=M-C*P,W=g-L*M,re=q,ae=T-C*q,_e=F-L*T;for(X=0;X<_;++X){for(H=0;H<L;++H){for(V=0;V<C;++V)x[p]=E[A],p+=G,A+=re;p+=N,A+=ae}p+=W,A+=_e}}}};function s(d,v){var x=v.join(\",\"),b=o[x];return b()}var l=s,u={mul:function(d){var v={};return function(b,p,E){var k=b.dtype,A=b.order,L=p.dtype,_=p.order,C=E.dtype,M=E.order,g=[k,A.join(),L,_.join(),C,M.join()].join(),P=v[g];return P||(v[g]=P=d([k,A,L,_,C,M])),P(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0,E.data,E.stride,E.offset|0)}},muls:function(d){var v={};return function(b,p,E){var k=b.dtype,A=b.order,L=p.dtype,_=p.order,C=[k,A.join(),L,_.join()].join(),M=v[C];return M||(v[C]=M=d([k,A,L,_])),M(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0,E)}},mulseq:function(d){var v={};return function(b,p){var E=b.dtype,k=b.order,A=[E,k.join()].join(),L=v[A];return L||(v[A]=L=d([E,k])),L(b.shape.slice(0),b.data,b.stride,b.offset|0,p)}},div:function(d){var v={};return function(b,p,E){var k=b.dtype,A=b.order,L=p.dtype,_=p.order,C=E.dtype,M=E.order,g=[k,A.join(),L,_.join(),C,M.join()].join(),P=v[g];return P||(v[g]=P=d([k,A,L,_,C,M])),P(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0,E.data,E.stride,E.offset|0)}},divs:function(d){var v={};return function(b,p,E){var k=b.dtype,A=b.order,L=p.dtype,_=p.order,C=[k,A.join(),L,_.join()].join(),M=v[C];return M||(v[C]=M=d([k,A,L,_])),M(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0,E)}},divseq:function(d){var v={};return function(b,p){var E=b.dtype,k=b.order,A=[E,k.join()].join(),L=v[A];return L||(v[A]=L=d([E,k])),L(b.shape.slice(0),b.data,b.stride,b.offset|0,p)}},assign:function(d){var v={};return function(b,p){var E=b.dtype,k=b.order,A=p.dtype,L=p.order,_=[E,k.join(),A,L.join()].join(),C=v[_];return C||(v[_]=C=d([E,k,A,L])),C(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0)}}};function c(d){var v=u[d.funcName];return v(l.bind(void 0,d))}function f(d){return c({funcName:d.funcName})}var h={mul:\"*\",div:\"/\"};(function(){for(var d in h)a[d]=f({funcName:d}),a[d+\"s\"]=f({funcName:d+\"s\"}),a[d+\"seq\"]=f({funcName:d+\"seq\"})})(),a.assign=f({funcName:\"assign\"})},9994:function(i,a,o){\"use strict\";var s=o(9618),l=o(8277);i.exports=function(c,f){for(var h=[],d=c,v=1;Array.isArray(d);)h.push(d.length),v*=d.length,d=d[0];return h.length===0?s():(f||(f=s(new Float64Array(v),h)),l(f,c),f)}},8277:function(i){\"use strict\";function a(){return function(f,h,d,v,x){var b=f[0],p=f[1],E=f[2],k=d[0],A=d[1],L=d[2],_=[0,0,0];v|=0;var C=0,M=0,g=0,P=L,T=A-E*L,F=k-p*A;for(g=0;g<b;++g){for(M=0;M<p;++M){for(C=0;C<E;++C){{var q=x,V;for(V=0;V<_.length-1;++V)q=q[_[V]];h[v]=q[_[_.length-1]]}v+=P,++_[2]}v+=T,_[2]-=E,++_[1]}v+=F,_[1]-=p,++_[0]}}}function o(){return a()}var s=o;function l(f){var h={};return function(v,x){var b=v.dtype,p=v.order,E=[b,p.join()].join(),k=h[E];return k||(h[E]=k=f([b,p])),k(v.shape.slice(0),v.data,v.stride,v.offset|0,x)}}function u(f){return l(s.bind(void 0,f))}function c(f){return u({funcName:f.funcName})}i.exports=c({funcName:\"convert\"})},7640:function(i,a,o){\"use strict\";var s=o(1888);function l(x){switch(x){case\"uint32\":return[s.mallocUint32,s.freeUint32];default:return null}}var u={\"uint32,1,0\":function(x,b){return function(E,k,A,L,_,C,M,g,P,T,F){var q,V,H,X=E*_+L,G,N=x(g),W,re,ae,_e;for(q=E+1;q<=k;++q){for(V=q,X+=_,H=X,W=0,re=X,G=0;G<g;++G)N[W++]=A[re],re+=P;e:for(;V-- >E;){W=0,re=H-_;t:for(G=0;G<g;++G){if(ae=A[re],_e=N[W],ae<_e)break e;if(ae>_e)break t;re+=T,W+=F}for(W=H,re=H-_,G=0;G<g;++G)A[W]=A[re],W+=P,re+=P;H-=_}for(W=H,re=0,G=0;G<g;++G)A[W]=N[re++],W+=P}b(N)}}};function c(x,b){var p=l(b),E=[b,x].join(\",\"),k=u[E];return p?k(p[0],p[1]):k()}var f={\"uint32,1,0\":function(x,b,p){return function E(k,A,L,_,C,M,g,P,T,F,q){var V=(A-k+1)/6|0,H=k+V,X=A-V,G=k+A>>1,N=G-V,W=G+V,re=H,ae=N,_e=G,Me=W,ke=X,ge=k+1,ie=A-1,Te=!0,Ee,Ae,ze,Ce,me,Re,ce,Ge,nt,ct=0,qt=0,rt=0,ot,Rt,kt,Ct,Yt,xr,er,Ke,xt,bt,Lt,St,Et,dt,Ht,$t,fr=P,_r=b(fr),Br=b(fr);Rt=C*re,kt=C*ae,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=re,re=ae,ae=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*Me,kt=C*ke,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=Me,Me=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*re,kt=C*_e,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=re,re=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*ae,kt=C*_e,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=ae,ae=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*re,kt=C*Me,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=re,re=Me,Me=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*_e,kt=C*Me,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=_e,_e=Me,Me=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*ae,kt=C*ke,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=ae,ae=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*ae,kt=C*_e,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=ae,ae=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*Me,kt=C*ke,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=Me,Me=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}for(Rt=C*re,kt=C*ae,Ct=C*_e,Yt=C*Me,xr=C*ke,er=C*H,Ke=C*G,xt=C*X,Ht=0,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,nt=Ct+$t,bt=Yt+$t,Lt=xr+$t,St=er+$t,Et=Ke+$t,dt=xt+$t,_r[Ht]=L[Ge],Br[Ht]=L[bt],Te=Te&&_r[Ht]===Br[Ht],ze=L[ce],Ce=L[nt],me=L[Lt],L[St]=ze,L[Et]=Ce,L[dt]=me,++Ht,$t+=T;for(Rt=C*N,kt=C*k,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,L[ce]=L[Ge],$t+=T;for(Rt=C*W,kt=C*A,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,L[ce]=L[Ge],$t+=T;if(Te)for(Re=ge;Re<=ie;++Re){ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-_r[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt!==0)if(rt<0){if(Re!==ge)for(Rt=C*Re,kt=C*ge,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;++ge}else for(;;){ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-_r[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt>0)ie--;else if(rt<0){for(Rt=C*Re,kt=C*ge,Ct=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,nt=Ct+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=L[nt],L[nt]=Ee,$t+=T;++ge,--ie;break}else{for(Rt=C*Re,kt=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;--ie;break}}}else for(Re=ge;Re<=ie;++Re){ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(ct=L[ce]-_r[Ht],ct!==0)break e;Ht+=q,ce+=F}if(ct<0){if(Re!==ge)for(Rt=C*Re,kt=C*ge,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;++ge}else{ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(qt=L[ce]-Br[Ht],qt!==0)break e;Ht+=q,ce+=F}if(qt>0)for(;;){ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-Br[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt>0){if(--ie<Re)break;continue}else{ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-_r[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt<0){for(Rt=C*Re,kt=C*ge,Ct=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,nt=Ct+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=L[nt],L[nt]=Ee,$t+=T;++ge,--ie}else{for(Rt=C*Re,kt=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;--ie}break}}}}for(Rt=C*k,kt=C*(ge-1),Ht=0,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,L[ce]=L[Ge],L[Ge]=_r[Ht],++Ht,$t+=T;for(Rt=C*A,kt=C*(ie+1),Ht=0,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,L[ce]=L[Ge],L[Ge]=Br[Ht],++Ht,$t+=T;if(ge-2-k<=32?x(k,ge-2,L,_,C,M,g,P,T,F,q):E(k,ge-2,L,_,C,M,g,P,T,F,q),A-(ie+2)<=32?x(ie+2,A,L,_,C,M,g,P,T,F,q):E(ie+2,A,L,_,C,M,g,P,T,F,q),Te){p(_r),p(Br);return}if(ge<H&&ie>X){e:for(;;){for(ce=_+ge*C,Ht=0,$t=_,ot=0;ot<P;++ot){if(L[ce]!==_r[Ht])break e;++Ht,ce+=T}++ge}e:for(;;){for(ce=_+ie*C,Ht=0,$t=_,ot=0;ot<P;++ot){if(L[ce]!==Br[Ht])break e;++Ht,ce+=T}--ie}for(Re=ge;Re<=ie;++Re){ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(ct=L[ce]-_r[Ht],ct!==0)break e;Ht+=q,ce+=F}if(ct===0){if(Re!==ge)for(Rt=C*Re,kt=C*ge,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;++ge}else{ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(qt=L[ce]-Br[Ht],qt!==0)break e;Ht+=q,ce+=F}if(qt===0)for(;;){ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-Br[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt===0){if(--ie<Re)break;continue}else{ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-_r[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt<0){for(Rt=C*Re,kt=C*ge,Ct=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,nt=Ct+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=L[nt],L[nt]=Ee,$t+=T;++ge,--ie}else{for(Rt=C*Re,kt=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;--ie}break}}}}}p(_r),p(Br),ie-ge<=32?x(ge,ie,L,_,C,M,g,P,T,F,q):E(ge,ie,L,_,C,M,g,P,T,F,q)}}};function h(x,b,p){var E=l(b),k=[b,x].join(\",\"),A=f[k];return x.length>1&&E?A(p,E[0],E[1]):A(p)}var d={\"uint32,1,0\":function(x,b){return function(p){var E=p.data,k=p.offset|0,A=p.shape,L=p.stride,_=L[0]|0,C=A[0]|0,M=L[1]|0,g=A[1]|0,P=M,T=M,F=1;C<=32?x(0,C-1,E,k,_,M,C,g,P,T,F):b(0,C-1,E,k,_,M,C,g,P,T,F)}}};function v(x,b){var p=[b,x].join(\",\"),E=d[p],k=c(x,b),A=h(x,b,k);return E(k,A)}i.exports=v},446:function(i,a,o){\"use strict\";var s=o(7640),l={};function u(c){var f=c.order,h=c.dtype,d=[f,h],v=d.join(\":\"),x=l[v];return x||(l[v]=x=s(f,h)),x(c),c}i.exports=u},9618:function(i,a,o){var s=o(7163),l=typeof Float64Array!=\"undefined\";function u(b,p){return b[0]-p[0]}function c(){var b=this.stride,p=new Array(b.length),E;for(E=0;E<p.length;++E)p[E]=[Math.abs(b[E]),E];p.sort(u);var k=new Array(p.length);for(E=0;E<k.length;++E)k[E]=p[E][1];return k}var f={T:function(b){function p(k){this.data=k}var E=p.prototype;return E.dtype=b,E.index=function(){return-1},E.size=0,E.dimension=-1,E.shape=E.stride=E.order=[],E.lo=E.hi=E.transpose=E.step=function(){return new p(this.data)},E.get=E.set=function(){},E.pick=function(){return null},function(A){return new p(A)}},0:function(b,p){function E(A,L){this.data=A,this.offset=L}var k=E.prototype;return k.dtype=b,k.index=function(){return this.offset},k.dimension=0,k.size=1,k.shape=k.stride=k.order=[],k.lo=k.hi=k.transpose=k.step=function(){return new E(this.data,this.offset)},k.pick=function(){return p(this.data)},k.valueOf=k.get=function(){return b===\"generic\"?this.data.get(this.offset):this.data[this.offset]},k.set=function(L){return b===\"generic\"?this.data.set(this.offset,L):this.data[this.offset]=L},function(L,_,C,M){return new E(L,M)}},1:function(b,p,E){function k(L,_,C,M){this.data=L,this.shape=[_],this.stride=[C],this.offset=M|0}var A=k.prototype;return A.dtype=b,A.dimension=1,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]}}),A.order=[0],A.set=function(_,C){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*_,C):this.data[this.offset+this.stride[0]*_]=C},A.get=function(_){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*_):this.data[this.offset+this.stride[0]*_]},A.index=function(_){return this.offset+this.stride[0]*_},A.hi=function(_){return new k(this.data,typeof _!=\"number\"||_<0?this.shape[0]:_|0,this.stride[0],this.offset)},A.lo=function(_){var C=this.offset,M=0,g=this.shape[0],P=this.stride[0];return typeof _==\"number\"&&_>=0&&(M=_|0,C+=P*M,g-=M),new k(this.data,g,P,C)},A.step=function(_){var C=this.shape[0],M=this.stride[0],g=this.offset,P=0,T=Math.ceil;return typeof _==\"number\"&&(P=_|0,P<0?(g+=M*(C-1),C=T(-C/P)):C=T(C/P),M*=P),new k(this.data,C,M,g)},A.transpose=function(_){_=_===void 0?0:_|0;var C=this.shape,M=this.stride;return new k(this.data,C[_],M[_],this.offset)},A.pick=function(_){var C=[],M=[],g=this.offset;typeof _==\"number\"&&_>=0?g=g+this.stride[0]*_|0:(C.push(this.shape[0]),M.push(this.stride[0]));var P=p[C.length+1];return P(this.data,C,M,g)},function(_,C,M,g){return new k(_,C[0],M[0],g)}},2:function(b,p,E){function k(L,_,C,M,g,P){this.data=L,this.shape=[_,C],this.stride=[M,g],this.offset=P|0}var A=k.prototype;return A.dtype=b,A.dimension=2,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(A,\"order\",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),A.set=function(_,C,M){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*_+this.stride[1]*C,M):this.data[this.offset+this.stride[0]*_+this.stride[1]*C]=M},A.get=function(_,C){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*_+this.stride[1]*C):this.data[this.offset+this.stride[0]*_+this.stride[1]*C]},A.index=function(_,C){return this.offset+this.stride[0]*_+this.stride[1]*C},A.hi=function(_,C){return new k(this.data,typeof _!=\"number\"||_<0?this.shape[0]:_|0,typeof C!=\"number\"||C<0?this.shape[1]:C|0,this.stride[0],this.stride[1],this.offset)},A.lo=function(_,C){var M=this.offset,g=0,P=this.shape[0],T=this.shape[1],F=this.stride[0],q=this.stride[1];return typeof _==\"number\"&&_>=0&&(g=_|0,M+=F*g,P-=g),typeof C==\"number\"&&C>=0&&(g=C|0,M+=q*g,T-=g),new k(this.data,P,T,F,q,M)},A.step=function(_,C){var M=this.shape[0],g=this.shape[1],P=this.stride[0],T=this.stride[1],F=this.offset,q=0,V=Math.ceil;return typeof _==\"number\"&&(q=_|0,q<0?(F+=P*(M-1),M=V(-M/q)):M=V(M/q),P*=q),typeof C==\"number\"&&(q=C|0,q<0?(F+=T*(g-1),g=V(-g/q)):g=V(g/q),T*=q),new k(this.data,M,g,P,T,F)},A.transpose=function(_,C){_=_===void 0?0:_|0,C=C===void 0?1:C|0;var M=this.shape,g=this.stride;return new k(this.data,M[_],M[C],g[_],g[C],this.offset)},A.pick=function(_,C){var M=[],g=[],P=this.offset;typeof _==\"number\"&&_>=0?P=P+this.stride[0]*_|0:(M.push(this.shape[0]),g.push(this.stride[0])),typeof C==\"number\"&&C>=0?P=P+this.stride[1]*C|0:(M.push(this.shape[1]),g.push(this.stride[1]));var T=p[M.length+1];return T(this.data,M,g,P)},function(_,C,M,g){return new k(_,C[0],C[1],M[0],M[1],g)}},3:function(b,p,E){function k(L,_,C,M,g,P,T,F){this.data=L,this.shape=[_,C,M],this.stride=[g,P,T],this.offset=F|0}var A=k.prototype;return A.dtype=b,A.dimension=3,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(A,\"order\",{get:function(){var _=Math.abs(this.stride[0]),C=Math.abs(this.stride[1]),M=Math.abs(this.stride[2]);return _>C?C>M?[2,1,0]:_>M?[1,2,0]:[1,0,2]:_>M?[2,0,1]:M>C?[0,1,2]:[0,2,1]}}),A.set=function(_,C,M,g){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M,g):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M]=g},A.get=function(_,C,M){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M]},A.index=function(_,C,M){return this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M},A.hi=function(_,C,M){return new k(this.data,typeof _!=\"number\"||_<0?this.shape[0]:_|0,typeof C!=\"number\"||C<0?this.shape[1]:C|0,typeof M!=\"number\"||M<0?this.shape[2]:M|0,this.stride[0],this.stride[1],this.stride[2],this.offset)},A.lo=function(_,C,M){var g=this.offset,P=0,T=this.shape[0],F=this.shape[1],q=this.shape[2],V=this.stride[0],H=this.stride[1],X=this.stride[2];return typeof _==\"number\"&&_>=0&&(P=_|0,g+=V*P,T-=P),typeof C==\"number\"&&C>=0&&(P=C|0,g+=H*P,F-=P),typeof M==\"number\"&&M>=0&&(P=M|0,g+=X*P,q-=P),new k(this.data,T,F,q,V,H,X,g)},A.step=function(_,C,M){var g=this.shape[0],P=this.shape[1],T=this.shape[2],F=this.stride[0],q=this.stride[1],V=this.stride[2],H=this.offset,X=0,G=Math.ceil;return typeof _==\"number\"&&(X=_|0,X<0?(H+=F*(g-1),g=G(-g/X)):g=G(g/X),F*=X),typeof C==\"number\"&&(X=C|0,X<0?(H+=q*(P-1),P=G(-P/X)):P=G(P/X),q*=X),typeof M==\"number\"&&(X=M|0,X<0?(H+=V*(T-1),T=G(-T/X)):T=G(T/X),V*=X),new k(this.data,g,P,T,F,q,V,H)},A.transpose=function(_,C,M){_=_===void 0?0:_|0,C=C===void 0?1:C|0,M=M===void 0?2:M|0;var g=this.shape,P=this.stride;return new k(this.data,g[_],g[C],g[M],P[_],P[C],P[M],this.offset)},A.pick=function(_,C,M){var g=[],P=[],T=this.offset;typeof _==\"number\"&&_>=0?T=T+this.stride[0]*_|0:(g.push(this.shape[0]),P.push(this.stride[0])),typeof C==\"number\"&&C>=0?T=T+this.stride[1]*C|0:(g.push(this.shape[1]),P.push(this.stride[1])),typeof M==\"number\"&&M>=0?T=T+this.stride[2]*M|0:(g.push(this.shape[2]),P.push(this.stride[2]));var F=p[g.length+1];return F(this.data,g,P,T)},function(_,C,M,g){return new k(_,C[0],C[1],C[2],M[0],M[1],M[2],g)}},4:function(b,p,E){function k(L,_,C,M,g,P,T,F,q,V){this.data=L,this.shape=[_,C,M,g],this.stride=[P,T,F,q],this.offset=V|0}var A=k.prototype;return A.dtype=b,A.dimension=4,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(A,\"order\",{get:E}),A.set=function(_,C,M,g,P){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g,P):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g]=P},A.get=function(_,C,M,g){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g]},A.index=function(_,C,M,g){return this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g},A.hi=function(_,C,M,g){return new k(this.data,typeof _!=\"number\"||_<0?this.shape[0]:_|0,typeof C!=\"number\"||C<0?this.shape[1]:C|0,typeof M!=\"number\"||M<0?this.shape[2]:M|0,typeof g!=\"number\"||g<0?this.shape[3]:g|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},A.lo=function(_,C,M,g){var P=this.offset,T=0,F=this.shape[0],q=this.shape[1],V=this.shape[2],H=this.shape[3],X=this.stride[0],G=this.stride[1],N=this.stride[2],W=this.stride[3];return typeof _==\"number\"&&_>=0&&(T=_|0,P+=X*T,F-=T),typeof C==\"number\"&&C>=0&&(T=C|0,P+=G*T,q-=T),typeof M==\"number\"&&M>=0&&(T=M|0,P+=N*T,V-=T),typeof g==\"number\"&&g>=0&&(T=g|0,P+=W*T,H-=T),new k(this.data,F,q,V,H,X,G,N,W,P)},A.step=function(_,C,M,g){var P=this.shape[0],T=this.shape[1],F=this.shape[2],q=this.shape[3],V=this.stride[0],H=this.stride[1],X=this.stride[2],G=this.stride[3],N=this.offset,W=0,re=Math.ceil;return typeof _==\"number\"&&(W=_|0,W<0?(N+=V*(P-1),P=re(-P/W)):P=re(P/W),V*=W),typeof C==\"number\"&&(W=C|0,W<0?(N+=H*(T-1),T=re(-T/W)):T=re(T/W),H*=W),typeof M==\"number\"&&(W=M|0,W<0?(N+=X*(F-1),F=re(-F/W)):F=re(F/W),X*=W),typeof g==\"number\"&&(W=g|0,W<0?(N+=G*(q-1),q=re(-q/W)):q=re(q/W),G*=W),new k(this.data,P,T,F,q,V,H,X,G,N)},A.transpose=function(_,C,M,g){_=_===void 0?0:_|0,C=C===void 0?1:C|0,M=M===void 0?2:M|0,g=g===void 0?3:g|0;var P=this.shape,T=this.stride;return new k(this.data,P[_],P[C],P[M],P[g],T[_],T[C],T[M],T[g],this.offset)},A.pick=function(_,C,M,g){var P=[],T=[],F=this.offset;typeof _==\"number\"&&_>=0?F=F+this.stride[0]*_|0:(P.push(this.shape[0]),T.push(this.stride[0])),typeof C==\"number\"&&C>=0?F=F+this.stride[1]*C|0:(P.push(this.shape[1]),T.push(this.stride[1])),typeof M==\"number\"&&M>=0?F=F+this.stride[2]*M|0:(P.push(this.shape[2]),T.push(this.stride[2])),typeof g==\"number\"&&g>=0?F=F+this.stride[3]*g|0:(P.push(this.shape[3]),T.push(this.stride[3]));var q=p[P.length+1];return q(this.data,P,T,F)},function(_,C,M,g){return new k(_,C[0],C[1],C[2],C[3],M[0],M[1],M[2],M[3],g)}},5:function(p,E,k){function A(_,C,M,g,P,T,F,q,V,H,X,G){this.data=_,this.shape=[C,M,g,P,T],this.stride=[F,q,V,H,X],this.offset=G|0}var L=A.prototype;return L.dtype=p,L.dimension=5,Object.defineProperty(L,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(L,\"order\",{get:k}),L.set=function(C,M,g,P,T,F){return p===\"generic\"?this.data.set(this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T,F):this.data[this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T]=F},L.get=function(C,M,g,P,T){return p===\"generic\"?this.data.get(this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T):this.data[this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T]},L.index=function(C,M,g,P,T){return this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T},L.hi=function(C,M,g,P,T){return new A(this.data,typeof C!=\"number\"||C<0?this.shape[0]:C|0,typeof M!=\"number\"||M<0?this.shape[1]:M|0,typeof g!=\"number\"||g<0?this.shape[2]:g|0,typeof P!=\"number\"||P<0?this.shape[3]:P|0,typeof T!=\"number\"||T<0?this.shape[4]:T|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},L.lo=function(C,M,g,P,T){var F=this.offset,q=0,V=this.shape[0],H=this.shape[1],X=this.shape[2],G=this.shape[3],N=this.shape[4],W=this.stride[0],re=this.stride[1],ae=this.stride[2],_e=this.stride[3],Me=this.stride[4];return typeof C==\"number\"&&C>=0&&(q=C|0,F+=W*q,V-=q),typeof M==\"number\"&&M>=0&&(q=M|0,F+=re*q,H-=q),typeof g==\"number\"&&g>=0&&(q=g|0,F+=ae*q,X-=q),typeof P==\"number\"&&P>=0&&(q=P|0,F+=_e*q,G-=q),typeof T==\"number\"&&T>=0&&(q=T|0,F+=Me*q,N-=q),new A(this.data,V,H,X,G,N,W,re,ae,_e,Me,F)},L.step=function(C,M,g,P,T){var F=this.shape[0],q=this.shape[1],V=this.shape[2],H=this.shape[3],X=this.shape[4],G=this.stride[0],N=this.stride[1],W=this.stride[2],re=this.stride[3],ae=this.stride[4],_e=this.offset,Me=0,ke=Math.ceil;return typeof C==\"number\"&&(Me=C|0,Me<0?(_e+=G*(F-1),F=ke(-F/Me)):F=ke(F/Me),G*=Me),typeof M==\"number\"&&(Me=M|0,Me<0?(_e+=N*(q-1),q=ke(-q/Me)):q=ke(q/Me),N*=Me),typeof g==\"number\"&&(Me=g|0,Me<0?(_e+=W*(V-1),V=ke(-V/Me)):V=ke(V/Me),W*=Me),typeof P==\"number\"&&(Me=P|0,Me<0?(_e+=re*(H-1),H=ke(-H/Me)):H=ke(H/Me),re*=Me),typeof T==\"number\"&&(Me=T|0,Me<0?(_e+=ae*(X-1),X=ke(-X/Me)):X=ke(X/Me),ae*=Me),new A(this.data,F,q,V,H,X,G,N,W,re,ae,_e)},L.transpose=function(C,M,g,P,T){C=C===void 0?0:C|0,M=M===void 0?1:M|0,g=g===void 0?2:g|0,P=P===void 0?3:P|0,T=T===void 0?4:T|0;var F=this.shape,q=this.stride;return new A(this.data,F[C],F[M],F[g],F[P],F[T],q[C],q[M],q[g],q[P],q[T],this.offset)},L.pick=function(C,M,g,P,T){var F=[],q=[],V=this.offset;typeof C==\"number\"&&C>=0?V=V+this.stride[0]*C|0:(F.push(this.shape[0]),q.push(this.stride[0])),typeof M==\"number\"&&M>=0?V=V+this.stride[1]*M|0:(F.push(this.shape[1]),q.push(this.stride[1])),typeof g==\"number\"&&g>=0?V=V+this.stride[2]*g|0:(F.push(this.shape[2]),q.push(this.stride[2])),typeof P==\"number\"&&P>=0?V=V+this.stride[3]*P|0:(F.push(this.shape[3]),q.push(this.stride[3])),typeof T==\"number\"&&T>=0?V=V+this.stride[4]*T|0:(F.push(this.shape[4]),q.push(this.stride[4]));var H=E[F.length+1];return H(this.data,F,q,V)},function(C,M,g,P){return new A(C,M[0],M[1],M[2],M[3],M[4],g[0],g[1],g[2],g[3],g[4],P)}}};function h(b,p){var E=p===-1?\"T\":String(p),k=f[E];return p===-1?k(b):p===0?k(b,v[b][0]):k(b,v[b],c)}function d(b){if(s(b))return\"buffer\";if(l)switch(Object.prototype.toString.call(b)){case\"[object Float64Array]\":return\"float64\";case\"[object Float32Array]\":return\"float32\";case\"[object Int8Array]\":return\"int8\";case\"[object Int16Array]\":return\"int16\";case\"[object Int32Array]\":return\"int32\";case\"[object Uint8ClampedArray]\":return\"uint8_clamped\";case\"[object Uint8Array]\":return\"uint8\";case\"[object Uint16Array]\":return\"uint16\";case\"[object Uint32Array]\":return\"uint32\";case\"[object BigInt64Array]\":return\"bigint64\";case\"[object BigUint64Array]\":return\"biguint64\"}return Array.isArray(b)?\"array\":\"generic\"}var v={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};function x(b,p,E,k){if(b===void 0){var g=v.array[0];return g([])}else typeof b==\"number\"&&(b=[b]);p===void 0&&(p=[b.length]);var A=p.length;if(E===void 0){E=new Array(A);for(var L=A-1,_=1;L>=0;--L)E[L]=_,_*=p[L]}if(k===void 0){k=0;for(var L=0;L<A;++L)E[L]<0&&(k-=(p[L]-1)*E[L])}for(var C=d(b),M=v[C];M.length<=A+1;)M.push(h(C,M.length-1));var g=M[A+1];return g(b,p,E,k)}i.exports=x},1278:function(i,a,o){\"use strict\";var s=o(2361),l=Math.pow(2,-1074),u=-1>>>0;i.exports=c;function c(f,h){if(isNaN(f)||isNaN(h))return NaN;if(f===h)return f;if(f===0)return h<0?-l:l;var d=s.hi(f),v=s.lo(f);return h>f==f>0?v===u?(d+=1,v=0):v+=1:v===0?(v=u,d-=1):v-=1,s.pack(v,d)}},8406:function(i,a){var o=1e-6,s=1e-6;a.vertexNormals=function(l,u,c){for(var f=u.length,h=new Array(f),d=c===void 0?o:c,v=0;v<f;++v)h[v]=[0,0,0];for(var v=0;v<l.length;++v)for(var x=l[v],b=0,p=x[x.length-1],E=x[0],k=0;k<x.length;++k){b=p,p=E,E=x[(k+1)%x.length];for(var A=u[b],L=u[p],_=u[E],C=new Array(3),M=0,g=new Array(3),P=0,T=0;T<3;++T)C[T]=A[T]-L[T],M+=C[T]*C[T],g[T]=_[T]-L[T],P+=g[T]*g[T];if(M*P>d)for(var F=h[p],q=1/Math.sqrt(M*P),T=0;T<3;++T){var V=(T+1)%3,H=(T+2)%3;F[T]+=q*(g[V]*C[H]-g[H]*C[V])}}for(var v=0;v<f;++v){for(var F=h[v],X=0,T=0;T<3;++T)X+=F[T]*F[T];if(X>d)for(var q=1/Math.sqrt(X),T=0;T<3;++T)F[T]*=q;else for(var T=0;T<3;++T)F[T]=0}return h},a.faceNormals=function(l,u,c){for(var f=l.length,h=new Array(f),d=c===void 0?s:c,v=0;v<f;++v){for(var x=l[v],b=new Array(3),p=0;p<3;++p)b[p]=u[x[p]];for(var E=new Array(3),k=new Array(3),p=0;p<3;++p)E[p]=b[1][p]-b[0][p],k[p]=b[2][p]-b[0][p];for(var A=new Array(3),L=0,p=0;p<3;++p){var _=(p+1)%3,C=(p+2)%3;A[p]=E[_]*k[C]-E[C]*k[_],L+=A[p]*A[p]}L>d?L=1/Math.sqrt(L):L=0;for(var p=0;p<3;++p)A[p]*=L;h[v]=A}return h}},4081:function(i){\"use strict\";i.exports=a;function a(o,s,l,u,c,f,h,d,v,x){var b=s+f+x;if(p>0){var p=Math.sqrt(b+1);o[0]=.5*(h-v)/p,o[1]=.5*(d-u)/p,o[2]=.5*(l-f)/p,o[3]=.5*p}else{var E=Math.max(s,f,x),p=Math.sqrt(2*E-b+1);s>=E?(o[0]=.5*p,o[1]=.5*(c+l)/p,o[2]=.5*(d+u)/p,o[3]=.5*(h-v)/p):f>=E?(o[0]=.5*(l+c)/p,o[1]=.5*p,o[2]=.5*(v+h)/p,o[3]=.5*(d-u)/p):(o[0]=.5*(u+d)/p,o[1]=.5*(h+v)/p,o[2]=.5*p,o[3]=.5*(l-c)/p)}return o}},9977:function(i,a,o){\"use strict\";i.exports=p;var s=o(9215),l=o(6582),u=o(7399),c=o(7608),f=o(4081);function h(E,k,A){return Math.sqrt(Math.pow(E,2)+Math.pow(k,2)+Math.pow(A,2))}function d(E,k,A,L){return Math.sqrt(Math.pow(E,2)+Math.pow(k,2)+Math.pow(A,2)+Math.pow(L,2))}function v(E,k){var A=k[0],L=k[1],_=k[2],C=k[3],M=d(A,L,_,C);M>1e-6?(E[0]=A/M,E[1]=L/M,E[2]=_/M,E[3]=C/M):(E[0]=E[1]=E[2]=0,E[3]=1)}function x(E,k,A){this.radius=s([A]),this.center=s(k),this.rotation=s(E),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var b=x.prototype;b.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},b.recalcMatrix=function(E){this.radius.curve(E),this.center.curve(E),this.rotation.curve(E);var k=this.computedRotation;v(k,k);var A=this.computedMatrix;u(A,k);var L=this.computedCenter,_=this.computedEye,C=this.computedUp,M=Math.exp(this.computedRadius[0]);_[0]=L[0]+M*A[2],_[1]=L[1]+M*A[6],_[2]=L[2]+M*A[10],C[0]=A[1],C[1]=A[5],C[2]=A[9];for(var g=0;g<3;++g){for(var P=0,T=0;T<3;++T)P+=A[g+4*T]*_[T];A[12+g]=-P}},b.getMatrix=function(E,k){this.recalcMatrix(E);var A=this.computedMatrix;if(k){for(var L=0;L<16;++L)k[L]=A[L];return k}return A},b.idle=function(E){this.center.idle(E),this.radius.idle(E),this.rotation.idle(E)},b.flush=function(E){this.center.flush(E),this.radius.flush(E),this.rotation.flush(E)},b.pan=function(E,k,A,L){k=k||0,A=A||0,L=L||0,this.recalcMatrix(E);var _=this.computedMatrix,C=_[1],M=_[5],g=_[9],P=h(C,M,g);C/=P,M/=P,g/=P;var T=_[0],F=_[4],q=_[8],V=T*C+F*M+q*g;T-=C*V,F-=M*V,q-=g*V;var H=h(T,F,q);T/=H,F/=H,q/=H;var X=_[2],G=_[6],N=_[10],W=X*C+G*M+N*g,re=X*T+G*F+N*q;X-=W*C+re*T,G-=W*M+re*F,N-=W*g+re*q;var ae=h(X,G,N);X/=ae,G/=ae,N/=ae;var _e=T*k+C*A,Me=F*k+M*A,ke=q*k+g*A;this.center.move(E,_e,Me,ke);var ge=Math.exp(this.computedRadius[0]);ge=Math.max(1e-4,ge+L),this.radius.set(E,Math.log(ge))},b.rotate=function(E,k,A,L){this.recalcMatrix(E),k=k||0,A=A||0;var _=this.computedMatrix,C=_[0],M=_[4],g=_[8],P=_[1],T=_[5],F=_[9],q=_[2],V=_[6],H=_[10],X=k*C+A*P,G=k*M+A*T,N=k*g+A*F,W=-(V*N-H*G),re=-(H*X-q*N),ae=-(q*G-V*X),_e=Math.sqrt(Math.max(0,1-Math.pow(W,2)-Math.pow(re,2)-Math.pow(ae,2))),Me=d(W,re,ae,_e);Me>1e-6?(W/=Me,re/=Me,ae/=Me,_e/=Me):(W=re=ae=0,_e=1);var ke=this.computedRotation,ge=ke[0],ie=ke[1],Te=ke[2],Ee=ke[3],Ae=ge*_e+Ee*W+ie*ae-Te*re,ze=ie*_e+Ee*re+Te*W-ge*ae,Ce=Te*_e+Ee*ae+ge*re-ie*W,me=Ee*_e-ge*W-ie*re-Te*ae;if(L){W=q,re=V,ae=H;var Re=Math.sin(L)/h(W,re,ae);W*=Re,re*=Re,ae*=Re,_e=Math.cos(k),Ae=Ae*_e+me*W+ze*ae-Ce*re,ze=ze*_e+me*re+Ce*W-Ae*ae,Ce=Ce*_e+me*ae+Ae*re-ze*W,me=me*_e-Ae*W-ze*re-Ce*ae}var ce=d(Ae,ze,Ce,me);ce>1e-6?(Ae/=ce,ze/=ce,Ce/=ce,me/=ce):(Ae=ze=Ce=0,me=1),this.rotation.set(E,Ae,ze,Ce,me)},b.lookAt=function(E,k,A,L){this.recalcMatrix(E),A=A||this.computedCenter,k=k||this.computedEye,L=L||this.computedUp;var _=this.computedMatrix;l(_,k,A,L);var C=this.computedRotation;f(C,_[0],_[1],_[2],_[4],_[5],_[6],_[8],_[9],_[10]),v(C,C),this.rotation.set(E,C[0],C[1],C[2],C[3]);for(var M=0,g=0;g<3;++g)M+=Math.pow(A[g]-k[g],2);this.radius.set(E,.5*Math.log(Math.max(M,1e-6))),this.center.set(E,A[0],A[1],A[2])},b.translate=function(E,k,A,L){this.center.move(E,k||0,A||0,L||0)},b.setMatrix=function(E,k){var A=this.computedRotation;f(A,k[0],k[1],k[2],k[4],k[5],k[6],k[8],k[9],k[10]),v(A,A),this.rotation.set(E,A[0],A[1],A[2],A[3]);var L=this.computedMatrix;c(L,k);var _=L[15];if(Math.abs(_)>1e-6){var C=L[12]/_,M=L[13]/_,g=L[14]/_;this.recalcMatrix(E);var P=Math.exp(this.computedRadius[0]);this.center.set(E,C-L[2]*P,M-L[6]*P,g-L[10]*P),this.radius.idle(E)}else this.center.idle(E),this.radius.idle(E)},b.setDistance=function(E,k){k>0&&this.radius.set(E,Math.log(k))},b.setDistanceLimits=function(E,k){E>0?E=Math.log(E):E=-1/0,k>0?k=Math.log(k):k=1/0,k=Math.max(k,E),this.radius.bounds[0][0]=E,this.radius.bounds[1][0]=k},b.getDistanceLimits=function(E){var k=this.radius.bounds;return E?(E[0]=Math.exp(k[0][0]),E[1]=Math.exp(k[1][0]),E):[Math.exp(k[0][0]),Math.exp(k[1][0])]},b.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]}},b.fromJSON=function(E){var k=this.lastT(),A=E.center;A&&this.center.set(k,A[0],A[1],A[2]);var L=E.rotation;L&&this.rotation.set(k,L[0],L[1],L[2],L[3]);var _=E.distance;_&&_>0&&this.radius.set(k,Math.log(_)),this.setDistanceLimits(E.zoomMin,E.zoomMax)};function p(E){E=E||{};var k=E.center||[0,0,0],A=E.rotation||[0,0,0,1],L=E.radius||1;k=[].slice.call(k,0,3),A=[].slice.call(A,0,4),v(A,A);var _=new x(A,k,Math.log(L));return _.setDistanceLimits(E.zoomMin,E.zoomMax),(\"eye\"in E||\"up\"in E)&&_.lookAt(0,E.eye,E.center,E.up),_}},1371:function(i,a,o){\"use strict\";var s=o(3233);i.exports=function(u,c,f){return f=typeof f!=\"undefined\"?f+\"\":\" \",s(f,c)+u}},3202:function(i){i.exports=function(o,s){s||(s=[0,\"\"]),o=String(o);var l=parseFloat(o,10);return s[0]=l,s[1]=o.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",s}},3088:function(i,a,o){\"use strict\";i.exports=l;var s=o(3140);function l(u,c){for(var f=c.length|0,h=u.length,d=[new Array(f),new Array(f)],v=0;v<f;++v)d[0][v]=[],d[1][v]=[];for(var v=0;v<h;++v){var x=u[v];d[0][x[0]].push(x),d[1][x[1]].push(x)}for(var b=[],v=0;v<f;++v)d[0][v].length+d[1][v].length===0&&b.push([v]);function p(g,P){var T=d[P][g[P]];T.splice(T.indexOf(g),1)}function E(g,P,T){for(var F,q,V,H=0;H<2;++H)if(d[H][P].length>0){F=d[H][P][0],V=H;break}q=F[V^1];for(var X=0;X<2;++X)for(var G=d[X][P],N=0;N<G.length;++N){var W=G[N],re=W[X^1],ae=s(c[g],c[P],c[q],c[re]);ae>0&&(F=W,q=re,V=X)}return T||F&&p(F,V),q}function k(g,P){var T=d[P][g][0],F=[g];p(T,P);for(var q=T[P^1],V=P;;){for(;q!==g;)F.push(q),q=E(F[F.length-2],q,!1);if(d[0][g].length+d[1][g].length===0)break;var H=F[F.length-1],X=g,G=F[1],N=E(H,X,!0);if(s(c[H],c[X],c[G],c[N])<0)break;F.push(g),q=E(H,X)}return F}function A(g,P){return P[1]===P[P.length-1]}for(var v=0;v<f;++v)for(var L=0;L<2;++L){for(var _=[];d[L][v].length>0;){var C=d[0][v].length,M=k(v,L);A(_,M)?_.push.apply(_,M):(_.length>0&&b.push(_),_=M)}_.length>0&&b.push(_)}return b}},5609:function(i,a,o){\"use strict\";i.exports=l;var s=o(3134);function l(u,c){for(var f=s(u,c.length),h=new Array(c.length),d=new Array(c.length),v=[],x=0;x<c.length;++x){var b=f[x].length;d[x]=b,h[x]=!0,b<=1&&v.push(x)}for(;v.length>0;){var p=v.pop();h[p]=!1;for(var E=f[p],x=0;x<E.length;++x){var k=E[x];--d[k]===0&&v.push(k)}}for(var A=new Array(c.length),L=[],x=0;x<c.length;++x)if(h[x]){var p=L.length;A[x]=p,L.push(c[x])}else A[x]=-1;for(var _=[],x=0;x<u.length;++x){var C=u[x];h[C[0]]&&h[C[1]]&&_.push([A[C[0]],A[C[1]]])}return[_,L]}},2095:function(i,a,o){\"use strict\";i.exports=b;var s=o(3134),l=o(3088),u=o(5085),c=o(5250),f=o(8210),h=o(1682),d=o(5609);function v(p,E){for(var k=new Array(p),A=0;A<p;++A)k[A]=E;return k}function x(p){for(var E=new Array(p),k=0;k<p;++k)E[k]=[];return E}function b(p,E){var Re=d(p,E);p=Re[0],E=Re[1];for(var k=E.length,A=p.length,L=s(p,E.length),_=0;_<k;++_)if(L[_].length%2===1)throw new Error(\"planar-graph-to-polyline: graph must be manifold\");var C=l(p,E);function M(ot){for(var Rt=ot.length,kt=[0],Ct=0;Ct<Rt;++Ct){var Yt=E[ot[Ct]],xr=E[ot[(Ct+1)%Rt]],er=c(-Yt[0],Yt[1]),Ke=c(-Yt[0],xr[1]),xt=c(xr[0],Yt[1]),bt=c(xr[0],xr[1]);kt=f(kt,f(f(er,Ke),f(xt,bt)))}return kt[kt.length-1]>0}C=C.filter(M);for(var g=C.length,P=new Array(g),T=new Array(g),_=0;_<g;++_){P[_]=_;var F=new Array(g),q=C[_].map(function(Rt){return E[Rt]}),V=u([q]),H=0;e:for(var X=0;X<g;++X)if(F[X]=0,_!==X){for(var G=C[X],N=G.length,W=0;W<N;++W){var re=V(E[G[W]]);if(re!==0){re<0&&(F[X]=1,H+=1);continue e}}F[X]=1,H+=1}T[_]=[H,_,F]}T.sort(function(ot,Rt){return Rt[0]-ot[0]});for(var _=0;_<g;++_)for(var F=T[_],ae=F[1],_e=F[2],X=0;X<g;++X)_e[X]&&(P[X]=ae);for(var Me=x(g),_=0;_<g;++_)Me[_].push(P[_]),Me[P[_]].push(_);for(var ke={},ge=v(k,!1),_=0;_<g;++_)for(var G=C[_],N=G.length,X=0;X<N;++X){var ie=G[X],Te=G[(X+1)%N],Ee=Math.min(ie,Te)+\":\"+Math.max(ie,Te);if(Ee in ke){var Ae=ke[Ee];Me[Ae].push(_),Me[_].push(Ae),ge[ie]=ge[Te]=!0}else ke[Ee]=_}function ze(ot){for(var Rt=ot.length,kt=0;kt<Rt;++kt)if(!ge[ot[kt]])return!1;return!0}for(var Ce=[],me=v(g,-1),_=0;_<g;++_)P[_]===_&&!ze(C[_])?(Ce.push(_),me[_]=0):me[_]=-1;for(var Re=[];Ce.length>0;){var ce=Ce.pop(),Ge=Me[ce];h(Ge,function(ot,Rt){return ot-Rt});var nt=Ge.length,ct=me[ce],qt;if(ct===0){var G=C[ce];qt=[G]}for(var _=0;_<nt;++_){var rt=Ge[_];if(!(me[rt]>=0)&&(me[rt]=ct^1,Ce.push(rt),ct===0)){var G=C[rt];ze(G)||(G.reverse(),qt.push(G))}}ct===0&&Re.push(qt)}return Re}},5085:function(i,a,o){i.exports=E;var s=o(3250)[3],l=o(4209),u=o(3352),c=o(2478);function f(){return!0}function h(k){return function(A,L){var _=k[A];return _?!!_.queryPoint(L,f):!1}}function d(k){for(var A={},L=0;L<k.length;++L){var _=k[L],C=_[0][0],M=_[0][1],g=_[1][1],P=[Math.min(M,g),Math.max(M,g)];C in A?A[C].push(P):A[C]=[P]}for(var T={},F=Object.keys(A),L=0;L<F.length;++L){var q=A[F[L]];T[F[L]]=u(q)}return h(T)}function v(k,A){return function(L){var _=c.le(A,L[0]);if(_<0)return 1;var C=k[_];if(!C)if(_>0&&A[_]===L[0])C=k[_-1];else return 1;for(var M=1;C;){var g=C.key,P=s(L,g[0],g[1]);if(g[0][0]<g[1][0])if(P<0)C=C.left;else if(P>0)M=-1,C=C.right;else return 0;else if(P>0)C=C.left;else if(P<0)M=1,C=C.right;else return 0}return M}}function x(k){return 1}function b(k){return function(L){return k(L[0],L[1])?0:1}}function p(k,A){return function(_){return k(_[0],_[1])?0:A(_)}}function E(k){for(var A=k.length,L=[],_=[],C=0,M=0;M<A;++M)for(var g=k[M],P=g.length,T=P-1,F=0;F<P;T=F++){var q=g[T],V=g[F];q[0]===V[0]?_.push([q,V]):L.push([q,V])}if(L.length===0)return _.length===0?x:b(d(_));var H=l(L),X=v(H.slabs,H.coordinates);return _.length===0?X:p(d(_),X)}},9346:function(i){\"use strict\";var a=new Float64Array(4),o=new Float64Array(4),s=new Float64Array(4);function l(u,c,f,h,d){a.length<h.length&&(a=new Float64Array(h.length),o=new Float64Array(h.length),s=new Float64Array(h.length));for(var v=0;v<h.length;++v)a[v]=u[v]-h[v],o[v]=c[v]-u[v],s[v]=f[v]-u[v];for(var x=0,b=0,p=0,E=0,k=0,A=0,v=0;v<h.length;++v){var L=o[v],_=s[v],C=a[v];x+=L*L,b+=L*_,p+=_*_,E+=C*L,k+=C*_,A+=C*C}var M=Math.abs(x*p-b*b),g=b*k-p*E,P=b*E-x*k,T;if(g+P<=M)if(g<0)P<0&&E<0?(P=0,-E>=x?(g=1,T=x+2*E+A):(g=-E/x,T=E*g+A)):(g=0,k>=0?(P=0,T=A):-k>=p?(P=1,T=p+2*k+A):(P=-k/p,T=k*P+A));else if(P<0)P=0,E>=0?(g=0,T=A):-E>=x?(g=1,T=x+2*E+A):(g=-E/x,T=E*g+A);else{var F=1/M;g*=F,P*=F,T=g*(x*g+b*P+2*E)+P*(b*g+p*P+2*k)+A}else{var q,V,H,X;g<0?(q=b+E,V=p+k,V>q?(H=V-q,X=x-2*b+p,H>=X?(g=1,P=0,T=x+2*E+A):(g=H/X,P=1-g,T=g*(x*g+b*P+2*E)+P*(b*g+p*P+2*k)+A)):(g=0,V<=0?(P=1,T=p+2*k+A):k>=0?(P=0,T=A):(P=-k/p,T=k*P+A))):P<0?(q=b+k,V=x+E,V>q?(H=V-q,X=x-2*b+p,H>=X?(P=1,g=0,T=p+2*k+A):(P=H/X,g=1-P,T=g*(x*g+b*P+2*E)+P*(b*g+p*P+2*k)+A)):(P=0,V<=0?(g=1,T=x+2*E+A):E>=0?(g=0,T=A):(g=-E/x,T=E*g+A))):(H=p+k-b-E,H<=0?(g=0,P=1,T=p+2*k+A):(X=x-2*b+p,H>=X?(g=1,P=0,T=x+2*E+A):(g=H/X,P=1-g,T=g*(x*g+b*P+2*E)+P*(b*g+p*P+2*k)+A)))}for(var G=1-g-P,v=0;v<h.length;++v)d[v]=G*u[v]+g*c[v]+P*f[v];return T<0?0:T}i.exports=l},8648:function(i,a,o){i.exports=o(783)},2653:function(i,a,o){\"use strict\";var s=o(3865);i.exports=l;function l(u,c){for(var f=u.length,h=new Array(f),d=0;d<f;++d)h[d]=s(u[d],c[d]);return h}},5838:function(i,a,o){\"use strict\";i.exports=l;var s=o(7842);function l(u){for(var c=new Array(u.length),f=0;f<u.length;++f)c[f]=s(u[f]);return c}},8987:function(i,a,o){\"use strict\";var s=o(7842),l=o(6504);i.exports=u;function u(c,f){for(var h=s(f),d=c.length,v=new Array(d),x=0;x<d;++x)v[x]=l(c[x],h);return v}},544:function(i,a,o){\"use strict\";var s=o(5572);i.exports=l;function l(u,c){for(var f=u.length,h=new Array(f),d=0;d<f;++d)h[d]=s(u[d],c[d]);return h}},5771:function(i,a,o){\"use strict\";var s=o(8507),l=o(3788),u=o(2419);i.exports=c;function c(f){f.sort(l);for(var h=f.length,d=0,v=0;v<h;++v){var x=f[v],b=u(x);if(b!==0){if(d>0){var p=f[d-1];if(s(x,p)===0&&u(p)!==b){d-=1;continue}}f[d++]=x}}return f.length=d,f}},3233:function(i){\"use strict\";var a=\"\",o;i.exports=s;function s(l,u){if(typeof l!=\"string\")throw new TypeError(\"expected a string\");if(u===1)return l;if(u===2)return l+l;var c=l.length*u;if(o!==l||typeof o==\"undefined\")o=l,a=\"\";else if(a.length>=c)return a.substr(0,c);for(;c>a.length&&u>1;)u&1&&(a+=l),u>>=1,l+=l;return a+=l,a=a.substr(0,c),a}},3025:function(i,a,o){i.exports=o.g.performance&&o.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(i){\"use strict\";i.exports=a;function a(o){for(var s=o.length,l=o[o.length-1],u=s,c=s-2;c>=0;--c){var f=l,h=o[c];l=f+h;var d=l-f,v=h-d;v&&(o[--u]=l,l=v)}for(var x=0,c=u;c<s;++c){var f=o[c],h=l;l=f+h;var d=l-f,v=h-d;v&&(o[x++]=v)}return o[x++]=l,o.length=x,o}},2962:function(i,a,o){\"use strict\";var s=o(5250),l=o(8210),u=o(3012),c=o(7004),f=6;function h(A,L,_,C){return function(g){return C(A(_(g[0][0],g[1][1]),_(-g[0][1],g[1][0])))}}function d(A,L,_,C){return function(g){return C(A(L(A(_(g[1][1],g[2][2]),_(-g[1][2],g[2][1])),g[0][0]),A(L(A(_(g[1][0],g[2][2]),_(-g[1][2],g[2][0])),-g[0][1]),L(A(_(g[1][0],g[2][1]),_(-g[1][1],g[2][0])),g[0][2]))))}}function v(A,L,_,C){return function(g){return C(A(A(L(A(L(A(_(g[2][2],g[3][3]),_(-g[2][3],g[3][2])),g[1][1]),A(L(A(_(g[2][1],g[3][3]),_(-g[2][3],g[3][1])),-g[1][2]),L(A(_(g[2][1],g[3][2]),_(-g[2][2],g[3][1])),g[1][3]))),g[0][0]),L(A(L(A(_(g[2][2],g[3][3]),_(-g[2][3],g[3][2])),g[1][0]),A(L(A(_(g[2][0],g[3][3]),_(-g[2][3],g[3][0])),-g[1][2]),L(A(_(g[2][0],g[3][2]),_(-g[2][2],g[3][0])),g[1][3]))),-g[0][1])),A(L(A(L(A(_(g[2][1],g[3][3]),_(-g[2][3],g[3][1])),g[1][0]),A(L(A(_(g[2][0],g[3][3]),_(-g[2][3],g[3][0])),-g[1][1]),L(A(_(g[2][0],g[3][1]),_(-g[2][1],g[3][0])),g[1][3]))),g[0][2]),L(A(L(A(_(g[2][1],g[3][2]),_(-g[2][2],g[3][1])),g[1][0]),A(L(A(_(g[2][0],g[3][2]),_(-g[2][2],g[3][0])),-g[1][1]),L(A(_(g[2][0],g[3][1]),_(-g[2][1],g[3][0])),g[1][2]))),-g[0][3]))))}}function x(A,L,_,C){return function(g){return C(A(A(L(A(A(L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][2]),A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),-g[2][3]),L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][4]))),g[1][1]),L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][1]),A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),-g[2][3]),L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),g[2][4]))),-g[1][2])),A(L(A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),g[2][1]),A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),-g[2][2]),L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][4]))),g[1][3]),L(A(L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][1]),A(L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),-g[2][2]),L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][3]))),-g[1][4]))),g[0][0]),L(A(A(L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][2]),A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),-g[2][3]),L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][4]))),g[1][0]),L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][3]),L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),g[2][4]))),-g[1][2])),A(L(A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][2]),L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),g[2][4]))),g[1][3]),L(A(L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][0]),A(L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),-g[2][2]),L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),g[2][3]))),-g[1][4]))),-g[0][1])),A(L(A(A(L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][1]),A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),-g[2][3]),L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),g[2][4]))),g[1][0]),L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][3]),L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),g[2][4]))),-g[1][1])),A(L(A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][4]))),g[1][3]),L(A(L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][3]))),-g[1][4]))),g[0][2]),A(L(A(A(L(A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),g[2][1]),A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),-g[2][2]),L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][4]))),g[1][0]),L(A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][2]),L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),g[2][4]))),-g[1][1])),A(L(A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][4]))),g[1][2]),L(A(L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][2]))),-g[1][4]))),-g[0][3]),L(A(A(L(A(L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][1]),A(L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),-g[2][2]),L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][3]))),g[1][0]),L(A(L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][0]),A(L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),-g[2][2]),L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),g[2][3]))),-g[1][1])),A(L(A(L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][3]))),g[1][2]),L(A(L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][2]))),-g[1][3]))),g[0][4])))))}}function b(A){var L=A===2?h:A===3?d:A===4?v:A===5?x:void 0;return L(l,u,s,c)}var p=[function(){return[0]},function(L){return[L[0][0]]}];function E(A,L,_,C,M,g,P,T){return function(q){switch(q.length){case 0:return A(q);case 1:return L(q);case 2:return _(q);case 3:return C(q);case 4:return M(q);case 5:return g(q)}var V=P[q.length];return V||(V=P[q.length]=T(q.length)),V(q)}}function k(){for(;p.length<f;)p.push(b(p.length));i.exports=E.apply(void 0,p.concat([p,b]));for(var A=0;A<p.length;++A)i.exports[A]=p[A]}k()},1944:function(i,a,o){\"use strict\";var s=o(5250),l=o(8210);i.exports=u;function u(c,f){for(var h=s(c[0],f[0]),d=1;d<c.length;++d)h=l(h,s(c[d],f[d]));return h}},2646:function(i,a,o){\"use strict\";var s=o(5250),l=o(8210),u=o(8545),c=o(3012),f=6;function h(M){var g=M===3?b:M===4?p:M===5?E:k;return g(l,u,s,c)}function d(){return 0}function v(){return 0}function x(){return 0}function b(M,g,P,T){function F(q,V,H){var X=P(q[0],q[0]),G=T(X,V[0]),N=T(X,H[0]),W=P(V[0],V[0]),re=T(W,q[0]),ae=T(W,H[0]),_e=P(H[0],H[0]),Me=T(_e,q[0]),ke=T(_e,V[0]),ge=M(g(ke,ae),g(re,G)),ie=g(Me,N),Te=g(ge,ie);return Te[Te.length-1]}return F}function p(M,g,P,T){function F(q,V,H,X){var G=M(P(q[0],q[0]),P(q[1],q[1])),N=T(G,V[0]),W=T(G,H[0]),re=T(G,X[0]),ae=M(P(V[0],V[0]),P(V[1],V[1])),_e=T(ae,q[0]),Me=T(ae,H[0]),ke=T(ae,X[0]),ge=M(P(H[0],H[0]),P(H[1],H[1])),ie=T(ge,q[0]),Te=T(ge,V[0]),Ee=T(ge,X[0]),Ae=M(P(X[0],X[0]),P(X[1],X[1])),ze=T(Ae,q[0]),Ce=T(Ae,V[0]),me=T(Ae,H[0]),Re=M(M(T(g(me,Ee),V[1]),M(T(g(Ce,ke),-H[1]),T(g(Te,Me),X[1]))),M(T(g(Ce,ke),q[1]),M(T(g(ze,re),-V[1]),T(g(_e,N),X[1])))),ce=M(M(T(g(me,Ee),q[1]),M(T(g(ze,re),-H[1]),T(g(ie,W),X[1]))),M(T(g(Te,Me),q[1]),M(T(g(ie,W),-V[1]),T(g(_e,N),H[1])))),Ge=g(Re,ce);return Ge[Ge.length-1]}return F}function E(M,g,P,T){function F(q,V,H,X,G){var N=M(P(q[0],q[0]),M(P(q[1],q[1]),P(q[2],q[2]))),W=T(N,V[0]),re=T(N,H[0]),ae=T(N,X[0]),_e=T(N,G[0]),Me=M(P(V[0],V[0]),M(P(V[1],V[1]),P(V[2],V[2]))),ke=T(Me,q[0]),ge=T(Me,H[0]),ie=T(Me,X[0]),Te=T(Me,G[0]),Ee=M(P(H[0],H[0]),M(P(H[1],H[1]),P(H[2],H[2]))),Ae=T(Ee,q[0]),ze=T(Ee,V[0]),Ce=T(Ee,X[0]),me=T(Ee,G[0]),Re=M(P(X[0],X[0]),M(P(X[1],X[1]),P(X[2],X[2]))),ce=T(Re,q[0]),Ge=T(Re,V[0]),nt=T(Re,H[0]),ct=T(Re,G[0]),qt=M(P(G[0],G[0]),M(P(G[1],G[1]),P(G[2],G[2]))),rt=T(qt,q[0]),ot=T(qt,V[0]),Rt=T(qt,H[0]),kt=T(qt,X[0]),Ct=M(M(M(T(M(T(g(kt,ct),H[1]),M(T(g(Rt,me),-X[1]),T(g(nt,Ce),G[1]))),V[2]),M(T(M(T(g(kt,ct),V[1]),M(T(g(ot,Te),-X[1]),T(g(Ge,ie),G[1]))),-H[2]),T(M(T(g(Rt,me),V[1]),M(T(g(ot,Te),-H[1]),T(g(ze,ge),G[1]))),X[2]))),M(T(M(T(g(nt,Ce),V[1]),M(T(g(Ge,ie),-H[1]),T(g(ze,ge),X[1]))),-G[2]),M(T(M(T(g(kt,ct),V[1]),M(T(g(ot,Te),-X[1]),T(g(Ge,ie),G[1]))),q[2]),T(M(T(g(kt,ct),q[1]),M(T(g(rt,_e),-X[1]),T(g(ce,ae),G[1]))),-V[2])))),M(M(T(M(T(g(ot,Te),q[1]),M(T(g(rt,_e),-V[1]),T(g(ke,W),G[1]))),X[2]),M(T(M(T(g(Ge,ie),q[1]),M(T(g(ce,ae),-V[1]),T(g(ke,W),X[1]))),-G[2]),T(M(T(g(nt,Ce),V[1]),M(T(g(Ge,ie),-H[1]),T(g(ze,ge),X[1]))),q[2]))),M(T(M(T(g(nt,Ce),q[1]),M(T(g(ce,ae),-H[1]),T(g(Ae,re),X[1]))),-V[2]),M(T(M(T(g(Ge,ie),q[1]),M(T(g(ce,ae),-V[1]),T(g(ke,W),X[1]))),H[2]),T(M(T(g(ze,ge),q[1]),M(T(g(Ae,re),-V[1]),T(g(ke,W),H[1]))),-X[2]))))),Yt=M(M(M(T(M(T(g(kt,ct),H[1]),M(T(g(Rt,me),-X[1]),T(g(nt,Ce),G[1]))),q[2]),T(M(T(g(kt,ct),q[1]),M(T(g(rt,_e),-X[1]),T(g(ce,ae),G[1]))),-H[2])),M(T(M(T(g(Rt,me),q[1]),M(T(g(rt,_e),-H[1]),T(g(Ae,re),G[1]))),X[2]),T(M(T(g(nt,Ce),q[1]),M(T(g(ce,ae),-H[1]),T(g(Ae,re),X[1]))),-G[2]))),M(M(T(M(T(g(Rt,me),V[1]),M(T(g(ot,Te),-H[1]),T(g(ze,ge),G[1]))),q[2]),T(M(T(g(Rt,me),q[1]),M(T(g(rt,_e),-H[1]),T(g(Ae,re),G[1]))),-V[2])),M(T(M(T(g(ot,Te),q[1]),M(T(g(rt,_e),-V[1]),T(g(ke,W),G[1]))),H[2]),T(M(T(g(ze,ge),q[1]),M(T(g(Ae,re),-V[1]),T(g(ke,W),H[1]))),-G[2])))),xr=g(Ct,Yt);return xr[xr.length-1]}return F}function k(M,g,P,T){function F(q,V,H,X,G,N){var W=M(M(P(q[0],q[0]),P(q[1],q[1])),M(P(q[2],q[2]),P(q[3],q[3]))),re=T(W,V[0]),ae=T(W,H[0]),_e=T(W,X[0]),Me=T(W,G[0]),ke=T(W,N[0]),ge=M(M(P(V[0],V[0]),P(V[1],V[1])),M(P(V[2],V[2]),P(V[3],V[3]))),ie=T(ge,q[0]),Te=T(ge,H[0]),Ee=T(ge,X[0]),Ae=T(ge,G[0]),ze=T(ge,N[0]),Ce=M(M(P(H[0],H[0]),P(H[1],H[1])),M(P(H[2],H[2]),P(H[3],H[3]))),me=T(Ce,q[0]),Re=T(Ce,V[0]),ce=T(Ce,X[0]),Ge=T(Ce,G[0]),nt=T(Ce,N[0]),ct=M(M(P(X[0],X[0]),P(X[1],X[1])),M(P(X[2],X[2]),P(X[3],X[3]))),qt=T(ct,q[0]),rt=T(ct,V[0]),ot=T(ct,H[0]),Rt=T(ct,G[0]),kt=T(ct,N[0]),Ct=M(M(P(G[0],G[0]),P(G[1],G[1])),M(P(G[2],G[2]),P(G[3],G[3]))),Yt=T(Ct,q[0]),xr=T(Ct,V[0]),er=T(Ct,H[0]),Ke=T(Ct,X[0]),xt=T(Ct,N[0]),bt=M(M(P(N[0],N[0]),P(N[1],N[1])),M(P(N[2],N[2]),P(N[3],N[3]))),Lt=T(bt,q[0]),St=T(bt,V[0]),Et=T(bt,H[0]),dt=T(bt,X[0]),Ht=T(bt,G[0]),$t=M(M(M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),H[2]),T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),-X[2])),M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),G[2]),T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),-N[2]))),V[3]),M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),V[2]),T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),-X[2])),M(T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),G[2]),T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),-N[2]))),-H[3]),T(M(M(T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),V[2]),T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),-H[2])),M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),G[2]),T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),-N[2]))),X[3]))),M(M(T(M(M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),V[2]),T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),-H[2])),M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),X[2]),T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),-N[2]))),-G[3]),T(M(M(T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),V[2]),T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),-H[2])),M(T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),X[2]),T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),-G[2]))),N[3])),M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),V[2]),T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),-X[2])),M(T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),G[2]),T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),-N[2]))),q[3]),T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-X[2])),M(T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),G[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-N[2]))),-V[3])))),M(M(M(T(M(M(T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),G[2]),T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),-N[2]))),X[3]),T(M(M(T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),q[2]),T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),X[2]),T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),-N[2]))),-G[3])),M(T(M(M(T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),q[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-V[2])),M(T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),X[2]),T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),-G[2]))),N[3]),T(M(M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),V[2]),T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),-H[2])),M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),X[2]),T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),-N[2]))),q[3]))),M(M(T(M(M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),q[2]),T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),-H[2])),M(T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),X[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-N[2]))),-V[3]),T(M(M(T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),q[2]),T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),X[2]),T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),-N[2]))),H[3])),M(T(M(M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),q[2]),T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-N[2]))),-X[3]),T(M(M(T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),q[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-V[2])),M(T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-X[2]))),N[3]))))),fr=M(M(M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),H[2]),T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),-X[2])),M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),G[2]),T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),-N[2]))),q[3]),M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-X[2])),M(T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),G[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-N[2]))),-H[3]),T(M(M(T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-H[2])),M(T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),G[2]),T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),-N[2]))),X[3]))),M(M(T(M(M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),q[2]),T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),-H[2])),M(T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),X[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-N[2]))),-G[3]),T(M(M(T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),q[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-H[2])),M(T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),X[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-G[2]))),N[3])),M(T(M(M(T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),V[2]),T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),-H[2])),M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),G[2]),T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),-N[2]))),q[3]),T(M(M(T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-H[2])),M(T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),G[2]),T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),-N[2]))),-V[3])))),M(M(M(T(M(M(T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),G[2]),T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),-N[2]))),H[3]),T(M(M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),q[2]),T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-N[2]))),-G[3])),M(T(M(M(T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),q[2]),T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),-V[2])),M(T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-G[2]))),N[3]),T(M(M(T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),V[2]),T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),-H[2])),M(T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),X[2]),T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),-G[2]))),q[3]))),M(M(T(M(M(T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),q[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-H[2])),M(T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),X[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-G[2]))),-V[3]),T(M(M(T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),q[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-V[2])),M(T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),X[2]),T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),-G[2]))),H[3])),M(T(M(M(T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),q[2]),T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),-V[2])),M(T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-G[2]))),-X[3]),T(M(M(T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),q[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-V[2])),M(T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-X[2]))),G[3]))))),_r=g($t,fr);return _r[_r.length-1]}return F}var A=[d,v,x];function L(M){var g=A[M.length];return g||(g=A[M.length]=h(M.length)),g.apply(void 0,M)}function _(M,g,P,T,F,q,V,H){function X(G,N,W,re,ae,_e){switch(arguments.length){case 0:case 1:return 0;case 2:return T(G,N);case 3:return F(G,N,W);case 4:return q(G,N,W,re);case 5:return V(G,N,W,re,ae);case 6:return H(G,N,W,re,ae,_e)}for(var Me=new Array(arguments.length),ke=0;ke<arguments.length;++ke)Me[ke]=arguments[ke];return M(Me)}return X}function C(){for(;A.length<=f;)A.push(h(A.length));i.exports=_.apply(void 0,[L].concat(A));for(var M=0;M<=f;++M)i.exports[M]=A[M]}C()},727:function(i,a,o){\"use strict\";var s=o(2962),l=6;function u(A){var L=A===2?h:A===3?d:A===4?v:A===5?x:b;return A<6?L(s[A]):L(s)}function c(){return[[0]]}function f(A,L){return[[L[0]],[A[0][0]]]}function h(A){return function(_,C){return[A([[+C[0],+_[0][1]],[+C[1],+_[1][1]]]),A([[+_[0][0],+C[0]],[+_[1][0],+C[1]]]),A(_)]}}function d(A){return function(_,C){return[A([[+C[0],+_[0][1],+_[0][2]],[+C[1],+_[1][1],+_[1][2]],[+C[2],+_[2][1],+_[2][2]]]),A([[+_[0][0],+C[0],+_[0][2]],[+_[1][0],+C[1],+_[1][2]],[+_[2][0],+C[2],+_[2][2]]]),A([[+_[0][0],+_[0][1],+C[0]],[+_[1][0],+_[1][1],+C[1]],[+_[2][0],+_[2][1],+C[2]]]),A(_)]}}function v(A){return function(_,C){return[A([[+C[0],+_[0][1],+_[0][2],+_[0][3]],[+C[1],+_[1][1],+_[1][2],+_[1][3]],[+C[2],+_[2][1],+_[2][2],+_[2][3]],[+C[3],+_[3][1],+_[3][2],+_[3][3]]]),A([[+_[0][0],+C[0],+_[0][2],+_[0][3]],[+_[1][0],+C[1],+_[1][2],+_[1][3]],[+_[2][0],+C[2],+_[2][2],+_[2][3]],[+_[3][0],+C[3],+_[3][2],+_[3][3]]]),A([[+_[0][0],+_[0][1],+C[0],+_[0][3]],[+_[1][0],+_[1][1],+C[1],+_[1][3]],[+_[2][0],+_[2][1],+C[2],+_[2][3]],[+_[3][0],+_[3][1],+C[3],+_[3][3]]]),A([[+_[0][0],+_[0][1],+_[0][2],+C[0]],[+_[1][0],+_[1][1],+_[1][2],+C[1]],[+_[2][0],+_[2][1],+_[2][2],+C[2]],[+_[3][0],+_[3][1],+_[3][2],+C[3]]]),A(_)]}}function x(A){return function(_,C){return[A([[+C[0],+_[0][1],+_[0][2],+_[0][3],+_[0][4]],[+C[1],+_[1][1],+_[1][2],+_[1][3],+_[1][4]],[+C[2],+_[2][1],+_[2][2],+_[2][3],+_[2][4]],[+C[3],+_[3][1],+_[3][2],+_[3][3],+_[3][4]],[+C[4],+_[4][1],+_[4][2],+_[4][3],+_[4][4]]]),A([[+_[0][0],+C[0],+_[0][2],+_[0][3],+_[0][4]],[+_[1][0],+C[1],+_[1][2],+_[1][3],+_[1][4]],[+_[2][0],+C[2],+_[2][2],+_[2][3],+_[2][4]],[+_[3][0],+C[3],+_[3][2],+_[3][3],+_[3][4]],[+_[4][0],+C[4],+_[4][2],+_[4][3],+_[4][4]]]),A([[+_[0][0],+_[0][1],+C[0],+_[0][3],+_[0][4]],[+_[1][0],+_[1][1],+C[1],+_[1][3],+_[1][4]],[+_[2][0],+_[2][1],+C[2],+_[2][3],+_[2][4]],[+_[3][0],+_[3][1],+C[3],+_[3][3],+_[3][4]],[+_[4][0],+_[4][1],+C[4],+_[4][3],+_[4][4]]]),A([[+_[0][0],+_[0][1],+_[0][2],+C[0],+_[0][4]],[+_[1][0],+_[1][1],+_[1][2],+C[1],+_[1][4]],[+_[2][0],+_[2][1],+_[2][2],+C[2],+_[2][4]],[+_[3][0],+_[3][1],+_[3][2],+C[3],+_[3][4]],[+_[4][0],+_[4][1],+_[4][2],+C[4],+_[4][4]]]),A([[+_[0][0],+_[0][1],+_[0][2],+_[0][3],+C[0]],[+_[1][0],+_[1][1],+_[1][2],+_[1][3],+C[1]],[+_[2][0],+_[2][1],+_[2][2],+_[2][3],+C[2]],[+_[3][0],+_[3][1],+_[3][2],+_[3][3],+C[3]],[+_[4][0],+_[4][1],+_[4][2],+_[4][3],+C[4]]]),A(_)]}}function b(A){return function(_,C){return[A([[+C[0],+_[0][1],+_[0][2],+_[0][3],+_[0][4],+_[0][5]],[+C[1],+_[1][1],+_[1][2],+_[1][3],+_[1][4],+_[1][5]],[+C[2],+_[2][1],+_[2][2],+_[2][3],+_[2][4],+_[2][5]],[+C[3],+_[3][1],+_[3][2],+_[3][3],+_[3][4],+_[3][5]],[+C[4],+_[4][1],+_[4][2],+_[4][3],+_[4][4],+_[4][5]],[+C[5],+_[5][1],+_[5][2],+_[5][3],+_[5][4],+_[5][5]]]),A([[+_[0][0],+C[0],+_[0][2],+_[0][3],+_[0][4],+_[0][5]],[+_[1][0],+C[1],+_[1][2],+_[1][3],+_[1][4],+_[1][5]],[+_[2][0],+C[2],+_[2][2],+_[2][3],+_[2][4],+_[2][5]],[+_[3][0],+C[3],+_[3][2],+_[3][3],+_[3][4],+_[3][5]],[+_[4][0],+C[4],+_[4][2],+_[4][3],+_[4][4],+_[4][5]],[+_[5][0],+C[5],+_[5][2],+_[5][3],+_[5][4],+_[5][5]]]),A([[+_[0][0],+_[0][1],+C[0],+_[0][3],+_[0][4],+_[0][5]],[+_[1][0],+_[1][1],+C[1],+_[1][3],+_[1][4],+_[1][5]],[+_[2][0],+_[2][1],+C[2],+_[2][3],+_[2][4],+_[2][5]],[+_[3][0],+_[3][1],+C[3],+_[3][3],+_[3][4],+_[3][5]],[+_[4][0],+_[4][1],+C[4],+_[4][3],+_[4][4],+_[4][5]],[+_[5][0],+_[5][1],+C[5],+_[5][3],+_[5][4],+_[5][5]]]),A([[+_[0][0],+_[0][1],+_[0][2],+C[0],+_[0][4],+_[0][5]],[+_[1][0],+_[1][1],+_[1][2],+C[1],+_[1][4],+_[1][5]],[+_[2][0],+_[2][1],+_[2][2],+C[2],+_[2][4],+_[2][5]],[+_[3][0],+_[3][1],+_[3][2],+C[3],+_[3][4],+_[3][5]],[+_[4][0],+_[4][1],+_[4][2],+C[4],+_[4][4],+_[4][5]],[+_[5][0],+_[5][1],+_[5][2],+C[5],+_[5][4],+_[5][5]]]),A([[+_[0][0],+_[0][1],+_[0][2],+_[0][3],+C[0],+_[0][5]],[+_[1][0],+_[1][1],+_[1][2],+_[1][3],+C[1],+_[1][5]],[+_[2][0],+_[2][1],+_[2][2],+_[2][3],+C[2],+_[2][5]],[+_[3][0],+_[3][1],+_[3][2],+_[3][3],+C[3],+_[3][5]],[+_[4][0],+_[4][1],+_[4][2],+_[4][3],+C[4],+_[4][5]],[+_[5][0],+_[5][1],+_[5][2],+_[5][3],+C[5],+_[5][5]]]),A([[+_[0][0],+_[0][1],+_[0][2],+_[0][3],+_[0][4],+C[0]],[+_[1][0],+_[1][1],+_[1][2],+_[1][3],+_[1][4],+C[1]],[+_[2][0],+_[2][1],+_[2][2],+_[2][3],+_[2][4],+C[2]],[+_[3][0],+_[3][1],+_[3][2],+_[3][3],+_[3][4],+C[3]],[+_[4][0],+_[4][1],+_[4][2],+_[4][3],+_[4][4],+C[4]],[+_[5][0],+_[5][1],+_[5][2],+_[5][3],+_[5][4],+C[5]]]),A(_)]}}var p=[c,f];function E(A,L,_,C,M,g,P,T){return function(q,V){switch(q.length){case 0:return A(q,V);case 1:return L(q,V);case 2:return _(q,V);case 3:return C(q,V);case 4:return M(q,V);case 5:return g(q,V)}var H=P[q.length];return H||(H=P[q.length]=T(q.length)),H(q,V)}}function k(){for(;p.length<l;)p.push(u(p.length));i.exports=E.apply(void 0,p.concat([p,u]));for(var A=0;A<l;++A)i.exports[A]=p[A]}k()},3250:function(i,a,o){\"use strict\";var s=o(5250),l=o(8210),u=o(3012),c=o(8545),f=5,h=11102230246251565e-32,d=(3+16*h)*h,v=(7+56*h)*h;function x(g,P,T,F){return function(V,H,X){var G=g(g(P(H[1],X[0]),P(-X[1],H[0])),g(P(V[1],H[0]),P(-H[1],V[0]))),N=g(P(V[1],X[0]),P(-X[1],V[0])),W=F(G,N);return W[W.length-1]}}function b(g,P,T,F){return function(V,H,X,G){var N=g(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),H[2]),g(T(g(P(H[1],G[0]),P(-G[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),G[2]))),g(T(g(P(H[1],G[0]),P(-G[1],H[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),G[2])))),W=g(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),G[2]))),g(T(g(P(H[1],X[0]),P(-X[1],H[0])),V[2]),g(T(g(P(V[1],X[0]),P(-X[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),X[2])))),re=F(N,W);return re[re.length-1]}}function p(g,P,T,F){return function(V,H,X,G,N){var W=g(g(g(T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),X[2]),g(T(g(P(X[1],N[0]),P(-N[1],X[0])),-G[2]),T(g(P(X[1],G[0]),P(-G[1],X[0])),N[2]))),H[3]),g(T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),H[2]),g(T(g(P(H[1],N[0]),P(-N[1],H[0])),-G[2]),T(g(P(H[1],G[0]),P(-G[1],H[0])),N[2]))),-X[3]),T(g(T(g(P(X[1],N[0]),P(-N[1],X[0])),H[2]),g(T(g(P(H[1],N[0]),P(-N[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),N[2]))),G[3]))),g(T(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),H[2]),g(T(g(P(H[1],G[0]),P(-G[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),G[2]))),-N[3]),g(T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),H[2]),g(T(g(P(H[1],N[0]),P(-N[1],H[0])),-G[2]),T(g(P(H[1],G[0]),P(-G[1],H[0])),N[2]))),V[3]),T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-G[2]),T(g(P(V[1],G[0]),P(-G[1],V[0])),N[2]))),-H[3])))),g(g(T(g(T(g(P(H[1],N[0]),P(-N[1],H[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),N[2]))),G[3]),g(T(g(T(g(P(H[1],G[0]),P(-G[1],H[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),G[2]))),-N[3]),T(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),H[2]),g(T(g(P(H[1],G[0]),P(-G[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),G[2]))),V[3]))),g(T(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),G[2]))),-H[3]),g(T(g(T(g(P(H[1],G[0]),P(-G[1],H[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),G[2]))),X[3]),T(g(T(g(P(H[1],X[0]),P(-X[1],H[0])),V[2]),g(T(g(P(V[1],X[0]),P(-X[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),X[2]))),-G[3]))))),re=g(g(g(T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),X[2]),g(T(g(P(X[1],N[0]),P(-N[1],X[0])),-G[2]),T(g(P(X[1],G[0]),P(-G[1],X[0])),N[2]))),V[3]),T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-G[2]),T(g(P(V[1],G[0]),P(-G[1],V[0])),N[2]))),-X[3])),g(T(g(T(g(P(X[1],N[0]),P(-N[1],X[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),N[2]))),G[3]),T(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),G[2]))),-N[3]))),g(g(T(g(T(g(P(X[1],N[0]),P(-N[1],X[0])),H[2]),g(T(g(P(H[1],N[0]),P(-N[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),N[2]))),V[3]),T(g(T(g(P(X[1],N[0]),P(-N[1],X[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),N[2]))),-H[3])),g(T(g(T(g(P(H[1],N[0]),P(-N[1],H[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),N[2]))),X[3]),T(g(T(g(P(H[1],X[0]),P(-X[1],H[0])),V[2]),g(T(g(P(V[1],X[0]),P(-X[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),X[2]))),-N[3])))),ae=F(W,re);return ae[ae.length-1]}}function E(g){var P=g===3?x:g===4?b:p;return P(l,s,u,c)}var k=E(3),A=E(4),L=[function(){return 0},function(){return 0},function(P,T){return T[0]-P[0]},function(P,T,F){var q=(P[1]-F[1])*(T[0]-F[0]),V=(P[0]-F[0])*(T[1]-F[1]),H=q-V,X;if(q>0){if(V<=0)return H;X=q+V}else if(q<0){if(V>=0)return H;X=-(q+V)}else return H;var G=d*X;return H>=G||H<=-G?H:k(P,T,F)},function(P,T,F,q){var V=P[0]-q[0],H=T[0]-q[0],X=F[0]-q[0],G=P[1]-q[1],N=T[1]-q[1],W=F[1]-q[1],re=P[2]-q[2],ae=T[2]-q[2],_e=F[2]-q[2],Me=H*W,ke=X*N,ge=X*G,ie=V*W,Te=V*N,Ee=H*G,Ae=re*(Me-ke)+ae*(ge-ie)+_e*(Te-Ee),ze=(Math.abs(Me)+Math.abs(ke))*Math.abs(re)+(Math.abs(ge)+Math.abs(ie))*Math.abs(ae)+(Math.abs(Te)+Math.abs(Ee))*Math.abs(_e),Ce=v*ze;return Ae>Ce||-Ae>Ce?Ae:A(P,T,F,q)}];function _(g){var P=L[g.length];return P||(P=L[g.length]=E(g.length)),P.apply(void 0,g)}function C(g,P,T,F,q,V,H){return function(G,N,W,re,ae){switch(arguments.length){case 0:case 1:return 0;case 2:return F(G,N);case 3:return q(G,N,W);case 4:return V(G,N,W,re);case 5:return H(G,N,W,re,ae)}for(var _e=new Array(arguments.length),Me=0;Me<arguments.length;++Me)_e[Me]=arguments[Me];return g(_e)}}function M(){for(;L.length<=f;)L.push(E(L.length));i.exports=C.apply(void 0,[_].concat(L));for(var g=0;g<=f;++g)i.exports[g]=L[g]}M()},5382:function(i,a,o){\"use strict\";var s=o(8210),l=o(3012);i.exports=u;function u(c,f){if(c.length===1)return l(f,c[0]);if(f.length===1)return l(c,f[0]);if(c.length===0||f.length===0)return[0];var h=[0];if(c.length<f.length)for(var d=0;d<c.length;++d)h=s(h,l(f,c[d]));else for(var d=0;d<f.length;++d)h=s(h,l(c,f[d]));return h}},3012:function(i,a,o){\"use strict\";var s=o(5250),l=o(9362);i.exports=u;function u(c,f){var h=c.length;if(h===1){var d=s(c[0],f);return d[0]?d:[d[1]]}var v=new Array(2*h),x=[.1,.1],b=[.1,.1],p=0;s(c[0],f,x),x[0]&&(v[p++]=x[0]);for(var E=1;E<h;++E){s(c[E],f,b);var k=x[1];l(k,b[0],x),x[0]&&(v[p++]=x[0]);var A=b[1],L=x[1],_=A+L,C=_-A,M=L-C;x[1]=_,M&&(v[p++]=M)}return x[1]&&(v[p++]=x[1]),p===0&&(v[p++]=0),v.length=p,v}},1125:function(i,a,o){\"use strict\";i.exports=u;var s=o(3250)[3];function l(c,f,h,d){for(var v=0;v<2;++v){var x=c[v],b=f[v],p=Math.min(x,b),E=Math.max(x,b),k=h[v],A=d[v],L=Math.min(k,A),_=Math.max(k,A);if(_<p||E<L)return!1}return!0}function u(c,f,h,d){var v=s(c,h,d),x=s(f,h,d);if(v>0&&x>0||v<0&&x<0)return!1;var b=s(h,c,f),p=s(d,c,f);return b>0&&p>0||b<0&&p<0?!1:v===0&&x===0&&b===0&&p===0?l(c,f,h,d):!0}},8545:function(i){\"use strict\";i.exports=o;function a(s,l){var u=s+l,c=u-s,f=u-c,h=l-c,d=s-f,v=d+h;return v?[v,u]:[u]}function o(s,l){var u=s.length|0,c=l.length|0;if(u===1&&c===1)return a(s[0],-l[0]);var f=u+c,h=new Array(f),d=0,v=0,x=0,b=Math.abs,p=s[v],E=b(p),k=-l[x],A=b(k),L,_;E<A?(_=p,v+=1,v<u&&(p=s[v],E=b(p))):(_=k,x+=1,x<c&&(k=-l[x],A=b(k))),v<u&&E<A||x>=c?(L=p,v+=1,v<u&&(p=s[v],E=b(p))):(L=k,x+=1,x<c&&(k=-l[x],A=b(k)));for(var C=L+_,M=C-L,g=_-M,P=g,T=C,F,q,V,H,X;v<u&&x<c;)E<A?(L=p,v+=1,v<u&&(p=s[v],E=b(p))):(L=k,x+=1,x<c&&(k=-l[x],A=b(k))),_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F;for(;v<u;)L=p,_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F,v+=1,v<u&&(p=s[v]);for(;x<c;)L=k,_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F,x+=1,x<c&&(k=-l[x]);return P&&(h[d++]=P),T&&(h[d++]=T),d||(h[d++]=0),h.length=d,h}},8210:function(i){\"use strict\";i.exports=o;function a(s,l){var u=s+l,c=u-s,f=u-c,h=l-c,d=s-f,v=d+h;return v?[v,u]:[u]}function o(s,l){var u=s.length|0,c=l.length|0;if(u===1&&c===1)return a(s[0],l[0]);var f=u+c,h=new Array(f),d=0,v=0,x=0,b=Math.abs,p=s[v],E=b(p),k=l[x],A=b(k),L,_;E<A?(_=p,v+=1,v<u&&(p=s[v],E=b(p))):(_=k,x+=1,x<c&&(k=l[x],A=b(k))),v<u&&E<A||x>=c?(L=p,v+=1,v<u&&(p=s[v],E=b(p))):(L=k,x+=1,x<c&&(k=l[x],A=b(k)));for(var C=L+_,M=C-L,g=_-M,P=g,T=C,F,q,V,H,X;v<u&&x<c;)E<A?(L=p,v+=1,v<u&&(p=s[v],E=b(p))):(L=k,x+=1,x<c&&(k=l[x],A=b(k))),_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F;for(;v<u;)L=p,_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F,v+=1,v<u&&(p=s[v]);for(;x<c;)L=k,_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F,x+=1,x<c&&(k=l[x]);return P&&(h[d++]=P),T&&(h[d++]=T),d||(h[d++]=0),h.length=d,h}},9127:function(i,a,o){\"use strict\";i.exports=u;var s=o(6204),l=o(5771);function u(c){return l(s(c))}},7765:function(i,a,o){\"use strict\";i.exports=p;var s=o(9618),l=o(1888),u=o(446),c=o(1570);function f(E){for(var k=E.length,A=0,L=0;L<k;++L)A=Math.max(A,E[L].length)|0;return A-1}function h(E,k){for(var A=E.length,L=l.mallocUint8(A),_=0;_<A;++_)L[_]=E[_]<k|0;return L}function d(E,k){for(var A=E.length,L=k*(k+1)/2*A|0,_=l.mallocUint32(L*2),C=0,M=0;M<A;++M)for(var g=E[M],k=g.length,P=0;P<k;++P)for(var T=0;T<P;++T){var F=g[T],q=g[P];_[C++]=Math.min(F,q)|0,_[C++]=Math.max(F,q)|0}var V=C/2|0;u(s(_,[V,2]));for(var H=2,M=2;M<C;M+=2)_[M-2]===_[M]&&_[M-1]===_[M+1]||(_[H++]=_[M],_[H++]=_[M+1]);return s(_,[H/2|0,2])}function v(E,k,A,L){for(var _=E.data,C=E.shape[0],M=l.mallocDouble(C),g=0,P=0;P<C;++P){var T=_[2*P],F=_[2*P+1];if(A[T]!==A[F]){var q=k[T],V=k[F];_[2*g]=T,_[2*g+1]=F,M[g++]=(V-L)/(V-q)}}return E.shape[0]=g,s(M,[g])}function x(E,k){var A=l.mallocInt32(k*2),L=E.shape[0],_=E.data;A[0]=0;for(var C=0,M=0;M<L;++M){var g=_[2*M];if(g!==C){for(A[2*C+1]=M;++C<g;)A[2*C]=M,A[2*C+1]=M;A[2*C]=M}}for(A[2*C+1]=L;++C<k;)A[2*C]=A[2*C+1]=L;return A}function b(E){for(var k=E.shape[0]|0,A=E.data,L=new Array(k),_=0;_<k;++_)L[_]=[A[2*_],A[2*_+1]];return L}function p(E,k,A,L){A=A||0,typeof L==\"undefined\"&&(L=f(E));var _=E.length;if(_===0||L<1)return{cells:[],vertexIds:[],vertexWeights:[]};var C=h(k,+A),M=d(E,L),g=v(M,k,C,+A),P=x(M,k.length|0),T=c(L)(E,M.data,P,C),F=b(M),q=[].slice.call(g.data,0,g.shape[0]);return l.free(C),l.free(M.data),l.free(g.data),l.free(P),{cells:T,vertexIds:F,vertexWeights:q}}},1570:function(i){\"use strict\";i.exports=o;var a=[function(){function l(c,f,h,d){for(var v=Math.min(h,d)|0,x=Math.max(h,d)|0,b=c[2*v],p=c[2*v+1];b<p;){var E=b+p>>1,k=f[2*E+1];if(k===x)return E;x<k?p=E:b=E+1}return b}function u(c,f,h,d){for(var v=c.length,x=[],b=0;b<v;++b)var p=c[b],E=p.length;return x}return u},function(){function l(c,f,h,d){for(var v=Math.min(h,d)|0,x=Math.max(h,d)|0,b=c[2*v],p=c[2*v+1];b<p;){var E=b+p>>1,k=f[2*E+1];if(k===x)return E;x<k?p=E:b=E+1}return b}function u(c,f,h,d){for(var v=c.length,x=[],b=0;b<v;++b){var p=c[b],E=p.length;if(E===2){var k=(d[p[0]]<<0)+(d[p[1]]<<1);if(k===0||k===3)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0])]);break;case 3:break}}}return x}return u},function(){function l(c,f,h,d){for(var v=Math.min(h,d)|0,x=Math.max(h,d)|0,b=c[2*v],p=c[2*v+1];b<p;){var E=b+p>>1,k=f[2*E+1];if(k===x)return E;x<k?p=E:b=E+1}return b}function u(c,f,h,d){for(var v=c.length,x=[],b=0;b<v;++b){var p=c[b],E=p.length;if(E===3){var k=(d[p[0]]<<0)+(d[p[1]]<<1)+(d[p[2]]<<2);if(k===0||k===7)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[2]),l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0]),l(h,f,p[1],p[2])]);break;case 3:x.push([l(h,f,p[0],p[2]),l(h,f,p[1],p[2])]);break;case 4:x.push([l(h,f,p[2],p[1]),l(h,f,p[2],p[0])]);break;case 5:x.push([l(h,f,p[2],p[1]),l(h,f,p[0],p[1])]);break;case 6:x.push([l(h,f,p[1],p[0]),l(h,f,p[2],p[0])]);break;case 7:break}}else if(E===2){var k=(d[p[0]]<<0)+(d[p[1]]<<1);if(k===0||k===3)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0])]);break;case 3:break}}}return x}return u},function(){function l(c,f,h,d){for(var v=Math.min(h,d)|0,x=Math.max(h,d)|0,b=c[2*v],p=c[2*v+1];b<p;){var E=b+p>>1,k=f[2*E+1];if(k===x)return E;x<k?p=E:b=E+1}return b}function u(c,f,h,d){for(var v=c.length,x=[],b=0;b<v;++b){var p=c[b],E=p.length;if(E===4){var k=(d[p[0]]<<0)+(d[p[1]]<<1)+(d[p[2]]<<2)+(d[p[3]]<<3);if(k===0||k===15)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[1]),l(h,f,p[0],p[2]),l(h,f,p[0],p[3])]);break;case 2:x.push([l(h,f,p[1],p[2]),l(h,f,p[1],p[0]),l(h,f,p[1],p[3])]);break;case 3:x.push([l(h,f,p[1],p[2]),l(h,f,p[0],p[2]),l(h,f,p[0],p[3])],[l(h,f,p[1],p[3]),l(h,f,p[1],p[2]),l(h,f,p[0],p[3])]);break;case 4:x.push([l(h,f,p[2],p[0]),l(h,f,p[2],p[1]),l(h,f,p[2],p[3])]);break;case 5:x.push([l(h,f,p[0],p[1]),l(h,f,p[2],p[1]),l(h,f,p[0],p[3])],[l(h,f,p[2],p[1]),l(h,f,p[2],p[3]),l(h,f,p[0],p[3])]);break;case 6:x.push([l(h,f,p[2],p[0]),l(h,f,p[1],p[0]),l(h,f,p[1],p[3])],[l(h,f,p[2],p[3]),l(h,f,p[2],p[0]),l(h,f,p[1],p[3])]);break;case 7:x.push([l(h,f,p[0],p[3]),l(h,f,p[1],p[3]),l(h,f,p[2],p[3])]);break;case 8:x.push([l(h,f,p[3],p[1]),l(h,f,p[3],p[0]),l(h,f,p[3],p[2])]);break;case 9:x.push([l(h,f,p[3],p[1]),l(h,f,p[0],p[1]),l(h,f,p[0],p[2])],[l(h,f,p[3],p[2]),l(h,f,p[3],p[1]),l(h,f,p[0],p[2])]);break;case 10:x.push([l(h,f,p[1],p[0]),l(h,f,p[3],p[0]),l(h,f,p[1],p[2])],[l(h,f,p[3],p[0]),l(h,f,p[3],p[2]),l(h,f,p[1],p[2])]);break;case 11:x.push([l(h,f,p[1],p[2]),l(h,f,p[0],p[2]),l(h,f,p[3],p[2])]);break;case 12:x.push([l(h,f,p[3],p[0]),l(h,f,p[2],p[0]),l(h,f,p[2],p[1])],[l(h,f,p[3],p[1]),l(h,f,p[3],p[0]),l(h,f,p[2],p[1])]);break;case 13:x.push([l(h,f,p[0],p[1]),l(h,f,p[2],p[1]),l(h,f,p[3],p[1])]);break;case 14:x.push([l(h,f,p[2],p[0]),l(h,f,p[1],p[0]),l(h,f,p[3],p[0])]);break;case 15:break}}else if(E===3){var k=(d[p[0]]<<0)+(d[p[1]]<<1)+(d[p[2]]<<2);if(k===0||k===7)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[2]),l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0]),l(h,f,p[1],p[2])]);break;case 3:x.push([l(h,f,p[0],p[2]),l(h,f,p[1],p[2])]);break;case 4:x.push([l(h,f,p[2],p[1]),l(h,f,p[2],p[0])]);break;case 5:x.push([l(h,f,p[2],p[1]),l(h,f,p[0],p[1])]);break;case 6:x.push([l(h,f,p[1],p[0]),l(h,f,p[2],p[0])]);break;case 7:break}}else if(E===2){var k=(d[p[0]]<<0)+(d[p[1]]<<1);if(k===0||k===3)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0])]);break;case 3:break}}}return x}return u}];function o(s){return a[s]()}},6803:function(i,a,o){\"use strict\";var s,l=o(8828),u=o(1755);function c(P){for(var T=0,F=Math.max,q=0,V=P.length;q<V;++q)T=F(T,P[q].length);return T-1}s=c;function f(P){for(var T=-1,F=Math.max,q=0,V=P.length;q<V;++q)for(var H=P[q],X=0,G=H.length;X<G;++X)T=F(T,H[X]);return T+1}s=f;function h(P){for(var T=new Array(P.length),F=0,q=P.length;F<q;++F)T[F]=P[F].slice(0);return T}s=h;function d(P,T){var F=P.length,q=P.length-T.length,V=Math.min;if(q)return q;switch(F){case 0:return 0;case 1:return P[0]-T[0];case 2:var W=P[0]+P[1]-T[0]-T[1];return W||V(P[0],P[1])-V(T[0],T[1]);case 3:var H=P[0]+P[1],X=T[0]+T[1];if(W=H+P[2]-(X+T[2]),W)return W;var G=V(P[0],P[1]),N=V(T[0],T[1]),W=V(G,P[2])-V(N,T[2]);return W||V(G+P[2],H)-V(N+T[2],X);default:var re=P.slice(0);re.sort();var ae=T.slice(0);ae.sort();for(var _e=0;_e<F;++_e)if(q=re[_e]-ae[_e],q)return q;return 0}}a.Fw=d;function v(P,T){return d(P[0],T[0])}function x(P,T){if(T){for(var F=P.length,q=new Array(F),V=0;V<F;++V)q[V]=[P[V],T[V]];q.sort(v);for(var V=0;V<F;++V)P[V]=q[V][0],T[V]=q[V][1];return P}else return P.sort(d),P}s=x;function b(P){if(P.length===0)return[];for(var T=1,F=P.length,q=1;q<F;++q){var V=P[q];if(d(V,P[q-1])){if(q===T){T++;continue}P[T++]=V}}return P.length=T,P}s=b;function p(P,T){for(var F=0,q=P.length-1,V=-1;F<=q;){var H=F+q>>1,X=d(P[H],T);X<=0?(X===0&&(V=H),F=H+1):X>0&&(q=H-1)}return V}s=p;function E(P,T){for(var F=new Array(P.length),q=0,V=F.length;q<V;++q)F[q]=[];for(var H=[],q=0,X=T.length;q<X;++q)for(var G=T[q],N=G.length,W=1,re=1<<N;W<re;++W){H.length=l.popCount(W);for(var ae=0,_e=0;_e<N;++_e)W&1<<_e&&(H[ae++]=G[_e]);var Me=p(P,H);if(!(Me<0))for(;F[Me++].push(q),!(Me>=P.length||d(P[Me],H)!==0););}return F}s=E;function k(P,T){if(!T)return E(b(L(P,0)),P,0);for(var F=new Array(T),q=0;q<T;++q)F[q]=[];for(var q=0,V=P.length;q<V;++q)for(var H=P[q],X=0,G=H.length;X<G;++X)F[H[X]].push(q);return F}s=k;function A(P){for(var T=[],F=0,q=P.length;F<q;++F)for(var V=P[F],H=V.length|0,X=1,G=1<<H;X<G;++X){for(var N=[],W=0;W<H;++W)X>>>W&1&&N.push(V[W]);T.push(N)}return x(T)}s=A;function L(P,T){if(T<0)return[];for(var F=[],q=(1<<T+1)-1,V=0;V<P.length;++V)for(var H=P[V],X=q;X<1<<H.length;X=l.nextCombination(X)){for(var G=new Array(T+1),N=0,W=0;W<H.length;++W)X&1<<W&&(G[N++]=H[W]);F.push(G)}return x(F)}s=L;function _(P){for(var T=[],F=0,q=P.length;F<q;++F)for(var V=P[F],H=0,X=V.length;H<X;++H){for(var G=new Array(V.length-1),N=0,W=0;N<X;++N)N!==H&&(G[W++]=V[N]);T.push(G)}return x(T)}s=_;function C(P,T){for(var F=new u(T),q=0;q<P.length;++q)for(var V=P[q],H=0;H<V.length;++H)for(var X=H+1;X<V.length;++X)F.link(V[H],V[X]);for(var G=[],N=F.ranks,q=0;q<N.length;++q)N[q]=-1;for(var q=0;q<P.length;++q){var W=F.find(P[q][0]);N[W]<0?(N[W]=G.length,G.push([P[q].slice(0)])):G[N[W]].push(P[q].slice(0))}return G}function M(P){for(var T=b(x(L(P,0))),F=new u(T.length),q=0;q<P.length;++q)for(var V=P[q],H=0;H<V.length;++H)for(var X=p(T,[V[H]]),G=H+1;G<V.length;++G)F.link(X,p(T,[V[G]]));for(var N=[],W=F.ranks,q=0;q<W.length;++q)W[q]=-1;for(var q=0;q<P.length;++q){var re=F.find(p(T,[P[q][0]]));W[re]<0?(W[re]=N.length,N.push([P[q].slice(0)])):N[W[re]].push(P[q].slice(0))}return N}function g(P,T){return T?C(P,T):M(P)}s=g},3105:function(i,a){\"use strict\";\"use restrict\";var o=32;a.INT_BITS=o,a.INT_MAX=2147483647,a.INT_MIN=-1<<o-1,a.sign=function(u){return(u>0)-(u<0)},a.abs=function(u){var c=u>>o-1;return(u^c)-c},a.min=function(u,c){return c^(u^c)&-(u<c)},a.max=function(u,c){return u^(u^c)&-(u<c)},a.isPow2=function(u){return!(u&u-1)&&!!u},a.log2=function(u){var c,f;return c=(u>65535)<<4,u>>>=c,f=(u>255)<<3,u>>>=f,c|=f,f=(u>15)<<2,u>>>=f,c|=f,f=(u>3)<<1,u>>>=f,c|=f,c|u>>1},a.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},a.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var c=32;return u&=-u,u&&c--,u&65535&&(c-=16),u&16711935&&(c-=8),u&252645135&&(c-=4),u&858993459&&(c-=2),u&1431655765&&(c-=1),c}a.countTrailingZeros=s,a.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},a.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},a.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var c=0;c<256;++c){var f=c,h=c,d=7;for(f>>>=1;f;f>>>=1)h<<=1,h|=f&1,--d;u[c]=h<<d&255}})(l),a.reverse=function(u){return l[u&255]<<24|l[u>>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},a.interleave2=function(u,c){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,c&=65535,c=(c|c<<8)&16711935,c=(c|c<<4)&252645135,c=(c|c<<2)&858993459,c=(c|c<<1)&1431655765,u|c<<1},a.deinterleave2=function(u,c){return u=u>>>c&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},a.interleave3=function(u,c,f){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|=c<<1,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|f<<2},a.deinterleave3=function(u,c){return u=u>>>c&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},a.nextCombination=function(u){var c=u|u-1;return c+1|(~c&-~c)-1>>>s(u)+1}},2014:function(i,a,o){\"use strict\";\"use restrict\";var s=o(3105),l=o(4623);function u(g){for(var P=0,T=Math.max,F=0,q=g.length;F<q;++F)P=T(P,g[F].length);return P-1}a.dimension=u;function c(g){for(var P=-1,T=Math.max,F=0,q=g.length;F<q;++F)for(var V=g[F],H=0,X=V.length;H<X;++H)P=T(P,V[H]);return P+1}a.countVertices=c;function f(g){for(var P=new Array(g.length),T=0,F=g.length;T<F;++T)P[T]=g[T].slice(0);return P}a.cloneCells=f;function h(g,P){var T=g.length,F=g.length-P.length,q=Math.min;if(F)return F;switch(T){case 0:return 0;case 1:return g[0]-P[0];case 2:var N=g[0]+g[1]-P[0]-P[1];return N||q(g[0],g[1])-q(P[0],P[1]);case 3:var V=g[0]+g[1],H=P[0]+P[1];if(N=V+g[2]-(H+P[2]),N)return N;var X=q(g[0],g[1]),G=q(P[0],P[1]),N=q(X,g[2])-q(G,P[2]);return N||q(X+g[2],V)-q(G+P[2],H);default:var W=g.slice(0);W.sort();var re=P.slice(0);re.sort();for(var ae=0;ae<T;++ae)if(F=W[ae]-re[ae],F)return F;return 0}}a.compareCells=h;function d(g,P){return h(g[0],P[0])}function v(g,P){if(P){for(var T=g.length,F=new Array(T),q=0;q<T;++q)F[q]=[g[q],P[q]];F.sort(d);for(var q=0;q<T;++q)g[q]=F[q][0],P[q]=F[q][1];return g}else return g.sort(h),g}a.normalize=v;function x(g){if(g.length===0)return[];for(var P=1,T=g.length,F=1;F<T;++F){var q=g[F];if(h(q,g[F-1])){if(F===P){P++;continue}g[P++]=q}}return g.length=P,g}a.unique=x;function b(g,P){for(var T=0,F=g.length-1,q=-1;T<=F;){var V=T+F>>1,H=h(g[V],P);H<=0?(H===0&&(q=V),T=V+1):H>0&&(F=V-1)}return q}a.findCell=b;function p(g,P){for(var T=new Array(g.length),F=0,q=T.length;F<q;++F)T[F]=[];for(var V=[],F=0,H=P.length;F<H;++F)for(var X=P[F],G=X.length,N=1,W=1<<G;N<W;++N){V.length=s.popCount(N);for(var re=0,ae=0;ae<G;++ae)N&1<<ae&&(V[re++]=X[ae]);var _e=b(g,V);if(!(_e<0))for(;T[_e++].push(F),!(_e>=g.length||h(g[_e],V)!==0););}return T}a.incidence=p;function E(g,P){if(!P)return p(x(A(g,0)),g,0);for(var T=new Array(P),F=0;F<P;++F)T[F]=[];for(var F=0,q=g.length;F<q;++F)for(var V=g[F],H=0,X=V.length;H<X;++H)T[V[H]].push(F);return T}a.dual=E;function k(g){for(var P=[],T=0,F=g.length;T<F;++T)for(var q=g[T],V=q.length|0,H=1,X=1<<V;H<X;++H){for(var G=[],N=0;N<V;++N)H>>>N&1&&G.push(q[N]);P.push(G)}return v(P)}a.explode=k;function A(g,P){if(P<0)return[];for(var T=[],F=(1<<P+1)-1,q=0;q<g.length;++q)for(var V=g[q],H=F;H<1<<V.length;H=s.nextCombination(H)){for(var X=new Array(P+1),G=0,N=0;N<V.length;++N)H&1<<N&&(X[G++]=V[N]);T.push(X)}return v(T)}a.skeleton=A;function L(g){for(var P=[],T=0,F=g.length;T<F;++T)for(var q=g[T],V=0,H=q.length;V<H;++V){for(var X=new Array(q.length-1),G=0,N=0;G<H;++G)G!==V&&(X[N++]=q[G]);P.push(X)}return v(P)}a.boundary=L;function _(g,P){for(var T=new l(P),F=0;F<g.length;++F)for(var q=g[F],V=0;V<q.length;++V)for(var H=V+1;H<q.length;++H)T.link(q[V],q[H]);for(var X=[],G=T.ranks,F=0;F<G.length;++F)G[F]=-1;for(var F=0;F<g.length;++F){var N=T.find(g[F][0]);G[N]<0?(G[N]=X.length,X.push([g[F].slice(0)])):X[G[N]].push(g[F].slice(0))}return X}function C(g){for(var P=x(v(A(g,0))),T=new l(P.length),F=0;F<g.length;++F)for(var q=g[F],V=0;V<q.length;++V)for(var H=b(P,[q[V]]),X=V+1;X<q.length;++X)T.link(H,b(P,[q[X]]));for(var G=[],N=T.ranks,F=0;F<N.length;++F)N[F]=-1;for(var F=0;F<g.length;++F){var W=T.find(b(P,[g[F][0]]));N[W]<0?(N[W]=G.length,G.push([g[F].slice(0)])):G[N[W]].push(g[F].slice(0))}return G}function M(g,P){return P?_(g,P):C(g)}a.connectedComponents=M},4623:function(i){\"use strict\";\"use restrict\";i.exports=a;function a(o){this.roots=new Array(o),this.ranks=new Array(o);for(var s=0;s<o;++s)this.roots[s]=s,this.ranks[s]=0}a.prototype.length=function(){return this.roots.length},a.prototype.makeSet=function(){var o=this.roots.length;return this.roots.push(o),this.ranks.push(0),o},a.prototype.find=function(o){for(var s=this.roots;s[o]!==o;){var l=s[o];s[o]=s[l],o=l}return o},a.prototype.link=function(o,s){var l=this.find(o),u=this.find(s);if(l!==u){var c=this.ranks,f=this.roots,h=c[l],d=c[u];h<d?f[l]=u:d<h?f[u]=l:(f[u]=l,++c[l])}}},5878:function(i,a,o){\"use strict\";i.exports=c;var s=o(3250),l=o(2014);function u(f,h,d){var v=Math.abs(s(f,h,d)),x=Math.sqrt(Math.pow(h[0]-d[0],2)+Math.pow(h[1]-d[1],2));return v/x}function c(f,h,d){for(var v=h.length,x=f.length,b=new Array(v),p=new Array(v),E=new Array(v),k=new Array(v),A=0;A<v;++A)b[A]=p[A]=-1,E[A]=1/0,k[A]=!1;for(var A=0;A<x;++A){var L=f[A];if(L.length!==2)throw new Error(\"Input must be a graph\");var _=L[1],C=L[0];p[C]!==-1?p[C]=-2:p[C]=_,b[_]!==-1?b[_]=-2:b[_]=C}function M(ie){if(k[ie])return 1/0;var Te=b[ie],Ee=p[ie];return Te<0||Ee<0?1/0:u(h[ie],h[Te],h[Ee])}function g(ie,Te){var Ee=G[ie],Ae=G[Te];G[ie]=Ae,G[Te]=Ee,N[Ee]=Te,N[Ae]=ie}function P(ie){return E[G[ie]]}function T(ie){return ie&1?ie-1>>1:(ie>>1)-1}function F(ie){for(var Te=P(ie);;){var Ee=Te,Ae=2*ie+1,ze=2*(ie+1),Ce=ie;if(Ae<re){var me=P(Ae);me<Ee&&(Ce=Ae,Ee=me)}if(ze<re){var Re=P(ze);Re<Ee&&(Ce=ze)}if(Ce===ie)return ie;g(ie,Ce),ie=Ce}}function q(ie){for(var Te=P(ie);ie>0;){var Ee=T(ie);if(Ee>=0){var Ae=P(Ee);if(Te<Ae){g(ie,Ee),ie=Ee;continue}}return ie}}function V(){if(re>0){var ie=G[0];return g(0,re-1),re-=1,F(0),ie}return-1}function H(ie,Te){var Ee=G[ie];return E[Ee]===Te?ie:(E[Ee]=-1/0,q(ie),V(),E[Ee]=Te,re+=1,q(re-1))}function X(ie){if(!k[ie]){k[ie]=!0;var Te=b[ie],Ee=p[ie];b[Ee]>=0&&(b[Ee]=Te),p[Te]>=0&&(p[Te]=Ee),N[Te]>=0&&H(N[Te],M(Te)),N[Ee]>=0&&H(N[Ee],M(Ee))}}for(var G=[],N=new Array(v),A=0;A<v;++A){var W=E[A]=M(A);W<1/0?(N[A]=G.length,G.push(A)):N[A]=-1}for(var re=G.length,A=re>>1;A>=0;--A)F(A);for(;;){var ae=V();if(ae<0||E[ae]>d)break;X(ae)}for(var _e=[],A=0;A<v;++A)k[A]||(N[A]=_e.length,_e.push(h[A].slice()));var Me=_e.length;function ke(ie,Te){if(ie[Te]<0)return Te;var Ee=Te,Ae=Te;do{var ze=ie[Ae];if(!k[Ae]||ze<0||ze===Ae||(Ae=ze,ze=ie[Ae],!k[Ae]||ze<0||ze===Ae))break;Ae=ze,Ee=ie[Ee]}while(Ee!==Ae);for(var Ce=Te;Ce!==Ae;Ce=ie[Ce])ie[Ce]=Ae;return Ae}var ge=[];return f.forEach(function(ie){var Te=ke(b,ie[0]),Ee=ke(p,ie[1]);if(Te>=0&&Ee>=0&&Te!==Ee){var Ae=N[Te],ze=N[Ee];Ae!==ze&&ge.push([Ae,ze])}}),l.unique(l.normalize(ge)),{positions:_e,edges:ge}}},1303:function(i,a,o){\"use strict\";i.exports=u;var s=o(3250);function l(c,f){var h,d;if(f[0][0]<f[1][0])h=f[0],d=f[1];else if(f[0][0]>f[1][0])h=f[1],d=f[0];else{var v=Math.min(c[0][1],c[1][1]),x=Math.max(c[0][1],c[1][1]),b=Math.min(f[0][1],f[1][1]),p=Math.max(f[0][1],f[1][1]);return x<b?x-b:v>p?v-p:x-p}var E,k;c[0][1]<c[1][1]?(E=c[0],k=c[1]):(E=c[1],k=c[0]);var A=s(d,h,E);return A||(A=s(d,h,k),A)?A:k-d}function u(c,f){var h,d;if(f[0][0]<f[1][0])h=f[0],d=f[1];else if(f[0][0]>f[1][0])h=f[1],d=f[0];else return l(f,c);var v,x;if(c[0][0]<c[1][0])v=c[0],x=c[1];else if(c[0][0]>c[1][0])v=c[1],x=c[0];else return-l(c,f);var b=s(h,d,x),p=s(h,d,v);if(b<0){if(p<=0)return b}else if(b>0){if(p>=0)return b}else if(p)return p;if(b=s(x,v,d),p=s(x,v,h),b<0){if(p<=0)return b}else if(b>0){if(p>=0)return b}else if(p)return p;return d[0]-x[0]}},4209:function(i,a,o){\"use strict\";i.exports=p;var s=o(2478),l=o(3840),u=o(3250),c=o(1303);function f(E,k,A){this.slabs=E,this.coordinates=k,this.horizontal=A}var h=f.prototype;function d(E,k){return E.y-k}function v(E,k){for(var A=null;E;){var L=E.key,_,C;L[0][0]<L[1][0]?(_=L[0],C=L[1]):(_=L[1],C=L[0]);var M=u(_,C,k);if(M<0)E=E.left;else if(M>0)if(k[0]!==L[1][0])A=E,E=E.right;else{var g=v(E.right,k);if(g)return g;E=E.left}else{if(k[0]!==L[1][0])return E;var g=v(E.right,k);if(g)return g;E=E.left}}return A}h.castUp=function(E){var k=s.le(this.coordinates,E[0]);if(k<0)return-1;var A=this.slabs[k],L=v(this.slabs[k],E),_=-1;if(L&&(_=L.value),this.coordinates[k]===E[0]){var C=null;if(L&&(C=L.key),k>0){var M=v(this.slabs[k-1],E);M&&(C?c(M.key,C)>0&&(C=M.key,_=M.value):(_=M.value,C=M.key))}var g=this.horizontal[k];if(g.length>0){var P=s.ge(g,E[1],d);if(P<g.length){var T=g[P];if(E[1]===T.y){if(T.closed)return T.index;for(;P<g.length-1&&g[P+1].y===E[1];)if(P=P+1,T=g[P],T.closed)return T.index;if(T.y===E[1]&&!T.start){if(P=P+1,P>=g.length)return _;T=g[P]}}if(T.start)if(C){var F=u(C[0],C[1],[E[0],T.y]);C[0][0]>C[1][0]&&(F=-F),F>0&&(_=T.index)}else _=T.index;else T.y!==E[1]&&(_=T.index)}}}return _};function x(E,k,A,L){this.y=E,this.index=k,this.start=A,this.closed=L}function b(E,k,A,L){this.x=E,this.segment=k,this.create=A,this.index=L}function p(E){for(var k=E.length,A=2*k,L=new Array(A),_=0;_<k;++_){var C=E[_],M=C[0][0]<C[1][0];L[2*_]=new b(C[0][0],C,M,_),L[2*_+1]=new b(C[1][0],C,!M,_)}L.sort(function(G,N){var W=G.x-N.x;return W||(W=G.create-N.create,W)?W:Math.min(G.segment[0][1],G.segment[1][1])-Math.min(N.segment[0][1],N.segment[1][1])});for(var g=l(c),P=[],T=[],F=[],q=-1/0,_=0;_<A;){for(var V=L[_].x,H=[];_<A;){var X=L[_];if(X.x!==V)break;_+=1,X.segment[0][0]===X.x&&X.segment[1][0]===X.x?X.create&&(X.segment[0][1]<X.segment[1][1]?(H.push(new x(X.segment[0][1],X.index,!0,!0)),H.push(new x(X.segment[1][1],X.index,!1,!1))):(H.push(new x(X.segment[1][1],X.index,!0,!1)),H.push(new x(X.segment[0][1],X.index,!1,!0)))):X.create?g=g.insert(X.segment,X.index):g=g.remove(X.segment)}P.push(g.root),T.push(V),F.push(H)}return new f(P,T,F)}},5202:function(i,a,o){\"use strict\";var s=o(1944),l=o(8210);i.exports=f,i.exports.positive=h,i.exports.negative=d;function u(v,x){var b=l(s(v,x),[x[x.length-1]]);return b[b.length-1]}function c(v,x,b,p){var E=p-x,k=-x/E;k<0?k=0:k>1&&(k=1);for(var A=1-k,L=v.length,_=new Array(L),C=0;C<L;++C)_[C]=k*v[C]+A*b[C];return _}function f(v,x){for(var b=[],p=[],E=u(v[v.length-1],x),k=v[v.length-1],A=v[0],L=0;L<v.length;++L,k=A){A=v[L];var _=u(A,x);if(E<0&&_>0||E>0&&_<0){var C=c(k,_,A,E);b.push(C),p.push(C.slice())}_<0?p.push(A.slice()):_>0?b.push(A.slice()):(b.push(A.slice()),p.push(A.slice())),E=_}return{positive:b,negative:p}}function h(v,x){for(var b=[],p=u(v[v.length-1],x),E=v[v.length-1],k=v[0],A=0;A<v.length;++A,E=k){k=v[A];var L=u(k,x);(p<0&&L>0||p>0&&L<0)&&b.push(c(E,L,k,p)),L>=0&&b.push(k.slice()),p=L}return b}function d(v,x){for(var b=[],p=u(v[v.length-1],x),E=v[v.length-1],k=v[0],A=0;A<v.length;++A,E=k){k=v[A];var L=u(k,x);(p<0&&L>0||p>0&&L<0)&&b.push(c(E,L,k,p)),L<=0&&b.push(k.slice()),p=L}return b}},3387:function(i,a,o){var s;(function(){\"use strict\";var l={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 u(v){return f(d(v),arguments)}function c(v,x){return u.apply(null,[v].concat(x||[]))}function f(v,x){var b=1,p=v.length,E,k=\"\",A,L,_,C,M,g,P,T;for(A=0;A<p;A++)if(typeof v[A]==\"string\")k+=v[A];else if(typeof v[A]==\"object\"){if(_=v[A],_.keys)for(E=x[b],L=0;L<_.keys.length;L++){if(E==null)throw new Error(u('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"',_.keys[L],_.keys[L-1]));E=E[_.keys[L]]}else _.param_no?E=x[_.param_no]:E=x[b++];if(l.not_type.test(_.type)&&l.not_primitive.test(_.type)&&E instanceof Function&&(E=E()),l.numeric_arg.test(_.type)&&typeof E!=\"number\"&&isNaN(E))throw new TypeError(u(\"[sprintf] expecting number but found %T\",E));switch(l.number.test(_.type)&&(P=E>=0),_.type){case\"b\":E=parseInt(E,10).toString(2);break;case\"c\":E=String.fromCharCode(parseInt(E,10));break;case\"d\":case\"i\":E=parseInt(E,10);break;case\"j\":E=JSON.stringify(E,null,_.width?parseInt(_.width):0);break;case\"e\":E=_.precision?parseFloat(E).toExponential(_.precision):parseFloat(E).toExponential();break;case\"f\":E=_.precision?parseFloat(E).toFixed(_.precision):parseFloat(E);break;case\"g\":E=_.precision?String(Number(E.toPrecision(_.precision))):parseFloat(E);break;case\"o\":E=(parseInt(E,10)>>>0).toString(8);break;case\"s\":E=String(E),E=_.precision?E.substring(0,_.precision):E;break;case\"t\":E=String(!!E),E=_.precision?E.substring(0,_.precision):E;break;case\"T\":E=Object.prototype.toString.call(E).slice(8,-1).toLowerCase(),E=_.precision?E.substring(0,_.precision):E;break;case\"u\":E=parseInt(E,10)>>>0;break;case\"v\":E=E.valueOf(),E=_.precision?E.substring(0,_.precision):E;break;case\"x\":E=(parseInt(E,10)>>>0).toString(16);break;case\"X\":E=(parseInt(E,10)>>>0).toString(16).toUpperCase();break}l.json.test(_.type)?k+=E:(l.number.test(_.type)&&(!P||_.sign)?(T=P?\"+\":\"-\",E=E.toString().replace(l.sign,\"\")):T=\"\",M=_.pad_char?_.pad_char===\"0\"?\"0\":_.pad_char.charAt(1):\" \",g=_.width-(T+E).length,C=_.width&&g>0?M.repeat(g):\"\",k+=_.align?T+E+C:M===\"0\"?T+C+E:C+T+E)}return k}var h=Object.create(null);function d(v){if(h[v])return h[v];for(var x=v,b,p=[],E=0;x;){if((b=l.text.exec(x))!==null)p.push(b[0]);else if((b=l.modulo.exec(x))!==null)p.push(\"%\");else if((b=l.placeholder.exec(x))!==null){if(b[2]){E|=1;var k=[],A=b[2],L=[];if((L=l.key.exec(A))!==null)for(k.push(L[1]);(A=A.substring(L[0].length))!==\"\";)if((L=l.key_access.exec(A))!==null)k.push(L[1]);else if((L=l.index_access.exec(A))!==null)k.push(L[1]);else throw new SyntaxError(\"[sprintf] failed to parse named argument key\");else throw new SyntaxError(\"[sprintf] failed to parse named argument key\");b[2]=k}else E|=2;if(E===3)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");p.push({placeholder:b[0],param_no:b[1],keys:b[2],sign:b[3],pad_char:b[4],align:b[5],width:b[6],precision:b[7],type:b[8]})}else throw new SyntaxError(\"[sprintf] unexpected placeholder\");x=x.substring(b[0].length)}return h[v]=p}a.sprintf=u,a.vsprintf=c,typeof window!=\"undefined\"&&(window.sprintf=u,window.vsprintf=c,s=function(){return{sprintf:u,vsprintf:c}}.call(a,o,a,i),s!==void 0&&(i.exports=s))})()},3711:function(i,a,o){\"use strict\";i.exports=d;var s=o(2640),l=o(781),u={\"2d\":function(v,x,b){var p=v({order:x,scalarArguments:3,getters:b===\"generic\"?[0]:void 0,phase:function(k,A,L,_){return k>_|0},vertex:function(k,A,L,_,C,M,g,P,T,F,q,V,H){var X=(g<<0)+(P<<1)+(T<<2)+(F<<3)|0;if(!(X===0||X===15))switch(X){case 0:q.push([k-.5,A-.5]);break;case 1:q.push([k-.25-.25*(_+L-2*H)/(L-_),A-.25-.25*(C+L-2*H)/(L-C)]);break;case 2:q.push([k-.75-.25*(-_-L+2*H)/(_-L),A-.25-.25*(M+_-2*H)/(_-M)]);break;case 3:q.push([k-.5,A-.5-.5*(C+L+M+_-4*H)/(L-C+_-M)]);break;case 4:q.push([k-.25-.25*(M+C-2*H)/(C-M),A-.75-.25*(-C-L+2*H)/(C-L)]);break;case 5:q.push([k-.5-.5*(_+L+M+C-4*H)/(L-_+C-M),A-.5]);break;case 6:q.push([k-.5-.25*(-_-L+M+C)/(_-L+C-M),A-.5-.25*(-C-L+M+_)/(C-L+_-M)]);break;case 7:q.push([k-.75-.25*(M+C-2*H)/(C-M),A-.75-.25*(M+_-2*H)/(_-M)]);break;case 8:q.push([k-.75-.25*(-M-C+2*H)/(M-C),A-.75-.25*(-M-_+2*H)/(M-_)]);break;case 9:q.push([k-.5-.25*(_+L+-M-C)/(L-_+M-C),A-.5-.25*(C+L+-M-_)/(L-C+M-_)]);break;case 10:q.push([k-.5-.5*(-_-L+-M-C+4*H)/(_-L+M-C),A-.5]);break;case 11:q.push([k-.25-.25*(-M-C+2*H)/(M-C),A-.75-.25*(C+L-2*H)/(L-C)]);break;case 12:q.push([k-.5,A-.5-.5*(-C-L+-M-_+4*H)/(C-L+M-_)]);break;case 13:q.push([k-.75-.25*(_+L-2*H)/(L-_),A-.25-.25*(-M-_+2*H)/(M-_)]);break;case 14:q.push([k-.25-.25*(-_-L+2*H)/(_-L),A-.25-.25*(-C-L+2*H)/(C-L)]);break;case 15:q.push([k-.5,A-.5]);break}},cell:function(k,A,L,_,C,M,g,P,T){C?P.push([k,A]):P.push([A,k])}});return function(E,k){var A=[],L=[];return p(E,A,L,k),{positions:A,cells:L}}}};function c(v,x){var b=v.length+\"d\",p=u[b];if(p)return p(s,v,x)}function f(v,x){for(var b=l(v,x),p=b.length,E=new Array(p),k=new Array(p),A=0;A<p;++A)E[A]=[b[A]],k[A]=[A];return{positions:E,cells:k}}var h={};function d(v,E){if(v.dimension<=0)return{positions:[],cells:[]};if(v.dimension===1)return f(v,E);var b=v.order.join()+\"-\"+v.dtype,p=h[b],E=+E||0;return p||(p=h[b]=c(v.order,v.dtype)),p(v,E)}},665:function(i,a,o){\"use strict\";var s=o(3202);i.exports=f;var l=96;function u(h,d){var v=s(getComputedStyle(h).getPropertyValue(d));return v[0]*f(v[1],h)}function c(h,d){var v=document.createElement(\"div\");v.style[\"font-size\"]=\"128\"+h,d.appendChild(v);var x=u(v,\"font-size\")/128;return d.removeChild(v),x}function f(h,d){switch(d=d||document.body,h=(h||\"px\").trim().toLowerCase(),(d===window||d===document)&&(d=document.body),h){case\"%\":return d.clientHeight/100;case\"ch\":case\"ex\":return c(h,d);case\"em\":return u(d,\"font-size\");case\"rem\":return u(document.body,\"font-size\");case\"vw\":return window.innerWidth/100;case\"vh\":return window.innerHeight/100;case\"vmin\":return Math.min(window.innerWidth,window.innerHeight)/100;case\"vmax\":return Math.max(window.innerWidth,window.innerHeight)/100;case\"in\":return l;case\"cm\":return l/2.54;case\"mm\":return l/25.4;case\"pt\":return l/72;case\"pc\":return l/6}return 1}},7261:function(i,a,o){\"use strict\";i.exports=k;var s=o(9215),l=o(7608),u=o(6079),c=o(5911),f=o(3536),h=o(244);function d(A,L,_){return Math.sqrt(Math.pow(A,2)+Math.pow(L,2)+Math.pow(_,2))}function v(A){return Math.min(1,Math.max(-1,A))}function x(A){var L=Math.abs(A[0]),_=Math.abs(A[1]),C=Math.abs(A[2]),M=[0,0,0];L>Math.max(_,C)?M[2]=1:_>Math.max(L,C)?M[0]=1:M[1]=1;for(var g=0,P=0,T=0;T<3;++T)g+=A[T]*A[T],P+=M[T]*A[T];for(var T=0;T<3;++T)M[T]-=P/g*A[T];return f(M,M),M}function b(A,L,_,C,M,g,P,T){this.center=s(_),this.up=s(C),this.right=s(M),this.radius=s([g]),this.angle=s([P,T]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(A,L),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 F=0;F<16;++F)this.computedMatrix[F]=.5;this.recalcMatrix(0)}var p=b.prototype;p.setDistanceLimits=function(A,L){A>0?A=Math.log(A):A=-1/0,L>0?L=Math.log(L):L=1/0,L=Math.max(L,A),this.radius.bounds[0][0]=A,this.radius.bounds[1][0]=L},p.getDistanceLimits=function(A){var L=this.radius.bounds[0];return A?(A[0]=Math.exp(L[0][0]),A[1]=Math.exp(L[1][0]),A):[Math.exp(L[0][0]),Math.exp(L[1][0])]},p.recalcMatrix=function(A){this.center.curve(A),this.up.curve(A),this.right.curve(A),this.radius.curve(A),this.angle.curve(A);for(var L=this.computedUp,_=this.computedRight,C=0,M=0,g=0;g<3;++g)M+=L[g]*_[g],C+=L[g]*L[g];for(var P=Math.sqrt(C),T=0,g=0;g<3;++g)_[g]-=L[g]*M/C,T+=_[g]*_[g],L[g]/=P;for(var F=Math.sqrt(T),g=0;g<3;++g)_[g]/=F;var q=this.computedToward;c(q,L,_),f(q,q);for(var V=Math.exp(this.computedRadius[0]),H=this.computedAngle[0],X=this.computedAngle[1],G=Math.cos(H),N=Math.sin(H),W=Math.cos(X),re=Math.sin(X),ae=this.computedCenter,_e=G*W,Me=N*W,ke=re,ge=-G*re,ie=-N*re,Te=W,Ee=this.computedEye,Ae=this.computedMatrix,g=0;g<3;++g){var ze=_e*_[g]+Me*q[g]+ke*L[g];Ae[4*g+1]=ge*_[g]+ie*q[g]+Te*L[g],Ae[4*g+2]=ze,Ae[4*g+3]=0}var Ce=Ae[1],me=Ae[5],Re=Ae[9],ce=Ae[2],Ge=Ae[6],nt=Ae[10],ct=me*nt-Re*Ge,qt=Re*ce-Ce*nt,rt=Ce*Ge-me*ce,ot=d(ct,qt,rt);ct/=ot,qt/=ot,rt/=ot,Ae[0]=ct,Ae[4]=qt,Ae[8]=rt;for(var g=0;g<3;++g)Ee[g]=ae[g]+Ae[2+4*g]*V;for(var g=0;g<3;++g){for(var T=0,Rt=0;Rt<3;++Rt)T+=Ae[g+4*Rt]*Ee[Rt];Ae[12+g]=-T}Ae[15]=1},p.getMatrix=function(A,L){this.recalcMatrix(A);var _=this.computedMatrix;if(L){for(var C=0;C<16;++C)L[C]=_[C];return L}return _};var E=[0,0,0];p.rotate=function(A,L,_,C){if(this.angle.move(A,L,_),C){this.recalcMatrix(A);var M=this.computedMatrix;E[0]=M[2],E[1]=M[6],E[2]=M[10];for(var g=this.computedUp,P=this.computedRight,T=this.computedToward,F=0;F<3;++F)M[4*F]=g[F],M[4*F+1]=P[F],M[4*F+2]=T[F];u(M,M,C,E);for(var F=0;F<3;++F)g[F]=M[4*F],P[F]=M[4*F+1];this.up.set(A,g[0],g[1],g[2]),this.right.set(A,P[0],P[1],P[2])}},p.pan=function(A,L,_,C){L=L||0,_=_||0,C=C||0,this.recalcMatrix(A);var M=this.computedMatrix,g=Math.exp(this.computedRadius[0]),P=M[1],T=M[5],F=M[9],q=d(P,T,F);P/=q,T/=q,F/=q;var V=M[0],H=M[4],X=M[8],G=V*P+H*T+X*F;V-=P*G,H-=T*G,X-=F*G;var N=d(V,H,X);V/=N,H/=N,X/=N;var W=V*L+P*_,re=H*L+T*_,ae=X*L+F*_;this.center.move(A,W,re,ae);var _e=Math.exp(this.computedRadius[0]);_e=Math.max(1e-4,_e+C),this.radius.set(A,Math.log(_e))},p.translate=function(A,L,_,C){this.center.move(A,L||0,_||0,C||0)},p.setMatrix=function(A,L,_,C){var M=1;typeof _==\"number\"&&(M=_|0),(M<0||M>3)&&(M=1);var g=(M+2)%3,P=(M+1)%3;L||(this.recalcMatrix(A),L=this.computedMatrix);var T=L[M],F=L[M+4],q=L[M+8];if(C){var H=Math.abs(T),X=Math.abs(F),G=Math.abs(q),N=Math.max(H,X,G);H===N?(T=T<0?-1:1,F=q=0):G===N?(q=q<0?-1:1,T=F=0):(F=F<0?-1:1,T=q=0)}else{var V=d(T,F,q);T/=V,F/=V,q/=V}var W=L[g],re=L[g+4],ae=L[g+8],_e=W*T+re*F+ae*q;W-=T*_e,re-=F*_e,ae-=q*_e;var Me=d(W,re,ae);W/=Me,re/=Me,ae/=Me;var ke=F*ae-q*re,ge=q*W-T*ae,ie=T*re-F*W,Te=d(ke,ge,ie);ke/=Te,ge/=Te,ie/=Te,this.center.jump(A,er,Ke,xt),this.radius.idle(A),this.up.jump(A,T,F,q),this.right.jump(A,W,re,ae);var Ee,Ae;if(M===2){var ze=L[1],Ce=L[5],me=L[9],Re=ze*W+Ce*re+me*ae,ce=ze*ke+Ce*ge+me*ie;qt<0?Ee=-Math.PI/2:Ee=Math.PI/2,Ae=Math.atan2(ce,Re)}else{var Ge=L[2],nt=L[6],ct=L[10],qt=Ge*T+nt*F+ct*q,rt=Ge*W+nt*re+ct*ae,ot=Ge*ke+nt*ge+ct*ie;Ee=Math.asin(v(qt)),Ae=Math.atan2(ot,rt)}this.angle.jump(A,Ae,Ee),this.recalcMatrix(A);var Rt=L[2],kt=L[6],Ct=L[10],Yt=this.computedMatrix;l(Yt,L);var xr=Yt[15],er=Yt[12]/xr,Ke=Yt[13]/xr,xt=Yt[14]/xr,bt=Math.exp(this.computedRadius[0]);this.center.jump(A,er-Rt*bt,Ke-kt*bt,xt-Ct*bt)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(A){this.center.idle(A),this.up.idle(A),this.right.idle(A),this.radius.idle(A),this.angle.idle(A)},p.flush=function(A){this.center.flush(A),this.up.flush(A),this.right.flush(A),this.radius.flush(A),this.angle.flush(A)},p.setDistance=function(A,L){L>0&&this.radius.set(A,Math.log(L))},p.lookAt=function(A,L,_,C){this.recalcMatrix(A),L=L||this.computedEye,_=_||this.computedCenter,C=C||this.computedUp;var M=C[0],g=C[1],P=C[2],T=d(M,g,P);if(!(T<1e-6)){M/=T,g/=T,P/=T;var F=L[0]-_[0],q=L[1]-_[1],V=L[2]-_[2],H=d(F,q,V);if(!(H<1e-6)){F/=H,q/=H,V/=H;var X=this.computedRight,G=X[0],N=X[1],W=X[2],re=M*G+g*N+P*W;G-=re*M,N-=re*g,W-=re*P;var ae=d(G,N,W);if(!(ae<.01&&(G=g*V-P*q,N=P*F-M*V,W=M*q-g*F,ae=d(G,N,W),ae<1e-6))){G/=ae,N/=ae,W/=ae,this.up.set(A,M,g,P),this.right.set(A,G,N,W),this.center.set(A,_[0],_[1],_[2]),this.radius.set(A,Math.log(H));var _e=g*W-P*N,Me=P*G-M*W,ke=M*N-g*G,ge=d(_e,Me,ke);_e/=ge,Me/=ge,ke/=ge;var ie=M*F+g*q+P*V,Te=G*F+N*q+W*V,Ee=_e*F+Me*q+ke*V,Ae=Math.asin(v(ie)),ze=Math.atan2(Ee,Te),Ce=this.angle._state,me=Ce[Ce.length-1],Re=Ce[Ce.length-2];me=me%(2*Math.PI);var ce=Math.abs(me+2*Math.PI-ze),Ge=Math.abs(me-ze),nt=Math.abs(me-2*Math.PI-ze);ce<Ge&&(me+=2*Math.PI),nt<Ge&&(me-=2*Math.PI),this.angle.jump(this.angle.lastT(),me,Re),this.angle.set(A,ze,Ae)}}}};function k(A){A=A||{};var L=A.center||[0,0,0],_=A.up||[0,1,0],C=A.right||x(_),M=A.radius||1,g=A.theta||0,P=A.phi||0;if(L=[].slice.call(L,0,3),_=[].slice.call(_,0,3),f(_,_),C=[].slice.call(C,0,3),f(C,C),\"eye\"in A){var T=A.eye,F=[T[0]-L[0],T[1]-L[1],T[2]-L[2]];c(C,F,_),d(C[0],C[1],C[2])<1e-6?C=x(_):f(C,C),M=d(F[0],F[1],F[2]);var q=h(_,F)/M,V=h(C,F)/M;P=Math.acos(q),g=Math.acos(V)}return M=Math.log(M),new b(A.zoomMin,A.zoomMax,L,_,C,M,g,P)}},5250:function(i){\"use strict\";i.exports=o;var a=+(Math.pow(2,27)+1);function o(s,l,u){var c=s*l,f=a*s,h=f-s,d=f-h,v=s-d,x=a*l,b=x-l,p=x-b,E=l-p,k=c-d*p,A=k-v*p,L=A-d*E,_=v*E-L;return u?(u[0]=_,u[1]=c,u):[_,c]}},9362:function(i){\"use strict\";i.exports=a;function a(o,s,l){var u=o+s,c=u-o,f=u-c,h=s-c,d=o-f;return l?(l[0]=d+h,l[1]=u,l):[d+h,u]}},1888:function(i,a,o){\"use strict\";var s=o(8828),l=o(1338),u=o(4793).hp;o.g.__TYPEDARRAY_POOL||(o.g.__TYPEDARRAY_POOL={UINT8:l([32,0]),UINT16:l([32,0]),UINT32:l([32,0]),BIGUINT64:l([32,0]),INT8:l([32,0]),INT16:l([32,0]),INT32:l([32,0]),BIGINT64:l([32,0]),FLOAT:l([32,0]),DOUBLE:l([32,0]),DATA:l([32,0]),UINT8C:l([32,0]),BUFFER:l([32,0])});var c=typeof Uint8ClampedArray!=\"undefined\",f=typeof BigUint64Array!=\"undefined\",h=typeof BigInt64Array!=\"undefined\",d=o.g.__TYPEDARRAY_POOL;d.UINT8C||(d.UINT8C=l([32,0])),d.BIGUINT64||(d.BIGUINT64=l([32,0])),d.BIGINT64||(d.BIGINT64=l([32,0])),d.BUFFER||(d.BUFFER=l([32,0]));var v=d.DATA,x=d.BUFFER;a.free=function(G){if(u.isBuffer(G))x[s.log2(G.length)].push(G);else{if(Object.prototype.toString.call(G)!==\"[object ArrayBuffer]\"&&(G=G.buffer),!G)return;var N=G.length||G.byteLength,W=s.log2(N)|0;v[W].push(G)}};function b(X){if(X){var G=X.length||X.byteLength,N=s.log2(G);v[N].push(X)}}function p(X){b(X.buffer)}a.freeUint8=a.freeUint16=a.freeUint32=a.freeBigUint64=a.freeInt8=a.freeInt16=a.freeInt32=a.freeBigInt64=a.freeFloat32=a.freeFloat=a.freeFloat64=a.freeDouble=a.freeUint8Clamped=a.freeDataView=p,a.freeArrayBuffer=b,a.freeBuffer=function(G){x[s.log2(G.length)].push(G)},a.malloc=function(G,N){if(N===void 0||N===\"arraybuffer\")return E(G);switch(N){case\"uint8\":return k(G);case\"uint16\":return A(G);case\"uint32\":return L(G);case\"int8\":return _(G);case\"int16\":return C(G);case\"int32\":return M(G);case\"float\":case\"float32\":return g(G);case\"double\":case\"float64\":return P(G);case\"uint8_clamped\":return T(G);case\"bigint64\":return q(G);case\"biguint64\":return F(G);case\"buffer\":return H(G);case\"data\":case\"dataview\":return V(G);default:return null}return null};function E(G){var G=s.nextPow2(G),N=s.log2(G),W=v[N];return W.length>0?W.pop():new ArrayBuffer(G)}a.mallocArrayBuffer=E;function k(X){return new Uint8Array(E(X),0,X)}a.mallocUint8=k;function A(X){return new Uint16Array(E(2*X),0,X)}a.mallocUint16=A;function L(X){return new Uint32Array(E(4*X),0,X)}a.mallocUint32=L;function _(X){return new Int8Array(E(X),0,X)}a.mallocInt8=_;function C(X){return new Int16Array(E(2*X),0,X)}a.mallocInt16=C;function M(X){return new Int32Array(E(4*X),0,X)}a.mallocInt32=M;function g(X){return new Float32Array(E(4*X),0,X)}a.mallocFloat32=a.mallocFloat=g;function P(X){return new Float64Array(E(8*X),0,X)}a.mallocFloat64=a.mallocDouble=P;function T(X){return c?new Uint8ClampedArray(E(X),0,X):k(X)}a.mallocUint8Clamped=T;function F(X){return f?new BigUint64Array(E(8*X),0,X):null}a.mallocBigUint64=F;function q(X){return h?new BigInt64Array(E(8*X),0,X):null}a.mallocBigInt64=q;function V(X){return new DataView(E(X),0,X)}a.mallocDataView=V;function H(X){X=s.nextPow2(X);var G=s.log2(X),N=x[G];return N.length>0?N.pop():new u(X)}a.mallocBuffer=H,a.clearCache=function(){for(var G=0;G<32;++G)d.UINT8[G].length=0,d.UINT16[G].length=0,d.UINT32[G].length=0,d.INT8[G].length=0,d.INT16[G].length=0,d.INT32[G].length=0,d.FLOAT[G].length=0,d.DOUBLE[G].length=0,d.BIGUINT64[G].length=0,d.BIGINT64[G].length=0,d.UINT8C[G].length=0,v[G].length=0,x[G].length=0}},1755:function(i){\"use strict\";\"use restrict\";i.exports=a;function a(s){this.roots=new Array(s),this.ranks=new Array(s);for(var l=0;l<s;++l)this.roots[l]=l,this.ranks[l]=0}var o=a.prototype;Object.defineProperty(o,\"length\",{get:function(){return this.roots.length}}),o.makeSet=function(){var s=this.roots.length;return this.roots.push(s),this.ranks.push(0),s},o.find=function(s){for(var l=s,u=this.roots;u[s]!==s;)s=u[s];for(;u[l]!==s;){var c=u[l];u[l]=s,l=c}return s},o.link=function(s,l){var u=this.find(s),c=this.find(l);if(u!==c){var f=this.ranks,h=this.roots,d=f[u],v=f[c];d<v?h[u]=c:v<d?h[c]=u:(h[c]=u,++f[u])}}},1682:function(i){\"use strict\";function a(l,u){for(var c=1,f=l.length,h=l[0],d=l[0],v=1;v<f;++v)if(d=h,h=l[v],u(h,d)){if(v===c){c++;continue}l[c++]=h}return l.length=c,l}function o(l){for(var u=1,c=l.length,f=l[0],h=l[0],d=1;d<c;++d,h=f)if(h=f,f=l[d],f!==h){if(d===u){u++;continue}l[u++]=f}return l.length=u,l}function s(l,u,c){return l.length===0?l:u?(c||l.sort(u),a(l,u)):(c||l.sort(),o(l))}i.exports=s},4359:function(i,a,o){\"use strict\";i.exports=c;var s=o(7718),l=null,u=null;typeof document!=\"undefined\"&&(l=document.createElement(\"canvas\"),l.width=8192,l.height=1024,u=l.getContext(\"2d\"));function c(f,h){return(typeof h!=\"object\"||h===null)&&(h={}),s(f,h.canvas||l,h.context||u,h)}},7718:function(i,a,o){i.exports=q,i.exports.processPixels=F;var s=o(3711),l=o(9618),u=o(5878),c=o(332),f=o(2538),h=o(2095),d=\"b\",v=\"b|\",x=\"i\",b=\"i|\",p=\"sup\",E=\"+\",k=\"+1\",A=\"sub\",L=\"-\",_=\"-1\";function C(V,H,X,G){for(var N=\"<\"+V+\">\",W=\"</\"+V+\">\",re=N.length,ae=W.length,_e=H[0]===E||H[0]===L,Me=0,ke=-ae;Me>-1&&(Me=X.indexOf(N,Me),!(Me===-1||(ke=X.indexOf(W,Me+re),ke===-1)||ke<=Me));){for(var ge=Me;ge<ke+ae;++ge)if(ge<Me+re||ge>=ke)G[ge]=null,X=X.substr(0,ge)+\" \"+X.substr(ge+1);else if(G[ge]!==null){var ie=G[ge].indexOf(H[0]);ie===-1?G[ge]+=H:_e&&(G[ge]=G[ge].substr(0,ie+1)+(1+parseInt(G[ge][ie+1]))+G[ge].substr(ie+2))}var Te=Me+re,Ee=X.substr(Te,ke-Te),Ae=Ee.indexOf(N);Ae!==-1?Me=Ae:Me=ke+ae}return G}function M(V,H,X){for(var G=H.textAlign||\"start\",N=H.textBaseline||\"alphabetic\",W=[1<<30,1<<30],re=[0,0],ae=V.length,_e=0;_e<ae;++_e)for(var Me=V[_e],ke=0;ke<2;++ke)W[ke]=Math.min(W[ke],Me[ke])|0,re[ke]=Math.max(re[ke],Me[ke])|0;var ge=0;switch(G){case\"center\":ge=-.5*(W[0]+re[0]);break;case\"right\":case\"end\":ge=-re[0];break;case\"left\":case\"start\":ge=-W[0];break;default:throw new Error(\"vectorize-text: Unrecognized textAlign: '\"+G+\"'\")}var ie=0;switch(N){case\"hanging\":case\"top\":ie=-W[1];break;case\"middle\":ie=-.5*(W[1]+re[1]);break;case\"alphabetic\":case\"ideographic\":ie=-3*X;break;case\"bottom\":ie=-re[1];break;default:throw new Error(\"vectorize-text: Unrecoginized textBaseline: '\"+N+\"'\")}var Te=1/X;return\"lineHeight\"in H?Te*=+H.lineHeight:\"width\"in H?Te=H.width/(re[0]-W[0]):\"height\"in H&&(Te=H.height/(re[1]-W[1])),V.map(function(Ee){return[Te*(Ee[0]+ge),Te*(Ee[1]+ie)]})}function g(V,H,X,G,N,W){X=X.replace(/\\n/g,\"\"),W.breaklines===!0?X=X.replace(/\\<br\\>/g,`\n", - "`):X=X.replace(/\\<br\\>/g,\" \");var re=\"\",ae=[];for(me=0;me<X.length;++me)ae[me]=re;W.bolds===!0&&(ae=C(d,v,X,ae)),W.italics===!0&&(ae=C(x,b,X,ae)),W.superscripts===!0&&(ae=C(p,k,X,ae)),W.subscripts===!0&&(ae=C(A,_,X,ae));var _e=[],Me=\"\";for(me=0;me<X.length;++me)ae[me]!==null&&(Me+=X[me],_e.push(ae[me]));var ke=Me.split(`\n", - "`),ge=ke.length,ie=Math.round(N*G),Te=G,Ee=G*2,Ae=0,ze=ge*ie+Ee;V.height<ze&&(V.height=ze),H.fillStyle=\"#000\",H.fillRect(0,0,V.width,V.height),H.fillStyle=\"#fff\";var Ce,me,Re,ce,Ge,nt=0,ct=\"\";function qt(){if(ct!==\"\"){var Ke=H.measureText(ct).width;H.fillText(ct,Te+Re,Ee+ce),Re+=Ke}}function rt(){return\"\"+Math.round(Ge)+\"px \"}function ot(Ke,xt){var bt=\"\"+H.font;if(W.subscripts===!0){var Lt=Ke.indexOf(L),St=xt.indexOf(L),Et=Lt>-1?parseInt(Ke[1+Lt]):0,dt=St>-1?parseInt(xt[1+St]):0;Et!==dt&&(bt=bt.replace(rt(),\"?px \"),Ge*=Math.pow(.75,dt-Et),bt=bt.replace(\"?px \",rt())),ce+=.25*ie*(dt-Et)}if(W.superscripts===!0){var Ht=Ke.indexOf(E),$t=xt.indexOf(E),fr=Ht>-1?parseInt(Ke[1+Ht]):0,_r=$t>-1?parseInt(xt[1+$t]):0;fr!==_r&&(bt=bt.replace(rt(),\"?px \"),Ge*=Math.pow(.75,_r-fr),bt=bt.replace(\"?px \",rt())),ce-=.25*ie*(_r-fr)}if(W.bolds===!0){var Br=Ke.indexOf(v)>-1,Or=xt.indexOf(v)>-1;!Br&&Or&&(Nr?bt=bt.replace(\"italic \",\"italic bold \"):bt=\"bold \"+bt),Br&&!Or&&(bt=bt.replace(\"bold \",\"\"))}if(W.italics===!0){var Nr=Ke.indexOf(b)>-1,ut=xt.indexOf(b)>-1;!Nr&&ut&&(bt=\"italic \"+bt),Nr&&!ut&&(bt=bt.replace(\"italic \",\"\"))}H.font=bt}for(Ce=0;Ce<ge;++Ce){var Rt=ke[Ce]+`\n", - "`;for(Re=0,ce=Ce*ie,Ge=G,ct=\"\",me=0;me<Rt.length;++me){var kt=me+nt<_e.length?_e[me+nt]:_e[_e.length-1];re===kt?ct+=Rt[me]:(qt(),ct=Rt[me],kt!==void 0&&(ot(re,kt),re=kt))}qt(),nt+=Rt.length;var Ct=Math.round(Re+2*Te)|0;Ae<Ct&&(Ae=Ct)}var Yt=Ae,xr=Ee+ie*ge,er=l(H.getImageData(0,0,Yt,xr).data,[xr,Yt,4]);return er.pick(-1,-1,0).transpose(1,0)}function P(V,H){var X=s(V,128);return H?u(X.cells,X.positions,.25):{edges:X.cells,positions:X.positions}}function T(V,H,X,G){var N=P(V,G),W=M(N.positions,H,X),re=N.edges,ae=H.orientation===\"ccw\";if(c(W,re),H.polygons||H.polygon||H.polyline){for(var _e=h(re,W),Me=new Array(_e.length),ke=0;ke<_e.length;++ke){for(var ge=_e[ke],ie=new Array(ge.length),Te=0;Te<ge.length;++Te){for(var Ee=ge[Te],Ae=new Array(Ee.length),ze=0;ze<Ee.length;++ze)Ae[ze]=W[Ee[ze]].slice();ae&&Ae.reverse(),ie[Te]=Ae}Me[ke]=ie}return Me}else return H.triangles||H.triangulate||H.triangle?{cells:f(W,re,{delaunay:!1,exterior:!1,interior:!0}),positions:W}:{edges:re,positions:W}}function F(V,H,X){try{return T(V,H,X,!0)}catch(G){}try{return T(V,H,X,!1)}catch(G){}return H.polygons||H.polyline||H.polygon?[]:H.triangles||H.triangulate||H.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}function q(V,H,X,G){var N=64,W=1.25,re={breaklines:!1,bolds:!1,italics:!1,subscripts:!1,superscripts:!1};G&&(G.size&&G.size>0&&(N=G.size),G.lineSpacing&&G.lineSpacing>0&&(W=G.lineSpacing),G.styletags&&G.styletags.breaklines&&(re.breaklines=!!G.styletags.breaklines),G.styletags&&G.styletags.bolds&&(re.bolds=!!G.styletags.bolds),G.styletags&&G.styletags.italics&&(re.italics=!!G.styletags.italics),G.styletags&&G.styletags.subscripts&&(re.subscripts=!!G.styletags.subscripts),G.styletags&&G.styletags.superscripts&&(re.superscripts=!!G.styletags.superscripts)),X.font=[G.fontStyle,G.fontVariant,G.fontWeight,N+\"px\",G.font].filter(function(_e){return _e}).join(\" \"),X.textAlign=\"start\",X.textBaseline=\"alphabetic\",X.direction=\"ltr\";var ae=g(H,X,V,N,W,re);return F(ae,G,N)}},1538:function(i){(function(){\"use strict\";if(typeof ses!=\"undefined\"&&ses.ok&&!ses.ok())return;function o(T){T.permitHostObjects___&&T.permitHostObjects___(o)}typeof ses!=\"undefined\"&&(ses.weakMapPermitHostObjects=o);var s=!1;if(typeof WeakMap==\"function\"){var l=WeakMap;if(!(typeof navigator!=\"undefined\"&&/Firefox/.test(navigator.userAgent))){var u=new l,c=Object.freeze({});if(u.set(c,1),u.get(c)!==1)s=!0;else{i.exports=WeakMap;return}}}var f=Object.prototype.hasOwnProperty,h=Object.getOwnPropertyNames,d=Object.defineProperty,v=Object.isExtensible,x=\"weakmap:\",b=x+\"ident:\"+Math.random()+\"___\";if(typeof crypto!=\"undefined\"&&typeof crypto.getRandomValues==\"function\"&&typeof ArrayBuffer==\"function\"&&typeof Uint8Array==\"function\"){var p=new ArrayBuffer(25),E=new Uint8Array(p);crypto.getRandomValues(E),b=x+\"rand:\"+Array.prototype.map.call(E,function(T){return(T%36).toString(36)}).join(\"\")+\"___\"}function k(T){return!(T.substr(0,x.length)==x&&T.substr(T.length-3)===\"___\")}if(d(Object,\"getOwnPropertyNames\",{value:function(F){return h(F).filter(k)}}),\"getPropertyNames\"in Object){var A=Object.getPropertyNames;d(Object,\"getPropertyNames\",{value:function(F){return A(F).filter(k)}})}function L(T){if(T!==Object(T))throw new TypeError(\"Not an object: \"+T);var F=T[b];if(F&&F.key===T)return F;if(v(T)){F={key:T};try{return d(T,b,{value:F,writable:!1,enumerable:!1,configurable:!1}),F}catch(q){return}}}(function(){var T=Object.freeze;d(Object,\"freeze\",{value:function(H){return L(H),T(H)}});var F=Object.seal;d(Object,\"seal\",{value:function(H){return L(H),F(H)}});var q=Object.preventExtensions;d(Object,\"preventExtensions\",{value:function(H){return L(H),q(H)}})})();function _(T){return T.prototype=null,Object.freeze(T)}var C=!1;function M(){!C&&typeof console!=\"undefined\"&&(C=!0,console.warn(\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\"))}var g=0,P=function(){this instanceof P||M();var T=[],F=[],q=g++;function V(N,W){var re,ae=L(N);return ae?q in ae?ae[q]:W:(re=T.indexOf(N),re>=0?F[re]:W)}function H(N){var W=L(N);return W?q in W:T.indexOf(N)>=0}function X(N,W){var re,ae=L(N);return ae?ae[q]=W:(re=T.indexOf(N),re>=0?F[re]=W:(re=T.length,F[re]=W,T[re]=N)),this}function G(N){var W=L(N),re,ae;return W?q in W&&delete W[q]:(re=T.indexOf(N),re<0?!1:(ae=T.length-1,T[re]=void 0,F[re]=F[ae],T[re]=T[ae],T.length=ae,F.length=ae,!0))}return Object.create(P.prototype,{get___:{value:_(V)},has___:{value:_(H)},set___:{value:_(X)},delete___:{value:_(G)}})};P.prototype=Object.create(Object.prototype,{get:{value:function(F,q){return this.get___(F,q)},writable:!0,configurable:!0},has:{value:function(F){return this.has___(F)},writable:!0,configurable:!0},set:{value:function(F,q){return this.set___(F,q)},writable:!0,configurable:!0},delete:{value:function(F){return this.delete___(F)},writable:!0,configurable:!0}}),typeof l==\"function\"?function(){s&&typeof Proxy!=\"undefined\"&&(Proxy=void 0);function T(){this instanceof P||M();var F=new l,q=void 0,V=!1;function H(W,re){return q?F.has(W)?F.get(W):q.get___(W,re):F.get(W,re)}function X(W){return F.has(W)||(q?q.has___(W):!1)}var G;s?G=function(W,re){return F.set(W,re),F.has(W)||(q||(q=new P),q.set(W,re)),this}:G=function(W,re){if(V)try{F.set(W,re)}catch(ae){q||(q=new P),q.set___(W,re)}else F.set(W,re);return this};function N(W){var re=!!F.delete(W);return q&&q.delete___(W)||re}return Object.create(P.prototype,{get___:{value:_(H)},has___:{value:_(X)},set___:{value:_(G)},delete___:{value:_(N)},permitHostObjects___:{value:_(function(W){if(W===o)V=!0;else throw new Error(\"bogus call to permitHostObjects___\")})}})}T.prototype=P.prototype,i.exports=T,Object.defineProperty(WeakMap.prototype,\"constructor\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(typeof Proxy!=\"undefined\"&&(Proxy=void 0),i.exports=P)})()},236:function(i,a,o){var s=o(8284);i.exports=l;function l(){var u={};return function(c){if((typeof c!=\"object\"||c===null)&&typeof c!=\"function\")throw new Error(\"Weakmap-shim: Key must be object\");var f=c.valueOf(u);return f&&f.identity===u?f:s(c,u)}}},8284:function(i){i.exports=a;function a(o,s){var l={identity:s},u=o.valueOf;return Object.defineProperty(o,\"valueOf\",{value:function(c){return c!==s?u.apply(this,arguments):l},writable:!0}),l}},606:function(i,a,o){var s=o(236);i.exports=l;function l(){var u=s();return{get:function(c,f){var h=u(c);return h.hasOwnProperty(\"value\")?h.value:f},set:function(c,f){return u(c).value=f,this},has:function(c){return\"value\"in u(c)},delete:function(c){return delete u(c).value}}}},3349:function(i){\"use strict\";function a(){return function(f,h,d,v,x,b){var p=f[0],E=d[0],k=[0],A=E;v|=0;var L=0,_=E;for(L=0;L<p;++L){{var C=h[v]-b,M=h[v+A]-b;C>=0!=M>=0&&x.push(k[0]+.5+.5*(C+M)/(C-M))}v+=_,++k[0]}}}function o(){return a()}var s=o;function l(f){var h={};return function(v,x,b){var p=v.dtype,E=v.order,k=[p,E.join()].join(),A=h[k];return A||(h[k]=A=f([p,E])),A(v.shape.slice(0),v.data,v.stride,v.offset|0,x,b)}}function u(f){return l(s.bind(void 0,f))}function c(f){return u({funcName:f.funcName})}i.exports=c({funcName:\"zeroCrossings\"})},781:function(i,a,o){\"use strict\";i.exports=l;var s=o(3349);function l(u,c){var f=[];return c=+c||0,s(u.hi(u.shape[0]-1),f,c),f}},7790:function(){}},t={};function r(i){var a=t[i];if(a!==void 0)return a.exports;var o=t[i]={id:i,loaded:!1,exports:{}};return e[i].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}(function(){r.g=function(){if(typeof globalThis==\"object\")return globalThis;try{return this||new Function(\"return this\")()}catch(i){if(typeof window==\"object\")return window}}()})(),function(){r.nmd=function(i){return i.paths=[],i.children||(i.children=[]),i}}();var n=r(1964);cLe.exports=n})()});var rZ=ye((ivr,fLe)=>{\"use strict\";fLe.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]}});var pLe=ye((nvr,vLe)=>{\"use strict\";var hLe=rZ();vLe.exports=lLt;var dLe={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function lLt(e){var t,r=[],n=1,i;if(typeof e==\"string\")if(e=e.toLowerCase(),hLe[e])r=hLe[e].slice(),i=\"rgb\";else if(e===\"transparent\")n=0,i=\"rgb\",r=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var a=e.slice(1),o=a.length,s=o<=4;n=1,s?(r=[parseInt(a[0]+a[0],16),parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16)],o===4&&(n=parseInt(a[3]+a[3],16)/255)):(r=[parseInt(a[0]+a[1],16),parseInt(a[2]+a[3],16),parseInt(a[4]+a[5],16)],o===8&&(n=parseInt(a[6]+a[7],16)/255)),r[0]||(r[0]=0),r[1]||(r[1]=0),r[2]||(r[2]=0),i=\"rgb\"}else if(t=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(e)){var l=t[1],u=l===\"rgb\",a=l.replace(/a$/,\"\");i=a;var o=a===\"cmyk\"?4:a===\"gray\"?1:3;r=t[2].trim().split(/\\s*[,\\/]\\s*|\\s+/).map(function(h,d){if(/%$/.test(h))return d===o?parseFloat(h)/100:a===\"rgb\"?parseFloat(h)*255/100:parseFloat(h);if(a[d]===\"h\"){if(/deg$/.test(h))return parseFloat(h);if(dLe[h]!==void 0)return dLe[h]}return parseFloat(h)}),l===a&&r.push(1),n=u||r[o]===void 0?1:r[o],r=r.slice(0,o)}else e.length>10&&/[0-9](?:\\s|\\/)/.test(e)&&(r=e.match(/([0-9]+)/g).map(function(c){return parseFloat(c)}),i=e.match(/([a-z])/ig).join(\"\").toLowerCase());else isNaN(e)?Array.isArray(e)||e.length?(r=[e[0],e[1],e[2]],i=\"rgb\",n=e.length===4?e[3]:1):e instanceof Object&&(e.r!=null||e.red!=null||e.R!=null?(i=\"rgb\",r=[e.r||e.red||e.R||0,e.g||e.green||e.G||0,e.b||e.blue||e.B||0]):(i=\"hsl\",r=[e.h||e.hue||e.H||0,e.s||e.saturation||e.S||0,e.l||e.lightness||e.L||e.b||e.brightness]),n=e.a||e.alpha||e.opacity||1,e.opacity!=null&&(n/=100)):(i=\"rgb\",r=[e>>>16,(e&65280)>>>8,e&255]);return{space:i,values:r,alpha:n}}});var mLe=ye((avr,gLe)=>{\"use strict\";var uLt=pLe();gLe.exports=function(t){Array.isArray(t)&&t.raw&&(t=String.raw.apply(null,arguments));var r,n,i,a=uLt(t);if(!a.space)return[];var o=[0,0,0],s=a.space[0]===\"h\"?[360,100,100]:[255,255,255];return r=Array(3),r[0]=Math.min(Math.max(a.values[0],o[0]),s[0]),r[1]=Math.min(Math.max(a.values[1],o[1]),s[1]),r[2]=Math.min(Math.max(a.values[2],o[2]),s[2]),a.space[0]===\"h\"&&(r=cLt(r)),r.push(Math.min(Math.max(a.alpha,0),1)),r};function cLt(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100,i,a,o,s,l,u=0;if(r===0)return l=n*255,[l,l,l];for(a=n<.5?n*(1+r):n+r-n*r,i=2*n-a,s=[0,0,0];u<3;)o=t+1/3*-(u-1),o<0?o++:o>1&&o--,l=6*o<1?i+(a-i)*6*o:2*o<1?a:3*o<2?i+(a-i)*(2/3-o)*6:i,s[u++]=l*255;return s}});var VE=ye((ovr,yLe)=>{yLe.exports=fLt;function fLt(e,t,r){return t<r?e<t?t:e>r?r:e:e<r?r:e>t?t:e}});var HD=ye((svr,_Le)=>{_Le.exports=function(e){switch(e){case\"int8\":return Int8Array;case\"int16\":return Int16Array;case\"int32\":return Int32Array;case\"uint8\":return Uint8Array;case\"uint16\":return Uint16Array;case\"uint32\":return Uint32Array;case\"float32\":return Float32Array;case\"float64\":return Float64Array;case\"array\":return Array;case\"uint8_clamped\":return Uint8ClampedArray}}});var $_=ye((lvr,xLe)=>{\"use strict\";var hLt=mLe(),GD=VE(),dLt=HD();xLe.exports=function(t,r){(r===\"float\"||!r)&&(r=\"array\"),r===\"uint\"&&(r=\"uint8\"),r===\"uint_clamped\"&&(r=\"uint8_clamped\");var n=dLt(r),i=new n(4),a=r!==\"uint8\"&&r!==\"uint8_clamped\";return(!t.length||typeof t==\"string\")&&(t=hLt(t),t[0]/=255,t[1]/=255,t[2]/=255),vLt(t)?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:255,a&&(i[0]/=255,i[1]/=255,i[2]/=255,i[3]/=255),i):(a?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:1):(i[0]=GD(Math.floor(t[0]*255),0,255),i[1]=GD(Math.floor(t[1]*255),0,255),i[2]=GD(Math.floor(t[2]*255),0,255),i[3]=t[3]==null?255:GD(Math.floor(t[3]*255),0,255)),i)};function vLt(e){return!!(e instanceof Uint8Array||e instanceof Uint8ClampedArray||Array.isArray(e)&&(e[0]>1||e[0]===0)&&(e[1]>1||e[1]===0)&&(e[2]>1||e[2]===0)&&(!e[3]||e[3]>1))}});var Jy=ye((uvr,bLe)=>{\"use strict\";var pLt=$_();function gLt(e){return e?pLt(e):[0,0,0,1]}bLe.exports=gLt});var $y=ye((cvr,kLe)=>{\"use strict\";var MLe=uo(),mLt=id(),jD=$_(),WD=Mu(),yLt=dh().defaultLine,wLe=vv().isArrayOrTypedArray,iZ=jD(yLt),ELe=1;function TLe(e,t){var r=e;return r[3]*=t,r}function ALe(e){if(MLe(e))return iZ;var t=jD(e);return t.length?t:iZ}function SLe(e){return MLe(e)?e:ELe}function _Lt(e,t,r){var n=e.color;n&&n._inputArray&&(n=n._inputArray);var i=wLe(n),a=wLe(t),o=WD.extractOpts(e),s=[],l,u,c,f,h;if(o.colorscale!==void 0?l=WD.makeColorScaleFuncFromTrace(e):l=ALe,i?u=function(v,x){return v[x]===void 0?iZ:jD(l(v[x]))}:u=ALe,a?c=function(v,x){return v[x]===void 0?ELe:SLe(v[x])}:c=SLe,i||a)for(var d=0;d<r;d++)f=u(n,d),h=c(t,d),s[d]=TLe(f,h);else s=TLe(jD(n),t);return s}function xLt(e){var t=WD.extractOpts(e),r=t.colorscale;return t.reversescale&&(r=WD.flipScale(t.colorscale)),r.map(function(n){var i=n[0],a=mLt(n[1]),o=a.toRgb();return{index:i,rgb:[o.r,o.g,o.b,o.a]}})}kLe.exports={formatColor:_Lt,parseColorScale:xLt}});var nZ=ye((fvr,CLe)=>{\"use strict\";CLe.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]}});var ZD=ye((hvr,LLe)=>{\"use strict\";LLe.exports={circle:\"\\u25CF\",\"circle-open\":\"\\u25CB\",square:\"\\u25A0\",\"square-open\":\"\\u25A1\",diamond:\"\\u25C6\",\"diamond-open\":\"\\u25C7\",cross:\"+\",x:\"\\u274C\"}});var ILe=ye((dvr,PLe)=>{\"use strict\";var bLt=ba();function aZ(e,t,r,n){if(!t||!t.visible)return null;for(var i=bLt.getComponentMethod(\"errorbars\",\"makeComputeError\")(t),a=new Array(e.length),o=0;o<e.length;o++){var s=i(+e[o],o);if(n.type===\"log\"){var l=n.c2l(e[o]),u=e[o]-s[0],c=e[o]+s[1];if(a[o]=[(n.c2l(u,!0)-l)*r,(n.c2l(c,!0)-l)*r],u>0){var f=n.c2l(u);n._lowerLogErrorBound||(n._lowerLogErrorBound=f),n._lowerErrorBound=Math.min(n._lowerLogErrorBound,f)}}else a[o]=[-s[0]*r,s[1]*r]}return a}function wLt(e){for(var t=0;t<e.length;t++)if(e[t])return e[t].length;return 0}function TLt(e,t,r){var n=[aZ(e.x,e.error_x,t[0],r.xaxis),aZ(e.y,e.error_y,t[1],r.yaxis),aZ(e.z,e.error_z,t[2],r.zaxis)],i=wLt(n);if(i===0)return null;for(var a=new Array(i),o=0;o<i;o++){for(var s=[[0,0,0],[0,0,0]],l=0;l<3;l++)if(n[l])for(var u=0;u<2;u++)s[u][l]=n[l][o][u];a[o]=s}return a}PLe.exports=TLt});var ULe=ye((vvr,NLe)=>{\"use strict\";var ALt=Rd().gl_line3d,RLe=Rd().gl_scatter3d,SLt=Rd().gl_error3d,MLt=Rd().gl_mesh3d,ELt=Rd().delaunay_triangulate,Qy=Mr(),OLe=Jy(),XD=$y().formatColor,kLt=S3(),oZ=nZ(),CLt=ZD(),LLt=Qa(),PLt=rp().appendArrayPointValue,ILt=ILe();function BLe(e,t){this.scene=e,this.uid=t,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode=\"\",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var lZ=BLe.prototype;lZ.handlePick=function(e){if(e.object&&(e.object===this.linePlot||e.object===this.delaunayMesh||e.object===this.textMarkers||e.object===this.scatterPlot)){var t=e.index=e.data.index;return e.object.highlight&&e.object.highlight(null),this.scatterPlot&&(e.object=this.scatterPlot,this.scatterPlot.highlight(e.data)),e.textLabel=\"\",this.textLabels&&(Qy.isArrayOrTypedArray(this.textLabels)?(this.textLabels[t]||this.textLabels[t]===0)&&(e.textLabel=this.textLabels[t]):e.textLabel=this.textLabels),e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]],!0}};function RLt(e,t,r){var n=(r+1)%3,i=(r+2)%3,a=[],o=[],s;for(s=0;s<e.length;++s){var l=e[s];isNaN(l[n])||!isFinite(l[n])||isNaN(l[i])||!isFinite(l[i])||(a.push([l[n],l[i]]),o.push(s))}var u=ELt(a);for(s=0;s<u.length;++s)for(var c=u[s],f=0;f<c.length;++f)c[f]=o[c[f]];return{positions:e,cells:u,meshColor:t}}function DLt(e){for(var t=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[1,1,1],i=0;i<3;i++){var a=e[i];a&&a.copy_zstyle!==!1&&e[2].visible!==!1&&(a=e[2]),!(!a||!a.visible)&&(t[i]=a.width/2,r[i]=OLe(a.color),n[i]=a.thickness)}return{capSize:t,color:r,lineWidth:n}}function DLe(e){return e==null?0:e.indexOf(\"left\")>-1?-1:e.indexOf(\"right\")>-1?1:0}function zLe(e){return e==null?0:e.indexOf(\"top\")>-1?-1:e.indexOf(\"bottom\")>-1?1:0}function zLt(e){var t=0,r=0,n=[t,r];if(Array.isArray(e))for(var i=0;i<e.length;i++)n[i]=[t,r],e[i]&&(n[i][0]=DLe(e[i]),n[i][1]=zLe(e[i]));else n[0]=DLe(e),n[1]=zLe(e);return n}function FLt(e,t){return t(e*4)}function qLt(e){return CLt[e]}function sZ(e,t,r,n,i){var a=null;if(Qy.isArrayOrTypedArray(e)){a=[];for(var o=0;o<t;o++)e[o]===void 0?a[o]=n:a[o]=r(e[o],i)}else a=r(e,Qy.identity);return a}function OLt(e,t){var r=[],n=e.fullSceneLayout,i=e.dataScale,a=n.xaxis,o=n.yaxis,s=n.zaxis,l=t.marker,u=t.line,c=t.x||[],f=t.y||[],h=t.z||[],d=c.length,v=t.xcalendar,x=t.ycalendar,b=t.zcalendar,p,E,k,A,L,_;for(L=0;L<d;L++)p=a.d2l(c[L],0,v)*i[0],E=o.d2l(f[L],0,x)*i[1],k=s.d2l(h[L],0,b)*i[2],r[L]=[p,E,k];if(Array.isArray(t.text))_=t.text;else if(Qy.isTypedArray(t.text))_=Array.from(t.text);else if(t.text!==void 0)for(_=new Array(d),L=0;L<d;L++)_[L]=t.text;function C(_e,Me){var ke=n[_e];return LLt.tickText(ke,ke.d2l(Me),!0).text}var M=t.texttemplate;if(M){var g=e.fullLayout,P=g._d3locale,T=Array.isArray(M),F=T?Math.min(M.length,d):d,q=T?function(_e){return M[_e]}:function(){return M};for(_=new Array(F),L=0;L<F;L++){var V={x:c[L],y:f[L],z:h[L]},H={xLabel:C(\"xaxis\",c[L]),yLabel:C(\"yaxis\",f[L]),zLabel:C(\"zaxis\",h[L])},X={};PLt(X,t,L);var G=t._meta||{};_[L]=Qy.texttemplateString(q(L),H,P,X,V,G)}}if(A={position:r,mode:t.mode,text:_},\"line\"in t&&(A.lineColor=XD(u,1,d),A.lineWidth=u.width,A.lineDashes=u.dash),\"marker\"in t){var N=kLt(t);A.scatterColor=XD(l,1,d),A.scatterSize=sZ(l.size,d,FLt,20,N),A.scatterMarker=sZ(l.symbol,d,qLt,\"\\u25CF\"),A.scatterLineWidth=l.line.width,A.scatterLineColor=XD(l.line,1,d),A.scatterAngle=0}\"textposition\"in t&&(A.textOffset=zLt(t.textposition),A.textColor=XD(t.textfont,1,d),A.textSize=sZ(t.textfont.size,d,Qy.identity,12),A.textFontFamily=t.textfont.family,A.textFontWeight=t.textfont.weight,A.textFontStyle=t.textfont.style,A.textFontVariant=t.textfont.variant,A.textAngle=0);var W=[\"x\",\"y\",\"z\"];for(A.project=[!1,!1,!1],A.projectScale=[1,1,1],A.projectOpacity=[1,1,1],L=0;L<3;++L){var re=t.projection[W[L]];(A.project[L]=re.show)&&(A.projectOpacity[L]=re.opacity,A.projectScale[L]=re.scale)}A.errorBounds=ILt(t,i,n);var ae=DLt([t.error_x,t.error_y,t.error_z]);return A.errorColor=ae.color,A.errorLineWidth=ae.lineWidth,A.errorCapSize=ae.capSize,A.delaunayAxis=t.surfaceaxis,A.delaunayColor=OLe(t.surfacecolor),A}function FLe(e){if(Qy.isArrayOrTypedArray(e)){var t=e[0];return Qy.isArrayOrTypedArray(t)&&(e=t),\"rgb(\"+e.slice(0,3).map(function(r){return Math.round(r*255)})+\")\"}return null}function qLe(e){return Qy.isArrayOrTypedArray(e)?e.length===4&&typeof e[0]==\"number\"?FLe(e):e.map(FLe):null}lZ.update=function(e){var t=this.scene.glplot.gl,r,n,i,a,o=oZ.solid;this.data=e;var s=OLt(this.scene,e);\"mode\"in s&&(this.mode=s.mode),\"lineDashes\"in s&&s.lineDashes in oZ&&(o=oZ[s.lineDashes]),this.color=qLe(s.scatterColor)||qLe(s.lineColor),this.dataPoints=s.position,r={gl:this.scene.glplot.gl,position:s.position,color:s.lineColor,lineWidth:s.lineWidth||1,dashes:o[0],dashScale:o[1],opacity:e.opacity,connectGaps:e.connectgaps},this.mode.indexOf(\"lines\")!==-1?this.linePlot?this.linePlot.update(r):(this.linePlot=ALt(r),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var l=e.opacity;if(e.marker&&e.marker.opacity!==void 0&&(l*=e.marker.opacity),n={gl:this.scene.glplot.gl,position:s.position,color:s.scatterColor,size:s.scatterSize,glyph:s.scatterMarker,opacity:l,orthographic:!0,lineWidth:s.scatterLineWidth,lineColor:s.scatterLineColor,project:s.project,projectScale:s.projectScale,projectOpacity:s.projectOpacity},this.mode.indexOf(\"markers\")!==-1?this.scatterPlot?this.scatterPlot.update(n):(this.scatterPlot=RLe(n),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),a={gl:this.scene.glplot.gl,position:s.position,glyph:s.text,color:s.textColor,size:s.textSize,angle:s.textAngle,alignment:s.textOffset,font:s.textFontFamily,fontWeight:s.textFontWeight,fontStyle:s.textFontStyle,fontVariant:s.textFontVariant,orthographic:!0,lineWidth:0,project:!1,opacity:e.opacity},this.textLabels=e.hovertext||e.text,this.mode.indexOf(\"text\")!==-1?this.textMarkers?this.textMarkers.update(a):(this.textMarkers=RLe(a),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),i={gl:this.scene.glplot.gl,position:s.position,color:s.errorColor,error:s.errorBounds,lineWidth:s.errorLineWidth,capSize:s.errorCapSize,opacity:e.opacity},this.errorBars?s.errorBounds?this.errorBars.update(i):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):s.errorBounds&&(this.errorBars=SLt(i),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),s.delaunayAxis>=0){var u=RLt(s.position,s.delaunayColor,s.delaunayAxis);u.opacity=e.opacity,this.delaunayMesh?this.delaunayMesh.update(u):(u.gl=t,this.delaunayMesh=MLt(u),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)};lZ.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())};function BLt(e,t){var r=new BLe(e,t.uid);return r.update(t),r}NLe.exports=BLt});var dZ=ye((pvr,GLe)=>{\"use strict\";var e1=Uc(),NLt=Su(),hZ=Jl(),uZ=Oc().axisHoverFormat,ULt=Wo().hovertemplateAttrs,VLt=Wo().texttemplateAttrs,VLe=vl(),HLt=nZ(),GLt=ZD(),Yg=no().extendFlat,jLt=Bu().overrideAll,HLe=Y1(),WLt=e1.line,N2=e1.marker,ZLt=N2.line,XLt=Yg({width:WLt.width,dash:{valType:\"enumerated\",values:HLe(HLt),dflt:\"solid\"}},hZ(\"line\"));function cZ(e){return{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}}}var fZ=GLe.exports=jLt({x:e1.x,y:e1.y,z:{valType:\"data_array\"},text:Yg({},e1.text,{}),texttemplate:VLt({},{}),hovertext:Yg({},e1.hovertext,{}),hovertemplate:ULt(),xhoverformat:uZ(\"x\"),yhoverformat:uZ(\"y\"),zhoverformat:uZ(\"z\"),mode:Yg({},e1.mode,{dflt:\"lines+markers\"}),surfaceaxis:{valType:\"enumerated\",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:\"color\"},projection:{x:cZ(\"x\"),y:cZ(\"y\"),z:cZ(\"z\")},connectgaps:e1.connectgaps,line:XLt,marker:Yg({symbol:{valType:\"enumerated\",values:HLe(GLt),dflt:\"circle\",arrayOk:!0},size:Yg({},N2.size,{dflt:8}),sizeref:N2.sizeref,sizemin:N2.sizemin,sizemode:N2.sizemode,opacity:Yg({},N2.opacity,{arrayOk:!1}),colorbar:N2.colorbar,line:Yg({width:Yg({},ZLt.width,{arrayOk:!1})},hZ(\"marker.line\"))},hZ(\"marker\")),textposition:Yg({},e1.textposition,{dflt:\"top center\"}),textfont:NLt({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:\"calc\",colorEditType:\"style\",arrayOk:!0,variantValues:[\"normal\",\"small-caps\"]}),opacity:VLe.opacity,hoverinfo:Yg({},VLe.hoverinfo)},\"calc\",\"nested\");fZ.x.editType=fZ.y.editType=fZ.z.editType=\"calc+clearAxisTypes\"});var ZLe=ye((gvr,WLe)=>{\"use strict\";var jLe=ba(),YLt=Mr(),vZ=lu(),KLt=$p(),JLt=R0(),$Lt=D0(),QLt=dZ();WLe.exports=function(t,r,n,i){function a(d,v){return YLt.coerce(t,r,QLt,d,v)}var o=ePt(t,r,a,i);if(!o){r.visible=!1;return}a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),a(\"mode\"),vZ.hasMarkers(r)&&KLt(t,r,n,i,a,{noSelect:!0,noAngle:!0}),vZ.hasLines(r)&&(a(\"connectgaps\"),JLt(t,r,n,i,a)),vZ.hasText(r)&&(a(\"texttemplate\"),$Lt(t,r,i,a,{noSelect:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}));var s=(r.line||{}).color,l=(r.marker||{}).color;a(\"surfaceaxis\")>=0&&a(\"surfacecolor\",s||l);for(var u=[\"x\",\"y\",\"z\"],c=0;c<3;++c){var f=\"projection.\"+u[c];a(f+\".show\")&&(a(f+\".opacity\"),a(f+\".scale\"))}var h=jLe.getComponentMethod(\"errorbars\",\"supplyDefaults\");h(t,r,s||l||n,{axis:\"z\"}),h(t,r,s||l||n,{axis:\"y\",inherit:\"z\"}),h(t,r,s||l||n,{axis:\"x\",inherit:\"z\"})};function ePt(e,t,r,n){var i=0,a=r(\"x\"),o=r(\"y\"),s=r(\"z\"),l=jLe.getComponentMethod(\"calendars\",\"handleTraceDefaults\");return l(e,t,[\"x\",\"y\",\"z\"],n),a&&o&&s&&(i=Math.min(a.length,o.length,s.length),t._length=t._xlength=t._ylength=t._zlength=i),i}});var YLe=ye((mvr,XLe)=>{\"use strict\";var tPt=km(),rPt=z0();XLe.exports=function(t,r){var n=[{x:!1,y:!1,trace:r,t:{}}];return tPt(n,r),rPt(t,r),n}});var JLe=ye((yvr,KLe)=>{KLe.exports=iPt;function iPt(e,t){if(typeof e!=\"string\")throw new TypeError(\"must specify type string\");if(t=t||{},typeof document==\"undefined\"&&!t.canvas)return null;var r=t.canvas||document.createElement(\"canvas\");typeof t.width==\"number\"&&(r.width=t.width),typeof t.height==\"number\"&&(r.height=t.height);var n=t,i;try{var a=[e];e.indexOf(\"webgl\")===0&&a.push(\"experimental-\"+e);for(var o=0;o<a.length;o++)if(i=r.getContext(a[o],n),i)return i}catch(s){i=null}return i||null}});var QLe=ye((_vr,$Le)=>{var nPt=JLe();$Le.exports=function(t){return nPt(\"webgl\",t)}});var pZ=ye((xvr,tPe)=>{\"use strict\";var ePe=va(),aPt=function(){};tPe.exports=function(t){for(var r in t)typeof t[r]==\"function\"&&(t[r]=aPt);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var n=document.createElement(\"div\");n.className=\"no-webgl\",n.style.cursor=\"pointer\",n.style.fontSize=\"24px\",n.style.color=ePe.defaults[0],n.style.position=\"absolute\",n.style.left=n.style.top=\"0px\",n.style.width=n.style.height=\"100%\",n.style[\"background-color\"]=ePe.lightLine,n.style[\"z-index\"]=30;var i=document.createElement(\"p\");return i.textContent=\"WebGL is not supported by your browser - visit https://get.webgl.org for more info\",i.style.position=\"relative\",i.style.top=\"50%\",i.style.left=\"50%\",i.style.height=\"30%\",i.style.width=\"50%\",i.style.margin=\"-15% 0 0 -25%\",n.appendChild(i),t.container.appendChild(n),t.container.style.background=\"#FFFFFF\",t.container.onclick=function(){window.open(\"https://get.webgl.org\")},!1}});var nPe=ye((bvr,iPe)=>{\"use strict\";var U2=Jy(),oPt=Mr(),sPt=[\"xaxis\",\"yaxis\",\"zaxis\"];function rPe(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickSize=[12,12,12],this.tickFontWeight=[\"normal\",\"normal\",\"normal\",\"normal\"],this.tickFontStyle=[\"normal\",\"normal\",\"normal\",\"normal\"],this.tickFontVariant=[\"normal\",\"normal\",\"normal\",\"normal\"],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=[\"Open Sans\",\"Open Sans\",\"Open Sans\"],this.labelSize=[20,20,20],this.labelFontWeight=[\"normal\",\"normal\",\"normal\",\"normal\"],this.labelFontStyle=[\"normal\",\"normal\",\"normal\",\"normal\"],this.labelFontVariant=[\"normal\",\"normal\",\"normal\",\"normal\"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}var lPt=rPe.prototype;lPt.merge=function(e,t){for(var r=this,n=0;n<3;++n){var i=t[sPt[n]];if(!i.visible){r.tickEnable[n]=!1,r.labelEnable[n]=!1,r.lineEnable[n]=!1,r.lineTickEnable[n]=!1,r.gridEnable[n]=!1,r.zeroEnable[n]=!1,r.backgroundEnable[n]=!1;continue}r.labels[n]=e._meta?oPt.templateString(i.title.text,e._meta):i.title.text,\"font\"in i.title&&(i.title.font.color&&(r.labelColor[n]=U2(i.title.font.color)),i.title.font.family&&(r.labelFont[n]=i.title.font.family),i.title.font.size&&(r.labelSize[n]=i.title.font.size),i.title.font.weight&&(r.labelFontWeight[n]=i.title.font.weight),i.title.font.style&&(r.labelFontStyle[n]=i.title.font.style),i.title.font.variant&&(r.labelFontVariant[n]=i.title.font.variant)),\"showline\"in i&&(r.lineEnable[n]=i.showline),\"linecolor\"in i&&(r.lineColor[n]=U2(i.linecolor)),\"linewidth\"in i&&(r.lineWidth[n]=i.linewidth),\"showgrid\"in i&&(r.gridEnable[n]=i.showgrid),\"gridcolor\"in i&&(r.gridColor[n]=U2(i.gridcolor)),\"gridwidth\"in i&&(r.gridWidth[n]=i.gridwidth),i.type===\"log\"?r.zeroEnable[n]=!1:\"zeroline\"in i&&(r.zeroEnable[n]=i.zeroline),\"zerolinecolor\"in i&&(r.zeroLineColor[n]=U2(i.zerolinecolor)),\"zerolinewidth\"in i&&(r.zeroLineWidth[n]=i.zerolinewidth),\"ticks\"in i&&i.ticks?r.lineTickEnable[n]=!0:r.lineTickEnable[n]=!1,\"ticklen\"in i&&(r.lineTickLength[n]=r._defaultLineTickLength[n]=i.ticklen),\"tickcolor\"in i&&(r.lineTickColor[n]=U2(i.tickcolor)),\"tickwidth\"in i&&(r.lineTickWidth[n]=i.tickwidth),\"tickangle\"in i&&(r.tickAngle[n]=i.tickangle===\"auto\"?-3600:Math.PI*-i.tickangle/180),\"showticklabels\"in i&&(r.tickEnable[n]=i.showticklabels),\"tickfont\"in i&&(i.tickfont.color&&(r.tickColor[n]=U2(i.tickfont.color)),i.tickfont.family&&(r.tickFont[n]=i.tickfont.family),i.tickfont.size&&(r.tickSize[n]=i.tickfont.size),i.tickfont.weight&&(r.tickFontWeight[n]=i.tickfont.weight),i.tickfont.style&&(r.tickFontStyle[n]=i.tickfont.style),i.tickfont.variant&&(r.tickFontVariant[n]=i.tickfont.variant)),\"mirror\"in i?[\"ticks\",\"all\",\"allticks\"].indexOf(i.mirror)!==-1?(r.lineTickMirror[n]=!0,r.lineMirror[n]=!0):i.mirror===!0?(r.lineTickMirror[n]=!1,r.lineMirror[n]=!0):(r.lineTickMirror[n]=!1,r.lineMirror[n]=!1):r.lineMirror[n]=!1,\"showbackground\"in i&&i.showbackground!==!1?(r.backgroundEnable[n]=!0,r.backgroundColor[n]=U2(i.backgroundcolor)):r.backgroundEnable[n]=!1}};function uPt(e,t){var r=new rPe;return r.merge(e,t),r}iPe.exports=uPt});var sPe=ye((wvr,oPe)=>{\"use strict\";var cPt=Jy(),fPt=[\"xaxis\",\"yaxis\",\"zaxis\"];function aPe(){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]}var hPt=aPe.prototype;hPt.merge=function(e){for(var t=0;t<3;++t){var r=e[fPt[t]];if(!r.visible){this.enabled[t]=!1,this.drawSides[t]=!1;continue}this.enabled[t]=r.showspikes,this.colors[t]=cPt(r.spikecolor),this.drawSides[t]=r.spikesides,this.lineWidth[t]=r.spikethickness}};function dPt(e){var t=new aPe;return t.merge(e),t}oPe.exports=dPt});var cPe=ye((Tvr,uPe)=>{\"use strict\";uPe.exports=yPt;var lPe=Qa(),vPt=Mr(),pPt=[\"xaxis\",\"yaxis\",\"zaxis\"],gPt=[0,0,0];function mPt(e){for(var t=new Array(3),r=0;r<3;++r){for(var n=e[r],i=new Array(n.length),a=0;a<n.length;++a)i[a]=n[a].x;t[r]=i}return t}function yPt(e){for(var t=e.axesOptions,r=e.glplot.axesPixels,n=e.fullSceneLayout,i=[[],[],[]],a=0;a<3;++a){var o=n[pPt[a]];if(o._length=(r[a].hi-r[a].lo)*r[a].pixelsPerDataUnit/e.dataScale[a],Math.abs(o._length)===1/0||isNaN(o._length))i[a]=[];else{o._input_range=o.range.slice(),o.range[0]=r[a].lo/e.dataScale[a],o.range[1]=r[a].hi/e.dataScale[a],o._m=1/(e.dataScale[a]*r[a].pixelsPerDataUnit),o.range[0]===o.range[1]&&(o.range[0]-=1,o.range[1]+=1);var s=o.tickmode;if(o.tickmode===\"auto\"){o.tickmode=\"linear\";var l=o.nticks||vPt.constrain(o._length/40,4,9);lPe.autoTicks(o,Math.abs(o.range[1]-o.range[0])/l)}for(var u=lPe.calcTicks(o,{msUTC:!0}),c=0;c<u.length;++c)u[c].x=u[c].x*e.dataScale[a],o.type===\"date\"&&(u[c].text=u[c].text.replace(/\\<br\\>/g,\" \"));i[a]=u,o.tickmode=s}}t.ticks=i;for(var a=0;a<3;++a){gPt[a]=.5*(e.glplot.bounds[0][a]+e.glplot.bounds[1][a]);for(var c=0;c<2;++c)t.bounds[c][a]=e.glplot.bounds[c][a]}e.contourLevels=mPt(i)}});var mPe=ye((Avr,gPe)=>{\"use strict\";var dPe=Rd().gl_plot3d,_Pt=dPe.createCamera,fPe=dPe.createScene,xPt=QLe(),bPt=kL(),JD=ba(),up=Mr(),KD=up.preserveDrawingBuffer(),$D=Qa(),Kg=Nc(),wPt=Jy(),TPt=pZ(),APt=DU(),SPt=nPe(),MPt=sPe(),EPt=cPe(),kPt=wg().applyAutorangeOptions,HE,YD,vPe=!1;function pPe(e,t){var r=document.createElement(\"div\"),n=e.container;this.graphDiv=e.graphDiv;var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");i.style.position=\"absolute\",i.style.top=i.style.left=\"0px\",i.style.width=i.style.height=\"100%\",i.style[\"z-index\"]=20,i.style[\"pointer-events\"]=\"none\",r.appendChild(i),this.svgContainer=i,r.id=e.id,r.style.position=\"absolute\",r.style.top=r.style.left=\"0px\",r.style.width=r.style.height=\"100%\",n.appendChild(r),this.fullLayout=t,this.id=e.id||\"scene\",this.fullSceneLayout=t[this.id],this.plotArgs=[[],{},{}],this.axesOptions=SPt(t,t[this.id]),this.spikeOptions=MPt(t[this.id]),this.container=r,this.staticMode=!!e.staticPlot,this.pixelRatio=this.pixelRatio||e.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=JD.getComponentMethod(\"annotations3d\",\"convert\"),this.drawAnnotations=JD.getComponentMethod(\"annotations3d\",\"draw\"),this.initializeGLPlot()}var wv=pPe.prototype;wv.prepareOptions=function(){var e=this,t={canvas:e.canvas,gl:e.gl,glOptions:{preserveDrawingBuffer:KD,premultipliedAlpha:!0,antialias:!0},container:e.container,axes:e.axesOptions,spikes:e.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:e.camera,pixelRatio:e.pixelRatio};if(e.staticMode){if(!YD&&(HE=document.createElement(\"canvas\"),YD=xPt({canvas:HE,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}),!YD))throw new Error(\"error creating static canvas/context for image server\");t.gl=YD,t.canvas=HE}return t};var hPe=!0;wv.tryCreatePlot=function(){var e=this,t=e.prepareOptions(),r=!0;try{e.glplot=fPe(t)}catch(n){if(e.staticMode||!hPe||KD)r=!1;else{up.warn([\"webgl setup failed possibly due to\",\"false preserveDrawingBuffer config.\",\"The mobile/tablet device may not be detected by is-mobile module.\",\"Enabling preserveDrawingBuffer in second attempt to create webgl scene...\"].join(\" \"));try{KD=t.glOptions.preserveDrawingBuffer=!0,e.glplot=fPe(t)}catch(i){KD=t.glOptions.preserveDrawingBuffer=!1,r=!1}}}return hPe=!1,r};wv.initializeGLCamera=function(){var e=this,t=e.fullSceneLayout.camera,r=t.projection.type===\"orthographic\";e.camera=_Pt(e.container,{center:[t.center.x,t.center.y,t.center.z],eye:[t.eye.x,t.eye.y,t.eye.z],up:[t.up.x,t.up.y,t.up.z],_ortho:r,zoomMin:.01,zoomMax:100,mode:\"orbit\"})};wv.initializeGLPlot=function(){var e=this;e.initializeGLCamera();var t=e.tryCreatePlot();if(!t)return TPt(e);e.traces={},e.make4thDimension();var r=e.graphDiv,n=r.layout,i=function(){var o={};return e.isCameraChanged(n)&&(o[e.id+\".camera\"]=e.getCamera()),e.isAspectChanged(n)&&(o[e.id+\".aspectratio\"]=e.glplot.getAspectratio(),n[e.id].aspectmode!==\"manual\"&&(e.fullSceneLayout.aspectmode=n[e.id].aspectmode=o[e.id+\".aspectmode\"]=\"manual\")),o},a=function(o){if(o.fullSceneLayout.dragmode!==!1){var s=i();o.saveLayout(n),o.graphDiv.emit(\"plotly_relayout\",s)}};return e.glplot.canvas&&(e.glplot.canvas.addEventListener(\"mouseup\",function(){a(e)}),e.glplot.canvas.addEventListener(\"touchstart\",function(){vPe=!0}),e.glplot.canvas.addEventListener(\"wheel\",function(o){if(r._context._scrollZoom.gl3d){if(e.camera._ortho){var s=o.deltaX>o.deltaY?1.1:.9090909090909091,l=e.glplot.getAspectratio();e.glplot.setAspectratio({x:s*l.x,y:s*l.y,z:s*l.z})}a(e)}},bPt?{passive:!1}:!1),e.glplot.canvas.addEventListener(\"mousemove\",function(){if(e.fullSceneLayout.dragmode!==!1&&e.camera.mouseListener.buttons!==0){var o=i();e.graphDiv.emit(\"plotly_relayouting\",o)}}),e.staticMode||e.glplot.canvas.addEventListener(\"webglcontextlost\",function(o){r&&r.emit&&r.emit(\"plotly_webglcontextlost\",{event:o,layer:e.id})},!1)),e.glplot.oncontextloss=function(){e.recoverContext()},e.glplot.onrender=function(){e.render()},!0};wv.render=function(){var e=this,t=e.graphDiv,r,n=e.svgContainer,i=e.container.getBoundingClientRect();t._fullLayout._calcInverseTransform(t);var a=t._fullLayout._invScaleX,o=t._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),EPt(e),e.glplot.axes.update(e.axesOptions);for(var u=Object.keys(e.traces),c=null,f=e.glplot.selection,h=0;h<u.length;++h)r=e.traces[u[h]],r.data.hoverinfo!==\"skip\"&&r.handlePick(f)&&(c=r),r.setContourLevels&&r.setContourLevels();function d(P,T,F){var q=e.fullSceneLayout[P+\"axis\"];return q.type!==\"log\"&&(T=q.d2l(T)),$D.hoverLabelText(q,T,F)}if(c!==null){var v=APt(e.glplot.cameraParams,f.dataCoordinate);r=c.data;var x=t._fullData[r.index],b=f.index,p={xLabel:d(\"x\",f.traceCoordinate[0],r.xhoverformat),yLabel:d(\"y\",f.traceCoordinate[1],r.yhoverformat),zLabel:d(\"z\",f.traceCoordinate[2],r.zhoverformat)},E=Kg.castHoverinfo(x,e.fullLayout,b),k=(E||\"\").split(\"+\"),A=E&&E===\"all\";!x.hovertemplate&&!A&&(k.indexOf(\"x\")===-1&&(p.xLabel=void 0),k.indexOf(\"y\")===-1&&(p.yLabel=void 0),k.indexOf(\"z\")===-1&&(p.zLabel=void 0),k.indexOf(\"text\")===-1&&(f.textLabel=void 0),k.indexOf(\"name\")===-1&&(c.name=void 0));var L,_=[];r.type===\"cone\"||r.type===\"streamtube\"?(p.uLabel=d(\"x\",f.traceCoordinate[3],r.uhoverformat),(A||k.indexOf(\"u\")!==-1)&&_.push(\"u: \"+p.uLabel),p.vLabel=d(\"y\",f.traceCoordinate[4],r.vhoverformat),(A||k.indexOf(\"v\")!==-1)&&_.push(\"v: \"+p.vLabel),p.wLabel=d(\"z\",f.traceCoordinate[5],r.whoverformat),(A||k.indexOf(\"w\")!==-1)&&_.push(\"w: \"+p.wLabel),p.normLabel=f.traceCoordinate[6].toPrecision(3),(A||k.indexOf(\"norm\")!==-1)&&_.push(\"norm: \"+p.normLabel),r.type===\"streamtube\"&&(p.divergenceLabel=f.traceCoordinate[7].toPrecision(3),(A||k.indexOf(\"divergence\")!==-1)&&_.push(\"divergence: \"+p.divergenceLabel)),f.textLabel&&_.push(f.textLabel),L=_.join(\"<br>\")):r.type===\"isosurface\"||r.type===\"volume\"?(p.valueLabel=$D.hoverLabelText(e._mockAxis,e._mockAxis.d2l(f.traceCoordinate[3]),r.valuehoverformat),_.push(\"value: \"+p.valueLabel),f.textLabel&&_.push(f.textLabel),L=_.join(\"<br>\")):L=f.textLabel;var C={x:f.traceCoordinate[0],y:f.traceCoordinate[1],z:f.traceCoordinate[2],data:x._input,fullData:x,curveNumber:x.index,pointNumber:b};Kg.appendArrayPointValue(C,x,b),r._module.eventData&&(C=x._module.eventData(C,f,x,{},b));var M={points:[C]};if(e.fullSceneLayout.hovermode){var g=[];Kg.loneHover({trace:x,x:(.5+.5*v[0]/v[3])*s,y:(.5-.5*v[1]/v[3])*l,xLabel:p.xLabel,yLabel:p.yLabel,zLabel:p.zLabel,text:L,name:c.name,color:Kg.castHoverOption(x,b,\"bgcolor\")||c.color,borderColor:Kg.castHoverOption(x,b,\"bordercolor\"),fontFamily:Kg.castHoverOption(x,b,\"font.family\"),fontSize:Kg.castHoverOption(x,b,\"font.size\"),fontColor:Kg.castHoverOption(x,b,\"font.color\"),nameLength:Kg.castHoverOption(x,b,\"namelength\"),textAlign:Kg.castHoverOption(x,b,\"align\"),hovertemplate:up.castOption(x,b,\"hovertemplate\"),hovertemplateLabels:up.extendFlat({},C,p),eventData:[C]},{container:n,gd:t,inOut_bbox:g}),C.bbox=g[0]}f.distance<5&&(f.buttons||vPe)?t.emit(\"plotly_click\",M):t.emit(\"plotly_hover\",M),this.oldEventData=M}else Kg.loneUnhover(n),this.oldEventData&&t.emit(\"plotly_unhover\",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)};wv.recoverContext=function(){var e=this;e.glplot.dispose();var t=function(){if(e.glplot.gl.isContextLost()){requestAnimationFrame(t);return}if(!e.initializeGLPlot()){up.error(\"Catastrophic and unrecoverable WebGL error. Context lost.\");return}e.plot.apply(e,e.plotArgs)};requestAnimationFrame(t)};var GE=[\"xaxis\",\"yaxis\",\"zaxis\"];function CPt(e,t,r){for(var n=e.fullSceneLayout,i=0;i<3;i++){var a=GE[i],o=a.charAt(0),s=n[a],l=t[o],u=t[o+\"calendar\"],c=t[\"_\"+o+\"length\"];if(!up.isArrayOrTypedArray(l))r[0][i]=Math.min(r[0][i],0),r[1][i]=Math.max(r[1][i],c-1);else for(var f,h=0;h<(c||l.length);h++)if(up.isArrayOrTypedArray(l[h]))for(var d=0;d<l[h].length;++d)f=s.d2l(l[h][d],0,u),!isNaN(f)&&isFinite(f)&&(r[0][i]=Math.min(r[0][i],f),r[1][i]=Math.max(r[1][i],f));else f=s.d2l(l[h],0,u),!isNaN(f)&&isFinite(f)&&(r[0][i]=Math.min(r[0][i],f),r[1][i]=Math.max(r[1][i],f))}}function LPt(e,t){for(var r=e.fullSceneLayout,n=r.annotations||[],i=0;i<3;i++)for(var a=GE[i],o=a.charAt(0),s=r[a],l=0;l<n.length;l++){var u=n[l];if(u.visible){var c=s.r2l(u[o]);!isNaN(c)&&isFinite(c)&&(t[0][i]=Math.min(t[0][i],c),t[1][i]=Math.max(t[1][i],c))}}}wv.plot=function(e,t,r){var n=this;if(n.plotArgs=[e,t,r],!n.glplot.contextLost){var i,a,o,s,l,u,c=t[n.id],f=r[n.id];n.fullLayout=t,n.fullSceneLayout=c,n.axesOptions.merge(t,c),n.spikeOptions.merge(c),n.setViewport(c),n.updateFx(c.dragmode,c.hovermode),n.camera.enableWheel=n.graphDiv._context._scrollZoom.gl3d,n.glplot.setClearColor(wPt(c.bgcolor)),n.setConvert(l),e?Array.isArray(e)||(e=[e]):e=[];var h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(o=0;o<e.length;++o)i=e[o],!(i.visible!==!0||i._length===0)&&CPt(this,i,h);LPt(this,h);var d=[1,1,1];for(s=0;s<3;++s)h[1][s]===h[0][s]?d[s]=1:d[s]=1/(h[1][s]-h[0][s]);for(n.dataScale=d,n.convertAnnotations(this),o=0;o<e.length;++o)i=e[o],!(i.visible!==!0||i._length===0)&&(a=n.traces[i.uid],a?a.data.type===i.type?a.update(i):(a.dispose(),a=i._module.plot(this,i),n.traces[i.uid]=a):(a=i._module.plot(this,i),n.traces[i.uid]=a),a.name=i.name);var v=Object.keys(n.traces);e:for(o=0;o<v.length;++o){for(s=0;s<e.length;++s)if(e[s].uid===v[o]&&e[s].visible===!0&&e[s]._length!==0)continue e;a=n.traces[v[o]],a.dispose(),delete n.traces[v[o]]}n.glplot.objects.sort(function(ae,_e){return ae._trace.data.index-_e._trace.data.index});var x=[[0,0,0],[0,0,0]],b=[],p={};for(o=0;o<3;++o){l=c[GE[o]],u=l.type,u in p?(p[u].acc*=d[o],p[u].count+=1):p[u]={acc:d[o],count:1};var E;if(l.autorange){x[0][o]=1/0,x[1][o]=-1/0;var k=n.glplot.objects,A=n.fullSceneLayout.annotations||[],L=l._name.charAt(0);for(s=0;s<k.length;s++){var _=k[s],C=_.bounds,M=_._trace.data._pad||0;_.constructor.name===\"ErrorBars\"&&l._lowerLogErrorBound?x[0][o]=Math.min(x[0][o],l._lowerLogErrorBound):x[0][o]=Math.min(x[0][o],C[0][o]/d[o]-M),x[1][o]=Math.max(x[1][o],C[1][o]/d[o]+M)}for(s=0;s<A.length;s++){var g=A[s];if(g.visible){var P=l.r2l(g[L]);x[0][o]=Math.min(x[0][o],P),x[1][o]=Math.max(x[1][o],P)}}if(\"rangemode\"in l&&l.rangemode===\"tozero\"&&(x[0][o]=Math.min(x[0][o],0),x[1][o]=Math.max(x[1][o],0)),x[0][o]>x[1][o])x[0][o]=-1,x[1][o]=1;else{var T=x[1][o]-x[0][o];x[0][o]-=T/32,x[1][o]+=T/32}if(E=[x[0][o],x[1][o]],E=kPt(E,l),x[0][o]=E[0],x[1][o]=E[1],l.isReversed()){var F=x[0][o];x[0][o]=x[1][o],x[1][o]=F}}else E=l.range,x[0][o]=l.r2l(E[0]),x[1][o]=l.r2l(E[1]);x[0][o]===x[1][o]&&(x[0][o]-=1,x[1][o]+=1),b[o]=x[1][o]-x[0][o],l.range=[x[0][o],x[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*d[o],max:l.range[1]*d[o]})}var q,V=c.aspectmode;if(V===\"cube\")q=[1,1,1];else if(V===\"manual\"){var H=c.aspectratio;q=[H.x,H.y,H.z]}else if(V===\"auto\"||V===\"data\"){var X=[1,1,1];for(o=0;o<3;++o){l=c[GE[o]],u=l.type;var G=p[u];X[o]=Math.pow(G.acc,1/G.count)/d[o]}V===\"data\"||Math.max.apply(null,X)/Math.min.apply(null,X)<=4?q=X:q=[1,1,1]}else throw new Error(\"scene.js aspectRatio was not one of the enumerated types\");c.aspectratio.x=f.aspectratio.x=q[0],c.aspectratio.y=f.aspectratio.y=q[1],c.aspectratio.z=f.aspectratio.z=q[2],n.glplot.setAspectratio(c.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=c.aspectmode);var N=c.domain||null,W=t._size||null;if(N&&W){var re=n.container.style;re.position=\"absolute\",re.left=W.l+N.x[0]*W.w+\"px\",re.top=W.t+(1-N.y[1])*W.h+\"px\",re.width=W.w*(N.x[1]-N.x[0])+\"px\",re.height=W.h*(N.y[1]-N.y[0])+\"px\"}n.glplot.redraw()}};wv.destroy=function(){var e=this;e.glplot&&(e.camera.mouseListener.enabled=!1,e.container.removeEventListener(\"wheel\",e.camera.wheelListener),e.camera=null,e.glplot.dispose(),e.container.parentNode.removeChild(e.container),e.glplot=null)};function PPt(e){return[[e.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]]}function IPt(e){return{up:{x:e.up[0],y:e.up[1],z:e.up[2]},center:{x:e.center[0],y:e.center[1],z:e.center[2]},eye:{x:e.eye[0],y:e.eye[1],z:e.eye[2]},projection:{type:e._ortho===!0?\"orthographic\":\"perspective\"}}}wv.getCamera=function(){var e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),IPt(e.camera)};wv.setViewport=function(e){var t=this,r=e.camera;t.camera.lookAt.apply(this,PPt(r)),t.glplot.setAspectratio(e.aspectratio);var n=r.projection.type===\"orthographic\",i=t.camera._ortho;n!==i&&(t.glplot.redraw(),t.glplot.clearRGBA(),t.glplot.dispose(),t.initializeGLPlot())};wv.isCameraChanged=function(e){var t=this,r=t.getCamera(),n=up.nestedProperty(e,t.id+\".camera\"),i=n.get();function a(u,c,f,h){var d=[\"up\",\"center\",\"eye\"],v=[\"x\",\"y\",\"z\"];return c[d[f]]&&u[d[f]][v[h]]===c[d[f]][v[h]]}var o=!1;if(i===void 0)o=!0;else{for(var s=0;s<3;s++)for(var l=0;l<3;l++)if(!a(r,i,s,l)){o=!0;break}(!i.projection||r.projection&&r.projection.type!==i.projection.type)&&(o=!0)}return o};wv.isAspectChanged=function(e){var t=this,r=t.glplot.getAspectratio(),n=up.nestedProperty(e,t.id+\".aspectratio\"),i=n.get();return i===void 0||i.x!==r.x||i.y!==r.y||i.z!==r.z};wv.saveLayout=function(e){var t=this,r=t.fullLayout,n,i,a,o,s,l,u=t.isCameraChanged(e),c=t.isAspectChanged(e),f=u||c;if(f){var h={};if(u&&(n=t.getCamera(),i=up.nestedProperty(e,t.id+\".camera\"),a=i.get(),h[t.id+\".camera\"]=a),c&&(o=t.glplot.getAspectratio(),s=up.nestedProperty(e,t.id+\".aspectratio\"),l=s.get(),h[t.id+\".aspectratio\"]=l),JD.call(\"_storeDirectGUIEdit\",e,r._preGUI,h),u){i.set(n);var d=up.nestedProperty(r,t.id+\".camera\");d.set(n)}if(c){s.set(o);var v=up.nestedProperty(r,t.id+\".aspectratio\");v.set(o),t.glplot.redraw()}}return f};wv.updateFx=function(e,t){var r=this,n=r.camera;if(n)if(e===\"orbit\")n.mode=\"orbit\",n.keyBindingMode=\"rotate\";else if(e===\"turntable\"){n.up=[0,0,1],n.mode=\"turntable\",n.keyBindingMode=\"rotate\";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,u=o.up.z;if(u/Math.sqrt(s*s+l*l+u*u)<.999){var c=r.id+\".camera.up\",f={x:0,y:0,z:1},h={};h[c]=f;var d=i.layout;JD.call(\"_storeDirectGUIEdit\",d,a._preGUI,h),o.up=f,up.nestedProperty(d,c).set(f)}}else n.keyBindingMode=e;r.fullSceneLayout.hovermode=t};function RPt(e,t,r){for(var n=0,i=r-1;n<i;++n,--i)for(var a=0;a<t;++a)for(var o=0;o<4;++o){var s=4*(t*n+a)+o,l=4*(t*i+a)+o,u=e[s];e[s]=e[l],e[l]=u}}function DPt(e,t,r){for(var n=0;n<r;++n)for(var i=0;i<t;++i){var a=4*(t*n+i),o=e[a+3];if(o>0)for(var s=255/o,l=0;l<3;++l)e[a+l]=Math.min(s*e[a+l],255)}}wv.toImage=function(e){var t=this;e||(e=\"png\"),t.staticMode&&t.container.appendChild(HE),t.glplot.redraw();var r=t.glplot.gl,n=r.drawingBufferWidth,i=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var a=new Uint8Array(n*i*4);r.readPixels(0,0,n,i,r.RGBA,r.UNSIGNED_BYTE,a),RPt(a,n,i),DPt(a,n,i);var o=document.createElement(\"canvas\");o.width=n,o.height=i;var s=o.getContext(\"2d\",{willReadFrequently:!0}),l=s.createImageData(n,i);l.data.set(a),s.putImageData(l,0,0);var u;switch(e){case\"jpeg\":u=o.toDataURL(\"image/jpeg\");break;case\"webp\":u=o.toDataURL(\"image/webp\");break;default:u=o.toDataURL(\"image/png\")}return t.staticMode&&t.container.removeChild(HE),u};wv.setConvert=function(){for(var e=this,t=0;t<3;t++){var r=e.fullSceneLayout[GE[t]];$D.setConvert(r,e.fullLayout),r.setScale=up.noop}};wv.make4thDimension=function(){var e=this,t=e.graphDiv,r=t._fullLayout;e._mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},$D.setConvert(e._mockAxis,r)};gPe.exports=pPe});var _Pe=ye((Svr,yPe)=>{\"use strict\";yPe.exports={scene:{valType:\"subplotid\",dflt:\"scene\",editType:\"calc+clearAxisTypes\"}}});var mZ=ye((Mvr,xPe)=>{\"use strict\";var zPt=va(),cs=Cd(),gZ=no().extendFlat,FPt=Bu().overrideAll;xPe.exports=FPt({visible:cs.visible,showspikes:{valType:\"boolean\",dflt:!0},spikesides:{valType:\"boolean\",dflt:!0},spikethickness:{valType:\"number\",min:0,dflt:2},spikecolor:{valType:\"color\",dflt:zPt.defaultLine},showbackground:{valType:\"boolean\",dflt:!1},backgroundcolor:{valType:\"color\",dflt:\"rgba(204, 204, 204, 0.5)\"},showaxeslabels:{valType:\"boolean\",dflt:!0},color:cs.color,categoryorder:cs.categoryorder,categoryarray:cs.categoryarray,title:{text:cs.title.text,font:cs.title.font},type:gZ({},cs.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autotypenumbers:cs.autotypenumbers,autorange:cs.autorange,autorangeoptions:{minallowed:cs.autorangeoptions.minallowed,maxallowed:cs.autorangeoptions.maxallowed,clipmin:cs.autorangeoptions.clipmin,clipmax:cs.autorangeoptions.clipmax,include:cs.autorangeoptions.include,editType:\"plot\"},rangemode:cs.rangemode,minallowed:cs.minallowed,maxallowed:cs.maxallowed,range:gZ({},cs.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],anim:!1}),tickmode:cs.minor.tickmode,nticks:cs.nticks,tick0:cs.tick0,dtick:cs.dtick,tickvals:cs.tickvals,ticktext:cs.ticktext,ticks:cs.ticks,mirror:cs.mirror,ticklen:cs.ticklen,tickwidth:cs.tickwidth,tickcolor:cs.tickcolor,showticklabels:cs.showticklabels,labelalias:cs.labelalias,tickfont:cs.tickfont,tickangle:cs.tickangle,tickprefix:cs.tickprefix,showtickprefix:cs.showtickprefix,ticksuffix:cs.ticksuffix,showticksuffix:cs.showticksuffix,showexponent:cs.showexponent,exponentformat:cs.exponentformat,minexponent:cs.minexponent,separatethousands:cs.separatethousands,tickformat:cs.tickformat,tickformatstops:cs.tickformatstops,hoverformat:cs.hoverformat,showline:cs.showline,linecolor:cs.linecolor,linewidth:cs.linewidth,showgrid:cs.showgrid,gridcolor:gZ({},cs.gridcolor,{dflt:\"rgb(204, 204, 204)\"}),gridwidth:cs.gridwidth,zeroline:cs.zeroline,zerolinecolor:cs.zerolinecolor,zerolinewidth:cs.zerolinewidth},\"plot\",\"from-root\")});var bZ=ye((Evr,bPe)=>{\"use strict\";var yZ=mZ(),qPt=Ju().attributes,_Z=no().extendFlat,OPt=Mr().counterRegex;function xZ(e,t,r){return{x:{valType:\"number\",dflt:e,editType:\"camera\"},y:{valType:\"number\",dflt:t,editType:\"camera\"},z:{valType:\"number\",dflt:r,editType:\"camera\"},editType:\"camera\"}}bPe.exports={_arrayAttrRegexps:[OPt(\"scene\",\".annotations\",!0)],bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"plot\"},camera:{up:_Z(xZ(0,0,1),{}),center:_Z(xZ(0,0,0),{}),eye:_Z(xZ(1.25,1.25,1.25),{}),projection:{type:{valType:\"enumerated\",values:[\"perspective\",\"orthographic\"],dflt:\"perspective\",editType:\"calc\"},editType:\"calc\"},editType:\"camera\"},domain:qPt({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:yZ,yaxis:yZ,zaxis:yZ,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\"}});var SPe=ye((kvr,APe)=>{\"use strict\";var BPt=id().mix,wPe=Mr(),NPt=Vs(),UPt=mZ(),VPt=yU(),HPt=JM(),TPe=[\"xaxis\",\"yaxis\",\"zaxis\"],GPt=100*136/187;APe.exports=function(t,r,n){var i,a;function o(u,c){return wPe.coerce(i,a,UPt,u,c)}for(var s=0;s<TPe.length;s++){var l=TPe[s];i=t[l]||{},a=NPt.newContainer(r,l),a._id=l[0]+n.scene,a._name=l,VPt(i,a,o,n),HPt(i,a,o,{font:n.font,letter:l[0],data:n.data,showGrid:!0,noAutotickangles:!0,noTicklabelindex:!0,noTickson:!0,noTicklabelmode:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,noTicklabelstep:!0,noTicklabelposition:!0,noTicklabeloverflow:!0,noInsiderange:!0,bgColor:n.bgColor,calendar:n.calendar},n.fullLayout),o(\"gridcolor\",BPt(a.color,n.bgColor,GPt).toRgbString()),o(\"title.text\",l[0]),a.setScale=wPe.noop,o(\"showspikes\")&&(o(\"spikesides\"),o(\"spikethickness\"),o(\"spikecolor\",a.color)),o(\"showaxeslabels\"),o(\"showbackground\")&&o(\"backgroundcolor\")}}});var CPe=ye((Cvr,kPe)=>{\"use strict\";var jPt=Mr(),WPt=va(),ZPt=ba(),XPt=C_(),YPt=SPe(),MPe=bZ(),KPt=kd().getSubplotData,EPe=\"gl3d\";kPe.exports=function(t,r,n){var i=r._basePlotModules.length>1;function a(o){if(!i){var s=jPt.validate(t[o],MPe[o]);if(s)return t[o]}}XPt(t,r,n,{type:EPe,attributes:MPe,handleDefaults:JPt,fullLayout:r,font:r.font,fullData:n,getDfltFromLayout:a,autotypenumbersDflt:r.autotypenumbers,paper_bgcolor:r.paper_bgcolor,calendar:r.calendar})};function JPt(e,t,r,n){for(var i=r(\"bgcolor\"),a=WPt.combine(i,n.paper_bgcolor),o=[\"up\",\"center\",\"eye\"],s=0;s<o.length;s++)r(\"camera.\"+o[s]+\".x\"),r(\"camera.\"+o[s]+\".y\"),r(\"camera.\"+o[s]+\".z\");r(\"camera.projection.type\");var l=!!r(\"aspectratio.x\")&&!!r(\"aspectratio.y\")&&!!r(\"aspectratio.z\"),u=l?\"manual\":\"auto\",c=r(\"aspectmode\",u);l||(e.aspectratio=t.aspectratio={x:1,y:1,z:1},c===\"manual\"&&(t.aspectmode=\"auto\"),e.aspectmode=t.aspectmode);var f=KPt(n.fullData,EPe,n.id);YPt(e,t,{font:n.font,scene:n.id,data:f,bgColor:a,calendar:n.calendar,autotypenumbersDflt:n.autotypenumbersDflt,fullLayout:n.fullLayout}),ZPt.getComponentMethod(\"annotations3d\",\"handleDefaults\")(e,t,n);var h=n.getDfltFromLayout(\"dragmode\");if(h!==!1&&!h)if(h=\"orbit\",e.camera&&e.camera.up){var d=e.camera.up.x,v=e.camera.up.y,x=e.camera.up.z;x!==0&&(!d||!v||!x||x/Math.sqrt(d*d+v*v+x*x)>.999)&&(h=\"turntable\")}else h=\"turntable\";r(\"dragmode\",h),r(\"hovermode\",n.getDfltFromLayout(\"hovermode\"))}});var Q_=ye(cp=>{\"use strict\";var $Pt=Bu().overrideAll,QPt=N1(),eIt=mPe(),tIt=kd().getSubplotData,rIt=Mr(),iIt=Zp(),O5=\"gl3d\",wZ=\"scene\";cp.name=O5;cp.attr=wZ;cp.idRoot=wZ;cp.idRegex=cp.attrRegex=rIt.counterRegex(\"scene\");cp.attributes=_Pe();cp.layoutAttributes=bZ();cp.baseLayoutAttrOverrides=$Pt({hoverlabel:QPt.hoverlabel},\"plot\",\"nested\");cp.supplyLayoutDefaults=CPe();cp.plot=function(t){for(var r=t._fullLayout,n=t._fullData,i=r._subplots[O5],a=0;a<i.length;a++){var o=i[a],s=tIt(n,O5,o),l=r[o],u=l.camera,c=l._scene;c||(c=new eIt({id:o,graphDiv:t,container:t.querySelector(\".gl-container\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio,camera:u},r),l._scene=c),c.viewInitial||(c.viewInitial={up:{x:u.up.x,y:u.up.y,z:u.up.z},eye:{x:u.eye.x,y:u.eye.y,z:u.eye.z},center:{x:u.center.x,y:u.center.y,z:u.center.z}}),c.plot(s,r,t.layout)}};cp.clean=function(e,t,r,n){for(var i=n._subplots[O5]||[],a=0;a<i.length;a++){var o=i[a];!t[o]&&n[o]._scene&&(n[o]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(\".annotation-\"+o).remove())}};cp.toSVG=function(e){for(var t=e._fullLayout,r=t._subplots[O5],n=t._size,i=0;i<r.length;i++){var a=t[r[i]],o=a.domain,s=a._scene,l=s.toImage(\"png\"),u=t._glimages.append(\"svg:image\");u.attr({xmlns:iIt.svg,\"xlink:href\":l,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"}),s.destroy()}};cp.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var r=t.substr(5);return r===\"1\"&&(r=\"\"),wZ+r}};cp.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[O5],n=0;n<r.length;n++){var i=t[r[n]]._scene;i.updateFx(t.dragmode,t.hovermode)}}});var PPe=ye((Pvr,LPe)=>{\"use strict\";LPe.exports={plot:ULe(),attributes:dZ(),markerSymbols:ZD(),supplyDefaults:ZLe(),colorbar:[{container:\"marker\",min:\"cmin\",max:\"cmax\"},{container:\"line\",min:\"cmin\",max:\"cmax\"}],calc:YLe(),moduleType:\"trace\",name:\"scatter3d\",basePlotModule:Q_(),categories:[\"gl3d\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var RPe=ye((Ivr,IPe)=>{\"use strict\";IPe.exports=PPe()});var jE=ye((Rvr,FPe)=>{\"use strict\";var DPe=va(),nIt=Jl(),TZ=Oc().axisHoverFormat,aIt=Wo().hovertemplateAttrs,zPe=vl(),AZ=no().extendFlat,oIt=Bu().overrideAll;function SZ(e){return{valType:\"boolean\",dflt:!1}}function MZ(e){return{show:{valType:\"boolean\",dflt:!1},start:{valType:\"number\",dflt:null,editType:\"plot\"},end:{valType:\"number\",dflt:null,editType:\"plot\"},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\"},project:{x:SZ(\"x\"),y:SZ(\"y\"),z:SZ(\"z\")},color:{valType:\"color\",dflt:DPe.defaultLine},usecolormap:{valType:\"boolean\",dflt:!1},width:{valType:\"number\",min:1,max:16,dflt:2},highlight:{valType:\"boolean\",dflt:!0},highlightcolor:{valType:\"color\",dflt:DPe.defaultLine},highlightwidth:{valType:\"number\",min:1,max:16,dflt:2}}}var EZ=FPe.exports=oIt(AZ({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:aIt(),xhoverformat:TZ(\"x\"),yhoverformat:TZ(\"y\"),zhoverformat:TZ(\"z\"),connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},surfacecolor:{valType:\"data_array\"}},nIt(\"\",{colorAttr:\"z or surfacecolor\",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:\"calc\"}),{contours:{x:MZ(\"x\"),y:MZ(\"y\"),z:MZ(\"z\")},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\"},hoverinfo:AZ({},zPe.hoverinfo),showlegend:AZ({},zPe.showlegend,{dflt:!1})}),\"calc\",\"nested\");EZ.x.editType=EZ.y.editType=EZ.z.editType=\"calc+clearAxisTypes\"});var CZ=ye((Dvr,BPe)=>{\"use strict\";var sIt=ba(),qPe=Mr(),lIt=Uh(),uIt=jE(),kZ=.1;function cIt(e,t){for(var r=[],n=32,i=0;i<n;i++){var a=i/(n-1),o=t+(1-t)*(1-Math.pow(Math.sin(e*a*Math.PI),2));r.push([a,Math.max(0,Math.min(1,o))])}return r}function fIt(e){var t=0;if(!Array.isArray(e)||e.length<2||!e[0]||!e[e.length-1]||+e[0][0]!=0||+e[e.length-1][0]!=1)return!1;for(var r=0;r<e.length;r++){var n=e[r];if(n.length!==2||+n[0]<t)return!1;t=+n[0]}return!0}function hIt(e,t,r,n){var i,a;function o(b,p){return qPe.coerce(e,t,uIt,b,p)}var s=o(\"x\"),l=o(\"y\"),u=o(\"z\");if(!u||!u.length||s&&s.length<1||l&&l.length<1){t.visible=!1;return}t._xlength=Array.isArray(s)&&qPe.isArrayOrTypedArray(s[0])?u.length:u[0].length,t._ylength=u.length;var c=sIt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");c(e,t,[\"x\",\"y\",\"z\"],n),o(\"text\"),o(\"hovertext\"),o(\"hovertemplate\"),o(\"xhoverformat\"),o(\"yhoverformat\"),o(\"zhoverformat\"),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"hidesurface\",\"connectgaps\",\"opacity\"].forEach(function(b){o(b)});var f=o(\"surfacecolor\"),h=[\"x\",\"y\",\"z\"];for(i=0;i<3;++i){var d=\"contours.\"+h[i],v=o(d+\".show\"),x=o(d+\".highlight\");if(v||x)for(a=0;a<3;++a)o(d+\".project.\"+h[a]);v&&(o(d+\".color\"),o(d+\".width\"),o(d+\".usecolormap\")),x&&(o(d+\".highlightcolor\"),o(d+\".highlightwidth\")),o(d+\".start\"),o(d+\".end\"),o(d+\".size\")}lIt(e,t,n,o,{prefix:\"\",cLetter:\"c\"}),OPe(e,t,n,o),t._length=null}function OPe(e,t,r,n){var i=n(\"opacityscale\");i===\"max\"?t.opacityscale=[[0,kZ],[1,1]]:i===\"min\"?t.opacityscale=[[0,1],[1,kZ]]:i===\"extremes\"?t.opacityscale=cIt(1,kZ):fIt(i)||(t.opacityscale=void 0)}BPe.exports={supplyDefaults:hIt,opacityscaleDefaults:OPe}});var VPe=ye((zvr,UPe)=>{\"use strict\";var NPe=zv();UPe.exports=function(t,r){r.surfacecolor?NPe(t,r,{vals:r.surfacecolor,containerStr:\"\",cLetter:\"c\"}):NPe(t,r,{vals:r.z,containerStr:\"\",cLetter:\"c\"})}});var XPe=ye((Fvr,ZPe)=>{\"use strict\";var dIt=Rd().gl_surface3d,B5=Rd().ndarray,vIt=Rd().ndarray_linear_interpolate.d2,pIt=e8(),gIt=t8(),WE=Mr().isArrayOrTypedArray,mIt=$y().parseColorScale,HPe=Jy(),yIt=Mu().extractOpts;function jPe(e,t,r){this.scene=e,this.uid=r,this.surface=t,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var Jg=jPe.prototype;Jg.getXat=function(e,t,r,n){var i=WE(this.data.x)?WE(this.data.x[0])?this.data.x[t][e]:this.data.x[e]:e;return r===void 0?i:n.d2l(i,0,r)};Jg.getYat=function(e,t,r,n){var i=WE(this.data.y)?WE(this.data.y[0])?this.data.y[t][e]:this.data.y[t]:t;return r===void 0?i:n.d2l(i,0,r)};Jg.getZat=function(e,t,r,n){var i=this.data.z[t][e];return i===null&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[t][e]),r===void 0?i:n.d2l(i,0,r)};Jg.handlePick=function(e){if(e.object===this.surface){var t=(e.data.index[0]-1)/this.dataScaleX-1,r=(e.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(t),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);e.index=[n,i],e.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],e.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){var o=e.dataCoordinate[a];o!=null&&(e.dataCoordinate[a]*=this.scene.dataScale[a])}var s=this.data.hovertext||this.data.text;return WE(s)&&s[i]&&s[i][n]!==void 0?e.textLabel=s[i][n]:s?e.textLabel=s:e.textLabel=\"\",e.data.dataCoordinate=e.dataCoordinate.slice(),this.surface.highlight(e.data),this.scene.glplot.spikes.position=e.dataCoordinate,!0}};function _It(e){var t=e[0].rgb,r=e[e.length-1].rgb;return t[0]===r[0]&&t[1]===r[1]&&t[2]===r[2]&&t[3]===r[3]}var N5=[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 xIt(e,t){if(e<t)return 0;for(var r=0;Math.floor(e%t)===0;)e/=t,r++;return r}function LZ(e){for(var t=[],r=0;r<N5.length;r++){var n=N5[r];t.push(xIt(e,n))}return t}function bIt(e){for(var t=LZ(e),r=e,n=0;n<N5.length;n++)if(t[n]>0){r=N5[n];break}return r}function wIt(e,t){if(!(e<1||t<1)){for(var r=LZ(e),n=LZ(t),i=1,a=0;a<N5.length;a++)i*=Math.pow(N5[a],Math.max(r[a],n[a]));return i}}function TIt(e){if(e.length!==0){for(var t=1,r=0;r<e.length;r++)t=wIt(t,e[r]);return t}}Jg.calcXnums=function(e){var t,r=[];for(t=1;t<e;t++){var n=this.getXat(t-1,0),i=this.getXat(t,0);i!==n&&n!==void 0&&n!==null&&i!==void 0&&i!==null?r[t-1]=Math.abs(i-n):r[t-1]=0}var a=0;for(t=1;t<e;t++)a+=r[t-1];for(t=1;t<e;t++)r[t-1]===0?r[t-1]=1:r[t-1]=Math.round(a/r[t-1]);return r};Jg.calcYnums=function(e){var t,r=[];for(t=1;t<e;t++){var n=this.getYat(0,t-1),i=this.getYat(0,t);i!==n&&n!==void 0&&n!==null&&i!==void 0&&i!==null?r[t-1]=Math.abs(i-n):r[t-1]=0}var a=0;for(t=1;t<e;t++)a+=r[t-1];for(t=1;t<e;t++)r[t-1]===0?r[t-1]=1:r[t-1]=Math.round(a/r[t-1]);return r};var WPe=[1,2,4,6,12,24,36,48,60,120,180,240,360,720,840,1260],GPe=WPe[9],QD=WPe[13];Jg.estimateScale=function(e,t){for(var r=t===0?this.calcXnums(e):this.calcYnums(e),n=1+TIt(r);n<GPe;)n*=2;for(;n>QD;)n--,n/=bIt(n),n++,n<GPe&&(n=QD);var i=Math.round(n/e);return i>1?i:1};function AIt(e,t,r){var n=r[8]+r[2]*t[0]+r[5]*t[1];return e[0]=(r[6]+r[0]*t[0]+r[3]*t[1])/n,e[1]=(r[7]+r[1]*t[0]+r[4]*t[1])/n,e}function SIt(e,t,r){return MIt(e,t,AIt,r),e}function MIt(e,t,r,n){for(var i=[0,0],a=e.shape[0],o=e.shape[1],s=0;s<a;s++)for(var l=0;l<o;l++)r(i,[s,l],n),e.set(s,l,vIt(t,i[0],i[1]));return e}Jg.refineCoords=function(e){for(var t=this.dataScaleX,r=this.dataScaleY,n=e[0].shape[0],i=e[0].shape[1],a=Math.floor(e[0].shape[0]*t+1)|0,o=Math.floor(e[0].shape[1]*r+1)|0,s=1+n+1,l=1+i+1,u=B5(new Float32Array(s*l),[s,l]),c=[1/t,0,0,0,1/r,0,0,0,1],f=0;f<e.length;++f){this.surface.padField(u,e[f]);var h=B5(new Float32Array(a*o),[a,o]);SIt(h,u,c),e[f]=h}};function EIt(e,t){for(var r=!1,n=0;n<e.length;n++)if(t===e[n]){r=!0;break}r===!1&&e.push(t)}Jg.setContourLevels=function(){var e=[[],[],[]],t=[!1,!1,!1],r=!1,n,i,a;for(n=0;n<3;++n)if(this.showContour[n]&&(r=!0,this.contourSize[n]>0&&this.contourStart[n]!==null&&this.contourEnd[n]!==null&&this.contourEnd[n]>this.contourStart[n]))for(t[n]=!0,i=this.contourStart[n];i<this.contourEnd[n];i+=this.contourSize[n])a=i*this.scene.dataScale[n],EIt(e[n],a);if(r){var o=[[],[],[]];for(n=0;n<3;++n)this.showContour[n]&&(o[n]=t[n]?e[n]:this.scene.contourLevels[n]);this.surface.update({levels:o})}};Jg.update=function(e){var t=this.scene,r=t.fullSceneLayout,n=this.surface,i=mIt(e),a=t.dataScale,o=e.z[0].length,s=e._ylength,l=t.contourLevels;this.data=e;var u,c,f,h,d=[];for(u=0;u<3;u++)for(d[u]=[],c=0;c<o;c++)d[u][c]=[];for(c=0;c<o;c++)for(f=0;f<s;f++)d[0][c][f]=this.getXat(c,f,e.xcalendar,r.xaxis),d[1][c][f]=this.getYat(c,f,e.ycalendar,r.yaxis),d[2][c][f]=this.getZat(c,f,e.zcalendar,r.zaxis);if(e.connectgaps)for(e._emptypoints=gIt(d[2]),pIt(d[2],e._emptypoints),e._interpolatedZ=[],c=0;c<o;c++)for(e._interpolatedZ[c]=[],f=0;f<s;f++)e._interpolatedZ[c][f]=d[2][c][f];for(u=0;u<3;u++)for(c=0;c<o;c++)for(f=0;f<s;f++)h=d[u][c][f],h==null?d[u][c][f]=NaN:h=d[u][c][f]*=a[u];for(u=0;u<3;u++)for(c=0;c<o;c++)for(f=0;f<s;f++)h=d[u][c][f],h!=null&&(this.minValues[u]>h&&(this.minValues[u]=h),this.maxValues[u]<h&&(this.maxValues[u]=h));for(u=0;u<3;u++)this.objectOffset[u]=.5*(this.minValues[u]+this.maxValues[u]);for(u=0;u<3;u++)for(c=0;c<o;c++)for(f=0;f<s;f++)h=d[u][c][f],h!=null&&(d[u][c][f]-=this.objectOffset[u]);var v=[B5(new Float32Array(o*s),[o,s]),B5(new Float32Array(o*s),[o,s]),B5(new Float32Array(o*s),[o,s])];for(u=0;u<3;u++)for(c=0;c<o;c++)for(f=0;f<s;f++)v[u].set(c,f,d[u][c][f]);d=[];var x={colormap:i,levels:[[],[],[]],showContour:[!0,!0,!0],showSurface:!e.hidesurface,contourProject:[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],contourWidth:[1,1,1],contourColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],contourTint:[1,1,1],dynamicColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],dynamicWidth:[1,1,1],dynamicTint:[1,1,1],opacityscale:e.opacityscale,opacity:e.opacity},b=yIt(e);if(x.intensityBounds=[b.min,b.max],e.surfacecolor){var p=B5(new Float32Array(o*s),[o,s]);for(c=0;c<o;c++)for(f=0;f<s;f++)p.set(c,f,e.surfacecolor[f][c]);v.push(p)}else x.intensityBounds[0]*=a[2],x.intensityBounds[1]*=a[2];(QD<v[0].shape[0]||QD<v[0].shape[1])&&(this.refineData=!1),this.refineData===!0&&(this.dataScaleX=this.estimateScale(v[0].shape[0],0),this.dataScaleY=this.estimateScale(v[0].shape[1],1),(this.dataScaleX!==1||this.dataScaleY!==1)&&this.refineCoords(v)),e.surfacecolor&&(x.intensity=v.pop());var E=[!0,!0,!0],k=[\"x\",\"y\",\"z\"];for(u=0;u<3;++u){var A=e.contours[k[u]];E[u]=A.highlight,x.showContour[u]=A.show||A.highlight,x.showContour[u]&&(x.contourProject[u]=[A.project.x,A.project.y,A.project.z],A.show?(this.showContour[u]=!0,x.levels[u]=l[u],n.highlightColor[u]=x.contourColor[u]=HPe(A.color),A.usecolormap?n.highlightTint[u]=x.contourTint[u]=0:n.highlightTint[u]=x.contourTint[u]=1,x.contourWidth[u]=A.width,this.contourStart[u]=A.start,this.contourEnd[u]=A.end,this.contourSize[u]=A.size):(this.showContour[u]=!1,this.contourStart[u]=null,this.contourEnd[u]=null,this.contourSize[u]=0),A.highlight&&(x.dynamicColor[u]=HPe(A.highlightcolor),x.dynamicWidth[u]=A.highlightwidth))}_It(i)&&(x.vertexColor=!0),x.objectOffset=this.objectOffset,x.coords=v,n.update(x),n.visible=e.visible,n.enableDynamic=E,n.enableHighlight=E,n.snapToData=!0,\"lighting\"in e&&(n.ambientLight=e.lighting.ambient,n.diffuseLight=e.lighting.diffuse,n.specularLight=e.lighting.specular,n.roughness=e.lighting.roughness,n.fresnel=e.lighting.fresnel),\"lightposition\"in e&&(n.lightPosition=[e.lightposition.x,e.lightposition.y,e.lightposition.z])};Jg.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()};function kIt(e,t){var r=e.glplot.gl,n=dIt({gl:r}),i=new jPe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}ZPe.exports=kIt});var KPe=ye((qvr,YPe)=>{\"use strict\";YPe.exports={attributes:jE(),supplyDefaults:CZ().supplyDefaults,colorbar:{min:\"cmin\",max:\"cmax\"},calc:VPe(),plot:XPe(),moduleType:\"trace\",name:\"surface\",basePlotModule:Q_(),categories:[\"gl3d\",\"2dMap\",\"showLegend\"],meta:{}}});var $Pe=ye((Ovr,JPe)=>{\"use strict\";JPe.exports=KPe()});var U5=ye((Bvr,eIe)=>{\"use strict\";var CIt=Jl(),PZ=Oc().axisHoverFormat,LIt=Wo().hovertemplateAttrs,ex=jE(),QPe=vl(),tx=no().extendFlat;eIe.exports=tx({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:LIt({editType:\"calc\"}),xhoverformat:PZ(\"x\"),yhoverformat:PZ(\"y\"),zhoverformat:PZ(\"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\"}},CIt(\"\",{colorAttr:\"`intensity`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:ex.opacity,flatshading:{valType:\"boolean\",dflt:!1,editType:\"calc\"},contour:{show:tx({},ex.contours.x.show,{}),color:ex.contours.x.color,width:ex.contours.x.width,editType:\"calc\"},lightposition:{x:tx({},ex.lightposition.x,{dflt:1e5}),y:tx({},ex.lightposition.y,{dflt:1e5}),z:tx({},ex.lightposition.z,{dflt:0}),editType:\"calc\"},lighting:tx({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\"},ex.lighting),hoverinfo:tx({},QPe.hoverinfo,{editType:\"calc\"}),showlegend:tx({},QPe.showlegend,{dflt:!1})})});var tz=ye((Nvr,rIe)=>{\"use strict\";var PIt=Jl(),ez=Oc().axisHoverFormat,IIt=Wo().hovertemplateAttrs,ZE=U5(),tIe=vl(),IZ=no().extendFlat,RIt=Bu().overrideAll;function RZ(e){return{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}}}function DZ(e){return{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}}}var V5=rIe.exports=RIt(IZ({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:RZ(\"x\"),y:RZ(\"y\"),z:RZ(\"z\")},caps:{x:DZ(\"x\"),y:DZ(\"y\"),z:DZ(\"z\")},text:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertemplate:IIt(),xhoverformat:ez(\"x\"),yhoverformat:ez(\"y\"),zhoverformat:ez(\"z\"),valuehoverformat:ez(\"value\",1),showlegend:IZ({},tIe.showlegend,{dflt:!1})},PIt(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:ZE.opacity,lightposition:ZE.lightposition,lighting:ZE.lighting,flatshading:ZE.flatshading,contour:ZE.contour,hoverinfo:IZ({},tIe.hoverinfo)}),\"calc\",\"nested\");V5.flatshading.dflt=!0;V5.lighting.facenormalsepsilon.dflt=0;V5.x.editType=V5.y.editType=V5.z.editType=V5.value.editType=\"calc+clearAxisTypes\"});var zZ=ye((Uvr,nIe)=>{\"use strict\";var DIt=Mr(),zIt=ba(),FIt=tz(),qIt=Uh();function OIt(e,t,r,n){function i(a,o){return DIt.coerce(e,t,FIt,a,o)}iIe(e,t,r,n,i)}function iIe(e,t,r,n,i){var a=i(\"isomin\"),o=i(\"isomax\");o!=null&&a!==void 0&&a!==null&&a>o&&(t.isomin=null,t.isomax=null);var s=i(\"x\"),l=i(\"y\"),u=i(\"z\"),c=i(\"value\");if(!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length){t.visible=!1;return}var f=zIt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");f(e,t,[\"x\",\"y\",\"z\"],n),i(\"valuehoverformat\"),[\"x\",\"y\",\"z\"].forEach(function(x){i(x+\"hoverformat\");var b=\"caps.\"+x,p=i(b+\".show\");p&&i(b+\".fill\");var E=\"slices.\"+x,k=i(E+\".show\");k&&(i(E+\".fill\"),i(E+\".locations\"))});var h=i(\"spaceframe.show\");h&&i(\"spaceframe.fill\");var d=i(\"surface.show\");d&&(i(\"surface.count\"),i(\"surface.fill\"),i(\"surface.pattern\"));var v=i(\"contour.show\");v&&(i(\"contour.color\"),i(\"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(x){i(x)}),qIt(e,t,n,i,{prefix:\"\",cLetter:\"c\"}),t._length=null}nIe.exports={supplyDefaults:OIt,supplyIsoDefaults:iIe}});var rz=ye((Vvr,oIe)=>{\"use strict\";var qZ=Mr(),BIt=zv();function NIt(e,t){t._len=Math.min(t.u.length,t.v.length,t.w.length,t.x.length,t.y.length,t.z.length),t._u=Gm(t.u,t._len),t._v=Gm(t.v,t._len),t._w=Gm(t.w,t._len),t._x=Gm(t.x,t._len),t._y=Gm(t.y,t._len),t._z=Gm(t.z,t._len);var r=aIe(t);t._gridFill=r.fill,t._Xs=r.Xs,t._Ys=r.Ys,t._Zs=r.Zs,t._len=r.len;var n=0,i,a,o;t.starts&&(i=Gm(t.starts.x||[]),a=Gm(t.starts.y||[]),o=Gm(t.starts.z||[]),n=Math.min(i.length,a.length,o.length)),t._startsX=i||[],t._startsY=a||[],t._startsZ=o||[];var s=0,l=1/0,u;for(u=0;u<t._len;u++){var c=t._u[u],f=t._v[u],h=t._w[u],d=Math.sqrt(c*c+f*f+h*h);s=Math.max(s,d),l=Math.min(l,d)}for(BIt(e,t,{vals:[l,s],containerStr:\"\",cLetter:\"c\"}),u=0;u<n;u++){var v=i[u];r.xMax=Math.max(r.xMax,v),r.xMin=Math.min(r.xMin,v);var x=a[u];r.yMax=Math.max(r.yMax,x),r.yMin=Math.min(r.yMin,x);var b=o[u];r.zMax=Math.max(r.zMax,b),r.zMin=Math.min(r.zMin,b)}t._slen=n,t._normMax=s,t._xbnds=[r.xMin,r.xMax],t._ybnds=[r.yMin,r.yMax],t._zbnds=[r.zMin,r.zMax]}function aIe(e){var t=e._x,r=e._y,n=e._z,i=e._len,a,o,s,l=-1/0,u=1/0,c=-1/0,f=1/0,h=-1/0,d=1/0,v=\"\",x,b,p,E,k,A,L,_,C;for(i&&(E=t[0],A=r[0],_=n[0]),i>1&&(k=t[i-1],L=r[i-1],C=n[i-1]),a=0;a<i;a++)l=Math.max(l,t[a]),u=Math.min(u,t[a]),c=Math.max(c,r[a]),f=Math.min(f,r[a]),h=Math.max(h,n[a]),d=Math.min(d,n[a]),!x&&t[a]!==E&&(x=!0,v+=\"x\"),!b&&r[a]!==A&&(b=!0,v+=\"y\"),!p&&n[a]!==_&&(p=!0,v+=\"z\");x||(v+=\"x\"),b||(v+=\"y\"),p||(v+=\"z\");var M=FZ(e._x),g=FZ(e._y),P=FZ(e._z);v=v.replace(\"x\",(E>k?\"-\":\"+\")+\"x\"),v=v.replace(\"y\",(A>L?\"-\":\"+\")+\"y\"),v=v.replace(\"z\",(_>C?\"-\":\"+\")+\"z\");var T=function(){i=0,M=[],g=[],P=[]};(!i||i<M.length*g.length*P.length)&&T();var F=function(ze){return ze===\"x\"?t:ze===\"y\"?r:n},q=function(ze){return ze===\"x\"?M:ze===\"y\"?g:P},V=function(ze){return ze[i-1]<ze[0]?-1:1},H=F(v[1]),X=F(v[3]),G=F(v[5]),N=q(v[1]).length,W=q(v[3]).length,re=q(v[5]).length,ae=!1,_e=function(ze,Ce,me){return N*(W*ze+Ce)+me},Me=V(F(v[1])),ke=V(F(v[3])),ge=V(F(v[5]));for(a=0;a<re-1;a++){for(o=0;o<W-1;o++){for(s=0;s<N-1;s++){var ie=_e(a,o,s),Te=_e(a,o,s+1),Ee=_e(a,o+1,s),Ae=_e(a+1,o,s);if((!(H[ie]*Me<H[Te]*Me)||!(X[ie]*ke<X[Ee]*ke)||!(G[ie]*ge<G[Ae]*ge))&&(ae=!0),ae)break}if(ae)break}if(ae)break}return ae&&(qZ.warn(\"Encountered arbitrary coordinates! Unable to input data grid.\"),T()),{xMin:u,yMin:f,zMin:d,xMax:l,yMax:c,zMax:h,Xs:M,Ys:g,Zs:P,len:i,fill:v}}function FZ(e){return qZ.distinctVals(e).vals}function Gm(e,t){if(t===void 0&&(t=e.length),qZ.isTypedArray(e))return e.subarray(0,t);for(var r=[],n=0;n<t;n++)r[n]=+e[n];return r}oIe.exports={calc:NIt,filter:Gm,processGrid:aIe}});var OZ=ye((Hvr,sIe)=>{\"use strict\";var UIt=zv(),VIt=rz().processGrid,iz=rz().filter;sIe.exports=function(t,r){r._len=Math.min(r.x.length,r.y.length,r.z.length,r.value.length),r._x=iz(r.x,r._len),r._y=iz(r.y,r._len),r._z=iz(r.z,r._len),r._value=iz(r.value,r._len);var n=VIt(r);r._gridFill=n.fill,r._Xs=n.Xs,r._Ys=n.Ys,r._Zs=n.Zs,r._len=n.len;for(var i=1/0,a=-1/0,o=0;o<r._len;o++){var s=r._value[o];i=Math.min(i,s),a=Math.max(a,s)}r._minValues=i,r._maxValues=a,r._vMin=r.isomin===void 0||r.isomin===null?i:r.isomin,r._vMax=r.isomax===void 0||r.isomax===null?a:r.isomax,UIt(t,r,{vals:[r._vMin,r._vMax],containerStr:\"\",cLetter:\"c\"})}});var H5=ye((Gvr,lIe)=>{\"use strict\";lIe.exports=function(t,r,n,i){i=i||t.length;for(var a=new Array(i),o=0;o<i;o++)a[o]=[t[o],r[o],n[o]];return a}});var nz=ye((jvr,hIe)=>{\"use strict\";var HIt=Rd().gl_mesh3d,GIt=$y().parseColorScale,jIt=Mr().isArrayOrTypedArray,WIt=Jy(),ZIt=Mu().extractOpts,uIe=H5(),XE=function(e,t){for(var r=t.length-1;r>0;r--){var n=Math.min(t[r],t[r-1]),i=Math.max(t[r],t[r-1]);if(i>n&&n<e&&e<=i)return{id:r,distRatio:(i-e)/(i-n)}}return{id:0,distRatio:0}};function cIe(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name=\"\",this.data=null,this.showContour=!1}var BZ=cIe.prototype;BZ.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],i=this.data._meshZ[t],a=this.data._Ys.length,o=this.data._Zs.length,s=XE(r,this.data._Xs).id,l=XE(n,this.data._Ys).id,u=XE(i,this.data._Zs).id,c=e.index=u+o*l+o*a*s;e.traceCoordinate=[this.data._meshX[c],this.data._meshY[c],this.data._meshZ[c],this.data._value[c]];var f=this.data.hovertext||this.data.text;return jIt(f)&&f[c]!==void 0?e.textLabel=f[c]:f&&(e.textLabel=f),!0}};BZ.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=fIe(e);function n(l,u,c,f){return u.map(function(h){return l.d2l(h,0,f)*c})}var i=uIe(n(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),n(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),n(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),a=uIe(e._meshI,e._meshJ,e._meshK),o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,contourEnable:e.contour.show,contourColor:WIt(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},s=ZIt(e);o.vertexIntensity=e._meshIntensity,o.vertexIntensityBounds=[s.min,s.max],o.colormap=GIt(e),this.mesh.update(o)};BZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};var XIt=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"];function fIe(e){e._meshI=[],e._meshJ=[],e._meshK=[];var t=e.surface.show,r=e.spaceframe.show,n=e.surface.fill,i=e.spaceframe.fill,a=!1,o=!1,s=0,l,u,c=e._Xs,f=e._Ys,h=e._Zs,d=c.length,v=f.length,x=h.length,b=XIt.indexOf(e._gridFill.replace(/-/g,\"\").replace(/\\+/g,\"\")),p=function(bt,Lt,St){switch(b){case 5:return St+x*Lt+x*v*bt;case 4:return St+x*bt+x*d*Lt;case 3:return Lt+v*St+v*x*bt;case 2:return Lt+v*bt+v*d*St;case 1:return bt+d*St+d*x*Lt;default:return bt+d*Lt+d*v*St}},E=e._minValues,k=e._maxValues,A=e._vMin,L=e._vMax,_,C,M,g;function P(bt,Lt,St){for(var Et=g.length,dt=u;dt<Et;dt++)if(bt===_[dt]&&Lt===C[dt]&&St===M[dt])return dt;return-1}function T(){u=l}function F(){_=[],C=[],M=[],g=[],l=0,T()}function q(bt,Lt,St,Et){return _.push(bt),C.push(Lt),M.push(St),g.push(Et),l++,l-1}function V(bt,Lt,St){return e._meshI.push(bt),e._meshJ.push(Lt),e._meshK.push(St),s++,s-1}function H(bt,Lt,St){for(var Et=[],dt=0;dt<bt.length;dt++)Et[dt]=(bt[dt]+Lt[dt]+St[dt])/3;return Et}function X(bt,Lt,St){for(var Et=[],dt=0;dt<bt.length;dt++)Et[dt]=bt[dt]*(1-St)+St*Lt[dt];return Et}var G;function N(bt){G=bt}function W(bt,Lt){var St=bt[0],Et=bt[1],dt=bt[2],Ht=H(St,Et,dt),$t=Math.sqrt(1-G),fr=X(Ht,St,$t),_r=X(Ht,Et,$t),Br=X(Ht,dt,$t),Or=Lt[0],Nr=Lt[1],ut=Lt[2];return{xyzv:[[St,Et,_r],[_r,fr,St],[Et,dt,Br],[Br,_r,Et],[dt,St,fr],[fr,Br,dt]],abc:[[Or,Nr,-1],[-1,-1,Or],[Nr,ut,-1],[-1,-1,Nr],[ut,Or,-1],[-1,-1,ut]]}}function re(bt,Lt){return bt===\"all\"||bt===null?!0:bt.indexOf(Lt)>-1}function ae(bt,Lt){return bt===null?Lt:bt}function _e(bt,Lt,St){T();var Et=[Lt],dt=[St];if(G>=1)Et=[Lt],dt=[St];else if(G>0){var Ht=W(Lt,St);Et=Ht.xyzv,dt=Ht.abc}for(var $t=0;$t<Et.length;$t++){Lt=Et[$t],St=dt[$t];for(var fr=[],_r=0;_r<3;_r++){var Br=Lt[_r][0],Or=Lt[_r][1],Nr=Lt[_r][2],ut=Lt[_r][3],Ne=St[_r]>-1?St[_r]:P(Br,Or,Nr);Ne>-1?fr[_r]=Ne:fr[_r]=q(Br,Or,Nr,ae(bt,ut))}V(fr[0],fr[1],fr[2])}}function Me(bt,Lt,St){var Et=function(dt,Ht,$t){_e(bt,[Lt[dt],Lt[Ht],Lt[$t]],[St[dt],St[Ht],St[$t]])};Et(0,1,2),Et(2,3,0)}function ke(bt,Lt,St){var Et=function(dt,Ht,$t){_e(bt,[Lt[dt],Lt[Ht],Lt[$t]],[St[dt],St[Ht],St[$t]])};Et(0,1,2),Et(3,0,1),Et(2,3,0),Et(1,2,3)}function ge(bt,Lt,St,Et){var dt=bt[3];dt<St&&(dt=St),dt>Et&&(dt=Et);for(var Ht=(bt[3]-dt)/(bt[3]-Lt[3]+1e-9),$t=[],fr=0;fr<4;fr++)$t[fr]=(1-Ht)*bt[fr]+Ht*Lt[fr];return $t}function ie(bt,Lt,St){return bt>=Lt&&bt<=St}function Te(bt){var Lt=.001*(L-A);return bt>=A-Lt&&bt<=L+Lt}function Ee(bt){for(var Lt=[],St=0;St<4;St++){var Et=bt[St];Lt.push([e._x[Et],e._y[Et],e._z[Et],e._value[Et]])}return Lt}var Ae=3;function ze(bt,Lt,St,Et,dt,Ht){Ht||(Ht=1),St=[-1,-1,-1];var $t=!1,fr=[ie(Lt[0][3],Et,dt),ie(Lt[1][3],Et,dt),ie(Lt[2][3],Et,dt)];if(!fr[0]&&!fr[1]&&!fr[2])return!1;var _r=function(Or,Nr,ut){return Te(Nr[0][3])&&Te(Nr[1][3])&&Te(Nr[2][3])?(_e(Or,Nr,ut),!0):Ht<Ae?ze(Or,Nr,ut,A,L,++Ht):!1};if(fr[0]&&fr[1]&&fr[2])return _r(bt,Lt,St)||$t;var Br=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach(function(Or){if(fr[Or[0]]&&fr[Or[1]]&&!fr[Or[2]]){var Nr=Lt[Or[0]],ut=Lt[Or[1]],Ne=Lt[Or[2]],Ye=ge(Ne,Nr,Et,dt),Ve=ge(Ne,ut,Et,dt);$t=_r(bt,[Ve,Ye,Nr],[-1,-1,St[Or[0]]])||$t,$t=_r(bt,[Nr,ut,Ve],[St[Or[0]],St[Or[1]],-1])||$t,Br=!0}}),Br||[[0,1,2],[1,2,0],[2,0,1]].forEach(function(Or){if(fr[Or[0]]&&!fr[Or[1]]&&!fr[Or[2]]){var Nr=Lt[Or[0]],ut=Lt[Or[1]],Ne=Lt[Or[2]],Ye=ge(ut,Nr,Et,dt),Ve=ge(Ne,Nr,Et,dt);$t=_r(bt,[Ve,Ye,Nr],[-1,-1,St[Or[0]]])||$t,Br=!0}}),$t}function Ce(bt,Lt,St,Et){var dt=!1,Ht=Ee(Lt),$t=[ie(Ht[0][3],St,Et),ie(Ht[1][3],St,Et),ie(Ht[2][3],St,Et),ie(Ht[3][3],St,Et)];if(!$t[0]&&!$t[1]&&!$t[2]&&!$t[3])return dt;if($t[0]&&$t[1]&&$t[2]&&$t[3])return o&&(dt=ke(bt,Ht,Lt)||dt),dt;var fr=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach(function(_r){if($t[_r[0]]&&$t[_r[1]]&&$t[_r[2]]&&!$t[_r[3]]){var Br=Ht[_r[0]],Or=Ht[_r[1]],Nr=Ht[_r[2]],ut=Ht[_r[3]];if(o)dt=_e(bt,[Br,Or,Nr],[Lt[_r[0]],Lt[_r[1]],Lt[_r[2]]])||dt;else{var Ne=ge(ut,Br,St,Et),Ye=ge(ut,Or,St,Et),Ve=ge(ut,Nr,St,Et);dt=_e(null,[Ne,Ye,Ve],[-1,-1,-1])||dt}fr=!0}}),fr||([[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(_r){if($t[_r[0]]&&$t[_r[1]]&&!$t[_r[2]]&&!$t[_r[3]]){var Br=Ht[_r[0]],Or=Ht[_r[1]],Nr=Ht[_r[2]],ut=Ht[_r[3]],Ne=ge(Nr,Br,St,Et),Ye=ge(Nr,Or,St,Et),Ve=ge(ut,Or,St,Et),Xe=ge(ut,Br,St,Et);o?(dt=_e(bt,[Br,Xe,Ne],[Lt[_r[0]],-1,-1])||dt,dt=_e(bt,[Or,Ye,Ve],[Lt[_r[1]],-1,-1])||dt):dt=Me(null,[Ne,Ye,Ve,Xe],[-1,-1,-1,-1])||dt,fr=!0}}),fr)||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach(function(_r){if($t[_r[0]]&&!$t[_r[1]]&&!$t[_r[2]]&&!$t[_r[3]]){var Br=Ht[_r[0]],Or=Ht[_r[1]],Nr=Ht[_r[2]],ut=Ht[_r[3]],Ne=ge(Or,Br,St,Et),Ye=ge(Nr,Br,St,Et),Ve=ge(ut,Br,St,Et);o?(dt=_e(bt,[Br,Ne,Ye],[Lt[_r[0]],-1,-1])||dt,dt=_e(bt,[Br,Ye,Ve],[Lt[_r[0]],-1,-1])||dt,dt=_e(bt,[Br,Ve,Ne],[Lt[_r[0]],-1,-1])||dt):dt=_e(null,[Ne,Ye,Ve],[-1,-1,-1])||dt,fr=!0}}),dt}function me(bt,Lt,St,Et,dt,Ht,$t,fr,_r,Br,Or){var Nr=!1;return a&&(re(bt,\"A\")&&(Nr=Ce(null,[Lt,St,Et,Ht],Br,Or)||Nr),re(bt,\"B\")&&(Nr=Ce(null,[St,Et,dt,_r],Br,Or)||Nr),re(bt,\"C\")&&(Nr=Ce(null,[St,Ht,$t,_r],Br,Or)||Nr),re(bt,\"D\")&&(Nr=Ce(null,[Et,Ht,fr,_r],Br,Or)||Nr),re(bt,\"E\")&&(Nr=Ce(null,[St,Et,Ht,_r],Br,Or)||Nr)),o&&(Nr=Ce(bt,[St,Et,Ht,_r],Br,Or)||Nr),Nr}function Re(bt,Lt,St,Et,dt,Ht,$t,fr){return[fr[0]===!0?!0:ze(bt,Ee([Lt,St,Et]),[Lt,St,Et],Ht,$t),fr[1]===!0?!0:ze(bt,Ee([Et,dt,Lt]),[Et,dt,Lt],Ht,$t)]}function ce(bt,Lt,St,Et,dt,Ht,$t,fr,_r){return fr?Re(bt,Lt,St,dt,Et,Ht,$t,_r):Re(bt,St,dt,Et,Lt,Ht,$t,_r)}function Ge(bt,Lt,St,Et,dt,Ht,$t){var fr=!1,_r,Br,Or,Nr,ut=function(){fr=ze(bt,[_r,Br,Or],[-1,-1,-1],dt,Ht)||fr,fr=ze(bt,[Or,Nr,_r],[-1,-1,-1],dt,Ht)||fr},Ne=$t[0],Ye=$t[1],Ve=$t[2];return Ne&&(_r=X(Ee([p(Lt,St-0,Et-0)])[0],Ee([p(Lt-1,St-0,Et-0)])[0],Ne),Br=X(Ee([p(Lt,St-0,Et-1)])[0],Ee([p(Lt-1,St-0,Et-1)])[0],Ne),Or=X(Ee([p(Lt,St-1,Et-1)])[0],Ee([p(Lt-1,St-1,Et-1)])[0],Ne),Nr=X(Ee([p(Lt,St-1,Et-0)])[0],Ee([p(Lt-1,St-1,Et-0)])[0],Ne),ut()),Ye&&(_r=X(Ee([p(Lt-0,St,Et-0)])[0],Ee([p(Lt-0,St-1,Et-0)])[0],Ye),Br=X(Ee([p(Lt-0,St,Et-1)])[0],Ee([p(Lt-0,St-1,Et-1)])[0],Ye),Or=X(Ee([p(Lt-1,St,Et-1)])[0],Ee([p(Lt-1,St-1,Et-1)])[0],Ye),Nr=X(Ee([p(Lt-1,St,Et-0)])[0],Ee([p(Lt-1,St-1,Et-0)])[0],Ye),ut()),Ve&&(_r=X(Ee([p(Lt-0,St-0,Et)])[0],Ee([p(Lt-0,St-0,Et-1)])[0],Ve),Br=X(Ee([p(Lt-0,St-1,Et)])[0],Ee([p(Lt-0,St-1,Et-1)])[0],Ve),Or=X(Ee([p(Lt-1,St-1,Et)])[0],Ee([p(Lt-1,St-1,Et-1)])[0],Ve),Nr=X(Ee([p(Lt-1,St-0,Et)])[0],Ee([p(Lt-1,St-0,Et-1)])[0],Ve),ut()),fr}function nt(bt,Lt,St,Et,dt,Ht,$t,fr,_r,Br,Or,Nr){var ut=bt;return Nr?(a&&bt===\"even\"&&(ut=null),me(ut,Lt,St,Et,dt,Ht,$t,fr,_r,Br,Or)):(a&&bt===\"odd\"&&(ut=null),me(ut,_r,fr,$t,Ht,dt,Et,St,Lt,Br,Or))}function ct(bt,Lt,St,Et,dt){for(var Ht=[],$t=0,fr=0;fr<Lt.length;fr++)for(var _r=Lt[fr],Br=1;Br<x;Br++)for(var Or=1;Or<v;Or++)Ht.push(ce(bt,p(_r,Or-1,Br-1),p(_r,Or-1,Br),p(_r,Or,Br-1),p(_r,Or,Br),St,Et,(_r+Or+Br)%2,dt&&dt[$t]?dt[$t]:[])),$t++;return Ht}function qt(bt,Lt,St,Et,dt){for(var Ht=[],$t=0,fr=0;fr<Lt.length;fr++)for(var _r=Lt[fr],Br=1;Br<d;Br++)for(var Or=1;Or<x;Or++)Ht.push(ce(bt,p(Br-1,_r,Or-1),p(Br,_r,Or-1),p(Br-1,_r,Or),p(Br,_r,Or),St,Et,(Br+_r+Or)%2,dt&&dt[$t]?dt[$t]:[])),$t++;return Ht}function rt(bt,Lt,St,Et,dt){for(var Ht=[],$t=0,fr=0;fr<Lt.length;fr++)for(var _r=Lt[fr],Br=1;Br<v;Br++)for(var Or=1;Or<d;Or++)Ht.push(ce(bt,p(Or-1,Br-1,_r),p(Or-1,Br,_r),p(Or,Br-1,_r),p(Or,Br,_r),St,Et,(Or+Br+_r)%2,dt&&dt[$t]?dt[$t]:[])),$t++;return Ht}function ot(bt,Lt,St){for(var Et=1;Et<x;Et++)for(var dt=1;dt<v;dt++)for(var Ht=1;Ht<d;Ht++)nt(bt,p(Ht-1,dt-1,Et-1),p(Ht-1,dt-1,Et),p(Ht-1,dt,Et-1),p(Ht-1,dt,Et),p(Ht,dt-1,Et-1),p(Ht,dt-1,Et),p(Ht,dt,Et-1),p(Ht,dt,Et),Lt,St,(Ht+dt+Et)%2)}function Rt(bt,Lt,St){o=!0,ot(bt,Lt,St),o=!1}function kt(bt,Lt,St){a=!0,ot(bt,Lt,St),a=!1}function Ct(bt,Lt,St,Et,dt,Ht){for(var $t=[],fr=0,_r=0;_r<Lt.length;_r++)for(var Br=Lt[_r],Or=1;Or<x;Or++)for(var Nr=1;Nr<v;Nr++)$t.push(Ge(bt,Br,Nr,Or,St,Et,dt[_r],Ht&&Ht[fr]?Ht[fr]:[])),fr++;return $t}function Yt(bt,Lt,St,Et,dt,Ht){for(var $t=[],fr=0,_r=0;_r<Lt.length;_r++)for(var Br=Lt[_r],Or=1;Or<d;Or++)for(var Nr=1;Nr<x;Nr++)$t.push(Ge(bt,Or,Br,Nr,St,Et,dt[_r],Ht&&Ht[fr]?Ht[fr]:[])),fr++;return $t}function xr(bt,Lt,St,Et,dt,Ht){for(var $t=[],fr=0,_r=0;_r<Lt.length;_r++)for(var Br=Lt[_r],Or=1;Or<v;Or++)for(var Nr=1;Nr<d;Nr++)$t.push(Ge(bt,Nr,Or,Br,St,Et,dt[_r],Ht&&Ht[fr]?Ht[fr]:[])),fr++;return $t}function er(bt,Lt){for(var St=[],Et=bt;Et<Lt;Et++)St.push(Et);return St}function Ke(){for(var bt=0;bt<d;bt++)for(var Lt=0;Lt<v;Lt++)for(var St=0;St<x;St++){var Et=p(bt,Lt,St);q(e._x[Et],e._y[Et],e._z[Et],e._value[Et])}}function xt(){F(),Ke();var bt=null;if(r&&i&&(N(i),Rt(bt,A,L)),t&&n){N(n);for(var Lt=e.surface.pattern,St=e.surface.count,Et=0;Et<St;Et++){var dt=St===1?.5:Et/(St-1),Ht=(1-dt)*A+dt*L,$t=Math.abs(Ht-E),fr=Math.abs(Ht-k),_r=$t>fr?[E,Ht]:[Ht,k];kt(Lt,_r[0],_r[1])}}var Br=[[Math.min(A,k),Math.max(A,k)],[Math.min(E,L),Math.max(E,L)]];[\"x\",\"y\",\"z\"].forEach(function(Or){for(var Nr=[],ut=0;ut<Br.length;ut++){var Ne=0,Ye=Br[ut][0],Ve=Br[ut][1],Xe=e.slices[Or];if(Xe.show&&Xe.fill){N(Xe.fill);var ht=[],Le=[],xe=[];if(Xe.locations.length)for(var Se=0;Se<Xe.locations.length;Se++){var lt=XE(Xe.locations[Se],Or===\"x\"?c:Or===\"y\"?f:h);lt.distRatio===0?ht.push(lt.id):lt.id>0&&(Le.push(lt.id),Or===\"x\"?xe.push([lt.distRatio,0,0]):Or===\"y\"?xe.push([0,lt.distRatio,0]):xe.push([0,0,lt.distRatio]))}else Or===\"x\"?ht=er(1,d-1):Or===\"y\"?ht=er(1,v-1):ht=er(1,x-1);Le.length>0&&(Or===\"x\"?Nr[Ne]=Ct(bt,Le,Ye,Ve,xe,Nr[Ne]):Or===\"y\"?Nr[Ne]=Yt(bt,Le,Ye,Ve,xe,Nr[Ne]):Nr[Ne]=xr(bt,Le,Ye,Ve,xe,Nr[Ne]),Ne++),ht.length>0&&(Or===\"x\"?Nr[Ne]=ct(bt,ht,Ye,Ve,Nr[Ne]):Or===\"y\"?Nr[Ne]=qt(bt,ht,Ye,Ve,Nr[Ne]):Nr[Ne]=rt(bt,ht,Ye,Ve,Nr[Ne]),Ne++)}var Gt=e.caps[Or];Gt.show&&Gt.fill&&(N(Gt.fill),Or===\"x\"?Nr[Ne]=ct(bt,[0,d-1],Ye,Ve,Nr[Ne]):Or===\"y\"?Nr[Ne]=qt(bt,[0,v-1],Ye,Ve,Nr[Ne]):Nr[Ne]=rt(bt,[0,x-1],Ye,Ve,Nr[Ne]),Ne++)}}),s===0&&F(),e._meshX=_,e._meshY=C,e._meshZ=M,e._meshIntensity=g,e._Xs=c,e._Ys=f,e._Zs=h}return xt(),e}function YIt(e,t){var r=e.glplot.gl,n=HIt({gl:r}),i=new cIe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}hIe.exports={findNearestOnAxis:XE,generateIsoMeshes:fIe,createIsosurfaceTrace:YIt}});var vIe=ye((Wvr,dIe)=>{\"use strict\";dIe.exports={attributes:tz(),supplyDefaults:zZ().supplyDefaults,calc:OZ(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:nz().createIsosurfaceTrace,moduleType:\"trace\",name:\"isosurface\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],meta:{}}});var gIe=ye((Zvr,pIe)=>{\"use strict\";pIe.exports=vIe()});var UZ=ye((Xvr,yIe)=>{\"use strict\";var KIt=Jl(),xh=tz(),JIt=jE(),mIe=vl(),NZ=no().extendFlat,$It=Bu().overrideAll,az=yIe.exports=$It(NZ({x:xh.x,y:xh.y,z:xh.z,value:xh.value,isomin:xh.isomin,isomax:xh.isomax,surface:xh.surface,spaceframe:{show:{valType:\"boolean\",dflt:!1},fill:{valType:\"number\",min:0,max:1,dflt:1}},slices:xh.slices,caps:xh.caps,text:xh.text,hovertext:xh.hovertext,xhoverformat:xh.xhoverformat,yhoverformat:xh.yhoverformat,zhoverformat:xh.zhoverformat,valuehoverformat:xh.valuehoverformat,hovertemplate:xh.hovertemplate},KIt(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{colorbar:xh.colorbar,opacity:xh.opacity,opacityscale:JIt.opacityscale,lightposition:xh.lightposition,lighting:xh.lighting,flatshading:xh.flatshading,contour:xh.contour,hoverinfo:NZ({},mIe.hoverinfo),showlegend:NZ({},mIe.showlegend,{dflt:!1})}),\"calc\",\"nested\");az.x.editType=az.y.editType=az.z.editType=az.value.editType=\"calc+clearAxisTypes\"});var xIe=ye((Yvr,_Ie)=>{\"use strict\";var QIt=Mr(),e8t=UZ(),t8t=zZ().supplyIsoDefaults,r8t=CZ().opacityscaleDefaults;_Ie.exports=function(t,r,n,i){function a(o,s){return QIt.coerce(t,r,e8t,o,s)}t8t(t,r,n,i,a),r8t(t,r,i,a)}});var AIe=ye((Kvr,TIe)=>{\"use strict\";var i8t=Rd().gl_mesh3d,n8t=$y().parseColorScale,a8t=Mr().isArrayOrTypedArray,o8t=Jy(),s8t=Mu().extractOpts,bIe=H5(),VZ=nz().findNearestOnAxis,l8t=nz().generateIsoMeshes;function wIe(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name=\"\",this.data=null,this.showContour=!1}var HZ=wIe.prototype;HZ.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],i=this.data._meshZ[t],a=this.data._Ys.length,o=this.data._Zs.length,s=VZ(r,this.data._Xs).id,l=VZ(n,this.data._Ys).id,u=VZ(i,this.data._Zs).id,c=e.index=u+o*l+o*a*s;e.traceCoordinate=[this.data._meshX[c],this.data._meshY[c],this.data._meshZ[c],this.data._value[c]];var f=this.data.hovertext||this.data.text;return a8t(f)&&f[c]!==void 0?e.textLabel=f[c]:f&&(e.textLabel=f),!0}};HZ.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=l8t(e);function n(l,u,c,f){return u.map(function(h){return l.d2l(h,0,f)*c})}var i=bIe(n(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),n(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),n(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),a=bIe(e._meshI,e._meshJ,e._meshK),o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,opacityscale:e.opacityscale,contourEnable:e.contour.show,contourColor:o8t(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},s=s8t(e);o.vertexIntensity=e._meshIntensity,o.vertexIntensityBounds=[s.min,s.max],o.colormap=n8t(e),this.mesh.update(o)};HZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function u8t(e,t){var r=e.glplot.gl,n=i8t({gl:r}),i=new wIe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}TIe.exports=u8t});var MIe=ye((Jvr,SIe)=>{\"use strict\";SIe.exports={attributes:UZ(),supplyDefaults:xIe(),calc:OZ(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:AIe(),moduleType:\"trace\",name:\"volume\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],meta:{}}});var kIe=ye(($vr,EIe)=>{\"use strict\";EIe.exports=MIe()});var PIe=ye((Qvr,LIe)=>{\"use strict\";var c8t=ba(),CIe=Mr(),f8t=Uh(),h8t=U5();LIe.exports=function(t,r,n,i){function a(c,f){return CIe.coerce(t,r,h8t,c,f)}function o(c){var f=c.map(function(h){var d=a(h);return d&&CIe.isArrayOrTypedArray(d)?d:null});return f.every(function(h){return h&&h.length===f[0].length})&&f}var s=o([\"x\",\"y\",\"z\"]);if(!s){r.visible=!1;return}if(o([\"i\",\"j\",\"k\"]),r.i&&(!r.j||!r.k)||r.j&&(!r.k||!r.i)||r.k&&(!r.i||!r.j)){r.visible=!1;return}var l=c8t.getComponentMethod(\"calendars\",\"handleTraceDefaults\");l(t,r,[\"x\",\"y\",\"z\"],i),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lighting.vertexnormalsepsilon\",\"lighting.facenormalsepsilon\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"flatshading\",\"alphahull\",\"delaunayaxis\",\"opacity\"].forEach(function(c){a(c)});var u=a(\"contour.show\");u&&(a(\"contour.color\"),a(\"contour.width\")),\"intensity\"in t?(a(\"intensity\"),a(\"intensitymode\"),f8t(t,r,i,a,{prefix:\"\",cLetter:\"c\"})):(r.showscale=!1,\"facecolor\"in t?a(\"facecolor\"):\"vertexcolor\"in t?a(\"vertexcolor\"):a(\"color\",n)),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),r._length=null}});var RIe=ye((epr,IIe)=>{\"use strict\";var d8t=zv();IIe.exports=function(t,r){r.intensity&&d8t(t,r,{vals:r.intensity,containerStr:\"\",cLetter:\"c\"})}});var OIe=ye((tpr,qIe)=>{\"use strict\";var v8t=Rd().gl_mesh3d,p8t=Rd().delaunay_triangulate,g8t=Rd().alpha_shape,m8t=Rd().convex_hull,y8t=$y().parseColorScale,_8t=Mr().isArrayOrTypedArray,ZZ=Jy(),x8t=Mu().extractOpts,DIe=H5();function FIe(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name=\"\",this.color=\"#fff\",this.data=null,this.showContour=!1}var XZ=FIe.prototype;XZ.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index;e.data._cellCenter?e.traceCoordinate=e.data.dataCoordinate:e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]];var r=this.data.hovertext||this.data.text;return _8t(r)&&r[t]!==void 0?e.textLabel=r[t]:r&&(e.textLabel=r),!0}};function zIe(e){for(var t=[],r=e.length,n=0;n<r;n++)t[n]=ZZ(e[n]);return t}function GZ(e,t,r,n){for(var i=[],a=t.length,o=0;o<a;o++)i[o]=e.d2l(t[o],0,n)*r;return i}function jZ(e){for(var t=[],r=e.length,n=0;n<r;n++)t[n]=Math.round(e[n]);return t}function b8t(e,t){for(var r=[\"x\",\"y\",\"z\"].indexOf(e),n=[],i=t.length,a=0;a<i;a++)n[a]=[t[a][(r+1)%3],t[a][(r+2)%3]];return p8t(n)}function WZ(e,t){for(var r=e.length,n=0;n<r;n++)if(e[n]<=-.5||e[n]>=t-.5)return!1;return!0}XZ.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=e;var n=e.x.length,i=DIe(GZ(r.xaxis,e.x,t.dataScale[0],e.xcalendar),GZ(r.yaxis,e.y,t.dataScale[1],e.ycalendar),GZ(r.zaxis,e.z,t.dataScale[2],e.zcalendar)),a;if(e.i&&e.j&&e.k){if(e.i.length!==e.j.length||e.j.length!==e.k.length||!WZ(e.i,n)||!WZ(e.j,n)||!WZ(e.k,n))return;a=DIe(jZ(e.i),jZ(e.j),jZ(e.k))}else e.alphahull===0?a=m8t(i):e.alphahull>0?a=g8t(e.alphahull,i):a=b8t(e.delaunayaxis,i);var o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,contourEnable:e.contour.show,contourColor:ZZ(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading};if(e.intensity){var s=x8t(e);this.color=\"#fff\";var l=e.intensitymode;o[l+\"Intensity\"]=e.intensity,o[l+\"IntensityBounds\"]=[s.min,s.max],o.colormap=y8t(e)}else e.vertexcolor?(this.color=e.vertexcolor[0],o.vertexColors=zIe(e.vertexcolor)):e.facecolor?(this.color=e.facecolor[0],o.cellColors=zIe(e.facecolor)):(this.color=e.color,o.meshColor=ZZ(e.color));this.mesh.update(o)};XZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function w8t(e,t){var r=e.glplot.gl,n=v8t({gl:r}),i=new FIe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}qIe.exports=w8t});var NIe=ye((rpr,BIe)=>{\"use strict\";BIe.exports={attributes:U5(),supplyDefaults:PIe(),calc:RIe(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:OIe(),moduleType:\"trace\",name:\"mesh3d\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],meta:{}}});var VIe=ye((ipr,UIe)=>{\"use strict\";UIe.exports=NIe()});var KZ=ye((npr,GIe)=>{\"use strict\";var T8t=Jl(),G5=Oc().axisHoverFormat,A8t=Wo().hovertemplateAttrs,S8t=U5(),HIe=vl(),YZ=no().extendFlat,oz={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:A8t({editType:\"calc\"},{keys:[\"norm\"]}),uhoverformat:G5(\"u\",1),vhoverformat:G5(\"v\",1),whoverformat:G5(\"w\",1),xhoverformat:G5(\"x\"),yhoverformat:G5(\"y\"),zhoverformat:G5(\"z\"),showlegend:YZ({},HIe.showlegend,{dflt:!1})};YZ(oz,T8t(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}));var M8t=[\"opacity\",\"lightposition\",\"lighting\"];M8t.forEach(function(e){oz[e]=S8t[e]});oz.hoverinfo=YZ({},HIe.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"});GIe.exports=oz});var WIe=ye((apr,jIe)=>{\"use strict\";var E8t=Mr(),k8t=Uh(),C8t=KZ();jIe.exports=function(t,r,n,i){function a(d,v){return E8t.coerce(t,r,C8t,d,v)}var o=a(\"u\"),s=a(\"v\"),l=a(\"w\"),u=a(\"x\"),c=a(\"y\"),f=a(\"z\");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length||!f||!f.length){r.visible=!1;return}var h=a(\"sizemode\");a(\"sizeref\",h===\"raw\"?1:.5),a(\"anchor\"),a(\"lighting.ambient\"),a(\"lighting.diffuse\"),a(\"lighting.specular\"),a(\"lighting.roughness\"),a(\"lighting.fresnel\"),a(\"lightposition.x\"),a(\"lightposition.y\"),a(\"lightposition.z\"),k8t(t,r,i,a,{prefix:\"\",cLetter:\"c\"}),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"uhoverformat\"),a(\"vhoverformat\"),a(\"whoverformat\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),r._length=null}});var XIe=ye((opr,ZIe)=>{\"use strict\";var L8t=zv();ZIe.exports=function(t,r){for(var n=r.u,i=r.v,a=r.w,o=Math.min(r.x.length,r.y.length,r.z.length,n.length,i.length,a.length),s=-1/0,l=1/0,u=0;u<o;u++){var c=n[u],f=i[u],h=a[u],d=Math.sqrt(c*c+f*f+h*h);s=Math.max(s,d),l=Math.min(l,d)}r._len=o,r._normMax=s,L8t(t,r,{vals:[l,s],containerStr:\"\",cLetter:\"c\"})}});var QIe=ye((spr,$Ie)=>{\"use strict\";var P8t=Rd().gl_cone3d,I8t=Rd().gl_cone3d.createConeMesh,R8t=Mr().simpleMap,D8t=$y().parseColorScale,z8t=Mu().extractOpts,F8t=Mr().isArrayOrTypedArray,YIe=H5();function KIe(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var JZ=KIe.prototype;JZ.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index,r=this.data.x[t],n=this.data.y[t],i=this.data.z[t],a=this.data.u[t],o=this.data.v[t],s=this.data.w[t];e.traceCoordinate=[r,n,i,a,o,s,Math.sqrt(a*a+o*o+s*s)];var l=this.data.hovertext||this.data.text;return F8t(l)&&l[t]!==void 0?e.textLabel=l[t]:l&&(e.textLabel=l),!0}};var q8t={xaxis:0,yaxis:1,zaxis:2},O8t={tip:1,tail:0,cm:.25,center:.5},B8t={tip:1,tail:1,cm:.75,center:.5};function JIe(e,t){var r=e.fullSceneLayout,n=e.dataScale,i={};function a(c,f){var h=r[f],d=n[q8t[f]];return R8t(c,function(v){return h.d2l(v)*d})}i.vectors=YIe(a(t.u,\"xaxis\"),a(t.v,\"yaxis\"),a(t.w,\"zaxis\"),t._len),i.positions=YIe(a(t.x,\"xaxis\"),a(t.y,\"yaxis\"),a(t.z,\"zaxis\"),t._len);var o=z8t(t);i.colormap=D8t(t),i.vertexIntensityBounds=[o.min/t._normMax,o.max/t._normMax],i.coneOffset=O8t[t.anchor];var s=t.sizemode;s===\"scaled\"?i.coneSize=t.sizeref||.5:s===\"absolute\"?i.coneSize=t.sizeref&&t._normMax?t.sizeref/t._normMax:.5:s===\"raw\"&&(i.coneSize=t.sizeref),i.coneSizemode=s;var l=P8t(i),u=t.lightposition;return l.lightPosition=[u.x,u.y,u.z],l.ambient=t.lighting.ambient,l.diffuse=t.lighting.diffuse,l.specular=t.lighting.specular,l.roughness=t.lighting.roughness,l.fresnel=t.lighting.fresnel,l.opacity=t.opacity,t._pad=B8t[t.anchor]*l.vectorScale*l.coneScale*t._normMax,l}JZ.update=function(e){this.data=e;var t=JIe(this.scene,e);this.mesh.update(t)};JZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function N8t(e,t){var r=e.glplot.gl,n=JIe(e,t),i=I8t(r,n),a=new KIe(e,t.uid);return a.mesh=i,a.data=t,i._trace=a,e.glplot.add(i),a}$Ie.exports=N8t});var t8e=ye((lpr,e8e)=>{\"use strict\";e8e.exports={moduleType:\"trace\",name:\"cone\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],attributes:KZ(),supplyDefaults:WIe(),colorbar:{min:\"cmin\",max:\"cmax\"},calc:XIe(),plot:QIe(),eventData:function(e,t){return e.norm=t.traceCoordinate[6],e},meta:{}}});var i8e=ye((upr,r8e)=>{\"use strict\";r8e.exports=t8e()});var QZ=ye((cpr,a8e)=>{\"use strict\";var U8t=Jl(),j5=Oc().axisHoverFormat,V8t=Wo().hovertemplateAttrs,H8t=U5(),n8e=vl(),$Z=no().extendFlat,sz={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},u:{valType:\"data_array\",editType:\"calc\"},v:{valType:\"data_array\",editType:\"calc\"},w:{valType:\"data_array\",editType:\"calc\"},starts:{x:{valType:\"data_array\",editType:\"calc\"},y:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},maxdisplayed:{valType:\"integer\",min:0,dflt:1e3,editType:\"calc\"},sizeref:{valType:\"number\",editType:\"calc\",min:0,dflt:1},text:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertemplate:V8t({editType:\"calc\"},{keys:[\"tubex\",\"tubey\",\"tubez\",\"tubeu\",\"tubev\",\"tubew\",\"norm\",\"divergence\"]}),uhoverformat:j5(\"u\",1),vhoverformat:j5(\"v\",1),whoverformat:j5(\"w\",1),xhoverformat:j5(\"x\"),yhoverformat:j5(\"y\"),zhoverformat:j5(\"z\"),showlegend:$Z({},n8e.showlegend,{dflt:!1})};$Z(sz,U8t(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}));var G8t=[\"opacity\",\"lightposition\",\"lighting\"];G8t.forEach(function(e){sz[e]=H8t[e]});sz.hoverinfo=$Z({},n8e.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"divergence\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"});a8e.exports=sz});var s8e=ye((fpr,o8e)=>{\"use strict\";var j8t=Mr(),W8t=Uh(),Z8t=QZ();o8e.exports=function(t,r,n,i){function a(h,d){return j8t.coerce(t,r,Z8t,h,d)}var o=a(\"u\"),s=a(\"v\"),l=a(\"w\"),u=a(\"x\"),c=a(\"y\"),f=a(\"z\");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length||!f||!f.length){r.visible=!1;return}a(\"starts.x\"),a(\"starts.y\"),a(\"starts.z\"),a(\"maxdisplayed\"),a(\"sizeref\"),a(\"lighting.ambient\"),a(\"lighting.diffuse\"),a(\"lighting.specular\"),a(\"lighting.roughness\"),a(\"lighting.fresnel\"),a(\"lightposition.x\"),a(\"lightposition.y\"),a(\"lightposition.z\"),W8t(t,r,i,a,{prefix:\"\",cLetter:\"c\"}),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"uhoverformat\"),a(\"vhoverformat\"),a(\"whoverformat\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),r._length=null}});var p8e=ye((hpr,v8e)=>{\"use strict\";var c8e=Rd().gl_streamtube3d,X8t=c8e.createTubeMesh,Y8t=Mr(),K8t=$y().parseColorScale,J8t=Mu().extractOpts,l8e=H5(),f8e={xaxis:0,yaxis:1,zaxis:2};function h8e(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var tX=h8e.prototype;tX.handlePick=function(e){var t=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(o,s){var l=t[s],u=r[f8e[s]];return l.l2c(o)/u}if(e.object===this.mesh){var i=e.data.position,a=e.data.velocity;return e.traceCoordinate=[n(i[0],\"xaxis\"),n(i[1],\"yaxis\"),n(i[2],\"zaxis\"),n(a[0],\"xaxis\"),n(a[1],\"yaxis\"),n(a[2],\"zaxis\"),e.data.intensity*this.data._normMax,e.data.divergence],e.textLabel=this.data.hovertext||this.data.text,!0}};function u8e(e){var t=e.length,r;return t>2?r=e.slice(1,t-1):t===2?r=[(e[0]+e[1])/2]:r=e,r}function eX(e){var t=e.length;return t===1?[.5,.5]:[e[1]-e[0],e[t-1]-e[t-2]]}function d8e(e,t){var r=e.fullSceneLayout,n=e.dataScale,i=t._len,a={};function o(F,q){var V=r[q],H=n[f8e[q]];return Y8t.simpleMap(F,function(X){return V.d2l(X)*H})}if(a.vectors=l8e(o(t._u,\"xaxis\"),o(t._v,\"yaxis\"),o(t._w,\"zaxis\"),i),!i)return{positions:[],cells:[]};var s=o(t._Xs,\"xaxis\"),l=o(t._Ys,\"yaxis\"),u=o(t._Zs,\"zaxis\");a.meshgrid=[s,l,u],a.gridFill=t._gridFill;var c=t._slen;if(c)a.startingPositions=l8e(o(t._startsX,\"xaxis\"),o(t._startsY,\"yaxis\"),o(t._startsZ,\"zaxis\"));else{for(var f=l[0],h=u8e(s),d=u8e(u),v=new Array(h.length*d.length),x=0,b=0;b<h.length;b++)for(var p=0;p<d.length;p++)v[x++]=[h[b],f,d[p]];a.startingPositions=v}a.colormap=K8t(t),a.tubeSize=t.sizeref,a.maxLength=t.maxdisplayed;var E=o(t._xbnds,\"xaxis\"),k=o(t._ybnds,\"yaxis\"),A=o(t._zbnds,\"zaxis\"),L=eX(s),_=eX(l),C=eX(u),M=[[E[0]-L[0],k[0]-_[0],A[0]-C[0]],[E[1]+L[1],k[1]+_[1],A[1]+C[1]]],g=c8e(a,M),P=J8t(t);g.vertexIntensityBounds=[P.min/t._normMax,P.max/t._normMax];var T=t.lightposition;return g.lightPosition=[T.x,T.y,T.z],g.ambient=t.lighting.ambient,g.diffuse=t.lighting.diffuse,g.specular=t.lighting.specular,g.roughness=t.lighting.roughness,g.fresnel=t.lighting.fresnel,g.opacity=t.opacity,t._pad=g.tubeScale*t.sizeref*2,g}tX.update=function(e){this.data=e;var t=d8e(this.scene,e);this.mesh.update(t)};tX.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function $8t(e,t){var r=e.glplot.gl,n=d8e(e,t),i=X8t(r,n),a=new h8e(e,t.uid);return a.mesh=i,a.data=t,i._trace=a,e.glplot.add(i),a}v8e.exports=$8t});var m8e=ye((dpr,g8e)=>{\"use strict\";g8e.exports={moduleType:\"trace\",name:\"streamtube\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],attributes:QZ(),supplyDefaults:s8e(),colorbar:{min:\"cmin\",max:\"cmax\"},calc:rz().calc,plot:p8e(),eventData:function(e,t){return e.tubex=e.x,e.tubey=e.y,e.tubez=e.z,e.tubeu=t.traceCoordinate[3],e.tubev=t.traceCoordinate[4],e.tubew=t.traceCoordinate[5],e.norm=t.traceCoordinate[6],e.divergence=t.traceCoordinate[7],delete e.x,delete e.y,delete e.z,e},meta:{}}});var _8e=ye((vpr,y8e)=>{\"use strict\";y8e.exports=m8e()});var H2=ye((ppr,w8e)=>{\"use strict\";var Q8t=Wo().hovertemplateAttrs,eRt=Wo().texttemplateAttrs,tRt=Eg(),jm=Uc(),rRt=vl(),x8e=Jl(),iRt=Ed().dash,V2=no().extendFlat,nRt=Bu().overrideAll,eg=jm.marker,b8e=jm.line,aRt=eg.line;w8e.exports=nRt({lon:{valType:\"data_array\"},lat:{valType:\"data_array\"},locations:{valType:\"data_array\"},locationmode:{valType:\"enumerated\",values:[\"ISO-3\",\"USA-states\",\"country names\",\"geojson-id\"],dflt:\"ISO-3\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:{valType:\"string\",editType:\"calc\",dflt:\"id\"},mode:V2({},jm.mode,{dflt:\"markers\"}),text:V2({},jm.text,{}),texttemplate:eRt({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"location\",\"text\"]}),hovertext:V2({},jm.hovertext,{}),textfont:jm.textfont,textposition:jm.textposition,line:{color:b8e.color,width:b8e.width,dash:iRt},connectgaps:jm.connectgaps,marker:V2({symbol:eg.symbol,opacity:eg.opacity,angle:eg.angle,angleref:V2({},eg.angleref,{values:[\"previous\",\"up\",\"north\"]}),standoff:eg.standoff,size:eg.size,sizeref:eg.sizeref,sizemin:eg.sizemin,sizemode:eg.sizemode,colorbar:eg.colorbar,line:V2({width:aRt.width},x8e(\"marker.line\")),gradient:eg.gradient},x8e(\"marker\")),fill:{valType:\"enumerated\",values:[\"none\",\"toself\"],dflt:\"none\"},fillcolor:tRt(),selected:jm.selected,unselected:jm.unselected,hoverinfo:V2({},rRt.hoverinfo,{flags:[\"lon\",\"lat\",\"location\",\"text\",\"name\"]}),hovertemplate:Q8t()},\"calc\",\"nested\")});var A8e=ye((gpr,T8e)=>{\"use strict\";var rX=Mr(),iX=lu(),oRt=$p(),sRt=R0(),lRt=D0(),uRt=Ig(),cRt=H2();T8e.exports=function(t,r,n,i){function a(d,v){return rX.coerce(t,r,cRt,d,v)}var o=a(\"locations\"),s;if(o&&o.length){var l=a(\"geojson\"),u;(typeof l==\"string\"&&l!==\"\"||rX.isPlainObject(l))&&(u=\"geojson-id\");var c=a(\"locationmode\",u);c===\"geojson-id\"&&a(\"featureidkey\"),s=o.length}else{var f=a(\"lon\")||[],h=a(\"lat\")||[];s=Math.min(f.length,h.length)}if(!s){r.visible=!1;return}r._length=s,a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"mode\"),iX.hasMarkers(r)&&oRt(t,r,n,i,a,{gradient:!0}),iX.hasLines(r)&&(sRt(t,r,n,i,a),a(\"connectgaps\")),iX.hasText(r)&&(a(\"texttemplate\"),lRt(t,r,i,a)),a(\"fill\"),r.fill!==\"none\"&&uRt(t,r,n,a),rX.coerceSelectionMarkerOpacity(r,a)}});var E8e=ye((mpr,M8e)=>{\"use strict\";var S8e=Qa();M8e.exports=function(t,r,n){var i={},a=n[r.geo]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=S8e.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=S8e.tickText(o,o.c2l(s[1]),!0).text,i}});var lz=ye((ypr,P8e)=>{\"use strict\";var nX=uo(),k8e=es().BADNUM,fRt=z0(),hRt=km(),dRt=F0(),vRt=Mr().isArrayOrTypedArray,C8e=Mr()._;function L8e(e){return e&&typeof e==\"string\"}P8e.exports=function(t,r){var n=vRt(r.locations),i=n?r.locations.length:r._length,a=new Array(i),o;r.geojson?o=function(h){return L8e(h)||nX(h)}:o=L8e;for(var s=0;s<i;s++){var l=a[s]={};if(n){var u=r.locations[s];l.loc=o(u)?u:null}else{var c=r.lon[s],f=r.lat[s];nX(c)&&nX(f)?l.lonlat=[+c,+f]:l.lonlat=[k8e,k8e]}}return hRt(a,r),fRt(t,r),dRt(a,r),i&&(a[0].t={labels:{lat:C8e(t,\"lat:\")+\" \",lon:C8e(t,\"lon:\")+\" \"}}),a}});var YE=ye(Tv=>{\"use strict\";Tv.projNames={airy:\"airy\",aitoff:\"aitoff\",\"albers usa\":\"albersUsa\",albers:\"albers\",august:\"august\",\"azimuthal equal area\":\"azimuthalEqualArea\",\"azimuthal equidistant\":\"azimuthalEquidistant\",baker:\"baker\",bertin1953:\"bertin1953\",boggs:\"boggs\",bonne:\"bonne\",bottomley:\"bottomley\",bromley:\"bromley\",collignon:\"collignon\",\"conic conformal\":\"conicConformal\",\"conic equal area\":\"conicEqualArea\",\"conic equidistant\":\"conicEquidistant\",craig:\"craig\",craster:\"craster\",\"cylindrical equal area\":\"cylindricalEqualArea\",\"cylindrical stereographic\":\"cylindricalStereographic\",eckert1:\"eckert1\",eckert2:\"eckert2\",eckert3:\"eckert3\",eckert4:\"eckert4\",eckert5:\"eckert5\",eckert6:\"eckert6\",eisenlohr:\"eisenlohr\",\"equal earth\":\"equalEarth\",equirectangular:\"equirectangular\",fahey:\"fahey\",\"foucaut sinusoidal\":\"foucautSinusoidal\",foucaut:\"foucaut\",ginzburg4:\"ginzburg4\",ginzburg5:\"ginzburg5\",ginzburg6:\"ginzburg6\",ginzburg8:\"ginzburg8\",ginzburg9:\"ginzburg9\",gnomonic:\"gnomonic\",\"gringorten quincuncial\":\"gringortenQuincuncial\",gringorten:\"gringorten\",guyou:\"guyou\",hammer:\"hammer\",hill:\"hill\",homolosine:\"homolosine\",hufnagel:\"hufnagel\",hyperelliptical:\"hyperelliptical\",kavrayskiy7:\"kavrayskiy7\",lagrange:\"lagrange\",larrivee:\"larrivee\",laskowski:\"laskowski\",loximuthal:\"loximuthal\",mercator:\"mercator\",miller:\"miller\",mollweide:\"mollweide\",\"mt flat polar parabolic\":\"mtFlatPolarParabolic\",\"mt flat polar quartic\":\"mtFlatPolarQuartic\",\"mt flat polar sinusoidal\":\"mtFlatPolarSinusoidal\",\"natural earth\":\"naturalEarth\",\"natural earth1\":\"naturalEarth1\",\"natural earth2\":\"naturalEarth2\",\"nell hammer\":\"nellHammer\",nicolosi:\"nicolosi\",orthographic:\"orthographic\",patterson:\"patterson\",\"peirce quincuncial\":\"peirceQuincuncial\",polyconic:\"polyconic\",\"rectangular polyconic\":\"rectangularPolyconic\",robinson:\"robinson\",satellite:\"satellite\",\"sinu mollweide\":\"sinuMollweide\",sinusoidal:\"sinusoidal\",stereographic:\"stereographic\",times:\"times\",\"transverse mercator\":\"transverseMercator\",\"van der grinten\":\"vanDerGrinten\",\"van der grinten2\":\"vanDerGrinten2\",\"van der grinten3\":\"vanDerGrinten3\",\"van der grinten4\":\"vanDerGrinten4\",wagner4:\"wagner4\",wagner6:\"wagner6\",wiechel:\"wiechel\",\"winkel tripel\":\"winkel3\",winkel3:\"winkel3\"};Tv.axesNames=[\"lonaxis\",\"lataxis\"];Tv.lonaxisSpan={orthographic:180,\"azimuthal equal area\":360,\"azimuthal equidistant\":360,\"conic conformal\":180,gnomonic:160,stereographic:180,\"transverse mercator\":180,\"*\":360};Tv.lataxisSpan={\"conic conformal\":150,stereographic:179.5,\"*\":180};Tv.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:\"equirectangular\",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:\"albers usa\"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:\"conic conformal\",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:\"mercator\",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:\"mercator\",projRotate:[0,0,0]},\"north america\":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:\"conic conformal\",projRotate:[-100,0,0],projParallels:[29.5,45.5]},\"south america\":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:\"mercator\",projRotate:[0,0,0]}};Tv.clipPad=.001;Tv.precision=.1;Tv.landColor=\"#F0DC82\";Tv.waterColor=\"#3399FF\";Tv.locationmodeToLayer={\"ISO-3\":\"countries\",\"USA-states\":\"subunits\",\"country names\":\"countries\"};Tv.sphereSVG={type:\"Sphere\"};Tv.fillLayers={ocean:1,land:1,lakes:1};Tv.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1};Tv.layers=[\"bg\",\"ocean\",\"land\",\"lakes\",\"subunits\",\"countries\",\"coastlines\",\"rivers\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"frontplot\"];Tv.layersForChoropleth=[\"bg\",\"ocean\",\"land\",\"subunits\",\"countries\",\"coastlines\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"rivers\",\"lakes\",\"frontplot\"];Tv.layerNameToAdjective={ocean:\"ocean\",land:\"land\",lakes:\"lake\",subunits:\"subunit\",countries:\"country\",coastlines:\"coastline\",rivers:\"river\",frame:\"frame\"}});var aX=ye((uz,I8e)=>{(function(e,t){typeof uz==\"object\"&&typeof I8e!=\"undefined\"?t(uz):(e=e||self,t(e.topojson=e.topojson||{}))})(uz,function(e){\"use strict\";function t(k){return k}function r(k){if(k==null)return t;var A,L,_=k.scale[0],C=k.scale[1],M=k.translate[0],g=k.translate[1];return function(P,T){T||(A=L=0);var F=2,q=P.length,V=new Array(q);for(V[0]=(A+=P[0])*_+M,V[1]=(L+=P[1])*C+g;F<q;)V[F]=P[F],++F;return V}}function n(k){var A=r(k.transform),L,_=1/0,C=_,M=-_,g=-_;function P(F){F=A(F),F[0]<_&&(_=F[0]),F[0]>M&&(M=F[0]),F[1]<C&&(C=F[1]),F[1]>g&&(g=F[1])}function T(F){switch(F.type){case\"GeometryCollection\":F.geometries.forEach(T);break;case\"Point\":P(F.coordinates);break;case\"MultiPoint\":F.coordinates.forEach(P);break}}k.arcs.forEach(function(F){for(var q=-1,V=F.length,H;++q<V;)H=A(F[q],q),H[0]<_&&(_=H[0]),H[0]>M&&(M=H[0]),H[1]<C&&(C=H[1]),H[1]>g&&(g=H[1])});for(L in k.objects)T(k.objects[L]);return[_,C,M,g]}function i(k,A){for(var L,_=k.length,C=_-A;C<--_;)L=k[C],k[C++]=k[_],k[_]=L}function a(k,A){return typeof A==\"string\"&&(A=k.objects[A]),A.type===\"GeometryCollection\"?{type:\"FeatureCollection\",features:A.geometries.map(function(L){return o(k,L)})}:o(k,A)}function o(k,A){var L=A.id,_=A.bbox,C=A.properties==null?{}:A.properties,M=s(k,A);return L==null&&_==null?{type:\"Feature\",properties:C,geometry:M}:_==null?{type:\"Feature\",id:L,properties:C,geometry:M}:{type:\"Feature\",id:L,bbox:_,properties:C,geometry:M}}function s(k,A){var L=r(k.transform),_=k.arcs;function C(q,V){V.length&&V.pop();for(var H=_[q<0?~q:q],X=0,G=H.length;X<G;++X)V.push(L(H[X],X));q<0&&i(V,G)}function M(q){return L(q)}function g(q){for(var V=[],H=0,X=q.length;H<X;++H)C(q[H],V);return V.length<2&&V.push(V[0]),V}function P(q){for(var V=g(q);V.length<4;)V.push(V[0]);return V}function T(q){return q.map(P)}function F(q){var V=q.type,H;switch(V){case\"GeometryCollection\":return{type:V,geometries:q.geometries.map(F)};case\"Point\":H=M(q.coordinates);break;case\"MultiPoint\":H=q.coordinates.map(M);break;case\"LineString\":H=g(q.arcs);break;case\"MultiLineString\":H=q.arcs.map(g);break;case\"Polygon\":H=T(q.arcs);break;case\"MultiPolygon\":H=q.arcs.map(T);break;default:return null}return{type:V,coordinates:H}}return F(A)}function l(k,A){var L={},_={},C={},M=[],g=-1;A.forEach(function(F,q){var V=k.arcs[F<0?~F:F],H;V.length<3&&!V[1][0]&&!V[1][1]&&(H=A[++g],A[g]=F,A[q]=H)}),A.forEach(function(F){var q=P(F),V=q[0],H=q[1],X,G;if(X=C[V])if(delete C[X.end],X.push(F),X.end=H,G=_[H]){delete _[G.start];var N=G===X?X:X.concat(G);_[N.start=X.start]=C[N.end=G.end]=N}else _[X.start]=C[X.end]=X;else if(X=_[H])if(delete _[X.start],X.unshift(F),X.start=V,G=C[V]){delete C[G.end];var W=G===X?X:G.concat(X);_[W.start=G.start]=C[W.end=X.end]=W}else _[X.start]=C[X.end]=X;else X=[F],_[X.start=V]=C[X.end=H]=X});function P(F){var q=k.arcs[F<0?~F:F],V=q[0],H;return k.transform?(H=[0,0],q.forEach(function(X){H[0]+=X[0],H[1]+=X[1]})):H=q[q.length-1],F<0?[H,V]:[V,H]}function T(F,q){for(var V in F){var H=F[V];delete q[H.start],delete H.start,delete H.end,H.forEach(function(X){L[X<0?~X:X]=1}),M.push(H)}}return T(C,_),T(_,C),A.forEach(function(F){L[F<0?~F:F]||M.push([F])}),M}function u(k){return s(k,c.apply(this,arguments))}function c(k,A,L){var _,C,M;if(arguments.length>1)_=f(k,A,L);else for(C=0,_=new Array(M=k.arcs.length);C<M;++C)_[C]=C;return{type:\"MultiLineString\",arcs:l(k,_)}}function f(k,A,L){var _=[],C=[],M;function g(V){var H=V<0?~V:V;(C[H]||(C[H]=[])).push({i:V,g:M})}function P(V){V.forEach(g)}function T(V){V.forEach(P)}function F(V){V.forEach(T)}function q(V){switch(M=V,V.type){case\"GeometryCollection\":V.geometries.forEach(q);break;case\"LineString\":P(V.arcs);break;case\"MultiLineString\":case\"Polygon\":T(V.arcs);break;case\"MultiPolygon\":F(V.arcs);break}}return q(A),C.forEach(L==null?function(V){_.push(V[0].i)}:function(V){L(V[0].g,V[V.length-1].g)&&_.push(V[0].i)}),_}function h(k){for(var A=-1,L=k.length,_,C=k[L-1],M=0;++A<L;)_=C,C=k[A],M+=_[0]*C[1]-_[1]*C[0];return Math.abs(M)}function d(k){return s(k,v.apply(this,arguments))}function v(k,A){var L={},_=[],C=[];A.forEach(M);function M(T){switch(T.type){case\"GeometryCollection\":T.geometries.forEach(M);break;case\"Polygon\":g(T.arcs);break;case\"MultiPolygon\":T.arcs.forEach(g);break}}function g(T){T.forEach(function(F){F.forEach(function(q){(L[q=q<0?~q:q]||(L[q]=[])).push(T)})}),_.push(T)}function P(T){return h(s(k,{type:\"Polygon\",arcs:[T]}).coordinates[0])}return _.forEach(function(T){if(!T._){var F=[],q=[T];for(T._=1,C.push(F);T=q.pop();)F.push(T),T.forEach(function(V){V.forEach(function(H){L[H<0?~H:H].forEach(function(X){X._||(X._=1,q.push(X))})})})}}),_.forEach(function(T){delete T._}),{type:\"MultiPolygon\",arcs:C.map(function(T){var F=[],q;if(T.forEach(function(N){N.forEach(function(W){W.forEach(function(re){L[re<0?~re:re].length<2&&F.push(re)})})}),F=l(k,F),(q=F.length)>1)for(var V=1,H=P(F[0]),X,G;V<q;++V)(X=P(F[V]))>H&&(G=F[0],F[0]=F[V],F[V]=G,H=X);return F}).filter(function(T){return T.length>0})}}function x(k,A){for(var L=0,_=k.length;L<_;){var C=L+_>>>1;k[C]<A?L=C+1:_=C}return L}function b(k){var A={},L=k.map(function(){return[]});function _(N,W){N.forEach(function(re){re<0&&(re=~re);var ae=A[re];ae?ae.push(W):A[re]=[W]})}function C(N,W){N.forEach(function(re){_(re,W)})}function M(N,W){N.type===\"GeometryCollection\"?N.geometries.forEach(function(re){M(re,W)}):N.type in g&&g[N.type](N.arcs,W)}var g={LineString:_,MultiLineString:C,Polygon:C,MultiPolygon:function(N,W){N.forEach(function(re){C(re,W)})}};k.forEach(M);for(var P in A)for(var T=A[P],F=T.length,q=0;q<F;++q)for(var V=q+1;V<F;++V){var H=T[q],X=T[V],G;(G=L[H])[P=x(G,X)]!==X&&G.splice(P,0,X),(G=L[X])[P=x(G,H)]!==H&&G.splice(P,0,H)}return L}function p(k){if(k==null)return t;var A,L,_=k.scale[0],C=k.scale[1],M=k.translate[0],g=k.translate[1];return function(P,T){T||(A=L=0);var F=2,q=P.length,V=new Array(q),H=Math.round((P[0]-M)/_),X=Math.round((P[1]-g)/C);for(V[0]=H-A,A=H,V[1]=X-L,L=X;F<q;)V[F]=P[F],++F;return V}}function E(k,A){if(k.transform)throw new Error(\"already quantized\");if(!A||!A.scale){if(!((g=Math.floor(A))>=2))throw new Error(\"n must be \\u22652\");T=k.bbox||n(k);var L=T[0],_=T[1],C=T[2],M=T[3],g;A={scale:[C-L?(C-L)/(g-1):1,M-_?(M-_)/(g-1):1],translate:[L,_]}}else T=k.bbox;var P=p(A),T,F,q=k.objects,V={};function H(N){return P(N)}function X(N){var W;switch(N.type){case\"GeometryCollection\":W={type:\"GeometryCollection\",geometries:N.geometries.map(X)};break;case\"Point\":W={type:\"Point\",coordinates:H(N.coordinates)};break;case\"MultiPoint\":W={type:\"MultiPoint\",coordinates:N.coordinates.map(H)};break;default:return N}return N.id!=null&&(W.id=N.id),N.bbox!=null&&(W.bbox=N.bbox),N.properties!=null&&(W.properties=N.properties),W}function G(N){var W=0,re=1,ae=N.length,_e,Me=new Array(ae);for(Me[0]=P(N[0],0);++W<ae;)((_e=P(N[W],W))[0]||_e[1])&&(Me[re++]=_e);return re===1&&(Me[re++]=[0,0]),Me.length=re,Me}for(F in q)V[F]=X(q[F]);return{type:\"Topology\",bbox:T,transform:A,objects:V,arcs:k.arcs.map(G)}}e.bbox=n,e.feature=a,e.merge=d,e.mergeArcs=v,e.mesh=u,e.meshArcs=c,e.neighbors=b,e.quantize=E,e.transform=r,e.untransform=p,Object.defineProperty(e,\"__esModule\",{value:!0})})});var cz=ye((xpr,R8e)=>{\"use strict\";var oX=R8e.exports={},pRt=YE().locationmodeToLayer,gRt=aX().feature;oX.getTopojsonName=function(e){return[e.scope.replace(/ /g,\"-\"),\"_\",e.resolution.toString(),\"m\"].join(\"\")};oX.getTopojsonPath=function(e,t){return e+t+\".json\"};oX.getTopojsonFeatures=function(e,t){var r=pRt[e.locationmode],n=t.objects[r];return gRt(t,n).features}});var rx=ye(KE=>{\"use strict\";var mRt=es().BADNUM;KE.calcTraceToLineCoords=function(e){for(var t=e[0].trace,r=t.connectgaps,n=[],i=[],a=0;a<e.length;a++){var o=e[a],s=o.lonlat;s[0]!==mRt?i.push(s):!r&&i.length>0&&(n.push(i),i=[])}return i.length>0&&n.push(i),n};KE.makeLine=function(e){return e.length===1?{type:\"LineString\",coordinates:e[0]}:{type:\"MultiLineString\",coordinates:e}};KE.makePolygon=function(e){if(e.length===1)return{type:\"Polygon\",coordinates:e};for(var t=new Array(e.length),r=0;r<e.length;r++)t[r]=[e[r]];return{type:\"MultiPolygon\",coordinates:t}};KE.makeBlank=function(){return{type:\"Point\",coordinates:[]}}});var z8e=ye((wpr,D8e)=>{D8e.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\"}});var dz=ye(ku=>{\"use strict\";Object.defineProperty(ku,\"__esModule\",{value:!0});var qp=63710088e-1,lX={centimeters:qp*100,centimetres:qp*100,degrees:360/(2*Math.PI),feet:qp*3.28084,inches:qp*39.37,kilometers:qp/1e3,kilometres:qp/1e3,meters:qp,metres:qp,miles:qp/1609.344,millimeters:qp*1e3,millimetres:qp*1e3,nauticalmiles:qp/1852,radians:1,yards:qp*1.0936},sX={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,nauticalmiles:29155334959812285e-23,millimeters:1e6,millimetres:1e6,yards:1.195990046};function ix(e,t,r={}){let n={type:\"Feature\"};return(r.id===0||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}function yRt(e,t,r={}){switch(e){case\"Point\":return uX(t).geometry;case\"LineString\":return fX(t).geometry;case\"Polygon\":return cX(t).geometry;case\"MultiPoint\":return q8e(t).geometry;case\"MultiLineString\":return F8e(t).geometry;case\"MultiPolygon\":return O8e(t).geometry;default:throw new Error(e+\" is invalid\")}}function uX(e,t,r={}){if(!e)throw new Error(\"coordinates is required\");if(!Array.isArray(e))throw new Error(\"coordinates must be an Array\");if(e.length<2)throw new Error(\"coordinates must be at least 2 numbers long\");if(!fz(e[0])||!fz(e[1]))throw new Error(\"coordinates must contain numbers\");return ix({type:\"Point\",coordinates:e},t,r)}function _Rt(e,t,r={}){return hz(e.map(n=>uX(n,t)),r)}function cX(e,t,r={}){for(let i of e){if(i.length<4)throw new Error(\"Each LinearRing of a Polygon must have 4 or more Positions.\");if(i[i.length-1].length!==i[0].length)throw new Error(\"First and last Position are not equivalent.\");for(let a=0;a<i[i.length-1].length;a++)if(i[i.length-1][a]!==i[0][a])throw new Error(\"First and last Position are not equivalent.\")}return ix({type:\"Polygon\",coordinates:e},t,r)}function xRt(e,t,r={}){return hz(e.map(n=>cX(n,t)),r)}function fX(e,t,r={}){if(e.length<2)throw new Error(\"coordinates must be an array of two or more positions\");return ix({type:\"LineString\",coordinates:e},t,r)}function bRt(e,t,r={}){return hz(e.map(n=>fX(n,t)),r)}function hz(e,t={}){let r={type:\"FeatureCollection\"};return t.id&&(r.id=t.id),t.bbox&&(r.bbox=t.bbox),r.features=e,r}function F8e(e,t,r={}){return ix({type:\"MultiLineString\",coordinates:e},t,r)}function q8e(e,t,r={}){return ix({type:\"MultiPoint\",coordinates:e},t,r)}function O8e(e,t,r={}){return ix({type:\"MultiPolygon\",coordinates:e},t,r)}function wRt(e,t,r={}){return ix({type:\"GeometryCollection\",geometries:e},t,r)}function TRt(e,t=0){if(t&&!(t>=0))throw new Error(\"precision must be a positive number\");let r=Math.pow(10,t||0);return Math.round(e*r)/r}function B8e(e,t=\"kilometers\"){let r=lX[t];if(!r)throw new Error(t+\" units is invalid\");return e*r}function hX(e,t=\"kilometers\"){let r=lX[t];if(!r)throw new Error(t+\" units is invalid\");return e/r}function ARt(e,t){return N8e(hX(e,t))}function SRt(e){let t=e%360;return t<0&&(t+=360),t}function MRt(e){return e=e%360,e>0?e>180?e-360:e:e<-180?e+360:e}function N8e(e){return e%(2*Math.PI)*180/Math.PI}function ERt(e){return e%360*Math.PI/180}function kRt(e,t=\"kilometers\",r=\"kilometers\"){if(!(e>=0))throw new Error(\"length must be a positive number\");return B8e(hX(e,t),r)}function CRt(e,t=\"meters\",r=\"kilometers\"){if(!(e>=0))throw new Error(\"area must be a positive number\");let n=sX[t];if(!n)throw new Error(\"invalid original units\");let i=sX[r];if(!i)throw new Error(\"invalid final units\");return e/n*i}function fz(e){return!isNaN(e)&&e!==null&&!Array.isArray(e)}function LRt(e){return e!==null&&typeof e==\"object\"&&!Array.isArray(e)}function PRt(e){if(!e)throw new Error(\"bbox is required\");if(!Array.isArray(e))throw new Error(\"bbox must be an Array\");if(e.length!==4&&e.length!==6)throw new Error(\"bbox must be an Array of 4 or 6 numbers\");e.forEach(t=>{if(!fz(t))throw new Error(\"bbox must only contain numbers\")})}function IRt(e){if(!e)throw new Error(\"id is required\");if([\"string\",\"number\"].indexOf(typeof e)===-1)throw new Error(\"id must be a number or a string\")}ku.areaFactors=sX;ku.azimuthToBearing=MRt;ku.bearingToAzimuth=SRt;ku.convertArea=CRt;ku.convertLength=kRt;ku.degreesToRadians=ERt;ku.earthRadius=qp;ku.factors=lX;ku.feature=ix;ku.featureCollection=hz;ku.geometry=yRt;ku.geometryCollection=wRt;ku.isNumber=fz;ku.isObject=LRt;ku.lengthToDegrees=ARt;ku.lengthToRadians=hX;ku.lineString=fX;ku.lineStrings=bRt;ku.multiLineString=F8e;ku.multiPoint=q8e;ku.multiPolygon=O8e;ku.point=uX;ku.points=_Rt;ku.polygon=cX;ku.polygons=xRt;ku.radiansToDegrees=N8e;ku.radiansToLength=B8e;ku.round=TRt;ku.validateBBox=PRt;ku.validateId=IRt});var pz=ye(Dd=>{\"use strict\";Object.defineProperty(Dd,\"__esModule\",{value:!0});var jv=dz();function JE(e,t,r){if(e!==null)for(var n,i,a,o,s,l,u,c=0,f=0,h,d=e.type,v=d===\"FeatureCollection\",x=d===\"Feature\",b=v?e.features.length:1,p=0;p<b;p++){u=v?e.features[p].geometry:x?e.geometry:e,h=u?u.type===\"GeometryCollection\":!1,s=h?u.geometries.length:1;for(var E=0;E<s;E++){var k=0,A=0;if(o=h?u.geometries[E]:u,o!==null){l=o.coordinates;var L=o.type;switch(c=r&&(L===\"Polygon\"||L===\"MultiPolygon\")?1:0,L){case null:break;case\"Point\":if(t(l,f,p,k,A)===!1)return!1;f++,k++;break;case\"LineString\":case\"MultiPoint\":for(n=0;n<l.length;n++){if(t(l[n],f,p,k,A)===!1)return!1;f++,L===\"MultiPoint\"&&k++}L===\"LineString\"&&k++;break;case\"Polygon\":case\"MultiLineString\":for(n=0;n<l.length;n++){for(i=0;i<l[n].length-c;i++){if(t(l[n][i],f,p,k,A)===!1)return!1;f++}L===\"MultiLineString\"&&k++,L===\"Polygon\"&&A++}L===\"Polygon\"&&k++;break;case\"MultiPolygon\":for(n=0;n<l.length;n++){for(A=0,i=0;i<l[n].length;i++){for(a=0;a<l[n][i].length-c;a++){if(t(l[n][i][a],f,p,k,A)===!1)return!1;f++}A++}k++}break;case\"GeometryCollection\":for(n=0;n<o.geometries.length;n++)if(JE(o.geometries[n],t,r)===!1)return!1;break;default:throw new Error(\"Unknown Geometry Type\")}}}}}function RRt(e,t,r,n){var i=r;return JE(e,function(a,o,s,l,u){o===0&&r===void 0?i=a:i=t(i,a,o,s,l,u)},n),i}function U8e(e,t){var r;switch(e.type){case\"FeatureCollection\":for(r=0;r<e.features.length&&t(e.features[r].properties,r)!==!1;r++);break;case\"Feature\":t(e.properties,0);break}}function DRt(e,t,r){var n=r;return U8e(e,function(i,a){a===0&&r===void 0?n=i:n=t(n,i,a)}),n}function V8e(e,t){if(e.type===\"Feature\")t(e,0);else if(e.type===\"FeatureCollection\")for(var r=0;r<e.features.length&&t(e.features[r],r)!==!1;r++);}function zRt(e,t,r){var n=r;return V8e(e,function(i,a){a===0&&r===void 0?n=i:n=t(n,i,a)}),n}function FRt(e){var t=[];return JE(e,function(r){t.push(r)}),t}function dX(e,t){var r,n,i,a,o,s,l,u,c,f,h=0,d=e.type===\"FeatureCollection\",v=e.type===\"Feature\",x=d?e.features.length:1;for(r=0;r<x;r++){for(s=d?e.features[r].geometry:v?e.geometry:e,u=d?e.features[r].properties:v?e.properties:{},c=d?e.features[r].bbox:v?e.bbox:void 0,f=d?e.features[r].id:v?e.id:void 0,l=s?s.type===\"GeometryCollection\":!1,o=l?s.geometries.length:1,i=0;i<o;i++){if(a=l?s.geometries[i]:s,a===null){if(t(null,h,u,c,f)===!1)return!1;continue}switch(a.type){case\"Point\":case\"LineString\":case\"MultiPoint\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":{if(t(a,h,u,c,f)===!1)return!1;break}case\"GeometryCollection\":{for(n=0;n<a.geometries.length;n++)if(t(a.geometries[n],h,u,c,f)===!1)return!1;break}default:throw new Error(\"Unknown Geometry Type\")}}h++}}function qRt(e,t,r){var n=r;return dX(e,function(i,a,o,s,l){a===0&&r===void 0?n=i:n=t(n,i,a,o,s,l)}),n}function vz(e,t){dX(e,function(r,n,i,a,o){var s=r===null?null:r.type;switch(s){case null:case\"Point\":case\"LineString\":case\"Polygon\":return t(jv.feature.call(void 0,r,i,{bbox:a,id:o}),n,0)===!1?!1:void 0}var l;switch(s){case\"MultiPoint\":l=\"Point\";break;case\"MultiLineString\":l=\"LineString\";break;case\"MultiPolygon\":l=\"Polygon\";break}for(var u=0;u<r.coordinates.length;u++){var c=r.coordinates[u],f={type:l,coordinates:c};if(t(jv.feature.call(void 0,f,i),n,u)===!1)return!1}})}function ORt(e,t,r){var n=r;return vz(e,function(i,a,o){a===0&&o===0&&r===void 0?n=i:n=t(n,i,a,o)}),n}function H8e(e,t){vz(e,function(r,n,i){var a=0;if(r.geometry){var o=r.geometry.type;if(!(o===\"Point\"||o===\"MultiPoint\")){var s,l=0,u=0,c=0;if(JE(r,function(f,h,d,v,x){if(s===void 0||n>l||v>u||x>c){s=f,l=n,u=v,c=x,a=0;return}var b=jv.lineString.call(void 0,[s,f],r.properties);if(t(b,n,i,x,a)===!1)return!1;a++,s=f})===!1)return!1}}})}function BRt(e,t,r){var n=r,i=!1;return H8e(e,function(a,o,s,l,u){i===!1&&r===void 0?n=a:n=t(n,a,o,s,l,u),i=!0}),n}function G8e(e,t){if(!e)throw new Error(\"geojson is required\");vz(e,function(r,n,i){if(r.geometry!==null){var a=r.geometry.type,o=r.geometry.coordinates;switch(a){case\"LineString\":if(t(r,n,i,0,0)===!1)return!1;break;case\"Polygon\":for(var s=0;s<o.length;s++)if(t(jv.lineString.call(void 0,o[s],r.properties),n,i,s)===!1)return!1;break}}})}function NRt(e,t,r){var n=r;return G8e(e,function(i,a,o,s){a===0&&r===void 0?n=i:n=t(n,i,a,o,s)}),n}function URt(e,t){if(t=t||{},!jv.isObject.call(void 0,t))throw new Error(\"options is invalid\");var r=t.featureIndex||0,n=t.multiFeatureIndex||0,i=t.geometryIndex||0,a=t.segmentIndex||0,o=t.properties,s;switch(e.type){case\"FeatureCollection\":r<0&&(r=e.features.length+r),o=o||e.features[r].properties,s=e.features[r].geometry;break;case\"Feature\":o=o||e.properties,s=e.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":s=e;break;default:throw new Error(\"geojson is invalid\")}if(s===null)return null;var l=s.coordinates;switch(s.type){case\"Point\":case\"MultiPoint\":return null;case\"LineString\":return a<0&&(a=l.length+a-1),jv.lineString.call(void 0,[l[a],l[a+1]],o,t);case\"Polygon\":return i<0&&(i=l.length+i),a<0&&(a=l[i].length+a-1),jv.lineString.call(void 0,[l[i][a],l[i][a+1]],o,t);case\"MultiLineString\":return n<0&&(n=l.length+n),a<0&&(a=l[n].length+a-1),jv.lineString.call(void 0,[l[n][a],l[n][a+1]],o,t);case\"MultiPolygon\":return n<0&&(n=l.length+n),i<0&&(i=l[n].length+i),a<0&&(a=l[n][i].length-a-1),jv.lineString.call(void 0,[l[n][i][a],l[n][i][a+1]],o,t)}throw new Error(\"geojson is invalid\")}function VRt(e,t){if(t=t||{},!jv.isObject.call(void 0,t))throw new Error(\"options is invalid\");var r=t.featureIndex||0,n=t.multiFeatureIndex||0,i=t.geometryIndex||0,a=t.coordIndex||0,o=t.properties,s;switch(e.type){case\"FeatureCollection\":r<0&&(r=e.features.length+r),o=o||e.features[r].properties,s=e.features[r].geometry;break;case\"Feature\":o=o||e.properties,s=e.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":s=e;break;default:throw new Error(\"geojson is invalid\")}if(s===null)return null;var l=s.coordinates;switch(s.type){case\"Point\":return jv.point.call(void 0,l,o,t);case\"MultiPoint\":return n<0&&(n=l.length+n),jv.point.call(void 0,l[n],o,t);case\"LineString\":return a<0&&(a=l.length+a),jv.point.call(void 0,l[a],o,t);case\"Polygon\":return i<0&&(i=l.length+i),a<0&&(a=l[i].length+a),jv.point.call(void 0,l[i][a],o,t);case\"MultiLineString\":return n<0&&(n=l.length+n),a<0&&(a=l[n].length+a),jv.point.call(void 0,l[n][a],o,t);case\"MultiPolygon\":return n<0&&(n=l.length+n),i<0&&(i=l[n].length+i),a<0&&(a=l[n][i].length-a),jv.point.call(void 0,l[n][i][a],o,t)}throw new Error(\"geojson is invalid\")}Dd.coordAll=FRt;Dd.coordEach=JE;Dd.coordReduce=RRt;Dd.featureEach=V8e;Dd.featureReduce=zRt;Dd.findPoint=VRt;Dd.findSegment=URt;Dd.flattenEach=vz;Dd.flattenReduce=ORt;Dd.geomEach=dX;Dd.geomReduce=qRt;Dd.lineEach=G8e;Dd.lineReduce=NRt;Dd.propEach=U8e;Dd.propReduce=DRt;Dd.segmentEach=H8e;Dd.segmentReduce=BRt});var Y8e=ye(gz=>{\"use strict\";Object.defineProperty(gz,\"__esModule\",{value:!0});var j8e=dz(),HRt=pz();function X8e(e){return HRt.geomReduce.call(void 0,e,(t,r)=>t+GRt(r),0)}function GRt(e){let t=0,r;switch(e.type){case\"Polygon\":return W8e(e.coordinates);case\"MultiPolygon\":for(r=0;r<e.coordinates.length;r++)t+=W8e(e.coordinates[r]);return t;case\"Point\":case\"MultiPoint\":case\"LineString\":case\"MultiLineString\":return 0}return 0}function W8e(e){let t=0;if(e&&e.length>0){t+=Math.abs(Z8e(e[0]));for(let r=1;r<e.length;r++)t-=Math.abs(Z8e(e[r]))}return t}var jRt=j8e.earthRadius*j8e.earthRadius/2,vX=Math.PI/180;function Z8e(e){let t=e.length-1;if(t<=2)return 0;let r=0,n=0;for(;n<t;){let i=e[n],a=e[n+1===t?0:n+1],o=e[n+2>=t?(n+2)%t:n+2],s=i[0]*vX,l=a[1]*vX,u=o[0]*vX;r+=(u-s)*Math.sin(l),n++}return r*jRt}var WRt=X8e;gz.area=X8e;gz.default=WRt});var J8e=ye(mz=>{\"use strict\";Object.defineProperty(mz,\"__esModule\",{value:!0});var ZRt=dz(),XRt=pz();function K8e(e,t={}){let r=0,n=0,i=0;return XRt.coordEach.call(void 0,e,function(a){r+=a[0],n+=a[1],i++},!0),ZRt.point.call(void 0,[r/i,n/i],t.properties)}var YRt=K8e;mz.centroid=K8e;mz.default=YRt});var Q8e=ye(yz=>{\"use strict\";Object.defineProperty(yz,\"__esModule\",{value:!0});var KRt=pz();function $8e(e,t={}){if(e.bbox!=null&&t.recompute!==!0)return e.bbox;let r=[1/0,1/0,-1/0,-1/0];return KRt.coordEach.call(void 0,e,n=>{r[0]>n[0]&&(r[0]=n[0]),r[1]>n[1]&&(r[1]=n[1]),r[2]<n[0]&&(r[2]=n[0]),r[3]<n[1]&&(r[3]=n[1])}),r}var JRt=$8e;yz.bbox=$8e;yz.default=JRt});var nx=ye((kpr,nRe)=>{\"use strict\";var $Rt=xa(),rRe=z8e(),{area:QRt}=Y8e(),{centroid:eDt}=J8e(),{bbox:tDt}=Q8e(),eRe=OS(),W5=G1(),rDt=gy(),iDt=ES(),_z=wM(),tRe=Object.keys(rRe),nDt={\"ISO-3\":eRe,\"USA-states\":eRe,\"country names\":aDt};function aDt(e){for(var t=0;t<tRe.length;t++){var r=tRe[t],n=new RegExp(rRe[r]);if(n.test(e.trim().toLowerCase()))return r}return W5.log(\"Unrecognized country name: \"+e+\".\"),!1}function oDt(e,t,r){if(!t||typeof t!=\"string\")return!1;var n=nDt[e](t),i,a,o;if(n){if(e===\"USA-states\")for(i=[],o=0;o<r.length;o++)a=r[o],a.properties&&a.properties.gu&&a.properties.gu===\"USA\"&&i.push(a);else i=r;for(o=0;o<i.length;o++)if(a=i[o],a.id===n)return a;W5.log([\"Location with id\",n,\"does not have a matching topojson feature at this resolution.\"].join(\" \"))}return!1}function sDt(e){var t=e.geometry,r=t.coordinates,n=e.id,i=[],a,o,s,l;function u(c){for(var f=0;f<c.length-1;f++)if(c[f][0]>0&&c[f+1][0]<0)return f;return null}switch(n===\"RUS\"||n===\"FJI\"?a=function(c){var f;if(u(c)===null)f=c;else for(f=new Array(c.length),l=0;l<c.length;l++)f[l]=[c[l][0]<0?c[l][0]+360:c[l][0],c[l][1]];i.push(_z.tester(f))}:n===\"ATA\"?a=function(c){var f=u(c);if(f===null)return i.push(_z.tester(c));var h=new Array(c.length+1),d=0;for(l=0;l<c.length;l++)l>f?h[d++]=[c[l][0]+360,c[l][1]]:l===f?(h[d++]=c[l],h[d++]=[c[l][0],-90]):h[d++]=c[l];var v=_z.tester(h);v.pts.pop(),i.push(v)}:a=function(c){i.push(_z.tester(c))},t.type){case\"MultiPolygon\":for(o=0;o<r.length;o++)for(s=0;s<r[o].length;s++)a(r[o][s]);break;case\"Polygon\":for(o=0;o<r.length;o++)a(r[o]);break}return i}function iRe(e){var t=e.geojson,r=window.PlotlyGeoAssets||{},n=typeof t==\"string\"?r[t]:t;return rDt(n)?n:(W5.error(\"Oops ... something went wrong when fetching \"+t),!1)}function lDt(e){var t=e[0].trace,r=iRe(t);if(!r)return!1;var n={},i=[],a;for(a=0;a<t._length;a++){var o=e[a];(o.loc||o.loc===0)&&(n[o.loc]=o)}function s(c){var f=iDt(c,t.featureidkey||\"id\").get(),h=n[f];if(h){var d=c.geometry;if(d.type===\"Polygon\"||d.type===\"MultiPolygon\"){var v={type:\"Feature\",id:f,geometry:d,properties:{}};v.geometry.coordinates.length>0?v.properties.ct=uDt(v):v.properties.ct=[NaN,NaN],h.fIn=c,h.fOut=v,i.push(v)}else W5.log([\"Location\",h.loc,\"does not have a valid GeoJSON geometry.\",\"Traces with locationmode *geojson-id* only support\",\"*Polygon* and *MultiPolygon* geometries.\"].join(\" \"))}delete n[f]}switch(r.type){case\"FeatureCollection\":var l=r.features;for(a=0;a<l.length;a++)s(l[a]);break;case\"Feature\":s(r);break;default:return W5.warn([\"Invalid GeoJSON type\",(r.type||\"none\")+\".\",\"Traces with locationmode *geojson-id* only support\",\"*FeatureCollection* and *Feature* types.\"].join(\" \")),!1}for(var u in n)W5.log([\"Location *\"+u+\"*\",\"does not have a matching feature with id-key\",\"*\"+t.featureidkey+\"*.\"].join(\" \"));return i}function uDt(e){var t=e.geometry,r;if(t.type===\"MultiPolygon\")for(var n=t.coordinates,i=0,a=0;a<n.length;a++){var o={type:\"Polygon\",coordinates:n[a]},s=QRt(o);s>i&&(i=s,r=o)}else r=t;return eDt(r).geometry.coordinates}function cDt(e){var t=window.PlotlyGeoAssets||{},r=[];function n(l){return new Promise(function(u,c){$Rt.json(l,function(f,h){if(f){delete t[l];var d=f.status===404?'GeoJSON at URL \"'+l+'\" does not exist.':\"Unexpected error while fetching from \"+l;return c(new Error(d))}return t[l]=h,u(h)})})}function i(l){return new Promise(function(u,c){var f=0,h=setInterval(function(){if(t[l]&&t[l]!==\"pending\")return clearInterval(h),u(t[l]);if(f>100)return clearInterval(h),c(\"Unexpected error while fetching from \"+l);f++},50)})}for(var a=0;a<e.length;a++){var o=e[a][0].trace,s=o.geojson;typeof s==\"string\"&&(t[s]?t[s]===\"pending\"&&r.push(i(s)):(t[s]=\"pending\",r.push(n(s))))}return r}function fDt(e){return tDt(e)}nRe.exports={locationToFeature:oDt,feature2polygons:sDt,getTraceGeojson:iRe,extractTraceFeature:lDt,fetchTraceGeoData:cDt,computeBbox:fDt}});var pX=ye((Cpr,sRe)=>{\"use strict\";var hDt=xa(),dDt=ao(),aRe=va(),oRe=op(),vDt=oRe.stylePoints,pDt=oRe.styleText;sRe.exports=function(t,r){r&&gDt(t,r)};function gDt(e,t){var r=t[0].trace,n=t[0].node3;n.style(\"opacity\",t[0].trace.opacity),vDt(n,r,e),pDt(n,r,e),n.selectAll(\"path.js-line\").style(\"fill\",\"none\").each(function(i){var a=hDt.select(this),o=i.trace,s=o.line||{};a.call(aRe.stroke,s.color).call(dDt.dashLine,s.dash||\"\",s.width||0),o.fill!==\"none\"&&a.call(aRe.fill,o.fillcolor)})}});var _X=ye((Lpr,cRe)=>{\"use strict\";var lRe=xa(),bz=Mr(),mDt=cz().getTopojsonFeatures,gX=rx(),xz=nx(),uRe=wg().findExtremes,yX=es().BADNUM,yDt=q0().calcMarkerSize,mX=lu(),_Dt=pX();function xDt(e,t,r){var n=t.layers.frontplot.select(\".scatterlayer\"),i=bz.makeTraceGroups(n,r,\"trace scattergeo\");function a(o,s){o.lonlat[0]===yX&&lRe.select(s).remove()}i.selectAll(\"*\").remove(),i.each(function(o){var s=lRe.select(this),l=o[0].trace;if(mX.hasLines(l)||l.fill!==\"none\"){var u=gX.calcTraceToLineCoords(o),c=l.fill!==\"none\"?gX.makePolygon(u):gX.makeLine(u);s.selectAll(\"path.js-line\").data([{geojson:c,trace:l}]).enter().append(\"path\").classed(\"js-line\",!0).style(\"stroke-miterlimit\",2)}mX.hasMarkers(l)&&s.selectAll(\"path.point\").data(bz.identity).enter().append(\"path\").classed(\"point\",!0).each(function(f){a(f,this)}),mX.hasText(l)&&s.selectAll(\"g\").data(bz.identity).enter().append(\"g\").append(\"text\").each(function(f){a(f,this)}),_Dt(e,o)})}function bDt(e,t){var r=e[0].trace,n=t[r.geo],i=n._subplot,a=r._length,o,s;if(bz.isArrayOrTypedArray(r.locations)){var l=r.locationmode,u=l===\"geojson-id\"?xz.extractTraceFeature(e):mDt(r,i.topojson);for(o=0;o<a;o++){s=e[o];var c=l===\"geojson-id\"?s.fOut:xz.locationToFeature(l,s.loc,u);s.lonlat=c?c.properties.ct:[yX,yX]}}var f={padded:!0},h,d;if(n.fitbounds===\"geojson\"&&r.locationmode===\"geojson-id\"){var v=xz.computeBbox(xz.getTraceGeojson(r));h=[v[0],v[2]],d=[v[1],v[3]]}else{for(h=new Array(a),d=new Array(a),o=0;o<a;o++)s=e[o],h[o]=s.lonlat[0],d[o]=s.lonlat[1];f.ppad=yDt(r,a)}r._extremes.lon=uRe(n.lonaxis._ax,h,f),r._extremes.lat=uRe(n.lataxis._ax,d,f)}cRe.exports={calcGeoJSON:bDt,plot:xDt}});var hRe=ye((Ppr,fRe)=>{\"use strict\";var wDt=Nc(),TDt=es().BADNUM,ADt=oT(),SDt=Mr().fillText,MDt=H2();fRe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.xa,s=t.ya,l=t.subplot,u=l.projection.isLonLatOverEdges,c=l.project;function f(E){var k=E.lonlat;if(k[0]===TDt||u(k))return 1/0;var A=c(k),L=c([r,n]),_=Math.abs(A[0]-L[0]),C=Math.abs(A[1]-L[1]),M=Math.max(3,E.mrc||0);return Math.max(Math.sqrt(_*_+C*C)-M,1-3/M)}if(wDt.getClosest(i,f,t),t.index!==!1){var h=i[t.index],d=h.lonlat,v=[o.c2p(d),s.c2p(d)],x=h.mrc||1;t.x0=v[0]-x,t.x1=v[0]+x,t.y0=v[1]-x,t.y1=v[1]+x,t.loc=h.loc,t.lon=d[0],t.lat=d[1];var b={};b[a.geo]={_subplot:l};var p=a._module.formatLabels(h,a,b);return t.lonLabel=p.lonLabel,t.latLabel=p.latLabel,t.color=ADt(a,h),t.extraText=EDt(a,h,t,i[0].t.labels),t.hovertemplate=a.hovertemplate,[t]}};function EDt(e,t,r,n){if(e.hovertemplate)return;var i=t.hi||e.hoverinfo,a=i===\"all\"?MDt.hoverinfo.flags:i.split(\"+\"),o=a.indexOf(\"location\")!==-1&&Array.isArray(e.locations),s=a.indexOf(\"lon\")!==-1,l=a.indexOf(\"lat\")!==-1,u=a.indexOf(\"text\")!==-1,c=[];function f(h){return h+\"\\xB0\"}return o?c.push(t.loc):s&&l?c.push(\"(\"+f(r.latLabel)+\", \"+f(r.lonLabel)+\")\"):s?c.push(n.lon+f(r.lonLabel)):l&&c.push(n.lat+f(r.latLabel)),u&&SDt(t,e,c),c.join(\"<br>\")}});var vRe=ye((Ipr,dRe)=>{\"use strict\";dRe.exports=function(t,r,n,i,a){t.lon=r.lon,t.lat=r.lat,t.location=r.loc?r.loc:null;var o=i[a];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t}});var mRe=ye((Rpr,gRe)=>{\"use strict\";var pRe=lu(),kDt=es().BADNUM;gRe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l,u,c,f,h,d=!pRe.hasMarkers(s)&&!pRe.hasText(s);if(d)return[];if(r===!1)for(h=0;h<n.length;h++)n[h].selected=0;else for(h=0;h<n.length;h++)l=n[h],u=l.lonlat,u[0]!==kDt&&(c=i.c2p(u),f=a.c2p(u),r.contains([c,f],null,h,t)?(o.push({pointNumber:h,lon:u[0],lat:u[1]}),l.selected=1):l.selected=0);return o}});var $E=ye((wz,yRe)=>{(function(e,t){t(typeof wz==\"object\"&&typeof yRe!=\"undefined\"?wz:e.d3=e.d3||{})})(wz,function(e){\"use strict\";function t(Ee,Ae){return Ee<Ae?-1:Ee>Ae?1:Ee>=Ae?0:NaN}function r(Ee){return Ee.length===1&&(Ee=n(Ee)),{left:function(Ae,ze,Ce,me){for(Ce==null&&(Ce=0),me==null&&(me=Ae.length);Ce<me;){var Re=Ce+me>>>1;Ee(Ae[Re],ze)<0?Ce=Re+1:me=Re}return Ce},right:function(Ae,ze,Ce,me){for(Ce==null&&(Ce=0),me==null&&(me=Ae.length);Ce<me;){var Re=Ce+me>>>1;Ee(Ae[Re],ze)>0?me=Re:Ce=Re+1}return Ce}}}function n(Ee){return function(Ae,ze){return t(Ee(Ae),ze)}}var i=r(t),a=i.right,o=i.left;function s(Ee,Ae){Ae==null&&(Ae=l);for(var ze=0,Ce=Ee.length-1,me=Ee[0],Re=new Array(Ce<0?0:Ce);ze<Ce;)Re[ze]=Ae(me,me=Ee[++ze]);return Re}function l(Ee,Ae){return[Ee,Ae]}function u(Ee,Ae,ze){var Ce=Ee.length,me=Ae.length,Re=new Array(Ce*me),ce,Ge,nt,ct;for(ze==null&&(ze=l),ce=nt=0;ce<Ce;++ce)for(ct=Ee[ce],Ge=0;Ge<me;++Ge,++nt)Re[nt]=ze(ct,Ae[Ge]);return Re}function c(Ee,Ae){return Ae<Ee?-1:Ae>Ee?1:Ae>=Ee?0:NaN}function f(Ee){return Ee===null?NaN:+Ee}function h(Ee,Ae){var ze=Ee.length,Ce=0,me=-1,Re=0,ce,Ge,nt=0;if(Ae==null)for(;++me<ze;)isNaN(ce=f(Ee[me]))||(Ge=ce-Re,Re+=Ge/++Ce,nt+=Ge*(ce-Re));else for(;++me<ze;)isNaN(ce=f(Ae(Ee[me],me,Ee)))||(Ge=ce-Re,Re+=Ge/++Ce,nt+=Ge*(ce-Re));if(Ce>1)return nt/(Ce-1)}function d(Ee,Ae){var ze=h(Ee,Ae);return ze&&Math.sqrt(ze)}function v(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re,ce;if(Ae==null){for(;++Ce<ze;)if((me=Ee[Ce])!=null&&me>=me)for(Re=ce=me;++Ce<ze;)(me=Ee[Ce])!=null&&(Re>me&&(Re=me),ce<me&&(ce=me))}else for(;++Ce<ze;)if((me=Ae(Ee[Ce],Ce,Ee))!=null&&me>=me)for(Re=ce=me;++Ce<ze;)(me=Ae(Ee[Ce],Ce,Ee))!=null&&(Re>me&&(Re=me),ce<me&&(ce=me));return[Re,ce]}var x=Array.prototype,b=x.slice,p=x.map;function E(Ee){return function(){return Ee}}function k(Ee){return Ee}function A(Ee,Ae,ze){Ee=+Ee,Ae=+Ae,ze=(me=arguments.length)<2?(Ae=Ee,Ee=0,1):me<3?1:+ze;for(var Ce=-1,me=Math.max(0,Math.ceil((Ae-Ee)/ze))|0,Re=new Array(me);++Ce<me;)Re[Ce]=Ee+Ce*ze;return Re}var L=Math.sqrt(50),_=Math.sqrt(10),C=Math.sqrt(2);function M(Ee,Ae,ze){var Ce,me=-1,Re,ce,Ge;if(Ae=+Ae,Ee=+Ee,ze=+ze,Ee===Ae&&ze>0)return[Ee];if((Ce=Ae<Ee)&&(Re=Ee,Ee=Ae,Ae=Re),(Ge=g(Ee,Ae,ze))===0||!isFinite(Ge))return[];if(Ge>0)for(Ee=Math.ceil(Ee/Ge),Ae=Math.floor(Ae/Ge),ce=new Array(Re=Math.ceil(Ae-Ee+1));++me<Re;)ce[me]=(Ee+me)*Ge;else for(Ee=Math.floor(Ee*Ge),Ae=Math.ceil(Ae*Ge),ce=new Array(Re=Math.ceil(Ee-Ae+1));++me<Re;)ce[me]=(Ee-me)/Ge;return Ce&&ce.reverse(),ce}function g(Ee,Ae,ze){var Ce=(Ae-Ee)/Math.max(0,ze),me=Math.floor(Math.log(Ce)/Math.LN10),Re=Ce/Math.pow(10,me);return me>=0?(Re>=L?10:Re>=_?5:Re>=C?2:1)*Math.pow(10,me):-Math.pow(10,-me)/(Re>=L?10:Re>=_?5:Re>=C?2:1)}function P(Ee,Ae,ze){var Ce=Math.abs(Ae-Ee)/Math.max(0,ze),me=Math.pow(10,Math.floor(Math.log(Ce)/Math.LN10)),Re=Ce/me;return Re>=L?me*=10:Re>=_?me*=5:Re>=C&&(me*=2),Ae<Ee?-me:me}function T(Ee){return Math.ceil(Math.log(Ee.length)/Math.LN2)+1}function F(){var Ee=k,Ae=v,ze=T;function Ce(me){var Re,ce=me.length,Ge,nt=new Array(ce);for(Re=0;Re<ce;++Re)nt[Re]=Ee(me[Re],Re,me);var ct=Ae(nt),qt=ct[0],rt=ct[1],ot=ze(nt,qt,rt);Array.isArray(ot)||(ot=P(qt,rt,ot),ot=A(Math.ceil(qt/ot)*ot,rt,ot));for(var Rt=ot.length;ot[0]<=qt;)ot.shift(),--Rt;for(;ot[Rt-1]>rt;)ot.pop(),--Rt;var kt=new Array(Rt+1),Ct;for(Re=0;Re<=Rt;++Re)Ct=kt[Re]=[],Ct.x0=Re>0?ot[Re-1]:qt,Ct.x1=Re<Rt?ot[Re]:rt;for(Re=0;Re<ce;++Re)Ge=nt[Re],qt<=Ge&&Ge<=rt&&kt[a(ot,Ge,0,Rt)].push(me[Re]);return kt}return Ce.value=function(me){return arguments.length?(Ee=typeof me==\"function\"?me:E(me),Ce):Ee},Ce.domain=function(me){return arguments.length?(Ae=typeof me==\"function\"?me:E([me[0],me[1]]),Ce):Ae},Ce.thresholds=function(me){return arguments.length?(ze=typeof me==\"function\"?me:Array.isArray(me)?E(b.call(me)):E(me),Ce):ze},Ce}function q(Ee,Ae,ze){if(ze==null&&(ze=f),!!(Ce=Ee.length)){if((Ae=+Ae)<=0||Ce<2)return+ze(Ee[0],0,Ee);if(Ae>=1)return+ze(Ee[Ce-1],Ce-1,Ee);var Ce,me=(Ce-1)*Ae,Re=Math.floor(me),ce=+ze(Ee[Re],Re,Ee),Ge=+ze(Ee[Re+1],Re+1,Ee);return ce+(Ge-ce)*(me-Re)}}function V(Ee,Ae,ze){return Ee=p.call(Ee,f).sort(t),Math.ceil((ze-Ae)/(2*(q(Ee,.75)-q(Ee,.25))*Math.pow(Ee.length,-1/3)))}function H(Ee,Ae,ze){return Math.ceil((ze-Ae)/(3.5*d(Ee)*Math.pow(Ee.length,-1/3)))}function X(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re;if(Ae==null){for(;++Ce<ze;)if((me=Ee[Ce])!=null&&me>=me)for(Re=me;++Ce<ze;)(me=Ee[Ce])!=null&&me>Re&&(Re=me)}else for(;++Ce<ze;)if((me=Ae(Ee[Ce],Ce,Ee))!=null&&me>=me)for(Re=me;++Ce<ze;)(me=Ae(Ee[Ce],Ce,Ee))!=null&&me>Re&&(Re=me);return Re}function G(Ee,Ae){var ze=Ee.length,Ce=ze,me=-1,Re,ce=0;if(Ae==null)for(;++me<ze;)isNaN(Re=f(Ee[me]))?--Ce:ce+=Re;else for(;++me<ze;)isNaN(Re=f(Ae(Ee[me],me,Ee)))?--Ce:ce+=Re;if(Ce)return ce/Ce}function N(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re=[];if(Ae==null)for(;++Ce<ze;)isNaN(me=f(Ee[Ce]))||Re.push(me);else for(;++Ce<ze;)isNaN(me=f(Ae(Ee[Ce],Ce,Ee)))||Re.push(me);return q(Re.sort(t),.5)}function W(Ee){for(var Ae=Ee.length,ze,Ce=-1,me=0,Re,ce;++Ce<Ae;)me+=Ee[Ce].length;for(Re=new Array(me);--Ae>=0;)for(ce=Ee[Ae],ze=ce.length;--ze>=0;)Re[--me]=ce[ze];return Re}function re(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re;if(Ae==null){for(;++Ce<ze;)if((me=Ee[Ce])!=null&&me>=me)for(Re=me;++Ce<ze;)(me=Ee[Ce])!=null&&Re>me&&(Re=me)}else for(;++Ce<ze;)if((me=Ae(Ee[Ce],Ce,Ee))!=null&&me>=me)for(Re=me;++Ce<ze;)(me=Ae(Ee[Ce],Ce,Ee))!=null&&Re>me&&(Re=me);return Re}function ae(Ee,Ae){for(var ze=Ae.length,Ce=new Array(ze);ze--;)Ce[ze]=Ee[Ae[ze]];return Ce}function _e(Ee,Ae){if(ze=Ee.length){var ze,Ce=0,me=0,Re,ce=Ee[me];for(Ae==null&&(Ae=t);++Ce<ze;)(Ae(Re=Ee[Ce],ce)<0||Ae(ce,ce)!==0)&&(ce=Re,me=Ce);if(Ae(ce,ce)===0)return me}}function Me(Ee,Ae,ze){for(var Ce=(ze==null?Ee.length:ze)-(Ae=Ae==null?0:+Ae),me,Re;Ce;)Re=Math.random()*Ce--|0,me=Ee[Ce+Ae],Ee[Ce+Ae]=Ee[Re+Ae],Ee[Re+Ae]=me;return Ee}function ke(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re=0;if(Ae==null)for(;++Ce<ze;)(me=+Ee[Ce])&&(Re+=me);else for(;++Ce<ze;)(me=+Ae(Ee[Ce],Ce,Ee))&&(Re+=me);return Re}function ge(Ee){if(!(Re=Ee.length))return[];for(var Ae=-1,ze=re(Ee,ie),Ce=new Array(ze);++Ae<ze;)for(var me=-1,Re,ce=Ce[Ae]=new Array(Re);++me<Re;)ce[me]=Ee[me][Ae];return Ce}function ie(Ee){return Ee.length}function Te(){return ge(arguments)}e.bisect=a,e.bisectRight=a,e.bisectLeft=o,e.ascending=t,e.bisector=r,e.cross=u,e.descending=c,e.deviation=d,e.extent=v,e.histogram=F,e.thresholdFreedmanDiaconis=V,e.thresholdScott=H,e.thresholdSturges=T,e.max=X,e.mean=G,e.median=N,e.merge=W,e.min=re,e.pairs=s,e.permute=ae,e.quantile=q,e.range=A,e.scan=_e,e.shuffle=Me,e.sum=ke,e.ticks=M,e.tickIncrement=g,e.tickStep=P,e.transpose=ge,e.variance=h,e.zip=Te,Object.defineProperty(e,\"__esModule\",{value:!0})})});var xX=ye((Tz,_Re)=>{(function(e,t){typeof Tz==\"object\"&&typeof _Re!=\"undefined\"?t(Tz,$E()):(e=e||self,t(e.d3=e.d3||{},e.d3))})(Tz,function(e,t){\"use strict\";function r(){return new n}function n(){this.reset()}n.prototype={constructor:n,reset:function(){this.s=this.t=0},add:function(gt){a(i,gt,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(gt,Bt,wr){var vr=gt.s=Bt+wr,Ur=vr-Bt,fi=vr-Ur;gt.t=Bt-fi+(wr-Ur)}var o=1e-6,s=1e-12,l=Math.PI,u=l/2,c=l/4,f=l*2,h=180/l,d=l/180,v=Math.abs,x=Math.atan,b=Math.atan2,p=Math.cos,E=Math.ceil,k=Math.exp,A=Math.log,L=Math.pow,_=Math.sin,C=Math.sign||function(gt){return gt>0?1:gt<0?-1:0},M=Math.sqrt,g=Math.tan;function P(gt){return gt>1?0:gt<-1?l:Math.acos(gt)}function T(gt){return gt>1?u:gt<-1?-u:Math.asin(gt)}function F(gt){return(gt=_(gt/2))*gt}function q(){}function V(gt,Bt){gt&&X.hasOwnProperty(gt.type)&&X[gt.type](gt,Bt)}var H={Feature:function(gt,Bt){V(gt.geometry,Bt)},FeatureCollection:function(gt,Bt){for(var wr=gt.features,vr=-1,Ur=wr.length;++vr<Ur;)V(wr[vr].geometry,Bt)}},X={Sphere:function(gt,Bt){Bt.sphere()},Point:function(gt,Bt){gt=gt.coordinates,Bt.point(gt[0],gt[1],gt[2])},MultiPoint:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)gt=wr[vr],Bt.point(gt[0],gt[1],gt[2])},LineString:function(gt,Bt){G(gt.coordinates,Bt,0)},MultiLineString:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)G(wr[vr],Bt,0)},Polygon:function(gt,Bt){N(gt.coordinates,Bt)},MultiPolygon:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)N(wr[vr],Bt)},GeometryCollection:function(gt,Bt){for(var wr=gt.geometries,vr=-1,Ur=wr.length;++vr<Ur;)V(wr[vr],Bt)}};function G(gt,Bt,wr){var vr=-1,Ur=gt.length-wr,fi;for(Bt.lineStart();++vr<Ur;)fi=gt[vr],Bt.point(fi[0],fi[1],fi[2]);Bt.lineEnd()}function N(gt,Bt){var wr=-1,vr=gt.length;for(Bt.polygonStart();++wr<vr;)G(gt[wr],Bt,1);Bt.polygonEnd()}function W(gt,Bt){gt&&H.hasOwnProperty(gt.type)?H[gt.type](gt,Bt):V(gt,Bt)}var re=r(),ae=r(),_e,Me,ke,ge,ie,Te={point:q,lineStart:q,lineEnd:q,polygonStart:function(){re.reset(),Te.lineStart=Ee,Te.lineEnd=Ae},polygonEnd:function(){var gt=+re;ae.add(gt<0?f+gt:gt),this.lineStart=this.lineEnd=this.point=q},sphere:function(){ae.add(f)}};function Ee(){Te.point=ze}function Ae(){Ce(_e,Me)}function ze(gt,Bt){Te.point=Ce,_e=gt,Me=Bt,gt*=d,Bt*=d,ke=gt,ge=p(Bt=Bt/2+c),ie=_(Bt)}function Ce(gt,Bt){gt*=d,Bt*=d,Bt=Bt/2+c;var wr=gt-ke,vr=wr>=0?1:-1,Ur=vr*wr,fi=p(Bt),xi=_(Bt),Fi=ie*xi,Xi=ge*fi+Fi*p(Ur),hn=Fi*vr*_(Ur);re.add(b(hn,Xi)),ke=gt,ge=fi,ie=xi}function me(gt){return ae.reset(),W(gt,Te),ae*2}function Re(gt){return[b(gt[1],gt[0]),T(gt[2])]}function ce(gt){var Bt=gt[0],wr=gt[1],vr=p(wr);return[vr*p(Bt),vr*_(Bt),_(wr)]}function Ge(gt,Bt){return gt[0]*Bt[0]+gt[1]*Bt[1]+gt[2]*Bt[2]}function nt(gt,Bt){return[gt[1]*Bt[2]-gt[2]*Bt[1],gt[2]*Bt[0]-gt[0]*Bt[2],gt[0]*Bt[1]-gt[1]*Bt[0]]}function ct(gt,Bt){gt[0]+=Bt[0],gt[1]+=Bt[1],gt[2]+=Bt[2]}function qt(gt,Bt){return[gt[0]*Bt,gt[1]*Bt,gt[2]*Bt]}function rt(gt){var Bt=M(gt[0]*gt[0]+gt[1]*gt[1]+gt[2]*gt[2]);gt[0]/=Bt,gt[1]/=Bt,gt[2]/=Bt}var ot,Rt,kt,Ct,Yt,xr,er,Ke,xt=r(),bt,Lt,St={point:Et,lineStart:Ht,lineEnd:$t,polygonStart:function(){St.point=fr,St.lineStart=_r,St.lineEnd=Br,xt.reset(),Te.polygonStart()},polygonEnd:function(){Te.polygonEnd(),St.point=Et,St.lineStart=Ht,St.lineEnd=$t,re<0?(ot=-(kt=180),Rt=-(Ct=90)):xt>o?Ct=90:xt<-o&&(Rt=-90),Lt[0]=ot,Lt[1]=kt},sphere:function(){ot=-(kt=180),Rt=-(Ct=90)}};function Et(gt,Bt){bt.push(Lt=[ot=gt,kt=gt]),Bt<Rt&&(Rt=Bt),Bt>Ct&&(Ct=Bt)}function dt(gt,Bt){var wr=ce([gt*d,Bt*d]);if(Ke){var vr=nt(Ke,wr),Ur=[vr[1],-vr[0],0],fi=nt(Ur,vr);rt(fi),fi=Re(fi);var xi=gt-Yt,Fi=xi>0?1:-1,Xi=fi[0]*h*Fi,hn,Ti=v(xi)>180;Ti^(Fi*Yt<Xi&&Xi<Fi*gt)?(hn=fi[1]*h,hn>Ct&&(Ct=hn)):(Xi=(Xi+360)%360-180,Ti^(Fi*Yt<Xi&&Xi<Fi*gt)?(hn=-fi[1]*h,hn<Rt&&(Rt=hn)):(Bt<Rt&&(Rt=Bt),Bt>Ct&&(Ct=Bt))),Ti?gt<Yt?Or(ot,gt)>Or(ot,kt)&&(kt=gt):Or(gt,kt)>Or(ot,kt)&&(ot=gt):kt>=ot?(gt<ot&&(ot=gt),gt>kt&&(kt=gt)):gt>Yt?Or(ot,gt)>Or(ot,kt)&&(kt=gt):Or(gt,kt)>Or(ot,kt)&&(ot=gt)}else bt.push(Lt=[ot=gt,kt=gt]);Bt<Rt&&(Rt=Bt),Bt>Ct&&(Ct=Bt),Ke=wr,Yt=gt}function Ht(){St.point=dt}function $t(){Lt[0]=ot,Lt[1]=kt,St.point=Et,Ke=null}function fr(gt,Bt){if(Ke){var wr=gt-Yt;xt.add(v(wr)>180?wr+(wr>0?360:-360):wr)}else xr=gt,er=Bt;Te.point(gt,Bt),dt(gt,Bt)}function _r(){Te.lineStart()}function Br(){fr(xr,er),Te.lineEnd(),v(xt)>o&&(ot=-(kt=180)),Lt[0]=ot,Lt[1]=kt,Ke=null}function Or(gt,Bt){return(Bt-=gt)<0?Bt+360:Bt}function Nr(gt,Bt){return gt[0]-Bt[0]}function ut(gt,Bt){return gt[0]<=gt[1]?gt[0]<=Bt&&Bt<=gt[1]:Bt<gt[0]||gt[1]<Bt}function Ne(gt){var Bt,wr,vr,Ur,fi,xi,Fi;if(Ct=kt=-(ot=Rt=1/0),bt=[],W(gt,St),wr=bt.length){for(bt.sort(Nr),Bt=1,vr=bt[0],fi=[vr];Bt<wr;++Bt)Ur=bt[Bt],ut(vr,Ur[0])||ut(vr,Ur[1])?(Or(vr[0],Ur[1])>Or(vr[0],vr[1])&&(vr[1]=Ur[1]),Or(Ur[0],vr[1])>Or(vr[0],vr[1])&&(vr[0]=Ur[0])):fi.push(vr=Ur);for(xi=-1/0,wr=fi.length-1,Bt=0,vr=fi[wr];Bt<=wr;vr=Ur,++Bt)Ur=fi[Bt],(Fi=Or(vr[1],Ur[0]))>xi&&(xi=Fi,ot=Ur[0],kt=vr[1])}return bt=Lt=null,ot===1/0||Rt===1/0?[[NaN,NaN],[NaN,NaN]]:[[ot,Rt],[kt,Ct]]}var Ye,Ve,Xe,ht,Le,xe,Se,lt,Gt,Vt,ar,Qr,ai,jr,ri,bi,nn={sphere:q,point:Wi,lineStart:_n,lineEnd:Wn,polygonStart:function(){nn.lineStart=It,nn.lineEnd=ft},polygonEnd:function(){nn.lineStart=_n,nn.lineEnd=Wn}};function Wi(gt,Bt){gt*=d,Bt*=d;var wr=p(Bt);Ni(wr*p(gt),wr*_(gt),_(Bt))}function Ni(gt,Bt,wr){++Ye,Xe+=(gt-Xe)/Ye,ht+=(Bt-ht)/Ye,Le+=(wr-Le)/Ye}function _n(){nn.point=$i}function $i(gt,Bt){gt*=d,Bt*=d;var wr=p(Bt);jr=wr*p(gt),ri=wr*_(gt),bi=_(Bt),nn.point=zn,Ni(jr,ri,bi)}function zn(gt,Bt){gt*=d,Bt*=d;var wr=p(Bt),vr=wr*p(gt),Ur=wr*_(gt),fi=_(Bt),xi=b(M((xi=ri*fi-bi*Ur)*xi+(xi=bi*vr-jr*fi)*xi+(xi=jr*Ur-ri*vr)*xi),jr*vr+ri*Ur+bi*fi);Ve+=xi,xe+=xi*(jr+(jr=vr)),Se+=xi*(ri+(ri=Ur)),lt+=xi*(bi+(bi=fi)),Ni(jr,ri,bi)}function Wn(){nn.point=Wi}function It(){nn.point=jt}function ft(){Zt(Qr,ai),nn.point=Wi}function jt(gt,Bt){Qr=gt,ai=Bt,gt*=d,Bt*=d,nn.point=Zt;var wr=p(Bt);jr=wr*p(gt),ri=wr*_(gt),bi=_(Bt),Ni(jr,ri,bi)}function Zt(gt,Bt){gt*=d,Bt*=d;var wr=p(Bt),vr=wr*p(gt),Ur=wr*_(gt),fi=_(Bt),xi=ri*fi-bi*Ur,Fi=bi*vr-jr*fi,Xi=jr*Ur-ri*vr,hn=M(xi*xi+Fi*Fi+Xi*Xi),Ti=T(hn),qi=hn&&-Ti/hn;Gt+=qi*xi,Vt+=qi*Fi,ar+=qi*Xi,Ve+=Ti,xe+=Ti*(jr+(jr=vr)),Se+=Ti*(ri+(ri=Ur)),lt+=Ti*(bi+(bi=fi)),Ni(jr,ri,bi)}function yr(gt){Ye=Ve=Xe=ht=Le=xe=Se=lt=Gt=Vt=ar=0,W(gt,nn);var Bt=Gt,wr=Vt,vr=ar,Ur=Bt*Bt+wr*wr+vr*vr;return Ur<s&&(Bt=xe,wr=Se,vr=lt,Ve<o&&(Bt=Xe,wr=ht,vr=Le),Ur=Bt*Bt+wr*wr+vr*vr,Ur<s)?[NaN,NaN]:[b(wr,Bt)*h,T(vr/M(Ur))*h]}function Fr(gt){return function(){return gt}}function Zr(gt,Bt){function wr(vr,Ur){return vr=gt(vr,Ur),Bt(vr[0],vr[1])}return gt.invert&&Bt.invert&&(wr.invert=function(vr,Ur){return vr=Bt.invert(vr,Ur),vr&>.invert(vr[0],vr[1])}),wr}function Vr(gt,Bt){return[v(gt)>l?gt+Math.round(-gt/f)*f:gt,Bt]}Vr.invert=Vr;function gi(gt,Bt,wr){return(gt%=f)?Bt||wr?Zr(Mi(gt),Pi(Bt,wr)):Mi(gt):Bt||wr?Pi(Bt,wr):Vr}function Si(gt){return function(Bt,wr){return Bt+=gt,[Bt>l?Bt-f:Bt<-l?Bt+f:Bt,wr]}}function Mi(gt){var Bt=Si(gt);return Bt.invert=Si(-gt),Bt}function Pi(gt,Bt){var wr=p(gt),vr=_(gt),Ur=p(Bt),fi=_(Bt);function xi(Fi,Xi){var hn=p(Xi),Ti=p(Fi)*hn,qi=_(Fi)*hn,Ii=_(Xi),mi=Ii*wr+Ti*vr;return[b(qi*Ur-mi*fi,Ti*wr-Ii*vr),T(mi*Ur+qi*fi)]}return xi.invert=function(Fi,Xi){var hn=p(Xi),Ti=p(Fi)*hn,qi=_(Fi)*hn,Ii=_(Xi),mi=Ii*Ur-qi*fi;return[b(qi*Ur+Ii*fi,Ti*wr+mi*vr),T(mi*wr-Ti*vr)]},xi}function Gi(gt){gt=gi(gt[0]*d,gt[1]*d,gt.length>2?gt[2]*d:0);function Bt(wr){return wr=gt(wr[0]*d,wr[1]*d),wr[0]*=h,wr[1]*=h,wr}return Bt.invert=function(wr){return wr=gt.invert(wr[0]*d,wr[1]*d),wr[0]*=h,wr[1]*=h,wr},Bt}function Ki(gt,Bt,wr,vr,Ur,fi){if(wr){var xi=p(Bt),Fi=_(Bt),Xi=vr*wr;Ur==null?(Ur=Bt+vr*f,fi=Bt-Xi/2):(Ur=ka(xi,Ur),fi=ka(xi,fi),(vr>0?Ur<fi:Ur>fi)&&(Ur+=vr*f));for(var hn,Ti=Ur;vr>0?Ti>fi:Ti<fi;Ti-=Xi)hn=Re([xi,-Fi*p(Ti),-Fi*_(Ti)]),gt.point(hn[0],hn[1])}}function ka(gt,Bt){Bt=ce(Bt),Bt[0]-=gt,rt(Bt);var wr=P(-Bt[1]);return((-Bt[2]<0?-wr:wr)+f-o)%f}function jn(){var gt=Fr([0,0]),Bt=Fr(90),wr=Fr(6),vr,Ur,fi={point:xi};function xi(Xi,hn){vr.push(Xi=Ur(Xi,hn)),Xi[0]*=h,Xi[1]*=h}function Fi(){var Xi=gt.apply(this,arguments),hn=Bt.apply(this,arguments)*d,Ti=wr.apply(this,arguments)*d;return vr=[],Ur=gi(-Xi[0]*d,-Xi[1]*d,0).invert,Ki(fi,hn,Ti,1),Xi={type:\"Polygon\",coordinates:[vr]},vr=Ur=null,Xi}return Fi.center=function(Xi){return arguments.length?(gt=typeof Xi==\"function\"?Xi:Fr([+Xi[0],+Xi[1]]),Fi):gt},Fi.radius=function(Xi){return arguments.length?(Bt=typeof Xi==\"function\"?Xi:Fr(+Xi),Fi):Bt},Fi.precision=function(Xi){return arguments.length?(wr=typeof Xi==\"function\"?Xi:Fr(+Xi),Fi):wr},Fi}function la(){var gt=[],Bt;return{point:function(wr,vr,Ur){Bt.push([wr,vr,Ur])},lineStart:function(){gt.push(Bt=[])},lineEnd:q,rejoin:function(){gt.length>1&>.push(gt.pop().concat(gt.shift()))},result:function(){var wr=gt;return gt=[],Bt=null,wr}}}function Fa(gt,Bt){return v(gt[0]-Bt[0])<o&&v(gt[1]-Bt[1])<o}function Ra(gt,Bt,wr,vr){this.x=gt,this.z=Bt,this.o=wr,this.e=vr,this.v=!1,this.n=this.p=null}function jo(gt,Bt,wr,vr,Ur){var fi=[],xi=[],Fi,Xi;if(gt.forEach(function(Pn){if(!((Ma=Pn.length-1)<=0)){var Ma,Ta=Pn[0],Ea=Pn[Ma],qa;if(Fa(Ta,Ea)){if(!Ta[2]&&!Ea[2]){for(Ur.lineStart(),Fi=0;Fi<Ma;++Fi)Ur.point((Ta=Pn[Fi])[0],Ta[1]);Ur.lineEnd();return}Ea[0]+=2*o}fi.push(qa=new Ra(Ta,Pn,null,!0)),xi.push(qa.o=new Ra(Ta,null,qa,!1)),fi.push(qa=new Ra(Ea,Pn,null,!1)),xi.push(qa.o=new Ra(Ea,null,qa,!0))}}),!!fi.length){for(xi.sort(Bt),oa(fi),oa(xi),Fi=0,Xi=xi.length;Fi<Xi;++Fi)xi[Fi].e=wr=!wr;for(var hn=fi[0],Ti,qi;;){for(var Ii=hn,mi=!0;Ii.v;)if((Ii=Ii.n)===hn)return;Ti=Ii.z,Ur.lineStart();do{if(Ii.v=Ii.o.v=!0,Ii.e){if(mi)for(Fi=0,Xi=Ti.length;Fi<Xi;++Fi)Ur.point((qi=Ti[Fi])[0],qi[1]);else vr(Ii.x,Ii.n.x,1,Ur);Ii=Ii.n}else{if(mi)for(Ti=Ii.p.z,Fi=Ti.length-1;Fi>=0;--Fi)Ur.point((qi=Ti[Fi])[0],qi[1]);else vr(Ii.x,Ii.p.x,-1,Ur);Ii=Ii.p}Ii=Ii.o,Ti=Ii.z,mi=!mi}while(!Ii.v);Ur.lineEnd()}}}function oa(gt){if(Bt=gt.length){for(var Bt,wr=0,vr=gt[0],Ur;++wr<Bt;)vr.n=Ur=gt[wr],Ur.p=vr,vr=Ur;vr.n=Ur=gt[0],Ur.p=vr}}var Sn=r();function Ha(gt){return v(gt[0])<=l?gt[0]:C(gt[0])*((v(gt[0])+l)%f-l)}function oo(gt,Bt){var wr=Ha(Bt),vr=Bt[1],Ur=_(vr),fi=[_(wr),-p(wr),0],xi=0,Fi=0;Sn.reset(),Ur===1?vr=u+o:Ur===-1&&(vr=-u-o);for(var Xi=0,hn=gt.length;Xi<hn;++Xi)if(qi=(Ti=gt[Xi]).length)for(var Ti,qi,Ii=Ti[qi-1],mi=Ha(Ii),Pn=Ii[1]/2+c,Ma=_(Pn),Ta=p(Pn),Ea=0;Ea<qi;++Ea,mi=Cn,Ma=Ua,Ta=mo,Ii=qa){var qa=Ti[Ea],Cn=Ha(qa),sn=qa[1]/2+c,Ua=_(sn),mo=p(sn),Xo=Cn-mi,Ts=Xo>=0?1:-1,Qo=Ts*Xo,ys=Qo>l,Bo=Ma*Ua;if(Sn.add(b(Bo*Ts*_(Qo),Ta*mo+Bo*p(Qo))),xi+=ys?Xo+Ts*f:Xo,ys^mi>=wr^Cn>=wr){var yl=nt(ce(Ii),ce(qa));rt(yl);var Gs=nt(fi,yl);rt(Gs);var Rs=(ys^Xo>=0?-1:1)*T(Gs[2]);(vr>Rs||vr===Rs&&(yl[0]||yl[1]))&&(Fi+=ys^Xo>=0?1:-1)}}return(xi<-o||xi<o&&Sn<-o)^Fi&1}function xn(gt,Bt,wr,vr){return function(Ur){var fi=Bt(Ur),xi=la(),Fi=Bt(xi),Xi=!1,hn,Ti,qi,Ii={point:mi,lineStart:Ma,lineEnd:Ta,polygonStart:function(){Ii.point=Ea,Ii.lineStart=qa,Ii.lineEnd=Cn,Ti=[],hn=[]},polygonEnd:function(){Ii.point=mi,Ii.lineStart=Ma,Ii.lineEnd=Ta,Ti=t.merge(Ti);var sn=oo(hn,vr);Ti.length?(Xi||(Ur.polygonStart(),Xi=!0),jo(Ti,br,sn,wr,Ur)):sn&&(Xi||(Ur.polygonStart(),Xi=!0),Ur.lineStart(),wr(null,null,1,Ur),Ur.lineEnd()),Xi&&(Ur.polygonEnd(),Xi=!1),Ti=hn=null},sphere:function(){Ur.polygonStart(),Ur.lineStart(),wr(null,null,1,Ur),Ur.lineEnd(),Ur.polygonEnd()}};function mi(sn,Ua){gt(sn,Ua)&&Ur.point(sn,Ua)}function Pn(sn,Ua){fi.point(sn,Ua)}function Ma(){Ii.point=Pn,fi.lineStart()}function Ta(){Ii.point=mi,fi.lineEnd()}function Ea(sn,Ua){qi.push([sn,Ua]),Fi.point(sn,Ua)}function qa(){Fi.lineStart(),qi=[]}function Cn(){Ea(qi[0][0],qi[0][1]),Fi.lineEnd();var sn=Fi.clean(),Ua=xi.result(),mo,Xo=Ua.length,Ts,Qo,ys;if(qi.pop(),hn.push(qi),qi=null,!!Xo){if(sn&1){if(Qo=Ua[0],(Ts=Qo.length-1)>0){for(Xi||(Ur.polygonStart(),Xi=!0),Ur.lineStart(),mo=0;mo<Ts;++mo)Ur.point((ys=Qo[mo])[0],ys[1]);Ur.lineEnd()}return}Xo>1&&sn&2&&Ua.push(Ua.pop().concat(Ua.shift())),Ti.push(Ua.filter(_t))}}return Ii}}function _t(gt){return gt.length>1}function br(gt,Bt){return((gt=gt.x)[0]<0?gt[1]-u-o:u-gt[1])-((Bt=Bt.x)[0]<0?Bt[1]-u-o:u-Bt[1])}var Hr=xn(function(){return!0},ti,Yi,[-l,-u]);function ti(gt){var Bt=NaN,wr=NaN,vr=NaN,Ur;return{lineStart:function(){gt.lineStart(),Ur=1},point:function(fi,xi){var Fi=fi>0?l:-l,Xi=v(fi-Bt);v(Xi-l)<o?(gt.point(Bt,wr=(wr+xi)/2>0?u:-u),gt.point(vr,wr),gt.lineEnd(),gt.lineStart(),gt.point(Fi,wr),gt.point(fi,wr),Ur=0):vr!==Fi&&Xi>=l&&(v(Bt-vr)<o&&(Bt-=vr*o),v(fi-Fi)<o&&(fi-=Fi*o),wr=zi(Bt,wr,fi,xi),gt.point(vr,wr),gt.lineEnd(),gt.lineStart(),gt.point(Fi,wr),Ur=0),gt.point(Bt=fi,wr=xi),vr=Fi},lineEnd:function(){gt.lineEnd(),Bt=wr=NaN},clean:function(){return 2-Ur}}}function zi(gt,Bt,wr,vr){var Ur,fi,xi=_(gt-wr);return v(xi)>o?x((_(Bt)*(fi=p(vr))*_(wr)-_(vr)*(Ur=p(Bt))*_(gt))/(Ur*fi*xi)):(Bt+vr)/2}function Yi(gt,Bt,wr,vr){var Ur;if(gt==null)Ur=wr*u,vr.point(-l,Ur),vr.point(0,Ur),vr.point(l,Ur),vr.point(l,0),vr.point(l,-Ur),vr.point(0,-Ur),vr.point(-l,-Ur),vr.point(-l,0),vr.point(-l,Ur);else if(v(gt[0]-Bt[0])>o){var fi=gt[0]<Bt[0]?l:-l;Ur=wr*fi/2,vr.point(-fi,Ur),vr.point(0,Ur),vr.point(fi,Ur)}else vr.point(Bt[0],Bt[1])}function an(gt){var Bt=p(gt),wr=6*d,vr=Bt>0,Ur=v(Bt)>o;function fi(Ti,qi,Ii,mi){Ki(mi,gt,wr,Ii,Ti,qi)}function xi(Ti,qi){return p(Ti)*p(qi)>Bt}function Fi(Ti){var qi,Ii,mi,Pn,Ma;return{lineStart:function(){Pn=mi=!1,Ma=1},point:function(Ta,Ea){var qa=[Ta,Ea],Cn,sn=xi(Ta,Ea),Ua=vr?sn?0:hn(Ta,Ea):sn?hn(Ta+(Ta<0?l:-l),Ea):0;if(!qi&&(Pn=mi=sn)&&Ti.lineStart(),sn!==mi&&(Cn=Xi(qi,qa),(!Cn||Fa(qi,Cn)||Fa(qa,Cn))&&(qa[2]=1)),sn!==mi)Ma=0,sn?(Ti.lineStart(),Cn=Xi(qa,qi),Ti.point(Cn[0],Cn[1])):(Cn=Xi(qi,qa),Ti.point(Cn[0],Cn[1],2),Ti.lineEnd()),qi=Cn;else if(Ur&&qi&&vr^sn){var mo;!(Ua&Ii)&&(mo=Xi(qa,qi,!0))&&(Ma=0,vr?(Ti.lineStart(),Ti.point(mo[0][0],mo[0][1]),Ti.point(mo[1][0],mo[1][1]),Ti.lineEnd()):(Ti.point(mo[1][0],mo[1][1]),Ti.lineEnd(),Ti.lineStart(),Ti.point(mo[0][0],mo[0][1],3)))}sn&&(!qi||!Fa(qi,qa))&&Ti.point(qa[0],qa[1]),qi=qa,mi=sn,Ii=Ua},lineEnd:function(){mi&&Ti.lineEnd(),qi=null},clean:function(){return Ma|(Pn&&mi)<<1}}}function Xi(Ti,qi,Ii){var mi=ce(Ti),Pn=ce(qi),Ma=[1,0,0],Ta=nt(mi,Pn),Ea=Ge(Ta,Ta),qa=Ta[0],Cn=Ea-qa*qa;if(!Cn)return!Ii&&Ti;var sn=Bt*Ea/Cn,Ua=-Bt*qa/Cn,mo=nt(Ma,Ta),Xo=qt(Ma,sn),Ts=qt(Ta,Ua);ct(Xo,Ts);var Qo=mo,ys=Ge(Xo,Qo),Bo=Ge(Qo,Qo),yl=ys*ys-Bo*(Ge(Xo,Xo)-1);if(!(yl<0)){var Gs=M(yl),Rs=qt(Qo,(-ys-Gs)/Bo);if(ct(Rs,Xo),Rs=Re(Rs),!Ii)return Rs;var ia=Ti[0],Ka=qi[0],vs=Ti[1],Ko=qi[1],nu;Ka<ia&&(nu=ia,ia=Ka,Ka=nu);var Ru=Ka-ia,ac=v(Ru-l)<o,mf=ac||Ru<o;if(!ac&&Ko<vs&&(nu=vs,vs=Ko,Ko=nu),mf?ac?vs+Ko>0^Rs[1]<(v(Rs[0]-ia)<o?vs:Ko):vs<=Rs[1]&&Rs[1]<=Ko:Ru>l^(ia<=Rs[0]&&Rs[0]<=Ka)){var bu=qt(Qo,(-ys+Gs)/Bo);return ct(bu,Xo),[Rs,Re(bu)]}}}function hn(Ti,qi){var Ii=vr?gt:l-gt,mi=0;return Ti<-Ii?mi|=1:Ti>Ii&&(mi|=2),qi<-Ii?mi|=4:qi>Ii&&(mi|=8),mi}return xn(xi,Fi,fi,vr?[0,-gt]:[-l,gt-l])}function hi(gt,Bt,wr,vr,Ur,fi){var xi=gt[0],Fi=gt[1],Xi=Bt[0],hn=Bt[1],Ti=0,qi=1,Ii=Xi-xi,mi=hn-Fi,Pn;if(Pn=wr-xi,!(!Ii&&Pn>0)){if(Pn/=Ii,Ii<0){if(Pn<Ti)return;Pn<qi&&(qi=Pn)}else if(Ii>0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}if(Pn=Ur-xi,!(!Ii&&Pn<0)){if(Pn/=Ii,Ii<0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}else if(Ii>0){if(Pn<Ti)return;Pn<qi&&(qi=Pn)}if(Pn=vr-Fi,!(!mi&&Pn>0)){if(Pn/=mi,mi<0){if(Pn<Ti)return;Pn<qi&&(qi=Pn)}else if(mi>0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}if(Pn=fi-Fi,!(!mi&&Pn<0)){if(Pn/=mi,mi<0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}else if(mi>0){if(Pn<Ti)return;Pn<qi&&(qi=Pn)}return Ti>0&&(gt[0]=xi+Ti*Ii,gt[1]=Fi+Ti*mi),qi<1&&(Bt[0]=xi+qi*Ii,Bt[1]=Fi+qi*mi),!0}}}}}var Ji=1e9,ua=-Ji;function Fn(gt,Bt,wr,vr){function Ur(hn,Ti){return gt<=hn&&hn<=wr&&Bt<=Ti&&Ti<=vr}function fi(hn,Ti,qi,Ii){var mi=0,Pn=0;if(hn==null||(mi=xi(hn,qi))!==(Pn=xi(Ti,qi))||Xi(hn,Ti)<0^qi>0)do Ii.point(mi===0||mi===3?gt:wr,mi>1?vr:Bt);while((mi=(mi+qi+4)%4)!==Pn);else Ii.point(Ti[0],Ti[1])}function xi(hn,Ti){return v(hn[0]-gt)<o?Ti>0?0:3:v(hn[0]-wr)<o?Ti>0?2:1:v(hn[1]-Bt)<o?Ti>0?1:0:Ti>0?3:2}function Fi(hn,Ti){return Xi(hn.x,Ti.x)}function Xi(hn,Ti){var qi=xi(hn,1),Ii=xi(Ti,1);return qi!==Ii?qi-Ii:qi===0?Ti[1]-hn[1]:qi===1?hn[0]-Ti[0]:qi===2?hn[1]-Ti[1]:Ti[0]-hn[0]}return function(hn){var Ti=hn,qi=la(),Ii,mi,Pn,Ma,Ta,Ea,qa,Cn,sn,Ua,mo,Xo={point:Ts,lineStart:yl,lineEnd:Gs,polygonStart:ys,polygonEnd:Bo};function Ts(ia,Ka){Ur(ia,Ka)&&Ti.point(ia,Ka)}function Qo(){for(var ia=0,Ka=0,vs=mi.length;Ka<vs;++Ka)for(var Ko=mi[Ka],nu=1,Ru=Ko.length,ac=Ko[0],mf,bu,Kc=ac[0],Du=ac[1];nu<Ru;++nu)mf=Kc,bu=Du,ac=Ko[nu],Kc=ac[0],Du=ac[1],bu<=vr?Du>vr&&(Kc-mf)*(vr-bu)>(Du-bu)*(gt-mf)&&++ia:Du<=vr&&(Kc-mf)*(vr-bu)<(Du-bu)*(gt-mf)&&--ia;return ia}function ys(){Ti=qi,Ii=[],mi=[],mo=!0}function Bo(){var ia=Qo(),Ka=mo&&ia,vs=(Ii=t.merge(Ii)).length;(Ka||vs)&&(hn.polygonStart(),Ka&&(hn.lineStart(),fi(null,null,1,hn),hn.lineEnd()),vs&&jo(Ii,Fi,ia,fi,hn),hn.polygonEnd()),Ti=hn,Ii=mi=Pn=null}function yl(){Xo.point=Rs,mi&&mi.push(Pn=[]),Ua=!0,sn=!1,qa=Cn=NaN}function Gs(){Ii&&(Rs(Ma,Ta),Ea&&sn&&qi.rejoin(),Ii.push(qi.result())),Xo.point=Ts,sn&&Ti.lineEnd()}function Rs(ia,Ka){var vs=Ur(ia,Ka);if(mi&&Pn.push([ia,Ka]),Ua)Ma=ia,Ta=Ka,Ea=vs,Ua=!1,vs&&(Ti.lineStart(),Ti.point(ia,Ka));else if(vs&&sn)Ti.point(ia,Ka);else{var Ko=[qa=Math.max(ua,Math.min(Ji,qa)),Cn=Math.max(ua,Math.min(Ji,Cn))],nu=[ia=Math.max(ua,Math.min(Ji,ia)),Ka=Math.max(ua,Math.min(Ji,Ka))];hi(Ko,nu,gt,Bt,wr,vr)?(sn||(Ti.lineStart(),Ti.point(Ko[0],Ko[1])),Ti.point(nu[0],nu[1]),vs||Ti.lineEnd(),mo=!1):vs&&(Ti.lineStart(),Ti.point(ia,Ka),mo=!1)}qa=ia,Cn=Ka,sn=vs}return Xo}}function Sa(){var gt=0,Bt=0,wr=960,vr=500,Ur,fi,xi;return xi={stream:function(Fi){return Ur&&fi===Fi?Ur:Ur=Fn(gt,Bt,wr,vr)(fi=Fi)},extent:function(Fi){return arguments.length?(gt=+Fi[0][0],Bt=+Fi[0][1],wr=+Fi[1][0],vr=+Fi[1][1],Ur=fi=null,xi):[[gt,Bt],[wr,vr]]}}}var go=r(),Oo,ho,Mo,xo={sphere:q,point:q,lineStart:zs,lineEnd:q,polygonStart:q,polygonEnd:q};function zs(){xo.point=Zs,xo.lineEnd=ks}function ks(){xo.point=xo.lineEnd=q}function Zs(gt,Bt){gt*=d,Bt*=d,Oo=gt,ho=_(Bt),Mo=p(Bt),xo.point=Xs}function Xs(gt,Bt){gt*=d,Bt*=d;var wr=_(Bt),vr=p(Bt),Ur=v(gt-Oo),fi=p(Ur),xi=_(Ur),Fi=vr*xi,Xi=Mo*wr-ho*vr*fi,hn=ho*wr+Mo*vr*fi;go.add(b(M(Fi*Fi+Xi*Xi),hn)),Oo=gt,ho=wr,Mo=vr}function wl(gt){return go.reset(),W(gt,xo),+go}var os=[null,null],cl={type:\"LineString\",coordinates:os};function Cs(gt,Bt){return os[0]=gt,os[1]=Bt,wl(cl)}var ml={Feature:function(gt,Bt){return Hs(gt.geometry,Bt)},FeatureCollection:function(gt,Bt){for(var wr=gt.features,vr=-1,Ur=wr.length;++vr<Ur;)if(Hs(wr[vr].geometry,Bt))return!0;return!1}},Ys={Sphere:function(){return!0},Point:function(gt,Bt){return Eo(gt.coordinates,Bt)},MultiPoint:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)if(Eo(wr[vr],Bt))return!0;return!1},LineString:function(gt,Bt){return fs(gt.coordinates,Bt)},MultiLineString:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)if(fs(wr[vr],Bt))return!0;return!1},Polygon:function(gt,Bt){return Ql(gt.coordinates,Bt)},MultiPolygon:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)if(Ql(wr[vr],Bt))return!0;return!1},GeometryCollection:function(gt,Bt){for(var wr=gt.geometries,vr=-1,Ur=wr.length;++vr<Ur;)if(Hs(wr[vr],Bt))return!0;return!1}};function Hs(gt,Bt){return gt&&Ys.hasOwnProperty(gt.type)?Ys[gt.type](gt,Bt):!1}function Eo(gt,Bt){return Cs(gt,Bt)===0}function fs(gt,Bt){for(var wr,vr,Ur,fi=0,xi=gt.length;fi<xi;fi++){if(vr=Cs(gt[fi],Bt),vr===0||fi>0&&(Ur=Cs(gt[fi],gt[fi-1]),Ur>0&&wr<=Ur&&vr<=Ur&&(wr+vr-Ur)*(1-Math.pow((wr-vr)/Ur,2))<s*Ur))return!0;wr=vr}return!1}function Ql(gt,Bt){return!!oo(gt.map(Hu),fc(Bt))}function Hu(gt){return gt=gt.map(fc),gt.pop(),gt}function fc(gt){return[gt[0]*d,gt[1]*d]}function ms(gt,Bt){return(gt&&ml.hasOwnProperty(gt.type)?ml[gt.type]:Hs)(gt,Bt)}function on(gt,Bt,wr){var vr=t.range(gt,Bt-o,wr).concat(Bt);return function(Ur){return vr.map(function(fi){return[Ur,fi]})}}function fa(gt,Bt,wr){var vr=t.range(gt,Bt-o,wr).concat(Bt);return function(Ur){return vr.map(function(fi){return[fi,Ur]})}}function Qu(){var gt,Bt,wr,vr,Ur,fi,xi,Fi,Xi=10,hn=Xi,Ti=90,qi=360,Ii,mi,Pn,Ma,Ta=2.5;function Ea(){return{type:\"MultiLineString\",coordinates:qa()}}function qa(){return t.range(E(vr/Ti)*Ti,wr,Ti).map(Pn).concat(t.range(E(Fi/qi)*qi,xi,qi).map(Ma)).concat(t.range(E(Bt/Xi)*Xi,gt,Xi).filter(function(Cn){return v(Cn%Ti)>o}).map(Ii)).concat(t.range(E(fi/hn)*hn,Ur,hn).filter(function(Cn){return v(Cn%qi)>o}).map(mi))}return Ea.lines=function(){return qa().map(function(Cn){return{type:\"LineString\",coordinates:Cn}})},Ea.outline=function(){return{type:\"Polygon\",coordinates:[Pn(vr).concat(Ma(xi).slice(1),Pn(wr).reverse().slice(1),Ma(Fi).reverse().slice(1))]}},Ea.extent=function(Cn){return arguments.length?Ea.extentMajor(Cn).extentMinor(Cn):Ea.extentMinor()},Ea.extentMajor=function(Cn){return arguments.length?(vr=+Cn[0][0],wr=+Cn[1][0],Fi=+Cn[0][1],xi=+Cn[1][1],vr>wr&&(Cn=vr,vr=wr,wr=Cn),Fi>xi&&(Cn=Fi,Fi=xi,xi=Cn),Ea.precision(Ta)):[[vr,Fi],[wr,xi]]},Ea.extentMinor=function(Cn){return arguments.length?(Bt=+Cn[0][0],gt=+Cn[1][0],fi=+Cn[0][1],Ur=+Cn[1][1],Bt>gt&&(Cn=Bt,Bt=gt,gt=Cn),fi>Ur&&(Cn=fi,fi=Ur,Ur=Cn),Ea.precision(Ta)):[[Bt,fi],[gt,Ur]]},Ea.step=function(Cn){return arguments.length?Ea.stepMajor(Cn).stepMinor(Cn):Ea.stepMinor()},Ea.stepMajor=function(Cn){return arguments.length?(Ti=+Cn[0],qi=+Cn[1],Ea):[Ti,qi]},Ea.stepMinor=function(Cn){return arguments.length?(Xi=+Cn[0],hn=+Cn[1],Ea):[Xi,hn]},Ea.precision=function(Cn){return arguments.length?(Ta=+Cn,Ii=on(fi,Ur,90),mi=fa(Bt,gt,Ta),Pn=on(Fi,xi,90),Ma=fa(vr,wr,Ta),Ea):Ta},Ea.extentMajor([[-180,-90+o],[180,90-o]]).extentMinor([[-180,-80-o],[180,80+o]])}function Rl(){return Qu()()}function vo(gt,Bt){var wr=gt[0]*d,vr=gt[1]*d,Ur=Bt[0]*d,fi=Bt[1]*d,xi=p(vr),Fi=_(vr),Xi=p(fi),hn=_(fi),Ti=xi*p(wr),qi=xi*_(wr),Ii=Xi*p(Ur),mi=Xi*_(Ur),Pn=2*T(M(F(fi-vr)+xi*Xi*F(Ur-wr))),Ma=_(Pn),Ta=Pn?function(Ea){var qa=_(Ea*=Pn)/Ma,Cn=_(Pn-Ea)/Ma,sn=Cn*Ti+qa*Ii,Ua=Cn*qi+qa*mi,mo=Cn*Fi+qa*hn;return[b(Ua,sn)*h,b(mo,M(sn*sn+Ua*Ua))*h]}:function(){return[wr*h,vr*h]};return Ta.distance=Pn,Ta}function Zl(gt){return gt}var Ks=r(),Xl=r(),Ec,Zn,ko,Co,Tl={point:q,lineStart:q,lineEnd:q,polygonStart:function(){Tl.lineStart=uf,Tl.lineEnd=rh},polygonEnd:function(){Tl.lineStart=Tl.lineEnd=Tl.point=q,Ks.add(v(Xl)),Xl.reset()},result:function(){var gt=Ks/2;return Ks.reset(),gt}};function uf(){Tl.point=So}function So(gt,Bt){Tl.point=cf,Ec=ko=gt,Zn=Co=Bt}function cf(gt,Bt){Xl.add(Co*gt-ko*Bt),ko=gt,Co=Bt}function rh(){cf(Ec,Zn)}var Al=1/0,Hc=Al,eu=-Al,Ls=eu,mu={point:kc,lineStart:q,lineEnd:q,polygonStart:q,polygonEnd:q,result:function(){var gt=[[Al,Hc],[eu,Ls]];return eu=Ls=-(Hc=Al=1/0),gt}};function kc(gt,Bt){gt<Al&&(Al=gt),gt>eu&&(eu=gt),Bt<Hc&&(Hc=Bt),Bt>Ls&&(Ls=Bt)}var Of=0,Gc=0,vd=0,Bf=0,ss=0,ff=0,ih=0,Vl=0,Js=0,hc,Cc,ws,$s,hs={point:Ms,lineStart:dc,lineEnd:Ps,polygonStart:function(){hs.lineStart=ov,hs.lineEnd=wo},polygonEnd:function(){hs.point=Ms,hs.lineStart=dc,hs.lineEnd=Ps},result:function(){var gt=Js?[ih/Js,Vl/Js]:ff?[Bf/ff,ss/ff]:vd?[Of/vd,Gc/vd]:[NaN,NaN];return Of=Gc=vd=Bf=ss=ff=ih=Vl=Js=0,gt}};function Ms(gt,Bt){Of+=gt,Gc+=Bt,++vd}function dc(){hs.point=Sl}function Sl(gt,Bt){hs.point=ec,Ms(ws=gt,$s=Bt)}function ec(gt,Bt){var wr=gt-ws,vr=Bt-$s,Ur=M(wr*wr+vr*vr);Bf+=Ur*(ws+gt)/2,ss+=Ur*($s+Bt)/2,ff+=Ur,Ms(ws=gt,$s=Bt)}function Ps(){hs.point=Ms}function ov(){hs.point=Od}function wo(){$o(hc,Cc)}function Od(gt,Bt){hs.point=$o,Ms(hc=ws=gt,Cc=$s=Bt)}function $o(gt,Bt){var wr=gt-ws,vr=Bt-$s,Ur=M(wr*wr+vr*vr);Bf+=Ur*(ws+gt)/2,ss+=Ur*($s+Bt)/2,ff+=Ur,Ur=$s*gt-ws*Bt,ih+=Ur*(ws+gt),Vl+=Ur*($s+Bt),Js+=Ur*3,Ms(ws=gt,$s=Bt)}function Ja(gt){this._context=gt}Ja.prototype={_radius:4.5,pointRadius:function(gt){return this._radius=gt,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(gt,Bt){switch(this._point){case 0:{this._context.moveTo(gt,Bt),this._point=1;break}case 1:{this._context.lineTo(gt,Bt);break}default:{this._context.moveTo(gt+this._radius,Bt),this._context.arc(gt,Bt,this._radius,0,f);break}}},result:q};var Ef=r(),tc,uu,Mh,jc,kf,Ml={point:q,lineStart:function(){Ml.point=Yh},lineEnd:function(){tc&&Eh(uu,Mh),Ml.point=q},polygonStart:function(){tc=!0},polygonEnd:function(){tc=null},result:function(){var gt=+Ef;return Ef.reset(),gt}};function Yh(gt,Bt){Ml.point=Eh,uu=jc=gt,Mh=kf=Bt}function Eh(gt,Bt){jc-=gt,kf-=Bt,Ef.add(M(jc*jc+kf*kf)),jc=gt,kf=Bt}function nh(){this._string=[]}nh.prototype={_radius:4.5,_circle:hf(4.5),pointRadius:function(gt){return(gt=+gt)!==this._radius&&(this._radius=gt,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._string.push(\"Z\"),this._point=NaN},point:function(gt,Bt){switch(this._point){case 0:{this._string.push(\"M\",gt,\",\",Bt),this._point=1;break}case 1:{this._string.push(\"L\",gt,\",\",Bt);break}default:{this._circle==null&&(this._circle=hf(this._radius)),this._string.push(\"M\",gt,\",\",Bt,this._circle);break}}},result:function(){if(this._string.length){var gt=this._string.join(\"\");return this._string=[],gt}else return null}};function hf(gt){return\"m0,\"+gt+\"a\"+gt+\",\"+gt+\" 0 1,1 0,\"+-2*gt+\"a\"+gt+\",\"+gt+\" 0 1,1 0,\"+2*gt+\"z\"}function kh(gt,Bt){var wr=4.5,vr,Ur;function fi(xi){return xi&&(typeof wr==\"function\"&&Ur.pointRadius(+wr.apply(this,arguments)),W(xi,vr(Ur))),Ur.result()}return fi.area=function(xi){return W(xi,vr(Tl)),Tl.result()},fi.measure=function(xi){return W(xi,vr(Ml)),Ml.result()},fi.bounds=function(xi){return W(xi,vr(mu)),mu.result()},fi.centroid=function(xi){return W(xi,vr(hs)),hs.result()},fi.projection=function(xi){return arguments.length?(vr=xi==null?(gt=null,Zl):(gt=xi).stream,fi):gt},fi.context=function(xi){return arguments.length?(Ur=xi==null?(Bt=null,new nh):new Ja(Bt=xi),typeof wr!=\"function\"&&Ur.pointRadius(wr),fi):Bt},fi.pointRadius=function(xi){return arguments.length?(wr=typeof xi==\"function\"?xi:(Ur.pointRadius(+xi),+xi),fi):wr},fi.projection(gt).context(Bt)}function Kh(gt){return{stream:rc(gt)}}function rc(gt){return function(Bt){var wr=new ah;for(var vr in gt)wr[vr]=gt[vr];return wr.stream=Bt,wr}}function ah(){}ah.prototype={constructor:ah,point:function(gt,Bt){this.stream.point(gt,Bt)},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()}};function Wc(gt,Bt,wr){var vr=gt.clipExtent&>.clipExtent();return gt.scale(150).translate([0,0]),vr!=null&>.clipExtent(null),W(wr,gt.stream(mu)),Bt(mu.result()),vr!=null&>.clipExtent(vr),gt}function df(gt,Bt,wr){return Wc(gt,function(vr){var Ur=Bt[1][0]-Bt[0][0],fi=Bt[1][1]-Bt[0][1],xi=Math.min(Ur/(vr[1][0]-vr[0][0]),fi/(vr[1][1]-vr[0][1])),Fi=+Bt[0][0]+(Ur-xi*(vr[1][0]+vr[0][0]))/2,Xi=+Bt[0][1]+(fi-xi*(vr[1][1]+vr[0][1]))/2;gt.scale(150*xi).translate([Fi,Xi])},wr)}function Cu(gt,Bt,wr){return df(gt,[[0,0],Bt],wr)}function Nf(gt,Bt,wr){return Wc(gt,function(vr){var Ur=+Bt,fi=Ur/(vr[1][0]-vr[0][0]),xi=(Ur-fi*(vr[1][0]+vr[0][0]))/2,Fi=-fi*vr[0][1];gt.scale(150*fi).translate([xi,Fi])},wr)}function Zc(gt,Bt,wr){return Wc(gt,function(vr){var Ur=+Bt,fi=Ur/(vr[1][1]-vr[0][1]),xi=-fi*vr[0][0],Fi=(Ur-fi*(vr[1][1]+vr[0][1]))/2;gt.scale(150*fi).translate([xi,Fi])},wr)}var ds=16,Ch=p(30*d);function Bd(gt,Bt){return+Bt?Cf(gt,Bt):Jh(gt)}function Jh(gt){return rc({point:function(Bt,wr){Bt=gt(Bt,wr),this.stream.point(Bt[0],Bt[1])}})}function Cf(gt,Bt){function wr(vr,Ur,fi,xi,Fi,Xi,hn,Ti,qi,Ii,mi,Pn,Ma,Ta){var Ea=hn-vr,qa=Ti-Ur,Cn=Ea*Ea+qa*qa;if(Cn>4*Bt&&Ma--){var sn=xi+Ii,Ua=Fi+mi,mo=Xi+Pn,Xo=M(sn*sn+Ua*Ua+mo*mo),Ts=T(mo/=Xo),Qo=v(v(mo)-1)<o||v(fi-qi)<o?(fi+qi)/2:b(Ua,sn),ys=gt(Qo,Ts),Bo=ys[0],yl=ys[1],Gs=Bo-vr,Rs=yl-Ur,ia=qa*Gs-Ea*Rs;(ia*ia/Cn>Bt||v((Ea*Gs+qa*Rs)/Cn-.5)>.3||xi*Ii+Fi*mi+Xi*Pn<Ch)&&(wr(vr,Ur,fi,xi,Fi,Xi,Bo,yl,Qo,sn/=Xo,Ua/=Xo,mo,Ma,Ta),Ta.point(Bo,yl),wr(Bo,yl,Qo,sn,Ua,mo,hn,Ti,qi,Ii,mi,Pn,Ma,Ta))}}return function(vr){var Ur,fi,xi,Fi,Xi,hn,Ti,qi,Ii,mi,Pn,Ma,Ta={point:Ea,lineStart:qa,lineEnd:sn,polygonStart:function(){vr.polygonStart(),Ta.lineStart=Ua},polygonEnd:function(){vr.polygonEnd(),Ta.lineStart=qa}};function Ea(Ts,Qo){Ts=gt(Ts,Qo),vr.point(Ts[0],Ts[1])}function qa(){qi=NaN,Ta.point=Cn,vr.lineStart()}function Cn(Ts,Qo){var ys=ce([Ts,Qo]),Bo=gt(Ts,Qo);wr(qi,Ii,Ti,mi,Pn,Ma,qi=Bo[0],Ii=Bo[1],Ti=Ts,mi=ys[0],Pn=ys[1],Ma=ys[2],ds,vr),vr.point(qi,Ii)}function sn(){Ta.point=Ea,vr.lineEnd()}function Ua(){qa(),Ta.point=mo,Ta.lineEnd=Xo}function mo(Ts,Qo){Cn(Ur=Ts,Qo),fi=qi,xi=Ii,Fi=mi,Xi=Pn,hn=Ma,Ta.point=Cn}function Xo(){wr(qi,Ii,Ti,mi,Pn,Ma,fi,xi,Ur,Fi,Xi,hn,ds,vr),Ta.lineEnd=sn,sn()}return Ta}}var pd=rc({point:function(gt,Bt){this.stream.point(gt*d,Bt*d)}});function Lu(gt){return rc({point:function(Bt,wr){var vr=gt(Bt,wr);return this.stream.point(vr[0],vr[1])}})}function $h(gt,Bt,wr,vr,Ur){function fi(xi,Fi){return xi*=vr,Fi*=Ur,[Bt+gt*xi,wr-gt*Fi]}return fi.invert=function(xi,Fi){return[(xi-Bt)/gt*vr,(wr-Fi)/gt*Ur]},fi}function tu(gt,Bt,wr,vr,Ur,fi){var xi=p(fi),Fi=_(fi),Xi=xi*gt,hn=Fi*gt,Ti=xi/gt,qi=Fi/gt,Ii=(Fi*wr-xi*Bt)/gt,mi=(Fi*Bt+xi*wr)/gt;function Pn(Ma,Ta){return Ma*=vr,Ta*=Ur,[Xi*Ma-hn*Ta+Bt,wr-hn*Ma-Xi*Ta]}return Pn.invert=function(Ma,Ta){return[vr*(Ti*Ma-qi*Ta+Ii),Ur*(mi-qi*Ma-Ti*Ta)]},Pn}function Pu(gt){return Lc(function(){return gt})()}function Lc(gt){var Bt,wr=150,vr=480,Ur=250,fi=0,xi=0,Fi=0,Xi=0,hn=0,Ti,qi=0,Ii=1,mi=1,Pn=null,Ma=Hr,Ta=null,Ea,qa,Cn,sn=Zl,Ua=.5,mo,Xo,Ts,Qo,ys;function Bo(ia){return Ts(ia[0]*d,ia[1]*d)}function yl(ia){return ia=Ts.invert(ia[0],ia[1]),ia&&[ia[0]*h,ia[1]*h]}Bo.stream=function(ia){return Qo&&ys===ia?Qo:Qo=pd(Lu(Ti)(Ma(mo(sn(ys=ia)))))},Bo.preclip=function(ia){return arguments.length?(Ma=ia,Pn=void 0,Rs()):Ma},Bo.postclip=function(ia){return arguments.length?(sn=ia,Ta=Ea=qa=Cn=null,Rs()):sn},Bo.clipAngle=function(ia){return arguments.length?(Ma=+ia?an(Pn=ia*d):(Pn=null,Hr),Rs()):Pn*h},Bo.clipExtent=function(ia){return arguments.length?(sn=ia==null?(Ta=Ea=qa=Cn=null,Zl):Fn(Ta=+ia[0][0],Ea=+ia[0][1],qa=+ia[1][0],Cn=+ia[1][1]),Rs()):Ta==null?null:[[Ta,Ea],[qa,Cn]]},Bo.scale=function(ia){return arguments.length?(wr=+ia,Gs()):wr},Bo.translate=function(ia){return arguments.length?(vr=+ia[0],Ur=+ia[1],Gs()):[vr,Ur]},Bo.center=function(ia){return arguments.length?(fi=ia[0]%360*d,xi=ia[1]%360*d,Gs()):[fi*h,xi*h]},Bo.rotate=function(ia){return arguments.length?(Fi=ia[0]%360*d,Xi=ia[1]%360*d,hn=ia.length>2?ia[2]%360*d:0,Gs()):[Fi*h,Xi*h,hn*h]},Bo.angle=function(ia){return arguments.length?(qi=ia%360*d,Gs()):qi*h},Bo.reflectX=function(ia){return arguments.length?(Ii=ia?-1:1,Gs()):Ii<0},Bo.reflectY=function(ia){return arguments.length?(mi=ia?-1:1,Gs()):mi<0},Bo.precision=function(ia){return arguments.length?(mo=Bd(Xo,Ua=ia*ia),Rs()):M(Ua)},Bo.fitExtent=function(ia,Ka){return df(Bo,ia,Ka)},Bo.fitSize=function(ia,Ka){return Cu(Bo,ia,Ka)},Bo.fitWidth=function(ia,Ka){return Nf(Bo,ia,Ka)},Bo.fitHeight=function(ia,Ka){return Zc(Bo,ia,Ka)};function Gs(){var ia=tu(wr,0,0,Ii,mi,qi).apply(null,Bt(fi,xi)),Ka=(qi?tu:$h)(wr,vr-ia[0],Ur-ia[1],Ii,mi,qi);return Ti=gi(Fi,Xi,hn),Xo=Zr(Bt,Ka),Ts=Zr(Ti,Xo),mo=Bd(Xo,Ua),Rs()}function Rs(){return Qo=ys=null,Bo}return function(){return Bt=gt.apply(this,arguments),Bo.invert=Bt.invert&&yl,Gs()}}function fl(gt){var Bt=0,wr=l/3,vr=Lc(gt),Ur=vr(Bt,wr);return Ur.parallels=function(fi){return arguments.length?vr(Bt=fi[0]*d,wr=fi[1]*d):[Bt*h,wr*h]},Ur}function Xc(gt){var Bt=p(gt);function wr(vr,Ur){return[vr*Bt,_(Ur)/Bt]}return wr.invert=function(vr,Ur){return[vr/Bt,T(Ur*Bt)]},wr}function ic(gt,Bt){var wr=_(gt),vr=(wr+_(Bt))/2;if(v(vr)<o)return Xc(gt);var Ur=1+wr*(2*vr-wr),fi=M(Ur)/vr;function xi(Fi,Xi){var hn=M(Ur-2*vr*_(Xi))/vr;return[hn*_(Fi*=vr),fi-hn*p(Fi)]}return xi.invert=function(Fi,Xi){var hn=fi-Xi,Ti=b(Fi,v(hn))*C(hn);return hn*vr<0&&(Ti-=l*C(Fi)*C(hn)),[Ti/vr,T((Ur-(Fi*Fi+hn*hn)*vr*vr)/(2*vr))]},xi}function yu(){return fl(ic).scale(155.424).center([0,33.6442])}function Qs(){return yu().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function Qh(gt){var Bt=gt.length;return{point:function(wr,vr){for(var Ur=-1;++Ur<Bt;)gt[Ur].point(wr,vr)},sphere:function(){for(var wr=-1;++wr<Bt;)gt[wr].sphere()},lineStart:function(){for(var wr=-1;++wr<Bt;)gt[wr].lineStart()},lineEnd:function(){for(var wr=-1;++wr<Bt;)gt[wr].lineEnd()},polygonStart:function(){for(var wr=-1;++wr<Bt;)gt[wr].polygonStart()},polygonEnd:function(){for(var wr=-1;++wr<Bt;)gt[wr].polygonEnd()}}}function gd(){var gt,Bt,wr=Qs(),vr,Ur=yu().rotate([154,0]).center([-2,58.5]).parallels([55,65]),fi,xi=yu().rotate([157,0]).center([-3,19.9]).parallels([8,18]),Fi,Xi,hn={point:function(Ii,mi){Xi=[Ii,mi]}};function Ti(Ii){var mi=Ii[0],Pn=Ii[1];return Xi=null,vr.point(mi,Pn),Xi||(fi.point(mi,Pn),Xi)||(Fi.point(mi,Pn),Xi)}Ti.invert=function(Ii){var mi=wr.scale(),Pn=wr.translate(),Ma=(Ii[0]-Pn[0])/mi,Ta=(Ii[1]-Pn[1])/mi;return(Ta>=.12&&Ta<.234&&Ma>=-.425&&Ma<-.214?Ur:Ta>=.166&&Ta<.234&&Ma>=-.214&&Ma<-.115?xi:wr).invert(Ii)},Ti.stream=function(Ii){return gt&&Bt===Ii?gt:gt=Qh([wr.stream(Bt=Ii),Ur.stream(Ii),xi.stream(Ii)])},Ti.precision=function(Ii){return arguments.length?(wr.precision(Ii),Ur.precision(Ii),xi.precision(Ii),qi()):wr.precision()},Ti.scale=function(Ii){return arguments.length?(wr.scale(Ii),Ur.scale(Ii*.35),xi.scale(Ii),Ti.translate(wr.translate())):wr.scale()},Ti.translate=function(Ii){if(!arguments.length)return wr.translate();var mi=wr.scale(),Pn=+Ii[0],Ma=+Ii[1];return vr=wr.translate(Ii).clipExtent([[Pn-.455*mi,Ma-.238*mi],[Pn+.455*mi,Ma+.238*mi]]).stream(hn),fi=Ur.translate([Pn-.307*mi,Ma+.201*mi]).clipExtent([[Pn-.425*mi+o,Ma+.12*mi+o],[Pn-.214*mi-o,Ma+.234*mi-o]]).stream(hn),Fi=xi.translate([Pn-.205*mi,Ma+.212*mi]).clipExtent([[Pn-.214*mi+o,Ma+.166*mi+o],[Pn-.115*mi-o,Ma+.234*mi-o]]).stream(hn),qi()},Ti.fitExtent=function(Ii,mi){return df(Ti,Ii,mi)},Ti.fitSize=function(Ii,mi){return Cu(Ti,Ii,mi)},Ti.fitWidth=function(Ii,mi){return Nf(Ti,Ii,mi)},Ti.fitHeight=function(Ii,mi){return Zc(Ti,Ii,mi)};function qi(){return gt=Bt=null,Ti}return Ti.scale(1070)}function Gu(gt){return function(Bt,wr){var vr=p(Bt),Ur=p(wr),fi=gt(vr*Ur);return[fi*Ur*_(Bt),fi*_(wr)]}}function Pc(gt){return function(Bt,wr){var vr=M(Bt*Bt+wr*wr),Ur=gt(vr),fi=_(Ur),xi=p(Ur);return[b(Bt*fi,vr*xi),T(vr&&wr*fi/vr)]}}var vc=Gu(function(gt){return M(2/(1+gt))});vc.invert=Pc(function(gt){return 2*T(gt/2)});function sv(){return Pu(vc).scale(124.75).clipAngle(180-.001)}var Lf=Gu(function(gt){return(gt=P(gt))&>/_(gt)});Lf.invert=Pc(function(gt){return gt});function Uf(){return Pu(Lf).scale(79.4188).clipAngle(180-.001)}function Iu(gt,Bt){return[gt,A(g((u+Bt)/2))]}Iu.invert=function(gt,Bt){return[gt,2*x(k(Bt))-u]};function oh(){return ru(Iu).scale(961/f)}function ru(gt){var Bt=Pu(gt),wr=Bt.center,vr=Bt.scale,Ur=Bt.translate,fi=Bt.clipExtent,xi=null,Fi,Xi,hn;Bt.scale=function(qi){return arguments.length?(vr(qi),Ti()):vr()},Bt.translate=function(qi){return arguments.length?(Ur(qi),Ti()):Ur()},Bt.center=function(qi){return arguments.length?(wr(qi),Ti()):wr()},Bt.clipExtent=function(qi){return arguments.length?(qi==null?xi=Fi=Xi=hn=null:(xi=+qi[0][0],Fi=+qi[0][1],Xi=+qi[1][0],hn=+qi[1][1]),Ti()):xi==null?null:[[xi,Fi],[Xi,hn]]};function Ti(){var qi=l*vr(),Ii=Bt(Gi(Bt.rotate()).invert([0,0]));return fi(xi==null?[[Ii[0]-qi,Ii[1]-qi],[Ii[0]+qi,Ii[1]+qi]]:gt===Iu?[[Math.max(Ii[0]-qi,xi),Fi],[Math.min(Ii[0]+qi,Xi),hn]]:[[xi,Math.max(Ii[1]-qi,Fi)],[Xi,Math.min(Ii[1]+qi,hn)]])}return Ti()}function vf(gt){return g((u+gt)/2)}function md(gt,Bt){var wr=p(gt),vr=gt===Bt?_(gt):A(wr/p(Bt))/A(vf(Bt)/vf(gt)),Ur=wr*L(vf(gt),vr)/vr;if(!vr)return Iu;function fi(xi,Fi){Ur>0?Fi<-u+o&&(Fi=-u+o):Fi>u-o&&(Fi=u-o);var Xi=Ur/L(vf(Fi),vr);return[Xi*_(vr*xi),Ur-Xi*p(vr*xi)]}return fi.invert=function(xi,Fi){var Xi=Ur-Fi,hn=C(vr)*M(xi*xi+Xi*Xi),Ti=b(xi,v(Xi))*C(Xi);return Xi*vr<0&&(Ti-=l*C(xi)*C(Xi)),[Ti/vr,2*x(L(Ur/hn,1/vr))-u]},fi}function sh(){return fl(md).scale(109.5).parallels([30,30])}function Fs(gt,Bt){return[gt,Bt]}Fs.invert=Fs;function _u(){return Pu(Fs).scale(152.63)}function xu(gt,Bt){var wr=p(gt),vr=gt===Bt?_(gt):(wr-p(Bt))/(Bt-gt),Ur=wr/vr+gt;if(v(vr)<o)return Fs;function fi(xi,Fi){var Xi=Ur-Fi,hn=vr*xi;return[Xi*_(hn),Ur-Xi*p(hn)]}return fi.invert=function(xi,Fi){var Xi=Ur-Fi,hn=b(xi,v(Xi))*C(Xi);return Xi*vr<0&&(hn-=l*C(xi)*C(Xi)),[hn/vr,Ur-C(vr)*M(xi*xi+Xi*Xi)]},fi}function Lh(){return fl(xu).scale(131.154).center([0,13.9389])}var Is=1.340264,Pf=-.081106,Ic=893e-6,ju=.003796,Vf=M(3)/2,pc=12;function pf(gt,Bt){var wr=T(Vf*_(Bt)),vr=wr*wr,Ur=vr*vr*vr;return[gt*p(wr)/(Vf*(Is+3*Pf*vr+Ur*(7*Ic+9*ju*vr))),wr*(Is+Pf*vr+Ur*(Ic+ju*vr))]}pf.invert=function(gt,Bt){for(var wr=Bt,vr=wr*wr,Ur=vr*vr*vr,fi=0,xi,Fi,Xi;fi<pc&&(Fi=wr*(Is+Pf*vr+Ur*(Ic+ju*vr))-Bt,Xi=Is+3*Pf*vr+Ur*(7*Ic+9*ju*vr),wr-=xi=Fi/Xi,vr=wr*wr,Ur=vr*vr*vr,!(v(xi)<s));++fi);return[Vf*gt*(Is+3*Pf*vr+Ur*(7*Ic+9*ju*vr))/p(wr),T(_(wr)/Vf)]};function Ph(){return Pu(pf).scale(177.158)}function Dl(gt,Bt){var wr=p(Bt),vr=p(gt)*wr;return[wr*_(gt)/vr,_(Bt)/vr]}Dl.invert=Pc(x);function Ih(){return Pu(Dl).scale(144.049).clipAngle(60)}function Wu(){var gt=1,Bt=0,wr=0,vr=1,Ur=1,fi=0,xi,Fi,Xi=null,hn,Ti,qi,Ii=1,mi=1,Pn=rc({point:function(sn,Ua){var mo=Cn([sn,Ua]);this.stream.point(mo[0],mo[1])}}),Ma=Zl,Ta,Ea;function qa(){return Ii=gt*vr,mi=gt*Ur,Ta=Ea=null,Cn}function Cn(sn){var Ua=sn[0]*Ii,mo=sn[1]*mi;if(fi){var Xo=mo*xi-Ua*Fi;Ua=Ua*xi+mo*Fi,mo=Xo}return[Ua+Bt,mo+wr]}return Cn.invert=function(sn){var Ua=sn[0]-Bt,mo=sn[1]-wr;if(fi){var Xo=mo*xi+Ua*Fi;Ua=Ua*xi-mo*Fi,mo=Xo}return[Ua/Ii,mo/mi]},Cn.stream=function(sn){return Ta&&Ea===sn?Ta:Ta=Pn(Ma(Ea=sn))},Cn.postclip=function(sn){return arguments.length?(Ma=sn,Xi=hn=Ti=qi=null,qa()):Ma},Cn.clipExtent=function(sn){return arguments.length?(Ma=sn==null?(Xi=hn=Ti=qi=null,Zl):Fn(Xi=+sn[0][0],hn=+sn[0][1],Ti=+sn[1][0],qi=+sn[1][1]),qa()):Xi==null?null:[[Xi,hn],[Ti,qi]]},Cn.scale=function(sn){return arguments.length?(gt=+sn,qa()):gt},Cn.translate=function(sn){return arguments.length?(Bt=+sn[0],wr=+sn[1],qa()):[Bt,wr]},Cn.angle=function(sn){return arguments.length?(fi=sn%360*d,Fi=_(fi),xi=p(fi),qa()):fi*h},Cn.reflectX=function(sn){return arguments.length?(vr=sn?-1:1,qa()):vr<0},Cn.reflectY=function(sn){return arguments.length?(Ur=sn?-1:1,qa()):Ur<0},Cn.fitExtent=function(sn,Ua){return df(Cn,sn,Ua)},Cn.fitSize=function(sn,Ua){return Cu(Cn,sn,Ua)},Cn.fitWidth=function(sn,Ua){return Nf(Cn,sn,Ua)},Cn.fitHeight=function(sn,Ua){return Zc(Cn,sn,Ua)},Cn}function Rc(gt,Bt){var wr=Bt*Bt,vr=wr*wr;return[gt*(.8707-.131979*wr+vr*(-.013791+vr*(.003971*wr-.001529*vr))),Bt*(1.007226+wr*(.015085+vr*(-.044475+.028874*wr-.005916*vr)))]}Rc.invert=function(gt,Bt){var wr=Bt,vr=25,Ur;do{var fi=wr*wr,xi=fi*fi;wr-=Ur=(wr*(1.007226+fi*(.015085+xi*(-.044475+.028874*fi-.005916*xi)))-Bt)/(1.007226+fi*(.015085*3+xi*(-.044475*7+.028874*9*fi-.005916*11*xi)))}while(v(Ur)>o&&--vr>0);return[gt/(.8707+(fi=wr*wr)*(-.131979+fi*(-.013791+fi*fi*fi*(.003971-.001529*fi)))),wr]};function gc(){return Pu(Rc).scale(175.295)}function hl(gt,Bt){return[p(Bt)*_(gt),_(Bt)]}hl.invert=Pc(T);function iu(){return Pu(hl).scale(249.5).clipAngle(90+o)}function mc(gt,Bt){var wr=p(Bt),vr=1+p(gt)*wr;return[wr*_(gt)/vr,_(Bt)/vr]}mc.invert=Pc(function(gt){return 2*x(gt)});function Yc(){return Pu(mc).scale(250).clipAngle(142)}function nc(gt,Bt){return[A(g((u+Bt)/2)),-gt]}nc.invert=function(gt,Bt){return[-Bt,2*x(k(gt))-u]};function gf(){var gt=ru(nc),Bt=gt.center,wr=gt.rotate;return gt.center=function(vr){return arguments.length?Bt([-vr[1],vr[0]]):(vr=Bt(),[vr[1],-vr[0]])},gt.rotate=function(vr){return arguments.length?wr([vr[0],vr[1],vr.length>2?vr[2]+90:90]):(vr=wr(),[vr[0],vr[1],vr[2]-90])},wr([0,0,90]).scale(159.155)}e.geoAlbers=Qs,e.geoAlbersUsa=gd,e.geoArea=me,e.geoAzimuthalEqualArea=sv,e.geoAzimuthalEqualAreaRaw=vc,e.geoAzimuthalEquidistant=Uf,e.geoAzimuthalEquidistantRaw=Lf,e.geoBounds=Ne,e.geoCentroid=yr,e.geoCircle=jn,e.geoClipAntimeridian=Hr,e.geoClipCircle=an,e.geoClipExtent=Sa,e.geoClipRectangle=Fn,e.geoConicConformal=sh,e.geoConicConformalRaw=md,e.geoConicEqualArea=yu,e.geoConicEqualAreaRaw=ic,e.geoConicEquidistant=Lh,e.geoConicEquidistantRaw=xu,e.geoContains=ms,e.geoDistance=Cs,e.geoEqualEarth=Ph,e.geoEqualEarthRaw=pf,e.geoEquirectangular=_u,e.geoEquirectangularRaw=Fs,e.geoGnomonic=Ih,e.geoGnomonicRaw=Dl,e.geoGraticule=Qu,e.geoGraticule10=Rl,e.geoIdentity=Wu,e.geoInterpolate=vo,e.geoLength=wl,e.geoMercator=oh,e.geoMercatorRaw=Iu,e.geoNaturalEarth1=gc,e.geoNaturalEarth1Raw=Rc,e.geoOrthographic=iu,e.geoOrthographicRaw=hl,e.geoPath=kh,e.geoProjection=Pu,e.geoProjectionMutator=Lc,e.geoRotation=Gi,e.geoStereographic=Yc,e.geoStereographicRaw=mc,e.geoStream=W,e.geoTransform=Kh,e.geoTransverseMercator=gf,e.geoTransverseMercatorRaw=nc,Object.defineProperty(e,\"__esModule\",{value:!0})})});var bRe=ye((Az,xRe)=>{(function(e,t){typeof Az==\"object\"&&typeof xRe!=\"undefined\"?t(Az,xX(),$E()):t(e.d3=e.d3||{},e.d3,e.d3)})(Az,function(e,t,r){\"use strict\";var n=Math.abs,i=Math.atan,a=Math.atan2,o=Math.cos,s=Math.exp,l=Math.floor,u=Math.log,c=Math.max,f=Math.min,h=Math.pow,d=Math.round,v=Math.sign||function(he){return he>0?1:he<0?-1:0},x=Math.sin,b=Math.tan,p=1e-6,E=1e-12,k=Math.PI,A=k/2,L=k/4,_=Math.SQRT1_2,C=H(2),M=H(k),g=k*2,P=180/k,T=k/180;function F(he){return he?he/Math.sin(he):1}function q(he){return he>1?A:he<-1?-A:Math.asin(he)}function V(he){return he>1?0:he<-1?k:Math.acos(he)}function H(he){return he>0?Math.sqrt(he):0}function X(he){return he=s(2*he),(he-1)/(he+1)}function G(he){return(s(he)-s(-he))/2}function N(he){return(s(he)+s(-he))/2}function W(he){return u(he+H(he*he+1))}function re(he){return u(he+H(he*he-1))}function ae(he){var be=b(he/2),Pe=2*u(o(he/2))/(be*be);function Oe(Je,He){var et=o(Je),Mt=o(He),Dt=x(He),Ut=Mt*et,tr=-((1-Ut?u((1+Ut)/2)/(1-Ut):-.5)+Pe/(1+Ut));return[tr*Mt*x(Je),tr*Dt]}return Oe.invert=function(Je,He){var et=H(Je*Je+He*He),Mt=-he/2,Dt=50,Ut;if(!et)return[0,0];do{var tr=Mt/2,mr=o(tr),Rr=x(tr),zr=Rr/mr,Xr=-u(n(mr));Mt-=Ut=(2/zr*Xr-Pe*zr-et)/(-Xr/(Rr*Rr)+1-Pe/(2*mr*mr))*(mr<0?.7:1)}while(n(Ut)>p&&--Dt>0);var di=x(Mt);return[a(Je*di,et*o(Mt)),q(He*di/et)]},Oe}function _e(){var he=A,be=t.geoProjectionMutator(ae),Pe=be(he);return Pe.radius=function(Oe){return arguments.length?be(he=Oe*T):he*P},Pe.scale(179.976).clipAngle(147)}function Me(he,be){var Pe=o(be),Oe=F(V(Pe*o(he/=2)));return[2*Pe*x(he)*Oe,x(be)*Oe]}Me.invert=function(he,be){if(!(he*he+4*be*be>k*k+p)){var Pe=he,Oe=be,Je=25;do{var He=x(Pe),et=x(Pe/2),Mt=o(Pe/2),Dt=x(Oe),Ut=o(Oe),tr=x(2*Oe),mr=Dt*Dt,Rr=Ut*Ut,zr=et*et,Xr=1-Rr*Mt*Mt,di=Xr?V(Ut*Mt)*H(Li=1/Xr):Li=0,Li,Ci=2*di*Ut*et-he,Qi=di*Dt-be,Mn=Li*(Rr*zr+di*Ut*Mt*mr),pa=Li*(.5*He*tr-di*2*Dt*et),ea=Li*.25*(tr*et-di*Dt*Rr*He),Ga=Li*(mr*Mt+di*zr*Ut),To=pa*ea-Ga*Mn;if(!To)break;var Wa=(Qi*pa-Ci*Ga)/To,co=(Ci*ea-Qi*Mn)/To;Pe-=Wa,Oe-=co}while((n(Wa)>p||n(co)>p)&&--Je>0);return[Pe,Oe]}};function ke(){return t.geoProjection(Me).scale(152.63)}function ge(he){var be=x(he),Pe=o(he),Oe=he>=0?1:-1,Je=b(Oe*he),He=(1+be-Pe)/2;function et(Mt,Dt){var Ut=o(Dt),tr=o(Mt/=2);return[(1+Ut)*x(Mt),(Oe*Dt>-a(tr,Je)-.001?0:-Oe*10)+He+x(Dt)*Pe-(1+Ut)*be*tr]}return et.invert=function(Mt,Dt){var Ut=0,tr=0,mr=50;do{var Rr=o(Ut),zr=x(Ut),Xr=o(tr),di=x(tr),Li=1+Xr,Ci=Li*zr-Mt,Qi=He+di*Pe-Li*be*Rr-Dt,Mn=Li*Rr/2,pa=-zr*di,ea=be*Li*zr/2,Ga=Pe*Xr+be*Rr*di,To=pa*ea-Ga*Mn,Wa=(Qi*pa-Ci*Ga)/To/2,co=(Ci*ea-Qi*Mn)/To;n(co)>2&&(co/=2),Ut-=Wa,tr-=co}while((n(Wa)>p||n(co)>p)&&--mr>0);return Oe*tr>-a(o(Ut),Je)-.001?[Ut*2,tr]:null},et}function ie(){var he=20*T,be=he>=0?1:-1,Pe=b(be*he),Oe=t.geoProjectionMutator(ge),Je=Oe(he),He=Je.stream;return Je.parallel=function(et){return arguments.length?(Pe=b((be=(he=et*T)>=0?1:-1)*he),Oe(he)):he*P},Je.stream=function(et){var Mt=Je.rotate(),Dt=He(et),Ut=(Je.rotate([0,0]),He(et)),tr=Je.precision();return Je.rotate(Mt),Dt.sphere=function(){Ut.polygonStart(),Ut.lineStart();for(var mr=be*-180;be*mr<180;mr+=be*90)Ut.point(mr,be*90);if(he)for(;be*(mr-=3*be*tr)>=-180;)Ut.point(mr,be*-a(o(mr*T/2),Pe)*P);Ut.lineEnd(),Ut.polygonEnd()},Dt},Je.scale(218.695).center([0,28.0974])}function Te(he,be){var Pe=b(be/2),Oe=H(1-Pe*Pe),Je=1+Oe*o(he/=2),He=x(he)*Oe/Je,et=Pe/Je,Mt=He*He,Dt=et*et;return[4/3*He*(3+Mt-3*Dt),4/3*et*(3+3*Mt-Dt)]}Te.invert=function(he,be){if(he*=3/8,be*=3/8,!he&&n(be)>1)return null;var Pe=he*he,Oe=be*be,Je=1+Pe+Oe,He=H((Je-H(Je*Je-4*be*be))/2),et=q(He)/3,Mt=He?re(n(be/He))/3:W(n(he))/3,Dt=o(et),Ut=N(Mt),tr=Ut*Ut-Dt*Dt;return[v(he)*2*a(G(Mt)*Dt,.25-tr),v(be)*2*a(Ut*x(et),.25+tr)]};function Ee(){return t.geoProjection(Te).scale(66.1603)}var Ae=H(8),ze=u(1+C);function Ce(he,be){var Pe=n(be);return Pe<L?[he,u(b(L+be/2))]:[he*o(Pe)*(2*C-1/x(Pe)),v(be)*(2*C*(Pe-L)-u(b(Pe/2)))]}Ce.invert=function(he,be){if((He=n(be))<ze)return[he,2*i(s(be))-A];var Pe=L,Oe=25,Je,He;do{var et=o(Pe/2),Mt=b(Pe/2);Pe-=Je=(Ae*(Pe-L)-u(Mt)-He)/(Ae-et*et/(2*Mt))}while(n(Je)>E&&--Oe>0);return[he/(o(Pe)*(Ae-1/x(Pe))),v(be)*Pe]};function me(){return t.geoProjection(Ce).scale(112.314)}function Re(he){var be=2*k/he;function Pe(Oe,Je){var He=t.geoAzimuthalEquidistantRaw(Oe,Je);if(n(Oe)>A){var et=a(He[1],He[0]),Mt=H(He[0]*He[0]+He[1]*He[1]),Dt=be*d((et-A)/be)+A,Ut=a(x(et-=Dt),2-o(et));et=Dt+q(k/Mt*x(Ut))-Ut,He[0]=Mt*o(et),He[1]=Mt*x(et)}return He}return Pe.invert=function(Oe,Je){var He=H(Oe*Oe+Je*Je);if(He>A){var et=a(Je,Oe),Mt=be*d((et-A)/be)+A,Dt=et>Mt?-1:1,Ut=He*o(Mt-et),tr=1/b(Dt*V((Ut-k)/H(k*(k-2*Ut)+He*He)));et=Mt+2*i((tr+Dt*H(tr*tr-3))/3),Oe=He*o(et),Je=He*x(et)}return t.geoAzimuthalEquidistantRaw.invert(Oe,Je)},Pe}function ce(){var he=5,be=t.geoProjectionMutator(Re),Pe=be(he),Oe=Pe.stream,Je=.01,He=-o(Je*T),et=x(Je*T);return Pe.lobes=function(Mt){return arguments.length?be(he=+Mt):he},Pe.stream=function(Mt){var Dt=Pe.rotate(),Ut=Oe(Mt),tr=(Pe.rotate([0,0]),Oe(Mt));return Pe.rotate(Dt),Ut.sphere=function(){tr.polygonStart(),tr.lineStart();for(var mr=0,Rr=360/he,zr=2*k/he,Xr=90-180/he,di=A;mr<he;++mr,Xr-=Rr,di-=zr)tr.point(a(et*o(di),He)*P,q(et*x(di))*P),Xr<-90?(tr.point(-90,-180-Xr-Je),tr.point(-90,-180-Xr+Je)):(tr.point(90,Xr+Je),tr.point(90,Xr-Je));tr.lineEnd(),tr.polygonEnd()},Ut},Pe.scale(87.8076).center([0,17.1875]).clipAngle(180-.001)}function Ge(he,be){if(arguments.length<2&&(be=he),be===1)return t.geoAzimuthalEqualAreaRaw;if(be===1/0)return nt;function Pe(Oe,Je){var He=t.geoAzimuthalEqualAreaRaw(Oe/be,Je);return He[0]*=he,He}return Pe.invert=function(Oe,Je){var He=t.geoAzimuthalEqualAreaRaw.invert(Oe/he,Je);return He[0]*=be,He},Pe}function nt(he,be){return[he*o(be)/o(be/=2),2*x(be)]}nt.invert=function(he,be){var Pe=2*q(be/2);return[he*o(Pe/2)/o(Pe),Pe]};function ct(){var he=2,be=t.geoProjectionMutator(Ge),Pe=be(he);return Pe.coefficient=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(169.529)}function qt(he,be,Pe){var Oe=100,Je,He,et;Pe=Pe===void 0?0:+Pe,be=+be;do He=he(Pe),et=he(Pe+p),He===et&&(et=He+p),Pe-=Je=-1*p*(He-be)/(He-et);while(Oe-- >0&&n(Je)>p);return Oe<0?NaN:Pe}function rt(he,be,Pe){return be===void 0&&(be=40),Pe===void 0&&(Pe=E),function(Oe,Je,He,et){var Mt,Dt,Ut;He=He===void 0?0:+He,et=et===void 0?0:+et;for(var tr=0;tr<be;tr++){var mr=he(He,et),Rr=mr[0]-Oe,zr=mr[1]-Je;if(n(Rr)<Pe&&n(zr)<Pe)break;var Xr=Rr*Rr+zr*zr;if(Xr>Mt){He-=Dt/=2,et-=Ut/=2;continue}Mt=Xr;var di=(He>0?-1:1)*Pe,Li=(et>0?-1:1)*Pe,Ci=he(He+di,et),Qi=he(He,et+Li),Mn=(Ci[0]-mr[0])/di,pa=(Ci[1]-mr[1])/di,ea=(Qi[0]-mr[0])/Li,Ga=(Qi[1]-mr[1])/Li,To=Ga*Mn-pa*ea,Wa=(n(To)<.5?.5:1)/To;if(Dt=(zr*ea-Rr*Ga)*Wa,Ut=(Rr*pa-zr*Mn)*Wa,He+=Dt,et+=Ut,n(Dt)<Pe&&n(Ut)<Pe)break}return[He,et]}}function ot(){var he=Ge(1.68,2),be=1.4,Pe=12;function Oe(Je,He){if(Je+He<-be){var et=(Je-He+1.6)*(Je+He+be)/8;Je+=et,He-=.8*et*x(He+k/2)}var Mt=he(Je,He),Dt=(1-o(Je*He))/Pe;return Mt[1]<0&&(Mt[0]*=1+Dt),Mt[1]>0&&(Mt[1]*=1+Dt/1.5*Mt[0]*Mt[0]),Mt}return Oe.invert=rt(Oe),Oe}function Rt(){return t.geoProjection(ot()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function kt(he,be){var Pe=he*x(be),Oe=30,Je;do be-=Je=(be+x(be)-Pe)/(1+o(be));while(n(Je)>p&&--Oe>0);return be/2}function Ct(he,be,Pe){function Oe(Je,He){return[he*Je*o(He=kt(Pe,He)),be*x(He)]}return Oe.invert=function(Je,He){return He=q(He/be),[Je/(he*o(He)),q((2*He+x(2*He))/Pe)]},Oe}var Yt=Ct(C/A,C,k);function xr(){return t.geoProjection(Yt).scale(169.529)}var er=2.00276,Ke=1.11072;function xt(he,be){var Pe=kt(k,be);return[er*he/(1/o(be)+Ke/o(Pe)),(be+C*x(Pe))/er]}xt.invert=function(he,be){var Pe=er*be,Oe=be<0?-L:L,Je=25,He,et;do et=Pe-C*x(Oe),Oe-=He=(x(2*Oe)+2*Oe-k*x(et))/(2*o(2*Oe)+2+k*o(et)*C*o(Oe));while(n(He)>p&&--Je>0);return et=Pe-C*x(Oe),[he*(1/o(et)+Ke/o(Oe))/er,et]};function bt(){return t.geoProjection(xt).scale(160.857)}function Lt(he){var be=0,Pe=t.geoProjectionMutator(he),Oe=Pe(be);return Oe.parallel=function(Je){return arguments.length?Pe(be=Je*T):be*P},Oe}function St(he,be){return[he*o(be),be]}St.invert=function(he,be){return[he/o(be),be]};function Et(){return t.geoProjection(St).scale(152.63)}function dt(he){if(!he)return St;var be=1/b(he);function Pe(Oe,Je){var He=be+he-Je,et=He&&Oe*o(Je)/He;return[He*x(et),be-He*o(et)]}return Pe.invert=function(Oe,Je){var He=H(Oe*Oe+(Je=be-Je)*Je),et=be+he-He;return[He/o(et)*a(Oe,Je),et]},Pe}function Ht(){return Lt(dt).scale(123.082).center([0,26.1441]).parallel(45)}function $t(he){function be(Pe,Oe){var Je=A-Oe,He=Je&&Pe*he*x(Je)/Je;return[Je*x(He)/he,A-Je*o(He)]}return be.invert=function(Pe,Oe){var Je=Pe*he,He=A-Oe,et=H(Je*Je+He*He),Mt=a(Je,He);return[(et?et/x(et):1)*Mt/he,A-et]},be}function fr(){var he=.5,be=t.geoProjectionMutator($t),Pe=be(he);return Pe.fraction=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(158.837)}var _r=Ct(1,4/k,k);function Br(){return t.geoProjection(_r).scale(152.63)}function Or(he,be,Pe,Oe,Je,He){var et=o(He),Mt;if(n(he)>1||n(He)>1)Mt=V(Pe*Je+be*Oe*et);else{var Dt=x(he/2),Ut=x(He/2);Mt=2*q(H(Dt*Dt+be*Oe*Ut*Ut))}return n(Mt)>p?[Mt,a(Oe*x(He),be*Je-Pe*Oe*et)]:[0,0]}function Nr(he,be,Pe){return V((he*he+be*be-Pe*Pe)/(2*he*be))}function ut(he){return he-2*k*l((he+k)/(2*k))}function Ne(he,be,Pe){for(var Oe=[[he[0],he[1],x(he[1]),o(he[1])],[be[0],be[1],x(be[1]),o(be[1])],[Pe[0],Pe[1],x(Pe[1]),o(Pe[1])]],Je=Oe[2],He,et=0;et<3;++et,Je=He)He=Oe[et],Je.v=Or(He[1]-Je[1],Je[3],Je[2],He[3],He[2],He[0]-Je[0]),Je.point=[0,0];var Mt=Nr(Oe[0].v[0],Oe[2].v[0],Oe[1].v[0]),Dt=Nr(Oe[0].v[0],Oe[1].v[0],Oe[2].v[0]),Ut=k-Mt;Oe[2].point[1]=0,Oe[0].point[0]=-(Oe[1].point[0]=Oe[0].v[0]/2);var tr=[Oe[2].point[0]=Oe[0].point[0]+Oe[2].v[0]*o(Mt),2*(Oe[0].point[1]=Oe[1].point[1]=Oe[2].v[0]*x(Mt))];function mr(Rr,zr){var Xr=x(zr),di=o(zr),Li=new Array(3),Ci;for(Ci=0;Ci<3;++Ci){var Qi=Oe[Ci];if(Li[Ci]=Or(zr-Qi[1],Qi[3],Qi[2],di,Xr,Rr-Qi[0]),!Li[Ci][0])return Qi.point;Li[Ci][1]=ut(Li[Ci][1]-Qi.v[1])}var Mn=tr.slice();for(Ci=0;Ci<3;++Ci){var pa=Ci==2?0:Ci+1,ea=Nr(Oe[Ci].v[0],Li[Ci][0],Li[pa][0]);Li[Ci][1]<0&&(ea=-ea),Ci?Ci==1?(ea=Dt-ea,Mn[0]-=Li[Ci][0]*o(ea),Mn[1]-=Li[Ci][0]*x(ea)):(ea=Ut-ea,Mn[0]+=Li[Ci][0]*o(ea),Mn[1]+=Li[Ci][0]*x(ea)):(Mn[0]+=Li[Ci][0]*o(ea),Mn[1]-=Li[Ci][0]*x(ea))}return Mn[0]/=3,Mn[1]/=3,Mn}return mr}function Ye(he){return he[0]*=T,he[1]*=T,he}function Ve(){return Xe([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Xe(he,be,Pe){var Oe=t.geoCentroid({type:\"MultiPoint\",coordinates:[he,be,Pe]}),Je=[-Oe[0],-Oe[1]],He=t.geoRotation(Je),et=Ne(Ye(He(he)),Ye(He(be)),Ye(He(Pe)));et.invert=rt(et);var Mt=t.geoProjection(et).rotate(Je),Dt=Mt.center;return delete Mt.rotate,Mt.center=function(Ut){return arguments.length?Dt(He(Ut)):He.invert(Dt())},Mt.clipAngle(90)}function ht(he,be){var Pe=H(1-x(be));return[2/M*he*Pe,M*(1-Pe)]}ht.invert=function(he,be){var Pe=(Pe=be/M-1)*Pe;return[Pe>0?he*H(k/Pe)/2:0,q(1-Pe)]};function Le(){return t.geoProjection(ht).scale(95.6464).center([0,30])}function xe(he){var be=b(he);function Pe(Oe,Je){return[Oe,(Oe?Oe/x(Oe):1)*(x(Je)*o(Oe)-be*o(Je))]}return Pe.invert=be?function(Oe,Je){Oe&&(Je*=x(Oe)/Oe);var He=o(Oe);return[Oe,2*a(H(He*He+be*be-Je*Je)-He,be-Je)]}:function(Oe,Je){return[Oe,q(Oe?Je*b(Oe)/Oe:Je)]},Pe}function Se(){return Lt(xe).scale(249.828).clipAngle(90)}var lt=H(3);function Gt(he,be){return[lt*he*(2*o(2*be/3)-1)/M,lt*M*x(be/3)]}Gt.invert=function(he,be){var Pe=3*q(be/(lt*M));return[M*he/(lt*(2*o(2*Pe/3)-1)),Pe]};function Vt(){return t.geoProjection(Gt).scale(156.19)}function ar(he){var be=o(he);function Pe(Oe,Je){return[Oe*be,x(Je)/be]}return Pe.invert=function(Oe,Je){return[Oe/be,q(Je*be)]},Pe}function Qr(){return Lt(ar).parallel(38.58).scale(195.044)}function ai(he){var be=o(he);function Pe(Oe,Je){return[Oe*be,(1+be)*b(Je/2)]}return Pe.invert=function(Oe,Je){return[Oe/be,i(Je/(1+be))*2]},Pe}function jr(){return Lt(ai).scale(124.75)}function ri(he,be){var Pe=H(8/(3*k));return[Pe*he*(1-n(be)/k),Pe*be]}ri.invert=function(he,be){var Pe=H(8/(3*k)),Oe=be/Pe;return[he/(Pe*(1-n(Oe)/k)),Oe]};function bi(){return t.geoProjection(ri).scale(165.664)}function nn(he,be){var Pe=H(4-3*x(n(be)));return[2/H(6*k)*he*Pe,v(be)*H(2*k/3)*(2-Pe)]}nn.invert=function(he,be){var Pe=2-n(be)/H(2*k/3);return[he*H(6*k)/(2*Pe),v(be)*q((4-Pe*Pe)/3)]};function Wi(){return t.geoProjection(nn).scale(165.664)}function Ni(he,be){var Pe=H(k*(4+k));return[2/Pe*he*(1+H(1-4*be*be/(k*k))),4/Pe*be]}Ni.invert=function(he,be){var Pe=H(k*(4+k))/2;return[he*Pe/(1+H(1-be*be*(4+k)/(4*k))),be*Pe/2]};function _n(){return t.geoProjection(Ni).scale(180.739)}function $i(he,be){var Pe=(2+A)*x(be);be/=2;for(var Oe=0,Je=1/0;Oe<10&&n(Je)>p;Oe++){var He=o(be);be-=Je=(be+x(be)*(He+2)-Pe)/(2*He*(1+He))}return[2/H(k*(4+k))*he*(1+o(be)),2*H(k/(4+k))*x(be)]}$i.invert=function(he,be){var Pe=be*H((4+k)/k)/2,Oe=q(Pe),Je=o(Oe);return[he/(2/H(k*(4+k))*(1+Je)),q((Oe+Pe*(Je+2))/(2+A))]};function zn(){return t.geoProjection($i).scale(180.739)}function Wn(he,be){return[he*(1+o(be))/H(2+k),2*be/H(2+k)]}Wn.invert=function(he,be){var Pe=H(2+k),Oe=be*Pe/2;return[Pe*he/(1+o(Oe)),Oe]};function It(){return t.geoProjection(Wn).scale(173.044)}function ft(he,be){for(var Pe=(1+A)*x(be),Oe=0,Je=1/0;Oe<10&&n(Je)>p;Oe++)be-=Je=(be+x(be)-Pe)/(1+o(be));return Pe=H(2+k),[he*(1+o(be))/Pe,2*be/Pe]}ft.invert=function(he,be){var Pe=1+A,Oe=H(Pe/2);return[he*2*Oe/(1+o(be*=Oe)),q((be+x(be))/Pe)]};function jt(){return t.geoProjection(ft).scale(173.044)}var Zt=3+2*C;function yr(he,be){var Pe=x(he/=2),Oe=o(he),Je=H(o(be)),He=o(be/=2),et=x(be)/(He+C*Oe*Je),Mt=H(2/(1+et*et)),Dt=H((C*He+(Oe+Pe)*Je)/(C*He+(Oe-Pe)*Je));return[Zt*(Mt*(Dt-1/Dt)-2*u(Dt)),Zt*(Mt*et*(Dt+1/Dt)-2*i(et))]}yr.invert=function(he,be){if(!(He=Te.invert(he/1.2,be*1.065)))return null;var Pe=He[0],Oe=He[1],Je=20,He;he/=Zt,be/=Zt;do{var et=Pe/2,Mt=Oe/2,Dt=x(et),Ut=o(et),tr=x(Mt),mr=o(Mt),Rr=o(Oe),zr=H(Rr),Xr=tr/(mr+C*Ut*zr),di=Xr*Xr,Li=H(2/(1+di)),Ci=C*mr+(Ut+Dt)*zr,Qi=C*mr+(Ut-Dt)*zr,Mn=Ci/Qi,pa=H(Mn),ea=pa-1/pa,Ga=pa+1/pa,To=Li*ea-2*u(pa)-he,Wa=Li*Xr*Ga-2*i(Xr)-be,co=tr&&_*zr*Dt*di/tr,Ro=(C*Ut*mr+zr)/(2*(mr+C*Ut*zr)*(mr+C*Ut*zr)*zr),Ds=-.5*Xr*Li*Li*Li,As=Ds*co,yo=Ds*Ro,po=(po=2*mr+C*zr*(Ut-Dt))*po*pa,_l=(C*Ut*mr*zr+Rr)/po,Hl=-(C*Dt*tr)/(zr*po),Zu=ea*As-2*_l/pa+Li*(_l+_l/Mn),cu=ea*yo-2*Hl/pa+Li*(Hl+Hl/Mn),el=Xr*Ga*As-2*co/(1+di)+Li*Ga*co+Li*Xr*(_l-_l/Mn),au=Xr*Ga*yo-2*Ro/(1+di)+Li*Ga*Ro+Li*Xr*(Hl-Hl/Mn),zc=cu*el-au*Zu;if(!zc)break;var zl=(Wa*cu-To*au)/zc,Fl=(To*el-Wa*Zu)/zc;Pe-=zl,Oe=c(-A,f(A,Oe-Fl))}while((n(zl)>p||n(Fl)>p)&&--Je>0);return n(n(Oe)-A)<p?[0,Oe]:Je&&[Pe,Oe]};function Fr(){return t.geoProjection(yr).scale(62.5271)}var Zr=o(35*T);function Vr(he,be){var Pe=b(be/2);return[he*Zr*H(1-Pe*Pe),(1+Zr)*Pe]}Vr.invert=function(he,be){var Pe=be/(1+Zr);return[he&&he/(Zr*H(1-Pe*Pe)),2*i(Pe)]};function gi(){return t.geoProjection(Vr).scale(137.152)}function Si(he,be){var Pe=be/2,Oe=o(Pe);return[2*he/M*o(be)*Oe*Oe,M*b(Pe)]}Si.invert=function(he,be){var Pe=i(be/M),Oe=o(Pe),Je=2*Pe;return[he*M/2/(o(Je)*Oe*Oe),Je]};function Mi(){return t.geoProjection(Si).scale(135.264)}function Pi(he){var be=1-he,Pe=He(k,0)[0]-He(-k,0)[0],Oe=He(0,A)[1]-He(0,-A)[1],Je=H(2*Oe/Pe);function He(Dt,Ut){var tr=o(Ut),mr=x(Ut);return[tr/(be+he*tr)*Dt,be*Ut+he*mr]}function et(Dt,Ut){var tr=He(Dt,Ut);return[tr[0]*Je,tr[1]/Je]}function Mt(Dt){return et(0,Dt)[1]}return et.invert=function(Dt,Ut){var tr=qt(Mt,Ut),mr=Dt/Je*(he+be/o(tr));return[mr,tr]},et}function Gi(){var he=.5,be=t.geoProjectionMutator(Pi),Pe=be(he);return Pe.alpha=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(168.725)}function Ki(he){return[he[0]/2,q(b(he[1]/2*T))*P]}function ka(he){return[he[0]*2,2*i(x(he[1]*T))*P]}function jn(he){he==null&&(he=t.geoOrthographic);var be=he(),Pe=t.geoEquirectangular().scale(P).precision(0).clipAngle(null).translate([0,0]);function Oe(He){return be(Ki(He))}be.invert&&(Oe.invert=function(He){return ka(be.invert(He))}),Oe.stream=function(He){var et=be.stream(He),Mt=Pe.stream({point:function(Dt,Ut){et.point(Dt/2,q(b(-Ut/2*T))*P)},lineStart:function(){et.lineStart()},lineEnd:function(){et.lineEnd()},polygonStart:function(){et.polygonStart()},polygonEnd:function(){et.polygonEnd()}});return Mt.sphere=et.sphere,Mt};function Je(He){Oe[He]=function(){return arguments.length?(be[He].apply(be,arguments),Oe):be[He]()}}return Oe.rotate=function(He){return arguments.length?(Pe.rotate(He),Oe):Pe.rotate()},Oe.center=function(He){return arguments.length?(be.center(Ki(He)),Oe):ka(be.center())},Je(\"angle\"),Je(\"clipAngle\"),Je(\"clipExtent\"),Je(\"fitExtent\"),Je(\"fitHeight\"),Je(\"fitSize\"),Je(\"fitWidth\"),Je(\"scale\"),Je(\"translate\"),Je(\"precision\"),Oe.scale(249.5)}function la(he,be){var Pe=2*k/be,Oe=he*he;function Je(He,et){var Mt=t.geoAzimuthalEquidistantRaw(He,et),Dt=Mt[0],Ut=Mt[1],tr=Dt*Dt+Ut*Ut;if(tr>Oe){var mr=H(tr),Rr=a(Ut,Dt),zr=Pe*d(Rr/Pe),Xr=Rr-zr,di=he*o(Xr),Li=(he*x(Xr)-Xr*x(di))/(A-di),Ci=Fa(Xr,Li),Qi=(k-he)/Ra(Ci,di,k);Dt=mr;var Mn=50,pa;do Dt-=pa=(he+Ra(Ci,di,Dt)*Qi-mr)/(Ci(Dt)*Qi);while(n(pa)>p&&--Mn>0);Ut=Xr*x(Dt),Dt<A&&(Ut-=Li*(Dt-A));var ea=x(zr),Ga=o(zr);Mt[0]=Dt*Ga-Ut*ea,Mt[1]=Dt*ea+Ut*Ga}return Mt}return Je.invert=function(He,et){var Mt=He*He+et*et;if(Mt>Oe){var Dt=H(Mt),Ut=a(et,He),tr=Pe*d(Ut/Pe),mr=Ut-tr;He=Dt*o(mr),et=Dt*x(mr);for(var Rr=He-A,zr=x(He),Xr=et/zr,di=He<A?1/0:0,Li=10;;){var Ci=he*x(Xr),Qi=he*o(Xr),Mn=x(Qi),pa=A-Qi,ea=(Ci-Xr*Mn)/pa,Ga=Fa(Xr,ea);if(n(di)<E||!--Li)break;Xr-=di=(Xr*zr-ea*Rr-et)/(zr-Rr*2*(pa*(Qi+Xr*Ci*o(Qi)-Mn)-Ci*(Ci-Xr*Mn))/(pa*pa))}Dt=he+Ra(Ga,Qi,He)*(k-he)/Ra(Ga,Qi,k),Ut=tr+Xr,He=Dt*o(Ut),et=Dt*x(Ut)}return t.geoAzimuthalEquidistantRaw.invert(He,et)},Je}function Fa(he,be){return function(Pe){var Oe=he*o(Pe);return Pe<A&&(Oe-=be),H(1+Oe*Oe)}}function Ra(he,be,Pe){for(var Oe=50,Je=(Pe-be)/Oe,He=he(be)+he(Pe),et=1,Mt=be;et<Oe;++et)He+=2*he(Mt+=Je);return He*.5*Je}function jo(){var he=6,be=30*T,Pe=o(be),Oe=x(be),Je=t.geoProjectionMutator(la),He=Je(be,he),et=He.stream,Mt=.01,Dt=-o(Mt*T),Ut=x(Mt*T);return He.radius=function(tr){return arguments.length?(Pe=o(be=tr*T),Oe=x(be),Je(be,he)):be*P},He.lobes=function(tr){return arguments.length?Je(be,he=+tr):he},He.stream=function(tr){var mr=He.rotate(),Rr=et(tr),zr=(He.rotate([0,0]),et(tr));return He.rotate(mr),Rr.sphere=function(){zr.polygonStart(),zr.lineStart();for(var Xr=0,di=2*k/he,Li=0;Xr<he;++Xr,Li-=di)zr.point(a(Ut*o(Li),Dt)*P,q(Ut*x(Li))*P),zr.point(a(Oe*o(Li-di/2),Pe)*P,q(Oe*x(Li-di/2))*P);zr.lineEnd(),zr.polygonEnd()},Rr},He.rotate([90,-40]).scale(91.7095).clipAngle(180-.001)}function oa(he,be,Pe,Oe,Je,He,et,Mt){arguments.length<8&&(Mt=0);function Dt(Ut,tr){if(!tr)return[he*Ut/k,0];var mr=tr*tr,Rr=he+mr*(be+mr*(Pe+mr*Oe)),zr=tr*(Je-1+mr*(He-Mt+mr*et)),Xr=(Rr*Rr+zr*zr)/(2*zr),di=Ut*q(Rr/Xr)/k;return[Xr*x(di),tr*(1+mr*Mt)+Xr*(1-o(di))]}return Dt.invert=function(Ut,tr){var mr=k*Ut/he,Rr=tr,zr,Xr,di=50;do{var Li=Rr*Rr,Ci=he+Li*(be+Li*(Pe+Li*Oe)),Qi=Rr*(Je-1+Li*(He-Mt+Li*et)),Mn=Ci*Ci+Qi*Qi,pa=2*Qi,ea=Mn/pa,Ga=ea*ea,To=q(Ci/ea)/k,Wa=mr*To,co=Ci*Ci,Ro=(2*be+Li*(4*Pe+Li*6*Oe))*Rr,Ds=Je+Li*(3*He+Li*5*et),As=2*(Ci*Ro+Qi*(Ds-1)),yo=2*(Ds-1),po=(As*pa-Mn*yo)/(pa*pa),_l=o(Wa),Hl=x(Wa),Zu=ea*_l,cu=ea*Hl,el=mr/k*(1/H(1-co/Ga))*(Ro*ea-Ci*po)/Ga,au=cu-Ut,zc=Rr*(1+Li*Mt)+ea-Zu-tr,zl=po*Hl+Zu*el,Fl=Zu*To,Z=1+po-(po*_l-cu*el),oe=cu*To,we=zl*oe-Z*Fl;if(!we)break;mr-=zr=(zc*zl-au*Z)/we,Rr-=Xr=(au*oe-zc*Fl)/we}while((n(zr)>p||n(Xr)>p)&&--di>0);return[mr,Rr]},Dt}var Sn=oa(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function Ha(){return t.geoProjection(Sn).scale(149.995)}var oo=oa(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function xn(){return t.geoProjection(oo).scale(153.93)}var _t=oa(5/6*k,-.62636,-.0344,0,1.3493,-.05524,0,.045);function br(){return t.geoProjection(_t).scale(130.945)}function Hr(he,be){var Pe=he*he,Oe=be*be;return[he*(1-.162388*Oe)*(.87-952426e-9*Pe*Pe),be*(1+Oe/12)]}Hr.invert=function(he,be){var Pe=he,Oe=be,Je=50,He;do{var et=Oe*Oe;Oe-=He=(Oe*(1+et/12)-be)/(1+et/4)}while(n(He)>p&&--Je>0);Je=50,he/=1-.162388*et;do{var Mt=(Mt=Pe*Pe)*Mt;Pe-=He=(Pe*(.87-952426e-9*Mt)-he)/(.87-.00476213*Mt)}while(n(He)>p&&--Je>0);return[Pe,Oe]};function ti(){return t.geoProjection(Hr).scale(131.747)}var zi=oa(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Yi(){return t.geoProjection(zi).scale(131.087)}function an(he){var be=he(A,0)[0]-he(-A,0)[0];function Pe(Oe,Je){var He=Oe>0?-.5:.5,et=he(Oe+He*k,Je);return et[0]-=He*be,et}return he.invert&&(Pe.invert=function(Oe,Je){var He=Oe>0?-.5:.5,et=he.invert(Oe+He*be,Je),Mt=et[0]-He*k;return Mt<-k?Mt+=2*k:Mt>k&&(Mt-=2*k),et[0]=Mt,et}),Pe}function hi(he,be){var Pe=v(he),Oe=v(be),Je=o(be),He=o(he)*Je,et=x(he)*Je,Mt=x(Oe*be);he=n(a(et,Mt)),be=q(He),n(he-A)>p&&(he%=A);var Dt=Ji(he>k/4?A-he:he,be);return he>k/4&&(Mt=Dt[0],Dt[0]=-Dt[1],Dt[1]=-Mt),Dt[0]*=Pe,Dt[1]*=-Oe,Dt}hi.invert=function(he,be){n(he)>1&&(he=v(he)*2-he),n(be)>1&&(be=v(be)*2-be);var Pe=v(he),Oe=v(be),Je=-Pe*he,He=-Oe*be,et=He/Je<1,Mt=ua(et?He:Je,et?Je:He),Dt=Mt[0],Ut=Mt[1],tr=o(Ut);return et&&(Dt=-A-Dt),[Pe*(a(x(Dt)*tr,-x(Ut))+k),Oe*q(o(Dt)*tr)]};function Ji(he,be){if(be===A)return[0,0];var Pe=x(be),Oe=Pe*Pe,Je=Oe*Oe,He=1+Je,et=1+3*Je,Mt=1-Je,Dt=q(1/H(He)),Ut=Mt+Oe*He*Dt,tr=(1-Pe)/Ut,mr=H(tr),Rr=tr*He,zr=H(Rr),Xr=mr*Mt,di,Li;if(he===0)return[0,-(Xr+Oe*zr)];var Ci=o(be),Qi=1/Ci,Mn=2*Pe*Ci,pa=(-3*Oe+Dt*et)*Mn,ea=(-Ut*Ci-(1-Pe)*pa)/(Ut*Ut),Ga=.5*ea/mr,To=Mt*Ga-2*Oe*mr*Mn,Wa=Oe*He*ea+tr*et*Mn,co=-Qi*Mn,Ro=-Qi*Wa,Ds=-2*Qi*To,As=4*he/k,yo;if(he>.222*k||be<k/4&&he>.175*k){if(di=(Xr+Oe*H(Rr*(1+Je)-Xr*Xr))/(1+Je),he>k/4)return[di,di];var po=di,_l=.5*di;di=.5*(_l+po),Li=50;do{var Hl=H(Rr-di*di),Zu=di*(Ds+co*Hl)+Ro*q(di/zr)-As;if(!Zu)break;Zu<0?_l=di:po=di,di=.5*(_l+po)}while(n(po-_l)>p&&--Li>0)}else{di=p,Li=25;do{var cu=di*di,el=H(Rr-cu),au=Ds+co*el,zc=di*au+Ro*q(di/zr)-As,zl=au+(Ro-co*cu)/el;di-=yo=el?zc/zl:0}while(n(yo)>p&&--Li>0)}return[di,-Xr-Oe*H(Rr-di*di)]}function ua(he,be){for(var Pe=0,Oe=1,Je=.5,He=50;;){var et=Je*Je,Mt=H(Je),Dt=q(1/H(1+et)),Ut=1-et+Je*(1+et)*Dt,tr=(1-Mt)/Ut,mr=H(tr),Rr=tr*(1+et),zr=mr*(1-et),Xr=Rr-he*he,di=H(Xr),Li=be+zr+Je*di;if(n(Oe-Pe)<E||--He===0||Li===0)break;Li>0?Pe=Je:Oe=Je,Je=.5*(Pe+Oe)}if(!He)return null;var Ci=q(Mt),Qi=o(Ci),Mn=1/Qi,pa=2*Mt*Qi,ea=(-3*Je+Dt*(1+3*et))*pa,Ga=(-Ut*Qi-(1-Mt)*ea)/(Ut*Ut),To=.5*Ga/mr,Wa=(1-et)*To-2*Je*mr*pa,co=-2*Mn*Wa,Ro=-Mn*pa,Ds=-Mn*(Je*(1+et)*Ga+tr*(1+3*et)*pa);return[k/4*(he*(co+Ro*di)+Ds*q(he/H(Rr))),Ci]}function Fn(){return t.geoProjection(an(hi)).scale(239.75)}function Sa(he,be,Pe){var Oe,Je,He;return he?(Oe=go(he,Pe),be?(Je=go(be,1-Pe),He=Je[1]*Je[1]+Pe*Oe[0]*Oe[0]*Je[0]*Je[0],[[Oe[0]*Je[2]/He,Oe[1]*Oe[2]*Je[0]*Je[1]/He],[Oe[1]*Je[1]/He,-Oe[0]*Oe[2]*Je[0]*Je[2]/He],[Oe[2]*Je[1]*Je[2]/He,-Pe*Oe[0]*Oe[1]*Je[0]/He]]):[[Oe[0],0],[Oe[1],0],[Oe[2],0]]):(Je=go(be,1-Pe),[[0,Je[0]/Je[1]],[1/Je[1],0],[Je[2]/Je[1],0]])}function go(he,be){var Pe,Oe,Je,He,et;if(be<p)return He=x(he),Oe=o(he),Pe=be*(he-He*Oe)/4,[He-Pe*Oe,Oe+Pe*He,1-be*He*He/2,he-Pe];if(be>=1-p)return Pe=(1-be)/4,Oe=N(he),He=X(he),Je=1/Oe,et=Oe*G(he),[He+Pe*(et-he)/(Oe*Oe),Je-Pe*He*Je*(et-he),Je+Pe*He*Je*(et+he),2*i(s(he))-A+Pe*(et-he)/Oe];var Mt=[1,0,0,0,0,0,0,0,0],Dt=[H(be),0,0,0,0,0,0,0,0],Ut=0;for(Oe=H(1-be),et=1;n(Dt[Ut]/Mt[Ut])>p&&Ut<8;)Pe=Mt[Ut++],Dt[Ut]=(Pe-Oe)/2,Mt[Ut]=(Pe+Oe)/2,Oe=H(Pe*Oe),et*=2;Je=et*Mt[Ut]*he;do He=Dt[Ut]*x(Oe=Je)/Mt[Ut],Je=(q(He)+Je)/2;while(--Ut);return[x(Je),He=o(Je),He/o(Je-Oe),Je]}function Oo(he,be,Pe){var Oe=n(he),Je=n(be),He=G(Je);if(Oe){var et=1/x(Oe),Mt=1/(b(Oe)*b(Oe)),Dt=-(Mt+Pe*(He*He*et*et)-1+Pe),Ut=(Pe-1)*Mt,tr=(-Dt+H(Dt*Dt-4*Ut))/2;return[ho(i(1/H(tr)),Pe)*v(he),ho(i(H((tr/Mt-1)/Pe)),1-Pe)*v(be)]}return[0,ho(i(He),1-Pe)*v(be)]}function ho(he,be){if(!be)return he;if(be===1)return u(b(he/2+L));for(var Pe=1,Oe=H(1-be),Je=H(be),He=0;n(Je)>p;He++){if(he%k){var et=i(Oe*b(he)/Pe);et<0&&(et+=k),he+=et+~~(he/k)*k}else he+=he;Je=(Pe+Oe)/2,Oe=H(Pe*Oe),Je=((Pe=Je)-Oe)/2}return he/(h(2,He)*Pe)}function Mo(he,be){var Pe=(C-1)/(C+1),Oe=H(1-Pe*Pe),Je=ho(A,Oe*Oe),He=-1,et=u(b(k/4+n(be)/2)),Mt=s(He*et)/H(Pe),Dt=xo(Mt*o(He*he),Mt*x(He*he)),Ut=Oo(Dt[0],Dt[1],Oe*Oe);return[-Ut[1],(be>=0?1:-1)*(.5*Je-Ut[0])]}function xo(he,be){var Pe=he*he,Oe=be+1,Je=1-Pe-be*be;return[.5*((he>=0?A:-A)-a(Je,2*he)),-.25*u(Je*Je+4*Pe)+.5*u(Oe*Oe+Pe)]}function zs(he,be){var Pe=be[0]*be[0]+be[1]*be[1];return[(he[0]*be[0]+he[1]*be[1])/Pe,(he[1]*be[0]-he[0]*be[1])/Pe]}Mo.invert=function(he,be){var Pe=(C-1)/(C+1),Oe=H(1-Pe*Pe),Je=ho(A,Oe*Oe),He=-1,et=Sa(.5*Je-be,-he,Oe*Oe),Mt=zs(et[0],et[1]),Dt=a(Mt[1],Mt[0])/He;return[Dt,2*i(s(.5/He*u(Pe*Mt[0]*Mt[0]+Pe*Mt[1]*Mt[1])))-A]};function ks(){return t.geoProjection(an(Mo)).scale(151.496)}function Zs(he){var be=x(he),Pe=o(he),Oe=Xs(he);Oe.invert=Xs(-he);function Je(He,et){var Mt=Oe(He,et);He=Mt[0],et=Mt[1];var Dt=x(et),Ut=o(et),tr=o(He),mr=V(be*Dt+Pe*Ut*tr),Rr=x(mr),zr=n(Rr)>p?mr/Rr:1;return[zr*Pe*x(He),(n(He)>A?zr:-zr)*(be*Ut-Pe*Dt*tr)]}return Je.invert=function(He,et){var Mt=H(He*He+et*et),Dt=-x(Mt),Ut=o(Mt),tr=Mt*Ut,mr=-et*Dt,Rr=Mt*be,zr=H(tr*tr+mr*mr-Rr*Rr),Xr=a(tr*Rr+mr*zr,mr*Rr-tr*zr),di=(Mt>A?-1:1)*a(He*Dt,Mt*o(Xr)*Ut+et*x(Xr)*Dt);return Oe.invert(di,Xr)},Je}function Xs(he){var be=x(he),Pe=o(he);return function(Oe,Je){var He=o(Je),et=o(Oe)*He,Mt=x(Oe)*He,Dt=x(Je);return[a(Mt,et*Pe-Dt*be),q(Dt*Pe+et*be)]}}function wl(){var he=0,be=t.geoProjectionMutator(Zs),Pe=be(he),Oe=Pe.rotate,Je=Pe.stream,He=t.geoCircle();return Pe.parallel=function(et){if(!arguments.length)return he*P;var Mt=Pe.rotate();return be(he=et*T).rotate(Mt)},Pe.rotate=function(et){return arguments.length?(Oe.call(Pe,[et[0],et[1]-he*P]),He.center([-et[0],-et[1]]),Pe):(et=Oe.call(Pe),et[1]+=he*P,et)},Pe.stream=function(et){return et=Je(et),et.sphere=function(){et.polygonStart();var Mt=.01,Dt=He.radius(90-Mt)().coordinates[0],Ut=Dt.length-1,tr=-1,mr;for(et.lineStart();++tr<Ut;)et.point((mr=Dt[tr])[0],mr[1]);for(et.lineEnd(),Dt=He.radius(90+Mt)().coordinates[0],Ut=Dt.length-1,et.lineStart();--tr>=0;)et.point((mr=Dt[tr])[0],mr[1]);et.lineEnd(),et.polygonEnd()},et},Pe.scale(79.4187).parallel(45).clipAngle(180-.001)}var os=3,cl=q(1-1/os)*P,Cs=ar(0);function ml(he){var be=cl*T,Pe=ht(k,be)[0]-ht(-k,be)[0],Oe=Cs(0,be)[1],Je=ht(0,be)[1],He=M-Je,et=g/he,Mt=4/g,Dt=Oe+He*He*4/g;function Ut(tr,mr){var Rr,zr=n(mr);if(zr>be){var Xr=f(he-1,c(0,l((tr+k)/et)));tr+=k*(he-1)/he-Xr*et,Rr=ht(tr,zr),Rr[0]=Rr[0]*g/Pe-g*(he-1)/(2*he)+Xr*g/he,Rr[1]=Oe+(Rr[1]-Je)*4*He/g,mr<0&&(Rr[1]=-Rr[1])}else Rr=Cs(tr,mr);return Rr[0]*=Mt,Rr[1]/=Dt,Rr}return Ut.invert=function(tr,mr){tr/=Mt,mr*=Dt;var Rr=n(mr);if(Rr>Oe){var zr=f(he-1,c(0,l((tr+k)/et)));tr=(tr+k*(he-1)/he-zr*et)*Pe/g;var Xr=ht.invert(tr,.25*(Rr-Oe)*g/He+Je);return Xr[0]-=k*(he-1)/he-zr*et,mr<0&&(Xr[1]=-Xr[1]),Xr}return Cs.invert(tr,mr)},Ut}function Ys(he,be){return[he,be&1?90-p:cl]}function Hs(he,be){return[he,be&1?-90+p:-cl]}function Eo(he){return[he[0]*(1-p),he[1]]}function fs(he){var be=[].concat(r.range(-180,180+he/2,he).map(Ys),r.range(180,-180-he/2,-he).map(Hs));return{type:\"Polygon\",coordinates:[he===180?be.map(Eo):be]}}function Ql(){var he=4,be=t.geoProjectionMutator(ml),Pe=be(he),Oe=Pe.stream;return Pe.lobes=function(Je){return arguments.length?be(he=+Je):he},Pe.stream=function(Je){var He=Pe.rotate(),et=Oe(Je),Mt=(Pe.rotate([0,0]),Oe(Je));return Pe.rotate(He),et.sphere=function(){t.geoStream(fs(180/he),Mt)},et},Pe.scale(239.75)}function Hu(he){var be=1+he,Pe=x(1/be),Oe=q(Pe),Je=2*H(k/(He=k+4*Oe*be)),He,et=.5*Je*(be+H(he*(2+he))),Mt=he*he,Dt=be*be;function Ut(tr,mr){var Rr=1-x(mr),zr,Xr;if(Rr&&Rr<2){var di=A-mr,Li=25,Ci;do{var Qi=x(di),Mn=o(di),pa=Oe+a(Qi,be-Mn),ea=1+Dt-2*be*Mn;di-=Ci=(di-Mt*Oe-be*Qi+ea*pa-.5*Rr*He)/(2*be*Qi*pa)}while(n(Ci)>E&&--Li>0);zr=Je*H(ea),Xr=tr*pa/k}else zr=Je*(he+Rr),Xr=tr*Oe/k;return[zr*x(Xr),et-zr*o(Xr)]}return Ut.invert=function(tr,mr){var Rr=tr*tr+(mr-=et)*mr,zr=(1+Dt-Rr/(Je*Je))/(2*be),Xr=V(zr),di=x(Xr),Li=Oe+a(di,be-zr);return[q(tr/H(Rr))*k/Li,q(1-2*(Xr-Mt*Oe-be*di+(1+Dt-2*be*zr)*Li)/He)]},Ut}function fc(){var he=1,be=t.geoProjectionMutator(Hu),Pe=be(he);return Pe.ratio=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(167.774).center([0,18.67])}var ms=.7109889596207567,on=.0528035274542;function fa(he,be){return be>-ms?(he=Yt(he,be),he[1]+=on,he):St(he,be)}fa.invert=function(he,be){return be>-ms?Yt.invert(he,be-on):St.invert(he,be)};function Qu(){return t.geoProjection(fa).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function Rl(he,be){return n(be)>ms?(he=Yt(he,be),he[1]-=be>0?on:-on,he):St(he,be)}Rl.invert=function(he,be){return n(be)>ms?Yt.invert(he,be+(be>0?on:-on)):St.invert(he,be)};function vo(){return t.geoProjection(Rl).scale(152.63)}function Zl(he,be,Pe,Oe){var Je=H(4*k/(2*Pe+(1+he-be/2)*x(2*Pe)+(he+be)/2*x(4*Pe)+be/2*x(6*Pe))),He=H(Oe*x(Pe)*H((1+he*o(2*Pe)+be*o(4*Pe))/(1+he+be))),et=Pe*Dt(1);function Mt(mr){return H(1+he*o(2*mr)+be*o(4*mr))}function Dt(mr){var Rr=mr*Pe;return(2*Rr+(1+he-be/2)*x(2*Rr)+(he+be)/2*x(4*Rr)+be/2*x(6*Rr))/Pe}function Ut(mr){return Mt(mr)*x(mr)}var tr=function(mr,Rr){var zr=Pe*qt(Dt,et*x(Rr)/Pe,Rr/k);isNaN(zr)&&(zr=Pe*v(Rr));var Xr=Je*Mt(zr);return[Xr*He*mr/k*o(zr),Xr/He*x(zr)]};return tr.invert=function(mr,Rr){var zr=qt(Ut,Rr*He/Je);return[mr*k/(o(zr)*Je*He*Mt(zr)),q(Pe*Dt(zr/Pe)/et)]},Pe===0&&(Je=H(Oe/k),tr=function(mr,Rr){return[mr*Je,x(Rr)/Je]},tr.invert=function(mr,Rr){return[mr/Je,q(Rr*Je)]}),tr}function Ks(){var he=1,be=0,Pe=45*T,Oe=2,Je=t.geoProjectionMutator(Zl),He=Je(he,be,Pe,Oe);return He.a=function(et){return arguments.length?Je(he=+et,be,Pe,Oe):he},He.b=function(et){return arguments.length?Je(he,be=+et,Pe,Oe):be},He.psiMax=function(et){return arguments.length?Je(he,be,Pe=+et*T,Oe):Pe*P},He.ratio=function(et){return arguments.length?Je(he,be,Pe,Oe=+et):Oe},He.scale(180.739)}function Xl(he,be,Pe,Oe,Je,He,et,Mt,Dt,Ut,tr){if(tr.nanEncountered)return NaN;var mr,Rr,zr,Xr,di,Li,Ci,Qi,Mn,pa;if(mr=Pe-be,Rr=he(be+mr*.25),zr=he(Pe-mr*.25),isNaN(Rr)){tr.nanEncountered=!0;return}if(isNaN(zr)){tr.nanEncountered=!0;return}return Xr=mr*(Oe+4*Rr+Je)/12,di=mr*(Je+4*zr+He)/12,Li=Xr+di,pa=(Li-et)/15,Ut>Dt?(tr.maxDepthCount++,Li+pa):Math.abs(pa)<Mt?Li+pa:(Ci=be+mr*.5,Qi=Xl(he,be,Ci,Oe,Rr,Je,Xr,Mt*.5,Dt,Ut+1,tr),isNaN(Qi)?(tr.nanEncountered=!0,NaN):(Mn=Xl(he,Ci,Pe,Je,zr,He,di,Mt*.5,Dt,Ut+1,tr),isNaN(Mn)?(tr.nanEncountered=!0,NaN):Qi+Mn))}function Ec(he,be,Pe,Oe,Je){var He={maxDepthCount:0,nanEncountered:!1};Oe===void 0&&(Oe=1e-8),Je===void 0&&(Je=20);var et=he(be),Mt=he(.5*(be+Pe)),Dt=he(Pe),Ut=(et+4*Mt+Dt)*(Pe-be)/6,tr=Xl(he,be,Pe,et,Mt,Dt,Ut,Oe,Je,1,He);return tr}function Zn(he,be,Pe){function Oe(zr){return he+(1-he)*h(1-h(zr,be),1/be)}function Je(zr){return Ec(Oe,0,zr,1e-4)}for(var He=1/Je(1),et=1e3,Mt=(1+1e-8)*He,Dt=[],Ut=0;Ut<=et;Ut++)Dt.push(Je(Ut/et)*Mt);function tr(zr){var Xr=0,di=et,Li=et>>1;do Dt[Li]>zr?di=Li:Xr=Li,Li=Xr+di>>1;while(Li>Xr);var Ci=Dt[Li+1]-Dt[Li];return Ci&&(Ci=(zr-Dt[Li+1])/Ci),(Li+1+Ci)/et}var mr=2*tr(1)/k*He/Pe,Rr=function(zr,Xr){var di=tr(n(x(Xr))),Li=Oe(di)*zr;return di/=mr,[Li,Xr>=0?di:-di]};return Rr.invert=function(zr,Xr){var di;return Xr*=mr,n(Xr)<1&&(di=v(Xr)*q(Je(n(Xr))*He)),[zr/Oe(n(Xr)),di]},Rr}function ko(){var he=0,be=2.5,Pe=1.183136,Oe=t.geoProjectionMutator(Zn),Je=Oe(he,be,Pe);return Je.alpha=function(He){return arguments.length?Oe(he=+He,be,Pe):he},Je.k=function(He){return arguments.length?Oe(he,be=+He,Pe):be},Je.gamma=function(He){return arguments.length?Oe(he,be,Pe=+He):Pe},Je.scale(152.63)}function Co(he,be){return n(he[0]-be[0])<p&&n(he[1]-be[1])<p}function Tl(he,be){for(var Pe=-1,Oe=he.length,Je=he[0],He,et,Mt,Dt=[];++Pe<Oe;){He=he[Pe],et=(He[0]-Je[0])/be,Mt=(He[1]-Je[1])/be;for(var Ut=0;Ut<be;++Ut)Dt.push([Je[0]+Ut*et,Je[1]+Ut*Mt]);Je=He}return Dt.push(He),Dt}function uf(he){var be=[],Pe,Oe,Je,He,et,Mt,Dt,Ut=he[0].length;for(Dt=0;Dt<Ut;++Dt)Pe=he[0][Dt],Oe=Pe[0][0],Je=Pe[0][1],He=Pe[1][1],et=Pe[2][0],Mt=Pe[2][1],be.push(Tl([[Oe+p,Je+p],[Oe+p,He-p],[et-p,He-p],[et-p,Mt+p]],30));for(Dt=he[1].length-1;Dt>=0;--Dt)Pe=he[1][Dt],Oe=Pe[0][0],Je=Pe[0][1],He=Pe[1][1],et=Pe[2][0],Mt=Pe[2][1],be.push(Tl([[et-p,Mt-p],[et-p,He+p],[Oe+p,He+p],[Oe+p,Je-p]],30));return{type:\"Polygon\",coordinates:[r.merge(be)]}}function So(he,be,Pe){var Oe,Je;function He(Dt,Ut){for(var tr=Ut<0?-1:1,mr=be[+(Ut<0)],Rr=0,zr=mr.length-1;Rr<zr&&Dt>mr[Rr][2][0];++Rr);var Xr=he(Dt-mr[Rr][1][0],Ut);return Xr[0]+=he(mr[Rr][1][0],tr*Ut>tr*mr[Rr][0][1]?mr[Rr][0][1]:Ut)[0],Xr}Pe?He.invert=Pe(He):he.invert&&(He.invert=function(Dt,Ut){for(var tr=Je[+(Ut<0)],mr=be[+(Ut<0)],Rr=0,zr=tr.length;Rr<zr;++Rr){var Xr=tr[Rr];if(Xr[0][0]<=Dt&&Dt<Xr[1][0]&&Xr[0][1]<=Ut&&Ut<Xr[1][1]){var di=he.invert(Dt-he(mr[Rr][1][0],0)[0],Ut);return di[0]+=mr[Rr][1][0],Co(He(di[0],di[1]),[Dt,Ut])?di:null}}});var et=t.geoProjection(He),Mt=et.stream;return et.stream=function(Dt){var Ut=et.rotate(),tr=Mt(Dt),mr=(et.rotate([0,0]),Mt(Dt));return et.rotate(Ut),tr.sphere=function(){t.geoStream(Oe,mr)},tr},et.lobes=function(Dt){return arguments.length?(Oe=uf(Dt),be=Dt.map(function(Ut){return Ut.map(function(tr){return[[tr[0][0]*T,tr[0][1]*T],[tr[1][0]*T,tr[1][1]*T],[tr[2][0]*T,tr[2][1]*T]]})}),Je=be.map(function(Ut){return Ut.map(function(tr){var mr=he(tr[0][0],tr[0][1])[0],Rr=he(tr[2][0],tr[2][1])[0],zr=he(tr[1][0],tr[0][1])[1],Xr=he(tr[1][0],tr[1][1])[1],di;return zr>Xr&&(di=zr,zr=Xr,Xr=di),[[mr,zr],[Rr,Xr]]})}),et):be.map(function(Ut){return Ut.map(function(tr){return[[tr[0][0]*P,tr[0][1]*P],[tr[1][0]*P,tr[1][1]*P],[tr[2][0]*P,tr[2][1]*P]]})})},be!=null&&et.lobes(be),et}var cf=[[[[-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 rh(){return So(xt,cf).scale(160.857)}var Al=[[[[-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 Hc(){return So(Rl,Al).scale(152.63)}var eu=[[[[-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 Ls(){return So(Yt,eu).scale(169.529)}var mu=[[[[-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 kc(){return So(Yt,mu).scale(169.529).rotate([20,0])}var Of=[[[[-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 Gc(){return So(fa,Of,rt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var vd=[[[[-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 Bf(){return So(St,vd).scale(152.63).rotate([-20,0])}function ss(he,be){return[3/g*he*H(k*k/3-be*be),be]}ss.invert=function(he,be){return[g/3*he/H(k*k/3-be*be),be]};function ff(){return t.geoProjection(ss).scale(158.837)}function ih(he){function be(Pe,Oe){if(n(n(Oe)-A)<p)return[0,Oe<0?-2:2];var Je=x(Oe),He=h((1+Je)/(1-Je),he/2),et=.5*(He+1/He)+o(Pe*=he);return[2*x(Pe)/et,(He-1/He)/et]}return be.invert=function(Pe,Oe){var Je=n(Oe);if(n(Je-2)<p)return Pe?null:[0,v(Oe)*A];if(Je>2)return null;Pe/=2,Oe/=2;var He=Pe*Pe,et=Oe*Oe,Mt=2*Oe/(1+He+et);return Mt=h((1+Mt)/(1-Mt),1/he),[a(2*Pe,1-He-et)/he,q((Mt-1)/(Mt+1))]},be}function Vl(){var he=.5,be=t.geoProjectionMutator(ih),Pe=be(he);return Pe.spacing=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(124.75)}var Js=k/C;function hc(he,be){return[he*(1+H(o(be)))/2,be/(o(be/2)*o(he/6))]}hc.invert=function(he,be){var Pe=n(he),Oe=n(be),Je=p,He=A;Oe<Js?He*=Oe/Js:Je+=6*V(Js/Oe);for(var et=0;et<25;et++){var Mt=x(He),Dt=H(o(He)),Ut=x(He/2),tr=o(He/2),mr=x(Je/6),Rr=o(Je/6),zr=.5*Je*(1+Dt)-Pe,Xr=He/(tr*Rr)-Oe,di=Dt?-.25*Je*Mt/Dt:0,Li=.5*(1+Dt),Ci=(1+.5*He*Ut/tr)/(tr*Rr),Qi=He/tr*(mr/6)/(Rr*Rr),Mn=di*Qi-Ci*Li,pa=(zr*Qi-Xr*Li)/Mn,ea=(Xr*di-zr*Ci)/Mn;if(He-=pa,Je-=ea,n(pa)<p&&n(ea)<p)break}return[he<0?-Je:Je,be<0?-He:He]};function Cc(){return t.geoProjection(hc).scale(97.2672)}function ws(he,be){var Pe=he*he,Oe=be*be;return[he*(.975534+Oe*(-.119161+Pe*-.0143059+Oe*-.0547009)),be*(1.00384+Pe*(.0802894+Oe*-.02855+Pe*199025e-9)+Oe*(.0998909+Oe*-.0491032))]}ws.invert=function(he,be){var Pe=v(he)*k,Oe=be/2,Je=50;do{var He=Pe*Pe,et=Oe*Oe,Mt=Pe*Oe,Dt=Pe*(.975534+et*(-.119161+He*-.0143059+et*-.0547009))-he,Ut=Oe*(1.00384+He*(.0802894+et*-.02855+He*199025e-9)+et*(.0998909+et*-.0491032))-be,tr=.975534-et*(.119161+3*He*.0143059+et*.0547009),mr=-Mt*(2*.119161+4*.0547009*et+2*.0143059*He),Rr=Mt*(2*.0802894+4*199025e-9*He+2*-.02855*et),zr=1.00384+He*(.0802894+199025e-9*He)+et*(3*(.0998909-.02855*He)-5*.0491032*et),Xr=mr*Rr-zr*tr,di=(Ut*mr-Dt*zr)/Xr,Li=(Dt*Rr-Ut*tr)/Xr;Pe-=di,Oe-=Li}while((n(di)>p||n(Li)>p)&&--Je>0);return Je&&[Pe,Oe]};function $s(){return t.geoProjection(ws).scale(139.98)}function hs(he,be){return[x(he)/o(be),b(be)*o(he)]}hs.invert=function(he,be){var Pe=he*he,Oe=be*be,Je=Oe+1,He=Pe+Je,et=he?_*H((He-H(He*He-4*Pe))/Pe):1/H(Je);return[q(he*et),v(be)*V(et)]};function Ms(){return t.geoProjection(hs).scale(144.049).clipAngle(90-.001)}function dc(he){var be=o(he),Pe=b(L+he/2);function Oe(Je,He){var et=He-he,Mt=n(et)<p?Je*be:n(Mt=L+He/2)<p||n(n(Mt)-A)<p?0:Je*et/u(b(Mt)/Pe);return[Mt,et]}return Oe.invert=function(Je,He){var et,Mt=He+he;return[n(He)<p?Je/be:n(et=L+Mt/2)<p||n(n(et)-A)<p?0:Je*u(b(et)/Pe)/He,Mt]},Oe}function Sl(){return Lt(dc).parallel(40).scale(158.837)}function ec(he,be){return[he,1.25*u(b(L+.4*be))]}ec.invert=function(he,be){return[he,2.5*i(s(.8*be))-.625*k]};function Ps(){return t.geoProjection(ec).scale(108.318)}function ov(he){var be=he.length-1;function Pe(Oe,Je){for(var He=o(Je),et=2/(1+He*o(Oe)),Mt=et*He*x(Oe),Dt=et*x(Je),Ut=be,tr=he[Ut],mr=tr[0],Rr=tr[1],zr;--Ut>=0;)tr=he[Ut],mr=tr[0]+Mt*(zr=mr)-Dt*Rr,Rr=tr[1]+Mt*Rr+Dt*zr;return mr=Mt*(zr=mr)-Dt*Rr,Rr=Mt*Rr+Dt*zr,[mr,Rr]}return Pe.invert=function(Oe,Je){var He=20,et=Oe,Mt=Je;do{for(var Dt=be,Ut=he[Dt],tr=Ut[0],mr=Ut[1],Rr=0,zr=0,Xr;--Dt>=0;)Ut=he[Dt],Rr=tr+et*(Xr=Rr)-Mt*zr,zr=mr+et*zr+Mt*Xr,tr=Ut[0]+et*(Xr=tr)-Mt*mr,mr=Ut[1]+et*mr+Mt*Xr;Rr=tr+et*(Xr=Rr)-Mt*zr,zr=mr+et*zr+Mt*Xr,tr=et*(Xr=tr)-Mt*mr-Oe,mr=et*mr+Mt*Xr-Je;var di=Rr*Rr+zr*zr,Li,Ci;et-=Li=(tr*Rr+mr*zr)/di,Mt-=Ci=(mr*Rr-tr*zr)/di}while(n(Li)+n(Ci)>p*p&&--He>0);if(He){var Qi=H(et*et+Mt*Mt),Mn=2*i(Qi*.5),pa=x(Mn);return[a(et*pa,Qi*o(Mn)),Qi?q(Mt*pa/Qi):0]}},Pe}var wo=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],Od=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],$o=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Ja=[[.9245,0],[0,0],[.01943,0]],Ef=[[.721316,0],[0,0],[-.00881625,-.00617325]];function tc(){return Ml(wo,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function uu(){return Ml(Od,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Mh(){return Ml($o,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function jc(){return Ml(Ja,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function kf(){return Ml(Ef,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Ml(he,be){var Pe=t.geoProjection(ov(he)).rotate(be).clipAngle(90),Oe=t.geoRotation(be),Je=Pe.center;return delete Pe.rotate,Pe.center=function(He){return arguments.length?Je(Oe(He)):Oe.invert(Je())},Pe}var Yh=H(6),Eh=H(7);function nh(he,be){var Pe=q(7*x(be)/(3*Yh));return[Yh*he*(2*o(2*Pe/3)-1)/Eh,9*x(Pe/3)/Eh]}nh.invert=function(he,be){var Pe=3*q(be*Eh/9);return[he*Eh/(Yh*(2*o(2*Pe/3)-1)),q(x(Pe)*3*Yh/7)]};function hf(){return t.geoProjection(nh).scale(164.859)}function kh(he,be){for(var Pe=(1+_)*x(be),Oe=be,Je=0,He;Je<25&&(Oe-=He=(x(Oe/2)+x(Oe)-Pe)/(.5*o(Oe/2)+o(Oe)),!(n(He)<p));Je++);return[he*(1+2*o(Oe)/o(Oe/2))/(3*C),2*H(3)*x(Oe/2)/H(2+C)]}kh.invert=function(he,be){var Pe=be*H(2+C)/(2*H(3)),Oe=2*q(Pe);return[3*C*he/(1+2*o(Oe)/o(Oe/2)),q((Pe+x(Oe))/(1+_))]};function Kh(){return t.geoProjection(kh).scale(188.209)}function rc(he,be){for(var Pe=H(6/(4+k)),Oe=(1+k/4)*x(be),Je=be/2,He=0,et;He<25&&(Je-=et=(Je/2+x(Je)-Oe)/(.5+o(Je)),!(n(et)<p));He++);return[Pe*(.5+o(Je))*he/1.5,Pe*Je]}rc.invert=function(he,be){var Pe=H(6/(4+k)),Oe=be/Pe;return n(n(Oe)-A)<p&&(Oe=Oe<0?-A:A),[1.5*he/(Pe*(.5+o(Oe))),q((Oe/2+x(Oe))/(1+k/4))]};function ah(){return t.geoProjection(rc).scale(166.518)}function Wc(he,be){var Pe=be*be,Oe=Pe*Pe,Je=Pe*Oe;return[he*(.84719-.13063*Pe+Je*Je*(-.04515+.05494*Pe-.02326*Oe+.00331*Je)),be*(1.01183+Oe*Oe*(-.02625+.01926*Pe-.00396*Oe))]}Wc.invert=function(he,be){var Pe=be,Oe=25,Je,He,et,Mt;do He=Pe*Pe,et=He*He,Pe-=Je=(Pe*(1.01183+et*et*(-.02625+.01926*He-.00396*et))-be)/(1.01183+et*et*(9*-.02625+11*.01926*He+13*-.00396*et));while(n(Je)>E&&--Oe>0);return He=Pe*Pe,et=He*He,Mt=He*et,[he/(.84719-.13063*He+Mt*Mt*(-.04515+.05494*He-.02326*et+.00331*Mt)),Pe]};function df(){return t.geoProjection(Wc).scale(175.295)}function Cu(he,be){return[he*(1+o(be))/2,2*(be-b(be/2))]}Cu.invert=function(he,be){for(var Pe=be/2,Oe=0,Je=1/0;Oe<10&&n(Je)>p;++Oe){var He=o(be/2);be-=Je=(be-b(be/2)-Pe)/(1-.5/(He*He))}return[2*he/(1+o(be)),be]};function Nf(){return t.geoProjection(Cu).scale(152.63)}var Zc=[[[[-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 ds(){return So(Ge(1/0),Zc).rotate([20,0]).scale(152.63)}function Ch(he,be){var Pe=x(be),Oe=o(be),Je=v(he);if(he===0||n(be)===A)return[0,be];if(be===0)return[he,0];if(n(he)===A)return[he*Oe,A*Pe];var He=k/(2*he)-2*he/k,et=2*be/k,Mt=(1-et*et)/(Pe-et),Dt=He*He,Ut=Mt*Mt,tr=1+Dt/Ut,mr=1+Ut/Dt,Rr=(He*Pe/Mt-He/2)/tr,zr=(Ut*Pe/Dt+Mt/2)/mr,Xr=Rr*Rr+Oe*Oe/tr,di=zr*zr-(Ut*Pe*Pe/Dt+Mt*Pe-1)/mr;return[A*(Rr+H(Xr)*Je),A*(zr+H(di<0?0:di)*v(-be*He)*Je)]}Ch.invert=function(he,be){he/=A,be/=A;var Pe=he*he,Oe=be*be,Je=Pe+Oe,He=k*k;return[he?(Je-1+H((1-Je)*(1-Je)+4*Pe))/(2*he)*A:0,qt(function(et){return Je*(k*x(et)-2*et)*k+4*et*et*(be-x(et))+2*k*et-He*be},0)]};function Bd(){return t.geoProjection(Ch).scale(127.267)}var Jh=1.0148,Cf=.23185,pd=-.14499,Lu=.02406,$h=Jh,tu=5*Cf,Pu=7*pd,Lc=9*Lu,fl=1.790857183;function Xc(he,be){var Pe=be*be;return[he,be*(Jh+Pe*Pe*(Cf+Pe*(pd+Lu*Pe)))]}Xc.invert=function(he,be){be>fl?be=fl:be<-fl&&(be=-fl);var Pe=be,Oe;do{var Je=Pe*Pe;Pe-=Oe=(Pe*(Jh+Je*Je*(Cf+Je*(pd+Lu*Je)))-be)/($h+Je*Je*(tu+Je*(Pu+Lc*Je)))}while(n(Oe)>p);return[he,Pe]};function ic(){return t.geoProjection(Xc).scale(139.319)}function yu(he,be){if(n(be)<p)return[he,0];var Pe=b(be),Oe=he*x(be);return[x(Oe)/Pe,be+(1-o(Oe))/Pe]}yu.invert=function(he,be){if(n(be)<p)return[he,0];var Pe=he*he+be*be,Oe=be*.5,Je=10,He;do{var et=b(Oe),Mt=1/o(Oe),Dt=Pe-2*be*Oe+Oe*Oe;Oe-=He=(et*Dt+2*(Oe-be))/(2+Dt*Mt*Mt+2*(Oe-be)*et)}while(n(He)>p&&--Je>0);return et=b(Oe),[(n(be)<n(Oe+1/et)?q(he*et):v(be)*v(he)*(V(n(he*et))+A))/x(Oe),Oe]};function Qs(){return t.geoProjection(yu).scale(103.74)}function Qh(he,be){var Pe=Pc(he[1],he[0]),Oe=Pc(be[1],be[0]),Je=sv(Pe,Oe),He=vc(Pe)/vc(Oe);return Gu([1,0,he[0][0],0,1,he[0][1]],Gu([He,0,0,0,He,0],Gu([o(Je),x(Je),0,-x(Je),o(Je),0],[1,0,-be[0][0],0,1,-be[0][1]])))}function gd(he){var be=1/(he[0]*he[4]-he[1]*he[3]);return[be*he[4],-be*he[1],be*(he[1]*he[5]-he[2]*he[4]),-be*he[3],be*he[0],be*(he[2]*he[3]-he[0]*he[5])]}function Gu(he,be){return[he[0]*be[0]+he[1]*be[3],he[0]*be[1]+he[1]*be[4],he[0]*be[2]+he[1]*be[5]+he[2],he[3]*be[0]+he[4]*be[3],he[3]*be[1]+he[4]*be[4],he[3]*be[2]+he[4]*be[5]+he[5]]}function Pc(he,be){return[he[0]-be[0],he[1]-be[1]]}function vc(he){return H(he[0]*he[0]+he[1]*he[1])}function sv(he,be){return a(he[0]*be[1]-he[1]*be[0],he[0]*be[0]+he[1]*be[1])}function Lf(he,be,Pe){Oe(he,{transform:null});function Oe(Ut,tr){if(Ut.edges=ru(Ut.face),tr.face){var mr=Ut.shared=oh(Ut.face,tr.face),Rr=Qh(mr.map(tr.project),mr.map(Ut.project));Ut.transform=tr.transform?Gu(tr.transform,Rr):Rr;for(var zr=tr.edges,Xr=0,di=zr.length;Xr<di;++Xr)Iu(mr[0],zr[Xr][1])&&Iu(mr[1],zr[Xr][0])&&(zr[Xr]=Ut),Iu(mr[0],zr[Xr][0])&&Iu(mr[1],zr[Xr][1])&&(zr[Xr]=Ut);for(zr=Ut.edges,Xr=0,di=zr.length;Xr<di;++Xr)Iu(mr[0],zr[Xr][0])&&Iu(mr[1],zr[Xr][1])&&(zr[Xr]=tr),Iu(mr[0],zr[Xr][1])&&Iu(mr[1],zr[Xr][0])&&(zr[Xr]=tr)}else Ut.transform=tr.transform;return Ut.children&&Ut.children.forEach(function(Li){Oe(Li,Ut)}),Ut}function Je(Ut,tr){var mr=be(Ut,tr),Rr=mr.project([Ut*P,tr*P]),zr;return(zr=mr.transform)?[zr[0]*Rr[0]+zr[1]*Rr[1]+zr[2],-(zr[3]*Rr[0]+zr[4]*Rr[1]+zr[5])]:(Rr[1]=-Rr[1],Rr)}vf(he)&&(Je.invert=function(Ut,tr){var mr=He(he,[Ut,-tr]);return mr&&(mr[0]*=T,mr[1]*=T,mr)});function He(Ut,tr){var mr=Ut.project.invert,Rr=Ut.transform,zr=tr;if(Rr&&(Rr=gd(Rr),zr=[Rr[0]*zr[0]+Rr[1]*zr[1]+Rr[2],Rr[3]*zr[0]+Rr[4]*zr[1]+Rr[5]]),mr&&Ut===et(Xr=mr(zr)))return Xr;for(var Xr,di=Ut.children,Li=0,Ci=di&&di.length;Li<Ci;++Li)if(Xr=He(di[Li],tr))return Xr}function et(Ut){return be(Ut[0]*T,Ut[1]*T)}var Mt=t.geoProjection(Je),Dt=Mt.stream;return Mt.stream=function(Ut){var tr=Mt.rotate(),mr=Dt(Ut),Rr=(Mt.rotate([0,0]),Dt(Ut));return Mt.rotate(tr),mr.sphere=function(){Rr.polygonStart(),Rr.lineStart(),Uf(Rr,he),Rr.lineEnd(),Rr.polygonEnd()},mr},Mt.angle(Pe==null?-30:Pe*P)}function Uf(he,be,Pe){var Oe,Je=be.edges,He=Je.length,et,Mt={type:\"MultiPoint\",coordinates:be.face},Dt=be.face.filter(function(di){return n(di[1])!==90}),Ut=t.geoBounds({type:\"MultiPoint\",coordinates:Dt}),tr=!1,mr=-1,Rr=Ut[1][0]-Ut[0][0],zr=Rr===180||Rr===360?[(Ut[0][0]+Ut[1][0])/2,(Ut[0][1]+Ut[1][1])/2]:t.geoCentroid(Mt);if(Pe)for(;++mr<He&&Je[mr]!==Pe;);++mr;for(var Xr=0;Xr<He;++Xr)et=Je[(Xr+mr)%He],Array.isArray(et)?(tr||(he.point((Oe=t.geoInterpolate(et[0],zr)(p))[0],Oe[1]),tr=!0),he.point((Oe=t.geoInterpolate(et[1],zr)(p))[0],Oe[1])):(tr=!1,et!==Pe&&Uf(he,et,be))}function Iu(he,be){return he&&be&&he[0]===be[0]&&he[1]===be[1]}function oh(he,be){for(var Pe,Oe,Je=he.length,He=null,et=0;et<Je;++et){Pe=he[et];for(var Mt=be.length;--Mt>=0;)if(Oe=be[Mt],Pe[0]===Oe[0]&&Pe[1]===Oe[1]){if(He)return[He,Pe];He=Pe}}}function ru(he){for(var be=he.length,Pe=[],Oe=he[be-1],Je=0;Je<be;++Je)Pe.push([Oe,Oe=he[Je]]);return Pe}function vf(he){return he.project.invert||he.children&&he.children.some(vf)}var md=[[0,90],[-90,0],[0,0],[90,0],[180,0],[0,-90]],sh=[[0,2,1],[0,3,2],[5,1,2],[5,2,3],[0,1,4],[0,4,3],[5,4,1],[5,3,4]].map(function(he){return he.map(function(be){return md[be]})});function Fs(he){he=he||function(Pe){var Oe=t.geoCentroid({type:\"MultiPoint\",coordinates:Pe});return t.geoGnomonic().scale(1).translate([0,0]).rotate([-Oe[0],-Oe[1]])};var be=sh.map(function(Pe){return{face:Pe,project:he(Pe)}});return[-1,0,0,1,0,1,4,5].forEach(function(Pe,Oe){var Je=be[Pe];Je&&(Je.children||(Je.children=[])).push(be[Oe])}),Lf(be[0],function(Pe,Oe){return be[Pe<-k/2?Oe<0?6:4:Pe<0?Oe<0?2:0:Pe<k/2?Oe<0?3:1:Oe<0?7:5]}).angle(-30).scale(101.858).center([0,45])}var _u=2/H(3);function xu(he,be){var Pe=ht(he,be);return[Pe[0]*_u,Pe[1]]}xu.invert=function(he,be){return ht.invert(he/_u,be)};function Lh(he){he=he||function(Pe){var Oe=t.geoCentroid({type:\"MultiPoint\",coordinates:Pe});return t.geoProjection(xu).translate([0,0]).scale(1).rotate(Oe[1]>0?[-Oe[0],0]:[180-Oe[0],180])};var be=sh.map(function(Pe){return{face:Pe,project:he(Pe)}});return[-1,0,0,1,0,1,4,5].forEach(function(Pe,Oe){var Je=be[Pe];Je&&(Je.children||(Je.children=[])).push(be[Oe])}),Lf(be[0],function(Pe,Oe){return be[Pe<-k/2?Oe<0?6:4:Pe<0?Oe<0?2:0:Pe<k/2?Oe<0?3:1:Oe<0?7:5]}).angle(-30).scale(121.906).center([0,48.5904])}function Is(he){he=he||function(et){var Mt=et.length===6?t.geoCentroid({type:\"MultiPoint\",coordinates:et}):et[0];return t.geoGnomonic().scale(1).translate([0,0]).rotate([-Mt[0],-Mt[1]])};var be=sh.map(function(et){for(var Mt=et.map(Vf),Dt=Mt.length,Ut=Mt[Dt-1],tr,mr=[],Rr=0;Rr<Dt;++Rr)tr=Mt[Rr],mr.push(ju([Ut[0]*.9486832980505138+tr[0]*.31622776601683794,Ut[1]*.9486832980505138+tr[1]*.31622776601683794,Ut[2]*.9486832980505138+tr[2]*.31622776601683794]),ju([tr[0]*.9486832980505138+Ut[0]*.31622776601683794,tr[1]*.9486832980505138+Ut[1]*.31622776601683794,tr[2]*.9486832980505138+Ut[2]*.31622776601683794])),Ut=tr;return mr}),Pe=[],Oe=[-1,0,0,1,0,1,4,5];be.forEach(function(et,Mt){for(var Dt=sh[Mt],Ut=Dt.length,tr=Pe[Mt]=[],mr=0;mr<Ut;++mr)be.push([Dt[mr],et[(mr*2+2)%(2*Ut)],et[(mr*2+1)%(2*Ut)]]),Oe.push(Mt),tr.push(Ic(Vf(et[(mr*2+2)%(2*Ut)]),Vf(et[(mr*2+1)%(2*Ut)])))});var Je=be.map(function(et){return{project:he(et),face:et}});Oe.forEach(function(et,Mt){var Dt=Je[et];Dt&&(Dt.children||(Dt.children=[])).push(Je[Mt])});function He(et,Mt){var Dt=o(Mt),Ut=[Dt*o(et),Dt*x(et),x(Mt)],tr=et<-k/2?Mt<0?6:4:et<0?Mt<0?2:0:et<k/2?Mt<0?3:1:Mt<0?7:5,mr=Pe[tr];return Je[Pf(mr[0],Ut)<0?8+3*tr:Pf(mr[1],Ut)<0?8+3*tr+1:Pf(mr[2],Ut)<0?8+3*tr+2:tr]}return Lf(Je[0],He).angle(-30).scale(110.625).center([0,45])}function Pf(he,be){for(var Pe=0,Oe=he.length,Je=0;Pe<Oe;++Pe)Je+=he[Pe]*be[Pe];return Je}function Ic(he,be){return[he[1]*be[2]-he[2]*be[1],he[2]*be[0]-he[0]*be[2],he[0]*be[1]-he[1]*be[0]]}function ju(he){return[a(he[1],he[0])*P,q(c(-1,f(1,he[2])))*P]}function Vf(he){var be=he[0]*T,Pe=he[1]*T,Oe=o(Pe);return[Oe*o(be),Oe*x(be),x(Pe)]}function pc(){}function pf(he){if((Pe=he.length)<4)return!1;for(var be=0,Pe,Oe=he[Pe-1][1]*he[0][0]-he[Pe-1][0]*he[0][1];++be<Pe;)Oe+=he[be-1][1]*he[be][0]-he[be-1][0]*he[be][1];return Oe<=0}function Ph(he,be){for(var Pe=be[0],Oe=be[1],Je=!1,He=0,et=he.length,Mt=et-1;He<et;Mt=He++){var Dt=he[He],Ut=Dt[0],tr=Dt[1],mr=he[Mt],Rr=mr[0],zr=mr[1];tr>Oe^zr>Oe&&Pe<(Rr-Ut)*(Oe-tr)/(zr-tr)+Ut&&(Je=!Je)}return Je}function Dl(he,be){var Pe=be.stream,Oe;if(!Pe)throw new Error(\"invalid projection\");switch(he&&he.type){case\"Feature\":Oe=Wu;break;case\"FeatureCollection\":Oe=Ih;break;default:Oe=gc;break}return Oe(he,Pe)}function Ih(he,be){return{type:\"FeatureCollection\",features:he.features.map(function(Pe){return Wu(Pe,be)})}}function Wu(he,be){return{type:\"Feature\",id:he.id,properties:he.properties,geometry:gc(he.geometry,be)}}function Rc(he,be){return{type:\"GeometryCollection\",geometries:he.geometries.map(function(Pe){return gc(Pe,be)})}}function gc(he,be){if(!he)return null;if(he.type===\"GeometryCollection\")return Rc(he,be);var Pe;switch(he.type){case\"Point\":Pe=mc;break;case\"MultiPoint\":Pe=mc;break;case\"LineString\":Pe=Yc;break;case\"MultiLineString\":Pe=Yc;break;case\"Polygon\":Pe=nc;break;case\"MultiPolygon\":Pe=nc;break;case\"Sphere\":Pe=nc;break;default:return null}return t.geoStream(he,be(Pe)),Pe.result()}var hl=[],iu=[],mc={point:function(he,be){hl.push([he,be])},result:function(){var he=hl.length?hl.length<2?{type:\"Point\",coordinates:hl[0]}:{type:\"MultiPoint\",coordinates:hl}:null;return hl=[],he}},Yc={lineStart:pc,point:function(he,be){hl.push([he,be])},lineEnd:function(){hl.length&&(iu.push(hl),hl=[])},result:function(){var he=iu.length?iu.length<2?{type:\"LineString\",coordinates:iu[0]}:{type:\"MultiLineString\",coordinates:iu}:null;return iu=[],he}},nc={polygonStart:pc,lineStart:pc,point:function(he,be){hl.push([he,be])},lineEnd:function(){var he=hl.length;if(he){do hl.push(hl[0].slice());while(++he<4);iu.push(hl),hl=[]}},polygonEnd:pc,result:function(){if(!iu.length)return null;var he=[],be=[];return iu.forEach(function(Pe){pf(Pe)?he.push([Pe]):be.push(Pe)}),be.forEach(function(Pe){var Oe=Pe[0];he.some(function(Je){if(Ph(Je[0],Oe))return Je.push(Pe),!0})||he.push([Pe])}),iu=[],he.length?he.length>1?{type:\"MultiPolygon\",coordinates:he}:{type:\"Polygon\",coordinates:he[0]}:null}};function gf(he){var be=he(A,0)[0]-he(-A,0)[0];function Pe(Oe,Je){var He=n(Oe)<A,et=he(He?Oe:Oe>0?Oe-k:Oe+k,Je),Mt=(et[0]-et[1])*_,Dt=(et[0]+et[1])*_;if(He)return[Mt,Dt];var Ut=be*_,tr=Mt>0^Dt>0?-1:1;return[tr*Mt-v(Dt)*Ut,tr*Dt-v(Mt)*Ut]}return he.invert&&(Pe.invert=function(Oe,Je){var He=(Oe+Je)*_,et=(Je-Oe)*_,Mt=n(He)<.5*be&&n(et)<.5*be;if(!Mt){var Dt=be*_,Ut=He>0^et>0?-1:1,tr=-Ut*Oe+(et>0?1:-1)*Dt,mr=-Ut*Je+(He>0?1:-1)*Dt;He=(-tr-mr)*_,et=(tr-mr)*_}var Rr=he.invert(He,et);return Mt||(Rr[0]+=He>0?k:-k),Rr}),t.geoProjection(Pe).rotate([-90,-90,45]).clipAngle(180-.001)}function gt(){return gf(hi).scale(176.423)}function Bt(){return gf(Mo).scale(111.48)}function wr(he,be){if(!(0<=(be=+be)&&be<=20))throw new Error(\"invalid digits\");function Pe(Ut){var tr=Ut.length,mr=2,Rr=new Array(tr);for(Rr[0]=+Ut[0].toFixed(be),Rr[1]=+Ut[1].toFixed(be);mr<tr;)Rr[mr]=Ut[mr],++mr;return Rr}function Oe(Ut){return Ut.map(Pe)}function Je(Ut){for(var tr=Pe(Ut[0]),mr=[tr],Rr=1;Rr<Ut.length;Rr++){var zr=Pe(Ut[Rr]);(zr.length>2||zr[0]!=tr[0]||zr[1]!=tr[1])&&(mr.push(zr),tr=zr)}return mr.length===1&&Ut.length>1&&mr.push(Pe(Ut[Ut.length-1])),mr}function He(Ut){return Ut.map(Je)}function et(Ut){if(Ut==null)return Ut;var tr;switch(Ut.type){case\"GeometryCollection\":tr={type:\"GeometryCollection\",geometries:Ut.geometries.map(et)};break;case\"Point\":tr={type:\"Point\",coordinates:Pe(Ut.coordinates)};break;case\"MultiPoint\":tr={type:Ut.type,coordinates:Oe(Ut.coordinates)};break;case\"LineString\":tr={type:Ut.type,coordinates:Je(Ut.coordinates)};break;case\"MultiLineString\":case\"Polygon\":tr={type:Ut.type,coordinates:He(Ut.coordinates)};break;case\"MultiPolygon\":tr={type:\"MultiPolygon\",coordinates:Ut.coordinates.map(He)};break;default:return Ut}return Ut.bbox!=null&&(tr.bbox=Ut.bbox),tr}function Mt(Ut){var tr={type:\"Feature\",properties:Ut.properties,geometry:et(Ut.geometry)};return Ut.id!=null&&(tr.id=Ut.id),Ut.bbox!=null&&(tr.bbox=Ut.bbox),tr}if(he!=null)switch(he.type){case\"Feature\":return Mt(he);case\"FeatureCollection\":{var Dt={type:\"FeatureCollection\",features:he.features.map(Mt)};return he.bbox!=null&&(Dt.bbox=he.bbox),Dt}default:return et(he)}return he}function vr(he){var be=x(he);function Pe(Oe,Je){var He=be?b(Oe*be/2)/be:Oe/2;if(!Je)return[2*He,-he];var et=2*i(He*x(Je)),Mt=1/b(Je);return[x(et)*Mt,Je+(1-o(et))*Mt-he]}return Pe.invert=function(Oe,Je){if(n(Je+=he)<p)return[be?2*i(be*Oe/2)/be:Oe,0];var He=Oe*Oe+Je*Je,et=0,Mt=10,Dt;do{var Ut=b(et),tr=1/o(et),mr=He-2*Je*et+et*et;et-=Dt=(Ut*mr+2*(et-Je))/(2+mr*tr*tr+2*(et-Je)*Ut)}while(n(Dt)>p&&--Mt>0);var Rr=Oe*(Ut=b(et)),zr=b(n(Je)<n(et+1/Ut)?q(Rr)*.5:V(Rr)*.5+k/4)/x(et);return[be?2*i(be*zr)/be:2*zr,et]},Pe}function Ur(){return Lt(vr).scale(131.215)}var fi=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];fi.forEach(function(he){he[1]*=1.0144});function xi(he,be){var Pe=f(18,n(be)*36/k),Oe=l(Pe),Je=Pe-Oe,He=(mr=fi[Oe])[0],et=mr[1],Mt=(mr=fi[++Oe])[0],Dt=mr[1],Ut=(mr=fi[f(19,++Oe)])[0],tr=mr[1],mr;return[he*(Mt+Je*(Ut-He)/2+Je*Je*(Ut-2*Mt+He)/2),(be>0?A:-A)*(Dt+Je*(tr-et)/2+Je*Je*(tr-2*Dt+et)/2)]}xi.invert=function(he,be){var Pe=be/A,Oe=Pe*90,Je=f(18,n(Oe/5)),He=c(0,l(Je));do{var et=fi[He][1],Mt=fi[He+1][1],Dt=fi[f(19,He+2)][1],Ut=Dt-et,tr=Dt-2*Mt+et,mr=2*(n(Pe)-Mt)/Ut,Rr=tr/Ut,zr=mr*(1-Rr*mr*(1-2*Rr*mr));if(zr>=0||He===1){Oe=(be>=0?5:-5)*(zr+Je);var Xr=50,di;do Je=f(18,n(Oe)/5),He=l(Je),zr=Je-He,et=fi[He][1],Mt=fi[He+1][1],Dt=fi[f(19,He+2)][1],Oe-=(di=(be>=0?A:-A)*(Mt+zr*(Dt-et)/2+zr*zr*(Dt-2*Mt+et)/2)-be)*P;while(n(di)>E&&--Xr>0);break}}while(--He>=0);var Li=fi[He][0],Ci=fi[He+1][0],Qi=fi[f(19,He+2)][0];return[he/(Ci+zr*(Qi-Li)/2+zr*zr*(Qi-2*Ci+Li)/2),Oe*T]};function Fi(){return t.geoProjection(xi).scale(152.63)}function Xi(he){function be(Pe,Oe){var Je=o(Oe),He=(he-1)/(he-Je*o(Pe));return[He*Je*x(Pe),He*x(Oe)]}return be.invert=function(Pe,Oe){var Je=Pe*Pe+Oe*Oe,He=H(Je),et=(he-H(1-Je*(he+1)/(he-1)))/((he-1)/He+He/(he-1));return[a(Pe*et,He*H(1-et*et)),He?q(Oe*et/He):0]},be}function hn(he,be){var Pe=Xi(he);if(!be)return Pe;var Oe=o(be),Je=x(be);function He(et,Mt){var Dt=Pe(et,Mt),Ut=Dt[1],tr=Ut*Je/(he-1)+Oe;return[Dt[0]*Oe/tr,Ut/tr]}return He.invert=function(et,Mt){var Dt=(he-1)/(he-1-Mt*Je);return Pe.invert(Dt*et,Dt*Mt*Oe)},He}function Ti(){var he=2,be=0,Pe=t.geoProjectionMutator(hn),Oe=Pe(he,be);return Oe.distance=function(Je){return arguments.length?Pe(he=+Je,be):he},Oe.tilt=function(Je){return arguments.length?Pe(he,be=Je*T):be*P},Oe.scale(432.147).clipAngle(V(1/he)*P-1e-6)}var qi=1e-4,Ii=1e4,mi=-180,Pn=mi+qi,Ma=180,Ta=Ma-qi,Ea=-90,qa=Ea+qi,Cn=90,sn=Cn-qi;function Ua(he){return he.length>0}function mo(he){return Math.floor(he*Ii)/Ii}function Xo(he){return he===Ea||he===Cn?[0,he]:[mi,mo(he)]}function Ts(he){var be=he[0],Pe=he[1],Oe=!1;return be<=Pn?(be=mi,Oe=!0):be>=Ta&&(be=Ma,Oe=!0),Pe<=qa?(Pe=Ea,Oe=!0):Pe>=sn&&(Pe=Cn,Oe=!0),Oe?[be,Pe]:he}function Qo(he){return he.map(Ts)}function ys(he,be,Pe){for(var Oe=0,Je=he.length;Oe<Je;++Oe){var He=he[Oe].slice();Pe.push({index:-1,polygon:be,ring:He});for(var et=0,Mt=He.length;et<Mt;++et){var Dt=He[et],Ut=Dt[0],tr=Dt[1];if(Ut<=Pn||Ut>=Ta||tr<=qa||tr>=sn){He[et]=Ts(Dt);for(var mr=et+1;mr<Mt;++mr){var Rr=He[mr],zr=Rr[0],Xr=Rr[1];if(zr>Pn&&zr<Ta&&Xr>qa&&Xr<sn)break}if(mr===et+1)continue;if(et){var di={index:-1,polygon:be,ring:He.slice(0,et+1)};di.ring[di.ring.length-1]=Xo(tr),Pe[Pe.length-1]=di}else Pe.pop();if(mr>=Mt)break;Pe.push({index:-1,polygon:be,ring:He=He.slice(mr-1)}),He[0]=Xo(He[0][1]),et=-1,Mt=He.length}}}}function Bo(he){var be,Pe=he.length,Oe={},Je={},He,et,Mt,Dt,Ut;for(be=0;be<Pe;++be){if(He=he[be],et=He.ring[0],Dt=He.ring[He.ring.length-1],et[0]===Dt[0]&&et[1]===Dt[1]){He.polygon.push(He.ring),he[be]=null;continue}He.index=be,Oe[et]=Je[Dt]=He}for(be=0;be<Pe;++be)if(He=he[be],He){if(et=He.ring[0],Dt=He.ring[He.ring.length-1],Mt=Je[et],Ut=Oe[Dt],delete Oe[et],delete Je[Dt],et[0]===Dt[0]&&et[1]===Dt[1]){He.polygon.push(He.ring);continue}Mt?(delete Je[et],delete Oe[Mt.ring[0]],Mt.ring.pop(),he[Mt.index]=null,He={index:-1,polygon:Mt.polygon,ring:Mt.ring.concat(He.ring)},Mt===Ut?He.polygon.push(He.ring):(He.index=Pe++,he.push(Oe[He.ring[0]]=Je[He.ring[He.ring.length-1]]=He))):Ut?(delete Oe[Dt],delete Je[Ut.ring[Ut.ring.length-1]],He.ring.pop(),He={index:Pe++,polygon:Ut.polygon,ring:He.ring.concat(Ut.ring)},he[Ut.index]=null,he.push(Oe[He.ring[0]]=Je[He.ring[He.ring.length-1]]=He)):(He.ring.push(He.ring[0]),He.polygon.push(He.ring))}}function yl(he){var be={type:\"Feature\",geometry:Gs(he.geometry)};return he.id!=null&&(be.id=he.id),he.bbox!=null&&(be.bbox=he.bbox),he.properties!=null&&(be.properties=he.properties),be}function Gs(he){if(he==null)return he;var be,Pe,Oe,Je;switch(he.type){case\"GeometryCollection\":be={type:\"GeometryCollection\",geometries:he.geometries.map(Gs)};break;case\"Point\":be={type:\"Point\",coordinates:Ts(he.coordinates)};break;case\"MultiPoint\":case\"LineString\":be={type:he.type,coordinates:Qo(he.coordinates)};break;case\"MultiLineString\":be={type:\"MultiLineString\",coordinates:he.coordinates.map(Qo)};break;case\"Polygon\":{var He=[];ys(he.coordinates,He,Pe=[]),Bo(Pe),be={type:\"Polygon\",coordinates:He};break}case\"MultiPolygon\":{Pe=[],Oe=-1,Je=he.coordinates.length;for(var et=new Array(Je);++Oe<Je;)ys(he.coordinates[Oe],et[Oe]=[],Pe);Bo(Pe),be={type:\"MultiPolygon\",coordinates:et.filter(Ua)};break}default:return he}return he.bbox!=null&&(be.bbox=he.bbox),be}function Rs(he){if(he==null)return he;switch(he.type){case\"Feature\":return yl(he);case\"FeatureCollection\":{var be={type:\"FeatureCollection\",features:he.features.map(yl)};return he.bbox!=null&&(be.bbox=he.bbox),be}default:return Gs(he)}}function ia(he,be){var Pe=b(be/2),Oe=x(L*Pe);return[he*(.74482-.34588*Oe*Oe),1.70711*Pe]}ia.invert=function(he,be){var Pe=be/1.70711,Oe=x(L*Pe);return[he/(.74482-.34588*Oe*Oe),2*i(Pe)]};function Ka(){return t.geoProjection(ia).scale(146.153)}function vs(he,be,Pe){var Oe=t.geoInterpolate(be,Pe),Je=Oe(.5),He=t.geoRotation([-Je[0],-Je[1]])(be),et=Oe.distance/2,Mt=-q(x(He[1]*T)/x(et)),Dt=[-Je[0],-Je[1],-(He[0]>0?k-Mt:Mt)*P],Ut=t.geoProjection(he(et)).rotate(Dt),tr=t.geoRotation(Dt),mr=Ut.center;return delete Ut.rotate,Ut.center=function(Rr){return arguments.length?mr(tr(Rr)):tr.invert(mr())},Ut.clipAngle(90)}function Ko(he){var be=o(he);function Pe(Oe,Je){var He=t.geoGnomonicRaw(Oe,Je);return He[0]*=be,He}return Pe.invert=function(Oe,Je){return t.geoGnomonicRaw.invert(Oe/be,Je)},Pe}function nu(){return Ru([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Ru(he,be){return vs(Ko,he,be)}function ac(he){if(!(he*=2))return t.geoAzimuthalEquidistantRaw;var be=-he/2,Pe=-be,Oe=he*he,Je=b(Pe),He=.5/x(Pe);function et(Mt,Dt){var Ut=V(o(Dt)*o(Mt-be)),tr=V(o(Dt)*o(Mt-Pe)),mr=Dt<0?-1:1;return Ut*=Ut,tr*=tr,[(Ut-tr)/(2*he),mr*H(4*Oe*tr-(Oe-Ut+tr)*(Oe-Ut+tr))/(2*he)]}return et.invert=function(Mt,Dt){var Ut=Dt*Dt,tr=o(H(Ut+(Rr=Mt+be)*Rr)),mr=o(H(Ut+(Rr=Mt+Pe)*Rr)),Rr,zr;return[a(zr=tr-mr,Rr=(tr+mr)*Je),(Dt<0?-1:1)*V(H(Rr*Rr+zr*zr)*He)]},et}function mf(){return bu([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function bu(he,be){return vs(ac,he,be)}function Kc(he,be){if(n(be)<p)return[he,0];var Pe=n(be/A),Oe=q(Pe);if(n(he)<p||n(n(be)-A)<p)return[0,v(be)*k*b(Oe/2)];var Je=o(Oe),He=n(k/he-he/k)/2,et=He*He,Mt=Je/(Pe+Je-1),Dt=Mt*(2/Pe-1),Ut=Dt*Dt,tr=Ut+et,mr=Mt-Ut,Rr=et+Mt;return[v(he)*k*(He*mr+H(et*mr*mr-tr*(Mt*Mt-Ut)))/tr,v(be)*k*(Dt*Rr-He*H((et+1)*tr-Rr*Rr))/tr]}Kc.invert=function(he,be){if(n(be)<p)return[he,0];if(n(he)<p)return[0,A*x(2*i(be/k))];var Pe=(he/=k)*he,Oe=(be/=k)*be,Je=Pe+Oe,He=Je*Je,et=-n(be)*(1+Je),Mt=et-2*Oe+Pe,Dt=-2*et+1+2*Oe+He,Ut=Oe/Dt+(2*Mt*Mt*Mt/(Dt*Dt*Dt)-9*et*Mt/(Dt*Dt))/27,tr=(et-Mt*Mt/(3*Dt))/Dt,mr=2*H(-tr/3),Rr=V(3*Ut/(tr*mr))/3;return[k*(Je-1+H(1+2*(Pe-Oe)+He))/(2*he),v(be)*k*(-mr*o(Rr+k/3)-Mt/(3*Dt))]};function Du(){return t.geoProjection(Kc).scale(79.4183)}function Dc(he,be){if(n(be)<p)return[he,0];var Pe=n(be/A),Oe=q(Pe);if(n(he)<p||n(n(be)-A)<p)return[0,v(be)*k*b(Oe/2)];var Je=o(Oe),He=n(k/he-he/k)/2,et=He*He,Mt=Je*(H(1+et)-He*Je)/(1+et*Pe*Pe);return[v(he)*k*Mt,v(be)*k*H(1-Mt*(2*He+Mt))]}Dc.invert=function(he,be){if(!he)return[0,A*x(2*i(be/k))];var Pe=n(he/k),Oe=(1-Pe*Pe-(be/=k)*be)/(2*Pe),Je=Oe*Oe,He=H(Je+1);return[v(he)*k*(He-Oe),v(be)*A*x(2*a(H((1-2*Oe*Pe)*(Oe+He)-Pe),H(He+Oe+Pe)))]};function Da(){return t.geoProjection(Dc).scale(79.4183)}function eo(he,be){if(n(be)<p)return[he,0];var Pe=be/A,Oe=q(Pe);if(n(he)<p||n(n(be)-A)<p)return[0,k*b(Oe/2)];var Je=(k/he-he/k)/2,He=Pe/(1+o(Oe));return[k*(v(he)*H(Je*Je+1-He*He)-Je),k*He]}eo.invert=function(he,be){if(!be)return[he,0];var Pe=be/k,Oe=(k*k*(1-Pe*Pe)-he*he)/(2*k*he);return[he?k*(v(he)*H(Oe*Oe+1)-Oe):0,A*x(2*i(Pe))]};function Jc(){return t.geoProjection(eo).scale(79.4183)}function yc(he,be){if(!be)return[he,0];var Pe=n(be);if(!he||Pe===A)return[0,be];var Oe=Pe/A,Je=Oe*Oe,He=(8*Oe-Je*(Je+2)-5)/(2*Je*(Oe-1)),et=He*He,Mt=Oe*He,Dt=Je+et+2*Mt,Ut=Oe+3*He,tr=he/A,mr=tr+1/tr,Rr=v(n(he)-A)*H(mr*mr-4),zr=Rr*Rr,Xr=Dt*(Je+et*zr-1)+(1-Je)*(Je*(Ut*Ut+4*et)+12*Mt*et+4*et*et),di=(Rr*(Dt+et-1)+2*H(Xr))/(4*Dt+zr);return[v(he)*A*di,v(be)*A*H(1+Rr*n(di)-di*di)]}yc.invert=function(he,be){var Pe;if(!he||!be)return[he,be];be/=k;var Oe=v(he)*he/A,Je=(Oe*Oe-1+4*be*be)/n(Oe),He=Je*Je,et=2*be,Mt=50;do{var Dt=et*et,Ut=(8*et-Dt*(Dt+2)-5)/(2*Dt*(et-1)),tr=(3*et-Dt*et-10)/(2*Dt*et),mr=Ut*Ut,Rr=et*Ut,zr=et+Ut,Xr=zr*zr,di=et+3*Ut,Li=Xr*(Dt+mr*He-1)+(1-Dt)*(Dt*(di*di+4*mr)+mr*(12*Rr+4*mr)),Ci=-2*zr*(4*Rr*mr+(1-4*Dt+3*Dt*Dt)*(1+tr)+mr*(-6+14*Dt-He+(-8+8*Dt-2*He)*tr)+Rr*(-8+12*Dt+(-10+10*Dt-He)*tr)),Qi=H(Li),Mn=Je*(Xr+mr-1)+2*Qi-Oe*(4*Xr+He),pa=Je*(2*Ut*tr+2*zr*(1+tr))+Ci/Qi-8*zr*(Je*(-1+mr+Xr)+2*Qi)*(1+tr)/(He+4*Xr);et-=Pe=Mn/pa}while(Pe>p&&--Mt>0);return[v(he)*(H(Je*Je+4)+Je)*k/4,A*et]};function _c(){return t.geoProjection(yc).scale(127.16)}function le(he,be,Pe,Oe,Je){function He(et,Mt){var Dt=Pe*x(Oe*Mt),Ut=H(1-Dt*Dt),tr=H(2/(1+Ut*o(et*=Je)));return[he*Ut*tr*x(et),be*Dt*tr]}return He.invert=function(et,Mt){var Dt=et/he,Ut=Mt/be,tr=H(Dt*Dt+Ut*Ut),mr=2*q(tr/2);return[a(et*b(mr),he*tr)/Je,tr&&q(Mt*x(mr)/(be*Pe*tr))/Oe]},He}function w(he,be,Pe,Oe){var Je=k/3;he=c(he,p),be=c(be,p),he=f(he,A),be=f(be,k-p),Pe=c(Pe,0),Pe=f(Pe,100-p),Oe=c(Oe,p);var He=Pe/100+1,et=Oe/100,Mt=V(He*o(Je))/Je,Dt=x(he)/x(Mt*A),Ut=be/k,tr=H(et*x(he/2)/x(be/2)),mr=tr/H(Ut*Dt*Mt),Rr=1/(tr*H(Ut*Dt*Mt));return le(mr,Rr,Dt,Mt,Ut)}function B(){var he=65*T,be=60*T,Pe=20,Oe=200,Je=t.geoProjectionMutator(w),He=Je(he,be,Pe,Oe);return He.poleline=function(et){return arguments.length?Je(he=+et*T,be,Pe,Oe):he*P},He.parallels=function(et){return arguments.length?Je(he,be=+et*T,Pe,Oe):be*P},He.inflation=function(et){return arguments.length?Je(he,be,Pe=+et,Oe):Pe},He.ratio=function(et){return arguments.length?Je(he,be,Pe,Oe=+et):Oe},He.scale(163.775)}function Q(){return B().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)}var ee=4*k+3*H(3),se=2*H(2*k*H(3)/ee),qe=Ct(se*H(3)/k,se,ee/6);function je(){return t.geoProjection(qe).scale(176.84)}function it(he,be){return[he*H(1-3*be*be/(k*k)),be]}it.invert=function(he,be){return[he/H(1-3*be*be/(k*k)),be]};function yt(){return t.geoProjection(it).scale(152.63)}function Ot(he,be){var Pe=o(be),Oe=o(he)*Pe,Je=1-Oe,He=o(he=a(x(he)*Pe,-x(be))),et=x(he);return Pe=H(1-Oe*Oe),[et*Pe-He*Je,-He*Pe-et*Je]}Ot.invert=function(he,be){var Pe=(he*he+be*be)/-2,Oe=H(-Pe*(2+Pe)),Je=be*Pe+he*Oe,He=he*Pe-be*Oe,et=H(He*He+Je*Je);return[a(Oe*Je,et*(1+Pe)),et?-q(Oe*He/et):0]};function Nt(){return t.geoProjection(Ot).rotate([0,-90,45]).scale(124.75).clipAngle(180-.001)}function hr(he,be){var Pe=Me(he,be);return[(Pe[0]+he/A)/2,(Pe[1]+be)/2]}hr.invert=function(he,be){var Pe=he,Oe=be,Je=25;do{var He=o(Oe),et=x(Oe),Mt=x(2*Oe),Dt=et*et,Ut=He*He,tr=x(Pe),mr=o(Pe/2),Rr=x(Pe/2),zr=Rr*Rr,Xr=1-Ut*mr*mr,di=Xr?V(He*mr)*H(Li=1/Xr):Li=0,Li,Ci=.5*(2*di*He*Rr+Pe/A)-he,Qi=.5*(di*et+Oe)-be,Mn=.5*Li*(Ut*zr+di*He*mr*Dt)+.5/A,pa=Li*(tr*Mt/4-di*et*Rr),ea=.125*Li*(Mt*Rr-di*et*Ut*tr),Ga=.5*Li*(Dt*mr+di*zr*He)+.5,To=pa*ea-Ga*Mn,Wa=(Qi*pa-Ci*Ga)/To,co=(Ci*ea-Qi*Mn)/To;Pe-=Wa,Oe-=co}while((n(Wa)>p||n(co)>p)&&--Je>0);return[Pe,Oe]};function Sr(){return t.geoProjection(hr).scale(158.837)}e.geoNaturalEarth=t.geoNaturalEarth1,e.geoNaturalEarthRaw=t.geoNaturalEarth1Raw,e.geoAiry=_e,e.geoAiryRaw=ae,e.geoAitoff=ke,e.geoAitoffRaw=Me,e.geoArmadillo=ie,e.geoArmadilloRaw=ge,e.geoAugust=Ee,e.geoAugustRaw=Te,e.geoBaker=me,e.geoBakerRaw=Ce,e.geoBerghaus=ce,e.geoBerghausRaw=Re,e.geoBertin1953=Rt,e.geoBertin1953Raw=ot,e.geoBoggs=bt,e.geoBoggsRaw=xt,e.geoBonne=Ht,e.geoBonneRaw=dt,e.geoBottomley=fr,e.geoBottomleyRaw=$t,e.geoBromley=Br,e.geoBromleyRaw=_r,e.geoChamberlin=Xe,e.geoChamberlinRaw=Ne,e.geoChamberlinAfrica=Ve,e.geoCollignon=Le,e.geoCollignonRaw=ht,e.geoCraig=Se,e.geoCraigRaw=xe,e.geoCraster=Vt,e.geoCrasterRaw=Gt,e.geoCylindricalEqualArea=Qr,e.geoCylindricalEqualAreaRaw=ar,e.geoCylindricalStereographic=jr,e.geoCylindricalStereographicRaw=ai,e.geoEckert1=bi,e.geoEckert1Raw=ri,e.geoEckert2=Wi,e.geoEckert2Raw=nn,e.geoEckert3=_n,e.geoEckert3Raw=Ni,e.geoEckert4=zn,e.geoEckert4Raw=$i,e.geoEckert5=It,e.geoEckert5Raw=Wn,e.geoEckert6=jt,e.geoEckert6Raw=ft,e.geoEisenlohr=Fr,e.geoEisenlohrRaw=yr,e.geoFahey=gi,e.geoFaheyRaw=Vr,e.geoFoucaut=Mi,e.geoFoucautRaw=Si,e.geoFoucautSinusoidal=Gi,e.geoFoucautSinusoidalRaw=Pi,e.geoGilbert=jn,e.geoGingery=jo,e.geoGingeryRaw=la,e.geoGinzburg4=Ha,e.geoGinzburg4Raw=Sn,e.geoGinzburg5=xn,e.geoGinzburg5Raw=oo,e.geoGinzburg6=br,e.geoGinzburg6Raw=_t,e.geoGinzburg8=ti,e.geoGinzburg8Raw=Hr,e.geoGinzburg9=Yi,e.geoGinzburg9Raw=zi,e.geoGringorten=Fn,e.geoGringortenRaw=hi,e.geoGuyou=ks,e.geoGuyouRaw=Mo,e.geoHammer=ct,e.geoHammerRaw=Ge,e.geoHammerRetroazimuthal=wl,e.geoHammerRetroazimuthalRaw=Zs,e.geoHealpix=Ql,e.geoHealpixRaw=ml,e.geoHill=fc,e.geoHillRaw=Hu,e.geoHomolosine=vo,e.geoHomolosineRaw=Rl,e.geoHufnagel=Ks,e.geoHufnagelRaw=Zl,e.geoHyperelliptical=ko,e.geoHyperellipticalRaw=Zn,e.geoInterrupt=So,e.geoInterruptedBoggs=rh,e.geoInterruptedHomolosine=Hc,e.geoInterruptedMollweide=Ls,e.geoInterruptedMollweideHemispheres=kc,e.geoInterruptedSinuMollweide=Gc,e.geoInterruptedSinusoidal=Bf,e.geoKavrayskiy7=ff,e.geoKavrayskiy7Raw=ss,e.geoLagrange=Vl,e.geoLagrangeRaw=ih,e.geoLarrivee=Cc,e.geoLarriveeRaw=hc,e.geoLaskowski=$s,e.geoLaskowskiRaw=ws,e.geoLittrow=Ms,e.geoLittrowRaw=hs,e.geoLoximuthal=Sl,e.geoLoximuthalRaw=dc,e.geoMiller=Ps,e.geoMillerRaw=ec,e.geoModifiedStereographic=Ml,e.geoModifiedStereographicRaw=ov,e.geoModifiedStereographicAlaska=tc,e.geoModifiedStereographicGs48=uu,e.geoModifiedStereographicGs50=Mh,e.geoModifiedStereographicMiller=jc,e.geoModifiedStereographicLee=kf,e.geoMollweide=xr,e.geoMollweideRaw=Yt,e.geoMtFlatPolarParabolic=hf,e.geoMtFlatPolarParabolicRaw=nh,e.geoMtFlatPolarQuartic=Kh,e.geoMtFlatPolarQuarticRaw=kh,e.geoMtFlatPolarSinusoidal=ah,e.geoMtFlatPolarSinusoidalRaw=rc,e.geoNaturalEarth2=df,e.geoNaturalEarth2Raw=Wc,e.geoNellHammer=Nf,e.geoNellHammerRaw=Cu,e.geoInterruptedQuarticAuthalic=ds,e.geoNicolosi=Bd,e.geoNicolosiRaw=Ch,e.geoPatterson=ic,e.geoPattersonRaw=Xc,e.geoPolyconic=Qs,e.geoPolyconicRaw=yu,e.geoPolyhedral=Lf,e.geoPolyhedralButterfly=Fs,e.geoPolyhedralCollignon=Lh,e.geoPolyhedralWaterman=Is,e.geoProject=Dl,e.geoGringortenQuincuncial=gt,e.geoPeirceQuincuncial=Bt,e.geoPierceQuincuncial=Bt,e.geoQuantize=wr,e.geoQuincuncial=gf,e.geoRectangularPolyconic=Ur,e.geoRectangularPolyconicRaw=vr,e.geoRobinson=Fi,e.geoRobinsonRaw=xi,e.geoSatellite=Ti,e.geoSatelliteRaw=hn,e.geoSinuMollweide=Qu,e.geoSinuMollweideRaw=fa,e.geoSinusoidal=Et,e.geoSinusoidalRaw=St,e.geoStitch=Rs,e.geoTimes=Ka,e.geoTimesRaw=ia,e.geoTwoPointAzimuthal=Ru,e.geoTwoPointAzimuthalRaw=Ko,e.geoTwoPointAzimuthalUsa=nu,e.geoTwoPointEquidistant=bu,e.geoTwoPointEquidistantRaw=ac,e.geoTwoPointEquidistantUsa=mf,e.geoVanDerGrinten=Du,e.geoVanDerGrintenRaw=Kc,e.geoVanDerGrinten2=Da,e.geoVanDerGrinten2Raw=Dc,e.geoVanDerGrinten3=Jc,e.geoVanDerGrinten3Raw=eo,e.geoVanDerGrinten4=_c,e.geoVanDerGrinten4Raw=yc,e.geoWagner=B,e.geoWagner7=Q,e.geoWagnerRaw=w,e.geoWagner4=je,e.geoWagner4Raw=qe,e.geoWagner6=yt,e.geoWagner6Raw=it,e.geoWiechel=Nt,e.geoWiechelRaw=Ot,e.geoWinkel3=Sr,e.geoWinkel3Raw=hr,Object.defineProperty(e,\"__esModule\",{value:!0})})});var MRe=ye((Dpr,SRe)=>{\"use strict\";var Zh=xa(),bX=Mr(),CDt=ba(),Z5=Math.PI/180,G2=180/Math.PI,TX={cursor:\"pointer\"},AX={cursor:\"auto\"};function LDt(e,t){var r=e.projection,n;return t._isScoped?n=PDt:t._isClipped?n=RDt:n=IDt,n(e,r)}SRe.exports=LDt;function SX(e,t){return Zh.behavior.zoom().translate(t.translate()).scale(t.scale())}function MX(e,t,r){var n=e.id,i=e.graphDiv,a=i.layout,o=a[n],s=i._fullLayout,l=s[n],u={},c={};function f(h,d){u[n+\".\"+h]=bX.nestedProperty(o,h).get(),CDt.call(\"_storeDirectGUIEdit\",a,s._preGUI,u);var v=bX.nestedProperty(l,h);v.get()!==d&&(v.set(d),bX.nestedProperty(o,h).set(d),c[n+\".\"+h]=d)}r(f),f(\"projection.scale\",t.scale()/e.fitScale),f(\"fitbounds\",!1),i.emit(\"plotly_relayout\",c)}function PDt(e,t){var r=SX(e,t);function n(){Zh.select(this).style(TX)}function i(){t.scale(Zh.event.scale).translate(Zh.event.translate),e.render(!0);var s=t.invert(e.midPt);e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.center.lon\":s[0],\"geo.center.lat\":s[1]})}function a(s){var l=t.invert(e.midPt);s(\"center.lon\",l[0]),s(\"center.lat\",l[1])}function o(){Zh.select(this).style(AX),MX(e,t,a)}return r.on(\"zoomstart\",n).on(\"zoom\",i).on(\"zoomend\",o),r}function IDt(e,t){var r=SX(e,t),n=2,i,a,o,s,l,u,c,f,h;function d(k){return t.invert(k)}function v(k){var A=d(k);if(!A)return!0;var L=t(A);return Math.abs(L[0]-k[0])>n||Math.abs(L[1]-k[1])>n}function x(){Zh.select(this).style(TX),i=Zh.mouse(this),a=t.rotate(),o=t.translate(),s=a,l=d(i)}function b(){if(u=Zh.mouse(this),v(i)){r.scale(t.scale()),r.translate(t.translate());return}t.scale(Zh.event.scale),t.translate([o[0],Zh.event.translate[1]]),l?d(u)&&(f=d(u),c=[s[0]+(f[0]-l[0]),a[1],a[2]],t.rotate(c),s=c):(i=u,l=d(i)),h=!0,e.render(!0);var k=t.rotate(),A=t.invert(e.midPt);e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.center.lon\":A[0],\"geo.center.lat\":A[1],\"geo.projection.rotation.lon\":-k[0]})}function p(){Zh.select(this).style(AX),h&&MX(e,t,E)}function E(k){var A=t.rotate(),L=t.invert(e.midPt);k(\"projection.rotation.lon\",-A[0]),k(\"center.lon\",L[0]),k(\"center.lat\",L[1])}return r.on(\"zoomstart\",x).on(\"zoom\",b).on(\"zoomend\",p),r}function RDt(e,t){var r={r:t.rotate(),k:t.scale()},n=SX(e,t),i=UDt(n,\"zoomstart\",\"zoom\",\"zoomend\"),a=0,o=n.on,s;n.on(\"zoomstart\",function(){Zh.select(this).style(TX);var h=Zh.mouse(this),d=t.rotate(),v=d,x=t.translate(),b=DDt(d);s=Sz(t,h),o.call(n,\"zoom\",function(){var p=Zh.mouse(this);if(t.scale(r.k=Zh.event.scale),!s)h=p,s=Sz(t,h);else if(Sz(t,p)){t.rotate(d).translate(x);var E=Sz(t,p),k=FDt(s,E),A=ODt(zDt(b,k)),L=r.r=qDt(A,s,v);(!isFinite(L[0])||!isFinite(L[1])||!isFinite(L[2]))&&(L=v),t.rotate(L),v=L}u(i.of(this,arguments))}),l(i.of(this,arguments))}).on(\"zoomend\",function(){Zh.select(this).style(AX),o.call(n,\"zoom\",null),c(i.of(this,arguments)),MX(e,t,f)}).on(\"zoom.redraw\",function(){e.render(!0);var h=t.rotate();e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.projection.rotation.lon\":-h[0],\"geo.projection.rotation.lat\":-h[1]})});function l(h){a++||h({type:\"zoomstart\"})}function u(h){h({type:\"zoom\"})}function c(h){--a||h({type:\"zoomend\"})}function f(h){var d=t.rotate();h(\"projection.rotation.lon\",-d[0]),h(\"projection.rotation.lat\",-d[1])}return Zh.rebind(n,i,\"on\")}function Sz(e,t){var r=e.invert(t);return r&&isFinite(r[0])&&isFinite(r[1])&&BDt(r)}function DDt(e){var t=.5*e[0]*Z5,r=.5*e[1]*Z5,n=.5*e[2]*Z5,i=Math.sin(t),a=Math.cos(t),o=Math.sin(r),s=Math.cos(r),l=Math.sin(n),u=Math.cos(n);return[a*s*u+i*o*l,i*s*u-a*o*l,a*o*u+i*s*l,a*s*l-i*o*u]}function zDt(e,t){var r=e[0],n=e[1],i=e[2],a=e[3],o=t[0],s=t[1],l=t[2],u=t[3];return[r*o-n*s-i*l-a*u,r*s+n*o+i*u-a*l,r*l-n*u+i*o+a*s,r*u+n*l-i*s+a*o]}function FDt(e,t){if(!(!e||!t)){var r=NDt(e,t),n=Math.sqrt(ARe(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,ARe(e,t)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}}function qDt(e,t,r){var n=wX(t,2,e[0]);n=wX(n,1,e[1]),n=wX(n,0,e[2]-r[2]);var i=t[0],a=t[1],o=t[2],s=n[0],l=n[1],u=n[2],c=Math.atan2(a,i)*G2,f=Math.sqrt(i*i+a*a),h,d;Math.abs(l)>f?(d=(l>0?90:-90)-c,h=0):(d=Math.asin(l/f)*G2-c,h=Math.sqrt(f*f-l*l));var v=180-d-2*c,x=(Math.atan2(u,s)-Math.atan2(o,h))*G2,b=(Math.atan2(u,s)-Math.atan2(o,-h))*G2,p=wRe(r[0],r[1],d,x),E=wRe(r[0],r[1],v,b);return p<=E?[d,x,r[2]]:[v,b,r[2]]}function wRe(e,t,r,n){var i=TRe(r-e),a=TRe(n-t);return Math.sqrt(i*i+a*a)}function TRe(e){return(e%360+540)%360-180}function wX(e,t,r){var n=r*Z5,i=e.slice(),a=t===0?1:0,o=t===2?1:2,s=Math.cos(n),l=Math.sin(n);return i[a]=e[a]*s-e[o]*l,i[o]=e[o]*s+e[a]*l,i}function ODt(e){return[Math.atan2(2*(e[0]*e[1]+e[2]*e[3]),1-2*(e[1]*e[1]+e[2]*e[2]))*G2,Math.asin(Math.max(-1,Math.min(1,2*(e[0]*e[2]-e[3]*e[1]))))*G2,Math.atan2(2*(e[0]*e[3]+e[1]*e[2]),1-2*(e[2]*e[2]+e[3]*e[3]))*G2]}function BDt(e){var t=e[0]*Z5,r=e[1]*Z5,n=Math.cos(r);return[n*Math.cos(t),n*Math.sin(t),Math.sin(r)]}function ARe(e,t){for(var r=0,n=0,i=e.length;n<i;++n)r+=e[n]*t[n];return r}function NDt(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function UDt(e){for(var t=0,r=arguments.length,n=[];++t<r;)n.push(arguments[t]);var i=Zh.dispatch.apply(null,n);return i.of=function(a,o){return function(s){var l;try{l=s.sourceEvent=Zh.event,s.target=e,Zh.event=s,i[s.type].apply(a,o)}finally{Zh.event=l}}},i}});var RRe=ye((zpr,IRe)=>{\"use strict\";var t1=xa(),CX=xX(),VDt=CX.geoPath,HDt=CX.geoDistance,GDt=bRe(),jDt=ba(),ek=Mr(),WDt=ek.strTranslate,Mz=va(),QE=ao(),ERe=Nc(),ZDt=Xu(),kX=Qa(),kRe=wg().getAutoRange,EX=gv(),XDt=wf().prepSelect,YDt=wf().clearOutline,KDt=wf().selectOnClick,JDt=MRe(),fp=YE(),$Dt=nx(),LRe=cz(),QDt=aX().feature;function PRe(e){this.id=e.id,this.graphDiv=e.graphDiv,this.container=e.container,this.topojsonURL=e.topojsonURL,this.isStatic=e.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.scope=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}var $g=PRe.prototype;IRe.exports=function(t){return new PRe(t)};$g.plot=function(e,t,r,n){var i=this;if(n)return i.update(e,t,!0);i._geoCalcData=e,i._fullLayout=t;var a=t[this.id],o=[],s=!1;for(var l in fp.layerNameToAdjective)if(l!==\"frame\"&&a[\"show\"+l]){s=!0;break}for(var u=!1,c=0;c<e.length;c++){var f=e[0][0].trace;f._geo=i,f.locationmode&&(s=!0);var h=f.marker;if(h){var d=h.angle,v=h.angleref;(d||v===\"north\"||v===\"previous\")&&(u=!0)}}if(this._hasMarkerAngles=u,s){var x=LRe.getTopojsonName(a);(i.topojson===null||x!==i.topojsonName)&&(i.topojsonName=x,PlotlyGeoAssets.topojson[i.topojsonName]===void 0&&o.push(i.fetchTopojson()))}o=o.concat($Dt.fetchTraceGeoData(e)),r.push(new Promise(function(b,p){Promise.all(o).then(function(){i.topojson=PlotlyGeoAssets.topojson[i.topojsonName],i.update(e,t),b()}).catch(p)}))};$g.fetchTopojson=function(){var e=this,t=LRe.getTopojsonPath(e.topojsonURL,e.topojsonName);return new Promise(function(r,n){t1.json(t,function(i,a){if(i)return i.status===404?n(new Error([\"plotly.js could not find topojson file at\",t+\".\",\"Make sure the *topojsonURL* plot config option\",\"is set properly.\"].join(\" \"))):n(new Error([\"unexpected error while fetching topojson file at\",t].join(\" \")));PlotlyGeoAssets.topojson[e.topojsonName]=a,r()})})};$g.update=function(e,t,r){var n=t[this.id];this.hasChoropleth=!1;for(var i=0;i<e.length;i++){var a=e[i],o=a[0].trace;o.type===\"choropleth\"&&(this.hasChoropleth=!0),o.visible===!0&&o._length>0&&o._module.calcGeoJSON(a,t)}if(!r){var s=this.updateProjection(e,t);if(s)return;(!this.viewInitial||this.scope!==n.scope)&&this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(t,n),this.updateDims(t,n),this.updateFx(t,n),ZDt.generalUpdatePerTraceModule(this.graphDiv,this,e,n);var l=this.layers.frontplot.select(\".scatterlayer\");this.dataPoints.point=l.selectAll(\".point\"),this.dataPoints.text=l.selectAll(\"text\"),this.dataPaths.line=l.selectAll(\".js-line\");var u=this.layers.backplot.select(\".choroplethlayer\");this.dataPaths.choropleth=u.selectAll(\"path\"),this._render()};$g.updateProjection=function(e,t){var r=this.graphDiv,n=t[this.id],i=t._size,a=n.domain,o=n.projection,s=n.lonaxis,l=n.lataxis,u=s._ax,c=l._ax,f=this.projection=ezt(n),h=[[i.l+i.w*a.x[0],i.t+i.h*(1-a.y[1])],[i.l+i.w*a.x[1],i.t+i.h*(1-a.y[0])]],d=n.center||{},v=o.rotation||{},x=s.range||[],b=l.range||[];if(n.fitbounds){u._length=h[1][0]-h[0][0],c._length=h[1][1]-h[0][1],u.range=kRe(r,u),c.range=kRe(r,c);var p=(u.range[0]+u.range[1])/2,E=(c.range[0]+c.range[1])/2;if(n._isScoped)d={lon:p,lat:E};else if(n._isClipped){d={lon:p,lat:E},v={lon:p,lat:E,roll:v.roll};var k=o.type,A=fp.lonaxisSpan[k]/2||180,L=fp.lataxisSpan[k]/2||90;x=[p-A,p+A],b=[E-L,E+L]}else d={lon:p,lat:E},v={lon:p,lat:v.lat,roll:v.roll}}f.center([d.lon-v.lon,d.lat-v.lat]).rotate([-v.lon,-v.lat,v.roll]).parallels(o.parallels);var _=CRe(x,b);f.fitExtent(h,_);var C=this.bounds=f.getBounds(_),M=this.fitScale=f.scale(),g=f.translate();if(n.fitbounds){var P=f.getBounds(CRe(u.range,c.range)),T=Math.min((C[1][0]-C[0][0])/(P[1][0]-P[0][0]),(C[1][1]-C[0][1])/(P[1][1]-P[0][1]));isFinite(T)?f.scale(T*M):ek.warn(\"Something went wrong during\"+this.id+\"fitbounds computations.\")}else f.scale(o.scale*M);var F=this.midPt=[(C[0][0]+C[1][0])/2,(C[0][1]+C[1][1])/2];if(f.translate([g[0]+(F[0]-g[0]),g[1]+(F[1]-g[1])]).clipExtent(C),n._isAlbersUsa){var q=f([d.lon,d.lat]),V=f.translate();f.translate([V[0]-(q[0]-V[0]),V[1]-(q[1]-V[1])])}};$g.updateBaseLayers=function(e,t){var r=this,n=r.topojson,i=r.layers,a=r.basePaths;function o(h){return h===\"lonaxis\"||h===\"lataxis\"}function s(h){return!!fp.lineLayers[h]}function l(h){return!!fp.fillLayers[h]}var u=this.hasChoropleth?fp.layersForChoropleth:fp.layers,c=u.filter(function(h){return s(h)||l(h)?t[\"show\"+h]:o(h)?t[h].showgrid:!0}),f=r.framework.selectAll(\".layer\").data(c,String);f.exit().each(function(h){delete i[h],delete a[h],t1.select(this).remove()}),f.enter().append(\"g\").attr(\"class\",function(h){return\"layer \"+h}).each(function(h){var d=i[h]=t1.select(this);h===\"bg\"?r.bgRect=d.append(\"rect\").style(\"pointer-events\",\"all\"):o(h)?a[h]=d.append(\"path\").style(\"fill\",\"none\"):h===\"backplot\"?d.append(\"g\").classed(\"choroplethlayer\",!0):h===\"frontplot\"?d.append(\"g\").classed(\"scatterlayer\",!0):s(h)?a[h]=d.append(\"path\").style(\"fill\",\"none\").style(\"stroke-miterlimit\",2):l(h)&&(a[h]=d.append(\"path\").style(\"stroke\",\"none\"))}),f.order(),f.each(function(h){var d=a[h],v=fp.layerNameToAdjective[h];h===\"frame\"?d.datum(fp.sphereSVG):s(h)||l(h)?d.datum(QDt(n,n.objects[h])):o(h)&&d.datum(tzt(h,t,e)).call(Mz.stroke,t[h].gridcolor).call(QE.dashLine,t[h].griddash,t[h].gridwidth),s(h)?d.call(Mz.stroke,t[v+\"color\"]).call(QE.dashLine,\"\",t[v+\"width\"]):l(h)&&d.call(Mz.fill,t[v+\"color\"])})};$g.updateDims=function(e,t){var r=this.bounds,n=(t.framewidth||0)/2,i=r[0][0]-n,a=r[0][1]-n,o=r[1][0]-i+n,s=r[1][1]-a+n;QE.setRect(this.clipRect,i,a,o,s),this.bgRect.call(QE.setRect,i,a,o,s).call(Mz.fill,t.bgcolor),this.xaxis._offset=i,this.xaxis._length=o,this.yaxis._offset=a,this.yaxis._length=s};$g.updateFx=function(e,t){var r=this,n=r.graphDiv,i=r.bgRect,a=e.dragmode,o=e.clickmode;if(r.isStatic)return;function s(){var f=r.viewInitial,h={};for(var d in f)h[r.id+\".\"+d]=f[d];jDt.call(\"_guiRelayout\",n,h),n.emit(\"plotly_doubleclick\",null)}function l(f){return r.projection.invert([f[0]+r.xaxis._offset,f[1]+r.yaxis._offset])}var u=function(f,h){if(h.isRect){var d=f.range={};d[r.id]=[l([h.xmin,h.ymin]),l([h.xmax,h.ymax])]}else{var v=f.lassoPoints={};v[r.id]=h.map(l)}},c={element:r.bgRect.node(),gd:n,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:u},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(f){f===2&&YDt(n)}};a===\"pan\"?(i.node().onmousedown=null,i.call(JDt(r,t)),i.on(\"dblclick.zoom\",s),n._context._scrollZoom.geo||i.on(\"wheel.zoom\",null)):(a===\"select\"||a===\"lasso\")&&(i.on(\".zoom\",null),c.prepFn=function(f,h,d){XDt(f,h,d,c,a)},EX.init(c)),i.on(\"mousemove\",function(){var f=r.projection.invert(ek.getPositionFromD3Event());if(!f)return EX.unhover(n,t1.event);r.xaxis.p2c=function(){return f[0]},r.yaxis.p2c=function(){return f[1]},ERe.hover(n,t1.event,r.id)}),i.on(\"mouseout\",function(){n._dragging||EX.unhover(n,t1.event)}),i.on(\"click\",function(){a!==\"select\"&&a!==\"lasso\"&&(o.indexOf(\"select\")>-1&&KDt(t1.event,n,[r.xaxis],[r.yaxis],r.id,c),o.indexOf(\"event\")>-1&&ERe.click(n,t1.event))})};$g.makeFramework=function(){var e=this,t=e.graphDiv,r=t._fullLayout,n=\"clip\"+r._uid+e.id;e.clipDef=r._clips.append(\"clipPath\").attr(\"id\",n),e.clipRect=e.clipDef.append(\"rect\"),e.framework=t1.select(e.container).append(\"g\").attr(\"class\",\"geo \"+e.id).call(QE.setClipUrl,n,t),e.project=function(i){var a=e.projection(i);return a?[a[0]-e.xaxis._offset,a[1]-e.yaxis._offset]:[null,null]},e.xaxis={_id:\"x\",c2p:function(i){return e.project(i)[0]}},e.yaxis={_id:\"y\",c2p:function(i){return e.project(i)[1]}},e.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},kX.setConvert(e.mockAxis,r)};$g.saveViewInitial=function(e){var t=e.center||{},r=e.projection,n=r.rotation||{};this.viewInitial={fitbounds:e.fitbounds,\"projection.scale\":r.scale};var i;e._isScoped?i={\"center.lon\":t.lon,\"center.lat\":t.lat}:e._isClipped?i={\"projection.rotation.lon\":n.lon,\"projection.rotation.lat\":n.lat}:i={\"center.lon\":t.lon,\"center.lat\":t.lat,\"projection.rotation.lon\":n.lon},ek.extendFlat(this.viewInitial,i)};$g.render=function(e){this._hasMarkerAngles&&e?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()};$g._render=function(){var e=this.projection,t=e.getPath(),r;function n(a){var o=e(a.lonlat);return o?WDt(o[0],o[1]):null}function i(a){return e.isLonLatOverEdges(a.lonlat)?\"none\":null}for(r in this.basePaths)this.basePaths[r].attr(\"d\",t);for(r in this.dataPaths)this.dataPaths[r].attr(\"d\",function(a){return t(a.geojson)});for(r in this.dataPoints)this.dataPoints[r].attr(\"display\",i).attr(\"transform\",n)};function ezt(e){var t=e.projection,r=t.type,n=fp.projNames[r];n=\"geo\"+ek.titleCase(n);for(var i=CX[n]||GDt[n],a=i(),o=e._isSatellite?Math.acos(1/t.distance)*180/Math.PI:e._isClipped?fp.lonaxisSpan[r]/2:null,s=[\"center\",\"rotate\",\"parallels\",\"clipExtent\"],l=function(f){return f?a:[]},u=0;u<s.length;u++){var c=s[u];typeof a[c]!=\"function\"&&(a[c]=l)}return a.isLonLatOverEdges=function(f){if(a(f)===null)return!0;if(o){var h=a.rotate(),d=HDt(f,[-h[0],-h[1]]),v=o*Math.PI/180;return d>v}else return!1},a.getPath=function(){return VDt().projection(a)},a.getBounds=function(f){return a.getPath().bounds(f)},a.precision(fp.precision),e._isSatellite&&a.tilt(t.tilt).distance(t.distance),o&&a.clipAngle(o-fp.clipPad),a}function tzt(e,t,r){var n=1e-6,i=2.5,a=t[e],o=fp.scopeDefaults[t.scope],s,l,u;e===\"lonaxis\"?(s=o.lonaxisRange,l=o.lataxisRange,u=function(E,k){return[E,k]}):e===\"lataxis\"&&(s=o.lataxisRange,l=o.lonaxisRange,u=function(E,k){return[k,E]});var c={type:\"linear\",range:[s[0],s[1]-n],tick0:a.tick0,dtick:a.dtick};kX.setConvert(c,r);var f=kX.calcTicks(c);!t.isScoped&&e===\"lonaxis\"&&f.pop();for(var h=f.length,d=new Array(h),v=0;v<h;v++)for(var x=f[v].x,b=d[v]=[],p=l[0];p<l[1]+i;p+=i)b.push(u(x,p));return{type:\"MultiLineString\",coordinates:d}}function CRe(e,t){var r=fp.clipPad,n=e[0]+r,i=e[1]-r,a=t[0]+r,o=t[1]-r;n>0&&i<0&&(i+=360);var s=(i-n)/4;return{type:\"Polygon\",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}});var LX=ye((Fpr,FRe)=>{\"use strict\";var Y5=dh(),rzt=Ju().attributes,izt=Ed().dash,X5=YE(),nzt=Bu().overrideAll,DRe=Y1(),zRe={range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},showgrid:{valType:\"boolean\",dflt:!1},tick0:{valType:\"number\",dflt:0},dtick:{valType:\"number\"},gridcolor:{valType:\"color\",dflt:Y5.lightLine},gridwidth:{valType:\"number\",min:0,dflt:1},griddash:izt},azt=FRe.exports=nzt({domain:rzt({name:\"geo\"},{}),fitbounds:{valType:\"enumerated\",values:[!1,\"locations\",\"geojson\"],dflt:!1,editType:\"plot\"},resolution:{valType:\"enumerated\",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:\"enumerated\",values:DRe(X5.scopeDefaults),dflt:\"world\"},projection:{type:{valType:\"enumerated\",values:DRe(X5.projNames)},rotation:{lon:{valType:\"number\"},lat:{valType:\"number\"},roll:{valType:\"number\"}},tilt:{valType:\"number\",dflt:0},distance:{valType:\"number\",min:1.001,dflt:2},parallels:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},scale:{valType:\"number\",min:0,dflt:1}},center:{lon:{valType:\"number\"},lat:{valType:\"number\"}},visible:{valType:\"boolean\",dflt:!0},showcoastlines:{valType:\"boolean\"},coastlinecolor:{valType:\"color\",dflt:Y5.defaultLine},coastlinewidth:{valType:\"number\",min:0,dflt:1},showland:{valType:\"boolean\",dflt:!1},landcolor:{valType:\"color\",dflt:X5.landColor},showocean:{valType:\"boolean\",dflt:!1},oceancolor:{valType:\"color\",dflt:X5.waterColor},showlakes:{valType:\"boolean\",dflt:!1},lakecolor:{valType:\"color\",dflt:X5.waterColor},showrivers:{valType:\"boolean\",dflt:!1},rivercolor:{valType:\"color\",dflt:X5.waterColor},riverwidth:{valType:\"number\",min:0,dflt:1},showcountries:{valType:\"boolean\"},countrycolor:{valType:\"color\",dflt:Y5.defaultLine},countrywidth:{valType:\"number\",min:0,dflt:1},showsubunits:{valType:\"boolean\"},subunitcolor:{valType:\"color\",dflt:Y5.defaultLine},subunitwidth:{valType:\"number\",min:0,dflt:1},showframe:{valType:\"boolean\"},framecolor:{valType:\"color\",dflt:Y5.defaultLine},framewidth:{valType:\"number\",min:0,dflt:1},bgcolor:{valType:\"color\",dflt:Y5.background},lonaxis:zRe,lataxis:zRe},\"plot\",\"from-root\");azt.uirevision={valType:\"any\",editType:\"none\"}});var BRe=ye((qpr,ORe)=>{\"use strict\";var Ez=Mr(),ozt=C_(),szt=kd().getSubplotData,kz=YE(),lzt=LX(),qRe=kz.axesNames;ORe.exports=function(t,r,n){ozt(t,r,n,{type:\"geo\",attributes:lzt,handleDefaults:uzt,fullData:n,partition:\"y\"})};function uzt(e,t,r,n){var i=szt(n.fullData,\"geo\",n.id),a=i.map(function(ae){return ae.index}),o=r(\"resolution\"),s=r(\"scope\"),l=kz.scopeDefaults[s],u=r(\"projection.type\",l.projType),c=t._isAlbersUsa=u===\"albers usa\";c&&(s=t.scope=\"usa\");var f=t._isScoped=s!==\"world\",h=t._isSatellite=u===\"satellite\",d=t._isConic=u.indexOf(\"conic\")!==-1||u===\"albers\",v=t._isClipped=!!kz.lonaxisSpan[u];if(e.visible===!1){var x=Ez.extendDeep({},t._template);x.showcoastlines=!1,x.showcountries=!1,x.showframe=!1,x.showlakes=!1,x.showland=!1,x.showocean=!1,x.showrivers=!1,x.showsubunits=!1,x.lonaxis&&(x.lonaxis.showgrid=!1),x.lataxis&&(x.lataxis.showgrid=!1),t._template=x}for(var b=r(\"visible\"),p,E=0;E<qRe.length;E++){var k=qRe[E],A=[30,10][E],L;if(f)L=l[k+\"Range\"];else{var _=kz[k+\"Span\"],C=(_[u]||_[\"*\"])/2,M=r(\"projection.rotation.\"+k.substr(0,3),l.projRotate[E]);L=[M-C,M+C]}var g=r(k+\".range\",L);r(k+\".tick0\"),r(k+\".dtick\",A),p=r(k+\".showgrid\",b?void 0:!1),p&&(r(k+\".gridcolor\"),r(k+\".gridwidth\"),r(k+\".griddash\")),t[k]._ax={type:\"linear\",_id:k.slice(0,3),_traceIndices:a,setScale:Ez.identity,c2l:Ez.identity,r2l:Ez.identity,autorange:!0,range:g.slice(),_m:1,_input:{}}}var P=t.lonaxis.range,T=t.lataxis.range,F=P[0],q=P[1];F>0&&q<0&&(q+=360);var V=(F+q)/2,H;if(!c){var X=f?l.projRotate:[V,0,0];H=r(\"projection.rotation.lon\",X[0]),r(\"projection.rotation.lat\",X[1]),r(\"projection.rotation.roll\",X[2]),p=r(\"showcoastlines\",!f&&b),p&&(r(\"coastlinecolor\"),r(\"coastlinewidth\")),p=r(\"showocean\",b?void 0:!1),p&&r(\"oceancolor\")}var G,N;if(c?(G=-96.6,N=38.7):(G=f?V:H,N=(T[0]+T[1])/2),r(\"center.lon\",G),r(\"center.lat\",N),h&&(r(\"projection.tilt\"),r(\"projection.distance\")),d){var W=l.projParallels||[0,60];r(\"projection.parallels\",W)}r(\"projection.scale\"),p=r(\"showland\",b?void 0:!1),p&&r(\"landcolor\"),p=r(\"showlakes\",b?void 0:!1),p&&r(\"lakecolor\"),p=r(\"showrivers\",b?void 0:!1),p&&(r(\"rivercolor\"),r(\"riverwidth\")),p=r(\"showcountries\",f&&s!==\"usa\"&&b),p&&(r(\"countrycolor\"),r(\"countrywidth\")),(s===\"usa\"||s===\"north america\"&&o===50)&&(r(\"showsubunits\",b),r(\"subunitcolor\"),r(\"subunitwidth\")),f||(p=r(\"showframe\",b),p&&(r(\"framecolor\"),r(\"framewidth\"))),r(\"bgcolor\");var re=r(\"fitbounds\");re&&(delete t.projection.scale,f?(delete t.center.lon,delete t.center.lat):v?(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon,delete t.projection.rotation.lat,delete t.lonaxis.range,delete t.lataxis.range):(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon))}});var PX=ye((Opr,VRe)=>{\"use strict\";var czt=kd().getSubplotCalcData,fzt=Mr().counterRegex,hzt=RRe(),Wm=\"geo\",NRe=fzt(Wm),URe={};URe[Wm]={valType:\"subplotid\",dflt:Wm,editType:\"calc\"};function dzt(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[Wm],i=0;i<n.length;i++){var a=n[i],o=czt(r,Wm,a),s=t[a],l=s._subplot;l||(l=hzt({id:a,graphDiv:e,container:t._geolayer.node(),topojsonURL:e._context.topojsonURL,staticPlot:e._context.staticPlot}),t[a]._subplot=l),l.plot(o,t,e._promises)}}function vzt(e,t,r,n){for(var i=n._subplots[Wm]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!t[o]&&s&&(s.framework.remove(),s.clipDef.remove())}}function pzt(e){for(var t=e._fullLayout,r=t._subplots[Wm],n=0;n<r.length;n++){var i=t[r[n]],a=i._subplot;a.updateFx(t,i)}}VRe.exports={attr:Wm,name:Wm,idRoot:Wm,idRegex:NRe,attrRegex:NRe,attributes:URe,layoutAttributes:LX(),supplyLayoutDefaults:BRe(),plot:dzt,updateFx:pzt,clean:vzt}});var GRe=ye((Bpr,HRe)=>{\"use strict\";HRe.exports={attributes:H2(),supplyDefaults:A8e(),colorbar:Kd(),formatLabels:E8e(),calc:lz(),calcGeoJSON:_X().calcGeoJSON,plot:_X().plot,style:pX(),styleOnSelect:op().styleOnSelect,hoverPoints:hRe(),eventData:vRe(),selectPoints:mRe(),moduleType:\"trace\",name:\"scattergeo\",basePlotModule:PX(),categories:[\"geo\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var WRe=ye((Npr,jRe)=>{\"use strict\";jRe.exports=GRe()});var K5=ye((Upr,YRe)=>{\"use strict\";var gzt=Wo().hovertemplateAttrs,ox=H2(),mzt=Jl(),ZRe=vl(),yzt=dh().defaultLine,ax=no().extendFlat,XRe=ox.marker.line;YRe.exports=ax({locations:{valType:\"data_array\",editType:\"calc\"},locationmode:ox.locationmode,z:{valType:\"data_array\",editType:\"calc\"},geojson:ax({},ox.geojson,{}),featureidkey:ox.featureidkey,text:ax({},ox.text,{}),hovertext:ax({},ox.hovertext,{}),marker:{line:{color:ax({},XRe.color,{dflt:yzt}),width:ax({},XRe.width,{dflt:1}),editType:\"calc\"},opacity:{valType:\"number\",arrayOk:!0,min:0,max:1,dflt:1,editType:\"style\"},editType:\"calc\"},selected:{marker:{opacity:ox.selected.marker.opacity,editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:ox.unselected.marker.opacity,editType:\"plot\"},editType:\"plot\"},hoverinfo:ax({},ZRe.hoverinfo,{editType:\"calc\",flags:[\"location\",\"z\",\"text\",\"name\"]}),hovertemplate:gzt(),showlegend:ax({},ZRe.showlegend,{dflt:!1})},mzt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var JRe=ye((Vpr,KRe)=>{\"use strict\";var Cz=Mr(),_zt=Uh(),xzt=K5();KRe.exports=function(t,r,n,i){function a(h,d){return Cz.coerce(t,r,xzt,h,d)}var o=a(\"locations\"),s=a(\"z\");if(!(o&&o.length&&Cz.isArrayOrTypedArray(s)&&s.length)){r.visible=!1;return}r._length=Math.min(o.length,s.length);var l=a(\"geojson\"),u;(typeof l==\"string\"&&l!==\"\"||Cz.isPlainObject(l))&&(u=\"geojson-id\");var c=a(\"locationmode\",u);c===\"geojson-id\"&&a(\"featureidkey\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\");var f=a(\"marker.line.width\");f&&a(\"marker.line.color\"),a(\"marker.opacity\"),_zt(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),Cz.coerceSelectionMarkerOpacity(r,a)}});var Lz=ye((Hpr,eDe)=>{\"use strict\";var $Re=uo(),bzt=es().BADNUM,wzt=zv(),Tzt=km(),Azt=F0();function QRe(e){return e&&typeof e==\"string\"}eDe.exports=function(t,r){var n=r._length,i=new Array(n),a;r.geojson?a=function(c){return QRe(c)||$Re(c)}:a=QRe;for(var o=0;o<n;o++){var s=i[o]={},l=r.locations[o],u=r.z[o];a(l)&&$Re(u)?(s.loc=l,s.z=u):(s.loc=null,s.z=bzt),s.index=o}return Tzt(i,r),wzt(t,r,{vals:r.z,containerStr:\"\",cLetter:\"z\"}),Azt(i,r),i}});var Pz=ye((Gpr,rDe)=>{\"use strict\";var Szt=xa(),Mzt=va(),IX=ao(),Ezt=Mu();function kzt(e,t){t&&tDe(e,t)}function tDe(e,t){var r=t[0].trace,n=t[0].node3,i=n.selectAll(\".choroplethlocation\"),a=r.marker||{},o=a.line||{},s=Ezt.makeColorScaleFuncFromTrace(r);i.each(function(l){Szt.select(this).attr(\"fill\",s(l.z)).call(Mzt.stroke,l.mlc||o.color).call(IX.dashLine,\"\",l.mlw||o.width||0).style(\"opacity\",a.opacity)}),IX.selectedPointStyle(i,r)}function Czt(e,t){var r=t[0].node3,n=t[0].trace;n.selectedpoints?IX.selectedPointStyle(r.selectAll(\".choroplethlocation\"),n):tDe(e,t)}rDe.exports={style:kzt,styleOnSelect:Czt}});var RX=ye((jpr,aDe)=>{\"use strict\";var Lzt=xa(),iDe=Mr(),J5=nx(),Pzt=cz().getTopojsonFeatures,nDe=wg().findExtremes,Izt=Pz().style;function Rzt(e,t,r){var n=t.layers.backplot.select(\".choroplethlayer\");iDe.makeTraceGroups(n,r,\"trace choropleth\").each(function(i){var a=Lzt.select(this),o=a.selectAll(\"path.choroplethlocation\").data(iDe.identity);o.enter().append(\"path\").classed(\"choroplethlocation\",!0),o.exit().remove(),Izt(e,i)})}function Dzt(e,t){for(var r=e[0].trace,n=t[r.geo],i=n._subplot,a=r.locationmode,o=r._length,s=a===\"geojson-id\"?J5.extractTraceFeature(e):Pzt(r,i.topojson),l=[],u=[],c=0;c<o;c++){var f=e[c],h=a===\"geojson-id\"?f.fOut:J5.locationToFeature(a,f.loc,s);if(h){f.geojson=h,f.ct=h.properties.ct,f._polygons=J5.feature2polygons(h);var d=J5.computeBbox(h);l.push(d[0],d[2]),u.push(d[1],d[3])}else f.geojson=null}if(n.fitbounds===\"geojson\"&&a===\"geojson-id\"){var v=J5.computeBbox(J5.getTraceGeojson(r));l=[v[0],v[2]],u=[v[1],v[3]]}var x={padded:!0};r._extremes.lon=nDe(n.lonaxis._ax,l,x),r._extremes.lat=nDe(n.lataxis._ax,u,x)}aDe.exports={calcGeoJSON:Dzt,plot:Rzt}});var Iz=ye((Wpr,oDe)=>{\"use strict\";var zzt=Qa(),Fzt=K5(),qzt=Mr().fillText;oDe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.subplot,s,l,u,c,f=[r,n],h=[r+360,n];for(l=0;l<i.length;l++)if(s=i[l],c=!1,s._polygons){for(u=0;u<s._polygons.length;u++)s._polygons[u].contains(f)&&(c=!c),s._polygons[u].contains(h)&&(c=!c);if(c)break}if(!(!c||!s))return t.x0=t.x1=t.xa.c2p(s.ct),t.y0=t.y1=t.ya.c2p(s.ct),t.index=s.index,t.location=s.loc,t.z=s.z,t.zLabel=zzt.tickText(o.mockAxis,o.mockAxis.c2l(s.z),\"hover\").text,t.hovertemplate=s.hovertemplate,Ozt(t,a,s),[t]};function Ozt(e,t,r){if(!t.hovertemplate){var n=r.hi||t.hoverinfo,i=String(r.loc),a=n===\"all\"?Fzt.hoverinfo.flags:n.split(\"+\"),o=a.indexOf(\"name\")!==-1,s=a.indexOf(\"location\")!==-1,l=a.indexOf(\"z\")!==-1,u=a.indexOf(\"text\")!==-1,c=!o&&s,f=[];c?e.nameOverride=i:(o&&(e.nameOverride=t.name),s&&f.push(i)),l&&f.push(e.zLabel),u&&qzt(r,t,f),e.extraText=f.join(\"<br>\")}}});var Rz=ye((Zpr,sDe)=>{\"use strict\";sDe.exports=function(t,r,n,i,a){t.location=r.location,t.z=r.z;var o=i[a];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t.ct=o.ct,t}});var Dz=ye((Xpr,lDe)=>{\"use strict\";lDe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l,u,c,f;if(r===!1)for(s=0;s<n.length;s++)n[s].selected=0;else for(s=0;s<n.length;s++)l=n[s],u=l.ct,u&&(c=i.c2p(u),f=a.c2p(u),r.contains([c,f],null,s,t)?(o.push({pointNumber:s,lon:u[0],lat:u[1]}),l.selected=1):l.selected=0);return o}});var cDe=ye((Ypr,uDe)=>{\"use strict\";uDe.exports={attributes:K5(),supplyDefaults:JRe(),colorbar:M_(),calc:Lz(),calcGeoJSON:RX().calcGeoJSON,plot:RX().plot,style:Pz().style,styleOnSelect:Pz().styleOnSelect,hoverPoints:Iz(),eventData:Rz(),selectPoints:Dz(),moduleType:\"trace\",name:\"choropleth\",basePlotModule:PX(),categories:[\"geo\",\"noOpacity\",\"showLegend\"],meta:{}}});var hDe=ye((Kpr,fDe)=>{\"use strict\";fDe.exports=cDe()});var zz=ye((Jpr,vDe)=>{\"use strict\";var Bzt=ba(),s0=Mr(),Nzt=oT();function Uzt(e,t,r,n){var i=e.cd,a=i[0].t,o=i[0].trace,s=e.xa,l=e.ya,u=a.x,c=a.y,f=s.c2p(t),h=l.c2p(r),d=e.distance,v;if(a.tree){var x=s.p2c(f-d),b=s.p2c(f+d),p=l.p2c(h-d),E=l.p2c(h+d);n===\"x\"?v=a.tree.range(Math.min(x,b),Math.min(l._rl[0],l._rl[1]),Math.max(x,b),Math.max(l._rl[0],l._rl[1])):v=a.tree.range(Math.min(x,b),Math.min(p,E),Math.max(x,b),Math.max(p,E))}else v=a.ids;var k,A,L,_,C,M,g,P,T,F=d;if(n===\"x\"){var q=!!o.xperiodalignment,V=!!o.yperiodalignment;for(C=0;C<v.length;C++){if(k=v[C],L=u[k],M=Math.abs(s.c2p(L)-f),q){var H=s.c2p(o._xStarts[k]),X=s.c2p(o._xEnds[k]);M=f>=Math.min(H,X)&&f<=Math.max(H,X)?0:1/0}if(M<F){if(F=M,_=c[k],g=l.c2p(_)-h,V){var G=l.c2p(o._yStarts[k]),N=l.c2p(o._yEnds[k]);g=h>=Math.min(G,N)&&h<=Math.max(G,N)?0:1/0}T=Math.sqrt(M*M+g*g),A=v[C]}}}else for(C=v.length-1;C>-1;C--)k=v[C],L=u[k],_=c[k],M=s.c2p(L)-f,g=l.c2p(_)-h,P=Math.sqrt(M*M+g*g),P<F&&(F=T=P,A=k);return e.index=A,e.distance=F,e.dxy=T,A===void 0?[e]:[dDe(e,u,c,o)]}function dDe(e,t,r,n){var i=e.xa,a=e.ya,o=e.distance,s=e.dxy,l=e.index,u={pointNumber:l,x:t[l],y:r[l]};u.tx=s0.isArrayOrTypedArray(n.text)?n.text[l]:n.text,u.htx=Array.isArray(n.hovertext)?n.hovertext[l]:n.hovertext,u.data=Array.isArray(n.customdata)?n.customdata[l]:n.customdata,u.tp=Array.isArray(n.textposition)?n.textposition[l]:n.textposition;var c=n.textfont;c&&(u.ts=s0.isArrayOrTypedArray(c.size)?c.size[l]:c.size,u.tc=s0.isArrayOrTypedArray(c.color)?c.color[l]:c.color,u.tf=Array.isArray(c.family)?c.family[l]:c.family,u.tw=Array.isArray(c.weight)?c.weight[l]:c.weight,u.ty=Array.isArray(c.style)?c.style[l]:c.style,u.tv=Array.isArray(c.variant)?c.variant[l]:c.variant);var f=n.marker;f&&(u.ms=s0.isArrayOrTypedArray(f.size)?f.size[l]:f.size,u.mo=s0.isArrayOrTypedArray(f.opacity)?f.opacity[l]:f.opacity,u.mx=s0.isArrayOrTypedArray(f.symbol)?f.symbol[l]:f.symbol,u.ma=s0.isArrayOrTypedArray(f.angle)?f.angle[l]:f.angle,u.mc=s0.isArrayOrTypedArray(f.color)?f.color[l]:f.color);var h=f&&f.line;h&&(u.mlc=Array.isArray(h.color)?h.color[l]:h.color,u.mlw=s0.isArrayOrTypedArray(h.width)?h.width[l]:h.width);var d=f&&f.gradient;d&&d.type!==\"none\"&&(u.mgt=Array.isArray(d.type)?d.type[l]:d.type,u.mgc=Array.isArray(d.color)?d.color[l]:d.color);var v=i.c2p(u.x,!0),x=a.c2p(u.y,!0),b=u.mrc||1,p=n.hoverlabel;p&&(u.hbg=Array.isArray(p.bgcolor)?p.bgcolor[l]:p.bgcolor,u.hbc=Array.isArray(p.bordercolor)?p.bordercolor[l]:p.bordercolor,u.hts=s0.isArrayOrTypedArray(p.font.size)?p.font.size[l]:p.font.size,u.htc=Array.isArray(p.font.color)?p.font.color[l]:p.font.color,u.htf=Array.isArray(p.font.family)?p.font.family[l]:p.font.family,u.hnl=s0.isArrayOrTypedArray(p.namelength)?p.namelength[l]:p.namelength);var E=n.hoverinfo;E&&(u.hi=Array.isArray(E)?E[l]:E);var k=n.hovertemplate;k&&(u.ht=Array.isArray(k)?k[l]:k);var A={};A[e.index]=u;var L=n._origX,_=n._origY,C=s0.extendFlat({},e,{color:Nzt(n,u),x0:v-b,x1:v+b,xLabelVal:L?L[l]:u.x,y0:x-b,y1:x+b,yLabelVal:_?_[l]:u.y,cd:A,distance:o,spikeDistance:s,hovertemplate:u.ht});return u.htx?C.text=u.htx:u.tx?C.text=u.tx:n.text&&(C.text=n.text),s0.fillText(u,n,C),Bzt.getComponentMethod(\"errorbars\",\"hoverInfo\")(u,n,C),C}vDe.exports={hoverPoints:Uzt,calcHover:dDe}});var sx=ye(($pr,gDe)=>{\"use strict\";var pDe=20;gDe.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:pDe,SYMBOL_STROKE:pDe/20,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]}}});var tk=ye((Qpr,xDe)=>{\"use strict\";var Vzt=vl(),Hzt=Su(),Gzt=Eg(),Af=Uc(),mDe=Oc().axisHoverFormat,yDe=Jl(),jzt=Y1(),DX=no().extendFlat,Wzt=Bu().overrideAll,Zzt=sx().DASHES,_De=Af.line,r1=Af.marker,Xzt=r1.line,$5=xDe.exports=Wzt({x:Af.x,x0:Af.x0,dx:Af.dx,y:Af.y,y0:Af.y0,dy:Af.dy,xperiod:Af.xperiod,yperiod:Af.yperiod,xperiod0:Af.xperiod0,yperiod0:Af.yperiod0,xperiodalignment:Af.xperiodalignment,yperiodalignment:Af.yperiodalignment,xhoverformat:mDe(\"x\"),yhoverformat:mDe(\"y\"),text:Af.text,hovertext:Af.hovertext,textposition:Af.textposition,textfont:Hzt({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:\"calc\",colorEditType:\"style\",arrayOk:!0,noNumericWeightValues:!0,variantValues:[\"normal\",\"small-caps\"]}),mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"]},line:{color:_De.color,width:_De.width,shape:{valType:\"enumerated\",values:[\"linear\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\",editType:\"plot\"},dash:{valType:\"enumerated\",values:jzt(Zzt),dflt:\"solid\"}},marker:DX({},yDe(\"marker\"),{symbol:r1.symbol,angle:r1.angle,size:r1.size,sizeref:r1.sizeref,sizemin:r1.sizemin,sizemode:r1.sizemode,opacity:r1.opacity,colorbar:r1.colorbar,line:DX({},yDe(\"marker.line\"),{width:Xzt.width})}),connectgaps:Af.connectgaps,fill:DX({},Af.fill,{dflt:\"none\"}),fillcolor:Gzt(),selected:{marker:Af.selected.marker,textfont:Af.selected.textfont},unselected:{marker:Af.unselected.marker,textfont:Af.unselected.textfont},opacity:Vzt.opacity},\"calc\",\"nested\");$5.x.editType=$5.y.editType=$5.x0.editType=$5.y0.editType=\"calc+clearAxisTypes\";$5.hovertemplate=Af.hovertemplate;$5.texttemplate=Af.texttemplate});var Fz=ye(zX=>{\"use strict\";var bDe=sx();zX.isOpenSymbol=function(e){return typeof e==\"string\"?bDe.OPEN_RE.test(e):e%200>100};zX.isDotSymbol=function(e){return typeof e==\"string\"?bDe.DOT_RE.test(e):e>200}});var ADe=ye((t0r,TDe)=>{\"use strict\";var wDe=Mr(),Yzt=ba(),Kzt=Fz(),Jzt=tk(),$zt=Sm(),qz=lu(),Qzt=K3(),eFt=Pg(),tFt=$p(),rFt=R0(),iFt=Ig(),nFt=D0();TDe.exports=function(t,r,n,i){function a(d,v){return wDe.coerce(t,r,Jzt,d,v)}var o=t.marker?Kzt.isOpenSymbol(t.marker.symbol):!1,s=qz.isBubble(t),l=Qzt(t,r,i,a);if(!l){r.visible=!1;return}eFt(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\");var u=l<$zt.PTS_LINESONLY?\"lines+markers\":\"lines\";a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"mode\",u),qz.hasMarkers(r)&&(tFt(t,r,n,i,a,{noAngleRef:!0,noStandOff:!0}),a(\"marker.line.width\",o||s?1:0)),qz.hasLines(r)&&(a(\"connectgaps\"),rFt(t,r,n,i,a),a(\"line.shape\")),qz.hasText(r)&&(a(\"texttemplate\"),nFt(t,r,i,a,{noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}));var c=(r.line||{}).color,f=(r.marker||{}).color;a(\"fill\"),r.fill!==\"none\"&&iFt(t,r,n,a);var h=Yzt.getComponentMethod(\"errorbars\",\"supplyDefaults\");h(t,r,c||f||n,{axis:\"y\"}),h(t,r,c||f||n,{axis:\"x\",inherit:\"y\"}),wDe.coerceSelectionMarkerOpacity(r,a)}});var MDe=ye((r0r,SDe)=>{\"use strict\";var aFt=$P();SDe.exports=function(t,r,n){var i=t.i;return\"x\"in t||(t.x=r._x[i]),\"y\"in t||(t.y=r._y[i]),aFt(t,r,n)}});var kDe=ye((i0r,EDe)=>{\"use strict\";function oFt(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>=0?(a=o,i=o-1):n=o+1}return a}function sFt(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>0?(a=o,i=o-1):n=o+1}return a}function lFt(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<0?(a=o,n=o+1):i=o-1}return a}function uFt(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<=0?(a=o,n=o+1):i=o-1}return a}function cFt(e,t,r,n,i){for(;n<=i;){var a=n+i>>>1,o=e[a],s=r!==void 0?r(o,t):o-t;if(s===0)return a;s<=0?n=a+1:i=a-1}return-1}function rk(e,t,r,n,i,a){return typeof r==\"function\"?a(e,t,r,n===void 0?0:n|0,i===void 0?e.length-1:i|0):a(e,t,void 0,r===void 0?0:r|0,n===void 0?e.length-1:n|0)}EDe.exports={ge:function(e,t,r,n,i){return rk(e,t,r,n,i,oFt)},gt:function(e,t,r,n,i){return rk(e,t,r,n,i,sFt)},lt:function(e,t,r,n,i){return rk(e,t,r,n,i,lFt)},le:function(e,t,r,n,i){return rk(e,t,r,n,i,uFt)},eq:function(e,t,r,n,i){return rk(e,t,r,n,i,cFt)}}});var Zm=ye((n0r,LDe)=>{\"use strict\";LDe.exports=function(t,r,n){var i={},a,o;if(typeof r==\"string\"&&(r=CDe(r)),Array.isArray(r)){var s={};for(o=0;o<r.length;o++)s[r[o]]=!0;r=s}for(a in r)r[a]=CDe(r[a]);var l={};for(a in r){var u=r[a];if(Array.isArray(u))for(o=0;o<u.length;o++){var c=u[o];if(n&&(l[c]=!0),c in t){if(i[a]=t[c],n)for(var f=o;f<u.length;f++)l[u[f]]=!0;break}}else a in t&&(r[a]&&(i[a]=t[a]),n&&(l[a]=!0))}if(n)for(a in t)l[a]||(i[a]=t[a]);return i};var FX={};function CDe(e){return FX[e]?FX[e]:(typeof e==\"string\"&&(e=FX[e]=e.split(/\\s*,\\s*|\\s+/)),e)}});var Q5=ye((a0r,PDe)=>{\"use strict\";var fFt=Zm();PDe.exports=hFt;function hFt(e){var t;return arguments.length>1&&(e=arguments),typeof e==\"string\"?e=e.split(/\\s/).map(parseFloat):typeof e==\"number\"&&(e=[e]),e.length&&typeof e[0]==\"number\"?e.length===1?t={width:e[0],height:e[0],x:0,y:0}:e.length===2?t={width:e[0],height:e[1],x:0,y:0}:t={x:e[0],y:e[1],width:e[2]-e[0]||0,height:e[3]-e[1]||0}:e&&(e=fFt(e,{left:\"x l left Left\",top:\"y t top Top\",width:\"w width W Width\",height:\"h height W Width\",bottom:\"b bottom Bottom\",right:\"r right Right\"}),t={x:e.left||0,y:e.top||0},e.width==null?e.right?t.width=e.right-t.x:t.width=0:t.width=e.width,e.height==null?e.bottom?t.height=e.bottom-t.y:t.height=0:t.height=e.height),t}});var j2=ye((o0r,IDe)=>{\"use strict\";IDe.exports=dFt;function dFt(e,t){if(!e||e.length==null)throw Error(\"Argument should be an array\");t==null?t=1:t=Math.floor(t);for(var r=Array(t*2),n=0;n<t;n++){for(var i=-1/0,a=1/0,o=n,s=e.length;o<s;o+=t)e[o]>i&&(i=e[o]),e[o]<a&&(a=e[o]);r[n]=a,r[t+n]=i}return r}});var DDe=ye((s0r,RDe)=>{RDe.exports=function(){for(var e=0;e<arguments.length;e++)if(arguments[e]!==void 0)return arguments[e]}});var W2=ye((l0r,FDe)=>{var zDe=HD();FDe.exports=vFt;function vFt(e,t,r){if(!e)throw new TypeError(\"must specify data as first parameter\");if(r=+(r||0)|0,Array.isArray(e)&&e[0]&&typeof e[0][0]==\"number\"){var n=e[0].length,i=e.length*n,a,o,s,l;(!t||typeof t==\"string\")&&(t=new(zDe(t||\"float32\"))(i+r));var u=t.length-r;if(i!==u)throw new Error(\"source length \"+i+\" (\"+n+\"x\"+e.length+\") does not match destination length \"+u);for(a=0,s=r;a<e.length;a++)for(o=0;o<n;o++)t[s++]=e[a][o]===null?NaN:e[a][o]}else if(!t||typeof t==\"string\"){var c=zDe(t||\"float32\");if(Array.isArray(e)||t===\"array\")for(t=new c(e.length+r),a=0,s=r,l=t.length;s<l;s++,a++)t[s]=e[a]===null?NaN:e[a];else r===0?t=new c(e):(t=new c(e.length+r),t.set(e,r))}else t.set(e,r);return t}});var ODe=ye((u0r,qDe)=>{\"use strict\";qDe.exports=function(e){var t=typeof e;return e!==null&&(t===\"object\"||t===\"function\")}});var NDe=ye((c0r,BDe)=>{\"use strict\";BDe.exports=Math.log2||function(e){return Math.log(e)*Math.LOG2E}});var ZDe=ye((f0r,WDe)=>{\"use strict\";var UDe=kDe(),VDe=VE(),pFt=Q5(),gFt=j2(),HDe=Zm(),qX=DDe(),mFt=W2(),yFt=ODe(),_Ft=HD(),GDe=NDe(),xFt=1073741824;WDe.exports=function(t,r){r||(r={}),t=mFt(t,\"float64\"),r=HDe(r,{bounds:\"range bounds dataBox databox\",maxDepth:\"depth maxDepth maxdepth level maxLevel maxlevel levels\",dtype:\"type dtype format out dst output destination\"});let n=qX(r.maxDepth,255),i=qX(r.bounds,gFt(t,2));i[0]===i[2]&&i[2]++,i[1]===i[3]&&i[3]++;let a=jDe(t,i),o=t.length>>>1,s;r.dtype||(r.dtype=\"array\"),typeof r.dtype==\"string\"?s=new(_Ft(r.dtype))(o):r.dtype&&(s=r.dtype,Array.isArray(s)&&(s.length=o));for(let p=0;p<o;++p)s[p]=p;let l=[],u=[],c=[],f=[];d(0,0,1,s,0,1);let h=0;for(let p=0;p<l.length;p++){let E=l[p];if(s.set)s.set(E,h);else for(let A=0,L=E.length;A<L;A++)s[A+h]=E[A];let k=h+l[p].length;f[p]=[h,k],h=k}return s.range=v,s;function d(p,E,k,A,L,_){if(!A.length)return null;let C=l[L]||(l[L]=[]),M=c[L]||(c[L]=[]),g=u[L]||(u[L]=[]),P=C.length;if(L++,L>n||_>xFt){for(let N=0;N<A.length;N++)C.push(A[N]),M.push(_),g.push(null,null,null,null);return P}if(C.push(A[0]),M.push(_),A.length<=1)return g.push(null,null,null,null),P;let T=k*.5,F=p+T,q=E+T,V=[],H=[],X=[],G=[];for(let N=1,W=A.length;N<W;N++){let re=A[N],ae=a[re*2],_e=a[re*2+1];ae<F?_e<q?V.push(re):H.push(re):_e<q?X.push(re):G.push(re)}return _<<=2,g.push(d(p,E,T,V,L,_),d(p,q,T,H,L,_+1),d(F,E,T,X,L,_+2),d(F,q,T,G,L,_+3)),P}function v(...p){let E;if(yFt(p[p.length-1])){let X=p.pop();!p.length&&(X.x!=null||X.l!=null||X.left!=null)&&(p=[X],E={}),E=HDe(X,{level:\"level maxLevel\",d:\"d diam diameter r radius px pxSize pixel pixelSize maxD size minSize\",lod:\"lod details ranges offsets\"})}else E={};p.length||(p=i);let k=pFt(...p),[A,L,_,C]=[Math.min(k.x,k.x+k.width),Math.min(k.y,k.y+k.height),Math.max(k.x,k.x+k.width),Math.max(k.y,k.y+k.height)],[M,g,P,T]=jDe([A,L,_,C],i),F=qX(E.level,l.length);if(E.d!=null){let X;typeof E.d==\"number\"?X=[E.d,E.d]:E.d.length&&(X=E.d),F=Math.min(Math.max(Math.ceil(-GDe(Math.abs(X[0])/(i[2]-i[0]))),Math.ceil(-GDe(Math.abs(X[1])/(i[3]-i[1])))),F)}if(F=Math.min(F,l.length),E.lod)return x(M,g,P,T,F);let q=[];V(0,0,1,0,0,1);function V(X,G,N,W,re,ae){if(re===null||ae===null)return;let _e=X+N,Me=G+N;if(M>_e||g>Me||P<X||T<G||W>=F||re===ae)return;let ke=l[W];ae===void 0&&(ae=ke.length);for(let Re=re;Re<ae;Re++){let ce=ke[Re],Ge=t[ce*2],nt=t[ce*2+1];Ge>=A&&Ge<=_&&nt>=L&&nt<=C&&q.push(ce)}let ge=u[W],ie=ge[re*4+0],Te=ge[re*4+1],Ee=ge[re*4+2],Ae=ge[re*4+3],ze=H(ge,re+1),Ce=N*.5,me=W+1;V(X,G,Ce,me,ie,Te||Ee||Ae||ze),V(X,G+Ce,Ce,me,Te,Ee||Ae||ze),V(X+Ce,G,Ce,me,Ee,Ae||ze),V(X+Ce,G+Ce,Ce,me,Ae,ze)}function H(X,G){let N=null,W=0;for(;N===null;)if(N=X[G*4+W],W++,W>X.length)return null;return N}return q}function x(p,E,k,A,L){let _=[];for(let C=0;C<L;C++){let M=c[C],g=f[C][0],P=b(p,E,C),T=b(k,A,C),F=UDe.ge(M,P),q=UDe.gt(M,T,F,M.length-1);_[C]=[F+g,q+g]}return _}function b(p,E,k){let A=1,L=.5,_=.5,C=.5;for(let M=0;M<k;M++)A<<=2,A+=p<L?E<_?0:1:E<_?2:3,C*=.5,L+=p<L?-C:C,_+=E<_?-C:C;return A}};function jDe(e,t){let[r,n,i,a]=t,o=1/(i-r),s=1/(a-n),l=new Array(e.length);for(let u=0,c=e.length/2;u<c;u++)l[2*u]=VDe((e[2*u]-r)*o,0,1),l[2*u+1]=VDe((e[2*u+1]-n)*s,0,1);return l}});var Oz=ye((h0r,XDe)=>{\"use strict\";XDe.exports=ZDe()});var OX=ye((d0r,YDe)=>{YDe.exports=bFt;function bFt(e){var t=0,r=0,n=0,i=0;return e.map(function(a){a=a.slice();var o=a[0],s=o.toUpperCase();if(o!=s)switch(a[0]=s,o){case\"a\":a[6]+=n,a[7]+=i;break;case\"v\":a[1]+=i;break;case\"h\":a[1]+=n;break;default:for(var l=1;l<a.length;)a[l++]+=n,a[l++]+=i}switch(s){case\"Z\":n=t,i=r;break;case\"H\":n=a[1];break;case\"V\":i=a[1];break;case\"M\":n=t=a[1],i=r=a[2];break;default:n=a[a.length-2],i=a[a.length-1]}return a})}});var $De=ye((Bz,JDe)=>{\"use strict\";Object.defineProperty(Bz,\"__esModule\",{value:!0});var wFt=function(){function e(t,r){var n=[],i=!0,a=!1,o=void 0;try{for(var s=t[Symbol.iterator](),l;!(i=(l=s.next()).done)&&(n.push(l.value),!(r&&n.length===r));i=!0);}catch(u){a=!0,o=u}finally{try{!i&&s.return&&s.return()}finally{if(a)throw o}}return n}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),ik=Math.PI*2,BX=function(t,r,n,i,a,o,s){var l=t.x,u=t.y;l*=r,u*=n;var c=i*l-a*u,f=a*l+i*u;return{x:c+o,y:f+s}},TFt=function(t,r){var n=r===1.5707963267948966?.551915024494:r===-1.5707963267948966?-.551915024494:1.3333333333333333*Math.tan(r/4),i=Math.cos(t),a=Math.sin(t),o=Math.cos(t+r),s=Math.sin(t+r);return[{x:i-a*n,y:a+i*n},{x:o+s*n,y:s-o*n},{x:o,y:s}]},KDe=function(t,r,n,i){var a=t*i-r*n<0?-1:1,o=t*n+r*i;return o>1&&(o=1),o<-1&&(o=-1),a*Math.acos(o)},AFt=function(t,r,n,i,a,o,s,l,u,c,f,h){var d=Math.pow(a,2),v=Math.pow(o,2),x=Math.pow(f,2),b=Math.pow(h,2),p=d*v-d*b-v*x;p<0&&(p=0),p/=d*b+v*x,p=Math.sqrt(p)*(s===l?-1:1);var E=p*a/o*h,k=p*-o/a*f,A=c*E-u*k+(t+n)/2,L=u*E+c*k+(r+i)/2,_=(f-E)/a,C=(h-k)/o,M=(-f-E)/a,g=(-h-k)/o,P=KDe(1,0,_,C),T=KDe(_,C,M,g);return l===0&&T>0&&(T-=ik),l===1&&T<0&&(T+=ik),[A,L,P,T]},SFt=function(t){var r=t.px,n=t.py,i=t.cx,a=t.cy,o=t.rx,s=t.ry,l=t.xAxisRotation,u=l===void 0?0:l,c=t.largeArcFlag,f=c===void 0?0:c,h=t.sweepFlag,d=h===void 0?0:h,v=[];if(o===0||s===0)return[];var x=Math.sin(u*ik/360),b=Math.cos(u*ik/360),p=b*(r-i)/2+x*(n-a)/2,E=-x*(r-i)/2+b*(n-a)/2;if(p===0&&E===0)return[];o=Math.abs(o),s=Math.abs(s);var k=Math.pow(p,2)/Math.pow(o,2)+Math.pow(E,2)/Math.pow(s,2);k>1&&(o*=Math.sqrt(k),s*=Math.sqrt(k));var A=AFt(r,n,i,a,o,s,f,d,x,b,p,E),L=wFt(A,4),_=L[0],C=L[1],M=L[2],g=L[3],P=Math.abs(g)/(ik/4);Math.abs(1-P)<1e-7&&(P=1);var T=Math.max(Math.ceil(P),1);g/=T;for(var F=0;F<T;F++)v.push(TFt(M,g)),M+=g;return v.map(function(q){var V=BX(q[0],o,s,b,x,_,C),H=V.x,X=V.y,G=BX(q[1],o,s,b,x,_,C),N=G.x,W=G.y,re=BX(q[2],o,s,b,x,_,C),ae=re.x,_e=re.y;return{x1:H,y1:X,x2:N,y2:W,x:ae,y:_e}})};Bz.default=SFt;JDe.exports=Bz.default});var tze=ye((v0r,eze)=>{\"use strict\";eze.exports=EFt;var MFt=$De();function EFt(e){for(var t,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,f=0,h=e.length;f<h;f++){var d=e[f],v=d[0];switch(v){case\"M\":a=d[1],o=d[2];break;case\"A\":var x=MFt({px:u,py:c,cx:d[6],cy:d[7],rx:d[1],ry:d[2],xAxisRotation:d[3],largeArcFlag:d[4],sweepFlag:d[5]});if(!x.length)continue;for(var b=0,p;b<x.length;b++)p=x[b],d=[\"C\",p.x1,p.y1,p.x2,p.y2,p.x,p.y],b<x.length-1&&r.push(d);break;case\"S\":var E=u,k=c;(t==\"C\"||t==\"S\")&&(E+=E-n,k+=k-i),d=[\"C\",E,k,d[1],d[2],d[3],d[4]];break;case\"T\":t==\"Q\"||t==\"T\"?(s=u*2-s,l=c*2-l):(s=u,l=c),d=QDe(u,c,s,l,d[1],d[2]);break;case\"Q\":s=d[1],l=d[2],d=QDe(u,c,d[1],d[2],d[3],d[4]);break;case\"L\":d=Nz(u,c,d[1],d[2]);break;case\"H\":d=Nz(u,c,d[1],c);break;case\"V\":d=Nz(u,c,u,d[1]);break;case\"Z\":d=Nz(u,c,a,o);break}t=v,u=d[d.length-2],c=d[d.length-1],d.length>4?(n=d[d.length-4],i=d[d.length-3]):(n=u,i=c),r.push(d)}return r}function Nz(e,t,r,n){return[\"C\",e,t,r,n,r,n]}function QDe(e,t,r,n,i,a){return[\"C\",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}});var NX=ye((p0r,rze)=>{\"use strict\";rze.exports=function(t){return typeof t!=\"string\"?!1:(t=t.trim(),!!(/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\\dz]$/i.test(t)&&t.length>4))}});var aze=ye((g0r,nze)=>{\"use strict\";var kFt=XS(),CFt=OX(),LFt=tze(),PFt=NX(),ize=tE();nze.exports=IFt;function IFt(e){if(Array.isArray(e)&&e.length===1&&typeof e[0]==\"string\"&&(e=e[0]),typeof e==\"string\"&&(ize(PFt(e),\"String is not an SVG path.\"),e=kFt(e)),ize(Array.isArray(e),\"Argument should be a string or an array of path segments.\"),e=CFt(e),e=LFt(e),!e.length)return[0,0,0,0];for(var t=[1/0,1/0,-1/0,-1/0],r=0,n=e.length;r<n;r++)for(var i=e[r].slice(1),a=0;a<i.length;a+=2)i[a+0]<t[0]&&(t[0]=i[a+0]),i[a+1]<t[1]&&(t[1]=i[a+1]),i[a+0]>t[2]&&(t[2]=i[a+0]),i[a+1]>t[3]&&(t[3]=i[a+1]);return t}});var fze=ye((m0r,cze)=>{var Z2=Math.PI,oze=uze(120);cze.exports=RFt;function RFt(e){for(var t,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,f=0,h=e.length;f<h;f++){var d=e[f],v=d[0];switch(v){case\"M\":a=d[1],o=d[2];break;case\"A\":d=lze(u,c,d[1],d[2],uze(d[3]),d[4],d[5],d[6],d[7]),d.unshift(\"C\"),d.length>7&&(r.push(d.splice(0,7)),d.unshift(\"C\"));break;case\"S\":var x=u,b=c;(t==\"C\"||t==\"S\")&&(x+=x-n,b+=b-i),d=[\"C\",x,b,d[1],d[2],d[3],d[4]];break;case\"T\":t==\"Q\"||t==\"T\"?(s=u*2-s,l=c*2-l):(s=u,l=c),d=sze(u,c,s,l,d[1],d[2]);break;case\"Q\":s=d[1],l=d[2],d=sze(u,c,d[1],d[2],d[3],d[4]);break;case\"L\":d=Uz(u,c,d[1],d[2]);break;case\"H\":d=Uz(u,c,d[1],c);break;case\"V\":d=Uz(u,c,u,d[1]);break;case\"Z\":d=Uz(u,c,a,o);break}t=v,u=d[d.length-2],c=d[d.length-1],d.length>4?(n=d[d.length-4],i=d[d.length-3]):(n=u,i=c),r.push(d)}return r}function Uz(e,t,r,n){return[\"C\",e,t,r,n,r,n]}function sze(e,t,r,n,i,a){return[\"C\",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function lze(e,t,r,n,i,a,o,s,l,u){if(u)k=u[0],A=u[1],p=u[2],E=u[3];else{var c=UX(e,t,-i);e=c.x,t=c.y,c=UX(s,l,-i),s=c.x,l=c.y;var f=(e-s)/2,h=(t-l)/2,d=f*f/(r*r)+h*h/(n*n);d>1&&(d=Math.sqrt(d),r=d*r,n=d*n);var v=r*r,x=n*n,b=(a==o?-1:1)*Math.sqrt(Math.abs((v*x-v*h*h-x*f*f)/(v*h*h+x*f*f)));b==1/0&&(b=1);var p=b*r*h/n+(e+s)/2,E=b*-n*f/r+(t+l)/2,k=Math.asin(((t-E)/n).toFixed(9)),A=Math.asin(((l-E)/n).toFixed(9));k=e<p?Z2-k:k,A=s<p?Z2-A:A,k<0&&(k=Z2*2+k),A<0&&(A=Z2*2+A),o&&k>A&&(k=k-Z2*2),!o&&A>k&&(A=A-Z2*2)}if(Math.abs(A-k)>oze){var L=A,_=s,C=l;A=k+oze*(o&&A>k?1:-1),s=p+r*Math.cos(A),l=E+n*Math.sin(A);var M=lze(s,l,r,n,i,0,o,_,C,[A,L,p,E])}var g=Math.tan((A-k)/4),P=4/3*r*g,T=4/3*n*g,F=[2*e-(e+P*Math.sin(k)),2*t-(t-T*Math.cos(k)),s+P*Math.sin(A),l-T*Math.cos(A),s,l];if(u)return F;M&&(F=F.concat(M));for(var q=0;q<F.length;){var V=UX(F[q],F[q+1],i);F[q++]=V.x,F[q++]=V.y}return F}function UX(e,t,r){return{x:e*Math.cos(r)-t*Math.sin(r),y:e*Math.sin(r)+t*Math.cos(r)}}function uze(e){return e*(Z2/180)}});var dze=ye((y0r,hze)=>{var DFt=OX(),zFt=fze(),FFt={M:\"moveTo\",C:\"bezierCurveTo\"};hze.exports=function(e,t){e.beginPath(),zFt(DFt(t)).forEach(function(r){var n=r[0],i=r.slice(1);e[FFt[n]].apply(e,i)}),e.closePath()}});var mze=ye((_0r,gze)=>{\"use strict\";var qFt=VE();gze.exports=OFt;var nk=1e20;function OFt(e,t){t||(t={});var r=t.cutoff==null?.25:t.cutoff,n=t.radius==null?8:t.radius,i=t.channel||0,a,o,s,l,u,c,f,h,d,v,x;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error(\"For raw data width and height should be provided by options\");a=t.width,o=t.height,l=e,t.stride?c=t.stride:c=Math.floor(e.length/a/o)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(h=e,f=h.getContext(\"2d\"),a=h.width,o=h.height,d=f.getImageData(0,0,a,o),l=d.data,c=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(h=e.canvas,f=e,a=h.width,o=h.height,d=f.getImageData(0,0,a,o),l=d.data,c=4):window.ImageData&&e instanceof window.ImageData&&(d=e,a=e.width,o=e.height,l=d.data,c=4);if(s=Math.max(a,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(u=l,l=Array(a*o),v=0,x=u.length;v<x;v++)l[v]=u[v*c+i]/255;else if(c!==1)throw Error(\"Raw data can have only 1 value per pixel\");var b=Array(a*o),p=Array(a*o),E=Array(s),k=Array(s),A=Array(s+1),L=Array(s);for(v=0,x=a*o;v<x;v++){var _=l[v];b[v]=_===1?0:_===0?nk:Math.pow(Math.max(0,.5-_),2),p[v]=_===1?nk:_===0?0:Math.pow(Math.max(0,_-.5),2)}vze(b,a,o,E,k,L,A),vze(p,a,o,E,k,L,A);var C=window.Float32Array?new Float32Array(a*o):new Array(a*o);for(v=0,x=a*o;v<x;v++)C[v]=qFt(1-((b[v]-p[v])/n+r),0,1);return C}function vze(e,t,r,n,i,a,o){for(var s=0;s<t;s++){for(var l=0;l<r;l++)n[l]=e[l*t+s];for(pze(n,i,a,o,r),l=0;l<r;l++)e[l*t+s]=i[l]}for(l=0;l<r;l++){for(s=0;s<t;s++)n[s]=e[l*t+s];for(pze(n,i,a,o,t),s=0;s<t;s++)e[l*t+s]=Math.sqrt(i[s])}}function pze(e,t,r,n,i){r[0]=0,n[0]=-nk,n[1]=+nk;for(var a=1,o=0;a<i;a++){for(var s=(e[a]+a*a-(e[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);s<=n[o];)o--,s=(e[a]+a*a-(e[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);o++,r[o]=a,n[o]=s,n[o+1]=+nk}for(a=0,o=0;a<i;a++){for(;n[o+1]<a;)o++;t[a]=(a-r[o])*(a-r[o])+e[r[o]]}}});var _ze=ye((x0r,yze)=>{\"use strict\";var BFt=aze(),NFt=XS(),UFt=dze(),VFt=NX(),HFt=mze(),VX=document.createElement(\"canvas\"),hp=VX.getContext(\"2d\");yze.exports=GFt;function GFt(e,t){if(!VFt(e))throw Error(\"Argument should be valid svg path string\");t||(t={});var r,n;t.shape?(r=t.shape[0],n=t.shape[1]):(r=VX.width=t.w||t.width||200,n=VX.height=t.h||t.height||200);var i=Math.min(r,n),a=t.stroke||0,o=t.viewbox||t.viewBox||BFt(e),s=[r/(o[2]-o[0]),n/(o[3]-o[1])],l=Math.min(s[0]||0,s[1]||0)/2;if(hp.fillStyle=\"black\",hp.fillRect(0,0,r,n),hp.fillStyle=\"white\",a&&(typeof a!=\"number\"&&(a=1),a>0?hp.strokeStyle=\"white\":hp.strokeStyle=\"black\",hp.lineWidth=Math.abs(a)),hp.translate(r*.5,n*.5),hp.scale(l,l),jFt()){var u=new Path2D(e);hp.fill(u),a&&hp.stroke(u)}else{var c=NFt(e);UFt(hp,c),hp.fill(),a&&hp.stroke()}hp.setTransform(1,0,0,1,0,0);var f=HFt(hp,{cutoff:t.cutoff!=null?t.cutoff:.5,radius:t.radius!=null?t.radius:i*.5});return f}var Vz;function jFt(){if(Vz!=null)return Vz;var e=document.createElement(\"canvas\").getContext(\"2d\");if(e.canvas.width=e.canvas.height=1,!window.Path2D)return Vz=!1;var t=new Path2D(\"M0,0h1v1h-1v-1Z\");e.fillStyle=\"black\",e.fill(t);var r=e.getImageData(0,0,1,1);return Vz=r&&r.data&&r.data[3]===255}});var Y2=ye((b0r,Lze)=>{\"use strict\";var Gz=uo(),WFt=_ze(),Hz=$_(),ZFt=ba(),rA=Mr(),Qf=rA.isArrayOrTypedArray,eA=ao(),xze=af(),bze=$y().formatColor,tA=lu(),XFt=S3(),GX=Fz(),ak=sx(),YFt=U1().DESELECTDIM,wze={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},KFt=rp().appendArrayPointValue;function JFt(e,t){var r,n={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0},i=e._context.plotGlPixelRatio;if(t.visible!==!0)return n;if(tA.hasText(t)&&(n.text=Cze(e,t),n.textSel=Aze(e,t,t.selected),n.textUnsel=Aze(e,t,t.unselected)),tA.hasMarkers(t)&&(n.marker=WX(e,t),n.markerSel=jX(e,t,t.selected),n.markerUnsel=jX(e,t,t.unselected),!t.unselected&&Qf(t.marker.opacity))){var a=t.marker.opacity;for(n.markerUnsel.opacity=new Array(a.length),r=0;r<a.length;r++)n.markerUnsel.opacity[r]=YFt*a[r]}if(tA.hasLines(t)){n.line={overlay:!0,thickness:t.line.width*i,color:t.line.color,opacity:t.opacity};var o=(ak.DASHES[t.line.dash]||[1]).slice();for(r=0;r<o.length;++r)o[r]*=t.line.width*i;n.line.dashes=o}return t.error_x&&t.error_x.visible&&(n.errorX=Sze(t,t.error_x,i)),t.error_y&&t.error_y.visible&&(n.errorY=Sze(t,t.error_y,i)),t.fill&&t.fill!==\"none\"&&(n.fill={closed:!0,fill:t.fillcolor,thickness:0}),n}function Cze(e,t){var r=e._fullLayout,n=t._length,i=t.textfont,a=t.textposition,o=Qf(a)?a:[a],s=i.color,l=i.size,u=i.family,c=i.weight,f=i.style,h=i.variant,d={},v,x=e._context.plotGlPixelRatio,b=t.texttemplate;if(b){d.text=[];var p=r._d3locale,E=Array.isArray(b),k=E?Math.min(b.length,n):n,A=E?function(T){return b[T]}:function(){return b};for(v=0;v<k;v++){var L={i:v},_=t._module.formatLabels(L,t,r),C={};KFt(C,t,v);var M=t._meta||{};d.text.push(rA.texttemplateString(A(v),_,p,C,L,M))}}else Qf(t.text)&&t.text.length<n?d.text=t.text.slice():d.text=t.text;if(Qf(d.text))for(v=d.text.length;v<n;v++)d.text[v]=\"\";for(d.opacity=t.opacity,d.font={},d.align=[],d.baseline=[],v=0;v<o.length;v++){var g=o[v].split(/\\s+/);switch(g[1]){case\"left\":d.align.push(\"right\");break;case\"right\":d.align.push(\"left\");break;default:d.align.push(g[1])}switch(g[0]){case\"top\":d.baseline.push(\"bottom\");break;case\"bottom\":d.baseline.push(\"top\");break;default:d.baseline.push(g[0])}}if(Qf(s))for(d.color=new Array(n),v=0;v<n;v++)d.color[v]=s[v];else d.color=s;if(Qf(l)||Array.isArray(u)||Qf(c)||Array.isArray(f)||Array.isArray(h))for(d.font=new Array(n),v=0;v<n;v++){var P=d.font[v]={};P.size=(rA.isTypedArray(l)?l[v]:Qf(l)?Gz(l[v])?l[v]:0:l)*x,P.family=Array.isArray(u)?u[v]:u,P.weight=Tze(Qf(c)?c[v]:c),P.style=Array.isArray(f)?f[v]:f,P.variant=Array.isArray(h)?h[v]:h}else d.font={size:l*x,family:u,weight:Tze(c),style:f,variant:h};return d}function Tze(e){return e<=1e3?e>500?\"bold\":\"normal\":e}function WX(e,t){var r=t._length,n=t.marker,i={},a,o=Qf(n.symbol),s=Qf(n.angle),l=Qf(n.color),u=Qf(n.line.color),c=Qf(n.opacity),f=Qf(n.size),h=Qf(n.line.width),d;if(o||(d=GX.isOpenSymbol(n.symbol)),o||l||u||c||s){i.symbols=new Array(r),i.angles=new Array(r),i.colors=new Array(r),i.borderColors=new Array(r);var v=n.symbol,x=n.angle,b=bze(n,n.opacity,r),p=bze(n.line,n.opacity,r);if(!Qf(p[0])){var E=p;for(p=Array(r),a=0;a<r;a++)p[a]=E}if(!Qf(b[0])){var k=b;for(b=Array(r),a=0;a<r;a++)b[a]=k}if(!Qf(v)){var A=v;for(v=Array(r),a=0;a<r;a++)v[a]=A}if(!Qf(x)){var L=x;for(x=Array(r),a=0;a<r;a++)x[a]=L}for(i.symbols=v,i.angles=x,i.colors=b,i.borderColors=p,a=0;a<r;a++)o&&(d=GX.isOpenSymbol(n.symbol[a])),d&&(p[a]=b[a].slice(),b[a]=b[a].slice(),b[a][3]=0);for(i.opacity=t.opacity,i.markers=new Array(r),a=0;a<r;a++)i.markers[a]=kze({mx:i.symbols[a],ma:i.angles[a]},t)}else d?(i.color=Hz(n.color,\"uint8\"),i.color[3]=0,i.borderColor=Hz(n.color,\"uint8\")):(i.color=Hz(n.color,\"uint8\"),i.borderColor=Hz(n.line.color,\"uint8\")),i.opacity=t.opacity*n.opacity,i.marker=kze({mx:n.symbol,ma:n.angle},t);var _=1,C=XFt(t,_),M;if(f||h){var g=i.sizes=new Array(r),P=i.borderSizes=new Array(r),T=0,F;if(f){for(a=0;a<r;a++)g[a]=C(n.size[a]),T+=g[a];F=T/r}else for(M=C(n.size),a=0;a<r;a++)g[a]=M;if(h)for(a=0;a<r;a++)P[a]=n.line.width[a];else for(M=n.line.width,a=0;a<r;a++)P[a]=M;i.sizeAvg=F}else i.size=C(n&&n.size||10),i.borderSizes=C(n.line.width);return i}function jX(e,t,r){var n=t.marker,i={};return r&&(r.marker&&r.marker.symbol?i=WX(e,rA.extendFlat({},n,r.marker)):r.marker&&(r.marker.size&&(i.size=r.marker.size),r.marker.color&&(i.colors=r.marker.color),r.marker.opacity!==void 0&&(i.opacity=r.marker.opacity))),i}function Aze(e,t,r){var n={};if(!r)return n;if(r.textfont){var i={opacity:1,text:t.text,texttemplate:t.texttemplate,textposition:t.textposition,textfont:rA.extendFlat({},t.textfont)};r.textfont&&rA.extendFlat(i.textfont,r.textfont),n=Cze(e,i)}return n}function Sze(e,t,r){var n={capSize:t.width*2*r,lineWidth:t.thickness*r,color:t.color};return t.copy_ystyle&&(n=e.error_y),n}var Mze=ak.SYMBOL_SDF_SIZE,X2=ak.SYMBOL_SIZE,Eze=ak.SYMBOL_STROKE,HX={},$Ft=eA.symbolFuncs[0](X2*.05);function kze(e,t){var r=e.mx;if(r===\"circle\")return null;var n,i,a=eA.symbolNumber(r),o=eA.symbolFuncs[a%100],s=!!eA.symbolNoDot[a%100],l=!!eA.symbolNoFill[a%100],u=GX.isDotSymbol(r);if(e.ma&&(r+=\"_\"+e.ma),HX[r])return HX[r];var c=eA.getMarkerAngle(e,t);return u&&!s?n=o(X2*1.1,c)+$Ft:n=o(X2,c),i=WFt(n,{w:Mze,h:Mze,viewBox:[-X2,-X2,X2,X2],stroke:l?Eze:-Eze}),HX[r]=i,i||null}function QFt(e,t,r){var n=r.length,i=n/2,a,o;if(tA.hasLines(t)&&i)if(t.line.shape===\"hv\"){for(a=[],o=0;o<i-1;o++)isNaN(r[o*2])||isNaN(r[o*2+1])?a.push(NaN,NaN,NaN,NaN):(a.push(r[o*2],r[o*2+1]),!isNaN(r[o*2+2])&&!isNaN(r[o*2+3])?a.push(r[o*2+2],r[o*2+1]):a.push(NaN,NaN));a.push(r[n-2],r[n-1])}else if(t.line.shape===\"hvh\"){for(a=[],o=0;o<i-1;o++)if(isNaN(r[o*2])||isNaN(r[o*2+1])||isNaN(r[o*2+2])||isNaN(r[o*2+3]))!isNaN(r[o*2])&&!isNaN(r[o*2+1])?a.push(r[o*2],r[o*2+1]):a.push(NaN,NaN),a.push(NaN,NaN);else{var s=(r[o*2]+r[o*2+2])/2;a.push(r[o*2],r[o*2+1],s,r[o*2+1],s,r[o*2+3])}a.push(r[n-2],r[n-1])}else if(t.line.shape===\"vhv\"){for(a=[],o=0;o<i-1;o++)if(isNaN(r[o*2])||isNaN(r[o*2+1])||isNaN(r[o*2+2])||isNaN(r[o*2+3]))!isNaN(r[o*2])&&!isNaN(r[o*2+1])?a.push(r[o*2],r[o*2+1]):a.push(NaN,NaN),a.push(NaN,NaN);else{var l=(r[o*2+1]+r[o*2+3])/2;a.push(r[o*2],r[o*2+1],r[o*2],l,r[o*2+2],l)}a.push(r[n-2],r[n-1])}else if(t.line.shape===\"vh\"){for(a=[],o=0;o<i-1;o++)isNaN(r[o*2])||isNaN(r[o*2+1])?a.push(NaN,NaN,NaN,NaN):(a.push(r[o*2],r[o*2+1]),!isNaN(r[o*2+2])&&!isNaN(r[o*2+3])?a.push(r[o*2],r[o*2+3]):a.push(NaN,NaN));a.push(r[n-2],r[n-1])}else a=r;var u=!1;for(o=0;o<a.length;o++)if(isNaN(a[o])){u=!0;break}var c=u||a.length>ak.TOO_MANY_POINTS||tA.hasMarkers(t)?\"rect\":\"round\";if(u&&t.connectgaps){var f=a[0],h=a[1];for(o=0;o<a.length;o+=2)isNaN(a[o])||isNaN(a[o+1])?(a[o]=f,a[o+1]=h):(f=a[o],h=a[o+1])}return{join:c,positions:a}}function e7t(e,t,r,n,i){var a=ZFt.getComponentMethod(\"errorbars\",\"makeComputeError\"),o=xze.getFromId(e,t.xaxis,\"x\"),s=xze.getFromId(e,t.yaxis,\"y\"),l=r.length/2,u={};function c(f,h){var d=h._id.charAt(0),v=t[\"error_\"+d];if(v&&v.visible&&(h.type===\"linear\"||h.type===\"log\")){for(var x=a(v),b={x:0,y:1}[d],p={x:[0,1,2,3],y:[2,3,0,1]}[d],E=new Float64Array(4*l),k=1/0,A=-1/0,L=0,_=0;L<l;L++,_+=4){var C=f[L];if(Gz(C)){var M=r[L*2+b],g=x(C,L),P=g[0],T=g[1];if(Gz(P)&&Gz(T)){var F=C-P,q=C+T;E[_+p[0]]=M-h.c2l(F),E[_+p[1]]=h.c2l(q)-M,E[_+p[2]]=0,E[_+p[3]]=0,k=Math.min(k,C-P),A=Math.max(A,C+T)}}}u[d]={positions:r,errors:E,_bnds:[k,A]}}}return c(n,o),c(i,s),u}function t7t(e,t,r,n){var i=t._length,a={},o;if(tA.hasMarkers(t)){var s=r.font,l=r.align,u=r.baseline;for(a.offset=new Array(i),o=0;o<i;o++){var c=n.sizes?n.sizes[o]:n.size,f=Qf(s)?s[o].size:s.size,h=Qf(l)?l.length>1?l[o]:l[0]:l,d=Qf(u)?u.length>1?u[o]:u[0]:u,v=wze[h],x=wze[d],b=c?c/.8+1:0,p=-x*b-x*.5;a.offset[o]=[v*b/f,p/f]}}return a}Lze.exports={style:JFt,markerStyle:WX,markerSelection:jX,linePositions:QFt,errorBarPositions:e7t,textPosition:t7t}});var ZX=ye((w0r,Pze)=>{\"use strict\";var jz=Mr();Pze.exports=function(t,r){var n=r._scene,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},a={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return r._scene||(n=r._scene={},n.init=function(){jz.extendFlat(n,a,i)},n.init(),n.update=function(s){var l=jz.repeat(s,n.count);if(n.fill2d&&n.fill2d.update(l),n.scatter2d&&n.scatter2d.update(l),n.line2d&&n.line2d.update(l),n.error2d&&n.error2d.update(l.concat(l)),n.select2d&&n.select2d.update(l),n.glText)for(var u=0;u<n.count;u++)n.glText[u].update(s)},n.draw=function(){for(var s=n.count,l=n.fill2d,u=n.error2d,c=n.line2d,f=n.scatter2d,h=n.glText,d=n.select2d,v=n.selectBatch,x=n.unselectBatch,b=0;b<s;b++){if(l&&n.fillOrder[b]&&l.draw(n.fillOrder[b]),c&&n.lineOptions[b]&&c.draw(b),u&&(n.errorXOptions[b]&&u.draw(b),n.errorYOptions[b]&&u.draw(b+s)),f&&n.markerOptions[b])if(x[b].length){var p=jz.repeat([],n.count);p[b]=x[b],f.draw(p)}else v[b].length||f.draw(b);h[b]&&n.textOptions[b]&&h[b].render()}d&&d.draw(v),n.dirty=!1},n.destroy=function(){n.fill2d&&n.fill2d.destroy&&n.fill2d.destroy(),n.scatter2d&&n.scatter2d.destroy&&n.scatter2d.destroy(),n.error2d&&n.error2d.destroy&&n.error2d.destroy(),n.line2d&&n.line2d.destroy&&n.line2d.destroy(),n.select2d&&n.select2d.destroy&&n.select2d.destroy(),n.glText&&n.glText.forEach(function(s){s.destroy&&s.destroy()}),n.lineOptions=null,n.fillOptions=null,n.markerOptions=null,n.markerSelectedOptions=null,n.markerUnselectedOptions=null,n.errorXOptions=null,n.errorYOptions=null,n.textOptions=null,n.textSelectedOptions=null,n.textUnselectedOptions=null,n.selectBatch=null,n.unselectBatch=null,r._scene=null}),n.dirty||jz.extendFlat(n,i),n}});var qze=ye((T0r,Fze)=>{\"use strict\";var r7t=Oz(),iA=Mr(),Ize=af(),i7t=wg().findExtremes,Rze=Rg(),XX=q0(),n7t=XX.calcMarkerSize,a7t=XX.calcAxisExpansion,o7t=XX.setFirstScatter,s7t=z0(),nA=Y2(),l7t=ZX(),Dze=es().BADNUM,u7t=sx().TOO_MANY_POINTS;Fze.exports=function(t,r){var n=t._fullLayout,i=r._xA=Ize.getFromId(t,r.xaxis,\"x\"),a=r._yA=Ize.getFromId(t,r.yaxis,\"y\"),o=n._plots[r.xaxis+r.yaxis],s=r._length,l=s>=u7t,u=s*2,c={},f,h=i.makeCalcdata(r,\"x\"),d=a.makeCalcdata(r,\"y\"),v=Rze(r,i,\"x\",h),x=Rze(r,a,\"y\",d),b=v.vals,p=x.vals;r._x=b,r._y=p,r.xperiodalignment&&(r._origX=h,r._xStarts=v.starts,r._xEnds=v.ends),r.yperiodalignment&&(r._origY=d,r._yStarts=x.starts,r._yEnds=x.ends);var E=new Array(u),k=new Array(s);for(f=0;f<s;f++)E[f*2]=b[f]===Dze?NaN:b[f],E[f*2+1]=p[f]===Dze?NaN:p[f],k[f]=f;if(i.type===\"log\")for(f=0;f<u;f+=2)E[f]=i.c2l(E[f]);if(a.type===\"log\")for(f=1;f<u;f+=2)E[f]=a.c2l(E[f]);l&&i.type!==\"log\"&&a.type!==\"log\"?c.tree=r7t(E):c.ids=k,s7t(t,r);var A=c7t(t,o,r,E,b,p),L=l7t(t,o);o7t(n,r);var _;return l?A.marker&&(_=A.marker.sizeAvg||Math.max(A.marker.size,3)):_=n7t(r,s),a7t(t,r,i,a,b,p,_),A.errorX&&zze(r,i,A.errorX),A.errorY&&zze(r,a,A.errorY),A.fill&&!L.fill2d&&(L.fill2d=!0),A.marker&&!L.scatter2d&&(L.scatter2d=!0),A.line&&!L.line2d&&(L.line2d=!0),(A.errorX||A.errorY)&&!L.error2d&&(L.error2d=!0),A.text&&!L.glText&&(L.glText=!0),A.marker&&(A.marker.snap=s),L.lineOptions.push(A.line),L.errorXOptions.push(A.errorX),L.errorYOptions.push(A.errorY),L.fillOptions.push(A.fill),L.markerOptions.push(A.marker),L.markerSelectedOptions.push(A.markerSel),L.markerUnselectedOptions.push(A.markerUnsel),L.textOptions.push(A.text),L.textSelectedOptions.push(A.textSel),L.textUnselectedOptions.push(A.textUnsel),L.selectBatch.push([]),L.unselectBatch.push([]),c._scene=L,c.index=L.count,c.x=b,c.y=p,c.positions=E,L.count++,[{x:!1,y:!1,t:c,trace:r}]};function zze(e,t,r){var n=e._extremes[t._id],i=i7t(t,r._bnds,{padded:!0});n.min=n.min.concat(i.min),n.max=n.max.concat(i.max)}function c7t(e,t,r,n,i,a){var o=nA.style(e,r);if(o.marker&&(o.marker.positions=n),o.line&&n.length>1&&iA.extendFlat(o.line,nA.linePositions(e,r,n)),o.errorX||o.errorY){var s=nA.errorBarPositions(e,r,n,i,a);o.errorX&&iA.extendFlat(o.errorX,s.x),o.errorY&&iA.extendFlat(o.errorY,s.y)}return o.text&&(iA.extendFlat(o.text,{positions:n},nA.textPosition(e,r,o.text,o.marker)),iA.extendFlat(o.textSel,{positions:n},nA.textPosition(e,r,o.text,o.markerSel)),iA.extendFlat(o.textUnsel,{positions:n},nA.textPosition(e,r,o.text,o.markerUnsel))),o}});var YX=ye((A0r,Bze)=>{\"use strict\";var Oze=Mr(),f7t=va(),h7t=U1().DESELECTDIM;function d7t(e){var t=e[0],r=t.trace,n=t.t,i=n._scene,a=n.index,o=i.selectBatch[a],s=i.unselectBatch[a],l=i.textOptions[a],u=i.textSelectedOptions[a]||{},c=i.textUnselectedOptions[a]||{},f=Oze.extendFlat({},l),h,d;if(o.length||s.length){var v=u.color,x=c.color,b=l.color,p=Oze.isArrayOrTypedArray(b);for(f.color=new Array(r._length),h=0;h<o.length;h++)d=o[h],f.color[d]=v||(p?b[d]:b);for(h=0;h<s.length;h++){d=s[h];var E=p?b[d]:b;f.color[d]=x||(v?E:f7t.addOpacity(E,h7t))}}i.glText[a].update(f)}Bze.exports={styleTextSelection:d7t}});var KX=ye((S0r,Uze)=>{\"use strict\";var Nze=lu(),v7t=YX().styleTextSelection;Uze.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l=n[0].t,u=s._length,c=l.x,f=l.y,h=l._scene,d=l.index;if(!h)return o;var v=Nze.hasText(s),x=Nze.hasMarkers(s),b=!x&&!v;if(s.visible!==!0||b)return o;var p=[],E=[];if(r!==!1&&!r.degenerate)for(var k=0;k<u;k++)r.contains([l.xpx[k],l.ypx[k]],!1,k,t)?(p.push(k),o.push({pointNumber:k,x:i.c2d(c[k]),y:a.c2d(f[k])})):E.push(k);if(x){var A=h.scatter2d;if(!p.length&&!E.length){var L=new Array(h.count);L[d]=h.markerOptions[d],A.update.apply(A,L)}else if(!h.selectBatch[d].length&&!h.unselectBatch[d].length){var _=new Array(h.count);_[d]=h.markerUnselectedOptions[d],A.update.apply(A,_)}}return h.selectBatch[d]=p,h.unselectBatch[d]=E,v&&v7t(n),o}});var Hze=ye((M0r,Vze)=>{\"use strict\";var p7t=zz();Vze.exports={moduleType:\"trace\",name:\"scattergl\",basePlotModule:Jf(),categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\"],attributes:tk(),supplyDefaults:ADe(),crossTraceDefaults:$N(),colorbar:Kd(),formatLabels:MDe(),calc:qze(),hoverPoints:p7t.hoverPoints,selectPoints:KX(),meta:{}}});var jze=ye((E0r,Zz)=>{\"use strict\";var Wz=VE();Zz.exports=Gze;Zz.exports.to=Gze;Zz.exports.from=g7t;function Gze(e,t){t==null&&(t=!0);var r=e[0],n=e[1],i=e[2],a=e[3];a==null&&(a=t?1:255),t&&(r*=255,n*=255,i*=255,a*=255),r=Wz(r,0,255)&255,n=Wz(n,0,255)&255,i=Wz(i,0,255)&255,a=Wz(a,0,255)&255;var o=r*16777216+(n<<16)+(i<<8)+a;return o}function g7t(e,t){e=+e;var r=e>>>24,n=(e&16711680)>>>16,i=(e&65280)>>>8,a=e&255;return t===!1?[r,n,i,a]:[r/255,n/255,i/255,a/255]}});var bh=ye((k0r,Zze)=>{\"use strict\";var Wze=Object.getOwnPropertySymbols,m7t=Object.prototype.hasOwnProperty,y7t=Object.prototype.propertyIsEnumerable;function _7t(e){if(e==null)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}function x7t(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",Object.getOwnPropertyNames(e)[0]===\"5\")return!1;for(var t={},r=0;r<10;r++)t[\"_\"+String.fromCharCode(r)]=r;var n=Object.getOwnPropertyNames(t).map(function(a){return t[a]});if(n.join(\"\")!==\"0123456789\")return!1;var i={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(a){i[a]=a}),Object.keys(Object.assign({},i)).join(\"\")===\"abcdefghijklmnopqrst\"}catch(a){return!1}}Zze.exports=x7t()?Object.assign:function(e,t){for(var r,n=_7t(e),i,a=1;a<arguments.length;a++){r=Object(arguments[a]);for(var o in r)m7t.call(r,o)&&(n[o]=r[o]);if(Wze){i=Wze(r);for(var s=0;s<i.length;s++)y7t.call(r,i[s])&&(n[i[s]]=r[i[s]])}}return n}});var Yze=ye((C0r,Xze)=>{Xze.exports=function(e){typeof e==\"string\"&&(e=[e]);for(var t=[].slice.call(arguments,1),r=[],n=0;n<e.length-1;n++)r.push(e[n],t[n]||\"\");return r.push(e[n]),r.join(\"\")}});var JX=ye((L0r,Kze)=>{\"use strict\";Kze.exports=function(t,r,n){Array.isArray(n)||(n=[].slice.call(arguments,2));for(var i=0,a=n.length;i<a;i++){var o=n[i];for(var s in o)if(!(r[s]!==void 0&&!Array.isArray(r[s])&&t[s]===r[s])&&s in r){var l;if(o[s]===!0)l=r[s];else{if(o[s]===!1)continue;if(typeof o[s]==\"function\"&&(l=o[s](r[s],t,r),l===void 0))continue}t[s]=l}}return t}});var $ze=ye((P0r,Jze)=>{\"use strict\";Jze.exports=typeof navigator!=\"undefined\"&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion))});var Xz=ye((I0r,aA)=>{\"use strict\";aA.exports=ok;aA.exports.float32=aA.exports.float=ok;aA.exports.fract32=aA.exports.fract=b7t;var Qze=new Float32Array(1);function b7t(e,t){if(e.length){if(e instanceof Float32Array)return new Float32Array(e.length);t instanceof Float32Array||(t=ok(e));for(var r=0,n=t.length;r<n;r++)t[r]=e[r]-t[r];return t}return ok(e-ok(e))}function ok(e){return e.length?e instanceof Float32Array?e:new Float32Array(e):(Qze[0]=e,Qze[0])}});var QX=ye((R0r,rFe)=>{\"use strict\";function w7t(e,t){var r=e==null?null:typeof Symbol!=\"undefined\"&&e[Symbol.iterator]||e[\"@@iterator\"];if(r!=null){var n,i,a,o,s=[],l=!0,u=!1;try{if(a=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(c){u=!0,i=c}finally{try{if(!l&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}function T7t(e,t){return M7t(e)||w7t(e,t)||tFe(e,t)||C7t()}function A7t(e){return S7t(e)||E7t(e)||tFe(e)||k7t()}function S7t(e){if(Array.isArray(e))return $X(e)}function M7t(e){if(Array.isArray(e))return e}function E7t(e){if(typeof Symbol!=\"undefined\"&&e[Symbol.iterator]!=null||e[\"@@iterator\"]!=null)return Array.from(e)}function tFe(e,t){if(e){if(typeof e==\"string\")return $X(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r===\"Object\"&&e.constructor&&(r=e.constructor.name),r===\"Map\"||r===\"Set\")return Array.from(e);if(r===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $X(e,t)}}function $X(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function k7t(){throw new TypeError(`Invalid attempt to spread non-iterable instance.\n", - "In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function C7t(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.\n", - "In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var L7t=$_(),P7t=j2(),I7t=jze(),R7t=Oz(),K2=bh(),Yz=Yze(),D7t=Zm(),z7t=JX(),F7t=W2(),eFe=$ze(),Kz=Xz(),q7t=Q5(),O7t=rv;function rv(e,t){var r=this;if(!(this instanceof rv))return new rv(e,t);typeof e==\"function\"?(t||(t={}),t.regl=e):(t=e,e=null),t&&t.length&&(t.positions=t),e=t.regl;var n=e._gl,i,a=[],o={},s=[],l=[null],u=[null],c=255,f=100;this.tooManyColors=eFe,i=e.texture({data:new Uint8Array(c*4),width:c,height:1,type:\"uint8\",format:\"rgba\",wrapS:\"clamp\",wrapT:\"clamp\",mag:\"nearest\",min:\"nearest\"}),K2(this,{regl:e,gl:n,groups:s,markerCache:u,markerTextures:l,palette:a,paletteIds:o,paletteTexture:i,maxColors:c,maxSize:f,canvas:n.canvas}),this.update(t);var h={uniforms:{constPointSize:!!t.constPointSize,opacity:e.prop(\"opacity\"),paletteSize:function(b,p){return[r.tooManyColors?0:c,i.height]},pixelRatio:e.context(\"pixelRatio\"),scale:e.prop(\"scale\"),scaleFract:e.prop(\"scaleFract\"),translate:e.prop(\"translate\"),translateFract:e.prop(\"translateFract\"),markerTexture:e.prop(\"markerTexture\"),paletteTexture:i},attributes:{x:function(b,p){return p.xAttr||{buffer:p.positionBuffer,stride:8,offset:0}},y:function(b,p){return p.yAttr||{buffer:p.positionBuffer,stride:8,offset:4}},xFract:function(b,p){return p.xAttr?{constant:[0,0]}:{buffer:p.positionFractBuffer,stride:8,offset:0}},yFract:function(b,p){return p.yAttr?{constant:[0,0]}:{buffer:p.positionFractBuffer,stride:8,offset:4}},size:function(b,p){return p.size.length?{buffer:p.sizeBuffer,stride:2,offset:0}:{constant:[Math.round(p.size*255/r.maxSize)]}},borderSize:function(b,p){return p.borderSize.length?{buffer:p.sizeBuffer,stride:2,offset:1}:{constant:[Math.round(p.borderSize*255/r.maxSize)]}},colorId:function(b,p){return p.color.length?{buffer:p.colorBuffer,stride:r.tooManyColors?8:4,offset:0}:{constant:r.tooManyColors?a.slice(p.color*4,p.color*4+4):[p.color]}},borderColorId:function(b,p){return p.borderColor.length?{buffer:p.colorBuffer,stride:r.tooManyColors?8:4,offset:r.tooManyColors?4:2}:{constant:r.tooManyColors?a.slice(p.borderColor*4,p.borderColor*4+4):[p.borderColor]}},isActive:function(b,p){return p.activation===!0?{constant:[1]}:p.activation?p.activation:{constant:[0]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},scissor:{enable:!0,box:e.prop(\"viewport\")},viewport:e.prop(\"viewport\"),stencil:{enable:!1},depth:{enable:!1},elements:e.prop(\"elements\"),count:e.prop(\"count\"),offset:e.prop(\"offset\"),primitive:\"points\"},d=K2({},h);d.frag=Yz([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform float opacity;\n", - "uniform sampler2D markerTexture;\n", - "\n", - "varying vec4 fragColor, fragBorderColor;\n", - "varying float fragWidth, fragBorderColorLevel, fragColorLevel;\n", - "\n", - "float smoothStep(float x, float y) {\n", - " return 1.0 / (1.0 + exp(50.0*(x - y)));\n", - "}\n", - "\n", - "void main() {\n", - " float dist = texture2D(markerTexture, gl_PointCoord).r, delta = fragWidth;\n", - "\n", - " // max-distance alpha\n", - " if (dist < 0.003) discard;\n", - "\n", - " // null-border case\n", - " if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) {\n", - " float colorAmt = smoothstep(.5 - delta, .5 + delta, dist);\n", - " gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a * opacity);\n", - " }\n", - " else {\n", - " float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist);\n", - " float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist);\n", - "\n", - " vec4 color = fragBorderColor;\n", - " color.a *= borderColorAmt;\n", - " color = mix(color, fragColor, colorAmt);\n", - " color.a *= opacity;\n", - "\n", - " gl_FragColor = color;\n", - " }\n", - "\n", - "}\n", - "`]),d.vert=Yz([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute float x, y, xFract, yFract;\n", - "attribute float size, borderSize;\n", - "attribute vec4 colorId, borderColorId;\n", - "attribute 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.\n", - "invariant gl_Position;\n", - "\n", - "uniform bool constPointSize;\n", - "uniform float pixelRatio;\n", - "uniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\n", - "uniform sampler2D paletteTexture;\n", - "\n", - "const float maxSize = 100.;\n", - "const float borderLevel = .5;\n", - "\n", - "varying vec4 fragColor, fragBorderColor;\n", - "varying float fragPointSize, fragBorderRadius, fragWidth, fragBorderColorLevel, fragColorLevel;\n", - "\n", - "float pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n", - "\n", - "bool isDirect = (paletteSize.x < 1.);\n", - "\n", - "vec4 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", - "\n", - "void main() {\n", - " // ignore inactive points\n", - " if (isActive == 0.) return;\n", - "\n", - " vec2 position = vec2(x, y);\n", - " vec2 positionFract = vec2(xFract, yFract);\n", - "\n", - " vec4 color = getColor(colorId);\n", - " vec4 borderColor = getColor(borderColorId);\n", - "\n", - " float size = size * maxSize / 255.;\n", - " float borderSize = borderSize * maxSize / 255.;\n", - "\n", - " gl_PointSize = 2. * size * pointSizeScale;\n", - " fragPointSize = size * pixelRatio;\n", - "\n", - " vec2 pos = (position + translate) * scale\n", - " + (positionFract + translateFract) * scale\n", - " + (position + translate) * scaleFract\n", - " + (positionFract + translateFract) * scaleFract;\n", - "\n", - " gl_Position = vec4(pos * 2. - 1., 0., 1.);\n", - "\n", - " fragColor = color;\n", - " fragBorderColor = borderColor;\n", - " fragWidth = 1. / gl_PointSize;\n", - "\n", - " fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.);\n", - " fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.);\n", - "}\n", - "`]),this.drawMarker=e(d);var v=K2({},h);v.frag=Yz([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "varying vec4 fragColor, fragBorderColor;\n", - "varying float fragBorderRadius, fragWidth;\n", - "\n", - "uniform float opacity;\n", - "\n", - "float smoothStep(float edge0, float edge1, float x) {\n", - "\tfloat t;\n", - "\tt = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n", - "\treturn t * t * (3.0 - 2.0 * t);\n", - "}\n", - "\n", - "void main() {\n", - "\tfloat radius, alpha = 1.0, delta = fragWidth;\n", - "\n", - "\tradius = length(2.0 * gl_PointCoord.xy - 1.0);\n", - "\n", - "\tif (radius > 1.0 + delta) {\n", - "\t\tdiscard;\n", - "\t}\n", - "\n", - "\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n", - "\n", - "\tfloat borderRadius = fragBorderRadius;\n", - "\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n", - "\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n", - "\tcolor.a *= alpha * opacity;\n", - "\tgl_FragColor = color;\n", - "}\n", - "`]),v.vert=Yz([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute float x, y, xFract, yFract;\n", - "attribute float size, borderSize;\n", - "attribute vec4 colorId, borderColorId;\n", - "attribute 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.\n", - "invariant gl_Position;\n", - "\n", - "uniform bool constPointSize;\n", - "uniform float pixelRatio;\n", - "uniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\n", - "uniform sampler2D paletteTexture;\n", - "\n", - "const float maxSize = 100.;\n", - "\n", - "varying vec4 fragColor, fragBorderColor;\n", - "varying float fragBorderRadius, fragWidth;\n", - "\n", - "float pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n", - "\n", - "bool isDirect = (paletteSize.x < 1.);\n", - "\n", - "vec4 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", - "\n", - "void 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", - "`]),eFe&&(v.frag=v.frag.replace(\"smoothstep\",\"smoothStep\"),d.frag=d.frag.replace(\"smoothstep\",\"smoothStep\")),this.drawCircle=e(v)}rv.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};rv.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this};rv.prototype.draw=function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];var i=this.groups;if(r.length===1&&Array.isArray(r[0])&&(r[0][0]===null||Array.isArray(r[0][0]))&&(r=r[0]),this.regl._refresh(),r.length)for(var a=0;a<r.length;a++)this.drawItem(a,r[a]);else i.forEach(function(o,s){e.drawItem(s)});return this};rv.prototype.drawItem=function(e,t){var r=this.groups,n=r[e];if(typeof t==\"number\"&&(e=t,n=r[t],t=null),!!(n&&n.count&&n.opacity)){n.activation[0]&&this.drawCircle(this.getMarkerDrawOptions(0,n,t));for(var i=[],a=1;a<n.activation.length;a++)!n.activation[a]||n.activation[a]!==!0&&!n.activation[a].data.length||i.push.apply(i,A7t(this.getMarkerDrawOptions(a,n,t)));i.length&&this.drawMarker(i)}};rv.prototype.getMarkerDrawOptions=function(e,t,r){var n=t.range,i=t.tree,a=t.viewport,o=t.activation,s=t.selectionBuffer,l=t.count,u=this.regl;if(!i)return r?[K2({},t,{markerTexture:this.markerTextures[e],activation:o[e],count:r.length,elements:r,offset:0})]:[K2({},t,{markerTexture:this.markerTextures[e],activation:o[e],offset:0})];var c=[],f=i.range(n,{lod:!0,px:[(n[2]-n[0])/a.width,(n[3]-n[1])/a.height]});if(r){for(var h=o[e],d=h.data,v=new Uint8Array(l),x=0;x<r.length;x++){var b=r[x];v[b]=d?d[b]:1}s.subdata(v)}for(var p=f.length;p--;){var E=T7t(f[p],2),k=E[0],A=E[1];c.push(K2({},t,{markerTexture:this.markerTextures[e],activation:r?s:o[e],offset:k,count:A-k}))}return c};rv.prototype.update=function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];if(r.length){r.length===1&&Array.isArray(r[0])&&(r=r[0]);var i=this.groups,a=this.gl,o=this.regl,s=this.maxSize,l=this.maxColors,u=this.palette;this.groups=i=r.map(function(c,f){var h=i[f];if(c===void 0)return h;c===null?c={positions:null}:typeof c==\"function\"?c={ondraw:c}:typeof c[0]==\"number\"&&(c={positions:c}),c=D7t(c,{positions:\"positions data points\",snap:\"snap cluster lod tree\",size:\"sizes size radius\",borderSize:\"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline\",color:\"colors color fill fill-color fillColor\",borderColor:\"borderColors borderColor stroke stroke-color strokeColor\",marker:\"markers marker shape\",range:\"range dataBox databox\",viewport:\"viewport viewPort viewBox viewbox\",opacity:\"opacity alpha transparency\",bounds:\"bound bounds boundaries limits\",tooManyColors:\"tooManyColors palette paletteMode optimizePalette enablePalette\"}),c.positions===null&&(c.positions=[]),c.tooManyColors!=null&&(e.tooManyColors=c.tooManyColors),h||(i[f]=h={id:f,scale:null,translate:null,scaleFract:null,translateFract:null,activation:[],selectionBuffer:o.buffer({data:new Uint8Array(0),usage:\"stream\",type:\"uint8\"}),sizeBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"uint8\"}),colorBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"uint8\"}),positionBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"float\"}),positionFractBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"float\"})},c=K2({},rv.defaults,c)),c.positions&&!(\"marker\"in c)&&(c.marker=h.marker,delete h.marker),c.marker&&!(\"positions\"in c)&&(c.positions=h.positions,delete h.positions);var d=0,v=0;if(z7t(h,c,[{snap:!0,size:function(G,N){return G==null&&(G=rv.defaults.size),d+=G&&G.length?1:0,G},borderSize:function(G,N){return G==null&&(G=rv.defaults.borderSize),d+=G&&G.length?1:0,G},opacity:parseFloat,color:function(G,N){return G==null&&(G=rv.defaults.color),G=e.updateColor(G),v++,G},borderColor:function(G,N){return G==null&&(G=rv.defaults.borderColor),G=e.updateColor(G),v++,G},bounds:function(G,N,W){return\"range\"in W||(W.range=null),G},positions:function(G,N,W){var re=N.snap,ae=N.positionBuffer,_e=N.positionFractBuffer,Me=N.selectionBuffer;if(G.x||G.y)return G.x.length?N.xAttr={buffer:o.buffer(G.x),offset:0,stride:4,count:G.x.length}:N.xAttr={buffer:G.x.buffer,offset:G.x.offset*4||0,stride:(G.x.stride||1)*4,count:G.x.count},G.y.length?N.yAttr={buffer:o.buffer(G.y),offset:0,stride:4,count:G.y.length}:N.yAttr={buffer:G.y.buffer,offset:G.y.offset*4||0,stride:(G.y.stride||1)*4,count:G.y.count},N.count=Math.max(N.xAttr.count,N.yAttr.count),G;G=F7t(G,\"float64\");var ke=N.count=Math.floor(G.length/2),ge=N.bounds=ke?P7t(G,2):null;if(!W.range&&!N.range&&(delete N.range,W.range=ge),!W.marker&&!N.marker&&(delete N.marker,W.marker=null),re&&(re===!0||ke>re)?N.tree=R7t(G,{bounds:ge}):re&&re.length&&(N.tree=re),N.tree){var ie={primitive:\"points\",usage:\"static\",data:N.tree,type:\"uint32\"};N.elements?N.elements(ie):N.elements=o.elements(ie)}var Te=Kz.float32(G);ae({data:Te,usage:\"dynamic\"});var Ee=Kz.fract32(G,Te);return _e({data:Ee,usage:\"dynamic\"}),Me({data:new Uint8Array(ke),type:\"uint8\",usage:\"stream\"}),G}},{marker:function(G,N,W){var re=N.activation;if(re.forEach(function(Ee){return Ee&&Ee.destroy&&Ee.destroy()}),re.length=0,!G||typeof G[0]==\"number\"){var ae=e.addMarker(G);re[ae]=!0}else{for(var _e=[],Me=0,ke=Math.min(G.length,N.count);Me<ke;Me++){var ge=e.addMarker(G[Me]);_e[ge]||(_e[ge]=new Uint8Array(N.count)),_e[ge][Me]=1}for(var ie=0;ie<_e.length;ie++)if(_e[ie]){var Te={data:_e[ie],type:\"uint8\",usage:\"static\"};re[ie]?re[ie](Te):re[ie]=o.buffer(Te),re[ie].data=_e[ie]}}return G},range:function(G,N,W){var re=N.bounds;if(re)return G||(G=re),N.scale=[1/(G[2]-G[0]),1/(G[3]-G[1])],N.translate=[-G[0],-G[1]],N.scaleFract=Kz.fract(N.scale),N.translateFract=Kz.fract(N.translate),G},viewport:function(G){var N=q7t(G||[a.drawingBufferWidth,a.drawingBufferHeight]);return N}}]),d){var x=h,b=x.count,p=x.size,E=x.borderSize,k=x.sizeBuffer,A=new Uint8Array(b*2);if(p.length||E.length)for(var L=0;L<b;L++)A[L*2]=Math.round((p[L]==null?p:p[L])*255/s),A[L*2+1]=Math.round((E[L]==null?E:E[L])*255/s);k({data:A,usage:\"dynamic\"})}if(v){var _=h,C=_.count,M=_.color,g=_.borderColor,P=_.colorBuffer,T;if(e.tooManyColors){if(M.length||g.length){T=new Uint8Array(C*8);for(var F=0;F<C;F++){var q=M[F];T[F*8]=u[q*4],T[F*8+1]=u[q*4+1],T[F*8+2]=u[q*4+2],T[F*8+3]=u[q*4+3];var V=g[F];T[F*8+4]=u[V*4],T[F*8+5]=u[V*4+1],T[F*8+6]=u[V*4+2],T[F*8+7]=u[V*4+3]}}}else if(M.length||g.length){T=new Uint8Array(C*4+2);for(var H=0;H<C;H++)M[H]!=null&&(T[H*4]=M[H]%l,T[H*4+1]=Math.floor(M[H]/l)),g[H]!=null&&(T[H*4+2]=g[H]%l,T[H*4+3]=Math.floor(g[H]/l))}P({data:T||new Uint8Array(0),type:\"uint8\",usage:\"dynamic\"})}return h})}};rv.prototype.addMarker=function(e){var t=this.markerTextures,r=this.regl,n=this.markerCache,i=e==null?0:n.indexOf(e);if(i>=0)return i;var a;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)a=e;else{a=new Uint8Array(e.length);for(var o=0,s=e.length;o<s;o++)a[o]=e[o]*255}var l=Math.floor(Math.sqrt(a.length));return i=t.length,n.push(e),t.push(r.texture({channels:1,data:a,radius:l,mag:\"linear\",min:\"linear\"})),i};rv.prototype.updateColor=function(e){var t=this.paletteIds,r=this.palette,n=this.maxColors;Array.isArray(e)||(e=[e]);var i=[];if(typeof e[0]==\"number\"){var a=[];if(Array.isArray(e))for(var o=0;o<e.length;o+=4)a.push(e.slice(o,o+4));else for(var s=0;s<e.length;s+=4)a.push(e.subarray(s,s+4));e=a}for(var l=0;l<e.length;l++){var u=e[l];u=L7t(u,\"uint8\");var c=I7t(u,!1);if(t[c]==null){var f=r.length;t[c]=Math.floor(f/4),r[f]=u[0],r[f+1]=u[1],r[f+2]=u[2],r[f+3]=u[3]}i[l]=t[c]}return!this.tooManyColors&&r.length>n*4&&(this.tooManyColors=!0),this.updatePalette(r),i.length===1?i[0]:i};rv.prototype.updatePalette=function(e){if(!this.tooManyColors){var t=this.maxColors,r=this.paletteTexture,n=Math.ceil(e.length*.25/t);if(n>1){e=e.slice();for(var i=e.length*.25%t;i<n*t;i++)e.push(0,0,0,0)}r.height<n&&r.resize(t,n),r.subimage({width:Math.min(e.length*.25,t),height:n,data:e},0,0)}};rv.prototype.destroy=function(){return this.groups.forEach(function(e){e.sizeBuffer.destroy(),e.positionBuffer.destroy(),e.positionFractBuffer.destroy(),e.colorBuffer.destroy(),e.activation.forEach(function(t){return t&&t.destroy&&t.destroy()}),e.selectionBuffer.destroy(),e.elements&&e.elements.destroy()}),this.groups.length=0,this.paletteTexture.destroy(),this.markerTextures.forEach(function(e){return e&&e.destroy&&e.destroy()}),this};var B7t=bh(),N7t=function(t,r){var n=new O7t(t,r),i=n.render.bind(n);return B7t(i,{render:i,update:n.update.bind(n),draw:n.draw.bind(n),destroy:n.destroy.bind(n),regl:n.regl,gl:n.gl,canvas:n.gl.canvas,groups:n.groups,markers:n.markerCache,palette:n.palette}),i};rFe.exports=N7t});var sFe=ye((D0r,iY)=>{\"use strict\";iY.exports=Qz;iY.exports.default=Qz;function Qz(e,t,r){r=r||2;var n=t&&t.length,i=n?t[0]*r:e.length,a=nFe(e,0,i,r,!0),o=[];if(!a||a.next===a.prev)return o;var s,l,u,c,f,h,d;if(n&&(a=j7t(e,t,a,r)),e.length>80*r){s=u=e[0],l=c=e[1];for(var v=r;v<i;v+=r)f=e[v],h=e[v+1],f<s&&(s=f),h<l&&(l=h),f>u&&(u=f),h>c&&(c=h);d=Math.max(u-s,c-l),d=d!==0?32767/d:0}return sk(a,o,r,s,l,d,0),o}function nFe(e,t,r,n,i){var a,o;if(i===rY(e,t,r,n)>0)for(a=t;a<r;a+=n)o=iFe(a,e[a],e[a+1],o);else for(a=r-n;a>=t;a-=n)o=iFe(a,e[a],e[a+1],o);return o&&eF(o,o.next)&&(uk(o),o=o.next),o}function J2(e,t){if(!e)return e;t||(t=e);var r=e,n;do if(n=!1,!r.steiner&&(eF(r,r.next)||eh(r.prev,r,r.next)===0)){if(uk(r),r=t=r.prev,r===r.next)break;n=!0}else r=r.next;while(n||r!==t);return t}function sk(e,t,r,n,i,a,o){if(e){!o&&a&&K7t(e,n,i,a);for(var s=e,l,u;e.prev!==e.next;){if(l=e.prev,u=e.next,a?V7t(e,n,i,a):U7t(e)){t.push(l.i/r|0),t.push(e.i/r|0),t.push(u.i/r|0),uk(e),e=u.next,s=u.next;continue}if(e=u,e===s){o?o===1?(e=H7t(J2(e),t,r),sk(e,t,r,n,i,a,2)):o===2&&G7t(e,t,r,n,i,a):sk(J2(e),t,r,n,i,a,1);break}}}}function U7t(e){var t=e.prev,r=e,n=e.next;if(eh(t,r,n)>=0)return!1;for(var i=t.x,a=r.x,o=n.x,s=t.y,l=r.y,u=n.y,c=i<a?i<o?i:o:a<o?a:o,f=s<l?s<u?s:u:l<u?l:u,h=i>a?i>o?i:o:a>o?a:o,d=s>l?s>u?s:u:l>u?l:u,v=n.next;v!==t;){if(v.x>=c&&v.x<=h&&v.y>=f&&v.y<=d&&oA(i,s,a,l,o,u,v.x,v.y)&&eh(v.prev,v,v.next)>=0)return!1;v=v.next}return!0}function V7t(e,t,r,n){var i=e.prev,a=e,o=e.next;if(eh(i,a,o)>=0)return!1;for(var s=i.x,l=a.x,u=o.x,c=i.y,f=a.y,h=o.y,d=s<l?s<u?s:u:l<u?l:u,v=c<f?c<h?c:h:f<h?f:h,x=s>l?s>u?s:u:l>u?l:u,b=c>f?c>h?c:h:f>h?f:h,p=eY(d,v,t,r,n),E=eY(x,b,t,r,n),k=e.prevZ,A=e.nextZ;k&&k.z>=p&&A&&A.z<=E;){if(k.x>=d&&k.x<=x&&k.y>=v&&k.y<=b&&k!==i&&k!==o&&oA(s,c,l,f,u,h,k.x,k.y)&&eh(k.prev,k,k.next)>=0||(k=k.prevZ,A.x>=d&&A.x<=x&&A.y>=v&&A.y<=b&&A!==i&&A!==o&&oA(s,c,l,f,u,h,A.x,A.y)&&eh(A.prev,A,A.next)>=0))return!1;A=A.nextZ}for(;k&&k.z>=p;){if(k.x>=d&&k.x<=x&&k.y>=v&&k.y<=b&&k!==i&&k!==o&&oA(s,c,l,f,u,h,k.x,k.y)&&eh(k.prev,k,k.next)>=0)return!1;k=k.prevZ}for(;A&&A.z<=E;){if(A.x>=d&&A.x<=x&&A.y>=v&&A.y<=b&&A!==i&&A!==o&&oA(s,c,l,f,u,h,A.x,A.y)&&eh(A.prev,A,A.next)>=0)return!1;A=A.nextZ}return!0}function H7t(e,t,r){var n=e;do{var i=n.prev,a=n.next.next;!eF(i,a)&&aFe(i,n,n.next,a)&&lk(i,a)&&lk(a,i)&&(t.push(i.i/r|0),t.push(n.i/r|0),t.push(a.i/r|0),uk(n),uk(n.next),n=e=a),n=n.next}while(n!==e);return J2(n)}function G7t(e,t,r,n,i,a){var o=e;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&Q7t(o,s)){var l=oFe(o,s);o=J2(o,o.next),l=J2(l,l.next),sk(o,t,r,n,i,a,0),sk(l,t,r,n,i,a,0);return}s=s.next}o=o.next}while(o!==e)}function j7t(e,t,r,n){var i=[],a,o,s,l,u;for(a=0,o=t.length;a<o;a++)s=t[a]*n,l=a<o-1?t[a+1]*n:e.length,u=nFe(e,s,l,n,!1),u===u.next&&(u.steiner=!0),i.push($7t(u));for(i.sort(W7t),a=0;a<i.length;a++)r=Z7t(i[a],r);return r}function W7t(e,t){return e.x-t.x}function Z7t(e,t){var r=X7t(e,t);if(!r)return t;var n=oFe(r,e);return J2(n,n.next),J2(r,r.next)}function X7t(e,t){var r=t,n=e.x,i=e.y,a=-1/0,o;do{if(i<=r.y&&i>=r.next.y&&r.next.y!==r.y){var s=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(s<=n&&s>a&&(a=s,o=r.x<r.next.x?r:r.next,s===n))return o}r=r.next}while(r!==t);if(!o)return null;var l=o,u=o.x,c=o.y,f=1/0,h;r=o;do n>=r.x&&r.x>=u&&n!==r.x&&oA(i<c?n:a,i,u,c,i<c?a:n,i,r.x,r.y)&&(h=Math.abs(i-r.y)/(n-r.x),lk(r,e)&&(h<f||h===f&&(r.x>o.x||r.x===o.x&&Y7t(o,r)))&&(o=r,f=h)),r=r.next;while(r!==l);return o}function Y7t(e,t){return eh(e.prev,e,t.prev)<0&&eh(t.next,e,e.next)<0}function K7t(e,t,r,n){var i=e;do i.z===0&&(i.z=eY(i.x,i.y,t,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,J7t(i)}function J7t(e){var t,r,n,i,a,o,s,l,u=1;do{for(r=e,e=null,a=null,o=0;r;){for(o++,n=r,s=0,t=0;t<u&&(s++,n=n.nextZ,!!n);t++);for(l=u;s>0||l>0&&n;)s!==0&&(l===0||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1);return e}function eY(e,t,r,n,i){return e=(e-r)*i|0,t=(t-n)*i|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function $7t(e){var t=e,r=e;do(t.x<r.x||t.x===r.x&&t.y<r.y)&&(r=t),t=t.next;while(t!==e);return r}function oA(e,t,r,n,i,a,o,s){return(i-o)*(t-s)>=(e-o)*(a-s)&&(e-o)*(n-s)>=(r-o)*(t-s)&&(r-o)*(a-s)>=(i-o)*(n-s)}function Q7t(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!e9t(e,t)&&(lk(e,t)&&lk(t,e)&&t9t(e,t)&&(eh(e.prev,e,t.prev)||eh(e,t.prev,t))||eF(e,t)&&eh(e.prev,e,e.next)>0&&eh(t.prev,t,t.next)>0)}function eh(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function eF(e,t){return e.x===t.x&&e.y===t.y}function aFe(e,t,r,n){var i=$z(eh(e,t,r)),a=$z(eh(e,t,n)),o=$z(eh(r,n,e)),s=$z(eh(r,n,t));return!!(i!==a&&o!==s||i===0&&Jz(e,r,t)||a===0&&Jz(e,n,t)||o===0&&Jz(r,e,n)||s===0&&Jz(r,t,n))}function Jz(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function $z(e){return e>0?1:e<0?-1:0}function e9t(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&aFe(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function lk(e,t){return eh(e.prev,e,e.next)<0?eh(e,t,e.next)>=0&&eh(e,e.prev,t)>=0:eh(e,t,e.prev)<0||eh(e,e.next,t)<0}function t9t(e,t){var r=e,n=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;while(r!==e);return n}function oFe(e,t){var r=new tY(e.i,e.x,e.y),n=new tY(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function iFe(e,t,r,n){var i=new tY(e,t,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function uk(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function tY(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}Qz.deviation=function(e,t,r,n){var i=t&&t.length,a=i?t[0]*r:e.length,o=Math.abs(rY(e,0,a,r));if(i)for(var s=0,l=t.length;s<l;s++){var u=t[s]*r,c=s<l-1?t[s+1]*r:e.length;o-=Math.abs(rY(e,u,c,r))}var f=0;for(s=0;s<n.length;s+=3){var h=n[s]*r,d=n[s+1]*r,v=n[s+2]*r;f+=Math.abs((e[h]-e[v])*(e[d+1]-e[h+1])-(e[h]-e[d])*(e[v+1]-e[h+1]))}return o===0&&f===0?0:Math.abs((f-o)/o)};function rY(e,t,r,n){for(var i=0,a=t,o=r-n;a<r;a+=n)i+=(e[o]-e[a])*(e[a+1]+e[o+1]),o=a;return i}Qz.flatten=function(e){for(var t=e[0][0].length,r={vertices:[],holes:[],dimensions:t},n=0,i=0;i<e.length;i++){for(var a=0;a<e[i].length;a++)for(var o=0;o<t;o++)r.vertices.push(e[i][a][o]);i>0&&(n+=e[i-1].length,r.holes.push(n))}return r}});var uFe=ye((z0r,lFe)=>{\"use strict\";var r9t=j2();lFe.exports=i9t;function i9t(e,t,r){if(!e||e.length==null)throw Error(\"Argument should be an array\");t==null&&(t=1),r==null&&(r=r9t(e,t));for(var n=0;n<t;n++){var i=r[t+n],a=r[n],o=n,s=e.length;if(i===1/0&&a===-1/0)for(o=n;o<s;o+=t)e[o]=e[o]===i?1:e[o]===a?0:.5;else if(i===1/0)for(o=n;o<s;o+=t)e[o]=e[o]===i?1:0;else if(a===-1/0)for(o=n;o<s;o+=t)e[o]=e[o]===a?0:1;else{var l=i-a;for(o=n;o<s;o+=t)isNaN(e[o])||(e[o]=l===0?.5:(e[o]-a)/l)}}return e}});var fFe=ye((F0r,cFe)=>{\"use strict\";cFe.exports=function(){var e,t;if(typeof WeakMap!=\"function\")return!1;try{e=new WeakMap([[t={},\"one\"],[{},\"two\"],[{},\"three\"]])}catch(r){return!1}return!(String(e)!==\"[object WeakMap]\"||typeof e.set!=\"function\"||e.set({},1)!==e||typeof e.delete!=\"function\"||typeof e.has!=\"function\"||e.get(t)!==\"one\")}});var dFe=ye((q0r,hFe)=>{\"use strict\";hFe.exports=function(){}});var lx=ye((O0r,vFe)=>{\"use strict\";var n9t=dFe()();vFe.exports=function(e){return e!==n9t&&e!==null}});var nY=ye((B0r,gFe)=>{\"use strict\";var a9t=Object.create,o9t=Object.getPrototypeOf,pFe={};gFe.exports=function(){var e=Object.setPrototypeOf,t=arguments[0]||a9t;return typeof e!=\"function\"?!1:o9t(e(t(null),pFe))===pFe}});var aY=ye((N0r,mFe)=>{\"use strict\";var s9t=lx(),l9t={function:!0,object:!0};mFe.exports=function(e){return s9t(e)&&l9t[typeof e]||!1}});var i1=ye((U0r,yFe)=>{\"use strict\";var u9t=lx();yFe.exports=function(e){if(!u9t(e))throw new TypeError(\"Cannot use null or undefined\");return e}});var xFe=ye((V0r,_Fe)=>{\"use strict\";var oY=Object.create,tF;nY()()||(tF=sY());_Fe.exports=function(){var e,t,r;return!tF||tF.level!==1?oY:(e={},t={},r={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(n){if(n===\"__proto__\"){t[n]={configurable:!0,enumerable:!1,writable:!0,value:void 0};return}t[n]=r}),Object.defineProperties(e,t),Object.defineProperty(tF,\"nullPolyfill\",{configurable:!1,enumerable:!1,writable:!1,value:e}),function(n,i){return oY(n===null?e:n,i)})}()});var sY=ye((H0r,bFe)=>{\"use strict\";var c9t=aY(),f9t=i1(),h9t=Object.prototype.isPrototypeOf,d9t=Object.defineProperty,v9t={configurable:!0,enumerable:!1,writable:!0,value:void 0},rF;rF=function(e,t){if(f9t(e),t===null||c9t(t))return e;throw new TypeError(\"Prototype must be null or an object\")};bFe.exports=function(e){var t,r;return e?(e.level===2?e.set?(r=e.set,t=function(n,i){return r.call(rF(n,i),i),n}):t=function(n,i){return rF(n,i).__proto__=i,n}:t=function n(i,a){var o;return rF(i,a),o=h9t.call(n.nullPolyfill,i),o&&delete n.nullPolyfill.__proto__,a===null&&(a=n.nullPolyfill),i.__proto__=a,o&&d9t(n.nullPolyfill,\"__proto__\",v9t),i},Object.defineProperty(t,\"level\",{configurable:!1,enumerable:!1,writable:!1,value:e.level})):null}(function(){var e=Object.create(null),t={},r,n=Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\");if(n){try{r=n.set,r.call(e,t)}catch(i){}if(Object.getPrototypeOf(e)===t)return{set:r,level:2}}return e.__proto__=t,Object.getPrototypeOf(e)===t?{level:2}:(e={},e.__proto__=t,Object.getPrototypeOf(e)===t?{level:1}:!1)}());xFe()});var iF=ye((G0r,wFe)=>{\"use strict\";wFe.exports=nY()()?Object.setPrototypeOf:sY()});var AFe=ye((j0r,TFe)=>{\"use strict\";var p9t=aY();TFe.exports=function(e){if(!p9t(e))throw new TypeError(e+\" is not an Object\");return e}});var MFe=ye((W0r,SFe)=>{\"use strict\";var g9t=Object.create(null),m9t=Math.random;SFe.exports=function(){var e;do e=m9t().toString(36).slice(2);while(g9t[e]);return e}});var $2=ye((Z0r,EFe)=>{\"use strict\";var y9t=void 0;EFe.exports=function(e){return e!==y9t&&e!==null}});var nF=ye((X0r,kFe)=>{\"use strict\";var _9t=$2(),x9t={object:!0,function:!0,undefined:!0};kFe.exports=function(e){return _9t(e)?hasOwnProperty.call(x9t,typeof e):!1}});var LFe=ye((Y0r,CFe)=>{\"use strict\";var b9t=nF();CFe.exports=function(e){if(!b9t(e))return!1;try{return e.constructor?e.constructor.prototype===e:!1}catch(t){return!1}}});var IFe=ye((K0r,PFe)=>{\"use strict\";var w9t=LFe();PFe.exports=function(e){if(typeof e!=\"function\"||!hasOwnProperty.call(e,\"length\"))return!1;try{if(typeof e.length!=\"number\"||typeof e.call!=\"function\"||typeof e.apply!=\"function\")return!1}catch(t){return!1}return!w9t(e)}});var lY=ye((J0r,RFe)=>{\"use strict\";var T9t=IFe(),A9t=/^\\s*class[\\s{/}]/,S9t=Function.prototype.toString;RFe.exports=function(e){return!(!T9t(e)||A9t.test(S9t.call(e)))}});var zFe=ye(($0r,DFe)=>{\"use strict\";DFe.exports=function(){var e=Object.assign,t;return typeof e!=\"function\"?!1:(t={foo:\"raz\"},e(t,{bar:\"dwa\"},{trzy:\"trzy\"}),t.foo+t.bar+t.trzy===\"razdwatrzy\")}});var qFe=ye((Q0r,FFe)=>{\"use strict\";FFe.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(e){return!1}}});var BFe=ye((egr,OFe)=>{\"use strict\";var M9t=lx(),E9t=Object.keys;OFe.exports=function(e){return E9t(M9t(e)?Object(e):e)}});var UFe=ye((tgr,NFe)=>{\"use strict\";NFe.exports=qFe()()?Object.keys:BFe()});var HFe=ye((rgr,VFe)=>{\"use strict\";var k9t=UFe(),C9t=i1(),L9t=Math.max;VFe.exports=function(e,t){var r,n,i=L9t(arguments.length,2),a;for(e=Object(C9t(e)),a=function(o){try{e[o]=t[o]}catch(s){r||(r=s)}},n=1;n<i;++n)t=arguments[n],k9t(t).forEach(a);if(r!==void 0)throw r;return e}});var aF=ye((igr,GFe)=>{\"use strict\";GFe.exports=zFe()()?Object.assign:HFe()});var uY=ye((ngr,jFe)=>{\"use strict\";var P9t=lx(),I9t=Array.prototype.forEach,R9t=Object.create,D9t=function(e,t){var r;for(r in e)t[r]=e[r]};jFe.exports=function(e){var t=R9t(null);return I9t.call(arguments,function(r){P9t(r)&&D9t(Object(r),t)}),t}});var ZFe=ye((agr,WFe)=>{\"use strict\";var cY=\"razdwatrzy\";WFe.exports=function(){return typeof cY.contains!=\"function\"?!1:cY.contains(\"dwa\")===!0&&cY.contains(\"foo\")===!1}});var YFe=ye((ogr,XFe)=>{\"use strict\";var z9t=String.prototype.indexOf;XFe.exports=function(e){return z9t.call(this,e,arguments[1])>-1}});var fY=ye((sgr,KFe)=>{\"use strict\";KFe.exports=ZFe()()?String.prototype.contains:YFe()});var n1=ye((lgr,e7e)=>{\"use strict\";var oF=$2(),JFe=lY(),$Fe=aF(),QFe=uY(),ck=fY(),F9t=e7e.exports=function(e,t){var r,n,i,a,o;return arguments.length<2||typeof e!=\"string\"?(a=t,t=e,e=null):a=arguments[2],oF(e)?(r=ck.call(e,\"c\"),n=ck.call(e,\"e\"),i=ck.call(e,\"w\")):(r=i=!0,n=!1),o={value:t,configurable:r,enumerable:n,writable:i},a?$Fe(QFe(a),o):o};F9t.gs=function(e,t,r){var n,i,a,o;return typeof e!=\"string\"?(a=r,r=t,t=e,e=null):a=arguments[3],oF(t)?JFe(t)?oF(r)?JFe(r)||(a=r,r=void 0):r=void 0:(a=t,t=r=void 0):t=void 0,oF(e)?(n=ck.call(e,\"c\"),i=ck.call(e,\"e\")):(n=!0,i=!1),o={get:t,set:r,configurable:n,enumerable:i},a?$Fe(QFe(a),o):o}});var fk=ye((ugr,r7e)=>{\"use strict\";var t7e=Object.prototype.toString,q9t=t7e.call(function(){return arguments}());r7e.exports=function(e){return t7e.call(e)===q9t}});var hk=ye((cgr,n7e)=>{\"use strict\";var i7e=Object.prototype.toString,O9t=i7e.call(\"\");n7e.exports=function(e){return typeof e==\"string\"||e&&typeof e==\"object\"&&(e instanceof String||i7e.call(e)===O9t)||!1}});var o7e=ye((fgr,a7e)=>{\"use strict\";a7e.exports=function(){return typeof globalThis!=\"object\"||!globalThis?!1:globalThis.Array===Array}});var u7e=ye((hgr,l7e)=>{var s7e=function(){if(typeof self==\"object\"&&self)return self;if(typeof window==\"object\"&&window)return window;throw new Error(\"Unable to resolve global `this`\")};l7e.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,\"__global__\",{get:function(){return this},configurable:!0})}catch(e){return s7e()}try{return __global__||s7e()}finally{delete Object.prototype.__global__}}()});var dk=ye((dgr,c7e)=>{\"use strict\";c7e.exports=o7e()()?globalThis:u7e()});var h7e=ye((vgr,f7e)=>{\"use strict\";var B9t=dk(),hY={object:!0,symbol:!0};f7e.exports=function(){var e=B9t.Symbol,t;if(typeof e!=\"function\")return!1;t=e(\"test symbol\");try{String(t)}catch(r){return!1}return!(!hY[typeof e.iterator]||!hY[typeof e.toPrimitive]||!hY[typeof e.toStringTag])}});var v7e=ye((pgr,d7e)=>{\"use strict\";d7e.exports=function(e){return e?typeof e==\"symbol\"?!0:!e.constructor||e.constructor.name!==\"Symbol\"?!1:e[e.constructor.toStringTag]===\"Symbol\":!1}});var dY=ye((ggr,p7e)=>{\"use strict\";var N9t=v7e();p7e.exports=function(e){if(!N9t(e))throw new TypeError(e+\" is not a symbol\");return e}});var x7e=ye((mgr,_7e)=>{\"use strict\";var g7e=n1(),U9t=Object.create,m7e=Object.defineProperty,V9t=Object.prototype,y7e=U9t(null);_7e.exports=function(e){for(var t=0,r,n;y7e[e+(t||\"\")];)++t;return e+=t||\"\",y7e[e]=!0,r=\"@@\"+e,m7e(V9t,r,g7e.gs(null,function(i){n||(n=!0,m7e(this,r,g7e(i)),n=!1)})),r}});var w7e=ye((ygr,b7e)=>{\"use strict\";var Qg=n1(),wh=dk().Symbol;b7e.exports=function(e){return Object.defineProperties(e,{hasInstance:Qg(\"\",wh&&wh.hasInstance||e(\"hasInstance\")),isConcatSpreadable:Qg(\"\",wh&&wh.isConcatSpreadable||e(\"isConcatSpreadable\")),iterator:Qg(\"\",wh&&wh.iterator||e(\"iterator\")),match:Qg(\"\",wh&&wh.match||e(\"match\")),replace:Qg(\"\",wh&&wh.replace||e(\"replace\")),search:Qg(\"\",wh&&wh.search||e(\"search\")),species:Qg(\"\",wh&&wh.species||e(\"species\")),split:Qg(\"\",wh&&wh.split||e(\"split\")),toPrimitive:Qg(\"\",wh&&wh.toPrimitive||e(\"toPrimitive\")),toStringTag:Qg(\"\",wh&&wh.toStringTag||e(\"toStringTag\")),unscopables:Qg(\"\",wh&&wh.unscopables||e(\"unscopables\"))})}});var S7e=ye((_gr,A7e)=>{\"use strict\";var T7e=n1(),H9t=dY(),vk=Object.create(null);A7e.exports=function(e){return Object.defineProperties(e,{for:T7e(function(t){return vk[t]?vk[t]:vk[t]=e(String(t))}),keyFor:T7e(function(t){var r;H9t(t);for(r in vk)if(vk[r]===t)return r})})}});var k7e=ye((xgr,E7e)=>{\"use strict\";var Xm=n1(),vY=dY(),sF=dk().Symbol,G9t=x7e(),j9t=w7e(),W9t=S7e(),Z9t=Object.create,pY=Object.defineProperties,lF=Object.defineProperty,Wv,sA,M7e;if(typeof sF==\"function\")try{String(sF()),M7e=!0}catch(e){}else sF=null;sA=function(t){if(this instanceof sA)throw new TypeError(\"Symbol is not a constructor\");return Wv(t)};E7e.exports=Wv=function e(t){var r;if(this instanceof e)throw new TypeError(\"Symbol is not a constructor\");return M7e?sF(t):(r=Z9t(sA.prototype),t=t===void 0?\"\":String(t),pY(r,{__description__:Xm(\"\",t),__name__:Xm(\"\",G9t(t))}))};j9t(Wv);W9t(Wv);pY(sA.prototype,{constructor:Xm(Wv),toString:Xm(\"\",function(){return this.__name__})});pY(Wv.prototype,{toString:Xm(function(){return\"Symbol (\"+vY(this).__description__+\")\"}),valueOf:Xm(function(){return vY(this)})});lF(Wv.prototype,Wv.toPrimitive,Xm(\"\",function(){var e=vY(this);return typeof e==\"symbol\"?e:e.toString()}));lF(Wv.prototype,Wv.toStringTag,Xm(\"c\",\"Symbol\"));lF(sA.prototype,Wv.toStringTag,Xm(\"c\",Wv.prototype[Wv.toStringTag]));lF(sA.prototype,Wv.toPrimitive,Xm(\"c\",Wv.prototype[Wv.toPrimitive]))});var ux=ye((bgr,C7e)=>{\"use strict\";C7e.exports=h7e()()?dk().Symbol:k7e()});var P7e=ye((wgr,L7e)=>{\"use strict\";var X9t=i1();L7e.exports=function(){return X9t(this).length=0,this}});var lA=ye((Tgr,I7e)=>{\"use strict\";I7e.exports=function(e){if(typeof e!=\"function\")throw new TypeError(e+\" is not a function\");return e}});var D7e=ye((Agr,R7e)=>{\"use strict\";var Y9t=$2(),K9t=nF(),J9t=Object.prototype.toString;R7e.exports=function(e){if(!Y9t(e))return null;if(K9t(e)){var t=e.toString;if(typeof t!=\"function\"||t===J9t)return null}try{return\"\"+e}catch(r){return null}}});var F7e=ye((Sgr,z7e)=>{\"use strict\";z7e.exports=function(e){try{return e.toString()}catch(t){try{return String(e)}catch(r){return null}}}});var O7e=ye((Mgr,q7e)=>{\"use strict\";var $9t=F7e(),Q9t=/[\\n\\r\\u2028\\u2029]/g;q7e.exports=function(e){var t=$9t(e);return t===null?\"<Non-coercible to string value>\":(t.length>100&&(t=t.slice(0,99)+\"\\u2026\"),t=t.replace(Q9t,function(r){switch(r){case`\n", - "`:return\"\\\\n\";case\"\\r\":return\"\\\\r\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw new Error(\"Unexpected character\")}}),t)}});var gY=ye((Egr,U7e)=>{\"use strict\";var B7e=$2(),eqt=nF(),tqt=D7e(),rqt=O7e(),N7e=function(e,t){return e.replace(\"%v\",rqt(t))};U7e.exports=function(e,t,r){if(!eqt(r))throw new TypeError(N7e(t,e));if(!B7e(e)){if(\"default\"in r)return r.default;if(r.isOptional)return null}var n=tqt(r.errorMessage);throw B7e(n)||(n=t),new TypeError(N7e(n,e))}});var H7e=ye((kgr,V7e)=>{\"use strict\";var iqt=gY(),nqt=$2();V7e.exports=function(e){return nqt(e)?e:iqt(e,\"Cannot use %v\",arguments[1])}});var j7e=ye((Cgr,G7e)=>{\"use strict\";var aqt=gY(),oqt=lY();G7e.exports=function(e){return oqt(e)?e:aqt(e,\"%v is not a plain function\",arguments[1])}});var Z7e=ye((Lgr,W7e)=>{\"use strict\";W7e.exports=function(){var e=Array.from,t,r;return typeof e!=\"function\"?!1:(t=[\"raz\",\"dwa\"],r=e(t),!!(r&&r!==t&&r[1]===\"dwa\"))}});var Y7e=ye((Pgr,X7e)=>{\"use strict\";var sqt=Object.prototype.toString,lqt=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);X7e.exports=function(e){return typeof e==\"function\"&&lqt(sqt.call(e))}});var J7e=ye((Igr,K7e)=>{\"use strict\";K7e.exports=function(){var e=Math.sign;return typeof e!=\"function\"?!1:e(10)===1&&e(-20)===-1}});var Q7e=ye((Rgr,$7e)=>{\"use strict\";$7e.exports=function(e){return e=Number(e),isNaN(e)||e===0?e:e>0?1:-1}});var t9e=ye((Dgr,e9e)=>{\"use strict\";e9e.exports=J7e()()?Math.sign:Q7e()});var i9e=ye((zgr,r9e)=>{\"use strict\";var uqt=t9e(),cqt=Math.abs,fqt=Math.floor;r9e.exports=function(e){return isNaN(e)?0:(e=Number(e),e===0||!isFinite(e)?e:uqt(e)*fqt(cqt(e)))}});var a9e=ye((Fgr,n9e)=>{\"use strict\";var hqt=i9e(),dqt=Math.max;n9e.exports=function(e){return dqt(0,hqt(e))}});var u9e=ye((qgr,l9e)=>{\"use strict\";var vqt=ux().iterator,pqt=fk(),gqt=Y7e(),mqt=a9e(),o9e=lA(),yqt=i1(),_qt=lx(),xqt=hk(),s9e=Array.isArray,mY=Function.prototype.call,Q2={configurable:!0,enumerable:!0,writable:!0,value:null},yY=Object.defineProperty;l9e.exports=function(e){var t=arguments[1],r=arguments[2],n,i,a,o,s,l,u,c,f,h;if(e=Object(yqt(e)),_qt(t)&&o9e(t),!this||this===Array||!gqt(this)){if(!t){if(pqt(e))return s=e.length,s!==1?Array.apply(null,e):(o=new Array(1),o[0]=e[0],o);if(s9e(e)){for(o=new Array(s=e.length),i=0;i<s;++i)o[i]=e[i];return o}}o=[]}else n=this;if(!s9e(e)){if((f=e[vqt])!==void 0){for(u=o9e(f).call(e),n&&(o=new n),c=u.next(),i=0;!c.done;)h=t?mY.call(t,r,c.value,i):c.value,n?(Q2.value=h,yY(o,i,Q2)):o[i]=h,c=u.next(),++i;s=i}else if(xqt(e)){for(s=e.length,n&&(o=new n),i=0,a=0;i<s;++i)h=e[i],i+1<s&&(l=h.charCodeAt(0),l>=55296&&l<=56319&&(h+=e[++i])),h=t?mY.call(t,r,h,a):h,n?(Q2.value=h,yY(o,a,Q2)):o[a]=h,++a;s=a}}if(s===void 0)for(s=mqt(e.length),n&&(o=new n(s)),i=0;i<s;++i)h=t?mY.call(t,r,e[i],i):e[i],n?(Q2.value=h,yY(o,i,Q2)):o[i]=h;return n&&(Q2.value=null,o.length=s),o}});var f9e=ye((Ogr,c9e)=>{\"use strict\";c9e.exports=Z7e()()?Array.from:u9e()});var d9e=ye((Bgr,h9e)=>{\"use strict\";var bqt=f9e(),wqt=aF(),Tqt=i1();h9e.exports=function(e){var t=Object(Tqt(e)),r=arguments[1],n=Object(arguments[2]);if(t!==e&&!r)return t;var i={};return r?bqt(r,function(a){(n.ensure||a in e)&&(i[a]=e[a])}):wqt(i,e),i}});var g9e=ye((Ngr,p9e)=>{\"use strict\";var Aqt=lA(),Sqt=i1(),Mqt=Function.prototype.bind,v9e=Function.prototype.call,Eqt=Object.keys,kqt=Object.prototype.propertyIsEnumerable;p9e.exports=function(e,t){return function(r,n){var i,a=arguments[2],o=arguments[3];return r=Object(Sqt(r)),Aqt(n),i=Eqt(r),o&&i.sort(typeof o==\"function\"?Mqt.call(o,r):void 0),typeof e!=\"function\"&&(e=i[e]),v9e.call(e,i,function(s,l){return kqt.call(r,s)?v9e.call(n,a,r[s],s,r,l):t})}}});var y9e=ye((Ugr,m9e)=>{\"use strict\";m9e.exports=g9e()(\"forEach\")});var x9e=ye((Vgr,_9e)=>{\"use strict\";var Cqt=lA(),Lqt=y9e(),Pqt=Function.prototype.call;_9e.exports=function(e,t){var r={},n=arguments[2];return Cqt(t),Lqt(e,function(i,a,o,s){r[a]=Pqt.call(t,n,i,a,o,s)}),r}});var A9e=ye((Hgr,T9e)=>{\"use strict\";var Iqt=$2(),Rqt=H7e(),b9e=j7e(),Dqt=d9e(),zqt=uY(),Fqt=x9e(),qqt=Function.prototype.bind,Oqt=Object.defineProperty,Bqt=Object.prototype.hasOwnProperty,w9e;w9e=function(e,t,r){var n=Rqt(t)&&b9e(t.value),i;return i=Dqt(t),delete i.writable,delete i.value,i.get=function(){return!r.overwriteDefinition&&Bqt.call(this,e)?n:(t.value=qqt.call(n,r.resolveContext?r.resolveContext(this):this),Oqt(this,e,t),this[e])},i};T9e.exports=function(e){var t=zqt(arguments[1]);return Iqt(t.resolveContext)&&b9e(t.resolveContext),Fqt(e,function(r,n){return w9e(n,r,t)})}});var _Y=ye((Ggr,k9e)=>{\"use strict\";var Nqt=P7e(),Uqt=aF(),Vqt=lA(),Hqt=i1(),Op=n1(),Gqt=A9e(),S9e=ux(),M9e=Object.defineProperty,E9e=Object.defineProperties,pk;k9e.exports=pk=function(e,t){if(!(this instanceof pk))throw new TypeError(\"Constructor requires 'new'\");E9e(this,{__list__:Op(\"w\",Hqt(e)),__context__:Op(\"w\",t),__nextIndex__:Op(\"w\",0)}),t&&(Vqt(t.on),t.on(\"_add\",this._onAdd),t.on(\"_delete\",this._onDelete),t.on(\"_clear\",this._onClear))};delete pk.prototype.constructor;E9e(pk.prototype,Uqt({_next:Op(function(){var e;if(this.__list__){if(this.__redo__&&(e=this.__redo__.shift(),e!==void 0))return e;if(this.__nextIndex__<this.__list__.length)return this.__nextIndex__++;this._unBind()}}),next:Op(function(){return this._createResult(this._next())}),_createResult:Op(function(e){return e===void 0?{done:!0,value:void 0}:{done:!1,value:this._resolve(e)}}),_resolve:Op(function(e){return this.__list__[e]}),_unBind:Op(function(){this.__list__=null,delete this.__redo__,this.__context__&&(this.__context__.off(\"_add\",this._onAdd),this.__context__.off(\"_delete\",this._onDelete),this.__context__.off(\"_clear\",this._onClear),this.__context__=null)}),toString:Op(function(){return\"[object \"+(this[S9e.toStringTag]||\"Object\")+\"]\"})},Gqt({_onAdd:Op(function(e){if(!(e>=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__){M9e(this,\"__redo__\",Op(\"c\",[e]));return}this.__redo__.forEach(function(t,r){t>=e&&(this.__redo__[r]=++t)},this),this.__redo__.push(e)}}),_onDelete:Op(function(e){var t;e>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(t=this.__redo__.indexOf(e),t!==-1&&this.__redo__.splice(t,1),this.__redo__.forEach(function(r,n){r>e&&(this.__redo__[n]=--r)},this)))}),_onClear:Op(function(){this.__redo__&&Nqt.call(this.__redo__),this.__nextIndex__=0})})));M9e(pk.prototype,S9e.iterator,Op(function(){return this}))});var R9e=ye((jgr,I9e)=>{\"use strict\";var C9e=iF(),L9e=fY(),xY=n1(),jqt=ux(),bY=_Y(),P9e=Object.defineProperty,uA;uA=I9e.exports=function(e,t){if(!(this instanceof uA))throw new TypeError(\"Constructor requires 'new'\");bY.call(this,e),t?L9e.call(t,\"key+value\")?t=\"key+value\":L9e.call(t,\"key\")?t=\"key\":t=\"value\":t=\"value\",P9e(this,\"__kind__\",xY(\"\",t))};C9e&&C9e(uA,bY);delete uA.prototype.constructor;uA.prototype=Object.create(bY.prototype,{_resolve:xY(function(e){return this.__kind__===\"value\"?this.__list__[e]:this.__kind__===\"key+value\"?[e,this.__list__[e]]:e})});P9e(uA.prototype,jqt.toStringTag,xY(\"c\",\"Array Iterator\"))});var q9e=ye((Wgr,F9e)=>{\"use strict\";var D9e=iF(),uF=n1(),Wqt=ux(),wY=_Y(),z9e=Object.defineProperty,cA;cA=F9e.exports=function(e){if(!(this instanceof cA))throw new TypeError(\"Constructor requires 'new'\");e=String(e),wY.call(this,e),z9e(this,\"__length__\",uF(\"\",e.length))};D9e&&D9e(cA,wY);delete cA.prototype.constructor;cA.prototype=Object.create(wY.prototype,{_next:uF(function(){if(this.__list__){if(this.__nextIndex__<this.__length__)return this.__nextIndex__++;this._unBind()}}),_resolve:uF(function(e){var t=this.__list__[e],r;return this.__nextIndex__===this.__length__?t:(r=t.charCodeAt(0),r>=55296&&r<=56319?t+this.__list__[this.__nextIndex__++]:t)})});z9e(cA.prototype,Wqt.toStringTag,uF(\"c\",\"String Iterator\"))});var B9e=ye((Zgr,O9e)=>{\"use strict\";var Zqt=fk(),Xqt=lx(),Yqt=hk(),Kqt=ux().iterator,Jqt=Array.isArray;O9e.exports=function(e){return Xqt(e)?Jqt(e)||Yqt(e)||Zqt(e)?!0:typeof e[Kqt]==\"function\":!1}});var U9e=ye((Xgr,N9e)=>{\"use strict\";var $qt=B9e();N9e.exports=function(e){if(!$qt(e))throw new TypeError(e+\" is not iterable\");return e}});var TY=ye((Ygr,G9e)=>{\"use strict\";var Qqt=fk(),eOt=hk(),V9e=R9e(),tOt=q9e(),rOt=U9e(),H9e=ux().iterator;G9e.exports=function(e){return typeof rOt(e)[H9e]==\"function\"?e[H9e]():Qqt(e)?new V9e(e):eOt(e)?new tOt(e):new V9e(e)}});var W9e=ye((Kgr,j9e)=>{\"use strict\";var iOt=fk(),nOt=lA(),aOt=hk(),oOt=TY(),sOt=Array.isArray,AY=Function.prototype.call,lOt=Array.prototype.some;j9e.exports=function(e,t){var r,n=arguments[2],i,a,o,s,l,u,c;if(sOt(e)||iOt(e)?r=\"array\":aOt(e)?r=\"string\":e=oOt(e),nOt(t),a=function(){o=!0},r===\"array\"){lOt.call(e,function(f){return AY.call(t,n,f,a),o});return}if(r===\"string\"){for(l=e.length,s=0;s<l&&(u=e[s],s+1<l&&(c=u.charCodeAt(0),c>=55296&&c<=56319&&(u+=e[++s])),AY.call(t,n,u,a),!o);++s);return}for(i=e.next();!i.done;){if(AY.call(t,n,i.value,a),o)return;i=e.next()}}});var X9e=ye((Jgr,Z9e)=>{\"use strict\";Z9e.exports=function(){return typeof WeakMap!=\"function\"?!1:Object.prototype.toString.call(new WeakMap)===\"[object WeakMap]\"}()});var J9e=ye(($gr,K9e)=>{\"use strict\";var uOt=lx(),fF=iF(),cF=AFe(),cOt=i1(),fOt=MFe(),a1=n1(),hOt=TY(),dOt=W9e(),vOt=ux().toStringTag,Y9e=X9e(),pOt=Array.isArray,MY=Object.defineProperty,SY=Object.prototype.hasOwnProperty,gOt=Object.getPrototypeOf,cx;K9e.exports=cx=function(){var e=arguments[0],t;if(!(this instanceof cx))throw new TypeError(\"Constructor requires 'new'\");return t=Y9e&&fF&&WeakMap!==cx?fF(new WeakMap,gOt(this)):this,uOt(e)&&(pOt(e)||(e=hOt(e))),MY(t,\"__weakMapData__\",a1(\"c\",\"$weakMap$\"+fOt())),e&&dOt(e,function(r){cOt(r),t.set(r[0],r[1])}),t};Y9e&&(fF&&fF(cx,WeakMap),cx.prototype=Object.create(WeakMap.prototype,{constructor:a1(cx)}));Object.defineProperties(cx.prototype,{delete:a1(function(e){return SY.call(cF(e),this.__weakMapData__)?(delete e[this.__weakMapData__],!0):!1}),get:a1(function(e){if(SY.call(cF(e),this.__weakMapData__))return e[this.__weakMapData__]}),has:a1(function(e){return SY.call(cF(e),this.__weakMapData__)}),set:a1(function(e,t){return MY(cF(e),this.__weakMapData__,a1(\"c\",t)),this}),toString:a1(function(){return\"[object WeakMap]\"})});MY(cx.prototype,vOt,a1(\"c\",\"WeakMap\"))});var EY=ye((Qgr,$9e)=>{\"use strict\";$9e.exports=fFe()()?WeakMap:J9e()});var eqe=ye((emr,Q9e)=>{\"use strict\";Q9e.exports=function(e,t,r){if(typeof Array.prototype.findIndex==\"function\")return e.findIndex(t,r);if(typeof t!=\"function\")throw new TypeError(\"predicate must be a function\");var n=Object(e),i=n.length;if(i===0)return-1;for(var a=0;a<i;a++)if(t.call(r,n[a],a,n))return a;return-1}});var LY=ye((tmr,iqe)=>{\"use strict\";var hF=$_(),mOt=j2(),CY=bh(),yOt=Zm(),_Ot=W2(),tqe=sFe(),xOt=uFe(),{float32:bOt,fract32:kY}=Xz(),wOt=EY(),rqe=Q5(),TOt=eqe(),AOt=`\n", - "precision highp float;\n", - "\n", - "attribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\n", - "attribute vec4 color;\n", - "attribute float lineEnd, lineTop;\n", - "\n", - "uniform vec2 scale, scaleFract, translate, translateFract;\n", - "uniform float thickness, pixelRatio, id, depth;\n", - "uniform vec4 viewport;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec2 tangent;\n", - "\n", - "vec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n", - "\t// the order is important\n", - "\treturn position * scale + translate\n", - " + positionFract * scale + translateFract\n", - " + position * scaleFract\n", - " + positionFract * scaleFract;\n", - "}\n", - "\n", - "void main() {\n", - "\tfloat lineStart = 1. - lineEnd;\n", - "\tfloat lineOffset = lineTop * 2. - 1.;\n", - "\n", - "\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n", - "\ttangent = normalize(diff * scale * viewport.zw);\n", - "\tvec2 normal = vec2(-tangent.y, tangent.x);\n", - "\n", - "\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\n", - "\t\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\n", - "\n", - "\t\t+ thickness * normal * .5 * lineOffset / viewport.zw;\n", - "\n", - "\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n", - "\n", - "\tfragColor = color / 255.;\n", - "}\n", - "`,SOt=`\n", - "precision highp float;\n", - "\n", - "uniform float dashLength, pixelRatio, thickness, opacity, id;\n", - "uniform sampler2D dashTexture;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec2 tangent;\n", - "\n", - "void main() {\n", - "\tfloat alpha = 1.;\n", - "\n", - "\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\n", - "\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\n", - "\n", - "\tgl_FragColor = fragColor;\n", - "\tgl_FragColor.a *= alpha * opacity * dash;\n", - "}\n", - "`,MOt=`\n", - "precision highp float;\n", - "\n", - "attribute vec2 position, positionFract;\n", - "\n", - "uniform vec4 color;\n", - "uniform vec2 scale, scaleFract, translate, translateFract;\n", - "uniform float pixelRatio, id;\n", - "uniform vec4 viewport;\n", - "uniform float opacity;\n", - "\n", - "varying vec4 fragColor;\n", - "\n", - "const float MAX_LINES = 256.;\n", - "\n", - "void 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", - "`,EOt=`\n", - "precision highp float;\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - "\tgl_FragColor = fragColor;\n", - "}\n", - "`,kOt=`\n", - "precision highp float;\n", - "\n", - "attribute vec2 aCoord, bCoord, nextCoord, prevCoord;\n", - "attribute vec4 aColor, bColor;\n", - "attribute float lineEnd, lineTop;\n", - "\n", - "uniform vec2 scale, translate;\n", - "uniform float thickness, pixelRatio, id, depth;\n", - "uniform vec4 viewport;\n", - "uniform float miterLimit, miterMode;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec4 startCutoff, endCutoff;\n", - "varying vec2 tangent;\n", - "varying vec2 startCoord, endCoord;\n", - "varying float enableStartMiter, enableEndMiter;\n", - "\n", - "const float REVERSE_THRESHOLD = -.875;\n", - "const float MIN_DIFF = 1e-6;\n", - "\n", - "// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\n", - "// TODO: precalculate dot products, normalize things beforehead etc.\n", - "// TODO: refactor to rectangular algorithm\n", - "\n", - "float 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", - "\n", - "bool isNaN( float val ){\n", - " return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\n", - "}\n", - "\n", - "void main() {\n", - "\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n", - "\n", - " vec2 adjustedScale;\n", - " adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x;\n", - " adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y;\n", - "\n", - " vec2 scaleRatio = adjustedScale * viewport.zw;\n", - "\tvec2 normalWidth = thickness / scaleRatio;\n", - "\n", - "\tfloat lineStart = 1. - lineEnd;\n", - "\tfloat lineBot = 1. - lineTop;\n", - "\n", - "\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\n", - "\n", - "\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\n", - "\n", - "\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\n", - "\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\n", - "\n", - "\n", - "\tvec2 prevDiff = aCoord - prevCoord;\n", - "\tvec2 currDiff = bCoord - aCoord;\n", - "\tvec2 nextDiff = nextCoord - bCoord;\n", - "\n", - "\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\n", - "\tvec2 currTangent = normalize(currDiff * scaleRatio);\n", - "\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\n", - "\n", - "\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\n", - "\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\n", - "\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\n", - "\n", - "\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\n", - "\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\n", - "\n", - "\t// collapsed/unidirectional segment cases\n", - "\t// FIXME: there should be more elegant solution\n", - "\tvec2 prevTanDiff = abs(prevTangent - currTangent);\n", - "\tvec2 nextTanDiff = abs(nextTangent - currTangent);\n", - "\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\n", - "\t\tstartJoinDirection = currNormal;\n", - "\t}\n", - "\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\n", - "\t\tendJoinDirection = currNormal;\n", - "\t}\n", - "\tif (aCoord == bCoord) {\n", - "\t\tendJoinDirection = startJoinDirection;\n", - "\t\tcurrNormal = prevNormal;\n", - "\t\tcurrTangent = prevTangent;\n", - "\t}\n", - "\n", - "\ttangent = currTangent;\n", - "\n", - "\t//calculate join shifts relative to normals\n", - "\tfloat startJoinShift = dot(currNormal, startJoinDirection);\n", - "\tfloat endJoinShift = dot(currNormal, endJoinDirection);\n", - "\n", - "\tfloat startMiterRatio = abs(1. / startJoinShift);\n", - "\tfloat endMiterRatio = abs(1. / endJoinShift);\n", - "\n", - "\tvec2 startJoin = startJoinDirection * startMiterRatio;\n", - "\tvec2 endJoin = endJoinDirection * endMiterRatio;\n", - "\n", - "\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\n", - "\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\n", - "\tstartBotJoin = -startTopJoin;\n", - "\n", - "\tendTopJoin = sign(endJoinShift) * endJoin * .5;\n", - "\tendBotJoin = -endTopJoin;\n", - "\n", - "\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\n", - "\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\n", - "\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\n", - "\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\n", - "\n", - "\t//miter anti-clipping\n", - "\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\n", - "\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\n", - "\n", - "\t//prevent close to reverse direction switch\n", - "\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) < length(normalWidth * currNormal);\n", - "\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) < length(normalWidth * currNormal);\n", - "\n", - "\tif (prevReverse) {\n", - "\t\t//make join rectangular\n", - "\t\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\n", - "\t\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\n", - "\t\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n", - "\t\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n", - "\t}\n", - "\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\n", - "\t\t//handle miter clipping\n", - "\t\tbTopCoord -= normalWidth * endTopJoin;\n", - "\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n", - "\t}\n", - "\n", - "\tif (nextReverse) {\n", - "\t\t//make join rectangular\n", - "\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n", - "\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n", - "\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n", - "\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n", - "\t}\n", - "\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n", - "\t\t//handle miter clipping\n", - "\t\taBotCoord -= normalWidth * startBotJoin;\n", - "\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n", - "\t}\n", - "\n", - "\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n", - "\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n", - "\n", - "\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n", - "\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n", - "\n", - "\t//position is normalized 0..1 coord on the screen\n", - "\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n", - "\n", - "\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n", - "\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n", - "\n", - "\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n", - "\n", - "\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n", - "\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n", - "\n", - "\t//bevel miter cutoffs\n", - "\tif (miterMode == 1.) {\n", - "\t\tif (enableStartMiter == 1.) {\n", - "\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n", - "\t\t\tstartCutoff = vec4(aCoord, aCoord);\n", - "\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n", - "\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", - "\t\t\tstartCutoff += viewport.xyxy;\n", - "\t\t\tstartCutoff += startMiterWidth.xyxy;\n", - "\t\t}\n", - "\n", - "\t\tif (enableEndMiter == 1.) {\n", - "\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n", - "\t\t\tendCutoff = vec4(bCoord, bCoord);\n", - "\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n", - "\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", - "\t\t\tendCutoff += viewport.xyxy;\n", - "\t\t\tendCutoff += endMiterWidth.xyxy;\n", - "\t\t}\n", - "\t}\n", - "\n", - "\t//round miter cutoffs\n", - "\telse if (miterMode == 2.) {\n", - "\t\tif (enableStartMiter == 1.) {\n", - "\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n", - "\t\t\tstartCutoff = vec4(aCoord, aCoord);\n", - "\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n", - "\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", - "\t\t\tstartCutoff += viewport.xyxy;\n", - "\t\t\tstartCutoff += startMiterWidth.xyxy;\n", - "\t\t}\n", - "\n", - "\t\tif (enableEndMiter == 1.) {\n", - "\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n", - "\t\t\tendCutoff = vec4(bCoord, bCoord);\n", - "\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n", - "\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", - "\t\t\tendCutoff += viewport.xyxy;\n", - "\t\t\tendCutoff += endMiterWidth.xyxy;\n", - "\t\t}\n", - "\t}\n", - "}\n", - "`,COt=`\n", - "precision highp float;\n", - "\n", - "uniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\n", - "uniform sampler2D dashTexture;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec2 tangent;\n", - "varying vec4 startCutoff, endCutoff;\n", - "varying vec2 startCoord, endCoord;\n", - "varying float enableStartMiter, enableEndMiter;\n", - "\n", - "float 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", - "\n", - "void 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", - "`;iqe.exports=uc;function uc(e,t){if(!(this instanceof uc))return new uc(e,t);if(typeof e==\"function\"?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),e=t.regl,!e.hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");this.gl=e._gl,this.regl=e,this.passes=[],this.shaders=uc.shaders.has(e)?uc.shaders.get(e):uc.shaders.set(e,uc.createShaders(e)).get(e),this.update(t)}uc.dashMult=2;uc.maxPatternLength=256;uc.precisionThreshold=3e6;uc.maxPoints=1e4;uc.maxLines=2048;uc.shaders=new wOt;uc.createShaders=function(e){let t=e.buffer({usage:\"static\",type:\"float\",data:[0,1,0,0,1,1,1,0]}),r={primitive:\"triangle strip\",instances:e.prop(\"count\"),count:4,offset:0,uniforms:{miterMode:(o,s)=>s.join===\"round\"?2:1,miterLimit:e.prop(\"miterLimit\"),scale:e.prop(\"scale\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),translate:e.prop(\"translate\"),thickness:e.prop(\"thickness\"),dashTexture:e.prop(\"dashTexture\"),opacity:e.prop(\"opacity\"),pixelRatio:e.context(\"pixelRatio\"),id:e.prop(\"id\"),dashLength:e.prop(\"dashLength\"),viewport:(o,s)=>[s.viewport.x,s.viewport.y,o.viewportWidth,o.viewportHeight],depth:e.prop(\"depth\")},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:(o,s)=>!s.overlay},stencil:{enable:!1},scissor:{enable:!0,box:e.prop(\"viewport\")},viewport:e.prop(\"viewport\")},n=e(CY({vert:AOt,frag:SOt,attributes:{lineEnd:{buffer:t,divisor:0,stride:8,offset:0},lineTop:{buffer:t,divisor:0,stride:8,offset:4},aCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:16,divisor:1},color:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1}}},r)),i;try{i=e(CY({cull:{enable:!0,face:\"back\"},vert:kOt,frag:COt,attributes:{lineEnd:{buffer:t,divisor:0,stride:8,offset:0},lineTop:{buffer:t,divisor:0,stride:8,offset:4},aColor:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1},bColor:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:4,divisor:1},prevCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:0,divisor:1},aCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},nextCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:24,divisor:1}}},r))}catch(o){i=n}return{fill:e({primitive:\"triangle\",elements:(o,s)=>s.triangles,offset:0,vert:MOt,frag:EOt,uniforms:{scale:e.prop(\"scale\"),color:e.prop(\"fill\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),translate:e.prop(\"translate\"),opacity:e.prop(\"opacity\"),pixelRatio:e.context(\"pixelRatio\"),id:e.prop(\"id\"),viewport:(o,s)=>[s.viewport.x,s.viewport.y,o.viewportWidth,o.viewportHeight]},attributes:{position:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8},positionFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:8}},blend:r.blend,depth:{enable:!1},scissor:r.scissor,stencil:r.stencil,viewport:r.viewport}),rect:n,miter:i}};uc.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};uc.prototype.render=function(...e){e.length&&this.update(...e),this.draw()};uc.prototype.draw=function(...e){return(e.length?e:this.passes).forEach((t,r)=>{if(t&&Array.isArray(t))return this.draw(...t);typeof t==\"number\"&&(t=this.passes[t]),t&&t.count>1&&t.opacity&&(this.regl._refresh(),t.fill&&t.triangles&&t.triangles.length>2&&this.shaders.fill(t),t.thickness&&(t.scale[0]*t.viewport.width>uc.precisionThreshold||t.scale[1]*t.viewport.height>uc.precisionThreshold?this.shaders.rect(t):t.join===\"rect\"||!t.join&&(t.thickness<=2||t.count>=uc.maxPoints)?this.shaders.rect(t):this.shaders.miter(t)))}),this};uc.prototype.update=function(e){if(!e)return;e.length!=null?typeof e[0]==\"number\"&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);let{regl:t,gl:r}=this;if(e.forEach((i,a)=>{let o=this.passes[a];if(i!==void 0){if(i===null){this.passes[a]=null;return}if(typeof i[0]==\"number\"&&(i={positions:i}),i=yOt(i,{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\"}),o||(this.passes[a]=o={id:a,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:t.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:\"linear\",min:\"linear\"}),colorBuffer:t.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array}),positionBuffer:t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),positionFractBuffer:t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array})},i=CY({},uc.defaults,i)),i.thickness!=null&&(o.thickness=parseFloat(i.thickness)),i.opacity!=null&&(o.opacity=parseFloat(i.opacity)),i.miterLimit!=null&&(o.miterLimit=parseFloat(i.miterLimit)),i.overlay!=null&&(o.overlay=!!i.overlay,a<uc.maxLines&&(o.depth=2*(uc.maxLines-1-a%uc.maxLines)/uc.maxLines-1)),i.join!=null&&(o.join=i.join),i.hole!=null&&(o.hole=i.hole),i.fill!=null&&(o.fill=i.fill?hF(i.fill,\"uint8\"):null),i.viewport!=null&&(o.viewport=rqe(i.viewport)),o.viewport||(o.viewport=rqe([r.drawingBufferWidth,r.drawingBufferHeight])),i.close!=null&&(o.close=i.close),i.positions===null&&(i.positions=[]),i.positions){let u,c;if(i.positions.x&&i.positions.y){let v=i.positions.x,x=i.positions.y;c=o.count=Math.max(v.length,x.length),u=new Float64Array(c*2);for(let b=0;b<c;b++)u[b*2]=v[b],u[b*2+1]=x[b]}else u=_Ot(i.positions,\"float64\"),c=o.count=Math.floor(u.length/2);let f=o.bounds=mOt(u,2);if(o.fill){let v=[],x={},b=0;for(let p=0,E=0,k=o.count;p<k;p++){let A=u[p*2],L=u[p*2+1];isNaN(A)||isNaN(L)||A==null||L==null?(A=u[b*2],L=u[b*2+1],x[p]=b):b=p,v[E++]=A,v[E++]=L}if(i.splitNull){o.count-1 in x||(x[o.count]=o.count-1);let p=Object.keys(x).map(Number).sort((L,_)=>L-_),E=[],k=0,A=o.hole!=null?o.hole[0]:null;if(A!=null){let L=TOt(p,_=>_>=A);p=p.slice(0,L),p.push(A)}for(let L=0;L<p.length;L++){let _=v.slice(k*2,p[L]*2).concat(A?v.slice(A*2):[]),C=(o.hole||[]).map(g=>g-A+(p[L]-k)),M=tqe(_,C);M=M.map(g=>g+k+(g+k<p[L]?0:A-p[L])),E.push(...M),k=p[L]+1}for(let L=0,_=E.length;L<_;L++)x[E[L]]!=null&&(E[L]=x[E[L]]);o.triangles=E}else{let p=tqe(v,o.hole||[]);for(let E=0,k=p.length;E<k;E++)x[p[E]]!=null&&(p[E]=x[p[E]]);o.triangles=p}}let h=new Float64Array(u);xOt(h,2,f);let d=new Float64Array(c*2+6);o.close?u[0]===u[c*2-2]&&u[1]===u[c*2-1]?(d[0]=h[c*2-4],d[1]=h[c*2-3]):(d[0]=h[c*2-2],d[1]=h[c*2-1]):(d[0]=h[0],d[1]=h[1]),d.set(h,2),o.close?u[0]===u[c*2-2]&&u[1]===u[c*2-1]?(d[c*2+2]=h[2],d[c*2+3]=h[3],o.count-=1):(d[c*2+2]=h[0],d[c*2+3]=h[1],d[c*2+4]=h[2],d[c*2+5]=h[3]):(d[c*2+2]=h[c*2-2],d[c*2+3]=h[c*2-1],d[c*2+4]=h[c*2-2],d[c*2+5]=h[c*2-1]);var s=bOt(d);o.positionBuffer(s);var l=kY(d,s);o.positionFractBuffer(l)}if(i.range?o.range=i.range:o.range||(o.range=o.bounds),(i.range||i.positions)&&o.count){let u=o.bounds,c=u[2]-u[0],f=u[3]-u[1],h=o.range[2]-o.range[0],d=o.range[3]-o.range[1];o.scale=[c/h,f/d],o.translate=[-o.range[0]/h+u[0]/h||0,-o.range[1]/d+u[1]/d||0],o.scaleFract=kY(o.scale),o.translateFract=kY(o.translate)}if(i.dashes){let u=0,c;if(!i.dashes||i.dashes.length<2)u=1,c=new Uint8Array([255,255,255,255,255,255,255,255]);else{u=0;for(let d=0;d<i.dashes.length;++d)u+=i.dashes[d];c=new Uint8Array(u*uc.dashMult);let f=0,h=255;for(let d=0;d<2;d++)for(let v=0;v<i.dashes.length;++v){for(let x=0,b=i.dashes[v]*uc.dashMult*.5;x<b;++x)c[f++]=h;h^=255}}o.dashLength=u,o.dashTexture({channels:1,data:c,width:c.length,height:1,mag:\"linear\",min:\"linear\"},0,0)}if(i.color){let u=o.count,c=i.color;c||(c=\"transparent\");let f=new Uint8Array(u*4+4);if(!Array.isArray(c)||typeof c[0]==\"number\"){let h=hF(c,\"uint8\");for(let d=0;d<u+1;d++)f.set(h,d*4)}else{for(let h=0;h<u;h++){let d=hF(c[h],\"uint8\");f.set(d,h*4)}f.set(hF(c[0],\"uint8\"),u*4)}o.colorBuffer({usage:\"dynamic\",type:\"uint8\",data:f})}}}),e.length<this.passes.length){for(let i=e.length;i<this.passes.length;i++){let a=this.passes[i];a&&(a.colorBuffer.destroy(),a.positionBuffer.destroy(),a.dashTexture.destroy())}this.passes.length=e.length}let n=[];for(let i=0;i<this.passes.length;i++)this.passes[i]!==null&&n.push(this.passes[i]);return this.passes=n,this};uc.prototype.destroy=function(){return this.passes.forEach(e=>{e.colorBuffer.destroy(),e.positionBuffer.destroy(),e.dashTexture.destroy()}),this.passes.length=0,this}});var lqe=ye((rmr,sqe)=>{\"use strict\";var LOt=j2(),POt=$_(),IOt=JX(),ROt=Zm(),nqe=bh(),aqe=W2(),{float32:DOt,fract32:PY}=Xz();sqe.exports=zOt;var oqe=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]];function zOt(e,t){if(typeof e==\"function\"?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),e=t.regl,!e.hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");let r=e._gl,n,i,a,o,s,l,u={color:\"black\",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},c=[];return o=e.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array(0)}),i=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),a=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),s=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),l=e.buffer({usage:\"static\",type:\"float\",data:oqe}),v(t),n=e({vert:`\n", - "\t\tprecision highp float;\n", - "\n", - "\t\tattribute vec2 position, positionFract;\n", - "\t\tattribute vec4 error;\n", - "\t\tattribute vec4 color;\n", - "\n", - "\t\tattribute vec2 direction, lineOffset, capOffset;\n", - "\n", - "\t\tuniform vec4 viewport;\n", - "\t\tuniform float lineWidth, capSize;\n", - "\t\tuniform vec2 scale, scaleFract, translate, translateFract;\n", - "\n", - "\t\tvarying vec4 fragColor;\n", - "\n", - "\t\tvoid main() {\n", - "\t\t\tfragColor = color / 255.;\n", - "\n", - "\t\t\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\n", - "\n", - "\t\t\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\n", - "\n", - "\t\t\tvec2 position = position + dxy;\n", - "\n", - "\t\t\tvec2 pos = (position + translate) * scale\n", - "\t\t\t\t+ (positionFract + translateFract) * scale\n", - "\t\t\t\t+ (position + translate) * scaleFract\n", - "\t\t\t\t+ (positionFract + translateFract) * scaleFract;\n", - "\n", - "\t\t\tpos += pixelOffset / viewport.zw;\n", - "\n", - "\t\t\tgl_Position = vec4(pos * 2. - 1., 0, 1);\n", - "\t\t}\n", - "\t\t`,frag:`\n", - "\t\tprecision highp float;\n", - "\n", - "\t\tvarying vec4 fragColor;\n", - "\n", - "\t\tuniform float opacity;\n", - "\n", - "\t\tvoid main() {\n", - "\t\t\tgl_FragColor = fragColor;\n", - "\t\t\tgl_FragColor.a *= opacity;\n", - "\t\t}\n", - "\t\t`,uniforms:{range:e.prop(\"range\"),lineWidth:e.prop(\"lineWidth\"),capSize:e.prop(\"capSize\"),opacity:e.prop(\"opacity\"),scale:e.prop(\"scale\"),translate:e.prop(\"translate\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),viewport:(b,p)=>[p.viewport.x,p.viewport.y,b.viewportWidth,b.viewportHeight]},attributes:{color:{buffer:o,offset:(b,p)=>p.offset*4,divisor:1},position:{buffer:i,offset:(b,p)=>p.offset*8,divisor:1},positionFract:{buffer:a,offset:(b,p)=>p.offset*8,divisor:1},error:{buffer:s,offset:(b,p)=>p.offset*16,divisor:1},direction:{buffer:l,stride:24,offset:0},lineOffset:{buffer:l,stride:24,offset:8},capOffset:{buffer:l,stride:24,offset:16}},primitive:\"triangles\",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:!1},scissor:{enable:!0,box:e.prop(\"viewport\")},viewport:e.prop(\"viewport\"),stencil:!1,instances:e.prop(\"count\"),count:oqe.length}),nqe(f,{update:v,draw:h,destroy:x,regl:e,gl:r,canvas:r.canvas,groups:c}),f;function f(b){b?v(b):b===null&&x(),h()}function h(b){if(typeof b==\"number\")return d(b);b&&!Array.isArray(b)&&(b=[b]),e._refresh(),c.forEach((p,E)=>{if(p){if(b&&(b[E]?p.draw=!0:p.draw=!1),!p.draw){p.draw=!0;return}d(E)}})}function d(b){typeof b==\"number\"&&(b=c[b]),b!=null&&b&&b.count&&b.color&&b.opacity&&b.positions&&b.positions.length>1&&(b.scaleRatio=[b.scale[0]*b.viewport.width,b.scale[1]*b.viewport.height],n(b),b.after&&b.after(b))}function v(b){if(!b)return;b.length!=null?typeof b[0]==\"number\"&&(b=[{positions:b}]):Array.isArray(b)||(b=[b]);let p=0,E=0;if(f.groups=c=b.map((L,_)=>{let C=c[_];if(L)typeof L==\"function\"?L={after:L}:typeof L[0]==\"number\"&&(L={positions:L});else return C;return L=ROt(L,{color:\"color colors fill\",capSize:\"capSize cap capsize cap-size\",lineWidth:\"lineWidth line-width width line thickness\",opacity:\"opacity alpha\",range:\"range dataBox\",viewport:\"viewport viewBox\",errors:\"errors error\",positions:\"positions position data points\"}),C||(c[_]=C={id:_,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},L=nqe({},u,L)),IOt(C,L,[{lineWidth:M=>+M*.5,capSize:M=>+M*.5,opacity:parseFloat,errors:M=>(M=aqe(M),E+=M.length,M),positions:(M,g)=>(M=aqe(M,\"float64\"),g.count=Math.floor(M.length/2),g.bounds=LOt(M,2),g.offset=p,p+=g.count,M)},{color:(M,g)=>{let P=g.count;if(M||(M=\"transparent\"),!Array.isArray(M)||typeof M[0]==\"number\"){let F=M;M=Array(P);for(let q=0;q<P;q++)M[q]=F}if(M.length<P)throw Error(\"Not enough colors\");let T=new Uint8Array(P*4);for(let F=0;F<P;F++){let q=POt(M[F],\"uint8\");T.set(q,F*4)}return T},range:(M,g,P)=>{let T=g.bounds;return M||(M=T),g.scale=[1/(M[2]-M[0]),1/(M[3]-M[1])],g.translate=[-M[0],-M[1]],g.scaleFract=PY(g.scale),g.translateFract=PY(g.translate),M},viewport:M=>{let g;return Array.isArray(M)?g={x:M[0],y:M[1],width:M[2]-M[0],height:M[3]-M[1]}:M?(g={x:M.x||M.left||0,y:M.y||M.top||0},M.right?g.width=M.right-g.x:g.width=M.w||M.width||0,M.bottom?g.height=M.bottom-g.y:g.height=M.h||M.height||0):g={x:0,y:0,width:r.drawingBufferWidth,height:r.drawingBufferHeight},g}}]),C}),p||E){let L=c.reduce((g,P,T)=>g+(P?P.count:0),0),_=new Float64Array(L*2),C=new Uint8Array(L*4),M=new Float32Array(L*4);c.forEach((g,P)=>{if(!g)return;let{positions:T,count:F,offset:q,color:V,errors:H}=g;F&&(C.set(V,q*4),M.set(H,q*4),_.set(T,q*2))});var k=DOt(_);i(k);var A=PY(_,k);a(A),o(C),s(M)}}function x(){i.destroy(),a.destroy(),o.destroy(),s.destroy(),l.destroy()}}});var fqe=ye((imr,cqe)=>{var uqe=/[\\'\\\"]/;cqe.exports=function(t){return t?(uqe.test(t.charAt(0))&&(t=t.substr(1)),uqe.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):\"\"}});var IY=ye(()=>{});var RY=ye(()=>{});var DY=ye(()=>{});var zY=ye(()=>{});var FY=ye(()=>{});var pqe=ye((vmr,vqe)=>{\"use strict\";function hqe(e,t){if(typeof e!=\"string\")return[e];var r=[e];typeof t==\"string\"||Array.isArray(t)?t={brackets:t}:t||(t={});var n=t.brackets?Array.isArray(t.brackets)?t.brackets:[t.brackets]:[\"{}\",\"[]\",\"()\"],i=t.escape||\"___\",a=!!t.flat;n.forEach(function(l){var u=new RegExp([\"\\\\\",l[0],\"[^\\\\\",l[0],\"\\\\\",l[1],\"]*\\\\\",l[1]].join(\"\")),c=[];function f(h,d,v){var x=r.push(h.slice(l[0].length,-l[1].length))-1;return c.push(x),i+x+i}r.forEach(function(h,d){for(var v,x=0;h!=v;)if(v=h,h=h.replace(u,f),x++>1e4)throw Error(\"References have circular dependency. Please, check them.\");r[d]=h}),c=c.reverse(),r=r.map(function(h){return c.forEach(function(d){h=h.replace(new RegExp(\"(\\\\\"+i+d+\"\\\\\"+i+\")\",\"g\"),l[0]+\"$1\"+l[1])}),h})});var o=new RegExp(\"\\\\\"+i+\"([0-9]+)\\\\\"+i);function s(l,u,c){for(var f=[],h,d=0;h=o.exec(l);){if(d++>1e4)throw Error(\"Circular references in parenthesis\");f.push(l.slice(0,h.index)),f.push(s(u[h[1]],u)),l=l.slice(h.index+h[0].length)}return f.push(l),f}return a?r:s(r[0],r)}function dqe(e,t){if(t&&t.flat){var r=t&&t.escape||\"___\",n=e[0],i;if(!n)return\"\";for(var a=new RegExp(\"\\\\\"+r+\"([0-9]+)\\\\\"+r),o=0;n!=i;){if(o++>1e4)throw Error(\"Circular references in \"+e);i=n,n=n.replace(a,s)}return n}return e.reduce(function l(u,c){return Array.isArray(c)&&(c=c.reduce(l,\"\")),u+c},\"\");function s(l,u){if(e[u]==null)throw Error(\"Reference \"+u+\"is undefined\");return e[u]}}function qY(e,t){return Array.isArray(e)?dqe(e,t):hqe(e,t)}qY.parse=hqe;qY.stringify=dqe;vqe.exports=qY});var yqe=ye((pmr,mqe)=>{\"use strict\";var gqe=pqe();mqe.exports=function(t,r,n){if(t==null)throw Error(\"First argument should be a string\");if(r==null)throw Error(\"Separator should be a string or a RegExp\");n?(typeof n==\"string\"||Array.isArray(n))&&(n={ignore:n}):n={},n.escape==null&&(n.escape=!0),n.ignore==null?n.ignore=[\"[]\",\"()\",\"{}\",\"<>\",'\"\"',\"''\",\"``\",\"\\u201C\\u201D\",\"\\xAB\\xBB\"]:(typeof n.ignore==\"string\"&&(n.ignore=[n.ignore]),n.ignore=n.ignore.map(function(f){return f.length===1&&(f=f+f),f}));var i=gqe.parse(t,{flat:!0,brackets:n.ignore}),a=i[0],o=a.split(r);if(n.escape){for(var s=[],l=0;l<o.length;l++){var u=o[l],c=o[l+1];u[u.length-1]===\"\\\\\"&&u[u.length-2]!==\"\\\\\"?(s.push(u+r+c),l++):s.push(u)}o=s}for(var l=0;l<o.length;l++)i[0]=o[l],o[l]=gqe.stringify(i,{flat:!0});return o}});var _qe=ye(()=>{});var OY=ye((ymr,xqe)=>{\"use strict\";var FOt=_qe();xqe.exports={isSize:function(t){return/^[\\d\\.]/.test(t)||t.indexOf(\"/\")!==-1||FOt.indexOf(t)!==-1}}});var Aqe=ye((_mr,Tqe)=>{\"use strict\";var qOt=fqe(),OOt=IY(),BOt=RY(),NOt=DY(),UOt=zY(),VOt=FY(),BY=yqe(),HOt=OY().isSize;Tqe.exports=wqe;var gk=wqe.cache={};function wqe(e){if(typeof e!=\"string\")throw new Error(\"Font argument must be a string.\");if(gk[e])return gk[e];if(e===\"\")throw new Error(\"Cannot parse an empty string.\");if(BOt.indexOf(e)!==-1)return gk[e]={system:e};for(var t={style:\"normal\",variant:\"normal\",weight:\"normal\",stretch:\"normal\",lineHeight:\"normal\",size:\"1rem\",family:[\"serif\"]},r=BY(e,/\\s+/),n;n=r.shift();){if(OOt.indexOf(n)!==-1)return[\"style\",\"variant\",\"weight\",\"stretch\"].forEach(function(a){t[a]=n}),gk[e]=t;if(UOt.indexOf(n)!==-1){t.style=n;continue}if(n===\"normal\"||n===\"small-caps\"){t.variant=n;continue}if(VOt.indexOf(n)!==-1){t.stretch=n;continue}if(NOt.indexOf(n)!==-1){t.weight=n;continue}if(HOt(n)){var i=BY(n,\"/\");if(t.size=i[0],i[1]!=null?t.lineHeight=bqe(i[1]):r[0]===\"/\"&&(r.shift(),t.lineHeight=bqe(r.shift())),!r.length)throw new Error(\"Missing required font-family.\");return t.family=BY(r.join(\" \"),/\\s*,\\s*/).map(qOt),gk[e]=t}throw new Error(\"Unknown or unsupported font token: \"+n)}throw new Error(\"Missing required font-size.\")}function bqe(e){var t=parseFloat(e);return t.toString()===e?t:e}});var UY=ye((xmr,Sqe)=>{\"use strict\";var GOt=Zm(),jOt=OY().isSize,WOt=yk(IY()),ZOt=yk(RY()),XOt=yk(DY()),YOt=yk(zY()),KOt=yk(FY()),JOt={normal:1,\"small-caps\":1},$Ot={serif:1,\"sans-serif\":1,monospace:1,cursive:1,fantasy:1,\"system-ui\":1},NY={style:\"normal\",variant:\"normal\",weight:\"normal\",stretch:\"normal\",size:\"1rem\",lineHeight:\"normal\",family:\"serif\"};Sqe.exports=function(t){if(t=GOt(t,{style:\"style fontstyle fontStyle font-style slope distinction\",variant:\"variant font-variant fontVariant fontvariant var capitalization\",weight:\"weight w font-weight fontWeight fontweight\",stretch:\"stretch font-stretch fontStretch fontstretch width\",size:\"size s font-size fontSize fontsize height em emSize\",lineHeight:\"lh line-height lineHeight lineheight leading\",family:\"font family fontFamily font-family fontfamily type typeface face\",system:\"system reserved default global\"}),t.system)return t.system&&mk(t.system,ZOt),t.system;if(mk(t.style,YOt),mk(t.variant,JOt),mk(t.weight,XOt),mk(t.stretch,KOt),t.size==null&&(t.size=NY.size),typeof t.size==\"number\"&&(t.size+=\"px\"),!jOt)throw Error(\"Bad size value `\"+t.size+\"`\");t.family||(t.family=NY.family),Array.isArray(t.family)&&(t.family.length||(t.family=[NY.family]),t.family=t.family.map(function(n){return $Ot[n]?n:'\"'+n+'\"'}).join(\", \"));var r=[];return r.push(t.style),t.variant!==t.style&&r.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&r.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&r.push(t.stretch),r.push(t.size+(t.lineHeight==null||t.lineHeight===\"normal\"||t.lineHeight+\"\"==\"1\"?\"\":\"/\"+t.lineHeight)),r.push(t.family),r.filter(Boolean).join(\" \")};function mk(e,t){if(e&&!t[e]&&!WOt[e])throw Error(\"Unknown keyword `\"+e+\"`\");return e}function yk(e){for(var t={},r=0;r<e.length;r++)t[e[r]]=1;return t}});var Eqe=ye((bmr,Mqe)=>{\"use strict\";Mqe.exports={parse:Aqe(),stringify:UY()}});var GY=ye((VY,HY)=>{(function(e,t){typeof VY==\"object\"&&typeof HY!=\"undefined\"?HY.exports=t():e.createREGL=t()})(VY,function(){\"use strict\";var e=function(At,Er){for(var Wr=Object.keys(Er),wi=0;wi<Wr.length;++wi)At[Wr[wi]]=Er[Wr[wi]];return At},t=0,r=0,n=5,i=6;function a(At,Er){this.id=t++,this.type=At,this.data=Er}function o(At){return At.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')}function s(At){if(At.length===0)return[];var Er=At.charAt(0),Wr=At.charAt(At.length-1);if(At.length>1&&Er===Wr&&(Er==='\"'||Er===\"'\"))return['\"'+o(At.substr(1,At.length-2))+'\"'];var wi=/\\[(false|true|null|\\d+|'[^']*'|\"[^\"]*\")\\]/.exec(At);if(wi)return s(At.substr(0,wi.index)).concat(s(wi[1])).concat(s(At.substr(wi.index+wi[0].length)));var Ui=At.split(\".\");if(Ui.length===1)return['\"'+o(At)+'\"'];for(var Oi=[],Bi=0;Bi<Ui.length;++Bi)Oi=Oi.concat(s(Ui[Bi]));return Oi}function l(At){return\"[\"+s(At).join(\"][\")+\"]\"}function u(At,Er){return new a(At,l(Er+\"\"))}function c(At){return typeof At==\"function\"&&!At._reglType||At instanceof a}function f(At,Er){if(typeof At==\"function\")return new a(r,At);if(typeof At==\"number\"||typeof At==\"boolean\")return new a(n,At);if(Array.isArray(At))return new a(i,At.map(function(Wr,wi){return f(Wr,Er+\"[\"+wi+\"]\")}));if(At instanceof a)return At}var h={DynamicVariable:a,define:u,isDynamic:c,unbox:f,accessor:l},d={next:typeof requestAnimationFrame==\"function\"?function(At){return requestAnimationFrame(At)}:function(At){return setTimeout(At,16)},cancel:typeof cancelAnimationFrame==\"function\"?function(At){return cancelAnimationFrame(At)}:clearTimeout},v=typeof performance!=\"undefined\"&&performance.now?function(){return performance.now()}:function(){return+new Date};function x(){var At={\"\":0},Er=[\"\"];return{id:function(Wr){var wi=At[Wr];return wi||(wi=At[Wr]=Er.length,Er.push(Wr),wi)},str:function(Wr){return Er[Wr]}}}function b(At,Er,Wr){var wi=document.createElement(\"canvas\");e(wi.style,{border:0,margin:0,padding:0,top:0,left:0,width:\"100%\",height:\"100%\"}),At.appendChild(wi),At===document.body&&(wi.style.position=\"absolute\",e(At.style,{margin:0,padding:0}));function Ui(){var cn=window.innerWidth,On=window.innerHeight;if(At!==document.body){var Bn=wi.getBoundingClientRect();cn=Bn.right-Bn.left,On=Bn.bottom-Bn.top}wi.width=Wr*cn,wi.height=Wr*On}var Oi;At!==document.body&&typeof ResizeObserver==\"function\"?(Oi=new ResizeObserver(function(){setTimeout(Ui)}),Oi.observe(At)):window.addEventListener(\"resize\",Ui,!1);function Bi(){Oi?Oi.disconnect():window.removeEventListener(\"resize\",Ui),At.removeChild(wi)}return Ui(),{canvas:wi,onDestroy:Bi}}function p(At,Er){function Wr(wi){try{return At.getContext(wi,Er)}catch(Ui){return null}}return Wr(\"webgl\")||Wr(\"experimental-webgl\")||Wr(\"webgl-experimental\")}function E(At){return typeof At.nodeName==\"string\"&&typeof At.appendChild==\"function\"&&typeof At.getBoundingClientRect==\"function\"}function k(At){return typeof At.drawArrays==\"function\"||typeof At.drawElements==\"function\"}function A(At){return typeof At==\"string\"?At.split():At}function L(At){return typeof At==\"string\"?document.querySelector(At):At}function _(At){var Er=At||{},Wr,wi,Ui,Oi,Bi={},cn=[],On=[],Bn=typeof window==\"undefined\"?1:window.devicePixelRatio,yn=!1,to={},Rn=function(Ai){},Dn=function(){};if(typeof Er==\"string\"?Wr=document.querySelector(Er):typeof Er==\"object\"&&(E(Er)?Wr=Er:k(Er)?(Oi=Er,Ui=Oi.canvas):(\"gl\"in Er?Oi=Er.gl:\"canvas\"in Er?Ui=L(Er.canvas):\"container\"in Er&&(wi=L(Er.container)),\"attributes\"in Er&&(Bi=Er.attributes),\"extensions\"in Er&&(cn=A(Er.extensions)),\"optionalExtensions\"in Er&&(On=A(Er.optionalExtensions)),\"onDone\"in Er&&(Rn=Er.onDone),\"profile\"in Er&&(yn=!!Er.profile),\"pixelRatio\"in Er&&(Bn=+Er.pixelRatio),\"cachedCode\"in Er&&(to=Er.cachedCode))),Wr&&(Wr.nodeName.toLowerCase()===\"canvas\"?Ui=Wr:wi=Wr),!Oi){if(!Ui){var fn=b(wi||document.body,Rn,Bn);if(!fn)return null;Ui=fn.canvas,Dn=fn.onDestroy}Bi.premultipliedAlpha===void 0&&(Bi.premultipliedAlpha=!0),Oi=p(Ui,Bi)}return Oi?{gl:Oi,canvas:Ui,container:wi,extensions:cn,optionalExtensions:On,pixelRatio:Bn,profile:yn,cachedCode:to,onDone:Rn,onDestroy:Dn}:(Dn(),Rn(\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\"),null)}function C(At,Er){var Wr={};function wi(Bi){var cn=Bi.toLowerCase(),On;try{On=Wr[cn]=At.getExtension(cn)}catch(Bn){}return!!On}for(var Ui=0;Ui<Er.extensions.length;++Ui){var Oi=Er.extensions[Ui];if(!wi(Oi))return Er.onDestroy(),Er.onDone('\"'+Oi+'\" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return Er.optionalExtensions.forEach(wi),{extensions:Wr,restore:function(){Object.keys(Wr).forEach(function(Bi){if(Wr[Bi]&&!wi(Bi))throw new Error(\"(regl): error restoring extension \"+Bi)})}}}function M(At,Er){for(var Wr=Array(At),wi=0;wi<At;++wi)Wr[wi]=Er(wi);return Wr}var g=5120,P=5121,T=5122,F=5123,q=5124,V=5125,H=5126;function X(At){for(var Er=16;Er<=1<<28;Er*=16)if(At<=Er)return Er;return 0}function G(At){var Er,Wr;return Er=(At>65535)<<4,At>>>=Er,Wr=(At>255)<<3,At>>>=Wr,Er|=Wr,Wr=(At>15)<<2,At>>>=Wr,Er|=Wr,Wr=(At>3)<<1,At>>>=Wr,Er|=Wr,Er|At>>1}function N(){var At=M(8,function(){return[]});function Er(Oi){var Bi=X(Oi),cn=At[G(Bi)>>2];return cn.length>0?cn.pop():new ArrayBuffer(Bi)}function Wr(Oi){At[G(Oi.byteLength)>>2].push(Oi)}function wi(Oi,Bi){var cn=null;switch(Oi){case g:cn=new Int8Array(Er(Bi),0,Bi);break;case P:cn=new Uint8Array(Er(Bi),0,Bi);break;case T:cn=new Int16Array(Er(2*Bi),0,Bi);break;case F:cn=new Uint16Array(Er(2*Bi),0,Bi);break;case q:cn=new Int32Array(Er(4*Bi),0,Bi);break;case V:cn=new Uint32Array(Er(4*Bi),0,Bi);break;case H:cn=new Float32Array(Er(4*Bi),0,Bi);break;default:return null}return cn.length!==Bi?cn.subarray(0,Bi):cn}function Ui(Oi){Wr(Oi.buffer)}return{alloc:Er,free:Wr,allocType:wi,freeType:Ui}}var W=N();W.zero=N();var re=3408,ae=3410,_e=3411,Me=3412,ke=3413,ge=3414,ie=3415,Te=33901,Ee=33902,Ae=3379,ze=3386,Ce=34921,me=36347,Re=36348,ce=35661,Ge=35660,nt=34930,ct=36349,qt=34076,rt=34024,ot=7936,Rt=7937,kt=7938,Ct=35724,Yt=34047,xr=36063,er=34852,Ke=3553,xt=34067,bt=34069,Lt=33984,St=6408,Et=5126,dt=5121,Ht=36160,$t=36053,fr=36064,_r=16384,Br=function(At,Er){var Wr=1;Er.ext_texture_filter_anisotropic&&(Wr=At.getParameter(Yt));var wi=1,Ui=1;Er.webgl_draw_buffers&&(wi=At.getParameter(er),Ui=At.getParameter(xr));var Oi=!!Er.oes_texture_float;if(Oi){var Bi=At.createTexture();At.bindTexture(Ke,Bi),At.texImage2D(Ke,0,St,1,1,0,St,Et,null);var cn=At.createFramebuffer();if(At.bindFramebuffer(Ht,cn),At.framebufferTexture2D(Ht,fr,Ke,Bi,0),At.bindTexture(Ke,null),At.checkFramebufferStatus(Ht)!==$t)Oi=!1;else{At.viewport(0,0,1,1),At.clearColor(1,0,0,1),At.clear(_r);var On=W.allocType(Et,4);At.readPixels(0,0,1,1,St,Et,On),At.getError()?Oi=!1:(At.deleteFramebuffer(cn),At.deleteTexture(Bi),Oi=On[0]===1),W.freeType(On)}}var Bn=typeof navigator!=\"undefined\"&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),yn=!0;if(!Bn){var to=At.createTexture(),Rn=W.allocType(dt,36);At.activeTexture(Lt),At.bindTexture(xt,to),At.texImage2D(bt,0,St,3,3,0,St,dt,Rn),W.freeType(Rn),At.bindTexture(xt,null),At.deleteTexture(to),yn=!At.getError()}return{colorBits:[At.getParameter(ae),At.getParameter(_e),At.getParameter(Me),At.getParameter(ke)],depthBits:At.getParameter(ge),stencilBits:At.getParameter(ie),subpixelBits:At.getParameter(re),extensions:Object.keys(Er).filter(function(Dn){return!!Er[Dn]}),maxAnisotropic:Wr,maxDrawbuffers:wi,maxColorAttachments:Ui,pointSizeDims:At.getParameter(Te),lineWidthDims:At.getParameter(Ee),maxViewportDims:At.getParameter(ze),maxCombinedTextureUnits:At.getParameter(ce),maxCubeMapSize:At.getParameter(qt),maxRenderbufferSize:At.getParameter(rt),maxTextureUnits:At.getParameter(nt),maxTextureSize:At.getParameter(Ae),maxAttributes:At.getParameter(Ce),maxVertexUniforms:At.getParameter(me),maxVertexTextureUnits:At.getParameter(Ge),maxVaryingVectors:At.getParameter(Re),maxFragmentUniforms:At.getParameter(ct),glsl:At.getParameter(Ct),renderer:At.getParameter(Rt),vendor:At.getParameter(ot),version:At.getParameter(kt),readFloat:Oi,npotTextureCube:yn}},Or=function(At){return At instanceof Uint8Array||At instanceof Uint16Array||At instanceof Uint32Array||At instanceof Int8Array||At instanceof Int16Array||At instanceof Int32Array||At instanceof Float32Array||At instanceof Float64Array||At instanceof Uint8ClampedArray};function Nr(At){return!!At&&typeof At==\"object\"&&Array.isArray(At.shape)&&Array.isArray(At.stride)&&typeof At.offset==\"number\"&&At.shape.length===At.stride.length&&(Array.isArray(At.data)||Or(At.data))}var ut=function(At){return Object.keys(At).map(function(Er){return At[Er]})},Ne={shape:xe,flatten:Le};function Ye(At,Er,Wr){for(var wi=0;wi<Er;++wi)Wr[wi]=At[wi]}function Ve(At,Er,Wr,wi){for(var Ui=0,Oi=0;Oi<Er;++Oi)for(var Bi=At[Oi],cn=0;cn<Wr;++cn)wi[Ui++]=Bi[cn]}function Xe(At,Er,Wr,wi,Ui,Oi){for(var Bi=Oi,cn=0;cn<Er;++cn)for(var On=At[cn],Bn=0;Bn<Wr;++Bn)for(var yn=On[Bn],to=0;to<wi;++to)Ui[Bi++]=yn[to]}function ht(At,Er,Wr,wi,Ui){for(var Oi=1,Bi=Wr+1;Bi<Er.length;++Bi)Oi*=Er[Bi];var cn=Er[Wr];if(Er.length-Wr===4){var On=Er[Wr+1],Bn=Er[Wr+2],yn=Er[Wr+3];for(Bi=0;Bi<cn;++Bi)Xe(At[Bi],On,Bn,yn,wi,Ui),Ui+=Oi}else for(Bi=0;Bi<cn;++Bi)ht(At[Bi],Er,Wr+1,wi,Ui),Ui+=Oi}function Le(At,Er,Wr,wi){var Ui=1;if(Er.length)for(var Oi=0;Oi<Er.length;++Oi)Ui*=Er[Oi];else Ui=0;var Bi=wi||W.allocType(Wr,Ui);switch(Er.length){case 0:break;case 1:Ye(At,Er[0],Bi);break;case 2:Ve(At,Er[0],Er[1],Bi);break;case 3:Xe(At,Er[0],Er[1],Er[2],Bi,0);break;default:ht(At,Er,0,Bi,0)}return Bi}function xe(At){for(var Er=[],Wr=At;Wr.length;Wr=Wr[0])Er.push(Wr.length);return Er}var Se={\"[object Int8Array]\":5120,\"[object Int16Array]\":5122,\"[object Int32Array]\":5124,\"[object Uint8Array]\":5121,\"[object Uint8ClampedArray]\":5121,\"[object Uint16Array]\":5123,\"[object Uint32Array]\":5125,\"[object Float32Array]\":5126,\"[object Float64Array]\":5121,\"[object ArrayBuffer]\":5121},lt=5120,Gt=5122,Vt=5124,ar=5121,Qr=5123,ai=5125,jr=5126,ri=5126,bi={int8:lt,int16:Gt,int32:Vt,uint8:ar,uint16:Qr,uint32:ai,float:jr,float32:ri},nn=35048,Wi=35040,Ni={dynamic:nn,stream:Wi,static:35044},_n=Ne.flatten,$i=Ne.shape,zn=35044,Wn=35040,It=5121,ft=5126,jt=[];jt[5120]=1,jt[5122]=2,jt[5124]=4,jt[5121]=1,jt[5123]=2,jt[5125]=4,jt[5126]=4;function Zt(At){return Se[Object.prototype.toString.call(At)]|0}function yr(At,Er){for(var Wr=0;Wr<Er.length;++Wr)At[Wr]=Er[Wr]}function Fr(At,Er,Wr,wi,Ui,Oi,Bi){for(var cn=0,On=0;On<Wr;++On)for(var Bn=0;Bn<wi;++Bn)At[cn++]=Er[Ui*On+Oi*Bn+Bi]}function Zr(At,Er,Wr,wi){var Ui=0,Oi={};function Bi(Ai){this.id=Ui++,this.buffer=At.createBuffer(),this.type=Ai,this.usage=zn,this.byteLength=0,this.dimension=1,this.dtype=It,this.persistentData=null,Wr.profile&&(this.stats={size:0})}Bi.prototype.bind=function(){At.bindBuffer(this.type,this.buffer)},Bi.prototype.destroy=function(){Rn(this)};var cn=[];function On(Ai,ji){var Ln=cn.pop();return Ln||(Ln=new Bi(Ai)),Ln.bind(),to(Ln,ji,Wn,0,1,!1),Ln}function Bn(Ai){cn.push(Ai)}function yn(Ai,ji,Ln){Ai.byteLength=ji.byteLength,At.bufferData(Ai.type,ji,Ln)}function to(Ai,ji,Ln,Un,gn,ca){var Kn;if(Ai.usage=Ln,Array.isArray(ji)){if(Ai.dtype=Un||ft,ji.length>0){var Za;if(Array.isArray(ji[0])){Kn=$i(ji);for(var wn=1,vn=1;vn<Kn.length;++vn)wn*=Kn[vn];Ai.dimension=wn,Za=_n(ji,Kn,Ai.dtype),yn(Ai,Za,Ln),ca?Ai.persistentData=Za:W.freeType(Za)}else if(typeof ji[0]==\"number\"){Ai.dimension=gn;var Aa=W.allocType(Ai.dtype,ji.length);yr(Aa,ji),yn(Ai,Aa,Ln),ca?Ai.persistentData=Aa:W.freeType(Aa)}else Or(ji[0])&&(Ai.dimension=ji[0].length,Ai.dtype=Un||Zt(ji[0])||ft,Za=_n(ji,[ji.length,ji[0].length],Ai.dtype),yn(Ai,Za,Ln),ca?Ai.persistentData=Za:W.freeType(Za))}}else if(Or(ji))Ai.dtype=Un||Zt(ji),Ai.dimension=gn,yn(Ai,ji,Ln),ca&&(Ai.persistentData=new Uint8Array(new Uint8Array(ji.buffer)));else if(Nr(ji)){Kn=ji.shape;var aa=ji.stride,Xn=ji.offset,Vn=0,ma=0,ro=0,Ao=0;Kn.length===1?(Vn=Kn[0],ma=1,ro=aa[0],Ao=0):Kn.length===2&&(Vn=Kn[0],ma=Kn[1],ro=aa[0],Ao=aa[1]),Ai.dtype=Un||Zt(ji.data)||ft,Ai.dimension=ma;var Jn=W.allocType(Ai.dtype,Vn*ma);Fr(Jn,ji.data,Vn,ma,ro,Ao,Xn),yn(Ai,Jn,Ln),ca?Ai.persistentData=Jn:W.freeType(Jn)}else ji instanceof ArrayBuffer&&(Ai.dtype=It,Ai.dimension=gn,yn(Ai,ji,Ln),ca&&(Ai.persistentData=new Uint8Array(new Uint8Array(ji))))}function Rn(Ai){Er.bufferCount--,wi(Ai);var ji=Ai.buffer;At.deleteBuffer(ji),Ai.buffer=null,delete Oi[Ai.id]}function Dn(Ai,ji,Ln,Un){Er.bufferCount++;var gn=new Bi(ji);Oi[gn.id]=gn;function ca(wn){var vn=zn,Aa=null,aa=0,Xn=0,Vn=1;return Array.isArray(wn)||Or(wn)||Nr(wn)||wn instanceof ArrayBuffer?Aa=wn:typeof wn==\"number\"?aa=wn|0:wn&&(\"data\"in wn&&(Aa=wn.data),\"usage\"in wn&&(vn=Ni[wn.usage]),\"type\"in wn&&(Xn=bi[wn.type]),\"dimension\"in wn&&(Vn=wn.dimension|0),\"length\"in wn&&(aa=wn.length|0)),gn.bind(),Aa?to(gn,Aa,vn,Xn,Vn,Un):(aa&&At.bufferData(gn.type,aa,vn),gn.dtype=Xn||It,gn.usage=vn,gn.dimension=Vn,gn.byteLength=aa),Wr.profile&&(gn.stats.size=gn.byteLength*jt[gn.dtype]),ca}function Kn(wn,vn){At.bufferSubData(gn.type,vn,wn)}function Za(wn,vn){var Aa=(vn||0)|0,aa;if(gn.bind(),Or(wn)||wn instanceof ArrayBuffer)Kn(wn,Aa);else if(Array.isArray(wn)){if(wn.length>0){if(typeof wn[0]==\"number\"){var Xn=W.allocType(gn.dtype,wn.length);yr(Xn,wn),Kn(Xn,Aa),W.freeType(Xn)}else if(Array.isArray(wn[0])||Or(wn[0])){aa=$i(wn);var Vn=_n(wn,aa,gn.dtype);Kn(Vn,Aa),W.freeType(Vn)}}}else if(Nr(wn)){aa=wn.shape;var ma=wn.stride,ro=0,Ao=0,Jn=0,Oa=0;aa.length===1?(ro=aa[0],Ao=1,Jn=ma[0],Oa=0):aa.length===2&&(ro=aa[0],Ao=aa[1],Jn=ma[0],Oa=ma[1]);var _o=Array.isArray(wn.data)?gn.dtype:Zt(wn.data),Po=W.allocType(_o,ro*Ao);Fr(Po,wn.data,ro,Ao,Jn,Oa,wn.offset),Kn(Po,Aa),W.freeType(Po)}return ca}return Ln||ca(Ai),ca._reglType=\"buffer\",ca._buffer=gn,ca.subdata=Za,Wr.profile&&(ca.stats=gn.stats),ca.destroy=function(){Rn(gn)},ca}function fn(){ut(Oi).forEach(function(Ai){Ai.buffer=At.createBuffer(),At.bindBuffer(Ai.type,Ai.buffer),At.bufferData(Ai.type,Ai.persistentData||Ai.byteLength,Ai.usage)})}return Wr.profile&&(Er.getTotalBufferSize=function(){var Ai=0;return Object.keys(Oi).forEach(function(ji){Ai+=Oi[ji].stats.size}),Ai}),{create:Dn,createStream:On,destroyStream:Bn,clear:function(){ut(Oi).forEach(Rn),cn.forEach(Rn)},getBuffer:function(Ai){return Ai&&Ai._buffer instanceof Bi?Ai._buffer:null},restore:fn,_initBuffer:to}}var Vr=0,gi=0,Si=1,Mi=1,Pi=4,Gi=4,Ki={points:Vr,point:gi,lines:Si,line:Mi,triangles:Pi,triangle:Gi,\"line loop\":2,\"line strip\":3,\"triangle strip\":5,\"triangle fan\":6},ka=0,jn=1,la=4,Fa=5120,Ra=5121,jo=5122,oa=5123,Sn=5124,Ha=5125,oo=34963,xn=35040,_t=35044;function br(At,Er,Wr,wi){var Ui={},Oi=0,Bi={uint8:Ra,uint16:oa};Er.oes_element_index_uint&&(Bi.uint32=Ha);function cn(fn){this.id=Oi++,Ui[this.id]=this,this.buffer=fn,this.primType=la,this.vertCount=0,this.type=0}cn.prototype.bind=function(){this.buffer.bind()};var On=[];function Bn(fn){var Ai=On.pop();return Ai||(Ai=new cn(Wr.create(null,oo,!0,!1)._buffer)),to(Ai,fn,xn,-1,-1,0,0),Ai}function yn(fn){On.push(fn)}function to(fn,Ai,ji,Ln,Un,gn,ca){fn.buffer.bind();var Kn;if(Ai){var Za=ca;!ca&&(!Or(Ai)||Nr(Ai)&&!Or(Ai.data))&&(Za=Er.oes_element_index_uint?Ha:oa),Wr._initBuffer(fn.buffer,Ai,ji,Za,3)}else At.bufferData(oo,gn,ji),fn.buffer.dtype=Kn||Ra,fn.buffer.usage=ji,fn.buffer.dimension=3,fn.buffer.byteLength=gn;if(Kn=ca,!ca){switch(fn.buffer.dtype){case Ra:case Fa:Kn=Ra;break;case oa:case jo:Kn=oa;break;case Ha:case Sn:Kn=Ha;break;default:}fn.buffer.dtype=Kn}fn.type=Kn;var wn=Un;wn<0&&(wn=fn.buffer.byteLength,Kn===oa?wn>>=1:Kn===Ha&&(wn>>=2)),fn.vertCount=wn;var vn=Ln;if(Ln<0){vn=la;var Aa=fn.buffer.dimension;Aa===1&&(vn=ka),Aa===2&&(vn=jn),Aa===3&&(vn=la)}fn.primType=vn}function Rn(fn){wi.elementsCount--,delete Ui[fn.id],fn.buffer.destroy(),fn.buffer=null}function Dn(fn,Ai){var ji=Wr.create(null,oo,!0),Ln=new cn(ji._buffer);wi.elementsCount++;function Un(gn){if(!gn)ji(),Ln.primType=la,Ln.vertCount=0,Ln.type=Ra;else if(typeof gn==\"number\")ji(gn),Ln.primType=la,Ln.vertCount=gn|0,Ln.type=Ra;else{var ca=null,Kn=_t,Za=-1,wn=-1,vn=0,Aa=0;Array.isArray(gn)||Or(gn)||Nr(gn)?ca=gn:(\"data\"in gn&&(ca=gn.data),\"usage\"in gn&&(Kn=Ni[gn.usage]),\"primitive\"in gn&&(Za=Ki[gn.primitive]),\"count\"in gn&&(wn=gn.count|0),\"type\"in gn&&(Aa=Bi[gn.type]),\"length\"in gn?vn=gn.length|0:(vn=wn,Aa===oa||Aa===jo?vn*=2:(Aa===Ha||Aa===Sn)&&(vn*=4))),to(Ln,ca,Kn,Za,wn,vn,Aa)}return Un}return Un(fn),Un._reglType=\"elements\",Un._elements=Ln,Un.subdata=function(gn,ca){return ji.subdata(gn,ca),Un},Un.destroy=function(){Rn(Ln)},Un}return{create:Dn,createStream:Bn,destroyStream:yn,getElements:function(fn){return typeof fn==\"function\"&&fn._elements instanceof cn?fn._elements:null},clear:function(){ut(Ui).forEach(Rn)}}}var Hr=new Float32Array(1),ti=new Uint32Array(Hr.buffer),zi=5123;function Yi(At){for(var Er=W.allocType(zi,At.length),Wr=0;Wr<At.length;++Wr)if(isNaN(At[Wr]))Er[Wr]=65535;else if(At[Wr]===1/0)Er[Wr]=31744;else if(At[Wr]===-1/0)Er[Wr]=64512;else{Hr[0]=At[Wr];var wi=ti[0],Ui=wi>>>31<<15,Oi=(wi<<1>>>24)-127,Bi=wi>>13&1023;if(Oi<-24)Er[Wr]=Ui;else if(Oi<-14){var cn=-14-Oi;Er[Wr]=Ui+(Bi+1024>>cn)}else Oi>15?Er[Wr]=Ui+31744:Er[Wr]=Ui+(Oi+15<<10)+Bi}return Er}function an(At){return Array.isArray(At)||Or(At)}var hi=34467,Ji=3553,ua=34067,Fn=34069,Sa=6408,go=6406,Oo=6407,ho=6409,Mo=6410,xo=32854,zs=32855,ks=36194,Zs=32819,Xs=32820,wl=33635,os=34042,cl=6402,Cs=34041,ml=35904,Ys=35906,Hs=36193,Eo=33776,fs=33777,Ql=33778,Hu=33779,fc=35986,ms=35987,on=34798,fa=35840,Qu=35841,Rl=35842,vo=35843,Zl=36196,Ks=5121,Xl=5123,Ec=5125,Zn=5126,ko=10242,Co=10243,Tl=10497,uf=33071,So=33648,cf=10240,rh=10241,Al=9728,Hc=9729,eu=9984,Ls=9985,mu=9986,kc=9987,Of=33170,Gc=4352,vd=4353,Bf=4354,ss=34046,ff=3317,ih=37440,Vl=37441,Js=37443,hc=37444,Cc=33984,ws=[eu,mu,Ls,kc],$s=[0,ho,Mo,Oo,Sa],hs={};hs[ho]=hs[go]=hs[cl]=1,hs[Cs]=hs[Mo]=2,hs[Oo]=hs[ml]=3,hs[Sa]=hs[Ys]=4;function Ms(At){return\"[object \"+At+\"]\"}var dc=Ms(\"HTMLCanvasElement\"),Sl=Ms(\"OffscreenCanvas\"),ec=Ms(\"CanvasRenderingContext2D\"),Ps=Ms(\"ImageBitmap\"),ov=Ms(\"HTMLImageElement\"),wo=Ms(\"HTMLVideoElement\"),Od=Object.keys(Se).concat([dc,Sl,ec,Ps,ov,wo]),$o=[];$o[Ks]=1,$o[Zn]=4,$o[Hs]=2,$o[Xl]=2,$o[Ec]=4;var Ja=[];Ja[xo]=2,Ja[zs]=2,Ja[ks]=2,Ja[Cs]=4,Ja[Eo]=.5,Ja[fs]=.5,Ja[Ql]=1,Ja[Hu]=1,Ja[fc]=.5,Ja[ms]=1,Ja[on]=1,Ja[fa]=.5,Ja[Qu]=.25,Ja[Rl]=.5,Ja[vo]=.25,Ja[Zl]=.5;function Ef(At){return Array.isArray(At)&&(At.length===0||typeof At[0]==\"number\")}function tc(At){if(!Array.isArray(At))return!1;var Er=At.length;return!(Er===0||!an(At[0]))}function uu(At){return Object.prototype.toString.call(At)}function Mh(At){return uu(At)===dc}function jc(At){return uu(At)===Sl}function kf(At){return uu(At)===ec}function Ml(At){return uu(At)===Ps}function Yh(At){return uu(At)===ov}function Eh(At){return uu(At)===wo}function nh(At){if(!At)return!1;var Er=uu(At);return Od.indexOf(Er)>=0?!0:Ef(At)||tc(At)||Nr(At)}function hf(At){return Se[Object.prototype.toString.call(At)]|0}function kh(At,Er){var Wr=Er.length;switch(At.type){case Ks:case Xl:case Ec:case Zn:var wi=W.allocType(At.type,Wr);wi.set(Er),At.data=wi;break;case Hs:At.data=Yi(Er);break;default:}}function Kh(At,Er){return W.allocType(At.type===Hs?Zn:At.type,Er)}function rc(At,Er){At.type===Hs?(At.data=Yi(Er),W.freeType(Er)):At.data=Er}function ah(At,Er,Wr,wi,Ui,Oi){for(var Bi=At.width,cn=At.height,On=At.channels,Bn=Bi*cn*On,yn=Kh(At,Bn),to=0,Rn=0;Rn<cn;++Rn)for(var Dn=0;Dn<Bi;++Dn)for(var fn=0;fn<On;++fn)yn[to++]=Er[Wr*Dn+wi*Rn+Ui*fn+Oi];rc(At,yn)}function Wc(At,Er,Wr,wi,Ui,Oi){var Bi;if(typeof Ja[At]!=\"undefined\"?Bi=Ja[At]:Bi=hs[At]*$o[Er],Oi&&(Bi*=6),Ui){for(var cn=0,On=Wr;On>=1;)cn+=Bi*On*On,On/=2;return cn}else return Bi*Wr*wi}function df(At,Er,Wr,wi,Ui,Oi,Bi){var cn={\"don't care\":Gc,\"dont care\":Gc,nice:Bf,fast:vd},On={repeat:Tl,clamp:uf,mirror:So},Bn={nearest:Al,linear:Hc},yn=e({mipmap:kc,\"nearest mipmap nearest\":eu,\"linear mipmap nearest\":Ls,\"nearest mipmap linear\":mu,\"linear mipmap linear\":kc},Bn),to={none:0,browser:hc},Rn={uint8:Ks,rgba4:Zs,rgb565:wl,\"rgb5 a1\":Xs},Dn={alpha:go,luminance:ho,\"luminance alpha\":Mo,rgb:Oo,rgba:Sa,rgba4:xo,\"rgb5 a1\":zs,rgb565:ks},fn={};Er.ext_srgb&&(Dn.srgb=ml,Dn.srgba=Ys),Er.oes_texture_float&&(Rn.float32=Rn.float=Zn),Er.oes_texture_half_float&&(Rn.float16=Rn[\"half float\"]=Hs),Er.webgl_depth_texture&&(e(Dn,{depth:cl,\"depth stencil\":Cs}),e(Rn,{uint16:Xl,uint32:Ec,\"depth stencil\":os})),Er.webgl_compressed_texture_s3tc&&e(fn,{\"rgb s3tc dxt1\":Eo,\"rgba s3tc dxt1\":fs,\"rgba s3tc dxt3\":Ql,\"rgba s3tc dxt5\":Hu}),Er.webgl_compressed_texture_atc&&e(fn,{\"rgb atc\":fc,\"rgba atc explicit alpha\":ms,\"rgba atc interpolated alpha\":on}),Er.webgl_compressed_texture_pvrtc&&e(fn,{\"rgb pvrtc 4bppv1\":fa,\"rgb pvrtc 2bppv1\":Qu,\"rgba pvrtc 4bppv1\":Rl,\"rgba pvrtc 2bppv1\":vo}),Er.webgl_compressed_texture_etc1&&(fn[\"rgb etc1\"]=Zl);var Ai=Array.prototype.slice.call(At.getParameter(hi));Object.keys(fn).forEach(function(de){var Ie=fn[de];Ai.indexOf(Ie)>=0&&(Dn[de]=Ie)});var ji=Object.keys(Dn);Wr.textureFormats=ji;var Ln=[];Object.keys(Dn).forEach(function(de){var Ie=Dn[de];Ln[Ie]=de});var Un=[];Object.keys(Rn).forEach(function(de){var Ie=Rn[de];Un[Ie]=de});var gn=[];Object.keys(Bn).forEach(function(de){var Ie=Bn[de];gn[Ie]=de});var ca=[];Object.keys(yn).forEach(function(de){var Ie=yn[de];ca[Ie]=de});var Kn=[];Object.keys(On).forEach(function(de){var Ie=On[de];Kn[Ie]=de});var Za=ji.reduce(function(de,Ie){var $e=Dn[Ie];return $e===ho||$e===go||$e===ho||$e===Mo||$e===cl||$e===Cs||Er.ext_srgb&&($e===ml||$e===Ys)?de[$e]=$e:$e===zs||Ie.indexOf(\"rgba\")>=0?de[$e]=Sa:de[$e]=Oo,de},{});function wn(){this.internalformat=Sa,this.format=Sa,this.type=Ks,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=hc,this.width=0,this.height=0,this.channels=0}function vn(de,Ie){de.internalformat=Ie.internalformat,de.format=Ie.format,de.type=Ie.type,de.compressed=Ie.compressed,de.premultiplyAlpha=Ie.premultiplyAlpha,de.flipY=Ie.flipY,de.unpackAlignment=Ie.unpackAlignment,de.colorSpace=Ie.colorSpace,de.width=Ie.width,de.height=Ie.height,de.channels=Ie.channels}function Aa(de,Ie){if(!(typeof Ie!=\"object\"||!Ie)){if(\"premultiplyAlpha\"in Ie&&(de.premultiplyAlpha=Ie.premultiplyAlpha),\"flipY\"in Ie&&(de.flipY=Ie.flipY),\"alignment\"in Ie&&(de.unpackAlignment=Ie.alignment),\"colorSpace\"in Ie&&(de.colorSpace=to[Ie.colorSpace]),\"type\"in Ie){var $e=Ie.type;de.type=Rn[$e]}var pt=de.width,Kt=de.height,ir=de.channels,Jt=!1;\"shape\"in Ie?(pt=Ie.shape[0],Kt=Ie.shape[1],Ie.shape.length===3&&(ir=Ie.shape[2],Jt=!0)):(\"radius\"in Ie&&(pt=Kt=Ie.radius),\"width\"in Ie&&(pt=Ie.width),\"height\"in Ie&&(Kt=Ie.height),\"channels\"in Ie&&(ir=Ie.channels,Jt=!0)),de.width=pt|0,de.height=Kt|0,de.channels=ir|0;var vt=!1;if(\"format\"in Ie){var Pt=Ie.format,Wt=de.internalformat=Dn[Pt];de.format=Za[Wt],Pt in Rn&&(\"type\"in Ie||(de.type=Rn[Pt])),Pt in fn&&(de.compressed=!0),vt=!0}!Jt&&vt?de.channels=hs[de.format]:Jt&&!vt&&de.channels!==$s[de.format]&&(de.format=de.internalformat=$s[de.channels])}}function aa(de){At.pixelStorei(ih,de.flipY),At.pixelStorei(Vl,de.premultiplyAlpha),At.pixelStorei(Js,de.colorSpace),At.pixelStorei(ff,de.unpackAlignment)}function Xn(){wn.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Vn(de,Ie){var $e=null;if(nh(Ie)?$e=Ie:Ie&&(Aa(de,Ie),\"x\"in Ie&&(de.xOffset=Ie.x|0),\"y\"in Ie&&(de.yOffset=Ie.y|0),nh(Ie.data)&&($e=Ie.data)),Ie.copy){var pt=Ui.viewportWidth,Kt=Ui.viewportHeight;de.width=de.width||pt-de.xOffset,de.height=de.height||Kt-de.yOffset,de.needsCopy=!0}else if(!$e)de.width=de.width||1,de.height=de.height||1,de.channels=de.channels||4;else if(Or($e))de.channels=de.channels||4,de.data=$e,!(\"type\"in Ie)&&de.type===Ks&&(de.type=hf($e));else if(Ef($e))de.channels=de.channels||4,kh(de,$e),de.alignment=1,de.needsFree=!0;else if(Nr($e)){var ir=$e.data;!Array.isArray(ir)&&de.type===Ks&&(de.type=hf(ir));var Jt=$e.shape,vt=$e.stride,Pt,Wt,rr,dr,pr,kr;Jt.length===3?(rr=Jt[2],kr=vt[2]):(rr=1,kr=1),Pt=Jt[0],Wt=Jt[1],dr=vt[0],pr=vt[1],de.alignment=1,de.width=Pt,de.height=Wt,de.channels=rr,de.format=de.internalformat=$s[rr],de.needsFree=!0,ah(de,ir,dr,pr,kr,$e.offset)}else if(Mh($e)||jc($e)||kf($e))Mh($e)||jc($e)?de.element=$e:de.element=$e.canvas,de.width=de.element.width,de.height=de.element.height,de.channels=4;else if(Ml($e))de.element=$e,de.width=$e.width,de.height=$e.height,de.channels=4;else if(Yh($e))de.element=$e,de.width=$e.naturalWidth,de.height=$e.naturalHeight,de.channels=4;else if(Eh($e))de.element=$e,de.width=$e.videoWidth,de.height=$e.videoHeight,de.channels=4;else if(tc($e)){var Ar=de.width||$e[0].length,gr=de.height||$e.length,Cr=de.channels;an($e[0][0])?Cr=Cr||$e[0][0].length:Cr=Cr||1;for(var cr=Ne.shape($e),Gr=1,ei=0;ei<cr.length;++ei)Gr*=cr[ei];var yi=Kh(de,Gr);Ne.flatten($e,cr,\"\",yi),rc(de,yi),de.alignment=1,de.width=Ar,de.height=gr,de.channels=Cr,de.format=de.internalformat=$s[Cr],de.needsFree=!0}de.type===Zn||de.type}function ma(de,Ie,$e){var pt=de.element,Kt=de.data,ir=de.internalformat,Jt=de.format,vt=de.type,Pt=de.width,Wt=de.height;aa(de),pt?At.texImage2D(Ie,$e,Jt,Jt,vt,pt):de.compressed?At.compressedTexImage2D(Ie,$e,ir,Pt,Wt,0,Kt):de.needsCopy?(wi(),At.copyTexImage2D(Ie,$e,Jt,de.xOffset,de.yOffset,Pt,Wt,0)):At.texImage2D(Ie,$e,Jt,Pt,Wt,0,Jt,vt,Kt||null)}function ro(de,Ie,$e,pt,Kt){var ir=de.element,Jt=de.data,vt=de.internalformat,Pt=de.format,Wt=de.type,rr=de.width,dr=de.height;aa(de),ir?At.texSubImage2D(Ie,Kt,$e,pt,Pt,Wt,ir):de.compressed?At.compressedTexSubImage2D(Ie,Kt,$e,pt,vt,rr,dr,Jt):de.needsCopy?(wi(),At.copyTexSubImage2D(Ie,Kt,$e,pt,de.xOffset,de.yOffset,rr,dr)):At.texSubImage2D(Ie,Kt,$e,pt,rr,dr,Pt,Wt,Jt)}var Ao=[];function Jn(){return Ao.pop()||new Xn}function Oa(de){de.needsFree&&W.freeType(de.data),Xn.call(de),Ao.push(de)}function _o(){wn.call(this),this.genMipmaps=!1,this.mipmapHint=Gc,this.mipmask=0,this.images=Array(16)}function Po(de,Ie,$e){var pt=de.images[0]=Jn();de.mipmask=1,pt.width=de.width=Ie,pt.height=de.height=$e,pt.channels=de.channels=4}function Jo(de,Ie){var $e=null;if(nh(Ie))$e=de.images[0]=Jn(),vn($e,de),Vn($e,Ie),de.mipmask=1;else if(Aa(de,Ie),Array.isArray(Ie.mipmap))for(var pt=Ie.mipmap,Kt=0;Kt<pt.length;++Kt)$e=de.images[Kt]=Jn(),vn($e,de),$e.width>>=Kt,$e.height>>=Kt,Vn($e,pt[Kt]),de.mipmask|=1<<Kt;else $e=de.images[0]=Jn(),vn($e,de),Vn($e,Ie),de.mipmask=1;vn(de,de.images[0]),de.compressed&&(de.internalformat===Eo||de.internalformat===fs||de.internalformat===Ql||de.internalformat)}function Yl(de,Ie){for(var $e=de.images,pt=0;pt<$e.length;++pt){if(!$e[pt])return;ma($e[pt],Ie,pt)}}var $c=[];function xs(){var de=$c.pop()||new _o;wn.call(de),de.mipmask=0;for(var Ie=0;Ie<16;++Ie)de.images[Ie]=null;return de}function Qc(de){for(var Ie=de.images,$e=0;$e<Ie.length;++$e)Ie[$e]&&Oa(Ie[$e]),Ie[$e]=null;$c.push(de)}function El(){this.minFilter=Al,this.magFilter=Al,this.wrapS=uf,this.wrapT=uf,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=Gc}function bc(de,Ie){if(\"min\"in Ie){var $e=Ie.min;de.minFilter=yn[$e],ws.indexOf(de.minFilter)>=0&&!(\"faces\"in Ie)&&(de.genMipmaps=!0)}if(\"mag\"in Ie){var pt=Ie.mag;de.magFilter=Bn[pt]}var Kt=de.wrapS,ir=de.wrapT;if(\"wrap\"in Ie){var Jt=Ie.wrap;typeof Jt==\"string\"?Kt=ir=On[Jt]:Array.isArray(Jt)&&(Kt=On[Jt[0]],ir=On[Jt[1]])}else{if(\"wrapS\"in Ie){var vt=Ie.wrapS;Kt=On[vt]}if(\"wrapT\"in Ie){var Pt=Ie.wrapT;ir=On[Pt]}}if(de.wrapS=Kt,de.wrapT=ir,\"anisotropic\"in Ie){var Wt=Ie.anisotropic;de.anisotropic=Ie.anisotropic}if(\"mipmap\"in Ie){var rr=!1;switch(typeof Ie.mipmap){case\"string\":de.mipmapHint=cn[Ie.mipmap],de.genMipmaps=!0,rr=!0;break;case\"boolean\":rr=de.genMipmaps=Ie.mipmap;break;case\"object\":de.genMipmaps=!1,rr=!0;break;default:}rr&&!(\"min\"in Ie)&&(de.minFilter=eu)}}function wc(de,Ie){At.texParameteri(Ie,rh,de.minFilter),At.texParameteri(Ie,cf,de.magFilter),At.texParameteri(Ie,ko,de.wrapS),At.texParameteri(Ie,Co,de.wrapT),Er.ext_texture_filter_anisotropic&&At.texParameteri(Ie,ss,de.anisotropic),de.genMipmaps&&(At.hint(Of,de.mipmapHint),At.generateMipmap(Ie))}var yf=0,Gl={},Fc=Wr.maxTextureUnits,ef=Array(Fc).map(function(){return null});function ls(de){wn.call(this),this.mipmask=0,this.internalformat=Sa,this.id=yf++,this.refCount=1,this.target=de,this.texture=At.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new El,Bi.profile&&(this.stats={size:0})}function _f(de){At.activeTexture(Cc),At.bindTexture(de.target,de.texture)}function ns(){var de=ef[0];de?At.bindTexture(de.target,de.texture):At.bindTexture(Ji,null)}function Y(de){var Ie=de.texture,$e=de.unit,pt=de.target;$e>=0&&(At.activeTexture(Cc+$e),At.bindTexture(pt,null),ef[$e]=null),At.deleteTexture(Ie),de.texture=null,de.params=null,de.pixels=null,de.refCount=0,delete Gl[de.id],Oi.textureCount--}e(ls.prototype,{bind:function(){var de=this;de.bindCount+=1;var Ie=de.unit;if(Ie<0){for(var $e=0;$e<Fc;++$e){var pt=ef[$e];if(pt){if(pt.bindCount>0)continue;pt.unit=-1}ef[$e]=de,Ie=$e;break}Ie>=Fc,Bi.profile&&Oi.maxTextureUnits<Ie+1&&(Oi.maxTextureUnits=Ie+1),de.unit=Ie,At.activeTexture(Cc+Ie),At.bindTexture(de.target,de.texture)}return Ie},unbind:function(){this.bindCount-=1},decRef:function(){--this.refCount<=0&&Y(this)}});function z(de,Ie){var $e=new ls(Ji);Gl[$e.id]=$e,Oi.textureCount++;function pt(Jt,vt){var Pt=$e.texInfo;El.call(Pt);var Wt=xs();return typeof Jt==\"number\"?typeof vt==\"number\"?Po(Wt,Jt|0,vt|0):Po(Wt,Jt|0,Jt|0):Jt?(bc(Pt,Jt),Jo(Wt,Jt)):Po(Wt,1,1),Pt.genMipmaps&&(Wt.mipmask=(Wt.width<<1)-1),$e.mipmask=Wt.mipmask,vn($e,Wt),$e.internalformat=Wt.internalformat,pt.width=Wt.width,pt.height=Wt.height,_f($e),Yl(Wt,Ji),wc(Pt,Ji),ns(),Qc(Wt),Bi.profile&&($e.stats.size=Wc($e.internalformat,$e.type,Wt.width,Wt.height,Pt.genMipmaps,!1)),pt.format=Ln[$e.internalformat],pt.type=Un[$e.type],pt.mag=gn[Pt.magFilter],pt.min=ca[Pt.minFilter],pt.wrapS=Kn[Pt.wrapS],pt.wrapT=Kn[Pt.wrapT],pt}function Kt(Jt,vt,Pt,Wt){var rr=vt|0,dr=Pt|0,pr=Wt|0,kr=Jn();return vn(kr,$e),kr.width=0,kr.height=0,Vn(kr,Jt),kr.width=kr.width||($e.width>>pr)-rr,kr.height=kr.height||($e.height>>pr)-dr,_f($e),ro(kr,Ji,rr,dr,pr),ns(),Oa(kr),pt}function ir(Jt,vt){var Pt=Jt|0,Wt=vt|0||Pt;if(Pt===$e.width&&Wt===$e.height)return pt;pt.width=$e.width=Pt,pt.height=$e.height=Wt,_f($e);for(var rr=0;$e.mipmask>>rr;++rr){var dr=Pt>>rr,pr=Wt>>rr;if(!dr||!pr)break;At.texImage2D(Ji,rr,$e.format,dr,pr,0,$e.format,$e.type,null)}return ns(),Bi.profile&&($e.stats.size=Wc($e.internalformat,$e.type,Pt,Wt,!1,!1)),pt}return pt(de,Ie),pt.subimage=Kt,pt.resize=ir,pt._reglType=\"texture2d\",pt._texture=$e,Bi.profile&&(pt.stats=$e.stats),pt.destroy=function(){$e.decRef()},pt}function K(de,Ie,$e,pt,Kt,ir){var Jt=new ls(ua);Gl[Jt.id]=Jt,Oi.cubeCount++;var vt=new Array(6);function Pt(dr,pr,kr,Ar,gr,Cr){var cr,Gr=Jt.texInfo;for(El.call(Gr),cr=0;cr<6;++cr)vt[cr]=xs();if(typeof dr==\"number\"||!dr){var ei=dr|0||1;for(cr=0;cr<6;++cr)Po(vt[cr],ei,ei)}else if(typeof dr==\"object\")if(pr)Jo(vt[0],dr),Jo(vt[1],pr),Jo(vt[2],kr),Jo(vt[3],Ar),Jo(vt[4],gr),Jo(vt[5],Cr);else if(bc(Gr,dr),Aa(Jt,dr),\"faces\"in dr){var yi=dr.faces;for(cr=0;cr<6;++cr)vn(vt[cr],Jt),Jo(vt[cr],yi[cr])}else for(cr=0;cr<6;++cr)Jo(vt[cr],dr);for(vn(Jt,vt[0]),Gr.genMipmaps?Jt.mipmask=(vt[0].width<<1)-1:Jt.mipmask=vt[0].mipmask,Jt.internalformat=vt[0].internalformat,Pt.width=vt[0].width,Pt.height=vt[0].height,_f(Jt),cr=0;cr<6;++cr)Yl(vt[cr],Fn+cr);for(wc(Gr,ua),ns(),Bi.profile&&(Jt.stats.size=Wc(Jt.internalformat,Jt.type,Pt.width,Pt.height,Gr.genMipmaps,!0)),Pt.format=Ln[Jt.internalformat],Pt.type=Un[Jt.type],Pt.mag=gn[Gr.magFilter],Pt.min=ca[Gr.minFilter],Pt.wrapS=Kn[Gr.wrapS],Pt.wrapT=Kn[Gr.wrapT],cr=0;cr<6;++cr)Qc(vt[cr]);return Pt}function Wt(dr,pr,kr,Ar,gr){var Cr=kr|0,cr=Ar|0,Gr=gr|0,ei=Jn();return vn(ei,Jt),ei.width=0,ei.height=0,Vn(ei,pr),ei.width=ei.width||(Jt.width>>Gr)-Cr,ei.height=ei.height||(Jt.height>>Gr)-cr,_f(Jt),ro(ei,Fn+dr,Cr,cr,Gr),ns(),Oa(ei),Pt}function rr(dr){var pr=dr|0;if(pr!==Jt.width){Pt.width=Jt.width=pr,Pt.height=Jt.height=pr,_f(Jt);for(var kr=0;kr<6;++kr)for(var Ar=0;Jt.mipmask>>Ar;++Ar)At.texImage2D(Fn+kr,Ar,Jt.format,pr>>Ar,pr>>Ar,0,Jt.format,Jt.type,null);return ns(),Bi.profile&&(Jt.stats.size=Wc(Jt.internalformat,Jt.type,Pt.width,Pt.height,!1,!0)),Pt}}return Pt(de,Ie,$e,pt,Kt,ir),Pt.subimage=Wt,Pt.resize=rr,Pt._reglType=\"textureCube\",Pt._texture=Jt,Bi.profile&&(Pt.stats=Jt.stats),Pt.destroy=function(){Jt.decRef()},Pt}function O(){for(var de=0;de<Fc;++de)At.activeTexture(Cc+de),At.bindTexture(Ji,null),ef[de]=null;ut(Gl).forEach(Y),Oi.cubeCount=0,Oi.textureCount=0}Bi.profile&&(Oi.getTotalTextureSize=function(){var de=0;return Object.keys(Gl).forEach(function(Ie){de+=Gl[Ie].stats.size}),de});function $(){for(var de=0;de<Fc;++de){var Ie=ef[de];Ie&&(Ie.bindCount=0,Ie.unit=-1,ef[de]=null)}ut(Gl).forEach(function($e){$e.texture=At.createTexture(),At.bindTexture($e.target,$e.texture);for(var pt=0;pt<32;++pt)if($e.mipmask&1<<pt)if($e.target===Ji)At.texImage2D(Ji,pt,$e.internalformat,$e.width>>pt,$e.height>>pt,0,$e.internalformat,$e.type,null);else for(var Kt=0;Kt<6;++Kt)At.texImage2D(Fn+Kt,pt,$e.internalformat,$e.width>>pt,$e.height>>pt,0,$e.internalformat,$e.type,null);wc($e.texInfo,$e.target)})}function pe(){for(var de=0;de<Fc;++de){var Ie=ef[de];Ie&&(Ie.bindCount=0,Ie.unit=-1,ef[de]=null),At.activeTexture(Cc+de),At.bindTexture(Ji,null),At.bindTexture(ua,null)}}return{create2D:z,createCube:K,clear:O,getTexture:function(de){return null},restore:$,refresh:pe}}var Cu=36161,Nf=32854,Zc=32855,ds=36194,Ch=33189,Bd=36168,Jh=34041,Cf=35907,pd=34836,Lu=34842,$h=34843,tu=[];tu[Nf]=2,tu[Zc]=2,tu[ds]=2,tu[Ch]=2,tu[Bd]=1,tu[Jh]=4,tu[Cf]=4,tu[pd]=16,tu[Lu]=8,tu[$h]=6;function Pu(At,Er,Wr){return tu[At]*Er*Wr}var Lc=function(At,Er,Wr,wi,Ui){var Oi={rgba4:Nf,rgb565:ds,\"rgb5 a1\":Zc,depth:Ch,stencil:Bd,\"depth stencil\":Jh};Er.ext_srgb&&(Oi.srgba=Cf),Er.ext_color_buffer_half_float&&(Oi.rgba16f=Lu,Oi.rgb16f=$h),Er.webgl_color_buffer_float&&(Oi.rgba32f=pd);var Bi=[];Object.keys(Oi).forEach(function(Dn){var fn=Oi[Dn];Bi[fn]=Dn});var cn=0,On={};function Bn(Dn){this.id=cn++,this.refCount=1,this.renderbuffer=Dn,this.format=Nf,this.width=0,this.height=0,Ui.profile&&(this.stats={size:0})}Bn.prototype.decRef=function(){--this.refCount<=0&&yn(this)};function yn(Dn){var fn=Dn.renderbuffer;At.bindRenderbuffer(Cu,null),At.deleteRenderbuffer(fn),Dn.renderbuffer=null,Dn.refCount=0,delete On[Dn.id],wi.renderbufferCount--}function to(Dn,fn){var Ai=new Bn(At.createRenderbuffer());On[Ai.id]=Ai,wi.renderbufferCount++;function ji(Un,gn){var ca=0,Kn=0,Za=Nf;if(typeof Un==\"object\"&&Un){var wn=Un;if(\"shape\"in wn){var vn=wn.shape;ca=vn[0]|0,Kn=vn[1]|0}else\"radius\"in wn&&(ca=Kn=wn.radius|0),\"width\"in wn&&(ca=wn.width|0),\"height\"in wn&&(Kn=wn.height|0);\"format\"in wn&&(Za=Oi[wn.format])}else typeof Un==\"number\"?(ca=Un|0,typeof gn==\"number\"?Kn=gn|0:Kn=ca):Un||(ca=Kn=1);if(!(ca===Ai.width&&Kn===Ai.height&&Za===Ai.format))return ji.width=Ai.width=ca,ji.height=Ai.height=Kn,Ai.format=Za,At.bindRenderbuffer(Cu,Ai.renderbuffer),At.renderbufferStorage(Cu,Za,ca,Kn),Ui.profile&&(Ai.stats.size=Pu(Ai.format,Ai.width,Ai.height)),ji.format=Bi[Ai.format],ji}function Ln(Un,gn){var ca=Un|0,Kn=gn|0||ca;return ca===Ai.width&&Kn===Ai.height||(ji.width=Ai.width=ca,ji.height=Ai.height=Kn,At.bindRenderbuffer(Cu,Ai.renderbuffer),At.renderbufferStorage(Cu,Ai.format,ca,Kn),Ui.profile&&(Ai.stats.size=Pu(Ai.format,Ai.width,Ai.height))),ji}return ji(Dn,fn),ji.resize=Ln,ji._reglType=\"renderbuffer\",ji._renderbuffer=Ai,Ui.profile&&(ji.stats=Ai.stats),ji.destroy=function(){Ai.decRef()},ji}Ui.profile&&(wi.getTotalRenderbufferSize=function(){var Dn=0;return Object.keys(On).forEach(function(fn){Dn+=On[fn].stats.size}),Dn});function Rn(){ut(On).forEach(function(Dn){Dn.renderbuffer=At.createRenderbuffer(),At.bindRenderbuffer(Cu,Dn.renderbuffer),At.renderbufferStorage(Cu,Dn.format,Dn.width,Dn.height)}),At.bindRenderbuffer(Cu,null)}return{create:to,clear:function(){ut(On).forEach(yn)},restore:Rn}},fl=36160,Xc=36161,ic=3553,yu=34069,Qs=36064,Qh=36096,gd=36128,Gu=33306,Pc=36053,vc=36193,sv=5121,Lf=5126,Uf=6407,Iu=6408,oh=[];oh[Iu]=4,oh[Uf]=3;var ru=[];ru[sv]=1,ru[Lf]=4,ru[vc]=2;function vf(At,Er,Wr,wi,Ui,Oi){var Bi={cur:null,next:null,dirty:!1,setFBO:null},cn=[\"rgba\"],On=[\"rgba4\",\"rgb565\",\"rgb5 a1\"];Er.ext_srgb&&On.push(\"srgba\"),Er.ext_color_buffer_half_float&&On.push(\"rgba16f\",\"rgb16f\"),Er.webgl_color_buffer_float&&On.push(\"rgba32f\");var Bn=[\"uint8\"];Er.oes_texture_half_float&&Bn.push(\"half float\",\"float16\"),Er.oes_texture_float&&Bn.push(\"float\",\"float32\");function yn(Xn,Vn,ma){this.target=Xn,this.texture=Vn,this.renderbuffer=ma;var ro=0,Ao=0;Vn?(ro=Vn.width,Ao=Vn.height):ma&&(ro=ma.width,Ao=ma.height),this.width=ro,this.height=Ao}function to(Xn){Xn&&(Xn.texture&&Xn.texture._texture.decRef(),Xn.renderbuffer&&Xn.renderbuffer._renderbuffer.decRef())}function Rn(Xn,Vn,ma){if(Xn)if(Xn.texture){var ro=Xn.texture._texture,Ao=Math.max(1,ro.width),Jn=Math.max(1,ro.height);ro.refCount+=1}else{var Oa=Xn.renderbuffer._renderbuffer;Oa.refCount+=1}}function Dn(Xn,Vn){Vn&&(Vn.texture?At.framebufferTexture2D(fl,Xn,Vn.target,Vn.texture._texture.texture,0):At.framebufferRenderbuffer(fl,Xn,Xc,Vn.renderbuffer._renderbuffer.renderbuffer))}function fn(Xn){var Vn=ic,ma=null,ro=null,Ao=Xn;typeof Xn==\"object\"&&(Ao=Xn.data,\"target\"in Xn&&(Vn=Xn.target|0));var Jn=Ao._reglType;return Jn===\"texture2d\"||Jn===\"textureCube\"?ma=Ao:Jn===\"renderbuffer\"&&(ro=Ao,Vn=Xc),new yn(Vn,ma,ro)}function Ai(Xn,Vn,ma,ro,Ao){if(ma){var Jn=wi.create2D({width:Xn,height:Vn,format:ro,type:Ao});return Jn._texture.refCount=0,new yn(ic,Jn,null)}else{var Oa=Ui.create({width:Xn,height:Vn,format:ro});return Oa._renderbuffer.refCount=0,new yn(Xc,null,Oa)}}function ji(Xn){return Xn&&(Xn.texture||Xn.renderbuffer)}function Ln(Xn,Vn,ma){Xn&&(Xn.texture?Xn.texture.resize(Vn,ma):Xn.renderbuffer&&Xn.renderbuffer.resize(Vn,ma),Xn.width=Vn,Xn.height=ma)}var Un=0,gn={};function ca(){this.id=Un++,gn[this.id]=this,this.framebuffer=At.createFramebuffer(),this.width=0,this.height=0,this.colorAttachments=[],this.depthAttachment=null,this.stencilAttachment=null,this.depthStencilAttachment=null}function Kn(Xn){Xn.colorAttachments.forEach(to),to(Xn.depthAttachment),to(Xn.stencilAttachment),to(Xn.depthStencilAttachment)}function Za(Xn){var Vn=Xn.framebuffer;At.deleteFramebuffer(Vn),Xn.framebuffer=null,Oi.framebufferCount--,delete gn[Xn.id]}function wn(Xn){var Vn;At.bindFramebuffer(fl,Xn.framebuffer);var ma=Xn.colorAttachments;for(Vn=0;Vn<ma.length;++Vn)Dn(Qs+Vn,ma[Vn]);for(Vn=ma.length;Vn<Wr.maxColorAttachments;++Vn)At.framebufferTexture2D(fl,Qs+Vn,ic,null,0);At.framebufferTexture2D(fl,Gu,ic,null,0),At.framebufferTexture2D(fl,Qh,ic,null,0),At.framebufferTexture2D(fl,gd,ic,null,0),Dn(Qh,Xn.depthAttachment),Dn(gd,Xn.stencilAttachment),Dn(Gu,Xn.depthStencilAttachment);var ro=At.checkFramebufferStatus(fl);At.isContextLost(),At.bindFramebuffer(fl,Bi.next?Bi.next.framebuffer:null),Bi.cur=Bi.next,At.getError()}function vn(Xn,Vn){var ma=new ca;Oi.framebufferCount++;function ro(Jn,Oa){var _o,Po=0,Jo=0,Yl=!0,$c=!0,xs=null,Qc=!0,El=\"rgba\",bc=\"uint8\",wc=1,yf=null,Gl=null,Fc=null,ef=!1;if(typeof Jn==\"number\")Po=Jn|0,Jo=Oa|0||Po;else if(!Jn)Po=Jo=1;else{var ls=Jn;if(\"shape\"in ls){var _f=ls.shape;Po=_f[0],Jo=_f[1]}else\"radius\"in ls&&(Po=Jo=ls.radius),\"width\"in ls&&(Po=ls.width),\"height\"in ls&&(Jo=ls.height);(\"color\"in ls||\"colors\"in ls)&&(xs=ls.color||ls.colors,Array.isArray(xs)),xs||(\"colorCount\"in ls&&(wc=ls.colorCount|0),\"colorTexture\"in ls&&(Qc=!!ls.colorTexture,El=\"rgba4\"),\"colorType\"in ls&&(bc=ls.colorType,Qc||(bc===\"half float\"||bc===\"float16\"?El=\"rgba16f\":(bc===\"float\"||bc===\"float32\")&&(El=\"rgba32f\"))),\"colorFormat\"in ls&&(El=ls.colorFormat,cn.indexOf(El)>=0?Qc=!0:On.indexOf(El)>=0&&(Qc=!1))),(\"depthTexture\"in ls||\"depthStencilTexture\"in ls)&&(ef=!!(ls.depthTexture||ls.depthStencilTexture)),\"depth\"in ls&&(typeof ls.depth==\"boolean\"?Yl=ls.depth:(yf=ls.depth,$c=!1)),\"stencil\"in ls&&(typeof ls.stencil==\"boolean\"?$c=ls.stencil:(Gl=ls.stencil,Yl=!1)),\"depthStencil\"in ls&&(typeof ls.depthStencil==\"boolean\"?Yl=$c=ls.depthStencil:(Fc=ls.depthStencil,Yl=!1,$c=!1))}var ns=null,Y=null,z=null,K=null;if(Array.isArray(xs))ns=xs.map(fn);else if(xs)ns=[fn(xs)];else for(ns=new Array(wc),_o=0;_o<wc;++_o)ns[_o]=Ai(Po,Jo,Qc,El,bc);Po=Po||ns[0].width,Jo=Jo||ns[0].height,yf?Y=fn(yf):Yl&&!$c&&(Y=Ai(Po,Jo,ef,\"depth\",\"uint32\")),Gl?z=fn(Gl):$c&&!Yl&&(z=Ai(Po,Jo,!1,\"stencil\",\"uint8\")),Fc?K=fn(Fc):!yf&&!Gl&&$c&&Yl&&(K=Ai(Po,Jo,ef,\"depth stencil\",\"depth stencil\"));var O=null;for(_o=0;_o<ns.length;++_o)if(Rn(ns[_o],Po,Jo),ns[_o]&&ns[_o].texture){var $=oh[ns[_o].texture._texture.format]*ru[ns[_o].texture._texture.type];O===null&&(O=$)}return Rn(Y,Po,Jo),Rn(z,Po,Jo),Rn(K,Po,Jo),Kn(ma),ma.width=Po,ma.height=Jo,ma.colorAttachments=ns,ma.depthAttachment=Y,ma.stencilAttachment=z,ma.depthStencilAttachment=K,ro.color=ns.map(ji),ro.depth=ji(Y),ro.stencil=ji(z),ro.depthStencil=ji(K),ro.width=ma.width,ro.height=ma.height,wn(ma),ro}function Ao(Jn,Oa){var _o=Math.max(Jn|0,1),Po=Math.max(Oa|0||_o,1);if(_o===ma.width&&Po===ma.height)return ro;for(var Jo=ma.colorAttachments,Yl=0;Yl<Jo.length;++Yl)Ln(Jo[Yl],_o,Po);return Ln(ma.depthAttachment,_o,Po),Ln(ma.stencilAttachment,_o,Po),Ln(ma.depthStencilAttachment,_o,Po),ma.width=ro.width=_o,ma.height=ro.height=Po,wn(ma),ro}return ro(Xn,Vn),e(ro,{resize:Ao,_reglType:\"framebuffer\",_framebuffer:ma,destroy:function(){Za(ma),Kn(ma)},use:function(Jn){Bi.setFBO({framebuffer:ro},Jn)}})}function Aa(Xn){var Vn=Array(6);function ma(Ao){var Jn,Oa={color:null},_o=0,Po=null,Jo=\"rgba\",Yl=\"uint8\",$c=1;if(typeof Ao==\"number\")_o=Ao|0;else if(!Ao)_o=1;else{var xs=Ao;if(\"shape\"in xs){var Qc=xs.shape;_o=Qc[0]}else\"radius\"in xs&&(_o=xs.radius|0),\"width\"in xs?(_o=xs.width|0,\"height\"in xs):\"height\"in xs&&(_o=xs.height|0);(\"color\"in xs||\"colors\"in xs)&&(Po=xs.color||xs.colors,Array.isArray(Po)),Po||(\"colorCount\"in xs&&($c=xs.colorCount|0),\"colorType\"in xs&&(Yl=xs.colorType),\"colorFormat\"in xs&&(Jo=xs.colorFormat)),\"depth\"in xs&&(Oa.depth=xs.depth),\"stencil\"in xs&&(Oa.stencil=xs.stencil),\"depthStencil\"in xs&&(Oa.depthStencil=xs.depthStencil)}var El;if(Po)if(Array.isArray(Po))for(El=[],Jn=0;Jn<Po.length;++Jn)El[Jn]=Po[Jn];else El=[Po];else{El=Array($c);var bc={radius:_o,format:Jo,type:Yl};for(Jn=0;Jn<$c;++Jn)El[Jn]=wi.createCube(bc)}for(Oa.color=Array(El.length),Jn=0;Jn<El.length;++Jn){var wc=El[Jn];_o=_o||wc.width,Oa.color[Jn]={target:yu,data:El[Jn]}}for(Jn=0;Jn<6;++Jn){for(var yf=0;yf<El.length;++yf)Oa.color[yf].target=yu+Jn;Jn>0&&(Oa.depth=Vn[0].depth,Oa.stencil=Vn[0].stencil,Oa.depthStencil=Vn[0].depthStencil),Vn[Jn]?Vn[Jn](Oa):Vn[Jn]=vn(Oa)}return e(ma,{width:_o,height:_o,color:El})}function ro(Ao){var Jn,Oa=Ao|0;if(Oa===ma.width)return ma;var _o=ma.color;for(Jn=0;Jn<_o.length;++Jn)_o[Jn].resize(Oa);for(Jn=0;Jn<6;++Jn)Vn[Jn].resize(Oa);return ma.width=ma.height=Oa,ma}return ma(Xn),e(ma,{faces:Vn,resize:ro,_reglType:\"framebufferCube\",destroy:function(){Vn.forEach(function(Ao){Ao.destroy()})}})}function aa(){Bi.cur=null,Bi.next=null,Bi.dirty=!0,ut(gn).forEach(function(Xn){Xn.framebuffer=At.createFramebuffer(),wn(Xn)})}return e(Bi,{getFramebuffer:function(Xn){if(typeof Xn==\"function\"&&Xn._reglType===\"framebuffer\"){var Vn=Xn._framebuffer;if(Vn instanceof ca)return Vn}return null},create:vn,createCube:Aa,clear:function(){ut(gn).forEach(Za)},restore:aa})}var md=5126,sh=34962,Fs=34963;function _u(){this.state=0,this.x=0,this.y=0,this.z=0,this.w=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=md,this.offset=0,this.stride=0,this.divisor=0}function xu(At,Er,Wr,wi,Ui,Oi,Bi){for(var cn=Wr.maxAttributes,On=new Array(cn),Bn=0;Bn<cn;++Bn)On[Bn]=new _u;var yn=0,to={},Rn={Record:_u,scope:{},state:On,currentVAO:null,targetVAO:null,restore:fn()?Kn:function(){},createVAO:Za,getVAO:ji,destroyBuffer:Dn,setVAO:fn()?Ln:Un,clear:fn()?gn:function(){}};function Dn(wn){for(var vn=0;vn<On.length;++vn){var Aa=On[vn];Aa.buffer===wn&&(At.disableVertexAttribArray(vn),Aa.buffer=null)}}function fn(){return Er.oes_vertex_array_object}function Ai(){return Er.angle_instanced_arrays}function ji(wn){return typeof wn==\"function\"&&wn._vao?wn._vao:null}function Ln(wn){if(wn!==Rn.currentVAO){var vn=fn();wn?vn.bindVertexArrayOES(wn.vao):vn.bindVertexArrayOES(null),Rn.currentVAO=wn}}function Un(wn){if(wn!==Rn.currentVAO){if(wn)wn.bindAttrs();else{for(var vn=Ai(),Aa=0;Aa<On.length;++Aa){var aa=On[Aa];aa.buffer?(At.enableVertexAttribArray(Aa),aa.buffer.bind(),At.vertexAttribPointer(Aa,aa.size,aa.type,aa.normalized,aa.stride,aa.offfset),vn&&aa.divisor&&vn.vertexAttribDivisorANGLE(Aa,aa.divisor)):(At.disableVertexAttribArray(Aa),At.vertexAttrib4f(Aa,aa.x,aa.y,aa.z,aa.w))}Bi.elements?At.bindBuffer(Fs,Bi.elements.buffer.buffer):At.bindBuffer(Fs,null)}Rn.currentVAO=wn}}function gn(){ut(to).forEach(function(wn){wn.destroy()})}function ca(){this.id=++yn,this.attributes=[],this.elements=null,this.ownsElements=!1,this.count=0,this.offset=0,this.instances=-1,this.primitive=4;var wn=fn();wn?this.vao=wn.createVertexArrayOES():this.vao=null,to[this.id]=this,this.buffers=[]}ca.prototype.bindAttrs=function(){for(var wn=Ai(),vn=this.attributes,Aa=0;Aa<vn.length;++Aa){var aa=vn[Aa];aa.buffer?(At.enableVertexAttribArray(Aa),At.bindBuffer(sh,aa.buffer.buffer),At.vertexAttribPointer(Aa,aa.size,aa.type,aa.normalized,aa.stride,aa.offset),wn&&aa.divisor&&wn.vertexAttribDivisorANGLE(Aa,aa.divisor)):(At.disableVertexAttribArray(Aa),At.vertexAttrib4f(Aa,aa.x,aa.y,aa.z,aa.w))}for(var Xn=vn.length;Xn<cn;++Xn)At.disableVertexAttribArray(Xn);var Vn=Oi.getElements(this.elements);Vn?At.bindBuffer(Fs,Vn.buffer.buffer):At.bindBuffer(Fs,null)},ca.prototype.refresh=function(){var wn=fn();wn&&(wn.bindVertexArrayOES(this.vao),this.bindAttrs(),Rn.currentVAO=null,wn.bindVertexArrayOES(null))},ca.prototype.destroy=function(){if(this.vao){var wn=fn();this===Rn.currentVAO&&(Rn.currentVAO=null,wn.bindVertexArrayOES(null)),wn.deleteVertexArrayOES(this.vao),this.vao=null}this.ownsElements&&(this.elements.destroy(),this.elements=null,this.ownsElements=!1),to[this.id]&&(delete to[this.id],wi.vaoCount-=1)};function Kn(){var wn=fn();wn&&ut(to).forEach(function(vn){vn.refresh()})}function Za(wn){var vn=new ca;wi.vaoCount+=1;function Aa(aa){var Xn;if(Array.isArray(aa))Xn=aa,vn.elements&&vn.ownsElements&&vn.elements.destroy(),vn.elements=null,vn.ownsElements=!1,vn.offset=0,vn.count=0,vn.instances=-1,vn.primitive=4;else{if(aa.elements){var Vn=aa.elements;vn.ownsElements?typeof Vn==\"function\"&&Vn._reglType===\"elements\"?(vn.elements.destroy(),vn.ownsElements=!1):(vn.elements(Vn),vn.ownsElements=!1):Oi.getElements(aa.elements)?(vn.elements=aa.elements,vn.ownsElements=!1):(vn.elements=Oi.create(aa.elements),vn.ownsElements=!0)}else vn.elements=null,vn.ownsElements=!1;Xn=aa.attributes,vn.offset=0,vn.count=-1,vn.instances=-1,vn.primitive=4,vn.elements&&(vn.count=vn.elements._elements.vertCount,vn.primitive=vn.elements._elements.primType),\"offset\"in aa&&(vn.offset=aa.offset|0),\"count\"in aa&&(vn.count=aa.count|0),\"instances\"in aa&&(vn.instances=aa.instances|0),\"primitive\"in aa&&(vn.primitive=Ki[aa.primitive])}var ma={},ro=vn.attributes;ro.length=Xn.length;for(var Ao=0;Ao<Xn.length;++Ao){var Jn=Xn[Ao],Oa=ro[Ao]=new _u,_o=Jn.data||Jn;if(Array.isArray(_o)||Or(_o)||Nr(_o)){var Po;vn.buffers[Ao]&&(Po=vn.buffers[Ao],Or(_o)&&Po._buffer.byteLength>=_o.byteLength?Po.subdata(_o):(Po.destroy(),vn.buffers[Ao]=null)),vn.buffers[Ao]||(Po=vn.buffers[Ao]=Ui.create(Jn,sh,!1,!0)),Oa.buffer=Ui.getBuffer(Po),Oa.size=Oa.buffer.dimension|0,Oa.normalized=!1,Oa.type=Oa.buffer.dtype,Oa.offset=0,Oa.stride=0,Oa.divisor=0,Oa.state=1,ma[Ao]=1}else Ui.getBuffer(Jn)?(Oa.buffer=Ui.getBuffer(Jn),Oa.size=Oa.buffer.dimension|0,Oa.normalized=!1,Oa.type=Oa.buffer.dtype,Oa.offset=0,Oa.stride=0,Oa.divisor=0,Oa.state=1):Ui.getBuffer(Jn.buffer)?(Oa.buffer=Ui.getBuffer(Jn.buffer),Oa.size=(+Jn.size||Oa.buffer.dimension)|0,Oa.normalized=!!Jn.normalized||!1,\"type\"in Jn?Oa.type=bi[Jn.type]:Oa.type=Oa.buffer.dtype,Oa.offset=(Jn.offset||0)|0,Oa.stride=(Jn.stride||0)|0,Oa.divisor=(Jn.divisor||0)|0,Oa.state=1):\"x\"in Jn&&(Oa.x=+Jn.x||0,Oa.y=+Jn.y||0,Oa.z=+Jn.z||0,Oa.w=+Jn.w||0,Oa.state=2)}for(var Jo=0;Jo<vn.buffers.length;++Jo)!ma[Jo]&&vn.buffers[Jo]&&(vn.buffers[Jo].destroy(),vn.buffers[Jo]=null);return vn.refresh(),Aa}return Aa.destroy=function(){for(var aa=0;aa<vn.buffers.length;++aa)vn.buffers[aa]&&vn.buffers[aa].destroy();vn.buffers.length=0,vn.ownsElements&&(vn.elements.destroy(),vn.elements=null,vn.ownsElements=!1),vn.destroy()},Aa._vao=vn,Aa._reglType=\"vao\",Aa(wn)}return Rn}var Lh=35632,Is=35633,Pf=35718,Ic=35721;function ju(At,Er,Wr,wi){var Ui={},Oi={};function Bi(Ai,ji,Ln,Un){this.name=Ai,this.id=ji,this.location=Ln,this.info=Un}function cn(Ai,ji){for(var Ln=0;Ln<Ai.length;++Ln)if(Ai[Ln].id===ji.id){Ai[Ln].location=ji.location;return}Ai.push(ji)}function On(Ai,ji,Ln){var Un=Ai===Lh?Ui:Oi,gn=Un[ji];if(!gn){var ca=Er.str(ji);gn=At.createShader(Ai),At.shaderSource(gn,ca),At.compileShader(gn),Un[ji]=gn}return gn}var Bn={},yn=[],to=0;function Rn(Ai,ji){this.id=to++,this.fragId=Ai,this.vertId=ji,this.program=null,this.uniforms=[],this.attributes=[],this.refCount=1,wi.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function Dn(Ai,ji,Ln){var Un,gn,ca=On(Lh,Ai.fragId),Kn=On(Is,Ai.vertId),Za=Ai.program=At.createProgram();if(At.attachShader(Za,ca),At.attachShader(Za,Kn),Ln)for(Un=0;Un<Ln.length;++Un){var wn=Ln[Un];At.bindAttribLocation(Za,wn[0],wn[1])}At.linkProgram(Za);var vn=At.getProgramParameter(Za,Pf);wi.profile&&(Ai.stats.uniformsCount=vn);var Aa=Ai.uniforms;for(Un=0;Un<vn;++Un)if(gn=At.getActiveUniform(Za,Un),gn)if(gn.size>1)for(var aa=0;aa<gn.size;++aa){var Xn=gn.name.replace(\"[0]\",\"[\"+aa+\"]\");cn(Aa,new Bi(Xn,Er.id(Xn),At.getUniformLocation(Za,Xn),gn))}else cn(Aa,new Bi(gn.name,Er.id(gn.name),At.getUniformLocation(Za,gn.name),gn));var Vn=At.getProgramParameter(Za,Ic);wi.profile&&(Ai.stats.attributesCount=Vn);var ma=Ai.attributes;for(Un=0;Un<Vn;++Un)gn=At.getActiveAttrib(Za,Un),gn&&cn(ma,new Bi(gn.name,Er.id(gn.name),At.getAttribLocation(Za,gn.name),gn))}wi.profile&&(Wr.getMaxUniformsCount=function(){var Ai=0;return yn.forEach(function(ji){ji.stats.uniformsCount>Ai&&(Ai=ji.stats.uniformsCount)}),Ai},Wr.getMaxAttributesCount=function(){var Ai=0;return yn.forEach(function(ji){ji.stats.attributesCount>Ai&&(Ai=ji.stats.attributesCount)}),Ai});function fn(){Ui={},Oi={};for(var Ai=0;Ai<yn.length;++Ai)Dn(yn[Ai],null,yn[Ai].attributes.map(function(ji){return[ji.location,ji.name]}))}return{clear:function(){var Ai=At.deleteShader.bind(At);ut(Ui).forEach(Ai),Ui={},ut(Oi).forEach(Ai),Oi={},yn.forEach(function(ji){At.deleteProgram(ji.program)}),yn.length=0,Bn={},Wr.shaderCount=0},program:function(Ai,ji,Ln,Un){var gn=Bn[ji];gn||(gn=Bn[ji]={});var ca=gn[Ai];if(ca&&(ca.refCount++,!Un))return ca;var Kn=new Rn(ji,Ai);return Wr.shaderCount++,Dn(Kn,Ln,Un),ca||(gn[Ai]=Kn),yn.push(Kn),e(Kn,{destroy:function(){if(Kn.refCount--,Kn.refCount<=0){At.deleteProgram(Kn.program);var Za=yn.indexOf(Kn);yn.splice(Za,1),Wr.shaderCount--}gn[Kn.vertId].refCount<=0&&(At.deleteShader(Oi[Kn.vertId]),delete Oi[Kn.vertId],delete Bn[Kn.fragId][Kn.vertId]),Object.keys(Bn[Kn.fragId]).length||(At.deleteShader(Ui[Kn.fragId]),delete Ui[Kn.fragId],delete Bn[Kn.fragId])}})},restore:fn,shader:On,frag:-1,vert:-1}}var Vf=6408,pc=5121,pf=3333,Ph=5126;function Dl(At,Er,Wr,wi,Ui,Oi,Bi){function cn(yn){var to;Er.next===null?to=pc:to=Er.next.colorAttachments[0].texture._texture.type;var Rn=0,Dn=0,fn=wi.framebufferWidth,Ai=wi.framebufferHeight,ji=null;Or(yn)?ji=yn:yn&&(Rn=yn.x|0,Dn=yn.y|0,fn=(yn.width||wi.framebufferWidth-Rn)|0,Ai=(yn.height||wi.framebufferHeight-Dn)|0,ji=yn.data||null),Wr();var Ln=fn*Ai*4;return ji||(to===pc?ji=new Uint8Array(Ln):to===Ph&&(ji=ji||new Float32Array(Ln))),At.pixelStorei(pf,4),At.readPixels(Rn,Dn,fn,Ai,Vf,to,ji),ji}function On(yn){var to;return Er.setFBO({framebuffer:yn.framebuffer},function(){to=cn(yn)}),to}function Bn(yn){return!yn||!(\"framebuffer\"in yn)?cn(yn):On(yn)}return Bn}var Ih=0,Wu=\"\";function Rc(At){return iu(gc(nc(At)))}function gc(At){return gt(Ti(gf(At),At.length*8))}function hl(At,Er){var Wr=gf(At);Wr.length>16&&(Wr=Ti(Wr,At.length*8));for(var wi=Array(16),Ui=Array(16),Oi=0;Oi<16;Oi++)wi[Oi]=Wr[Oi]^909522486,Ui[Oi]=Wr[Oi]^1549556828;var Bi=Ti(wi.concat(gf(Er)),512+Er.length*8);return gt(Ti(Ui.concat(Bi),768))}function iu(At){for(var Er=Ih?\"0123456789ABCDEF\":\"0123456789abcdef\",Wr=\"\",wi,Ui=0;Ui<At.length;Ui++)wi=At.charCodeAt(Ui),Wr+=Er.charAt(wi>>>4&15)+Er.charAt(wi&15);return Wr}function mc(At){for(var Er=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",Wr=\"\",wi=At.length,Ui=0;Ui<wi;Ui+=3)for(var Oi=At.charCodeAt(Ui)<<16|(Ui+1<wi?At.charCodeAt(Ui+1)<<8:0)|(Ui+2<wi?At.charCodeAt(Ui+2):0),Bi=0;Bi<4;Bi++)Ui*8+Bi*6>At.length*8?Wr+=Wu:Wr+=Er.charAt(Oi>>>6*(3-Bi)&63);return Wr}function Yc(At,Er){var Wr=Er.length,wi=Array(),Ui,Oi,Bi,cn,On=Array(Math.ceil(At.length/2));for(Ui=0;Ui<On.length;Ui++)On[Ui]=At.charCodeAt(Ui*2)<<8|At.charCodeAt(Ui*2+1);for(;On.length>0;){for(cn=Array(),Bi=0,Ui=0;Ui<On.length;Ui++)Bi=(Bi<<16)+On[Ui],Oi=Math.floor(Bi/Wr),Bi-=Oi*Wr,(cn.length>0||Oi>0)&&(cn[cn.length]=Oi);wi[wi.length]=Bi,On=cn}var Bn=\"\";for(Ui=wi.length-1;Ui>=0;Ui--)Bn+=Er.charAt(wi[Ui]);var yn=Math.ceil(At.length*8/(Math.log(Er.length)/Math.log(2)));for(Ui=Bn.length;Ui<yn;Ui++)Bn=Er[0]+Bn;return Bn}function nc(At){for(var Er=\"\",Wr=-1,wi,Ui;++Wr<At.length;)wi=At.charCodeAt(Wr),Ui=Wr+1<At.length?At.charCodeAt(Wr+1):0,55296<=wi&&wi<=56319&&56320<=Ui&&Ui<=57343&&(wi=65536+((wi&1023)<<10)+(Ui&1023),Wr++),wi<=127?Er+=String.fromCharCode(wi):wi<=2047?Er+=String.fromCharCode(192|wi>>>6&31,128|wi&63):wi<=65535?Er+=String.fromCharCode(224|wi>>>12&15,128|wi>>>6&63,128|wi&63):wi<=2097151&&(Er+=String.fromCharCode(240|wi>>>18&7,128|wi>>>12&63,128|wi>>>6&63,128|wi&63));return Er}function gf(At){for(var Er=Array(At.length>>2),Wr=0;Wr<Er.length;Wr++)Er[Wr]=0;for(var Wr=0;Wr<At.length*8;Wr+=8)Er[Wr>>5]|=(At.charCodeAt(Wr/8)&255)<<24-Wr%32;return Er}function gt(At){for(var Er=\"\",Wr=0;Wr<At.length*32;Wr+=8)Er+=String.fromCharCode(At[Wr>>5]>>>24-Wr%32&255);return Er}function Bt(At,Er){return At>>>Er|At<<32-Er}function wr(At,Er){return At>>>Er}function vr(At,Er,Wr){return At&Er^~At&Wr}function Ur(At,Er,Wr){return At&Er^At&Wr^Er&Wr}function fi(At){return Bt(At,2)^Bt(At,13)^Bt(At,22)}function xi(At){return Bt(At,6)^Bt(At,11)^Bt(At,25)}function Fi(At){return Bt(At,7)^Bt(At,18)^wr(At,3)}function Xi(At){return Bt(At,17)^Bt(At,19)^wr(At,10)}var hn=new Array(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);function Ti(At,Er){var Wr=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),wi=new Array(64),Ui,Oi,Bi,cn,On,Bn,yn,to,Rn,Dn,fn,Ai;for(At[Er>>5]|=128<<24-Er%32,At[(Er+64>>9<<4)+15]=Er,Rn=0;Rn<At.length;Rn+=16){for(Ui=Wr[0],Oi=Wr[1],Bi=Wr[2],cn=Wr[3],On=Wr[4],Bn=Wr[5],yn=Wr[6],to=Wr[7],Dn=0;Dn<64;Dn++)Dn<16?wi[Dn]=At[Dn+Rn]:wi[Dn]=qi(qi(qi(Xi(wi[Dn-2]),wi[Dn-7]),Fi(wi[Dn-15])),wi[Dn-16]),fn=qi(qi(qi(qi(to,xi(On)),vr(On,Bn,yn)),hn[Dn]),wi[Dn]),Ai=qi(fi(Ui),Ur(Ui,Oi,Bi)),to=yn,yn=Bn,Bn=On,On=qi(cn,fn),cn=Bi,Bi=Oi,Oi=Ui,Ui=qi(fn,Ai);Wr[0]=qi(Ui,Wr[0]),Wr[1]=qi(Oi,Wr[1]),Wr[2]=qi(Bi,Wr[2]),Wr[3]=qi(cn,Wr[3]),Wr[4]=qi(On,Wr[4]),Wr[5]=qi(Bn,Wr[5]),Wr[6]=qi(yn,Wr[6]),Wr[7]=qi(to,Wr[7])}return Wr}function qi(At,Er){var Wr=(At&65535)+(Er&65535),wi=(At>>16)+(Er>>16)+(Wr>>16);return wi<<16|Wr&65535}function Ii(At){return Array.prototype.slice.call(At)}function mi(At){return Ii(At).join(\"\")}function Pn(At){var Er=At&&At.cache,Wr=0,wi=[],Ui=[],Oi=[];function Bi(fn,Ai){var ji=Ai&&Ai.stable;if(!ji){for(var Ln=0;Ln<Ui.length;++Ln)if(Ui[Ln]===fn&&!Oi[Ln])return wi[Ln]}var Un=\"g\"+Wr++;return wi.push(Un),Ui.push(fn),Oi.push(ji),Un}function cn(){var fn=[];function Ai(){fn.push.apply(fn,Ii(arguments))}var ji=[];function Ln(){var Un=\"v\"+Wr++;return ji.push(Un),arguments.length>0&&(fn.push(Un,\"=\"),fn.push.apply(fn,Ii(arguments)),fn.push(\";\")),Un}return e(Ai,{def:Ln,toString:function(){return mi([ji.length>0?\"var \"+ji.join(\",\")+\";\":\"\",mi(fn)])}})}function On(){var fn=cn(),Ai=cn(),ji=fn.toString,Ln=Ai.toString;function Un(gn,ca){Ai(gn,ca,\"=\",fn.def(gn,ca),\";\")}return e(function(){fn.apply(fn,Ii(arguments))},{def:fn.def,entry:fn,exit:Ai,save:Un,set:function(gn,ca,Kn){Un(gn,ca),fn(gn,ca,\"=\",Kn,\";\")},toString:function(){return ji()+Ln()}})}function Bn(){var fn=mi(arguments),Ai=On(),ji=On(),Ln=Ai.toString,Un=ji.toString;return e(Ai,{then:function(){return Ai.apply(Ai,Ii(arguments)),this},else:function(){return ji.apply(ji,Ii(arguments)),this},toString:function(){var gn=Un();return gn&&(gn=\"else{\"+gn+\"}\"),mi([\"if(\",fn,\"){\",Ln(),\"}\",gn])}})}var yn=cn(),to={};function Rn(fn,Ai){var ji=[];function Ln(){var Za=\"a\"+ji.length;return ji.push(Za),Za}Ai=Ai||0;for(var Un=0;Un<Ai;++Un)Ln();var gn=On(),ca=gn.toString,Kn=to[fn]=e(gn,{arg:Ln,toString:function(){return mi([\"function(\",ji.join(),\"){\",ca(),\"}\"])}});return Kn}function Dn(){var fn=['\"use strict\";',yn,\"return {\"];Object.keys(to).forEach(function(Un){fn.push('\"',Un,'\":',to[Un].toString(),\",\")}),fn.push(\"}\");var Ai=mi(fn).replace(/;/g,`;\n", - "`).replace(/}/g,`}\n", - "`).replace(/{/g,`{\n", - "`),ji;if(Er&&(ji=Rc(Ai),Er[ji]))return Er[ji].apply(null,Ui);var Ln=Function.apply(null,wi.concat(Ai));return Er&&(Er[ji]=Ln),Ln.apply(null,Ui)}return{global:yn,link:Bi,block:cn,proc:Rn,scope:On,cond:Bn,compile:Dn}}var Ma=\"xyzw\".split(\"\"),Ta=5121,Ea=1,qa=2,Cn=0,sn=1,Ua=2,mo=3,Xo=4,Ts=5,Qo=6,ys=\"dither\",Bo=\"blend.enable\",yl=\"blend.color\",Gs=\"blend.equation\",Rs=\"blend.func\",ia=\"depth.enable\",Ka=\"depth.func\",vs=\"depth.range\",Ko=\"depth.mask\",nu=\"colorMask\",Ru=\"cull.enable\",ac=\"cull.face\",mf=\"frontFace\",bu=\"lineWidth\",Kc=\"polygonOffset.enable\",Du=\"polygonOffset.offset\",Dc=\"sample.alpha\",Da=\"sample.enable\",eo=\"sample.coverage\",Jc=\"stencil.enable\",yc=\"stencil.mask\",_c=\"stencil.func\",le=\"stencil.opFront\",w=\"stencil.opBack\",B=\"scissor.enable\",Q=\"scissor.box\",ee=\"viewport\",se=\"profile\",qe=\"framebuffer\",je=\"vert\",it=\"frag\",yt=\"elements\",Ot=\"primitive\",Nt=\"count\",hr=\"offset\",Sr=\"instances\",he=\"vao\",be=\"Width\",Pe=\"Height\",Oe=qe+be,Je=qe+Pe,He=ee+be,et=ee+Pe,Mt=\"drawingBuffer\",Dt=Mt+be,Ut=Mt+Pe,tr=[Rs,Gs,_c,le,w,eo,ee,Q,Du],mr=34962,Rr=34963,zr=2884,Xr=3042,di=3024,Li=2960,Ci=2929,Qi=3089,Mn=32823,pa=32926,ea=32928,Ga=5126,To=35664,Wa=35665,co=35666,Ro=5124,Ds=35667,As=35668,yo=35669,po=35670,_l=35671,Hl=35672,Zu=35673,cu=35674,el=35675,au=35676,zc=35678,zl=35680,Fl=4,Z=1028,oe=1029,we=2304,Be=2305,Ue=32775,We=32776,wt=519,tt=7680,zt=0,or=1,lr=32774,Dr=513,Ir=36160,oi=36064,ui={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},qr={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},Kr={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},ii={cw:we,ccw:Be};function vi(At){return Array.isArray(At)||Or(At)||Nr(At)}function ci(At){return At.sort(function(Er,Wr){return Er===ee?-1:Wr===ee?1:Er<Wr?-1:1})}function Jr(At,Er,Wr,wi){this.thisDep=At,this.contextDep=Er,this.propDep=Wr,this.append=wi}function un(At){return At&&!(At.thisDep||At.contextDep||At.propDep)}function dn(At){return new Jr(!1,!1,!1,At)}function En(At,Er){var Wr=At.type;if(Wr===Cn){var wi=At.data.length;return new Jr(!0,wi>=1,wi>=2,Er)}else if(Wr===Xo){var Ui=At.data;return new Jr(Ui.thisDep,Ui.contextDep,Ui.propDep,Er)}else{if(Wr===Ts)return new Jr(!1,!1,!1,Er);if(Wr===Qo){for(var Oi=!1,Bi=!1,cn=!1,On=0;On<At.data.length;++On){var Bn=At.data[On];if(Bn.type===sn)cn=!0;else if(Bn.type===Ua)Bi=!0;else if(Bn.type===mo)Oi=!0;else if(Bn.type===Cn){Oi=!0;var yn=Bn.data;yn>=1&&(Bi=!0),yn>=2&&(cn=!0)}else Bn.type===Xo&&(Oi=Oi||Bn.data.thisDep,Bi=Bi||Bn.data.contextDep,cn=cn||Bn.data.propDep)}return new Jr(Oi,Bi,cn,Er)}else return new Jr(Wr===mo,Wr===Ua,Wr===sn,Er)}}var Nn=new Jr(!1,!1,!1,function(){});function ga(At,Er,Wr,wi,Ui,Oi,Bi,cn,On,Bn,yn,to,Rn,Dn,fn,Ai){var ji=Bn.Record,Ln={add:32774,subtract:32778,\"reverse subtract\":32779};Wr.ext_blend_minmax&&(Ln.min=Ue,Ln.max=We);var Un=Wr.angle_instanced_arrays,gn=Wr.webgl_draw_buffers,ca=Wr.oes_vertex_array_object,Kn={dirty:!0,profile:Ai.profile},Za={},wn=[],vn={},Aa={};function aa(vt){return vt.replace(\".\",\"_\")}function Xn(vt,Pt,Wt){var rr=aa(vt);wn.push(vt),Za[rr]=Kn[rr]=!!Wt,vn[rr]=Pt}function Vn(vt,Pt,Wt){var rr=aa(vt);wn.push(vt),Array.isArray(Wt)?(Kn[rr]=Wt.slice(),Za[rr]=Wt.slice()):Kn[rr]=Za[rr]=Wt,Aa[rr]=Pt}function ma(vt){return!!isNaN(vt)}Xn(ys,di),Xn(Bo,Xr),Vn(yl,\"blendColor\",[0,0,0,0]),Vn(Gs,\"blendEquationSeparate\",[lr,lr]),Vn(Rs,\"blendFuncSeparate\",[or,zt,or,zt]),Xn(ia,Ci,!0),Vn(Ka,\"depthFunc\",Dr),Vn(vs,\"depthRange\",[0,1]),Vn(Ko,\"depthMask\",!0),Vn(nu,nu,[!0,!0,!0,!0]),Xn(Ru,zr),Vn(ac,\"cullFace\",oe),Vn(mf,mf,Be),Vn(bu,bu,1),Xn(Kc,Mn),Vn(Du,\"polygonOffset\",[0,0]),Xn(Dc,pa),Xn(Da,ea),Vn(eo,\"sampleCoverage\",[1,!1]),Xn(Jc,Li),Vn(yc,\"stencilMask\",-1),Vn(_c,\"stencilFunc\",[wt,0,-1]),Vn(le,\"stencilOpSeparate\",[Z,tt,tt,tt]),Vn(w,\"stencilOpSeparate\",[oe,tt,tt,tt]),Xn(B,Qi),Vn(Q,\"scissor\",[0,0,At.drawingBufferWidth,At.drawingBufferHeight]),Vn(ee,ee,[0,0,At.drawingBufferWidth,At.drawingBufferHeight]);var ro={gl:At,context:Rn,strings:Er,next:Za,current:Kn,draw:to,elements:Oi,buffer:Ui,shader:yn,attributes:Bn.state,vao:Bn,uniforms:On,framebuffer:cn,extensions:Wr,timer:Dn,isBufferArgs:vi},Ao={primTypes:Ki,compareFuncs:qr,blendFuncs:ui,blendEquations:Ln,stencilOps:Kr,glTypes:bi,orientationType:ii};gn&&(Ao.backBuffer=[oe],Ao.drawBuffer=M(wi.maxDrawbuffers,function(vt){return vt===0?[0]:M(vt,function(Pt){return oi+Pt})}));var Jn=0;function Oa(){var vt=Pn({cache:fn}),Pt=vt.link,Wt=vt.global;vt.id=Jn++,vt.batchId=\"0\";var rr=Pt(ro),dr=vt.shared={props:\"a0\"};Object.keys(ro).forEach(function(Cr){dr[Cr]=Wt.def(rr,\".\",Cr)});var pr=vt.next={},kr=vt.current={};Object.keys(Aa).forEach(function(Cr){Array.isArray(Kn[Cr])&&(pr[Cr]=Wt.def(dr.next,\".\",Cr),kr[Cr]=Wt.def(dr.current,\".\",Cr))});var Ar=vt.constants={};Object.keys(Ao).forEach(function(Cr){Ar[Cr]=Wt.def(JSON.stringify(Ao[Cr]))}),vt.invoke=function(Cr,cr){switch(cr.type){case Cn:var Gr=[\"this\",dr.context,dr.props,vt.batchId];return Cr.def(Pt(cr.data),\".call(\",Gr.slice(0,Math.max(cr.data.length+1,4)),\")\");case sn:return Cr.def(dr.props,cr.data);case Ua:return Cr.def(dr.context,cr.data);case mo:return Cr.def(\"this\",cr.data);case Xo:return cr.data.append(vt,Cr),cr.data.ref;case Ts:return cr.data.toString();case Qo:return cr.data.map(function(ei){return vt.invoke(Cr,ei)})}},vt.attribCache={};var gr={};return vt.scopeAttrib=function(Cr){var cr=Er.id(Cr);if(cr in gr)return gr[cr];var Gr=Bn.scope[cr];Gr||(Gr=Bn.scope[cr]=new ji);var ei=gr[cr]=Pt(Gr);return ei},vt}function _o(vt){var Pt=vt.static,Wt=vt.dynamic,rr;if(se in Pt){var dr=!!Pt[se];rr=dn(function(kr,Ar){return dr}),rr.enable=dr}else if(se in Wt){var pr=Wt[se];rr=En(pr,function(kr,Ar){return kr.invoke(Ar,pr)})}return rr}function Po(vt,Pt){var Wt=vt.static,rr=vt.dynamic;if(qe in Wt){var dr=Wt[qe];return dr?(dr=cn.getFramebuffer(dr),dn(function(kr,Ar){var gr=kr.link(dr),Cr=kr.shared;Ar.set(Cr.framebuffer,\".next\",gr);var cr=Cr.context;return Ar.set(cr,\".\"+Oe,gr+\".width\"),Ar.set(cr,\".\"+Je,gr+\".height\"),gr})):dn(function(kr,Ar){var gr=kr.shared;Ar.set(gr.framebuffer,\".next\",\"null\");var Cr=gr.context;return Ar.set(Cr,\".\"+Oe,Cr+\".\"+Dt),Ar.set(Cr,\".\"+Je,Cr+\".\"+Ut),\"null\"})}else if(qe in rr){var pr=rr[qe];return En(pr,function(kr,Ar){var gr=kr.invoke(Ar,pr),Cr=kr.shared,cr=Cr.framebuffer,Gr=Ar.def(cr,\".getFramebuffer(\",gr,\")\");Ar.set(cr,\".next\",Gr);var ei=Cr.context;return Ar.set(ei,\".\"+Oe,Gr+\"?\"+Gr+\".width:\"+ei+\".\"+Dt),Ar.set(ei,\".\"+Je,Gr+\"?\"+Gr+\".height:\"+ei+\".\"+Ut),Gr})}else return null}function Jo(vt,Pt,Wt){var rr=vt.static,dr=vt.dynamic;function pr(gr){if(gr in rr){var Cr=rr[gr],cr=!0,Gr=Cr.x|0,ei=Cr.y|0,yi,tn;return\"width\"in Cr?yi=Cr.width|0:cr=!1,\"height\"in Cr?tn=Cr.height|0:cr=!1,new Jr(!cr&&Pt&&Pt.thisDep,!cr&&Pt&&Pt.contextDep,!cr&&Pt&&Pt.propDep,function(Qn,qn){var rn=Qn.shared.context,bn=yi;\"width\"in Cr||(bn=qn.def(rn,\".\",Oe,\"-\",Gr));var mn=tn;return\"height\"in Cr||(mn=qn.def(rn,\".\",Je,\"-\",ei)),[Gr,ei,bn,mn]})}else if(gr in dr){var Ri=dr[gr],ln=En(Ri,function(Qn,qn){var rn=Qn.invoke(qn,Ri),bn=Qn.shared.context,mn=qn.def(rn,\".x|0\"),Gn=qn.def(rn,\".y|0\"),da=qn.def('\"width\" in ',rn,\"?\",rn,\".width|0:\",\"(\",bn,\".\",Oe,\"-\",mn,\")\"),No=qn.def('\"height\" in ',rn,\"?\",rn,\".height|0:\",\"(\",bn,\".\",Je,\"-\",Gn,\")\");return[mn,Gn,da,No]});return Pt&&(ln.thisDep=ln.thisDep||Pt.thisDep,ln.contextDep=ln.contextDep||Pt.contextDep,ln.propDep=ln.propDep||Pt.propDep),ln}else return Pt?new Jr(Pt.thisDep,Pt.contextDep,Pt.propDep,function(Qn,qn){var rn=Qn.shared.context;return[0,0,qn.def(rn,\".\",Oe),qn.def(rn,\".\",Je)]}):null}var kr=pr(ee);if(kr){var Ar=kr;kr=new Jr(kr.thisDep,kr.contextDep,kr.propDep,function(gr,Cr){var cr=Ar.append(gr,Cr),Gr=gr.shared.context;return Cr.set(Gr,\".\"+He,cr[2]),Cr.set(Gr,\".\"+et,cr[3]),cr})}return{viewport:kr,scissor_box:pr(Q)}}function Yl(vt,Pt){var Wt=vt.static,rr=typeof Wt[it]==\"string\"&&typeof Wt[je]==\"string\";if(rr){if(Object.keys(Pt.dynamic).length>0)return null;var dr=Pt.static,pr=Object.keys(dr);if(pr.length>0&&typeof dr[pr[0]]==\"number\"){for(var kr=[],Ar=0;Ar<pr.length;++Ar)kr.push([dr[pr[Ar]]|0,pr[Ar]]);return kr}}return null}function $c(vt,Pt,Wt){var rr=vt.static,dr=vt.dynamic;function pr(cr){if(cr in rr){var Gr=Er.id(rr[cr]),ei=dn(function(){return Gr});return ei.id=Gr,ei}else if(cr in dr){var yi=dr[cr];return En(yi,function(tn,Ri){var ln=tn.invoke(Ri,yi),Qn=Ri.def(tn.shared.strings,\".id(\",ln,\")\");return Qn})}return null}var kr=pr(it),Ar=pr(je),gr=null,Cr;return un(kr)&&un(Ar)?(gr=yn.program(Ar.id,kr.id,null,Wt),Cr=dn(function(cr,Gr){return cr.link(gr)})):Cr=new Jr(kr&&kr.thisDep||Ar&&Ar.thisDep,kr&&kr.contextDep||Ar&&Ar.contextDep,kr&&kr.propDep||Ar&&Ar.propDep,function(cr,Gr){var ei=cr.shared.shader,yi;kr?yi=kr.append(cr,Gr):yi=Gr.def(ei,\".\",it);var tn;Ar?tn=Ar.append(cr,Gr):tn=Gr.def(ei,\".\",je);var Ri=ei+\".program(\"+tn+\",\"+yi;return Gr.def(Ri+\")\")}),{frag:kr,vert:Ar,progVar:Cr,program:gr}}function xs(vt,Pt){var Wt=vt.static,rr=vt.dynamic,dr={},pr=!1;function kr(){if(he in Wt){var qn=Wt[he];return qn!==null&&Bn.getVAO(qn)===null&&(qn=Bn.createVAO(qn)),pr=!0,dr.vao=qn,dn(function(bn){var mn=Bn.getVAO(qn);return mn?bn.link(mn):\"null\"})}else if(he in rr){pr=!0;var rn=rr[he];return En(rn,function(bn,mn){var Gn=bn.invoke(mn,rn);return mn.def(bn.shared.vao+\".getVAO(\"+Gn+\")\")})}return null}var Ar=kr(),gr=!1;function Cr(){if(yt in Wt){var qn=Wt[yt];if(dr.elements=qn,vi(qn)){var rn=dr.elements=Oi.create(qn,!0);qn=Oi.getElements(rn),gr=!0}else qn&&(qn=Oi.getElements(qn),gr=!0);var bn=dn(function(Gn,da){if(qn){var No=Gn.link(qn);return Gn.ELEMENTS=No,No}return Gn.ELEMENTS=null,null});return bn.value=qn,bn}else if(yt in rr){gr=!0;var mn=rr[yt];return En(mn,function(Gn,da){var No=Gn.shared,Do=No.isBufferArgs,ps=No.elements,fo=Gn.invoke(da,mn),as=da.def(\"null\"),tl=da.def(Do,\"(\",fo,\")\"),zu=Gn.cond(tl).then(as,\"=\",ps,\".createStream(\",fo,\");\").else(as,\"=\",ps,\".getElements(\",fo,\");\");return da.entry(zu),da.exit(Gn.cond(tl).then(ps,\".destroyStream(\",as,\");\")),Gn.ELEMENTS=as,as})}else if(pr)return new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(Gn,da){return da.def(Gn.shared.vao+\".currentVAO?\"+Gn.shared.elements+\".getElements(\"+Gn.shared.vao+\".currentVAO.elements):null\")});return null}var cr=Cr();function Gr(){if(Ot in Wt){var qn=Wt[Ot];return dr.primitive=qn,dn(function(bn,mn){return Ki[qn]})}else if(Ot in rr){var rn=rr[Ot];return En(rn,function(bn,mn){var Gn=bn.constants.primTypes,da=bn.invoke(mn,rn);return mn.def(Gn,\"[\",da,\"]\")})}else{if(gr)return un(cr)?cr.value?dn(function(bn,mn){return mn.def(bn.ELEMENTS,\".primType\")}):dn(function(){return Fl}):new Jr(cr.thisDep,cr.contextDep,cr.propDep,function(bn,mn){var Gn=bn.ELEMENTS;return mn.def(Gn,\"?\",Gn,\".primType:\",Fl)});if(pr)return new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(bn,mn){return mn.def(bn.shared.vao+\".currentVAO?\"+bn.shared.vao+\".currentVAO.primitive:\"+Fl)})}return null}function ei(qn,rn){if(qn in Wt){var bn=Wt[qn]|0;return rn?dr.offset=bn:dr.instances=bn,dn(function(Gn,da){return rn&&(Gn.OFFSET=bn),bn})}else if(qn in rr){var mn=rr[qn];return En(mn,function(Gn,da){var No=Gn.invoke(da,mn);return rn&&(Gn.OFFSET=No),No})}else if(rn){if(gr)return dn(function(Gn,da){return Gn.OFFSET=0,0});if(pr)return new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(Gn,da){return da.def(Gn.shared.vao+\".currentVAO?\"+Gn.shared.vao+\".currentVAO.offset:0\")})}else if(pr)return new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(Gn,da){return da.def(Gn.shared.vao+\".currentVAO?\"+Gn.shared.vao+\".currentVAO.instances:-1\")});return null}var yi=ei(hr,!0);function tn(){if(Nt in Wt){var qn=Wt[Nt]|0;return dr.count=qn,dn(function(){return qn})}else if(Nt in rr){var rn=rr[Nt];return En(rn,function(da,No){var Do=da.invoke(No,rn);return Do})}else if(gr)if(un(cr)){if(cr)return yi?new Jr(yi.thisDep,yi.contextDep,yi.propDep,function(da,No){var Do=No.def(da.ELEMENTS,\".vertCount-\",da.OFFSET);return Do}):dn(function(da,No){return No.def(da.ELEMENTS,\".vertCount\")});var bn=dn(function(){return-1});return bn}else{var mn=new Jr(cr.thisDep||yi.thisDep,cr.contextDep||yi.contextDep,cr.propDep||yi.propDep,function(da,No){var Do=da.ELEMENTS;return da.OFFSET?No.def(Do,\"?\",Do,\".vertCount-\",da.OFFSET,\":-1\"):No.def(Do,\"?\",Do,\".vertCount:-1\")});return mn}else if(pr){var Gn=new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(da,No){return No.def(da.shared.vao,\".currentVAO?\",da.shared.vao,\".currentVAO.count:-1\")});return Gn}return null}var Ri=Gr(),ln=tn(),Qn=ei(Sr,!1);return{elements:cr,primitive:Ri,count:ln,instances:Qn,offset:yi,vao:Ar,vaoActive:pr,elementsActive:gr,static:dr}}function Qc(vt,Pt){var Wt=vt.static,rr=vt.dynamic,dr={};return wn.forEach(function(pr){var kr=aa(pr);function Ar(gr,Cr){if(pr in Wt){var cr=gr(Wt[pr]);dr[kr]=dn(function(){return cr})}else if(pr in rr){var Gr=rr[pr];dr[kr]=En(Gr,function(ei,yi){return Cr(ei,yi,ei.invoke(yi,Gr))})}}switch(pr){case Ru:case Bo:case ys:case Jc:case ia:case B:case Kc:case Dc:case Da:case Ko:return Ar(function(gr){return gr},function(gr,Cr,cr){return cr});case Ka:return Ar(function(gr){return qr[gr]},function(gr,Cr,cr){var Gr=gr.constants.compareFuncs;return Cr.def(Gr,\"[\",cr,\"]\")});case vs:return Ar(function(gr){return gr},function(gr,Cr,cr){var Gr=Cr.def(\"+\",cr,\"[0]\"),ei=Cr.def(\"+\",cr,\"[1]\");return[Gr,ei]});case Rs:return Ar(function(gr){var Cr=\"srcRGB\"in gr?gr.srcRGB:gr.src,cr=\"srcAlpha\"in gr?gr.srcAlpha:gr.src,Gr=\"dstRGB\"in gr?gr.dstRGB:gr.dst,ei=\"dstAlpha\"in gr?gr.dstAlpha:gr.dst;return[ui[Cr],ui[Gr],ui[cr],ui[ei]]},function(gr,Cr,cr){var Gr=gr.constants.blendFuncs;function ei(rn,bn){var mn=Cr.def('\"',rn,bn,'\" in ',cr,\"?\",cr,\".\",rn,bn,\":\",cr,\".\",rn);return mn}var yi=ei(\"src\",\"RGB\"),tn=ei(\"dst\",\"RGB\"),Ri=Cr.def(Gr,\"[\",yi,\"]\"),ln=Cr.def(Gr,\"[\",ei(\"src\",\"Alpha\"),\"]\"),Qn=Cr.def(Gr,\"[\",tn,\"]\"),qn=Cr.def(Gr,\"[\",ei(\"dst\",\"Alpha\"),\"]\");return[Ri,Qn,ln,qn]});case Gs:return Ar(function(gr){if(typeof gr==\"string\")return[Ln[gr],Ln[gr]];if(typeof gr==\"object\")return[Ln[gr.rgb],Ln[gr.alpha]]},function(gr,Cr,cr){var Gr=gr.constants.blendEquations,ei=Cr.def(),yi=Cr.def(),tn=gr.cond(\"typeof \",cr,'===\"string\"');return tn.then(ei,\"=\",yi,\"=\",Gr,\"[\",cr,\"];\"),tn.else(ei,\"=\",Gr,\"[\",cr,\".rgb];\",yi,\"=\",Gr,\"[\",cr,\".alpha];\"),Cr(tn),[ei,yi]});case yl:return Ar(function(gr){return M(4,function(Cr){return+gr[Cr]})},function(gr,Cr,cr){return M(4,function(Gr){return Cr.def(\"+\",cr,\"[\",Gr,\"]\")})});case yc:return Ar(function(gr){return gr|0},function(gr,Cr,cr){return Cr.def(cr,\"|0\")});case _c:return Ar(function(gr){var Cr=gr.cmp||\"keep\",cr=gr.ref||0,Gr=\"mask\"in gr?gr.mask:-1;return[qr[Cr],cr,Gr]},function(gr,Cr,cr){var Gr=gr.constants.compareFuncs,ei=Cr.def('\"cmp\" in ',cr,\"?\",Gr,\"[\",cr,\".cmp]\",\":\",tt),yi=Cr.def(cr,\".ref|0\"),tn=Cr.def('\"mask\" in ',cr,\"?\",cr,\".mask|0:-1\");return[ei,yi,tn]});case le:case w:return Ar(function(gr){var Cr=gr.fail||\"keep\",cr=gr.zfail||\"keep\",Gr=gr.zpass||\"keep\";return[pr===w?oe:Z,Kr[Cr],Kr[cr],Kr[Gr]]},function(gr,Cr,cr){var Gr=gr.constants.stencilOps;function ei(yi){return Cr.def('\"',yi,'\" in ',cr,\"?\",Gr,\"[\",cr,\".\",yi,\"]:\",tt)}return[pr===w?oe:Z,ei(\"fail\"),ei(\"zfail\"),ei(\"zpass\")]});case Du:return Ar(function(gr){var Cr=gr.factor|0,cr=gr.units|0;return[Cr,cr]},function(gr,Cr,cr){var Gr=Cr.def(cr,\".factor|0\"),ei=Cr.def(cr,\".units|0\");return[Gr,ei]});case ac:return Ar(function(gr){var Cr=0;return gr===\"front\"?Cr=Z:gr===\"back\"&&(Cr=oe),Cr},function(gr,Cr,cr){return Cr.def(cr,'===\"front\"?',Z,\":\",oe)});case bu:return Ar(function(gr){return gr},function(gr,Cr,cr){return cr});case mf:return Ar(function(gr){return ii[gr]},function(gr,Cr,cr){return Cr.def(cr+'===\"cw\"?'+we+\":\"+Be)});case nu:return Ar(function(gr){return gr.map(function(Cr){return!!Cr})},function(gr,Cr,cr){return M(4,function(Gr){return\"!!\"+cr+\"[\"+Gr+\"]\"})});case eo:return Ar(function(gr){var Cr=\"value\"in gr?gr.value:1,cr=!!gr.invert;return[Cr,cr]},function(gr,Cr,cr){var Gr=Cr.def('\"value\" in ',cr,\"?+\",cr,\".value:1\"),ei=Cr.def(\"!!\",cr,\".invert\");return[Gr,ei]})}}),dr}function El(vt,Pt){var Wt=vt.static,rr=vt.dynamic,dr={};return Object.keys(Wt).forEach(function(pr){var kr=Wt[pr],Ar;if(typeof kr==\"number\"||typeof kr==\"boolean\")Ar=dn(function(){return kr});else if(typeof kr==\"function\"){var gr=kr._reglType;gr===\"texture2d\"||gr===\"textureCube\"?Ar=dn(function(Cr){return Cr.link(kr)}):(gr===\"framebuffer\"||gr===\"framebufferCube\")&&(Ar=dn(function(Cr){return Cr.link(kr.color[0])}))}else an(kr)&&(Ar=dn(function(Cr){var cr=Cr.global.def(\"[\",M(kr.length,function(Gr){return kr[Gr]}),\"]\");return cr}));Ar.value=kr,dr[pr]=Ar}),Object.keys(rr).forEach(function(pr){var kr=rr[pr];dr[pr]=En(kr,function(Ar,gr){return Ar.invoke(gr,kr)})}),dr}function bc(vt,Pt){var Wt=vt.static,rr=vt.dynamic,dr={};return Object.keys(Wt).forEach(function(pr){var kr=Wt[pr],Ar=Er.id(pr),gr=new ji;if(vi(kr))gr.state=Ea,gr.buffer=Ui.getBuffer(Ui.create(kr,mr,!1,!0)),gr.type=0;else{var Cr=Ui.getBuffer(kr);if(Cr)gr.state=Ea,gr.buffer=Cr,gr.type=0;else if(\"constant\"in kr){var cr=kr.constant;gr.buffer=\"null\",gr.state=qa,typeof cr==\"number\"?gr.x=cr:Ma.forEach(function(Qn,qn){qn<cr.length&&(gr[Qn]=cr[qn])})}else{vi(kr.buffer)?Cr=Ui.getBuffer(Ui.create(kr.buffer,mr,!1,!0)):Cr=Ui.getBuffer(kr.buffer);var Gr=kr.offset|0,ei=kr.stride|0,yi=kr.size|0,tn=!!kr.normalized,Ri=0;\"type\"in kr&&(Ri=bi[kr.type]);var ln=kr.divisor|0;gr.buffer=Cr,gr.state=Ea,gr.size=yi,gr.normalized=tn,gr.type=Ri||Cr.dtype,gr.offset=Gr,gr.stride=ei,gr.divisor=ln}}dr[pr]=dn(function(Qn,qn){var rn=Qn.attribCache;if(Ar in rn)return rn[Ar];var bn={isStream:!1};return Object.keys(gr).forEach(function(mn){bn[mn]=gr[mn]}),gr.buffer&&(bn.buffer=Qn.link(gr.buffer),bn.type=bn.type||bn.buffer+\".dtype\"),rn[Ar]=bn,bn})}),Object.keys(rr).forEach(function(pr){var kr=rr[pr];function Ar(gr,Cr){var cr=gr.invoke(Cr,kr),Gr=gr.shared,ei=gr.constants,yi=Gr.isBufferArgs,tn=Gr.buffer,Ri={isStream:Cr.def(!1)},ln=new ji;ln.state=Ea,Object.keys(ln).forEach(function(bn){Ri[bn]=Cr.def(\"\"+ln[bn])});var Qn=Ri.buffer,qn=Ri.type;Cr(\"if(\",yi,\"(\",cr,\")){\",Ri.isStream,\"=true;\",Qn,\"=\",tn,\".createStream(\",mr,\",\",cr,\");\",qn,\"=\",Qn,\".dtype;\",\"}else{\",Qn,\"=\",tn,\".getBuffer(\",cr,\");\",\"if(\",Qn,\"){\",qn,\"=\",Qn,\".dtype;\",'}else if(\"constant\" in ',cr,\"){\",Ri.state,\"=\",qa,\";\",\"if(typeof \"+cr+'.constant === \"number\"){',Ri[Ma[0]],\"=\",cr,\".constant;\",Ma.slice(1).map(function(bn){return Ri[bn]}).join(\"=\"),\"=0;\",\"}else{\",Ma.map(function(bn,mn){return Ri[bn]+\"=\"+cr+\".constant.length>\"+mn+\"?\"+cr+\".constant[\"+mn+\"]:0;\"}).join(\"\"),\"}}else{\",\"if(\",yi,\"(\",cr,\".buffer)){\",Qn,\"=\",tn,\".createStream(\",mr,\",\",cr,\".buffer);\",\"}else{\",Qn,\"=\",tn,\".getBuffer(\",cr,\".buffer);\",\"}\",qn,'=\"type\" in ',cr,\"?\",ei.glTypes,\"[\",cr,\".type]:\",Qn,\".dtype;\",Ri.normalized,\"=!!\",cr,\".normalized;\");function rn(bn){Cr(Ri[bn],\"=\",cr,\".\",bn,\"|0;\")}return rn(\"size\"),rn(\"offset\"),rn(\"stride\"),rn(\"divisor\"),Cr(\"}}\"),Cr.exit(\"if(\",Ri.isStream,\"){\",tn,\".destroyStream(\",Qn,\");\",\"}\"),Ri}dr[pr]=En(kr,Ar)}),dr}function wc(vt){var Pt=vt.static,Wt=vt.dynamic,rr={};return Object.keys(Pt).forEach(function(dr){var pr=Pt[dr];rr[dr]=dn(function(kr,Ar){return typeof pr==\"number\"||typeof pr==\"boolean\"?\"\"+pr:kr.link(pr)})}),Object.keys(Wt).forEach(function(dr){var pr=Wt[dr];rr[dr]=En(pr,function(kr,Ar){return kr.invoke(Ar,pr)})}),rr}function yf(vt,Pt,Wt,rr,dr){var pr=vt.static,kr=vt.dynamic,Ar=Yl(vt,Pt),gr=Po(vt,dr),Cr=Jo(vt,gr,dr),cr=xs(vt,dr),Gr=Qc(vt,dr),ei=$c(vt,dr,Ar);function yi(rn){var bn=Cr[rn];bn&&(Gr[rn]=bn)}yi(ee),yi(aa(Q));var tn=Object.keys(Gr).length>0,Ri={framebuffer:gr,draw:cr,shader:ei,state:Gr,dirty:tn,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(Ri.profile=_o(vt,dr),Ri.uniforms=El(Wt,dr),Ri.drawVAO=Ri.scopeVAO=cr.vao,!Ri.drawVAO&&ei.program&&!Ar&&Wr.angle_instanced_arrays&&cr.static.elements){var ln=!0,Qn=ei.program.attributes.map(function(rn){var bn=Pt.static[rn];return ln=ln&&!!bn,bn});if(ln&&Qn.length>0){var qn=Bn.getVAO(Bn.createVAO({attributes:Qn,elements:cr.static.elements}));Ri.drawVAO=new Jr(null,null,null,function(rn,bn){return rn.link(qn)}),Ri.useVAO=!0}}return Ar?Ri.useVAO=!0:Ri.attributes=bc(Pt,dr),Ri.context=wc(rr,dr),Ri}function Gl(vt,Pt,Wt){var rr=vt.shared,dr=rr.context,pr=vt.scope();Object.keys(Wt).forEach(function(kr){Pt.save(dr,\".\"+kr);var Ar=Wt[kr],gr=Ar.append(vt,Pt);Array.isArray(gr)?pr(dr,\".\",kr,\"=[\",gr.join(),\"];\"):pr(dr,\".\",kr,\"=\",gr,\";\")}),Pt(pr)}function Fc(vt,Pt,Wt,rr){var dr=vt.shared,pr=dr.gl,kr=dr.framebuffer,Ar;gn&&(Ar=Pt.def(dr.extensions,\".webgl_draw_buffers\"));var gr=vt.constants,Cr=gr.drawBuffer,cr=gr.backBuffer,Gr;Wt?Gr=Wt.append(vt,Pt):Gr=Pt.def(kr,\".next\"),rr||Pt(\"if(\",Gr,\"!==\",kr,\".cur){\"),Pt(\"if(\",Gr,\"){\",pr,\".bindFramebuffer(\",Ir,\",\",Gr,\".framebuffer);\"),gn&&Pt(Ar,\".drawBuffersWEBGL(\",Cr,\"[\",Gr,\".colorAttachments.length]);\"),Pt(\"}else{\",pr,\".bindFramebuffer(\",Ir,\",null);\"),gn&&Pt(Ar,\".drawBuffersWEBGL(\",cr,\");\"),Pt(\"}\",kr,\".cur=\",Gr,\";\"),rr||Pt(\"}\")}function ef(vt,Pt,Wt){var rr=vt.shared,dr=rr.gl,pr=vt.current,kr=vt.next,Ar=rr.current,gr=rr.next,Cr=vt.cond(Ar,\".dirty\");wn.forEach(function(cr){var Gr=aa(cr);if(!(Gr in Wt.state)){var ei,yi;if(Gr in kr){ei=kr[Gr],yi=pr[Gr];var tn=M(Kn[Gr].length,function(ln){return Cr.def(ei,\"[\",ln,\"]\")});Cr(vt.cond(tn.map(function(ln,Qn){return ln+\"!==\"+yi+\"[\"+Qn+\"]\"}).join(\"||\")).then(dr,\".\",Aa[Gr],\"(\",tn,\");\",tn.map(function(ln,Qn){return yi+\"[\"+Qn+\"]=\"+ln}).join(\";\"),\";\"))}else{ei=Cr.def(gr,\".\",Gr);var Ri=vt.cond(ei,\"!==\",Ar,\".\",Gr);Cr(Ri),Gr in vn?Ri(vt.cond(ei).then(dr,\".enable(\",vn[Gr],\");\").else(dr,\".disable(\",vn[Gr],\");\"),Ar,\".\",Gr,\"=\",ei,\";\"):Ri(dr,\".\",Aa[Gr],\"(\",ei,\");\",Ar,\".\",Gr,\"=\",ei,\";\")}}}),Object.keys(Wt.state).length===0&&Cr(Ar,\".dirty=false;\"),Pt(Cr)}function ls(vt,Pt,Wt,rr){var dr=vt.shared,pr=vt.current,kr=dr.current,Ar=dr.gl,gr;ci(Object.keys(Wt)).forEach(function(Cr){var cr=Wt[Cr];if(!(rr&&!rr(cr))){var Gr=cr.append(vt,Pt);if(vn[Cr]){var ei=vn[Cr];un(cr)?(gr=vt.link(Gr,{stable:!0}),Pt(vt.cond(gr).then(Ar,\".enable(\",ei,\");\").else(Ar,\".disable(\",ei,\");\")),Pt(kr,\".\",Cr,\"=\",gr,\";\")):(Pt(vt.cond(Gr).then(Ar,\".enable(\",ei,\");\").else(Ar,\".disable(\",ei,\");\")),Pt(kr,\".\",Cr,\"=\",Gr,\";\"))}else if(an(Gr)){var yi=pr[Cr];Pt(Ar,\".\",Aa[Cr],\"(\",Gr,\");\",Gr.map(function(tn,Ri){return yi+\"[\"+Ri+\"]=\"+tn}).join(\";\"),\";\")}else un(cr)?(gr=vt.link(Gr,{stable:!0}),Pt(Ar,\".\",Aa[Cr],\"(\",gr,\");\",kr,\".\",Cr,\"=\",gr,\";\")):Pt(Ar,\".\",Aa[Cr],\"(\",Gr,\");\",kr,\".\",Cr,\"=\",Gr,\";\")}})}function _f(vt,Pt){Un&&(vt.instancing=Pt.def(vt.shared.extensions,\".angle_instanced_arrays\"))}function ns(vt,Pt,Wt,rr,dr){var pr=vt.shared,kr=vt.stats,Ar=pr.current,gr=pr.timer,Cr=Wt.profile;function cr(){return typeof performance==\"undefined\"?\"Date.now()\":\"performance.now()\"}var Gr,ei;function yi(rn){Gr=Pt.def(),rn(Gr,\"=\",cr(),\";\"),typeof dr==\"string\"?rn(kr,\".count+=\",dr,\";\"):rn(kr,\".count++;\"),Dn&&(rr?(ei=Pt.def(),rn(ei,\"=\",gr,\".getNumPendingQueries();\")):rn(gr,\".beginQuery(\",kr,\");\"))}function tn(rn){rn(kr,\".cpuTime+=\",cr(),\"-\",Gr,\";\"),Dn&&(rr?rn(gr,\".pushScopeStats(\",ei,\",\",gr,\".getNumPendingQueries(),\",kr,\");\"):rn(gr,\".endQuery();\"))}function Ri(rn){var bn=Pt.def(Ar,\".profile\");Pt(Ar,\".profile=\",rn,\";\"),Pt.exit(Ar,\".profile=\",bn,\";\")}var ln;if(Cr){if(un(Cr)){Cr.enable?(yi(Pt),tn(Pt.exit),Ri(\"true\")):Ri(\"false\");return}ln=Cr.append(vt,Pt),Ri(ln)}else ln=Pt.def(Ar,\".profile\");var Qn=vt.block();yi(Qn),Pt(\"if(\",ln,\"){\",Qn,\"}\");var qn=vt.block();tn(qn),Pt.exit(\"if(\",ln,\"){\",qn,\"}\")}function Y(vt,Pt,Wt,rr,dr){var pr=vt.shared;function kr(gr){switch(gr){case To:case Ds:case _l:return 2;case Wa:case As:case Hl:return 3;case co:case yo:case Zu:return 4;default:return 1}}function Ar(gr,Cr,cr){var Gr=pr.gl,ei=Pt.def(gr,\".location\"),yi=Pt.def(pr.attributes,\"[\",ei,\"]\"),tn=cr.state,Ri=cr.buffer,ln=[cr.x,cr.y,cr.z,cr.w],Qn=[\"buffer\",\"normalized\",\"offset\",\"stride\"];function qn(){Pt(\"if(!\",yi,\".buffer){\",Gr,\".enableVertexAttribArray(\",ei,\");}\");var bn=cr.type,mn;if(cr.size?mn=Pt.def(cr.size,\"||\",Cr):mn=Cr,Pt(\"if(\",yi,\".type!==\",bn,\"||\",yi,\".size!==\",mn,\"||\",Qn.map(function(da){return yi+\".\"+da+\"!==\"+cr[da]}).join(\"||\"),\"){\",Gr,\".bindBuffer(\",mr,\",\",Ri,\".buffer);\",Gr,\".vertexAttribPointer(\",[ei,mn,bn,cr.normalized,cr.stride,cr.offset],\");\",yi,\".type=\",bn,\";\",yi,\".size=\",mn,\";\",Qn.map(function(da){return yi+\".\"+da+\"=\"+cr[da]+\";\"}).join(\"\"),\"}\"),Un){var Gn=cr.divisor;Pt(\"if(\",yi,\".divisor!==\",Gn,\"){\",vt.instancing,\".vertexAttribDivisorANGLE(\",[ei,Gn],\");\",yi,\".divisor=\",Gn,\";}\")}}function rn(){Pt(\"if(\",yi,\".buffer){\",Gr,\".disableVertexAttribArray(\",ei,\");\",yi,\".buffer=null;\",\"}if(\",Ma.map(function(bn,mn){return yi+\".\"+bn+\"!==\"+ln[mn]}).join(\"||\"),\"){\",Gr,\".vertexAttrib4f(\",ei,\",\",ln,\");\",Ma.map(function(bn,mn){return yi+\".\"+bn+\"=\"+ln[mn]+\";\"}).join(\"\"),\"}\")}tn===Ea?qn():tn===qa?rn():(Pt(\"if(\",tn,\"===\",Ea,\"){\"),qn(),Pt(\"}else{\"),rn(),Pt(\"}\"))}rr.forEach(function(gr){var Cr=gr.name,cr=Wt.attributes[Cr],Gr;if(cr){if(!dr(cr))return;Gr=cr.append(vt,Pt)}else{if(!dr(Nn))return;var ei=vt.scopeAttrib(Cr);Gr={},Object.keys(new ji).forEach(function(yi){Gr[yi]=Pt.def(ei,\".\",yi)})}Ar(vt.link(gr),kr(gr.info.type),Gr)})}function z(vt,Pt,Wt,rr,dr,pr){for(var kr=vt.shared,Ar=kr.gl,gr,Cr=0;Cr<rr.length;++Cr){var cr=rr[Cr],Gr=cr.name,ei=cr.info.type,yi=Wt.uniforms[Gr],tn=vt.link(cr),Ri=tn+\".location\",ln;if(yi){if(!dr(yi))continue;if(un(yi)){var Qn=yi.value;if(ei===zc||ei===zl){var qn=vt.link(Qn._texture||Qn.color[0]._texture);Pt(Ar,\".uniform1i(\",Ri,\",\",qn+\".bind());\"),Pt.exit(qn,\".unbind();\")}else if(ei===cu||ei===el||ei===au){var rn=vt.global.def(\"new Float32Array([\"+Array.prototype.slice.call(Qn)+\"])\"),bn=2;ei===el?bn=3:ei===au&&(bn=4),Pt(Ar,\".uniformMatrix\",bn,\"fv(\",Ri,\",false,\",rn,\");\")}else{switch(ei){case Ga:gr=\"1f\";break;case To:gr=\"2f\";break;case Wa:gr=\"3f\";break;case co:gr=\"4f\";break;case po:gr=\"1i\";break;case Ro:gr=\"1i\";break;case _l:gr=\"2i\";break;case Ds:gr=\"2i\";break;case Hl:gr=\"3i\";break;case As:gr=\"3i\";break;case Zu:gr=\"4i\";break;case yo:gr=\"4i\";break}Pt(Ar,\".uniform\",gr,\"(\",Ri,\",\",an(Qn)?Array.prototype.slice.call(Qn):Qn,\");\")}continue}else ln=yi.append(vt,Pt)}else{if(!dr(Nn))continue;ln=Pt.def(kr.uniforms,\"[\",Er.id(Gr),\"]\")}ei===zc?Pt(\"if(\",ln,\"&&\",ln,'._reglType===\"framebuffer\"){',ln,\"=\",ln,\".color[0];\",\"}\"):ei===zl&&Pt(\"if(\",ln,\"&&\",ln,'._reglType===\"framebufferCube\"){',ln,\"=\",ln,\".color[0];\",\"}\");var mn=1;switch(ei){case zc:case zl:var Gn=Pt.def(ln,\"._texture\");Pt(Ar,\".uniform1i(\",Ri,\",\",Gn,\".bind());\"),Pt.exit(Gn,\".unbind();\");continue;case Ro:case po:gr=\"1i\";break;case Ds:case _l:gr=\"2i\",mn=2;break;case As:case Hl:gr=\"3i\",mn=3;break;case yo:case Zu:gr=\"4i\",mn=4;break;case Ga:gr=\"1f\";break;case To:gr=\"2f\",mn=2;break;case Wa:gr=\"3f\",mn=3;break;case co:gr=\"4f\",mn=4;break;case cu:gr=\"Matrix2fv\";break;case el:gr=\"Matrix3fv\";break;case au:gr=\"Matrix4fv\";break}if(gr.charAt(0)===\"M\"){Pt(Ar,\".uniform\",gr,\"(\",Ri,\",\");var da=Math.pow(ei-cu+2,2),No=vt.global.def(\"new Float32Array(\",da,\")\");Array.isArray(ln)?Pt(\"false,(\",M(da,function(tl){return No+\"[\"+tl+\"]=\"+ln[tl]}),\",\",No,\")\"):Pt(\"false,(Array.isArray(\",ln,\")||\",ln,\" instanceof Float32Array)?\",ln,\":(\",M(da,function(tl){return No+\"[\"+tl+\"]=\"+ln+\"[\"+tl+\"]\"}),\",\",No,\")\"),Pt(\");\")}else if(mn>1){for(var Do=[],ps=[],fo=0;fo<mn;++fo)Array.isArray(ln)?ps.push(ln[fo]):ps.push(Pt.def(ln+\"[\"+fo+\"]\")),pr&&Do.push(Pt.def());pr&&Pt(\"if(!\",vt.batchId,\"||\",Do.map(function(tl,zu){return tl+\"!==\"+ps[zu]}).join(\"||\"),\"){\",Do.map(function(tl,zu){return tl+\"=\"+ps[zu]+\";\"}).join(\"\")),Pt(Ar,\".uniform\",gr,\"(\",Ri,\",\",ps.join(\",\"),\");\"),pr&&Pt(\"}\")}else{if(pr){var as=Pt.def();Pt(\"if(!\",vt.batchId,\"||\",as,\"!==\",ln,\"){\",as,\"=\",ln,\";\")}Pt(Ar,\".uniform\",gr,\"(\",Ri,\",\",ln,\");\"),pr&&Pt(\"}\")}}}function K(vt,Pt,Wt,rr){var dr=vt.shared,pr=dr.gl,kr=dr.draw,Ar=rr.draw;function gr(){var mn=Ar.elements,Gn,da=Pt;return mn?((mn.contextDep&&rr.contextDynamic||mn.propDep)&&(da=Wt),Gn=mn.append(vt,da),Ar.elementsActive&&da(\"if(\"+Gn+\")\"+pr+\".bindBuffer(\"+Rr+\",\"+Gn+\".buffer.buffer);\")):(Gn=da.def(),da(Gn,\"=\",kr,\".\",yt,\";\",\"if(\",Gn,\"){\",pr,\".bindBuffer(\",Rr,\",\",Gn,\".buffer.buffer);}\",\"else if(\",dr.vao,\".currentVAO){\",Gn,\"=\",vt.shared.elements+\".getElements(\"+dr.vao,\".currentVAO.elements);\",ca?\"\":\"if(\"+Gn+\")\"+pr+\".bindBuffer(\"+Rr+\",\"+Gn+\".buffer.buffer);\",\"}\")),Gn}function Cr(){var mn=Ar.count,Gn,da=Pt;return mn?((mn.contextDep&&rr.contextDynamic||mn.propDep)&&(da=Wt),Gn=mn.append(vt,da)):Gn=da.def(kr,\".\",Nt),Gn}var cr=gr();function Gr(mn){var Gn=Ar[mn];return Gn?Gn.contextDep&&rr.contextDynamic||Gn.propDep?Gn.append(vt,Wt):Gn.append(vt,Pt):Pt.def(kr,\".\",mn)}var ei=Gr(Ot),yi=Gr(hr),tn=Cr();if(typeof tn==\"number\"){if(tn===0)return}else Wt(\"if(\",tn,\"){\"),Wt.exit(\"}\");var Ri,ln;Un&&(Ri=Gr(Sr),ln=vt.instancing);var Qn=cr+\".type\",qn=Ar.elements&&un(Ar.elements)&&!Ar.vaoActive;function rn(){function mn(){Wt(ln,\".drawElementsInstancedANGLE(\",[ei,tn,Qn,yi+\"<<((\"+Qn+\"-\"+Ta+\")>>1)\",Ri],\");\")}function Gn(){Wt(ln,\".drawArraysInstancedANGLE(\",[ei,yi,tn,Ri],\");\")}cr&&cr!==\"null\"?qn?mn():(Wt(\"if(\",cr,\"){\"),mn(),Wt(\"}else{\"),Gn(),Wt(\"}\")):Gn()}function bn(){function mn(){Wt(pr+\".drawElements(\"+[ei,tn,Qn,yi+\"<<((\"+Qn+\"-\"+Ta+\")>>1)\"]+\");\")}function Gn(){Wt(pr+\".drawArrays(\"+[ei,yi,tn]+\");\")}cr&&cr!==\"null\"?qn?mn():(Wt(\"if(\",cr,\"){\"),mn(),Wt(\"}else{\"),Gn(),Wt(\"}\")):Gn()}Un&&(typeof Ri!=\"number\"||Ri>=0)?typeof Ri==\"string\"?(Wt(\"if(\",Ri,\">0){\"),rn(),Wt(\"}else if(\",Ri,\"<0){\"),bn(),Wt(\"}\")):rn():bn()}function O(vt,Pt,Wt,rr,dr){var pr=Oa(),kr=pr.proc(\"body\",dr);return Un&&(pr.instancing=kr.def(pr.shared.extensions,\".angle_instanced_arrays\")),vt(pr,kr,Wt,rr),pr.compile().body}function $(vt,Pt,Wt,rr){_f(vt,Pt),Wt.useVAO?Wt.drawVAO?Pt(vt.shared.vao,\".setVAO(\",Wt.drawVAO.append(vt,Pt),\");\"):Pt(vt.shared.vao,\".setVAO(\",vt.shared.vao,\".targetVAO);\"):(Pt(vt.shared.vao,\".setVAO(null);\"),Y(vt,Pt,Wt,rr.attributes,function(){return!0})),z(vt,Pt,Wt,rr.uniforms,function(){return!0},!1),K(vt,Pt,Pt,Wt)}function pe(vt,Pt){var Wt=vt.proc(\"draw\",1);_f(vt,Wt),Gl(vt,Wt,Pt.context),Fc(vt,Wt,Pt.framebuffer),ef(vt,Wt,Pt),ls(vt,Wt,Pt.state),ns(vt,Wt,Pt,!1,!0);var rr=Pt.shader.progVar.append(vt,Wt);if(Wt(vt.shared.gl,\".useProgram(\",rr,\".program);\"),Pt.shader.program)$(vt,Wt,Pt,Pt.shader.program);else{Wt(vt.shared.vao,\".setVAO(null);\");var dr=vt.global.def(\"{}\"),pr=Wt.def(rr,\".id\"),kr=Wt.def(dr,\"[\",pr,\"]\");Wt(vt.cond(kr).then(kr,\".call(this,a0);\").else(kr,\"=\",dr,\"[\",pr,\"]=\",vt.link(function(Ar){return O($,vt,Pt,Ar,1)}),\"(\",rr,\");\",kr,\".call(this,a0);\"))}Object.keys(Pt.state).length>0&&Wt(vt.shared.current,\".dirty=true;\"),vt.shared.vao&&Wt(vt.shared.vao,\".setVAO(null);\")}function de(vt,Pt,Wt,rr){vt.batchId=\"a1\",_f(vt,Pt);function dr(){return!0}Y(vt,Pt,Wt,rr.attributes,dr),z(vt,Pt,Wt,rr.uniforms,dr,!1),K(vt,Pt,Pt,Wt)}function Ie(vt,Pt,Wt,rr){_f(vt,Pt);var dr=Wt.contextDep,pr=Pt.def(),kr=\"a0\",Ar=\"a1\",gr=Pt.def();vt.shared.props=gr,vt.batchId=pr;var Cr=vt.scope(),cr=vt.scope();Pt(Cr.entry,\"for(\",pr,\"=0;\",pr,\"<\",Ar,\";++\",pr,\"){\",gr,\"=\",kr,\"[\",pr,\"];\",cr,\"}\",Cr.exit);function Gr(Qn){return Qn.contextDep&&dr||Qn.propDep}function ei(Qn){return!Gr(Qn)}if(Wt.needsContext&&Gl(vt,cr,Wt.context),Wt.needsFramebuffer&&Fc(vt,cr,Wt.framebuffer),ls(vt,cr,Wt.state,Gr),Wt.profile&&Gr(Wt.profile)&&ns(vt,cr,Wt,!1,!0),rr)Wt.useVAO?Wt.drawVAO?Gr(Wt.drawVAO)?cr(vt.shared.vao,\".setVAO(\",Wt.drawVAO.append(vt,cr),\");\"):Cr(vt.shared.vao,\".setVAO(\",Wt.drawVAO.append(vt,Cr),\");\"):Cr(vt.shared.vao,\".setVAO(\",vt.shared.vao,\".targetVAO);\"):(Cr(vt.shared.vao,\".setVAO(null);\"),Y(vt,Cr,Wt,rr.attributes,ei),Y(vt,cr,Wt,rr.attributes,Gr)),z(vt,Cr,Wt,rr.uniforms,ei,!1),z(vt,cr,Wt,rr.uniforms,Gr,!0),K(vt,Cr,cr,Wt);else{var yi=vt.global.def(\"{}\"),tn=Wt.shader.progVar.append(vt,cr),Ri=cr.def(tn,\".id\"),ln=cr.def(yi,\"[\",Ri,\"]\");cr(vt.shared.gl,\".useProgram(\",tn,\".program);\",\"if(!\",ln,\"){\",ln,\"=\",yi,\"[\",Ri,\"]=\",vt.link(function(Qn){return O(de,vt,Wt,Qn,2)}),\"(\",tn,\");}\",ln,\".call(this,a0[\",pr,\"],\",pr,\");\")}}function $e(vt,Pt){var Wt=vt.proc(\"batch\",2);vt.batchId=\"0\",_f(vt,Wt);var rr=!1,dr=!0;Object.keys(Pt.context).forEach(function(yi){rr=rr||Pt.context[yi].propDep}),rr||(Gl(vt,Wt,Pt.context),dr=!1);var pr=Pt.framebuffer,kr=!1;pr?(pr.propDep?rr=kr=!0:pr.contextDep&&rr&&(kr=!0),kr||Fc(vt,Wt,pr)):Fc(vt,Wt,null),Pt.state.viewport&&Pt.state.viewport.propDep&&(rr=!0);function Ar(yi){return yi.contextDep&&rr||yi.propDep}ef(vt,Wt,Pt),ls(vt,Wt,Pt.state,function(yi){return!Ar(yi)}),(!Pt.profile||!Ar(Pt.profile))&&ns(vt,Wt,Pt,!1,\"a1\"),Pt.contextDep=rr,Pt.needsContext=dr,Pt.needsFramebuffer=kr;var gr=Pt.shader.progVar;if(gr.contextDep&&rr||gr.propDep)Ie(vt,Wt,Pt,null);else{var Cr=gr.append(vt,Wt);if(Wt(vt.shared.gl,\".useProgram(\",Cr,\".program);\"),Pt.shader.program)Ie(vt,Wt,Pt,Pt.shader.program);else{Wt(vt.shared.vao,\".setVAO(null);\");var cr=vt.global.def(\"{}\"),Gr=Wt.def(Cr,\".id\"),ei=Wt.def(cr,\"[\",Gr,\"]\");Wt(vt.cond(ei).then(ei,\".call(this,a0,a1);\").else(ei,\"=\",cr,\"[\",Gr,\"]=\",vt.link(function(yi){return O(Ie,vt,Pt,yi,2)}),\"(\",Cr,\");\",ei,\".call(this,a0,a1);\"))}}Object.keys(Pt.state).length>0&&Wt(vt.shared.current,\".dirty=true;\"),vt.shared.vao&&Wt(vt.shared.vao,\".setVAO(null);\")}function pt(vt,Pt){var Wt=vt.proc(\"scope\",3);vt.batchId=\"a2\";var rr=vt.shared,dr=rr.current;if(Gl(vt,Wt,Pt.context),Pt.framebuffer&&Pt.framebuffer.append(vt,Wt),ci(Object.keys(Pt.state)).forEach(function(Ar){var gr=Pt.state[Ar],Cr=gr.append(vt,Wt);an(Cr)?Cr.forEach(function(cr,Gr){ma(cr)?Wt.set(vt.next[Ar],\"[\"+Gr+\"]\",cr):Wt.set(vt.next[Ar],\"[\"+Gr+\"]\",vt.link(cr,{stable:!0}))}):un(gr)?Wt.set(rr.next,\".\"+Ar,vt.link(Cr,{stable:!0})):Wt.set(rr.next,\".\"+Ar,Cr)}),ns(vt,Wt,Pt,!0,!0),[yt,hr,Nt,Sr,Ot].forEach(function(Ar){var gr=Pt.draw[Ar];if(gr){var Cr=gr.append(vt,Wt);ma(Cr)?Wt.set(rr.draw,\".\"+Ar,Cr):Wt.set(rr.draw,\".\"+Ar,vt.link(Cr),{stable:!0})}}),Object.keys(Pt.uniforms).forEach(function(Ar){var gr=Pt.uniforms[Ar].append(vt,Wt);Array.isArray(gr)&&(gr=\"[\"+gr.map(function(Cr){return ma(Cr)?Cr:vt.link(Cr,{stable:!0})})+\"]\"),Wt.set(rr.uniforms,\"[\"+vt.link(Er.id(Ar),{stable:!0})+\"]\",gr)}),Object.keys(Pt.attributes).forEach(function(Ar){var gr=Pt.attributes[Ar].append(vt,Wt),Cr=vt.scopeAttrib(Ar);Object.keys(new ji).forEach(function(cr){Wt.set(Cr,\".\"+cr,gr[cr])})}),Pt.scopeVAO){var pr=Pt.scopeVAO.append(vt,Wt);ma(pr)?Wt.set(rr.vao,\".targetVAO\",pr):Wt.set(rr.vao,\".targetVAO\",vt.link(pr,{stable:!0}))}function kr(Ar){var gr=Pt.shader[Ar];if(gr){var Cr=gr.append(vt,Wt);ma(Cr)?Wt.set(rr.shader,\".\"+Ar,Cr):Wt.set(rr.shader,\".\"+Ar,vt.link(Cr,{stable:!0}))}}kr(je),kr(it),Object.keys(Pt.state).length>0&&(Wt(dr,\".dirty=true;\"),Wt.exit(dr,\".dirty=true;\")),Wt(\"a1(\",vt.shared.context,\",a0,\",vt.batchId,\");\")}function Kt(vt){if(!(typeof vt!=\"object\"||an(vt))){for(var Pt=Object.keys(vt),Wt=0;Wt<Pt.length;++Wt)if(h.isDynamic(vt[Pt[Wt]]))return!0;return!1}}function ir(vt,Pt,Wt){var rr=Pt.static[Wt];if(!rr||!Kt(rr))return;var dr=vt.global,pr=Object.keys(rr),kr=!1,Ar=!1,gr=!1,Cr=vt.global.def(\"{}\");pr.forEach(function(Gr){var ei=rr[Gr];if(h.isDynamic(ei)){typeof ei==\"function\"&&(ei=rr[Gr]=h.unbox(ei));var yi=En(ei,null);kr=kr||yi.thisDep,gr=gr||yi.propDep,Ar=Ar||yi.contextDep}else{switch(dr(Cr,\".\",Gr,\"=\"),typeof ei){case\"number\":dr(ei);break;case\"string\":dr('\"',ei,'\"');break;case\"object\":Array.isArray(ei)&&dr(\"[\",ei.join(),\"]\");break;default:dr(vt.link(ei));break}dr(\";\")}});function cr(Gr,ei){pr.forEach(function(yi){var tn=rr[yi];if(h.isDynamic(tn)){var Ri=Gr.invoke(ei,tn);ei(Cr,\".\",yi,\"=\",Ri,\";\")}})}Pt.dynamic[Wt]=new h.DynamicVariable(Xo,{thisDep:kr,contextDep:Ar,propDep:gr,ref:Cr,append:cr}),delete Pt.static[Wt]}function Jt(vt,Pt,Wt,rr,dr){var pr=Oa();pr.stats=pr.link(dr),Object.keys(Pt.static).forEach(function(Ar){ir(pr,Pt,Ar)}),tr.forEach(function(Ar){ir(pr,vt,Ar)});var kr=yf(vt,Pt,Wt,rr,pr);return kr.shader.program&&(kr.shader.program.attributes.sort(function(Ar,gr){return Ar.name<gr.name?-1:1}),kr.shader.program.uniforms.sort(function(Ar,gr){return Ar.name<gr.name?-1:1})),pe(pr,kr),pt(pr,kr),$e(pr,kr),e(pr.compile(),{destroy:function(){kr.shader.program.destroy()}})}return{next:Za,current:Kn,procs:function(){var vt=Oa(),Pt=vt.proc(\"poll\"),Wt=vt.proc(\"refresh\"),rr=vt.block();Pt(rr),Wt(rr);var dr=vt.shared,pr=dr.gl,kr=dr.next,Ar=dr.current;rr(Ar,\".dirty=false;\"),Fc(vt,Pt),Fc(vt,Wt,null,!0);var gr;Un&&(gr=vt.link(Un)),Wr.oes_vertex_array_object&&Wt(vt.link(Wr.oes_vertex_array_object),\".bindVertexArrayOES(null);\");var Cr=Wt.def(dr.attributes),cr=Wt.def(0),Gr=vt.cond(cr,\".buffer\");Gr.then(pr,\".enableVertexAttribArray(i);\",pr,\".bindBuffer(\",mr,\",\",cr,\".buffer.buffer);\",pr,\".vertexAttribPointer(i,\",cr,\".size,\",cr,\".type,\",cr,\".normalized,\",cr,\".stride,\",cr,\".offset);\").else(pr,\".disableVertexAttribArray(i);\",pr,\".vertexAttrib4f(i,\",cr,\".x,\",cr,\".y,\",cr,\".z,\",cr,\".w);\",cr,\".buffer=null;\");var ei=vt.link(wi.maxAttributes,{stable:!0});return Wt(\"for(var i=0;i<\",ei,\";++i){\",cr,\"=\",Cr,\"[i];\",Gr,\"}\"),Un&&Wt(\"for(var i=0;i<\",ei,\";++i){\",gr,\".vertexAttribDivisorANGLE(i,\",Cr,\"[i].divisor);\",\"}\"),Wt(vt.shared.vao,\".currentVAO=null;\",vt.shared.vao,\".setVAO(\",vt.shared.vao,\".targetVAO);\"),Object.keys(vn).forEach(function(yi){var tn=vn[yi],Ri=rr.def(kr,\".\",yi),ln=vt.block();ln(\"if(\",Ri,\"){\",pr,\".enable(\",tn,\")}else{\",pr,\".disable(\",tn,\")}\",Ar,\".\",yi,\"=\",Ri,\";\"),Wt(ln),Pt(\"if(\",Ri,\"!==\",Ar,\".\",yi,\"){\",ln,\"}\")}),Object.keys(Aa).forEach(function(yi){var tn=Aa[yi],Ri=Kn[yi],ln,Qn,qn=vt.block();if(qn(pr,\".\",tn,\"(\"),an(Ri)){var rn=Ri.length;ln=vt.global.def(kr,\".\",yi),Qn=vt.global.def(Ar,\".\",yi),qn(M(rn,function(bn){return ln+\"[\"+bn+\"]\"}),\");\",M(rn,function(bn){return Qn+\"[\"+bn+\"]=\"+ln+\"[\"+bn+\"];\"}).join(\"\")),Pt(\"if(\",M(rn,function(bn){return ln+\"[\"+bn+\"]!==\"+Qn+\"[\"+bn+\"]\"}).join(\"||\"),\"){\",qn,\"}\")}else ln=rr.def(kr,\".\",yi),Qn=rr.def(Ar,\".\",yi),qn(ln,\");\",Ar,\".\",yi,\"=\",ln,\";\"),Pt(\"if(\",ln,\"!==\",Qn,\"){\",qn,\"}\");Wt(qn)}),vt.compile()}(),compile:Jt}}function ya(){return{vaoCount:0,bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0}}var so=34918,wa=34919,io=35007,Ss=function(At,Er){if(!Er.ext_disjoint_timer_query)return null;var Wr=[];function wi(){return Wr.pop()||Er.ext_disjoint_timer_query.createQueryEXT()}function Ui(Ln){Wr.push(Ln)}var Oi=[];function Bi(Ln){var Un=wi();Er.ext_disjoint_timer_query.beginQueryEXT(io,Un),Oi.push(Un),Dn(Oi.length-1,Oi.length,Ln)}function cn(){Er.ext_disjoint_timer_query.endQueryEXT(io)}function On(){this.startQueryIndex=-1,this.endQueryIndex=-1,this.sum=0,this.stats=null}var Bn=[];function yn(){return Bn.pop()||new On}function to(Ln){Bn.push(Ln)}var Rn=[];function Dn(Ln,Un,gn){var ca=yn();ca.startQueryIndex=Ln,ca.endQueryIndex=Un,ca.sum=0,ca.stats=gn,Rn.push(ca)}var fn=[],Ai=[];function ji(){var Ln,Un,gn=Oi.length;if(gn!==0){Ai.length=Math.max(Ai.length,gn+1),fn.length=Math.max(fn.length,gn+1),fn[0]=0,Ai[0]=0;var ca=0;for(Ln=0,Un=0;Un<Oi.length;++Un){var Kn=Oi[Un];Er.ext_disjoint_timer_query.getQueryObjectEXT(Kn,wa)?(ca+=Er.ext_disjoint_timer_query.getQueryObjectEXT(Kn,so),Ui(Kn)):Oi[Ln++]=Kn,fn[Un+1]=ca,Ai[Un+1]=Ln}for(Oi.length=Ln,Ln=0,Un=0;Un<Rn.length;++Un){var Za=Rn[Un],wn=Za.startQueryIndex,vn=Za.endQueryIndex;Za.sum+=fn[vn]-fn[wn];var Aa=Ai[wn],aa=Ai[vn];aa===Aa?(Za.stats.gpuTime+=Za.sum/1e6,to(Za)):(Za.startQueryIndex=Aa,Za.endQueryIndex=aa,Rn[Ln++]=Za)}Rn.length=Ln}}return{beginQuery:Bi,endQuery:cn,pushScopeStats:Dn,update:ji,getNumPendingQueries:function(){return Oi.length},clear:function(){Wr.push.apply(Wr,Oi);for(var Ln=0;Ln<Wr.length;Ln++)Er.ext_disjoint_timer_query.deleteQueryEXT(Wr[Ln]);Oi.length=0,Wr.length=0},restore:function(){Oi.length=0,Wr.length=0}}},_s=16384,Ns=256,pn=1024,za=34962,Lo=\"webglcontextlost\",Fo=\"webglcontextrestored\",js=1,xl=2,fu=3;function dl(At,Er){for(var Wr=0;Wr<At.length;++Wr)if(At[Wr]===Er)return Wr;return-1}function xc(At){var Er=_(At);if(!Er)return null;var Wr=Er.gl,wi=Wr.getContextAttributes(),Ui=Wr.isContextLost(),Oi=C(Wr,Er);if(!Oi)return null;var Bi=x(),cn=ya(),On=Er.cachedCode||{},Bn=Oi.extensions,yn=Ss(Wr,Bn),to=v(),Rn=Wr.drawingBufferWidth,Dn=Wr.drawingBufferHeight,fn={tick:0,time:0,viewportWidth:Rn,viewportHeight:Dn,framebufferWidth:Rn,framebufferHeight:Dn,drawingBufferWidth:Rn,drawingBufferHeight:Dn,pixelRatio:Er.pixelRatio},Ai={},ji={elements:null,primitive:4,count:-1,offset:0,instances:-1},Ln=Br(Wr,Bn),Un=Zr(Wr,cn,Er,Kn),gn=br(Wr,Bn,Un,cn),ca=xu(Wr,Bn,Ln,cn,Un,gn,ji);function Kn(O){return ca.destroyBuffer(O)}var Za=ju(Wr,Bi,cn,Er),wn=df(Wr,Bn,Ln,function(){aa.procs.poll()},fn,cn,Er),vn=Lc(Wr,Bn,Ln,cn,Er),Aa=vf(Wr,Bn,Ln,wn,vn,cn),aa=ga(Wr,Bi,Bn,Ln,Un,gn,wn,Aa,Ai,ca,Za,ji,fn,yn,On,Er),Xn=Dl(Wr,Aa,aa.procs.poll,fn,wi,Bn,Ln),Vn=aa.next,ma=Wr.canvas,ro=[],Ao=[],Jn=[],Oa=[Er.onDestroy],_o=null;function Po(){if(ro.length===0){yn&&yn.update(),_o=null;return}_o=d.next(Po),ef();for(var O=ro.length-1;O>=0;--O){var $=ro[O];$&&$(fn,null,0)}Wr.flush(),yn&&yn.update()}function Jo(){!_o&&ro.length>0&&(_o=d.next(Po))}function Yl(){_o&&(d.cancel(Po),_o=null)}function $c(O){O.preventDefault(),Ui=!0,Yl(),Ao.forEach(function($){$()})}function xs(O){Wr.getError(),Ui=!1,Oi.restore(),Za.restore(),Un.restore(),wn.restore(),vn.restore(),Aa.restore(),ca.restore(),yn&&yn.restore(),aa.procs.refresh(),Jo(),Jn.forEach(function($){$()})}ma&&(ma.addEventListener(Lo,$c,!1),ma.addEventListener(Fo,xs,!1));function Qc(){ro.length=0,Yl(),ma&&(ma.removeEventListener(Lo,$c),ma.removeEventListener(Fo,xs)),Za.clear(),Aa.clear(),vn.clear(),ca.clear(),wn.clear(),gn.clear(),Un.clear(),yn&&yn.clear(),Oa.forEach(function(O){O()})}function El(O){function $(pr){var kr=e({},pr);delete kr.uniforms,delete kr.attributes,delete kr.context,delete kr.vao,\"stencil\"in kr&&kr.stencil.op&&(kr.stencil.opBack=kr.stencil.opFront=kr.stencil.op,delete kr.stencil.op);function Ar(gr){if(gr in kr){var Cr=kr[gr];delete kr[gr],Object.keys(Cr).forEach(function(cr){kr[gr+\".\"+cr]=Cr[cr]})}}return Ar(\"blend\"),Ar(\"depth\"),Ar(\"cull\"),Ar(\"stencil\"),Ar(\"polygonOffset\"),Ar(\"scissor\"),Ar(\"sample\"),\"vao\"in pr&&(kr.vao=pr.vao),kr}function pe(pr,kr){var Ar={},gr={};return Object.keys(pr).forEach(function(Cr){var cr=pr[Cr];if(h.isDynamic(cr)){gr[Cr]=h.unbox(cr,Cr);return}else if(kr&&Array.isArray(cr)){for(var Gr=0;Gr<cr.length;++Gr)if(h.isDynamic(cr[Gr])){gr[Cr]=h.unbox(cr,Cr);return}}Ar[Cr]=cr}),{dynamic:gr,static:Ar}}var de=pe(O.context||{},!0),Ie=pe(O.uniforms||{},!0),$e=pe(O.attributes||{},!1),pt=pe($(O),!1),Kt={gpuTime:0,cpuTime:0,count:0},ir=aa.compile(pt,$e,Ie,de,Kt),Jt=ir.draw,vt=ir.batch,Pt=ir.scope,Wt=[];function rr(pr){for(;Wt.length<pr;)Wt.push(null);return Wt}function dr(pr,kr){var Ar;if(typeof pr==\"function\")return Pt.call(this,null,pr,0);if(typeof kr==\"function\")if(typeof pr==\"number\")for(Ar=0;Ar<pr;++Ar)Pt.call(this,null,kr,Ar);else if(Array.isArray(pr))for(Ar=0;Ar<pr.length;++Ar)Pt.call(this,pr[Ar],kr,Ar);else return Pt.call(this,pr,kr,0);else if(typeof pr==\"number\"){if(pr>0)return vt.call(this,rr(pr|0),pr|0)}else if(Array.isArray(pr)){if(pr.length)return vt.call(this,pr,pr.length)}else return Jt.call(this,pr)}return e(dr,{stats:Kt,destroy:function(){ir.destroy()}})}var bc=Aa.setFBO=El({framebuffer:h.define.call(null,js,\"framebuffer\")});function wc(O,$){var pe=0;aa.procs.poll();var de=$.color;de&&(Wr.clearColor(+de[0]||0,+de[1]||0,+de[2]||0,+de[3]||0),pe|=_s),\"depth\"in $&&(Wr.clearDepth(+$.depth),pe|=Ns),\"stencil\"in $&&(Wr.clearStencil($.stencil|0),pe|=pn),Wr.clear(pe)}function yf(O){if(\"framebuffer\"in O)if(O.framebuffer&&O.framebuffer_reglType===\"framebufferCube\")for(var $=0;$<6;++$)bc(e({framebuffer:O.framebuffer.faces[$]},O),wc);else bc(O,wc);else wc(null,O)}function Gl(O){ro.push(O);function $(){var pe=dl(ro,O);function de(){var Ie=dl(ro,de);ro[Ie]=ro[ro.length-1],ro.length-=1,ro.length<=0&&Yl()}ro[pe]=de}return Jo(),{cancel:$}}function Fc(){var O=Vn.viewport,$=Vn.scissor_box;O[0]=O[1]=$[0]=$[1]=0,fn.viewportWidth=fn.framebufferWidth=fn.drawingBufferWidth=O[2]=$[2]=Wr.drawingBufferWidth,fn.viewportHeight=fn.framebufferHeight=fn.drawingBufferHeight=O[3]=$[3]=Wr.drawingBufferHeight}function ef(){fn.tick+=1,fn.time=_f(),Fc(),aa.procs.poll()}function ls(){wn.refresh(),Fc(),aa.procs.refresh(),yn&&yn.update()}function _f(){return(v()-to)/1e3}ls();function ns(O,$){var pe;switch(O){case\"frame\":return Gl($);case\"lost\":pe=Ao;break;case\"restore\":pe=Jn;break;case\"destroy\":pe=Oa;break;default:}return pe.push($),{cancel:function(){for(var de=0;de<pe.length;++de)if(pe[de]===$){pe[de]=pe[pe.length-1],pe.pop();return}}}}function Y(){return On}function z(O){Object.entries(O).forEach(function($){On[$[0]]=$[1]})}var K=e(El,{clear:yf,prop:h.define.bind(null,js),context:h.define.bind(null,xl),this:h.define.bind(null,fu),draw:El({}),buffer:function(O){return Un.create(O,za,!1,!1)},elements:function(O){return gn.create(O,!1)},texture:wn.create2D,cube:wn.createCube,renderbuffer:vn.create,framebuffer:Aa.create,framebufferCube:Aa.createCube,vao:ca.createVAO,attributes:wi,frame:Gl,on:ns,limits:Ln,hasExtension:function(O){return Ln.extensions.indexOf(O.toLowerCase())>=0},read:Xn,destroy:Qc,_gl:Wr,_refresh:ls,poll:function(){ef(),yn&&yn.update()},now:_f,stats:cn,getCachedCode:Y,preloadCachedCode:z});return Er.onDone(null,K),K}return xc})});var Iqe=ye((wmr,Pqe)=>{\"use strict\";var QOt=Zm();Pqe.exports=function(t){if(t?typeof t==\"string\"&&(t={container:t}):t={},Cqe(t)?t={container:t}:eBt(t)?t={container:t}:tBt(t)?t={gl:t}:t=QOt(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=window.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if(typeof t.container==\"string\"){var r=document.querySelector(t.container);if(!r)throw Error(\"Element \"+t.container+\" is not found\");t.container=r}Cqe(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=Lqe(),t.container.appendChild(t.canvas),kqe(t))}else if(!t.canvas)if(typeof document!=\"undefined\")t.container=document.body||document.documentElement,t.canvas=Lqe(),t.container.appendChild(t.canvas),kqe(t);else throw Error(\"Not DOM environment. Use headless-gl.\");return t.gl||[\"webgl\",\"experimental-webgl\",\"webgl-experimental\"].some(function(n){try{t.gl=t.canvas.getContext(n,t.attrs)}catch(i){}return t.gl}),t.gl};function kqe(e){if(e.container)if(e.container==document.body)document.body.style.width||(e.canvas.width=e.width||e.pixelRatio*window.innerWidth),document.body.style.height||(e.canvas.height=e.height||e.pixelRatio*window.innerHeight);else{var t=e.container.getBoundingClientRect();e.canvas.width=e.width||t.right-t.left,e.canvas.height=e.height||t.bottom-t.top}}function Cqe(e){return typeof e.getContext==\"function\"&&\"width\"in e&&\"height\"in e}function eBt(e){return typeof e.nodeName==\"string\"&&typeof e.appendChild==\"function\"&&typeof e.getBoundingClientRect==\"function\"}function tBt(e){return typeof e.drawArrays==\"function\"||typeof e.drawElements==\"function\"}function Lqe(){var e=document.createElement(\"canvas\");return e.style.position=\"absolute\",e.style.top=0,e.style.left=0,e}});var Dqe=ye((Tmr,Rqe)=>{\"use strict\";var rBt=UY(),iBt=[32,126];Rqe.exports=nBt;function nBt(e){e=e||{};var t=e.shape?e.shape:e.canvas?[e.canvas.width,e.canvas.height]:[512,512],r=e.canvas||document.createElement(\"canvas\"),n=e.font,i=typeof e.step==\"number\"?[e.step,e.step]:e.step||[32,32],a=e.chars||iBt;if(n&&typeof n!=\"string\"&&(n=rBt(n)),!Array.isArray(a))a=String(a).split(\"\");else if(a.length===2&&typeof a[0]==\"number\"&&typeof a[1]==\"number\"){for(var o=[],s=a[0],l=0;s<=a[1];s++)o[l++]=String.fromCharCode(s);a=o}t=t.slice(),r.width=t[0],r.height=t[1];var u=r.getContext(\"2d\");u.fillStyle=\"#000\",u.fillRect(0,0,r.width,r.height),u.font=n,u.textAlign=\"center\",u.textBaseline=\"middle\",u.fillStyle=\"#fff\";for(var c=i[0]/2,f=i[1]/2,s=0;s<a.length;s++)u.fillText(a[s],c,f),(c+=i[0])>t[0]-i[0]/2&&(c=i[0]/2,f+=i[1]);return r}});var WY=ye(Th=>{\"use strict\";\"use restrict\";var jY=32;Th.INT_BITS=jY;Th.INT_MAX=2147483647;Th.INT_MIN=-1<<jY-1;Th.sign=function(e){return(e>0)-(e<0)};Th.abs=function(e){var t=e>>jY-1;return(e^t)-t};Th.min=function(e,t){return t^(e^t)&-(e<t)};Th.max=function(e,t){return e^(e^t)&-(e<t)};Th.isPow2=function(e){return!(e&e-1)&&!!e};Th.log2=function(e){var t,r;return t=(e>65535)<<4,e>>>=t,r=(e>255)<<3,e>>>=r,t|=r,r=(e>15)<<2,e>>>=r,t|=r,r=(e>3)<<1,e>>>=r,t|=r,t|e>>1};Th.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0};Th.popCount=function(e){return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24};function zqe(e){var t=32;return e&=-e,e&&t--,e&65535&&(t-=16),e&16711935&&(t-=8),e&252645135&&(t-=4),e&858993459&&(t-=2),e&1431655765&&(t-=1),t}Th.countTrailingZeros=zqe;Th.nextPow2=function(e){return e+=e===0,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e+1};Th.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e-(e>>>1)};Th.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,e&=15,27030>>>e&1};var _k=new Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=r&1,--i;e[t]=n<<i&255}})(_k);Th.reverse=function(e){return _k[e&255]<<24|_k[e>>>8&255]<<16|_k[e>>>16&255]<<8|_k[e>>>24&255]};Th.interleave2=function(e,t){return e&=65535,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t&=65535,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1};Th.deinterleave2=function(e,t){return e=e>>>t&1431655765,e=(e|e>>>1)&858993459,e=(e|e>>>2)&252645135,e=(e|e>>>4)&16711935,e=(e|e>>>16)&65535,e<<16>>16};Th.interleave3=function(e,t,r){return e&=1023,e=(e|e<<16)&4278190335,e=(e|e<<8)&251719695,e=(e|e<<4)&3272356035,e=(e|e<<2)&1227133513,t&=1023,t=(t|t<<16)&4278190335,t=(t|t<<8)&251719695,t=(t|t<<4)&3272356035,t=(t|t<<2)&1227133513,e|=t<<1,r&=1023,r=(r|r<<16)&4278190335,r=(r|r<<8)&251719695,r=(r|r<<4)&3272356035,r=(r|r<<2)&1227133513,e|r<<2};Th.deinterleave3=function(e,t){return e=e>>>t&1227133513,e=(e|e>>>2)&3272356035,e=(e|e>>>4)&251719695,e=(e|e>>>8)&4278190335,e=(e|e>>>16)&1023,e<<22>>22};Th.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>zqe(e)+1}});var Oqe=ye((Smr,qqe)=>{\"use strict\";function Fqe(e,t,r){var n=e[r]|0;if(n<=0)return[];var i=new Array(n),a;if(r===e.length-1)for(a=0;a<n;++a)i[a]=t;else for(a=0;a<n;++a)i[a]=Fqe(e,t,r+1);return i}function aBt(e,t){var r,n;for(r=new Array(e),n=0;n<e;++n)r[n]=t;return r}function oBt(e,t){switch(typeof t==\"undefined\"&&(t=0),typeof e){case\"number\":if(e>0)return aBt(e|0,t);break;case\"object\":if(typeof e.length==\"number\")return Fqe(e,t,0);break}return[]}qqe.exports=oBt});var Qqe=ye(Wl=>{\"use strict\";var fx=WY(),Av=Oqe(),Bqe=u2().Buffer;window.__TYPEDARRAY_POOL||(window.__TYPEDARRAY_POOL={UINT8:Av([32,0]),UINT16:Av([32,0]),UINT32:Av([32,0]),BIGUINT64:Av([32,0]),INT8:Av([32,0]),INT16:Av([32,0]),INT32:Av([32,0]),BIGINT64:Av([32,0]),FLOAT:Av([32,0]),DOUBLE:Av([32,0]),DATA:Av([32,0]),UINT8C:Av([32,0]),BUFFER:Av([32,0])});var sBt=typeof Uint8ClampedArray!=\"undefined\",lBt=typeof BigUint64Array!=\"undefined\",uBt=typeof BigInt64Array!=\"undefined\",Xh=window.__TYPEDARRAY_POOL;Xh.UINT8C||(Xh.UINT8C=Av([32,0]));Xh.BIGUINT64||(Xh.BIGUINT64=Av([32,0]));Xh.BIGINT64||(Xh.BIGINT64=Av([32,0]));Xh.BUFFER||(Xh.BUFFER=Av([32,0]));var dF=Xh.DATA,vF=Xh.BUFFER;Wl.free=function(t){if(Bqe.isBuffer(t))vF[fx.log2(t.length)].push(t);else{if(Object.prototype.toString.call(t)!==\"[object ArrayBuffer]\"&&(t=t.buffer),!t)return;var r=t.length||t.byteLength,n=fx.log2(r)|0;dF[n].push(t)}};function Nqe(e){if(e){var t=e.length||e.byteLength,r=fx.log2(t);dF[r].push(e)}}function cBt(e){Nqe(e.buffer)}Wl.freeUint8=Wl.freeUint16=Wl.freeUint32=Wl.freeBigUint64=Wl.freeInt8=Wl.freeInt16=Wl.freeInt32=Wl.freeBigInt64=Wl.freeFloat32=Wl.freeFloat=Wl.freeFloat64=Wl.freeDouble=Wl.freeUint8Clamped=Wl.freeDataView=cBt;Wl.freeArrayBuffer=Nqe;Wl.freeBuffer=function(t){vF[fx.log2(t.length)].push(t)};Wl.malloc=function(t,r){if(r===void 0||r===\"arraybuffer\")return Bp(t);switch(r){case\"uint8\":return ZY(t);case\"uint16\":return Uqe(t);case\"uint32\":return Vqe(t);case\"int8\":return Hqe(t);case\"int16\":return Gqe(t);case\"int32\":return jqe(t);case\"float\":case\"float32\":return Wqe(t);case\"double\":case\"float64\":return Zqe(t);case\"uint8_clamped\":return Xqe(t);case\"bigint64\":return Kqe(t);case\"biguint64\":return Yqe(t);case\"buffer\":return $qe(t);case\"data\":case\"dataview\":return Jqe(t);default:return null}return null};function Bp(t){var t=fx.nextPow2(t),r=fx.log2(t),n=dF[r];return n.length>0?n.pop():new ArrayBuffer(t)}Wl.mallocArrayBuffer=Bp;function ZY(e){return new Uint8Array(Bp(e),0,e)}Wl.mallocUint8=ZY;function Uqe(e){return new Uint16Array(Bp(2*e),0,e)}Wl.mallocUint16=Uqe;function Vqe(e){return new Uint32Array(Bp(4*e),0,e)}Wl.mallocUint32=Vqe;function Hqe(e){return new Int8Array(Bp(e),0,e)}Wl.mallocInt8=Hqe;function Gqe(e){return new Int16Array(Bp(2*e),0,e)}Wl.mallocInt16=Gqe;function jqe(e){return new Int32Array(Bp(4*e),0,e)}Wl.mallocInt32=jqe;function Wqe(e){return new Float32Array(Bp(4*e),0,e)}Wl.mallocFloat32=Wl.mallocFloat=Wqe;function Zqe(e){return new Float64Array(Bp(8*e),0,e)}Wl.mallocFloat64=Wl.mallocDouble=Zqe;function Xqe(e){return sBt?new Uint8ClampedArray(Bp(e),0,e):ZY(e)}Wl.mallocUint8Clamped=Xqe;function Yqe(e){return lBt?new BigUint64Array(Bp(8*e),0,e):null}Wl.mallocBigUint64=Yqe;function Kqe(e){return uBt?new BigInt64Array(Bp(8*e),0,e):null}Wl.mallocBigInt64=Kqe;function Jqe(e){return new DataView(Bp(e),0,e)}Wl.mallocDataView=Jqe;function $qe(e){e=fx.nextPow2(e);var t=fx.log2(e),r=vF[t];return r.length>0?r.pop():new Bqe(e)}Wl.mallocBuffer=$qe;Wl.clearCache=function(){for(var t=0;t<32;++t)Xh.UINT8[t].length=0,Xh.UINT16[t].length=0,Xh.UINT32[t].length=0,Xh.INT8[t].length=0,Xh.INT16[t].length=0,Xh.INT32[t].length=0,Xh.FLOAT[t].length=0,Xh.DOUBLE[t].length=0,Xh.BIGUINT64[t].length=0,Xh.BIGINT64[t].length=0,Xh.UINT8C[t].length=0,dF[t].length=0,vF[t].length=0}});var tOe=ye((Emr,eOe)=>{\"use strict\";var fBt=Object.prototype.toString;eOe.exports=function(e){var t;return fBt.call(e)===\"[object Object]\"&&(t=Object.getPrototypeOf(e),t===null||t===Object.getPrototypeOf({}))}});var XY=ye((kmr,rOe)=>{rOe.exports=function(t,r){r||(r=[0,\"\"]),t=String(t);var n=parseFloat(t,10);return r[0]=n,r[1]=t.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",r}});var aOe=ye((Cmr,nOe)=>{\"use strict\";var hBt=XY();nOe.exports=iOe;var xk=96;function YY(e,t){var r=hBt(getComputedStyle(e).getPropertyValue(t));return r[0]*iOe(r[1],e)}function dBt(e,t){var r=document.createElement(\"div\");r.style[\"font-size\"]=\"128\"+e,t.appendChild(r);var n=YY(r,\"font-size\")/128;return t.removeChild(r),n}function iOe(e,t){switch(t=t||document.body,e=(e||\"px\").trim().toLowerCase(),(t===window||t===document)&&(t=document.body),e){case\"%\":return t.clientHeight/100;case\"ch\":case\"ex\":return dBt(e,t);case\"em\":return YY(t,\"font-size\");case\"rem\":return YY(document.body,\"font-size\");case\"vw\":return window.innerWidth/100;case\"vh\":return window.innerHeight/100;case\"vmin\":return Math.min(window.innerWidth,window.innerHeight)/100;case\"vmax\":return Math.max(window.innerWidth,window.innerHeight)/100;case\"in\":return xk;case\"cm\":return xk/2.54;case\"mm\":return xk/25.4;case\"pt\":return xk/72;case\"pc\":return xk/6}return 1}});var lOe=ye((Lmr,sOe)=>{\"use strict\";sOe.exports=mF;var vBt=mF.canvas=document.createElement(\"canvas\"),pF=vBt.getContext(\"2d\"),oOe=gF([32,126]);mF.createPairs=gF;mF.ascii=oOe;function mF(e,t){Array.isArray(e)&&(e=e.join(\", \"));var r={},n,i=16,a=.05;t&&(t.length===2&&typeof t[0]==\"number\"?n=gF(t):Array.isArray(t)?n=t:(t.o?n=gF(t.o):t.pairs&&(n=t.pairs),t.fontSize&&(i=t.fontSize),t.threshold!=null&&(a=t.threshold))),n||(n=oOe),pF.font=i+\"px \"+e;for(var o=0;o<n.length;o++){var s=n[o],l=pF.measureText(s[0]).width+pF.measureText(s[1]).width,u=pF.measureText(s).width;if(Math.abs(l-u)>i*a){var c=(u-l)/i;r[s]=c*1e3}}return r}function gF(e){for(var t=[],r=e[0];r<=e[1];r++)for(var n=String.fromCharCode(r),i=e[0];i<e[1];i++){var a=String.fromCharCode(i),o=n+a;t.push(o)}return t}});var hOe=ye((Pmr,fOe)=>{\"use strict\";fOe.exports=hx;hx.canvas=document.createElement(\"canvas\");hx.cache={};function hx(o,t){t||(t={}),(typeof o==\"string\"||Array.isArray(o))&&(t.family=o);var r=Array.isArray(t.family)?t.family.join(\", \"):t.family;if(!r)throw Error(\"`family` must be defined\");var n=t.size||t.fontSize||t.em||48,i=t.weight||t.fontWeight||\"\",a=t.style||t.fontStyle||\"\",o=[a,i,n].join(\" \")+\"px \"+r,s=t.origin||\"top\";if(hx.cache[r]&&n<=hx.cache[r].em)return uOe(hx.cache[r],s);var l=t.canvas||hx.canvas,u=l.getContext(\"2d\"),c={upper:t.upper!==void 0?t.upper:\"H\",lower:t.lower!==void 0?t.lower:\"x\",descent:t.descent!==void 0?t.descent:\"p\",ascent:t.ascent!==void 0?t.ascent:\"h\",tittle:t.tittle!==void 0?t.tittle:\"i\",overshoot:t.overshoot!==void 0?t.overshoot:\"O\"},f=Math.ceil(n*1.5);l.height=f,l.width=f*.5,u.font=o;var h=\"H\",d={top:0};u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillStyle=\"black\",u.fillText(h,0,0);var v=Ym(u.getImageData(0,0,f,f));u.clearRect(0,0,f,f),u.textBaseline=\"bottom\",u.fillText(h,0,f);var x=Ym(u.getImageData(0,0,f,f));d.lineHeight=d.bottom=f-x+v,u.clearRect(0,0,f,f),u.textBaseline=\"alphabetic\",u.fillText(h,0,f);var b=Ym(u.getImageData(0,0,f,f)),p=f-b-1+v;d.baseline=d.alphabetic=p,u.clearRect(0,0,f,f),u.textBaseline=\"middle\",u.fillText(h,0,f*.5);var E=Ym(u.getImageData(0,0,f,f));d.median=d.middle=f-E-1+v-f*.5,u.clearRect(0,0,f,f),u.textBaseline=\"hanging\",u.fillText(h,0,f*.5);var k=Ym(u.getImageData(0,0,f,f));d.hanging=f-k-1+v-f*.5,u.clearRect(0,0,f,f),u.textBaseline=\"ideographic\",u.fillText(h,0,f);var A=Ym(u.getImageData(0,0,f,f));if(d.ideographic=f-A-1+v,c.upper&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.upper,0,0),d.upper=Ym(u.getImageData(0,0,f,f)),d.capHeight=d.baseline-d.upper),c.lower&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.lower,0,0),d.lower=Ym(u.getImageData(0,0,f,f)),d.xHeight=d.baseline-d.lower),c.tittle&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.tittle,0,0),d.tittle=Ym(u.getImageData(0,0,f,f))),c.ascent&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.ascent,0,0),d.ascent=Ym(u.getImageData(0,0,f,f))),c.descent&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.descent,0,0),d.descent=cOe(u.getImageData(0,0,f,f))),c.overshoot){u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.overshoot,0,0);var L=cOe(u.getImageData(0,0,f,f));d.overshoot=L-p}for(var _ in d)d[_]/=n;return d.em=n,hx.cache[r]=d,uOe(d,s)}function uOe(e,t){var r={};typeof t==\"string\"&&(t=e[t]);for(var n in e)n!==\"em\"&&(r[n]=e[n]-t);return r}function Ym(e){for(var t=e.height,r=e.data,n=3;n<r.length;n+=4)if(r[n]!==0)return Math.floor((n-3)*.25/t)}function cOe(e){for(var t=e.height,r=e.data,n=r.length-1;n>0;n-=4)if(r[n]!==0)return Math.floor((n-3)*.25/t)}});var gOe=ye((Imr,pOe)=>{\"use strict\";var fA=Eqe(),pBt=Zm(),gBt=GY(),mBt=Iqe(),yBt=EY(),KY=$_(),_Bt=Dqe(),dx=Qqe(),xBt=Q5(),bBt=tOe(),wBt=XY(),TBt=aOe(),ABt=lOe(),SBt=bh(),MBt=hOe(),EBt=W2(),kBt=WY(),dOe=kBt.nextPow2,vOe=new yBt,_F=!1;document.body&&(yF=document.body.appendChild(document.createElement(\"div\")),yF.style.font=\"italic small-caps bold condensed 16px/2 cursive\",getComputedStyle(yF).fontStretch&&(_F=!0),document.body.removeChild(yF));var yF,Vu=function(t){CBt(t)?(t={regl:t},this.gl=t.regl._gl):this.gl=mBt(t),this.shader=vOe.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||gBt({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(),vOe.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(bBt(t)?t:{})};Vu.prototype.createShader=function(){var t=this.regl,r=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(i,a){return[a.atlas.width,a.atlas.height]},atlasDim:function(i,a){return[a.atlas.cols,a.atlas.rows]},atlas:function(i,a){return a.atlas.texture},charStep:function(i,a){return a.atlas.step},em:function(i,a){return a.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}`}),n={};return{regl:t,draw:r,atlas:n}};Vu.prototype.update=function(t){var r=this;if(typeof t==\"string\")t={text:t};else if(!t)return;t=pBt(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),t.opacity!=null&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map(function(ke){return parseFloat(ke)}):this.opacity=parseFloat(t.opacity)),t.viewport!=null&&(this.viewport=xBt(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),this.viewport==null&&(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]),t.kerning!=null&&(this.kerning=t.kerning),t.offset!=null&&(typeof t.offset==\"number\"&&(t.offset=[t.offset,0]),this.positionOffset=EBt(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=Vu.baseFontSize+\"px sans-serif\");var n=!1,i=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach(function(ke,ge){if(typeof ke==\"string\")try{ke=fA.parse(ke)}catch(Ge){ke=fA.parse(Vu.baseFontSize+\"px \"+ke)}else{var ie=ke.style,Te=ke.weight,Ee=ke.stretch,Ae=ke.variant;ke=fA.parse(fA.stringify(ke)),ie&&(ke.style=ie),Te&&(ke.weight=Te),Ee&&(ke.stretch=Ee),Ae&&(ke.variant=Ae)}var ze=fA.stringify({size:Vu.baseFontSize,family:ke.family,stretch:_F?ke.stretch:void 0,variant:ke.variant,weight:ke.weight,style:ke.style}),Ce=wBt(ke.size),me=Math.round(Ce[0]*TBt(Ce[1]));if(me!==r.fontSize[ge]&&(i=!0,r.fontSize[ge]=me),(!r.font[ge]||ze!=r.font[ge].baseString)&&(n=!0,r.font[ge]=Vu.fonts[ze],!r.font[ge])){var Re=ke.family.join(\", \"),ce=[ke.style];ke.style!=ke.variant&&ce.push(ke.variant),ke.variant!=ke.weight&&ce.push(ke.weight),_F&&ke.weight!=ke.stretch&&ce.push(ke.stretch),r.font[ge]={baseString:ze,family:Re,weight:ke.weight,stretch:ke.stretch,style:ke.style,variant:ke.variant,width:{},kerning:{},metrics:MBt(Re,{origin:\"top\",fontSize:Vu.baseFontSize,fontStyle:ce.join(\" \")})},Vu.fonts[ze]=r.font[ge]}}),(n||i)&&this.font.forEach(function(ke,ge){var ie=fA.stringify({size:r.fontSize[ge],family:ke.family,stretch:_F?ke.stretch:void 0,variant:ke.variant,weight:ke.weight,style:ke.style});if(r.fontAtlas[ge]=r.shader.atlas[ie],!r.fontAtlas[ge]){var Te=ke.metrics;r.shader.atlas[ie]=r.fontAtlas[ge]={fontString:ie,step:Math.ceil(r.fontSize[ge]*Te.bottom*.5)*2,em:r.fontSize[ge],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:r.regl.texture()}}t.text==null&&(t.text=r.text)}),typeof t.text==\"string\"&&t.position&&t.position.length>2){for(var a=Array(t.position.length*.5),o=0;o<a.length;o++)a[o]=t.text;t.text=a}var s;if(t.text!=null||n){if(this.textOffsets=[0],Array.isArray(t.text)){this.count=t.text[0].length,this.counts=[this.count];for(var l=1;l<t.text.length;l++)this.textOffsets[l]=this.textOffsets[l-1]+t.text[l-1].length,this.count+=t.text[l].length,this.counts.push(t.text[l].length);this.text=t.text.join(\"\")}else this.text=t.text,this.count=this.text.length,this.counts=[this.count];s=[],this.font.forEach(function(ke,ge){Vu.atlasContext.font=ke.baseString;for(var ie=r.fontAtlas[ge],Te=0;Te<r.text.length;Te++){var Ee=r.text.charAt(Te);if(ie.ids[Ee]==null&&(ie.ids[Ee]=ie.chars.length,ie.chars.push(Ee),s.push(Ee)),ke.width[Ee]==null&&(ke.width[Ee]=Vu.atlasContext.measureText(Ee).width/Vu.baseFontSize,r.kerning)){var Ae=[];for(var ze in ke.width)Ae.push(ze+Ee,Ee+ze);SBt(ke.kerning,ABt(ke.family,{pairs:Ae}))}}})}if(t.position)if(t.position.length>2){for(var u=!t.position[0].length,c=dx.mallocFloat(this.count*2),f=0,h=0;f<this.counts.length;f++){var d=this.counts[f];if(u)for(var v=0;v<d;v++)c[h++]=t.position[f*2],c[h++]=t.position[f*2+1];else for(var x=0;x<d;x++)c[h++]=t.position[f][0],c[h++]=t.position[f][1]}this.position.call?this.position({type:\"float\",data:c}):this.position=this.regl.buffer({type:\"float\",data:c}),dx.freeFloat(c)}else this.position.destroy&&this.position.destroy(),this.position={constant:t.position};if(t.text||n){var b=dx.mallocUint8(this.count),p=dx.mallocFloat(this.count*2);this.textWidth=[];for(var E=0,k=0;E<this.counts.length;E++){for(var A=this.counts[E],L=this.font[E]||this.font[0],_=this.fontAtlas[E]||this.fontAtlas[0],C=0;C<A;C++){var M=this.text.charAt(k),g=this.text.charAt(k-1);if(b[k]=_.ids[M],p[k*2]=L.width[M],C){var P=p[k*2-2],T=p[k*2],F=p[k*2-1],q=F+P*.5+T*.5;if(this.kerning){var V=L.kerning[g+M];V&&(q+=V*.001)}p[k*2+1]=q}else p[k*2+1]=p[k*2]*.5;k++}this.textWidth.push(p.length?p[k*2-2]*.5+p[k*2-1]:0)}t.align||(t.align=this.align),this.charBuffer({data:b,type:\"uint8\",usage:\"stream\"}),this.sizeBuffer({data:p,type:\"float\",usage:\"stream\"}),dx.freeUint8(b),dx.freeFloat(p),s.length&&this.font.forEach(function(ke,ge){var ie=r.fontAtlas[ge],Te=ie.step,Ee=Math.floor(Vu.maxAtlasSize/Te),Ae=Math.min(Ee,ie.chars.length),ze=Math.ceil(ie.chars.length/Ae),Ce=dOe(Ae*Te),me=dOe(ze*Te);ie.width=Ce,ie.height=me,ie.rows=ze,ie.cols=Ae,ie.em&&ie.texture({data:_Bt({canvas:Vu.atlasCanvas,font:ie.fontString,chars:ie.chars,shape:[Ce,me],step:[Te,Te]})})})}if(t.align&&(this.align=t.align,this.alignOffset=this.textWidth.map(function(ke,ge){var ie=Array.isArray(r.align)?r.align.length>1?r.align[ge]:r.align[0]:r.align;if(typeof ie==\"number\")return ie;switch(ie){case\"right\":case\"end\":return-ke;case\"center\":case\"centre\":case\"middle\":return-ke*.5}return 0})),this.baseline==null&&t.baseline==null&&(t.baseline=0),t.baseline!=null&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(ke,ge){var ie=(r.font[ge]||r.font[0]).metrics,Te=0;return Te+=ie.bottom*.5,typeof ke==\"number\"?Te+=ke-ie.baseline:Te+=-ie[ke],Te*=-1,Te})),t.color!=null)if(t.color||(t.color=\"transparent\"),typeof t.color==\"string\"||!isNaN(t.color))this.color=KY(t.color,\"uint8\");else{var H;if(typeof t.color[0]==\"number\"&&t.color.length>this.counts.length){var X=t.color.length;H=dx.mallocUint8(X);for(var G=(t.color.subarray||t.color.slice).bind(t.color),N=0;N<X;N+=4)H.set(KY(G(N,N+4),\"uint8\"),N)}else{var W=t.color.length;H=dx.mallocUint8(W*4);for(var re=0;re<W;re++)H.set(KY(t.color[re]||0,\"uint8\"),re*4)}this.color=H}if(t.position||t.text||t.color||t.baseline||t.align||t.font||t.offset||t.opacity){var ae=this.color.length>4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2;if(ae){var _e=Math.max(this.position.length*.5||0,this.color.length*.25||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,this.positionOffset.length*.5||0);this.batch=Array(_e);for(var Me=0;Me<this.batch.length;Me++)this.batch[Me]={count:this.counts.length>1?this.counts[Me]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[Me]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(Me*4,Me*4+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[Me]:this.opacity,baseline:this.baselineOffset[Me]!=null?this.baselineOffset[Me]:this.baselineOffset[0],align:this.align?this.alignOffset[Me]!=null?this.alignOffset[Me]:this.alignOffset[0]:0,atlas:this.fontAtlas[Me]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(Me*2,Me*2+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=[]}};Vu.prototype.destroy=function(){};Vu.prototype.kerning=!0;Vu.prototype.position={constant:new Float32Array(2)};Vu.prototype.translate=null;Vu.prototype.scale=null;Vu.prototype.font=null;Vu.prototype.text=\"\";Vu.prototype.positionOffset=[0,0];Vu.prototype.opacity=1;Vu.prototype.color=new Uint8Array([0,0,0,255]);Vu.prototype.alignOffset=[0,0];Vu.maxAtlasSize=1024;Vu.atlasCanvas=document.createElement(\"canvas\");Vu.atlasContext=Vu.atlasCanvas.getContext(\"2d\",{alpha:!1});Vu.baseFontSize=64;Vu.fonts={};function CBt(e){return typeof e==\"function\"&&e._gl&&e.prop&&e.texture&&e.buffer}pOe.exports=Vu});var xF=ye((Rmr,mOe)=>{\"use strict\";var LBt=pZ(),PBt=GY();mOe.exports=function(t,r,n){var i=t._fullLayout,a=!0;return i._glcanvas.each(function(o){if(o.regl){o.regl.preloadCachedCode(n);return}if(!(o.pick&&!i._has(\"parcoords\"))){try{o.regl=PBt({canvas:this,attributes:{antialias:!o.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||window.devicePixelRatio,extensions:r||[],cachedCode:n||{}})}catch(s){a=!1}o.regl||(a=!1),a&&this.addEventListener(\"webglcontextlost\",function(s){t&&t.emit&&t.emit(\"plotly_webglcontextlost\",{event:s,layer:o.key})},!1)}}),a||LBt({container:i._glcontainer.node()}),a}});var QY=ye(($Y,wOe)=>{\"use strict\";var yOe=QX(),_Oe=LY(),IBt=lqe(),xOe=gOe(),JY=Mr(),RBt=Sg().selectMode,DBt=xF(),zBt=lu(),FBt=hU(),qBt=YX().styleTextSelection,bOe={};function OBt(e,t,r,n){var i=e._size,a=e.width*n,o=e.height*n,s=i.l*n,l=i.b*n,u=i.r*n,c=i.t*n,f=i.w*n,h=i.h*n;return[s+t.domain[0]*f,l+r.domain[0]*h,a-u-(1-t.domain[1])*f,o-c-(1-r.domain[1])*h]}var $Y=wOe.exports=function(t,r,n){if(n.length){var i=t._fullLayout,a=r._scene,o=r.xaxis,s=r.yaxis,l,u;if(a){var c=DBt(t,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"],bOe);if(!c){a.init();return}var f=a.count,h=i._glcanvas.data()[0].regl;if(FBt(t,r,n),a.dirty){if((a.line2d||a.error2d)&&!(a.scatter2d||a.fill2d||a.glText)&&h.clear({}),a.error2d===!0&&(a.error2d=IBt(h)),a.line2d===!0&&(a.line2d=_Oe(h)),a.scatter2d===!0&&(a.scatter2d=yOe(h)),a.fill2d===!0&&(a.fill2d=_Oe(h)),a.glText===!0)for(a.glText=new Array(f),l=0;l<f;l++)a.glText[l]=new xOe(h);if(a.glText){if(f>a.glText.length){var d=f-a.glText.length;for(l=0;l<d;l++)a.glText.push(new xOe(h))}else if(f<a.glText.length){var v=a.glText.length-f,x=a.glText.splice(f,v);x.forEach(function(W){W.destroy()})}for(l=0;l<f;l++)a.glText[l].update(a.textOptions[l])}if(a.line2d&&(a.line2d.update(a.lineOptions),a.lineOptions=a.lineOptions.map(function(W){if(W&&W.positions){for(var re=W.positions,ae=0;ae<re.length&&(isNaN(re[ae])||isNaN(re[ae+1]));)ae+=2;for(var _e=re.length-2;_e>ae&&(isNaN(re[_e])||isNaN(re[_e+1]));)_e-=2;W.positions=re.slice(ae,_e+2)}return W}),a.line2d.update(a.lineOptions)),a.error2d){var b=(a.errorXOptions||[]).concat(a.errorYOptions||[]);a.error2d.update(b)}a.scatter2d&&a.scatter2d.update(a.markerOptions),a.fillOrder=JY.repeat(null,f),a.fill2d&&(a.fillOptions=a.fillOptions.map(function(W,re){var ae=n[re];if(!(!W||!ae||!ae[0]||!ae[0].trace)){var _e=ae[0],Me=_e.trace,ke=_e.t,ge=a.lineOptions[re],ie,Te,Ee=[];Me._ownfill&&Ee.push(re),Me._nexttrace&&Ee.push(re+1),Ee.length&&(a.fillOrder[re]=Ee);var Ae=[],ze=ge&&ge.positions||ke.positions,Ce,me;if(Me.fill===\"tozeroy\"){for(Ce=0;Ce<ze.length&&isNaN(ze[Ce+1]);)Ce+=2;for(me=ze.length-2;me>Ce&&isNaN(ze[me+1]);)me-=2;ze[Ce+1]!==0&&(Ae=[ze[Ce],0]),Ae=Ae.concat(ze.slice(Ce,me+2)),ze[me+1]!==0&&(Ae=Ae.concat([ze[me],0]))}else if(Me.fill===\"tozerox\"){for(Ce=0;Ce<ze.length&&isNaN(ze[Ce]);)Ce+=2;for(me=ze.length-2;me>Ce&&isNaN(ze[me]);)me-=2;ze[Ce]!==0&&(Ae=[0,ze[Ce+1]]),Ae=Ae.concat(ze.slice(Ce,me+2)),ze[me]!==0&&(Ae=Ae.concat([0,ze[me+1]]))}else if(Me.fill===\"toself\"||Me.fill===\"tonext\"){for(Ae=[],ie=0,W.splitNull=!0,Te=0;Te<ze.length;Te+=2)(isNaN(ze[Te])||isNaN(ze[Te+1]))&&(Ae=Ae.concat(ze.slice(ie,Te)),Ae.push(ze[ie],ze[ie+1]),Ae.push(null,null),ie=Te+2);Ae=Ae.concat(ze.slice(ie)),ie&&Ae.push(ze[ie],ze[ie+1])}else{var Re=Me._nexttrace;if(Re){var ce=a.lineOptions[re+1];if(ce){var Ge=ce.positions;if(Me.fill===\"tonexty\"){for(Ae=ze.slice(),re=Math.floor(Ge.length/2);re--;){var nt=Ge[re*2],ct=Ge[re*2+1];isNaN(nt)||isNaN(ct)||Ae.push(nt,ct)}W.fill=Re.fillcolor}}}}if(Me._prevtrace&&Me._prevtrace.fill===\"tonext\"){var qt=a.lineOptions[re-1].positions,rt=Ae.length/2;ie=rt;var ot=[ie];for(Te=0;Te<qt.length;Te+=2)(isNaN(qt[Te])||isNaN(qt[Te+1]))&&(ot.push(Te/2+rt+1),ie=Te+2);Ae=Ae.concat(qt),W.hole=ot}return W.fillmode=Me.fill,W.opacity=Me.opacity,W.positions=Ae,W}}),a.fill2d.update(a.fillOptions))}var p=i.dragmode,E=RBt(p),k=i.clickmode.indexOf(\"select\")>-1;for(l=0;l<f;l++){var A=n[l][0],L=A.trace,_=A.t,C=_.index,M=L._length,g=_.x,P=_.y;if(L.selectedpoints||E||k){if(E||(E=!0),L.selectedpoints){var T=a.selectBatch[C]=JY.selIndices2selPoints(L),F={};for(u=0;u<T.length;u++)F[T[u]]=1;var q=[];for(u=0;u<M;u++)F[u]||q.push(u);a.unselectBatch[C]=q}var V=_.xpx=new Array(M),H=_.ypx=new Array(M);for(u=0;u<M;u++)V[u]=o.c2p(g[u]),H[u]=s.c2p(P[u])}else _.xpx=_.ypx=null}if(E){if(a.select2d||(a.select2d=yOe(i._glcanvas.data()[1].regl)),a.scatter2d){var X=new Array(f);for(l=0;l<f;l++)X[l]=a.selectBatch[l].length||a.unselectBatch[l].length?a.markerUnselectedOptions[l]:{};a.scatter2d.update(X)}a.select2d&&(a.select2d.update(a.markerOptions),a.select2d.update(a.markerSelectedOptions)),a.glText&&n.forEach(function(W){var re=((W||[])[0]||{}).trace||{};zBt.hasText(re)&&qBt(W)})}else a.scatter2d&&a.scatter2d.update(a.markerOptions);var G={viewport:OBt(i,o,s,t._context.plotGlPixelRatio),range:[(o._rl||o.range)[0],(s._rl||s.range)[0],(o._rl||o.range)[1],(s._rl||s.range)[1]]},N=JY.repeat(G,a.count);a.fill2d&&a.fill2d.update(N),a.line2d&&a.line2d.update(N),a.error2d&&a.error2d.update(N.concat(N)),a.scatter2d&&a.scatter2d.update(N),a.select2d&&a.select2d.update(N),a.glText&&a.glText.forEach(function(W){W.update(G)})}}};$Y.reglPrecompiled=bOe});var SOe=ye((Dmr,AOe)=>{\"use strict\";var TOe=Hze();TOe.plot=QY();AOe.exports=TOe});var EOe=ye((zmr,MOe)=>{\"use strict\";MOe.exports=SOe()});var eK=ye((Fmr,POe)=>{\"use strict\";var BBt=Uc(),LOe=Jl(),kOe=Oc().axisHoverFormat,NBt=Wo().hovertemplateAttrs,bk=tk(),UBt=ad().idRegex,VBt=Vs().templatedArray,hA=no().extendFlat,o1=BBt.marker,HBt=o1.line,GBt=hA(LOe(\"marker.line\",{editTypeOverride:\"calc\"}),{width:hA({},HBt.width,{editType:\"calc\"}),editType:\"calc\"}),bF=hA(LOe(\"marker\"),{symbol:o1.symbol,angle:o1.angle,size:hA({},o1.size,{editType:\"markerSize\"}),sizeref:o1.sizeref,sizemin:o1.sizemin,sizemode:o1.sizemode,opacity:o1.opacity,colorbar:o1.colorbar,line:GBt,editType:\"calc\"});bF.color.editType=bF.cmin.editType=bF.cmax.editType=\"style\";function COe(e){return{valType:\"info_array\",freeLength:!0,editType:\"calc\",items:{valType:\"subplotid\",regex:UBt[e],editType:\"plot\"}}}POe.exports={dimensions:VBt(\"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:hA({},bk.text,{}),hovertext:hA({},bk.hovertext,{}),hovertemplate:NBt(),xhoverformat:kOe(\"x\"),yhoverformat:kOe(\"y\"),marker:bF,xaxes:COe(\"x\"),yaxes:COe(\"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:bk.selected.marker,editType:\"calc\"},unselected:{marker:bk.unselected.marker,editType:\"calc\"},opacity:bk.opacity}});var wF=ye((qmr,IOe)=>{\"use strict\";IOe.exports=function(e,t,r,n){n||(n=1/0);var i,a;for(i=0;i<t.length;i++)a=t[i],a.visible&&(n=Math.min(n,a[r].length));for(n===1/0&&(n=0),e._length=n,i=0;i<t.length;i++)a=t[i],a.visible&&(a._length=n);return n}});var zOe=ye((Omr,DOe)=>{\"use strict\";var tK=Mr(),jBt=Zd(),ROe=eK(),WBt=lu(),ZBt=$p(),XBt=wF(),YBt=Fz().isOpenSymbol;DOe.exports=function(t,r,n,i){function a(d,v){return tK.coerce(t,r,ROe,d,v)}var o=jBt(t,r,{name:\"dimensions\",handleItemDefaults:KBt}),s=a(\"diagonal.visible\"),l=a(\"showupperhalf\"),u=a(\"showlowerhalf\"),c=XBt(r,o,\"values\");if(!c||!s&&!l&&!u){r.visible=!1;return}a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\"),ZBt(t,r,n,i,a,{noAngleRef:!0,noStandOff:!0});var f=YBt(r.marker.symbol),h=WBt.isBubble(r);a(\"marker.line.width\",f||h?1:0),JBt(t,r,i,a),tK.coerceSelectionMarkerOpacity(r,a)};function KBt(e,t){function r(i,a){return tK.coerce(e,t,ROe.dimensions,i,a)}r(\"label\");var n=r(\"values\");n&&n.length?r(\"visible\"):t.visible=!1,r(\"axis.type\"),r(\"axis.matches\")}function JBt(e,t,r,n){var i=t.dimensions,a=i.length,o=t.showupperhalf,s=t.showlowerhalf,l=t.diagonal.visible,u,c,f=new Array(a),h=new Array(a);for(u=0;u<a;u++){var d=u?u+1:\"\";f[u]=\"x\"+d,h[u]=\"y\"+d}var v=n(\"xaxes\",f),x=n(\"yaxes\",h),b=t._diag=new Array(a);t._xaxes={},t._yaxes={};var p=[],E=[];function k(F,q,V,H){if(F){var X=F.charAt(0),G=r._splomAxes[X];if(t[\"_\"+X+\"axes\"][F]=1,H.push(F),!(F in G)){var N=G[F]={};V&&(N.label=V.label||\"\",V.visible&&V.axis&&(V.axis.type&&(N.type=V.axis.type),V.axis.matches&&(N.matches=q)))}}}var A=!l&&!s,L=!l&&!o;for(t._axesDim={},u=0;u<a;u++){var _=i[u],C=u===0,M=u===a-1,g=C&&A||M&&L?void 0:v[u],P=C&&L||M&&A?void 0:x[u];k(g,P,_,p),k(P,g,_,E),b[u]=[g,P],t._axesDim[g]=u,t._axesDim[P]=u}for(u=0;u<p.length;u++)for(c=0;c<E.length;c++){var T=p[u]+E[c];(u>c&&o||u<c&&s||u===c&&(l||!s||!o))&&(r._splomSubplots[T]=1)}(!s||!l&&o&&s)&&(r._splomGridDflt.xside=\"bottom\",r._splomGridDflt.yside=\"left\")}});var OOe=ye((Bmr,qOe)=>{\"use strict\";var FOe=Mr();qOe.exports=function(t,r){var n=t._fullLayout,i=r.uid,a=n._splomScenes;a||(a=n._splomScenes={});var o={dirty:!0,selectBatch:[],unselectBatch:[]},s={matrix:!1,selectBatch:[],unselectBatch:[]},l=a[r.uid];return l||(l=a[i]=FOe.extendFlat({},o,s),l.draw=function(){l.matrix&&l.matrix.draw&&(l.selectBatch.length||l.unselectBatch.length?l.matrix.draw(l.unselectBatch,l.selectBatch):l.matrix.draw()),l.dirty=!1},l.destroy=function(){l.matrix&&l.matrix.destroy&&l.matrix.destroy(),l.matrixOptions=null,l.selectBatch=null,l.unselectBatch=null,l=null}),l.dirty||FOe.extendFlat(l,o),l}});var UOe=ye((Nmr,NOe)=>{\"use strict\";var rK=Mr(),TF=af(),$Bt=q0().calcMarkerSize,QBt=q0().calcAxisExpansion,eNt=z0(),BOe=Y2().markerSelection,tNt=Y2().markerStyle,rNt=OOe(),iNt=es().BADNUM,nNt=sx().TOO_MANY_POINTS;NOe.exports=function(t,r){var n=r.dimensions,i=r._length,a={},o=a.cdata=[],s=a.data=[],l=r._visibleDims=[],u,c,f,h,d;function v(k,A){for(var L=k.makeCalcdata({v:A.values,vcalendar:r.calendar},\"v\"),_=0;_<L.length;_++)L[_]=L[_]===iNt?NaN:L[_];o.push(L),s.push(k.type===\"log\"?rK.simpleMap(L,k.c2l):L)}for(u=0;u<n.length;u++)if(f=n[u],f.visible){if(h=TF.getFromId(t,r._diag[u][0]),d=TF.getFromId(t,r._diag[u][1]),h&&d&&h.type!==d.type){rK.log(\"Skipping splom dimension \"+u+\" with conflicting axis types\");continue}h?(v(h,f),d&&d.type===\"category\"&&(d._categories=h._categories.slice())):v(d,f),l.push(u)}eNt(t,r),rK.extendFlat(a,tNt(t,r));var x=o.length,b=x*i>nNt,p;for(b?p=a.sizeAvg||Math.max(a.size,3):p=$Bt(r,i),c=0;c<l.length;c++)u=l[c],f=n[u],h=TF.getFromId(t,r._diag[u][0])||{},d=TF.getFromId(t,r._diag[u][1])||{},QBt(t,r,h,d,o[c],o[c],p);var E=rNt(t,r);return E.matrix||(E.matrix=!0),E.matrixOptions=a,E.selectedOptions=BOe(t,r,r.selected),E.unselectedOptions=BOe(t,r,r.unselected),[{x:!1,y:!1,t:{},trace:r}]}});var HOe=ye((VOe,wk)=>{(function(){var e,t,r,n,i,a;typeof performance!=\"undefined\"&&performance!==null&&performance.now?wk.exports=function(){return performance.now()}:typeof process!=\"undefined\"&&process!==null&&process.hrtime?(wk.exports=function(){return(e()-i)/1e6},t=process.hrtime,e=function(){var o;return o=t(),o[0]*1e9+o[1]},n=e(),a=process.uptime()*1e9,i=n-a):Date.now?(wk.exports=function(){return Date.now()-r},r=Date.now()):(wk.exports=function(){return new Date().getTime()-r},r=new Date().getTime())}).call(VOe)});var jOe=ye((Umr,MF)=>{var aNt=HOe(),s1=window,AF=[\"moz\",\"webkit\"],vA=\"AnimationFrame\",pA=s1[\"request\"+vA],Tk=s1[\"cancel\"+vA]||s1[\"cancelRequest\"+vA];for(dA=0;!pA&&dA<AF.length;dA++)pA=s1[AF[dA]+\"Request\"+vA],Tk=s1[AF[dA]+\"Cancel\"+vA]||s1[AF[dA]+\"CancelRequest\"+vA];var dA;(!pA||!Tk)&&(SF=0,iK=0,vx=[],GOe=1e3/60,pA=function(e){if(vx.length===0){var t=aNt(),r=Math.max(0,GOe-(t-SF));SF=r+t,setTimeout(function(){var n=vx.slice(0);vx.length=0;for(var i=0;i<n.length;i++)if(!n[i].cancelled)try{n[i].callback(SF)}catch(a){setTimeout(function(){throw a},0)}},Math.round(r))}return vx.push({handle:++iK,callback:e,cancelled:!1}),iK},Tk=function(e){for(var t=0;t<vx.length;t++)vx[t].handle===e&&(vx[t].cancelled=!0)});var SF,iK,vx,GOe;MF.exports=function(e){return pA.call(s1,e)};MF.exports.cancel=function(){Tk.apply(s1,arguments)};MF.exports.polyfill=function(e){e||(e=s1),e.requestAnimationFrame=pA,e.cancelAnimationFrame=Tk}});var ZOe=ye((Vmr,WOe)=>{WOe.exports=function(t,r){var n=typeof t==\"number\",i=typeof r==\"number\";n&&!i?(r=t,t=0):!n&&!i&&(t=0,r=0),t=t|0,r=r|0;var a=r-t;if(a<0)throw new Error(\"array length must be positive\");for(var o=new Array(a),s=0,l=t;s<a;s++,l++)o[s]=l;return o}});var JOe=ye((Hmr,KOe)=>{\"use strict\";var oNt=QX(),sNt=Zm(),lNt=j2(),XOe=jOe(),uNt=ZOe(),nK=Q5(),cNt=W2();KOe.exports=px;function px(e,t){if(!(this instanceof px))return new px(e,t);this.traces=[],this.passes={},this.regl=e,this.scatter=oNt(e),this.canvas=this.scatter.canvas}px.prototype.render=function(...e){return e.length&&this.update(...e),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?this.planned==null&&(this.planned=XOe(()=>{this.draw(),this.dirty=!0,this.planned=null})):(this.draw(),this.dirty=!0,XOe(()=>{this.dirty=!1})),this)};px.prototype.update=function(...e){if(!e.length)return;for(let n=0;n<e.length;n++)this.updateItem(n,e[n]);this.traces=this.traces.filter(Boolean);let t=[],r=0;for(let n=0;n<this.traces.length;n++){let i=this.traces[n],a=this.traces[n].passes;for(let o=0;o<a.length;o++)t.push(this.passes[a[o]]);i.passOffset=r,r+=i.passes.length}return this.scatter.update(...t),this};px.prototype.updateItem=function(e,t){let{regl:r}=this;if(t===null)return this.traces[e]=null,this;if(!t)return this;let n=sNt(t,{data:\"data items columns rows values dimensions samples x\",snap:\"snap cluster\",size:\"sizes size radius\",color:\"colors color fill fill-color fillColor\",opacity:\"opacity alpha transparency opaque\",borderSize:\"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline\",borderColor:\"borderColors borderColor bordercolor stroke stroke-color strokeColor\",marker:\"markers marker shape\",range:\"range ranges databox dataBox\",viewport:\"viewport viewBox viewbox\",domain:\"domain domains area areas\",padding:\"pad padding paddings pads margin margins\",transpose:\"transpose transposed\",diagonal:\"diagonal diag showDiagonal\",upper:\"upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf\",lower:\"lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower\"}),i=this.traces[e]||(this.traces[e]={id:e,buffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),color:\"black\",marker:null,size:12,borderColor:\"transparent\",borderSize:1,viewport:nK([r._gl.drawingBufferWidth,r._gl.drawingBufferHeight]),padding:[0,0,0,0],opacity:1,diagonal:!0,upper:!0,lower:!0});if(n.color!=null&&(i.color=n.color),n.size!=null&&(i.size=n.size),n.marker!=null&&(i.marker=n.marker),n.borderColor!=null&&(i.borderColor=n.borderColor),n.borderSize!=null&&(i.borderSize=n.borderSize),n.opacity!=null&&(i.opacity=n.opacity),n.viewport&&(i.viewport=nK(n.viewport)),n.diagonal!=null&&(i.diagonal=n.diagonal),n.upper!=null&&(i.upper=n.upper),n.lower!=null&&(i.lower=n.lower),n.data){i.buffer(cNt(n.data)),i.columns=n.data.length,i.count=n.data[0].length,i.bounds=[];for(let x=0;x<i.columns;x++)i.bounds[x]=lNt(n.data[x],1)}let a;n.range&&(i.range=n.range,a=i.range&&typeof i.range[0]!=\"number\"),n.domain&&(i.domain=n.domain);let o=!1;n.padding!=null&&(Array.isArray(n.padding)&&n.padding.length===i.columns&&typeof n.padding[n.padding.length-1]==\"number\"?(i.padding=n.padding.map(YOe),o=!0):i.padding=YOe(n.padding));let s=i.columns,l=i.count,u=i.viewport.width,c=i.viewport.height,f=i.viewport.x,h=i.viewport.y,d=u/s,v=c/s;i.passes=[];for(let x=0;x<s;x++)for(let b=0;b<s;b++){if(!i.diagonal&&b===x||!i.upper&&x>b||!i.lower&&x<b)continue;let p=fNt(i.id,x,b),E=this.passes[p]||(this.passes[p]={});if(n.data&&(n.transpose?E.positions={x:{buffer:i.buffer,offset:b,count:l,stride:s},y:{buffer:i.buffer,offset:x,count:l,stride:s}}:E.positions={x:{buffer:i.buffer,offset:b*l,count:l},y:{buffer:i.buffer,offset:x*l,count:l}},E.bounds=EF(i.bounds,x,b)),n.domain||n.viewport||n.data){let k=o?EF(i.padding,x,b):i.padding;if(i.domain){let[A,L,_,C]=EF(i.domain,x,b);E.viewport=[f+A*u+k[0],h+L*c+k[1],f+_*u-k[2],h+C*c-k[3]]}else E.viewport=[f+b*d+d*k[0],h+x*v+v*k[1],f+(b+1)*d-d*k[2],h+(x+1)*v-v*k[3]]}n.color&&(E.color=i.color),n.size&&(E.size=i.size),n.marker&&(E.marker=i.marker),n.borderSize&&(E.borderSize=i.borderSize),n.borderColor&&(E.borderColor=i.borderColor),n.opacity&&(E.opacity=i.opacity),n.range&&(E.range=a?EF(i.range,x,b):i.range||E.bounds),i.passes.push(p)}return this};px.prototype.draw=function(...e){if(!e.length)this.scatter.draw();else{let t=[];for(let r=0;r<e.length;r++)if(typeof e[r]==\"number\"){let{passes:n,passOffset:i}=this.traces[e[r]];t.push(...uNt(i,i+n.length))}else if(e[r].length){let n=e[r],{passes:i,passOffset:a}=this.traces[r];i=i.map((o,s)=>{t[a+s]=n})}this.scatter.draw(...t)}return this};px.prototype.destroy=function(){return this.traces.forEach(e=>{e.buffer&&e.buffer.destroy&&e.buffer.destroy()}),this.traces=null,this.passes=null,this.scatter.destroy(),this};function fNt(e,t,r){let n=e.id!=null?e.id:e,i=t,a=r;return n<<16|(i&255)<<8|a&255}function EF(e,t,r){let n,i,a,o,s,l,u,c,f=e[t],h=e[r];return f.length>2?(n=f[0],a=f[2],i=f[1],o=f[3]):f.length?(n=i=f[0],a=o=f[1]):(n=f.x,i=f.y,a=f.x+f.width,o=f.y+f.height),h.length>2?(s=h[0],u=h[2],l=h[1],c=h[3]):h.length?(s=l=h[0],u=c=h[1]):(s=h.x,l=h.y,u=h.x+h.width,c=h.y+h.height),[s,i,u,o]}function YOe(e){if(typeof e==\"number\")return[e,e,e,e];if(e.length===2)return[e[0],e[1],e[0],e[1]];{let t=nK(e);return[t.x,t.y,t.x+t.width,t.y+t.height]}}});var QOe=ye((Gmr,$Oe)=>{\"use strict\";var hNt=JOe(),aK=Mr(),kF=af(),dNt=Sg().selectMode;$Oe.exports=function(t,r,n){if(n.length)for(var i=0;i<n.length;i++)vNt(t,n[i][0])};function vNt(e,t){var r=e._fullLayout,n=r._size,i=t.trace,a=t.t,o=r._splomScenes[i.uid],s=o.matrixOptions,l=s.cdata,u=r._glcanvas.data()[0].regl,c=r.dragmode,f,h,d,v,x;if(l.length!==0){s.lower=i.showupperhalf,s.upper=i.showlowerhalf,s.diagonal=i.diagonal.visible;var b=i._visibleDims,p=l.length,E=o.viewOpts={};for(E.ranges=new Array(p),E.domains=new Array(p),x=0;x<b.length;x++){d=b[x];var k=E.ranges[x]=new Array(4),A=E.domains[x]=new Array(4);f=kF.getFromId(e,i._diag[d][0]),f&&(k[0]=f._rl[0],k[2]=f._rl[1],A[0]=f.domain[0],A[2]=f.domain[1]),h=kF.getFromId(e,i._diag[d][1]),h&&(k[1]=h._rl[0],k[3]=h._rl[1],A[1]=h.domain[0],A[3]=h.domain[1])}var L=e._context.plotGlPixelRatio,_=n.l*L,C=n.b*L,M=n.w*L,g=n.h*L;E.viewport=[_,C,M+_,g+C],o.matrix===!0&&(o.matrix=hNt(u));var P=r.clickmode.indexOf(\"select\")>-1,T=dNt(c)||!!i.selectedpoints||P,F=!0;if(T){var q=i._length;if(i.selectedpoints){o.selectBatch=i.selectedpoints;var V=i.selectedpoints,H={};for(d=0;d<V.length;d++)H[V[d]]=!0;var X=[];for(d=0;d<q;d++)H[d]||X.push(d);o.unselectBatch=X}var G=a.xpx=new Array(p),N=a.ypx=new Array(p);for(x=0;x<b.length;x++){if(d=b[x],f=kF.getFromId(e,i._diag[d][0]),f)for(G[x]=new Array(q),v=0;v<q;v++)G[x][v]=f.c2p(l[x][v]);if(h=kF.getFromId(e,i._diag[d][1]),h)for(N[x]=new Array(q),v=0;v<q;v++)N[x][v]=h.c2p(l[x][v])}if(o.selectBatch.length||o.unselectBatch.length){var W=aK.extendFlat({},s,o.unselectedOptions,E),re=aK.extendFlat({},s,o.selectedOptions,E);o.matrix.update(W,re),F=!1}}else a.xpx=a.ypx=null;if(F){var ae=aK.extendFlat({},s,E);o.matrix.update(ae,null)}}}});var oK=ye(eBe=>{\"use strict\";eBe.getDimIndex=function(t,r){for(var n=r._id,i=n.charAt(0),a={x:0,y:1}[i],o=t._visibleDims,s=0;s<o.length;s++){var l=o[s];if(t._diag[l][a]===n)return s}return!1}});var aBe=ye((Wmr,nBe)=>{\"use strict\";var tBe=oK(),pNt=zz().calcHover,rBe=Qa().getFromId,gNt=no().extendFlat;function mNt(e,t,r,n,i){i||(i={});var a=(n||\"\").charAt(0)===\"x\",o=(n||\"\").charAt(0)===\"y\",s=iBe(e,t,r);if((a||o)&&i.hoversubplots===\"axis\"&&s[0])for(var l=(a?e.xa:e.ya)._subplotsWith,u=i.gd,c=gNt({},e),f=0;f<l.length;f++){var h=l[f];if(h!==e.xa._id+e.ya._id){o?c.xa=rBe(u,h,\"x\"):c.ya=rBe(u,h,\"y\");var d=a||o,v=iBe(c,t,r,d);s=s.concat(v)}}return s}function iBe(e,t,r,n){var i=e.cd,a=i[0].trace,o=e.scene,s=o.matrixOptions.cdata,l=e.xa,u=e.ya,c=l.c2p(t),f=u.c2p(r),h=e.distance,d=tBe.getDimIndex(a,l),v=tBe.getDimIndex(a,u);if(d===!1||v===!1)return[e];for(var x=s[d],b=s[v],p,E,k=h,A=0;A<x.length;A++)if(!(n&&A!==e.index)){var L=x[A],_=b[A],C=l.c2p(L)-c,M=u.c2p(_)-f,g=Math.sqrt(C*C+M*M);(n||g<k)&&(k=E=g,p=A)}return e.index=p,e.distance=k,e.dxy=E,p===void 0?[e]:[pNt(e,x,b,a)]}nBe.exports={hoverPoints:mNt}});var fBe=ye((Zmr,cBe)=>{\"use strict\";var uBe=Mr(),oBe=uBe.pushUnique,sBe=lu(),lBe=oK();cBe.exports=function(t,r){var n=t.cd,i=n[0].trace,a=n[0].t,o=t.scene,s=o.matrixOptions.cdata,l=t.xaxis,u=t.yaxis,c=[];if(!o)return c;var f=!sBe.hasMarkers(i)&&!sBe.hasText(i);if(i.visible!==!0||f)return c;var h=lBe.getDimIndex(i,l),d=lBe.getDimIndex(i,u);if(h===!1||d===!1)return c;var v=a.xpx[h],x=a.ypx[d],b=s[h],p=s[d],E=(t.scene.selectBatch||[]).slice(),k=[];if(r!==!1&&!r.degenerate)for(var A=0;A<b.length;A++)r.contains([v[A],x[A]],null,A,t)?(c.push({pointNumber:A,x:b[A],y:p[A]}),oBe(E,A)):E.indexOf(A)!==-1?oBe(E,A):k.push(A);var L=o.matrixOptions;return!E.length&&!k.length?o.matrix.update(L,null):!o.selectBatch.length&&!o.unselectBatch.length&&o.matrix.update(o.unselectedOptions,uBe.extendFlat({},L,o.selectedOptions,o.viewOpts)),o.selectBatch=E,o.unselectBatch=k,c}});var vBe=ye((Xmr,dBe)=>{\"use strict\";var hBe=Mr(),yNt=z0(),_Nt=Y2().markerStyle;dBe.exports=function(t,r){var n=r.trace,i=t._fullLayout._splomScenes[n.uid];if(i){yNt(t,n),hBe.extendFlat(i.matrixOptions,_Nt(t,n));var a=hBe.extendFlat({},i.matrixOptions,i.viewOpts);i.matrix.update(a,null)}}});var gBe=ye((Ymr,pBe)=>{\"use strict\";var xNt=ba(),bNt=nV();pBe.exports={moduleType:\"trace\",name:\"splom\",categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:eK(),supplyDefaults:zOe(),colorbar:Kd(),calc:UOe(),plot:QOe(),hoverPoints:aBe().hoverPoints,selectPoints:fBe(),editStyle:vBe(),meta:{}};xNt.register(bNt)});var wBe=ye((Kmr,bBe)=>{\"use strict\";var wNt=LY(),TNt=ba(),ANt=xF(),SNt=kd().getModuleCalcData,gx=Jf(),mBe=af().getFromId,yBe=Qa().shouldShowZeroLine,_Be=\"splom\",xBe={};function MNt(e){var t=e._fullLayout,r=TNt.getModule(_Be),n=SNt(e.calcdata,r)[0],i=ANt(e,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"],xBe);i&&(t._hasOnlyLargeSploms&&sK(e),r.plot(e,{},n))}function ENt(e){var t=e.calcdata,r=e._fullLayout;r._hasOnlyLargeSploms&&sK(e);for(var n=0;n<t.length;n++){var i=t[n][0],a=i.trace,o=r._splomScenes[a.uid];a.type===\"splom\"&&o&&o.matrix&&kNt(e,a,o)}}function kNt(e,t,r){for(var n=r.matrixOptions.data.length,i=t._visibleDims,a=r.viewOpts.ranges=new Array(n),o=0;o<i.length;o++){var s=i[o],l=a[o]=new Array(4),u=mBe(e,t._diag[s][0]);u&&(l[0]=u.r2l(u.range[0]),l[2]=u.r2l(u.range[1]));var c=mBe(e,t._diag[s][1]);c&&(l[1]=c.r2l(c.range[0]),l[3]=c.r2l(c.range[1]))}r.selectBatch.length||r.unselectBatch.length?r.matrix.update({ranges:a},{ranges:a}):r.matrix.update({ranges:a})}function sK(e){var t=e._fullLayout,r=t._glcanvas.data()[0].regl,n=t._splomGrid;n||(n=t._splomGrid=wNt(r)),n.update(CNt(e))}function CNt(e){var t=e._context.plotGlPixelRatio,r=e._fullLayout,n=r._size,i=[0,0,r.width*t,r.height*t],a={},o;function s(_,C,M,g,P,T){M*=t,g*=t,P*=t,T*=t;var F=C[_+\"color\"],q=C[_+\"width\"],V=String(F+q);V in a?a[V].data.push(NaN,NaN,M,g,P,T):a[V]={data:[M,g,P,T],join:\"rect\",thickness:q*t,color:F,viewport:i,range:i,overlay:!1}}for(o in r._splomSubplots){var l=r._plots[o],u=l.xaxis,c=l.yaxis,f=u._gridVals,h=c._gridVals,d=u._offset,v=u._length,x=c._length,b=n.b+c.domain[0]*n.h,p=-c._m,E=-p*c.r2l(c.range[0],c.calendar),k,A;if(u.showgrid)for(o=0;o<f.length;o++)k=d+u.l2p(f[o].x),s(\"grid\",u,k,b,k,b+x);if(c.showgrid)for(o=0;o<h.length;o++)A=b+E+p*h[o].x,s(\"grid\",c,d,A,d+v,A);yBe(e,u,c)&&(k=d+u.l2p(0),s(\"zeroline\",u,k,b,k,b+x)),yBe(e,c,u)&&(A=b+E+0,s(\"zeroline\",c,d,A,d+v,A))}var L=[];for(o in a)L.push(a[o]);return L}function LNt(e,t,r,n){var i={},a;if(n._splomScenes){for(a=0;a<e.length;a++){var o=e[a];o.type===\"splom\"&&(i[o.uid]=1)}for(a=0;a<r.length;a++){var s=r[a];if(!i[s.uid]){var l=n._splomScenes[s.uid];l&&l.destroy&&l.destroy(),n._splomScenes[s.uid]=null,delete n._splomScenes[s.uid]}}}Object.keys(n._splomScenes||{}).length===0&&delete n._splomScenes,n._splomGrid&&!t._hasOnlyLargeSploms&&n._hasOnlyLargeSploms&&(n._splomGrid.destroy(),n._splomGrid=null,delete n._splomGrid),gx.clean(e,t,r,n)}bBe.exports={name:_Be,attr:gx.attr,attrRegex:gx.attrRegex,layoutAttributes:gx.layoutAttributes,supplyLayoutDefaults:gx.supplyLayoutDefaults,drawFramework:gx.drawFramework,plot:MNt,drag:ENt,updateGrid:sK,clean:LNt,updateFx:gx.updateFx,toSVG:gx.toSVG,reglPrecompiled:xBe}});var SBe=ye((Jmr,ABe)=>{\"use strict\";var TBe=gBe();TBe.basePlotModule=wBe(),ABe.exports=TBe});var EBe=ye(($mr,MBe)=>{\"use strict\";MBe.exports=SBe()});var cK=ye((Qmr,kBe)=>{\"use strict\";var PNt=Jl(),lK=Cd(),uK=Su(),INt=Ju().attributes,CF=no().extendFlat,RNt=Vs().templatedArray;kBe.exports={domain:INt({name:\"parcoords\",trace:!0,editType:\"plot\"}),labelangle:{valType:\"angle\",dflt:0,editType:\"plot\"},labelside:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},labelfont:uK({editType:\"plot\"}),tickfont:uK({autoShadowDflt:!0,editType:\"plot\"}),rangefont:uK({editType:\"plot\"}),dimensions:RNt(\"dimension\",{label:{valType:\"string\",editType:\"plot\"},tickvals:CF({},lK.tickvals,{editType:\"plot\"}),ticktext:CF({},lK.ticktext,{editType:\"plot\"}),tickformat:CF({},lK.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:CF({editType:\"calc\"},PNt(\"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\"}}});var Ak=ye((eyr,CBe)=>{\"use strict\";CBe.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:[\"contextLineLayer\",\"focusLineLayer\",\"pickLineLayer\"],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,captureWidth:10,fillColor:\"magenta\",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:\"axis-extent-text\",parcoordsLineLayers:\"parcoords-line-layers\",parcoordsLineLayer:\"parcoords-lines\",parcoords:\"parcoords\",parcoordsControlView:\"parcoords-control-view\",yAxis:\"y-axis\",axisOverlays:\"axis-overlays\",axis:\"axis\",axisHeading:\"axis-heading\",axisTitle:\"axis-title\",axisExtent:\"axis-extent\",axisExtentTop:\"axis-extent-top\",axisExtentTopText:\"axis-extent-top-text\",axisExtentBottom:\"axis-extent-bottom\",axisExtentBottomText:\"axis-extent-bottom-text\",axisBrush:\"axis-brush\"},id:{filterBarPattern:\"filter-bar-pattern\"}}});var Km=ye((tyr,PBe)=>{\"use strict\";var DNt=OS();function LBe(e){return[e]}PBe.exports={keyFun:function(e){return e.key},repeat:LBe,descend:DNt,wrap:LBe,unwrap:function(e){return e[0]}}});var dK=ye((ryr,VBe)=>{\"use strict\";var th=Ak(),em=xa(),zNt=Km().keyFun,LF=Km().repeat,gA=Mr().sorterAsc,FNt=Mr().strTranslate,IBe=th.bar.snapRatio;function RBe(e,t){return e*(1-IBe)+t*IBe}var DBe=th.bar.snapClose;function qNt(e,t){return e*(1-DBe)+t*DBe}function IF(e,t,r,n){if(ONt(r,n))return r;var i=e?-1:1,a=0,o=t.length-1;if(i<0){var s=a;a=o,o=s}for(var l=t[a],u=l,c=a;i*c<i*o;c+=i){var f=c+i,h=t[f];if(i*r<i*qNt(l,h))return RBe(l,u);if(i*r<i*h||f===o)return RBe(h,l);u=l,l=h}}function ONt(e,t){for(var r=0;r<t.length;r++)if(e>=t[r][0]&&e<=t[r][1])return!0;return!1}function BNt(e){e.attr(\"x\",-th.bar.captureWidth/2).attr(\"width\",th.bar.captureWidth)}function NNt(e){e.attr(\"visibility\",\"visible\").style(\"visibility\",\"visible\").attr(\"fill\",\"yellow\").attr(\"opacity\",0)}function UNt(e){if(!e.brush.filterSpecified)return\"0,\"+e.height;for(var t=zBe(e.brush.filter.getConsolidated(),e.height),r=[0],n,i,a,o=t.length?t[0][0]:null,s=0;s<t.length;s++)n=t[s],i=n[1]-n[0],r.push(o),r.push(i),a=s+1,a<t.length&&(o=t[a][0]-n[1]);return r.push(e.height),r}function zBe(e,t){return e.map(function(r){return r.map(function(n){return Math.max(0,n*t)}).sort(gA)})}function VNt(e,t){var r=th.bar.handleHeight;if(!(t>e[1]+r||t<e[0]-r))return t>=.9*e[1]+.1*e[0]?\"n\":t<=.9*e[0]+.1*e[1]?\"s\":\"ns\"}function FBe(){em.select(document.body).style(\"cursor\",null)}function hK(e){e.attr(\"stroke-dasharray\",UNt)}function PF(e,t){var r=em.select(e).selectAll(\".highlight, .highlight-shadow\"),n=t?r.transition().duration(th.bar.snapDuration).each(\"end\",t):r;hK(n)}function qBe(e,t){var r=e.brush,n=r.filterSpecified,i=NaN,a={},o;if(n){var s=e.height,l=r.filter.getConsolidated(),u=zBe(l,s),c=NaN,f=NaN,h=NaN;for(o=0;o<=u.length;o++){var d=u[o];if(d&&d[0]<=t&&t<=d[1]){c=o;break}else if(f=o?o-1:NaN,d&&d[0]>t){h=o;break}}if(i=c,isNaN(i)&&(isNaN(f)||isNaN(h)?i=isNaN(f)?h:f:i=t-u[f][1]<u[h][0]-t?f:h),!isNaN(i)){var v=u[i],x=VNt(v,t);x&&(a.interval=l[i],a.intervalPix=v,a.region=x)}}if(e.ordinal&&!a.region){var b=e.unitTickvals,p=e.unitToPaddedPx.invert(t);for(o=0;o<b.length;o++){var E=[b[Math.max(o-1,0)]*.25+b[o]*.75,b[Math.min(o+1,b.length-1)]*.25+b[o]*.75];if(p>=E[0]&&p<=E[1]){a.clickableOrdinalRange=E;break}}}return a}function HNt(e,t){em.event.sourceEvent.stopPropagation();var r=t.height-em.mouse(e)[1]-2*th.verticalPadding,n=t.unitToPaddedPx.invert(r),i=t.brush,a=qBe(t,r),o=a.interval,s=i.svgBrush;if(s.wasDragged=!1,s.grabbingBar=a.region===\"ns\",s.grabbingBar){var l=o.map(t.unitToPaddedPx);s.grabPoint=r-l[0]-th.verticalPadding,s.barLength=l[1]-l[0]}s.clickableOrdinalRange=a.clickableOrdinalRange,s.stayingIntervals=t.multiselect&&i.filterSpecified?i.filter.getConsolidated():[],o&&(s.stayingIntervals=s.stayingIntervals.filter(function(u){return u[0]!==o[0]&&u[1]!==o[1]})),s.startExtent=a.region?o[a.region===\"s\"?1:0]:n,t.parent.inBrushDrag=!0,s.brushStartCallback()}function OBe(e,t){em.event.sourceEvent.stopPropagation();var r=t.height-em.mouse(e)[1]-2*th.verticalPadding,n=t.brush.svgBrush;n.wasDragged=!0,n._dragging=!0,n.grabbingBar?n.newExtent=[r-n.grabPoint,r+n.barLength-n.grabPoint].map(t.unitToPaddedPx.invert):n.newExtent=[n.startExtent,t.unitToPaddedPx.invert(r)].sort(gA),t.brush.filterSpecified=!0,n.extent=n.stayingIntervals.concat([n.newExtent]),n.brushCallback(t),PF(e.parentNode)}function GNt(e,t){var r=t.brush,n=r.filter,i=r.svgBrush;i._dragging||(BBe(e,t),OBe(e,t),t.brush.svgBrush.wasDragged=!1),i._dragging=!1;var a=em.event;a.sourceEvent.stopPropagation();var o=i.grabbingBar;if(i.grabbingBar=!1,i.grabLocation=void 0,t.parent.inBrushDrag=!1,FBe(),!i.wasDragged){i.wasDragged=void 0,i.clickableOrdinalRange?r.filterSpecified&&t.multiselect?i.extent.push(i.clickableOrdinalRange):(i.extent=[i.clickableOrdinalRange],r.filterSpecified=!0):o?(i.extent=i.stayingIntervals,i.extent.length===0&&fK(r)):fK(r),i.brushCallback(t),PF(e.parentNode),i.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);return}var s=function(){n.set(n.getConsolidated())};if(t.ordinal){var l=t.unitTickvals;l[l.length-1]<l[0]&&l.reverse(),i.newExtent=[IF(0,l,i.newExtent[0],i.stayingIntervals),IF(1,l,i.newExtent[1],i.stayingIntervals)];var u=i.newExtent[1]>i.newExtent[0];i.extent=i.stayingIntervals.concat(u?[i.newExtent]:[]),i.extent.length||fK(r),i.brushCallback(t),u?PF(e.parentNode,s):(s(),PF(e.parentNode))}else s();i.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}function BBe(e,t){var r=t.height-em.mouse(e)[1]-2*th.verticalPadding,n=qBe(t,r),i=\"crosshair\";n.clickableOrdinalRange?i=\"pointer\":n.region&&(i=n.region+\"-resize\"),em.select(document.body).style(\"cursor\",i)}function jNt(e){e.on(\"mousemove\",function(t){em.event.preventDefault(),t.parent.inBrushDrag||BBe(this,t)}).on(\"mouseleave\",function(t){t.parent.inBrushDrag||FBe()}).call(em.behavior.drag().on(\"dragstart\",function(t){HNt(this,t)}).on(\"drag\",function(t){OBe(this,t)}).on(\"dragend\",function(t){GNt(this,t)}))}function NBe(e,t){return e[0]-t[0]}function WNt(e,t,r){var n=r._context.staticPlot,i=e.selectAll(\".background\").data(LF);i.enter().append(\"rect\").classed(\"background\",!0).call(BNt).call(NNt).style(\"pointer-events\",n?\"none\":\"auto\").attr(\"transform\",FNt(0,th.verticalPadding)),i.call(jNt).attr(\"height\",function(s){return s.height-th.verticalPadding});var a=e.selectAll(\".highlight-shadow\").data(LF);a.enter().append(\"line\").classed(\"highlight-shadow\",!0).attr(\"x\",-th.bar.width/2).attr(\"stroke-width\",th.bar.width+th.bar.strokeWidth).attr(\"stroke\",t).attr(\"opacity\",th.bar.strokeOpacity).attr(\"stroke-linecap\",\"butt\"),a.attr(\"y1\",function(s){return s.height}).call(hK);var o=e.selectAll(\".highlight\").data(LF);o.enter().append(\"line\").classed(\"highlight\",!0).attr(\"x\",-th.bar.width/2).attr(\"stroke-width\",th.bar.width-th.bar.strokeWidth).attr(\"stroke\",th.bar.fillColor).attr(\"opacity\",th.bar.fillOpacity).attr(\"stroke-linecap\",\"butt\"),o.attr(\"y1\",function(s){return s.height}).call(hK)}function ZNt(e,t,r){var n=e.selectAll(\".\"+th.cn.axisBrush).data(LF,zNt);n.enter().append(\"g\").classed(th.cn.axisBrush,!0),WNt(n,t,r)}function XNt(e){return e.svgBrush.extent.map(function(t){return t.slice()})}function fK(e){e.filterSpecified=!1,e.svgBrush.extent=[[-1/0,1/0]]}function YNt(e){return function(r){var n=r.brush,i=XNt(n),a=i.slice();n.filter.set(a),e()}}function UBe(e){for(var t=e.slice(),r=[],n,i=t.shift();i;){for(n=i.slice();(i=t.shift())&&i[0]<=n[1];)n[1]=Math.max(n[1],i[1]);r.push(n)}return r.length===1&&r[0][0]>r[0][1]&&(r=[]),r}function KNt(){var e=[],t,r;return{set:function(n){e=n.map(function(i){return i.slice().sort(gA)}).sort(NBe),e.length===1&&e[0][0]===-1/0&&e[0][1]===1/0&&(e=[[0,-1]]),t=UBe(e),r=e.reduce(function(i,a){return[Math.min(i[0],a[0]),Math.max(i[1],a[1])]},[1/0,-1/0])},get:function(){return e.slice()},getConsolidated:function(){return t},getBounds:function(){return r}}}function JNt(e,t,r,n,i,a){var o=KNt();return o.set(r),{filter:o,filterSpecified:t,svgBrush:{extent:[],brushStartCallback:n,brushCallback:YNt(i),brushEndCallback:a}}}function $Nt(e,t){if(Array.isArray(e[0])?(e=e.map(function(n){return n.sort(gA)}),t.multiselect?e=UBe(e.sort(NBe)):e=[e[0]]):e=[e.sort(gA)],t.tickvals){var r=t.tickvals.slice().sort(gA);if(e=e.map(function(n){var i=[IF(0,r,n[0],[]),IF(1,r,n[1],[])];if(i[1]>i[0])return i}).filter(function(n){return n}),!e.length)return}return e.length>1?e:e[0]}VBe.exports={makeBrush:JNt,ensureAxisBrush:ZNt,cleanRanges:$Nt}});var jBe=ye((iyr,GBe)=>{\"use strict\";var mx=Mr(),QNt=Dv().hasColorscale,eUt=Uh(),tUt=Ju().defaults,rUt=Zd(),iUt=Qa(),HBe=cK(),nUt=dK(),vK=Ak().maxDimensionCount,aUt=wF();function oUt(e,t,r,n,i){var a=i(\"line.color\",r);if(QNt(e,\"line\")&&mx.isArrayOrTypedArray(a)){if(a.length)return i(\"line.colorscale\"),eUt(e,t,n,i,{prefix:\"line.\",cLetter:\"c\"}),a.length;t.line.color=r}return 1/0}function sUt(e,t,r,n){function i(u,c){return mx.coerce(e,t,HBe.dimensions,u,c)}var a=i(\"values\"),o=i(\"visible\");if(a&&a.length||(o=t.visible=!1),o){i(\"label\"),i(\"tickvals\"),i(\"ticktext\"),i(\"tickformat\");var s=i(\"range\");t._ax={_id:\"y\",type:\"linear\",showexponent:\"all\",exponentformat:\"B\",range:s},iUt.setConvert(t._ax,n.layout),i(\"multiselect\");var l=i(\"constraintrange\");l&&(t.constraintrange=nUt.cleanRanges(l,t))}}GBe.exports=function(t,r,n,i){function a(c,f){return mx.coerce(t,r,HBe,c,f)}var o=t.dimensions;Array.isArray(o)&&o.length>vK&&(mx.log(\"parcoords traces support up to \"+vK+\" dimensions at the moment\"),o.splice(vK));var s=rUt(t,r,{name:\"dimensions\",layout:i,handleItemDefaults:sUt}),l=oUt(t,r,n,i,a);tUt(r,i,a),(!Array.isArray(s)||!s.length)&&(r.visible=!1),aUt(r,s,\"values\",l);var u=mx.extendFlat({},i.font,{size:Math.round(i.font.size/1.2)});mx.coerceFont(a,\"labelfont\",u),mx.coerceFont(a,\"tickfont\",u,{autoShadowDflt:!0}),mx.coerceFont(a,\"rangefont\",u),a(\"labelangle\"),a(\"labelside\"),a(\"unselected.line.color\"),a(\"unselected.line.opacity\")}});var ZBe=ye((nyr,WBe)=>{\"use strict\";var lUt=Mr().isArrayOrTypedArray,pK=Mu(),uUt=Km().wrap;WBe.exports=function(t,r){var n,i;return pK.hasColorscale(r,\"line\")&&lUt(r.line.color)?(n=r.line.color,i=pK.extractOpts(r.line).colorscale,pK.calc(t,r,{vals:n,containerStr:\"line\",cLetter:\"c\"})):(n=cUt(r._length),i=[[0,r.line.color],[1,r.line.color]]),uUt({lineColor:n,cscale:i})};function cUt(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=.5;return t}});function fUt(e){var c,f;var t,r=[],n=1,i;if(typeof e==\"number\")return{space:\"rgb\",values:[e>>>16,(e&65280)>>>8,e&255],alpha:1};if(typeof e==\"number\")return{space:\"rgb\",values:[e>>>16,(e&65280)>>>8,e&255],alpha:1};if(e=String(e).toLowerCase(),gK.default[e])r=gK.default[e].slice(),i=\"rgb\";else if(e===\"transparent\")n=0,i=\"rgb\",r=[0,0,0];else if(e[0]===\"#\"){var a=e.slice(1),o=a.length,s=o<=4;n=1,s?(r=[parseInt(a[0]+a[0],16),parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16)],o===4&&(n=parseInt(a[3]+a[3],16)/255)):(r=[parseInt(a[0]+a[1],16),parseInt(a[2]+a[3],16),parseInt(a[4]+a[5],16)],o===8&&(n=parseInt(a[6]+a[7],16)/255)),r[0]||(r[0]=0),r[1]||(r[1]=0),r[2]||(r[2]=0),i=\"rgb\"}else if(t=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\\s*\\(([^\\)]*)\\)/.exec(e)){var l=t[1];i=l.replace(/a$/,\"\");var u=i===\"cmyk\"?4:i===\"gray\"?1:3;r=t[2].trim().split(/\\s*[,\\/]\\s*|\\s+/),i===\"color\"&&(i=r.shift()),r=r.map(function(h,d){if(h[h.length-1]===\"%\")return h=parseFloat(h)/100,d===3?h:i===\"rgb\"?h*255:i[0]===\"h\"||i[0]===\"l\"&&!d?h*100:i===\"lab\"?h*125:i===\"lch\"?d<2?h*150:h*360:i[0]===\"o\"&&!d?h:i===\"oklab\"?h*.4:i===\"oklch\"?d<2?h*.4:h*360:h;if(i[d]===\"h\"||d===2&&i[i.length-1]===\"h\"){if(XBe[h]!==void 0)return XBe[h];if(h.endsWith(\"deg\"))return parseFloat(h);if(h.endsWith(\"turn\"))return parseFloat(h)*360;if(h.endsWith(\"grad\"))return parseFloat(h)*360/400;if(h.endsWith(\"rad\"))return parseFloat(h)*180/Math.PI}return h===\"none\"?0:parseFloat(h)}),n=r.length>u?r.pop():1}else/[0-9](?:\\s|\\/|,)/.test(e)&&(r=e.match(/([0-9]+)/g).map(function(h){return parseFloat(h)}),i=((f=(c=e.match(/([a-z])/ig))==null?void 0:c.join(\"\"))==null?void 0:f.toLowerCase())||\"rgb\");return{space:i,values:r,alpha:n}}var gK,YBe,XBe,KBe=Ll(()=>{gK=YQe(rZ(),1),YBe=fUt,XBe={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}});var Sk,mK=Ll(()=>{Sk={name:\"rgb\",min:[0,0,0],max:[255,255,255],channel:[\"red\",\"green\",\"blue\"],alias:[\"RGB\"]}});var RF,JBe=Ll(()=>{mK();RF={name:\"hsl\",min:[0,0,0],max:[360,100,100],channel:[\"hue\",\"saturation\",\"lightness\"],alias:[\"HSL\"],rgb:function(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100,i,a,o,s,l,u=0;if(r===0)return l=n*255,[l,l,l];for(a=n<.5?n*(1+r):n+r-n*r,i=2*n-a,s=[0,0,0];u<3;)o=t+1/3*-(u-1),o<0?o++:o>1&&o--,l=6*o<1?i+(a-i)*6*o:2*o<1?a:3*o<2?i+(a-i)*(2/3-o)*6:i,s[u++]=l*255;return s}};Sk.hsl=function(e){var t=e[0]/255,r=e[1]/255,n=e[2]/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=a-i,s,l,u;return a===i?s=0:t===a?s=(r-n)/o:r===a?s=2+(n-t)/o:n===a&&(s=4+(t-r)/o),s=Math.min(s*60,360),s<0&&(s+=360),u=(i+a)/2,a===i?l=0:u<=.5?l=o/(a+i):l=o/(2-a-i),[s,l*100,u*100]}});var QBe={};QQ(QBe,{default:()=>$Be});function $Be(e){Array.isArray(e)&&e.raw&&(e=String.raw(...arguments)),e instanceof Number&&(e=+e);var t,r,n,i=YBe(e);if(!i.space)return[];let a=i.space[0]===\"h\"?RF.min:Sk.min,o=i.space[0]===\"h\"?RF.max:Sk.max;return t=Array(3),t[0]=Math.min(Math.max(i.values[0],a[0]),o[0]),t[1]=Math.min(Math.max(i.values[1],a[1]),o[1]),t[2]=Math.min(Math.max(i.values[2],a[2]),o[2]),i.space[0]===\"h\"&&(t=RF.rgb(t)),t.push(Math.min(Math.max(i.alpha,0),1)),t}var eNe=Ll(()=>{KBe();mK();JBe()});var yK=ye(DF=>{\"use strict\";var hUt=Mr().isTypedArray;DF.convertTypedArray=function(e){return hUt(e)?Array.prototype.slice.call(e):e};DF.isOrdinal=function(e){return!!e.tickvals};DF.isVisible=function(e){return e.visible||!(\"visible\"in e)}});var cNe=ye((dyr,uNe)=>{\"use strict\";var dUt=[\"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", - "`),vUt=[\"precision highp float;\",\"\",\"varying vec4 fragColor;\",\"\",\"void main() {\",\" gl_FragColor = fragColor;\",\"}\"].join(`\n", - "`),Mk=Ak().maxDimensionCount,oNe=Mr(),tNe=1e-6,zF=2048,pUt=new Uint8Array(4),rNe=new Uint8Array(4),iNe={shape:[256,1],format:\"rgba\",type:\"uint8\",mag:\"nearest\",min:\"nearest\"};function gUt(e){e.read({x:0,y:0,width:1,height:1,data:pUt})}function sNe(e,t,r,n,i){var a=e._gl;a.enable(a.SCISSOR_TEST),a.scissor(t,r,n,i),e.clear({color:[0,0,0,0],depth:1})}function mUt(e,t,r,n,i,a){var o=a.key;function s(l){var u=Math.min(n,i-l*n);l===0&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],sNe(e,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),!r.clearOnly&&(a.count=2*u,a.offset=2*l*n,t(a),l*n+u<i&&(r.currentRafs[o]=window.requestAnimationFrame(function(){s(l+1)})),r.drawCompleted=!1)}r.drawCompleted||(gUt(e),r.drawCompleted=!0),s(0)}function yUt(e){return Math.max(tNe,Math.min(1-tNe,e))}function _Ut(e,t){for(var r=new Array(256),n=0;n<256;n++)r[n]=e(n/255).concat(t);return r}function _K(e,t){return(e>>>8*t)%256/255}function xUt(e,t,r){for(var n=new Array(e*(Mk+4)),i=0,a=0;a<e;a++){for(var o=0;o<Mk;o++)n[i++]=o<t.length?t[o].paddedUnitValues[a]:.5;n[i++]=_K(a,2),n[i++]=_K(a,1),n[i++]=_K(a,0),n[i++]=yUt(r[a])}return n}function bUt(e,t,r){for(var n=new Array(t*8),i=0,a=0;a<t;a++)for(var o=0;o<2;o++)for(var s=0;s<4;s++){var l=e*4+s,u=r[a*64+l];l===63&&o===0&&(u*=-1),n[i++]=u}return n}function nNe(e){var t=\"0\"+e;return t.substr(t.length-2)}function lNe(e){return e<Mk?\"p\"+nNe(e+1)+\"_\"+nNe(e+4):\"colors\"}function wUt(e,t,r){for(var n=0;n<=Mk;n+=4)e[lNe(n)](bUt(n/4,t,r))}function TUt(e){for(var t={},r=0;r<=Mk;r+=4)t[lNe(r)]=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)});return t}function AUt(e,t,r,n,i,a,o,s,l,u,c,f,h,d){for(var v=[[],[]],x=0;x<64;x++)v[0][x]=x===i?1:0,v[1][x]=x===a?1:0;o*=d,s*=d,l*=d,u*=d;var b=e.lines.canvasOverdrag*d,p=e.domain,E=e.canvasWidth*d,k=e.canvasHeight*d,A=e.pad.l*d,L=e.pad.b*d,_=e.layoutHeight*d,C=e.layoutWidth*d,M=e.deselectedLines.color,g=e.deselectedLines.opacity,P=oNe.extendFlat({key:c,resolution:[E,k],viewBoxPos:[o+b,s],viewBoxSize:[l,u],i0:i,i1:a,dim0A:v[0].slice(0,16),dim0B:v[0].slice(16,32),dim0C:v[0].slice(32,48),dim0D:v[0].slice(48,64),dim1A:v[1].slice(0,16),dim1B:v[1].slice(16,32),dim1C:v[1].slice(32,48),dim1D:v[1].slice(48,64),drwLayer:f,contextColor:[M[0]/255,M[1]/255,M[2]/255,g!==\"auto\"?M[3]*g:Math.max(1/255,Math.pow(1/e.lines.color.length,1/3))],scissorX:(n===t?0:o+b)+(A-b)+C*p.x[0],scissorWidth:(n===r?E-o+b:l+.5)+(n===t?o+b:0),scissorY:s+L+_*p.y[0],scissorHeight:u,viewportX:A-b+C*p.x[0],viewportY:L+_*p.y[0],viewportWidth:E,viewportHeight:k},h);return P}function aNe(e){var t=zF-1,r=Math.max(0,Math.floor(e[0]*t),0),n=Math.min(t,Math.ceil(e[1]*t),t);return[Math.min(r,n),Math.max(r,n)]}uNe.exports=function(e,t){var r=t.context,n=t.pick,i=t.regl,a=i._gl,o=a.getParameter(a.ALIASED_LINE_WIDTH_RANGE),s=Math.max(o[0],Math.min(o[1],t.viewModel.plotGlPixelRatio)),l={currentRafs:{},drawCompleted:!0,clearOnly:!1},u,c,f,h,d=TUt(i),v,x=i.texture(iNe),b=[];E(t);var p=i({profile:!1,blend:{enable:r,func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:1,dstAlpha:1},equation:{rgb:\"add\",alpha:\"add\"},color:[0,0,0,0]},depth:{enable:!r,mask:!0,func:\"less\",range:[0,1]},cull:{enable:!0,face:\"back\"},scissor:{enable:!0,box:{x:i.prop(\"scissorX\"),y:i.prop(\"scissorY\"),width:i.prop(\"scissorWidth\"),height:i.prop(\"scissorHeight\")}},viewport:{x:i.prop(\"viewportX\"),y:i.prop(\"viewportY\"),width:i.prop(\"viewportWidth\"),height:i.prop(\"viewportHeight\")},dither:!1,vert:dUt,frag:vUt,primitive:\"lines\",lineWidth:s,attributes:d,uniforms:{resolution:i.prop(\"resolution\"),viewBoxPos:i.prop(\"viewBoxPos\"),viewBoxSize:i.prop(\"viewBoxSize\"),dim0A:i.prop(\"dim0A\"),dim1A:i.prop(\"dim1A\"),dim0B:i.prop(\"dim0B\"),dim1B:i.prop(\"dim1B\"),dim0C:i.prop(\"dim0C\"),dim1C:i.prop(\"dim1C\"),dim0D:i.prop(\"dim0D\"),dim1D:i.prop(\"dim1D\"),loA:i.prop(\"loA\"),hiA:i.prop(\"hiA\"),loB:i.prop(\"loB\"),hiB:i.prop(\"hiB\"),loC:i.prop(\"loC\"),hiC:i.prop(\"hiC\"),loD:i.prop(\"loD\"),hiD:i.prop(\"hiD\"),palette:x,contextColor:i.prop(\"contextColor\"),maskTexture:i.prop(\"maskTexture\"),drwLayer:i.prop(\"drwLayer\"),maskHeight:i.prop(\"maskHeight\")},offset:i.prop(\"offset\"),count:i.prop(\"count\")});function E(M){u=M.model,c=M.viewModel,f=c.dimensions.slice(),h=f[0]?f[0].values.length:0;var g=u.lines,P=n?g.color.map(function(F,q){return q/g.color.length}):g.color,T=xUt(h,f,P);wUt(d,h,T),!r&&!n&&(x=i.texture(oNe.extendFlat({data:_Ut(u.unitToColor,255)},iNe)))}function k(M){var g,P,T,F=[[],[]];for(T=0;T<64;T++){var q=!M&&T<f.length?f[T].brush.filter.getBounds():[-1/0,1/0];F[0][T]=q[0],F[1][T]=q[1]}var V=zF*8,H=new Array(V);for(g=0;g<V;g++)H[g]=255;if(!M)for(g=0;g<f.length;g++){var X=g%8,G=(g-X)/8,N=Math.pow(2,X),W=f[g],re=W.brush.filter.get();if(!(re.length<2)){var ae=aNe(re[0])[1];for(P=1;P<re.length;P++){var _e=aNe(re[P]);for(T=ae+1;T<_e[0];T++)H[T*8+G]&=~N;ae=Math.max(ae,_e[1])}}}var Me={shape:[8,zF],format:\"alpha\",type:\"uint8\",mag:\"nearest\",min:\"nearest\",data:H};return v?v(Me):v=i.texture(Me),{maskTexture:v,maskHeight:zF,loA:F[0].slice(0,16),loB:F[0].slice(16,32),loC:F[0].slice(32,48),loD:F[0].slice(48,64),hiA:F[1].slice(0,16),hiB:F[1].slice(16,32),hiC:F[1].slice(32,48),hiD:F[1].slice(48,64)}}function A(M,g,P){var T=M.length,F,q,V,H=1/0,X=-1/0;for(F=0;F<T;F++)M[F].dim0.canvasX<H&&(H=M[F].dim0.canvasX,q=F),M[F].dim1.canvasX>X&&(X=M[F].dim1.canvasX,V=F);T===0&&sNe(i,0,0,u.canvasWidth,u.canvasHeight);var G=k(r);for(F=0;F<T;F++){var N=M[F],W=N.dim0.crossfilterDimensionIndex,re=N.dim1.crossfilterDimensionIndex,ae=N.canvasX,_e=N.canvasY,Me=ae+N.panelSizeX,ke=N.plotGlPixelRatio;if(g||!b[W]||b[W][0]!==ae||b[W][1]!==Me){b[W]=[ae,Me];var ge=AUt(u,q,V,F,W,re,ae,_e,N.panelSizeX,N.panelSizeY,N.dim0.crossfilterDimensionIndex,r?0:n?2:1,G,ke);l.clearOnly=P;var ie=g?u.lines.blockLineCount:h;mUt(i,p,l,ie,h,ge)}}}function L(M,g){return i.read({x:M,y:g,width:1,height:1,data:rNe}),rNe}function _(M,g,P,T){var F=new Uint8Array(4*P*T);return i.read({x:M,y:g,width:P,height:T,data:F}),F}function C(){e.style[\"pointer-events\"]=\"none\",x.destroy(),v&&v.destroy();for(var M in d)d[M].destroy()}return{render:A,readPixel:L,readPixels:_,destroy:C,update:E}}});var ANe=ye((vyr,TNe)=>{\"use strict\";var zd=xa(),l1=Mr(),xK=l1.isArrayOrTypedArray,gNe=l1.numberFormat,mNe=(eNe(),B1(QBe)).default,yNe=Qa(),SUt=l1.strRotate,Jm=l1.strTranslate,MUt=Pl(),FF=ao(),fNe=Mu(),TK=Km(),tg=TK.keyFun,$m=TK.repeat,_Ne=TK.unwrap,mA=yK(),ll=Ak(),xNe=dK(),EUt=cNe();function hNe(e,t,r){return l1.aggNums(e,null,t,r)}function bNe(e,t){return AK(hNe(Math.min,e,t),hNe(Math.max,e,t))}function qF(e){var t=e.range;return t?AK(t[0],t[1]):bNe(e.values,e._length)}function AK(e,t){return(isNaN(e)||!isFinite(e))&&(e=0),(isNaN(t)||!isFinite(t))&&(t=0),e===t&&(e===0?(e-=1,t+=1):(e*=.9,t*=1.1)),[e,t]}function kUt(e,t){return t?function(r,n){var i=t[n];return i==null?e(r):i}:e}function CUt(e,t,r,n,i){var a=qF(r);return n?zd.scale.ordinal().domain(n.map(kUt(gNe(r.tickformat),i))).range(n.map(function(o){var s=(o-a[0])/(a[1]-a[0]);return e-t+s*(2*t-e)})):zd.scale.linear().domain(a).range([e-t,t])}function LUt(e,t){return zd.scale.linear().range([t,e-t])}function PUt(e,t){return zd.scale.linear().domain(qF(e)).range([t,1-t])}function IUt(e){if(e.tickvals){var t=qF(e);return zd.scale.ordinal().domain(e.tickvals).range(e.tickvals.map(function(r){return(r-t[0])/(t[1]-t[0])}))}}function RUt(e){var t=e.map(function(a){return a[0]}),r=e.map(function(a){var o=mNe(a[1]);return zd.rgb(\"rgb(\"+o[0]+\",\"+o[1]+\",\"+o[2]+\")\")}),n=function(a){return function(o){return o[a]}},i=\"rgb\".split(\"\").map(function(a){return zd.scale.linear().clamp(!0).domain(t).range(r.map(n(a)))});return function(a){return i.map(function(o){return o(a)})}}function wK(e){return e.dimensions.some(function(t){return t.brush.filterSpecified})}function DUt(e,t,r){var n=_Ne(t),i=n.trace,a=mA.convertTypedArray(n.lineColor),o=i.line,s={color:mNe(i.unselected.line.color),opacity:i.unselected.line.opacity},l=fNe.extractOpts(o),u=l.reversescale?fNe.flipScale(n.cscale):n.cscale,c=i.domain,f=i.dimensions,h=e.width,d=i.labelangle,v=i.labelside,x=i.labelfont,b=i.tickfont,p=i.rangefont,E=l1.extendDeepNoArrays({},o,{color:a.map(zd.scale.linear().domain(qF({values:a,range:[l.min,l.max],_length:i._length}))),blockLineCount:ll.blockLineCount,canvasOverdrag:ll.overdrag*ll.canvasPixelRatio}),k=Math.floor(h*(c.x[1]-c.x[0])),A=Math.floor(e.height*(c.y[1]-c.y[0])),L=e.margin||{l:80,r:80,t:100,b:80},_=k,C=A;return{key:r,colCount:f.filter(mA.isVisible).length,dimensions:f,tickDistance:ll.tickDistance,unitToColor:RUt(u),lines:E,deselectedLines:s,labelAngle:d,labelSide:v,labelFont:x,tickFont:b,rangeFont:p,layoutWidth:h,layoutHeight:e.height,domain:c,translateX:c.x[0]*h,translateY:e.height-c.y[1]*e.height,pad:L,canvasWidth:_*ll.canvasPixelRatio+2*E.canvasOverdrag,canvasHeight:C*ll.canvasPixelRatio,width:_,height:C,canvasPixelRatio:ll.canvasPixelRatio}}function zUt(e,t,r){var n=r.width,i=r.height,a=r.dimensions,o=r.canvasPixelRatio,s=function(h){return n*h/Math.max(1,r.colCount-1)},l=ll.verticalPadding/i,u=LUt(i,ll.verticalPadding),c={key:r.key,xScale:s,model:r,inBrushDrag:!1},f={};return c.dimensions=a.filter(mA.isVisible).map(function(h,d){var v=PUt(h,l),x=f[h.label];f[h.label]=(x||0)+1;var b=h.label+(x?\"__\"+x:\"\"),p=h.constraintrange,E=p&&p.length;E&&!xK(p[0])&&(p=[p]);var k=E?p.map(function(q){return q.map(v)}):[[-1/0,1/0]],A=function(){var q=c;q.focusLayer&&q.focusLayer.render(q.panels,!0);var V=wK(q);!e.contextShown()&&V?(q.contextLayer&&q.contextLayer.render(q.panels,!0),e.contextShown(!0)):e.contextShown()&&!V&&(q.contextLayer&&q.contextLayer.render(q.panels,!0,!0),e.contextShown(!1))},L=h.values;L.length>h._length&&(L=L.slice(0,h._length));var _=h.tickvals,C;function M(q,V){return{val:q,text:C[V]}}function g(q,V){return q.val-V.val}if(xK(_)&&_.length){l1.isTypedArray(_)&&(_=Array.from(_)),C=h.ticktext,!xK(C)||!C.length?C=_.map(gNe(h.tickformat)):C.length>_.length?C=C.slice(0,_.length):_.length>C.length&&(_=_.slice(0,C.length));for(var P=1;P<_.length;P++)if(_[P]<_[P-1]){for(var T=_.map(M).sort(g),F=0;F<_.length;F++)_[F]=T[F].val,C[F]=T[F].text;break}}else _=void 0;return L=mA.convertTypedArray(L),{key:b,label:h.label,tickFormat:h.tickformat,tickvals:_,ticktext:C,ordinal:mA.isOrdinal(h),multiselect:h.multiselect,xIndex:d,crossfilterDimensionIndex:d,visibleIndex:h._index,height:i,values:L,paddedUnitValues:L.map(v),unitTickvals:_&&_.map(v),xScale:s,x:s(d),canvasX:s(d)*o,unitToPaddedPx:u,domainScale:CUt(i,ll.verticalPadding,h,_,C),ordinalScale:IUt(h),parent:c,model:r,brush:xNe.makeBrush(e,E,k,function(){e.linePickActive(!1)},A,function(q){if(c.focusLayer.render(c.panels,!0),c.pickLayer&&c.pickLayer.render(c.panels,!0),e.linePickActive(!0),t&&t.filterChanged){var V=v.invert,H=q.map(function(X){return X.map(V).sort(l1.sorterAsc)}).sort(function(X,G){return X[0]-G[0]});t.filterChanged(c.key,h._index,H)}})}}),c}function dNe(e){e.classed(ll.cn.axisExtentText,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"default\")}function FUt(){var e=!0,t=!1;return{linePickActive:function(r){return arguments.length?e=!!r:e},contextShown:function(r){return arguments.length?t=!!r:t}}}function vNe(e,t){var r=t===\"top\"?1:-1,n=e*Math.PI/180,i=Math.sin(n),a=Math.cos(n);return{dir:r,dx:i,dy:a,degrees:e}}function bK(e,t,r){for(var n=t.panels||(t.panels=[]),i=e.data(),a=0;a<i.length-1;a++){var o=n[a]||(n[a]={}),s=i[a],l=i[a+1];o.dim0=s,o.dim1=l,o.canvasX=s.canvasX,o.panelSizeX=l.canvasX-s.canvasX,o.panelSizeY=t.model.canvasHeight,o.y=0,o.canvasY=0,o.plotGlPixelRatio=r}}function qUt(e){for(var t=0;t<e.length;t++)for(var r=0;r<e[t].length;r++)for(var n=e[t][r].trace,i=n.dimensions,a=0;a<i.length;a++){var o=i[a].values,s=i[a]._ax;s&&(s.range?s.range=AK(s.range[0],s.range[1]):s.range=bNe(o,n._length),s.dtick||(s.dtick=.01*(Math.abs(s.range[1]-s.range[0])||1)),s.tickformat=i[a].tickformat,yNe.calcTicks(s),s.cleanRange())}}function wNe(e,t){return yNe.tickText(e._ax,t,!1).text}function pNe(e,t){if(e.ordinal)return\"\";var r=e.domainScale.domain(),n=r[t?r.length-1:0];return wNe(e.model.dimensions[e.visibleIndex],n)}TNe.exports=function(t,r,n,i){var a=t._context.staticPlot,o=t._fullLayout,s=o._toppaper,l=o._glcontainer,u=t._context.plotGlPixelRatio,c=t._fullLayout.paper_bgcolor;qUt(r);var f=FUt(),h=r.filter(function(F){return _Ne(F).trace.visible}).map(DUt.bind(0,n)).map(zUt.bind(0,f,i));l.each(function(F,q){return l1.extendFlat(F,h[q])});var d=l.selectAll(\".gl-canvas\").each(function(F){F.viewModel=h[0],F.viewModel.plotGlPixelRatio=u,F.viewModel.paperColor=c,F.model=F.viewModel?F.viewModel.model:null}),v=null,x=d.filter(function(F){return F.pick});x.style(\"pointer-events\",a?\"none\":\"auto\").on(\"mousemove\",function(F){if(f.linePickActive()&&F.lineLayer&&i&&i.hover){var q=zd.event,V=this.width,H=this.height,X=zd.mouse(this),G=X[0],N=X[1];if(G<0||N<0||G>=V||N>=H)return;var W=F.lineLayer.readPixel(G,H-1-N),re=W[3]!==0,ae=re?W[2]+256*(W[1]+256*W[0]):null,_e={x:G,y:N,clientX:q.clientX,clientY:q.clientY,dataIndex:F.model.key,curveNumber:ae};ae!==v&&(re?i.hover(_e):i.unhover&&i.unhover(_e),v=ae)}}),d.style(\"opacity\",function(F){return F.pick?0:1}),s.style(\"background\",\"rgba(255, 255, 255, 0)\");var b=s.selectAll(\".\"+ll.cn.parcoords).data(h,tg);b.exit().remove(),b.enter().append(\"g\").classed(ll.cn.parcoords,!0).style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"none\"),b.attr(\"transform\",function(F){return Jm(F.model.translateX,F.model.translateY)});var p=b.selectAll(\".\"+ll.cn.parcoordsControlView).data($m,tg);p.enter().append(\"g\").classed(ll.cn.parcoordsControlView,!0),p.attr(\"transform\",function(F){return Jm(F.model.pad.l,F.model.pad.t)});var E=p.selectAll(\".\"+ll.cn.yAxis).data(function(F){return F.dimensions},tg);E.enter().append(\"g\").classed(ll.cn.yAxis,!0),p.each(function(F){bK(E,F,u)}),d.each(function(F){if(F.viewModel){!F.lineLayer||i?F.lineLayer=EUt(this,F):F.lineLayer.update(F),(F.key||F.key===0)&&(F.viewModel[F.key]=F.lineLayer);var q=!F.context||i;F.lineLayer.render(F.viewModel.panels,q)}}),E.attr(\"transform\",function(F){return Jm(F.xScale(F.xIndex),0)}),E.call(zd.behavior.drag().origin(function(F){return F}).on(\"drag\",function(F){var q=F.parent;f.linePickActive(!1),F.x=Math.max(-ll.overdrag,Math.min(F.model.width+ll.overdrag,zd.event.x)),F.canvasX=F.x*F.model.canvasPixelRatio,E.sort(function(V,H){return V.x-H.x}).each(function(V,H){V.xIndex=H,V.x=F===V?V.x:V.xScale(V.xIndex),V.canvasX=V.x*V.model.canvasPixelRatio}),bK(E,q,u),E.filter(function(V){return Math.abs(F.xIndex-V.xIndex)!==0}).attr(\"transform\",function(V){return Jm(V.xScale(V.xIndex),0)}),zd.select(this).attr(\"transform\",Jm(F.x,0)),E.each(function(V,H,X){X===F.parent.key&&(q.dimensions[H]=V)}),q.contextLayer&&q.contextLayer.render(q.panels,!1,!wK(q)),q.focusLayer.render&&q.focusLayer.render(q.panels)}).on(\"dragend\",function(F){var q=F.parent;F.x=F.xScale(F.xIndex),F.canvasX=F.x*F.model.canvasPixelRatio,bK(E,q,u),zd.select(this).attr(\"transform\",function(V){return Jm(V.x,0)}),q.contextLayer&&q.contextLayer.render(q.panels,!1,!wK(q)),q.focusLayer&&q.focusLayer.render(q.panels),q.pickLayer&&q.pickLayer.render(q.panels,!0),f.linePickActive(!0),i&&i.axesMoved&&i.axesMoved(q.key,q.dimensions.map(function(V){return V.crossfilterDimensionIndex}))})),E.exit().remove();var k=E.selectAll(\".\"+ll.cn.axisOverlays).data($m,tg);k.enter().append(\"g\").classed(ll.cn.axisOverlays,!0),k.selectAll(\".\"+ll.cn.axis).remove();var A=k.selectAll(\".\"+ll.cn.axis).data($m,tg);A.enter().append(\"g\").classed(ll.cn.axis,!0),A.each(function(F){var q=F.model.height/F.model.tickDistance,V=F.domainScale,H=V.domain();zd.select(this).call(zd.svg.axis().orient(\"left\").tickSize(4).outerTickSize(2).ticks(q,F.tickFormat).tickValues(F.ordinal?H:null).tickFormat(function(X){return mA.isOrdinal(F)?X:wNe(F.model.dimensions[F.visibleIndex],X)}).scale(V)),FF.font(A.selectAll(\"text\"),F.model.tickFont)}),A.selectAll(\".domain, .tick>line\").attr(\"fill\",\"none\").attr(\"stroke\",\"black\").attr(\"stroke-opacity\",.25).attr(\"stroke-width\",\"1px\"),A.selectAll(\"text\").style(\"cursor\",\"default\");var L=k.selectAll(\".\"+ll.cn.axisHeading).data($m,tg);L.enter().append(\"g\").classed(ll.cn.axisHeading,!0);var _=L.selectAll(\".\"+ll.cn.axisTitle).data($m,tg);_.enter().append(\"text\").classed(ll.cn.axisTitle,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"ew-resize\").style(\"pointer-events\",a?\"none\":\"auto\"),_.text(function(F){return F.label}).each(function(F){var q=zd.select(this);FF.font(q,F.model.labelFont),MUt.convertToTspans(q,t)}).attr(\"transform\",function(F){var q=vNe(F.model.labelAngle,F.model.labelSide),V=ll.axisTitleOffset;return(q.dir>0?\"\":Jm(0,2*V+F.model.height))+SUt(q.degrees)+Jm(-V*q.dx,-V*q.dy)}).attr(\"text-anchor\",function(F){var q=vNe(F.model.labelAngle,F.model.labelSide),V=Math.abs(q.dx),H=Math.abs(q.dy);return 2*V>H?q.dir*q.dx<0?\"start\":\"end\":\"middle\"});var C=k.selectAll(\".\"+ll.cn.axisExtent).data($m,tg);C.enter().append(\"g\").classed(ll.cn.axisExtent,!0);var M=C.selectAll(\".\"+ll.cn.axisExtentTop).data($m,tg);M.enter().append(\"g\").classed(ll.cn.axisExtentTop,!0),M.attr(\"transform\",Jm(0,-ll.axisExtentOffset));var g=M.selectAll(\".\"+ll.cn.axisExtentTopText).data($m,tg);g.enter().append(\"text\").classed(ll.cn.axisExtentTopText,!0).call(dNe),g.text(function(F){return pNe(F,!0)}).each(function(F){FF.font(zd.select(this),F.model.rangeFont)});var P=C.selectAll(\".\"+ll.cn.axisExtentBottom).data($m,tg);P.enter().append(\"g\").classed(ll.cn.axisExtentBottom,!0),P.attr(\"transform\",function(F){return Jm(0,F.model.height+ll.axisExtentOffset)});var T=P.selectAll(\".\"+ll.cn.axisExtentBottomText).data($m,tg);T.enter().append(\"text\").classed(ll.cn.axisExtentBottomText,!0).attr(\"dy\",\"0.75em\").call(dNe),T.text(function(F){return pNe(F,!1)}).each(function(F){FF.font(zd.select(this),F.model.rangeFont)}),xNe.ensureAxisBrush(k,c,t)}});var MK=ye((SK,kNe)=>{\"use strict\";var OUt=ANe(),BUt=xF(),SNe=yK().isVisible,ENe={};function MNe(e,t,r){var n=t.indexOf(r),i=e.indexOf(n);return i===-1&&(i+=t.length),i}function NUt(e,t){return function(n,i){return MNe(e,t,n)-MNe(e,t,i)}}var SK=kNe.exports=function(t,r){var n=t._fullLayout,i=BUt(t,[],ENe);if(i){var a={},o={},s={},l={},u=n._size;r.forEach(function(v,x){var b=v[0].trace;s[x]=b.index;var p=l[x]=b.index;a[x]=t.data[p].dimensions,o[x]=t.data[p].dimensions.slice()});var c=function(v,x,b){var p=o[v][x],E=b.map(function(M){return M.slice()}),k=\"dimensions[\"+x+\"].constraintrange\",A=n._tracePreGUI[t._fullData[s[v]]._fullInput.uid];if(A[k]===void 0){var L=p.constraintrange;A[k]=L||null}var _=t._fullData[s[v]].dimensions[x];E.length?(E.length===1&&(E=E[0]),p.constraintrange=E,_.constraintrange=E.slice(),E=[E]):(delete p.constraintrange,delete _.constraintrange,E=null);var C={};C[k]=E,t.emit(\"plotly_restyle\",[C,[l[v]]])},f=function(v){t.emit(\"plotly_hover\",v)},h=function(v){t.emit(\"plotly_unhover\",v)},d=function(v,x){var b=NUt(x,o[v].filter(SNe));a[v].sort(b),o[v].filter(function(p){return!SNe(p)}).sort(function(p){return o[v].indexOf(p)}).forEach(function(p){a[v].splice(a[v].indexOf(p),1),a[v].splice(o[v].indexOf(p),0,p)}),t.emit(\"plotly_restyle\",[{dimensions:[a[v]]},[l[v]]])};OUt(t,r,{width:u.w,height:u.h,margin:{t:u.t,r:u.r,b:u.b,l:u.l}},{filterChanged:c,hover:f,unhover:h,axesMoved:d})}};SK.reglPrecompiled=ENe});var LNe=ye(Ek=>{\"use strict\";var CNe=xa(),UUt=kd().getModuleCalcData,VUt=MK(),HUt=Zp();Ek.name=\"parcoords\";Ek.plot=function(e){var t=UUt(e.calcdata,\"parcoords\")[0];t.length&&VUt(e,t)};Ek.clean=function(e,t,r,n){var i=n._has&&n._has(\"parcoords\"),a=t._has&&t._has(\"parcoords\");i&&!a&&(n._paperdiv.selectAll(\".parcoords\").remove(),n._glimages.selectAll(\"*\").remove())};Ek.toSVG=function(e){var t=e._fullLayout._glimages,r=CNe.select(e).selectAll(\".svg-container\"),n=r.filter(function(a,o){return o===r.size()-1}).selectAll(\".gl-canvas-context, .gl-canvas-focus\");function i(){var a=this,o=a.toDataURL(\"image/png\"),s=t.append(\"svg:image\");s.attr({xmlns:HUt.svg,\"xlink:href\":o,preserveAspectRatio:\"none\",x:0,y:0,width:a.style.width,height:a.style.height})}n.each(i),window.setTimeout(function(){CNe.selectAll(\"#filterBarPattern\").attr(\"id\",\"filterBarPattern\")},60)}});var INe=ye((gyr,PNe)=>{\"use strict\";PNe.exports={attributes:cK(),supplyDefaults:jBe(),calc:ZBe(),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcoords\",basePlotModule:LNe(),categories:[\"gl\",\"regl\",\"noOpacity\",\"noHover\"],meta:{}}});var zNe=ye((myr,DNe)=>{\"use strict\";var RNe=INe();RNe.plot=MK();DNe.exports=RNe});var qNe=ye((yyr,FNe)=>{\"use strict\";FNe.exports=zNe()});var EK=ye((_yr,UNe)=>{\"use strict\";var BNe=no().extendFlat,GUt=vl(),ONe=Su(),jUt=Jl(),NNe=Wo().hovertemplateAttrs,WUt=Ju().attributes,ZUt=BNe({editType:\"calc\"},jUt(\"line\",{editTypeOverride:\"calc\"}),{shape:{valType:\"enumerated\",values:[\"linear\",\"hspline\"],dflt:\"linear\",editType:\"plot\"},hovertemplate:NNe({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\"]})});UNe.exports={domain:WUt({name:\"parcats\",trace:!0,editType:\"calc\"}),hoverinfo:BNe({},GUt.hoverinfo,{flags:[\"count\",\"probability\"],editType:\"plot\",arrayOk:!1}),hoveron:{valType:\"enumerated\",values:[\"category\",\"color\",\"dimension\"],dflt:\"category\",editType:\"plot\"},hovertemplate:NNe({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\",\"category\",\"categorycount\",\"colorcount\",\"bandcolorcount\"]}),arrangement:{valType:\"enumerated\",values:[\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"perpendicular\",editType:\"plot\"},bundlecolors:{valType:\"boolean\",dflt:!0,editType:\"plot\"},sortpaths:{valType:\"enumerated\",values:[\"forward\",\"backward\"],dflt:\"forward\",editType:\"plot\"},labelfont:ONe({editType:\"calc\"}),tickfont:ONe({autoShadowDflt:!0,editType:\"calc\"}),dimensions:{_isLinkedToArray:\"dimension\",label:{valType:\"string\",editType:\"calc\"},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},values:{valType:\"data_array\",dflt:[],editType:\"calc\"},displayindex:{valType:\"integer\",editType:\"calc\"},editType:\"calc\",visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"}},line:ZUt,counts:{valType:\"number\",min:0,dflt:1,arrayOk:!0,editType:\"calc\"},customdata:void 0,hoverlabel:void 0,ids:void 0,legend:void 0,legendgroup:void 0,legendrank:void 0,opacity:void 0,selectedpoints:void 0,showlegend:void 0}});var GNe=ye((xyr,HNe)=>{\"use strict\";var yA=Mr(),XUt=Dv().hasColorscale,YUt=Uh(),KUt=Ju().defaults,JUt=Zd(),VNe=EK(),$Ut=wF(),QUt=vv().isTypedArraySpec;function eVt(e,t,r,n,i){i(\"line.shape\"),i(\"line.hovertemplate\");var a=i(\"line.color\",n.colorway[0]);if(XUt(e,\"line\")&&yA.isArrayOrTypedArray(a)){if(a.length)return i(\"line.colorscale\"),YUt(e,t,n,i,{prefix:\"line.\",cLetter:\"c\"}),a.length;t.line.color=r}return 1/0}function tVt(e,t){function r(u,c){return yA.coerce(e,t,VNe.dimensions,u,c)}var n=r(\"values\"),i=r(\"visible\");if(n&&n.length||(i=t.visible=!1),i){r(\"label\"),r(\"displayindex\",t._index);var a=e.categoryarray,o=yA.isArrayOrTypedArray(a)&&a.length>0||QUt(a),s;o&&(s=\"array\");var l=r(\"categoryorder\",s);l===\"array\"?(r(\"categoryarray\"),r(\"ticktext\")):(delete e.categoryarray,delete e.ticktext),!o&&l===\"array\"&&(t.categoryorder=\"trace\")}}HNe.exports=function(t,r,n,i){function a(u,c){return yA.coerce(t,r,VNe,u,c)}var o=JUt(t,r,{name:\"dimensions\",handleItemDefaults:tVt}),s=eVt(t,r,n,i,a);KUt(r,i,a),(!Array.isArray(o)||!o.length)&&(r.visible=!1),$Ut(r,o,\"values\",s),a(\"hoveron\"),a(\"hovertemplate\"),a(\"arrangement\"),a(\"bundlecolors\"),a(\"sortpaths\"),a(\"counts\");var l=i.font;yA.coerceFont(a,\"labelfont\",l,{overrideDflt:{size:Math.round(l.size)}}),yA.coerceFont(a,\"tickfont\",l,{autoShadowDflt:!0,overrideDflt:{size:Math.round(l.size/1.2)}})}});var WNe=ye((byr,jNe)=>{\"use strict\";var rVt=Km().wrap,iVt=Dv().hasColorscale,nVt=zv(),aVt=jq(),oVt=ao(),kk=Mr(),sVt=uo();jNe.exports=function(t,r){var n=kk.filterVisible(r.dimensions);if(n.length===0)return[];var i=n.map(function(g){var P;if(g.categoryorder===\"trace\")P=null;else if(g.categoryorder===\"array\")P=g.categoryarray;else{P=aVt(g.values);for(var T=!0,F=0;F<P.length;F++)if(!sVt(P[F])){T=!1;break}P.sort(T?kk.sorterAsc:void 0),g.categoryorder===\"category descending\"&&(P=P.reverse())}return vVt(g.values,P)}),a,o,s;kk.isArrayOrTypedArray(r.counts)?a=r.counts:a=[r.counts],pVt(n),n.forEach(function(g,P){gVt(g,i[P])});var l=r.line,u;l?(iVt(r,\"line\")&&nVt(t,r,{vals:r.line.color,containerStr:\"line\",cLetter:\"c\"}),u=oVt.tryColorscale(l)):u=kk.identity;function c(g){var P,T;return kk.isArrayOrTypedArray(l.color)?(P=l.color[g%l.color.length],T=P):P=l.color,{color:u(P),rawColor:T}}var f=n[0].values.length,h={},d=i.map(function(g){return g.inds});s=0;var v,x;for(v=0;v<f;v++){var b=[];for(x=0;x<d.length;x++)b.push(d[x][v]);o=a[v%a.length],s+=o;var p=c(v),E=b+\"-\"+p.rawColor;h[E]===void 0&&(h[E]=hVt(b,p.color,p.rawColor)),dVt(h[E],v,o)}var k=n.map(function(g,P){return uVt(P,g._index,g._displayindex,g.label,s)});for(v=0;v<f;v++)for(o=a[v%a.length],x=0;x<k.length;x++){var A=k[x].containerInd,L=i[x].inds[v],_=k[x].categories;if(_[L]===void 0){var C=r.dimensions[A]._categoryarray[L],M=r.dimensions[A]._ticktext[L];_[L]=cVt(x,L,C,M)}fVt(_[L],v,o)}return rVt(lVt(k,h,s))};function lVt(e,t,r){var n=e.map(function(i){return i.categories.length}).reduce(function(i,a){return Math.max(i,a)});return{dimensions:e,paths:t,trace:void 0,maxCats:n,count:r}}function uVt(e,t,r,n,i){return{dimensionInd:e,containerInd:t,displayInd:r,dimensionLabel:n,count:i,categories:[],dragX:null}}function cVt(e,t,r,n){return{dimensionInd:e,categoryInd:t,categoryValue:r,displayInd:t,categoryLabel:n,valueInds:[],count:0,dragY:null}}function fVt(e,t,r){e.valueInds.push(t),e.count+=r}function hVt(e,t,r){return{categoryInds:e,color:t,rawColor:r,valueInds:[],count:0}}function dVt(e,t,r){e.valueInds.push(t),e.count+=r}function vVt(e,t){t==null?t=[]:t=t.map(function(u){return u});var r={},n={},i=[];t.forEach(function(u,c){r[u]=0,n[u]=c});for(var a=0;a<e.length;a++){var o=e[a],s;r[o]===void 0?(r[o]=1,s=t.push(o)-1,n[o]=s):(r[o]++,s=n[o]),i.push(s)}var l=t.map(function(u){return r[u]});return{uniqueValues:t,uniqueCounts:l,inds:i}}function pVt(e){var t=e.map(function(n){return n.displayindex}),r;if(mVt(t))for(r=0;r<e.length;r++)e[r]._displayindex=e[r].displayindex;else for(r=0;r<e.length;r++)e[r]._displayindex=r}function gVt(e,t){e._categoryarray=t.uniqueValues,e.ticktext===null||e.ticktext===void 0?e._ticktext=[]:e._ticktext=e.ticktext.slice();for(var r=e._ticktext.length;r<t.uniqueValues.length;r++)e._ticktext.push(t.uniqueValues[r])}function mVt(e){for(var t=new Array(e.length),r=0;r<e.length;r++){if(e[r]<0||e[r]>=e.length||t[e[r]]!==void 0)return!1;t[e[r]]=!0}return!0}});var tUe=ye((wyr,eUe)=>{\"use strict\";var ul=xa(),yVt=(R2(),B1(I2)).interpolateNumber,_Vt=OP(),Pk=Nc(),yx=Mr(),Ck=yx.strTranslate,ZNe=ao(),kK=id(),xVt=Pl();function bVt(e,t,r,n){var i=t._context.staticPlot,a=e.map(FVt.bind(0,t,r)),o=n.selectAll(\"g.parcatslayer\").data([null]);o.enter().append(\"g\").attr(\"class\",\"parcatslayer\").style(\"pointer-events\",i?\"none\":\"all\");var s=o.selectAll(\"g.trace.parcats\").data(a,u1),l=s.enter().append(\"g\").attr(\"class\",\"trace parcats\");s.attr(\"transform\",function(E){return Ck(E.x,E.y)}),l.append(\"g\").attr(\"class\",\"paths\");var u=s.select(\"g.paths\"),c=u.selectAll(\"path.path\").data(function(E){return E.paths},u1);c.attr(\"fill\",function(E){return E.model.color});var f=c.enter().append(\"path\").attr(\"class\",\"path\").attr(\"stroke-opacity\",0).attr(\"fill\",function(E){return E.model.color}).attr(\"fill-opacity\",0);PK(f),c.attr(\"d\",function(E){return E.svgD}),f.empty()||c.sort(CK),c.exit().remove(),c.on(\"mouseover\",wVt).on(\"mouseout\",TVt).on(\"click\",AVt),l.append(\"g\").attr(\"class\",\"dimensions\");var h=s.select(\"g.dimensions\"),d=h.selectAll(\"g.dimension\").data(function(E){return E.dimensions},u1);d.enter().append(\"g\").attr(\"class\",\"dimension\"),d.attr(\"transform\",function(E){return Ck(E.x,0)}),d.exit().remove();var v=d.selectAll(\"g.category\").data(function(E){return E.categories},u1),x=v.enter().append(\"g\").attr(\"class\",\"category\");v.attr(\"transform\",function(E){return Ck(0,E.y)}),x.append(\"rect\").attr(\"class\",\"catrect\").attr(\"pointer-events\",\"none\"),v.select(\"rect.catrect\").attr(\"fill\",\"none\").attr(\"width\",function(E){return E.width}).attr(\"height\",function(E){return E.height}),YNe(x);var b=v.selectAll(\"rect.bandrect\").data(function(E){return E.bands},u1);b.each(function(){yx.raiseToTop(this)}),b.attr(\"fill\",function(E){return E.color});var p=b.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"stroke-opacity\",0).attr(\"fill\",function(E){return E.color}).attr(\"fill-opacity\",0);b.attr(\"fill\",function(E){return E.color}).attr(\"width\",function(E){return E.width}).attr(\"height\",function(E){return E.height}).attr(\"y\",function(E){return E.y}).attr(\"cursor\",function(E){return E.parcatsViewModel.arrangement===\"fixed\"?\"default\":E.parcatsViewModel.arrangement===\"perpendicular\"?\"ns-resize\":\"move\"}),RK(p),b.exit().remove(),x.append(\"text\").attr(\"class\",\"catlabel\").attr(\"pointer-events\",\"none\"),v.select(\"text.catlabel\").attr(\"text-anchor\",function(E){return Lk(E)?\"start\":\"end\"}).attr(\"alignment-baseline\",\"middle\").style(\"fill\",\"rgb(0, 0, 0)\").attr(\"x\",function(E){return Lk(E)?E.width+5:-5}).attr(\"y\",function(E){return E.height/2}).text(function(E){return E.model.categoryLabel}).each(function(E){ZNe.font(ul.select(this),E.parcatsViewModel.categorylabelfont),xVt.convertToTspans(ul.select(this),t)}),x.append(\"text\").attr(\"class\",\"dimlabel\"),v.select(\"text.dimlabel\").attr(\"text-anchor\",\"middle\").attr(\"alignment-baseline\",\"baseline\").attr(\"cursor\",function(E){return E.parcatsViewModel.arrangement===\"fixed\"?\"default\":\"ew-resize\"}).attr(\"x\",function(E){return E.width/2}).attr(\"y\",-5).text(function(E,k){return k===0?E.parcatsViewModel.model.dimensions[E.model.dimensionInd].dimensionLabel:null}).each(function(E){ZNe.font(ul.select(this),E.parcatsViewModel.labelfont)}),v.selectAll(\"rect.bandrect\").on(\"mouseover\",PVt).on(\"mouseout\",IVt),v.exit().remove(),d.call(ul.behavior.drag().origin(function(E){return{x:E.x,y:0}}).on(\"dragstart\",RVt).on(\"drag\",DVt).on(\"dragend\",zVt)),s.each(function(E){E.traceSelection=ul.select(this),E.pathSelection=ul.select(this).selectAll(\"g.paths\").selectAll(\"path.path\"),E.dimensionSelection=ul.select(this).selectAll(\"g.dimensions\").selectAll(\"g.dimension\")}),s.exit().remove()}eUe.exports=function(e,t,r,n){bVt(r,e,n,t)};function u1(e){return e.key}function Lk(e){var t=e.parcatsViewModel.dimensions.length,r=e.parcatsViewModel.dimensions[t-1].model.dimensionInd;return e.model.dimensionInd===r}function CK(e,t){return e.model.rawColor>t.model.rawColor?1:e.model.rawColor<t.model.rawColor?-1:0}function wVt(e){if(!e.parcatsViewModel.dragDimension&&e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1){yx.raiseToTop(this),IK(ul.select(this));var t=Ik(e),r=LK(e);if(e.parcatsViewModel.graphDiv.emit(\"plotly_hover\",{points:t,event:ul.event,constraints:r}),e.parcatsViewModel.hoverinfoItems.indexOf(\"none\")===-1){var n=ul.mouse(this)[0],i=e.parcatsViewModel.graphDiv,a=e.parcatsViewModel.trace,o=i._fullLayout,s=o._paperdiv.node().getBoundingClientRect(),l=e.parcatsViewModel.graphDiv.getBoundingClientRect(),u,c,f;for(f=0;f<e.leftXs.length-1;f++)if(e.leftXs[f]+e.dimWidths[f]-2<=n&&n<=e.leftXs[f+1]+2){var h=e.parcatsViewModel.dimensions[f],d=e.parcatsViewModel.dimensions[f+1];u=(h.x+h.width+d.x)/2,c=(e.topYs[f]+e.topYs[f+1]+e.height)/2;break}var v=e.parcatsViewModel.x+u,x=e.parcatsViewModel.y+c,b=kK.mostReadable(e.model.color,[\"black\",\"white\"]),p=e.model.count,E=p/e.parcatsViewModel.model.count,k={countLabel:p,probabilityLabel:E.toFixed(3)},A=[];e.parcatsViewModel.hoverinfoItems.indexOf(\"count\")!==-1&&A.push([\"Count:\",k.countLabel].join(\" \")),e.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")!==-1&&A.push([\"P:\",k.probabilityLabel].join(\" \"));var L=A.join(\"<br>\"),_=ul.mouse(i)[0];Pk.loneHover({trace:a,x:v-s.left+l.left,y:x-s.top+l.top,text:L,color:e.model.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:10,fontColor:b,idealAlign:_<v?\"right\":\"left\",hovertemplate:(a.line||{}).hovertemplate,hovertemplateLabels:k,eventData:[{data:a._input,fullData:a,count:p,probability:E}]},{container:o._hoverlayer.node(),outerContainer:o._paper.node(),gd:i})}}}function TVt(e){if(!e.parcatsViewModel.dragDimension&&(PK(ul.select(this)),Pk.loneUnhover(e.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()),e.parcatsViewModel.pathSelection.sort(CK),e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1)){var t=Ik(e),r=LK(e);e.parcatsViewModel.graphDiv.emit(\"plotly_unhover\",{points:t,event:ul.event,constraints:r})}}function Ik(e){for(var t=[],r=JNe(e.parcatsViewModel),n=0;n<e.model.valueInds.length;n++){var i=e.model.valueInds[n];t.push({curveNumber:r,pointNumber:i})}return t}function LK(e){for(var t={},r=e.parcatsViewModel.model.dimensions,n=0;n<r.length;n++){var i=r[n],a=i.categories[e.model.categoryInds[n]];t[i.containerInd]=a.categoryValue}return e.model.rawColor!==void 0&&(t.color=e.model.rawColor),t}function AVt(e){if(e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1){var t=Ik(e),r=LK(e);e.parcatsViewModel.graphDiv.emit(\"plotly_click\",{points:t,event:ul.event,constraints:r})}}function PK(e){e.attr(\"fill\",function(t){return t.model.color}).attr(\"fill-opacity\",.6).attr(\"stroke\",\"lightgray\").attr(\"stroke-width\",.2).attr(\"stroke-opacity\",1)}function IK(e){e.attr(\"fill-opacity\",.8).attr(\"stroke\",function(t){return kK.mostReadable(t.model.color,[\"black\",\"white\"])}).attr(\"stroke-width\",.3)}function SVt(e){e.select(\"rect.catrect\").attr(\"stroke\",\"black\").attr(\"stroke-width\",2.5)}function YNe(e){e.select(\"rect.catrect\").attr(\"stroke\",\"black\").attr(\"stroke-width\",1).attr(\"stroke-opacity\",1)}function MVt(e){e.attr(\"stroke\",\"black\").attr(\"stroke-width\",1.5)}function RK(e){e.attr(\"stroke\",\"black\").attr(\"stroke-width\",.2).attr(\"stroke-opacity\",1).attr(\"fill-opacity\",1)}function OF(e){var t=e.parcatsViewModel.pathSelection,r=e.categoryViewModel.model.dimensionInd,n=e.categoryViewModel.model.categoryInd;return t.filter(function(i){return i.model.categoryInds[r]===n&&i.model.color===e.color})}function EVt(e){var t=ul.select(e.parentNode).selectAll(\"rect.bandrect\");t.each(function(r){var n=OF(r);IK(n),n.each(function(){yx.raiseToTop(this)})}),SVt(ul.select(e.parentNode))}function kVt(e){var t=ul.select(e).datum(),r=OF(t);IK(r),r.each(function(){yx.raiseToTop(this)}),ul.select(e.parentNode).selectAll(\"rect.bandrect\").filter(function(n){return n.color===t.color}).each(function(){yx.raiseToTop(this),MVt(ul.select(this))})}function DK(e,t,r){var n=ul.select(e).datum(),i=n.categoryViewModel.model,a=n.parcatsViewModel.graphDiv,o=ul.select(e.parentNode).selectAll(\"rect.bandrect\"),s=[];o.each(function(u){var c=OF(u);c.each(function(f){Array.prototype.push.apply(s,Ik(f))})});var l={};l[i.dimensionInd]=i.categoryValue,a.emit(t,{points:s,event:r,constraints:l})}function zK(e,t,r){var n=ul.select(e).datum(),i=n.categoryViewModel.model,a=n.parcatsViewModel.graphDiv,o=OF(n),s=[];o.each(function(u){Array.prototype.push.apply(s,Ik(u))});var l={};l[i.dimensionInd]=i.categoryValue,n.rawColor!==void 0&&(l.color=n.rawColor),a.emit(t,{points:s,event:r,constraints:l})}function KNe(e,t,r){e._fullLayout._calcInverseTransform(e);var n=e._fullLayout._invScaleX,i=e._fullLayout._invScaleY,a=ul.select(r.parentNode).select(\"rect.catrect\"),o=a.node().getBoundingClientRect(),s=a.datum(),l=s.parcatsViewModel,u=l.model.dimensions[s.model.dimensionInd],c=l.trace,f=o.top+o.height/2,h,d;l.dimensions.length>1&&u.displayInd===l.dimensions.length-1?(h=o.left,d=\"left\"):(h=o.left+o.width,d=\"right\");var v=s.model.count,x=s.model.categoryLabel,b=v/s.parcatsViewModel.model.count,p={countLabel:v,categoryLabel:x,probabilityLabel:b.toFixed(3)},E=[];s.parcatsViewModel.hoverinfoItems.indexOf(\"count\")!==-1&&E.push([\"Count:\",p.countLabel].join(\" \")),s.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")!==-1&&E.push([\"P(\"+p.categoryLabel+\"):\",p.probabilityLabel].join(\" \"));var k=E.join(\"<br>\");return{trace:c,x:n*(h-t.left),y:i*(f-t.top),text:k,color:\"lightgray\",borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:12,fontColor:\"black\",idealAlign:d,hovertemplate:c.hovertemplate,hovertemplateLabels:p,eventData:[{data:c._input,fullData:c,count:v,category:x,probability:b}]}}function CVt(e,t,r){var n=[];return ul.select(r.parentNode.parentNode).selectAll(\"g.category\").select(\"rect.catrect\").each(function(){var i=this;n.push(KNe(e,t,i))}),n}function LVt(e,t,r){e._fullLayout._calcInverseTransform(e);var n=e._fullLayout._invScaleX,i=e._fullLayout._invScaleY,a=r.getBoundingClientRect(),o=ul.select(r).datum(),s=o.categoryViewModel,l=s.parcatsViewModel,u=l.model.dimensions[s.model.dimensionInd],c=l.trace,f=a.y+a.height/2,h,d;l.dimensions.length>1&&u.displayInd===l.dimensions.length-1?(h=a.left,d=\"left\"):(h=a.left+a.width,d=\"right\");var v=s.model.categoryLabel,x=o.parcatsViewModel.model.count,b=0;o.categoryViewModel.bands.forEach(function(P){P.color===o.color&&(b+=P.count)});var p=s.model.count,E=0;l.pathSelection.each(function(P){P.model.color===o.color&&(E+=P.model.count)});var k=b/x,A=b/E,L=b/p,_={countLabel:b,categoryLabel:v,probabilityLabel:k.toFixed(3)},C=[];s.parcatsViewModel.hoverinfoItems.indexOf(\"count\")!==-1&&C.push([\"Count:\",_.countLabel].join(\" \")),s.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")!==-1&&(C.push(\"P(color \\u2229 \"+v+\"): \"+_.probabilityLabel),C.push(\"P(\"+v+\" | color): \"+A.toFixed(3)),C.push(\"P(color | \"+v+\"): \"+L.toFixed(3)));var M=C.join(\"<br>\"),g=kK.mostReadable(o.color,[\"black\",\"white\"]);return{trace:c,x:n*(h-t.left),y:i*(f-t.top),text:M,color:o.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontColor:g,fontSize:10,idealAlign:d,hovertemplate:c.hovertemplate,hovertemplateLabels:_,eventData:[{data:c._input,fullData:c,category:v,count:x,probability:k,categorycount:p,colorcount:E,bandcolorcount:b}]}}function PVt(e){if(!e.parcatsViewModel.dragDimension&&e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1){var t=ul.mouse(this)[1];if(t<-1)return;var r=e.parcatsViewModel.graphDiv,n=r._fullLayout,i=n._paperdiv.node().getBoundingClientRect(),a=e.parcatsViewModel.hoveron,o=this;if(a===\"color\"?(kVt(o),zK(o,\"plotly_hover\",ul.event)):(EVt(o),DK(o,\"plotly_hover\",ul.event)),e.parcatsViewModel.hoverinfoItems.indexOf(\"none\")===-1){var s;a===\"category\"?s=KNe(r,i,o):a===\"color\"?s=LVt(r,i,o):a===\"dimension\"&&(s=CVt(r,i,o)),s&&Pk.loneHover(s,{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:r})}}}function IVt(e){var t=e.parcatsViewModel;if(!t.dragDimension&&(PK(t.pathSelection),YNe(t.dimensionSelection.selectAll(\"g.category\")),RK(t.dimensionSelection.selectAll(\"g.category\").selectAll(\"rect.bandrect\")),Pk.loneUnhover(t.graphDiv._fullLayout._hoverlayer.node()),t.pathSelection.sort(CK),t.hoverinfoItems.indexOf(\"skip\")===-1)){var r=e.parcatsViewModel.hoveron,n=this;r===\"color\"?zK(n,\"plotly_unhover\",ul.event):DK(n,\"plotly_unhover\",ul.event)}}function RVt(e){e.parcatsViewModel.arrangement!==\"fixed\"&&(e.dragDimensionDisplayInd=e.model.displayInd,e.initialDragDimensionDisplayInds=e.parcatsViewModel.model.dimensions.map(function(t){return t.displayInd}),e.dragHasMoved=!1,e.dragCategoryDisplayInd=null,ul.select(this).selectAll(\"g.category\").select(\"rect.catrect\").each(function(t){var r=ul.mouse(this)[0],n=ul.mouse(this)[1];-2<=r&&r<=t.width+2&&-2<=n&&n<=t.height+2&&(e.dragCategoryDisplayInd=t.model.displayInd,e.initialDragCategoryDisplayInds=e.model.categories.map(function(i){return i.displayInd}),t.model.dragY=t.y,yx.raiseToTop(this.parentNode),ul.select(this.parentNode).selectAll(\"rect.bandrect\").each(function(i){i.y<n&&n<=i.y+i.height&&(e.potentialClickBand=this)}))}),e.parcatsViewModel.dragDimension=e,Pk.loneUnhover(e.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()))}function DVt(e){if(e.parcatsViewModel.arrangement!==\"fixed\"&&(e.dragHasMoved=!0,e.dragDimensionDisplayInd!==null)){var t=e.dragDimensionDisplayInd,r=t-1,n=t+1,i=e.parcatsViewModel.dimensions[t];if(e.dragCategoryDisplayInd!==null){var a=i.categories[e.dragCategoryDisplayInd];a.model.dragY+=ul.event.dy;var o=a.model.dragY,s=a.model.displayInd,l=i.categories,u=l[s-1],c=l[s+1];u!==void 0&&o<u.y+u.height/2&&(a.model.displayInd=u.model.displayInd,u.model.displayInd=s),c!==void 0&&o+a.height>c.y+c.height/2&&(a.model.displayInd=c.model.displayInd,c.model.displayInd=s),e.dragCategoryDisplayInd=a.model.displayInd}if(e.dragCategoryDisplayInd===null||e.parcatsViewModel.arrangement===\"freeform\"){i.model.dragX=ul.event.x;var f=e.parcatsViewModel.dimensions[r],h=e.parcatsViewModel.dimensions[n];f!==void 0&&i.model.dragX<f.x+f.width&&(i.model.displayInd=f.model.displayInd,f.model.displayInd=t),h!==void 0&&i.model.dragX+i.width>h.x&&(i.model.displayInd=h.model.displayInd,h.model.displayInd=e.dragDimensionDisplayInd),e.dragDimensionDisplayInd=i.model.displayInd}qK(e.parcatsViewModel),FK(e.parcatsViewModel),QNe(e.parcatsViewModel),$Ne(e.parcatsViewModel)}}function zVt(e){if(e.parcatsViewModel.arrangement!==\"fixed\"&&e.dragDimensionDisplayInd!==null){ul.select(this).selectAll(\"text\").attr(\"font-weight\",\"normal\");var t={},r=JNe(e.parcatsViewModel),n=e.parcatsViewModel.model.dimensions.map(function(h){return h.displayInd}),i=e.initialDragDimensionDisplayInds.some(function(h,d){return h!==n[d]});i&&n.forEach(function(h,d){var v=e.parcatsViewModel.model.dimensions[d].containerInd;t[\"dimensions[\"+v+\"].displayindex\"]=h});var a=!1;if(e.dragCategoryDisplayInd!==null){var o=e.model.categories.map(function(h){return h.displayInd});if(a=e.initialDragCategoryDisplayInds.some(function(h,d){return h!==o[d]}),a){var s=e.model.categories.slice().sort(function(h,d){return h.displayInd-d.displayInd}),l=s.map(function(h){return h.categoryValue}),u=s.map(function(h){return h.categoryLabel});t[\"dimensions[\"+e.model.containerInd+\"].categoryarray\"]=[l],t[\"dimensions[\"+e.model.containerInd+\"].ticktext\"]=[u],t[\"dimensions[\"+e.model.containerInd+\"].categoryorder\"]=\"array\"}}if(e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1&&!e.dragHasMoved&&e.potentialClickBand&&(e.parcatsViewModel.hoveron===\"color\"?zK(e.potentialClickBand,\"plotly_click\",ul.event.sourceEvent):DK(e.potentialClickBand,\"plotly_click\",ul.event.sourceEvent)),e.model.dragX=null,e.dragCategoryDisplayInd!==null){var c=e.parcatsViewModel.dimensions[e.dragDimensionDisplayInd].categories[e.dragCategoryDisplayInd];c.model.dragY=null,e.dragCategoryDisplayInd=null}e.dragDimensionDisplayInd=null,e.parcatsViewModel.dragDimension=null,e.dragHasMoved=null,e.potentialClickBand=null,qK(e.parcatsViewModel),FK(e.parcatsViewModel);var f=ul.transition().duration(300).ease(\"cubic-in-out\");f.each(function(){QNe(e.parcatsViewModel,!0),$Ne(e.parcatsViewModel,!0)}).each(\"end\",function(){(i||a)&&_Vt.restyle(e.parcatsViewModel.graphDiv,t,[r])})}}function JNe(e){for(var t,r=e.graphDiv._fullData,n=0;n<r.length;n++)if(e.key===r[n].uid){t=n;break}return t}function $Ne(e,t){t===void 0&&(t=!1);function r(n){return t?n.transition():n}e.pathSelection.data(function(n){return n.paths},u1),r(e.pathSelection).attr(\"d\",function(n){return n.svgD})}function QNe(e,t){t===void 0&&(t=!1);function r(l){return t?l.transition():l}e.dimensionSelection.data(function(l){return l.dimensions},u1);var n=e.dimensionSelection.selectAll(\"g.category\").data(function(l){return l.categories},u1);r(e.dimensionSelection).attr(\"transform\",function(l){return Ck(l.x,0)}),r(n).attr(\"transform\",function(l){return Ck(0,l.y)});var i=n.select(\".dimlabel\");i.text(function(l,u){return u===0?l.parcatsViewModel.model.dimensions[l.model.dimensionInd].dimensionLabel:null});var a=n.select(\".catlabel\");a.attr(\"text-anchor\",function(l){return Lk(l)?\"start\":\"end\"}).attr(\"x\",function(l){return Lk(l)?l.width+5:-5}).each(function(l){var u,c;Lk(l)?(u=l.width+5,c=\"start\"):(u=-5,c=\"end\"),ul.select(this).selectAll(\"tspan\").attr(\"x\",u).attr(\"text-anchor\",c)});var o=n.selectAll(\"rect.bandrect\").data(function(l){return l.bands},u1),s=o.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"cursor\",\"move\").attr(\"stroke-opacity\",0).attr(\"fill\",function(l){return l.color}).attr(\"fill-opacity\",0);o.attr(\"fill\",function(l){return l.color}).attr(\"width\",function(l){return l.width}).attr(\"height\",function(l){return l.height}).attr(\"y\",function(l){return l.y}),RK(s),o.each(function(){yx.raiseToTop(this)}),o.exit().remove()}function FVt(e,t,r){var n=r[0],i=t.margin||{l:80,r:80,t:100,b:80},a=n.trace,o=a.domain,s=t.width,l=t.height,u=Math.floor(s*(o.x[1]-o.x[0])),c=Math.floor(l*(o.y[1]-o.y[0])),f=o.x[0]*s+i.l,h=t.height-o.y[1]*t.height+i.t,d=a.line.shape,v;a.hoverinfo===\"all\"?v=[\"count\",\"probability\"]:v=(a.hoverinfo||\"\").split(\"+\");var x={trace:a,key:a.uid,model:n,x:f,y:h,width:u,height:c,hoveron:a.hoveron,hoverinfoItems:v,arrangement:a.arrangement,bundlecolors:a.bundlecolors,sortpaths:a.sortpaths,labelfont:a.labelfont,categorylabelfont:a.tickfont,pathShape:d,dragDimension:null,margin:i,paths:[],dimensions:[],graphDiv:e,traceSelection:null,pathSelection:null,dimensionSelection:null};return n.dimensions&&(qK(x),FK(x)),x}function XNe(e,t,r,n,i){var a=[],o=[],s,l;for(l=0;l<r.length-1;l++)s=yVt(r[l]+e[l],e[l+1]),a.push(s(i)),o.push(s(1-i));var u=\"M \"+e[0]+\",\"+t[0];for(u+=\"l\"+r[0]+\",0 \",l=1;l<r.length;l++)u+=\"C\"+a[l-1]+\",\"+t[l-1]+\" \"+o[l-1]+\",\"+t[l]+\" \"+e[l]+\",\"+t[l],u+=\"l\"+r[l]+\",0 \";for(u+=\"l0,\"+n+\" \",u+=\"l -\"+r[r.length-1]+\",0 \",l=r.length-2;l>=0;l--)u+=\"C\"+o[l]+\",\"+(t[l+1]+n)+\" \"+a[l]+\",\"+(t[l]+n)+\" \"+(e[l]+r[l])+\",\"+(t[l]+n),u+=\"l-\"+r[l]+\",0 \";return u+=\"Z\",u}function FK(e){var t=e.dimensions,r=e.model,n=t.map(function(q){return q.categories.map(function(V){return V.y})}),i=e.model.dimensions.map(function(q){return q.categories.map(function(V){return V.displayInd})}),a=e.model.dimensions.map(function(q){return q.displayInd}),o=e.dimensions.map(function(q){return q.model.dimensionInd}),s=t.map(function(q){return q.x}),l=t.map(function(q){return q.width}),u=[];for(var c in r.paths)r.paths.hasOwnProperty(c)&&u.push(r.paths[c]);function f(q){var V=q.categoryInds.map(function(X,G){return i[G][X]}),H=o.map(function(X){return V[X]});return H}u.sort(function(q,V){var H=f(q),X=f(V);return e.sortpaths===\"backward\"&&(H.reverse(),X.reverse()),H.push(q.valueInds[0]),X.push(V.valueInds[0]),e.bundlecolors&&(H.unshift(q.rawColor),X.unshift(V.rawColor)),H<X?-1:H>X?1:0});for(var h=new Array(u.length),d=t[0].model.count,v=t[0].categories.map(function(q){return q.height}).reduce(function(q,V){return q+V}),x=0;x<u.length;x++){var b=u[x],p;d>0?p=v*(b.count/d):p=0;for(var E=new Array(n.length),k=0;k<b.categoryInds.length;k++){var A=b.categoryInds[k],L=i[k][A],_=a[k];E[_]=n[_][L],n[_][L]+=p;var C=e.dimensions[_].categories[L],M=C.bands.length,g=C.bands[M-1];if(g===void 0||b.rawColor!==g.rawColor){var P=g===void 0?0:g.y+g.height;C.bands.push({key:P,color:b.color,rawColor:b.rawColor,height:p,width:C.width,count:b.count,y:P,categoryViewModel:C,parcatsViewModel:e})}else{var T=C.bands[M-1];T.height+=p,T.count+=b.count}}var F;e.pathShape===\"hspline\"?F=XNe(s,E,l,p,.5):F=XNe(s,E,l,p,0),h[x]={key:b.valueInds[0],model:b,height:p,leftXs:s,topYs:E,dimWidths:l,svgD:F,parcatsViewModel:e}}e.paths=h}function qK(e){var t=e.model.dimensions.map(function(o){return{displayInd:o.displayInd,dimensionInd:o.dimensionInd}});t.sort(function(o,s){return o.displayInd-s.displayInd});var r=[];for(var n in t){var i=t[n].dimensionInd,a=e.model.dimensions[i];r.push(qVt(e,a))}e.dimensions=r}function qVt(e,t){var r=40,n=16,i=e.model.dimensions.length,a=t.displayInd,o,s,l;i>1?o=(e.width-2*r-n)/(i-1):o=0,s=r,l=s+o*a;var u=[],c=e.model.maxCats,f=t.categories.length,h=8,d=t.count,v=e.height-h*(c-1),x,b,p,E,k,A=(c-f)*h/2,L=t.categories.map(function(_){return{displayInd:_.displayInd,categoryInd:_.categoryInd}});for(L.sort(function(_,C){return _.displayInd-C.displayInd}),k=0;k<f;k++)E=L[k].categoryInd,b=t.categories[E],d>0?x=b.count/d*v:x=0,p={key:b.valueInds[0],model:b,width:n,height:x,y:b.dragY!==null?b.dragY:A,bands:[],parcatsViewModel:e},A=A+x+h,u.push(p);return{key:t.dimensionInd,x:t.dragX!==null?t.dragX:l,y:0,width:n,model:t,categories:u,parcatsViewModel:e,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}});var OK=ye((Tyr,rUe)=>{\"use strict\";var OVt=tUe();rUe.exports=function(t,r,n,i){var a=t._fullLayout,o=a._paper,s=a._size;OVt(t,o,r,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},n,i)}});var nUe=ye(BF=>{\"use strict\";var BVt=kd().getModuleCalcData,NVt=OK(),iUe=\"parcats\";BF.name=iUe;BF.plot=function(e,t,r,n){var i=BVt(e.calcdata,iUe);if(i.length){var a=i[0];NVt(e,a,r,n)}};BF.clean=function(e,t,r,n){var i=n._has&&n._has(\"parcats\"),a=t._has&&t._has(\"parcats\");i&&!a&&n._paperdiv.selectAll(\".parcats\").remove()}});var oUe=ye((Syr,aUe)=>{\"use strict\";aUe.exports={attributes:EK(),supplyDefaults:GNe(),calc:WNe(),plot:OK(),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcats\",basePlotModule:nUe(),categories:[\"noOpacity\"],meta:{}}});var lUe=ye((Myr,sUe)=>{\"use strict\";sUe.exports=oUe()});var c1=ye((Eyr,pUe)=>{\"use strict\";var UVt=Y1(),uUe=\"1.13.4\",dUe='\\xA9 <a target=\"_blank\" href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors',cUe=['\\xA9 <a target=\"_blank\" href=\"https://carto.com/\">Carto</a>',dUe].join(\" \"),fUe=['Map tiles by <a target=\"_blank\" href=\"https://stamen.com\">Stamen Design</a>','under <a target=\"_blank\" href=\"https://creativecommons.org/licenses/by/3.0\">CC BY 3.0</a>',\"|\",'Data by <a target=\"_blank\" href=\"https://openstreetmap.org\">OpenStreetMap</a> contributors','under <a target=\"_blank\" href=\"https://www.openstreetmap.org/copyright\">ODbL</a>'].join(\" \"),VVt=['Map tiles by <a target=\"_blank\" href=\"https://stamen.com\">Stamen Design</a>','under <a target=\"_blank\" href=\"https://creativecommons.org/licenses/by/3.0\">CC BY 3.0</a>',\"|\",'Data by <a target=\"_blank\" href=\"https://openstreetmap.org\">OpenStreetMap</a> contributors','under <a target=\"_blank\" href=\"https://creativecommons.org/licenses/by-sa/3.0\">CC BY SA</a>'].join(\" \"),vUe={\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:dUe,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:cUe,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:cUe,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:fUe,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:fUe,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:VVt,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\"}},hUe=UVt(vUe);pUe.exports={requiredVersion:uUe,styleUrlPrefix:\"mapbox://styles/mapbox/\",styleUrlSuffix:\"v9\",styleValuesMapbox:[\"basic\",\"streets\",\"outdoors\",\"light\",\"dark\",\"satellite\",\"satellite-streets\"],styleValueDflt:\"basic\",stylesNonMapbox:vUe,styleValuesNonMapbox:hUe,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@\"+uUe+\".\"].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:\",hUe.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')`}}});var Rk=ye((kyr,_Ue)=>{\"use strict\";var gUe=Mr(),mUe=va().defaultLine,HVt=Ju().attributes,GVt=Su(),jVt=Uc().textposition,WVt=Bu().overrideAll,ZVt=Vs().templatedArray,BK=c1(),yUe=GVt({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});yUe.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\";var XVt=_Ue.exports=WVt({_arrayAttrRegexps:[gUe.counterRegex(\"mapbox\",\".layers\",!0)],domain:HVt({name:\"mapbox\"}),accesstoken:{valType:\"string\",noBlank:!0,strict:!0},style:{valType:\"any\",values:BK.styleValuesMapbox.concat(BK.styleValuesNonMapbox),dflt:BK.styleValueDflt},center:{lon:{valType:\"number\",dflt:0},lat:{valType:\"number\",dflt:0}},zoom:{valType:\"number\",dflt:1},bearing:{valType:\"number\",dflt:0},pitch:{valType:\"number\",dflt:0},bounds:{west:{valType:\"number\"},east:{valType:\"number\"},south:{valType:\"number\"},north:{valType:\"number\"}},layers:ZVt(\"layer\",{visible:{valType:\"boolean\",dflt:!0},sourcetype:{valType:\"enumerated\",values:[\"geojson\",\"vector\",\"raster\",\"image\"],dflt:\"geojson\"},source:{valType:\"any\"},sourcelayer:{valType:\"string\",dflt:\"\"},sourceattribution:{valType:\"string\"},type:{valType:\"enumerated\",values:[\"circle\",\"line\",\"fill\",\"symbol\",\"raster\"],dflt:\"circle\"},coordinates:{valType:\"any\"},below:{valType:\"string\"},color:{valType:\"color\",dflt:mUe},opacity:{valType:\"number\",min:0,max:1,dflt:1},minzoom:{valType:\"number\",min:0,max:24,dflt:0},maxzoom:{valType:\"number\",min:0,max:24,dflt:24},circle:{radius:{valType:\"number\",dflt:15}},line:{width:{valType:\"number\",dflt:2},dash:{valType:\"data_array\"}},fill:{outlinecolor:{valType:\"color\",dflt:mUe}},symbol:{icon:{valType:\"string\",dflt:\"marker\"},iconsize:{valType:\"number\",dflt:10},text:{valType:\"string\",dflt:\"\"},placement:{valType:\"enumerated\",values:[\"point\",\"line\",\"line-center\"],dflt:\"point\"},textfont:yUe,textposition:gUe.extendFlat({},jVt,{arrayOk:!1})}})},\"plot\",\"from-root\");XVt.uirevision={valType:\"any\",editType:\"none\"}});var NF=ye((Cyr,wUe)=>{\"use strict\";var YVt=Wo().hovertemplateAttrs,KVt=Wo().texttemplateAttrs,JVt=Eg(),Dk=H2(),_A=Uc(),xUe=Rk(),$Vt=vl(),QVt=Jl(),ew=no().extendFlat,eHt=Bu().overrideAll,tHt=Rk(),bUe=Dk.line,xA=Dk.marker;wUe.exports=eHt({lon:Dk.lon,lat:Dk.lat,cluster:{enabled:{valType:\"boolean\"},maxzoom:ew({},tHt.layers.maxzoom,{}),step:{valType:\"number\",arrayOk:!0,dflt:-1,min:-1},size:{valType:\"number\",arrayOk:!0,dflt:20,min:0},color:{valType:\"color\",arrayOk:!0},opacity:ew({},xA.opacity,{dflt:1})},mode:ew({},_A.mode,{dflt:\"markers\"}),text:ew({},_A.text,{}),texttemplate:KVt({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"text\"]}),hovertext:ew({},_A.hovertext,{}),line:{color:bUe.color,width:bUe.width},connectgaps:_A.connectgaps,marker:ew({symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},angle:{valType:\"number\",dflt:\"auto\",arrayOk:!0},allowoverlap:{valType:\"boolean\",dflt:!1},opacity:xA.opacity,size:xA.size,sizeref:xA.sizeref,sizemin:xA.sizemin,sizemode:xA.sizemode},QVt(\"marker\")),fill:Dk.fill,fillcolor:JVt(),textfont:xUe.layers.symbol.textfont,textposition:xUe.layers.symbol.textposition,below:{valType:\"string\"},selected:{marker:_A.selected.marker},unselected:{marker:_A.unselected.marker},hoverinfo:ew({},$Vt.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]}),hovertemplate:YVt()},\"calc\",\"nested\")});var NK=ye((Lyr,TUe)=>{\"use strict\";var rHt=[\"Metropolis Black Italic\",\"Metropolis Black\",\"Metropolis Bold Italic\",\"Metropolis Bold\",\"Metropolis Extra Bold Italic\",\"Metropolis Extra Bold\",\"Metropolis Extra Light Italic\",\"Metropolis Extra Light\",\"Metropolis Light Italic\",\"Metropolis Light\",\"Metropolis Medium Italic\",\"Metropolis Medium\",\"Metropolis Regular Italic\",\"Metropolis Regular\",\"Metropolis Semi Bold Italic\",\"Metropolis Semi Bold\",\"Metropolis Thin Italic\",\"Metropolis Thin\",\"Open Sans Bold Italic\",\"Open Sans Bold\",\"Open Sans Extrabold Italic\",\"Open Sans Extrabold\",\"Open Sans Italic\",\"Open Sans Light Italic\",\"Open Sans Light\",\"Open Sans Regular\",\"Open Sans Semibold Italic\",\"Open Sans Semibold\",\"Klokantech Noto Sans Bold\",\"Klokantech Noto Sans CJK Bold\",\"Klokantech Noto Sans CJK Regular\",\"Klokantech Noto Sans Italic\",\"Klokantech Noto Sans Regular\"];TUe.exports={isSupportedFont:function(e){return rHt.indexOf(e)!==-1}}});var MUe=ye((Pyr,SUe)=>{\"use strict\";var zk=Mr(),UK=lu(),iHt=$p(),nHt=R0(),aHt=D0(),oHt=Ig(),AUe=NF(),sHt=NK().isSupportedFont;SUe.exports=function(t,r,n,i){function a(p,E){return zk.coerce(t,r,AUe,p,E)}function o(p,E){return zk.coerce2(t,r,AUe,p,E)}var s=lHt(t,r,a);if(!s){r.visible=!1;return}if(a(\"text\"),a(\"texttemplate\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"mode\"),a(\"below\"),UK.hasMarkers(r)){iHt(t,r,n,i,a,{noLine:!0,noAngle:!0}),a(\"marker.allowoverlap\"),a(\"marker.angle\");var l=r.marker;l.symbol!==\"circle\"&&(zk.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),zk.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}UK.hasLines(r)&&(nHt(t,r,n,i,a,{noDash:!0}),a(\"connectgaps\"));var u=o(\"cluster.maxzoom\"),c=o(\"cluster.step\"),f=o(\"cluster.color\",r.marker&&r.marker.color||n),h=o(\"cluster.size\"),d=o(\"cluster.opacity\"),v=u!==!1||c!==!1||f!==!1||h!==!1||d!==!1,x=a(\"cluster.enabled\",v);if(x||UK.hasText(r)){var b=i.font.family;aHt(t,r,i,a,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:sHt(b)?b:\"Open Sans Regular\",weight:i.font.weight,style:i.font.style,size:i.font.size,color:i.font.color}})}a(\"fill\"),r.fill!==\"none\"&&oHt(t,r,n,a),zk.coerceSelectionMarkerOpacity(r,a)};function lHt(e,t,r){var n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length);return t._length=a,a}});var VK=ye((Iyr,kUe)=>{\"use strict\";var EUe=Qa();kUe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=EUe.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=EUe.tickText(o,o.c2l(s[1]),!0).text,i}});var HK=ye((Ryr,LUe)=>{\"use strict\";var CUe=Mr();LUe.exports=function(t,r){var n=t.split(\" \"),i=n[0],a=n[1],o=CUe.isArrayOrTypedArray(r)?CUe.mean(r):r,s=.5+o/100,l=1.5+o/100,u=[\"\",\"\"],c=[0,0];switch(i){case\"top\":u[0]=\"top\",c[1]=-l;break;case\"bottom\":u[0]=\"bottom\",c[1]=l;break}switch(a){case\"left\":u[1]=\"right\",c[0]=-s;break;case\"right\":u[1]=\"left\",c[0]=s;break}var f;return u[0]&&u[1]?f=u.join(\"-\"):u[0]?f=u[0]:u[1]?f=u[1]:f=\"center\",{anchor:f,offset:c}}});var FUe=ye((Dyr,zUe)=>{\"use strict\";var RUe=uo(),iv=Mr(),uHt=es().BADNUM,VF=rx(),PUe=Mu(),cHt=ao(),fHt=S3(),HF=lu(),hHt=NK().isSupportedFont,dHt=HK(),vHt=rp().appendArrayPointValue,pHt=Pl().NEWLINES,gHt=Pl().BR_TAG_ALL;zUe.exports=function(t,r){var n=r[0].trace,i=n.visible===!0&&n._length!==0,a=n.fill!==\"none\",o=HF.hasLines(n),s=HF.hasMarkers(n),l=HF.hasText(n),u=s&&n.marker.symbol===\"circle\",c=s&&n.marker.symbol!==\"circle\",f=n.cluster&&n.cluster.enabled,h=UF(\"fill\"),d=UF(\"line\"),v=UF(\"circle\"),x=UF(\"symbol\"),b={fill:h,line:d,circle:v,symbol:x};if(!i)return b;var p;if((a||o)&&(p=VF.calcTraceToLineCoords(r)),a&&(h.geojson=VF.makePolygon(p),h.layout.visibility=\"visible\",iv.extendFlat(h.paint,{\"fill-color\":n.fillcolor})),o&&(d.geojson=VF.makeLine(p),d.layout.visibility=\"visible\",iv.extendFlat(d.paint,{\"line-width\":n.line.width,\"line-color\":n.line.color,\"line-opacity\":n.opacity})),u){var E=mHt(r);v.geojson=E.geojson,v.layout.visibility=\"visible\",f&&(v.filter=[\"!\",[\"has\",\"point_count\"]],b.cluster={type:\"circle\",filter:[\"has\",\"point_count\"],layout:{visibility:\"visible\"},paint:{\"circle-color\":jK(n.cluster.color,n.cluster.step),\"circle-radius\":jK(n.cluster.size,n.cluster.step),\"circle-opacity\":jK(n.cluster.opacity,n.cluster.step)}},b.clusterCount={type:\"symbol\",filter:[\"has\",\"point_count\"],paint:{},layout:{\"text-field\":\"{point_count_abbreviated}\",\"text-font\":IUe(n),\"text-size\":12}}),iv.extendFlat(v.paint,{\"circle-color\":E.mcc,\"circle-radius\":E.mrc,\"circle-opacity\":E.mo})}if(u&&f&&(v.filter=[\"!\",[\"has\",\"point_count\"]]),(c||l)&&(x.geojson=yHt(r,t),iv.extendFlat(x.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),c&&(iv.extendFlat(x.layout,{\"icon-size\":n.marker.size/10}),\"angle\"in n.marker&&n.marker.angle!==\"auto\"&&iv.extendFlat(x.layout,{\"icon-rotate\":{type:\"identity\",property:\"angle\"},\"icon-rotation-alignment\":\"map\"}),x.layout[\"icon-allow-overlap\"]=n.marker.allowoverlap,iv.extendFlat(x.paint,{\"icon-opacity\":n.opacity*n.marker.opacity,\"icon-color\":n.marker.color})),l)){var k=(n.marker||{}).size,A=dHt(n.textposition,k);iv.extendFlat(x.layout,{\"text-size\":n.textfont.size,\"text-anchor\":A.anchor,\"text-offset\":A.offset,\"text-font\":IUe(n)}),iv.extendFlat(x.paint,{\"text-color\":n.textfont.color,\"text-opacity\":n.opacity})}return b};function UF(e){return{type:e,geojson:VF.makeBlank(),layout:{visibility:\"none\"},filter:null,paint:{}}}function mHt(e){var t=e[0].trace,r=t.marker,n=t.selectedpoints,i=iv.isArrayOrTypedArray(r.color),a=iv.isArrayOrTypedArray(r.size),o=iv.isArrayOrTypedArray(r.opacity),s;function l(k){return t.opacity*k}function u(k){return k/2}var c;i&&(PUe.hasColorscale(t,\"marker\")?c=PUe.makeColorScaleFuncFromTrace(r):c=iv.identity);var f;a&&(f=fHt(t));var h;o&&(h=function(k){var A=RUe(k)?+iv.constrain(k,0,1):0;return l(A)});var d=[];for(s=0;s<e.length;s++){var v=e[s],x=v.lonlat;if(!DUe(x)){var b={};c&&(b.mcc=v.mcc=c(v.mc)),f&&(b.mrc=v.mrc=f(v.ms)),h&&(b.mo=h(v.mo)),n&&(b.selected=v.selected||0),d.push({type:\"Feature\",id:s+1,geometry:{type:\"Point\",coordinates:x},properties:b})}}var p;if(n)for(p=cHt.makeSelectedPointStyleFns(t),s=0;s<d.length;s++){var E=d[s].properties;p.selectedOpacityFn&&(E.mo=l(p.selectedOpacityFn(E))),p.selectedColorFn&&(E.mcc=p.selectedColorFn(E)),p.selectedSizeFn&&(E.mrc=p.selectedSizeFn(E))}return{geojson:{type:\"FeatureCollection\",features:d},mcc:i||p&&p.selectedColorFn?{type:\"identity\",property:\"mcc\"}:r.color,mrc:a||p&&p.selectedSizeFn?{type:\"identity\",property:\"mrc\"}:u(r.size),mo:o||p&&p.selectedOpacityFn?{type:\"identity\",property:\"mo\"}:l(r.opacity)}}function yHt(e,t){for(var r=t._fullLayout,n=e[0].trace,i=n.marker||{},a=i.symbol,o=i.angle,s=a!==\"circle\"?GK(a):GF,l=o!==\"auto\"?GK(o,!0):GF,u=HF.hasText(n)?GK(n.text):GF,c=[],f=0;f<e.length;f++){var h=e[f];if(!DUe(h.lonlat)){var d=n.texttemplate,v;if(d){var x=Array.isArray(d)?d[f]||\"\":d,b=n._module.formatLabels(h,n,r),p={};vHt(p,n,h.i);var E=n._meta||{};v=iv.texttemplateString(x,b,r._d3locale,p,h,E)}else v=u(f);v&&(v=v.replace(pHt,\"\").replace(gHt,`\n", - "`)),c.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:h.lonlat},properties:{symbol:s(f),angle:l(f),text:v}})}}return{type:\"FeatureCollection\",features:c}}function GK(e,t){return iv.isArrayOrTypedArray(e)?t?function(r){return RUe(e[r])?+e[r]:0}:function(r){return e[r]}:e?function(){return e}:GF}function GF(){return\"\"}function DUe(e){return e[0]===uHt}function jK(e,t){var r;if(iv.isArrayOrTypedArray(e)&&iv.isArrayOrTypedArray(t)){r=[\"step\",[\"get\",\"point_count\"],e[0]];for(var n=1;n<e.length;n++)r.push(t[n-1],e[n])}else r=e;return r}function IUe(e){var t=e.textfont,r=t.family,n=t.style,i=t.weight,a=r.split(\" \"),o=a[a.length-1]===\"Italic\";o&&a.pop(),o=o||n===\"italic\";var s=a.join(\" \");i===\"bold\"&&a.indexOf(\"Bold\")===-1?s+=\" Bold\":i<=1e3&&(a[0]===\"Metropolis\"?(s=\"Metropolis\",i>850?s+=\" Black\":i>750?s+=\" Extra Bold\":i>650?s+=\" Bold\":i>550?s+=\" Semi Bold\":i>450?s+=\" Medium\":i>350?s+=\" Regular\":i>250?s+=\" Light\":i>150?s+=\" Extra Light\":s+=\" Thin\"):a.slice(0,2).join(\" \")===\"Open Sans\"?(s=\"Open Sans\",i>750?s+=\" Extrabold\":i>650?s+=\" Bold\":i>550?s+=\" Semibold\":i>350?s+=\" Regular\":s+=\" Light\"):a.slice(0,3).join(\" \")===\"Klokantech Noto Sans\"&&(s=\"Klokantech Noto Sans\",a[3]===\"CJK\"&&(s+=\" CJK\"),s+=i>500?\" Bold\":\" Regular\")),o&&(s+=\" Italic\"),s===\"Open Sans Regular Italic\"?s=\"Open Sans Italic\":s===\"Open Sans Regular Bold\"?s=\"Open Sans Bold\":s===\"Open Sans Regular Bold Italic\"?s=\"Open Sans Bold Italic\":s===\"Klokantech Noto Sans Regular Italic\"&&(s=\"Klokantech Noto Sans Italic\"),hHt(s)||(s=r);var l=s.split(\", \");return l}});var NUe=ye((zyr,BUe)=>{\"use strict\";var _Ht=Mr(),qUe=FUe(),bA=c1().traceLayerPrefix,rg={cluster:[\"cluster\",\"clusterCount\",\"circle\"],nonCluster:[\"fill\",\"line\",\"circle\",\"symbol\"]};function OUe(e,t,r,n){this.type=\"scattermapbox\",this.subplot=e,this.uid=t,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:\"source-\"+t+\"-fill\",line:\"source-\"+t+\"-line\",circle:\"source-\"+t+\"-circle\",symbol:\"source-\"+t+\"-symbol\",cluster:\"source-\"+t+\"-circle\",clusterCount:\"source-\"+t+\"-circle\"},this.layerIds={fill:bA+t+\"-fill\",line:bA+t+\"-line\",circle:bA+t+\"-circle\",symbol:bA+t+\"-symbol\",cluster:bA+t+\"-cluster\",clusterCount:bA+t+\"-cluster-count\"},this.below=null}var Fk=OUe.prototype;Fk.addSource=function(e,t,r){var n={type:\"geojson\",data:t.geojson};r&&r.enabled&&_Ht.extendFlat(n,{cluster:!0,clusterMaxZoom:r.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[e]);i?i.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[e],n)};Fk.setSourceData=function(e,t){this.subplot.map.getSource(this.sourceIds[e]).setData(t.geojson)};Fk.addLayer=function(e,t,r){var n={type:t.type,id:this.layerIds[e],source:this.sourceIds[e],layout:t.layout,paint:t.paint};t.filter&&(n.filter=t.filter);for(var i=this.layerIds[e],a,o=this.subplot.getMapLayers(),s=0;s<o.length;s++)if(o[s].id===i){a=!0;break}a?(this.subplot.setOptions(i,\"setLayoutProperty\",n.layout),n.layout.visibility===\"visible\"&&this.subplot.setOptions(i,\"setPaintProperty\",n.paint)):this.subplot.addLayer(n,r)};Fk.update=function(t){var r=t[0].trace,n=this.subplot,i=n.map,a=qUe(n.gd,t),o=n.belowLookup[\"trace-\"+this.uid],s=!!(r.cluster&&r.cluster.enabled),l=!!this.clusterEnabled,u=this;function c(k){k||u.addSource(\"circle\",a.circle,r.cluster);for(var A=rg.cluster,L=0;L<A.length;L++){var _=A[L],C=a[_];u.addLayer(_,C,o)}}function f(k){for(var A=rg.cluster,L=A.length-1;L>=0;L--){var _=A[L];i.removeLayer(u.layerIds[_])}k||i.removeSource(u.sourceIds.circle)}function h(k){for(var A=rg.nonCluster,L=0;L<A.length;L++){var _=A[L],C=a[_];k||u.addSource(_,C),u.addLayer(_,C,o)}}function d(k){for(var A=rg.nonCluster,L=A.length-1;L>=0;L--){var _=A[L];i.removeLayer(u.layerIds[_]),k||i.removeSource(u.sourceIds[_])}}function v(k){l?f(k):d(k)}function x(k){s?c(k):h(k)}function b(){for(var k=s?rg.cluster:rg.nonCluster,A=0;A<k.length;A++){var L=k[A],_=a[L];_&&(n.setOptions(u.layerIds[L],\"setLayoutProperty\",_.layout),_.layout.visibility===\"visible\"&&(L!==\"cluster\"&&u.setSourceData(L,_),n.setOptions(u.layerIds[L],\"setPaintProperty\",_.paint)))}}var p=this.isHidden,E=r.visible!==!0;E?p||v():p?E||x():l!==s?(v(),x()):(this.below!==o&&(v(!0),x(!0)),b()),this.clusterEnabled=s,this.isHidden=E,this.below=o,t[0].trace._glTrace=this};Fk.dispose=function(){for(var t=this.subplot.map,r=this.clusterEnabled?rg.cluster:rg.nonCluster,n=r.length-1;n>=0;n--){var i=r[n];t.removeLayer(this.layerIds[i]),t.removeSource(this.sourceIds[i])}};BUe.exports=function(t,r){var n=r[0].trace,i=n.cluster&&n.cluster.enabled,a=n.visible!==!0,o=new OUe(t,n.uid,i,a),s=qUe(t.gd,r),l=o.below=t.belowLookup[\"trace-\"+n.uid],u,c,f;if(i)for(o.addSource(\"circle\",s.circle,n.cluster),u=0;u<rg.cluster.length;u++)c=rg.cluster[u],f=s[c],o.addLayer(c,f,l);else for(u=0;u<rg.nonCluster.length;u++)c=rg.nonCluster[u],f=s[c],o.addSource(c,f,n.cluster),o.addLayer(c,f,l);return r[0].trace._glTrace=o,o}});var jF=ye((Fyr,VUe)=>{\"use strict\";var xHt=Nc(),WK=Mr(),bHt=oT(),wHt=WK.fillText,THt=es().BADNUM,AHt=c1().traceLayerPrefix;function SHt(e,t,r){var n=e.cd,i=n[0].trace,a=e.xa,o=e.ya,s=e.subplot,l=[],u=AHt+i.uid+\"-circle\",c=i.cluster&&i.cluster.enabled;if(c){var f=s.map.queryRenderedFeatures(null,{layers:[u]});l=f.map(function(M){return M.id})}var h=t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360),d=h*360,v=t-d;function x(M){var g=M.lonlat;if(g[0]===THt||c&&l.indexOf(M.i+1)===-1)return 1/0;var P=WK.modHalf(g[0],360),T=g[1],F=s.project([P,T]),q=F.x-a.c2p([v,T]),V=F.y-o.c2p([P,r]),H=Math.max(3,M.mrc||0);return Math.max(Math.sqrt(q*q+V*V)-H,1-3/H)}if(xHt.getClosest(n,x,e),e.index!==!1){var b=n[e.index],p=b.lonlat,E=[WK.modHalf(p[0],360)+d,p[1]],k=a.c2p(E),A=o.c2p(E),L=b.mrc||1;e.x0=k-L,e.x1=k+L,e.y0=A-L,e.y1=A+L;var _={};_[i.subplot]={_subplot:s};var C=i._module.formatLabels(b,i,_);return e.lonLabel=C.lonLabel,e.latLabel=C.latLabel,e.color=bHt(i,b),e.extraText=UUe(i,b,n[0].t.labels),e.hovertemplate=i.hovertemplate,[e]}}function UUe(e,t,r){if(e.hovertemplate)return;var n=t.hi||e.hoverinfo,i=n.split(\"+\"),a=i.indexOf(\"all\")!==-1,o=i.indexOf(\"lon\")!==-1,s=i.indexOf(\"lat\")!==-1,l=t.lonlat,u=[];function c(f){return f+\"\\xB0\"}return a||o&&s?u.push(\"(\"+c(l[1])+\", \"+c(l[0])+\")\"):o?u.push(r.lon+c(l[0])):s&&u.push(r.lat+c(l[1])),(a||i.indexOf(\"text\")!==-1)&&wHt(t,e,u),u.join(\"<br>\")}VUe.exports={hoverPoints:SHt,getExtraText:UUe}});var GUe=ye((qyr,HUe)=>{\"use strict\";HUe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t}});var WUe=ye((Oyr,jUe)=>{\"use strict\";var MHt=Mr(),EHt=lu(),kHt=es().BADNUM;jUe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l;if(!EHt.hasMarkers(s))return[];if(r===!1)for(l=0;l<n.length;l++)n[l].selected=0;else for(l=0;l<n.length;l++){var u=n[l],c=u.lonlat;if(c[0]!==kHt){var f=[MHt.modHalf(c[0],360),c[1]],h=[i.c2p(f),a.c2p(f)];r.contains(h,null,l,t)?(o.push({pointNumber:l,lon:c[0],lat:c[1]}),u.selected=1):u.selected=0}}return o}});var YK=ye((ZK,XK)=>{(function(e,t){typeof ZK==\"object\"&&typeof XK!=\"undefined\"?XK.exports=t():(e=e||self,e.mapboxgl=t())})(ZK,function(){\"use strict\";var e,t,r;function n(i,a){if(!e)e=a;else if(!t)t=a;else{var o=\"var sharedChunk = {}; (\"+e+\")(sharedChunk); (\"+t+\")(sharedChunk);\",s={};e(s),r=a(s),typeof window!=\"undefined\"&&(r.workerUrl=window.URL.createObjectURL(new Blob([o],{type:\"text/javascript\"})))}}return n([\"exports\"],function(i){\"use strict\";function a(m,y){return y={exports:{}},m(y,y.exports),y.exports}var o=\"1.13.4\",s=l;function l(m,y,I,U){this.cx=3*m,this.bx=3*(I-m)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*y,this.by=3*(U-y)-this.cy,this.ay=1-this.cy-this.by,this.p1x=m,this.p1y=U,this.p2x=I,this.p2y=U}l.prototype.sampleCurveX=function(m){return((this.ax*m+this.bx)*m+this.cx)*m},l.prototype.sampleCurveY=function(m){return((this.ay*m+this.by)*m+this.cy)*m},l.prototype.sampleCurveDerivativeX=function(m){return(3*this.ax*m+2*this.bx)*m+this.cx},l.prototype.solveCurveX=function(m,y){typeof y==\"undefined\"&&(y=1e-6);var I,U,J,ne,fe;for(J=m,fe=0;fe<8;fe++){if(ne=this.sampleCurveX(J)-m,Math.abs(ne)<y)return J;var Fe=this.sampleCurveDerivativeX(J);if(Math.abs(Fe)<1e-6)break;J=J-ne/Fe}if(I=0,U=1,J=m,J<I)return I;if(J>U)return U;for(;I<U;){if(ne=this.sampleCurveX(J),Math.abs(ne-m)<y)return J;m>ne?I=J:U=J,J=(U-I)*.5+I}return J},l.prototype.solve=function(m,y){return this.sampleCurveY(this.solveCurveX(m,y))};var u=c;function c(m,y){this.x=m,this.y=y}c.prototype={clone:function(){return new c(this.x,this.y)},add:function(m){return this.clone()._add(m)},sub:function(m){return this.clone()._sub(m)},multByPoint:function(m){return this.clone()._multByPoint(m)},divByPoint:function(m){return this.clone()._divByPoint(m)},mult:function(m){return this.clone()._mult(m)},div:function(m){return this.clone()._div(m)},rotate:function(m){return this.clone()._rotate(m)},rotateAround:function(m,y){return this.clone()._rotateAround(m,y)},matMult:function(m){return this.clone()._matMult(m)},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(m){return this.x===m.x&&this.y===m.y},dist:function(m){return Math.sqrt(this.distSqr(m))},distSqr:function(m){var y=m.x-this.x,I=m.y-this.y;return y*y+I*I},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(m){return Math.atan2(this.y-m.y,this.x-m.x)},angleWith:function(m){return this.angleWithSep(m.x,m.y)},angleWithSep:function(m,y){return Math.atan2(this.x*y-this.y*m,this.x*m+this.y*y)},_matMult:function(m){var y=m[0]*this.x+m[1]*this.y,I=m[2]*this.x+m[3]*this.y;return this.x=y,this.y=I,this},_add:function(m){return this.x+=m.x,this.y+=m.y,this},_sub:function(m){return this.x-=m.x,this.y-=m.y,this},_mult:function(m){return this.x*=m,this.y*=m,this},_div:function(m){return this.x/=m,this.y/=m,this},_multByPoint:function(m){return this.x*=m.x,this.y*=m.y,this},_divByPoint:function(m){return this.x/=m.x,this.y/=m.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var m=this.y;return this.y=this.x,this.x=-m,this},_rotate:function(m){var y=Math.cos(m),I=Math.sin(m),U=y*this.x-I*this.y,J=I*this.x+y*this.y;return this.x=U,this.y=J,this},_rotateAround:function(m,y){var I=Math.cos(m),U=Math.sin(m),J=y.x+I*(this.x-y.x)-U*(this.y-y.y),ne=y.y+U*(this.x-y.x)+I*(this.y-y.y);return this.x=J,this.y=ne,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},c.convert=function(m){return m instanceof c?m:Array.isArray(m)?new c(m[0],m[1]):m};var f=typeof self!=\"undefined\"?self:{};function h(m,y){if(Array.isArray(m)){if(!Array.isArray(y)||m.length!==y.length)return!1;for(var I=0;I<m.length;I++)if(!h(m[I],y[I]))return!1;return!0}if(typeof m==\"object\"&&m!==null&&y!==null){if(typeof y!=\"object\")return!1;var U=Object.keys(m);if(U.length!==Object.keys(y).length)return!1;for(var J in m)if(!h(m[J],y[J]))return!1;return!0}return m===y}var d=Math.pow(2,53)-1;function v(m){if(m<=0)return 0;if(m>=1)return 1;var y=m*m,I=y*m;return 4*(m<.5?I:3*(m-y)+I-.75)}function x(m,y,I,U){var J=new s(m,y,I,U);return function(ne){return J.solve(ne)}}var b=x(.25,.1,.25,1);function p(m,y,I){return Math.min(I,Math.max(y,m))}function E(m,y,I){var U=I-y,J=((m-y)%U+U)%U+y;return J===y?I:J}function k(m,y,I){if(!m.length)return I(null,[]);var U=m.length,J=new Array(m.length),ne=null;m.forEach(function(fe,Fe){y(fe,function(Qe,st){Qe&&(ne=Qe),J[Fe]=st,--U===0&&I(ne,J)})})}function A(m){var y=[];for(var I in m)y.push(m[I]);return y}function L(m,y){var I=[];for(var U in m)U in y||I.push(U);return I}function _(m){for(var y=[],I=arguments.length-1;I-- >0;)y[I]=arguments[I+1];for(var U=0,J=y;U<J.length;U+=1){var ne=J[U];for(var fe in ne)m[fe]=ne[fe]}return m}function C(m,y){for(var I={},U=0;U<y.length;U++){var J=y[U];J in m&&(I[J]=m[J])}return I}var M=1;function g(){return M++}function P(){function m(y){return y?(y^Math.random()*16>>y/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,m)}return m()}function T(m){return m<=1?1:Math.pow(2,Math.ceil(Math.log(m)/Math.LN2))}function F(m){return m?/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(m):!1}function q(m,y){m.forEach(function(I){y[I]&&(y[I]=y[I].bind(y))})}function V(m,y){return m.indexOf(y,m.length-y.length)!==-1}function H(m,y,I){var U={};for(var J in m)U[J]=y.call(I||this,m[J],J,m);return U}function X(m,y,I){var U={};for(var J in m)y.call(I||this,m[J],J,m)&&(U[J]=m[J]);return U}function G(m){return Array.isArray(m)?m.map(G):typeof m==\"object\"&&m?H(m,G):m}function N(m,y){for(var I=0;I<m.length;I++)if(y.indexOf(m[I])>=0)return!0;return!1}var W={};function re(m){W[m]||(typeof console!=\"undefined\"&&console.warn(m),W[m]=!0)}function ae(m,y,I){return(I.y-m.y)*(y.x-m.x)>(y.y-m.y)*(I.x-m.x)}function _e(m){for(var y=0,I=0,U=m.length,J=U-1,ne=void 0,fe=void 0;I<U;J=I++)ne=m[I],fe=m[J],y+=(fe.x-ne.x)*(ne.y+fe.y);return y}function Me(m){var y=m[0],I=m[1],U=m[2];return I+=90,I*=Math.PI/180,U*=Math.PI/180,{x:y*Math.cos(I)*Math.sin(U),y:y*Math.sin(I)*Math.sin(U),z:y*Math.cos(U)}}function ke(){return typeof WorkerGlobalScope!=\"undefined\"&&typeof self!=\"undefined\"&&self instanceof WorkerGlobalScope}function ge(m){var y=/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,I={};if(m.replace(y,function(J,ne,fe,Fe){var Qe=fe||Fe;return I[ne]=Qe?Qe.toLowerCase():!0,\"\"}),I[\"max-age\"]){var U=parseInt(I[\"max-age\"],10);isNaN(U)?delete I[\"max-age\"]:I[\"max-age\"]=U}return I}var ie=null;function Te(m){if(ie==null){var y=m.navigator?m.navigator.userAgent:null;ie=!!m.safari||!!(y&&(/\\b(iPad|iPhone|iPod)\\b/.test(y)||y.match(\"Safari\")&&!y.match(\"Chrome\")))}return ie}function Ee(m){try{var y=f[m];return y.setItem(\"_mapbox_test_\",1),y.removeItem(\"_mapbox_test_\"),!0}catch(I){return!1}}function Ae(m){return f.btoa(encodeURIComponent(m).replace(/%([0-9A-F]{2})/g,function(y,I){return String.fromCharCode(+(\"0x\"+I))}))}function ze(m){return decodeURIComponent(f.atob(m).split(\"\").map(function(y){return\"%\"+(\"00\"+y.charCodeAt(0).toString(16)).slice(-2)}).join(\"\"))}var Ce=f.performance&&f.performance.now?f.performance.now.bind(f.performance):Date.now.bind(Date),me=f.requestAnimationFrame||f.mozRequestAnimationFrame||f.webkitRequestAnimationFrame||f.msRequestAnimationFrame,Re=f.cancelAnimationFrame||f.mozCancelAnimationFrame||f.webkitCancelAnimationFrame||f.msCancelAnimationFrame,ce,Ge,nt={now:Ce,frame:function(y){var I=me(y);return{cancel:function(){return Re(I)}}},getImageData:function(y,I){I===void 0&&(I=0);var U=f.document.createElement(\"canvas\"),J=U.getContext(\"2d\");if(!J)throw new Error(\"failed to create canvas 2d context\");return U.width=y.width,U.height=y.height,J.drawImage(y,0,0,y.width,y.height),J.getImageData(-I,-I,y.width+2*I,y.height+2*I)},resolveURL:function(y){return ce||(ce=f.document.createElement(\"a\")),ce.href=y,ce.href},hardwareConcurrency:f.navigator&&f.navigator.hardwareConcurrency||4,get devicePixelRatio(){return f.devicePixelRatio},get prefersReducedMotion(){return f.matchMedia?(Ge==null&&(Ge=f.matchMedia(\"(prefers-reduced-motion: reduce)\")),Ge.matches):!1}},ct={API_URL:\"https://api.mapbox.com\",get EVENTS_URL(){return this.API_URL?this.API_URL.indexOf(\"https://api.mapbox.cn\")===0?\"https://events.mapbox.cn/events/v2\":this.API_URL.indexOf(\"https://api.mapbox.com\")===0?\"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},qt={supported:!1,testSupport:Ct},rt,ot=!1,Rt,kt=!1;f.document&&(Rt=f.document.createElement(\"img\"),Rt.onload=function(){rt&&Yt(rt),rt=null,kt=!0},Rt.onerror=function(){ot=!0,rt=null},Rt.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\");function Ct(m){ot||!Rt||(kt?Yt(m):rt=m)}function Yt(m){var y=m.createTexture();m.bindTexture(m.TEXTURE_2D,y);try{if(m.texImage2D(m.TEXTURE_2D,0,m.RGBA,m.RGBA,m.UNSIGNED_BYTE,Rt),m.isContextLost())return;qt.supported=!0}catch(I){}m.deleteTexture(y),ot=!0}var xr=\"01\";function er(){for(var m=\"1\",y=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\",I=\"\",U=0;U<10;U++)I+=y[Math.floor(Math.random()*62)];var J=12*60*60*1e3,ne=[m,xr,I].join(\"\"),fe=Date.now()+J;return{token:ne,tokenExpiresAt:fe}}var Ke=function(y,I){this._transformRequestFn=y,this._customAccessToken=I,this._createSkuToken()};Ke.prototype._createSkuToken=function(){var y=er();this._skuToken=y.token,this._skuTokenExpiresAt=y.tokenExpiresAt},Ke.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},Ke.prototype.transformRequest=function(y,I){return this._transformRequestFn?this._transformRequestFn(y,I)||{url:y}:{url:y}},Ke.prototype.normalizeStyleURL=function(y,I){if(!xt(y))return y;var U=Ht(y);return U.path=\"/styles/v1\"+U.path,this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeGlyphsURL=function(y,I){if(!xt(y))return y;var U=Ht(y);return U.path=\"/fonts/v1\"+U.path,this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeSourceURL=function(y,I){if(!xt(y))return y;var U=Ht(y);return U.path=\"/v4/\"+U.authority+\".json\",U.params.push(\"secure\"),this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeSpriteURL=function(y,I,U,J){var ne=Ht(y);return xt(y)?(ne.path=\"/styles/v1\"+ne.path+\"/sprite\"+I+U,this._makeAPIURL(ne,this._customAccessToken||J)):(ne.path+=\"\"+I+U,$t(ne))},Ke.prototype.normalizeTileURL=function(y,I){if(this._isSkuTokenExpired()&&this._createSkuToken(),y&&!xt(y))return y;var U=Ht(y),J=/(\\.(png|jpg)\\d*)(?=$)/,ne=/^.+\\/v4\\//,fe=nt.devicePixelRatio>=2||I===512?\"@2x\":\"\",Fe=qt.supported?\".webp\":\"$1\";U.path=U.path.replace(J,\"\"+fe+Fe),U.path=U.path.replace(ne,\"/\"),U.path=\"/v4\"+U.path;var Qe=this._customAccessToken||Et(U.params)||ct.ACCESS_TOKEN;return ct.REQUIRE_ACCESS_TOKEN&&Qe&&this._skuToken&&U.params.push(\"sku=\"+this._skuToken),this._makeAPIURL(U,Qe)},Ke.prototype.canonicalizeTileURL=function(y,I){var U=\"/v4/\",J=/\\.[\\w]+$/,ne=Ht(y);if(!ne.path.match(/(^\\/v4\\/)/)||!ne.path.match(J))return y;var fe=\"mapbox://tiles/\";fe+=ne.path.replace(U,\"\");var Fe=ne.params;return I&&(Fe=Fe.filter(function(Qe){return!Qe.match(/^access_token=/)})),Fe.length&&(fe+=\"?\"+Fe.join(\"&\")),fe},Ke.prototype.canonicalizeTileset=function(y,I){for(var U=I?xt(I):!1,J=[],ne=0,fe=y.tiles||[];ne<fe.length;ne+=1){var Fe=fe[ne];Lt(Fe)?J.push(this.canonicalizeTileURL(Fe,U)):J.push(Fe)}return J},Ke.prototype._makeAPIURL=function(y,I){var U=\"See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\",J=Ht(ct.API_URL);if(y.protocol=J.protocol,y.authority=J.authority,y.protocol===\"http\"){var ne=y.params.indexOf(\"secure\");ne>=0&&y.params.splice(ne,1)}if(J.path!==\"/\"&&(y.path=\"\"+J.path+y.path),!ct.REQUIRE_ACCESS_TOKEN)return $t(y);if(I=I||ct.ACCESS_TOKEN,!I)throw new Error(\"An API access token is required to use Mapbox GL. \"+U);if(I[0]===\"s\")throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+U);return y.params=y.params.filter(function(fe){return fe.indexOf(\"access_token\")===-1}),y.params.push(\"access_token=\"+I),$t(y)};function xt(m){return m.indexOf(\"mapbox:\")===0}var bt=/^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/|\\?|$)/i;function Lt(m){return bt.test(m)}function St(m){return m.indexOf(\"sku=\")>0&&Lt(m)}function Et(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y],J=U.match(/^access_token=(.*)$/);if(J)return J[1]}return null}var dt=/^(\\w+):\\/\\/([^/?]*)(\\/[^?]+)?\\??(.+)?/;function Ht(m){var y=m.match(dt);if(!y)throw new Error(\"Unable to parse URL object\");return{protocol:y[1],authority:y[2],path:y[3]||\"/\",params:y[4]?y[4].split(\"&\"):[]}}function $t(m){var y=m.params.length?\"?\"+m.params.join(\"&\"):\"\";return m.protocol+\"://\"+m.authority+m.path+y}var fr=\"mapbox.eventData\";function _r(m){if(!m)return null;var y=m.split(\".\");if(!y||y.length!==3)return null;try{var I=JSON.parse(ze(y[1]));return I}catch(U){return null}}var Br=function(y){this.type=y,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};Br.prototype.getStorageKey=function(y){var I=_r(ct.ACCESS_TOKEN),U=\"\";return I&&I.u?U=Ae(I.u):U=ct.ACCESS_TOKEN||\"\",y?fr+\".\"+y+\":\"+U:fr+\":\"+U},Br.prototype.fetchEventData=function(){var y=Ee(\"localStorage\"),I=this.getStorageKey(),U=this.getStorageKey(\"uuid\");if(y)try{var J=f.localStorage.getItem(I);J&&(this.eventData=JSON.parse(J));var ne=f.localStorage.getItem(U);ne&&(this.anonId=ne)}catch(fe){re(\"Unable to read from LocalStorage\")}},Br.prototype.saveEventData=function(){var y=Ee(\"localStorage\"),I=this.getStorageKey(),U=this.getStorageKey(\"uuid\");if(y)try{f.localStorage.setItem(U,this.anonId),Object.keys(this.eventData).length>=1&&f.localStorage.setItem(I,JSON.stringify(this.eventData))}catch(J){re(\"Unable to write to LocalStorage\")}},Br.prototype.processRequests=function(y){},Br.prototype.postEvent=function(y,I,U,J){var ne=this;if(ct.EVENTS_URL){var fe=Ht(ct.EVENTS_URL);fe.params.push(\"access_token=\"+(J||ct.ACCESS_TOKEN||\"\"));var Fe={event:this.type,created:new Date(y).toISOString(),sdkIdentifier:\"mapbox-gl-js\",sdkVersion:o,skuId:xr,userId:this.anonId},Qe=I?_(Fe,I):Fe,st={url:$t(fe),headers:{\"Content-Type\":\"text/plain\"},body:JSON.stringify([Qe])};this.pendingRequest=Vr(st,function(mt){ne.pendingRequest=null,U(mt),ne.saveEventData(),ne.processRequests(J)})}},Br.prototype.queueRequest=function(y,I){this.queue.push(y),this.processRequests(I)};var Or=function(m){function y(){m.call(this,\"map.load\"),this.success={},this.skuToken=\"\"}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.postMapLoadEvent=function(U,J,ne,fe){this.skuToken=ne,(ct.EVENTS_URL&&fe||ct.ACCESS_TOKEN&&Array.isArray(U)&&U.some(function(Fe){return xt(Fe)||Lt(Fe)}))&&this.queueRequest({id:J,timestamp:Date.now()},fe)},y.prototype.processRequests=function(U){var J=this;if(!(this.pendingRequest||this.queue.length===0)){var ne=this.queue.shift(),fe=ne.id,Fe=ne.timestamp;fe&&this.success[fe]||(this.anonId||this.fetchEventData(),F(this.anonId)||(this.anonId=P()),this.postEvent(Fe,{skuToken:this.skuToken},function(Qe){Qe||fe&&(J.success[fe]=!0)},U))}},y}(Br),Nr=function(m){function y(I){m.call(this,\"appUserTurnstile\"),this._customAccessToken=I}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.postTurnstileEvent=function(U,J){ct.EVENTS_URL&&ct.ACCESS_TOKEN&&Array.isArray(U)&&U.some(function(ne){return xt(ne)||Lt(ne)})&&this.queueRequest(Date.now(),J)},y.prototype.processRequests=function(U){var J=this;if(!(this.pendingRequest||this.queue.length===0)){(!this.anonId||!this.eventData.lastSuccess||!this.eventData.tokenU)&&this.fetchEventData();var ne=_r(ct.ACCESS_TOKEN),fe=ne?ne.u:ct.ACCESS_TOKEN,Fe=fe!==this.eventData.tokenU;F(this.anonId)||(this.anonId=P(),Fe=!0);var Qe=this.queue.shift();if(this.eventData.lastSuccess){var st=new Date(this.eventData.lastSuccess),mt=new Date(Qe),Xt=(Qe-this.eventData.lastSuccess)/(24*60*60*1e3);Fe=Fe||Xt>=1||Xt<-1||st.getDate()!==mt.getDate()}else Fe=!0;if(!Fe)return this.processRequests();this.postEvent(Qe,{\"enabled.telemetry\":!1},function(ur){ur||(J.eventData.lastSuccess=Qe,J.eventData.tokenU=fe)},U)}},y}(Br),ut=new Nr,Ne=ut.postTurnstileEvent.bind(ut),Ye=new Or,Ve=Ye.postMapLoadEvent.bind(Ye),Xe=\"mapbox-tiles\",ht=500,Le=50,xe=1e3*60*7,Se;function lt(){f.caches&&!Se&&(Se=f.caches.open(Xe))}var Gt;function Vt(m,y){if(Gt===void 0)try{new Response(new ReadableStream),Gt=!0}catch(I){Gt=!1}Gt?y(m.body):m.blob().then(y)}function ar(m,y,I){if(lt(),!!Se){var U={status:y.status,statusText:y.statusText,headers:new f.Headers};y.headers.forEach(function(fe,Fe){return U.headers.set(Fe,fe)});var J=ge(y.headers.get(\"Cache-Control\")||\"\");if(!J[\"no-store\"]){J[\"max-age\"]&&U.headers.set(\"Expires\",new Date(I+J[\"max-age\"]*1e3).toUTCString());var ne=new Date(U.headers.get(\"Expires\")).getTime()-I;ne<xe||Vt(y,function(fe){var Fe=new f.Response(fe,U);lt(),Se&&Se.then(function(Qe){return Qe.put(Qr(m.url),Fe)}).catch(function(Qe){return re(Qe.message)})})}}}function Qr(m){var y=m.indexOf(\"?\");return y<0?m:m.slice(0,y)}function ai(m,y){if(lt(),!Se)return y(null);var I=Qr(m.url);Se.then(function(U){U.match(I).then(function(J){var ne=jr(J);U.delete(I),ne&&U.put(I,J.clone()),y(null,J,ne)}).catch(y)}).catch(y)}function jr(m){if(!m)return!1;var y=new Date(m.headers.get(\"Expires\")||0),I=ge(m.headers.get(\"Cache-Control\")||\"\");return y>Date.now()&&!I[\"no-cache\"]}var ri=1/0;function bi(m){ri++,ri>Le&&(m.getActor().send(\"enforceCacheSizeLimit\",ht),ri=0)}function nn(m){lt(),Se&&Se.then(function(y){y.keys().then(function(I){for(var U=0;U<I.length-m;U++)y.delete(I[U])})})}function Wi(m){var y=f.caches.delete(Xe);m&&y.catch(m).then(function(){return m()})}function Ni(m,y){ht=m,Le=y}var _n;function $i(){return _n==null&&(_n=f.OffscreenCanvas&&new f.OffscreenCanvas(1,1).getContext(\"2d\")&&typeof f.createImageBitmap==\"function\"),_n}var zn={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};typeof Object.freeze==\"function\"&&Object.freeze(zn);var Wn=function(m){function y(I,U,J){U===401&&Lt(J)&&(I+=\": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\"),m.call(this,I),this.status=U,this.url=J,this.name=this.constructor.name,this.message=I}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.toString=function(){return this.name+\": \"+this.message+\" (\"+this.status+\"): \"+this.url},y}(Error),It=ke()?function(){return self.worker&&self.worker.referrer}:function(){return(f.location.protocol===\"blob:\"?f.parent:f).location.href},ft=function(m){return/^file:/.test(m)||/^file:/.test(It())&&!/^\\w+:/.test(m)};function jt(m,y){var I=new f.AbortController,U=new f.Request(m.url,{method:m.method||\"GET\",body:m.body,credentials:m.credentials,headers:m.headers,referrer:It(),signal:I.signal}),J=!1,ne=!1,fe=St(U.url);m.type===\"json\"&&U.headers.set(\"Accept\",\"application/json\");var Fe=function(st,mt,Xt){if(!ne){if(st&&st.message!==\"SecurityError\"&&re(st),mt&&Xt)return Qe(mt);var ur=Date.now();f.fetch(U).then(function(nr){if(nr.ok){var Lr=fe?nr.clone():null;return Qe(nr,Lr,ur)}else return y(new Wn(nr.statusText,nr.status,m.url))}).catch(function(nr){nr.code!==20&&y(new Error(nr.message))})}},Qe=function(st,mt,Xt){(m.type===\"arrayBuffer\"?st.arrayBuffer():m.type===\"json\"?st.json():st.text()).then(function(ur){ne||(mt&&Xt&&ar(U,mt,Xt),J=!0,y(null,ur,st.headers.get(\"Cache-Control\"),st.headers.get(\"Expires\")))}).catch(function(ur){ne||y(new Error(ur.message))})};return fe?ai(U,Fe):Fe(null,null),{cancel:function(){ne=!0,J||I.abort()}}}function Zt(m,y){var I=new f.XMLHttpRequest;I.open(m.method||\"GET\",m.url,!0),m.type===\"arrayBuffer\"&&(I.responseType=\"arraybuffer\");for(var U in m.headers)I.setRequestHeader(U,m.headers[U]);return m.type===\"json\"&&(I.responseType=\"text\",I.setRequestHeader(\"Accept\",\"application/json\")),I.withCredentials=m.credentials===\"include\",I.onerror=function(){y(new Error(I.statusText))},I.onload=function(){if((I.status>=200&&I.status<300||I.status===0)&&I.response!==null){var J=I.response;if(m.type===\"json\")try{J=JSON.parse(I.response)}catch(ne){return y(ne)}y(null,J,I.getResponseHeader(\"Cache-Control\"),I.getResponseHeader(\"Expires\"))}else y(new Wn(I.statusText,I.status,m.url))},I.send(m.body),{cancel:function(){return I.abort()}}}var yr=function(m,y){if(!ft(m.url)){if(f.fetch&&f.Request&&f.AbortController&&f.Request.prototype.hasOwnProperty(\"signal\"))return jt(m,y);if(ke()&&self.worker&&self.worker.actor){var I=!0;return self.worker.actor.send(\"getResource\",m,y,void 0,I)}}return Zt(m,y)},Fr=function(m,y){return yr(_(m,{type:\"json\"}),y)},Zr=function(m,y){return yr(_(m,{type:\"arrayBuffer\"}),y)},Vr=function(m,y){return yr(_(m,{method:\"POST\"}),y)};function gi(m){var y=f.document.createElement(\"a\");return y.href=m,y.protocol===f.document.location.protocol&&y.host===f.document.location.host}var Si=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";function Mi(m,y,I,U){var J=new f.Image,ne=f.URL;J.onload=function(){y(null,J),ne.revokeObjectURL(J.src),J.onload=null,f.requestAnimationFrame(function(){J.src=Si})},J.onerror=function(){return y(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))};var fe=new f.Blob([new Uint8Array(m)],{type:\"image/png\"});J.cacheControl=I,J.expires=U,J.src=m.byteLength?ne.createObjectURL(fe):Si}function Pi(m,y){var I=new f.Blob([new Uint8Array(m)],{type:\"image/png\"});f.createImageBitmap(I).then(function(U){y(null,U)}).catch(function(U){y(new Error(\"Could not load image because of \"+U.message+\". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))})}var Gi,Ki,ka=function(){Gi=[],Ki=0};ka();var jn=function(m,y){if(qt.supported&&(m.headers||(m.headers={}),m.headers.accept=\"image/webp,*/*\"),Ki>=ct.MAX_PARALLEL_IMAGE_REQUESTS){var I={requestParameters:m,callback:y,cancelled:!1,cancel:function(){this.cancelled=!0}};return Gi.push(I),I}Ki++;var U=!1,J=function(){if(!U)for(U=!0,Ki--;Gi.length&&Ki<ct.MAX_PARALLEL_IMAGE_REQUESTS;){var fe=Gi.shift(),Fe=fe.requestParameters,Qe=fe.callback,st=fe.cancelled;st||(fe.cancel=jn(Fe,Qe).cancel)}},ne=Zr(m,function(fe,Fe,Qe,st){J(),fe?y(fe):Fe&&($i()?Pi(Fe,y):Mi(Fe,y,Qe,st))});return{cancel:function(){ne.cancel(),J()}}},la=function(m,y){var I=f.document.createElement(\"video\");I.muted=!0,I.onloadstart=function(){y(null,I)};for(var U=0;U<m.length;U++){var J=f.document.createElement(\"source\");gi(m[U])||(I.crossOrigin=\"Anonymous\"),J.src=m[U],I.appendChild(J)}return{cancel:function(){}}};function Fa(m,y,I){var U=I[m]&&I[m].indexOf(y)!==-1;U||(I[m]=I[m]||[],I[m].push(y))}function Ra(m,y,I){if(I&&I[m]){var U=I[m].indexOf(y);U!==-1&&I[m].splice(U,1)}}var jo=function(y,I){I===void 0&&(I={}),_(this,I),this.type=y},oa=function(m){function y(I,U){U===void 0&&(U={}),m.call(this,\"error\",_({error:I},U))}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(jo),Sn=function(){};Sn.prototype.on=function(y,I){return this._listeners=this._listeners||{},Fa(y,I,this._listeners),this},Sn.prototype.off=function(y,I){return Ra(y,I,this._listeners),Ra(y,I,this._oneTimeListeners),this},Sn.prototype.once=function(y,I){return this._oneTimeListeners=this._oneTimeListeners||{},Fa(y,I,this._oneTimeListeners),this},Sn.prototype.fire=function(y,I){typeof y==\"string\"&&(y=new jo(y,I||{}));var U=y.type;if(this.listens(U)){y.target=this;for(var J=this._listeners&&this._listeners[U]?this._listeners[U].slice():[],ne=0,fe=J;ne<fe.length;ne+=1){var Fe=fe[ne];Fe.call(this,y)}for(var Qe=this._oneTimeListeners&&this._oneTimeListeners[U]?this._oneTimeListeners[U].slice():[],st=0,mt=Qe;st<mt.length;st+=1){var Xt=mt[st];Ra(U,Xt,this._oneTimeListeners),Xt.call(this,y)}var ur=this._eventedParent;ur&&(_(y,typeof this._eventedParentData==\"function\"?this._eventedParentData():this._eventedParentData),ur.fire(y))}else y instanceof oa&&console.error(y.error);return this},Sn.prototype.listens=function(y){return this._listeners&&this._listeners[y]&&this._listeners[y].length>0||this._oneTimeListeners&&this._oneTimeListeners[y]&&this._oneTimeListeners[y].length>0||this._eventedParent&&this._eventedParent.listens(y)},Sn.prototype.setEventedParent=function(y,I){return this._eventedParent=y,this._eventedParentData=I,this};var Ha=8,oo={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\"}},xn={\"*\":{type:\"source\"}},_t=[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],br={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:\"*\"}},Hr={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:\"*\"}},ti={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:\"*\"}},zi={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\"}},Yi={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\"}}},an={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\"}}},hi={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\"}},Ji=[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],ua={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},Fn={\"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\"}},Sa={\"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\"}},go={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},Oo={\"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\"}},ho={\"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\"}},Mo={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},xo={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},zs={type:\"array\",value:\"*\"},ks={type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{},within:{}}},Zs={type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},Xs={type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},wl={type:\"array\",value:\"*\",minimum:1},os={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}},cl=[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],Cs={\"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\"}},ml={\"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\"}},Ys={\"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\"}},Hs={\"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\"}},Eo={\"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\"}},fs={\"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\"}},Ql={\"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\"}},Hu={\"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\"}},fc={duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},ms={\"*\":{type:\"string\"}},on={$version:Ha,$root:oo,sources:xn,source:_t,source_vector:br,source_raster:Hr,source_raster_dem:ti,source_geojson:zi,source_video:Yi,source_image:an,layer:hi,layout:Ji,layout_background:ua,layout_fill:Fn,layout_circle:Sa,layout_heatmap:go,\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:Oo,layout_symbol:ho,layout_raster:Mo,layout_hillshade:xo,filter:zs,filter_operator:ks,geometry_type:Zs,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:Xs,expression:wl,light:os,paint:cl,paint_fill:Cs,\"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:ml,paint_circle:Ys,paint_heatmap:Hs,paint_symbol:Eo,paint_raster:fs,paint_hillshade:Ql,paint_background:Hu,transition:fc,\"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:ms},fa=function(y,I,U,J){this.message=(y?y+\": \":\"\")+U,J&&(this.identifier=J),I!=null&&I.__line__&&(this.line=I.__line__)};function Qu(m){var y=m.key,I=m.value;return I?[new fa(y,I,\"constants have been deprecated as of v8\")]:[]}function Rl(m){for(var y=[],I=arguments.length-1;I-- >0;)y[I]=arguments[I+1];for(var U=0,J=y;U<J.length;U+=1){var ne=J[U];for(var fe in ne)m[fe]=ne[fe]}return m}function vo(m){return m instanceof Number||m instanceof String||m instanceof Boolean?m.valueOf():m}function Zl(m){if(Array.isArray(m))return m.map(Zl);if(m instanceof Object&&!(m instanceof Number||m instanceof String||m instanceof Boolean)){var y={};for(var I in m)y[I]=Zl(m[I]);return y}return vo(m)}var Ks=function(m){function y(I,U){m.call(this,U),this.message=U,this.key=I}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(Error),Xl=function(y,I){I===void 0&&(I=[]),this.parent=y,this.bindings={};for(var U=0,J=I;U<J.length;U+=1){var ne=J[U],fe=ne[0],Fe=ne[1];this.bindings[fe]=Fe}};Xl.prototype.concat=function(y){return new Xl(this,y)},Xl.prototype.get=function(y){if(this.bindings[y])return this.bindings[y];if(this.parent)return this.parent.get(y);throw new Error(y+\" not found in scope.\")},Xl.prototype.has=function(y){return this.bindings[y]?!0:this.parent?this.parent.has(y):!1};var Ec={kind:\"null\"},Zn={kind:\"number\"},ko={kind:\"string\"},Co={kind:\"boolean\"},Tl={kind:\"color\"},uf={kind:\"object\"},So={kind:\"value\"},cf={kind:\"error\"},rh={kind:\"collator\"},Al={kind:\"formatted\"},Hc={kind:\"resolvedImage\"};function eu(m,y){return{kind:\"array\",itemType:m,N:y}}function Ls(m){if(m.kind===\"array\"){var y=Ls(m.itemType);return typeof m.N==\"number\"?\"array<\"+y+\", \"+m.N+\">\":m.itemType.kind===\"value\"?\"array\":\"array<\"+y+\">\"}else return m.kind}var mu=[Ec,Zn,ko,Co,Tl,Al,uf,eu(So),Hc];function kc(m,y){if(y.kind===\"error\")return null;if(m.kind===\"array\"){if(y.kind===\"array\"&&(y.N===0&&y.itemType.kind===\"value\"||!kc(m.itemType,y.itemType))&&(typeof m.N!=\"number\"||m.N===y.N))return null}else{if(m.kind===y.kind)return null;if(m.kind===\"value\")for(var I=0,U=mu;I<U.length;I+=1){var J=U[I];if(!kc(J,y))return null}}return\"Expected \"+Ls(m)+\" but found \"+Ls(y)+\" instead.\"}function Of(m,y){return y.some(function(I){return I.kind===m.kind})}function Gc(m,y){return y.some(function(I){return I===\"null\"?m===null:I===\"array\"?Array.isArray(m):I===\"object\"?m&&!Array.isArray(m)&&typeof m==\"object\":I===typeof m})}var vd=a(function(m,y){var I={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function U(st){return st=Math.round(st),st<0?0:st>255?255:st}function J(st){return st<0?0:st>1?1:st}function ne(st){return st[st.length-1]===\"%\"?U(parseFloat(st)/100*255):U(parseInt(st))}function fe(st){return st[st.length-1]===\"%\"?J(parseFloat(st)/100):J(parseFloat(st))}function Fe(st,mt,Xt){return Xt<0?Xt+=1:Xt>1&&(Xt-=1),Xt*6<1?st+(mt-st)*Xt*6:Xt*2<1?mt:Xt*3<2?st+(mt-st)*(2/3-Xt)*6:st}function Qe(st){var mt=st.replace(/ /g,\"\").toLowerCase();if(mt in I)return I[mt].slice();if(mt[0]===\"#\"){if(mt.length===4){var Xt=parseInt(mt.substr(1),16);return Xt>=0&&Xt<=4095?[(Xt&3840)>>4|(Xt&3840)>>8,Xt&240|(Xt&240)>>4,Xt&15|(Xt&15)<<4,1]:null}else if(mt.length===7){var Xt=parseInt(mt.substr(1),16);return Xt>=0&&Xt<=16777215?[(Xt&16711680)>>16,(Xt&65280)>>8,Xt&255,1]:null}return null}var ur=mt.indexOf(\"(\"),nr=mt.indexOf(\")\");if(ur!==-1&&nr+1===mt.length){var Lr=mt.substr(0,ur),Yr=mt.substr(ur+1,nr-(ur+1)).split(\",\"),_i=1;switch(Lr){case\"rgba\":if(Yr.length!==4)return null;_i=fe(Yr.pop());case\"rgb\":return Yr.length!==3?null:[ne(Yr[0]),ne(Yr[1]),ne(Yr[2]),_i];case\"hsla\":if(Yr.length!==4)return null;_i=fe(Yr.pop());case\"hsl\":if(Yr.length!==3)return null;var si=(parseFloat(Yr[0])%360+360)%360/360,Hi=fe(Yr[1]),Ei=fe(Yr[2]),Vi=Ei<=.5?Ei*(Hi+1):Ei+Hi-Ei*Hi,en=Ei*2-Vi;return[U(Fe(en,Vi,si+1/3)*255),U(Fe(en,Vi,si)*255),U(Fe(en,Vi,si-1/3)*255),_i];default:return null}}return null}try{y.parseCSSColor=Qe}catch(st){}}),Bf=vd.parseCSSColor,ss=function(y,I,U,J){J===void 0&&(J=1),this.r=y,this.g=I,this.b=U,this.a=J};ss.parse=function(y){if(y){if(y instanceof ss)return y;if(typeof y==\"string\"){var I=Bf(y);if(I)return new ss(I[0]/255*I[3],I[1]/255*I[3],I[2]/255*I[3],I[3])}}},ss.prototype.toString=function(){var y=this.toArray(),I=y[0],U=y[1],J=y[2],ne=y[3];return\"rgba(\"+Math.round(I)+\",\"+Math.round(U)+\",\"+Math.round(J)+\",\"+ne+\")\"},ss.prototype.toArray=function(){var y=this,I=y.r,U=y.g,J=y.b,ne=y.a;return ne===0?[0,0,0,0]:[I*255/ne,U*255/ne,J*255/ne,ne]},ss.black=new ss(0,0,0,1),ss.white=new ss(1,1,1,1),ss.transparent=new ss(0,0,0,0),ss.red=new ss(1,0,0,1);var ff=function(y,I,U){y?this.sensitivity=I?\"variant\":\"case\":this.sensitivity=I?\"accent\":\"base\",this.locale=U,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})};ff.prototype.compare=function(y,I){return this.collator.compare(y,I)},ff.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var ih=function(y,I,U,J,ne){this.text=y,this.image=I,this.scale=U,this.fontStack=J,this.textColor=ne},Vl=function(y){this.sections=y};Vl.fromString=function(y){return new Vl([new ih(y,null,null,null,null)])},Vl.prototype.isEmpty=function(){return this.sections.length===0?!0:!this.sections.some(function(y){return y.text.length!==0||y.image&&y.image.name.length!==0})},Vl.factory=function(y){return y instanceof Vl?y:Vl.fromString(y)},Vl.prototype.toString=function(){return this.sections.length===0?\"\":this.sections.map(function(y){return y.text}).join(\"\")},Vl.prototype.serialize=function(){for(var y=[\"format\"],I=0,U=this.sections;I<U.length;I+=1){var J=U[I];if(J.image){y.push([\"image\",J.image.name]);continue}y.push(J.text);var ne={};J.fontStack&&(ne[\"text-font\"]=[\"literal\",J.fontStack.split(\",\")]),J.scale&&(ne[\"font-scale\"]=J.scale),J.textColor&&(ne[\"text-color\"]=[\"rgba\"].concat(J.textColor.toArray())),y.push(ne)}return y};var Js=function(y){this.name=y.name,this.available=y.available};Js.prototype.toString=function(){return this.name},Js.fromString=function(y){return y?new Js({name:y,available:!1}):null},Js.prototype.serialize=function(){return[\"image\",this.name]};function hc(m,y,I,U){if(!(typeof m==\"number\"&&m>=0&&m<=255&&typeof y==\"number\"&&y>=0&&y<=255&&typeof I==\"number\"&&I>=0&&I<=255)){var J=typeof U==\"number\"?[m,y,I,U]:[m,y,I];return\"Invalid rgba value [\"+J.join(\", \")+\"]: 'r', 'g', and 'b' must be between 0 and 255.\"}return typeof U==\"undefined\"||typeof U==\"number\"&&U>=0&&U<=1?null:\"Invalid rgba value [\"+[m,y,I,U].join(\", \")+\"]: 'a' must be between 0 and 1.\"}function Cc(m){if(m===null)return!0;if(typeof m==\"string\")return!0;if(typeof m==\"boolean\")return!0;if(typeof m==\"number\")return!0;if(m instanceof ss)return!0;if(m instanceof ff)return!0;if(m instanceof Vl)return!0;if(m instanceof Js)return!0;if(Array.isArray(m)){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(!Cc(U))return!1}return!0}else if(typeof m==\"object\"){for(var J in m)if(!Cc(m[J]))return!1;return!0}else return!1}function ws(m){if(m===null)return Ec;if(typeof m==\"string\")return ko;if(typeof m==\"boolean\")return Co;if(typeof m==\"number\")return Zn;if(m instanceof ss)return Tl;if(m instanceof ff)return rh;if(m instanceof Vl)return Al;if(m instanceof Js)return Hc;if(Array.isArray(m)){for(var y=m.length,I,U=0,J=m;U<J.length;U+=1){var ne=J[U],fe=ws(ne);if(!I)I=fe;else{if(I===fe)continue;I=So;break}}return eu(I||So,y)}else return uf}function $s(m){var y=typeof m;return m===null?\"\":y===\"string\"||y===\"number\"||y===\"boolean\"?String(m):m instanceof ss||m instanceof Vl||m instanceof Js?m.toString():JSON.stringify(m)}var hs=function(y,I){this.type=y,this.value=I};hs.parse=function(y,I){if(y.length!==2)return I.error(\"'literal' expression requires exactly one argument, but found \"+(y.length-1)+\" instead.\");if(!Cc(y[1]))return I.error(\"invalid value\");var U=y[1],J=ws(U),ne=I.expectedType;return J.kind===\"array\"&&J.N===0&&ne&&ne.kind===\"array\"&&(typeof ne.N!=\"number\"||ne.N===0)&&(J=ne),new hs(J,U)},hs.prototype.evaluate=function(){return this.value},hs.prototype.eachChild=function(){},hs.prototype.outputDefined=function(){return!0},hs.prototype.serialize=function(){return this.type.kind===\"array\"||this.type.kind===\"object\"?[\"literal\",this.value]:this.value instanceof ss?[\"rgba\"].concat(this.value.toArray()):this.value instanceof Vl?this.value.serialize():this.value};var Ms=function(y){this.name=\"ExpressionEvaluationError\",this.message=y};Ms.prototype.toJSON=function(){return this.message};var dc={string:ko,number:Zn,boolean:Co,object:uf},Sl=function(y,I){this.type=y,this.args=I};Sl.parse=function(y,I){if(y.length<2)return I.error(\"Expected at least one argument.\");var U=1,J,ne=y[0];if(ne===\"array\"){var fe;if(y.length>2){var Fe=y[1];if(typeof Fe!=\"string\"||!(Fe in dc)||Fe===\"object\")return I.error('The item type argument of \"array\" must be one of string, number, boolean',1);fe=dc[Fe],U++}else fe=So;var Qe;if(y.length>3){if(y[2]!==null&&(typeof y[2]!=\"number\"||y[2]<0||y[2]!==Math.floor(y[2])))return I.error('The length argument to \"array\" must be a positive integer literal',2);Qe=y[2],U++}J=eu(fe,Qe)}else J=dc[ne];for(var st=[];U<y.length;U++){var mt=I.parse(y[U],U,So);if(!mt)return null;st.push(mt)}return new Sl(J,st)},Sl.prototype.evaluate=function(y){for(var I=0;I<this.args.length;I++){var U=this.args[I].evaluate(y),J=kc(this.type,ws(U));if(J){if(I===this.args.length-1)throw new Ms(\"Expected value to be of type \"+Ls(this.type)+\", but found \"+Ls(ws(U))+\" instead.\")}else return U}return null},Sl.prototype.eachChild=function(y){this.args.forEach(y)},Sl.prototype.outputDefined=function(){return this.args.every(function(y){return y.outputDefined()})},Sl.prototype.serialize=function(){var y=this.type,I=[y.kind];if(y.kind===\"array\"){var U=y.itemType;if(U.kind===\"string\"||U.kind===\"number\"||U.kind===\"boolean\"){I.push(U.kind);var J=y.N;(typeof J==\"number\"||this.args.length>1)&&I.push(J)}}return I.concat(this.args.map(function(ne){return ne.serialize()}))};var ec=function(y){this.type=Al,this.sections=y};ec.parse=function(y,I){if(y.length<2)return I.error(\"Expected at least one argument.\");var U=y[1];if(!Array.isArray(U)&&typeof U==\"object\")return I.error(\"First argument must be an image or text section.\");for(var J=[],ne=!1,fe=1;fe<=y.length-1;++fe){var Fe=y[fe];if(ne&&typeof Fe==\"object\"&&!Array.isArray(Fe)){ne=!1;var Qe=null;if(Fe[\"font-scale\"]&&(Qe=I.parse(Fe[\"font-scale\"],1,Zn),!Qe))return null;var st=null;if(Fe[\"text-font\"]&&(st=I.parse(Fe[\"text-font\"],1,eu(ko)),!st))return null;var mt=null;if(Fe[\"text-color\"]&&(mt=I.parse(Fe[\"text-color\"],1,Tl),!mt))return null;var Xt=J[J.length-1];Xt.scale=Qe,Xt.font=st,Xt.textColor=mt}else{var ur=I.parse(y[fe],1,So);if(!ur)return null;var nr=ur.type.kind;if(nr!==\"string\"&&nr!==\"value\"&&nr!==\"null\"&&nr!==\"resolvedImage\")return I.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");ne=!0,J.push({content:ur,scale:null,font:null,textColor:null})}}return new ec(J)},ec.prototype.evaluate=function(y){var I=function(U){var J=U.content.evaluate(y);return ws(J)===Hc?new ih(\"\",J,null,null,null):new ih($s(J),null,U.scale?U.scale.evaluate(y):null,U.font?U.font.evaluate(y).join(\",\"):null,U.textColor?U.textColor.evaluate(y):null)};return new Vl(this.sections.map(I))},ec.prototype.eachChild=function(y){for(var I=0,U=this.sections;I<U.length;I+=1){var J=U[I];y(J.content),J.scale&&y(J.scale),J.font&&y(J.font),J.textColor&&y(J.textColor)}},ec.prototype.outputDefined=function(){return!1},ec.prototype.serialize=function(){for(var y=[\"format\"],I=0,U=this.sections;I<U.length;I+=1){var J=U[I];y.push(J.content.serialize());var ne={};J.scale&&(ne[\"font-scale\"]=J.scale.serialize()),J.font&&(ne[\"text-font\"]=J.font.serialize()),J.textColor&&(ne[\"text-color\"]=J.textColor.serialize()),y.push(ne)}return y};var Ps=function(y){this.type=Hc,this.input=y};Ps.parse=function(y,I){if(y.length!==2)return I.error(\"Expected two arguments.\");var U=I.parse(y[1],1,ko);return U?new Ps(U):I.error(\"No image name provided.\")},Ps.prototype.evaluate=function(y){var I=this.input.evaluate(y),U=Js.fromString(I);return U&&y.availableImages&&(U.available=y.availableImages.indexOf(I)>-1),U},Ps.prototype.eachChild=function(y){y(this.input)},Ps.prototype.outputDefined=function(){return!1},Ps.prototype.serialize=function(){return[\"image\",this.input.serialize()]};var ov={\"to-boolean\":Co,\"to-color\":Tl,\"to-number\":Zn,\"to-string\":ko},wo=function(y,I){this.type=y,this.args=I};wo.parse=function(y,I){if(y.length<2)return I.error(\"Expected at least one argument.\");var U=y[0];if((U===\"to-boolean\"||U===\"to-string\")&&y.length!==2)return I.error(\"Expected one argument.\");for(var J=ov[U],ne=[],fe=1;fe<y.length;fe++){var Fe=I.parse(y[fe],fe,So);if(!Fe)return null;ne.push(Fe)}return new wo(J,ne)},wo.prototype.evaluate=function(y){if(this.type.kind===\"boolean\")return!!this.args[0].evaluate(y);if(this.type.kind===\"color\"){for(var I,U,J=0,ne=this.args;J<ne.length;J+=1){var fe=ne[J];if(I=fe.evaluate(y),U=null,I instanceof ss)return I;if(typeof I==\"string\"){var Fe=y.parseColor(I);if(Fe)return Fe}else if(Array.isArray(I)&&(I.length<3||I.length>4?U=\"Invalid rbga value \"+JSON.stringify(I)+\": expected an array containing either three or four numeric values.\":U=hc(I[0],I[1],I[2],I[3]),!U))return new ss(I[0]/255,I[1]/255,I[2]/255,I[3])}throw new Ms(U||\"Could not parse color from value '\"+(typeof I==\"string\"?I:String(JSON.stringify(I)))+\"'\")}else if(this.type.kind===\"number\"){for(var Qe=null,st=0,mt=this.args;st<mt.length;st+=1){var Xt=mt[st];if(Qe=Xt.evaluate(y),Qe===null)return 0;var ur=Number(Qe);if(!isNaN(ur))return ur}throw new Ms(\"Could not convert \"+JSON.stringify(Qe)+\" to number.\")}else return this.type.kind===\"formatted\"?Vl.fromString($s(this.args[0].evaluate(y))):this.type.kind===\"resolvedImage\"?Js.fromString($s(this.args[0].evaluate(y))):$s(this.args[0].evaluate(y))},wo.prototype.eachChild=function(y){this.args.forEach(y)},wo.prototype.outputDefined=function(){return this.args.every(function(y){return y.outputDefined()})},wo.prototype.serialize=function(){if(this.type.kind===\"formatted\")return new ec([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if(this.type.kind===\"resolvedImage\")return new Ps(this.args[0]).serialize();var y=[\"to-\"+this.type.kind];return this.eachChild(function(I){y.push(I.serialize())}),y};var Od=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],$o=function(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null};$o.prototype.id=function(){return this.feature&&\"id\"in this.feature?this.feature.id:null},$o.prototype.geometryType=function(){return this.feature?typeof this.feature.type==\"number\"?Od[this.feature.type]:this.feature.type:null},$o.prototype.geometry=function(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null},$o.prototype.canonicalID=function(){return this.canonical},$o.prototype.properties=function(){return this.feature&&this.feature.properties||{}},$o.prototype.parseColor=function(y){var I=this._parseColorCache[y];return I||(I=this._parseColorCache[y]=ss.parse(y)),I};var Ja=function(y,I,U,J){this.name=y,this.type=I,this._evaluate=U,this.args=J};Ja.prototype.evaluate=function(y){return this._evaluate(y,this.args)},Ja.prototype.eachChild=function(y){this.args.forEach(y)},Ja.prototype.outputDefined=function(){return!1},Ja.prototype.serialize=function(){return[this.name].concat(this.args.map(function(y){return y.serialize()}))},Ja.parse=function(y,I){var U,J=y[0],ne=Ja.definitions[J];if(!ne)return I.error('Unknown expression \"'+J+'\". If you wanted a literal array, use [\"literal\", [...]].',0);for(var fe=Array.isArray(ne)?ne[0]:ne.type,Fe=Array.isArray(ne)?[[ne[1],ne[2]]]:ne.overloads,Qe=Fe.filter(function(Na){var ja=Na[0];return!Array.isArray(ja)||ja.length===y.length-1}),st=null,mt=0,Xt=Qe;mt<Xt.length;mt+=1){var ur=Xt[mt],nr=ur[0],Lr=ur[1];st=new fl(I.registry,I.path,null,I.scope);for(var Yr=[],_i=!1,si=1;si<y.length;si++){var Hi=y[si],Ei=Array.isArray(nr)?nr[si-1]:nr.type,Vi=st.parse(Hi,1+Yr.length,Ei);if(!Vi){_i=!0;break}Yr.push(Vi)}if(!_i){if(Array.isArray(nr)&&nr.length!==Yr.length){st.error(\"Expected \"+nr.length+\" arguments, but found \"+Yr.length+\" instead.\");continue}for(var en=0;en<Yr.length;en++){var An=Array.isArray(nr)?nr[en]:nr.type,ra=Yr[en];st.concat(en+1).checkSubtype(An,ra.type)}if(st.errors.length===0)return new Ja(J,fe,Lr,Yr)}}if(Qe.length===1)(U=I.errors).push.apply(U,st.errors);else{for(var $n=Qe.length?Qe:Fe,Ba=$n.map(function(Na){var ja=Na[0];return Ef(ja)}).join(\" | \"),_a=[],Pa=1;Pa<y.length;Pa++){var qo=I.parse(y[Pa],1+_a.length);if(!qo)return null;_a.push(Ls(qo.type))}I.error(\"Expected arguments of type \"+Ba+\", but found (\"+_a.join(\", \")+\") instead.\")}return null},Ja.register=function(y,I){Ja.definitions=I;for(var U in I)y[U]=Ja};function Ef(m){return Array.isArray(m)?\"(\"+m.map(Ls).join(\", \")+\")\":\"(\"+Ls(m.type)+\"...)\"}var tc=function(y,I,U){this.type=rh,this.locale=U,this.caseSensitive=y,this.diacriticSensitive=I};tc.parse=function(y,I){if(y.length!==2)return I.error(\"Expected one argument.\");var U=y[1];if(typeof U!=\"object\"||Array.isArray(U))return I.error(\"Collator options argument must be an object.\");var J=I.parse(U[\"case-sensitive\"]===void 0?!1:U[\"case-sensitive\"],1,Co);if(!J)return null;var ne=I.parse(U[\"diacritic-sensitive\"]===void 0?!1:U[\"diacritic-sensitive\"],1,Co);if(!ne)return null;var fe=null;return U.locale&&(fe=I.parse(U.locale,1,ko),!fe)?null:new tc(J,ne,fe)},tc.prototype.evaluate=function(y){return new ff(this.caseSensitive.evaluate(y),this.diacriticSensitive.evaluate(y),this.locale?this.locale.evaluate(y):null)},tc.prototype.eachChild=function(y){y(this.caseSensitive),y(this.diacriticSensitive),this.locale&&y(this.locale)},tc.prototype.outputDefined=function(){return!1},tc.prototype.serialize=function(){var y={};return y[\"case-sensitive\"]=this.caseSensitive.serialize(),y[\"diacritic-sensitive\"]=this.diacriticSensitive.serialize(),this.locale&&(y.locale=this.locale.serialize()),[\"collator\",y]};var uu=8192;function Mh(m,y){m[0]=Math.min(m[0],y[0]),m[1]=Math.min(m[1],y[1]),m[2]=Math.max(m[2],y[0]),m[3]=Math.max(m[3],y[1])}function jc(m){return(180+m)/360}function kf(m){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+m*Math.PI/360)))/360}function Ml(m,y){return!(m[0]<=y[0]||m[2]>=y[2]||m[1]<=y[1]||m[3]>=y[3])}function Yh(m,y){var I=jc(m[0]),U=kf(m[1]),J=Math.pow(2,y.z);return[Math.round(I*J*uu),Math.round(U*J*uu)]}function Eh(m,y,I){var U=m[0]-y[0],J=m[1]-y[1],ne=m[0]-I[0],fe=m[1]-I[1];return U*fe-ne*J===0&&U*ne<=0&&J*fe<=0}function nh(m,y,I){return y[1]>m[1]!=I[1]>m[1]&&m[0]<(I[0]-y[0])*(m[1]-y[1])/(I[1]-y[1])+y[0]}function hf(m,y){for(var I=!1,U=0,J=y.length;U<J;U++)for(var ne=y[U],fe=0,Fe=ne.length;fe<Fe-1;fe++){if(Eh(m,ne[fe],ne[fe+1]))return!1;nh(m,ne[fe],ne[fe+1])&&(I=!I)}return I}function kh(m,y){for(var I=0;I<y.length;I++)if(hf(m,y[I]))return!0;return!1}function Kh(m,y){return m[0]*y[1]-m[1]*y[0]}function rc(m,y,I,U){var J=m[0]-I[0],ne=m[1]-I[1],fe=y[0]-I[0],Fe=y[1]-I[1],Qe=U[0]-I[0],st=U[1]-I[1],mt=J*st-Qe*ne,Xt=fe*st-Qe*Fe;return mt>0&&Xt<0||mt<0&&Xt>0}function ah(m,y,I,U){var J=[y[0]-m[0],y[1]-m[1]],ne=[U[0]-I[0],U[1]-I[1]];return Kh(ne,J)===0?!1:!!(rc(m,y,I,U)&&rc(I,U,m,y))}function Wc(m,y,I){for(var U=0,J=I;U<J.length;U+=1)for(var ne=J[U],fe=0;fe<ne.length-1;++fe)if(ah(m,y,ne[fe],ne[fe+1]))return!0;return!1}function df(m,y){for(var I=0;I<m.length;++I)if(!hf(m[I],y))return!1;for(var U=0;U<m.length-1;++U)if(Wc(m[U],m[U+1],y))return!1;return!0}function Cu(m,y){for(var I=0;I<y.length;I++)if(df(m,y[I]))return!0;return!1}function Nf(m,y,I){for(var U=[],J=0;J<m.length;J++){for(var ne=[],fe=0;fe<m[J].length;fe++){var Fe=Yh(m[J][fe],I);Mh(y,Fe),ne.push(Fe)}U.push(ne)}return U}function Zc(m,y,I){for(var U=[],J=0;J<m.length;J++){var ne=Nf(m[J],y,I);U.push(ne)}return U}function ds(m,y,I,U){if(m[0]<I[0]||m[0]>I[2]){var J=U*.5,ne=m[0]-I[0]>J?-U:I[0]-m[0]>J?U:0;ne===0&&(ne=m[0]-I[2]>J?-U:I[2]-m[0]>J?U:0),m[0]+=ne}Mh(y,m)}function Ch(m){m[0]=m[1]=1/0,m[2]=m[3]=-1/0}function Bd(m,y,I,U){for(var J=Math.pow(2,U.z)*uu,ne=[U.x*uu,U.y*uu],fe=[],Fe=0,Qe=m;Fe<Qe.length;Fe+=1)for(var st=Qe[Fe],mt=0,Xt=st;mt<Xt.length;mt+=1){var ur=Xt[mt],nr=[ur.x+ne[0],ur.y+ne[1]];ds(nr,y,I,J),fe.push(nr)}return fe}function Jh(m,y,I,U){for(var J=Math.pow(2,U.z)*uu,ne=[U.x*uu,U.y*uu],fe=[],Fe=0,Qe=m;Fe<Qe.length;Fe+=1){for(var st=Qe[Fe],mt=[],Xt=0,ur=st;Xt<ur.length;Xt+=1){var nr=ur[Xt],Lr=[nr.x+ne[0],nr.y+ne[1]];Mh(y,Lr),mt.push(Lr)}fe.push(mt)}if(y[2]-y[0]<=J/2){Ch(y);for(var Yr=0,_i=fe;Yr<_i.length;Yr+=1)for(var si=_i[Yr],Hi=0,Ei=si;Hi<Ei.length;Hi+=1){var Vi=Ei[Hi];ds(Vi,y,I,J)}}return fe}function Cf(m,y){var I=[1/0,1/0,-1/0,-1/0],U=[1/0,1/0,-1/0,-1/0],J=m.canonicalID();if(y.type===\"Polygon\"){var ne=Nf(y.coordinates,U,J),fe=Bd(m.geometry(),I,U,J);if(!Ml(I,U))return!1;for(var Fe=0,Qe=fe;Fe<Qe.length;Fe+=1){var st=Qe[Fe];if(!hf(st,ne))return!1}}if(y.type===\"MultiPolygon\"){var mt=Zc(y.coordinates,U,J),Xt=Bd(m.geometry(),I,U,J);if(!Ml(I,U))return!1;for(var ur=0,nr=Xt;ur<nr.length;ur+=1){var Lr=nr[ur];if(!kh(Lr,mt))return!1}}return!0}function pd(m,y){var I=[1/0,1/0,-1/0,-1/0],U=[1/0,1/0,-1/0,-1/0],J=m.canonicalID();if(y.type===\"Polygon\"){var ne=Nf(y.coordinates,U,J),fe=Jh(m.geometry(),I,U,J);if(!Ml(I,U))return!1;for(var Fe=0,Qe=fe;Fe<Qe.length;Fe+=1){var st=Qe[Fe];if(!df(st,ne))return!1}}if(y.type===\"MultiPolygon\"){var mt=Zc(y.coordinates,U,J),Xt=Jh(m.geometry(),I,U,J);if(!Ml(I,U))return!1;for(var ur=0,nr=Xt;ur<nr.length;ur+=1){var Lr=nr[ur];if(!Cu(Lr,mt))return!1}}return!0}var Lu=function(y,I){this.type=Co,this.geojson=y,this.geometries=I};Lu.parse=function(y,I){if(y.length!==2)return I.error(\"'within' expression requires exactly one argument, but found \"+(y.length-1)+\" instead.\");if(Cc(y[1])){var U=y[1];if(U.type===\"FeatureCollection\")for(var J=0;J<U.features.length;++J){var ne=U.features[J].geometry.type;if(ne===\"Polygon\"||ne===\"MultiPolygon\")return new Lu(U,U.features[J].geometry)}else if(U.type===\"Feature\"){var fe=U.geometry.type;if(fe===\"Polygon\"||fe===\"MultiPolygon\")return new Lu(U,U.geometry)}else if(U.type===\"Polygon\"||U.type===\"MultiPolygon\")return new Lu(U,U)}return I.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")},Lu.prototype.evaluate=function(y){if(y.geometry()!=null&&y.canonicalID()!=null){if(y.geometryType()===\"Point\")return Cf(y,this.geometries);if(y.geometryType()===\"LineString\")return pd(y,this.geometries)}return!1},Lu.prototype.eachChild=function(){},Lu.prototype.outputDefined=function(){return!0},Lu.prototype.serialize=function(){return[\"within\",this.geojson]};function $h(m){if(m instanceof Ja){if(m.name===\"get\"&&m.args.length===1)return!1;if(m.name===\"feature-state\")return!1;if(m.name===\"has\"&&m.args.length===1)return!1;if(m.name===\"properties\"||m.name===\"geometry-type\"||m.name===\"id\")return!1;if(/^filter-/.test(m.name))return!1}if(m instanceof Lu)return!1;var y=!0;return m.eachChild(function(I){y&&!$h(I)&&(y=!1)}),y}function tu(m){if(m instanceof Ja&&m.name===\"feature-state\")return!1;var y=!0;return m.eachChild(function(I){y&&!tu(I)&&(y=!1)}),y}function Pu(m,y){if(m instanceof Ja&&y.indexOf(m.name)>=0)return!1;var I=!0;return m.eachChild(function(U){I&&!Pu(U,y)&&(I=!1)}),I}var Lc=function(y,I){this.type=I.type,this.name=y,this.boundExpression=I};Lc.parse=function(y,I){if(y.length!==2||typeof y[1]!=\"string\")return I.error(\"'var' expression requires exactly one string literal argument.\");var U=y[1];return I.scope.has(U)?new Lc(U,I.scope.get(U)):I.error('Unknown variable \"'+U+'\". Make sure \"'+U+'\" has been bound in an enclosing \"let\" expression before using it.',1)},Lc.prototype.evaluate=function(y){return this.boundExpression.evaluate(y)},Lc.prototype.eachChild=function(){},Lc.prototype.outputDefined=function(){return!1},Lc.prototype.serialize=function(){return[\"var\",this.name]};var fl=function(y,I,U,J,ne){I===void 0&&(I=[]),J===void 0&&(J=new Xl),ne===void 0&&(ne=[]),this.registry=y,this.path=I,this.key=I.map(function(fe){return\"[\"+fe+\"]\"}).join(\"\"),this.scope=J,this.errors=ne,this.expectedType=U};fl.prototype.parse=function(y,I,U,J,ne){return ne===void 0&&(ne={}),I?this.concat(I,U,J)._parse(y,ne):this._parse(y,ne)},fl.prototype._parse=function(y,I){(y===null||typeof y==\"string\"||typeof y==\"boolean\"||typeof y==\"number\")&&(y=[\"literal\",y]);function U(mt,Xt,ur){return ur===\"assert\"?new Sl(Xt,[mt]):ur===\"coerce\"?new wo(Xt,[mt]):mt}if(Array.isArray(y)){if(y.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');var J=y[0];if(typeof J!=\"string\")return this.error(\"Expression name must be a string, but found \"+typeof J+' instead. If you wanted a literal array, use [\"literal\", [...]].',0),null;var ne=this.registry[J];if(ne){var fe=ne.parse(y,this);if(!fe)return null;if(this.expectedType){var Fe=this.expectedType,Qe=fe.type;if((Fe.kind===\"string\"||Fe.kind===\"number\"||Fe.kind===\"boolean\"||Fe.kind===\"object\"||Fe.kind===\"array\")&&Qe.kind===\"value\")fe=U(fe,Fe,I.typeAnnotation||\"assert\");else if((Fe.kind===\"color\"||Fe.kind===\"formatted\"||Fe.kind===\"resolvedImage\")&&(Qe.kind===\"value\"||Qe.kind===\"string\"))fe=U(fe,Fe,I.typeAnnotation||\"coerce\");else if(this.checkSubtype(Fe,Qe))return null}if(!(fe instanceof hs)&&fe.type.kind!==\"resolvedImage\"&&Xc(fe)){var st=new $o;try{fe=new hs(fe.type,fe.evaluate(st))}catch(mt){return this.error(mt.message),null}}return fe}return this.error('Unknown expression \"'+J+'\". If you wanted a literal array, use [\"literal\", [...]].',0)}else return typeof y==\"undefined\"?this.error(\"'undefined' value invalid. Use null instead.\"):typeof y==\"object\"?this.error('Bare objects invalid. Use [\"literal\", {...}] instead.'):this.error(\"Expected an array, but found \"+typeof y+\" instead.\")},fl.prototype.concat=function(y,I,U){var J=typeof y==\"number\"?this.path.concat(y):this.path,ne=U?this.scope.concat(U):this.scope;return new fl(this.registry,J,I||null,ne,this.errors)},fl.prototype.error=function(y){for(var I=[],U=arguments.length-1;U-- >0;)I[U]=arguments[U+1];var J=\"\"+this.key+I.map(function(ne){return\"[\"+ne+\"]\"}).join(\"\");this.errors.push(new Ks(J,y))},fl.prototype.checkSubtype=function(y,I){var U=kc(y,I);return U&&this.error(U),U};function Xc(m){if(m instanceof Lc)return Xc(m.boundExpression);if(m instanceof Ja&&m.name===\"error\")return!1;if(m instanceof tc)return!1;if(m instanceof Lu)return!1;var y=m instanceof wo||m instanceof Sl,I=!0;return m.eachChild(function(U){y?I=I&&Xc(U):I=I&&U instanceof hs}),I?$h(m)&&Pu(m,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"]):!1}function ic(m,y){for(var I=m.length-1,U=0,J=I,ne=0,fe,Fe;U<=J;)if(ne=Math.floor((U+J)/2),fe=m[ne],Fe=m[ne+1],fe<=y){if(ne===I||y<Fe)return ne;U=ne+1}else if(fe>y)J=ne-1;else throw new Ms(\"Input is not a number.\");return 0}var yu=function(y,I,U){this.type=y,this.input=I,this.labels=[],this.outputs=[];for(var J=0,ne=U;J<ne.length;J+=1){var fe=ne[J],Fe=fe[0],Qe=fe[1];this.labels.push(Fe),this.outputs.push(Qe)}};yu.parse=function(y,I){if(y.length-1<4)return I.error(\"Expected at least 4 arguments, but found only \"+(y.length-1)+\".\");if((y.length-1)%2!==0)return I.error(\"Expected an even number of arguments.\");var U=I.parse(y[1],1,Zn);if(!U)return null;var J=[],ne=null;I.expectedType&&I.expectedType.kind!==\"value\"&&(ne=I.expectedType);for(var fe=1;fe<y.length;fe+=2){var Fe=fe===1?-1/0:y[fe],Qe=y[fe+1],st=fe,mt=fe+1;if(typeof Fe!=\"number\")return I.error('Input/output pairs for \"step\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',st);if(J.length&&J[J.length-1][0]>=Fe)return I.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',st);var Xt=I.parse(Qe,mt,ne);if(!Xt)return null;ne=ne||Xt.type,J.push([Fe,Xt])}return new yu(ne,U,J)},yu.prototype.evaluate=function(y){var I=this.labels,U=this.outputs;if(I.length===1)return U[0].evaluate(y);var J=this.input.evaluate(y);if(J<=I[0])return U[0].evaluate(y);var ne=I.length;if(J>=I[ne-1])return U[ne-1].evaluate(y);var fe=ic(I,J);return U[fe].evaluate(y)},yu.prototype.eachChild=function(y){y(this.input);for(var I=0,U=this.outputs;I<U.length;I+=1){var J=U[I];y(J)}},yu.prototype.outputDefined=function(){return this.outputs.every(function(y){return y.outputDefined()})},yu.prototype.serialize=function(){for(var y=[\"step\",this.input.serialize()],I=0;I<this.labels.length;I++)I>0&&y.push(this.labels[I]),y.push(this.outputs[I].serialize());return y};function Qs(m,y,I){return m*(1-I)+y*I}function Qh(m,y,I){return new ss(Qs(m.r,y.r,I),Qs(m.g,y.g,I),Qs(m.b,y.b,I),Qs(m.a,y.a,I))}function gd(m,y,I){return m.map(function(U,J){return Qs(U,y[J],I)})}var Gu=Object.freeze({__proto__:null,number:Qs,color:Qh,array:gd}),Pc=.95047,vc=1,sv=1.08883,Lf=4/29,Uf=6/29,Iu=3*Uf*Uf,oh=Uf*Uf*Uf,ru=Math.PI/180,vf=180/Math.PI;function md(m){return m>oh?Math.pow(m,1/3):m/Iu+Lf}function sh(m){return m>Uf?m*m*m:Iu*(m-Lf)}function Fs(m){return 255*(m<=.0031308?12.92*m:1.055*Math.pow(m,1/2.4)-.055)}function _u(m){return m/=255,m<=.04045?m/12.92:Math.pow((m+.055)/1.055,2.4)}function xu(m){var y=_u(m.r),I=_u(m.g),U=_u(m.b),J=md((.4124564*y+.3575761*I+.1804375*U)/Pc),ne=md((.2126729*y+.7151522*I+.072175*U)/vc),fe=md((.0193339*y+.119192*I+.9503041*U)/sv);return{l:116*ne-16,a:500*(J-ne),b:200*(ne-fe),alpha:m.a}}function Lh(m){var y=(m.l+16)/116,I=isNaN(m.a)?y:y+m.a/500,U=isNaN(m.b)?y:y-m.b/200;return y=vc*sh(y),I=Pc*sh(I),U=sv*sh(U),new ss(Fs(3.2404542*I-1.5371385*y-.4985314*U),Fs(-.969266*I+1.8760108*y+.041556*U),Fs(.0556434*I-.2040259*y+1.0572252*U),m.alpha)}function Is(m,y,I){return{l:Qs(m.l,y.l,I),a:Qs(m.a,y.a,I),b:Qs(m.b,y.b,I),alpha:Qs(m.alpha,y.alpha,I)}}function Pf(m){var y=xu(m),I=y.l,U=y.a,J=y.b,ne=Math.atan2(J,U)*vf;return{h:ne<0?ne+360:ne,c:Math.sqrt(U*U+J*J),l:I,alpha:m.a}}function Ic(m){var y=m.h*ru,I=m.c,U=m.l;return Lh({l:U,a:Math.cos(y)*I,b:Math.sin(y)*I,alpha:m.alpha})}function ju(m,y,I){var U=y-m;return m+I*(U>180||U<-180?U-360*Math.round(U/360):U)}function Vf(m,y,I){return{h:ju(m.h,y.h,I),c:Qs(m.c,y.c,I),l:Qs(m.l,y.l,I),alpha:Qs(m.alpha,y.alpha,I)}}var pc={forward:xu,reverse:Lh,interpolate:Is},pf={forward:Pf,reverse:Ic,interpolate:Vf},Ph=Object.freeze({__proto__:null,lab:pc,hcl:pf}),Dl=function(y,I,U,J,ne){this.type=y,this.operator=I,this.interpolation=U,this.input=J,this.labels=[],this.outputs=[];for(var fe=0,Fe=ne;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=Qe[0],mt=Qe[1];this.labels.push(st),this.outputs.push(mt)}};Dl.interpolationFactor=function(y,I,U,J){var ne=0;if(y.name===\"exponential\")ne=Ih(I,y.base,U,J);else if(y.name===\"linear\")ne=Ih(I,1,U,J);else if(y.name===\"cubic-bezier\"){var fe=y.controlPoints,Fe=new s(fe[0],fe[1],fe[2],fe[3]);ne=Fe.solve(Ih(I,1,U,J))}return ne},Dl.parse=function(y,I){var U=y[0],J=y[1],ne=y[2],fe=y.slice(3);if(!Array.isArray(J)||J.length===0)return I.error(\"Expected an interpolation type expression.\",1);if(J[0]===\"linear\")J={name:\"linear\"};else if(J[0]===\"exponential\"){var Fe=J[1];if(typeof Fe!=\"number\")return I.error(\"Exponential interpolation requires a numeric base.\",1,1);J={name:\"exponential\",base:Fe}}else if(J[0]===\"cubic-bezier\"){var Qe=J.slice(1);if(Qe.length!==4||Qe.some(function(si){return typeof si!=\"number\"||si<0||si>1}))return I.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);J={name:\"cubic-bezier\",controlPoints:Qe}}else return I.error(\"Unknown interpolation type \"+String(J[0]),1,0);if(y.length-1<4)return I.error(\"Expected at least 4 arguments, but found only \"+(y.length-1)+\".\");if((y.length-1)%2!==0)return I.error(\"Expected an even number of arguments.\");if(ne=I.parse(ne,2,Zn),!ne)return null;var st=[],mt=null;U===\"interpolate-hcl\"||U===\"interpolate-lab\"?mt=Tl:I.expectedType&&I.expectedType.kind!==\"value\"&&(mt=I.expectedType);for(var Xt=0;Xt<fe.length;Xt+=2){var ur=fe[Xt],nr=fe[Xt+1],Lr=Xt+3,Yr=Xt+4;if(typeof ur!=\"number\")return I.error('Input/output pairs for \"interpolate\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',Lr);if(st.length&&st[st.length-1][0]>=ur)return I.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',Lr);var _i=I.parse(nr,Yr,mt);if(!_i)return null;mt=mt||_i.type,st.push([ur,_i])}return mt.kind!==\"number\"&&mt.kind!==\"color\"&&!(mt.kind===\"array\"&&mt.itemType.kind===\"number\"&&typeof mt.N==\"number\")?I.error(\"Type \"+Ls(mt)+\" is not interpolatable.\"):new Dl(mt,U,J,ne,st)},Dl.prototype.evaluate=function(y){var I=this.labels,U=this.outputs;if(I.length===1)return U[0].evaluate(y);var J=this.input.evaluate(y);if(J<=I[0])return U[0].evaluate(y);var ne=I.length;if(J>=I[ne-1])return U[ne-1].evaluate(y);var fe=ic(I,J),Fe=I[fe],Qe=I[fe+1],st=Dl.interpolationFactor(this.interpolation,J,Fe,Qe),mt=U[fe].evaluate(y),Xt=U[fe+1].evaluate(y);return this.operator===\"interpolate\"?Gu[this.type.kind.toLowerCase()](mt,Xt,st):this.operator===\"interpolate-hcl\"?pf.reverse(pf.interpolate(pf.forward(mt),pf.forward(Xt),st)):pc.reverse(pc.interpolate(pc.forward(mt),pc.forward(Xt),st))},Dl.prototype.eachChild=function(y){y(this.input);for(var I=0,U=this.outputs;I<U.length;I+=1){var J=U[I];y(J)}},Dl.prototype.outputDefined=function(){return this.outputs.every(function(y){return y.outputDefined()})},Dl.prototype.serialize=function(){var y;this.interpolation.name===\"linear\"?y=[\"linear\"]:this.interpolation.name===\"exponential\"?this.interpolation.base===1?y=[\"linear\"]:y=[\"exponential\",this.interpolation.base]:y=[\"cubic-bezier\"].concat(this.interpolation.controlPoints);for(var I=[this.operator,y,this.input.serialize()],U=0;U<this.labels.length;U++)I.push(this.labels[U],this.outputs[U].serialize());return I};function Ih(m,y,I,U){var J=U-I,ne=m-I;return J===0?0:y===1?ne/J:(Math.pow(y,ne)-1)/(Math.pow(y,J)-1)}var Wu=function(y,I){this.type=y,this.args=I};Wu.parse=function(y,I){if(y.length<2)return I.error(\"Expectected at least one argument.\");var U=null,J=I.expectedType;J&&J.kind!==\"value\"&&(U=J);for(var ne=[],fe=0,Fe=y.slice(1);fe<Fe.length;fe+=1){var Qe=Fe[fe],st=I.parse(Qe,1+ne.length,U,void 0,{typeAnnotation:\"omit\"});if(!st)return null;U=U||st.type,ne.push(st)}var mt=J&&ne.some(function(Xt){return kc(J,Xt.type)});return mt?new Wu(So,ne):new Wu(U,ne)},Wu.prototype.evaluate=function(y){for(var I=null,U=0,J,ne=0,fe=this.args;ne<fe.length;ne+=1){var Fe=fe[ne];if(U++,I=Fe.evaluate(y),I&&I instanceof Js&&!I.available&&(J||(J=I.name),I=null,U===this.args.length&&(I=J)),I!==null)break}return I},Wu.prototype.eachChild=function(y){this.args.forEach(y)},Wu.prototype.outputDefined=function(){return this.args.every(function(y){return y.outputDefined()})},Wu.prototype.serialize=function(){var y=[\"coalesce\"];return this.eachChild(function(I){y.push(I.serialize())}),y};var Rc=function(y,I){this.type=I.type,this.bindings=[].concat(y),this.result=I};Rc.prototype.evaluate=function(y){return this.result.evaluate(y)},Rc.prototype.eachChild=function(y){for(var I=0,U=this.bindings;I<U.length;I+=1){var J=U[I];y(J[1])}y(this.result)},Rc.parse=function(y,I){if(y.length<4)return I.error(\"Expected at least 3 arguments, but found \"+(y.length-1)+\" instead.\");for(var U=[],J=1;J<y.length-1;J+=2){var ne=y[J];if(typeof ne!=\"string\")return I.error(\"Expected string, but found \"+typeof ne+\" instead.\",J);if(/[^a-zA-Z0-9_]/.test(ne))return I.error(\"Variable names must contain only alphanumeric characters or '_'.\",J);var fe=I.parse(y[J+1],J+1);if(!fe)return null;U.push([ne,fe])}var Fe=I.parse(y[y.length-1],y.length-1,I.expectedType,U);return Fe?new Rc(U,Fe):null},Rc.prototype.outputDefined=function(){return this.result.outputDefined()},Rc.prototype.serialize=function(){for(var y=[\"let\"],I=0,U=this.bindings;I<U.length;I+=1){var J=U[I],ne=J[0],fe=J[1];y.push(ne,fe.serialize())}return y.push(this.result.serialize()),y};var gc=function(y,I,U){this.type=y,this.index=I,this.input=U};gc.parse=function(y,I){if(y.length!==3)return I.error(\"Expected 2 arguments, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1,Zn),J=I.parse(y[2],2,eu(I.expectedType||So));if(!U||!J)return null;var ne=J.type;return new gc(ne.itemType,U,J)},gc.prototype.evaluate=function(y){var I=this.index.evaluate(y),U=this.input.evaluate(y);if(I<0)throw new Ms(\"Array index out of bounds: \"+I+\" < 0.\");if(I>=U.length)throw new Ms(\"Array index out of bounds: \"+I+\" > \"+(U.length-1)+\".\");if(I!==Math.floor(I))throw new Ms(\"Array index must be an integer, but found \"+I+\" instead.\");return U[I]},gc.prototype.eachChild=function(y){y(this.index),y(this.input)},gc.prototype.outputDefined=function(){return!1},gc.prototype.serialize=function(){return[\"at\",this.index.serialize(),this.input.serialize()]};var hl=function(y,I){this.type=Co,this.needle=y,this.haystack=I};hl.parse=function(y,I){if(y.length!==3)return I.error(\"Expected 2 arguments, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,So);return!U||!J?null:Of(U.type,[Co,ko,Zn,Ec,So])?new hl(U,J):I.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(U.type)+\" instead\")},hl.prototype.evaluate=function(y){var I=this.needle.evaluate(y),U=this.haystack.evaluate(y);if(!U)return!1;if(!Gc(I,[\"boolean\",\"string\",\"number\",\"null\"]))throw new Ms(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(ws(I))+\" instead.\");if(!Gc(U,[\"string\",\"array\"]))throw new Ms(\"Expected second argument to be of type array or string, but found \"+Ls(ws(U))+\" instead.\");return U.indexOf(I)>=0},hl.prototype.eachChild=function(y){y(this.needle),y(this.haystack)},hl.prototype.outputDefined=function(){return!0},hl.prototype.serialize=function(){return[\"in\",this.needle.serialize(),this.haystack.serialize()]};var iu=function(y,I,U){this.type=Zn,this.needle=y,this.haystack=I,this.fromIndex=U};iu.parse=function(y,I){if(y.length<=2||y.length>=5)return I.error(\"Expected 3 or 4 arguments, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,So);if(!U||!J)return null;if(!Of(U.type,[Co,ko,Zn,Ec,So]))return I.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(U.type)+\" instead\");if(y.length===4){var ne=I.parse(y[3],3,Zn);return ne?new iu(U,J,ne):null}else return new iu(U,J)},iu.prototype.evaluate=function(y){var I=this.needle.evaluate(y),U=this.haystack.evaluate(y);if(!Gc(I,[\"boolean\",\"string\",\"number\",\"null\"]))throw new Ms(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(ws(I))+\" instead.\");if(!Gc(U,[\"string\",\"array\"]))throw new Ms(\"Expected second argument to be of type array or string, but found \"+Ls(ws(U))+\" instead.\");if(this.fromIndex){var J=this.fromIndex.evaluate(y);return U.indexOf(I,J)}return U.indexOf(I)},iu.prototype.eachChild=function(y){y(this.needle),y(this.haystack),this.fromIndex&&y(this.fromIndex)},iu.prototype.outputDefined=function(){return!1},iu.prototype.serialize=function(){if(this.fromIndex!=null&&this.fromIndex!==void 0){var y=this.fromIndex.serialize();return[\"index-of\",this.needle.serialize(),this.haystack.serialize(),y]}return[\"index-of\",this.needle.serialize(),this.haystack.serialize()]};var mc=function(y,I,U,J,ne,fe){this.inputType=y,this.type=I,this.input=U,this.cases=J,this.outputs=ne,this.otherwise=fe};mc.parse=function(y,I){if(y.length<5)return I.error(\"Expected at least 4 arguments, but found only \"+(y.length-1)+\".\");if(y.length%2!==1)return I.error(\"Expected an even number of arguments.\");var U,J;I.expectedType&&I.expectedType.kind!==\"value\"&&(J=I.expectedType);for(var ne={},fe=[],Fe=2;Fe<y.length-1;Fe+=2){var Qe=y[Fe],st=y[Fe+1];Array.isArray(Qe)||(Qe=[Qe]);var mt=I.concat(Fe);if(Qe.length===0)return mt.error(\"Expected at least one branch label.\");for(var Xt=0,ur=Qe;Xt<ur.length;Xt+=1){var nr=ur[Xt];if(typeof nr!=\"number\"&&typeof nr!=\"string\")return mt.error(\"Branch labels must be numbers or strings.\");if(typeof nr==\"number\"&&Math.abs(nr)>Number.MAX_SAFE_INTEGER)return mt.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\");if(typeof nr==\"number\"&&Math.floor(nr)!==nr)return mt.error(\"Numeric branch labels must be integer values.\");if(!U)U=ws(nr);else if(mt.checkSubtype(U,ws(nr)))return null;if(typeof ne[String(nr)]!=\"undefined\")return mt.error(\"Branch labels must be unique.\");ne[String(nr)]=fe.length}var Lr=I.parse(st,Fe,J);if(!Lr)return null;J=J||Lr.type,fe.push(Lr)}var Yr=I.parse(y[1],1,So);if(!Yr)return null;var _i=I.parse(y[y.length-1],y.length-1,J);return!_i||Yr.type.kind!==\"value\"&&I.concat(1).checkSubtype(U,Yr.type)?null:new mc(U,J,Yr,ne,fe,_i)},mc.prototype.evaluate=function(y){var I=this.input.evaluate(y),U=ws(I)===this.inputType&&this.outputs[this.cases[I]]||this.otherwise;return U.evaluate(y)},mc.prototype.eachChild=function(y){y(this.input),this.outputs.forEach(y),y(this.otherwise)},mc.prototype.outputDefined=function(){return this.outputs.every(function(y){return y.outputDefined()})&&this.otherwise.outputDefined()},mc.prototype.serialize=function(){for(var y=this,I=[\"match\",this.input.serialize()],U=Object.keys(this.cases).sort(),J=[],ne={},fe=0,Fe=U;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=ne[this.cases[Qe]];st===void 0?(ne[this.cases[Qe]]=J.length,J.push([this.cases[Qe],[Qe]])):J[st][1].push(Qe)}for(var mt=function(Yr){return y.inputType.kind===\"number\"?Number(Yr):Yr},Xt=0,ur=J;Xt<ur.length;Xt+=1){var nr=ur[Xt],st=nr[0],Lr=nr[1];Lr.length===1?I.push(mt(Lr[0])):I.push(Lr.map(mt)),I.push(this.outputs[outputIndex$1].serialize())}return I.push(this.otherwise.serialize()),I};var Yc=function(y,I,U){this.type=y,this.branches=I,this.otherwise=U};Yc.parse=function(y,I){if(y.length<4)return I.error(\"Expected at least 3 arguments, but found only \"+(y.length-1)+\".\");if(y.length%2!==0)return I.error(\"Expected an odd number of arguments.\");var U;I.expectedType&&I.expectedType.kind!==\"value\"&&(U=I.expectedType);for(var J=[],ne=1;ne<y.length-1;ne+=2){var fe=I.parse(y[ne],ne,Co);if(!fe)return null;var Fe=I.parse(y[ne+1],ne+1,U);if(!Fe)return null;J.push([fe,Fe]),U=U||Fe.type}var Qe=I.parse(y[y.length-1],y.length-1,U);return Qe?new Yc(U,J,Qe):null},Yc.prototype.evaluate=function(y){for(var I=0,U=this.branches;I<U.length;I+=1){var J=U[I],ne=J[0],fe=J[1];if(ne.evaluate(y))return fe.evaluate(y)}return this.otherwise.evaluate(y)},Yc.prototype.eachChild=function(y){for(var I=0,U=this.branches;I<U.length;I+=1){var J=U[I],ne=J[0],fe=J[1];y(ne),y(fe)}y(this.otherwise)},Yc.prototype.outputDefined=function(){return this.branches.every(function(y){var I=y[0],U=y[1];return U.outputDefined()})&&this.otherwise.outputDefined()},Yc.prototype.serialize=function(){var y=[\"case\"];return this.eachChild(function(I){y.push(I.serialize())}),y};var nc=function(y,I,U,J){this.type=y,this.input=I,this.beginIndex=U,this.endIndex=J};nc.parse=function(y,I){if(y.length<=2||y.length>=5)return I.error(\"Expected 3 or 4 arguments, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,Zn);if(!U||!J)return null;if(!Of(U.type,[eu(So),ko,So]))return I.error(\"Expected first argument to be of type array or string, but found \"+Ls(U.type)+\" instead\");if(y.length===4){var ne=I.parse(y[3],3,Zn);return ne?new nc(U.type,U,J,ne):null}else return new nc(U.type,U,J)},nc.prototype.evaluate=function(y){var I=this.input.evaluate(y),U=this.beginIndex.evaluate(y);if(!Gc(I,[\"string\",\"array\"]))throw new Ms(\"Expected first argument to be of type array or string, but found \"+Ls(ws(I))+\" instead.\");if(this.endIndex){var J=this.endIndex.evaluate(y);return I.slice(U,J)}return I.slice(U)},nc.prototype.eachChild=function(y){y(this.input),y(this.beginIndex),this.endIndex&&y(this.endIndex)},nc.prototype.outputDefined=function(){return!1},nc.prototype.serialize=function(){if(this.endIndex!=null&&this.endIndex!==void 0){var y=this.endIndex.serialize();return[\"slice\",this.input.serialize(),this.beginIndex.serialize(),y]}return[\"slice\",this.input.serialize(),this.beginIndex.serialize()]};function gf(m,y){return m===\"==\"||m===\"!=\"?y.kind===\"boolean\"||y.kind===\"string\"||y.kind===\"number\"||y.kind===\"null\"||y.kind===\"value\":y.kind===\"string\"||y.kind===\"number\"||y.kind===\"value\"}function gt(m,y,I){return y===I}function Bt(m,y,I){return y!==I}function wr(m,y,I){return y<I}function vr(m,y,I){return y>I}function Ur(m,y,I){return y<=I}function fi(m,y,I){return y>=I}function xi(m,y,I,U){return U.compare(y,I)===0}function Fi(m,y,I,U){return!xi(m,y,I,U)}function Xi(m,y,I,U){return U.compare(y,I)<0}function hn(m,y,I,U){return U.compare(y,I)>0}function Ti(m,y,I,U){return U.compare(y,I)<=0}function qi(m,y,I,U){return U.compare(y,I)>=0}function Ii(m,y,I){var U=m!==\"==\"&&m!==\"!=\";return function(){function J(ne,fe,Fe){this.type=Co,this.lhs=ne,this.rhs=fe,this.collator=Fe,this.hasUntypedArgument=ne.type.kind===\"value\"||fe.type.kind===\"value\"}return J.parse=function(fe,Fe){if(fe.length!==3&&fe.length!==4)return Fe.error(\"Expected two or three arguments.\");var Qe=fe[0],st=Fe.parse(fe[1],1,So);if(!st)return null;if(!gf(Qe,st.type))return Fe.concat(1).error('\"'+Qe+`\" comparisons are not supported for type '`+Ls(st.type)+\"'.\");var mt=Fe.parse(fe[2],2,So);if(!mt)return null;if(!gf(Qe,mt.type))return Fe.concat(2).error('\"'+Qe+`\" comparisons are not supported for type '`+Ls(mt.type)+\"'.\");if(st.type.kind!==mt.type.kind&&st.type.kind!==\"value\"&&mt.type.kind!==\"value\")return Fe.error(\"Cannot compare types '\"+Ls(st.type)+\"' and '\"+Ls(mt.type)+\"'.\");U&&(st.type.kind===\"value\"&&mt.type.kind!==\"value\"?st=new Sl(mt.type,[st]):st.type.kind!==\"value\"&&mt.type.kind===\"value\"&&(mt=new Sl(st.type,[mt])));var Xt=null;if(fe.length===4){if(st.type.kind!==\"string\"&&mt.type.kind!==\"string\"&&st.type.kind!==\"value\"&&mt.type.kind!==\"value\")return Fe.error(\"Cannot use collator to compare non-string types.\");if(Xt=Fe.parse(fe[3],3,rh),!Xt)return null}return new J(st,mt,Xt)},J.prototype.evaluate=function(fe){var Fe=this.lhs.evaluate(fe),Qe=this.rhs.evaluate(fe);if(U&&this.hasUntypedArgument){var st=ws(Fe),mt=ws(Qe);if(st.kind!==mt.kind||!(st.kind===\"string\"||st.kind===\"number\"))throw new Ms('Expected arguments for \"'+m+'\" to be (string, string) or (number, number), but found ('+st.kind+\", \"+mt.kind+\") instead.\")}if(this.collator&&!U&&this.hasUntypedArgument){var Xt=ws(Fe),ur=ws(Qe);if(Xt.kind!==\"string\"||ur.kind!==\"string\")return y(fe,Fe,Qe)}return this.collator?I(fe,Fe,Qe,this.collator.evaluate(fe)):y(fe,Fe,Qe)},J.prototype.eachChild=function(fe){fe(this.lhs),fe(this.rhs),this.collator&&fe(this.collator)},J.prototype.outputDefined=function(){return!0},J.prototype.serialize=function(){var fe=[m];return this.eachChild(function(Fe){fe.push(Fe.serialize())}),fe},J}()}var mi=Ii(\"==\",gt,xi),Pn=Ii(\"!=\",Bt,Fi),Ma=Ii(\"<\",wr,Xi),Ta=Ii(\">\",vr,hn),Ea=Ii(\"<=\",Ur,Ti),qa=Ii(\">=\",fi,qi),Cn=function(y,I,U,J,ne){this.type=ko,this.number=y,this.locale=I,this.currency=U,this.minFractionDigits=J,this.maxFractionDigits=ne};Cn.parse=function(y,I){if(y.length!==3)return I.error(\"Expected two arguments.\");var U=I.parse(y[1],1,Zn);if(!U)return null;var J=y[2];if(typeof J!=\"object\"||Array.isArray(J))return I.error(\"NumberFormat options argument must be an object.\");var ne=null;if(J.locale&&(ne=I.parse(J.locale,1,ko),!ne))return null;var fe=null;if(J.currency&&(fe=I.parse(J.currency,1,ko),!fe))return null;var Fe=null;if(J[\"min-fraction-digits\"]&&(Fe=I.parse(J[\"min-fraction-digits\"],1,Zn),!Fe))return null;var Qe=null;return J[\"max-fraction-digits\"]&&(Qe=I.parse(J[\"max-fraction-digits\"],1,Zn),!Qe)?null:new Cn(U,ne,fe,Fe,Qe)},Cn.prototype.evaluate=function(y){return new Intl.NumberFormat(this.locale?this.locale.evaluate(y):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(y):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(y):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(y):void 0}).format(this.number.evaluate(y))},Cn.prototype.eachChild=function(y){y(this.number),this.locale&&y(this.locale),this.currency&&y(this.currency),this.minFractionDigits&&y(this.minFractionDigits),this.maxFractionDigits&&y(this.maxFractionDigits)},Cn.prototype.outputDefined=function(){return!1},Cn.prototype.serialize=function(){var y={};return this.locale&&(y.locale=this.locale.serialize()),this.currency&&(y.currency=this.currency.serialize()),this.minFractionDigits&&(y[\"min-fraction-digits\"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(y[\"max-fraction-digits\"]=this.maxFractionDigits.serialize()),[\"number-format\",this.number.serialize(),y]};var sn=function(y){this.type=Zn,this.input=y};sn.parse=function(y,I){if(y.length!==2)return I.error(\"Expected 1 argument, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1);return U?U.type.kind!==\"array\"&&U.type.kind!==\"string\"&&U.type.kind!==\"value\"?I.error(\"Expected argument of type string or array, but found \"+Ls(U.type)+\" instead.\"):new sn(U):null},sn.prototype.evaluate=function(y){var I=this.input.evaluate(y);if(typeof I==\"string\")return I.length;if(Array.isArray(I))return I.length;throw new Ms(\"Expected value to be of type string or array, but found \"+Ls(ws(I))+\" instead.\")},sn.prototype.eachChild=function(y){y(this.input)},sn.prototype.outputDefined=function(){return!1},sn.prototype.serialize=function(){var y=[\"length\"];return this.eachChild(function(I){y.push(I.serialize())}),y};var Ua={\"==\":mi,\"!=\":Pn,\">\":Ta,\"<\":Ma,\">=\":qa,\"<=\":Ea,array:Sl,at:gc,boolean:Sl,case:Yc,coalesce:Wu,collator:tc,format:ec,image:Ps,in:hl,\"index-of\":iu,interpolate:Dl,\"interpolate-hcl\":Dl,\"interpolate-lab\":Dl,length:sn,let:Rc,literal:hs,match:mc,number:Sl,\"number-format\":Cn,object:Sl,slice:nc,step:yu,string:Sl,\"to-boolean\":wo,\"to-color\":wo,\"to-number\":wo,\"to-string\":wo,var:Lc,within:Lu};function mo(m,y){var I=y[0],U=y[1],J=y[2],ne=y[3];I=I.evaluate(m),U=U.evaluate(m),J=J.evaluate(m);var fe=ne?ne.evaluate(m):1,Fe=hc(I,U,J,fe);if(Fe)throw new Ms(Fe);return new ss(I/255*fe,U/255*fe,J/255*fe,fe)}function Xo(m,y){return m in y}function Ts(m,y){var I=y[m];return typeof I==\"undefined\"?null:I}function Qo(m,y,I,U){for(;I<=U;){var J=I+U>>1;if(y[J]===m)return!0;y[J]>m?U=J-1:I=J+1}return!1}function ys(m){return{type:m}}Ja.register(Ua,{error:[cf,[ko],function(m,y){var I=y[0];throw new Ms(I.evaluate(m))}],typeof:[ko,[So],function(m,y){var I=y[0];return Ls(ws(I.evaluate(m)))}],\"to-rgba\":[eu(Zn,4),[Tl],function(m,y){var I=y[0];return I.evaluate(m).toArray()}],rgb:[Tl,[Zn,Zn,Zn],mo],rgba:[Tl,[Zn,Zn,Zn,Zn],mo],has:{type:Co,overloads:[[[ko],function(m,y){var I=y[0];return Xo(I.evaluate(m),m.properties())}],[[ko,uf],function(m,y){var I=y[0],U=y[1];return Xo(I.evaluate(m),U.evaluate(m))}]]},get:{type:So,overloads:[[[ko],function(m,y){var I=y[0];return Ts(I.evaluate(m),m.properties())}],[[ko,uf],function(m,y){var I=y[0],U=y[1];return Ts(I.evaluate(m),U.evaluate(m))}]]},\"feature-state\":[So,[ko],function(m,y){var I=y[0];return Ts(I.evaluate(m),m.featureState||{})}],properties:[uf,[],function(m){return m.properties()}],\"geometry-type\":[ko,[],function(m){return m.geometryType()}],id:[So,[],function(m){return m.id()}],zoom:[Zn,[],function(m){return m.globals.zoom}],\"heatmap-density\":[Zn,[],function(m){return m.globals.heatmapDensity||0}],\"line-progress\":[Zn,[],function(m){return m.globals.lineProgress||0}],accumulated:[So,[],function(m){return m.globals.accumulated===void 0?null:m.globals.accumulated}],\"+\":[Zn,ys(Zn),function(m,y){for(var I=0,U=0,J=y;U<J.length;U+=1){var ne=J[U];I+=ne.evaluate(m)}return I}],\"*\":[Zn,ys(Zn),function(m,y){for(var I=1,U=0,J=y;U<J.length;U+=1){var ne=J[U];I*=ne.evaluate(m)}return I}],\"-\":{type:Zn,overloads:[[[Zn,Zn],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)-U.evaluate(m)}],[[Zn],function(m,y){var I=y[0];return-I.evaluate(m)}]]},\"/\":[Zn,[Zn,Zn],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)/U.evaluate(m)}],\"%\":[Zn,[Zn,Zn],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)%U.evaluate(m)}],ln2:[Zn,[],function(){return Math.LN2}],pi:[Zn,[],function(){return Math.PI}],e:[Zn,[],function(){return Math.E}],\"^\":[Zn,[Zn,Zn],function(m,y){var I=y[0],U=y[1];return Math.pow(I.evaluate(m),U.evaluate(m))}],sqrt:[Zn,[Zn],function(m,y){var I=y[0];return Math.sqrt(I.evaluate(m))}],log10:[Zn,[Zn],function(m,y){var I=y[0];return Math.log(I.evaluate(m))/Math.LN10}],ln:[Zn,[Zn],function(m,y){var I=y[0];return Math.log(I.evaluate(m))}],log2:[Zn,[Zn],function(m,y){var I=y[0];return Math.log(I.evaluate(m))/Math.LN2}],sin:[Zn,[Zn],function(m,y){var I=y[0];return Math.sin(I.evaluate(m))}],cos:[Zn,[Zn],function(m,y){var I=y[0];return Math.cos(I.evaluate(m))}],tan:[Zn,[Zn],function(m,y){var I=y[0];return Math.tan(I.evaluate(m))}],asin:[Zn,[Zn],function(m,y){var I=y[0];return Math.asin(I.evaluate(m))}],acos:[Zn,[Zn],function(m,y){var I=y[0];return Math.acos(I.evaluate(m))}],atan:[Zn,[Zn],function(m,y){var I=y[0];return Math.atan(I.evaluate(m))}],min:[Zn,ys(Zn),function(m,y){return Math.min.apply(Math,y.map(function(I){return I.evaluate(m)}))}],max:[Zn,ys(Zn),function(m,y){return Math.max.apply(Math,y.map(function(I){return I.evaluate(m)}))}],abs:[Zn,[Zn],function(m,y){var I=y[0];return Math.abs(I.evaluate(m))}],round:[Zn,[Zn],function(m,y){var I=y[0],U=I.evaluate(m);return U<0?-Math.round(-U):Math.round(U)}],floor:[Zn,[Zn],function(m,y){var I=y[0];return Math.floor(I.evaluate(m))}],ceil:[Zn,[Zn],function(m,y){var I=y[0];return Math.ceil(I.evaluate(m))}],\"filter-==\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1];return m.properties()[I.value]===U.value}],\"filter-id-==\":[Co,[So],function(m,y){var I=y[0];return m.id()===I.value}],\"filter-type-==\":[Co,[ko],function(m,y){var I=y[0];return m.geometryType()===I.value}],\"filter-<\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J<ne}],\"filter-id-<\":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U<J}],\"filter->\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J>ne}],\"filter-id->\":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U>J}],\"filter-<=\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J<=ne}],\"filter-id-<=\":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U<=J}],\"filter->=\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J>=ne}],\"filter-id->=\":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U>=J}],\"filter-has\":[Co,[So],function(m,y){var I=y[0];return I.value in m.properties()}],\"filter-has-id\":[Co,[],function(m){return m.id()!==null&&m.id()!==void 0}],\"filter-type-in\":[Co,[eu(ko)],function(m,y){var I=y[0];return I.value.indexOf(m.geometryType())>=0}],\"filter-id-in\":[Co,[eu(So)],function(m,y){var I=y[0];return I.value.indexOf(m.id())>=0}],\"filter-in-small\":[Co,[ko,eu(So)],function(m,y){var I=y[0],U=y[1];return U.value.indexOf(m.properties()[I.value])>=0}],\"filter-in-large\":[Co,[ko,eu(So)],function(m,y){var I=y[0],U=y[1];return Qo(m.properties()[I.value],U.value,0,U.value.length-1)}],all:{type:Co,overloads:[[[Co,Co],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)&&U.evaluate(m)}],[ys(Co),function(m,y){for(var I=0,U=y;I<U.length;I+=1){var J=U[I];if(!J.evaluate(m))return!1}return!0}]]},any:{type:Co,overloads:[[[Co,Co],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)||U.evaluate(m)}],[ys(Co),function(m,y){for(var I=0,U=y;I<U.length;I+=1){var J=U[I];if(J.evaluate(m))return!0}return!1}]]},\"!\":[Co,[Co],function(m,y){var I=y[0];return!I.evaluate(m)}],\"is-supported-script\":[Co,[ko],function(m,y){var I=y[0],U=m.globals&&m.globals.isSupportedScript;return U?U(I.evaluate(m)):!0}],upcase:[ko,[ko],function(m,y){var I=y[0];return I.evaluate(m).toUpperCase()}],downcase:[ko,[ko],function(m,y){var I=y[0];return I.evaluate(m).toLowerCase()}],concat:[ko,ys(So),function(m,y){return y.map(function(I){return $s(I.evaluate(m))}).join(\"\")}],\"resolved-locale\":[ko,[rh],function(m,y){var I=y[0];return I.evaluate(m).resolvedLocale()}]});function Bo(m){return{result:\"success\",value:m}}function yl(m){return{result:\"error\",value:m}}function Gs(m){return m[\"property-type\"]===\"data-driven\"||m[\"property-type\"]===\"cross-faded-data-driven\"}function Rs(m){return!!m.expression&&m.expression.parameters.indexOf(\"zoom\")>-1}function ia(m){return!!m.expression&&m.expression.interpolated}function Ka(m){return m instanceof Number?\"number\":m instanceof String?\"string\":m instanceof Boolean?\"boolean\":Array.isArray(m)?\"array\":m===null?\"null\":typeof m}function vs(m){return typeof m==\"object\"&&m!==null&&!Array.isArray(m)}function Ko(m){return m}function nu(m,y){var I=y.type===\"color\",U=m.stops&&typeof m.stops[0][0]==\"object\",J=U||m.property!==void 0,ne=U||!J,fe=m.type||(ia(y)?\"exponential\":\"interval\");if(I&&(m=Rl({},m),m.stops&&(m.stops=m.stops.map(function($n){return[$n[0],ss.parse($n[1])]})),m.default?m.default=ss.parse(m.default):m.default=ss.parse(y.default)),m.colorSpace&&m.colorSpace!==\"rgb\"&&!Ph[m.colorSpace])throw new Error(\"Unknown color space: \"+m.colorSpace);var Fe,Qe,st;if(fe===\"exponential\")Fe=bu;else if(fe===\"interval\")Fe=mf;else if(fe===\"categorical\"){Fe=ac,Qe=Object.create(null);for(var mt=0,Xt=m.stops;mt<Xt.length;mt+=1){var ur=Xt[mt];Qe[ur[0]]=ur[1]}st=typeof m.stops[0][0]}else if(fe===\"identity\")Fe=Kc;else throw new Error('Unknown function type \"'+fe+'\"');if(U){for(var nr={},Lr=[],Yr=0;Yr<m.stops.length;Yr++){var _i=m.stops[Yr],si=_i[0].zoom;nr[si]===void 0&&(nr[si]={zoom:si,type:m.type,property:m.property,default:m.default,stops:[]},Lr.push(si)),nr[si].stops.push([_i[0].value,_i[1]])}for(var Hi=[],Ei=0,Vi=Lr;Ei<Vi.length;Ei+=1){var en=Vi[Ei];Hi.push([nr[en].zoom,nu(nr[en],y)])}var An={name:\"linear\"};return{kind:\"composite\",interpolationType:An,interpolationFactor:Dl.interpolationFactor.bind(void 0,An),zoomStops:Hi.map(function($n){return $n[0]}),evaluate:function(Ba,_a){var Pa=Ba.zoom;return bu({stops:Hi,base:m.base},y,Pa).evaluate(Pa,_a)}}}else if(ne){var ra=fe===\"exponential\"?{name:\"exponential\",base:m.base!==void 0?m.base:1}:null;return{kind:\"camera\",interpolationType:ra,interpolationFactor:Dl.interpolationFactor.bind(void 0,ra),zoomStops:m.stops.map(function($n){return $n[0]}),evaluate:function($n){var Ba=$n.zoom;return Fe(m,y,Ba,Qe,st)}}}else return{kind:\"source\",evaluate:function(Ba,_a){var Pa=_a&&_a.properties?_a.properties[m.property]:void 0;return Pa===void 0?Ru(m.default,y.default):Fe(m,y,Pa,Qe,st)}}}function Ru(m,y,I){if(m!==void 0)return m;if(y!==void 0)return y;if(I!==void 0)return I}function ac(m,y,I,U,J){var ne=typeof I===J?U[I]:void 0;return Ru(ne,m.default,y.default)}function mf(m,y,I){if(Ka(I)!==\"number\")return Ru(m.default,y.default);var U=m.stops.length;if(U===1||I<=m.stops[0][0])return m.stops[0][1];if(I>=m.stops[U-1][0])return m.stops[U-1][1];var J=ic(m.stops.map(function(ne){return ne[0]}),I);return m.stops[J][1]}function bu(m,y,I){var U=m.base!==void 0?m.base:1;if(Ka(I)!==\"number\")return Ru(m.default,y.default);var J=m.stops.length;if(J===1||I<=m.stops[0][0])return m.stops[0][1];if(I>=m.stops[J-1][0])return m.stops[J-1][1];var ne=ic(m.stops.map(function(Xt){return Xt[0]}),I),fe=Du(I,U,m.stops[ne][0],m.stops[ne+1][0]),Fe=m.stops[ne][1],Qe=m.stops[ne+1][1],st=Gu[y.type]||Ko;if(m.colorSpace&&m.colorSpace!==\"rgb\"){var mt=Ph[m.colorSpace];st=function(Xt,ur){return mt.reverse(mt.interpolate(mt.forward(Xt),mt.forward(ur),fe))}}return typeof Fe.evaluate==\"function\"?{evaluate:function(){for(var ur=[],nr=arguments.length;nr--;)ur[nr]=arguments[nr];var Lr=Fe.evaluate.apply(void 0,ur),Yr=Qe.evaluate.apply(void 0,ur);if(!(Lr===void 0||Yr===void 0))return st(Lr,Yr,fe)}}:st(Fe,Qe,fe)}function Kc(m,y,I){return y.type===\"color\"?I=ss.parse(I):y.type===\"formatted\"?I=Vl.fromString(I.toString()):y.type===\"resolvedImage\"?I=Js.fromString(I.toString()):Ka(I)!==y.type&&(y.type!==\"enum\"||!y.values[I])&&(I=void 0),Ru(I,m.default,y.default)}function Du(m,y,I,U){var J=U-I,ne=m-I;return J===0?0:y===1?ne/J:(Math.pow(y,ne)-1)/(Math.pow(y,J)-1)}var Dc=function(y,I){this.expression=y,this._warningHistory={},this._evaluator=new $o,this._defaultValue=I?ee(I):null,this._enumValues=I&&I.type===\"enum\"?I.values:null};Dc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._evaluator.globals=y,this._evaluator.feature=I,this._evaluator.featureState=U,this._evaluator.canonical=J,this._evaluator.availableImages=ne||null,this._evaluator.formattedSection=fe,this.expression.evaluate(this._evaluator)},Dc.prototype.evaluate=function(y,I,U,J,ne,fe){this._evaluator.globals=y,this._evaluator.feature=I||null,this._evaluator.featureState=U||null,this._evaluator.canonical=J,this._evaluator.availableImages=ne||null,this._evaluator.formattedSection=fe||null;try{var Fe=this.expression.evaluate(this._evaluator);if(Fe==null||typeof Fe==\"number\"&&Fe!==Fe)return this._defaultValue;if(this._enumValues&&!(Fe in this._enumValues))throw new Ms(\"Expected value to be one of \"+Object.keys(this._enumValues).map(function(Qe){return JSON.stringify(Qe)}).join(\", \")+\", but found \"+JSON.stringify(Fe)+\" instead.\");return Fe}catch(Qe){return this._warningHistory[Qe.message]||(this._warningHistory[Qe.message]=!0,typeof console!=\"undefined\"&&console.warn(Qe.message)),this._defaultValue}};function Da(m){return Array.isArray(m)&&m.length>0&&typeof m[0]==\"string\"&&m[0]in Ua}function eo(m,y){var I=new fl(Ua,[],y?Q(y):void 0),U=I.parse(m,void 0,void 0,void 0,y&&y.type===\"string\"?{typeAnnotation:\"coerce\"}:void 0);return U?Bo(new Dc(U,y)):yl(I.errors)}var Jc=function(y,I){this.kind=y,this._styleExpression=I,this.isStateDependent=y!==\"constant\"&&!tu(I.expression)};Jc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._styleExpression.evaluateWithoutErrorHandling(y,I,U,J,ne,fe)},Jc.prototype.evaluate=function(y,I,U,J,ne,fe){return this._styleExpression.evaluate(y,I,U,J,ne,fe)};var yc=function(y,I,U,J){this.kind=y,this.zoomStops=U,this._styleExpression=I,this.isStateDependent=y!==\"camera\"&&!tu(I.expression),this.interpolationType=J};yc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._styleExpression.evaluateWithoutErrorHandling(y,I,U,J,ne,fe)},yc.prototype.evaluate=function(y,I,U,J,ne,fe){return this._styleExpression.evaluate(y,I,U,J,ne,fe)},yc.prototype.interpolationFactor=function(y,I,U){return this.interpolationType?Dl.interpolationFactor(this.interpolationType,y,I,U):0};function _c(m,y){if(m=eo(m,y),m.result===\"error\")return m;var I=m.value.expression,U=$h(I);if(!U&&!Gs(y))return yl([new Ks(\"\",\"data expressions not supported\")]);var J=Pu(I,[\"zoom\"]);if(!J&&!Rs(y))return yl([new Ks(\"\",\"zoom expressions not supported\")]);var ne=B(I);if(!ne&&!J)return yl([new Ks(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')]);if(ne instanceof Ks)return yl([ne]);if(ne instanceof Dl&&!ia(y))return yl([new Ks(\"\",'\"interpolate\" expressions cannot be used with this property')]);if(!ne)return Bo(U?new Jc(\"constant\",m.value):new Jc(\"source\",m.value));var fe=ne instanceof Dl?ne.interpolation:void 0;return Bo(U?new yc(\"camera\",m.value,ne.labels,fe):new yc(\"composite\",m.value,ne.labels,fe))}var le=function(y,I){this._parameters=y,this._specification=I,Rl(this,nu(this._parameters,this._specification))};le.deserialize=function(y){return new le(y._parameters,y._specification)},le.serialize=function(y){return{_parameters:y._parameters,_specification:y._specification}};function w(m,y){if(vs(m))return new le(m,y);if(Da(m)){var I=_c(m,y);if(I.result===\"error\")throw new Error(I.value.map(function(J){return J.key+\": \"+J.message}).join(\", \"));return I.value}else{var U=m;return typeof m==\"string\"&&y.type===\"color\"&&(U=ss.parse(m)),{kind:\"constant\",evaluate:function(){return U}}}}function B(m){var y=null;if(m instanceof Rc)y=B(m.result);else if(m instanceof Wu)for(var I=0,U=m.args;I<U.length;I+=1){var J=U[I];if(y=B(J),y)break}else(m instanceof yu||m instanceof Dl)&&m.input instanceof Ja&&m.input.name===\"zoom\"&&(y=m);return y instanceof Ks||m.eachChild(function(ne){var fe=B(ne);fe instanceof Ks?y=fe:!y&&fe?y=new Ks(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):y&&fe&&y!==fe&&(y=new Ks(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))}),y}function Q(m){var y={color:Tl,string:ko,number:Zn,enum:ko,boolean:Co,formatted:Al,resolvedImage:Hc};return m.type===\"array\"?eu(y[m.value]||So,m.length):y[m.type]}function ee(m){return m.type===\"color\"&&vs(m.default)?new ss(0,0,0,0):m.type===\"color\"?ss.parse(m.default)||null:m.default===void 0?null:m.default}function se(m){var y=m.key,I=m.value,U=m.valueSpec||{},J=m.objectElementValidators||{},ne=m.style,fe=m.styleSpec,Fe=[],Qe=Ka(I);if(Qe!==\"object\")return[new fa(y,I,\"object expected, \"+Qe+\" found\")];for(var st in I){var mt=st.split(\".\")[0],Xt=U[mt]||U[\"*\"],ur=void 0;if(J[mt])ur=J[mt];else if(U[mt])ur=Wa;else if(J[\"*\"])ur=J[\"*\"];else if(U[\"*\"])ur=Wa;else{Fe.push(new fa(y,I[st],'unknown property \"'+st+'\"'));continue}Fe=Fe.concat(ur({key:(y&&y+\".\")+st,value:I[st],valueSpec:Xt,style:ne,styleSpec:fe,object:I,objectKey:st},I))}for(var nr in U)J[nr]||U[nr].required&&U[nr].default===void 0&&I[nr]===void 0&&Fe.push(new fa(y,I,'missing required property \"'+nr+'\"'));return Fe}function qe(m){var y=m.value,I=m.valueSpec,U=m.style,J=m.styleSpec,ne=m.key,fe=m.arrayElementValidator||Wa;if(Ka(y)!==\"array\")return[new fa(ne,y,\"array expected, \"+Ka(y)+\" found\")];if(I.length&&y.length!==I.length)return[new fa(ne,y,\"array length \"+I.length+\" expected, length \"+y.length+\" found\")];if(I[\"min-length\"]&&y.length<I[\"min-length\"])return[new fa(ne,y,\"array length at least \"+I[\"min-length\"]+\" expected, length \"+y.length+\" found\")];var Fe={type:I.value,values:I.values};J.$version<7&&(Fe.function=I.function),Ka(I.value)===\"object\"&&(Fe=I.value);for(var Qe=[],st=0;st<y.length;st++)Qe=Qe.concat(fe({array:y,arrayIndex:st,value:y[st],valueSpec:Fe,style:U,styleSpec:J,key:ne+\"[\"+st+\"]\"}));return Qe}function je(m){var y=m.key,I=m.value,U=m.valueSpec,J=Ka(I);return J===\"number\"&&I!==I&&(J=\"NaN\"),J!==\"number\"?[new fa(y,I,\"number expected, \"+J+\" found\")]:\"minimum\"in U&&I<U.minimum?[new fa(y,I,I+\" is less than the minimum value \"+U.minimum)]:\"maximum\"in U&&I>U.maximum?[new fa(y,I,I+\" is greater than the maximum value \"+U.maximum)]:[]}function it(m){var y=m.valueSpec,I=vo(m.value.type),U,J={},ne,fe,Fe=I!==\"categorical\"&&m.value.property===void 0,Qe=!Fe,st=Ka(m.value.stops)===\"array\"&&Ka(m.value.stops[0])===\"array\"&&Ka(m.value.stops[0][0])===\"object\",mt=se({key:m.key,value:m.value,valueSpec:m.styleSpec.function,style:m.style,styleSpec:m.styleSpec,objectElementValidators:{stops:Xt,default:Lr}});return I===\"identity\"&&Fe&&mt.push(new fa(m.key,m.value,'missing required property \"property\"')),I!==\"identity\"&&!m.value.stops&&mt.push(new fa(m.key,m.value,'missing required property \"stops\"')),I===\"exponential\"&&m.valueSpec.expression&&!ia(m.valueSpec)&&mt.push(new fa(m.key,m.value,\"exponential functions not supported\")),m.styleSpec.$version>=8&&(Qe&&!Gs(m.valueSpec)?mt.push(new fa(m.key,m.value,\"property functions not supported\")):Fe&&!Rs(m.valueSpec)&&mt.push(new fa(m.key,m.value,\"zoom functions not supported\"))),(I===\"categorical\"||st)&&m.value.property===void 0&&mt.push(new fa(m.key,m.value,'\"property\" property is required')),mt;function Xt(Yr){if(I===\"identity\")return[new fa(Yr.key,Yr.value,'identity function may not have a \"stops\" property')];var _i=[],si=Yr.value;return _i=_i.concat(qe({key:Yr.key,value:si,valueSpec:Yr.valueSpec,style:Yr.style,styleSpec:Yr.styleSpec,arrayElementValidator:ur})),Ka(si)===\"array\"&&si.length===0&&_i.push(new fa(Yr.key,si,\"array must have at least one stop\")),_i}function ur(Yr){var _i=[],si=Yr.value,Hi=Yr.key;if(Ka(si)!==\"array\")return[new fa(Hi,si,\"array expected, \"+Ka(si)+\" found\")];if(si.length!==2)return[new fa(Hi,si,\"array length 2 expected, length \"+si.length+\" found\")];if(st){if(Ka(si[0])!==\"object\")return[new fa(Hi,si,\"object expected, \"+Ka(si[0])+\" found\")];if(si[0].zoom===void 0)return[new fa(Hi,si,\"object stop key must have zoom\")];if(si[0].value===void 0)return[new fa(Hi,si,\"object stop key must have value\")];if(fe&&fe>vo(si[0].zoom))return[new fa(Hi,si[0].zoom,\"stop zoom values must appear in ascending order\")];vo(si[0].zoom)!==fe&&(fe=vo(si[0].zoom),ne=void 0,J={}),_i=_i.concat(se({key:Hi+\"[0]\",value:si[0],valueSpec:{zoom:{}},style:Yr.style,styleSpec:Yr.styleSpec,objectElementValidators:{zoom:je,value:nr}}))}else _i=_i.concat(nr({key:Hi+\"[0]\",value:si[0],valueSpec:{},style:Yr.style,styleSpec:Yr.styleSpec},si));return Da(Zl(si[1]))?_i.concat([new fa(Hi+\"[1]\",si[1],\"expressions are not allowed in function stops.\")]):_i.concat(Wa({key:Hi+\"[1]\",value:si[1],valueSpec:y,style:Yr.style,styleSpec:Yr.styleSpec}))}function nr(Yr,_i){var si=Ka(Yr.value),Hi=vo(Yr.value),Ei=Yr.value!==null?Yr.value:_i;if(!U)U=si;else if(si!==U)return[new fa(Yr.key,Ei,si+\" stop domain type must match previous stop domain type \"+U)];if(si!==\"number\"&&si!==\"string\"&&si!==\"boolean\")return[new fa(Yr.key,Ei,\"stop domain value must be a number, string, or boolean\")];if(si!==\"number\"&&I!==\"categorical\"){var Vi=\"number expected, \"+si+\" found\";return Gs(y)&&I===void 0&&(Vi+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new fa(Yr.key,Ei,Vi)]}return I===\"categorical\"&&si===\"number\"&&(!isFinite(Hi)||Math.floor(Hi)!==Hi)?[new fa(Yr.key,Ei,\"integer expected, found \"+Hi)]:I!==\"categorical\"&&si===\"number\"&&ne!==void 0&&Hi<ne?[new fa(Yr.key,Ei,\"stop domain values must appear in ascending order\")]:(ne=Hi,I===\"categorical\"&&Hi in J?[new fa(Yr.key,Ei,\"stop domain values must be unique\")]:(J[Hi]=!0,[]))}function Lr(Yr){return Wa({key:Yr.key,value:Yr.value,valueSpec:y,style:Yr.style,styleSpec:Yr.styleSpec})}}function yt(m){var y=(m.expressionContext===\"property\"?_c:eo)(Zl(m.value),m.valueSpec);if(y.result===\"error\")return y.value.map(function(U){return new fa(\"\"+m.key+U.key,m.value,U.message)});var I=y.value.expression||y.value._styleExpression.expression;if(m.expressionContext===\"property\"&&m.propertyKey===\"text-font\"&&!I.outputDefined())return[new fa(m.key,m.value,'Invalid data expression for \"'+m.propertyKey+'\". Output values must be contained as literals within the expression.')];if(m.expressionContext===\"property\"&&m.propertyType===\"layout\"&&!tu(I))return[new fa(m.key,m.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(m.expressionContext===\"filter\"&&!tu(I))return[new fa(m.key,m.value,'\"feature-state\" data expressions are not supported with filters.')];if(m.expressionContext&&m.expressionContext.indexOf(\"cluster\")===0){if(!Pu(I,[\"zoom\",\"feature-state\"]))return[new fa(m.key,m.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(m.expressionContext===\"cluster-initial\"&&!$h(I))return[new fa(m.key,m.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function Ot(m){var y=m.value,I=m.key,U=Ka(y);return U!==\"boolean\"?[new fa(I,y,\"boolean expected, \"+U+\" found\")]:[]}function Nt(m){var y=m.key,I=m.value,U=Ka(I);return U!==\"string\"?[new fa(y,I,\"color expected, \"+U+\" found\")]:Bf(I)===null?[new fa(y,I,'color expected, \"'+I+'\" found')]:[]}function hr(m){var y=m.key,I=m.value,U=m.valueSpec,J=[];return Array.isArray(U.values)?U.values.indexOf(vo(I))===-1&&J.push(new fa(y,I,\"expected one of [\"+U.values.join(\", \")+\"], \"+JSON.stringify(I)+\" found\")):Object.keys(U.values).indexOf(vo(I))===-1&&J.push(new fa(y,I,\"expected one of [\"+Object.keys(U.values).join(\", \")+\"], \"+JSON.stringify(I)+\" found\")),J}function Sr(m){if(m===!0||m===!1)return!0;if(!Array.isArray(m)||m.length===0)return!1;switch(m[0]){case\"has\":return m.length>=2&&m[1]!==\"$id\"&&m[1]!==\"$type\";case\"in\":return m.length>=3&&(typeof m[1]!=\"string\"||Array.isArray(m[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return m.length!==3||Array.isArray(m[1])||Array.isArray(m[2]);case\"any\":case\"all\":for(var y=0,I=m.slice(1);y<I.length;y+=1){var U=I[y];if(!Sr(U)&&typeof U!=\"boolean\")return!1}return!0;default:return!0}}var he={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function be(m){if(m==null)return{filter:function(){return!0},needGeometry:!1};Sr(m)||(m=Je(m));var y=eo(m,he);if(y.result===\"error\")throw new Error(y.value.map(function(U){return U.key+\": \"+U.message}).join(\", \"));var I=Oe(m);return{filter:function(U,J,ne){return y.value.evaluate(U,J,{},ne)},needGeometry:I}}function Pe(m,y){return m<y?-1:m>y?1:0}function Oe(m){if(!Array.isArray(m))return!1;if(m[0]===\"within\")return!0;for(var y=1;y<m.length;y++)if(Oe(m[y]))return!0;return!1}function Je(m){if(!m)return!0;var y=m[0];if(m.length<=1)return y!==\"any\";var I=y===\"==\"?He(m[1],m[2],\"==\"):y===\"!=\"?Ut(He(m[1],m[2],\"==\")):y===\"<\"||y===\">\"||y===\"<=\"||y===\">=\"?He(m[1],m[2],y):y===\"any\"?et(m.slice(1)):y===\"all\"?[\"all\"].concat(m.slice(1).map(Je)):y===\"none\"?[\"all\"].concat(m.slice(1).map(Je).map(Ut)):y===\"in\"?Mt(m[1],m.slice(2)):y===\"!in\"?Ut(Mt(m[1],m.slice(2))):y===\"has\"?Dt(m[1]):y===\"!has\"?Ut(Dt(m[1])):y===\"within\"?m:!0;return I}function He(m,y,I){switch(m){case\"$type\":return[\"filter-type-\"+I,y];case\"$id\":return[\"filter-id-\"+I,y];default:return[\"filter-\"+I,m,y]}}function et(m){return[\"any\"].concat(m.map(Je))}function Mt(m,y){if(y.length===0)return!1;switch(m){case\"$type\":return[\"filter-type-in\",[\"literal\",y]];case\"$id\":return[\"filter-id-in\",[\"literal\",y]];default:return y.length>200&&!y.some(function(I){return typeof I!=typeof y[0]})?[\"filter-in-large\",m,[\"literal\",y.sort(Pe)]]:[\"filter-in-small\",m,[\"literal\",y]]}}function Dt(m){switch(m){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",m]}}function Ut(m){return[\"!\",m]}function tr(m){return Sr(Zl(m.value))?yt(Rl({},m,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):mr(m)}function mr(m){var y=m.value,I=m.key;if(Ka(y)!==\"array\")return[new fa(I,y,\"array expected, \"+Ka(y)+\" found\")];var U=m.styleSpec,J,ne=[];if(y.length<1)return[new fa(I,y,\"filter array must have at least 1 element\")];switch(ne=ne.concat(hr({key:I+\"[0]\",value:y[0],valueSpec:U.filter_operator,style:m.style,styleSpec:m.styleSpec})),vo(y[0])){case\"<\":case\"<=\":case\">\":case\">=\":y.length>=2&&vo(y[1])===\"$type\"&&ne.push(new fa(I,y,'\"$type\" cannot be use with operator \"'+y[0]+'\"'));case\"==\":case\"!=\":y.length!==3&&ne.push(new fa(I,y,'filter array for operator \"'+y[0]+'\" must have 3 elements'));case\"in\":case\"!in\":y.length>=2&&(J=Ka(y[1]),J!==\"string\"&&ne.push(new fa(I+\"[1]\",y[1],\"string expected, \"+J+\" found\")));for(var fe=2;fe<y.length;fe++)J=Ka(y[fe]),vo(y[1])===\"$type\"?ne=ne.concat(hr({key:I+\"[\"+fe+\"]\",value:y[fe],valueSpec:U.geometry_type,style:m.style,styleSpec:m.styleSpec})):J!==\"string\"&&J!==\"number\"&&J!==\"boolean\"&&ne.push(new fa(I+\"[\"+fe+\"]\",y[fe],\"string, number, or boolean expected, \"+J+\" found\"));break;case\"any\":case\"all\":case\"none\":for(var Fe=1;Fe<y.length;Fe++)ne=ne.concat(mr({key:I+\"[\"+Fe+\"]\",value:y[Fe],style:m.style,styleSpec:m.styleSpec}));break;case\"has\":case\"!has\":J=Ka(y[1]),y.length!==2?ne.push(new fa(I,y,'filter array for \"'+y[0]+'\" operator must have 2 elements')):J!==\"string\"&&ne.push(new fa(I+\"[1]\",y[1],\"string expected, \"+J+\" found\"));break;case\"within\":J=Ka(y[1]),y.length!==2?ne.push(new fa(I,y,'filter array for \"'+y[0]+'\" operator must have 2 elements')):J!==\"object\"&&ne.push(new fa(I+\"[1]\",y[1],\"object expected, \"+J+\" found\"));break}return ne}function Rr(m,y){var I=m.key,U=m.style,J=m.styleSpec,ne=m.value,fe=m.objectKey,Fe=J[y+\"_\"+m.layerType];if(!Fe)return[];var Qe=fe.match(/^(.*)-transition$/);if(y===\"paint\"&&Qe&&Fe[Qe[1]]&&Fe[Qe[1]].transition)return Wa({key:I,value:ne,valueSpec:J.transition,style:U,styleSpec:J});var st=m.valueSpec||Fe[fe];if(!st)return[new fa(I,ne,'unknown property \"'+fe+'\"')];var mt;if(Ka(ne)===\"string\"&&Gs(st)&&!st.tokens&&(mt=/^{([^}]+)}$/.exec(ne)))return[new fa(I,ne,'\"'+fe+'\" does not support interpolation syntax\\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": '+JSON.stringify(mt[1])+\" }`.\")];var Xt=[];return m.layerType===\"symbol\"&&(fe===\"text-field\"&&U&&!U.glyphs&&Xt.push(new fa(I,ne,'use of \"text-field\" requires a style \"glyphs\" property')),fe===\"text-font\"&&vs(Zl(ne))&&vo(ne.type)===\"identity\"&&Xt.push(new fa(I,ne,'\"text-font\" does not support identity functions'))),Xt.concat(Wa({key:m.key,value:ne,valueSpec:st,style:U,styleSpec:J,expressionContext:\"property\",propertyType:y,propertyKey:fe}))}function zr(m){return Rr(m,\"paint\")}function Xr(m){return Rr(m,\"layout\")}function di(m){var y=[],I=m.value,U=m.key,J=m.style,ne=m.styleSpec;!I.type&&!I.ref&&y.push(new fa(U,I,'either \"type\" or \"ref\" is required'));var fe=vo(I.type),Fe=vo(I.ref);if(I.id)for(var Qe=vo(I.id),st=0;st<m.arrayIndex;st++){var mt=J.layers[st];vo(mt.id)===Qe&&y.push(new fa(U,I.id,'duplicate layer id \"'+I.id+'\", previously used at line '+mt.id.__line__))}if(\"ref\"in I){[\"type\",\"source\",\"source-layer\",\"filter\",\"layout\"].forEach(function(Lr){Lr in I&&y.push(new fa(U,I[Lr],'\"'+Lr+'\" is prohibited for ref layers'))});var Xt;J.layers.forEach(function(Lr){vo(Lr.id)===Fe&&(Xt=Lr)}),Xt?Xt.ref?y.push(new fa(U,I.ref,\"ref cannot reference another ref layer\")):fe=vo(Xt.type):y.push(new fa(U,I.ref,'ref layer \"'+Fe+'\" not found'))}else if(fe!==\"background\")if(!I.source)y.push(new fa(U,I,'missing required property \"source\"'));else{var ur=J.sources&&J.sources[I.source],nr=ur&&vo(ur.type);ur?nr===\"vector\"&&fe===\"raster\"?y.push(new fa(U,I.source,'layer \"'+I.id+'\" requires a raster source')):nr===\"raster\"&&fe!==\"raster\"?y.push(new fa(U,I.source,'layer \"'+I.id+'\" requires a vector source')):nr===\"vector\"&&!I[\"source-layer\"]?y.push(new fa(U,I,'layer \"'+I.id+'\" must specify a \"source-layer\"')):nr===\"raster-dem\"&&fe!==\"hillshade\"?y.push(new fa(U,I.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):fe===\"line\"&&I.paint&&I.paint[\"line-gradient\"]&&(nr!==\"geojson\"||!ur.lineMetrics)&&y.push(new fa(U,I,'layer \"'+I.id+'\" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.')):y.push(new fa(U,I.source,'source \"'+I.source+'\" not found'))}return y=y.concat(se({key:U,value:I,valueSpec:ne.layer,style:m.style,styleSpec:m.styleSpec,objectElementValidators:{\"*\":function(){return[]},type:function(){return Wa({key:U+\".type\",value:I.type,valueSpec:ne.layer.type,style:m.style,styleSpec:m.styleSpec,object:I,objectKey:\"type\"})},filter:tr,layout:function(Yr){return se({layer:I,key:Yr.key,value:Yr.value,style:Yr.style,styleSpec:Yr.styleSpec,objectElementValidators:{\"*\":function(si){return Xr(Rl({layerType:fe},si))}}})},paint:function(Yr){return se({layer:I,key:Yr.key,value:Yr.value,style:Yr.style,styleSpec:Yr.styleSpec,objectElementValidators:{\"*\":function(si){return zr(Rl({layerType:fe},si))}}})}}})),y}function Li(m){var y=m.value,I=m.key,U=Ka(y);return U!==\"string\"?[new fa(I,y,\"string expected, \"+U+\" found\")]:[]}var Ci={promoteId:Mn};function Qi(m){var y=m.value,I=m.key,U=m.styleSpec,J=m.style;if(!y.type)return[new fa(I,y,'\"type\" is required')];var ne=vo(y.type),fe;switch(ne){case\"vector\":case\"raster\":case\"raster-dem\":return fe=se({key:I,value:y,valueSpec:U[\"source_\"+ne.replace(\"-\",\"_\")],style:m.style,styleSpec:U,objectElementValidators:Ci}),fe;case\"geojson\":if(fe=se({key:I,value:y,valueSpec:U.source_geojson,style:J,styleSpec:U,objectElementValidators:Ci}),y.cluster)for(var Fe in y.clusterProperties){var Qe=y.clusterProperties[Fe],st=Qe[0],mt=Qe[1],Xt=typeof st==\"string\"?[st,[\"accumulated\"],[\"get\",Fe]]:st;fe.push.apply(fe,yt({key:I+\".\"+Fe+\".map\",value:mt,expressionContext:\"cluster-map\"})),fe.push.apply(fe,yt({key:I+\".\"+Fe+\".reduce\",value:Xt,expressionContext:\"cluster-reduce\"}))}return fe;case\"video\":return se({key:I,value:y,valueSpec:U.source_video,style:J,styleSpec:U});case\"image\":return se({key:I,value:y,valueSpec:U.source_image,style:J,styleSpec:U});case\"canvas\":return[new fa(I,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return hr({key:I+\".type\",value:y.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:J,styleSpec:U})}}function Mn(m){var y=m.key,I=m.value;if(Ka(I)===\"string\")return Li({key:y,value:I});var U=[];for(var J in I)U.push.apply(U,Li({key:y+\".\"+J,value:I[J]}));return U}function pa(m){var y=m.value,I=m.styleSpec,U=I.light,J=m.style,ne=[],fe=Ka(y);if(y===void 0)return ne;if(fe!==\"object\")return ne=ne.concat([new fa(\"light\",y,\"object expected, \"+fe+\" found\")]),ne;for(var Fe in y){var Qe=Fe.match(/^(.*)-transition$/);Qe&&U[Qe[1]]&&U[Qe[1]].transition?ne=ne.concat(Wa({key:Fe,value:y[Fe],valueSpec:I.transition,style:J,styleSpec:I})):U[Fe]?ne=ne.concat(Wa({key:Fe,value:y[Fe],valueSpec:U[Fe],style:J,styleSpec:I})):ne=ne.concat([new fa(Fe,y[Fe],'unknown property \"'+Fe+'\"')])}return ne}function ea(m){return Li(m).length===0?[]:yt(m)}function Ga(m){return Li(m).length===0?[]:yt(m)}var To={\"*\":function(){return[]},array:qe,boolean:Ot,number:je,color:Nt,constants:Qu,enum:hr,filter:tr,function:it,layer:di,object:se,source:Qi,light:pa,string:Li,formatted:ea,resolvedImage:Ga};function Wa(m){var y=m.value,I=m.valueSpec,U=m.styleSpec;if(I.expression&&vs(vo(y)))return it(m);if(I.expression&&Da(Zl(y)))return yt(m);if(I.type&&To[I.type])return To[I.type](m);var J=se(Rl({},m,{valueSpec:I.type?U[I.type]:I}));return J}function co(m){var y=m.value,I=m.key,U=Li(m);return U.length||(y.indexOf(\"{fontstack}\")===-1&&U.push(new fa(I,y,'\"glyphs\" url must include a \"{fontstack}\" token')),y.indexOf(\"{range}\")===-1&&U.push(new fa(I,y,'\"glyphs\" url must include a \"{range}\" token'))),U}function Ro(m,y){y===void 0&&(y=on);var I=[];return I=I.concat(Wa({key:\"\",value:m,valueSpec:y.$root,styleSpec:y,style:m,objectElementValidators:{glyphs:co,\"*\":function(){return[]}}})),m.constants&&(I=I.concat(Qu({key:\"constants\",value:m.constants,style:m,styleSpec:y}))),Ds(I)}Ro.source=As(Qi),Ro.light=As(pa),Ro.layer=As(di),Ro.filter=As(tr),Ro.paintProperty=As(zr),Ro.layoutProperty=As(Xr);function Ds(m){return[].concat(m).sort(function(y,I){return y.line-I.line})}function As(m){return function(){for(var y=[],I=arguments.length;I--;)y[I]=arguments[I];return Ds(m.apply(this,y))}}var yo=Ro,po=yo.light,_l=yo.paintProperty,Hl=yo.layoutProperty;function Zu(m,y){var I=!1;if(y&&y.length)for(var U=0,J=y;U<J.length;U+=1){var ne=J[U];m.fire(new oa(new Error(ne.message))),I=!0}return I}var cu=au,el=3;function au(m,y,I){var U=this.cells=[];if(m instanceof ArrayBuffer){this.arrayBuffer=m;var J=new Int32Array(this.arrayBuffer);m=J[0],y=J[1],I=J[2],this.d=y+2*I;for(var ne=0;ne<this.d*this.d;ne++){var fe=J[el+ne],Fe=J[el+ne+1];U.push(fe===Fe?null:J.subarray(fe,Fe))}var Qe=J[el+U.length],st=J[el+U.length+1];this.keys=J.subarray(Qe,st),this.bboxes=J.subarray(st),this.insert=this._insertReadonly}else{this.d=y+2*I;for(var mt=0;mt<this.d*this.d;mt++)U.push([]);this.keys=[],this.bboxes=[]}this.n=y,this.extent=m,this.padding=I,this.scale=y/m,this.uid=0;var Xt=I/y*m;this.min=-Xt,this.max=m+Xt}au.prototype.insert=function(m,y,I,U,J){this._forEachCell(y,I,U,J,this._insertCell,this.uid++),this.keys.push(m),this.bboxes.push(y),this.bboxes.push(I),this.bboxes.push(U),this.bboxes.push(J)},au.prototype._insertReadonly=function(){throw\"Cannot insert into a GridIndex created from an ArrayBuffer.\"},au.prototype._insertCell=function(m,y,I,U,J,ne){this.cells[J].push(ne)},au.prototype.query=function(m,y,I,U,J){var ne=this.min,fe=this.max;if(m<=ne&&y<=ne&&fe<=I&&fe<=U&&!J)return Array.prototype.slice.call(this.keys);var Fe=[],Qe={};return this._forEachCell(m,y,I,U,this._queryCell,Fe,Qe,J),Fe},au.prototype._queryCell=function(m,y,I,U,J,ne,fe,Fe){var Qe=this.cells[J];if(Qe!==null)for(var st=this.keys,mt=this.bboxes,Xt=0;Xt<Qe.length;Xt++){var ur=Qe[Xt];if(fe[ur]===void 0){var nr=ur*4;(Fe?Fe(mt[nr+0],mt[nr+1],mt[nr+2],mt[nr+3]):m<=mt[nr+2]&&y<=mt[nr+3]&&I>=mt[nr+0]&&U>=mt[nr+1])?(fe[ur]=!0,ne.push(st[ur])):fe[ur]=!1}}},au.prototype._forEachCell=function(m,y,I,U,J,ne,fe,Fe){for(var Qe=this._convertToCellCoord(m),st=this._convertToCellCoord(y),mt=this._convertToCellCoord(I),Xt=this._convertToCellCoord(U),ur=Qe;ur<=mt;ur++)for(var nr=st;nr<=Xt;nr++){var Lr=this.d*nr+ur;if(!(Fe&&!Fe(this._convertFromCellCoord(ur),this._convertFromCellCoord(nr),this._convertFromCellCoord(ur+1),this._convertFromCellCoord(nr+1)))&&J.call(this,m,y,I,U,Lr,ne,fe,Fe))return}},au.prototype._convertFromCellCoord=function(m){return(m-this.padding)/this.scale},au.prototype._convertToCellCoord=function(m){return Math.max(0,Math.min(this.d-1,Math.floor(m*this.scale)+this.padding))},au.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var m=this.cells,y=el+this.cells.length+1+1,I=0,U=0;U<this.cells.length;U++)I+=this.cells[U].length;var J=new Int32Array(y+I+this.keys.length+this.bboxes.length);J[0]=this.extent,J[1]=this.n,J[2]=this.padding;for(var ne=y,fe=0;fe<m.length;fe++){var Fe=m[fe];J[el+fe]=ne,J.set(Fe,ne),ne+=Fe.length}return J[el+m.length]=ne,J.set(this.keys,ne),ne+=this.keys.length,J[el+m.length+1]=ne,J.set(this.bboxes,ne),ne+=this.bboxes.length,J.buffer};var zc=f.ImageData,zl=f.ImageBitmap,Fl={};function Z(m,y,I){I===void 0&&(I={}),Object.defineProperty(y,\"_classRegistryKey\",{value:m,writeable:!1}),Fl[m]={klass:y,omit:I.omit||[],shallow:I.shallow||[]}}Z(\"Object\",Object),cu.serialize=function(y,I){var U=y.toArrayBuffer();return I&&I.push(U),{buffer:U}},cu.deserialize=function(y){return new cu(y.buffer)},Z(\"Grid\",cu),Z(\"Color\",ss),Z(\"Error\",Error),Z(\"ResolvedImage\",Js),Z(\"StylePropertyFunction\",le),Z(\"StyleExpression\",Dc,{omit:[\"_evaluator\"]}),Z(\"ZoomDependentExpression\",yc),Z(\"ZoomConstantExpression\",Jc),Z(\"CompoundExpression\",Ja,{omit:[\"_evaluate\"]});for(var oe in Ua)Ua[oe]._classRegistryKey||Z(\"Expression_\"+oe,Ua[oe]);function we(m){return m&&typeof ArrayBuffer!=\"undefined\"&&(m instanceof ArrayBuffer||m.constructor&&m.constructor.name===\"ArrayBuffer\")}function Be(m){return zl&&m instanceof zl}function Ue(m,y){if(m==null||typeof m==\"boolean\"||typeof m==\"number\"||typeof m==\"string\"||m instanceof Boolean||m instanceof Number||m instanceof String||m instanceof Date||m instanceof RegExp)return m;if(we(m)||Be(m))return y&&y.push(m),m;if(ArrayBuffer.isView(m)){var I=m;return y&&y.push(I.buffer),I}if(m instanceof zc)return y&&y.push(m.data.buffer),m;if(Array.isArray(m)){for(var U=[],J=0,ne=m;J<ne.length;J+=1){var fe=ne[J];U.push(Ue(fe,y))}return U}if(typeof m==\"object\"){var Fe=m.constructor,Qe=Fe._classRegistryKey;if(!Qe)throw new Error(\"can't serialize object of unregistered class\");var st=Fe.serialize?Fe.serialize(m,y):{};if(!Fe.serialize){for(var mt in m)if(m.hasOwnProperty(mt)&&!(Fl[Qe].omit.indexOf(mt)>=0)){var Xt=m[mt];st[mt]=Fl[Qe].shallow.indexOf(mt)>=0?Xt:Ue(Xt,y)}m instanceof Error&&(st.message=m.message)}if(st.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return Qe!==\"Object\"&&(st.$name=Qe),st}throw new Error(\"can't serialize object of type \"+typeof m)}function We(m){if(m==null||typeof m==\"boolean\"||typeof m==\"number\"||typeof m==\"string\"||m instanceof Boolean||m instanceof Number||m instanceof String||m instanceof Date||m instanceof RegExp||we(m)||Be(m)||ArrayBuffer.isView(m)||m instanceof zc)return m;if(Array.isArray(m))return m.map(We);if(typeof m==\"object\"){var y=m.$name||\"Object\",I=Fl[y],U=I.klass;if(!U)throw new Error(\"can't deserialize unregistered class \"+y);if(U.deserialize)return U.deserialize(m);for(var J=Object.create(U.prototype),ne=0,fe=Object.keys(m);ne<fe.length;ne+=1){var Fe=fe[ne];if(Fe!==\"$name\"){var Qe=m[Fe];J[Fe]=Fl[y].shallow.indexOf(Fe)>=0?Qe:We(Qe)}}return J}throw new Error(\"can't deserialize object of type \"+typeof m)}var wt=function(){this.first=!0};wt.prototype.update=function(y,I){var U=Math.floor(y);return this.first?(this.first=!1,this.lastIntegerZoom=U,this.lastIntegerZoomTime=0,this.lastZoom=y,this.lastFloorZoom=U,!0):(this.lastFloorZoom>U?(this.lastIntegerZoom=U+1,this.lastIntegerZoomTime=I):this.lastFloorZoom<U&&(this.lastIntegerZoom=U,this.lastIntegerZoomTime=I),y!==this.lastZoom?(this.lastZoom=y,this.lastFloorZoom=U,!0):!1)};var tt={\"Latin-1 Supplement\":function(m){return m>=128&&m<=255},Arabic:function(m){return m>=1536&&m<=1791},\"Arabic Supplement\":function(m){return m>=1872&&m<=1919},\"Arabic Extended-A\":function(m){return m>=2208&&m<=2303},\"Hangul Jamo\":function(m){return m>=4352&&m<=4607},\"Unified Canadian Aboriginal Syllabics\":function(m){return m>=5120&&m<=5759},Khmer:function(m){return m>=6016&&m<=6143},\"Unified Canadian Aboriginal Syllabics Extended\":function(m){return m>=6320&&m<=6399},\"General Punctuation\":function(m){return m>=8192&&m<=8303},\"Letterlike Symbols\":function(m){return m>=8448&&m<=8527},\"Number Forms\":function(m){return m>=8528&&m<=8591},\"Miscellaneous Technical\":function(m){return m>=8960&&m<=9215},\"Control Pictures\":function(m){return m>=9216&&m<=9279},\"Optical Character Recognition\":function(m){return m>=9280&&m<=9311},\"Enclosed Alphanumerics\":function(m){return m>=9312&&m<=9471},\"Geometric Shapes\":function(m){return m>=9632&&m<=9727},\"Miscellaneous Symbols\":function(m){return m>=9728&&m<=9983},\"Miscellaneous Symbols and Arrows\":function(m){return m>=11008&&m<=11263},\"CJK Radicals Supplement\":function(m){return m>=11904&&m<=12031},\"Kangxi Radicals\":function(m){return m>=12032&&m<=12255},\"Ideographic Description Characters\":function(m){return m>=12272&&m<=12287},\"CJK Symbols and Punctuation\":function(m){return m>=12288&&m<=12351},Hiragana:function(m){return m>=12352&&m<=12447},Katakana:function(m){return m>=12448&&m<=12543},Bopomofo:function(m){return m>=12544&&m<=12591},\"Hangul Compatibility Jamo\":function(m){return m>=12592&&m<=12687},Kanbun:function(m){return m>=12688&&m<=12703},\"Bopomofo Extended\":function(m){return m>=12704&&m<=12735},\"CJK Strokes\":function(m){return m>=12736&&m<=12783},\"Katakana Phonetic Extensions\":function(m){return m>=12784&&m<=12799},\"Enclosed CJK Letters and Months\":function(m){return m>=12800&&m<=13055},\"CJK Compatibility\":function(m){return m>=13056&&m<=13311},\"CJK Unified Ideographs Extension A\":function(m){return m>=13312&&m<=19903},\"Yijing Hexagram Symbols\":function(m){return m>=19904&&m<=19967},\"CJK Unified Ideographs\":function(m){return m>=19968&&m<=40959},\"Yi Syllables\":function(m){return m>=40960&&m<=42127},\"Yi Radicals\":function(m){return m>=42128&&m<=42191},\"Hangul Jamo Extended-A\":function(m){return m>=43360&&m<=43391},\"Hangul Syllables\":function(m){return m>=44032&&m<=55215},\"Hangul Jamo Extended-B\":function(m){return m>=55216&&m<=55295},\"Private Use Area\":function(m){return m>=57344&&m<=63743},\"CJK Compatibility Ideographs\":function(m){return m>=63744&&m<=64255},\"Arabic Presentation Forms-A\":function(m){return m>=64336&&m<=65023},\"Vertical Forms\":function(m){return m>=65040&&m<=65055},\"CJK Compatibility Forms\":function(m){return m>=65072&&m<=65103},\"Small Form Variants\":function(m){return m>=65104&&m<=65135},\"Arabic Presentation Forms-B\":function(m){return m>=65136&&m<=65279},\"Halfwidth and Fullwidth Forms\":function(m){return m>=65280&&m<=65519}};function zt(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(Ir(U.charCodeAt(0)))return!0}return!1}function or(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(!lr(U.charCodeAt(0)))return!1}return!0}function lr(m){return!(tt.Arabic(m)||tt[\"Arabic Supplement\"](m)||tt[\"Arabic Extended-A\"](m)||tt[\"Arabic Presentation Forms-A\"](m)||tt[\"Arabic Presentation Forms-B\"](m))}function Dr(m){return m<11904?!1:!!(tt[\"Bopomofo Extended\"](m)||tt.Bopomofo(m)||tt[\"CJK Compatibility Forms\"](m)||tt[\"CJK Compatibility Ideographs\"](m)||tt[\"CJK Compatibility\"](m)||tt[\"CJK Radicals Supplement\"](m)||tt[\"CJK Strokes\"](m)||tt[\"CJK Symbols and Punctuation\"](m)||tt[\"CJK Unified Ideographs Extension A\"](m)||tt[\"CJK Unified Ideographs\"](m)||tt[\"Enclosed CJK Letters and Months\"](m)||tt[\"Halfwidth and Fullwidth Forms\"](m)||tt.Hiragana(m)||tt[\"Ideographic Description Characters\"](m)||tt[\"Kangxi Radicals\"](m)||tt[\"Katakana Phonetic Extensions\"](m)||tt.Katakana(m)||tt[\"Vertical Forms\"](m)||tt[\"Yi Radicals\"](m)||tt[\"Yi Syllables\"](m))}function Ir(m){return m===746||m===747?!0:m<4352?!1:!!(tt[\"Bopomofo Extended\"](m)||tt.Bopomofo(m)||tt[\"CJK Compatibility Forms\"](m)&&!(m>=65097&&m<=65103)||tt[\"CJK Compatibility Ideographs\"](m)||tt[\"CJK Compatibility\"](m)||tt[\"CJK Radicals Supplement\"](m)||tt[\"CJK Strokes\"](m)||tt[\"CJK Symbols and Punctuation\"](m)&&!(m>=12296&&m<=12305)&&!(m>=12308&&m<=12319)&&m!==12336||tt[\"CJK Unified Ideographs Extension A\"](m)||tt[\"CJK Unified Ideographs\"](m)||tt[\"Enclosed CJK Letters and Months\"](m)||tt[\"Hangul Compatibility Jamo\"](m)||tt[\"Hangul Jamo Extended-A\"](m)||tt[\"Hangul Jamo Extended-B\"](m)||tt[\"Hangul Jamo\"](m)||tt[\"Hangul Syllables\"](m)||tt.Hiragana(m)||tt[\"Ideographic Description Characters\"](m)||tt.Kanbun(m)||tt[\"Kangxi Radicals\"](m)||tt[\"Katakana Phonetic Extensions\"](m)||tt.Katakana(m)&&m!==12540||tt[\"Halfwidth and Fullwidth Forms\"](m)&&m!==65288&&m!==65289&&m!==65293&&!(m>=65306&&m<=65310)&&m!==65339&&m!==65341&&m!==65343&&!(m>=65371&&m<=65503)&&m!==65507&&!(m>=65512&&m<=65519)||tt[\"Small Form Variants\"](m)&&!(m>=65112&&m<=65118)&&!(m>=65123&&m<=65126)||tt[\"Unified Canadian Aboriginal Syllabics\"](m)||tt[\"Unified Canadian Aboriginal Syllabics Extended\"](m)||tt[\"Vertical Forms\"](m)||tt[\"Yijing Hexagram Symbols\"](m)||tt[\"Yi Syllables\"](m)||tt[\"Yi Radicals\"](m))}function oi(m){return!!(tt[\"Latin-1 Supplement\"](m)&&(m===167||m===169||m===174||m===177||m===188||m===189||m===190||m===215||m===247)||tt[\"General Punctuation\"](m)&&(m===8214||m===8224||m===8225||m===8240||m===8241||m===8251||m===8252||m===8258||m===8263||m===8264||m===8265||m===8273)||tt[\"Letterlike Symbols\"](m)||tt[\"Number Forms\"](m)||tt[\"Miscellaneous Technical\"](m)&&(m>=8960&&m<=8967||m>=8972&&m<=8991||m>=8996&&m<=9e3||m===9003||m>=9085&&m<=9114||m>=9150&&m<=9165||m===9167||m>=9169&&m<=9179||m>=9186&&m<=9215)||tt[\"Control Pictures\"](m)&&m!==9251||tt[\"Optical Character Recognition\"](m)||tt[\"Enclosed Alphanumerics\"](m)||tt[\"Geometric Shapes\"](m)||tt[\"Miscellaneous Symbols\"](m)&&!(m>=9754&&m<=9759)||tt[\"Miscellaneous Symbols and Arrows\"](m)&&(m>=11026&&m<=11055||m>=11088&&m<=11097||m>=11192&&m<=11243)||tt[\"CJK Symbols and Punctuation\"](m)||tt.Katakana(m)||tt[\"Private Use Area\"](m)||tt[\"CJK Compatibility Forms\"](m)||tt[\"Small Form Variants\"](m)||tt[\"Halfwidth and Fullwidth Forms\"](m)||m===8734||m===8756||m===8757||m>=9984&&m<=10087||m>=10102&&m<=10131||m===65532||m===65533)}function ui(m){return!(Ir(m)||oi(m))}function qr(m){return tt.Arabic(m)||tt[\"Arabic Supplement\"](m)||tt[\"Arabic Extended-A\"](m)||tt[\"Arabic Presentation Forms-A\"](m)||tt[\"Arabic Presentation Forms-B\"](m)}function Kr(m){return m>=1424&&m<=2303||tt[\"Arabic Presentation Forms-A\"](m)||tt[\"Arabic Presentation Forms-B\"](m)}function ii(m,y){return!(!y&&Kr(m)||m>=2304&&m<=3583||m>=3840&&m<=4255||tt.Khmer(m))}function vi(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(Kr(U.charCodeAt(0)))return!0}return!1}function ci(m,y){for(var I=0,U=m;I<U.length;I+=1){var J=U[I];if(!ii(J.charCodeAt(0),y))return!1}return!0}var Jr={unavailable:\"unavailable\",deferred:\"deferred\",loading:\"loading\",loaded:\"loaded\",error:\"error\"},un=null,dn=Jr.unavailable,En=null,Nn=function(m){m&&typeof m==\"string\"&&m.indexOf(\"NetworkError\")>-1&&(dn=Jr.error),un&&un(m)};function ga(){ya.fire(new jo(\"pluginStateChange\",{pluginStatus:dn,pluginURL:En}))}var ya=new Sn,so=function(){return dn},wa=function(m){return m({pluginStatus:dn,pluginURL:En}),ya.on(\"pluginStateChange\",m),m},io=function(m,y,I){if(I===void 0&&(I=!1),dn===Jr.deferred||dn===Jr.loading||dn===Jr.loaded)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");En=nt.resolveURL(m),dn=Jr.deferred,un=y,ga(),I||Ss()},Ss=function(){if(dn!==Jr.deferred||!En)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");dn=Jr.loading,ga(),En&&Zr({url:En},function(m){m?Nn(m):(dn=Jr.loaded,ga())})},_s={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return dn===Jr.loaded||_s.applyArabicShaping!=null},isLoading:function(){return dn===Jr.loading},setState:function(y){dn=y.pluginStatus,En=y.pluginURL},isParsed:function(){return _s.applyArabicShaping!=null&&_s.processBidirectionalText!=null&&_s.processStyledBidirectionalText!=null},getPluginURL:function(){return En}},Ns=function(){!_s.isLoading()&&!_s.isLoaded()&&so()===\"deferred\"&&Ss()},pn=function(y,I){this.zoom=y,I?(this.now=I.now,this.fadeDuration=I.fadeDuration,this.zoomHistory=I.zoomHistory,this.transition=I.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new wt,this.transition={})};pn.prototype.isSupportedScript=function(y){return ci(y,_s.isLoaded())},pn.prototype.crossFadingFactor=function(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},pn.prototype.getCrossfadeParameters=function(){var y=this.zoom,I=y-Math.floor(y),U=this.crossFadingFactor();return y>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:I+(1-I)*U}:{fromScale:.5,toScale:1,t:1-(1-U)*I}};var za=function(y,I){this.property=y,this.value=I,this.expression=w(I===void 0?y.specification.default:I,y.specification)};za.prototype.isDataDriven=function(){return this.expression.kind===\"source\"||this.expression.kind===\"composite\"},za.prototype.possiblyEvaluate=function(y,I,U){return this.property.possiblyEvaluate(this,y,I,U)};var Lo=function(y){this.property=y,this.value=new za(y,void 0)};Lo.prototype.transitioned=function(y,I){return new js(this.property,this.value,I,_({},y.transition,this.transition),y.now)},Lo.prototype.untransitioned=function(){return new js(this.property,this.value,null,{},0)};var Fo=function(y){this._properties=y,this._values=Object.create(y.defaultTransitionablePropertyValues)};Fo.prototype.getValue=function(y){return G(this._values[y].value.value)},Fo.prototype.setValue=function(y,I){this._values.hasOwnProperty(y)||(this._values[y]=new Lo(this._values[y].property)),this._values[y].value=new za(this._values[y].property,I===null?void 0:G(I))},Fo.prototype.getTransition=function(y){return G(this._values[y].transition)},Fo.prototype.setTransition=function(y,I){this._values.hasOwnProperty(y)||(this._values[y]=new Lo(this._values[y].property)),this._values[y].transition=G(I)||void 0},Fo.prototype.serialize=function(){for(var y={},I=0,U=Object.keys(this._values);I<U.length;I+=1){var J=U[I],ne=this.getValue(J);ne!==void 0&&(y[J]=ne);var fe=this.getTransition(J);fe!==void 0&&(y[J+\"-transition\"]=fe)}return y},Fo.prototype.transitioned=function(y,I){for(var U=new xl(this._properties),J=0,ne=Object.keys(this._values);J<ne.length;J+=1){var fe=ne[J];U._values[fe]=this._values[fe].transitioned(y,I._values[fe])}return U},Fo.prototype.untransitioned=function(){for(var y=new xl(this._properties),I=0,U=Object.keys(this._values);I<U.length;I+=1){var J=U[I];y._values[J]=this._values[J].untransitioned()}return y};var js=function(y,I,U,J,ne){this.property=y,this.value=I,this.begin=ne+J.delay||0,this.end=this.begin+J.duration||0,y.specification.transition&&(J.delay||J.duration)&&(this.prior=U)};js.prototype.possiblyEvaluate=function(y,I,U){var J=y.now||0,ne=this.value.possiblyEvaluate(y,I,U),fe=this.prior;if(fe){if(J>this.end)return this.prior=null,ne;if(this.value.isDataDriven())return this.prior=null,ne;if(J<this.begin)return fe.possiblyEvaluate(y,I,U);var Fe=(J-this.begin)/(this.end-this.begin);return this.property.interpolate(fe.possiblyEvaluate(y,I,U),ne,v(Fe))}else return ne};var xl=function(y){this._properties=y,this._values=Object.create(y.defaultTransitioningPropertyValues)};xl.prototype.possiblyEvaluate=function(y,I,U){for(var J=new xc(this._properties),ne=0,fe=Object.keys(this._values);ne<fe.length;ne+=1){var Fe=fe[ne];J._values[Fe]=this._values[Fe].possiblyEvaluate(y,I,U)}return J},xl.prototype.hasTransition=function(){for(var y=0,I=Object.keys(this._values);y<I.length;y+=1){var U=I[y];if(this._values[U].prior)return!0}return!1};var fu=function(y){this._properties=y,this._values=Object.create(y.defaultPropertyValues)};fu.prototype.getValue=function(y){return G(this._values[y].value)},fu.prototype.setValue=function(y,I){this._values[y]=new za(this._values[y].property,I===null?void 0:G(I))},fu.prototype.serialize=function(){for(var y={},I=0,U=Object.keys(this._values);I<U.length;I+=1){var J=U[I],ne=this.getValue(J);ne!==void 0&&(y[J]=ne)}return y},fu.prototype.possiblyEvaluate=function(y,I,U){for(var J=new xc(this._properties),ne=0,fe=Object.keys(this._values);ne<fe.length;ne+=1){var Fe=fe[ne];J._values[Fe]=this._values[Fe].possiblyEvaluate(y,I,U)}return J};var dl=function(y,I,U){this.property=y,this.value=I,this.parameters=U};dl.prototype.isConstant=function(){return this.value.kind===\"constant\"},dl.prototype.constantOr=function(y){return this.value.kind===\"constant\"?this.value.value:y},dl.prototype.evaluate=function(y,I,U,J){return this.property.evaluate(this.value,this.parameters,y,I,U,J)};var xc=function(y){this._properties=y,this._values=Object.create(y.defaultPossiblyEvaluatedValues)};xc.prototype.get=function(y){return this._values[y]};var At=function(y){this.specification=y};At.prototype.possiblyEvaluate=function(y,I){return y.expression.evaluate(I)},At.prototype.interpolate=function(y,I,U){var J=Gu[this.specification.type];return J?J(y,I,U):y};var Er=function(y,I){this.specification=y,this.overrides=I};Er.prototype.possiblyEvaluate=function(y,I,U,J){return y.expression.kind===\"constant\"||y.expression.kind===\"camera\"?new dl(this,{kind:\"constant\",value:y.expression.evaluate(I,null,{},U,J)},I):new dl(this,y.expression,I)},Er.prototype.interpolate=function(y,I,U){if(y.value.kind!==\"constant\"||I.value.kind!==\"constant\")return y;if(y.value.value===void 0||I.value.value===void 0)return new dl(this,{kind:\"constant\",value:void 0},y.parameters);var J=Gu[this.specification.type];return J?new dl(this,{kind:\"constant\",value:J(y.value.value,I.value.value,U)},y.parameters):y},Er.prototype.evaluate=function(y,I,U,J,ne,fe){return y.kind===\"constant\"?y.value:y.evaluate(I,U,J,ne,fe)};var Wr=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.possiblyEvaluate=function(U,J,ne,fe){if(U.value===void 0)return new dl(this,{kind:\"constant\",value:void 0},J);if(U.expression.kind===\"constant\"){var Fe=U.expression.evaluate(J,null,{},ne,fe),Qe=U.property.specification.type===\"resolvedImage\",st=Qe&&typeof Fe!=\"string\"?Fe.name:Fe,mt=this._calculate(st,st,st,J);return new dl(this,{kind:\"constant\",value:mt},J)}else if(U.expression.kind===\"camera\"){var Xt=this._calculate(U.expression.evaluate({zoom:J.zoom-1}),U.expression.evaluate({zoom:J.zoom}),U.expression.evaluate({zoom:J.zoom+1}),J);return new dl(this,{kind:\"constant\",value:Xt},J)}else return new dl(this,U.expression,J)},y.prototype.evaluate=function(U,J,ne,fe,Fe,Qe){if(U.kind===\"source\"){var st=U.evaluate(J,ne,fe,Fe,Qe);return this._calculate(st,st,st,J)}else return U.kind===\"composite\"?this._calculate(U.evaluate({zoom:Math.floor(J.zoom)-1},ne,fe),U.evaluate({zoom:Math.floor(J.zoom)},ne,fe),U.evaluate({zoom:Math.floor(J.zoom)+1},ne,fe),J):U.value},y.prototype._calculate=function(U,J,ne,fe){var Fe=fe.zoom;return Fe>fe.zoomHistory.lastIntegerZoom?{from:U,to:J}:{from:ne,to:J}},y.prototype.interpolate=function(U){return U},y}(Er),wi=function(y){this.specification=y};wi.prototype.possiblyEvaluate=function(y,I,U,J){if(y.value!==void 0)if(y.expression.kind===\"constant\"){var ne=y.expression.evaluate(I,null,{},U,J);return this._calculate(ne,ne,ne,I)}else return this._calculate(y.expression.evaluate(new pn(Math.floor(I.zoom-1),I)),y.expression.evaluate(new pn(Math.floor(I.zoom),I)),y.expression.evaluate(new pn(Math.floor(I.zoom+1),I)),I)},wi.prototype._calculate=function(y,I,U,J){var ne=J.zoom;return ne>J.zoomHistory.lastIntegerZoom?{from:y,to:I}:{from:U,to:I}},wi.prototype.interpolate=function(y){return y};var Ui=function(y){this.specification=y};Ui.prototype.possiblyEvaluate=function(y,I,U,J){return!!y.expression.evaluate(I,null,{},U,J)},Ui.prototype.interpolate=function(){return!1};var Oi=function(y){this.properties=y,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(var I in y){var U=y[I];U.specification.overridable&&this.overridableProperties.push(I);var J=this.defaultPropertyValues[I]=new za(U,void 0),ne=this.defaultTransitionablePropertyValues[I]=new Lo(U);this.defaultTransitioningPropertyValues[I]=ne.untransitioned(),this.defaultPossiblyEvaluatedValues[I]=J.possiblyEvaluate({})}};Z(\"DataDrivenProperty\",Er),Z(\"DataConstantProperty\",At),Z(\"CrossFadedDataDrivenProperty\",Wr),Z(\"CrossFadedProperty\",wi),Z(\"ColorRampProperty\",Ui);var Bi=\"-transition\",cn=function(m){function y(I,U){if(m.call(this),this.id=I.id,this.type=I.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},I.type!==\"custom\"&&(I=I,this.metadata=I.metadata,this.minzoom=I.minzoom,this.maxzoom=I.maxzoom,I.type!==\"background\"&&(this.source=I.source,this.sourceLayer=I[\"source-layer\"],this.filter=I.filter),U.layout&&(this._unevaluatedLayout=new fu(U.layout)),U.paint)){this._transitionablePaint=new Fo(U.paint);for(var J in I.paint)this.setPaintProperty(J,I.paint[J],{validate:!1});for(var ne in I.layout)this.setLayoutProperty(ne,I.layout[ne],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new xc(U.paint)}}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},y.prototype.getLayoutProperty=function(U){return U===\"visibility\"?this.visibility:this._unevaluatedLayout.getValue(U)},y.prototype.setLayoutProperty=function(U,J,ne){if(ne===void 0&&(ne={}),J!=null){var fe=\"layers.\"+this.id+\".layout.\"+U;if(this._validate(Hl,fe,U,J,ne))return}if(U===\"visibility\"){this.visibility=J;return}this._unevaluatedLayout.setValue(U,J)},y.prototype.getPaintProperty=function(U){return V(U,Bi)?this._transitionablePaint.getTransition(U.slice(0,-Bi.length)):this._transitionablePaint.getValue(U)},y.prototype.setPaintProperty=function(U,J,ne){if(ne===void 0&&(ne={}),J!=null){var fe=\"layers.\"+this.id+\".paint.\"+U;if(this._validate(_l,fe,U,J,ne))return!1}if(V(U,Bi))return this._transitionablePaint.setTransition(U.slice(0,-Bi.length),J||void 0),!1;var Fe=this._transitionablePaint._values[U],Qe=Fe.property.specification[\"property-type\"]===\"cross-faded-data-driven\",st=Fe.value.isDataDriven(),mt=Fe.value;this._transitionablePaint.setValue(U,J),this._handleSpecialPaintPropertyUpdate(U);var Xt=this._transitionablePaint._values[U].value,ur=Xt.isDataDriven();return ur||st||Qe||this._handleOverridablePaintPropertyUpdate(U,mt,Xt)},y.prototype._handleSpecialPaintPropertyUpdate=function(U){},y.prototype._handleOverridablePaintPropertyUpdate=function(U,J,ne){return!1},y.prototype.isHidden=function(U){return this.minzoom&&U<this.minzoom||this.maxzoom&&U>=this.maxzoom?!0:this.visibility===\"none\"},y.prototype.updateTransitions=function(U){this._transitioningPaint=this._transitionablePaint.transitioned(U,this._transitioningPaint)},y.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},y.prototype.recalculate=function(U,J){U.getCrossfadeParameters&&(this._crossfadeParameters=U.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(U,void 0,J)),this.paint=this._transitioningPaint.possiblyEvaluate(U,void 0,J)},y.prototype.serialize=function(){var U={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&&(U.layout=U.layout||{},U.layout.visibility=this.visibility),X(U,function(J,ne){return J!==void 0&&!(ne===\"layout\"&&!Object.keys(J).length)&&!(ne===\"paint\"&&!Object.keys(J).length)})},y.prototype._validate=function(U,J,ne,fe,Fe){return Fe===void 0&&(Fe={}),Fe&&Fe.validate===!1?!1:Zu(this,U.call(yo,{key:J,layerType:this.type,objectKey:ne,value:fe,styleSpec:on,style:{glyphs:!0,sprite:!0}}))},y.prototype.is3D=function(){return!1},y.prototype.isTileClipped=function(){return!1},y.prototype.hasOffscreenPass=function(){return!1},y.prototype.resize=function(){},y.prototype.isStateDependent=function(){for(var U in this.paint._values){var J=this.paint.get(U);if(!(!(J instanceof dl)||!Gs(J.property.specification))&&(J.value.kind===\"source\"||J.value.kind===\"composite\")&&J.value.isStateDependent)return!0}return!1},y}(Sn),On={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Bn=function(y,I){this._structArray=y,this._pos1=I*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},yn=128,to=5,Rn=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};Rn.serialize=function(y,I){return y._trim(),I&&(y.isTransferred=!0,I.push(y.arrayBuffer)),{length:y.length,arrayBuffer:y.arrayBuffer}},Rn.deserialize=function(y){var I=Object.create(this.prototype);return I.arrayBuffer=y.arrayBuffer,I.length=y.length,I.capacity=y.arrayBuffer.byteLength/I.bytesPerElement,I._refreshViews(),I},Rn.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Rn.prototype.clear=function(){this.length=0},Rn.prototype.resize=function(y){this.reserve(y),this.length=y},Rn.prototype.reserve=function(y){if(y>this.capacity){this.capacity=Math.max(y,Math.floor(this.capacity*to),yn),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var I=this.uint8;this._refreshViews(),I&&this.uint8.set(I)}},Rn.prototype._refreshViews=function(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")};function Dn(m,y){y===void 0&&(y=1);var I=0,U=0,J=m.map(function(fe){var Fe=fn(fe.type),Qe=I=Ai(I,Math.max(y,Fe)),st=fe.components||1;return U=Math.max(U,Fe),I+=Fe*st,{name:fe.name,type:fe.type,components:st,offset:Qe}}),ne=Ai(I,Math.max(U,y));return{members:J,size:ne,alignment:y}}function fn(m){return On[m].BYTES_PER_ELEMENT}function Ai(m,y){return Math.ceil(m/y)*y}var ji=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.int16[fe+0]=J,this.int16[fe+1]=ne,U},y}(Rn);ji.prototype.bytesPerElement=4,Z(\"StructArrayLayout2i4\",ji);var Ln=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*4;return this.int16[Qe+0]=J,this.int16[Qe+1]=ne,this.int16[Qe+2]=fe,this.int16[Qe+3]=Fe,U},y}(Rn);Ln.prototype.bytesPerElement=8,Z(\"StructArrayLayout4i8\",Ln);var Un=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*6;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.int16[mt+2]=fe,this.int16[mt+3]=Fe,this.int16[mt+4]=Qe,this.int16[mt+5]=st,U},y}(Rn);Un.prototype.bytesPerElement=12,Z(\"StructArrayLayout2i4i12\",Un);var gn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*4,Xt=U*8;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.uint8[Xt+4]=fe,this.uint8[Xt+5]=Fe,this.uint8[Xt+6]=Qe,this.uint8[Xt+7]=st,U},y}(Rn);gn.prototype.bytesPerElement=8,Z(\"StructArrayLayout2i4ub8\",gn);var ca=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.float32[fe+0]=J,this.float32[fe+1]=ne,U},y}(Rn);ca.prototype.bytesPerElement=8,Z(\"StructArrayLayout2f8\",ca);var Kn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){var nr=this.length;return this.resize(nr+1),this.emplace(nr,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr){var Lr=U*10;return this.uint16[Lr+0]=J,this.uint16[Lr+1]=ne,this.uint16[Lr+2]=fe,this.uint16[Lr+3]=Fe,this.uint16[Lr+4]=Qe,this.uint16[Lr+5]=st,this.uint16[Lr+6]=mt,this.uint16[Lr+7]=Xt,this.uint16[Lr+8]=ur,this.uint16[Lr+9]=nr,U},y}(Rn);Kn.prototype.bytesPerElement=20,Z(\"StructArrayLayout10ui20\",Kn);var Za=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr){var Yr=this.length;return this.resize(Yr+1),this.emplace(Yr,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr){var _i=U*12;return this.int16[_i+0]=J,this.int16[_i+1]=ne,this.int16[_i+2]=fe,this.int16[_i+3]=Fe,this.uint16[_i+4]=Qe,this.uint16[_i+5]=st,this.uint16[_i+6]=mt,this.uint16[_i+7]=Xt,this.int16[_i+8]=ur,this.int16[_i+9]=nr,this.int16[_i+10]=Lr,this.int16[_i+11]=Yr,U},y}(Rn);Za.prototype.bytesPerElement=24,Z(\"StructArrayLayout4i4ui4i24\",Za);var wn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.float32[Fe+0]=J,this.float32[Fe+1]=ne,this.float32[Fe+2]=fe,U},y}(Rn);wn.prototype.bytesPerElement=12,Z(\"StructArrayLayout3f12\",wn);var vn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.uint32[ne+0]=J,U},y}(Rn);vn.prototype.bytesPerElement=4,Z(\"StructArrayLayout1ul4\",vn);var Aa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.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)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt){var ur=this.length;return this.resize(ur+1),this.emplace(ur,U,J,ne,fe,Fe,Qe,st,mt,Xt)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){var nr=U*10,Lr=U*5;return this.int16[nr+0]=J,this.int16[nr+1]=ne,this.int16[nr+2]=fe,this.int16[nr+3]=Fe,this.int16[nr+4]=Qe,this.int16[nr+5]=st,this.uint32[Lr+3]=mt,this.uint16[nr+8]=Xt,this.uint16[nr+9]=ur,U},y}(Rn);Aa.prototype.bytesPerElement=20,Z(\"StructArrayLayout6i1ul2ui20\",Aa);var aa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*6;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.int16[mt+2]=fe,this.int16[mt+3]=Fe,this.int16[mt+4]=Qe,this.int16[mt+5]=st,U},y}(Rn);aa.prototype.bytesPerElement=12,Z(\"StructArrayLayout2i2i2i12\",aa);var Xn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe){var Qe=this.length;return this.resize(Qe+1),this.emplace(Qe,U,J,ne,fe,Fe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe){var st=U*4,mt=U*8;return this.float32[st+0]=J,this.float32[st+1]=ne,this.float32[st+2]=fe,this.int16[mt+6]=Fe,this.int16[mt+7]=Qe,U},y}(Rn);Xn.prototype.bytesPerElement=16,Z(\"StructArrayLayout2f1f2i16\",Xn);var Vn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*12,st=U*3;return this.uint8[Qe+0]=J,this.uint8[Qe+1]=ne,this.float32[st+1]=fe,this.float32[st+2]=Fe,U},y}(Rn);Vn.prototype.bytesPerElement=12,Z(\"StructArrayLayout2ub2f12\",Vn);var ma=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.uint16[Fe+0]=J,this.uint16[Fe+1]=ne,this.uint16[Fe+2]=fe,U},y}(Rn);ma.prototype.bytesPerElement=6,Z(\"StructArrayLayout3ui6\",ma);var ro=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.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)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei){var Vi=this.length;return this.resize(Vi+1),this.emplace(Vi,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi){var en=U*24,An=U*12,ra=U*48;return this.int16[en+0]=J,this.int16[en+1]=ne,this.uint16[en+2]=fe,this.uint16[en+3]=Fe,this.uint32[An+2]=Qe,this.uint32[An+3]=st,this.uint32[An+4]=mt,this.uint16[en+10]=Xt,this.uint16[en+11]=ur,this.uint16[en+12]=nr,this.float32[An+7]=Lr,this.float32[An+8]=Yr,this.uint8[ra+36]=_i,this.uint8[ra+37]=si,this.uint8[ra+38]=Hi,this.uint32[An+10]=Ei,this.int16[en+22]=Vi,U},y}(Rn);ro.prototype.bytesPerElement=48,Z(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",ro);var Ao=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.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)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,_a,Pa,qo,Na,ja){var us=this.length;return this.resize(us+1),this.emplace(us,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,_a,Pa,qo,Na,ja)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,_a,Pa,qo,Na,ja,us){var zo=U*34,rl=U*17;return this.int16[zo+0]=J,this.int16[zo+1]=ne,this.int16[zo+2]=fe,this.int16[zo+3]=Fe,this.int16[zo+4]=Qe,this.int16[zo+5]=st,this.int16[zo+6]=mt,this.int16[zo+7]=Xt,this.uint16[zo+8]=ur,this.uint16[zo+9]=nr,this.uint16[zo+10]=Lr,this.uint16[zo+11]=Yr,this.uint16[zo+12]=_i,this.uint16[zo+13]=si,this.uint16[zo+14]=Hi,this.uint16[zo+15]=Ei,this.uint16[zo+16]=Vi,this.uint16[zo+17]=en,this.uint16[zo+18]=An,this.uint16[zo+19]=ra,this.uint16[zo+20]=$n,this.uint16[zo+21]=Ba,this.uint16[zo+22]=_a,this.uint32[rl+12]=Pa,this.float32[rl+13]=qo,this.float32[rl+14]=Na,this.float32[rl+15]=ja,this.float32[rl+16]=us,U},y}(Rn);Ao.prototype.bytesPerElement=68,Z(\"StructArrayLayout8i15ui1ul4f68\",Ao);var Jn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.float32[ne+0]=J,U},y}(Rn);Jn.prototype.bytesPerElement=4,Z(\"StructArrayLayout1f4\",Jn);var Oa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.int16[Fe+0]=J,this.int16[Fe+1]=ne,this.int16[Fe+2]=fe,U},y}(Rn);Oa.prototype.bytesPerElement=6,Z(\"StructArrayLayout3i6\",Oa);var _o=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*2,Qe=U*4;return this.uint32[Fe+0]=J,this.uint16[Qe+2]=ne,this.uint16[Qe+3]=fe,U},y}(Rn);_o.prototype.bytesPerElement=8,Z(\"StructArrayLayout1ul2ui8\",_o);var Po=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.uint16[fe+0]=J,this.uint16[fe+1]=ne,U},y}(Rn);Po.prototype.bytesPerElement=4,Z(\"StructArrayLayout2ui4\",Po);var Jo=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.uint16[ne+0]=J,U},y}(Rn);Jo.prototype.bytesPerElement=2,Z(\"StructArrayLayout1ui2\",Jo);var Yl=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*4;return this.float32[Qe+0]=J,this.float32[Qe+1]=ne,this.float32[Qe+2]=fe,this.float32[Qe+3]=Fe,U},y}(Rn);Yl.prototype.bytesPerElement=16,Z(\"StructArrayLayout4f16\",Yl);var $c=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={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 I.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},I.x1.get=function(){return this._structArray.int16[this._pos2+2]},I.y1.get=function(){return this._structArray.int16[this._pos2+3]},I.x2.get=function(){return this._structArray.int16[this._pos2+4]},I.y2.get=function(){return this._structArray.int16[this._pos2+5]},I.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},I.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},I.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},I.anchorPoint.get=function(){return new u(this.anchorPointX,this.anchorPointY)},Object.defineProperties(y.prototype,I),y}(Bn);$c.prototype.size=20;var xs=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new $c(this,U)},y}(Aa);Z(\"CollisionBoxArray\",xs);var Qc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={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 I.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},I.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},I.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},I.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},I.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},I.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},I.segment.get=function(){return this._structArray.uint16[this._pos2+10]},I.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},I.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},I.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},I.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},I.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},I.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},I.placedOrientation.set=function(U){this._structArray.uint8[this._pos1+37]=U},I.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},I.hidden.set=function(U){this._structArray.uint8[this._pos1+38]=U},I.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},I.crossTileID.set=function(U){this._structArray.uint32[this._pos4+10]=U},I.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(y.prototype,I),y}(Bn);Qc.prototype.size=48;var El=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new Qc(this,U)},y}(ro);Z(\"PlacedSymbolArray\",El);var bc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={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 I.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},I.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},I.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},I.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},I.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},I.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},I.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},I.key.get=function(){return this._structArray.uint16[this._pos2+8]},I.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},I.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},I.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},I.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},I.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},I.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},I.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},I.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},I.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},I.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},I.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},I.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},I.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},I.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},I.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},I.crossTileID.set=function(U){this._structArray.uint32[this._pos4+12]=U},I.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},I.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},I.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},I.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(y.prototype,I),y}(Bn);bc.prototype.size=68;var wc=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new bc(this,U)},y}(Ao);Z(\"SymbolInstanceArray\",wc);var yf=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getoffsetX=function(U){return this.float32[U*1+0]},y}(Jn);Z(\"GlyphOffsetArray\",yf);var Gl=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getx=function(U){return this.int16[U*3+0]},y.prototype.gety=function(U){return this.int16[U*3+1]},y.prototype.gettileUnitDistanceFromAnchor=function(U){return this.int16[U*3+2]},y}(Oa);Z(\"SymbolLineVertexArray\",Gl);var Fc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return I.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},I.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},I.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(y.prototype,I),y}(Bn);Fc.prototype.size=8;var ef=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new Fc(this,U)},y}(_o);Z(\"FeatureIndexArray\",ef);var ls=Dn([{name:\"a_pos\",components:2,type:\"Int16\"}],4),_f=ls.members,ns=function(y){y===void 0&&(y=[]),this.segments=y};ns.prototype.prepareSegment=function(y,I,U,J){var ne=this.segments[this.segments.length-1];return y>ns.MAX_VERTEX_ARRAY_LENGTH&&re(\"Max vertices per segment is \"+ns.MAX_VERTEX_ARRAY_LENGTH+\": bucket requested \"+y),(!ne||ne.vertexLength+y>ns.MAX_VERTEX_ARRAY_LENGTH||ne.sortKey!==J)&&(ne={vertexOffset:I.length,primitiveOffset:U.length,vertexLength:0,primitiveLength:0},J!==void 0&&(ne.sortKey=J),this.segments.push(ne)),ne},ns.prototype.get=function(){return this.segments},ns.prototype.destroy=function(){for(var y=0,I=this.segments;y<I.length;y+=1){var U=I[y];for(var J in U.vaos)U.vaos[J].destroy()}},ns.simpleSegment=function(y,I,U,J){return new ns([{vertexOffset:y,primitiveOffset:I,vertexLength:U,primitiveLength:J,vaos:{},sortKey:0}])},ns.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Z(\"SegmentVector\",ns);function Y(m,y){return m=p(Math.floor(m),0,255),y=p(Math.floor(y),0,255),256*m+y}var z=Dn([{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\"}]),K=a(function(m){function y(I,U){var J,ne,fe,Fe,Qe,st,mt,Xt;for(J=I.length&3,ne=I.length-J,fe=U,Qe=3432918353,st=461845907,Xt=0;Xt<ne;)mt=I.charCodeAt(Xt)&255|(I.charCodeAt(++Xt)&255)<<8|(I.charCodeAt(++Xt)&255)<<16|(I.charCodeAt(++Xt)&255)<<24,++Xt,mt=(mt&65535)*Qe+(((mt>>>16)*Qe&65535)<<16)&4294967295,mt=mt<<15|mt>>>17,mt=(mt&65535)*st+(((mt>>>16)*st&65535)<<16)&4294967295,fe^=mt,fe=fe<<13|fe>>>19,Fe=(fe&65535)*5+(((fe>>>16)*5&65535)<<16)&4294967295,fe=(Fe&65535)+27492+(((Fe>>>16)+58964&65535)<<16);switch(mt=0,J){case 3:mt^=(I.charCodeAt(Xt+2)&255)<<16;case 2:mt^=(I.charCodeAt(Xt+1)&255)<<8;case 1:mt^=I.charCodeAt(Xt)&255,mt=(mt&65535)*Qe+(((mt>>>16)*Qe&65535)<<16)&4294967295,mt=mt<<15|mt>>>17,mt=(mt&65535)*st+(((mt>>>16)*st&65535)<<16)&4294967295,fe^=mt}return fe^=I.length,fe^=fe>>>16,fe=(fe&65535)*2246822507+(((fe>>>16)*2246822507&65535)<<16)&4294967295,fe^=fe>>>13,fe=(fe&65535)*3266489909+(((fe>>>16)*3266489909&65535)<<16)&4294967295,fe^=fe>>>16,fe>>>0}m.exports=y}),O=a(function(m){function y(I,U){for(var J=I.length,ne=U^J,fe=0,Fe;J>=4;)Fe=I.charCodeAt(fe)&255|(I.charCodeAt(++fe)&255)<<8|(I.charCodeAt(++fe)&255)<<16|(I.charCodeAt(++fe)&255)<<24,Fe=(Fe&65535)*1540483477+(((Fe>>>16)*1540483477&65535)<<16),Fe^=Fe>>>24,Fe=(Fe&65535)*1540483477+(((Fe>>>16)*1540483477&65535)<<16),ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16)^Fe,J-=4,++fe;switch(J){case 3:ne^=(I.charCodeAt(fe+2)&255)<<16;case 2:ne^=(I.charCodeAt(fe+1)&255)<<8;case 1:ne^=I.charCodeAt(fe)&255,ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16)}return ne^=ne>>>13,ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16),ne^=ne>>>15,ne>>>0}m.exports=y}),$=K,pe=K,de=O;$.murmur3=pe,$.murmur2=de;var Ie=function(){this.ids=[],this.positions=[],this.indexed=!1};Ie.prototype.add=function(y,I,U,J){this.ids.push(pt(y)),this.positions.push(I,U,J)},Ie.prototype.getPositions=function(y){for(var I=pt(y),U=0,J=this.ids.length-1;U<J;){var ne=U+J>>1;this.ids[ne]>=I?J=ne:U=ne+1}for(var fe=[];this.ids[U]===I;){var Fe=this.positions[3*U],Qe=this.positions[3*U+1],st=this.positions[3*U+2];fe.push({index:Fe,start:Qe,end:st}),U++}return fe},Ie.serialize=function(y,I){var U=new Float64Array(y.ids),J=new Uint32Array(y.positions);return Kt(U,J,0,U.length-1),I&&I.push(U.buffer,J.buffer),{ids:U,positions:J}},Ie.deserialize=function(y){var I=new Ie;return I.ids=y.ids,I.positions=y.positions,I.indexed=!0,I};var $e=Math.pow(2,53)-1;function pt(m){var y=+m;return!isNaN(y)&&y<=$e?y:$(String(m))}function Kt(m,y,I,U){for(;I<U;){for(var J=m[I+U>>1],ne=I-1,fe=U+1;;){do ne++;while(m[ne]<J);do fe--;while(m[fe]>J);if(ne>=fe)break;ir(m,ne,fe),ir(y,3*ne,3*fe),ir(y,3*ne+1,3*fe+1),ir(y,3*ne+2,3*fe+2)}fe-I<U-fe?(Kt(m,y,I,fe),I=fe+1):(Kt(m,y,fe+1,U),U=fe)}}function ir(m,y,I){var U=m[y];m[y]=m[I],m[I]=U}Z(\"FeaturePositionMap\",Ie);var Jt=function(y,I){this.gl=y.gl,this.location=I},vt=function(m){function y(I,U){m.call(this,I,U),this.current=0}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){this.current!==U&&(this.current=U,this.gl.uniform1i(this.location,U))},y}(Jt),Pt=function(m){function y(I,U){m.call(this,I,U),this.current=0}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){this.current!==U&&(this.current=U,this.gl.uniform1f(this.location,U))},y}(Jt),Wt=function(m){function y(I,U){m.call(this,I,U),this.current=[0,0]}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){(U[0]!==this.current[0]||U[1]!==this.current[1])&&(this.current=U,this.gl.uniform2f(this.location,U[0],U[1]))},y}(Jt),rr=function(m){function y(I,U){m.call(this,I,U),this.current=[0,0,0]}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){(U[0]!==this.current[0]||U[1]!==this.current[1]||U[2]!==this.current[2])&&(this.current=U,this.gl.uniform3f(this.location,U[0],U[1],U[2]))},y}(Jt),dr=function(m){function y(I,U){m.call(this,I,U),this.current=[0,0,0,0]}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){(U[0]!==this.current[0]||U[1]!==this.current[1]||U[2]!==this.current[2]||U[3]!==this.current[3])&&(this.current=U,this.gl.uniform4f(this.location,U[0],U[1],U[2],U[3]))},y}(Jt),pr=function(m){function y(I,U){m.call(this,I,U),this.current=ss.transparent}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){(U.r!==this.current.r||U.g!==this.current.g||U.b!==this.current.b||U.a!==this.current.a)&&(this.current=U,this.gl.uniform4f(this.location,U.r,U.g,U.b,U.a))},y}(Jt),kr=new Float32Array(16),Ar=function(m){function y(I,U){m.call(this,I,U),this.current=kr}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){if(U[12]!==this.current[12]||U[0]!==this.current[0]){this.current=U,this.gl.uniformMatrix4fv(this.location,!1,U);return}for(var J=1;J<16;J++)if(U[J]!==this.current[J]){this.current=U,this.gl.uniformMatrix4fv(this.location,!1,U);break}},y}(Jt);function gr(m){return[Y(255*m.r,255*m.g),Y(255*m.b,255*m.a)]}var Cr=function(y,I,U){this.value=y,this.uniformNames=I.map(function(J){return\"u_\"+J}),this.type=U};Cr.prototype.setUniform=function(y,I,U){y.set(U.constantOr(this.value))},Cr.prototype.getBinding=function(y,I,U){return this.type===\"color\"?new pr(y,I):new Pt(y,I)};var cr=function(y,I){this.uniformNames=I.map(function(U){return\"u_\"+U}),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1};cr.prototype.setConstantPatternPositions=function(y,I){this.pixelRatioFrom=I.pixelRatio,this.pixelRatioTo=y.pixelRatio,this.patternFrom=I.tlbr,this.patternTo=y.tlbr},cr.prototype.setUniform=function(y,I,U,J){var ne=J===\"u_pattern_to\"?this.patternTo:J===\"u_pattern_from\"?this.patternFrom:J===\"u_pixel_ratio_to\"?this.pixelRatioTo:J===\"u_pixel_ratio_from\"?this.pixelRatioFrom:null;ne&&y.set(ne)},cr.prototype.getBinding=function(y,I,U){return U.substr(0,9)===\"u_pattern\"?new dr(y,I):new Pt(y,I)};var Gr=function(y,I,U,J){this.expression=y,this.type=U,this.maxValue=0,this.paintVertexAttributes=I.map(function(ne){return{name:\"a_\"+ne,type:\"Float32\",components:U===\"color\"?2:1,offset:0}}),this.paintVertexArray=new J};Gr.prototype.populatePaintArray=function(y,I,U,J,ne){var fe=this.paintVertexArray.length,Fe=this.expression.evaluate(new pn(0),I,{},J,[],ne);this.paintVertexArray.resize(y),this._setPaintValue(fe,y,Fe)},Gr.prototype.updatePaintArray=function(y,I,U,J){var ne=this.expression.evaluate({zoom:0},U,J);this._setPaintValue(y,I,ne)},Gr.prototype._setPaintValue=function(y,I,U){if(this.type===\"color\")for(var J=gr(U),ne=y;ne<I;ne++)this.paintVertexArray.emplace(ne,J[0],J[1]);else{for(var fe=y;fe<I;fe++)this.paintVertexArray.emplace(fe,U);this.maxValue=Math.max(this.maxValue,Math.abs(U))}},Gr.prototype.upload=function(y){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=y.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},Gr.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()};var ei=function(y,I,U,J,ne,fe){this.expression=y,this.uniformNames=I.map(function(Fe){return\"u_\"+Fe+\"_t\"}),this.type=U,this.useIntegerZoom=J,this.zoom=ne,this.maxValue=0,this.paintVertexAttributes=I.map(function(Fe){return{name:\"a_\"+Fe,type:\"Float32\",components:U===\"color\"?4:2,offset:0}}),this.paintVertexArray=new fe};ei.prototype.populatePaintArray=function(y,I,U,J,ne){var fe=this.expression.evaluate(new pn(this.zoom),I,{},J,[],ne),Fe=this.expression.evaluate(new pn(this.zoom+1),I,{},J,[],ne),Qe=this.paintVertexArray.length;this.paintVertexArray.resize(y),this._setPaintValue(Qe,y,fe,Fe)},ei.prototype.updatePaintArray=function(y,I,U,J){var ne=this.expression.evaluate({zoom:this.zoom},U,J),fe=this.expression.evaluate({zoom:this.zoom+1},U,J);this._setPaintValue(y,I,ne,fe)},ei.prototype._setPaintValue=function(y,I,U,J){if(this.type===\"color\")for(var ne=gr(U),fe=gr(J),Fe=y;Fe<I;Fe++)this.paintVertexArray.emplace(Fe,ne[0],ne[1],fe[0],fe[1]);else{for(var Qe=y;Qe<I;Qe++)this.paintVertexArray.emplace(Qe,U,J);this.maxValue=Math.max(this.maxValue,Math.abs(U),Math.abs(J))}},ei.prototype.upload=function(y){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=y.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},ei.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},ei.prototype.setUniform=function(y,I){var U=this.useIntegerZoom?Math.floor(I.zoom):I.zoom,J=p(this.expression.interpolationFactor(U,this.zoom,this.zoom+1),0,1);y.set(J)},ei.prototype.getBinding=function(y,I,U){return new Pt(y,I)};var yi=function(y,I,U,J,ne,fe){this.expression=y,this.type=I,this.useIntegerZoom=U,this.zoom=J,this.layerId=fe,this.zoomInPaintVertexArray=new ne,this.zoomOutPaintVertexArray=new ne};yi.prototype.populatePaintArray=function(y,I,U){var J=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(y),this.zoomOutPaintVertexArray.resize(y),this._setPaintValues(J,y,I.patterns&&I.patterns[this.layerId],U)},yi.prototype.updatePaintArray=function(y,I,U,J,ne){this._setPaintValues(y,I,U.patterns&&U.patterns[this.layerId],ne)},yi.prototype._setPaintValues=function(y,I,U,J){if(!(!J||!U)){var ne=U.min,fe=U.mid,Fe=U.max,Qe=J[ne],st=J[fe],mt=J[Fe];if(!(!Qe||!st||!mt))for(var Xt=y;Xt<I;Xt++)this.zoomInPaintVertexArray.emplace(Xt,st.tl[0],st.tl[1],st.br[0],st.br[1],Qe.tl[0],Qe.tl[1],Qe.br[0],Qe.br[1],st.pixelRatio,Qe.pixelRatio),this.zoomOutPaintVertexArray.emplace(Xt,st.tl[0],st.tl[1],st.br[0],st.br[1],mt.tl[0],mt.tl[1],mt.br[0],mt.br[1],st.pixelRatio,mt.pixelRatio)}},yi.prototype.upload=function(y){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=y.createVertexBuffer(this.zoomInPaintVertexArray,z.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=y.createVertexBuffer(this.zoomOutPaintVertexArray,z.members,this.expression.isStateDependent))},yi.prototype.destroy=function(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()};var tn=function(y,I,U){this.binders={},this._buffers=[];var J=[];for(var ne in y.paint._values)if(U(ne)){var fe=y.paint.get(ne);if(!(!(fe instanceof dl)||!Gs(fe.property.specification))){var Fe=ln(ne,y.type),Qe=fe.value,st=fe.property.specification.type,mt=fe.property.useIntegerZoom,Xt=fe.property.specification[\"property-type\"],ur=Xt===\"cross-faded\"||Xt===\"cross-faded-data-driven\";if(Qe.kind===\"constant\")this.binders[ne]=ur?new cr(Qe.value,Fe):new Cr(Qe.value,Fe,st),J.push(\"/u_\"+ne);else if(Qe.kind===\"source\"||ur){var nr=qn(ne,st,\"source\");this.binders[ne]=ur?new yi(Qe,st,mt,I,nr,y.id):new Gr(Qe,Fe,st,nr),J.push(\"/a_\"+ne)}else{var Lr=qn(ne,st,\"composite\");this.binders[ne]=new ei(Qe,Fe,st,mt,I,Lr),J.push(\"/z_\"+ne)}}}this.cacheKey=J.sort().join(\"\")};tn.prototype.getMaxValue=function(y){var I=this.binders[y];return I instanceof Gr||I instanceof ei?I.maxValue:0},tn.prototype.populatePaintArrays=function(y,I,U,J,ne){for(var fe in this.binders){var Fe=this.binders[fe];(Fe instanceof Gr||Fe instanceof ei||Fe instanceof yi)&&Fe.populatePaintArray(y,I,U,J,ne)}},tn.prototype.setConstantPatternPositions=function(y,I){for(var U in this.binders){var J=this.binders[U];J instanceof cr&&J.setConstantPatternPositions(y,I)}},tn.prototype.updatePaintArrays=function(y,I,U,J,ne){var fe=!1;for(var Fe in y)for(var Qe=I.getPositions(Fe),st=0,mt=Qe;st<mt.length;st+=1){var Xt=mt[st],ur=U.feature(Xt.index);for(var nr in this.binders){var Lr=this.binders[nr];if((Lr instanceof Gr||Lr instanceof ei||Lr instanceof yi)&&Lr.expression.isStateDependent===!0){var Yr=J.paint.get(nr);Lr.expression=Yr.value,Lr.updatePaintArray(Xt.start,Xt.end,ur,y[Fe],ne),fe=!0}}}return fe},tn.prototype.defines=function(){var y=[];for(var I in this.binders){var U=this.binders[I];(U instanceof Cr||U instanceof cr)&&y.push.apply(y,U.uniformNames.map(function(J){return\"#define HAS_UNIFORM_\"+J}))}return y},tn.prototype.getBinderAttributes=function(){var y=[];for(var I in this.binders){var U=this.binders[I];if(U instanceof Gr||U instanceof ei)for(var J=0;J<U.paintVertexAttributes.length;J++)y.push(U.paintVertexAttributes[J].name);else if(U instanceof yi)for(var ne=0;ne<z.members.length;ne++)y.push(z.members[ne].name)}return y},tn.prototype.getBinderUniforms=function(){var y=[];for(var I in this.binders){var U=this.binders[I];if(U instanceof Cr||U instanceof cr||U instanceof ei)for(var J=0,ne=U.uniformNames;J<ne.length;J+=1){var fe=ne[J];y.push(fe)}}return y},tn.prototype.getPaintVertexBuffers=function(){return this._buffers},tn.prototype.getUniforms=function(y,I){var U=[];for(var J in this.binders){var ne=this.binders[J];if(ne instanceof Cr||ne instanceof cr||ne instanceof ei)for(var fe=0,Fe=ne.uniformNames;fe<Fe.length;fe+=1){var Qe=Fe[fe];if(I[Qe]){var st=ne.getBinding(y,I[Qe],Qe);U.push({name:Qe,property:J,binding:st})}}}return U},tn.prototype.setUniforms=function(y,I,U,J){for(var ne=0,fe=I;ne<fe.length;ne+=1){var Fe=fe[ne],Qe=Fe.name,st=Fe.property,mt=Fe.binding;this.binders[st].setUniform(mt,J,U.get(st),Qe)}},tn.prototype.updatePaintBuffers=function(y){this._buffers=[];for(var I in this.binders){var U=this.binders[I];if(y&&U instanceof yi){var J=y.fromScale===2?U.zoomInPaintVertexBuffer:U.zoomOutPaintVertexBuffer;J&&this._buffers.push(J)}else(U instanceof Gr||U instanceof ei)&&U.paintVertexBuffer&&this._buffers.push(U.paintVertexBuffer)}},tn.prototype.upload=function(y){for(var I in this.binders){var U=this.binders[I];(U instanceof Gr||U instanceof ei||U instanceof yi)&&U.upload(y)}this.updatePaintBuffers()},tn.prototype.destroy=function(){for(var y in this.binders){var I=this.binders[y];(I instanceof Gr||I instanceof ei||I instanceof yi)&&I.destroy()}};var Ri=function(y,I,U){U===void 0&&(U=function(){return!0}),this.programConfigurations={};for(var J=0,ne=y;J<ne.length;J+=1){var fe=ne[J];this.programConfigurations[fe.id]=new tn(fe,I,U)}this.needsUpload=!1,this._featureMap=new Ie,this._bufferOffset=0};Ri.prototype.populatePaintArrays=function(y,I,U,J,ne,fe){for(var Fe in this.programConfigurations)this.programConfigurations[Fe].populatePaintArrays(y,I,J,ne,fe);I.id!==void 0&&this._featureMap.add(I.id,U,this._bufferOffset,y),this._bufferOffset=y,this.needsUpload=!0},Ri.prototype.updatePaintArrays=function(y,I,U,J){for(var ne=0,fe=U;ne<fe.length;ne+=1){var Fe=fe[ne];this.needsUpload=this.programConfigurations[Fe.id].updatePaintArrays(y,this._featureMap,I,Fe,J)||this.needsUpload}},Ri.prototype.get=function(y){return this.programConfigurations[y]},Ri.prototype.upload=function(y){if(this.needsUpload){for(var I in this.programConfigurations)this.programConfigurations[I].upload(y);this.needsUpload=!1}},Ri.prototype.destroy=function(){for(var y in this.programConfigurations)this.programConfigurations[y].destroy()};function ln(m,y){var I={\"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\"]};return I[m]||[m.replace(y+\"-\",\"\").replace(/-/g,\"_\")]}function Qn(m){var y={\"line-pattern\":{source:Kn,composite:Kn},\"fill-pattern\":{source:Kn,composite:Kn},\"fill-extrusion-pattern\":{source:Kn,composite:Kn}};return y[m]}function qn(m,y,I){var U={color:{source:ca,composite:Yl},number:{source:Jn,composite:ca}},J=Qn(m);return J&&J[I]||U[y][I]}Z(\"ConstantBinder\",Cr),Z(\"CrossFadedConstantBinder\",cr),Z(\"SourceExpressionBinder\",Gr),Z(\"CrossFadedCompositeBinder\",yi),Z(\"CompositeExpressionBinder\",ei),Z(\"ProgramConfiguration\",tn,{omit:[\"_buffers\"]}),Z(\"ProgramConfigurationSet\",Ri);var rn=8192,bn=15,mn=Math.pow(2,bn-1)-1,Gn=-mn-1;function da(m){for(var y=rn/m.extent,I=m.loadGeometry(),U=0;U<I.length;U++)for(var J=I[U],ne=0;ne<J.length;ne++){var fe=J[ne],Fe=Math.round(fe.x*y),Qe=Math.round(fe.y*y);fe.x=p(Fe,Gn,mn),fe.y=p(Qe,Gn,mn),(Fe<fe.x||Fe>fe.x+1||Qe<fe.y||Qe>fe.y+1)&&re(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return I}function No(m,y){return{type:m.type,id:m.id,properties:m.properties,geometry:y?da(m):[]}}function Do(m,y,I,U,J){m.emplaceBack(y*2+(U+1)/2,I*2+(J+1)/2)}var ps=function(y){this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=y.index,this.hasPattern=!1,this.layoutVertexArray=new ji,this.indexArray=new ma,this.segments=new ns,this.programConfigurations=new Ri(y.layers,y.zoom),this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};ps.prototype.populate=function(y,I,U){var J=this.layers[0],ne=[],fe=null;J.type===\"circle\"&&(fe=J.layout.get(\"circle-sort-key\"));for(var Fe=0,Qe=y;Fe<Qe.length;Fe+=1){var st=Qe[Fe],mt=st.feature,Xt=st.id,ur=st.index,nr=st.sourceLayerIndex,Lr=this.layers[0]._featureFilter.needGeometry,Yr=No(mt,Lr);if(this.layers[0]._featureFilter.filter(new pn(this.zoom),Yr,U)){var _i=fe?fe.evaluate(Yr,{},U):void 0,si={id:Xt,properties:mt.properties,type:mt.type,sourceLayerIndex:nr,index:ur,geometry:Lr?Yr.geometry:da(mt),patterns:{},sortKey:_i};ne.push(si)}}fe&&ne.sort(function(_a,Pa){return _a.sortKey-Pa.sortKey});for(var Hi=0,Ei=ne;Hi<Ei.length;Hi+=1){var Vi=Ei[Hi],en=Vi,An=en.geometry,ra=en.index,$n=en.sourceLayerIndex,Ba=y[ra].feature;this.addFeature(Vi,An,ra,U),I.featureIndex.insert(Ba,An,ra,$n,this.index)}},ps.prototype.update=function(y,I,U){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(y,I,this.stateDependentLayers,U)},ps.prototype.isEmpty=function(){return this.layoutVertexArray.length===0},ps.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},ps.prototype.upload=function(y){this.uploaded||(this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,_f),this.indexBuffer=y.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(y),this.uploaded=!0},ps.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},ps.prototype.addFeature=function(y,I,U,J){for(var ne=0,fe=I;ne<fe.length;ne+=1)for(var Fe=fe[ne],Qe=0,st=Fe;Qe<st.length;Qe+=1){var mt=st[Qe],Xt=mt.x,ur=mt.y;if(!(Xt<0||Xt>=rn||ur<0||ur>=rn)){var nr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,y.sortKey),Lr=nr.vertexLength;Do(this.layoutVertexArray,Xt,ur,-1,-1),Do(this.layoutVertexArray,Xt,ur,1,-1),Do(this.layoutVertexArray,Xt,ur,1,1),Do(this.layoutVertexArray,Xt,ur,-1,1),this.indexArray.emplaceBack(Lr,Lr+1,Lr+2),this.indexArray.emplaceBack(Lr,Lr+3,Lr+2),nr.vertexLength+=4,nr.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,y,U,{},J)},Z(\"CircleBucket\",ps,{omit:[\"layers\"]});function fo(m,y){for(var I=0;I<m.length;I++)if(_d(y,m[I]))return!0;for(var U=0;U<y.length;U++)if(_d(m,y[U]))return!0;return!!Ev(m,y)}function as(m,y,I){return!!(_d(m,y)||Yv(y,m,I))}function tl(m,y){if(m.length===1)return vp(y,m[0]);for(var I=0;I<y.length;I++)for(var U=y[I],J=0;J<U.length;J++)if(_d(m,U[J]))return!0;for(var ne=0;ne<m.length;ne++)if(vp(y,m[ne]))return!0;for(var fe=0;fe<y.length;fe++)if(Ev(m,y[fe]))return!0;return!1}function zu(m,y,I){for(var U=0;U<y.length;U++){var J=y[U];if(m.length>=3){for(var ne=0;ne<J.length;ne++)if(_d(m,J[ne]))return!0}if(Mv(m,J,I))return!0}return!1}function Mv(m,y,I){if(m.length>1){if(Ev(m,y))return!0;for(var U=0;U<y.length;U++)if(Yv(y[U],m,I))return!0}for(var J=0;J<m.length;J++)if(Yv(m[J],y,I))return!0;return!1}function Ev(m,y){if(m.length===0||y.length===0)return!1;for(var I=0;I<m.length-1;I++)for(var U=m[I],J=m[I+1],ne=0;ne<y.length-1;ne++){var fe=y[ne],Fe=y[ne+1];if(yd(U,J,fe,Fe))return!0}return!1}function yd(m,y,I,U){return ae(m,I,U)!==ae(y,I,U)&&ae(m,y,I)!==ae(m,y,U)}function Yv(m,y,I){var U=I*I;if(y.length===1)return m.distSqr(y[0])<U;for(var J=1;J<y.length;J++){var ne=y[J-1],fe=y[J];if(cg(m,ne,fe)<U)return!0}return!1}function cg(m,y,I){var U=y.distSqr(I);if(U===0)return m.distSqr(y);var J=((m.x-y.x)*(I.x-y.x)+(m.y-y.y)*(I.y-y.y))/U;return J<0?m.distSqr(y):J>1?m.distSqr(I):m.distSqr(I.sub(y)._mult(J)._add(y))}function vp(m,y){for(var I=!1,U,J,ne,fe=0;fe<m.length;fe++){U=m[fe];for(var Fe=0,Qe=U.length-1;Fe<U.length;Qe=Fe++)J=U[Fe],ne=U[Qe],J.y>y.y!=ne.y>y.y&&y.x<(ne.x-J.x)*(y.y-J.y)/(ne.y-J.y)+J.x&&(I=!I)}return I}function _d(m,y){for(var I=!1,U=0,J=m.length-1;U<m.length;J=U++){var ne=m[U],fe=m[J];ne.y>y.y!=fe.y>y.y&&y.x<(fe.x-ne.x)*(y.y-ne.y)/(fe.y-ne.y)+ne.x&&(I=!I)}return I}function pp(m,y,I,U,J){for(var ne=0,fe=m;ne<fe.length;ne+=1){var Fe=fe[ne];if(y<=Fe.x&&I<=Fe.y&&U>=Fe.x&&J>=Fe.y)return!0}var Qe=[new u(y,I),new u(y,J),new u(U,J),new u(U,I)];if(m.length>2)for(var st=0,mt=Qe;st<mt.length;st+=1){var Xt=mt[st];if(_d(m,Xt))return!0}for(var ur=0;ur<m.length-1;ur++){var nr=m[ur],Lr=m[ur+1];if(Nd(nr,Lr,Qe))return!0}return!1}function Nd(m,y,I){var U=I[0],J=I[2];if(m.x<U.x&&y.x<U.x||m.x>J.x&&y.x>J.x||m.y<U.y&&y.y<U.y||m.y>J.y&&y.y>J.y)return!1;var ne=ae(m,y,I[0]);return ne!==ae(m,y,I[1])||ne!==ae(m,y,I[2])||ne!==ae(m,y,I[3])}function xd(m,y,I){var U=y.paint.get(m).value;return U.kind===\"constant\"?U.value:I.programConfigurations.get(y.id).getMaxValue(m)}function kv(m){return Math.sqrt(m[0]*m[0]+m[1]*m[1])}function Kv(m,y,I,U,J){if(!y[0]&&!y[1])return m;var ne=u.convert(y)._mult(J);I===\"viewport\"&&ne._rotate(-U);for(var fe=[],Fe=0;Fe<m.length;Fe++){var Qe=m[Fe];fe.push(Qe.sub(ne))}return fe}var Cv=new Oi({\"circle-sort-key\":new Er(on.layout_circle[\"circle-sort-key\"])}),ny=new Oi({\"circle-radius\":new Er(on.paint_circle[\"circle-radius\"]),\"circle-color\":new Er(on.paint_circle[\"circle-color\"]),\"circle-blur\":new Er(on.paint_circle[\"circle-blur\"]),\"circle-opacity\":new Er(on.paint_circle[\"circle-opacity\"]),\"circle-translate\":new At(on.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new At(on.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new At(on.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new At(on.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new Er(on.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new Er(on.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new Er(on.paint_circle[\"circle-stroke-opacity\"])}),fg={paint:ny,layout:Cv},Hf=typeof Float32Array!=\"undefined\"?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var m=arguments,y=0,I=arguments.length;I--;)y+=m[I]*m[I];return Math.sqrt(y)});function hg(){var m=new Hf(4);return Hf!=Float32Array&&(m[1]=0,m[2]=0),m[0]=1,m[3]=1,m}function ay(m,y,I){var U=y[0],J=y[1],ne=y[2],fe=y[3],Fe=Math.sin(I),Qe=Math.cos(I);return m[0]=U*Qe+ne*Fe,m[1]=J*Qe+fe*Fe,m[2]=U*-Fe+ne*Qe,m[3]=J*-Fe+fe*Qe,m}function Rh(){var m=new Hf(9);return Hf!=Float32Array&&(m[1]=0,m[2]=0,m[3]=0,m[5]=0,m[6]=0,m[7]=0),m[0]=1,m[4]=1,m[8]=1,m}function rm(m,y){var I=Math.sin(y),U=Math.cos(y);return m[0]=U,m[1]=I,m[2]=0,m[3]=-I,m[4]=U,m[5]=0,m[6]=0,m[7]=0,m[8]=1,m}function w1(){var m=new Hf(16);return Hf!=Float32Array&&(m[1]=0,m[2]=0,m[3]=0,m[4]=0,m[6]=0,m[7]=0,m[8]=0,m[9]=0,m[11]=0,m[12]=0,m[13]=0,m[14]=0),m[0]=1,m[5]=1,m[10]=1,m[15]=1,m}function T1(m){var y=new Hf(16);return y[0]=m[0],y[1]=m[1],y[2]=m[2],y[3]=m[3],y[4]=m[4],y[5]=m[5],y[6]=m[6],y[7]=m[7],y[8]=m[8],y[9]=m[9],y[10]=m[10],y[11]=m[11],y[12]=m[12],y[13]=m[13],y[14]=m[14],y[15]=m[15],y}function oy(m){return m[0]=1,m[1]=0,m[2]=0,m[3]=0,m[4]=0,m[5]=1,m[6]=0,m[7]=0,m[8]=0,m[9]=0,m[10]=1,m[11]=0,m[12]=0,m[13]=0,m[14]=0,m[15]=1,m}function im(m,y){var I=y[0],U=y[1],J=y[2],ne=y[3],fe=y[4],Fe=y[5],Qe=y[6],st=y[7],mt=y[8],Xt=y[9],ur=y[10],nr=y[11],Lr=y[12],Yr=y[13],_i=y[14],si=y[15],Hi=I*Fe-U*fe,Ei=I*Qe-J*fe,Vi=I*st-ne*fe,en=U*Qe-J*Fe,An=U*st-ne*Fe,ra=J*st-ne*Qe,$n=mt*Yr-Xt*Lr,Ba=mt*_i-ur*Lr,_a=mt*si-nr*Lr,Pa=Xt*_i-ur*Yr,qo=Xt*si-nr*Yr,Na=ur*si-nr*_i,ja=Hi*Na-Ei*qo+Vi*Pa+en*_a-An*Ba+ra*$n;return ja?(ja=1/ja,m[0]=(Fe*Na-Qe*qo+st*Pa)*ja,m[1]=(J*qo-U*Na-ne*Pa)*ja,m[2]=(Yr*ra-_i*An+si*en)*ja,m[3]=(ur*An-Xt*ra-nr*en)*ja,m[4]=(Qe*_a-fe*Na-st*Ba)*ja,m[5]=(I*Na-J*_a+ne*Ba)*ja,m[6]=(_i*Vi-Lr*ra-si*Ei)*ja,m[7]=(mt*ra-ur*Vi+nr*Ei)*ja,m[8]=(fe*qo-Fe*_a+st*$n)*ja,m[9]=(U*_a-I*qo-ne*$n)*ja,m[10]=(Lr*An-Yr*Vi+si*Hi)*ja,m[11]=(Xt*Vi-mt*An-nr*Hi)*ja,m[12]=(Fe*Ba-fe*Pa-Qe*$n)*ja,m[13]=(I*Pa-U*Ba+J*$n)*ja,m[14]=(Yr*Ei-Lr*en-_i*Hi)*ja,m[15]=(mt*en-Xt*Ei+ur*Hi)*ja,m):null}function nm(m,y,I){var U=y[0],J=y[1],ne=y[2],fe=y[3],Fe=y[4],Qe=y[5],st=y[6],mt=y[7],Xt=y[8],ur=y[9],nr=y[10],Lr=y[11],Yr=y[12],_i=y[13],si=y[14],Hi=y[15],Ei=I[0],Vi=I[1],en=I[2],An=I[3];return m[0]=Ei*U+Vi*Fe+en*Xt+An*Yr,m[1]=Ei*J+Vi*Qe+en*ur+An*_i,m[2]=Ei*ne+Vi*st+en*nr+An*si,m[3]=Ei*fe+Vi*mt+en*Lr+An*Hi,Ei=I[4],Vi=I[5],en=I[6],An=I[7],m[4]=Ei*U+Vi*Fe+en*Xt+An*Yr,m[5]=Ei*J+Vi*Qe+en*ur+An*_i,m[6]=Ei*ne+Vi*st+en*nr+An*si,m[7]=Ei*fe+Vi*mt+en*Lr+An*Hi,Ei=I[8],Vi=I[9],en=I[10],An=I[11],m[8]=Ei*U+Vi*Fe+en*Xt+An*Yr,m[9]=Ei*J+Vi*Qe+en*ur+An*_i,m[10]=Ei*ne+Vi*st+en*nr+An*si,m[11]=Ei*fe+Vi*mt+en*Lr+An*Hi,Ei=I[12],Vi=I[13],en=I[14],An=I[15],m[12]=Ei*U+Vi*Fe+en*Xt+An*Yr,m[13]=Ei*J+Vi*Qe+en*ur+An*_i,m[14]=Ei*ne+Vi*st+en*nr+An*si,m[15]=Ei*fe+Vi*mt+en*Lr+An*Hi,m}function Fu(m,y,I){var U=I[0],J=I[1],ne=I[2],fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si;return y===m?(m[12]=y[0]*U+y[4]*J+y[8]*ne+y[12],m[13]=y[1]*U+y[5]*J+y[9]*ne+y[13],m[14]=y[2]*U+y[6]*J+y[10]*ne+y[14],m[15]=y[3]*U+y[7]*J+y[11]*ne+y[15]):(fe=y[0],Fe=y[1],Qe=y[2],st=y[3],mt=y[4],Xt=y[5],ur=y[6],nr=y[7],Lr=y[8],Yr=y[9],_i=y[10],si=y[11],m[0]=fe,m[1]=Fe,m[2]=Qe,m[3]=st,m[4]=mt,m[5]=Xt,m[6]=ur,m[7]=nr,m[8]=Lr,m[9]=Yr,m[10]=_i,m[11]=si,m[12]=fe*U+mt*J+Lr*ne+y[12],m[13]=Fe*U+Xt*J+Yr*ne+y[13],m[14]=Qe*U+ur*J+_i*ne+y[14],m[15]=st*U+nr*J+si*ne+y[15]),m}function kl(m,y,I){var U=I[0],J=I[1],ne=I[2];return m[0]=y[0]*U,m[1]=y[1]*U,m[2]=y[2]*U,m[3]=y[3]*U,m[4]=y[4]*J,m[5]=y[5]*J,m[6]=y[6]*J,m[7]=y[7]*J,m[8]=y[8]*ne,m[9]=y[9]*ne,m[10]=y[10]*ne,m[11]=y[11]*ne,m[12]=y[12],m[13]=y[13],m[14]=y[14],m[15]=y[15],m}function bd(m,y,I){var U=Math.sin(I),J=Math.cos(I),ne=y[4],fe=y[5],Fe=y[6],Qe=y[7],st=y[8],mt=y[9],Xt=y[10],ur=y[11];return y!==m&&(m[0]=y[0],m[1]=y[1],m[2]=y[2],m[3]=y[3],m[12]=y[12],m[13]=y[13],m[14]=y[14],m[15]=y[15]),m[4]=ne*J+st*U,m[5]=fe*J+mt*U,m[6]=Fe*J+Xt*U,m[7]=Qe*J+ur*U,m[8]=st*J-ne*U,m[9]=mt*J-fe*U,m[10]=Xt*J-Fe*U,m[11]=ur*J-Qe*U,m}function sy(m,y,I){var U=Math.sin(I),J=Math.cos(I),ne=y[0],fe=y[1],Fe=y[2],Qe=y[3],st=y[4],mt=y[5],Xt=y[6],ur=y[7];return y!==m&&(m[8]=y[8],m[9]=y[9],m[10]=y[10],m[11]=y[11],m[12]=y[12],m[13]=y[13],m[14]=y[14],m[15]=y[15]),m[0]=ne*J+st*U,m[1]=fe*J+mt*U,m[2]=Fe*J+Xt*U,m[3]=Qe*J+ur*U,m[4]=st*J-ne*U,m[5]=mt*J-fe*U,m[6]=Xt*J-Fe*U,m[7]=ur*J-Qe*U,m}function A1(m,y,I,U,J){var ne=1/Math.tan(y/2),fe;return m[0]=ne/I,m[1]=0,m[2]=0,m[3]=0,m[4]=0,m[5]=ne,m[6]=0,m[7]=0,m[8]=0,m[9]=0,m[11]=-1,m[12]=0,m[13]=0,m[15]=0,J!=null&&J!==1/0?(fe=1/(U-J),m[10]=(J+U)*fe,m[14]=2*J*U*fe):(m[10]=-1,m[14]=-2*U),m}function Kl(m,y,I,U,J,ne,fe){var Fe=1/(y-I),Qe=1/(U-J),st=1/(ne-fe);return m[0]=-2*Fe,m[1]=0,m[2]=0,m[3]=0,m[4]=0,m[5]=-2*Qe,m[6]=0,m[7]=0,m[8]=0,m[9]=0,m[10]=2*st,m[11]=0,m[12]=(y+I)*Fe,m[13]=(J+U)*Qe,m[14]=(fe+ne)*st,m[15]=1,m}var Nx=nm;function am(){var m=new Hf(3);return Hf!=Float32Array&&(m[0]=0,m[1]=0,m[2]=0),m}function Mw(m){var y=new Hf(3);return y[0]=m[0],y[1]=m[1],y[2]=m[2],y}function Lv(m,y,I){return m[0]=y[0]+I[0],m[1]=y[1]+I[1],m[2]=y[2]+I[2],m}function om(m,y,I){return m[0]=y[0]-I[0],m[1]=y[1]-I[1],m[2]=y[2]-I[2],m}function Ew(m,y,I){return m[0]=y[0]*I,m[1]=y[1]*I,m[2]=y[2]*I,m}function Ux(m,y){var I=y[0],U=y[1],J=y[2],ne=I*I+U*U+J*J;return ne>0&&(ne=1/Math.sqrt(ne)),m[0]=y[0]*ne,m[1]=y[1]*ne,m[2]=y[2]*ne,m}function P9(m,y){return m[0]*y[0]+m[1]*y[1]+m[2]*y[2]}function I9(m,y,I){var U=y[0],J=y[1],ne=y[2],fe=I[0],Fe=I[1],Qe=I[2];return m[0]=J*Qe-ne*Fe,m[1]=ne*fe-U*Qe,m[2]=U*Fe-J*fe,m}function R9(m,y,I){var U=y[0],J=y[1],ne=y[2];return m[0]=U*I[0]+J*I[3]+ne*I[6],m[1]=U*I[1]+J*I[4]+ne*I[7],m[2]=U*I[2]+J*I[5]+ne*I[8],m}var D9=om,mQ=function(){var m=am();return function(y,I,U,J,ne,fe){var Fe,Qe;for(I||(I=3),U||(U=0),J?Qe=Math.min(J*I+U,y.length):Qe=y.length,Fe=U;Fe<Qe;Fe+=I)m[0]=y[Fe],m[1]=y[Fe+1],m[2]=y[Fe+2],ne(m,m,fe),y[Fe]=m[0],y[Fe+1]=m[1],y[Fe+2]=m[2];return y}}();function z9(){var m=new Hf(4);return Hf!=Float32Array&&(m[0]=0,m[1]=0,m[2]=0,m[3]=0),m}function F9(m,y,I){return m[0]=y[0]*I,m[1]=y[1]*I,m[2]=y[2]*I,m[3]=y[3]*I,m}function q9(m,y){return m[0]*y[0]+m[1]*y[1]+m[2]*y[2]+m[3]*y[3]}function ly(m,y,I){var U=y[0],J=y[1],ne=y[2],fe=y[3];return m[0]=I[0]*U+I[4]*J+I[8]*ne+I[12]*fe,m[1]=I[1]*U+I[5]*J+I[9]*ne+I[13]*fe,m[2]=I[2]*U+I[6]*J+I[10]*ne+I[14]*fe,m[3]=I[3]*U+I[7]*J+I[11]*ne+I[15]*fe,m}var Vx=function(){var m=z9();return function(y,I,U,J,ne,fe){var Fe,Qe;for(I||(I=4),U||(U=0),J?Qe=Math.min(J*I+U,y.length):Qe=y.length,Fe=U;Fe<Qe;Fe+=I)m[0]=y[Fe],m[1]=y[Fe+1],m[2]=y[Fe+2],m[3]=y[Fe+3],ne(m,m,fe),y[Fe]=m[0],y[Fe+1]=m[1],y[Fe+2]=m[2],y[Fe+3]=m[3];return y}}();function cC(){var m=new Hf(2);return Hf!=Float32Array&&(m[0]=0,m[1]=0),m}function eS(m){var y=m[0],I=m[1];return y*y+I*I}var tS=eS,yQ=function(){var m=cC();return function(y,I,U,J,ne,fe){var Fe,Qe;for(I||(I=2),U||(U=0),J?Qe=Math.min(J*I+U,y.length):Qe=y.length,Fe=U;Fe<Qe;Fe+=I)m[0]=y[Fe],m[1]=y[Fe+1],ne(m,m,fe),y[Fe]=m[0],y[Fe+1]=m[1];return y}}(),O9=function(m){function y(I){m.call(this,I,fg)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.createBucket=function(U){return new ps(U)},y.prototype.queryRadius=function(U){var J=U;return xd(\"circle-radius\",this,J)+xd(\"circle-stroke-width\",this,J)+kv(this.paint.get(\"circle-translate\"))},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st,mt){for(var Xt=Kv(U,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),Qe.angle,st),ur=this.paint.get(\"circle-radius\").evaluate(J,ne),nr=this.paint.get(\"circle-stroke-width\").evaluate(J,ne),Lr=ur+nr,Yr=this.paint.get(\"circle-pitch-alignment\")===\"map\",_i=Yr?Xt:hC(Xt,mt),si=Yr?Lr*st:Lr,Hi=0,Ei=fe;Hi<Ei.length;Hi+=1)for(var Vi=Ei[Hi],en=0,An=Vi;en<An.length;en+=1){var ra=An[en],$n=Yr?ra:fC(ra,mt),Ba=si,_a=ly([],[ra.x,ra.y,0,1],mt);if(this.paint.get(\"circle-pitch-scale\")===\"viewport\"&&this.paint.get(\"circle-pitch-alignment\")===\"map\"?Ba*=_a[3]/Qe.cameraToCenterDistance:this.paint.get(\"circle-pitch-scale\")===\"map\"&&this.paint.get(\"circle-pitch-alignment\")===\"viewport\"&&(Ba*=Qe.cameraToCenterDistance/_a[3]),as(_i,$n,Ba))return!0}return!1},y}(cn);function fC(m,y){var I=ly([],[m.x,m.y,0,1],y);return new u(I[0]/I[3],I[1]/I[3])}function hC(m,y){return m.map(function(I){return fC(I,y)})}var rS=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(ps);Z(\"HeatmapBucket\",rS,{omit:[\"layers\"]});function wd(m,y,I,U){var J=y.width,ne=y.height;if(!U)U=new Uint8Array(J*ne*I);else if(U instanceof Uint8ClampedArray)U=new Uint8Array(U.buffer);else if(U.length!==J*ne*I)throw new RangeError(\"mismatched image size\");return m.width=J,m.height=ne,m.data=U,m}function kw(m,y,I){var U=y.width,J=y.height;if(!(U===m.width&&J===m.height)){var ne=wd({},{width:U,height:J},I);Cw(m,ne,{x:0,y:0},{x:0,y:0},{width:Math.min(m.width,U),height:Math.min(m.height,J)},I),m.width=U,m.height=J,m.data=ne.data}}function Cw(m,y,I,U,J,ne){if(J.width===0||J.height===0)return y;if(J.width>m.width||J.height>m.height||I.x>m.width-J.width||I.y>m.height-J.height)throw new RangeError(\"out of range source coordinates for image copy\");if(J.width>y.width||J.height>y.height||U.x>y.width-J.width||U.y>y.height-J.height)throw new RangeError(\"out of range destination coordinates for image copy\");for(var fe=m.data,Fe=y.data,Qe=0;Qe<J.height;Qe++)for(var st=((I.y+Qe)*m.width+I.x)*ne,mt=((U.y+Qe)*y.width+U.x)*ne,Xt=0;Xt<J.width*ne;Xt++)Fe[mt+Xt]=fe[st+Xt];return y}var Pv=function(y,I){wd(this,y,1,I)};Pv.prototype.resize=function(y){kw(this,y,1)},Pv.prototype.clone=function(){return new Pv({width:this.width,height:this.height},new Uint8Array(this.data))},Pv.copy=function(y,I,U,J,ne){Cw(y,I,U,J,ne,1)};var lh=function(y,I){wd(this,y,4,I)};lh.prototype.resize=function(y){kw(this,y,4)},lh.prototype.replace=function(y,I){I?this.data.set(y):y instanceof Uint8ClampedArray?this.data=new Uint8Array(y.buffer):this.data=y},lh.prototype.clone=function(){return new lh({width:this.width,height:this.height},new Uint8Array(this.data))},lh.copy=function(y,I,U,J,ne){Cw(y,I,U,J,ne,4)},Z(\"AlphaImage\",Pv),Z(\"RGBAImage\",lh);var Hx=new Oi({\"heatmap-radius\":new Er(on.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new Er(on.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new At(on.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new Ui(on.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new At(on.paint_heatmap[\"heatmap-opacity\"])}),S1={paint:Hx};function Gx(m){var y={},I=m.resolution||256,U=m.clips?m.clips.length:1,J=m.image||new lh({width:I,height:U}),ne=function(Hi,Ei,Vi){y[m.evaluationKey]=Vi;var en=m.expression.evaluate(y);J.data[Hi+Ei+0]=Math.floor(en.r*255/en.a),J.data[Hi+Ei+1]=Math.floor(en.g*255/en.a),J.data[Hi+Ei+2]=Math.floor(en.b*255/en.a),J.data[Hi+Ei+3]=Math.floor(en.a*255)};if(m.clips)for(var st=0,mt=0;st<U;++st,mt+=I*4)for(var Xt=0,ur=0;Xt<I;Xt++,ur+=4){var nr=Xt/(I-1),Lr=m.clips[st],Yr=Lr.start,_i=Lr.end,si=Yr*(1-nr)+_i*nr;ne(mt,ur,si)}else for(var fe=0,Fe=0;fe<I;fe++,Fe+=4){var Qe=fe/(I-1);ne(0,Fe,Qe)}return J}var Lw=function(m){function y(I){m.call(this,I,S1),this._updateColorRamp()}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.createBucket=function(U){return new rS(U)},y.prototype._handleSpecialPaintPropertyUpdate=function(U){U===\"heatmap-color\"&&this._updateColorRamp()},y.prototype._updateColorRamp=function(){var U=this._transitionablePaint._values[\"heatmap-color\"].value.expression;this.colorRamp=Gx({expression:U,evaluationKey:\"heatmapDensity\",image:this.colorRamp}),this.colorRampTexture=null},y.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)},y.prototype.queryRadius=function(){return 0},y.prototype.queryIntersectsFeature=function(){return!1},y.prototype.hasOffscreenPass=function(){return this.paint.get(\"heatmap-opacity\")!==0&&this.visibility!==\"none\"},y}(cn),B9=new Oi({\"hillshade-illumination-direction\":new At(on.paint_hillshade[\"hillshade-illumination-direction\"]),\"hillshade-illumination-anchor\":new At(on.paint_hillshade[\"hillshade-illumination-anchor\"]),\"hillshade-exaggeration\":new At(on.paint_hillshade[\"hillshade-exaggeration\"]),\"hillshade-shadow-color\":new At(on.paint_hillshade[\"hillshade-shadow-color\"]),\"hillshade-highlight-color\":new At(on.paint_hillshade[\"hillshade-highlight-color\"]),\"hillshade-accent-color\":new At(on.paint_hillshade[\"hillshade-accent-color\"])}),N9={paint:B9},dC=function(m){function y(I){m.call(this,I,N9)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.hasOffscreenPass=function(){return this.paint.get(\"hillshade-exaggeration\")!==0&&this.visibility!==\"none\"},y}(cn),vC=Dn([{name:\"a_pos\",components:2,type:\"Int16\"}],4),U9=vC.members,Pw=M1,pC=M1;function M1(m,y,I){I=I||2;var U=y&&y.length,J=U?y[0]*I:m.length,ne=Iw(m,0,J,I,!0),fe=[];if(!ne||ne.next===ne.prev)return fe;var Fe,Qe,st,mt,Xt,ur,nr;if(U&&(ne=lm(m,y,ne,I)),m.length>80*I){Fe=st=m[0],Qe=mt=m[1];for(var Lr=I;Lr<J;Lr+=I)Xt=m[Lr],ur=m[Lr+1],Xt<Fe&&(Fe=Xt),ur<Qe&&(Qe=ur),Xt>st&&(st=Xt),ur>mt&&(mt=ur);nr=Math.max(st-Fe,mt-Qe),nr=nr!==0?1/nr:0}return jx(ne,fe,I,Fe,Qe,nr),fe}function Iw(m,y,I,U,J){var ne,fe;if(J===uS(m,y,I,U)>0)for(ne=y;ne<I;ne+=U)fe=xC(ne,m[ne],m[ne+1],fe);else for(ne=I-U;ne>=y;ne-=U)fe=xC(ne,m[ne],m[ne+1],fe);return fe&&Zx(fe,fe.next)&&(Kx(fe),fe=fe.next),fe}function sm(m,y){if(!m)return m;y||(y=m);var I=m,U;do if(U=!1,!I.steiner&&(Zx(I,I.next)||tf(I.prev,I,I.next)===0)){if(Kx(I),I=y=I.prev,I===I.next)break;U=!0}else I=I.next;while(U||I!==y);return y}function jx(m,y,I,U,J,ne,fe){if(m){!fe&&ne&&Rw(m,U,J,ne);for(var Fe=m,Qe,st;m.prev!==m.next;){if(Qe=m.prev,st=m.next,ne?mC(m,U,J,ne):gC(m)){y.push(Qe.i/I),y.push(m.i/I),y.push(st.i/I),Kx(m),m=st.next,Fe=st.next;continue}if(m=st,m===Fe){fe?fe===1?(m=Wx(sm(m),y,I),jx(m,y,I,U,J,ne,2)):fe===2&&v0(m,y,I,U,J,ne):jx(sm(m),y,I,U,J,ne,1);break}}}}function gC(m){var y=m.prev,I=m,U=m.next;if(tf(y,I,U)>=0)return!1;for(var J=m.next.next;J!==m.prev;){if(um(y.x,y.y,I.x,I.y,U.x,U.y,J.x,J.y)&&tf(J.prev,J,J.next)>=0)return!1;J=J.next}return!0}function mC(m,y,I,U){var J=m.prev,ne=m,fe=m.next;if(tf(J,ne,fe)>=0)return!1;for(var Fe=J.x<ne.x?J.x<fe.x?J.x:fe.x:ne.x<fe.x?ne.x:fe.x,Qe=J.y<ne.y?J.y<fe.y?J.y:fe.y:ne.y<fe.y?ne.y:fe.y,st=J.x>ne.x?J.x>fe.x?J.x:fe.x:ne.x>fe.x?ne.x:fe.x,mt=J.y>ne.y?J.y>fe.y?J.y:fe.y:ne.y>fe.y?ne.y:fe.y,Xt=aS(Fe,Qe,y,I,U),ur=aS(st,mt,y,I,U),nr=m.prevZ,Lr=m.nextZ;nr&&nr.z>=Xt&&Lr&&Lr.z<=ur;){if(nr!==m.prev&&nr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,nr.x,nr.y)&&tf(nr.prev,nr,nr.next)>=0||(nr=nr.prevZ,Lr!==m.prev&&Lr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,Lr.x,Lr.y)&&tf(Lr.prev,Lr,Lr.next)>=0))return!1;Lr=Lr.nextZ}for(;nr&&nr.z>=Xt;){if(nr!==m.prev&&nr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,nr.x,nr.y)&&tf(nr.prev,nr,nr.next)>=0)return!1;nr=nr.prevZ}for(;Lr&&Lr.z<=ur;){if(Lr!==m.prev&&Lr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,Lr.x,Lr.y)&&tf(Lr.prev,Lr,Lr.next)>=0)return!1;Lr=Lr.nextZ}return!0}function Wx(m,y,I){var U=m;do{var J=U.prev,ne=U.next.next;!Zx(J,ne)&&Dw(J,U,U.next,ne)&&Yx(J,ne)&&Yx(ne,J)&&(y.push(J.i/I),y.push(U.i/I),y.push(ne.i/I),Kx(U),Kx(U.next),U=m=ne),U=U.next}while(U!==m);return sm(U)}function v0(m,y,I,U,J,ne){var fe=m;do{for(var Fe=fe.next.next;Fe!==fe.prev;){if(fe.i!==Fe.i&&E1(fe,Fe)){var Qe=sS(fe,Fe);fe=sm(fe,fe.next),Qe=sm(Qe,Qe.next),jx(fe,y,I,U,J,ne),jx(Qe,y,I,U,J,ne);return}Fe=Fe.next}fe=fe.next}while(fe!==m)}function lm(m,y,I,U){var J=[],ne,fe,Fe,Qe,st;for(ne=0,fe=y.length;ne<fe;ne++)Fe=y[ne]*U,Qe=ne<fe-1?y[ne+1]*U:m.length,st=Iw(m,Fe,Qe,U,!1),st===st.next&&(st.steiner=!0),J.push(oS(st));for(J.sort(yC),ne=0;ne<J.length;ne++)iS(J[ne],I),I=sm(I,I.next);return I}function yC(m,y){return m.x-y.x}function iS(m,y){if(y=V9(m,y),y){var I=sS(y,m);sm(y,y.next),sm(I,I.next)}}function V9(m,y){var I=y,U=m.x,J=m.y,ne=-1/0,fe;do{if(J<=I.y&&J>=I.next.y&&I.next.y!==I.y){var Fe=I.x+(J-I.y)*(I.next.x-I.x)/(I.next.y-I.y);if(Fe<=U&&Fe>ne){if(ne=Fe,Fe===U){if(J===I.y)return I;if(J===I.next.y)return I.next}fe=I.x<I.next.x?I:I.next}}I=I.next}while(I!==y);if(!fe)return null;if(U===ne)return fe;var Qe=fe,st=fe.x,mt=fe.y,Xt=1/0,ur;I=fe;do U>=I.x&&I.x>=st&&U!==I.x&&um(J<mt?U:ne,J,st,mt,J<mt?ne:U,J,I.x,I.y)&&(ur=Math.abs(J-I.y)/(U-I.x),Yx(I,m)&&(ur<Xt||ur===Xt&&(I.x>fe.x||I.x===fe.x&&H9(fe,I)))&&(fe=I,Xt=ur)),I=I.next;while(I!==Qe);return fe}function H9(m,y){return tf(m.prev,m,y.prev)<0&&tf(y.next,m,m.next)<0}function Rw(m,y,I,U){var J=m;do J.z===null&&(J.z=aS(J.x,J.y,y,I,U)),J.prevZ=J.prev,J.nextZ=J.next,J=J.next;while(J!==m);J.prevZ.nextZ=null,J.prevZ=null,nS(J)}function nS(m){var y,I,U,J,ne,fe,Fe,Qe,st=1;do{for(I=m,m=null,ne=null,fe=0;I;){for(fe++,U=I,Fe=0,y=0;y<st&&(Fe++,U=U.nextZ,!!U);y++);for(Qe=st;Fe>0||Qe>0&&U;)Fe!==0&&(Qe===0||!U||I.z<=U.z)?(J=I,I=I.nextZ,Fe--):(J=U,U=U.nextZ,Qe--),ne?ne.nextZ=J:m=J,J.prevZ=ne,ne=J;I=U}ne.nextZ=null,st*=2}while(fe>1);return m}function aS(m,y,I,U,J){return m=32767*(m-I)*J,y=32767*(y-U)*J,m=(m|m<<8)&16711935,m=(m|m<<4)&252645135,m=(m|m<<2)&858993459,m=(m|m<<1)&1431655765,y=(y|y<<8)&16711935,y=(y|y<<4)&252645135,y=(y|y<<2)&858993459,y=(y|y<<1)&1431655765,m|y<<1}function oS(m){var y=m,I=m;do(y.x<I.x||y.x===I.x&&y.y<I.y)&&(I=y),y=y.next;while(y!==m);return I}function um(m,y,I,U,J,ne,fe,Fe){return(J-fe)*(y-Fe)-(m-fe)*(ne-Fe)>=0&&(m-fe)*(U-Fe)-(I-fe)*(y-Fe)>=0&&(I-fe)*(ne-Fe)-(J-fe)*(U-Fe)>=0}function E1(m,y){return m.next.i!==y.i&&m.prev.i!==y.i&&!_C(m,y)&&(Yx(m,y)&&Yx(y,m)&&G9(m,y)&&(tf(m.prev,m,y.prev)||tf(m,y.prev,y))||Zx(m,y)&&tf(m.prev,m,m.next)>0&&tf(y.prev,y,y.next)>0)}function tf(m,y,I){return(y.y-m.y)*(I.x-y.x)-(y.x-m.x)*(I.y-y.y)}function Zx(m,y){return m.x===y.x&&m.y===y.y}function Dw(m,y,I,U){var J=uy(tf(m,y,I)),ne=uy(tf(m,y,U)),fe=uy(tf(I,U,m)),Fe=uy(tf(I,U,y));return!!(J!==ne&&fe!==Fe||J===0&&Xx(m,I,y)||ne===0&&Xx(m,U,y)||fe===0&&Xx(I,m,U)||Fe===0&&Xx(I,y,U))}function Xx(m,y,I){return y.x<=Math.max(m.x,I.x)&&y.x>=Math.min(m.x,I.x)&&y.y<=Math.max(m.y,I.y)&&y.y>=Math.min(m.y,I.y)}function uy(m){return m>0?1:m<0?-1:0}function _C(m,y){var I=m;do{if(I.i!==m.i&&I.next.i!==m.i&&I.i!==y.i&&I.next.i!==y.i&&Dw(I,I.next,m,y))return!0;I=I.next}while(I!==m);return!1}function Yx(m,y){return tf(m.prev,m,m.next)<0?tf(m,y,m.next)>=0&&tf(m,m.prev,y)>=0:tf(m,y,m.prev)<0||tf(m,m.next,y)<0}function G9(m,y){var I=m,U=!1,J=(m.x+y.x)/2,ne=(m.y+y.y)/2;do I.y>ne!=I.next.y>ne&&I.next.y!==I.y&&J<(I.next.x-I.x)*(ne-I.y)/(I.next.y-I.y)+I.x&&(U=!U),I=I.next;while(I!==m);return U}function sS(m,y){var I=new lS(m.i,m.x,m.y),U=new lS(y.i,y.x,y.y),J=m.next,ne=y.prev;return m.next=y,y.prev=m,I.next=J,J.prev=I,U.next=I,I.prev=U,ne.next=U,U.prev=ne,U}function xC(m,y,I,U){var J=new lS(m,y,I);return U?(J.next=U.next,J.prev=U,U.next.prev=J,U.next=J):(J.prev=J,J.next=J),J}function Kx(m){m.next.prev=m.prev,m.prev.next=m.next,m.prevZ&&(m.prevZ.nextZ=m.nextZ),m.nextZ&&(m.nextZ.prevZ=m.prevZ)}function lS(m,y,I){this.i=m,this.x=y,this.y=I,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}M1.deviation=function(m,y,I,U){var J=y&&y.length,ne=J?y[0]*I:m.length,fe=Math.abs(uS(m,0,ne,I));if(J)for(var Fe=0,Qe=y.length;Fe<Qe;Fe++){var st=y[Fe]*I,mt=Fe<Qe-1?y[Fe+1]*I:m.length;fe-=Math.abs(uS(m,st,mt,I))}var Xt=0;for(Fe=0;Fe<U.length;Fe+=3){var ur=U[Fe]*I,nr=U[Fe+1]*I,Lr=U[Fe+2]*I;Xt+=Math.abs((m[ur]-m[Lr])*(m[nr+1]-m[ur+1])-(m[ur]-m[nr])*(m[Lr+1]-m[ur+1]))}return fe===0&&Xt===0?0:Math.abs((Xt-fe)/fe)};function uS(m,y,I,U){for(var J=0,ne=y,fe=I-U;ne<I;ne+=U)J+=(m[fe]-m[ne])*(m[ne+1]+m[fe+1]),fe=ne;return J}M1.flatten=function(m){for(var y=m[0][0].length,I={vertices:[],holes:[],dimensions:y},U=0,J=0;J<m.length;J++){for(var ne=0;ne<m[J].length;ne++)for(var fe=0;fe<y;fe++)I.vertices.push(m[J][ne][fe]);J>0&&(U+=m[J-1].length,I.holes.push(U))}return I},Pw.default=pC;function cS(m,y,I,U,J){dg(m,y,I||0,U||m.length-1,J||bC)}function dg(m,y,I,U,J){for(;U>I;){if(U-I>600){var ne=U-I+1,fe=y-I+1,Fe=Math.log(ne),Qe=.5*Math.exp(2*Fe/3),st=.5*Math.sqrt(Fe*Qe*(ne-Qe)/ne)*(fe-ne/2<0?-1:1),mt=Math.max(I,Math.floor(y-fe*Qe/ne+st)),Xt=Math.min(U,Math.floor(y+(ne-fe)*Qe/ne+st));dg(m,y,mt,Xt,J)}var ur=m[y],nr=I,Lr=U;for(k1(m,I,y),J(m[U],ur)>0&&k1(m,I,U);nr<Lr;){for(k1(m,nr,Lr),nr++,Lr--;J(m[nr],ur)<0;)nr++;for(;J(m[Lr],ur)>0;)Lr--}J(m[I],ur)===0?k1(m,I,Lr):(Lr++,k1(m,Lr,U)),Lr<=y&&(I=Lr+1),y<=Lr&&(U=Lr-1)}}function k1(m,y,I){var U=m[y];m[y]=m[I],m[I]=U}function bC(m,y){return m<y?-1:m>y?1:0}function zw(m,y){var I=m.length;if(I<=1)return[m];for(var U=[],J,ne,fe=0;fe<I;fe++){var Fe=_e(m[fe]);Fe!==0&&(m[fe].area=Math.abs(Fe),ne===void 0&&(ne=Fe<0),ne===Fe<0?(J&&U.push(J),J=[m[fe]]):J.push(m[fe]))}if(J&&U.push(J),y>1)for(var Qe=0;Qe<U.length;Qe++)U[Qe].length<=y||(cS(U[Qe],y,1,U[Qe].length-1,wC),U[Qe]=U[Qe].slice(0,y));return U}function wC(m,y){return y.area-m.area}function Fw(m,y,I){for(var U=I.patternDependencies,J=!1,ne=0,fe=y;ne<fe.length;ne+=1){var Fe=fe[ne],Qe=Fe.paint.get(m+\"-pattern\");Qe.isConstant()||(J=!0);var st=Qe.constantOr(null);st&&(J=!0,U[st.to]=!0,U[st.from]=!0)}return J}function Jx(m,y,I,U,J){for(var ne=J.patternDependencies,fe=0,Fe=y;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=Qe.paint.get(m+\"-pattern\"),mt=st.value;if(mt.kind!==\"constant\"){var Xt=mt.evaluate({zoom:U-1},I,{},J.availableImages),ur=mt.evaluate({zoom:U},I,{},J.availableImages),nr=mt.evaluate({zoom:U+1},I,{},J.availableImages);Xt=Xt&&Xt.name?Xt.name:Xt,ur=ur&&ur.name?ur.name:ur,nr=nr&&nr.name?nr.name:nr,ne[Xt]=!0,ne[ur]=!0,ne[nr]=!0,I.patterns[Qe.id]={min:Xt,mid:ur,max:nr}}}return I}var $x=500,gp=function(y){this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=y.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ji,this.indexArray=new ma,this.indexArray2=new Po,this.programConfigurations=new Ri(y.layers,y.zoom),this.segments=new ns,this.segments2=new ns,this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};gp.prototype.populate=function(y,I,U){this.hasPattern=Fw(\"fill\",this.layers,I);for(var J=this.layers[0].layout.get(\"fill-sort-key\"),ne=[],fe=0,Fe=y;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=Qe.feature,mt=Qe.id,Xt=Qe.index,ur=Qe.sourceLayerIndex,nr=this.layers[0]._featureFilter.needGeometry,Lr=No(st,nr);if(this.layers[0]._featureFilter.filter(new pn(this.zoom),Lr,U)){var Yr=J?J.evaluate(Lr,{},U,I.availableImages):void 0,_i={id:mt,properties:st.properties,type:st.type,sourceLayerIndex:ur,index:Xt,geometry:nr?Lr.geometry:da(st),patterns:{},sortKey:Yr};ne.push(_i)}}J&&ne.sort(function(_a,Pa){return _a.sortKey-Pa.sortKey});for(var si=0,Hi=ne;si<Hi.length;si+=1){var Ei=Hi[si],Vi=Ei,en=Vi.geometry,An=Vi.index,ra=Vi.sourceLayerIndex;if(this.hasPattern){var $n=Jx(\"fill\",this.layers,Ei,this.zoom,I);this.patternFeatures.push($n)}else this.addFeature(Ei,en,An,U,{});var Ba=y[An].feature;I.featureIndex.insert(Ba,en,An,ra,this.index)}},gp.prototype.update=function(y,I,U){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(y,I,this.stateDependentLayers,U)},gp.prototype.addFeatures=function(y,I,U){for(var J=0,ne=this.patternFeatures;J<ne.length;J+=1){var fe=ne[J];this.addFeature(fe,fe.geometry,fe.index,I,U)}},gp.prototype.isEmpty=function(){return this.layoutVertexArray.length===0},gp.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},gp.prototype.upload=function(y){this.uploaded||(this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,U9),this.indexBuffer=y.createIndexBuffer(this.indexArray),this.indexBuffer2=y.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(y),this.uploaded=!0},gp.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())},gp.prototype.addFeature=function(y,I,U,J,ne){for(var fe=0,Fe=zw(I,$x);fe<Fe.length;fe+=1){for(var Qe=Fe[fe],st=0,mt=0,Xt=Qe;mt<Xt.length;mt+=1){var ur=Xt[mt];st+=ur.length}for(var nr=this.segments.prepareSegment(st,this.layoutVertexArray,this.indexArray),Lr=nr.vertexLength,Yr=[],_i=[],si=0,Hi=Qe;si<Hi.length;si+=1){var Ei=Hi[si];if(Ei.length!==0){Ei!==Qe[0]&&_i.push(Yr.length/2);var Vi=this.segments2.prepareSegment(Ei.length,this.layoutVertexArray,this.indexArray2),en=Vi.vertexLength;this.layoutVertexArray.emplaceBack(Ei[0].x,Ei[0].y),this.indexArray2.emplaceBack(en+Ei.length-1,en),Yr.push(Ei[0].x),Yr.push(Ei[0].y);for(var An=1;An<Ei.length;An++)this.layoutVertexArray.emplaceBack(Ei[An].x,Ei[An].y),this.indexArray2.emplaceBack(en+An-1,en+An),Yr.push(Ei[An].x),Yr.push(Ei[An].y);Vi.vertexLength+=Ei.length,Vi.primitiveLength+=Ei.length}}for(var ra=Pw(Yr,_i),$n=0;$n<ra.length;$n+=3)this.indexArray.emplaceBack(Lr+ra[$n],Lr+ra[$n+1],Lr+ra[$n+2]);nr.vertexLength+=st,nr.primitiveLength+=ra.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,y,U,ne,J)},Z(\"FillBucket\",gp,{omit:[\"layers\",\"patternFeatures\"]});var fS=new Oi({\"fill-sort-key\":new Er(on.layout_fill[\"fill-sort-key\"])}),TC=new Oi({\"fill-antialias\":new At(on.paint_fill[\"fill-antialias\"]),\"fill-opacity\":new Er(on.paint_fill[\"fill-opacity\"]),\"fill-color\":new Er(on.paint_fill[\"fill-color\"]),\"fill-outline-color\":new Er(on.paint_fill[\"fill-outline-color\"]),\"fill-translate\":new At(on.paint_fill[\"fill-translate\"]),\"fill-translate-anchor\":new At(on.paint_fill[\"fill-translate-anchor\"]),\"fill-pattern\":new Wr(on.paint_fill[\"fill-pattern\"])}),Jv={paint:TC,layout:fS},Qx=function(m){function y(I){m.call(this,I,Jv)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.recalculate=function(U,J){m.prototype.recalculate.call(this,U,J);var ne=this.paint._values[\"fill-outline-color\"];ne.value.kind===\"constant\"&&ne.value.value===void 0&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"])},y.prototype.createBucket=function(U){return new gp(U)},y.prototype.queryRadius=function(){return kv(this.paint.get(\"fill-translate\"))},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st){var mt=Kv(U,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),Qe.angle,st);return tl(mt,fe)},y.prototype.isTileClipped=function(){return!0},y}(cn),AC=Dn([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal_ed\",components:4,type:\"Int16\"}],4),SC=AC.members,hS=cy;function cy(m,y,I,U,J){this.properties={},this.extent=I,this.type=0,this._pbf=m,this._geometry=-1,this._keys=U,this._values=J,m.readFields(MC,this,y)}function MC(m,y,I){m==1?y.id=I.readVarint():m==2?EC(I,y):m==3?y.type=I.readVarint():m==4&&(y._geometry=I.pos)}function EC(m,y){for(var I=m.readVarint()+m.pos;m.pos<I;){var U=y._keys[m.readVarint()],J=y._values[m.readVarint()];y.properties[U]=J}}cy.types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],cy.prototype.loadGeometry=function(){var m=this._pbf;m.pos=this._geometry;for(var y=m.readVarint()+m.pos,I=1,U=0,J=0,ne=0,fe=[],Fe;m.pos<y;){if(U<=0){var Qe=m.readVarint();I=Qe&7,U=Qe>>3}if(U--,I===1||I===2)J+=m.readSVarint(),ne+=m.readSVarint(),I===1&&(Fe&&fe.push(Fe),Fe=[]),Fe.push(new u(J,ne));else if(I===7)Fe&&Fe.push(Fe[0].clone());else throw new Error(\"unknown command \"+I)}return Fe&&fe.push(Fe),fe},cy.prototype.bbox=function(){var m=this._pbf;m.pos=this._geometry;for(var y=m.readVarint()+m.pos,I=1,U=0,J=0,ne=0,fe=1/0,Fe=-1/0,Qe=1/0,st=-1/0;m.pos<y;){if(U<=0){var mt=m.readVarint();I=mt&7,U=mt>>3}if(U--,I===1||I===2)J+=m.readSVarint(),ne+=m.readSVarint(),J<fe&&(fe=J),J>Fe&&(Fe=J),ne<Qe&&(Qe=ne),ne>st&&(st=ne);else if(I!==7)throw new Error(\"unknown command \"+I)}return[fe,Qe,Fe,st]},cy.prototype.toGeoJSON=function(m,y,I){var U=this.extent*Math.pow(2,I),J=this.extent*m,ne=this.extent*y,fe=this.loadGeometry(),Fe=cy.types[this.type],Qe,st;function mt(nr){for(var Lr=0;Lr<nr.length;Lr++){var Yr=nr[Lr],_i=180-(Yr.y+ne)*360/U;nr[Lr]=[(Yr.x+J)*360/U-180,360/Math.PI*Math.atan(Math.exp(_i*Math.PI/180))-90]}}switch(this.type){case 1:var Xt=[];for(Qe=0;Qe<fe.length;Qe++)Xt[Qe]=fe[Qe][0];fe=Xt,mt(fe);break;case 2:for(Qe=0;Qe<fe.length;Qe++)mt(fe[Qe]);break;case 3:for(fe=j9(fe),Qe=0;Qe<fe.length;Qe++)for(st=0;st<fe[Qe].length;st++)mt(fe[Qe][st]);break}fe.length===1?fe=fe[0]:Fe=\"Multi\"+Fe;var ur={type:\"Feature\",geometry:{type:Fe,coordinates:fe},properties:this.properties};return\"id\"in this&&(ur.id=this.id),ur};function j9(m){var y=m.length;if(y<=1)return[m];for(var I=[],U,J,ne=0;ne<y;ne++){var fe=kC(m[ne]);fe!==0&&(J===void 0&&(J=fe<0),J===fe<0?(U&&I.push(U),U=[m[ne]]):U.push(m[ne]))}return U&&I.push(U),I}function kC(m){for(var y=0,I=0,U=m.length,J=U-1,ne,fe;I<U;J=I++)ne=m[I],fe=m[J],y+=(fe.x-ne.x)*(ne.y+fe.y);return y}var vg=dS;function dS(m,y){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=m,this._keys=[],this._values=[],this._features=[],m.readFields(CC,this,y),this.length=this._features.length}function CC(m,y,I){m===15?y.version=I.readVarint():m===1?y.name=I.readString():m===5?y.extent=I.readVarint():m===2?y._features.push(I.pos):m===3?y._keys.push(I.readString()):m===4&&y._values.push(LC(I))}function LC(m){for(var y=null,I=m.readVarint()+m.pos;m.pos<I;){var U=m.readVarint()>>3;y=U===1?m.readString():U===2?m.readFloat():U===3?m.readDouble():U===4?m.readVarint64():U===5?m.readVarint():U===6?m.readSVarint():U===7?m.readBoolean():null}return y}dS.prototype.feature=function(m){if(m<0||m>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[m];var y=this._pbf.readVarint()+this._pbf.pos;return new hS(this._pbf,y,this.extent,this._keys,this._values)};var PC=W9;function W9(m,y){this.layers=m.readFields(Z9,{},y)}function Z9(m,y,I){if(m===3){var U=new vg(I,I.readVarint()+I.pos);U.length&&(y[U.name]=U)}}var IC=PC,C1=hS,RC=vg,pg={VectorTile:IC,VectorTileFeature:C1,VectorTileLayer:RC},DC=pg.VectorTileFeature.types,qw=500,L1=Math.pow(2,13);function cm(m,y,I,U,J,ne,fe,Fe){m.emplaceBack(y,I,Math.floor(U*L1)*2+fe,J*L1*2,ne*L1*2,Math.round(Fe))}var Hp=function(y){this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=y.index,this.hasPattern=!1,this.layoutVertexArray=new Un,this.indexArray=new ma,this.programConfigurations=new Ri(y.layers,y.zoom),this.segments=new ns,this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};Hp.prototype.populate=function(y,I,U){this.features=[],this.hasPattern=Fw(\"fill-extrusion\",this.layers,I);for(var J=0,ne=y;J<ne.length;J+=1){var fe=ne[J],Fe=fe.feature,Qe=fe.id,st=fe.index,mt=fe.sourceLayerIndex,Xt=this.layers[0]._featureFilter.needGeometry,ur=No(Fe,Xt);if(this.layers[0]._featureFilter.filter(new pn(this.zoom),ur,U)){var nr={id:Qe,sourceLayerIndex:mt,index:st,geometry:Xt?ur.geometry:da(Fe),properties:Fe.properties,type:Fe.type,patterns:{}};this.hasPattern?this.features.push(Jx(\"fill-extrusion\",this.layers,nr,this.zoom,I)):this.addFeature(nr,nr.geometry,st,U,{}),I.featureIndex.insert(Fe,nr.geometry,st,mt,this.index,!0)}}},Hp.prototype.addFeatures=function(y,I,U){for(var J=0,ne=this.features;J<ne.length;J+=1){var fe=ne[J],Fe=fe.geometry;this.addFeature(fe,Fe,fe.index,I,U)}},Hp.prototype.update=function(y,I,U){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(y,I,this.stateDependentLayers,U)},Hp.prototype.isEmpty=function(){return this.layoutVertexArray.length===0},Hp.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Hp.prototype.upload=function(y){this.uploaded||(this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,SC),this.indexBuffer=y.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(y),this.uploaded=!0},Hp.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Hp.prototype.addFeature=function(y,I,U,J,ne){for(var fe=0,Fe=zw(I,qw);fe<Fe.length;fe+=1){for(var Qe=Fe[fe],st=0,mt=0,Xt=Qe;mt<Xt.length;mt+=1){var ur=Xt[mt];st+=ur.length}for(var nr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),Lr=0,Yr=Qe;Lr<Yr.length;Lr+=1){var _i=Yr[Lr];if(_i.length!==0&&!Y9(_i))for(var si=0,Hi=0;Hi<_i.length;Hi++){var Ei=_i[Hi];if(Hi>=1){var Vi=_i[Hi-1];if(!X9(Ei,Vi)){nr.vertexLength+4>ns.MAX_VERTEX_ARRAY_LENGTH&&(nr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var en=Ei.sub(Vi)._perp()._unit(),An=Vi.dist(Ei);si+An>32768&&(si=0),cm(this.layoutVertexArray,Ei.x,Ei.y,en.x,en.y,0,0,si),cm(this.layoutVertexArray,Ei.x,Ei.y,en.x,en.y,0,1,si),si+=An,cm(this.layoutVertexArray,Vi.x,Vi.y,en.x,en.y,0,0,si),cm(this.layoutVertexArray,Vi.x,Vi.y,en.x,en.y,0,1,si);var ra=nr.vertexLength;this.indexArray.emplaceBack(ra,ra+2,ra+1),this.indexArray.emplaceBack(ra+1,ra+2,ra+3),nr.vertexLength+=4,nr.primitiveLength+=2}}}}if(nr.vertexLength+st>ns.MAX_VERTEX_ARRAY_LENGTH&&(nr=this.segments.prepareSegment(st,this.layoutVertexArray,this.indexArray)),DC[y.type]===\"Polygon\"){for(var $n=[],Ba=[],_a=nr.vertexLength,Pa=0,qo=Qe;Pa<qo.length;Pa+=1){var Na=qo[Pa];if(Na.length!==0){Na!==Qe[0]&&Ba.push($n.length/2);for(var ja=0;ja<Na.length;ja++){var us=Na[ja];cm(this.layoutVertexArray,us.x,us.y,0,0,1,1,0),$n.push(us.x),$n.push(us.y)}}}for(var zo=Pw($n,Ba),rl=0;rl<zo.length;rl+=3)this.indexArray.emplaceBack(_a+zo[rl],_a+zo[rl+2],_a+zo[rl+1]);nr.primitiveLength+=zo.length/3,nr.vertexLength+=st}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,y,U,ne,J)},Z(\"FillExtrusionBucket\",Hp,{omit:[\"layers\",\"features\"]});function X9(m,y){return m.x===y.x&&(m.x<0||m.x>rn)||m.y===y.y&&(m.y<0||m.y>rn)}function Y9(m){return m.every(function(y){return y.x<0})||m.every(function(y){return y.x>rn})||m.every(function(y){return y.y<0})||m.every(function(y){return y.y>rn})}var P1=new Oi({\"fill-extrusion-opacity\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new Er(on[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Wr(on[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new Er(on[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new Er(on[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])}),ed={paint:P1},fm=function(m){function y(I){m.call(this,I,ed)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.createBucket=function(U){return new Hp(U)},y.prototype.queryRadius=function(){return kv(this.paint.get(\"fill-extrusion-translate\"))},y.prototype.is3D=function(){return!0},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st,mt){var Xt=Kv(U,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),Qe.angle,st),ur=this.paint.get(\"fill-extrusion-height\").evaluate(J,ne),nr=this.paint.get(\"fill-extrusion-base\").evaluate(J,ne),Lr=K9(Xt,mt,Qe,0),Yr=pS(fe,nr,ur,mt),_i=Yr[0],si=Yr[1];return zC(_i,si,Lr)},y}(cn);function fy(m,y){return m.x*y.x+m.y*y.y}function vS(m,y){if(m.length===1){for(var I=0,U=y[I++],J;!J||U.equals(J);)if(J=y[I++],!J)return 1/0;for(;I<y.length;I++){var ne=y[I],fe=m[0],Fe=J.sub(U),Qe=ne.sub(U),st=fe.sub(U),mt=fy(Fe,Fe),Xt=fy(Fe,Qe),ur=fy(Qe,Qe),nr=fy(st,Fe),Lr=fy(st,Qe),Yr=mt*ur-Xt*Xt,_i=(ur*nr-Xt*Lr)/Yr,si=(mt*Lr-Xt*nr)/Yr,Hi=1-_i-si,Ei=U.z*Hi+J.z*_i+ne.z*si;if(isFinite(Ei))return Ei}return 1/0}else{for(var Vi=1/0,en=0,An=y;en<An.length;en+=1){var ra=An[en];Vi=Math.min(Vi,ra.z)}return Vi}}function zC(m,y,I){var U=1/0;tl(I,y)&&(U=vS(I,y[0]));for(var J=0;J<y.length;J++)for(var ne=y[J],fe=m[J],Fe=0;Fe<ne.length-1;Fe++){var Qe=ne[Fe],st=ne[Fe+1],mt=fe[Fe],Xt=fe[Fe+1],ur=[Qe,st,Xt,mt,Qe];fo(I,ur)&&(U=Math.min(U,vS(I,ur)))}return U===1/0?!1:U}function pS(m,y,I,U){for(var J=[],ne=[],fe=U[8]*y,Fe=U[9]*y,Qe=U[10]*y,st=U[11]*y,mt=U[8]*I,Xt=U[9]*I,ur=U[10]*I,nr=U[11]*I,Lr=0,Yr=m;Lr<Yr.length;Lr+=1){for(var _i=Yr[Lr],si=[],Hi=[],Ei=0,Vi=_i;Ei<Vi.length;Ei+=1){var en=Vi[Ei],An=en.x,ra=en.y,$n=U[0]*An+U[4]*ra+U[12],Ba=U[1]*An+U[5]*ra+U[13],_a=U[2]*An+U[6]*ra+U[14],Pa=U[3]*An+U[7]*ra+U[15],qo=$n+fe,Na=Ba+Fe,ja=_a+Qe,us=Pa+st,zo=$n+mt,rl=Ba+Xt,su=_a+ur,il=Pa+nr,nl=new u(qo/us,Na/us);nl.z=ja/us,si.push(nl);var Ws=new u(zo/il,rl/il);Ws.z=su/il,Hi.push(Ws)}J.push(si),ne.push(Hi)}return[J,ne]}function K9(m,y,I,U){for(var J=[],ne=0,fe=m;ne<fe.length;ne+=1){var Fe=fe[ne],Qe=[Fe.x,Fe.y,U,1];ly(Qe,Qe,y),J.push(new u(Qe[0]/Qe[3],Qe[1]/Qe[3]))}return J}var FC=Dn([{name:\"a_pos_normal\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}],4),qC=FC.members,J9=Dn([{name:\"a_uv_x\",components:1,type:\"Float32\"},{name:\"a_split_index\",components:1,type:\"Float32\"}]),OC=J9.members,gS=pg.VectorTileFeature.types,Ow=63,BC=Math.cos(75/2*(Math.PI/180)),eb=15,mS=20,NC=15,Bw=1/2,tb=Math.pow(2,NC-1)/Bw,Gf=function(y){var I=this;this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(U){return U.id}),this.index=y.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(function(U){I.gradients[U.id]={}}),this.layoutVertexArray=new gn,this.layoutVertexArray2=new ca,this.indexArray=new ma,this.programConfigurations=new Ri(y.layers,y.zoom),this.segments=new ns,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(function(U){return U.isStateDependent()}).map(function(U){return U.id})};Gf.prototype.populate=function(y,I,U){this.hasPattern=Fw(\"line\",this.layers,I);for(var J=this.layers[0].layout.get(\"line-sort-key\"),ne=[],fe=0,Fe=y;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=Qe.feature,mt=Qe.id,Xt=Qe.index,ur=Qe.sourceLayerIndex,nr=this.layers[0]._featureFilter.needGeometry,Lr=No(st,nr);if(this.layers[0]._featureFilter.filter(new pn(this.zoom),Lr,U)){var Yr=J?J.evaluate(Lr,{},U):void 0,_i={id:mt,properties:st.properties,type:st.type,sourceLayerIndex:ur,index:Xt,geometry:nr?Lr.geometry:da(st),patterns:{},sortKey:Yr};ne.push(_i)}}J&&ne.sort(function(_a,Pa){return _a.sortKey-Pa.sortKey});for(var si=0,Hi=ne;si<Hi.length;si+=1){var Ei=Hi[si],Vi=Ei,en=Vi.geometry,An=Vi.index,ra=Vi.sourceLayerIndex;if(this.hasPattern){var $n=Jx(\"line\",this.layers,Ei,this.zoom,I);this.patternFeatures.push($n)}else this.addFeature(Ei,en,An,U,{});var Ba=y[An].feature;I.featureIndex.insert(Ba,en,An,ra,this.index)}},Gf.prototype.update=function(y,I,U){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(y,I,this.stateDependentLayers,U)},Gf.prototype.addFeatures=function(y,I,U){for(var J=0,ne=this.patternFeatures;J<ne.length;J+=1){var fe=ne[J];this.addFeature(fe,fe.geometry,fe.index,I,U)}},Gf.prototype.isEmpty=function(){return this.layoutVertexArray.length===0},Gf.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Gf.prototype.upload=function(y){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=y.createVertexBuffer(this.layoutVertexArray2,OC)),this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,qC),this.indexBuffer=y.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(y),this.uploaded=!0},Gf.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Gf.prototype.lineFeatureClips=function(y){if(y.properties&&y.properties.hasOwnProperty(\"mapbox_clip_start\")&&y.properties.hasOwnProperty(\"mapbox_clip_end\")){var I=+y.properties.mapbox_clip_start,U=+y.properties.mapbox_clip_end;return{start:I,end:U}}},Gf.prototype.addFeature=function(y,I,U,J,ne){var fe=this.layers[0].layout,Fe=fe.get(\"line-join\").evaluate(y,{}),Qe=fe.get(\"line-cap\"),st=fe.get(\"line-miter-limit\"),mt=fe.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(y);for(var Xt=0,ur=I;Xt<ur.length;Xt+=1){var nr=ur[Xt];this.addLine(nr,y,Fe,Qe,st,mt)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,y,U,ne,J)},Gf.prototype.addLine=function(y,I,U,J,ne,fe){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(var Fe=0;Fe<y.length-1;Fe++)this.totalDistance+=y[Fe].dist(y[Fe+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}for(var Qe=gS[I.type]===\"Polygon\",st=y.length;st>=2&&y[st-1].equals(y[st-2]);)st--;for(var mt=0;mt<st-1&&y[mt].equals(y[mt+1]);)mt++;if(!(st<(Qe?3:2))){U===\"bevel\"&&(ne=1.05);var Xt=this.overscaling<=16?eb*rn/(512*this.overscaling):0,ur=this.segments.prepareSegment(st*10,this.layoutVertexArray,this.indexArray),nr,Lr=void 0,Yr=void 0,_i=void 0,si=void 0;this.e1=this.e2=-1,Qe&&(nr=y[st-2],si=y[mt].sub(nr)._unit()._perp());for(var Hi=mt;Hi<st;Hi++)if(Yr=Hi===st-1?Qe?y[mt+1]:void 0:y[Hi+1],!(Yr&&y[Hi].equals(Yr))){si&&(_i=si),nr&&(Lr=nr),nr=y[Hi],si=Yr?Yr.sub(nr)._unit()._perp():_i,_i=_i||si;var Ei=_i.add(si);(Ei.x!==0||Ei.y!==0)&&Ei._unit();var Vi=_i.x*si.x+_i.y*si.y,en=Ei.x*si.x+Ei.y*si.y,An=en!==0?1/en:1/0,ra=2*Math.sqrt(2-2*en),$n=en<BC&&Lr&&Yr,Ba=_i.x*si.y-_i.y*si.x>0;if($n&&Hi>mt){var _a=nr.dist(Lr);if(_a>2*Xt){var Pa=nr.sub(nr.sub(Lr)._mult(Xt/_a)._round());this.updateDistance(Lr,Pa),this.addCurrentVertex(Pa,_i,0,0,ur),Lr=Pa}}var qo=Lr&&Yr,Na=qo?U:Qe?\"butt\":J;if(qo&&Na===\"round\"&&(An<fe?Na=\"miter\":An<=2&&(Na=\"fakeround\")),Na===\"miter\"&&An>ne&&(Na=\"bevel\"),Na===\"bevel\"&&(An>2&&(Na=\"flipbevel\"),An<ne&&(Na=\"miter\")),Lr&&this.updateDistance(Lr,nr),Na===\"miter\")Ei._mult(An),this.addCurrentVertex(nr,Ei,0,0,ur);else if(Na===\"flipbevel\"){if(An>100)Ei=si.mult(-1);else{var ja=An*_i.add(si).mag()/_i.sub(si).mag();Ei._perp()._mult(ja*(Ba?-1:1))}this.addCurrentVertex(nr,Ei,0,0,ur),this.addCurrentVertex(nr,Ei.mult(-1),0,0,ur)}else if(Na===\"bevel\"||Na===\"fakeround\"){var us=-Math.sqrt(An*An-1),zo=Ba?us:0,rl=Ba?0:us;if(Lr&&this.addCurrentVertex(nr,_i,zo,rl,ur),Na===\"fakeround\")for(var su=Math.round(ra*180/Math.PI/mS),il=1;il<su;il++){var nl=il/su;if(nl!==.5){var Ws=nl-.5,Au=1.0904+Vi*(-3.2452+Vi*(3.55645-Vi*1.43519)),Ou=.848013+Vi*(-1.06021+Vi*.215638);nl=nl+nl*Ws*(nl-1)*(Au*Ws*Ws+Ou)}var nf=si.sub(_i)._mult(nl)._add(_i)._unit()._mult(Ba?-1:1);this.addHalfVertex(nr,nf.x,nf.y,!1,Ba,0,ur)}Yr&&this.addCurrentVertex(nr,si,-zo,-rl,ur)}else if(Na===\"butt\")this.addCurrentVertex(nr,Ei,0,0,ur);else if(Na===\"square\"){var bf=Lr?1:-1;this.addCurrentVertex(nr,Ei,bf,bf,ur)}else Na===\"round\"&&(Lr&&(this.addCurrentVertex(nr,_i,0,0,ur),this.addCurrentVertex(nr,_i,1,1,ur,!0)),Yr&&(this.addCurrentVertex(nr,si,-1,-1,ur,!0),this.addCurrentVertex(nr,si,0,0,ur)));if($n&&Hi<st-1){var qh=nr.dist(Yr);if(qh>2*Xt){var Zf=nr.add(Yr.sub(nr)._mult(Xt/qh)._round());this.updateDistance(nr,Zf),this.addCurrentVertex(Zf,si,0,0,ur),nr=Zf}}}}},Gf.prototype.addCurrentVertex=function(y,I,U,J,ne,fe){fe===void 0&&(fe=!1);var Fe=I.x+I.y*U,Qe=I.y-I.x*U,st=-I.x+I.y*J,mt=-I.y-I.x*J;this.addHalfVertex(y,Fe,Qe,fe,!1,U,ne),this.addHalfVertex(y,st,mt,fe,!0,-J,ne),this.distance>tb/2&&this.totalDistance===0&&(this.distance=0,this.addCurrentVertex(y,I,U,J,ne,fe))},Gf.prototype.addHalfVertex=function(y,I,U,J,ne,fe,Fe){var Qe=y.x,st=y.y,mt=this.lineClips?this.scaledDistance*(tb-1):this.scaledDistance,Xt=mt*Bw;if(this.layoutVertexArray.emplaceBack((Qe<<1)+(J?1:0),(st<<1)+(ne?1:0),Math.round(Ow*I)+128,Math.round(Ow*U)+128,(fe===0?0:fe<0?-1:1)+1|(Xt&63)<<2,Xt>>6),this.lineClips){var ur=this.scaledDistance-this.lineClips.start,nr=this.lineClips.end-this.lineClips.start,Lr=ur/nr;this.layoutVertexArray2.emplaceBack(Lr,this.lineClipsArray.length)}var Yr=Fe.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Yr),Fe.primitiveLength++),ne?this.e2=Yr:this.e1=Yr},Gf.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},Gf.prototype.updateDistance=function(y,I){this.distance+=y.dist(I),this.updateScaledDistance()},Z(\"LineBucket\",Gf,{omit:[\"layers\",\"patternFeatures\"]});var yS=new Oi({\"line-cap\":new At(on.layout_line[\"line-cap\"]),\"line-join\":new Er(on.layout_line[\"line-join\"]),\"line-miter-limit\":new At(on.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new At(on.layout_line[\"line-round-limit\"]),\"line-sort-key\":new Er(on.layout_line[\"line-sort-key\"])}),_S=new Oi({\"line-opacity\":new Er(on.paint_line[\"line-opacity\"]),\"line-color\":new Er(on.paint_line[\"line-color\"]),\"line-translate\":new At(on.paint_line[\"line-translate\"]),\"line-translate-anchor\":new At(on.paint_line[\"line-translate-anchor\"]),\"line-width\":new Er(on.paint_line[\"line-width\"]),\"line-gap-width\":new Er(on.paint_line[\"line-gap-width\"]),\"line-offset\":new Er(on.paint_line[\"line-offset\"]),\"line-blur\":new Er(on.paint_line[\"line-blur\"]),\"line-dasharray\":new wi(on.paint_line[\"line-dasharray\"]),\"line-pattern\":new Wr(on.paint_line[\"line-pattern\"]),\"line-gradient\":new Ui(on.paint_line[\"line-gradient\"])}),Nw={paint:_S,layout:yS},$9=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.possiblyEvaluate=function(U,J){return J=new pn(Math.floor(J.zoom),{now:J.now,fadeDuration:J.fadeDuration,zoomHistory:J.zoomHistory,transition:J.transition}),m.prototype.possiblyEvaluate.call(this,U,J)},y.prototype.evaluate=function(U,J,ne,fe){return J=_({},J,{zoom:Math.floor(J.zoom)}),m.prototype.evaluate.call(this,U,J,ne,fe)},y}(Er),R=new $9(Nw.paint.properties[\"line-width\"].specification);R.useIntegerZoom=!0;var S=function(m){function y(I){m.call(this,I,Nw),this.gradientVersion=0}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._handleSpecialPaintPropertyUpdate=function(U){if(U===\"line-gradient\"){var J=this._transitionablePaint._values[\"line-gradient\"].value.expression;this.stepInterpolant=J._styleExpression.expression instanceof yu,this.gradientVersion=(this.gradientVersion+1)%d}},y.prototype.gradientExpression=function(){return this._transitionablePaint._values[\"line-gradient\"].value.expression},y.prototype.recalculate=function(U,J){m.prototype.recalculate.call(this,U,J),this.paint._values[\"line-floorwidth\"]=R.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,U)},y.prototype.createBucket=function(U){return new Gf(U)},y.prototype.queryRadius=function(U){var J=U,ne=D(xd(\"line-width\",this,J),xd(\"line-gap-width\",this,J)),fe=xd(\"line-offset\",this,J);return ne/2+Math.abs(fe)+kv(this.paint.get(\"line-translate\"))},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st){var mt=Kv(U,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),Qe.angle,st),Xt=st/2*D(this.paint.get(\"line-width\").evaluate(J,ne),this.paint.get(\"line-gap-width\").evaluate(J,ne)),ur=this.paint.get(\"line-offset\").evaluate(J,ne);return ur&&(fe=j(fe,ur*st)),zu(mt,fe,Xt)},y.prototype.isTileClipped=function(){return!0},y}(cn);function D(m,y){return y>0?y+2*m:m}function j(m,y){for(var I=[],U=new u(0,0),J=0;J<m.length;J++){for(var ne=m[J],fe=[],Fe=0;Fe<ne.length;Fe++){var Qe=ne[Fe-1],st=ne[Fe],mt=ne[Fe+1],Xt=Fe===0?U:st.sub(Qe)._unit()._perp(),ur=Fe===ne.length-1?U:mt.sub(st)._unit()._perp(),nr=Xt._add(ur)._unit(),Lr=nr.x*ur.x+nr.y*ur.y;nr._mult(1/Lr),fe.push(nr._mult(y)._add(st))}I.push(fe)}return I}var te=Dn([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),ue=Dn([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4),ve=Dn([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4),De=Dn([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}]),Ze=Dn([{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\"}]),at=Dn([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),Tt=Dn([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4),Ft=Dn([{name:\"triangle\",components:3,type:\"Uint16\"}]),Qt=Dn([{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\"}]),sr=Dn([{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\"}]),Tr=Dn([{type:\"Float32\",name:\"offsetX\"}]),Pr=Dn([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]);function $r(m,y,I){var U=y.layout.get(\"text-transform\").evaluate(I,{});return U===\"uppercase\"?m=m.toLocaleUpperCase():U===\"lowercase\"&&(m=m.toLocaleLowerCase()),_s.applyArabicShaping&&(m=_s.applyArabicShaping(m)),m}function ni(m,y,I){return m.sections.forEach(function(U){U.text=$r(U.text,y,I)}),m}function Di(m){var y={},I={},U=[],J=0;function ne(si){U.push(m[si]),J++}function fe(si,Hi,Ei){var Vi=I[si];return delete I[si],I[Hi]=Vi,U[Vi].geometry[0].pop(),U[Vi].geometry[0]=U[Vi].geometry[0].concat(Ei[0]),Vi}function Fe(si,Hi,Ei){var Vi=y[Hi];return delete y[Hi],y[si]=Vi,U[Vi].geometry[0].shift(),U[Vi].geometry[0]=Ei[0].concat(U[Vi].geometry[0]),Vi}function Qe(si,Hi,Ei){var Vi=Ei?Hi[0][Hi[0].length-1]:Hi[0][0];return si+\":\"+Vi.x+\":\"+Vi.y}for(var st=0;st<m.length;st++){var mt=m[st],Xt=mt.geometry,ur=mt.text?mt.text.toString():null;if(!ur){ne(st);continue}var nr=Qe(ur,Xt),Lr=Qe(ur,Xt,!0);if(nr in I&&Lr in y&&I[nr]!==y[Lr]){var Yr=Fe(nr,Lr,Xt),_i=fe(nr,Lr,U[Yr].geometry);delete y[nr],delete I[Lr],I[Qe(ur,U[_i].geometry,!0)]=_i,U[Yr].geometry=null}else nr in I?fe(nr,Lr,Xt):Lr in y?Fe(nr,Lr,Xt):(ne(st),y[nr]=J-1,I[Lr]=J-1)}return U.filter(function(si){return si.geometry})}var pi={\"!\":\"\\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\"};function ki(m){for(var y=\"\",I=0;I<m.length;I++){var U=m.charCodeAt(I+1)||null,J=m.charCodeAt(I-1)||null,ne=(!U||!ui(U)||pi[m[I+1]])&&(!J||!ui(J)||pi[m[I-1]]);ne&&pi[m[I]]?y+=pi[m[I]]:y+=m[I]}return y}var Zi=24,ta=function(m,y,I,U,J){var ne,fe,Fe=J*8-U-1,Qe=(1<<Fe)-1,st=Qe>>1,mt=-7,Xt=I?J-1:0,ur=I?-1:1,nr=m[y+Xt];for(Xt+=ur,ne=nr&(1<<-mt)-1,nr>>=-mt,mt+=Fe;mt>0;ne=ne*256+m[y+Xt],Xt+=ur,mt-=8);for(fe=ne&(1<<-mt)-1,ne>>=-mt,mt+=U;mt>0;fe=fe*256+m[y+Xt],Xt+=ur,mt-=8);if(ne===0)ne=1-st;else{if(ne===Qe)return fe?NaN:(nr?-1:1)*(1/0);fe=fe+Math.pow(2,U),ne=ne-st}return(nr?-1:1)*fe*Math.pow(2,ne-U)},Va=function(m,y,I,U,J,ne){var fe,Fe,Qe,st=ne*8-J-1,mt=(1<<st)-1,Xt=mt>>1,ur=J===23?Math.pow(2,-24)-Math.pow(2,-77):0,nr=U?0:ne-1,Lr=U?1:-1,Yr=y<0||y===0&&1/y<0?1:0;for(y=Math.abs(y),isNaN(y)||y===1/0?(Fe=isNaN(y)?1:0,fe=mt):(fe=Math.floor(Math.log(y)/Math.LN2),y*(Qe=Math.pow(2,-fe))<1&&(fe--,Qe*=2),fe+Xt>=1?y+=ur/Qe:y+=ur*Math.pow(2,1-Xt),y*Qe>=2&&(fe++,Qe/=2),fe+Xt>=mt?(Fe=0,fe=mt):fe+Xt>=1?(Fe=(y*Qe-1)*Math.pow(2,J),fe=fe+Xt):(Fe=y*Math.pow(2,Xt-1)*Math.pow(2,J),fe=0));J>=8;m[I+nr]=Fe&255,nr+=Lr,Fe/=256,J-=8);for(fe=fe<<J|Fe,st+=J;st>0;m[I+nr]=fe&255,nr+=Lr,fe/=256,st-=8);m[I+nr-Lr]|=Yr*128},Io={read:ta,write:Va},La=Hn;function Hn(m){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(m)?m:new Uint8Array(m||0),this.pos=0,this.type=0,this.length=this.buf.length}Hn.Varint=0,Hn.Fixed64=1,Hn.Bytes=2,Hn.Fixed32=5;var lo=65536*65536,$a=1/lo,Xa=12,Tn=typeof TextDecoder==\"undefined\"?null:new TextDecoder(\"utf8\");Hn.prototype={destroy:function(){this.buf=null},readFields:function(m,y,I){for(I=I||this.length;this.pos<I;){var U=this.readVarint(),J=U>>3,ne=this.pos;this.type=U&7,m(J,y,this),this.pos===ne&&this.skip(U)}return y},readMessage:function(m,y){return this.readFields(m,y,this.readVarint()+this.pos)},readFixed32:function(){var m=Dh(this.buf,this.pos);return this.pos+=4,m},readSFixed32:function(){var m=Iv(this.buf,this.pos);return this.pos+=4,m},readFixed64:function(){var m=Dh(this.buf,this.pos)+Dh(this.buf,this.pos+4)*lo;return this.pos+=8,m},readSFixed64:function(){var m=Dh(this.buf,this.pos)+Iv(this.buf,this.pos+4)*lo;return this.pos+=8,m},readFloat:function(){var m=Io.read(this.buf,this.pos,!0,23,4);return this.pos+=4,m},readDouble:function(){var m=Io.read(this.buf,this.pos,!0,52,8);return this.pos+=8,m},readVarint:function(m){var y=this.buf,I,U;return U=y[this.pos++],I=U&127,U<128||(U=y[this.pos++],I|=(U&127)<<7,U<128)||(U=y[this.pos++],I|=(U&127)<<14,U<128)||(U=y[this.pos++],I|=(U&127)<<21,U<128)?I:(U=y[this.pos],I|=(U&15)<<28,bo(I,m,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var m=this.readVarint();return m%2===1?(m+1)/-2:m/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var m=this.readVarint()+this.pos,y=this.pos;return this.pos=m,m-y>=Xa&&Tn?Cl(this.buf,y,m):lv(this.buf,y,m)},readBytes:function(){var m=this.readVarint()+this.pos,y=this.buf.subarray(this.pos,m);return this.pos=m,y},readPackedVarint:function(m,y){if(this.type!==Hn.Bytes)return m.push(this.readVarint(y));var I=Ya(this);for(m=m||[];this.pos<I;)m.push(this.readVarint(y));return m},readPackedSVarint:function(m){if(this.type!==Hn.Bytes)return m.push(this.readSVarint());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readSVarint());return m},readPackedBoolean:function(m){if(this.type!==Hn.Bytes)return m.push(this.readBoolean());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readBoolean());return m},readPackedFloat:function(m){if(this.type!==Hn.Bytes)return m.push(this.readFloat());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readFloat());return m},readPackedDouble:function(m){if(this.type!==Hn.Bytes)return m.push(this.readDouble());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readDouble());return m},readPackedFixed32:function(m){if(this.type!==Hn.Bytes)return m.push(this.readFixed32());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readFixed32());return m},readPackedSFixed32:function(m){if(this.type!==Hn.Bytes)return m.push(this.readSFixed32());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readSFixed32());return m},readPackedFixed64:function(m){if(this.type!==Hn.Bytes)return m.push(this.readFixed64());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readFixed64());return m},readPackedSFixed64:function(m){if(this.type!==Hn.Bytes)return m.push(this.readSFixed64());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readSFixed64());return m},skip:function(m){var y=m&7;if(y===Hn.Varint)for(;this.buf[this.pos++]>127;);else if(y===Hn.Bytes)this.pos=this.readVarint()+this.pos;else if(y===Hn.Fixed32)this.pos+=4;else if(y===Hn.Fixed64)this.pos+=8;else throw new Error(\"Unimplemented type: \"+y)},writeTag:function(m,y){this.writeVarint(m<<3|y)},realloc:function(m){for(var y=this.length||16;y<this.pos+m;)y*=2;if(y!==this.length){var I=new Uint8Array(y);I.set(this.buf),this.buf=I,this.length=y}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(m){this.realloc(4),xf(this.buf,m,this.pos),this.pos+=4},writeSFixed32:function(m){this.realloc(4),xf(this.buf,m,this.pos),this.pos+=4},writeFixed64:function(m){this.realloc(8),xf(this.buf,m&-1,this.pos),xf(this.buf,Math.floor(m*$a),this.pos+4),this.pos+=8},writeSFixed64:function(m){this.realloc(8),xf(this.buf,m&-1,this.pos),xf(this.buf,Math.floor(m*$a),this.pos+4),this.pos+=8},writeVarint:function(m){if(m=+m||0,m>268435455||m<0){wu(m,this);return}this.realloc(4),this.buf[this.pos++]=m&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=(m>>>=7)&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=(m>>>=7)&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=m>>>7&127)))},writeSVarint:function(m){this.writeVarint(m<0?-m*2-1:m*2)},writeBoolean:function(m){this.writeVarint(!!m)},writeString:function(m){m=String(m),this.realloc(m.length*4),this.pos++;var y=this.pos;this.pos=qu(this.buf,m,this.pos);var I=this.pos-y;I>=128&&$v(y,I,this),this.pos=y-1,this.writeVarint(I),this.pos+=I},writeFloat:function(m){this.realloc(4),Io.write(this.buf,m,this.pos,!0,23,4),this.pos+=4},writeDouble:function(m){this.realloc(8),Io.write(this.buf,m,this.pos,!0,52,8),this.pos+=8},writeBytes:function(m){var y=m.length;this.writeVarint(y),this.realloc(y);for(var I=0;I<y;I++)this.buf[this.pos++]=m[I]},writeRawMessage:function(m,y){this.pos++;var I=this.pos;m(y,this);var U=this.pos-I;U>=128&&$v(I,U,this),this.pos=I-1,this.writeVarint(U),this.pos+=U},writeMessage:function(m,y,I){this.writeTag(m,Hn.Bytes),this.writeRawMessage(y,I)},writePackedVarint:function(m,y){y.length&&this.writeMessage(m,td,y)},writePackedSVarint:function(m,y){y.length&&this.writeMessage(m,ch,y)},writePackedBoolean:function(m,y){y.length&&this.writeMessage(m,Hd,y)},writePackedFloat:function(m,y){y.length&&this.writeMessage(m,Ud,y)},writePackedDouble:function(m,y){y.length&&this.writeMessage(m,Vd,y)},writePackedFixed32:function(m,y){y.length&&this.writeMessage(m,rf,y)},writePackedSFixed32:function(m,y){y.length&&this.writeMessage(m,fh,y)},writePackedFixed64:function(m,y){y.length&&this.writeMessage(m,Td,y)},writePackedSFixed64:function(m,y){y.length&&this.writeMessage(m,rd,y)},writeBytesField:function(m,y){this.writeTag(m,Hn.Bytes),this.writeBytes(y)},writeFixed32Field:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeFixed32(y)},writeSFixed32Field:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeSFixed32(y)},writeFixed64Field:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeFixed64(y)},writeSFixed64Field:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeSFixed64(y)},writeVarintField:function(m,y){this.writeTag(m,Hn.Varint),this.writeVarint(y)},writeSVarintField:function(m,y){this.writeTag(m,Hn.Varint),this.writeSVarint(y)},writeStringField:function(m,y){this.writeTag(m,Hn.Bytes),this.writeString(y)},writeFloatField:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeFloat(y)},writeDoubleField:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeDouble(y)},writeBooleanField:function(m,y){this.writeVarintField(m,!!y)}};function bo(m,y,I){var U=I.buf,J,ne;if(ne=U[I.pos++],J=(ne&112)>>4,ne<128||(ne=U[I.pos++],J|=(ne&127)<<3,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<10,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<17,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<24,ne<128)||(ne=U[I.pos++],J|=(ne&1)<<31,ne<128))return Uo(m,J,y);throw new Error(\"Expected varint not more than 10 bytes\")}function Ya(m){return m.type===Hn.Bytes?m.readVarint()+m.pos:m.pos+1}function Uo(m,y,I){return I?y*4294967296+(m>>>0):(y>>>0)*4294967296+(m>>>0)}function wu(m,y){var I,U;if(m>=0?(I=m%4294967296|0,U=m/4294967296|0):(I=~(-m%4294967296),U=~(-m/4294967296),I^4294967295?I=I+1|0:(I=0,U=U+1|0)),m>=18446744073709552e3||m<-18446744073709552e3)throw new Error(\"Given varint doesn't fit into 10 bytes\");y.realloc(10),hu(I,U,y),uh(U,y)}function hu(m,y,I){I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos]=m&127}function uh(m,y){var I=(m&7)<<4;y.buf[y.pos++]|=I|((m>>>=3)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127)))))}function $v(m,y,I){var U=y<=16383?1:y<=2097151?2:y<=268435455?3:Math.floor(Math.log(y)/(Math.LN2*7));I.realloc(U);for(var J=I.pos-1;J>=m;J--)I.buf[J+U]=I.buf[J]}function td(m,y){for(var I=0;I<m.length;I++)y.writeVarint(m[I])}function ch(m,y){for(var I=0;I<m.length;I++)y.writeSVarint(m[I])}function Ud(m,y){for(var I=0;I<m.length;I++)y.writeFloat(m[I])}function Vd(m,y){for(var I=0;I<m.length;I++)y.writeDouble(m[I])}function Hd(m,y){for(var I=0;I<m.length;I++)y.writeBoolean(m[I])}function rf(m,y){for(var I=0;I<m.length;I++)y.writeFixed32(m[I])}function fh(m,y){for(var I=0;I<m.length;I++)y.writeSFixed32(m[I])}function Td(m,y){for(var I=0;I<m.length;I++)y.writeFixed64(m[I])}function rd(m,y){for(var I=0;I<m.length;I++)y.writeSFixed64(m[I])}function Dh(m,y){return(m[y]|m[y+1]<<8|m[y+2]<<16)+m[y+3]*16777216}function xf(m,y,I){m[I]=y,m[I+1]=y>>>8,m[I+2]=y>>>16,m[I+3]=y>>>24}function Iv(m,y){return(m[y]|m[y+1]<<8|m[y+2]<<16)+(m[y+3]<<24)}function lv(m,y,I){for(var U=\"\",J=y;J<I;){var ne=m[J],fe=null,Fe=ne>239?4:ne>223?3:ne>191?2:1;if(J+Fe>I)break;var Qe,st,mt;Fe===1?ne<128&&(fe=ne):Fe===2?(Qe=m[J+1],(Qe&192)===128&&(fe=(ne&31)<<6|Qe&63,fe<=127&&(fe=null))):Fe===3?(Qe=m[J+1],st=m[J+2],(Qe&192)===128&&(st&192)===128&&(fe=(ne&15)<<12|(Qe&63)<<6|st&63,(fe<=2047||fe>=55296&&fe<=57343)&&(fe=null))):Fe===4&&(Qe=m[J+1],st=m[J+2],mt=m[J+3],(Qe&192)===128&&(st&192)===128&&(mt&192)===128&&(fe=(ne&15)<<18|(Qe&63)<<12|(st&63)<<6|mt&63,(fe<=65535||fe>=1114112)&&(fe=null))),fe===null?(fe=65533,Fe=1):fe>65535&&(fe-=65536,U+=String.fromCharCode(fe>>>10&1023|55296),fe=56320|fe&1023),U+=String.fromCharCode(fe),J+=Fe}return U}function Cl(m,y,I){return Tn.decode(m.subarray(y,I))}function qu(m,y,I){for(var U=0,J,ne;U<y.length;U++){if(J=y.charCodeAt(U),J>55295&&J<57344)if(ne)if(J<56320){m[I++]=239,m[I++]=191,m[I++]=189,ne=J;continue}else J=ne-55296<<10|J-56320|65536,ne=null;else{J>56319||U+1===y.length?(m[I++]=239,m[I++]=191,m[I++]=189):ne=J;continue}else ne&&(m[I++]=239,m[I++]=191,m[I++]=189,ne=null);J<128?m[I++]=J:(J<2048?m[I++]=J>>6|192:(J<65536?m[I++]=J>>12|224:(m[I++]=J>>18|240,m[I++]=J>>12&63|128),m[I++]=J>>6&63|128),m[I++]=J&63|128)}return I}var Tu=3;function Rv(m,y,I){m===1&&I.readMessage(qc,y)}function qc(m,y,I){if(m===3){var U=I.readMessage(I1,{}),J=U.id,ne=U.bitmap,fe=U.width,Fe=U.height,Qe=U.left,st=U.top,mt=U.advance;y.push({id:J,bitmap:new Pv({width:fe+2*Tu,height:Fe+2*Tu},ne),metrics:{width:fe,height:Fe,left:Qe,top:st,advance:mt}})}}function I1(m,y,I){m===1?y.id=I.readVarint():m===2?y.bitmap=I.readBytes():m===3?y.width=I.readVarint():m===4?y.height=I.readVarint():m===5?y.left=I.readSVarint():m===6?y.top=I.readSVarint():m===7&&(y.advance=I.readVarint())}function p0(m){return new La(m).readFields(Rv,[])}var Gp=Tu;function Qv(m){for(var y=0,I=0,U=0,J=m;U<J.length;U+=1){var ne=J[U];y+=ne.w*ne.h,I=Math.max(I,ne.w)}m.sort(function(_i,si){return si.h-_i.h});for(var fe=Math.max(Math.ceil(Math.sqrt(y/.95)),I),Fe=[{x:0,y:0,w:fe,h:1/0}],Qe=0,st=0,mt=0,Xt=m;mt<Xt.length;mt+=1)for(var ur=Xt[mt],nr=Fe.length-1;nr>=0;nr--){var Lr=Fe[nr];if(!(ur.w>Lr.w||ur.h>Lr.h)){if(ur.x=Lr.x,ur.y=Lr.y,st=Math.max(st,ur.y+ur.h),Qe=Math.max(Qe,ur.x+ur.w),ur.w===Lr.w&&ur.h===Lr.h){var Yr=Fe.pop();nr<Fe.length&&(Fe[nr]=Yr)}else ur.h===Lr.h?(Lr.x+=ur.w,Lr.w-=ur.w):ur.w===Lr.w?(Lr.y+=ur.h,Lr.h-=ur.h):(Fe.push({x:Lr.x+ur.w,y:Lr.y,w:Lr.w-ur.w,h:ur.h}),Lr.y+=ur.h,Lr.h-=ur.h);break}}return{w:Qe,h:st,fill:y/(Qe*st)||0}}var oc=1,If=function(y,I){var U=I.pixelRatio,J=I.version,ne=I.stretchX,fe=I.stretchY,Fe=I.content;this.paddedRect=y,this.pixelRatio=U,this.stretchX=ne,this.stretchY=fe,this.content=Fe,this.version=J},ep={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};ep.tl.get=function(){return[this.paddedRect.x+oc,this.paddedRect.y+oc]},ep.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-oc,this.paddedRect.y+this.paddedRect.h-oc]},ep.tlbr.get=function(){return this.tl.concat(this.br)},ep.displaySize.get=function(){return[(this.paddedRect.w-oc*2)/this.pixelRatio,(this.paddedRect.h-oc*2)/this.pixelRatio]},Object.defineProperties(If.prototype,ep);var gg=function(y,I){var U={},J={};this.haveRenderCallbacks=[];var ne=[];this.addImages(y,U,ne),this.addImages(I,J,ne);var fe=Qv(ne),Fe=fe.w,Qe=fe.h,st=new lh({width:Fe||1,height:Qe||1});for(var mt in y){var Xt=y[mt],ur=U[mt].paddedRect;lh.copy(Xt.data,st,{x:0,y:0},{x:ur.x+oc,y:ur.y+oc},Xt.data)}for(var nr in I){var Lr=I[nr],Yr=J[nr].paddedRect,_i=Yr.x+oc,si=Yr.y+oc,Hi=Lr.data.width,Ei=Lr.data.height;lh.copy(Lr.data,st,{x:0,y:0},{x:_i,y:si},Lr.data),lh.copy(Lr.data,st,{x:0,y:Ei-1},{x:_i,y:si-1},{width:Hi,height:1}),lh.copy(Lr.data,st,{x:0,y:0},{x:_i,y:si+Ei},{width:Hi,height:1}),lh.copy(Lr.data,st,{x:Hi-1,y:0},{x:_i-1,y:si},{width:1,height:Ei}),lh.copy(Lr.data,st,{x:0,y:0},{x:_i+Hi,y:si},{width:1,height:Ei})}this.image=st,this.iconPositions=U,this.patternPositions=J};gg.prototype.addImages=function(y,I,U){for(var J in y){var ne=y[J],fe={x:0,y:0,w:ne.data.width+2*oc,h:ne.data.height+2*oc};U.push(fe),I[J]=new If(fe,ne),ne.hasRenderCallback&&this.haveRenderCallbacks.push(J)}},gg.prototype.patchUpdatedImages=function(y,I){y.dispatchRenderCallbacks(this.haveRenderCallbacks);for(var U in y.updatedImages)this.patchUpdatedImage(this.iconPositions[U],y.getImage(U),I),this.patchUpdatedImage(this.patternPositions[U],y.getImage(U),I)},gg.prototype.patchUpdatedImage=function(y,I,U){if(!(!y||!I)&&y.version!==I.version){y.version=I.version;var J=y.tl,ne=J[0],fe=J[1];U.update(I.data,void 0,{x:ne,y:fe})}},Z(\"ImagePosition\",If),Z(\"ImageAtlas\",gg);var uv={horizontal:1,vertical:2,horizontalOnly:3},R1=-17;function xS(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(U.positionedGlyphs.length!==0)return!1}return!0}var Uw=57344,g0=63743,hy=function(){this.scale=1,this.fontStack=\"\",this.imageName=null};hy.forText=function(y,I){var U=new hy;return U.scale=y||1,U.fontStack=I,U},hy.forImage=function(y){var I=new hy;return I.imageName=y,I};var zh=function(){this.text=\"\",this.sectionIndex=[],this.sections=[],this.imageSectionID=null};zh.fromFeature=function(y,I){for(var U=new zh,J=0;J<y.sections.length;J++){var ne=y.sections[J];ne.image?U.addImageSection(ne):U.addTextSection(ne,I)}return U},zh.prototype.length=function(){return this.text.length},zh.prototype.getSection=function(y){return this.sections[this.sectionIndex[y]]},zh.prototype.getSectionIndex=function(y){return this.sectionIndex[y]},zh.prototype.getCharCode=function(y){return this.text.charCodeAt(y)},zh.prototype.verticalizePunctuation=function(){this.text=ki(this.text)},zh.prototype.trim=function(){for(var y=0,I=0;I<this.text.length&&m0[this.text.charCodeAt(I)];I++)y++;for(var U=this.text.length,J=this.text.length-1;J>=0&&J>=y&&m0[this.text.charCodeAt(J)];J--)U--;this.text=this.text.substring(y,U),this.sectionIndex=this.sectionIndex.slice(y,U)},zh.prototype.substring=function(y,I){var U=new zh;return U.text=this.text.substring(y,I),U.sectionIndex=this.sectionIndex.slice(y,I),U.sections=this.sections,U},zh.prototype.toString=function(){return this.text},zh.prototype.getMaxScale=function(){var y=this;return this.sectionIndex.reduce(function(I,U){return Math.max(I,y.sections[U].scale)},0)},zh.prototype.addTextSection=function(y,I){this.text+=y.text,this.sections.push(hy.forText(y.scale,y.fontStack||I));for(var U=this.sections.length-1,J=0;J<y.text.length;++J)this.sectionIndex.push(U)},zh.prototype.addImageSection=function(y){var I=y.image?y.image.name:\"\";if(I.length===0){re(\"Can't add FormattedSection with an empty image.\");return}var U=this.getNextImageSectionCharCode();if(!U){re(\"Reached maximum number of images \"+(g0-Uw+2));return}this.text+=String.fromCharCode(U),this.sections.push(hy.forImage(I)),this.sectionIndex.push(this.sections.length-1)},zh.prototype.getNextImageSectionCharCode=function(){return this.imageSectionID?this.imageSectionID>=g0?null:++this.imageSectionID:(this.imageSectionID=Uw,this.imageSectionID)};function Q9(m,y){for(var I=[],U=m.text,J=0,ne=0,fe=y;ne<fe.length;ne+=1){var Fe=fe[ne];I.push(m.substring(J,Fe)),J=Fe}return J<U.length&&I.push(m.substring(J,U.length)),I}function Vw(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr){var _i=zh.fromFeature(m,J);Xt===uv.vertical&&_i.verticalizePunctuation();var si,Hi=_s.processBidirectionalText,Ei=_s.processStyledBidirectionalText;if(Hi&&_i.sections.length===1){si=[];for(var Vi=Hi(_i.toString(),Hw(_i,st,ne,y,U,nr,Lr)),en=0,An=Vi;en<An.length;en+=1){var ra=An[en],$n=new zh;$n.text=ra,$n.sections=_i.sections;for(var Ba=0;Ba<ra.length;Ba++)$n.sectionIndex.push(0);si.push($n)}}else if(Ei){si=[];for(var _a=Ei(_i.text,_i.sectionIndex,Hw(_i,st,ne,y,U,nr,Lr)),Pa=0,qo=_a;Pa<qo.length;Pa+=1){var Na=qo[Pa],ja=new zh;ja.text=Na[0],ja.sectionIndex=Na[1],ja.sections=_i.sections,si.push(ja)}}else si=Q9(_i,Hw(_i,st,ne,y,U,nr,Lr));var us=[],zo={positionedLines:us,text:_i.toString(),top:mt[1],bottom:mt[1],left:mt[0],right:mt[0],writingMode:Xt,iconsInText:!1,verticalizable:!1};return rq(zo,y,I,U,si,fe,Fe,Qe,Xt,st,ur,Yr),xS(us)?!1:zo}var m0={};m0[9]=!0,m0[10]=!0,m0[11]=!0,m0[12]=!0,m0[13]=!0,m0[32]=!0;var cv={};cv[10]=!0,cv[32]=!0,cv[38]=!0,cv[40]=!0,cv[41]=!0,cv[43]=!0,cv[45]=!0,cv[47]=!0,cv[173]=!0,cv[183]=!0,cv[8203]=!0,cv[8208]=!0,cv[8211]=!0,cv[8231]=!0;function UC(m,y,I,U,J,ne){if(y.imageName){var Qe=U[y.imageName];return Qe?Qe.displaySize[0]*y.scale*Zi/ne+J:0}else{var fe=I[y.fontStack],Fe=fe&&fe[m];return Fe?Fe.metrics.advance*y.scale+J:0}}function eq(m,y,I,U,J,ne){for(var fe=0,Fe=0;Fe<m.length();Fe++){var Qe=m.getSection(Fe);fe+=UC(m.getCharCode(Fe),Qe,U,J,y,ne)}var st=Math.max(1,Math.ceil(fe/I));return fe/st}function VC(m,y,I,U){var J=Math.pow(m-y,2);return U?m<y?J/2:J*2:J+Math.abs(I)*I}function tq(m,y,I){var U=0;return m===10&&(U-=1e4),I&&(U+=150),(m===40||m===65288)&&(U+=50),(y===41||y===65289)&&(U+=50),U}function mp(m,y,I,U,J,ne){for(var fe=null,Fe=VC(y,I,J,ne),Qe=0,st=U;Qe<st.length;Qe+=1){var mt=st[Qe],Xt=y-mt.x,ur=VC(Xt,I,J,ne)+mt.badness;ur<=Fe&&(fe=mt,Fe=ur)}return{index:m,x:y,priorBreak:fe,badness:Fe}}function rb(m){return m?rb(m.priorBreak).concat(m.index):[]}function Hw(m,y,I,U,J,ne,fe){if(ne!==\"point\")return[];if(!m)return[];for(var Fe=[],Qe=eq(m,y,I,U,J,fe),st=m.text.indexOf(\"\\u200B\")>=0,mt=0,Xt=0;Xt<m.length();Xt++){var ur=m.getSection(Xt),nr=m.getCharCode(Xt);if(m0[nr]||(mt+=UC(nr,ur,U,J,y,fe)),Xt<m.length()-1){var Lr=Dr(nr);(cv[nr]||Lr||ur.imageName)&&Fe.push(mp(Xt+1,mt,Qe,Fe,tq(nr,m.getCharCode(Xt+1),Lr&&st),!1))}}return rb(mp(m.length(),mt,Qe,Fe,0,!0))}function bS(m){var y=.5,I=.5;switch(m){case\"right\":case\"top-right\":case\"bottom-right\":y=1;break;case\"left\":case\"top-left\":case\"bottom-left\":y=0;break}switch(m){case\"bottom\":case\"bottom-right\":case\"bottom-left\":I=1;break;case\"top\":case\"top-right\":case\"top-left\":I=0;break}return{horizontalAlign:y,verticalAlign:I}}function rq(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt){for(var ur=0,nr=R1,Lr=0,Yr=0,_i=Fe===\"right\"?1:Fe===\"left\"?0:.5,si=0,Hi=0,Ei=J;Hi<Ei.length;Hi+=1){var Vi=Ei[Hi];Vi.trim();var en=Vi.getMaxScale(),An=(en-1)*Zi,ra={positionedGlyphs:[],lineOffset:0};m.positionedLines[si]=ra;var $n=ra.positionedGlyphs,Ba=0;if(!Vi.length()){nr+=ne,++si;continue}for(var _a=0;_a<Vi.length();_a++){var Pa=Vi.getSection(_a),qo=Vi.getSectionIndex(_a),Na=Vi.getCharCode(_a),ja=0,us=null,zo=null,rl=null,su=Zi,il=!(Qe===uv.horizontal||!mt&&!Ir(Na)||mt&&(m0[Na]||qr(Na)));if(Pa.imageName){var nf=U[Pa.imageName];if(!nf)continue;rl=Pa.imageName,m.iconsInText=m.iconsInText||!0,zo=nf.paddedRect;var bf=nf.displaySize;Pa.scale=Pa.scale*Zi/Xt,us={width:bf[0],height:bf[1],left:oc,top:-Gp,advance:il?bf[1]:bf[0]};var qh=Zi-bf[1]*Pa.scale;ja=An+qh,su=us.advance;var Zf=il?bf[0]*Pa.scale-Zi*en:bf[1]*Pa.scale-Zi*en;Zf>0&&Zf>Ba&&(Ba=Zf)}else{var nl=I[Pa.fontStack],Ws=nl&&nl[Na];if(Ws&&Ws.rect)zo=Ws.rect,us=Ws.metrics;else{var Au=y[Pa.fontStack],Ou=Au&&Au[Na];if(!Ou)continue;us=Ou.metrics}ja=(en-Pa.scale)*Zi}il?(m.verticalizable=!0,$n.push({glyph:Na,imageName:rl,x:ur,y:nr+ja,vertical:il,scale:Pa.scale,fontStack:Pa.fontStack,sectionIndex:qo,metrics:us,rect:zo}),ur+=su*Pa.scale+st):($n.push({glyph:Na,imageName:rl,x:ur,y:nr+ja,vertical:il,scale:Pa.scale,fontStack:Pa.fontStack,sectionIndex:qo,metrics:us,rect:zo}),ur+=us.advance*Pa.scale+st)}if($n.length!==0){var jd=ur-st;Lr=Math.max(jd,Lr),iq($n,0,$n.length-1,_i,Ba)}ur=0;var Wd=ne*en+Ba;ra.lineOffset=Math.max(Ba,An),nr+=Wd,Yr=Math.max(Wd,Yr),++si}var Oh=nr-R1,fv=bS(fe),hv=fv.horizontalAlign,hh=fv.verticalAlign;Ad(m.positionedLines,_i,hv,hh,Lr,Yr,ne,Oh,J.length),m.top+=-hh*Oh,m.bottom=m.top+Oh,m.left+=-hv*Lr,m.right=m.left+Lr}function iq(m,y,I,U,J){if(!(!U&&!J))for(var ne=m[I],fe=ne.metrics.advance*ne.scale,Fe=(m[I].x+fe)*U,Qe=y;Qe<=I;Qe++)m[Qe].x-=Fe,m[Qe].y+=J}function Ad(m,y,I,U,J,ne,fe,Fe,Qe){var st=(y-I)*J,mt=0;ne!==fe?mt=-Fe*U-R1:mt=(-U*Qe+.5)*fe;for(var Xt=0,ur=m;Xt<ur.length;Xt+=1)for(var nr=ur[Xt],Lr=0,Yr=nr.positionedGlyphs;Lr<Yr.length;Lr+=1){var _i=Yr[Lr];_i.x+=st,_i.y+=mt}}function tp(m,y,I){var U=bS(I),J=U.horizontalAlign,ne=U.verticalAlign,fe=y[0],Fe=y[1],Qe=fe-m.displaySize[0]*J,st=Qe+m.displaySize[0],mt=Fe-m.displaySize[1]*ne,Xt=mt+m.displaySize[1];return{image:m,top:mt,bottom:Xt,left:Qe,right:st}}function hm(m,y,I,U,J,ne){var fe=m.image,Fe;if(fe.content){var Qe=fe.content,st=fe.pixelRatio||1;Fe=[Qe[0]/st,Qe[1]/st,fe.displaySize[0]-Qe[2]/st,fe.displaySize[1]-Qe[3]/st]}var mt=y.left*ne,Xt=y.right*ne,ur,nr,Lr,Yr;I===\"width\"||I===\"both\"?(Yr=J[0]+mt-U[3],nr=J[0]+Xt+U[1]):(Yr=J[0]+(mt+Xt-fe.displaySize[0])/2,nr=Yr+fe.displaySize[0]);var _i=y.top*ne,si=y.bottom*ne;return I===\"height\"||I===\"both\"?(ur=J[1]+_i-U[0],Lr=J[1]+si+U[2]):(ur=J[1]+(_i+si-fe.displaySize[1])/2,Lr=ur+fe.displaySize[1]),{image:fe,top:ur,right:nr,bottom:Lr,left:Yr,collisionPadding:Fe}}var Gd=function(m){function y(I,U,J,ne){m.call(this,I,U),this.angle=J,ne!==void 0&&(this.segment=ne)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.clone=function(){return new y(this.x,this.y,this.angle,this.segment)},y}(u);Z(\"Anchor\",Gd);var Sd=128;function yp(m,y){var I=y.expression;if(I.kind===\"constant\"){var U=I.evaluate(new pn(m+1));return{kind:\"constant\",layoutSize:U}}else{if(I.kind===\"source\")return{kind:\"source\"};for(var J=I.zoomStops,ne=I.interpolationType,fe=0;fe<J.length&&J[fe]<=m;)fe++;fe=Math.max(0,fe-1);for(var Fe=fe;Fe<J.length&&J[Fe]<m+1;)Fe++;Fe=Math.min(J.length-1,Fe);var Qe=J[fe],st=J[Fe];if(I.kind===\"composite\")return{kind:\"composite\",minZoom:Qe,maxZoom:st,interpolationType:ne};var mt=I.evaluate(new pn(Qe)),Xt=I.evaluate(new pn(st));return{kind:\"camera\",minZoom:Qe,maxZoom:st,minSize:mt,maxSize:Xt,interpolationType:ne}}}function _Q(m,y,I){var U=y.uSize,J=y.uSizeT,ne=I.lowerSize,fe=I.upperSize;return m.kind===\"source\"?ne/Sd:m.kind===\"composite\"?Qs(ne/Sd,fe/Sd,J):U}function xQ(m,y){var I=0,U=0;if(m.kind===\"constant\")U=m.layoutSize;else if(m.kind!==\"source\"){var J=m.interpolationType,ne=m.minZoom,fe=m.maxZoom,Fe=J?p(Dl.interpolationFactor(J,y,ne,fe),0,1):0;m.kind===\"camera\"?U=Qs(m.minSize,m.maxSize,Fe):I=Fe}return{uSizeT:I,uSize:U}}var iQe=Object.freeze({__proto__:null,getSizeData:yp,evaluateSizeForFeature:_Q,evaluateSizeForZoom:xQ,SIZE_PACK_FACTOR:Sd});function bQ(m,y,I,U,J){if(y.segment===void 0)return!0;for(var ne=y,fe=y.segment+1,Fe=0;Fe>-I/2;){if(fe--,fe<0)return!1;Fe-=m[fe].dist(ne),ne=m[fe]}Fe+=m[fe].dist(m[fe+1]),fe++;for(var Qe=[],st=0;Fe<I/2;){var mt=m[fe-1],Xt=m[fe],ur=m[fe+1];if(!ur)return!1;var nr=mt.angleTo(Xt)-Xt.angleTo(ur);for(nr=Math.abs((nr+3*Math.PI)%(Math.PI*2)-Math.PI),Qe.push({distance:Fe,angleDelta:nr}),st+=nr;Fe-Qe[0].distance>U;)st-=Qe.shift().angleDelta;if(st>J)return!1;fe++,Fe+=Xt.dist(ur)}return!0}function wQ(m){for(var y=0,I=0;I<m.length-1;I++)y+=m[I].dist(m[I+1]);return y}function TQ(m,y,I){return m?3/5*y*I:0}function AQ(m,y){return Math.max(m?m.right-m.left:0,y?y.right-y.left:0)}function nQe(m,y,I,U,J,ne){for(var fe=TQ(I,J,ne),Fe=AQ(I,U)*ne,Qe=0,st=wQ(m)/2,mt=0;mt<m.length-1;mt++){var Xt=m[mt],ur=m[mt+1],nr=Xt.dist(ur);if(Qe+nr>st){var Lr=(st-Qe)/nr,Yr=Qs(Xt.x,ur.x,Lr),_i=Qs(Xt.y,ur.y,Lr),si=new Gd(Yr,_i,ur.angleTo(Xt),mt);return si._round(),!fe||bQ(m,si,Fe,fe,y)?si:void 0}Qe+=nr}}function aQe(m,y,I,U,J,ne,fe,Fe,Qe){var st=TQ(U,ne,fe),mt=AQ(U,J),Xt=mt*fe,ur=m[0].x===0||m[0].x===Qe||m[0].y===0||m[0].y===Qe;y-Xt<y/4&&(y=Xt+y/4);var nr=ne*2,Lr=ur?y/2*Fe%y:(mt/2+nr)*fe*Fe%y;return SQ(m,Lr,y,st,I,Xt,ur,!1,Qe)}function SQ(m,y,I,U,J,ne,fe,Fe,Qe){for(var st=ne/2,mt=wQ(m),Xt=0,ur=y-I,nr=[],Lr=0;Lr<m.length-1;Lr++){for(var Yr=m[Lr],_i=m[Lr+1],si=Yr.dist(_i),Hi=_i.angleTo(Yr);ur+I<Xt+si;){ur+=I;var Ei=(ur-Xt)/si,Vi=Qs(Yr.x,_i.x,Ei),en=Qs(Yr.y,_i.y,Ei);if(Vi>=0&&Vi<Qe&&en>=0&&en<Qe&&ur-st>=0&&ur+st<=mt){var An=new Gd(Vi,en,Hi,Lr);An._round(),(!U||bQ(m,An,ne,U,J))&&nr.push(An)}}Xt+=si}return!Fe&&!nr.length&&!fe&&(nr=SQ(m,Xt/2,I,U,J,ne,fe,!0,Qe)),nr}function MQ(m,y,I,U,J){for(var ne=[],fe=0;fe<m.length;fe++)for(var Fe=m[fe],Qe=void 0,st=0;st<Fe.length-1;st++){var mt=Fe[st],Xt=Fe[st+1];mt.x<y&&Xt.x<y||(mt.x<y?mt=new u(y,mt.y+(Xt.y-mt.y)*((y-mt.x)/(Xt.x-mt.x)))._round():Xt.x<y&&(Xt=new u(y,mt.y+(Xt.y-mt.y)*((y-mt.x)/(Xt.x-mt.x)))._round()),!(mt.y<I&&Xt.y<I)&&(mt.y<I?mt=new u(mt.x+(Xt.x-mt.x)*((I-mt.y)/(Xt.y-mt.y)),I)._round():Xt.y<I&&(Xt=new u(mt.x+(Xt.x-mt.x)*((I-mt.y)/(Xt.y-mt.y)),I)._round()),!(mt.x>=U&&Xt.x>=U)&&(mt.x>=U?mt=new u(U,mt.y+(Xt.y-mt.y)*((U-mt.x)/(Xt.x-mt.x)))._round():Xt.x>=U&&(Xt=new u(U,mt.y+(Xt.y-mt.y)*((U-mt.x)/(Xt.x-mt.x)))._round()),!(mt.y>=J&&Xt.y>=J)&&(mt.y>=J?mt=new u(mt.x+(Xt.x-mt.x)*((J-mt.y)/(Xt.y-mt.y)),J)._round():Xt.y>=J&&(Xt=new u(mt.x+(Xt.x-mt.x)*((J-mt.y)/(Xt.y-mt.y)),J)._round()),(!Qe||!mt.equals(Qe[Qe.length-1]))&&(Qe=[mt],ne.push(Qe)),Qe.push(Xt)))))}return ne}var Gw=oc;function EQ(m,y,I,U){var J=[],ne=m.image,fe=ne.pixelRatio,Fe=ne.paddedRect.w-2*Gw,Qe=ne.paddedRect.h-2*Gw,st=m.right-m.left,mt=m.bottom-m.top,Xt=ne.stretchX||[[0,Fe]],ur=ne.stretchY||[[0,Qe]],nr=function(nl,Ws){return nl+Ws[1]-Ws[0]},Lr=Xt.reduce(nr,0),Yr=ur.reduce(nr,0),_i=Fe-Lr,si=Qe-Yr,Hi=0,Ei=Lr,Vi=0,en=Yr,An=0,ra=_i,$n=0,Ba=si;if(ne.content&&U){var _a=ne.content;Hi=HC(Xt,0,_a[0]),Vi=HC(ur,0,_a[1]),Ei=HC(Xt,_a[0],_a[2]),en=HC(ur,_a[1],_a[3]),An=_a[0]-Hi,$n=_a[1]-Vi,ra=_a[2]-_a[0]-Ei,Ba=_a[3]-_a[1]-en}var Pa=function(nl,Ws,Au,Ou){var nf=GC(nl.stretch-Hi,Ei,st,m.left),bf=jC(nl.fixed-An,ra,nl.stretch,Lr),qh=GC(Ws.stretch-Vi,en,mt,m.top),Zf=jC(Ws.fixed-$n,Ba,Ws.stretch,Yr),jd=GC(Au.stretch-Hi,Ei,st,m.left),Wd=jC(Au.fixed-An,ra,Au.stretch,Lr),Oh=GC(Ou.stretch-Vi,en,mt,m.top),fv=jC(Ou.fixed-$n,Ba,Ou.stretch,Yr),hv=new u(nf,qh),hh=new u(jd,qh),dv=new u(jd,Oh),_p=new u(nf,Oh),py=new u(bf/fe,Zf/fe),F1=new u(Wd/fe,fv/fe),q1=y*Math.PI/180;if(q1){var O1=Math.sin(q1),$w=Math.cos(q1),y0=[$w,-O1,O1,$w];hv._matMult(y0),hh._matMult(y0),_p._matMult(y0),dv._matMult(y0)}var JC=nl.stretch+nl.fixed,fq=Au.stretch+Au.fixed,$C=Ws.stretch+Ws.fixed,hq=Ou.stretch+Ou.fixed,jp={x:ne.paddedRect.x+Gw+JC,y:ne.paddedRect.y+Gw+$C,w:fq-JC,h:hq-$C},Qw=ra/fe/st,QC=Ba/fe/mt;return{tl:hv,tr:hh,bl:_p,br:dv,tex:jp,writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:py,pixelOffsetBR:F1,minFontScaleX:Qw,minFontScaleY:QC,isSDF:I}};if(!U||!ne.stretchX&&!ne.stretchY)J.push(Pa({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:Fe+1},{fixed:0,stretch:Qe+1}));else for(var qo=kQ(Xt,_i,Lr),Na=kQ(ur,si,Yr),ja=0;ja<qo.length-1;ja++)for(var us=qo[ja],zo=qo[ja+1],rl=0;rl<Na.length-1;rl++){var su=Na[rl],il=Na[rl+1];J.push(Pa(us,su,zo,il))}return J}function HC(m,y,I){for(var U=0,J=0,ne=m;J<ne.length;J+=1){var fe=ne[J];U+=Math.max(y,Math.min(I,fe[1]))-Math.max(y,Math.min(I,fe[0]))}return U}function kQ(m,y,I){for(var U=[{fixed:-Gw,stretch:0}],J=0,ne=m;J<ne.length;J+=1){var fe=ne[J],Fe=fe[0],Qe=fe[1],st=U[U.length-1];U.push({fixed:Fe-st.stretch,stretch:st.stretch}),U.push({fixed:Fe-st.stretch,stretch:st.stretch+(Qe-Fe)})}return U.push({fixed:y+Gw,stretch:I}),U}function GC(m,y,I,U){return m/y*I+U}function jC(m,y,I,U){return m-y*I/U}function oQe(m,y,I,U,J,ne,fe,Fe){for(var Qe=U.layout.get(\"text-rotate\").evaluate(ne,{})*Math.PI/180,st=[],mt=0,Xt=y.positionedLines;mt<Xt.length;mt+=1)for(var ur=Xt[mt],nr=0,Lr=ur.positionedGlyphs;nr<Lr.length;nr+=1){var Yr=Lr[nr];if(Yr.rect){var _i=Yr.rect||{},si=1,Hi=Gp+si,Ei=!0,Vi=1,en=0,An=(J||Fe)&&Yr.vertical,ra=Yr.metrics.advance*Yr.scale/2;if(Fe&&y.verticalizable){var $n=(Yr.scale-1)*Zi,Ba=(Zi-Yr.metrics.width*Yr.scale)/2;en=ur.lineOffset/2-(Yr.imageName?-Ba:$n)}if(Yr.imageName){var _a=fe[Yr.imageName];Ei=_a.sdf,Vi=_a.pixelRatio,Hi=oc/Vi}var Pa=J?[Yr.x+ra,Yr.y]:[0,0],qo=J?[0,0]:[Yr.x+ra+I[0],Yr.y+I[1]-en],Na=[0,0];An&&(Na=qo,qo=[0,0]);var ja=(Yr.metrics.left-Hi)*Yr.scale-ra+qo[0],us=(-Yr.metrics.top-Hi)*Yr.scale+qo[1],zo=ja+_i.w*Yr.scale/Vi,rl=us+_i.h*Yr.scale/Vi,su=new u(ja,us),il=new u(zo,us),nl=new u(ja,rl),Ws=new u(zo,rl);if(An){var Au=new u(-ra,ra-R1),Ou=-Math.PI/2,nf=Zi/2-ra,bf=Yr.imageName?nf:0,qh=new u(5-R1-nf,-bf),Zf=new(Function.prototype.bind.apply(u,[null].concat(Na)));su._rotateAround(Ou,Au)._add(qh)._add(Zf),il._rotateAround(Ou,Au)._add(qh)._add(Zf),nl._rotateAround(Ou,Au)._add(qh)._add(Zf),Ws._rotateAround(Ou,Au)._add(qh)._add(Zf)}if(Qe){var jd=Math.sin(Qe),Wd=Math.cos(Qe),Oh=[Wd,-jd,jd,Wd];su._matMult(Oh),il._matMult(Oh),nl._matMult(Oh),Ws._matMult(Oh)}var fv=new u(0,0),hv=new u(0,0),hh=0,dv=0;st.push({tl:su,tr:il,bl:nl,br:Ws,tex:_i,writingMode:y.writingMode,glyphOffset:Pa,sectionIndex:Yr.sectionIndex,isSDF:Ei,pixelOffsetTL:fv,pixelOffsetBR:hv,minFontScaleX:hh,minFontScaleY:dv})}}return st}var WC=function(y,I,U,J,ne,fe,Fe,Qe,st,mt){if(this.boxStartIndex=y.length,st){var Xt=fe.top,ur=fe.bottom,nr=fe.collisionPadding;nr&&(Xt-=nr[1],ur+=nr[3]);var Lr=ur-Xt;Lr>0&&(Lr=Math.max(10,Lr),this.circleDiameter=Lr)}else{var Yr=fe.top*Fe-Qe,_i=fe.bottom*Fe+Qe,si=fe.left*Fe-Qe,Hi=fe.right*Fe+Qe,Ei=fe.collisionPadding;if(Ei&&(si-=Ei[0]*Fe,Yr-=Ei[1]*Fe,Hi+=Ei[2]*Fe,_i+=Ei[3]*Fe),mt){var Vi=new u(si,Yr),en=new u(Hi,Yr),An=new u(si,_i),ra=new u(Hi,_i),$n=mt*Math.PI/180;Vi._rotate($n),en._rotate($n),An._rotate($n),ra._rotate($n),si=Math.min(Vi.x,en.x,An.x,ra.x),Hi=Math.max(Vi.x,en.x,An.x,ra.x),Yr=Math.min(Vi.y,en.y,An.y,ra.y),_i=Math.max(Vi.y,en.y,An.y,ra.y)}y.emplaceBack(I.x,I.y,si,Yr,Hi,_i,U,J,ne)}this.boxEndIndex=y.length},jw=function(y,I){if(y===void 0&&(y=[]),I===void 0&&(I=sQe),this.data=y,this.length=this.data.length,this.compare=I,this.length>0)for(var U=(this.length>>1)-1;U>=0;U--)this._down(U)};jw.prototype.push=function(y){this.data.push(y),this.length++,this._up(this.length-1)},jw.prototype.pop=function(){if(this.length!==0){var y=this.data[0],I=this.data.pop();return this.length--,this.length>0&&(this.data[0]=I,this._down(0)),y}},jw.prototype.peek=function(){return this.data[0]},jw.prototype._up=function(y){for(var I=this,U=I.data,J=I.compare,ne=U[y];y>0;){var fe=y-1>>1,Fe=U[fe];if(J(ne,Fe)>=0)break;U[y]=Fe,y=fe}U[y]=ne},jw.prototype._down=function(y){for(var I=this,U=I.data,J=I.compare,ne=this.length>>1,fe=U[y];y<ne;){var Fe=(y<<1)+1,Qe=U[Fe],st=Fe+1;if(st<this.length&&J(U[st],Qe)<0&&(Fe=st,Qe=U[st]),J(Qe,fe)>=0)break;U[y]=Qe,y=Fe}U[y]=fe};function sQe(m,y){return m<y?-1:m>y?1:0}function lQe(m,y,I){y===void 0&&(y=1),I===void 0&&(I=!1);for(var U=1/0,J=1/0,ne=-1/0,fe=-1/0,Fe=m[0],Qe=0;Qe<Fe.length;Qe++){var st=Fe[Qe];(!Qe||st.x<U)&&(U=st.x),(!Qe||st.y<J)&&(J=st.y),(!Qe||st.x>ne)&&(ne=st.x),(!Qe||st.y>fe)&&(fe=st.y)}var mt=ne-U,Xt=fe-J,ur=Math.min(mt,Xt),nr=ur/2,Lr=new jw([],uQe);if(ur===0)return new u(U,J);for(var Yr=U;Yr<ne;Yr+=ur)for(var _i=J;_i<fe;_i+=ur)Lr.push(new Ww(Yr+nr,_i+nr,nr,m));for(var si=fQe(m),Hi=Lr.length;Lr.length;){var Ei=Lr.pop();(Ei.d>si.d||!si.d)&&(si=Ei,I&&console.log(\"found best %d after %d probes\",Math.round(1e4*Ei.d)/1e4,Hi)),!(Ei.max-si.d<=y)&&(nr=Ei.h/2,Lr.push(new Ww(Ei.p.x-nr,Ei.p.y-nr,nr,m)),Lr.push(new Ww(Ei.p.x+nr,Ei.p.y-nr,nr,m)),Lr.push(new Ww(Ei.p.x-nr,Ei.p.y+nr,nr,m)),Lr.push(new Ww(Ei.p.x+nr,Ei.p.y+nr,nr,m)),Hi+=4)}return I&&(console.log(\"num probes: \"+Hi),console.log(\"best distance: \"+si.d)),si.p}function uQe(m,y){return y.max-m.max}function Ww(m,y,I,U){this.p=new u(m,y),this.h=I,this.d=cQe(this.p,U),this.max=this.d+this.h*Math.SQRT2}function cQe(m,y){for(var I=!1,U=1/0,J=0;J<y.length;J++)for(var ne=y[J],fe=0,Fe=ne.length,Qe=Fe-1;fe<Fe;Qe=fe++){var st=ne[fe],mt=ne[Qe];st.y>m.y!=mt.y>m.y&&m.x<(mt.x-st.x)*(m.y-st.y)/(mt.y-st.y)+st.x&&(I=!I),U=Math.min(U,cg(m,st,mt))}return(I?1:-1)*Math.sqrt(U)}function fQe(m){for(var y=0,I=0,U=0,J=m[0],ne=0,fe=J.length,Fe=fe-1;ne<fe;Fe=ne++){var Qe=J[ne],st=J[Fe],mt=Qe.x*st.y-st.x*Qe.y;I+=(Qe.x+st.x)*mt,U+=(Qe.y+st.y)*mt,y+=mt*3}return new Ww(I/y,U/y,0,m)}var Zw=7,nq=Number.POSITIVE_INFINITY;function CQ(m,y){function I(J,ne){var fe=0,Fe=0;ne<0&&(ne=0);var Qe=ne/Math.sqrt(2);switch(J){case\"top-right\":case\"top-left\":Fe=Qe-Zw;break;case\"bottom-right\":case\"bottom-left\":Fe=-Qe+Zw;break;case\"bottom\":Fe=-ne+Zw;break;case\"top\":Fe=ne-Zw;break}switch(J){case\"top-right\":case\"bottom-right\":fe=-Qe;break;case\"top-left\":case\"bottom-left\":fe=Qe;break;case\"left\":fe=ne;break;case\"right\":fe=-ne;break}return[fe,Fe]}function U(J,ne,fe){var Fe=0,Qe=0;switch(ne=Math.abs(ne),fe=Math.abs(fe),J){case\"top-right\":case\"top-left\":case\"top\":Qe=fe-Zw;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":Qe=-fe+Zw;break}switch(J){case\"top-right\":case\"bottom-right\":case\"right\":Fe=-ne;break;case\"top-left\":case\"bottom-left\":case\"left\":Fe=ne;break}return[Fe,Qe]}return y[1]!==nq?U(m,y[0],y[1]):I(m,y[0])}function hQe(m,y,I,U,J,ne,fe){m.createArrays();var Fe=512*m.overscaling;m.tilePixelRatio=rn/Fe,m.compareText={},m.iconsNeedLinear=!1;var Qe=m.layers[0].layout,st=m.layers[0]._unevaluatedLayout._values,mt={};if(m.textSizeData.kind===\"composite\"){var Xt=m.textSizeData,ur=Xt.minZoom,nr=Xt.maxZoom;mt.compositeTextSizes=[st[\"text-size\"].possiblyEvaluate(new pn(ur),fe),st[\"text-size\"].possiblyEvaluate(new pn(nr),fe)]}if(m.iconSizeData.kind===\"composite\"){var Lr=m.iconSizeData,Yr=Lr.minZoom,_i=Lr.maxZoom;mt.compositeIconSizes=[st[\"icon-size\"].possiblyEvaluate(new pn(Yr),fe),st[\"icon-size\"].possiblyEvaluate(new pn(_i),fe)]}mt.layoutTextSize=st[\"text-size\"].possiblyEvaluate(new pn(m.zoom+1),fe),mt.layoutIconSize=st[\"icon-size\"].possiblyEvaluate(new pn(m.zoom+1),fe),mt.textMaxSize=st[\"text-size\"].possiblyEvaluate(new pn(18));for(var si=Qe.get(\"text-line-height\")*Zi,Hi=Qe.get(\"text-rotation-alignment\")===\"map\"&&Qe.get(\"symbol-placement\")!==\"point\",Ei=Qe.get(\"text-keep-upright\"),Vi=Qe.get(\"text-size\"),en=function(){var $n=ra[An],Ba=Qe.get(\"text-font\").evaluate($n,{},fe).join(\",\"),_a=Vi.evaluate($n,{},fe),Pa=mt.layoutTextSize.evaluate($n,{},fe),qo=mt.layoutIconSize.evaluate($n,{},fe),Na={horizontal:{},vertical:void 0},ja=$n.text,us=[0,0];if(ja){var zo=ja.toString(),rl=Qe.get(\"text-letter-spacing\").evaluate($n,{},fe)*Zi,su=or(zo)?rl:0,il=Qe.get(\"text-anchor\").evaluate($n,{},fe),nl=Qe.get(\"text-variable-anchor\");if(!nl){var Ws=Qe.get(\"text-radial-offset\").evaluate($n,{},fe);Ws?us=CQ(il,[Ws*Zi,nq]):us=Qe.get(\"text-offset\").evaluate($n,{},fe).map(function(py){return py*Zi})}var Au=Hi?\"center\":Qe.get(\"text-justify\").evaluate($n,{},fe),Ou=Qe.get(\"symbol-placement\"),nf=Ou===\"point\"?Qe.get(\"text-max-width\").evaluate($n,{},fe)*Zi:0,bf=function(){m.allowVerticalPlacement&&zt(zo)&&(Na.vertical=Vw(ja,y,I,J,Ba,nf,si,il,\"left\",su,us,uv.vertical,!0,Ou,Pa,_a))};if(!Hi&&nl){for(var qh=Au===\"auto\"?nl.map(function(py){return aq(py)}):[Au],Zf=!1,jd=0;jd<qh.length;jd++){var Wd=qh[jd];if(!Na.horizontal[Wd])if(Zf)Na.horizontal[Wd]=Na.horizontal[0];else{var Oh=Vw(ja,y,I,J,Ba,nf,si,\"center\",Wd,su,us,uv.horizontal,!1,Ou,Pa,_a);Oh&&(Na.horizontal[Wd]=Oh,Zf=Oh.positionedLines.length===1)}}bf()}else{Au===\"auto\"&&(Au=aq(il));var fv=Vw(ja,y,I,J,Ba,nf,si,il,Au,su,us,uv.horizontal,!1,Ou,Pa,_a);fv&&(Na.horizontal[Au]=fv),bf(),zt(zo)&&Hi&&Ei&&(Na.vertical=Vw(ja,y,I,J,Ba,nf,si,il,Au,su,us,uv.vertical,!1,Ou,Pa,_a))}}var hv=void 0,hh=!1;if($n.icon&&$n.icon.name){var dv=U[$n.icon.name];dv&&(hv=tp(J[$n.icon.name],Qe.get(\"icon-offset\").evaluate($n,{},fe),Qe.get(\"icon-anchor\").evaluate($n,{},fe)),hh=dv.sdf,m.sdfIcons===void 0?m.sdfIcons=dv.sdf:m.sdfIcons!==dv.sdf&&re(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),(dv.pixelRatio!==m.pixelRatio||Qe.get(\"icon-rotate\").constantOr(1)!==0)&&(m.iconsNeedLinear=!0))}var _p=PQ(Na.horizontal)||Na.vertical;m.iconsInText=_p?_p.iconsInText:!1,(_p||hv)&&dQe(m,$n,Na,hv,U,mt,Pa,qo,us,hh,fe)},An=0,ra=m.features;An<ra.length;An+=1)en();ne&&m.generateCollisionDebugBuffers()}function aq(m){switch(m){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function dQe(m,y,I,U,J,ne,fe,Fe,Qe,st,mt){var Xt=ne.textMaxSize.evaluate(y,{});Xt===void 0&&(Xt=fe);var ur=m.layers[0].layout,nr=ur.get(\"icon-offset\").evaluate(y,{},mt),Lr=PQ(I.horizontal),Yr=24,_i=fe/Yr,si=m.tilePixelRatio*_i,Hi=m.tilePixelRatio*Xt/Yr,Ei=m.tilePixelRatio*Fe,Vi=m.tilePixelRatio*ur.get(\"symbol-spacing\"),en=ur.get(\"text-padding\")*m.tilePixelRatio,An=ur.get(\"icon-padding\")*m.tilePixelRatio,ra=ur.get(\"text-max-angle\")/180*Math.PI,$n=ur.get(\"text-rotation-alignment\")===\"map\"&&ur.get(\"symbol-placement\")!==\"point\",Ba=ur.get(\"icon-rotation-alignment\")===\"map\"&&ur.get(\"symbol-placement\")!==\"point\",_a=ur.get(\"symbol-placement\"),Pa=Vi/2,qo=ur.get(\"icon-text-fit\"),Na;U&&qo!==\"none\"&&(m.allowVerticalPlacement&&I.vertical&&(Na=hm(U,I.vertical,qo,ur.get(\"icon-text-fit-padding\"),nr,_i)),Lr&&(U=hm(U,Lr,qo,ur.get(\"icon-text-fit-padding\"),nr,_i)));var ja=function($w,y0){y0.x<0||y0.x>=rn||y0.y<0||y0.y>=rn||vQe(m,y0,$w,I,U,J,Na,m.layers[0],m.collisionBoxArray,y.index,y.sourceLayerIndex,m.index,si,en,$n,Qe,Ei,An,Ba,nr,y,ne,st,mt,fe)};if(_a===\"line\")for(var us=0,zo=MQ(y.geometry,0,0,rn,rn);us<zo.length;us+=1)for(var rl=zo[us],su=aQe(rl,Vi,ra,I.vertical||Lr,U,Yr,Hi,m.overscaling,rn),il=0,nl=su;il<nl.length;il+=1){var Ws=nl[il],Au=Lr;(!Au||!pQe(m,Au.text,Pa,Ws))&&ja(rl,Ws)}else if(_a===\"line-center\")for(var Ou=0,nf=y.geometry;Ou<nf.length;Ou+=1){var bf=nf[Ou];if(bf.length>1){var qh=nQe(bf,ra,I.vertical||Lr,U,Yr,Hi);qh&&ja(bf,qh)}}else if(y.type===\"Polygon\")for(var Zf=0,jd=zw(y.geometry,0);Zf<jd.length;Zf+=1){var Wd=jd[Zf],Oh=lQe(Wd,16);ja(Wd[0],new Gd(Oh.x,Oh.y,0))}else if(y.type===\"LineString\")for(var fv=0,hv=y.geometry;fv<hv.length;fv+=1){var hh=hv[fv];ja(hh,new Gd(hh[0].x,hh[0].y,0))}else if(y.type===\"Point\")for(var dv=0,_p=y.geometry;dv<_p.length;dv+=1)for(var py=_p[dv],F1=0,q1=py;F1<q1.length;F1+=1){var O1=q1[F1];ja([O1],new Gd(O1.x,O1.y,0))}}var wS=255,D1=wS*Sd;function LQ(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr){var Yr=oQe(y,I,Fe,J,ne,fe,U,m.allowVerticalPlacement),_i=m.textSizeData,si=null;_i.kind===\"source\"?(si=[Sd*J.layout.get(\"text-size\").evaluate(fe,{})],si[0]>D1&&re(m.layerIds[0]+': Value for \"text-size\" is >= '+wS+'. Reduce your \"text-size\".')):_i.kind===\"composite\"&&(si=[Sd*nr.compositeTextSizes[0].evaluate(fe,{},Lr),Sd*nr.compositeTextSizes[1].evaluate(fe,{},Lr)],(si[0]>D1||si[1]>D1)&&re(m.layerIds[0]+': Value for \"text-size\" is >= '+wS+'. Reduce your \"text-size\".')),m.addSymbols(m.text,Yr,si,Fe,ne,fe,st,y,Qe.lineStartIndex,Qe.lineLength,ur,Lr);for(var Hi=0,Ei=mt;Hi<Ei.length;Hi+=1){var Vi=Ei[Hi];Xt[Vi]=m.text.placedSymbolArray.length-1}return Yr.length*4}function PQ(m){for(var y in m)return m[y];return null}function vQe(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n){var Ba,_a=m.addToLineVertexArray(y,I),Pa,qo,Na,ja,us=0,zo=0,rl=0,su=0,il=-1,nl=-1,Ws={},Au=$(\"\"),Ou=0,nf=0;if(Fe._unevaluatedLayout.getValue(\"text-radial-offset\")===void 0?(Ba=Fe.layout.get(\"text-offset\").evaluate(Vi,{},ra).map(function(SS){return SS*Zi}),Ou=Ba[0],nf=Ba[1]):(Ou=Fe.layout.get(\"text-radial-offset\").evaluate(Vi,{},ra)*Zi,nf=nq),m.allowVerticalPlacement&&U.vertical){var bf=Fe.layout.get(\"text-rotate\").evaluate(Vi,{},ra),qh=bf+90,Zf=U.vertical;Na=new WC(Qe,y,st,mt,Xt,Zf,ur,nr,Lr,qh),fe&&(ja=new WC(Qe,y,st,mt,Xt,fe,_i,si,Lr,qh))}if(J){var jd=Fe.layout.get(\"icon-rotate\").evaluate(Vi,{}),Wd=Fe.layout.get(\"icon-text-fit\")!==\"none\",Oh=EQ(J,jd,An,Wd),fv=fe?EQ(fe,jd,An,Wd):void 0;qo=new WC(Qe,y,st,mt,Xt,J,_i,si,!1,jd),us=Oh.length*4;var hv=m.iconSizeData,hh=null;hv.kind===\"source\"?(hh=[Sd*Fe.layout.get(\"icon-size\").evaluate(Vi,{})],hh[0]>D1&&re(m.layerIds[0]+': Value for \"icon-size\" is >= '+wS+'. Reduce your \"icon-size\".')):hv.kind===\"composite\"&&(hh=[Sd*en.compositeIconSizes[0].evaluate(Vi,{},ra),Sd*en.compositeIconSizes[1].evaluate(Vi,{},ra)],(hh[0]>D1||hh[1]>D1)&&re(m.layerIds[0]+': Value for \"icon-size\" is >= '+wS+'. Reduce your \"icon-size\".')),m.addSymbols(m.icon,Oh,hh,Ei,Hi,Vi,!1,y,_a.lineStartIndex,_a.lineLength,-1,ra),il=m.icon.placedSymbolArray.length-1,fv&&(zo=fv.length*4,m.addSymbols(m.icon,fv,hh,Ei,Hi,Vi,uv.vertical,y,_a.lineStartIndex,_a.lineLength,-1,ra),nl=m.icon.placedSymbolArray.length-1)}for(var dv in U.horizontal){var _p=U.horizontal[dv];if(!Pa){Au=$(_p.text);var py=Fe.layout.get(\"text-rotate\").evaluate(Vi,{},ra);Pa=new WC(Qe,y,st,mt,Xt,_p,ur,nr,Lr,py)}var F1=_p.positionedLines.length===1;if(rl+=LQ(m,y,_p,ne,Fe,Lr,Vi,Yr,_a,U.vertical?uv.horizontal:uv.horizontalOnly,F1?Object.keys(U.horizontal):[dv],Ws,il,en,ra),F1)break}U.vertical&&(su+=LQ(m,y,U.vertical,ne,Fe,Lr,Vi,Yr,_a,uv.vertical,[\"vertical\"],Ws,nl,en,ra));var q1=Pa?Pa.boxStartIndex:m.collisionBoxArray.length,O1=Pa?Pa.boxEndIndex:m.collisionBoxArray.length,$w=Na?Na.boxStartIndex:m.collisionBoxArray.length,y0=Na?Na.boxEndIndex:m.collisionBoxArray.length,JC=qo?qo.boxStartIndex:m.collisionBoxArray.length,fq=qo?qo.boxEndIndex:m.collisionBoxArray.length,$C=ja?ja.boxStartIndex:m.collisionBoxArray.length,hq=ja?ja.boxEndIndex:m.collisionBoxArray.length,jp=-1,Qw=function(SS,ZQ){return SS&&SS.circleDiameter?Math.max(SS.circleDiameter,ZQ):ZQ};jp=Qw(Pa,jp),jp=Qw(Na,jp),jp=Qw(qo,jp),jp=Qw(ja,jp);var QC=jp>-1?1:0;QC&&(jp*=$n/Zi),m.glyphOffsetArray.length>=ou.MAX_GLYPHS&&re(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),Vi.sortKey!==void 0&&m.addToSortKeyRanges(m.symbolInstances.length,Vi.sortKey),m.symbolInstances.emplaceBack(y.x,y.y,Ws.right>=0?Ws.right:-1,Ws.center>=0?Ws.center:-1,Ws.left>=0?Ws.left:-1,Ws.vertical||-1,il,nl,Au,q1,O1,$w,y0,JC,fq,$C,hq,st,rl,su,us,zo,QC,0,ur,Ou,nf,jp)}function pQe(m,y,I,U){var J=m.compareText;if(!(y in J))J[y]=[];else for(var ne=J[y],fe=ne.length-1;fe>=0;fe--)if(U.dist(ne[fe])<I)return!0;return J[y].push(U),!1}var gQe=pg.VectorTileFeature.types,mQe=[{name:\"a_fade_opacity\",components:1,type:\"Uint8\",offset:0}];function ZC(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){var nr=Fe?Math.min(D1,Math.round(Fe[0])):0,Lr=Fe?Math.min(D1,Math.round(Fe[1])):0;m.emplaceBack(y,I,Math.round(U*32),Math.round(J*32),ne,fe,(nr<<1)+(Qe?1:0),Lr,st*16,mt*16,Xt*256,ur*256)}function oq(m,y,I){m.emplaceBack(y.x,y.y,I),m.emplaceBack(y.x,y.y,I),m.emplaceBack(y.x,y.y,I),m.emplaceBack(y.x,y.y,I)}function yQe(m){for(var y=0,I=m.sections;y<I.length;y+=1){var U=I[y];if(vi(U.text))return!0}return!1}var Xw=function(y){this.layoutVertexArray=new Za,this.indexArray=new ma,this.programConfigurations=y,this.segments=new ns,this.dynamicLayoutVertexArray=new wn,this.opacityVertexArray=new vn,this.placedSymbolArray=new El};Xw.prototype.isEmpty=function(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0},Xw.prototype.upload=function(y,I,U,J){this.isEmpty()||(U&&(this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,te.members),this.indexBuffer=y.createIndexBuffer(this.indexArray,I),this.dynamicLayoutVertexBuffer=y.createVertexBuffer(this.dynamicLayoutVertexArray,ue.members,!0),this.opacityVertexBuffer=y.createVertexBuffer(this.opacityVertexArray,mQe,!0),this.opacityVertexBuffer.itemSize=1),(U||J)&&this.programConfigurations.upload(y))},Xw.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},Z(\"SymbolBuffers\",Xw);var TS=function(y,I,U){this.layoutVertexArray=new y,this.layoutAttributes=I,this.indexArray=new U,this.segments=new ns,this.collisionVertexArray=new Vn};TS.prototype.upload=function(y){this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=y.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=y.createVertexBuffer(this.collisionVertexArray,De.members,!0)},TS.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},Z(\"CollisionBuffers\",TS);var ou=function(y){this.collisionBoxArray=y.collisionBoxArray,this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(Qe){return Qe.id}),this.index=y.index,this.pixelRatio=y.pixelRatio,this.sourceLayerIndex=y.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=oy([]),this.placementViewportMatrix=oy([]);var I=this.layers[0],U=I._unevaluatedLayout._values;this.textSizeData=yp(this.zoom,U[\"text-size\"]),this.iconSizeData=yp(this.zoom,U[\"icon-size\"]);var J=this.layers[0].layout,ne=J.get(\"symbol-sort-key\"),fe=J.get(\"symbol-z-order\");this.canOverlap=J.get(\"text-allow-overlap\")||J.get(\"icon-allow-overlap\")||J.get(\"text-ignore-placement\")||J.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=fe!==\"viewport-y\"&&ne.constantOr(1)!==void 0;var Fe=fe===\"viewport-y\"||fe===\"auto\"&&!this.sortFeaturesByKey;this.sortFeaturesByY=Fe&&this.canOverlap,J.get(\"symbol-placement\")===\"point\"&&(this.writingModes=J.get(\"text-writing-mode\").map(function(Qe){return uv[Qe]})),this.stateDependentLayerIds=this.layers.filter(function(Qe){return Qe.isStateDependent()}).map(function(Qe){return Qe.id}),this.sourceID=y.sourceID};ou.prototype.createArrays=function(){this.text=new Xw(new Ri(this.layers,this.zoom,function(y){return/^text/.test(y)})),this.icon=new Xw(new Ri(this.layers,this.zoom,function(y){return/^icon/.test(y)})),this.glyphOffsetArray=new yf,this.lineVertexArray=new Gl,this.symbolInstances=new wc},ou.prototype.calculateGlyphDependencies=function(y,I,U,J,ne){for(var fe=0;fe<y.length;fe++)if(I[y.charCodeAt(fe)]=!0,(U||J)&&ne){var Fe=pi[y.charAt(fe)];Fe&&(I[Fe.charCodeAt(0)]=!0)}},ou.prototype.populate=function(y,I,U){var J=this.layers[0],ne=J.layout,fe=ne.get(\"text-font\"),Fe=ne.get(\"text-field\"),Qe=ne.get(\"icon-image\"),st=(Fe.value.kind!==\"constant\"||Fe.value.value instanceof Vl&&!Fe.value.value.isEmpty()||Fe.value.value.toString().length>0)&&(fe.value.kind!==\"constant\"||fe.value.value.length>0),mt=Qe.value.kind!==\"constant\"||!!Qe.value.value||Object.keys(Qe.parameters).length>0,Xt=ne.get(\"symbol-sort-key\");if(this.features=[],!(!st&&!mt)){for(var ur=I.iconDependencies,nr=I.glyphDependencies,Lr=I.availableImages,Yr=new pn(this.zoom),_i=0,si=y;_i<si.length;_i+=1){var Hi=si[_i],Ei=Hi.feature,Vi=Hi.id,en=Hi.index,An=Hi.sourceLayerIndex,ra=J._featureFilter.needGeometry,$n=No(Ei,ra);if(J._featureFilter.filter(Yr,$n,U)){ra||($n.geometry=da(Ei));var Ba=void 0;if(st){var _a=J.getValueAndResolveTokens(\"text-field\",$n,U,Lr),Pa=Vl.factory(_a);yQe(Pa)&&(this.hasRTLText=!0),(!this.hasRTLText||so()===\"unavailable\"||this.hasRTLText&&_s.isParsed())&&(Ba=ni(Pa,J,$n))}var qo=void 0;if(mt){var Na=J.getValueAndResolveTokens(\"icon-image\",$n,U,Lr);Na instanceof Js?qo=Na:qo=Js.fromString(Na)}if(!(!Ba&&!qo)){var ja=this.sortFeaturesByKey?Xt.evaluate($n,{},U):void 0,us={id:Vi,text:Ba,icon:qo,index:en,sourceLayerIndex:An,geometry:$n.geometry,properties:Ei.properties,type:gQe[Ei.type],sortKey:ja};if(this.features.push(us),qo&&(ur[qo.name]=!0),Ba){var zo=fe.evaluate($n,{},U).join(\",\"),rl=ne.get(\"text-rotation-alignment\")===\"map\"&&ne.get(\"symbol-placement\")!==\"point\";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(uv.vertical)>=0;for(var su=0,il=Ba.sections;su<il.length;su+=1){var nl=il[su];if(nl.image)ur[nl.image.name]=!0;else{var Ws=zt(Ba.toString()),Au=nl.fontStack||zo,Ou=nr[Au]=nr[Au]||{};this.calculateGlyphDependencies(nl.text,Ou,rl,this.allowVerticalPlacement,Ws)}}}}}}ne.get(\"symbol-placement\")===\"line\"&&(this.features=Di(this.features)),this.sortFeaturesByKey&&this.features.sort(function(nf,bf){return nf.sortKey-bf.sortKey})}},ou.prototype.update=function(y,I,U){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(y,I,this.layers,U),this.icon.programConfigurations.updatePaintArrays(y,I,this.layers,U))},ou.prototype.isEmpty=function(){return this.symbolInstances.length===0&&!this.hasRTLText},ou.prototype.uploadPending=function(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload},ou.prototype.upload=function(y){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(y),this.iconCollisionBox.upload(y)),this.text.upload(y,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(y,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0},ou.prototype.destroyDebugData=function(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()},ou.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()},ou.prototype.addToLineVertexArray=function(y,I){var U=this.lineVertexArray.length;if(y.segment!==void 0){for(var J=y.dist(I[y.segment+1]),ne=y.dist(I[y.segment]),fe={},Fe=y.segment+1;Fe<I.length;Fe++)fe[Fe]={x:I[Fe].x,y:I[Fe].y,tileUnitDistanceFromAnchor:J},Fe<I.length-1&&(J+=I[Fe+1].dist(I[Fe]));for(var Qe=y.segment||0;Qe>=0;Qe--)fe[Qe]={x:I[Qe].x,y:I[Qe].y,tileUnitDistanceFromAnchor:ne},Qe>0&&(ne+=I[Qe-1].dist(I[Qe]));for(var st=0;st<I.length;st++){var mt=fe[st];this.lineVertexArray.emplaceBack(mt.x,mt.y,mt.tileUnitDistanceFromAnchor)}}return{lineStartIndex:U,lineLength:this.lineVertexArray.length-U}},ou.prototype.addSymbols=function(y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){for(var nr=y.indexArray,Lr=y.layoutVertexArray,Yr=y.segments.prepareSegment(4*I.length,Lr,nr,this.canOverlap?fe.sortKey:void 0),_i=this.glyphOffsetArray.length,si=Yr.vertexLength,Hi=this.allowVerticalPlacement&&Fe===uv.vertical?Math.PI/2:0,Ei=fe.text&&fe.text.sections,Vi=0;Vi<I.length;Vi++){var en=I[Vi],An=en.tl,ra=en.tr,$n=en.bl,Ba=en.br,_a=en.tex,Pa=en.pixelOffsetTL,qo=en.pixelOffsetBR,Na=en.minFontScaleX,ja=en.minFontScaleY,us=en.glyphOffset,zo=en.isSDF,rl=en.sectionIndex,su=Yr.vertexLength,il=us[1];ZC(Lr,Qe.x,Qe.y,An.x,il+An.y,_a.x,_a.y,U,zo,Pa.x,Pa.y,Na,ja),ZC(Lr,Qe.x,Qe.y,ra.x,il+ra.y,_a.x+_a.w,_a.y,U,zo,qo.x,Pa.y,Na,ja),ZC(Lr,Qe.x,Qe.y,$n.x,il+$n.y,_a.x,_a.y+_a.h,U,zo,Pa.x,qo.y,Na,ja),ZC(Lr,Qe.x,Qe.y,Ba.x,il+Ba.y,_a.x+_a.w,_a.y+_a.h,U,zo,qo.x,qo.y,Na,ja),oq(y.dynamicLayoutVertexArray,Qe,Hi),nr.emplaceBack(su,su+1,su+2),nr.emplaceBack(su+1,su+2,su+3),Yr.vertexLength+=4,Yr.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(us[0]),(Vi===I.length-1||rl!==I[Vi+1].sectionIndex)&&y.programConfigurations.populatePaintArrays(Lr.length,fe,fe.index,{},ur,Ei&&Ei[rl])}y.placedSymbolArray.emplaceBack(Qe.x,Qe.y,_i,this.glyphOffsetArray.length-_i,si,st,mt,Qe.segment,U?U[0]:0,U?U[1]:0,J[0],J[1],Fe,0,!1,0,Xt)},ou.prototype._addCollisionDebugVertex=function(y,I,U,J,ne,fe){return I.emplaceBack(0,0),y.emplaceBack(U.x,U.y,J,ne,Math.round(fe.x),Math.round(fe.y))},ou.prototype.addCollisionDebugVertices=function(y,I,U,J,ne,fe,Fe){var Qe=ne.segments.prepareSegment(4,ne.layoutVertexArray,ne.indexArray),st=Qe.vertexLength,mt=ne.layoutVertexArray,Xt=ne.collisionVertexArray,ur=Fe.anchorX,nr=Fe.anchorY;this._addCollisionDebugVertex(mt,Xt,fe,ur,nr,new u(y,I)),this._addCollisionDebugVertex(mt,Xt,fe,ur,nr,new u(U,I)),this._addCollisionDebugVertex(mt,Xt,fe,ur,nr,new u(U,J)),this._addCollisionDebugVertex(mt,Xt,fe,ur,nr,new u(y,J)),Qe.vertexLength+=4;var Lr=ne.indexArray;Lr.emplaceBack(st,st+1),Lr.emplaceBack(st+1,st+2),Lr.emplaceBack(st+2,st+3),Lr.emplaceBack(st+3,st),Qe.primitiveLength+=4},ou.prototype.addDebugCollisionBoxes=function(y,I,U,J){for(var ne=y;ne<I;ne++){var fe=this.collisionBoxArray.get(ne),Fe=fe.x1,Qe=fe.y1,st=fe.x2,mt=fe.y2;this.addCollisionDebugVertices(Fe,Qe,st,mt,J?this.textCollisionBox:this.iconCollisionBox,fe.anchorPoint,U)}},ou.prototype.generateCollisionDebugBuffers=function(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new TS(aa,at.members,Po),this.iconCollisionBox=new TS(aa,at.members,Po);for(var y=0;y<this.symbolInstances.length;y++){var I=this.symbolInstances.get(y);this.addDebugCollisionBoxes(I.textBoxStartIndex,I.textBoxEndIndex,I,!0),this.addDebugCollisionBoxes(I.verticalTextBoxStartIndex,I.verticalTextBoxEndIndex,I,!0),this.addDebugCollisionBoxes(I.iconBoxStartIndex,I.iconBoxEndIndex,I,!1),this.addDebugCollisionBoxes(I.verticalIconBoxStartIndex,I.verticalIconBoxEndIndex,I,!1)}},ou.prototype._deserializeCollisionBoxesForSymbol=function(y,I,U,J,ne,fe,Fe,Qe,st){for(var mt={},Xt=I;Xt<U;Xt++){var ur=y.get(Xt);mt.textBox={x1:ur.x1,y1:ur.y1,x2:ur.x2,y2:ur.y2,anchorPointX:ur.anchorPointX,anchorPointY:ur.anchorPointY},mt.textFeatureIndex=ur.featureIndex;break}for(var nr=J;nr<ne;nr++){var Lr=y.get(nr);mt.verticalTextBox={x1:Lr.x1,y1:Lr.y1,x2:Lr.x2,y2:Lr.y2,anchorPointX:Lr.anchorPointX,anchorPointY:Lr.anchorPointY},mt.verticalTextFeatureIndex=Lr.featureIndex;break}for(var Yr=fe;Yr<Fe;Yr++){var _i=y.get(Yr);mt.iconBox={x1:_i.x1,y1:_i.y1,x2:_i.x2,y2:_i.y2,anchorPointX:_i.anchorPointX,anchorPointY:_i.anchorPointY},mt.iconFeatureIndex=_i.featureIndex;break}for(var si=Qe;si<st;si++){var Hi=y.get(si);mt.verticalIconBox={x1:Hi.x1,y1:Hi.y1,x2:Hi.x2,y2:Hi.y2,anchorPointX:Hi.anchorPointX,anchorPointY:Hi.anchorPointY},mt.verticalIconFeatureIndex=Hi.featureIndex;break}return mt},ou.prototype.deserializeCollisionBoxes=function(y){this.collisionArrays=[];for(var I=0;I<this.symbolInstances.length;I++){var U=this.symbolInstances.get(I);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(y,U.textBoxStartIndex,U.textBoxEndIndex,U.verticalTextBoxStartIndex,U.verticalTextBoxEndIndex,U.iconBoxStartIndex,U.iconBoxEndIndex,U.verticalIconBoxStartIndex,U.verticalIconBoxEndIndex))}},ou.prototype.hasTextData=function(){return this.text.segments.get().length>0},ou.prototype.hasIconData=function(){return this.icon.segments.get().length>0},ou.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},ou.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},ou.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},ou.prototype.addIndicesForPlacedSymbol=function(y,I){for(var U=y.placedSymbolArray.get(I),J=U.vertexStartIndex+U.numGlyphs*4,ne=U.vertexStartIndex;ne<J;ne+=4)y.indexArray.emplaceBack(ne,ne+1,ne+2),y.indexArray.emplaceBack(ne+1,ne+2,ne+3)},ou.prototype.getSortedSymbolIndexes=function(y){if(this.sortedAngle===y&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;for(var I=Math.sin(y),U=Math.cos(y),J=[],ne=[],fe=[],Fe=0;Fe<this.symbolInstances.length;++Fe){fe.push(Fe);var Qe=this.symbolInstances.get(Fe);J.push(Math.round(I*Qe.anchorX+U*Qe.anchorY)|0),ne.push(Qe.featureIndex)}return fe.sort(function(st,mt){return J[st]-J[mt]||ne[mt]-ne[st]}),fe},ou.prototype.addToSortKeyRanges=function(y,I){var U=this.sortKeyRanges[this.sortKeyRanges.length-1];U&&U.sortKey===I?U.symbolInstanceEnd=y+1:this.sortKeyRanges.push({sortKey:I,symbolInstanceStart:y,symbolInstanceEnd:y+1})},ou.prototype.sortFeatures=function(y){var I=this;if(this.sortFeaturesByY&&this.sortedAngle!==y&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(y),this.sortedAngle=y,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var U=0,J=this.symbolInstanceIndexes;U<J.length;U+=1){var ne=J[U],fe=this.symbolInstances.get(ne);this.featureSortOrder.push(fe.featureIndex),[fe.rightJustifiedTextSymbolIndex,fe.centerJustifiedTextSymbolIndex,fe.leftJustifiedTextSymbolIndex].forEach(function(Fe,Qe,st){Fe>=0&&st.indexOf(Fe)===Qe&&I.addIndicesForPlacedSymbol(I.text,Fe)}),fe.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,fe.verticalPlacedTextSymbolIndex),fe.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,fe.placedIconSymbolIndex),fe.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,fe.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},Z(\"SymbolBucket\",ou,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),ou.MAX_GLYPHS=65535,ou.addDynamicAttributes=oq;function _Qe(m,y){return y.replace(/{([^{}]+)}/g,function(I,U){return U in m?String(m[U]):\"\"})}var xQe=new Oi({\"symbol-placement\":new At(on.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new At(on.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new At(on.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new Er(on.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new At(on.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new At(on.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new At(on.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new At(on.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new At(on.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new Er(on.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new At(on.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new At(on.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new Er(on.layout_symbol[\"icon-image\"]),\"icon-rotate\":new Er(on.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new At(on.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new At(on.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new Er(on.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new Er(on.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new At(on.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new At(on.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new At(on.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new Er(on.layout_symbol[\"text-field\"]),\"text-font\":new Er(on.layout_symbol[\"text-font\"]),\"text-size\":new Er(on.layout_symbol[\"text-size\"]),\"text-max-width\":new Er(on.layout_symbol[\"text-max-width\"]),\"text-line-height\":new At(on.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new Er(on.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new Er(on.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new Er(on.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new At(on.layout_symbol[\"text-variable-anchor\"]),\"text-anchor\":new Er(on.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new At(on.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new At(on.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new Er(on.layout_symbol[\"text-rotate\"]),\"text-padding\":new At(on.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new At(on.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new Er(on.layout_symbol[\"text-transform\"]),\"text-offset\":new Er(on.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new At(on.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new At(on.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new At(on.layout_symbol[\"text-optional\"])}),bQe=new Oi({\"icon-opacity\":new Er(on.paint_symbol[\"icon-opacity\"]),\"icon-color\":new Er(on.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new Er(on.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new Er(on.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new Er(on.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new At(on.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new At(on.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new Er(on.paint_symbol[\"text-opacity\"]),\"text-color\":new Er(on.paint_symbol[\"text-color\"],{runtimeType:Tl,getOverride:function(m){return m.textColor},hasOverride:function(m){return!!m.textColor}}),\"text-halo-color\":new Er(on.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new Er(on.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new Er(on.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new At(on.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new At(on.paint_symbol[\"text-translate-anchor\"])}),sq={paint:bQe,layout:xQe},Yw=function(y){this.type=y.property.overrides?y.property.overrides.runtimeType:Ec,this.defaultValue=y};Yw.prototype.evaluate=function(y){if(y.formattedSection){var I=this.defaultValue.property.overrides;if(I&&I.hasOverride(y.formattedSection))return I.getOverride(y.formattedSection)}return y.feature&&y.featureState?this.defaultValue.evaluate(y.feature,y.featureState):this.defaultValue.property.specification.default},Yw.prototype.eachChild=function(y){if(!this.defaultValue.isConstant()){var I=this.defaultValue.value;y(I._styleExpression.expression)}},Yw.prototype.outputDefined=function(){return!1},Yw.prototype.serialize=function(){return null},Z(\"FormatSectionOverride\",Yw,{omit:[\"defaultValue\"]});var wQe=function(m){function y(I){m.call(this,I,sq)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.recalculate=function(U,J){if(m.prototype.recalculate.call(this,U,J),this.layout.get(\"icon-rotation-alignment\")===\"auto\"&&(this.layout.get(\"symbol-placement\")!==\"point\"?this.layout._values[\"icon-rotation-alignment\"]=\"map\":this.layout._values[\"icon-rotation-alignment\"]=\"viewport\"),this.layout.get(\"text-rotation-alignment\")===\"auto\"&&(this.layout.get(\"symbol-placement\")!==\"point\"?this.layout._values[\"text-rotation-alignment\"]=\"map\":this.layout._values[\"text-rotation-alignment\"]=\"viewport\"),this.layout.get(\"text-pitch-alignment\")===\"auto\"&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")),this.layout.get(\"icon-pitch-alignment\")===\"auto\"&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),this.layout.get(\"symbol-placement\")===\"point\"){var ne=this.layout.get(\"text-writing-mode\");if(ne){for(var fe=[],Fe=0,Qe=ne;Fe<Qe.length;Fe+=1){var st=Qe[Fe];fe.indexOf(st)<0&&fe.push(st)}this.layout._values[\"text-writing-mode\"]=fe}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]}this._setPaintOverrides()},y.prototype.getValueAndResolveTokens=function(U,J,ne,fe){var Fe=this.layout.get(U).evaluate(J,{},ne,fe),Qe=this._unevaluatedLayout._values[U];return!Qe.isDataDriven()&&!Da(Qe.value)&&Fe?_Qe(J.properties,Fe):Fe},y.prototype.createBucket=function(U){return new ou(U)},y.prototype.queryRadius=function(){return 0},y.prototype.queryIntersectsFeature=function(){return!1},y.prototype._setPaintOverrides=function(){for(var U=0,J=sq.paint.overridableProperties;U<J.length;U+=1){var ne=J[U];if(y.hasPaintOverride(this.layout,ne)){var fe=this.paint.get(ne),Fe=new Yw(fe),Qe=new Dc(Fe,fe.property.specification),st=null;fe.value.kind===\"constant\"||fe.value.kind===\"source\"?st=new Jc(\"source\",Qe):st=new yc(\"composite\",Qe,fe.value.zoomStops,fe.value._interpolationType),this.paint._values[ne]=new dl(fe.property,st,fe.parameters)}}},y.prototype._handleOverridablePaintPropertyUpdate=function(U,J,ne){return!this.layout||J.isDataDriven()||ne.isDataDriven()?!1:y.hasPaintOverride(this.layout,U)},y.hasPaintOverride=function(U,J){var ne=U.get(\"text-field\"),fe=sq.paint.properties[J],Fe=!1,Qe=function(Xt){for(var ur=0,nr=Xt;ur<nr.length;ur+=1){var Lr=nr[ur];if(fe.overrides&&fe.overrides.hasOverride(Lr)){Fe=!0;return}}};if(ne.value.kind===\"constant\"&&ne.value.value instanceof Vl)Qe(ne.value.value.sections);else if(ne.value.kind===\"source\"){var st=function(Xt){if(!Fe)if(Xt instanceof hs&&ws(Xt.value)===Al){var ur=Xt.value;Qe(ur.sections)}else Xt instanceof ec?Qe(Xt.sections):Xt.eachChild(st)},mt=ne.value;mt._styleExpression&&st(mt._styleExpression.expression)}return Fe},y}(cn),TQe=new Oi({\"background-color\":new At(on.paint_background[\"background-color\"]),\"background-pattern\":new wi(on.paint_background[\"background-pattern\"]),\"background-opacity\":new At(on.paint_background[\"background-opacity\"])}),AQe={paint:TQe},SQe=function(m){function y(I){m.call(this,I,AQe)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(cn),MQe=new Oi({\"raster-opacity\":new At(on.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new At(on.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new At(on.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new At(on.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new At(on.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new At(on.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new At(on.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new At(on.paint_raster[\"raster-fade-duration\"])}),EQe={paint:MQe},kQe=function(m){function y(I){m.call(this,I,EQe)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(cn);function CQe(m){var y=[],I=m.id;return I===void 0&&y.push({message:\"layers.\"+I+': missing required property \"id\"'}),m.render===void 0&&y.push({message:\"layers.\"+I+': missing required method \"render\"'}),m.renderingMode&&m.renderingMode!==\"2d\"&&m.renderingMode!==\"3d\"&&y.push({message:\"layers.\"+I+': property \"renderingMode\" must be either \"2d\" or \"3d\"'}),y}var LQe=function(m){function y(I){m.call(this,I,{}),this.implementation=I}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.is3D=function(){return this.implementation.renderingMode===\"3d\"},y.prototype.hasOffscreenPass=function(){return this.implementation.prerender!==void 0},y.prototype.recalculate=function(){},y.prototype.updateTransitions=function(){},y.prototype.hasTransition=function(){},y.prototype.serialize=function(){},y.prototype.onAdd=function(U){this.implementation.onAdd&&this.implementation.onAdd(U,U.painter.context.gl)},y.prototype.onRemove=function(U){this.implementation.onRemove&&this.implementation.onRemove(U,U.painter.context.gl)},y}(cn),PQe={circle:O9,heatmap:Lw,hillshade:dC,fill:Qx,\"fill-extrusion\":fm,line:S,symbol:wQe,background:SQe,raster:kQe};function IQe(m){return m.type===\"custom\"?new LQe(m):new PQe[m.type](m)}var IQ=f.HTMLImageElement,RQ=f.HTMLCanvasElement,DQ=f.HTMLVideoElement,zQ=f.ImageData,XC=f.ImageBitmap,ib=function(y,I,U,J){this.context=y,this.format=U,this.texture=y.gl.createTexture(),this.update(I,J)};ib.prototype.update=function(y,I,U){var J=y.width,ne=y.height,fe=(!this.size||this.size[0]!==J||this.size[1]!==ne)&&!U,Fe=this,Qe=Fe.context,st=Qe.gl;if(this.useMipmap=!!(I&&I.useMipmap),st.bindTexture(st.TEXTURE_2D,this.texture),Qe.pixelStoreUnpackFlipY.set(!1),Qe.pixelStoreUnpack.set(1),Qe.pixelStoreUnpackPremultiplyAlpha.set(this.format===st.RGBA&&(!I||I.premultiply!==!1)),fe)this.size=[J,ne],y instanceof IQ||y instanceof RQ||y instanceof DQ||y instanceof zQ||XC&&y instanceof XC?st.texImage2D(st.TEXTURE_2D,0,this.format,this.format,st.UNSIGNED_BYTE,y):st.texImage2D(st.TEXTURE_2D,0,this.format,J,ne,0,this.format,st.UNSIGNED_BYTE,y.data);else{var mt=U||{x:0,y:0},Xt=mt.x,ur=mt.y;y instanceof IQ||y instanceof RQ||y instanceof DQ||y instanceof zQ||XC&&y instanceof XC?st.texSubImage2D(st.TEXTURE_2D,0,Xt,ur,st.RGBA,st.UNSIGNED_BYTE,y):st.texSubImage2D(st.TEXTURE_2D,0,Xt,ur,J,ne,st.RGBA,st.UNSIGNED_BYTE,y.data)}this.useMipmap&&this.isSizePowerOfTwo()&&st.generateMipmap(st.TEXTURE_2D)},ib.prototype.bind=function(y,I,U){var J=this,ne=J.context,fe=ne.gl;fe.bindTexture(fe.TEXTURE_2D,this.texture),U===fe.LINEAR_MIPMAP_NEAREST&&!this.isSizePowerOfTwo()&&(U=fe.LINEAR),y!==this.filter&&(fe.texParameteri(fe.TEXTURE_2D,fe.TEXTURE_MAG_FILTER,y),fe.texParameteri(fe.TEXTURE_2D,fe.TEXTURE_MIN_FILTER,U||y),this.filter=y),I!==this.wrap&&(fe.texParameteri(fe.TEXTURE_2D,fe.TEXTURE_WRAP_S,I),fe.texParameteri(fe.TEXTURE_2D,fe.TEXTURE_WRAP_T,I),this.wrap=I)},ib.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1===0},ib.prototype.destroy=function(){var y=this.context,I=y.gl;I.deleteTexture(this.texture),this.texture=null};var lq=function(y){var I=this;this._callback=y,this._triggered=!1,typeof MessageChannel!=\"undefined\"&&(this._channel=new MessageChannel,this._channel.port2.onmessage=function(){I._triggered=!1,I._callback()})};lq.prototype.trigger=function(){var y=this;this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(function(){y._triggered=!1,y._callback()},0))},lq.prototype.remove=function(){delete this._channel,this._callback=function(){}};var Kw=function(y,I,U){this.target=y,this.parent=I,this.mapId=U,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},q([\"receive\",\"process\"],this),this.invoker=new lq(this.process),this.target.addEventListener(\"message\",this.receive,!1),this.globalScope=ke()?y:f};Kw.prototype.send=function(y,I,U,J,ne){var fe=this;ne===void 0&&(ne=!1);var Fe=Math.round(Math.random()*1e18).toString(36).substring(0,10);U&&(this.callbacks[Fe]=U);var Qe=Te(this.globalScope)?void 0:[];return this.target.postMessage({id:Fe,type:y,hasCallback:!!U,targetMapId:J,mustQueue:ne,sourceMapId:this.mapId,data:Ue(I,Qe)},Qe),{cancel:function(){U&&delete fe.callbacks[Fe],fe.target.postMessage({id:Fe,type:\"<cancel>\",targetMapId:J,sourceMapId:fe.mapId})}}},Kw.prototype.receive=function(y){var I=y.data,U=I.id;if(U&&!(I.targetMapId&&this.mapId!==I.targetMapId))if(I.type===\"<cancel>\"){delete this.tasks[U];var J=this.cancelCallbacks[U];delete this.cancelCallbacks[U],J&&J()}else ke()||I.mustQueue?(this.tasks[U]=I,this.taskQueue.push(U),this.invoker.trigger()):this.processTask(U,I)},Kw.prototype.process=function(){if(this.taskQueue.length){var y=this.taskQueue.shift(),I=this.tasks[y];delete this.tasks[y],this.taskQueue.length&&this.invoker.trigger(),I&&this.processTask(y,I)}},Kw.prototype.processTask=function(y,I){var U=this;if(I.type===\"<response>\"){var J=this.callbacks[y];delete this.callbacks[y],J&&(I.error?J(We(I.error)):J(null,We(I.data)))}else{var ne=!1,fe=Te(this.globalScope)?void 0:[],Fe=I.hasCallback?function(ur,nr){ne=!0,delete U.cancelCallbacks[y],U.target.postMessage({id:y,type:\"<response>\",sourceMapId:U.mapId,error:ur?Ue(ur):null,data:Ue(nr,fe)},fe)}:function(ur){ne=!0},Qe=null,st=We(I.data);if(this.parent[I.type])Qe=this.parent[I.type](I.sourceMapId,st,Fe);else if(this.parent.getWorkerSource){var mt=I.type.split(\".\"),Xt=this.parent.getWorkerSource(I.sourceMapId,mt[0],st.source);Qe=Xt[mt[1]](st,Fe)}else Fe(new Error(\"Could not find function \"+I.type));!ne&&Qe&&Qe.cancel&&(this.cancelCallbacks[y]=Qe.cancel)}},Kw.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1)};function RQe(m,y,I){y=Math.pow(2,I)-y-1;var U=FQ(m*256,y*256,I),J=FQ((m+1)*256,(y+1)*256,I);return U[0]+\",\"+U[1]+\",\"+J[0]+\",\"+J[1]}function FQ(m,y,I){var U=2*Math.PI*6378137/256/Math.pow(2,I),J=m*U-2*Math.PI*6378137/2,ne=y*U-2*Math.PI*6378137/2;return[J,ne]}var jf=function(y,I){y&&(I?this.setSouthWest(y).setNorthEast(I):y.length===4?this.setSouthWest([y[0],y[1]]).setNorthEast([y[2],y[3]]):this.setSouthWest(y[0]).setNorthEast(y[1]))};jf.prototype.setNorthEast=function(y){return this._ne=y instanceof sc?new sc(y.lng,y.lat):sc.convert(y),this},jf.prototype.setSouthWest=function(y){return this._sw=y instanceof sc?new sc(y.lng,y.lat):sc.convert(y),this},jf.prototype.extend=function(y){var I=this._sw,U=this._ne,J,ne;if(y instanceof sc)J=y,ne=y;else if(y instanceof jf){if(J=y._sw,ne=y._ne,!J||!ne)return this}else{if(Array.isArray(y))if(y.length===4||y.every(Array.isArray)){var fe=y;return this.extend(jf.convert(fe))}else{var Fe=y;return this.extend(sc.convert(Fe))}return this}return!I&&!U?(this._sw=new sc(J.lng,J.lat),this._ne=new sc(ne.lng,ne.lat)):(I.lng=Math.min(J.lng,I.lng),I.lat=Math.min(J.lat,I.lat),U.lng=Math.max(ne.lng,U.lng),U.lat=Math.max(ne.lat,U.lat)),this},jf.prototype.getCenter=function(){return new sc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},jf.prototype.getSouthWest=function(){return this._sw},jf.prototype.getNorthEast=function(){return this._ne},jf.prototype.getNorthWest=function(){return new sc(this.getWest(),this.getNorth())},jf.prototype.getSouthEast=function(){return new sc(this.getEast(),this.getSouth())},jf.prototype.getWest=function(){return this._sw.lng},jf.prototype.getSouth=function(){return this._sw.lat},jf.prototype.getEast=function(){return this._ne.lng},jf.prototype.getNorth=function(){return this._ne.lat},jf.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},jf.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},jf.prototype.isEmpty=function(){return!(this._sw&&this._ne)},jf.prototype.contains=function(y){var I=sc.convert(y),U=I.lng,J=I.lat,ne=this._sw.lat<=J&&J<=this._ne.lat,fe=this._sw.lng<=U&&U<=this._ne.lng;return this._sw.lng>this._ne.lng&&(fe=this._sw.lng>=U&&U>=this._ne.lng),ne&&fe},jf.convert=function(y){return!y||y instanceof jf?y:new jf(y)};var qQ=63710088e-1,sc=function(y,I){if(isNaN(y)||isNaN(I))throw new Error(\"Invalid LngLat object: (\"+y+\", \"+I+\")\");if(this.lng=+y,this.lat=+I,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};sc.prototype.wrap=function(){return new sc(E(this.lng,-180,180),this.lat)},sc.prototype.toArray=function(){return[this.lng,this.lat]},sc.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},sc.prototype.distanceTo=function(y){var I=Math.PI/180,U=this.lat*I,J=y.lat*I,ne=Math.sin(U)*Math.sin(J)+Math.cos(U)*Math.cos(J)*Math.cos((y.lng-this.lng)*I),fe=qQ*Math.acos(Math.min(ne,1));return fe},sc.prototype.toBounds=function(y){y===void 0&&(y=0);var I=40075017,U=360*y/I,J=U/Math.cos(Math.PI/180*this.lat);return new jf(new sc(this.lng-J,this.lat-U),new sc(this.lng+J,this.lat+U))},sc.convert=function(y){if(y instanceof sc)return y;if(Array.isArray(y)&&(y.length===2||y.length===3))return new sc(Number(y[0]),Number(y[1]));if(!Array.isArray(y)&&typeof y==\"object\"&&y!==null)return new sc(Number(\"lng\"in y?y.lng:y.lon),Number(y.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\")};var OQ=2*Math.PI*qQ;function BQ(m){return OQ*Math.cos(m*Math.PI/180)}function NQ(m){return(180+m)/360}function UQ(m){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+m*Math.PI/360)))/360}function VQ(m,y){return m/BQ(y)}function DQe(m){return m*360-180}function uq(m){var y=180-m*360;return 360/Math.PI*Math.atan(Math.exp(y*Math.PI/180))-90}function zQe(m,y){return m*BQ(uq(y))}function FQe(m){return 1/Math.cos(m*Math.PI/180)}var nb=function(y,I,U){U===void 0&&(U=0),this.x=+y,this.y=+I,this.z=+U};nb.fromLngLat=function(y,I){I===void 0&&(I=0);var U=sc.convert(y);return new nb(NQ(U.lng),UQ(U.lat),VQ(I,U.lat))},nb.prototype.toLngLat=function(){return new sc(DQe(this.x),uq(this.y))},nb.prototype.toAltitude=function(){return zQe(this.z,this.y)},nb.prototype.meterInMercatorCoordinateUnits=function(){return 1/OQ*FQe(uq(this.y))};var ab=function(y,I,U){this.z=y,this.x=I,this.y=U,this.key=AS(0,y,y,I,U)};ab.prototype.equals=function(y){return this.z===y.z&&this.x===y.x&&this.y===y.y},ab.prototype.url=function(y,I){var U=RQe(this.x,this.y,this.z),J=qQe(this.z,this.x,this.y);return y[(this.x+this.y)%y.length].replace(\"{prefix}\",(this.x%16).toString(16)+(this.y%16).toString(16)).replace(\"{z}\",String(this.z)).replace(\"{x}\",String(this.x)).replace(\"{y}\",String(I===\"tms\"?Math.pow(2,this.z)-this.y-1:this.y)).replace(\"{quadkey}\",J).replace(\"{bbox-epsg-3857}\",U)},ab.prototype.getTilePoint=function(y){var I=Math.pow(2,this.z);return new u((y.x*I-this.x)*rn,(y.y*I-this.y)*rn)},ab.prototype.toString=function(){return this.z+\"/\"+this.x+\"/\"+this.y};var HQ=function(y,I){this.wrap=y,this.canonical=I,this.key=AS(y,I.z,I.z,I.x,I.y)},Wf=function(y,I,U,J,ne){this.overscaledZ=y,this.wrap=I,this.canonical=new ab(U,+J,+ne),this.key=AS(I,y,U,J,ne)};Wf.prototype.equals=function(y){return this.overscaledZ===y.overscaledZ&&this.wrap===y.wrap&&this.canonical.equals(y.canonical)},Wf.prototype.scaledTo=function(y){var I=this.canonical.z-y;return y>this.canonical.z?new Wf(y,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Wf(y,this.wrap,y,this.canonical.x>>I,this.canonical.y>>I)},Wf.prototype.calculateScaledKey=function(y,I){var U=this.canonical.z-y;return y>this.canonical.z?AS(this.wrap*+I,y,this.canonical.z,this.canonical.x,this.canonical.y):AS(this.wrap*+I,y,y,this.canonical.x>>U,this.canonical.y>>U)},Wf.prototype.isChildOf=function(y){if(y.wrap!==this.wrap)return!1;var I=this.canonical.z-y.canonical.z;return y.overscaledZ===0||y.overscaledZ<this.overscaledZ&&y.canonical.x===this.canonical.x>>I&&y.canonical.y===this.canonical.y>>I},Wf.prototype.children=function(y){if(this.overscaledZ>=y)return[new Wf(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var I=this.canonical.z+1,U=this.canonical.x*2,J=this.canonical.y*2;return[new Wf(I,this.wrap,I,U,J),new Wf(I,this.wrap,I,U+1,J),new Wf(I,this.wrap,I,U,J+1),new Wf(I,this.wrap,I,U+1,J+1)]},Wf.prototype.isLessThan=function(y){return this.wrap<y.wrap?!0:this.wrap>y.wrap?!1:this.overscaledZ<y.overscaledZ?!0:this.overscaledZ>y.overscaledZ?!1:this.canonical.x<y.canonical.x?!0:this.canonical.x>y.canonical.x?!1:this.canonical.y<y.canonical.y},Wf.prototype.wrapped=function(){return new Wf(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},Wf.prototype.unwrapTo=function(y){return new Wf(this.overscaledZ,y,this.canonical.z,this.canonical.x,this.canonical.y)},Wf.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},Wf.prototype.toUnwrapped=function(){return new HQ(this.wrap,this.canonical)},Wf.prototype.toString=function(){return this.overscaledZ+\"/\"+this.canonical.x+\"/\"+this.canonical.y},Wf.prototype.getTilePoint=function(y){return this.canonical.getTilePoint(new nb(y.x-this.wrap,y.y))};function AS(m,y,I,U,J){m*=2,m<0&&(m=m*-1-1);var ne=1<<I;return(ne*ne*m+ne*J+U).toString(36)+I.toString(36)+y.toString(36)}function qQe(m,y,I){for(var U=\"\",J,ne=m;ne>0;ne--)J=1<<ne-1,U+=(y&J?1:0)+(I&J?2:0);return U}Z(\"CanonicalTileID\",ab),Z(\"OverscaledTileID\",Wf,{omit:[\"posMatrix\"]});var dy=function(y,I,U){if(this.uid=y,I.height!==I.width)throw new RangeError(\"DEM tiles must be square\");if(U&&U!==\"mapbox\"&&U!==\"terrarium\")return re('\"'+U+'\" is not a valid encoding type. Valid types include \"mapbox\" and \"terrarium\".');this.stride=I.height;var J=this.dim=I.height-2;this.data=new Uint32Array(I.data.buffer),this.encoding=U||\"mapbox\";for(var ne=0;ne<J;ne++)this.data[this._idx(-1,ne)]=this.data[this._idx(0,ne)],this.data[this._idx(J,ne)]=this.data[this._idx(J-1,ne)],this.data[this._idx(ne,-1)]=this.data[this._idx(ne,0)],this.data[this._idx(ne,J)]=this.data[this._idx(ne,J-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(J,-1)]=this.data[this._idx(J-1,0)],this.data[this._idx(-1,J)]=this.data[this._idx(0,J-1)],this.data[this._idx(J,J)]=this.data[this._idx(J-1,J-1)]};dy.prototype.get=function(y,I){var U=new Uint8Array(this.data.buffer),J=this._idx(y,I)*4,ne=this.encoding===\"terrarium\"?this._unpackTerrarium:this._unpackMapbox;return ne(U[J],U[J+1],U[J+2])},dy.prototype.getUnpackVector=function(){return this.encoding===\"terrarium\"?[256,1,1/256,32768]:[6553.6,25.6,.1,1e4]},dy.prototype._idx=function(y,I){if(y<-1||y>=this.dim+1||I<-1||I>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(I+1)*this.stride+(y+1)},dy.prototype._unpackMapbox=function(y,I,U){return(y*256*256+I*256+U)/10-1e4},dy.prototype._unpackTerrarium=function(y,I,U){return y*256+I+U/256-32768},dy.prototype.getPixels=function(){return new lh({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},dy.prototype.backfillBorder=function(y,I,U){if(this.dim!==y.dim)throw new Error(\"dem dimension mismatch\");var J=I*this.dim,ne=I*this.dim+this.dim,fe=U*this.dim,Fe=U*this.dim+this.dim;switch(I){case-1:J=ne-1;break;case 1:ne=J+1;break}switch(U){case-1:fe=Fe-1;break;case 1:Fe=fe+1;break}for(var Qe=-I*this.dim,st=-U*this.dim,mt=fe;mt<Fe;mt++)for(var Xt=J;Xt<ne;Xt++)this.data[this._idx(Xt,mt)]=y.data[this._idx(Xt+Qe,mt+st)]},Z(\"DEMData\",dy);function OQe(m,y){var I={};if(!y)return I;for(var U=function(){var fe=ne[J],Fe=fe.layerIds.map(function(Xt){return y.getLayer(Xt)}).filter(Boolean);if(Fe.length!==0){fe.layers=Fe,fe.stateDependentLayerIds&&(fe.stateDependentLayers=fe.stateDependentLayerIds.map(function(Xt){return Fe.filter(function(ur){return ur.id===Xt})[0]}));for(var Qe=0,st=Fe;Qe<st.length;Qe+=1){var mt=st[Qe];I[mt.id]=fe}}},J=0,ne=m;J<ne.length;J+=1)U();return I}var YC=function(y){this._stringToNumber={},this._numberToString=[];for(var I=0;I<y.length;I++){var U=y[I];this._stringToNumber[U]=I,this._numberToString[I]=U}};YC.prototype.encode=function(y){return this._stringToNumber[y]},YC.prototype.decode=function(y){return this._numberToString[y]};var KC=function(y,I,U,J,ne){this.type=\"Feature\",this._vectorTileFeature=y,y._z=I,y._x=U,y._y=J,this.properties=y.properties,this.id=ne},cq={geometry:{configurable:!0}};cq.geometry.get=function(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},cq.geometry.set=function(m){this._geometry=m},KC.prototype.toJSON=function(){var y={geometry:this.geometry};for(var I in this)I===\"_geometry\"||I===\"_vectorTileFeature\"||(y[I]=this[I]);return y},Object.defineProperties(KC.prototype,cq);var Jw=function(){this.state={},this.stateChanges={},this.deletedStates={}};Jw.prototype.updateState=function(y,I,U){var J=String(I);if(this.stateChanges[y]=this.stateChanges[y]||{},this.stateChanges[y][J]=this.stateChanges[y][J]||{},_(this.stateChanges[y][J],U),this.deletedStates[y]===null){this.deletedStates[y]={};for(var ne in this.state[y])ne!==J&&(this.deletedStates[y][ne]=null)}else{var fe=this.deletedStates[y]&&this.deletedStates[y][J]===null;if(fe){this.deletedStates[y][J]={};for(var Fe in this.state[y][J])U[Fe]||(this.deletedStates[y][J][Fe]=null)}else for(var Qe in U){var st=this.deletedStates[y]&&this.deletedStates[y][J]&&this.deletedStates[y][J][Qe]===null;st&&delete this.deletedStates[y][J][Qe]}}},Jw.prototype.removeFeatureState=function(y,I,U){var J=this.deletedStates[y]===null;if(!J){var ne=String(I);if(this.deletedStates[y]=this.deletedStates[y]||{},U&&I!==void 0)this.deletedStates[y][ne]!==null&&(this.deletedStates[y][ne]=this.deletedStates[y][ne]||{},this.deletedStates[y][ne][U]=null);else if(I!==void 0){var fe=this.stateChanges[y]&&this.stateChanges[y][ne];if(fe){this.deletedStates[y][ne]={};for(U in this.stateChanges[y][ne])this.deletedStates[y][ne][U]=null}else this.deletedStates[y][ne]=null}else this.deletedStates[y]=null}},Jw.prototype.getState=function(y,I){var U=String(I),J=this.state[y]||{},ne=this.stateChanges[y]||{},fe=_({},J[U],ne[U]);if(this.deletedStates[y]===null)return{};if(this.deletedStates[y]){var Fe=this.deletedStates[y][I];if(Fe===null)return{};for(var Qe in Fe)delete fe[Qe]}return fe},Jw.prototype.initializeTileState=function(y,I){y.setFeatureState(this.state,I)},Jw.prototype.coalesceChanges=function(y,I){var U={};for(var J in this.stateChanges){this.state[J]=this.state[J]||{};var ne={};for(var fe in this.stateChanges[J])this.state[J][fe]||(this.state[J][fe]={}),_(this.state[J][fe],this.stateChanges[J][fe]),ne[fe]=this.state[J][fe];U[J]=ne}for(var Fe in this.deletedStates){this.state[Fe]=this.state[Fe]||{};var Qe={};if(this.deletedStates[Fe]===null)for(var st in this.state[Fe])Qe[st]={},this.state[Fe][st]={};else for(var mt in this.deletedStates[Fe]){var Xt=this.deletedStates[Fe][mt]===null;if(Xt)this.state[Fe][mt]={};else for(var ur=0,nr=Object.keys(this.deletedStates[Fe][mt]);ur<nr.length;ur+=1){var Lr=nr[ur];delete this.state[Fe][mt][Lr]}Qe[mt]=this.state[Fe][mt]}U[Fe]=U[Fe]||{},_(U[Fe],Qe)}if(this.stateChanges={},this.deletedStates={},Object.keys(U).length!==0)for(var Yr in y){var _i=y[Yr];_i.setFeatureState(U,I)}};var vy=function(y,I){this.tileID=y,this.x=y.canonical.x,this.y=y.canonical.y,this.z=y.canonical.z,this.grid=new cu(rn,16,0),this.grid3D=new cu(rn,16,0),this.featureIndexArray=new ef,this.promoteId=I};vy.prototype.insert=function(y,I,U,J,ne,fe){var Fe=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(U,J,ne);for(var Qe=fe?this.grid3D:this.grid,st=0;st<I.length;st++){for(var mt=I[st],Xt=[1/0,1/0,-1/0,-1/0],ur=0;ur<mt.length;ur++){var nr=mt[ur];Xt[0]=Math.min(Xt[0],nr.x),Xt[1]=Math.min(Xt[1],nr.y),Xt[2]=Math.max(Xt[2],nr.x),Xt[3]=Math.max(Xt[3],nr.y)}Xt[0]<rn&&Xt[1]<rn&&Xt[2]>=0&&Xt[3]>=0&&Qe.insert(Fe,Xt[0],Xt[1],Xt[2],Xt[3])}},vy.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new pg.VectorTile(new La(this.rawTileData)).layers,this.sourceLayerCoder=new YC(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers},vy.prototype.query=function(y,I,U,J){var ne=this;this.loadVTLayers();for(var fe=y.params||{},Fe=rn/y.tileSize/y.scale,Qe=be(fe.filter),st=y.queryGeometry,mt=y.queryPadding*Fe,Xt=jQ(st),ur=this.grid.query(Xt.minX-mt,Xt.minY-mt,Xt.maxX+mt,Xt.maxY+mt),nr=jQ(y.cameraQueryGeometry),Lr=this.grid3D.query(nr.minX-mt,nr.minY-mt,nr.maxX+mt,nr.maxY+mt,function(An,ra,$n,Ba){return pp(y.cameraQueryGeometry,An-mt,ra-mt,$n+mt,Ba+mt)}),Yr=0,_i=Lr;Yr<_i.length;Yr+=1){var si=_i[Yr];ur.push(si)}ur.sort(BQe);for(var Hi={},Ei,Vi=function(An){var ra=ur[An];if(ra!==Ei){Ei=ra;var $n=ne.featureIndexArray.get(ra),Ba=null;ne.loadMatchingFeature(Hi,$n.bucketIndex,$n.sourceLayerIndex,$n.featureIndex,Qe,fe.layers,fe.availableImages,I,U,J,function(_a,Pa,qo){return Ba||(Ba=da(_a)),Pa.queryIntersectsFeature(st,_a,qo,Ba,ne.z,y.transform,Fe,y.pixelPosMatrix)})}},en=0;en<ur.length;en++)Vi(en);return Hi},vy.prototype.loadMatchingFeature=function(y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt){var ur=this.bucketLayerIDs[I];if(!(fe&&!N(fe,ur))){var nr=this.sourceLayerCoder.decode(U),Lr=this.vtLayers[nr],Yr=Lr.feature(J);if(ne.needGeometry){var _i=No(Yr,!0);if(!ne.filter(new pn(this.tileID.overscaledZ),_i,this.tileID.canonical))return}else if(!ne.filter(new pn(this.tileID.overscaledZ),Yr))return;for(var si=this.getId(Yr,nr),Hi=0;Hi<ur.length;Hi++){var Ei=ur[Hi];if(!(fe&&fe.indexOf(Ei)<0)){var Vi=Qe[Ei];if(Vi){var en={};si!==void 0&&mt&&(en=mt.getState(Vi.sourceLayer||\"_geojsonTileLayer\",si));var An=_({},st[Ei]);An.paint=GQ(An.paint,Vi.paint,Yr,en,Fe),An.layout=GQ(An.layout,Vi.layout,Yr,en,Fe);var ra=!Xt||Xt(Yr,Vi,en);if(ra){var $n=new KC(Yr,this.z,this.x,this.y,si);$n.layer=An;var Ba=y[Ei];Ba===void 0&&(Ba=y[Ei]=[]),Ba.push({featureIndex:J,feature:$n,intersectionZ:ra})}}}}}},vy.prototype.lookupSymbolFeatures=function(y,I,U,J,ne,fe,Fe,Qe){var st={};this.loadVTLayers();for(var mt=be(ne),Xt=0,ur=y;Xt<ur.length;Xt+=1){var nr=ur[Xt];this.loadMatchingFeature(st,U,J,nr,mt,fe,Fe,Qe,I)}return st},vy.prototype.hasLayer=function(y){for(var I=0,U=this.bucketLayerIDs;I<U.length;I+=1)for(var J=U[I],ne=0,fe=J;ne<fe.length;ne+=1){var Fe=fe[ne];if(y===Fe)return!0}return!1},vy.prototype.getId=function(y,I){var U=y.id;if(this.promoteId){var J=typeof this.promoteId==\"string\"?this.promoteId:this.promoteId[I];U=y.properties[J],typeof U==\"boolean\"&&(U=Number(U))}return U},Z(\"FeatureIndex\",vy,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});function GQ(m,y,I,U,J){return H(m,function(ne,fe){var Fe=y instanceof xc?y.get(fe):null;return Fe&&Fe.evaluate?Fe.evaluate(I,U,J):Fe})}function jQ(m){for(var y=1/0,I=1/0,U=-1/0,J=-1/0,ne=0,fe=m;ne<fe.length;ne+=1){var Fe=fe[ne];y=Math.min(y,Fe.x),I=Math.min(I,Fe.y),U=Math.max(U,Fe.x),J=Math.max(J,Fe.y)}return{minX:y,minY:I,maxX:U,maxY:J}}function BQe(m,y){return y-m}var NQe=3e4,Fh=function(y,I){this.tileID=y,this.uid=g(),this.uses=0,this.tileSize=I,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.expiredRequestCount=0,this.state=\"loading\"};Fh.prototype.registerFadeDuration=function(y){var I=y+this.timeAdded;I<nt.now()||this.fadeEndTime&&I<this.fadeEndTime||(this.fadeEndTime=I)},Fh.prototype.wasRequested=function(){return this.state===\"errored\"||this.state===\"loaded\"||this.state===\"reloading\"},Fh.prototype.loadVectorData=function(y,I,U){if(this.hasData()&&this.unloadVectorData(),this.state=\"loaded\",!y){this.collisionBoxArray=new xs;return}y.featureIndex&&(this.latestFeatureIndex=y.featureIndex,y.rawTileData?(this.latestRawTileData=y.rawTileData,this.latestFeatureIndex.rawTileData=y.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=y.collisionBoxArray,this.buckets=OQe(y.buckets,I.style),this.hasSymbolBuckets=!1;for(var J in this.buckets){var ne=this.buckets[J];if(ne instanceof ou)if(this.hasSymbolBuckets=!0,U)ne.justReloaded=!0;else break}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(var fe in this.buckets){var Fe=this.buckets[fe];if(Fe instanceof ou&&Fe.hasRTLText){this.hasRTLText=!0,Ns();break}}this.queryPadding=0;for(var Qe in this.buckets){var st=this.buckets[Qe];this.queryPadding=Math.max(this.queryPadding,I.style.getLayer(Qe).queryRadius(st))}y.imageAtlas&&(this.imageAtlas=y.imageAtlas),y.glyphAtlasImage&&(this.glyphAtlasImage=y.glyphAtlasImage)},Fh.prototype.unloadVectorData=function(){for(var y in this.buckets)this.buckets[y].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\"},Fh.prototype.getBucket=function(y){return this.buckets[y.id]},Fh.prototype.upload=function(y){for(var I in this.buckets){var U=this.buckets[I];U.uploadPending()&&U.upload(y)}var J=y.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new ib(y,this.imageAtlas.image,J.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new ib(y,this.glyphAtlasImage,J.ALPHA),this.glyphAtlasImage=null)},Fh.prototype.prepare=function(y){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(y,this.imageAtlasTexture)},Fh.prototype.queryRenderedFeatures=function(y,I,U,J,ne,fe,Fe,Qe,st,mt){return!this.latestFeatureIndex||!this.latestFeatureIndex.rawTileData?{}:this.latestFeatureIndex.query({queryGeometry:J,cameraQueryGeometry:ne,scale:fe,tileSize:this.tileSize,pixelPosMatrix:mt,transform:Qe,params:Fe,queryPadding:this.queryPadding*st},y,I,U)},Fh.prototype.querySourceFeatures=function(y,I){var U=this.latestFeatureIndex;if(!(!U||!U.rawTileData)){var J=U.loadVTLayers(),ne=I?I.sourceLayer:\"\",fe=J._geojsonTileLayer||J[ne];if(fe)for(var Fe=be(I&&I.filter),Qe=this.tileID.canonical,st=Qe.z,mt=Qe.x,Xt=Qe.y,ur={z:st,x:mt,y:Xt},nr=0;nr<fe.length;nr++){var Lr=fe.feature(nr);if(Fe.needGeometry){var Yr=No(Lr,!0);if(!Fe.filter(new pn(this.tileID.overscaledZ),Yr,this.tileID.canonical))continue}else if(!Fe.filter(new pn(this.tileID.overscaledZ),Lr))continue;var _i=U.getId(Lr,ne),si=new KC(Lr,st,mt,Xt,_i);si.tile=ur,y.push(si)}}},Fh.prototype.hasData=function(){return this.state===\"loaded\"||this.state===\"reloading\"||this.state===\"expired\"},Fh.prototype.patternsLoaded=function(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length},Fh.prototype.setExpiryData=function(y){var I=this.expirationTime;if(y.cacheControl){var U=ge(y.cacheControl);U[\"max-age\"]&&(this.expirationTime=Date.now()+U[\"max-age\"]*1e3)}else y.expires&&(this.expirationTime=new Date(y.expires).getTime());if(this.expirationTime){var J=Date.now(),ne=!1;if(this.expirationTime>J)ne=!1;else if(!I)ne=!0;else if(this.expirationTime<I)ne=!0;else{var fe=this.expirationTime-I;fe?this.expirationTime=J+Math.max(fe,NQe):ne=!0}ne?(this.expiredRequestCount++,this.state=\"expired\"):this.expiredRequestCount=0}},Fh.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-new Date().getTime(),Math.pow(2,31)-1)},Fh.prototype.setFeatureState=function(y,I){if(!(!this.latestFeatureIndex||!this.latestFeatureIndex.rawTileData||Object.keys(y).length===0)){var U=this.latestFeatureIndex.loadVTLayers();for(var J in this.buckets)if(I.style.hasLayer(J)){var ne=this.buckets[J],fe=ne.layers[0].sourceLayer||\"_geojsonTileLayer\",Fe=U[fe],Qe=y[fe];if(!(!Fe||!Qe||Object.keys(Qe).length===0)){ne.update(Qe,Fe,this.imageAtlas&&this.imageAtlas.patternPositions||{});var st=I&&I.style&&I.style.getLayer(J);st&&(this.queryPadding=Math.max(this.queryPadding,st.queryRadius(ne)))}}}},Fh.prototype.holdingForFade=function(){return this.symbolFadeHoldUntil!==void 0},Fh.prototype.symbolFadeFinished=function(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<nt.now()},Fh.prototype.clearFadeHold=function(){this.symbolFadeHoldUntil=void 0},Fh.prototype.setHoldDuration=function(y){this.symbolFadeHoldUntil=nt.now()+y},Fh.prototype.setDependencies=function(y,I){for(var U={},J=0,ne=I;J<ne.length;J+=1){var fe=ne[J];U[fe]=!0}this.dependencies[y]=U},Fh.prototype.hasDependency=function(y,I){for(var U=0,J=y;U<J.length;U+=1){var ne=J[U],fe=this.dependencies[ne];if(fe)for(var Fe=0,Qe=I;Fe<Qe.length;Fe+=1){var st=Qe[Fe];if(fe[st])return!0}}return!1};var UQe=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"],z1=f.performance,WQ=function(y){this._marks={start:[y.url,\"start\"].join(\"#\"),end:[y.url,\"end\"].join(\"#\"),measure:y.url.toString()},z1.mark(this._marks.start)};WQ.prototype.finish=function(){z1.mark(this._marks.end);var y=z1.getEntriesByName(this._marks.measure);return y.length===0&&(z1.measure(this._marks.measure,this._marks.start,this._marks.end),y=z1.getEntriesByName(this._marks.measure),z1.clearMarks(this._marks.start),z1.clearMarks(this._marks.end),z1.clearMeasures(this._marks.measure)),y},i.Actor=Kw,i.AlphaImage=Pv,i.CanonicalTileID=ab,i.CollisionBoxArray=xs,i.Color=ss,i.DEMData=dy,i.DataConstantProperty=At,i.DictionaryCoder=YC,i.EXTENT=rn,i.ErrorEvent=oa,i.EvaluationParameters=pn,i.Event=jo,i.Evented=Sn,i.FeatureIndex=vy,i.FillBucket=gp,i.FillExtrusionBucket=Hp,i.ImageAtlas=gg,i.ImagePosition=If,i.LineBucket=Gf,i.LngLat=sc,i.LngLatBounds=jf,i.MercatorCoordinate=nb,i.ONE_EM=Zi,i.OverscaledTileID=Wf,i.Point=u,i.Point$1=u,i.Properties=Oi,i.Protobuf=La,i.RGBAImage=lh,i.RequestManager=Ke,i.RequestPerformance=WQ,i.ResourceType=zn,i.SegmentVector=ns,i.SourceFeatureState=Jw,i.StructArrayLayout1ui2=Jo,i.StructArrayLayout2f1f2i16=Xn,i.StructArrayLayout2i4=ji,i.StructArrayLayout3ui6=ma,i.StructArrayLayout4i8=Ln,i.SymbolBucket=ou,i.Texture=ib,i.Tile=Fh,i.Transitionable=Fo,i.Uniform1f=Pt,i.Uniform1i=vt,i.Uniform2f=Wt,i.Uniform3f=rr,i.Uniform4f=dr,i.UniformColor=pr,i.UniformMatrix4f=Ar,i.UnwrappedTileID=HQ,i.ValidationError=fa,i.WritingMode=uv,i.ZoomHistory=wt,i.add=Lv,i.addDynamicAttributes=oq,i.asyncAll=k,i.bezier=x,i.bindAll=q,i.browser=nt,i.cacheEntryPossiblyAdded=bi,i.clamp=p,i.clearTileCache=Wi,i.clipLine=MQ,i.clone=T1,i.clone$1=G,i.clone$2=Mw,i.collisionCircleLayout=Tt,i.config=ct,i.create=w1,i.create$1=Rh,i.create$2=hg,i.createCommonjsModule=a,i.createExpression=eo,i.createLayout=Dn,i.createStyleLayer=IQe,i.cross=I9,i.deepEqual=h,i.dot=P9,i.dot$1=q9,i.ease=b,i.emitValidationErrors=Zu,i.endsWith=V,i.enforceCacheSizeLimit=nn,i.evaluateSizeForFeature=_Q,i.evaluateSizeForZoom=xQ,i.evaluateVariableOffset=CQ,i.evented=ya,i.extend=_,i.featureFilter=be,i.filterObject=X,i.fromRotation=rm,i.getAnchorAlignment=bS,i.getAnchorJustification=aq,i.getArrayBuffer=Zr,i.getImage=jn,i.getJSON=Fr,i.getRTLTextPluginStatus=so,i.getReferrer=It,i.getVideo=la,i.identity=oy,i.invert=im,i.isChar=tt,i.isMapboxURL=xt,i.keysDifference=L,i.makeRequest=yr,i.mapObject=H,i.mercatorXfromLng=NQ,i.mercatorYfromLat=UQ,i.mercatorZfromAltitude=VQ,i.mul=Nx,i.multiply=nm,i.mvt=pg,i.nextPowerOfTwo=T,i.normalize=Ux,i.number=Qs,i.offscreenCanvasSupported=$i,i.ortho=Kl,i.parseGlyphPBF=p0,i.pbf=La,i.performSymbolLayout=hQe,i.perspective=A1,i.pick=C,i.plugin=_s,i.polygonIntersectsPolygon=fo,i.postMapLoadEvent=Ve,i.postTurnstileEvent=Ne,i.potpack=Qv,i.refProperties=UQe,i.register=Z,i.registerForPluginStateChange=wa,i.renderColorRamp=Gx,i.rotate=ay,i.rotateX=bd,i.rotateZ=sy,i.scale=kl,i.scale$1=F9,i.scale$2=Ew,i.setCacheLimits=Ni,i.setRTLTextPlugin=io,i.sphericalToCartesian=Me,i.sqrLen=tS,i.styleSpec=on,i.sub=D9,i.symbolSize=iQe,i.transformMat3=R9,i.transformMat4=ly,i.translate=Fu,i.triggerPluginCompletionEvent=Nn,i.uniqueId=g,i.validateCustomStyleLayer=CQe,i.validateLight=po,i.validateStyle=yo,i.values=A,i.vectorTile=pg,i.version=o,i.warnOnce=re,i.webpSupported=qt,i.window=f,i.wrap=E}),n([\"./shared\"],function(i){\"use strict\";function a(It){var ft=typeof It;if(ft===\"number\"||ft===\"boolean\"||ft===\"string\"||It===void 0||It===null)return JSON.stringify(It);if(Array.isArray(It)){for(var jt=\"[\",Zt=0,yr=It;Zt<yr.length;Zt+=1){var Fr=yr[Zt];jt+=a(Fr)+\",\"}return jt+\"]\"}for(var Zr=Object.keys(It).sort(),Vr=\"{\",gi=0;gi<Zr.length;gi++)Vr+=JSON.stringify(Zr[gi])+\":\"+a(It[Zr[gi]])+\",\";return Vr+\"}\"}function o(It){for(var ft=\"\",jt=0,Zt=i.refProperties;jt<Zt.length;jt+=1){var yr=Zt[jt];ft+=\"/\"+a(It[yr])}return ft}function s(It,ft){for(var jt={},Zt=0;Zt<It.length;Zt++){var yr=ft&&ft[It[Zt].id]||o(It[Zt]);ft&&(ft[It[Zt].id]=yr);var Fr=jt[yr];Fr||(Fr=jt[yr]=[]),Fr.push(It[Zt])}var Zr=[];for(var Vr in jt)Zr.push(jt[Vr]);return Zr}var l=function(ft){this.keyCache={},ft&&this.replace(ft)};l.prototype.replace=function(ft){this._layerConfigs={},this._layers={},this.update(ft,[])},l.prototype.update=function(ft,jt){for(var Zt=this,yr=0,Fr=ft;yr<Fr.length;yr+=1){var Zr=Fr[yr];this._layerConfigs[Zr.id]=Zr;var Vr=this._layers[Zr.id]=i.createStyleLayer(Zr);Vr._featureFilter=i.featureFilter(Vr.filter),this.keyCache[Zr.id]&&delete this.keyCache[Zr.id]}for(var gi=0,Si=jt;gi<Si.length;gi+=1){var Mi=Si[gi];delete this.keyCache[Mi],delete this._layerConfigs[Mi],delete this._layers[Mi]}this.familiesBySource={};for(var Pi=s(i.values(this._layerConfigs),this.keyCache),Gi=0,Ki=Pi;Gi<Ki.length;Gi+=1){var ka=Ki[Gi],jn=ka.map(function(Sn){return Zt._layers[Sn.id]}),la=jn[0];if(la.visibility!==\"none\"){var Fa=la.source||\"\",Ra=this.familiesBySource[Fa];Ra||(Ra=this.familiesBySource[Fa]={});var jo=la.sourceLayer||\"_geojsonTileLayer\",oa=Ra[jo];oa||(oa=Ra[jo]=[]),oa.push(jn)}}};var u=1,c=function(ft){var jt={},Zt=[];for(var yr in ft){var Fr=ft[yr],Zr=jt[yr]={};for(var Vr in Fr){var gi=Fr[+Vr];if(!(!gi||gi.bitmap.width===0||gi.bitmap.height===0)){var Si={x:0,y:0,w:gi.bitmap.width+2*u,h:gi.bitmap.height+2*u};Zt.push(Si),Zr[Vr]={rect:Si,metrics:gi.metrics}}}}var Mi=i.potpack(Zt),Pi=Mi.w,Gi=Mi.h,Ki=new i.AlphaImage({width:Pi||1,height:Gi||1});for(var ka in ft){var jn=ft[ka];for(var la in jn){var Fa=jn[+la];if(!(!Fa||Fa.bitmap.width===0||Fa.bitmap.height===0)){var Ra=jt[ka][la].rect;i.AlphaImage.copy(Fa.bitmap,Ki,{x:0,y:0},{x:Ra.x+u,y:Ra.y+u},Fa.bitmap)}}}this.image=Ki,this.positions=jt};i.register(\"GlyphAtlas\",c);var f=function(ft){this.tileID=new i.OverscaledTileID(ft.tileID.overscaledZ,ft.tileID.wrap,ft.tileID.canonical.z,ft.tileID.canonical.x,ft.tileID.canonical.y),this.uid=ft.uid,this.zoom=ft.zoom,this.pixelRatio=ft.pixelRatio,this.tileSize=ft.tileSize,this.source=ft.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=ft.showCollisionBoxes,this.collectResourceTiming=!!ft.collectResourceTiming,this.returnDependencies=!!ft.returnDependencies,this.promoteId=ft.promoteId};f.prototype.parse=function(ft,jt,Zt,yr,Fr){var Zr=this;this.status=\"parsing\",this.data=ft,this.collisionBoxArray=new i.CollisionBoxArray;var Vr=new i.DictionaryCoder(Object.keys(ft.layers).sort()),gi=new i.FeatureIndex(this.tileID,this.promoteId);gi.bucketLayerIDs=[];var Si={},Mi={featureIndex:gi,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:Zt},Pi=jt.familiesBySource[this.source];for(var Gi in Pi){var Ki=ft.layers[Gi];if(Ki){Ki.version===1&&i.warnOnce('Vector tile source \"'+this.source+'\" layer \"'+Gi+'\" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var ka=Vr.encode(Gi),jn=[],la=0;la<Ki.length;la++){var Fa=Ki.feature(la),Ra=gi.getId(Fa,Gi);jn.push({feature:Fa,id:Ra,index:la,sourceLayerIndex:ka})}for(var jo=0,oa=Pi[Gi];jo<oa.length;jo+=1){var Sn=oa[jo],Ha=Sn[0];if(!(Ha.minzoom&&this.zoom<Math.floor(Ha.minzoom))&&!(Ha.maxzoom&&this.zoom>=Ha.maxzoom)&&Ha.visibility!==\"none\"){h(Sn,this.zoom,Zt);var oo=Si[Ha.id]=Ha.createBucket({index:gi.bucketLayerIDs.length,layers:Sn,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:ka,sourceID:this.source});oo.populate(jn,Mi,this.tileID.canonical),gi.bucketLayerIDs.push(Sn.map(function(hi){return hi.id}))}}}}var xn,_t,br,Hr,ti=i.mapObject(Mi.glyphDependencies,function(hi){return Object.keys(hi).map(Number)});Object.keys(ti).length?yr.send(\"getGlyphs\",{uid:this.uid,stacks:ti},function(hi,Ji){xn||(xn=hi,_t=Ji,an.call(Zr))}):_t={};var zi=Object.keys(Mi.iconDependencies);zi.length?yr.send(\"getImages\",{icons:zi,source:this.source,tileID:this.tileID,type:\"icons\"},function(hi,Ji){xn||(xn=hi,br=Ji,an.call(Zr))}):br={};var Yi=Object.keys(Mi.patternDependencies);Yi.length?yr.send(\"getImages\",{icons:Yi,source:this.source,tileID:this.tileID,type:\"patterns\"},function(hi,Ji){xn||(xn=hi,Hr=Ji,an.call(Zr))}):Hr={},an.call(this);function an(){if(xn)return Fr(xn);if(_t&&br&&Hr){var hi=new c(_t),Ji=new i.ImageAtlas(br,Hr);for(var ua in Si){var Fn=Si[ua];Fn instanceof i.SymbolBucket?(h(Fn.layers,this.zoom,Zt),i.performSymbolLayout(Fn,_t,hi.positions,br,Ji.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):Fn.hasPattern&&(Fn instanceof i.LineBucket||Fn instanceof i.FillBucket||Fn instanceof i.FillExtrusionBucket)&&(h(Fn.layers,this.zoom,Zt),Fn.addFeatures(Mi,this.tileID.canonical,Ji.patternPositions))}this.status=\"done\",Fr(null,{buckets:i.values(Si).filter(function(Sa){return!Sa.isEmpty()}),featureIndex:gi,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:hi.image,imageAtlas:Ji,glyphMap:this.returnDependencies?_t:null,iconMap:this.returnDependencies?br:null,glyphPositions:this.returnDependencies?hi.positions:null})}}};function h(It,ft,jt){for(var Zt=new i.EvaluationParameters(ft),yr=0,Fr=It;yr<Fr.length;yr+=1){var Zr=Fr[yr];Zr.recalculate(Zt,jt)}}function d(It,ft){var jt=i.getArrayBuffer(It.request,function(Zt,yr,Fr,Zr){Zt?ft(Zt):yr&&ft(null,{vectorTile:new i.vectorTile.VectorTile(new i.pbf(yr)),rawData:yr,cacheControl:Fr,expires:Zr})});return function(){jt.cancel(),ft()}}var v=function(ft,jt,Zt,yr){this.actor=ft,this.layerIndex=jt,this.availableImages=Zt,this.loadVectorData=yr||d,this.loading={},this.loaded={}};v.prototype.loadTile=function(ft,jt){var Zt=this,yr=ft.uid;this.loading||(this.loading={});var Fr=ft&&ft.request&&ft.request.collectResourceTiming?new i.RequestPerformance(ft.request):!1,Zr=this.loading[yr]=new f(ft);Zr.abort=this.loadVectorData(ft,function(Vr,gi){if(delete Zt.loading[yr],Vr||!gi)return Zr.status=\"done\",Zt.loaded[yr]=Zr,jt(Vr);var Si=gi.rawData,Mi={};gi.expires&&(Mi.expires=gi.expires),gi.cacheControl&&(Mi.cacheControl=gi.cacheControl);var Pi={};if(Fr){var Gi=Fr.finish();Gi&&(Pi.resourceTiming=JSON.parse(JSON.stringify(Gi)))}Zr.vectorTile=gi.vectorTile,Zr.parse(gi.vectorTile,Zt.layerIndex,Zt.availableImages,Zt.actor,function(Ki,ka){if(Ki||!ka)return jt(Ki);jt(null,i.extend({rawTileData:Si.slice(0)},ka,Mi,Pi))}),Zt.loaded=Zt.loaded||{},Zt.loaded[yr]=Zr})},v.prototype.reloadTile=function(ft,jt){var Zt=this,yr=this.loaded,Fr=ft.uid,Zr=this;if(yr&&yr[Fr]){var Vr=yr[Fr];Vr.showCollisionBoxes=ft.showCollisionBoxes;var gi=function(Si,Mi){var Pi=Vr.reloadCallback;Pi&&(delete Vr.reloadCallback,Vr.parse(Vr.vectorTile,Zr.layerIndex,Zt.availableImages,Zr.actor,Pi)),jt(Si,Mi)};Vr.status===\"parsing\"?Vr.reloadCallback=gi:Vr.status===\"done\"&&(Vr.vectorTile?Vr.parse(Vr.vectorTile,this.layerIndex,this.availableImages,this.actor,gi):gi())}},v.prototype.abortTile=function(ft,jt){var Zt=this.loading,yr=ft.uid;Zt&&Zt[yr]&&Zt[yr].abort&&(Zt[yr].abort(),delete Zt[yr]),jt()},v.prototype.removeTile=function(ft,jt){var Zt=this.loaded,yr=ft.uid;Zt&&Zt[yr]&&delete Zt[yr],jt()};var x=i.window.ImageBitmap,b=function(){this.loaded={}};b.prototype.loadTile=function(ft,jt){var Zt=ft.uid,yr=ft.encoding,Fr=ft.rawImageData,Zr=x&&Fr instanceof x?this.getImageData(Fr):Fr,Vr=new i.DEMData(Zt,Zr,yr);this.loaded=this.loaded||{},this.loaded[Zt]=Vr,jt(null,Vr)},b.prototype.getImageData=function(ft){(!this.offscreenCanvas||!this.offscreenCanvasContext)&&(this.offscreenCanvas=new OffscreenCanvas(ft.width,ft.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext(\"2d\")),this.offscreenCanvas.width=ft.width,this.offscreenCanvas.height=ft.height,this.offscreenCanvasContext.drawImage(ft,0,0,ft.width,ft.height);var jt=this.offscreenCanvasContext.getImageData(-1,-1,ft.width+2,ft.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new i.RGBAImage({width:jt.width,height:jt.height},jt.data)},b.prototype.removeTile=function(ft){var jt=this.loaded,Zt=ft.uid;jt&&jt[Zt]&&delete jt[Zt]};var p=E;function E(It,ft){var jt=It&&It.type,Zt;if(jt===\"FeatureCollection\")for(Zt=0;Zt<It.features.length;Zt++)E(It.features[Zt],ft);else if(jt===\"GeometryCollection\")for(Zt=0;Zt<It.geometries.length;Zt++)E(It.geometries[Zt],ft);else if(jt===\"Feature\")E(It.geometry,ft);else if(jt===\"Polygon\")k(It.coordinates,ft);else if(jt===\"MultiPolygon\")for(Zt=0;Zt<It.coordinates.length;Zt++)k(It.coordinates[Zt],ft);return It}function k(It,ft){if(It.length!==0){A(It[0],ft);for(var jt=1;jt<It.length;jt++)A(It[jt],!ft)}}function A(It,ft){for(var jt=0,Zt=0,yr=It.length,Fr=yr-1;Zt<yr;Fr=Zt++)jt+=(It[Zt][0]-It[Fr][0])*(It[Fr][1]+It[Zt][1]);jt>=0!=!!ft&&It.reverse()}var L=i.vectorTile.VectorTileFeature.prototype.toGeoJSON,_=function(ft){this._feature=ft,this.extent=i.EXTENT,this.type=ft.type,this.properties=ft.tags,\"id\"in ft&&!isNaN(ft.id)&&(this.id=parseInt(ft.id,10))};_.prototype.loadGeometry=function(){if(this._feature.type===1){for(var ft=[],jt=0,Zt=this._feature.geometry;jt<Zt.length;jt+=1){var yr=Zt[jt];ft.push([new i.Point$1(yr[0],yr[1])])}return ft}else{for(var Fr=[],Zr=0,Vr=this._feature.geometry;Zr<Vr.length;Zr+=1){for(var gi=Vr[Zr],Si=[],Mi=0,Pi=gi;Mi<Pi.length;Mi+=1){var Gi=Pi[Mi];Si.push(new i.Point$1(Gi[0],Gi[1]))}Fr.push(Si)}return Fr}},_.prototype.toGeoJSON=function(ft,jt,Zt){return L.call(this,ft,jt,Zt)};var C=function(ft){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=i.EXTENT,this.length=ft.length,this._features=ft};C.prototype.feature=function(ft){return new _(this._features[ft])};var M=i.vectorTile.VectorTileFeature,g=P;function P(It,ft){this.options=ft||{},this.features=It,this.length=It.length}P.prototype.feature=function(It){return new T(this.features[It],this.options.extent)};function T(It,ft){this.id=typeof It.id==\"number\"?It.id:void 0,this.type=It.type,this.rawGeometry=It.type===1?[It.geometry]:It.geometry,this.properties=It.tags,this.extent=ft||4096}T.prototype.loadGeometry=function(){var It=this.rawGeometry;this.geometry=[];for(var ft=0;ft<It.length;ft++){for(var jt=It[ft],Zt=[],yr=0;yr<jt.length;yr++)Zt.push(new i.Point$1(jt[yr][0],jt[yr][1]));this.geometry.push(Zt)}return this.geometry},T.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var It=this.geometry,ft=1/0,jt=-1/0,Zt=1/0,yr=-1/0,Fr=0;Fr<It.length;Fr++)for(var Zr=It[Fr],Vr=0;Vr<Zr.length;Vr++){var gi=Zr[Vr];ft=Math.min(ft,gi.x),jt=Math.max(jt,gi.x),Zt=Math.min(Zt,gi.y),yr=Math.max(yr,gi.y)}return[ft,Zt,jt,yr]},T.prototype.toGeoJSON=M.prototype.toGeoJSON;var F=X,q=X,V=G,H=g;function X(It){var ft=new i.pbf;return N(It,ft),ft.finish()}function G(It,ft){ft=ft||{};var jt={};for(var Zt in It)jt[Zt]=new g(It[Zt].features,ft),jt[Zt].name=Zt,jt[Zt].version=ft.version,jt[Zt].extent=ft.extent;return X({layers:jt})}function N(It,ft){for(var jt in It.layers)ft.writeMessage(3,W,It.layers[jt])}function W(It,ft){ft.writeVarintField(15,It.version||1),ft.writeStringField(1,It.name||\"\"),ft.writeVarintField(5,It.extent||4096);var jt,Zt={keys:[],values:[],keycache:{},valuecache:{}};for(jt=0;jt<It.length;jt++)Zt.feature=It.feature(jt),ft.writeMessage(2,re,Zt);var yr=Zt.keys;for(jt=0;jt<yr.length;jt++)ft.writeStringField(3,yr[jt]);var Fr=Zt.values;for(jt=0;jt<Fr.length;jt++)ft.writeMessage(4,ge,Fr[jt])}function re(It,ft){var jt=It.feature;jt.id!==void 0&&ft.writeVarintField(1,jt.id),ft.writeMessage(2,ae,It),ft.writeVarintField(3,jt.type),ft.writeMessage(4,ke,jt)}function ae(It,ft){var jt=It.feature,Zt=It.keys,yr=It.values,Fr=It.keycache,Zr=It.valuecache;for(var Vr in jt.properties){var gi=Fr[Vr];typeof gi==\"undefined\"&&(Zt.push(Vr),gi=Zt.length-1,Fr[Vr]=gi),ft.writeVarint(gi);var Si=jt.properties[Vr],Mi=typeof Si;Mi!==\"string\"&&Mi!==\"boolean\"&&Mi!==\"number\"&&(Si=JSON.stringify(Si));var Pi=Mi+\":\"+Si,Gi=Zr[Pi];typeof Gi==\"undefined\"&&(yr.push(Si),Gi=yr.length-1,Zr[Pi]=Gi),ft.writeVarint(Gi)}}function _e(It,ft){return(ft<<3)+(It&7)}function Me(It){return It<<1^It>>31}function ke(It,ft){for(var jt=It.loadGeometry(),Zt=It.type,yr=0,Fr=0,Zr=jt.length,Vr=0;Vr<Zr;Vr++){var gi=jt[Vr],Si=1;Zt===1&&(Si=gi.length),ft.writeVarint(_e(1,Si));for(var Mi=Zt===3?gi.length-1:gi.length,Pi=0;Pi<Mi;Pi++){Pi===1&&Zt!==1&&ft.writeVarint(_e(2,Mi-1));var Gi=gi[Pi].x-yr,Ki=gi[Pi].y-Fr;ft.writeVarint(Me(Gi)),ft.writeVarint(Me(Ki)),yr+=Gi,Fr+=Ki}Zt===3&&ft.writeVarint(_e(7,1))}}function ge(It,ft){var jt=typeof It;jt===\"string\"?ft.writeStringField(1,It):jt===\"boolean\"?ft.writeBooleanField(7,It):jt===\"number\"&&(It%1!==0?ft.writeDoubleField(3,It):It<0?ft.writeSVarintField(6,It):ft.writeVarintField(5,It))}F.fromVectorTileJs=q,F.fromGeojsonVt=V,F.GeoJSONWrapper=H;function ie(It,ft,jt,Zt,yr,Fr){if(!(yr-Zt<=jt)){var Zr=Zt+yr>>1;Te(It,ft,Zr,Zt,yr,Fr%2),ie(It,ft,jt,Zt,Zr-1,Fr+1),ie(It,ft,jt,Zr+1,yr,Fr+1)}}function Te(It,ft,jt,Zt,yr,Fr){for(;yr>Zt;){if(yr-Zt>600){var Zr=yr-Zt+1,Vr=jt-Zt+1,gi=Math.log(Zr),Si=.5*Math.exp(2*gi/3),Mi=.5*Math.sqrt(gi*Si*(Zr-Si)/Zr)*(Vr-Zr/2<0?-1:1),Pi=Math.max(Zt,Math.floor(jt-Vr*Si/Zr+Mi)),Gi=Math.min(yr,Math.floor(jt+(Zr-Vr)*Si/Zr+Mi));Te(It,ft,jt,Pi,Gi,Fr)}var Ki=ft[2*jt+Fr],ka=Zt,jn=yr;for(Ee(It,ft,Zt,jt),ft[2*yr+Fr]>Ki&&Ee(It,ft,Zt,yr);ka<jn;){for(Ee(It,ft,ka,jn),ka++,jn--;ft[2*ka+Fr]<Ki;)ka++;for(;ft[2*jn+Fr]>Ki;)jn--}ft[2*Zt+Fr]===Ki?Ee(It,ft,Zt,jn):(jn++,Ee(It,ft,jn,yr)),jn<=jt&&(Zt=jn+1),jt<=jn&&(yr=jn-1)}}function Ee(It,ft,jt,Zt){Ae(It,jt,Zt),Ae(ft,2*jt,2*Zt),Ae(ft,2*jt+1,2*Zt+1)}function Ae(It,ft,jt){var Zt=It[ft];It[ft]=It[jt],It[jt]=Zt}function ze(It,ft,jt,Zt,yr,Fr,Zr){for(var Vr=[0,It.length-1,0],gi=[],Si,Mi;Vr.length;){var Pi=Vr.pop(),Gi=Vr.pop(),Ki=Vr.pop();if(Gi-Ki<=Zr){for(var ka=Ki;ka<=Gi;ka++)Si=ft[2*ka],Mi=ft[2*ka+1],Si>=jt&&Si<=yr&&Mi>=Zt&&Mi<=Fr&&gi.push(It[ka]);continue}var jn=Math.floor((Ki+Gi)/2);Si=ft[2*jn],Mi=ft[2*jn+1],Si>=jt&&Si<=yr&&Mi>=Zt&&Mi<=Fr&&gi.push(It[jn]);var la=(Pi+1)%2;(Pi===0?jt<=Si:Zt<=Mi)&&(Vr.push(Ki),Vr.push(jn-1),Vr.push(la)),(Pi===0?yr>=Si:Fr>=Mi)&&(Vr.push(jn+1),Vr.push(Gi),Vr.push(la))}return gi}function Ce(It,ft,jt,Zt,yr,Fr){for(var Zr=[0,It.length-1,0],Vr=[],gi=yr*yr;Zr.length;){var Si=Zr.pop(),Mi=Zr.pop(),Pi=Zr.pop();if(Mi-Pi<=Fr){for(var Gi=Pi;Gi<=Mi;Gi++)me(ft[2*Gi],ft[2*Gi+1],jt,Zt)<=gi&&Vr.push(It[Gi]);continue}var Ki=Math.floor((Pi+Mi)/2),ka=ft[2*Ki],jn=ft[2*Ki+1];me(ka,jn,jt,Zt)<=gi&&Vr.push(It[Ki]);var la=(Si+1)%2;(Si===0?jt-yr<=ka:Zt-yr<=jn)&&(Zr.push(Pi),Zr.push(Ki-1),Zr.push(la)),(Si===0?jt+yr>=ka:Zt+yr>=jn)&&(Zr.push(Ki+1),Zr.push(Mi),Zr.push(la))}return Vr}function me(It,ft,jt,Zt){var yr=It-jt,Fr=ft-Zt;return yr*yr+Fr*Fr}var Re=function(It){return It[0]},ce=function(It){return It[1]},Ge=function(ft,jt,Zt,yr,Fr){jt===void 0&&(jt=Re),Zt===void 0&&(Zt=ce),yr===void 0&&(yr=64),Fr===void 0&&(Fr=Float64Array),this.nodeSize=yr,this.points=ft;for(var Zr=ft.length<65536?Uint16Array:Uint32Array,Vr=this.ids=new Zr(ft.length),gi=this.coords=new Fr(ft.length*2),Si=0;Si<ft.length;Si++)Vr[Si]=Si,gi[2*Si]=jt(ft[Si]),gi[2*Si+1]=Zt(ft[Si]);ie(Vr,gi,yr,0,Vr.length-1,0)};Ge.prototype.range=function(ft,jt,Zt,yr){return ze(this.ids,this.coords,ft,jt,Zt,yr,this.nodeSize)},Ge.prototype.within=function(ft,jt,Zt){return Ce(this.ids,this.coords,ft,jt,Zt,this.nodeSize)};var nt={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(It){return It}},ct=function(ft){this.options=er(Object.create(nt),ft),this.trees=new Array(this.options.maxZoom+1)};ct.prototype.load=function(ft){var jt=this.options,Zt=jt.log,yr=jt.minZoom,Fr=jt.maxZoom,Zr=jt.nodeSize;Zt&&console.time(\"total time\");var Vr=\"prepare \"+ft.length+\" points\";Zt&&console.time(Vr),this.points=ft;for(var gi=[],Si=0;Si<ft.length;Si++)ft[Si].geometry&&gi.push(rt(ft[Si],Si));this.trees[Fr+1]=new Ge(gi,Ke,xt,Zr,Float32Array),Zt&&console.timeEnd(Vr);for(var Mi=Fr;Mi>=yr;Mi--){var Pi=+Date.now();gi=this._cluster(gi,Mi),this.trees[Mi]=new Ge(gi,Ke,xt,Zr,Float32Array),Zt&&console.log(\"z%d: %d clusters in %dms\",Mi,gi.length,+Date.now()-Pi)}return Zt&&console.timeEnd(\"total time\"),this},ct.prototype.getClusters=function(ft,jt){var Zt=((ft[0]+180)%360+360)%360-180,yr=Math.max(-90,Math.min(90,ft[1])),Fr=ft[2]===180?180:((ft[2]+180)%360+360)%360-180,Zr=Math.max(-90,Math.min(90,ft[3]));if(ft[2]-ft[0]>=360)Zt=-180,Fr=180;else if(Zt>Fr){var Vr=this.getClusters([Zt,yr,180,Zr],jt),gi=this.getClusters([-180,yr,Fr,Zr],jt);return Vr.concat(gi)}for(var Si=this.trees[this._limitZoom(jt)],Mi=Si.range(kt(Zt),Ct(Zr),kt(Fr),Ct(yr)),Pi=[],Gi=0,Ki=Mi;Gi<Ki.length;Gi+=1){var ka=Ki[Gi],jn=Si.points[ka];Pi.push(jn.numPoints?ot(jn):this.points[jn.index])}return Pi},ct.prototype.getChildren=function(ft){var jt=this._getOriginId(ft),Zt=this._getOriginZoom(ft),yr=\"No cluster with the specified id.\",Fr=this.trees[Zt];if(!Fr)throw new Error(yr);var Zr=Fr.points[jt];if(!Zr)throw new Error(yr);for(var Vr=this.options.radius/(this.options.extent*Math.pow(2,Zt-1)),gi=Fr.within(Zr.x,Zr.y,Vr),Si=[],Mi=0,Pi=gi;Mi<Pi.length;Mi+=1){var Gi=Pi[Mi],Ki=Fr.points[Gi];Ki.parentId===ft&&Si.push(Ki.numPoints?ot(Ki):this.points[Ki.index])}if(Si.length===0)throw new Error(yr);return Si},ct.prototype.getLeaves=function(ft,jt,Zt){jt=jt||10,Zt=Zt||0;var yr=[];return this._appendLeaves(yr,ft,jt,Zt,0),yr},ct.prototype.getTile=function(ft,jt,Zt){var yr=this.trees[this._limitZoom(ft)],Fr=Math.pow(2,ft),Zr=this.options,Vr=Zr.extent,gi=Zr.radius,Si=gi/Vr,Mi=(Zt-Si)/Fr,Pi=(Zt+1+Si)/Fr,Gi={features:[]};return this._addTileFeatures(yr.range((jt-Si)/Fr,Mi,(jt+1+Si)/Fr,Pi),yr.points,jt,Zt,Fr,Gi),jt===0&&this._addTileFeatures(yr.range(1-Si/Fr,Mi,1,Pi),yr.points,Fr,Zt,Fr,Gi),jt===Fr-1&&this._addTileFeatures(yr.range(0,Mi,Si/Fr,Pi),yr.points,-1,Zt,Fr,Gi),Gi.features.length?Gi:null},ct.prototype.getClusterExpansionZoom=function(ft){for(var jt=this._getOriginZoom(ft)-1;jt<=this.options.maxZoom;){var Zt=this.getChildren(ft);if(jt++,Zt.length!==1)break;ft=Zt[0].properties.cluster_id}return jt},ct.prototype._appendLeaves=function(ft,jt,Zt,yr,Fr){for(var Zr=this.getChildren(jt),Vr=0,gi=Zr;Vr<gi.length;Vr+=1){var Si=gi[Vr],Mi=Si.properties;if(Mi&&Mi.cluster?Fr+Mi.point_count<=yr?Fr+=Mi.point_count:Fr=this._appendLeaves(ft,Mi.cluster_id,Zt,yr,Fr):Fr<yr?Fr++:ft.push(Si),ft.length===Zt)break}return Fr},ct.prototype._addTileFeatures=function(ft,jt,Zt,yr,Fr,Zr){for(var Vr=0,gi=ft;Vr<gi.length;Vr+=1){var Si=gi[Vr],Mi=jt[Si],Pi=Mi.numPoints,Gi={type:1,geometry:[[Math.round(this.options.extent*(Mi.x*Fr-Zt)),Math.round(this.options.extent*(Mi.y*Fr-yr))]],tags:Pi?Rt(Mi):this.points[Mi.index].properties},Ki=void 0;Pi?Ki=Mi.id:this.options.generateId?Ki=Mi.index:this.points[Mi.index].id&&(Ki=this.points[Mi.index].id),Ki!==void 0&&(Gi.id=Ki),Zr.features.push(Gi)}},ct.prototype._limitZoom=function(ft){return Math.max(this.options.minZoom,Math.min(+ft,this.options.maxZoom+1))},ct.prototype._cluster=function(ft,jt){for(var Zt=[],yr=this.options,Fr=yr.radius,Zr=yr.extent,Vr=yr.reduce,gi=yr.minPoints,Si=Fr/(Zr*Math.pow(2,jt)),Mi=0;Mi<ft.length;Mi++){var Pi=ft[Mi];if(!(Pi.zoom<=jt)){Pi.zoom=jt;for(var Gi=this.trees[jt+1],Ki=Gi.within(Pi.x,Pi.y,Si),ka=Pi.numPoints||1,jn=ka,la=0,Fa=Ki;la<Fa.length;la+=1){var Ra=Fa[la],jo=Gi.points[Ra];jo.zoom>jt&&(jn+=jo.numPoints||1)}if(jn>=gi){for(var oa=Pi.x*ka,Sn=Pi.y*ka,Ha=Vr&&ka>1?this._map(Pi,!0):null,oo=(Mi<<5)+(jt+1)+this.points.length,xn=0,_t=Ki;xn<_t.length;xn+=1){var br=_t[xn],Hr=Gi.points[br];if(!(Hr.zoom<=jt)){Hr.zoom=jt;var ti=Hr.numPoints||1;oa+=Hr.x*ti,Sn+=Hr.y*ti,Hr.parentId=oo,Vr&&(Ha||(Ha=this._map(Pi,!0)),Vr(Ha,this._map(Hr)))}}Pi.parentId=oo,Zt.push(qt(oa/jn,Sn/jn,oo,jn,Ha))}else if(Zt.push(Pi),jn>1)for(var zi=0,Yi=Ki;zi<Yi.length;zi+=1){var an=Yi[zi],hi=Gi.points[an];hi.zoom<=jt||(hi.zoom=jt,Zt.push(hi))}}}return Zt},ct.prototype._getOriginId=function(ft){return ft-this.points.length>>5},ct.prototype._getOriginZoom=function(ft){return(ft-this.points.length)%32},ct.prototype._map=function(ft,jt){if(ft.numPoints)return jt?er({},ft.properties):ft.properties;var Zt=this.points[ft.index].properties,yr=this.options.map(Zt);return jt&&yr===Zt?er({},yr):yr};function qt(It,ft,jt,Zt,yr){return{x:It,y:ft,zoom:1/0,id:jt,parentId:-1,numPoints:Zt,properties:yr}}function rt(It,ft){var jt=It.geometry.coordinates,Zt=jt[0],yr=jt[1];return{x:kt(Zt),y:Ct(yr),zoom:1/0,index:ft,parentId:-1}}function ot(It){return{type:\"Feature\",id:It.id,properties:Rt(It),geometry:{type:\"Point\",coordinates:[Yt(It.x),xr(It.y)]}}}function Rt(It){var ft=It.numPoints,jt=ft>=1e4?Math.round(ft/1e3)+\"k\":ft>=1e3?Math.round(ft/100)/10+\"k\":ft;return er(er({},It.properties),{cluster:!0,cluster_id:It.id,point_count:ft,point_count_abbreviated:jt})}function kt(It){return It/360+.5}function Ct(It){var ft=Math.sin(It*Math.PI/180),jt=.5-.25*Math.log((1+ft)/(1-ft))/Math.PI;return jt<0?0:jt>1?1:jt}function Yt(It){return(It-.5)*360}function xr(It){var ft=(180-It*360)*Math.PI/180;return 360*Math.atan(Math.exp(ft))/Math.PI-90}function er(It,ft){for(var jt in ft)It[jt]=ft[jt];return It}function Ke(It){return It.x}function xt(It){return It.y}function bt(It,ft,jt,Zt){for(var yr=Zt,Fr=jt-ft>>1,Zr=jt-ft,Vr,gi=It[ft],Si=It[ft+1],Mi=It[jt],Pi=It[jt+1],Gi=ft+3;Gi<jt;Gi+=3){var Ki=Lt(It[Gi],It[Gi+1],gi,Si,Mi,Pi);if(Ki>yr)Vr=Gi,yr=Ki;else if(Ki===yr){var ka=Math.abs(Gi-Fr);ka<Zr&&(Vr=Gi,Zr=ka)}}yr>Zt&&(Vr-ft>3&&bt(It,ft,Vr,Zt),It[Vr+2]=yr,jt-Vr>3&&bt(It,Vr,jt,Zt))}function Lt(It,ft,jt,Zt,yr,Fr){var Zr=yr-jt,Vr=Fr-Zt;if(Zr!==0||Vr!==0){var gi=((It-jt)*Zr+(ft-Zt)*Vr)/(Zr*Zr+Vr*Vr);gi>1?(jt=yr,Zt=Fr):gi>0&&(jt+=Zr*gi,Zt+=Vr*gi)}return Zr=It-jt,Vr=ft-Zt,Zr*Zr+Vr*Vr}function St(It,ft,jt,Zt){var yr={id:typeof It==\"undefined\"?null:It,type:ft,geometry:jt,tags:Zt,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return Et(yr),yr}function Et(It){var ft=It.geometry,jt=It.type;if(jt===\"Point\"||jt===\"MultiPoint\"||jt===\"LineString\")dt(It,ft);else if(jt===\"Polygon\"||jt===\"MultiLineString\")for(var Zt=0;Zt<ft.length;Zt++)dt(It,ft[Zt]);else if(jt===\"MultiPolygon\")for(Zt=0;Zt<ft.length;Zt++)for(var yr=0;yr<ft[Zt].length;yr++)dt(It,ft[Zt][yr])}function dt(It,ft){for(var jt=0;jt<ft.length;jt+=3)It.minX=Math.min(It.minX,ft[jt]),It.minY=Math.min(It.minY,ft[jt+1]),It.maxX=Math.max(It.maxX,ft[jt]),It.maxY=Math.max(It.maxY,ft[jt+1])}function Ht(It,ft){var jt=[];if(It.type===\"FeatureCollection\")for(var Zt=0;Zt<It.features.length;Zt++)$t(jt,It.features[Zt],ft,Zt);else It.type===\"Feature\"?$t(jt,It,ft):$t(jt,{geometry:It},ft);return jt}function $t(It,ft,jt,Zt){if(ft.geometry){var yr=ft.geometry.coordinates,Fr=ft.geometry.type,Zr=Math.pow(jt.tolerance/((1<<jt.maxZoom)*jt.extent),2),Vr=[],gi=ft.id;if(jt.promoteId?gi=ft.properties[jt.promoteId]:jt.generateId&&(gi=Zt||0),Fr===\"Point\")fr(yr,Vr);else if(Fr===\"MultiPoint\")for(var Si=0;Si<yr.length;Si++)fr(yr[Si],Vr);else if(Fr===\"LineString\")_r(yr,Vr,Zr,!1);else if(Fr===\"MultiLineString\")if(jt.lineMetrics){for(Si=0;Si<yr.length;Si++)Vr=[],_r(yr[Si],Vr,Zr,!1),It.push(St(gi,\"LineString\",Vr,ft.properties));return}else Br(yr,Vr,Zr,!1);else if(Fr===\"Polygon\")Br(yr,Vr,Zr,!0);else if(Fr===\"MultiPolygon\")for(Si=0;Si<yr.length;Si++){var Mi=[];Br(yr[Si],Mi,Zr,!0),Vr.push(Mi)}else if(Fr===\"GeometryCollection\"){for(Si=0;Si<ft.geometry.geometries.length;Si++)$t(It,{id:gi,geometry:ft.geometry.geometries[Si],properties:ft.properties},jt,Zt);return}else throw new Error(\"Input data is not a valid GeoJSON object.\");It.push(St(gi,Fr,Vr,ft.properties))}}function fr(It,ft){ft.push(Or(It[0])),ft.push(Nr(It[1])),ft.push(0)}function _r(It,ft,jt,Zt){for(var yr,Fr,Zr=0,Vr=0;Vr<It.length;Vr++){var gi=Or(It[Vr][0]),Si=Nr(It[Vr][1]);ft.push(gi),ft.push(Si),ft.push(0),Vr>0&&(Zt?Zr+=(yr*Si-gi*Fr)/2:Zr+=Math.sqrt(Math.pow(gi-yr,2)+Math.pow(Si-Fr,2))),yr=gi,Fr=Si}var Mi=ft.length-3;ft[2]=1,bt(ft,0,Mi,jt),ft[Mi+2]=1,ft.size=Math.abs(Zr),ft.start=0,ft.end=ft.size}function Br(It,ft,jt,Zt){for(var yr=0;yr<It.length;yr++){var Fr=[];_r(It[yr],Fr,jt,Zt),ft.push(Fr)}}function Or(It){return It/360+.5}function Nr(It){var ft=Math.sin(It*Math.PI/180),jt=.5-.25*Math.log((1+ft)/(1-ft))/Math.PI;return jt<0?0:jt>1?1:jt}function ut(It,ft,jt,Zt,yr,Fr,Zr,Vr){if(jt/=ft,Zt/=ft,Fr>=jt&&Zr<Zt)return It;if(Zr<jt||Fr>=Zt)return null;for(var gi=[],Si=0;Si<It.length;Si++){var Mi=It[Si],Pi=Mi.geometry,Gi=Mi.type,Ki=yr===0?Mi.minX:Mi.minY,ka=yr===0?Mi.maxX:Mi.maxY;if(Ki>=jt&&ka<Zt){gi.push(Mi);continue}else if(ka<jt||Ki>=Zt)continue;var jn=[];if(Gi===\"Point\"||Gi===\"MultiPoint\")Ne(Pi,jn,jt,Zt,yr);else if(Gi===\"LineString\")Ye(Pi,jn,jt,Zt,yr,!1,Vr.lineMetrics);else if(Gi===\"MultiLineString\")Xe(Pi,jn,jt,Zt,yr,!1);else if(Gi===\"Polygon\")Xe(Pi,jn,jt,Zt,yr,!0);else if(Gi===\"MultiPolygon\")for(var la=0;la<Pi.length;la++){var Fa=[];Xe(Pi[la],Fa,jt,Zt,yr,!0),Fa.length&&jn.push(Fa)}if(jn.length){if(Vr.lineMetrics&&Gi===\"LineString\"){for(la=0;la<jn.length;la++)gi.push(St(Mi.id,Gi,jn[la],Mi.tags));continue}(Gi===\"LineString\"||Gi===\"MultiLineString\")&&(jn.length===1?(Gi=\"LineString\",jn=jn[0]):Gi=\"MultiLineString\"),(Gi===\"Point\"||Gi===\"MultiPoint\")&&(Gi=jn.length===3?\"Point\":\"MultiPoint\"),gi.push(St(Mi.id,Gi,jn,Mi.tags))}}return gi.length?gi:null}function Ne(It,ft,jt,Zt,yr){for(var Fr=0;Fr<It.length;Fr+=3){var Zr=It[Fr+yr];Zr>=jt&&Zr<=Zt&&(ft.push(It[Fr]),ft.push(It[Fr+1]),ft.push(It[Fr+2]))}}function Ye(It,ft,jt,Zt,yr,Fr,Zr){for(var Vr=Ve(It),gi=yr===0?Le:xe,Si=It.start,Mi,Pi,Gi=0;Gi<It.length-3;Gi+=3){var Ki=It[Gi],ka=It[Gi+1],jn=It[Gi+2],la=It[Gi+3],Fa=It[Gi+4],Ra=yr===0?Ki:ka,jo=yr===0?la:Fa,oa=!1;Zr&&(Mi=Math.sqrt(Math.pow(Ki-la,2)+Math.pow(ka-Fa,2))),Ra<jt?jo>jt&&(Pi=gi(Vr,Ki,ka,la,Fa,jt),Zr&&(Vr.start=Si+Mi*Pi)):Ra>Zt?jo<Zt&&(Pi=gi(Vr,Ki,ka,la,Fa,Zt),Zr&&(Vr.start=Si+Mi*Pi)):ht(Vr,Ki,ka,jn),jo<jt&&Ra>=jt&&(Pi=gi(Vr,Ki,ka,la,Fa,jt),oa=!0),jo>Zt&&Ra<=Zt&&(Pi=gi(Vr,Ki,ka,la,Fa,Zt),oa=!0),!Fr&&oa&&(Zr&&(Vr.end=Si+Mi*Pi),ft.push(Vr),Vr=Ve(It)),Zr&&(Si+=Mi)}var Sn=It.length-3;Ki=It[Sn],ka=It[Sn+1],jn=It[Sn+2],Ra=yr===0?Ki:ka,Ra>=jt&&Ra<=Zt&&ht(Vr,Ki,ka,jn),Sn=Vr.length-3,Fr&&Sn>=3&&(Vr[Sn]!==Vr[0]||Vr[Sn+1]!==Vr[1])&&ht(Vr,Vr[0],Vr[1],Vr[2]),Vr.length&&ft.push(Vr)}function Ve(It){var ft=[];return ft.size=It.size,ft.start=It.start,ft.end=It.end,ft}function Xe(It,ft,jt,Zt,yr,Fr){for(var Zr=0;Zr<It.length;Zr++)Ye(It[Zr],ft,jt,Zt,yr,Fr,!1)}function ht(It,ft,jt,Zt){It.push(ft),It.push(jt),It.push(Zt)}function Le(It,ft,jt,Zt,yr,Fr){var Zr=(Fr-ft)/(Zt-ft);return It.push(Fr),It.push(jt+(yr-jt)*Zr),It.push(1),Zr}function xe(It,ft,jt,Zt,yr,Fr){var Zr=(Fr-jt)/(yr-jt);return It.push(ft+(Zt-ft)*Zr),It.push(Fr),It.push(1),Zr}function Se(It,ft){var jt=ft.buffer/ft.extent,Zt=It,yr=ut(It,1,-1-jt,jt,0,-1,2,ft),Fr=ut(It,1,1-jt,2+jt,0,-1,2,ft);return(yr||Fr)&&(Zt=ut(It,1,-jt,1+jt,0,-1,2,ft)||[],yr&&(Zt=lt(yr,1).concat(Zt)),Fr&&(Zt=Zt.concat(lt(Fr,-1)))),Zt}function lt(It,ft){for(var jt=[],Zt=0;Zt<It.length;Zt++){var yr=It[Zt],Fr=yr.type,Zr;if(Fr===\"Point\"||Fr===\"MultiPoint\"||Fr===\"LineString\")Zr=Gt(yr.geometry,ft);else if(Fr===\"MultiLineString\"||Fr===\"Polygon\"){Zr=[];for(var Vr=0;Vr<yr.geometry.length;Vr++)Zr.push(Gt(yr.geometry[Vr],ft))}else if(Fr===\"MultiPolygon\")for(Zr=[],Vr=0;Vr<yr.geometry.length;Vr++){for(var gi=[],Si=0;Si<yr.geometry[Vr].length;Si++)gi.push(Gt(yr.geometry[Vr][Si],ft));Zr.push(gi)}jt.push(St(yr.id,Fr,Zr,yr.tags))}return jt}function Gt(It,ft){var jt=[];jt.size=It.size,It.start!==void 0&&(jt.start=It.start,jt.end=It.end);for(var Zt=0;Zt<It.length;Zt+=3)jt.push(It[Zt]+ft,It[Zt+1],It[Zt+2]);return jt}function Vt(It,ft){if(It.transformed)return It;var jt=1<<It.z,Zt=It.x,yr=It.y,Fr,Zr,Vr;for(Fr=0;Fr<It.features.length;Fr++){var gi=It.features[Fr],Si=gi.geometry,Mi=gi.type;if(gi.geometry=[],Mi===1)for(Zr=0;Zr<Si.length;Zr+=2)gi.geometry.push(ar(Si[Zr],Si[Zr+1],ft,jt,Zt,yr));else for(Zr=0;Zr<Si.length;Zr++){var Pi=[];for(Vr=0;Vr<Si[Zr].length;Vr+=2)Pi.push(ar(Si[Zr][Vr],Si[Zr][Vr+1],ft,jt,Zt,yr));gi.geometry.push(Pi)}}return It.transformed=!0,It}function ar(It,ft,jt,Zt,yr,Fr){return[Math.round(jt*(It*Zt-yr)),Math.round(jt*(ft*Zt-Fr))]}function Qr(It,ft,jt,Zt,yr){for(var Fr=ft===yr.maxZoom?0:yr.tolerance/((1<<ft)*yr.extent),Zr={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:jt,y:Zt,z:ft,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},Vr=0;Vr<It.length;Vr++){Zr.numFeatures++,ai(Zr,It[Vr],Fr,yr);var gi=It[Vr].minX,Si=It[Vr].minY,Mi=It[Vr].maxX,Pi=It[Vr].maxY;gi<Zr.minX&&(Zr.minX=gi),Si<Zr.minY&&(Zr.minY=Si),Mi>Zr.maxX&&(Zr.maxX=Mi),Pi>Zr.maxY&&(Zr.maxY=Pi)}return Zr}function ai(It,ft,jt,Zt){var yr=ft.geometry,Fr=ft.type,Zr=[];if(Fr===\"Point\"||Fr===\"MultiPoint\")for(var Vr=0;Vr<yr.length;Vr+=3)Zr.push(yr[Vr]),Zr.push(yr[Vr+1]),It.numPoints++,It.numSimplified++;else if(Fr===\"LineString\")jr(Zr,yr,It,jt,!1,!1);else if(Fr===\"MultiLineString\"||Fr===\"Polygon\")for(Vr=0;Vr<yr.length;Vr++)jr(Zr,yr[Vr],It,jt,Fr===\"Polygon\",Vr===0);else if(Fr===\"MultiPolygon\")for(var gi=0;gi<yr.length;gi++){var Si=yr[gi];for(Vr=0;Vr<Si.length;Vr++)jr(Zr,Si[Vr],It,jt,!0,Vr===0)}if(Zr.length){var Mi=ft.tags||null;if(Fr===\"LineString\"&&Zt.lineMetrics){Mi={};for(var Pi in ft.tags)Mi[Pi]=ft.tags[Pi];Mi.mapbox_clip_start=yr.start/yr.size,Mi.mapbox_clip_end=yr.end/yr.size}var Gi={geometry:Zr,type:Fr===\"Polygon\"||Fr===\"MultiPolygon\"?3:Fr===\"LineString\"||Fr===\"MultiLineString\"?2:1,tags:Mi};ft.id!==null&&(Gi.id=ft.id),It.features.push(Gi)}}function jr(It,ft,jt,Zt,yr,Fr){var Zr=Zt*Zt;if(Zt>0&&ft.size<(yr?Zr:Zt)){jt.numPoints+=ft.length/3;return}for(var Vr=[],gi=0;gi<ft.length;gi+=3)(Zt===0||ft[gi+2]>Zr)&&(jt.numSimplified++,Vr.push(ft[gi]),Vr.push(ft[gi+1])),jt.numPoints++;yr&&ri(Vr,Fr),It.push(Vr)}function ri(It,ft){for(var jt=0,Zt=0,yr=It.length,Fr=yr-2;Zt<yr;Fr=Zt,Zt+=2)jt+=(It[Zt]-It[Fr])*(It[Zt+1]+It[Fr+1]);if(jt>0===ft)for(Zt=0,yr=It.length;Zt<yr/2;Zt+=2){var Zr=It[Zt],Vr=It[Zt+1];It[Zt]=It[yr-2-Zt],It[Zt+1]=It[yr-1-Zt],It[yr-2-Zt]=Zr,It[yr-1-Zt]=Vr}}function bi(It,ft){return new nn(It,ft)}function nn(It,ft){ft=this.options=Ni(Object.create(this.options),ft);var jt=ft.debug;if(jt&&console.time(\"preprocess data\"),ft.maxZoom<0||ft.maxZoom>24)throw new Error(\"maxZoom should be in the 0-24 range\");if(ft.promoteId&&ft.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var Zt=Ht(It,ft);this.tiles={},this.tileCoords=[],jt&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",ft.indexMaxZoom,ft.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),Zt=Se(Zt,ft),Zt.length&&this.splitTile(Zt,0,0,0),jt&&(Zt.length&&console.log(\"features: %d, points: %d\",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(\"generate tiles\"),console.log(\"tiles generated:\",this.total,JSON.stringify(this.stats)))}nn.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},nn.prototype.splitTile=function(It,ft,jt,Zt,yr,Fr,Zr){for(var Vr=[It,ft,jt,Zt],gi=this.options,Si=gi.debug;Vr.length;){Zt=Vr.pop(),jt=Vr.pop(),ft=Vr.pop(),It=Vr.pop();var Mi=1<<ft,Pi=Wi(ft,jt,Zt),Gi=this.tiles[Pi];if(!Gi&&(Si>1&&console.time(\"creation\"),Gi=this.tiles[Pi]=Qr(It,ft,jt,Zt,gi),this.tileCoords.push({z:ft,x:jt,y:Zt}),Si)){Si>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",ft,jt,Zt,Gi.numFeatures,Gi.numPoints,Gi.numSimplified),console.timeEnd(\"creation\"));var Ki=\"z\"+ft;this.stats[Ki]=(this.stats[Ki]||0)+1,this.total++}if(Gi.source=It,yr){if(ft===gi.maxZoom||ft===yr)continue;var ka=1<<yr-ft;if(jt!==Math.floor(Fr/ka)||Zt!==Math.floor(Zr/ka))continue}else if(ft===gi.indexMaxZoom||Gi.numPoints<=gi.indexMaxPoints)continue;if(Gi.source=null,It.length!==0){Si>1&&console.time(\"clipping\");var jn=.5*gi.buffer/gi.extent,la=.5-jn,Fa=.5+jn,Ra=1+jn,jo,oa,Sn,Ha,oo,xn;jo=oa=Sn=Ha=null,oo=ut(It,Mi,jt-jn,jt+Fa,0,Gi.minX,Gi.maxX,gi),xn=ut(It,Mi,jt+la,jt+Ra,0,Gi.minX,Gi.maxX,gi),It=null,oo&&(jo=ut(oo,Mi,Zt-jn,Zt+Fa,1,Gi.minY,Gi.maxY,gi),oa=ut(oo,Mi,Zt+la,Zt+Ra,1,Gi.minY,Gi.maxY,gi),oo=null),xn&&(Sn=ut(xn,Mi,Zt-jn,Zt+Fa,1,Gi.minY,Gi.maxY,gi),Ha=ut(xn,Mi,Zt+la,Zt+Ra,1,Gi.minY,Gi.maxY,gi),xn=null),Si>1&&console.timeEnd(\"clipping\"),Vr.push(jo||[],ft+1,jt*2,Zt*2),Vr.push(oa||[],ft+1,jt*2,Zt*2+1),Vr.push(Sn||[],ft+1,jt*2+1,Zt*2),Vr.push(Ha||[],ft+1,jt*2+1,Zt*2+1)}}},nn.prototype.getTile=function(It,ft,jt){var Zt=this.options,yr=Zt.extent,Fr=Zt.debug;if(It<0||It>24)return null;var Zr=1<<It;ft=(ft%Zr+Zr)%Zr;var Vr=Wi(It,ft,jt);if(this.tiles[Vr])return Vt(this.tiles[Vr],yr);Fr>1&&console.log(\"drilling down to z%d-%d-%d\",It,ft,jt);for(var gi=It,Si=ft,Mi=jt,Pi;!Pi&&gi>0;)gi--,Si=Math.floor(Si/2),Mi=Math.floor(Mi/2),Pi=this.tiles[Wi(gi,Si,Mi)];return!Pi||!Pi.source?null:(Fr>1&&console.log(\"found parent tile z%d-%d-%d\",gi,Si,Mi),Fr>1&&console.time(\"drilling down\"),this.splitTile(Pi.source,gi,Si,Mi,It,ft,jt),Fr>1&&console.timeEnd(\"drilling down\"),this.tiles[Vr]?Vt(this.tiles[Vr],yr):null)};function Wi(It,ft,jt){return((1<<It)*jt+ft)*32+It}function Ni(It,ft){for(var jt in ft)It[jt]=ft[jt];return It}function _n(It,ft){var jt=It.tileID.canonical;if(!this._geoJSONIndex)return ft(null,null);var Zt=this._geoJSONIndex.getTile(jt.z,jt.x,jt.y);if(!Zt)return ft(null,null);var yr=new C(Zt.features),Fr=F(yr);(Fr.byteOffset!==0||Fr.byteLength!==Fr.buffer.byteLength)&&(Fr=new Uint8Array(Fr)),ft(null,{vectorTile:yr,rawData:Fr.buffer})}var $i=function(It){function ft(jt,Zt,yr,Fr){It.call(this,jt,Zt,yr,_n),Fr&&(this.loadGeoJSON=Fr)}return It&&(ft.__proto__=It),ft.prototype=Object.create(It&&It.prototype),ft.prototype.constructor=ft,ft.prototype.loadData=function(Zt,yr){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=yr,this._pendingLoadDataParams=Zt,this._state&&this._state!==\"Idle\"?this._state=\"NeedsLoadData\":(this._state=\"Coalescing\",this._loadData())},ft.prototype._loadData=function(){var Zt=this;if(!(!this._pendingCallback||!this._pendingLoadDataParams)){var yr=this._pendingCallback,Fr=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var Zr=Fr&&Fr.request&&Fr.request.collectResourceTiming?new i.RequestPerformance(Fr.request):!1;this.loadGeoJSON(Fr,function(Vr,gi){if(Vr||!gi)return yr(Vr);if(typeof gi!=\"object\")return yr(new Error(\"Input data given to '\"+Fr.source+\"' is not a valid GeoJSON object.\"));p(gi,!0);try{if(Fr.filter){var Si=i.createExpression(Fr.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(Si.result===\"error\")throw new Error(Si.value.map(function(Ki){return Ki.key+\": \"+Ki.message}).join(\", \"));var Mi=gi.features.filter(function(Ki){return Si.value.evaluate({zoom:0},Ki)});gi={type:\"FeatureCollection\",features:Mi}}Zt._geoJSONIndex=Fr.cluster?new ct(zn(Fr)).load(gi.features):bi(gi,Fr.geojsonVtOptions)}catch(Ki){return yr(Ki)}Zt.loaded={};var Pi={};if(Zr){var Gi=Zr.finish();Gi&&(Pi.resourceTiming={},Pi.resourceTiming[Fr.source]=JSON.parse(JSON.stringify(Gi)))}yr(null,Pi)})}},ft.prototype.coalesce=function(){this._state===\"Coalescing\"?this._state=\"Idle\":this._state===\"NeedsLoadData\"&&(this._state=\"Coalescing\",this._loadData())},ft.prototype.reloadTile=function(Zt,yr){var Fr=this.loaded,Zr=Zt.uid;return Fr&&Fr[Zr]?It.prototype.reloadTile.call(this,Zt,yr):this.loadTile(Zt,yr)},ft.prototype.loadGeoJSON=function(Zt,yr){if(Zt.request)i.getJSON(Zt.request,yr);else if(typeof Zt.data==\"string\")try{return yr(null,JSON.parse(Zt.data))}catch(Fr){return yr(new Error(\"Input data given to '\"+Zt.source+\"' is not a valid GeoJSON object.\"))}else return yr(new Error(\"Input data given to '\"+Zt.source+\"' is not a valid GeoJSON object.\"))},ft.prototype.removeSource=function(Zt,yr){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),yr()},ft.prototype.getClusterExpansionZoom=function(Zt,yr){try{yr(null,this._geoJSONIndex.getClusterExpansionZoom(Zt.clusterId))}catch(Fr){yr(Fr)}},ft.prototype.getClusterChildren=function(Zt,yr){try{yr(null,this._geoJSONIndex.getChildren(Zt.clusterId))}catch(Fr){yr(Fr)}},ft.prototype.getClusterLeaves=function(Zt,yr){try{yr(null,this._geoJSONIndex.getLeaves(Zt.clusterId,Zt.limit,Zt.offset))}catch(Fr){yr(Fr)}},ft}(v);function zn(It){var ft=It.superclusterOptions,jt=It.clusterProperties;if(!jt||!ft)return ft;for(var Zt={},yr={},Fr={accumulated:null,zoom:0},Zr={properties:null},Vr=Object.keys(jt),gi=0,Si=Vr;gi<Si.length;gi+=1){var Mi=Si[gi],Pi=jt[Mi],Gi=Pi[0],Ki=Pi[1],ka=i.createExpression(Ki),jn=i.createExpression(typeof Gi==\"string\"?[Gi,[\"accumulated\"],[\"get\",Mi]]:Gi);Zt[Mi]=ka.value,yr[Mi]=jn.value}return ft.map=function(la){Zr.properties=la;for(var Fa={},Ra=0,jo=Vr;Ra<jo.length;Ra+=1){var oa=jo[Ra];Fa[oa]=Zt[oa].evaluate(Fr,Zr)}return Fa},ft.reduce=function(la,Fa){Zr.properties=Fa;for(var Ra=0,jo=Vr;Ra<jo.length;Ra+=1){var oa=jo[Ra];Fr.accumulated=la[oa],la[oa]=yr[oa].evaluate(Fr,Zr)}},ft}var Wn=function(ft){var jt=this;this.self=ft,this.actor=new i.Actor(ft,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:v,geojson:$i},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(Zt,yr){if(jt.workerSourceTypes[Zt])throw new Error('Worker source with name \"'+Zt+'\" already registered.');jt.workerSourceTypes[Zt]=yr},this.self.registerRTLTextPlugin=function(Zt){if(i.plugin.isParsed())throw new Error(\"RTL text plugin already registered.\");i.plugin.applyArabicShaping=Zt.applyArabicShaping,i.plugin.processBidirectionalText=Zt.processBidirectionalText,i.plugin.processStyledBidirectionalText=Zt.processStyledBidirectionalText}};return Wn.prototype.setReferrer=function(ft,jt){this.referrer=jt},Wn.prototype.setImages=function(ft,jt,Zt){this.availableImages[ft]=jt;for(var yr in this.workerSources[ft]){var Fr=this.workerSources[ft][yr];for(var Zr in Fr)Fr[Zr].availableImages=jt}Zt()},Wn.prototype.setLayers=function(ft,jt,Zt){this.getLayerIndex(ft).replace(jt),Zt()},Wn.prototype.updateLayers=function(ft,jt,Zt){this.getLayerIndex(ft).update(jt.layers,jt.removedIds),Zt()},Wn.prototype.loadTile=function(ft,jt,Zt){this.getWorkerSource(ft,jt.type,jt.source).loadTile(jt,Zt)},Wn.prototype.loadDEMTile=function(ft,jt,Zt){this.getDEMWorkerSource(ft,jt.source).loadTile(jt,Zt)},Wn.prototype.reloadTile=function(ft,jt,Zt){this.getWorkerSource(ft,jt.type,jt.source).reloadTile(jt,Zt)},Wn.prototype.abortTile=function(ft,jt,Zt){this.getWorkerSource(ft,jt.type,jt.source).abortTile(jt,Zt)},Wn.prototype.removeTile=function(ft,jt,Zt){this.getWorkerSource(ft,jt.type,jt.source).removeTile(jt,Zt)},Wn.prototype.removeDEMTile=function(ft,jt){this.getDEMWorkerSource(ft,jt.source).removeTile(jt)},Wn.prototype.removeSource=function(ft,jt,Zt){if(!(!this.workerSources[ft]||!this.workerSources[ft][jt.type]||!this.workerSources[ft][jt.type][jt.source])){var yr=this.workerSources[ft][jt.type][jt.source];delete this.workerSources[ft][jt.type][jt.source],yr.removeSource!==void 0?yr.removeSource(jt,Zt):Zt()}},Wn.prototype.loadWorkerSource=function(ft,jt,Zt){try{this.self.importScripts(jt.url),Zt()}catch(yr){Zt(yr.toString())}},Wn.prototype.syncRTLPluginState=function(ft,jt,Zt){try{i.plugin.setState(jt);var yr=i.plugin.getPluginURL();if(i.plugin.isLoaded()&&!i.plugin.isParsed()&&yr!=null){this.self.importScripts(yr);var Fr=i.plugin.isParsed(),Zr=Fr?void 0:new Error(\"RTL Text Plugin failed to import scripts from \"+yr);Zt(Zr,Fr)}}catch(Vr){Zt(Vr.toString())}},Wn.prototype.getAvailableImages=function(ft){var jt=this.availableImages[ft];return jt||(jt=[]),jt},Wn.prototype.getLayerIndex=function(ft){var jt=this.layerIndexes[ft];return jt||(jt=this.layerIndexes[ft]=new l),jt},Wn.prototype.getWorkerSource=function(ft,jt,Zt){var yr=this;if(this.workerSources[ft]||(this.workerSources[ft]={}),this.workerSources[ft][jt]||(this.workerSources[ft][jt]={}),!this.workerSources[ft][jt][Zt]){var Fr={send:function(Zr,Vr,gi){yr.actor.send(Zr,Vr,gi,ft)}};this.workerSources[ft][jt][Zt]=new this.workerSourceTypes[jt](Fr,this.getLayerIndex(ft),this.getAvailableImages(ft))}return this.workerSources[ft][jt][Zt]},Wn.prototype.getDEMWorkerSource=function(ft,jt){return this.demWorkerSources[ft]||(this.demWorkerSources[ft]={}),this.demWorkerSources[ft][jt]||(this.demWorkerSources[ft][jt]=new b),this.demWorkerSources[ft][jt]},Wn.prototype.enforceCacheSizeLimit=function(ft,jt){i.enforceCacheSizeLimit(jt)},typeof WorkerGlobalScope!=\"undefined\"&&typeof self!=\"undefined\"&&self instanceof WorkerGlobalScope&&(self.worker=new Wn(self)),Wn}),n([\"./shared\"],function(i){\"use strict\";var a=i.createCommonjsModule(function(Y){Y.exports?Y.exports=z:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=z,window.mapboxgl.notSupportedReason=K);function z(rr){return!K(rr)}function K(rr){if(!O())return\"not a browser\";if(!$())return\"insufficent Array support\";if(!pe())return\"insufficient Function support\";if(!de())return\"insufficient Object support\";if(!Ie())return\"insufficient JSON support\";if(!$e())return\"insufficient worker support\";if(!pt())return\"insufficient Uint8ClampedArray support\";if(!Kt())return\"insufficient ArrayBuffer support\";if(!ir())return\"insufficient Canvas/getImageData support\";if(!vt(rr&&rr.failIfMajorPerformanceCaveat))return\"insufficient WebGL support\"}function O(){return typeof window!=\"undefined\"&&typeof document!=\"undefined\"}function $(){return Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray}function pe(){return Function.prototype&&Function.prototype.bind}function de(){return Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions}function Ie(){return\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON}function $e(){if(!(\"Worker\"in window&&\"Blob\"in window&&\"URL\"in window))return!1;var rr=new Blob([\"\"],{type:\"text/javascript\"}),dr=URL.createObjectURL(rr),pr,kr;try{kr=new Worker(dr),pr=!0}catch(Ar){pr=!1}return kr&&kr.terminate(),URL.revokeObjectURL(dr),pr}function pt(){return\"Uint8ClampedArray\"in window}function Kt(){return ArrayBuffer.isView}function ir(){var rr=document.createElement(\"canvas\");rr.width=rr.height=1;var dr=rr.getContext(\"2d\");if(!dr)return!1;var pr=dr.getImageData(0,0,1,1);return pr&&pr.width===rr.width}var Jt={};function vt(rr){return Jt[rr]===void 0&&(Jt[rr]=Wt(rr)),Jt[rr]}z.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0};function Pt(rr){var dr=document.createElement(\"canvas\"),pr=Object.create(z.webGLContextAttributes);return pr.failIfMajorPerformanceCaveat=rr,dr.probablySupportsContext?dr.probablySupportsContext(\"webgl\",pr)||dr.probablySupportsContext(\"experimental-webgl\",pr):dr.supportsContext?dr.supportsContext(\"webgl\",pr)||dr.supportsContext(\"experimental-webgl\",pr):dr.getContext(\"webgl\",pr)||dr.getContext(\"experimental-webgl\",pr)}function Wt(rr){var dr=Pt(rr);if(!dr)return!1;var pr=dr.createShader(dr.VERTEX_SHADER);return!pr||dr.isContextLost()?!1:(dr.shaderSource(pr,\"void main() {}\"),dr.compileShader(pr),dr.getShaderParameter(pr,dr.COMPILE_STATUS)===!0)}}),o={};o.create=function(Y,z,K){var O=i.window.document.createElement(Y);return z!==void 0&&(O.className=z),K&&K.appendChild(O),O},o.createNS=function(Y,z){var K=i.window.document.createElementNS(Y,z);return K};var s=i.window.document&&i.window.document.documentElement.style;function l(Y){if(!s)return Y[0];for(var z=0;z<Y.length;z++)if(Y[z]in s)return Y[z];return Y[0]}var u=l([\"userSelect\",\"MozUserSelect\",\"WebkitUserSelect\",\"msUserSelect\"]),c;o.disableDrag=function(){s&&u&&(c=s[u],s[u]=\"none\")},o.enableDrag=function(){s&&u&&(s[u]=c)};var f=l([\"transform\",\"WebkitTransform\"]);o.setTransform=function(Y,z){Y.style[f]=z};var h=!1;try{var d=Object.defineProperty({},\"passive\",{get:function(){h=!0}});i.window.addEventListener(\"test\",d,d),i.window.removeEventListener(\"test\",d,d)}catch(Y){h=!1}o.addEventListener=function(Y,z,K,O){O===void 0&&(O={}),\"passive\"in O&&h?Y.addEventListener(z,K,O):Y.addEventListener(z,K,O.capture)},o.removeEventListener=function(Y,z,K,O){O===void 0&&(O={}),\"passive\"in O&&h?Y.removeEventListener(z,K,O):Y.removeEventListener(z,K,O.capture)};var v=function(Y){Y.preventDefault(),Y.stopPropagation(),i.window.removeEventListener(\"click\",v,!0)};o.suppressClick=function(){i.window.addEventListener(\"click\",v,!0),i.window.setTimeout(function(){i.window.removeEventListener(\"click\",v,!0)},0)},o.mousePos=function(Y,z){var K=Y.getBoundingClientRect();return new i.Point(z.clientX-K.left-Y.clientLeft,z.clientY-K.top-Y.clientTop)},o.touchPos=function(Y,z){for(var K=Y.getBoundingClientRect(),O=[],$=0;$<z.length;$++)O.push(new i.Point(z[$].clientX-K.left-Y.clientLeft,z[$].clientY-K.top-Y.clientTop));return O},o.mouseButton=function(Y){return typeof i.window.InstallTrigger!=\"undefined\"&&Y.button===2&&Y.ctrlKey&&i.window.navigator.platform.toUpperCase().indexOf(\"MAC\")>=0?0:Y.button},o.remove=function(Y){Y.parentNode&&Y.parentNode.removeChild(Y)};function x(Y,z,K){var O,$,pe,de=i.browser.devicePixelRatio>1?\"@2x\":\"\",Ie=i.getJSON(z.transformRequest(z.normalizeSpriteURL(Y,de,\".json\"),i.ResourceType.SpriteJSON),function(Kt,ir){Ie=null,pe||(pe=Kt,O=ir,pt())}),$e=i.getImage(z.transformRequest(z.normalizeSpriteURL(Y,de,\".png\"),i.ResourceType.SpriteImage),function(Kt,ir){$e=null,pe||(pe=Kt,$=ir,pt())});function pt(){if(pe)K(pe);else if(O&&$){var Kt=i.browser.getImageData($),ir={};for(var Jt in O){var vt=O[Jt],Pt=vt.width,Wt=vt.height,rr=vt.x,dr=vt.y,pr=vt.sdf,kr=vt.pixelRatio,Ar=vt.stretchX,gr=vt.stretchY,Cr=vt.content,cr=new i.RGBAImage({width:Pt,height:Wt});i.RGBAImage.copy(Kt,cr,{x:rr,y:dr},{x:0,y:0},{width:Pt,height:Wt}),ir[Jt]={data:cr,pixelRatio:kr,sdf:pr,stretchX:Ar,stretchY:gr,content:Cr}}K(null,ir)}}return{cancel:function(){Ie&&(Ie.cancel(),Ie=null),$e&&($e.cancel(),$e=null)}}}function b(Y){var z=Y.userImage;if(z&&z.render){var K=z.render();if(K)return Y.data.replace(new Uint8Array(z.data.buffer)),!0}return!1}var p=1,E=function(Y){function z(){Y.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new i.RGBAImage({width:1,height:1}),this.dirty=!0}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.isLoaded=function(){return this.loaded},z.prototype.setLoaded=function(O){if(this.loaded!==O&&(this.loaded=O,O)){for(var $=0,pe=this.requestors;$<pe.length;$+=1){var de=pe[$],Ie=de.ids,$e=de.callback;this._notify(Ie,$e)}this.requestors=[]}},z.prototype.getImage=function(O){return this.images[O]},z.prototype.addImage=function(O,$){this._validate(O,$)&&(this.images[O]=$)},z.prototype._validate=function(O,$){var pe=!0;return this._validateStretch($.stretchX,$.data&&$.data.width)||(this.fire(new i.ErrorEvent(new Error('Image \"'+O+'\" has invalid \"stretchX\" value'))),pe=!1),this._validateStretch($.stretchY,$.data&&$.data.height)||(this.fire(new i.ErrorEvent(new Error('Image \"'+O+'\" has invalid \"stretchY\" value'))),pe=!1),this._validateContent($.content,$)||(this.fire(new i.ErrorEvent(new Error('Image \"'+O+'\" has invalid \"content\" value'))),pe=!1),pe},z.prototype._validateStretch=function(O,$){if(!O)return!0;for(var pe=0,de=0,Ie=O;de<Ie.length;de+=1){var $e=Ie[de];if($e[0]<pe||$e[1]<$e[0]||$<$e[1])return!1;pe=$e[1]}return!0},z.prototype._validateContent=function(O,$){return O?!(O.length!==4||O[0]<0||$.data.width<O[0]||O[1]<0||$.data.height<O[1]||O[2]<0||$.data.width<O[2]||O[3]<0||$.data.height<O[3]||O[2]<O[0]||O[3]<O[1]):!0},z.prototype.updateImage=function(O,$){var pe=this.images[O];$.version=pe.version+1,this.images[O]=$,this.updatedImages[O]=!0},z.prototype.removeImage=function(O){var $=this.images[O];delete this.images[O],delete this.patterns[O],$.userImage&&$.userImage.onRemove&&$.userImage.onRemove()},z.prototype.listImages=function(){return Object.keys(this.images)},z.prototype.getImages=function(O,$){var pe=!0;if(!this.isLoaded())for(var de=0,Ie=O;de<Ie.length;de+=1){var $e=Ie[de];this.images[$e]||(pe=!1)}this.isLoaded()||pe?this._notify(O,$):this.requestors.push({ids:O,callback:$})},z.prototype._notify=function(O,$){for(var pe={},de=0,Ie=O;de<Ie.length;de+=1){var $e=Ie[de];this.images[$e]||this.fire(new i.Event(\"styleimagemissing\",{id:$e}));var pt=this.images[$e];pt?pe[$e]={data:pt.data.clone(),pixelRatio:pt.pixelRatio,sdf:pt.sdf,version:pt.version,stretchX:pt.stretchX,stretchY:pt.stretchY,content:pt.content,hasRenderCallback:!!(pt.userImage&&pt.userImage.render)}:i.warnOnce('Image \"'+$e+'\" 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.')}$(null,pe)},z.prototype.getPixelSize=function(){var O=this.atlasImage,$=O.width,pe=O.height;return{width:$,height:pe}},z.prototype.getPattern=function(O){var $=this.patterns[O],pe=this.getImage(O);if(!pe)return null;if($&&$.position.version===pe.version)return $.position;if($)$.position.version=pe.version;else{var de=pe.data.width+p*2,Ie=pe.data.height+p*2,$e={w:de,h:Ie,x:0,y:0},pt=new i.ImagePosition($e,pe);this.patterns[O]={bin:$e,position:pt}}return this._updatePatternAtlas(),this.patterns[O].position},z.prototype.bind=function(O){var $=O.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new i.Texture(O,this.atlasImage,$.RGBA),this.atlasTexture.bind($.LINEAR,$.CLAMP_TO_EDGE)},z.prototype._updatePatternAtlas=function(){var O=[];for(var $ in this.patterns)O.push(this.patterns[$].bin);var pe=i.potpack(O),de=pe.w,Ie=pe.h,$e=this.atlasImage;$e.resize({width:de||1,height:Ie||1});for(var pt in this.patterns){var Kt=this.patterns[pt],ir=Kt.bin,Jt=ir.x+p,vt=ir.y+p,Pt=this.images[pt].data,Wt=Pt.width,rr=Pt.height;i.RGBAImage.copy(Pt,$e,{x:0,y:0},{x:Jt,y:vt},{width:Wt,height:rr}),i.RGBAImage.copy(Pt,$e,{x:0,y:rr-1},{x:Jt,y:vt-1},{width:Wt,height:1}),i.RGBAImage.copy(Pt,$e,{x:0,y:0},{x:Jt,y:vt+rr},{width:Wt,height:1}),i.RGBAImage.copy(Pt,$e,{x:Wt-1,y:0},{x:Jt-1,y:vt},{width:1,height:rr}),i.RGBAImage.copy(Pt,$e,{x:0,y:0},{x:Jt+Wt,y:vt},{width:1,height:rr})}this.dirty=!0},z.prototype.beginFrame=function(){this.callbackDispatchedThisFrame={}},z.prototype.dispatchRenderCallbacks=function(O){for(var $=0,pe=O;$<pe.length;$+=1){var de=pe[$];if(!this.callbackDispatchedThisFrame[de]){this.callbackDispatchedThisFrame[de]=!0;var Ie=this.images[de],$e=b(Ie);$e&&this.updateImage(de,Ie)}}},z}(i.Evented);function k(Y,z,K,O,$){var pe=z*256,de=pe+255,Ie=O.transformRequest(O.normalizeGlyphsURL(K).replace(\"{fontstack}\",Y).replace(\"{range}\",pe+\"-\"+de),i.ResourceType.Glyphs);i.getArrayBuffer(Ie,function($e,pt){if($e)$($e);else if(pt){for(var Kt={},ir=0,Jt=i.parseGlyphPBF(pt);ir<Jt.length;ir+=1){var vt=Jt[ir];Kt[vt.id]=vt}$(null,Kt)}})}var A=C,L=C,_=1e20;function C(Y,z,K,O,$,pe){this.fontSize=Y||24,this.buffer=z===void 0?3:z,this.cutoff=O||.25,this.fontFamily=$||\"sans-serif\",this.fontWeight=pe||\"normal\",this.radius=K||8;var de=this.size=this.fontSize+this.buffer*2;this.canvas=document.createElement(\"canvas\"),this.canvas.width=this.canvas.height=de,this.ctx=this.canvas.getContext(\"2d\"),this.ctx.font=this.fontWeight+\" \"+this.fontSize+\"px \"+this.fontFamily,this.ctx.textBaseline=\"middle\",this.ctx.fillStyle=\"black\",this.gridOuter=new Float64Array(de*de),this.gridInner=new Float64Array(de*de),this.f=new Float64Array(de),this.d=new Float64Array(de),this.z=new Float64Array(de+1),this.v=new Int16Array(de),this.middle=Math.round(de/2*(navigator.userAgent.indexOf(\"Gecko/\")>=0?1.2:1))}C.prototype.draw=function(Y){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(Y,this.buffer,this.middle);for(var z=this.ctx.getImageData(0,0,this.size,this.size),K=new Uint8ClampedArray(this.size*this.size),O=0;O<this.size*this.size;O++){var $=z.data[O*4+3]/255;this.gridOuter[O]=$===1?0:$===0?_:Math.pow(Math.max(0,.5-$),2),this.gridInner[O]=$===1?_:$===0?0:Math.pow(Math.max(0,$-.5),2)}for(M(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),M(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),O=0;O<this.size*this.size;O++){var pe=this.gridOuter[O]-this.gridInner[O];K[O]=Math.max(0,Math.min(255,Math.round(255-255*(pe/this.radius+this.cutoff))))}return K};function M(Y,z,K,O,$,pe,de){for(var Ie=0;Ie<z;Ie++){for(var $e=0;$e<K;$e++)O[$e]=Y[$e*z+Ie];for(g(O,$,pe,de,K),$e=0;$e<K;$e++)Y[$e*z+Ie]=$[$e]}for($e=0;$e<K;$e++){for(Ie=0;Ie<z;Ie++)O[Ie]=Y[$e*z+Ie];for(g(O,$,pe,de,z),Ie=0;Ie<z;Ie++)Y[$e*z+Ie]=Math.sqrt($[Ie])}}function g(Y,z,K,O,$){K[0]=0,O[0]=-_,O[1]=+_;for(var pe=1,de=0;pe<$;pe++){for(var Ie=(Y[pe]+pe*pe-(Y[K[de]]+K[de]*K[de]))/(2*pe-2*K[de]);Ie<=O[de];)de--,Ie=(Y[pe]+pe*pe-(Y[K[de]]+K[de]*K[de]))/(2*pe-2*K[de]);de++,K[de]=pe,O[de]=Ie,O[de+1]=+_}for(pe=0,de=0;pe<$;pe++){for(;O[de+1]<pe;)de++;z[pe]=(pe-K[de])*(pe-K[de])+Y[K[de]]}}A.default=L;var P=function(z,K){this.requestManager=z,this.localIdeographFontFamily=K,this.entries={}};P.prototype.setURL=function(z){this.url=z},P.prototype.getGlyphs=function(z,K){var O=this,$=[];for(var pe in z)for(var de=0,Ie=z[pe];de<Ie.length;de+=1){var $e=Ie[de];$.push({stack:pe,id:$e})}i.asyncAll($,function(pt,Kt){var ir=pt.stack,Jt=pt.id,vt=O.entries[ir];vt||(vt=O.entries[ir]={glyphs:{},requests:{},ranges:{}});var Pt=vt.glyphs[Jt];if(Pt!==void 0){Kt(null,{stack:ir,id:Jt,glyph:Pt});return}if(Pt=O._tinySDF(vt,ir,Jt),Pt){vt.glyphs[Jt]=Pt,Kt(null,{stack:ir,id:Jt,glyph:Pt});return}var Wt=Math.floor(Jt/256);if(Wt*256>65535){Kt(new Error(\"glyphs > 65535 not supported\"));return}if(vt.ranges[Wt]){Kt(null,{stack:ir,id:Jt,glyph:Pt});return}var rr=vt.requests[Wt];rr||(rr=vt.requests[Wt]=[],P.loadGlyphRange(ir,Wt,O.url,O.requestManager,function(dr,pr){if(pr){for(var kr in pr)O._doesCharSupportLocalGlyph(+kr)||(vt.glyphs[+kr]=pr[+kr]);vt.ranges[Wt]=!0}for(var Ar=0,gr=rr;Ar<gr.length;Ar+=1){var Cr=gr[Ar];Cr(dr,pr)}delete vt.requests[Wt]})),rr.push(function(dr,pr){dr?Kt(dr):pr&&Kt(null,{stack:ir,id:Jt,glyph:pr[Jt]||null})})},function(pt,Kt){if(pt)K(pt);else if(Kt){for(var ir={},Jt=0,vt=Kt;Jt<vt.length;Jt+=1){var Pt=vt[Jt],Wt=Pt.stack,rr=Pt.id,dr=Pt.glyph;(ir[Wt]||(ir[Wt]={}))[rr]=dr&&{id:dr.id,bitmap:dr.bitmap.clone(),metrics:dr.metrics}}K(null,ir)}})},P.prototype._doesCharSupportLocalGlyph=function(z){return!!this.localIdeographFontFamily&&(i.isChar[\"CJK Unified Ideographs\"](z)||i.isChar[\"Hangul Syllables\"](z)||i.isChar.Hiragana(z)||i.isChar.Katakana(z))},P.prototype._tinySDF=function(z,K,O){var $=this.localIdeographFontFamily;if($&&this._doesCharSupportLocalGlyph(O)){var pe=z.tinySDF;if(!pe){var de=\"400\";/bold/i.test(K)?de=\"900\":/medium/i.test(K)?de=\"500\":/light/i.test(K)&&(de=\"200\"),pe=z.tinySDF=new P.TinySDF(24,3,8,.25,$,de)}return{id:O,bitmap:new i.AlphaImage({width:30,height:30},pe.draw(String.fromCharCode(O))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},P.loadGlyphRange=k,P.TinySDF=A;var T=function(){this.specification=i.styleSpec.light.position};T.prototype.possiblyEvaluate=function(z,K){return i.sphericalToCartesian(z.expression.evaluate(K))},T.prototype.interpolate=function(z,K,O){return{x:i.number(z.x,K.x,O),y:i.number(z.y,K.y,O),z:i.number(z.z,K.z,O)}};var F=new i.Properties({anchor:new i.DataConstantProperty(i.styleSpec.light.anchor),position:new T,color:new i.DataConstantProperty(i.styleSpec.light.color),intensity:new i.DataConstantProperty(i.styleSpec.light.intensity)}),q=\"-transition\",V=function(Y){function z(K){Y.call(this),this._transitionable=new i.Transitionable(F),this.setLight(K),this._transitioning=this._transitionable.untransitioned()}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getLight=function(){return this._transitionable.serialize()},z.prototype.setLight=function(O,$){if($===void 0&&($={}),!this._validate(i.validateLight,O,$))for(var pe in O){var de=O[pe];i.endsWith(pe,q)?this._transitionable.setTransition(pe.slice(0,-q.length),de):this._transitionable.setValue(pe,de)}},z.prototype.updateTransitions=function(O){this._transitioning=this._transitionable.transitioned(O,this._transitioning)},z.prototype.hasTransition=function(){return this._transitioning.hasTransition()},z.prototype.recalculate=function(O){this.properties=this._transitioning.possiblyEvaluate(O)},z.prototype._validate=function(O,$,pe){return pe&&pe.validate===!1?!1:i.emitValidationErrors(this,O.call(i.validateStyle,i.extend({value:$,style:{glyphs:!0,sprite:!0},styleSpec:i.styleSpec})))},z}(i.Evented),H=function(z,K){this.width=z,this.height=K,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}};H.prototype.getDash=function(z,K){var O=z.join(\",\")+String(K);return this.dashEntry[O]||(this.dashEntry[O]=this.addDash(z,K)),this.dashEntry[O]},H.prototype.getDashRanges=function(z,K,O){var $=z.length%2===1,pe=[],de=$?-z[z.length-1]*O:0,Ie=z[0]*O,$e=!0;pe.push({left:de,right:Ie,isDash:$e,zeroLength:z[0]===0});for(var pt=z[0],Kt=1;Kt<z.length;Kt++){$e=!$e;var ir=z[Kt];de=pt*O,pt+=ir,Ie=pt*O,pe.push({left:de,right:Ie,isDash:$e,zeroLength:ir===0})}return pe},H.prototype.addRoundDash=function(z,K,O){for(var $=K/2,pe=-O;pe<=O;pe++)for(var de=this.nextRow+O+pe,Ie=this.width*de,$e=0,pt=z[$e],Kt=0;Kt<this.width;Kt++){Kt/pt.right>1&&(pt=z[++$e]);var ir=Math.abs(Kt-pt.left),Jt=Math.abs(Kt-pt.right),vt=Math.min(ir,Jt),Pt=void 0,Wt=pe/O*($+1);if(pt.isDash){var rr=$-Math.abs(Wt);Pt=Math.sqrt(vt*vt+rr*rr)}else Pt=$-Math.sqrt(vt*vt+Wt*Wt);this.data[Ie+Kt]=Math.max(0,Math.min(255,Pt+128))}},H.prototype.addRegularDash=function(z){for(var K=z.length-1;K>=0;--K){var O=z[K],$=z[K+1];O.zeroLength?z.splice(K,1):$&&$.isDash===O.isDash&&($.left=O.left,z.splice(K,1))}var pe=z[0],de=z[z.length-1];pe.isDash===de.isDash&&(pe.left=de.left-this.width,de.right=pe.right+this.width);for(var Ie=this.width*this.nextRow,$e=0,pt=z[$e],Kt=0;Kt<this.width;Kt++){Kt/pt.right>1&&(pt=z[++$e]);var ir=Math.abs(Kt-pt.left),Jt=Math.abs(Kt-pt.right),vt=Math.min(ir,Jt),Pt=pt.isDash?vt:-vt;this.data[Ie+Kt]=Math.max(0,Math.min(255,Pt+128))}},H.prototype.addDash=function(z,K){var O=K?7:0,$=2*O+1;if(this.nextRow+$>this.height)return i.warnOnce(\"LineAtlas out of space\"),null;for(var pe=0,de=0;de<z.length;de++)pe+=z[de];if(pe!==0){var Ie=this.width/pe,$e=this.getDashRanges(z,this.width,Ie);K?this.addRoundDash($e,Ie,O):this.addRegularDash($e)}var pt={y:(this.nextRow+O+.5)/this.height,height:2*O/this.height,width:pe};return this.nextRow+=$,this.dirty=!0,pt},H.prototype.bind=function(z){var K=z.gl;this.texture?(K.bindTexture(K.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,K.texSubImage2D(K.TEXTURE_2D,0,0,0,this.width,this.height,K.ALPHA,K.UNSIGNED_BYTE,this.data))):(this.texture=K.createTexture(),K.bindTexture(K.TEXTURE_2D,this.texture),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_WRAP_S,K.REPEAT),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_WRAP_T,K.REPEAT),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_MIN_FILTER,K.LINEAR),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_MAG_FILTER,K.LINEAR),K.texImage2D(K.TEXTURE_2D,0,K.ALPHA,this.width,this.height,0,K.ALPHA,K.UNSIGNED_BYTE,this.data))};var X=function Y(z,K){this.workerPool=z,this.actors=[],this.currentActor=0,this.id=i.uniqueId();for(var O=this.workerPool.acquire(this.id),$=0;$<O.length;$++){var pe=O[$],de=new Y.Actor(pe,K,this.id);de.name=\"Worker \"+$,this.actors.push(de)}};X.prototype.broadcast=function(z,K,O){O=O||function(){},i.asyncAll(this.actors,function($,pe){$.send(z,K,pe)},O)},X.prototype.getActor=function(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]},X.prototype.remove=function(){this.actors.forEach(function(z){z.remove()}),this.actors=[],this.workerPool.release(this.id)},X.Actor=i.Actor;function G(Y,z,K){var O=function($,pe){if($)return K($);if(pe){var de=i.pick(i.extend(pe,Y),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"mapbox_logo\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);pe.vector_layers&&(de.vectorLayers=pe.vector_layers,de.vectorLayerIds=de.vectorLayers.map(function(Ie){return Ie.id})),de.tiles=z.canonicalizeTileset(de,Y.url),K(null,de)}};return Y.url?i.getJSON(z.transformRequest(z.normalizeSourceURL(Y.url),i.ResourceType.Source),O):i.browser.frame(function(){return O(null,Y)})}var N=function(z,K,O){this.bounds=i.LngLatBounds.convert(this.validateBounds(z)),this.minzoom=K||0,this.maxzoom=O||24};N.prototype.validateBounds=function(z){return!Array.isArray(z)||z.length!==4?[-180,-90,180,90]:[Math.max(-180,z[0]),Math.max(-90,z[1]),Math.min(180,z[2]),Math.min(90,z[3])]},N.prototype.contains=function(z){var K=Math.pow(2,z.z),O={minX:Math.floor(i.mercatorXfromLng(this.bounds.getWest())*K),minY:Math.floor(i.mercatorYfromLat(this.bounds.getNorth())*K),maxX:Math.ceil(i.mercatorXfromLng(this.bounds.getEast())*K),maxY:Math.ceil(i.mercatorYfromLat(this.bounds.getSouth())*K)},$=z.x>=O.minX&&z.x<O.maxX&&z.y>=O.minY&&z.y<O.maxY;return $};var W=function(Y){function z(K,O,$,pe){if(Y.call(this),this.id=K,this.dispatcher=$,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,i.extend(this,i.pick(O,[\"url\",\"scheme\",\"tileSize\",\"promoteId\"])),this._options=i.extend({type:\"vector\"},O),this._collectResourceTiming=O.collectResourceTiming,this.tileSize!==512)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(pe)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){var O=this;this._loaded=!1,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=G(this._options,this.map._requestManager,function($,pe){O._tileJSONRequest=null,O._loaded=!0,$?O.fire(new i.ErrorEvent($)):pe&&(i.extend(O,pe),pe.bounds&&(O.tileBounds=new N(pe.bounds,O.minzoom,O.maxzoom)),i.postTurnstileEvent(pe.tiles,O.map._requestManager._customAccessToken),i.postMapLoadEvent(pe.tiles,O.map._getMapId(),O.map._requestManager._skuToken,O.map._requestManager._customAccessToken),O.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),O.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})},z.prototype.loaded=function(){return this._loaded},z.prototype.hasTile=function(O){return!this.tileBounds||this.tileBounds.contains(O.canonical)},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.setSourceProperty=function(O){this._tileJSONRequest&&this._tileJSONRequest.cancel(),O();var $=this.map.style.sourceCaches[this.id];$.clearTiles(),this.load()},z.prototype.setTiles=function(O){var $=this;return this.setSourceProperty(function(){$._options.tiles=O}),this},z.prototype.setUrl=function(O){var $=this;return this.setSourceProperty(function(){$.url=O,$._options.url=O}),this},z.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},z.prototype.serialize=function(){return i.extend({},this._options)},z.prototype.loadTile=function(O,$){var pe=this.map._requestManager.normalizeTileURL(O.tileID.canonical.url(this.tiles,this.scheme)),de={request:this.map._requestManager.transformRequest(pe,i.ResourceType.Tile),uid:O.uid,tileID:O.tileID,zoom:O.tileID.overscaledZ,tileSize:this.tileSize*O.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:i.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};de.request.collectResourceTiming=this._collectResourceTiming,!O.actor||O.state===\"expired\"?(O.actor=this.dispatcher.getActor(),O.request=O.actor.send(\"loadTile\",de,Ie.bind(this))):O.state===\"loading\"?O.reloadCallback=$:O.request=O.actor.send(\"reloadTile\",de,Ie.bind(this));function Ie($e,pt){if(delete O.request,O.aborted)return $(null);if($e&&$e.status!==404)return $($e);pt&&pt.resourceTiming&&(O.resourceTiming=pt.resourceTiming),this.map._refreshExpiredTiles&&pt&&O.setExpiryData(pt),O.loadVectorData(pt,this.map.painter),i.cacheEntryPossiblyAdded(this.dispatcher),$(null),O.reloadCallback&&(this.loadTile(O,O.reloadCallback),O.reloadCallback=null)}},z.prototype.abortTile=function(O){O.request&&(O.request.cancel(),delete O.request),O.actor&&O.actor.send(\"abortTile\",{uid:O.uid,type:this.type,source:this.id},void 0)},z.prototype.unloadTile=function(O){O.unloadVectorData(),O.actor&&O.actor.send(\"removeTile\",{uid:O.uid,type:this.type,source:this.id},void 0)},z.prototype.hasTransition=function(){return!1},z}(i.Evented),re=function(Y){function z(K,O,$,pe){Y.call(this),this.id=K,this.dispatcher=$,this.setEventedParent(pe),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=i.extend({type:\"raster\"},O),i.extend(this,i.pick(O,[\"url\",\"scheme\",\"tileSize\"]))}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){var O=this;this._loaded=!1,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=G(this._options,this.map._requestManager,function($,pe){O._tileJSONRequest=null,O._loaded=!0,$?O.fire(new i.ErrorEvent($)):pe&&(i.extend(O,pe),pe.bounds&&(O.tileBounds=new N(pe.bounds,O.minzoom,O.maxzoom)),i.postTurnstileEvent(pe.tiles),i.postMapLoadEvent(pe.tiles,O.map._getMapId(),O.map._requestManager._skuToken),O.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),O.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})},z.prototype.loaded=function(){return this._loaded},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},z.prototype.serialize=function(){return i.extend({},this._options)},z.prototype.hasTile=function(O){return!this.tileBounds||this.tileBounds.contains(O.canonical)},z.prototype.loadTile=function(O,$){var pe=this,de=this.map._requestManager.normalizeTileURL(O.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);O.request=i.getImage(this.map._requestManager.transformRequest(de,i.ResourceType.Tile),function(Ie,$e){if(delete O.request,O.aborted)O.state=\"unloaded\",$(null);else if(Ie)O.state=\"errored\",$(Ie);else if($e){pe.map._refreshExpiredTiles&&O.setExpiryData($e),delete $e.cacheControl,delete $e.expires;var pt=pe.map.painter.context,Kt=pt.gl;O.texture=pe.map.painter.getTileTexture($e.width),O.texture?O.texture.update($e,{useMipmap:!0}):(O.texture=new i.Texture(pt,$e,Kt.RGBA,{useMipmap:!0}),O.texture.bind(Kt.LINEAR,Kt.CLAMP_TO_EDGE,Kt.LINEAR_MIPMAP_NEAREST),pt.extTextureFilterAnisotropic&&Kt.texParameterf(Kt.TEXTURE_2D,pt.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,pt.extTextureFilterAnisotropicMax)),O.state=\"loaded\",i.cacheEntryPossiblyAdded(pe.dispatcher),$(null)}})},z.prototype.abortTile=function(O,$){O.request&&(O.request.cancel(),delete O.request),$()},z.prototype.unloadTile=function(O,$){O.texture&&this.map.painter.saveTileTexture(O.texture),$()},z.prototype.hasTransition=function(){return!1},z}(i.Evented),ae=function(Y){function z(K,O,$,pe){Y.call(this,K,O,$,pe),this.type=\"raster-dem\",this.maxzoom=22,this._options=i.extend({type:\"raster-dem\"},O),this.encoding=O.encoding||\"mapbox\"}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.serialize=function(){return{type:\"raster-dem\",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}},z.prototype.loadTile=function(O,$){var pe=this.map._requestManager.normalizeTileURL(O.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);O.request=i.getImage(this.map._requestManager.transformRequest(pe,i.ResourceType.Tile),de.bind(this)),O.neighboringTiles=this._getNeighboringTiles(O.tileID);function de($e,pt){if(delete O.request,O.aborted)O.state=\"unloaded\",$(null);else if($e)O.state=\"errored\",$($e);else if(pt){this.map._refreshExpiredTiles&&O.setExpiryData(pt),delete pt.cacheControl,delete pt.expires;var Kt=i.window.ImageBitmap&&pt instanceof i.window.ImageBitmap&&i.offscreenCanvasSupported(),ir=Kt?pt:i.browser.getImageData(pt,1),Jt={uid:O.uid,coord:O.tileID,source:this.id,rawImageData:ir,encoding:this.encoding};(!O.actor||O.state===\"expired\")&&(O.actor=this.dispatcher.getActor(),O.actor.send(\"loadDEMTile\",Jt,Ie.bind(this)))}}function Ie($e,pt){$e&&(O.state=\"errored\",$($e)),pt&&(O.dem=pt,O.needsHillshadePrepare=!0,O.state=\"loaded\",$(null))}},z.prototype._getNeighboringTiles=function(O){var $=O.canonical,pe=Math.pow(2,$.z),de=($.x-1+pe)%pe,Ie=$.x===0?O.wrap-1:O.wrap,$e=($.x+1+pe)%pe,pt=$.x+1===pe?O.wrap+1:O.wrap,Kt={};return Kt[new i.OverscaledTileID(O.overscaledZ,Ie,$.z,de,$.y).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,pt,$.z,$e,$.y).key]={backfilled:!1},$.y>0&&(Kt[new i.OverscaledTileID(O.overscaledZ,Ie,$.z,de,$.y-1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,O.wrap,$.z,$.x,$.y-1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,pt,$.z,$e,$.y-1).key]={backfilled:!1}),$.y+1<pe&&(Kt[new i.OverscaledTileID(O.overscaledZ,Ie,$.z,de,$.y+1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,O.wrap,$.z,$.x,$.y+1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,pt,$.z,$e,$.y+1).key]={backfilled:!1}),Kt},z.prototype.unloadTile=function(O){O.demTexture&&this.map.painter.saveTileTexture(O.demTexture),O.fbo&&(O.fbo.destroy(),delete O.fbo),O.dem&&delete O.dem,delete O.neighboringTiles,O.state=\"unloaded\",O.actor&&O.actor.send(\"removeDEMTile\",{uid:O.uid,source:this.id})},z}(re),_e=function(Y){function z(K,O,$,pe){Y.call(this),this.id=K,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._loaded=!1,this.actor=$.getActor(),this.setEventedParent(pe),this._data=O.data,this._options=i.extend({},O),this._collectResourceTiming=O.collectResourceTiming,this._resourceTiming=[],O.maxzoom!==void 0&&(this.maxzoom=O.maxzoom),O.type&&(this.type=O.type),O.attribution&&(this.attribution=O.attribution),this.promoteId=O.promoteId;var de=i.EXTENT/this.tileSize;this.workerOptions=i.extend({source:this.id,cluster:O.cluster||!1,geojsonVtOptions:{buffer:(O.buffer!==void 0?O.buffer:128)*de,tolerance:(O.tolerance!==void 0?O.tolerance:.375)*de,extent:i.EXTENT,maxZoom:this.maxzoom,lineMetrics:O.lineMetrics||!1,generateId:O.generateId||!1},superclusterOptions:{maxZoom:O.clusterMaxZoom!==void 0?Math.min(O.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,minPoints:Math.max(2,O.clusterMinPoints||2),extent:i.EXTENT,radius:(O.clusterRadius||50)*de,log:!1,generateId:O.generateId||!1},clusterProperties:O.clusterProperties,filter:O.filter},O.workerOptions)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){var O=this;this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData(function($){if($){O.fire(new i.ErrorEvent($));return}var pe={dataType:\"source\",sourceDataType:\"metadata\"};O._collectResourceTiming&&O._resourceTiming&&O._resourceTiming.length>0&&(pe.resourceTiming=O._resourceTiming,O._resourceTiming=[]),O.fire(new i.Event(\"data\",pe))})},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.setData=function(O){var $=this;return this._data=O,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData(function(pe){if(pe){$.fire(new i.ErrorEvent(pe));return}var de={dataType:\"source\",sourceDataType:\"content\"};$._collectResourceTiming&&$._resourceTiming&&$._resourceTiming.length>0&&(de.resourceTiming=$._resourceTiming,$._resourceTiming=[]),$.fire(new i.Event(\"data\",de))}),this},z.prototype.getClusterExpansionZoom=function(O,$){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:O,source:this.id},$),this},z.prototype.getClusterChildren=function(O,$){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:O,source:this.id},$),this},z.prototype.getClusterLeaves=function(O,$,pe,de){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:O,limit:$,offset:pe},de),this},z.prototype._updateWorkerData=function(O){var $=this;this._loaded=!1;var pe=i.extend({},this.workerOptions),de=this._data;typeof de==\"string\"?(pe.request=this.map._requestManager.transformRequest(i.browser.resolveURL(de),i.ResourceType.Source),pe.request.collectResourceTiming=this._collectResourceTiming):pe.data=JSON.stringify(de),this.actor.send(this.type+\".loadData\",pe,function(Ie,$e){$._removed||$e&&$e.abandoned||($._loaded=!0,$e&&$e.resourceTiming&&$e.resourceTiming[$.id]&&($._resourceTiming=$e.resourceTiming[$.id].slice(0)),$.actor.send($.type+\".coalesce\",{source:pe.source},null),O(Ie))})},z.prototype.loaded=function(){return this._loaded},z.prototype.loadTile=function(O,$){var pe=this,de=O.actor?\"reloadTile\":\"loadTile\";O.actor=this.actor;var Ie={type:this.type,uid:O.uid,tileID:O.tileID,zoom:O.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:i.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};O.request=this.actor.send(de,Ie,function($e,pt){return delete O.request,O.unloadVectorData(),O.aborted?$(null):$e?$($e):(O.loadVectorData(pt,pe.map.painter,de===\"reloadTile\"),$(null))})},z.prototype.abortTile=function(O){O.request&&(O.request.cancel(),delete O.request),O.aborted=!0},z.prototype.unloadTile=function(O){O.unloadVectorData(),this.actor.send(\"removeTile\",{uid:O.uid,type:this.type,source:this.id})},z.prototype.onRemove=function(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id})},z.prototype.serialize=function(){return i.extend({},this._options,{type:this.type,data:this._data})},z.prototype.hasTransition=function(){return!1},z}(i.Evented),Me=i.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]),ke=function(Y){function z(K,O,$,pe){Y.call(this),this.id=K,this.dispatcher=$,this.coordinates=O.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(pe),this.options=O}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(O,$){var pe=this;this._loaded=!1,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,i.getImage(this.map._requestManager.transformRequest(this.url,i.ResourceType.Image),function(de,Ie){pe._loaded=!0,de?pe.fire(new i.ErrorEvent(de)):Ie&&(pe.image=Ie,O&&(pe.coordinates=O),$&&$(),pe._finishLoading())})},z.prototype.loaded=function(){return this._loaded},z.prototype.updateImage=function(O){var $=this;return!this.image||!O.url?this:(this.options.url=O.url,this.load(O.coordinates,function(){$.texture=null}),this)},z.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.setCoordinates=function(O){var $=this;this.coordinates=O;var pe=O.map(i.MercatorCoordinate.fromLngLat);this.tileID=ge(pe),this.minzoom=this.maxzoom=this.tileID.z;var de=pe.map(function(Ie){return $.tileID.getTilePoint(Ie)._round()});return this._boundsArray=new i.StructArrayLayout4i8,this._boundsArray.emplaceBack(de[0].x,de[0].y,0,0),this._boundsArray.emplaceBack(de[1].x,de[1].y,i.EXTENT,0),this._boundsArray.emplaceBack(de[3].x,de[3].y,0,i.EXTENT),this._boundsArray.emplaceBack(de[2].x,de[2].y,i.EXTENT,i.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this},z.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||!this.image)){var O=this.map.painter.context,$=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new i.Texture(O,this.image,$.RGBA),this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE));for(var pe in this.tiles){var de=this.tiles[pe];de.state!==\"loaded\"&&(de.state=\"loaded\",de.texture=this.texture)}}},z.prototype.loadTile=function(O,$){this.tileID&&this.tileID.equals(O.tileID.canonical)?(this.tiles[String(O.tileID.wrap)]=O,O.buckets={},$(null)):(O.state=\"errored\",$(null))},z.prototype.serialize=function(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}},z.prototype.hasTransition=function(){return!1},z}(i.Evented);function ge(Y){for(var z=1/0,K=1/0,O=-1/0,$=-1/0,pe=0,de=Y;pe<de.length;pe+=1){var Ie=de[pe];z=Math.min(z,Ie.x),K=Math.min(K,Ie.y),O=Math.max(O,Ie.x),$=Math.max($,Ie.y)}var $e=O-z,pt=$-K,Kt=Math.max($e,pt),ir=Math.max(0,Math.floor(-Math.log(Kt)/Math.LN2)),Jt=Math.pow(2,ir);return new i.CanonicalTileID(ir,Math.floor((z+O)/2*Jt),Math.floor((K+$)/2*Jt))}var ie=function(Y){function z(K,O,$,pe){Y.call(this,K,O,$,pe),this.roundZoom=!0,this.type=\"video\",this.options=O}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){var O=this;this._loaded=!1;var $=this.options;this.urls=[];for(var pe=0,de=$.urls;pe<de.length;pe+=1){var Ie=de[pe];this.urls.push(this.map._requestManager.transformRequest(Ie,i.ResourceType.Source).url)}i.getVideo(this.urls,function($e,pt){O._loaded=!0,$e?O.fire(new i.ErrorEvent($e)):pt&&(O.video=pt,O.video.loop=!0,O.video.addEventListener(\"playing\",function(){O.map.triggerRepaint()}),O.map&&O.video.play(),O._finishLoading())})},z.prototype.pause=function(){this.video&&this.video.pause()},z.prototype.play=function(){this.video&&this.video.play()},z.prototype.seek=function(O){if(this.video){var $=this.video.seekable;O<$.start(0)||O>$.end(0)?this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+this.id,null,\"Playback for this video can be set only between the \"+$.start(0)+\" and \"+$.end(0)+\"-second mark.\"))):this.video.currentTime=O}},z.prototype.getVideo=function(){return this.video},z.prototype.onAdd=function(O){this.map||(this.map=O,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},z.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||this.video.readyState<2)){var O=this.map.painter.context,$=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE),$.texSubImage2D($.TEXTURE_2D,0,0,0,$.RGBA,$.UNSIGNED_BYTE,this.video)):(this.texture=new i.Texture(O,this.video,$.RGBA),this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE));for(var pe in this.tiles){var de=this.tiles[pe];de.state!==\"loaded\"&&(de.state=\"loaded\",de.texture=this.texture)}}},z.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},z.prototype.hasTransition=function(){return this.video&&!this.video.paused},z}(ke),Te=function(Y){function z(K,O,$,pe){Y.call(this,K,O,$,pe),O.coordinates?(!Array.isArray(O.coordinates)||O.coordinates.length!==4||O.coordinates.some(function(de){return!Array.isArray(de)||de.length!==2||de.some(function(Ie){return typeof Ie!=\"number\"})}))&&this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'missing required property \"coordinates\"'))),O.animate&&typeof O.animate!=\"boolean\"&&this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'optional \"animate\" property must be a boolean value'))),O.canvas?typeof O.canvas!=\"string\"&&!(O.canvas instanceof i.window.HTMLCanvasElement)&&this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,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 i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'missing required property \"canvas\"'))),this.options=O,this.animate=O.animate!==void 0?O.animate:!0}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){if(this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof i.window.HTMLCanvasElement?this.options.canvas:i.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()){this.fire(new i.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\")));return}this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading()},z.prototype.getCanvas=function(){return this.canvas},z.prototype.onAdd=function(O){this.map=O,this.load(),this.canvas&&this.animate&&this.play()},z.prototype.onRemove=function(){this.pause()},z.prototype.prepare=function(){var O=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,O=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,O=!0),!this._hasInvalidDimensions()&&Object.keys(this.tiles).length!==0){var $=this.map.painter.context,pe=$.gl;this.boundsBuffer||(this.boundsBuffer=$.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(O||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new i.Texture($,this.canvas,pe.RGBA,{premultiply:!0});for(var de in this.tiles){var Ie=this.tiles[de];Ie.state!==\"loaded\"&&(Ie.state=\"loaded\",Ie.texture=this.texture)}}},z.prototype.serialize=function(){return{type:\"canvas\",coordinates:this.coordinates}},z.prototype.hasTransition=function(){return this._playing},z.prototype._hasInvalidDimensions=function(){for(var O=0,$=[this.canvas.width,this.canvas.height];O<$.length;O+=1){var pe=$[O];if(isNaN(pe)||pe<=0)return!0}return!1},z}(ke),Ee={vector:W,raster:re,\"raster-dem\":ae,geojson:_e,video:ie,image:ke,canvas:Te},Ae=function(Y,z,K,O){var $=new Ee[z.type](Y,z,K,O);if($.id!==Y)throw new Error(\"Expected Source id to be \"+Y+\" instead of \"+$.id);return i.bindAll([\"load\",\"abort\",\"unload\",\"serialize\",\"prepare\"],$),$},ze=function(Y){return Ee[Y]},Ce=function(Y,z){Ee[Y]=z};function me(Y,z){var K=i.identity([]);return i.translate(K,K,[1,1,0]),i.scale(K,K,[Y.width*.5,Y.height*.5,1]),i.multiply(K,K,Y.calculatePosMatrix(z.toUnwrapped()))}function Re(Y,z,K){if(Y)for(var O=0,$=Y;O<$.length;O+=1){var pe=$[O],de=z[pe];if(de&&de.source===K&&de.type===\"fill-extrusion\")return!0}else for(var Ie in z){var $e=z[Ie];if($e.source===K&&$e.type===\"fill-extrusion\")return!0}return!1}function ce(Y,z,K,O,$,pe){var de=Re($&&$.layers,z,Y.id),Ie=pe.maxPitchScaleFactor(),$e=Y.tilesIn(O,Ie,de);$e.sort(ct);for(var pt=[],Kt=0,ir=$e;Kt<ir.length;Kt+=1){var Jt=ir[Kt];pt.push({wrappedTileID:Jt.tileID.wrapped().key,queryResults:Jt.tile.queryRenderedFeatures(z,K,Y._state,Jt.queryGeometry,Jt.cameraQueryGeometry,Jt.scale,$,pe,Ie,me(Y.transform,Jt.tileID))})}var vt=qt(pt);for(var Pt in vt)vt[Pt].forEach(function(Wt){var rr=Wt.feature,dr=Y.getFeatureState(rr.layer[\"source-layer\"],rr.id);rr.source=rr.layer.source,rr.layer[\"source-layer\"]&&(rr.sourceLayer=rr.layer[\"source-layer\"]),rr.state=dr});return vt}function Ge(Y,z,K,O,$,pe,de){for(var Ie={},$e=pe.queryRenderedSymbols(O),pt=[],Kt=0,ir=Object.keys($e).map(Number);Kt<ir.length;Kt+=1){var Jt=ir[Kt];pt.push(de[Jt])}pt.sort(ct);for(var vt=function(){var pr=Wt[Pt],kr=pr.featureIndex.lookupSymbolFeatures($e[pr.bucketInstanceId],z,pr.bucketIndex,pr.sourceLayerIndex,$.filter,$.layers,$.availableImages,Y);for(var Ar in kr){var gr=Ie[Ar]=Ie[Ar]||[],Cr=kr[Ar];Cr.sort(function(yi,tn){var Ri=pr.featureSortOrder;if(Ri){var ln=Ri.indexOf(yi.featureIndex),Qn=Ri.indexOf(tn.featureIndex);return Qn-ln}else return tn.featureIndex-yi.featureIndex});for(var cr=0,Gr=Cr;cr<Gr.length;cr+=1){var ei=Gr[cr];gr.push(ei)}}},Pt=0,Wt=pt;Pt<Wt.length;Pt+=1)vt();var rr=function(pr){Ie[pr].forEach(function(kr){var Ar=kr.feature,gr=Y[pr],Cr=K[gr.source],cr=Cr.getFeatureState(Ar.layer[\"source-layer\"],Ar.id);Ar.source=Ar.layer.source,Ar.layer[\"source-layer\"]&&(Ar.sourceLayer=Ar.layer[\"source-layer\"]),Ar.state=cr})};for(var dr in Ie)rr(dr);return Ie}function nt(Y,z){for(var K=Y.getRenderableIds().map(function($e){return Y.getTileByID($e)}),O=[],$={},pe=0;pe<K.length;pe++){var de=K[pe],Ie=de.tileID.canonical.key;$[Ie]||($[Ie]=!0,de.querySourceFeatures(O,z))}return O}function ct(Y,z){var K=Y.tileID,O=z.tileID;return K.overscaledZ-O.overscaledZ||K.canonical.y-O.canonical.y||K.wrap-O.wrap||K.canonical.x-O.canonical.x}function qt(Y){for(var z={},K={},O=0,$=Y;O<$.length;O+=1){var pe=$[O],de=pe.queryResults,Ie=pe.wrappedTileID,$e=K[Ie]=K[Ie]||{};for(var pt in de)for(var Kt=de[pt],ir=$e[pt]=$e[pt]||{},Jt=z[pt]=z[pt]||[],vt=0,Pt=Kt;vt<Pt.length;vt+=1){var Wt=Pt[vt];ir[Wt.featureIndex]||(ir[Wt.featureIndex]=!0,Jt.push(Wt))}}return z}var rt=function(z,K){this.max=z,this.onRemove=K,this.reset()};rt.prototype.reset=function(){for(var z in this.data)for(var K=0,O=this.data[z];K<O.length;K+=1){var $=O[K];$.timeout&&clearTimeout($.timeout),this.onRemove($.value)}return this.data={},this.order=[],this},rt.prototype.add=function(z,K,O){var $=this,pe=z.wrapped().key;this.data[pe]===void 0&&(this.data[pe]=[]);var de={value:K,timeout:void 0};if(O!==void 0&&(de.timeout=setTimeout(function(){$.remove(z,de)},O)),this.data[pe].push(de),this.order.push(pe),this.order.length>this.max){var Ie=this._getAndRemoveByKey(this.order[0]);Ie&&this.onRemove(Ie)}return this},rt.prototype.has=function(z){return z.wrapped().key in this.data},rt.prototype.getAndRemove=function(z){return this.has(z)?this._getAndRemoveByKey(z.wrapped().key):null},rt.prototype._getAndRemoveByKey=function(z){var K=this.data[z].shift();return K.timeout&&clearTimeout(K.timeout),this.data[z].length===0&&delete this.data[z],this.order.splice(this.order.indexOf(z),1),K.value},rt.prototype.getByKey=function(z){var K=this.data[z];return K?K[0].value:null},rt.prototype.get=function(z){if(!this.has(z))return null;var K=this.data[z.wrapped().key][0];return K.value},rt.prototype.remove=function(z,K){if(!this.has(z))return this;var O=z.wrapped().key,$=K===void 0?0:this.data[O].indexOf(K),pe=this.data[O][$];return this.data[O].splice($,1),pe.timeout&&clearTimeout(pe.timeout),this.data[O].length===0&&delete this.data[O],this.onRemove(pe.value),this.order.splice(this.order.indexOf(O),1),this},rt.prototype.setMaxSize=function(z){for(this.max=z;this.order.length>this.max;){var K=this._getAndRemoveByKey(this.order[0]);K&&this.onRemove(K)}return this},rt.prototype.filter=function(z){var K=[];for(var O in this.data)for(var $=0,pe=this.data[O];$<pe.length;$+=1){var de=pe[$];z(de.value)||K.push(de)}for(var Ie=0,$e=K;Ie<$e.length;Ie+=1){var pt=$e[Ie];this.remove(pt.value.tileID,pt)}};var ot=function(z,K,O){this.context=z;var $=z.gl;this.buffer=$.createBuffer(),this.dynamicDraw=!!O,this.context.unbindVAO(),z.bindElementBuffer.set(this.buffer),$.bufferData($.ELEMENT_ARRAY_BUFFER,K.arrayBuffer,this.dynamicDraw?$.DYNAMIC_DRAW:$.STATIC_DRAW),this.dynamicDraw||delete K.arrayBuffer};ot.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},ot.prototype.updateData=function(z){var K=this.context.gl;this.context.unbindVAO(),this.bind(),K.bufferSubData(K.ELEMENT_ARRAY_BUFFER,0,z.arrayBuffer)},ot.prototype.destroy=function(){var z=this.context.gl;this.buffer&&(z.deleteBuffer(this.buffer),delete this.buffer)};var Rt={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"},kt=function(z,K,O,$){this.length=K.length,this.attributes=O,this.itemSize=K.bytesPerElement,this.dynamicDraw=$,this.context=z;var pe=z.gl;this.buffer=pe.createBuffer(),z.bindVertexBuffer.set(this.buffer),pe.bufferData(pe.ARRAY_BUFFER,K.arrayBuffer,this.dynamicDraw?pe.DYNAMIC_DRAW:pe.STATIC_DRAW),this.dynamicDraw||delete K.arrayBuffer};kt.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},kt.prototype.updateData=function(z){var K=this.context.gl;this.bind(),K.bufferSubData(K.ARRAY_BUFFER,0,z.arrayBuffer)},kt.prototype.enableAttributes=function(z,K){for(var O=0;O<this.attributes.length;O++){var $=this.attributes[O],pe=K.attributes[$.name];pe!==void 0&&z.enableVertexAttribArray(pe)}},kt.prototype.setVertexAttribPointers=function(z,K,O){for(var $=0;$<this.attributes.length;$++){var pe=this.attributes[$],de=K.attributes[pe.name];de!==void 0&&z.vertexAttribPointer(de,pe.components,z[Rt[pe.type]],!1,this.itemSize,pe.offset+this.itemSize*(O||0))}},kt.prototype.destroy=function(){var z=this.context.gl;this.buffer&&(z.deleteBuffer(this.buffer),delete this.buffer)};var Ct=function(z){this.gl=z.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1};Ct.prototype.get=function(){return this.current},Ct.prototype.set=function(z){},Ct.prototype.getDefault=function(){return this.default},Ct.prototype.setDefault=function(){this.set(this.default)};var Yt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return i.Color.transparent},z.prototype.set=function(O){var $=this.current;O.r===$.r&&O.g===$.g&&O.b===$.b&&O.a===$.a&&!this.dirty||(this.gl.clearColor(O.r,O.g,O.b,O.a),this.current=O,this.dirty=!1)},z}(Ct),xr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return 1},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.clearDepth(O),this.current=O,this.dirty=!1)},z}(Ct),er=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return 0},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.clearStencil(O),this.current=O,this.dirty=!1)},z}(Ct),Ke=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return[!0,!0,!0,!0]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&O[2]===$[2]&&O[3]===$[3]&&!this.dirty||(this.gl.colorMask(O[0],O[1],O[2],O[3]),this.current=O,this.dirty=!1)},z}(Ct),xt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!0},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.depthMask(O),this.current=O,this.dirty=!1)},z}(Ct),bt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return 255},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.stencilMask(O),this.current=O,this.dirty=!1)},z}(Ct),Lt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return{func:this.gl.ALWAYS,ref:0,mask:255}},z.prototype.set=function(O){var $=this.current;O.func===$.func&&O.ref===$.ref&&O.mask===$.mask&&!this.dirty||(this.gl.stencilFunc(O.func,O.ref,O.mask),this.current=O,this.dirty=!1)},z}(Ct),St=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){var O=this.gl;return[O.KEEP,O.KEEP,O.KEEP]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&O[2]===$[2]&&!this.dirty||(this.gl.stencilOp(O[0],O[1],O[2]),this.current=O,this.dirty=!1)},z}(Ct),Et=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;O?$.enable($.STENCIL_TEST):$.disable($.STENCIL_TEST),this.current=O,this.dirty=!1}},z}(Ct),dt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return[0,1]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&!this.dirty||(this.gl.depthRange(O[0],O[1]),this.current=O,this.dirty=!1)},z}(Ct),Ht=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;O?$.enable($.DEPTH_TEST):$.disable($.DEPTH_TEST),this.current=O,this.dirty=!1}},z}(Ct),$t=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.LESS},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.depthFunc(O),this.current=O,this.dirty=!1)},z}(Ct),fr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;O?$.enable($.BLEND):$.disable($.BLEND),this.current=O,this.dirty=!1}},z}(Ct),_r=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){var O=this.gl;return[O.ONE,O.ZERO]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&!this.dirty||(this.gl.blendFunc(O[0],O[1]),this.current=O,this.dirty=!1)},z}(Ct),Br=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return i.Color.transparent},z.prototype.set=function(O){var $=this.current;O.r===$.r&&O.g===$.g&&O.b===$.b&&O.a===$.a&&!this.dirty||(this.gl.blendColor(O.r,O.g,O.b,O.a),this.current=O,this.dirty=!1)},z}(Ct),Or=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.FUNC_ADD},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.blendEquation(O),this.current=O,this.dirty=!1)},z}(Ct),Nr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;O?$.enable($.CULL_FACE):$.disable($.CULL_FACE),this.current=O,this.dirty=!1}},z}(Ct),ut=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.BACK},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.cullFace(O),this.current=O,this.dirty=!1)},z}(Ct),Ne=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.CCW},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.frontFace(O),this.current=O,this.dirty=!1)},z}(Ct),Ye=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.useProgram(O),this.current=O,this.dirty=!1)},z}(Ct),Ve=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.TEXTURE0},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.activeTexture(O),this.current=O,this.dirty=!1)},z}(Ct),Xe=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){var O=this.gl;return[0,0,O.drawingBufferWidth,O.drawingBufferHeight]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&O[2]===$[2]&&O[3]===$[3]&&!this.dirty||(this.gl.viewport(O[0],O[1],O[2],O[3]),this.current=O,this.dirty=!1)},z}(Ct),ht=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.bindFramebuffer($.FRAMEBUFFER,O),this.current=O,this.dirty=!1}},z}(Ct),Le=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.bindRenderbuffer($.RENDERBUFFER,O),this.current=O,this.dirty=!1}},z}(Ct),xe=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.bindTexture($.TEXTURE_2D,O),this.current=O,this.dirty=!1}},z}(Ct),Se=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.bindBuffer($.ARRAY_BUFFER,O),this.current=O,this.dirty=!1}},z}(Ct),lt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){var $=this.gl;$.bindBuffer($.ELEMENT_ARRAY_BUFFER,O),this.current=O,this.dirty=!1},z}(Ct),Gt=function(Y){function z(K){Y.call(this,K),this.vao=K.extVertexArrayObject}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){!this.vao||O===this.current&&!this.dirty||(this.vao.bindVertexArrayOES(O),this.current=O,this.dirty=!1)},z}(Ct),Vt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return 4},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.pixelStorei($.UNPACK_ALIGNMENT,O),this.current=O,this.dirty=!1}},z}(Ct),ar=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.pixelStorei($.UNPACK_PREMULTIPLY_ALPHA_WEBGL,O),this.current=O,this.dirty=!1}},z}(Ct),Qr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.pixelStorei($.UNPACK_FLIP_Y_WEBGL,O),this.current=O,this.dirty=!1}},z}(Ct),ai=function(Y){function z(K,O){Y.call(this,K),this.context=K,this.parent=O}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z}(Ct),jr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.setDirty=function(){this.dirty=!0},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){this.context.bindFramebuffer.set(this.parent);var $=this.gl;$.framebufferTexture2D($.FRAMEBUFFER,$.COLOR_ATTACHMENT0,$.TEXTURE_2D,O,0),this.current=O,this.dirty=!1}},z}(ai),ri=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){this.context.bindFramebuffer.set(this.parent);var $=this.gl;$.framebufferRenderbuffer($.FRAMEBUFFER,$.DEPTH_ATTACHMENT,$.RENDERBUFFER,O),this.current=O,this.dirty=!1}},z}(ai),bi=function(z,K,O,$){this.context=z,this.width=K,this.height=O;var pe=z.gl,de=this.framebuffer=pe.createFramebuffer();this.colorAttachment=new jr(z,de),$&&(this.depthAttachment=new ri(z,de))};bi.prototype.destroy=function(){var z=this.context.gl,K=this.colorAttachment.get();if(K&&z.deleteTexture(K),this.depthAttachment){var O=this.depthAttachment.get();O&&z.deleteRenderbuffer(O)}z.deleteFramebuffer(this.framebuffer)};var nn=519,Wi=function(z,K,O){this.func=z,this.mask=K,this.range=O};Wi.ReadOnly=!1,Wi.ReadWrite=!0,Wi.disabled=new Wi(nn,Wi.ReadOnly,[0,1]);var Ni=519,_n=7680,$i=function(z,K,O,$,pe,de){this.test=z,this.ref=K,this.mask=O,this.fail=$,this.depthFail=pe,this.pass=de};$i.disabled=new $i({func:Ni,mask:0},0,0,_n,_n,_n);var zn=0,Wn=1,It=771,ft=function(z,K,O){this.blendFunction=z,this.blendColor=K,this.mask=O};ft.Replace=[Wn,zn],ft.disabled=new ft(ft.Replace,i.Color.transparent,[!1,!1,!1,!1]),ft.unblended=new ft(ft.Replace,i.Color.transparent,[!0,!0,!0,!0]),ft.alphaBlended=new ft([Wn,It],i.Color.transparent,[!0,!0,!0,!0]);var jt=1029,Zt=2305,yr=function(z,K,O){this.enable=z,this.mode=K,this.frontFace=O};yr.disabled=new yr(!1,jt,Zt),yr.backCCW=new yr(!0,jt,Zt);var Fr=function(z){this.gl=z,this.extVertexArrayObject=this.gl.getExtension(\"OES_vertex_array_object\"),this.clearColor=new Yt(this),this.clearDepth=new xr(this),this.clearStencil=new er(this),this.colorMask=new Ke(this),this.depthMask=new xt(this),this.stencilMask=new bt(this),this.stencilFunc=new Lt(this),this.stencilOp=new St(this),this.stencilTest=new Et(this),this.depthRange=new dt(this),this.depthTest=new Ht(this),this.depthFunc=new $t(this),this.blend=new fr(this),this.blendFunc=new _r(this),this.blendColor=new Br(this),this.blendEquation=new Or(this),this.cullFace=new Nr(this),this.cullFaceSide=new ut(this),this.frontFace=new Ne(this),this.program=new Ye(this),this.activeTexture=new Ve(this),this.viewport=new Xe(this),this.bindFramebuffer=new ht(this),this.bindRenderbuffer=new Le(this),this.bindTexture=new xe(this),this.bindVertexBuffer=new Se(this),this.bindElementBuffer=new lt(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new Gt(this),this.pixelStoreUnpack=new Vt(this),this.pixelStoreUnpackPremultiplyAlpha=new ar(this),this.pixelStoreUnpackFlipY=new Qr(this),this.extTextureFilterAnisotropic=z.getExtension(\"EXT_texture_filter_anisotropic\")||z.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||z.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=z.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=z.getExtension(\"OES_texture_half_float\"),this.extTextureHalfFloat&&(z.getExtension(\"OES_texture_half_float_linear\"),this.extRenderToTextureHalfFloat=z.getExtension(\"EXT_color_buffer_half_float\")),this.extTimerQuery=z.getExtension(\"EXT_disjoint_timer_query\"),this.maxTextureSize=z.getParameter(z.MAX_TEXTURE_SIZE)};Fr.prototype.setDefault=function(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()},Fr.prototype.setDirty=function(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.extVertexArrayObject&&(this.bindVertexArrayOES.dirty=!0),this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0},Fr.prototype.createIndexBuffer=function(z,K){return new ot(this,z,K)},Fr.prototype.createVertexBuffer=function(z,K,O){return new kt(this,z,K,O)},Fr.prototype.createRenderbuffer=function(z,K,O){var $=this.gl,pe=$.createRenderbuffer();return this.bindRenderbuffer.set(pe),$.renderbufferStorage($.RENDERBUFFER,z,K,O),this.bindRenderbuffer.set(null),pe},Fr.prototype.createFramebuffer=function(z,K,O){return new bi(this,z,K,O)},Fr.prototype.clear=function(z){var K=z.color,O=z.depth,$=this.gl,pe=0;K&&(pe|=$.COLOR_BUFFER_BIT,this.clearColor.set(K),this.colorMask.set([!0,!0,!0,!0])),typeof O!=\"undefined\"&&(pe|=$.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(O),this.depthMask.set(!0)),$.clear(pe)},Fr.prototype.setCullFace=function(z){z.enable===!1?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(z.mode),this.frontFace.set(z.frontFace))},Fr.prototype.setDepthMode=function(z){z.func===this.gl.ALWAYS&&!z.mask?this.depthTest.set(!1):(this.depthTest.set(!0),this.depthFunc.set(z.func),this.depthMask.set(z.mask),this.depthRange.set(z.range))},Fr.prototype.setStencilMode=function(z){z.test.func===this.gl.ALWAYS&&!z.mask?this.stencilTest.set(!1):(this.stencilTest.set(!0),this.stencilMask.set(z.mask),this.stencilOp.set([z.fail,z.depthFail,z.pass]),this.stencilFunc.set({func:z.test.func,ref:z.ref,mask:z.test.mask}))},Fr.prototype.setColorMode=function(z){i.deepEqual(z.blendFunction,ft.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(z.blendFunction),this.blendColor.set(z.blendColor)),this.colorMask.set(z.mask)},Fr.prototype.unbindVAO=function(){this.extVertexArrayObject&&this.bindVertexArrayOES.set(null)};var Zr=function(Y){function z(K,O,$){var pe=this;Y.call(this),this.id=K,this.dispatcher=$,this.on(\"data\",function(de){de.dataType===\"source\"&&de.sourceDataType===\"metadata\"&&(pe._sourceLoaded=!0),pe._sourceLoaded&&!pe._paused&&de.dataType===\"source\"&&de.sourceDataType===\"content\"&&(pe.reload(),pe.transform&&pe.update(pe.transform))}),this.on(\"error\",function(){pe._sourceErrored=!0}),this._source=Ae(K,O,$,this),this._tiles={},this._cache=new rt(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new i.SourceFeatureState}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.onAdd=function(O){this.map=O,this._maxTileCacheSize=O?O._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(O)},z.prototype.onRemove=function(O){this._source&&this._source.onRemove&&this._source.onRemove(O)},z.prototype.loaded=function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;for(var O in this._tiles){var $=this._tiles[O];if($.state!==\"loaded\"&&$.state!==\"errored\")return!1}return!0},z.prototype.getSource=function(){return this._source},z.prototype.pause=function(){this._paused=!0},z.prototype.resume=function(){if(this._paused){var O=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,O&&this.reload(),this.transform&&this.update(this.transform)}},z.prototype._loadTile=function(O,$){return this._source.loadTile(O,$)},z.prototype._unloadTile=function(O){if(this._source.unloadTile)return this._source.unloadTile(O,function(){})},z.prototype._abortTile=function(O){if(this._source.abortTile)return this._source.abortTile(O,function(){})},z.prototype.serialize=function(){return this._source.serialize()},z.prototype.prepare=function(O){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(var $ in this._tiles){var pe=this._tiles[$];pe.upload(O),pe.prepare(this.map.style.imageManager)}},z.prototype.getIds=function(){return i.values(this._tiles).map(function(O){return O.tileID}).sort(Vr).map(function(O){return O.key})},z.prototype.getRenderableIds=function(O){var $=this,pe=[];for(var de in this._tiles)this._isIdRenderable(de,O)&&pe.push(this._tiles[de]);return O?pe.sort(function(Ie,$e){var pt=Ie.tileID,Kt=$e.tileID,ir=new i.Point(pt.canonical.x,pt.canonical.y)._rotate($.transform.angle),Jt=new i.Point(Kt.canonical.x,Kt.canonical.y)._rotate($.transform.angle);return pt.overscaledZ-Kt.overscaledZ||Jt.y-ir.y||Jt.x-ir.x}).map(function(Ie){return Ie.tileID.key}):pe.map(function(Ie){return Ie.tileID}).sort(Vr).map(function(Ie){return Ie.key})},z.prototype.hasRenderableParent=function(O){var $=this.findLoadedParent(O,0);return $?this._isIdRenderable($.tileID.key):!1},z.prototype._isIdRenderable=function(O,$){return this._tiles[O]&&this._tiles[O].hasData()&&!this._coveredTiles[O]&&($||!this._tiles[O].holdingForFade())},z.prototype.reload=function(){if(this._paused){this._shouldReloadOnResume=!0;return}this._cache.reset();for(var O in this._tiles)this._tiles[O].state!==\"errored\"&&this._reloadTile(O,\"reloading\")},z.prototype._reloadTile=function(O,$){var pe=this._tiles[O];pe&&(pe.state!==\"loading\"&&(pe.state=$),this._loadTile(pe,this._tileLoaded.bind(this,pe,O,$)))},z.prototype._tileLoaded=function(O,$,pe,de){if(de){O.state=\"errored\",de.status!==404?this._source.fire(new i.ErrorEvent(de,{tile:O})):this.update(this.transform);return}O.timeAdded=i.browser.now(),pe===\"expired\"&&(O.refreshedUponExpiration=!0),this._setTileReloadTimer($,O),this.getSource().type===\"raster-dem\"&&O.dem&&this._backfillDEM(O),this._state.initializeTileState(O,this.map?this.map.painter:null),this._source.fire(new i.Event(\"data\",{dataType:\"source\",tile:O,coord:O.tileID}))},z.prototype._backfillDEM=function(O){for(var $=this.getRenderableIds(),pe=0;pe<$.length;pe++){var de=$[pe];if(O.neighboringTiles&&O.neighboringTiles[de]){var Ie=this.getTileByID(de);$e(O,Ie),$e(Ie,O)}}function $e(pt,Kt){pt.needsHillshadePrepare=!0;var ir=Kt.tileID.canonical.x-pt.tileID.canonical.x,Jt=Kt.tileID.canonical.y-pt.tileID.canonical.y,vt=Math.pow(2,pt.tileID.canonical.z),Pt=Kt.tileID.key;ir===0&&Jt===0||Math.abs(Jt)>1||(Math.abs(ir)>1&&(Math.abs(ir+vt)===1?ir+=vt:Math.abs(ir-vt)===1&&(ir-=vt)),!(!Kt.dem||!pt.dem)&&(pt.dem.backfillBorder(Kt.dem,ir,Jt),pt.neighboringTiles&&pt.neighboringTiles[Pt]&&(pt.neighboringTiles[Pt].backfilled=!0)))}},z.prototype.getTile=function(O){return this.getTileByID(O.key)},z.prototype.getTileByID=function(O){return this._tiles[O]},z.prototype._retainLoadedChildren=function(O,$,pe,de){for(var Ie in this._tiles){var $e=this._tiles[Ie];if(!(de[Ie]||!$e.hasData()||$e.tileID.overscaledZ<=$||$e.tileID.overscaledZ>pe)){for(var pt=$e.tileID;$e&&$e.tileID.overscaledZ>$+1;){var Kt=$e.tileID.scaledTo($e.tileID.overscaledZ-1);$e=this._tiles[Kt.key],$e&&$e.hasData()&&(pt=Kt)}for(var ir=pt;ir.overscaledZ>$;)if(ir=ir.scaledTo(ir.overscaledZ-1),O[ir.key]){de[pt.key]=pt;break}}}},z.prototype.findLoadedParent=function(O,$){if(O.key in this._loadedParentTiles){var pe=this._loadedParentTiles[O.key];return pe&&pe.tileID.overscaledZ>=$?pe:null}for(var de=O.overscaledZ-1;de>=$;de--){var Ie=O.scaledTo(de),$e=this._getLoadedTile(Ie);if($e)return $e}},z.prototype._getLoadedTile=function(O){var $=this._tiles[O.key];if($&&$.hasData())return $;var pe=this._cache.getByKey(O.wrapped().key);return pe},z.prototype.updateCacheSize=function(O){var $=Math.ceil(O.width/this._source.tileSize)+1,pe=Math.ceil(O.height/this._source.tileSize)+1,de=$*pe,Ie=5,$e=Math.floor(de*Ie),pt=typeof this._maxTileCacheSize==\"number\"?Math.min(this._maxTileCacheSize,$e):$e;this._cache.setMaxSize(pt)},z.prototype.handleWrapJump=function(O){var $=this._prevLng===void 0?O:this._prevLng,pe=O-$,de=pe/360,Ie=Math.round(de);if(this._prevLng=O,Ie){var $e={};for(var pt in this._tiles){var Kt=this._tiles[pt];Kt.tileID=Kt.tileID.unwrapTo(Kt.tileID.wrap+Ie),$e[Kt.tileID.key]=Kt}this._tiles=$e;for(var ir in this._timers)clearTimeout(this._timers[ir]),delete this._timers[ir];for(var Jt in this._tiles){var vt=this._tiles[Jt];this._setTileReloadTimer(Jt,vt)}}},z.prototype.update=function(O){var $=this;if(this.transform=O,!(!this._sourceLoaded||this._paused)){this.updateCacheSize(O),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={};var pe;this.used?this._source.tileID?pe=O.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(yi){return new i.OverscaledTileID(yi.canonical.z,yi.wrap,yi.canonical.z,yi.canonical.x,yi.canonical.y)}):(pe=O.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(pe=pe.filter(function(yi){return $._source.hasTile(yi)}))):pe=[];var de=O.coveringZoomLevel(this._source),Ie=Math.max(de-z.maxOverzooming,this._source.minzoom),$e=Math.max(de+z.maxUnderzooming,this._source.minzoom),pt=this._updateRetainedTiles(pe,de);if(gi(this._source.type)){for(var Kt={},ir={},Jt=Object.keys(pt),vt=0,Pt=Jt;vt<Pt.length;vt+=1){var Wt=Pt[vt],rr=pt[Wt],dr=this._tiles[Wt];if(!(!dr||dr.fadeEndTime&&dr.fadeEndTime<=i.browser.now())){var pr=this.findLoadedParent(rr,Ie);pr&&(this._addTile(pr.tileID),Kt[pr.tileID.key]=pr.tileID),ir[Wt]=rr}}this._retainLoadedChildren(ir,de,$e,pt);for(var kr in Kt)pt[kr]||(this._coveredTiles[kr]=!0,pt[kr]=Kt[kr])}for(var Ar in pt)this._tiles[Ar].clearFadeHold();for(var gr=i.keysDifference(this._tiles,pt),Cr=0,cr=gr;Cr<cr.length;Cr+=1){var Gr=cr[Cr],ei=this._tiles[Gr];ei.hasSymbolBuckets&&!ei.holdingForFade()?ei.setHoldDuration(this.map._fadeDuration):(!ei.hasSymbolBuckets||ei.symbolFadeFinished())&&this._removeTile(Gr)}this._updateLoadedParentTileCache()}},z.prototype.releaseSymbolFadeTiles=function(){for(var O in this._tiles)this._tiles[O].holdingForFade()&&this._removeTile(O)},z.prototype._updateRetainedTiles=function(O,$){for(var pe={},de={},Ie=Math.max($-z.maxOverzooming,this._source.minzoom),$e=Math.max($+z.maxUnderzooming,this._source.minzoom),pt={},Kt=0,ir=O;Kt<ir.length;Kt+=1){var Jt=ir[Kt],vt=this._addTile(Jt);pe[Jt.key]=Jt,!vt.hasData()&&$<this._source.maxzoom&&(pt[Jt.key]=Jt)}this._retainLoadedChildren(pt,$,$e,pe);for(var Pt=0,Wt=O;Pt<Wt.length;Pt+=1){var rr=Wt[Pt],dr=this._tiles[rr.key];if(!dr.hasData()){if($+1>this._source.maxzoom){var pr=rr.children(this._source.maxzoom)[0],kr=this.getTile(pr);if(kr&&kr.hasData()){pe[pr.key]=pr;continue}}else{var Ar=rr.children(this._source.maxzoom);if(pe[Ar[0].key]&&pe[Ar[1].key]&&pe[Ar[2].key]&&pe[Ar[3].key])continue}for(var gr=dr.wasRequested(),Cr=rr.overscaledZ-1;Cr>=Ie;--Cr){var cr=rr.scaledTo(Cr);if(de[cr.key]||(de[cr.key]=!0,dr=this.getTile(cr),!dr&&gr&&(dr=this._addTile(cr)),dr&&(pe[cr.key]=cr,gr=dr.wasRequested(),dr.hasData())))break}}}return pe},z.prototype._updateLoadedParentTileCache=function(){this._loadedParentTiles={};for(var O in this._tiles){for(var $=[],pe=void 0,de=this._tiles[O].tileID;de.overscaledZ>0;){if(de.key in this._loadedParentTiles){pe=this._loadedParentTiles[de.key];break}$.push(de.key);var Ie=de.scaledTo(de.overscaledZ-1);if(pe=this._getLoadedTile(Ie),pe)break;de=Ie}for(var $e=0,pt=$;$e<pt.length;$e+=1){var Kt=pt[$e];this._loadedParentTiles[Kt]=pe}}},z.prototype._addTile=function(O){var $=this._tiles[O.key];if($)return $;$=this._cache.getAndRemove(O),$&&(this._setTileReloadTimer(O.key,$),$.tileID=O,this._state.initializeTileState($,this.map?this.map.painter:null),this._cacheTimers[O.key]&&(clearTimeout(this._cacheTimers[O.key]),delete this._cacheTimers[O.key],this._setTileReloadTimer(O.key,$)));var pe=!!$;return pe||($=new i.Tile(O,this._source.tileSize*O.overscaleFactor()),this._loadTile($,this._tileLoaded.bind(this,$,O.key,$.state))),$?($.uses++,this._tiles[O.key]=$,pe||this._source.fire(new i.Event(\"dataloading\",{tile:$,coord:$.tileID,dataType:\"source\"})),$):null},z.prototype._setTileReloadTimer=function(O,$){var pe=this;O in this._timers&&(clearTimeout(this._timers[O]),delete this._timers[O]);var de=$.getExpiryTimeout();de&&(this._timers[O]=setTimeout(function(){pe._reloadTile(O,\"expired\"),delete pe._timers[O]},de))},z.prototype._removeTile=function(O){var $=this._tiles[O];$&&($.uses--,delete this._tiles[O],this._timers[O]&&(clearTimeout(this._timers[O]),delete this._timers[O]),!($.uses>0)&&($.hasData()&&$.state!==\"reloading\"?this._cache.add($.tileID,$,$.getExpiryTimeout()):($.aborted=!0,this._abortTile($),this._unloadTile($))))},z.prototype.clearTiles=function(){this._shouldReloadOnResume=!1,this._paused=!1;for(var O in this._tiles)this._removeTile(O);this._cache.reset()},z.prototype.tilesIn=function(O,$,pe){var de=this,Ie=[],$e=this.transform;if(!$e)return Ie;for(var pt=pe?$e.getCameraQueryGeometry(O):O,Kt=O.map(function(Cr){return $e.pointCoordinate(Cr)}),ir=pt.map(function(Cr){return $e.pointCoordinate(Cr)}),Jt=this.getIds(),vt=1/0,Pt=1/0,Wt=-1/0,rr=-1/0,dr=0,pr=ir;dr<pr.length;dr+=1){var kr=pr[dr];vt=Math.min(vt,kr.x),Pt=Math.min(Pt,kr.y),Wt=Math.max(Wt,kr.x),rr=Math.max(rr,kr.y)}for(var Ar=function(Cr){var cr=de._tiles[Jt[Cr]];if(!cr.holdingForFade()){var Gr=cr.tileID,ei=Math.pow(2,$e.zoom-cr.tileID.overscaledZ),yi=$*cr.queryPadding*i.EXTENT/cr.tileSize/ei,tn=[Gr.getTilePoint(new i.MercatorCoordinate(vt,Pt)),Gr.getTilePoint(new i.MercatorCoordinate(Wt,rr))];if(tn[0].x-yi<i.EXTENT&&tn[0].y-yi<i.EXTENT&&tn[1].x+yi>=0&&tn[1].y+yi>=0){var Ri=Kt.map(function(Qn){return Gr.getTilePoint(Qn)}),ln=ir.map(function(Qn){return Gr.getTilePoint(Qn)});Ie.push({tile:cr,tileID:Gr,queryGeometry:Ri,cameraQueryGeometry:ln,scale:ei})}}},gr=0;gr<Jt.length;gr++)Ar(gr);return Ie},z.prototype.getVisibleCoordinates=function(O){for(var $=this,pe=this.getRenderableIds(O).map(function(pt){return $._tiles[pt].tileID}),de=0,Ie=pe;de<Ie.length;de+=1){var $e=Ie[de];$e.posMatrix=this.transform.calculatePosMatrix($e.toUnwrapped())}return pe},z.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(gi(this._source.type))for(var O in this._tiles){var $=this._tiles[O];if($.fadeEndTime!==void 0&&$.fadeEndTime>=i.browser.now())return!0}return!1},z.prototype.setFeatureState=function(O,$,pe){O=O||\"_geojsonTileLayer\",this._state.updateState(O,$,pe)},z.prototype.removeFeatureState=function(O,$,pe){O=O||\"_geojsonTileLayer\",this._state.removeFeatureState(O,$,pe)},z.prototype.getFeatureState=function(O,$){return O=O||\"_geojsonTileLayer\",this._state.getState(O,$)},z.prototype.setDependencies=function(O,$,pe){var de=this._tiles[O];de&&de.setDependencies($,pe)},z.prototype.reloadTilesForDependencies=function(O,$){for(var pe in this._tiles){var de=this._tiles[pe];de.hasDependency(O,$)&&this._reloadTile(pe,\"reloading\")}this._cache.filter(function(Ie){return!Ie.hasDependency(O,$)})},z}(i.Evented);Zr.maxOverzooming=10,Zr.maxUnderzooming=3;function Vr(Y,z){var K=Math.abs(Y.wrap*2)-+(Y.wrap<0),O=Math.abs(z.wrap*2)-+(z.wrap<0);return Y.overscaledZ-z.overscaledZ||O-K||z.canonical.y-Y.canonical.y||z.canonical.x-Y.canonical.x}function gi(Y){return Y===\"raster\"||Y===\"image\"||Y===\"video\"}function Si(){return new i.window.Worker(ns.workerUrl)}var Mi=\"mapboxgl_preloaded_worker_pool\",Pi=function(){this.active={}};Pi.prototype.acquire=function(z){if(!this.workers)for(this.workers=[];this.workers.length<Pi.workerCount;)this.workers.push(new Si);return this.active[z]=!0,this.workers.slice()},Pi.prototype.release=function(z){delete this.active[z],this.numActive()===0&&(this.workers.forEach(function(K){K.terminate()}),this.workers=null)},Pi.prototype.isPreloaded=function(){return!!this.active[Mi]},Pi.prototype.numActive=function(){return Object.keys(this.active).length};var Gi=Math.floor(i.browser.hardwareConcurrency/2);Pi.workerCount=Math.max(Math.min(Gi,6),1);var Ki;function ka(){return Ki||(Ki=new Pi),Ki}function jn(){var Y=ka();Y.acquire(Mi)}function la(){var Y=Ki;Y&&(Y.isPreloaded()&&Y.numActive()===1?(Y.release(Mi),Ki=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()\"))}function Fa(Y,z){var K={};for(var O in Y)O!==\"ref\"&&(K[O]=Y[O]);return i.refProperties.forEach(function($){$ in z&&(K[$]=z[$])}),K}function Ra(Y){Y=Y.slice();for(var z=Object.create(null),K=0;K<Y.length;K++)z[Y[K].id]=Y[K];for(var O=0;O<Y.length;O++)\"ref\"in Y[O]&&(Y[O]=Fa(Y[O],z[Y[O].ref]));return Y}function jo(){var Y={},z=i.styleSpec.$version;for(var K in i.styleSpec.$root){var O=i.styleSpec.$root[K];if(O.required){var $=null;K===\"version\"?$=z:O.type===\"array\"?$=[]:$={},$!=null&&(Y[K]=$)}}return Y}var oa={setStyle:\"setStyle\",addLayer:\"addLayer\",removeLayer:\"removeLayer\",setPaintProperty:\"setPaintProperty\",setLayoutProperty:\"setLayoutProperty\",setFilter:\"setFilter\",addSource:\"addSource\",removeSource:\"removeSource\",setGeoJSONSourceData:\"setGeoJSONSourceData\",setLayerZoomRange:\"setLayerZoomRange\",setLayerProperty:\"setLayerProperty\",setCenter:\"setCenter\",setZoom:\"setZoom\",setBearing:\"setBearing\",setPitch:\"setPitch\",setSprite:\"setSprite\",setGlyphs:\"setGlyphs\",setTransition:\"setTransition\",setLight:\"setLight\"};function Sn(Y,z,K){K.push({command:oa.addSource,args:[Y,z[Y]]})}function Ha(Y,z,K){z.push({command:oa.removeSource,args:[Y]}),K[Y]=!0}function oo(Y,z,K,O){Ha(Y,K,O),Sn(Y,z,K)}function xn(Y,z,K){var O;for(O in Y[K])if(Y[K].hasOwnProperty(O)&&O!==\"data\"&&!i.deepEqual(Y[K][O],z[K][O]))return!1;for(O in z[K])if(z[K].hasOwnProperty(O)&&O!==\"data\"&&!i.deepEqual(Y[K][O],z[K][O]))return!1;return!0}function _t(Y,z,K,O){Y=Y||{},z=z||{};var $;for($ in Y)Y.hasOwnProperty($)&&(z.hasOwnProperty($)||Ha($,K,O));for($ in z)z.hasOwnProperty($)&&(Y.hasOwnProperty($)?i.deepEqual(Y[$],z[$])||(Y[$].type===\"geojson\"&&z[$].type===\"geojson\"&&xn(Y,z,$)?K.push({command:oa.setGeoJSONSourceData,args:[$,z[$].data]}):oo($,z,K,O)):Sn($,z,K))}function br(Y,z,K,O,$,pe){Y=Y||{},z=z||{};var de;for(de in Y)Y.hasOwnProperty(de)&&(i.deepEqual(Y[de],z[de])||K.push({command:pe,args:[O,de,z[de],$]}));for(de in z)!z.hasOwnProperty(de)||Y.hasOwnProperty(de)||i.deepEqual(Y[de],z[de])||K.push({command:pe,args:[O,de,z[de],$]})}function Hr(Y){return Y.id}function ti(Y,z){return Y[z.id]=z,Y}function zi(Y,z,K){Y=Y||[],z=z||[];var O=Y.map(Hr),$=z.map(Hr),pe=Y.reduce(ti,{}),de=z.reduce(ti,{}),Ie=O.slice(),$e=Object.create(null),pt,Kt,ir,Jt,vt,Pt,Wt;for(pt=0,Kt=0;pt<O.length;pt++)ir=O[pt],de.hasOwnProperty(ir)?Kt++:(K.push({command:oa.removeLayer,args:[ir]}),Ie.splice(Ie.indexOf(ir,Kt),1));for(pt=0,Kt=0;pt<$.length;pt++)ir=$[$.length-1-pt],Ie[Ie.length-1-pt]!==ir&&(pe.hasOwnProperty(ir)?(K.push({command:oa.removeLayer,args:[ir]}),Ie.splice(Ie.lastIndexOf(ir,Ie.length-Kt),1)):Kt++,Pt=Ie[Ie.length-pt],K.push({command:oa.addLayer,args:[de[ir],Pt]}),Ie.splice(Ie.length-pt,0,ir),$e[ir]=!0);for(pt=0;pt<$.length;pt++)if(ir=$[pt],Jt=pe[ir],vt=de[ir],!($e[ir]||i.deepEqual(Jt,vt))){if(!i.deepEqual(Jt.source,vt.source)||!i.deepEqual(Jt[\"source-layer\"],vt[\"source-layer\"])||!i.deepEqual(Jt.type,vt.type)){K.push({command:oa.removeLayer,args:[ir]}),Pt=Ie[Ie.lastIndexOf(ir)+1],K.push({command:oa.addLayer,args:[vt,Pt]});continue}br(Jt.layout,vt.layout,K,ir,null,oa.setLayoutProperty),br(Jt.paint,vt.paint,K,ir,null,oa.setPaintProperty),i.deepEqual(Jt.filter,vt.filter)||K.push({command:oa.setFilter,args:[ir,vt.filter]}),(!i.deepEqual(Jt.minzoom,vt.minzoom)||!i.deepEqual(Jt.maxzoom,vt.maxzoom))&&K.push({command:oa.setLayerZoomRange,args:[ir,vt.minzoom,vt.maxzoom]});for(Wt in Jt)Jt.hasOwnProperty(Wt)&&(Wt===\"layout\"||Wt===\"paint\"||Wt===\"filter\"||Wt===\"metadata\"||Wt===\"minzoom\"||Wt===\"maxzoom\"||(Wt.indexOf(\"paint.\")===0?br(Jt[Wt],vt[Wt],K,ir,Wt.slice(6),oa.setPaintProperty):i.deepEqual(Jt[Wt],vt[Wt])||K.push({command:oa.setLayerProperty,args:[ir,Wt,vt[Wt]]})));for(Wt in vt)!vt.hasOwnProperty(Wt)||Jt.hasOwnProperty(Wt)||Wt===\"layout\"||Wt===\"paint\"||Wt===\"filter\"||Wt===\"metadata\"||Wt===\"minzoom\"||Wt===\"maxzoom\"||(Wt.indexOf(\"paint.\")===0?br(Jt[Wt],vt[Wt],K,ir,Wt.slice(6),oa.setPaintProperty):i.deepEqual(Jt[Wt],vt[Wt])||K.push({command:oa.setLayerProperty,args:[ir,Wt,vt[Wt]]}))}}function Yi(Y,z){if(!Y)return[{command:oa.setStyle,args:[z]}];var K=[];try{if(!i.deepEqual(Y.version,z.version))return[{command:oa.setStyle,args:[z]}];i.deepEqual(Y.center,z.center)||K.push({command:oa.setCenter,args:[z.center]}),i.deepEqual(Y.zoom,z.zoom)||K.push({command:oa.setZoom,args:[z.zoom]}),i.deepEqual(Y.bearing,z.bearing)||K.push({command:oa.setBearing,args:[z.bearing]}),i.deepEqual(Y.pitch,z.pitch)||K.push({command:oa.setPitch,args:[z.pitch]}),i.deepEqual(Y.sprite,z.sprite)||K.push({command:oa.setSprite,args:[z.sprite]}),i.deepEqual(Y.glyphs,z.glyphs)||K.push({command:oa.setGlyphs,args:[z.glyphs]}),i.deepEqual(Y.transition,z.transition)||K.push({command:oa.setTransition,args:[z.transition]}),i.deepEqual(Y.light,z.light)||K.push({command:oa.setLight,args:[z.light]});var O={},$=[];_t(Y.sources,z.sources,$,O);var pe=[];Y.layers&&Y.layers.forEach(function(de){O[de.source]?K.push({command:oa.removeLayer,args:[de.id]}):pe.push(de)}),K=K.concat($),zi(pe,z.layers,K)}catch(de){console.warn(\"Unable to compute style diff:\",de),K=[{command:oa.setStyle,args:[z]}]}return K}var an=function(z,K){this.reset(z,K)};an.prototype.reset=function(z,K){this.points=z||[],this._distances=[0];for(var O=1;O<this.points.length;O++)this._distances[O]=this._distances[O-1]+this.points[O].dist(this.points[O-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(K||0,this.length*.5),this.paddedLength=this.length-this.padding*2},an.prototype.lerp=function(z){if(this.points.length===1)return this.points[0];z=i.clamp(z,0,1);for(var K=1,O=this._distances[K],$=z*this.paddedLength+this.padding;O<$&&K<this._distances.length;)O=this._distances[++K];var pe=K-1,de=this._distances[pe],Ie=O-de,$e=Ie>0?($-de)/Ie:0;return this.points[pe].mult(1-$e).add(this.points[K].mult($e))};var hi=function(z,K,O){var $=this.boxCells=[],pe=this.circleCells=[];this.xCellCount=Math.ceil(z/O),this.yCellCount=Math.ceil(K/O);for(var de=0;de<this.xCellCount*this.yCellCount;de++)$.push([]),pe.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=z,this.height=K,this.xScale=this.xCellCount/z,this.yScale=this.yCellCount/K,this.boxUid=0,this.circleUid=0};hi.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},hi.prototype.insert=function(z,K,O,$,pe){this._forEachCell(K,O,$,pe,this._insertBoxCell,this.boxUid++),this.boxKeys.push(z),this.bboxes.push(K),this.bboxes.push(O),this.bboxes.push($),this.bboxes.push(pe)},hi.prototype.insertCircle=function(z,K,O,$){this._forEachCell(K-$,O-$,K+$,O+$,this._insertCircleCell,this.circleUid++),this.circleKeys.push(z),this.circles.push(K),this.circles.push(O),this.circles.push($)},hi.prototype._insertBoxCell=function(z,K,O,$,pe,de){this.boxCells[pe].push(de)},hi.prototype._insertCircleCell=function(z,K,O,$,pe,de){this.circleCells[pe].push(de)},hi.prototype._query=function(z,K,O,$,pe,de){if(O<0||z>this.width||$<0||K>this.height)return pe?!1:[];var Ie=[];if(z<=0&&K<=0&&this.width<=O&&this.height<=$){if(pe)return!0;for(var $e=0;$e<this.boxKeys.length;$e++)Ie.push({key:this.boxKeys[$e],x1:this.bboxes[$e*4],y1:this.bboxes[$e*4+1],x2:this.bboxes[$e*4+2],y2:this.bboxes[$e*4+3]});for(var pt=0;pt<this.circleKeys.length;pt++){var Kt=this.circles[pt*3],ir=this.circles[pt*3+1],Jt=this.circles[pt*3+2];Ie.push({key:this.circleKeys[pt],x1:Kt-Jt,y1:ir-Jt,x2:Kt+Jt,y2:ir+Jt})}return de?Ie.filter(de):Ie}else{var vt={hitTest:pe,seenUids:{box:{},circle:{}}};return this._forEachCell(z,K,O,$,this._queryCell,Ie,vt,de),pe?Ie.length>0:Ie}},hi.prototype._queryCircle=function(z,K,O,$,pe){var de=z-O,Ie=z+O,$e=K-O,pt=K+O;if(Ie<0||de>this.width||pt<0||$e>this.height)return $?!1:[];var Kt=[],ir={hitTest:$,circle:{x:z,y:K,radius:O},seenUids:{box:{},circle:{}}};return this._forEachCell(de,$e,Ie,pt,this._queryCellCircle,Kt,ir,pe),$?Kt.length>0:Kt},hi.prototype.query=function(z,K,O,$,pe){return this._query(z,K,O,$,!1,pe)},hi.prototype.hitTest=function(z,K,O,$,pe){return this._query(z,K,O,$,!0,pe)},hi.prototype.hitTestCircle=function(z,K,O,$){return this._queryCircle(z,K,O,!0,$)},hi.prototype._queryCell=function(z,K,O,$,pe,de,Ie,$e){var pt=Ie.seenUids,Kt=this.boxCells[pe];if(Kt!==null)for(var ir=this.bboxes,Jt=0,vt=Kt;Jt<vt.length;Jt+=1){var Pt=vt[Jt];if(!pt.box[Pt]){pt.box[Pt]=!0;var Wt=Pt*4;if(z<=ir[Wt+2]&&K<=ir[Wt+3]&&O>=ir[Wt+0]&&$>=ir[Wt+1]&&(!$e||$e(this.boxKeys[Pt]))){if(Ie.hitTest)return de.push(!0),!0;de.push({key:this.boxKeys[Pt],x1:ir[Wt],y1:ir[Wt+1],x2:ir[Wt+2],y2:ir[Wt+3]})}}}var rr=this.circleCells[pe];if(rr!==null)for(var dr=this.circles,pr=0,kr=rr;pr<kr.length;pr+=1){var Ar=kr[pr];if(!pt.circle[Ar]){pt.circle[Ar]=!0;var gr=Ar*3;if(this._circleAndRectCollide(dr[gr],dr[gr+1],dr[gr+2],z,K,O,$)&&(!$e||$e(this.circleKeys[Ar]))){if(Ie.hitTest)return de.push(!0),!0;var Cr=dr[gr],cr=dr[gr+1],Gr=dr[gr+2];de.push({key:this.circleKeys[Ar],x1:Cr-Gr,y1:cr-Gr,x2:Cr+Gr,y2:cr+Gr})}}}},hi.prototype._queryCellCircle=function(z,K,O,$,pe,de,Ie,$e){var pt=Ie.circle,Kt=Ie.seenUids,ir=this.boxCells[pe];if(ir!==null)for(var Jt=this.bboxes,vt=0,Pt=ir;vt<Pt.length;vt+=1){var Wt=Pt[vt];if(!Kt.box[Wt]){Kt.box[Wt]=!0;var rr=Wt*4;if(this._circleAndRectCollide(pt.x,pt.y,pt.radius,Jt[rr+0],Jt[rr+1],Jt[rr+2],Jt[rr+3])&&(!$e||$e(this.boxKeys[Wt])))return de.push(!0),!0}}var dr=this.circleCells[pe];if(dr!==null)for(var pr=this.circles,kr=0,Ar=dr;kr<Ar.length;kr+=1){var gr=Ar[kr];if(!Kt.circle[gr]){Kt.circle[gr]=!0;var Cr=gr*3;if(this._circlesCollide(pr[Cr],pr[Cr+1],pr[Cr+2],pt.x,pt.y,pt.radius)&&(!$e||$e(this.circleKeys[gr])))return de.push(!0),!0}}},hi.prototype._forEachCell=function(z,K,O,$,pe,de,Ie,$e){for(var pt=this._convertToXCellCoord(z),Kt=this._convertToYCellCoord(K),ir=this._convertToXCellCoord(O),Jt=this._convertToYCellCoord($),vt=pt;vt<=ir;vt++)for(var Pt=Kt;Pt<=Jt;Pt++){var Wt=this.xCellCount*Pt+vt;if(pe.call(this,z,K,O,$,Wt,de,Ie,$e))return}},hi.prototype._convertToXCellCoord=function(z){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(z*this.xScale)))},hi.prototype._convertToYCellCoord=function(z){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(z*this.yScale)))},hi.prototype._circlesCollide=function(z,K,O,$,pe,de){var Ie=$-z,$e=pe-K,pt=O+de;return pt*pt>Ie*Ie+$e*$e},hi.prototype._circleAndRectCollide=function(z,K,O,$,pe,de,Ie){var $e=(de-$)/2,pt=Math.abs(z-($+$e));if(pt>$e+O)return!1;var Kt=(Ie-pe)/2,ir=Math.abs(K-(pe+Kt));if(ir>Kt+O)return!1;if(pt<=$e||ir<=Kt)return!0;var Jt=pt-$e,vt=ir-Kt;return Jt*Jt+vt*vt<=O*O};function Ji(Y,z,K,O,$){var pe=i.create();return z?(i.scale(pe,pe,[1/$,1/$,1]),K||i.rotateZ(pe,pe,O.angle)):i.multiply(pe,O.labelPlaneMatrix,Y),pe}function ua(Y,z,K,O,$){if(z){var pe=i.clone(Y);return i.scale(pe,pe,[$,$,1]),K||i.rotateZ(pe,pe,-O.angle),pe}else return O.glCoordMatrix}function Fn(Y,z){var K=[Y.x,Y.y,0,1];wl(K,K,z);var O=K[3];return{point:new i.Point(K[0]/O,K[1]/O),signedDistanceFromCamera:O}}function Sa(Y,z){return .5+.5*(Y/z)}function go(Y,z){var K=Y[0]/Y[3],O=Y[1]/Y[3],$=K>=-z[0]&&K<=z[0]&&O>=-z[1]&&O<=z[1];return $}function Oo(Y,z,K,O,$,pe,de,Ie){var $e=O?Y.textSizeData:Y.iconSizeData,pt=i.evaluateSizeForZoom($e,K.transform.zoom),Kt=[256/K.width*2+1,256/K.height*2+1],ir=O?Y.text.dynamicLayoutVertexArray:Y.icon.dynamicLayoutVertexArray;ir.clear();for(var Jt=Y.lineVertexArray,vt=O?Y.text.placedSymbolArray:Y.icon.placedSymbolArray,Pt=K.transform.width/K.transform.height,Wt=!1,rr=0;rr<vt.length;rr++){var dr=vt.get(rr);if(dr.hidden||dr.writingMode===i.WritingMode.vertical&&!Wt){Xs(dr.numGlyphs,ir);continue}Wt=!1;var pr=[dr.anchorX,dr.anchorY,0,1];if(i.transformMat4(pr,pr,z),!go(pr,Kt)){Xs(dr.numGlyphs,ir);continue}var kr=pr[3],Ar=Sa(K.transform.cameraToCenterDistance,kr),gr=i.evaluateSizeForFeature($e,pt,dr),Cr=de?gr/Ar:gr*Ar,cr=new i.Point(dr.anchorX,dr.anchorY),Gr=Fn(cr,$).point,ei={},yi=xo(dr,Cr,!1,Ie,z,$,pe,Y.glyphOffsetArray,Jt,ir,Gr,cr,ei,Pt);Wt=yi.useVertical,(yi.notEnoughRoom||Wt||yi.needsFlipping&&xo(dr,Cr,!0,Ie,z,$,pe,Y.glyphOffsetArray,Jt,ir,Gr,cr,ei,Pt).notEnoughRoom)&&Xs(dr.numGlyphs,ir)}O?Y.text.dynamicLayoutVertexBuffer.updateData(ir):Y.icon.dynamicLayoutVertexBuffer.updateData(ir)}function ho(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt){var ir=Ie.glyphStartIndex+Ie.numGlyphs,Jt=Ie.lineStartIndex,vt=Ie.lineStartIndex+Ie.lineLength,Pt=z.getoffsetX(Ie.glyphStartIndex),Wt=z.getoffsetX(ir-1),rr=ks(Y*Pt,K,O,$,pe,de,Ie.segment,Jt,vt,$e,pt,Kt);if(!rr)return null;var dr=ks(Y*Wt,K,O,$,pe,de,Ie.segment,Jt,vt,$e,pt,Kt);return dr?{first:rr,last:dr}:null}function Mo(Y,z,K,O){if(Y===i.WritingMode.horizontal){var $=Math.abs(K.y-z.y),pe=Math.abs(K.x-z.x)*O;if($>pe)return{useVertical:!0}}return(Y===i.WritingMode.vertical?z.y<K.y:z.x>K.x)?{needsFlipping:!0}:null}function xo(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt,ir,Jt,vt){var Pt=z/24,Wt=Y.lineOffsetX*Pt,rr=Y.lineOffsetY*Pt,dr;if(Y.numGlyphs>1){var pr=Y.glyphStartIndex+Y.numGlyphs,kr=Y.lineStartIndex,Ar=Y.lineStartIndex+Y.lineLength,gr=ho(Pt,Ie,Wt,rr,K,Kt,ir,Y,$e,pe,Jt);if(!gr)return{notEnoughRoom:!0};var Cr=Fn(gr.first.point,de).point,cr=Fn(gr.last.point,de).point;if(O&&!K){var Gr=Mo(Y.writingMode,Cr,cr,vt);if(Gr)return Gr}dr=[gr.first];for(var ei=Y.glyphStartIndex+1;ei<pr-1;ei++)dr.push(ks(Pt*Ie.getoffsetX(ei),Wt,rr,K,Kt,ir,Y.segment,kr,Ar,$e,pe,Jt));dr.push(gr.last)}else{if(O&&!K){var yi=Fn(ir,$).point,tn=Y.lineStartIndex+Y.segment+1,Ri=new i.Point($e.getx(tn),$e.gety(tn)),ln=Fn(Ri,$),Qn=ln.signedDistanceFromCamera>0?ln.point:zs(ir,Ri,yi,1,$),qn=Mo(Y.writingMode,yi,Qn,vt);if(qn)return qn}var rn=ks(Pt*Ie.getoffsetX(Y.glyphStartIndex),Wt,rr,K,Kt,ir,Y.segment,Y.lineStartIndex,Y.lineStartIndex+Y.lineLength,$e,pe,Jt);if(!rn)return{notEnoughRoom:!0};dr=[rn]}for(var bn=0,mn=dr;bn<mn.length;bn+=1){var Gn=mn[bn];i.addDynamicAttributes(pt,Gn.point,Gn.angle)}return{}}function zs(Y,z,K,O,$){var pe=Fn(Y.add(Y.sub(z)._unit()),$).point,de=K.sub(pe);return K.add(de._mult(O/de.mag()))}function ks(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt,ir){var Jt=O?Y-z:Y+z,vt=Jt>0?1:-1,Pt=0;O&&(vt*=-1,Pt=Math.PI),vt<0&&(Pt+=Math.PI);for(var Wt=vt>0?Ie+de:Ie+de+1,rr=$,dr=$,pr=0,kr=0,Ar=Math.abs(Jt),gr=[];pr+kr<=Ar;){if(Wt+=vt,Wt<Ie||Wt>=$e)return null;if(dr=rr,gr.push(rr),rr=ir[Wt],rr===void 0){var Cr=new i.Point(pt.getx(Wt),pt.gety(Wt)),cr=Fn(Cr,Kt);if(cr.signedDistanceFromCamera>0)rr=ir[Wt]=cr.point;else{var Gr=Wt-vt,ei=pr===0?pe:new i.Point(pt.getx(Gr),pt.gety(Gr));rr=zs(ei,Cr,dr,Ar-pr+1,Kt)}}pr+=kr,kr=dr.dist(rr)}var yi=(Ar-pr)/kr,tn=rr.sub(dr),Ri=tn.mult(yi)._add(dr);Ri._add(tn._unit()._perp()._mult(K*vt));var ln=Pt+Math.atan2(rr.y-dr.y,rr.x-dr.x);return gr.push(Ri),{point:Ri,angle:ln,path:gr}}var Zs=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Xs(Y,z){for(var K=0;K<Y;K++){var O=z.length;z.resize(O+4),z.float32.set(Zs,O*3)}}function wl(Y,z,K){var O=z[0],$=z[1];return Y[0]=K[0]*O+K[4]*$+K[12],Y[1]=K[1]*O+K[5]*$+K[13],Y[3]=K[3]*O+K[7]*$+K[15],Y}var os=100,cl=function(z,K,O){K===void 0&&(K=new hi(z.width+2*os,z.height+2*os,25)),O===void 0&&(O=new hi(z.width+2*os,z.height+2*os,25)),this.transform=z,this.grid=K,this.ignoredGrid=O,this.pitchfactor=Math.cos(z._pitch)*z.cameraToCenterDistance,this.screenRightBoundary=z.width+os,this.screenBottomBoundary=z.height+os,this.gridRightBoundary=z.width+2*os,this.gridBottomBoundary=z.height+2*os};cl.prototype.placeCollisionBox=function(z,K,O,$,pe){var de=this.projectAndGetPerspectiveRatio($,z.anchorPointX,z.anchorPointY),Ie=O*de.perspectiveRatio,$e=z.x1*Ie+de.point.x,pt=z.y1*Ie+de.point.y,Kt=z.x2*Ie+de.point.x,ir=z.y2*Ie+de.point.y;return!this.isInsideGrid($e,pt,Kt,ir)||!K&&this.grid.hitTest($e,pt,Kt,ir,pe)?{box:[],offscreen:!1}:{box:[$e,pt,Kt,ir],offscreen:this.isOffscreen($e,pt,Kt,ir)}},cl.prototype.placeCollisionCircles=function(z,K,O,$,pe,de,Ie,$e,pt,Kt,ir,Jt,vt){var Pt=[],Wt=new i.Point(K.anchorX,K.anchorY),rr=Fn(Wt,de),dr=Sa(this.transform.cameraToCenterDistance,rr.signedDistanceFromCamera),pr=Kt?pe/dr:pe*dr,kr=pr/i.ONE_EM,Ar=Fn(Wt,Ie).point,gr={},Cr=K.lineOffsetX*kr,cr=K.lineOffsetY*kr,Gr=ho(kr,$,Cr,cr,!1,Ar,Wt,K,O,Ie,gr),ei=!1,yi=!1,tn=!0;if(Gr){for(var Ri=Jt*.5*dr+vt,ln=new i.Point(-os,-os),Qn=new i.Point(this.screenRightBoundary,this.screenBottomBoundary),qn=new an,rn=Gr.first,bn=Gr.last,mn=[],Gn=rn.path.length-1;Gn>=1;Gn--)mn.push(rn.path[Gn]);for(var da=1;da<bn.path.length;da++)mn.push(bn.path[da]);var No=Ri*2.5;if($e){var Do=mn.map(function(Cv){return Fn(Cv,$e)});Do.some(function(Cv){return Cv.signedDistanceFromCamera<=0})?mn=[]:mn=Do.map(function(Cv){return Cv.point})}var ps=[];if(mn.length>0){for(var fo=mn[0].clone(),as=mn[0].clone(),tl=1;tl<mn.length;tl++)fo.x=Math.min(fo.x,mn[tl].x),fo.y=Math.min(fo.y,mn[tl].y),as.x=Math.max(as.x,mn[tl].x),as.y=Math.max(as.y,mn[tl].y);fo.x>=ln.x&&as.x<=Qn.x&&fo.y>=ln.y&&as.y<=Qn.y?ps=[mn]:as.x<ln.x||fo.x>Qn.x||as.y<ln.y||fo.y>Qn.y?ps=[]:ps=i.clipLine([mn],ln.x,ln.y,Qn.x,Qn.y)}for(var zu=0,Mv=ps;zu<Mv.length;zu+=1){var Ev=Mv[zu];qn.reset(Ev,Ri*.25);var yd=0;qn.length<=.5*Ri?yd=1:yd=Math.ceil(qn.paddedLength/No)+1;for(var Yv=0;Yv<yd;Yv++){var cg=Yv/Math.max(yd-1,1),vp=qn.lerp(cg),_d=vp.x+os,pp=vp.y+os;Pt.push(_d,pp,Ri,0);var Nd=_d-Ri,xd=pp-Ri,kv=_d+Ri,Kv=pp+Ri;if(tn=tn&&this.isOffscreen(Nd,xd,kv,Kv),yi=yi||this.isInsideGrid(Nd,xd,kv,Kv),!z&&this.grid.hitTestCircle(_d,pp,Ri,ir)&&(ei=!0,!pt))return{circles:[],offscreen:!1,collisionDetected:ei}}}}return{circles:!pt&&ei||!yi?[]:Pt,offscreen:tn,collisionDetected:ei}},cl.prototype.queryRenderedSymbols=function(z){if(z.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};for(var K=[],O=1/0,$=1/0,pe=-1/0,de=-1/0,Ie=0,$e=z;Ie<$e.length;Ie+=1){var pt=$e[Ie],Kt=new i.Point(pt.x+os,pt.y+os);O=Math.min(O,Kt.x),$=Math.min($,Kt.y),pe=Math.max(pe,Kt.x),de=Math.max(de,Kt.y),K.push(Kt)}for(var ir=this.grid.query(O,$,pe,de).concat(this.ignoredGrid.query(O,$,pe,de)),Jt={},vt={},Pt=0,Wt=ir;Pt<Wt.length;Pt+=1){var rr=Wt[Pt],dr=rr.key;if(Jt[dr.bucketInstanceId]===void 0&&(Jt[dr.bucketInstanceId]={}),!Jt[dr.bucketInstanceId][dr.featureIndex]){var pr=[new i.Point(rr.x1,rr.y1),new i.Point(rr.x2,rr.y1),new i.Point(rr.x2,rr.y2),new i.Point(rr.x1,rr.y2)];i.polygonIntersectsPolygon(K,pr)&&(Jt[dr.bucketInstanceId][dr.featureIndex]=!0,vt[dr.bucketInstanceId]===void 0&&(vt[dr.bucketInstanceId]=[]),vt[dr.bucketInstanceId].push(dr.featureIndex))}}return vt},cl.prototype.insertCollisionBox=function(z,K,O,$,pe){var de=K?this.ignoredGrid:this.grid,Ie={bucketInstanceId:O,featureIndex:$,collisionGroupID:pe};de.insert(Ie,z[0],z[1],z[2],z[3])},cl.prototype.insertCollisionCircles=function(z,K,O,$,pe){for(var de=K?this.ignoredGrid:this.grid,Ie={bucketInstanceId:O,featureIndex:$,collisionGroupID:pe},$e=0;$e<z.length;$e+=4)de.insertCircle(Ie,z[$e],z[$e+1],z[$e+2])},cl.prototype.projectAndGetPerspectiveRatio=function(z,K,O){var $=[K,O,0,1];wl($,$,z);var pe=new i.Point(($[0]/$[3]+1)/2*this.transform.width+os,(-$[1]/$[3]+1)/2*this.transform.height+os);return{point:pe,perspectiveRatio:.5+.5*(this.transform.cameraToCenterDistance/$[3])}},cl.prototype.isOffscreen=function(z,K,O,$){return O<os||z>=this.screenRightBoundary||$<os||K>this.screenBottomBoundary},cl.prototype.isInsideGrid=function(z,K,O,$){return O>=0&&z<this.gridRightBoundary&&$>=0&&K<this.gridBottomBoundary},cl.prototype.getViewportMatrix=function(){var z=i.identity([]);return i.translate(z,z,[-os,-os,0]),z};function Cs(Y,z,K){return z*(i.EXTENT/(Y.tileSize*Math.pow(2,K-Y.tileID.overscaledZ)))}var ml=function(z,K,O,$){z?this.opacity=Math.max(0,Math.min(1,z.opacity+(z.placed?K:-K))):this.opacity=$&&O?1:0,this.placed=O};ml.prototype.isHidden=function(){return this.opacity===0&&!this.placed};var Ys=function(z,K,O,$,pe){this.text=new ml(z?z.text:null,K,O,pe),this.icon=new ml(z?z.icon:null,K,$,pe)};Ys.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var Hs=function(z,K,O){this.text=z,this.icon=K,this.skipFade=O},Eo=function(){this.invProjMatrix=i.create(),this.viewportMatrix=i.create(),this.circles=[]},fs=function(z,K,O,$,pe){this.bucketInstanceId=z,this.featureIndex=K,this.sourceLayerIndex=O,this.bucketIndex=$,this.tileID=pe},Ql=function(z){this.crossSourceCollisions=z,this.maxGroupID=0,this.collisionGroups={}};Ql.prototype.get=function(z){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[z]){var K=++this.maxGroupID;this.collisionGroups[z]={ID:K,predicate:function(O){return O.collisionGroupID===K}}}return this.collisionGroups[z]};function Hu(Y,z,K,O,$){var pe=i.getAnchorAlignment(Y),de=pe.horizontalAlign,Ie=pe.verticalAlign,$e=-(de-.5)*z,pt=-(Ie-.5)*K,Kt=i.evaluateVariableOffset(Y,O);return new i.Point($e+Kt[0]*$,pt+Kt[1]*$)}function fc(Y,z,K,O,$,pe){var de=Y.x1,Ie=Y.x2,$e=Y.y1,pt=Y.y2,Kt=Y.anchorPointX,ir=Y.anchorPointY,Jt=new i.Point(z,K);return O&&Jt._rotate($?pe:-pe),{x1:de+Jt.x,y1:$e+Jt.y,x2:Ie+Jt.x,y2:pt+Jt.y,anchorPointX:Kt,anchorPointY:ir}}var ms=function(z,K,O,$){this.transform=z.clone(),this.collisionIndex=new cl(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=K,this.retainedQueryData={},this.collisionGroups=new Ql(O),this.collisionCircleArrays={},this.prevPlacement=$,$&&($.prevPlacement=void 0),this.placedOrientations={}};ms.prototype.getBucketParts=function(z,K,O,$){var pe=O.getBucket(K),de=O.latestFeatureIndex;if(!(!pe||!de||K.id!==pe.layerIds[0])){var Ie=O.collisionBoxArray,$e=pe.layers[0].layout,pt=Math.pow(2,this.transform.zoom-O.tileID.overscaledZ),Kt=O.tileSize/i.EXTENT,ir=this.transform.calculatePosMatrix(O.tileID.toUnwrapped()),Jt=$e.get(\"text-pitch-alignment\")===\"map\",vt=$e.get(\"text-rotation-alignment\")===\"map\",Pt=Cs(O,1,this.transform.zoom),Wt=Ji(ir,Jt,vt,this.transform,Pt),rr=null;if(Jt){var dr=ua(ir,Jt,vt,this.transform,Pt);rr=i.multiply([],this.transform.labelPlaneMatrix,dr)}this.retainedQueryData[pe.bucketInstanceId]=new fs(pe.bucketInstanceId,de,pe.sourceLayerIndex,pe.index,O.tileID);var pr={bucket:pe,layout:$e,posMatrix:ir,textLabelPlaneMatrix:Wt,labelToScreenMatrix:rr,scale:pt,textPixelRatio:Kt,holdingForFade:O.holdingForFade(),collisionBoxArray:Ie,partiallyEvaluatedTextSize:i.evaluateSizeForZoom(pe.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(pe.sourceID)};if($)for(var kr=0,Ar=pe.sortKeyRanges;kr<Ar.length;kr+=1){var gr=Ar[kr],Cr=gr.sortKey,cr=gr.symbolInstanceStart,Gr=gr.symbolInstanceEnd;z.push({sortKey:Cr,symbolInstanceStart:cr,symbolInstanceEnd:Gr,parameters:pr})}else z.push({symbolInstanceStart:0,symbolInstanceEnd:pe.symbolInstances.length,parameters:pr})}},ms.prototype.attemptAnchorPlacement=function(z,K,O,$,pe,de,Ie,$e,pt,Kt,ir,Jt,vt,Pt,Wt){var rr=[Jt.textOffset0,Jt.textOffset1],dr=Hu(z,O,$,rr,pe),pr=this.collisionIndex.placeCollisionBox(fc(K,dr.x,dr.y,de,Ie,this.transform.angle),ir,$e,pt,Kt.predicate);if(Wt){var kr=this.collisionIndex.placeCollisionBox(fc(Wt,dr.x,dr.y,de,Ie,this.transform.angle),ir,$e,pt,Kt.predicate);if(kr.box.length===0)return}if(pr.box.length>0){var Ar;return this.prevPlacement&&this.prevPlacement.variableOffsets[Jt.crossTileID]&&this.prevPlacement.placements[Jt.crossTileID]&&this.prevPlacement.placements[Jt.crossTileID].text&&(Ar=this.prevPlacement.variableOffsets[Jt.crossTileID].anchor),this.variableOffsets[Jt.crossTileID]={textOffset:rr,width:O,height:$,anchor:z,textBoxScale:pe,prevAnchor:Ar},this.markUsedJustification(vt,z,Jt,Pt),vt.allowVerticalPlacement&&(this.markUsedOrientation(vt,Pt,Jt),this.placedOrientations[Jt.crossTileID]=Pt),{shift:dr,placedGlyphBoxes:pr}}},ms.prototype.placeLayerBucketPart=function(z,K,O){var $=this,pe=z.parameters,de=pe.bucket,Ie=pe.layout,$e=pe.posMatrix,pt=pe.textLabelPlaneMatrix,Kt=pe.labelToScreenMatrix,ir=pe.textPixelRatio,Jt=pe.holdingForFade,vt=pe.collisionBoxArray,Pt=pe.partiallyEvaluatedTextSize,Wt=pe.collisionGroup,rr=Ie.get(\"text-optional\"),dr=Ie.get(\"icon-optional\"),pr=Ie.get(\"text-allow-overlap\"),kr=Ie.get(\"icon-allow-overlap\"),Ar=Ie.get(\"text-rotation-alignment\")===\"map\",gr=Ie.get(\"text-pitch-alignment\")===\"map\",Cr=Ie.get(\"icon-text-fit\")!==\"none\",cr=Ie.get(\"symbol-z-order\")===\"viewport-y\",Gr=pr&&(kr||!de.hasIconData()||dr),ei=kr&&(pr||!de.hasTextData()||rr);!de.collisionArrays&&vt&&de.deserializeCollisionBoxes(vt);var yi=function(rn,bn){if(!K[rn.crossTileID]){if(Jt){$.placements[rn.crossTileID]=new Hs(!1,!1,!1);return}var mn=!1,Gn=!1,da=!0,No=null,Do={box:null,offscreen:null},ps={box:null,offscreen:null},fo=null,as=null,tl=null,zu=0,Mv=0,Ev=0;bn.textFeatureIndex?zu=bn.textFeatureIndex:rn.useRuntimeCollisionCircles&&(zu=rn.featureIndex),bn.verticalTextFeatureIndex&&(Mv=bn.verticalTextFeatureIndex);var yd=bn.textBox;if(yd){var Yv=function(Fu){var kl=i.WritingMode.horizontal;if(de.allowVerticalPlacement&&!Fu&&$.prevPlacement){var bd=$.prevPlacement.placedOrientations[rn.crossTileID];bd&&($.placedOrientations[rn.crossTileID]=bd,kl=bd,$.markUsedOrientation(de,kl,rn))}return kl},cg=function(Fu,kl){if(de.allowVerticalPlacement&&rn.numVerticalGlyphVertices>0&&bn.verticalTextBox)for(var bd=0,sy=de.writingModes;bd<sy.length;bd+=1){var A1=sy[bd];if(A1===i.WritingMode.vertical?(Do=kl(),ps=Do):Do=Fu(),Do&&Do.box&&Do.box.length)break}else Do=Fu()};if(Ie.get(\"text-variable-anchor\")){var Nd=Ie.get(\"text-variable-anchor\");if($.prevPlacement&&$.prevPlacement.variableOffsets[rn.crossTileID]){var xd=$.prevPlacement.variableOffsets[rn.crossTileID];Nd.indexOf(xd.anchor)>0&&(Nd=Nd.filter(function(Fu){return Fu!==xd.anchor}),Nd.unshift(xd.anchor))}var kv=function(Fu,kl,bd){for(var sy=Fu.x2-Fu.x1,A1=Fu.y2-Fu.y1,Kl=rn.textBoxScale,Nx=Cr&&!kr?kl:null,am={box:[],offscreen:!1},Mw=pr?Nd.length*2:Nd.length,Lv=0;Lv<Mw;++Lv){var om=Nd[Lv%Nd.length],Ew=Lv>=Nd.length,Ux=$.attemptAnchorPlacement(om,Fu,sy,A1,Kl,Ar,gr,ir,$e,Wt,Ew,rn,de,bd,Nx);if(Ux&&(am=Ux.placedGlyphBoxes,am&&am.box&&am.box.length)){mn=!0,No=Ux.shift;break}}return am},Kv=function(){return kv(yd,bn.iconBox,i.WritingMode.horizontal)},Cv=function(){var Fu=bn.verticalTextBox,kl=Do&&Do.box&&Do.box.length;return de.allowVerticalPlacement&&!kl&&rn.numVerticalGlyphVertices>0&&Fu?kv(Fu,bn.verticalIconBox,i.WritingMode.vertical):{box:null,offscreen:null}};cg(Kv,Cv),Do&&(mn=Do.box,da=Do.offscreen);var ny=Yv(Do&&Do.box);if(!mn&&$.prevPlacement){var fg=$.prevPlacement.variableOffsets[rn.crossTileID];fg&&($.variableOffsets[rn.crossTileID]=fg,$.markUsedJustification(de,fg.anchor,rn,ny))}}else{var vp=function(Fu,kl){var bd=$.collisionIndex.placeCollisionBox(Fu,pr,ir,$e,Wt.predicate);return bd&&bd.box&&bd.box.length&&($.markUsedOrientation(de,kl,rn),$.placedOrientations[rn.crossTileID]=kl),bd},_d=function(){return vp(yd,i.WritingMode.horizontal)},pp=function(){var Fu=bn.verticalTextBox;return de.allowVerticalPlacement&&rn.numVerticalGlyphVertices>0&&Fu?vp(Fu,i.WritingMode.vertical):{box:null,offscreen:null}};cg(_d,pp),Yv(Do&&Do.box&&Do.box.length)}}if(fo=Do,mn=fo&&fo.box&&fo.box.length>0,da=fo&&fo.offscreen,rn.useRuntimeCollisionCircles){var Hf=de.text.placedSymbolArray.get(rn.centerJustifiedTextSymbolIndex),hg=i.evaluateSizeForFeature(de.textSizeData,Pt,Hf),ay=Ie.get(\"text-padding\"),Rh=rn.collisionCircleDiameter;as=$.collisionIndex.placeCollisionCircles(pr,Hf,de.lineVertexArray,de.glyphOffsetArray,hg,$e,pt,Kt,O,gr,Wt.predicate,Rh,ay),mn=pr||as.circles.length>0&&!as.collisionDetected,da=da&&as.offscreen}if(bn.iconFeatureIndex&&(Ev=bn.iconFeatureIndex),bn.iconBox){var rm=function(Fu){var kl=Cr&&No?fc(Fu,No.x,No.y,Ar,gr,$.transform.angle):Fu;return $.collisionIndex.placeCollisionBox(kl,kr,ir,$e,Wt.predicate)};ps&&ps.box&&ps.box.length&&bn.verticalIconBox?(tl=rm(bn.verticalIconBox),Gn=tl.box.length>0):(tl=rm(bn.iconBox),Gn=tl.box.length>0),da=da&&tl.offscreen}var w1=rr||rn.numHorizontalGlyphVertices===0&&rn.numVerticalGlyphVertices===0,T1=dr||rn.numIconVertices===0;if(!w1&&!T1?Gn=mn=Gn&&mn:T1?w1||(Gn=Gn&&mn):mn=Gn&&mn,mn&&fo&&fo.box&&(ps&&ps.box&&Mv?$.collisionIndex.insertCollisionBox(fo.box,Ie.get(\"text-ignore-placement\"),de.bucketInstanceId,Mv,Wt.ID):$.collisionIndex.insertCollisionBox(fo.box,Ie.get(\"text-ignore-placement\"),de.bucketInstanceId,zu,Wt.ID)),Gn&&tl&&$.collisionIndex.insertCollisionBox(tl.box,Ie.get(\"icon-ignore-placement\"),de.bucketInstanceId,Ev,Wt.ID),as&&(mn&&$.collisionIndex.insertCollisionCircles(as.circles,Ie.get(\"text-ignore-placement\"),de.bucketInstanceId,zu,Wt.ID),O)){var oy=de.bucketInstanceId,im=$.collisionCircleArrays[oy];im===void 0&&(im=$.collisionCircleArrays[oy]=new Eo);for(var nm=0;nm<as.circles.length;nm+=4)im.circles.push(as.circles[nm+0]),im.circles.push(as.circles[nm+1]),im.circles.push(as.circles[nm+2]),im.circles.push(as.collisionDetected?1:0)}$.placements[rn.crossTileID]=new Hs(mn||Gr,Gn||ei,da||de.justReloaded),K[rn.crossTileID]=!0}};if(cr)for(var tn=de.getSortedSymbolIndexes(this.transform.angle),Ri=tn.length-1;Ri>=0;--Ri){var ln=tn[Ri];yi(de.symbolInstances.get(ln),de.collisionArrays[ln])}else for(var Qn=z.symbolInstanceStart;Qn<z.symbolInstanceEnd;Qn++)yi(de.symbolInstances.get(Qn),de.collisionArrays[Qn]);if(O&&de.bucketInstanceId in this.collisionCircleArrays){var qn=this.collisionCircleArrays[de.bucketInstanceId];i.invert(qn.invProjMatrix,$e),qn.viewportMatrix=this.collisionIndex.getViewportMatrix()}de.justReloaded=!1},ms.prototype.markUsedJustification=function(z,K,O,$){var pe={left:O.leftJustifiedTextSymbolIndex,center:O.centerJustifiedTextSymbolIndex,right:O.rightJustifiedTextSymbolIndex},de;$===i.WritingMode.vertical?de=O.verticalPlacedTextSymbolIndex:de=pe[i.getAnchorJustification(K)];for(var Ie=[O.leftJustifiedTextSymbolIndex,O.centerJustifiedTextSymbolIndex,O.rightJustifiedTextSymbolIndex,O.verticalPlacedTextSymbolIndex],$e=0,pt=Ie;$e<pt.length;$e+=1){var Kt=pt[$e];Kt>=0&&(de>=0&&Kt!==de?z.text.placedSymbolArray.get(Kt).crossTileID=0:z.text.placedSymbolArray.get(Kt).crossTileID=O.crossTileID)}},ms.prototype.markUsedOrientation=function(z,K,O){for(var $=K===i.WritingMode.horizontal||K===i.WritingMode.horizontalOnly?K:0,pe=K===i.WritingMode.vertical?K:0,de=[O.leftJustifiedTextSymbolIndex,O.centerJustifiedTextSymbolIndex,O.rightJustifiedTextSymbolIndex],Ie=0,$e=de;Ie<$e.length;Ie+=1){var pt=$e[Ie];z.text.placedSymbolArray.get(pt).placedOrientation=$}O.verticalPlacedTextSymbolIndex&&(z.text.placedSymbolArray.get(O.verticalPlacedTextSymbolIndex).placedOrientation=pe)},ms.prototype.commit=function(z){this.commitTime=z,this.zoomAtLastRecencyCheck=this.transform.zoom;var K=this.prevPlacement,O=!1;this.prevZoomAdjustment=K?K.zoomAdjustment(this.transform.zoom):0;var $=K?K.symbolFadeChange(z):1,pe=K?K.opacities:{},de=K?K.variableOffsets:{},Ie=K?K.placedOrientations:{};for(var $e in this.placements){var pt=this.placements[$e],Kt=pe[$e];Kt?(this.opacities[$e]=new Ys(Kt,$,pt.text,pt.icon),O=O||pt.text!==Kt.text.placed||pt.icon!==Kt.icon.placed):(this.opacities[$e]=new Ys(null,$,pt.text,pt.icon,pt.skipFade),O=O||pt.text||pt.icon)}for(var ir in pe){var Jt=pe[ir];if(!this.opacities[ir]){var vt=new Ys(Jt,$,!1,!1);vt.isHidden()||(this.opacities[ir]=vt,O=O||Jt.text.placed||Jt.icon.placed)}}for(var Pt in de)!this.variableOffsets[Pt]&&this.opacities[Pt]&&!this.opacities[Pt].isHidden()&&(this.variableOffsets[Pt]=de[Pt]);for(var Wt in Ie)!this.placedOrientations[Wt]&&this.opacities[Wt]&&!this.opacities[Wt].isHidden()&&(this.placedOrientations[Wt]=Ie[Wt]);O?this.lastPlacementChangeTime=z:typeof this.lastPlacementChangeTime!=\"number\"&&(this.lastPlacementChangeTime=K?K.lastPlacementChangeTime:z)},ms.prototype.updateLayerOpacities=function(z,K){for(var O={},$=0,pe=K;$<pe.length;$+=1){var de=pe[$],Ie=de.getBucket(z);Ie&&de.latestFeatureIndex&&z.id===Ie.layerIds[0]&&this.updateBucketOpacities(Ie,O,de.collisionBoxArray)}},ms.prototype.updateBucketOpacities=function(z,K,O){var $=this;z.hasTextData()&&z.text.opacityVertexArray.clear(),z.hasIconData()&&z.icon.opacityVertexArray.clear(),z.hasIconCollisionBoxData()&&z.iconCollisionBox.collisionVertexArray.clear(),z.hasTextCollisionBoxData()&&z.textCollisionBox.collisionVertexArray.clear();var pe=z.layers[0].layout,de=new Ys(null,0,!1,!1,!0),Ie=pe.get(\"text-allow-overlap\"),$e=pe.get(\"icon-allow-overlap\"),pt=pe.get(\"text-variable-anchor\"),Kt=pe.get(\"text-rotation-alignment\")===\"map\",ir=pe.get(\"text-pitch-alignment\")===\"map\",Jt=pe.get(\"icon-text-fit\")!==\"none\",vt=new Ys(null,0,Ie&&($e||!z.hasIconData()||pe.get(\"icon-optional\")),$e&&(Ie||!z.hasTextData()||pe.get(\"text-optional\")),!0);!z.collisionArrays&&O&&(z.hasIconCollisionBoxData()||z.hasTextCollisionBoxData())&&z.deserializeCollisionBoxes(O);for(var Pt=function(pr,kr,Ar){for(var gr=0;gr<kr/4;gr++)pr.opacityVertexArray.emplaceBack(Ar)},Wt=function(pr){var kr=z.symbolInstances.get(pr),Ar=kr.numHorizontalGlyphVertices,gr=kr.numVerticalGlyphVertices,Cr=kr.crossTileID,cr=K[Cr],Gr=$.opacities[Cr];cr?Gr=de:Gr||(Gr=vt,$.opacities[Cr]=Gr),K[Cr]=!0;var ei=Ar>0||gr>0,yi=kr.numIconVertices>0,tn=$.placedOrientations[kr.crossTileID],Ri=tn===i.WritingMode.vertical,ln=tn===i.WritingMode.horizontal||tn===i.WritingMode.horizontalOnly;if(ei){var Qn=Ec(Gr.text),qn=Ri?Zn:Qn;Pt(z.text,Ar,qn);var rn=ln?Zn:Qn;Pt(z.text,gr,rn);var bn=Gr.text.isHidden();[kr.rightJustifiedTextSymbolIndex,kr.centerJustifiedTextSymbolIndex,kr.leftJustifiedTextSymbolIndex].forEach(function(Ev){Ev>=0&&(z.text.placedSymbolArray.get(Ev).hidden=bn||Ri?1:0)}),kr.verticalPlacedTextSymbolIndex>=0&&(z.text.placedSymbolArray.get(kr.verticalPlacedTextSymbolIndex).hidden=bn||ln?1:0);var mn=$.variableOffsets[kr.crossTileID];mn&&$.markUsedJustification(z,mn.anchor,kr,tn);var Gn=$.placedOrientations[kr.crossTileID];Gn&&($.markUsedJustification(z,\"left\",kr,Gn),$.markUsedOrientation(z,Gn,kr))}if(yi){var da=Ec(Gr.icon),No=!(Jt&&kr.verticalPlacedIconSymbolIndex&&Ri);if(kr.placedIconSymbolIndex>=0){var Do=No?da:Zn;Pt(z.icon,kr.numIconVertices,Do),z.icon.placedSymbolArray.get(kr.placedIconSymbolIndex).hidden=Gr.icon.isHidden()}if(kr.verticalPlacedIconSymbolIndex>=0){var ps=No?Zn:da;Pt(z.icon,kr.numVerticalIconVertices,ps),z.icon.placedSymbolArray.get(kr.verticalPlacedIconSymbolIndex).hidden=Gr.icon.isHidden()}}if(z.hasIconCollisionBoxData()||z.hasTextCollisionBoxData()){var fo=z.collisionArrays[pr];if(fo){var as=new i.Point(0,0);if(fo.textBox||fo.verticalTextBox){var tl=!0;if(pt){var zu=$.variableOffsets[Cr];zu?(as=Hu(zu.anchor,zu.width,zu.height,zu.textOffset,zu.textBoxScale),Kt&&as._rotate(ir?$.transform.angle:-$.transform.angle)):tl=!1}fo.textBox&&on(z.textCollisionBox.collisionVertexArray,Gr.text.placed,!tl||Ri,as.x,as.y),fo.verticalTextBox&&on(z.textCollisionBox.collisionVertexArray,Gr.text.placed,!tl||ln,as.x,as.y)}var Mv=!!(!ln&&fo.verticalIconBox);fo.iconBox&&on(z.iconCollisionBox.collisionVertexArray,Gr.icon.placed,Mv,Jt?as.x:0,Jt?as.y:0),fo.verticalIconBox&&on(z.iconCollisionBox.collisionVertexArray,Gr.icon.placed,!Mv,Jt?as.x:0,Jt?as.y:0)}}},rr=0;rr<z.symbolInstances.length;rr++)Wt(rr);if(z.sortFeatures(this.transform.angle),this.retainedQueryData[z.bucketInstanceId]&&(this.retainedQueryData[z.bucketInstanceId].featureSortOrder=z.featureSortOrder),z.hasTextData()&&z.text.opacityVertexBuffer&&z.text.opacityVertexBuffer.updateData(z.text.opacityVertexArray),z.hasIconData()&&z.icon.opacityVertexBuffer&&z.icon.opacityVertexBuffer.updateData(z.icon.opacityVertexArray),z.hasIconCollisionBoxData()&&z.iconCollisionBox.collisionVertexBuffer&&z.iconCollisionBox.collisionVertexBuffer.updateData(z.iconCollisionBox.collisionVertexArray),z.hasTextCollisionBoxData()&&z.textCollisionBox.collisionVertexBuffer&&z.textCollisionBox.collisionVertexBuffer.updateData(z.textCollisionBox.collisionVertexArray),z.bucketInstanceId in this.collisionCircleArrays){var dr=this.collisionCircleArrays[z.bucketInstanceId];z.placementInvProjMatrix=dr.invProjMatrix,z.placementViewportMatrix=dr.viewportMatrix,z.collisionCircleArray=dr.circles,delete this.collisionCircleArrays[z.bucketInstanceId]}},ms.prototype.symbolFadeChange=function(z){return this.fadeDuration===0?1:(z-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment},ms.prototype.zoomAdjustment=function(z){return Math.max(0,(this.transform.zoom-z)/1.5)},ms.prototype.hasTransitions=function(z){return this.stale||z-this.lastPlacementChangeTime<this.fadeDuration},ms.prototype.stillRecent=function(z,K){var O=this.zoomAtLastRecencyCheck===K?1-this.zoomAdjustment(K):1;return this.zoomAtLastRecencyCheck=K,this.commitTime+this.fadeDuration*O>z},ms.prototype.setStale=function(){this.stale=!0};function on(Y,z,K,O,$){Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0)}var fa=Math.pow(2,25),Qu=Math.pow(2,24),Rl=Math.pow(2,17),vo=Math.pow(2,16),Zl=Math.pow(2,9),Ks=Math.pow(2,8),Xl=Math.pow(2,1);function Ec(Y){if(Y.opacity===0&&!Y.placed)return 0;if(Y.opacity===1&&Y.placed)return 4294967295;var z=Y.placed?1:0,K=Math.floor(Y.opacity*127);return K*fa+z*Qu+K*Rl+z*vo+K*Zl+z*Ks+K*Xl+z}var Zn=0,ko=function(z){this._sortAcrossTiles=z.layout.get(\"symbol-z-order\")!==\"viewport-y\"&&z.layout.get(\"symbol-sort-key\").constantOr(1)!==void 0,this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};ko.prototype.continuePlacement=function(z,K,O,$,pe){for(var de=this._bucketParts;this._currentTileIndex<z.length;){var Ie=z[this._currentTileIndex];if(K.getBucketParts(de,$,Ie,this._sortAcrossTiles),this._currentTileIndex++,pe())return!0}for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,de.sort(function(pt,Kt){return pt.sortKey-Kt.sortKey}));this._currentPartIndex<de.length;){var $e=de[this._currentPartIndex];if(K.placeLayerBucketPart($e,this._seenCrossTileIDs,O),this._currentPartIndex++,pe())return!0}return!1};var Co=function(z,K,O,$,pe,de,Ie){this.placement=new ms(z,pe,de,Ie),this._currentPlacementIndex=K.length-1,this._forceFullPlacement=O,this._showCollisionBoxes=$,this._done=!1};Co.prototype.isDone=function(){return this._done},Co.prototype.continuePlacement=function(z,K,O){for(var $=this,pe=i.browser.now(),de=function(){var ir=i.browser.now()-pe;return $._forceFullPlacement?!1:ir>2};this._currentPlacementIndex>=0;){var Ie=z[this._currentPlacementIndex],$e=K[Ie],pt=this.placement.collisionIndex.transform.zoom;if($e.type===\"symbol\"&&(!$e.minzoom||$e.minzoom<=pt)&&(!$e.maxzoom||$e.maxzoom>pt)){this._inProgressLayer||(this._inProgressLayer=new ko($e));var Kt=this._inProgressLayer.continuePlacement(O[$e.source],this.placement,this._showCollisionBoxes,$e,de);if(Kt)return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Co.prototype.commit=function(z){return this.placement.commit(z),this.placement};var Tl=512/i.EXTENT/2,uf=function(z,K,O){this.tileID=z,this.indexedSymbolInstances={},this.bucketInstanceId=O;for(var $=0;$<K.length;$++){var pe=K.get($),de=pe.key;this.indexedSymbolInstances[de]||(this.indexedSymbolInstances[de]=[]),this.indexedSymbolInstances[de].push({crossTileID:pe.crossTileID,coord:this.getScaledCoordinates(pe,z)})}};uf.prototype.getScaledCoordinates=function(z,K){var O=K.canonical.z-this.tileID.canonical.z,$=Tl/Math.pow(2,O);return{x:Math.floor((K.canonical.x*i.EXTENT+z.anchorX)*$),y:Math.floor((K.canonical.y*i.EXTENT+z.anchorY)*$)}},uf.prototype.findMatches=function(z,K,O){for(var $=this.tileID.canonical.z<K.canonical.z?1:Math.pow(2,this.tileID.canonical.z-K.canonical.z),pe=0;pe<z.length;pe++){var de=z.get(pe);if(!de.crossTileID){var Ie=this.indexedSymbolInstances[de.key];if(Ie)for(var $e=this.getScaledCoordinates(de,K),pt=0,Kt=Ie;pt<Kt.length;pt+=1){var ir=Kt[pt];if(Math.abs(ir.coord.x-$e.x)<=$&&Math.abs(ir.coord.y-$e.y)<=$&&!O[ir.crossTileID]){O[ir.crossTileID]=!0,de.crossTileID=ir.crossTileID;break}}}}};var So=function(){this.maxCrossTileID=0};So.prototype.generate=function(){return++this.maxCrossTileID};var cf=function(){this.indexes={},this.usedCrossTileIDs={},this.lng=0};cf.prototype.handleWrapJump=function(z){var K=Math.round((z-this.lng)/360);if(K!==0)for(var O in this.indexes){var $=this.indexes[O],pe={};for(var de in $){var Ie=$[de];Ie.tileID=Ie.tileID.unwrapTo(Ie.tileID.wrap+K),pe[Ie.tileID.key]=Ie}this.indexes[O]=pe}this.lng=z},cf.prototype.addBucket=function(z,K,O){if(this.indexes[z.overscaledZ]&&this.indexes[z.overscaledZ][z.key]){if(this.indexes[z.overscaledZ][z.key].bucketInstanceId===K.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(z.overscaledZ,this.indexes[z.overscaledZ][z.key])}for(var $=0;$<K.symbolInstances.length;$++){var pe=K.symbolInstances.get($);pe.crossTileID=0}this.usedCrossTileIDs[z.overscaledZ]||(this.usedCrossTileIDs[z.overscaledZ]={});var de=this.usedCrossTileIDs[z.overscaledZ];for(var Ie in this.indexes){var $e=this.indexes[Ie];if(Number(Ie)>z.overscaledZ)for(var pt in $e){var Kt=$e[pt];Kt.tileID.isChildOf(z)&&Kt.findMatches(K.symbolInstances,z,de)}else{var ir=z.scaledTo(Number(Ie)),Jt=$e[ir.key];Jt&&Jt.findMatches(K.symbolInstances,z,de)}}for(var vt=0;vt<K.symbolInstances.length;vt++){var Pt=K.symbolInstances.get(vt);Pt.crossTileID||(Pt.crossTileID=O.generate(),de[Pt.crossTileID]=!0)}return this.indexes[z.overscaledZ]===void 0&&(this.indexes[z.overscaledZ]={}),this.indexes[z.overscaledZ][z.key]=new uf(z,K.symbolInstances,K.bucketInstanceId),!0},cf.prototype.removeBucketCrossTileIDs=function(z,K){for(var O in K.indexedSymbolInstances)for(var $=0,pe=K.indexedSymbolInstances[O];$<pe.length;$+=1){var de=pe[$];delete this.usedCrossTileIDs[z][de.crossTileID]}},cf.prototype.removeStaleBuckets=function(z){var K=!1;for(var O in this.indexes){var $=this.indexes[O];for(var pe in $)z[$[pe].bucketInstanceId]||(this.removeBucketCrossTileIDs(O,$[pe]),delete $[pe],K=!0)}return K};var rh=function(){this.layerIndexes={},this.crossTileIDs=new So,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}};rh.prototype.addLayer=function(z,K,O){var $=this.layerIndexes[z.id];$===void 0&&($=this.layerIndexes[z.id]=new cf);var pe=!1,de={};$.handleWrapJump(O);for(var Ie=0,$e=K;Ie<$e.length;Ie+=1){var pt=$e[Ie],Kt=pt.getBucket(z);!Kt||z.id!==Kt.layerIds[0]||(Kt.bucketInstanceId||(Kt.bucketInstanceId=++this.maxBucketInstanceId),$.addBucket(pt.tileID,Kt,this.crossTileIDs)&&(pe=!0),de[Kt.bucketInstanceId]=!0)}return $.removeStaleBuckets(de)&&(pe=!0),pe},rh.prototype.pruneUnusedLayers=function(z){var K={};z.forEach(function($){K[$]=!0});for(var O in this.layerIndexes)K[O]||delete this.layerIndexes[O]};var Al=function(Y,z){return i.emitValidationErrors(Y,z&&z.filter(function(K){return K.identifier!==\"source.canvas\"}))},Hc=i.pick(oa,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\"]),eu=i.pick(oa,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),Ls=jo(),mu=function(Y){function z(K,O){var $=this;O===void 0&&(O={}),Y.call(this),this.map=K,this.dispatcher=new X(ka(),this),this.imageManager=new E,this.imageManager.setEventedParent(this),this.glyphManager=new P(K._requestManager,O.localIdeographFontFamily),this.lineAtlas=new H(256,512),this.crossTileSymbolIndex=new rh,this._layers={},this._serializedLayers={},this._order=[],this.sourceCaches={},this.zoomHistory=new i.ZoomHistory,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"setReferrer\",i.getReferrer());var pe=this;this._rtlTextPluginCallback=z.registerForPluginStateChange(function(de){var Ie={pluginStatus:de.pluginStatus,pluginURL:de.pluginURL};pe.dispatcher.broadcast(\"syncRTLPluginState\",Ie,function($e,pt){if(i.triggerPluginCompletionEvent($e),pt){var Kt=pt.every(function(Jt){return Jt});if(Kt)for(var ir in pe.sourceCaches)pe.sourceCaches[ir].reload()}})}),this.on(\"data\",function(de){if(!(de.dataType!==\"source\"||de.sourceDataType!==\"metadata\")){var Ie=$.sourceCaches[de.sourceId];if(Ie){var $e=Ie.getSource();if(!(!$e||!$e.vectorLayerIds))for(var pt in $._layers){var Kt=$._layers[pt];Kt.source===$e.id&&$._validateLayer(Kt)}}}})}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.loadURL=function(O,$){var pe=this;$===void 0&&($={}),this.fire(new i.Event(\"dataloading\",{dataType:\"style\"}));var de=typeof $.validate==\"boolean\"?$.validate:!i.isMapboxURL(O);O=this.map._requestManager.normalizeStyleURL(O,$.accessToken);var Ie=this.map._requestManager.transformRequest(O,i.ResourceType.Style);this._request=i.getJSON(Ie,function($e,pt){pe._request=null,$e?pe.fire(new i.ErrorEvent($e)):pt&&pe._load(pt,de)})},z.prototype.loadJSON=function(O,$){var pe=this;$===void 0&&($={}),this.fire(new i.Event(\"dataloading\",{dataType:\"style\"})),this._request=i.browser.frame(function(){pe._request=null,pe._load(O,$.validate!==!1)})},z.prototype.loadEmpty=function(){this.fire(new i.Event(\"dataloading\",{dataType:\"style\"})),this._load(Ls,!1)},z.prototype._load=function(O,$){if(!($&&Al(this,i.validateStyle(O)))){this._loaded=!0,this.stylesheet=O;for(var pe in O.sources)this.addSource(pe,O.sources[pe],{validate:!1});O.sprite?this._loadSprite(O.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(O.glyphs);var de=Ra(this.stylesheet.layers);this._order=de.map(function(Kt){return Kt.id}),this._layers={},this._serializedLayers={};for(var Ie=0,$e=de;Ie<$e.length;Ie+=1){var pt=$e[Ie];pt=i.createStyleLayer(pt),pt.setEventedParent(this,{layer:{id:pt.id}}),this._layers[pt.id]=pt,this._serializedLayers[pt.id]=pt.serialize()}this.dispatcher.broadcast(\"setLayers\",this._serializeLayers(this._order)),this.light=new V(this.stylesheet.light),this.fire(new i.Event(\"data\",{dataType:\"style\"})),this.fire(new i.Event(\"style.load\"))}},z.prototype._loadSprite=function(O){var $=this;this._spriteRequest=x(O,this.map._requestManager,function(pe,de){if($._spriteRequest=null,pe)$.fire(new i.ErrorEvent(pe));else if(de)for(var Ie in de)$.imageManager.addImage(Ie,de[Ie]);$.imageManager.setLoaded(!0),$._availableImages=$.imageManager.listImages(),$.dispatcher.broadcast(\"setImages\",$._availableImages),$.fire(new i.Event(\"data\",{dataType:\"style\"}))})},z.prototype._validateLayer=function(O){var $=this.sourceCaches[O.source];if($){var pe=O.sourceLayer;if(pe){var de=$.getSource();(de.type===\"geojson\"||de.vectorLayerIds&&de.vectorLayerIds.indexOf(pe)===-1)&&this.fire(new i.ErrorEvent(new Error('Source layer \"'+pe+'\" does not exist on source \"'+de.id+'\" as specified by style layer \"'+O.id+'\"')))}}},z.prototype.loaded=function(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(var O in this.sourceCaches)if(!this.sourceCaches[O].loaded())return!1;return!!this.imageManager.isLoaded()},z.prototype._serializeLayers=function(O){for(var $=[],pe=0,de=O;pe<de.length;pe+=1){var Ie=de[pe],$e=this._layers[Ie];$e.type!==\"custom\"&&$.push($e.serialize())}return $},z.prototype.hasTransitions=function(){if(this.light&&this.light.hasTransition())return!0;for(var O in this.sourceCaches)if(this.sourceCaches[O].hasTransition())return!0;for(var $ in this._layers)if(this._layers[$].hasTransition())return!0;return!1},z.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\"Style is not done loading\")},z.prototype.update=function(O){if(this._loaded){var $=this._changed;if(this._changed){var pe=Object.keys(this._updatedLayers),de=Object.keys(this._removedLayers);(pe.length||de.length)&&this._updateWorkerLayers(pe,de);for(var Ie in this._updatedSources){var $e=this._updatedSources[Ie];$e===\"reload\"?this._reloadSource(Ie):$e===\"clear\"&&this._clearSource(Ie)}this._updateTilesForChangedImages();for(var pt in this._updatedPaintProps)this._layers[pt].updateTransitions(O);this.light.updateTransitions(O),this._resetUpdates()}var Kt={};for(var ir in this.sourceCaches){var Jt=this.sourceCaches[ir];Kt[ir]=Jt.used,Jt.used=!1}for(var vt=0,Pt=this._order;vt<Pt.length;vt+=1){var Wt=Pt[vt],rr=this._layers[Wt];rr.recalculate(O,this._availableImages),!rr.isHidden(O.zoom)&&rr.source&&(this.sourceCaches[rr.source].used=!0)}for(var dr in Kt){var pr=this.sourceCaches[dr];Kt[dr]!==pr.used&&pr.fire(new i.Event(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:dr}))}this.light.recalculate(O),this.z=O.zoom,$&&this.fire(new i.Event(\"data\",{dataType:\"style\"}))}},z.prototype._updateTilesForChangedImages=function(){var O=Object.keys(this._changedImages);if(O.length){for(var $ in this.sourceCaches)this.sourceCaches[$].reloadTilesForDependencies([\"icons\",\"patterns\"],O);this._changedImages={}}},z.prototype._updateWorkerLayers=function(O,$){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(O),removedIds:$})},z.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={}},z.prototype.setState=function(O){var $=this;if(this._checkLoaded(),Al(this,i.validateStyle(O)))return!1;O=i.clone$1(O),O.layers=Ra(O.layers);var pe=Yi(this.serialize(),O).filter(function(Ie){return!(Ie.command in eu)});if(pe.length===0)return!1;var de=pe.filter(function(Ie){return!(Ie.command in Hc)});if(de.length>0)throw new Error(\"Unimplemented: \"+de.map(function(Ie){return Ie.command}).join(\", \")+\".\");return pe.forEach(function(Ie){Ie.command!==\"setTransition\"&&$[Ie.command].apply($,Ie.args)}),this.stylesheet=O,!0},z.prototype.addImage=function(O,$){if(this.getImage(O))return this.fire(new i.ErrorEvent(new Error(\"An image with this name already exists.\")));this.imageManager.addImage(O,$),this._afterImageUpdated(O)},z.prototype.updateImage=function(O,$){this.imageManager.updateImage(O,$)},z.prototype.getImage=function(O){return this.imageManager.getImage(O)},z.prototype.removeImage=function(O){if(!this.getImage(O))return this.fire(new i.ErrorEvent(new Error(\"No image with this name exists.\")));this.imageManager.removeImage(O),this._afterImageUpdated(O)},z.prototype._afterImageUpdated=function(O){this._availableImages=this.imageManager.listImages(),this._changedImages[O]=!0,this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new i.Event(\"data\",{dataType:\"style\"}))},z.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},z.prototype.addSource=function(O,$,pe){var de=this;if(pe===void 0&&(pe={}),this._checkLoaded(),this.sourceCaches[O]!==void 0)throw new Error(\"There is already a source with this ID\");if(!$.type)throw new Error(\"The type property must be defined, but only the following properties were given: \"+Object.keys($).join(\", \")+\".\");var Ie=[\"vector\",\"raster\",\"geojson\",\"video\",\"image\"],$e=Ie.indexOf($.type)>=0;if(!($e&&this._validate(i.validateStyle.source,\"sources.\"+O,$,null,pe))){this.map&&this.map._collectResourceTiming&&($.collectResourceTiming=!0);var pt=this.sourceCaches[O]=new Zr(O,$,this.dispatcher);pt.style=this,pt.setEventedParent(this,function(){return{isSourceLoaded:de.loaded(),source:pt.serialize(),sourceId:O}}),pt.onAdd(this.map),this._changed=!0}},z.prototype.removeSource=function(O){if(this._checkLoaded(),this.sourceCaches[O]===void 0)throw new Error(\"There is no source with this ID\");for(var $ in this._layers)if(this._layers[$].source===O)return this.fire(new i.ErrorEvent(new Error('Source \"'+O+'\" cannot be removed while layer \"'+$+'\" is using it.')));var pe=this.sourceCaches[O];delete this.sourceCaches[O],delete this._updatedSources[O],pe.fire(new i.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:O})),pe.setEventedParent(null),pe.clearTiles(),pe.onRemove&&pe.onRemove(this.map),this._changed=!0},z.prototype.setGeoJSONSourceData=function(O,$){this._checkLoaded();var pe=this.sourceCaches[O].getSource();pe.setData($),this._changed=!0},z.prototype.getSource=function(O){return this.sourceCaches[O]&&this.sourceCaches[O].getSource()},z.prototype.addLayer=function(O,$,pe){pe===void 0&&(pe={}),this._checkLoaded();var de=O.id;if(this.getLayer(de)){this.fire(new i.ErrorEvent(new Error('Layer with id \"'+de+'\" already exists on this map')));return}var Ie;if(O.type===\"custom\"){if(Al(this,i.validateCustomStyleLayer(O)))return;Ie=i.createStyleLayer(O)}else{if(typeof O.source==\"object\"&&(this.addSource(de,O.source),O=i.clone$1(O),O=i.extend(O,{source:de})),this._validate(i.validateStyle.layer,\"layers.\"+de,O,{arrayIndex:-1},pe))return;Ie=i.createStyleLayer(O),this._validateLayer(Ie),Ie.setEventedParent(this,{layer:{id:de}}),this._serializedLayers[Ie.id]=Ie.serialize()}var $e=$?this._order.indexOf($):this._order.length;if($&&$e===-1){this.fire(new i.ErrorEvent(new Error('Layer with id \"'+$+'\" does not exist on this map.')));return}if(this._order.splice($e,0,de),this._layerOrderChanged=!0,this._layers[de]=Ie,this._removedLayers[de]&&Ie.source&&Ie.type!==\"custom\"){var pt=this._removedLayers[de];delete this._removedLayers[de],pt.type!==Ie.type?this._updatedSources[Ie.source]=\"clear\":(this._updatedSources[Ie.source]=\"reload\",this.sourceCaches[Ie.source].pause())}this._updateLayer(Ie),Ie.onAdd&&Ie.onAdd(this.map)},z.prototype.moveLayer=function(O,$){this._checkLoaded(),this._changed=!0;var pe=this._layers[O];if(!pe){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be moved.\")));return}if(O!==$){var de=this._order.indexOf(O);this._order.splice(de,1);var Ie=$?this._order.indexOf($):this._order.length;if($&&Ie===-1){this.fire(new i.ErrorEvent(new Error('Layer with id \"'+$+'\" does not exist on this map.')));return}this._order.splice(Ie,0,O),this._layerOrderChanged=!0}},z.prototype.removeLayer=function(O){this._checkLoaded();var $=this._layers[O];if(!$){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be removed.\")));return}$.setEventedParent(null);var pe=this._order.indexOf(O);this._order.splice(pe,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[O]=$,delete this._layers[O],delete this._serializedLayers[O],delete this._updatedLayers[O],delete this._updatedPaintProps[O],$.onRemove&&$.onRemove(this.map)},z.prototype.getLayer=function(O){return this._layers[O]},z.prototype.hasLayer=function(O){return O in this._layers},z.prototype.setLayerZoomRange=function(O,$,pe){this._checkLoaded();var de=this.getLayer(O);if(!de){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot have zoom extent.\")));return}de.minzoom===$&&de.maxzoom===pe||($!=null&&(de.minzoom=$),pe!=null&&(de.maxzoom=pe),this._updateLayer(de))},z.prototype.setFilter=function(O,$,pe){pe===void 0&&(pe={}),this._checkLoaded();var de=this.getLayer(O);if(!de){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be filtered.\")));return}if(!i.deepEqual(de.filter,$)){if($==null){de.filter=void 0,this._updateLayer(de);return}this._validate(i.validateStyle.filter,\"layers.\"+de.id+\".filter\",$,null,pe)||(de.filter=i.clone$1($),this._updateLayer(de))}},z.prototype.getFilter=function(O){return i.clone$1(this.getLayer(O).filter)},z.prototype.setLayoutProperty=function(O,$,pe,de){de===void 0&&(de={}),this._checkLoaded();var Ie=this.getLayer(O);if(!Ie){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be styled.\")));return}i.deepEqual(Ie.getLayoutProperty($),pe)||(Ie.setLayoutProperty($,pe,de),this._updateLayer(Ie))},z.prototype.getLayoutProperty=function(O,$){var pe=this.getLayer(O);if(!pe){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style.\")));return}return pe.getLayoutProperty($)},z.prototype.setPaintProperty=function(O,$,pe,de){de===void 0&&(de={}),this._checkLoaded();var Ie=this.getLayer(O);if(!Ie){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be styled.\")));return}if(!i.deepEqual(Ie.getPaintProperty($),pe)){var $e=Ie.setPaintProperty($,pe,de);$e&&this._updateLayer(Ie),this._changed=!0,this._updatedPaintProps[O]=!0}},z.prototype.getPaintProperty=function(O,$){return this.getLayer(O).getPaintProperty($)},z.prototype.setFeatureState=function(O,$){this._checkLoaded();var pe=O.source,de=O.sourceLayer,Ie=this.sourceCaches[pe];if(Ie===void 0){this.fire(new i.ErrorEvent(new Error(\"The source '\"+pe+\"' does not exist in the map's style.\")));return}var $e=Ie.getSource().type;if($e===\"geojson\"&&de){this.fire(new i.ErrorEvent(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\")));return}if($e===\"vector\"&&!de){this.fire(new i.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}O.id===void 0&&this.fire(new i.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),Ie.setFeatureState(de,O.id,$)},z.prototype.removeFeatureState=function(O,$){this._checkLoaded();var pe=O.source,de=this.sourceCaches[pe];if(de===void 0){this.fire(new i.ErrorEvent(new Error(\"The source '\"+pe+\"' does not exist in the map's style.\")));return}var Ie=de.getSource().type,$e=Ie===\"vector\"?O.sourceLayer:void 0;if(Ie===\"vector\"&&!$e){this.fire(new i.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}if($&&typeof O.id!=\"string\"&&typeof O.id!=\"number\"){this.fire(new i.ErrorEvent(new Error(\"A feature id is required to remove its specific state property.\")));return}de.removeFeatureState($e,O.id,$)},z.prototype.getFeatureState=function(O){this._checkLoaded();var $=O.source,pe=O.sourceLayer,de=this.sourceCaches[$];if(de===void 0){this.fire(new i.ErrorEvent(new Error(\"The source '\"+$+\"' does not exist in the map's style.\")));return}var Ie=de.getSource().type;if(Ie===\"vector\"&&!pe){this.fire(new i.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}return O.id===void 0&&this.fire(new i.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),de.getFeatureState(pe,O.id)},z.prototype.getTransition=function(){return i.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},z.prototype.serialize=function(){return i.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:i.mapObject(this.sourceCaches,function(O){return O.serialize()}),layers:this._serializeLayers(this._order)},function(O){return O!==void 0})},z.prototype._updateLayer=function(O){this._updatedLayers[O.id]=!0,O.source&&!this._updatedSources[O.source]&&this.sourceCaches[O.source].getSource().type!==\"raster\"&&(this._updatedSources[O.source]=\"reload\",this.sourceCaches[O.source].pause()),this._changed=!0},z.prototype._flattenAndSortRenderedFeatures=function(O){for(var $=this,pe=function(ln){return $._layers[ln].type===\"fill-extrusion\"},de={},Ie=[],$e=this._order.length-1;$e>=0;$e--){var pt=this._order[$e];if(pe(pt)){de[pt]=$e;for(var Kt=0,ir=O;Kt<ir.length;Kt+=1){var Jt=ir[Kt],vt=Jt[pt];if(vt)for(var Pt=0,Wt=vt;Pt<Wt.length;Pt+=1){var rr=Wt[Pt];Ie.push(rr)}}}}Ie.sort(function(ln,Qn){return Qn.intersectionZ-ln.intersectionZ});for(var dr=[],pr=this._order.length-1;pr>=0;pr--){var kr=this._order[pr];if(pe(kr))for(var Ar=Ie.length-1;Ar>=0;Ar--){var gr=Ie[Ar].feature;if(de[gr.layer.id]<pr)break;dr.push(gr),Ie.pop()}else for(var Cr=0,cr=O;Cr<cr.length;Cr+=1){var Gr=cr[Cr],ei=Gr[kr];if(ei)for(var yi=0,tn=ei;yi<tn.length;yi+=1){var Ri=tn[yi];dr.push(Ri.feature)}}}return dr},z.prototype.queryRenderedFeatures=function(O,$,pe){$&&$.filter&&this._validate(i.validateStyle.filter,\"queryRenderedFeatures.filter\",$.filter,null,$);var de={};if($&&$.layers){if(!Array.isArray($.layers))return this.fire(new i.ErrorEvent(new Error(\"parameters.layers must be an Array.\"))),[];for(var Ie=0,$e=$.layers;Ie<$e.length;Ie+=1){var pt=$e[Ie],Kt=this._layers[pt];if(!Kt)return this.fire(new i.ErrorEvent(new Error(\"The layer '\"+pt+\"' does not exist in the map's style and cannot be queried for features.\"))),[];de[Kt.source]=!0}}var ir=[];$.availableImages=this._availableImages;for(var Jt in this.sourceCaches)$.layers&&!de[Jt]||ir.push(ce(this.sourceCaches[Jt],this._layers,this._serializedLayers,O,$,pe));return this.placement&&ir.push(Ge(this._layers,this._serializedLayers,this.sourceCaches,O,$,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(ir)},z.prototype.querySourceFeatures=function(O,$){$&&$.filter&&this._validate(i.validateStyle.filter,\"querySourceFeatures.filter\",$.filter,null,$);var pe=this.sourceCaches[O];return pe?nt(pe,$):[]},z.prototype.addSourceType=function(O,$,pe){if(z.getSourceType(O))return pe(new Error('A source type called \"'+O+'\" already exists.'));if(z.setSourceType(O,$),!$.workerSourceURL)return pe(null,null);this.dispatcher.broadcast(\"loadWorkerSource\",{name:O,url:$.workerSourceURL},pe)},z.prototype.getLight=function(){return this.light.getLight()},z.prototype.setLight=function(O,$){$===void 0&&($={}),this._checkLoaded();var pe=this.light.getLight(),de=!1;for(var Ie in O)if(!i.deepEqual(O[Ie],pe[Ie])){de=!0;break}if(de){var $e={now:i.browser.now(),transition:i.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(O,$),this.light.updateTransitions($e)}},z.prototype._validate=function(O,$,pe,de,Ie){return Ie===void 0&&(Ie={}),Ie&&Ie.validate===!1?!1:Al(this,O.call(i.validateStyle,i.extend({key:$,style:this.serialize(),value:pe,styleSpec:i.styleSpec},de)))},z.prototype._remove=function(){this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),i.evented.off(\"pluginStateChange\",this._rtlTextPluginCallback);for(var O in this._layers){var $=this._layers[O];$.setEventedParent(null)}for(var pe in this.sourceCaches)this.sourceCaches[pe].clearTiles(),this.sourceCaches[pe].setEventedParent(null);this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove()},z.prototype._clearSource=function(O){this.sourceCaches[O].clearTiles()},z.prototype._reloadSource=function(O){this.sourceCaches[O].resume(),this.sourceCaches[O].reload()},z.prototype._updateSources=function(O){for(var $ in this.sourceCaches)this.sourceCaches[$].update(O)},z.prototype._generateCollisionBoxes=function(){for(var O in this.sourceCaches)this._reloadSource(O)},z.prototype._updatePlacement=function(O,$,pe,de,Ie){Ie===void 0&&(Ie=!1);for(var $e=!1,pt=!1,Kt={},ir=0,Jt=this._order;ir<Jt.length;ir+=1){var vt=Jt[ir],Pt=this._layers[vt];if(Pt.type===\"symbol\"){if(!Kt[Pt.source]){var Wt=this.sourceCaches[Pt.source];Kt[Pt.source]=Wt.getRenderableIds(!0).map(function(Cr){return Wt.getTileByID(Cr)}).sort(function(Cr,cr){return cr.tileID.overscaledZ-Cr.tileID.overscaledZ||(Cr.tileID.isLessThan(cr.tileID)?-1:1)})}var rr=this.crossTileSymbolIndex.addLayer(Pt,Kt[Pt.source],O.center.lng);$e=$e||rr}}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),Ie=Ie||this._layerOrderChanged||pe===0,(Ie||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(i.browser.now(),O.zoom))&&(this.pauseablePlacement=new Co(O,this._order,Ie,$,pe,de,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,Kt),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(i.browser.now()),pt=!0),$e&&this.pauseablePlacement.placement.setStale()),pt||$e)for(var dr=0,pr=this._order;dr<pr.length;dr+=1){var kr=pr[dr],Ar=this._layers[kr];Ar.type===\"symbol\"&&this.placement.updateLayerOpacities(Ar,Kt[Ar.source])}var gr=!this.pauseablePlacement.isDone()||this.placement.hasTransitions(i.browser.now());return gr},z.prototype._releaseSymbolFadeTiles=function(){for(var O in this.sourceCaches)this.sourceCaches[O].releaseSymbolFadeTiles()},z.prototype.getImages=function(O,$,pe){this.imageManager.getImages($.icons,pe),this._updateTilesForChangedImages();var de=this.sourceCaches[$.source];de&&de.setDependencies($.tileID.key,$.type,$.icons)},z.prototype.getGlyphs=function(O,$,pe){this.glyphManager.getGlyphs($.stacks,pe)},z.prototype.getResource=function(O,$,pe){return i.makeRequest($,pe)},z}(i.Evented);mu.getSourceType=ze,mu.setSourceType=Ce,mu.registerForPluginStateChange=i.registerForPluginStateChange;var kc=i.createLayout([{name:\"a_pos\",type:\"Int16\",components:2}]),Of=`#ifdef GL_ES\n", - "precision 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`,Gc=`#ifdef GL_ES\n", - "precision 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\n", - "vec2 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;}`,vd=`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Bf=\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\",ss=`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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,ff=\"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);}\",ih=`varying vec3 v_data;\n", - "#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define mediump float radius\n", - "#pragma mapbox: define lowp float blur\n", - "#pragma mapbox: define lowp float opacity\n", - "#pragma mapbox: define highp vec4 stroke_color\n", - "#pragma mapbox: define mediump float stroke_width\n", - "#pragma mapbox: define lowp float stroke_opacity\n", - "void 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\n", - "vec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Vl=`uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;\n", - "#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define mediump float radius\n", - "#pragma mapbox: define lowp float blur\n", - "#pragma mapbox: define lowp float opacity\n", - "#pragma mapbox: define highp vec4 stroke_color\n", - "#pragma mapbox: define mediump float stroke_width\n", - "#pragma mapbox: define lowp float stroke_opacity\n", - "void 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\n", - "vec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`,Js=\"void main() {gl_FragColor=vec4(1.0);}\",hc=\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\",Cc=`uniform highp float u_intensity;varying vec2 v_extrude;\n", - "#pragma mapbox: define highp float weight\n", - "#define GAUSS_COEF 0.3989422804014327\n", - "void main() {\n", - "#pragma mapbox: initialize highp float weight\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,ws=`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\n", - "const highp float ZERO=1.0/255.0/16.0;\n", - "#define GAUSS_COEF 0.3989422804014327\n", - "void main(void) {\n", - "#pragma mapbox: initialize highp float weight\n", - "#pragma mapbox: initialize mediump float radius\n", - "vec2 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;}`,$s=`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\n", - "gl_FragColor=vec4(0.0);\n", - "#endif\n", - "}`,hs=\"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;}\",Ms=\"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;}}\",dc=\"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;}\",Sl=\"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;}\",ec=\"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);}\",Ps=\"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);}\",ov=\"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);}\",wo=`#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_FragColor=color*opacity;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Od=`attribute vec2 a_pos;uniform mat4 u_matrix;\n", - "#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_Position=u_matrix*vec4(a_pos,0,1);}`,$o=`varying vec2 v_pos;\n", - "#pragma mapbox: define highp vec4 outline_color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 outline_color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Ja=`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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 outline_color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`,Ef=`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\n", - "void 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", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,tc=`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\n", - "void 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\n", - "vec2 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;}`,uu=`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\n", - "void 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", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Mh=`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\n", - "void 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\n", - "vec2 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);}`,jc=`varying vec4 v_color;void main() {gl_FragColor=v_color;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,kf=`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\n", - "void main() {\n", - "#pragma mapbox: initialize highp float base\n", - "#pragma mapbox: initialize highp float height\n", - "#pragma mapbox: initialize highp vec4 color\n", - "vec3 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;}`,Ml=`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\n", - "void 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\n", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Yh=`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\n", - "void 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\n", - "vec2 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;}`,Eh=`#ifdef GL_ES\n", - "precision highp float;\n", - "#endif\n", - "uniform 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,nh=\"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;}\",hf=`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\n", - "void 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,kh=\"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;}\",Kh=`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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float blur\n", - "#pragma mapbox: initialize lowp float opacity\n", - "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);gl_FragColor=color*(alpha*opacity);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,rc=`\n", - "#define scale 0.015873016\n", - "attribute 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\n", - "void 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", - "float 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);}`,ah=`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\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float blur\n", - "#pragma mapbox: initialize lowp float opacity\n", - "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);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Wc=`\n", - "#define scale 0.015873016\n", - "attribute 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\n", - "void 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\n", - "float 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);}`,df=`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\n", - "void 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\n", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Cu=`\n", - "#define scale 0.015873016\n", - "#define LINE_DISTANCE_SCALE 2.0\n", - "attribute 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\n", - "void 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\n", - "float 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;}`,Nf=`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\n", - "void 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\n", - "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 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Zc=`\n", - "#define scale 0.015873016\n", - "#define LINE_DISTANCE_SCALE 2.0\n", - "attribute 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\n", - "void 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\n", - "float 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);}`,ds=`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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Ch=\"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;}\",Bd=`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float opacity\n", - "lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Jh=`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\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float opacity\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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));}`,Cf=`#define SDF_PX 8.0\n", - "uniform 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\n", - "void 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\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,pd=`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\n", - "void 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\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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);}`,Lu=`#define SDF_PX 8.0\n", - "#define SDF 1.0\n", - "#define ICON 0.0\n", - "uniform 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\n", - "void 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\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "return;}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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,$h=`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\n", - "void 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\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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);}`,tu=Is(Of,Gc),Pu=Is(vd,Bf),Lc=Is(ss,ff),fl=Is(ih,Vl),Xc=Is(Js,hc),ic=Is(Cc,ws),yu=Is($s,hs),Qs=Is(Ms,dc),Qh=Is(Sl,ec),gd=Is(Ps,ov),Gu=Is(wo,Od),Pc=Is($o,Ja),vc=Is(Ef,tc),sv=Is(uu,Mh),Lf=Is(jc,kf),Uf=Is(Ml,Yh),Iu=Is(Eh,nh),oh=Is(hf,kh),ru=Is(Kh,rc),vf=Is(ah,Wc),md=Is(df,Cu),sh=Is(Nf,Zc),Fs=Is(ds,Ch),_u=Is(Bd,Jh),xu=Is(Cf,pd),Lh=Is(Lu,$h);function Is(Y,z){var K=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,O=z.match(/attribute ([\\w]+) ([\\w]+)/g),$=Y.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),pe=z.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),de=pe?pe.concat($):$,Ie={};return Y=Y.replace(K,function($e,pt,Kt,ir,Jt){return Ie[Jt]=!0,pt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - "varying `+Kt+\" \"+ir+\" \"+Jt+`;\n", - "#else\n", - "uniform `+Kt+\" \"+ir+\" u_\"+Jt+`;\n", - "#endif\n", - "`:`\n", - "#ifdef HAS_UNIFORM_u_`+Jt+`\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`}),z=z.replace(K,function($e,pt,Kt,ir,Jt){var vt=ir===\"float\"?\"vec2\":\"vec4\",Pt=Jt.match(/color/)?\"color\":vt;return Ie[Jt]?pt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - "uniform lowp float u_`+Jt+`_t;\n", - "attribute `+Kt+\" \"+vt+\" a_\"+Jt+`;\n", - "varying `+Kt+\" \"+ir+\" \"+Jt+`;\n", - "#else\n", - "uniform `+Kt+\" \"+ir+\" u_\"+Jt+`;\n", - "#endif\n", - "`:Pt===\"vec4\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - " `+Jt+\" = a_\"+Jt+`;\n", - "#else\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`:`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - " `+Jt+\" = unpack_mix_\"+Pt+\"(a_\"+Jt+\", u_\"+Jt+`_t);\n", - "#else\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`:pt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - "uniform lowp float u_`+Jt+`_t;\n", - "attribute `+Kt+\" \"+vt+\" a_\"+Jt+`;\n", - "#else\n", - "uniform `+Kt+\" \"+ir+\" u_\"+Jt+`;\n", - "#endif\n", - "`:Pt===\"vec4\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = a_\"+Jt+`;\n", - "#else\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`:`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = unpack_mix_\"+Pt+\"(a_\"+Jt+\", u_\"+Jt+`_t);\n", - "#else\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`}),{fragmentSource:Y,vertexSource:z,staticAttributes:O,staticUniforms:de}}var Pf=Object.freeze({__proto__:null,prelude:tu,background:Pu,backgroundPattern:Lc,circle:fl,clippingMask:Xc,heatmap:ic,heatmapTexture:yu,collisionBox:Qs,collisionCircle:Qh,debug:gd,fill:Gu,fillOutline:Pc,fillOutlinePattern:vc,fillPattern:sv,fillExtrusion:Lf,fillExtrusionPattern:Uf,hillshadePrepare:Iu,hillshade:oh,line:ru,lineGradient:vf,linePattern:md,lineSDF:sh,raster:Fs,symbolIcon:_u,symbolSDF:xu,symbolTextAndIcon:Lh}),Ic=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};Ic.prototype.bind=function(z,K,O,$,pe,de,Ie,$e){this.context=z;for(var pt=this.boundPaintVertexBuffers.length!==$.length,Kt=0;!pt&&Kt<$.length;Kt++)this.boundPaintVertexBuffers[Kt]!==$[Kt]&&(pt=!0);var ir=!this.vao||this.boundProgram!==K||this.boundLayoutVertexBuffer!==O||pt||this.boundIndexBuffer!==pe||this.boundVertexOffset!==de||this.boundDynamicVertexBuffer!==Ie||this.boundDynamicVertexBuffer2!==$e;!z.extVertexArrayObject||ir?this.freshBind(K,O,$,pe,de,Ie,$e):(z.bindVertexArrayOES.set(this.vao),Ie&&Ie.bind(),pe&&pe.dynamicDraw&&pe.bind(),$e&&$e.bind())},Ic.prototype.freshBind=function(z,K,O,$,pe,de,Ie){var $e,pt=z.numAttributes,Kt=this.context,ir=Kt.gl;if(Kt.extVertexArrayObject)this.vao&&this.destroy(),this.vao=Kt.extVertexArrayObject.createVertexArrayOES(),Kt.bindVertexArrayOES.set(this.vao),$e=0,this.boundProgram=z,this.boundLayoutVertexBuffer=K,this.boundPaintVertexBuffers=O,this.boundIndexBuffer=$,this.boundVertexOffset=pe,this.boundDynamicVertexBuffer=de,this.boundDynamicVertexBuffer2=Ie;else{$e=Kt.currentNumAttributes||0;for(var Jt=pt;Jt<$e;Jt++)ir.disableVertexAttribArray(Jt)}K.enableAttributes(ir,z);for(var vt=0,Pt=O;vt<Pt.length;vt+=1){var Wt=Pt[vt];Wt.enableAttributes(ir,z)}de&&de.enableAttributes(ir,z),Ie&&Ie.enableAttributes(ir,z),K.bind(),K.setVertexAttribPointers(ir,z,pe);for(var rr=0,dr=O;rr<dr.length;rr+=1){var pr=dr[rr];pr.bind(),pr.setVertexAttribPointers(ir,z,pe)}de&&(de.bind(),de.setVertexAttribPointers(ir,z,pe)),$&&$.bind(),Ie&&(Ie.bind(),Ie.setVertexAttribPointers(ir,z,pe)),Kt.currentNumAttributes=pt},Ic.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)};function ju(Y){for(var z=[],K=0;K<Y.length;K++)if(Y[K]!==null){var O=Y[K].split(\" \");z.push(O.pop())}return z}var Vf=function(z,K,O,$,pe,de){var Ie=z.gl;this.program=Ie.createProgram();for(var $e=ju(O.staticAttributes),pt=$?$.getBinderAttributes():[],Kt=$e.concat(pt),ir=O.staticUniforms?ju(O.staticUniforms):[],Jt=$?$.getBinderUniforms():[],vt=ir.concat(Jt),Pt=[],Wt=0,rr=vt;Wt<rr.length;Wt+=1){var dr=rr[Wt];Pt.indexOf(dr)<0&&Pt.push(dr)}var pr=$?$.defines():[];de&&pr.push(\"#define OVERDRAW_INSPECTOR;\");var kr=pr.concat(tu.fragmentSource,O.fragmentSource).join(`\n", - "`),Ar=pr.concat(tu.vertexSource,O.vertexSource).join(`\n", - "`),gr=Ie.createShader(Ie.FRAGMENT_SHADER);if(Ie.isContextLost()){this.failedToCreate=!0;return}Ie.shaderSource(gr,kr),Ie.compileShader(gr),Ie.attachShader(this.program,gr);var Cr=Ie.createShader(Ie.VERTEX_SHADER);if(Ie.isContextLost()){this.failedToCreate=!0;return}Ie.shaderSource(Cr,Ar),Ie.compileShader(Cr),Ie.attachShader(this.program,Cr),this.attributes={};var cr={};this.numAttributes=Kt.length;for(var Gr=0;Gr<this.numAttributes;Gr++)Kt[Gr]&&(Ie.bindAttribLocation(this.program,Gr,Kt[Gr]),this.attributes[Kt[Gr]]=Gr);Ie.linkProgram(this.program),Ie.deleteShader(Cr),Ie.deleteShader(gr);for(var ei=0;ei<Pt.length;ei++){var yi=Pt[ei];if(yi&&!cr[yi]){var tn=Ie.getUniformLocation(this.program,yi);tn&&(cr[yi]=tn)}}this.fixedUniforms=pe(z,cr),this.binderUniforms=$?$.getUniforms(z,cr):[]};Vf.prototype.draw=function(z,K,O,$,pe,de,Ie,$e,pt,Kt,ir,Jt,vt,Pt,Wt,rr){var dr,pr=z.gl;if(!this.failedToCreate){z.program.set(this.program),z.setDepthMode(O),z.setStencilMode($),z.setColorMode(pe),z.setCullFace(de);for(var kr in this.fixedUniforms)this.fixedUniforms[kr].set(Ie[kr]);Pt&&Pt.setUniforms(z,this.binderUniforms,Jt,{zoom:vt});for(var Ar=(dr={},dr[pr.LINES]=2,dr[pr.TRIANGLES]=3,dr[pr.LINE_STRIP]=1,dr)[K],gr=0,Cr=ir.get();gr<Cr.length;gr+=1){var cr=Cr[gr],Gr=cr.vaos||(cr.vaos={}),ei=Gr[$e]||(Gr[$e]=new Ic);ei.bind(z,this,pt,Pt?Pt.getPaintVertexBuffers():[],Kt,cr.vertexOffset,Wt,rr),pr.drawElements(K,cr.primitiveLength*Ar,pr.UNSIGNED_SHORT,cr.primitiveOffset*Ar*2)}}};function pc(Y,z,K){var O=1/Cs(K,1,z.transform.tileZoom),$=Math.pow(2,K.tileID.overscaledZ),pe=K.tileSize*Math.pow(2,z.transform.tileZoom)/$,de=pe*(K.tileID.canonical.x+K.tileID.wrap*$),Ie=pe*K.tileID.canonical.y;return{u_image:0,u_texsize:K.imageAtlasTexture.size,u_scale:[O,Y.fromScale,Y.toScale],u_fade:Y.t,u_pixel_coord_upper:[de>>16,Ie>>16],u_pixel_coord_lower:[de&65535,Ie&65535]}}function pf(Y,z,K,O){var $=K.imageManager.getPattern(Y.from.toString()),pe=K.imageManager.getPattern(Y.to.toString()),de=K.imageManager.getPixelSize(),Ie=de.width,$e=de.height,pt=Math.pow(2,O.tileID.overscaledZ),Kt=O.tileSize*Math.pow(2,K.transform.tileZoom)/pt,ir=Kt*(O.tileID.canonical.x+O.tileID.wrap*pt),Jt=Kt*O.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:$.tl,u_pattern_br_a:$.br,u_pattern_tl_b:pe.tl,u_pattern_br_b:pe.br,u_texsize:[Ie,$e],u_mix:z.t,u_pattern_size_a:$.displaySize,u_pattern_size_b:pe.displaySize,u_scale_a:z.fromScale,u_scale_b:z.toScale,u_tile_units_to_pixels:1/Cs(O,1,K.transform.tileZoom),u_pixel_coord_upper:[ir>>16,Jt>>16],u_pixel_coord_lower:[ir&65535,Jt&65535]}}var Ph=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_lightpos:new i.Uniform3f(Y,z.u_lightpos),u_lightintensity:new i.Uniform1f(Y,z.u_lightintensity),u_lightcolor:new i.Uniform3f(Y,z.u_lightcolor),u_vertical_gradient:new i.Uniform1f(Y,z.u_vertical_gradient),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},Dl=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_lightpos:new i.Uniform3f(Y,z.u_lightpos),u_lightintensity:new i.Uniform1f(Y,z.u_lightintensity),u_lightcolor:new i.Uniform3f(Y,z.u_lightcolor),u_vertical_gradient:new i.Uniform1f(Y,z.u_vertical_gradient),u_height_factor:new i.Uniform1f(Y,z.u_height_factor),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},Ih=function(Y,z,K,O){var $=z.style.light,pe=$.properties.get(\"position\"),de=[pe.x,pe.y,pe.z],Ie=i.create$1();$.properties.get(\"anchor\")===\"viewport\"&&i.fromRotation(Ie,-z.transform.angle),i.transformMat3(de,de,Ie);var $e=$.properties.get(\"color\");return{u_matrix:Y,u_lightpos:de,u_lightintensity:$.properties.get(\"intensity\"),u_lightcolor:[$e.r,$e.g,$e.b],u_vertical_gradient:+K,u_opacity:O}},Wu=function(Y,z,K,O,$,pe,de){return i.extend(Ih(Y,z,K,O),pc(pe,z,de),{u_height_factor:-Math.pow(2,$.overscaledZ)/de.tileSize/8})},Rc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},gc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},hl=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world)}},iu=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},mc=function(Y){return{u_matrix:Y}},Yc=function(Y,z,K,O){return i.extend(mc(Y),pc(K,z,O))},nc=function(Y,z){return{u_matrix:Y,u_world:z}},gf=function(Y,z,K,O,$){return i.extend(Yc(Y,z,K,O),{u_world:$})},gt=function(Y,z){return{u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_scale_with_map:new i.Uniform1i(Y,z.u_scale_with_map),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_extrude_scale:new i.Uniform2f(Y,z.u_extrude_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},Bt=function(Y,z,K,O){var $=Y.transform,pe,de;if(O.paint.get(\"circle-pitch-alignment\")===\"map\"){var Ie=Cs(K,1,$.zoom);pe=!0,de=[Ie,Ie]}else pe=!1,de=$.pixelsToGLUnits;return{u_camera_to_center_distance:$.cameraToCenterDistance,u_scale_with_map:+(O.paint.get(\"circle-pitch-scale\")===\"map\"),u_matrix:Y.translatePosMatrix(z.posMatrix,K,O.paint.get(\"circle-translate\"),O.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+pe,u_device_pixel_ratio:i.browser.devicePixelRatio,u_extrude_scale:de}},wr=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pixels_to_tile_units:new i.Uniform1f(Y,z.u_pixels_to_tile_units),u_extrude_scale:new i.Uniform2f(Y,z.u_extrude_scale),u_overscale_factor:new i.Uniform1f(Y,z.u_overscale_factor)}},vr=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_inv_matrix:new i.UniformMatrix4f(Y,z.u_inv_matrix),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_viewport_size:new i.Uniform2f(Y,z.u_viewport_size)}},Ur=function(Y,z,K){var O=Cs(K,1,z.zoom),$=Math.pow(2,z.zoom-K.tileID.overscaledZ),pe=K.tileID.overscaleFactor();return{u_matrix:Y,u_camera_to_center_distance:z.cameraToCenterDistance,u_pixels_to_tile_units:O,u_extrude_scale:[z.pixelsToGLUnits[0]/(O*$),z.pixelsToGLUnits[1]/(O*$)],u_overscale_factor:pe}},fi=function(Y,z,K){return{u_matrix:Y,u_inv_matrix:z,u_camera_to_center_distance:K.cameraToCenterDistance,u_viewport_size:[K.width,K.height]}},xi=function(Y,z){return{u_color:new i.UniformColor(Y,z.u_color),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_overlay:new i.Uniform1i(Y,z.u_overlay),u_overlay_scale:new i.Uniform1f(Y,z.u_overlay_scale)}},Fi=function(Y,z,K){return K===void 0&&(K=1),{u_matrix:Y,u_color:z,u_overlay:0,u_overlay_scale:K}},Xi=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},hn=function(Y){return{u_matrix:Y}},Ti=function(Y,z){return{u_extrude_scale:new i.Uniform1f(Y,z.u_extrude_scale),u_intensity:new i.Uniform1f(Y,z.u_intensity),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},qi=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world),u_image:new i.Uniform1i(Y,z.u_image),u_color_ramp:new i.Uniform1i(Y,z.u_color_ramp),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},Ii=function(Y,z,K,O){return{u_matrix:Y,u_extrude_scale:Cs(z,1,K),u_intensity:O}},mi=function(Y,z,K,O){var $=i.create();i.ortho($,0,Y.width,Y.height,0,0,1);var pe=Y.context.gl;return{u_matrix:$,u_world:[pe.drawingBufferWidth,pe.drawingBufferHeight],u_image:K,u_color_ramp:O,u_opacity:z.paint.get(\"heatmap-opacity\")}},Pn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_latrange:new i.Uniform2f(Y,z.u_latrange),u_light:new i.Uniform2f(Y,z.u_light),u_shadow:new i.UniformColor(Y,z.u_shadow),u_highlight:new i.UniformColor(Y,z.u_highlight),u_accent:new i.UniformColor(Y,z.u_accent)}},Ma=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_dimension:new i.Uniform2f(Y,z.u_dimension),u_zoom:new i.Uniform1f(Y,z.u_zoom),u_unpack:new i.Uniform4f(Y,z.u_unpack)}},Ta=function(Y,z,K){var O=K.paint.get(\"hillshade-shadow-color\"),$=K.paint.get(\"hillshade-highlight-color\"),pe=K.paint.get(\"hillshade-accent-color\"),de=K.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);K.paint.get(\"hillshade-illumination-anchor\")===\"viewport\"&&(de-=Y.transform.angle);var Ie=!Y.options.moving;return{u_matrix:Y.transform.calculatePosMatrix(z.tileID.toUnwrapped(),Ie),u_image:0,u_latrange:qa(Y,z.tileID),u_light:[K.paint.get(\"hillshade-exaggeration\"),de],u_shadow:O,u_highlight:$,u_accent:pe}},Ea=function(Y,z){var K=z.stride,O=i.create();return i.ortho(O,0,i.EXTENT,-i.EXTENT,0,0,1),i.translate(O,O,[0,-i.EXTENT,0]),{u_matrix:O,u_image:1,u_dimension:[K,K],u_zoom:Y.overscaledZ,u_unpack:z.getUnpackVector()}};function qa(Y,z){var K=Math.pow(2,z.canonical.z),O=z.canonical.y;return[new i.MercatorCoordinate(0,O/K).toLngLat().lat,new i.MercatorCoordinate(0,(O+1)/K).toLngLat().lat]}var Cn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels)}},sn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_image:new i.Uniform1i(Y,z.u_image),u_image_height:new i.Uniform1f(Y,z.u_image_height)}},Ua=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_image:new i.Uniform1i(Y,z.u_image),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},mo=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_patternscale_a:new i.Uniform2f(Y,z.u_patternscale_a),u_patternscale_b:new i.Uniform2f(Y,z.u_patternscale_b),u_sdfgamma:new i.Uniform1f(Y,z.u_sdfgamma),u_image:new i.Uniform1i(Y,z.u_image),u_tex_y_a:new i.Uniform1f(Y,z.u_tex_y_a),u_tex_y_b:new i.Uniform1f(Y,z.u_tex_y_b),u_mix:new i.Uniform1f(Y,z.u_mix)}},Xo=function(Y,z,K){var O=Y.transform;return{u_matrix:yl(Y,z,K),u_ratio:1/Cs(z,1,O.zoom),u_device_pixel_ratio:i.browser.devicePixelRatio,u_units_to_pixels:[1/O.pixelsToGLUnits[0],1/O.pixelsToGLUnits[1]]}},Ts=function(Y,z,K,O){return i.extend(Xo(Y,z,K),{u_image:0,u_image_height:O})},Qo=function(Y,z,K,O){var $=Y.transform,pe=Bo(z,$);return{u_matrix:yl(Y,z,K),u_texsize:z.imageAtlasTexture.size,u_ratio:1/Cs(z,1,$.zoom),u_device_pixel_ratio:i.browser.devicePixelRatio,u_image:0,u_scale:[pe,O.fromScale,O.toScale],u_fade:O.t,u_units_to_pixels:[1/$.pixelsToGLUnits[0],1/$.pixelsToGLUnits[1]]}},ys=function(Y,z,K,O,$){var pe=Y.transform,de=Y.lineAtlas,Ie=Bo(z,pe),$e=K.layout.get(\"line-cap\")===\"round\",pt=de.getDash(O.from,$e),Kt=de.getDash(O.to,$e),ir=pt.width*$.fromScale,Jt=Kt.width*$.toScale;return i.extend(Xo(Y,z,K),{u_patternscale_a:[Ie/ir,-pt.height/2],u_patternscale_b:[Ie/Jt,-Kt.height/2],u_sdfgamma:de.width/(Math.min(ir,Jt)*256*i.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:pt.y,u_tex_y_b:Kt.y,u_mix:$.t})};function Bo(Y,z){return 1/Cs(Y,1,z.tileZoom)}function yl(Y,z,K){return Y.translatePosMatrix(z.tileID.posMatrix,z,K.paint.get(\"line-translate\"),K.paint.get(\"line-translate-anchor\"))}var Gs=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_tl_parent:new i.Uniform2f(Y,z.u_tl_parent),u_scale_parent:new i.Uniform1f(Y,z.u_scale_parent),u_buffer_scale:new i.Uniform1f(Y,z.u_buffer_scale),u_fade_t:new i.Uniform1f(Y,z.u_fade_t),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_image0:new i.Uniform1i(Y,z.u_image0),u_image1:new i.Uniform1i(Y,z.u_image1),u_brightness_low:new i.Uniform1f(Y,z.u_brightness_low),u_brightness_high:new i.Uniform1f(Y,z.u_brightness_high),u_saturation_factor:new i.Uniform1f(Y,z.u_saturation_factor),u_contrast_factor:new i.Uniform1f(Y,z.u_contrast_factor),u_spin_weights:new i.Uniform3f(Y,z.u_spin_weights)}},Rs=function(Y,z,K,O,$){return{u_matrix:Y,u_tl_parent:z,u_scale_parent:K,u_buffer_scale:1,u_fade_t:O.mix,u_opacity:O.opacity*$.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:$.paint.get(\"raster-brightness-min\"),u_brightness_high:$.paint.get(\"raster-brightness-max\"),u_saturation_factor:vs($.paint.get(\"raster-saturation\")),u_contrast_factor:Ka($.paint.get(\"raster-contrast\")),u_spin_weights:ia($.paint.get(\"raster-hue-rotate\"))}};function ia(Y){Y*=Math.PI/180;var z=Math.sin(Y),K=Math.cos(Y);return[(2*K+1)/3,(-Math.sqrt(3)*z-K+1)/3,(Math.sqrt(3)*z-K+1)/3]}function Ka(Y){return Y>0?1/(1-Y):1+Y}function vs(Y){return Y>0?1-1/(1.001-Y):-Y}var Ko=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texture:new i.Uniform1i(Y,z.u_texture)}},nu=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texture:new i.Uniform1i(Y,z.u_texture),u_gamma_scale:new i.Uniform1f(Y,z.u_gamma_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_is_halo:new i.Uniform1i(Y,z.u_is_halo)}},Ru=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texsize_icon:new i.Uniform2f(Y,z.u_texsize_icon),u_texture:new i.Uniform1i(Y,z.u_texture),u_texture_icon:new i.Uniform1i(Y,z.u_texture_icon),u_gamma_scale:new i.Uniform1f(Y,z.u_gamma_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_is_halo:new i.Uniform1i(Y,z.u_is_halo)}},ac=function(Y,z,K,O,$,pe,de,Ie,$e,pt){var Kt=$.transform;return{u_is_size_zoom_constant:+(Y===\"constant\"||Y===\"source\"),u_is_size_feature_constant:+(Y===\"constant\"||Y===\"camera\"),u_size_t:z?z.uSizeT:0,u_size:z?z.uSize:0,u_camera_to_center_distance:Kt.cameraToCenterDistance,u_pitch:Kt.pitch/360*2*Math.PI,u_rotate_symbol:+K,u_aspect_ratio:Kt.width/Kt.height,u_fade_change:$.options.fadeDuration?$.symbolFadeChange:1,u_matrix:pe,u_label_plane_matrix:de,u_coord_matrix:Ie,u_is_text:+$e,u_pitch_with_map:+O,u_texsize:pt,u_texture:0}},mf=function(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt){var ir=$.transform;return i.extend(ac(Y,z,K,O,$,pe,de,Ie,$e,pt),{u_gamma_scale:O?Math.cos(ir._pitch)*ir.cameraToCenterDistance:1,u_device_pixel_ratio:i.browser.devicePixelRatio,u_is_halo:+Kt})},bu=function(Y,z,K,O,$,pe,de,Ie,$e,pt){return i.extend(mf(Y,z,K,O,$,pe,de,Ie,!0,$e,!0),{u_texsize_icon:pt,u_texture_icon:1})},Kc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_color:new i.UniformColor(Y,z.u_color)}},Du=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_image:new i.Uniform1i(Y,z.u_image),u_pattern_tl_a:new i.Uniform2f(Y,z.u_pattern_tl_a),u_pattern_br_a:new i.Uniform2f(Y,z.u_pattern_br_a),u_pattern_tl_b:new i.Uniform2f(Y,z.u_pattern_tl_b),u_pattern_br_b:new i.Uniform2f(Y,z.u_pattern_br_b),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_mix:new i.Uniform1f(Y,z.u_mix),u_pattern_size_a:new i.Uniform2f(Y,z.u_pattern_size_a),u_pattern_size_b:new i.Uniform2f(Y,z.u_pattern_size_b),u_scale_a:new i.Uniform1f(Y,z.u_scale_a),u_scale_b:new i.Uniform1f(Y,z.u_scale_b),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_tile_units_to_pixels:new i.Uniform1f(Y,z.u_tile_units_to_pixels)}},Dc=function(Y,z,K){return{u_matrix:Y,u_opacity:z,u_color:K}},Da=function(Y,z,K,O,$,pe){return i.extend(pf(O,pe,K,$),{u_matrix:Y,u_opacity:z})},eo={fillExtrusion:Ph,fillExtrusionPattern:Dl,fill:Rc,fillPattern:gc,fillOutline:hl,fillOutlinePattern:iu,circle:gt,collisionBox:wr,collisionCircle:vr,debug:xi,clippingMask:Xi,heatmap:Ti,heatmapTexture:qi,hillshade:Pn,hillshadePrepare:Ma,line:Cn,lineGradient:sn,linePattern:Ua,lineSDF:mo,raster:Gs,symbolIcon:Ko,symbolSDF:nu,symbolTextAndIcon:Ru,background:Kc,backgroundPattern:Du},Jc;function yc(Y,z,K,O,$,pe,de){for(var Ie=Y.context,$e=Ie.gl,pt=Y.useProgram(\"collisionBox\"),Kt=[],ir=0,Jt=0,vt=0;vt<O.length;vt++){var Pt=O[vt],Wt=z.getTile(Pt),rr=Wt.getBucket(K);if(rr){var dr=Pt.posMatrix;($[0]!==0||$[1]!==0)&&(dr=Y.translatePosMatrix(Pt.posMatrix,Wt,$,pe));var pr=de?rr.textCollisionBox:rr.iconCollisionBox,kr=rr.collisionCircleArray;if(kr.length>0){var Ar=i.create(),gr=dr;i.mul(Ar,rr.placementInvProjMatrix,Y.transform.glCoordMatrix),i.mul(Ar,Ar,rr.placementViewportMatrix),Kt.push({circleArray:kr,circleOffset:Jt,transform:gr,invTransform:Ar}),ir+=kr.length/4,Jt=ir}pr&&pt.draw(Ie,$e.LINES,Wi.disabled,$i.disabled,Y.colorModeForRenderPass(),yr.disabled,Ur(dr,Y.transform,Wt),K.id,pr.layoutVertexBuffer,pr.indexBuffer,pr.segments,null,Y.transform.zoom,null,null,pr.collisionVertexBuffer)}}if(!(!de||!Kt.length)){var Cr=Y.useProgram(\"collisionCircle\"),cr=new i.StructArrayLayout2f1f2i16;cr.resize(ir*4),cr._trim();for(var Gr=0,ei=0,yi=Kt;ei<yi.length;ei+=1)for(var tn=yi[ei],Ri=0;Ri<tn.circleArray.length/4;Ri++){var ln=Ri*4,Qn=tn.circleArray[ln+0],qn=tn.circleArray[ln+1],rn=tn.circleArray[ln+2],bn=tn.circleArray[ln+3];cr.emplace(Gr++,Qn,qn,rn,bn,0),cr.emplace(Gr++,Qn,qn,rn,bn,1),cr.emplace(Gr++,Qn,qn,rn,bn,2),cr.emplace(Gr++,Qn,qn,rn,bn,3)}(!Jc||Jc.length<ir*2)&&(Jc=_c(ir));for(var mn=Ie.createIndexBuffer(Jc,!0),Gn=Ie.createVertexBuffer(cr,i.collisionCircleLayout.members,!0),da=0,No=Kt;da<No.length;da+=1){var Do=No[da],ps=fi(Do.transform,Do.invTransform,Y.transform);Cr.draw(Ie,$e.TRIANGLES,Wi.disabled,$i.disabled,Y.colorModeForRenderPass(),yr.disabled,ps,K.id,Gn,mn,i.SegmentVector.simpleSegment(0,Do.circleOffset*2,Do.circleArray.length,Do.circleArray.length/2),null,Y.transform.zoom,null,null,null)}Gn.destroy(),mn.destroy()}}function _c(Y){var z=Y*2,K=new i.StructArrayLayout3ui6;K.resize(z),K._trim();for(var O=0;O<z;O++){var $=O*6;K.uint16[$+0]=O*4+0,K.uint16[$+1]=O*4+1,K.uint16[$+2]=O*4+2,K.uint16[$+3]=O*4+2,K.uint16[$+4]=O*4+3,K.uint16[$+5]=O*4+0}return K}var le=i.identity(new Float32Array(16));function w(Y,z,K,O,$){if(Y.renderPass===\"translucent\"){var pe=$i.disabled,de=Y.colorModeForRenderPass(),Ie=K.layout.get(\"text-variable-anchor\");Ie&&Q(O,Y,K,z,K.layout.get(\"text-rotation-alignment\"),K.layout.get(\"text-pitch-alignment\"),$),K.paint.get(\"icon-opacity\").constantOr(1)!==0&&qe(Y,z,K,O,!1,K.paint.get(\"icon-translate\"),K.paint.get(\"icon-translate-anchor\"),K.layout.get(\"icon-rotation-alignment\"),K.layout.get(\"icon-pitch-alignment\"),K.layout.get(\"icon-keep-upright\"),pe,de),K.paint.get(\"text-opacity\").constantOr(1)!==0&&qe(Y,z,K,O,!0,K.paint.get(\"text-translate\"),K.paint.get(\"text-translate-anchor\"),K.layout.get(\"text-rotation-alignment\"),K.layout.get(\"text-pitch-alignment\"),K.layout.get(\"text-keep-upright\"),pe,de),z.map.showCollisionBoxes&&(yc(Y,z,K,O,K.paint.get(\"text-translate\"),K.paint.get(\"text-translate-anchor\"),!0),yc(Y,z,K,O,K.paint.get(\"icon-translate\"),K.paint.get(\"icon-translate-anchor\"),!1))}}function B(Y,z,K,O,$,pe){var de=i.getAnchorAlignment(Y),Ie=de.horizontalAlign,$e=de.verticalAlign,pt=-(Ie-.5)*z,Kt=-($e-.5)*K,ir=i.evaluateVariableOffset(Y,O);return new i.Point((pt/$+ir[0])*pe,(Kt/$+ir[1])*pe)}function Q(Y,z,K,O,$,pe,de){for(var Ie=z.transform,$e=$===\"map\",pt=pe===\"map\",Kt=0,ir=Y;Kt<ir.length;Kt+=1){var Jt=ir[Kt],vt=O.getTile(Jt),Pt=vt.getBucket(K);if(!(!Pt||!Pt.text||!Pt.text.segments.get().length)){var Wt=Pt.textSizeData,rr=i.evaluateSizeForZoom(Wt,Ie.zoom),dr=Cs(vt,1,z.transform.zoom),pr=Ji(Jt.posMatrix,pt,$e,z.transform,dr),kr=K.layout.get(\"icon-text-fit\")!==\"none\"&&Pt.hasIconData();if(rr){var Ar=Math.pow(2,Ie.zoom-vt.tileID.overscaledZ);ee(Pt,$e,pt,de,i.symbolSize,Ie,pr,Jt.posMatrix,Ar,rr,kr)}}}}function ee(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt){var ir=Y.text.placedSymbolArray,Jt=Y.text.dynamicLayoutVertexArray,vt=Y.icon.dynamicLayoutVertexArray,Pt={};Jt.clear();for(var Wt=0;Wt<ir.length;Wt++){var rr=ir.get(Wt),dr=Y.allowVerticalPlacement&&!rr.placedOrientation,pr=!rr.hidden&&rr.crossTileID&&!dr?O[rr.crossTileID]:null;if(!pr)Xs(rr.numGlyphs,Jt);else{var kr=new i.Point(rr.anchorX,rr.anchorY),Ar=Fn(kr,K?Ie:de),gr=Sa(pe.cameraToCenterDistance,Ar.signedDistanceFromCamera),Cr=$.evaluateSizeForFeature(Y.textSizeData,pt,rr)*gr/i.ONE_EM;K&&(Cr*=Y.tilePixelRatio/$e);for(var cr=pr.width,Gr=pr.height,ei=pr.anchor,yi=pr.textOffset,tn=pr.textBoxScale,Ri=B(ei,cr,Gr,yi,tn,Cr),ln=K?Fn(kr.add(Ri),de).point:Ar.point.add(z?Ri.rotate(-pe.angle):Ri),Qn=Y.allowVerticalPlacement&&rr.placedOrientation===i.WritingMode.vertical?Math.PI/2:0,qn=0;qn<rr.numGlyphs;qn++)i.addDynamicAttributes(Jt,ln,Qn);Kt&&rr.associatedIconIndex>=0&&(Pt[rr.associatedIconIndex]={shiftedAnchor:ln,angle:Qn})}}if(Kt){vt.clear();for(var rn=Y.icon.placedSymbolArray,bn=0;bn<rn.length;bn++){var mn=rn.get(bn);if(mn.hidden)Xs(mn.numGlyphs,vt);else{var Gn=Pt[bn];if(!Gn)Xs(mn.numGlyphs,vt);else for(var da=0;da<mn.numGlyphs;da++)i.addDynamicAttributes(vt,Gn.shiftedAnchor,Gn.angle)}}Y.icon.dynamicLayoutVertexBuffer.updateData(vt)}Y.text.dynamicLayoutVertexBuffer.updateData(Jt)}function se(Y,z,K){return K.iconsInText&&z?\"symbolTextAndIcon\":Y?\"symbolSDF\":\"symbolIcon\"}function qe(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt,ir){for(var Jt=Y.context,vt=Jt.gl,Pt=Y.transform,Wt=Ie===\"map\",rr=$e===\"map\",dr=Wt&&K.layout.get(\"symbol-placement\")!==\"point\",pr=Wt&&!rr&&!dr,kr=K.layout.get(\"symbol-sort-key\").constantOr(1)!==void 0,Ar=!1,gr=Y.depthModeForSublayer(0,Wi.ReadOnly),Cr=K.layout.get(\"text-variable-anchor\"),cr=[],Gr=0,ei=O;Gr<ei.length;Gr+=1){var yi=ei[Gr],tn=z.getTile(yi),Ri=tn.getBucket(K);if(Ri){var ln=$?Ri.text:Ri.icon;if(!(!ln||!ln.segments.get().length)){var Qn=ln.programConfigurations.get(K.id),qn=$||Ri.sdfIcons,rn=$?Ri.textSizeData:Ri.iconSizeData,bn=rr||Pt.pitch!==0,mn=Y.useProgram(se(qn,$,Ri),Qn),Gn=i.evaluateSizeForZoom(rn,Pt.zoom),da=void 0,No=[0,0],Do=void 0,ps=void 0,fo=null,as=void 0;if($){if(Do=tn.glyphAtlasTexture,ps=vt.LINEAR,da=tn.glyphAtlasTexture.size,Ri.iconsInText){No=tn.imageAtlasTexture.size,fo=tn.imageAtlasTexture;var tl=rn.kind===\"composite\"||rn.kind===\"camera\";as=bn||Y.options.rotating||Y.options.zooming||tl?vt.LINEAR:vt.NEAREST}}else{var zu=K.layout.get(\"icon-size\").constantOr(0)!==1||Ri.iconsNeedLinear;Do=tn.imageAtlasTexture,ps=qn||Y.options.rotating||Y.options.zooming||zu||bn?vt.LINEAR:vt.NEAREST,da=tn.imageAtlasTexture.size}var Mv=Cs(tn,1,Y.transform.zoom),Ev=Ji(yi.posMatrix,rr,Wt,Y.transform,Mv),yd=ua(yi.posMatrix,rr,Wt,Y.transform,Mv),Yv=Cr&&Ri.hasTextData(),cg=K.layout.get(\"icon-text-fit\")!==\"none\"&&Yv&&Ri.hasIconData();dr&&Oo(Ri,yi.posMatrix,Y,$,Ev,yd,rr,pt);var vp=Y.translatePosMatrix(yi.posMatrix,tn,pe,de),_d=dr||$&&Cr||cg?le:Ev,pp=Y.translatePosMatrix(yd,tn,pe,de,!0),Nd=qn&&K.paint.get($?\"text-halo-width\":\"icon-halo-width\").constantOr(1)!==0,xd=void 0;qn?Ri.iconsInText?xd=bu(rn.kind,Gn,pr,rr,Y,vp,_d,pp,da,No):xd=mf(rn.kind,Gn,pr,rr,Y,vp,_d,pp,$,da,!0):xd=ac(rn.kind,Gn,pr,rr,Y,vp,_d,pp,$,da);var kv={program:mn,buffers:ln,uniformValues:xd,atlasTexture:Do,atlasTextureIcon:fo,atlasInterpolation:ps,atlasInterpolationIcon:as,isSDF:qn,hasHalo:Nd};if(kr&&Ri.canOverlap){Ar=!0;for(var Kv=ln.segments.get(),Cv=0,ny=Kv;Cv<ny.length;Cv+=1){var fg=ny[Cv];cr.push({segments:new i.SegmentVector([fg]),sortKey:fg.sortKey,state:kv})}}else cr.push({segments:ln.segments,sortKey:0,state:kv})}}}Ar&&cr.sort(function(w1,T1){return w1.sortKey-T1.sortKey});for(var Hf=0,hg=cr;Hf<hg.length;Hf+=1){var ay=hg[Hf],Rh=ay.state;if(Jt.activeTexture.set(vt.TEXTURE0),Rh.atlasTexture.bind(Rh.atlasInterpolation,vt.CLAMP_TO_EDGE),Rh.atlasTextureIcon&&(Jt.activeTexture.set(vt.TEXTURE1),Rh.atlasTextureIcon&&Rh.atlasTextureIcon.bind(Rh.atlasInterpolationIcon,vt.CLAMP_TO_EDGE)),Rh.isSDF){var rm=Rh.uniformValues;Rh.hasHalo&&(rm.u_is_halo=1,je(Rh.buffers,ay.segments,K,Y,Rh.program,gr,Kt,ir,rm)),rm.u_is_halo=0}je(Rh.buffers,ay.segments,K,Y,Rh.program,gr,Kt,ir,Rh.uniformValues)}}function je(Y,z,K,O,$,pe,de,Ie,$e){var pt=O.context,Kt=pt.gl;$.draw(pt,Kt.TRIANGLES,pe,de,Ie,yr.disabled,$e,K.id,Y.layoutVertexBuffer,Y.indexBuffer,z,K.paint,O.transform.zoom,Y.programConfigurations.get(K.id),Y.dynamicLayoutVertexBuffer,Y.opacityVertexBuffer)}function it(Y,z,K,O){if(Y.renderPass===\"translucent\"){var $=K.paint.get(\"circle-opacity\"),pe=K.paint.get(\"circle-stroke-width\"),de=K.paint.get(\"circle-stroke-opacity\"),Ie=K.layout.get(\"circle-sort-key\").constantOr(1)!==void 0;if(!($.constantOr(1)===0&&(pe.constantOr(1)===0||de.constantOr(1)===0))){for(var $e=Y.context,pt=$e.gl,Kt=Y.depthModeForSublayer(0,Wi.ReadOnly),ir=$i.disabled,Jt=Y.colorModeForRenderPass(),vt=[],Pt=0;Pt<O.length;Pt++){var Wt=O[Pt],rr=z.getTile(Wt),dr=rr.getBucket(K);if(dr){var pr=dr.programConfigurations.get(K.id),kr=Y.useProgram(\"circle\",pr),Ar=dr.layoutVertexBuffer,gr=dr.indexBuffer,Cr=Bt(Y,Wt,rr,K),cr={programConfiguration:pr,program:kr,layoutVertexBuffer:Ar,indexBuffer:gr,uniformValues:Cr};if(Ie)for(var Gr=dr.segments.get(),ei=0,yi=Gr;ei<yi.length;ei+=1){var tn=yi[ei];vt.push({segments:new i.SegmentVector([tn]),sortKey:tn.sortKey,state:cr})}else vt.push({segments:dr.segments,sortKey:0,state:cr})}}Ie&&vt.sort(function(Do,ps){return Do.sortKey-ps.sortKey});for(var Ri=0,ln=vt;Ri<ln.length;Ri+=1){var Qn=ln[Ri],qn=Qn.state,rn=qn.programConfiguration,bn=qn.program,mn=qn.layoutVertexBuffer,Gn=qn.indexBuffer,da=qn.uniformValues,No=Qn.segments;bn.draw($e,pt.TRIANGLES,Kt,ir,Jt,yr.disabled,da,K.id,mn,Gn,No,K.paint,Y.transform.zoom,rn)}}}}function yt(Y,z,K,O){if(K.paint.get(\"heatmap-opacity\")!==0)if(Y.renderPass===\"offscreen\"){var $=Y.context,pe=$.gl,de=$i.disabled,Ie=new ft([pe.ONE,pe.ONE],i.Color.transparent,[!0,!0,!0,!0]);Ot($,Y,K),$.clear({color:i.Color.transparent});for(var $e=0;$e<O.length;$e++){var pt=O[$e];if(!z.hasRenderableParent(pt)){var Kt=z.getTile(pt),ir=Kt.getBucket(K);if(ir){var Jt=ir.programConfigurations.get(K.id),vt=Y.useProgram(\"heatmap\",Jt),Pt=Y.transform,Wt=Pt.zoom;vt.draw($,pe.TRIANGLES,Wi.disabled,de,Ie,yr.disabled,Ii(pt.posMatrix,Kt,Wt,K.paint.get(\"heatmap-intensity\")),K.id,ir.layoutVertexBuffer,ir.indexBuffer,ir.segments,K.paint,Y.transform.zoom,Jt)}}}$.viewport.set([0,0,Y.width,Y.height])}else Y.renderPass===\"translucent\"&&(Y.context.setColorMode(Y.colorModeForRenderPass()),hr(Y,K))}function Ot(Y,z,K){var O=Y.gl;Y.activeTexture.set(O.TEXTURE1),Y.viewport.set([0,0,z.width/4,z.height/4]);var $=K.heatmapFbo;if($)O.bindTexture(O.TEXTURE_2D,$.colorAttachment.get()),Y.bindFramebuffer.set($.framebuffer);else{var pe=O.createTexture();O.bindTexture(O.TEXTURE_2D,pe),O.texParameteri(O.TEXTURE_2D,O.TEXTURE_WRAP_S,O.CLAMP_TO_EDGE),O.texParameteri(O.TEXTURE_2D,O.TEXTURE_WRAP_T,O.CLAMP_TO_EDGE),O.texParameteri(O.TEXTURE_2D,O.TEXTURE_MIN_FILTER,O.LINEAR),O.texParameteri(O.TEXTURE_2D,O.TEXTURE_MAG_FILTER,O.LINEAR),$=K.heatmapFbo=Y.createFramebuffer(z.width/4,z.height/4,!1),Nt(Y,z,pe,$)}}function Nt(Y,z,K,O){var $=Y.gl,pe=Y.extRenderToTextureHalfFloat?Y.extTextureHalfFloat.HALF_FLOAT_OES:$.UNSIGNED_BYTE;$.texImage2D($.TEXTURE_2D,0,$.RGBA,z.width/4,z.height/4,0,$.RGBA,pe,null),O.colorAttachment.set(K)}function hr(Y,z){var K=Y.context,O=K.gl,$=z.heatmapFbo;if($){K.activeTexture.set(O.TEXTURE0),O.bindTexture(O.TEXTURE_2D,$.colorAttachment.get()),K.activeTexture.set(O.TEXTURE1);var pe=z.colorRampTexture;pe||(pe=z.colorRampTexture=new i.Texture(K,z.colorRamp,O.RGBA)),pe.bind(O.LINEAR,O.CLAMP_TO_EDGE),Y.useProgram(\"heatmapTexture\").draw(K,O.TRIANGLES,Wi.disabled,$i.disabled,Y.colorModeForRenderPass(),yr.disabled,mi(Y,z,0,1),z.id,Y.viewportBuffer,Y.quadTriangleIndexBuffer,Y.viewportSegments,z.paint,Y.transform.zoom)}}function Sr(Y,z,K,O){if(Y.renderPass===\"translucent\"){var $=K.paint.get(\"line-opacity\"),pe=K.paint.get(\"line-width\");if(!($.constantOr(1)===0||pe.constantOr(1)===0))for(var de=Y.depthModeForSublayer(0,Wi.ReadOnly),Ie=Y.colorModeForRenderPass(),$e=K.paint.get(\"line-dasharray\"),pt=K.paint.get(\"line-pattern\"),Kt=pt.constantOr(1),ir=K.paint.get(\"line-gradient\"),Jt=K.getCrossfadeParameters(),vt=Kt?\"linePattern\":$e?\"lineSDF\":ir?\"lineGradient\":\"line\",Pt=Y.context,Wt=Pt.gl,rr=!0,dr=0,pr=O;dr<pr.length;dr+=1){var kr=pr[dr],Ar=z.getTile(kr);if(!(Kt&&!Ar.patternsLoaded())){var gr=Ar.getBucket(K);if(gr){var Cr=gr.programConfigurations.get(K.id),cr=Y.context.program.get(),Gr=Y.useProgram(vt,Cr),ei=rr||Gr.program!==cr,yi=pt.constantOr(null);if(yi&&Ar.imageAtlas){var tn=Ar.imageAtlas,Ri=tn.patternPositions[yi.to.toString()],ln=tn.patternPositions[yi.from.toString()];Ri&&ln&&Cr.setConstantPatternPositions(Ri,ln)}var Qn=Kt?Qo(Y,Ar,K,Jt):$e?ys(Y,Ar,K,$e,Jt):ir?Ts(Y,Ar,K,gr.lineClipsArray.length):Xo(Y,Ar,K);if(Kt)Pt.activeTexture.set(Wt.TEXTURE0),Ar.imageAtlasTexture.bind(Wt.LINEAR,Wt.CLAMP_TO_EDGE),Cr.updatePaintBuffers(Jt);else if($e&&(ei||Y.lineAtlas.dirty))Pt.activeTexture.set(Wt.TEXTURE0),Y.lineAtlas.bind(Pt);else if(ir){var qn=gr.gradients[K.id],rn=qn.texture;if(K.gradientVersion!==qn.version){var bn=256;if(K.stepInterpolant){var mn=z.getSource().maxzoom,Gn=kr.canonical.z===mn?Math.ceil(1<<Y.transform.maxZoom-kr.canonical.z):1,da=gr.maxLineLength/i.EXTENT,No=1024,Do=da*No*Gn;bn=i.clamp(i.nextPowerOfTwo(Do),256,Pt.maxTextureSize)}qn.gradient=i.renderColorRamp({expression:K.gradientExpression(),evaluationKey:\"lineProgress\",resolution:bn,image:qn.gradient||void 0,clips:gr.lineClipsArray}),qn.texture?qn.texture.update(qn.gradient):qn.texture=new i.Texture(Pt,qn.gradient,Wt.RGBA),qn.version=K.gradientVersion,rn=qn.texture}Pt.activeTexture.set(Wt.TEXTURE0),rn.bind(K.stepInterpolant?Wt.NEAREST:Wt.LINEAR,Wt.CLAMP_TO_EDGE)}Gr.draw(Pt,Wt.TRIANGLES,de,Y.stencilModeForClipping(kr),Ie,yr.disabled,Qn,K.id,gr.layoutVertexBuffer,gr.indexBuffer,gr.segments,K.paint,Y.transform.zoom,Cr,gr.layoutVertexBuffer2),rr=!1}}}}}function he(Y,z,K,O){var $=K.paint.get(\"fill-color\"),pe=K.paint.get(\"fill-opacity\");if(pe.constantOr(1)!==0){var de=Y.colorModeForRenderPass(),Ie=K.paint.get(\"fill-pattern\"),$e=Y.opaquePassEnabledForLayer()&&!Ie.constantOr(1)&&$.constantOr(i.Color.transparent).a===1&&pe.constantOr(0)===1?\"opaque\":\"translucent\";if(Y.renderPass===$e){var pt=Y.depthModeForSublayer(1,Y.renderPass===\"opaque\"?Wi.ReadWrite:Wi.ReadOnly);be(Y,z,K,O,pt,de,!1)}if(Y.renderPass===\"translucent\"&&K.paint.get(\"fill-antialias\")){var Kt=Y.depthModeForSublayer(K.getPaintProperty(\"fill-outline-color\")?2:0,Wi.ReadOnly);be(Y,z,K,O,Kt,de,!0)}}}function be(Y,z,K,O,$,pe,de){var Ie=Y.context.gl,$e=K.paint.get(\"fill-pattern\"),pt=$e&&$e.constantOr(1),Kt=K.getCrossfadeParameters(),ir,Jt,vt,Pt,Wt;de?(Jt=pt&&!K.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",ir=Ie.LINES):(Jt=pt?\"fillPattern\":\"fill\",ir=Ie.TRIANGLES);for(var rr=0,dr=O;rr<dr.length;rr+=1){var pr=dr[rr],kr=z.getTile(pr);if(!(pt&&!kr.patternsLoaded())){var Ar=kr.getBucket(K);if(Ar){var gr=Ar.programConfigurations.get(K.id),Cr=Y.useProgram(Jt,gr);pt&&(Y.context.activeTexture.set(Ie.TEXTURE0),kr.imageAtlasTexture.bind(Ie.LINEAR,Ie.CLAMP_TO_EDGE),gr.updatePaintBuffers(Kt));var cr=$e.constantOr(null);if(cr&&kr.imageAtlas){var Gr=kr.imageAtlas,ei=Gr.patternPositions[cr.to.toString()],yi=Gr.patternPositions[cr.from.toString()];ei&&yi&&gr.setConstantPatternPositions(ei,yi)}var tn=Y.translatePosMatrix(pr.posMatrix,kr,K.paint.get(\"fill-translate\"),K.paint.get(\"fill-translate-anchor\"));if(!de)Pt=Ar.indexBuffer,Wt=Ar.segments,vt=pt?Yc(tn,Y,Kt,kr):mc(tn);else{Pt=Ar.indexBuffer2,Wt=Ar.segments2;var Ri=[Ie.drawingBufferWidth,Ie.drawingBufferHeight];vt=Jt===\"fillOutlinePattern\"&&pt?gf(tn,Y,Kt,kr,Ri):nc(tn,Ri)}Cr.draw(Y.context,ir,$,Y.stencilModeForClipping(pr),pe,yr.disabled,vt,K.id,Ar.layoutVertexBuffer,Pt,Wt,K.paint,Y.transform.zoom,gr)}}}}function Pe(Y,z,K,O){var $=K.paint.get(\"fill-extrusion-opacity\");if($!==0&&Y.renderPass===\"translucent\"){var pe=new Wi(Y.context.gl.LEQUAL,Wi.ReadWrite,Y.depthRangeFor3D);if($===1&&!K.paint.get(\"fill-extrusion-pattern\").constantOr(1)){var de=Y.colorModeForRenderPass();Oe(Y,z,K,O,pe,$i.disabled,de)}else Oe(Y,z,K,O,pe,$i.disabled,ft.disabled),Oe(Y,z,K,O,pe,Y.stencilModeFor3D(),Y.colorModeForRenderPass())}}function Oe(Y,z,K,O,$,pe,de){for(var Ie=Y.context,$e=Ie.gl,pt=K.paint.get(\"fill-extrusion-pattern\"),Kt=pt.constantOr(1),ir=K.getCrossfadeParameters(),Jt=K.paint.get(\"fill-extrusion-opacity\"),vt=0,Pt=O;vt<Pt.length;vt+=1){var Wt=Pt[vt],rr=z.getTile(Wt),dr=rr.getBucket(K);if(dr){var pr=dr.programConfigurations.get(K.id),kr=Y.useProgram(Kt?\"fillExtrusionPattern\":\"fillExtrusion\",pr);Kt&&(Y.context.activeTexture.set($e.TEXTURE0),rr.imageAtlasTexture.bind($e.LINEAR,$e.CLAMP_TO_EDGE),pr.updatePaintBuffers(ir));var Ar=pt.constantOr(null);if(Ar&&rr.imageAtlas){var gr=rr.imageAtlas,Cr=gr.patternPositions[Ar.to.toString()],cr=gr.patternPositions[Ar.from.toString()];Cr&&cr&&pr.setConstantPatternPositions(Cr,cr)}var Gr=Y.translatePosMatrix(Wt.posMatrix,rr,K.paint.get(\"fill-extrusion-translate\"),K.paint.get(\"fill-extrusion-translate-anchor\")),ei=K.paint.get(\"fill-extrusion-vertical-gradient\"),yi=Kt?Wu(Gr,Y,ei,Jt,Wt,ir,rr):Ih(Gr,Y,ei,Jt);kr.draw(Ie,Ie.gl.TRIANGLES,$,pe,de,yr.backCCW,yi,K.id,dr.layoutVertexBuffer,dr.indexBuffer,dr.segments,K.paint,Y.transform.zoom,pr)}}}function Je(Y,z,K,O){if(!(Y.renderPass!==\"offscreen\"&&Y.renderPass!==\"translucent\")){for(var $=Y.context,pe=Y.depthModeForSublayer(0,Wi.ReadOnly),de=Y.colorModeForRenderPass(),Ie=Y.renderPass===\"translucent\"?Y.stencilConfigForOverlap(O):[{},O],$e=Ie[0],pt=Ie[1],Kt=0,ir=pt;Kt<ir.length;Kt+=1){var Jt=ir[Kt],vt=z.getTile(Jt);vt.needsHillshadePrepare&&Y.renderPass===\"offscreen\"?et(Y,vt,K,pe,$i.disabled,de):Y.renderPass===\"translucent\"&&He(Y,vt,K,pe,$e[Jt.overscaledZ],de)}$.viewport.set([0,0,Y.width,Y.height])}}function He(Y,z,K,O,$,pe){var de=Y.context,Ie=de.gl,$e=z.fbo;if($e){var pt=Y.useProgram(\"hillshade\");de.activeTexture.set(Ie.TEXTURE0),Ie.bindTexture(Ie.TEXTURE_2D,$e.colorAttachment.get());var Kt=Ta(Y,z,K);pt.draw(de,Ie.TRIANGLES,O,$,pe,yr.disabled,Kt,K.id,Y.rasterBoundsBuffer,Y.quadTriangleIndexBuffer,Y.rasterBoundsSegments)}}function et(Y,z,K,O,$,pe){var de=Y.context,Ie=de.gl,$e=z.dem;if($e&&$e.data){var pt=$e.dim,Kt=$e.stride,ir=$e.getPixels();if(de.activeTexture.set(Ie.TEXTURE1),de.pixelStoreUnpackPremultiplyAlpha.set(!1),z.demTexture=z.demTexture||Y.getTileTexture(Kt),z.demTexture){var Jt=z.demTexture;Jt.update(ir,{premultiply:!1}),Jt.bind(Ie.NEAREST,Ie.CLAMP_TO_EDGE)}else z.demTexture=new i.Texture(de,ir,Ie.RGBA,{premultiply:!1}),z.demTexture.bind(Ie.NEAREST,Ie.CLAMP_TO_EDGE);de.activeTexture.set(Ie.TEXTURE0);var vt=z.fbo;if(!vt){var Pt=new i.Texture(de,{width:pt,height:pt,data:null},Ie.RGBA);Pt.bind(Ie.LINEAR,Ie.CLAMP_TO_EDGE),vt=z.fbo=de.createFramebuffer(pt,pt,!0),vt.colorAttachment.set(Pt.texture)}de.bindFramebuffer.set(vt.framebuffer),de.viewport.set([0,0,pt,pt]),Y.useProgram(\"hillshadePrepare\").draw(de,Ie.TRIANGLES,O,$,pe,yr.disabled,Ea(z.tileID,$e),K.id,Y.rasterBoundsBuffer,Y.quadTriangleIndexBuffer,Y.rasterBoundsSegments),z.needsHillshadePrepare=!1}}function Mt(Y,z,K,O){if(Y.renderPass===\"translucent\"&&K.paint.get(\"raster-opacity\")!==0&&O.length)for(var $=Y.context,pe=$.gl,de=z.getSource(),Ie=Y.useProgram(\"raster\"),$e=Y.colorModeForRenderPass(),pt=de instanceof ke?[{},O]:Y.stencilConfigForOverlap(O),Kt=pt[0],ir=pt[1],Jt=ir[ir.length-1].overscaledZ,vt=!Y.options.moving,Pt=0,Wt=ir;Pt<Wt.length;Pt+=1){var rr=Wt[Pt],dr=Y.depthModeForSublayer(rr.overscaledZ-Jt,K.paint.get(\"raster-opacity\")===1?Wi.ReadWrite:Wi.ReadOnly,pe.LESS),pr=z.getTile(rr),kr=Y.transform.calculatePosMatrix(rr.toUnwrapped(),vt);pr.registerFadeDuration(K.paint.get(\"raster-fade-duration\"));var Ar=z.findLoadedParent(rr,0),gr=Dt(pr,Ar,z,K,Y.transform),Cr=void 0,cr=void 0,Gr=K.paint.get(\"raster-resampling\")===\"nearest\"?pe.NEAREST:pe.LINEAR;$.activeTexture.set(pe.TEXTURE0),pr.texture.bind(Gr,pe.CLAMP_TO_EDGE,pe.LINEAR_MIPMAP_NEAREST),$.activeTexture.set(pe.TEXTURE1),Ar?(Ar.texture.bind(Gr,pe.CLAMP_TO_EDGE,pe.LINEAR_MIPMAP_NEAREST),Cr=Math.pow(2,Ar.tileID.overscaledZ-pr.tileID.overscaledZ),cr=[pr.tileID.canonical.x*Cr%1,pr.tileID.canonical.y*Cr%1]):pr.texture.bind(Gr,pe.CLAMP_TO_EDGE,pe.LINEAR_MIPMAP_NEAREST);var ei=Rs(kr,cr||[0,0],Cr||1,gr,K);de instanceof ke?Ie.draw($,pe.TRIANGLES,dr,$i.disabled,$e,yr.disabled,ei,K.id,de.boundsBuffer,Y.quadTriangleIndexBuffer,de.boundsSegments):Ie.draw($,pe.TRIANGLES,dr,Kt[rr.overscaledZ],$e,yr.disabled,ei,K.id,Y.rasterBoundsBuffer,Y.quadTriangleIndexBuffer,Y.rasterBoundsSegments)}}function Dt(Y,z,K,O,$){var pe=O.paint.get(\"raster-fade-duration\");if(pe>0){var de=i.browser.now(),Ie=(de-Y.timeAdded)/pe,$e=z?(de-z.timeAdded)/pe:-1,pt=K.getSource(),Kt=$.coveringZoomLevel({tileSize:pt.tileSize,roundZoom:pt.roundZoom}),ir=!z||Math.abs(z.tileID.overscaledZ-Kt)>Math.abs(Y.tileID.overscaledZ-Kt),Jt=ir&&Y.refreshedUponExpiration?1:i.clamp(ir?Ie:1-$e,0,1);return Y.refreshedUponExpiration&&Ie>=1&&(Y.refreshedUponExpiration=!1),z?{opacity:1,mix:1-Jt}:{opacity:Jt,mix:0}}else return{opacity:1,mix:0}}function Ut(Y,z,K){var O=K.paint.get(\"background-color\"),$=K.paint.get(\"background-opacity\");if($!==0){var pe=Y.context,de=pe.gl,Ie=Y.transform,$e=Ie.tileSize,pt=K.paint.get(\"background-pattern\");if(!Y.isPatternMissing(pt)){var Kt=!pt&&O.a===1&&$===1&&Y.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(Y.renderPass===Kt){var ir=$i.disabled,Jt=Y.depthModeForSublayer(0,Kt===\"opaque\"?Wi.ReadWrite:Wi.ReadOnly),vt=Y.colorModeForRenderPass(),Pt=Y.useProgram(pt?\"backgroundPattern\":\"background\"),Wt=Ie.coveringTiles({tileSize:$e});pt&&(pe.activeTexture.set(de.TEXTURE0),Y.imageManager.bind(Y.context));for(var rr=K.getCrossfadeParameters(),dr=0,pr=Wt;dr<pr.length;dr+=1){var kr=pr[dr],Ar=Y.transform.calculatePosMatrix(kr.toUnwrapped()),gr=pt?Da(Ar,$,Y,pt,{tileID:kr,tileSize:$e},rr):Dc(Ar,$,O);Pt.draw(pe,de.TRIANGLES,Jt,ir,vt,yr.disabled,gr,K.id,Y.tileExtentBuffer,Y.quadTriangleIndexBuffer,Y.tileExtentSegments)}}}}}var tr=new i.Color(1,0,0,1),mr=new i.Color(0,1,0,1),Rr=new i.Color(0,0,1,1),zr=new i.Color(1,0,1,1),Xr=new i.Color(0,1,1,1);function di(Y){var z=Y.transform.padding,K=3;Ci(Y,Y.transform.height-(z.top||0),K,tr),Ci(Y,z.bottom||0,K,mr),Qi(Y,z.left||0,K,Rr),Qi(Y,Y.transform.width-(z.right||0),K,zr);var O=Y.transform.centerPoint;Li(Y,O.x,Y.transform.height-O.y,Xr)}function Li(Y,z,K,O){var $=20,pe=2;Mn(Y,z-pe/2,K-$/2,pe,$,O),Mn(Y,z-$/2,K-pe/2,$,pe,O)}function Ci(Y,z,K,O){Mn(Y,0,z+K/2,Y.transform.width,K,O)}function Qi(Y,z,K,O){Mn(Y,z-K/2,0,K,Y.transform.height,O)}function Mn(Y,z,K,O,$,pe){var de=Y.context,Ie=de.gl;Ie.enable(Ie.SCISSOR_TEST),Ie.scissor(z*i.browser.devicePixelRatio,K*i.browser.devicePixelRatio,O*i.browser.devicePixelRatio,$*i.browser.devicePixelRatio),de.clear({color:pe}),Ie.disable(Ie.SCISSOR_TEST)}function pa(Y,z,K){for(var O=0;O<K.length;O++)ea(Y,z,K[O])}function ea(Y,z,K){var O=Y.context,$=O.gl,pe=K.posMatrix,de=Y.useProgram(\"debug\"),Ie=Wi.disabled,$e=$i.disabled,pt=Y.colorModeForRenderPass(),Kt=\"$debug\";O.activeTexture.set($.TEXTURE0),Y.emptyTexture.bind($.LINEAR,$.CLAMP_TO_EDGE),de.draw(O,$.LINE_STRIP,Ie,$e,pt,yr.disabled,Fi(pe,i.Color.red),Kt,Y.debugBuffer,Y.tileBorderIndexBuffer,Y.debugSegments);var ir=z.getTileByID(K.key).latestRawTileData,Jt=ir&&ir.byteLength||0,vt=Math.floor(Jt/1024),Pt=z.getTile(K).tileSize,Wt=512/Math.min(Pt,512)*(K.overscaledZ/Y.transform.zoom)*.5,rr=K.canonical.toString();K.overscaledZ!==K.canonical.z&&(rr+=\" => \"+K.overscaledZ);var dr=rr+\" \"+vt+\"kb\";Ga(Y,dr),de.draw(O,$.TRIANGLES,Ie,$e,ft.alphaBlended,yr.disabled,Fi(pe,i.Color.transparent,Wt),Kt,Y.debugBuffer,Y.quadTriangleIndexBuffer,Y.debugSegments)}function Ga(Y,z){Y.initDebugOverlayCanvas();var K=Y.debugOverlayCanvas,O=Y.context.gl,$=Y.debugOverlayCanvas.getContext(\"2d\");$.clearRect(0,0,K.width,K.height),$.shadowColor=\"white\",$.shadowBlur=2,$.lineWidth=1.5,$.strokeStyle=\"white\",$.textBaseline=\"top\",$.font=\"bold 36px Open Sans, sans-serif\",$.fillText(z,5,5),$.strokeText(z,5,5),Y.debugOverlayTexture.update(K),Y.debugOverlayTexture.bind(O.LINEAR,O.CLAMP_TO_EDGE)}function To(Y,z,K){var O=Y.context,$=K.implementation;if(Y.renderPass===\"offscreen\"){var pe=$.prerender;pe&&(Y.setCustomLayerDefaults(),O.setColorMode(Y.colorModeForRenderPass()),pe.call($,O.gl,Y.transform.customLayerMatrix()),O.setDirty(),Y.setBaseState())}else if(Y.renderPass===\"translucent\"){Y.setCustomLayerDefaults(),O.setColorMode(Y.colorModeForRenderPass()),O.setStencilMode($i.disabled);var de=$.renderingMode===\"3d\"?new Wi(Y.context.gl.LEQUAL,Wi.ReadWrite,Y.depthRangeFor3D):Y.depthModeForSublayer(0,Wi.ReadOnly);O.setDepthMode(de),$.render(O.gl,Y.transform.customLayerMatrix()),O.setDirty(),Y.setBaseState(),O.bindFramebuffer.set(null)}}var Wa={symbol:w,circle:it,heatmap:yt,line:Sr,fill:he,\"fill-extrusion\":Pe,hillshade:Je,raster:Mt,background:Ut,debug:pa,custom:To},co=function(z,K){this.context=new Fr(z),this.transform=K,this._tileTextures={},this.setup(),this.numSublayers=Zr.maxUnderzooming+Zr.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new rh,this.gpuTimers={}};co.prototype.resize=function(z,K){if(this.width=z*i.browser.devicePixelRatio,this.height=K*i.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var O=0,$=this.style._order;O<$.length;O+=1){var pe=$[O];this.style._layers[pe].resize()}},co.prototype.setup=function(){var z=this.context,K=new i.StructArrayLayout2i4;K.emplaceBack(0,0),K.emplaceBack(i.EXTENT,0),K.emplaceBack(0,i.EXTENT),K.emplaceBack(i.EXTENT,i.EXTENT),this.tileExtentBuffer=z.createVertexBuffer(K,kc.members),this.tileExtentSegments=i.SegmentVector.simpleSegment(0,0,4,2);var O=new i.StructArrayLayout2i4;O.emplaceBack(0,0),O.emplaceBack(i.EXTENT,0),O.emplaceBack(0,i.EXTENT),O.emplaceBack(i.EXTENT,i.EXTENT),this.debugBuffer=z.createVertexBuffer(O,kc.members),this.debugSegments=i.SegmentVector.simpleSegment(0,0,4,5);var $=new i.StructArrayLayout4i8;$.emplaceBack(0,0,0,0),$.emplaceBack(i.EXTENT,0,i.EXTENT,0),$.emplaceBack(0,i.EXTENT,0,i.EXTENT),$.emplaceBack(i.EXTENT,i.EXTENT,i.EXTENT,i.EXTENT),this.rasterBoundsBuffer=z.createVertexBuffer($,Me.members),this.rasterBoundsSegments=i.SegmentVector.simpleSegment(0,0,4,2);var pe=new i.StructArrayLayout2i4;pe.emplaceBack(0,0),pe.emplaceBack(1,0),pe.emplaceBack(0,1),pe.emplaceBack(1,1),this.viewportBuffer=z.createVertexBuffer(pe,kc.members),this.viewportSegments=i.SegmentVector.simpleSegment(0,0,4,2);var de=new i.StructArrayLayout1ui2;de.emplaceBack(0),de.emplaceBack(1),de.emplaceBack(3),de.emplaceBack(2),de.emplaceBack(0),this.tileBorderIndexBuffer=z.createIndexBuffer(de);var Ie=new i.StructArrayLayout3ui6;Ie.emplaceBack(0,1,2),Ie.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=z.createIndexBuffer(Ie),this.emptyTexture=new i.Texture(z,{width:1,height:1,data:new Uint8Array([0,0,0,0])},z.gl.RGBA);var $e=this.context.gl;this.stencilClearMode=new $i({func:$e.ALWAYS,mask:0},0,255,$e.ZERO,$e.ZERO,$e.ZERO)},co.prototype.clearStencil=function(){var z=this.context,K=z.gl;this.nextStencilID=1,this.currentStencilSource=void 0;var O=i.create();i.ortho(O,0,this.width,this.height,0,0,1),i.scale(O,O,[K.drawingBufferWidth,K.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(z,K.TRIANGLES,Wi.disabled,this.stencilClearMode,ft.disabled,yr.disabled,hn(O),\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)},co.prototype._renderTileClippingMasks=function(z,K){if(!(this.currentStencilSource===z.source||!z.isTileClipped()||!K||!K.length)){this.currentStencilSource=z.source;var O=this.context,$=O.gl;this.nextStencilID+K.length>256&&this.clearStencil(),O.setColorMode(ft.disabled),O.setDepthMode(Wi.disabled);var pe=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(var de=0,Ie=K;de<Ie.length;de+=1){var $e=Ie[de],pt=this._tileClippingMaskIDs[$e.key]=this.nextStencilID++;pe.draw(O,$.TRIANGLES,Wi.disabled,new $i({func:$.ALWAYS,mask:0},pt,255,$.KEEP,$.KEEP,$.REPLACE),ft.disabled,yr.disabled,hn($e.posMatrix),\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}},co.prototype.stencilModeFor3D=function(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();var z=this.nextStencilID++,K=this.context.gl;return new $i({func:K.NOTEQUAL,mask:255},z,255,K.KEEP,K.KEEP,K.REPLACE)},co.prototype.stencilModeForClipping=function(z){var K=this.context.gl;return new $i({func:K.EQUAL,mask:255},this._tileClippingMaskIDs[z.key],0,K.KEEP,K.KEEP,K.REPLACE)},co.prototype.stencilConfigForOverlap=function(z){var K,O=this.context.gl,$=z.sort(function(pt,Kt){return Kt.overscaledZ-pt.overscaledZ}),pe=$[$.length-1].overscaledZ,de=$[0].overscaledZ-pe+1;if(de>1){this.currentStencilSource=void 0,this.nextStencilID+de>256&&this.clearStencil();for(var Ie={},$e=0;$e<de;$e++)Ie[$e+pe]=new $i({func:O.GEQUAL,mask:255},$e+this.nextStencilID,255,O.KEEP,O.KEEP,O.REPLACE);return this.nextStencilID+=de,[Ie,$]}return[(K={},K[pe]=$i.disabled,K),$]},co.prototype.colorModeForRenderPass=function(){var z=this.context.gl;if(this._showOverdrawInspector){var K=8,O=1/K;return new ft([z.CONSTANT_COLOR,z.ONE],new i.Color(O,O,O,0),[!0,!0,!0,!0])}else return this.renderPass===\"opaque\"?ft.unblended:ft.alphaBlended},co.prototype.depthModeForSublayer=function(z,K,O){if(!this.opaquePassEnabledForLayer())return Wi.disabled;var $=1-((1+this.currentLayer)*this.numSublayers+z)*this.depthEpsilon;return new Wi(O||this.context.gl.LEQUAL,K,[$,$])},co.prototype.opaquePassEnabledForLayer=function(){return this.currentLayer<this.opaquePassCutoff},co.prototype.render=function(z,K){var O=this;this.style=z,this.options=K,this.lineAtlas=z.lineAtlas,this.imageManager=z.imageManager,this.glyphManager=z.glyphManager,this.symbolFadeChange=z.placement.symbolFadeChange(i.browser.now()),this.imageManager.beginFrame();var $=this.style._order,pe=this.style.sourceCaches;for(var de in pe){var Ie=pe[de];Ie.used&&Ie.prepare(this.context)}var $e={},pt={},Kt={};for(var ir in pe){var Jt=pe[ir];$e[ir]=Jt.getVisibleCoordinates(),pt[ir]=$e[ir].slice().reverse(),Kt[ir]=Jt.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(var vt=0;vt<$.length;vt++){var Pt=$[vt];if(this.style._layers[Pt].is3D()){this.opaquePassCutoff=vt;break}}this.renderPass=\"offscreen\";for(var Wt=0,rr=$;Wt<rr.length;Wt+=1){var dr=rr[Wt],pr=this.style._layers[dr];if(!(!pr.hasOffscreenPass()||pr.isHidden(this.transform.zoom))){var kr=pt[pr.source];pr.type!==\"custom\"&&!kr.length||this.renderLayer(this,pe[pr.source],pr,kr)}}for(this.context.bindFramebuffer.set(null),this.context.clear({color:K.showOverdrawInspector?i.Color.black:i.Color.transparent,depth:1}),this.clearStencil(),this._showOverdrawInspector=K.showOverdrawInspector,this.depthRangeFor3D=[0,1-(z._order.length+2)*this.numSublayers*this.depthEpsilon],this.renderPass=\"opaque\",this.currentLayer=$.length-1;this.currentLayer>=0;this.currentLayer--){var Ar=this.style._layers[$[this.currentLayer]],gr=pe[Ar.source],Cr=$e[Ar.source];this._renderTileClippingMasks(Ar,Cr),this.renderLayer(this,gr,Ar,Cr)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer<$.length;this.currentLayer++){var cr=this.style._layers[$[this.currentLayer]],Gr=pe[cr.source],ei=(cr.type===\"symbol\"?Kt:pt)[cr.source];this._renderTileClippingMasks(cr,$e[cr.source]),this.renderLayer(this,Gr,cr,ei)}if(this.options.showTileBoundaries){var yi,tn,Ri=i.values(this.style._layers);Ri.forEach(function(ln){ln.source&&!ln.isHidden(O.transform.zoom)&&(ln.source!==(tn&&tn.id)&&(tn=O.style.sourceCaches[ln.source]),(!yi||yi.getSource().maxzoom<tn.getSource().maxzoom)&&(yi=tn))}),yi&&Wa.debug(this,yi,yi.getVisibleCoordinates())}this.options.showPadding&&di(this),this.context.setDefault()},co.prototype.renderLayer=function(z,K,O,$){O.isHidden(this.transform.zoom)||O.type!==\"background\"&&O.type!==\"custom\"&&!$.length||(this.id=O.id,this.gpuTimingStart(O),Wa[O.type](z,K,O,$,this.style.placement.variableOffsets),this.gpuTimingEnd())},co.prototype.gpuTimingStart=function(z){if(this.options.gpuTiming){var K=this.context.extTimerQuery,O=this.gpuTimers[z.id];O||(O=this.gpuTimers[z.id]={calls:0,cpuTime:0,query:K.createQueryEXT()}),O.calls++,K.beginQueryEXT(K.TIME_ELAPSED_EXT,O.query)}},co.prototype.gpuTimingEnd=function(){if(this.options.gpuTiming){var z=this.context.extTimerQuery;z.endQueryEXT(z.TIME_ELAPSED_EXT)}},co.prototype.collectGpuTimers=function(){var z=this.gpuTimers;return this.gpuTimers={},z},co.prototype.queryGpuTimers=function(z){var K={};for(var O in z){var $=z[O],pe=this.context.extTimerQuery,de=pe.getQueryObjectEXT($.query,pe.QUERY_RESULT_EXT)/(1e3*1e3);pe.deleteQueryEXT($.query),K[O]=de}return K},co.prototype.translatePosMatrix=function(z,K,O,$,pe){if(!O[0]&&!O[1])return z;var de=pe?$===\"map\"?this.transform.angle:0:$===\"viewport\"?-this.transform.angle:0;if(de){var Ie=Math.sin(de),$e=Math.cos(de);O=[O[0]*$e-O[1]*Ie,O[0]*Ie+O[1]*$e]}var pt=[pe?O[0]:Cs(K,O[0],this.transform.zoom),pe?O[1]:Cs(K,O[1],this.transform.zoom),0],Kt=new Float32Array(16);return i.translate(Kt,z,pt),Kt},co.prototype.saveTileTexture=function(z){var K=this._tileTextures[z.size[0]];K?K.push(z):this._tileTextures[z.size[0]]=[z]},co.prototype.getTileTexture=function(z){var K=this._tileTextures[z];return K&&K.length>0?K.pop():null},co.prototype.isPatternMissing=function(z){if(!z)return!1;if(!z.from||!z.to)return!0;var K=this.imageManager.getPattern(z.from.toString()),O=this.imageManager.getPattern(z.to.toString());return!K||!O},co.prototype.useProgram=function(z,K){this.cache=this.cache||{};var O=\"\"+z+(K?K.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\");return this.cache[O]||(this.cache[O]=new Vf(this.context,z,Pf[z],K,eo[z],this._showOverdrawInspector)),this.cache[O]},co.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()},co.prototype.setBaseState=function(){var z=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(z.FUNC_ADD)},co.prototype.initDebugOverlayCanvas=function(){if(this.debugOverlayCanvas==null){this.debugOverlayCanvas=i.window.document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var z=this.context.gl;this.debugOverlayTexture=new i.Texture(this.context,this.debugOverlayCanvas,z.RGBA)}},co.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var Ro=function(z,K){this.points=z,this.planes=K};Ro.fromInvProjectionMatrix=function(z,K,O){var $=[[-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]],pe=Math.pow(2,O),de=$.map(function(pt){return i.transformMat4([],pt,z)}).map(function(pt){return i.scale$1([],pt,1/pt[3]/K*pe)}),Ie=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]],$e=Ie.map(function(pt){var Kt=i.sub([],de[pt[0]],de[pt[1]]),ir=i.sub([],de[pt[2]],de[pt[1]]),Jt=i.normalize([],i.cross([],Kt,ir)),vt=-i.dot(Jt,de[pt[1]]);return Jt.concat(vt)});return new Ro(de,$e)};var Ds=function(z,K){this.min=z,this.max=K,this.center=i.scale$2([],i.add([],this.min,this.max),.5)};Ds.prototype.quadrant=function(z){for(var K=[z%2===0,z<2],O=i.clone$2(this.min),$=i.clone$2(this.max),pe=0;pe<K.length;pe++)O[pe]=K[pe]?this.min[pe]:this.center[pe],$[pe]=K[pe]?this.center[pe]:this.max[pe];return $[2]=this.max[2],new Ds(O,$)},Ds.prototype.distanceX=function(z){var K=Math.max(Math.min(this.max[0],z[0]),this.min[0]);return K-z[0]},Ds.prototype.distanceY=function(z){var K=Math.max(Math.min(this.max[1],z[1]),this.min[1]);return K-z[1]},Ds.prototype.intersects=function(z){for(var K=[[this.min[0],this.min[1],0,1],[this.max[0],this.min[1],0,1],[this.max[0],this.max[1],0,1],[this.min[0],this.max[1],0,1]],O=!0,$=0;$<z.planes.length;$++){for(var pe=z.planes[$],de=0,Ie=0;Ie<K.length;Ie++)de+=i.dot$1(pe,K[Ie])>=0;if(de===0)return 0;de!==K.length&&(O=!1)}if(O)return 2;for(var $e=0;$e<3;$e++){for(var pt=Number.MAX_VALUE,Kt=-Number.MAX_VALUE,ir=0;ir<z.points.length;ir++){var Jt=z.points[ir][$e]-this.min[$e];pt=Math.min(pt,Jt),Kt=Math.max(Kt,Jt)}if(Kt<0||pt>this.max[$e]-this.min[$e])return 0}return 1};var As=function(z,K,O,$){if(z===void 0&&(z=0),K===void 0&&(K=0),O===void 0&&(O=0),$===void 0&&($=0),isNaN(z)||z<0||isNaN(K)||K<0||isNaN(O)||O<0||isNaN($)||$<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=z,this.bottom=K,this.left=O,this.right=$};As.prototype.interpolate=function(z,K,O){return K.top!=null&&z.top!=null&&(this.top=i.number(z.top,K.top,O)),K.bottom!=null&&z.bottom!=null&&(this.bottom=i.number(z.bottom,K.bottom,O)),K.left!=null&&z.left!=null&&(this.left=i.number(z.left,K.left,O)),K.right!=null&&z.right!=null&&(this.right=i.number(z.right,K.right,O)),this},As.prototype.getCenter=function(z,K){var O=i.clamp((this.left+z-this.right)/2,0,z),$=i.clamp((this.top+K-this.bottom)/2,0,K);return new i.Point(O,$)},As.prototype.equals=function(z){return this.top===z.top&&this.bottom===z.bottom&&this.left===z.left&&this.right===z.right},As.prototype.clone=function(){return new As(this.top,this.bottom,this.left,this.right)},As.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var yo=function(z,K,O,$,pe){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=pe===void 0?!0:pe,this._minZoom=z||0,this._maxZoom=K||22,this._minPitch=O==null?0:O,this._maxPitch=$==null?60:$,this.setMaxBounds(),this.width=0,this.height=0,this._center=new i.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new As,this._posMatrixCache={},this._alignedPosMatrixCache={}},po={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}};yo.prototype.clone=function(){var z=new yo(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return z.tileSize=this.tileSize,z.latRange=this.latRange,z.width=this.width,z.height=this.height,z._center=this._center,z.zoom=this.zoom,z.angle=this.angle,z._fov=this._fov,z._pitch=this._pitch,z._unmodified=this._unmodified,z._edgeInsets=this._edgeInsets.clone(),z._calcMatrices(),z},po.minZoom.get=function(){return this._minZoom},po.minZoom.set=function(Y){this._minZoom!==Y&&(this._minZoom=Y,this.zoom=Math.max(this.zoom,Y))},po.maxZoom.get=function(){return this._maxZoom},po.maxZoom.set=function(Y){this._maxZoom!==Y&&(this._maxZoom=Y,this.zoom=Math.min(this.zoom,Y))},po.minPitch.get=function(){return this._minPitch},po.minPitch.set=function(Y){this._minPitch!==Y&&(this._minPitch=Y,this.pitch=Math.max(this.pitch,Y))},po.maxPitch.get=function(){return this._maxPitch},po.maxPitch.set=function(Y){this._maxPitch!==Y&&(this._maxPitch=Y,this.pitch=Math.min(this.pitch,Y))},po.renderWorldCopies.get=function(){return this._renderWorldCopies},po.renderWorldCopies.set=function(Y){Y===void 0?Y=!0:Y===null&&(Y=!1),this._renderWorldCopies=Y},po.worldSize.get=function(){return this.tileSize*this.scale},po.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},po.size.get=function(){return new i.Point(this.width,this.height)},po.bearing.get=function(){return-this.angle/Math.PI*180},po.bearing.set=function(Y){var z=-i.wrap(Y,-180,180)*Math.PI/180;this.angle!==z&&(this._unmodified=!1,this.angle=z,this._calcMatrices(),this.rotationMatrix=i.create$2(),i.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},po.pitch.get=function(){return this._pitch/Math.PI*180},po.pitch.set=function(Y){var z=i.clamp(Y,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==z&&(this._unmodified=!1,this._pitch=z,this._calcMatrices())},po.fov.get=function(){return this._fov/Math.PI*180},po.fov.set=function(Y){Y=Math.max(.01,Math.min(60,Y)),this._fov!==Y&&(this._unmodified=!1,this._fov=Y/180*Math.PI,this._calcMatrices())},po.zoom.get=function(){return this._zoom},po.zoom.set=function(Y){var z=Math.min(Math.max(Y,this.minZoom),this.maxZoom);this._zoom!==z&&(this._unmodified=!1,this._zoom=z,this.scale=this.zoomScale(z),this.tileZoom=Math.floor(z),this.zoomFraction=z-this.tileZoom,this._constrain(),this._calcMatrices())},po.center.get=function(){return this._center},po.center.set=function(Y){Y.lat===this._center.lat&&Y.lng===this._center.lng||(this._unmodified=!1,this._center=Y,this._constrain(),this._calcMatrices())},po.padding.get=function(){return this._edgeInsets.toJSON()},po.padding.set=function(Y){this._edgeInsets.equals(Y)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,Y,1),this._calcMatrices())},po.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},yo.prototype.isPaddingEqual=function(z){return this._edgeInsets.equals(z)},yo.prototype.interpolatePadding=function(z,K,O){this._unmodified=!1,this._edgeInsets.interpolate(z,K,O),this._constrain(),this._calcMatrices()},yo.prototype.coveringZoomLevel=function(z){var K=(z.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/z.tileSize));return Math.max(0,K)},yo.prototype.getVisibleUnwrappedCoordinates=function(z){var K=[new i.UnwrappedTileID(0,z)];if(this._renderWorldCopies)for(var O=this.pointCoordinate(new i.Point(0,0)),$=this.pointCoordinate(new i.Point(this.width,0)),pe=this.pointCoordinate(new i.Point(this.width,this.height)),de=this.pointCoordinate(new i.Point(0,this.height)),Ie=Math.floor(Math.min(O.x,$.x,pe.x,de.x)),$e=Math.floor(Math.max(O.x,$.x,pe.x,de.x)),pt=1,Kt=Ie-pt;Kt<=$e+pt;Kt++)Kt!==0&&K.push(new i.UnwrappedTileID(Kt,z));return K},yo.prototype.coveringTiles=function(z){var K=this.coveringZoomLevel(z),O=K;if(z.minzoom!==void 0&&K<z.minzoom)return[];z.maxzoom!==void 0&&K>z.maxzoom&&(K=z.maxzoom);var $=i.MercatorCoordinate.fromLngLat(this.center),pe=Math.pow(2,K),de=[pe*$.x,pe*$.y,0],Ie=Ro.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,K),$e=z.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&($e=K);var pt=3,Kt=function(Ri){return{aabb:new Ds([Ri*pe,0,0],[(Ri+1)*pe,pe,0]),zoom:0,x:0,y:0,wrap:Ri,fullyVisible:!1}},ir=[],Jt=[],vt=K,Pt=z.reparseOverscaled?O:K;if(this._renderWorldCopies)for(var Wt=1;Wt<=3;Wt++)ir.push(Kt(-Wt)),ir.push(Kt(Wt));for(ir.push(Kt(0));ir.length>0;){var rr=ir.pop(),dr=rr.x,pr=rr.y,kr=rr.fullyVisible;if(!kr){var Ar=rr.aabb.intersects(Ie);if(Ar===0)continue;kr=Ar===2}var gr=rr.aabb.distanceX(de),Cr=rr.aabb.distanceY(de),cr=Math.max(Math.abs(gr),Math.abs(Cr)),Gr=pt+(1<<vt-rr.zoom)-2;if(rr.zoom===vt||cr>Gr&&rr.zoom>=$e){Jt.push({tileID:new i.OverscaledTileID(rr.zoom===vt?Pt:rr.zoom,rr.wrap,rr.zoom,dr,pr),distanceSq:i.sqrLen([de[0]-.5-dr,de[1]-.5-pr])});continue}for(var ei=0;ei<4;ei++){var yi=(dr<<1)+ei%2,tn=(pr<<1)+(ei>>1);ir.push({aabb:rr.aabb.quadrant(ei),zoom:rr.zoom+1,x:yi,y:tn,wrap:rr.wrap,fullyVisible:kr})}}return Jt.sort(function(Ri,ln){return Ri.distanceSq-ln.distanceSq}).map(function(Ri){return Ri.tileID})},yo.prototype.resize=function(z,K){this.width=z,this.height=K,this.pixelsToGLUnits=[2/z,-2/K],this._constrain(),this._calcMatrices()},po.unmodified.get=function(){return this._unmodified},yo.prototype.zoomScale=function(z){return Math.pow(2,z)},yo.prototype.scaleZoom=function(z){return Math.log(z)/Math.LN2},yo.prototype.project=function(z){var K=i.clamp(z.lat,-this.maxValidLatitude,this.maxValidLatitude);return new i.Point(i.mercatorXfromLng(z.lng)*this.worldSize,i.mercatorYfromLat(K)*this.worldSize)},yo.prototype.unproject=function(z){return new i.MercatorCoordinate(z.x/this.worldSize,z.y/this.worldSize).toLngLat()},po.point.get=function(){return this.project(this.center)},yo.prototype.setLocationAtPoint=function(z,K){var O=this.pointCoordinate(K),$=this.pointCoordinate(this.centerPoint),pe=this.locationCoordinate(z),de=new i.MercatorCoordinate(pe.x-(O.x-$.x),pe.y-(O.y-$.y));this.center=this.coordinateLocation(de),this._renderWorldCopies&&(this.center=this.center.wrap())},yo.prototype.locationPoint=function(z){return this.coordinatePoint(this.locationCoordinate(z))},yo.prototype.pointLocation=function(z){return this.coordinateLocation(this.pointCoordinate(z))},yo.prototype.locationCoordinate=function(z){return i.MercatorCoordinate.fromLngLat(z)},yo.prototype.coordinateLocation=function(z){return z.toLngLat()},yo.prototype.pointCoordinate=function(z){var K=0,O=[z.x,z.y,0,1],$=[z.x,z.y,1,1];i.transformMat4(O,O,this.pixelMatrixInverse),i.transformMat4($,$,this.pixelMatrixInverse);var pe=O[3],de=$[3],Ie=O[0]/pe,$e=$[0]/de,pt=O[1]/pe,Kt=$[1]/de,ir=O[2]/pe,Jt=$[2]/de,vt=ir===Jt?0:(K-ir)/(Jt-ir);return new i.MercatorCoordinate(i.number(Ie,$e,vt)/this.worldSize,i.number(pt,Kt,vt)/this.worldSize)},yo.prototype.coordinatePoint=function(z){var K=[z.x*this.worldSize,z.y*this.worldSize,0,1];return i.transformMat4(K,K,this.pixelMatrix),new i.Point(K[0]/K[3],K[1]/K[3])},yo.prototype.getBounds=function(){return new i.LngLatBounds().extend(this.pointLocation(new i.Point(0,0))).extend(this.pointLocation(new i.Point(this.width,0))).extend(this.pointLocation(new i.Point(this.width,this.height))).extend(this.pointLocation(new i.Point(0,this.height)))},yo.prototype.getMaxBounds=function(){return!this.latRange||this.latRange.length!==2||!this.lngRange||this.lngRange.length!==2?null:new i.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]])},yo.prototype.setMaxBounds=function(z){z?(this.lngRange=[z.getWest(),z.getEast()],this.latRange=[z.getSouth(),z.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},yo.prototype.calculatePosMatrix=function(z,K){K===void 0&&(K=!1);var O=z.key,$=K?this._alignedPosMatrixCache:this._posMatrixCache;if($[O])return $[O];var pe=z.canonical,de=this.worldSize/this.zoomScale(pe.z),Ie=pe.x+Math.pow(2,pe.z)*z.wrap,$e=i.identity(new Float64Array(16));return i.translate($e,$e,[Ie*de,pe.y*de,0]),i.scale($e,$e,[de/i.EXTENT,de/i.EXTENT,1]),i.multiply($e,K?this.alignedProjMatrix:this.projMatrix,$e),$[O]=new Float32Array($e),$[O]},yo.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},yo.prototype._constrain=function(){if(!(!this.center||!this.width||!this.height||this._constraining)){this._constraining=!0;var z=-90,K=90,O=-180,$=180,pe,de,Ie,$e,pt=this.size,Kt=this._unmodified;if(this.latRange){var ir=this.latRange;z=i.mercatorYfromLat(ir[1])*this.worldSize,K=i.mercatorYfromLat(ir[0])*this.worldSize,pe=K-z<pt.y?pt.y/(K-z):0}if(this.lngRange){var Jt=this.lngRange;O=i.mercatorXfromLng(Jt[0])*this.worldSize,$=i.mercatorXfromLng(Jt[1])*this.worldSize,de=$-O<pt.x?pt.x/($-O):0}var vt=this.point,Pt=Math.max(de||0,pe||0);if(Pt){this.center=this.unproject(new i.Point(de?($+O)/2:vt.x,pe?(K+z)/2:vt.y)),this.zoom+=this.scaleZoom(Pt),this._unmodified=Kt,this._constraining=!1;return}if(this.latRange){var Wt=vt.y,rr=pt.y/2;Wt-rr<z&&($e=z+rr),Wt+rr>K&&($e=K-rr)}if(this.lngRange){var dr=vt.x,pr=pt.x/2;dr-pr<O&&(Ie=O+pr),dr+pr>$&&(Ie=$-pr)}(Ie!==void 0||$e!==void 0)&&(this.center=this.unproject(new i.Point(Ie!==void 0?Ie:vt.x,$e!==void 0?$e:vt.y))),this._unmodified=Kt,this._constraining=!1}},yo.prototype._calcMatrices=function(){if(this.height){var z=this._fov/2,K=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(z)*this.height;var O=Math.PI/2+this._pitch,$=this._fov*(.5+K.y/this.height),pe=Math.sin($)*this.cameraToCenterDistance/Math.sin(i.clamp(Math.PI-O-$,.01,Math.PI-.01)),de=this.point,Ie=de.x,$e=de.y,pt=Math.cos(Math.PI/2-this._pitch)*pe+this.cameraToCenterDistance,Kt=pt*1.01,ir=this.height/50,Jt=new Float64Array(16);i.perspective(Jt,this._fov,this.width/this.height,ir,Kt),Jt[8]=-K.x*2/this.width,Jt[9]=K.y*2/this.height,i.scale(Jt,Jt,[1,-1,1]),i.translate(Jt,Jt,[0,0,-this.cameraToCenterDistance]),i.rotateX(Jt,Jt,this._pitch),i.rotateZ(Jt,Jt,this.angle),i.translate(Jt,Jt,[-Ie,-$e,0]),this.mercatorMatrix=i.scale([],Jt,[this.worldSize,this.worldSize,this.worldSize]),i.scale(Jt,Jt,[1,1,i.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=Jt,this.invProjMatrix=i.invert([],this.projMatrix);var vt=this.width%2/2,Pt=this.height%2/2,Wt=Math.cos(this.angle),rr=Math.sin(this.angle),dr=Ie-Math.round(Ie)+Wt*vt+rr*Pt,pr=$e-Math.round($e)+Wt*Pt+rr*vt,kr=new Float64Array(Jt);if(i.translate(kr,kr,[dr>.5?dr-1:dr,pr>.5?pr-1:pr,0]),this.alignedProjMatrix=kr,Jt=i.create(),i.scale(Jt,Jt,[this.width/2,-this.height/2,1]),i.translate(Jt,Jt,[1,-1,0]),this.labelPlaneMatrix=Jt,Jt=i.create(),i.scale(Jt,Jt,[1,-1,1]),i.translate(Jt,Jt,[-1,-1,0]),i.scale(Jt,Jt,[2/this.width,2/this.height,1]),this.glCoordMatrix=Jt,this.pixelMatrix=i.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),Jt=i.invert(new Float64Array(16),this.pixelMatrix),!Jt)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=Jt,this._posMatrixCache={},this._alignedPosMatrixCache={}}},yo.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var z=this.pointCoordinate(new i.Point(0,0)),K=[z.x*this.worldSize,z.y*this.worldSize,0,1],O=i.transformMat4(K,K,this.pixelMatrix);return O[3]/this.cameraToCenterDistance},yo.prototype.getCameraPoint=function(){var z=this._pitch,K=Math.tan(z)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new i.Point(0,K))},yo.prototype.getCameraQueryGeometry=function(z){var K=this.getCameraPoint();if(z.length===1)return[z[0],K];for(var O=K.x,$=K.y,pe=K.x,de=K.y,Ie=0,$e=z;Ie<$e.length;Ie+=1){var pt=$e[Ie];O=Math.min(O,pt.x),$=Math.min($,pt.y),pe=Math.max(pe,pt.x),de=Math.max(de,pt.y)}return[new i.Point(O,$),new i.Point(pe,$),new i.Point(pe,de),new i.Point(O,de),new i.Point(O,$)]},Object.defineProperties(yo.prototype,po);function _l(Y,z){var K=!1,O=null,$=function(){O=null,K&&(Y(),O=setTimeout($,z),K=!1)};return function(){return K=!0,O||$(),O}}var Hl=function(z){this._hashName=z&&encodeURIComponent(z),i.bindAll([\"_getCurrentHash\",\"_onHashChange\",\"_updateHash\"],this),this._updateHash=_l(this._updateHashUnthrottled.bind(this),30*1e3/100)};Hl.prototype.addTo=function(z){return this._map=z,i.window.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},Hl.prototype.remove=function(){return i.window.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},Hl.prototype.getHashString=function(z){var K=this._map.getCenter(),O=Math.round(this._map.getZoom()*100)/100,$=Math.ceil((O*Math.LN2+Math.log(512/360/.5))/Math.LN10),pe=Math.pow(10,$),de=Math.round(K.lng*pe)/pe,Ie=Math.round(K.lat*pe)/pe,$e=this._map.getBearing(),pt=this._map.getPitch(),Kt=\"\";if(z?Kt+=\"/\"+de+\"/\"+Ie+\"/\"+O:Kt+=O+\"/\"+Ie+\"/\"+de,($e||pt)&&(Kt+=\"/\"+Math.round($e*10)/10),pt&&(Kt+=\"/\"+Math.round(pt)),this._hashName){var ir=this._hashName,Jt=!1,vt=i.window.location.hash.slice(1).split(\"&\").map(function(Pt){var Wt=Pt.split(\"=\")[0];return Wt===ir?(Jt=!0,Wt+\"=\"+Kt):Pt}).filter(function(Pt){return Pt});return Jt||vt.push(ir+\"=\"+Kt),\"#\"+vt.join(\"&\")}return\"#\"+Kt},Hl.prototype._getCurrentHash=function(){var z=this,K=i.window.location.hash.replace(\"#\",\"\");if(this._hashName){var O;return K.split(\"&\").map(function($){return $.split(\"=\")}).forEach(function($){$[0]===z._hashName&&(O=$)}),(O&&O[1]||\"\").split(\"/\")}return K.split(\"/\")},Hl.prototype._onHashChange=function(){var z=this._getCurrentHash();if(z.length>=3&&!z.some(function(O){return isNaN(O)})){var K=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(z[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+z[2],+z[1]],zoom:+z[0],bearing:K,pitch:+(z[4]||0)}),!0}return!1},Hl.prototype._updateHashUnthrottled=function(){var z=i.window.location.href.replace(/(#.+)?$/,this.getHashString());try{i.window.history.replaceState(i.window.history.state,null,z)}catch(K){}};var Zu={linearity:.3,easing:i.bezier(0,0,.3,1)},cu=i.extend({deceleration:2500,maxSpeed:1400},Zu),el=i.extend({deceleration:20,maxSpeed:1400},Zu),au=i.extend({deceleration:1e3,maxSpeed:360},Zu),zc=i.extend({deceleration:1e3,maxSpeed:90},Zu),zl=function(z){this._map=z,this.clear()};zl.prototype.clear=function(){this._inertiaBuffer=[]},zl.prototype.record=function(z){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:i.browser.now(),settings:z})},zl.prototype._drainInertiaBuffer=function(){for(var z=this._inertiaBuffer,K=i.browser.now(),O=160;z.length>0&&K-z[0].time>O;)z.shift()},zl.prototype._onMoveEnd=function(z){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var K={zoom:0,bearing:0,pitch:0,pan:new i.Point(0,0),pinchAround:void 0,around:void 0},O=0,$=this._inertiaBuffer;O<$.length;O+=1){var pe=$[O],de=pe.settings;K.zoom+=de.zoomDelta||0,K.bearing+=de.bearingDelta||0,K.pitch+=de.pitchDelta||0,de.panDelta&&K.pan._add(de.panDelta),de.around&&(K.around=de.around),de.pinchAround&&(K.pinchAround=de.pinchAround)}var Ie=this._inertiaBuffer[this._inertiaBuffer.length-1],$e=Ie.time-this._inertiaBuffer[0].time,pt={};if(K.pan.mag()){var Kt=Z(K.pan.mag(),$e,i.extend({},cu,z||{}));pt.offset=K.pan.mult(Kt.amount/K.pan.mag()),pt.center=this._map.transform.center,Fl(pt,Kt)}if(K.zoom){var ir=Z(K.zoom,$e,el);pt.zoom=this._map.transform.zoom+ir.amount,Fl(pt,ir)}if(K.bearing){var Jt=Z(K.bearing,$e,au);pt.bearing=this._map.transform.bearing+i.clamp(Jt.amount,-179,179),Fl(pt,Jt)}if(K.pitch){var vt=Z(K.pitch,$e,zc);pt.pitch=this._map.transform.pitch+vt.amount,Fl(pt,vt)}if(pt.zoom||pt.bearing){var Pt=K.pinchAround===void 0?K.around:K.pinchAround;pt.around=Pt?this._map.unproject(Pt):this._map.getCenter()}return this.clear(),i.extend(pt,{noMoveStart:!0})}};function Fl(Y,z){(!Y.duration||Y.duration<z.duration)&&(Y.duration=z.duration,Y.easing=z.easing)}function Z(Y,z,K){var O=K.maxSpeed,$=K.linearity,pe=K.deceleration,de=i.clamp(Y*$/(z/1e3),-O,O),Ie=Math.abs(de)/(pe*$);return{easing:K.easing,duration:Ie*1e3,amount:de*(Ie/2)}}var oe=function(Y){function z(O,$,pe,de){de===void 0&&(de={});var Ie=o.mousePos($.getCanvasContainer(),pe),$e=$.unproject(Ie);Y.call(this,O,i.extend({point:Ie,lngLat:$e,originalEvent:pe},de)),this._defaultPrevented=!1,this.target=$}Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z;var K={defaultPrevented:{configurable:!0}};return z.prototype.preventDefault=function(){this._defaultPrevented=!0},K.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(z.prototype,K),z}(i.Event),we=function(Y){function z(O,$,pe){var de=O===\"touchend\"?pe.changedTouches:pe.touches,Ie=o.touchPos($.getCanvasContainer(),de),$e=Ie.map(function(ir){return $.unproject(ir)}),pt=Ie.reduce(function(ir,Jt,vt,Pt){return ir.add(Jt.div(Pt.length))},new i.Point(0,0)),Kt=$.unproject(pt);Y.call(this,O,{points:Ie,point:pt,lngLats:$e,lngLat:Kt,originalEvent:pe}),this._defaultPrevented=!1}Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z;var K={defaultPrevented:{configurable:!0}};return z.prototype.preventDefault=function(){this._defaultPrevented=!0},K.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(z.prototype,K),z}(i.Event),Be=function(Y){function z(O,$,pe){Y.call(this,O,{originalEvent:pe}),this._defaultPrevented=!1}Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z;var K={defaultPrevented:{configurable:!0}};return z.prototype.preventDefault=function(){this._defaultPrevented=!0},K.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(z.prototype,K),z}(i.Event),Ue=function(z,K){this._map=z,this._clickTolerance=K.clickTolerance};Ue.prototype.reset=function(){delete this._mousedownPos},Ue.prototype.wheel=function(z){return this._firePreventable(new Be(z.type,this._map,z))},Ue.prototype.mousedown=function(z,K){return this._mousedownPos=K,this._firePreventable(new oe(z.type,this._map,z))},Ue.prototype.mouseup=function(z){this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.click=function(z,K){this._mousedownPos&&this._mousedownPos.dist(K)>=this._clickTolerance||this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.dblclick=function(z){return this._firePreventable(new oe(z.type,this._map,z))},Ue.prototype.mouseover=function(z){this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.mouseout=function(z){this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.touchstart=function(z){return this._firePreventable(new we(z.type,this._map,z))},Ue.prototype.touchmove=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype.touchend=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype.touchcancel=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype._firePreventable=function(z){if(this._map.fire(z),z.defaultPrevented)return{}},Ue.prototype.isEnabled=function(){return!0},Ue.prototype.isActive=function(){return!1},Ue.prototype.enable=function(){},Ue.prototype.disable=function(){};var We=function(z){this._map=z};We.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},We.prototype.mousemove=function(z){this._map.fire(new oe(z.type,this._map,z))},We.prototype.mousedown=function(){this._delayContextMenu=!0},We.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new oe(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},We.prototype.contextmenu=function(z){this._delayContextMenu?this._contextMenuEvent=z:this._map.fire(new oe(z.type,this._map,z)),this._map.listens(\"contextmenu\")&&z.preventDefault()},We.prototype.isEnabled=function(){return!0},We.prototype.isActive=function(){return!1},We.prototype.enable=function(){},We.prototype.disable=function(){};var wt=function(z,K){this._map=z,this._el=z.getCanvasContainer(),this._container=z.getContainer(),this._clickTolerance=K.clickTolerance||1};wt.prototype.isEnabled=function(){return!!this._enabled},wt.prototype.isActive=function(){return!!this._active},wt.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},wt.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},wt.prototype.mousedown=function(z,K){this.isEnabled()&&z.shiftKey&&z.button===0&&(o.disableDrag(),this._startPos=this._lastPos=K,this._active=!0)},wt.prototype.mousemoveWindow=function(z,K){if(this._active){var O=K;if(!(this._lastPos.equals(O)||!this._box&&O.dist(this._startPos)<this._clickTolerance)){var $=this._startPos;this._lastPos=O,this._box||(this._box=o.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",z));var pe=Math.min($.x,O.x),de=Math.max($.x,O.x),Ie=Math.min($.y,O.y),$e=Math.max($.y,O.y);o.setTransform(this._box,\"translate(\"+pe+\"px,\"+Ie+\"px)\"),this._box.style.width=de-pe+\"px\",this._box.style.height=$e-Ie+\"px\"}}},wt.prototype.mouseupWindow=function(z,K){var O=this;if(this._active&&z.button===0){var $=this._startPos,pe=K;if(this.reset(),o.suppressClick(),$.x===pe.x&&$.y===pe.y)this._fireEvent(\"boxzoomcancel\",z);else return this._map.fire(new i.Event(\"boxzoomend\",{originalEvent:z})),{cameraAnimation:function(de){return de.fitScreenCoordinates($,pe,O._map.getBearing(),{linear:!0})}}}},wt.prototype.keydown=function(z){this._active&&z.keyCode===27&&(this.reset(),this._fireEvent(\"boxzoomcancel\",z))},wt.prototype.reset=function(){this._active=!1,this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(o.remove(this._box),this._box=null),o.enableDrag(),delete this._startPos,delete this._lastPos},wt.prototype._fireEvent=function(z,K){return this._map.fire(new i.Event(z,{originalEvent:K}))};function tt(Y,z){for(var K={},O=0;O<Y.length;O++)K[Y[O].identifier]=z[O];return K}function zt(Y){for(var z=new i.Point(0,0),K=0,O=Y;K<O.length;K+=1){var $=O[K];z._add($)}return z.div(Y.length)}var or=500,lr=500,Dr=30,Ir=function(z){this.reset(),this.numTouches=z.numTouches};Ir.prototype.reset=function(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1},Ir.prototype.touchstart=function(z,K,O){(this.centroid||O.length>this.numTouches)&&(this.aborted=!0),!this.aborted&&(this.startTime===void 0&&(this.startTime=z.timeStamp),O.length===this.numTouches&&(this.centroid=zt(K),this.touches=tt(O,K)))},Ir.prototype.touchmove=function(z,K,O){if(!(this.aborted||!this.centroid)){var $=tt(O,K);for(var pe in this.touches){var de=this.touches[pe],Ie=$[pe];(!Ie||Ie.dist(de)>Dr)&&(this.aborted=!0)}}},Ir.prototype.touchend=function(z,K,O){if((!this.centroid||z.timeStamp-this.startTime>lr)&&(this.aborted=!0),O.length===0){var $=!this.aborted&&this.centroid;if(this.reset(),$)return $}};var oi=function(z){this.singleTap=new Ir(z),this.numTaps=z.numTaps,this.reset()};oi.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},oi.prototype.touchstart=function(z,K,O){this.singleTap.touchstart(z,K,O)},oi.prototype.touchmove=function(z,K,O){this.singleTap.touchmove(z,K,O)},oi.prototype.touchend=function(z,K,O){var $=this.singleTap.touchend(z,K,O);if($){var pe=z.timeStamp-this.lastTime<or,de=!this.lastTap||this.lastTap.dist($)<Dr;if((!pe||!de)&&this.reset(),this.count++,this.lastTime=z.timeStamp,this.lastTap=$,this.count===this.numTaps)return this.reset(),$}};var ui=function(){this._zoomIn=new oi({numTouches:1,numTaps:2}),this._zoomOut=new oi({numTouches:2,numTaps:1}),this.reset()};ui.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},ui.prototype.touchstart=function(z,K,O){this._zoomIn.touchstart(z,K,O),this._zoomOut.touchstart(z,K,O)},ui.prototype.touchmove=function(z,K,O){this._zoomIn.touchmove(z,K,O),this._zoomOut.touchmove(z,K,O)},ui.prototype.touchend=function(z,K,O){var $=this,pe=this._zoomIn.touchend(z,K,O),de=this._zoomOut.touchend(z,K,O);if(pe)return this._active=!0,z.preventDefault(),setTimeout(function(){return $.reset()},0),{cameraAnimation:function(Ie){return Ie.easeTo({duration:300,zoom:Ie.getZoom()+1,around:Ie.unproject(pe)},{originalEvent:z})}};if(de)return this._active=!0,z.preventDefault(),setTimeout(function(){return $.reset()},0),{cameraAnimation:function(Ie){return Ie.easeTo({duration:300,zoom:Ie.getZoom()-1,around:Ie.unproject(de)},{originalEvent:z})}}},ui.prototype.touchcancel=function(){this.reset()},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 qr=0,Kr=2,ii={};ii[qr]=1,ii[Kr]=2;function vi(Y,z){var K=ii[z];return Y.buttons===void 0||(Y.buttons&K)!==K}var ci=function(z){this.reset(),this._clickTolerance=z.clickTolerance||1};ci.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},ci.prototype._correctButton=function(z,K){return!1},ci.prototype._move=function(z,K){return{}},ci.prototype.mousedown=function(z,K){if(!this._lastPoint){var O=o.mouseButton(z);this._correctButton(z,O)&&(this._lastPoint=K,this._eventButton=O)}},ci.prototype.mousemoveWindow=function(z,K){var O=this._lastPoint;if(O){if(z.preventDefault(),vi(z,this._eventButton)){this.reset();return}if(!(!this._moved&&K.dist(O)<this._clickTolerance))return this._moved=!0,this._lastPoint=K,this._move(O,K)}},ci.prototype.mouseupWindow=function(z){if(this._lastPoint){var K=o.mouseButton(z);K===this._eventButton&&(this._moved&&o.suppressClick(),this.reset())}},ci.prototype.enable=function(){this._enabled=!0},ci.prototype.disable=function(){this._enabled=!1,this.reset()},ci.prototype.isEnabled=function(){return this._enabled},ci.prototype.isActive=function(){return this._active};var Jr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.mousedown=function(O,$){Y.prototype.mousedown.call(this,O,$),this._lastPoint&&(this._active=!0)},z.prototype._correctButton=function(O,$){return $===qr&&!O.ctrlKey},z.prototype._move=function(O,$){return{around:$,panDelta:$.sub(O)}},z}(ci),un=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype._correctButton=function(O,$){return $===qr&&O.ctrlKey||$===Kr},z.prototype._move=function(O,$){var pe=.8,de=($.x-O.x)*pe;if(de)return this._active=!0,{bearingDelta:de}},z.prototype.contextmenu=function(O){O.preventDefault()},z}(ci),dn=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype._correctButton=function(O,$){return $===qr&&O.ctrlKey||$===Kr},z.prototype._move=function(O,$){var pe=-.5,de=($.y-O.y)*pe;if(de)return this._active=!0,{pitchDelta:de}},z.prototype.contextmenu=function(O){O.preventDefault()},z}(ci),En=function(z){this._minTouches=1,this._clickTolerance=z.clickTolerance||1,this.reset()};En.prototype.reset=function(){this._active=!1,this._touches={},this._sum=new i.Point(0,0)},En.prototype.touchstart=function(z,K,O){return this._calculateTransform(z,K,O)},En.prototype.touchmove=function(z,K,O){if(!(!this._active||O.length<this._minTouches))return z.preventDefault(),this._calculateTransform(z,K,O)},En.prototype.touchend=function(z,K,O){this._calculateTransform(z,K,O),this._active&&O.length<this._minTouches&&this.reset()},En.prototype.touchcancel=function(){this.reset()},En.prototype._calculateTransform=function(z,K,O){O.length>0&&(this._active=!0);var $=tt(O,K),pe=new i.Point(0,0),de=new i.Point(0,0),Ie=0;for(var $e in $){var pt=$[$e],Kt=this._touches[$e];Kt&&(pe._add(pt),de._add(pt.sub(Kt)),Ie++,$[$e]=pt)}if(this._touches=$,!(Ie<this._minTouches||!de.mag())){var ir=de.div(Ie);if(this._sum._add(ir),!(this._sum.mag()<this._clickTolerance)){var Jt=pe.div(Ie);return{around:Jt,panDelta:ir}}}},En.prototype.enable=function(){this._enabled=!0},En.prototype.disable=function(){this._enabled=!1,this.reset()},En.prototype.isEnabled=function(){return this._enabled},En.prototype.isActive=function(){return this._active};var Nn=function(){this.reset()};Nn.prototype.reset=function(){this._active=!1,delete this._firstTwoTouches},Nn.prototype._start=function(z){},Nn.prototype._move=function(z,K,O){return{}},Nn.prototype.touchstart=function(z,K,O){this._firstTwoTouches||O.length<2||(this._firstTwoTouches=[O[0].identifier,O[1].identifier],this._start([K[0],K[1]]))},Nn.prototype.touchmove=function(z,K,O){if(this._firstTwoTouches){z.preventDefault();var $=this._firstTwoTouches,pe=$[0],de=$[1],Ie=ga(O,K,pe),$e=ga(O,K,de);if(!(!Ie||!$e)){var pt=this._aroundCenter?null:Ie.add($e).div(2);return this._move([Ie,$e],pt,z)}}},Nn.prototype.touchend=function(z,K,O){if(this._firstTwoTouches){var $=this._firstTwoTouches,pe=$[0],de=$[1],Ie=ga(O,K,pe),$e=ga(O,K,de);Ie&&$e||(this._active&&o.suppressClick(),this.reset())}},Nn.prototype.touchcancel=function(){this.reset()},Nn.prototype.enable=function(z){this._enabled=!0,this._aroundCenter=!!z&&z.around===\"center\"},Nn.prototype.disable=function(){this._enabled=!1,this.reset()},Nn.prototype.isEnabled=function(){return this._enabled},Nn.prototype.isActive=function(){return this._active};function ga(Y,z,K){for(var O=0;O<Y.length;O++)if(Y[O].identifier===K)return z[O]}var ya=.1;function so(Y,z){return Math.log(Y/z)/Math.LN2}var wa=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.reset=function(){Y.prototype.reset.call(this),delete this._distance,delete this._startDistance},z.prototype._start=function(O){this._startDistance=this._distance=O[0].dist(O[1])},z.prototype._move=function(O,$){var pe=this._distance;if(this._distance=O[0].dist(O[1]),!(!this._active&&Math.abs(so(this._distance,this._startDistance))<ya))return this._active=!0,{zoomDelta:so(this._distance,pe),pinchAround:$}},z}(Nn),io=25;function Ss(Y,z){return Y.angleWith(z)*180/Math.PI}var _s=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.reset=function(){Y.prototype.reset.call(this),delete this._minDiameter,delete this._startVector,delete this._vector},z.prototype._start=function(O){this._startVector=this._vector=O[0].sub(O[1]),this._minDiameter=O[0].dist(O[1])},z.prototype._move=function(O,$){var pe=this._vector;if(this._vector=O[0].sub(O[1]),!(!this._active&&this._isBelowThreshold(this._vector)))return this._active=!0,{bearingDelta:Ss(this._vector,pe),pinchAround:$}},z.prototype._isBelowThreshold=function(O){this._minDiameter=Math.min(this._minDiameter,O.mag());var $=Math.PI*this._minDiameter,pe=io/$*360,de=Ss(O,this._startVector);return Math.abs(de)<pe},z}(Nn);function Ns(Y){return Math.abs(Y.y)>Math.abs(Y.x)}var pn=100,za=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.reset=function(){Y.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},z.prototype._start=function(O){this._lastPoints=O,Ns(O[0].sub(O[1]))&&(this._valid=!1)},z.prototype._move=function(O,$,pe){var de=O[0].sub(this._lastPoints[0]),Ie=O[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(de,Ie,pe.timeStamp),!!this._valid){this._lastPoints=O,this._active=!0;var $e=(de.y+Ie.y)/2,pt=-.5;return{pitchDelta:$e*pt}}},z.prototype.gestureBeginsVertically=function(O,$,pe){if(this._valid!==void 0)return this._valid;var de=2,Ie=O.mag()>=de,$e=$.mag()>=de;if(!(!Ie&&!$e)){if(!Ie||!$e)return this._firstMove===void 0&&(this._firstMove=pe),pe-this._firstMove<pn?void 0:!1;var pt=O.y>0==$.y>0;return Ns(O)&&Ns($)&&pt}},z}(Nn),Lo={panStep:100,bearingStep:15,pitchStep:10},Fo=function(){var z=Lo;this._panStep=z.panStep,this._bearingStep=z.bearingStep,this._pitchStep=z.pitchStep,this._rotationDisabled=!1};Fo.prototype.reset=function(){this._active=!1},Fo.prototype.keydown=function(z){var K=this;if(!(z.altKey||z.ctrlKey||z.metaKey)){var O=0,$=0,pe=0,de=0,Ie=0;switch(z.keyCode){case 61:case 107:case 171:case 187:O=1;break;case 189:case 109:case 173:O=-1;break;case 37:z.shiftKey?$=-1:(z.preventDefault(),de=-1);break;case 39:z.shiftKey?$=1:(z.preventDefault(),de=1);break;case 38:z.shiftKey?pe=1:(z.preventDefault(),Ie=-1);break;case 40:z.shiftKey?pe=-1:(z.preventDefault(),Ie=1);break;default:return}return this._rotationDisabled&&($=0,pe=0),{cameraAnimation:function($e){var pt=$e.getZoom();$e.easeTo({duration:300,easeId:\"keyboardHandler\",easing:js,zoom:O?Math.round(pt)+O*(z.shiftKey?2:1):pt,bearing:$e.getBearing()+$*K._bearingStep,pitch:$e.getPitch()+pe*K._pitchStep,offset:[-de*K._panStep,-Ie*K._panStep],center:$e.getCenter()},{originalEvent:z})}}}},Fo.prototype.enable=function(){this._enabled=!0},Fo.prototype.disable=function(){this._enabled=!1,this.reset()},Fo.prototype.isEnabled=function(){return this._enabled},Fo.prototype.isActive=function(){return this._active},Fo.prototype.disableRotation=function(){this._rotationDisabled=!0},Fo.prototype.enableRotation=function(){this._rotationDisabled=!1};function js(Y){return Y*(2-Y)}var xl=4.000244140625,fu=1/100,dl=1/450,xc=2,At=function(z,K){this._map=z,this._el=z.getCanvasContainer(),this._handler=K,this._delta=0,this._defaultZoomRate=fu,this._wheelZoomRate=dl,i.bindAll([\"_onTimeout\"],this)};At.prototype.setZoomRate=function(z){this._defaultZoomRate=z},At.prototype.setWheelZoomRate=function(z){this._wheelZoomRate=z},At.prototype.isEnabled=function(){return!!this._enabled},At.prototype.isActive=function(){return!!this._active||this._finishTimeout!==void 0},At.prototype.isZooming=function(){return!!this._zooming},At.prototype.enable=function(z){this.isEnabled()||(this._enabled=!0,this._aroundCenter=z&&z.around===\"center\")},At.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},At.prototype.wheel=function(z){if(this.isEnabled()){var K=z.deltaMode===i.window.WheelEvent.DOM_DELTA_LINE?z.deltaY*40:z.deltaY,O=i.browser.now(),$=O-(this._lastWheelEventTime||0);this._lastWheelEventTime=O,K!==0&&K%xl===0?this._type=\"wheel\":K!==0&&Math.abs(K)<4?this._type=\"trackpad\":$>400?(this._type=null,this._lastValue=K,this._timeout=setTimeout(this._onTimeout,40,z)):this._type||(this._type=Math.abs($*K)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,K+=this._lastValue)),z.shiftKey&&K&&(K=K/4),this._type&&(this._lastWheelEvent=z,this._delta-=K,this._active||this._start(z)),z.preventDefault()}},At.prototype._onTimeout=function(z){this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(z)},At.prototype._start=function(z){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 K=o.mousePos(this._el,z);this._around=i.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(K)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},At.prototype.renderFrame=function(){var z=this;if(this._frameId&&(this._frameId=null,!!this.isActive())){var K=this._map.transform;if(this._delta!==0){var O=this._type===\"wheel\"&&Math.abs(this._delta)>xl?this._wheelZoomRate:this._defaultZoomRate,$=xc/(1+Math.exp(-Math.abs(this._delta*O)));this._delta<0&&$!==0&&($=1/$);var pe=typeof this._targetZoom==\"number\"?K.zoomScale(this._targetZoom):K.scale;this._targetZoom=Math.min(K.maxZoom,Math.max(K.minZoom,K.scaleZoom(pe*$))),this._type===\"wheel\"&&(this._startZoom=K.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var de=typeof this._targetZoom==\"number\"?this._targetZoom:K.zoom,Ie=this._startZoom,$e=this._easing,pt=!1,Kt;if(this._type===\"wheel\"&&Ie&&$e){var ir=Math.min((i.browser.now()-this._lastWheelEventTime)/200,1),Jt=$e(ir);Kt=i.number(Ie,de,Jt),ir<1?this._frameId||(this._frameId=!0):pt=!0}else Kt=de,pt=!0;return this._active=!0,pt&&(this._active=!1,this._finishTimeout=setTimeout(function(){z._zooming=!1,z._handler._triggerRenderFrame(),delete z._targetZoom,delete z._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!pt,zoomDelta:Kt-K.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},At.prototype._smoothOutEasing=function(z){var K=i.ease;if(this._prevEase){var O=this._prevEase,$=(i.browser.now()-O.start)/O.duration,pe=O.easing($+.01)-O.easing($),de=.27/Math.sqrt(pe*pe+1e-4)*.01,Ie=Math.sqrt(.27*.27-de*de);K=i.bezier(de,Ie,.25,1)}return this._prevEase={start:i.browser.now(),duration:z,easing:K},K},At.prototype.reset=function(){this._active=!1};var Er=function(z,K){this._clickZoom=z,this._tapZoom=K};Er.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},Er.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},Er.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},Er.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var Wr=function(){this.reset()};Wr.prototype.reset=function(){this._active=!1},Wr.prototype.dblclick=function(z,K){return z.preventDefault(),{cameraAnimation:function(O){O.easeTo({duration:300,zoom:O.getZoom()+(z.shiftKey?-1:1),around:O.unproject(K)},{originalEvent:z})}}},Wr.prototype.enable=function(){this._enabled=!0},Wr.prototype.disable=function(){this._enabled=!1,this.reset()},Wr.prototype.isEnabled=function(){return this._enabled},Wr.prototype.isActive=function(){return this._active};var wi=function(){this._tap=new oi({numTouches:1,numTaps:1}),this.reset()};wi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},wi.prototype.touchstart=function(z,K,O){this._swipePoint||(this._tapTime&&z.timeStamp-this._tapTime>or&&this.reset(),this._tapTime?O.length>0&&(this._swipePoint=K[0],this._swipeTouch=O[0].identifier):this._tap.touchstart(z,K,O))},wi.prototype.touchmove=function(z,K,O){if(!this._tapTime)this._tap.touchmove(z,K,O);else if(this._swipePoint){if(O[0].identifier!==this._swipeTouch)return;var $=K[0],pe=$.y-this._swipePoint.y;return this._swipePoint=$,z.preventDefault(),this._active=!0,{zoomDelta:pe/128}}},wi.prototype.touchend=function(z,K,O){if(this._tapTime)this._swipePoint&&O.length===0&&this.reset();else{var $=this._tap.touchend(z,K,O);$&&(this._tapTime=z.timeStamp)}},wi.prototype.touchcancel=function(){this.reset()},wi.prototype.enable=function(){this._enabled=!0},wi.prototype.disable=function(){this._enabled=!1,this.reset()},wi.prototype.isEnabled=function(){return this._enabled},wi.prototype.isActive=function(){return this._active};var Ui=function(z,K,O){this._el=z,this._mousePan=K,this._touchPan=O};Ui.prototype.enable=function(z){this._inertiaOptions=z||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"mapboxgl-touch-drag-pan\")},Ui.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"mapboxgl-touch-drag-pan\")},Ui.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},Ui.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var Oi=function(z,K,O){this._pitchWithRotate=z.pitchWithRotate,this._mouseRotate=K,this._mousePitch=O};Oi.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},Oi.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},Oi.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},Oi.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var Bi=function(z,K,O,$){this._el=z,this._touchZoom=K,this._touchRotate=O,this._tapDragZoom=$,this._rotationDisabled=!1,this._enabled=!0};Bi.prototype.enable=function(z){this._touchZoom.enable(z),this._rotationDisabled||this._touchRotate.enable(z),this._tapDragZoom.enable(),this._el.classList.add(\"mapboxgl-touch-zoom-rotate\")},Bi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\")},Bi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},Bi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},Bi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},Bi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var cn=function(Y){return Y.zoom||Y.drag||Y.pitch||Y.rotate},On=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z}(i.Event);function Bn(Y){return Y.panDelta&&Y.panDelta.mag()||Y.zoomDelta||Y.bearingDelta||Y.pitchDelta}var yn=function(z,K){this._map=z,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new zl(z),this._bearingSnap=K.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(K),i.bindAll([\"handleEvent\",\"handleWindowEvent\"],this);var O=this._el;this._listeners=[[O,\"touchstart\",{passive:!0}],[O,\"touchmove\",{passive:!1}],[O,\"touchend\",void 0],[O,\"touchcancel\",void 0],[O,\"mousedown\",void 0],[O,\"mousemove\",void 0],[O,\"mouseup\",void 0],[i.window.document,\"mousemove\",{capture:!0}],[i.window.document,\"mouseup\",void 0],[O,\"mouseover\",void 0],[O,\"mouseout\",void 0],[O,\"dblclick\",void 0],[O,\"click\",void 0],[O,\"keydown\",{capture:!1}],[O,\"keyup\",void 0],[O,\"wheel\",{passive:!1}],[O,\"contextmenu\",void 0],[i.window,\"blur\",void 0]];for(var $=0,pe=this._listeners;$<pe.length;$+=1){var de=pe[$],Ie=de[0],$e=de[1],pt=de[2];o.addEventListener(Ie,$e,Ie===i.window.document?this.handleWindowEvent:this.handleEvent,pt)}};yn.prototype.destroy=function(){for(var z=0,K=this._listeners;z<K.length;z+=1){var O=K[z],$=O[0],pe=O[1],de=O[2];o.removeEventListener($,pe,$===i.window.document?this.handleWindowEvent:this.handleEvent,de)}},yn.prototype._addDefaultHandlers=function(z){var K=this._map,O=K.getCanvasContainer();this._add(\"mapEvent\",new Ue(K,z));var $=K.boxZoom=new wt(K,z);this._add(\"boxZoom\",$);var pe=new ui,de=new Wr;K.doubleClickZoom=new Er(de,pe),this._add(\"tapZoom\",pe),this._add(\"clickZoom\",de);var Ie=new wi;this._add(\"tapDragZoom\",Ie);var $e=K.touchPitch=new za;this._add(\"touchPitch\",$e);var pt=new un(z),Kt=new dn(z);K.dragRotate=new Oi(z,pt,Kt),this._add(\"mouseRotate\",pt,[\"mousePitch\"]),this._add(\"mousePitch\",Kt,[\"mouseRotate\"]);var ir=new Jr(z),Jt=new En(z);K.dragPan=new Ui(O,ir,Jt),this._add(\"mousePan\",ir),this._add(\"touchPan\",Jt,[\"touchZoom\",\"touchRotate\"]);var vt=new _s,Pt=new wa;K.touchZoomRotate=new Bi(O,Pt,vt,Ie),this._add(\"touchRotate\",vt,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",Pt,[\"touchPan\",\"touchRotate\"]);var Wt=K.scrollZoom=new At(K,this);this._add(\"scrollZoom\",Wt,[\"mousePan\"]);var rr=K.keyboard=new Fo;this._add(\"keyboard\",rr),this._add(\"blockableMapEvent\",new We(K));for(var dr=0,pr=[\"boxZoom\",\"doubleClickZoom\",\"tapDragZoom\",\"touchPitch\",\"dragRotate\",\"dragPan\",\"touchZoomRotate\",\"scrollZoom\",\"keyboard\"];dr<pr.length;dr+=1){var kr=pr[dr];z.interactive&&z[kr]&&K[kr].enable(z[kr])}},yn.prototype._add=function(z,K,O){this._handlers.push({handlerName:z,handler:K,allowed:O}),this._handlersById[z]=K},yn.prototype.stop=function(z){if(!this._updatingCamera){for(var K=0,O=this._handlers;K<O.length;K+=1){var $=O[K],pe=$.handler;pe.reset()}this._inertia.clear(),this._fireEvents({},{},z),this._changes=[]}},yn.prototype.isActive=function(){for(var z=0,K=this._handlers;z<K.length;z+=1){var O=K[z],$=O.handler;if($.isActive())return!0}return!1},yn.prototype.isZooming=function(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()},yn.prototype.isRotating=function(){return!!this._eventsInProgress.rotate},yn.prototype.isMoving=function(){return!!cn(this._eventsInProgress)||this.isZooming()},yn.prototype._blockedByActive=function(z,K,O){for(var $ in z)if($!==O&&(!K||K.indexOf($)<0))return!0;return!1},yn.prototype.handleWindowEvent=function(z){this.handleEvent(z,z.type+\"Window\")},yn.prototype._getMapTouches=function(z){for(var K=[],O=0,$=z;O<$.length;O+=1){var pe=$[O],de=pe.target;this._el.contains(de)&&K.push(pe)}return K},yn.prototype.handleEvent=function(z,K){if(z.type===\"blur\"){this.stop(!0);return}this._updatingCamera=!0;for(var O=z.type===\"renderFrame\"?void 0:z,$={needsRenderFrame:!1},pe={},de={},Ie=z.touches?this._getMapTouches(z.touches):void 0,$e=Ie?o.touchPos(this._el,Ie):o.mousePos(this._el,z),pt=0,Kt=this._handlers;pt<Kt.length;pt+=1){var ir=Kt[pt],Jt=ir.handlerName,vt=ir.handler,Pt=ir.allowed;if(vt.isEnabled()){var Wt=void 0;this._blockedByActive(de,Pt,Jt)?vt.reset():vt[K||z.type]&&(Wt=vt[K||z.type](z,$e,Ie),this.mergeHandlerResult($,pe,Wt,Jt,O),Wt&&Wt.needsRenderFrame&&this._triggerRenderFrame()),(Wt||vt.isActive())&&(de[Jt]=vt)}}var rr={};for(var dr in this._previousActiveHandlers)de[dr]||(rr[dr]=O);this._previousActiveHandlers=de,(Object.keys(rr).length||Bn($))&&(this._changes.push([$,pe,rr]),this._triggerRenderFrame()),(Object.keys(de).length||Bn($))&&this._map._stop(!0),this._updatingCamera=!1;var pr=$.cameraAnimation;pr&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],pr(this._map))},yn.prototype.mergeHandlerResult=function(z,K,O,$,pe){if(O){i.extend(z,O);var de={handlerName:$,originalEvent:O.originalEvent||pe};O.zoomDelta!==void 0&&(K.zoom=de),O.panDelta!==void 0&&(K.drag=de),O.pitchDelta!==void 0&&(K.pitch=de),O.bearingDelta!==void 0&&(K.rotate=de)}},yn.prototype._applyChanges=function(){for(var z={},K={},O={},$=0,pe=this._changes;$<pe.length;$+=1){var de=pe[$],Ie=de[0],$e=de[1],pt=de[2];Ie.panDelta&&(z.panDelta=(z.panDelta||new i.Point(0,0))._add(Ie.panDelta)),Ie.zoomDelta&&(z.zoomDelta=(z.zoomDelta||0)+Ie.zoomDelta),Ie.bearingDelta&&(z.bearingDelta=(z.bearingDelta||0)+Ie.bearingDelta),Ie.pitchDelta&&(z.pitchDelta=(z.pitchDelta||0)+Ie.pitchDelta),Ie.around!==void 0&&(z.around=Ie.around),Ie.pinchAround!==void 0&&(z.pinchAround=Ie.pinchAround),Ie.noInertia&&(z.noInertia=Ie.noInertia),i.extend(K,$e),i.extend(O,pt)}this._updateMapTransform(z,K,O),this._changes=[]},yn.prototype._updateMapTransform=function(z,K,O){var $=this._map,pe=$.transform;if(!Bn(z))return this._fireEvents(K,O,!0);var de=z.panDelta,Ie=z.zoomDelta,$e=z.bearingDelta,pt=z.pitchDelta,Kt=z.around,ir=z.pinchAround;ir!==void 0&&(Kt=ir),$._stop(!0),Kt=Kt||$.transform.centerPoint;var Jt=pe.pointLocation(de?Kt.sub(de):Kt);$e&&(pe.bearing+=$e),pt&&(pe.pitch+=pt),Ie&&(pe.zoom+=Ie),pe.setLocationAtPoint(Jt,Kt),this._map._update(),z.noInertia||this._inertia.record(z),this._fireEvents(K,O,!0)},yn.prototype._fireEvents=function(z,K,O){var $=this,pe=cn(this._eventsInProgress),de=cn(z),Ie={};for(var $e in z){var pt=z[$e],Kt=pt.originalEvent;this._eventsInProgress[$e]||(Ie[$e+\"start\"]=Kt),this._eventsInProgress[$e]=z[$e]}!pe&&de&&this._fireEvent(\"movestart\",de.originalEvent);for(var ir in Ie)this._fireEvent(ir,Ie[ir]);de&&this._fireEvent(\"move\",de.originalEvent);for(var Jt in z){var vt=z[Jt],Pt=vt.originalEvent;this._fireEvent(Jt,Pt)}var Wt={},rr;for(var dr in this._eventsInProgress){var pr=this._eventsInProgress[dr],kr=pr.handlerName,Ar=pr.originalEvent;this._handlersById[kr].isActive()||(delete this._eventsInProgress[dr],rr=K[kr]||Ar,Wt[dr+\"end\"]=rr)}for(var gr in Wt)this._fireEvent(gr,Wt[gr]);var Cr=cn(this._eventsInProgress);if(O&&(pe||de)&&!Cr){this._updatingCamera=!0;var cr=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),Gr=function(ei){return ei!==0&&-$._bearingSnap<ei&&ei<$._bearingSnap};cr?(Gr(cr.bearing||this._map.getBearing())&&(cr.bearing=0),this._map.easeTo(cr,{originalEvent:rr})):(this._map.fire(new i.Event(\"moveend\",{originalEvent:rr})),Gr(this._map.getBearing())&&this._map.resetNorth()),this._updatingCamera=!1}},yn.prototype._fireEvent=function(z,K){this._map.fire(new i.Event(z,K?{originalEvent:K}:{}))},yn.prototype._requestFrame=function(){var z=this;return this._map.triggerRepaint(),this._map._renderTaskQueue.add(function(K){delete z._frameId,z.handleEvent(new On(\"renderFrame\",{timeStamp:K})),z._applyChanges()})},yn.prototype._triggerRenderFrame=function(){this._frameId===void 0&&(this._frameId=this._requestFrame())};var to=function(Y){function z(K,O){Y.call(this),this._moving=!1,this._zooming=!1,this.transform=K,this._bearingSnap=O.bearingSnap,i.bindAll([\"_renderFrameCallback\"],this)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getCenter=function(){return new i.LngLat(this.transform.center.lng,this.transform.center.lat)},z.prototype.setCenter=function(O,$){return this.jumpTo({center:O},$)},z.prototype.panBy=function(O,$,pe){return O=i.Point.convert(O).mult(-1),this.panTo(this.transform.center,i.extend({offset:O},$),pe)},z.prototype.panTo=function(O,$,pe){return this.easeTo(i.extend({center:O},$),pe)},z.prototype.getZoom=function(){return this.transform.zoom},z.prototype.setZoom=function(O,$){return this.jumpTo({zoom:O},$),this},z.prototype.zoomTo=function(O,$,pe){return this.easeTo(i.extend({zoom:O},$),pe)},z.prototype.zoomIn=function(O,$){return this.zoomTo(this.getZoom()+1,O,$),this},z.prototype.zoomOut=function(O,$){return this.zoomTo(this.getZoom()-1,O,$),this},z.prototype.getBearing=function(){return this.transform.bearing},z.prototype.setBearing=function(O,$){return this.jumpTo({bearing:O},$),this},z.prototype.getPadding=function(){return this.transform.padding},z.prototype.setPadding=function(O,$){return this.jumpTo({padding:O},$),this},z.prototype.rotateTo=function(O,$,pe){return this.easeTo(i.extend({bearing:O},$),pe)},z.prototype.resetNorth=function(O,$){return this.rotateTo(0,i.extend({duration:1e3},O),$),this},z.prototype.resetNorthPitch=function(O,$){return this.easeTo(i.extend({bearing:0,pitch:0,duration:1e3},O),$),this},z.prototype.snapToNorth=function(O,$){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(O,$):this},z.prototype.getPitch=function(){return this.transform.pitch},z.prototype.setPitch=function(O,$){return this.jumpTo({pitch:O},$),this},z.prototype.cameraForBounds=function(O,$){O=i.LngLatBounds.convert(O);var pe=$&&$.bearing||0;return this._cameraForBoxAndBearing(O.getNorthWest(),O.getSouthEast(),pe,$)},z.prototype._cameraForBoxAndBearing=function(O,$,pe,de){var Ie={top:0,bottom:0,right:0,left:0};if(de=i.extend({padding:Ie,offset:[0,0],maxZoom:this.transform.maxZoom},de),typeof de.padding==\"number\"){var $e=de.padding;de.padding={top:$e,bottom:$e,right:$e,left:$e}}de.padding=i.extend(Ie,de.padding);var pt=this.transform,Kt=pt.padding,ir=pt.project(i.LngLat.convert(O)),Jt=pt.project(i.LngLat.convert($)),vt=ir.rotate(-pe*Math.PI/180),Pt=Jt.rotate(-pe*Math.PI/180),Wt=new i.Point(Math.max(vt.x,Pt.x),Math.max(vt.y,Pt.y)),rr=new i.Point(Math.min(vt.x,Pt.x),Math.min(vt.y,Pt.y)),dr=Wt.sub(rr),pr=(pt.width-(Kt.left+Kt.right+de.padding.left+de.padding.right))/dr.x,kr=(pt.height-(Kt.top+Kt.bottom+de.padding.top+de.padding.bottom))/dr.y;if(kr<0||pr<0){i.warnOnce(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\");return}var Ar=Math.min(pt.scaleZoom(pt.scale*Math.min(pr,kr)),de.maxZoom),gr=typeof de.offset.x==\"number\"?new i.Point(de.offset.x,de.offset.y):i.Point.convert(de.offset),Cr=(de.padding.left-de.padding.right)/2,cr=(de.padding.top-de.padding.bottom)/2,Gr=new i.Point(Cr,cr),ei=Gr.rotate(pe*Math.PI/180),yi=gr.add(ei),tn=yi.mult(pt.scale/pt.zoomScale(Ar)),Ri=pt.unproject(ir.add(Jt).div(2).sub(tn));return{center:Ri,zoom:Ar,bearing:pe}},z.prototype.fitBounds=function(O,$,pe){return this._fitInternal(this.cameraForBounds(O,$),$,pe)},z.prototype.fitScreenCoordinates=function(O,$,pe,de,Ie){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(i.Point.convert(O)),this.transform.pointLocation(i.Point.convert($)),pe,de),de,Ie)},z.prototype._fitInternal=function(O,$,pe){return O?($=i.extend(O,$),delete $.padding,$.linear?this.easeTo($,pe):this.flyTo($,pe)):this},z.prototype.jumpTo=function(O,$){this.stop();var pe=this.transform,de=!1,Ie=!1,$e=!1;return\"zoom\"in O&&pe.zoom!==+O.zoom&&(de=!0,pe.zoom=+O.zoom),O.center!==void 0&&(pe.center=i.LngLat.convert(O.center)),\"bearing\"in O&&pe.bearing!==+O.bearing&&(Ie=!0,pe.bearing=+O.bearing),\"pitch\"in O&&pe.pitch!==+O.pitch&&($e=!0,pe.pitch=+O.pitch),O.padding!=null&&!pe.isPaddingEqual(O.padding)&&(pe.padding=O.padding),this.fire(new i.Event(\"movestart\",$)).fire(new i.Event(\"move\",$)),de&&this.fire(new i.Event(\"zoomstart\",$)).fire(new i.Event(\"zoom\",$)).fire(new i.Event(\"zoomend\",$)),Ie&&this.fire(new i.Event(\"rotatestart\",$)).fire(new i.Event(\"rotate\",$)).fire(new i.Event(\"rotateend\",$)),$e&&this.fire(new i.Event(\"pitchstart\",$)).fire(new i.Event(\"pitch\",$)).fire(new i.Event(\"pitchend\",$)),this.fire(new i.Event(\"moveend\",$))},z.prototype.easeTo=function(O,$){var pe=this;this._stop(!1,O.easeId),O=i.extend({offset:[0,0],duration:500,easing:i.ease},O),(O.animate===!1||!O.essential&&i.browser.prefersReducedMotion)&&(O.duration=0);var de=this.transform,Ie=this.getZoom(),$e=this.getBearing(),pt=this.getPitch(),Kt=this.getPadding(),ir=\"zoom\"in O?+O.zoom:Ie,Jt=\"bearing\"in O?this._normalizeBearing(O.bearing,$e):$e,vt=\"pitch\"in O?+O.pitch:pt,Pt=\"padding\"in O?O.padding:de.padding,Wt=i.Point.convert(O.offset),rr=de.centerPoint.add(Wt),dr=de.pointLocation(rr),pr=i.LngLat.convert(O.center||dr);this._normalizeCenter(pr);var kr=de.project(dr),Ar=de.project(pr).sub(kr),gr=de.zoomScale(ir-Ie),Cr,cr;O.around&&(Cr=i.LngLat.convert(O.around),cr=de.locationPoint(Cr));var Gr={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=this._zooming||ir!==Ie,this._rotating=this._rotating||$e!==Jt,this._pitching=this._pitching||vt!==pt,this._padding=!de.isPaddingEqual(Pt),this._easeId=O.easeId,this._prepareEase($,O.noMoveStart,Gr),this._ease(function(ei){if(pe._zooming&&(de.zoom=i.number(Ie,ir,ei)),pe._rotating&&(de.bearing=i.number($e,Jt,ei)),pe._pitching&&(de.pitch=i.number(pt,vt,ei)),pe._padding&&(de.interpolatePadding(Kt,Pt,ei),rr=de.centerPoint.add(Wt)),Cr)de.setLocationAtPoint(Cr,cr);else{var yi=de.zoomScale(de.zoom-Ie),tn=ir>Ie?Math.min(2,gr):Math.max(.5,gr),Ri=Math.pow(tn,1-ei),ln=de.unproject(kr.add(Ar.mult(ei*Ri)).mult(yi));de.setLocationAtPoint(de.renderWorldCopies?ln.wrap():ln,rr)}pe._fireMoveEvents($)},function(ei){pe._afterEase($,ei)},O),this},z.prototype._prepareEase=function(O,$,pe){pe===void 0&&(pe={}),this._moving=!0,!$&&!pe.moving&&this.fire(new i.Event(\"movestart\",O)),this._zooming&&!pe.zooming&&this.fire(new i.Event(\"zoomstart\",O)),this._rotating&&!pe.rotating&&this.fire(new i.Event(\"rotatestart\",O)),this._pitching&&!pe.pitching&&this.fire(new i.Event(\"pitchstart\",O))},z.prototype._fireMoveEvents=function(O){this.fire(new i.Event(\"move\",O)),this._zooming&&this.fire(new i.Event(\"zoom\",O)),this._rotating&&this.fire(new i.Event(\"rotate\",O)),this._pitching&&this.fire(new i.Event(\"pitch\",O))},z.prototype._afterEase=function(O,$){if(!(this._easeId&&$&&this._easeId===$)){delete this._easeId;var pe=this._zooming,de=this._rotating,Ie=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,pe&&this.fire(new i.Event(\"zoomend\",O)),de&&this.fire(new i.Event(\"rotateend\",O)),Ie&&this.fire(new i.Event(\"pitchend\",O)),this.fire(new i.Event(\"moveend\",O))}},z.prototype.flyTo=function(O,$){var pe=this;if(!O.essential&&i.browser.prefersReducedMotion){var de=i.pick(O,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(de,$)}this.stop(),O=i.extend({offset:[0,0],speed:1.2,curve:1.42,easing:i.ease},O);var Ie=this.transform,$e=this.getZoom(),pt=this.getBearing(),Kt=this.getPitch(),ir=this.getPadding(),Jt=\"zoom\"in O?i.clamp(+O.zoom,Ie.minZoom,Ie.maxZoom):$e,vt=\"bearing\"in O?this._normalizeBearing(O.bearing,pt):pt,Pt=\"pitch\"in O?+O.pitch:Kt,Wt=\"padding\"in O?O.padding:Ie.padding,rr=Ie.zoomScale(Jt-$e),dr=i.Point.convert(O.offset),pr=Ie.centerPoint.add(dr),kr=Ie.pointLocation(pr),Ar=i.LngLat.convert(O.center||kr);this._normalizeCenter(Ar);var gr=Ie.project(kr),Cr=Ie.project(Ar).sub(gr),cr=O.curve,Gr=Math.max(Ie.width,Ie.height),ei=Gr/rr,yi=Cr.mag();if(\"minZoom\"in O){var tn=i.clamp(Math.min(O.minZoom,$e,Jt),Ie.minZoom,Ie.maxZoom),Ri=Gr/Ie.zoomScale(tn-$e);cr=Math.sqrt(Ri/yi*2)}var ln=cr*cr;function Qn(fo){var as=(ei*ei-Gr*Gr+(fo?-1:1)*ln*ln*yi*yi)/(2*(fo?ei:Gr)*ln*yi);return Math.log(Math.sqrt(as*as+1)-as)}function qn(fo){return(Math.exp(fo)-Math.exp(-fo))/2}function rn(fo){return(Math.exp(fo)+Math.exp(-fo))/2}function bn(fo){return qn(fo)/rn(fo)}var mn=Qn(0),Gn=function(fo){return rn(mn)/rn(mn+cr*fo)},da=function(fo){return Gr*((rn(mn)*bn(mn+cr*fo)-qn(mn))/ln)/yi},No=(Qn(1)-mn)/cr;if(Math.abs(yi)<1e-6||!isFinite(No)){if(Math.abs(Gr-ei)<1e-6)return this.easeTo(O,$);var Do=ei<Gr?-1:1;No=Math.abs(Math.log(ei/Gr))/cr,da=function(){return 0},Gn=function(fo){return Math.exp(Do*cr*fo)}}if(\"duration\"in O)O.duration=+O.duration;else{var ps=\"screenSpeed\"in O?+O.screenSpeed/cr:+O.speed;O.duration=1e3*No/ps}return O.maxDuration&&O.duration>O.maxDuration&&(O.duration=0),this._zooming=!0,this._rotating=pt!==vt,this._pitching=Pt!==Kt,this._padding=!Ie.isPaddingEqual(Wt),this._prepareEase($,!1),this._ease(function(fo){var as=fo*No,tl=1/Gn(as);Ie.zoom=fo===1?Jt:$e+Ie.scaleZoom(tl),pe._rotating&&(Ie.bearing=i.number(pt,vt,fo)),pe._pitching&&(Ie.pitch=i.number(Kt,Pt,fo)),pe._padding&&(Ie.interpolatePadding(ir,Wt,fo),pr=Ie.centerPoint.add(dr));var zu=fo===1?Ar:Ie.unproject(gr.add(Cr.mult(da(as))).mult(tl));Ie.setLocationAtPoint(Ie.renderWorldCopies?zu.wrap():zu,pr),pe._fireMoveEvents($)},function(){return pe._afterEase($)},O),this},z.prototype.isEasing=function(){return!!this._easeFrameId},z.prototype.stop=function(){return this._stop()},z.prototype._stop=function(O,$){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var pe=this._onEaseEnd;delete this._onEaseEnd,pe.call(this,$)}if(!O){var de=this.handlers;de&&de.stop(!1)}return this},z.prototype._ease=function(O,$,pe){pe.animate===!1||pe.duration===0?(O(1),$()):(this._easeStart=i.browser.now(),this._easeOptions=pe,this._onEaseFrame=O,this._onEaseEnd=$,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},z.prototype._renderFrameCallback=function(){var O=Math.min((i.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(O)),O<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},z.prototype._normalizeBearing=function(O,$){O=i.wrap(O,-180,180);var pe=Math.abs(O-$);return Math.abs(O-360-$)<pe&&(O-=360),Math.abs(O+360-$)<pe&&(O+=360),O},z.prototype._normalizeCenter=function(O){var $=this.transform;if(!(!$.renderWorldCopies||$.lngRange)){var pe=O.lng-$.center.lng;O.lng+=pe>180?-360:pe<-180?360:0}},z}(i.Evented),Rn=function(z){z===void 0&&(z={}),this.options=z,i.bindAll([\"_toggleAttribution\",\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this)};Rn.prototype.getDefaultPosition=function(){return\"bottom-right\"},Rn.prototype.onAdd=function(z){var K=this.options&&this.options.compact;return this._map=z,this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),this._compactButton=o.create(\"button\",\"mapboxgl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=o.create(\"div\",\"mapboxgl-ctrl-attrib-inner\",this._container),this._innerContainer.setAttribute(\"role\",\"list\"),K&&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),K===void 0&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},Rn.prototype.onRemove=function(){o.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},Rn.prototype._setElementTitle=function(z,K){var O=this._map._getUIString(\"AttributionControl.\"+K);z.title=O,z.setAttribute(\"aria-label\",O)},Rn.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\"))},Rn.prototype._updateEditLink=function(){var z=this._editLink;z||(z=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));var K=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:this._map._requestManager._customAccessToken||i.config.ACCESS_TOKEN}];if(z){var O=K.reduce(function($,pe,de){return pe.value&&($+=pe.key+\"=\"+pe.value+(de<K.length-1?\"&\":\"\")),$},\"?\");z.href=i.config.FEEDBACK_URL+\"/\"+O+(this._map._hash?this._map._hash.getHashString(!0):\"\"),z.rel=\"noopener nofollow\",this._setElementTitle(z,\"MapFeedback\")}},Rn.prototype._updateData=function(z){z&&(z.sourceDataType===\"metadata\"||z.sourceDataType===\"visibility\"||z.dataType===\"style\")&&(this._updateAttributions(),this._updateEditLink())},Rn.prototype._updateAttributions=function(){if(this._map.style){var z=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?z=z.concat(this.options.customAttribution.map(function($e){return typeof $e!=\"string\"?\"\":$e})):typeof this.options.customAttribution==\"string\"&&z.push(this.options.customAttribution)),this._map.style.stylesheet){var K=this._map.style.stylesheet;this.styleOwner=K.owner,this.styleId=K.id}var O=this._map.style.sourceCaches;for(var $ in O){var pe=O[$];if(pe.used){var de=pe.getSource();de.attribution&&z.indexOf(de.attribution)<0&&z.push(de.attribution)}}z.sort(function($e,pt){return $e.length-pt.length}),z=z.filter(function($e,pt){for(var Kt=pt+1;Kt<z.length;Kt++)if(z[Kt].indexOf($e)>=0)return!1;return!0});var Ie=z.join(\" | \");Ie!==this._attribHTML&&(this._attribHTML=Ie,z.length?(this._innerContainer.innerHTML=Ie,this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null)}},Rn.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\",\"mapboxgl-compact-show\")};var Dn=function(){i.bindAll([\"_updateLogo\"],this),i.bindAll([\"_updateCompact\"],this)};Dn.prototype.onAdd=function(z){this._map=z,this._container=o.create(\"div\",\"mapboxgl-ctrl\");var K=o.create(\"a\",\"mapboxgl-ctrl-logo\");return K.target=\"_blank\",K.rel=\"noopener nofollow\",K.href=\"https://www.mapbox.com/\",K.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),K.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(K),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container},Dn.prototype.onRemove=function(){o.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo),this._map.off(\"resize\",this._updateCompact)},Dn.prototype.getDefaultPosition=function(){return\"bottom-left\"},Dn.prototype._updateLogo=function(z){(!z||z.sourceDataType===\"metadata\")&&(this._container.style.display=this._logoRequired()?\"block\":\"none\")},Dn.prototype._logoRequired=function(){if(this._map.style){var z=this._map.style.sourceCaches;for(var K in z){var O=z[K].getSource();if(O.mapbox_logo)return!0}return!1}},Dn.prototype._updateCompact=function(){var z=this._container.children;if(z.length){var K=z[0];this._map.getCanvasContainer().offsetWidth<250?K.classList.add(\"mapboxgl-compact\"):K.classList.remove(\"mapboxgl-compact\")}};var fn=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};fn.prototype.add=function(z){var K=++this._id,O=this._queue;return O.push({callback:z,id:K,cancelled:!1}),K},fn.prototype.remove=function(z){for(var K=this._currentlyRunning,O=K?this._queue.concat(K):this._queue,$=0,pe=O;$<pe.length;$+=1){var de=pe[$];if(de.id===z){de.cancelled=!0;return}}},fn.prototype.run=function(z){z===void 0&&(z=0);var K=this._currentlyRunning=this._queue;this._queue=[];for(var O=0,$=K;O<$.length;O+=1){var pe=$[O];if(!pe.cancelled&&(pe.callback(z),this._cleared))break}this._cleared=!1,this._currentlyRunning=!1},fn.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]};var Ai={\"AttributionControl.ToggleAttribution\":\"Toggle attribution\",\"AttributionControl.MapFeedback\":\"Map feedback\",\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"Mapbox logo\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"ScaleControl.Feet\":\"ft\",\"ScaleControl.Meters\":\"m\",\"ScaleControl.Kilometers\":\"km\",\"ScaleControl.Miles\":\"mi\",\"ScaleControl.NauticalMiles\":\"nm\"},ji=i.window.HTMLImageElement,Ln=i.window.HTMLElement,Un=i.window.ImageBitmap,gn=-2,ca=22,Kn=0,Za=60,wn={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:gn,maxZoom:ca,minPitch:Kn,maxPitch:Za,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:\"sans-serif\",transformRequest:null,accessToken:null,fadeDuration:300,crossSourceCollisions:!0},vn=function(Y){function z(O){var $=this;if(O=i.extend({},wn,O),O.minZoom!=null&&O.maxZoom!=null&&O.minZoom>O.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(O.minPitch!=null&&O.maxPitch!=null&&O.minPitch>O.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(O.minPitch!=null&&O.minPitch<Kn)throw new Error(\"minPitch must be greater than or equal to \"+Kn);if(O.maxPitch!=null&&O.maxPitch>Za)throw new Error(\"maxPitch must be less than or equal to \"+Za);var pe=new yo(O.minZoom,O.maxZoom,O.minPitch,O.maxPitch,O.renderWorldCopies);if(Y.call(this,pe,O),this._interactive=O.interactive,this._maxTileCacheSize=O.maxTileCacheSize,this._failIfMajorPerformanceCaveat=O.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=O.preserveDrawingBuffer,this._antialias=O.antialias,this._trackResize=O.trackResize,this._bearingSnap=O.bearingSnap,this._refreshExpiredTiles=O.refreshExpiredTiles,this._fadeDuration=O.fadeDuration,this._crossSourceCollisions=O.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=O.collectResourceTiming,this._renderTaskQueue=new fn,this._controls=[],this._mapId=i.uniqueId(),this._locale=i.extend({},Ai,O.locale),this._clickTolerance=O.clickTolerance,this._requestManager=new i.RequestManager(O.transformRequest,O.accessToken),typeof O.container==\"string\"){if(this._container=i.window.document.getElementById(O.container),!this._container)throw new Error(\"Container '\"+O.container+\"' not found.\")}else if(O.container instanceof Ln)this._container=O.container;else throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");if(O.maxBounds&&this.setMaxBounds(O.maxBounds),i.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_onMapScroll\",\"_contextLost\",\"_contextRestored\"],this),this._setupContainer(),this._setupPainter(),this.painter===void 0)throw new Error(\"Failed to initialize WebGL.\");this.on(\"move\",function(){return $._update(!1)}),this.on(\"moveend\",function(){return $._update(!1)}),this.on(\"zoom\",function(){return $._update(!0)}),typeof i.window!=\"undefined\"&&(i.window.addEventListener(\"online\",this._onWindowOnline,!1),i.window.addEventListener(\"resize\",this._onWindowResize,!1),i.window.addEventListener(\"orientationchange\",this._onWindowResize,!1)),this.handlers=new yn(this,O);var de=typeof O.hash==\"string\"&&O.hash||void 0;this._hash=O.hash&&new Hl(de).addTo(this),(!this._hash||!this._hash._onHashChange())&&(this.jumpTo({center:O.center,zoom:O.zoom,bearing:O.bearing,pitch:O.pitch}),O.bounds&&(this.resize(),this.fitBounds(O.bounds,i.extend({},O.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=O.localIdeographFontFamily,O.style&&this.setStyle(O.style,{localIdeographFontFamily:O.localIdeographFontFamily}),O.attributionControl&&this.addControl(new Rn({customAttribution:O.customAttribution})),this.addControl(new Dn,O.logoPosition),this.on(\"style.load\",function(){$.transform.unmodified&&$.jumpTo($.style.stylesheet)}),this.on(\"data\",function(Ie){$._update(Ie.dataType===\"style\"),$.fire(new i.Event(Ie.dataType+\"data\",Ie))}),this.on(\"dataloading\",function(Ie){$.fire(new i.Event(Ie.dataType+\"dataloading\",Ie))})}Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z;var K={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return z.prototype._getMapId=function(){return this._mapId},z.prototype.addControl=function($,pe){if(pe===void 0&&($.getDefaultPosition?pe=$.getDefaultPosition():pe=\"top-right\"),!$||!$.onAdd)return this.fire(new i.ErrorEvent(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));var de=$.onAdd(this);this._controls.push($);var Ie=this._controlPositions[pe];return pe.indexOf(\"bottom\")!==-1?Ie.insertBefore(de,Ie.firstChild):Ie.appendChild(de),this},z.prototype.removeControl=function($){if(!$||!$.onRemove)return this.fire(new i.ErrorEvent(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));var pe=this._controls.indexOf($);return pe>-1&&this._controls.splice(pe,1),$.onRemove(this),this},z.prototype.hasControl=function($){return this._controls.indexOf($)>-1},z.prototype.resize=function($){var pe=this._containerDimensions(),de=pe[0],Ie=pe[1];this._resizeCanvas(de,Ie),this.transform.resize(de,Ie),this.painter.resize(de,Ie);var $e=!this._moving;return $e&&(this.stop(),this.fire(new i.Event(\"movestart\",$)).fire(new i.Event(\"move\",$))),this.fire(new i.Event(\"resize\",$)),$e&&this.fire(new i.Event(\"moveend\",$)),this},z.prototype.getBounds=function(){return this.transform.getBounds()},z.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},z.prototype.setMaxBounds=function($){return this.transform.setMaxBounds(i.LngLatBounds.convert($)),this._update()},z.prototype.setMinZoom=function($){if($=$==null?gn:$,$>=gn&&$<=this.transform.maxZoom)return this.transform.minZoom=$,this._update(),this.getZoom()<$&&this.setZoom($),this;throw new Error(\"minZoom must be between \"+gn+\" and the current maxZoom, inclusive\")},z.prototype.getMinZoom=function(){return this.transform.minZoom},z.prototype.setMaxZoom=function($){if($=$==null?ca:$,$>=this.transform.minZoom)return this.transform.maxZoom=$,this._update(),this.getZoom()>$&&this.setZoom($),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},z.prototype.getMaxZoom=function(){return this.transform.maxZoom},z.prototype.setMinPitch=function($){if($=$==null?Kn:$,$<Kn)throw new Error(\"minPitch must be greater than or equal to \"+Kn);if($>=Kn&&$<=this.transform.maxPitch)return this.transform.minPitch=$,this._update(),this.getPitch()<$&&this.setPitch($),this;throw new Error(\"minPitch must be between \"+Kn+\" and the current maxPitch, inclusive\")},z.prototype.getMinPitch=function(){return this.transform.minPitch},z.prototype.setMaxPitch=function($){if($=$==null?Za:$,$>Za)throw new Error(\"maxPitch must be less than or equal to \"+Za);if($>=this.transform.minPitch)return this.transform.maxPitch=$,this._update(),this.getPitch()>$&&this.setPitch($),this;throw new Error(\"maxPitch must be greater than the current minPitch\")},z.prototype.getMaxPitch=function(){return this.transform.maxPitch},z.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},z.prototype.setRenderWorldCopies=function($){return this.transform.renderWorldCopies=$,this._update()},z.prototype.project=function($){return this.transform.locationPoint(i.LngLat.convert($))},z.prototype.unproject=function($){return this.transform.pointLocation(i.Point.convert($))},z.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},z.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},z.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},z.prototype._createDelegatedListener=function($,pe,de){var Ie=this,$e;if($===\"mouseenter\"||$===\"mouseover\"){var pt=!1,Kt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length?pt||(pt=!0,de.call(Ie,new oe($,Ie,rr.originalEvent,{features:dr}))):pt=!1},ir=function(){pt=!1};return{layer:pe,listener:de,delegates:{mousemove:Kt,mouseout:ir}}}else if($===\"mouseleave\"||$===\"mouseout\"){var Jt=!1,vt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length?Jt=!0:Jt&&(Jt=!1,de.call(Ie,new oe($,Ie,rr.originalEvent)))},Pt=function(rr){Jt&&(Jt=!1,de.call(Ie,new oe($,Ie,rr.originalEvent)))};return{layer:pe,listener:de,delegates:{mousemove:vt,mouseout:Pt}}}else{var Wt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length&&(rr.features=dr,de.call(Ie,rr),delete rr.features)};return{layer:pe,listener:de,delegates:($e={},$e[$]=Wt,$e)}}},z.prototype.on=function($,pe,de){if(de===void 0)return Y.prototype.on.call(this,$,pe);var Ie=this._createDelegatedListener($,pe,de);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[$]=this._delegatedListeners[$]||[],this._delegatedListeners[$].push(Ie);for(var $e in Ie.delegates)this.on($e,Ie.delegates[$e]);return this},z.prototype.once=function($,pe,de){if(de===void 0)return Y.prototype.once.call(this,$,pe);var Ie=this._createDelegatedListener($,pe,de);for(var $e in Ie.delegates)this.once($e,Ie.delegates[$e]);return this},z.prototype.off=function($,pe,de){var Ie=this;if(de===void 0)return Y.prototype.off.call(this,$,pe);var $e=function(pt){for(var Kt=pt[$],ir=0;ir<Kt.length;ir++){var Jt=Kt[ir];if(Jt.layer===pe&&Jt.listener===de){for(var vt in Jt.delegates)Ie.off(vt,Jt.delegates[vt]);return Kt.splice(ir,1),Ie}}};return this._delegatedListeners&&this._delegatedListeners[$]&&$e(this._delegatedListeners),this},z.prototype.queryRenderedFeatures=function($,pe){if(!this.style)return[];pe===void 0&&$!==void 0&&!($ instanceof i.Point)&&!Array.isArray($)&&(pe=$,$=void 0),pe=pe||{},$=$||[[0,0],[this.transform.width,this.transform.height]];var de;if($ instanceof i.Point||typeof $[0]==\"number\")de=[i.Point.convert($)];else{var Ie=i.Point.convert($[0]),$e=i.Point.convert($[1]);de=[Ie,new i.Point($e.x,Ie.y),$e,new i.Point(Ie.x,$e.y),Ie]}return this.style.queryRenderedFeatures(de,pe,this.transform)},z.prototype.querySourceFeatures=function($,pe){return this.style.querySourceFeatures($,pe)},z.prototype.setStyle=function($,pe){return pe=i.extend({},{localIdeographFontFamily:this._localIdeographFontFamily},pe),pe.diff!==!1&&pe.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&$?(this._diffStyle($,pe),this):(this._localIdeographFontFamily=pe.localIdeographFontFamily,this._updateStyle($,pe))},z.prototype._getUIString=function($){var pe=this._locale[$];if(pe==null)throw new Error(\"Missing UI string '\"+$+\"'\");return pe},z.prototype._updateStyle=function($,pe){if(this.style&&(this.style.setEventedParent(null),this.style._remove()),$)this.style=new mu(this,pe||{});else return delete this.style,this;return this.style.setEventedParent(this,{style:this.style}),typeof $==\"string\"?this.style.loadURL($):this.style.loadJSON($),this},z.prototype._lazyInitEmptyStyle=function(){this.style||(this.style=new mu(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())},z.prototype._diffStyle=function($,pe){var de=this;if(typeof $==\"string\"){var Ie=this._requestManager.normalizeStyleURL($),$e=this._requestManager.transformRequest(Ie,i.ResourceType.Style);i.getJSON($e,function(pt,Kt){pt?de.fire(new i.ErrorEvent(pt)):Kt&&de._updateDiff(Kt,pe)})}else typeof $==\"object\"&&this._updateDiff($,pe)},z.prototype._updateDiff=function($,pe){try{this.style.setState($)&&this._update(!0)}catch(de){i.warnOnce(\"Unable to perform style diff: \"+(de.message||de.error||de)+\". Rebuilding the style from scratch.\"),this._updateStyle($,pe)}},z.prototype.getStyle=function(){if(this.style)return this.style.serialize()},z.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():i.warnOnce(\"There is no style added to the map.\")},z.prototype.addSource=function($,pe){return this._lazyInitEmptyStyle(),this.style.addSource($,pe),this._update(!0)},z.prototype.isSourceLoaded=function($){var pe=this.style&&this.style.sourceCaches[$];if(pe===void 0){this.fire(new i.ErrorEvent(new Error(\"There is no source with ID '\"+$+\"'\")));return}return pe.loaded()},z.prototype.areTilesLoaded=function(){var $=this.style&&this.style.sourceCaches;for(var pe in $){var de=$[pe],Ie=de._tiles;for(var $e in Ie){var pt=Ie[$e];if(!(pt.state===\"loaded\"||pt.state===\"errored\"))return!1}}return!0},z.prototype.addSourceType=function($,pe,de){return this._lazyInitEmptyStyle(),this.style.addSourceType($,pe,de)},z.prototype.removeSource=function($){return this.style.removeSource($),this._update(!0)},z.prototype.getSource=function($){return this.style.getSource($)},z.prototype.addImage=function($,pe,de){de===void 0&&(de={});var Ie=de.pixelRatio;Ie===void 0&&(Ie=1);var $e=de.sdf;$e===void 0&&($e=!1);var pt=de.stretchX,Kt=de.stretchY,ir=de.content;this._lazyInitEmptyStyle();var Jt=0;if(pe instanceof ji||Un&&pe instanceof Un){var vt=i.browser.getImageData(pe),Pt=vt.width,Wt=vt.height,rr=vt.data;this.style.addImage($,{data:new i.RGBAImage({width:Pt,height:Wt},rr),pixelRatio:Ie,stretchX:pt,stretchY:Kt,content:ir,sdf:$e,version:Jt})}else{if(pe.width===void 0||pe.height===void 0)return this.fire(new i.ErrorEvent(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));var dr=pe.width,pr=pe.height,kr=pe.data,Ar=pe;this.style.addImage($,{data:new i.RGBAImage({width:dr,height:pr},new Uint8Array(kr)),pixelRatio:Ie,stretchX:pt,stretchY:Kt,content:ir,sdf:$e,version:Jt,userImage:Ar}),Ar.onAdd&&Ar.onAdd(this,$)}},z.prototype.updateImage=function($,pe){var de=this.style.getImage($);if(!de)return this.fire(new i.ErrorEvent(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));var Ie=pe instanceof ji||Un&&pe instanceof Un?i.browser.getImageData(pe):pe,$e=Ie.width,pt=Ie.height,Kt=Ie.data;if($e===void 0||pt===void 0)return this.fire(new i.ErrorEvent(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));if($e!==de.data.width||pt!==de.data.height)return this.fire(new i.ErrorEvent(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));var ir=!(pe instanceof ji||Un&&pe instanceof Un);de.data.replace(Kt,ir),this.style.updateImage($,de)},z.prototype.hasImage=function($){return $?!!this.style.getImage($):(this.fire(new i.ErrorEvent(new Error(\"Missing required image id\"))),!1)},z.prototype.removeImage=function($){this.style.removeImage($)},z.prototype.loadImage=function($,pe){i.getImage(this._requestManager.transformRequest($,i.ResourceType.Image),pe)},z.prototype.listImages=function(){return this.style.listImages()},z.prototype.addLayer=function($,pe){return this._lazyInitEmptyStyle(),this.style.addLayer($,pe),this._update(!0)},z.prototype.moveLayer=function($,pe){return this.style.moveLayer($,pe),this._update(!0)},z.prototype.removeLayer=function($){return this.style.removeLayer($),this._update(!0)},z.prototype.getLayer=function($){return this.style.getLayer($)},z.prototype.setLayerZoomRange=function($,pe,de){return this.style.setLayerZoomRange($,pe,de),this._update(!0)},z.prototype.setFilter=function($,pe,de){return de===void 0&&(de={}),this.style.setFilter($,pe,de),this._update(!0)},z.prototype.getFilter=function($){return this.style.getFilter($)},z.prototype.setPaintProperty=function($,pe,de,Ie){return Ie===void 0&&(Ie={}),this.style.setPaintProperty($,pe,de,Ie),this._update(!0)},z.prototype.getPaintProperty=function($,pe){return this.style.getPaintProperty($,pe)},z.prototype.setLayoutProperty=function($,pe,de,Ie){return Ie===void 0&&(Ie={}),this.style.setLayoutProperty($,pe,de,Ie),this._update(!0)},z.prototype.getLayoutProperty=function($,pe){return this.style.getLayoutProperty($,pe)},z.prototype.setLight=function($,pe){return pe===void 0&&(pe={}),this._lazyInitEmptyStyle(),this.style.setLight($,pe),this._update(!0)},z.prototype.getLight=function(){return this.style.getLight()},z.prototype.setFeatureState=function($,pe){return this.style.setFeatureState($,pe),this._update()},z.prototype.removeFeatureState=function($,pe){return this.style.removeFeatureState($,pe),this._update()},z.prototype.getFeatureState=function($){return this.style.getFeatureState($)},z.prototype.getContainer=function(){return this._container},z.prototype.getCanvasContainer=function(){return this._canvasContainer},z.prototype.getCanvas=function(){return this._canvas},z.prototype._containerDimensions=function(){var $=0,pe=0;return this._container&&($=this._container.clientWidth||400,pe=this._container.clientHeight||300),[$,pe]},z.prototype._detectMissingCSS=function(){var $=i.window.getComputedStyle(this._missingCSSCanary).getPropertyValue(\"background-color\");$!==\"rgb(250, 128, 114)\"&&i.warnOnce(\"This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.\")},z.prototype._setupContainer=function(){var $=this._container;$.classList.add(\"mapboxgl-map\");var pe=this._missingCSSCanary=o.create(\"div\",\"mapboxgl-canary\",$);pe.style.visibility=\"hidden\",this._detectMissingCSS();var de=this._canvasContainer=o.create(\"div\",\"mapboxgl-canvas-container\",$);this._interactive&&de.classList.add(\"mapboxgl-interactive\"),this._canvas=o.create(\"canvas\",\"mapboxgl-canvas\",de),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",\"Map\"),this._canvas.setAttribute(\"role\",\"region\");var Ie=this._containerDimensions();this._resizeCanvas(Ie[0],Ie[1]);var $e=this._controlContainer=o.create(\"div\",\"mapboxgl-control-container\",$),pt=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(function(Kt){pt[Kt]=o.create(\"div\",\"mapboxgl-ctrl-\"+Kt,$e)}),this._container.addEventListener(\"scroll\",this._onMapScroll,!1)},z.prototype._resizeCanvas=function($,pe){var de=i.browser.devicePixelRatio||1;this._canvas.width=de*$,this._canvas.height=de*pe,this._canvas.style.width=$+\"px\",this._canvas.style.height=pe+\"px\"},z.prototype._setupPainter=function(){var $=i.extend({},a.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),pe=this._canvas.getContext(\"webgl\",$)||this._canvas.getContext(\"experimental-webgl\",$);if(!pe){this.fire(new i.ErrorEvent(new Error(\"Failed to initialize WebGL\")));return}this.painter=new co(pe,this.transform),i.webpSupported.testSupport(pe)},z.prototype._contextLost=function($){$.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new i.Event(\"webglcontextlost\",{originalEvent:$}))},z.prototype._contextRestored=function($){this._setupPainter(),this.resize(),this._update(),this.fire(new i.Event(\"webglcontextrestored\",{originalEvent:$}))},z.prototype._onMapScroll=function($){if($.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},z.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()},z.prototype._update=function($){return this.style?(this._styleDirty=this._styleDirty||$,this._sourcesDirty=!0,this.triggerRepaint(),this):this},z.prototype._requestRenderFrame=function($){return this._update(),this._renderTaskQueue.add($)},z.prototype._cancelRenderFrame=function($){this._renderTaskQueue.remove($)},z.prototype._render=function($){var pe=this,de,Ie=0,$e=this.painter.context.extTimerQuery;if(this.listens(\"gpu-timing-frame\")&&(de=$e.createQueryEXT(),$e.beginQueryEXT($e.TIME_ELAPSED_EXT,de),Ie=i.browser.now()),this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run($),!this._removed){var pt=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var Kt=this.transform.zoom,ir=i.browser.now();this.style.zoomHistory.update(Kt,ir);var Jt=new i.EvaluationParameters(Kt,{now:ir,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),vt=Jt.crossFadingFactor();(vt!==1||vt!==this._crossFadingFactor)&&(pt=!0,this._crossFadingFactor=vt),this.style.update(Jt)}if(this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration,showPadding:this.showPadding,gpuTiming:!!this.listens(\"gpu-timing-layer\")}),this.fire(new i.Event(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new i.Event(\"load\"))),this.style&&(this.style.hasTransitions()||pt)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this.listens(\"gpu-timing-frame\")){var Pt=i.browser.now()-Ie;$e.endQueryEXT($e.TIME_ELAPSED_EXT,de),setTimeout(function(){var dr=$e.getQueryObjectEXT(de,$e.QUERY_RESULT_EXT)/1e6;$e.deleteQueryEXT(de),pe.fire(new i.Event(\"gpu-timing-frame\",{cpuTime:Pt,gpuTime:dr}))},50)}if(this.listens(\"gpu-timing-layer\")){var Wt=this.painter.collectGpuTimers();setTimeout(function(){var dr=pe.painter.queryGpuTimers(Wt);pe.fire(new i.Event(\"gpu-timing-layer\",{layerTimes:dr}))},50)}var rr=this._sourcesDirty||this._styleDirty||this._placementDirty;return rr||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new i.Event(\"idle\")),this._loaded&&!this._fullyLoaded&&!rr&&(this._fullyLoaded=!0),this}},z.prototype.remove=function(){this._hash&&this._hash.remove();for(var $=0,pe=this._controls;$<pe.length;$+=1){var de=pe[$];de.onRemove(this)}this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof i.window!=\"undefined\"&&(i.window.removeEventListener(\"resize\",this._onWindowResize,!1),i.window.removeEventListener(\"orientationchange\",this._onWindowResize,!1),i.window.removeEventListener(\"online\",this._onWindowOnline,!1));var Ie=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");Ie&&Ie.loseContext&&Ie.loseContext(),Aa(this._canvasContainer),Aa(this._controlContainer),Aa(this._missingCSSCanary),this._container.classList.remove(\"mapboxgl-map\"),this._removed=!0,this.fire(new i.Event(\"remove\"))},z.prototype.triggerRepaint=function(){var $=this;this.style&&!this._frame&&(this._frame=i.browser.frame(function(pe){$._frame=null,$._render(pe)}))},z.prototype._onWindowOnline=function(){this._update()},z.prototype._onWindowResize=function($){this._trackResize&&this.resize({originalEvent:$})._update()},K.showTileBoundaries.get=function(){return!!this._showTileBoundaries},K.showTileBoundaries.set=function(O){this._showTileBoundaries!==O&&(this._showTileBoundaries=O,this._update())},K.showPadding.get=function(){return!!this._showPadding},K.showPadding.set=function(O){this._showPadding!==O&&(this._showPadding=O,this._update())},K.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},K.showCollisionBoxes.set=function(O){this._showCollisionBoxes!==O&&(this._showCollisionBoxes=O,O?this.style._generateCollisionBoxes():this._update())},K.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},K.showOverdrawInspector.set=function(O){this._showOverdrawInspector!==O&&(this._showOverdrawInspector=O,this._update())},K.repaint.get=function(){return!!this._repaint},K.repaint.set=function(O){this._repaint!==O&&(this._repaint=O,this.triggerRepaint())},K.vertices.get=function(){return!!this._vertices},K.vertices.set=function(O){this._vertices=O,this._update()},z.prototype._setCacheLimits=function($,pe){i.setCacheLimits($,pe)},K.version.get=function(){return i.version},Object.defineProperties(z.prototype,K),z}(to);function Aa(Y){Y.parentNode&&Y.parentNode.removeChild(Y)}var aa={showCompass:!0,showZoom:!0,visualizePitch:!1},Xn=function(z){var K=this;this.options=i.extend({},aa,z),this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",function(O){return O.preventDefault()}),this.options.showZoom&&(i.bindAll([\"_setButtonTitle\",\"_updateZoomButtons\"],this),this._zoomInButton=this._createButton(\"mapboxgl-ctrl-zoom-in\",function(O){return K._map.zoomIn({},{originalEvent:O})}),o.create(\"span\",\"mapboxgl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",!0),this._zoomOutButton=this._createButton(\"mapboxgl-ctrl-zoom-out\",function(O){return K._map.zoomOut({},{originalEvent:O})}),o.create(\"span\",\"mapboxgl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",!0)),this.options.showCompass&&(i.bindAll([\"_rotateCompassArrow\"],this),this._compass=this._createButton(\"mapboxgl-ctrl-compass\",function(O){K.options.visualizePitch?K._map.resetNorthPitch({},{originalEvent:O}):K._map.resetNorth({},{originalEvent:O})}),this._compassIcon=o.create(\"span\",\"mapboxgl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",!0))};Xn.prototype._updateZoomButtons=function(){var z=this._map.getZoom(),K=z===this._map.getMaxZoom(),O=z===this._map.getMinZoom();this._zoomInButton.disabled=K,this._zoomOutButton.disabled=O,this._zoomInButton.setAttribute(\"aria-disabled\",K.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",O.toString())},Xn.prototype._rotateCompassArrow=function(){var z=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=z},Xn.prototype.onAdd=function(z){return this._map=z,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 Vn(this._map,this._compass,this.options.visualizePitch)),this._container},Xn.prototype.onRemove=function(){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},Xn.prototype._createButton=function(z,K){var O=o.create(\"button\",z,this._container);return O.type=\"button\",O.addEventListener(\"click\",K),O},Xn.prototype._setButtonTitle=function(z,K){var O=this._map._getUIString(\"NavigationControl.\"+K);z.title=O,z.setAttribute(\"aria-label\",O)};var Vn=function(z,K,O){O===void 0&&(O=!1),this._clickTolerance=10,this.element=K,this.mouseRotate=new un({clickTolerance:z.dragRotate._mouseRotate._clickTolerance}),this.map=z,O&&(this.mousePitch=new dn({clickTolerance:z.dragRotate._mousePitch._clickTolerance})),i.bindAll([\"mousedown\",\"mousemove\",\"mouseup\",\"touchstart\",\"touchmove\",\"touchend\",\"reset\"],this),o.addEventListener(K,\"mousedown\",this.mousedown),o.addEventListener(K,\"touchstart\",this.touchstart,{passive:!1}),o.addEventListener(K,\"touchmove\",this.touchmove),o.addEventListener(K,\"touchend\",this.touchend),o.addEventListener(K,\"touchcancel\",this.reset)};Vn.prototype.down=function(z,K){this.mouseRotate.mousedown(z,K),this.mousePitch&&this.mousePitch.mousedown(z,K),o.disableDrag()},Vn.prototype.move=function(z,K){var O=this.map,$=this.mouseRotate.mousemoveWindow(z,K);if($&&$.bearingDelta&&O.setBearing(O.getBearing()+$.bearingDelta),this.mousePitch){var pe=this.mousePitch.mousemoveWindow(z,K);pe&&pe.pitchDelta&&O.setPitch(O.getPitch()+pe.pitchDelta)}},Vn.prototype.off=function(){var z=this.element;o.removeEventListener(z,\"mousedown\",this.mousedown),o.removeEventListener(z,\"touchstart\",this.touchstart,{passive:!1}),o.removeEventListener(z,\"touchmove\",this.touchmove),o.removeEventListener(z,\"touchend\",this.touchend),o.removeEventListener(z,\"touchcancel\",this.reset),this.offTemp()},Vn.prototype.offTemp=function(){o.enableDrag(),o.removeEventListener(i.window,\"mousemove\",this.mousemove),o.removeEventListener(i.window,\"mouseup\",this.mouseup)},Vn.prototype.mousedown=function(z){this.down(i.extend({},z,{ctrlKey:!0,preventDefault:function(){return z.preventDefault()}}),o.mousePos(this.element,z)),o.addEventListener(i.window,\"mousemove\",this.mousemove),o.addEventListener(i.window,\"mouseup\",this.mouseup)},Vn.prototype.mousemove=function(z){this.move(z,o.mousePos(this.element,z))},Vn.prototype.mouseup=function(z){this.mouseRotate.mouseupWindow(z),this.mousePitch&&this.mousePitch.mouseupWindow(z),this.offTemp()},Vn.prototype.touchstart=function(z){z.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=o.touchPos(this.element,z.targetTouches)[0],this.down({type:\"mousedown\",button:0,ctrlKey:!0,preventDefault:function(){return z.preventDefault()}},this._startPos))},Vn.prototype.touchmove=function(z){z.targetTouches.length!==1?this.reset():(this._lastPos=o.touchPos(this.element,z.targetTouches)[0],this.move({preventDefault:function(){return z.preventDefault()}},this._lastPos))},Vn.prototype.touchend=function(z){z.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),this.reset()},Vn.prototype.reset=function(){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()};function ma(Y,z,K){if(Y=new i.LngLat(Y.lng,Y.lat),z){var O=new i.LngLat(Y.lng-360,Y.lat),$=new i.LngLat(Y.lng+360,Y.lat),pe=K.locationPoint(Y).distSqr(z);K.locationPoint(O).distSqr(z)<pe?Y=O:K.locationPoint($).distSqr(z)<pe&&(Y=$)}for(;Math.abs(Y.lng-K.center.lng)>180;){var de=K.locationPoint(Y);if(de.x>=0&&de.y>=0&&de.x<=K.width&&de.y<=K.height)break;Y.lng>K.center.lng?Y.lng-=360:Y.lng+=360}return Y}var ro={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 Ao(Y,z,K){var O=Y.classList;for(var $ in ro)O.remove(\"mapboxgl-\"+K+\"-anchor-\"+$);O.add(\"mapboxgl-\"+K+\"-anchor-\"+z)}var Jn=function(Y){function z(K,O){if(Y.call(this),(K instanceof i.window.HTMLElement||O)&&(K=i.extend({element:K},O)),i.bindAll([\"_update\",\"_onMove\",\"_onUp\",\"_addDragHandler\",\"_onMapClick\",\"_onKeyPress\"],this),this._anchor=K&&K.anchor||\"center\",this._color=K&&K.color||\"#3FB1CE\",this._scale=K&&K.scale||1,this._draggable=K&&K.draggable||!1,this._clickTolerance=K&&K.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=K&&K.rotation||0,this._rotationAlignment=K&&K.rotationAlignment||\"auto\",this._pitchAlignment=K&&K.pitchAlignment&&K.pitchAlignment!==\"auto\"?K.pitchAlignment:this._rotationAlignment,!K||!K.element){this._defaultMarker=!0,this._element=o.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");var $=o.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),pe=41,de=27;$.setAttributeNS(null,\"display\",\"block\"),$.setAttributeNS(null,\"height\",pe+\"px\"),$.setAttributeNS(null,\"width\",de+\"px\"),$.setAttributeNS(null,\"viewBox\",\"0 0 \"+de+\" \"+pe);var Ie=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");Ie.setAttributeNS(null,\"stroke\",\"none\"),Ie.setAttributeNS(null,\"stroke-width\",\"1\"),Ie.setAttributeNS(null,\"fill\",\"none\"),Ie.setAttributeNS(null,\"fill-rule\",\"evenodd\");var $e=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");$e.setAttributeNS(null,\"fill-rule\",\"nonzero\");var pt=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");pt.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),pt.setAttributeNS(null,\"fill\",\"#000000\");for(var Kt=[{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\"}],ir=0,Jt=Kt;ir<Jt.length;ir+=1){var vt=Jt[ir],Pt=o.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");Pt.setAttributeNS(null,\"opacity\",\"0.04\"),Pt.setAttributeNS(null,\"cx\",\"10.5\"),Pt.setAttributeNS(null,\"cy\",\"5.80029008\"),Pt.setAttributeNS(null,\"rx\",vt.rx),Pt.setAttributeNS(null,\"ry\",vt.ry),pt.appendChild(Pt)}var Wt=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");Wt.setAttributeNS(null,\"fill\",this._color);var rr=o.createNS(\"http://www.w3.org/2000/svg\",\"path\");rr.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\"),Wt.appendChild(rr);var dr=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");dr.setAttributeNS(null,\"opacity\",\"0.25\"),dr.setAttributeNS(null,\"fill\",\"#000000\");var pr=o.createNS(\"http://www.w3.org/2000/svg\",\"path\");pr.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\"),dr.appendChild(pr);var kr=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");kr.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),kr.setAttributeNS(null,\"fill\",\"#FFFFFF\");var Ar=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");Ar.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");var gr=o.createNS(\"http://www.w3.org/2000/svg\",\"circle\");gr.setAttributeNS(null,\"fill\",\"#000000\"),gr.setAttributeNS(null,\"opacity\",\"0.25\"),gr.setAttributeNS(null,\"cx\",\"5.5\"),gr.setAttributeNS(null,\"cy\",\"5.5\"),gr.setAttributeNS(null,\"r\",\"5.4999962\");var Cr=o.createNS(\"http://www.w3.org/2000/svg\",\"circle\");Cr.setAttributeNS(null,\"fill\",\"#FFFFFF\"),Cr.setAttributeNS(null,\"cx\",\"5.5\"),Cr.setAttributeNS(null,\"cy\",\"5.5\"),Cr.setAttributeNS(null,\"r\",\"5.4999962\"),Ar.appendChild(gr),Ar.appendChild(Cr),$e.appendChild(pt),$e.appendChild(Wt),$e.appendChild(dr),$e.appendChild(kr),$e.appendChild(Ar),$.appendChild($e),$.setAttributeNS(null,\"height\",pe*this._scale+\"px\"),$.setAttributeNS(null,\"width\",de*this._scale+\"px\"),this._element.appendChild($),this._offset=i.Point.convert(K&&K.offset||[0,-14])}else this._element=K.element,this._offset=i.Point.convert(K&&K.offset||[0,0]);this._element.classList.add(\"mapboxgl-marker\"),this._element.addEventListener(\"dragstart\",function(cr){cr.preventDefault()}),this._element.addEventListener(\"mousedown\",function(cr){cr.preventDefault()}),Ao(this._element,this._anchor,\"marker\"),this._popup=null}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.addTo=function(O){return this.remove(),this._map=O,O.getCanvasContainer().appendChild(this._element),O.on(\"move\",this._update),O.on(\"moveend\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this},z.prototype.remove=function(){return this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler),this._map.off(\"mouseup\",this._onUp),this._map.off(\"touchend\",this._onUp),this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),delete this._map),o.remove(this._element),this._popup&&this._popup.remove(),this},z.prototype.getLngLat=function(){return this._lngLat},z.prototype.setLngLat=function(O){return this._lngLat=i.LngLat.convert(O),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},z.prototype.getElement=function(){return this._element},z.prototype.setPopup=function(O){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),O){if(!(\"offset\"in O.options)){var $=38.1,pe=13.5,de=Math.sqrt(Math.pow(pe,2)/2);O.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-$],\"bottom-left\":[de,($-pe+de)*-1],\"bottom-right\":[-de,($-pe+de)*-1],left:[pe,($-pe)*-1],right:[-pe,($-pe)*-1]}:this._offset}this._popup=O,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress)}return this},z.prototype._onKeyPress=function(O){var $=O.code,pe=O.charCode||O.keyCode;($===\"Space\"||$===\"Enter\"||pe===32||pe===13)&&this.togglePopup()},z.prototype._onMapClick=function(O){var $=O.originalEvent.target,pe=this._element;this._popup&&($===pe||pe.contains($))&&this.togglePopup()},z.prototype.getPopup=function(){return this._popup},z.prototype.togglePopup=function(){var O=this._popup;if(O)O.isOpen()?O.remove():O.addTo(this._map);else return this;return this},z.prototype._update=function(O){if(this._map){this._map.transform.renderWorldCopies&&(this._lngLat=ma(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);var $=\"\";this._rotationAlignment===\"viewport\"||this._rotationAlignment===\"auto\"?$=\"rotateZ(\"+this._rotation+\"deg)\":this._rotationAlignment===\"map\"&&($=\"rotateZ(\"+(this._rotation-this._map.getBearing())+\"deg)\");var pe=\"\";this._pitchAlignment===\"viewport\"||this._pitchAlignment===\"auto\"?pe=\"rotateX(0deg)\":this._pitchAlignment===\"map\"&&(pe=\"rotateX(\"+this._map.getPitch()+\"deg)\"),(!O||O.type===\"moveend\")&&(this._pos=this._pos.round()),o.setTransform(this._element,ro[this._anchor]+\" translate(\"+this._pos.x+\"px, \"+this._pos.y+\"px) \"+pe+\" \"+$)}},z.prototype.getOffset=function(){return this._offset},z.prototype.setOffset=function(O){return this._offset=i.Point.convert(O),this._update(),this},z.prototype._onMove=function(O){if(!this._isDragging){var $=this._clickTolerance||this._map._clickTolerance;this._isDragging=O.point.dist(this._pointerdownPos)>=$}this._isDragging&&(this._pos=O.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",this._state===\"pending\"&&(this._state=\"active\",this.fire(new i.Event(\"dragstart\"))),this.fire(new i.Event(\"drag\")))},z.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),this._state===\"active\"&&this.fire(new i.Event(\"dragend\")),this._state=\"inactive\"},z.prototype._addDragHandler=function(O){this._element.contains(O.originalEvent.target)&&(O.preventDefault(),this._positionDelta=O.point.sub(this._pos).add(this._offset),this._pointerdownPos=O.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))},z.prototype.setDraggable=function(O){return this._draggable=!!O,this._map&&(O?(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},z.prototype.isDraggable=function(){return this._draggable},z.prototype.setRotation=function(O){return this._rotation=O||0,this._update(),this},z.prototype.getRotation=function(){return this._rotation},z.prototype.setRotationAlignment=function(O){return this._rotationAlignment=O||\"auto\",this._update(),this},z.prototype.getRotationAlignment=function(){return this._rotationAlignment},z.prototype.setPitchAlignment=function(O){return this._pitchAlignment=O&&O!==\"auto\"?O:this._rotationAlignment,this._update(),this},z.prototype.getPitchAlignment=function(){return this._pitchAlignment},z}(i.Evented),Oa={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},_o;function Po(Y){_o!==void 0?Y(_o):i.window.navigator.permissions!==void 0?i.window.navigator.permissions.query({name:\"geolocation\"}).then(function(z){_o=z.state!==\"denied\",Y(_o)}):(_o=!!i.window.navigator.geolocation,Y(_o))}var Jo=0,Yl=!1,$c=function(Y){function z(K){Y.call(this),this.options=i.extend({},Oa,K),i.bindAll([\"_onSuccess\",\"_onError\",\"_onZoom\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\"],this)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.onAdd=function(O){return this._map=O,this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),Po(this._setupUI),this._container},z.prototype.onRemove=function(){this._geolocationWatchID!==void 0&&(i.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,Jo=0,Yl=!1},z.prototype._isOutOfMapMaxBounds=function(O){var $=this._map.getMaxBounds(),pe=O.coords;return $&&(pe.longitude<$.getWest()||pe.longitude>$.getEast()||pe.latitude<$.getSouth()||pe.latitude>$.getNorth())},z.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\");break}},z.prototype._onSuccess=function(O){if(this._map){if(this._isOutOfMapMaxBounds(O)){this._setErrorState(),this.fire(new i.Event(\"outofmaxbounds\",O)),this._updateMarker(),this._finish();return}if(this.options.trackUserLocation)switch(this._lastKnownPosition=O,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\");break}this.options.showUserLocation&&this._watchState!==\"OFF\"&&this._updateMarker(O),(!this.options.trackUserLocation||this._watchState===\"ACTIVE_LOCK\")&&this._updateCamera(O),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(new i.Event(\"geolocate\",O)),this._finish()}},z.prototype._updateCamera=function(O){var $=new i.LngLat(O.coords.longitude,O.coords.latitude),pe=O.coords.accuracy,de=this._map.getBearing(),Ie=i.extend({bearing:de},this.options.fitBoundsOptions);this._map.fitBounds($.toBounds(pe),Ie,{geolocateSource:!0})},z.prototype._updateMarker=function(O){if(O){var $=new i.LngLat(O.coords.longitude,O.coords.latitude);this._accuracyCircleMarker.setLngLat($).addTo(this._map),this._userLocationDotMarker.setLngLat($).addTo(this._map),this._accuracy=O.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},z.prototype._updateCircleRadius=function(){var O=this._map._container.clientHeight/2,$=this._map.unproject([0,O]),pe=this._map.unproject([1,O]),de=$.distanceTo(pe),Ie=Math.ceil(2*this._accuracy/de);this._circleElement.style.width=Ie+\"px\",this._circleElement.style.height=Ie+\"px\"},z.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},z.prototype._onError=function(O){if(this._map){if(this.options.trackUserLocation)if(O.code===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._geolocateButton.disabled=!0;var $=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=$,this._geolocateButton.setAttribute(\"aria-label\",$),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(O.code===3&&Yl)return;this._setErrorState()}this._watchState!==\"OFF\"&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(new i.Event(\"error\",O)),this._finish()}},z.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},z.prototype._setupUI=function(O){var $=this;if(this._container.addEventListener(\"contextmenu\",function(Ie){return Ie.preventDefault()}),this._geolocateButton=o.create(\"button\",\"mapboxgl-ctrl-geolocate\",this._container),o.create(\"span\",\"mapboxgl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",!0),this._geolocateButton.type=\"button\",O===!1){i.warnOnce(\"Geolocation support is not available so the GeolocateControl will be disabled.\");var pe=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=pe,this._geolocateButton.setAttribute(\"aria-label\",pe)}else{var de=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=de,this._geolocateButton.setAttribute(\"aria-label\",de)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=o.create(\"div\",\"mapboxgl-user-location-dot\"),this._userLocationDotMarker=new Jn(this._dotElement),this._circleElement=o.create(\"div\",\"mapboxgl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Jn({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(Ie){var $e=Ie.originalEvent&&Ie.originalEvent.type===\"resize\";!Ie.geolocateSource&&$._watchState===\"ACTIVE_LOCK\"&&!$e&&($._watchState=\"BACKGROUND\",$._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),$._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),$.fire(new i.Event(\"trackuserlocationend\")))})},z.prototype.trigger=function(){if(!this._setup)return i.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 i.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":Jo--,Yl=!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 i.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 i.Event(\"trackuserlocationstart\"));break}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\");break}if(this._watchState===\"OFF\"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),Jo++;var O;Jo>1?(O={maximumAge:6e5,timeout:0},Yl=!0):(O=this.options.positionOptions,Yl=!1),this._geolocationWatchID=i.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,O)}}else i.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},z.prototype._clearWatch=function(){i.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)},z}(i.Evented),xs={maxWidth:100,unit:\"metric\"},Qc=function(z){this.options=i.extend({},xs,z),i.bindAll([\"_onMove\",\"setUnit\"],this)};Qc.prototype.getDefaultPosition=function(){return\"bottom-left\"},Qc.prototype._onMove=function(){El(this._map,this._container,this.options)},Qc.prototype.onAdd=function(z){return this._map=z,this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",z.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},Qc.prototype.onRemove=function(){o.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},Qc.prototype.setUnit=function(z){this.options.unit=z,El(this._map,this._container,this.options)};function El(Y,z,K){var O=K&&K.maxWidth||100,$=Y._container.clientHeight/2,pe=Y.unproject([0,$]),de=Y.unproject([O,$]),Ie=pe.distanceTo(de);if(K&&K.unit===\"imperial\"){var $e=3.2808*Ie;if($e>5280){var pt=$e/5280;bc(z,O,pt,Y._getUIString(\"ScaleControl.Miles\"))}else bc(z,O,$e,Y._getUIString(\"ScaleControl.Feet\"))}else if(K&&K.unit===\"nautical\"){var Kt=Ie/1852;bc(z,O,Kt,Y._getUIString(\"ScaleControl.NauticalMiles\"))}else Ie>=1e3?bc(z,O,Ie/1e3,Y._getUIString(\"ScaleControl.Kilometers\")):bc(z,O,Ie,Y._getUIString(\"ScaleControl.Meters\"))}function bc(Y,z,K,O){var $=yf(K),pe=$/K;Y.style.width=z*pe+\"px\",Y.innerHTML=$+\" \"+O}function wc(Y){var z=Math.pow(10,Math.ceil(-Math.log(Y)/Math.LN10));return Math.round(Y*z)/z}function yf(Y){var z=Math.pow(10,(\"\"+Math.floor(Y)).length-1),K=Y/z;return K=K>=10?10:K>=5?5:K>=3?3:K>=2?2:K>=1?1:wc(K),z*K}var Gl=function(z){this._fullscreen=!1,z&&z.container&&(z.container instanceof i.window.HTMLElement?this._container=z.container:i.warnOnce(\"Full screen control 'container' must be a DOM element.\")),i.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in i.window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in i.window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in i.window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in i.window.document&&(this._fullscreenchange=\"MSFullscreenChange\")};Gl.prototype.onAdd=function(z){return this._map=z,this._container||(this._container=this._map.getContainer()),this._controlContainer=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display=\"none\",i.warnOnce(\"This device does not support fullscreen mode.\")),this._controlContainer},Gl.prototype.onRemove=function(){o.remove(this._controlContainer),this._map=null,i.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Gl.prototype._checkFullscreenSupport=function(){return!!(i.window.document.fullscreenEnabled||i.window.document.mozFullScreenEnabled||i.window.document.msFullscreenEnabled||i.window.document.webkitFullscreenEnabled)},Gl.prototype._setupUI=function(){var z=this._fullscreenButton=o.create(\"button\",\"mapboxgl-ctrl-fullscreen\",this._controlContainer);o.create(\"span\",\"mapboxgl-ctrl-icon\",z).setAttribute(\"aria-hidden\",!0),z.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),i.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},Gl.prototype._updateTitle=function(){var z=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",z),this._fullscreenButton.title=z},Gl.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")},Gl.prototype._isFullscreen=function(){return this._fullscreen},Gl.prototype._changeIcon=function(){var z=i.window.document.fullscreenElement||i.window.document.mozFullScreenElement||i.window.document.webkitFullscreenElement||i.window.document.msFullscreenElement;z===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-fullscreen\"),this._updateTitle())},Gl.prototype._onClickFullscreen=function(){this._isFullscreen()?i.window.document.exitFullscreen?i.window.document.exitFullscreen():i.window.document.mozCancelFullScreen?i.window.document.mozCancelFullScreen():i.window.document.msExitFullscreen?i.window.document.msExitFullscreen():i.window.document.webkitCancelFullScreen&&i.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 Fc={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\"},ef=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \"),ls=function(Y){function z(K){Y.call(this),this.options=i.extend(Object.create(Fc),K),i.bindAll([\"_update\",\"_onClose\",\"remove\",\"_onMouseMove\",\"_onMouseUp\",\"_onDrag\"],this)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.addTo=function(O){return this._map&&this.remove(),this._map=O,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 i.Event(\"open\")),this},z.prototype.isOpen=function(){return!!this._map},z.prototype.remove=function(){return 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),delete this._map),this.fire(new i.Event(\"close\")),this},z.prototype.getLngLat=function(){return this._lngLat},z.prototype.setLngLat=function(O){return this._lngLat=i.LngLat.convert(O),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},z.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},z.prototype.getElement=function(){return this._container},z.prototype.setText=function(O){return this.setDOMContent(i.window.document.createTextNode(O))},z.prototype.setHTML=function(O){var $=i.window.document.createDocumentFragment(),pe=i.window.document.createElement(\"body\"),de;for(pe.innerHTML=O;de=pe.firstChild,!!de;)$.appendChild(de);return this.setDOMContent($)},z.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},z.prototype.setMaxWidth=function(O){return this.options.maxWidth=O,this._update(),this},z.prototype.setDOMContent=function(O){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=o.create(\"div\",\"mapboxgl-popup-content\",this._container);return this._content.appendChild(O),this._createCloseButton(),this._update(),this._focusFirstElement(),this},z.prototype.addClassName=function(O){this._container&&this._container.classList.add(O)},z.prototype.removeClassName=function(O){this._container&&this._container.classList.remove(O)},z.prototype.setOffset=function(O){return this.options.offset=O,this._update(),this},z.prototype.toggleClassName=function(O){if(this._container)return this._container.classList.toggle(O)},z.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=o.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))},z.prototype._onMouseUp=function(O){this._update(O.point)},z.prototype._onMouseMove=function(O){this._update(O.point)},z.prototype._onDrag=function(O){this._update(O.point)},z.prototype._update=function(O){var $=this,pe=this._lngLat||this._trackPointer;if(!(!this._map||!pe||!this._content)&&(this._container||(this._container=o.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=o.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(\" \").forEach(function(vt){return $._container.classList.add(vt)}),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=ma(this._lngLat,this._pos,this._map.transform)),!(this._trackPointer&&!O))){var de=this._pos=this._trackPointer&&O?O:this._map.project(this._lngLat),Ie=this.options.anchor,$e=_f(this.options.offset);if(!Ie){var pt=this._container.offsetWidth,Kt=this._container.offsetHeight,ir;de.y+$e.bottom.y<Kt?ir=[\"top\"]:de.y>this._map.transform.height-Kt?ir=[\"bottom\"]:ir=[],de.x<pt/2?ir.push(\"left\"):de.x>this._map.transform.width-pt/2&&ir.push(\"right\"),ir.length===0?Ie=\"bottom\":Ie=ir.join(\"-\")}var Jt=de.add($e[Ie]).round();o.setTransform(this._container,ro[Ie]+\" translate(\"+Jt.x+\"px,\"+Jt.y+\"px)\"),Ao(this._container,Ie,\"popup\")}},z.prototype._focusFirstElement=function(){if(!(!this.options.focusAfterOpen||!this._container)){var O=this._container.querySelector(ef);O&&O.focus()}},z.prototype._onClose=function(){this.remove()},z}(i.Evented);function _f(Y){if(Y)if(typeof Y==\"number\"){var z=Math.round(Math.sqrt(.5*Math.pow(Y,2)));return{center:new i.Point(0,0),top:new i.Point(0,Y),\"top-left\":new i.Point(z,z),\"top-right\":new i.Point(-z,z),bottom:new i.Point(0,-Y),\"bottom-left\":new i.Point(z,-z),\"bottom-right\":new i.Point(-z,-z),left:new i.Point(Y,0),right:new i.Point(-Y,0)}}else if(Y instanceof i.Point||Array.isArray(Y)){var K=i.Point.convert(Y);return{center:K,top:K,\"top-left\":K,\"top-right\":K,bottom:K,\"bottom-left\":K,\"bottom-right\":K,left:K,right:K}}else return{center:i.Point.convert(Y.center||[0,0]),top:i.Point.convert(Y.top||[0,0]),\"top-left\":i.Point.convert(Y[\"top-left\"]||[0,0]),\"top-right\":i.Point.convert(Y[\"top-right\"]||[0,0]),bottom:i.Point.convert(Y.bottom||[0,0]),\"bottom-left\":i.Point.convert(Y[\"bottom-left\"]||[0,0]),\"bottom-right\":i.Point.convert(Y[\"bottom-right\"]||[0,0]),left:i.Point.convert(Y.left||[0,0]),right:i.Point.convert(Y.right||[0,0])};else return _f(new i.Point(0,0))}var ns={version:i.version,supported:a,setRTLTextPlugin:i.setRTLTextPlugin,getRTLTextPluginStatus:i.getRTLTextPluginStatus,Map:vn,NavigationControl:Xn,GeolocateControl:$c,AttributionControl:Rn,ScaleControl:Qc,FullscreenControl:Gl,Popup:ls,Marker:Jn,Style:mu,LngLat:i.LngLat,LngLatBounds:i.LngLatBounds,Point:i.Point,MercatorCoordinate:i.MercatorCoordinate,Evented:i.Evented,config:i.config,prewarm:jn,clearPrewarmedResources:la,get accessToken(){return i.config.ACCESS_TOKEN},set accessToken(Y){i.config.ACCESS_TOKEN=Y},get baseApiUrl(){return i.config.API_URL},set baseApiUrl(Y){i.config.API_URL=Y},get workerCount(){return Pi.workerCount},set workerCount(Y){Pi.workerCount=Y},get maxParallelImageRequests(){return i.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(Y){i.config.MAX_PARALLEL_IMAGE_REQUESTS=Y},clearStorage:function(z){i.clearTileCache(z)},workerUrl:\"\"};return ns}),r})});var JUe=ye((Byr,KUe)=>{\"use strict\";var tw=Mr(),CHt=Pl().sanitizeHTML,LHt=HK(),ZUe=c1();function XUe(e,t){this.subplot=e,this.uid=e.uid+\"-\"+t,this.index=t,this.idSource=\"source-\"+this.uid,this.idLayer=ZUe.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var ig=XUe.prototype;ig.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=WF(t)};ig.needsNewImage=function(e){var t=this.subplot.map;return t.getSource(this.idSource)&&this.sourceType===\"image\"&&e.sourcetype===\"image\"&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))};ig.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type};ig.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]};ig.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]};ig.updateImage=function(e){var t=this.subplot.map;t.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var r=this.findFollowingMapboxLayerId(this.lookupBelow());r!==null&&this.subplot.map.moveLayer(this.idLayer,r)};ig.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,!!WF(e)){var r=PHt(e);t.addSource(this.idSource,r)}};ig.findFollowingMapboxLayerId=function(e){if(e===\"traces\")for(var t=this.subplot.getMapLayers(),r=0;r<t.length;r++){var n=t[r].id;if(typeof n==\"string\"&&n.indexOf(ZUe.traceLayerPrefix)===0){e=n;break}}return e};ig.updateLayer=function(e){var t=this.subplot,r=YUe(e),n=this.lookupBelow(),i=this.findFollowingMapboxLayerId(n);this.removeLayer(),WF(e)&&t.addLayer({id:this.idLayer,source:this.idSource,\"source-layer\":e.sourcelayer||\"\",type:e.type,minzoom:e.minzoom,maxzoom:e.maxzoom,layout:r.layout,paint:r.paint},i),this.layerType=e.type,this.below=n};ig.updateStyle=function(e){if(WF(e)){var t=YUe(e);this.subplot.setOptions(this.idLayer,\"setLayoutProperty\",t.layout),this.subplot.setOptions(this.idLayer,\"setPaintProperty\",t.paint)}};ig.removeLayer=function(){var e=this.subplot.map;e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer)};ig.dispose=function(){var e=this.subplot.map;e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer),e.getSource(this.idSource)&&e.removeSource(this.idSource)};function WF(e){if(!e.visible)return!1;var t=e.source;if(Array.isArray(t)&&t.length>0){for(var r=0;r<t.length;r++)if(typeof t[r]!=\"string\"||t[r].length===0)return!1;return!0}return tw.isPlainObject(t)||typeof t==\"string\"&&t.length>0}function YUe(e){var t={},r={};switch(e.type){case\"circle\":tw.extendFlat(r,{\"circle-radius\":e.circle.radius,\"circle-color\":e.color,\"circle-opacity\":e.opacity});break;case\"line\":tw.extendFlat(r,{\"line-width\":e.line.width,\"line-color\":e.color,\"line-opacity\":e.opacity,\"line-dasharray\":e.line.dash});break;case\"fill\":tw.extendFlat(r,{\"fill-color\":e.color,\"fill-outline-color\":e.fill.outlinecolor,\"fill-opacity\":e.opacity});break;case\"symbol\":var n=e.symbol,i=LHt(n.textposition,n.iconsize);tw.extendFlat(t,{\"icon-image\":n.icon+\"-15\",\"icon-size\":n.iconsize/10,\"text-field\":n.text,\"text-size\":n.textfont.size,\"text-anchor\":i.anchor,\"text-offset\":i.offset,\"symbol-placement\":n.placement}),tw.extendFlat(r,{\"icon-color\":e.color,\"text-color\":n.textfont.color,\"text-opacity\":e.opacity});break;case\"raster\":tw.extendFlat(r,{\"raster-fade-duration\":0,\"raster-opacity\":e.opacity});break}return{layout:t,paint:r}}function PHt(e){var t=e.sourcetype,r=e.source,n={type:t},i;return t===\"geojson\"?i=\"data\":t===\"vector\"?i=typeof r==\"string\"?\"url\":\"tiles\":t===\"raster\"?(i=\"tiles\",n.tileSize=256):t===\"image\"&&(i=\"url\",n.coordinates=e.coordinates),n[i]=r,e.sourceattribution&&(n.attribution=CHt(e.sourceattribution)),n}KUe.exports=function(t,r,n){var i=new XUe(t,r);return i.update(n),i}});var oVe=ye((Nyr,aVe)=>{\"use strict\";var KK=YK(),JK=Mr(),tVe=nx(),$Ue=ba(),IHt=Qa(),RHt=gv(),ZF=Nc(),rVe=Sg(),DHt=rVe.drawMode,zHt=rVe.selectMode,FHt=wf().prepSelect,qHt=wf().clearOutline,OHt=wf().clearSelectionsCache,BHt=wf().selectOnClick,_x=c1(),NHt=JUe();function iVe(e,t){this.id=t,this.gd=e;var r=e._fullLayout,n=e._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+\"-\"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var Ah=iVe.prototype;Ah.plot=function(e,t,r){var n=this,i=t[n.id];n.map&&i.accesstoken!==n.accessToken&&(n.map.remove(),n.map=null,n.styleObj=null,n.traceHash={},n.layerList=[]);var a;n.map?a=new Promise(function(o,s){n.updateMap(e,t,o,s)}):a=new Promise(function(o,s){n.createMap(e,t,o,s)}),r.push(a)};Ah.createMap=function(e,t,r,n){var i=this,a=t[i.id],o=i.styleObj=nVe(a.style,t);i.accessToken=a.accesstoken;var s=a.bounds,l=s?[[s.west,s.south],[s.east,s.north]]:null,u=i.map=new KK.Map({container:i.div,style:o.style,center:$K(a.center),zoom:a.zoom,bearing:a.bearing,pitch:a.pitch,maxBounds:l,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new KK.AttributionControl({compact:!0}));u._canvas.style.left=\"0px\",u._canvas.style.top=\"0px\",i.rejectOnError(n),i.isStatic||i.initFx(e,t);var c=[];c.push(new Promise(function(f){u.once(\"load\",f)})),c=c.concat(tVe.fetchTraceGeoData(e)),Promise.all(c).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Ah.updateMap=function(e,t,r,n){var i=this,a=i.map,o=t[this.id];i.rejectOnError(n);var s=[],l=nVe(o.style,t);JSON.stringify(i.styleObj)!==JSON.stringify(l)&&(i.styleObj=l,a.setStyle(l.style),i.traceHash={},s.push(new Promise(function(u){a.once(\"styledata\",u)}))),s=s.concat(tVe.fetchTraceGeoData(e)),Promise.all(s).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Ah.fillBelowLookup=function(e,t){var r=t[this.id],n=r.layers,i,a,o=this.belowLookup={},s=!1;for(i=0;i<e.length;i++){var l=e[i][0].trace,u=l._module;typeof l.below==\"string\"?a=l.below:u.getBelow&&(a=u.getBelow(l,this)),a===\"\"&&(s=!0),o[\"trace-\"+l.uid]=a||\"\"}for(i=0;i<n.length;i++){var c=n[i];typeof c.below==\"string\"?a=c.below:s?a=\"traces\":a=\"\",o[\"layout-\"+i]=a}var f={},h,d;for(h in o)a=o[h],f[a]?f[a].push(h):f[a]=[h];for(a in f){var v=f[a];if(v.length>1)for(i=0;i<v.length;i++)h=v[i],h.indexOf(\"trace-\")===0?(d=h.split(\"trace-\")[1],this.traceHash[d]&&(this.traceHash[d].below=null)):h.indexOf(\"layout-\")===0&&(d=h.split(\"layout-\")[1],this.layerList[d]&&(this.layerList[d].below=null))}};var QUe={choroplethmapbox:0,densitymapbox:1,scattermapbox:2};Ah.updateData=function(e){var t=this.traceHash,r,n,i,a,o=e.slice().sort(function(f,h){return QUe[f[0].trace.type]-QUe[h[0].trace.type]});for(i=0;i<o.length;i++){var s=o[i];n=s[0].trace,r=t[n.uid];var l=!1;r&&(r.type===n.type?(r.update(s),l=!0):r.dispose()),!l&&n._module&&(t[n.uid]=n._module.plot(this,s))}var u=Object.keys(t);e:for(i=0;i<u.length;i++){var c=u[i];for(a=0;a<e.length;a++)if(n=e[a][0].trace,c===n.uid)continue e;r=t[c],r.dispose(),delete t[c]}};Ah.updateLayout=function(e){var t=this.map,r=e[this.id];!this.dragging&&!this.wheeling&&(t.setCenter($K(r.center)),t.setZoom(r.zoom),t.setBearing(r.bearing),t.setPitch(r.pitch)),this.updateLayers(e),this.updateFramework(e),this.updateFx(e),this.map.resize(),this.gd._context._scrollZoom.mapbox?t.scrollZoom.enable():t.scrollZoom.disable()};Ah.resolveOnRender=function(e){var t=this.map;t.on(\"render\",function r(){t.loaded()&&(t.off(\"render\",r),setTimeout(e,10))})};Ah.rejectOnError=function(e){var t=this.map;function r(){e(new Error(_x.mapOnErrorMsg))}t.once(\"error\",r),t.once(\"style.error\",r),t.once(\"source.error\",r),t.once(\"tile.error\",r),t.once(\"layer.error\",r)};Ah.createFramework=function(e){var t=this,r=t.div=document.createElement(\"div\");r.id=t.uid,r.style.position=\"absolute\",t.container.appendChild(r),t.xaxis={_id:\"x\",c2p:function(n){return t.project(n).x}},t.yaxis={_id:\"y\",c2p:function(n){return t.project(n).y}},t.updateFramework(e),t.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},IHt.setConvert(t.mockAxis,e)};Ah.initFx=function(e,t){var r=this,n=r.gd,i=r.map;i.on(\"moveend\",function(s){if(r.map){var l=n._fullLayout;if(s.originalEvent||r.wheeling){var u=l[r.id];$Ue.call(\"_storeDirectGUIEdit\",n.layout,l._preGUI,r.getViewEdits(u));var c=r.getView();u._input.center=u.center=c.center,u._input.zoom=u.zoom=c.zoom,u._input.bearing=u.bearing=c.bearing,u._input.pitch=u.pitch=c.pitch,n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(c))}s.originalEvent&&s.originalEvent.type===\"mouseup\"?r.dragging=!1:r.wheeling&&(r.wheeling=!1),l._rehover&&l._rehover()}}),i.on(\"wheel\",function(){r.wheeling=!0}),i.on(\"mousemove\",function(s){var l=r.div.getBoundingClientRect(),u=[s.originalEvent.offsetX,s.originalEvent.offsetY];s.target.getBoundingClientRect=function(){return l},r.xaxis.p2c=function(){return i.unproject(u).lng},r.yaxis.p2c=function(){return i.unproject(u).lat},n._fullLayout._rehover=function(){n._fullLayout._hoversubplot===r.id&&n._fullLayout[r.id]&&ZF.hover(n,s,r.id)},ZF.hover(n,s,r.id),n._fullLayout._hoversubplot=r.id});function a(){ZF.loneUnhover(t._hoverlayer)}i.on(\"dragstart\",function(){r.dragging=!0,a()}),i.on(\"zoomstart\",a),i.on(\"mouseout\",function(){n._fullLayout._hoversubplot=null});function o(){var s=r.getView();n.emit(\"plotly_relayouting\",r.getViewEditsWithDerived(s))}i.on(\"drag\",o),i.on(\"zoom\",o),i.on(\"dblclick\",function(){var s=n._fullLayout[r.id];$Ue.call(\"_storeDirectGUIEdit\",n.layout,n._fullLayout._preGUI,r.getViewEdits(s));var l=r.viewInitial;i.setCenter($K(l.center)),i.setZoom(l.zoom),i.setBearing(l.bearing),i.setPitch(l.pitch);var u=r.getView();s._input.center=s.center=u.center,s._input.zoom=s.zoom=u.zoom,s._input.bearing=s.bearing=u.bearing,s._input.pitch=s.pitch=u.pitch,n.emit(\"plotly_doubleclick\",null),n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(u))}),r.clearOutline=function(){OHt(r.dragOptions),qHt(r.dragOptions.gd)},r.onClickInPanFn=function(s){return function(l){var u=n._fullLayout.clickmode;u.indexOf(\"select\")>-1&&BHt(l.originalEvent,n,[r.xaxis],[r.yaxis],r.id,s),u.indexOf(\"event\")>-1&&ZF.click(n,l.originalEvent)}}};Ah.updateFx=function(e){var t=this,r=t.map,n=t.gd;if(t.isStatic)return;function i(l){var u=t.map.unproject(l);return[u.lng,u.lat]}var a=e.dragmode,o;o=function(l,u){if(u.isRect){var c=l.range={};c[t.id]=[i([u.xmin,u.ymin]),i([u.xmax,u.ymax])]}else{var f=l.lassoPoints={};f[t.id]=u.map(i)}};var s=t.dragOptions;t.dragOptions=JK.extendDeep(s||{},{dragmode:e.dragmode,element:t.div,gd:n,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:o},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off(\"click\",t.onClickInPanHandler),zHt(a)||DHt(a)?(r.dragPan.disable(),r.on(\"zoomstart\",t.clearOutline),t.dragOptions.prepFn=function(l,u,c){FHt(l,u,c,t.dragOptions,a)},RHt.init(t.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener(\"touchstart\",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on(\"click\",t.onClickInPanHandler))};Ah.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+\"px\",n.height=r.h*(t.y[1]-t.y[0])+\"px\",n.left=r.l+t.x[0]*r.w+\"px\",n.top=r.t+(1-t.y[1])*r.h+\"px\",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])};Ah.updateLayers=function(e){var t=e[this.id],r=t.layers,n=this.layerList,i;if(r.length!==n.length){for(i=0;i<n.length;i++)n[i].dispose();for(n=this.layerList=[],i=0;i<r.length;i++)n.push(NHt(this,i,r[i]))}else for(i=0;i<r.length;i++)n[i].update(r[i])};Ah.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))};Ah.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()};Ah.setOptions=function(e,t,r){for(var n in r)this.map[t](e,n,r[n])};Ah.getMapLayers=function(){return this.map.getStyle().layers};Ah.addLayer=function(e,t){var r=this.map;if(typeof t==\"string\"){if(t===\"\"){r.addLayer(e,t);return}for(var n=this.getMapLayers(),i=0;i<n.length;i++)if(t===n[i].id){r.addLayer(e,t);return}JK.warn([\"Trying to add layer with *below* value\",t,\"referencing a layer that does not exist\",\"or that does not yet exist.\"].join(\" \"))}r.addLayer(e)};Ah.project=function(e){return this.map.project(new KK.LngLat(e[0],e[1]))};Ah.getView=function(){var e=this.map,t=e.getCenter(),r=t.lng,n=t.lat,i={lon:r,lat:n},a=e.getCanvas(),o=parseInt(a.style.width),s=parseInt(a.style.height);return{center:i,zoom:e.getZoom(),bearing:e.getBearing(),pitch:e.getPitch(),_derived:{coordinates:[e.unproject([0,0]).toArray(),e.unproject([o,0]).toArray(),e.unproject([o,s]).toArray(),e.unproject([0,s]).toArray()]}}};Ah.getViewEdits=function(e){for(var t=this.id,r=[\"center\",\"zoom\",\"bearing\",\"pitch\"],n={},i=0;i<r.length;i++){var a=r[i];n[t+\".\"+a]=e[a]}return n};Ah.getViewEditsWithDerived=function(e){var t=this.id,r=this.getViewEdits(e);return r[t+\"._derived\"]=e._derived,r};function nVe(e,t){var r={};if(JK.isPlainObject(e))r.id=e.id,r.style=e;else if(typeof e==\"string\")if(r.id=e,_x.styleValuesMapbox.indexOf(e)!==-1)r.style=eVe(e);else if(_x.stylesNonMapbox[e]){r.style=_x.stylesNonMapbox[e];var n=r.style.sources[\"plotly-\"+e],i=n?n.tiles:void 0;i&&i[0]&&i[0].slice(-9)===\"?api_key=\"&&(i[0]+=t._mapboxAccessToken)}else r.style=e;else r.id=_x.styleValueDflt,r.style=eVe(_x.styleValueDflt);return r.transition={duration:0,delay:0},r}function eVe(e){return _x.styleUrlPrefix+e+\"-\"+_x.styleUrlSuffix}function $K(e){return[e.lon,e.lat]}aVe.exports=iVe});var uVe=ye((Uyr,lVe)=>{\"use strict\";var QK=Mr(),UHt=C_(),VHt=Zd(),sVe=Rk();lVe.exports=function(t,r,n){UHt(t,r,n,{type:\"mapbox\",attributes:sVe,handleDefaults:HHt,partition:\"y\",accessToken:r._mapboxAccessToken})};function HHt(e,t,r,n){r(\"accesstoken\",n.accessToken),r(\"style\"),r(\"center.lon\"),r(\"center.lat\"),r(\"zoom\"),r(\"bearing\"),r(\"pitch\");var i=r(\"bounds.west\"),a=r(\"bounds.east\"),o=r(\"bounds.south\"),s=r(\"bounds.north\");(i===void 0||a===void 0||o===void 0||s===void 0)&&delete t.bounds,VHt(e,t,{name:\"layers\",handleItemDefaults:GHt}),t._input=e}function GHt(e,t){function r(l,u){return QK.coerce(e,t,sVe.layers,l,u)}var n=r(\"visible\");if(n){var i=r(\"sourcetype\"),a=i===\"raster\"||i===\"image\";r(\"source\"),r(\"sourceattribution\"),i===\"vector\"&&r(\"sourcelayer\"),i===\"image\"&&r(\"coordinates\");var o;a&&(o=\"raster\");var s=r(\"type\",o);a&&s!==\"raster\"&&(s=t.type=\"raster\",QK.log(\"Source types *raster* and *image* must drawn *raster* layer type.\")),r(\"below\"),r(\"color\"),r(\"opacity\"),r(\"minzoom\"),r(\"maxzoom\"),s===\"circle\"&&r(\"circle.radius\"),s===\"line\"&&(r(\"line.width\"),r(\"line.dash\")),s===\"fill\"&&r(\"fill.outlinecolor\"),s===\"symbol\"&&(r(\"symbol.icon\"),r(\"symbol.iconsize\"),r(\"symbol.text\"),QK.coerceFont(r,\"symbol.textfont\",void 0,{noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}),r(\"symbol.textposition\"),r(\"symbol.placement\"))}}});var XF=ye(Np=>{\"use strict\";var cVe=YK(),tm=Mr(),eJ=tm.strTranslate,jHt=tm.strScale,WHt=kd().getSubplotCalcData,ZHt=Zp(),XHt=xa(),fVe=ao(),YHt=Pl(),KHt=oVe(),xx=\"mapbox\",Qm=Np.constants=c1();Np.name=xx;Np.attr=\"subplot\";Np.idRoot=xx;Np.idRegex=Np.attrRegex=tm.counterRegex(xx);var JHt=[\"mapbox subplots and traces are deprecated!\",\"Please consider switching to `map` subplots and traces.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");Np.attributes={subplot:{valType:\"subplotid\",dflt:\"mapbox\",editType:\"calc\"}};Np.layoutAttributes=Rk();Np.supplyLayoutDefaults=uVe();var hVe=!0;Np.plot=function(t){hVe&&(hVe=!1,tm.warn(JHt));var r=t._fullLayout,n=t.calcdata,i=r._subplots[xx];if(cVe.version!==Qm.requiredVersion)throw new Error(Qm.wrongVersionErrorMsg);var a=$Ht(t,i);cVe.accessToken=a;for(var o=0;o<i.length;o++){var s=i[o],l=WHt(n,xx,s),u=r[s],c=u._subplot;c||(c=new KHt(t,s),r[s]._subplot=c),c.viewInitial||(c.viewInitial={center:tm.extendFlat({},u.center),zoom:u.zoom,bearing:u.bearing,pitch:u.pitch}),c.plot(l,r,t._promises)}};Np.clean=function(e,t,r,n){for(var i=n._subplots[xx]||[],a=0;a<i.length;a++){var o=i[a];!t[o]&&n[o]._subplot&&n[o]._subplot.destroy()}};Np.toSVG=function(e){for(var t=e._fullLayout,r=t._subplots[xx],n=t._size,i=0;i<r.length;i++){var a=t[r[i]],o=a.domain,s=a._subplot,l=s.toImage(\"png\"),u=t._glimages.append(\"svg:image\");u.attr({xmlns:ZHt.svg,\"xlink:href\":l,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"});var c=XHt.select(a._subplot.div),f=c.select(\".mapboxgl-ctrl-logo\").node().offsetParent===null;if(!f){var h=t._glimages.append(\"g\");h.attr(\"transform\",eJ(n.l+n.w*o.x[0]+10,n.t+n.h*(1-o.y[0])-31)),h.append(\"path\").attr(\"d\",Qm.mapboxLogo.path0).style({opacity:.9,fill:\"#ffffff\",\"enable-background\":\"new\"}),h.append(\"path\").attr(\"d\",Qm.mapboxLogo.path1).style(\"opacity\",.35).style(\"enable-background\",\"new\"),h.append(\"path\").attr(\"d\",Qm.mapboxLogo.path2).style(\"opacity\",.35).style(\"enable-background\",\"new\"),h.append(\"polygon\").attr(\"points\",Qm.mapboxLogo.polygon).style({opacity:.9,fill:\"#ffffff\",\"enable-background\":\"new\"})}var d=c.select(\".mapboxgl-ctrl-attrib\").text().replace(\"Improve this map\",\"\"),v=t._glimages.append(\"g\"),x=v.append(\"text\");x.text(d).classed(\"static-attribution\",!0).attr({\"font-size\":12,\"font-family\":\"Arial\",color:\"rgba(0, 0, 0, 0.75)\",\"text-anchor\":\"end\",\"data-unformatted\":d});var b=fVe.bBox(x.node()),p=n.w*(o.x[1]-o.x[0]);if(b.width>p/2){var E=d.split(\"|\").join(\"<br>\");x.text(E).attr(\"data-unformatted\",E).call(YHt.convertToTspans,e),b=fVe.bBox(x.node())}x.attr(\"transform\",eJ(-3,-b.height+8)),v.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>p&&(k=p/(b.width+6));var A=[n.l+n.w*o.x[1],n.t+n.h*(1-o.y[0])];v.attr(\"transform\",eJ(A[0],A[1])+jHt(k))}};function $Ht(e,t){var r=e._fullLayout,n=e._context;if(n.mapboxAccessToken===\"\")return\"\";for(var i=[],a=[],o=!1,s=!1,l=0;l<t.length;l++){var u=r[t[l]],c=u.accesstoken;dVe(u.style)&&(c?tm.pushUnique(i,c):(dVe(u._input.style)&&(tm.error(\"Uses Mapbox map style, but did not set an access token.\"),o=!0),s=!0)),c&&tm.pushUnique(a,c)}if(s){var f=o?Qm.noAccessTokenErrorMsg:Qm.missingStyleErrorMsg;throw tm.error(f),new Error(f)}return i.length?(i.length>1&&tm.warn(Qm.multipleTokensErrorMsg),i[0]):(a.length&&tm.log([\"Listed mapbox access token(s)\",a.join(\",\"),\"but did not use a Mapbox map style, ignoring token(s).\"].join(\" \")),\"\")}function dVe(e){return typeof e==\"string\"&&(Qm.styleValuesMapbox.indexOf(e)!==-1||e.indexOf(\"mapbox://\")===0||e.indexOf(\"stamen\")===0)}Np.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[xx],n=0;n<r.length;n++){var i=t[r[n]]._subplot;i.updateFx(t)}}});var pVe=ye((Gyr,vVe)=>{\"use strict\";var Hyr=[\"*scattermapbox* trace is deprecated!\",\"Please consider switching to the *scattermap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");vVe.exports={attributes:NF(),supplyDefaults:MUe(),colorbar:Kd(),formatLabels:VK(),calc:lz(),plot:NUe(),hoverPoints:jF().hoverPoints,eventData:GUe(),selectPoints:WUe(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.update(t)}},moduleType:\"trace\",name:\"scattermapbox\",basePlotModule:XF(),categories:[\"mapbox\",\"gl\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var mVe=ye((jyr,gVe)=>{\"use strict\";gVe.exports=pVe()});var tJ=ye((Wyr,yVe)=>{\"use strict\";var f1=K5(),QHt=Jl(),eGt=Wo().hovertemplateAttrs,tGt=vl(),bx=no().extendFlat;yVe.exports=bx({locations:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:bx({},f1.featureidkey,{}),below:{valType:\"string\",editType:\"plot\"},text:f1.text,hovertext:f1.hovertext,marker:{line:{color:bx({},f1.marker.line.color,{editType:\"plot\"}),width:bx({},f1.marker.line.width,{editType:\"plot\"}),editType:\"calc\"},opacity:bx({},f1.marker.opacity,{editType:\"plot\"}),editType:\"calc\"},selected:{marker:{opacity:bx({},f1.selected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:bx({},f1.unselected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},hoverinfo:f1.hoverinfo,hovertemplate:eGt({},{keys:[\"properties\"]}),showlegend:bx({},tGt.showlegend,{dflt:!1})},QHt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var xVe=ye((Zyr,_Ve)=>{\"use strict\";var qk=Mr(),rGt=Uh(),iGt=tJ();_Ve.exports=function(t,r,n,i){function a(c,f){return qk.coerce(t,r,iGt,c,f)}var o=a(\"locations\"),s=a(\"z\"),l=a(\"geojson\");if(!qk.isArrayOrTypedArray(o)||!o.length||!qk.isArrayOrTypedArray(s)||!s.length||!(typeof l==\"string\"&&l!==\"\"||qk.isPlainObject(l))){r.visible=!1;return}a(\"featureidkey\"),r._length=Math.min(o.length,s.length),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\");var u=a(\"marker.line.width\");u&&a(\"marker.line.color\"),a(\"marker.opacity\"),rGt(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),qk.coerceSelectionMarkerOpacity(r,a)}});var rJ=ye((Xyr,TVe)=>{\"use strict\";var nGt=uo(),h1=Mr(),aGt=Mu(),oGt=ao(),sGt=rx().makeBlank,bVe=nx();function lGt(e){var t=e[0].trace,r=t.visible===!0&&t._length!==0,n={layout:{visibility:\"none\"},paint:{}},i={layout:{visibility:\"none\"},paint:{}},a=t._opts={fill:n,line:i,geojson:sGt()};if(!r)return a;var o=bVe.extractTraceFeature(e);if(!o)return a;var s=aGt.makeColorScaleFuncFromTrace(t),l=t.marker,u=l.line||{},c;h1.isArrayOrTypedArray(l.opacity)&&(c=function(E){var k=E.mo;return nGt(k)?+h1.constrain(k,0,1):0});var f;h1.isArrayOrTypedArray(u.color)&&(f=function(E){return E.mlc});var h;h1.isArrayOrTypedArray(u.width)&&(h=function(E){return E.mlw});for(var d=0;d<e.length;d++){var v=e[d],x=v.fOut;if(x){var b=x.properties;b.fc=s(v.z),c&&(b.mo=c(v)),f&&(b.mlc=f(v)),h&&(b.mlw=h(v)),v.ct=b.ct,v._polygons=bVe.feature2polygons(x)}}var p=c?{type:\"identity\",property:\"mo\"}:l.opacity;return h1.extendFlat(n.paint,{\"fill-color\":{type:\"identity\",property:\"fc\"},\"fill-opacity\":p}),h1.extendFlat(i.paint,{\"line-color\":f?{type:\"identity\",property:\"mlc\"}:u.color,\"line-width\":h?{type:\"identity\",property:\"mlw\"}:u.width,\"line-opacity\":p}),n.layout.visibility=\"visible\",i.layout.visibility=\"visible\",a.geojson={type:\"FeatureCollection\",features:o},wVe(e),a}function wVe(e){var t=e[0].trace,r=t._opts,n;if(t.selectedpoints){for(var i=oGt.makeSelectedPointStyleFns(t),a=0;a<e.length;a++){var o=e[a];o.fOut&&(o.fOut.properties.mo2=i.selectedOpacityFn(o))}n={type:\"identity\",property:\"mo2\"}}else n=h1.isArrayOrTypedArray(t.marker.opacity)?{type:\"identity\",property:\"mo\"}:t.marker.opacity;return h1.extendFlat(r.fill.paint,{\"fill-opacity\":n}),h1.extendFlat(r.line.paint,{\"line-opacity\":n}),r}TVe.exports={convert:lGt,convertOnSelect:wVe}});var kVe=ye((Yyr,EVe)=>{\"use strict\";var SVe=rJ().convert,uGt=rJ().convertOnSelect,AVe=c1().traceLayerPrefix;function MVe(e,t){this.type=\"choroplethmapbox\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"fill\",AVe+t+\"-fill\"],[\"line\",AVe+t+\"-line\"]],this.below=null}var wA=MVe.prototype;wA.update=function(e){this._update(SVe(e)),e[0].trace._glTrace=this};wA.updateOnSelect=function(e){this._update(uGt(e))};wA._update=function(e){var t=this.subplot,r=this.layerList,n=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(e.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(e,n),this.below=n);for(var i=0;i<r.length;i++){var a=r[i],o=a[0],s=a[1],l=e[o];t.setOptions(s,\"setLayoutProperty\",l.layout),l.layout.visibility===\"visible\"&&t.setOptions(s,\"setPaintProperty\",l.paint)}};wA._addLayers=function(e,t){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=e[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},t)}};wA._removeLayers=function(){for(var e=this.subplot.map,t=this.layerList,r=t.length-1;r>=0;r--)e.removeLayer(t[r][1])};wA.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};EVe.exports=function(t,r){var n=r[0].trace,i=new MVe(t,n.uid),a=i.sourceId,o=SVe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),r[0].trace._glTrace=i,i}});var LVe=ye((Jyr,CVe)=>{\"use strict\";var Kyr=[\"*choroplethmapbox* trace is deprecated!\",\"Please consider switching to the *choroplethmap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");CVe.exports={attributes:tJ(),supplyDefaults:xVe(),colorbar:M_(),calc:Lz(),plot:kVe(),hoverPoints:Iz(),eventData:Rz(),selectPoints:Dz(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.updateOnSelect(t)}},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if(typeof i==\"string\"&&i.indexOf(\"water\")===0){for(var a=n+1;a<r.length;a++)if(i=r[a].id,typeof i==\"string\"&&i.indexOf(\"plotly-\")===-1)return i}}},moduleType:\"trace\",name:\"choroplethmapbox\",basePlotModule:XF(),categories:[\"mapbox\",\"gl\",\"noOpacity\",\"showLegend\"],meta:{hr_name:\"choropleth_mapbox\"}}});var IVe=ye(($yr,PVe)=>{\"use strict\";PVe.exports=LVe()});var nJ=ye((Qyr,DVe)=>{\"use strict\";var cGt=Jl(),fGt=Wo().hovertemplateAttrs,RVe=vl(),YF=NF(),iJ=no().extendFlat;DVe.exports=iJ({lon:YF.lon,lat:YF.lat,z:{valType:\"data_array\",editType:\"calc\"},radius:{valType:\"number\",editType:\"plot\",arrayOk:!0,min:1,dflt:30},below:{valType:\"string\",editType:\"plot\"},text:YF.text,hovertext:YF.hovertext,hoverinfo:iJ({},RVe.hoverinfo,{flags:[\"lon\",\"lat\",\"z\",\"text\",\"name\"]}),hovertemplate:fGt(),showlegend:iJ({},RVe.showlegend,{dflt:!1})},cGt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var FVe=ye((e1r,zVe)=>{\"use strict\";var hGt=Mr(),dGt=Uh(),vGt=nJ();zVe.exports=function(t,r,n,i){function a(u,c){return hGt.coerce(t,r,vGt,u,c)}var o=a(\"lon\")||[],s=a(\"lat\")||[],l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a(\"z\"),a(\"radius\"),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),dGt(t,r,i,a,{prefix:\"\",cLetter:\"z\"})}});var BVe=ye((t1r,OVe)=>{\"use strict\";var aJ=uo(),pGt=Mr().isArrayOrTypedArray,oJ=es().BADNUM,gGt=zv(),qVe=Mr()._;OVe.exports=function(t,r){for(var n=r._length,i=new Array(n),a=r.z,o=pGt(a)&&a.length,s=0;s<n;s++){var l=i[s]={},u=r.lon[s],c=r.lat[s];if(l.lonlat=aJ(u)&&aJ(c)?[+u,+c]:[oJ,oJ],o){var f=a[s];l.z=aJ(f)?f:oJ}}return gGt(t,r,{vals:o?a:[0,1],containerStr:\"\",cLetter:\"z\"}),n&&(i[0].t={labels:{lat:qVe(t,\"lat:\")+\" \",lon:qVe(t,\"lon:\")+\" \"}}),i}});var GVe=ye((r1r,HVe)=>{\"use strict\";var mGt=uo(),sJ=Mr(),NVe=va(),UVe=Mu(),VVe=es().BADNUM,yGt=rx().makeBlank;HVe.exports=function(t){var r=t[0].trace,n=r.visible===!0&&r._length!==0,i={layout:{visibility:\"none\"},paint:{}},a=r._opts={heatmap:i,geojson:yGt()};if(!n)return a;var o=[],s,l=r.z,u=r.radius,c=sJ.isArrayOrTypedArray(l)&&l.length,f=sJ.isArrayOrTypedArray(u);for(s=0;s<t.length;s++){var h=t[s],d=h.lonlat;if(d[0]!==VVe){var v={};if(c){var x=h.z;v.z=x!==VVe?x:0}f&&(v.r=mGt(u[s])&&u[s]>0?+u[s]:0),o.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:d},properties:v})}}var b=UVe.extractOpts(r),p=b.reversescale?UVe.flipScale(b.colorscale):b.colorscale,E=p[0][1],k=NVe.opacity(E)<1?E:NVe.addOpacity(E,0),A=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,k];for(s=1;s<p.length;s++)A.push(p[s][0],p[s][1]);var L=[\"interpolate\",[\"linear\"],[\"get\",\"z\"],b.min,0,b.max,1];return sJ.extendFlat(a.heatmap.paint,{\"heatmap-weight\":c?L:1/(b.max-b.min),\"heatmap-color\":A,\"heatmap-radius\":f?{type:\"identity\",property:\"r\"}:r.radius,\"heatmap-opacity\":r.opacity}),a.geojson={type:\"FeatureCollection\",features:o},a.heatmap.layout.visibility=\"visible\",a}});var XVe=ye((i1r,ZVe)=>{\"use strict\";var jVe=GVe(),_Gt=c1().traceLayerPrefix;function WVe(e,t){this.type=\"densitymapbox\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"heatmap\",_Gt+t+\"-heatmap\"]],this.below=null}var KF=WVe.prototype;KF.update=function(e){var t=this.subplot,r=this.layerList,n=jVe(e),i=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(n.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(n,i),this.below=i);for(var a=0;a<r.length;a++){var o=r[a],s=o[0],l=o[1],u=n[s];t.setOptions(l,\"setLayoutProperty\",u.layout),u.layout.visibility===\"visible\"&&t.setOptions(l,\"setPaintProperty\",u.paint)}};KF._addLayers=function(e,t){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=e[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},t)}};KF._removeLayers=function(){for(var e=this.subplot.map,t=this.layerList,r=t.length-1;r>=0;r--)e.removeLayer(t[r][1])};KF.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};ZVe.exports=function(t,r){var n=r[0].trace,i=new WVe(t,n.uid),a=i.sourceId,o=jVe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),i}});var KVe=ye((n1r,YVe)=>{\"use strict\";var xGt=Qa(),bGt=jF().hoverPoints,wGt=jF().getExtraText;YVe.exports=function(t,r,n){var i=bGt(t,r,n);if(i){var a=i[0],o=a.cd,s=o[0].trace,l=o[a.index];if(delete a.color,\"z\"in l){var u=a.subplot.mockAxis;a.z=l.z,a.zLabel=xGt.tickText(u,u.c2l(l.z),\"hover\").text}return a.extraText=wGt(s,l,o[0].t.labels),[a]}}});var $Ve=ye((a1r,JVe)=>{\"use strict\";JVe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t.z=r.z,t}});var eHe=ye((s1r,QVe)=>{\"use strict\";var o1r=[\"*densitymapbox* trace is deprecated!\",\"Please consider switching to the *densitymap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");QVe.exports={attributes:nJ(),supplyDefaults:FVe(),colorbar:M_(),formatLabels:VK(),calc:BVe(),plot:XVe(),hoverPoints:KVe(),eventData:$Ve(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n<r.length;n++){var i=r[n],a=i.id;if(i.type===\"symbol\"&&typeof a==\"string\"&&a.indexOf(\"plotly-\")===-1)return a}},moduleType:\"trace\",name:\"densitymapbox\",basePlotModule:XF(),categories:[\"mapbox\",\"gl\",\"showLegend\"],meta:{hr_name:\"density_mapbox\"}}});var rHe=ye((l1r,tHe)=>{\"use strict\";tHe.exports=eHe()});var nHe=ye((u1r,iHe)=>{iHe.exports={version:8,name:\"orto\",metadata:{\"maputnik:renderer\":\"mlgljs\"},center:[1.537786,41.837539],zoom:12,bearing:0,pitch:0,light:{anchor:\"viewport\",color:\"white\",intensity:.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 © <a href='http://www.esri.com'>ESRI</a>\"},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,.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,.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,.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,.8],[20,4]]},\"line-opacity\":.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,.9],[10,.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\":[.5,.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,.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,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.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\":[.5,.25],\"line-width\":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.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,.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,.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,.5],[20,18]]},\"line-opacity\":.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,.5],[20,18]]},\"line-opacity\":.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,.4],[15,.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,.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\":.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,.6]]},\"line-width\":{base:1.2,stops:[[7,0],[8,.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,.5]]},\"line-width\":{base:1.2,stops:[[5,0],[6,.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,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":{stops:[[4,0],[5,.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,.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\":.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,.5],[20,13]]},\"line-opacity\":.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,.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,.5],[20,18]]},\"line-opacity\":.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,.5],[20,18]]},\"line-opacity\":.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,.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\":[.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,.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\":[.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,.4],[15,.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\":[.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,.4],[6,.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,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.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,.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,.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,.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,.5],[20,18]]},\"line-opacity\":.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,.4],[15,.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\":[.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,.4],[5,1],[12,3]]},\"line-opacity\":.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,.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,.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,.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\":.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\":.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\":.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\":.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,.6],\"text-size\":12,\"text-max-width\":9},paint:{\"text-halo-blur\":.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,.6],\"text-size\":12,\"text-max-width\":9},paint:{\"text-halo-blur\":.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,.6],\"text-size\":11,\"text-max-width\":9},paint:{\"text-halo-blur\":.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,.6],\"text-size\":12,\"text-max-width\":9,\"icon-optional\":!1,\"icon-ignore-placement\":!1,\"icon-allow-overlap\":!1,\"text-ignore-placement\":!1,\"text-allow-overlap\":!1,\"text-optional\":!0},paint:{\"text-halo-blur\":.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,.5],[19,1]]}},paint:{\"icon-opacity\":.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,.5],[19,1]]}},paint:{\"icon-opacity\":.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\":.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\":.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\":.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\":.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\":.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\":[.4,0],\"icon-size\":.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\"}});var oHe=ye((c1r,aHe)=>{aHe.exports={version:8,name:\"orto\",metadata:{},center:[1.537786,41.837539],zoom:12,bearing:0,pitch:0,light:{anchor:\"viewport\",color:\"white\",intensity:.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 © <a href='http://www.esri.com'>ESRI</a>\"},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\"}}]}});var wx=ye((f1r,fHe)=>{\"use strict\";var TGt=Y1(),AGt=nHe(),SGt=oHe(),MGt='\\xA9 <a target=\"_blank\" href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors',sHe=\"https://basemaps.cartocdn.com/gl/positron-gl-style/style.json\",lHe=\"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json\",JF=\"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json\",EGt=\"https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json\",kGt=\"https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json\",CGt=\"https://basemaps.cartocdn.com/gl/voyager-nolabels-gl-style/style.json\",cHe={basic:JF,streets:JF,outdoors:JF,light:sHe,dark:lHe,satellite:SGt,\"satellite-streets\":AGt,\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:MGt,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\":sHe,\"carto-darkmatter\":lHe,\"carto-voyager\":JF,\"carto-positron-nolabels\":EGt,\"carto-darkmatter-nolabels\":kGt,\"carto-voyager-nolabels\":CGt},uHe=TGt(cHe);fHe.exports={styleValueDflt:\"basic\",stylesMap:cHe,styleValuesMap:uHe,traceLayerPrefix:\"plotly-trace-layer-\",layoutLayerPrefix:\"plotly-layout-layer-\",missingStyleErrorMsg:[\"No valid maplibre style found, please set `map.style` to one of:\",uHe.join(\", \"),\"or use a tile service.\"].join(`\n", - "`),mapOnErrorMsg:\"Map error.\"}});var Ok=ye((h1r,gHe)=>{\"use strict\";var hHe=Mr(),dHe=va().defaultLine,LGt=Ju().attributes,PGt=Su(),IGt=Uc().textposition,RGt=Bu().overrideAll,DGt=Vs().templatedArray,vHe=wx(),pHe=PGt({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});pHe.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\";var zGt=gHe.exports=RGt({_arrayAttrRegexps:[hHe.counterRegex(\"map\",\".layers\",!0)],domain:LGt({name:\"map\"}),style:{valType:\"any\",values:vHe.styleValuesMap,dflt:vHe.styleValueDflt},center:{lon:{valType:\"number\",dflt:0},lat:{valType:\"number\",dflt:0}},zoom:{valType:\"number\",dflt:1},bearing:{valType:\"number\",dflt:0},pitch:{valType:\"number\",dflt:0},bounds:{west:{valType:\"number\"},east:{valType:\"number\"},south:{valType:\"number\"},north:{valType:\"number\"}},layers:DGt(\"layer\",{visible:{valType:\"boolean\",dflt:!0},sourcetype:{valType:\"enumerated\",values:[\"geojson\",\"vector\",\"raster\",\"image\"],dflt:\"geojson\"},source:{valType:\"any\"},sourcelayer:{valType:\"string\",dflt:\"\"},sourceattribution:{valType:\"string\"},type:{valType:\"enumerated\",values:[\"circle\",\"line\",\"fill\",\"symbol\",\"raster\"],dflt:\"circle\"},coordinates:{valType:\"any\"},below:{valType:\"string\"},color:{valType:\"color\",dflt:dHe},opacity:{valType:\"number\",min:0,max:1,dflt:1},minzoom:{valType:\"number\",min:0,max:24,dflt:0},maxzoom:{valType:\"number\",min:0,max:24,dflt:24},circle:{radius:{valType:\"number\",dflt:15}},line:{width:{valType:\"number\",dflt:2},dash:{valType:\"data_array\"}},fill:{outlinecolor:{valType:\"color\",dflt:dHe}},symbol:{icon:{valType:\"string\",dflt:\"marker\"},iconsize:{valType:\"number\",dflt:10},text:{valType:\"string\",dflt:\"\"},placement:{valType:\"enumerated\",values:[\"point\",\"line\",\"line-center\"],dflt:\"point\"},textfont:pHe,textposition:hHe.extendFlat({},IGt,{arrayOk:!1})}})},\"plot\",\"from-root\");zGt.uirevision={valType:\"any\",editType:\"none\"}});var $F=ye((d1r,_He)=>{\"use strict\";var FGt=Wo().hovertemplateAttrs,qGt=Wo().texttemplateAttrs,OGt=Eg(),Bk=H2(),TA=Uc(),mHe=Ok(),BGt=vl(),NGt=Jl(),rw=no().extendFlat,UGt=Bu().overrideAll,VGt=Ok(),yHe=Bk.line,AA=Bk.marker;_He.exports=UGt({lon:Bk.lon,lat:Bk.lat,cluster:{enabled:{valType:\"boolean\"},maxzoom:rw({},VGt.layers.maxzoom,{}),step:{valType:\"number\",arrayOk:!0,dflt:-1,min:-1},size:{valType:\"number\",arrayOk:!0,dflt:20,min:0},color:{valType:\"color\",arrayOk:!0},opacity:rw({},AA.opacity,{dflt:1})},mode:rw({},TA.mode,{dflt:\"markers\"}),text:rw({},TA.text,{}),texttemplate:qGt({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"text\"]}),hovertext:rw({},TA.hovertext,{}),line:{color:yHe.color,width:yHe.width},connectgaps:TA.connectgaps,marker:rw({symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},angle:{valType:\"number\",dflt:\"auto\",arrayOk:!0},allowoverlap:{valType:\"boolean\",dflt:!1},opacity:AA.opacity,size:AA.size,sizeref:AA.sizeref,sizemin:AA.sizemin,sizemode:AA.sizemode},NGt(\"marker\")),fill:Bk.fill,fillcolor:OGt(),textfont:mHe.layers.symbol.textfont,textposition:mHe.layers.symbol.textposition,below:{valType:\"string\"},selected:{marker:TA.selected.marker},unselected:{marker:TA.unselected.marker},hoverinfo:rw({},BGt.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]}),hovertemplate:FGt()},\"calc\",\"nested\")});var lJ=ye((v1r,xHe)=>{\"use strict\";var HGt=[\"Metropolis Black Italic\",\"Metropolis Black\",\"Metropolis Bold Italic\",\"Metropolis Bold\",\"Metropolis Extra Bold Italic\",\"Metropolis Extra Bold\",\"Metropolis Extra Light Italic\",\"Metropolis Extra Light\",\"Metropolis Light Italic\",\"Metropolis Light\",\"Metropolis Medium Italic\",\"Metropolis Medium\",\"Metropolis Regular Italic\",\"Metropolis Regular\",\"Metropolis Semi Bold Italic\",\"Metropolis Semi Bold\",\"Metropolis Thin Italic\",\"Metropolis Thin\",\"Open Sans Bold Italic\",\"Open Sans Bold\",\"Open Sans Extrabold Italic\",\"Open Sans Extrabold\",\"Open Sans Italic\",\"Open Sans Light Italic\",\"Open Sans Light\",\"Open Sans Regular\",\"Open Sans Semibold Italic\",\"Open Sans Semibold\",\"Klokantech Noto Sans Bold\",\"Klokantech Noto Sans CJK Bold\",\"Klokantech Noto Sans CJK Regular\",\"Klokantech Noto Sans Italic\",\"Klokantech Noto Sans Regular\"];xHe.exports={isSupportedFont:function(e){return HGt.indexOf(e)!==-1}}});var THe=ye((p1r,wHe)=>{\"use strict\";var Nk=Mr(),uJ=lu(),GGt=$p(),jGt=R0(),WGt=D0(),ZGt=Ig(),bHe=$F(),XGt=lJ().isSupportedFont;wHe.exports=function(t,r,n,i){function a(p,E){return Nk.coerce(t,r,bHe,p,E)}function o(p,E){return Nk.coerce2(t,r,bHe,p,E)}var s=YGt(t,r,a);if(!s){r.visible=!1;return}if(a(\"text\"),a(\"texttemplate\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"mode\"),a(\"below\"),uJ.hasMarkers(r)){GGt(t,r,n,i,a,{noLine:!0,noAngle:!0}),a(\"marker.allowoverlap\"),a(\"marker.angle\");var l=r.marker;l.symbol!==\"circle\"&&(Nk.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),Nk.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}uJ.hasLines(r)&&(jGt(t,r,n,i,a,{noDash:!0}),a(\"connectgaps\"));var u=o(\"cluster.maxzoom\"),c=o(\"cluster.step\"),f=o(\"cluster.color\",r.marker&&r.marker.color||n),h=o(\"cluster.size\"),d=o(\"cluster.opacity\"),v=u!==!1||c!==!1||f!==!1||h!==!1||d!==!1,x=a(\"cluster.enabled\",v);if(x||uJ.hasText(r)){var b=i.font.family;WGt(t,r,i,a,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:XGt(b)?b:\"Open Sans Regular\",weight:i.font.weight,style:i.font.style,size:i.font.size,color:i.font.color}})}a(\"fill\"),r.fill!==\"none\"&&ZGt(t,r,n,a),Nk.coerceSelectionMarkerOpacity(r,a)};function YGt(e,t,r){var n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length);return t._length=a,a}});var cJ=ye((g1r,SHe)=>{\"use strict\";var AHe=Qa();SHe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=AHe.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=AHe.tickText(o,o.c2l(s[1]),!0).text,i}});var fJ=ye((m1r,EHe)=>{\"use strict\";var MHe=Mr();EHe.exports=function(t,r){var n=t.split(\" \"),i=n[0],a=n[1],o=MHe.isArrayOrTypedArray(r)?MHe.mean(r):r,s=.5+o/100,l=1.5+o/100,u=[\"\",\"\"],c=[0,0];switch(i){case\"top\":u[0]=\"top\",c[1]=-l;break;case\"bottom\":u[0]=\"bottom\",c[1]=l;break}switch(a){case\"left\":u[1]=\"right\",c[0]=-s;break;case\"right\":u[1]=\"left\",c[0]=s;break}var f;return u[0]&&u[1]?f=u.join(\"-\"):u[0]?f=u[0]:u[1]?f=u[1]:f=\"center\",{anchor:f,offset:c}}});var RHe=ye((y1r,IHe)=>{\"use strict\";var LHe=uo(),nv=Mr(),KGt=es().BADNUM,e7=rx(),kHe=Mu(),JGt=ao(),$Gt=S3(),t7=lu(),QGt=lJ().isSupportedFont,ejt=fJ(),tjt=rp().appendArrayPointValue,rjt=Pl().NEWLINES,ijt=Pl().BR_TAG_ALL;IHe.exports=function(t,r){var n=r[0].trace,i=n.visible===!0&&n._length!==0,a=n.fill!==\"none\",o=t7.hasLines(n),s=t7.hasMarkers(n),l=t7.hasText(n),u=s&&n.marker.symbol===\"circle\",c=s&&n.marker.symbol!==\"circle\",f=n.cluster&&n.cluster.enabled,h=QF(\"fill\"),d=QF(\"line\"),v=QF(\"circle\"),x=QF(\"symbol\"),b={fill:h,line:d,circle:v,symbol:x};if(!i)return b;var p;if((a||o)&&(p=e7.calcTraceToLineCoords(r)),a&&(h.geojson=e7.makePolygon(p),h.layout.visibility=\"visible\",nv.extendFlat(h.paint,{\"fill-color\":n.fillcolor})),o&&(d.geojson=e7.makeLine(p),d.layout.visibility=\"visible\",nv.extendFlat(d.paint,{\"line-width\":n.line.width,\"line-color\":n.line.color,\"line-opacity\":n.opacity})),u){var E=njt(r);v.geojson=E.geojson,v.layout.visibility=\"visible\",f&&(v.filter=[\"!\",[\"has\",\"point_count\"]],b.cluster={type:\"circle\",filter:[\"has\",\"point_count\"],layout:{visibility:\"visible\"},paint:{\"circle-color\":dJ(n.cluster.color,n.cluster.step),\"circle-radius\":dJ(n.cluster.size,n.cluster.step),\"circle-opacity\":dJ(n.cluster.opacity,n.cluster.step)}},b.clusterCount={type:\"symbol\",filter:[\"has\",\"point_count\"],paint:{},layout:{\"text-field\":\"{point_count_abbreviated}\",\"text-font\":CHe(n),\"text-size\":12}}),nv.extendFlat(v.paint,{\"circle-color\":E.mcc,\"circle-radius\":E.mrc,\"circle-opacity\":E.mo})}if(u&&f&&(v.filter=[\"!\",[\"has\",\"point_count\"]]),(c||l)&&(x.geojson=ajt(r,t),nv.extendFlat(x.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),c&&(nv.extendFlat(x.layout,{\"icon-size\":n.marker.size/10}),\"angle\"in n.marker&&n.marker.angle!==\"auto\"&&nv.extendFlat(x.layout,{\"icon-rotate\":{type:\"identity\",property:\"angle\"},\"icon-rotation-alignment\":\"map\"}),x.layout[\"icon-allow-overlap\"]=n.marker.allowoverlap,nv.extendFlat(x.paint,{\"icon-opacity\":n.opacity*n.marker.opacity,\"icon-color\":n.marker.color})),l)){var k=(n.marker||{}).size,A=ejt(n.textposition,k);nv.extendFlat(x.layout,{\"text-size\":n.textfont.size,\"text-anchor\":A.anchor,\"text-offset\":A.offset,\"text-font\":CHe(n)}),nv.extendFlat(x.paint,{\"text-color\":n.textfont.color,\"text-opacity\":n.opacity})}return b};function QF(e){return{type:e,geojson:e7.makeBlank(),layout:{visibility:\"none\"},filter:null,paint:{}}}function njt(e){var t=e[0].trace,r=t.marker,n=t.selectedpoints,i=nv.isArrayOrTypedArray(r.color),a=nv.isArrayOrTypedArray(r.size),o=nv.isArrayOrTypedArray(r.opacity),s;function l(k){return t.opacity*k}function u(k){return k/2}var c;i&&(kHe.hasColorscale(t,\"marker\")?c=kHe.makeColorScaleFuncFromTrace(r):c=nv.identity);var f;a&&(f=$Gt(t));var h;o&&(h=function(k){var A=LHe(k)?+nv.constrain(k,0,1):0;return l(A)});var d=[];for(s=0;s<e.length;s++){var v=e[s],x=v.lonlat;if(!PHe(x)){var b={};c&&(b.mcc=v.mcc=c(v.mc)),f&&(b.mrc=v.mrc=f(v.ms)),h&&(b.mo=h(v.mo)),n&&(b.selected=v.selected||0),d.push({type:\"Feature\",id:s+1,geometry:{type:\"Point\",coordinates:x},properties:b})}}var p;if(n)for(p=JGt.makeSelectedPointStyleFns(t),s=0;s<d.length;s++){var E=d[s].properties;p.selectedOpacityFn&&(E.mo=l(p.selectedOpacityFn(E))),p.selectedColorFn&&(E.mcc=p.selectedColorFn(E)),p.selectedSizeFn&&(E.mrc=p.selectedSizeFn(E))}return{geojson:{type:\"FeatureCollection\",features:d},mcc:i||p&&p.selectedColorFn?{type:\"identity\",property:\"mcc\"}:r.color,mrc:a||p&&p.selectedSizeFn?{type:\"identity\",property:\"mrc\"}:u(r.size),mo:o||p&&p.selectedOpacityFn?{type:\"identity\",property:\"mo\"}:l(r.opacity)}}function ajt(e,t){for(var r=t._fullLayout,n=e[0].trace,i=n.marker||{},a=i.symbol,o=i.angle,s=a!==\"circle\"?hJ(a):r7,l=o!==\"auto\"?hJ(o,!0):r7,u=t7.hasText(n)?hJ(n.text):r7,c=[],f=0;f<e.length;f++){var h=e[f];if(!PHe(h.lonlat)){var d=n.texttemplate,v;if(d){var x=Array.isArray(d)?d[f]||\"\":d,b=n._module.formatLabels(h,n,r),p={};tjt(p,n,h.i);var E=n._meta||{};v=nv.texttemplateString(x,b,r._d3locale,p,h,E)}else v=u(f);v&&(v=v.replace(rjt,\"\").replace(ijt,`\n", - "`)),c.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:h.lonlat},properties:{symbol:s(f),angle:l(f),text:v}})}}return{type:\"FeatureCollection\",features:c}}function hJ(e,t){return nv.isArrayOrTypedArray(e)?t?function(r){return LHe(e[r])?+e[r]:0}:function(r){return e[r]}:e?function(){return e}:r7}function r7(){return\"\"}function PHe(e){return e[0]===KGt}function dJ(e,t){var r;if(nv.isArrayOrTypedArray(e)&&nv.isArrayOrTypedArray(t)){r=[\"step\",[\"get\",\"point_count\"],e[0]];for(var n=1;n<e.length;n++)r.push(t[n-1],e[n])}else r=e;return r}function CHe(e){var t=e.textfont,r=t.family,n=t.style,i=t.weight,a=r.split(\" \"),o=a[a.length-1]===\"Italic\";o&&a.pop(),o=o||n===\"italic\";var s=a.join(\" \");i===\"bold\"&&a.indexOf(\"Bold\")===-1?s+=\" Bold\":i<=1e3&&(a[0]===\"Metropolis\"?(s=\"Metropolis\",i>850?s+=\" Black\":i>750?s+=\" Extra Bold\":i>650?s+=\" Bold\":i>550?s+=\" Semi Bold\":i>450?s+=\" Medium\":i>350?s+=\" Regular\":i>250?s+=\" Light\":i>150?s+=\" Extra Light\":s+=\" Thin\"):a.slice(0,2).join(\" \")===\"Open Sans\"?(s=\"Open Sans\",i>750?s+=\" Extrabold\":i>650?s+=\" Bold\":i>550?s+=\" Semibold\":i>350?s+=\" Regular\":s+=\" Light\"):a.slice(0,3).join(\" \")===\"Klokantech Noto Sans\"&&(s=\"Klokantech Noto Sans\",a[3]===\"CJK\"&&(s+=\" CJK\"),s+=i>500?\" Bold\":\" Regular\")),o&&(s+=\" Italic\"),s===\"Open Sans Regular Italic\"?s=\"Open Sans Italic\":s===\"Open Sans Regular Bold\"?s=\"Open Sans Bold\":s===\"Open Sans Regular Bold Italic\"?s=\"Open Sans Bold Italic\":s===\"Klokantech Noto Sans Regular Italic\"&&(s=\"Klokantech Noto Sans Italic\"),QGt(s)||(s=r);var l=s.split(\", \");return l}});var qHe=ye((_1r,FHe)=>{\"use strict\";var ojt=Mr(),DHe=RHe(),SA=wx().traceLayerPrefix,ng={cluster:[\"cluster\",\"clusterCount\",\"circle\"],nonCluster:[\"fill\",\"line\",\"circle\",\"symbol\"]};function zHe(e,t,r,n){this.type=\"scattermap\",this.subplot=e,this.uid=t,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:\"source-\"+t+\"-fill\",line:\"source-\"+t+\"-line\",circle:\"source-\"+t+\"-circle\",symbol:\"source-\"+t+\"-symbol\",cluster:\"source-\"+t+\"-circle\",clusterCount:\"source-\"+t+\"-circle\"},this.layerIds={fill:SA+t+\"-fill\",line:SA+t+\"-line\",circle:SA+t+\"-circle\",symbol:SA+t+\"-symbol\",cluster:SA+t+\"-cluster\",clusterCount:SA+t+\"-cluster-count\"},this.below=null}var Uk=zHe.prototype;Uk.addSource=function(e,t,r){var n={type:\"geojson\",data:t.geojson};r&&r.enabled&&ojt.extendFlat(n,{cluster:!0,clusterMaxZoom:r.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[e]);i?i.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[e],n)};Uk.setSourceData=function(e,t){this.subplot.map.getSource(this.sourceIds[e]).setData(t.geojson)};Uk.addLayer=function(e,t,r){var n={type:t.type,id:this.layerIds[e],source:this.sourceIds[e],layout:t.layout,paint:t.paint};t.filter&&(n.filter=t.filter);for(var i=this.layerIds[e],a,o=this.subplot.getMapLayers(),s=0;s<o.length;s++)if(o[s].id===i){a=!0;break}a?(this.subplot.setOptions(i,\"setLayoutProperty\",n.layout),n.layout.visibility===\"visible\"&&this.subplot.setOptions(i,\"setPaintProperty\",n.paint)):this.subplot.addLayer(n,r)};Uk.update=function(t){var r=t[0].trace,n=this.subplot,i=n.map,a=DHe(n.gd,t),o=n.belowLookup[\"trace-\"+this.uid],s=!!(r.cluster&&r.cluster.enabled),l=!!this.clusterEnabled,u=this;function c(k){k||u.addSource(\"circle\",a.circle,r.cluster);for(var A=ng.cluster,L=0;L<A.length;L++){var _=A[L],C=a[_];u.addLayer(_,C,o)}}function f(k){for(var A=ng.cluster,L=A.length-1;L>=0;L--){var _=A[L];i.removeLayer(u.layerIds[_])}k||i.removeSource(u.sourceIds.circle)}function h(k){for(var A=ng.nonCluster,L=0;L<A.length;L++){var _=A[L],C=a[_];k||u.addSource(_,C),u.addLayer(_,C,o)}}function d(k){for(var A=ng.nonCluster,L=A.length-1;L>=0;L--){var _=A[L];i.removeLayer(u.layerIds[_]),k||i.removeSource(u.sourceIds[_])}}function v(k){l?f(k):d(k)}function x(k){s?c(k):h(k)}function b(){for(var k=s?ng.cluster:ng.nonCluster,A=0;A<k.length;A++){var L=k[A],_=a[L];_&&(n.setOptions(u.layerIds[L],\"setLayoutProperty\",_.layout),_.layout.visibility===\"visible\"&&(L!==\"cluster\"&&u.setSourceData(L,_),n.setOptions(u.layerIds[L],\"setPaintProperty\",_.paint)))}}var p=this.isHidden,E=r.visible!==!0;E?p||v():p?E||x():l!==s?(v(),x()):(this.below!==o&&(v(!0),x(!0)),b()),this.clusterEnabled=s,this.isHidden=E,this.below=o,t[0].trace._glTrace=this};Uk.dispose=function(){for(var t=this.subplot.map,r=this.clusterEnabled?ng.cluster:ng.nonCluster,n=r.length-1;n>=0;n--){var i=r[n];t.removeLayer(this.layerIds[i]),t.removeSource(this.sourceIds[i])}};FHe.exports=function(t,r){var n=r[0].trace,i=n.cluster&&n.cluster.enabled,a=n.visible!==!0,o=new zHe(t,n.uid,i,a),s=DHe(t.gd,r),l=o.below=t.belowLookup[\"trace-\"+n.uid],u,c,f;if(i)for(o.addSource(\"circle\",s.circle,n.cluster),u=0;u<ng.cluster.length;u++)c=ng.cluster[u],f=s[c],o.addLayer(c,f,l);else for(u=0;u<ng.nonCluster.length;u++)c=ng.nonCluster[u],f=s[c],o.addSource(c,f,n.cluster),o.addLayer(c,f,l);return r[0].trace._glTrace=o,o}});var i7=ye((x1r,BHe)=>{\"use strict\";var sjt=Nc(),vJ=Mr(),ljt=oT(),ujt=vJ.fillText,cjt=es().BADNUM,fjt=wx().traceLayerPrefix;function hjt(e,t,r){var n=e.cd,i=n[0].trace,a=e.xa,o=e.ya,s=e.subplot,l=[],u=fjt+i.uid+\"-circle\",c=i.cluster&&i.cluster.enabled;if(c){var f=s.map.queryRenderedFeatures(null,{layers:[u]});l=f.map(function(M){return M.id})}var h=t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360),d=h*360,v=t-d;function x(M){var g=M.lonlat;if(g[0]===cjt||c&&l.indexOf(M.i+1)===-1)return 1/0;var P=vJ.modHalf(g[0],360),T=g[1],F=s.project([P,T]),q=F.x-a.c2p([v,T]),V=F.y-o.c2p([P,r]),H=Math.max(3,M.mrc||0);return Math.max(Math.sqrt(q*q+V*V)-H,1-3/H)}if(sjt.getClosest(n,x,e),e.index!==!1){var b=n[e.index],p=b.lonlat,E=[vJ.modHalf(p[0],360)+d,p[1]],k=a.c2p(E),A=o.c2p(E),L=b.mrc||1;e.x0=k-L,e.x1=k+L,e.y0=A-L,e.y1=A+L;var _={};_[i.subplot]={_subplot:s};var C=i._module.formatLabels(b,i,_);return e.lonLabel=C.lonLabel,e.latLabel=C.latLabel,e.color=ljt(i,b),e.extraText=OHe(i,b,n[0].t.labels),e.hovertemplate=i.hovertemplate,[e]}}function OHe(e,t,r){if(e.hovertemplate)return;var n=t.hi||e.hoverinfo,i=n.split(\"+\"),a=i.indexOf(\"all\")!==-1,o=i.indexOf(\"lon\")!==-1,s=i.indexOf(\"lat\")!==-1,l=t.lonlat,u=[];function c(f){return f+\"\\xB0\"}return a||o&&s?u.push(\"(\"+c(l[1])+\", \"+c(l[0])+\")\"):o?u.push(r.lon+c(l[0])):s&&u.push(r.lat+c(l[1])),(a||i.indexOf(\"text\")!==-1)&&ujt(t,e,u),u.join(\"<br>\")}BHe.exports={hoverPoints:hjt,getExtraText:OHe}});var UHe=ye((b1r,NHe)=>{\"use strict\";NHe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t}});var HHe=ye((w1r,VHe)=>{\"use strict\";var djt=Mr(),vjt=lu(),pjt=es().BADNUM;VHe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l;if(!vjt.hasMarkers(s))return[];if(r===!1)for(l=0;l<n.length;l++)n[l].selected=0;else for(l=0;l<n.length;l++){var u=n[l],c=u.lonlat;if(c[0]!==pjt){var f=[djt.modHalf(c[0],360),c[1]],h=[i.c2p(f),a.c2p(f)];r.contains(h,null,l,t)?(o.push({pointNumber:l,lon:c[0],lat:c[1]}),u.selected=1):u.selected=0}}return o}});var jHe=ye((pJ,gJ)=>{(function(e,t){typeof pJ==\"object\"&&typeof gJ!=\"undefined\"?gJ.exports=t():(e=typeof globalThis!=\"undefined\"?globalThis:e||self,e.maplibregl=t())})(pJ,function(){\"use strict\";var e={},t={};function r(i,a,o){if(t[i]=o,i===\"index\"){var s=\"var sharedModule = {}; (\"+t.shared+\")(sharedModule); (\"+t.worker+\")(sharedModule);\",l={};return t.shared(l),t.index(e,l),typeof window!=\"undefined\"&&e.setWorkerUrl(window.URL.createObjectURL(new Blob([s],{type:\"text/javascript\"}))),e}}r(\"shared\",[\"exports\"],function(i){\"use strict\";function a(R,S,D,j){return new(D||(D=Promise))(function(te,ue){function ve(at){try{Ze(j.next(at))}catch(Tt){ue(Tt)}}function De(at){try{Ze(j.throw(at))}catch(Tt){ue(Tt)}}function Ze(at){var Tt;at.done?te(at.value):(Tt=at.value,Tt instanceof D?Tt:new D(function(Ft){Ft(Tt)})).then(ve,De)}Ze((j=j.apply(R,S||[])).next())})}function o(R){return R&&R.__esModule&&Object.prototype.hasOwnProperty.call(R,\"default\")?R.default:R}typeof SuppressedError==\"function\"&&SuppressedError;var s=l;function l(R,S){this.x=R,this.y=S}l.prototype={clone:function(){return new l(this.x,this.y)},add:function(R){return this.clone()._add(R)},sub:function(R){return this.clone()._sub(R)},multByPoint:function(R){return this.clone()._multByPoint(R)},divByPoint:function(R){return this.clone()._divByPoint(R)},mult:function(R){return this.clone()._mult(R)},div:function(R){return this.clone()._div(R)},rotate:function(R){return this.clone()._rotate(R)},rotateAround:function(R,S){return this.clone()._rotateAround(R,S)},matMult:function(R){return this.clone()._matMult(R)},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(R){return this.x===R.x&&this.y===R.y},dist:function(R){return Math.sqrt(this.distSqr(R))},distSqr:function(R){var S=R.x-this.x,D=R.y-this.y;return S*S+D*D},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(R){return Math.atan2(this.y-R.y,this.x-R.x)},angleWith:function(R){return this.angleWithSep(R.x,R.y)},angleWithSep:function(R,S){return Math.atan2(this.x*S-this.y*R,this.x*R+this.y*S)},_matMult:function(R){var S=R[2]*this.x+R[3]*this.y;return this.x=R[0]*this.x+R[1]*this.y,this.y=S,this},_add:function(R){return this.x+=R.x,this.y+=R.y,this},_sub:function(R){return this.x-=R.x,this.y-=R.y,this},_mult:function(R){return this.x*=R,this.y*=R,this},_div:function(R){return this.x/=R,this.y/=R,this},_multByPoint:function(R){return this.x*=R.x,this.y*=R.y,this},_divByPoint:function(R){return this.x/=R.x,this.y/=R.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var R=this.y;return this.y=this.x,this.x=-R,this},_rotate:function(R){var S=Math.cos(R),D=Math.sin(R),j=D*this.x+S*this.y;return this.x=S*this.x-D*this.y,this.y=j,this},_rotateAround:function(R,S){var D=Math.cos(R),j=Math.sin(R),te=S.y+j*(this.x-S.x)+D*(this.y-S.y);return this.x=S.x+D*(this.x-S.x)-j*(this.y-S.y),this.y=te,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},l.convert=function(R){return R instanceof l?R:Array.isArray(R)?new l(R[0],R[1]):R};var u=o(s),c=f;function f(R,S,D,j){this.cx=3*R,this.bx=3*(D-R)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*S,this.by=3*(j-S)-this.cy,this.ay=1-this.cy-this.by,this.p1x=R,this.p1y=S,this.p2x=D,this.p2y=j}f.prototype={sampleCurveX:function(R){return((this.ax*R+this.bx)*R+this.cx)*R},sampleCurveY:function(R){return((this.ay*R+this.by)*R+this.cy)*R},sampleCurveDerivativeX:function(R){return(3*this.ax*R+2*this.bx)*R+this.cx},solveCurveX:function(R,S){if(S===void 0&&(S=1e-6),R<0)return 0;if(R>1)return 1;for(var D=R,j=0;j<8;j++){var te=this.sampleCurveX(D)-R;if(Math.abs(te)<S)return D;var ue=this.sampleCurveDerivativeX(D);if(Math.abs(ue)<1e-6)break;D-=te/ue}var ve=0,De=1;for(D=R,j=0;j<20&&(te=this.sampleCurveX(D),!(Math.abs(te-R)<S));j++)R>te?ve=D:De=D,D=.5*(De-ve)+ve;return D},solve:function(R,S){return this.sampleCurveY(this.solveCurveX(R,S))}};var h=o(c);let d,v;function x(){return d==null&&(d=typeof OffscreenCanvas!=\"undefined\"&&new OffscreenCanvas(1,1).getContext(\"2d\")&&typeof createImageBitmap==\"function\"),d}function b(){if(v==null&&(v=!1,x())){let S=new OffscreenCanvas(5,5).getContext(\"2d\",{willReadFrequently:!0});if(S){for(let j=0;j<5*5;j++){let te=4*j;S.fillStyle=`rgb(${te},${te+1},${te+2})`,S.fillRect(j%5,Math.floor(j/5),1,1)}let D=S.getImageData(0,0,5,5).data;for(let j=0;j<5*5*4;j++)if(j%4!=3&&D[j]!==j){v=!0;break}}}return v||!1}function p(R,S,D,j){let te=new h(R,S,D,j);return ue=>te.solve(ue)}let E=p(.25,.1,.25,1);function k(R,S,D){return Math.min(D,Math.max(S,R))}function A(R,S,D){let j=D-S,te=((R-S)%j+j)%j+S;return te===S?D:te}function L(R,...S){for(let D of S)for(let j in D)R[j]=D[j];return R}let _=1;function C(R,S,D){let j={};for(let te in R)j[te]=S.call(this,R[te],te,R);return j}function M(R,S,D){let j={};for(let te in R)S.call(this,R[te],te,R)&&(j[te]=R[te]);return j}function g(R){return Array.isArray(R)?R.map(g):typeof R==\"object\"&&R?C(R,g):R}let P={};function T(R){P[R]||(typeof console!=\"undefined\"&&console.warn(R),P[R]=!0)}function F(R,S,D){return(D.y-R.y)*(S.x-R.x)>(S.y-R.y)*(D.x-R.x)}function q(R){return typeof WorkerGlobalScope!=\"undefined\"&&R!==void 0&&R instanceof WorkerGlobalScope}let V=null;function H(R){return typeof ImageBitmap!=\"undefined\"&&R instanceof ImageBitmap}let X=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";function G(R,S,D,j,te){return a(this,void 0,void 0,function*(){if(typeof VideoFrame==\"undefined\")throw new Error(\"VideoFrame not supported\");let ue=new VideoFrame(R,{timestamp:0});try{let ve=ue==null?void 0:ue.format;if(!ve||!ve.startsWith(\"BGR\")&&!ve.startsWith(\"RGB\"))throw new Error(`Unrecognized format ${ve}`);let De=ve.startsWith(\"BGR\"),Ze=new Uint8ClampedArray(j*te*4);if(yield ue.copyTo(Ze,function(at,Tt,Ft,Qt,sr){let Tr=4*Math.max(-Tt,0),Pr=(Math.max(0,Ft)-Ft)*Qt*4+Tr,$r=4*Qt,ni=Math.max(0,Tt),Di=Math.max(0,Ft);return{rect:{x:ni,y:Di,width:Math.min(at.width,Tt+Qt)-ni,height:Math.min(at.height,Ft+sr)-Di},layout:[{offset:Pr,stride:$r}]}}(R,S,D,j,te)),De)for(let at=0;at<Ze.length;at+=4){let Tt=Ze[at];Ze[at]=Ze[at+2],Ze[at+2]=Tt}return Ze}finally{ue.close()}})}let N,W,re=\"AbortError\";function ae(){return new Error(re)}let _e={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:\"\"};function Me(R){return _e.REGISTERED_PROTOCOLS[R.substring(0,R.indexOf(\"://\"))]}let ke=\"global-dispatcher\";class ge extends Error{constructor(S,D,j,te){super(`AJAXError: ${D} (${S}): ${j}`),this.status=S,this.statusText=D,this.url=j,this.body=te}}let ie=()=>q(self)?self.worker&&self.worker.referrer:(window.location.protocol===\"blob:\"?window.parent:window).location.href,Te=function(R,S){if(/:\\/\\//.test(R.url)&&!/^https?:|^file:/.test(R.url)){let j=Me(R.url);if(j)return j(R,S);if(q(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:R,targetMapId:ke},S)}if(!(/^file:/.test(D=R.url)||/^file:/.test(ie())&&!/^\\w+:/.test(D))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,\"signal\"))return function(j,te){return a(this,void 0,void 0,function*(){let ue=new Request(j.url,{method:j.method||\"GET\",body:j.body,credentials:j.credentials,headers:j.headers,cache:j.cache,referrer:ie(),signal:te.signal});j.type!==\"json\"||ue.headers.has(\"Accept\")||ue.headers.set(\"Accept\",\"application/json\");let ve=yield fetch(ue);if(!ve.ok){let at=yield ve.blob();throw new ge(ve.status,ve.statusText,j.url,at)}let De;De=j.type===\"arrayBuffer\"||j.type===\"image\"?ve.arrayBuffer():j.type===\"json\"?ve.json():ve.text();let Ze=yield De;if(te.signal.aborted)throw ae();return{data:Ze,cacheControl:ve.headers.get(\"Cache-Control\"),expires:ve.headers.get(\"Expires\")}})}(R,S);if(q(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:R,mustQueue:!0,targetMapId:ke},S)}var D;return function(j,te){return new Promise((ue,ve)=>{var De;let Ze=new XMLHttpRequest;Ze.open(j.method||\"GET\",j.url,!0),j.type!==\"arrayBuffer\"&&j.type!==\"image\"||(Ze.responseType=\"arraybuffer\");for(let at in j.headers)Ze.setRequestHeader(at,j.headers[at]);j.type===\"json\"&&(Ze.responseType=\"text\",!((De=j.headers)===null||De===void 0)&&De.Accept||Ze.setRequestHeader(\"Accept\",\"application/json\")),Ze.withCredentials=j.credentials===\"include\",Ze.onerror=()=>{ve(new Error(Ze.statusText))},Ze.onload=()=>{if(!te.signal.aborted)if((Ze.status>=200&&Ze.status<300||Ze.status===0)&&Ze.response!==null){let at=Ze.response;if(j.type===\"json\")try{at=JSON.parse(Ze.response)}catch(Tt){return void ve(Tt)}ue({data:at,cacheControl:Ze.getResponseHeader(\"Cache-Control\"),expires:Ze.getResponseHeader(\"Expires\")})}else{let at=new Blob([Ze.response],{type:Ze.getResponseHeader(\"Content-Type\")});ve(new ge(Ze.status,Ze.statusText,j.url,at))}},te.signal.addEventListener(\"abort\",()=>{Ze.abort(),ve(ae())}),Ze.send(j.body)})}(R,S)};function Ee(R){if(!R||R.indexOf(\"://\")<=0||R.indexOf(\"data:image/\")===0||R.indexOf(\"blob:\")===0)return!0;let S=new URL(R),D=window.location;return S.protocol===D.protocol&&S.host===D.host}function Ae(R,S,D){D[R]&&D[R].indexOf(S)!==-1||(D[R]=D[R]||[],D[R].push(S))}function ze(R,S,D){if(D&&D[R]){let j=D[R].indexOf(S);j!==-1&&D[R].splice(j,1)}}class Ce{constructor(S,D={}){L(this,D),this.type=S}}class me extends Ce{constructor(S,D={}){super(\"error\",L({error:S},D))}}class Re{on(S,D){return this._listeners=this._listeners||{},Ae(S,D,this._listeners),this}off(S,D){return ze(S,D,this._listeners),ze(S,D,this._oneTimeListeners),this}once(S,D){return D?(this._oneTimeListeners=this._oneTimeListeners||{},Ae(S,D,this._oneTimeListeners),this):new Promise(j=>this.once(S,j))}fire(S,D){typeof S==\"string\"&&(S=new Ce(S,D||{}));let j=S.type;if(this.listens(j)){S.target=this;let te=this._listeners&&this._listeners[j]?this._listeners[j].slice():[];for(let De of te)De.call(this,S);let ue=this._oneTimeListeners&&this._oneTimeListeners[j]?this._oneTimeListeners[j].slice():[];for(let De of ue)ze(j,De,this._oneTimeListeners),De.call(this,S);let ve=this._eventedParent;ve&&(L(S,typeof this._eventedParentData==\"function\"?this._eventedParentData():this._eventedParentData),ve.fire(S))}else S instanceof me&&console.error(S.error);return this}listens(S){return this._listeners&&this._listeners[S]&&this._listeners[S].length>0||this._oneTimeListeners&&this._oneTimeListeners[S]&&this._oneTimeListeners[S].length>0||this._eventedParent&&this._eventedParent.listens(S)}setEventedParent(S,D){return this._eventedParent=S,this._eventedParentData=D,this}}var ce={$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\"}}};let Ge=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"];function nt(R,S){let D={};for(let j in R)j!==\"ref\"&&(D[j]=R[j]);return Ge.forEach(j=>{j in S&&(D[j]=S[j])}),D}function ct(R,S){if(Array.isArray(R)){if(!Array.isArray(S)||R.length!==S.length)return!1;for(let D=0;D<R.length;D++)if(!ct(R[D],S[D]))return!1;return!0}if(typeof R==\"object\"&&R!==null&&S!==null){if(typeof S!=\"object\"||Object.keys(R).length!==Object.keys(S).length)return!1;for(let D in R)if(!ct(R[D],S[D]))return!1;return!0}return R===S}function qt(R,S){R.push(S)}function rt(R,S,D){qt(D,{command:\"addSource\",args:[R,S[R]]})}function ot(R,S,D){qt(S,{command:\"removeSource\",args:[R]}),D[R]=!0}function Rt(R,S,D,j){ot(R,D,j),rt(R,S,D)}function kt(R,S,D){let j;for(j in R[D])if(Object.prototype.hasOwnProperty.call(R[D],j)&&j!==\"data\"&&!ct(R[D][j],S[D][j]))return!1;for(j in S[D])if(Object.prototype.hasOwnProperty.call(S[D],j)&&j!==\"data\"&&!ct(R[D][j],S[D][j]))return!1;return!0}function Ct(R,S,D,j,te,ue){R=R||{},S=S||{};for(let ve in R)Object.prototype.hasOwnProperty.call(R,ve)&&(ct(R[ve],S[ve])||D.push({command:ue,args:[j,ve,S[ve],te]}));for(let ve in S)Object.prototype.hasOwnProperty.call(S,ve)&&!Object.prototype.hasOwnProperty.call(R,ve)&&(ct(R[ve],S[ve])||D.push({command:ue,args:[j,ve,S[ve],te]}))}function Yt(R){return R.id}function xr(R,S){return R[S.id]=S,R}class er{constructor(S,D,j,te){this.message=(S?`${S}: `:\"\")+j,te&&(this.identifier=te),D!=null&&D.__line__&&(this.line=D.__line__)}}function Ke(R,...S){for(let D of S)for(let j in D)R[j]=D[j];return R}class xt extends Error{constructor(S,D){super(D),this.message=D,this.key=S}}class bt{constructor(S,D=[]){this.parent=S,this.bindings={};for(let[j,te]of D)this.bindings[j]=te}concat(S){return new bt(this,S)}get(S){if(this.bindings[S])return this.bindings[S];if(this.parent)return this.parent.get(S);throw new Error(`${S} not found in scope.`)}has(S){return!!this.bindings[S]||!!this.parent&&this.parent.has(S)}}let Lt={kind:\"null\"},St={kind:\"number\"},Et={kind:\"string\"},dt={kind:\"boolean\"},Ht={kind:\"color\"},$t={kind:\"object\"},fr={kind:\"value\"},_r={kind:\"collator\"},Br={kind:\"formatted\"},Or={kind:\"padding\"},Nr={kind:\"resolvedImage\"},ut={kind:\"variableAnchorOffsetCollection\"};function Ne(R,S){return{kind:\"array\",itemType:R,N:S}}function Ye(R){if(R.kind===\"array\"){let S=Ye(R.itemType);return typeof R.N==\"number\"?`array<${S}, ${R.N}>`:R.itemType.kind===\"value\"?\"array\":`array<${S}>`}return R.kind}let Ve=[Lt,St,Et,dt,Ht,Br,$t,Ne(fr),Or,Nr,ut];function Xe(R,S){if(S.kind===\"error\")return null;if(R.kind===\"array\"){if(S.kind===\"array\"&&(S.N===0&&S.itemType.kind===\"value\"||!Xe(R.itemType,S.itemType))&&(typeof R.N!=\"number\"||R.N===S.N))return null}else{if(R.kind===S.kind)return null;if(R.kind===\"value\"){for(let D of Ve)if(!Xe(D,S))return null}}return`Expected ${Ye(R)} but found ${Ye(S)} instead.`}function ht(R,S){return S.some(D=>D.kind===R.kind)}function Le(R,S){return S.some(D=>D===\"null\"?R===null:D===\"array\"?Array.isArray(R):D===\"object\"?R&&!Array.isArray(R)&&typeof R==\"object\":D===typeof R)}function xe(R,S){return R.kind===\"array\"&&S.kind===\"array\"?R.itemType.kind===S.itemType.kind&&typeof R.N==\"number\":R.kind===S.kind}let Se=.96422,lt=.82521,Gt=4/29,Vt=6/29,ar=3*Vt*Vt,Qr=Vt*Vt*Vt,ai=Math.PI/180,jr=180/Math.PI;function ri(R){return(R%=360)<0&&(R+=360),R}function bi([R,S,D,j]){let te,ue,ve=Wi((.2225045*(R=nn(R))+.7168786*(S=nn(S))+.0606169*(D=nn(D)))/1);R===S&&S===D?te=ue=ve:(te=Wi((.4360747*R+.3850649*S+.1430804*D)/Se),ue=Wi((.0139322*R+.0971045*S+.7141733*D)/lt));let De=116*ve-16;return[De<0?0:De,500*(te-ve),200*(ve-ue),j]}function nn(R){return R<=.04045?R/12.92:Math.pow((R+.055)/1.055,2.4)}function Wi(R){return R>Qr?Math.pow(R,1/3):R/ar+Gt}function Ni([R,S,D,j]){let te=(R+16)/116,ue=isNaN(S)?te:te+S/500,ve=isNaN(D)?te:te-D/200;return te=1*$i(te),ue=Se*$i(ue),ve=lt*$i(ve),[_n(3.1338561*ue-1.6168667*te-.4906146*ve),_n(-.9787684*ue+1.9161415*te+.033454*ve),_n(.0719453*ue-.2289914*te+1.4052427*ve),j]}function _n(R){return(R=R<=.00304?12.92*R:1.055*Math.pow(R,1/2.4)-.055)<0?0:R>1?1:R}function $i(R){return R>Vt?R*R*R:ar*(R-Gt)}function zn(R){return parseInt(R.padEnd(2,R),16)/255}function Wn(R,S){return It(S?R/100:R,0,1)}function It(R,S,D){return Math.min(Math.max(S,R),D)}function ft(R){return!R.some(Number.isNaN)}let jt={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 Zt{constructor(S,D,j,te=1,ue=!0){this.r=S,this.g=D,this.b=j,this.a=te,ue||(this.r*=te,this.g*=te,this.b*=te,te||this.overwriteGetter(\"rgb\",[S,D,j,te]))}static parse(S){if(S instanceof Zt)return S;if(typeof S!=\"string\")return;let D=function(j){if((j=j.toLowerCase().trim())===\"transparent\")return[0,0,0,0];let te=jt[j];if(te){let[ve,De,Ze]=te;return[ve/255,De/255,Ze/255,1]}if(j.startsWith(\"#\")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(j)){let ve=j.length<6?1:2,De=1;return[zn(j.slice(De,De+=ve)),zn(j.slice(De,De+=ve)),zn(j.slice(De,De+=ve)),zn(j.slice(De,De+ve)||\"ff\")]}if(j.startsWith(\"rgb\")){let ve=j.match(/^rgba?\\(\\s*([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(ve){let[De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di]=ve,pi=[Tt||\" \",sr||\" \",$r].join(\"\");if(pi===\" \"||pi===\" /\"||pi===\",,\"||pi===\",,,\"){let ki=[at,Qt,Pr].join(\"\"),Zi=ki===\"%%%\"?100:ki===\"\"?255:0;if(Zi){let ta=[It(+Ze/Zi,0,1),It(+Ft/Zi,0,1),It(+Tr/Zi,0,1),ni?Wn(+ni,Di):1];if(ft(ta))return ta}}return}}let ue=j.match(/^hsla?\\(\\s*([\\de.+-]+)(?:deg)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(ue){let[ve,De,Ze,at,Tt,Ft,Qt,sr,Tr]=ue,Pr=[Ze||\" \",Tt||\" \",Qt].join(\"\");if(Pr===\" \"||Pr===\" /\"||Pr===\",,\"||Pr===\",,,\"){let $r=[+De,It(+at,0,100),It(+Ft,0,100),sr?Wn(+sr,Tr):1];if(ft($r))return function([ni,Di,pi,ki]){function Zi(ta){let Va=(ta+ni/30)%12,Io=Di*Math.min(pi,1-pi);return pi-Io*Math.max(-1,Math.min(Va-3,9-Va,1))}return ni=ri(ni),Di/=100,pi/=100,[Zi(0),Zi(8),Zi(4),ki]}($r)}}}(S);return D?new Zt(...D,!1):void 0}get rgb(){let{r:S,g:D,b:j,a:te}=this,ue=te||1/0;return this.overwriteGetter(\"rgb\",[S/ue,D/ue,j/ue,te])}get hcl(){return this.overwriteGetter(\"hcl\",function(S){let[D,j,te,ue]=bi(S),ve=Math.sqrt(j*j+te*te);return[Math.round(1e4*ve)?ri(Math.atan2(te,j)*jr):NaN,ve,D,ue]}(this.rgb))}get lab(){return this.overwriteGetter(\"lab\",bi(this.rgb))}overwriteGetter(S,D){return Object.defineProperty(this,S,{value:D}),D}toString(){let[S,D,j,te]=this.rgb;return`rgba(${[S,D,j].map(ue=>Math.round(255*ue)).join(\",\")},${te})`}}Zt.black=new Zt(0,0,0,1),Zt.white=new Zt(1,1,1,1),Zt.transparent=new Zt(0,0,0,0),Zt.red=new Zt(1,0,0,1);class yr{constructor(S,D,j){this.sensitivity=S?D?\"variant\":\"case\":D?\"accent\":\"base\",this.locale=j,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})}compare(S,D){return this.collator.compare(S,D)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Fr{constructor(S,D,j,te,ue){this.text=S,this.image=D,this.scale=j,this.fontStack=te,this.textColor=ue}}class Zr{constructor(S){this.sections=S}static fromString(S){return new Zr([new Fr(S,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(S=>S.text.length!==0||S.image&&S.image.name.length!==0)}static factory(S){return S instanceof Zr?S:Zr.fromString(S)}toString(){return this.sections.length===0?\"\":this.sections.map(S=>S.text).join(\"\")}}class Vr{constructor(S){this.values=S.slice()}static parse(S){if(S instanceof Vr)return S;if(typeof S==\"number\")return new Vr([S,S,S,S]);if(Array.isArray(S)&&!(S.length<1||S.length>4)){for(let D of S)if(typeof D!=\"number\")return;switch(S.length){case 1:S=[S[0],S[0],S[0],S[0]];break;case 2:S=[S[0],S[1],S[0],S[1]];break;case 3:S=[S[0],S[1],S[2],S[1]]}return new Vr(S)}}toString(){return JSON.stringify(this.values)}}let gi=new Set([\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"]);class Si{constructor(S){this.values=S.slice()}static parse(S){if(S instanceof Si)return S;if(Array.isArray(S)&&!(S.length<1)&&S.length%2==0){for(let D=0;D<S.length;D+=2){let j=S[D],te=S[D+1];if(typeof j!=\"string\"||!gi.has(j)||!Array.isArray(te)||te.length!==2||typeof te[0]!=\"number\"||typeof te[1]!=\"number\")return}return new Si(S)}}toString(){return JSON.stringify(this.values)}}class Mi{constructor(S){this.name=S.name,this.available=S.available}toString(){return this.name}static fromString(S){return S?new Mi({name:S,available:!1}):null}}function Pi(R,S,D,j){return typeof R==\"number\"&&R>=0&&R<=255&&typeof S==\"number\"&&S>=0&&S<=255&&typeof D==\"number\"&&D>=0&&D<=255?j===void 0||typeof j==\"number\"&&j>=0&&j<=1?null:`Invalid rgba value [${[R,S,D,j].join(\", \")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof j==\"number\"?[R,S,D,j]:[R,S,D]).join(\", \")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Gi(R){if(R===null||typeof R==\"string\"||typeof R==\"boolean\"||typeof R==\"number\"||R instanceof Zt||R instanceof yr||R instanceof Zr||R instanceof Vr||R instanceof Si||R instanceof Mi)return!0;if(Array.isArray(R)){for(let S of R)if(!Gi(S))return!1;return!0}if(typeof R==\"object\"){for(let S in R)if(!Gi(R[S]))return!1;return!0}return!1}function Ki(R){if(R===null)return Lt;if(typeof R==\"string\")return Et;if(typeof R==\"boolean\")return dt;if(typeof R==\"number\")return St;if(R instanceof Zt)return Ht;if(R instanceof yr)return _r;if(R instanceof Zr)return Br;if(R instanceof Vr)return Or;if(R instanceof Si)return ut;if(R instanceof Mi)return Nr;if(Array.isArray(R)){let S=R.length,D;for(let j of R){let te=Ki(j);if(D){if(D===te)continue;D=fr;break}D=te}return Ne(D||fr,S)}return $t}function ka(R){let S=typeof R;return R===null?\"\":S===\"string\"||S===\"number\"||S===\"boolean\"?String(R):R instanceof Zt||R instanceof Zr||R instanceof Vr||R instanceof Si||R instanceof Mi?R.toString():JSON.stringify(R)}class jn{constructor(S,D){this.type=S,this.value=D}static parse(S,D){if(S.length!==2)return D.error(`'literal' expression requires exactly one argument, but found ${S.length-1} instead.`);if(!Gi(S[1]))return D.error(\"invalid value\");let j=S[1],te=Ki(j),ue=D.expectedType;return te.kind!==\"array\"||te.N!==0||!ue||ue.kind!==\"array\"||typeof ue.N==\"number\"&&ue.N!==0||(te=ue),new jn(te,j)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class la{constructor(S){this.name=\"ExpressionEvaluationError\",this.message=S}toJSON(){return this.message}}let Fa={string:Et,number:St,boolean:dt,object:$t};class Ra{constructor(S,D){this.type=S,this.args=D}static parse(S,D){if(S.length<2)return D.error(\"Expected at least one argument.\");let j,te=1,ue=S[0];if(ue===\"array\"){let De,Ze;if(S.length>2){let at=S[1];if(typeof at!=\"string\"||!(at in Fa)||at===\"object\")return D.error('The item type argument of \"array\" must be one of string, number, boolean',1);De=Fa[at],te++}else De=fr;if(S.length>3){if(S[2]!==null&&(typeof S[2]!=\"number\"||S[2]<0||S[2]!==Math.floor(S[2])))return D.error('The length argument to \"array\" must be a positive integer literal',2);Ze=S[2],te++}j=Ne(De,Ze)}else{if(!Fa[ue])throw new Error(`Types doesn't contain name = ${ue}`);j=Fa[ue]}let ve=[];for(;te<S.length;te++){let De=D.parse(S[te],te,fr);if(!De)return null;ve.push(De)}return new Ra(j,ve)}evaluate(S){for(let D=0;D<this.args.length;D++){let j=this.args[D].evaluate(S);if(!Xe(this.type,Ki(j)))return j;if(D===this.args.length-1)throw new la(`Expected value to be of type ${Ye(this.type)}, but found ${Ye(Ki(j))} instead.`)}throw new Error}eachChild(S){this.args.forEach(S)}outputDefined(){return this.args.every(S=>S.outputDefined())}}let jo={\"to-boolean\":dt,\"to-color\":Ht,\"to-number\":St,\"to-string\":Et};class oa{constructor(S,D){this.type=S,this.args=D}static parse(S,D){if(S.length<2)return D.error(\"Expected at least one argument.\");let j=S[0];if(!jo[j])throw new Error(`Can't parse ${j} as it is not part of the known types`);if((j===\"to-boolean\"||j===\"to-string\")&&S.length!==2)return D.error(\"Expected one argument.\");let te=jo[j],ue=[];for(let ve=1;ve<S.length;ve++){let De=D.parse(S[ve],ve,fr);if(!De)return null;ue.push(De)}return new oa(te,ue)}evaluate(S){switch(this.type.kind){case\"boolean\":return!!this.args[0].evaluate(S);case\"color\":{let D,j;for(let te of this.args){if(D=te.evaluate(S),j=null,D instanceof Zt)return D;if(typeof D==\"string\"){let ue=S.parseColor(D);if(ue)return ue}else if(Array.isArray(D)&&(j=D.length<3||D.length>4?`Invalid rbga value ${JSON.stringify(D)}: expected an array containing either three or four numeric values.`:Pi(D[0],D[1],D[2],D[3]),!j))return new Zt(D[0]/255,D[1]/255,D[2]/255,D[3])}throw new la(j||`Could not parse color from value '${typeof D==\"string\"?D:JSON.stringify(D)}'`)}case\"padding\":{let D;for(let j of this.args){D=j.evaluate(S);let te=Vr.parse(D);if(te)return te}throw new la(`Could not parse padding from value '${typeof D==\"string\"?D:JSON.stringify(D)}'`)}case\"variableAnchorOffsetCollection\":{let D;for(let j of this.args){D=j.evaluate(S);let te=Si.parse(D);if(te)return te}throw new la(`Could not parse variableAnchorOffsetCollection from value '${typeof D==\"string\"?D:JSON.stringify(D)}'`)}case\"number\":{let D=null;for(let j of this.args){if(D=j.evaluate(S),D===null)return 0;let te=Number(D);if(!isNaN(te))return te}throw new la(`Could not convert ${JSON.stringify(D)} to number.`)}case\"formatted\":return Zr.fromString(ka(this.args[0].evaluate(S)));case\"resolvedImage\":return Mi.fromString(ka(this.args[0].evaluate(S)));default:return ka(this.args[0].evaluate(S))}}eachChild(S){this.args.forEach(S)}outputDefined(){return this.args.every(S=>S.outputDefined())}}let Sn=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];class Ha{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?typeof this.feature.type==\"number\"?Sn[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(S){let D=this._parseColorCache[S];return D||(D=this._parseColorCache[S]=Zt.parse(S)),D}}class oo{constructor(S,D,j=[],te,ue=new bt,ve=[]){this.registry=S,this.path=j,this.key=j.map(De=>`[${De}]`).join(\"\"),this.scope=ue,this.errors=ve,this.expectedType=te,this._isConstant=D}parse(S,D,j,te,ue={}){return D?this.concat(D,j,te)._parse(S,ue):this._parse(S,ue)}_parse(S,D){function j(te,ue,ve){return ve===\"assert\"?new Ra(ue,[te]):ve===\"coerce\"?new oa(ue,[te]):te}if(S!==null&&typeof S!=\"string\"&&typeof S!=\"boolean\"&&typeof S!=\"number\"||(S=[\"literal\",S]),Array.isArray(S)){if(S.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');let te=S[0];if(typeof te!=\"string\")return this.error(`Expression name must be a string, but found ${typeof te} instead. If you wanted a literal array, use [\"literal\", [...]].`,0),null;let ue=this.registry[te];if(ue){let ve=ue.parse(S,this);if(!ve)return null;if(this.expectedType){let De=this.expectedType,Ze=ve.type;if(De.kind!==\"string\"&&De.kind!==\"number\"&&De.kind!==\"boolean\"&&De.kind!==\"object\"&&De.kind!==\"array\"||Ze.kind!==\"value\")if(De.kind!==\"color\"&&De.kind!==\"formatted\"&&De.kind!==\"resolvedImage\"||Ze.kind!==\"value\"&&Ze.kind!==\"string\")if(De.kind!==\"padding\"||Ze.kind!==\"value\"&&Ze.kind!==\"number\"&&Ze.kind!==\"array\")if(De.kind!==\"variableAnchorOffsetCollection\"||Ze.kind!==\"value\"&&Ze.kind!==\"array\"){if(this.checkSubtype(De,Ze))return null}else ve=j(ve,De,D.typeAnnotation||\"coerce\");else ve=j(ve,De,D.typeAnnotation||\"coerce\");else ve=j(ve,De,D.typeAnnotation||\"coerce\");else ve=j(ve,De,D.typeAnnotation||\"assert\")}if(!(ve instanceof jn)&&ve.type.kind!==\"resolvedImage\"&&this._isConstant(ve)){let De=new Ha;try{ve=new jn(ve.type,ve.evaluate(De))}catch(Ze){return this.error(Ze.message),null}}return ve}return this.error(`Unknown expression \"${te}\". If you wanted a literal array, use [\"literal\", [...]].`,0)}return this.error(S===void 0?\"'undefined' value invalid. Use null instead.\":typeof S==\"object\"?'Bare objects invalid. Use [\"literal\", {...}] instead.':`Expected an array, but found ${typeof S} instead.`)}concat(S,D,j){let te=typeof S==\"number\"?this.path.concat(S):this.path,ue=j?this.scope.concat(j):this.scope;return new oo(this.registry,this._isConstant,te,D||null,ue,this.errors)}error(S,...D){let j=`${this.key}${D.map(te=>`[${te}]`).join(\"\")}`;this.errors.push(new xt(j,S))}checkSubtype(S,D){let j=Xe(S,D);return j&&this.error(j),j}}class xn{constructor(S,D){this.type=D.type,this.bindings=[].concat(S),this.result=D}evaluate(S){return this.result.evaluate(S)}eachChild(S){for(let D of this.bindings)S(D[1]);S(this.result)}static parse(S,D){if(S.length<4)return D.error(`Expected at least 3 arguments, but found ${S.length-1} instead.`);let j=[];for(let ue=1;ue<S.length-1;ue+=2){let ve=S[ue];if(typeof ve!=\"string\")return D.error(`Expected string, but found ${typeof ve} instead.`,ue);if(/[^a-zA-Z0-9_]/.test(ve))return D.error(\"Variable names must contain only alphanumeric characters or '_'.\",ue);let De=D.parse(S[ue+1],ue+1);if(!De)return null;j.push([ve,De])}let te=D.parse(S[S.length-1],S.length-1,D.expectedType,j);return te?new xn(j,te):null}outputDefined(){return this.result.outputDefined()}}class _t{constructor(S,D){this.type=D.type,this.name=S,this.boundExpression=D}static parse(S,D){if(S.length!==2||typeof S[1]!=\"string\")return D.error(\"'var' expression requires exactly one string literal argument.\");let j=S[1];return D.scope.has(j)?new _t(j,D.scope.get(j)):D.error(`Unknown variable \"${j}\". Make sure \"${j}\" has been bound in an enclosing \"let\" expression before using it.`,1)}evaluate(S){return this.boundExpression.evaluate(S)}eachChild(){}outputDefined(){return!1}}class br{constructor(S,D,j){this.type=S,this.index=D,this.input=j}static parse(S,D){if(S.length!==3)return D.error(`Expected 2 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,St),te=D.parse(S[2],2,Ne(D.expectedType||fr));return j&&te?new br(te.type.itemType,j,te):null}evaluate(S){let D=this.index.evaluate(S),j=this.input.evaluate(S);if(D<0)throw new la(`Array index out of bounds: ${D} < 0.`);if(D>=j.length)throw new la(`Array index out of bounds: ${D} > ${j.length-1}.`);if(D!==Math.floor(D))throw new la(`Array index must be an integer, but found ${D} instead.`);return j[D]}eachChild(S){S(this.index),S(this.input)}outputDefined(){return!1}}class Hr{constructor(S,D){this.type=dt,this.needle=S,this.haystack=D}static parse(S,D){if(S.length!==3)return D.error(`Expected 2 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,fr),te=D.parse(S[2],2,fr);return j&&te?ht(j.type,[dt,Et,St,Lt,fr])?new Hr(j,te):D.error(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(j.type)} instead`):null}evaluate(S){let D=this.needle.evaluate(S),j=this.haystack.evaluate(S);if(!j)return!1;if(!Le(D,[\"boolean\",\"string\",\"number\",\"null\"]))throw new la(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(Ki(D))} instead.`);if(!Le(j,[\"string\",\"array\"]))throw new la(`Expected second argument to be of type array or string, but found ${Ye(Ki(j))} instead.`);return j.indexOf(D)>=0}eachChild(S){S(this.needle),S(this.haystack)}outputDefined(){return!0}}class ti{constructor(S,D,j){this.type=St,this.needle=S,this.haystack=D,this.fromIndex=j}static parse(S,D){if(S.length<=2||S.length>=5)return D.error(`Expected 3 or 4 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,fr),te=D.parse(S[2],2,fr);if(!j||!te)return null;if(!ht(j.type,[dt,Et,St,Lt,fr]))return D.error(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(j.type)} instead`);if(S.length===4){let ue=D.parse(S[3],3,St);return ue?new ti(j,te,ue):null}return new ti(j,te)}evaluate(S){let D=this.needle.evaluate(S),j=this.haystack.evaluate(S);if(!Le(D,[\"boolean\",\"string\",\"number\",\"null\"]))throw new la(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(Ki(D))} instead.`);let te;if(this.fromIndex&&(te=this.fromIndex.evaluate(S)),Le(j,[\"string\"])){let ue=j.indexOf(D,te);return ue===-1?-1:[...j.slice(0,ue)].length}if(Le(j,[\"array\"]))return j.indexOf(D,te);throw new la(`Expected second argument to be of type array or string, but found ${Ye(Ki(j))} instead.`)}eachChild(S){S(this.needle),S(this.haystack),this.fromIndex&&S(this.fromIndex)}outputDefined(){return!1}}class zi{constructor(S,D,j,te,ue,ve){this.inputType=S,this.type=D,this.input=j,this.cases=te,this.outputs=ue,this.otherwise=ve}static parse(S,D){if(S.length<5)return D.error(`Expected at least 4 arguments, but found only ${S.length-1}.`);if(S.length%2!=1)return D.error(\"Expected an even number of arguments.\");let j,te;D.expectedType&&D.expectedType.kind!==\"value\"&&(te=D.expectedType);let ue={},ve=[];for(let at=2;at<S.length-1;at+=2){let Tt=S[at],Ft=S[at+1];Array.isArray(Tt)||(Tt=[Tt]);let Qt=D.concat(at);if(Tt.length===0)return Qt.error(\"Expected at least one branch label.\");for(let Tr of Tt){if(typeof Tr!=\"number\"&&typeof Tr!=\"string\")return Qt.error(\"Branch labels must be numbers or strings.\");if(typeof Tr==\"number\"&&Math.abs(Tr)>Number.MAX_SAFE_INTEGER)return Qt.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof Tr==\"number\"&&Math.floor(Tr)!==Tr)return Qt.error(\"Numeric branch labels must be integer values.\");if(j){if(Qt.checkSubtype(j,Ki(Tr)))return null}else j=Ki(Tr);if(ue[String(Tr)]!==void 0)return Qt.error(\"Branch labels must be unique.\");ue[String(Tr)]=ve.length}let sr=D.parse(Ft,at,te);if(!sr)return null;te=te||sr.type,ve.push(sr)}let De=D.parse(S[1],1,fr);if(!De)return null;let Ze=D.parse(S[S.length-1],S.length-1,te);return Ze?De.type.kind!==\"value\"&&D.concat(1).checkSubtype(j,De.type)?null:new zi(j,te,De,ue,ve,Ze):null}evaluate(S){let D=this.input.evaluate(S);return(Ki(D)===this.inputType&&this.outputs[this.cases[D]]||this.otherwise).evaluate(S)}eachChild(S){S(this.input),this.outputs.forEach(S),S(this.otherwise)}outputDefined(){return this.outputs.every(S=>S.outputDefined())&&this.otherwise.outputDefined()}}class Yi{constructor(S,D,j){this.type=S,this.branches=D,this.otherwise=j}static parse(S,D){if(S.length<4)return D.error(`Expected at least 3 arguments, but found only ${S.length-1}.`);if(S.length%2!=0)return D.error(\"Expected an odd number of arguments.\");let j;D.expectedType&&D.expectedType.kind!==\"value\"&&(j=D.expectedType);let te=[];for(let ve=1;ve<S.length-1;ve+=2){let De=D.parse(S[ve],ve,dt);if(!De)return null;let Ze=D.parse(S[ve+1],ve+1,j);if(!Ze)return null;te.push([De,Ze]),j=j||Ze.type}let ue=D.parse(S[S.length-1],S.length-1,j);if(!ue)return null;if(!j)throw new Error(\"Can't infer output type\");return new Yi(j,te,ue)}evaluate(S){for(let[D,j]of this.branches)if(D.evaluate(S))return j.evaluate(S);return this.otherwise.evaluate(S)}eachChild(S){for(let[D,j]of this.branches)S(D),S(j);S(this.otherwise)}outputDefined(){return this.branches.every(([S,D])=>D.outputDefined())&&this.otherwise.outputDefined()}}class an{constructor(S,D,j,te){this.type=S,this.input=D,this.beginIndex=j,this.endIndex=te}static parse(S,D){if(S.length<=2||S.length>=5)return D.error(`Expected 3 or 4 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,fr),te=D.parse(S[2],2,St);if(!j||!te)return null;if(!ht(j.type,[Ne(fr),Et,fr]))return D.error(`Expected first argument to be of type array or string, but found ${Ye(j.type)} instead`);if(S.length===4){let ue=D.parse(S[3],3,St);return ue?new an(j.type,j,te,ue):null}return new an(j.type,j,te)}evaluate(S){let D=this.input.evaluate(S),j=this.beginIndex.evaluate(S),te;if(this.endIndex&&(te=this.endIndex.evaluate(S)),Le(D,[\"string\"]))return[...D].slice(j,te).join(\"\");if(Le(D,[\"array\"]))return D.slice(j,te);throw new la(`Expected first argument to be of type array or string, but found ${Ye(Ki(D))} instead.`)}eachChild(S){S(this.input),S(this.beginIndex),this.endIndex&&S(this.endIndex)}outputDefined(){return!1}}function hi(R,S){let D=R.length-1,j,te,ue=0,ve=D,De=0;for(;ue<=ve;)if(De=Math.floor((ue+ve)/2),j=R[De],te=R[De+1],j<=S){if(De===D||S<te)return De;ue=De+1}else{if(!(j>S))throw new la(\"Input is not a number.\");ve=De-1}return 0}class Ji{constructor(S,D,j){this.type=S,this.input=D,this.labels=[],this.outputs=[];for(let[te,ue]of j)this.labels.push(te),this.outputs.push(ue)}static parse(S,D){if(S.length-1<4)return D.error(`Expected at least 4 arguments, but found only ${S.length-1}.`);if((S.length-1)%2!=0)return D.error(\"Expected an even number of arguments.\");let j=D.parse(S[1],1,St);if(!j)return null;let te=[],ue=null;D.expectedType&&D.expectedType.kind!==\"value\"&&(ue=D.expectedType);for(let ve=1;ve<S.length;ve+=2){let De=ve===1?-1/0:S[ve],Ze=S[ve+1],at=ve,Tt=ve+1;if(typeof De!=\"number\")return D.error('Input/output pairs for \"step\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',at);if(te.length&&te[te.length-1][0]>=De)return D.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',at);let Ft=D.parse(Ze,Tt,ue);if(!Ft)return null;ue=ue||Ft.type,te.push([De,Ft])}return new Ji(ue,j,te)}evaluate(S){let D=this.labels,j=this.outputs;if(D.length===1)return j[0].evaluate(S);let te=this.input.evaluate(S);if(te<=D[0])return j[0].evaluate(S);let ue=D.length;return te>=D[ue-1]?j[ue-1].evaluate(S):j[hi(D,te)].evaluate(S)}eachChild(S){S(this.input);for(let D of this.outputs)S(D)}outputDefined(){return this.outputs.every(S=>S.outputDefined())}}function ua(R){return R&&R.__esModule&&Object.prototype.hasOwnProperty.call(R,\"default\")?R.default:R}var Fn=Sa;function Sa(R,S,D,j){this.cx=3*R,this.bx=3*(D-R)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*S,this.by=3*(j-S)-this.cy,this.ay=1-this.cy-this.by,this.p1x=R,this.p1y=S,this.p2x=D,this.p2y=j}Sa.prototype={sampleCurveX:function(R){return((this.ax*R+this.bx)*R+this.cx)*R},sampleCurveY:function(R){return((this.ay*R+this.by)*R+this.cy)*R},sampleCurveDerivativeX:function(R){return(3*this.ax*R+2*this.bx)*R+this.cx},solveCurveX:function(R,S){if(S===void 0&&(S=1e-6),R<0)return 0;if(R>1)return 1;for(var D=R,j=0;j<8;j++){var te=this.sampleCurveX(D)-R;if(Math.abs(te)<S)return D;var ue=this.sampleCurveDerivativeX(D);if(Math.abs(ue)<1e-6)break;D-=te/ue}var ve=0,De=1;for(D=R,j=0;j<20&&(te=this.sampleCurveX(D),!(Math.abs(te-R)<S));j++)R>te?ve=D:De=D,D=.5*(De-ve)+ve;return D},solve:function(R,S){return this.sampleCurveY(this.solveCurveX(R,S))}};var go=ua(Fn);function Oo(R,S,D){return R+D*(S-R)}function ho(R,S,D){return R.map((j,te)=>Oo(j,S[te],D))}let Mo={number:Oo,color:function(R,S,D,j=\"rgb\"){switch(j){case\"rgb\":{let[te,ue,ve,De]=ho(R.rgb,S.rgb,D);return new Zt(te,ue,ve,De,!1)}case\"hcl\":{let[te,ue,ve,De]=R.hcl,[Ze,at,Tt,Ft]=S.hcl,Qt,sr;if(isNaN(te)||isNaN(Ze))isNaN(te)?isNaN(Ze)?Qt=NaN:(Qt=Ze,ve!==1&&ve!==0||(sr=at)):(Qt=te,Tt!==1&&Tt!==0||(sr=ue));else{let Di=Ze-te;Ze>te&&Di>180?Di-=360:Ze<te&&te-Ze>180&&(Di+=360),Qt=te+D*Di}let[Tr,Pr,$r,ni]=function([Di,pi,ki,Zi]){return Di=isNaN(Di)?0:Di*ai,Ni([ki,Math.cos(Di)*pi,Math.sin(Di)*pi,Zi])}([Qt,sr!=null?sr:Oo(ue,at,D),Oo(ve,Tt,D),Oo(De,Ft,D)]);return new Zt(Tr,Pr,$r,ni,!1)}case\"lab\":{let[te,ue,ve,De]=Ni(ho(R.lab,S.lab,D));return new Zt(te,ue,ve,De,!1)}}},array:ho,padding:function(R,S,D){return new Vr(ho(R.values,S.values,D))},variableAnchorOffsetCollection:function(R,S,D){let j=R.values,te=S.values;if(j.length!==te.length)throw new la(`Cannot interpolate values of different length. from: ${R.toString()}, to: ${S.toString()}`);let ue=[];for(let ve=0;ve<j.length;ve+=2){if(j[ve]!==te[ve])throw new la(`Cannot interpolate values containing mismatched anchors. from[${ve}]: ${j[ve]}, to[${ve}]: ${te[ve]}`);ue.push(j[ve]);let[De,Ze]=j[ve+1],[at,Tt]=te[ve+1];ue.push([Oo(De,at,D),Oo(Ze,Tt,D)])}return new Si(ue)}};class xo{constructor(S,D,j,te,ue){this.type=S,this.operator=D,this.interpolation=j,this.input=te,this.labels=[],this.outputs=[];for(let[ve,De]of ue)this.labels.push(ve),this.outputs.push(De)}static interpolationFactor(S,D,j,te){let ue=0;if(S.name===\"exponential\")ue=zs(D,S.base,j,te);else if(S.name===\"linear\")ue=zs(D,1,j,te);else if(S.name===\"cubic-bezier\"){let ve=S.controlPoints;ue=new go(ve[0],ve[1],ve[2],ve[3]).solve(zs(D,1,j,te))}return ue}static parse(S,D){let[j,te,ue,...ve]=S;if(!Array.isArray(te)||te.length===0)return D.error(\"Expected an interpolation type expression.\",1);if(te[0]===\"linear\")te={name:\"linear\"};else if(te[0]===\"exponential\"){let at=te[1];if(typeof at!=\"number\")return D.error(\"Exponential interpolation requires a numeric base.\",1,1);te={name:\"exponential\",base:at}}else{if(te[0]!==\"cubic-bezier\")return D.error(`Unknown interpolation type ${String(te[0])}`,1,0);{let at=te.slice(1);if(at.length!==4||at.some(Tt=>typeof Tt!=\"number\"||Tt<0||Tt>1))return D.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);te={name:\"cubic-bezier\",controlPoints:at}}}if(S.length-1<4)return D.error(`Expected at least 4 arguments, but found only ${S.length-1}.`);if((S.length-1)%2!=0)return D.error(\"Expected an even number of arguments.\");if(ue=D.parse(ue,2,St),!ue)return null;let De=[],Ze=null;j===\"interpolate-hcl\"||j===\"interpolate-lab\"?Ze=Ht:D.expectedType&&D.expectedType.kind!==\"value\"&&(Ze=D.expectedType);for(let at=0;at<ve.length;at+=2){let Tt=ve[at],Ft=ve[at+1],Qt=at+3,sr=at+4;if(typeof Tt!=\"number\")return D.error('Input/output pairs for \"interpolate\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',Qt);if(De.length&&De[De.length-1][0]>=Tt)return D.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',Qt);let Tr=D.parse(Ft,sr,Ze);if(!Tr)return null;Ze=Ze||Tr.type,De.push([Tt,Tr])}return xe(Ze,St)||xe(Ze,Ht)||xe(Ze,Or)||xe(Ze,ut)||xe(Ze,Ne(St))?new xo(Ze,j,te,ue,De):D.error(`Type ${Ye(Ze)} is not interpolatable.`)}evaluate(S){let D=this.labels,j=this.outputs;if(D.length===1)return j[0].evaluate(S);let te=this.input.evaluate(S);if(te<=D[0])return j[0].evaluate(S);let ue=D.length;if(te>=D[ue-1])return j[ue-1].evaluate(S);let ve=hi(D,te),De=xo.interpolationFactor(this.interpolation,te,D[ve],D[ve+1]),Ze=j[ve].evaluate(S),at=j[ve+1].evaluate(S);switch(this.operator){case\"interpolate\":return Mo[this.type.kind](Ze,at,De);case\"interpolate-hcl\":return Mo.color(Ze,at,De,\"hcl\");case\"interpolate-lab\":return Mo.color(Ze,at,De,\"lab\")}}eachChild(S){S(this.input);for(let D of this.outputs)S(D)}outputDefined(){return this.outputs.every(S=>S.outputDefined())}}function zs(R,S,D,j){let te=j-D,ue=R-D;return te===0?0:S===1?ue/te:(Math.pow(S,ue)-1)/(Math.pow(S,te)-1)}class ks{constructor(S,D){this.type=S,this.args=D}static parse(S,D){if(S.length<2)return D.error(\"Expectected at least one argument.\");let j=null,te=D.expectedType;te&&te.kind!==\"value\"&&(j=te);let ue=[];for(let De of S.slice(1)){let Ze=D.parse(De,1+ue.length,j,void 0,{typeAnnotation:\"omit\"});if(!Ze)return null;j=j||Ze.type,ue.push(Ze)}if(!j)throw new Error(\"No output type\");let ve=te&&ue.some(De=>Xe(te,De.type));return new ks(ve?fr:j,ue)}evaluate(S){let D,j=null,te=0;for(let ue of this.args)if(te++,j=ue.evaluate(S),j&&j instanceof Mi&&!j.available&&(D||(D=j.name),j=null,te===this.args.length&&(j=D)),j!==null)break;return j}eachChild(S){this.args.forEach(S)}outputDefined(){return this.args.every(S=>S.outputDefined())}}function Zs(R,S){return R===\"==\"||R===\"!=\"?S.kind===\"boolean\"||S.kind===\"string\"||S.kind===\"number\"||S.kind===\"null\"||S.kind===\"value\":S.kind===\"string\"||S.kind===\"number\"||S.kind===\"value\"}function Xs(R,S,D,j){return j.compare(S,D)===0}function wl(R,S,D){let j=R!==\"==\"&&R!==\"!=\";return class GHe{constructor(ue,ve,De){this.type=dt,this.lhs=ue,this.rhs=ve,this.collator=De,this.hasUntypedArgument=ue.type.kind===\"value\"||ve.type.kind===\"value\"}static parse(ue,ve){if(ue.length!==3&&ue.length!==4)return ve.error(\"Expected two or three arguments.\");let De=ue[0],Ze=ve.parse(ue[1],1,fr);if(!Ze)return null;if(!Zs(De,Ze.type))return ve.concat(1).error(`\"${De}\" comparisons are not supported for type '${Ye(Ze.type)}'.`);let at=ve.parse(ue[2],2,fr);if(!at)return null;if(!Zs(De,at.type))return ve.concat(2).error(`\"${De}\" comparisons are not supported for type '${Ye(at.type)}'.`);if(Ze.type.kind!==at.type.kind&&Ze.type.kind!==\"value\"&&at.type.kind!==\"value\")return ve.error(`Cannot compare types '${Ye(Ze.type)}' and '${Ye(at.type)}'.`);j&&(Ze.type.kind===\"value\"&&at.type.kind!==\"value\"?Ze=new Ra(at.type,[Ze]):Ze.type.kind!==\"value\"&&at.type.kind===\"value\"&&(at=new Ra(Ze.type,[at])));let Tt=null;if(ue.length===4){if(Ze.type.kind!==\"string\"&&at.type.kind!==\"string\"&&Ze.type.kind!==\"value\"&&at.type.kind!==\"value\")return ve.error(\"Cannot use collator to compare non-string types.\");if(Tt=ve.parse(ue[3],3,_r),!Tt)return null}return new GHe(Ze,at,Tt)}evaluate(ue){let ve=this.lhs.evaluate(ue),De=this.rhs.evaluate(ue);if(j&&this.hasUntypedArgument){let Ze=Ki(ve),at=Ki(De);if(Ze.kind!==at.kind||Ze.kind!==\"string\"&&Ze.kind!==\"number\")throw new la(`Expected arguments for \"${R}\" to be (string, string) or (number, number), but found (${Ze.kind}, ${at.kind}) instead.`)}if(this.collator&&!j&&this.hasUntypedArgument){let Ze=Ki(ve),at=Ki(De);if(Ze.kind!==\"string\"||at.kind!==\"string\")return S(ue,ve,De)}return this.collator?D(ue,ve,De,this.collator.evaluate(ue)):S(ue,ve,De)}eachChild(ue){ue(this.lhs),ue(this.rhs),this.collator&&ue(this.collator)}outputDefined(){return!0}}}let os=wl(\"==\",function(R,S,D){return S===D},Xs),cl=wl(\"!=\",function(R,S,D){return S!==D},function(R,S,D,j){return!Xs(0,S,D,j)}),Cs=wl(\"<\",function(R,S,D){return S<D},function(R,S,D,j){return j.compare(S,D)<0}),ml=wl(\">\",function(R,S,D){return S>D},function(R,S,D,j){return j.compare(S,D)>0}),Ys=wl(\"<=\",function(R,S,D){return S<=D},function(R,S,D,j){return j.compare(S,D)<=0}),Hs=wl(\">=\",function(R,S,D){return S>=D},function(R,S,D,j){return j.compare(S,D)>=0});class Eo{constructor(S,D,j){this.type=_r,this.locale=j,this.caseSensitive=S,this.diacriticSensitive=D}static parse(S,D){if(S.length!==2)return D.error(\"Expected one argument.\");let j=S[1];if(typeof j!=\"object\"||Array.isArray(j))return D.error(\"Collator options argument must be an object.\");let te=D.parse(j[\"case-sensitive\"]!==void 0&&j[\"case-sensitive\"],1,dt);if(!te)return null;let ue=D.parse(j[\"diacritic-sensitive\"]!==void 0&&j[\"diacritic-sensitive\"],1,dt);if(!ue)return null;let ve=null;return j.locale&&(ve=D.parse(j.locale,1,Et),!ve)?null:new Eo(te,ue,ve)}evaluate(S){return new yr(this.caseSensitive.evaluate(S),this.diacriticSensitive.evaluate(S),this.locale?this.locale.evaluate(S):null)}eachChild(S){S(this.caseSensitive),S(this.diacriticSensitive),this.locale&&S(this.locale)}outputDefined(){return!1}}class fs{constructor(S,D,j,te,ue){this.type=Et,this.number=S,this.locale=D,this.currency=j,this.minFractionDigits=te,this.maxFractionDigits=ue}static parse(S,D){if(S.length!==3)return D.error(\"Expected two arguments.\");let j=D.parse(S[1],1,St);if(!j)return null;let te=S[2];if(typeof te!=\"object\"||Array.isArray(te))return D.error(\"NumberFormat options argument must be an object.\");let ue=null;if(te.locale&&(ue=D.parse(te.locale,1,Et),!ue))return null;let ve=null;if(te.currency&&(ve=D.parse(te.currency,1,Et),!ve))return null;let De=null;if(te[\"min-fraction-digits\"]&&(De=D.parse(te[\"min-fraction-digits\"],1,St),!De))return null;let Ze=null;return te[\"max-fraction-digits\"]&&(Ze=D.parse(te[\"max-fraction-digits\"],1,St),!Ze)?null:new fs(j,ue,ve,De,Ze)}evaluate(S){return new Intl.NumberFormat(this.locale?this.locale.evaluate(S):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(S):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(S):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(S):void 0}).format(this.number.evaluate(S))}eachChild(S){S(this.number),this.locale&&S(this.locale),this.currency&&S(this.currency),this.minFractionDigits&&S(this.minFractionDigits),this.maxFractionDigits&&S(this.maxFractionDigits)}outputDefined(){return!1}}class Ql{constructor(S){this.type=Br,this.sections=S}static parse(S,D){if(S.length<2)return D.error(\"Expected at least one argument.\");let j=S[1];if(!Array.isArray(j)&&typeof j==\"object\")return D.error(\"First argument must be an image or text section.\");let te=[],ue=!1;for(let ve=1;ve<=S.length-1;++ve){let De=S[ve];if(ue&&typeof De==\"object\"&&!Array.isArray(De)){ue=!1;let Ze=null;if(De[\"font-scale\"]&&(Ze=D.parse(De[\"font-scale\"],1,St),!Ze))return null;let at=null;if(De[\"text-font\"]&&(at=D.parse(De[\"text-font\"],1,Ne(Et)),!at))return null;let Tt=null;if(De[\"text-color\"]&&(Tt=D.parse(De[\"text-color\"],1,Ht),!Tt))return null;let Ft=te[te.length-1];Ft.scale=Ze,Ft.font=at,Ft.textColor=Tt}else{let Ze=D.parse(S[ve],1,fr);if(!Ze)return null;let at=Ze.type.kind;if(at!==\"string\"&&at!==\"value\"&&at!==\"null\"&&at!==\"resolvedImage\")return D.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");ue=!0,te.push({content:Ze,scale:null,font:null,textColor:null})}}return new Ql(te)}evaluate(S){return new Zr(this.sections.map(D=>{let j=D.content.evaluate(S);return Ki(j)===Nr?new Fr(\"\",j,null,null,null):new Fr(ka(j),null,D.scale?D.scale.evaluate(S):null,D.font?D.font.evaluate(S).join(\",\"):null,D.textColor?D.textColor.evaluate(S):null)}))}eachChild(S){for(let D of this.sections)S(D.content),D.scale&&S(D.scale),D.font&&S(D.font),D.textColor&&S(D.textColor)}outputDefined(){return!1}}class Hu{constructor(S){this.type=Nr,this.input=S}static parse(S,D){if(S.length!==2)return D.error(\"Expected two arguments.\");let j=D.parse(S[1],1,Et);return j?new Hu(j):D.error(\"No image name provided.\")}evaluate(S){let D=this.input.evaluate(S),j=Mi.fromString(D);return j&&S.availableImages&&(j.available=S.availableImages.indexOf(D)>-1),j}eachChild(S){S(this.input)}outputDefined(){return!1}}class fc{constructor(S){this.type=St,this.input=S}static parse(S,D){if(S.length!==2)return D.error(`Expected 1 argument, but found ${S.length-1} instead.`);let j=D.parse(S[1],1);return j?j.type.kind!==\"array\"&&j.type.kind!==\"string\"&&j.type.kind!==\"value\"?D.error(`Expected argument of type string or array, but found ${Ye(j.type)} instead.`):new fc(j):null}evaluate(S){let D=this.input.evaluate(S);if(typeof D==\"string\")return[...D].length;if(Array.isArray(D))return D.length;throw new la(`Expected value to be of type string or array, but found ${Ye(Ki(D))} instead.`)}eachChild(S){S(this.input)}outputDefined(){return!1}}let ms=8192;function on(R,S){let D=(180+R[0])/360,j=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+R[1]*Math.PI/360)))/360,te=Math.pow(2,S.z);return[Math.round(D*te*ms),Math.round(j*te*ms)]}function fa(R,S){let D=Math.pow(2,S.z);return[(te=(R[0]/ms+S.x)/D,360*te-180),(j=(R[1]/ms+S.y)/D,360/Math.PI*Math.atan(Math.exp((180-360*j)*Math.PI/180))-90)];var j,te}function Qu(R,S){R[0]=Math.min(R[0],S[0]),R[1]=Math.min(R[1],S[1]),R[2]=Math.max(R[2],S[0]),R[3]=Math.max(R[3],S[1])}function Rl(R,S){return!(R[0]<=S[0]||R[2]>=S[2]||R[1]<=S[1]||R[3]>=S[3])}function vo(R,S,D){let j=R[0]-S[0],te=R[1]-S[1],ue=R[0]-D[0],ve=R[1]-D[1];return j*ve-ue*te==0&&j*ue<=0&&te*ve<=0}function Zl(R,S,D,j){return(te=[j[0]-D[0],j[1]-D[1]])[0]*(ue=[S[0]-R[0],S[1]-R[1]])[1]-te[1]*ue[0]!=0&&!(!Co(R,S,D,j)||!Co(D,j,R,S));var te,ue}function Ks(R,S,D){for(let j of D)for(let te=0;te<j.length-1;++te)if(Zl(R,S,j[te],j[te+1]))return!0;return!1}function Xl(R,S,D=!1){let j=!1;for(let De of S)for(let Ze=0;Ze<De.length-1;Ze++){if(vo(R,De[Ze],De[Ze+1]))return D;(ue=De[Ze])[1]>(te=R)[1]!=(ve=De[Ze+1])[1]>te[1]&&te[0]<(ve[0]-ue[0])*(te[1]-ue[1])/(ve[1]-ue[1])+ue[0]&&(j=!j)}var te,ue,ve;return j}function Ec(R,S){for(let D of S)if(Xl(R,D))return!0;return!1}function Zn(R,S){for(let D of R)if(!Xl(D,S))return!1;for(let D=0;D<R.length-1;++D)if(Ks(R[D],R[D+1],S))return!1;return!0}function ko(R,S){for(let D of S)if(Zn(R,D))return!0;return!1}function Co(R,S,D,j){let te=j[0]-D[0],ue=j[1]-D[1],ve=(R[0]-D[0])*ue-te*(R[1]-D[1]),De=(S[0]-D[0])*ue-te*(S[1]-D[1]);return ve>0&&De<0||ve<0&&De>0}function Tl(R,S,D){let j=[];for(let te=0;te<R.length;te++){let ue=[];for(let ve=0;ve<R[te].length;ve++){let De=on(R[te][ve],D);Qu(S,De),ue.push(De)}j.push(ue)}return j}function uf(R,S,D){let j=[];for(let te=0;te<R.length;te++){let ue=Tl(R[te],S,D);j.push(ue)}return j}function So(R,S,D,j){if(R[0]<D[0]||R[0]>D[2]){let te=.5*j,ue=R[0]-D[0]>te?-j:D[0]-R[0]>te?j:0;ue===0&&(ue=R[0]-D[2]>te?-j:D[2]-R[0]>te?j:0),R[0]+=ue}Qu(S,R)}function cf(R,S,D,j){let te=Math.pow(2,j.z)*ms,ue=[j.x*ms,j.y*ms],ve=[];for(let De of R)for(let Ze of De){let at=[Ze.x+ue[0],Ze.y+ue[1]];So(at,S,D,te),ve.push(at)}return ve}function rh(R,S,D,j){let te=Math.pow(2,j.z)*ms,ue=[j.x*ms,j.y*ms],ve=[];for(let Ze of R){let at=[];for(let Tt of Ze){let Ft=[Tt.x+ue[0],Tt.y+ue[1]];Qu(S,Ft),at.push(Ft)}ve.push(at)}if(S[2]-S[0]<=te/2){(De=S)[0]=De[1]=1/0,De[2]=De[3]=-1/0;for(let Ze of ve)for(let at of Ze)So(at,S,D,te)}var De;return ve}class Al{constructor(S,D){this.type=dt,this.geojson=S,this.geometries=D}static parse(S,D){if(S.length!==2)return D.error(`'within' expression requires exactly one argument, but found ${S.length-1} instead.`);if(Gi(S[1])){let j=S[1];if(j.type===\"FeatureCollection\"){let te=[];for(let ue of j.features){let{type:ve,coordinates:De}=ue.geometry;ve===\"Polygon\"&&te.push(De),ve===\"MultiPolygon\"&&te.push(...De)}if(te.length)return new Al(j,{type:\"MultiPolygon\",coordinates:te})}else if(j.type===\"Feature\"){let te=j.geometry.type;if(te===\"Polygon\"||te===\"MultiPolygon\")return new Al(j,j.geometry)}else if(j.type===\"Polygon\"||j.type===\"MultiPolygon\")return new Al(j,j)}return D.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(S){if(S.geometry()!=null&&S.canonicalID()!=null){if(S.geometryType()===\"Point\")return function(D,j){let te=[1/0,1/0,-1/0,-1/0],ue=[1/0,1/0,-1/0,-1/0],ve=D.canonicalID();if(j.type===\"Polygon\"){let De=Tl(j.coordinates,ue,ve),Ze=cf(D.geometry(),te,ue,ve);if(!Rl(te,ue))return!1;for(let at of Ze)if(!Xl(at,De))return!1}if(j.type===\"MultiPolygon\"){let De=uf(j.coordinates,ue,ve),Ze=cf(D.geometry(),te,ue,ve);if(!Rl(te,ue))return!1;for(let at of Ze)if(!Ec(at,De))return!1}return!0}(S,this.geometries);if(S.geometryType()===\"LineString\")return function(D,j){let te=[1/0,1/0,-1/0,-1/0],ue=[1/0,1/0,-1/0,-1/0],ve=D.canonicalID();if(j.type===\"Polygon\"){let De=Tl(j.coordinates,ue,ve),Ze=rh(D.geometry(),te,ue,ve);if(!Rl(te,ue))return!1;for(let at of Ze)if(!Zn(at,De))return!1}if(j.type===\"MultiPolygon\"){let De=uf(j.coordinates,ue,ve),Ze=rh(D.geometry(),te,ue,ve);if(!Rl(te,ue))return!1;for(let at of Ze)if(!ko(at,De))return!1}return!0}(S,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let Hc=class{constructor(R=[],S=(D,j)=>D<j?-1:D>j?1:0){if(this.data=R,this.length=this.data.length,this.compare=S,this.length>0)for(let D=(this.length>>1)-1;D>=0;D--)this._down(D)}push(R){this.data.push(R),this._up(this.length++)}pop(){if(this.length===0)return;let R=this.data[0],S=this.data.pop();return--this.length>0&&(this.data[0]=S,this._down(0)),R}peek(){return this.data[0]}_up(R){let{data:S,compare:D}=this,j=S[R];for(;R>0;){let te=R-1>>1,ue=S[te];if(D(j,ue)>=0)break;S[R]=ue,R=te}S[R]=j}_down(R){let{data:S,compare:D}=this,j=this.length>>1,te=S[R];for(;R<j;){let ue=1+(R<<1),ve=ue+1;if(ve<this.length&&D(S[ve],S[ue])<0&&(ue=ve),D(S[ue],te)>=0)break;S[R]=S[ue],R=ue}S[R]=te}};function eu(R,S,D,j,te){Ls(R,S,D,j||R.length-1,te||kc)}function Ls(R,S,D,j,te){for(;j>D;){if(j-D>600){var ue=j-D+1,ve=S-D+1,De=Math.log(ue),Ze=.5*Math.exp(2*De/3),at=.5*Math.sqrt(De*Ze*(ue-Ze)/ue)*(ve-ue/2<0?-1:1);Ls(R,S,Math.max(D,Math.floor(S-ve*Ze/ue+at)),Math.min(j,Math.floor(S+(ue-ve)*Ze/ue+at)),te)}var Tt=R[S],Ft=D,Qt=j;for(mu(R,D,S),te(R[j],Tt)>0&&mu(R,D,j);Ft<Qt;){for(mu(R,Ft,Qt),Ft++,Qt--;te(R[Ft],Tt)<0;)Ft++;for(;te(R[Qt],Tt)>0;)Qt--}te(R[D],Tt)===0?mu(R,D,Qt):mu(R,++Qt,j),Qt<=S&&(D=Qt+1),S<=Qt&&(j=Qt-1)}}function mu(R,S,D){var j=R[S];R[S]=R[D],R[D]=j}function kc(R,S){return R<S?-1:R>S?1:0}function Of(R,S){if(R.length<=1)return[R];let D=[],j,te;for(let ue of R){let ve=vd(ue);ve!==0&&(ue.area=Math.abs(ve),te===void 0&&(te=ve<0),te===ve<0?(j&&D.push(j),j=[ue]):j.push(ue))}if(j&&D.push(j),S>1)for(let ue=0;ue<D.length;ue++)D[ue].length<=S||(eu(D[ue],S,1,D[ue].length-1,Gc),D[ue]=D[ue].slice(0,S));return D}function Gc(R,S){return S.area-R.area}function vd(R){let S=0;for(let D,j,te=0,ue=R.length,ve=ue-1;te<ue;ve=te++)D=R[te],j=R[ve],S+=(j.x-D.x)*(D.y+j.y);return S}let Bf=1/298.257223563,ss=Bf*(2-Bf),ff=Math.PI/180;class ih{constructor(S){let D=6378.137*ff*1e3,j=Math.cos(S*ff),te=1/(1-ss*(1-j*j)),ue=Math.sqrt(te);this.kx=D*ue*j,this.ky=D*ue*te*(1-ss)}distance(S,D){let j=this.wrap(S[0]-D[0])*this.kx,te=(S[1]-D[1])*this.ky;return Math.sqrt(j*j+te*te)}pointOnLine(S,D){let j,te,ue,ve,De=1/0;for(let Ze=0;Ze<S.length-1;Ze++){let at=S[Ze][0],Tt=S[Ze][1],Ft=this.wrap(S[Ze+1][0]-at)*this.kx,Qt=(S[Ze+1][1]-Tt)*this.ky,sr=0;Ft===0&&Qt===0||(sr=(this.wrap(D[0]-at)*this.kx*Ft+(D[1]-Tt)*this.ky*Qt)/(Ft*Ft+Qt*Qt),sr>1?(at=S[Ze+1][0],Tt=S[Ze+1][1]):sr>0&&(at+=Ft/this.kx*sr,Tt+=Qt/this.ky*sr)),Ft=this.wrap(D[0]-at)*this.kx,Qt=(D[1]-Tt)*this.ky;let Tr=Ft*Ft+Qt*Qt;Tr<De&&(De=Tr,j=at,te=Tt,ue=Ze,ve=sr)}return{point:[j,te],index:ue,t:Math.max(0,Math.min(1,ve))}}wrap(S){for(;S<-180;)S+=360;for(;S>180;)S-=360;return S}}function Vl(R,S){return S[0]-R[0]}function Js(R){return R[1]-R[0]+1}function hc(R,S){return R[1]>=R[0]&&R[1]<S}function Cc(R,S){if(R[0]>R[1])return[null,null];let D=Js(R);if(S){if(D===2)return[R,null];let te=Math.floor(D/2);return[[R[0],R[0]+te],[R[0]+te,R[1]]]}if(D===1)return[R,null];let j=Math.floor(D/2)-1;return[[R[0],R[0]+j],[R[0]+j+1,R[1]]]}function ws(R,S){if(!hc(S,R.length))return[1/0,1/0,-1/0,-1/0];let D=[1/0,1/0,-1/0,-1/0];for(let j=S[0];j<=S[1];++j)Qu(D,R[j]);return D}function $s(R){let S=[1/0,1/0,-1/0,-1/0];for(let D of R)for(let j of D)Qu(S,j);return S}function hs(R){return R[0]!==-1/0&&R[1]!==-1/0&&R[2]!==1/0&&R[3]!==1/0}function Ms(R,S,D){if(!hs(R)||!hs(S))return NaN;let j=0,te=0;return R[2]<S[0]&&(j=S[0]-R[2]),R[0]>S[2]&&(j=R[0]-S[2]),R[1]>S[3]&&(te=R[1]-S[3]),R[3]<S[1]&&(te=S[1]-R[3]),D.distance([0,0],[j,te])}function dc(R,S,D){let j=D.pointOnLine(S,R);return D.distance(R,j.point)}function Sl(R,S,D,j,te){let ue=Math.min(dc(R,[D,j],te),dc(S,[D,j],te)),ve=Math.min(dc(D,[R,S],te),dc(j,[R,S],te));return Math.min(ue,ve)}function ec(R,S,D,j,te){if(!hc(S,R.length)||!hc(j,D.length))return 1/0;let ue=1/0;for(let ve=S[0];ve<S[1];++ve){let De=R[ve],Ze=R[ve+1];for(let at=j[0];at<j[1];++at){let Tt=D[at],Ft=D[at+1];if(Zl(De,Ze,Tt,Ft))return 0;ue=Math.min(ue,Sl(De,Ze,Tt,Ft,te))}}return ue}function Ps(R,S,D,j,te){if(!hc(S,R.length)||!hc(j,D.length))return NaN;let ue=1/0;for(let ve=S[0];ve<=S[1];++ve)for(let De=j[0];De<=j[1];++De)if(ue=Math.min(ue,te.distance(R[ve],D[De])),ue===0)return ue;return ue}function ov(R,S,D){if(Xl(R,S,!0))return 0;let j=1/0;for(let te of S){let ue=te[0],ve=te[te.length-1];if(ue!==ve&&(j=Math.min(j,dc(R,[ve,ue],D)),j===0))return j;let De=D.pointOnLine(te,R);if(j=Math.min(j,D.distance(R,De.point)),j===0)return j}return j}function wo(R,S,D,j){if(!hc(S,R.length))return NaN;for(let ue=S[0];ue<=S[1];++ue)if(Xl(R[ue],D,!0))return 0;let te=1/0;for(let ue=S[0];ue<S[1];++ue){let ve=R[ue],De=R[ue+1];for(let Ze of D)for(let at=0,Tt=Ze.length,Ft=Tt-1;at<Tt;Ft=at++){let Qt=Ze[Ft],sr=Ze[at];if(Zl(ve,De,Qt,sr))return 0;te=Math.min(te,Sl(ve,De,Qt,sr,j))}}return te}function Od(R,S){for(let D of R)for(let j of D)if(Xl(j,S,!0))return!0;return!1}function $o(R,S,D,j=1/0){let te=$s(R),ue=$s(S);if(j!==1/0&&Ms(te,ue,D)>=j)return j;if(Rl(te,ue)){if(Od(R,S))return 0}else if(Od(S,R))return 0;let ve=1/0;for(let De of R)for(let Ze=0,at=De.length,Tt=at-1;Ze<at;Tt=Ze++){let Ft=De[Tt],Qt=De[Ze];for(let sr of S)for(let Tr=0,Pr=sr.length,$r=Pr-1;Tr<Pr;$r=Tr++){let ni=sr[$r],Di=sr[Tr];if(Zl(Ft,Qt,ni,Di))return 0;ve=Math.min(ve,Sl(Ft,Qt,ni,Di,D))}}return ve}function Ja(R,S,D,j,te,ue){if(!ue)return;let ve=Ms(ws(j,ue),te,D);ve<S&&R.push([ve,ue,[0,0]])}function Ef(R,S,D,j,te,ue,ve){if(!ue||!ve)return;let De=Ms(ws(j,ue),ws(te,ve),D);De<S&&R.push([De,ue,ve])}function tc(R,S,D,j,te=1/0){let ue=Math.min(j.distance(R[0],D[0][0]),te);if(ue===0)return ue;let ve=new Hc([[0,[0,R.length-1],[0,0]]],Vl),De=$s(D);for(;ve.length>0;){let Ze=ve.pop();if(Ze[0]>=ue)continue;let at=Ze[1],Tt=S?50:100;if(Js(at)<=Tt){if(!hc(at,R.length))return NaN;if(S){let Ft=wo(R,at,D,j);if(isNaN(Ft)||Ft===0)return Ft;ue=Math.min(ue,Ft)}else for(let Ft=at[0];Ft<=at[1];++Ft){let Qt=ov(R[Ft],D,j);if(ue=Math.min(ue,Qt),ue===0)return 0}}else{let Ft=Cc(at,S);Ja(ve,ue,j,R,De,Ft[0]),Ja(ve,ue,j,R,De,Ft[1])}}return ue}function uu(R,S,D,j,te,ue=1/0){let ve=Math.min(ue,te.distance(R[0],D[0]));if(ve===0)return ve;let De=new Hc([[0,[0,R.length-1],[0,D.length-1]]],Vl);for(;De.length>0;){let Ze=De.pop();if(Ze[0]>=ve)continue;let at=Ze[1],Tt=Ze[2],Ft=S?50:100,Qt=j?50:100;if(Js(at)<=Ft&&Js(Tt)<=Qt){if(!hc(at,R.length)&&hc(Tt,D.length))return NaN;let sr;if(S&&j)sr=ec(R,at,D,Tt,te),ve=Math.min(ve,sr);else if(S&&!j){let Tr=R.slice(at[0],at[1]+1);for(let Pr=Tt[0];Pr<=Tt[1];++Pr)if(sr=dc(D[Pr],Tr,te),ve=Math.min(ve,sr),ve===0)return ve}else if(!S&&j){let Tr=D.slice(Tt[0],Tt[1]+1);for(let Pr=at[0];Pr<=at[1];++Pr)if(sr=dc(R[Pr],Tr,te),ve=Math.min(ve,sr),ve===0)return ve}else sr=Ps(R,at,D,Tt,te),ve=Math.min(ve,sr)}else{let sr=Cc(at,S),Tr=Cc(Tt,j);Ef(De,ve,te,R,D,sr[0],Tr[0]),Ef(De,ve,te,R,D,sr[0],Tr[1]),Ef(De,ve,te,R,D,sr[1],Tr[0]),Ef(De,ve,te,R,D,sr[1],Tr[1])}}return ve}function Mh(R){return R.type===\"MultiPolygon\"?R.coordinates.map(S=>({type:\"Polygon\",coordinates:S})):R.type===\"MultiLineString\"?R.coordinates.map(S=>({type:\"LineString\",coordinates:S})):R.type===\"MultiPoint\"?R.coordinates.map(S=>({type:\"Point\",coordinates:S})):[R]}class jc{constructor(S,D){this.type=St,this.geojson=S,this.geometries=D}static parse(S,D){if(S.length!==2)return D.error(`'distance' expression requires exactly one argument, but found ${S.length-1} instead.`);if(Gi(S[1])){let j=S[1];if(j.type===\"FeatureCollection\")return new jc(j,j.features.map(te=>Mh(te.geometry)).flat());if(j.type===\"Feature\")return new jc(j,Mh(j.geometry));if(\"type\"in j&&\"coordinates\"in j)return new jc(j,Mh(j))}return D.error(\"'distance' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(S){if(S.geometry()!=null&&S.canonicalID()!=null){if(S.geometryType()===\"Point\")return function(D,j){let te=D.geometry(),ue=te.flat().map(Ze=>fa([Ze.x,Ze.y],D.canonical));if(te.length===0)return NaN;let ve=new ih(ue[0][1]),De=1/0;for(let Ze of j){switch(Ze.type){case\"Point\":De=Math.min(De,uu(ue,!1,[Ze.coordinates],!1,ve,De));break;case\"LineString\":De=Math.min(De,uu(ue,!1,Ze.coordinates,!0,ve,De));break;case\"Polygon\":De=Math.min(De,tc(ue,!1,Ze.coordinates,ve,De))}if(De===0)return De}return De}(S,this.geometries);if(S.geometryType()===\"LineString\")return function(D,j){let te=D.geometry(),ue=te.flat().map(Ze=>fa([Ze.x,Ze.y],D.canonical));if(te.length===0)return NaN;let ve=new ih(ue[0][1]),De=1/0;for(let Ze of j){switch(Ze.type){case\"Point\":De=Math.min(De,uu(ue,!0,[Ze.coordinates],!1,ve,De));break;case\"LineString\":De=Math.min(De,uu(ue,!0,Ze.coordinates,!0,ve,De));break;case\"Polygon\":De=Math.min(De,tc(ue,!0,Ze.coordinates,ve,De))}if(De===0)return De}return De}(S,this.geometries);if(S.geometryType()===\"Polygon\")return function(D,j){let te=D.geometry();if(te.length===0||te[0].length===0)return NaN;let ue=Of(te,0).map(Ze=>Ze.map(at=>at.map(Tt=>fa([Tt.x,Tt.y],D.canonical)))),ve=new ih(ue[0][0][0][1]),De=1/0;for(let Ze of j)for(let at of ue){switch(Ze.type){case\"Point\":De=Math.min(De,tc([Ze.coordinates],!1,at,ve,De));break;case\"LineString\":De=Math.min(De,tc(Ze.coordinates,!0,at,ve,De));break;case\"Polygon\":De=Math.min(De,$o(at,Ze.coordinates,ve,De))}if(De===0)return De}return De}(S,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}let kf={\"==\":os,\"!=\":cl,\">\":ml,\"<\":Cs,\">=\":Hs,\"<=\":Ys,array:Ra,at:br,boolean:Ra,case:Yi,coalesce:ks,collator:Eo,format:Ql,image:Hu,in:Hr,\"index-of\":ti,interpolate:xo,\"interpolate-hcl\":xo,\"interpolate-lab\":xo,length:fc,let:xn,literal:jn,match:zi,number:Ra,\"number-format\":fs,object:Ra,slice:an,step:Ji,string:Ra,\"to-boolean\":oa,\"to-color\":oa,\"to-number\":oa,\"to-string\":oa,var:_t,within:Al,distance:jc};class Ml{constructor(S,D,j,te){this.name=S,this.type=D,this._evaluate=j,this.args=te}evaluate(S){return this._evaluate(S,this.args)}eachChild(S){this.args.forEach(S)}outputDefined(){return!1}static parse(S,D){let j=S[0],te=Ml.definitions[j];if(!te)return D.error(`Unknown expression \"${j}\". If you wanted a literal array, use [\"literal\", [...]].`,0);let ue=Array.isArray(te)?te[0]:te.type,ve=Array.isArray(te)?[[te[1],te[2]]]:te.overloads,De=ve.filter(([at])=>!Array.isArray(at)||at.length===S.length-1),Ze=null;for(let[at,Tt]of De){Ze=new oo(D.registry,kh,D.path,null,D.scope);let Ft=[],Qt=!1;for(let sr=1;sr<S.length;sr++){let Tr=S[sr],Pr=Array.isArray(at)?at[sr-1]:at.type,$r=Ze.parse(Tr,1+Ft.length,Pr);if(!$r){Qt=!0;break}Ft.push($r)}if(!Qt)if(Array.isArray(at)&&at.length!==Ft.length)Ze.error(`Expected ${at.length} arguments, but found ${Ft.length} instead.`);else{for(let sr=0;sr<Ft.length;sr++){let Tr=Array.isArray(at)?at[sr]:at.type,Pr=Ft[sr];Ze.concat(sr+1).checkSubtype(Tr,Pr.type)}if(Ze.errors.length===0)return new Ml(j,ue,Tt,Ft)}}if(De.length===1)D.errors.push(...Ze.errors);else{let at=(De.length?De:ve).map(([Ft])=>{return Qt=Ft,Array.isArray(Qt)?`(${Qt.map(Ye).join(\", \")})`:`(${Ye(Qt.type)}...)`;var Qt}).join(\" | \"),Tt=[];for(let Ft=1;Ft<S.length;Ft++){let Qt=D.parse(S[Ft],1+Tt.length);if(!Qt)return null;Tt.push(Ye(Qt.type))}D.error(`Expected arguments of type ${at}, but found (${Tt.join(\", \")}) instead.`)}return null}static register(S,D){Ml.definitions=D;for(let j in D)S[j]=Ml}}function Yh(R,[S,D,j,te]){S=S.evaluate(R),D=D.evaluate(R),j=j.evaluate(R);let ue=te?te.evaluate(R):1,ve=Pi(S,D,j,ue);if(ve)throw new la(ve);return new Zt(S/255,D/255,j/255,ue,!1)}function Eh(R,S){return R in S}function nh(R,S){let D=S[R];return D===void 0?null:D}function hf(R){return{type:R}}function kh(R){if(R instanceof _t)return kh(R.boundExpression);if(R instanceof Ml&&R.name===\"error\"||R instanceof Eo||R instanceof Al||R instanceof jc)return!1;let S=R instanceof oa||R instanceof Ra,D=!0;return R.eachChild(j=>{D=S?D&&kh(j):D&&j instanceof jn}),!!D&&Kh(R)&&ah(R,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}function Kh(R){if(R instanceof Ml&&(R.name===\"get\"&&R.args.length===1||R.name===\"feature-state\"||R.name===\"has\"&&R.args.length===1||R.name===\"properties\"||R.name===\"geometry-type\"||R.name===\"id\"||/^filter-/.test(R.name))||R instanceof Al||R instanceof jc)return!1;let S=!0;return R.eachChild(D=>{S&&!Kh(D)&&(S=!1)}),S}function rc(R){if(R instanceof Ml&&R.name===\"feature-state\")return!1;let S=!0;return R.eachChild(D=>{S&&!rc(D)&&(S=!1)}),S}function ah(R,S){if(R instanceof Ml&&S.indexOf(R.name)>=0)return!1;let D=!0;return R.eachChild(j=>{D&&!ah(j,S)&&(D=!1)}),D}function Wc(R){return{result:\"success\",value:R}}function df(R){return{result:\"error\",value:R}}function Cu(R){return R[\"property-type\"]===\"data-driven\"||R[\"property-type\"]===\"cross-faded-data-driven\"}function Nf(R){return!!R.expression&&R.expression.parameters.indexOf(\"zoom\")>-1}function Zc(R){return!!R.expression&&R.expression.interpolated}function ds(R){return R instanceof Number?\"number\":R instanceof String?\"string\":R instanceof Boolean?\"boolean\":Array.isArray(R)?\"array\":R===null?\"null\":typeof R}function Ch(R){return typeof R==\"object\"&&R!==null&&!Array.isArray(R)}function Bd(R){return R}function Jh(R,S){let D=S.type===\"color\",j=R.stops&&typeof R.stops[0][0]==\"object\",te=j||!(j||R.property!==void 0),ue=R.type||(Zc(S)?\"exponential\":\"interval\");if(D||S.type===\"padding\"){let Tt=D?Zt.parse:Vr.parse;(R=Ke({},R)).stops&&(R.stops=R.stops.map(Ft=>[Ft[0],Tt(Ft[1])])),R.default=Tt(R.default?R.default:S.default)}if(R.colorSpace&&(ve=R.colorSpace)!==\"rgb\"&&ve!==\"hcl\"&&ve!==\"lab\")throw new Error(`Unknown color space: \"${R.colorSpace}\"`);var ve;let De,Ze,at;if(ue===\"exponential\")De=$h;else if(ue===\"interval\")De=Lu;else if(ue===\"categorical\"){De=pd,Ze=Object.create(null);for(let Tt of R.stops)Ze[Tt[0]]=Tt[1];at=typeof R.stops[0][0]}else{if(ue!==\"identity\")throw new Error(`Unknown function type \"${ue}\"`);De=tu}if(j){let Tt={},Ft=[];for(let Tr=0;Tr<R.stops.length;Tr++){let Pr=R.stops[Tr],$r=Pr[0].zoom;Tt[$r]===void 0&&(Tt[$r]={zoom:$r,type:R.type,property:R.property,default:R.default,stops:[]},Ft.push($r)),Tt[$r].stops.push([Pr[0].value,Pr[1]])}let Qt=[];for(let Tr of Ft)Qt.push([Tt[Tr].zoom,Jh(Tt[Tr],S)]);let sr={name:\"linear\"};return{kind:\"composite\",interpolationType:sr,interpolationFactor:xo.interpolationFactor.bind(void 0,sr),zoomStops:Qt.map(Tr=>Tr[0]),evaluate:({zoom:Tr},Pr)=>$h({stops:Qt,base:R.base},S,Tr).evaluate(Tr,Pr)}}if(te){let Tt=ue===\"exponential\"?{name:\"exponential\",base:R.base!==void 0?R.base:1}:null;return{kind:\"camera\",interpolationType:Tt,interpolationFactor:xo.interpolationFactor.bind(void 0,Tt),zoomStops:R.stops.map(Ft=>Ft[0]),evaluate:({zoom:Ft})=>De(R,S,Ft,Ze,at)}}return{kind:\"source\",evaluate(Tt,Ft){let Qt=Ft&&Ft.properties?Ft.properties[R.property]:void 0;return Qt===void 0?Cf(R.default,S.default):De(R,S,Qt,Ze,at)}}}function Cf(R,S,D){return R!==void 0?R:S!==void 0?S:D!==void 0?D:void 0}function pd(R,S,D,j,te){return Cf(typeof D===te?j[D]:void 0,R.default,S.default)}function Lu(R,S,D){if(ds(D)!==\"number\")return Cf(R.default,S.default);let j=R.stops.length;if(j===1||D<=R.stops[0][0])return R.stops[0][1];if(D>=R.stops[j-1][0])return R.stops[j-1][1];let te=hi(R.stops.map(ue=>ue[0]),D);return R.stops[te][1]}function $h(R,S,D){let j=R.base!==void 0?R.base:1;if(ds(D)!==\"number\")return Cf(R.default,S.default);let te=R.stops.length;if(te===1||D<=R.stops[0][0])return R.stops[0][1];if(D>=R.stops[te-1][0])return R.stops[te-1][1];let ue=hi(R.stops.map(Tt=>Tt[0]),D),ve=function(Tt,Ft,Qt,sr){let Tr=sr-Qt,Pr=Tt-Qt;return Tr===0?0:Ft===1?Pr/Tr:(Math.pow(Ft,Pr)-1)/(Math.pow(Ft,Tr)-1)}(D,j,R.stops[ue][0],R.stops[ue+1][0]),De=R.stops[ue][1],Ze=R.stops[ue+1][1],at=Mo[S.type]||Bd;return typeof De.evaluate==\"function\"?{evaluate(...Tt){let Ft=De.evaluate.apply(void 0,Tt),Qt=Ze.evaluate.apply(void 0,Tt);if(Ft!==void 0&&Qt!==void 0)return at(Ft,Qt,ve,R.colorSpace)}}:at(De,Ze,ve,R.colorSpace)}function tu(R,S,D){switch(S.type){case\"color\":D=Zt.parse(D);break;case\"formatted\":D=Zr.fromString(D.toString());break;case\"resolvedImage\":D=Mi.fromString(D.toString());break;case\"padding\":D=Vr.parse(D);break;default:ds(D)===S.type||S.type===\"enum\"&&S.values[D]||(D=void 0)}return Cf(D,R.default,S.default)}Ml.register(kf,{error:[{kind:\"error\"},[Et],(R,[S])=>{throw new la(S.evaluate(R))}],typeof:[Et,[fr],(R,[S])=>Ye(Ki(S.evaluate(R)))],\"to-rgba\":[Ne(St,4),[Ht],(R,[S])=>{let[D,j,te,ue]=S.evaluate(R).rgb;return[255*D,255*j,255*te,ue]}],rgb:[Ht,[St,St,St],Yh],rgba:[Ht,[St,St,St,St],Yh],has:{type:dt,overloads:[[[Et],(R,[S])=>Eh(S.evaluate(R),R.properties())],[[Et,$t],(R,[S,D])=>Eh(S.evaluate(R),D.evaluate(R))]]},get:{type:fr,overloads:[[[Et],(R,[S])=>nh(S.evaluate(R),R.properties())],[[Et,$t],(R,[S,D])=>nh(S.evaluate(R),D.evaluate(R))]]},\"feature-state\":[fr,[Et],(R,[S])=>nh(S.evaluate(R),R.featureState||{})],properties:[$t,[],R=>R.properties()],\"geometry-type\":[Et,[],R=>R.geometryType()],id:[fr,[],R=>R.id()],zoom:[St,[],R=>R.globals.zoom],\"heatmap-density\":[St,[],R=>R.globals.heatmapDensity||0],\"line-progress\":[St,[],R=>R.globals.lineProgress||0],accumulated:[fr,[],R=>R.globals.accumulated===void 0?null:R.globals.accumulated],\"+\":[St,hf(St),(R,S)=>{let D=0;for(let j of S)D+=j.evaluate(R);return D}],\"*\":[St,hf(St),(R,S)=>{let D=1;for(let j of S)D*=j.evaluate(R);return D}],\"-\":{type:St,overloads:[[[St,St],(R,[S,D])=>S.evaluate(R)-D.evaluate(R)],[[St],(R,[S])=>-S.evaluate(R)]]},\"/\":[St,[St,St],(R,[S,D])=>S.evaluate(R)/D.evaluate(R)],\"%\":[St,[St,St],(R,[S,D])=>S.evaluate(R)%D.evaluate(R)],ln2:[St,[],()=>Math.LN2],pi:[St,[],()=>Math.PI],e:[St,[],()=>Math.E],\"^\":[St,[St,St],(R,[S,D])=>Math.pow(S.evaluate(R),D.evaluate(R))],sqrt:[St,[St],(R,[S])=>Math.sqrt(S.evaluate(R))],log10:[St,[St],(R,[S])=>Math.log(S.evaluate(R))/Math.LN10],ln:[St,[St],(R,[S])=>Math.log(S.evaluate(R))],log2:[St,[St],(R,[S])=>Math.log(S.evaluate(R))/Math.LN2],sin:[St,[St],(R,[S])=>Math.sin(S.evaluate(R))],cos:[St,[St],(R,[S])=>Math.cos(S.evaluate(R))],tan:[St,[St],(R,[S])=>Math.tan(S.evaluate(R))],asin:[St,[St],(R,[S])=>Math.asin(S.evaluate(R))],acos:[St,[St],(R,[S])=>Math.acos(S.evaluate(R))],atan:[St,[St],(R,[S])=>Math.atan(S.evaluate(R))],min:[St,hf(St),(R,S)=>Math.min(...S.map(D=>D.evaluate(R)))],max:[St,hf(St),(R,S)=>Math.max(...S.map(D=>D.evaluate(R)))],abs:[St,[St],(R,[S])=>Math.abs(S.evaluate(R))],round:[St,[St],(R,[S])=>{let D=S.evaluate(R);return D<0?-Math.round(-D):Math.round(D)}],floor:[St,[St],(R,[S])=>Math.floor(S.evaluate(R))],ceil:[St,[St],(R,[S])=>Math.ceil(S.evaluate(R))],\"filter-==\":[dt,[Et,fr],(R,[S,D])=>R.properties()[S.value]===D.value],\"filter-id-==\":[dt,[fr],(R,[S])=>R.id()===S.value],\"filter-type-==\":[dt,[Et],(R,[S])=>R.geometryType()===S.value],\"filter-<\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j<te}],\"filter-id-<\":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D<j}],\"filter->\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j>te}],\"filter-id->\":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D>j}],\"filter-<=\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j<=te}],\"filter-id-<=\":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D<=j}],\"filter->=\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j>=te}],\"filter-id->=\":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D>=j}],\"filter-has\":[dt,[fr],(R,[S])=>S.value in R.properties()],\"filter-has-id\":[dt,[],R=>R.id()!==null&&R.id()!==void 0],\"filter-type-in\":[dt,[Ne(Et)],(R,[S])=>S.value.indexOf(R.geometryType())>=0],\"filter-id-in\":[dt,[Ne(fr)],(R,[S])=>S.value.indexOf(R.id())>=0],\"filter-in-small\":[dt,[Et,Ne(fr)],(R,[S,D])=>D.value.indexOf(R.properties()[S.value])>=0],\"filter-in-large\":[dt,[Et,Ne(fr)],(R,[S,D])=>function(j,te,ue,ve){for(;ue<=ve;){let De=ue+ve>>1;if(te[De]===j)return!0;te[De]>j?ve=De-1:ue=De+1}return!1}(R.properties()[S.value],D.value,0,D.value.length-1)],all:{type:dt,overloads:[[[dt,dt],(R,[S,D])=>S.evaluate(R)&&D.evaluate(R)],[hf(dt),(R,S)=>{for(let D of S)if(!D.evaluate(R))return!1;return!0}]]},any:{type:dt,overloads:[[[dt,dt],(R,[S,D])=>S.evaluate(R)||D.evaluate(R)],[hf(dt),(R,S)=>{for(let D of S)if(D.evaluate(R))return!0;return!1}]]},\"!\":[dt,[dt],(R,[S])=>!S.evaluate(R)],\"is-supported-script\":[dt,[Et],(R,[S])=>{let D=R.globals&&R.globals.isSupportedScript;return!D||D(S.evaluate(R))}],upcase:[Et,[Et],(R,[S])=>S.evaluate(R).toUpperCase()],downcase:[Et,[Et],(R,[S])=>S.evaluate(R).toLowerCase()],concat:[Et,hf(fr),(R,S)=>S.map(D=>ka(D.evaluate(R))).join(\"\")],\"resolved-locale\":[Et,[_r],(R,[S])=>S.evaluate(R).resolvedLocale()]});class Pu{constructor(S,D){var j;this.expression=S,this._warningHistory={},this._evaluator=new Ha,this._defaultValue=D?(j=D).type===\"color\"&&Ch(j.default)?new Zt(0,0,0,0):j.type===\"color\"?Zt.parse(j.default)||null:j.type===\"padding\"?Vr.parse(j.default)||null:j.type===\"variableAnchorOffsetCollection\"?Si.parse(j.default)||null:j.default===void 0?null:j.default:null,this._enumValues=D&&D.type===\"enum\"?D.values:null}evaluateWithoutErrorHandling(S,D,j,te,ue,ve){return this._evaluator.globals=S,this._evaluator.feature=D,this._evaluator.featureState=j,this._evaluator.canonical=te,this._evaluator.availableImages=ue||null,this._evaluator.formattedSection=ve,this.expression.evaluate(this._evaluator)}evaluate(S,D,j,te,ue,ve){this._evaluator.globals=S,this._evaluator.feature=D||null,this._evaluator.featureState=j||null,this._evaluator.canonical=te,this._evaluator.availableImages=ue||null,this._evaluator.formattedSection=ve||null;try{let De=this.expression.evaluate(this._evaluator);if(De==null||typeof De==\"number\"&&De!=De)return this._defaultValue;if(this._enumValues&&!(De in this._enumValues))throw new la(`Expected value to be one of ${Object.keys(this._enumValues).map(Ze=>JSON.stringify(Ze)).join(\", \")}, but found ${JSON.stringify(De)} instead.`);return De}catch(De){return this._warningHistory[De.message]||(this._warningHistory[De.message]=!0,typeof console!=\"undefined\"&&console.warn(De.message)),this._defaultValue}}}function Lc(R){return Array.isArray(R)&&R.length>0&&typeof R[0]==\"string\"&&R[0]in kf}function fl(R,S){let D=new oo(kf,kh,[],S?function(te){let ue={color:Ht,string:Et,number:St,enum:Et,boolean:dt,formatted:Br,padding:Or,resolvedImage:Nr,variableAnchorOffsetCollection:ut};return te.type===\"array\"?Ne(ue[te.value]||fr,te.length):ue[te.type]}(S):void 0),j=D.parse(R,void 0,void 0,void 0,S&&S.type===\"string\"?{typeAnnotation:\"coerce\"}:void 0);return j?Wc(new Pu(j,S)):df(D.errors)}class Xc{constructor(S,D){this.kind=S,this._styleExpression=D,this.isStateDependent=S!==\"constant\"&&!rc(D.expression)}evaluateWithoutErrorHandling(S,D,j,te,ue,ve){return this._styleExpression.evaluateWithoutErrorHandling(S,D,j,te,ue,ve)}evaluate(S,D,j,te,ue,ve){return this._styleExpression.evaluate(S,D,j,te,ue,ve)}}class ic{constructor(S,D,j,te){this.kind=S,this.zoomStops=j,this._styleExpression=D,this.isStateDependent=S!==\"camera\"&&!rc(D.expression),this.interpolationType=te}evaluateWithoutErrorHandling(S,D,j,te,ue,ve){return this._styleExpression.evaluateWithoutErrorHandling(S,D,j,te,ue,ve)}evaluate(S,D,j,te,ue,ve){return this._styleExpression.evaluate(S,D,j,te,ue,ve)}interpolationFactor(S,D,j){return this.interpolationType?xo.interpolationFactor(this.interpolationType,S,D,j):0}}function yu(R,S){let D=fl(R,S);if(D.result===\"error\")return D;let j=D.value.expression,te=Kh(j);if(!te&&!Cu(S))return df([new xt(\"\",\"data expressions not supported\")]);let ue=ah(j,[\"zoom\"]);if(!ue&&!Nf(S))return df([new xt(\"\",\"zoom expressions not supported\")]);let ve=Qh(j);return ve||ue?ve instanceof xt?df([ve]):ve instanceof xo&&!Zc(S)?df([new xt(\"\",'\"interpolate\" expressions cannot be used with this property')]):Wc(ve?new ic(te?\"camera\":\"composite\",D.value,ve.labels,ve instanceof xo?ve.interpolation:void 0):new Xc(te?\"constant\":\"source\",D.value)):df([new xt(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}class Qs{constructor(S,D){this._parameters=S,this._specification=D,Ke(this,Jh(this._parameters,this._specification))}static deserialize(S){return new Qs(S._parameters,S._specification)}static serialize(S){return{_parameters:S._parameters,_specification:S._specification}}}function Qh(R){let S=null;if(R instanceof xn)S=Qh(R.result);else if(R instanceof ks){for(let D of R.args)if(S=Qh(D),S)break}else(R instanceof Ji||R instanceof xo)&&R.input instanceof Ml&&R.input.name===\"zoom\"&&(S=R);return S instanceof xt||R.eachChild(D=>{let j=Qh(D);j instanceof xt?S=j:!S&&j?S=new xt(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):S&&j&&S!==j&&(S=new xt(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))}),S}function gd(R){if(R===!0||R===!1)return!0;if(!Array.isArray(R)||R.length===0)return!1;switch(R[0]){case\"has\":return R.length>=2&&R[1]!==\"$id\"&&R[1]!==\"$type\";case\"in\":return R.length>=3&&(typeof R[1]!=\"string\"||Array.isArray(R[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return R.length!==3||Array.isArray(R[1])||Array.isArray(R[2]);case\"any\":case\"all\":for(let S of R.slice(1))if(!gd(S)&&typeof S!=\"boolean\")return!1;return!0;default:return!0}}let Gu={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function Pc(R){if(R==null)return{filter:()=>!0,needGeometry:!1};gd(R)||(R=Lf(R));let S=fl(R,Gu);if(S.result===\"error\")throw new Error(S.value.map(D=>`${D.key}: ${D.message}`).join(\", \"));return{filter:(D,j,te)=>S.value.evaluate(D,j,{},te),needGeometry:sv(R)}}function vc(R,S){return R<S?-1:R>S?1:0}function sv(R){if(!Array.isArray(R))return!1;if(R[0]===\"within\"||R[0]===\"distance\")return!0;for(let S=1;S<R.length;S++)if(sv(R[S]))return!0;return!1}function Lf(R){if(!R)return!0;let S=R[0];return R.length<=1?S!==\"any\":S===\"==\"?Uf(R[1],R[2],\"==\"):S===\"!=\"?ru(Uf(R[1],R[2],\"==\")):S===\"<\"||S===\">\"||S===\"<=\"||S===\">=\"?Uf(R[1],R[2],S):S===\"any\"?(D=R.slice(1),[\"any\"].concat(D.map(Lf))):S===\"all\"?[\"all\"].concat(R.slice(1).map(Lf)):S===\"none\"?[\"all\"].concat(R.slice(1).map(Lf).map(ru)):S===\"in\"?Iu(R[1],R.slice(2)):S===\"!in\"?ru(Iu(R[1],R.slice(2))):S===\"has\"?oh(R[1]):S!==\"!has\"||ru(oh(R[1]));var D}function Uf(R,S,D){switch(R){case\"$type\":return[`filter-type-${D}`,S];case\"$id\":return[`filter-id-${D}`,S];default:return[`filter-${D}`,R,S]}}function Iu(R,S){if(S.length===0)return!1;switch(R){case\"$type\":return[\"filter-type-in\",[\"literal\",S]];case\"$id\":return[\"filter-id-in\",[\"literal\",S]];default:return S.length>200&&!S.some(D=>typeof D!=typeof S[0])?[\"filter-in-large\",R,[\"literal\",S.sort(vc)]]:[\"filter-in-small\",R,[\"literal\",S]]}}function oh(R){switch(R){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",R]}}function ru(R){return[\"!\",R]}function vf(R){let S=typeof R;if(S===\"number\"||S===\"boolean\"||S===\"string\"||R==null)return JSON.stringify(R);if(Array.isArray(R)){let te=\"[\";for(let ue of R)te+=`${vf(ue)},`;return`${te}]`}let D=Object.keys(R).sort(),j=\"{\";for(let te=0;te<D.length;te++)j+=`${JSON.stringify(D[te])}:${vf(R[D[te]])},`;return`${j}}`}function md(R){let S=\"\";for(let D of Ge)S+=`/${vf(R[D])}`;return S}function sh(R){let S=R.value;return S?[new er(R.key,S,\"constants have been deprecated as of v8\")]:[]}function Fs(R){return R instanceof Number||R instanceof String||R instanceof Boolean?R.valueOf():R}function _u(R){if(Array.isArray(R))return R.map(_u);if(R instanceof Object&&!(R instanceof Number||R instanceof String||R instanceof Boolean)){let S={};for(let D in R)S[D]=_u(R[D]);return S}return Fs(R)}function xu(R){let S=R.key,D=R.value,j=R.valueSpec||{},te=R.objectElementValidators||{},ue=R.style,ve=R.styleSpec,De=R.validateSpec,Ze=[],at=ds(D);if(at!==\"object\")return[new er(S,D,`object expected, ${at} found`)];for(let Tt in D){let Ft=Tt.split(\".\")[0],Qt=j[Ft]||j[\"*\"],sr;if(te[Ft])sr=te[Ft];else if(j[Ft])sr=De;else if(te[\"*\"])sr=te[\"*\"];else{if(!j[\"*\"]){Ze.push(new er(S,D[Tt],`unknown property \"${Tt}\"`));continue}sr=De}Ze=Ze.concat(sr({key:(S&&`${S}.`)+Tt,value:D[Tt],valueSpec:Qt,style:ue,styleSpec:ve,object:D,objectKey:Tt,validateSpec:De},D))}for(let Tt in j)te[Tt]||j[Tt].required&&j[Tt].default===void 0&&D[Tt]===void 0&&Ze.push(new er(S,D,`missing required property \"${Tt}\"`));return Ze}function Lh(R){let S=R.value,D=R.valueSpec,j=R.style,te=R.styleSpec,ue=R.key,ve=R.arrayElementValidator||R.validateSpec;if(ds(S)!==\"array\")return[new er(ue,S,`array expected, ${ds(S)} found`)];if(D.length&&S.length!==D.length)return[new er(ue,S,`array length ${D.length} expected, length ${S.length} found`)];if(D[\"min-length\"]&&S.length<D[\"min-length\"])return[new er(ue,S,`array length at least ${D[\"min-length\"]} expected, length ${S.length} found`)];let De={type:D.value,values:D.values};te.$version<7&&(De.function=D.function),ds(D.value)===\"object\"&&(De=D.value);let Ze=[];for(let at=0;at<S.length;at++)Ze=Ze.concat(ve({array:S,arrayIndex:at,value:S[at],valueSpec:De,validateSpec:R.validateSpec,style:j,styleSpec:te,key:`${ue}[${at}]`}));return Ze}function Is(R){let S=R.key,D=R.value,j=R.valueSpec,te=ds(D);return te===\"number\"&&D!=D&&(te=\"NaN\"),te!==\"number\"?[new er(S,D,`number expected, ${te} found`)]:\"minimum\"in j&&D<j.minimum?[new er(S,D,`${D} is less than the minimum value ${j.minimum}`)]:\"maximum\"in j&&D>j.maximum?[new er(S,D,`${D} is greater than the maximum value ${j.maximum}`)]:[]}function Pf(R){let S=R.valueSpec,D=Fs(R.value.type),j,te,ue,ve={},De=D!==\"categorical\"&&R.value.property===void 0,Ze=!De,at=ds(R.value.stops)===\"array\"&&ds(R.value.stops[0])===\"array\"&&ds(R.value.stops[0][0])===\"object\",Tt=xu({key:R.key,value:R.value,valueSpec:R.styleSpec.function,validateSpec:R.validateSpec,style:R.style,styleSpec:R.styleSpec,objectElementValidators:{stops:function(sr){if(D===\"identity\")return[new er(sr.key,sr.value,'identity function may not have a \"stops\" property')];let Tr=[],Pr=sr.value;return Tr=Tr.concat(Lh({key:sr.key,value:Pr,valueSpec:sr.valueSpec,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec,arrayElementValidator:Ft})),ds(Pr)===\"array\"&&Pr.length===0&&Tr.push(new er(sr.key,Pr,\"array must have at least one stop\")),Tr},default:function(sr){return sr.validateSpec({key:sr.key,value:sr.value,valueSpec:S,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec})}}});return D===\"identity\"&&De&&Tt.push(new er(R.key,R.value,'missing required property \"property\"')),D===\"identity\"||R.value.stops||Tt.push(new er(R.key,R.value,'missing required property \"stops\"')),D===\"exponential\"&&R.valueSpec.expression&&!Zc(R.valueSpec)&&Tt.push(new er(R.key,R.value,\"exponential functions not supported\")),R.styleSpec.$version>=8&&(Ze&&!Cu(R.valueSpec)?Tt.push(new er(R.key,R.value,\"property functions not supported\")):De&&!Nf(R.valueSpec)&&Tt.push(new er(R.key,R.value,\"zoom functions not supported\"))),D!==\"categorical\"&&!at||R.value.property!==void 0||Tt.push(new er(R.key,R.value,'\"property\" property is required')),Tt;function Ft(sr){let Tr=[],Pr=sr.value,$r=sr.key;if(ds(Pr)!==\"array\")return[new er($r,Pr,`array expected, ${ds(Pr)} found`)];if(Pr.length!==2)return[new er($r,Pr,`array length 2 expected, length ${Pr.length} found`)];if(at){if(ds(Pr[0])!==\"object\")return[new er($r,Pr,`object expected, ${ds(Pr[0])} found`)];if(Pr[0].zoom===void 0)return[new er($r,Pr,\"object stop key must have zoom\")];if(Pr[0].value===void 0)return[new er($r,Pr,\"object stop key must have value\")];if(ue&&ue>Fs(Pr[0].zoom))return[new er($r,Pr[0].zoom,\"stop zoom values must appear in ascending order\")];Fs(Pr[0].zoom)!==ue&&(ue=Fs(Pr[0].zoom),te=void 0,ve={}),Tr=Tr.concat(xu({key:`${$r}[0]`,value:Pr[0],valueSpec:{zoom:{}},validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec,objectElementValidators:{zoom:Is,value:Qt}}))}else Tr=Tr.concat(Qt({key:`${$r}[0]`,value:Pr[0],valueSpec:{},validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec},Pr));return Lc(_u(Pr[1]))?Tr.concat([new er(`${$r}[1]`,Pr[1],\"expressions are not allowed in function stops.\")]):Tr.concat(sr.validateSpec({key:`${$r}[1]`,value:Pr[1],valueSpec:S,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec}))}function Qt(sr,Tr){let Pr=ds(sr.value),$r=Fs(sr.value),ni=sr.value!==null?sr.value:Tr;if(j){if(Pr!==j)return[new er(sr.key,ni,`${Pr} stop domain type must match previous stop domain type ${j}`)]}else j=Pr;if(Pr!==\"number\"&&Pr!==\"string\"&&Pr!==\"boolean\")return[new er(sr.key,ni,\"stop domain value must be a number, string, or boolean\")];if(Pr!==\"number\"&&D!==\"categorical\"){let Di=`number expected, ${Pr} found`;return Cu(S)&&D===void 0&&(Di+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new er(sr.key,ni,Di)]}return D!==\"categorical\"||Pr!==\"number\"||isFinite($r)&&Math.floor($r)===$r?D!==\"categorical\"&&Pr===\"number\"&&te!==void 0&&$r<te?[new er(sr.key,ni,\"stop domain values must appear in ascending order\")]:(te=$r,D===\"categorical\"&&$r in ve?[new er(sr.key,ni,\"stop domain values must be unique\")]:(ve[$r]=!0,[])):[new er(sr.key,ni,`integer expected, found ${$r}`)]}}function Ic(R){let S=(R.expressionContext===\"property\"?yu:fl)(_u(R.value),R.valueSpec);if(S.result===\"error\")return S.value.map(j=>new er(`${R.key}${j.key}`,R.value,j.message));let D=S.value.expression||S.value._styleExpression.expression;if(R.expressionContext===\"property\"&&R.propertyKey===\"text-font\"&&!D.outputDefined())return[new er(R.key,R.value,`Invalid data expression for \"${R.propertyKey}\". Output values must be contained as literals within the expression.`)];if(R.expressionContext===\"property\"&&R.propertyType===\"layout\"&&!rc(D))return[new er(R.key,R.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(R.expressionContext===\"filter\"&&!rc(D))return[new er(R.key,R.value,'\"feature-state\" data expressions are not supported with filters.')];if(R.expressionContext&&R.expressionContext.indexOf(\"cluster\")===0){if(!ah(D,[\"zoom\",\"feature-state\"]))return[new er(R.key,R.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(R.expressionContext===\"cluster-initial\"&&!Kh(D))return[new er(R.key,R.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function ju(R){let S=R.key,D=R.value,j=R.valueSpec,te=[];return Array.isArray(j.values)?j.values.indexOf(Fs(D))===-1&&te.push(new er(S,D,`expected one of [${j.values.join(\", \")}], ${JSON.stringify(D)} found`)):Object.keys(j.values).indexOf(Fs(D))===-1&&te.push(new er(S,D,`expected one of [${Object.keys(j.values).join(\", \")}], ${JSON.stringify(D)} found`)),te}function Vf(R){return gd(_u(R.value))?Ic(Ke({},R,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):pc(R)}function pc(R){let S=R.value,D=R.key;if(ds(S)!==\"array\")return[new er(D,S,`array expected, ${ds(S)} found`)];let j=R.styleSpec,te,ue=[];if(S.length<1)return[new er(D,S,\"filter array must have at least 1 element\")];switch(ue=ue.concat(ju({key:`${D}[0]`,value:S[0],valueSpec:j.filter_operator,style:R.style,styleSpec:R.styleSpec})),Fs(S[0])){case\"<\":case\"<=\":case\">\":case\">=\":S.length>=2&&Fs(S[1])===\"$type\"&&ue.push(new er(D,S,`\"$type\" cannot be use with operator \"${S[0]}\"`));case\"==\":case\"!=\":S.length!==3&&ue.push(new er(D,S,`filter array for operator \"${S[0]}\" must have 3 elements`));case\"in\":case\"!in\":S.length>=2&&(te=ds(S[1]),te!==\"string\"&&ue.push(new er(`${D}[1]`,S[1],`string expected, ${te} found`)));for(let ve=2;ve<S.length;ve++)te=ds(S[ve]),Fs(S[1])===\"$type\"?ue=ue.concat(ju({key:`${D}[${ve}]`,value:S[ve],valueSpec:j.geometry_type,style:R.style,styleSpec:R.styleSpec})):te!==\"string\"&&te!==\"number\"&&te!==\"boolean\"&&ue.push(new er(`${D}[${ve}]`,S[ve],`string, number, or boolean expected, ${te} found`));break;case\"any\":case\"all\":case\"none\":for(let ve=1;ve<S.length;ve++)ue=ue.concat(pc({key:`${D}[${ve}]`,value:S[ve],style:R.style,styleSpec:R.styleSpec}));break;case\"has\":case\"!has\":te=ds(S[1]),S.length!==2?ue.push(new er(D,S,`filter array for \"${S[0]}\" operator must have 2 elements`)):te!==\"string\"&&ue.push(new er(`${D}[1]`,S[1],`string expected, ${te} found`))}return ue}function pf(R,S){let D=R.key,j=R.validateSpec,te=R.style,ue=R.styleSpec,ve=R.value,De=R.objectKey,Ze=ue[`${S}_${R.layerType}`];if(!Ze)return[];let at=De.match(/^(.*)-transition$/);if(S===\"paint\"&&at&&Ze[at[1]]&&Ze[at[1]].transition)return j({key:D,value:ve,valueSpec:ue.transition,style:te,styleSpec:ue});let Tt=R.valueSpec||Ze[De];if(!Tt)return[new er(D,ve,`unknown property \"${De}\"`)];let Ft;if(ds(ve)===\"string\"&&Cu(Tt)&&!Tt.tokens&&(Ft=/^{([^}]+)}$/.exec(ve)))return[new er(D,ve,`\"${De}\" does not support interpolation syntax\n", - "Use an identity property function instead: \\`{ \"type\": \"identity\", \"property\": ${JSON.stringify(Ft[1])} }\\`.`)];let Qt=[];return R.layerType===\"symbol\"&&(De===\"text-field\"&&te&&!te.glyphs&&Qt.push(new er(D,ve,'use of \"text-field\" requires a style \"glyphs\" property')),De===\"text-font\"&&Ch(_u(ve))&&Fs(ve.type)===\"identity\"&&Qt.push(new er(D,ve,'\"text-font\" does not support identity functions'))),Qt.concat(j({key:R.key,value:ve,valueSpec:Tt,style:te,styleSpec:ue,expressionContext:\"property\",propertyType:S,propertyKey:De}))}function Ph(R){return pf(R,\"paint\")}function Dl(R){return pf(R,\"layout\")}function Ih(R){let S=[],D=R.value,j=R.key,te=R.style,ue=R.styleSpec;D.type||D.ref||S.push(new er(j,D,'either \"type\" or \"ref\" is required'));let ve=Fs(D.type),De=Fs(D.ref);if(D.id){let Ze=Fs(D.id);for(let at=0;at<R.arrayIndex;at++){let Tt=te.layers[at];Fs(Tt.id)===Ze&&S.push(new er(j,D.id,`duplicate layer id \"${D.id}\", previously used at line ${Tt.id.__line__}`))}}if(\"ref\"in D){let Ze;[\"type\",\"source\",\"source-layer\",\"filter\",\"layout\"].forEach(at=>{at in D&&S.push(new er(j,D[at],`\"${at}\" is prohibited for ref layers`))}),te.layers.forEach(at=>{Fs(at.id)===De&&(Ze=at)}),Ze?Ze.ref?S.push(new er(j,D.ref,\"ref cannot reference another ref layer\")):ve=Fs(Ze.type):S.push(new er(j,D.ref,`ref layer \"${De}\" not found`))}else if(ve!==\"background\")if(D.source){let Ze=te.sources&&te.sources[D.source],at=Ze&&Fs(Ze.type);Ze?at===\"vector\"&&ve===\"raster\"?S.push(new er(j,D.source,`layer \"${D.id}\" requires a raster source`)):at!==\"raster-dem\"&&ve===\"hillshade\"?S.push(new er(j,D.source,`layer \"${D.id}\" requires a raster-dem source`)):at===\"raster\"&&ve!==\"raster\"?S.push(new er(j,D.source,`layer \"${D.id}\" requires a vector source`)):at!==\"vector\"||D[\"source-layer\"]?at===\"raster-dem\"&&ve!==\"hillshade\"?S.push(new er(j,D.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):ve!==\"line\"||!D.paint||!D.paint[\"line-gradient\"]||at===\"geojson\"&&Ze.lineMetrics||S.push(new er(j,D,`layer \"${D.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):S.push(new er(j,D,`layer \"${D.id}\" must specify a \"source-layer\"`)):S.push(new er(j,D.source,`source \"${D.source}\" not found`))}else S.push(new er(j,D,'missing required property \"source\"'));return S=S.concat(xu({key:j,value:D,valueSpec:ue.layer,style:R.style,styleSpec:R.styleSpec,validateSpec:R.validateSpec,objectElementValidators:{\"*\":()=>[],type:()=>R.validateSpec({key:`${j}.type`,value:D.type,valueSpec:ue.layer.type,style:R.style,styleSpec:R.styleSpec,validateSpec:R.validateSpec,object:D,objectKey:\"type\"}),filter:Vf,layout:Ze=>xu({layer:D,key:Ze.key,value:Ze.value,style:Ze.style,styleSpec:Ze.styleSpec,validateSpec:Ze.validateSpec,objectElementValidators:{\"*\":at=>Dl(Ke({layerType:ve},at))}}),paint:Ze=>xu({layer:D,key:Ze.key,value:Ze.value,style:Ze.style,styleSpec:Ze.styleSpec,validateSpec:Ze.validateSpec,objectElementValidators:{\"*\":at=>Ph(Ke({layerType:ve},at))}})}})),S}function Wu(R){let S=R.value,D=R.key,j=ds(S);return j!==\"string\"?[new er(D,S,`string expected, ${j} found`)]:[]}let Rc={promoteId:function({key:R,value:S}){if(ds(S)===\"string\")return Wu({key:R,value:S});{let D=[];for(let j in S)D.push(...Wu({key:`${R}.${j}`,value:S[j]}));return D}}};function gc(R){let S=R.value,D=R.key,j=R.styleSpec,te=R.style,ue=R.validateSpec;if(!S.type)return[new er(D,S,'\"type\" is required')];let ve=Fs(S.type),De;switch(ve){case\"vector\":case\"raster\":return De=xu({key:D,value:S,valueSpec:j[`source_${ve.replace(\"-\",\"_\")}`],style:R.style,styleSpec:j,objectElementValidators:Rc,validateSpec:ue}),De;case\"raster-dem\":return De=function(Ze){var at;let Tt=(at=Ze.sourceName)!==null&&at!==void 0?at:\"\",Ft=Ze.value,Qt=Ze.styleSpec,sr=Qt.source_raster_dem,Tr=Ze.style,Pr=[],$r=ds(Ft);if(Ft===void 0)return Pr;if($r!==\"object\")return Pr.push(new er(\"source_raster_dem\",Ft,`object expected, ${$r} found`)),Pr;let ni=Fs(Ft.encoding)===\"custom\",Di=[\"redFactor\",\"greenFactor\",\"blueFactor\",\"baseShift\"],pi=Ze.value.encoding?`\"${Ze.value.encoding}\"`:\"Default\";for(let ki in Ft)!ni&&Di.includes(ki)?Pr.push(new er(ki,Ft[ki],`In \"${Tt}\": \"${ki}\" is only valid when \"encoding\" is set to \"custom\". ${pi} encoding found`)):sr[ki]?Pr=Pr.concat(Ze.validateSpec({key:ki,value:Ft[ki],valueSpec:sr[ki],validateSpec:Ze.validateSpec,style:Tr,styleSpec:Qt})):Pr.push(new er(ki,Ft[ki],`unknown property \"${ki}\"`));return Pr}({sourceName:D,value:S,style:R.style,styleSpec:j,validateSpec:ue}),De;case\"geojson\":if(De=xu({key:D,value:S,valueSpec:j.source_geojson,style:te,styleSpec:j,validateSpec:ue,objectElementValidators:Rc}),S.cluster)for(let Ze in S.clusterProperties){let[at,Tt]=S.clusterProperties[Ze],Ft=typeof at==\"string\"?[at,[\"accumulated\"],[\"get\",Ze]]:at;De.push(...Ic({key:`${D}.${Ze}.map`,value:Tt,validateSpec:ue,expressionContext:\"cluster-map\"})),De.push(...Ic({key:`${D}.${Ze}.reduce`,value:Ft,validateSpec:ue,expressionContext:\"cluster-reduce\"}))}return De;case\"video\":return xu({key:D,value:S,valueSpec:j.source_video,style:te,validateSpec:ue,styleSpec:j});case\"image\":return xu({key:D,value:S,valueSpec:j.source_image,style:te,validateSpec:ue,styleSpec:j});case\"canvas\":return[new er(D,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return ju({key:`${D}.type`,value:S.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:te,validateSpec:ue,styleSpec:j})}}function hl(R){let S=R.value,D=R.styleSpec,j=D.light,te=R.style,ue=[],ve=ds(S);if(S===void 0)return ue;if(ve!==\"object\")return ue=ue.concat([new er(\"light\",S,`object expected, ${ve} found`)]),ue;for(let De in S){let Ze=De.match(/^(.*)-transition$/);ue=ue.concat(Ze&&j[Ze[1]]&&j[Ze[1]].transition?R.validateSpec({key:De,value:S[De],valueSpec:D.transition,validateSpec:R.validateSpec,style:te,styleSpec:D}):j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],validateSpec:R.validateSpec,style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)])}return ue}function iu(R){let S=R.value,D=R.styleSpec,j=D.sky,te=R.style,ue=ds(S);if(S===void 0)return[];if(ue!==\"object\")return[new er(\"sky\",S,`object expected, ${ue} found`)];let ve=[];for(let De in S)ve=ve.concat(j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)]);return ve}function mc(R){let S=R.value,D=R.styleSpec,j=D.terrain,te=R.style,ue=[],ve=ds(S);if(S===void 0)return ue;if(ve!==\"object\")return ue=ue.concat([new er(\"terrain\",S,`object expected, ${ve} found`)]),ue;for(let De in S)ue=ue.concat(j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],validateSpec:R.validateSpec,style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)]);return ue}function Yc(R){let S=[],D=R.value,j=R.key;if(Array.isArray(D)){let te=[],ue=[];for(let ve in D)D[ve].id&&te.includes(D[ve].id)&&S.push(new er(j,D,`all the sprites' ids must be unique, but ${D[ve].id} is duplicated`)),te.push(D[ve].id),D[ve].url&&ue.includes(D[ve].url)&&S.push(new er(j,D,`all the sprites' URLs must be unique, but ${D[ve].url} is duplicated`)),ue.push(D[ve].url),S=S.concat(xu({key:`${j}[${ve}]`,value:D[ve],valueSpec:{id:{type:\"string\",required:!0},url:{type:\"string\",required:!0}},validateSpec:R.validateSpec}));return S}return Wu({key:j,value:D})}let nc={\"*\":()=>[],array:Lh,boolean:function(R){let S=R.value,D=R.key,j=ds(S);return j!==\"boolean\"?[new er(D,S,`boolean expected, ${j} found`)]:[]},number:Is,color:function(R){let S=R.key,D=R.value,j=ds(D);return j!==\"string\"?[new er(S,D,`color expected, ${j} found`)]:Zt.parse(String(D))?[]:[new er(S,D,`color expected, \"${D}\" found`)]},constants:sh,enum:ju,filter:Vf,function:Pf,layer:Ih,object:xu,source:gc,light:hl,sky:iu,terrain:mc,projection:function(R){let S=R.value,D=R.styleSpec,j=D.projection,te=R.style,ue=ds(S);if(S===void 0)return[];if(ue!==\"object\")return[new er(\"projection\",S,`object expected, ${ue} found`)];let ve=[];for(let De in S)ve=ve.concat(j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)]);return ve},string:Wu,formatted:function(R){return Wu(R).length===0?[]:Ic(R)},resolvedImage:function(R){return Wu(R).length===0?[]:Ic(R)},padding:function(R){let S=R.key,D=R.value;if(ds(D)===\"array\"){if(D.length<1||D.length>4)return[new er(S,D,`padding requires 1 to 4 values; ${D.length} values found`)];let j={type:\"number\"},te=[];for(let ue=0;ue<D.length;ue++)te=te.concat(R.validateSpec({key:`${S}[${ue}]`,value:D[ue],validateSpec:R.validateSpec,valueSpec:j}));return te}return Is({key:S,value:D,valueSpec:{}})},variableAnchorOffsetCollection:function(R){let S=R.key,D=R.value,j=ds(D),te=R.styleSpec;if(j!==\"array\"||D.length<1||D.length%2!=0)return[new er(S,D,\"variableAnchorOffsetCollection requires a non-empty array of even length\")];let ue=[];for(let ve=0;ve<D.length;ve+=2)ue=ue.concat(ju({key:`${S}[${ve}]`,value:D[ve],valueSpec:te.layout_symbol[\"text-anchor\"]})),ue=ue.concat(Lh({key:`${S}[${ve+1}]`,value:D[ve+1],valueSpec:{length:2,value:\"number\"},validateSpec:R.validateSpec,style:R.style,styleSpec:te}));return ue},sprite:Yc};function gf(R){let S=R.value,D=R.valueSpec,j=R.styleSpec;return R.validateSpec=gf,D.expression&&Ch(Fs(S))?Pf(R):D.expression&&Lc(_u(S))?Ic(R):D.type&&nc[D.type]?nc[D.type](R):xu(Ke({},R,{valueSpec:D.type?j[D.type]:D}))}function gt(R){let S=R.value,D=R.key,j=Wu(R);return j.length||(S.indexOf(\"{fontstack}\")===-1&&j.push(new er(D,S,'\"glyphs\" url must include a \"{fontstack}\" token')),S.indexOf(\"{range}\")===-1&&j.push(new er(D,S,'\"glyphs\" url must include a \"{range}\" token'))),j}function Bt(R,S=ce){let D=[];return D=D.concat(gf({key:\"\",value:R,valueSpec:S.$root,styleSpec:S,style:R,validateSpec:gf,objectElementValidators:{glyphs:gt,\"*\":()=>[]}})),R.constants&&(D=D.concat(sh({key:\"constants\",value:R.constants,style:R,styleSpec:S,validateSpec:gf}))),vr(D)}function wr(R){return function(S){return R($Q(JQ({},S),{validateSpec:gf}))}}function vr(R){return[].concat(R).sort((S,D)=>S.line-D.line)}function Ur(R){return function(...S){return vr(R.apply(this,S))}}Bt.source=Ur(wr(gc)),Bt.sprite=Ur(wr(Yc)),Bt.glyphs=Ur(wr(gt)),Bt.light=Ur(wr(hl)),Bt.sky=Ur(wr(iu)),Bt.terrain=Ur(wr(mc)),Bt.layer=Ur(wr(Ih)),Bt.filter=Ur(wr(Vf)),Bt.paintProperty=Ur(wr(Ph)),Bt.layoutProperty=Ur(wr(Dl));let fi=Bt,xi=fi.light,Fi=fi.sky,Xi=fi.paintProperty,hn=fi.layoutProperty;function Ti(R,S){let D=!1;if(S&&S.length)for(let j of S)R.fire(new me(new Error(j.message))),D=!0;return D}class qi{constructor(S,D,j){let te=this.cells=[];if(S instanceof ArrayBuffer){this.arrayBuffer=S;let ve=new Int32Array(this.arrayBuffer);S=ve[0],this.d=(D=ve[1])+2*(j=ve[2]);for(let Ze=0;Ze<this.d*this.d;Ze++){let at=ve[3+Ze],Tt=ve[3+Ze+1];te.push(at===Tt?null:ve.subarray(at,Tt))}let De=ve[3+te.length+1];this.keys=ve.subarray(ve[3+te.length],De),this.bboxes=ve.subarray(De),this.insert=this._insertReadonly}else{this.d=D+2*j;for(let ve=0;ve<this.d*this.d;ve++)te.push([]);this.keys=[],this.bboxes=[]}this.n=D,this.extent=S,this.padding=j,this.scale=D/S,this.uid=0;let ue=j/D*S;this.min=-ue,this.max=S+ue}insert(S,D,j,te,ue){this._forEachCell(D,j,te,ue,this._insertCell,this.uid++,void 0,void 0),this.keys.push(S),this.bboxes.push(D),this.bboxes.push(j),this.bboxes.push(te),this.bboxes.push(ue)}_insertReadonly(){throw new Error(\"Cannot insert into a GridIndex created from an ArrayBuffer.\")}_insertCell(S,D,j,te,ue,ve){this.cells[ue].push(ve)}query(S,D,j,te,ue){let ve=this.min,De=this.max;if(S<=ve&&D<=ve&&De<=j&&De<=te&&!ue)return Array.prototype.slice.call(this.keys);{let Ze=[];return this._forEachCell(S,D,j,te,this._queryCell,Ze,{},ue),Ze}}_queryCell(S,D,j,te,ue,ve,De,Ze){let at=this.cells[ue];if(at!==null){let Tt=this.keys,Ft=this.bboxes;for(let Qt=0;Qt<at.length;Qt++){let sr=at[Qt];if(De[sr]===void 0){let Tr=4*sr;(Ze?Ze(Ft[Tr+0],Ft[Tr+1],Ft[Tr+2],Ft[Tr+3]):S<=Ft[Tr+2]&&D<=Ft[Tr+3]&&j>=Ft[Tr+0]&&te>=Ft[Tr+1])?(De[sr]=!0,ve.push(Tt[sr])):De[sr]=!1}}}}_forEachCell(S,D,j,te,ue,ve,De,Ze){let at=this._convertToCellCoord(S),Tt=this._convertToCellCoord(D),Ft=this._convertToCellCoord(j),Qt=this._convertToCellCoord(te);for(let sr=at;sr<=Ft;sr++)for(let Tr=Tt;Tr<=Qt;Tr++){let Pr=this.d*Tr+sr;if((!Ze||Ze(this._convertFromCellCoord(sr),this._convertFromCellCoord(Tr),this._convertFromCellCoord(sr+1),this._convertFromCellCoord(Tr+1)))&&ue.call(this,S,D,j,te,Pr,ve,De,Ze))return}}_convertFromCellCoord(S){return(S-this.padding)/this.scale}_convertToCellCoord(S){return Math.max(0,Math.min(this.d-1,Math.floor(S*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let S=this.cells,D=3+this.cells.length+1+1,j=0;for(let ve=0;ve<this.cells.length;ve++)j+=this.cells[ve].length;let te=new Int32Array(D+j+this.keys.length+this.bboxes.length);te[0]=this.extent,te[1]=this.n,te[2]=this.padding;let ue=D;for(let ve=0;ve<S.length;ve++){let De=S[ve];te[3+ve]=ue,te.set(De,ue),ue+=De.length}return te[3+S.length]=ue,te.set(this.keys,ue),ue+=this.keys.length,te[3+S.length+1]=ue,te.set(this.bboxes,ue),ue+=this.bboxes.length,te.buffer}static serialize(S,D){let j=S.toArrayBuffer();return D&&D.push(j),{buffer:j}}static deserialize(S){return new qi(S.buffer)}}let Ii={};function mi(R,S,D={}){if(Ii[R])throw new Error(`${R} is already registered.`);Object.defineProperty(S,\"_classRegistryKey\",{value:R,writeable:!1}),Ii[R]={klass:S,omit:D.omit||[],shallow:D.shallow||[]}}mi(\"Object\",Object),mi(\"TransferableGridIndex\",qi),mi(\"Color\",Zt),mi(\"Error\",Error),mi(\"AJAXError\",ge),mi(\"ResolvedImage\",Mi),mi(\"StylePropertyFunction\",Qs),mi(\"StyleExpression\",Pu,{omit:[\"_evaluator\"]}),mi(\"ZoomDependentExpression\",ic),mi(\"ZoomConstantExpression\",Xc),mi(\"CompoundExpression\",Ml,{omit:[\"_evaluate\"]});for(let R in kf)kf[R]._classRegistryKey||mi(`Expression_${R}`,kf[R]);function Pn(R){return R&&typeof ArrayBuffer!=\"undefined\"&&(R instanceof ArrayBuffer||R.constructor&&R.constructor.name===\"ArrayBuffer\")}function Ma(R){return R.$name||R.constructor._classRegistryKey}function Ta(R){return!function(S){if(S===null||typeof S!=\"object\")return!1;let D=Ma(S);return!(!D||D===\"Object\")}(R)&&(R==null||typeof R==\"boolean\"||typeof R==\"number\"||typeof R==\"string\"||R instanceof Boolean||R instanceof Number||R instanceof String||R instanceof Date||R instanceof RegExp||R instanceof Blob||R instanceof Error||Pn(R)||H(R)||ArrayBuffer.isView(R)||R instanceof ImageData)}function Ea(R,S){if(Ta(R))return(Pn(R)||H(R))&&S&&S.push(R),ArrayBuffer.isView(R)&&S&&S.push(R.buffer),R instanceof ImageData&&S&&S.push(R.data.buffer),R;if(Array.isArray(R)){let ue=[];for(let ve of R)ue.push(Ea(ve,S));return ue}if(typeof R!=\"object\")throw new Error(\"can't serialize object of type \"+typeof R);let D=Ma(R);if(!D)throw new Error(`can't serialize object of unregistered class ${R.constructor.name}`);if(!Ii[D])throw new Error(`${D} is not registered.`);let{klass:j}=Ii[D],te=j.serialize?j.serialize(R,S):{};if(j.serialize){if(S&&te===S[S.length-1])throw new Error(\"statically serialized object won't survive transfer of $name property\")}else{for(let ue in R){if(!R.hasOwnProperty(ue)||Ii[D].omit.indexOf(ue)>=0)continue;let ve=R[ue];te[ue]=Ii[D].shallow.indexOf(ue)>=0?ve:Ea(ve,S)}R instanceof Error&&(te.message=R.message)}if(te.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return D!==\"Object\"&&(te.$name=D),te}function qa(R){if(Ta(R))return R;if(Array.isArray(R))return R.map(qa);if(typeof R!=\"object\")throw new Error(\"can't deserialize object of type \"+typeof R);let S=Ma(R)||\"Object\";if(!Ii[S])throw new Error(`can't deserialize unregistered class ${S}`);let{klass:D}=Ii[S];if(!D)throw new Error(`can't deserialize unregistered class ${S}`);if(D.deserialize)return D.deserialize(R);let j=Object.create(D.prototype);for(let te of Object.keys(R)){if(te===\"$name\")continue;let ue=R[te];j[te]=Ii[S].shallow.indexOf(te)>=0?ue:qa(ue)}return j}class Cn{constructor(){this.first=!0}update(S,D){let j=Math.floor(S);return this.first?(this.first=!1,this.lastIntegerZoom=j,this.lastIntegerZoomTime=0,this.lastZoom=S,this.lastFloorZoom=j,!0):(this.lastFloorZoom>j?(this.lastIntegerZoom=j+1,this.lastIntegerZoomTime=D):this.lastFloorZoom<j&&(this.lastIntegerZoom=j,this.lastIntegerZoomTime=D),S!==this.lastZoom&&(this.lastZoom=S,this.lastFloorZoom=j,!0))}}let sn={\"Latin-1 Supplement\":R=>R>=128&&R<=255,\"Hangul Jamo\":R=>R>=4352&&R<=4607,Khmer:R=>R>=6016&&R<=6143,\"General Punctuation\":R=>R>=8192&&R<=8303,\"Letterlike Symbols\":R=>R>=8448&&R<=8527,\"Number Forms\":R=>R>=8528&&R<=8591,\"Miscellaneous Technical\":R=>R>=8960&&R<=9215,\"Control Pictures\":R=>R>=9216&&R<=9279,\"Optical Character Recognition\":R=>R>=9280&&R<=9311,\"Enclosed Alphanumerics\":R=>R>=9312&&R<=9471,\"Geometric Shapes\":R=>R>=9632&&R<=9727,\"Miscellaneous Symbols\":R=>R>=9728&&R<=9983,\"Miscellaneous Symbols and Arrows\":R=>R>=11008&&R<=11263,\"Ideographic Description Characters\":R=>R>=12272&&R<=12287,\"CJK Symbols and Punctuation\":R=>R>=12288&&R<=12351,Katakana:R=>R>=12448&&R<=12543,Kanbun:R=>R>=12688&&R<=12703,\"CJK Strokes\":R=>R>=12736&&R<=12783,\"Enclosed CJK Letters and Months\":R=>R>=12800&&R<=13055,\"CJK Compatibility\":R=>R>=13056&&R<=13311,\"Yijing Hexagram Symbols\":R=>R>=19904&&R<=19967,\"Private Use Area\":R=>R>=57344&&R<=63743,\"Vertical Forms\":R=>R>=65040&&R<=65055,\"CJK Compatibility Forms\":R=>R>=65072&&R<=65103,\"Small Form Variants\":R=>R>=65104&&R<=65135,\"Halfwidth and Fullwidth Forms\":R=>R>=65280&&R<=65519};function Ua(R){for(let S of R)if(Bo(S.charCodeAt(0)))return!0;return!1}function mo(R){for(let S of R)if(!Qo(S.charCodeAt(0)))return!1;return!0}function Xo(R){let S=R.map(D=>{try{return new RegExp(`\\\\p{sc=${D}}`,\"u\").source}catch(j){return null}}).filter(D=>D);return new RegExp(S.join(\"|\"),\"u\")}let Ts=Xo([\"Arab\",\"Dupl\",\"Mong\",\"Ougr\",\"Syrc\"]);function Qo(R){return!Ts.test(String.fromCodePoint(R))}let ys=Xo([\"Bopo\",\"Hani\",\"Hira\",\"Kana\",\"Kits\",\"Nshu\",\"Tang\",\"Yiii\"]);function Bo(R){return!(R!==746&&R!==747&&(R<4352||!(sn[\"CJK Compatibility Forms\"](R)&&!(R>=65097&&R<=65103)||sn[\"CJK Compatibility\"](R)||sn[\"CJK Strokes\"](R)||!(!sn[\"CJK Symbols and Punctuation\"](R)||R>=12296&&R<=12305||R>=12308&&R<=12319||R===12336)||sn[\"Enclosed CJK Letters and Months\"](R)||sn[\"Ideographic Description Characters\"](R)||sn.Kanbun(R)||sn.Katakana(R)&&R!==12540||!(!sn[\"Halfwidth and Fullwidth Forms\"](R)||R===65288||R===65289||R===65293||R>=65306&&R<=65310||R===65339||R===65341||R===65343||R>=65371&&R<=65503||R===65507||R>=65512&&R<=65519)||!(!sn[\"Small Form Variants\"](R)||R>=65112&&R<=65118||R>=65123&&R<=65126)||sn[\"Vertical Forms\"](R)||sn[\"Yijing Hexagram Symbols\"](R)||new RegExp(\"\\\\p{sc=Cans}\",\"u\").test(String.fromCodePoint(R))||new RegExp(\"\\\\p{sc=Hang}\",\"u\").test(String.fromCodePoint(R))||ys.test(String.fromCodePoint(R)))))}function yl(R){return!(Bo(R)||function(S){return!!(sn[\"Latin-1 Supplement\"](S)&&(S===167||S===169||S===174||S===177||S===188||S===189||S===190||S===215||S===247)||sn[\"General Punctuation\"](S)&&(S===8214||S===8224||S===8225||S===8240||S===8241||S===8251||S===8252||S===8258||S===8263||S===8264||S===8265||S===8273)||sn[\"Letterlike Symbols\"](S)||sn[\"Number Forms\"](S)||sn[\"Miscellaneous Technical\"](S)&&(S>=8960&&S<=8967||S>=8972&&S<=8991||S>=8996&&S<=9e3||S===9003||S>=9085&&S<=9114||S>=9150&&S<=9165||S===9167||S>=9169&&S<=9179||S>=9186&&S<=9215)||sn[\"Control Pictures\"](S)&&S!==9251||sn[\"Optical Character Recognition\"](S)||sn[\"Enclosed Alphanumerics\"](S)||sn[\"Geometric Shapes\"](S)||sn[\"Miscellaneous Symbols\"](S)&&!(S>=9754&&S<=9759)||sn[\"Miscellaneous Symbols and Arrows\"](S)&&(S>=11026&&S<=11055||S>=11088&&S<=11097||S>=11192&&S<=11243)||sn[\"CJK Symbols and Punctuation\"](S)||sn.Katakana(S)||sn[\"Private Use Area\"](S)||sn[\"CJK Compatibility Forms\"](S)||sn[\"Small Form Variants\"](S)||sn[\"Halfwidth and Fullwidth Forms\"](S)||S===8734||S===8756||S===8757||S>=9984&&S<=10087||S>=10102&&S<=10131||S===65532||S===65533)}(R))}let Gs=Xo([\"Adlm\",\"Arab\",\"Armi\",\"Avst\",\"Chrs\",\"Cprt\",\"Egyp\",\"Elym\",\"Gara\",\"Hatr\",\"Hebr\",\"Hung\",\"Khar\",\"Lydi\",\"Mand\",\"Mani\",\"Mend\",\"Merc\",\"Mero\",\"Narb\",\"Nbat\",\"Nkoo\",\"Orkh\",\"Palm\",\"Phli\",\"Phlp\",\"Phnx\",\"Prti\",\"Rohg\",\"Samr\",\"Sarb\",\"Sogo\",\"Syrc\",\"Thaa\",\"Todr\",\"Yezi\"]);function Rs(R){return Gs.test(String.fromCodePoint(R))}function ia(R,S){return!(!S&&Rs(R)||R>=2304&&R<=3583||R>=3840&&R<=4255||sn.Khmer(R))}function Ka(R){for(let S of R)if(Rs(S.charCodeAt(0)))return!0;return!1}let vs=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus=\"unavailable\",this.pluginURL=null}setState(R){this.pluginStatus=R.pluginStatus,this.pluginURL=R.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(R){this.applyArabicShaping=R.applyArabicShaping,this.processBidirectionalText=R.processBidirectionalText,this.processStyledBidirectionalText=R.processStyledBidirectionalText}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Ko{constructor(S,D){this.zoom=S,D?(this.now=D.now,this.fadeDuration=D.fadeDuration,this.zoomHistory=D.zoomHistory,this.transition=D.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Cn,this.transition={})}isSupportedScript(S){return function(D,j){for(let te of D)if(!ia(te.charCodeAt(0),j))return!1;return!0}(S,vs.getRTLTextPluginStatus()===\"loaded\")}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let S=this.zoom,D=S-Math.floor(S),j=this.crossFadingFactor();return S>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:D+(1-D)*j}:{fromScale:.5,toScale:1,t:1-(1-j)*D}}}class nu{constructor(S,D){this.property=S,this.value=D,this.expression=function(j,te){if(Ch(j))return new Qs(j,te);if(Lc(j)){let ue=yu(j,te);if(ue.result===\"error\")throw new Error(ue.value.map(ve=>`${ve.key}: ${ve.message}`).join(\", \"));return ue.value}{let ue=j;return te.type===\"color\"&&typeof j==\"string\"?ue=Zt.parse(j):te.type!==\"padding\"||typeof j!=\"number\"&&!Array.isArray(j)?te.type===\"variableAnchorOffsetCollection\"&&Array.isArray(j)&&(ue=Si.parse(j)):ue=Vr.parse(j),{kind:\"constant\",evaluate:()=>ue}}}(D===void 0?S.specification.default:D,S.specification)}isDataDriven(){return this.expression.kind===\"source\"||this.expression.kind===\"composite\"}possiblyEvaluate(S,D,j){return this.property.possiblyEvaluate(this,S,D,j)}}class Ru{constructor(S){this.property=S,this.value=new nu(S,void 0)}transitioned(S,D){return new mf(this.property,this.value,D,L({},S.transition,this.transition),S.now)}untransitioned(){return new mf(this.property,this.value,null,{},0)}}class ac{constructor(S){this._properties=S,this._values=Object.create(S.defaultTransitionablePropertyValues)}getValue(S){return g(this._values[S].value.value)}setValue(S,D){Object.prototype.hasOwnProperty.call(this._values,S)||(this._values[S]=new Ru(this._values[S].property)),this._values[S].value=new nu(this._values[S].property,D===null?void 0:g(D))}getTransition(S){return g(this._values[S].transition)}setTransition(S,D){Object.prototype.hasOwnProperty.call(this._values,S)||(this._values[S]=new Ru(this._values[S].property)),this._values[S].transition=g(D)||void 0}serialize(){let S={};for(let D of Object.keys(this._values)){let j=this.getValue(D);j!==void 0&&(S[D]=j);let te=this.getTransition(D);te!==void 0&&(S[`${D}-transition`]=te)}return S}transitioned(S,D){let j=new bu(this._properties);for(let te of Object.keys(this._values))j._values[te]=this._values[te].transitioned(S,D._values[te]);return j}untransitioned(){let S=new bu(this._properties);for(let D of Object.keys(this._values))S._values[D]=this._values[D].untransitioned();return S}}class mf{constructor(S,D,j,te,ue){this.property=S,this.value=D,this.begin=ue+te.delay||0,this.end=this.begin+te.duration||0,S.specification.transition&&(te.delay||te.duration)&&(this.prior=j)}possiblyEvaluate(S,D,j){let te=S.now||0,ue=this.value.possiblyEvaluate(S,D,j),ve=this.prior;if(ve){if(te>this.end)return this.prior=null,ue;if(this.value.isDataDriven())return this.prior=null,ue;if(te<this.begin)return ve.possiblyEvaluate(S,D,j);{let De=(te-this.begin)/(this.end-this.begin);return this.property.interpolate(ve.possiblyEvaluate(S,D,j),ue,function(Ze){if(Ze<=0)return 0;if(Ze>=1)return 1;let at=Ze*Ze,Tt=at*Ze;return 4*(Ze<.5?Tt:3*(Ze-at)+Tt-.75)}(De))}}return ue}}class bu{constructor(S){this._properties=S,this._values=Object.create(S.defaultTransitioningPropertyValues)}possiblyEvaluate(S,D,j){let te=new Dc(this._properties);for(let ue of Object.keys(this._values))te._values[ue]=this._values[ue].possiblyEvaluate(S,D,j);return te}hasTransition(){for(let S of Object.keys(this._values))if(this._values[S].prior)return!0;return!1}}class Kc{constructor(S){this._properties=S,this._values=Object.create(S.defaultPropertyValues)}hasValue(S){return this._values[S].value!==void 0}getValue(S){return g(this._values[S].value)}setValue(S,D){this._values[S]=new nu(this._values[S].property,D===null?void 0:g(D))}serialize(){let S={};for(let D of Object.keys(this._values)){let j=this.getValue(D);j!==void 0&&(S[D]=j)}return S}possiblyEvaluate(S,D,j){let te=new Dc(this._properties);for(let ue of Object.keys(this._values))te._values[ue]=this._values[ue].possiblyEvaluate(S,D,j);return te}}class Du{constructor(S,D,j){this.property=S,this.value=D,this.parameters=j}isConstant(){return this.value.kind===\"constant\"}constantOr(S){return this.value.kind===\"constant\"?this.value.value:S}evaluate(S,D,j,te){return this.property.evaluate(this.value,this.parameters,S,D,j,te)}}class Dc{constructor(S){this._properties=S,this._values=Object.create(S.defaultPossiblyEvaluatedValues)}get(S){return this._values[S]}}class Da{constructor(S){this.specification=S}possiblyEvaluate(S,D){if(S.isDataDriven())throw new Error(\"Value should not be data driven\");return S.expression.evaluate(D)}interpolate(S,D,j){let te=Mo[this.specification.type];return te?te(S,D,j):S}}class eo{constructor(S,D){this.specification=S,this.overrides=D}possiblyEvaluate(S,D,j,te){return new Du(this,S.expression.kind===\"constant\"||S.expression.kind===\"camera\"?{kind:\"constant\",value:S.expression.evaluate(D,null,{},j,te)}:S.expression,D)}interpolate(S,D,j){if(S.value.kind!==\"constant\"||D.value.kind!==\"constant\")return S;if(S.value.value===void 0||D.value.value===void 0)return new Du(this,{kind:\"constant\",value:void 0},S.parameters);let te=Mo[this.specification.type];if(te){let ue=te(S.value.value,D.value.value,j);return new Du(this,{kind:\"constant\",value:ue},S.parameters)}return S}evaluate(S,D,j,te,ue,ve){return S.kind===\"constant\"?S.value:S.evaluate(D,j,te,ue,ve)}}class Jc extends eo{possiblyEvaluate(S,D,j,te){if(S.value===void 0)return new Du(this,{kind:\"constant\",value:void 0},D);if(S.expression.kind===\"constant\"){let ue=S.expression.evaluate(D,null,{},j,te),ve=S.property.specification.type===\"resolvedImage\"&&typeof ue!=\"string\"?ue.name:ue,De=this._calculate(ve,ve,ve,D);return new Du(this,{kind:\"constant\",value:De},D)}if(S.expression.kind===\"camera\"){let ue=this._calculate(S.expression.evaluate({zoom:D.zoom-1}),S.expression.evaluate({zoom:D.zoom}),S.expression.evaluate({zoom:D.zoom+1}),D);return new Du(this,{kind:\"constant\",value:ue},D)}return new Du(this,S.expression,D)}evaluate(S,D,j,te,ue,ve){if(S.kind===\"source\"){let De=S.evaluate(D,j,te,ue,ve);return this._calculate(De,De,De,D)}return S.kind===\"composite\"?this._calculate(S.evaluate({zoom:Math.floor(D.zoom)-1},j,te),S.evaluate({zoom:Math.floor(D.zoom)},j,te),S.evaluate({zoom:Math.floor(D.zoom)+1},j,te),D):S.value}_calculate(S,D,j,te){return te.zoom>te.zoomHistory.lastIntegerZoom?{from:S,to:D}:{from:j,to:D}}interpolate(S){return S}}class yc{constructor(S){this.specification=S}possiblyEvaluate(S,D,j,te){if(S.value!==void 0){if(S.expression.kind===\"constant\"){let ue=S.expression.evaluate(D,null,{},j,te);return this._calculate(ue,ue,ue,D)}return this._calculate(S.expression.evaluate(new Ko(Math.floor(D.zoom-1),D)),S.expression.evaluate(new Ko(Math.floor(D.zoom),D)),S.expression.evaluate(new Ko(Math.floor(D.zoom+1),D)),D)}}_calculate(S,D,j,te){return te.zoom>te.zoomHistory.lastIntegerZoom?{from:S,to:D}:{from:j,to:D}}interpolate(S){return S}}class _c{constructor(S){this.specification=S}possiblyEvaluate(S,D,j,te){return!!S.expression.evaluate(D,null,{},j,te)}interpolate(){return!1}}class le{constructor(S){this.properties=S,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let D in S){let j=S[D];j.specification.overridable&&this.overridableProperties.push(D);let te=this.defaultPropertyValues[D]=new nu(j,void 0),ue=this.defaultTransitionablePropertyValues[D]=new Ru(j);this.defaultTransitioningPropertyValues[D]=ue.untransitioned(),this.defaultPossiblyEvaluatedValues[D]=te.possiblyEvaluate({})}}}mi(\"DataDrivenProperty\",eo),mi(\"DataConstantProperty\",Da),mi(\"CrossFadedDataDrivenProperty\",Jc),mi(\"CrossFadedProperty\",yc),mi(\"ColorRampProperty\",_c);let w=\"-transition\";class B extends Re{constructor(S,D){if(super(),this.id=S.id,this.type=S.type,this._featureFilter={filter:()=>!0,needGeometry:!1},S.type!==\"custom\"&&(this.metadata=S.metadata,this.minzoom=S.minzoom,this.maxzoom=S.maxzoom,S.type!==\"background\"&&(this.source=S.source,this.sourceLayer=S[\"source-layer\"],this.filter=S.filter),D.layout&&(this._unevaluatedLayout=new Kc(D.layout)),D.paint)){this._transitionablePaint=new ac(D.paint);for(let j in S.paint)this.setPaintProperty(j,S.paint[j],{validate:!1});for(let j in S.layout)this.setLayoutProperty(j,S.layout[j],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Dc(D.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(S){return S===\"visibility\"?this.visibility:this._unevaluatedLayout.getValue(S)}setLayoutProperty(S,D,j={}){D!=null&&this._validate(hn,`layers.${this.id}.layout.${S}`,S,D,j)||(S!==\"visibility\"?this._unevaluatedLayout.setValue(S,D):this.visibility=D)}getPaintProperty(S){return S.endsWith(w)?this._transitionablePaint.getTransition(S.slice(0,-11)):this._transitionablePaint.getValue(S)}setPaintProperty(S,D,j={}){if(D!=null&&this._validate(Xi,`layers.${this.id}.paint.${S}`,S,D,j))return!1;if(S.endsWith(w))return this._transitionablePaint.setTransition(S.slice(0,-11),D||void 0),!1;{let te=this._transitionablePaint._values[S],ue=te.property.specification[\"property-type\"]===\"cross-faded-data-driven\",ve=te.value.isDataDriven(),De=te.value;this._transitionablePaint.setValue(S,D),this._handleSpecialPaintPropertyUpdate(S);let Ze=this._transitionablePaint._values[S].value;return Ze.isDataDriven()||ve||ue||this._handleOverridablePaintPropertyUpdate(S,De,Ze)}}_handleSpecialPaintPropertyUpdate(S){}_handleOverridablePaintPropertyUpdate(S,D,j){return!1}isHidden(S){return!!(this.minzoom&&S<this.minzoom)||!!(this.maxzoom&&S>=this.maxzoom)||this.visibility===\"none\"}updateTransitions(S){this._transitioningPaint=this._transitionablePaint.transitioned(S,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(S,D){S.getCrossfadeParameters&&(this._crossfadeParameters=S.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(S,void 0,D)),this.paint=this._transitioningPaint.possiblyEvaluate(S,void 0,D)}serialize(){let S={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&&(S.layout=S.layout||{},S.layout.visibility=this.visibility),M(S,(D,j)=>!(D===void 0||j===\"layout\"&&!Object.keys(D).length||j===\"paint\"&&!Object.keys(D).length))}_validate(S,D,j,te,ue={}){return(!ue||ue.validate!==!1)&&Ti(this,S.call(fi,{key:D,layerType:this.type,objectKey:j,value:te,styleSpec:ce,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let S in this.paint._values){let D=this.paint.get(S);if(D instanceof Du&&Cu(D.property.specification)&&(D.value.kind===\"source\"||D.value.kind===\"composite\")&&D.value.isStateDependent)return!0}return!1}}let Q={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class ee{constructor(S,D){this._structArray=S,this._pos1=D*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class se{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(S,D){return S._trim(),D&&(S.isTransferred=!0,D.push(S.arrayBuffer)),{length:S.length,arrayBuffer:S.arrayBuffer}}static deserialize(S){let D=Object.create(this.prototype);return D.arrayBuffer=S.arrayBuffer,D.length=S.length,D.capacity=S.arrayBuffer.byteLength/D.bytesPerElement,D._refreshViews(),D}_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(S){this.reserve(S),this.length=S}reserve(S){if(S>this.capacity){this.capacity=Math.max(S,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let D=this.uint8;this._refreshViews(),D&&this.uint8.set(D)}}_refreshViews(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")}}function qe(R,S=1){let D=0,j=0;return{members:R.map(te=>{let ue=Q[te.type].BYTES_PER_ELEMENT,ve=D=je(D,Math.max(S,ue)),De=te.components||1;return j=Math.max(j,ue),D+=ue*De,{name:te.name,type:te.type,components:De,offset:ve}}),size:je(D,Math.max(j,S)),alignment:S}}function je(R,S){return Math.ceil(R/S)*S}class it extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D){let j=this.length;return this.resize(j+1),this.emplace(j,S,D)}emplace(S,D,j){let te=2*S;return this.int16[te+0]=D,this.int16[te+1]=j,S}}it.prototype.bytesPerElement=4,mi(\"StructArrayLayout2i4\",it);class yt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.int16[ue+0]=D,this.int16[ue+1]=j,this.int16[ue+2]=te,S}}yt.prototype.bytesPerElement=6,mi(\"StructArrayLayout3i6\",yt);class Ot extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te){let ue=this.length;return this.resize(ue+1),this.emplace(ue,S,D,j,te)}emplace(S,D,j,te,ue){let ve=4*S;return this.int16[ve+0]=D,this.int16[ve+1]=j,this.int16[ve+2]=te,this.int16[ve+3]=ue,S}}Ot.prototype.bytesPerElement=8,mi(\"StructArrayLayout4i8\",Ot);class Nt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=6*S;return this.int16[Ze+0]=D,this.int16[Ze+1]=j,this.int16[Ze+2]=te,this.int16[Ze+3]=ue,this.int16[Ze+4]=ve,this.int16[Ze+5]=De,S}}Nt.prototype.bytesPerElement=12,mi(\"StructArrayLayout2i4i12\",Nt);class hr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=4*S,at=8*S;return this.int16[Ze+0]=D,this.int16[Ze+1]=j,this.uint8[at+4]=te,this.uint8[at+5]=ue,this.uint8[at+6]=ve,this.uint8[at+7]=De,S}}hr.prototype.bytesPerElement=8,mi(\"StructArrayLayout2i4ub8\",hr);class Sr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D){let j=this.length;return this.resize(j+1),this.emplace(j,S,D)}emplace(S,D,j){let te=2*S;return this.float32[te+0]=D,this.float32[te+1]=j,S}}Sr.prototype.bytesPerElement=8,mi(\"StructArrayLayout2f8\",Sr);class he extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve,De,Ze,at,Tt){let Ft=this.length;return this.resize(Ft+1),this.emplace(Ft,S,D,j,te,ue,ve,De,Ze,at,Tt)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft){let Qt=10*S;return this.uint16[Qt+0]=D,this.uint16[Qt+1]=j,this.uint16[Qt+2]=te,this.uint16[Qt+3]=ue,this.uint16[Qt+4]=ve,this.uint16[Qt+5]=De,this.uint16[Qt+6]=Ze,this.uint16[Qt+7]=at,this.uint16[Qt+8]=Tt,this.uint16[Qt+9]=Ft,S}}he.prototype.bytesPerElement=20,mi(\"StructArrayLayout10ui20\",he);class be extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt){let sr=this.length;return this.resize(sr+1),this.emplace(sr,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr){let Tr=12*S;return this.int16[Tr+0]=D,this.int16[Tr+1]=j,this.int16[Tr+2]=te,this.int16[Tr+3]=ue,this.uint16[Tr+4]=ve,this.uint16[Tr+5]=De,this.uint16[Tr+6]=Ze,this.uint16[Tr+7]=at,this.int16[Tr+8]=Tt,this.int16[Tr+9]=Ft,this.int16[Tr+10]=Qt,this.int16[Tr+11]=sr,S}}be.prototype.bytesPerElement=24,mi(\"StructArrayLayout4i4ui4i24\",be);class Pe extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.float32[ue+0]=D,this.float32[ue+1]=j,this.float32[ue+2]=te,S}}Pe.prototype.bytesPerElement=12,mi(\"StructArrayLayout3f12\",Pe);class Oe extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(S){let D=this.length;return this.resize(D+1),this.emplace(D,S)}emplace(S,D){return this.uint32[1*S+0]=D,S}}Oe.prototype.bytesPerElement=4,mi(\"StructArrayLayout1ul4\",Oe);class Je extends se{_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(S,D,j,te,ue,ve,De,Ze,at){let Tt=this.length;return this.resize(Tt+1),this.emplace(Tt,S,D,j,te,ue,ve,De,Ze,at)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt){let Ft=10*S,Qt=5*S;return this.int16[Ft+0]=D,this.int16[Ft+1]=j,this.int16[Ft+2]=te,this.int16[Ft+3]=ue,this.int16[Ft+4]=ve,this.int16[Ft+5]=De,this.uint32[Qt+3]=Ze,this.uint16[Ft+8]=at,this.uint16[Ft+9]=Tt,S}}Je.prototype.bytesPerElement=20,mi(\"StructArrayLayout6i1ul2ui20\",Je);class He extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=6*S;return this.int16[Ze+0]=D,this.int16[Ze+1]=j,this.int16[Ze+2]=te,this.int16[Ze+3]=ue,this.int16[Ze+4]=ve,this.int16[Ze+5]=De,S}}He.prototype.bytesPerElement=12,mi(\"StructArrayLayout2i2i2i12\",He);class et extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue){let ve=this.length;return this.resize(ve+1),this.emplace(ve,S,D,j,te,ue)}emplace(S,D,j,te,ue,ve){let De=4*S,Ze=8*S;return this.float32[De+0]=D,this.float32[De+1]=j,this.float32[De+2]=te,this.int16[Ze+6]=ue,this.int16[Ze+7]=ve,S}}et.prototype.bytesPerElement=16,mi(\"StructArrayLayout2f1f2i16\",et);class Mt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=16*S,at=4*S,Tt=8*S;return this.uint8[Ze+0]=D,this.uint8[Ze+1]=j,this.float32[at+1]=te,this.float32[at+2]=ue,this.int16[Tt+6]=ve,this.int16[Tt+7]=De,S}}Mt.prototype.bytesPerElement=16,mi(\"StructArrayLayout2ub2f2i16\",Mt);class Dt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.uint16[ue+0]=D,this.uint16[ue+1]=j,this.uint16[ue+2]=te,S}}Dt.prototype.bytesPerElement=6,mi(\"StructArrayLayout3ui6\",Dt);class Ut extends se{_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(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni){let Di=this.length;return this.resize(Di+1),this.emplace(Di,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di){let pi=24*S,ki=12*S,Zi=48*S;return this.int16[pi+0]=D,this.int16[pi+1]=j,this.uint16[pi+2]=te,this.uint16[pi+3]=ue,this.uint32[ki+2]=ve,this.uint32[ki+3]=De,this.uint32[ki+4]=Ze,this.uint16[pi+10]=at,this.uint16[pi+11]=Tt,this.uint16[pi+12]=Ft,this.float32[ki+7]=Qt,this.float32[ki+8]=sr,this.uint8[Zi+36]=Tr,this.uint8[Zi+37]=Pr,this.uint8[Zi+38]=$r,this.uint32[ki+10]=ni,this.int16[pi+22]=Di,S}}Ut.prototype.bytesPerElement=48,mi(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",Ut);class tr extends se{_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(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di,pi,ki,Zi,ta,Va,Io,La,Hn,lo,$a){let Xa=this.length;return this.resize(Xa+1),this.emplace(Xa,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di,pi,ki,Zi,ta,Va,Io,La,Hn,lo,$a)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di,pi,ki,Zi,ta,Va,Io,La,Hn,lo,$a,Xa){let Tn=32*S,bo=16*S;return this.int16[Tn+0]=D,this.int16[Tn+1]=j,this.int16[Tn+2]=te,this.int16[Tn+3]=ue,this.int16[Tn+4]=ve,this.int16[Tn+5]=De,this.int16[Tn+6]=Ze,this.int16[Tn+7]=at,this.uint16[Tn+8]=Tt,this.uint16[Tn+9]=Ft,this.uint16[Tn+10]=Qt,this.uint16[Tn+11]=sr,this.uint16[Tn+12]=Tr,this.uint16[Tn+13]=Pr,this.uint16[Tn+14]=$r,this.uint16[Tn+15]=ni,this.uint16[Tn+16]=Di,this.uint16[Tn+17]=pi,this.uint16[Tn+18]=ki,this.uint16[Tn+19]=Zi,this.uint16[Tn+20]=ta,this.uint16[Tn+21]=Va,this.uint16[Tn+22]=Io,this.uint32[bo+12]=La,this.float32[bo+13]=Hn,this.float32[bo+14]=lo,this.uint16[Tn+30]=$a,this.uint16[Tn+31]=Xa,S}}tr.prototype.bytesPerElement=64,mi(\"StructArrayLayout8i15ui1ul2f2ui64\",tr);class mr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S){let D=this.length;return this.resize(D+1),this.emplace(D,S)}emplace(S,D){return this.float32[1*S+0]=D,S}}mr.prototype.bytesPerElement=4,mi(\"StructArrayLayout1f4\",mr);class Rr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.uint16[6*S+0]=D,this.float32[ue+1]=j,this.float32[ue+2]=te,S}}Rr.prototype.bytesPerElement=12,mi(\"StructArrayLayout1ui2f12\",Rr);class zr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=4*S;return this.uint32[2*S+0]=D,this.uint16[ue+2]=j,this.uint16[ue+3]=te,S}}zr.prototype.bytesPerElement=8,mi(\"StructArrayLayout1ul2ui8\",zr);class Xr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D){let j=this.length;return this.resize(j+1),this.emplace(j,S,D)}emplace(S,D,j){let te=2*S;return this.uint16[te+0]=D,this.uint16[te+1]=j,S}}Xr.prototype.bytesPerElement=4,mi(\"StructArrayLayout2ui4\",Xr);class di extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S){let D=this.length;return this.resize(D+1),this.emplace(D,S)}emplace(S,D){return this.uint16[1*S+0]=D,S}}di.prototype.bytesPerElement=2,mi(\"StructArrayLayout1ui2\",di);class Li extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j,te){let ue=this.length;return this.resize(ue+1),this.emplace(ue,S,D,j,te)}emplace(S,D,j,te,ue){let ve=4*S;return this.float32[ve+0]=D,this.float32[ve+1]=j,this.float32[ve+2]=te,this.float32[ve+3]=ue,S}}Li.prototype.bytesPerElement=16,mi(\"StructArrayLayout4f16\",Li);class Ci extends ee{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 u(this.anchorPointX,this.anchorPointY)}}Ci.prototype.size=20;class Qi extends Je{get(S){return new Ci(this,S)}}mi(\"CollisionBoxArray\",Qi);class Mn extends ee{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(S){this._structArray.uint8[this._pos1+37]=S}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(S){this._structArray.uint8[this._pos1+38]=S}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(S){this._structArray.uint32[this._pos4+10]=S}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Mn.prototype.size=48;class pa extends Ut{get(S){return new Mn(this,S)}}mi(\"PlacedSymbolArray\",pa);class ea extends ee{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(S){this._structArray.uint32[this._pos4+12]=S}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]}}ea.prototype.size=64;class Ga extends tr{get(S){return new ea(this,S)}}mi(\"SymbolInstanceArray\",Ga);class To extends mr{getoffsetX(S){return this.float32[1*S+0]}}mi(\"GlyphOffsetArray\",To);class Wa extends yt{getx(S){return this.int16[3*S+0]}gety(S){return this.int16[3*S+1]}gettileUnitDistanceFromAnchor(S){return this.int16[3*S+2]}}mi(\"SymbolLineVertexArray\",Wa);class co extends ee{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]}}co.prototype.size=12;class Ro extends Rr{get(S){return new co(this,S)}}mi(\"TextAnchorOffsetArray\",Ro);class Ds extends ee{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]}}Ds.prototype.size=8;class As extends zr{get(S){return new Ds(this,S)}}mi(\"FeatureIndexArray\",As);class yo extends it{}class po extends it{}class _l extends it{}class Hl extends Nt{}class Zu extends hr{}class cu extends Sr{}class el extends he{}class au extends be{}class zc extends Pe{}class zl extends Oe{}class Fl extends He{}class Z extends Mt{}class oe extends Dt{}class we extends Xr{}let Be=qe([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:Ue}=Be;class We{constructor(S=[]){this.segments=S}prepareSegment(S,D,j,te){let ue=this.segments[this.segments.length-1];return S>We.MAX_VERTEX_ARRAY_LENGTH&&T(`Max vertices per segment is ${We.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${S}`),(!ue||ue.vertexLength+S>We.MAX_VERTEX_ARRAY_LENGTH||ue.sortKey!==te)&&(ue={vertexOffset:D.length,primitiveOffset:j.length,vertexLength:0,primitiveLength:0},te!==void 0&&(ue.sortKey=te),this.segments.push(ue)),ue}get(){return this.segments}destroy(){for(let S of this.segments)for(let D in S.vaos)S.vaos[D].destroy()}static simpleSegment(S,D,j,te){return new We([{vertexOffset:S,primitiveOffset:D,vertexLength:j,primitiveLength:te,vaos:{},sortKey:0}])}}function wt(R,S){return 256*(R=k(Math.floor(R),0,255))+k(Math.floor(S),0,255)}We.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,mi(\"SegmentVector\",We);let tt=qe([{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 zt={exports:{}},or={exports:{}};or.exports=function(R,S){var D,j,te,ue,ve,De,Ze,at;for(j=R.length-(D=3&R.length),te=S,ve=3432918353,De=461845907,at=0;at<j;)Ze=255&R.charCodeAt(at)|(255&R.charCodeAt(++at))<<8|(255&R.charCodeAt(++at))<<16|(255&R.charCodeAt(++at))<<24,++at,te=27492+(65535&(ue=5*(65535&(te=(te^=Ze=(65535&(Ze=(Ze=(65535&Ze)*ve+(((Ze>>>16)*ve&65535)<<16)&4294967295)<<15|Ze>>>17))*De+(((Ze>>>16)*De&65535)<<16)&4294967295)<<13|te>>>19))+((5*(te>>>16)&65535)<<16)&4294967295))+((58964+(ue>>>16)&65535)<<16);switch(Ze=0,D){case 3:Ze^=(255&R.charCodeAt(at+2))<<16;case 2:Ze^=(255&R.charCodeAt(at+1))<<8;case 1:te^=Ze=(65535&(Ze=(Ze=(65535&(Ze^=255&R.charCodeAt(at)))*ve+(((Ze>>>16)*ve&65535)<<16)&4294967295)<<15|Ze>>>17))*De+(((Ze>>>16)*De&65535)<<16)&4294967295}return te^=R.length,te=2246822507*(65535&(te^=te>>>16))+((2246822507*(te>>>16)&65535)<<16)&4294967295,te=3266489909*(65535&(te^=te>>>13))+((3266489909*(te>>>16)&65535)<<16)&4294967295,(te^=te>>>16)>>>0};var lr=or.exports,Dr={exports:{}};Dr.exports=function(R,S){for(var D,j=R.length,te=S^j,ue=0;j>=4;)D=1540483477*(65535&(D=255&R.charCodeAt(ue)|(255&R.charCodeAt(++ue))<<8|(255&R.charCodeAt(++ue))<<16|(255&R.charCodeAt(++ue))<<24))+((1540483477*(D>>>16)&65535)<<16),te=1540483477*(65535&te)+((1540483477*(te>>>16)&65535)<<16)^(D=1540483477*(65535&(D^=D>>>24))+((1540483477*(D>>>16)&65535)<<16)),j-=4,++ue;switch(j){case 3:te^=(255&R.charCodeAt(ue+2))<<16;case 2:te^=(255&R.charCodeAt(ue+1))<<8;case 1:te=1540483477*(65535&(te^=255&R.charCodeAt(ue)))+((1540483477*(te>>>16)&65535)<<16)}return te=1540483477*(65535&(te^=te>>>13))+((1540483477*(te>>>16)&65535)<<16),(te^=te>>>15)>>>0};var Ir=lr,oi=Dr.exports;zt.exports=Ir,zt.exports.murmur3=Ir,zt.exports.murmur2=oi;var ui=o(zt.exports);class qr{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(S,D,j,te){this.ids.push(Kr(S)),this.positions.push(D,j,te)}getPositions(S){if(!this.indexed)throw new Error(\"Trying to get index, but feature positions are not indexed\");let D=Kr(S),j=0,te=this.ids.length-1;for(;j<te;){let ve=j+te>>1;this.ids[ve]>=D?te=ve:j=ve+1}let ue=[];for(;this.ids[j]===D;)ue.push({index:this.positions[3*j],start:this.positions[3*j+1],end:this.positions[3*j+2]}),j++;return ue}static serialize(S,D){let j=new Float64Array(S.ids),te=new Uint32Array(S.positions);return ii(j,te,0,j.length-1),D&&D.push(j.buffer,te.buffer),{ids:j,positions:te}}static deserialize(S){let D=new qr;return D.ids=S.ids,D.positions=S.positions,D.indexed=!0,D}}function Kr(R){let S=+R;return!isNaN(S)&&S<=Number.MAX_SAFE_INTEGER?S:ui(String(R))}function ii(R,S,D,j){for(;D<j;){let te=R[D+j>>1],ue=D-1,ve=j+1;for(;;){do ue++;while(R[ue]<te);do ve--;while(R[ve]>te);if(ue>=ve)break;vi(R,ue,ve),vi(S,3*ue,3*ve),vi(S,3*ue+1,3*ve+1),vi(S,3*ue+2,3*ve+2)}ve-D<j-ve?(ii(R,S,D,ve),D=ve+1):(ii(R,S,ve+1,j),j=ve)}}function vi(R,S,D){let j=R[S];R[S]=R[D],R[D]=j}mi(\"FeaturePositionMap\",qr);class ci{constructor(S,D){this.gl=S.gl,this.location=D}}class Jr extends ci{constructor(S,D){super(S,D),this.current=0}set(S){this.current!==S&&(this.current=S,this.gl.uniform1f(this.location,S))}}class un extends ci{constructor(S,D){super(S,D),this.current=[0,0,0,0]}set(S){S[0]===this.current[0]&&S[1]===this.current[1]&&S[2]===this.current[2]&&S[3]===this.current[3]||(this.current=S,this.gl.uniform4f(this.location,S[0],S[1],S[2],S[3]))}}class dn extends ci{constructor(S,D){super(S,D),this.current=Zt.transparent}set(S){S.r===this.current.r&&S.g===this.current.g&&S.b===this.current.b&&S.a===this.current.a||(this.current=S,this.gl.uniform4f(this.location,S.r,S.g,S.b,S.a))}}let En=new Float32Array(16);function Nn(R){return[wt(255*R.r,255*R.g),wt(255*R.b,255*R.a)]}class ga{constructor(S,D,j){this.value=S,this.uniformNames=D.map(te=>`u_${te}`),this.type=j}setUniform(S,D,j){S.set(j.constantOr(this.value))}getBinding(S,D,j){return this.type===\"color\"?new dn(S,D):new Jr(S,D)}}class ya{constructor(S,D){this.uniformNames=D.map(j=>`u_${j}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(S,D){this.pixelRatioFrom=D.pixelRatio,this.pixelRatioTo=S.pixelRatio,this.patternFrom=D.tlbr,this.patternTo=S.tlbr}setUniform(S,D,j,te){let ue=te===\"u_pattern_to\"?this.patternTo:te===\"u_pattern_from\"?this.patternFrom:te===\"u_pixel_ratio_to\"?this.pixelRatioTo:te===\"u_pixel_ratio_from\"?this.pixelRatioFrom:null;ue&&S.set(ue)}getBinding(S,D,j){return j.substr(0,9)===\"u_pattern\"?new un(S,D):new Jr(S,D)}}class so{constructor(S,D,j,te){this.expression=S,this.type=j,this.maxValue=0,this.paintVertexAttributes=D.map(ue=>({name:`a_${ue}`,type:\"Float32\",components:j===\"color\"?2:1,offset:0})),this.paintVertexArray=new te}populatePaintArray(S,D,j,te,ue){let ve=this.paintVertexArray.length,De=this.expression.evaluate(new Ko(0),D,{},te,[],ue);this.paintVertexArray.resize(S),this._setPaintValue(ve,S,De)}updatePaintArray(S,D,j,te){let ue=this.expression.evaluate({zoom:0},j,te);this._setPaintValue(S,D,ue)}_setPaintValue(S,D,j){if(this.type===\"color\"){let te=Nn(j);for(let ue=S;ue<D;ue++)this.paintVertexArray.emplace(ue,te[0],te[1])}else{for(let te=S;te<D;te++)this.paintVertexArray.emplace(te,j);this.maxValue=Math.max(this.maxValue,Math.abs(j))}}upload(S){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=S.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}}class wa{constructor(S,D,j,te,ue,ve){this.expression=S,this.uniformNames=D.map(De=>`u_${De}_t`),this.type=j,this.useIntegerZoom=te,this.zoom=ue,this.maxValue=0,this.paintVertexAttributes=D.map(De=>({name:`a_${De}`,type:\"Float32\",components:j===\"color\"?4:2,offset:0})),this.paintVertexArray=new ve}populatePaintArray(S,D,j,te,ue){let ve=this.expression.evaluate(new Ko(this.zoom),D,{},te,[],ue),De=this.expression.evaluate(new Ko(this.zoom+1),D,{},te,[],ue),Ze=this.paintVertexArray.length;this.paintVertexArray.resize(S),this._setPaintValue(Ze,S,ve,De)}updatePaintArray(S,D,j,te){let ue=this.expression.evaluate({zoom:this.zoom},j,te),ve=this.expression.evaluate({zoom:this.zoom+1},j,te);this._setPaintValue(S,D,ue,ve)}_setPaintValue(S,D,j,te){if(this.type===\"color\"){let ue=Nn(j),ve=Nn(te);for(let De=S;De<D;De++)this.paintVertexArray.emplace(De,ue[0],ue[1],ve[0],ve[1])}else{for(let ue=S;ue<D;ue++)this.paintVertexArray.emplace(ue,j,te);this.maxValue=Math.max(this.maxValue,Math.abs(j),Math.abs(te))}}upload(S){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=S.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}setUniform(S,D){let j=this.useIntegerZoom?Math.floor(D.zoom):D.zoom,te=k(this.expression.interpolationFactor(j,this.zoom,this.zoom+1),0,1);S.set(te)}getBinding(S,D,j){return new Jr(S,D)}}class io{constructor(S,D,j,te,ue,ve){this.expression=S,this.type=D,this.useIntegerZoom=j,this.zoom=te,this.layerId=ve,this.zoomInPaintVertexArray=new ue,this.zoomOutPaintVertexArray=new ue}populatePaintArray(S,D,j){let te=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(S),this.zoomOutPaintVertexArray.resize(S),this._setPaintValues(te,S,D.patterns&&D.patterns[this.layerId],j)}updatePaintArray(S,D,j,te,ue){this._setPaintValues(S,D,j.patterns&&j.patterns[this.layerId],ue)}_setPaintValues(S,D,j,te){if(!te||!j)return;let{min:ue,mid:ve,max:De}=j,Ze=te[ue],at=te[ve],Tt=te[De];if(Ze&&at&&Tt)for(let Ft=S;Ft<D;Ft++)this.zoomInPaintVertexArray.emplace(Ft,at.tl[0],at.tl[1],at.br[0],at.br[1],Ze.tl[0],Ze.tl[1],Ze.br[0],Ze.br[1],at.pixelRatio,Ze.pixelRatio),this.zoomOutPaintVertexArray.emplace(Ft,at.tl[0],at.tl[1],at.br[0],at.br[1],Tt.tl[0],Tt.tl[1],Tt.br[0],Tt.br[1],at.pixelRatio,Tt.pixelRatio)}upload(S){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=S.createVertexBuffer(this.zoomInPaintVertexArray,tt.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=S.createVertexBuffer(this.zoomOutPaintVertexArray,tt.members,this.expression.isStateDependent))}destroy(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()}}class Ss{constructor(S,D,j){this.binders={},this._buffers=[];let te=[];for(let ue in S.paint._values){if(!j(ue))continue;let ve=S.paint.get(ue);if(!(ve instanceof Du&&Cu(ve.property.specification)))continue;let De=Ns(ue,S.type),Ze=ve.value,at=ve.property.specification.type,Tt=ve.property.useIntegerZoom,Ft=ve.property.specification[\"property-type\"],Qt=Ft===\"cross-faded\"||Ft===\"cross-faded-data-driven\";if(Ze.kind===\"constant\")this.binders[ue]=Qt?new ya(Ze.value,De):new ga(Ze.value,De,at),te.push(`/u_${ue}`);else if(Ze.kind===\"source\"||Qt){let sr=pn(ue,at,\"source\");this.binders[ue]=Qt?new io(Ze,at,Tt,D,sr,S.id):new so(Ze,De,at,sr),te.push(`/a_${ue}`)}else{let sr=pn(ue,at,\"composite\");this.binders[ue]=new wa(Ze,De,at,Tt,D,sr),te.push(`/z_${ue}`)}}this.cacheKey=te.sort().join(\"\")}getMaxValue(S){let D=this.binders[S];return D instanceof so||D instanceof wa?D.maxValue:0}populatePaintArrays(S,D,j,te,ue){for(let ve in this.binders){let De=this.binders[ve];(De instanceof so||De instanceof wa||De instanceof io)&&De.populatePaintArray(S,D,j,te,ue)}}setConstantPatternPositions(S,D){for(let j in this.binders){let te=this.binders[j];te instanceof ya&&te.setConstantPatternPositions(S,D)}}updatePaintArrays(S,D,j,te,ue){let ve=!1;for(let De in S){let Ze=D.getPositions(De);for(let at of Ze){let Tt=j.feature(at.index);for(let Ft in this.binders){let Qt=this.binders[Ft];if((Qt instanceof so||Qt instanceof wa||Qt instanceof io)&&Qt.expression.isStateDependent===!0){let sr=te.paint.get(Ft);Qt.expression=sr.value,Qt.updatePaintArray(at.start,at.end,Tt,S[De],ue),ve=!0}}}}return ve}defines(){let S=[];for(let D in this.binders){let j=this.binders[D];(j instanceof ga||j instanceof ya)&&S.push(...j.uniformNames.map(te=>`#define HAS_UNIFORM_${te}`))}return S}getBinderAttributes(){let S=[];for(let D in this.binders){let j=this.binders[D];if(j instanceof so||j instanceof wa)for(let te=0;te<j.paintVertexAttributes.length;te++)S.push(j.paintVertexAttributes[te].name);else if(j instanceof io)for(let te=0;te<tt.members.length;te++)S.push(tt.members[te].name)}return S}getBinderUniforms(){let S=[];for(let D in this.binders){let j=this.binders[D];if(j instanceof ga||j instanceof ya||j instanceof wa)for(let te of j.uniformNames)S.push(te)}return S}getPaintVertexBuffers(){return this._buffers}getUniforms(S,D){let j=[];for(let te in this.binders){let ue=this.binders[te];if(ue instanceof ga||ue instanceof ya||ue instanceof wa){for(let ve of ue.uniformNames)if(D[ve]){let De=ue.getBinding(S,D[ve],ve);j.push({name:ve,property:te,binding:De})}}}return j}setUniforms(S,D,j,te){for(let{name:ue,property:ve,binding:De}of D)this.binders[ve].setUniform(De,te,j.get(ve),ue)}updatePaintBuffers(S){this._buffers=[];for(let D in this.binders){let j=this.binders[D];if(S&&j instanceof io){let te=S.fromScale===2?j.zoomInPaintVertexBuffer:j.zoomOutPaintVertexBuffer;te&&this._buffers.push(te)}else(j instanceof so||j instanceof wa)&&j.paintVertexBuffer&&this._buffers.push(j.paintVertexBuffer)}}upload(S){for(let D in this.binders){let j=this.binders[D];(j instanceof so||j instanceof wa||j instanceof io)&&j.upload(S)}this.updatePaintBuffers()}destroy(){for(let S in this.binders){let D=this.binders[S];(D instanceof so||D instanceof wa||D instanceof io)&&D.destroy()}}}class _s{constructor(S,D,j=()=>!0){this.programConfigurations={};for(let te of S)this.programConfigurations[te.id]=new Ss(te,D,j);this.needsUpload=!1,this._featureMap=new qr,this._bufferOffset=0}populatePaintArrays(S,D,j,te,ue,ve){for(let De in this.programConfigurations)this.programConfigurations[De].populatePaintArrays(S,D,te,ue,ve);D.id!==void 0&&this._featureMap.add(D.id,j,this._bufferOffset,S),this._bufferOffset=S,this.needsUpload=!0}updatePaintArrays(S,D,j,te){for(let ue of j)this.needsUpload=this.programConfigurations[ue.id].updatePaintArrays(S,this._featureMap,D,ue,te)||this.needsUpload}get(S){return this.programConfigurations[S]}upload(S){if(this.needsUpload){for(let D in this.programConfigurations)this.programConfigurations[D].upload(S);this.needsUpload=!1}}destroy(){for(let S in this.programConfigurations)this.programConfigurations[S].destroy()}}function Ns(R,S){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\"]}[R]||[R.replace(`${S}-`,\"\").replace(/-/g,\"_\")]}function pn(R,S,D){let j={color:{source:Sr,composite:Li},number:{source:mr,composite:Sr}},te=function(ue){return{\"line-pattern\":{source:el,composite:el},\"fill-pattern\":{source:el,composite:el},\"fill-extrusion-pattern\":{source:el,composite:el}}[ue]}(R);return te&&te[D]||j[S][D]}mi(\"ConstantBinder\",ga),mi(\"CrossFadedConstantBinder\",ya),mi(\"SourceExpressionBinder\",so),mi(\"CrossFadedCompositeBinder\",io),mi(\"CompositeExpressionBinder\",wa),mi(\"ProgramConfiguration\",Ss,{omit:[\"_buffers\"]}),mi(\"ProgramConfigurationSet\",_s);let za=8192,Lo=Math.pow(2,14)-1,Fo=-Lo-1;function js(R){let S=za/R.extent,D=R.loadGeometry();for(let j=0;j<D.length;j++){let te=D[j];for(let ue=0;ue<te.length;ue++){let ve=te[ue],De=Math.round(ve.x*S),Ze=Math.round(ve.y*S);ve.x=k(De,Fo,Lo),ve.y=k(Ze,Fo,Lo),(De<ve.x||De>ve.x+1||Ze<ve.y||Ze>ve.y+1)&&T(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}}return D}function xl(R,S){return{type:R.type,id:R.id,properties:R.properties,geometry:S?js(R):[]}}function fu(R,S,D,j,te){R.emplaceBack(2*S+(j+1)/2,2*D+(te+1)/2)}class dl{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.layoutVertexArray=new po,this.indexArray=new oe,this.segments=new We,this.programConfigurations=new _s(S.layers,S.zoom),this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){let te=this.layers[0],ue=[],ve=null,De=!1;te.type===\"circle\"&&(ve=te.layout.get(\"circle-sort-key\"),De=!ve.isConstant());for(let{feature:Ze,id:at,index:Tt,sourceLayerIndex:Ft}of S){let Qt=this.layers[0]._featureFilter.needGeometry,sr=xl(Ze,Qt);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),sr,j))continue;let Tr=De?ve.evaluate(sr,{},j):void 0,Pr={id:at,properties:Ze.properties,type:Ze.type,sourceLayerIndex:Ft,index:Tt,geometry:Qt?sr.geometry:js(Ze),patterns:{},sortKey:Tr};ue.push(Pr)}De&&ue.sort((Ze,at)=>Ze.sortKey-at.sortKey);for(let Ze of ue){let{geometry:at,index:Tt,sourceLayerIndex:Ft}=Ze,Qt=S[Tt].feature;this.addFeature(Ze,at,Tt,j),D.featureIndex.insert(Qt,at,Tt,Ft,this.index)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,Ue),this.indexBuffer=S.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(S),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(S,D,j,te){for(let ue of D)for(let ve of ue){let De=ve.x,Ze=ve.y;if(De<0||De>=za||Ze<0||Ze>=za)continue;let at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,S.sortKey),Tt=at.vertexLength;fu(this.layoutVertexArray,De,Ze,-1,-1),fu(this.layoutVertexArray,De,Ze,1,-1),fu(this.layoutVertexArray,De,Ze,1,1),fu(this.layoutVertexArray,De,Ze,-1,1),this.indexArray.emplaceBack(Tt,Tt+1,Tt+2),this.indexArray.emplaceBack(Tt,Tt+3,Tt+2),at.vertexLength+=4,at.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,{},te)}}function xc(R,S){for(let D=0;D<R.length;D++)if(On(S,R[D]))return!0;for(let D=0;D<S.length;D++)if(On(R,S[D]))return!0;return!!wi(R,S)}function At(R,S,D){return!!On(R,S)||!!Oi(S,R,D)}function Er(R,S){if(R.length===1)return cn(S,R[0]);for(let D=0;D<S.length;D++){let j=S[D];for(let te=0;te<j.length;te++)if(On(R,j[te]))return!0}for(let D=0;D<R.length;D++)if(cn(S,R[D]))return!0;for(let D=0;D<S.length;D++)if(wi(R,S[D]))return!0;return!1}function Wr(R,S,D){if(R.length>1){if(wi(R,S))return!0;for(let j=0;j<S.length;j++)if(Oi(S[j],R,D))return!0}for(let j=0;j<R.length;j++)if(Oi(R[j],S,D))return!0;return!1}function wi(R,S){if(R.length===0||S.length===0)return!1;for(let D=0;D<R.length-1;D++){let j=R[D],te=R[D+1];for(let ue=0;ue<S.length-1;ue++)if(Ui(j,te,S[ue],S[ue+1]))return!0}return!1}function Ui(R,S,D,j){return F(R,D,j)!==F(S,D,j)&&F(R,S,D)!==F(R,S,j)}function Oi(R,S,D){let j=D*D;if(S.length===1)return R.distSqr(S[0])<j;for(let te=1;te<S.length;te++)if(Bi(R,S[te-1],S[te])<j)return!0;return!1}function Bi(R,S,D){let j=S.distSqr(D);if(j===0)return R.distSqr(S);let te=((R.x-S.x)*(D.x-S.x)+(R.y-S.y)*(D.y-S.y))/j;return R.distSqr(te<0?S:te>1?D:D.sub(S)._mult(te)._add(S))}function cn(R,S){let D,j,te,ue=!1;for(let ve=0;ve<R.length;ve++){D=R[ve];for(let De=0,Ze=D.length-1;De<D.length;Ze=De++)j=D[De],te=D[Ze],j.y>S.y!=te.y>S.y&&S.x<(te.x-j.x)*(S.y-j.y)/(te.y-j.y)+j.x&&(ue=!ue)}return ue}function On(R,S){let D=!1;for(let j=0,te=R.length-1;j<R.length;te=j++){let ue=R[j],ve=R[te];ue.y>S.y!=ve.y>S.y&&S.x<(ve.x-ue.x)*(S.y-ue.y)/(ve.y-ue.y)+ue.x&&(D=!D)}return D}function Bn(R,S,D){let j=D[0],te=D[2];if(R.x<j.x&&S.x<j.x||R.x>te.x&&S.x>te.x||R.y<j.y&&S.y<j.y||R.y>te.y&&S.y>te.y)return!1;let ue=F(R,S,D[0]);return ue!==F(R,S,D[1])||ue!==F(R,S,D[2])||ue!==F(R,S,D[3])}function yn(R,S,D){let j=S.paint.get(R).value;return j.kind===\"constant\"?j.value:D.programConfigurations.get(S.id).getMaxValue(R)}function to(R){return Math.sqrt(R[0]*R[0]+R[1]*R[1])}function Rn(R,S,D,j,te){if(!S[0]&&!S[1])return R;let ue=u.convert(S)._mult(te);D===\"viewport\"&&ue._rotate(-j);let ve=[];for(let De=0;De<R.length;De++)ve.push(R[De].sub(ue));return ve}let Dn,fn;mi(\"CircleBucket\",dl,{omit:[\"layers\"]});var Ai={get paint(){return fn=fn||new le({\"circle-radius\":new eo(ce.paint_circle[\"circle-radius\"]),\"circle-color\":new eo(ce.paint_circle[\"circle-color\"]),\"circle-blur\":new eo(ce.paint_circle[\"circle-blur\"]),\"circle-opacity\":new eo(ce.paint_circle[\"circle-opacity\"]),\"circle-translate\":new Da(ce.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new Da(ce.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new Da(ce.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new Da(ce.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new eo(ce.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new eo(ce.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new eo(ce.paint_circle[\"circle-stroke-opacity\"])})},get layout(){return Dn=Dn||new le({\"circle-sort-key\":new eo(ce.layout_circle[\"circle-sort-key\"])})}},ji=1e-6,Ln=typeof Float32Array!=\"undefined\"?Float32Array:Array;function Un(R){return R[0]=1,R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=1,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[10]=1,R[11]=0,R[12]=0,R[13]=0,R[14]=0,R[15]=1,R}function gn(R,S,D){var j=S[0],te=S[1],ue=S[2],ve=S[3],De=S[4],Ze=S[5],at=S[6],Tt=S[7],Ft=S[8],Qt=S[9],sr=S[10],Tr=S[11],Pr=S[12],$r=S[13],ni=S[14],Di=S[15],pi=D[0],ki=D[1],Zi=D[2],ta=D[3];return R[0]=pi*j+ki*De+Zi*Ft+ta*Pr,R[1]=pi*te+ki*Ze+Zi*Qt+ta*$r,R[2]=pi*ue+ki*at+Zi*sr+ta*ni,R[3]=pi*ve+ki*Tt+Zi*Tr+ta*Di,R[4]=(pi=D[4])*j+(ki=D[5])*De+(Zi=D[6])*Ft+(ta=D[7])*Pr,R[5]=pi*te+ki*Ze+Zi*Qt+ta*$r,R[6]=pi*ue+ki*at+Zi*sr+ta*ni,R[7]=pi*ve+ki*Tt+Zi*Tr+ta*Di,R[8]=(pi=D[8])*j+(ki=D[9])*De+(Zi=D[10])*Ft+(ta=D[11])*Pr,R[9]=pi*te+ki*Ze+Zi*Qt+ta*$r,R[10]=pi*ue+ki*at+Zi*sr+ta*ni,R[11]=pi*ve+ki*Tt+Zi*Tr+ta*Di,R[12]=(pi=D[12])*j+(ki=D[13])*De+(Zi=D[14])*Ft+(ta=D[15])*Pr,R[13]=pi*te+ki*Ze+Zi*Qt+ta*$r,R[14]=pi*ue+ki*at+Zi*sr+ta*ni,R[15]=pi*ve+ki*Tt+Zi*Tr+ta*Di,R}Math.hypot||(Math.hypot=function(){for(var R=0,S=arguments.length;S--;)R+=arguments[S]*arguments[S];return Math.sqrt(R)});var ca,Kn=gn;function Za(R,S,D){var j=S[0],te=S[1],ue=S[2],ve=S[3];return R[0]=D[0]*j+D[4]*te+D[8]*ue+D[12]*ve,R[1]=D[1]*j+D[5]*te+D[9]*ue+D[13]*ve,R[2]=D[2]*j+D[6]*te+D[10]*ue+D[14]*ve,R[3]=D[3]*j+D[7]*te+D[11]*ue+D[15]*ve,R}ca=new Ln(4),Ln!=Float32Array&&(ca[0]=0,ca[1]=0,ca[2]=0,ca[3]=0);class wn extends B{constructor(S){super(S,Ai)}createBucket(S){return new dl(S)}queryRadius(S){let D=S;return yn(\"circle-radius\",this,D)+yn(\"circle-stroke-width\",this,D)+to(this.paint.get(\"circle-translate\"))}queryIntersectsFeature(S,D,j,te,ue,ve,De,Ze){let at=Rn(S,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),ve.angle,De),Tt=this.paint.get(\"circle-radius\").evaluate(D,j)+this.paint.get(\"circle-stroke-width\").evaluate(D,j),Ft=this.paint.get(\"circle-pitch-alignment\")===\"map\",Qt=Ft?at:function(Tr,Pr){return Tr.map($r=>vn($r,Pr))}(at,Ze),sr=Ft?Tt*De:Tt;for(let Tr of te)for(let Pr of Tr){let $r=Ft?Pr:vn(Pr,Ze),ni=sr,Di=Za([],[Pr.x,Pr.y,0,1],Ze);if(this.paint.get(\"circle-pitch-scale\")===\"viewport\"&&this.paint.get(\"circle-pitch-alignment\")===\"map\"?ni*=Di[3]/ve.cameraToCenterDistance:this.paint.get(\"circle-pitch-scale\")===\"map\"&&this.paint.get(\"circle-pitch-alignment\")===\"viewport\"&&(ni*=ve.cameraToCenterDistance/Di[3]),At(Qt,$r,ni))return!0}return!1}}function vn(R,S){let D=Za([],[R.x,R.y,0,1],S);return new u(D[0]/D[3],D[1]/D[3])}class Aa extends dl{}let aa;mi(\"HeatmapBucket\",Aa,{omit:[\"layers\"]});var Xn={get paint(){return aa=aa||new le({\"heatmap-radius\":new eo(ce.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new eo(ce.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new Da(ce.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new _c(ce.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new Da(ce.paint_heatmap[\"heatmap-opacity\"])})}};function Vn(R,{width:S,height:D},j,te){if(te){if(te instanceof Uint8ClampedArray)te=new Uint8Array(te.buffer);else if(te.length!==S*D*j)throw new RangeError(`mismatched image size. expected: ${te.length} but got: ${S*D*j}`)}else te=new Uint8Array(S*D*j);return R.width=S,R.height=D,R.data=te,R}function ma(R,{width:S,height:D},j){if(S===R.width&&D===R.height)return;let te=Vn({},{width:S,height:D},j);ro(R,te,{x:0,y:0},{x:0,y:0},{width:Math.min(R.width,S),height:Math.min(R.height,D)},j),R.width=S,R.height=D,R.data=te.data}function ro(R,S,D,j,te,ue){if(te.width===0||te.height===0)return S;if(te.width>R.width||te.height>R.height||D.x>R.width-te.width||D.y>R.height-te.height)throw new RangeError(\"out of range source coordinates for image copy\");if(te.width>S.width||te.height>S.height||j.x>S.width-te.width||j.y>S.height-te.height)throw new RangeError(\"out of range destination coordinates for image copy\");let ve=R.data,De=S.data;if(ve===De)throw new Error(\"srcData equals dstData, so image is already copied\");for(let Ze=0;Ze<te.height;Ze++){let at=((D.y+Ze)*R.width+D.x)*ue,Tt=((j.y+Ze)*S.width+j.x)*ue;for(let Ft=0;Ft<te.width*ue;Ft++)De[Tt+Ft]=ve[at+Ft]}return S}class Ao{constructor(S,D){Vn(this,S,1,D)}resize(S){ma(this,S,1)}clone(){return new Ao({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(S,D,j,te,ue){ro(S,D,j,te,ue,1)}}class Jn{constructor(S,D){Vn(this,S,4,D)}resize(S){ma(this,S,4)}replace(S,D){D?this.data.set(S):this.data=S instanceof Uint8ClampedArray?new Uint8Array(S.buffer):S}clone(){return new Jn({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(S,D,j,te,ue){ro(S,D,j,te,ue,4)}}function Oa(R){let S={},D=R.resolution||256,j=R.clips?R.clips.length:1,te=R.image||new Jn({width:D,height:j});if(Math.log(D)/Math.LN2%1!=0)throw new Error(`width is not a power of 2 - ${D}`);let ue=(ve,De,Ze)=>{S[R.evaluationKey]=Ze;let at=R.expression.evaluate(S);te.data[ve+De+0]=Math.floor(255*at.r/at.a),te.data[ve+De+1]=Math.floor(255*at.g/at.a),te.data[ve+De+2]=Math.floor(255*at.b/at.a),te.data[ve+De+3]=Math.floor(255*at.a)};if(R.clips)for(let ve=0,De=0;ve<j;++ve,De+=4*D)for(let Ze=0,at=0;Ze<D;Ze++,at+=4){let Tt=Ze/(D-1),{start:Ft,end:Qt}=R.clips[ve];ue(De,at,Ft*(1-Tt)+Qt*Tt)}else for(let ve=0,De=0;ve<D;ve++,De+=4)ue(0,De,ve/(D-1));return te}mi(\"AlphaImage\",Ao),mi(\"RGBAImage\",Jn);let _o=\"big-fb\";class Po extends B{createBucket(S){return new Aa(S)}constructor(S){super(S,Xn),this.heatmapFbos=new Map,this._updateColorRamp()}_handleSpecialPaintPropertyUpdate(S){S===\"heatmap-color\"&&this._updateColorRamp()}_updateColorRamp(){this.colorRamp=Oa({expression:this._transitionablePaint._values[\"heatmap-color\"].value.expression,evaluationKey:\"heatmapDensity\",image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbos.has(_o)&&this.heatmapFbos.delete(_o)}queryRadius(){return 0}queryIntersectsFeature(){return!1}hasOffscreenPass(){return this.paint.get(\"heatmap-opacity\")!==0&&this.visibility!==\"none\"}}let Jo;var Yl={get paint(){return Jo=Jo||new le({\"hillshade-illumination-direction\":new Da(ce.paint_hillshade[\"hillshade-illumination-direction\"]),\"hillshade-illumination-anchor\":new Da(ce.paint_hillshade[\"hillshade-illumination-anchor\"]),\"hillshade-exaggeration\":new Da(ce.paint_hillshade[\"hillshade-exaggeration\"]),\"hillshade-shadow-color\":new Da(ce.paint_hillshade[\"hillshade-shadow-color\"]),\"hillshade-highlight-color\":new Da(ce.paint_hillshade[\"hillshade-highlight-color\"]),\"hillshade-accent-color\":new Da(ce.paint_hillshade[\"hillshade-accent-color\"])})}};class $c extends B{constructor(S){super(S,Yl)}hasOffscreenPass(){return this.paint.get(\"hillshade-exaggeration\")!==0&&this.visibility!==\"none\"}}let xs=qe([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:Qc}=xs;function El(R,S,D=2){let j=S&&S.length,te=j?S[0]*D:R.length,ue=bc(R,0,te,D,!0),ve=[];if(!ue||ue.next===ue.prev)return ve;let De,Ze,at;if(j&&(ue=function(Tt,Ft,Qt,sr){let Tr=[];for(let Pr=0,$r=Ft.length;Pr<$r;Pr++){let ni=bc(Tt,Ft[Pr]*sr,Pr<$r-1?Ft[Pr+1]*sr:Tt.length,sr,!1);ni===ni.next&&(ni.steiner=!0),Tr.push(K(ni))}Tr.sort(_f);for(let Pr=0;Pr<Tr.length;Pr++)Qt=ns(Tr[Pr],Qt);return Qt}(R,S,ue,D)),R.length>80*D){De=1/0,Ze=1/0;let Tt=-1/0,Ft=-1/0;for(let Qt=D;Qt<te;Qt+=D){let sr=R[Qt],Tr=R[Qt+1];sr<De&&(De=sr),Tr<Ze&&(Ze=Tr),sr>Tt&&(Tt=sr),Tr>Ft&&(Ft=Tr)}at=Math.max(Tt-De,Ft-Ze),at=at!==0?32767/at:0}return yf(ue,ve,D,De,Ze,at,0),ve}function bc(R,S,D,j,te){let ue;if(te===function(ve,De,Ze,at){let Tt=0;for(let Ft=De,Qt=Ze-at;Ft<Ze;Ft+=at)Tt+=(ve[Qt]-ve[Ft])*(ve[Ft+1]+ve[Qt+1]),Qt=Ft;return Tt}(R,S,D,j)>0)for(let ve=S;ve<D;ve+=j)ue=Jt(ve/j|0,R[ve],R[ve+1],ue);else for(let ve=D-j;ve>=S;ve-=j)ue=Jt(ve/j|0,R[ve],R[ve+1],ue);return ue&&de(ue,ue.next)&&(vt(ue),ue=ue.next),ue}function wc(R,S){if(!R)return R;S||(S=R);let D,j=R;do if(D=!1,j.steiner||!de(j,j.next)&&pe(j.prev,j,j.next)!==0)j=j.next;else{if(vt(j),j=S=j.prev,j===j.next)break;D=!0}while(D||j!==S);return S}function yf(R,S,D,j,te,ue,ve){if(!R)return;!ve&&ue&&function(Ze,at,Tt,Ft){let Qt=Ze;do Qt.z===0&&(Qt.z=z(Qt.x,Qt.y,at,Tt,Ft)),Qt.prevZ=Qt.prev,Qt.nextZ=Qt.next,Qt=Qt.next;while(Qt!==Ze);Qt.prevZ.nextZ=null,Qt.prevZ=null,function(sr){let Tr,Pr=1;do{let $r,ni=sr;sr=null;let Di=null;for(Tr=0;ni;){Tr++;let pi=ni,ki=0;for(let ta=0;ta<Pr&&(ki++,pi=pi.nextZ,pi);ta++);let Zi=Pr;for(;ki>0||Zi>0&π)ki!==0&&(Zi===0||!pi||ni.z<=pi.z)?($r=ni,ni=ni.nextZ,ki--):($r=pi,pi=pi.nextZ,Zi--),Di?Di.nextZ=$r:sr=$r,$r.prevZ=Di,Di=$r;ni=pi}Di.nextZ=null,Pr*=2}while(Tr>1)}(Qt)}(R,j,te,ue);let De=R;for(;R.prev!==R.next;){let Ze=R.prev,at=R.next;if(ue?Fc(R,j,te,ue):Gl(R))S.push(Ze.i,R.i,at.i),vt(R),R=at.next,De=at.next;else if((R=at)===De){ve?ve===1?yf(R=ef(wc(R),S),S,D,j,te,ue,2):ve===2&&ls(R,S,D,j,te,ue):yf(wc(R),S,D,j,te,ue,1);break}}}function Gl(R){let S=R.prev,D=R,j=R.next;if(pe(S,D,j)>=0)return!1;let te=S.x,ue=D.x,ve=j.x,De=S.y,Ze=D.y,at=j.y,Tt=te<ue?te<ve?te:ve:ue<ve?ue:ve,Ft=De<Ze?De<at?De:at:Ze<at?Ze:at,Qt=te>ue?te>ve?te:ve:ue>ve?ue:ve,sr=De>Ze?De>at?De:at:Ze>at?Ze:at,Tr=j.next;for(;Tr!==S;){if(Tr.x>=Tt&&Tr.x<=Qt&&Tr.y>=Ft&&Tr.y<=sr&&O(te,De,ue,Ze,ve,at,Tr.x,Tr.y)&&pe(Tr.prev,Tr,Tr.next)>=0)return!1;Tr=Tr.next}return!0}function Fc(R,S,D,j){let te=R.prev,ue=R,ve=R.next;if(pe(te,ue,ve)>=0)return!1;let De=te.x,Ze=ue.x,at=ve.x,Tt=te.y,Ft=ue.y,Qt=ve.y,sr=De<Ze?De<at?De:at:Ze<at?Ze:at,Tr=Tt<Ft?Tt<Qt?Tt:Qt:Ft<Qt?Ft:Qt,Pr=De>Ze?De>at?De:at:Ze>at?Ze:at,$r=Tt>Ft?Tt>Qt?Tt:Qt:Ft>Qt?Ft:Qt,ni=z(sr,Tr,S,D,j),Di=z(Pr,$r,S,D,j),pi=R.prevZ,ki=R.nextZ;for(;pi&&pi.z>=ni&&ki&&ki.z<=Di;){if(pi.x>=sr&&pi.x<=Pr&&pi.y>=Tr&&pi.y<=$r&&pi!==te&&pi!==ve&&O(De,Tt,Ze,Ft,at,Qt,pi.x,pi.y)&&pe(pi.prev,pi,pi.next)>=0||(pi=pi.prevZ,ki.x>=sr&&ki.x<=Pr&&ki.y>=Tr&&ki.y<=$r&&ki!==te&&ki!==ve&&O(De,Tt,Ze,Ft,at,Qt,ki.x,ki.y)&&pe(ki.prev,ki,ki.next)>=0))return!1;ki=ki.nextZ}for(;pi&&pi.z>=ni;){if(pi.x>=sr&&pi.x<=Pr&&pi.y>=Tr&&pi.y<=$r&&pi!==te&&pi!==ve&&O(De,Tt,Ze,Ft,at,Qt,pi.x,pi.y)&&pe(pi.prev,pi,pi.next)>=0)return!1;pi=pi.prevZ}for(;ki&&ki.z<=Di;){if(ki.x>=sr&&ki.x<=Pr&&ki.y>=Tr&&ki.y<=$r&&ki!==te&&ki!==ve&&O(De,Tt,Ze,Ft,at,Qt,ki.x,ki.y)&&pe(ki.prev,ki,ki.next)>=0)return!1;ki=ki.nextZ}return!0}function ef(R,S){let D=R;do{let j=D.prev,te=D.next.next;!de(j,te)&&Ie(j,D,D.next,te)&&Kt(j,te)&&Kt(te,j)&&(S.push(j.i,D.i,te.i),vt(D),vt(D.next),D=R=te),D=D.next}while(D!==R);return wc(D)}function ls(R,S,D,j,te,ue){let ve=R;do{let De=ve.next.next;for(;De!==ve.prev;){if(ve.i!==De.i&&$(ve,De)){let Ze=ir(ve,De);return ve=wc(ve,ve.next),Ze=wc(Ze,Ze.next),yf(ve,S,D,j,te,ue,0),void yf(Ze,S,D,j,te,ue,0)}De=De.next}ve=ve.next}while(ve!==R)}function _f(R,S){return R.x-S.x}function ns(R,S){let D=function(te,ue){let ve=ue,De=te.x,Ze=te.y,at,Tt=-1/0;do{if(Ze<=ve.y&&Ze>=ve.next.y&&ve.next.y!==ve.y){let Pr=ve.x+(Ze-ve.y)*(ve.next.x-ve.x)/(ve.next.y-ve.y);if(Pr<=De&&Pr>Tt&&(Tt=Pr,at=ve.x<ve.next.x?ve:ve.next,Pr===De))return at}ve=ve.next}while(ve!==ue);if(!at)return null;let Ft=at,Qt=at.x,sr=at.y,Tr=1/0;ve=at;do{if(De>=ve.x&&ve.x>=Qt&&De!==ve.x&&O(Ze<sr?De:Tt,Ze,Qt,sr,Ze<sr?Tt:De,Ze,ve.x,ve.y)){let Pr=Math.abs(Ze-ve.y)/(De-ve.x);Kt(ve,te)&&(Pr<Tr||Pr===Tr&&(ve.x>at.x||ve.x===at.x&&Y(at,ve)))&&(at=ve,Tr=Pr)}ve=ve.next}while(ve!==Ft);return at}(R,S);if(!D)return S;let j=ir(D,R);return wc(j,j.next),wc(D,D.next)}function Y(R,S){return pe(R.prev,R,S.prev)<0&&pe(S.next,R,R.next)<0}function z(R,S,D,j,te){return(R=1431655765&((R=858993459&((R=252645135&((R=16711935&((R=(R-D)*te|0)|R<<8))|R<<4))|R<<2))|R<<1))|(S=1431655765&((S=858993459&((S=252645135&((S=16711935&((S=(S-j)*te|0)|S<<8))|S<<4))|S<<2))|S<<1))<<1}function K(R){let S=R,D=R;do(S.x<D.x||S.x===D.x&&S.y<D.y)&&(D=S),S=S.next;while(S!==R);return D}function O(R,S,D,j,te,ue,ve,De){return(te-ve)*(S-De)>=(R-ve)*(ue-De)&&(R-ve)*(j-De)>=(D-ve)*(S-De)&&(D-ve)*(ue-De)>=(te-ve)*(j-De)}function $(R,S){return R.next.i!==S.i&&R.prev.i!==S.i&&!function(D,j){let te=D;do{if(te.i!==D.i&&te.next.i!==D.i&&te.i!==j.i&&te.next.i!==j.i&&Ie(te,te.next,D,j))return!0;te=te.next}while(te!==D);return!1}(R,S)&&(Kt(R,S)&&Kt(S,R)&&function(D,j){let te=D,ue=!1,ve=(D.x+j.x)/2,De=(D.y+j.y)/2;do te.y>De!=te.next.y>De&&te.next.y!==te.y&&ve<(te.next.x-te.x)*(De-te.y)/(te.next.y-te.y)+te.x&&(ue=!ue),te=te.next;while(te!==D);return ue}(R,S)&&(pe(R.prev,R,S.prev)||pe(R,S.prev,S))||de(R,S)&&pe(R.prev,R,R.next)>0&&pe(S.prev,S,S.next)>0)}function pe(R,S,D){return(S.y-R.y)*(D.x-S.x)-(S.x-R.x)*(D.y-S.y)}function de(R,S){return R.x===S.x&&R.y===S.y}function Ie(R,S,D,j){let te=pt(pe(R,S,D)),ue=pt(pe(R,S,j)),ve=pt(pe(D,j,R)),De=pt(pe(D,j,S));return te!==ue&&ve!==De||!(te!==0||!$e(R,D,S))||!(ue!==0||!$e(R,j,S))||!(ve!==0||!$e(D,R,j))||!(De!==0||!$e(D,S,j))}function $e(R,S,D){return S.x<=Math.max(R.x,D.x)&&S.x>=Math.min(R.x,D.x)&&S.y<=Math.max(R.y,D.y)&&S.y>=Math.min(R.y,D.y)}function pt(R){return R>0?1:R<0?-1:0}function Kt(R,S){return pe(R.prev,R,R.next)<0?pe(R,S,R.next)>=0&&pe(R,R.prev,S)>=0:pe(R,S,R.prev)<0||pe(R,R.next,S)<0}function ir(R,S){let D=Pt(R.i,R.x,R.y),j=Pt(S.i,S.x,S.y),te=R.next,ue=S.prev;return R.next=S,S.prev=R,D.next=te,te.prev=D,j.next=D,D.prev=j,ue.next=j,j.prev=ue,j}function Jt(R,S,D,j){let te=Pt(R,S,D);return j?(te.next=j.next,te.prev=j,j.next.prev=te,j.next=te):(te.prev=te,te.next=te),te}function vt(R){R.next.prev=R.prev,R.prev.next=R.next,R.prevZ&&(R.prevZ.nextZ=R.nextZ),R.nextZ&&(R.nextZ.prevZ=R.prevZ)}function Pt(R,S,D){return{i:R,x:S,y:D,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function Wt(R,S,D){let j=D.patternDependencies,te=!1;for(let ue of S){let ve=ue.paint.get(`${R}-pattern`);ve.isConstant()||(te=!0);let De=ve.constantOr(null);De&&(te=!0,j[De.to]=!0,j[De.from]=!0)}return te}function rr(R,S,D,j,te){let ue=te.patternDependencies;for(let ve of S){let De=ve.paint.get(`${R}-pattern`).value;if(De.kind!==\"constant\"){let Ze=De.evaluate({zoom:j-1},D,{},te.availableImages),at=De.evaluate({zoom:j},D,{},te.availableImages),Tt=De.evaluate({zoom:j+1},D,{},te.availableImages);Ze=Ze&&Ze.name?Ze.name:Ze,at=at&&at.name?at.name:at,Tt=Tt&&Tt.name?Tt.name:Tt,ue[Ze]=!0,ue[at]=!0,ue[Tt]=!0,D.patterns[ve.id]={min:Ze,mid:at,max:Tt}}}return D}class dr{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new _l,this.indexArray=new oe,this.indexArray2=new we,this.programConfigurations=new _s(S.layers,S.zoom),this.segments=new We,this.segments2=new We,this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){this.hasPattern=Wt(\"fill\",this.layers,D);let te=this.layers[0].layout.get(\"fill-sort-key\"),ue=!te.isConstant(),ve=[];for(let{feature:De,id:Ze,index:at,sourceLayerIndex:Tt}of S){let Ft=this.layers[0]._featureFilter.needGeometry,Qt=xl(De,Ft);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),Qt,j))continue;let sr=ue?te.evaluate(Qt,{},j,D.availableImages):void 0,Tr={id:Ze,properties:De.properties,type:De.type,sourceLayerIndex:Tt,index:at,geometry:Ft?Qt.geometry:js(De),patterns:{},sortKey:sr};ve.push(Tr)}ue&&ve.sort((De,Ze)=>De.sortKey-Ze.sortKey);for(let De of ve){let{geometry:Ze,index:at,sourceLayerIndex:Tt}=De;if(this.hasPattern){let Ft=rr(\"fill\",this.layers,De,this.zoom,D);this.patternFeatures.push(Ft)}else this.addFeature(De,Ze,at,j,{});D.featureIndex.insert(S[at].feature,Ze,at,Tt,this.index)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}addFeatures(S,D,j){for(let te of this.patternFeatures)this.addFeature(te,te.geometry,te.index,D,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,Qc),this.indexBuffer=S.createIndexBuffer(this.indexArray),this.indexBuffer2=S.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(S),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(S,D,j,te,ue){for(let ve of Of(D,500)){let De=0;for(let sr of ve)De+=sr.length;let Ze=this.segments.prepareSegment(De,this.layoutVertexArray,this.indexArray),at=Ze.vertexLength,Tt=[],Ft=[];for(let sr of ve){if(sr.length===0)continue;sr!==ve[0]&&Ft.push(Tt.length/2);let Tr=this.segments2.prepareSegment(sr.length,this.layoutVertexArray,this.indexArray2),Pr=Tr.vertexLength;this.layoutVertexArray.emplaceBack(sr[0].x,sr[0].y),this.indexArray2.emplaceBack(Pr+sr.length-1,Pr),Tt.push(sr[0].x),Tt.push(sr[0].y);for(let $r=1;$r<sr.length;$r++)this.layoutVertexArray.emplaceBack(sr[$r].x,sr[$r].y),this.indexArray2.emplaceBack(Pr+$r-1,Pr+$r),Tt.push(sr[$r].x),Tt.push(sr[$r].y);Tr.vertexLength+=sr.length,Tr.primitiveLength+=sr.length}let Qt=El(Tt,Ft);for(let sr=0;sr<Qt.length;sr+=3)this.indexArray.emplaceBack(at+Qt[sr],at+Qt[sr+1],at+Qt[sr+2]);Ze.vertexLength+=De,Ze.primitiveLength+=Qt.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,ue,te)}}let pr,kr;mi(\"FillBucket\",dr,{omit:[\"layers\",\"patternFeatures\"]});var Ar={get paint(){return kr=kr||new le({\"fill-antialias\":new Da(ce.paint_fill[\"fill-antialias\"]),\"fill-opacity\":new eo(ce.paint_fill[\"fill-opacity\"]),\"fill-color\":new eo(ce.paint_fill[\"fill-color\"]),\"fill-outline-color\":new eo(ce.paint_fill[\"fill-outline-color\"]),\"fill-translate\":new Da(ce.paint_fill[\"fill-translate\"]),\"fill-translate-anchor\":new Da(ce.paint_fill[\"fill-translate-anchor\"]),\"fill-pattern\":new Jc(ce.paint_fill[\"fill-pattern\"])})},get layout(){return pr=pr||new le({\"fill-sort-key\":new eo(ce.layout_fill[\"fill-sort-key\"])})}};class gr extends B{constructor(S){super(S,Ar)}recalculate(S,D){super.recalculate(S,D);let j=this.paint._values[\"fill-outline-color\"];j.value.kind===\"constant\"&&j.value.value===void 0&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"])}createBucket(S){return new dr(S)}queryRadius(){return to(this.paint.get(\"fill-translate\"))}queryIntersectsFeature(S,D,j,te,ue,ve,De){return Er(Rn(S,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),ve.angle,De),te)}isTileClipped(){return!0}}let Cr=qe([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal_ed\",components:4,type:\"Int16\"}],4),cr=qe([{name:\"a_centroid\",components:2,type:\"Int16\"}],4),{members:Gr}=Cr;var ei={},yi=s,tn=Ri;function Ri(R,S,D,j,te){this.properties={},this.extent=D,this.type=0,this._pbf=R,this._geometry=-1,this._keys=j,this._values=te,R.readFields(ln,this,S)}function ln(R,S,D){R==1?S.id=D.readVarint():R==2?function(j,te){for(var ue=j.readVarint()+j.pos;j.pos<ue;){var ve=te._keys[j.readVarint()],De=te._values[j.readVarint()];te.properties[ve]=De}}(D,S):R==3?S.type=D.readVarint():R==4&&(S._geometry=D.pos)}function Qn(R){for(var S,D,j=0,te=0,ue=R.length,ve=ue-1;te<ue;ve=te++)j+=((D=R[ve]).x-(S=R[te]).x)*(S.y+D.y);return j}Ri.types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],Ri.prototype.loadGeometry=function(){var R=this._pbf;R.pos=this._geometry;for(var S,D=R.readVarint()+R.pos,j=1,te=0,ue=0,ve=0,De=[];R.pos<D;){if(te<=0){var Ze=R.readVarint();j=7&Ze,te=Ze>>3}if(te--,j===1||j===2)ue+=R.readSVarint(),ve+=R.readSVarint(),j===1&&(S&&De.push(S),S=[]),S.push(new yi(ue,ve));else{if(j!==7)throw new Error(\"unknown command \"+j);S&&S.push(S[0].clone())}}return S&&De.push(S),De},Ri.prototype.bbox=function(){var R=this._pbf;R.pos=this._geometry;for(var S=R.readVarint()+R.pos,D=1,j=0,te=0,ue=0,ve=1/0,De=-1/0,Ze=1/0,at=-1/0;R.pos<S;){if(j<=0){var Tt=R.readVarint();D=7&Tt,j=Tt>>3}if(j--,D===1||D===2)(te+=R.readSVarint())<ve&&(ve=te),te>De&&(De=te),(ue+=R.readSVarint())<Ze&&(Ze=ue),ue>at&&(at=ue);else if(D!==7)throw new Error(\"unknown command \"+D)}return[ve,Ze,De,at]},Ri.prototype.toGeoJSON=function(R,S,D){var j,te,ue=this.extent*Math.pow(2,D),ve=this.extent*R,De=this.extent*S,Ze=this.loadGeometry(),at=Ri.types[this.type];function Tt(sr){for(var Tr=0;Tr<sr.length;Tr++){var Pr=sr[Tr];sr[Tr]=[360*(Pr.x+ve)/ue-180,360/Math.PI*Math.atan(Math.exp((180-360*(Pr.y+De)/ue)*Math.PI/180))-90]}}switch(this.type){case 1:var Ft=[];for(j=0;j<Ze.length;j++)Ft[j]=Ze[j][0];Tt(Ze=Ft);break;case 2:for(j=0;j<Ze.length;j++)Tt(Ze[j]);break;case 3:for(Ze=function(sr){var Tr=sr.length;if(Tr<=1)return[sr];for(var Pr,$r,ni=[],Di=0;Di<Tr;Di++){var pi=Qn(sr[Di]);pi!==0&&($r===void 0&&($r=pi<0),$r===pi<0?(Pr&&ni.push(Pr),Pr=[sr[Di]]):Pr.push(sr[Di]))}return Pr&&ni.push(Pr),ni}(Ze),j=0;j<Ze.length;j++)for(te=0;te<Ze[j].length;te++)Tt(Ze[j][te])}Ze.length===1?Ze=Ze[0]:at=\"Multi\"+at;var Qt={type:\"Feature\",geometry:{type:at,coordinates:Ze},properties:this.properties};return\"id\"in this&&(Qt.id=this.id),Qt};var qn=tn,rn=bn;function bn(R,S){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=R,this._keys=[],this._values=[],this._features=[],R.readFields(mn,this,S),this.length=this._features.length}function mn(R,S,D){R===15?S.version=D.readVarint():R===1?S.name=D.readString():R===5?S.extent=D.readVarint():R===2?S._features.push(D.pos):R===3?S._keys.push(D.readString()):R===4&&S._values.push(function(j){for(var te=null,ue=j.readVarint()+j.pos;j.pos<ue;){var ve=j.readVarint()>>3;te=ve===1?j.readString():ve===2?j.readFloat():ve===3?j.readDouble():ve===4?j.readVarint64():ve===5?j.readVarint():ve===6?j.readSVarint():ve===7?j.readBoolean():null}return te}(D))}bn.prototype.feature=function(R){if(R<0||R>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[R];var S=this._pbf.readVarint()+this._pbf.pos;return new qn(this._pbf,S,this.extent,this._keys,this._values)};var Gn=rn;function da(R,S,D){if(R===3){var j=new Gn(D,D.readVarint()+D.pos);j.length&&(S[j.name]=j)}}ei.VectorTile=function(R,S){this.layers=R.readFields(da,{},S)},ei.VectorTileFeature=tn,ei.VectorTileLayer=rn;let No=ei.VectorTileFeature.types,Do=Math.pow(2,13);function ps(R,S,D,j,te,ue,ve,De){R.emplaceBack(S,D,2*Math.floor(j*Do)+ve,te*Do*2,ue*Do*2,Math.round(De))}class fo{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.layoutVertexArray=new Hl,this.centroidVertexArray=new yo,this.indexArray=new oe,this.programConfigurations=new _s(S.layers,S.zoom),this.segments=new We,this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){this.features=[],this.hasPattern=Wt(\"fill-extrusion\",this.layers,D);for(let{feature:te,id:ue,index:ve,sourceLayerIndex:De}of S){let Ze=this.layers[0]._featureFilter.needGeometry,at=xl(te,Ze);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),at,j))continue;let Tt={id:ue,sourceLayerIndex:De,index:ve,geometry:Ze?at.geometry:js(te),properties:te.properties,type:te.type,patterns:{}};this.hasPattern?this.features.push(rr(\"fill-extrusion\",this.layers,Tt,this.zoom,D)):this.addFeature(Tt,Tt.geometry,ve,j,{}),D.featureIndex.insert(te,Tt.geometry,ve,De,this.index,!0)}}addFeatures(S,D,j){for(let te of this.features){let{geometry:ue}=te;this.addFeature(te,ue,te.index,D,j)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,Gr),this.centroidVertexBuffer=S.createVertexBuffer(this.centroidVertexArray,cr.members,!0),this.indexBuffer=S.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(S),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(S,D,j,te,ue){for(let ve of Of(D,500)){let De={x:0,y:0,vertexCount:0},Ze=0;for(let Tr of ve)Ze+=Tr.length;let at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let Tr of ve){if(Tr.length===0||tl(Tr))continue;let Pr=0;for(let $r=0;$r<Tr.length;$r++){let ni=Tr[$r];if($r>=1){let Di=Tr[$r-1];if(!as(ni,Di)){at.vertexLength+4>We.MAX_VERTEX_ARRAY_LENGTH&&(at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let pi=ni.sub(Di)._perp()._unit(),ki=Di.dist(ni);Pr+ki>32768&&(Pr=0),ps(this.layoutVertexArray,ni.x,ni.y,pi.x,pi.y,0,0,Pr),ps(this.layoutVertexArray,ni.x,ni.y,pi.x,pi.y,0,1,Pr),De.x+=2*ni.x,De.y+=2*ni.y,De.vertexCount+=2,Pr+=ki,ps(this.layoutVertexArray,Di.x,Di.y,pi.x,pi.y,0,0,Pr),ps(this.layoutVertexArray,Di.x,Di.y,pi.x,pi.y,0,1,Pr),De.x+=2*Di.x,De.y+=2*Di.y,De.vertexCount+=2;let Zi=at.vertexLength;this.indexArray.emplaceBack(Zi,Zi+2,Zi+1),this.indexArray.emplaceBack(Zi+1,Zi+2,Zi+3),at.vertexLength+=4,at.primitiveLength+=2}}}}if(at.vertexLength+Ze>We.MAX_VERTEX_ARRAY_LENGTH&&(at=this.segments.prepareSegment(Ze,this.layoutVertexArray,this.indexArray)),No[S.type]!==\"Polygon\")continue;let Tt=[],Ft=[],Qt=at.vertexLength;for(let Tr of ve)if(Tr.length!==0){Tr!==ve[0]&&Ft.push(Tt.length/2);for(let Pr=0;Pr<Tr.length;Pr++){let $r=Tr[Pr];ps(this.layoutVertexArray,$r.x,$r.y,0,0,1,1,0),De.x+=$r.x,De.y+=$r.y,De.vertexCount+=1,Tt.push($r.x),Tt.push($r.y)}}let sr=El(Tt,Ft);for(let Tr=0;Tr<sr.length;Tr+=3)this.indexArray.emplaceBack(Qt+sr[Tr],Qt+sr[Tr+2],Qt+sr[Tr+1]);at.primitiveLength+=sr.length/3,at.vertexLength+=Ze;for(let Tr=0;Tr<De.vertexCount;Tr++){let Pr=Math.floor(De.x/De.vertexCount),$r=Math.floor(De.y/De.vertexCount);this.centroidVertexArray.emplaceBack(Pr,$r)}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,ue,te)}}function as(R,S){return R.x===S.x&&(R.x<0||R.x>za)||R.y===S.y&&(R.y<0||R.y>za)}function tl(R){return R.every(S=>S.x<0)||R.every(S=>S.x>za)||R.every(S=>S.y<0)||R.every(S=>S.y>za)}let zu;mi(\"FillExtrusionBucket\",fo,{omit:[\"layers\",\"features\"]});var Mv={get paint(){return zu=zu||new le({\"fill-extrusion-opacity\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new eo(ce[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Jc(ce[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new eo(ce[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new eo(ce[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})}};class Ev extends B{constructor(S){super(S,Mv)}createBucket(S){return new fo(S)}queryRadius(){return to(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return!0}queryIntersectsFeature(S,D,j,te,ue,ve,De,Ze){let at=Rn(S,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),ve.angle,De),Tt=this.paint.get(\"fill-extrusion-height\").evaluate(D,j),Ft=this.paint.get(\"fill-extrusion-base\").evaluate(D,j),Qt=function(Tr,Pr,$r,ni){let Di=[];for(let pi of Tr){let ki=[pi.x,pi.y,0,1];Za(ki,ki,Pr),Di.push(new u(ki[0]/ki[3],ki[1]/ki[3]))}return Di}(at,Ze),sr=function(Tr,Pr,$r,ni){let Di=[],pi=[],ki=ni[8]*Pr,Zi=ni[9]*Pr,ta=ni[10]*Pr,Va=ni[11]*Pr,Io=ni[8]*$r,La=ni[9]*$r,Hn=ni[10]*$r,lo=ni[11]*$r;for(let $a of Tr){let Xa=[],Tn=[];for(let bo of $a){let Ya=bo.x,Uo=bo.y,wu=ni[0]*Ya+ni[4]*Uo+ni[12],hu=ni[1]*Ya+ni[5]*Uo+ni[13],uh=ni[2]*Ya+ni[6]*Uo+ni[14],$v=ni[3]*Ya+ni[7]*Uo+ni[15],td=uh+ta,ch=$v+Va,Ud=wu+Io,Vd=hu+La,Hd=uh+Hn,rf=$v+lo,fh=new u((wu+ki)/ch,(hu+Zi)/ch);fh.z=td/ch,Xa.push(fh);let Td=new u(Ud/rf,Vd/rf);Td.z=Hd/rf,Tn.push(Td)}Di.push(Xa),pi.push(Tn)}return[Di,pi]}(te,Ft,Tt,Ze);return function(Tr,Pr,$r){let ni=1/0;Er($r,Pr)&&(ni=Yv($r,Pr[0]));for(let Di=0;Di<Pr.length;Di++){let pi=Pr[Di],ki=Tr[Di];for(let Zi=0;Zi<pi.length-1;Zi++){let ta=pi[Zi],Va=[ta,pi[Zi+1],ki[Zi+1],ki[Zi],ta];xc($r,Va)&&(ni=Math.min(ni,Yv($r,Va)))}}return ni!==1/0&&ni}(sr[0],sr[1],Qt)}}function yd(R,S){return R.x*S.x+R.y*S.y}function Yv(R,S){if(R.length===1){let D=0,j=S[D++],te;for(;!te||j.equals(te);)if(te=S[D++],!te)return 1/0;for(;D<S.length;D++){let ue=S[D],ve=R[0],De=te.sub(j),Ze=ue.sub(j),at=ve.sub(j),Tt=yd(De,De),Ft=yd(De,Ze),Qt=yd(Ze,Ze),sr=yd(at,De),Tr=yd(at,Ze),Pr=Tt*Qt-Ft*Ft,$r=(Qt*sr-Ft*Tr)/Pr,ni=(Tt*Tr-Ft*sr)/Pr,Di=j.z*(1-$r-ni)+te.z*$r+ue.z*ni;if(isFinite(Di))return Di}return 1/0}{let D=1/0;for(let j of S)D=Math.min(D,j.z);return D}}let cg=qe([{name:\"a_pos_normal\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}],4),{members:vp}=cg,_d=qe([{name:\"a_uv_x\",components:1,type:\"Float32\"},{name:\"a_split_index\",components:1,type:\"Float32\"}]),{members:pp}=_d,Nd=ei.VectorTileFeature.types,xd=Math.cos(Math.PI/180*37.5),kv=Math.pow(2,14)/.5;class Kv{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(D=>{this.gradients[D.id]={}}),this.layoutVertexArray=new Zu,this.layoutVertexArray2=new cu,this.indexArray=new oe,this.programConfigurations=new _s(S.layers,S.zoom),this.segments=new We,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){this.hasPattern=Wt(\"line\",this.layers,D);let te=this.layers[0].layout.get(\"line-sort-key\"),ue=!te.isConstant(),ve=[];for(let{feature:De,id:Ze,index:at,sourceLayerIndex:Tt}of S){let Ft=this.layers[0]._featureFilter.needGeometry,Qt=xl(De,Ft);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),Qt,j))continue;let sr=ue?te.evaluate(Qt,{},j):void 0,Tr={id:Ze,properties:De.properties,type:De.type,sourceLayerIndex:Tt,index:at,geometry:Ft?Qt.geometry:js(De),patterns:{},sortKey:sr};ve.push(Tr)}ue&&ve.sort((De,Ze)=>De.sortKey-Ze.sortKey);for(let De of ve){let{geometry:Ze,index:at,sourceLayerIndex:Tt}=De;if(this.hasPattern){let Ft=rr(\"line\",this.layers,De,this.zoom,D);this.patternFeatures.push(Ft)}else this.addFeature(De,Ze,at,j,{});D.featureIndex.insert(S[at].feature,Ze,at,Tt,this.index)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}addFeatures(S,D,j){for(let te of this.patternFeatures)this.addFeature(te,te.geometry,te.index,D,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=S.createVertexBuffer(this.layoutVertexArray2,pp)),this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,vp),this.indexBuffer=S.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(S),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(S){if(S.properties&&Object.prototype.hasOwnProperty.call(S.properties,\"mapbox_clip_start\")&&Object.prototype.hasOwnProperty.call(S.properties,\"mapbox_clip_end\"))return{start:+S.properties.mapbox_clip_start,end:+S.properties.mapbox_clip_end}}addFeature(S,D,j,te,ue){let ve=this.layers[0].layout,De=ve.get(\"line-join\").evaluate(S,{}),Ze=ve.get(\"line-cap\"),at=ve.get(\"line-miter-limit\"),Tt=ve.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(S);for(let Ft of D)this.addLine(Ft,S,De,Ze,at,Tt);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,ue,te)}addLine(S,D,j,te,ue,ve){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let ni=0;ni<S.length-1;ni++)this.totalDistance+=S[ni].dist(S[ni+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}let De=Nd[D.type]===\"Polygon\",Ze=S.length;for(;Ze>=2&&S[Ze-1].equals(S[Ze-2]);)Ze--;let at=0;for(;at<Ze-1&&S[at].equals(S[at+1]);)at++;if(Ze<(De?3:2))return;j===\"bevel\"&&(ue=1.05);let Tt=this.overscaling<=16?15*za/(512*this.overscaling):0,Ft=this.segments.prepareSegment(10*Ze,this.layoutVertexArray,this.indexArray),Qt,sr,Tr,Pr,$r;this.e1=this.e2=-1,De&&(Qt=S[Ze-2],$r=S[at].sub(Qt)._unit()._perp());for(let ni=at;ni<Ze;ni++){if(Tr=ni===Ze-1?De?S[at+1]:void 0:S[ni+1],Tr&&S[ni].equals(Tr))continue;$r&&(Pr=$r),Qt&&(sr=Qt),Qt=S[ni],$r=Tr?Tr.sub(Qt)._unit()._perp():Pr,Pr=Pr||$r;let Di=Pr.add($r);Di.x===0&&Di.y===0||Di._unit();let pi=Pr.x*$r.x+Pr.y*$r.y,ki=Di.x*$r.x+Di.y*$r.y,Zi=ki!==0?1/ki:1/0,ta=2*Math.sqrt(2-2*ki),Va=ki<xd&&sr&&Tr,Io=Pr.x*$r.y-Pr.y*$r.x>0;if(Va&&ni>at){let lo=Qt.dist(sr);if(lo>2*Tt){let $a=Qt.sub(Qt.sub(sr)._mult(Tt/lo)._round());this.updateDistance(sr,$a),this.addCurrentVertex($a,Pr,0,0,Ft),sr=$a}}let La=sr&&Tr,Hn=La?j:De?\"butt\":te;if(La&&Hn===\"round\"&&(Zi<ve?Hn=\"miter\":Zi<=2&&(Hn=\"fakeround\")),Hn===\"miter\"&&Zi>ue&&(Hn=\"bevel\"),Hn===\"bevel\"&&(Zi>2&&(Hn=\"flipbevel\"),Zi<ue&&(Hn=\"miter\")),sr&&this.updateDistance(sr,Qt),Hn===\"miter\")Di._mult(Zi),this.addCurrentVertex(Qt,Di,0,0,Ft);else if(Hn===\"flipbevel\"){if(Zi>100)Di=$r.mult(-1);else{let lo=Zi*Pr.add($r).mag()/Pr.sub($r).mag();Di._perp()._mult(lo*(Io?-1:1))}this.addCurrentVertex(Qt,Di,0,0,Ft),this.addCurrentVertex(Qt,Di.mult(-1),0,0,Ft)}else if(Hn===\"bevel\"||Hn===\"fakeround\"){let lo=-Math.sqrt(Zi*Zi-1),$a=Io?lo:0,Xa=Io?0:lo;if(sr&&this.addCurrentVertex(Qt,Pr,$a,Xa,Ft),Hn===\"fakeround\"){let Tn=Math.round(180*ta/Math.PI/20);for(let bo=1;bo<Tn;bo++){let Ya=bo/Tn;if(Ya!==.5){let wu=Ya-.5;Ya+=Ya*wu*(Ya-1)*((1.0904+pi*(pi*(3.55645-1.43519*pi)-3.2452))*wu*wu+(.848013+pi*(.215638*pi-1.06021)))}let Uo=$r.sub(Pr)._mult(Ya)._add(Pr)._unit()._mult(Io?-1:1);this.addHalfVertex(Qt,Uo.x,Uo.y,!1,Io,0,Ft)}}Tr&&this.addCurrentVertex(Qt,$r,-$a,-Xa,Ft)}else if(Hn===\"butt\")this.addCurrentVertex(Qt,Di,0,0,Ft);else if(Hn===\"square\"){let lo=sr?1:-1;this.addCurrentVertex(Qt,Di,lo,lo,Ft)}else Hn===\"round\"&&(sr&&(this.addCurrentVertex(Qt,Pr,0,0,Ft),this.addCurrentVertex(Qt,Pr,1,1,Ft,!0)),Tr&&(this.addCurrentVertex(Qt,$r,-1,-1,Ft,!0),this.addCurrentVertex(Qt,$r,0,0,Ft)));if(Va&&ni<Ze-1){let lo=Qt.dist(Tr);if(lo>2*Tt){let $a=Qt.add(Tr.sub(Qt)._mult(Tt/lo)._round());this.updateDistance(Qt,$a),this.addCurrentVertex($a,$r,0,0,Ft),Qt=$a}}}}addCurrentVertex(S,D,j,te,ue,ve=!1){let De=D.y*te-D.x,Ze=-D.y-D.x*te;this.addHalfVertex(S,D.x+D.y*j,D.y-D.x*j,ve,!1,j,ue),this.addHalfVertex(S,De,Ze,ve,!0,-te,ue),this.distance>kv/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(S,D,j,te,ue,ve))}addHalfVertex({x:S,y:D},j,te,ue,ve,De,Ze){let at=.5*(this.lineClips?this.scaledDistance*(kv-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((S<<1)+(ue?1:0),(D<<1)+(ve?1:0),Math.round(63*j)+128,Math.round(63*te)+128,1+(De===0?0:De<0?-1:1)|(63&at)<<2,at>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let Tt=Ze.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Tt),Ze.primitiveLength++),ve?this.e2=Tt:this.e1=Tt}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(S,D){this.distance+=S.dist(D),this.updateScaledDistance()}}let Cv,ny;mi(\"LineBucket\",Kv,{omit:[\"layers\",\"patternFeatures\"]});var fg={get paint(){return ny=ny||new le({\"line-opacity\":new eo(ce.paint_line[\"line-opacity\"]),\"line-color\":new eo(ce.paint_line[\"line-color\"]),\"line-translate\":new Da(ce.paint_line[\"line-translate\"]),\"line-translate-anchor\":new Da(ce.paint_line[\"line-translate-anchor\"]),\"line-width\":new eo(ce.paint_line[\"line-width\"]),\"line-gap-width\":new eo(ce.paint_line[\"line-gap-width\"]),\"line-offset\":new eo(ce.paint_line[\"line-offset\"]),\"line-blur\":new eo(ce.paint_line[\"line-blur\"]),\"line-dasharray\":new yc(ce.paint_line[\"line-dasharray\"]),\"line-pattern\":new Jc(ce.paint_line[\"line-pattern\"]),\"line-gradient\":new _c(ce.paint_line[\"line-gradient\"])})},get layout(){return Cv=Cv||new le({\"line-cap\":new Da(ce.layout_line[\"line-cap\"]),\"line-join\":new eo(ce.layout_line[\"line-join\"]),\"line-miter-limit\":new Da(ce.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new Da(ce.layout_line[\"line-round-limit\"]),\"line-sort-key\":new eo(ce.layout_line[\"line-sort-key\"])})}};class Hf extends eo{possiblyEvaluate(S,D){return D=new Ko(Math.floor(D.zoom),{now:D.now,fadeDuration:D.fadeDuration,zoomHistory:D.zoomHistory,transition:D.transition}),super.possiblyEvaluate(S,D)}evaluate(S,D,j,te){return D=L({},D,{zoom:Math.floor(D.zoom)}),super.evaluate(S,D,j,te)}}let hg;class ay extends B{constructor(S){super(S,fg),this.gradientVersion=0,hg||(hg=new Hf(fg.paint.properties[\"line-width\"].specification),hg.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(S){if(S===\"line-gradient\"){let D=this.gradientExpression();this.stepInterpolant=!!function(j){return j._styleExpression!==void 0}(D)&&D._styleExpression.expression instanceof Ji,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values[\"line-gradient\"].value.expression}recalculate(S,D){super.recalculate(S,D),this.paint._values[\"line-floorwidth\"]=hg.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,S)}createBucket(S){return new Kv(S)}queryRadius(S){let D=S,j=Rh(yn(\"line-width\",this,D),yn(\"line-gap-width\",this,D)),te=yn(\"line-offset\",this,D);return j/2+Math.abs(te)+to(this.paint.get(\"line-translate\"))}queryIntersectsFeature(S,D,j,te,ue,ve,De){let Ze=Rn(S,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),ve.angle,De),at=De/2*Rh(this.paint.get(\"line-width\").evaluate(D,j),this.paint.get(\"line-gap-width\").evaluate(D,j)),Tt=this.paint.get(\"line-offset\").evaluate(D,j);return Tt&&(te=function(Ft,Qt){let sr=[];for(let Tr=0;Tr<Ft.length;Tr++){let Pr=Ft[Tr],$r=[];for(let ni=0;ni<Pr.length;ni++){let Di=Pr[ni-1],pi=Pr[ni],ki=Pr[ni+1],Zi=ni===0?new u(0,0):pi.sub(Di)._unit()._perp(),ta=ni===Pr.length-1?new u(0,0):ki.sub(pi)._unit()._perp(),Va=Zi._add(ta)._unit(),Io=Va.x*ta.x+Va.y*ta.y;Io!==0&&Va._mult(1/Io),$r.push(Va._mult(Qt)._add(pi))}sr.push($r)}return sr}(te,Tt*De)),function(Ft,Qt,sr){for(let Tr=0;Tr<Qt.length;Tr++){let Pr=Qt[Tr];if(Ft.length>=3){for(let $r=0;$r<Pr.length;$r++)if(On(Ft,Pr[$r]))return!0}if(Wr(Ft,Pr,sr))return!0}return!1}(Ze,te,at)}isTileClipped(){return!0}}function Rh(R,S){return S>0?S+2*R:R}let rm=qe([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),w1=qe([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4);qe([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);let T1=qe([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"},{name:\"a_box_real\",components:2,type:\"Int16\"}]);qe([{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\"}]);let oy=qe([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),im=qe([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function nm(R,S,D){return R.sections.forEach(j=>{j.text=function(te,ue,ve){let De=ue.layout.get(\"text-transform\").evaluate(ve,{});return De===\"uppercase\"?te=te.toLocaleUpperCase():De===\"lowercase\"&&(te=te.toLocaleLowerCase()),vs.applyArabicShaping&&(te=vs.applyArabicShaping(te)),te}(j.text,S,D)}),R}qe([{name:\"triangle\",components:3,type:\"Uint16\"}]),qe([{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\"}]),qe([{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\"}]),qe([{type:\"Float32\",name:\"offsetX\"}]),qe([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]),qe([{type:\"Uint16\",name:\"textAnchor\"},{type:\"Float32\",components:2,name:\"textOffset\"}]);let Fu={\"!\":\"\\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 kl=24,bd=Kl,sy=function(R,S,D,j,te){var ue,ve,De=8*te-j-1,Ze=(1<<De)-1,at=Ze>>1,Tt=-7,Ft=D?te-1:0,Qt=D?-1:1,sr=R[S+Ft];for(Ft+=Qt,ue=sr&(1<<-Tt)-1,sr>>=-Tt,Tt+=De;Tt>0;ue=256*ue+R[S+Ft],Ft+=Qt,Tt-=8);for(ve=ue&(1<<-Tt)-1,ue>>=-Tt,Tt+=j;Tt>0;ve=256*ve+R[S+Ft],Ft+=Qt,Tt-=8);if(ue===0)ue=1-at;else{if(ue===Ze)return ve?NaN:1/0*(sr?-1:1);ve+=Math.pow(2,j),ue-=at}return(sr?-1:1)*ve*Math.pow(2,ue-j)},A1=function(R,S,D,j,te,ue){var ve,De,Ze,at=8*ue-te-1,Tt=(1<<at)-1,Ft=Tt>>1,Qt=te===23?Math.pow(2,-24)-Math.pow(2,-77):0,sr=j?0:ue-1,Tr=j?1:-1,Pr=S<0||S===0&&1/S<0?1:0;for(S=Math.abs(S),isNaN(S)||S===1/0?(De=isNaN(S)?1:0,ve=Tt):(ve=Math.floor(Math.log(S)/Math.LN2),S*(Ze=Math.pow(2,-ve))<1&&(ve--,Ze*=2),(S+=ve+Ft>=1?Qt/Ze:Qt*Math.pow(2,1-Ft))*Ze>=2&&(ve++,Ze/=2),ve+Ft>=Tt?(De=0,ve=Tt):ve+Ft>=1?(De=(S*Ze-1)*Math.pow(2,te),ve+=Ft):(De=S*Math.pow(2,Ft-1)*Math.pow(2,te),ve=0));te>=8;R[D+sr]=255&De,sr+=Tr,De/=256,te-=8);for(ve=ve<<te|De,at+=te;at>0;R[D+sr]=255&ve,sr+=Tr,ve/=256,at-=8);R[D+sr-Tr]|=128*Pr};function Kl(R){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(R)?R:new Uint8Array(R||0),this.pos=0,this.type=0,this.length=this.buf.length}Kl.Varint=0,Kl.Fixed64=1,Kl.Bytes=2,Kl.Fixed32=5;var Nx=4294967296,am=1/Nx,Mw=typeof TextDecoder==\"undefined\"?null:new TextDecoder(\"utf-8\");function Lv(R){return R.type===Kl.Bytes?R.readVarint()+R.pos:R.pos+1}function om(R,S,D){return D?4294967296*S+(R>>>0):4294967296*(S>>>0)+(R>>>0)}function Ew(R,S,D){var j=S<=16383?1:S<=2097151?2:S<=268435455?3:Math.floor(Math.log(S)/(7*Math.LN2));D.realloc(j);for(var te=D.pos-1;te>=R;te--)D.buf[te+j]=D.buf[te]}function Ux(R,S){for(var D=0;D<R.length;D++)S.writeVarint(R[D])}function P9(R,S){for(var D=0;D<R.length;D++)S.writeSVarint(R[D])}function I9(R,S){for(var D=0;D<R.length;D++)S.writeFloat(R[D])}function R9(R,S){for(var D=0;D<R.length;D++)S.writeDouble(R[D])}function D9(R,S){for(var D=0;D<R.length;D++)S.writeBoolean(R[D])}function mQ(R,S){for(var D=0;D<R.length;D++)S.writeFixed32(R[D])}function z9(R,S){for(var D=0;D<R.length;D++)S.writeSFixed32(R[D])}function F9(R,S){for(var D=0;D<R.length;D++)S.writeFixed64(R[D])}function q9(R,S){for(var D=0;D<R.length;D++)S.writeSFixed64(R[D])}function ly(R,S){return(R[S]|R[S+1]<<8|R[S+2]<<16)+16777216*R[S+3]}function Vx(R,S,D){R[D]=S,R[D+1]=S>>>8,R[D+2]=S>>>16,R[D+3]=S>>>24}function cC(R,S){return(R[S]|R[S+1]<<8|R[S+2]<<16)+(R[S+3]<<24)}Kl.prototype={destroy:function(){this.buf=null},readFields:function(R,S,D){for(D=D||this.length;this.pos<D;){var j=this.readVarint(),te=j>>3,ue=this.pos;this.type=7&j,R(te,S,this),this.pos===ue&&this.skip(j)}return S},readMessage:function(R,S){return this.readFields(R,S,this.readVarint()+this.pos)},readFixed32:function(){var R=ly(this.buf,this.pos);return this.pos+=4,R},readSFixed32:function(){var R=cC(this.buf,this.pos);return this.pos+=4,R},readFixed64:function(){var R=ly(this.buf,this.pos)+ly(this.buf,this.pos+4)*Nx;return this.pos+=8,R},readSFixed64:function(){var R=ly(this.buf,this.pos)+cC(this.buf,this.pos+4)*Nx;return this.pos+=8,R},readFloat:function(){var R=sy(this.buf,this.pos,!0,23,4);return this.pos+=4,R},readDouble:function(){var R=sy(this.buf,this.pos,!0,52,8);return this.pos+=8,R},readVarint:function(R){var S,D,j=this.buf;return S=127&(D=j[this.pos++]),D<128?S:(S|=(127&(D=j[this.pos++]))<<7,D<128?S:(S|=(127&(D=j[this.pos++]))<<14,D<128?S:(S|=(127&(D=j[this.pos++]))<<21,D<128?S:function(te,ue,ve){var De,Ze,at=ve.buf;if(De=(112&(Ze=at[ve.pos++]))>>4,Ze<128||(De|=(127&(Ze=at[ve.pos++]))<<3,Ze<128)||(De|=(127&(Ze=at[ve.pos++]))<<10,Ze<128)||(De|=(127&(Ze=at[ve.pos++]))<<17,Ze<128)||(De|=(127&(Ze=at[ve.pos++]))<<24,Ze<128)||(De|=(1&(Ze=at[ve.pos++]))<<31,Ze<128))return om(te,De,ue);throw new Error(\"Expected varint not more than 10 bytes\")}(S|=(15&(D=j[this.pos]))<<28,R,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var R=this.readVarint();return R%2==1?(R+1)/-2:R/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var R=this.readVarint()+this.pos,S=this.pos;return this.pos=R,R-S>=12&&Mw?function(D,j,te){return Mw.decode(D.subarray(j,te))}(this.buf,S,R):function(D,j,te){for(var ue=\"\",ve=j;ve<te;){var De,Ze,at,Tt=D[ve],Ft=null,Qt=Tt>239?4:Tt>223?3:Tt>191?2:1;if(ve+Qt>te)break;Qt===1?Tt<128&&(Ft=Tt):Qt===2?(192&(De=D[ve+1]))==128&&(Ft=(31&Tt)<<6|63&De)<=127&&(Ft=null):Qt===3?(Ze=D[ve+2],(192&(De=D[ve+1]))==128&&(192&Ze)==128&&((Ft=(15&Tt)<<12|(63&De)<<6|63&Ze)<=2047||Ft>=55296&&Ft<=57343)&&(Ft=null)):Qt===4&&(Ze=D[ve+2],at=D[ve+3],(192&(De=D[ve+1]))==128&&(192&Ze)==128&&(192&at)==128&&((Ft=(15&Tt)<<18|(63&De)<<12|(63&Ze)<<6|63&at)<=65535||Ft>=1114112)&&(Ft=null)),Ft===null?(Ft=65533,Qt=1):Ft>65535&&(Ft-=65536,ue+=String.fromCharCode(Ft>>>10&1023|55296),Ft=56320|1023&Ft),ue+=String.fromCharCode(Ft),ve+=Qt}return ue}(this.buf,S,R)},readBytes:function(){var R=this.readVarint()+this.pos,S=this.buf.subarray(this.pos,R);return this.pos=R,S},readPackedVarint:function(R,S){if(this.type!==Kl.Bytes)return R.push(this.readVarint(S));var D=Lv(this);for(R=R||[];this.pos<D;)R.push(this.readVarint(S));return R},readPackedSVarint:function(R){if(this.type!==Kl.Bytes)return R.push(this.readSVarint());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readSVarint());return R},readPackedBoolean:function(R){if(this.type!==Kl.Bytes)return R.push(this.readBoolean());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readBoolean());return R},readPackedFloat:function(R){if(this.type!==Kl.Bytes)return R.push(this.readFloat());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readFloat());return R},readPackedDouble:function(R){if(this.type!==Kl.Bytes)return R.push(this.readDouble());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readDouble());return R},readPackedFixed32:function(R){if(this.type!==Kl.Bytes)return R.push(this.readFixed32());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readFixed32());return R},readPackedSFixed32:function(R){if(this.type!==Kl.Bytes)return R.push(this.readSFixed32());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readSFixed32());return R},readPackedFixed64:function(R){if(this.type!==Kl.Bytes)return R.push(this.readFixed64());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readFixed64());return R},readPackedSFixed64:function(R){if(this.type!==Kl.Bytes)return R.push(this.readSFixed64());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readSFixed64());return R},skip:function(R){var S=7&R;if(S===Kl.Varint)for(;this.buf[this.pos++]>127;);else if(S===Kl.Bytes)this.pos=this.readVarint()+this.pos;else if(S===Kl.Fixed32)this.pos+=4;else{if(S!==Kl.Fixed64)throw new Error(\"Unimplemented type: \"+S);this.pos+=8}},writeTag:function(R,S){this.writeVarint(R<<3|S)},realloc:function(R){for(var S=this.length||16;S<this.pos+R;)S*=2;if(S!==this.length){var D=new Uint8Array(S);D.set(this.buf),this.buf=D,this.length=S}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(R){this.realloc(4),Vx(this.buf,R,this.pos),this.pos+=4},writeSFixed32:function(R){this.realloc(4),Vx(this.buf,R,this.pos),this.pos+=4},writeFixed64:function(R){this.realloc(8),Vx(this.buf,-1&R,this.pos),Vx(this.buf,Math.floor(R*am),this.pos+4),this.pos+=8},writeSFixed64:function(R){this.realloc(8),Vx(this.buf,-1&R,this.pos),Vx(this.buf,Math.floor(R*am),this.pos+4),this.pos+=8},writeVarint:function(R){(R=+R||0)>268435455||R<0?function(S,D){var j,te;if(S>=0?(j=S%4294967296|0,te=S/4294967296|0):(te=~(-S/4294967296),4294967295^(j=~(-S%4294967296))?j=j+1|0:(j=0,te=te+1|0)),S>=18446744073709552e3||S<-18446744073709552e3)throw new Error(\"Given varint doesn't fit into 10 bytes\");D.realloc(10),function(ue,ve,De){De.buf[De.pos++]=127&ue|128,ue>>>=7,De.buf[De.pos++]=127&ue|128,ue>>>=7,De.buf[De.pos++]=127&ue|128,ue>>>=7,De.buf[De.pos++]=127&ue|128,De.buf[De.pos]=127&(ue>>>=7)}(j,0,D),function(ue,ve){var De=(7&ue)<<4;ve.buf[ve.pos++]|=De|((ue>>>=3)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue)))))}(te,D)}(R,this):(this.realloc(4),this.buf[this.pos++]=127&R|(R>127?128:0),R<=127||(this.buf[this.pos++]=127&(R>>>=7)|(R>127?128:0),R<=127||(this.buf[this.pos++]=127&(R>>>=7)|(R>127?128:0),R<=127||(this.buf[this.pos++]=R>>>7&127))))},writeSVarint:function(R){this.writeVarint(R<0?2*-R-1:2*R)},writeBoolean:function(R){this.writeVarint(!!R)},writeString:function(R){R=String(R),this.realloc(4*R.length),this.pos++;var S=this.pos;this.pos=function(j,te,ue){for(var ve,De,Ze=0;Ze<te.length;Ze++){if((ve=te.charCodeAt(Ze))>55295&&ve<57344){if(!De){ve>56319||Ze+1===te.length?(j[ue++]=239,j[ue++]=191,j[ue++]=189):De=ve;continue}if(ve<56320){j[ue++]=239,j[ue++]=191,j[ue++]=189,De=ve;continue}ve=De-55296<<10|ve-56320|65536,De=null}else De&&(j[ue++]=239,j[ue++]=191,j[ue++]=189,De=null);ve<128?j[ue++]=ve:(ve<2048?j[ue++]=ve>>6|192:(ve<65536?j[ue++]=ve>>12|224:(j[ue++]=ve>>18|240,j[ue++]=ve>>12&63|128),j[ue++]=ve>>6&63|128),j[ue++]=63&ve|128)}return ue}(this.buf,R,this.pos);var D=this.pos-S;D>=128&&Ew(S,D,this),this.pos=S-1,this.writeVarint(D),this.pos+=D},writeFloat:function(R){this.realloc(4),A1(this.buf,R,this.pos,!0,23,4),this.pos+=4},writeDouble:function(R){this.realloc(8),A1(this.buf,R,this.pos,!0,52,8),this.pos+=8},writeBytes:function(R){var S=R.length;this.writeVarint(S),this.realloc(S);for(var D=0;D<S;D++)this.buf[this.pos++]=R[D]},writeRawMessage:function(R,S){this.pos++;var D=this.pos;R(S,this);var j=this.pos-D;j>=128&&Ew(D,j,this),this.pos=D-1,this.writeVarint(j),this.pos+=j},writeMessage:function(R,S,D){this.writeTag(R,Kl.Bytes),this.writeRawMessage(S,D)},writePackedVarint:function(R,S){S.length&&this.writeMessage(R,Ux,S)},writePackedSVarint:function(R,S){S.length&&this.writeMessage(R,P9,S)},writePackedBoolean:function(R,S){S.length&&this.writeMessage(R,D9,S)},writePackedFloat:function(R,S){S.length&&this.writeMessage(R,I9,S)},writePackedDouble:function(R,S){S.length&&this.writeMessage(R,R9,S)},writePackedFixed32:function(R,S){S.length&&this.writeMessage(R,mQ,S)},writePackedSFixed32:function(R,S){S.length&&this.writeMessage(R,z9,S)},writePackedFixed64:function(R,S){S.length&&this.writeMessage(R,F9,S)},writePackedSFixed64:function(R,S){S.length&&this.writeMessage(R,q9,S)},writeBytesField:function(R,S){this.writeTag(R,Kl.Bytes),this.writeBytes(S)},writeFixed32Field:function(R,S){this.writeTag(R,Kl.Fixed32),this.writeFixed32(S)},writeSFixed32Field:function(R,S){this.writeTag(R,Kl.Fixed32),this.writeSFixed32(S)},writeFixed64Field:function(R,S){this.writeTag(R,Kl.Fixed64),this.writeFixed64(S)},writeSFixed64Field:function(R,S){this.writeTag(R,Kl.Fixed64),this.writeSFixed64(S)},writeVarintField:function(R,S){this.writeTag(R,Kl.Varint),this.writeVarint(S)},writeSVarintField:function(R,S){this.writeTag(R,Kl.Varint),this.writeSVarint(S)},writeStringField:function(R,S){this.writeTag(R,Kl.Bytes),this.writeString(S)},writeFloatField:function(R,S){this.writeTag(R,Kl.Fixed32),this.writeFloat(S)},writeDoubleField:function(R,S){this.writeTag(R,Kl.Fixed64),this.writeDouble(S)},writeBooleanField:function(R,S){this.writeVarintField(R,!!S)}};var eS=o(bd);let tS=3;function yQ(R,S,D){R===1&&D.readMessage(O9,S)}function O9(R,S,D){if(R===3){let{id:j,bitmap:te,width:ue,height:ve,left:De,top:Ze,advance:at}=D.readMessage(fC,{});S.push({id:j,bitmap:new Ao({width:ue+2*tS,height:ve+2*tS},te),metrics:{width:ue,height:ve,left:De,top:Ze,advance:at}})}}function fC(R,S,D){R===1?S.id=D.readVarint():R===2?S.bitmap=D.readBytes():R===3?S.width=D.readVarint():R===4?S.height=D.readVarint():R===5?S.left=D.readSVarint():R===6?S.top=D.readSVarint():R===7&&(S.advance=D.readVarint())}let hC=tS;function rS(R){let S=0,D=0;for(let ve of R)S+=ve.w*ve.h,D=Math.max(D,ve.w);R.sort((ve,De)=>De.h-ve.h);let j=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(S/.95)),D),h:1/0}],te=0,ue=0;for(let ve of R)for(let De=j.length-1;De>=0;De--){let Ze=j[De];if(!(ve.w>Ze.w||ve.h>Ze.h)){if(ve.x=Ze.x,ve.y=Ze.y,ue=Math.max(ue,ve.y+ve.h),te=Math.max(te,ve.x+ve.w),ve.w===Ze.w&&ve.h===Ze.h){let at=j.pop();De<j.length&&(j[De]=at)}else ve.h===Ze.h?(Ze.x+=ve.w,Ze.w-=ve.w):ve.w===Ze.w?(Ze.y+=ve.h,Ze.h-=ve.h):(j.push({x:Ze.x+ve.w,y:Ze.y,w:Ze.w-ve.w,h:ve.h}),Ze.y+=ve.h,Ze.h-=ve.h);break}}return{w:te,h:ue,fill:S/(te*ue)||0}}let wd=1;class kw{constructor(S,{pixelRatio:D,version:j,stretchX:te,stretchY:ue,content:ve,textFitWidth:De,textFitHeight:Ze}){this.paddedRect=S,this.pixelRatio=D,this.stretchX=te,this.stretchY=ue,this.content=ve,this.version=j,this.textFitWidth=De,this.textFitHeight=Ze}get tl(){return[this.paddedRect.x+wd,this.paddedRect.y+wd]}get br(){return[this.paddedRect.x+this.paddedRect.w-wd,this.paddedRect.y+this.paddedRect.h-wd]}get tlbr(){return this.tl.concat(this.br)}get displaySize(){return[(this.paddedRect.w-2*wd)/this.pixelRatio,(this.paddedRect.h-2*wd)/this.pixelRatio]}}class Cw{constructor(S,D){let j={},te={};this.haveRenderCallbacks=[];let ue=[];this.addImages(S,j,ue),this.addImages(D,te,ue);let{w:ve,h:De}=rS(ue),Ze=new Jn({width:ve||1,height:De||1});for(let at in S){let Tt=S[at],Ft=j[at].paddedRect;Jn.copy(Tt.data,Ze,{x:0,y:0},{x:Ft.x+wd,y:Ft.y+wd},Tt.data)}for(let at in D){let Tt=D[at],Ft=te[at].paddedRect,Qt=Ft.x+wd,sr=Ft.y+wd,Tr=Tt.data.width,Pr=Tt.data.height;Jn.copy(Tt.data,Ze,{x:0,y:0},{x:Qt,y:sr},Tt.data),Jn.copy(Tt.data,Ze,{x:0,y:Pr-1},{x:Qt,y:sr-1},{width:Tr,height:1}),Jn.copy(Tt.data,Ze,{x:0,y:0},{x:Qt,y:sr+Pr},{width:Tr,height:1}),Jn.copy(Tt.data,Ze,{x:Tr-1,y:0},{x:Qt-1,y:sr},{width:1,height:Pr}),Jn.copy(Tt.data,Ze,{x:0,y:0},{x:Qt+Tr,y:sr},{width:1,height:Pr})}this.image=Ze,this.iconPositions=j,this.patternPositions=te}addImages(S,D,j){for(let te in S){let ue=S[te],ve={x:0,y:0,w:ue.data.width+2*wd,h:ue.data.height+2*wd};j.push(ve),D[te]=new kw(ve,ue),ue.hasRenderCallback&&this.haveRenderCallbacks.push(te)}}patchUpdatedImages(S,D){S.dispatchRenderCallbacks(this.haveRenderCallbacks);for(let j in S.updatedImages)this.patchUpdatedImage(this.iconPositions[j],S.getImage(j),D),this.patchUpdatedImage(this.patternPositions[j],S.getImage(j),D)}patchUpdatedImage(S,D,j){if(!S||!D||S.version===D.version)return;S.version=D.version;let[te,ue]=S.tl;j.update(D.data,void 0,{x:te,y:ue})}}var Pv;mi(\"ImagePosition\",kw),mi(\"ImageAtlas\",Cw),i.ah=void 0,(Pv=i.ah||(i.ah={}))[Pv.none=0]=\"none\",Pv[Pv.horizontal=1]=\"horizontal\",Pv[Pv.vertical=2]=\"vertical\",Pv[Pv.horizontalOnly=3]=\"horizontalOnly\";let lh=-17;class Hx{constructor(){this.scale=1,this.fontStack=\"\",this.imageName=null}static forText(S,D){let j=new Hx;return j.scale=S||1,j.fontStack=D,j}static forImage(S){let D=new Hx;return D.imageName=S,D}}class S1{constructor(){this.text=\"\",this.sectionIndex=[],this.sections=[],this.imageSectionID=null}static fromFeature(S,D){let j=new S1;for(let te=0;te<S.sections.length;te++){let ue=S.sections[te];ue.image?j.addImageSection(ue):j.addTextSection(ue,D)}return j}length(){return this.text.length}getSection(S){return this.sections[this.sectionIndex[S]]}getSectionIndex(S){return this.sectionIndex[S]}getCharCode(S){return this.text.charCodeAt(S)}verticalizePunctuation(){this.text=function(S){let D=\"\";for(let j=0;j<S.length;j++){let te=S.charCodeAt(j+1)||null,ue=S.charCodeAt(j-1)||null;D+=te&&yl(te)&&!Fu[S[j+1]]||ue&&yl(ue)&&!Fu[S[j-1]]||!Fu[S[j]]?S[j]:Fu[S[j]]}return D}(this.text)}trim(){let S=0;for(let j=0;j<this.text.length&&Lw[this.text.charCodeAt(j)];j++)S++;let D=this.text.length;for(let j=this.text.length-1;j>=0&&j>=S&&Lw[this.text.charCodeAt(j)];j--)D--;this.text=this.text.substring(S,D),this.sectionIndex=this.sectionIndex.slice(S,D)}substring(S,D){let j=new S1;return j.text=this.text.substring(S,D),j.sectionIndex=this.sectionIndex.slice(S,D),j.sections=this.sections,j}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((S,D)=>Math.max(S,this.sections[D].scale),0)}addTextSection(S,D){this.text+=S.text,this.sections.push(Hx.forText(S.scale,S.fontStack||D));let j=this.sections.length-1;for(let te=0;te<S.text.length;++te)this.sectionIndex.push(j)}addImageSection(S){let D=S.image?S.image.name:\"\";if(D.length===0)return void T(\"Can't add FormattedSection with an empty image.\");let j=this.getNextImageSectionCharCode();j?(this.text+=String.fromCharCode(j),this.sections.push(Hx.forImage(D)),this.sectionIndex.push(this.sections.length-1)):T(\"Reached maximum number of images 6401\")}getNextImageSectionCharCode(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Gx(R,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr){let Pr=S1.fromFeature(R,te),$r;Ft===i.ah.vertical&&Pr.verticalizePunctuation();let{processBidirectionalText:ni,processStyledBidirectionalText:Di}=vs;if(ni&&Pr.sections.length===1){$r=[];let Zi=ni(Pr.toString(),M1(Pr,at,ue,S,j,sr));for(let ta of Zi){let Va=new S1;Va.text=ta,Va.sections=Pr.sections;for(let Io=0;Io<ta.length;Io++)Va.sectionIndex.push(0);$r.push(Va)}}else if(Di){$r=[];let Zi=Di(Pr.text,Pr.sectionIndex,M1(Pr,at,ue,S,j,sr));for(let ta of Zi){let Va=new S1;Va.text=ta[0],Va.sectionIndex=ta[1],Va.sections=Pr.sections,$r.push(Va)}}else $r=function(Zi,ta){let Va=[],Io=Zi.text,La=0;for(let Hn of ta)Va.push(Zi.substring(La,Hn)),La=Hn;return La<Io.length&&Va.push(Zi.substring(La,Io.length)),Va}(Pr,M1(Pr,at,ue,S,j,sr));let pi=[],ki={positionedLines:pi,text:Pr.toString(),top:Tt[1],bottom:Tt[1],left:Tt[0],right:Tt[0],writingMode:Ft,iconsInText:!1,verticalizable:!1};return function(Zi,ta,Va,Io,La,Hn,lo,$a,Xa,Tn,bo,Ya){let Uo=0,wu=lh,hu=0,uh=0,$v=$a===\"right\"?1:$a===\"left\"?0:.5,td=0;for(let rf of La){rf.trim();let fh=rf.getMaxScale(),Td=(fh-1)*kl,rd={positionedGlyphs:[],lineOffset:0};Zi.positionedLines[td]=rd;let Dh=rd.positionedGlyphs,xf=0;if(!rf.length()){wu+=Hn,++td;continue}for(let lv=0;lv<rf.length();lv++){let Cl=rf.getSection(lv),qu=rf.getSectionIndex(lv),Tu=rf.getCharCode(lv),Rv=0,qc=null,I1=null,p0=null,Gp=kl,Qv=!(Xa===i.ah.horizontal||!bo&&!Bo(Tu)||bo&&(Lw[Tu]||(ch=Tu,new RegExp(\"\\\\p{sc=Arab}\",\"u\").test(String.fromCodePoint(ch)))));if(Cl.imageName){let oc=Io[Cl.imageName];if(!oc)continue;p0=Cl.imageName,Zi.iconsInText=Zi.iconsInText||!0,I1=oc.paddedRect;let If=oc.displaySize;Cl.scale=Cl.scale*kl/Ya,qc={width:If[0],height:If[1],left:wd,top:-hC,advance:Qv?If[1]:If[0]},Rv=Td+(kl-If[1]*Cl.scale),Gp=qc.advance;let ep=Qv?If[0]*Cl.scale-kl*fh:If[1]*Cl.scale-kl*fh;ep>0&&ep>xf&&(xf=ep)}else{let oc=Va[Cl.fontStack],If=oc&&oc[Tu];if(If&&If.rect)I1=If.rect,qc=If.metrics;else{let ep=ta[Cl.fontStack],gg=ep&&ep[Tu];if(!gg)continue;qc=gg.metrics}Rv=(fh-Cl.scale)*kl}Qv?(Zi.verticalizable=!0,Dh.push({glyph:Tu,imageName:p0,x:Uo,y:wu+Rv,vertical:Qv,scale:Cl.scale,fontStack:Cl.fontStack,sectionIndex:qu,metrics:qc,rect:I1}),Uo+=Gp*Cl.scale+Tn):(Dh.push({glyph:Tu,imageName:p0,x:Uo,y:wu+Rv,vertical:Qv,scale:Cl.scale,fontStack:Cl.fontStack,sectionIndex:qu,metrics:qc,rect:I1}),Uo+=qc.advance*Cl.scale+Tn)}Dh.length!==0&&(hu=Math.max(Uo-Tn,hu),sm(Dh,0,Dh.length-1,$v,xf)),Uo=0;let Iv=Hn*fh+xf;rd.lineOffset=Math.max(xf,Td),wu+=Iv,uh=Math.max(Iv,uh),++td}var ch;let Ud=wu-lh,{horizontalAlign:Vd,verticalAlign:Hd}=Iw(lo);(function(rf,fh,Td,rd,Dh,xf,Iv,lv,Cl){let qu=(fh-Td)*Dh,Tu=0;Tu=xf!==Iv?-lv*rd-lh:(-rd*Cl+.5)*Iv;for(let Rv of rf)for(let qc of Rv.positionedGlyphs)qc.x+=qu,qc.y+=Tu})(Zi.positionedLines,$v,Vd,Hd,hu,uh,Hn,Ud,La.length),Zi.top+=-Hd*Ud,Zi.bottom=Zi.top+Ud,Zi.left+=-Vd*hu,Zi.right=Zi.left+hu}(ki,S,D,j,$r,ve,De,Ze,Ft,at,Qt,Tr),!function(Zi){for(let ta of Zi)if(ta.positionedGlyphs.length!==0)return!1;return!0}(pi)&&ki}let Lw={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},B9={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},N9={40:!0};function dC(R,S,D,j,te,ue){if(S.imageName){let ve=j[S.imageName];return ve?ve.displaySize[0]*S.scale*kl/ue+te:0}{let ve=D[S.fontStack],De=ve&&ve[R];return De?De.metrics.advance*S.scale+te:0}}function vC(R,S,D,j){let te=Math.pow(R-S,2);return j?R<S?te/2:2*te:te+Math.abs(D)*D}function U9(R,S,D){let j=0;return R===10&&(j-=1e4),D&&(j+=150),R!==40&&R!==65288||(j+=50),S!==41&&S!==65289||(j+=50),j}function Pw(R,S,D,j,te,ue){let ve=null,De=vC(S,D,te,ue);for(let Ze of j){let at=vC(S-Ze.x,D,te,ue)+Ze.badness;at<=De&&(ve=Ze,De=at)}return{index:R,x:S,priorBreak:ve,badness:De}}function pC(R){return R?pC(R.priorBreak).concat(R.index):[]}function M1(R,S,D,j,te,ue){if(!R)return[];let ve=[],De=function(Ft,Qt,sr,Tr,Pr,$r){let ni=0;for(let Di=0;Di<Ft.length();Di++){let pi=Ft.getSection(Di);ni+=dC(Ft.getCharCode(Di),pi,Tr,Pr,Qt,$r)}return ni/Math.max(1,Math.ceil(ni/sr))}(R,S,D,j,te,ue),Ze=R.text.indexOf(\"\\u200B\")>=0,at=0;for(let Ft=0;Ft<R.length();Ft++){let Qt=R.getSection(Ft),sr=R.getCharCode(Ft);if(Lw[sr]||(at+=dC(sr,Qt,j,te,S,ue)),Ft<R.length()-1){let Tr=!((Tt=sr)<11904)&&(!!sn[\"CJK Compatibility Forms\"](Tt)||!!sn[\"CJK Compatibility\"](Tt)||!!sn[\"CJK Strokes\"](Tt)||!!sn[\"CJK Symbols and Punctuation\"](Tt)||!!sn[\"Enclosed CJK Letters and Months\"](Tt)||!!sn[\"Halfwidth and Fullwidth Forms\"](Tt)||!!sn[\"Ideographic Description Characters\"](Tt)||!!sn[\"Vertical Forms\"](Tt)||ys.test(String.fromCodePoint(Tt)));(B9[sr]||Tr||Qt.imageName||Ft!==R.length()-2&&N9[R.getCharCode(Ft+1)])&&ve.push(Pw(Ft+1,at,De,ve,U9(sr,R.getCharCode(Ft+1),Tr&&Ze),!1))}}var Tt;return pC(Pw(R.length(),at,De,ve,0,!0))}function Iw(R){let S=.5,D=.5;switch(R){case\"right\":case\"top-right\":case\"bottom-right\":S=1;break;case\"left\":case\"top-left\":case\"bottom-left\":S=0}switch(R){case\"bottom\":case\"bottom-right\":case\"bottom-left\":D=1;break;case\"top\":case\"top-right\":case\"top-left\":D=0}return{horizontalAlign:S,verticalAlign:D}}function sm(R,S,D,j,te){if(!j&&!te)return;let ue=R[D],ve=(R[D].x+ue.metrics.advance*ue.scale)*j;for(let De=S;De<=D;De++)R[De].x-=ve,R[De].y+=te}function jx(R,S,D){let{horizontalAlign:j,verticalAlign:te}=Iw(D),ue=S[0]-R.displaySize[0]*j,ve=S[1]-R.displaySize[1]*te;return{image:R,top:ve,bottom:ve+R.displaySize[1],left:ue,right:ue+R.displaySize[0]}}function gC(R){var S,D;let j=R.left,te=R.top,ue=R.right-j,ve=R.bottom-te,De=(S=R.image.textFitWidth)!==null&&S!==void 0?S:\"stretchOrShrink\",Ze=(D=R.image.textFitHeight)!==null&&D!==void 0?D:\"stretchOrShrink\",at=(R.image.content[2]-R.image.content[0])/(R.image.content[3]-R.image.content[1]);if(Ze===\"proportional\"){if(De===\"stretchOnly\"&&ue/ve<at||De===\"proportional\"){let Tt=Math.ceil(ve*at);j*=Tt/ue,ue=Tt}}else if(De===\"proportional\"&&Ze===\"stretchOnly\"&&at!==0&&ue/ve>at){let Tt=Math.ceil(ue/at);te*=Tt/ve,ve=Tt}return{x1:j,y1:te,x2:j+ue,y2:te+ve}}function mC(R,S,D,j,te,ue){let ve=R.image,De;if(ve.content){let $r=ve.content,ni=ve.pixelRatio||1;De=[$r[0]/ni,$r[1]/ni,ve.displaySize[0]-$r[2]/ni,ve.displaySize[1]-$r[3]/ni]}let Ze=S.left*ue,at=S.right*ue,Tt,Ft,Qt,sr;D===\"width\"||D===\"both\"?(sr=te[0]+Ze-j[3],Ft=te[0]+at+j[1]):(sr=te[0]+(Ze+at-ve.displaySize[0])/2,Ft=sr+ve.displaySize[0]);let Tr=S.top*ue,Pr=S.bottom*ue;return D===\"height\"||D===\"both\"?(Tt=te[1]+Tr-j[0],Qt=te[1]+Pr+j[2]):(Tt=te[1]+(Tr+Pr-ve.displaySize[1])/2,Qt=Tt+ve.displaySize[1]),{image:ve,top:Tt,right:Ft,bottom:Qt,left:sr,collisionPadding:De}}let Wx=255,v0=128,lm=Wx*v0;function yC(R,S){let{expression:D}=S;if(D.kind===\"constant\")return{kind:\"constant\",layoutSize:D.evaluate(new Ko(R+1))};if(D.kind===\"source\")return{kind:\"source\"};{let{zoomStops:j,interpolationType:te}=D,ue=0;for(;ue<j.length&&j[ue]<=R;)ue++;ue=Math.max(0,ue-1);let ve=ue;for(;ve<j.length&&j[ve]<R+1;)ve++;ve=Math.min(j.length-1,ve);let De=j[ue],Ze=j[ve];return D.kind===\"composite\"?{kind:\"composite\",minZoom:De,maxZoom:Ze,interpolationType:te}:{kind:\"camera\",minZoom:De,maxZoom:Ze,minSize:D.evaluate(new Ko(De)),maxSize:D.evaluate(new Ko(Ze)),interpolationType:te}}}function iS(R,S,D){let j=\"never\",te=R.get(S);return te?j=te:R.get(D)&&(j=\"always\"),j}let V9=ei.VectorTileFeature.types,H9=[{name:\"a_fade_opacity\",components:1,type:\"Uint8\",offset:0}];function Rw(R,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt){let sr=De?Math.min(lm,Math.round(De[0])):0,Tr=De?Math.min(lm,Math.round(De[1])):0;R.emplaceBack(S,D,Math.round(32*j),Math.round(32*te),ue,ve,(sr<<1)+(Ze?1:0),Tr,16*at,16*Tt,256*Ft,256*Qt)}function nS(R,S,D){R.emplaceBack(S.x,S.y,D),R.emplaceBack(S.x,S.y,D),R.emplaceBack(S.x,S.y,D),R.emplaceBack(S.x,S.y,D)}function aS(R){for(let S of R.sections)if(Ka(S.text))return!0;return!1}class oS{constructor(S){this.layoutVertexArray=new au,this.indexArray=new oe,this.programConfigurations=S,this.segments=new We,this.dynamicLayoutVertexArray=new zc,this.opacityVertexArray=new zl,this.hasVisibleVertices=!1,this.placedSymbolArray=new pa}isEmpty(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0}upload(S,D,j,te){this.isEmpty()||(j&&(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,rm.members),this.indexBuffer=S.createIndexBuffer(this.indexArray,D),this.dynamicLayoutVertexBuffer=S.createVertexBuffer(this.dynamicLayoutVertexArray,w1.members,!0),this.opacityVertexBuffer=S.createVertexBuffer(this.opacityVertexArray,H9,!0),this.opacityVertexBuffer.itemSize=1),(j||te)&&this.programConfigurations.upload(S))}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())}}mi(\"SymbolBuffers\",oS);class um{constructor(S,D,j){this.layoutVertexArray=new S,this.layoutAttributes=D,this.indexArray=new j,this.segments=new We,this.collisionVertexArray=new Z}upload(S){this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=S.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=S.createVertexBuffer(this.collisionVertexArray,T1.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())}}mi(\"CollisionBuffers\",um);class E1{constructor(S){this.collisionBoxArray=S.collisionBoxArray,this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(ve=>ve.id),this.index=S.index,this.pixelRatio=S.pixelRatio,this.sourceLayerIndex=S.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=Un([]),this.placementViewportMatrix=Un([]);let D=this.layers[0]._unevaluatedLayout._values;this.textSizeData=yC(this.zoom,D[\"text-size\"]),this.iconSizeData=yC(this.zoom,D[\"icon-size\"]);let j=this.layers[0].layout,te=j.get(\"symbol-sort-key\"),ue=j.get(\"symbol-z-order\");this.canOverlap=iS(j,\"text-overlap\",\"text-allow-overlap\")!==\"never\"||iS(j,\"icon-overlap\",\"icon-allow-overlap\")!==\"never\"||j.get(\"text-ignore-placement\")||j.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=ue!==\"viewport-y\"&&!te.isConstant(),this.sortFeaturesByY=(ue===\"viewport-y\"||ue===\"auto\"&&!this.sortFeaturesByKey)&&this.canOverlap,j.get(\"symbol-placement\")===\"point\"&&(this.writingModes=j.get(\"text-writing-mode\").map(ve=>i.ah[ve])),this.stateDependentLayerIds=this.layers.filter(ve=>ve.isStateDependent()).map(ve=>ve.id),this.sourceID=S.sourceID}createArrays(){this.text=new oS(new _s(this.layers,this.zoom,S=>/^text/.test(S))),this.icon=new oS(new _s(this.layers,this.zoom,S=>/^icon/.test(S))),this.glyphOffsetArray=new To,this.lineVertexArray=new Wa,this.symbolInstances=new Ga,this.textAnchorOffsets=new Ro}calculateGlyphDependencies(S,D,j,te,ue){for(let ve=0;ve<S.length;ve++)if(D[S.charCodeAt(ve)]=!0,(j||te)&&ue){let De=Fu[S.charAt(ve)];De&&(D[De.charCodeAt(0)]=!0)}}populate(S,D,j){let te=this.layers[0],ue=te.layout,ve=ue.get(\"text-font\"),De=ue.get(\"text-field\"),Ze=ue.get(\"icon-image\"),at=(De.value.kind!==\"constant\"||De.value.value instanceof Zr&&!De.value.value.isEmpty()||De.value.value.toString().length>0)&&(ve.value.kind!==\"constant\"||ve.value.value.length>0),Tt=Ze.value.kind!==\"constant\"||!!Ze.value.value||Object.keys(Ze.parameters).length>0,Ft=ue.get(\"symbol-sort-key\");if(this.features=[],!at&&!Tt)return;let Qt=D.iconDependencies,sr=D.glyphDependencies,Tr=D.availableImages,Pr=new Ko(this.zoom);for(let{feature:$r,id:ni,index:Di,sourceLayerIndex:pi}of S){let ki=te._featureFilter.needGeometry,Zi=xl($r,ki);if(!te._featureFilter.filter(Pr,Zi,j))continue;let ta,Va;if(ki||(Zi.geometry=js($r)),at){let La=te.getValueAndResolveTokens(\"text-field\",Zi,j,Tr),Hn=Zr.factory(La),lo=this.hasRTLText=this.hasRTLText||aS(Hn);(!lo||vs.getRTLTextPluginStatus()===\"unavailable\"||lo&&vs.isParsed())&&(ta=nm(Hn,te,Zi))}if(Tt){let La=te.getValueAndResolveTokens(\"icon-image\",Zi,j,Tr);Va=La instanceof Mi?La:Mi.fromString(La)}if(!ta&&!Va)continue;let Io=this.sortFeaturesByKey?Ft.evaluate(Zi,{},j):void 0;if(this.features.push({id:ni,text:ta,icon:Va,index:Di,sourceLayerIndex:pi,geometry:Zi.geometry,properties:$r.properties,type:V9[$r.type],sortKey:Io}),Va&&(Qt[Va.name]=!0),ta){let La=ve.evaluate(Zi,{},j).join(\",\"),Hn=ue.get(\"text-rotation-alignment\")!==\"viewport\"&&ue.get(\"symbol-placement\")!==\"point\";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(i.ah.vertical)>=0;for(let lo of ta.sections)if(lo.image)Qt[lo.image.name]=!0;else{let $a=Ua(ta.toString()),Xa=lo.fontStack||La,Tn=sr[Xa]=sr[Xa]||{};this.calculateGlyphDependencies(lo.text,Tn,Hn,this.allowVerticalPlacement,$a)}}}ue.get(\"symbol-placement\")===\"line\"&&(this.features=function($r){let ni={},Di={},pi=[],ki=0;function Zi(La){pi.push($r[La]),ki++}function ta(La,Hn,lo){let $a=Di[La];return delete Di[La],Di[Hn]=$a,pi[$a].geometry[0].pop(),pi[$a].geometry[0]=pi[$a].geometry[0].concat(lo[0]),$a}function Va(La,Hn,lo){let $a=ni[Hn];return delete ni[Hn],ni[La]=$a,pi[$a].geometry[0].shift(),pi[$a].geometry[0]=lo[0].concat(pi[$a].geometry[0]),$a}function Io(La,Hn,lo){let $a=lo?Hn[0][Hn[0].length-1]:Hn[0][0];return`${La}:${$a.x}:${$a.y}`}for(let La=0;La<$r.length;La++){let Hn=$r[La],lo=Hn.geometry,$a=Hn.text?Hn.text.toString():null;if(!$a){Zi(La);continue}let Xa=Io($a,lo),Tn=Io($a,lo,!0);if(Xa in Di&&Tn in ni&&Di[Xa]!==ni[Tn]){let bo=Va(Xa,Tn,lo),Ya=ta(Xa,Tn,pi[bo].geometry);delete ni[Xa],delete Di[Tn],Di[Io($a,pi[Ya].geometry,!0)]=Ya,pi[bo].geometry=null}else Xa in Di?ta(Xa,Tn,lo):Tn in ni?Va(Xa,Tn,lo):(Zi(La),ni[Xa]=ki-1,Di[Tn]=ki-1)}return pi.filter(La=>La.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort(($r,ni)=>$r.sortKey-ni.sortKey)}update(S,D,j){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(S,D,this.layers,j),this.icon.programConfigurations.updatePaintArrays(S,D,this.layers,j))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(S){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(S),this.iconCollisionBox.upload(S)),this.text.upload(S,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(S,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(S,D){let j=this.lineVertexArray.length;if(S.segment!==void 0){let te=S.dist(D[S.segment+1]),ue=S.dist(D[S.segment]),ve={};for(let De=S.segment+1;De<D.length;De++)ve[De]={x:D[De].x,y:D[De].y,tileUnitDistanceFromAnchor:te},De<D.length-1&&(te+=D[De+1].dist(D[De]));for(let De=S.segment||0;De>=0;De--)ve[De]={x:D[De].x,y:D[De].y,tileUnitDistanceFromAnchor:ue},De>0&&(ue+=D[De-1].dist(D[De]));for(let De=0;De<D.length;De++){let Ze=ve[De];this.lineVertexArray.emplaceBack(Ze.x,Ze.y,Ze.tileUnitDistanceFromAnchor)}}return{lineStartIndex:j,lineLength:this.lineVertexArray.length-j}}addSymbols(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt){let sr=S.indexArray,Tr=S.layoutVertexArray,Pr=S.segments.prepareSegment(4*D.length,Tr,sr,this.canOverlap?ve.sortKey:void 0),$r=this.glyphOffsetArray.length,ni=Pr.vertexLength,Di=this.allowVerticalPlacement&&De===i.ah.vertical?Math.PI/2:0,pi=ve.text&&ve.text.sections;for(let ki=0;ki<D.length;ki++){let{tl:Zi,tr:ta,bl:Va,br:Io,tex:La,pixelOffsetTL:Hn,pixelOffsetBR:lo,minFontScaleX:$a,minFontScaleY:Xa,glyphOffset:Tn,isSDF:bo,sectionIndex:Ya}=D[ki],Uo=Pr.vertexLength,wu=Tn[1];Rw(Tr,Ze.x,Ze.y,Zi.x,wu+Zi.y,La.x,La.y,j,bo,Hn.x,Hn.y,$a,Xa),Rw(Tr,Ze.x,Ze.y,ta.x,wu+ta.y,La.x+La.w,La.y,j,bo,lo.x,Hn.y,$a,Xa),Rw(Tr,Ze.x,Ze.y,Va.x,wu+Va.y,La.x,La.y+La.h,j,bo,Hn.x,lo.y,$a,Xa),Rw(Tr,Ze.x,Ze.y,Io.x,wu+Io.y,La.x+La.w,La.y+La.h,j,bo,lo.x,lo.y,$a,Xa),nS(S.dynamicLayoutVertexArray,Ze,Di),sr.emplaceBack(Uo,Uo+1,Uo+2),sr.emplaceBack(Uo+1,Uo+2,Uo+3),Pr.vertexLength+=4,Pr.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(Tn[0]),ki!==D.length-1&&Ya===D[ki+1].sectionIndex||S.programConfigurations.populatePaintArrays(Tr.length,ve,ve.index,{},Qt,pi&&pi[Ya])}S.placedSymbolArray.emplaceBack(Ze.x,Ze.y,$r,this.glyphOffsetArray.length-$r,ni,at,Tt,Ze.segment,j?j[0]:0,j?j[1]:0,te[0],te[1],De,0,!1,0,Ft)}_addCollisionDebugVertex(S,D,j,te,ue,ve){return D.emplaceBack(0,0),S.emplaceBack(j.x,j.y,te,ue,Math.round(ve.x),Math.round(ve.y))}addCollisionDebugVertices(S,D,j,te,ue,ve,De){let Ze=ue.segments.prepareSegment(4,ue.layoutVertexArray,ue.indexArray),at=Ze.vertexLength,Tt=ue.layoutVertexArray,Ft=ue.collisionVertexArray,Qt=De.anchorX,sr=De.anchorY;this._addCollisionDebugVertex(Tt,Ft,ve,Qt,sr,new u(S,D)),this._addCollisionDebugVertex(Tt,Ft,ve,Qt,sr,new u(j,D)),this._addCollisionDebugVertex(Tt,Ft,ve,Qt,sr,new u(j,te)),this._addCollisionDebugVertex(Tt,Ft,ve,Qt,sr,new u(S,te)),Ze.vertexLength+=4;let Tr=ue.indexArray;Tr.emplaceBack(at,at+1),Tr.emplaceBack(at+1,at+2),Tr.emplaceBack(at+2,at+3),Tr.emplaceBack(at+3,at),Ze.primitiveLength+=4}addDebugCollisionBoxes(S,D,j,te){for(let ue=S;ue<D;ue++){let ve=this.collisionBoxArray.get(ue);this.addCollisionDebugVertices(ve.x1,ve.y1,ve.x2,ve.y2,te?this.textCollisionBox:this.iconCollisionBox,ve.anchorPoint,j)}}generateCollisionDebugBuffers(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new um(Fl,oy.members,we),this.iconCollisionBox=new um(Fl,oy.members,we);for(let S=0;S<this.symbolInstances.length;S++){let D=this.symbolInstances.get(S);this.addDebugCollisionBoxes(D.textBoxStartIndex,D.textBoxEndIndex,D,!0),this.addDebugCollisionBoxes(D.verticalTextBoxStartIndex,D.verticalTextBoxEndIndex,D,!0),this.addDebugCollisionBoxes(D.iconBoxStartIndex,D.iconBoxEndIndex,D,!1),this.addDebugCollisionBoxes(D.verticalIconBoxStartIndex,D.verticalIconBoxEndIndex,D,!1)}}_deserializeCollisionBoxesForSymbol(S,D,j,te,ue,ve,De,Ze,at){let Tt={};for(let Ft=D;Ft<j;Ft++){let Qt=S.get(Ft);Tt.textBox={x1:Qt.x1,y1:Qt.y1,x2:Qt.x2,y2:Qt.y2,anchorPointX:Qt.anchorPointX,anchorPointY:Qt.anchorPointY},Tt.textFeatureIndex=Qt.featureIndex;break}for(let Ft=te;Ft<ue;Ft++){let Qt=S.get(Ft);Tt.verticalTextBox={x1:Qt.x1,y1:Qt.y1,x2:Qt.x2,y2:Qt.y2,anchorPointX:Qt.anchorPointX,anchorPointY:Qt.anchorPointY},Tt.verticalTextFeatureIndex=Qt.featureIndex;break}for(let Ft=ve;Ft<De;Ft++){let Qt=S.get(Ft);Tt.iconBox={x1:Qt.x1,y1:Qt.y1,x2:Qt.x2,y2:Qt.y2,anchorPointX:Qt.anchorPointX,anchorPointY:Qt.anchorPointY},Tt.iconFeatureIndex=Qt.featureIndex;break}for(let Ft=Ze;Ft<at;Ft++){let Qt=S.get(Ft);Tt.verticalIconBox={x1:Qt.x1,y1:Qt.y1,x2:Qt.x2,y2:Qt.y2,anchorPointX:Qt.anchorPointX,anchorPointY:Qt.anchorPointY},Tt.verticalIconFeatureIndex=Qt.featureIndex;break}return Tt}deserializeCollisionBoxes(S){this.collisionArrays=[];for(let D=0;D<this.symbolInstances.length;D++){let j=this.symbolInstances.get(D);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(S,j.textBoxStartIndex,j.textBoxEndIndex,j.verticalTextBoxStartIndex,j.verticalTextBoxEndIndex,j.iconBoxStartIndex,j.iconBoxEndIndex,j.verticalIconBoxStartIndex,j.verticalIconBoxEndIndex))}}hasTextData(){return this.text.segments.get().length>0}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(S,D){let j=S.placedSymbolArray.get(D),te=j.vertexStartIndex+4*j.numGlyphs;for(let ue=j.vertexStartIndex;ue<te;ue+=4)S.indexArray.emplaceBack(ue,ue+1,ue+2),S.indexArray.emplaceBack(ue+1,ue+2,ue+3)}getSortedSymbolIndexes(S){if(this.sortedAngle===S&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;let D=Math.sin(S),j=Math.cos(S),te=[],ue=[],ve=[];for(let De=0;De<this.symbolInstances.length;++De){ve.push(De);let Ze=this.symbolInstances.get(De);te.push(0|Math.round(D*Ze.anchorX+j*Ze.anchorY)),ue.push(Ze.featureIndex)}return ve.sort((De,Ze)=>te[De]-te[Ze]||ue[Ze]-ue[De]),ve}addToSortKeyRanges(S,D){let j=this.sortKeyRanges[this.sortKeyRanges.length-1];j&&j.sortKey===D?j.symbolInstanceEnd=S+1:this.sortKeyRanges.push({sortKey:D,symbolInstanceStart:S,symbolInstanceEnd:S+1})}sortFeatures(S){if(this.sortFeaturesByY&&this.sortedAngle!==S&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(S),this.sortedAngle=S,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let D of this.symbolInstanceIndexes){let j=this.symbolInstances.get(D);this.featureSortOrder.push(j.featureIndex),[j.rightJustifiedTextSymbolIndex,j.centerJustifiedTextSymbolIndex,j.leftJustifiedTextSymbolIndex].forEach((te,ue,ve)=>{te>=0&&ve.indexOf(te)===ue&&this.addIndicesForPlacedSymbol(this.text,te)}),j.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,j.verticalPlacedTextSymbolIndex),j.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,j.placedIconSymbolIndex),j.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,j.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let tf,Zx;mi(\"SymbolBucket\",E1,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),E1.MAX_GLYPHS=65535,E1.addDynamicAttributes=nS;var Dw={get paint(){return Zx=Zx||new le({\"icon-opacity\":new eo(ce.paint_symbol[\"icon-opacity\"]),\"icon-color\":new eo(ce.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new eo(ce.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new eo(ce.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new eo(ce.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new Da(ce.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new Da(ce.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new eo(ce.paint_symbol[\"text-opacity\"]),\"text-color\":new eo(ce.paint_symbol[\"text-color\"],{runtimeType:Ht,getOverride:R=>R.textColor,hasOverride:R=>!!R.textColor}),\"text-halo-color\":new eo(ce.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new eo(ce.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new eo(ce.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new Da(ce.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new Da(ce.paint_symbol[\"text-translate-anchor\"])})},get layout(){return tf=tf||new le({\"symbol-placement\":new Da(ce.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new Da(ce.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new Da(ce.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new eo(ce.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new Da(ce.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new Da(ce.layout_symbol[\"icon-allow-overlap\"]),\"icon-overlap\":new Da(ce.layout_symbol[\"icon-overlap\"]),\"icon-ignore-placement\":new Da(ce.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new Da(ce.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new Da(ce.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new eo(ce.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new Da(ce.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new Da(ce.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new eo(ce.layout_symbol[\"icon-image\"]),\"icon-rotate\":new eo(ce.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new eo(ce.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new Da(ce.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new eo(ce.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new eo(ce.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new Da(ce.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new Da(ce.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new Da(ce.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new eo(ce.layout_symbol[\"text-field\"]),\"text-font\":new eo(ce.layout_symbol[\"text-font\"]),\"text-size\":new eo(ce.layout_symbol[\"text-size\"]),\"text-max-width\":new eo(ce.layout_symbol[\"text-max-width\"]),\"text-line-height\":new Da(ce.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new eo(ce.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new eo(ce.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new eo(ce.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new Da(ce.layout_symbol[\"text-variable-anchor\"]),\"text-variable-anchor-offset\":new eo(ce.layout_symbol[\"text-variable-anchor-offset\"]),\"text-anchor\":new eo(ce.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new Da(ce.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new Da(ce.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new eo(ce.layout_symbol[\"text-rotate\"]),\"text-padding\":new Da(ce.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new Da(ce.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new eo(ce.layout_symbol[\"text-transform\"]),\"text-offset\":new eo(ce.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new Da(ce.layout_symbol[\"text-allow-overlap\"]),\"text-overlap\":new Da(ce.layout_symbol[\"text-overlap\"]),\"text-ignore-placement\":new Da(ce.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new Da(ce.layout_symbol[\"text-optional\"])})}};class Xx{constructor(S){if(S.property.overrides===void 0)throw new Error(\"overrides must be provided to instantiate FormatSectionOverride class\");this.type=S.property.overrides?S.property.overrides.runtimeType:Lt,this.defaultValue=S}evaluate(S){if(S.formattedSection){let D=this.defaultValue.property.overrides;if(D&&D.hasOverride(S.formattedSection))return D.getOverride(S.formattedSection)}return S.feature&&S.featureState?this.defaultValue.evaluate(S.feature,S.featureState):this.defaultValue.property.specification.default}eachChild(S){this.defaultValue.isConstant()||S(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}mi(\"FormatSectionOverride\",Xx,{omit:[\"defaultValue\"]});class uy extends B{constructor(S){super(S,Dw)}recalculate(S,D){if(super.recalculate(S,D),this.layout.get(\"icon-rotation-alignment\")===\"auto\"&&(this.layout._values[\"icon-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-rotation-alignment\")===\"auto\"&&(this.layout._values[\"text-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-pitch-alignment\")===\"auto\"&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")===\"map\"?\"map\":\"viewport\"),this.layout.get(\"icon-pitch-alignment\")===\"auto\"&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),this.layout.get(\"symbol-placement\")===\"point\"){let j=this.layout.get(\"text-writing-mode\");if(j){let te=[];for(let ue of j)te.indexOf(ue)<0&&te.push(ue);this.layout._values[\"text-writing-mode\"]=te}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]}this._setPaintOverrides()}getValueAndResolveTokens(S,D,j,te){let ue=this.layout.get(S).evaluate(D,{},j,te),ve=this._unevaluatedLayout._values[S];return ve.isDataDriven()||Lc(ve.value)||!ue?ue:function(De,Ze){return Ze.replace(/{([^{}]+)}/g,(at,Tt)=>De&&Tt in De?String(De[Tt]):\"\")}(D.properties,ue)}createBucket(S){return new E1(S)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error(\"Should take a different path in FeatureIndex\")}_setPaintOverrides(){for(let S of Dw.paint.overridableProperties){if(!uy.hasPaintOverride(this.layout,S))continue;let D=this.paint.get(S),j=new Xx(D),te=new Pu(j,D.property.specification),ue=null;ue=D.value.kind===\"constant\"||D.value.kind===\"source\"?new Xc(\"source\",te):new ic(\"composite\",te,D.value.zoomStops),this.paint._values[S]=new Du(D.property,ue,D.parameters)}}_handleOverridablePaintPropertyUpdate(S,D,j){return!(!this.layout||D.isDataDriven()||j.isDataDriven())&&uy.hasPaintOverride(this.layout,S)}static hasPaintOverride(S,D){let j=S.get(\"text-field\"),te=Dw.paint.properties[D],ue=!1,ve=De=>{for(let Ze of De)if(te.overrides&&te.overrides.hasOverride(Ze))return void(ue=!0)};if(j.value.kind===\"constant\"&&j.value.value instanceof Zr)ve(j.value.value.sections);else if(j.value.kind===\"source\"){let De=at=>{ue||(at instanceof jn&&Ki(at.value)===Br?ve(at.value.sections):at instanceof Ql?ve(at.sections):at.eachChild(De))},Ze=j.value;Ze._styleExpression&&De(Ze._styleExpression.expression)}return ue}}let _C;var Yx={get paint(){return _C=_C||new le({\"background-color\":new Da(ce.paint_background[\"background-color\"]),\"background-pattern\":new yc(ce.paint_background[\"background-pattern\"]),\"background-opacity\":new Da(ce.paint_background[\"background-opacity\"])})}};class G9 extends B{constructor(S){super(S,Yx)}}let sS;var xC={get paint(){return sS=sS||new le({\"raster-opacity\":new Da(ce.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new Da(ce.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new Da(ce.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new Da(ce.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new Da(ce.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new Da(ce.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new Da(ce.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new Da(ce.paint_raster[\"raster-fade-duration\"])})}};class Kx extends B{constructor(S){super(S,xC)}}class lS extends B{constructor(S){super(S,{}),this.onAdd=D=>{this.implementation.onAdd&&this.implementation.onAdd(D,D.painter.context.gl)},this.onRemove=D=>{this.implementation.onRemove&&this.implementation.onRemove(D,D.painter.context.gl)},this.implementation=S}is3D(){return this.implementation.renderingMode===\"3d\"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error(\"Custom layers cannot be serialized\")}}class uS{constructor(S){this._methodToThrottle=S,this._triggered=!1,typeof MessageChannel!=\"undefined\"&&(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=()=>{}}}let cS=63710088e-1;class dg{constructor(S,D){if(isNaN(S)||isNaN(D))throw new Error(`Invalid LngLat object: (${S}, ${D})`);if(this.lng=+S,this.lat=+D,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")}wrap(){return new dg(A(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(S){let D=Math.PI/180,j=this.lat*D,te=S.lat*D,ue=Math.sin(j)*Math.sin(te)+Math.cos(j)*Math.cos(te)*Math.cos((S.lng-this.lng)*D);return cS*Math.acos(Math.min(ue,1))}static convert(S){if(S instanceof dg)return S;if(Array.isArray(S)&&(S.length===2||S.length===3))return new dg(Number(S[0]),Number(S[1]));if(!Array.isArray(S)&&typeof S==\"object\"&&S!==null)return new dg(Number(\"lng\"in S?S.lng:S.lon),Number(S.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\")}}let k1=2*Math.PI*cS;function bC(R){return k1*Math.cos(R*Math.PI/180)}function zw(R){return(180+R)/360}function wC(R){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+R*Math.PI/360)))/360}function Fw(R,S){return R/bC(S)}function Jx(R){return 360/Math.PI*Math.atan(Math.exp((180-360*R)*Math.PI/180))-90}class $x{constructor(S,D,j=0){this.x=+S,this.y=+D,this.z=+j}static fromLngLat(S,D=0){let j=dg.convert(S);return new $x(zw(j.lng),wC(j.lat),Fw(D,j.lat))}toLngLat(){return new dg(360*this.x-180,Jx(this.y))}toAltitude(){return this.z*bC(Jx(this.y))}meterInMercatorCoordinateUnits(){return 1/k1*(S=Jx(this.y),1/Math.cos(S*Math.PI/180));var S}}function gp(R,S,D){var j=2*Math.PI*6378137/256/Math.pow(2,D);return[R*j-2*Math.PI*6378137/2,S*j-2*Math.PI*6378137/2]}class fS{constructor(S,D,j){if(!function(te,ue,ve){return!(te<0||te>25||ve<0||ve>=Math.pow(2,te)||ue<0||ue>=Math.pow(2,te))}(S,D,j))throw new Error(`x=${D}, y=${j}, z=${S} outside of bounds. 0<=x<${Math.pow(2,S)}, 0<=y<${Math.pow(2,S)} 0<=z<=25 `);this.z=S,this.x=D,this.y=j,this.key=Qx(0,S,S,D,j)}equals(S){return this.z===S.z&&this.x===S.x&&this.y===S.y}url(S,D,j){let te=(ve=this.y,De=this.z,Ze=gp(256*(ue=this.x),256*(ve=Math.pow(2,De)-ve-1),De),at=gp(256*(ue+1),256*(ve+1),De),Ze[0]+\",\"+Ze[1]+\",\"+at[0]+\",\"+at[1]);var ue,ve,De,Ze,at;let Tt=function(Ft,Qt,sr){let Tr,Pr=\"\";for(let $r=Ft;$r>0;$r--)Tr=1<<$r-1,Pr+=(Qt&Tr?1:0)+(sr&Tr?2:0);return Pr}(this.z,this.x,this.y);return S[(this.x+this.y)%S.length].replace(/{prefix}/g,(this.x%16).toString(16)+(this.y%16).toString(16)).replace(/{z}/g,String(this.z)).replace(/{x}/g,String(this.x)).replace(/{y}/g,String(j===\"tms\"?Math.pow(2,this.z)-this.y-1:this.y)).replace(/{ratio}/g,D>1?\"@2x\":\"\").replace(/{quadkey}/g,Tt).replace(/{bbox-epsg-3857}/g,te)}isChildOf(S){let D=this.z-S.z;return D>0&&S.x===this.x>>D&&S.y===this.y>>D}getTilePoint(S){let D=Math.pow(2,this.z);return new u((S.x*D-this.x)*za,(S.y*D-this.y)*za)}toString(){return`${this.z}/${this.x}/${this.y}`}}class TC{constructor(S,D){this.wrap=S,this.canonical=D,this.key=Qx(S,D.z,D.z,D.x,D.y)}}class Jv{constructor(S,D,j,te,ue){if(S<j)throw new Error(`overscaledZ should be >= z; overscaledZ = ${S}; z = ${j}`);this.overscaledZ=S,this.wrap=D,this.canonical=new fS(j,+te,+ue),this.key=Qx(D,S,j,te,ue)}clone(){return new Jv(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(S){return this.overscaledZ===S.overscaledZ&&this.wrap===S.wrap&&this.canonical.equals(S.canonical)}scaledTo(S){if(S>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${S}; overscaledZ = ${this.overscaledZ}`);let D=this.canonical.z-S;return S>this.canonical.z?new Jv(S,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Jv(S,this.wrap,S,this.canonical.x>>D,this.canonical.y>>D)}calculateScaledKey(S,D){if(S>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${S}; overscaledZ = ${this.overscaledZ}`);let j=this.canonical.z-S;return S>this.canonical.z?Qx(this.wrap*+D,S,this.canonical.z,this.canonical.x,this.canonical.y):Qx(this.wrap*+D,S,S,this.canonical.x>>j,this.canonical.y>>j)}isChildOf(S){if(S.wrap!==this.wrap)return!1;let D=this.canonical.z-S.canonical.z;return S.overscaledZ===0||S.overscaledZ<this.overscaledZ&&S.canonical.x===this.canonical.x>>D&&S.canonical.y===this.canonical.y>>D}children(S){if(this.overscaledZ>=S)return[new Jv(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let D=this.canonical.z+1,j=2*this.canonical.x,te=2*this.canonical.y;return[new Jv(D,this.wrap,D,j,te),new Jv(D,this.wrap,D,j+1,te),new Jv(D,this.wrap,D,j,te+1),new Jv(D,this.wrap,D,j+1,te+1)]}isLessThan(S){return this.wrap<S.wrap||!(this.wrap>S.wrap)&&(this.overscaledZ<S.overscaledZ||!(this.overscaledZ>S.overscaledZ)&&(this.canonical.x<S.canonical.x||!(this.canonical.x>S.canonical.x)&&this.canonical.y<S.canonical.y))}wrapped(){return new Jv(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)}unwrapTo(S){return new Jv(this.overscaledZ,S,this.canonical.z,this.canonical.x,this.canonical.y)}overscaleFactor(){return Math.pow(2,this.overscaledZ-this.canonical.z)}toUnwrapped(){return new TC(this.wrap,this.canonical)}toString(){return`${this.overscaledZ}/${this.canonical.x}/${this.canonical.y}`}getTilePoint(S){return this.canonical.getTilePoint(new $x(S.x-this.wrap,S.y))}}function Qx(R,S,D,j,te){(R*=2)<0&&(R=-1*R-1);let ue=1<<D;return(ue*ue*R+ue*te+j).toString(36)+D.toString(36)+S.toString(36)}mi(\"CanonicalTileID\",fS),mi(\"OverscaledTileID\",Jv,{omit:[\"posMatrix\"]});class AC{constructor(S,D,j,te=1,ue=1,ve=1,De=0){if(this.uid=S,D.height!==D.width)throw new RangeError(\"DEM tiles must be square\");if(j&&![\"mapbox\",\"terrarium\",\"custom\"].includes(j))return void T(`\"${j}\" is not a valid encoding type. Valid types include \"mapbox\", \"terrarium\" and \"custom\".`);this.stride=D.height;let Ze=this.dim=D.height-2;switch(this.data=new Uint32Array(D.data.buffer),j){case\"terrarium\":this.redFactor=256,this.greenFactor=1,this.blueFactor=1/256,this.baseShift=32768;break;case\"custom\":this.redFactor=te,this.greenFactor=ue,this.blueFactor=ve,this.baseShift=De;break;default:this.redFactor=6553.6,this.greenFactor=25.6,this.blueFactor=.1,this.baseShift=1e4}for(let at=0;at<Ze;at++)this.data[this._idx(-1,at)]=this.data[this._idx(0,at)],this.data[this._idx(Ze,at)]=this.data[this._idx(Ze-1,at)],this.data[this._idx(at,-1)]=this.data[this._idx(at,0)],this.data[this._idx(at,Ze)]=this.data[this._idx(at,Ze-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(Ze,-1)]=this.data[this._idx(Ze-1,0)],this.data[this._idx(-1,Ze)]=this.data[this._idx(0,Ze-1)],this.data[this._idx(Ze,Ze)]=this.data[this._idx(Ze-1,Ze-1)],this.min=Number.MAX_SAFE_INTEGER,this.max=Number.MIN_SAFE_INTEGER;for(let at=0;at<Ze;at++)for(let Tt=0;Tt<Ze;Tt++){let Ft=this.get(at,Tt);Ft>this.max&&(this.max=Ft),Ft<this.min&&(this.min=Ft)}}get(S,D){let j=new Uint8Array(this.data.buffer),te=4*this._idx(S,D);return this.unpack(j[te],j[te+1],j[te+2])}getUnpackVector(){return[this.redFactor,this.greenFactor,this.blueFactor,this.baseShift]}_idx(S,D){if(S<-1||S>=this.dim+1||D<-1||D>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(D+1)*this.stride+(S+1)}unpack(S,D,j){return S*this.redFactor+D*this.greenFactor+j*this.blueFactor-this.baseShift}getPixels(){return new Jn({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(S,D,j){if(this.dim!==S.dim)throw new Error(\"dem dimension mismatch\");let te=D*this.dim,ue=D*this.dim+this.dim,ve=j*this.dim,De=j*this.dim+this.dim;switch(D){case-1:te=ue-1;break;case 1:ue=te+1}switch(j){case-1:ve=De-1;break;case 1:De=ve+1}let Ze=-D*this.dim,at=-j*this.dim;for(let Tt=ve;Tt<De;Tt++)for(let Ft=te;Ft<ue;Ft++)this.data[this._idx(Ft,Tt)]=S.data[this._idx(Ft+Ze,Tt+at)]}}mi(\"DEMData\",AC);class SC{constructor(S){this._stringToNumber={},this._numberToString=[];for(let D=0;D<S.length;D++){let j=S[D];this._stringToNumber[j]=D,this._numberToString[D]=j}}encode(S){return this._stringToNumber[S]}decode(S){if(S>=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${S} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[S]}}class hS{constructor(S,D,j,te,ue){this.type=\"Feature\",this._vectorTileFeature=S,S._z=D,S._x=j,S._y=te,this.properties=S.properties,this.id=ue}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(S){this._geometry=S}toJSON(){let S={geometry:this.geometry};for(let D in this)D!==\"_geometry\"&&D!==\"_vectorTileFeature\"&&(S[D]=this[D]);return S}}class cy{constructor(S,D){this.tileID=S,this.x=S.canonical.x,this.y=S.canonical.y,this.z=S.canonical.z,this.grid=new qi(za,16,0),this.grid3D=new qi(za,16,0),this.featureIndexArray=new As,this.promoteId=D}insert(S,D,j,te,ue,ve){let De=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(j,te,ue);let Ze=ve?this.grid3D:this.grid;for(let at=0;at<D.length;at++){let Tt=D[at],Ft=[1/0,1/0,-1/0,-1/0];for(let Qt=0;Qt<Tt.length;Qt++){let sr=Tt[Qt];Ft[0]=Math.min(Ft[0],sr.x),Ft[1]=Math.min(Ft[1],sr.y),Ft[2]=Math.max(Ft[2],sr.x),Ft[3]=Math.max(Ft[3],sr.y)}Ft[0]<za&&Ft[1]<za&&Ft[2]>=0&&Ft[3]>=0&&Ze.insert(De,Ft[0],Ft[1],Ft[2],Ft[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new ei.VectorTile(new eS(this.rawTileData)).layers,this.sourceLayerCoder=new SC(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers}query(S,D,j,te){this.loadVTLayers();let ue=S.params||{},ve=za/S.tileSize/S.scale,De=Pc(ue.filter),Ze=S.queryGeometry,at=S.queryPadding*ve,Tt=EC(Ze),Ft=this.grid.query(Tt.minX-at,Tt.minY-at,Tt.maxX+at,Tt.maxY+at),Qt=EC(S.cameraQueryGeometry),sr=this.grid3D.query(Qt.minX-at,Qt.minY-at,Qt.maxX+at,Qt.maxY+at,($r,ni,Di,pi)=>function(ki,Zi,ta,Va,Io){for(let Hn of ki)if(Zi<=Hn.x&&ta<=Hn.y&&Va>=Hn.x&&Io>=Hn.y)return!0;let La=[new u(Zi,ta),new u(Zi,Io),new u(Va,Io),new u(Va,ta)];if(ki.length>2){for(let Hn of La)if(On(ki,Hn))return!0}for(let Hn=0;Hn<ki.length-1;Hn++)if(Bn(ki[Hn],ki[Hn+1],La))return!0;return!1}(S.cameraQueryGeometry,$r-at,ni-at,Di+at,pi+at));for(let $r of sr)Ft.push($r);Ft.sort(j9);let Tr={},Pr;for(let $r=0;$r<Ft.length;$r++){let ni=Ft[$r];if(ni===Pr)continue;Pr=ni;let Di=this.featureIndexArray.get(ni),pi=null;this.loadMatchingFeature(Tr,Di.bucketIndex,Di.sourceLayerIndex,Di.featureIndex,De,ue.layers,ue.availableImages,D,j,te,(ki,Zi,ta)=>(pi||(pi=js(ki)),Zi.queryIntersectsFeature(Ze,ki,ta,pi,this.z,S.transform,ve,S.pixelPosMatrix)))}return Tr}loadMatchingFeature(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft){let Qt=this.bucketLayerIDs[D];if(ve&&!function($r,ni){for(let Di=0;Di<$r.length;Di++)if(ni.indexOf($r[Di])>=0)return!0;return!1}(ve,Qt))return;let sr=this.sourceLayerCoder.decode(j),Tr=this.vtLayers[sr].feature(te);if(ue.needGeometry){let $r=xl(Tr,!0);if(!ue.filter(new Ko(this.tileID.overscaledZ),$r,this.tileID.canonical))return}else if(!ue.filter(new Ko(this.tileID.overscaledZ),Tr))return;let Pr=this.getId(Tr,sr);for(let $r=0;$r<Qt.length;$r++){let ni=Qt[$r];if(ve&&ve.indexOf(ni)<0)continue;let Di=Ze[ni];if(!Di)continue;let pi={};Pr&&Tt&&(pi=Tt.getState(Di.sourceLayer||\"_geojsonTileLayer\",Pr));let ki=L({},at[ni]);ki.paint=MC(ki.paint,Di.paint,Tr,pi,De),ki.layout=MC(ki.layout,Di.layout,Tr,pi,De);let Zi=!Ft||Ft(Tr,Di,pi);if(!Zi)continue;let ta=new hS(Tr,this.z,this.x,this.y,Pr);ta.layer=ki;let Va=S[ni];Va===void 0&&(Va=S[ni]=[]),Va.push({featureIndex:te,feature:ta,intersectionZ:Zi})}}lookupSymbolFeatures(S,D,j,te,ue,ve,De,Ze){let at={};this.loadVTLayers();let Tt=Pc(ue);for(let Ft of S)this.loadMatchingFeature(at,j,te,Ft,Tt,ve,De,Ze,D);return at}hasLayer(S){for(let D of this.bucketLayerIDs)for(let j of D)if(S===j)return!0;return!1}getId(S,D){let j=S.id;return this.promoteId&&(j=S.properties[typeof this.promoteId==\"string\"?this.promoteId:this.promoteId[D]],typeof j==\"boolean\"&&(j=Number(j))),j}}function MC(R,S,D,j,te){return C(R,(ue,ve)=>{let De=S instanceof Dc?S.get(ve):null;return De&&De.evaluate?De.evaluate(D,j,te):De})}function EC(R){let S=1/0,D=1/0,j=-1/0,te=-1/0;for(let ue of R)S=Math.min(S,ue.x),D=Math.min(D,ue.y),j=Math.max(j,ue.x),te=Math.max(te,ue.y);return{minX:S,minY:D,maxX:j,maxY:te}}function j9(R,S){return S-R}function kC(R,S,D,j,te){let ue=[];for(let ve=0;ve<R.length;ve++){let De=R[ve],Ze;for(let at=0;at<De.length-1;at++){let Tt=De[at],Ft=De[at+1];Tt.x<S&&Ft.x<S||(Tt.x<S?Tt=new u(S,Tt.y+(S-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round():Ft.x<S&&(Ft=new u(S,Tt.y+(S-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round()),Tt.y<D&&Ft.y<D||(Tt.y<D?Tt=new u(Tt.x+(D-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),D)._round():Ft.y<D&&(Ft=new u(Tt.x+(D-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),D)._round()),Tt.x>=j&&Ft.x>=j||(Tt.x>=j?Tt=new u(j,Tt.y+(j-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round():Ft.x>=j&&(Ft=new u(j,Tt.y+(j-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round()),Tt.y>=te&&Ft.y>=te||(Tt.y>=te?Tt=new u(Tt.x+(te-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),te)._round():Ft.y>=te&&(Ft=new u(Tt.x+(te-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),te)._round()),Ze&&Tt.equals(Ze[Ze.length-1])||(Ze=[Tt],ue.push(Ze)),Ze.push(Ft)))))}}return ue}mi(\"FeatureIndex\",cy,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});class vg extends u{constructor(S,D,j,te){super(S,D),this.angle=j,te!==void 0&&(this.segment=te)}clone(){return new vg(this.x,this.y,this.angle,this.segment)}}function dS(R,S,D,j,te){if(S.segment===void 0||D===0)return!0;let ue=S,ve=S.segment+1,De=0;for(;De>-D/2;){if(ve--,ve<0)return!1;De-=R[ve].dist(ue),ue=R[ve]}De+=R[ve].dist(R[ve+1]),ve++;let Ze=[],at=0;for(;De<D/2;){let Tt=R[ve],Ft=R[ve+1];if(!Ft)return!1;let Qt=R[ve-1].angleTo(Tt)-Tt.angleTo(Ft);for(Qt=Math.abs((Qt+3*Math.PI)%(2*Math.PI)-Math.PI),Ze.push({distance:De,angleDelta:Qt}),at+=Qt;De-Ze[0].distance>j;)at-=Ze.shift().angleDelta;if(at>te)return!1;ve++,De+=Tt.dist(Ft)}return!0}function CC(R){let S=0;for(let D=0;D<R.length-1;D++)S+=R[D].dist(R[D+1]);return S}function LC(R,S,D){return R?.6*S*D:0}function PC(R,S){return Math.max(R?R.right-R.left:0,S?S.right-S.left:0)}function W9(R,S,D,j,te,ue){let ve=LC(D,te,ue),De=PC(D,j)*ue,Ze=0,at=CC(R)/2;for(let Tt=0;Tt<R.length-1;Tt++){let Ft=R[Tt],Qt=R[Tt+1],sr=Ft.dist(Qt);if(Ze+sr>at){let Tr=(at-Ze)/sr,Pr=Mo.number(Ft.x,Qt.x,Tr),$r=Mo.number(Ft.y,Qt.y,Tr),ni=new vg(Pr,$r,Qt.angleTo(Ft),Tt);return ni._round(),!ve||dS(R,ni,De,ve,S)?ni:void 0}Ze+=sr}}function Z9(R,S,D,j,te,ue,ve,De,Ze){let at=LC(j,ue,ve),Tt=PC(j,te),Ft=Tt*ve,Qt=R[0].x===0||R[0].x===Ze||R[0].y===0||R[0].y===Ze;return S-Ft<S/4&&(S=Ft+S/4),IC(R,Qt?S/2*De%S:(Tt/2+2*ue)*ve*De%S,S,at,D,Ft,Qt,!1,Ze)}function IC(R,S,D,j,te,ue,ve,De,Ze){let at=ue/2,Tt=CC(R),Ft=0,Qt=S-D,sr=[];for(let Tr=0;Tr<R.length-1;Tr++){let Pr=R[Tr],$r=R[Tr+1],ni=Pr.dist($r),Di=$r.angleTo(Pr);for(;Qt+D<Ft+ni;){Qt+=D;let pi=(Qt-Ft)/ni,ki=Mo.number(Pr.x,$r.x,pi),Zi=Mo.number(Pr.y,$r.y,pi);if(ki>=0&&ki<Ze&&Zi>=0&&Zi<Ze&&Qt-at>=0&&Qt+at<=Tt){let ta=new vg(ki,Zi,Di,Tr);ta._round(),j&&!dS(R,ta,ue,j,te)||sr.push(ta)}}Ft+=ni}return De||sr.length||ve||(sr=IC(R,Ft/2,D,j,te,ue,ve,!0,Ze)),sr}mi(\"Anchor\",vg);let C1=wd;function RC(R,S,D,j){let te=[],ue=R.image,ve=ue.pixelRatio,De=ue.paddedRect.w-2*C1,Ze=ue.paddedRect.h-2*C1,at={x1:R.left,y1:R.top,x2:R.right,y2:R.bottom},Tt=ue.stretchX||[[0,De]],Ft=ue.stretchY||[[0,Ze]],Qt=(Tn,bo)=>Tn+bo[1]-bo[0],sr=Tt.reduce(Qt,0),Tr=Ft.reduce(Qt,0),Pr=De-sr,$r=Ze-Tr,ni=0,Di=sr,pi=0,ki=Tr,Zi=0,ta=Pr,Va=0,Io=$r;if(ue.content&&j){let Tn=ue.content,bo=Tn[2]-Tn[0],Ya=Tn[3]-Tn[1];(ue.textFitWidth||ue.textFitHeight)&&(at=gC(R)),ni=pg(Tt,0,Tn[0]),pi=pg(Ft,0,Tn[1]),Di=pg(Tt,Tn[0],Tn[2]),ki=pg(Ft,Tn[1],Tn[3]),Zi=Tn[0]-ni,Va=Tn[1]-pi,ta=bo-Di,Io=Ya-ki}let La=at.x1,Hn=at.y1,lo=at.x2-La,$a=at.y2-Hn,Xa=(Tn,bo,Ya,Uo)=>{let wu=qw(Tn.stretch-ni,Di,lo,La),hu=L1(Tn.fixed-Zi,ta,Tn.stretch,sr),uh=qw(bo.stretch-pi,ki,$a,Hn),$v=L1(bo.fixed-Va,Io,bo.stretch,Tr),td=qw(Ya.stretch-ni,Di,lo,La),ch=L1(Ya.fixed-Zi,ta,Ya.stretch,sr),Ud=qw(Uo.stretch-pi,ki,$a,Hn),Vd=L1(Uo.fixed-Va,Io,Uo.stretch,Tr),Hd=new u(wu,uh),rf=new u(td,uh),fh=new u(td,Ud),Td=new u(wu,Ud),rd=new u(hu/ve,$v/ve),Dh=new u(ch/ve,Vd/ve),xf=S*Math.PI/180;if(xf){let Cl=Math.sin(xf),qu=Math.cos(xf),Tu=[qu,-Cl,Cl,qu];Hd._matMult(Tu),rf._matMult(Tu),Td._matMult(Tu),fh._matMult(Tu)}let Iv=Tn.stretch+Tn.fixed,lv=bo.stretch+bo.fixed;return{tl:Hd,tr:rf,bl:Td,br:fh,tex:{x:ue.paddedRect.x+C1+Iv,y:ue.paddedRect.y+C1+lv,w:Ya.stretch+Ya.fixed-Iv,h:Uo.stretch+Uo.fixed-lv},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:rd,pixelOffsetBR:Dh,minFontScaleX:ta/ve/lo,minFontScaleY:Io/ve/$a,isSDF:D}};if(j&&(ue.stretchX||ue.stretchY)){let Tn=DC(Tt,Pr,sr),bo=DC(Ft,$r,Tr);for(let Ya=0;Ya<Tn.length-1;Ya++){let Uo=Tn[Ya],wu=Tn[Ya+1];for(let hu=0;hu<bo.length-1;hu++)te.push(Xa(Uo,bo[hu],wu,bo[hu+1]))}}else te.push(Xa({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:De+1},{fixed:0,stretch:Ze+1}));return te}function pg(R,S,D){let j=0;for(let te of R)j+=Math.max(S,Math.min(D,te[1]))-Math.max(S,Math.min(D,te[0]));return j}function DC(R,S,D){let j=[{fixed:-C1,stretch:0}];for(let[te,ue]of R){let ve=j[j.length-1];j.push({fixed:te-ve.stretch,stretch:ve.stretch}),j.push({fixed:te-ve.stretch,stretch:ve.stretch+(ue-te)})}return j.push({fixed:S+C1,stretch:D}),j}function qw(R,S,D,j){return R/S*D+j}function L1(R,S,D,j){return R-S*D/j}class cm{constructor(S,D,j,te,ue,ve,De,Ze,at,Tt){var Ft;if(this.boxStartIndex=S.length,at){let Qt=ve.top,sr=ve.bottom,Tr=ve.collisionPadding;Tr&&(Qt-=Tr[1],sr+=Tr[3]);let Pr=sr-Qt;Pr>0&&(Pr=Math.max(10,Pr),this.circleDiameter=Pr)}else{let Qt=!((Ft=ve.image)===null||Ft===void 0)&&Ft.content&&(ve.image.textFitWidth||ve.image.textFitHeight)?gC(ve):{x1:ve.left,y1:ve.top,x2:ve.right,y2:ve.bottom};Qt.y1=Qt.y1*De-Ze[0],Qt.y2=Qt.y2*De+Ze[2],Qt.x1=Qt.x1*De-Ze[3],Qt.x2=Qt.x2*De+Ze[1];let sr=ve.collisionPadding;if(sr&&(Qt.x1-=sr[0]*De,Qt.y1-=sr[1]*De,Qt.x2+=sr[2]*De,Qt.y2+=sr[3]*De),Tt){let Tr=new u(Qt.x1,Qt.y1),Pr=new u(Qt.x2,Qt.y1),$r=new u(Qt.x1,Qt.y2),ni=new u(Qt.x2,Qt.y2),Di=Tt*Math.PI/180;Tr._rotate(Di),Pr._rotate(Di),$r._rotate(Di),ni._rotate(Di),Qt.x1=Math.min(Tr.x,Pr.x,$r.x,ni.x),Qt.x2=Math.max(Tr.x,Pr.x,$r.x,ni.x),Qt.y1=Math.min(Tr.y,Pr.y,$r.y,ni.y),Qt.y2=Math.max(Tr.y,Pr.y,$r.y,ni.y)}S.emplaceBack(D.x,D.y,Qt.x1,Qt.y1,Qt.x2,Qt.y2,j,te,ue)}this.boxEndIndex=S.length}}class Hp{constructor(S=[],D=(j,te)=>j<te?-1:j>te?1:0){if(this.data=S,this.length=this.data.length,this.compare=D,this.length>0)for(let j=(this.length>>1)-1;j>=0;j--)this._down(j)}push(S){this.data.push(S),this._up(this.length++)}pop(){if(this.length===0)return;let S=this.data[0],D=this.data.pop();return--this.length>0&&(this.data[0]=D,this._down(0)),S}peek(){return this.data[0]}_up(S){let{data:D,compare:j}=this,te=D[S];for(;S>0;){let ue=S-1>>1,ve=D[ue];if(j(te,ve)>=0)break;D[S]=ve,S=ue}D[S]=te}_down(S){let{data:D,compare:j}=this,te=this.length>>1,ue=D[S];for(;S<te;){let ve=1+(S<<1),De=ve+1;if(De<this.length&&j(D[De],D[ve])<0&&(ve=De),j(D[ve],ue)>=0)break;D[S]=D[ve],S=ve}D[S]=ue}}function X9(R,S=1,D=!1){let j=1/0,te=1/0,ue=-1/0,ve=-1/0,De=R[0];for(let sr=0;sr<De.length;sr++){let Tr=De[sr];(!sr||Tr.x<j)&&(j=Tr.x),(!sr||Tr.y<te)&&(te=Tr.y),(!sr||Tr.x>ue)&&(ue=Tr.x),(!sr||Tr.y>ve)&&(ve=Tr.y)}let Ze=Math.min(ue-j,ve-te),at=Ze/2,Tt=new Hp([],Y9);if(Ze===0)return new u(j,te);for(let sr=j;sr<ue;sr+=Ze)for(let Tr=te;Tr<ve;Tr+=Ze)Tt.push(new P1(sr+at,Tr+at,at,R));let Ft=function(sr){let Tr=0,Pr=0,$r=0,ni=sr[0];for(let Di=0,pi=ni.length,ki=pi-1;Di<pi;ki=Di++){let Zi=ni[Di],ta=ni[ki],Va=Zi.x*ta.y-ta.x*Zi.y;Pr+=(Zi.x+ta.x)*Va,$r+=(Zi.y+ta.y)*Va,Tr+=3*Va}return new P1(Pr/Tr,$r/Tr,0,sr)}(R),Qt=Tt.length;for(;Tt.length;){let sr=Tt.pop();(sr.d>Ft.d||!Ft.d)&&(Ft=sr,D&&console.log(\"found best %d after %d probes\",Math.round(1e4*sr.d)/1e4,Qt)),sr.max-Ft.d<=S||(at=sr.h/2,Tt.push(new P1(sr.p.x-at,sr.p.y-at,at,R)),Tt.push(new P1(sr.p.x+at,sr.p.y-at,at,R)),Tt.push(new P1(sr.p.x-at,sr.p.y+at,at,R)),Tt.push(new P1(sr.p.x+at,sr.p.y+at,at,R)),Qt+=4)}return D&&(console.log(`num probes: ${Qt}`),console.log(`best distance: ${Ft.d}`)),Ft.p}function Y9(R,S){return S.max-R.max}function P1(R,S,D,j){this.p=new u(R,S),this.h=D,this.d=function(te,ue){let ve=!1,De=1/0;for(let Ze=0;Ze<ue.length;Ze++){let at=ue[Ze];for(let Tt=0,Ft=at.length,Qt=Ft-1;Tt<Ft;Qt=Tt++){let sr=at[Tt],Tr=at[Qt];sr.y>te.y!=Tr.y>te.y&&te.x<(Tr.x-sr.x)*(te.y-sr.y)/(Tr.y-sr.y)+sr.x&&(ve=!ve),De=Math.min(De,Bi(te,sr,Tr))}}return(ve?1:-1)*Math.sqrt(De)}(this.p,j),this.max=this.d+this.h*Math.SQRT2}var ed;i.aq=void 0,(ed=i.aq||(i.aq={}))[ed.center=1]=\"center\",ed[ed.left=2]=\"left\",ed[ed.right=3]=\"right\",ed[ed.top=4]=\"top\",ed[ed.bottom=5]=\"bottom\",ed[ed[\"top-left\"]=6]=\"top-left\",ed[ed[\"top-right\"]=7]=\"top-right\",ed[ed[\"bottom-left\"]=8]=\"bottom-left\",ed[ed[\"bottom-right\"]=9]=\"bottom-right\";let fm=7,fy=Number.POSITIVE_INFINITY;function vS(R,S){return S[1]!==fy?function(D,j,te){let ue=0,ve=0;switch(j=Math.abs(j),te=Math.abs(te),D){case\"top-right\":case\"top-left\":case\"top\":ve=te-fm;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":ve=-te+fm}switch(D){case\"top-right\":case\"bottom-right\":case\"right\":ue=-j;break;case\"top-left\":case\"bottom-left\":case\"left\":ue=j}return[ue,ve]}(R,S[0],S[1]):function(D,j){let te=0,ue=0;j<0&&(j=0);let ve=j/Math.SQRT2;switch(D){case\"top-right\":case\"top-left\":ue=ve-fm;break;case\"bottom-right\":case\"bottom-left\":ue=-ve+fm;break;case\"bottom\":ue=-j+fm;break;case\"top\":ue=j-fm}switch(D){case\"top-right\":case\"bottom-right\":te=-ve;break;case\"top-left\":case\"bottom-left\":te=ve;break;case\"left\":te=j;break;case\"right\":te=-j}return[te,ue]}(R,S[0])}function zC(R,S,D){var j;let te=R.layout,ue=(j=te.get(\"text-variable-anchor-offset\"))===null||j===void 0?void 0:j.evaluate(S,{},D);if(ue){let De=ue.values,Ze=[];for(let at=0;at<De.length;at+=2){let Tt=Ze[at]=De[at],Ft=De[at+1].map(Qt=>Qt*kl);Tt.startsWith(\"top\")?Ft[1]-=fm:Tt.startsWith(\"bottom\")&&(Ft[1]+=fm),Ze[at+1]=Ft}return new Si(Ze)}let ve=te.get(\"text-variable-anchor\");if(ve){let De;De=R._unevaluatedLayout.getValue(\"text-radial-offset\")!==void 0?[te.get(\"text-radial-offset\").evaluate(S,{},D)*kl,fy]:te.get(\"text-offset\").evaluate(S,{},D).map(at=>at*kl);let Ze=[];for(let at of ve)Ze.push(at,vS(at,De));return new Si(Ze)}return null}function pS(R){switch(R){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function K9(R,S,D,j,te,ue,ve,De,Ze,at,Tt){let Ft=ue.textMaxSize.evaluate(S,{});Ft===void 0&&(Ft=ve);let Qt=R.layers[0].layout,sr=Qt.get(\"icon-offset\").evaluate(S,{},Tt),Tr=qC(D.horizontal),Pr=ve/24,$r=R.tilePixelRatio*Pr,ni=R.tilePixelRatio*Ft/24,Di=R.tilePixelRatio*De,pi=R.tilePixelRatio*Qt.get(\"symbol-spacing\"),ki=Qt.get(\"text-padding\")*R.tilePixelRatio,Zi=function(Tn,bo,Ya,Uo=1){let wu=Tn.get(\"icon-padding\").evaluate(bo,{},Ya),hu=wu&&wu.values;return[hu[0]*Uo,hu[1]*Uo,hu[2]*Uo,hu[3]*Uo]}(Qt,S,Tt,R.tilePixelRatio),ta=Qt.get(\"text-max-angle\")/180*Math.PI,Va=Qt.get(\"text-rotation-alignment\")!==\"viewport\"&&Qt.get(\"symbol-placement\")!==\"point\",Io=Qt.get(\"icon-rotation-alignment\")===\"map\"&&Qt.get(\"symbol-placement\")!==\"point\",La=Qt.get(\"symbol-placement\"),Hn=pi/2,lo=Qt.get(\"icon-text-fit\"),$a;j&&lo!==\"none\"&&(R.allowVerticalPlacement&&D.vertical&&($a=mC(j,D.vertical,lo,Qt.get(\"icon-text-fit-padding\"),sr,Pr)),Tr&&(j=mC(j,Tr,lo,Qt.get(\"icon-text-fit-padding\"),sr,Pr)));let Xa=(Tn,bo)=>{bo.x<0||bo.x>=za||bo.y<0||bo.y>=za||function(Ya,Uo,wu,hu,uh,$v,td,ch,Ud,Vd,Hd,rf,fh,Td,rd,Dh,xf,Iv,lv,Cl,qu,Tu,Rv,qc,I1){let p0=Ya.addToLineVertexArray(Uo,wu),Gp,Qv,oc,If,ep=0,gg=0,uv=0,R1=0,xS=-1,Uw=-1,g0={},hy=ui(\"\");if(Ya.allowVerticalPlacement&&hu.vertical){let Ad=ch.layout.get(\"text-rotate\").evaluate(qu,{},qc)+90;oc=new cm(Ud,Uo,Vd,Hd,rf,hu.vertical,fh,Td,rd,Ad),td&&(If=new cm(Ud,Uo,Vd,Hd,rf,td,xf,Iv,rd,Ad))}if(uh){let Ad=ch.layout.get(\"icon-rotate\").evaluate(qu,{}),tp=ch.layout.get(\"icon-text-fit\")!==\"none\",hm=RC(uh,Ad,Rv,tp),Gd=td?RC(td,Ad,Rv,tp):void 0;Qv=new cm(Ud,Uo,Vd,Hd,rf,uh,xf,Iv,!1,Ad),ep=4*hm.length;let Sd=Ya.iconSizeData,yp=null;Sd.kind===\"source\"?(yp=[v0*ch.layout.get(\"icon-size\").evaluate(qu,{})],yp[0]>lm&&T(`${Ya.layerIds[0]}: Value for \"icon-size\" is >= ${Wx}. Reduce your \"icon-size\".`)):Sd.kind===\"composite\"&&(yp=[v0*Tu.compositeIconSizes[0].evaluate(qu,{},qc),v0*Tu.compositeIconSizes[1].evaluate(qu,{},qc)],(yp[0]>lm||yp[1]>lm)&&T(`${Ya.layerIds[0]}: Value for \"icon-size\" is >= ${Wx}. Reduce your \"icon-size\".`)),Ya.addSymbols(Ya.icon,hm,yp,Cl,lv,qu,i.ah.none,Uo,p0.lineStartIndex,p0.lineLength,-1,qc),xS=Ya.icon.placedSymbolArray.length-1,Gd&&(gg=4*Gd.length,Ya.addSymbols(Ya.icon,Gd,yp,Cl,lv,qu,i.ah.vertical,Uo,p0.lineStartIndex,p0.lineLength,-1,qc),Uw=Ya.icon.placedSymbolArray.length-1)}let zh=Object.keys(hu.horizontal);for(let Ad of zh){let tp=hu.horizontal[Ad];if(!Gp){hy=ui(tp.text);let Gd=ch.layout.get(\"text-rotate\").evaluate(qu,{},qc);Gp=new cm(Ud,Uo,Vd,Hd,rf,tp,fh,Td,rd,Gd)}let hm=tp.positionedLines.length===1;if(uv+=FC(Ya,Uo,tp,$v,ch,rd,qu,Dh,p0,hu.vertical?i.ah.horizontal:i.ah.horizontalOnly,hm?zh:[Ad],g0,xS,Tu,qc),hm)break}hu.vertical&&(R1+=FC(Ya,Uo,hu.vertical,$v,ch,rd,qu,Dh,p0,i.ah.vertical,[\"vertical\"],g0,Uw,Tu,qc));let Q9=Gp?Gp.boxStartIndex:Ya.collisionBoxArray.length,Vw=Gp?Gp.boxEndIndex:Ya.collisionBoxArray.length,m0=oc?oc.boxStartIndex:Ya.collisionBoxArray.length,cv=oc?oc.boxEndIndex:Ya.collisionBoxArray.length,UC=Qv?Qv.boxStartIndex:Ya.collisionBoxArray.length,eq=Qv?Qv.boxEndIndex:Ya.collisionBoxArray.length,VC=If?If.boxStartIndex:Ya.collisionBoxArray.length,tq=If?If.boxEndIndex:Ya.collisionBoxArray.length,mp=-1,rb=(Ad,tp)=>Ad&&Ad.circleDiameter?Math.max(Ad.circleDiameter,tp):tp;mp=rb(Gp,mp),mp=rb(oc,mp),mp=rb(Qv,mp),mp=rb(If,mp);let Hw=mp>-1?1:0;Hw&&(mp*=I1/kl),Ya.glyphOffsetArray.length>=E1.MAX_GLYPHS&&T(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),qu.sortKey!==void 0&&Ya.addToSortKeyRanges(Ya.symbolInstances.length,qu.sortKey);let bS=zC(ch,qu,qc),[rq,iq]=function(Ad,tp){let hm=Ad.length,Gd=tp==null?void 0:tp.values;if((Gd==null?void 0:Gd.length)>0)for(let Sd=0;Sd<Gd.length;Sd+=2){let yp=Gd[Sd+1];Ad.emplaceBack(i.aq[Gd[Sd]],yp[0],yp[1])}return[hm,Ad.length]}(Ya.textAnchorOffsets,bS);Ya.symbolInstances.emplaceBack(Uo.x,Uo.y,g0.right>=0?g0.right:-1,g0.center>=0?g0.center:-1,g0.left>=0?g0.left:-1,g0.vertical||-1,xS,Uw,hy,Q9,Vw,m0,cv,UC,eq,VC,tq,Vd,uv,R1,ep,gg,Hw,0,fh,mp,rq,iq)}(R,bo,Tn,D,j,te,$a,R.layers[0],R.collisionBoxArray,S.index,S.sourceLayerIndex,R.index,$r,[ki,ki,ki,ki],Va,Ze,Di,Zi,Io,sr,S,ue,at,Tt,ve)};if(La===\"line\")for(let Tn of kC(S.geometry,0,0,za,za)){let bo=Z9(Tn,pi,ta,D.vertical||Tr,j,24,ni,R.overscaling,za);for(let Ya of bo)Tr&&J9(R,Tr.text,Hn,Ya)||Xa(Tn,Ya)}else if(La===\"line-center\"){for(let Tn of S.geometry)if(Tn.length>1){let bo=W9(Tn,ta,D.vertical||Tr,j,24,ni);bo&&Xa(Tn,bo)}}else if(S.type===\"Polygon\")for(let Tn of Of(S.geometry,0)){let bo=X9(Tn,16);Xa(Tn[0],new vg(bo.x,bo.y,0))}else if(S.type===\"LineString\")for(let Tn of S.geometry)Xa(Tn,new vg(Tn[0].x,Tn[0].y,0));else if(S.type===\"Point\")for(let Tn of S.geometry)for(let bo of Tn)Xa([bo],new vg(bo.x,bo.y,0))}function FC(R,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr){let Pr=function(Di,pi,ki,Zi,ta,Va,Io,La){let Hn=Zi.layout.get(\"text-rotate\").evaluate(Va,{})*Math.PI/180,lo=[];for(let $a of pi.positionedLines)for(let Xa of $a.positionedGlyphs){if(!Xa.rect)continue;let Tn=Xa.rect||{},bo=hC+1,Ya=!0,Uo=1,wu=0,hu=(ta||La)&&Xa.vertical,uh=Xa.metrics.advance*Xa.scale/2;if(La&&pi.verticalizable&&(wu=$a.lineOffset/2-(Xa.imageName?-(kl-Xa.metrics.width*Xa.scale)/2:(Xa.scale-1)*kl)),Xa.imageName){let Cl=Io[Xa.imageName];Ya=Cl.sdf,Uo=Cl.pixelRatio,bo=wd/Uo}let $v=ta?[Xa.x+uh,Xa.y]:[0,0],td=ta?[0,0]:[Xa.x+uh+ki[0],Xa.y+ki[1]-wu],ch=[0,0];hu&&(ch=td,td=[0,0]);let Ud=Xa.metrics.isDoubleResolution?2:1,Vd=(Xa.metrics.left-bo)*Xa.scale-uh+td[0],Hd=(-Xa.metrics.top-bo)*Xa.scale+td[1],rf=Vd+Tn.w/Ud*Xa.scale/Uo,fh=Hd+Tn.h/Ud*Xa.scale/Uo,Td=new u(Vd,Hd),rd=new u(rf,Hd),Dh=new u(Vd,fh),xf=new u(rf,fh);if(hu){let Cl=new u(-uh,uh-lh),qu=-Math.PI/2,Tu=kl/2-uh,Rv=new u(5-lh-Tu,-(Xa.imageName?Tu:0)),qc=new u(...ch);Td._rotateAround(qu,Cl)._add(Rv)._add(qc),rd._rotateAround(qu,Cl)._add(Rv)._add(qc),Dh._rotateAround(qu,Cl)._add(Rv)._add(qc),xf._rotateAround(qu,Cl)._add(Rv)._add(qc)}if(Hn){let Cl=Math.sin(Hn),qu=Math.cos(Hn),Tu=[qu,-Cl,Cl,qu];Td._matMult(Tu),rd._matMult(Tu),Dh._matMult(Tu),xf._matMult(Tu)}let Iv=new u(0,0),lv=new u(0,0);lo.push({tl:Td,tr:rd,bl:Dh,br:xf,tex:Tn,writingMode:pi.writingMode,glyphOffset:$v,sectionIndex:Xa.sectionIndex,isSDF:Ya,pixelOffsetTL:Iv,pixelOffsetBR:lv,minFontScaleX:0,minFontScaleY:0})}return lo}(0,D,De,te,ue,ve,j,R.allowVerticalPlacement),$r=R.textSizeData,ni=null;$r.kind===\"source\"?(ni=[v0*te.layout.get(\"text-size\").evaluate(ve,{})],ni[0]>lm&&T(`${R.layerIds[0]}: Value for \"text-size\" is >= ${Wx}. Reduce your \"text-size\".`)):$r.kind===\"composite\"&&(ni=[v0*sr.compositeTextSizes[0].evaluate(ve,{},Tr),v0*sr.compositeTextSizes[1].evaluate(ve,{},Tr)],(ni[0]>lm||ni[1]>lm)&&T(`${R.layerIds[0]}: Value for \"text-size\" is >= ${Wx}. Reduce your \"text-size\".`)),R.addSymbols(R.text,Pr,ni,De,ue,ve,at,S,Ze.lineStartIndex,Ze.lineLength,Qt,Tr);for(let Di of Tt)Ft[Di]=R.text.placedSymbolArray.length-1;return 4*Pr.length}function qC(R){for(let S in R)return R[S];return null}function J9(R,S,D,j){let te=R.compareText;if(S in te){let ue=te[S];for(let ve=ue.length-1;ve>=0;ve--)if(j.dist(ue[ve])<D)return!0}else te[S]=[];return te[S].push(j),!1}let OC=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class gS{static from(S){if(!(S instanceof ArrayBuffer))throw new Error(\"Data must be an instance of ArrayBuffer.\");let[D,j]=new Uint8Array(S,0,2);if(D!==219)throw new Error(\"Data does not appear to be in a KDBush format.\");let te=j>>4;if(te!==1)throw new Error(`Got v${te} data when expected v1.`);let ue=OC[15&j];if(!ue)throw new Error(\"Unrecognized array type.\");let[ve]=new Uint16Array(S,2,1),[De]=new Uint32Array(S,4,1);return new gS(De,ve,ue,S)}constructor(S,D=64,j=Float64Array,te){if(isNaN(S)||S<0)throw new Error(`Unpexpected numItems value: ${S}.`);this.numItems=+S,this.nodeSize=Math.min(Math.max(+D,2),65535),this.ArrayType=j,this.IndexArrayType=S<65536?Uint16Array:Uint32Array;let ue=OC.indexOf(this.ArrayType),ve=2*S*this.ArrayType.BYTES_PER_ELEMENT,De=S*this.IndexArrayType.BYTES_PER_ELEMENT,Ze=(8-De%8)%8;if(ue<0)throw new Error(`Unexpected typed array class: ${j}.`);te&&te instanceof ArrayBuffer?(this.data=te,this.ids=new this.IndexArrayType(this.data,8,S),this.coords=new this.ArrayType(this.data,8+De+Ze,2*S),this._pos=2*S,this._finished=!0):(this.data=new ArrayBuffer(8+ve+De+Ze),this.ids=new this.IndexArrayType(this.data,8,S),this.coords=new this.ArrayType(this.data,8+De+Ze,2*S),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+ue]),new Uint16Array(this.data,2,1)[0]=D,new Uint32Array(this.data,4,1)[0]=S)}add(S,D){let j=this._pos>>1;return this.ids[j]=j,this.coords[this._pos++]=S,this.coords[this._pos++]=D,j}finish(){let S=this._pos>>1;if(S!==this.numItems)throw new Error(`Added ${S} items when expected ${this.numItems}.`);return Ow(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(S,D,j,te){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:ue,coords:ve,nodeSize:De}=this,Ze=[0,ue.length-1,0],at=[];for(;Ze.length;){let Tt=Ze.pop()||0,Ft=Ze.pop()||0,Qt=Ze.pop()||0;if(Ft-Qt<=De){for(let $r=Qt;$r<=Ft;$r++){let ni=ve[2*$r],Di=ve[2*$r+1];ni>=S&&ni<=j&&Di>=D&&Di<=te&&at.push(ue[$r])}continue}let sr=Qt+Ft>>1,Tr=ve[2*sr],Pr=ve[2*sr+1];Tr>=S&&Tr<=j&&Pr>=D&&Pr<=te&&at.push(ue[sr]),(Tt===0?S<=Tr:D<=Pr)&&(Ze.push(Qt),Ze.push(sr-1),Ze.push(1-Tt)),(Tt===0?j>=Tr:te>=Pr)&&(Ze.push(sr+1),Ze.push(Ft),Ze.push(1-Tt))}return at}within(S,D,j){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:te,coords:ue,nodeSize:ve}=this,De=[0,te.length-1,0],Ze=[],at=j*j;for(;De.length;){let Tt=De.pop()||0,Ft=De.pop()||0,Qt=De.pop()||0;if(Ft-Qt<=ve){for(let $r=Qt;$r<=Ft;$r++)NC(ue[2*$r],ue[2*$r+1],S,D)<=at&&Ze.push(te[$r]);continue}let sr=Qt+Ft>>1,Tr=ue[2*sr],Pr=ue[2*sr+1];NC(Tr,Pr,S,D)<=at&&Ze.push(te[sr]),(Tt===0?S-j<=Tr:D-j<=Pr)&&(De.push(Qt),De.push(sr-1),De.push(1-Tt)),(Tt===0?S+j>=Tr:D+j>=Pr)&&(De.push(sr+1),De.push(Ft),De.push(1-Tt))}return Ze}}function Ow(R,S,D,j,te,ue){if(te-j<=D)return;let ve=j+te>>1;BC(R,S,ve,j,te,ue),Ow(R,S,D,j,ve-1,1-ue),Ow(R,S,D,ve+1,te,1-ue)}function BC(R,S,D,j,te,ue){for(;te>j;){if(te-j>600){let at=te-j+1,Tt=D-j+1,Ft=Math.log(at),Qt=.5*Math.exp(2*Ft/3),sr=.5*Math.sqrt(Ft*Qt*(at-Qt)/at)*(Tt-at/2<0?-1:1);BC(R,S,D,Math.max(j,Math.floor(D-Tt*Qt/at+sr)),Math.min(te,Math.floor(D+(at-Tt)*Qt/at+sr)),ue)}let ve=S[2*D+ue],De=j,Ze=te;for(eb(R,S,j,D),S[2*te+ue]>ve&&eb(R,S,j,te);De<Ze;){for(eb(R,S,De,Ze),De++,Ze--;S[2*De+ue]<ve;)De++;for(;S[2*Ze+ue]>ve;)Ze--}S[2*j+ue]===ve?eb(R,S,j,Ze):(Ze++,eb(R,S,Ze,te)),Ze<=D&&(j=Ze+1),D<=Ze&&(te=Ze-1)}}function eb(R,S,D,j){mS(R,D,j),mS(S,2*D,2*j),mS(S,2*D+1,2*j+1)}function mS(R,S,D){let j=R[S];R[S]=R[D],R[D]=j}function NC(R,S,D,j){let te=R-D,ue=S-j;return te*te+ue*ue}var Bw;i.bg=void 0,(Bw=i.bg||(i.bg={})).create=\"create\",Bw.load=\"load\",Bw.fullLoad=\"fullLoad\";let tb=null,Gf=[],yS=1e3/60,_S=\"loadTime\",Nw=\"fullLoadTime\",$9={mark(R){performance.mark(R)},frame(R){let S=R;tb!=null&&Gf.push(S-tb),tb=S},clearMetrics(){tb=null,Gf=[],performance.clearMeasures(_S),performance.clearMeasures(Nw);for(let R in i.bg)performance.clearMarks(i.bg[R])},getPerformanceMetrics(){performance.measure(_S,i.bg.create,i.bg.load),performance.measure(Nw,i.bg.create,i.bg.fullLoad);let R=performance.getEntriesByName(_S)[0].duration,S=performance.getEntriesByName(Nw)[0].duration,D=Gf.length,j=1/(Gf.reduce((ue,ve)=>ue+ve,0)/D/1e3),te=Gf.filter(ue=>ue>yS).reduce((ue,ve)=>ue+(ve-yS)/yS,0);return{loadTime:R,fullLoadTime:S,fps:j,percentDroppedFrames:te/(D+te)*100,totalFrames:D}}};i.$=class extends Ot{},i.A=Ln,i.B=Fi,i.C=function(R){if(V==null){let S=R.navigator?R.navigator.userAgent:null;V=!!R.safari||!(!S||!(/\\b(iPad|iPhone|iPod)\\b/.test(S)||S.match(\"Safari\")&&!S.match(\"Chrome\")))}return V},i.D=Da,i.E=Re,i.F=class{constructor(R,S){this.target=R,this.mapId=S,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new uS(()=>this.process()),this.subscription=function(D,j,te,ue){return D.addEventListener(j,te,!1),{unsubscribe:()=>{D.removeEventListener(j,te,!1)}}}(this.target,\"message\",D=>this.receive(D)),this.globalScope=q(self)?R:window}registerMessageHandler(R,S){this.messageHandlers[R]=S}sendAsync(R,S){return new Promise((D,j)=>{let te=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[te]={resolve:D,reject:j},S&&S.signal.addEventListener(\"abort\",()=>{delete this.resolveRejects[te];let De={id:te,type:\"<cancel>\",origin:location.origin,targetMapId:R.targetMapId,sourceMapId:this.mapId};this.target.postMessage(De)},{once:!0});let ue=[],ve=Object.assign(Object.assign({},R),{id:te,sourceMapId:this.mapId,origin:location.origin,data:Ea(R.data,ue)});this.target.postMessage(ve,{transfer:ue})})}receive(R){let S=R.data,D=S.id;if(!(S.origin!==\"file://\"&&location.origin!==\"file://\"&&S.origin!==\"resource://android\"&&location.origin!==\"resource://android\"&&S.origin!==location.origin||S.targetMapId&&this.mapId!==S.targetMapId)){if(S.type===\"<cancel>\"){delete this.tasks[D];let j=this.abortControllers[D];return delete this.abortControllers[D],void(j&&j.abort())}if(q(self)||S.mustQueue)return this.tasks[D]=S,this.taskQueue.push(D),void this.invoker.trigger();this.processTask(D,S)}}process(){if(this.taskQueue.length===0)return;let R=this.taskQueue.shift(),S=this.tasks[R];delete this.tasks[R],this.taskQueue.length>0&&this.invoker.trigger(),S&&this.processTask(R,S)}processTask(R,S){return a(this,void 0,void 0,function*(){if(S.type===\"<response>\"){let te=this.resolveRejects[R];return delete this.resolveRejects[R],te?void(S.error?te.reject(qa(S.error)):te.resolve(qa(S.data))):void 0}if(!this.messageHandlers[S.type])return void this.completeTask(R,new Error(`Could not find a registered handler for ${S.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(\", \")}`));let D=qa(S.data),j=new AbortController;this.abortControllers[R]=j;try{let te=yield this.messageHandlers[S.type](S.sourceMapId,D,j);this.completeTask(R,null,te)}catch(te){this.completeTask(R,te)}})}completeTask(R,S,D){let j=[];delete this.abortControllers[R];let te={id:R,type:\"<response>\",sourceMapId:this.mapId,origin:location.origin,error:S?Ea(S):null,data:Ea(D,j)};this.target.postMessage(te,{transfer:j})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},i.G=ke,i.H=function(){var R=new Ln(16);return Ln!=Float32Array&&(R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[11]=0,R[12]=0,R[13]=0,R[14]=0),R[0]=1,R[5]=1,R[10]=1,R[15]=1,R},i.I=kw,i.J=function(R,S,D){var j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr=D[0],$r=D[1],ni=D[2];return S===R?(R[12]=S[0]*Pr+S[4]*$r+S[8]*ni+S[12],R[13]=S[1]*Pr+S[5]*$r+S[9]*ni+S[13],R[14]=S[2]*Pr+S[6]*$r+S[10]*ni+S[14],R[15]=S[3]*Pr+S[7]*$r+S[11]*ni+S[15]):(te=S[1],ue=S[2],ve=S[3],De=S[4],Ze=S[5],at=S[6],Tt=S[7],Ft=S[8],Qt=S[9],sr=S[10],Tr=S[11],R[0]=j=S[0],R[1]=te,R[2]=ue,R[3]=ve,R[4]=De,R[5]=Ze,R[6]=at,R[7]=Tt,R[8]=Ft,R[9]=Qt,R[10]=sr,R[11]=Tr,R[12]=j*Pr+De*$r+Ft*ni+S[12],R[13]=te*Pr+Ze*$r+Qt*ni+S[13],R[14]=ue*Pr+at*$r+sr*ni+S[14],R[15]=ve*Pr+Tt*$r+Tr*ni+S[15]),R},i.K=function(R,S,D){var j=D[0],te=D[1],ue=D[2];return R[0]=S[0]*j,R[1]=S[1]*j,R[2]=S[2]*j,R[3]=S[3]*j,R[4]=S[4]*te,R[5]=S[5]*te,R[6]=S[6]*te,R[7]=S[7]*te,R[8]=S[8]*ue,R[9]=S[9]*ue,R[10]=S[10]*ue,R[11]=S[11]*ue,R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15],R},i.L=gn,i.M=function(R,S){let D={};for(let j=0;j<S.length;j++){let te=S[j];te in R&&(D[te]=R[te])}return D},i.N=dg,i.O=zw,i.P=u,i.Q=wC,i.R=Jn,i.S=Jv,i.T=ac,i.U=x,i.V=b,i.W=G,i.X=za,i.Y=qe,i.Z=$x,i._=a,i.a=_e,i.a$=function(R,S){var D=R[0],j=R[1],te=R[2],ue=R[3],ve=R[4],De=R[5],Ze=R[6],at=R[7],Tt=R[8],Ft=R[9],Qt=R[10],sr=R[11],Tr=R[12],Pr=R[13],$r=R[14],ni=R[15],Di=S[0],pi=S[1],ki=S[2],Zi=S[3],ta=S[4],Va=S[5],Io=S[6],La=S[7],Hn=S[8],lo=S[9],$a=S[10],Xa=S[11],Tn=S[12],bo=S[13],Ya=S[14],Uo=S[15];return Math.abs(D-Di)<=ji*Math.max(1,Math.abs(D),Math.abs(Di))&&Math.abs(j-pi)<=ji*Math.max(1,Math.abs(j),Math.abs(pi))&&Math.abs(te-ki)<=ji*Math.max(1,Math.abs(te),Math.abs(ki))&&Math.abs(ue-Zi)<=ji*Math.max(1,Math.abs(ue),Math.abs(Zi))&&Math.abs(ve-ta)<=ji*Math.max(1,Math.abs(ve),Math.abs(ta))&&Math.abs(De-Va)<=ji*Math.max(1,Math.abs(De),Math.abs(Va))&&Math.abs(Ze-Io)<=ji*Math.max(1,Math.abs(Ze),Math.abs(Io))&&Math.abs(at-La)<=ji*Math.max(1,Math.abs(at),Math.abs(La))&&Math.abs(Tt-Hn)<=ji*Math.max(1,Math.abs(Tt),Math.abs(Hn))&&Math.abs(Ft-lo)<=ji*Math.max(1,Math.abs(Ft),Math.abs(lo))&&Math.abs(Qt-$a)<=ji*Math.max(1,Math.abs(Qt),Math.abs($a))&&Math.abs(sr-Xa)<=ji*Math.max(1,Math.abs(sr),Math.abs(Xa))&&Math.abs(Tr-Tn)<=ji*Math.max(1,Math.abs(Tr),Math.abs(Tn))&&Math.abs(Pr-bo)<=ji*Math.max(1,Math.abs(Pr),Math.abs(bo))&&Math.abs($r-Ya)<=ji*Math.max(1,Math.abs($r),Math.abs(Ya))&&Math.abs(ni-Uo)<=ji*Math.max(1,Math.abs(ni),Math.abs(Uo))},i.a0=We,i.a1=fS,i.a2=er,i.a3=R=>{let S=window.document.createElement(\"video\");return S.muted=!0,new Promise(D=>{S.onloadstart=()=>{D(S)};for(let j of R){let te=window.document.createElement(\"source\");Ee(j)||(S.crossOrigin=\"Anonymous\"),te.src=j,S.appendChild(te)}})},i.a4=function(){return _++},i.a5=Qi,i.a6=E1,i.a7=Pc,i.a8=xl,i.a9=hS,i.aA=function(R){if(R.type===\"custom\")return new lS(R);switch(R.type){case\"background\":return new G9(R);case\"circle\":return new wn(R);case\"fill\":return new gr(R);case\"fill-extrusion\":return new Ev(R);case\"heatmap\":return new Po(R);case\"hillshade\":return new $c(R);case\"line\":return new ay(R);case\"raster\":return new Kx(R);case\"symbol\":return new uy(R)}},i.aB=g,i.aC=function(R,S){if(!R)return[{command:\"setStyle\",args:[S]}];let D=[];try{if(!ct(R.version,S.version))return[{command:\"setStyle\",args:[S]}];ct(R.center,S.center)||D.push({command:\"setCenter\",args:[S.center]}),ct(R.zoom,S.zoom)||D.push({command:\"setZoom\",args:[S.zoom]}),ct(R.bearing,S.bearing)||D.push({command:\"setBearing\",args:[S.bearing]}),ct(R.pitch,S.pitch)||D.push({command:\"setPitch\",args:[S.pitch]}),ct(R.sprite,S.sprite)||D.push({command:\"setSprite\",args:[S.sprite]}),ct(R.glyphs,S.glyphs)||D.push({command:\"setGlyphs\",args:[S.glyphs]}),ct(R.transition,S.transition)||D.push({command:\"setTransition\",args:[S.transition]}),ct(R.light,S.light)||D.push({command:\"setLight\",args:[S.light]}),ct(R.terrain,S.terrain)||D.push({command:\"setTerrain\",args:[S.terrain]}),ct(R.sky,S.sky)||D.push({command:\"setSky\",args:[S.sky]}),ct(R.projection,S.projection)||D.push({command:\"setProjection\",args:[S.projection]});let j={},te=[];(function(ve,De,Ze,at){let Tt;for(Tt in De=De||{},ve=ve||{})Object.prototype.hasOwnProperty.call(ve,Tt)&&(Object.prototype.hasOwnProperty.call(De,Tt)||ot(Tt,Ze,at));for(Tt in De)Object.prototype.hasOwnProperty.call(De,Tt)&&(Object.prototype.hasOwnProperty.call(ve,Tt)?ct(ve[Tt],De[Tt])||(ve[Tt].type===\"geojson\"&&De[Tt].type===\"geojson\"&&kt(ve,De,Tt)?qt(Ze,{command:\"setGeoJSONSourceData\",args:[Tt,De[Tt].data]}):Rt(Tt,De,Ze,at)):rt(Tt,De,Ze))})(R.sources,S.sources,te,j);let ue=[];R.layers&&R.layers.forEach(ve=>{\"source\"in ve&&j[ve.source]?D.push({command:\"removeLayer\",args:[ve.id]}):ue.push(ve)}),D=D.concat(te),function(ve,De,Ze){De=De||[];let at=(ve=ve||[]).map(Yt),Tt=De.map(Yt),Ft=ve.reduce(xr,{}),Qt=De.reduce(xr,{}),sr=at.slice(),Tr=Object.create(null),Pr,$r,ni,Di,pi;for(let ki=0,Zi=0;ki<at.length;ki++)Pr=at[ki],Object.prototype.hasOwnProperty.call(Qt,Pr)?Zi++:(qt(Ze,{command:\"removeLayer\",args:[Pr]}),sr.splice(sr.indexOf(Pr,Zi),1));for(let ki=0,Zi=0;ki<Tt.length;ki++)Pr=Tt[Tt.length-1-ki],sr[sr.length-1-ki]!==Pr&&(Object.prototype.hasOwnProperty.call(Ft,Pr)?(qt(Ze,{command:\"removeLayer\",args:[Pr]}),sr.splice(sr.lastIndexOf(Pr,sr.length-Zi),1)):Zi++,Di=sr[sr.length-ki],qt(Ze,{command:\"addLayer\",args:[Qt[Pr],Di]}),sr.splice(sr.length-ki,0,Pr),Tr[Pr]=!0);for(let ki=0;ki<Tt.length;ki++)if(Pr=Tt[ki],$r=Ft[Pr],ni=Qt[Pr],!Tr[Pr]&&!ct($r,ni))if(ct($r.source,ni.source)&&ct($r[\"source-layer\"],ni[\"source-layer\"])&&ct($r.type,ni.type)){for(pi in Ct($r.layout,ni.layout,Ze,Pr,null,\"setLayoutProperty\"),Ct($r.paint,ni.paint,Ze,Pr,null,\"setPaintProperty\"),ct($r.filter,ni.filter)||qt(Ze,{command:\"setFilter\",args:[Pr,ni.filter]}),ct($r.minzoom,ni.minzoom)&&ct($r.maxzoom,ni.maxzoom)||qt(Ze,{command:\"setLayerZoomRange\",args:[Pr,ni.minzoom,ni.maxzoom]}),$r)Object.prototype.hasOwnProperty.call($r,pi)&&pi!==\"layout\"&&pi!==\"paint\"&&pi!==\"filter\"&&pi!==\"metadata\"&&pi!==\"minzoom\"&&pi!==\"maxzoom\"&&(pi.indexOf(\"paint.\")===0?Ct($r[pi],ni[pi],Ze,Pr,pi.slice(6),\"setPaintProperty\"):ct($r[pi],ni[pi])||qt(Ze,{command:\"setLayerProperty\",args:[Pr,pi,ni[pi]]}));for(pi in ni)Object.prototype.hasOwnProperty.call(ni,pi)&&!Object.prototype.hasOwnProperty.call($r,pi)&&pi!==\"layout\"&&pi!==\"paint\"&&pi!==\"filter\"&&pi!==\"metadata\"&&pi!==\"minzoom\"&&pi!==\"maxzoom\"&&(pi.indexOf(\"paint.\")===0?Ct($r[pi],ni[pi],Ze,Pr,pi.slice(6),\"setPaintProperty\"):ct($r[pi],ni[pi])||qt(Ze,{command:\"setLayerProperty\",args:[Pr,pi,ni[pi]]}))}else qt(Ze,{command:\"removeLayer\",args:[Pr]}),Di=sr[sr.lastIndexOf(Pr)+1],qt(Ze,{command:\"addLayer\",args:[ni,Di]})}(ue,S.layers,D)}catch(j){console.warn(\"Unable to compute style diff:\",j),D=[{command:\"setStyle\",args:[S]}]}return D},i.aD=function(R){let S=[],D=R.id;return D===void 0&&S.push({message:`layers.${D}: missing required property \"id\"`}),R.render===void 0&&S.push({message:`layers.${D}: missing required method \"render\"`}),R.renderingMode&&R.renderingMode!==\"2d\"&&R.renderingMode!==\"3d\"&&S.push({message:`layers.${D}: property \"renderingMode\" must be either \"2d\" or \"3d\"`}),S},i.aE=function R(S,D){if(Array.isArray(S)){if(!Array.isArray(D)||S.length!==D.length)return!1;for(let j=0;j<S.length;j++)if(!R(S[j],D[j]))return!1;return!0}if(typeof S==\"object\"&&S!==null&&D!==null){if(typeof D!=\"object\"||Object.keys(S).length!==Object.keys(D).length)return!1;for(let j in S)if(!R(S[j],D[j]))return!1;return!0}return S===D},i.aF=C,i.aG=M,i.aH=class extends ci{constructor(R,S){super(R,S),this.current=0}set(R){this.current!==R&&(this.current=R,this.gl.uniform1i(this.location,R))}},i.aI=Jr,i.aJ=class extends ci{constructor(R,S){super(R,S),this.current=En}set(R){if(R[12]!==this.current[12]||R[0]!==this.current[0])return this.current=R,void this.gl.uniformMatrix4fv(this.location,!1,R);for(let S=1;S<16;S++)if(R[S]!==this.current[S]){this.current=R,this.gl.uniformMatrix4fv(this.location,!1,R);break}}},i.aK=un,i.aL=dn,i.aM=Zt,i.aN=class extends ci{constructor(R,S){super(R,S),this.current=[0,0,0]}set(R){R[0]===this.current[0]&&R[1]===this.current[1]&&R[2]===this.current[2]||(this.current=R,this.gl.uniform3f(this.location,R[0],R[1],R[2]))}},i.aO=class extends ci{constructor(R,S){super(R,S),this.current=[0,0]}set(R){R[0]===this.current[0]&&R[1]===this.current[1]||(this.current=R,this.gl.uniform2f(this.location,R[0],R[1]))}},i.aP=function(R,S,D,j,te,ue,ve){var De=1/(S-D),Ze=1/(j-te),at=1/(ue-ve);return R[0]=-2*De,R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=-2*Ze,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[10]=2*at,R[11]=0,R[12]=(S+D)*De,R[13]=(te+j)*Ze,R[14]=(ve+ue)*at,R[15]=1,R},i.aQ=Kn,i.aR=class extends et{},i.aS=im,i.aT=class extends Dt{},i.aU=_o,i.aV=function(R){return R<=1?1:Math.pow(2,Math.ceil(Math.log(R)/Math.LN2))},i.aW=Oa,i.aX=yo,i.aY=oe,i.aZ=class extends di{},i.a_=function(R,S){return R[0]===S[0]&&R[1]===S[1]&&R[2]===S[2]&&R[3]===S[3]&&R[4]===S[4]&&R[5]===S[5]&&R[6]===S[6]&&R[7]===S[7]&&R[8]===S[8]&&R[9]===S[9]&&R[10]===S[10]&&R[11]===S[11]&&R[12]===S[12]&&R[13]===S[13]&&R[14]===S[14]&&R[15]===S[15]},i.aa=function(R){let S={};if(R.replace(/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,(D,j,te,ue)=>{let ve=te||ue;return S[j]=!ve||ve.toLowerCase(),\"\"}),S[\"max-age\"]){let D=parseInt(S[\"max-age\"],10);isNaN(D)?delete S[\"max-age\"]:S[\"max-age\"]=D}return S},i.ab=function(R,S){let D=[];for(let j in R)j in S||D.push(j);return D},i.ac=k,i.ad=function(R,S,D){var j=Math.sin(D),te=Math.cos(D),ue=S[0],ve=S[1],De=S[2],Ze=S[3],at=S[4],Tt=S[5],Ft=S[6],Qt=S[7];return S!==R&&(R[8]=S[8],R[9]=S[9],R[10]=S[10],R[11]=S[11],R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15]),R[0]=ue*te+at*j,R[1]=ve*te+Tt*j,R[2]=De*te+Ft*j,R[3]=Ze*te+Qt*j,R[4]=at*te-ue*j,R[5]=Tt*te-ve*j,R[6]=Ft*te-De*j,R[7]=Qt*te-Ze*j,R},i.ae=function(R){var S=new Ln(16);return S[0]=R[0],S[1]=R[1],S[2]=R[2],S[3]=R[3],S[4]=R[4],S[5]=R[5],S[6]=R[6],S[7]=R[7],S[8]=R[8],S[9]=R[9],S[10]=R[10],S[11]=R[11],S[12]=R[12],S[13]=R[13],S[14]=R[14],S[15]=R[15],S},i.af=Za,i.ag=function(R,S){let D=0,j=0;if(R.kind===\"constant\")j=R.layoutSize;else if(R.kind!==\"source\"){let{interpolationType:te,minZoom:ue,maxZoom:ve}=R,De=te?k(xo.interpolationFactor(te,S,ue,ve),0,1):0;R.kind===\"camera\"?j=Mo.number(R.minSize,R.maxSize,De):D=De}return{uSizeT:D,uSize:j}},i.ai=function(R,{uSize:S,uSizeT:D},{lowerSize:j,upperSize:te}){return R.kind===\"source\"?j/v0:R.kind===\"composite\"?Mo.number(j/v0,te/v0,D):S},i.aj=nS,i.ak=function(R,S,D,j){let te=S.y-R.y,ue=S.x-R.x,ve=j.y-D.y,De=j.x-D.x,Ze=ve*ue-De*te;if(Ze===0)return null;let at=(De*(R.y-D.y)-ve*(R.x-D.x))/Ze;return new u(R.x+at*ue,R.y+at*te)},i.al=kC,i.am=xc,i.an=Un,i.ao=function(R){let S=1/0,D=1/0,j=-1/0,te=-1/0;for(let ue of R)S=Math.min(S,ue.x),D=Math.min(D,ue.y),j=Math.max(j,ue.x),te=Math.max(te,ue.y);return[S,D,j,te]},i.ap=kl,i.ar=iS,i.as=function(R,S){var D=S[0],j=S[1],te=S[2],ue=S[3],ve=S[4],De=S[5],Ze=S[6],at=S[7],Tt=S[8],Ft=S[9],Qt=S[10],sr=S[11],Tr=S[12],Pr=S[13],$r=S[14],ni=S[15],Di=D*De-j*ve,pi=D*Ze-te*ve,ki=D*at-ue*ve,Zi=j*Ze-te*De,ta=j*at-ue*De,Va=te*at-ue*Ze,Io=Tt*Pr-Ft*Tr,La=Tt*$r-Qt*Tr,Hn=Tt*ni-sr*Tr,lo=Ft*$r-Qt*Pr,$a=Ft*ni-sr*Pr,Xa=Qt*ni-sr*$r,Tn=Di*Xa-pi*$a+ki*lo+Zi*Hn-ta*La+Va*Io;return Tn?(R[0]=(De*Xa-Ze*$a+at*lo)*(Tn=1/Tn),R[1]=(te*$a-j*Xa-ue*lo)*Tn,R[2]=(Pr*Va-$r*ta+ni*Zi)*Tn,R[3]=(Qt*ta-Ft*Va-sr*Zi)*Tn,R[4]=(Ze*Hn-ve*Xa-at*La)*Tn,R[5]=(D*Xa-te*Hn+ue*La)*Tn,R[6]=($r*ki-Tr*Va-ni*pi)*Tn,R[7]=(Tt*Va-Qt*ki+sr*pi)*Tn,R[8]=(ve*$a-De*Hn+at*Io)*Tn,R[9]=(j*Hn-D*$a-ue*Io)*Tn,R[10]=(Tr*ta-Pr*ki+ni*Di)*Tn,R[11]=(Ft*ki-Tt*ta-sr*Di)*Tn,R[12]=(De*La-ve*lo-Ze*Io)*Tn,R[13]=(D*lo-j*La+te*Io)*Tn,R[14]=(Pr*pi-Tr*Zi-$r*Di)*Tn,R[15]=(Tt*Zi-Ft*pi+Qt*Di)*Tn,R):null},i.at=pS,i.au=Iw,i.av=gS,i.aw=function(){let R={},S=ce.$version;for(let D in ce.$root){let j=ce.$root[D];if(j.required){let te=null;te=D===\"version\"?S:j.type===\"array\"?[]:{},te!=null&&(R[D]=te)}}return R},i.ax=Cn,i.ay=ie,i.az=function(R){R=R.slice();let S=Object.create(null);for(let D=0;D<R.length;D++)S[R[D].id]=R[D];for(let D=0;D<R.length;D++)\"ref\"in R[D]&&(R[D]=nt(R[D],S[R[D].ref]));return R},i.b=H,i.b0=function(R,S){return R[0]=S[0],R[1]=S[1],R[2]=S[2],R[3]=S[3],R[4]=S[4],R[5]=S[5],R[6]=S[6],R[7]=S[7],R[8]=S[8],R[9]=S[9],R[10]=S[10],R[11]=S[11],R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15],R},i.b1=function(R,S,D){return R[0]=S[0]*D[0],R[1]=S[1]*D[1],R[2]=S[2]*D[2],R[3]=S[3]*D[3],R},i.b2=function(R,S){return R[0]*S[0]+R[1]*S[1]+R[2]*S[2]+R[3]*S[3]},i.b3=A,i.b4=TC,i.b5=Fw,i.b6=function(R,S,D,j,te){var ue,ve=1/Math.tan(S/2);return R[0]=ve/D,R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=ve,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[11]=-1,R[12]=0,R[13]=0,R[15]=0,te!=null&&te!==1/0?(R[10]=(te+j)*(ue=1/(j-te)),R[14]=2*te*j*ue):(R[10]=-1,R[14]=-2*j),R},i.b7=function(R,S,D){var j=Math.sin(D),te=Math.cos(D),ue=S[4],ve=S[5],De=S[6],Ze=S[7],at=S[8],Tt=S[9],Ft=S[10],Qt=S[11];return S!==R&&(R[0]=S[0],R[1]=S[1],R[2]=S[2],R[3]=S[3],R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15]),R[4]=ue*te+at*j,R[5]=ve*te+Tt*j,R[6]=De*te+Ft*j,R[7]=Ze*te+Qt*j,R[8]=at*te-ue*j,R[9]=Tt*te-ve*j,R[10]=Ft*te-De*j,R[11]=Qt*te-Ze*j,R},i.b8=p,i.b9=E,i.bA=bd,i.bB=function(R){return R.message===re},i.bC=fl,i.bD=vs,i.ba=function(R){return R*Math.PI/180},i.bb=function(R,S){let{x:D,y:j}=$x.fromLngLat(S);return!(R<0||R>25||j<0||j>=1||D<0||D>=1)},i.bc=function(R,S){return R[0]=S[0],R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=S[1],R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[10]=S[2],R[11]=0,R[12]=0,R[13]=0,R[14]=0,R[15]=1,R},i.bd=class extends yt{},i.be=cS,i.bf=$9,i.bh=ge,i.bi=function(R,S){_e.REGISTERED_PROTOCOLS[R]=S},i.bj=function(R){delete _e.REGISTERED_PROTOCOLS[R]},i.bk=function(R,S){let D={};for(let te=0;te<R.length;te++){let ue=S&&S[R[te].id]||md(R[te]);S&&(S[R[te].id]=ue);let ve=D[ue];ve||(ve=D[ue]=[]),ve.push(R[te])}let j=[];for(let te in D)j.push(D[te]);return j},i.bl=mi,i.bm=SC,i.bn=cy,i.bo=Cw,i.bp=function(R){R.bucket.createArrays(),R.bucket.tilePixelRatio=za/(512*R.bucket.overscaling),R.bucket.compareText={},R.bucket.iconsNeedLinear=!1;let S=R.bucket.layers[0],D=S.layout,j=S._unevaluatedLayout._values,te={layoutIconSize:j[\"icon-size\"].possiblyEvaluate(new Ko(R.bucket.zoom+1),R.canonical),layoutTextSize:j[\"text-size\"].possiblyEvaluate(new Ko(R.bucket.zoom+1),R.canonical),textMaxSize:j[\"text-size\"].possiblyEvaluate(new Ko(18))};if(R.bucket.textSizeData.kind===\"composite\"){let{minZoom:at,maxZoom:Tt}=R.bucket.textSizeData;te.compositeTextSizes=[j[\"text-size\"].possiblyEvaluate(new Ko(at),R.canonical),j[\"text-size\"].possiblyEvaluate(new Ko(Tt),R.canonical)]}if(R.bucket.iconSizeData.kind===\"composite\"){let{minZoom:at,maxZoom:Tt}=R.bucket.iconSizeData;te.compositeIconSizes=[j[\"icon-size\"].possiblyEvaluate(new Ko(at),R.canonical),j[\"icon-size\"].possiblyEvaluate(new Ko(Tt),R.canonical)]}let ue=D.get(\"text-line-height\")*kl,ve=D.get(\"text-rotation-alignment\")!==\"viewport\"&&D.get(\"symbol-placement\")!==\"point\",De=D.get(\"text-keep-upright\"),Ze=D.get(\"text-size\");for(let at of R.bucket.features){let Tt=D.get(\"text-font\").evaluate(at,{},R.canonical).join(\",\"),Ft=Ze.evaluate(at,{},R.canonical),Qt=te.layoutTextSize.evaluate(at,{},R.canonical),sr=te.layoutIconSize.evaluate(at,{},R.canonical),Tr={horizontal:{},vertical:void 0},Pr=at.text,$r,ni=[0,0];if(Pr){let ki=Pr.toString(),Zi=D.get(\"text-letter-spacing\").evaluate(at,{},R.canonical)*kl,ta=mo(ki)?Zi:0,Va=D.get(\"text-anchor\").evaluate(at,{},R.canonical),Io=zC(S,at,R.canonical);if(!Io){let $a=D.get(\"text-radial-offset\").evaluate(at,{},R.canonical);ni=$a?vS(Va,[$a*kl,fy]):D.get(\"text-offset\").evaluate(at,{},R.canonical).map(Xa=>Xa*kl)}let La=ve?\"center\":D.get(\"text-justify\").evaluate(at,{},R.canonical),Hn=D.get(\"symbol-placement\")===\"point\"?D.get(\"text-max-width\").evaluate(at,{},R.canonical)*kl:1/0,lo=()=>{R.bucket.allowVerticalPlacement&&Ua(ki)&&(Tr.vertical=Gx(Pr,R.glyphMap,R.glyphPositions,R.imagePositions,Tt,Hn,ue,Va,\"left\",ta,ni,i.ah.vertical,!0,Qt,Ft))};if(!ve&&Io){let $a=new Set;if(La===\"auto\")for(let Tn=0;Tn<Io.values.length;Tn+=2)$a.add(pS(Io.values[Tn]));else $a.add(La);let Xa=!1;for(let Tn of $a)if(!Tr.horizontal[Tn])if(Xa)Tr.horizontal[Tn]=Tr.horizontal[0];else{let bo=Gx(Pr,R.glyphMap,R.glyphPositions,R.imagePositions,Tt,Hn,ue,\"center\",Tn,ta,ni,i.ah.horizontal,!1,Qt,Ft);bo&&(Tr.horizontal[Tn]=bo,Xa=bo.positionedLines.length===1)}lo()}else{La===\"auto\"&&(La=pS(Va));let $a=Gx(Pr,R.glyphMap,R.glyphPositions,R.imagePositions,Tt,Hn,ue,Va,La,ta,ni,i.ah.horizontal,!1,Qt,Ft);$a&&(Tr.horizontal[La]=$a),lo(),Ua(ki)&&ve&&De&&(Tr.vertical=Gx(Pr,R.glyphMap,R.glyphPositions,R.imagePositions,Tt,Hn,ue,Va,La,ta,ni,i.ah.vertical,!1,Qt,Ft))}}let Di=!1;if(at.icon&&at.icon.name){let ki=R.imageMap[at.icon.name];ki&&($r=jx(R.imagePositions[at.icon.name],D.get(\"icon-offset\").evaluate(at,{},R.canonical),D.get(\"icon-anchor\").evaluate(at,{},R.canonical)),Di=!!ki.sdf,R.bucket.sdfIcons===void 0?R.bucket.sdfIcons=Di:R.bucket.sdfIcons!==Di&&T(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),(ki.pixelRatio!==R.bucket.pixelRatio||D.get(\"icon-rotate\").constantOr(1)!==0)&&(R.bucket.iconsNeedLinear=!0))}let pi=qC(Tr.horizontal)||Tr.vertical;R.bucket.iconsInText=!!pi&&pi.iconsInText,(pi||$r)&&K9(R.bucket,at,Tr,$r,R.imageMap,te,Qt,sr,ni,Di,R.canonical)}R.showCollisionBoxes&&R.bucket.generateCollisionDebugBuffers()},i.bq=Kv,i.br=dr,i.bs=fo,i.bt=ei,i.bu=eS,i.bv=class{constructor(R){this._marks={start:[R.url,\"start\"].join(\"#\"),end:[R.url,\"end\"].join(\"#\"),measure:R.url.toString()},performance.mark(this._marks.start)}finish(){performance.mark(this._marks.end);let R=performance.getEntriesByName(this._marks.measure);return R.length===0&&(performance.measure(this._marks.measure,this._marks.start,this._marks.end),R=performance.getEntriesByName(this._marks.measure),performance.clearMarks(this._marks.start),performance.clearMarks(this._marks.end),performance.clearMeasures(this._marks.measure)),R}},i.bw=function(R,S,D,j,te){return a(this,void 0,void 0,function*(){if(b())try{return yield G(R,S,D,j,te)}catch(ue){}return function(ue,ve,De,Ze,at){let Tt=ue.width,Ft=ue.height;N&&W||(N=new OffscreenCanvas(Tt,Ft),W=N.getContext(\"2d\",{willReadFrequently:!0})),N.width=Tt,N.height=Ft,W.drawImage(ue,0,0,Tt,Ft);let Qt=W.getImageData(ve,De,Ze,at);return W.clearRect(0,0,Tt,Ft),Qt.data}(R,S,D,j,te)})},i.bx=AC,i.by=o,i.bz=s,i.c=ae,i.d=R=>a(void 0,void 0,void 0,function*(){if(R.byteLength===0)return createImageBitmap(new ImageData(1,1));let S=new Blob([new Uint8Array(R)],{type:\"image/png\"});try{return createImageBitmap(S)}catch(D){throw new Error(`Could not load image because of ${D.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),i.e=L,i.f=R=>new Promise((S,D)=>{let j=new Image;j.onload=()=>{S(j),URL.revokeObjectURL(j.src),j.onload=null,window.requestAnimationFrame(()=>{j.src=X})},j.onerror=()=>D(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.\"));let te=new Blob([new Uint8Array(R)],{type:\"image/png\"});j.src=R.byteLength?URL.createObjectURL(te):X}),i.g=Me,i.h=(R,S)=>Te(L(R,{type:\"json\"}),S),i.i=q,i.j=me,i.k=Ce,i.l=(R,S)=>Te(L(R,{type:\"arrayBuffer\"}),S),i.m=Te,i.n=function(R){return new eS(R).readFields(yQ,[])},i.o=Ao,i.p=rS,i.q=le,i.r=xi,i.s=Ee,i.t=Ti,i.u=fi,i.v=ce,i.w=T,i.x=function([R,S,D]){return S+=90,S*=Math.PI/180,D*=Math.PI/180,{x:R*Math.cos(S)*Math.sin(D),y:R*Math.sin(S)*Math.sin(D),z:R*Math.cos(D)}},i.y=Mo,i.z=Ko}),r(\"worker\",[\"./shared\"],function(i){\"use strict\";class a{constructor(Ne){this.keyCache={},Ne&&this.replace(Ne)}replace(Ne){this._layerConfigs={},this._layers={},this.update(Ne,[])}update(Ne,Ye){for(let Xe of Ne){this._layerConfigs[Xe.id]=Xe;let ht=this._layers[Xe.id]=i.aA(Xe);ht._featureFilter=i.a7(ht.filter),this.keyCache[Xe.id]&&delete this.keyCache[Xe.id]}for(let Xe of Ye)delete this.keyCache[Xe],delete this._layerConfigs[Xe],delete this._layers[Xe];this.familiesBySource={};let Ve=i.bk(Object.values(this._layerConfigs),this.keyCache);for(let Xe of Ve){let ht=Xe.map(Vt=>this._layers[Vt.id]),Le=ht[0];if(Le.visibility===\"none\")continue;let xe=Le.source||\"\",Se=this.familiesBySource[xe];Se||(Se=this.familiesBySource[xe]={});let lt=Le.sourceLayer||\"_geojsonTileLayer\",Gt=Se[lt];Gt||(Gt=Se[lt]=[]),Gt.push(ht)}}}class o{constructor(Ne){let Ye={},Ve=[];for(let xe in Ne){let Se=Ne[xe],lt=Ye[xe]={};for(let Gt in Se){let Vt=Se[+Gt];if(!Vt||Vt.bitmap.width===0||Vt.bitmap.height===0)continue;let ar={x:0,y:0,w:Vt.bitmap.width+2,h:Vt.bitmap.height+2};Ve.push(ar),lt[Gt]={rect:ar,metrics:Vt.metrics}}}let{w:Xe,h:ht}=i.p(Ve),Le=new i.o({width:Xe||1,height:ht||1});for(let xe in Ne){let Se=Ne[xe];for(let lt in Se){let Gt=Se[+lt];if(!Gt||Gt.bitmap.width===0||Gt.bitmap.height===0)continue;let Vt=Ye[xe][lt].rect;i.o.copy(Gt.bitmap,Le,{x:0,y:0},{x:Vt.x+1,y:Vt.y+1},Gt.bitmap)}}this.image=Le,this.positions=Ye}}i.bl(\"GlyphAtlas\",o);class s{constructor(Ne){this.tileID=new i.S(Ne.tileID.overscaledZ,Ne.tileID.wrap,Ne.tileID.canonical.z,Ne.tileID.canonical.x,Ne.tileID.canonical.y),this.uid=Ne.uid,this.zoom=Ne.zoom,this.pixelRatio=Ne.pixelRatio,this.tileSize=Ne.tileSize,this.source=Ne.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=Ne.showCollisionBoxes,this.collectResourceTiming=!!Ne.collectResourceTiming,this.returnDependencies=!!Ne.returnDependencies,this.promoteId=Ne.promoteId,this.inFlightDependencies=[]}parse(Ne,Ye,Ve,Xe){return i._(this,void 0,void 0,function*(){this.status=\"parsing\",this.data=Ne,this.collisionBoxArray=new i.a5;let ht=new i.bm(Object.keys(Ne.layers).sort()),Le=new i.bn(this.tileID,this.promoteId);Le.bucketLayerIDs=[];let xe={},Se={featureIndex:Le,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:Ve},lt=Ye.familiesBySource[this.source];for(let _n in lt){let $i=Ne.layers[_n];if(!$i)continue;$i.version===1&&i.w(`Vector tile source \"${this.source}\" layer \"${_n}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);let zn=ht.encode(_n),Wn=[];for(let It=0;It<$i.length;It++){let ft=$i.feature(It),jt=Le.getId(ft,_n);Wn.push({feature:ft,id:jt,index:It,sourceLayerIndex:zn})}for(let It of lt[_n]){let ft=It[0];ft.source!==this.source&&i.w(`layer.source = ${ft.source} does not equal this.source = ${this.source}`),ft.minzoom&&this.zoom<Math.floor(ft.minzoom)||ft.maxzoom&&this.zoom>=ft.maxzoom||ft.visibility!==\"none\"&&(l(It,this.zoom,Ve),(xe[ft.id]=ft.createBucket({index:Le.bucketLayerIDs.length,layers:It,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:zn,sourceID:this.source})).populate(Wn,Se,this.tileID.canonical),Le.bucketLayerIDs.push(It.map(jt=>jt.id)))}}let Gt=i.aF(Se.glyphDependencies,_n=>Object.keys(_n).map(Number));this.inFlightDependencies.forEach(_n=>_n==null?void 0:_n.abort()),this.inFlightDependencies=[];let Vt=Promise.resolve({});if(Object.keys(Gt).length){let _n=new AbortController;this.inFlightDependencies.push(_n),Vt=Xe.sendAsync({type:\"GG\",data:{stacks:Gt,source:this.source,tileID:this.tileID,type:\"glyphs\"}},_n)}let ar=Object.keys(Se.iconDependencies),Qr=Promise.resolve({});if(ar.length){let _n=new AbortController;this.inFlightDependencies.push(_n),Qr=Xe.sendAsync({type:\"GI\",data:{icons:ar,source:this.source,tileID:this.tileID,type:\"icons\"}},_n)}let ai=Object.keys(Se.patternDependencies),jr=Promise.resolve({});if(ai.length){let _n=new AbortController;this.inFlightDependencies.push(_n),jr=Xe.sendAsync({type:\"GI\",data:{icons:ai,source:this.source,tileID:this.tileID,type:\"patterns\"}},_n)}let[ri,bi,nn]=yield Promise.all([Vt,Qr,jr]),Wi=new o(ri),Ni=new i.bo(bi,nn);for(let _n in xe){let $i=xe[_n];$i instanceof i.a6?(l($i.layers,this.zoom,Ve),i.bp({bucket:$i,glyphMap:ri,glyphPositions:Wi.positions,imageMap:bi,imagePositions:Ni.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):$i.hasPattern&&($i instanceof i.bq||$i instanceof i.br||$i instanceof i.bs)&&(l($i.layers,this.zoom,Ve),$i.addFeatures(Se,this.tileID.canonical,Ni.patternPositions))}return this.status=\"done\",{buckets:Object.values(xe).filter(_n=>!_n.isEmpty()),featureIndex:Le,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:Wi.image,imageAtlas:Ni,glyphMap:this.returnDependencies?ri:null,iconMap:this.returnDependencies?bi:null,glyphPositions:this.returnDependencies?Wi.positions:null}})}}function l(ut,Ne,Ye){let Ve=new i.z(Ne);for(let Xe of ut)Xe.recalculate(Ve,Ye)}class u{constructor(Ne,Ye,Ve){this.actor=Ne,this.layerIndex=Ye,this.availableImages=Ve,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(Ne,Ye){return i._(this,void 0,void 0,function*(){let Ve=yield i.l(Ne.request,Ye);try{return{vectorTile:new i.bt.VectorTile(new i.bu(Ve.data)),rawData:Ve.data,cacheControl:Ve.cacheControl,expires:Ve.expires}}catch(Xe){let ht=new Uint8Array(Ve.data),Le=`Unable to parse the tile at ${Ne.request.url}, `;throw Le+=ht[0]===31&&ht[1]===139?\"please make sure the data is not gzipped and that you have configured the relevant header in the server\":`got error: ${Xe.message}`,new Error(Le)}})}loadTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=Ne.uid,Ve=!!(Ne&&Ne.request&&Ne.request.collectResourceTiming)&&new i.bv(Ne.request),Xe=new s(Ne);this.loading[Ye]=Xe;let ht=new AbortController;Xe.abort=ht;try{let Le=yield this.loadVectorTile(Ne,ht);if(delete this.loading[Ye],!Le)return null;let xe=Le.rawData,Se={};Le.expires&&(Se.expires=Le.expires),Le.cacheControl&&(Se.cacheControl=Le.cacheControl);let lt={};if(Ve){let Vt=Ve.finish();Vt&&(lt.resourceTiming=JSON.parse(JSON.stringify(Vt)))}Xe.vectorTile=Le.vectorTile;let Gt=Xe.parse(Le.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[Ye]=Xe,this.fetching[Ye]={rawTileData:xe,cacheControl:Se,resourceTiming:lt};try{let Vt=yield Gt;return i.e({rawTileData:xe.slice(0)},Vt,Se,lt)}finally{delete this.fetching[Ye]}}catch(Le){throw delete this.loading[Ye],Xe.status=\"done\",this.loaded[Ye]=Xe,Le}})}reloadTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=Ne.uid;if(!this.loaded||!this.loaded[Ye])throw new Error(\"Should not be trying to reload a tile that was never loaded or has been removed\");let Ve=this.loaded[Ye];if(Ve.showCollisionBoxes=Ne.showCollisionBoxes,Ve.status===\"parsing\"){let Xe=yield Ve.parse(Ve.vectorTile,this.layerIndex,this.availableImages,this.actor),ht;if(this.fetching[Ye]){let{rawTileData:Le,cacheControl:xe,resourceTiming:Se}=this.fetching[Ye];delete this.fetching[Ye],ht=i.e({rawTileData:Le.slice(0)},Xe,xe,Se)}else ht=Xe;return ht}if(Ve.status===\"done\"&&Ve.vectorTile)return Ve.parse(Ve.vectorTile,this.layerIndex,this.availableImages,this.actor)})}abortTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=this.loading,Ve=Ne.uid;Ye&&Ye[Ve]&&Ye[Ve].abort&&(Ye[Ve].abort.abort(),delete Ye[Ve])})}removeTile(Ne){return i._(this,void 0,void 0,function*(){this.loaded&&this.loaded[Ne.uid]&&delete this.loaded[Ne.uid]})}}class c{constructor(){this.loaded={}}loadTile(Ne){return i._(this,void 0,void 0,function*(){let{uid:Ye,encoding:Ve,rawImageData:Xe,redFactor:ht,greenFactor:Le,blueFactor:xe,baseShift:Se}=Ne,lt=Xe.width+2,Gt=Xe.height+2,Vt=i.b(Xe)?new i.R({width:lt,height:Gt},yield i.bw(Xe,-1,-1,lt,Gt)):Xe,ar=new i.bx(Ye,Vt,Ve,ht,Le,xe,Se);return this.loaded=this.loaded||{},this.loaded[Ye]=ar,ar})}removeTile(Ne){let Ye=this.loaded,Ve=Ne.uid;Ye&&Ye[Ve]&&delete Ye[Ve]}}function f(ut,Ne){if(ut.length!==0){h(ut[0],Ne);for(var Ye=1;Ye<ut.length;Ye++)h(ut[Ye],!Ne)}}function h(ut,Ne){for(var Ye=0,Ve=0,Xe=0,ht=ut.length,Le=ht-1;Xe<ht;Le=Xe++){var xe=(ut[Xe][0]-ut[Le][0])*(ut[Le][1]+ut[Xe][1]),Se=Ye+xe;Ve+=Math.abs(Ye)>=Math.abs(xe)?Ye-Se+xe:xe-Se+Ye,Ye=Se}Ye+Ve>=0!=!!Ne&&ut.reverse()}var d=i.by(function ut(Ne,Ye){var Ve,Xe=Ne&&Ne.type;if(Xe===\"FeatureCollection\")for(Ve=0;Ve<Ne.features.length;Ve++)ut(Ne.features[Ve],Ye);else if(Xe===\"GeometryCollection\")for(Ve=0;Ve<Ne.geometries.length;Ve++)ut(Ne.geometries[Ve],Ye);else if(Xe===\"Feature\")ut(Ne.geometry,Ye);else if(Xe===\"Polygon\")f(Ne.coordinates,Ye);else if(Xe===\"MultiPolygon\")for(Ve=0;Ve<Ne.coordinates.length;Ve++)f(Ne.coordinates[Ve],Ye);return Ne});let v=i.bt.VectorTileFeature.prototype.toGeoJSON;var x={exports:{}},b=i.bz,p=i.bt.VectorTileFeature,E=k;function k(ut,Ne){this.options=Ne||{},this.features=ut,this.length=ut.length}function A(ut,Ne){this.id=typeof ut.id==\"number\"?ut.id:void 0,this.type=ut.type,this.rawGeometry=ut.type===1?[ut.geometry]:ut.geometry,this.properties=ut.tags,this.extent=Ne||4096}k.prototype.feature=function(ut){return new A(this.features[ut],this.options.extent)},A.prototype.loadGeometry=function(){var ut=this.rawGeometry;this.geometry=[];for(var Ne=0;Ne<ut.length;Ne++){for(var Ye=ut[Ne],Ve=[],Xe=0;Xe<Ye.length;Xe++)Ve.push(new b(Ye[Xe][0],Ye[Xe][1]));this.geometry.push(Ve)}return this.geometry},A.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var ut=this.geometry,Ne=1/0,Ye=-1/0,Ve=1/0,Xe=-1/0,ht=0;ht<ut.length;ht++)for(var Le=ut[ht],xe=0;xe<Le.length;xe++){var Se=Le[xe];Ne=Math.min(Ne,Se.x),Ye=Math.max(Ye,Se.x),Ve=Math.min(Ve,Se.y),Xe=Math.max(Xe,Se.y)}return[Ne,Ve,Ye,Xe]},A.prototype.toGeoJSON=p.prototype.toGeoJSON;var L=i.bA,_=E;function C(ut){var Ne=new L;return function(Ye,Ve){for(var Xe in Ye.layers)Ve.writeMessage(3,M,Ye.layers[Xe])}(ut,Ne),Ne.finish()}function M(ut,Ne){var Ye;Ne.writeVarintField(15,ut.version||1),Ne.writeStringField(1,ut.name||\"\"),Ne.writeVarintField(5,ut.extent||4096);var Ve={keys:[],values:[],keycache:{},valuecache:{}};for(Ye=0;Ye<ut.length;Ye++)Ve.feature=ut.feature(Ye),Ne.writeMessage(2,g,Ve);var Xe=Ve.keys;for(Ye=0;Ye<Xe.length;Ye++)Ne.writeStringField(3,Xe[Ye]);var ht=Ve.values;for(Ye=0;Ye<ht.length;Ye++)Ne.writeMessage(4,V,ht[Ye])}function g(ut,Ne){var Ye=ut.feature;Ye.id!==void 0&&Ne.writeVarintField(1,Ye.id),Ne.writeMessage(2,P,ut),Ne.writeVarintField(3,Ye.type),Ne.writeMessage(4,q,Ye)}function P(ut,Ne){var Ye=ut.feature,Ve=ut.keys,Xe=ut.values,ht=ut.keycache,Le=ut.valuecache;for(var xe in Ye.properties){var Se=Ye.properties[xe],lt=ht[xe];if(Se!==null){lt===void 0&&(Ve.push(xe),ht[xe]=lt=Ve.length-1),Ne.writeVarint(lt);var Gt=typeof Se;Gt!==\"string\"&&Gt!==\"boolean\"&&Gt!==\"number\"&&(Se=JSON.stringify(Se));var Vt=Gt+\":\"+Se,ar=Le[Vt];ar===void 0&&(Xe.push(Se),Le[Vt]=ar=Xe.length-1),Ne.writeVarint(ar)}}}function T(ut,Ne){return(Ne<<3)+(7&ut)}function F(ut){return ut<<1^ut>>31}function q(ut,Ne){for(var Ye=ut.loadGeometry(),Ve=ut.type,Xe=0,ht=0,Le=Ye.length,xe=0;xe<Le;xe++){var Se=Ye[xe],lt=1;Ve===1&&(lt=Se.length),Ne.writeVarint(T(1,lt));for(var Gt=Ve===3?Se.length-1:Se.length,Vt=0;Vt<Gt;Vt++){Vt===1&&Ve!==1&&Ne.writeVarint(T(2,Gt-1));var ar=Se[Vt].x-Xe,Qr=Se[Vt].y-ht;Ne.writeVarint(F(ar)),Ne.writeVarint(F(Qr)),Xe+=ar,ht+=Qr}Ve===3&&Ne.writeVarint(T(7,1))}}function V(ut,Ne){var Ye=typeof ut;Ye===\"string\"?Ne.writeStringField(1,ut):Ye===\"boolean\"?Ne.writeBooleanField(7,ut):Ye===\"number\"&&(ut%1!=0?Ne.writeDoubleField(3,ut):ut<0?Ne.writeSVarintField(6,ut):Ne.writeVarintField(5,ut))}x.exports=C,x.exports.fromVectorTileJs=C,x.exports.fromGeojsonVt=function(ut,Ne){Ne=Ne||{};var Ye={};for(var Ve in ut)Ye[Ve]=new _(ut[Ve].features,Ne),Ye[Ve].name=Ve,Ye[Ve].version=Ne.version,Ye[Ve].extent=Ne.extent;return C({layers:Ye})},x.exports.GeoJSONWrapper=_;var H=i.by(x.exports);let X={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:ut=>ut},G=Math.fround||(N=new Float32Array(1),ut=>(N[0]=+ut,N[0]));var N;let W=3,re=5,ae=6;class _e{constructor(Ne){this.options=Object.assign(Object.create(X),Ne),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(Ne){let{log:Ye,minZoom:Ve,maxZoom:Xe}=this.options;Ye&&console.time(\"total time\");let ht=`prepare ${Ne.length} points`;Ye&&console.time(ht),this.points=Ne;let Le=[];for(let Se=0;Se<Ne.length;Se++){let lt=Ne[Se];if(!lt.geometry)continue;let[Gt,Vt]=lt.geometry.coordinates,ar=G(ge(Gt)),Qr=G(ie(Vt));Le.push(ar,Qr,1/0,Se,-1,1),this.options.reduce&&Le.push(0)}let xe=this.trees[Xe+1]=this._createTree(Le);Ye&&console.timeEnd(ht);for(let Se=Xe;Se>=Ve;Se--){let lt=+Date.now();xe=this.trees[Se]=this._createTree(this._cluster(xe,Se)),Ye&&console.log(\"z%d: %d clusters in %dms\",Se,xe.numItems,+Date.now()-lt)}return Ye&&console.timeEnd(\"total time\"),this}getClusters(Ne,Ye){let Ve=((Ne[0]+180)%360+360)%360-180,Xe=Math.max(-90,Math.min(90,Ne[1])),ht=Ne[2]===180?180:((Ne[2]+180)%360+360)%360-180,Le=Math.max(-90,Math.min(90,Ne[3]));if(Ne[2]-Ne[0]>=360)Ve=-180,ht=180;else if(Ve>ht){let Vt=this.getClusters([Ve,Xe,180,Le],Ye),ar=this.getClusters([-180,Xe,ht,Le],Ye);return Vt.concat(ar)}let xe=this.trees[this._limitZoom(Ye)],Se=xe.range(ge(Ve),ie(Le),ge(ht),ie(Xe)),lt=xe.data,Gt=[];for(let Vt of Se){let ar=this.stride*Vt;Gt.push(lt[ar+re]>1?Me(lt,ar,this.clusterProps):this.points[lt[ar+W]])}return Gt}getChildren(Ne){let Ye=this._getOriginId(Ne),Ve=this._getOriginZoom(Ne),Xe=\"No cluster with the specified id.\",ht=this.trees[Ve];if(!ht)throw new Error(Xe);let Le=ht.data;if(Ye*this.stride>=Le.length)throw new Error(Xe);let xe=this.options.radius/(this.options.extent*Math.pow(2,Ve-1)),Se=ht.within(Le[Ye*this.stride],Le[Ye*this.stride+1],xe),lt=[];for(let Gt of Se){let Vt=Gt*this.stride;Le[Vt+4]===Ne&<.push(Le[Vt+re]>1?Me(Le,Vt,this.clusterProps):this.points[Le[Vt+W]])}if(lt.length===0)throw new Error(Xe);return lt}getLeaves(Ne,Ye,Ve){let Xe=[];return this._appendLeaves(Xe,Ne,Ye=Ye||10,Ve=Ve||0,0),Xe}getTile(Ne,Ye,Ve){let Xe=this.trees[this._limitZoom(Ne)],ht=Math.pow(2,Ne),{extent:Le,radius:xe}=this.options,Se=xe/Le,lt=(Ve-Se)/ht,Gt=(Ve+1+Se)/ht,Vt={features:[]};return this._addTileFeatures(Xe.range((Ye-Se)/ht,lt,(Ye+1+Se)/ht,Gt),Xe.data,Ye,Ve,ht,Vt),Ye===0&&this._addTileFeatures(Xe.range(1-Se/ht,lt,1,Gt),Xe.data,ht,Ve,ht,Vt),Ye===ht-1&&this._addTileFeatures(Xe.range(0,lt,Se/ht,Gt),Xe.data,-1,Ve,ht,Vt),Vt.features.length?Vt:null}getClusterExpansionZoom(Ne){let Ye=this._getOriginZoom(Ne)-1;for(;Ye<=this.options.maxZoom;){let Ve=this.getChildren(Ne);if(Ye++,Ve.length!==1)break;Ne=Ve[0].properties.cluster_id}return Ye}_appendLeaves(Ne,Ye,Ve,Xe,ht){let Le=this.getChildren(Ye);for(let xe of Le){let Se=xe.properties;if(Se&&Se.cluster?ht+Se.point_count<=Xe?ht+=Se.point_count:ht=this._appendLeaves(Ne,Se.cluster_id,Ve,Xe,ht):ht<Xe?ht++:Ne.push(xe),Ne.length===Ve)break}return ht}_createTree(Ne){let Ye=new i.av(Ne.length/this.stride|0,this.options.nodeSize,Float32Array);for(let Ve=0;Ve<Ne.length;Ve+=this.stride)Ye.add(Ne[Ve],Ne[Ve+1]);return Ye.finish(),Ye.data=Ne,Ye}_addTileFeatures(Ne,Ye,Ve,Xe,ht,Le){for(let xe of Ne){let Se=xe*this.stride,lt=Ye[Se+re]>1,Gt,Vt,ar;if(lt)Gt=ke(Ye,Se,this.clusterProps),Vt=Ye[Se],ar=Ye[Se+1];else{let jr=this.points[Ye[Se+W]];Gt=jr.properties;let[ri,bi]=jr.geometry.coordinates;Vt=ge(ri),ar=ie(bi)}let Qr={type:1,geometry:[[Math.round(this.options.extent*(Vt*ht-Ve)),Math.round(this.options.extent*(ar*ht-Xe))]],tags:Gt},ai;ai=lt||this.options.generateId?Ye[Se+W]:this.points[Ye[Se+W]].id,ai!==void 0&&(Qr.id=ai),Le.features.push(Qr)}}_limitZoom(Ne){return Math.max(this.options.minZoom,Math.min(Math.floor(+Ne),this.options.maxZoom+1))}_cluster(Ne,Ye){let{radius:Ve,extent:Xe,reduce:ht,minPoints:Le}=this.options,xe=Ve/(Xe*Math.pow(2,Ye)),Se=Ne.data,lt=[],Gt=this.stride;for(let Vt=0;Vt<Se.length;Vt+=Gt){if(Se[Vt+2]<=Ye)continue;Se[Vt+2]=Ye;let ar=Se[Vt],Qr=Se[Vt+1],ai=Ne.within(Se[Vt],Se[Vt+1],xe),jr=Se[Vt+re],ri=jr;for(let bi of ai){let nn=bi*Gt;Se[nn+2]>Ye&&(ri+=Se[nn+re])}if(ri>jr&&ri>=Le){let bi,nn=ar*jr,Wi=Qr*jr,Ni=-1,_n=((Vt/Gt|0)<<5)+(Ye+1)+this.points.length;for(let $i of ai){let zn=$i*Gt;if(Se[zn+2]<=Ye)continue;Se[zn+2]=Ye;let Wn=Se[zn+re];nn+=Se[zn]*Wn,Wi+=Se[zn+1]*Wn,Se[zn+4]=_n,ht&&(bi||(bi=this._map(Se,Vt,!0),Ni=this.clusterProps.length,this.clusterProps.push(bi)),ht(bi,this._map(Se,zn)))}Se[Vt+4]=_n,lt.push(nn/ri,Wi/ri,1/0,_n,-1,ri),ht&<.push(Ni)}else{for(let bi=0;bi<Gt;bi++)lt.push(Se[Vt+bi]);if(ri>1)for(let bi of ai){let nn=bi*Gt;if(!(Se[nn+2]<=Ye)){Se[nn+2]=Ye;for(let Wi=0;Wi<Gt;Wi++)lt.push(Se[nn+Wi])}}}}return lt}_getOriginId(Ne){return Ne-this.points.length>>5}_getOriginZoom(Ne){return(Ne-this.points.length)%32}_map(Ne,Ye,Ve){if(Ne[Ye+re]>1){let Le=this.clusterProps[Ne[Ye+ae]];return Ve?Object.assign({},Le):Le}let Xe=this.points[Ne[Ye+W]].properties,ht=this.options.map(Xe);return Ve&&ht===Xe?Object.assign({},ht):ht}}function Me(ut,Ne,Ye){return{type:\"Feature\",id:ut[Ne+W],properties:ke(ut,Ne,Ye),geometry:{type:\"Point\",coordinates:[(Ve=ut[Ne],360*(Ve-.5)),Te(ut[Ne+1])]}};var Ve}function ke(ut,Ne,Ye){let Ve=ut[Ne+re],Xe=Ve>=1e4?`${Math.round(Ve/1e3)}k`:Ve>=1e3?Math.round(Ve/100)/10+\"k\":Ve,ht=ut[Ne+ae],Le=ht===-1?{}:Object.assign({},Ye[ht]);return Object.assign(Le,{cluster:!0,cluster_id:ut[Ne+W],point_count:Ve,point_count_abbreviated:Xe})}function ge(ut){return ut/360+.5}function ie(ut){let Ne=Math.sin(ut*Math.PI/180),Ye=.5-.25*Math.log((1+Ne)/(1-Ne))/Math.PI;return Ye<0?0:Ye>1?1:Ye}function Te(ut){let Ne=(180-360*ut)*Math.PI/180;return 360*Math.atan(Math.exp(Ne))/Math.PI-90}function Ee(ut,Ne,Ye,Ve){let Xe=Ve,ht=Ne+(Ye-Ne>>1),Le,xe=Ye-Ne,Se=ut[Ne],lt=ut[Ne+1],Gt=ut[Ye],Vt=ut[Ye+1];for(let ar=Ne+3;ar<Ye;ar+=3){let Qr=Ae(ut[ar],ut[ar+1],Se,lt,Gt,Vt);if(Qr>Xe)Le=ar,Xe=Qr;else if(Qr===Xe){let ai=Math.abs(ar-ht);ai<xe&&(Le=ar,xe=ai)}}Xe>Ve&&(Le-Ne>3&&Ee(ut,Ne,Le,Ve),ut[Le+2]=Xe,Ye-Le>3&&Ee(ut,Le,Ye,Ve))}function Ae(ut,Ne,Ye,Ve,Xe,ht){let Le=Xe-Ye,xe=ht-Ve;if(Le!==0||xe!==0){let Se=((ut-Ye)*Le+(Ne-Ve)*xe)/(Le*Le+xe*xe);Se>1?(Ye=Xe,Ve=ht):Se>0&&(Ye+=Le*Se,Ve+=xe*Se)}return Le=ut-Ye,xe=Ne-Ve,Le*Le+xe*xe}function ze(ut,Ne,Ye,Ve){let Xe={id:ut==null?null:ut,type:Ne,geometry:Ye,tags:Ve,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(Ne===\"Point\"||Ne===\"MultiPoint\"||Ne===\"LineString\")Ce(Xe,Ye);else if(Ne===\"Polygon\")Ce(Xe,Ye[0]);else if(Ne===\"MultiLineString\")for(let ht of Ye)Ce(Xe,ht);else if(Ne===\"MultiPolygon\")for(let ht of Ye)Ce(Xe,ht[0]);return Xe}function Ce(ut,Ne){for(let Ye=0;Ye<Ne.length;Ye+=3)ut.minX=Math.min(ut.minX,Ne[Ye]),ut.minY=Math.min(ut.minY,Ne[Ye+1]),ut.maxX=Math.max(ut.maxX,Ne[Ye]),ut.maxY=Math.max(ut.maxY,Ne[Ye+1])}function me(ut,Ne,Ye,Ve){if(!Ne.geometry)return;let Xe=Ne.geometry.coordinates;if(Xe&&Xe.length===0)return;let ht=Ne.geometry.type,Le=Math.pow(Ye.tolerance/((1<<Ye.maxZoom)*Ye.extent),2),xe=[],Se=Ne.id;if(Ye.promoteId?Se=Ne.properties[Ye.promoteId]:Ye.generateId&&(Se=Ve||0),ht===\"Point\")Re(Xe,xe);else if(ht===\"MultiPoint\")for(let lt of Xe)Re(lt,xe);else if(ht===\"LineString\")ce(Xe,xe,Le,!1);else if(ht===\"MultiLineString\"){if(Ye.lineMetrics){for(let lt of Xe)xe=[],ce(lt,xe,Le,!1),ut.push(ze(Se,\"LineString\",xe,Ne.properties));return}Ge(Xe,xe,Le,!1)}else if(ht===\"Polygon\")Ge(Xe,xe,Le,!0);else{if(ht!==\"MultiPolygon\"){if(ht===\"GeometryCollection\"){for(let lt of Ne.geometry.geometries)me(ut,{id:Se,geometry:lt,properties:Ne.properties},Ye,Ve);return}throw new Error(\"Input data is not a valid GeoJSON object.\")}for(let lt of Xe){let Gt=[];Ge(lt,Gt,Le,!0),xe.push(Gt)}}ut.push(ze(Se,ht,xe,Ne.properties))}function Re(ut,Ne){Ne.push(nt(ut[0]),ct(ut[1]),0)}function ce(ut,Ne,Ye,Ve){let Xe,ht,Le=0;for(let Se=0;Se<ut.length;Se++){let lt=nt(ut[Se][0]),Gt=ct(ut[Se][1]);Ne.push(lt,Gt,0),Se>0&&(Le+=Ve?(Xe*Gt-lt*ht)/2:Math.sqrt(Math.pow(lt-Xe,2)+Math.pow(Gt-ht,2))),Xe=lt,ht=Gt}let xe=Ne.length-3;Ne[2]=1,Ee(Ne,0,xe,Ye),Ne[xe+2]=1,Ne.size=Math.abs(Le),Ne.start=0,Ne.end=Ne.size}function Ge(ut,Ne,Ye,Ve){for(let Xe=0;Xe<ut.length;Xe++){let ht=[];ce(ut[Xe],ht,Ye,Ve),Ne.push(ht)}}function nt(ut){return ut/360+.5}function ct(ut){let Ne=Math.sin(ut*Math.PI/180),Ye=.5-.25*Math.log((1+Ne)/(1-Ne))/Math.PI;return Ye<0?0:Ye>1?1:Ye}function qt(ut,Ne,Ye,Ve,Xe,ht,Le,xe){if(Ve/=Ne,ht>=(Ye/=Ne)&&Le<Ve)return ut;if(Le<Ye||ht>=Ve)return null;let Se=[];for(let lt of ut){let Gt=lt.geometry,Vt=lt.type,ar=Xe===0?lt.minX:lt.minY,Qr=Xe===0?lt.maxX:lt.maxY;if(ar>=Ye&&Qr<Ve){Se.push(lt);continue}if(Qr<Ye||ar>=Ve)continue;let ai=[];if(Vt===\"Point\"||Vt===\"MultiPoint\")rt(Gt,ai,Ye,Ve,Xe);else if(Vt===\"LineString\")ot(Gt,ai,Ye,Ve,Xe,!1,xe.lineMetrics);else if(Vt===\"MultiLineString\")kt(Gt,ai,Ye,Ve,Xe,!1);else if(Vt===\"Polygon\")kt(Gt,ai,Ye,Ve,Xe,!0);else if(Vt===\"MultiPolygon\")for(let jr of Gt){let ri=[];kt(jr,ri,Ye,Ve,Xe,!0),ri.length&&ai.push(ri)}if(ai.length){if(xe.lineMetrics&&Vt===\"LineString\"){for(let jr of ai)Se.push(ze(lt.id,Vt,jr,lt.tags));continue}Vt!==\"LineString\"&&Vt!==\"MultiLineString\"||(ai.length===1?(Vt=\"LineString\",ai=ai[0]):Vt=\"MultiLineString\"),Vt!==\"Point\"&&Vt!==\"MultiPoint\"||(Vt=ai.length===3?\"Point\":\"MultiPoint\"),Se.push(ze(lt.id,Vt,ai,lt.tags))}}return Se.length?Se:null}function rt(ut,Ne,Ye,Ve,Xe){for(let ht=0;ht<ut.length;ht+=3){let Le=ut[ht+Xe];Le>=Ye&&Le<=Ve&&Ct(Ne,ut[ht],ut[ht+1],ut[ht+2])}}function ot(ut,Ne,Ye,Ve,Xe,ht,Le){let xe=Rt(ut),Se=Xe===0?Yt:xr,lt,Gt,Vt=ut.start;for(let ri=0;ri<ut.length-3;ri+=3){let bi=ut[ri],nn=ut[ri+1],Wi=ut[ri+2],Ni=ut[ri+3],_n=ut[ri+4],$i=Xe===0?bi:nn,zn=Xe===0?Ni:_n,Wn=!1;Le&&(lt=Math.sqrt(Math.pow(bi-Ni,2)+Math.pow(nn-_n,2))),$i<Ye?zn>Ye&&(Gt=Se(xe,bi,nn,Ni,_n,Ye),Le&&(xe.start=Vt+lt*Gt)):$i>Ve?zn<Ve&&(Gt=Se(xe,bi,nn,Ni,_n,Ve),Le&&(xe.start=Vt+lt*Gt)):Ct(xe,bi,nn,Wi),zn<Ye&&$i>=Ye&&(Gt=Se(xe,bi,nn,Ni,_n,Ye),Wn=!0),zn>Ve&&$i<=Ve&&(Gt=Se(xe,bi,nn,Ni,_n,Ve),Wn=!0),!ht&&Wn&&(Le&&(xe.end=Vt+lt*Gt),Ne.push(xe),xe=Rt(ut)),Le&&(Vt+=lt)}let ar=ut.length-3,Qr=ut[ar],ai=ut[ar+1],jr=Xe===0?Qr:ai;jr>=Ye&&jr<=Ve&&Ct(xe,Qr,ai,ut[ar+2]),ar=xe.length-3,ht&&ar>=3&&(xe[ar]!==xe[0]||xe[ar+1]!==xe[1])&&Ct(xe,xe[0],xe[1],xe[2]),xe.length&&Ne.push(xe)}function Rt(ut){let Ne=[];return Ne.size=ut.size,Ne.start=ut.start,Ne.end=ut.end,Ne}function kt(ut,Ne,Ye,Ve,Xe,ht){for(let Le of ut)ot(Le,Ne,Ye,Ve,Xe,ht,!1)}function Ct(ut,Ne,Ye,Ve){ut.push(Ne,Ye,Ve)}function Yt(ut,Ne,Ye,Ve,Xe,ht){let Le=(ht-Ne)/(Ve-Ne);return Ct(ut,ht,Ye+(Xe-Ye)*Le,1),Le}function xr(ut,Ne,Ye,Ve,Xe,ht){let Le=(ht-Ye)/(Xe-Ye);return Ct(ut,Ne+(Ve-Ne)*Le,ht,1),Le}function er(ut,Ne){let Ye=[];for(let Ve=0;Ve<ut.length;Ve++){let Xe=ut[Ve],ht=Xe.type,Le;if(ht===\"Point\"||ht===\"MultiPoint\"||ht===\"LineString\")Le=Ke(Xe.geometry,Ne);else if(ht===\"MultiLineString\"||ht===\"Polygon\"){Le=[];for(let xe of Xe.geometry)Le.push(Ke(xe,Ne))}else if(ht===\"MultiPolygon\"){Le=[];for(let xe of Xe.geometry){let Se=[];for(let lt of xe)Se.push(Ke(lt,Ne));Le.push(Se)}}Ye.push(ze(Xe.id,ht,Le,Xe.tags))}return Ye}function Ke(ut,Ne){let Ye=[];Ye.size=ut.size,ut.start!==void 0&&(Ye.start=ut.start,Ye.end=ut.end);for(let Ve=0;Ve<ut.length;Ve+=3)Ye.push(ut[Ve]+Ne,ut[Ve+1],ut[Ve+2]);return Ye}function xt(ut,Ne){if(ut.transformed)return ut;let Ye=1<<ut.z,Ve=ut.x,Xe=ut.y;for(let ht of ut.features){let Le=ht.geometry,xe=ht.type;if(ht.geometry=[],xe===1)for(let Se=0;Se<Le.length;Se+=2)ht.geometry.push(bt(Le[Se],Le[Se+1],Ne,Ye,Ve,Xe));else for(let Se=0;Se<Le.length;Se++){let lt=[];for(let Gt=0;Gt<Le[Se].length;Gt+=2)lt.push(bt(Le[Se][Gt],Le[Se][Gt+1],Ne,Ye,Ve,Xe));ht.geometry.push(lt)}}return ut.transformed=!0,ut}function bt(ut,Ne,Ye,Ve,Xe,ht){return[Math.round(Ye*(ut*Ve-Xe)),Math.round(Ye*(Ne*Ve-ht))]}function Lt(ut,Ne,Ye,Ve,Xe){let ht=Ne===Xe.maxZoom?0:Xe.tolerance/((1<<Ne)*Xe.extent),Le={features:[],numPoints:0,numSimplified:0,numFeatures:ut.length,source:null,x:Ye,y:Ve,z:Ne,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0};for(let xe of ut)St(Le,xe,ht,Xe);return Le}function St(ut,Ne,Ye,Ve){let Xe=Ne.geometry,ht=Ne.type,Le=[];if(ut.minX=Math.min(ut.minX,Ne.minX),ut.minY=Math.min(ut.minY,Ne.minY),ut.maxX=Math.max(ut.maxX,Ne.maxX),ut.maxY=Math.max(ut.maxY,Ne.maxY),ht===\"Point\"||ht===\"MultiPoint\")for(let xe=0;xe<Xe.length;xe+=3)Le.push(Xe[xe],Xe[xe+1]),ut.numPoints++,ut.numSimplified++;else if(ht===\"LineString\")Et(Le,Xe,ut,Ye,!1,!1);else if(ht===\"MultiLineString\"||ht===\"Polygon\")for(let xe=0;xe<Xe.length;xe++)Et(Le,Xe[xe],ut,Ye,ht===\"Polygon\",xe===0);else if(ht===\"MultiPolygon\")for(let xe=0;xe<Xe.length;xe++){let Se=Xe[xe];for(let lt=0;lt<Se.length;lt++)Et(Le,Se[lt],ut,Ye,!0,lt===0)}if(Le.length){let xe=Ne.tags||null;if(ht===\"LineString\"&&Ve.lineMetrics){xe={};for(let lt in Ne.tags)xe[lt]=Ne.tags[lt];xe.mapbox_clip_start=Xe.start/Xe.size,xe.mapbox_clip_end=Xe.end/Xe.size}let Se={geometry:Le,type:ht===\"Polygon\"||ht===\"MultiPolygon\"?3:ht===\"LineString\"||ht===\"MultiLineString\"?2:1,tags:xe};Ne.id!==null&&(Se.id=Ne.id),ut.features.push(Se)}}function Et(ut,Ne,Ye,Ve,Xe,ht){let Le=Ve*Ve;if(Ve>0&&Ne.size<(Xe?Le:Ve))return void(Ye.numPoints+=Ne.length/3);let xe=[];for(let Se=0;Se<Ne.length;Se+=3)(Ve===0||Ne[Se+2]>Le)&&(Ye.numSimplified++,xe.push(Ne[Se],Ne[Se+1])),Ye.numPoints++;Xe&&function(Se,lt){let Gt=0;for(let Vt=0,ar=Se.length,Qr=ar-2;Vt<ar;Qr=Vt,Vt+=2)Gt+=(Se[Vt]-Se[Qr])*(Se[Vt+1]+Se[Qr+1]);if(Gt>0===lt)for(let Vt=0,ar=Se.length;Vt<ar/2;Vt+=2){let Qr=Se[Vt],ai=Se[Vt+1];Se[Vt]=Se[ar-2-Vt],Se[Vt+1]=Se[ar-1-Vt],Se[ar-2-Vt]=Qr,Se[ar-1-Vt]=ai}}(xe,ht),ut.push(xe)}let dt={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0};class Ht{constructor(Ne,Ye){let Ve=(Ye=this.options=function(ht,Le){for(let xe in Le)ht[xe]=Le[xe];return ht}(Object.create(dt),Ye)).debug;if(Ve&&console.time(\"preprocess data\"),Ye.maxZoom<0||Ye.maxZoom>24)throw new Error(\"maxZoom should be in the 0-24 range\");if(Ye.promoteId&&Ye.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");let Xe=function(ht,Le){let xe=[];if(ht.type===\"FeatureCollection\")for(let Se=0;Se<ht.features.length;Se++)me(xe,ht.features[Se],Le,Se);else me(xe,ht.type===\"Feature\"?ht:{geometry:ht},Le);return xe}(Ne,Ye);this.tiles={},this.tileCoords=[],Ve&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",Ye.indexMaxZoom,Ye.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),Xe=function(ht,Le){let xe=Le.buffer/Le.extent,Se=ht,lt=qt(ht,1,-1-xe,xe,0,-1,2,Le),Gt=qt(ht,1,1-xe,2+xe,0,-1,2,Le);return(lt||Gt)&&(Se=qt(ht,1,-xe,1+xe,0,-1,2,Le)||[],lt&&(Se=er(lt,1).concat(Se)),Gt&&(Se=Se.concat(er(Gt,-1)))),Se}(Xe,Ye),Xe.length&&this.splitTile(Xe,0,0,0),Ve&&(Xe.length&&console.log(\"features: %d, points: %d\",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(\"generate tiles\"),console.log(\"tiles generated:\",this.total,JSON.stringify(this.stats)))}splitTile(Ne,Ye,Ve,Xe,ht,Le,xe){let Se=[Ne,Ye,Ve,Xe],lt=this.options,Gt=lt.debug;for(;Se.length;){Xe=Se.pop(),Ve=Se.pop(),Ye=Se.pop(),Ne=Se.pop();let Vt=1<<Ye,ar=$t(Ye,Ve,Xe),Qr=this.tiles[ar];if(!Qr&&(Gt>1&&console.time(\"creation\"),Qr=this.tiles[ar]=Lt(Ne,Ye,Ve,Xe,lt),this.tileCoords.push({z:Ye,x:Ve,y:Xe}),Gt)){Gt>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",Ye,Ve,Xe,Qr.numFeatures,Qr.numPoints,Qr.numSimplified),console.timeEnd(\"creation\"));let Wn=`z${Ye}`;this.stats[Wn]=(this.stats[Wn]||0)+1,this.total++}if(Qr.source=Ne,ht==null){if(Ye===lt.indexMaxZoom||Qr.numPoints<=lt.indexMaxPoints)continue}else{if(Ye===lt.maxZoom||Ye===ht)continue;if(ht!=null){let Wn=ht-Ye;if(Ve!==Le>>Wn||Xe!==xe>>Wn)continue}}if(Qr.source=null,Ne.length===0)continue;Gt>1&&console.time(\"clipping\");let ai=.5*lt.buffer/lt.extent,jr=.5-ai,ri=.5+ai,bi=1+ai,nn=null,Wi=null,Ni=null,_n=null,$i=qt(Ne,Vt,Ve-ai,Ve+ri,0,Qr.minX,Qr.maxX,lt),zn=qt(Ne,Vt,Ve+jr,Ve+bi,0,Qr.minX,Qr.maxX,lt);Ne=null,$i&&(nn=qt($i,Vt,Xe-ai,Xe+ri,1,Qr.minY,Qr.maxY,lt),Wi=qt($i,Vt,Xe+jr,Xe+bi,1,Qr.minY,Qr.maxY,lt),$i=null),zn&&(Ni=qt(zn,Vt,Xe-ai,Xe+ri,1,Qr.minY,Qr.maxY,lt),_n=qt(zn,Vt,Xe+jr,Xe+bi,1,Qr.minY,Qr.maxY,lt),zn=null),Gt>1&&console.timeEnd(\"clipping\"),Se.push(nn||[],Ye+1,2*Ve,2*Xe),Se.push(Wi||[],Ye+1,2*Ve,2*Xe+1),Se.push(Ni||[],Ye+1,2*Ve+1,2*Xe),Se.push(_n||[],Ye+1,2*Ve+1,2*Xe+1)}}getTile(Ne,Ye,Ve){Ne=+Ne,Ye=+Ye,Ve=+Ve;let Xe=this.options,{extent:ht,debug:Le}=Xe;if(Ne<0||Ne>24)return null;let xe=1<<Ne,Se=$t(Ne,Ye=Ye+xe&xe-1,Ve);if(this.tiles[Se])return xt(this.tiles[Se],ht);Le>1&&console.log(\"drilling down to z%d-%d-%d\",Ne,Ye,Ve);let lt,Gt=Ne,Vt=Ye,ar=Ve;for(;!lt&&Gt>0;)Gt--,Vt>>=1,ar>>=1,lt=this.tiles[$t(Gt,Vt,ar)];return lt&<.source?(Le>1&&(console.log(\"found parent tile z%d-%d-%d\",Gt,Vt,ar),console.time(\"drilling down\")),this.splitTile(lt.source,Gt,Vt,ar,Ne,Ye,Ve),Le>1&&console.timeEnd(\"drilling down\"),this.tiles[Se]?xt(this.tiles[Se],ht):null):null}}function $t(ut,Ne,Ye){return 32*((1<<ut)*Ye+Ne)+ut}function fr(ut,Ne){return Ne?ut.properties[Ne]:ut.id}function _r(ut,Ne){if(ut==null)return!0;if(ut.type===\"Feature\")return fr(ut,Ne)!=null;if(ut.type===\"FeatureCollection\"){let Ye=new Set;for(let Ve of ut.features){let Xe=fr(Ve,Ne);if(Xe==null||Ye.has(Xe))return!1;Ye.add(Xe)}return!0}return!1}function Br(ut,Ne){let Ye=new Map;if(ut!=null)if(ut.type===\"Feature\")Ye.set(fr(ut,Ne),ut);else for(let Ve of ut.features)Ye.set(fr(Ve,Ne),Ve);return Ye}class Or extends u{constructor(){super(...arguments),this._dataUpdateable=new Map}loadVectorTile(Ne,Ye){return i._(this,void 0,void 0,function*(){let Ve=Ne.tileID.canonical;if(!this._geoJSONIndex)throw new Error(\"Unable to parse the data into a cluster or geojson\");let Xe=this._geoJSONIndex.getTile(Ve.z,Ve.x,Ve.y);if(!Xe)return null;let ht=new class{constructor(xe){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=i.X,this.length=xe.length,this._features=xe}feature(xe){return new class{constructor(Se){this._feature=Se,this.extent=i.X,this.type=Se.type,this.properties=Se.tags,\"id\"in Se&&!isNaN(Se.id)&&(this.id=parseInt(Se.id,10))}loadGeometry(){if(this._feature.type===1){let Se=[];for(let lt of this._feature.geometry)Se.push([new i.P(lt[0],lt[1])]);return Se}{let Se=[];for(let lt of this._feature.geometry){let Gt=[];for(let Vt of lt)Gt.push(new i.P(Vt[0],Vt[1]));Se.push(Gt)}return Se}}toGeoJSON(Se,lt,Gt){return v.call(this,Se,lt,Gt)}}(this._features[xe])}}(Xe.features),Le=H(ht);return Le.byteOffset===0&&Le.byteLength===Le.buffer.byteLength||(Le=new Uint8Array(Le)),{vectorTile:ht,rawData:Le.buffer}})}loadData(Ne){return i._(this,void 0,void 0,function*(){var Ye;(Ye=this._pendingRequest)===null||Ye===void 0||Ye.abort();let Ve=!!(Ne&&Ne.request&&Ne.request.collectResourceTiming)&&new i.bv(Ne.request);this._pendingRequest=new AbortController;try{this._pendingData=this.loadAndProcessGeoJSON(Ne,this._pendingRequest),this._geoJSONIndex=Ne.cluster?new _e(function({superclusterOptions:Le,clusterProperties:xe}){if(!xe||!Le)return Le;let Se={},lt={},Gt={accumulated:null,zoom:0},Vt={properties:null},ar=Object.keys(xe);for(let Qr of ar){let[ai,jr]=xe[Qr],ri=i.bC(jr),bi=i.bC(typeof ai==\"string\"?[ai,[\"accumulated\"],[\"get\",Qr]]:ai);Se[Qr]=ri.value,lt[Qr]=bi.value}return Le.map=Qr=>{Vt.properties=Qr;let ai={};for(let jr of ar)ai[jr]=Se[jr].evaluate(Gt,Vt);return ai},Le.reduce=(Qr,ai)=>{Vt.properties=ai;for(let jr of ar)Gt.accumulated=Qr[jr],Qr[jr]=lt[jr].evaluate(Gt,Vt)},Le}(Ne)).load((yield this._pendingData).features):(Xe=yield this._pendingData,new Ht(Xe,Ne.geojsonVtOptions)),this.loaded={};let ht={};if(Ve){let Le=Ve.finish();Le&&(ht.resourceTiming={},ht.resourceTiming[Ne.source]=JSON.parse(JSON.stringify(Le)))}return ht}catch(ht){if(delete this._pendingRequest,i.bB(ht))return{abandoned:!0};throw ht}var Xe})}getData(){return i._(this,void 0,void 0,function*(){return this._pendingData})}reloadTile(Ne){let Ye=this.loaded;return Ye&&Ye[Ne.uid]?super.reloadTile(Ne):this.loadTile(Ne)}loadAndProcessGeoJSON(Ne,Ye){return i._(this,void 0,void 0,function*(){let Ve=yield this.loadGeoJSON(Ne,Ye);if(delete this._pendingRequest,typeof Ve!=\"object\")throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`);if(d(Ve,!0),Ne.filter){let Xe=i.bC(Ne.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(Xe.result===\"error\")throw new Error(Xe.value.map(Le=>`${Le.key}: ${Le.message}`).join(\", \"));Ve={type:\"FeatureCollection\",features:Ve.features.filter(Le=>Xe.value.evaluate({zoom:0},Le))}}return Ve})}loadGeoJSON(Ne,Ye){return i._(this,void 0,void 0,function*(){let{promoteId:Ve}=Ne;if(Ne.request){let Xe=yield i.h(Ne.request,Ye);return this._dataUpdateable=_r(Xe.data,Ve)?Br(Xe.data,Ve):void 0,Xe.data}if(typeof Ne.data==\"string\")try{let Xe=JSON.parse(Ne.data);return this._dataUpdateable=_r(Xe,Ve)?Br(Xe,Ve):void 0,Xe}catch(Xe){throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`)}if(!Ne.dataDiff)throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${Ne.source}`);return function(Xe,ht,Le){var xe,Se,lt,Gt;if(ht.removeAll&&Xe.clear(),ht.remove)for(let Vt of ht.remove)Xe.delete(Vt);if(ht.add)for(let Vt of ht.add){let ar=fr(Vt,Le);ar!=null&&Xe.set(ar,Vt)}if(ht.update)for(let Vt of ht.update){let ar=Xe.get(Vt.id);if(ar==null)continue;let Qr=!Vt.removeAllProperties&&(((xe=Vt.removeProperties)===null||xe===void 0?void 0:xe.length)>0||((Se=Vt.addOrUpdateProperties)===null||Se===void 0?void 0:Se.length)>0);if((Vt.newGeometry||Vt.removeAllProperties||Qr)&&(ar=Object.assign({},ar),Xe.set(Vt.id,ar),Qr&&(ar.properties=Object.assign({},ar.properties))),Vt.newGeometry&&(ar.geometry=Vt.newGeometry),Vt.removeAllProperties)ar.properties={};else if(((lt=Vt.removeProperties)===null||lt===void 0?void 0:lt.length)>0)for(let ai of Vt.removeProperties)Object.prototype.hasOwnProperty.call(ar.properties,ai)&&delete ar.properties[ai];if(((Gt=Vt.addOrUpdateProperties)===null||Gt===void 0?void 0:Gt.length)>0)for(let{key:ai,value:jr}of Vt.addOrUpdateProperties)ar.properties[ai]=jr}}(this._dataUpdateable,Ne.dataDiff,Ve),{type:\"FeatureCollection\",features:Array.from(this._dataUpdateable.values())}})}removeSource(Ne){return i._(this,void 0,void 0,function*(){this._pendingRequest&&this._pendingRequest.abort()})}getClusterExpansionZoom(Ne){return this._geoJSONIndex.getClusterExpansionZoom(Ne.clusterId)}getClusterChildren(Ne){return this._geoJSONIndex.getChildren(Ne.clusterId)}getClusterLeaves(Ne){return this._geoJSONIndex.getLeaves(Ne.clusterId,Ne.limit,Ne.offset)}}class Nr{constructor(Ne){this.self=Ne,this.actor=new i.F(Ne),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(Ye,Ve)=>{if(this.externalWorkerSourceTypes[Ye])throw new Error(`Worker source with name \"${Ye}\" already registered.`);this.externalWorkerSourceTypes[Ye]=Ve},this.self.addProtocol=i.bi,this.self.removeProtocol=i.bj,this.self.registerRTLTextPlugin=Ye=>{if(i.bD.isParsed())throw new Error(\"RTL text plugin already registered.\");i.bD.setMethods(Ye)},this.actor.registerMessageHandler(\"LDT\",(Ye,Ve)=>this._getDEMWorkerSource(Ye,Ve.source).loadTile(Ve)),this.actor.registerMessageHandler(\"RDT\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getDEMWorkerSource(Ye,Ve.source).removeTile(Ve)})),this.actor.registerMessageHandler(\"GCEZ\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterExpansionZoom(Ve)})),this.actor.registerMessageHandler(\"GCC\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterChildren(Ve)})),this.actor.registerMessageHandler(\"GCL\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterLeaves(Ve)})),this.actor.registerMessageHandler(\"LD\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).loadData(Ve)),this.actor.registerMessageHandler(\"GD\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).getData()),this.actor.registerMessageHandler(\"LT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).loadTile(Ve)),this.actor.registerMessageHandler(\"RT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).reloadTile(Ve)),this.actor.registerMessageHandler(\"AT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).abortTile(Ve)),this.actor.registerMessageHandler(\"RMT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).removeTile(Ve)),this.actor.registerMessageHandler(\"RS\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){if(!this.workerSources[Ye]||!this.workerSources[Ye][Ve.type]||!this.workerSources[Ye][Ve.type][Ve.source])return;let Xe=this.workerSources[Ye][Ve.type][Ve.source];delete this.workerSources[Ye][Ve.type][Ve.source],Xe.removeSource!==void 0&&Xe.removeSource(Ve)})),this.actor.registerMessageHandler(\"RM\",Ye=>i._(this,void 0,void 0,function*(){delete this.layerIndexes[Ye],delete this.availableImages[Ye],delete this.workerSources[Ye],delete this.demWorkerSources[Ye]})),this.actor.registerMessageHandler(\"SR\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this.referrer=Ve})),this.actor.registerMessageHandler(\"SRPS\",(Ye,Ve)=>this._syncRTLPluginState(Ye,Ve)),this.actor.registerMessageHandler(\"IS\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this.self.importScripts(Ve)})),this.actor.registerMessageHandler(\"SI\",(Ye,Ve)=>this._setImages(Ye,Ve)),this.actor.registerMessageHandler(\"UL\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getLayerIndex(Ye).update(Ve.layers,Ve.removedIds)})),this.actor.registerMessageHandler(\"SL\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getLayerIndex(Ye).replace(Ve)}))}_setImages(Ne,Ye){return i._(this,void 0,void 0,function*(){this.availableImages[Ne]=Ye;for(let Ve in this.workerSources[Ne]){let Xe=this.workerSources[Ne][Ve];for(let ht in Xe)Xe[ht].availableImages=Ye}})}_syncRTLPluginState(Ne,Ye){return i._(this,void 0,void 0,function*(){if(i.bD.isParsed())return i.bD.getState();if(Ye.pluginStatus!==\"loading\")return i.bD.setState(Ye),Ye;let Ve=Ye.pluginURL;if(this.self.importScripts(Ve),i.bD.isParsed()){let Xe={pluginStatus:\"loaded\",pluginURL:Ve};return i.bD.setState(Xe),Xe}throw i.bD.setState({pluginStatus:\"error\",pluginURL:\"\"}),new Error(`RTL Text Plugin failed to import scripts from ${Ve}`)})}_getAvailableImages(Ne){let Ye=this.availableImages[Ne];return Ye||(Ye=[]),Ye}_getLayerIndex(Ne){let Ye=this.layerIndexes[Ne];return Ye||(Ye=this.layerIndexes[Ne]=new a),Ye}_getWorkerSource(Ne,Ye,Ve){if(this.workerSources[Ne]||(this.workerSources[Ne]={}),this.workerSources[Ne][Ye]||(this.workerSources[Ne][Ye]={}),!this.workerSources[Ne][Ye][Ve]){let Xe={sendAsync:(ht,Le)=>(ht.targetMapId=Ne,this.actor.sendAsync(ht,Le))};switch(Ye){case\"vector\":this.workerSources[Ne][Ye][Ve]=new u(Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne));break;case\"geojson\":this.workerSources[Ne][Ye][Ve]=new Or(Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne));break;default:this.workerSources[Ne][Ye][Ve]=new this.externalWorkerSourceTypes[Ye](Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne))}}return this.workerSources[Ne][Ye][Ve]}_getDEMWorkerSource(Ne,Ye){return this.demWorkerSources[Ne]||(this.demWorkerSources[Ne]={}),this.demWorkerSources[Ne][Ye]||(this.demWorkerSources[Ne][Ye]=new c),this.demWorkerSources[Ne][Ye]}}return i.i(self)&&(self.worker=new Nr(self)),Nr}),r(\"index\",[\"exports\",\"./shared\"],function(i,a){\"use strict\";var o=\"4.7.1\";let s,l,u={now:typeof performance!=\"undefined\"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:le=>new Promise((w,B)=>{let Q=requestAnimationFrame(w);le.signal.addEventListener(\"abort\",()=>{cancelAnimationFrame(Q),B(a.c())})}),getImageData(le,w=0){return this.getImageCanvasContext(le).getImageData(-w,-w,le.width+2*w,le.height+2*w)},getImageCanvasContext(le){let w=window.document.createElement(\"canvas\"),B=w.getContext(\"2d\",{willReadFrequently:!0});if(!B)throw new Error(\"failed to create canvas 2d context\");return w.width=le.width,w.height=le.height,B.drawImage(le,0,0,le.width,le.height),B},resolveURL:le=>(s||(s=document.createElement(\"a\")),s.href=le,s.href),hardwareConcurrency:typeof navigator!=\"undefined\"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(l==null&&(l=matchMedia(\"(prefers-reduced-motion: reduce)\")),l.matches)}};class c{static testProp(w){if(!c.docStyle)return w[0];for(let B=0;B<w.length;B++)if(w[B]in c.docStyle)return w[B];return w[0]}static create(w,B,Q){let ee=window.document.createElement(w);return B!==void 0&&(ee.className=B),Q&&Q.appendChild(ee),ee}static createNS(w,B){return window.document.createElementNS(w,B)}static disableDrag(){c.docStyle&&c.selectProp&&(c.userSelect=c.docStyle[c.selectProp],c.docStyle[c.selectProp]=\"none\")}static enableDrag(){c.docStyle&&c.selectProp&&(c.docStyle[c.selectProp]=c.userSelect)}static setTransform(w,B){w.style[c.transformProp]=B}static addEventListener(w,B,Q,ee={}){w.addEventListener(B,Q,\"passive\"in ee?ee:ee.capture)}static removeEventListener(w,B,Q,ee={}){w.removeEventListener(B,Q,\"passive\"in ee?ee:ee.capture)}static suppressClickInternal(w){w.preventDefault(),w.stopPropagation(),window.removeEventListener(\"click\",c.suppressClickInternal,!0)}static suppressClick(){window.addEventListener(\"click\",c.suppressClickInternal,!0),window.setTimeout(()=>{window.removeEventListener(\"click\",c.suppressClickInternal,!0)},0)}static getScale(w){let B=w.getBoundingClientRect();return{x:B.width/w.offsetWidth||1,y:B.height/w.offsetHeight||1,boundingClientRect:B}}static getPoint(w,B,Q){let ee=B.boundingClientRect;return new a.P((Q.clientX-ee.left)/B.x-w.clientLeft,(Q.clientY-ee.top)/B.y-w.clientTop)}static mousePos(w,B){let Q=c.getScale(w);return c.getPoint(w,Q,B)}static touchPos(w,B){let Q=[],ee=c.getScale(w);for(let se=0;se<B.length;se++)Q.push(c.getPoint(w,ee,B[se]));return Q}static mouseButton(w){return w.button}static remove(w){w.parentNode&&w.parentNode.removeChild(w)}}c.docStyle=typeof window!=\"undefined\"&&window.document&&window.document.documentElement.style,c.selectProp=c.testProp([\"userSelect\",\"MozUserSelect\",\"WebkitUserSelect\",\"msUserSelect\"]),c.transformProp=c.testProp([\"transform\",\"WebkitTransform\"]);let f={supported:!1,testSupport:function(le){!v&&d&&(x?b(le):h=le)}},h,d,v=!1,x=!1;function b(le){let w=le.createTexture();le.bindTexture(le.TEXTURE_2D,w);try{if(le.texImage2D(le.TEXTURE_2D,0,le.RGBA,le.RGBA,le.UNSIGNED_BYTE,d),le.isContextLost())return;f.supported=!0}catch(B){}le.deleteTexture(w),v=!0}var p;typeof document!=\"undefined\"&&(d=document.createElement(\"img\"),d.onload=()=>{h&&b(h),h=null,x=!0},d.onerror=()=>{v=!0,h=null},d.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\"),function(le){let w,B,Q,ee;le.resetRequestQueue=()=>{w=[],B=0,Q=0,ee={}},le.addThrottleControl=it=>{let yt=Q++;return ee[yt]=it,yt},le.removeThrottleControl=it=>{delete ee[it],qe()},le.getImage=(it,yt,Ot=!0)=>new Promise((Nt,hr)=>{f.supported&&(it.headers||(it.headers={}),it.headers.accept=\"image/webp,*/*\"),a.e(it,{type:\"image\"}),w.push({abortController:yt,requestParameters:it,supportImageRefresh:Ot,state:\"queued\",onError:Sr=>{hr(Sr)},onSuccess:Sr=>{Nt(Sr)}}),qe()});let se=it=>a._(this,void 0,void 0,function*(){it.state=\"running\";let{requestParameters:yt,supportImageRefresh:Ot,onError:Nt,onSuccess:hr,abortController:Sr}=it,he=Ot===!1&&!a.i(self)&&!a.g(yt.url)&&(!yt.headers||Object.keys(yt.headers).reduce((Oe,Je)=>Oe&&Je===\"accept\",!0));B++;let be=he?je(yt,Sr):a.m(yt,Sr);try{let Oe=yield be;delete it.abortController,it.state=\"completed\",Oe.data instanceof HTMLImageElement||a.b(Oe.data)?hr(Oe):Oe.data&&hr({data:yield(Pe=Oe.data,typeof createImageBitmap==\"function\"?a.d(Pe):a.f(Pe)),cacheControl:Oe.cacheControl,expires:Oe.expires})}catch(Oe){delete it.abortController,Nt(Oe)}finally{B--,qe()}var Pe}),qe=()=>{let it=(()=>{for(let yt of Object.keys(ee))if(ee[yt]())return!0;return!1})()?a.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:a.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let yt=B;yt<it&&w.length>0;yt++){let Ot=w.shift();Ot.abortController.signal.aborted?yt--:se(Ot)}},je=(it,yt)=>new Promise((Ot,Nt)=>{let hr=new Image,Sr=it.url,he=it.credentials;he&&he===\"include\"?hr.crossOrigin=\"use-credentials\":(he&&he===\"same-origin\"||!a.s(Sr))&&(hr.crossOrigin=\"anonymous\"),yt.signal.addEventListener(\"abort\",()=>{hr.src=\"\",Nt(a.c())}),hr.fetchPriority=\"high\",hr.onload=()=>{hr.onerror=hr.onload=null,Ot({data:hr})},hr.onerror=()=>{hr.onerror=hr.onload=null,yt.signal.aborted||Nt(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.\"))},hr.src=Sr})}(p||(p={})),p.resetRequestQueue();class E{constructor(w){this._transformRequestFn=w}transformRequest(w,B){return this._transformRequestFn&&this._transformRequestFn(w,B)||{url:w}}setTransformRequest(w){this._transformRequestFn=w}}function k(le){var w=new a.A(3);return w[0]=le[0],w[1]=le[1],w[2]=le[2],w}var A,L=function(le,w,B){return le[0]=w[0]-B[0],le[1]=w[1]-B[1],le[2]=w[2]-B[2],le};A=new a.A(3),a.A!=Float32Array&&(A[0]=0,A[1]=0,A[2]=0);var _=function(le){var w=le[0],B=le[1];return w*w+B*B};function C(le){let w=[];if(typeof le==\"string\")w.push({id:\"default\",url:le});else if(le&&le.length>0){let B=[];for(let{id:Q,url:ee}of le){let se=`${Q}${ee}`;B.indexOf(se)===-1&&(B.push(se),w.push({id:Q,url:ee}))}}return w}function M(le,w,B){let Q=le.split(\"?\");return Q[0]+=`${w}${B}`,Q.join(\"?\")}(function(){var le=new a.A(2);a.A!=Float32Array&&(le[0]=0,le[1]=0)})();class g{constructor(w,B,Q,ee){this.context=w,this.format=Q,this.texture=w.gl.createTexture(),this.update(B,ee)}update(w,B,Q){let{width:ee,height:se}=w,qe=!(this.size&&this.size[0]===ee&&this.size[1]===se||Q),{context:je}=this,{gl:it}=je;if(this.useMipmap=!!(B&&B.useMipmap),it.bindTexture(it.TEXTURE_2D,this.texture),je.pixelStoreUnpackFlipY.set(!1),je.pixelStoreUnpack.set(1),je.pixelStoreUnpackPremultiplyAlpha.set(this.format===it.RGBA&&(!B||B.premultiply!==!1)),qe)this.size=[ee,se],w instanceof HTMLImageElement||w instanceof HTMLCanvasElement||w instanceof HTMLVideoElement||w instanceof ImageData||a.b(w)?it.texImage2D(it.TEXTURE_2D,0,this.format,this.format,it.UNSIGNED_BYTE,w):it.texImage2D(it.TEXTURE_2D,0,this.format,ee,se,0,this.format,it.UNSIGNED_BYTE,w.data);else{let{x:yt,y:Ot}=Q||{x:0,y:0};w instanceof HTMLImageElement||w instanceof HTMLCanvasElement||w instanceof HTMLVideoElement||w instanceof ImageData||a.b(w)?it.texSubImage2D(it.TEXTURE_2D,0,yt,Ot,it.RGBA,it.UNSIGNED_BYTE,w):it.texSubImage2D(it.TEXTURE_2D,0,yt,Ot,ee,se,it.RGBA,it.UNSIGNED_BYTE,w.data)}this.useMipmap&&this.isSizePowerOfTwo()&&it.generateMipmap(it.TEXTURE_2D)}bind(w,B,Q){let{context:ee}=this,{gl:se}=ee;se.bindTexture(se.TEXTURE_2D,this.texture),Q!==se.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(Q=se.LINEAR),w!==this.filter&&(se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MAG_FILTER,w),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MIN_FILTER,Q||w),this.filter=w),B!==this.wrap&&(se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_S,B),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_T,B),this.wrap=B)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:w}=this.context;w.deleteTexture(this.texture),this.texture=null}}function P(le){let{userImage:w}=le;return!!(w&&w.render&&w.render())&&(le.data.replace(new Uint8Array(w.data.buffer)),!0)}class T extends a.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new a.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(w){if(this.loaded!==w&&(this.loaded=w,w)){for(let{ids:B,promiseResolve:Q}of this.requestors)Q(this._getImagesForIds(B));this.requestors=[]}}getImage(w){let B=this.images[w];if(B&&!B.data&&B.spriteData){let Q=B.spriteData;B.data=new a.R({width:Q.width,height:Q.height},Q.context.getImageData(Q.x,Q.y,Q.width,Q.height).data),B.spriteData=null}return B}addImage(w,B){if(this.images[w])throw new Error(`Image id ${w} already exist, use updateImage instead`);this._validate(w,B)&&(this.images[w]=B)}_validate(w,B){let Q=!0,ee=B.data||B.spriteData;return this._validateStretch(B.stretchX,ee&&ee.width)||(this.fire(new a.j(new Error(`Image \"${w}\" has invalid \"stretchX\" value`))),Q=!1),this._validateStretch(B.stretchY,ee&&ee.height)||(this.fire(new a.j(new Error(`Image \"${w}\" has invalid \"stretchY\" value`))),Q=!1),this._validateContent(B.content,B)||(this.fire(new a.j(new Error(`Image \"${w}\" has invalid \"content\" value`))),Q=!1),Q}_validateStretch(w,B){if(!w)return!0;let Q=0;for(let ee of w){if(ee[0]<Q||ee[1]<ee[0]||B<ee[1])return!1;Q=ee[1]}return!0}_validateContent(w,B){if(!w)return!0;if(w.length!==4)return!1;let Q=B.spriteData,ee=Q&&Q.width||B.data.width,se=Q&&Q.height||B.data.height;return!(w[0]<0||ee<w[0]||w[1]<0||se<w[1]||w[2]<0||ee<w[2]||w[3]<0||se<w[3]||w[2]<w[0]||w[3]<w[1])}updateImage(w,B,Q=!0){let ee=this.getImage(w);if(Q&&(ee.data.width!==B.data.width||ee.data.height!==B.data.height))throw new Error(`size mismatch between old image (${ee.data.width}x${ee.data.height}) and new image (${B.data.width}x${B.data.height}).`);B.version=ee.version+1,this.images[w]=B,this.updatedImages[w]=!0}removeImage(w){let B=this.images[w];delete this.images[w],delete this.patterns[w],B.userImage&&B.userImage.onRemove&&B.userImage.onRemove()}listImages(){return Object.keys(this.images)}getImages(w){return new Promise((B,Q)=>{let ee=!0;if(!this.isLoaded())for(let se of w)this.images[se]||(ee=!1);this.isLoaded()||ee?B(this._getImagesForIds(w)):this.requestors.push({ids:w,promiseResolve:B})})}_getImagesForIds(w){let B={};for(let Q of w){let ee=this.getImage(Q);ee||(this.fire(new a.k(\"styleimagemissing\",{id:Q})),ee=this.getImage(Q)),ee?B[Q]={data:ee.data.clone(),pixelRatio:ee.pixelRatio,sdf:ee.sdf,version:ee.version,stretchX:ee.stretchX,stretchY:ee.stretchY,content:ee.content,textFitWidth:ee.textFitWidth,textFitHeight:ee.textFitHeight,hasRenderCallback:!!(ee.userImage&&ee.userImage.render)}:a.w(`Image \"${Q}\" 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 B}getPixelSize(){let{width:w,height:B}=this.atlasImage;return{width:w,height:B}}getPattern(w){let B=this.patterns[w],Q=this.getImage(w);if(!Q)return null;if(B&&B.position.version===Q.version)return B.position;if(B)B.position.version=Q.version;else{let ee={w:Q.data.width+2,h:Q.data.height+2,x:0,y:0},se=new a.I(ee,Q);this.patterns[w]={bin:ee,position:se}}return this._updatePatternAtlas(),this.patterns[w].position}bind(w){let B=w.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new g(w,this.atlasImage,B.RGBA),this.atlasTexture.bind(B.LINEAR,B.CLAMP_TO_EDGE)}_updatePatternAtlas(){let w=[];for(let se in this.patterns)w.push(this.patterns[se].bin);let{w:B,h:Q}=a.p(w),ee=this.atlasImage;ee.resize({width:B||1,height:Q||1});for(let se in this.patterns){let{bin:qe}=this.patterns[se],je=qe.x+1,it=qe.y+1,yt=this.getImage(se).data,Ot=yt.width,Nt=yt.height;a.R.copy(yt,ee,{x:0,y:0},{x:je,y:it},{width:Ot,height:Nt}),a.R.copy(yt,ee,{x:0,y:Nt-1},{x:je,y:it-1},{width:Ot,height:1}),a.R.copy(yt,ee,{x:0,y:0},{x:je,y:it+Nt},{width:Ot,height:1}),a.R.copy(yt,ee,{x:Ot-1,y:0},{x:je-1,y:it},{width:1,height:Nt}),a.R.copy(yt,ee,{x:0,y:0},{x:je+Ot,y:it},{width:1,height:Nt})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(w){for(let B of w){if(this.callbackDispatchedThisFrame[B])continue;this.callbackDispatchedThisFrame[B]=!0;let Q=this.getImage(B);Q||a.w(`Image with ID: \"${B}\" was not found`),P(Q)&&this.updateImage(B,Q)}}}let F=1e20;function q(le,w,B,Q,ee,se,qe,je,it){for(let yt=w;yt<w+Q;yt++)V(le,B*se+yt,se,ee,qe,je,it);for(let yt=B;yt<B+ee;yt++)V(le,yt*se+w,1,Q,qe,je,it)}function V(le,w,B,Q,ee,se,qe){se[0]=0,qe[0]=-F,qe[1]=F,ee[0]=le[w];for(let je=1,it=0,yt=0;je<Q;je++){ee[je]=le[w+je*B];let Ot=je*je;do{let Nt=se[it];yt=(ee[je]-ee[Nt]+Ot-Nt*Nt)/(je-Nt)/2}while(yt<=qe[it]&&--it>-1);it++,se[it]=je,qe[it]=yt,qe[it+1]=F}for(let je=0,it=0;je<Q;je++){for(;qe[it+1]<je;)it++;let yt=se[it],Ot=je-yt;le[w+je*B]=ee[yt]+Ot*Ot}}class H{constructor(w,B){this.requestManager=w,this.localIdeographFontFamily=B,this.entries={}}setURL(w){this.url=w}getGlyphs(w){return a._(this,void 0,void 0,function*(){let B=[];for(let se in w)for(let qe of w[se])B.push(this._getAndCacheGlyphsPromise(se,qe));let Q=yield Promise.all(B),ee={};for(let{stack:se,id:qe,glyph:je}of Q)ee[se]||(ee[se]={}),ee[se][qe]=je&&{id:je.id,bitmap:je.bitmap.clone(),metrics:je.metrics};return ee})}_getAndCacheGlyphsPromise(w,B){return a._(this,void 0,void 0,function*(){let Q=this.entries[w];Q||(Q=this.entries[w]={glyphs:{},requests:{},ranges:{}});let ee=Q.glyphs[B];if(ee!==void 0)return{stack:w,id:B,glyph:ee};if(ee=this._tinySDF(Q,w,B),ee)return Q.glyphs[B]=ee,{stack:w,id:B,glyph:ee};let se=Math.floor(B/256);if(256*se>65535)throw new Error(\"glyphs > 65535 not supported\");if(Q.ranges[se])return{stack:w,id:B,glyph:ee};if(!this.url)throw new Error(\"glyphsUrl is not set\");if(!Q.requests[se]){let je=H.loadGlyphRange(w,se,this.url,this.requestManager);Q.requests[se]=je}let qe=yield Q.requests[se];for(let je in qe)this._doesCharSupportLocalGlyph(+je)||(Q.glyphs[+je]=qe[+je]);return Q.ranges[se]=!0,{stack:w,id:B,glyph:qe[B]||null}})}_doesCharSupportLocalGlyph(w){return!!this.localIdeographFontFamily&&new RegExp(\"\\\\p{Ideo}|\\\\p{sc=Hang}|\\\\p{sc=Hira}|\\\\p{sc=Kana}\",\"u\").test(String.fromCodePoint(w))}_tinySDF(w,B,Q){let ee=this.localIdeographFontFamily;if(!ee||!this._doesCharSupportLocalGlyph(Q))return;let se=w.tinySDF;if(!se){let je=\"400\";/bold/i.test(B)?je=\"900\":/medium/i.test(B)?je=\"500\":/light/i.test(B)&&(je=\"200\"),se=w.tinySDF=new H.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:ee,fontWeight:je})}let qe=se.draw(String.fromCharCode(Q));return{id:Q,bitmap:new a.o({width:qe.width||60,height:qe.height||60},qe.data),metrics:{width:qe.glyphWidth/2||24,height:qe.glyphHeight/2||24,left:qe.glyphLeft/2+.5||0,top:qe.glyphTop/2-27.5||-8,advance:qe.glyphAdvance/2||24,isDoubleResolution:!0}}}}H.loadGlyphRange=function(le,w,B,Q){return a._(this,void 0,void 0,function*(){let ee=256*w,se=ee+255,qe=Q.transformRequest(B.replace(\"{fontstack}\",le).replace(\"{range}\",`${ee}-${se}`),\"Glyphs\"),je=yield a.l(qe,new AbortController);if(!je||!je.data)throw new Error(`Could not load glyph range. range: ${w}, ${ee}-${se}`);let it={};for(let yt of a.n(je.data))it[yt.id]=yt;return it})},H.TinySDF=class{constructor({fontSize:le=24,buffer:w=3,radius:B=8,cutoff:Q=.25,fontFamily:ee=\"sans-serif\",fontWeight:se=\"normal\",fontStyle:qe=\"normal\"}={}){this.buffer=w,this.cutoff=Q,this.radius=B;let je=this.size=le+4*w,it=this._createCanvas(je),yt=this.ctx=it.getContext(\"2d\",{willReadFrequently:!0});yt.font=`${qe} ${se} ${le}px ${ee}`,yt.textBaseline=\"alphabetic\",yt.textAlign=\"left\",yt.fillStyle=\"black\",this.gridOuter=new Float64Array(je*je),this.gridInner=new Float64Array(je*je),this.f=new Float64Array(je),this.z=new Float64Array(je+1),this.v=new Uint16Array(je)}_createCanvas(le){let w=document.createElement(\"canvas\");return w.width=w.height=le,w}draw(le){let{width:w,actualBoundingBoxAscent:B,actualBoundingBoxDescent:Q,actualBoundingBoxLeft:ee,actualBoundingBoxRight:se}=this.ctx.measureText(le),qe=Math.ceil(B),je=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(se-ee))),it=Math.min(this.size-this.buffer,qe+Math.ceil(Q)),yt=je+2*this.buffer,Ot=it+2*this.buffer,Nt=Math.max(yt*Ot,0),hr=new Uint8ClampedArray(Nt),Sr={data:hr,width:yt,height:Ot,glyphWidth:je,glyphHeight:it,glyphTop:qe,glyphLeft:0,glyphAdvance:w};if(je===0||it===0)return Sr;let{ctx:he,buffer:be,gridInner:Pe,gridOuter:Oe}=this;he.clearRect(be,be,je,it),he.fillText(le,be,be+qe);let Je=he.getImageData(be,be,je,it);Oe.fill(F,0,Nt),Pe.fill(0,0,Nt);for(let He=0;He<it;He++)for(let et=0;et<je;et++){let Mt=Je.data[4*(He*je+et)+3]/255;if(Mt===0)continue;let Dt=(He+be)*yt+et+be;if(Mt===1)Oe[Dt]=0,Pe[Dt]=F;else{let Ut=.5-Mt;Oe[Dt]=Ut>0?Ut*Ut:0,Pe[Dt]=Ut<0?Ut*Ut:0}}q(Oe,0,0,yt,Ot,yt,this.f,this.v,this.z),q(Pe,be,be,je,it,yt,this.f,this.v,this.z);for(let He=0;He<Nt;He++){let et=Math.sqrt(Oe[He])-Math.sqrt(Pe[He]);hr[He]=Math.round(255-255*(et/this.radius+this.cutoff))}return Sr}};class X{constructor(){this.specification=a.v.light.position}possiblyEvaluate(w,B){return a.x(w.expression.evaluate(B))}interpolate(w,B,Q){return{x:a.y.number(w.x,B.x,Q),y:a.y.number(w.y,B.y,Q),z:a.y.number(w.z,B.z,Q)}}}let G;class N extends a.E{constructor(w){super(),G=G||new a.q({anchor:new a.D(a.v.light.anchor),position:new X,color:new a.D(a.v.light.color),intensity:new a.D(a.v.light.intensity)}),this._transitionable=new a.T(G),this.setLight(w),this._transitioning=this._transitionable.untransitioned()}getLight(){return this._transitionable.serialize()}setLight(w,B={}){if(!this._validate(a.r,w,B))for(let Q in w){let ee=w[Q];Q.endsWith(\"-transition\")?this._transitionable.setTransition(Q.slice(0,-11),ee):this._transitionable.setValue(Q,ee)}}updateTransitions(w){this._transitioning=this._transitionable.transitioned(w,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(w){this.properties=this._transitioning.possiblyEvaluate(w)}_validate(w,B,Q){return(!Q||Q.validate!==!1)&&a.t(this,w.call(a.u,{value:B,style:{glyphs:!0,sprite:!0},styleSpec:a.v}))}}let W=new a.q({\"sky-color\":new a.D(a.v.sky[\"sky-color\"]),\"horizon-color\":new a.D(a.v.sky[\"horizon-color\"]),\"fog-color\":new a.D(a.v.sky[\"fog-color\"]),\"fog-ground-blend\":new a.D(a.v.sky[\"fog-ground-blend\"]),\"horizon-fog-blend\":new a.D(a.v.sky[\"horizon-fog-blend\"]),\"sky-horizon-blend\":new a.D(a.v.sky[\"sky-horizon-blend\"]),\"atmosphere-blend\":new a.D(a.v.sky[\"atmosphere-blend\"])});class re extends a.E{constructor(w){super(),this._transitionable=new a.T(W),this.setSky(w),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new a.z(0))}setSky(w,B={}){if(!this._validate(a.B,w,B)){w||(w={\"sky-color\":\"transparent\",\"horizon-color\":\"transparent\",\"fog-color\":\"transparent\",\"fog-ground-blend\":1,\"atmosphere-blend\":0});for(let Q in w){let ee=w[Q];Q.endsWith(\"-transition\")?this._transitionable.setTransition(Q.slice(0,-11),ee):this._transitionable.setValue(Q,ee)}}}getSky(){return this._transitionable.serialize()}updateTransitions(w){this._transitioning=this._transitionable.transitioned(w,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(w){this.properties=this._transitioning.possiblyEvaluate(w)}_validate(w,B,Q={}){return(Q==null?void 0:Q.validate)!==!1&&a.t(this,w.call(a.u,a.e({value:B,style:{glyphs:!0,sprite:!0},styleSpec:a.v})))}calculateFogBlendOpacity(w){return w<60?0:w<70?(w-60)/10:1}}class ae{constructor(w,B){this.width=w,this.height=B,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}}getDash(w,B){let Q=w.join(\",\")+String(B);return this.dashEntry[Q]||(this.dashEntry[Q]=this.addDash(w,B)),this.dashEntry[Q]}getDashRanges(w,B,Q){let ee=[],se=w.length%2==1?-w[w.length-1]*Q:0,qe=w[0]*Q,je=!0;ee.push({left:se,right:qe,isDash:je,zeroLength:w[0]===0});let it=w[0];for(let yt=1;yt<w.length;yt++){je=!je;let Ot=w[yt];se=it*Q,it+=Ot,qe=it*Q,ee.push({left:se,right:qe,isDash:je,zeroLength:Ot===0})}return ee}addRoundDash(w,B,Q){let ee=B/2;for(let se=-Q;se<=Q;se++){let qe=this.width*(this.nextRow+Q+se),je=0,it=w[je];for(let yt=0;yt<this.width;yt++){yt/it.right>1&&(it=w[++je]);let Ot=Math.abs(yt-it.left),Nt=Math.abs(yt-it.right),hr=Math.min(Ot,Nt),Sr,he=se/Q*(ee+1);if(it.isDash){let be=ee-Math.abs(he);Sr=Math.sqrt(hr*hr+be*be)}else Sr=ee-Math.sqrt(hr*hr+he*he);this.data[qe+yt]=Math.max(0,Math.min(255,Sr+128))}}}addRegularDash(w){for(let je=w.length-1;je>=0;--je){let it=w[je],yt=w[je+1];it.zeroLength?w.splice(je,1):yt&&yt.isDash===it.isDash&&(yt.left=it.left,w.splice(je,1))}let B=w[0],Q=w[w.length-1];B.isDash===Q.isDash&&(B.left=Q.left-this.width,Q.right=B.right+this.width);let ee=this.width*this.nextRow,se=0,qe=w[se];for(let je=0;je<this.width;je++){je/qe.right>1&&(qe=w[++se]);let it=Math.abs(je-qe.left),yt=Math.abs(je-qe.right),Ot=Math.min(it,yt);this.data[ee+je]=Math.max(0,Math.min(255,(qe.isDash?Ot:-Ot)+128))}}addDash(w,B){let Q=B?7:0,ee=2*Q+1;if(this.nextRow+ee>this.height)return a.w(\"LineAtlas out of space\"),null;let se=0;for(let je=0;je<w.length;je++)se+=w[je];if(se!==0){let je=this.width/se,it=this.getDashRanges(w,this.width,je);B?this.addRoundDash(it,je,Q):this.addRegularDash(it)}let qe={y:(this.nextRow+Q+.5)/this.height,height:2*Q/this.height,width:se};return this.nextRow+=ee,this.dirty=!0,qe}bind(w){let B=w.gl;this.texture?(B.bindTexture(B.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,B.texSubImage2D(B.TEXTURE_2D,0,0,0,this.width,this.height,B.ALPHA,B.UNSIGNED_BYTE,this.data))):(this.texture=B.createTexture(),B.bindTexture(B.TEXTURE_2D,this.texture),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_S,B.REPEAT),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_T,B.REPEAT),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MIN_FILTER,B.LINEAR),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MAG_FILTER,B.LINEAR),B.texImage2D(B.TEXTURE_2D,0,B.ALPHA,this.width,this.height,0,B.ALPHA,B.UNSIGNED_BYTE,this.data))}}let _e=\"maplibre_preloaded_worker_pool\";class Me{constructor(){this.active={}}acquire(w){if(!this.workers)for(this.workers=[];this.workers.length<Me.workerCount;)this.workers.push(new Worker(a.a.WORKER_URL));return this.active[w]=!0,this.workers.slice()}release(w){delete this.active[w],this.numActive()===0&&(this.workers.forEach(B=>{B.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[_e]}numActive(){return Object.keys(this.active).length}}let ke=Math.floor(u.hardwareConcurrency/2),ge,ie;function Te(){return ge||(ge=new Me),ge}Me.workerCount=a.C(globalThis)?Math.max(Math.min(ke,3),1):1;class Ee{constructor(w,B){this.workerPool=w,this.actors=[],this.currentActor=0,this.id=B;let Q=this.workerPool.acquire(B);for(let ee=0;ee<Q.length;ee++){let se=new a.F(Q[ee],B);se.name=`Worker ${ee}`,this.actors.push(se)}if(!this.actors.length)throw new Error(\"No actors found\")}broadcast(w,B){let Q=[];for(let ee of this.actors)Q.push(ee.sendAsync({type:w,data:B}));return Promise.all(Q)}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(w=!0){this.actors.forEach(B=>{B.remove()}),this.actors=[],w&&this.workerPool.release(this.id)}registerMessageHandler(w,B){for(let Q of this.actors)Q.registerMessageHandler(w,B)}}function Ae(){return ie||(ie=new Ee(Te(),a.G),ie.registerMessageHandler(\"GR\",(le,w,B)=>a.m(w,B))),ie}function ze(le,w){let B=a.H();return a.J(B,B,[1,1,0]),a.K(B,B,[.5*le.width,.5*le.height,1]),a.L(B,B,le.calculatePosMatrix(w.toUnwrapped()))}function Ce(le,w,B,Q,ee,se){let qe=function(Nt,hr,Sr){if(Nt)for(let he of Nt){let be=hr[he];if(be&&be.source===Sr&&be.type===\"fill-extrusion\")return!0}else for(let he in hr){let be=hr[he];if(be.source===Sr&&be.type===\"fill-extrusion\")return!0}return!1}(ee&&ee.layers,w,le.id),je=se.maxPitchScaleFactor(),it=le.tilesIn(Q,je,qe);it.sort(me);let yt=[];for(let Nt of it)yt.push({wrappedTileID:Nt.tileID.wrapped().key,queryResults:Nt.tile.queryRenderedFeatures(w,B,le._state,Nt.queryGeometry,Nt.cameraQueryGeometry,Nt.scale,ee,se,je,ze(le.transform,Nt.tileID))});let Ot=function(Nt){let hr={},Sr={};for(let he of Nt){let be=he.queryResults,Pe=he.wrappedTileID,Oe=Sr[Pe]=Sr[Pe]||{};for(let Je in be){let He=be[Je],et=Oe[Je]=Oe[Je]||{},Mt=hr[Je]=hr[Je]||[];for(let Dt of He)et[Dt.featureIndex]||(et[Dt.featureIndex]=!0,Mt.push(Dt))}}return hr}(yt);for(let Nt in Ot)Ot[Nt].forEach(hr=>{let Sr=hr.feature,he=le.getFeatureState(Sr.layer[\"source-layer\"],Sr.id);Sr.source=Sr.layer.source,Sr.layer[\"source-layer\"]&&(Sr.sourceLayer=Sr.layer[\"source-layer\"]),Sr.state=he});return Ot}function me(le,w){let B=le.tileID,Q=w.tileID;return B.overscaledZ-Q.overscaledZ||B.canonical.y-Q.canonical.y||B.wrap-Q.wrap||B.canonical.x-Q.canonical.x}function Re(le,w,B){return a._(this,void 0,void 0,function*(){let Q=le;if(le.url?Q=(yield a.h(w.transformRequest(le.url,\"Source\"),B)).data:yield u.frameAsync(B),!Q)return null;let ee=a.M(a.e(Q,le),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);return\"vector_layers\"in Q&&Q.vector_layers&&(ee.vectorLayerIds=Q.vector_layers.map(se=>se.id)),ee})}class ce{constructor(w,B){w&&(B?this.setSouthWest(w).setNorthEast(B):Array.isArray(w)&&(w.length===4?this.setSouthWest([w[0],w[1]]).setNorthEast([w[2],w[3]]):this.setSouthWest(w[0]).setNorthEast(w[1])))}setNorthEast(w){return this._ne=w instanceof a.N?new a.N(w.lng,w.lat):a.N.convert(w),this}setSouthWest(w){return this._sw=w instanceof a.N?new a.N(w.lng,w.lat):a.N.convert(w),this}extend(w){let B=this._sw,Q=this._ne,ee,se;if(w instanceof a.N)ee=w,se=w;else{if(!(w instanceof ce))return Array.isArray(w)?w.length===4||w.every(Array.isArray)?this.extend(ce.convert(w)):this.extend(a.N.convert(w)):w&&(\"lng\"in w||\"lon\"in w)&&\"lat\"in w?this.extend(a.N.convert(w)):this;if(ee=w._sw,se=w._ne,!ee||!se)return this}return B||Q?(B.lng=Math.min(ee.lng,B.lng),B.lat=Math.min(ee.lat,B.lat),Q.lng=Math.max(se.lng,Q.lng),Q.lat=Math.max(se.lat,Q.lat)):(this._sw=new a.N(ee.lng,ee.lat),this._ne=new a.N(se.lng,se.lat)),this}getCenter(){return new a.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 a.N(this.getWest(),this.getNorth())}getSouthEast(){return new a.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(w){let{lng:B,lat:Q}=a.N.convert(w),ee=this._sw.lng<=B&&B<=this._ne.lng;return this._sw.lng>this._ne.lng&&(ee=this._sw.lng>=B&&B>=this._ne.lng),this._sw.lat<=Q&&Q<=this._ne.lat&&ee}static convert(w){return w instanceof ce?w:w&&new ce(w)}static fromLngLat(w,B=0){let Q=360*B/40075017,ee=Q/Math.cos(Math.PI/180*w.lat);return new ce(new a.N(w.lng-ee,w.lat-Q),new a.N(w.lng+ee,w.lat+Q))}adjustAntiMeridian(){let w=new a.N(this._sw.lng,this._sw.lat),B=new a.N(this._ne.lng,this._ne.lat);return new ce(w,w.lng>B.lng?new a.N(B.lng+360,B.lat):B)}}class Ge{constructor(w,B,Q){this.bounds=ce.convert(this.validateBounds(w)),this.minzoom=B||0,this.maxzoom=Q||24}validateBounds(w){return Array.isArray(w)&&w.length===4?[Math.max(-180,w[0]),Math.max(-90,w[1]),Math.min(180,w[2]),Math.min(90,w[3])]:[-180,-90,180,90]}contains(w){let B=Math.pow(2,w.z),Q=Math.floor(a.O(this.bounds.getWest())*B),ee=Math.floor(a.Q(this.bounds.getNorth())*B),se=Math.ceil(a.O(this.bounds.getEast())*B),qe=Math.ceil(a.Q(this.bounds.getSouth())*B);return w.x>=Q&&w.x<se&&w.y>=ee&&w.y<qe}}class nt extends a.E{constructor(w,B,Q,ee){if(super(),this.id=w,this.dispatcher=Q,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,a.e(this,a.M(B,[\"url\",\"scheme\",\"tileSize\",\"promoteId\"])),this._options=a.e({type:\"vector\"},B),this._collectResourceTiming=B.collectResourceTiming,this.tileSize!==512)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(ee)}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=new AbortController;try{let w=yield Re(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,this.map.style.sourceCaches[this.id].clearTiles(),w&&(a.e(this,w),w.bounds&&(this.tileBounds=new Ge(w.bounds,this.minzoom,this.maxzoom)),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))}catch(w){this._tileJSONRequest=null,this.fire(new a.j(w))}})}loaded(){return this._loaded}hasTile(w){return!this.tileBounds||this.tileBounds.contains(w.canonical)}onAdd(w){this.map=w,this.load()}setSourceProperty(w){this._tileJSONRequest&&this._tileJSONRequest.abort(),w(),this.load()}setTiles(w){return this.setSourceProperty(()=>{this._options.tiles=w}),this}setUrl(w){return this.setSourceProperty(()=>{this.url=w,this._options.url=w}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return a.e({},this._options)}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),Q={request:this.map._requestManager.transformRequest(B,\"Tile\"),uid:w.uid,tileID:w.tileID,zoom:w.tileID.overscaledZ,tileSize:this.tileSize*w.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};Q.request.collectResourceTiming=this._collectResourceTiming;let ee=\"RT\";if(w.actor&&w.state!==\"expired\"){if(w.state===\"loading\")return new Promise((se,qe)=>{w.reloadPromise={resolve:se,reject:qe}})}else w.actor=this.dispatcher.getActor(),ee=\"LT\";w.abortController=new AbortController;try{let se=yield w.actor.sendAsync({type:ee,data:Q},w.abortController);if(delete w.abortController,w.aborted)return;this._afterTileLoadWorkerResponse(w,se)}catch(se){if(delete w.abortController,w.aborted)return;if(se&&se.status!==404)throw se;this._afterTileLoadWorkerResponse(w,null)}})}_afterTileLoadWorkerResponse(w,B){if(B&&B.resourceTiming&&(w.resourceTiming=B.resourceTiming),B&&this.map._refreshExpiredTiles&&w.setExpiryData(B),w.loadVectorData(B,this.map.painter),w.reloadPromise){let Q=w.reloadPromise;w.reloadPromise=null,this.loadTile(w).then(Q.resolve).catch(Q.reject)}}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController),w.actor&&(yield w.actor.sendAsync({type:\"AT\",data:{uid:w.uid,type:this.type,source:this.id}}))})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.unloadVectorData(),w.actor&&(yield w.actor.sendAsync({type:\"RMT\",data:{uid:w.uid,type:this.type,source:this.id}}))})}hasTransition(){return!1}}class ct extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.dispatcher=Q,this.setEventedParent(ee),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=a.e({type:\"raster\"},B),a.e(this,a.M(B,[\"url\",\"scheme\",\"tileSize\"]))}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=new AbortController;try{let w=yield Re(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,w&&(a.e(this,w),w.bounds&&(this.tileBounds=new Ge(w.bounds,this.minzoom,this.maxzoom)),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))}catch(w){this._tileJSONRequest=null,this.fire(new a.j(w))}})}loaded(){return this._loaded}onAdd(w){this.map=w,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(w){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),w(),this.load()}setTiles(w){return this.setSourceProperty(()=>{this._options.tiles=w}),this}setUrl(w){return this.setSourceProperty(()=>{this.url=w,this._options.url=w}),this}serialize(){return a.e({},this._options)}hasTile(w){return!this.tileBounds||this.tileBounds.contains(w.canonical)}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);w.abortController=new AbortController;try{let Q=yield p.getImage(this.map._requestManager.transformRequest(B,\"Tile\"),w.abortController,this.map._refreshExpiredTiles);if(delete w.abortController,w.aborted)return void(w.state=\"unloaded\");if(Q&&Q.data){this.map._refreshExpiredTiles&&Q.cacheControl&&Q.expires&&w.setExpiryData({cacheControl:Q.cacheControl,expires:Q.expires});let ee=this.map.painter.context,se=ee.gl,qe=Q.data;w.texture=this.map.painter.getTileTexture(qe.width),w.texture?w.texture.update(qe,{useMipmap:!0}):(w.texture=new g(ee,qe,se.RGBA,{useMipmap:!0}),w.texture.bind(se.LINEAR,se.CLAMP_TO_EDGE,se.LINEAR_MIPMAP_NEAREST)),w.state=\"loaded\"}}catch(Q){if(delete w.abortController,w.aborted)w.state=\"unloaded\";else if(Q)throw w.state=\"errored\",Q}})}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController)})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.texture&&this.map.painter.saveTileTexture(w.texture)})}hasTransition(){return!1}}class qt extends ct{constructor(w,B,Q,ee){super(w,B,Q,ee),this.type=\"raster-dem\",this.maxzoom=22,this._options=a.e({type:\"raster-dem\"},B),this.encoding=B.encoding||\"mapbox\",this.redFactor=B.redFactor,this.greenFactor=B.greenFactor,this.blueFactor=B.blueFactor,this.baseShift=B.baseShift}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),Q=this.map._requestManager.transformRequest(B,\"Tile\");w.neighboringTiles=this._getNeighboringTiles(w.tileID),w.abortController=new AbortController;try{let ee=yield p.getImage(Q,w.abortController,this.map._refreshExpiredTiles);if(delete w.abortController,w.aborted)return void(w.state=\"unloaded\");if(ee&&ee.data){let se=ee.data;this.map._refreshExpiredTiles&&ee.cacheControl&&ee.expires&&w.setExpiryData({cacheControl:ee.cacheControl,expires:ee.expires});let qe=a.b(se)&&a.U()?se:yield this.readImageNow(se),je={type:this.type,uid:w.uid,source:this.id,rawImageData:qe,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!w.actor||w.state===\"expired\"){w.actor=this.dispatcher.getActor();let it=yield w.actor.sendAsync({type:\"LDT\",data:je});w.dem=it,w.needsHillshadePrepare=!0,w.needsTerrainPrepare=!0,w.state=\"loaded\"}}}catch(ee){if(delete w.abortController,w.aborted)w.state=\"unloaded\";else if(ee)throw w.state=\"errored\",ee}})}readImageNow(w){return a._(this,void 0,void 0,function*(){if(typeof VideoFrame!=\"undefined\"&&a.V()){let B=w.width+2,Q=w.height+2;try{return new a.R({width:B,height:Q},yield a.W(w,-1,-1,B,Q))}catch(ee){}}return u.getImageData(w,1)})}_getNeighboringTiles(w){let B=w.canonical,Q=Math.pow(2,B.z),ee=(B.x-1+Q)%Q,se=B.x===0?w.wrap-1:w.wrap,qe=(B.x+1+Q)%Q,je=B.x+1===Q?w.wrap+1:w.wrap,it={};return it[new a.S(w.overscaledZ,se,B.z,ee,B.y).key]={backfilled:!1},it[new a.S(w.overscaledZ,je,B.z,qe,B.y).key]={backfilled:!1},B.y>0&&(it[new a.S(w.overscaledZ,se,B.z,ee,B.y-1).key]={backfilled:!1},it[new a.S(w.overscaledZ,w.wrap,B.z,B.x,B.y-1).key]={backfilled:!1},it[new a.S(w.overscaledZ,je,B.z,qe,B.y-1).key]={backfilled:!1}),B.y+1<Q&&(it[new a.S(w.overscaledZ,se,B.z,ee,B.y+1).key]={backfilled:!1},it[new a.S(w.overscaledZ,w.wrap,B.z,B.x,B.y+1).key]={backfilled:!1},it[new a.S(w.overscaledZ,je,B.z,qe,B.y+1).key]={backfilled:!1}),it}unloadTile(w){return a._(this,void 0,void 0,function*(){w.demTexture&&this.map.painter.saveTileTexture(w.demTexture),w.fbo&&(w.fbo.destroy(),delete w.fbo),w.dem&&delete w.dem,delete w.neighboringTiles,w.state=\"unloaded\",w.actor&&(yield w.actor.sendAsync({type:\"RDT\",data:{type:this.type,uid:w.uid,source:this.id}}))})}}class rt extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._pendingLoads=0,this.actor=Q.getActor(),this.setEventedParent(ee),this._data=B.data,this._options=a.e({},B),this._collectResourceTiming=B.collectResourceTiming,B.maxzoom!==void 0&&(this.maxzoom=B.maxzoom),B.type&&(this.type=B.type),B.attribution&&(this.attribution=B.attribution),this.promoteId=B.promoteId;let se=a.X/this.tileSize;B.clusterMaxZoom!==void 0&&this.maxzoom<=B.clusterMaxZoom&&a.w(`The maxzoom value \"${this.maxzoom}\" is expected to be greater than the clusterMaxZoom value \"${B.clusterMaxZoom}\".`),this.workerOptions=a.e({source:this.id,cluster:B.cluster||!1,geojsonVtOptions:{buffer:(B.buffer!==void 0?B.buffer:128)*se,tolerance:(B.tolerance!==void 0?B.tolerance:.375)*se,extent:a.X,maxZoom:this.maxzoom,lineMetrics:B.lineMetrics||!1,generateId:B.generateId||!1},superclusterOptions:{maxZoom:B.clusterMaxZoom!==void 0?B.clusterMaxZoom:this.maxzoom-1,minPoints:Math.max(2,B.clusterMinPoints||2),extent:a.X,radius:(B.clusterRadius||50)*se,log:!1,generateId:B.generateId||!1},clusterProperties:B.clusterProperties,filter:B.filter},B.workerOptions),typeof this.promoteId==\"string\"&&(this.workerOptions.promoteId=this.promoteId)}load(){return a._(this,void 0,void 0,function*(){yield this._updateWorkerData()})}onAdd(w){this.map=w,this.load()}setData(w){return this._data=w,this._updateWorkerData(),this}updateData(w){return this._updateWorkerData(w),this}getData(){return a._(this,void 0,void 0,function*(){let w=a.e({type:this.type},this.workerOptions);return this.actor.sendAsync({type:\"GD\",data:w})})}setClusterOptions(w){return this.workerOptions.cluster=w.cluster,w&&(w.clusterRadius!==void 0&&(this.workerOptions.superclusterOptions.radius=w.clusterRadius),w.clusterMaxZoom!==void 0&&(this.workerOptions.superclusterOptions.maxZoom=w.clusterMaxZoom)),this._updateWorkerData(),this}getClusterExpansionZoom(w){return this.actor.sendAsync({type:\"GCEZ\",data:{type:this.type,clusterId:w,source:this.id}})}getClusterChildren(w){return this.actor.sendAsync({type:\"GCC\",data:{type:this.type,clusterId:w,source:this.id}})}getClusterLeaves(w,B,Q){return this.actor.sendAsync({type:\"GCL\",data:{type:this.type,source:this.id,clusterId:w,limit:B,offset:Q}})}_updateWorkerData(w){return a._(this,void 0,void 0,function*(){let B=a.e({type:this.type},this.workerOptions);w?B.dataDiff=w:typeof this._data==\"string\"?(B.request=this.map._requestManager.transformRequest(u.resolveURL(this._data),\"Source\"),B.request.collectResourceTiming=this._collectResourceTiming):B.data=JSON.stringify(this._data),this._pendingLoads++,this.fire(new a.k(\"dataloading\",{dataType:\"source\"}));try{let Q=yield this.actor.sendAsync({type:\"LD\",data:B});if(this._pendingLoads--,this._removed||Q.abandoned)return void this.fire(new a.k(\"dataabort\",{dataType:\"source\"}));let ee=null;Q.resourceTiming&&Q.resourceTiming[this.id]&&(ee=Q.resourceTiming[this.id].slice(0));let se={dataType:\"source\"};this._collectResourceTiming&&ee&&ee.length>0&&a.e(se,{resourceTiming:ee}),this.fire(new a.k(\"data\",Object.assign(Object.assign({},se),{sourceDataType:\"metadata\"}))),this.fire(new a.k(\"data\",Object.assign(Object.assign({},se),{sourceDataType:\"content\"})))}catch(Q){if(this._pendingLoads--,this._removed)return void this.fire(new a.k(\"dataabort\",{dataType:\"source\"}));this.fire(new a.j(Q))}})}loaded(){return this._pendingLoads===0}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.actor?\"RT\":\"LT\";w.actor=this.actor;let Q={type:this.type,uid:w.uid,tileID:w.tileID,zoom:w.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};w.abortController=new AbortController;let ee=yield this.actor.sendAsync({type:B,data:Q},w.abortController);delete w.abortController,w.unloadVectorData(),w.aborted||w.loadVectorData(ee,this.map.painter,B===\"RT\")})}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController),w.aborted=!0})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.unloadVectorData(),yield this.actor.sendAsync({type:\"RMT\",data:{uid:w.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 a.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var ot=a.Y([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);class Rt extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.dispatcher=Q,this.coordinates=B.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(ee),this.options=B}load(w){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,this._request=new AbortController;try{let B=yield p.getImage(this.map._requestManager.transformRequest(this.url,\"Image\"),this._request);this._request=null,this._loaded=!0,B&&B.data&&(this.image=B.data,w&&(this.coordinates=w),this._finishLoading())}catch(B){this._request=null,this._loaded=!0,this.fire(new a.j(B))}})}loaded(){return this._loaded}updateImage(w){return w.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=w.url,this.load(w.coordinates).finally(()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))}onAdd(w){this.map=w,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(w){this.coordinates=w;let B=w.map(a.Z.fromLngLat);this.tileID=function(ee){let se=1/0,qe=1/0,je=-1/0,it=-1/0;for(let hr of ee)se=Math.min(se,hr.x),qe=Math.min(qe,hr.y),je=Math.max(je,hr.x),it=Math.max(it,hr.y);let yt=Math.max(je-se,it-qe),Ot=Math.max(0,Math.floor(-Math.log(yt)/Math.LN2)),Nt=Math.pow(2,Ot);return new a.a1(Ot,Math.floor((se+je)/2*Nt),Math.floor((qe+it)/2*Nt))}(B),this.minzoom=this.maxzoom=this.tileID.z;let Q=B.map(ee=>this.tileID.getTilePoint(ee)._round());return this._boundsArray=new a.$,this._boundsArray.emplaceBack(Q[0].x,Q[0].y,0,0),this._boundsArray.emplaceBack(Q[1].x,Q[1].y,a.X,0),this._boundsArray.emplaceBack(Q[3].x,Q[3].y,0,a.X),this._boundsArray.emplaceBack(Q[2].x,Q[2].y,a.X,a.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let w=this.map.painter.context,B=w.gl;this.boundsBuffer||(this.boundsBuffer=w.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new g(w,this.image,B.RGBA),this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE));let Q=!1;for(let ee in this.tiles){let se=this.tiles[ee];se.state!==\"loaded\"&&(se.state=\"loaded\",se.texture=this.texture,Q=!0)}Q&&this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}loadTile(w){return a._(this,void 0,void 0,function*(){this.tileID&&this.tileID.equals(w.tileID.canonical)?(this.tiles[String(w.tileID.wrap)]=w,w.buckets={}):w.state=\"errored\"})}serialize(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class kt extends Rt{constructor(w,B,Q,ee){super(w,B,Q,ee),this.roundZoom=!0,this.type=\"video\",this.options=B}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1;let w=this.options;this.urls=[];for(let B of w.urls)this.urls.push(this.map._requestManager.transformRequest(B,\"Source\").url);try{let B=yield a.a3(this.urls);if(this._loaded=!0,!B)return;this.video=B,this.video.loop=!0,this.video.addEventListener(\"playing\",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading()}catch(B){this.fire(new a.j(B))}})}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(w){if(this.video){let B=this.video.seekable;w<B.start(0)||w>B.end(0)?this.fire(new a.j(new a.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${B.start(0)} and ${B.end(0)}-second mark.`))):this.video.currentTime=w}}getVideo(){return this.video}onAdd(w){this.map||(this.map=w,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let w=this.map.painter.context,B=w.gl;this.boundsBuffer||(this.boundsBuffer=w.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE),B.texSubImage2D(B.TEXTURE_2D,0,0,0,B.RGBA,B.UNSIGNED_BYTE,this.video)):(this.texture=new g(w,this.video,B.RGBA),this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE));let Q=!1;for(let ee in this.tiles){let se=this.tiles[ee];se.state!==\"loaded\"&&(se.state=\"loaded\",se.texture=this.texture,Q=!0)}Q&&this.fire(new a.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 Ct extends Rt{constructor(w,B,Q,ee){super(w,B,Q,ee),B.coordinates?Array.isArray(B.coordinates)&&B.coordinates.length===4&&!B.coordinates.some(se=>!Array.isArray(se)||se.length!==2||se.some(qe=>typeof qe!=\"number\"))||this.fire(new a.j(new a.a2(`sources.${w}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new a.j(new a.a2(`sources.${w}`,null,'missing required property \"coordinates\"'))),B.animate&&typeof B.animate!=\"boolean\"&&this.fire(new a.j(new a.a2(`sources.${w}`,null,'optional \"animate\" property must be a boolean value'))),B.canvas?typeof B.canvas==\"string\"||B.canvas instanceof HTMLCanvasElement||this.fire(new a.j(new a.a2(`sources.${w}`,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 a.j(new a.a2(`sources.${w}`,null,'missing required property \"canvas\"'))),this.options=B,this.animate=B.animate===void 0||B.animate}load(){return a._(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 a.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(w){this.map=w,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let w=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,w=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,w=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let B=this.map.painter.context,Q=B.gl;this.boundsBuffer||(this.boundsBuffer=B.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture?(w||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new g(B,this.canvas,Q.RGBA,{premultiply:!0});let ee=!1;for(let se in this.tiles){let qe=this.tiles[se];qe.state!==\"loaded\"&&(qe.state=\"loaded\",qe.texture=this.texture,ee=!0)}ee&&this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}serialize(){return{type:\"canvas\",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let w of[this.canvas.width,this.canvas.height])if(isNaN(w)||w<=0)return!0;return!1}}let Yt={},xr=le=>{switch(le){case\"geojson\":return rt;case\"image\":return Rt;case\"raster\":return ct;case\"raster-dem\":return qt;case\"vector\":return nt;case\"video\":return kt;case\"canvas\":return Ct}return Yt[le]},er=\"RTLPluginLoaded\";class Ke extends a.E{constructor(){super(...arguments),this.status=\"unavailable\",this.url=null,this.dispatcher=Ae()}_syncState(w){return this.status=w,this.dispatcher.broadcast(\"SRPS\",{pluginStatus:w,pluginURL:this.url}).catch(B=>{throw this.status=\"error\",B})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status=\"unavailable\",this.url=null}setRTLTextPlugin(w){return a._(this,arguments,void 0,function*(B,Q=!1){if(this.url)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");if(this.url=u.resolveURL(B),!this.url)throw new Error(`requested url ${B} is invalid`);if(this.status===\"unavailable\"){if(!Q)return this._requestImport();this.status=\"deferred\",this._syncState(this.status)}else if(this.status===\"requested\")return this._requestImport()})}_requestImport(){return a._(this,void 0,void 0,function*(){yield this._syncState(\"loading\"),this.status=\"loaded\",this.fire(new a.k(er))})}lazyLoad(){this.status===\"unavailable\"?this.status=\"requested\":this.status===\"deferred\"&&this._requestImport()}}let xt=null;function bt(){return xt||(xt=new Ke),xt}class Lt{constructor(w,B){this.timeAdded=0,this.fadeEndTime=0,this.tileID=w,this.uid=a.a4(),this.uses=0,this.tileSize=B,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(w){let B=w+this.timeAdded;B<this.fadeEndTime||(this.fadeEndTime=B)}wasRequested(){return this.state===\"errored\"||this.state===\"loaded\"||this.state===\"reloading\"}clearTextures(w){this.demTexture&&w.saveTileTexture(this.demTexture),this.demTexture=null}loadVectorData(w,B,Q){if(this.hasData()&&this.unloadVectorData(),this.state=\"loaded\",w){w.featureIndex&&(this.latestFeatureIndex=w.featureIndex,w.rawTileData?(this.latestRawTileData=w.rawTileData,this.latestFeatureIndex.rawTileData=w.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=w.collisionBoxArray,this.buckets=function(ee,se){let qe={};if(!se)return qe;for(let je of ee){let it=je.layerIds.map(yt=>se.getLayer(yt)).filter(Boolean);if(it.length!==0){je.layers=it,je.stateDependentLayerIds&&(je.stateDependentLayers=je.stateDependentLayerIds.map(yt=>it.filter(Ot=>Ot.id===yt)[0]));for(let yt of it)qe[yt.id]=je}}return qe}(w.buckets,B.style),this.hasSymbolBuckets=!1;for(let ee in this.buckets){let se=this.buckets[ee];if(se instanceof a.a6){if(this.hasSymbolBuckets=!0,!Q)break;se.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let ee in this.buckets){let se=this.buckets[ee];if(se instanceof a.a6&&se.hasRTLText){this.hasRTLText=!0,bt().lazyLoad();break}}this.queryPadding=0;for(let ee in this.buckets){let se=this.buckets[ee];this.queryPadding=Math.max(this.queryPadding,B.style.getLayer(ee).queryRadius(se))}w.imageAtlas&&(this.imageAtlas=w.imageAtlas),w.glyphAtlasImage&&(this.glyphAtlasImage=w.glyphAtlasImage)}else this.collisionBoxArray=new a.a5}unloadVectorData(){for(let w in this.buckets)this.buckets[w].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(w){return this.buckets[w.id]}upload(w){for(let Q in this.buckets){let ee=this.buckets[Q];ee.uploadPending()&&ee.upload(w)}let B=w.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new g(w,this.imageAtlas.image,B.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new g(w,this.glyphAtlasImage,B.ALPHA),this.glyphAtlasImage=null)}prepare(w){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(w,this.imageAtlasTexture)}queryRenderedFeatures(w,B,Q,ee,se,qe,je,it,yt,Ot){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:ee,cameraQueryGeometry:se,scale:qe,tileSize:this.tileSize,pixelPosMatrix:Ot,transform:it,params:je,queryPadding:this.queryPadding*yt},w,B,Q):{}}querySourceFeatures(w,B){let Q=this.latestFeatureIndex;if(!Q||!Q.rawTileData)return;let ee=Q.loadVTLayers(),se=B&&B.sourceLayer?B.sourceLayer:\"\",qe=ee._geojsonTileLayer||ee[se];if(!qe)return;let je=a.a7(B&&B.filter),{z:it,x:yt,y:Ot}=this.tileID.canonical,Nt={z:it,x:yt,y:Ot};for(let hr=0;hr<qe.length;hr++){let Sr=qe.feature(hr);if(je.needGeometry){let Pe=a.a8(Sr,!0);if(!je.filter(new a.z(this.tileID.overscaledZ),Pe,this.tileID.canonical))continue}else if(!je.filter(new a.z(this.tileID.overscaledZ),Sr))continue;let he=Q.getId(Sr,se),be=new a.a9(Sr,it,yt,Ot,he);be.tile=Nt,w.push(be)}}hasData(){return this.state===\"loaded\"||this.state===\"reloading\"||this.state===\"expired\"}patternsLoaded(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length}setExpiryData(w){let B=this.expirationTime;if(w.cacheControl){let Q=a.aa(w.cacheControl);Q[\"max-age\"]&&(this.expirationTime=Date.now()+1e3*Q[\"max-age\"])}else w.expires&&(this.expirationTime=new Date(w.expires).getTime());if(this.expirationTime){let Q=Date.now(),ee=!1;if(this.expirationTime>Q)ee=!1;else if(B)if(this.expirationTime<B)ee=!0;else{let se=this.expirationTime-B;se?this.expirationTime=Q+Math.max(se,3e4):ee=!0}else ee=!0;ee?(this.expiredRequestCount++,this.state=\"expired\"):this.expiredRequestCount=0}}getExpiryTimeout(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-new Date().getTime(),Math.pow(2,31)-1)}setFeatureState(w,B){if(!this.latestFeatureIndex||!this.latestFeatureIndex.rawTileData||Object.keys(w).length===0)return;let Q=this.latestFeatureIndex.loadVTLayers();for(let ee in this.buckets){if(!B.style.hasLayer(ee))continue;let se=this.buckets[ee],qe=se.layers[0].sourceLayer||\"_geojsonTileLayer\",je=Q[qe],it=w[qe];if(!je||!it||Object.keys(it).length===0)continue;se.update(it,je,this.imageAtlas&&this.imageAtlas.patternPositions||{});let yt=B&&B.style&&B.style.getLayer(ee);yt&&(this.queryPadding=Math.max(this.queryPadding,yt.queryRadius(se)))}}holdingForFade(){return this.symbolFadeHoldUntil!==void 0}symbolFadeFinished(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<u.now()}clearFadeHold(){this.symbolFadeHoldUntil=void 0}setHoldDuration(w){this.symbolFadeHoldUntil=u.now()+w}setDependencies(w,B){let Q={};for(let ee of B)Q[ee]=!0;this.dependencies[w]=Q}hasDependency(w,B){for(let Q of w){let ee=this.dependencies[Q];if(ee){for(let se of B)if(ee[se])return!0}}return!1}}class St{constructor(w,B){this.max=w,this.onRemove=B,this.reset()}reset(){for(let w in this.data)for(let B of this.data[w])B.timeout&&clearTimeout(B.timeout),this.onRemove(B.value);return this.data={},this.order=[],this}add(w,B,Q){let ee=w.wrapped().key;this.data[ee]===void 0&&(this.data[ee]=[]);let se={value:B,timeout:void 0};if(Q!==void 0&&(se.timeout=setTimeout(()=>{this.remove(w,se)},Q)),this.data[ee].push(se),this.order.push(ee),this.order.length>this.max){let qe=this._getAndRemoveByKey(this.order[0]);qe&&this.onRemove(qe)}return this}has(w){return w.wrapped().key in this.data}getAndRemove(w){return this.has(w)?this._getAndRemoveByKey(w.wrapped().key):null}_getAndRemoveByKey(w){let B=this.data[w].shift();return B.timeout&&clearTimeout(B.timeout),this.data[w].length===0&&delete this.data[w],this.order.splice(this.order.indexOf(w),1),B.value}getByKey(w){let B=this.data[w];return B?B[0].value:null}get(w){return this.has(w)?this.data[w.wrapped().key][0].value:null}remove(w,B){if(!this.has(w))return this;let Q=w.wrapped().key,ee=B===void 0?0:this.data[Q].indexOf(B),se=this.data[Q][ee];return this.data[Q].splice(ee,1),se.timeout&&clearTimeout(se.timeout),this.data[Q].length===0&&delete this.data[Q],this.onRemove(se.value),this.order.splice(this.order.indexOf(Q),1),this}setMaxSize(w){for(this.max=w;this.order.length>this.max;){let B=this._getAndRemoveByKey(this.order[0]);B&&this.onRemove(B)}return this}filter(w){let B=[];for(let Q in this.data)for(let ee of this.data[Q])w(ee.value)||B.push(ee);for(let Q of B)this.remove(Q.value.tileID,Q)}}class Et{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(w,B,Q){let ee=String(B);if(this.stateChanges[w]=this.stateChanges[w]||{},this.stateChanges[w][ee]=this.stateChanges[w][ee]||{},a.e(this.stateChanges[w][ee],Q),this.deletedStates[w]===null){this.deletedStates[w]={};for(let se in this.state[w])se!==ee&&(this.deletedStates[w][se]=null)}else if(this.deletedStates[w]&&this.deletedStates[w][ee]===null){this.deletedStates[w][ee]={};for(let se in this.state[w][ee])Q[se]||(this.deletedStates[w][ee][se]=null)}else for(let se in Q)this.deletedStates[w]&&this.deletedStates[w][ee]&&this.deletedStates[w][ee][se]===null&&delete this.deletedStates[w][ee][se]}removeFeatureState(w,B,Q){if(this.deletedStates[w]===null)return;let ee=String(B);if(this.deletedStates[w]=this.deletedStates[w]||{},Q&&B!==void 0)this.deletedStates[w][ee]!==null&&(this.deletedStates[w][ee]=this.deletedStates[w][ee]||{},this.deletedStates[w][ee][Q]=null);else if(B!==void 0)if(this.stateChanges[w]&&this.stateChanges[w][ee])for(Q in this.deletedStates[w][ee]={},this.stateChanges[w][ee])this.deletedStates[w][ee][Q]=null;else this.deletedStates[w][ee]=null;else this.deletedStates[w]=null}getState(w,B){let Q=String(B),ee=a.e({},(this.state[w]||{})[Q],(this.stateChanges[w]||{})[Q]);if(this.deletedStates[w]===null)return{};if(this.deletedStates[w]){let se=this.deletedStates[w][B];if(se===null)return{};for(let qe in se)delete ee[qe]}return ee}initializeTileState(w,B){w.setFeatureState(this.state,B)}coalesceChanges(w,B){let Q={};for(let ee in this.stateChanges){this.state[ee]=this.state[ee]||{};let se={};for(let qe in this.stateChanges[ee])this.state[ee][qe]||(this.state[ee][qe]={}),a.e(this.state[ee][qe],this.stateChanges[ee][qe]),se[qe]=this.state[ee][qe];Q[ee]=se}for(let ee in this.deletedStates){this.state[ee]=this.state[ee]||{};let se={};if(this.deletedStates[ee]===null)for(let qe in this.state[ee])se[qe]={},this.state[ee][qe]={};else for(let qe in this.deletedStates[ee]){if(this.deletedStates[ee][qe]===null)this.state[ee][qe]={};else for(let je of Object.keys(this.deletedStates[ee][qe]))delete this.state[ee][qe][je];se[qe]=this.state[ee][qe]}Q[ee]=Q[ee]||{},a.e(Q[ee],se)}if(this.stateChanges={},this.deletedStates={},Object.keys(Q).length!==0)for(let ee in w)w[ee].setFeatureState(Q,B)}}class dt extends a.E{constructor(w,B,Q){super(),this.id=w,this.dispatcher=Q,this.on(\"data\",ee=>this._dataHandler(ee)),this.on(\"dataloading\",()=>{this._sourceErrored=!1}),this.on(\"error\",()=>{this._sourceErrored=this._source.loaded()}),this._source=((ee,se,qe,je)=>{let it=new(xr(se.type))(ee,se,qe,je);if(it.id!==ee)throw new Error(`Expected Source id to be ${ee} instead of ${it.id}`);return it})(w,B,Q,this),this._tiles={},this._cache=new St(0,ee=>this._unloadTile(ee)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new Et,this._didEmitContent=!1,this._updated=!1}onAdd(w){this.map=w,this._maxTileCacheSize=w?w._maxTileCacheSize:null,this._maxTileCacheZoomLevels=w?w._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(w)}onRemove(w){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(w)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let w in this._tiles){let B=this._tiles[w];if(B.state!==\"loaded\"&&B.state!==\"errored\")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let w=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,w&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(w,B,Q){return a._(this,void 0,void 0,function*(){try{yield this._source.loadTile(w),this._tileLoaded(w,B,Q)}catch(ee){w.state=\"errored\",ee.status!==404?this._source.fire(new a.j(ee,{tile:w})):this.update(this.transform,this.terrain)}})}_unloadTile(w){this._source.unloadTile&&this._source.unloadTile(w)}_abortTile(w){this._source.abortTile&&this._source.abortTile(w),this._source.fire(new a.k(\"dataabort\",{tile:w,coord:w.tileID,dataType:\"source\"}))}serialize(){return this._source.serialize()}prepare(w){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let B in this._tiles){let Q=this._tiles[B];Q.upload(w),Q.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(w=>w.tileID).sort(Ht).map(w=>w.key)}getRenderableIds(w){let B=[];for(let Q in this._tiles)this._isIdRenderable(Q,w)&&B.push(this._tiles[Q]);return w?B.sort((Q,ee)=>{let se=Q.tileID,qe=ee.tileID,je=new a.P(se.canonical.x,se.canonical.y)._rotate(this.transform.angle),it=new a.P(qe.canonical.x,qe.canonical.y)._rotate(this.transform.angle);return se.overscaledZ-qe.overscaledZ||it.y-je.y||it.x-je.x}).map(Q=>Q.tileID.key):B.map(Q=>Q.tileID).sort(Ht).map(Q=>Q.key)}hasRenderableParent(w){let B=this.findLoadedParent(w,0);return!!B&&this._isIdRenderable(B.tileID.key)}_isIdRenderable(w,B){return this._tiles[w]&&this._tiles[w].hasData()&&!this._coveredTiles[w]&&(B||!this._tiles[w].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let w in this._tiles)this._tiles[w].state!==\"errored\"&&this._reloadTile(w,\"reloading\")}}_reloadTile(w,B){return a._(this,void 0,void 0,function*(){let Q=this._tiles[w];Q&&(Q.state!==\"loading\"&&(Q.state=B),yield this._loadTile(Q,w,B))})}_tileLoaded(w,B,Q){w.timeAdded=u.now(),Q===\"expired\"&&(w.refreshedUponExpiration=!0),this._setTileReloadTimer(B,w),this.getSource().type===\"raster-dem\"&&w.dem&&this._backfillDEM(w),this._state.initializeTileState(w,this.map?this.map.painter:null),w.aborted||this._source.fire(new a.k(\"data\",{dataType:\"source\",tile:w,coord:w.tileID}))}_backfillDEM(w){let B=this.getRenderableIds();for(let ee=0;ee<B.length;ee++){let se=B[ee];if(w.neighboringTiles&&w.neighboringTiles[se]){let qe=this.getTileByID(se);Q(w,qe),Q(qe,w)}}function Q(ee,se){ee.needsHillshadePrepare=!0,ee.needsTerrainPrepare=!0;let qe=se.tileID.canonical.x-ee.tileID.canonical.x,je=se.tileID.canonical.y-ee.tileID.canonical.y,it=Math.pow(2,ee.tileID.canonical.z),yt=se.tileID.key;qe===0&&je===0||Math.abs(je)>1||(Math.abs(qe)>1&&(Math.abs(qe+it)===1?qe+=it:Math.abs(qe-it)===1&&(qe-=it)),se.dem&&ee.dem&&(ee.dem.backfillBorder(se.dem,qe,je),ee.neighboringTiles&&ee.neighboringTiles[yt]&&(ee.neighboringTiles[yt].backfilled=!0)))}}getTile(w){return this.getTileByID(w.key)}getTileByID(w){return this._tiles[w]}_retainLoadedChildren(w,B,Q,ee){for(let se in this._tiles){let qe=this._tiles[se];if(ee[se]||!qe.hasData()||qe.tileID.overscaledZ<=B||qe.tileID.overscaledZ>Q)continue;let je=qe.tileID;for(;qe&&qe.tileID.overscaledZ>B+1;){let yt=qe.tileID.scaledTo(qe.tileID.overscaledZ-1);qe=this._tiles[yt.key],qe&&qe.hasData()&&(je=yt)}let it=je;for(;it.overscaledZ>B;)if(it=it.scaledTo(it.overscaledZ-1),w[it.key]){ee[je.key]=je;break}}}findLoadedParent(w,B){if(w.key in this._loadedParentTiles){let Q=this._loadedParentTiles[w.key];return Q&&Q.tileID.overscaledZ>=B?Q:null}for(let Q=w.overscaledZ-1;Q>=B;Q--){let ee=w.scaledTo(Q),se=this._getLoadedTile(ee);if(se)return se}}findLoadedSibling(w){return this._getLoadedTile(w)}_getLoadedTile(w){let B=this._tiles[w.key];return B&&B.hasData()?B:this._cache.getByKey(w.wrapped().key)}updateCacheSize(w){let B=Math.ceil(w.width/this._source.tileSize)+1,Q=Math.ceil(w.height/this._source.tileSize)+1,ee=Math.floor(B*Q*(this._maxTileCacheZoomLevels===null?a.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),se=typeof this._maxTileCacheSize==\"number\"?Math.min(this._maxTileCacheSize,ee):ee;this._cache.setMaxSize(se)}handleWrapJump(w){let B=Math.round((w-(this._prevLng===void 0?w:this._prevLng))/360);if(this._prevLng=w,B){let Q={};for(let ee in this._tiles){let se=this._tiles[ee];se.tileID=se.tileID.unwrapTo(se.tileID.wrap+B),Q[se.tileID.key]=se}this._tiles=Q;for(let ee in this._timers)clearTimeout(this._timers[ee]),delete this._timers[ee];for(let ee in this._tiles)this._setTileReloadTimer(ee,this._tiles[ee])}}_updateCoveredAndRetainedTiles(w,B,Q,ee,se,qe){let je={},it={},yt=Object.keys(w),Ot=u.now();for(let Nt of yt){let hr=w[Nt],Sr=this._tiles[Nt];if(!Sr||Sr.fadeEndTime!==0&&Sr.fadeEndTime<=Ot)continue;let he=this.findLoadedParent(hr,B),be=this.findLoadedSibling(hr),Pe=he||be||null;Pe&&(this._addTile(Pe.tileID),je[Pe.tileID.key]=Pe.tileID),it[Nt]=hr}this._retainLoadedChildren(it,ee,Q,w);for(let Nt in je)w[Nt]||(this._coveredTiles[Nt]=!0,w[Nt]=je[Nt]);if(qe){let Nt={},hr={};for(let Sr of se)this._tiles[Sr.key].hasData()?Nt[Sr.key]=Sr:hr[Sr.key]=Sr;for(let Sr in hr){let he=hr[Sr].children(this._source.maxzoom);this._tiles[he[0].key]&&this._tiles[he[1].key]&&this._tiles[he[2].key]&&this._tiles[he[3].key]&&(Nt[he[0].key]=w[he[0].key]=he[0],Nt[he[1].key]=w[he[1].key]=he[1],Nt[he[2].key]=w[he[2].key]=he[2],Nt[he[3].key]=w[he[3].key]=he[3],delete hr[Sr])}for(let Sr in hr){let he=hr[Sr],be=this.findLoadedParent(he,this._source.minzoom),Pe=this.findLoadedSibling(he),Oe=be||Pe||null;if(Oe){Nt[Oe.tileID.key]=w[Oe.tileID.key]=Oe.tileID;for(let Je in Nt)Nt[Je].isChildOf(Oe.tileID)&&delete Nt[Je]}}for(let Sr in this._tiles)Nt[Sr]||(this._coveredTiles[Sr]=!0)}}update(w,B){if(!this._sourceLoaded||this._paused)return;let Q;this.transform=w,this.terrain=B,this.updateCacheSize(w),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?Q=w.getVisibleUnwrappedCoordinates(this._source.tileID).map(Ot=>new a.S(Ot.canonical.z,Ot.wrap,Ot.canonical.z,Ot.canonical.x,Ot.canonical.y)):(Q=w.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:B}),this._source.hasTile&&(Q=Q.filter(Ot=>this._source.hasTile(Ot)))):Q=[];let ee=w.coveringZoomLevel(this._source),se=Math.max(ee-dt.maxOverzooming,this._source.minzoom),qe=Math.max(ee+dt.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let Ot={};for(let Nt of Q)if(Nt.canonical.z>this._source.minzoom){let hr=Nt.scaledTo(Nt.canonical.z-1);Ot[hr.key]=hr;let Sr=Nt.scaledTo(Math.max(this._source.minzoom,Math.min(Nt.canonical.z,5)));Ot[Sr.key]=Sr}Q=Q.concat(Object.values(Ot))}let je=Q.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,je&&this.fire(new a.k(\"data\",{sourceDataType:\"idle\",dataType:\"source\",sourceId:this.id}));let it=this._updateRetainedTiles(Q,ee);$t(this._source.type)&&this._updateCoveredAndRetainedTiles(it,se,qe,ee,Q,B);for(let Ot in it)this._tiles[Ot].clearFadeHold();let yt=a.ab(this._tiles,it);for(let Ot of yt){let Nt=this._tiles[Ot];Nt.hasSymbolBuckets&&!Nt.holdingForFade()?Nt.setHoldDuration(this.map._fadeDuration):Nt.hasSymbolBuckets&&!Nt.symbolFadeFinished()||this._removeTile(Ot)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(let w in this._tiles)this._tiles[w].holdingForFade()&&this._removeTile(w)}_updateRetainedTiles(w,B){var Q;let ee={},se={},qe=Math.max(B-dt.maxOverzooming,this._source.minzoom),je=Math.max(B+dt.maxUnderzooming,this._source.minzoom),it={};for(let yt of w){let Ot=this._addTile(yt);ee[yt.key]=yt,Ot.hasData()||B<this._source.maxzoom&&(it[yt.key]=yt)}this._retainLoadedChildren(it,B,je,ee);for(let yt of w){let Ot=this._tiles[yt.key];if(Ot.hasData())continue;if(B+1>this._source.maxzoom){let hr=yt.children(this._source.maxzoom)[0],Sr=this.getTile(hr);if(Sr&&Sr.hasData()){ee[hr.key]=hr;continue}}else{let hr=yt.children(this._source.maxzoom);if(ee[hr[0].key]&&ee[hr[1].key]&&ee[hr[2].key]&&ee[hr[3].key])continue}let Nt=Ot.wasRequested();for(let hr=yt.overscaledZ-1;hr>=qe;--hr){let Sr=yt.scaledTo(hr);if(se[Sr.key])break;if(se[Sr.key]=!0,Ot=this.getTile(Sr),!Ot&&Nt&&(Ot=this._addTile(Sr)),Ot){let he=Ot.hasData();if((he||!(!((Q=this.map)===null||Q===void 0)&&Q.cancelPendingTileRequestsWhileZooming)||Nt)&&(ee[Sr.key]=Sr),Nt=Ot.wasRequested(),he)break}}}return ee}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let w in this._tiles){let B=[],Q,ee=this._tiles[w].tileID;for(;ee.overscaledZ>0;){if(ee.key in this._loadedParentTiles){Q=this._loadedParentTiles[ee.key];break}B.push(ee.key);let se=ee.scaledTo(ee.overscaledZ-1);if(Q=this._getLoadedTile(se),Q)break;ee=se}for(let se of B)this._loadedParentTiles[se]=Q}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(let w in this._tiles){let B=this._tiles[w].tileID,Q=this._getLoadedTile(B);this._loadedSiblingTiles[B.key]=Q}}_addTile(w){let B=this._tiles[w.key];if(B)return B;B=this._cache.getAndRemove(w),B&&(this._setTileReloadTimer(w.key,B),B.tileID=w,this._state.initializeTileState(B,this.map?this.map.painter:null),this._cacheTimers[w.key]&&(clearTimeout(this._cacheTimers[w.key]),delete this._cacheTimers[w.key],this._setTileReloadTimer(w.key,B)));let Q=B;return B||(B=new Lt(w,this._source.tileSize*w.overscaleFactor()),this._loadTile(B,w.key,B.state)),B.uses++,this._tiles[w.key]=B,Q||this._source.fire(new a.k(\"dataloading\",{tile:B,coord:B.tileID,dataType:\"source\"})),B}_setTileReloadTimer(w,B){w in this._timers&&(clearTimeout(this._timers[w]),delete this._timers[w]);let Q=B.getExpiryTimeout();Q&&(this._timers[w]=setTimeout(()=>{this._reloadTile(w,\"expired\"),delete this._timers[w]},Q))}_removeTile(w){let B=this._tiles[w];B&&(B.uses--,delete this._tiles[w],this._timers[w]&&(clearTimeout(this._timers[w]),delete this._timers[w]),B.uses>0||(B.hasData()&&B.state!==\"reloading\"?this._cache.add(B.tileID,B,B.getExpiryTimeout()):(B.aborted=!0,this._abortTile(B),this._unloadTile(B))))}_dataHandler(w){let B=w.sourceDataType;w.dataType===\"source\"&&B===\"metadata\"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&w.dataType===\"source\"&&B===\"content\"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let w in this._tiles)this._removeTile(w);this._cache.reset()}tilesIn(w,B,Q){let ee=[],se=this.transform;if(!se)return ee;let qe=Q?se.getCameraQueryGeometry(w):w,je=w.map(he=>se.pointCoordinate(he,this.terrain)),it=qe.map(he=>se.pointCoordinate(he,this.terrain)),yt=this.getIds(),Ot=1/0,Nt=1/0,hr=-1/0,Sr=-1/0;for(let he of it)Ot=Math.min(Ot,he.x),Nt=Math.min(Nt,he.y),hr=Math.max(hr,he.x),Sr=Math.max(Sr,he.y);for(let he=0;he<yt.length;he++){let be=this._tiles[yt[he]];if(be.holdingForFade())continue;let Pe=be.tileID,Oe=Math.pow(2,se.zoom-be.tileID.overscaledZ),Je=B*be.queryPadding*a.X/be.tileSize/Oe,He=[Pe.getTilePoint(new a.Z(Ot,Nt)),Pe.getTilePoint(new a.Z(hr,Sr))];if(He[0].x-Je<a.X&&He[0].y-Je<a.X&&He[1].x+Je>=0&&He[1].y+Je>=0){let et=je.map(Dt=>Pe.getTilePoint(Dt)),Mt=it.map(Dt=>Pe.getTilePoint(Dt));ee.push({tile:be,tileID:Pe,queryGeometry:et,cameraQueryGeometry:Mt,scale:Oe})}}return ee}getVisibleCoordinates(w){let B=this.getRenderableIds(w).map(Q=>this._tiles[Q].tileID);for(let Q of B)Q.posMatrix=this.transform.calculatePosMatrix(Q.toUnwrapped());return B}hasTransition(){if(this._source.hasTransition())return!0;if($t(this._source.type)){let w=u.now();for(let B in this._tiles)if(this._tiles[B].fadeEndTime>=w)return!0}return!1}setFeatureState(w,B,Q){this._state.updateState(w=w||\"_geojsonTileLayer\",B,Q)}removeFeatureState(w,B,Q){this._state.removeFeatureState(w=w||\"_geojsonTileLayer\",B,Q)}getFeatureState(w,B){return this._state.getState(w=w||\"_geojsonTileLayer\",B)}setDependencies(w,B,Q){let ee=this._tiles[w];ee&&ee.setDependencies(B,Q)}reloadTilesForDependencies(w,B){for(let Q in this._tiles)this._tiles[Q].hasDependency(w,B)&&this._reloadTile(Q,\"reloading\");this._cache.filter(Q=>!Q.hasDependency(w,B))}}function Ht(le,w){let B=Math.abs(2*le.wrap)-+(le.wrap<0),Q=Math.abs(2*w.wrap)-+(w.wrap<0);return le.overscaledZ-w.overscaledZ||Q-B||w.canonical.y-le.canonical.y||w.canonical.x-le.canonical.x}function $t(le){return le===\"raster\"||le===\"image\"||le===\"video\"}dt.maxOverzooming=10,dt.maxUnderzooming=3;class fr{constructor(w,B){this.reset(w,B)}reset(w,B){this.points=w||[],this._distances=[0];for(let Q=1;Q<this.points.length;Q++)this._distances[Q]=this._distances[Q-1]+this.points[Q].dist(this.points[Q-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(B||0,.5*this.length),this.paddedLength=this.length-2*this.padding}lerp(w){if(this.points.length===1)return this.points[0];w=a.ac(w,0,1);let B=1,Q=this._distances[B],ee=w*this.paddedLength+this.padding;for(;Q<ee&&B<this._distances.length;)Q=this._distances[++B];let se=B-1,qe=this._distances[se],je=Q-qe,it=je>0?(ee-qe)/je:0;return this.points[se].mult(1-it).add(this.points[B].mult(it))}}function _r(le,w){let B=!0;return le===\"always\"||le!==\"never\"&&w!==\"never\"||(B=!1),B}class Br{constructor(w,B,Q){let ee=this.boxCells=[],se=this.circleCells=[];this.xCellCount=Math.ceil(w/Q),this.yCellCount=Math.ceil(B/Q);for(let qe=0;qe<this.xCellCount*this.yCellCount;qe++)ee.push([]),se.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=w,this.height=B,this.xScale=this.xCellCount/w,this.yScale=this.yCellCount/B,this.boxUid=0,this.circleUid=0}keysLength(){return this.boxKeys.length+this.circleKeys.length}insert(w,B,Q,ee,se){this._forEachCell(B,Q,ee,se,this._insertBoxCell,this.boxUid++),this.boxKeys.push(w),this.bboxes.push(B),this.bboxes.push(Q),this.bboxes.push(ee),this.bboxes.push(se)}insertCircle(w,B,Q,ee){this._forEachCell(B-ee,Q-ee,B+ee,Q+ee,this._insertCircleCell,this.circleUid++),this.circleKeys.push(w),this.circles.push(B),this.circles.push(Q),this.circles.push(ee)}_insertBoxCell(w,B,Q,ee,se,qe){this.boxCells[se].push(qe)}_insertCircleCell(w,B,Q,ee,se,qe){this.circleCells[se].push(qe)}_query(w,B,Q,ee,se,qe,je){if(Q<0||w>this.width||ee<0||B>this.height)return[];let it=[];if(w<=0&&B<=0&&this.width<=Q&&this.height<=ee){if(se)return[{key:null,x1:w,y1:B,x2:Q,y2:ee}];for(let yt=0;yt<this.boxKeys.length;yt++)it.push({key:this.boxKeys[yt],x1:this.bboxes[4*yt],y1:this.bboxes[4*yt+1],x2:this.bboxes[4*yt+2],y2:this.bboxes[4*yt+3]});for(let yt=0;yt<this.circleKeys.length;yt++){let Ot=this.circles[3*yt],Nt=this.circles[3*yt+1],hr=this.circles[3*yt+2];it.push({key:this.circleKeys[yt],x1:Ot-hr,y1:Nt-hr,x2:Ot+hr,y2:Nt+hr})}}else this._forEachCell(w,B,Q,ee,this._queryCell,it,{hitTest:se,overlapMode:qe,seenUids:{box:{},circle:{}}},je);return it}query(w,B,Q,ee){return this._query(w,B,Q,ee,!1,null)}hitTest(w,B,Q,ee,se,qe){return this._query(w,B,Q,ee,!0,se,qe).length>0}hitTestCircle(w,B,Q,ee,se){let qe=w-Q,je=w+Q,it=B-Q,yt=B+Q;if(je<0||qe>this.width||yt<0||it>this.height)return!1;let Ot=[];return this._forEachCell(qe,it,je,yt,this._queryCellCircle,Ot,{hitTest:!0,overlapMode:ee,circle:{x:w,y:B,radius:Q},seenUids:{box:{},circle:{}}},se),Ot.length>0}_queryCell(w,B,Q,ee,se,qe,je,it){let{seenUids:yt,hitTest:Ot,overlapMode:Nt}=je,hr=this.boxCells[se];if(hr!==null){let he=this.bboxes;for(let be of hr)if(!yt.box[be]){yt.box[be]=!0;let Pe=4*be,Oe=this.boxKeys[be];if(w<=he[Pe+2]&&B<=he[Pe+3]&&Q>=he[Pe+0]&&ee>=he[Pe+1]&&(!it||it(Oe))&&(!Ot||!_r(Nt,Oe.overlapMode))&&(qe.push({key:Oe,x1:he[Pe],y1:he[Pe+1],x2:he[Pe+2],y2:he[Pe+3]}),Ot))return!0}}let Sr=this.circleCells[se];if(Sr!==null){let he=this.circles;for(let be of Sr)if(!yt.circle[be]){yt.circle[be]=!0;let Pe=3*be,Oe=this.circleKeys[be];if(this._circleAndRectCollide(he[Pe],he[Pe+1],he[Pe+2],w,B,Q,ee)&&(!it||it(Oe))&&(!Ot||!_r(Nt,Oe.overlapMode))){let Je=he[Pe],He=he[Pe+1],et=he[Pe+2];if(qe.push({key:Oe,x1:Je-et,y1:He-et,x2:Je+et,y2:He+et}),Ot)return!0}}}return!1}_queryCellCircle(w,B,Q,ee,se,qe,je,it){let{circle:yt,seenUids:Ot,overlapMode:Nt}=je,hr=this.boxCells[se];if(hr!==null){let he=this.bboxes;for(let be of hr)if(!Ot.box[be]){Ot.box[be]=!0;let Pe=4*be,Oe=this.boxKeys[be];if(this._circleAndRectCollide(yt.x,yt.y,yt.radius,he[Pe+0],he[Pe+1],he[Pe+2],he[Pe+3])&&(!it||it(Oe))&&!_r(Nt,Oe.overlapMode))return qe.push(!0),!0}}let Sr=this.circleCells[se];if(Sr!==null){let he=this.circles;for(let be of Sr)if(!Ot.circle[be]){Ot.circle[be]=!0;let Pe=3*be,Oe=this.circleKeys[be];if(this._circlesCollide(he[Pe],he[Pe+1],he[Pe+2],yt.x,yt.y,yt.radius)&&(!it||it(Oe))&&!_r(Nt,Oe.overlapMode))return qe.push(!0),!0}}}_forEachCell(w,B,Q,ee,se,qe,je,it){let yt=this._convertToXCellCoord(w),Ot=this._convertToYCellCoord(B),Nt=this._convertToXCellCoord(Q),hr=this._convertToYCellCoord(ee);for(let Sr=yt;Sr<=Nt;Sr++)for(let he=Ot;he<=hr;he++)if(se.call(this,w,B,Q,ee,this.xCellCount*he+Sr,qe,je,it))return}_convertToXCellCoord(w){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(w*this.xScale)))}_convertToYCellCoord(w){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(w*this.yScale)))}_circlesCollide(w,B,Q,ee,se,qe){let je=ee-w,it=se-B,yt=Q+qe;return yt*yt>je*je+it*it}_circleAndRectCollide(w,B,Q,ee,se,qe,je){let it=(qe-ee)/2,yt=Math.abs(w-(ee+it));if(yt>it+Q)return!1;let Ot=(je-se)/2,Nt=Math.abs(B-(se+Ot));if(Nt>Ot+Q)return!1;if(yt<=it||Nt<=Ot)return!0;let hr=yt-it,Sr=Nt-Ot;return hr*hr+Sr*Sr<=Q*Q}}function Or(le,w,B,Q,ee){let se=a.H();return w?(a.K(se,se,[1/ee,1/ee,1]),B||a.ad(se,se,Q.angle)):a.L(se,Q.labelPlaneMatrix,le),se}function Nr(le,w,B,Q,ee){if(w){let se=a.ae(le);return a.K(se,se,[ee,ee,1]),B||a.ad(se,se,-Q.angle),se}return Q.glCoordMatrix}function ut(le,w,B,Q){let ee;Q?(ee=[le,w,Q(le,w),1],a.af(ee,ee,B)):(ee=[le,w,0,1],jr(ee,ee,B));let se=ee[3];return{point:new a.P(ee[0]/se,ee[1]/se),signedDistanceFromCamera:se,isOccluded:!1}}function Ne(le,w){return .5+le/w*.5}function Ye(le,w){return le.x>=-w[0]&&le.x<=w[0]&&le.y>=-w[1]&&le.y<=w[1]}function Ve(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he){let be=Q?le.textSizeData:le.iconSizeData,Pe=a.ag(be,B.transform.zoom),Oe=[256/B.width*2+1,256/B.height*2+1],Je=Q?le.text.dynamicLayoutVertexArray:le.icon.dynamicLayoutVertexArray;Je.clear();let He=le.lineVertexArray,et=Q?le.text.placedSymbolArray:le.icon.placedSymbolArray,Mt=B.transform.width/B.transform.height,Dt=!1;for(let Ut=0;Ut<et.length;Ut++){let tr=et.get(Ut);if(tr.hidden||tr.writingMode===a.ah.vertical&&!Dt){ai(tr.numGlyphs,Je);continue}Dt=!1;let mr=ut(tr.anchorX,tr.anchorY,w,he);if(!Ye(mr.point,Oe)){ai(tr.numGlyphs,Je);continue}let Rr=Ne(B.transform.cameraToCenterDistance,mr.signedDistanceFromCamera),zr=a.ai(be,Pe,tr),Xr=qe?zr/Rr:zr*Rr,di={getElevation:he,labelPlaneMatrix:ee,lineVertexArray:He,pitchWithMap:qe,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},projection:yt,tileAnchorPoint:new a.P(tr.anchorX,tr.anchorY),unwrappedTileID:Ot,width:Nt,height:hr,translation:Sr},Li=Le(di,tr,Xr,!1,je,w,se,le.glyphOffsetArray,Je,Mt,it);Dt=Li.useVertical,(Li.notEnoughRoom||Dt||Li.needsFlipping&&Le(di,tr,Xr,!0,je,w,se,le.glyphOffsetArray,Je,Mt,it).notEnoughRoom)&&ai(tr.numGlyphs,Je)}Q?le.text.dynamicLayoutVertexBuffer.updateData(Je):le.icon.dynamicLayoutVertexBuffer.updateData(Je)}function Xe(le,w,B,Q,ee,se,qe,je){let it=se.glyphStartIndex+se.numGlyphs,yt=se.lineStartIndex,Ot=se.lineStartIndex+se.lineLength,Nt=w.getoffsetX(se.glyphStartIndex),hr=w.getoffsetX(it-1),Sr=ar(le*Nt,B,Q,ee,se.segment,yt,Ot,je,qe);if(!Sr)return null;let he=ar(le*hr,B,Q,ee,se.segment,yt,Ot,je,qe);return he?je.projectionCache.anyProjectionOccluded?null:{first:Sr,last:he}:null}function ht(le,w,B,Q){return le===a.ah.horizontal&&Math.abs(B.y-w.y)>Math.abs(B.x-w.x)*Q?{useVertical:!0}:(le===a.ah.vertical?w.y<B.y:w.x>B.x)?{needsFlipping:!0}:null}function Le(le,w,B,Q,ee,se,qe,je,it,yt,Ot){let Nt=B/24,hr=w.lineOffsetX*Nt,Sr=w.lineOffsetY*Nt,he;if(w.numGlyphs>1){let be=w.glyphStartIndex+w.numGlyphs,Pe=w.lineStartIndex,Oe=w.lineStartIndex+w.lineLength,Je=Xe(Nt,je,hr,Sr,Q,w,Ot,le);if(!Je)return{notEnoughRoom:!0};let He=ut(Je.first.point.x,Je.first.point.y,qe,le.getElevation).point,et=ut(Je.last.point.x,Je.last.point.y,qe,le.getElevation).point;if(ee&&!Q){let Mt=ht(w.writingMode,He,et,yt);if(Mt)return Mt}he=[Je.first];for(let Mt=w.glyphStartIndex+1;Mt<be-1;Mt++)he.push(ar(Nt*je.getoffsetX(Mt),hr,Sr,Q,w.segment,Pe,Oe,le,Ot));he.push(Je.last)}else{if(ee&&!Q){let Pe=ut(le.tileAnchorPoint.x,le.tileAnchorPoint.y,se,le.getElevation).point,Oe=w.lineStartIndex+w.segment+1,Je=new a.P(le.lineVertexArray.getx(Oe),le.lineVertexArray.gety(Oe)),He=ut(Je.x,Je.y,se,le.getElevation),et=He.signedDistanceFromCamera>0?He.point:function(Dt,Ut,tr,mr,Rr,zr){return xe(Dt,Ut,tr,1,Rr,zr)}(le.tileAnchorPoint,Je,Pe,0,se,le),Mt=ht(w.writingMode,Pe,et,yt);if(Mt)return Mt}let be=ar(Nt*je.getoffsetX(w.glyphStartIndex),hr,Sr,Q,w.segment,w.lineStartIndex,w.lineStartIndex+w.lineLength,le,Ot);if(!be||le.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};he=[be]}for(let be of he)a.aj(it,be.point,be.angle);return{}}function xe(le,w,B,Q,ee,se){let qe=le.add(le.sub(w)._unit()),je=ee!==void 0?ut(qe.x,qe.y,ee,se.getElevation).point:lt(qe.x,qe.y,se).point,it=B.sub(je);return B.add(it._mult(Q/it.mag()))}function Se(le,w,B){let Q=w.projectionCache;if(Q.projections[le])return Q.projections[le];let ee=new a.P(w.lineVertexArray.getx(le),w.lineVertexArray.gety(le)),se=lt(ee.x,ee.y,w);if(se.signedDistanceFromCamera>0)return Q.projections[le]=se.point,Q.anyProjectionOccluded=Q.anyProjectionOccluded||se.isOccluded,se.point;let qe=le-B.direction;return function(je,it,yt,Ot,Nt){return xe(je,it,yt,Ot,void 0,Nt)}(B.distanceFromAnchor===0?w.tileAnchorPoint:new a.P(w.lineVertexArray.getx(qe),w.lineVertexArray.gety(qe)),ee,B.previousVertex,B.absOffsetX-B.distanceFromAnchor+1,w)}function lt(le,w,B){let Q=le+B.translation[0],ee=w+B.translation[1],se;return!B.pitchWithMap&&B.projection.useSpecialProjectionForSymbols?(se=B.projection.projectTileCoordinates(Q,ee,B.unwrappedTileID,B.getElevation),se.point.x=(.5*se.point.x+.5)*B.width,se.point.y=(.5*-se.point.y+.5)*B.height):(se=ut(Q,ee,B.labelPlaneMatrix,B.getElevation),se.isOccluded=!1),se}function Gt(le,w,B){return le._unit()._perp()._mult(w*B)}function Vt(le,w,B,Q,ee,se,qe,je,it){if(je.projectionCache.offsets[le])return je.projectionCache.offsets[le];let yt=B.add(w);if(le+it.direction<Q||le+it.direction>=ee)return je.projectionCache.offsets[le]=yt,yt;let Ot=Se(le+it.direction,je,it),Nt=Gt(Ot.sub(B),qe,it.direction),hr=B.add(Nt),Sr=Ot.add(Nt);return je.projectionCache.offsets[le]=a.ak(se,yt,hr,Sr)||yt,je.projectionCache.offsets[le]}function ar(le,w,B,Q,ee,se,qe,je,it){let yt=Q?le-w:le+w,Ot=yt>0?1:-1,Nt=0;Q&&(Ot*=-1,Nt=Math.PI),Ot<0&&(Nt+=Math.PI);let hr,Sr=Ot>0?se+ee:se+ee+1;je.projectionCache.cachedAnchorPoint?hr=je.projectionCache.cachedAnchorPoint:(hr=lt(je.tileAnchorPoint.x,je.tileAnchorPoint.y,je).point,je.projectionCache.cachedAnchorPoint=hr);let he,be,Pe=hr,Oe=hr,Je=0,He=0,et=Math.abs(yt),Mt=[],Dt;for(;Je+He<=et;){if(Sr+=Ot,Sr<se||Sr>=qe)return null;Je+=He,Oe=Pe,be=he;let mr={absOffsetX:et,direction:Ot,distanceFromAnchor:Je,previousVertex:Oe};if(Pe=Se(Sr,je,mr),B===0)Mt.push(Oe),Dt=Pe.sub(Oe);else{let Rr,zr=Pe.sub(Oe);Rr=zr.mag()===0?Gt(Se(Sr+Ot,je,mr).sub(Pe),B,Ot):Gt(zr,B,Ot),be||(be=Oe.add(Rr)),he=Vt(Sr,Rr,Pe,se,qe,be,B,je,mr),Mt.push(be),Dt=he.sub(be)}He=Dt.mag()}let Ut=Dt._mult((et-Je)/He)._add(be||Oe),tr=Nt+Math.atan2(Pe.y-Oe.y,Pe.x-Oe.x);return Mt.push(Ut),{point:Ut,angle:it?tr:0,path:Mt}}let Qr=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ai(le,w){for(let B=0;B<le;B++){let Q=w.length;w.resize(Q+4),w.float32.set(Qr,3*Q)}}function jr(le,w,B){let Q=w[0],ee=w[1];return le[0]=B[0]*Q+B[4]*ee+B[12],le[1]=B[1]*Q+B[5]*ee+B[13],le[3]=B[3]*Q+B[7]*ee+B[15],le}let ri=100;class bi{constructor(w,B,Q=new Br(w.width+200,w.height+200,25),ee=new Br(w.width+200,w.height+200,25)){this.transform=w,this.mapProjection=B,this.grid=Q,this.ignoredGrid=ee,this.pitchFactor=Math.cos(w._pitch)*w.cameraToCenterDistance,this.screenRightBoundary=w.width+ri,this.screenBottomBoundary=w.height+ri,this.gridRightBoundary=w.width+200,this.gridBottomBoundary=w.height+200,this.perspectiveRatioCutoff=.6}placeCollisionBox(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt){let hr=w.anchorPointX+it[0],Sr=w.anchorPointY+it[1],he=this.projectAndGetPerspectiveRatio(ee,hr,Sr,se,Ot),be=Q*he.perspectiveRatio,Pe;if(qe||je)Pe=this._projectCollisionBox(w,be,ee,se,qe,je,it,he,Ot,Nt);else{let Mt=he.point.x+(Nt?Nt.x*be:0),Dt=he.point.y+(Nt?Nt.y*be:0);Pe={allPointsOccluded:!1,box:[Mt+w.x1*be,Dt+w.y1*be,Mt+w.x2*be,Dt+w.y2*be]}}let[Oe,Je,He,et]=Pe.box;return this.mapProjection.useSpecialProjectionForSymbols&&(qe?Pe.allPointsOccluded:this.mapProjection.isOccluded(hr,Sr,se))||he.perspectiveRatio<this.perspectiveRatioCutoff||!this.isInsideGrid(Oe,Je,He,et)||B!==\"always\"&&this.grid.hitTest(Oe,Je,He,et,B,yt)?{box:[Oe,Je,He,et],placeable:!1,offscreen:!1}:{box:[Oe,Je,He,et],placeable:!0,offscreen:this.isOffscreen(Oe,Je,He,et)}}placeCollisionCircles(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he,be,Pe){let Oe=[],Je=new a.P(B.anchorX,B.anchorY),He=this.getPerspectiveRatio(qe,Je.x,Je.y,je,Pe),et=(Nt?se/He:se*He)/a.ap,Mt={getElevation:Pe,labelPlaneMatrix:it,lineVertexArray:Q,pitchWithMap:Nt,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},projection:this.mapProjection,tileAnchorPoint:Je,unwrappedTileID:je,width:this.transform.width,height:this.transform.height,translation:be},Dt=Xe(et,ee,B.lineOffsetX*et,B.lineOffsetY*et,!1,B,!1,Mt),Ut=!1,tr=!1,mr=!0;if(Dt){let Rr=.5*Sr*He+he,zr=new a.P(-100,-100),Xr=new a.P(this.screenRightBoundary,this.screenBottomBoundary),di=new fr,Li=Dt.first,Ci=Dt.last,Qi=[];for(let ea=Li.path.length-1;ea>=1;ea--)Qi.push(Li.path[ea]);for(let ea=1;ea<Ci.path.length;ea++)Qi.push(Ci.path[ea]);let Mn=2.5*Rr;if(yt){let ea=this.projectPathToScreenSpace(Qi,Mt,yt);Qi=ea.some(Ga=>Ga.signedDistanceFromCamera<=0)?[]:ea.map(Ga=>Ga.point)}let pa=[];if(Qi.length>0){let ea=Qi[0].clone(),Ga=Qi[0].clone();for(let To=1;To<Qi.length;To++)ea.x=Math.min(ea.x,Qi[To].x),ea.y=Math.min(ea.y,Qi[To].y),Ga.x=Math.max(Ga.x,Qi[To].x),Ga.y=Math.max(Ga.y,Qi[To].y);pa=ea.x>=zr.x&&Ga.x<=Xr.x&&ea.y>=zr.y&&Ga.y<=Xr.y?[Qi]:Ga.x<zr.x||ea.x>Xr.x||Ga.y<zr.y||ea.y>Xr.y?[]:a.al([Qi],zr.x,zr.y,Xr.x,Xr.y)}for(let ea of pa){di.reset(ea,.25*Rr);let Ga=0;Ga=di.length<=.5*Rr?1:Math.ceil(di.paddedLength/Mn)+1;for(let To=0;To<Ga;To++){let Wa=To/Math.max(Ga-1,1),co=di.lerp(Wa),Ro=co.x+ri,Ds=co.y+ri;Oe.push(Ro,Ds,Rr,0);let As=Ro-Rr,yo=Ds-Rr,po=Ro+Rr,_l=Ds+Rr;if(mr=mr&&this.isOffscreen(As,yo,po,_l),tr=tr||this.isInsideGrid(As,yo,po,_l),w!==\"always\"&&this.grid.hitTestCircle(Ro,Ds,Rr,w,hr)&&(Ut=!0,!Ot))return{circles:[],offscreen:!1,collisionDetected:Ut}}}}return{circles:!Ot&&Ut||!tr||He<this.perspectiveRatioCutoff?[]:Oe,offscreen:mr,collisionDetected:Ut}}projectPathToScreenSpace(w,B,Q){return w.map(ee=>ut(ee.x,ee.y,Q,B.getElevation))}queryRenderedSymbols(w){if(w.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let B=[],Q=1/0,ee=1/0,se=-1/0,qe=-1/0;for(let Ot of w){let Nt=new a.P(Ot.x+ri,Ot.y+ri);Q=Math.min(Q,Nt.x),ee=Math.min(ee,Nt.y),se=Math.max(se,Nt.x),qe=Math.max(qe,Nt.y),B.push(Nt)}let je=this.grid.query(Q,ee,se,qe).concat(this.ignoredGrid.query(Q,ee,se,qe)),it={},yt={};for(let Ot of je){let Nt=Ot.key;if(it[Nt.bucketInstanceId]===void 0&&(it[Nt.bucketInstanceId]={}),it[Nt.bucketInstanceId][Nt.featureIndex])continue;let hr=[new a.P(Ot.x1,Ot.y1),new a.P(Ot.x2,Ot.y1),new a.P(Ot.x2,Ot.y2),new a.P(Ot.x1,Ot.y2)];a.am(B,hr)&&(it[Nt.bucketInstanceId][Nt.featureIndex]=!0,yt[Nt.bucketInstanceId]===void 0&&(yt[Nt.bucketInstanceId]=[]),yt[Nt.bucketInstanceId].push(Nt.featureIndex))}return yt}insertCollisionBox(w,B,Q,ee,se,qe){(Q?this.ignoredGrid:this.grid).insert({bucketInstanceId:ee,featureIndex:se,collisionGroupID:qe,overlapMode:B},w[0],w[1],w[2],w[3])}insertCollisionCircles(w,B,Q,ee,se,qe){let je=Q?this.ignoredGrid:this.grid,it={bucketInstanceId:ee,featureIndex:se,collisionGroupID:qe,overlapMode:B};for(let yt=0;yt<w.length;yt+=4)je.insertCircle(it,w[yt],w[yt+1],w[yt+2])}projectAndGetPerspectiveRatio(w,B,Q,ee,se){let qe;se?(qe=[B,Q,se(B,Q),1],a.af(qe,qe,w)):(qe=[B,Q,0,1],jr(qe,qe,w));let je=qe[3];return{point:new a.P((qe[0]/je+1)/2*this.transform.width+ri,(-qe[1]/je+1)/2*this.transform.height+ri),perspectiveRatio:.5+this.transform.cameraToCenterDistance/je*.5,isOccluded:!1,signedDistanceFromCamera:je}}getPerspectiveRatio(w,B,Q,ee,se){let qe=this.mapProjection.useSpecialProjectionForSymbols?this.mapProjection.projectTileCoordinates(B,Q,ee,se):ut(B,Q,w,se);return .5+this.transform.cameraToCenterDistance/qe.signedDistanceFromCamera*.5}isOffscreen(w,B,Q,ee){return Q<ri||w>=this.screenRightBoundary||ee<ri||B>this.screenBottomBoundary}isInsideGrid(w,B,Q,ee){return Q>=0&&w<this.gridRightBoundary&&ee>=0&&B<this.gridBottomBoundary}getViewportMatrix(){let w=a.an([]);return a.J(w,w,[-100,-100,0]),w}_projectCollisionBox(w,B,Q,ee,se,qe,je,it,yt,Ot){let Nt=new a.P(1,0),hr=new a.P(0,1),Sr=new a.P(w.anchorPointX+je[0],w.anchorPointY+je[1]);if(qe&&!se){let mr=this.projectAndGetPerspectiveRatio(Q,Sr.x+1,Sr.y,ee,yt).point.sub(it.point).unit(),Rr=Math.atan(mr.y/mr.x)+(mr.x<0?Math.PI:0),zr=Math.sin(Rr),Xr=Math.cos(Rr);Nt=new a.P(Xr,zr),hr=new a.P(-zr,Xr)}else if(!qe&&se){let mr=-this.transform.angle,Rr=Math.sin(mr),zr=Math.cos(mr);Nt=new a.P(zr,Rr),hr=new a.P(-Rr,zr)}let he=it.point,be=B;if(se){he=Sr;let mr=this.transform.zoom-Math.floor(this.transform.zoom);be=Math.pow(2,-mr),be*=this.mapProjection.getPitchedTextCorrection(this.transform,Sr,ee),Ot||(be*=a.ac(.5+it.signedDistanceFromCamera/this.transform.cameraToCenterDistance*.5,0,4))}Ot&&(he=he.add(Nt.mult(Ot.x*be)).add(hr.mult(Ot.y*be)));let Pe=w.x1*be,Oe=w.x2*be,Je=(Pe+Oe)/2,He=w.y1*be,et=w.y2*be,Mt=(He+et)/2,Dt=[{offsetX:Pe,offsetY:He},{offsetX:Je,offsetY:He},{offsetX:Oe,offsetY:He},{offsetX:Oe,offsetY:Mt},{offsetX:Oe,offsetY:et},{offsetX:Je,offsetY:et},{offsetX:Pe,offsetY:et},{offsetX:Pe,offsetY:Mt}],Ut=[];for(let{offsetX:mr,offsetY:Rr}of Dt)Ut.push(new a.P(he.x+Nt.x*mr+hr.x*Rr,he.y+Nt.y*mr+hr.y*Rr));let tr=!1;if(se){let mr=Ut.map(Rr=>this.projectAndGetPerspectiveRatio(Q,Rr.x,Rr.y,ee,yt));tr=mr.some(Rr=>!Rr.isOccluded),Ut=mr.map(Rr=>Rr.point)}else tr=!0;return{box:a.ao(Ut),allPointsOccluded:!tr}}}function nn(le,w,B){return w*(a.X/(le.tileSize*Math.pow(2,B-le.tileID.overscaledZ)))}class Wi{constructor(w,B,Q,ee){this.opacity=w?Math.max(0,Math.min(1,w.opacity+(w.placed?B:-B))):ee&&Q?1:0,this.placed=Q}isHidden(){return this.opacity===0&&!this.placed}}class Ni{constructor(w,B,Q,ee,se){this.text=new Wi(w?w.text:null,B,Q,se),this.icon=new Wi(w?w.icon:null,B,ee,se)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class _n{constructor(w,B,Q){this.text=w,this.icon=B,this.skipFade=Q}}class $i{constructor(){this.invProjMatrix=a.H(),this.viewportMatrix=a.H(),this.circles=[]}}class zn{constructor(w,B,Q,ee,se){this.bucketInstanceId=w,this.featureIndex=B,this.sourceLayerIndex=Q,this.bucketIndex=ee,this.tileID=se}}class Wn{constructor(w){this.crossSourceCollisions=w,this.maxGroupID=0,this.collisionGroups={}}get(w){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[w]){let B=++this.maxGroupID;this.collisionGroups[w]={ID:B,predicate:Q=>Q.collisionGroupID===B}}return this.collisionGroups[w]}}function It(le,w,B,Q,ee){let{horizontalAlign:se,verticalAlign:qe}=a.au(le);return new a.P(-(se-.5)*w+Q[0]*ee,-(qe-.5)*B+Q[1]*ee)}class ft{constructor(w,B,Q,ee,se,qe){this.transform=w.clone(),this.terrain=Q,this.collisionIndex=new bi(this.transform,B),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=ee,this.retainedQueryData={},this.collisionGroups=new Wn(se),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=qe,qe&&(qe.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(w){let B=this.terrain;return B?(Q,ee)=>B.getElevation(w,Q,ee):null}getBucketParts(w,B,Q,ee){let se=Q.getBucket(B),qe=Q.latestFeatureIndex;if(!se||!qe||B.id!==se.layerIds[0])return;let je=Q.collisionBoxArray,it=se.layers[0].layout,yt=se.layers[0].paint,Ot=Math.pow(2,this.transform.zoom-Q.tileID.overscaledZ),Nt=Q.tileSize/a.X,hr=Q.tileID.toUnwrapped(),Sr=this.transform.calculatePosMatrix(hr),he=it.get(\"text-pitch-alignment\")===\"map\",be=it.get(\"text-rotation-alignment\")===\"map\",Pe=nn(Q,1,this.transform.zoom),Oe=this.collisionIndex.mapProjection.translatePosition(this.transform,Q,yt.get(\"text-translate\"),yt.get(\"text-translate-anchor\")),Je=this.collisionIndex.mapProjection.translatePosition(this.transform,Q,yt.get(\"icon-translate\"),yt.get(\"icon-translate-anchor\")),He=Or(Sr,he,be,this.transform,Pe),et=null;if(he){let Dt=Nr(Sr,he,be,this.transform,Pe);et=a.L([],this.transform.labelPlaneMatrix,Dt)}this.retainedQueryData[se.bucketInstanceId]=new zn(se.bucketInstanceId,qe,se.sourceLayerIndex,se.index,Q.tileID);let Mt={bucket:se,layout:it,translationText:Oe,translationIcon:Je,posMatrix:Sr,unwrappedTileID:hr,textLabelPlaneMatrix:He,labelToScreenMatrix:et,scale:Ot,textPixelRatio:Nt,holdingForFade:Q.holdingForFade(),collisionBoxArray:je,partiallyEvaluatedTextSize:a.ag(se.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(se.sourceID)};if(ee)for(let Dt of se.sortKeyRanges){let{sortKey:Ut,symbolInstanceStart:tr,symbolInstanceEnd:mr}=Dt;w.push({sortKey:Ut,symbolInstanceStart:tr,symbolInstanceEnd:mr,parameters:Mt})}else w.push({symbolInstanceStart:0,symbolInstanceEnd:se.symbolInstances.length,parameters:Mt})}attemptAnchorPlacement(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he,be,Pe,Oe,Je,He){let et=a.aq[w.textAnchor],Mt=[w.textOffset0,w.textOffset1],Dt=It(et,Q,ee,Mt,se),Ut=this.collisionIndex.placeCollisionBox(B,hr,it,yt,Ot,je,qe,Pe,Nt.predicate,He,Dt);if((!Je||this.collisionIndex.placeCollisionBox(Je,hr,it,yt,Ot,je,qe,Oe,Nt.predicate,He,Dt).placeable)&&Ut.placeable){let tr;if(this.prevPlacement&&this.prevPlacement.variableOffsets[Sr.crossTileID]&&this.prevPlacement.placements[Sr.crossTileID]&&this.prevPlacement.placements[Sr.crossTileID].text&&(tr=this.prevPlacement.variableOffsets[Sr.crossTileID].anchor),Sr.crossTileID===0)throw new Error(\"symbolInstance.crossTileID can't be 0\");return this.variableOffsets[Sr.crossTileID]={textOffset:Mt,width:Q,height:ee,anchor:et,textBoxScale:se,prevAnchor:tr},this.markUsedJustification(he,et,Sr,be),he.allowVerticalPlacement&&(this.markUsedOrientation(he,be,Sr),this.placedOrientations[Sr.crossTileID]=be),{shift:Dt,placedGlyphBoxes:Ut}}}placeLayerBucketPart(w,B,Q){let{bucket:ee,layout:se,translationText:qe,translationIcon:je,posMatrix:it,unwrappedTileID:yt,textLabelPlaneMatrix:Ot,labelToScreenMatrix:Nt,textPixelRatio:hr,holdingForFade:Sr,collisionBoxArray:he,partiallyEvaluatedTextSize:be,collisionGroup:Pe}=w.parameters,Oe=se.get(\"text-optional\"),Je=se.get(\"icon-optional\"),He=a.ar(se,\"text-overlap\",\"text-allow-overlap\"),et=He===\"always\",Mt=a.ar(se,\"icon-overlap\",\"icon-allow-overlap\"),Dt=Mt===\"always\",Ut=se.get(\"text-rotation-alignment\")===\"map\",tr=se.get(\"text-pitch-alignment\")===\"map\",mr=se.get(\"icon-text-fit\")!==\"none\",Rr=se.get(\"symbol-z-order\")===\"viewport-y\",zr=et&&(Dt||!ee.hasIconData()||Je),Xr=Dt&&(et||!ee.hasTextData()||Oe);!ee.collisionArrays&&he&&ee.deserializeCollisionBoxes(he);let di=this._getTerrainElevationFunc(this.retainedQueryData[ee.bucketInstanceId].tileID),Li=(Ci,Qi,Mn)=>{var pa,ea;if(B[Ci.crossTileID])return;if(Sr)return void(this.placements[Ci.crossTileID]=new _n(!1,!1,!1));let Ga=!1,To=!1,Wa=!0,co=null,Ro={box:null,placeable:!1,offscreen:null},Ds={box:null,placeable:!1,offscreen:null},As=null,yo=null,po=null,_l=0,Hl=0,Zu=0;Qi.textFeatureIndex?_l=Qi.textFeatureIndex:Ci.useRuntimeCollisionCircles&&(_l=Ci.featureIndex),Qi.verticalTextFeatureIndex&&(Hl=Qi.verticalTextFeatureIndex);let cu=Qi.textBox;if(cu){let zl=we=>{let Be=a.ah.horizontal;if(ee.allowVerticalPlacement&&!we&&this.prevPlacement){let Ue=this.prevPlacement.placedOrientations[Ci.crossTileID];Ue&&(this.placedOrientations[Ci.crossTileID]=Ue,Be=Ue,this.markUsedOrientation(ee,Be,Ci))}return Be},Fl=(we,Be)=>{if(ee.allowVerticalPlacement&&Ci.numVerticalGlyphVertices>0&&Qi.verticalTextBox){for(let Ue of ee.writingModes)if(Ue===a.ah.vertical?(Ro=Be(),Ds=Ro):Ro=we(),Ro&&Ro.placeable)break}else Ro=we()},Z=Ci.textAnchorOffsetStartIndex,oe=Ci.textAnchorOffsetEndIndex;if(oe===Z){let we=(Be,Ue)=>{let We=this.collisionIndex.placeCollisionBox(Be,He,hr,it,yt,tr,Ut,qe,Pe.predicate,di);return We&&We.placeable&&(this.markUsedOrientation(ee,Ue,Ci),this.placedOrientations[Ci.crossTileID]=Ue),We};Fl(()=>we(cu,a.ah.horizontal),()=>{let Be=Qi.verticalTextBox;return ee.allowVerticalPlacement&&Ci.numVerticalGlyphVertices>0&&Be?we(Be,a.ah.vertical):{box:null,offscreen:null}}),zl(Ro&&Ro.placeable)}else{let we=a.aq[(ea=(pa=this.prevPlacement)===null||pa===void 0?void 0:pa.variableOffsets[Ci.crossTileID])===null||ea===void 0?void 0:ea.anchor],Be=(We,wt,tt)=>{let zt=We.x2-We.x1,or=We.y2-We.y1,lr=Ci.textBoxScale,Dr=mr&&Mt===\"never\"?wt:null,Ir=null,oi=He===\"never\"?1:2,ui=\"never\";we&&oi++;for(let qr=0;qr<oi;qr++){for(let Kr=Z;Kr<oe;Kr++){let ii=ee.textAnchorOffsets.get(Kr);if(we&&ii.textAnchor!==we)continue;let vi=this.attemptAnchorPlacement(ii,We,zt,or,lr,Ut,tr,hr,it,yt,Pe,ui,Ci,ee,tt,qe,je,Dr,di);if(vi&&(Ir=vi.placedGlyphBoxes,Ir&&Ir.placeable))return Ga=!0,co=vi.shift,Ir}we?we=null:ui=He}return Q&&!Ir&&(Ir={box:this.collisionIndex.placeCollisionBox(cu,\"always\",hr,it,yt,tr,Ut,qe,Pe.predicate,di,new a.P(0,0)).box,offscreen:!1,placeable:!1}),Ir};Fl(()=>Be(cu,Qi.iconBox,a.ah.horizontal),()=>{let We=Qi.verticalTextBox;return ee.allowVerticalPlacement&&(!Ro||!Ro.placeable)&&Ci.numVerticalGlyphVertices>0&&We?Be(We,Qi.verticalIconBox,a.ah.vertical):{box:null,occluded:!0,offscreen:null}}),Ro&&(Ga=Ro.placeable,Wa=Ro.offscreen);let Ue=zl(Ro&&Ro.placeable);if(!Ga&&this.prevPlacement){let We=this.prevPlacement.variableOffsets[Ci.crossTileID];We&&(this.variableOffsets[Ci.crossTileID]=We,this.markUsedJustification(ee,We.anchor,Ci,Ue))}}}if(As=Ro,Ga=As&&As.placeable,Wa=As&&As.offscreen,Ci.useRuntimeCollisionCircles){let zl=ee.text.placedSymbolArray.get(Ci.centerJustifiedTextSymbolIndex),Fl=a.ai(ee.textSizeData,be,zl),Z=se.get(\"text-padding\");yo=this.collisionIndex.placeCollisionCircles(He,zl,ee.lineVertexArray,ee.glyphOffsetArray,Fl,it,yt,Ot,Nt,Q,tr,Pe.predicate,Ci.collisionCircleDiameter,Z,qe,di),yo.circles.length&&yo.collisionDetected&&!Q&&a.w(\"Collisions detected, but collision boxes are not shown\"),Ga=et||yo.circles.length>0&&!yo.collisionDetected,Wa=Wa&&yo.offscreen}if(Qi.iconFeatureIndex&&(Zu=Qi.iconFeatureIndex),Qi.iconBox){let zl=Fl=>this.collisionIndex.placeCollisionBox(Fl,Mt,hr,it,yt,tr,Ut,je,Pe.predicate,di,mr&&co?co:void 0);Ds&&Ds.placeable&&Qi.verticalIconBox?(po=zl(Qi.verticalIconBox),To=po.placeable):(po=zl(Qi.iconBox),To=po.placeable),Wa=Wa&&po.offscreen}let el=Oe||Ci.numHorizontalGlyphVertices===0&&Ci.numVerticalGlyphVertices===0,au=Je||Ci.numIconVertices===0;el||au?au?el||(To=To&&Ga):Ga=To&&Ga:To=Ga=To&&Ga;let zc=To&&po.placeable;if(Ga&&As.placeable&&this.collisionIndex.insertCollisionBox(As.box,He,se.get(\"text-ignore-placement\"),ee.bucketInstanceId,Ds&&Ds.placeable&&Hl?Hl:_l,Pe.ID),zc&&this.collisionIndex.insertCollisionBox(po.box,Mt,se.get(\"icon-ignore-placement\"),ee.bucketInstanceId,Zu,Pe.ID),yo&&Ga&&this.collisionIndex.insertCollisionCircles(yo.circles,He,se.get(\"text-ignore-placement\"),ee.bucketInstanceId,_l,Pe.ID),Q&&this.storeCollisionData(ee.bucketInstanceId,Mn,Qi,As,po,yo),Ci.crossTileID===0)throw new Error(\"symbolInstance.crossTileID can't be 0\");if(ee.bucketInstanceId===0)throw new Error(\"bucket.bucketInstanceId can't be 0\");this.placements[Ci.crossTileID]=new _n(Ga||zr,To||Xr,Wa||ee.justReloaded),B[Ci.crossTileID]=!0};if(Rr){if(w.symbolInstanceStart!==0)throw new Error(\"bucket.bucketInstanceId should be 0\");let Ci=ee.getSortedSymbolIndexes(this.transform.angle);for(let Qi=Ci.length-1;Qi>=0;--Qi){let Mn=Ci[Qi];Li(ee.symbolInstances.get(Mn),ee.collisionArrays[Mn],Mn)}}else for(let Ci=w.symbolInstanceStart;Ci<w.symbolInstanceEnd;Ci++)Li(ee.symbolInstances.get(Ci),ee.collisionArrays[Ci],Ci);if(Q&&ee.bucketInstanceId in this.collisionCircleArrays){let Ci=this.collisionCircleArrays[ee.bucketInstanceId];a.as(Ci.invProjMatrix,it),Ci.viewportMatrix=this.collisionIndex.getViewportMatrix()}ee.justReloaded=!1}storeCollisionData(w,B,Q,ee,se,qe){if(Q.textBox||Q.iconBox){let je,it;this.collisionBoxArrays.has(w)?je=this.collisionBoxArrays.get(w):(je=new Map,this.collisionBoxArrays.set(w,je)),je.has(B)?it=je.get(B):(it={text:null,icon:null},je.set(B,it)),Q.textBox&&(it.text=ee.box),Q.iconBox&&(it.icon=se.box)}if(qe){let je=this.collisionCircleArrays[w];je===void 0&&(je=this.collisionCircleArrays[w]=new $i);for(let it=0;it<qe.circles.length;it+=4)je.circles.push(qe.circles[it+0]),je.circles.push(qe.circles[it+1]),je.circles.push(qe.circles[it+2]),je.circles.push(qe.collisionDetected?1:0)}}markUsedJustification(w,B,Q,ee){let se;se=ee===a.ah.vertical?Q.verticalPlacedTextSymbolIndex:{left:Q.leftJustifiedTextSymbolIndex,center:Q.centerJustifiedTextSymbolIndex,right:Q.rightJustifiedTextSymbolIndex}[a.at(B)];let qe=[Q.leftJustifiedTextSymbolIndex,Q.centerJustifiedTextSymbolIndex,Q.rightJustifiedTextSymbolIndex,Q.verticalPlacedTextSymbolIndex];for(let je of qe)je>=0&&(w.text.placedSymbolArray.get(je).crossTileID=se>=0&&je!==se?0:Q.crossTileID)}markUsedOrientation(w,B,Q){let ee=B===a.ah.horizontal||B===a.ah.horizontalOnly?B:0,se=B===a.ah.vertical?B:0,qe=[Q.leftJustifiedTextSymbolIndex,Q.centerJustifiedTextSymbolIndex,Q.rightJustifiedTextSymbolIndex];for(let je of qe)w.text.placedSymbolArray.get(je).placedOrientation=ee;Q.verticalPlacedTextSymbolIndex&&(w.text.placedSymbolArray.get(Q.verticalPlacedTextSymbolIndex).placedOrientation=se)}commit(w){this.commitTime=w,this.zoomAtLastRecencyCheck=this.transform.zoom;let B=this.prevPlacement,Q=!1;this.prevZoomAdjustment=B?B.zoomAdjustment(this.transform.zoom):0;let ee=B?B.symbolFadeChange(w):1,se=B?B.opacities:{},qe=B?B.variableOffsets:{},je=B?B.placedOrientations:{};for(let it in this.placements){let yt=this.placements[it],Ot=se[it];Ot?(this.opacities[it]=new Ni(Ot,ee,yt.text,yt.icon),Q=Q||yt.text!==Ot.text.placed||yt.icon!==Ot.icon.placed):(this.opacities[it]=new Ni(null,ee,yt.text,yt.icon,yt.skipFade),Q=Q||yt.text||yt.icon)}for(let it in se){let yt=se[it];if(!this.opacities[it]){let Ot=new Ni(yt,ee,!1,!1);Ot.isHidden()||(this.opacities[it]=Ot,Q=Q||yt.text.placed||yt.icon.placed)}}for(let it in qe)this.variableOffsets[it]||!this.opacities[it]||this.opacities[it].isHidden()||(this.variableOffsets[it]=qe[it]);for(let it in je)this.placedOrientations[it]||!this.opacities[it]||this.opacities[it].isHidden()||(this.placedOrientations[it]=je[it]);if(B&&B.lastPlacementChangeTime===void 0)throw new Error(\"Last placement time for previous placement is not defined\");Q?this.lastPlacementChangeTime=w:typeof this.lastPlacementChangeTime!=\"number\"&&(this.lastPlacementChangeTime=B?B.lastPlacementChangeTime:w)}updateLayerOpacities(w,B){let Q={};for(let ee of B){let se=ee.getBucket(w);se&&ee.latestFeatureIndex&&w.id===se.layerIds[0]&&this.updateBucketOpacities(se,ee.tileID,Q,ee.collisionBoxArray)}}updateBucketOpacities(w,B,Q,ee){w.hasTextData()&&(w.text.opacityVertexArray.clear(),w.text.hasVisibleVertices=!1),w.hasIconData()&&(w.icon.opacityVertexArray.clear(),w.icon.hasVisibleVertices=!1),w.hasIconCollisionBoxData()&&w.iconCollisionBox.collisionVertexArray.clear(),w.hasTextCollisionBoxData()&&w.textCollisionBox.collisionVertexArray.clear();let se=w.layers[0],qe=se.layout,je=new Ni(null,0,!1,!1,!0),it=qe.get(\"text-allow-overlap\"),yt=qe.get(\"icon-allow-overlap\"),Ot=se._unevaluatedLayout.hasValue(\"text-variable-anchor\")||se._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),Nt=qe.get(\"text-rotation-alignment\")===\"map\",hr=qe.get(\"text-pitch-alignment\")===\"map\",Sr=qe.get(\"icon-text-fit\")!==\"none\",he=new Ni(null,0,it&&(yt||!w.hasIconData()||qe.get(\"icon-optional\")),yt&&(it||!w.hasTextData()||qe.get(\"text-optional\")),!0);!w.collisionArrays&&ee&&(w.hasIconCollisionBoxData()||w.hasTextCollisionBoxData())&&w.deserializeCollisionBoxes(ee);let be=(Oe,Je,He)=>{for(let et=0;et<Je/4;et++)Oe.opacityVertexArray.emplaceBack(He);Oe.hasVisibleVertices=Oe.hasVisibleVertices||He!==Pi},Pe=this.collisionBoxArrays.get(w.bucketInstanceId);for(let Oe=0;Oe<w.symbolInstances.length;Oe++){let Je=w.symbolInstances.get(Oe),{numHorizontalGlyphVertices:He,numVerticalGlyphVertices:et,crossTileID:Mt}=Je,Dt=this.opacities[Mt];Q[Mt]?Dt=je:Dt||(Dt=he,this.opacities[Mt]=Dt),Q[Mt]=!0;let Ut=Je.numIconVertices>0,tr=this.placedOrientations[Je.crossTileID],mr=tr===a.ah.vertical,Rr=tr===a.ah.horizontal||tr===a.ah.horizontalOnly;if(He>0||et>0){let Xr=Mi(Dt.text);be(w.text,He,mr?Pi:Xr),be(w.text,et,Rr?Pi:Xr);let di=Dt.text.isHidden();[Je.rightJustifiedTextSymbolIndex,Je.centerJustifiedTextSymbolIndex,Je.leftJustifiedTextSymbolIndex].forEach(Qi=>{Qi>=0&&(w.text.placedSymbolArray.get(Qi).hidden=di||mr?1:0)}),Je.verticalPlacedTextSymbolIndex>=0&&(w.text.placedSymbolArray.get(Je.verticalPlacedTextSymbolIndex).hidden=di||Rr?1:0);let Li=this.variableOffsets[Je.crossTileID];Li&&this.markUsedJustification(w,Li.anchor,Je,tr);let Ci=this.placedOrientations[Je.crossTileID];Ci&&(this.markUsedJustification(w,\"left\",Je,Ci),this.markUsedOrientation(w,Ci,Je))}if(Ut){let Xr=Mi(Dt.icon),di=!(Sr&&Je.verticalPlacedIconSymbolIndex&&mr);Je.placedIconSymbolIndex>=0&&(be(w.icon,Je.numIconVertices,di?Xr:Pi),w.icon.placedSymbolArray.get(Je.placedIconSymbolIndex).hidden=Dt.icon.isHidden()),Je.verticalPlacedIconSymbolIndex>=0&&(be(w.icon,Je.numVerticalIconVertices,di?Pi:Xr),w.icon.placedSymbolArray.get(Je.verticalPlacedIconSymbolIndex).hidden=Dt.icon.isHidden())}let zr=Pe&&Pe.has(Oe)?Pe.get(Oe):{text:null,icon:null};if(w.hasIconCollisionBoxData()||w.hasTextCollisionBoxData()){let Xr=w.collisionArrays[Oe];if(Xr){let di=new a.P(0,0);if(Xr.textBox||Xr.verticalTextBox){let Li=!0;if(Ot){let Ci=this.variableOffsets[Mt];Ci?(di=It(Ci.anchor,Ci.width,Ci.height,Ci.textOffset,Ci.textBoxScale),Nt&&di._rotate(hr?this.transform.angle:-this.transform.angle)):Li=!1}if(Xr.textBox||Xr.verticalTextBox){let Ci;Xr.textBox&&(Ci=mr),Xr.verticalTextBox&&(Ci=Rr),jt(w.textCollisionBox.collisionVertexArray,Dt.text.placed,!Li||Ci,zr.text,di.x,di.y)}}if(Xr.iconBox||Xr.verticalIconBox){let Li=!!(!Rr&&Xr.verticalIconBox),Ci;Xr.iconBox&&(Ci=Li),Xr.verticalIconBox&&(Ci=!Li),jt(w.iconCollisionBox.collisionVertexArray,Dt.icon.placed,Ci,zr.icon,Sr?di.x:0,Sr?di.y:0)}}}}if(w.sortFeatures(this.transform.angle),this.retainedQueryData[w.bucketInstanceId]&&(this.retainedQueryData[w.bucketInstanceId].featureSortOrder=w.featureSortOrder),w.hasTextData()&&w.text.opacityVertexBuffer&&w.text.opacityVertexBuffer.updateData(w.text.opacityVertexArray),w.hasIconData()&&w.icon.opacityVertexBuffer&&w.icon.opacityVertexBuffer.updateData(w.icon.opacityVertexArray),w.hasIconCollisionBoxData()&&w.iconCollisionBox.collisionVertexBuffer&&w.iconCollisionBox.collisionVertexBuffer.updateData(w.iconCollisionBox.collisionVertexArray),w.hasTextCollisionBoxData()&&w.textCollisionBox.collisionVertexBuffer&&w.textCollisionBox.collisionVertexBuffer.updateData(w.textCollisionBox.collisionVertexArray),w.text.opacityVertexArray.length!==w.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${w.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${w.text.layoutVertexArray.length}) / 4`);if(w.icon.opacityVertexArray.length!==w.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${w.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${w.icon.layoutVertexArray.length}) / 4`);if(w.bucketInstanceId in this.collisionCircleArrays){let Oe=this.collisionCircleArrays[w.bucketInstanceId];w.placementInvProjMatrix=Oe.invProjMatrix,w.placementViewportMatrix=Oe.viewportMatrix,w.collisionCircleArray=Oe.circles,delete this.collisionCircleArrays[w.bucketInstanceId]}}symbolFadeChange(w){return this.fadeDuration===0?1:(w-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(w){return Math.max(0,(this.transform.zoom-w)/1.5)}hasTransitions(w){return this.stale||w-this.lastPlacementChangeTime<this.fadeDuration}stillRecent(w,B){let Q=this.zoomAtLastRecencyCheck===B?1-this.zoomAdjustment(B):1;return this.zoomAtLastRecencyCheck=B,this.commitTime+this.fadeDuration*Q>w}setStale(){this.stale=!0}}function jt(le,w,B,Q,ee,se){Q&&Q.length!==0||(Q=[0,0,0,0]);let qe=Q[0]-ri,je=Q[1]-ri,it=Q[2]-ri,yt=Q[3]-ri;le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,qe,je),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,it,je),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,it,yt),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,qe,yt)}let Zt=Math.pow(2,25),yr=Math.pow(2,24),Fr=Math.pow(2,17),Zr=Math.pow(2,16),Vr=Math.pow(2,9),gi=Math.pow(2,8),Si=Math.pow(2,1);function Mi(le){if(le.opacity===0&&!le.placed)return 0;if(le.opacity===1&&le.placed)return 4294967295;let w=le.placed?1:0,B=Math.floor(127*le.opacity);return B*Zt+w*yr+B*Fr+w*Zr+B*Vr+w*gi+B*Si+w}let Pi=0;function Gi(){return{isOccluded:(le,w,B)=>!1,getPitchedTextCorrection:(le,w,B)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(le,w,B,Q){throw new Error(\"Not implemented.\")},translatePosition:(le,w,B,Q)=>function(ee,se,qe,je,it=!1){if(!qe[0]&&!qe[1])return[0,0];let yt=it?je===\"map\"?ee.angle:0:je===\"viewport\"?-ee.angle:0;if(yt){let Ot=Math.sin(yt),Nt=Math.cos(yt);qe=[qe[0]*Nt-qe[1]*Ot,qe[0]*Ot+qe[1]*Nt]}return[it?qe[0]:nn(se,qe[0],ee.zoom),it?qe[1]:nn(se,qe[1],ee.zoom)]}(le,w,B,Q),getCircleRadiusCorrection:le=>1}}class Ki{constructor(w){this._sortAcrossTiles=w.layout.get(\"symbol-z-order\")!==\"viewport-y\"&&!w.layout.get(\"symbol-sort-key\").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(w,B,Q,ee,se){let qe=this._bucketParts;for(;this._currentTileIndex<w.length;)if(B.getBucketParts(qe,ee,w[this._currentTileIndex],this._sortAcrossTiles),this._currentTileIndex++,se())return!0;for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,qe.sort((je,it)=>je.sortKey-it.sortKey));this._currentPartIndex<qe.length;)if(B.placeLayerBucketPart(qe[this._currentPartIndex],this._seenCrossTileIDs,Q),this._currentPartIndex++,se())return!0;return!1}}class ka{constructor(w,B,Q,ee,se,qe,je,it){this.placement=new ft(w,Gi(),B,qe,je,it),this._currentPlacementIndex=Q.length-1,this._forceFullPlacement=ee,this._showCollisionBoxes=se,this._done=!1}isDone(){return this._done}continuePlacement(w,B,Q){let ee=u.now(),se=()=>!this._forceFullPlacement&&u.now()-ee>2;for(;this._currentPlacementIndex>=0;){let qe=B[w[this._currentPlacementIndex]],je=this.placement.collisionIndex.transform.zoom;if(qe.type===\"symbol\"&&(!qe.minzoom||qe.minzoom<=je)&&(!qe.maxzoom||qe.maxzoom>je)){if(this._inProgressLayer||(this._inProgressLayer=new Ki(qe)),this._inProgressLayer.continuePlacement(Q[qe.source],this.placement,this._showCollisionBoxes,qe,se))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(w){return this.placement.commit(w),this.placement}}let jn=512/a.X/2;class la{constructor(w,B,Q){this.tileID=w,this.bucketInstanceId=Q,this._symbolsByKey={};let ee=new Map;for(let se=0;se<B.length;se++){let qe=B.get(se),je=qe.key,it=ee.get(je);it?it.push(qe):ee.set(je,[qe])}for(let[se,qe]of ee){let je={positions:qe.map(it=>({x:Math.floor(it.anchorX*jn),y:Math.floor(it.anchorY*jn)})),crossTileIDs:qe.map(it=>it.crossTileID)};if(je.positions.length>128){let it=new a.av(je.positions.length,16,Uint16Array);for(let{x:yt,y:Ot}of je.positions)it.add(yt,Ot);it.finish(),delete je.positions,je.index=it}this._symbolsByKey[se]=je}}getScaledCoordinates(w,B){let{x:Q,y:ee,z:se}=this.tileID.canonical,{x:qe,y:je,z:it}=B.canonical,yt=jn/Math.pow(2,it-se),Ot=(je*a.X+w.anchorY)*yt,Nt=ee*a.X*jn;return{x:Math.floor((qe*a.X+w.anchorX)*yt-Q*a.X*jn),y:Math.floor(Ot-Nt)}}findMatches(w,B,Q){let ee=this.tileID.canonical.z<B.canonical.z?1:Math.pow(2,this.tileID.canonical.z-B.canonical.z);for(let se=0;se<w.length;se++){let qe=w.get(se);if(qe.crossTileID)continue;let je=this._symbolsByKey[qe.key];if(!je)continue;let it=this.getScaledCoordinates(qe,B);if(je.index){let yt=je.index.range(it.x-ee,it.y-ee,it.x+ee,it.y+ee).sort();for(let Ot of yt){let Nt=je.crossTileIDs[Ot];if(!Q[Nt]){Q[Nt]=!0,qe.crossTileID=Nt;break}}}else if(je.positions)for(let yt=0;yt<je.positions.length;yt++){let Ot=je.positions[yt],Nt=je.crossTileIDs[yt];if(Math.abs(Ot.x-it.x)<=ee&&Math.abs(Ot.y-it.y)<=ee&&!Q[Nt]){Q[Nt]=!0,qe.crossTileID=Nt;break}}}}getCrossTileIDsLists(){return Object.values(this._symbolsByKey).map(({crossTileIDs:w})=>w)}}class Fa{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class Ra{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(w){let B=Math.round((w-this.lng)/360);if(B!==0)for(let Q in this.indexes){let ee=this.indexes[Q],se={};for(let qe in ee){let je=ee[qe];je.tileID=je.tileID.unwrapTo(je.tileID.wrap+B),se[je.tileID.key]=je}this.indexes[Q]=se}this.lng=w}addBucket(w,B,Q){if(this.indexes[w.overscaledZ]&&this.indexes[w.overscaledZ][w.key]){if(this.indexes[w.overscaledZ][w.key].bucketInstanceId===B.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(w.overscaledZ,this.indexes[w.overscaledZ][w.key])}for(let se=0;se<B.symbolInstances.length;se++)B.symbolInstances.get(se).crossTileID=0;this.usedCrossTileIDs[w.overscaledZ]||(this.usedCrossTileIDs[w.overscaledZ]={});let ee=this.usedCrossTileIDs[w.overscaledZ];for(let se in this.indexes){let qe=this.indexes[se];if(Number(se)>w.overscaledZ)for(let je in qe){let it=qe[je];it.tileID.isChildOf(w)&&it.findMatches(B.symbolInstances,w,ee)}else{let je=qe[w.scaledTo(Number(se)).key];je&&je.findMatches(B.symbolInstances,w,ee)}}for(let se=0;se<B.symbolInstances.length;se++){let qe=B.symbolInstances.get(se);qe.crossTileID||(qe.crossTileID=Q.generate(),ee[qe.crossTileID]=!0)}return this.indexes[w.overscaledZ]===void 0&&(this.indexes[w.overscaledZ]={}),this.indexes[w.overscaledZ][w.key]=new la(w,B.symbolInstances,B.bucketInstanceId),!0}removeBucketCrossTileIDs(w,B){for(let Q of B.getCrossTileIDsLists())for(let ee of Q)delete this.usedCrossTileIDs[w][ee]}removeStaleBuckets(w){let B=!1;for(let Q in this.indexes){let ee=this.indexes[Q];for(let se in ee)w[ee[se].bucketInstanceId]||(this.removeBucketCrossTileIDs(Q,ee[se]),delete ee[se],B=!0)}return B}}class jo{constructor(){this.layerIndexes={},this.crossTileIDs=new Fa,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}}addLayer(w,B,Q){let ee=this.layerIndexes[w.id];ee===void 0&&(ee=this.layerIndexes[w.id]=new Ra);let se=!1,qe={};ee.handleWrapJump(Q);for(let je of B){let it=je.getBucket(w);it&&w.id===it.layerIds[0]&&(it.bucketInstanceId||(it.bucketInstanceId=++this.maxBucketInstanceId),ee.addBucket(je.tileID,it,this.crossTileIDs)&&(se=!0),qe[it.bucketInstanceId]=!0)}return ee.removeStaleBuckets(qe)&&(se=!0),se}pruneUnusedLayers(w){let B={};w.forEach(Q=>{B[Q]=!0});for(let Q in this.layerIndexes)B[Q]||delete this.layerIndexes[Q]}}let oa=(le,w)=>a.t(le,w&&w.filter(B=>B.identifier!==\"source.canvas\")),Sn=a.aw();class Ha extends a.E{constructor(w,B={}){super(),this._rtlPluginLoaded=()=>{for(let Q in this.sourceCaches){let ee=this.sourceCaches[Q].getSource().type;ee!==\"vector\"&&ee!==\"geojson\"||this.sourceCaches[Q].reload()}},this.map=w,this.dispatcher=new Ee(Te(),w._getMapId()),this.dispatcher.registerMessageHandler(\"GG\",(Q,ee)=>this.getGlyphs(Q,ee)),this.dispatcher.registerMessageHandler(\"GI\",(Q,ee)=>this.getImages(Q,ee)),this.imageManager=new T,this.imageManager.setEventedParent(this),this.glyphManager=new H(w._requestManager,B.localIdeographFontFamily),this.lineAtlas=new ae(256,512),this.crossTileSymbolIndex=new jo,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new a.ax,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"SR\",a.ay()),bt().on(er,this._rtlPluginLoaded),this.on(\"data\",Q=>{if(Q.dataType!==\"source\"||Q.sourceDataType!==\"metadata\")return;let ee=this.sourceCaches[Q.sourceId];if(!ee)return;let se=ee.getSource();if(se&&se.vectorLayerIds)for(let qe in this._layers){let je=this._layers[qe];je.source===se.id&&this._validateLayer(je)}})}loadURL(w,B={},Q){this.fire(new a.k(\"dataloading\",{dataType:\"style\"})),B.validate=typeof B.validate!=\"boolean\"||B.validate;let ee=this.map._requestManager.transformRequest(w,\"Style\");this._loadStyleRequest=new AbortController;let se=this._loadStyleRequest;a.h(ee,this._loadStyleRequest).then(qe=>{this._loadStyleRequest=null,this._load(qe.data,B,Q)}).catch(qe=>{this._loadStyleRequest=null,qe&&!se.signal.aborted&&this.fire(new a.j(qe))})}loadJSON(w,B={},Q){this.fire(new a.k(\"dataloading\",{dataType:\"style\"})),this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then(()=>{this._frameRequest=null,B.validate=B.validate!==!1,this._load(w,B,Q)}).catch(()=>{})}loadEmpty(){this.fire(new a.k(\"dataloading\",{dataType:\"style\"})),this._load(Sn,{validate:!1})}_load(w,B,Q){var ee;let se=B.transformStyle?B.transformStyle(Q,w):w;if(!B.validate||!oa(this,a.u(se))){this._loaded=!0,this.stylesheet=se;for(let qe in se.sources)this.addSource(qe,se.sources[qe],{validate:!1});se.sprite?this._loadSprite(se.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(se.glyphs),this._createLayers(),this.light=new N(this.stylesheet.light),this.sky=new re(this.stylesheet.sky),this.map.setTerrain((ee=this.stylesheet.terrain)!==null&&ee!==void 0?ee:null),this.fire(new a.k(\"data\",{dataType:\"style\"})),this.fire(new a.k(\"style.load\"))}}_createLayers(){let w=a.az(this.stylesheet.layers);this.dispatcher.broadcast(\"SL\",w),this._order=w.map(B=>B.id),this._layers={},this._serializedLayers=null;for(let B of w){let Q=a.aA(B);Q.setEventedParent(this,{layer:{id:B.id}}),this._layers[B.id]=Q}}_loadSprite(w,B=!1,Q=void 0){let ee;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(se,qe,je,it){return a._(this,void 0,void 0,function*(){let yt=C(se),Ot=je>1?\"@2x\":\"\",Nt={},hr={};for(let{id:Sr,url:he}of yt){let be=qe.transformRequest(M(he,Ot,\".json\"),\"SpriteJSON\");Nt[Sr]=a.h(be,it);let Pe=qe.transformRequest(M(he,Ot,\".png\"),\"SpriteImage\");hr[Sr]=p.getImage(Pe,it)}return yield Promise.all([...Object.values(Nt),...Object.values(hr)]),function(Sr,he){return a._(this,void 0,void 0,function*(){let be={};for(let Pe in Sr){be[Pe]={};let Oe=u.getImageCanvasContext((yield he[Pe]).data),Je=(yield Sr[Pe]).data;for(let He in Je){let{width:et,height:Mt,x:Dt,y:Ut,sdf:tr,pixelRatio:mr,stretchX:Rr,stretchY:zr,content:Xr,textFitWidth:di,textFitHeight:Li}=Je[He];be[Pe][He]={data:null,pixelRatio:mr,sdf:tr,stretchX:Rr,stretchY:zr,content:Xr,textFitWidth:di,textFitHeight:Li,spriteData:{width:et,height:Mt,x:Dt,y:Ut,context:Oe}}}}return be})}(Nt,hr)})}(w,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then(se=>{if(this._spriteRequest=null,se)for(let qe in se){this._spritesImagesIds[qe]=[];let je=this._spritesImagesIds[qe]?this._spritesImagesIds[qe].filter(it=>!(it in se)):[];for(let it of je)this.imageManager.removeImage(it),this._changedImages[it]=!0;for(let it in se[qe]){let yt=qe===\"default\"?it:`${qe}:${it}`;this._spritesImagesIds[qe].push(yt),yt in this.imageManager.images?this.imageManager.updateImage(yt,se[qe][it],!1):this.imageManager.addImage(yt,se[qe][it]),B&&(this._changedImages[yt]=!0)}}}).catch(se=>{this._spriteRequest=null,ee=se,this.fire(new a.j(ee))}).finally(()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),B&&(this._changed=!0),this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"})),Q&&Q(ee)})}_unloadSprite(){for(let w of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(w),this._changedImages[w]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"}))}_validateLayer(w){let B=this.sourceCaches[w.source];if(!B)return;let Q=w.sourceLayer;if(!Q)return;let ee=B.getSource();(ee.type===\"geojson\"||ee.vectorLayerIds&&ee.vectorLayerIds.indexOf(Q)===-1)&&this.fire(new a.j(new Error(`Source layer \"${Q}\" does not exist on source \"${ee.id}\" as specified by style layer \"${w.id}\".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let w in this.sourceCaches)if(!this.sourceCaches[w].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(w,B=!1){let Q=this._serializedAllLayers();if(!w||w.length===0)return Object.values(B?a.aB(Q):Q);let ee=[];for(let se of w)if(Q[se]){let qe=B?a.aB(Q[se]):Q[se];ee.push(qe)}return ee}_serializedAllLayers(){let w=this._serializedLayers;if(w)return w;w=this._serializedLayers={};let B=Object.keys(this._layers);for(let Q of B){let ee=this._layers[Q];ee.type!==\"custom\"&&(w[Q]=ee.serialize())}return w}hasTransitions(){if(this.light&&this.light.hasTransition()||this.sky&&this.sky.hasTransition())return!0;for(let w in this.sourceCaches)if(this.sourceCaches[w].hasTransition())return!0;for(let w in this._layers)if(this._layers[w].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error(\"Style is not done loading.\")}update(w){if(!this._loaded)return;let B=this._changed;if(B){let ee=Object.keys(this._updatedLayers),se=Object.keys(this._removedLayers);(ee.length||se.length)&&this._updateWorkerLayers(ee,se);for(let qe in this._updatedSources){let je=this._updatedSources[qe];if(je===\"reload\")this._reloadSource(qe);else{if(je!==\"clear\")throw new Error(`Invalid action ${je}`);this._clearSource(qe)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let qe in this._updatedPaintProps)this._layers[qe].updateTransitions(w);this.light.updateTransitions(w),this.sky.updateTransitions(w),this._resetUpdates()}let Q={};for(let ee in this.sourceCaches){let se=this.sourceCaches[ee];Q[ee]=se.used,se.used=!1}for(let ee of this._order){let se=this._layers[ee];se.recalculate(w,this._availableImages),!se.isHidden(w.zoom)&&se.source&&(this.sourceCaches[se.source].used=!0)}for(let ee in Q){let se=this.sourceCaches[ee];!!Q[ee]!=!!se.used&&se.fire(new a.k(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:ee}))}this.light.recalculate(w),this.sky.recalculate(w),this.z=w.zoom,B&&this.fire(new a.k(\"data\",{dataType:\"style\"}))}_updateTilesForChangedImages(){let w=Object.keys(this._changedImages);if(w.length){for(let B in this.sourceCaches)this.sourceCaches[B].reloadTilesForDependencies([\"icons\",\"patterns\"],w);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let w in this.sourceCaches)this.sourceCaches[w].reloadTilesForDependencies([\"glyphs\"],[\"\"]);this._glyphsDidChange=!1}}_updateWorkerLayers(w,B){this.dispatcher.broadcast(\"UL\",{layers:this._serializeByIds(w,!1),removedIds:B})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(w,B={}){var Q;this._checkLoaded();let ee=this.serialize();if(w=B.transformStyle?B.transformStyle(ee,w):w,((Q=B.validate)===null||Q===void 0||Q)&&oa(this,a.u(w)))return!1;(w=a.aB(w)).layers=a.az(w.layers);let se=a.aC(ee,w),qe=this._getOperationsToPerform(se);if(qe.unimplemented.length>0)throw new Error(`Unimplemented: ${qe.unimplemented.join(\", \")}.`);if(qe.operations.length===0)return!1;for(let je of qe.operations)je();return this.stylesheet=w,this._serializedLayers=null,!0}_getOperationsToPerform(w){let B=[],Q=[];for(let ee of w)switch(ee.command){case\"setCenter\":case\"setZoom\":case\"setBearing\":case\"setPitch\":continue;case\"addLayer\":B.push(()=>this.addLayer.apply(this,ee.args));break;case\"removeLayer\":B.push(()=>this.removeLayer.apply(this,ee.args));break;case\"setPaintProperty\":B.push(()=>this.setPaintProperty.apply(this,ee.args));break;case\"setLayoutProperty\":B.push(()=>this.setLayoutProperty.apply(this,ee.args));break;case\"setFilter\":B.push(()=>this.setFilter.apply(this,ee.args));break;case\"addSource\":B.push(()=>this.addSource.apply(this,ee.args));break;case\"removeSource\":B.push(()=>this.removeSource.apply(this,ee.args));break;case\"setLayerZoomRange\":B.push(()=>this.setLayerZoomRange.apply(this,ee.args));break;case\"setLight\":B.push(()=>this.setLight.apply(this,ee.args));break;case\"setGeoJSONSourceData\":B.push(()=>this.setGeoJSONSourceData.apply(this,ee.args));break;case\"setGlyphs\":B.push(()=>this.setGlyphs.apply(this,ee.args));break;case\"setSprite\":B.push(()=>this.setSprite.apply(this,ee.args));break;case\"setSky\":B.push(()=>this.setSky.apply(this,ee.args));break;case\"setTerrain\":B.push(()=>this.map.setTerrain.apply(this,ee.args));break;case\"setTransition\":B.push(()=>{});break;default:Q.push(ee.command)}return{operations:B,unimplemented:Q}}addImage(w,B){if(this.getImage(w))return this.fire(new a.j(new Error(`An image named \"${w}\" already exists.`)));this.imageManager.addImage(w,B),this._afterImageUpdated(w)}updateImage(w,B){this.imageManager.updateImage(w,B)}getImage(w){return this.imageManager.getImage(w)}removeImage(w){if(!this.getImage(w))return this.fire(new a.j(new Error(`An image named \"${w}\" does not exist.`)));this.imageManager.removeImage(w),this._afterImageUpdated(w)}_afterImageUpdated(w){this._availableImages=this.imageManager.listImages(),this._changedImages[w]=!0,this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(w,B,Q={}){if(this._checkLoaded(),this.sourceCaches[w]!==void 0)throw new Error(`Source \"${w}\" already exists.`);if(!B.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(B).join(\", \")}.`);if([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(B.type)>=0&&this._validate(a.u.source,`sources.${w}`,B,null,Q))return;this.map&&this.map._collectResourceTiming&&(B.collectResourceTiming=!0);let ee=this.sourceCaches[w]=new dt(w,B,this.dispatcher);ee.style=this,ee.setEventedParent(this,()=>({isSourceLoaded:ee.loaded(),source:ee.serialize(),sourceId:w})),ee.onAdd(this.map),this._changed=!0}removeSource(w){if(this._checkLoaded(),this.sourceCaches[w]===void 0)throw new Error(\"There is no source with this ID\");for(let Q in this._layers)if(this._layers[Q].source===w)return this.fire(new a.j(new Error(`Source \"${w}\" cannot be removed while layer \"${Q}\" is using it.`)));let B=this.sourceCaches[w];delete this.sourceCaches[w],delete this._updatedSources[w],B.fire(new a.k(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:w})),B.setEventedParent(null),B.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(w,B){if(this._checkLoaded(),this.sourceCaches[w]===void 0)throw new Error(`There is no source with this ID=${w}`);let Q=this.sourceCaches[w].getSource();if(Q.type!==\"geojson\")throw new Error(`geojsonSource.type is ${Q.type}, which is !== 'geojson`);Q.setData(B),this._changed=!0}getSource(w){return this.sourceCaches[w]&&this.sourceCaches[w].getSource()}addLayer(w,B,Q={}){this._checkLoaded();let ee=w.id;if(this.getLayer(ee))return void this.fire(new a.j(new Error(`Layer \"${ee}\" already exists on this map.`)));let se;if(w.type===\"custom\"){if(oa(this,a.aD(w)))return;se=a.aA(w)}else{if(\"source\"in w&&typeof w.source==\"object\"&&(this.addSource(ee,w.source),w=a.aB(w),w=a.e(w,{source:ee})),this._validate(a.u.layer,`layers.${ee}`,w,{arrayIndex:-1},Q))return;se=a.aA(w),this._validateLayer(se),se.setEventedParent(this,{layer:{id:ee}})}let qe=B?this._order.indexOf(B):this._order.length;if(B&&qe===-1)this.fire(new a.j(new Error(`Cannot add layer \"${ee}\" before non-existing layer \"${B}\".`)));else{if(this._order.splice(qe,0,ee),this._layerOrderChanged=!0,this._layers[ee]=se,this._removedLayers[ee]&&se.source&&se.type!==\"custom\"){let je=this._removedLayers[ee];delete this._removedLayers[ee],je.type!==se.type?this._updatedSources[se.source]=\"clear\":(this._updatedSources[se.source]=\"reload\",this.sourceCaches[se.source].pause())}this._updateLayer(se),se.onAdd&&se.onAdd(this.map)}}moveLayer(w,B){if(this._checkLoaded(),this._changed=!0,!this._layers[w])return void this.fire(new a.j(new Error(`The layer '${w}' does not exist in the map's style and cannot be moved.`)));if(w===B)return;let Q=this._order.indexOf(w);this._order.splice(Q,1);let ee=B?this._order.indexOf(B):this._order.length;B&&ee===-1?this.fire(new a.j(new Error(`Cannot move layer \"${w}\" before non-existing layer \"${B}\".`))):(this._order.splice(ee,0,w),this._layerOrderChanged=!0)}removeLayer(w){this._checkLoaded();let B=this._layers[w];if(!B)return void this.fire(new a.j(new Error(`Cannot remove non-existing layer \"${w}\".`)));B.setEventedParent(null);let Q=this._order.indexOf(w);this._order.splice(Q,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[w]=B,delete this._layers[w],this._serializedLayers&&delete this._serializedLayers[w],delete this._updatedLayers[w],delete this._updatedPaintProps[w],B.onRemove&&B.onRemove(this.map)}getLayer(w){return this._layers[w]}getLayersOrder(){return[...this._order]}hasLayer(w){return w in this._layers}setLayerZoomRange(w,B,Q){this._checkLoaded();let ee=this.getLayer(w);ee?ee.minzoom===B&&ee.maxzoom===Q||(B!=null&&(ee.minzoom=B),Q!=null&&(ee.maxzoom=Q),this._updateLayer(ee)):this.fire(new a.j(new Error(`Cannot set the zoom range of non-existing layer \"${w}\".`)))}setFilter(w,B,Q={}){this._checkLoaded();let ee=this.getLayer(w);if(ee){if(!a.aE(ee.filter,B))return B==null?(ee.filter=void 0,void this._updateLayer(ee)):void(this._validate(a.u.filter,`layers.${ee.id}.filter`,B,null,Q)||(ee.filter=a.aB(B),this._updateLayer(ee)))}else this.fire(new a.j(new Error(`Cannot filter non-existing layer \"${w}\".`)))}getFilter(w){return a.aB(this.getLayer(w).filter)}setLayoutProperty(w,B,Q,ee={}){this._checkLoaded();let se=this.getLayer(w);se?a.aE(se.getLayoutProperty(B),Q)||(se.setLayoutProperty(B,Q,ee),this._updateLayer(se)):this.fire(new a.j(new Error(`Cannot style non-existing layer \"${w}\".`)))}getLayoutProperty(w,B){let Q=this.getLayer(w);if(Q)return Q.getLayoutProperty(B);this.fire(new a.j(new Error(`Cannot get style of non-existing layer \"${w}\".`)))}setPaintProperty(w,B,Q,ee={}){this._checkLoaded();let se=this.getLayer(w);se?a.aE(se.getPaintProperty(B),Q)||(se.setPaintProperty(B,Q,ee)&&this._updateLayer(se),this._changed=!0,this._updatedPaintProps[w]=!0,this._serializedLayers=null):this.fire(new a.j(new Error(`Cannot style non-existing layer \"${w}\".`)))}getPaintProperty(w,B){return this.getLayer(w).getPaintProperty(B)}setFeatureState(w,B){this._checkLoaded();let Q=w.source,ee=w.sourceLayer,se=this.sourceCaches[Q];if(se===void 0)return void this.fire(new a.j(new Error(`The source '${Q}' does not exist in the map's style.`)));let qe=se.getSource().type;qe===\"geojson\"&&ee?this.fire(new a.j(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):qe!==\"vector\"||ee?(w.id===void 0&&this.fire(new a.j(new Error(\"The feature id parameter must be provided.\"))),se.setFeatureState(ee,w.id,B)):this.fire(new a.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}removeFeatureState(w,B){this._checkLoaded();let Q=w.source,ee=this.sourceCaches[Q];if(ee===void 0)return void this.fire(new a.j(new Error(`The source '${Q}' does not exist in the map's style.`)));let se=ee.getSource().type,qe=se===\"vector\"?w.sourceLayer:void 0;se!==\"vector\"||qe?B&&typeof w.id!=\"string\"&&typeof w.id!=\"number\"?this.fire(new a.j(new Error(\"A feature id is required to remove its specific state property.\"))):ee.removeFeatureState(qe,w.id,B):this.fire(new a.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}getFeatureState(w){this._checkLoaded();let B=w.source,Q=w.sourceLayer,ee=this.sourceCaches[B];if(ee!==void 0)return ee.getSource().type!==\"vector\"||Q?(w.id===void 0&&this.fire(new a.j(new Error(\"The feature id parameter must be provided.\"))),ee.getFeatureState(Q,w.id)):void this.fire(new a.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));this.fire(new a.j(new Error(`The source '${B}' does not exist in the map's style.`)))}getTransition(){return a.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let w=a.aF(this.sourceCaches,se=>se.serialize()),B=this._serializeByIds(this._order,!0),Q=this.map.getTerrain()||void 0,ee=this.stylesheet;return a.aG({version:ee.version,name:ee.name,metadata:ee.metadata,light:ee.light,sky:ee.sky,center:ee.center,zoom:ee.zoom,bearing:ee.bearing,pitch:ee.pitch,sprite:ee.sprite,glyphs:ee.glyphs,transition:ee.transition,sources:w,layers:B,terrain:Q},se=>se!==void 0)}_updateLayer(w){this._updatedLayers[w.id]=!0,w.source&&!this._updatedSources[w.source]&&this.sourceCaches[w.source].getSource().type!==\"raster\"&&(this._updatedSources[w.source]=\"reload\",this.sourceCaches[w.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(w){let B=qe=>this._layers[qe].type===\"fill-extrusion\",Q={},ee=[];for(let qe=this._order.length-1;qe>=0;qe--){let je=this._order[qe];if(B(je)){Q[je]=qe;for(let it of w){let yt=it[je];if(yt)for(let Ot of yt)ee.push(Ot)}}}ee.sort((qe,je)=>je.intersectionZ-qe.intersectionZ);let se=[];for(let qe=this._order.length-1;qe>=0;qe--){let je=this._order[qe];if(B(je))for(let it=ee.length-1;it>=0;it--){let yt=ee[it].feature;if(Q[yt.layer.id]<qe)break;se.push(yt),ee.pop()}else for(let it of w){let yt=it[je];if(yt)for(let Ot of yt)se.push(Ot.feature)}}return se}queryRenderedFeatures(w,B,Q){B&&B.filter&&this._validate(a.u.filter,\"queryRenderedFeatures.filter\",B.filter,null,B);let ee={};if(B&&B.layers){if(!Array.isArray(B.layers))return this.fire(new a.j(new Error(\"parameters.layers must be an Array.\"))),[];for(let je of B.layers){let it=this._layers[je];if(!it)return this.fire(new a.j(new Error(`The layer '${je}' does not exist in the map's style and cannot be queried for features.`))),[];ee[it.source]=!0}}let se=[];B.availableImages=this._availableImages;let qe=this._serializedAllLayers();for(let je in this.sourceCaches)B.layers&&!ee[je]||se.push(Ce(this.sourceCaches[je],this._layers,qe,w,B,Q));return this.placement&&se.push(function(je,it,yt,Ot,Nt,hr,Sr){let he={},be=hr.queryRenderedSymbols(Ot),Pe=[];for(let Oe of Object.keys(be).map(Number))Pe.push(Sr[Oe]);Pe.sort(me);for(let Oe of Pe){let Je=Oe.featureIndex.lookupSymbolFeatures(be[Oe.bucketInstanceId],it,Oe.bucketIndex,Oe.sourceLayerIndex,Nt.filter,Nt.layers,Nt.availableImages,je);for(let He in Je){let et=he[He]=he[He]||[],Mt=Je[He];Mt.sort((Dt,Ut)=>{let tr=Oe.featureSortOrder;if(tr){let mr=tr.indexOf(Dt.featureIndex);return tr.indexOf(Ut.featureIndex)-mr}return Ut.featureIndex-Dt.featureIndex});for(let Dt of Mt)et.push(Dt)}}for(let Oe in he)he[Oe].forEach(Je=>{let He=Je.feature,et=yt[je[Oe].source].getFeatureState(He.layer[\"source-layer\"],He.id);He.source=He.layer.source,He.layer[\"source-layer\"]&&(He.sourceLayer=He.layer[\"source-layer\"]),He.state=et});return he}(this._layers,qe,this.sourceCaches,w,B,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(se)}querySourceFeatures(w,B){B&&B.filter&&this._validate(a.u.filter,\"querySourceFeatures.filter\",B.filter,null,B);let Q=this.sourceCaches[w];return Q?function(ee,se){let qe=ee.getRenderableIds().map(yt=>ee.getTileByID(yt)),je=[],it={};for(let yt=0;yt<qe.length;yt++){let Ot=qe[yt],Nt=Ot.tileID.canonical.key;it[Nt]||(it[Nt]=!0,Ot.querySourceFeatures(je,se))}return je}(Q,B):[]}getLight(){return this.light.getLight()}setLight(w,B={}){this._checkLoaded();let Q=this.light.getLight(),ee=!1;for(let qe in w)if(!a.aE(w[qe],Q[qe])){ee=!0;break}if(!ee)return;let se={now:u.now(),transition:a.e({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(w,B),this.light.updateTransitions(se)}getSky(){var w;return(w=this.stylesheet)===null||w===void 0?void 0:w.sky}setSky(w,B={}){let Q=this.getSky(),ee=!1;if(!w&&!Q)return;if(w&&!Q)ee=!0;else if(!w&&Q)ee=!0;else for(let qe in w)if(!a.aE(w[qe],Q[qe])){ee=!0;break}if(!ee)return;let se={now:u.now(),transition:a.e({duration:300,delay:0},this.stylesheet.transition)};this.stylesheet.sky=w,this.sky.setSky(w,B),this.sky.updateTransitions(se)}_validate(w,B,Q,ee,se={}){return(!se||se.validate!==!1)&&oa(this,w.call(a.u,a.e({key:B,style:this.serialize(),value:Q,styleSpec:a.v},ee)))}_remove(w=!0){this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._loadStyleRequest&&(this._loadStyleRequest.abort(),this._loadStyleRequest=null),this._spriteRequest&&(this._spriteRequest.abort(),this._spriteRequest=null),bt().off(er,this._rtlPluginLoaded);for(let B in this._layers)this._layers[B].setEventedParent(null);for(let B in this.sourceCaches){let Q=this.sourceCaches[B];Q.setEventedParent(null),Q.onRemove(this.map)}this.imageManager.setEventedParent(null),this.setEventedParent(null),w&&this.dispatcher.broadcast(\"RM\",void 0),this.dispatcher.remove(w)}_clearSource(w){this.sourceCaches[w].clearTiles()}_reloadSource(w){this.sourceCaches[w].resume(),this.sourceCaches[w].reload()}_updateSources(w){for(let B in this.sourceCaches)this.sourceCaches[B].update(w,this.map.terrain)}_generateCollisionBoxes(){for(let w in this.sourceCaches)this._reloadSource(w)}_updatePlacement(w,B,Q,ee,se=!1){let qe=!1,je=!1,it={};for(let yt of this._order){let Ot=this._layers[yt];if(Ot.type!==\"symbol\")continue;if(!it[Ot.source]){let hr=this.sourceCaches[Ot.source];it[Ot.source]=hr.getRenderableIds(!0).map(Sr=>hr.getTileByID(Sr)).sort((Sr,he)=>he.tileID.overscaledZ-Sr.tileID.overscaledZ||(Sr.tileID.isLessThan(he.tileID)?-1:1))}let Nt=this.crossTileSymbolIndex.addLayer(Ot,it[Ot.source],w.center.lng);qe=qe||Nt}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((se=se||this._layerOrderChanged||Q===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(u.now(),w.zoom))&&(this.pauseablePlacement=new ka(w,this.map.terrain,this._order,se,B,Q,ee,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,it),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(u.now()),je=!0),qe&&this.pauseablePlacement.placement.setStale()),je||qe)for(let yt of this._order){let Ot=this._layers[yt];Ot.type===\"symbol\"&&this.placement.updateLayerOpacities(Ot,it[Ot.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(u.now())}_releaseSymbolFadeTiles(){for(let w in this.sourceCaches)this.sourceCaches[w].releaseSymbolFadeTiles()}getImages(w,B){return a._(this,void 0,void 0,function*(){let Q=yield this.imageManager.getImages(B.icons);this._updateTilesForChangedImages();let ee=this.sourceCaches[B.source];return ee&&ee.setDependencies(B.tileID.key,B.type,B.icons),Q})}getGlyphs(w,B){return a._(this,void 0,void 0,function*(){let Q=yield this.glyphManager.getGlyphs(B.stacks),ee=this.sourceCaches[B.source];return ee&&ee.setDependencies(B.tileID.key,B.type,[\"\"]),Q})}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(w,B={}){this._checkLoaded(),w&&this._validate(a.u.glyphs,\"glyphs\",w,null,B)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=w,this.glyphManager.entries={},this.glyphManager.setURL(w))}addSprite(w,B,Q={},ee){this._checkLoaded();let se=[{id:w,url:B}],qe=[...C(this.stylesheet.sprite),...se];this._validate(a.u.sprite,\"sprite\",qe,null,Q)||(this.stylesheet.sprite=qe,this._loadSprite(se,!0,ee))}removeSprite(w){this._checkLoaded();let B=C(this.stylesheet.sprite);if(B.find(Q=>Q.id===w)){if(this._spritesImagesIds[w])for(let Q of this._spritesImagesIds[w])this.imageManager.removeImage(Q),this._changedImages[Q]=!0;B.splice(B.findIndex(Q=>Q.id===w),1),this.stylesheet.sprite=B.length>0?B:void 0,delete this._spritesImagesIds[w],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"}))}else this.fire(new a.j(new Error(`Sprite \"${w}\" doesn't exists on this map.`)))}getSprite(){return C(this.stylesheet.sprite)}setSprite(w,B={},Q){this._checkLoaded(),w&&this._validate(a.u.sprite,\"sprite\",w,null,B)||(this.stylesheet.sprite=w,w?this._loadSprite(w,!0,Q):(this._unloadSprite(),Q&&Q(null)))}}var oo=a.Y([{name:\"a_pos\",type:\"Int16\",components:2}]);let xn={prelude:_t(`#ifdef GL_ES\n", - "precision 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\n", - "precision 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\n", - "vec2 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\n", - "uniform 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\n", - "const 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\n", - "highp 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\n", - "return 1.0;\n", - "#endif\n", - "}float calculate_visibility(vec4 pos) {\n", - "#ifdef TERRAIN3D\n", - "vec3 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\n", - "return 1.0;\n", - "#endif\n", - "}float ele(vec2 pos) {\n", - "#ifdef TERRAIN3D\n", - "vec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n", - "#else\n", - "return 0.0;\n", - "#endif\n", - "}float get_elevation(vec2 pos) {\n", - "#ifdef TERRAIN3D\n", - "vec2 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\n", - "return 0.0;\n", - "#endif\n", - "}`),background:_t(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_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:_t(`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\n", - "gl_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:_t(`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\n", - "void 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\n", - "vec2 extrude=v_data.xy;float extrude_length=length(extrude);float antialiased_blur=v_data.z;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\n", - "gl_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\n", - "void 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\n", - "vec2 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;}}float antialiasblur=-max(1.0/u_device_pixel_ratio/(radius+stroke_width),blur);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:_t(\"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:_t(`uniform highp float u_intensity;varying vec2 v_extrude;\n", - "#pragma mapbox: define highp float weight\n", - "#define GAUSS_COEF 0.3989422804014327\n", - "void main() {\n", - "#pragma mapbox: initialize highp float weight\n", - "float 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\n", - "gl_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\n", - "const highp float ZERO=1.0/255.0/16.0;\n", - "#define GAUSS_COEF 0.3989422804014327\n", - "void main(void) {\n", - "#pragma mapbox: initialize highp float weight\n", - "#pragma mapbox: initialize mediump float radius\n", - "vec2 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,get_elevation(floor(a_pos*0.5)),1);gl_Position=u_matrix*pos;}`),heatmapTexture:_t(`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\n", - "gl_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:_t(\"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:_t(\"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:_t(\"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:_t(`#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_FragColor=color*opacity;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:_t(`varying vec2 v_pos;\n", - "#pragma mapbox: define highp vec4 outline_color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 outline_color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "float 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\n", - "gl_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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 outline_color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:_t(`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\n", - "void 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", - "vec2 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\n", - "gl_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\n", - "void 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\n", - "vec2 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:_t(`#ifdef GL_ES\n", - "precision highp float;\n", - "#endif\n", - "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\n", - "void 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", - "vec2 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\n", - "gl_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\n", - "void 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\n", - "vec2 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:_t(`varying vec4 v_color;void main() {gl_FragColor=v_color;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_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\n", - "attribute vec2 a_centroid;\n", - "#endif\n", - "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\n", - "void main() {\n", - "#pragma mapbox: initialize highp float base\n", - "#pragma mapbox: initialize highp float height\n", - "#pragma mapbox: initialize highp vec4 color\n", - "vec3 normal=a_normal_ed.xyz;\n", - "#ifdef TERRAIN3D\n", - "float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n", - "#else\n", - "float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n", - "#endif\n", - "base=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:_t(`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\n", - "void 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\n", - "vec2 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\n", - "gl_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\n", - "attribute vec2 a_centroid;\n", - "#endif\n", - "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\n", - "void 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\n", - "vec2 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\n", - "float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n", - "#else\n", - "float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n", - "#endif\n", - "base=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:_t(`#ifdef GL_ES\n", - "precision highp float;\n", - "#endif\n", - "uniform 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\n", - "gl_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:_t(`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\n", - "void 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\n", - "gl_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:_t(`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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float blur\n", - "#pragma mapbox: initialize lowp float opacity\n", - "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);gl_FragColor=color*(alpha*opacity);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,`\n", - "#define scale 0.015873016\n", - "attribute 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\n", - "void 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", - "float 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\n", - "v_gamma_scale=1.0;\n", - "#else\n", - "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;\n", - "#endif\n", - "v_width2=vec2(outset,inset);}`),lineGradient:_t(`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\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float blur\n", - "#pragma mapbox: initialize lowp float opacity\n", - "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);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,`\n", - "#define scale 0.015873016\n", - "attribute 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\n", - "void 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\n", - "float 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\n", - "v_gamma_scale=1.0;\n", - "#else\n", - "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;\n", - "#endif\n", - "v_width2=vec2(outset,inset);}`),linePattern:_t(`#ifdef GL_ES\n", - "precision highp float;\n", - "#endif\n", - "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\n", - "void 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\n", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,`\n", - "#define scale 0.015873016\n", - "#define LINE_DISTANCE_SCALE 2.0\n", - "attribute 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\n", - "void 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\n", - "float 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\n", - "v_gamma_scale=1.0;\n", - "#else\n", - "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;\n", - "#endif\n", - "v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:_t(`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\n", - "void 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\n", - "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 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,`\n", - "#define scale 0.015873016\n", - "#define LINE_DISTANCE_SCALE 2.0\n", - "attribute 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\n", - "void 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\n", - "float 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\n", - "v_gamma_scale=1.0;\n", - "#else\n", - "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;\n", - "#endif\n", - "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);}`),raster:_t(`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\n", - "gl_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:_t(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float opacity\n", - "lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_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\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float opacity\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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:_t(`#define SDF_PX 8.0\n", - "uniform 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\n", - "void 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\n", - "float 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\n", - "gl_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\n", - "void 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\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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:_t(`#define SDF_PX 8.0\n", - "#define SDF 1.0\n", - "#define ICON 0.0\n", - "uniform 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\n", - "void 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\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "return;}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\n", - "gl_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\n", - "void 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\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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:_t(\"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:_t(\"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:_t(\"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:_t(\"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 _t(le,w){let B=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,Q=w.match(/attribute ([\\w]+) ([\\w]+)/g),ee=le.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),se=w.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),qe=se?se.concat(ee):ee,je={};return{fragmentSource:le=le.replace(B,(it,yt,Ot,Nt,hr)=>(je[hr]=!0,yt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - "varying ${Ot} ${Nt} ${hr};\n", - "#else\n", - "uniform ${Ot} ${Nt} u_${hr};\n", - "#endif\n", - "`:`\n", - "#ifdef HAS_UNIFORM_u_${hr}\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`)),vertexSource:w=w.replace(B,(it,yt,Ot,Nt,hr)=>{let Sr=Nt===\"float\"?\"vec2\":\"vec4\",he=hr.match(/color/)?\"color\":Sr;return je[hr]?yt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - "uniform lowp float u_${hr}_t;\n", - "attribute ${Ot} ${Sr} a_${hr};\n", - "varying ${Ot} ${Nt} ${hr};\n", - "#else\n", - "uniform ${Ot} ${Nt} u_${hr};\n", - "#endif\n", - "`:he===\"vec4\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - " ${hr} = a_${hr};\n", - "#else\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`:`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - " ${hr} = unpack_mix_${he}(a_${hr}, u_${hr}_t);\n", - "#else\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`:yt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - "uniform lowp float u_${hr}_t;\n", - "attribute ${Ot} ${Sr} a_${hr};\n", - "#else\n", - "uniform ${Ot} ${Nt} u_${hr};\n", - "#endif\n", - "`:he===\"vec4\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - " ${Ot} ${Nt} ${hr} = a_${hr};\n", - "#else\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`:`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - " ${Ot} ${Nt} ${hr} = unpack_mix_${he}(a_${hr}, u_${hr}_t);\n", - "#else\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`}),staticAttributes:Q,staticUniforms:qe}}class br{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(w,B,Q,ee,se,qe,je,it,yt){this.context=w;let Ot=this.boundPaintVertexBuffers.length!==ee.length;for(let Nt=0;!Ot&&Nt<ee.length;Nt++)this.boundPaintVertexBuffers[Nt]!==ee[Nt]&&(Ot=!0);!this.vao||this.boundProgram!==B||this.boundLayoutVertexBuffer!==Q||Ot||this.boundIndexBuffer!==se||this.boundVertexOffset!==qe||this.boundDynamicVertexBuffer!==je||this.boundDynamicVertexBuffer2!==it||this.boundDynamicVertexBuffer3!==yt?this.freshBind(B,Q,ee,se,qe,je,it,yt):(w.bindVertexArray.set(this.vao),je&&je.bind(),se&&se.dynamicDraw&&se.bind(),it&&it.bind(),yt&&yt.bind())}freshBind(w,B,Q,ee,se,qe,je,it){let yt=w.numAttributes,Ot=this.context,Nt=Ot.gl;this.vao&&this.destroy(),this.vao=Ot.createVertexArray(),Ot.bindVertexArray.set(this.vao),this.boundProgram=w,this.boundLayoutVertexBuffer=B,this.boundPaintVertexBuffers=Q,this.boundIndexBuffer=ee,this.boundVertexOffset=se,this.boundDynamicVertexBuffer=qe,this.boundDynamicVertexBuffer2=je,this.boundDynamicVertexBuffer3=it,B.enableAttributes(Nt,w);for(let hr of Q)hr.enableAttributes(Nt,w);qe&&qe.enableAttributes(Nt,w),je&&je.enableAttributes(Nt,w),it&&it.enableAttributes(Nt,w),B.bind(),B.setVertexAttribPointers(Nt,w,se);for(let hr of Q)hr.bind(),hr.setVertexAttribPointers(Nt,w,se);qe&&(qe.bind(),qe.setVertexAttribPointers(Nt,w,se)),ee&&ee.bind(),je&&(je.bind(),je.setVertexAttribPointers(Nt,w,se)),it&&(it.bind(),it.setVertexAttribPointers(Nt,w,se)),Ot.currentNumAttributes=yt}destroy(){this.vao&&(this.context.deleteVertexArray(this.vao),this.vao=null)}}let Hr=(le,w,B,Q,ee)=>({u_matrix:le,u_texture:0,u_ele_delta:w,u_fog_matrix:B,u_fog_color:Q?Q.properties.get(\"fog-color\"):a.aM.white,u_fog_ground_blend:Q?Q.properties.get(\"fog-ground-blend\"):1,u_fog_ground_blend_opacity:Q?Q.calculateFogBlendOpacity(ee):0,u_horizon_color:Q?Q.properties.get(\"horizon-color\"):a.aM.white,u_horizon_fog_blend:Q?Q.properties.get(\"horizon-fog-blend\"):1});function ti(le){let w=[];for(let B=0;B<le.length;B++){if(le[B]===null)continue;let Q=le[B].split(\" \");w.push(Q.pop())}return w}class zi{constructor(w,B,Q,ee,se,qe){let je=w.gl;this.program=je.createProgram();let it=ti(B.staticAttributes),yt=Q?Q.getBinderAttributes():[],Ot=it.concat(yt),Nt=xn.prelude.staticUniforms?ti(xn.prelude.staticUniforms):[],hr=B.staticUniforms?ti(B.staticUniforms):[],Sr=Q?Q.getBinderUniforms():[],he=Nt.concat(hr).concat(Sr),be=[];for(let Dt of he)be.indexOf(Dt)<0&&be.push(Dt);let Pe=Q?Q.defines():[];se&&Pe.push(\"#define OVERDRAW_INSPECTOR;\"),qe&&Pe.push(\"#define TERRAIN3D;\");let Oe=Pe.concat(xn.prelude.fragmentSource,B.fragmentSource).join(`\n", - "`),Je=Pe.concat(xn.prelude.vertexSource,B.vertexSource).join(`\n", - "`),He=je.createShader(je.FRAGMENT_SHADER);if(je.isContextLost())return void(this.failedToCreate=!0);if(je.shaderSource(He,Oe),je.compileShader(He),!je.getShaderParameter(He,je.COMPILE_STATUS))throw new Error(`Could not compile fragment shader: ${je.getShaderInfoLog(He)}`);je.attachShader(this.program,He);let et=je.createShader(je.VERTEX_SHADER);if(je.isContextLost())return void(this.failedToCreate=!0);if(je.shaderSource(et,Je),je.compileShader(et),!je.getShaderParameter(et,je.COMPILE_STATUS))throw new Error(`Could not compile vertex shader: ${je.getShaderInfoLog(et)}`);je.attachShader(this.program,et),this.attributes={};let Mt={};this.numAttributes=Ot.length;for(let Dt=0;Dt<this.numAttributes;Dt++)Ot[Dt]&&(je.bindAttribLocation(this.program,Dt,Ot[Dt]),this.attributes[Ot[Dt]]=Dt);if(je.linkProgram(this.program),!je.getProgramParameter(this.program,je.LINK_STATUS))throw new Error(`Program failed to link: ${je.getProgramInfoLog(this.program)}`);je.deleteShader(et),je.deleteShader(He);for(let Dt=0;Dt<be.length;Dt++){let Ut=be[Dt];if(Ut&&!Mt[Ut]){let tr=je.getUniformLocation(this.program,Ut);tr&&(Mt[Ut]=tr)}}this.fixedUniforms=ee(w,Mt),this.terrainUniforms=((Dt,Ut)=>({u_depth:new a.aH(Dt,Ut.u_depth),u_terrain:new a.aH(Dt,Ut.u_terrain),u_terrain_dim:new a.aI(Dt,Ut.u_terrain_dim),u_terrain_matrix:new a.aJ(Dt,Ut.u_terrain_matrix),u_terrain_unpack:new a.aK(Dt,Ut.u_terrain_unpack),u_terrain_exaggeration:new a.aI(Dt,Ut.u_terrain_exaggeration)}))(w,Mt),this.binderUniforms=Q?Q.getUniforms(w,Mt):[]}draw(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he,be,Pe,Oe,Je){let He=w.gl;if(this.failedToCreate)return;if(w.program.set(this.program),w.setDepthMode(Q),w.setStencilMode(ee),w.setColorMode(se),w.setCullFace(qe),it){w.activeTexture.set(He.TEXTURE2),He.bindTexture(He.TEXTURE_2D,it.depthTexture),w.activeTexture.set(He.TEXTURE3),He.bindTexture(He.TEXTURE_2D,it.texture);for(let Mt in this.terrainUniforms)this.terrainUniforms[Mt].set(it[Mt])}for(let Mt in this.fixedUniforms)this.fixedUniforms[Mt].set(je[Mt]);be&&be.setUniforms(w,this.binderUniforms,Sr,{zoom:he});let et=0;switch(B){case He.LINES:et=2;break;case He.TRIANGLES:et=3;break;case He.LINE_STRIP:et=1}for(let Mt of hr.get()){let Dt=Mt.vaos||(Mt.vaos={});(Dt[yt]||(Dt[yt]=new br)).bind(w,this,Ot,be?be.getPaintVertexBuffers():[],Nt,Mt.vertexOffset,Pe,Oe,Je),He.drawElements(B,Mt.primitiveLength*et,He.UNSIGNED_SHORT,Mt.primitiveOffset*et*2)}}}function Yi(le,w,B){let Q=1/nn(B,1,w.transform.tileZoom),ee=Math.pow(2,B.tileID.overscaledZ),se=B.tileSize*Math.pow(2,w.transform.tileZoom)/ee,qe=se*(B.tileID.canonical.x+B.tileID.wrap*ee),je=se*B.tileID.canonical.y;return{u_image:0,u_texsize:B.imageAtlasTexture.size,u_scale:[Q,le.fromScale,le.toScale],u_fade:le.t,u_pixel_coord_upper:[qe>>16,je>>16],u_pixel_coord_lower:[65535&qe,65535&je]}}let an=(le,w,B,Q)=>{let ee=w.style.light,se=ee.properties.get(\"position\"),qe=[se.x,se.y,se.z],je=function(){var yt=new a.A(9);return a.A!=Float32Array&&(yt[1]=0,yt[2]=0,yt[3]=0,yt[5]=0,yt[6]=0,yt[7]=0),yt[0]=1,yt[4]=1,yt[8]=1,yt}();ee.properties.get(\"anchor\")===\"viewport\"&&function(yt,Ot){var Nt=Math.sin(Ot),hr=Math.cos(Ot);yt[0]=hr,yt[1]=Nt,yt[2]=0,yt[3]=-Nt,yt[4]=hr,yt[5]=0,yt[6]=0,yt[7]=0,yt[8]=1}(je,-w.transform.angle),function(yt,Ot,Nt){var hr=Ot[0],Sr=Ot[1],he=Ot[2];yt[0]=hr*Nt[0]+Sr*Nt[3]+he*Nt[6],yt[1]=hr*Nt[1]+Sr*Nt[4]+he*Nt[7],yt[2]=hr*Nt[2]+Sr*Nt[5]+he*Nt[8]}(qe,qe,je);let it=ee.properties.get(\"color\");return{u_matrix:le,u_lightpos:qe,u_lightintensity:ee.properties.get(\"intensity\"),u_lightcolor:[it.r,it.g,it.b],u_vertical_gradient:+B,u_opacity:Q}},hi=(le,w,B,Q,ee,se,qe)=>a.e(an(le,w,B,Q),Yi(se,w,qe),{u_height_factor:-Math.pow(2,ee.overscaledZ)/qe.tileSize/8}),Ji=le=>({u_matrix:le}),ua=(le,w,B,Q)=>a.e(Ji(le),Yi(B,w,Q)),Fn=(le,w)=>({u_matrix:le,u_world:w}),Sa=(le,w,B,Q,ee)=>a.e(ua(le,w,B,Q),{u_world:ee}),go=(le,w,B,Q)=>{let ee=le.transform,se,qe;if(Q.paint.get(\"circle-pitch-alignment\")===\"map\"){let je=nn(B,1,ee.zoom);se=!0,qe=[je,je]}else se=!1,qe=ee.pixelsToGLUnits;return{u_camera_to_center_distance:ee.cameraToCenterDistance,u_scale_with_map:+(Q.paint.get(\"circle-pitch-scale\")===\"map\"),u_matrix:le.translatePosMatrix(w.posMatrix,B,Q.paint.get(\"circle-translate\"),Q.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+se,u_device_pixel_ratio:le.pixelRatio,u_extrude_scale:qe}},Oo=(le,w,B)=>({u_matrix:le,u_inv_matrix:w,u_camera_to_center_distance:B.cameraToCenterDistance,u_viewport_size:[B.width,B.height]}),ho=(le,w,B=1)=>({u_matrix:le,u_color:w,u_overlay:0,u_overlay_scale:B}),Mo=le=>({u_matrix:le}),xo=(le,w,B,Q)=>({u_matrix:le,u_extrude_scale:nn(w,1,B),u_intensity:Q}),zs=(le,w,B,Q)=>{let ee=a.H();a.aP(ee,0,le.width,le.height,0,0,1);let se=le.context.gl;return{u_matrix:ee,u_world:[se.drawingBufferWidth,se.drawingBufferHeight],u_image:B,u_color_ramp:Q,u_opacity:w.paint.get(\"heatmap-opacity\")}};function ks(le,w){let B=Math.pow(2,w.canonical.z),Q=w.canonical.y;return[new a.Z(0,Q/B).toLngLat().lat,new a.Z(0,(Q+1)/B).toLngLat().lat]}let Zs=(le,w,B,Q)=>{let ee=le.transform;return{u_matrix:Cs(le,w,B,Q),u_ratio:1/nn(w,1,ee.zoom),u_device_pixel_ratio:le.pixelRatio,u_units_to_pixels:[1/ee.pixelsToGLUnits[0],1/ee.pixelsToGLUnits[1]]}},Xs=(le,w,B,Q,ee)=>a.e(Zs(le,w,B,ee),{u_image:0,u_image_height:Q}),wl=(le,w,B,Q,ee)=>{let se=le.transform,qe=cl(w,se);return{u_matrix:Cs(le,w,B,ee),u_texsize:w.imageAtlasTexture.size,u_ratio:1/nn(w,1,se.zoom),u_device_pixel_ratio:le.pixelRatio,u_image:0,u_scale:[qe,Q.fromScale,Q.toScale],u_fade:Q.t,u_units_to_pixels:[1/se.pixelsToGLUnits[0],1/se.pixelsToGLUnits[1]]}},os=(le,w,B,Q,ee,se)=>{let qe=le.lineAtlas,je=cl(w,le.transform),it=B.layout.get(\"line-cap\")===\"round\",yt=qe.getDash(Q.from,it),Ot=qe.getDash(Q.to,it),Nt=yt.width*ee.fromScale,hr=Ot.width*ee.toScale;return a.e(Zs(le,w,B,se),{u_patternscale_a:[je/Nt,-yt.height/2],u_patternscale_b:[je/hr,-Ot.height/2],u_sdfgamma:qe.width/(256*Math.min(Nt,hr)*le.pixelRatio)/2,u_image:0,u_tex_y_a:yt.y,u_tex_y_b:Ot.y,u_mix:ee.t})};function cl(le,w){return 1/nn(le,1,w.tileZoom)}function Cs(le,w,B,Q){return le.translatePosMatrix(Q?Q.posMatrix:w.tileID.posMatrix,w,B.paint.get(\"line-translate\"),B.paint.get(\"line-translate-anchor\"))}let ml=(le,w,B,Q,ee)=>{return{u_matrix:le,u_tl_parent:w,u_scale_parent:B,u_buffer_scale:1,u_fade_t:Q.mix,u_opacity:Q.opacity*ee.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:ee.paint.get(\"raster-brightness-min\"),u_brightness_high:ee.paint.get(\"raster-brightness-max\"),u_saturation_factor:(qe=ee.paint.get(\"raster-saturation\"),qe>0?1-1/(1.001-qe):-qe),u_contrast_factor:(se=ee.paint.get(\"raster-contrast\"),se>0?1/(1-se):1+se),u_spin_weights:Ys(ee.paint.get(\"raster-hue-rotate\"))};var se,qe};function Ys(le){le*=Math.PI/180;let w=Math.sin(le),B=Math.cos(le);return[(2*B+1)/3,(-Math.sqrt(3)*w-B+1)/3,(Math.sqrt(3)*w-B+1)/3]}let Hs=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr)=>{let he=qe.transform;return{u_is_size_zoom_constant:+(le===\"constant\"||le===\"source\"),u_is_size_feature_constant:+(le===\"constant\"||le===\"camera\"),u_size_t:w?w.uSizeT:0,u_size:w?w.uSize:0,u_camera_to_center_distance:he.cameraToCenterDistance,u_pitch:he.pitch/360*2*Math.PI,u_rotate_symbol:+B,u_aspect_ratio:he.width/he.height,u_fade_change:qe.options.fadeDuration?qe.symbolFadeChange:1,u_matrix:je,u_label_plane_matrix:it,u_coord_matrix:yt,u_is_text:+Nt,u_pitch_with_map:+Q,u_is_along_line:ee,u_is_variable_anchor:se,u_texsize:hr,u_texture:0,u_translation:Ot,u_pitched_scale:Sr}},Eo=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he)=>{let be=qe.transform;return a.e(Hs(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,he),{u_gamma_scale:Q?Math.cos(be._pitch)*be.cameraToCenterDistance:1,u_device_pixel_ratio:qe.pixelRatio,u_is_halo:+Sr})},fs=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr)=>a.e(Eo(le,w,B,Q,ee,se,qe,je,it,yt,Ot,!0,Nt,!0,Sr),{u_texsize_icon:hr,u_texture_icon:1}),Ql=(le,w,B)=>({u_matrix:le,u_opacity:w,u_color:B}),Hu=(le,w,B,Q,ee,se)=>a.e(function(qe,je,it,yt){let Ot=it.imageManager.getPattern(qe.from.toString()),Nt=it.imageManager.getPattern(qe.to.toString()),{width:hr,height:Sr}=it.imageManager.getPixelSize(),he=Math.pow(2,yt.tileID.overscaledZ),be=yt.tileSize*Math.pow(2,it.transform.tileZoom)/he,Pe=be*(yt.tileID.canonical.x+yt.tileID.wrap*he),Oe=be*yt.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:Ot.tl,u_pattern_br_a:Ot.br,u_pattern_tl_b:Nt.tl,u_pattern_br_b:Nt.br,u_texsize:[hr,Sr],u_mix:je.t,u_pattern_size_a:Ot.displaySize,u_pattern_size_b:Nt.displaySize,u_scale_a:je.fromScale,u_scale_b:je.toScale,u_tile_units_to_pixels:1/nn(yt,1,it.transform.tileZoom),u_pixel_coord_upper:[Pe>>16,Oe>>16],u_pixel_coord_lower:[65535&Pe,65535&Oe]}}(Q,se,B,ee),{u_matrix:le,u_opacity:w}),fc={fillExtrusion:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_lightpos:new a.aN(le,w.u_lightpos),u_lightintensity:new a.aI(le,w.u_lightintensity),u_lightcolor:new a.aN(le,w.u_lightcolor),u_vertical_gradient:new a.aI(le,w.u_vertical_gradient),u_opacity:new a.aI(le,w.u_opacity)}),fillExtrusionPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_lightpos:new a.aN(le,w.u_lightpos),u_lightintensity:new a.aI(le,w.u_lightintensity),u_lightcolor:new a.aN(le,w.u_lightcolor),u_vertical_gradient:new a.aI(le,w.u_vertical_gradient),u_height_factor:new a.aI(le,w.u_height_factor),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade),u_opacity:new a.aI(le,w.u_opacity)}),fill:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix)}),fillPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),fillOutline:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world)}),fillOutlinePattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),circle:(le,w)=>({u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_scale_with_map:new a.aH(le,w.u_scale_with_map),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_extrude_scale:new a.aO(le,w.u_extrude_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_matrix:new a.aJ(le,w.u_matrix)}),collisionBox:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_pixel_extrude_scale:new a.aO(le,w.u_pixel_extrude_scale)}),collisionCircle:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_inv_matrix:new a.aJ(le,w.u_inv_matrix),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_viewport_size:new a.aO(le,w.u_viewport_size)}),debug:(le,w)=>({u_color:new a.aL(le,w.u_color),u_matrix:new a.aJ(le,w.u_matrix),u_overlay:new a.aH(le,w.u_overlay),u_overlay_scale:new a.aI(le,w.u_overlay_scale)}),clippingMask:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix)}),heatmap:(le,w)=>({u_extrude_scale:new a.aI(le,w.u_extrude_scale),u_intensity:new a.aI(le,w.u_intensity),u_matrix:new a.aJ(le,w.u_matrix)}),heatmapTexture:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world),u_image:new a.aH(le,w.u_image),u_color_ramp:new a.aH(le,w.u_color_ramp),u_opacity:new a.aI(le,w.u_opacity)}),hillshade:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_latrange:new a.aO(le,w.u_latrange),u_light:new a.aO(le,w.u_light),u_shadow:new a.aL(le,w.u_shadow),u_highlight:new a.aL(le,w.u_highlight),u_accent:new a.aL(le,w.u_accent)}),hillshadePrepare:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_dimension:new a.aO(le,w.u_dimension),u_zoom:new a.aI(le,w.u_zoom),u_unpack:new a.aK(le,w.u_unpack)}),line:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels)}),lineGradient:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_image:new a.aH(le,w.u_image),u_image_height:new a.aI(le,w.u_image_height)}),linePattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texsize:new a.aO(le,w.u_texsize),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_image:new a.aH(le,w.u_image),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),lineSDF:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_patternscale_a:new a.aO(le,w.u_patternscale_a),u_patternscale_b:new a.aO(le,w.u_patternscale_b),u_sdfgamma:new a.aI(le,w.u_sdfgamma),u_image:new a.aH(le,w.u_image),u_tex_y_a:new a.aI(le,w.u_tex_y_a),u_tex_y_b:new a.aI(le,w.u_tex_y_b),u_mix:new a.aI(le,w.u_mix)}),raster:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_tl_parent:new a.aO(le,w.u_tl_parent),u_scale_parent:new a.aI(le,w.u_scale_parent),u_buffer_scale:new a.aI(le,w.u_buffer_scale),u_fade_t:new a.aI(le,w.u_fade_t),u_opacity:new a.aI(le,w.u_opacity),u_image0:new a.aH(le,w.u_image0),u_image1:new a.aH(le,w.u_image1),u_brightness_low:new a.aI(le,w.u_brightness_low),u_brightness_high:new a.aI(le,w.u_brightness_high),u_saturation_factor:new a.aI(le,w.u_saturation_factor),u_contrast_factor:new a.aI(le,w.u_contrast_factor),u_spin_weights:new a.aN(le,w.u_spin_weights)}),symbolIcon:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texture:new a.aH(le,w.u_texture),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),symbolSDF:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texture:new a.aH(le,w.u_texture),u_gamma_scale:new a.aI(le,w.u_gamma_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_is_halo:new a.aH(le,w.u_is_halo),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),symbolTextAndIcon:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texsize_icon:new a.aO(le,w.u_texsize_icon),u_texture:new a.aH(le,w.u_texture),u_texture_icon:new a.aH(le,w.u_texture_icon),u_gamma_scale:new a.aI(le,w.u_gamma_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_is_halo:new a.aH(le,w.u_is_halo),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),background:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_opacity:new a.aI(le,w.u_opacity),u_color:new a.aL(le,w.u_color)}),backgroundPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_opacity:new a.aI(le,w.u_opacity),u_image:new a.aH(le,w.u_image),u_pattern_tl_a:new a.aO(le,w.u_pattern_tl_a),u_pattern_br_a:new a.aO(le,w.u_pattern_br_a),u_pattern_tl_b:new a.aO(le,w.u_pattern_tl_b),u_pattern_br_b:new a.aO(le,w.u_pattern_br_b),u_texsize:new a.aO(le,w.u_texsize),u_mix:new a.aI(le,w.u_mix),u_pattern_size_a:new a.aO(le,w.u_pattern_size_a),u_pattern_size_b:new a.aO(le,w.u_pattern_size_b),u_scale_a:new a.aI(le,w.u_scale_a),u_scale_b:new a.aI(le,w.u_scale_b),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_tile_units_to_pixels:new a.aI(le,w.u_tile_units_to_pixels)}),terrain:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texture:new a.aH(le,w.u_texture),u_ele_delta:new a.aI(le,w.u_ele_delta),u_fog_matrix:new a.aJ(le,w.u_fog_matrix),u_fog_color:new a.aL(le,w.u_fog_color),u_fog_ground_blend:new a.aI(le,w.u_fog_ground_blend),u_fog_ground_blend_opacity:new a.aI(le,w.u_fog_ground_blend_opacity),u_horizon_color:new a.aL(le,w.u_horizon_color),u_horizon_fog_blend:new a.aI(le,w.u_horizon_fog_blend)}),terrainDepth:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ele_delta:new a.aI(le,w.u_ele_delta)}),terrainCoords:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texture:new a.aH(le,w.u_texture),u_terrain_coords_id:new a.aI(le,w.u_terrain_coords_id),u_ele_delta:new a.aI(le,w.u_ele_delta)}),sky:(le,w)=>({u_sky_color:new a.aL(le,w.u_sky_color),u_horizon_color:new a.aL(le,w.u_horizon_color),u_horizon:new a.aI(le,w.u_horizon),u_sky_horizon_blend:new a.aI(le,w.u_sky_horizon_blend)})};class ms{constructor(w,B,Q){this.context=w;let ee=w.gl;this.buffer=ee.createBuffer(),this.dynamicDraw=!!Q,this.context.unbindVAO(),w.bindElementBuffer.set(this.buffer),ee.bufferData(ee.ELEMENT_ARRAY_BUFFER,B.arrayBuffer,this.dynamicDraw?ee.DYNAMIC_DRAW:ee.STATIC_DRAW),this.dynamicDraw||delete B.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(w){let B=this.context.gl;if(!this.dynamicDraw)throw new Error(\"Attempted to update data while not in dynamic mode.\");this.context.unbindVAO(),this.bind(),B.bufferSubData(B.ELEMENT_ARRAY_BUFFER,0,w.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let on={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"};class fa{constructor(w,B,Q,ee){this.length=B.length,this.attributes=Q,this.itemSize=B.bytesPerElement,this.dynamicDraw=ee,this.context=w;let se=w.gl;this.buffer=se.createBuffer(),w.bindVertexBuffer.set(this.buffer),se.bufferData(se.ARRAY_BUFFER,B.arrayBuffer,this.dynamicDraw?se.DYNAMIC_DRAW:se.STATIC_DRAW),this.dynamicDraw||delete B.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(w){if(w.length!==this.length)throw new Error(`Length of new data is ${w.length}, which doesn't match current length of ${this.length}`);let B=this.context.gl;this.bind(),B.bufferSubData(B.ARRAY_BUFFER,0,w.arrayBuffer)}enableAttributes(w,B){for(let Q=0;Q<this.attributes.length;Q++){let ee=B.attributes[this.attributes[Q].name];ee!==void 0&&w.enableVertexAttribArray(ee)}}setVertexAttribPointers(w,B,Q){for(let ee=0;ee<this.attributes.length;ee++){let se=this.attributes[ee],qe=B.attributes[se.name];qe!==void 0&&w.vertexAttribPointer(qe,se.components,w[on[se.type]],!1,this.itemSize,se.offset+this.itemSize*(Q||0))}}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let Qu=new WeakMap;function Rl(le){var w;if(Qu.has(le))return Qu.get(le);{let B=(w=le.getParameter(le.VERSION))===null||w===void 0?void 0:w.startsWith(\"WebGL 2.0\");return Qu.set(le,B),B}}class vo{constructor(w){this.gl=w.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1}get(){return this.current}set(w){}getDefault(){return this.default}setDefault(){this.set(this.default)}}class Zl extends vo{getDefault(){return a.aM.transparent}set(w){let B=this.current;(w.r!==B.r||w.g!==B.g||w.b!==B.b||w.a!==B.a||this.dirty)&&(this.gl.clearColor(w.r,w.g,w.b,w.a),this.current=w,this.dirty=!1)}}class Ks extends vo{getDefault(){return 1}set(w){(w!==this.current||this.dirty)&&(this.gl.clearDepth(w),this.current=w,this.dirty=!1)}}class Xl extends vo{getDefault(){return 0}set(w){(w!==this.current||this.dirty)&&(this.gl.clearStencil(w),this.current=w,this.dirty=!1)}}class Ec extends vo{getDefault(){return[!0,!0,!0,!0]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||w[2]!==B[2]||w[3]!==B[3]||this.dirty)&&(this.gl.colorMask(w[0],w[1],w[2],w[3]),this.current=w,this.dirty=!1)}}class Zn extends vo{getDefault(){return!0}set(w){(w!==this.current||this.dirty)&&(this.gl.depthMask(w),this.current=w,this.dirty=!1)}}class ko extends vo{getDefault(){return 255}set(w){(w!==this.current||this.dirty)&&(this.gl.stencilMask(w),this.current=w,this.dirty=!1)}}class Co extends vo{getDefault(){return{func:this.gl.ALWAYS,ref:0,mask:255}}set(w){let B=this.current;(w.func!==B.func||w.ref!==B.ref||w.mask!==B.mask||this.dirty)&&(this.gl.stencilFunc(w.func,w.ref,w.mask),this.current=w,this.dirty=!1)}}class Tl extends vo{getDefault(){let w=this.gl;return[w.KEEP,w.KEEP,w.KEEP]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||w[2]!==B[2]||this.dirty)&&(this.gl.stencilOp(w[0],w[1],w[2]),this.current=w,this.dirty=!1)}}class uf extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;w?B.enable(B.STENCIL_TEST):B.disable(B.STENCIL_TEST),this.current=w,this.dirty=!1}}class So extends vo{getDefault(){return[0,1]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||this.dirty)&&(this.gl.depthRange(w[0],w[1]),this.current=w,this.dirty=!1)}}class cf extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;w?B.enable(B.DEPTH_TEST):B.disable(B.DEPTH_TEST),this.current=w,this.dirty=!1}}class rh extends vo{getDefault(){return this.gl.LESS}set(w){(w!==this.current||this.dirty)&&(this.gl.depthFunc(w),this.current=w,this.dirty=!1)}}class Al extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;w?B.enable(B.BLEND):B.disable(B.BLEND),this.current=w,this.dirty=!1}}class Hc extends vo{getDefault(){let w=this.gl;return[w.ONE,w.ZERO]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||this.dirty)&&(this.gl.blendFunc(w[0],w[1]),this.current=w,this.dirty=!1)}}class eu extends vo{getDefault(){return a.aM.transparent}set(w){let B=this.current;(w.r!==B.r||w.g!==B.g||w.b!==B.b||w.a!==B.a||this.dirty)&&(this.gl.blendColor(w.r,w.g,w.b,w.a),this.current=w,this.dirty=!1)}}class Ls extends vo{getDefault(){return this.gl.FUNC_ADD}set(w){(w!==this.current||this.dirty)&&(this.gl.blendEquation(w),this.current=w,this.dirty=!1)}}class mu extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;w?B.enable(B.CULL_FACE):B.disable(B.CULL_FACE),this.current=w,this.dirty=!1}}class kc extends vo{getDefault(){return this.gl.BACK}set(w){(w!==this.current||this.dirty)&&(this.gl.cullFace(w),this.current=w,this.dirty=!1)}}class Of extends vo{getDefault(){return this.gl.CCW}set(w){(w!==this.current||this.dirty)&&(this.gl.frontFace(w),this.current=w,this.dirty=!1)}}class Gc extends vo{getDefault(){return null}set(w){(w!==this.current||this.dirty)&&(this.gl.useProgram(w),this.current=w,this.dirty=!1)}}class vd extends vo{getDefault(){return this.gl.TEXTURE0}set(w){(w!==this.current||this.dirty)&&(this.gl.activeTexture(w),this.current=w,this.dirty=!1)}}class Bf extends vo{getDefault(){let w=this.gl;return[0,0,w.drawingBufferWidth,w.drawingBufferHeight]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||w[2]!==B[2]||w[3]!==B[3]||this.dirty)&&(this.gl.viewport(w[0],w[1],w[2],w[3]),this.current=w,this.dirty=!1)}}class ss extends vo{getDefault(){return null}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.bindFramebuffer(B.FRAMEBUFFER,w),this.current=w,this.dirty=!1}}class ff extends vo{getDefault(){return null}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.bindRenderbuffer(B.RENDERBUFFER,w),this.current=w,this.dirty=!1}}class ih extends vo{getDefault(){return null}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.bindTexture(B.TEXTURE_2D,w),this.current=w,this.dirty=!1}}class Vl extends vo{getDefault(){return null}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.bindBuffer(B.ARRAY_BUFFER,w),this.current=w,this.dirty=!1}}class Js extends vo{getDefault(){return null}set(w){let B=this.gl;B.bindBuffer(B.ELEMENT_ARRAY_BUFFER,w),this.current=w,this.dirty=!1}}class hc extends vo{getDefault(){return null}set(w){var B;if(w===this.current&&!this.dirty)return;let Q=this.gl;Rl(Q)?Q.bindVertexArray(w):(B=Q.getExtension(\"OES_vertex_array_object\"))===null||B===void 0||B.bindVertexArrayOES(w),this.current=w,this.dirty=!1}}class Cc extends vo{getDefault(){return 4}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.pixelStorei(B.UNPACK_ALIGNMENT,w),this.current=w,this.dirty=!1}}class ws extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.pixelStorei(B.UNPACK_PREMULTIPLY_ALPHA_WEBGL,w),this.current=w,this.dirty=!1}}class $s extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.pixelStorei(B.UNPACK_FLIP_Y_WEBGL,w),this.current=w,this.dirty=!1}}class hs extends vo{constructor(w,B){super(w),this.context=w,this.parent=B}getDefault(){return null}}class Ms extends hs{setDirty(){this.dirty=!0}set(w){if(w===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let B=this.gl;B.framebufferTexture2D(B.FRAMEBUFFER,B.COLOR_ATTACHMENT0,B.TEXTURE_2D,w,0),this.current=w,this.dirty=!1}}class dc extends hs{set(w){if(w===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let B=this.gl;B.framebufferRenderbuffer(B.FRAMEBUFFER,B.DEPTH_ATTACHMENT,B.RENDERBUFFER,w),this.current=w,this.dirty=!1}}class Sl extends hs{set(w){if(w===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let B=this.gl;B.framebufferRenderbuffer(B.FRAMEBUFFER,B.DEPTH_STENCIL_ATTACHMENT,B.RENDERBUFFER,w),this.current=w,this.dirty=!1}}class ec{constructor(w,B,Q,ee,se){this.context=w,this.width=B,this.height=Q;let qe=w.gl,je=this.framebuffer=qe.createFramebuffer();if(this.colorAttachment=new Ms(w,je),ee)this.depthAttachment=se?new Sl(w,je):new dc(w,je);else if(se)throw new Error(\"Stencil cannot be set without depth\");if(qe.checkFramebufferStatus(qe.FRAMEBUFFER)!==qe.FRAMEBUFFER_COMPLETE)throw new Error(\"Framebuffer is not complete\")}destroy(){let w=this.context.gl,B=this.colorAttachment.get();if(B&&w.deleteTexture(B),this.depthAttachment){let Q=this.depthAttachment.get();Q&&w.deleteRenderbuffer(Q)}w.deleteFramebuffer(this.framebuffer)}}class Ps{constructor(w,B,Q){this.blendFunction=w,this.blendColor=B,this.mask=Q}}Ps.Replace=[1,0],Ps.disabled=new Ps(Ps.Replace,a.aM.transparent,[!1,!1,!1,!1]),Ps.unblended=new Ps(Ps.Replace,a.aM.transparent,[!0,!0,!0,!0]),Ps.alphaBlended=new Ps([1,771],a.aM.transparent,[!0,!0,!0,!0]);class ov{constructor(w){var B,Q;if(this.gl=w,this.clearColor=new Zl(this),this.clearDepth=new Ks(this),this.clearStencil=new Xl(this),this.colorMask=new Ec(this),this.depthMask=new Zn(this),this.stencilMask=new ko(this),this.stencilFunc=new Co(this),this.stencilOp=new Tl(this),this.stencilTest=new uf(this),this.depthRange=new So(this),this.depthTest=new cf(this),this.depthFunc=new rh(this),this.blend=new Al(this),this.blendFunc=new Hc(this),this.blendColor=new eu(this),this.blendEquation=new Ls(this),this.cullFace=new mu(this),this.cullFaceSide=new kc(this),this.frontFace=new Of(this),this.program=new Gc(this),this.activeTexture=new vd(this),this.viewport=new Bf(this),this.bindFramebuffer=new ss(this),this.bindRenderbuffer=new ff(this),this.bindTexture=new ih(this),this.bindVertexBuffer=new Vl(this),this.bindElementBuffer=new Js(this),this.bindVertexArray=new hc(this),this.pixelStoreUnpack=new Cc(this),this.pixelStoreUnpackPremultiplyAlpha=new ws(this),this.pixelStoreUnpackFlipY=new $s(this),this.extTextureFilterAnisotropic=w.getExtension(\"EXT_texture_filter_anisotropic\")||w.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||w.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=w.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.maxTextureSize=w.getParameter(w.MAX_TEXTURE_SIZE),Rl(w)){this.HALF_FLOAT=w.HALF_FLOAT;let ee=w.getExtension(\"EXT_color_buffer_half_float\");this.RGBA16F=(B=w.RGBA16F)!==null&&B!==void 0?B:ee==null?void 0:ee.RGBA16F_EXT,this.RGB16F=(Q=w.RGB16F)!==null&&Q!==void 0?Q:ee==null?void 0:ee.RGB16F_EXT,w.getExtension(\"EXT_color_buffer_float\")}else{w.getExtension(\"EXT_color_buffer_half_float\"),w.getExtension(\"OES_texture_half_float_linear\");let ee=w.getExtension(\"OES_texture_half_float\");this.HALF_FLOAT=ee==null?void 0:ee.HALF_FLOAT_OES}}setDefault(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()}setDirty(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.bindVertexArray.dirty=!0,this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0}createIndexBuffer(w,B){return new ms(this,w,B)}createVertexBuffer(w,B,Q){return new fa(this,w,B,Q)}createRenderbuffer(w,B,Q){let ee=this.gl,se=ee.createRenderbuffer();return this.bindRenderbuffer.set(se),ee.renderbufferStorage(ee.RENDERBUFFER,w,B,Q),this.bindRenderbuffer.set(null),se}createFramebuffer(w,B,Q,ee){return new ec(this,w,B,Q,ee)}clear({color:w,depth:B,stencil:Q}){let ee=this.gl,se=0;w&&(se|=ee.COLOR_BUFFER_BIT,this.clearColor.set(w),this.colorMask.set([!0,!0,!0,!0])),B!==void 0&&(se|=ee.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(B),this.depthMask.set(!0)),Q!==void 0&&(se|=ee.STENCIL_BUFFER_BIT,this.clearStencil.set(Q),this.stencilMask.set(255)),ee.clear(se)}setCullFace(w){w.enable===!1?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(w.mode),this.frontFace.set(w.frontFace))}setDepthMode(w){w.func!==this.gl.ALWAYS||w.mask?(this.depthTest.set(!0),this.depthFunc.set(w.func),this.depthMask.set(w.mask),this.depthRange.set(w.range)):this.depthTest.set(!1)}setStencilMode(w){w.test.func!==this.gl.ALWAYS||w.mask?(this.stencilTest.set(!0),this.stencilMask.set(w.mask),this.stencilOp.set([w.fail,w.depthFail,w.pass]),this.stencilFunc.set({func:w.test.func,ref:w.ref,mask:w.test.mask})):this.stencilTest.set(!1)}setColorMode(w){a.aE(w.blendFunction,Ps.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(w.blendFunction),this.blendColor.set(w.blendColor)),this.colorMask.set(w.mask)}createVertexArray(){var w;return Rl(this.gl)?this.gl.createVertexArray():(w=this.gl.getExtension(\"OES_vertex_array_object\"))===null||w===void 0?void 0:w.createVertexArrayOES()}deleteVertexArray(w){var B;return Rl(this.gl)?this.gl.deleteVertexArray(w):(B=this.gl.getExtension(\"OES_vertex_array_object\"))===null||B===void 0?void 0:B.deleteVertexArrayOES(w)}unbindVAO(){this.bindVertexArray.set(null)}}class wo{constructor(w,B,Q){this.func=w,this.mask=B,this.range=Q}}wo.ReadOnly=!1,wo.ReadWrite=!0,wo.disabled=new wo(519,wo.ReadOnly,[0,1]);let Od=7680;class $o{constructor(w,B,Q,ee,se,qe){this.test=w,this.ref=B,this.mask=Q,this.fail=ee,this.depthFail=se,this.pass=qe}}$o.disabled=new $o({func:519,mask:0},0,0,Od,Od,Od);class Ja{constructor(w,B,Q){this.enable=w,this.mode=B,this.frontFace=Q}}let Ef;function tc(le,w,B,Q,ee){let se=le.context,qe=se.gl,je=le.useProgram(\"collisionBox\"),it=[],yt=0,Ot=0;for(let Oe=0;Oe<Q.length;Oe++){let Je=Q[Oe],He=w.getTile(Je).getBucket(B);if(!He)continue;let et=ee?He.textCollisionBox:He.iconCollisionBox,Mt=He.collisionCircleArray;if(Mt.length>0){let Dt=a.H();a.aQ(Dt,He.placementInvProjMatrix,le.transform.glCoordMatrix),a.aQ(Dt,Dt,He.placementViewportMatrix),it.push({circleArray:Mt,circleOffset:Ot,transform:Je.posMatrix,invTransform:Dt,coord:Je}),yt+=Mt.length/4,Ot=yt}et&&je.draw(se,qe.LINES,wo.disabled,$o.disabled,le.colorModeForRenderPass(),Ja.disabled,{u_matrix:Je.posMatrix,u_pixel_extrude_scale:[1/(Nt=le.transform).width,1/Nt.height]},le.style.map.terrain&&le.style.map.terrain.getTerrainData(Je),B.id,et.layoutVertexBuffer,et.indexBuffer,et.segments,null,le.transform.zoom,null,null,et.collisionVertexBuffer)}var Nt;if(!ee||!it.length)return;let hr=le.useProgram(\"collisionCircle\"),Sr=new a.aR;Sr.resize(4*yt),Sr._trim();let he=0;for(let Oe of it)for(let Je=0;Je<Oe.circleArray.length/4;Je++){let He=4*Je,et=Oe.circleArray[He+0],Mt=Oe.circleArray[He+1],Dt=Oe.circleArray[He+2],Ut=Oe.circleArray[He+3];Sr.emplace(he++,et,Mt,Dt,Ut,0),Sr.emplace(he++,et,Mt,Dt,Ut,1),Sr.emplace(he++,et,Mt,Dt,Ut,2),Sr.emplace(he++,et,Mt,Dt,Ut,3)}(!Ef||Ef.length<2*yt)&&(Ef=function(Oe){let Je=2*Oe,He=new a.aT;He.resize(Je),He._trim();for(let et=0;et<Je;et++){let Mt=6*et;He.uint16[Mt+0]=4*et+0,He.uint16[Mt+1]=4*et+1,He.uint16[Mt+2]=4*et+2,He.uint16[Mt+3]=4*et+2,He.uint16[Mt+4]=4*et+3,He.uint16[Mt+5]=4*et+0}return He}(yt));let be=se.createIndexBuffer(Ef,!0),Pe=se.createVertexBuffer(Sr,a.aS.members,!0);for(let Oe of it){let Je=Oo(Oe.transform,Oe.invTransform,le.transform);hr.draw(se,qe.TRIANGLES,wo.disabled,$o.disabled,le.colorModeForRenderPass(),Ja.disabled,Je,le.style.map.terrain&&le.style.map.terrain.getTerrainData(Oe.coord),B.id,Pe,be,a.a0.simpleSegment(0,2*Oe.circleOffset,Oe.circleArray.length,Oe.circleArray.length/2),null,le.transform.zoom,null,null,null)}Pe.destroy(),be.destroy()}Ja.disabled=new Ja(!1,1029,2305),Ja.backCCW=new Ja(!0,1029,2305);let uu=a.an(new Float32Array(16));function Mh(le,w,B,Q,ee,se){let{horizontalAlign:qe,verticalAlign:je}=a.au(le);return new a.P((-(qe-.5)*w/ee+Q[0])*se,(-(je-.5)*B/ee+Q[1])*se)}function jc(le,w,B,Q,ee,se){let qe=w.tileAnchorPoint.add(new a.P(w.translation[0],w.translation[1]));if(w.pitchWithMap){let je=Q.mult(se);B||(je=je.rotate(-ee));let it=qe.add(je);return ut(it.x,it.y,w.labelPlaneMatrix,w.getElevation).point}if(B){let je=lt(w.tileAnchorPoint.x+1,w.tileAnchorPoint.y,w).point.sub(le),it=Math.atan(je.y/je.x)+(je.x<0?Math.PI:0);return le.add(Q.rotate(it))}return le.add(Q)}function kf(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr){let he=le.text.placedSymbolArray,be=le.text.dynamicLayoutVertexArray,Pe=le.icon.dynamicLayoutVertexArray,Oe={};be.clear();for(let Je=0;Je<he.length;Je++){let He=he.get(Je),et=He.hidden||!He.crossTileID||le.allowVerticalPlacement&&!He.placedOrientation?null:Q[He.crossTileID];if(et){let Mt=new a.P(He.anchorX,He.anchorY),Dt={getElevation:Sr,width:ee.width,height:ee.height,labelPlaneMatrix:se,lineVertexArray:null,pitchWithMap:B,projection:Ot,projectionCache:null,tileAnchorPoint:Mt,translation:Nt,unwrappedTileID:hr},Ut=B?ut(Mt.x,Mt.y,qe,Sr):lt(Mt.x,Mt.y,Dt),tr=Ne(ee.cameraToCenterDistance,Ut.signedDistanceFromCamera),mr=a.ai(le.textSizeData,it,He)*tr/a.ap;B&&(mr*=le.tilePixelRatio/je);let{width:Rr,height:zr,anchor:Xr,textOffset:di,textBoxScale:Li}=et,Ci=Mh(Xr,Rr,zr,di,Li,mr),Qi=Ot.getPitchedTextCorrection(ee,Mt.add(new a.P(Nt[0],Nt[1])),hr),Mn=jc(Ut.point,Dt,w,Ci,ee.angle,Qi),pa=le.allowVerticalPlacement&&He.placedOrientation===a.ah.vertical?Math.PI/2:0;for(let ea=0;ea<He.numGlyphs;ea++)a.aj(be,Mn,pa);yt&&He.associatedIconIndex>=0&&(Oe[He.associatedIconIndex]={shiftedAnchor:Mn,angle:pa})}else ai(He.numGlyphs,be)}if(yt){Pe.clear();let Je=le.icon.placedSymbolArray;for(let He=0;He<Je.length;He++){let et=Je.get(He);if(et.hidden)ai(et.numGlyphs,Pe);else{let Mt=Oe[He];if(Mt)for(let Dt=0;Dt<et.numGlyphs;Dt++)a.aj(Pe,Mt.shiftedAnchor,Mt.angle);else ai(et.numGlyphs,Pe)}}le.icon.dynamicLayoutVertexBuffer.updateData(Pe)}le.text.dynamicLayoutVertexBuffer.updateData(be)}function Ml(le,w,B){return B.iconsInText&&w?\"symbolTextAndIcon\":le?\"symbolSDF\":\"symbolIcon\"}function Yh(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt){let hr=le.context,Sr=hr.gl,he=le.transform,be=Gi(),Pe=je===\"map\",Oe=it===\"map\",Je=je!==\"viewport\"&&B.layout.get(\"symbol-placement\")!==\"point\",He=Pe&&!Oe&&!Je,et=!Oe&&Je,Mt=!B.layout.get(\"symbol-sort-key\").isConstant(),Dt=!1,Ut=le.depthModeForSublayer(0,wo.ReadOnly),tr=B._unevaluatedLayout.hasValue(\"text-variable-anchor\")||B._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),mr=[],Rr=be.getCircleRadiusCorrection(he);for(let zr of Q){let Xr=w.getTile(zr),di=Xr.getBucket(B);if(!di)continue;let Li=ee?di.text:di.icon;if(!Li||!Li.segments.get().length||!Li.hasVisibleVertices)continue;let Ci=Li.programConfigurations.get(B.id),Qi=ee||di.sdfIcons,Mn=ee?di.textSizeData:di.iconSizeData,pa=Oe||he.pitch!==0,ea=le.useProgram(Ml(Qi,ee,di),Ci),Ga=a.ag(Mn,he.zoom),To=le.style.map.terrain&&le.style.map.terrain.getTerrainData(zr),Wa,co,Ro,Ds,As=[0,0],yo=null;if(ee)co=Xr.glyphAtlasTexture,Ro=Sr.LINEAR,Wa=Xr.glyphAtlasTexture.size,di.iconsInText&&(As=Xr.imageAtlasTexture.size,yo=Xr.imageAtlasTexture,Ds=pa||le.options.rotating||le.options.zooming||Mn.kind===\"composite\"||Mn.kind===\"camera\"?Sr.LINEAR:Sr.NEAREST);else{let We=B.layout.get(\"icon-size\").constantOr(0)!==1||di.iconsNeedLinear;co=Xr.imageAtlasTexture,Ro=Qi||le.options.rotating||le.options.zooming||We||pa?Sr.LINEAR:Sr.NEAREST,Wa=Xr.imageAtlasTexture.size}let po=nn(Xr,1,le.transform.zoom),_l=et?zr.posMatrix:uu,Hl=Or(_l,Oe,Pe,le.transform,po),Zu=Nr(_l,Oe,Pe,le.transform,po),cu=Nr(zr.posMatrix,Oe,Pe,le.transform,po),el=be.translatePosition(le.transform,Xr,se,qe),au=tr&&di.hasTextData(),zc=B.layout.get(\"icon-text-fit\")!==\"none\"&&au&&di.hasIconData();if(Je){let We=le.style.map.terrain?(tt,zt)=>le.style.map.terrain.getElevation(zr,tt,zt):null,wt=B.layout.get(\"text-rotation-alignment\")===\"map\";Ve(di,zr.posMatrix,le,ee,Hl,cu,Oe,yt,wt,be,zr.toUnwrapped(),he.width,he.height,el,We)}let zl=zr.posMatrix,Fl=ee&&tr||zc,Z=Je||Fl?uu:Hl,oe=Zu,we=Qi&&B.paint.get(ee?\"text-halo-width\":\"icon-halo-width\").constantOr(1)!==0,Be;Be=Qi?di.iconsInText?fs(Mn.kind,Ga,He,Oe,Je,Fl,le,zl,Z,oe,el,Wa,As,Rr):Eo(Mn.kind,Ga,He,Oe,Je,Fl,le,zl,Z,oe,el,ee,Wa,!0,Rr):Hs(Mn.kind,Ga,He,Oe,Je,Fl,le,zl,Z,oe,el,ee,Wa,Rr);let Ue={program:ea,buffers:Li,uniformValues:Be,atlasTexture:co,atlasTextureIcon:yo,atlasInterpolation:Ro,atlasInterpolationIcon:Ds,isSDF:Qi,hasHalo:we};if(Mt&&di.canOverlap){Dt=!0;let We=Li.segments.get();for(let wt of We)mr.push({segments:new a.a0([wt]),sortKey:wt.sortKey,state:Ue,terrainData:To})}else mr.push({segments:Li.segments,sortKey:0,state:Ue,terrainData:To})}Dt&&mr.sort((zr,Xr)=>zr.sortKey-Xr.sortKey);for(let zr of mr){let Xr=zr.state;if(hr.activeTexture.set(Sr.TEXTURE0),Xr.atlasTexture.bind(Xr.atlasInterpolation,Sr.CLAMP_TO_EDGE),Xr.atlasTextureIcon&&(hr.activeTexture.set(Sr.TEXTURE1),Xr.atlasTextureIcon&&Xr.atlasTextureIcon.bind(Xr.atlasInterpolationIcon,Sr.CLAMP_TO_EDGE)),Xr.isSDF){let di=Xr.uniformValues;Xr.hasHalo&&(di.u_is_halo=1,Eh(Xr.buffers,zr.segments,B,le,Xr.program,Ut,Ot,Nt,di,zr.terrainData)),di.u_is_halo=0}Eh(Xr.buffers,zr.segments,B,le,Xr.program,Ut,Ot,Nt,Xr.uniformValues,zr.terrainData)}}function Eh(le,w,B,Q,ee,se,qe,je,it,yt){let Ot=Q.context;ee.draw(Ot,Ot.gl.TRIANGLES,se,qe,je,Ja.disabled,it,yt,B.id,le.layoutVertexBuffer,le.indexBuffer,w,B.paint,Q.transform.zoom,le.programConfigurations.get(B.id),le.dynamicLayoutVertexBuffer,le.opacityVertexBuffer)}function nh(le,w,B,Q){let ee=le.context,se=ee.gl,qe=$o.disabled,je=new Ps([se.ONE,se.ONE],a.aM.transparent,[!0,!0,!0,!0]),it=w.getBucket(B);if(!it)return;let yt=Q.key,Ot=B.heatmapFbos.get(yt);Ot||(Ot=kh(ee,w.tileSize,w.tileSize),B.heatmapFbos.set(yt,Ot)),ee.bindFramebuffer.set(Ot.framebuffer),ee.viewport.set([0,0,w.tileSize,w.tileSize]),ee.clear({color:a.aM.transparent});let Nt=it.programConfigurations.get(B.id),hr=le.useProgram(\"heatmap\",Nt),Sr=le.style.map.terrain.getTerrainData(Q);hr.draw(ee,se.TRIANGLES,wo.disabled,qe,je,Ja.disabled,xo(Q.posMatrix,w,le.transform.zoom,B.paint.get(\"heatmap-intensity\")),Sr,B.id,it.layoutVertexBuffer,it.indexBuffer,it.segments,B.paint,le.transform.zoom,Nt)}function hf(le,w,B){let Q=le.context,ee=Q.gl;Q.setColorMode(le.colorModeForRenderPass());let se=Kh(Q,w),qe=B.key,je=w.heatmapFbos.get(qe);je&&(Q.activeTexture.set(ee.TEXTURE0),ee.bindTexture(ee.TEXTURE_2D,je.colorAttachment.get()),Q.activeTexture.set(ee.TEXTURE1),se.bind(ee.LINEAR,ee.CLAMP_TO_EDGE),le.useProgram(\"heatmapTexture\").draw(Q,ee.TRIANGLES,wo.disabled,$o.disabled,le.colorModeForRenderPass(),Ja.disabled,zs(le,w,0,1),null,w.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments,w.paint,le.transform.zoom),je.destroy(),w.heatmapFbos.delete(qe))}function kh(le,w,B){var Q,ee;let se=le.gl,qe=se.createTexture();se.bindTexture(se.TEXTURE_2D,qe),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_S,se.CLAMP_TO_EDGE),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_T,se.CLAMP_TO_EDGE),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MIN_FILTER,se.LINEAR),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MAG_FILTER,se.LINEAR);let je=(Q=le.HALF_FLOAT)!==null&&Q!==void 0?Q:se.UNSIGNED_BYTE,it=(ee=le.RGBA16F)!==null&&ee!==void 0?ee:se.RGBA;se.texImage2D(se.TEXTURE_2D,0,it,w,B,0,se.RGBA,je,null);let yt=le.createFramebuffer(w,B,!1,!1);return yt.colorAttachment.set(qe),yt}function Kh(le,w){return w.colorRampTexture||(w.colorRampTexture=new g(le,w.colorRamp,le.gl.RGBA)),w.colorRampTexture}function rc(le,w,B,Q,ee){if(!B||!Q||!Q.imageAtlas)return;let se=Q.imageAtlas.patternPositions,qe=se[B.to.toString()],je=se[B.from.toString()];if(!qe&&je&&(qe=je),!je&&qe&&(je=qe),!qe||!je){let it=ee.getPaintProperty(w);qe=se[it],je=se[it]}qe&&je&&le.setConstantPatternPositions(qe,je)}function ah(le,w,B,Q,ee,se,qe){let je=le.context.gl,it=\"fill-pattern\",yt=B.paint.get(it),Ot=yt&&yt.constantOr(1),Nt=B.getCrossfadeParameters(),hr,Sr,he,be,Pe;qe?(Sr=Ot&&!B.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",hr=je.LINES):(Sr=Ot?\"fillPattern\":\"fill\",hr=je.TRIANGLES);let Oe=yt.constantOr(null);for(let Je of Q){let He=w.getTile(Je);if(Ot&&!He.patternsLoaded())continue;let et=He.getBucket(B);if(!et)continue;let Mt=et.programConfigurations.get(B.id),Dt=le.useProgram(Sr,Mt),Ut=le.style.map.terrain&&le.style.map.terrain.getTerrainData(Je);Ot&&(le.context.activeTexture.set(je.TEXTURE0),He.imageAtlasTexture.bind(je.LINEAR,je.CLAMP_TO_EDGE),Mt.updatePaintBuffers(Nt)),rc(Mt,it,Oe,He,B);let tr=Ut?Je:null,mr=le.translatePosMatrix(tr?tr.posMatrix:Je.posMatrix,He,B.paint.get(\"fill-translate\"),B.paint.get(\"fill-translate-anchor\"));if(qe){be=et.indexBuffer2,Pe=et.segments2;let Rr=[je.drawingBufferWidth,je.drawingBufferHeight];he=Sr===\"fillOutlinePattern\"&&Ot?Sa(mr,le,Nt,He,Rr):Fn(mr,Rr)}else be=et.indexBuffer,Pe=et.segments,he=Ot?ua(mr,le,Nt,He):Ji(mr);Dt.draw(le.context,hr,ee,le.stencilModeForClipping(Je),se,Ja.disabled,he,Ut,B.id,et.layoutVertexBuffer,be,Pe,B.paint,le.transform.zoom,Mt)}}function Wc(le,w,B,Q,ee,se,qe){let je=le.context,it=je.gl,yt=\"fill-extrusion-pattern\",Ot=B.paint.get(yt),Nt=Ot.constantOr(1),hr=B.getCrossfadeParameters(),Sr=B.paint.get(\"fill-extrusion-opacity\"),he=Ot.constantOr(null);for(let be of Q){let Pe=w.getTile(be),Oe=Pe.getBucket(B);if(!Oe)continue;let Je=le.style.map.terrain&&le.style.map.terrain.getTerrainData(be),He=Oe.programConfigurations.get(B.id),et=le.useProgram(Nt?\"fillExtrusionPattern\":\"fillExtrusion\",He);Nt&&(le.context.activeTexture.set(it.TEXTURE0),Pe.imageAtlasTexture.bind(it.LINEAR,it.CLAMP_TO_EDGE),He.updatePaintBuffers(hr)),rc(He,yt,he,Pe,B);let Mt=le.translatePosMatrix(be.posMatrix,Pe,B.paint.get(\"fill-extrusion-translate\"),B.paint.get(\"fill-extrusion-translate-anchor\")),Dt=B.paint.get(\"fill-extrusion-vertical-gradient\"),Ut=Nt?hi(Mt,le,Dt,Sr,be,hr,Pe):an(Mt,le,Dt,Sr);et.draw(je,je.gl.TRIANGLES,ee,se,qe,Ja.backCCW,Ut,Je,B.id,Oe.layoutVertexBuffer,Oe.indexBuffer,Oe.segments,B.paint,le.transform.zoom,He,le.style.map.terrain&&Oe.centroidVertexBuffer)}}function df(le,w,B,Q,ee,se,qe){let je=le.context,it=je.gl,yt=B.fbo;if(!yt)return;let Ot=le.useProgram(\"hillshade\"),Nt=le.style.map.terrain&&le.style.map.terrain.getTerrainData(w);je.activeTexture.set(it.TEXTURE0),it.bindTexture(it.TEXTURE_2D,yt.colorAttachment.get()),Ot.draw(je,it.TRIANGLES,ee,se,qe,Ja.disabled,((hr,Sr,he,be)=>{let Pe=he.paint.get(\"hillshade-shadow-color\"),Oe=he.paint.get(\"hillshade-highlight-color\"),Je=he.paint.get(\"hillshade-accent-color\"),He=he.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);he.paint.get(\"hillshade-illumination-anchor\")===\"viewport\"&&(He-=hr.transform.angle);let et=!hr.options.moving;return{u_matrix:be?be.posMatrix:hr.transform.calculatePosMatrix(Sr.tileID.toUnwrapped(),et),u_image:0,u_latrange:ks(0,Sr.tileID),u_light:[he.paint.get(\"hillshade-exaggeration\"),He],u_shadow:Pe,u_highlight:Oe,u_accent:Je}})(le,B,Q,Nt?w:null),Nt,Q.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments)}function Cu(le,w,B,Q,ee,se){let qe=le.context,je=qe.gl,it=w.dem;if(it&&it.data){let yt=it.dim,Ot=it.stride,Nt=it.getPixels();if(qe.activeTexture.set(je.TEXTURE1),qe.pixelStoreUnpackPremultiplyAlpha.set(!1),w.demTexture=w.demTexture||le.getTileTexture(Ot),w.demTexture){let Sr=w.demTexture;Sr.update(Nt,{premultiply:!1}),Sr.bind(je.NEAREST,je.CLAMP_TO_EDGE)}else w.demTexture=new g(qe,Nt,je.RGBA,{premultiply:!1}),w.demTexture.bind(je.NEAREST,je.CLAMP_TO_EDGE);qe.activeTexture.set(je.TEXTURE0);let hr=w.fbo;if(!hr){let Sr=new g(qe,{width:yt,height:yt,data:null},je.RGBA);Sr.bind(je.LINEAR,je.CLAMP_TO_EDGE),hr=w.fbo=qe.createFramebuffer(yt,yt,!0,!1),hr.colorAttachment.set(Sr.texture)}qe.bindFramebuffer.set(hr.framebuffer),qe.viewport.set([0,0,yt,yt]),le.useProgram(\"hillshadePrepare\").draw(qe,je.TRIANGLES,Q,ee,se,Ja.disabled,((Sr,he)=>{let be=he.stride,Pe=a.H();return a.aP(Pe,0,a.X,-a.X,0,0,1),a.J(Pe,Pe,[0,-a.X,0]),{u_matrix:Pe,u_image:1,u_dimension:[be,be],u_zoom:Sr.overscaledZ,u_unpack:he.getUnpackVector()}})(w.tileID,it),null,B.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments),w.needsHillshadePrepare=!1}}function Nf(le,w,B,Q,ee,se){let qe=Q.paint.get(\"raster-fade-duration\");if(!se&&qe>0){let je=u.now(),it=(je-le.timeAdded)/qe,yt=w?(je-w.timeAdded)/qe:-1,Ot=B.getSource(),Nt=ee.coveringZoomLevel({tileSize:Ot.tileSize,roundZoom:Ot.roundZoom}),hr=!w||Math.abs(w.tileID.overscaledZ-Nt)>Math.abs(le.tileID.overscaledZ-Nt),Sr=hr&&le.refreshedUponExpiration?1:a.ac(hr?it:1-yt,0,1);return le.refreshedUponExpiration&&it>=1&&(le.refreshedUponExpiration=!1),w?{opacity:1,mix:1-Sr}:{opacity:Sr,mix:0}}return{opacity:1,mix:0}}let Zc=new a.aM(1,0,0,1),ds=new a.aM(0,1,0,1),Ch=new a.aM(0,0,1,1),Bd=new a.aM(1,0,1,1),Jh=new a.aM(0,1,1,1);function Cf(le,w,B,Q){Lu(le,0,w+B/2,le.transform.width,B,Q)}function pd(le,w,B,Q){Lu(le,w-B/2,0,B,le.transform.height,Q)}function Lu(le,w,B,Q,ee,se){let qe=le.context,je=qe.gl;je.enable(je.SCISSOR_TEST),je.scissor(w*le.pixelRatio,B*le.pixelRatio,Q*le.pixelRatio,ee*le.pixelRatio),qe.clear({color:se}),je.disable(je.SCISSOR_TEST)}function $h(le,w,B){let Q=le.context,ee=Q.gl,se=B.posMatrix,qe=le.useProgram(\"debug\"),je=wo.disabled,it=$o.disabled,yt=le.colorModeForRenderPass(),Ot=\"$debug\",Nt=le.style.map.terrain&&le.style.map.terrain.getTerrainData(B);Q.activeTexture.set(ee.TEXTURE0);let hr=w.getTileByID(B.key).latestRawTileData,Sr=Math.floor((hr&&hr.byteLength||0)/1024),he=w.getTile(B).tileSize,be=512/Math.min(he,512)*(B.overscaledZ/le.transform.zoom)*.5,Pe=B.canonical.toString();B.overscaledZ!==B.canonical.z&&(Pe+=` => ${B.overscaledZ}`),function(Oe,Je){Oe.initDebugOverlayCanvas();let He=Oe.debugOverlayCanvas,et=Oe.context.gl,Mt=Oe.debugOverlayCanvas.getContext(\"2d\");Mt.clearRect(0,0,He.width,He.height),Mt.shadowColor=\"white\",Mt.shadowBlur=2,Mt.lineWidth=1.5,Mt.strokeStyle=\"white\",Mt.textBaseline=\"top\",Mt.font=\"bold 36px Open Sans, sans-serif\",Mt.fillText(Je,5,5),Mt.strokeText(Je,5,5),Oe.debugOverlayTexture.update(He),Oe.debugOverlayTexture.bind(et.LINEAR,et.CLAMP_TO_EDGE)}(le,`${Pe} ${Sr}kB`),qe.draw(Q,ee.TRIANGLES,je,it,Ps.alphaBlended,Ja.disabled,ho(se,a.aM.transparent,be),null,Ot,le.debugBuffer,le.quadTriangleIndexBuffer,le.debugSegments),qe.draw(Q,ee.LINE_STRIP,je,it,yt,Ja.disabled,ho(se,a.aM.red),Nt,Ot,le.debugBuffer,le.tileBorderIndexBuffer,le.debugSegments)}function tu(le,w,B){let Q=le.context,ee=Q.gl,se=le.colorModeForRenderPass(),qe=new wo(ee.LEQUAL,wo.ReadWrite,le.depthRangeFor3D),je=le.useProgram(\"terrain\"),it=w.getTerrainMesh();Q.bindFramebuffer.set(null),Q.viewport.set([0,0,le.width,le.height]);for(let yt of B){let Ot=le.renderToTexture.getTexture(yt),Nt=w.getTerrainData(yt.tileID);Q.activeTexture.set(ee.TEXTURE0),ee.bindTexture(ee.TEXTURE_2D,Ot.texture);let hr=le.transform.calculatePosMatrix(yt.tileID.toUnwrapped()),Sr=w.getMeshFrameDelta(le.transform.zoom),he=le.transform.calculateFogMatrix(yt.tileID.toUnwrapped()),be=Hr(hr,Sr,he,le.style.sky,le.transform.pitch);je.draw(Q,ee.TRIANGLES,qe,$o.disabled,se,Ja.backCCW,be,Nt,\"terrain\",it.vertexBuffer,it.indexBuffer,it.segments)}}class Pu{constructor(w,B,Q){this.vertexBuffer=w,this.indexBuffer=B,this.segments=Q}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class Lc{constructor(w,B){this.context=new ov(w),this.transform=B,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:a.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=dt.maxUnderzooming+dt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new jo}resize(w,B,Q){if(this.width=Math.floor(w*Q),this.height=Math.floor(B*Q),this.pixelRatio=Q,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let ee of this.style._order)this.style._layers[ee].resize()}setup(){let w=this.context,B=new a.aX;B.emplaceBack(0,0),B.emplaceBack(a.X,0),B.emplaceBack(0,a.X),B.emplaceBack(a.X,a.X),this.tileExtentBuffer=w.createVertexBuffer(B,oo.members),this.tileExtentSegments=a.a0.simpleSegment(0,0,4,2);let Q=new a.aX;Q.emplaceBack(0,0),Q.emplaceBack(a.X,0),Q.emplaceBack(0,a.X),Q.emplaceBack(a.X,a.X),this.debugBuffer=w.createVertexBuffer(Q,oo.members),this.debugSegments=a.a0.simpleSegment(0,0,4,5);let ee=new a.$;ee.emplaceBack(0,0,0,0),ee.emplaceBack(a.X,0,a.X,0),ee.emplaceBack(0,a.X,0,a.X),ee.emplaceBack(a.X,a.X,a.X,a.X),this.rasterBoundsBuffer=w.createVertexBuffer(ee,ot.members),this.rasterBoundsSegments=a.a0.simpleSegment(0,0,4,2);let se=new a.aX;se.emplaceBack(0,0),se.emplaceBack(1,0),se.emplaceBack(0,1),se.emplaceBack(1,1),this.viewportBuffer=w.createVertexBuffer(se,oo.members),this.viewportSegments=a.a0.simpleSegment(0,0,4,2);let qe=new a.aZ;qe.emplaceBack(0),qe.emplaceBack(1),qe.emplaceBack(3),qe.emplaceBack(2),qe.emplaceBack(0),this.tileBorderIndexBuffer=w.createIndexBuffer(qe);let je=new a.aY;je.emplaceBack(0,1,2),je.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=w.createIndexBuffer(je);let it=this.context.gl;this.stencilClearMode=new $o({func:it.ALWAYS,mask:0},0,255,it.ZERO,it.ZERO,it.ZERO)}clearStencil(){let w=this.context,B=w.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let Q=a.H();a.aP(Q,0,this.width,this.height,0,0,1),a.K(Q,Q,[B.drawingBufferWidth,B.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(w,B.TRIANGLES,wo.disabled,this.stencilClearMode,Ps.disabled,Ja.disabled,Mo(Q),null,\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(w,B){if(this.currentStencilSource===w.source||!w.isTileClipped()||!B||!B.length)return;this.currentStencilSource=w.source;let Q=this.context,ee=Q.gl;this.nextStencilID+B.length>256&&this.clearStencil(),Q.setColorMode(Ps.disabled),Q.setDepthMode(wo.disabled);let se=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(let qe of B){let je=this._tileClippingMaskIDs[qe.key]=this.nextStencilID++,it=this.style.map.terrain&&this.style.map.terrain.getTerrainData(qe);se.draw(Q,ee.TRIANGLES,wo.disabled,new $o({func:ee.ALWAYS,mask:0},je,255,ee.KEEP,ee.KEEP,ee.REPLACE),Ps.disabled,Ja.disabled,Mo(qe.posMatrix),it,\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let w=this.nextStencilID++,B=this.context.gl;return new $o({func:B.NOTEQUAL,mask:255},w,255,B.KEEP,B.KEEP,B.REPLACE)}stencilModeForClipping(w){let B=this.context.gl;return new $o({func:B.EQUAL,mask:255},this._tileClippingMaskIDs[w.key],0,B.KEEP,B.KEEP,B.REPLACE)}stencilConfigForOverlap(w){let B=this.context.gl,Q=w.sort((qe,je)=>je.overscaledZ-qe.overscaledZ),ee=Q[Q.length-1].overscaledZ,se=Q[0].overscaledZ-ee+1;if(se>1){this.currentStencilSource=void 0,this.nextStencilID+se>256&&this.clearStencil();let qe={};for(let je=0;je<se;je++)qe[je+ee]=new $o({func:B.GEQUAL,mask:255},je+this.nextStencilID,255,B.KEEP,B.KEEP,B.REPLACE);return this.nextStencilID+=se,[qe,Q]}return[{[ee]:$o.disabled},Q]}colorModeForRenderPass(){let w=this.context.gl;return this._showOverdrawInspector?new Ps([w.CONSTANT_COLOR,w.ONE],new a.aM(.125,.125,.125,0),[!0,!0,!0,!0]):this.renderPass===\"opaque\"?Ps.unblended:Ps.alphaBlended}depthModeForSublayer(w,B,Q){if(!this.opaquePassEnabledForLayer())return wo.disabled;let ee=1-((1+this.currentLayer)*this.numSublayers+w)*this.depthEpsilon;return new wo(Q||this.context.gl.LEQUAL,B,[ee,ee])}opaquePassEnabledForLayer(){return this.currentLayer<this.opaquePassCutoff}render(w,B){this.style=w,this.options=B,this.lineAtlas=w.lineAtlas,this.imageManager=w.imageManager,this.glyphManager=w.glyphManager,this.symbolFadeChange=w.placement.symbolFadeChange(u.now()),this.imageManager.beginFrame();let Q=this.style._order,ee=this.style.sourceCaches,se={},qe={},je={};for(let it in ee){let yt=ee[it];yt.used&&yt.prepare(this.context),se[it]=yt.getVisibleCoordinates(),qe[it]=se[it].slice().reverse(),je[it]=yt.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(let it=0;it<Q.length;it++)if(this.style._layers[Q[it]].is3D()){this.opaquePassCutoff=it;break}this.maybeDrawDepthAndCoords(!1),this.renderToTexture&&(this.renderToTexture.prepareForRender(this.style,this.transform.zoom),this.opaquePassCutoff=0),this.renderPass=\"offscreen\";for(let it of Q){let yt=this.style._layers[it];if(!yt.hasOffscreenPass()||yt.isHidden(this.transform.zoom))continue;let Ot=qe[yt.source];(yt.type===\"custom\"||Ot.length)&&this.renderLayer(this,ee[yt.source],yt,Ot)}if(this.context.bindFramebuffer.set(null),this.context.clear({color:B.showOverdrawInspector?a.aM.black:a.aM.transparent,depth:1}),this.clearStencil(),this.style.sky&&function(it,yt){let Ot=it.context,Nt=Ot.gl,hr=((Oe,Je,He)=>({u_sky_color:Oe.properties.get(\"sky-color\"),u_horizon_color:Oe.properties.get(\"horizon-color\"),u_horizon:(Je.height/2+Je.getHorizon())*He,u_sky_horizon_blend:Oe.properties.get(\"sky-horizon-blend\")*Je.height/2*He}))(yt,it.style.map.transform,it.pixelRatio),Sr=new wo(Nt.LEQUAL,wo.ReadWrite,[0,1]),he=$o.disabled,be=it.colorModeForRenderPass(),Pe=it.useProgram(\"sky\");if(!yt.mesh){let Oe=new a.aX;Oe.emplaceBack(-1,-1),Oe.emplaceBack(1,-1),Oe.emplaceBack(1,1),Oe.emplaceBack(-1,1);let Je=new a.aY;Je.emplaceBack(0,1,2),Je.emplaceBack(0,2,3),yt.mesh=new Pu(Ot.createVertexBuffer(Oe,oo.members),Ot.createIndexBuffer(Je),a.a0.simpleSegment(0,0,Oe.length,Je.length))}Pe.draw(Ot,Nt.TRIANGLES,Sr,he,be,Ja.disabled,hr,void 0,\"sky\",yt.mesh.vertexBuffer,yt.mesh.indexBuffer,yt.mesh.segments)}(this,this.style.sky),this._showOverdrawInspector=B.showOverdrawInspector,this.depthRangeFor3D=[0,1-(w._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass=\"opaque\",this.currentLayer=Q.length-1;this.currentLayer>=0;this.currentLayer--){let it=this.style._layers[Q[this.currentLayer]],yt=ee[it.source],Ot=se[it.source];this._renderTileClippingMasks(it,Ot),this.renderLayer(this,yt,it,Ot)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer<Q.length;this.currentLayer++){let it=this.style._layers[Q[this.currentLayer]],yt=ee[it.source];if(this.renderToTexture&&this.renderToTexture.renderLayer(it))continue;let Ot=(it.type===\"symbol\"?je:qe)[it.source];this._renderTileClippingMasks(it,se[it.source]),this.renderLayer(this,yt,it,Ot)}if(this.options.showTileBoundaries){let it=function(yt,Ot){let Nt=null,hr=Object.values(yt._layers).flatMap(Pe=>Pe.source&&!Pe.isHidden(Ot)?[yt.sourceCaches[Pe.source]]:[]),Sr=hr.filter(Pe=>Pe.getSource().type===\"vector\"),he=hr.filter(Pe=>Pe.getSource().type!==\"vector\"),be=Pe=>{(!Nt||Nt.getSource().maxzoom<Pe.getSource().maxzoom)&&(Nt=Pe)};return Sr.forEach(Pe=>be(Pe)),Nt||he.forEach(Pe=>be(Pe)),Nt}(this.style,this.transform.zoom);it&&function(yt,Ot,Nt){for(let hr=0;hr<Nt.length;hr++)$h(yt,Ot,Nt[hr])}(this,it,it.getVisibleCoordinates())}this.options.showPadding&&function(it){let yt=it.transform.padding;Cf(it,it.transform.height-(yt.top||0),3,Zc),Cf(it,yt.bottom||0,3,ds),pd(it,yt.left||0,3,Ch),pd(it,it.transform.width-(yt.right||0),3,Bd);let Ot=it.transform.centerPoint;(function(Nt,hr,Sr,he){Lu(Nt,hr-1,Sr-10,2,20,he),Lu(Nt,hr-10,Sr-1,20,2,he)})(it,Ot.x,it.transform.height-Ot.y,Jh)}(this),this.context.setDefault()}maybeDrawDepthAndCoords(w){if(!this.style||!this.style.map||!this.style.map.terrain)return;let B=this.terrainFacilitator.matrix,Q=this.transform.modelViewProjectionMatrix,ee=this.terrainFacilitator.dirty;ee||(ee=w?!a.a_(B,Q):!a.a$(B,Q)),ee||(ee=this.style.map.terrain.sourceCache.tilesAfterTime(this.terrainFacilitator.renderTime).length>0),ee&&(a.b0(B,Q),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(se,qe){let je=se.context,it=je.gl,yt=Ps.unblended,Ot=new wo(it.LEQUAL,wo.ReadWrite,[0,1]),Nt=qe.getTerrainMesh(),hr=qe.sourceCache.getRenderableTiles(),Sr=se.useProgram(\"terrainDepth\");je.bindFramebuffer.set(qe.getFramebuffer(\"depth\").framebuffer),je.viewport.set([0,0,se.width/devicePixelRatio,se.height/devicePixelRatio]),je.clear({color:a.aM.transparent,depth:1});for(let he of hr){let be=qe.getTerrainData(he.tileID),Pe={u_matrix:se.transform.calculatePosMatrix(he.tileID.toUnwrapped()),u_ele_delta:qe.getMeshFrameDelta(se.transform.zoom)};Sr.draw(je,it.TRIANGLES,Ot,$o.disabled,yt,Ja.backCCW,Pe,be,\"terrain\",Nt.vertexBuffer,Nt.indexBuffer,Nt.segments)}je.bindFramebuffer.set(null),je.viewport.set([0,0,se.width,se.height])}(this,this.style.map.terrain),function(se,qe){let je=se.context,it=je.gl,yt=Ps.unblended,Ot=new wo(it.LEQUAL,wo.ReadWrite,[0,1]),Nt=qe.getTerrainMesh(),hr=qe.getCoordsTexture(),Sr=qe.sourceCache.getRenderableTiles(),he=se.useProgram(\"terrainCoords\");je.bindFramebuffer.set(qe.getFramebuffer(\"coords\").framebuffer),je.viewport.set([0,0,se.width/devicePixelRatio,se.height/devicePixelRatio]),je.clear({color:a.aM.transparent,depth:1}),qe.coordsIndex=[];for(let be of Sr){let Pe=qe.getTerrainData(be.tileID);je.activeTexture.set(it.TEXTURE0),it.bindTexture(it.TEXTURE_2D,hr.texture);let Oe={u_matrix:se.transform.calculatePosMatrix(be.tileID.toUnwrapped()),u_terrain_coords_id:(255-qe.coordsIndex.length)/255,u_texture:0,u_ele_delta:qe.getMeshFrameDelta(se.transform.zoom)};he.draw(je,it.TRIANGLES,Ot,$o.disabled,yt,Ja.backCCW,Oe,Pe,\"terrain\",Nt.vertexBuffer,Nt.indexBuffer,Nt.segments),qe.coordsIndex.push(be.tileID.key)}je.bindFramebuffer.set(null),je.viewport.set([0,0,se.width,se.height])}(this,this.style.map.terrain))}renderLayer(w,B,Q,ee){if(!Q.isHidden(this.transform.zoom)&&(Q.type===\"background\"||Q.type===\"custom\"||(ee||[]).length))switch(this.id=Q.id,Q.type){case\"symbol\":(function(se,qe,je,it,yt){if(se.renderPass!==\"translucent\")return;let Ot=$o.disabled,Nt=se.colorModeForRenderPass();(je._unevaluatedLayout.hasValue(\"text-variable-anchor\")||je._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"))&&function(hr,Sr,he,be,Pe,Oe,Je,He,et){let Mt=Sr.transform,Dt=Gi(),Ut=Pe===\"map\",tr=Oe===\"map\";for(let mr of hr){let Rr=be.getTile(mr),zr=Rr.getBucket(he);if(!zr||!zr.text||!zr.text.segments.get().length)continue;let Xr=a.ag(zr.textSizeData,Mt.zoom),di=nn(Rr,1,Sr.transform.zoom),Li=Or(mr.posMatrix,tr,Ut,Sr.transform,di),Ci=he.layout.get(\"icon-text-fit\")!==\"none\"&&zr.hasIconData();if(Xr){let Qi=Math.pow(2,Mt.zoom-Rr.tileID.overscaledZ),Mn=Sr.style.map.terrain?(ea,Ga)=>Sr.style.map.terrain.getElevation(mr,ea,Ga):null,pa=Dt.translatePosition(Mt,Rr,Je,He);kf(zr,Ut,tr,et,Mt,Li,mr.posMatrix,Qi,Xr,Ci,Dt,pa,mr.toUnwrapped(),Mn)}}}(it,se,je,qe,je.layout.get(\"text-rotation-alignment\"),je.layout.get(\"text-pitch-alignment\"),je.paint.get(\"text-translate\"),je.paint.get(\"text-translate-anchor\"),yt),je.paint.get(\"icon-opacity\").constantOr(1)!==0&&Yh(se,qe,je,it,!1,je.paint.get(\"icon-translate\"),je.paint.get(\"icon-translate-anchor\"),je.layout.get(\"icon-rotation-alignment\"),je.layout.get(\"icon-pitch-alignment\"),je.layout.get(\"icon-keep-upright\"),Ot,Nt),je.paint.get(\"text-opacity\").constantOr(1)!==0&&Yh(se,qe,je,it,!0,je.paint.get(\"text-translate\"),je.paint.get(\"text-translate-anchor\"),je.layout.get(\"text-rotation-alignment\"),je.layout.get(\"text-pitch-alignment\"),je.layout.get(\"text-keep-upright\"),Ot,Nt),qe.map.showCollisionBoxes&&(tc(se,qe,je,it,!0),tc(se,qe,je,it,!1))})(w,B,Q,ee,this.style.placement.variableOffsets);break;case\"circle\":(function(se,qe,je,it){if(se.renderPass!==\"translucent\")return;let yt=je.paint.get(\"circle-opacity\"),Ot=je.paint.get(\"circle-stroke-width\"),Nt=je.paint.get(\"circle-stroke-opacity\"),hr=!je.layout.get(\"circle-sort-key\").isConstant();if(yt.constantOr(1)===0&&(Ot.constantOr(1)===0||Nt.constantOr(1)===0))return;let Sr=se.context,he=Sr.gl,be=se.depthModeForSublayer(0,wo.ReadOnly),Pe=$o.disabled,Oe=se.colorModeForRenderPass(),Je=[];for(let He=0;He<it.length;He++){let et=it[He],Mt=qe.getTile(et),Dt=Mt.getBucket(je);if(!Dt)continue;let Ut=Dt.programConfigurations.get(je.id),tr=se.useProgram(\"circle\",Ut),mr=Dt.layoutVertexBuffer,Rr=Dt.indexBuffer,zr=se.style.map.terrain&&se.style.map.terrain.getTerrainData(et),Xr={programConfiguration:Ut,program:tr,layoutVertexBuffer:mr,indexBuffer:Rr,uniformValues:go(se,et,Mt,je),terrainData:zr};if(hr){let di=Dt.segments.get();for(let Li of di)Je.push({segments:new a.a0([Li]),sortKey:Li.sortKey,state:Xr})}else Je.push({segments:Dt.segments,sortKey:0,state:Xr})}hr&&Je.sort((He,et)=>He.sortKey-et.sortKey);for(let He of Je){let{programConfiguration:et,program:Mt,layoutVertexBuffer:Dt,indexBuffer:Ut,uniformValues:tr,terrainData:mr}=He.state;Mt.draw(Sr,he.TRIANGLES,be,Pe,Oe,Ja.disabled,tr,mr,je.id,Dt,Ut,He.segments,je.paint,se.transform.zoom,et)}})(w,B,Q,ee);break;case\"heatmap\":(function(se,qe,je,it){if(je.paint.get(\"heatmap-opacity\")===0)return;let yt=se.context;if(se.style.map.terrain){for(let Ot of it){let Nt=qe.getTile(Ot);qe.hasRenderableParent(Ot)||(se.renderPass===\"offscreen\"?nh(se,Nt,je,Ot):se.renderPass===\"translucent\"&&hf(se,je,Ot))}yt.viewport.set([0,0,se.width,se.height])}else se.renderPass===\"offscreen\"?function(Ot,Nt,hr,Sr){let he=Ot.context,be=he.gl,Pe=$o.disabled,Oe=new Ps([be.ONE,be.ONE],a.aM.transparent,[!0,!0,!0,!0]);(function(Je,He,et){let Mt=Je.gl;Je.activeTexture.set(Mt.TEXTURE1),Je.viewport.set([0,0,He.width/4,He.height/4]);let Dt=et.heatmapFbos.get(a.aU);Dt?(Mt.bindTexture(Mt.TEXTURE_2D,Dt.colorAttachment.get()),Je.bindFramebuffer.set(Dt.framebuffer)):(Dt=kh(Je,He.width/4,He.height/4),et.heatmapFbos.set(a.aU,Dt))})(he,Ot,hr),he.clear({color:a.aM.transparent});for(let Je=0;Je<Sr.length;Je++){let He=Sr[Je];if(Nt.hasRenderableParent(He))continue;let et=Nt.getTile(He),Mt=et.getBucket(hr);if(!Mt)continue;let Dt=Mt.programConfigurations.get(hr.id),Ut=Ot.useProgram(\"heatmap\",Dt),{zoom:tr}=Ot.transform;Ut.draw(he,be.TRIANGLES,wo.disabled,Pe,Oe,Ja.disabled,xo(He.posMatrix,et,tr,hr.paint.get(\"heatmap-intensity\")),null,hr.id,Mt.layoutVertexBuffer,Mt.indexBuffer,Mt.segments,hr.paint,Ot.transform.zoom,Dt)}he.viewport.set([0,0,Ot.width,Ot.height])}(se,qe,je,it):se.renderPass===\"translucent\"&&function(Ot,Nt){let hr=Ot.context,Sr=hr.gl;hr.setColorMode(Ot.colorModeForRenderPass());let he=Nt.heatmapFbos.get(a.aU);he&&(hr.activeTexture.set(Sr.TEXTURE0),Sr.bindTexture(Sr.TEXTURE_2D,he.colorAttachment.get()),hr.activeTexture.set(Sr.TEXTURE1),Kh(hr,Nt).bind(Sr.LINEAR,Sr.CLAMP_TO_EDGE),Ot.useProgram(\"heatmapTexture\").draw(hr,Sr.TRIANGLES,wo.disabled,$o.disabled,Ot.colorModeForRenderPass(),Ja.disabled,zs(Ot,Nt,0,1),null,Nt.id,Ot.viewportBuffer,Ot.quadTriangleIndexBuffer,Ot.viewportSegments,Nt.paint,Ot.transform.zoom))}(se,je)})(w,B,Q,ee);break;case\"line\":(function(se,qe,je,it){if(se.renderPass!==\"translucent\")return;let yt=je.paint.get(\"line-opacity\"),Ot=je.paint.get(\"line-width\");if(yt.constantOr(1)===0||Ot.constantOr(1)===0)return;let Nt=se.depthModeForSublayer(0,wo.ReadOnly),hr=se.colorModeForRenderPass(),Sr=je.paint.get(\"line-dasharray\"),he=je.paint.get(\"line-pattern\"),be=he.constantOr(1),Pe=je.paint.get(\"line-gradient\"),Oe=je.getCrossfadeParameters(),Je=be?\"linePattern\":Sr?\"lineSDF\":Pe?\"lineGradient\":\"line\",He=se.context,et=He.gl,Mt=!0;for(let Dt of it){let Ut=qe.getTile(Dt);if(be&&!Ut.patternsLoaded())continue;let tr=Ut.getBucket(je);if(!tr)continue;let mr=tr.programConfigurations.get(je.id),Rr=se.context.program.get(),zr=se.useProgram(Je,mr),Xr=Mt||zr.program!==Rr,di=se.style.map.terrain&&se.style.map.terrain.getTerrainData(Dt),Li=he.constantOr(null);if(Li&&Ut.imageAtlas){let Mn=Ut.imageAtlas,pa=Mn.patternPositions[Li.to.toString()],ea=Mn.patternPositions[Li.from.toString()];pa&&ea&&mr.setConstantPatternPositions(pa,ea)}let Ci=di?Dt:null,Qi=be?wl(se,Ut,je,Oe,Ci):Sr?os(se,Ut,je,Sr,Oe,Ci):Pe?Xs(se,Ut,je,tr.lineClipsArray.length,Ci):Zs(se,Ut,je,Ci);if(be)He.activeTexture.set(et.TEXTURE0),Ut.imageAtlasTexture.bind(et.LINEAR,et.CLAMP_TO_EDGE),mr.updatePaintBuffers(Oe);else if(Sr&&(Xr||se.lineAtlas.dirty))He.activeTexture.set(et.TEXTURE0),se.lineAtlas.bind(He);else if(Pe){let Mn=tr.gradients[je.id],pa=Mn.texture;if(je.gradientVersion!==Mn.version){let ea=256;if(je.stepInterpolant){let Ga=qe.getSource().maxzoom,To=Dt.canonical.z===Ga?Math.ceil(1<<se.transform.maxZoom-Dt.canonical.z):1;ea=a.ac(a.aV(tr.maxLineLength/a.X*1024*To),256,He.maxTextureSize)}Mn.gradient=a.aW({expression:je.gradientExpression(),evaluationKey:\"lineProgress\",resolution:ea,image:Mn.gradient||void 0,clips:tr.lineClipsArray}),Mn.texture?Mn.texture.update(Mn.gradient):Mn.texture=new g(He,Mn.gradient,et.RGBA),Mn.version=je.gradientVersion,pa=Mn.texture}He.activeTexture.set(et.TEXTURE0),pa.bind(je.stepInterpolant?et.NEAREST:et.LINEAR,et.CLAMP_TO_EDGE)}zr.draw(He,et.TRIANGLES,Nt,se.stencilModeForClipping(Dt),hr,Ja.disabled,Qi,di,je.id,tr.layoutVertexBuffer,tr.indexBuffer,tr.segments,je.paint,se.transform.zoom,mr,tr.layoutVertexBuffer2),Mt=!1}})(w,B,Q,ee);break;case\"fill\":(function(se,qe,je,it){let yt=je.paint.get(\"fill-color\"),Ot=je.paint.get(\"fill-opacity\");if(Ot.constantOr(1)===0)return;let Nt=se.colorModeForRenderPass(),hr=je.paint.get(\"fill-pattern\"),Sr=se.opaquePassEnabledForLayer()&&!hr.constantOr(1)&&yt.constantOr(a.aM.transparent).a===1&&Ot.constantOr(0)===1?\"opaque\":\"translucent\";if(se.renderPass===Sr){let he=se.depthModeForSublayer(1,se.renderPass===\"opaque\"?wo.ReadWrite:wo.ReadOnly);ah(se,qe,je,it,he,Nt,!1)}if(se.renderPass===\"translucent\"&&je.paint.get(\"fill-antialias\")){let he=se.depthModeForSublayer(je.getPaintProperty(\"fill-outline-color\")?2:0,wo.ReadOnly);ah(se,qe,je,it,he,Nt,!0)}})(w,B,Q,ee);break;case\"fill-extrusion\":(function(se,qe,je,it){let yt=je.paint.get(\"fill-extrusion-opacity\");if(yt!==0&&se.renderPass===\"translucent\"){let Ot=new wo(se.context.gl.LEQUAL,wo.ReadWrite,se.depthRangeFor3D);if(yt!==1||je.paint.get(\"fill-extrusion-pattern\").constantOr(1))Wc(se,qe,je,it,Ot,$o.disabled,Ps.disabled),Wc(se,qe,je,it,Ot,se.stencilModeFor3D(),se.colorModeForRenderPass());else{let Nt=se.colorModeForRenderPass();Wc(se,qe,je,it,Ot,$o.disabled,Nt)}}})(w,B,Q,ee);break;case\"hillshade\":(function(se,qe,je,it){if(se.renderPass!==\"offscreen\"&&se.renderPass!==\"translucent\")return;let yt=se.context,Ot=se.depthModeForSublayer(0,wo.ReadOnly),Nt=se.colorModeForRenderPass(),[hr,Sr]=se.renderPass===\"translucent\"?se.stencilConfigForOverlap(it):[{},it];for(let he of Sr){let be=qe.getTile(he);be.needsHillshadePrepare!==void 0&&be.needsHillshadePrepare&&se.renderPass===\"offscreen\"?Cu(se,be,je,Ot,$o.disabled,Nt):se.renderPass===\"translucent\"&&df(se,he,be,je,Ot,hr[he.overscaledZ],Nt)}yt.viewport.set([0,0,se.width,se.height])})(w,B,Q,ee);break;case\"raster\":(function(se,qe,je,it){if(se.renderPass!==\"translucent\"||je.paint.get(\"raster-opacity\")===0||!it.length)return;let yt=se.context,Ot=yt.gl,Nt=qe.getSource(),hr=se.useProgram(\"raster\"),Sr=se.colorModeForRenderPass(),[he,be]=Nt instanceof Rt?[{},it]:se.stencilConfigForOverlap(it),Pe=be[be.length-1].overscaledZ,Oe=!se.options.moving;for(let Je of be){let He=se.depthModeForSublayer(Je.overscaledZ-Pe,je.paint.get(\"raster-opacity\")===1?wo.ReadWrite:wo.ReadOnly,Ot.LESS),et=qe.getTile(Je);et.registerFadeDuration(je.paint.get(\"raster-fade-duration\"));let Mt=qe.findLoadedParent(Je,0),Dt=qe.findLoadedSibling(Je),Ut=Nf(et,Mt||Dt||null,qe,je,se.transform,se.style.map.terrain),tr,mr,Rr=je.paint.get(\"raster-resampling\")===\"nearest\"?Ot.NEAREST:Ot.LINEAR;yt.activeTexture.set(Ot.TEXTURE0),et.texture.bind(Rr,Ot.CLAMP_TO_EDGE,Ot.LINEAR_MIPMAP_NEAREST),yt.activeTexture.set(Ot.TEXTURE1),Mt?(Mt.texture.bind(Rr,Ot.CLAMP_TO_EDGE,Ot.LINEAR_MIPMAP_NEAREST),tr=Math.pow(2,Mt.tileID.overscaledZ-et.tileID.overscaledZ),mr=[et.tileID.canonical.x*tr%1,et.tileID.canonical.y*tr%1]):et.texture.bind(Rr,Ot.CLAMP_TO_EDGE,Ot.LINEAR_MIPMAP_NEAREST),et.texture.useMipmap&&yt.extTextureFilterAnisotropic&&se.transform.pitch>20&&Ot.texParameterf(Ot.TEXTURE_2D,yt.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,yt.extTextureFilterAnisotropicMax);let zr=se.style.map.terrain&&se.style.map.terrain.getTerrainData(Je),Xr=zr?Je:null,di=Xr?Xr.posMatrix:se.transform.calculatePosMatrix(Je.toUnwrapped(),Oe),Li=ml(di,mr||[0,0],tr||1,Ut,je);Nt instanceof Rt?hr.draw(yt,Ot.TRIANGLES,He,$o.disabled,Sr,Ja.disabled,Li,zr,je.id,Nt.boundsBuffer,se.quadTriangleIndexBuffer,Nt.boundsSegments):hr.draw(yt,Ot.TRIANGLES,He,he[Je.overscaledZ],Sr,Ja.disabled,Li,zr,je.id,se.rasterBoundsBuffer,se.quadTriangleIndexBuffer,se.rasterBoundsSegments)}})(w,B,Q,ee);break;case\"background\":(function(se,qe,je,it){let yt=je.paint.get(\"background-color\"),Ot=je.paint.get(\"background-opacity\");if(Ot===0)return;let Nt=se.context,hr=Nt.gl,Sr=se.transform,he=Sr.tileSize,be=je.paint.get(\"background-pattern\");if(se.isPatternMissing(be))return;let Pe=!be&&yt.a===1&&Ot===1&&se.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(se.renderPass!==Pe)return;let Oe=$o.disabled,Je=se.depthModeForSublayer(0,Pe===\"opaque\"?wo.ReadWrite:wo.ReadOnly),He=se.colorModeForRenderPass(),et=se.useProgram(be?\"backgroundPattern\":\"background\"),Mt=it||Sr.coveringTiles({tileSize:he,terrain:se.style.map.terrain});be&&(Nt.activeTexture.set(hr.TEXTURE0),se.imageManager.bind(se.context));let Dt=je.getCrossfadeParameters();for(let Ut of Mt){let tr=it?Ut.posMatrix:se.transform.calculatePosMatrix(Ut.toUnwrapped()),mr=be?Hu(tr,Ot,se,be,{tileID:Ut,tileSize:he},Dt):Ql(tr,Ot,yt),Rr=se.style.map.terrain&&se.style.map.terrain.getTerrainData(Ut);et.draw(Nt,hr.TRIANGLES,Je,Oe,He,Ja.disabled,mr,Rr,je.id,se.tileExtentBuffer,se.quadTriangleIndexBuffer,se.tileExtentSegments)}})(w,0,Q,ee);break;case\"custom\":(function(se,qe,je){let it=se.context,yt=je.implementation;if(se.renderPass===\"offscreen\"){let Ot=yt.prerender;Ot&&(se.setCustomLayerDefaults(),it.setColorMode(se.colorModeForRenderPass()),Ot.call(yt,it.gl,se.transform.customLayerMatrix()),it.setDirty(),se.setBaseState())}else if(se.renderPass===\"translucent\"){se.setCustomLayerDefaults(),it.setColorMode(se.colorModeForRenderPass()),it.setStencilMode($o.disabled);let Ot=yt.renderingMode===\"3d\"?new wo(se.context.gl.LEQUAL,wo.ReadWrite,se.depthRangeFor3D):se.depthModeForSublayer(0,wo.ReadOnly);it.setDepthMode(Ot),yt.render(it.gl,se.transform.customLayerMatrix(),{farZ:se.transform.farZ,nearZ:se.transform.nearZ,fov:se.transform._fov,modelViewProjectionMatrix:se.transform.modelViewProjectionMatrix,projectionMatrix:se.transform.projectionMatrix}),it.setDirty(),se.setBaseState(),it.bindFramebuffer.set(null)}})(w,0,Q)}}translatePosMatrix(w,B,Q,ee,se){if(!Q[0]&&!Q[1])return w;let qe=se?ee===\"map\"?this.transform.angle:0:ee===\"viewport\"?-this.transform.angle:0;if(qe){let yt=Math.sin(qe),Ot=Math.cos(qe);Q=[Q[0]*Ot-Q[1]*yt,Q[0]*yt+Q[1]*Ot]}let je=[se?Q[0]:nn(B,Q[0],this.transform.zoom),se?Q[1]:nn(B,Q[1],this.transform.zoom),0],it=new Float32Array(16);return a.J(it,w,je),it}saveTileTexture(w){let B=this._tileTextures[w.size[0]];B?B.push(w):this._tileTextures[w.size[0]]=[w]}getTileTexture(w){let B=this._tileTextures[w];return B&&B.length>0?B.pop():null}isPatternMissing(w){if(!w)return!1;if(!w.from||!w.to)return!0;let B=this.imageManager.getPattern(w.from.toString()),Q=this.imageManager.getPattern(w.to.toString());return!B||!Q}useProgram(w,B){this.cache=this.cache||{};let Q=w+(B?B.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\")+(this.style.map.terrain?\"/terrain\":\"\");return this.cache[Q]||(this.cache[Q]=new zi(this.context,xn[w],B,fc[w],this._showOverdrawInspector,this.style.map.terrain)),this.cache[Q]}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(){let w=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(w.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new g(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:w,drawingBufferHeight:B}=this.context.gl;return this.width!==w||this.height!==B}}class fl{constructor(w,B){this.points=w,this.planes=B}static fromInvProjectionMatrix(w,B,Q){let ee=Math.pow(2,Q),se=[[-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(je=>{let it=1/(je=a.af([],je,w))[3]/B*ee;return a.b1(je,je,[it,it,1/je[3],it])}),qe=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(je=>{let it=function(hr,Sr){var he=Sr[0],be=Sr[1],Pe=Sr[2],Oe=he*he+be*be+Pe*Pe;return Oe>0&&(Oe=1/Math.sqrt(Oe)),hr[0]=Sr[0]*Oe,hr[1]=Sr[1]*Oe,hr[2]=Sr[2]*Oe,hr}([],function(hr,Sr,he){var be=Sr[0],Pe=Sr[1],Oe=Sr[2],Je=he[0],He=he[1],et=he[2];return hr[0]=Pe*et-Oe*He,hr[1]=Oe*Je-be*et,hr[2]=be*He-Pe*Je,hr}([],L([],se[je[0]],se[je[1]]),L([],se[je[2]],se[je[1]]))),yt=-((Ot=it)[0]*(Nt=se[je[1]])[0]+Ot[1]*Nt[1]+Ot[2]*Nt[2]);var Ot,Nt;return it.concat(yt)});return new fl(se,qe)}}class Xc{constructor(w,B){this.min=w,this.max=B,this.center=function(Q,ee,se){return Q[0]=.5*ee[0],Q[1]=.5*ee[1],Q[2]=.5*ee[2],Q}([],function(Q,ee,se){return Q[0]=ee[0]+se[0],Q[1]=ee[1]+se[1],Q[2]=ee[2]+se[2],Q}([],this.min,this.max))}quadrant(w){let B=[w%2==0,w<2],Q=k(this.min),ee=k(this.max);for(let se=0;se<B.length;se++)Q[se]=B[se]?this.min[se]:this.center[se],ee[se]=B[se]?this.center[se]:this.max[se];return ee[2]=this.max[2],new Xc(Q,ee)}distanceX(w){return Math.max(Math.min(this.max[0],w[0]),this.min[0])-w[0]}distanceY(w){return Math.max(Math.min(this.max[1],w[1]),this.min[1])-w[1]}intersects(w){let B=[[this.min[0],this.min[1],this.min[2],1],[this.max[0],this.min[1],this.min[2],1],[this.max[0],this.max[1],this.min[2],1],[this.min[0],this.max[1],this.min[2],1],[this.min[0],this.min[1],this.max[2],1],[this.max[0],this.min[1],this.max[2],1],[this.max[0],this.max[1],this.max[2],1],[this.min[0],this.max[1],this.max[2],1]],Q=!0;for(let ee=0;ee<w.planes.length;ee++){let se=w.planes[ee],qe=0;for(let je=0;je<B.length;je++)a.b2(se,B[je])>=0&&qe++;if(qe===0)return 0;qe!==B.length&&(Q=!1)}if(Q)return 2;for(let ee=0;ee<3;ee++){let se=Number.MAX_VALUE,qe=-Number.MAX_VALUE;for(let je=0;je<w.points.length;je++){let it=w.points[je][ee]-this.min[ee];se=Math.min(se,it),qe=Math.max(qe,it)}if(qe<0||se>this.max[ee]-this.min[ee])return 0}return 1}}class ic{constructor(w=0,B=0,Q=0,ee=0){if(isNaN(w)||w<0||isNaN(B)||B<0||isNaN(Q)||Q<0||isNaN(ee)||ee<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=w,this.bottom=B,this.left=Q,this.right=ee}interpolate(w,B,Q){return B.top!=null&&w.top!=null&&(this.top=a.y.number(w.top,B.top,Q)),B.bottom!=null&&w.bottom!=null&&(this.bottom=a.y.number(w.bottom,B.bottom,Q)),B.left!=null&&w.left!=null&&(this.left=a.y.number(w.left,B.left,Q)),B.right!=null&&w.right!=null&&(this.right=a.y.number(w.right,B.right,Q)),this}getCenter(w,B){let Q=a.ac((this.left+w-this.right)/2,0,w),ee=a.ac((this.top+B-this.bottom)/2,0,B);return new a.P(Q,ee)}equals(w){return this.top===w.top&&this.bottom===w.bottom&&this.left===w.left&&this.right===w.right}clone(){return new ic(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}let yu=85.051129;class Qs{constructor(w,B,Q,ee,se){this.tileSize=512,this._renderWorldCopies=se===void 0||!!se,this._minZoom=w||0,this._maxZoom=B||22,this._minPitch=Q==null?0:Q,this._maxPitch=ee==null?60:ee,this.setMaxBounds(),this.width=0,this.height=0,this._center=new a.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new ic,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){let w=new Qs(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return w.apply(this),w}apply(w){this.tileSize=w.tileSize,this.latRange=w.latRange,this.lngRange=w.lngRange,this.width=w.width,this.height=w.height,this._center=w._center,this._elevation=w._elevation,this.minElevationForCurrentTile=w.minElevationForCurrentTile,this.zoom=w.zoom,this.angle=w.angle,this._fov=w._fov,this._pitch=w._pitch,this._unmodified=w._unmodified,this._edgeInsets=w._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(w){this._minZoom!==w&&(this._minZoom=w,this.zoom=Math.max(this.zoom,w))}get maxZoom(){return this._maxZoom}set maxZoom(w){this._maxZoom!==w&&(this._maxZoom=w,this.zoom=Math.min(this.zoom,w))}get minPitch(){return this._minPitch}set minPitch(w){this._minPitch!==w&&(this._minPitch=w,this.pitch=Math.max(this.pitch,w))}get maxPitch(){return this._maxPitch}set maxPitch(w){this._maxPitch!==w&&(this._maxPitch=w,this.pitch=Math.min(this.pitch,w))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(w){w===void 0?w=!0:w===null&&(w=!1),this._renderWorldCopies=w}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new a.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(w){let B=-a.b3(w,-180,180)*Math.PI/180;this.angle!==B&&(this._unmodified=!1,this.angle=B,this._calcMatrices(),this.rotationMatrix=function(){var Q=new a.A(4);return a.A!=Float32Array&&(Q[1]=0,Q[2]=0),Q[0]=1,Q[3]=1,Q}(),function(Q,ee,se){var qe=ee[0],je=ee[1],it=ee[2],yt=ee[3],Ot=Math.sin(se),Nt=Math.cos(se);Q[0]=qe*Nt+it*Ot,Q[1]=je*Nt+yt*Ot,Q[2]=qe*-Ot+it*Nt,Q[3]=je*-Ot+yt*Nt}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(w){let B=a.ac(w,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==B&&(this._unmodified=!1,this._pitch=B,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(w){w=Math.max(.01,Math.min(60,w)),this._fov!==w&&(this._unmodified=!1,this._fov=w/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(w){let B=Math.min(Math.max(w,this.minZoom),this.maxZoom);this._zoom!==B&&(this._unmodified=!1,this._zoom=B,this.tileZoom=Math.max(0,Math.floor(B)),this.scale=this.zoomScale(B),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(w){w.lat===this._center.lat&&w.lng===this._center.lng||(this._unmodified=!1,this._center=w,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(w){w!==this._elevation&&(this._elevation=w,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(w){this._edgeInsets.equals(w)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,w,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(w){return this._edgeInsets.equals(w)}interpolatePadding(w,B,Q){this._unmodified=!1,this._edgeInsets.interpolate(w,B,Q),this._constrain(),this._calcMatrices()}coveringZoomLevel(w){let B=(w.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/w.tileSize));return Math.max(0,B)}getVisibleUnwrappedCoordinates(w){let B=[new a.b4(0,w)];if(this._renderWorldCopies){let Q=this.pointCoordinate(new a.P(0,0)),ee=this.pointCoordinate(new a.P(this.width,0)),se=this.pointCoordinate(new a.P(this.width,this.height)),qe=this.pointCoordinate(new a.P(0,this.height)),je=Math.floor(Math.min(Q.x,ee.x,se.x,qe.x)),it=Math.floor(Math.max(Q.x,ee.x,se.x,qe.x)),yt=1;for(let Ot=je-yt;Ot<=it+yt;Ot++)Ot!==0&&B.push(new a.b4(Ot,w))}return B}coveringTiles(w){var B,Q;let ee=this.coveringZoomLevel(w),se=ee;if(w.minzoom!==void 0&&ee<w.minzoom)return[];w.maxzoom!==void 0&&ee>w.maxzoom&&(ee=w.maxzoom);let qe=this.pointCoordinate(this.getCameraPoint()),je=a.Z.fromLngLat(this.center),it=Math.pow(2,ee),yt=[it*qe.x,it*qe.y,0],Ot=[it*je.x,it*je.y,0],Nt=fl.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,ee),hr=w.minzoom||0;!w.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(hr=ee);let Sr=w.terrain?2/Math.min(this.tileSize,w.tileSize)*this.tileSize:3,he=He=>({aabb:new Xc([He*it,0,0],[(He+1)*it,it,0]),zoom:0,x:0,y:0,wrap:He,fullyVisible:!1}),be=[],Pe=[],Oe=ee,Je=w.reparseOverscaled?se:ee;if(this._renderWorldCopies)for(let He=1;He<=3;He++)be.push(he(-He)),be.push(he(He));for(be.push(he(0));be.length>0;){let He=be.pop(),et=He.x,Mt=He.y,Dt=He.fullyVisible;if(!Dt){let zr=He.aabb.intersects(Nt);if(zr===0)continue;Dt=zr===2}let Ut=w.terrain?yt:Ot,tr=He.aabb.distanceX(Ut),mr=He.aabb.distanceY(Ut),Rr=Math.max(Math.abs(tr),Math.abs(mr));if(He.zoom===Oe||Rr>Sr+(1<<Oe-He.zoom)-2&&He.zoom>=hr){let zr=Oe-He.zoom,Xr=yt[0]-.5-(et<<zr),di=yt[1]-.5-(Mt<<zr);Pe.push({tileID:new a.S(He.zoom===Oe?Je:He.zoom,He.wrap,He.zoom,et,Mt),distanceSq:_([Ot[0]-.5-et,Ot[1]-.5-Mt]),tileDistanceToCamera:Math.sqrt(Xr*Xr+di*di)})}else for(let zr=0;zr<4;zr++){let Xr=(et<<1)+zr%2,di=(Mt<<1)+(zr>>1),Li=He.zoom+1,Ci=He.aabb.quadrant(zr);if(w.terrain){let Qi=new a.S(Li,He.wrap,Li,Xr,di),Mn=w.terrain.getMinMaxElevation(Qi),pa=(B=Mn.minElevation)!==null&&B!==void 0?B:this.elevation,ea=(Q=Mn.maxElevation)!==null&&Q!==void 0?Q:this.elevation;Ci=new Xc([Ci.min[0],Ci.min[1],pa],[Ci.max[0],Ci.max[1],ea])}be.push({aabb:Ci,zoom:Li,x:Xr,y:di,wrap:He.wrap,fullyVisible:Dt})}}return Pe.sort((He,et)=>He.distanceSq-et.distanceSq).map(He=>He.tileID)}resize(w,B){this.width=w,this.height=B,this.pixelsToGLUnits=[2/w,-2/B],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(w){return Math.pow(2,w)}scaleZoom(w){return Math.log(w)/Math.LN2}project(w){let B=a.ac(w.lat,-85.051129,yu);return new a.P(a.O(w.lng)*this.worldSize,a.Q(B)*this.worldSize)}unproject(w){return new a.Z(w.x/this.worldSize,w.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(w){let B=this.elevation,Q=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,ee=this.pointLocation(this.centerPoint,w),se=w.getElevationForLngLatZoom(ee,this.tileZoom);if(!(this.elevation-se))return;let qe=Q+B-se,je=Math.cos(this._pitch)*this.cameraToCenterDistance/qe/a.b5(1,ee.lat),it=this.scaleZoom(je/this.tileSize);this._elevation=se,this._center=ee,this.zoom=it}setLocationAtPoint(w,B){let Q=this.pointCoordinate(B),ee=this.pointCoordinate(this.centerPoint),se=this.locationCoordinate(w),qe=new a.Z(se.x-(Q.x-ee.x),se.y-(Q.y-ee.y));this.center=this.coordinateLocation(qe),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(w,B){return B?this.coordinatePoint(this.locationCoordinate(w),B.getElevationForLngLatZoom(w,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(w))}pointLocation(w,B){return this.coordinateLocation(this.pointCoordinate(w,B))}locationCoordinate(w){return a.Z.fromLngLat(w)}coordinateLocation(w){return w&&w.toLngLat()}pointCoordinate(w,B){if(B){let hr=B.pointCoordinate(w);if(hr!=null)return hr}let Q=[w.x,w.y,0,1],ee=[w.x,w.y,1,1];a.af(Q,Q,this.pixelMatrixInverse),a.af(ee,ee,this.pixelMatrixInverse);let se=Q[3],qe=ee[3],je=Q[1]/se,it=ee[1]/qe,yt=Q[2]/se,Ot=ee[2]/qe,Nt=yt===Ot?0:(0-yt)/(Ot-yt);return new a.Z(a.y.number(Q[0]/se,ee[0]/qe,Nt)/this.worldSize,a.y.number(je,it,Nt)/this.worldSize)}coordinatePoint(w,B=0,Q=this.pixelMatrix){let ee=[w.x*this.worldSize,w.y*this.worldSize,B,1];return a.af(ee,ee,Q),new a.P(ee[0]/ee[3],ee[1]/ee[3])}getBounds(){let w=Math.max(0,this.height/2-this.getHorizon());return new ce().extend(this.pointLocation(new a.P(0,w))).extend(this.pointLocation(new a.P(this.width,w))).extend(this.pointLocation(new a.P(this.width,this.height))).extend(this.pointLocation(new a.P(0,this.height)))}getMaxBounds(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new ce([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(w){w?(this.lngRange=[w.getWest(),w.getEast()],this.latRange=[w.getSouth(),w.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,yu])}calculateTileMatrix(w){let B=w.canonical,Q=this.worldSize/this.zoomScale(B.z),ee=B.x+Math.pow(2,B.z)*w.wrap,se=a.an(new Float64Array(16));return a.J(se,se,[ee*Q,B.y*Q,0]),a.K(se,se,[Q/a.X,Q/a.X,1]),se}calculatePosMatrix(w,B=!1){let Q=w.key,ee=B?this._alignedPosMatrixCache:this._posMatrixCache;if(ee[Q])return ee[Q];let se=this.calculateTileMatrix(w);return a.L(se,B?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,se),ee[Q]=new Float32Array(se),ee[Q]}calculateFogMatrix(w){let B=w.key,Q=this._fogMatrixCache;if(Q[B])return Q[B];let ee=this.calculateTileMatrix(w);return a.L(ee,this.fogMatrix,ee),Q[B]=new Float32Array(ee),Q[B]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(w,B){B=a.ac(+B,this.minZoom,this.maxZoom);let Q={center:new a.N(w.lng,w.lat),zoom:B},ee=this.lngRange;if(!this._renderWorldCopies&&ee===null){let He=179.9999999999;ee=[-He,He]}let se=this.tileSize*this.zoomScale(Q.zoom),qe=0,je=se,it=0,yt=se,Ot=0,Nt=0,{x:hr,y:Sr}=this.size;if(this.latRange){let He=this.latRange;qe=a.Q(He[1])*se,je=a.Q(He[0])*se,je-qe<Sr&&(Ot=Sr/(je-qe))}ee&&(it=a.b3(a.O(ee[0])*se,0,se),yt=a.b3(a.O(ee[1])*se,0,se),yt<it&&(yt+=se),yt-it<hr&&(Nt=hr/(yt-it)));let{x:he,y:be}=this.project.call({worldSize:se},w),Pe,Oe,Je=Math.max(Nt||0,Ot||0);if(Je){let He=new a.P(Nt?(yt+it)/2:he,Ot?(je+qe)/2:be);return Q.center=this.unproject.call({worldSize:se},He).wrap(),Q.zoom+=this.scaleZoom(Je),Q}if(this.latRange){let He=Sr/2;be-He<qe&&(Oe=qe+He),be+He>je&&(Oe=je-He)}if(ee){let He=(it+yt)/2,et=he;this._renderWorldCopies&&(et=a.b3(he,He-se/2,He+se/2));let Mt=hr/2;et-Mt<it&&(Pe=it+Mt),et+Mt>yt&&(Pe=yt-Mt)}if(Pe!==void 0||Oe!==void 0){let He=new a.P(Pe!=null?Pe:he,Oe!=null?Oe:be);Q.center=this.unproject.call({worldSize:se},He).wrap()}return Q}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let w=this._unmodified,{center:B,zoom:Q}=this.getConstrained(this.center,this.zoom);this.center=B,this.zoom=Q,this._unmodified=w,this._constraining=!1}_calcMatrices(){if(!this.height)return;let w=this.centerOffset,B=this.point.x,Q=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=a.b5(1,this.center.lat)*this.worldSize;let ee=a.an(new Float64Array(16));a.K(ee,ee,[this.width/2,-this.height/2,1]),a.J(ee,ee,[1,-1,0]),this.labelPlaneMatrix=ee,ee=a.an(new Float64Array(16)),a.K(ee,ee,[1,-1,1]),a.J(ee,ee,[-1,-1,0]),a.K(ee,ee,[2/this.width,2/this.height,1]),this.glCoordMatrix=ee;let se=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),qe=Math.min(this.elevation,this.minElevationForCurrentTile),je=se-qe*this._pixelPerMeter/Math.cos(this._pitch),it=qe<0?je:se,yt=Math.PI/2+this._pitch,Ot=this._fov*(.5+w.y/this.height),Nt=Math.sin(Ot)*it/Math.sin(a.ac(Math.PI-yt-Ot,.01,Math.PI-.01)),hr=this.getHorizon(),Sr=2*Math.atan(hr/this.cameraToCenterDistance)*(.5+w.y/(2*hr)),he=Math.sin(Sr)*it/Math.sin(a.ac(Math.PI-yt-Sr,.01,Math.PI-.01)),be=Math.min(Nt,he);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*be+it),this.nearZ=this.height/50,ee=new Float64Array(16),a.b6(ee,this._fov,this.width/this.height,this.nearZ,this.farZ),ee[8]=2*-w.x/this.width,ee[9]=2*w.y/this.height,this.projectionMatrix=a.ae(ee),a.K(ee,ee,[1,-1,1]),a.J(ee,ee,[0,0,-this.cameraToCenterDistance]),a.b7(ee,ee,this._pitch),a.ad(ee,ee,this.angle),a.J(ee,ee,[-B,-Q,0]),this.mercatorMatrix=a.K([],ee,[this.worldSize,this.worldSize,this.worldSize]),a.K(ee,ee,[1,1,this._pixelPerMeter]),this.pixelMatrix=a.L(new Float64Array(16),this.labelPlaneMatrix,ee),a.J(ee,ee,[0,0,-this.elevation]),this.modelViewProjectionMatrix=ee,this.invModelViewProjectionMatrix=a.as([],ee),this.fogMatrix=new Float64Array(16),a.b6(this.fogMatrix,this._fov,this.width/this.height,se,this.farZ),this.fogMatrix[8]=2*-w.x/this.width,this.fogMatrix[9]=2*w.y/this.height,a.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),a.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),a.b7(this.fogMatrix,this.fogMatrix,this._pitch),a.ad(this.fogMatrix,this.fogMatrix,this.angle),a.J(this.fogMatrix,this.fogMatrix,[-B,-Q,0]),a.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),a.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=a.L(new Float64Array(16),this.labelPlaneMatrix,ee);let Pe=this.width%2/2,Oe=this.height%2/2,Je=Math.cos(this.angle),He=Math.sin(this.angle),et=B-Math.round(B)+Je*Pe+He*Oe,Mt=Q-Math.round(Q)+Je*Oe+He*Pe,Dt=new Float64Array(ee);if(a.J(Dt,Dt,[et>.5?et-1:et,Mt>.5?Mt-1:Mt,0]),this.alignedModelViewProjectionMatrix=Dt,ee=a.as(new Float64Array(16),this.pixelMatrix),!ee)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=ee,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let w=this.pointCoordinate(new a.P(0,0)),B=[w.x*this.worldSize,w.y*this.worldSize,0,1];return a.af(B,B,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let w=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new a.P(0,w))}getCameraQueryGeometry(w){let B=this.getCameraPoint();if(w.length===1)return[w[0],B];{let Q=B.x,ee=B.y,se=B.x,qe=B.y;for(let je of w)Q=Math.min(Q,je.x),ee=Math.min(ee,je.y),se=Math.max(se,je.x),qe=Math.max(qe,je.y);return[new a.P(Q,ee),new a.P(se,ee),new a.P(se,qe),new a.P(Q,qe),new a.P(Q,ee)]}}lngLatToCameraDepth(w,B){let Q=this.locationCoordinate(w),ee=[Q.x*this.worldSize,Q.y*this.worldSize,B,1];return a.af(ee,ee,this.modelViewProjectionMatrix),ee[2]/ee[3]}}function Qh(le,w){let B,Q=!1,ee=null,se=null,qe=()=>{ee=null,Q&&(le.apply(se,B),ee=setTimeout(qe,w),Q=!1)};return(...je)=>(Q=!0,se=this,B=je,ee||qe(),ee)}class gd{constructor(w){this._getCurrentHash=()=>{let B=window.location.hash.replace(\"#\",\"\");if(this._hashName){let Q;return B.split(\"&\").map(ee=>ee.split(\"=\")).forEach(ee=>{ee[0]===this._hashName&&(Q=ee)}),(Q&&Q[1]||\"\").split(\"/\")}return B.split(\"/\")},this._onHashChange=()=>{let B=this._getCurrentHash();if(B.length>=3&&!B.some(Q=>isNaN(Q))){let Q=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(B[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+B[2],+B[1]],zoom:+B[0],bearing:Q,pitch:+(B[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let B=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,B)},this._removeHash=()=>{let B=this._getCurrentHash();if(B.length===0)return;let Q=B.join(\"/\"),ee=Q;ee.split(\"&\").length>0&&(ee=ee.split(\"&\")[0]),this._hashName&&(ee=`${this._hashName}=${Q}`);let se=window.location.hash.replace(ee,\"\");se.startsWith(\"#&\")?se=se.slice(0,1)+se.slice(2):se===\"#\"&&(se=\"\");let qe=window.location.href.replace(/(#.+)?$/,se);qe=qe.replace(\"&&\",\"&\"),window.history.replaceState(window.history.state,null,qe)},this._updateHash=Qh(this._updateHashUnthrottled,300),this._hashName=w&&encodeURIComponent(w)}addTo(w){return this._map=w,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(w){let B=this._map.getCenter(),Q=Math.round(100*this._map.getZoom())/100,ee=Math.ceil((Q*Math.LN2+Math.log(512/360/.5))/Math.LN10),se=Math.pow(10,ee),qe=Math.round(B.lng*se)/se,je=Math.round(B.lat*se)/se,it=this._map.getBearing(),yt=this._map.getPitch(),Ot=\"\";if(Ot+=w?`/${qe}/${je}/${Q}`:`${Q}/${je}/${qe}`,(it||yt)&&(Ot+=\"/\"+Math.round(10*it)/10),yt&&(Ot+=`/${Math.round(yt)}`),this._hashName){let Nt=this._hashName,hr=!1,Sr=window.location.hash.slice(1).split(\"&\").map(he=>{let be=he.split(\"=\")[0];return be===Nt?(hr=!0,`${be}=${Ot}`):he}).filter(he=>he);return hr||Sr.push(`${Nt}=${Ot}`),`#${Sr.join(\"&\")}`}return`#${Ot}`}}let Gu={linearity:.3,easing:a.b8(0,0,.3,1)},Pc=a.e({deceleration:2500,maxSpeed:1400},Gu),vc=a.e({deceleration:20,maxSpeed:1400},Gu),sv=a.e({deceleration:1e3,maxSpeed:360},Gu),Lf=a.e({deceleration:1e3,maxSpeed:90},Gu);class Uf{constructor(w){this._map=w,this.clear()}clear(){this._inertiaBuffer=[]}record(w){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:u.now(),settings:w})}_drainInertiaBuffer(){let w=this._inertiaBuffer,B=u.now();for(;w.length>0&&B-w[0].time>160;)w.shift()}_onMoveEnd(w){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let B={zoom:0,bearing:0,pitch:0,pan:new a.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:se}of this._inertiaBuffer)B.zoom+=se.zoomDelta||0,B.bearing+=se.bearingDelta||0,B.pitch+=se.pitchDelta||0,se.panDelta&&B.pan._add(se.panDelta),se.around&&(B.around=se.around),se.pinchAround&&(B.pinchAround=se.pinchAround);let Q=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,ee={};if(B.pan.mag()){let se=oh(B.pan.mag(),Q,a.e({},Pc,w||{}));ee.offset=B.pan.mult(se.amount/B.pan.mag()),ee.center=this._map.transform.center,Iu(ee,se)}if(B.zoom){let se=oh(B.zoom,Q,vc);ee.zoom=this._map.transform.zoom+se.amount,Iu(ee,se)}if(B.bearing){let se=oh(B.bearing,Q,sv);ee.bearing=this._map.transform.bearing+a.ac(se.amount,-179,179),Iu(ee,se)}if(B.pitch){let se=oh(B.pitch,Q,Lf);ee.pitch=this._map.transform.pitch+se.amount,Iu(ee,se)}if(ee.zoom||ee.bearing){let se=B.pinchAround===void 0?B.around:B.pinchAround;ee.around=se?this._map.unproject(se):this._map.getCenter()}return this.clear(),a.e(ee,{noMoveStart:!0})}}function Iu(le,w){(!le.duration||le.duration<w.duration)&&(le.duration=w.duration,le.easing=w.easing)}function oh(le,w,B){let{maxSpeed:Q,linearity:ee,deceleration:se}=B,qe=a.ac(le*ee/(w/1e3),-Q,Q),je=Math.abs(qe)/(se*ee);return{easing:B.easing,duration:1e3*je,amount:qe*(je/2)}}class ru extends a.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(w,B,Q,ee={}){let se=c.mousePos(B.getCanvas(),Q),qe=B.unproject(se);super(w,a.e({point:se,lngLat:qe,originalEvent:Q},ee)),this._defaultPrevented=!1,this.target=B}}class vf extends a.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(w,B,Q){let ee=w===\"touchend\"?Q.changedTouches:Q.touches,se=c.touchPos(B.getCanvasContainer(),ee),qe=se.map(it=>B.unproject(it)),je=se.reduce((it,yt,Ot,Nt)=>it.add(yt.div(Nt.length)),new a.P(0,0));super(w,{points:se,point:je,lngLats:qe,lngLat:B.unproject(je),originalEvent:Q}),this._defaultPrevented=!1}}class md extends a.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(w,B,Q){super(w,{originalEvent:Q}),this._defaultPrevented=!1}}class sh{constructor(w,B){this._map=w,this._clickTolerance=B.clickTolerance}reset(){delete this._mousedownPos}wheel(w){return this._firePreventable(new md(w.type,this._map,w))}mousedown(w,B){return this._mousedownPos=B,this._firePreventable(new ru(w.type,this._map,w))}mouseup(w){this._map.fire(new ru(w.type,this._map,w))}click(w,B){this._mousedownPos&&this._mousedownPos.dist(B)>=this._clickTolerance||this._map.fire(new ru(w.type,this._map,w))}dblclick(w){return this._firePreventable(new ru(w.type,this._map,w))}mouseover(w){this._map.fire(new ru(w.type,this._map,w))}mouseout(w){this._map.fire(new ru(w.type,this._map,w))}touchstart(w){return this._firePreventable(new vf(w.type,this._map,w))}touchmove(w){this._map.fire(new vf(w.type,this._map,w))}touchend(w){this._map.fire(new vf(w.type,this._map,w))}touchcancel(w){this._map.fire(new vf(w.type,this._map,w))}_firePreventable(w){if(this._map.fire(w),w.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Fs{constructor(w){this._map=w}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(w){this._map.fire(new ru(w.type,this._map,w))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new ru(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(w){this._delayContextMenu?this._contextMenuEvent=w:this._ignoreContextMenu||this._map.fire(new ru(w.type,this._map,w)),this._map.listens(\"contextmenu\")&&w.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class _u{constructor(w){this._map=w}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(w){return this.transform.pointLocation(a.P.convert(w),this._map.terrain)}}class xu{constructor(w,B){this._map=w,this._tr=new _u(w),this._el=w.getCanvasContainer(),this._container=w.getContainer(),this._clickTolerance=B.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(w,B){this.isEnabled()&&w.shiftKey&&w.button===0&&(c.disableDrag(),this._startPos=this._lastPos=B,this._active=!0)}mousemoveWindow(w,B){if(!this._active)return;let Q=B;if(this._lastPos.equals(Q)||!this._box&&Q.dist(this._startPos)<this._clickTolerance)return;let ee=this._startPos;this._lastPos=Q,this._box||(this._box=c.create(\"div\",\"maplibregl-boxzoom\",this._container),this._container.classList.add(\"maplibregl-crosshair\"),this._fireEvent(\"boxzoomstart\",w));let se=Math.min(ee.x,Q.x),qe=Math.max(ee.x,Q.x),je=Math.min(ee.y,Q.y),it=Math.max(ee.y,Q.y);c.setTransform(this._box,`translate(${se}px,${je}px)`),this._box.style.width=qe-se+\"px\",this._box.style.height=it-je+\"px\"}mouseupWindow(w,B){if(!this._active||w.button!==0)return;let Q=this._startPos,ee=B;if(this.reset(),c.suppressClick(),Q.x!==ee.x||Q.y!==ee.y)return this._map.fire(new a.k(\"boxzoomend\",{originalEvent:w})),{cameraAnimation:se=>se.fitScreenCoordinates(Q,ee,this._tr.bearing,{linear:!0})};this._fireEvent(\"boxzoomcancel\",w)}keydown(w){this._active&&w.keyCode===27&&(this.reset(),this._fireEvent(\"boxzoomcancel\",w))}reset(){this._active=!1,this._container.classList.remove(\"maplibregl-crosshair\"),this._box&&(c.remove(this._box),this._box=null),c.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(w,B){return this._map.fire(new a.k(w,{originalEvent:B}))}}function Lh(le,w){if(le.length!==w.length)throw new Error(`The number of touches and points are not equal - touches ${le.length}, points ${w.length}`);let B={};for(let Q=0;Q<le.length;Q++)B[le[Q].identifier]=w[Q];return B}class Is{constructor(w){this.reset(),this.numTouches=w.numTouches}reset(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1}touchstart(w,B,Q){(this.centroid||Q.length>this.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=w.timeStamp),Q.length===this.numTouches&&(this.centroid=function(ee){let se=new a.P(0,0);for(let qe of ee)se._add(qe);return se.div(ee.length)}(B),this.touches=Lh(Q,B)))}touchmove(w,B,Q){if(this.aborted||!this.centroid)return;let ee=Lh(Q,B);for(let se in this.touches){let qe=ee[se];(!qe||qe.dist(this.touches[se])>30)&&(this.aborted=!0)}}touchend(w,B,Q){if((!this.centroid||w.timeStamp-this.startTime>500)&&(this.aborted=!0),Q.length===0){let ee=!this.aborted&&this.centroid;if(this.reset(),ee)return ee}}}class Pf{constructor(w){this.singleTap=new Is(w),this.numTaps=w.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(w,B,Q){this.singleTap.touchstart(w,B,Q)}touchmove(w,B,Q){this.singleTap.touchmove(w,B,Q)}touchend(w,B,Q){let ee=this.singleTap.touchend(w,B,Q);if(ee){let se=w.timeStamp-this.lastTime<500,qe=!this.lastTap||this.lastTap.dist(ee)<30;if(se&&qe||this.reset(),this.count++,this.lastTime=w.timeStamp,this.lastTap=ee,this.count===this.numTaps)return this.reset(),ee}}}class Ic{constructor(w){this._tr=new _u(w),this._zoomIn=new Pf({numTouches:1,numTaps:2}),this._zoomOut=new Pf({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(w,B,Q){this._zoomIn.touchstart(w,B,Q),this._zoomOut.touchstart(w,B,Q)}touchmove(w,B,Q){this._zoomIn.touchmove(w,B,Q),this._zoomOut.touchmove(w,B,Q)}touchend(w,B,Q){let ee=this._zoomIn.touchend(w,B,Q),se=this._zoomOut.touchend(w,B,Q),qe=this._tr;return ee?(this._active=!0,w.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:je=>je.easeTo({duration:300,zoom:qe.zoom+1,around:qe.unproject(ee)},{originalEvent:w})}):se?(this._active=!0,w.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:je=>je.easeTo({duration:300,zoom:qe.zoom-1,around:qe.unproject(se)},{originalEvent:w})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class ju{constructor(w){this._enabled=!!w.enable,this._moveStateManager=w.moveStateManager,this._clickTolerance=w.clickTolerance||1,this._moveFunction=w.move,this._activateOnStart=!!w.activateOnStart,w.assignEvents(this),this.reset()}reset(w){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(w)}_move(...w){let B=this._moveFunction(...w);if(B.bearingDelta||B.pitchDelta||B.around||B.panDelta)return this._active=!0,B}dragStart(w,B){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(w)&&(this._moveStateManager.startMove(w),this._lastPoint=B.length?B[0]:B,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(w,B){if(!this.isEnabled())return;let Q=this._lastPoint;if(!Q)return;if(w.preventDefault(),!this._moveStateManager.isValidMoveEvent(w))return void this.reset(w);let ee=B.length?B[0]:B;return!this._moved&&ee.dist(Q)<this._clickTolerance?void 0:(this._moved=!0,this._lastPoint=ee,this._move(Q,ee))}dragEnd(w){this.isEnabled()&&this._lastPoint&&this._moveStateManager.isValidEndEvent(w)&&(this._moved&&c.suppressClick(),this.reset(w))}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}getClickTolerance(){return this._clickTolerance}}let Vf={0:1,2:2};class pc{constructor(w){this._correctEvent=w.checkCorrectEvent}startMove(w){let B=c.mouseButton(w);this._eventButton=B}endMove(w){delete this._eventButton}isValidStartEvent(w){return this._correctEvent(w)}isValidMoveEvent(w){return!function(B,Q){let ee=Vf[Q];return B.buttons===void 0||(B.buttons&ee)!==ee}(w,this._eventButton)}isValidEndEvent(w){return c.mouseButton(w)===this._eventButton}}class pf{constructor(){this._firstTouch=void 0}_isOneFingerTouch(w){return w.targetTouches.length===1}_isSameTouchEvent(w){return w.targetTouches[0].identifier===this._firstTouch}startMove(w){this._firstTouch=w.targetTouches[0].identifier}endMove(w){delete this._firstTouch}isValidStartEvent(w){return this._isOneFingerTouch(w)}isValidMoveEvent(w){return this._isOneFingerTouch(w)&&this._isSameTouchEvent(w)}isValidEndEvent(w){return this._isOneFingerTouch(w)&&this._isSameTouchEvent(w)}}let Ph=le=>{le.mousedown=le.dragStart,le.mousemoveWindow=le.dragMove,le.mouseup=le.dragEnd,le.contextmenu=w=>{w.preventDefault()}},Dl=({enable:le,clickTolerance:w,bearingDegreesPerPixelMoved:B=.8})=>{let Q=new pc({checkCorrectEvent:ee=>c.mouseButton(ee)===0&&ee.ctrlKey||c.mouseButton(ee)===2});return new ju({clickTolerance:w,move:(ee,se)=>({bearingDelta:(se.x-ee.x)*B}),moveStateManager:Q,enable:le,assignEvents:Ph})},Ih=({enable:le,clickTolerance:w,pitchDegreesPerPixelMoved:B=-.5})=>{let Q=new pc({checkCorrectEvent:ee=>c.mouseButton(ee)===0&&ee.ctrlKey||c.mouseButton(ee)===2});return new ju({clickTolerance:w,move:(ee,se)=>({pitchDelta:(se.y-ee.y)*B}),moveStateManager:Q,enable:le,assignEvents:Ph})};class Wu{constructor(w,B){this._clickTolerance=w.clickTolerance||1,this._map=B,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new a.P(0,0)}_shouldBePrevented(w){return w<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(w,B,Q){return this._calculateTransform(w,B,Q)}touchmove(w,B,Q){if(this._active){if(!this._shouldBePrevented(Q.length))return w.preventDefault(),this._calculateTransform(w,B,Q);this._map.cooperativeGestures.notifyGestureBlocked(\"touch_pan\",w)}}touchend(w,B,Q){this._calculateTransform(w,B,Q),this._active&&this._shouldBePrevented(Q.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(w,B,Q){Q.length>0&&(this._active=!0);let ee=Lh(Q,B),se=new a.P(0,0),qe=new a.P(0,0),je=0;for(let yt in ee){let Ot=ee[yt],Nt=this._touches[yt];Nt&&(se._add(Ot),qe._add(Ot.sub(Nt)),je++,ee[yt]=Ot)}if(this._touches=ee,this._shouldBePrevented(je)||!qe.mag())return;let it=qe.div(je);return this._sum._add(it),this._sum.mag()<this._clickTolerance?void 0:{around:se.div(je),panDelta:it}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Rc{constructor(){this.reset()}reset(){this._active=!1,delete this._firstTwoTouches}touchstart(w,B,Q){this._firstTwoTouches||Q.length<2||(this._firstTwoTouches=[Q[0].identifier,Q[1].identifier],this._start([B[0],B[1]]))}touchmove(w,B,Q){if(!this._firstTwoTouches)return;w.preventDefault();let[ee,se]=this._firstTwoTouches,qe=gc(Q,B,ee),je=gc(Q,B,se);if(!qe||!je)return;let it=this._aroundCenter?null:qe.add(je).div(2);return this._move([qe,je],it,w)}touchend(w,B,Q){if(!this._firstTwoTouches)return;let[ee,se]=this._firstTwoTouches,qe=gc(Q,B,ee),je=gc(Q,B,se);qe&&je||(this._active&&c.suppressClick(),this.reset())}touchcancel(){this.reset()}enable(w){this._enabled=!0,this._aroundCenter=!!w&&w.around===\"center\"}disable(){this._enabled=!1,this.reset()}isEnabled(){return!!this._enabled}isActive(){return!!this._active}}function gc(le,w,B){for(let Q=0;Q<le.length;Q++)if(le[Q].identifier===B)return w[Q]}function hl(le,w){return Math.log(le/w)/Math.LN2}class iu extends Rc{reset(){super.reset(),delete this._distance,delete this._startDistance}_start(w){this._startDistance=this._distance=w[0].dist(w[1])}_move(w,B){let Q=this._distance;if(this._distance=w[0].dist(w[1]),this._active||!(Math.abs(hl(this._distance,this._startDistance))<.1))return this._active=!0,{zoomDelta:hl(this._distance,Q),pinchAround:B}}}function mc(le,w){return 180*le.angleWith(w)/Math.PI}class Yc extends Rc{reset(){super.reset(),delete this._minDiameter,delete this._startVector,delete this._vector}_start(w){this._startVector=this._vector=w[0].sub(w[1]),this._minDiameter=w[0].dist(w[1])}_move(w,B,Q){let ee=this._vector;if(this._vector=w[0].sub(w[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:mc(this._vector,ee),pinchAround:B}}_isBelowThreshold(w){this._minDiameter=Math.min(this._minDiameter,w.mag());let B=25/(Math.PI*this._minDiameter)*360,Q=mc(w,this._startVector);return Math.abs(Q)<B}}function nc(le){return Math.abs(le.y)>Math.abs(le.x)}class gf extends Rc{constructor(w){super(),this._currentTouchCount=0,this._map=w}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(w,B,Q){super.touchstart(w,B,Q),this._currentTouchCount=Q.length}_start(w){this._lastPoints=w,nc(w[0].sub(w[1]))&&(this._valid=!1)}_move(w,B,Q){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let ee=w[0].sub(this._lastPoints[0]),se=w[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(ee,se,Q.timeStamp),this._valid?(this._lastPoints=w,this._active=!0,{pitchDelta:(ee.y+se.y)/2*-.5}):void 0}gestureBeginsVertically(w,B,Q){if(this._valid!==void 0)return this._valid;let ee=w.mag()>=2,se=B.mag()>=2;if(!ee&&!se)return;if(!ee||!se)return this._firstMove===void 0&&(this._firstMove=Q),Q-this._firstMove<100&&void 0;let qe=w.y>0==B.y>0;return nc(w)&&nc(B)&&qe}}let gt={panStep:100,bearingStep:15,pitchStep:10};class Bt{constructor(w){this._tr=new _u(w);let B=gt;this._panStep=B.panStep,this._bearingStep=B.bearingStep,this._pitchStep=B.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(w){if(w.altKey||w.ctrlKey||w.metaKey)return;let B=0,Q=0,ee=0,se=0,qe=0;switch(w.keyCode){case 61:case 107:case 171:case 187:B=1;break;case 189:case 109:case 173:B=-1;break;case 37:w.shiftKey?Q=-1:(w.preventDefault(),se=-1);break;case 39:w.shiftKey?Q=1:(w.preventDefault(),se=1);break;case 38:w.shiftKey?ee=1:(w.preventDefault(),qe=-1);break;case 40:w.shiftKey?ee=-1:(w.preventDefault(),qe=1);break;default:return}return this._rotationDisabled&&(Q=0,ee=0),{cameraAnimation:je=>{let it=this._tr;je.easeTo({duration:300,easeId:\"keyboardHandler\",easing:wr,zoom:B?Math.round(it.zoom)+B*(w.shiftKey?2:1):it.zoom,bearing:it.bearing+Q*this._bearingStep,pitch:it.pitch+ee*this._pitchStep,offset:[-se*this._panStep,-qe*this._panStep],center:it.center},{originalEvent:w})}}}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 wr(le){return le*(2-le)}let vr=4.000244140625;class Ur{constructor(w,B){this._onTimeout=Q=>{this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(Q)},this._map=w,this._tr=new _u(w),this._triggerRenderFrame=B,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(w){this._defaultZoomRate=w}setWheelZoomRate(w){this._wheelZoomRate=w}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(w){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!w&&w.around===\"center\")}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(w){return!!this._map.cooperativeGestures.isEnabled()&&!(w.ctrlKey||this._map.cooperativeGestures.isBypassed(w))}wheel(w){if(!this.isEnabled())return;if(this._shouldBePrevented(w))return void this._map.cooperativeGestures.notifyGestureBlocked(\"wheel_zoom\",w);let B=w.deltaMode===WheelEvent.DOM_DELTA_LINE?40*w.deltaY:w.deltaY,Q=u.now(),ee=Q-(this._lastWheelEventTime||0);this._lastWheelEventTime=Q,B!==0&&B%vr==0?this._type=\"wheel\":B!==0&&Math.abs(B)<4?this._type=\"trackpad\":ee>400?(this._type=null,this._lastValue=B,this._timeout=setTimeout(this._onTimeout,40,w)):this._type||(this._type=Math.abs(ee*B)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,B+=this._lastValue)),w.shiftKey&&B&&(B/=4),this._type&&(this._lastWheelEvent=w,this._delta-=B,this._active||this._start(w)),w.preventDefault()}_start(w){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);let B=c.mousePos(this._map.getCanvas(),w),Q=this._tr;this._around=B.y>Q.transform.height/2-Q.transform.getHorizon()?a.N.convert(this._aroundCenter?Q.center:Q.unproject(B)):a.N.convert(Q.center),this._aroundPoint=Q.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let w=this._tr.transform;if(this._delta!==0){let it=this._type===\"wheel\"&&Math.abs(this._delta)>vr?this._wheelZoomRate:this._defaultZoomRate,yt=2/(1+Math.exp(-Math.abs(this._delta*it)));this._delta<0&&yt!==0&&(yt=1/yt);let Ot=typeof this._targetZoom==\"number\"?w.zoomScale(this._targetZoom):w.scale;this._targetZoom=Math.min(w.maxZoom,Math.max(w.minZoom,w.scaleZoom(Ot*yt))),this._type===\"wheel\"&&(this._startZoom=w.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let B=typeof this._targetZoom==\"number\"?this._targetZoom:w.zoom,Q=this._startZoom,ee=this._easing,se,qe=!1,je=u.now()-this._lastWheelEventTime;if(this._type===\"wheel\"&&Q&&ee&&je){let it=Math.min(je/200,1),yt=ee(it);se=a.y.number(Q,B,yt),it<1?this._frameId||(this._frameId=!0):qe=!0}else se=B,qe=!0;return this._active=!0,qe&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!qe,zoomDelta:se-w.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(w){let B=a.b9;if(this._prevEase){let Q=this._prevEase,ee=(u.now()-Q.start)/Q.duration,se=Q.easing(ee+.01)-Q.easing(ee),qe=.27/Math.sqrt(se*se+1e-4)*.01,je=Math.sqrt(.0729-qe*qe);B=a.b8(qe,je,.25,1)}return this._prevEase={start:u.now(),duration:w,easing:B},B}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class fi{constructor(w,B){this._clickZoom=w,this._tapZoom=B}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 xi{constructor(w){this._tr=new _u(w),this.reset()}reset(){this._active=!1}dblclick(w,B){return w.preventDefault(),{cameraAnimation:Q=>{Q.easeTo({duration:300,zoom:this._tr.zoom+(w.shiftKey?-1:1),around:this._tr.unproject(B)},{originalEvent:w})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Fi{constructor(){this._tap=new Pf({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(w,B,Q){if(!this._swipePoint)if(this._tapTime){let ee=B[0],se=w.timeStamp-this._tapTime<500,qe=this._tapPoint.dist(ee)<30;se&&qe?Q.length>0&&(this._swipePoint=ee,this._swipeTouch=Q[0].identifier):this.reset()}else this._tap.touchstart(w,B,Q)}touchmove(w,B,Q){if(this._tapTime){if(this._swipePoint){if(Q[0].identifier!==this._swipeTouch)return;let ee=B[0],se=ee.y-this._swipePoint.y;return this._swipePoint=ee,w.preventDefault(),this._active=!0,{zoomDelta:se/128}}}else this._tap.touchmove(w,B,Q)}touchend(w,B,Q){if(this._tapTime)this._swipePoint&&Q.length===0&&this.reset();else{let ee=this._tap.touchend(w,B,Q);ee&&(this._tapTime=w.timeStamp,this._tapPoint=ee)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Xi{constructor(w,B,Q){this._el=w,this._mousePan=B,this._touchPan=Q}enable(w){this._inertiaOptions=w||{},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 hn{constructor(w,B,Q){this._pitchWithRotate=w.pitchWithRotate,this._mouseRotate=B,this._mousePitch=Q}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 Ti{constructor(w,B,Q,ee){this._el=w,this._touchZoom=B,this._touchRotate=Q,this._tapDragZoom=ee,this._rotationDisabled=!1,this._enabled=!0}enable(w){this._touchZoom.enable(w),this._rotationDisabled||this._touchRotate.enable(w),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 qi{constructor(w,B){this._bypassKey=navigator.userAgent.indexOf(\"Mac\")!==-1?\"metaKey\":\"ctrlKey\",this._map=w,this._options=B,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let w=this._map.getCanvasContainer();w.classList.add(\"maplibregl-cooperative-gestures\"),this._container=c.create(\"div\",\"maplibregl-cooperative-gesture-screen\",w);let B=this._map._getUIString(\"CooperativeGesturesHandler.WindowsHelpText\");this._bypassKey===\"metaKey\"&&(B=this._map._getUIString(\"CooperativeGesturesHandler.MacHelpText\"));let Q=this._map._getUIString(\"CooperativeGesturesHandler.MobileHelpText\"),ee=document.createElement(\"div\");ee.className=\"maplibregl-desktop-message\",ee.textContent=B,this._container.appendChild(ee);let se=document.createElement(\"div\");se.className=\"maplibregl-mobile-message\",se.textContent=Q,this._container.appendChild(se),this._container.setAttribute(\"aria-hidden\",\"true\")}_destroyUI(){this._container&&(c.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(w){return w[this._bypassKey]}notifyGestureBlocked(w,B){this._enabled&&(this._map.fire(new a.k(\"cooperativegestureprevented\",{gestureType:w,originalEvent:B})),this._container.classList.add(\"maplibregl-show\"),setTimeout(()=>{this._container.classList.remove(\"maplibregl-show\")},100))}}let Ii=le=>le.zoom||le.drag||le.pitch||le.rotate;class mi extends a.k{}function Pn(le){return le.panDelta&&le.panDelta.mag()||le.zoomDelta||le.bearingDelta||le.pitchDelta}class Ma{constructor(w,B){this.handleWindowEvent=ee=>{this.handleEvent(ee,`${ee.type}Window`)},this.handleEvent=(ee,se)=>{if(ee.type===\"blur\")return void this.stop(!0);this._updatingCamera=!0;let qe=ee.type===\"renderFrame\"?void 0:ee,je={needsRenderFrame:!1},it={},yt={},Ot=ee.touches,Nt=Ot?this._getMapTouches(Ot):void 0,hr=Nt?c.touchPos(this._map.getCanvas(),Nt):c.mousePos(this._map.getCanvas(),ee);for(let{handlerName:be,handler:Pe,allowed:Oe}of this._handlers){if(!Pe.isEnabled())continue;let Je;this._blockedByActive(yt,Oe,be)?Pe.reset():Pe[se||ee.type]&&(Je=Pe[se||ee.type](ee,hr,Nt),this.mergeHandlerResult(je,it,Je,be,qe),Je&&Je.needsRenderFrame&&this._triggerRenderFrame()),(Je||Pe.isActive())&&(yt[be]=Pe)}let Sr={};for(let be in this._previousActiveHandlers)yt[be]||(Sr[be]=qe);this._previousActiveHandlers=yt,(Object.keys(Sr).length||Pn(je))&&(this._changes.push([je,it,Sr]),this._triggerRenderFrame()),(Object.keys(yt).length||Pn(je))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:he}=je;he&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],he(this._map))},this._map=w,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Uf(w),this._bearingSnap=B.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(B);let Q=this._el;this._listeners=[[Q,\"touchstart\",{passive:!0}],[Q,\"touchmove\",{passive:!1}],[Q,\"touchend\",void 0],[Q,\"touchcancel\",void 0],[Q,\"mousedown\",void 0],[Q,\"mousemove\",void 0],[Q,\"mouseup\",void 0],[document,\"mousemove\",{capture:!0}],[document,\"mouseup\",void 0],[Q,\"mouseover\",void 0],[Q,\"mouseout\",void 0],[Q,\"dblclick\",void 0],[Q,\"click\",void 0],[Q,\"keydown\",{capture:!1}],[Q,\"keyup\",void 0],[Q,\"wheel\",{passive:!1}],[Q,\"contextmenu\",void 0],[window,\"blur\",void 0]];for(let[ee,se,qe]of this._listeners)c.addEventListener(ee,se,ee===document?this.handleWindowEvent:this.handleEvent,qe)}destroy(){for(let[w,B,Q]of this._listeners)c.removeEventListener(w,B,w===document?this.handleWindowEvent:this.handleEvent,Q)}_addDefaultHandlers(w){let B=this._map,Q=B.getCanvasContainer();this._add(\"mapEvent\",new sh(B,w));let ee=B.boxZoom=new xu(B,w);this._add(\"boxZoom\",ee),w.interactive&&w.boxZoom&&ee.enable();let se=B.cooperativeGestures=new qi(B,w.cooperativeGestures);this._add(\"cooperativeGestures\",se),w.cooperativeGestures&&se.enable();let qe=new Ic(B),je=new xi(B);B.doubleClickZoom=new fi(je,qe),this._add(\"tapZoom\",qe),this._add(\"clickZoom\",je),w.interactive&&w.doubleClickZoom&&B.doubleClickZoom.enable();let it=new Fi;this._add(\"tapDragZoom\",it);let yt=B.touchPitch=new gf(B);this._add(\"touchPitch\",yt),w.interactive&&w.touchPitch&&B.touchPitch.enable(w.touchPitch);let Ot=Dl(w),Nt=Ih(w);B.dragRotate=new hn(w,Ot,Nt),this._add(\"mouseRotate\",Ot,[\"mousePitch\"]),this._add(\"mousePitch\",Nt,[\"mouseRotate\"]),w.interactive&&w.dragRotate&&B.dragRotate.enable();let hr=(({enable:Je,clickTolerance:He})=>{let et=new pc({checkCorrectEvent:Mt=>c.mouseButton(Mt)===0&&!Mt.ctrlKey});return new ju({clickTolerance:He,move:(Mt,Dt)=>({around:Dt,panDelta:Dt.sub(Mt)}),activateOnStart:!0,moveStateManager:et,enable:Je,assignEvents:Ph})})(w),Sr=new Wu(w,B);B.dragPan=new Xi(Q,hr,Sr),this._add(\"mousePan\",hr),this._add(\"touchPan\",Sr,[\"touchZoom\",\"touchRotate\"]),w.interactive&&w.dragPan&&B.dragPan.enable(w.dragPan);let he=new Yc,be=new iu;B.touchZoomRotate=new Ti(Q,be,he,it),this._add(\"touchRotate\",he,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",be,[\"touchPan\",\"touchRotate\"]),w.interactive&&w.touchZoomRotate&&B.touchZoomRotate.enable(w.touchZoomRotate);let Pe=B.scrollZoom=new Ur(B,()=>this._triggerRenderFrame());this._add(\"scrollZoom\",Pe,[\"mousePan\"]),w.interactive&&w.scrollZoom&&B.scrollZoom.enable(w.scrollZoom);let Oe=B.keyboard=new Bt(B);this._add(\"keyboard\",Oe),w.interactive&&w.keyboard&&B.keyboard.enable(),this._add(\"blockableMapEvent\",new Fs(B))}_add(w,B,Q){this._handlers.push({handlerName:w,handler:B,allowed:Q}),this._handlersById[w]=B}stop(w){if(!this._updatingCamera){for(let{handler:B}of this._handlers)B.reset();this._inertia.clear(),this._fireEvents({},{},w),this._changes=[]}}isActive(){for(let{handler:w}of this._handlers)if(w.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Ii(this._eventsInProgress)||this.isZooming()}_blockedByActive(w,B,Q){for(let ee in w)if(ee!==Q&&(!B||B.indexOf(ee)<0))return!0;return!1}_getMapTouches(w){let B=[];for(let Q of w)this._el.contains(Q.target)&&B.push(Q);return B}mergeHandlerResult(w,B,Q,ee,se){if(!Q)return;a.e(w,Q);let qe={handlerName:ee,originalEvent:Q.originalEvent||se};Q.zoomDelta!==void 0&&(B.zoom=qe),Q.panDelta!==void 0&&(B.drag=qe),Q.pitchDelta!==void 0&&(B.pitch=qe),Q.bearingDelta!==void 0&&(B.rotate=qe)}_applyChanges(){let w={},B={},Q={};for(let[ee,se,qe]of this._changes)ee.panDelta&&(w.panDelta=(w.panDelta||new a.P(0,0))._add(ee.panDelta)),ee.zoomDelta&&(w.zoomDelta=(w.zoomDelta||0)+ee.zoomDelta),ee.bearingDelta&&(w.bearingDelta=(w.bearingDelta||0)+ee.bearingDelta),ee.pitchDelta&&(w.pitchDelta=(w.pitchDelta||0)+ee.pitchDelta),ee.around!==void 0&&(w.around=ee.around),ee.pinchAround!==void 0&&(w.pinchAround=ee.pinchAround),ee.noInertia&&(w.noInertia=ee.noInertia),a.e(B,se),a.e(Q,qe);this._updateMapTransform(w,B,Q),this._changes=[]}_updateMapTransform(w,B,Q){let ee=this._map,se=ee._getTransformForUpdate(),qe=ee.terrain;if(!(Pn(w)||qe&&this._terrainMovement))return this._fireEvents(B,Q,!0);let{panDelta:je,zoomDelta:it,bearingDelta:yt,pitchDelta:Ot,around:Nt,pinchAround:hr}=w;hr!==void 0&&(Nt=hr),ee._stop(!0),Nt=Nt||ee.transform.centerPoint;let Sr=se.pointLocation(je?Nt.sub(je):Nt);yt&&(se.bearing+=yt),Ot&&(se.pitch+=Ot),it&&(se.zoom+=it),qe?this._terrainMovement||!B.drag&&!B.zoom?B.drag&&this._terrainMovement?se.center=se.pointLocation(se.centerPoint.sub(je)):se.setLocationAtPoint(Sr,Nt):(this._terrainMovement=!0,this._map._elevationFreeze=!0,se.setLocationAtPoint(Sr,Nt)):se.setLocationAtPoint(Sr,Nt),ee._applyUpdatedTransform(se),this._map._update(),w.noInertia||this._inertia.record(w),this._fireEvents(B,Q,!0)}_fireEvents(w,B,Q){let ee=Ii(this._eventsInProgress),se=Ii(w),qe={};for(let Nt in w){let{originalEvent:hr}=w[Nt];this._eventsInProgress[Nt]||(qe[`${Nt}start`]=hr),this._eventsInProgress[Nt]=w[Nt]}!ee&&se&&this._fireEvent(\"movestart\",se.originalEvent);for(let Nt in qe)this._fireEvent(Nt,qe[Nt]);se&&this._fireEvent(\"move\",se.originalEvent);for(let Nt in w){let{originalEvent:hr}=w[Nt];this._fireEvent(Nt,hr)}let je={},it;for(let Nt in this._eventsInProgress){let{handlerName:hr,originalEvent:Sr}=this._eventsInProgress[Nt];this._handlersById[hr].isActive()||(delete this._eventsInProgress[Nt],it=B[hr]||Sr,je[`${Nt}end`]=it)}for(let Nt in je)this._fireEvent(Nt,je[Nt]);let yt=Ii(this._eventsInProgress),Ot=(ee||se)&&!yt;if(Ot&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;let Nt=this._map._getTransformForUpdate();Nt.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(Nt)}if(Q&&Ot){this._updatingCamera=!0;let Nt=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),hr=Sr=>Sr!==0&&-this._bearingSnap<Sr&&Sr<this._bearingSnap;!Nt||!Nt.essential&&u.prefersReducedMotion?(this._map.fire(new a.k(\"moveend\",{originalEvent:it})),hr(this._map.getBearing())&&this._map.resetNorth()):(hr(Nt.bearing||this._map.getBearing())&&(Nt.bearing=0),Nt.freezeElevation=!0,this._map.easeTo(Nt,{originalEvent:it})),this._updatingCamera=!1}}_fireEvent(w,B){this._map.fire(new a.k(w,B?{originalEvent:B}:{}))}_requestFrame(){return this._map.triggerRepaint(),this._map._renderTaskQueue.add(w=>{delete this._frameId,this.handleEvent(new mi(\"renderFrame\",{timeStamp:w})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class Ta extends a.E{constructor(w,B){super(),this._renderFrameCallback=()=>{let Q=Math.min((u.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(Q)),Q<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=w,this._bearingSnap=B.bearingSnap,this.on(\"moveend\",()=>{delete this._requestedCameraState})}getCenter(){return new a.N(this.transform.center.lng,this.transform.center.lat)}setCenter(w,B){return this.jumpTo({center:w},B)}panBy(w,B,Q){return w=a.P.convert(w).mult(-1),this.panTo(this.transform.center,a.e({offset:w},B),Q)}panTo(w,B,Q){return this.easeTo(a.e({center:w},B),Q)}getZoom(){return this.transform.zoom}setZoom(w,B){return this.jumpTo({zoom:w},B),this}zoomTo(w,B,Q){return this.easeTo(a.e({zoom:w},B),Q)}zoomIn(w,B){return this.zoomTo(this.getZoom()+1,w,B),this}zoomOut(w,B){return this.zoomTo(this.getZoom()-1,w,B),this}getBearing(){return this.transform.bearing}setBearing(w,B){return this.jumpTo({bearing:w},B),this}getPadding(){return this.transform.padding}setPadding(w,B){return this.jumpTo({padding:w},B),this}rotateTo(w,B,Q){return this.easeTo(a.e({bearing:w},B),Q)}resetNorth(w,B){return this.rotateTo(0,a.e({duration:1e3},w),B),this}resetNorthPitch(w,B){return this.easeTo(a.e({bearing:0,pitch:0,duration:1e3},w),B),this}snapToNorth(w,B){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(w,B):this}getPitch(){return this.transform.pitch}setPitch(w,B){return this.jumpTo({pitch:w},B),this}cameraForBounds(w,B){w=ce.convert(w).adjustAntiMeridian();let Q=B&&B.bearing||0;return this._cameraForBoxAndBearing(w.getNorthWest(),w.getSouthEast(),Q,B)}_cameraForBoxAndBearing(w,B,Q,ee){let se={top:0,bottom:0,right:0,left:0};if(typeof(ee=a.e({padding:se,offset:[0,0],maxZoom:this.transform.maxZoom},ee)).padding==\"number\"){let zr=ee.padding;ee.padding={top:zr,bottom:zr,right:zr,left:zr}}ee.padding=a.e(se,ee.padding);let qe=this.transform,je=qe.padding,it=new ce(w,B),yt=qe.project(it.getNorthWest()),Ot=qe.project(it.getNorthEast()),Nt=qe.project(it.getSouthEast()),hr=qe.project(it.getSouthWest()),Sr=a.ba(-Q),he=yt.rotate(Sr),be=Ot.rotate(Sr),Pe=Nt.rotate(Sr),Oe=hr.rotate(Sr),Je=new a.P(Math.max(he.x,be.x,Oe.x,Pe.x),Math.max(he.y,be.y,Oe.y,Pe.y)),He=new a.P(Math.min(he.x,be.x,Oe.x,Pe.x),Math.min(he.y,be.y,Oe.y,Pe.y)),et=Je.sub(He),Mt=(qe.width-(je.left+je.right+ee.padding.left+ee.padding.right))/et.x,Dt=(qe.height-(je.top+je.bottom+ee.padding.top+ee.padding.bottom))/et.y;if(Dt<0||Mt<0)return void a.w(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\");let Ut=Math.min(qe.scaleZoom(qe.scale*Math.min(Mt,Dt)),ee.maxZoom),tr=a.P.convert(ee.offset),mr=new a.P((ee.padding.left-ee.padding.right)/2,(ee.padding.top-ee.padding.bottom)/2).rotate(a.ba(Q)),Rr=tr.add(mr).mult(qe.scale/qe.zoomScale(Ut));return{center:qe.unproject(yt.add(Nt).div(2).sub(Rr)),zoom:Ut,bearing:Q}}fitBounds(w,B,Q){return this._fitInternal(this.cameraForBounds(w,B),B,Q)}fitScreenCoordinates(w,B,Q,ee,se){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(a.P.convert(w)),this.transform.pointLocation(a.P.convert(B)),Q,ee),ee,se)}_fitInternal(w,B,Q){return w?(delete(B=a.e(w,B)).padding,B.linear?this.easeTo(B,Q):this.flyTo(B,Q)):this}jumpTo(w,B){this.stop();let Q=this._getTransformForUpdate(),ee=!1,se=!1,qe=!1;return\"zoom\"in w&&Q.zoom!==+w.zoom&&(ee=!0,Q.zoom=+w.zoom),w.center!==void 0&&(Q.center=a.N.convert(w.center)),\"bearing\"in w&&Q.bearing!==+w.bearing&&(se=!0,Q.bearing=+w.bearing),\"pitch\"in w&&Q.pitch!==+w.pitch&&(qe=!0,Q.pitch=+w.pitch),w.padding==null||Q.isPaddingEqual(w.padding)||(Q.padding=w.padding),this._applyUpdatedTransform(Q),this.fire(new a.k(\"movestart\",B)).fire(new a.k(\"move\",B)),ee&&this.fire(new a.k(\"zoomstart\",B)).fire(new a.k(\"zoom\",B)).fire(new a.k(\"zoomend\",B)),se&&this.fire(new a.k(\"rotatestart\",B)).fire(new a.k(\"rotate\",B)).fire(new a.k(\"rotateend\",B)),qe&&this.fire(new a.k(\"pitchstart\",B)).fire(new a.k(\"pitch\",B)).fire(new a.k(\"pitchend\",B)),this.fire(new a.k(\"moveend\",B))}calculateCameraOptionsFromTo(w,B,Q,ee=0){let se=a.Z.fromLngLat(w,B),qe=a.Z.fromLngLat(Q,ee),je=qe.x-se.x,it=qe.y-se.y,yt=qe.z-se.z,Ot=Math.hypot(je,it,yt);if(Ot===0)throw new Error(\"Can't calculate camera options with same From and To\");let Nt=Math.hypot(je,it),hr=this.transform.scaleZoom(this.transform.cameraToCenterDistance/Ot/this.transform.tileSize),Sr=180*Math.atan2(je,-it)/Math.PI,he=180*Math.acos(Nt/Ot)/Math.PI;return he=yt<0?90-he:90+he,{center:qe.toLngLat(),zoom:hr,pitch:he,bearing:Sr}}easeTo(w,B){var Q;this._stop(!1,w.easeId),((w=a.e({offset:[0,0],duration:500,easing:a.b9},w)).animate===!1||!w.essential&&u.prefersReducedMotion)&&(w.duration=0);let ee=this._getTransformForUpdate(),se=ee.zoom,qe=ee.bearing,je=ee.pitch,it=ee.padding,yt=\"bearing\"in w?this._normalizeBearing(w.bearing,qe):qe,Ot=\"pitch\"in w?+w.pitch:je,Nt=\"padding\"in w?w.padding:ee.padding,hr=a.P.convert(w.offset),Sr=ee.centerPoint.add(hr),he=ee.pointLocation(Sr),{center:be,zoom:Pe}=ee.getConstrained(a.N.convert(w.center||he),(Q=w.zoom)!==null&&Q!==void 0?Q:se);this._normalizeCenter(be,ee);let Oe=ee.project(he),Je=ee.project(be).sub(Oe),He=ee.zoomScale(Pe-se),et,Mt;w.around&&(et=a.N.convert(w.around),Mt=ee.locationPoint(et));let Dt={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=this._zooming||Pe!==se,this._rotating=this._rotating||qe!==yt,this._pitching=this._pitching||Ot!==je,this._padding=!ee.isPaddingEqual(Nt),this._easeId=w.easeId,this._prepareEase(B,w.noMoveStart,Dt),this.terrain&&this._prepareElevation(be),this._ease(Ut=>{if(this._zooming&&(ee.zoom=a.y.number(se,Pe,Ut)),this._rotating&&(ee.bearing=a.y.number(qe,yt,Ut)),this._pitching&&(ee.pitch=a.y.number(je,Ot,Ut)),this._padding&&(ee.interpolatePadding(it,Nt,Ut),Sr=ee.centerPoint.add(hr)),this.terrain&&!w.freezeElevation&&this._updateElevation(Ut),et)ee.setLocationAtPoint(et,Mt);else{let tr=ee.zoomScale(ee.zoom-se),mr=Pe>se?Math.min(2,He):Math.max(.5,He),Rr=Math.pow(mr,1-Ut),zr=ee.unproject(Oe.add(Je.mult(Ut*Rr)).mult(tr));ee.setLocationAtPoint(ee.renderWorldCopies?zr.wrap():zr,Sr)}this._applyUpdatedTransform(ee),this._fireMoveEvents(B)},Ut=>{this.terrain&&w.freezeElevation&&this._finalizeElevation(),this._afterEase(B,Ut)},w),this}_prepareEase(w,B,Q={}){this._moving=!0,B||Q.moving||this.fire(new a.k(\"movestart\",w)),this._zooming&&!Q.zooming&&this.fire(new a.k(\"zoomstart\",w)),this._rotating&&!Q.rotating&&this.fire(new a.k(\"rotatestart\",w)),this._pitching&&!Q.pitching&&this.fire(new a.k(\"pitchstart\",w))}_prepareElevation(w){this._elevationCenter=w,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(w,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(w){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let B=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(w<1&&B!==this._elevationTarget){let Q=this._elevationTarget-this._elevationStart;this._elevationStart+=w*(Q-(B-(Q*w+this._elevationStart))/(1-w)),this._elevationTarget=B}this.transform.elevation=a.y.number(this._elevationStart,this._elevationTarget,w)}_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(w){let B=w.getCameraPosition(),Q=this.terrain.getElevationForLngLatZoom(B.lngLat,w.zoom);if(B.altitude<Q){let ee=this.calculateCameraOptionsFromTo(B.lngLat,Q,w.center,w.elevation);return{pitch:ee.pitch,zoom:ee.zoom}}return{}}_applyUpdatedTransform(w){let B=[];if(this.terrain&&B.push(ee=>this._elevateCameraIfInsideTerrain(ee)),this.transformCameraUpdate&&B.push(ee=>this.transformCameraUpdate(ee)),!B.length)return;let Q=w.clone();for(let ee of B){let se=Q.clone(),{center:qe,zoom:je,pitch:it,bearing:yt,elevation:Ot}=ee(se);qe&&(se.center=qe),je!==void 0&&(se.zoom=je),it!==void 0&&(se.pitch=it),yt!==void 0&&(se.bearing=yt),Ot!==void 0&&(se.elevation=Ot),Q.apply(se)}this.transform.apply(Q)}_fireMoveEvents(w){this.fire(new a.k(\"move\",w)),this._zooming&&this.fire(new a.k(\"zoom\",w)),this._rotating&&this.fire(new a.k(\"rotate\",w)),this._pitching&&this.fire(new a.k(\"pitch\",w))}_afterEase(w,B){if(this._easeId&&B&&this._easeId===B)return;delete this._easeId;let Q=this._zooming,ee=this._rotating,se=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,Q&&this.fire(new a.k(\"zoomend\",w)),ee&&this.fire(new a.k(\"rotateend\",w)),se&&this.fire(new a.k(\"pitchend\",w)),this.fire(new a.k(\"moveend\",w))}flyTo(w,B){var Q;if(!w.essential&&u.prefersReducedMotion){let Qi=a.M(w,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(Qi,B)}this.stop(),w=a.e({offset:[0,0],speed:1.2,curve:1.42,easing:a.b9},w);let ee=this._getTransformForUpdate(),se=ee.zoom,qe=ee.bearing,je=ee.pitch,it=ee.padding,yt=\"bearing\"in w?this._normalizeBearing(w.bearing,qe):qe,Ot=\"pitch\"in w?+w.pitch:je,Nt=\"padding\"in w?w.padding:ee.padding,hr=a.P.convert(w.offset),Sr=ee.centerPoint.add(hr),he=ee.pointLocation(Sr),{center:be,zoom:Pe}=ee.getConstrained(a.N.convert(w.center||he),(Q=w.zoom)!==null&&Q!==void 0?Q:se);this._normalizeCenter(be,ee);let Oe=ee.zoomScale(Pe-se),Je=ee.project(he),He=ee.project(be).sub(Je),et=w.curve,Mt=Math.max(ee.width,ee.height),Dt=Mt/Oe,Ut=He.mag();if(\"minZoom\"in w){let Qi=a.ac(Math.min(w.minZoom,se,Pe),ee.minZoom,ee.maxZoom),Mn=Mt/ee.zoomScale(Qi-se);et=Math.sqrt(Mn/Ut*2)}let tr=et*et;function mr(Qi){let Mn=(Dt*Dt-Mt*Mt+(Qi?-1:1)*tr*tr*Ut*Ut)/(2*(Qi?Dt:Mt)*tr*Ut);return Math.log(Math.sqrt(Mn*Mn+1)-Mn)}function Rr(Qi){return(Math.exp(Qi)-Math.exp(-Qi))/2}function zr(Qi){return(Math.exp(Qi)+Math.exp(-Qi))/2}let Xr=mr(!1),di=function(Qi){return zr(Xr)/zr(Xr+et*Qi)},Li=function(Qi){return Mt*((zr(Xr)*(Rr(Mn=Xr+et*Qi)/zr(Mn))-Rr(Xr))/tr)/Ut;var Mn},Ci=(mr(!0)-Xr)/et;if(Math.abs(Ut)<1e-6||!isFinite(Ci)){if(Math.abs(Mt-Dt)<1e-6)return this.easeTo(w,B);let Qi=Dt<Mt?-1:1;Ci=Math.abs(Math.log(Dt/Mt))/et,Li=()=>0,di=Mn=>Math.exp(Qi*et*Mn)}return w.duration=\"duration\"in w?+w.duration:1e3*Ci/(\"screenSpeed\"in w?+w.screenSpeed/et:+w.speed),w.maxDuration&&w.duration>w.maxDuration&&(w.duration=0),this._zooming=!0,this._rotating=qe!==yt,this._pitching=Ot!==je,this._padding=!ee.isPaddingEqual(Nt),this._prepareEase(B,!1),this.terrain&&this._prepareElevation(be),this._ease(Qi=>{let Mn=Qi*Ci,pa=1/di(Mn);ee.zoom=Qi===1?Pe:se+ee.scaleZoom(pa),this._rotating&&(ee.bearing=a.y.number(qe,yt,Qi)),this._pitching&&(ee.pitch=a.y.number(je,Ot,Qi)),this._padding&&(ee.interpolatePadding(it,Nt,Qi),Sr=ee.centerPoint.add(hr)),this.terrain&&!w.freezeElevation&&this._updateElevation(Qi);let ea=Qi===1?be:ee.unproject(Je.add(He.mult(Li(Mn))).mult(pa));ee.setLocationAtPoint(ee.renderWorldCopies?ea.wrap():ea,Sr),this._applyUpdatedTransform(ee),this._fireMoveEvents(B)},()=>{this.terrain&&w.freezeElevation&&this._finalizeElevation(),this._afterEase(B)},w),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(w,B){var Q;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let ee=this._onEaseEnd;delete this._onEaseEnd,ee.call(this,B)}return w||(Q=this.handlers)===null||Q===void 0||Q.stop(!1),this}_ease(w,B,Q){Q.animate===!1||Q.duration===0?(w(1),B()):(this._easeStart=u.now(),this._easeOptions=Q,this._onEaseFrame=w,this._onEaseEnd=B,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(w,B){w=a.b3(w,-180,180);let Q=Math.abs(w-B);return Math.abs(w-360-B)<Q&&(w-=360),Math.abs(w+360-B)<Q&&(w+=360),w}_normalizeCenter(w,B){if(!B.renderWorldCopies||B.lngRange)return;let Q=w.lng-B.center.lng;w.lng+=Q>180?-360:Q<-180?360:0}queryTerrainElevation(w){return this.terrain?this.terrain.getElevationForLngLatZoom(a.N.convert(w),this.transform.tileZoom)-this.transform.elevation:null}}let Ea={compact:!0,customAttribution:'<a href=\"https://maplibre.org/\" target=\"_blank\">MapLibre</a>'};class qa{constructor(w=Ea){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=B=>{!B||B.sourceDataType!==\"metadata\"&&B.sourceDataType!==\"visibility\"&&B.dataType!==\"style\"&&B.type!==\"terrain\"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?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=w}getDefaultPosition(){return\"bottom-right\"}onAdd(w){return this._map=w,this._compact=this.options.compact,this._container=c.create(\"details\",\"maplibregl-ctrl maplibregl-ctrl-attrib\"),this._compactButton=c.create(\"summary\",\"maplibregl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=c.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(){c.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(w,B){let Q=this._map._getUIString(`AttributionControl.${B}`);w.title=Q,w.setAttribute(\"aria-label\",Q)}_updateAttributions(){if(!this._map.style)return;let w=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?w=w.concat(this.options.customAttribution.map(ee=>typeof ee!=\"string\"?\"\":ee)):typeof this.options.customAttribution==\"string\"&&w.push(this.options.customAttribution)),this._map.style.stylesheet){let ee=this._map.style.stylesheet;this.styleOwner=ee.owner,this.styleId=ee.id}let B=this._map.style.sourceCaches;for(let ee in B){let se=B[ee];if(se.used||se.usedForTerrain){let qe=se.getSource();qe.attribution&&w.indexOf(qe.attribution)<0&&w.push(qe.attribution)}}w=w.filter(ee=>String(ee).trim()),w.sort((ee,se)=>ee.length-se.length),w=w.filter((ee,se)=>{for(let qe=se+1;qe<w.length;qe++)if(w[qe].indexOf(ee)>=0)return!1;return!0});let Q=w.join(\" | \");Q!==this._attribHTML&&(this._attribHTML=Q,w.length?(this._innerContainer.innerHTML=Q,this._container.classList.remove(\"maplibregl-attrib-empty\")):this._container.classList.add(\"maplibregl-attrib-empty\"),this._updateCompact(),this._editLink=null)}}class Cn{constructor(w={}){this._updateCompact=()=>{let B=this._container.children;if(B.length){let Q=B[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&Q.classList.add(\"maplibregl-compact\"):Q.classList.remove(\"maplibregl-compact\")}},this.options=w}getDefaultPosition(){return\"bottom-left\"}onAdd(w){this._map=w,this._compact=this.options&&this.options.compact,this._container=c.create(\"div\",\"maplibregl-ctrl\");let B=c.create(\"a\",\"maplibregl-ctrl-logo\");return B.target=\"_blank\",B.rel=\"noopener nofollow\",B.href=\"https://maplibre.org/\",B.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),B.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(B),this._container.style.display=\"block\",this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container}onRemove(){c.remove(this._container),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._compact=void 0}}class sn{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(w){let B=++this._id;return this._queue.push({callback:w,id:B,cancelled:!1}),B}remove(w){let B=this._currentlyRunning,Q=B?this._queue.concat(B):this._queue;for(let ee of Q)if(ee.id===w)return void(ee.cancelled=!0)}run(w=0){if(this._currentlyRunning)throw new Error(\"Attempting to run(), but is already running.\");let B=this._currentlyRunning=this._queue;this._queue=[];for(let Q of B)if(!Q.cancelled&&(Q.callback(w),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var Ua=a.Y([{name:\"a_pos3d\",type:\"Int16\",components:3}]);class mo extends a.E{constructor(w){super(),this.sourceCache=w,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,w.usedForTerrain=!0,w.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(w,B){this.sourceCache.update(w,B),this._renderableTilesKeys=[];let Q={};for(let ee of w.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:B}))Q[ee.key]=!0,this._renderableTilesKeys.push(ee.key),this._tiles[ee.key]||(ee.posMatrix=new Float64Array(16),a.aP(ee.posMatrix,0,a.X,0,a.X,0,1),this._tiles[ee.key]=new Lt(ee,this.tileSize));for(let ee in this._tiles)Q[ee]||delete this._tiles[ee]}freeRtt(w){for(let B in this._tiles){let Q=this._tiles[B];(!w||Q.tileID.equals(w)||Q.tileID.isChildOf(w)||w.isChildOf(Q.tileID))&&(Q.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(w=>this.getTileByID(w))}getTileByID(w){return this._tiles[w]}getTerrainCoords(w){let B={};for(let Q of this._renderableTilesKeys){let ee=this._tiles[Q].tileID;if(ee.canonical.equals(w.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16),a.aP(se.posMatrix,0,a.X,0,a.X,0,1),B[Q]=se}else if(ee.canonical.isChildOf(w.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16);let qe=ee.canonical.z-w.canonical.z,je=ee.canonical.x-(ee.canonical.x>>qe<<qe),it=ee.canonical.y-(ee.canonical.y>>qe<<qe),yt=a.X>>qe;a.aP(se.posMatrix,0,yt,0,yt,0,1),a.J(se.posMatrix,se.posMatrix,[-je*yt,-it*yt,0]),B[Q]=se}else if(w.canonical.isChildOf(ee.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16);let qe=w.canonical.z-ee.canonical.z,je=w.canonical.x-(w.canonical.x>>qe<<qe),it=w.canonical.y-(w.canonical.y>>qe<<qe),yt=a.X>>qe;a.aP(se.posMatrix,0,a.X,0,a.X,0,1),a.J(se.posMatrix,se.posMatrix,[je*yt,it*yt,0]),a.K(se.posMatrix,se.posMatrix,[1/2**qe,1/2**qe,0]),B[Q]=se}}return B}getSourceTile(w,B){let Q=this.sourceCache._source,ee=w.overscaledZ-this.deltaZoom;if(ee>Q.maxzoom&&(ee=Q.maxzoom),ee<Q.minzoom)return null;this._sourceTileCache[w.key]||(this._sourceTileCache[w.key]=w.scaledTo(ee).key);let se=this.sourceCache.getTileByID(this._sourceTileCache[w.key]);if((!se||!se.dem)&&B)for(;ee>=Q.minzoom&&(!se||!se.dem);)se=this.sourceCache.getTileByID(w.scaledTo(ee--).key);return se}tilesAfterTime(w=Date.now()){return Object.values(this._tiles).filter(B=>B.timeAdded>=w)}}class Xo{constructor(w,B,Q){this.painter=w,this.sourceCache=new mo(B),this.options=Q,this.exaggeration=typeof Q.exaggeration==\"number\"?Q.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(w,B,Q,ee=a.X){var se;if(!(B>=0&&B<ee&&Q>=0&&Q<ee))return 0;let qe=this.getTerrainData(w),je=(se=qe.tile)===null||se===void 0?void 0:se.dem;if(!je)return 0;let it=function(he,be,Pe){var Oe=be[0],Je=be[1];return he[0]=Pe[0]*Oe+Pe[4]*Je+Pe[12],he[1]=Pe[1]*Oe+Pe[5]*Je+Pe[13],he}([],[B/ee*a.X,Q/ee*a.X],qe.u_terrain_matrix),yt=[it[0]*je.dim,it[1]*je.dim],Ot=Math.floor(yt[0]),Nt=Math.floor(yt[1]),hr=yt[0]-Ot,Sr=yt[1]-Nt;return je.get(Ot,Nt)*(1-hr)*(1-Sr)+je.get(Ot+1,Nt)*hr*(1-Sr)+je.get(Ot,Nt+1)*(1-hr)*Sr+je.get(Ot+1,Nt+1)*hr*Sr}getElevationForLngLatZoom(w,B){if(!a.bb(B,w.wrap()))return 0;let{tileID:Q,mercatorX:ee,mercatorY:se}=this._getOverscaledTileIDFromLngLatZoom(w,B);return this.getElevation(Q,ee%a.X,se%a.X,a.X)}getElevation(w,B,Q,ee=a.X){return this.getDEMElevation(w,B,Q,ee)*this.exaggeration}getTerrainData(w){if(!this._emptyDemTexture){let ee=this.painter.context,se=new a.R({width:1,height:1},new Uint8Array(4));this._emptyDepthTexture=new g(ee,se,ee.gl.RGBA,{premultiply:!1}),this._emptyDemUnpack=[0,0,0,0],this._emptyDemTexture=new g(ee,new a.R({width:1,height:1}),ee.gl.RGBA,{premultiply:!1}),this._emptyDemTexture.bind(ee.gl.NEAREST,ee.gl.CLAMP_TO_EDGE),this._emptyDemMatrix=a.an([])}let B=this.sourceCache.getSourceTile(w,!0);if(B&&B.dem&&(!B.demTexture||B.needsTerrainPrepare)){let ee=this.painter.context;B.demTexture=this.painter.getTileTexture(B.dem.stride),B.demTexture?B.demTexture.update(B.dem.getPixels(),{premultiply:!1}):B.demTexture=new g(ee,B.dem.getPixels(),ee.gl.RGBA,{premultiply:!1}),B.demTexture.bind(ee.gl.NEAREST,ee.gl.CLAMP_TO_EDGE),B.needsTerrainPrepare=!1}let Q=B&&B+B.tileID.key+w.key;if(Q&&!this._demMatrixCache[Q]){let ee=this.sourceCache.sourceCache._source.maxzoom,se=w.canonical.z-B.tileID.canonical.z;w.overscaledZ>w.canonical.z&&(w.canonical.z>=ee?se=w.canonical.z-ee:a.w(\"cannot calculate elevation if elevation maxzoom > source.maxzoom\"));let qe=w.canonical.x-(w.canonical.x>>se<<se),je=w.canonical.y-(w.canonical.y>>se<<se),it=a.bc(new Float64Array(16),[1/(a.X<<se),1/(a.X<<se),0]);a.J(it,it,[qe*a.X,je*a.X,0]),this._demMatrixCache[w.key]={matrix:it,coord:w}}return{u_depth:2,u_terrain:3,u_terrain_dim:B&&B.dem&&B.dem.dim||1,u_terrain_matrix:Q?this._demMatrixCache[w.key].matrix:this._emptyDemMatrix,u_terrain_unpack:B&&B.dem&&B.dem.getUnpackVector()||this._emptyDemUnpack,u_terrain_exaggeration:this.exaggeration,texture:(B&&B.demTexture||this._emptyDemTexture).texture,depthTexture:(this._fboDepthTexture||this._emptyDepthTexture).texture,tile:B}}getFramebuffer(w){let B=this.painter,Q=B.width/devicePixelRatio,ee=B.height/devicePixelRatio;return!this._fbo||this._fbo.width===Q&&this._fbo.height===ee||(this._fbo.destroy(),this._fboCoordsTexture.destroy(),this._fboDepthTexture.destroy(),delete this._fbo,delete this._fboDepthTexture,delete this._fboCoordsTexture),this._fboCoordsTexture||(this._fboCoordsTexture=new g(B.context,{width:Q,height:ee,data:null},B.context.gl.RGBA,{premultiply:!1}),this._fboCoordsTexture.bind(B.context.gl.NEAREST,B.context.gl.CLAMP_TO_EDGE)),this._fboDepthTexture||(this._fboDepthTexture=new g(B.context,{width:Q,height:ee,data:null},B.context.gl.RGBA,{premultiply:!1}),this._fboDepthTexture.bind(B.context.gl.NEAREST,B.context.gl.CLAMP_TO_EDGE)),this._fbo||(this._fbo=B.context.createFramebuffer(Q,ee,!0,!1),this._fbo.depthAttachment.set(B.context.createRenderbuffer(B.context.gl.DEPTH_COMPONENT16,Q,ee))),this._fbo.colorAttachment.set(w===\"coords\"?this._fboCoordsTexture.texture:this._fboDepthTexture.texture),this._fbo}getCoordsTexture(){let w=this.painter.context;if(this._coordsTexture)return this._coordsTexture;let B=new Uint8Array(this._coordsTextureSize*this._coordsTextureSize*4);for(let se=0,qe=0;se<this._coordsTextureSize;se++)for(let je=0;je<this._coordsTextureSize;je++,qe+=4)B[qe+0]=255&je,B[qe+1]=255&se,B[qe+2]=je>>8<<4|se>>8,B[qe+3]=0;let Q=new a.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(B.buffer)),ee=new g(w,Q,w.gl.RGBA,{premultiply:!1});return ee.bind(w.gl.NEAREST,w.gl.CLAMP_TO_EDGE),this._coordsTexture=ee,ee}pointCoordinate(w){this.painter.maybeDrawDepthAndCoords(!0);let B=new Uint8Array(4),Q=this.painter.context,ee=Q.gl,se=Math.round(w.x*this.painter.pixelRatio/devicePixelRatio),qe=Math.round(w.y*this.painter.pixelRatio/devicePixelRatio),je=Math.round(this.painter.height/devicePixelRatio);Q.bindFramebuffer.set(this.getFramebuffer(\"coords\").framebuffer),ee.readPixels(se,je-qe-1,1,1,ee.RGBA,ee.UNSIGNED_BYTE,B),Q.bindFramebuffer.set(null);let it=B[0]+(B[2]>>4<<8),yt=B[1]+((15&B[2])<<8),Ot=this.coordsIndex[255-B[3]],Nt=Ot&&this.sourceCache.getTileByID(Ot);if(!Nt)return null;let hr=this._coordsTextureSize,Sr=(1<<Nt.tileID.canonical.z)*hr;return new a.Z((Nt.tileID.canonical.x*hr+it)/Sr+Nt.tileID.wrap,(Nt.tileID.canonical.y*hr+yt)/Sr,this.getElevation(Nt.tileID,it,yt,hr))}depthAtPoint(w){let B=new Uint8Array(4),Q=this.painter.context,ee=Q.gl;return Q.bindFramebuffer.set(this.getFramebuffer(\"depth\").framebuffer),ee.readPixels(w.x,this.painter.height/devicePixelRatio-w.y-1,1,1,ee.RGBA,ee.UNSIGNED_BYTE,B),Q.bindFramebuffer.set(null),(B[0]/16777216+B[1]/65536+B[2]/256+B[3])/256}getTerrainMesh(){if(this._mesh)return this._mesh;let w=this.painter.context,B=new a.bd,Q=new a.aY,ee=this.meshSize,se=a.X/ee,qe=ee*ee;for(let Nt=0;Nt<=ee;Nt++)for(let hr=0;hr<=ee;hr++)B.emplaceBack(hr*se,Nt*se,0);for(let Nt=0;Nt<qe;Nt+=ee+1)for(let hr=0;hr<ee;hr++)Q.emplaceBack(hr+Nt,ee+hr+Nt+1,ee+hr+Nt+2),Q.emplaceBack(hr+Nt,ee+hr+Nt+2,hr+Nt+1);let je=B.length,it=je+2*(ee+1);for(let Nt of[0,1])for(let hr=0;hr<=ee;hr++)for(let Sr of[0,1])B.emplaceBack(hr*se,Nt*a.X,Sr);for(let Nt=0;Nt<2*ee;Nt+=2)Q.emplaceBack(it+Nt,it+Nt+1,it+Nt+3),Q.emplaceBack(it+Nt,it+Nt+3,it+Nt+2),Q.emplaceBack(je+Nt,je+Nt+3,je+Nt+1),Q.emplaceBack(je+Nt,je+Nt+2,je+Nt+3);let yt=B.length,Ot=yt+2*(ee+1);for(let Nt of[0,1])for(let hr=0;hr<=ee;hr++)for(let Sr of[0,1])B.emplaceBack(Nt*a.X,hr*se,Sr);for(let Nt=0;Nt<2*ee;Nt+=2)Q.emplaceBack(yt+Nt,yt+Nt+1,yt+Nt+3),Q.emplaceBack(yt+Nt,yt+Nt+3,yt+Nt+2),Q.emplaceBack(Ot+Nt,Ot+Nt+3,Ot+Nt+1),Q.emplaceBack(Ot+Nt,Ot+Nt+2,Ot+Nt+3);return this._mesh=new Pu(w.createVertexBuffer(B,Ua.members),w.createIndexBuffer(Q),a.a0.simpleSegment(0,0,B.length,Q.length)),this._mesh}getMeshFrameDelta(w){return 2*Math.PI*a.be/Math.pow(2,w)/5}getMinTileElevationForLngLatZoom(w,B){var Q;let{tileID:ee}=this._getOverscaledTileIDFromLngLatZoom(w,B);return(Q=this.getMinMaxElevation(ee).minElevation)!==null&&Q!==void 0?Q:0}getMinMaxElevation(w){let B=this.getTerrainData(w).tile,Q={minElevation:null,maxElevation:null};return B&&B.dem&&(Q.minElevation=B.dem.min*this.exaggeration,Q.maxElevation=B.dem.max*this.exaggeration),Q}_getOverscaledTileIDFromLngLatZoom(w,B){let Q=a.Z.fromLngLat(w.wrap()),ee=(1<<B)*a.X,se=Q.x*ee,qe=Q.y*ee,je=Math.floor(se/a.X),it=Math.floor(qe/a.X);return{tileID:new a.S(B,0,B,je,it),mercatorX:se,mercatorY:qe}}}class Ts{constructor(w,B,Q){this._context=w,this._size=B,this._tileSize=Q,this._objects=[],this._recentlyUsed=[],this._stamp=0}destruct(){for(let w of this._objects)w.texture.destroy(),w.fbo.destroy()}_createObject(w){let B=this._context.createFramebuffer(this._tileSize,this._tileSize,!0,!0),Q=new g(this._context,{width:this._tileSize,height:this._tileSize,data:null},this._context.gl.RGBA);return Q.bind(this._context.gl.LINEAR,this._context.gl.CLAMP_TO_EDGE),B.depthAttachment.set(this._context.createRenderbuffer(this._context.gl.DEPTH_STENCIL,this._tileSize,this._tileSize)),B.colorAttachment.set(Q.texture),{id:w,fbo:B,texture:Q,stamp:-1,inUse:!1}}getObjectForId(w){return this._objects[w]}useObject(w){w.inUse=!0,this._recentlyUsed=this._recentlyUsed.filter(B=>w.id!==B),this._recentlyUsed.push(w.id)}stampObject(w){w.stamp=++this._stamp}getOrCreateFreeObject(){for(let B of this._recentlyUsed)if(!this._objects[B].inUse)return this._objects[B];if(this._objects.length>=this._size)throw new Error(\"No free RenderPool available, call freeAllObjects() required!\");let w=this._createObject(this._objects.length);return this._objects.push(w),w}freeObject(w){w.inUse=!1}freeAllObjects(){for(let w of this._objects)this.freeObject(w)}isFull(){return!(this._objects.length<this._size)&&this._objects.some(w=>!w.inUse)===!1}}let Qo={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class ys{constructor(w,B){this.painter=w,this.terrain=B,this.pool=new Ts(w.context,30,B.sourceCache.tileSize*B.qualityFactor)}destruct(){this.pool.destruct()}getTexture(w){return this.pool.getObjectForId(w.rtt[this._stacks.length-1].id).texture}prepareForRender(w,B){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=w._order.filter(Q=>!w._layers[Q].isHidden(B)),this._coordsDescendingInv={};for(let Q in w.sourceCaches){this._coordsDescendingInv[Q]={};let ee=w.sourceCaches[Q].getVisibleCoordinates();for(let se of ee){let qe=this.terrain.sourceCache.getTerrainCoords(se);for(let je in qe)this._coordsDescendingInv[Q][je]||(this._coordsDescendingInv[Q][je]=[]),this._coordsDescendingInv[Q][je].push(qe[je])}}this._coordsDescendingInvStr={};for(let Q of w._order){let ee=w._layers[Q],se=ee.source;if(Qo[ee.type]&&!this._coordsDescendingInvStr[se]){this._coordsDescendingInvStr[se]={};for(let qe in this._coordsDescendingInv[se])this._coordsDescendingInvStr[se][qe]=this._coordsDescendingInv[se][qe].map(je=>je.key).sort().join()}}for(let Q of this._renderableTiles)for(let ee in this._coordsDescendingInvStr){let se=this._coordsDescendingInvStr[ee][Q.tileID.key];se&&se!==Q.rttCoords[ee]&&(Q.rtt=[])}}renderLayer(w){if(w.isHidden(this.painter.transform.zoom))return!1;let B=w.type,Q=this.painter,ee=this._renderableLayerIds[this._renderableLayerIds.length-1]===w.id;if(Qo[B]&&(this._prevType&&Qo[this._prevType]||this._stacks.push([]),this._prevType=B,this._stacks[this._stacks.length-1].push(w.id),!ee))return!0;if(Qo[this._prevType]||Qo[B]&&ee){this._prevType=B;let se=this._stacks.length-1,qe=this._stacks[se]||[];for(let je of this._renderableTiles){if(this.pool.isFull()&&(tu(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(je),je.rtt[se]){let yt=this.pool.getObjectForId(je.rtt[se].id);if(yt.stamp===je.rtt[se].stamp){this.pool.useObject(yt);continue}}let it=this.pool.getOrCreateFreeObject();this.pool.useObject(it),this.pool.stampObject(it),je.rtt[se]={id:it.id,stamp:it.stamp},Q.context.bindFramebuffer.set(it.fbo.framebuffer),Q.context.clear({color:a.aM.transparent,stencil:0}),Q.currentStencilSource=void 0;for(let yt=0;yt<qe.length;yt++){let Ot=Q.style._layers[qe[yt]],Nt=Ot.source?this._coordsDescendingInv[Ot.source][je.tileID.key]:[je.tileID];Q.context.viewport.set([0,0,it.fbo.width,it.fbo.height]),Q._renderTileClippingMasks(Ot,Nt),Q.renderLayer(Q,Q.style.sourceCaches[Ot.source],Ot,Nt),Ot.source&&(je.rttCoords[Ot.source]=this._coordsDescendingInvStr[Ot.source][je.tileID.key])}}return tu(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects(),Qo[B]}return!1}}let Bo={\"AttributionControl.ToggleAttribution\":\"Toggle attribution\",\"AttributionControl.MapFeedback\":\"Map feedback\",\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"MapLibre logo\",\"Map.Title\":\"Map\",\"Marker.Title\":\"Map marker\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"Popup.Close\":\"Close popup\",\"ScaleControl.Feet\":\"ft\",\"ScaleControl.Meters\":\"m\",\"ScaleControl.Kilometers\":\"km\",\"ScaleControl.Miles\":\"mi\",\"ScaleControl.NauticalMiles\":\"nm\",\"TerrainControl.Enable\":\"Enable terrain\",\"TerrainControl.Disable\":\"Disable terrain\",\"CooperativeGesturesHandler.WindowsHelpText\":\"Use Ctrl + scroll to zoom the map\",\"CooperativeGesturesHandler.MacHelpText\":\"Use \\u2318 + scroll to zoom the map\",\"CooperativeGesturesHandler.MobileHelpText\":\"Use two fingers to move the map\"},yl=o,Gs={hash:!1,interactive:!0,bearingSnap:7,attributionControl:Ea,maplibreLogo:!1,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,refreshExpiredTiles:!0,scrollZoom:!0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:!1,trackResize:!0,center:[0,0],zoom:0,bearing:0,pitch:0,renderWorldCopies:!0,maxTileCacheSize:null,maxTileCacheZoomLevels:a.a.MAX_TILE_CACHE_ZOOM_LEVELS,transformRequest:null,transformCameraUpdate:null,fadeDuration:300,crossSourceCollisions:!0,clickTolerance:3,localIdeographFontFamily:\"sans-serif\",pitchWithRotate:!0,validateStyle:!0,maxCanvasSize:[4096,4096],cancelPendingTileRequestsWhileZooming:!0},Rs=le=>{le.touchstart=le.dragStart,le.touchmoveWindow=le.dragMove,le.touchend=le.dragEnd},ia={showCompass:!0,showZoom:!0,visualizePitch:!1};class Ka{constructor(w,B,Q=!1){this.mousedown=qe=>{this.startMouse(a.e({},qe,{ctrlKey:!0,preventDefault:()=>qe.preventDefault()}),c.mousePos(this.element,qe)),c.addEventListener(window,\"mousemove\",this.mousemove),c.addEventListener(window,\"mouseup\",this.mouseup)},this.mousemove=qe=>{this.moveMouse(qe,c.mousePos(this.element,qe))},this.mouseup=qe=>{this.mouseRotate.dragEnd(qe),this.mousePitch&&this.mousePitch.dragEnd(qe),this.offTemp()},this.touchstart=qe=>{qe.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=c.touchPos(this.element,qe.targetTouches)[0],this.startTouch(qe,this._startPos),c.addEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.addEventListener(window,\"touchend\",this.touchend))},this.touchmove=qe=>{qe.targetTouches.length!==1?this.reset():(this._lastPos=c.touchPos(this.element,qe.targetTouches)[0],this.moveTouch(qe,this._lastPos))},this.touchend=qe=>{qe.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),delete this._startPos,delete this._lastPos,this.offTemp()},this.reset=()=>{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;let ee=w.dragRotate._mouseRotate.getClickTolerance(),se=w.dragRotate._mousePitch.getClickTolerance();this.element=B,this.mouseRotate=Dl({clickTolerance:ee,enable:!0}),this.touchRotate=(({enable:qe,clickTolerance:je,bearingDegreesPerPixelMoved:it=.8})=>{let yt=new pf;return new ju({clickTolerance:je,move:(Ot,Nt)=>({bearingDelta:(Nt.x-Ot.x)*it}),moveStateManager:yt,enable:qe,assignEvents:Rs})})({clickTolerance:ee,enable:!0}),this.map=w,Q&&(this.mousePitch=Ih({clickTolerance:se,enable:!0}),this.touchPitch=(({enable:qe,clickTolerance:je,pitchDegreesPerPixelMoved:it=-.5})=>{let yt=new pf;return new ju({clickTolerance:je,move:(Ot,Nt)=>({pitchDelta:(Nt.y-Ot.y)*it}),moveStateManager:yt,enable:qe,assignEvents:Rs})})({clickTolerance:se,enable:!0})),c.addEventListener(B,\"mousedown\",this.mousedown),c.addEventListener(B,\"touchstart\",this.touchstart,{passive:!1}),c.addEventListener(B,\"touchcancel\",this.reset)}startMouse(w,B){this.mouseRotate.dragStart(w,B),this.mousePitch&&this.mousePitch.dragStart(w,B),c.disableDrag()}startTouch(w,B){this.touchRotate.dragStart(w,B),this.touchPitch&&this.touchPitch.dragStart(w,B),c.disableDrag()}moveMouse(w,B){let Q=this.map,{bearingDelta:ee}=this.mouseRotate.dragMove(w,B)||{};if(ee&&Q.setBearing(Q.getBearing()+ee),this.mousePitch){let{pitchDelta:se}=this.mousePitch.dragMove(w,B)||{};se&&Q.setPitch(Q.getPitch()+se)}}moveTouch(w,B){let Q=this.map,{bearingDelta:ee}=this.touchRotate.dragMove(w,B)||{};if(ee&&Q.setBearing(Q.getBearing()+ee),this.touchPitch){let{pitchDelta:se}=this.touchPitch.dragMove(w,B)||{};se&&Q.setPitch(Q.getPitch()+se)}}off(){let w=this.element;c.removeEventListener(w,\"mousedown\",this.mousedown),c.removeEventListener(w,\"touchstart\",this.touchstart,{passive:!1}),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend),c.removeEventListener(w,\"touchcancel\",this.reset),this.offTemp()}offTemp(){c.enableDrag(),c.removeEventListener(window,\"mousemove\",this.mousemove),c.removeEventListener(window,\"mouseup\",this.mouseup),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend)}}let vs;function Ko(le,w,B){let Q=new a.N(le.lng,le.lat);if(le=new a.N(le.lng,le.lat),w){let ee=new a.N(le.lng-360,le.lat),se=new a.N(le.lng+360,le.lat),qe=B.locationPoint(le).distSqr(w);B.locationPoint(ee).distSqr(w)<qe?le=ee:B.locationPoint(se).distSqr(w)<qe&&(le=se)}for(;Math.abs(le.lng-B.center.lng)>180;){let ee=B.locationPoint(le);if(ee.x>=0&&ee.y>=0&&ee.x<=B.width&&ee.y<=B.height)break;le.lng>B.center.lng?le.lng-=360:le.lng+=360}return le.lng!==Q.lng&&B.locationPoint(le).y>B.height/2-B.getHorizon()?le:Q}let nu={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 Ru(le,w,B){let Q=le.classList;for(let ee in nu)Q.remove(`maplibregl-${B}-anchor-${ee}`);Q.add(`maplibregl-${B}-anchor-${w}`)}class ac extends a.E{constructor(w){if(super(),this._onKeyPress=B=>{let Q=B.code,ee=B.charCode||B.keyCode;Q!==\"Space\"&&Q!==\"Enter\"&&ee!==32&&ee!==13||this.togglePopup()},this._onMapClick=B=>{let Q=B.originalEvent.target,ee=this._element;this._popup&&(Q===ee||ee.contains(Q))&&this.togglePopup()},this._update=B=>{var Q;if(!this._map)return;let ee=this._map.loaded()&&!this._map.isMoving();((B==null?void 0:B.type)===\"terrain\"||(B==null?void 0:B.type)===\"render\"&&!ee)&&this._map.once(\"render\",this._update),this._lngLat=this._map.transform.renderWorldCopies?Ko(this._lngLat,this._flatPos,this._map.transform):(Q=this._lngLat)===null||Q===void 0?void 0:Q.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 se=\"\";this._rotationAlignment===\"viewport\"||this._rotationAlignment===\"auto\"?se=`rotateZ(${this._rotation}deg)`:this._rotationAlignment===\"map\"&&(se=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let qe=\"\";this._pitchAlignment===\"viewport\"||this._pitchAlignment===\"auto\"?qe=\"rotateX(0deg)\":this._pitchAlignment===\"map\"&&(qe=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||B&&B.type!==\"moveend\"||(this._pos=this._pos.round()),c.setTransform(this._element,`${nu[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${qe} ${se}`),u.frameAsync(new AbortController).then(()=>{this._updateOpacity(B&&B.type===\"moveend\")}).catch(()=>{})},this._onMove=B=>{if(!this._isDragging){let Q=this._clickTolerance||this._map._clickTolerance;this._isDragging=B.point.dist(this._pointerdownPos)>=Q}this._isDragging&&(this._pos=B.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",this._state===\"pending\"&&(this._state=\"active\",this.fire(new a.k(\"dragstart\"))),this.fire(new a.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),this._state===\"active\"&&this.fire(new a.k(\"dragend\")),this._state=\"inactive\"},this._addDragHandler=B=>{this._element.contains(B.originalEvent.target)&&(B.preventDefault(),this._positionDelta=B.point.sub(this._pos).add(this._offset),this._pointerdownPos=B.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=w&&w.anchor||\"center\",this._color=w&&w.color||\"#3FB1CE\",this._scale=w&&w.scale||1,this._draggable=w&&w.draggable||!1,this._clickTolerance=w&&w.clickTolerance||0,this._subpixelPositioning=w&&w.subpixelPositioning||!1,this._isDragging=!1,this._state=\"inactive\",this._rotation=w&&w.rotation||0,this._rotationAlignment=w&&w.rotationAlignment||\"auto\",this._pitchAlignment=w&&w.pitchAlignment&&w.pitchAlignment!==\"auto\"?w.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(w==null?void 0:w.opacity,w==null?void 0:w.opacityWhenCovered),w&&w.element)this._element=w.element,this._offset=a.P.convert(w&&w.offset||[0,0]);else{this._defaultMarker=!0,this._element=c.create(\"div\");let B=c.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),Q=41,ee=27;B.setAttributeNS(null,\"display\",\"block\"),B.setAttributeNS(null,\"height\",`${Q}px`),B.setAttributeNS(null,\"width\",`${ee}px`),B.setAttributeNS(null,\"viewBox\",`0 0 ${ee} ${Q}`);let se=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");se.setAttributeNS(null,\"stroke\",\"none\"),se.setAttributeNS(null,\"stroke-width\",\"1\"),se.setAttributeNS(null,\"fill\",\"none\"),se.setAttributeNS(null,\"fill-rule\",\"evenodd\");let qe=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");qe.setAttributeNS(null,\"fill-rule\",\"nonzero\");let je=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");je.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),je.setAttributeNS(null,\"fill\",\"#000000\");let it=[{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(let Oe of it){let Je=c.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");Je.setAttributeNS(null,\"opacity\",\"0.04\"),Je.setAttributeNS(null,\"cx\",\"10.5\"),Je.setAttributeNS(null,\"cy\",\"5.80029008\"),Je.setAttributeNS(null,\"rx\",Oe.rx),Je.setAttributeNS(null,\"ry\",Oe.ry),je.appendChild(Je)}let yt=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");yt.setAttributeNS(null,\"fill\",this._color);let Ot=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");Ot.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\"),yt.appendChild(Ot);let Nt=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");Nt.setAttributeNS(null,\"opacity\",\"0.25\"),Nt.setAttributeNS(null,\"fill\",\"#000000\");let hr=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");hr.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\"),Nt.appendChild(hr);let Sr=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");Sr.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),Sr.setAttributeNS(null,\"fill\",\"#FFFFFF\");let he=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");he.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");let be=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");be.setAttributeNS(null,\"fill\",\"#000000\"),be.setAttributeNS(null,\"opacity\",\"0.25\"),be.setAttributeNS(null,\"cx\",\"5.5\"),be.setAttributeNS(null,\"cy\",\"5.5\"),be.setAttributeNS(null,\"r\",\"5.4999962\");let Pe=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");Pe.setAttributeNS(null,\"fill\",\"#FFFFFF\"),Pe.setAttributeNS(null,\"cx\",\"5.5\"),Pe.setAttributeNS(null,\"cy\",\"5.5\"),Pe.setAttributeNS(null,\"r\",\"5.4999962\"),he.appendChild(be),he.appendChild(Pe),qe.appendChild(je),qe.appendChild(yt),qe.appendChild(Nt),qe.appendChild(Sr),qe.appendChild(he),B.appendChild(qe),B.setAttributeNS(null,\"height\",Q*this._scale+\"px\"),B.setAttributeNS(null,\"width\",ee*this._scale+\"px\"),this._element.appendChild(B),this._offset=a.P.convert(w&&w.offset||[0,-14])}if(this._element.classList.add(\"maplibregl-marker\"),this._element.addEventListener(\"dragstart\",B=>{B.preventDefault()}),this._element.addEventListener(\"mousedown\",B=>{B.preventDefault()}),Ru(this._element,this._anchor,\"marker\"),w&&w.className)for(let B of w.className.split(\" \"))this._element.classList.add(B);this._popup=null}addTo(w){return this.remove(),this._map=w,this._element.setAttribute(\"aria-label\",w._getUIString(\"Marker.Title\")),w.getCanvasContainer().appendChild(this._element),w.on(\"move\",this._update),w.on(\"moveend\",this._update),w.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),c.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(w){return this._lngLat=a.N.convert(w),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(w){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),w){if(!(\"offset\"in w.options)){let ee=Math.abs(13.5)/Math.SQRT2;w.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-38.1],\"bottom-left\":[ee,-1*(38.1-13.5+ee)],\"bottom-right\":[-ee,-1*(38.1-13.5+ee)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=w,this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress)}return this}setSubpixelPositioning(w){return this._subpixelPositioning=w,this}getPopup(){return this._popup}togglePopup(){let w=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:w?(w.isOpen()?w.remove():(w.setLngLat(this._lngLat),w.addTo(this._map)),this):this}_updateOpacity(w=!1){var B,Q;if(!(!((B=this._map)===null||B===void 0)&&B.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(w)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}let ee=this._map,se=ee.terrain.depthAtPoint(this._pos),qe=ee.terrain.getElevationForLngLatZoom(this._lngLat,ee.transform.tileZoom);if(ee.transform.lngLatToCameraDepth(this._lngLat,qe)-se<.006)return void(this._element.style.opacity=this._opacity);let je=-this._offset.y/ee.transform._pixelPerMeter,it=Math.sin(ee.getPitch()*Math.PI/180)*je,yt=ee.terrain.depthAtPoint(new a.P(this._pos.x,this._pos.y-this._offset.y)),Ot=ee.transform.lngLatToCameraDepth(this._lngLat,qe+it)-yt>.006;!((Q=this._popup)===null||Q===void 0)&&Q.isOpen()&&Ot&&this._popup.remove(),this._element.style.opacity=Ot?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(w){return this._offset=a.P.convert(w),this._update(),this}addClassName(w){this._element.classList.add(w)}removeClassName(w){this._element.classList.remove(w)}toggleClassName(w){return this._element.classList.toggle(w)}setDraggable(w){return this._draggable=!!w,this._map&&(w?(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(w){return this._rotation=w||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(w){return this._rotationAlignment=w||\"auto\",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(w){return this._pitchAlignment=w&&w!==\"auto\"?w:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(w,B){return w===void 0&&B===void 0&&(this._opacity=\"1\",this._opacityWhenCovered=\"0.2\"),w!==void 0&&(this._opacity=w),B!==void 0&&(this._opacityWhenCovered=B),this._map&&this._updateOpacity(!0),this}}let mf={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},bu=0,Kc=!1,Du={maxWidth:100,unit:\"metric\"};function Dc(le,w,B){let Q=B&&B.maxWidth||100,ee=le._container.clientHeight/2,se=le.unproject([0,ee]),qe=le.unproject([Q,ee]),je=se.distanceTo(qe);if(B&&B.unit===\"imperial\"){let it=3.2808*je;it>5280?Da(w,Q,it/5280,le._getUIString(\"ScaleControl.Miles\")):Da(w,Q,it,le._getUIString(\"ScaleControl.Feet\"))}else B&&B.unit===\"nautical\"?Da(w,Q,je/1852,le._getUIString(\"ScaleControl.NauticalMiles\")):je>=1e3?Da(w,Q,je/1e3,le._getUIString(\"ScaleControl.Kilometers\")):Da(w,Q,je,le._getUIString(\"ScaleControl.Meters\"))}function Da(le,w,B,Q){let ee=function(se){let qe=Math.pow(10,`${Math.floor(se)}`.length-1),je=se/qe;return je=je>=10?10:je>=5?5:je>=3?3:je>=2?2:je>=1?1:function(it){let yt=Math.pow(10,Math.ceil(-Math.log(it)/Math.LN10));return Math.round(it*yt)/yt}(je),qe*je}(B);le.style.width=w*(ee/B)+\"px\",le.innerHTML=`${ee} ${Q}`}let eo={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\",subpixelPositioning:!1},Jc=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \");function yc(le){if(le){if(typeof le==\"number\"){let w=Math.round(Math.abs(le)/Math.SQRT2);return{center:new a.P(0,0),top:new a.P(0,le),\"top-left\":new a.P(w,w),\"top-right\":new a.P(-w,w),bottom:new a.P(0,-le),\"bottom-left\":new a.P(w,-w),\"bottom-right\":new a.P(-w,-w),left:new a.P(le,0),right:new a.P(-le,0)}}if(le instanceof a.P||Array.isArray(le)){let w=a.P.convert(le);return{center:w,top:w,\"top-left\":w,\"top-right\":w,bottom:w,\"bottom-left\":w,\"bottom-right\":w,left:w,right:w}}return{center:a.P.convert(le.center||[0,0]),top:a.P.convert(le.top||[0,0]),\"top-left\":a.P.convert(le[\"top-left\"]||[0,0]),\"top-right\":a.P.convert(le[\"top-right\"]||[0,0]),bottom:a.P.convert(le.bottom||[0,0]),\"bottom-left\":a.P.convert(le[\"bottom-left\"]||[0,0]),\"bottom-right\":a.P.convert(le[\"bottom-right\"]||[0,0]),left:a.P.convert(le.left||[0,0]),right:a.P.convert(le.right||[0,0])}}return yc(new a.P(0,0))}let _c=o;i.AJAXError=a.bh,i.Evented=a.E,i.LngLat=a.N,i.MercatorCoordinate=a.Z,i.Point=a.P,i.addProtocol=a.bi,i.config=a.a,i.removeProtocol=a.bj,i.AttributionControl=qa,i.BoxZoomHandler=xu,i.CanvasSource=Ct,i.CooperativeGesturesHandler=qi,i.DoubleClickZoomHandler=fi,i.DragPanHandler=Xi,i.DragRotateHandler=hn,i.EdgeInsets=ic,i.FullscreenControl=class extends a.E{constructor(le={}){super(),this._onFullscreenChange=()=>{var w;let B=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;!((w=B==null?void 0:B.shadowRoot)===null||w===void 0)&&w.fullscreenElement;)B=B.shadowRoot.fullscreenElement;B===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,le&&le.container&&(le.container instanceof HTMLElement?this._container=le.container:a.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(le){return this._map=le,this._container||(this._container=this._map.getContainer()),this._controlContainer=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),this._controlContainer}onRemove(){c.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let le=this._fullscreenButton=c.create(\"button\",\"maplibregl-ctrl-fullscreen\",this._controlContainer);c.create(\"span\",\"maplibregl-ctrl-icon\",le).setAttribute(\"aria-hidden\",\"true\"),le.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let le=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",le),this._fullscreenButton.title=le}_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 a.k(\"fullscreenstart\")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new a.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()}},i.GeoJSONSource=rt,i.GeolocateControl=class extends a.E{constructor(le){super(),this._onSuccess=w=>{if(this._map){if(this._isOutOfMapMaxBounds(w))return this._setErrorState(),this.fire(new a.k(\"outofmaxbounds\",w)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=w,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&&this._watchState!==\"OFF\"&&this._updateMarker(w),this.options.trackUserLocation&&this._watchState!==\"ACTIVE_LOCK\"||this._updateCamera(w),this.options.showUserLocation&&this._dotElement.classList.remove(\"maplibregl-user-location-dot-stale\"),this.fire(new a.k(\"geolocate\",w)),this._finish()}},this._updateCamera=w=>{let B=new a.N(w.coords.longitude,w.coords.latitude),Q=w.coords.accuracy,ee=this._map.getBearing(),se=a.e({bearing:ee},this.options.fitBoundsOptions),qe=ce.fromLngLat(B,Q);this._map.fitBounds(qe,se,{geolocateSource:!0})},this._updateMarker=w=>{if(w){let B=new a.N(w.coords.longitude,w.coords.latitude);this._accuracyCircleMarker.setLngLat(B).addTo(this._map),this._userLocationDotMarker.setLngLat(B).addTo(this._map),this._accuracy=w.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=w=>{if(this._map){if(this.options.trackUserLocation)if(w.code===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._geolocateButton.disabled=!0;let B=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=B,this._geolocateButton.setAttribute(\"aria-label\",B),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(w.code===3&&Kc)return;this._setErrorState()}this._watchState!==\"OFF\"&&this.options.showUserLocation&&this._dotElement.classList.add(\"maplibregl-user-location-dot-stale\"),this.fire(new a.k(\"error\",w)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener(\"contextmenu\",w=>w.preventDefault()),this._geolocateButton=c.create(\"button\",\"maplibregl-ctrl-geolocate\",this._container),c.create(\"span\",\"maplibregl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",this._geolocateButton.disabled=!0)},this._finishSetupUI=w=>{if(this._map){if(w===!1){a.w(\"Geolocation support is not available so the GeolocateControl will be disabled.\");let B=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=B,this._geolocateButton.setAttribute(\"aria-label\",B)}else{let B=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.disabled=!1,this._geolocateButton.title=B,this._geolocateButton.setAttribute(\"aria-label\",B)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=c.create(\"div\",\"maplibregl-user-location-dot\"),this._userLocationDotMarker=new ac({element:this._dotElement}),this._circleElement=c.create(\"div\",\"maplibregl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new ac({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\",B=>{B.geolocateSource||this._watchState!==\"ACTIVE_LOCK\"||B.originalEvent&&B.originalEvent.type===\"resize\"||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this.fire(new a.k(\"trackuserlocationend\")),this.fire(new a.k(\"userlocationlostfocus\")))})}},this.options=a.e({},mf,le)}onAdd(le){return this._map=le,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),function(){return a._(this,arguments,void 0,function*(w=!1){if(vs!==void 0&&!w)return vs;if(window.navigator.permissions===void 0)return vs=!!window.navigator.geolocation,vs;try{vs=(yield window.navigator.permissions.query({name:\"geolocation\"})).state!==\"denied\"}catch(B){vs=!!window.navigator.geolocation}return vs})}().then(w=>this._finishSetupUI(w)),this._container}onRemove(){this._geolocationWatchID!==void 0&&(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(),c.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,bu=0,Kc=!1}_isOutOfMapMaxBounds(le){let w=this._map.getMaxBounds(),B=le.coords;return w&&(B.longitude<w.getWest()||B.longitude>w.getEast()||B.latitude<w.getSouth()||B.latitude>w.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(){let le=this._map.getBounds(),w=le.getSouthEast(),B=le.getNorthEast(),Q=w.distanceTo(B),ee=Math.ceil(this._accuracy/(Q/this._map._container.clientHeight)*2);this._circleElement.style.width=`${ee}px`,this._circleElement.style.height=`${ee}px`}trigger(){if(!this._setup)return a.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 a.k(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":bu--,Kc=!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 a.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 a.k(\"trackuserlocationstart\")),this.fire(new a.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(this._watchState===\"OFF\"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let le;this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),bu++,bu>1?(le={maximumAge:6e5,timeout:0},Kc=!0):(le=this.options.positionOptions,Kc=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,le)}}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)}},i.Hash=gd,i.ImageSource=Rt,i.KeyboardHandler=Bt,i.LngLatBounds=ce,i.LogoControl=Cn,i.Map=class extends Ta{constructor(le){a.bf.mark(a.bg.create);let w=Object.assign(Object.assign({},Gs),le);if(w.minZoom!=null&&w.maxZoom!=null&&w.minZoom>w.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(w.minPitch!=null&&w.maxPitch!=null&&w.minPitch>w.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(w.minPitch!=null&&w.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(w.maxPitch!=null&&w.maxPitch>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(super(new Qs(w.minZoom,w.maxZoom,w.minPitch,w.maxPitch,w.renderWorldCopies),{bearingSnap:w.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new sn,this._controls=[],this._mapId=a.a4(),this._contextLost=B=>{B.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new a.k(\"webglcontextlost\",{originalEvent:B}))},this._contextRestored=B=>{this._setupPainter(),this.resize(),this._update(),this.fire(new a.k(\"webglcontextrestored\",{originalEvent:B}))},this._onMapScroll=B=>{if(B.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=w.interactive,this._maxTileCacheSize=w.maxTileCacheSize,this._maxTileCacheZoomLevels=w.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=w.failIfMajorPerformanceCaveat===!0,this._preserveDrawingBuffer=w.preserveDrawingBuffer===!0,this._antialias=w.antialias===!0,this._trackResize=w.trackResize===!0,this._bearingSnap=w.bearingSnap,this._refreshExpiredTiles=w.refreshExpiredTiles===!0,this._fadeDuration=w.fadeDuration,this._crossSourceCollisions=w.crossSourceCollisions===!0,this._collectResourceTiming=w.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},Bo),w.locale),this._clickTolerance=w.clickTolerance,this._overridePixelRatio=w.pixelRatio,this._maxCanvasSize=w.maxCanvasSize,this.transformCameraUpdate=w.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=w.cancelPendingTileRequestsWhileZooming===!0,this._imageQueueHandle=p.addThrottleControl(()=>this.isMoving()),this._requestManager=new E(w.transformRequest),typeof w.container==\"string\"){if(this._container=document.getElementById(w.container),!this._container)throw new Error(`Container '${w.container}' not found.`)}else{if(!(w.container instanceof HTMLElement))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=w.container}if(w.maxBounds&&this.setMaxBounds(w.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}),typeof window!=\"undefined\"){addEventListener(\"online\",this._onWindowOnline,!1);let B=!1,Q=Qh(ee=>{this._trackResize&&!this._removed&&(this.resize(ee),this.redraw())},50);this._resizeObserver=new ResizeObserver(ee=>{B?Q(ee):B=!0}),this._resizeObserver.observe(this._container)}this.handlers=new Ma(this,w),this._hash=w.hash&&new gd(typeof w.hash==\"string\"&&w.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:w.center,zoom:w.zoom,bearing:w.bearing,pitch:w.pitch}),w.bounds&&(this.resize(),this.fitBounds(w.bounds,a.e({},w.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=w.localIdeographFontFamily,this._validateStyle=w.validateStyle,w.style&&this.setStyle(w.style,{localIdeographFontFamily:w.localIdeographFontFamily}),w.attributionControl&&this.addControl(new qa(typeof w.attributionControl==\"boolean\"?void 0:w.attributionControl)),w.maplibreLogo&&this.addControl(new Cn,w.logoPosition),this.on(\"style.load\",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on(\"data\",B=>{this._update(B.dataType===\"style\"),this.fire(new a.k(`${B.dataType}data`,B))}),this.on(\"dataloading\",B=>{this.fire(new a.k(`${B.dataType}dataloading`,B))}),this.on(\"dataabort\",B=>{this.fire(new a.k(\"sourcedataabort\",B))})}_getMapId(){return this._mapId}addControl(le,w){if(w===void 0&&(w=le.getDefaultPosition?le.getDefaultPosition():\"top-right\"),!le||!le.onAdd)return this.fire(new a.j(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));let B=le.onAdd(this);this._controls.push(le);let Q=this._controlPositions[w];return w.indexOf(\"bottom\")!==-1?Q.insertBefore(B,Q.firstChild):Q.appendChild(B),this}removeControl(le){if(!le||!le.onRemove)return this.fire(new a.j(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));let w=this._controls.indexOf(le);return w>-1&&this._controls.splice(w,1),le.onRemove(this),this}hasControl(le){return this._controls.indexOf(le)>-1}calculateCameraOptionsFromTo(le,w,B,Q){return Q==null&&this.terrain&&(Q=this.terrain.getElevationForLngLatZoom(B,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(le,w,B,Q)}resize(le){var w;let B=this._containerDimensions(),Q=B[0],ee=B[1],se=this._getClampedPixelRatio(Q,ee);if(this._resizeCanvas(Q,ee,se),this.painter.resize(Q,ee,se),this.painter.overLimit()){let je=this.painter.context.gl;this._maxCanvasSize=[je.drawingBufferWidth,je.drawingBufferHeight];let it=this._getClampedPixelRatio(Q,ee);this._resizeCanvas(Q,ee,it),this.painter.resize(Q,ee,it)}this.transform.resize(Q,ee),(w=this._requestedCameraState)===null||w===void 0||w.resize(Q,ee);let qe=!this._moving;return qe&&(this.stop(),this.fire(new a.k(\"movestart\",le)).fire(new a.k(\"move\",le))),this.fire(new a.k(\"resize\",le)),qe&&this.fire(new a.k(\"moveend\",le)),this}_getClampedPixelRatio(le,w){let{0:B,1:Q}=this._maxCanvasSize,ee=this.getPixelRatio(),se=le*ee,qe=w*ee;return Math.min(se>B?B/se:1,qe>Q?Q/qe:1)*ee}getPixelRatio(){var le;return(le=this._overridePixelRatio)!==null&&le!==void 0?le:devicePixelRatio}setPixelRatio(le){this._overridePixelRatio=le,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(le){return this.transform.setMaxBounds(ce.convert(le)),this._update()}setMinZoom(le){if((le=le==null?-2:le)>=-2&&le<=this.transform.maxZoom)return this.transform.minZoom=le,this._update(),this.getZoom()<le&&this.setZoom(le),this;throw new Error(\"minZoom must be between -2 and the current maxZoom, inclusive\")}getMinZoom(){return this.transform.minZoom}setMaxZoom(le){if((le=le==null?22:le)>=this.transform.minZoom)return this.transform.maxZoom=le,this._update(),this.getZoom()>le&&this.setZoom(le),this;throw new Error(\"maxZoom must be greater than the current minZoom\")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(le){if((le=le==null?0:le)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(le>=0&&le<=this.transform.maxPitch)return this.transform.minPitch=le,this._update(),this.getPitch()<le&&this.setPitch(le),this;throw new Error(\"minPitch must be between 0 and the current maxPitch, inclusive\")}getMinPitch(){return this.transform.minPitch}setMaxPitch(le){if((le=le==null?60:le)>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(le>=this.transform.minPitch)return this.transform.maxPitch=le,this._update(),this.getPitch()>le&&this.setPitch(le),this;throw new Error(\"maxPitch must be greater than the current minPitch\")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(le){return this.transform.renderWorldCopies=le,this._update()}project(le){return this.transform.locationPoint(a.N.convert(le),this.style&&this.terrain)}unproject(le){return this.transform.pointLocation(a.P.convert(le),this.terrain)}isMoving(){var le;return this._moving||((le=this.handlers)===null||le===void 0?void 0:le.isMoving())}isZooming(){var le;return this._zooming||((le=this.handlers)===null||le===void 0?void 0:le.isZooming())}isRotating(){var le;return this._rotating||((le=this.handlers)===null||le===void 0?void 0:le.isRotating())}_createDelegatedListener(le,w,B){if(le===\"mouseenter\"||le===\"mouseover\"){let Q=!1;return{layers:w,listener:B,delegates:{mousemove:se=>{let qe=w.filter(it=>this.getLayer(it)),je=qe.length!==0?this.queryRenderedFeatures(se.point,{layers:qe}):[];je.length?Q||(Q=!0,B.call(this,new ru(le,this,se.originalEvent,{features:je}))):Q=!1},mouseout:()=>{Q=!1}}}}if(le===\"mouseleave\"||le===\"mouseout\"){let Q=!1;return{layers:w,listener:B,delegates:{mousemove:qe=>{let je=w.filter(it=>this.getLayer(it));(je.length!==0?this.queryRenderedFeatures(qe.point,{layers:je}):[]).length?Q=!0:Q&&(Q=!1,B.call(this,new ru(le,this,qe.originalEvent)))},mouseout:qe=>{Q&&(Q=!1,B.call(this,new ru(le,this,qe.originalEvent)))}}}}{let Q=ee=>{let se=w.filter(je=>this.getLayer(je)),qe=se.length!==0?this.queryRenderedFeatures(ee.point,{layers:se}):[];qe.length&&(ee.features=qe,B.call(this,ee),delete ee.features)};return{layers:w,listener:B,delegates:{[le]:Q}}}}_saveDelegatedListener(le,w){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[le]=this._delegatedListeners[le]||[],this._delegatedListeners[le].push(w)}_removeDelegatedListener(le,w,B){if(!this._delegatedListeners||!this._delegatedListeners[le])return;let Q=this._delegatedListeners[le];for(let ee=0;ee<Q.length;ee++){let se=Q[ee];if(se.listener===B&&se.layers.length===w.length&&se.layers.every(qe=>w.includes(qe))){for(let qe in se.delegates)this.off(qe,se.delegates[qe]);return void Q.splice(ee,1)}}}on(le,w,B){if(B===void 0)return super.on(le,w);let Q=this._createDelegatedListener(le,typeof w==\"string\"?[w]:w,B);this._saveDelegatedListener(le,Q);for(let ee in Q.delegates)this.on(ee,Q.delegates[ee]);return this}once(le,w,B){if(B===void 0)return super.once(le,w);let Q=typeof w==\"string\"?[w]:w,ee=this._createDelegatedListener(le,Q,B);for(let se in ee.delegates){let qe=ee.delegates[se];ee.delegates[se]=(...je)=>{this._removeDelegatedListener(le,Q,B),qe(...je)}}this._saveDelegatedListener(le,ee);for(let se in ee.delegates)this.once(se,ee.delegates[se]);return this}off(le,w,B){return B===void 0?super.off(le,w):(this._removeDelegatedListener(le,typeof w==\"string\"?[w]:w,B),this)}queryRenderedFeatures(le,w){if(!this.style)return[];let B,Q=le instanceof a.P||Array.isArray(le),ee=Q?le:[[0,0],[this.transform.width,this.transform.height]];if(w=w||(Q?{}:le)||{},ee instanceof a.P||typeof ee[0]==\"number\")B=[a.P.convert(ee)];else{let se=a.P.convert(ee[0]),qe=a.P.convert(ee[1]);B=[se,new a.P(qe.x,se.y),qe,new a.P(se.x,qe.y),se]}return this.style.queryRenderedFeatures(B,w,this.transform)}querySourceFeatures(le,w){return this.style.querySourceFeatures(le,w)}setStyle(le,w){return(w=a.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},w)).diff!==!1&&w.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&le?(this._diffStyle(le,w),this):(this._localIdeographFontFamily=w.localIdeographFontFamily,this._updateStyle(le,w))}setTransformRequest(le){return this._requestManager.setTransformRequest(le),this}_getUIString(le){let w=this._locale[le];if(w==null)throw new Error(`Missing UI string '${le}'`);return w}_updateStyle(le,w){if(w.transformStyle&&this.style&&!this.style._loaded)return void this.style.once(\"style.load\",()=>this._updateStyle(le,w));let B=this.style&&w.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!le)),le?(this.style=new Ha(this,w||{}),this.style.setEventedParent(this,{style:this.style}),typeof le==\"string\"?this.style.loadURL(le,w,B):this.style.loadJSON(le,w,B),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new Ha(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(le,w){if(typeof le==\"string\"){let B=this._requestManager.transformRequest(le,\"Style\");a.h(B,new AbortController).then(Q=>{this._updateDiff(Q.data,w)}).catch(Q=>{Q&&this.fire(new a.j(Q))})}else typeof le==\"object\"&&this._updateDiff(le,w)}_updateDiff(le,w){try{this.style.setState(le,w)&&this._update(!0)}catch(B){a.w(`Unable to perform style diff: ${B.message||B.error||B}. Rebuilding the style from scratch.`),this._updateStyle(le,w)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():a.w(\"There is no style added to the map.\")}addSource(le,w){return this._lazyInitEmptyStyle(),this.style.addSource(le,w),this._update(!0)}isSourceLoaded(le){let w=this.style&&this.style.sourceCaches[le];if(w!==void 0)return w.loaded();this.fire(new a.j(new Error(`There is no source with ID '${le}'`)))}setTerrain(le){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off(\"data\",this._terrainDataCallback),le){let w=this.style.sourceCaches[le.source];if(!w)throw new Error(`cannot load terrain, because there exists no source with ID: ${le.source}`);this.terrain===null&&w.reload();for(let B in this.style._layers){let Q=this.style._layers[B];Q.type===\"hillshade\"&&Q.source===le.source&&a.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 Xo(this.painter,w,le),this.painter.renderToTexture=new ys(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=B=>{B.dataType===\"style\"?this.terrain.sourceCache.freeRtt():B.dataType===\"source\"&&B.tile&&(B.sourceId!==le.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(B.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 a.k(\"terrain\",{terrain:le})),this}getTerrain(){var le,w;return(w=(le=this.terrain)===null||le===void 0?void 0:le.options)!==null&&w!==void 0?w:null}areTilesLoaded(){let le=this.style&&this.style.sourceCaches;for(let w in le){let B=le[w]._tiles;for(let Q in B){let ee=B[Q];if(ee.state!==\"loaded\"&&ee.state!==\"errored\")return!1}}return!0}removeSource(le){return this.style.removeSource(le),this._update(!0)}getSource(le){return this.style.getSource(le)}addImage(le,w,B={}){let{pixelRatio:Q=1,sdf:ee=!1,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt}=B;if(this._lazyInitEmptyStyle(),!(w instanceof HTMLImageElement||a.b(w))){if(w.width===void 0||w.height===void 0)return this.fire(new a.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`\")));{let{width:Ot,height:Nt,data:hr}=w,Sr=w;return this.style.addImage(le,{data:new a.R({width:Ot,height:Nt},new Uint8Array(hr)),pixelRatio:Q,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt,sdf:ee,version:0,userImage:Sr}),Sr.onAdd&&Sr.onAdd(this,le),this}}{let{width:Ot,height:Nt,data:hr}=u.getImageData(w);this.style.addImage(le,{data:new a.R({width:Ot,height:Nt},hr),pixelRatio:Q,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt,sdf:ee,version:0})}}updateImage(le,w){let B=this.style.getImage(le);if(!B)return this.fire(new a.j(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));let Q=w instanceof HTMLImageElement||a.b(w)?u.getImageData(w):w,{width:ee,height:se,data:qe}=Q;if(ee===void 0||se===void 0)return this.fire(new a.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(ee!==B.data.width||se!==B.data.height)return this.fire(new a.j(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));let je=!(w instanceof HTMLImageElement||a.b(w));return B.data.replace(qe,je),this.style.updateImage(le,B),this}getImage(le){return this.style.getImage(le)}hasImage(le){return le?!!this.style.getImage(le):(this.fire(new a.j(new Error(\"Missing required image id\"))),!1)}removeImage(le){this.style.removeImage(le)}loadImage(le){return p.getImage(this._requestManager.transformRequest(le,\"Image\"),new AbortController)}listImages(){return this.style.listImages()}addLayer(le,w){return this._lazyInitEmptyStyle(),this.style.addLayer(le,w),this._update(!0)}moveLayer(le,w){return this.style.moveLayer(le,w),this._update(!0)}removeLayer(le){return this.style.removeLayer(le),this._update(!0)}getLayer(le){return this.style.getLayer(le)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(le,w,B){return this.style.setLayerZoomRange(le,w,B),this._update(!0)}setFilter(le,w,B={}){return this.style.setFilter(le,w,B),this._update(!0)}getFilter(le){return this.style.getFilter(le)}setPaintProperty(le,w,B,Q={}){return this.style.setPaintProperty(le,w,B,Q),this._update(!0)}getPaintProperty(le,w){return this.style.getPaintProperty(le,w)}setLayoutProperty(le,w,B,Q={}){return this.style.setLayoutProperty(le,w,B,Q),this._update(!0)}getLayoutProperty(le,w){return this.style.getLayoutProperty(le,w)}setGlyphs(le,w={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(le,w),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(le,w,B={}){return this._lazyInitEmptyStyle(),this.style.addSprite(le,w,B,Q=>{Q||this._update(!0)}),this}removeSprite(le){return this._lazyInitEmptyStyle(),this.style.removeSprite(le),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(le,w={}){return this._lazyInitEmptyStyle(),this.style.setSprite(le,w,B=>{B||this._update(!0)}),this}setLight(le,w={}){return this._lazyInitEmptyStyle(),this.style.setLight(le,w),this._update(!0)}getLight(){return this.style.getLight()}setSky(le){return this._lazyInitEmptyStyle(),this.style.setSky(le),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(le,w){return this.style.setFeatureState(le,w),this._update()}removeFeatureState(le,w){return this.style.removeFeatureState(le,w),this._update()}getFeatureState(le){return this.style.getFeatureState(le)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let le=0,w=0;return this._container&&(le=this._container.clientWidth||400,w=this._container.clientHeight||300),[le,w]}_setupContainer(){let le=this._container;le.classList.add(\"maplibregl-map\");let w=this._canvasContainer=c.create(\"div\",\"maplibregl-canvas-container\",le);this._interactive&&w.classList.add(\"maplibregl-interactive\"),this._canvas=c.create(\"canvas\",\"maplibregl-canvas\",w),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\");let B=this._containerDimensions(),Q=this._getClampedPixelRatio(B[0],B[1]);this._resizeCanvas(B[0],B[1],Q);let ee=this._controlContainer=c.create(\"div\",\"maplibregl-control-container\",le),se=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(qe=>{se[qe]=c.create(\"div\",`maplibregl-ctrl-${qe} `,ee)}),this._container.addEventListener(\"scroll\",this._onMapScroll,!1)}_resizeCanvas(le,w,B){this._canvas.width=Math.floor(B*le),this._canvas.height=Math.floor(B*w),this._canvas.style.width=`${le}px`,this._canvas.style.height=`${w}px`}_setupPainter(){let le={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},w=null;this._canvas.addEventListener(\"webglcontextcreationerror\",Q=>{w={requestedAttributes:le},Q&&(w.statusMessage=Q.statusMessage,w.type=Q.type)},{once:!0});let B=this._canvas.getContext(\"webgl2\",le)||this._canvas.getContext(\"webgl\",le);if(!B){let Q=\"Failed to initialize WebGL\";throw w?(w.message=Q,new Error(JSON.stringify(w))):new Error(Q)}this.painter=new Lc(B,this.transform),f.testSupport(B)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(le){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||le,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(le){return this._update(),this._renderTaskQueue.add(le)}_cancelRenderFrame(le){this._renderTaskQueue.remove(le)}_render(le){let w=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(le),this._removed)return;let B=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let ee=this.transform.zoom,se=u.now();this.style.zoomHistory.update(ee,se);let qe=new a.z(ee,{now:se,fadeDuration:w,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),je=qe.crossFadingFactor();je===1&&je===this._crossFadingFactor||(B=!0,this._crossFadingFactor=je),this.style.update(qe)}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,w,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:w,showPadding:this.showPadding}),this.fire(new a.k(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,a.bf.mark(a.bg.load),this.fire(new a.k(\"load\"))),this.style&&(this.style.hasTransitions()||B)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let Q=this._sourcesDirty||this._styleDirty||this._placementDirty;return Q||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new a.k(\"idle\")),!this._loaded||this._fullyLoaded||Q||(this._fullyLoaded=!0,a.bf.mark(a.bg.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var le;this._hash&&this._hash.remove();for(let B of this._controls)B.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),typeof window!=\"undefined\"&&removeEventListener(\"online\",this._onWindowOnline,!1),p.removeThrottleControl(this._imageQueueHandle),(le=this._resizeObserver)===null||le===void 0||le.disconnect();let w=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");w!=null&&w.loseContext&&w.loseContext(),this._canvas.removeEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.removeEventListener(\"webglcontextlost\",this._contextLost,!1),c.remove(this._canvasContainer),c.remove(this._controlContainer),this._container.classList.remove(\"maplibregl-map\"),a.bf.clearMetrics(),this._removed=!0,this.fire(new a.k(\"remove\"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then(le=>{a.bf.frame(le),this._frameRequest=null,this._render(le)}).catch(()=>{}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(le){this._showTileBoundaries!==le&&(this._showTileBoundaries=le,this._update())}get showPadding(){return!!this._showPadding}set showPadding(le){this._showPadding!==le&&(this._showPadding=le,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(le){this._showCollisionBoxes!==le&&(this._showCollisionBoxes=le,le?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(le){this._showOverdrawInspector!==le&&(this._showOverdrawInspector=le,this._update())}get repaint(){return!!this._repaint}set repaint(le){this._repaint!==le&&(this._repaint=le,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(le){this._vertices=le,this._update()}get version(){return yl}getCameraTargetElevation(){return this.transform.elevation}},i.MapMouseEvent=ru,i.MapTouchEvent=vf,i.MapWheelEvent=md,i.Marker=ac,i.NavigationControl=class{constructor(le){this._updateZoomButtons=()=>{let w=this._map.getZoom(),B=w===this._map.getMaxZoom(),Q=w===this._map.getMinZoom();this._zoomInButton.disabled=B,this._zoomOutButton.disabled=Q,this._zoomInButton.setAttribute(\"aria-disabled\",B.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",Q.toString())},this._rotateCompassArrow=()=>{let w=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=w},this._setButtonTitle=(w,B)=>{let Q=this._map._getUIString(`NavigationControl.${B}`);w.title=Q,w.setAttribute(\"aria-label\",Q)},this.options=a.e({},ia,le),this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",w=>w.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton(\"maplibregl-ctrl-zoom-in\",w=>this._map.zoomIn({},{originalEvent:w})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",\"true\"),this._zoomOutButton=this._createButton(\"maplibregl-ctrl-zoom-out\",w=>this._map.zoomOut({},{originalEvent:w})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",\"true\")),this.options.showCompass&&(this._compass=this._createButton(\"maplibregl-ctrl-compass\",w=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:w}):this._map.resetNorth({},{originalEvent:w})}),this._compassIcon=c.create(\"span\",\"maplibregl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",\"true\"))}onAdd(le){return this._map=le,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 Ka(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){c.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(le,w){let B=c.create(\"button\",le,this._container);return B.type=\"button\",B.addEventListener(\"click\",w),B}},i.Popup=class extends a.E{constructor(le){super(),this.remove=()=>(this._content&&c.remove(this._content),this._container&&(c.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 a.k(\"close\"))),this),this._onMouseUp=w=>{this._update(w.point)},this._onMouseMove=w=>{this._update(w.point)},this._onDrag=w=>{this._update(w.point)},this._update=w=>{var B;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=c.create(\"div\",\"maplibregl-popup\",this._map.getContainer()),this._tip=c.create(\"div\",\"maplibregl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className)for(let je of this.options.className.split(\" \"))this._container.classList.add(je);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._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?Ko(this._lngLat,this._flatPos,this._map.transform):(B=this._lngLat)===null||B===void 0?void 0:B.wrap(),this._trackPointer&&!w)return;let Q=this._flatPos=this._pos=this._trackPointer&&w?w:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&w?w:this._map.transform.locationPoint(this._lngLat));let ee=this.options.anchor,se=yc(this.options.offset);if(!ee){let je=this._container.offsetWidth,it=this._container.offsetHeight,yt;yt=Q.y+se.bottom.y<it?[\"top\"]:Q.y>this._map.transform.height-it?[\"bottom\"]:[],Q.x<je/2?yt.push(\"left\"):Q.x>this._map.transform.width-je/2&&yt.push(\"right\"),ee=yt.length===0?\"bottom\":yt.join(\"-\")}let qe=Q.add(se[ee]);this.options.subpixelPositioning||(qe=qe.round()),c.setTransform(this._container,`${nu[ee]} translate(${qe.x}px,${qe.y}px)`),Ru(this._container,ee,\"popup\")},this._onClose=()=>{this.remove()},this.options=a.e(Object.create(eo),le)}addTo(le){return this._map&&this.remove(),this._map=le,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 a.k(\"open\")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(le){return this._lngLat=a.N.convert(le),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(le){return this.setDOMContent(document.createTextNode(le))}setHTML(le){let w=document.createDocumentFragment(),B=document.createElement(\"body\"),Q;for(B.innerHTML=le;Q=B.firstChild,Q;)w.appendChild(Q);return this.setDOMContent(w)}getMaxWidth(){var le;return(le=this._container)===null||le===void 0?void 0:le.style.maxWidth}setMaxWidth(le){return this.options.maxWidth=le,this._update(),this}setDOMContent(le){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=c.create(\"div\",\"maplibregl-popup-content\",this._container);return this._content.appendChild(le),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(le){return this._container&&this._container.classList.add(le),this}removeClassName(le){return this._container&&this._container.classList.remove(le),this}setOffset(le){return this.options.offset=le,this._update(),this}toggleClassName(le){if(this._container)return this._container.classList.toggle(le)}setSubpixelPositioning(le){this.options.subpixelPositioning=le}_createCloseButton(){this.options.closeButton&&(this._closeButton=c.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;let le=this._container.querySelector(Jc);le&&le.focus()}},i.RasterDEMTileSource=qt,i.RasterTileSource=ct,i.ScaleControl=class{constructor(le){this._onMove=()=>{Dc(this._map,this._container,this.options)},this.setUnit=w=>{this.options.unit=w,Dc(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},Du),le)}getDefaultPosition(){return\"bottom-left\"}onAdd(le){return this._map=le,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-scale\",le.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container}onRemove(){c.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0}},i.ScrollZoomHandler=Ur,i.Style=Ha,i.TerrainControl=class{constructor(le){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=le}onAdd(le){return this._map=le,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._terrainButton=c.create(\"button\",\"maplibregl-ctrl-terrain\",this._container),c.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(){c.remove(this._container),this._map.off(\"terrain\",this._updateTerrainIcon),this._map=void 0}},i.TwoFingersTouchPitchHandler=gf,i.TwoFingersTouchRotateHandler=Yc,i.TwoFingersTouchZoomHandler=iu,i.TwoFingersTouchZoomRotateHandler=Ti,i.VectorTileSource=nt,i.VideoSource=kt,i.addSourceType=(le,w)=>a._(void 0,void 0,void 0,function*(){if(xr(le))throw new Error(`A source type called \"${le}\" already exists.`);((B,Q)=>{Yt[B]=Q})(le,w)}),i.clearPrewarmedResources=function(){let le=ge;le&&(le.isPreloaded()&&le.numActive()===1?(le.release(_e),ge=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()\"))},i.getMaxParallelImageRequests=function(){return a.a.MAX_PARALLEL_IMAGE_REQUESTS},i.getRTLTextPluginStatus=function(){return bt().getRTLTextPluginStatus()},i.getVersion=function(){return _c},i.getWorkerCount=function(){return Me.workerCount},i.getWorkerUrl=function(){return a.a.WORKER_URL},i.importScriptInWorkers=function(le){return Ae().broadcast(\"IS\",le)},i.prewarm=function(){Te().acquire(_e)},i.setMaxParallelImageRequests=function(le){a.a.MAX_PARALLEL_IMAGE_REQUESTS=le},i.setRTLTextPlugin=function(le,w){return bt().setRTLTextPlugin(le,w)},i.setWorkerCount=function(le){Me.workerCount=le},i.setWorkerUrl=function(le){a.a.WORKER_URL=le}});var n=e;return n})});var KHe=ye((Z1r,YHe)=>{\"use strict\";var iw=Mr(),gjt=Pl().sanitizeHTML,mjt=fJ(),WHe=wx();function ZHe(e,t){this.subplot=e,this.uid=e.uid+\"-\"+t,this.index=t,this.idSource=\"source-\"+this.uid,this.idLayer=WHe.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var ag=ZHe.prototype;ag.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=n7(t)};ag.needsNewImage=function(e){var t=this.subplot.map;return t.getSource(this.idSource)&&this.sourceType===\"image\"&&e.sourcetype===\"image\"&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))};ag.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type};ag.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]};ag.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]};ag.updateImage=function(e){var t=this.subplot.map;t.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var r=this.findFollowingMapLayerId(this.lookupBelow());r!==null&&this.subplot.map.moveLayer(this.idLayer,r)};ag.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,!!n7(e)){var r=yjt(e);t.addSource(this.idSource,r)}};ag.findFollowingMapLayerId=function(e){if(e===\"traces\")for(var t=this.subplot.getMapLayers(),r=0;r<t.length;r++){var n=t[r].id;if(typeof n==\"string\"&&n.indexOf(WHe.traceLayerPrefix)===0){e=n;break}}return e};ag.updateLayer=function(e){var t=this.subplot,r=XHe(e),n=this.lookupBelow(),i=this.findFollowingMapLayerId(n);this.removeLayer(),n7(e)&&t.addLayer({id:this.idLayer,source:this.idSource,\"source-layer\":e.sourcelayer||\"\",type:e.type,minzoom:e.minzoom,maxzoom:e.maxzoom,layout:r.layout,paint:r.paint},i),this.layerType=e.type,this.below=n};ag.updateStyle=function(e){if(n7(e)){var t=XHe(e);this.subplot.setOptions(this.idLayer,\"setLayoutProperty\",t.layout),this.subplot.setOptions(this.idLayer,\"setPaintProperty\",t.paint)}};ag.removeLayer=function(){var e=this.subplot.map;e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer)};ag.dispose=function(){var e=this.subplot.map;e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer),e.getSource(this.idSource)&&e.removeSource(this.idSource)};function n7(e){if(!e.visible)return!1;var t=e.source;if(Array.isArray(t)&&t.length>0){for(var r=0;r<t.length;r++)if(typeof t[r]!=\"string\"||t[r].length===0)return!1;return!0}return iw.isPlainObject(t)||typeof t==\"string\"&&t.length>0}function XHe(e){var t={},r={};switch(e.type){case\"circle\":iw.extendFlat(r,{\"circle-radius\":e.circle.radius,\"circle-color\":e.color,\"circle-opacity\":e.opacity});break;case\"line\":iw.extendFlat(r,{\"line-width\":e.line.width,\"line-color\":e.color,\"line-opacity\":e.opacity,\"line-dasharray\":e.line.dash});break;case\"fill\":iw.extendFlat(r,{\"fill-color\":e.color,\"fill-outline-color\":e.fill.outlinecolor,\"fill-opacity\":e.opacity});break;case\"symbol\":var n=e.symbol,i=mjt(n.textposition,n.iconsize);iw.extendFlat(t,{\"icon-image\":n.icon+\"-15\",\"icon-size\":n.iconsize/10,\"text-field\":n.text,\"text-size\":n.textfont.size,\"text-anchor\":i.anchor,\"text-offset\":i.offset,\"symbol-placement\":n.placement}),iw.extendFlat(r,{\"icon-color\":e.color,\"text-color\":n.textfont.color,\"text-opacity\":e.opacity});break;case\"raster\":iw.extendFlat(r,{\"raster-fade-duration\":0,\"raster-opacity\":e.opacity});break}return{layout:t,paint:r}}function yjt(e){var t=e.sourcetype,r=e.source,n={type:t},i;return t===\"geojson\"?i=\"data\":t===\"vector\"?i=typeof r==\"string\"?\"url\":\"tiles\":t===\"raster\"?(i=\"tiles\",n.tileSize=256):t===\"image\"&&(i=\"url\",n.coordinates=e.coordinates),n[i]=r,e.sourceattribution&&(n.attribution=gjt(e.sourceattribution)),n}YHe.exports=function(t,r,n){var i=new ZHe(t,r);return i.update(n),i}});var nGe=ye((X1r,iGe)=>{\"use strict\";var mJ=jHe(),yJ=Mr(),QHe=nx(),JHe=ba(),_jt=Qa(),xjt=gv(),a7=Nc(),eGe=Sg(),bjt=eGe.drawMode,wjt=eGe.selectMode,Tjt=wf().prepSelect,Ajt=wf().clearOutline,Sjt=wf().clearSelectionsCache,Mjt=wf().selectOnClick,nw=wx(),Ejt=KHe();function tGe(e,t){this.id=t,this.gd=e;var r=e._fullLayout,n=e._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+\"-\"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var Sh=tGe.prototype;Sh.plot=function(e,t,r){var n=this,i;n.map?i=new Promise(function(a,o){n.updateMap(e,t,a,o)}):i=new Promise(function(a,o){n.createMap(e,t,a,o)}),r.push(i)};Sh.createMap=function(e,t,r,n){var i=this,a=t[i.id],o=i.styleObj=rGe(a.style),s=a.bounds,l=s?[[s.west,s.south],[s.east,s.north]]:null,u=i.map=new mJ.Map({container:i.div,style:o.style,center:_J(a.center),zoom:a.zoom,bearing:a.bearing,pitch:a.pitch,maxBounds:l,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new mJ.AttributionControl({compact:!0})),c={};u.on(\"styleimagemissing\",function(h){var d=h.id;if(!c[d]&&d.includes(\"-15\")){c[d]=!0;var v=new Image(15,15);v.onload=function(){u.addImage(d,v)},v.crossOrigin=\"Anonymous\",v.src=\"https://unpkg.com/maki@2.1.0/icons/\"+d+\".svg\"}}),u.setTransformRequest(function(h){return h=h.replace(\"https://fonts.openmaptiles.org/Open Sans Extrabold\",\"https://fonts.openmaptiles.org/Open Sans Extra Bold\"),h=h.replace(\"https://tiles.basemaps.cartocdn.com/fonts/Open Sans Extrabold\",\"https://fonts.openmaptiles.org/Open Sans Extra Bold\"),h=h.replace(\"https://fonts.openmaptiles.org/Open Sans Regular,Arial Unicode MS Regular\",\"https://fonts.openmaptiles.org/Klokantech Noto Sans Regular\"),{url:h}}),u._canvas.style.left=\"0px\",u._canvas.style.top=\"0px\",i.rejectOnError(n),i.isStatic||i.initFx(e,t);var f=[];f.push(new Promise(function(h){u.once(\"load\",h)})),f=f.concat(QHe.fetchTraceGeoData(e)),Promise.all(f).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Sh.updateMap=function(e,t,r,n){var i=this,a=i.map,o=t[this.id];i.rejectOnError(n);var s=[],l=rGe(o.style);JSON.stringify(i.styleObj)!==JSON.stringify(l)&&(i.styleObj=l,a.setStyle(l.style),i.traceHash={},s.push(new Promise(function(u){a.once(\"styledata\",u)}))),s=s.concat(QHe.fetchTraceGeoData(e)),Promise.all(s).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Sh.fillBelowLookup=function(e,t){var r=t[this.id],n=r.layers,i,a,o=this.belowLookup={},s=!1;for(i=0;i<e.length;i++){var l=e[i][0].trace,u=l._module;typeof l.below==\"string\"?a=l.below:u.getBelow&&(a=u.getBelow(l,this)),a===\"\"&&(s=!0),o[\"trace-\"+l.uid]=a||\"\"}for(i=0;i<n.length;i++){var c=n[i];typeof c.below==\"string\"?a=c.below:s?a=\"traces\":a=\"\",o[\"layout-\"+i]=a}var f={},h,d;for(h in o)a=o[h],f[a]?f[a].push(h):f[a]=[h];for(a in f){var v=f[a];if(v.length>1)for(i=0;i<v.length;i++)h=v[i],h.indexOf(\"trace-\")===0?(d=h.split(\"trace-\")[1],this.traceHash[d]&&(this.traceHash[d].below=null)):h.indexOf(\"layout-\")===0&&(d=h.split(\"layout-\")[1],this.layerList[d]&&(this.layerList[d].below=null))}};var $He={choroplethmap:0,densitymap:1,scattermap:2};Sh.updateData=function(e){var t=this.traceHash,r,n,i,a,o=e.slice().sort(function(f,h){return $He[f[0].trace.type]-$He[h[0].trace.type]});for(i=0;i<o.length;i++){var s=o[i];n=s[0].trace,r=t[n.uid];var l=!1;r&&(r.type===n.type?(r.update(s),l=!0):r.dispose()),!l&&n._module&&(t[n.uid]=n._module.plot(this,s))}var u=Object.keys(t);e:for(i=0;i<u.length;i++){var c=u[i];for(a=0;a<e.length;a++)if(n=e[a][0].trace,c===n.uid)continue e;r=t[c],r.dispose(),delete t[c]}};Sh.updateLayout=function(e){var t=this.map,r=e[this.id];!this.dragging&&!this.wheeling&&(t.setCenter(_J(r.center)),t.setZoom(r.zoom),t.setBearing(r.bearing),t.setPitch(r.pitch)),this.updateLayers(e),this.updateFramework(e),this.updateFx(e),this.map.resize(),this.gd._context._scrollZoom.map?t.scrollZoom.enable():t.scrollZoom.disable()};Sh.resolveOnRender=function(e){var t=this.map;t.on(\"render\",function r(){t.loaded()&&(t.off(\"render\",r),setTimeout(e,10))})};Sh.rejectOnError=function(e){var t=this.map;function r(){e(new Error(nw.mapOnErrorMsg))}t.once(\"error\",r),t.once(\"style.error\",r),t.once(\"source.error\",r),t.once(\"tile.error\",r),t.once(\"layer.error\",r)};Sh.createFramework=function(e){var t=this,r=t.div=document.createElement(\"div\");r.id=t.uid,r.style.position=\"absolute\",t.container.appendChild(r),t.xaxis={_id:\"x\",c2p:function(n){return t.project(n).x}},t.yaxis={_id:\"y\",c2p:function(n){return t.project(n).y}},t.updateFramework(e),t.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},_jt.setConvert(t.mockAxis,e)};Sh.initFx=function(e,t){var r=this,n=r.gd,i=r.map;i.on(\"moveend\",function(s){if(r.map){var l=n._fullLayout;if(s.originalEvent||r.wheeling){var u=l[r.id];JHe.call(\"_storeDirectGUIEdit\",n.layout,l._preGUI,r.getViewEdits(u));var c=r.getView();u._input.center=u.center=c.center,u._input.zoom=u.zoom=c.zoom,u._input.bearing=u.bearing=c.bearing,u._input.pitch=u.pitch=c.pitch,n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(c))}s.originalEvent&&s.originalEvent.type===\"mouseup\"?r.dragging=!1:r.wheeling&&(r.wheeling=!1),l&&l._rehover&&l._rehover()}}),i.on(\"wheel\",function(){r.wheeling=!0}),i.on(\"mousemove\",function(s){var l=r.div.getBoundingClientRect(),u=[s.originalEvent.offsetX,s.originalEvent.offsetY];s.target.getBoundingClientRect=function(){return l},r.xaxis.p2c=function(){return i.unproject(u).lng},r.yaxis.p2c=function(){return i.unproject(u).lat},n._fullLayout._rehover=function(){n._fullLayout._hoversubplot===r.id&&n._fullLayout[r.id]&&a7.hover(n,s,r.id)},a7.hover(n,s,r.id),n._fullLayout._hoversubplot=r.id});function a(){a7.loneUnhover(t._hoverlayer)}i.on(\"dragstart\",function(){r.dragging=!0,a()}),i.on(\"zoomstart\",a),i.on(\"mouseout\",function(){n._fullLayout._hoversubplot=null});function o(){var s=r.getView();n.emit(\"plotly_relayouting\",r.getViewEditsWithDerived(s))}i.on(\"drag\",o),i.on(\"zoom\",o),i.on(\"dblclick\",function(){var s=n._fullLayout[r.id];JHe.call(\"_storeDirectGUIEdit\",n.layout,n._fullLayout._preGUI,r.getViewEdits(s));var l=r.viewInitial;i.setCenter(_J(l.center)),i.setZoom(l.zoom),i.setBearing(l.bearing),i.setPitch(l.pitch);var u=r.getView();s._input.center=s.center=u.center,s._input.zoom=s.zoom=u.zoom,s._input.bearing=s.bearing=u.bearing,s._input.pitch=s.pitch=u.pitch,n.emit(\"plotly_doubleclick\",null),n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(u))}),r.clearOutline=function(){Sjt(r.dragOptions),Ajt(r.dragOptions.gd)},r.onClickInPanFn=function(s){return function(l){var u=n._fullLayout.clickmode;u.indexOf(\"select\")>-1&&Mjt(l.originalEvent,n,[r.xaxis],[r.yaxis],r.id,s),u.indexOf(\"event\")>-1&&a7.click(n,l.originalEvent)}}};Sh.updateFx=function(e){var t=this,r=t.map,n=t.gd;if(t.isStatic)return;function i(l){var u=t.map.unproject(l);return[u.lng,u.lat]}var a=e.dragmode,o;o=function(l,u){if(u.isRect){var c=l.range={};c[t.id]=[i([u.xmin,u.ymin]),i([u.xmax,u.ymax])]}else{var f=l.lassoPoints={};f[t.id]=u.map(i)}};var s=t.dragOptions;t.dragOptions=yJ.extendDeep(s||{},{dragmode:e.dragmode,element:t.div,gd:n,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:o},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off(\"click\",t.onClickInPanHandler),wjt(a)||bjt(a)?(r.dragPan.disable(),r.on(\"zoomstart\",t.clearOutline),t.dragOptions.prepFn=function(l,u,c){Tjt(l,u,c,t.dragOptions,a)},xjt.init(t.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener(\"touchstart\",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on(\"click\",t.onClickInPanHandler))};Sh.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+\"px\",n.height=r.h*(t.y[1]-t.y[0])+\"px\",n.left=r.l+t.x[0]*r.w+\"px\",n.top=r.t+(1-t.y[1])*r.h+\"px\",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])};Sh.updateLayers=function(e){var t=e[this.id],r=t.layers,n=this.layerList,i;if(r.length!==n.length){for(i=0;i<n.length;i++)n[i].dispose();for(n=this.layerList=[],i=0;i<r.length;i++)n.push(Ejt(this,i,r[i]))}else for(i=0;i<r.length;i++)n[i].update(r[i])};Sh.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))};Sh.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()};Sh.setOptions=function(e,t,r){for(var n in r)this.map[t](e,n,r[n])};Sh.getMapLayers=function(){return this.map.getStyle().layers};Sh.addLayer=function(e,t){var r=this.map;if(typeof t==\"string\"){if(t===\"\"){r.addLayer(e,t);return}for(var n=this.getMapLayers(),i=0;i<n.length;i++)if(t===n[i].id){r.addLayer(e,t);return}yJ.warn([\"Trying to add layer with *below* value\",t,\"referencing a layer that does not exist\",\"or that does not yet exist.\"].join(\" \"))}r.addLayer(e)};Sh.project=function(e){return this.map.project(new mJ.LngLat(e[0],e[1]))};Sh.getView=function(){var e=this.map,t=e.getCenter(),r=t.lng,n=t.lat,i={lon:r,lat:n},a=e.getCanvas(),o=parseInt(a.style.width),s=parseInt(a.style.height);return{center:i,zoom:e.getZoom(),bearing:e.getBearing(),pitch:e.getPitch(),_derived:{coordinates:[e.unproject([0,0]).toArray(),e.unproject([o,0]).toArray(),e.unproject([o,s]).toArray(),e.unproject([0,s]).toArray()]}}};Sh.getViewEdits=function(e){for(var t=this.id,r=[\"center\",\"zoom\",\"bearing\",\"pitch\"],n={},i=0;i<r.length;i++){var a=r[i];n[t+\".\"+a]=e[a]}return n};Sh.getViewEditsWithDerived=function(e){var t=this.id,r=this.getViewEdits(e);return r[t+\"._derived\"]=e._derived,r};function rGe(e){var t={};return yJ.isPlainObject(e)?(t.id=e.id,t.style=e):typeof e==\"string\"?(t.id=e,nw.stylesMap[e]?t.style=nw.stylesMap[e]:t.style=e):(t.id=nw.styleValueDflt,t.style=kjt(nw.styleValueDflt)),t.transition={duration:0,delay:0},t}function kjt(e){return nw.styleUrlPrefix+e+\"-\"+nw.styleUrlSuffix}function _J(e){return[e.lon,e.lat]}iGe.exports=tGe});var sGe=ye((Y1r,oGe)=>{\"use strict\";var xJ=Mr(),Cjt=C_(),Ljt=Zd(),aGe=Ok();oGe.exports=function(t,r,n){Cjt(t,r,n,{type:\"map\",attributes:aGe,handleDefaults:Pjt,partition:\"y\"})};function Pjt(e,t,r){r(\"style\"),r(\"center.lon\"),r(\"center.lat\"),r(\"zoom\"),r(\"bearing\"),r(\"pitch\");var n=r(\"bounds.west\"),i=r(\"bounds.east\"),a=r(\"bounds.south\"),o=r(\"bounds.north\");(n===void 0||i===void 0||a===void 0||o===void 0)&&delete t.bounds,Ljt(e,t,{name:\"layers\",handleItemDefaults:Ijt}),t._input=e}function Ijt(e,t){function r(l,u){return xJ.coerce(e,t,aGe.layers,l,u)}var n=r(\"visible\");if(n){var i=r(\"sourcetype\"),a=i===\"raster\"||i===\"image\";r(\"source\"),r(\"sourceattribution\"),i===\"vector\"&&r(\"sourcelayer\"),i===\"image\"&&r(\"coordinates\");var o;a&&(o=\"raster\");var s=r(\"type\",o);a&&s!==\"raster\"&&(s=t.type=\"raster\",xJ.log(\"Source types *raster* and *image* must drawn *raster* layer type.\")),r(\"below\"),r(\"color\"),r(\"opacity\"),r(\"minzoom\"),r(\"maxzoom\"),s===\"circle\"&&r(\"circle.radius\"),s===\"line\"&&(r(\"line.width\"),r(\"line.dash\")),s===\"fill\"&&r(\"fill.outlinecolor\"),s===\"symbol\"&&(r(\"symbol.icon\"),r(\"symbol.iconsize\"),r(\"symbol.text\"),xJ.coerceFont(r,\"symbol.textfont\",void 0,{noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}),r(\"symbol.textposition\"),r(\"symbol.placement\"))}}});var s7=ye(l0=>{\"use strict\";var o7=Mr(),lGe=o7.strTranslate,Rjt=o7.strScale,Djt=kd().getSubplotCalcData,zjt=Zp(),Fjt=xa(),uGe=ao(),qjt=Pl(),Ojt=nGe(),Tx=\"map\";l0.name=Tx;l0.attr=\"subplot\";l0.idRoot=Tx;l0.idRegex=l0.attrRegex=o7.counterRegex(Tx);l0.attributes={subplot:{valType:\"subplotid\",dflt:\"map\",editType:\"calc\"}};l0.layoutAttributes=Ok();l0.supplyLayoutDefaults=sGe();l0.plot=function(t){for(var r=t._fullLayout,n=t.calcdata,i=r._subplots[Tx],a=0;a<i.length;a++){var o=i[a],s=Djt(n,Tx,o),l=r[o],u=l._subplot;u||(u=new Ojt(t,o),r[o]._subplot=u),u.viewInitial||(u.viewInitial={center:o7.extendFlat({},l.center),zoom:l.zoom,bearing:l.bearing,pitch:l.pitch}),u.plot(s,r,t._promises)}};l0.clean=function(e,t,r,n){for(var i=n._subplots[Tx]||[],a=0;a<i.length;a++){var o=i[a];!t[o]&&n[o]._subplot&&n[o]._subplot.destroy()}};l0.toSVG=function(e){for(var t=e._fullLayout,r=t._subplots[Tx],n=t._size,i=0;i<r.length;i++){var a=t[r[i]],o=a.domain,s=a._subplot,l=s.toImage(\"png\"),u=t._glimages.append(\"svg:image\");u.attr({xmlns:zjt.svg,\"xlink:href\":l,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"});var c=Fjt.select(a._subplot.div),f=c.select(\".maplibregl-ctrl-attrib\").text().replace(\"Improve this map\",\"\"),h=t._glimages.append(\"g\"),d=h.append(\"text\");d.text(f).classed(\"static-attribution\",!0).attr({\"font-size\":12,\"font-family\":\"Arial\",color:\"rgba(0, 0, 0, 0.75)\",\"text-anchor\":\"end\",\"data-unformatted\":f});var v=uGe.bBox(d.node()),x=n.w*(o.x[1]-o.x[0]);if(v.width>x/2){var b=f.split(\"|\").join(\"<br>\");d.text(b).attr(\"data-unformatted\",b).call(qjt.convertToTspans,e),v=uGe.bBox(d.node())}d.attr(\"transform\",lGe(-3,-v.height+8)),h.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 p=1;v.width+6>x&&(p=x/(v.width+6));var E=[n.l+n.w*o.x[1],n.t+n.h*(1-o.y[0])];h.attr(\"transform\",lGe(E[0],E[1])+Rjt(p))}};l0.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[Tx],n=0;n<r.length;n++){var i=t[r[n]]._subplot;i.updateFx(t)}}});var fGe=ye((J1r,cGe)=>{\"use strict\";cGe.exports={attributes:$F(),supplyDefaults:THe(),colorbar:Kd(),formatLabels:cJ(),calc:lz(),plot:qHe(),hoverPoints:i7().hoverPoints,eventData:UHe(),selectPoints:HHe(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.update(t)}},moduleType:\"trace\",name:\"scattermap\",basePlotModule:s7(),categories:[\"map\",\"gl\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var dGe=ye(($1r,hGe)=>{\"use strict\";hGe.exports=fGe()});var bJ=ye((Q1r,vGe)=>{\"use strict\";var d1=K5(),Bjt=Jl(),Njt=Wo().hovertemplateAttrs,Ujt=vl(),Ax=no().extendFlat;vGe.exports=Ax({locations:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:Ax({},d1.featureidkey,{}),below:{valType:\"string\",editType:\"plot\"},text:d1.text,hovertext:d1.hovertext,marker:{line:{color:Ax({},d1.marker.line.color,{editType:\"plot\"}),width:Ax({},d1.marker.line.width,{editType:\"plot\"}),editType:\"calc\"},opacity:Ax({},d1.marker.opacity,{editType:\"plot\"}),editType:\"calc\"},selected:{marker:{opacity:Ax({},d1.selected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:Ax({},d1.unselected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},hoverinfo:d1.hoverinfo,hovertemplate:Njt({},{keys:[\"properties\"]}),showlegend:Ax({},Ujt.showlegend,{dflt:!1})},Bjt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var gGe=ye((e_r,pGe)=>{\"use strict\";var Vk=Mr(),Vjt=Uh(),Hjt=bJ();pGe.exports=function(t,r,n,i){function a(c,f){return Vk.coerce(t,r,Hjt,c,f)}var o=a(\"locations\"),s=a(\"z\"),l=a(\"geojson\");if(!Vk.isArrayOrTypedArray(o)||!o.length||!Vk.isArrayOrTypedArray(s)||!s.length||!(typeof l==\"string\"&&l!==\"\"||Vk.isPlainObject(l))){r.visible=!1;return}a(\"featureidkey\"),r._length=Math.min(o.length,s.length),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\");var u=a(\"marker.line.width\");u&&a(\"marker.line.color\"),a(\"marker.opacity\"),Vjt(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),Vk.coerceSelectionMarkerOpacity(r,a)}});var wJ=ye((t_r,_Ge)=>{\"use strict\";var Gjt=uo(),v1=Mr(),jjt=Mu(),Wjt=ao(),Zjt=rx().makeBlank,mGe=nx();function Xjt(e){var t=e[0].trace,r=t.visible===!0&&t._length!==0,n={layout:{visibility:\"none\"},paint:{}},i={layout:{visibility:\"none\"},paint:{}},a=t._opts={fill:n,line:i,geojson:Zjt()};if(!r)return a;var o=mGe.extractTraceFeature(e);if(!o)return a;var s=jjt.makeColorScaleFuncFromTrace(t),l=t.marker,u=l.line||{},c;v1.isArrayOrTypedArray(l.opacity)&&(c=function(E){var k=E.mo;return Gjt(k)?+v1.constrain(k,0,1):0});var f;v1.isArrayOrTypedArray(u.color)&&(f=function(E){return E.mlc});var h;v1.isArrayOrTypedArray(u.width)&&(h=function(E){return E.mlw});for(var d=0;d<e.length;d++){var v=e[d],x=v.fOut;if(x){var b=x.properties;b.fc=s(v.z),c&&(b.mo=c(v)),f&&(b.mlc=f(v)),h&&(b.mlw=h(v)),v.ct=b.ct,v._polygons=mGe.feature2polygons(x)}}var p=c?{type:\"identity\",property:\"mo\"}:l.opacity;return v1.extendFlat(n.paint,{\"fill-color\":{type:\"identity\",property:\"fc\"},\"fill-opacity\":p}),v1.extendFlat(i.paint,{\"line-color\":f?{type:\"identity\",property:\"mlc\"}:u.color,\"line-width\":h?{type:\"identity\",property:\"mlw\"}:u.width,\"line-opacity\":p}),n.layout.visibility=\"visible\",i.layout.visibility=\"visible\",a.geojson={type:\"FeatureCollection\",features:o},yGe(e),a}function yGe(e){var t=e[0].trace,r=t._opts,n;if(t.selectedpoints){for(var i=Wjt.makeSelectedPointStyleFns(t),a=0;a<e.length;a++){var o=e[a];o.fOut&&(o.fOut.properties.mo2=i.selectedOpacityFn(o))}n={type:\"identity\",property:\"mo2\"}}else n=v1.isArrayOrTypedArray(t.marker.opacity)?{type:\"identity\",property:\"mo\"}:t.marker.opacity;return v1.extendFlat(r.fill.paint,{\"fill-opacity\":n}),v1.extendFlat(r.line.paint,{\"line-opacity\":n}),r}_Ge.exports={convert:Xjt,convertOnSelect:yGe}});var AGe=ye((r_r,TGe)=>{\"use strict\";var bGe=wJ().convert,Yjt=wJ().convertOnSelect,xGe=wx().traceLayerPrefix;function wGe(e,t){this.type=\"choroplethmap\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"fill\",xGe+t+\"-fill\"],[\"line\",xGe+t+\"-line\"]],this.below=null}var MA=wGe.prototype;MA.update=function(e){this._update(bGe(e)),e[0].trace._glTrace=this};MA.updateOnSelect=function(e){this._update(Yjt(e))};MA._update=function(e){var t=this.subplot,r=this.layerList,n=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(e.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(e,n),this.below=n);for(var i=0;i<r.length;i++){var a=r[i],o=a[0],s=a[1],l=e[o];t.setOptions(s,\"setLayoutProperty\",l.layout),l.layout.visibility===\"visible\"&&t.setOptions(s,\"setPaintProperty\",l.paint)}};MA._addLayers=function(e,t){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=e[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},t)}};MA._removeLayers=function(){for(var e=this.subplot.map,t=this.layerList,r=t.length-1;r>=0;r--)e.removeLayer(t[r][1])};MA.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};TGe.exports=function(t,r){var n=r[0].trace,i=new wGe(t,n.uid),a=i.sourceId,o=bGe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),r[0].trace._glTrace=i,i}});var MGe=ye((i_r,SGe)=>{\"use strict\";SGe.exports={attributes:bJ(),supplyDefaults:gGe(),colorbar:M_(),calc:Lz(),plot:AGe(),hoverPoints:Iz(),eventData:Rz(),selectPoints:Dz(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.updateOnSelect(t)}},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if(typeof i==\"string\"&&i.indexOf(\"water\")===0){for(var a=n+1;a<r.length;a++)if(i=r[a].id,typeof i==\"string\"&&i.indexOf(\"plotly-\")===-1)return i}}},moduleType:\"trace\",name:\"choroplethmap\",basePlotModule:s7(),categories:[\"map\",\"gl\",\"noOpacity\",\"showLegend\"],meta:{hr_name:\"choropleth_map\"}}});var kGe=ye((n_r,EGe)=>{\"use strict\";EGe.exports=MGe()});var AJ=ye((a_r,LGe)=>{\"use strict\";var Kjt=Jl(),Jjt=Wo().hovertemplateAttrs,CGe=vl(),l7=$F(),TJ=no().extendFlat;LGe.exports=TJ({lon:l7.lon,lat:l7.lat,z:{valType:\"data_array\",editType:\"calc\"},radius:{valType:\"number\",editType:\"plot\",arrayOk:!0,min:1,dflt:30},below:{valType:\"string\",editType:\"plot\"},text:l7.text,hovertext:l7.hovertext,hoverinfo:TJ({},CGe.hoverinfo,{flags:[\"lon\",\"lat\",\"z\",\"text\",\"name\"]}),hovertemplate:Jjt(),showlegend:TJ({},CGe.showlegend,{dflt:!1})},Kjt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var IGe=ye((o_r,PGe)=>{\"use strict\";var $jt=Mr(),Qjt=Uh(),eWt=AJ();PGe.exports=function(t,r,n,i){function a(u,c){return $jt.coerce(t,r,eWt,u,c)}var o=a(\"lon\")||[],s=a(\"lat\")||[],l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a(\"z\"),a(\"radius\"),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),Qjt(t,r,i,a,{prefix:\"\",cLetter:\"z\"})}});var zGe=ye((s_r,DGe)=>{\"use strict\";var SJ=uo(),tWt=Mr().isArrayOrTypedArray,MJ=es().BADNUM,rWt=zv(),RGe=Mr()._;DGe.exports=function(t,r){for(var n=r._length,i=new Array(n),a=r.z,o=tWt(a)&&a.length,s=0;s<n;s++){var l=i[s]={},u=r.lon[s],c=r.lat[s];if(l.lonlat=SJ(u)&&SJ(c)?[+u,+c]:[MJ,MJ],o){var f=a[s];l.z=SJ(f)?f:MJ}}return rWt(t,r,{vals:o?a:[0,1],containerStr:\"\",cLetter:\"z\"}),n&&(i[0].t={labels:{lat:RGe(t,\"lat:\")+\" \",lon:RGe(t,\"lon:\")+\" \"}}),i}});var NGe=ye((l_r,BGe)=>{\"use strict\";var iWt=uo(),EJ=Mr(),FGe=va(),qGe=Mu(),OGe=es().BADNUM,nWt=rx().makeBlank;BGe.exports=function(t){var r=t[0].trace,n=r.visible===!0&&r._length!==0,i={layout:{visibility:\"none\"},paint:{}},a=r._opts={heatmap:i,geojson:nWt()};if(!n)return a;var o=[],s,l=r.z,u=r.radius,c=EJ.isArrayOrTypedArray(l)&&l.length,f=EJ.isArrayOrTypedArray(u);for(s=0;s<t.length;s++){var h=t[s],d=h.lonlat;if(d[0]!==OGe){var v={};if(c){var x=h.z;v.z=x!==OGe?x:0}f&&(v.r=iWt(u[s])&&u[s]>0?+u[s]:0),o.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:d},properties:v})}}var b=qGe.extractOpts(r),p=b.reversescale?qGe.flipScale(b.colorscale):b.colorscale,E=p[0][1],k=FGe.opacity(E)<1?E:FGe.addOpacity(E,0),A=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,k];for(s=1;s<p.length;s++)A.push(p[s][0],p[s][1]);var L=[\"interpolate\",[\"linear\"],[\"get\",\"z\"],b.min,0,b.max,1];return EJ.extendFlat(a.heatmap.paint,{\"heatmap-weight\":c?L:1/(b.max-b.min),\"heatmap-color\":A,\"heatmap-radius\":f?{type:\"identity\",property:\"r\"}:r.radius,\"heatmap-opacity\":r.opacity}),a.geojson={type:\"FeatureCollection\",features:o},a.heatmap.layout.visibility=\"visible\",a}});var GGe=ye((u_r,HGe)=>{\"use strict\";var UGe=NGe(),aWt=wx().traceLayerPrefix;function VGe(e,t){this.type=\"densitymap\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"heatmap\",aWt+t+\"-heatmap\"]],this.below=null}var u7=VGe.prototype;u7.update=function(e){var t=this.subplot,r=this.layerList,n=UGe(e),i=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(n.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(n,i),this.below=i);for(var a=0;a<r.length;a++){var o=r[a],s=o[0],l=o[1],u=n[s];t.setOptions(l,\"setLayoutProperty\",u.layout),u.layout.visibility===\"visible\"&&t.setOptions(l,\"setPaintProperty\",u.paint)}};u7._addLayers=function(e,t){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=e[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},t)}};u7._removeLayers=function(){for(var e=this.subplot.map,t=this.layerList,r=t.length-1;r>=0;r--)e.removeLayer(t[r][1])};u7.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};HGe.exports=function(t,r){var n=r[0].trace,i=new VGe(t,n.uid),a=i.sourceId,o=UGe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),i}});var WGe=ye((c_r,jGe)=>{\"use strict\";var oWt=Qa(),sWt=i7().hoverPoints,lWt=i7().getExtraText;jGe.exports=function(t,r,n){var i=sWt(t,r,n);if(i){var a=i[0],o=a.cd,s=o[0].trace,l=o[a.index];if(delete a.color,\"z\"in l){var u=a.subplot.mockAxis;a.z=l.z,a.zLabel=oWt.tickText(u,u.c2l(l.z),\"hover\").text}return a.extraText=lWt(s,l,o[0].t.labels),[a]}}});var XGe=ye((f_r,ZGe)=>{\"use strict\";ZGe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t.z=r.z,t}});var KGe=ye((h_r,YGe)=>{\"use strict\";YGe.exports={attributes:AJ(),supplyDefaults:IGe(),colorbar:M_(),formatLabels:cJ(),calc:zGe(),plot:GGe(),hoverPoints:WGe(),eventData:XGe(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n<r.length;n++){var i=r[n],a=i.id;if(i.type===\"symbol\"&&typeof a==\"string\"&&a.indexOf(\"plotly-\")===-1)return a}},moduleType:\"trace\",name:\"densitymap\",basePlotModule:s7(),categories:[\"map\",\"gl\",\"showLegend\"],meta:{hr_name:\"density_map\"}}});var $Ge=ye((d_r,JGe)=>{\"use strict\";JGe.exports=KGe()});var CJ=ye((p_r,rje)=>{\"use strict\";var uWt=Su(),cWt=vl(),QGe=dh(),kJ=i3(),fWt=Ju().attributes,eje=Wo().hovertemplateAttrs,hWt=Jl(),dWt=Vs().templatedArray,vWt=Oc().descriptionOnlyNumbers,tje=no().extendFlat,pWt=Bu().overrideAll,v_r=rje.exports=pWt({hoverinfo:tje({},cWt.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:kJ.hoverlabel,domain:fWt({name:\"sankey\",trace:!0}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\"},valueformat:{valType:\"string\",dflt:\".3s\",description:vWt(\"value\")},valuesuffix:{valType:\"string\",dflt:\"\"},arrangement:{valType:\"enumerated\",values:[\"snap\",\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"snap\"},textfont:uWt({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:QGe.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:kJ.hoverlabel,hovertemplate:eje({},{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:QGe.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:kJ.hoverlabel,hovertemplate:eje({},{keys:[\"value\",\"label\"]}),colorscales:dWt(\"concentrationscales\",{editType:\"calc\",label:{valType:\"string\",editType:\"calc\",dflt:\"\"},cmax:{valType:\"number\",editType:\"calc\",dflt:1},cmin:{valType:\"number\",editType:\"calc\",dflt:0},colorscale:tje(hWt().colorscale,{dflt:[[0,\"white\"],[1,\"black\"]]})})}},\"calc\",\"nested\")});var sje=ye((g_r,oje)=>{\"use strict\";var EA=Mr(),c7=CJ(),gWt=va(),ije=id(),mWt=Ju().defaults,nje=oM(),aje=Vs(),yWt=Zd();oje.exports=function(t,r,n,i){function a(A,L){return EA.coerce(t,r,c7,A,L)}var o=EA.extendDeep(i.hoverlabel,t.hoverlabel),s=t.node,l=aje.newContainer(r,\"node\");function u(A,L){return EA.coerce(s,l,c7.node,A,L)}u(\"label\"),u(\"groups\"),u(\"x\"),u(\"y\"),u(\"pad\"),u(\"thickness\"),u(\"line.color\"),u(\"line.width\"),u(\"hoverinfo\",t.hoverinfo),nje(s,l,u,o),u(\"hovertemplate\"),u(\"align\");var c=i.colorway,f=function(A){return c[A%c.length]};u(\"color\",l.label.map(function(A,L){return gWt.addOpacity(f(L),.8)})),u(\"customdata\");var h=t.link||{},d=aje.newContainer(r,\"link\");function v(A,L){return EA.coerce(h,d,c7.link,A,L)}v(\"label\"),v(\"arrowlen\"),v(\"source\"),v(\"target\"),v(\"value\"),v(\"line.color\"),v(\"line.width\"),v(\"hoverinfo\",t.hoverinfo),nje(h,d,v,o),v(\"hovertemplate\");var x=ije(i.paper_bgcolor).getLuminance()<.333,b=x?\"rgba(255, 255, 255, 0.6)\":\"rgba(0, 0, 0, 0.2)\",p=v(\"color\",b);function E(A){var L=ije(A);if(!L.isValid())return A;var _=L.getAlpha();return _<=.8?L.setAlpha(_+.2):L=x?L.brighten():L.darken(),L.toRgbString()}v(\"hovercolor\",Array.isArray(p)?p.map(E):E(p)),v(\"customdata\"),yWt(h,d,{name:\"colorscales\",handleItemDefaults:_Wt}),mWt(r,i,a),a(\"orientation\"),a(\"valueformat\"),a(\"valuesuffix\");var k;l.x.length&&l.y.length&&(k=\"freeform\"),a(\"arrangement\",k),EA.coerceFont(a,\"textfont\",i.font,{autoShadowDflt:!0}),r._length=null};function _Wt(e,t){function r(n,i){return EA.coerce(e,t,c7.link.colorscales,n,i)}r(\"label\"),r(\"cmin\"),r(\"cmax\"),r(\"colorscale\")}});var LJ=ye((m_r,lje)=>{\"use strict\";lje.exports=xWt;function xWt(e){for(var t=e.length,r=new Array(t),n=new Array(t),i=new Array(t),a=new Array(t),o=new Array(t),s=new Array(t),l=0;l<t;++l)r[l]=-1,n[l]=0,i[l]=!1,a[l]=0,o[l]=-1,s[l]=[];var u=0,c=[],f=[];function h(b){var p=[b],E=[b];for(r[b]=n[b]=u,i[b]=!0,u+=1;E.length>0;){b=E[E.length-1];var k=e[b];if(a[b]<k.length){for(var A=a[b];A<k.length;++A){var L=k[A];if(r[L]<0){r[L]=n[L]=u,i[L]=!0,u+=1,p.push(L),E.push(L);break}else i[L]&&(n[b]=Math.min(n[b],n[L])|0);o[L]>=0&&s[b].push(o[L])}a[b]=A}else{if(n[b]===r[b]){for(var _=[],C=[],M=0,A=p.length-1;A>=0;--A){var g=p[A];if(i[g]=!1,_.push(g),C.push(s[g]),M+=s[g].length,o[g]=c.length,g===b){p.length=A;break}}c.push(_);for(var P=new Array(M),A=0;A<C.length;A++)for(var T=0;T<C[A].length;T++)P[--M]=C[A][T];f.push(P)}E.pop()}}}for(var l=0;l<t;++l)r[l]<0&&h(l);for(var d,l=0;l<f.length;l++){var v=f[l];if(v.length!==0){v.sort(function(p,E){return p-E}),d=[v[0]];for(var x=1;x<v.length;x++)v[x]!==v[x-1]&&d.push(v[x]);f[l]=d}}return{components:c,adjacencyList:f}}});var hje=ye((y_r,fje)=>{\"use strict\";var bWt=LJ(),kA=Mr(),wWt=Km().wrap,Hk=kA.isArrayOrTypedArray,uje=kA.isIndex,cje=Mu();function TWt(e){var t=e.node,r=e.link,n=[],i=Hk(r.color),a=Hk(r.hovercolor),o=Hk(r.customdata),s={},l={},u=r.colorscales.length,c;for(c=0;c<u;c++){var f=r.colorscales[c],h=cje.extractScale(f,{cLetter:\"c\"}),d=cje.makeColorScaleFunc(h);l[f.label]=d}var v=0;for(c=0;c<r.value.length;c++)r.source[c]>v&&(v=r.source[c]),r.target[c]>v&&(v=r.target[c]);var x=v+1;e.node._count=x;var b,p=e.node.groups,E={};for(c=0;c<p.length;c++){var k=p[c];for(b=0;b<k.length;b++){var A=k[b],L=x+c;E.hasOwnProperty(A)?kA.warn(\"Node \"+A+\" is already part of a group.\"):E[A]=L}}var _={source:[],target:[]};for(c=0;c<r.value.length;c++){var C=r.value[c],M=r.source[c],g=r.target[c];if(C>0&&uje(M,x)&&uje(g,x)&&!(E.hasOwnProperty(M)&&E.hasOwnProperty(g)&&E[M]===E[g])){E.hasOwnProperty(g)&&(g=E[g]),E.hasOwnProperty(M)&&(M=E[M]),M=+M,g=+g,s[M]=s[g]=!0;var P=\"\";r.label&&r.label[c]&&(P=r.label[c]);var T=null;P&&l.hasOwnProperty(P)&&(T=l[P]),n.push({pointNumber:c,label:P,color:i?r.color[c]:r.color,hovercolor:a?r.hovercolor[c]:r.hovercolor,customdata:o?r.customdata[c]:r.customdata,concentrationscale:T,source:M,target:g,value:+C}),_.source.push(M),_.target.push(g)}}var F=x+p.length,q=Hk(t.color),V=Hk(t.customdata),H=[];for(c=0;c<F;c++)if(s[c]){var X=t.label[c];H.push({group:c>x-1,childrenNodes:[],pointNumber:c,label:X,color:q?t.color[c]:t.color,customdata:V?t.customdata[c]:t.customdata})}var G=!1;return AWt(F,_.source,_.target)&&(G=!0),{circular:G,links:n,nodes:H,groups:p,groupLookup:E}}function AWt(e,t,r){for(var n=kA.init2dArray(e,0),i=0;i<Math.min(t.length,r.length);i++)if(kA.isIndex(t[i],e)&&kA.isIndex(r[i],e)){if(t[i]===r[i])return!0;n[t[i]].push(r[i])}var a=bWt(n);return a.components.some(function(o){return o.length>1})}fje.exports=function(t,r){var n=TWt(r);return wWt({circular:n.circular,_nodes:n.nodes,_links:n.links,_groups:n.groups,_groupLookup:n.groupLookup})}});var vje=ye((f7,dje)=>{(function(e,t){typeof f7==\"object\"&&typeof dje!=\"undefined\"?t(f7):(e=e||self,t(e.d3=e.d3||{}))})(f7,function(e){\"use strict\";function t(C){var M=+this._x.call(null,C),g=+this._y.call(null,C);return r(this.cover(M,g),M,g,C)}function r(C,M,g,P){if(isNaN(M)||isNaN(g))return C;var T,F=C._root,q={data:P},V=C._x0,H=C._y0,X=C._x1,G=C._y1,N,W,re,ae,_e,Me,ke,ge;if(!F)return C._root=q,C;for(;F.length;)if((_e=M>=(N=(V+X)/2))?V=N:X=N,(Me=g>=(W=(H+G)/2))?H=W:G=W,T=F,!(F=F[ke=Me<<1|_e]))return T[ke]=q,C;if(re=+C._x.call(null,F.data),ae=+C._y.call(null,F.data),M===re&&g===ae)return q.next=F,T?T[ke]=q:C._root=q,C;do T=T?T[ke]=new Array(4):C._root=new Array(4),(_e=M>=(N=(V+X)/2))?V=N:X=N,(Me=g>=(W=(H+G)/2))?H=W:G=W;while((ke=Me<<1|_e)===(ge=(ae>=W)<<1|re>=N));return T[ge]=F,T[ke]=q,C}function n(C){var M,g,P=C.length,T,F,q=new Array(P),V=new Array(P),H=1/0,X=1/0,G=-1/0,N=-1/0;for(g=0;g<P;++g)isNaN(T=+this._x.call(null,M=C[g]))||isNaN(F=+this._y.call(null,M))||(q[g]=T,V[g]=F,T<H&&(H=T),T>G&&(G=T),F<X&&(X=F),F>N&&(N=F));if(H>G||X>N)return this;for(this.cover(H,X).cover(G,N),g=0;g<P;++g)r(this,q[g],V[g],C[g]);return this}function i(C,M){if(isNaN(C=+C)||isNaN(M=+M))return this;var g=this._x0,P=this._y0,T=this._x1,F=this._y1;if(isNaN(g))T=(g=Math.floor(C))+1,F=(P=Math.floor(M))+1;else{for(var q=T-g,V=this._root,H,X;g>C||C>=T||P>M||M>=F;)switch(X=(M<P)<<1|C<g,H=new Array(4),H[X]=V,V=H,q*=2,X){case 0:T=g+q,F=P+q;break;case 1:g=T-q,F=P+q;break;case 2:T=g+q,P=F-q;break;case 3:g=T-q,P=F-q;break}this._root&&this._root.length&&(this._root=V)}return this._x0=g,this._y0=P,this._x1=T,this._y1=F,this}function a(){var C=[];return this.visit(function(M){if(!M.length)do C.push(M.data);while(M=M.next)}),C}function o(C){return arguments.length?this.cover(+C[0][0],+C[0][1]).cover(+C[1][0],+C[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function s(C,M,g,P,T){this.node=C,this.x0=M,this.y0=g,this.x1=P,this.y1=T}function l(C,M,g){var P,T=this._x0,F=this._y0,q,V,H,X,G=this._x1,N=this._y1,W=[],re=this._root,ae,_e;for(re&&W.push(new s(re,T,F,G,N)),g==null?g=1/0:(T=C-g,F=M-g,G=C+g,N=M+g,g*=g);ae=W.pop();)if(!(!(re=ae.node)||(q=ae.x0)>G||(V=ae.y0)>N||(H=ae.x1)<T||(X=ae.y1)<F))if(re.length){var Me=(q+H)/2,ke=(V+X)/2;W.push(new s(re[3],Me,ke,H,X),new s(re[2],q,ke,Me,X),new s(re[1],Me,V,H,ke),new s(re[0],q,V,Me,ke)),(_e=(M>=ke)<<1|C>=Me)&&(ae=W[W.length-1],W[W.length-1]=W[W.length-1-_e],W[W.length-1-_e]=ae)}else{var ge=C-+this._x.call(null,re.data),ie=M-+this._y.call(null,re.data),Te=ge*ge+ie*ie;if(Te<g){var Ee=Math.sqrt(g=Te);T=C-Ee,F=M-Ee,G=C+Ee,N=M+Ee,P=re.data}}return P}function u(C){if(isNaN(G=+this._x.call(null,C))||isNaN(N=+this._y.call(null,C)))return this;var M,g=this._root,P,T,F,q=this._x0,V=this._y0,H=this._x1,X=this._y1,G,N,W,re,ae,_e,Me,ke;if(!g)return this;if(g.length)for(;;){if((ae=G>=(W=(q+H)/2))?q=W:H=W,(_e=N>=(re=(V+X)/2))?V=re:X=re,M=g,!(g=g[Me=_e<<1|ae]))return this;if(!g.length)break;(M[Me+1&3]||M[Me+2&3]||M[Me+3&3])&&(P=M,ke=Me)}for(;g.data!==C;)if(T=g,!(g=g.next))return this;return(F=g.next)&&delete g.next,T?(F?T.next=F:delete T.next,this):M?(F?M[Me]=F:delete M[Me],(g=M[0]||M[1]||M[2]||M[3])&&g===(M[3]||M[2]||M[1]||M[0])&&!g.length&&(P?P[ke]=g:this._root=g),this):(this._root=F,this)}function c(C){for(var M=0,g=C.length;M<g;++M)this.remove(C[M]);return this}function f(){return this._root}function h(){var C=0;return this.visit(function(M){if(!M.length)do++C;while(M=M.next)}),C}function d(C){var M=[],g,P=this._root,T,F,q,V,H;for(P&&M.push(new s(P,this._x0,this._y0,this._x1,this._y1));g=M.pop();)if(!C(P=g.node,F=g.x0,q=g.y0,V=g.x1,H=g.y1)&&P.length){var X=(F+V)/2,G=(q+H)/2;(T=P[3])&&M.push(new s(T,X,G,V,H)),(T=P[2])&&M.push(new s(T,F,G,X,H)),(T=P[1])&&M.push(new s(T,X,q,V,G)),(T=P[0])&&M.push(new s(T,F,q,X,G))}return this}function v(C){var M=[],g=[],P;for(this._root&&M.push(new s(this._root,this._x0,this._y0,this._x1,this._y1));P=M.pop();){var T=P.node;if(T.length){var F,q=P.x0,V=P.y0,H=P.x1,X=P.y1,G=(q+H)/2,N=(V+X)/2;(F=T[0])&&M.push(new s(F,q,V,G,N)),(F=T[1])&&M.push(new s(F,G,V,H,N)),(F=T[2])&&M.push(new s(F,q,N,G,X)),(F=T[3])&&M.push(new s(F,G,N,H,X))}g.push(P)}for(;P=g.pop();)C(P.node,P.x0,P.y0,P.x1,P.y1);return this}function x(C){return C[0]}function b(C){return arguments.length?(this._x=C,this):this._x}function p(C){return C[1]}function E(C){return arguments.length?(this._y=C,this):this._y}function k(C,M,g){var P=new A(M==null?x:M,g==null?p:g,NaN,NaN,NaN,NaN);return C==null?P:P.addAll(C)}function A(C,M,g,P,T,F){this._x=C,this._y=M,this._x0=g,this._y0=P,this._x1=T,this._y1=F,this._root=void 0}function L(C){for(var M={data:C.data},g=M;C=C.next;)g=g.next={data:C.data};return M}var _=k.prototype=A.prototype;_.copy=function(){var C=new A(this._x,this._y,this._x0,this._y0,this._x1,this._y1),M=this._root,g,P;if(!M)return C;if(!M.length)return C._root=L(M),C;for(g=[{source:M,target:C._root=new Array(4)}];M=g.pop();)for(var T=0;T<4;++T)(P=M.source[T])&&(P.length?g.push({source:P,target:M.target[T]=new Array(4)}):M.target[T]=L(P));return C},_.add=t,_.addAll=n,_.cover=i,_.data=a,_.extent=o,_.find=l,_.remove=u,_.removeAll=c,_.root=f,_.size=h,_.visit=d,_.visitAfter=v,_.x=b,_.y=E,e.quadtree=k,Object.defineProperty(e,\"__esModule\",{value:!0})})});var d7=ye((h7,pje)=>{(function(e,t){t(typeof h7==\"object\"&&typeof pje!=\"undefined\"?h7:e.d3=e.d3||{})})(h7,function(e){\"use strict\";var t=\"$\";function r(){}r.prototype=n.prototype={constructor:r,has:function(x){return t+x in this},get:function(x){return this[t+x]},set:function(x,b){return this[t+x]=b,this},remove:function(x){var b=t+x;return b in this&&delete this[b]},clear:function(){for(var x in this)x[0]===t&&delete this[x]},keys:function(){var x=[];for(var b in this)b[0]===t&&x.push(b.slice(1));return x},values:function(){var x=[];for(var b in this)b[0]===t&&x.push(this[b]);return x},entries:function(){var x=[];for(var b in this)b[0]===t&&x.push({key:b.slice(1),value:this[b]});return x},size:function(){var x=0;for(var b in this)b[0]===t&&++x;return x},empty:function(){for(var x in this)if(x[0]===t)return!1;return!0},each:function(x){for(var b in this)b[0]===t&&x(this[b],b.slice(1),this)}};function n(x,b){var p=new r;if(x instanceof r)x.each(function(_,C){p.set(C,_)});else if(Array.isArray(x)){var E=-1,k=x.length,A;if(b==null)for(;++E<k;)p.set(E,x[E]);else for(;++E<k;)p.set(b(A=x[E],E,x),A)}else if(x)for(var L in x)p.set(L,x[L]);return p}function i(){var x=[],b=[],p,E,k;function A(_,C,M,g){if(C>=x.length)return p!=null&&_.sort(p),E!=null?E(_):_;for(var P=-1,T=_.length,F=x[C++],q,V,H=n(),X,G=M();++P<T;)(X=H.get(q=F(V=_[P])+\"\"))?X.push(V):H.set(q,[V]);return H.each(function(N,W){g(G,W,A(N,C,M,g))}),G}function L(_,C){if(++C>x.length)return _;var M,g=b[C-1];return E!=null&&C>=x.length?M=_.entries():(M=[],_.each(function(P,T){M.push({key:T,values:L(P,C)})})),g!=null?M.sort(function(P,T){return g(P.key,T.key)}):M}return k={object:function(_){return A(_,0,a,o)},map:function(_){return A(_,0,s,l)},entries:function(_){return L(A(_,0,s,l),0)},key:function(_){return x.push(_),k},sortKeys:function(_){return b[x.length-1]=_,k},sortValues:function(_){return p=_,k},rollup:function(_){return E=_,k}}}function a(){return{}}function o(x,b,p){x[b]=p}function s(){return n()}function l(x,b,p){x.set(b,p)}function u(){}var c=n.prototype;u.prototype=f.prototype={constructor:u,has:c.has,add:function(x){return x+=\"\",this[t+x]=x,this},remove:c.remove,clear:c.clear,values:c.keys,size:c.size,empty:c.empty,each:c.each};function f(x,b){var p=new u;if(x instanceof u)x.each(function(A){p.add(A)});else if(x){var E=-1,k=x.length;if(b==null)for(;++E<k;)p.add(x[E]);else for(;++E<k;)p.add(b(x[E],E,x))}return p}function h(x){var b=[];for(var p in x)b.push(p);return b}function d(x){var b=[];for(var p in x)b.push(x[p]);return b}function v(x){var b=[];for(var p in x)b.push({key:p,value:x[p]});return b}e.nest=i,e.set=f,e.map=n,e.keys=h,e.values=d,e.entries=v,Object.defineProperty(e,\"__esModule\",{value:!0})})});var mje=ye((v7,gje)=>{(function(e,t){typeof v7==\"object\"&&typeof gje!=\"undefined\"?t(v7):(e=e||self,t(e.d3=e.d3||{}))})(v7,function(e){\"use strict\";var t={value:function(){}};function r(){for(var s=0,l=arguments.length,u={},c;s<l;++s){if(!(c=arguments[s]+\"\")||c in u||/[\\s.]/.test(c))throw new Error(\"illegal type: \"+c);u[c]=[]}return new n(u)}function n(s){this._=s}function i(s,l){return s.trim().split(/^|\\s+/).map(function(u){var c=\"\",f=u.indexOf(\".\");if(f>=0&&(c=u.slice(f+1),u=u.slice(0,f)),u&&!l.hasOwnProperty(u))throw new Error(\"unknown type: \"+u);return{type:u,name:c}})}n.prototype=r.prototype={constructor:n,on:function(s,l){var u=this._,c=i(s+\"\",u),f,h=-1,d=c.length;if(arguments.length<2){for(;++h<d;)if((f=(s=c[h]).type)&&(f=a(u[f],s.name)))return f;return}if(l!=null&&typeof l!=\"function\")throw new Error(\"invalid callback: \"+l);for(;++h<d;)if(f=(s=c[h]).type)u[f]=o(u[f],s.name,l);else if(l==null)for(f in u)u[f]=o(u[f],s.name,null);return this},copy:function(){var s={},l=this._;for(var u in l)s[u]=l[u].slice();return new n(s)},call:function(s,l){if((f=arguments.length-2)>0)for(var u=new Array(f),c=0,f,h;c<f;++c)u[c]=arguments[c+2];if(!this._.hasOwnProperty(s))throw new Error(\"unknown type: \"+s);for(h=this._[s],c=0,f=h.length;c<f;++c)h[c].value.apply(l,u)},apply:function(s,l,u){if(!this._.hasOwnProperty(s))throw new Error(\"unknown type: \"+s);for(var c=this._[s],f=0,h=c.length;f<h;++f)c[f].value.apply(l,u)}};function a(s,l){for(var u=0,c=s.length,f;u<c;++u)if((f=s[u]).name===l)return f.value}function o(s,l,u){for(var c=0,f=s.length;c<f;++c)if(s[c].name===l){s[c]=t,s=s.slice(0,c).concat(s.slice(c+1));break}return u!=null&&s.push({name:l,value:u}),s}e.dispatch=r,Object.defineProperty(e,\"__esModule\",{value:!0})})});var _je=ye((p7,yje)=>{(function(e,t){typeof p7==\"object\"&&typeof yje!=\"undefined\"?t(p7):(e=e||self,t(e.d3=e.d3||{}))})(p7,function(e){\"use strict\";var t=0,r=0,n=0,i=1e3,a,o,s=0,l=0,u=0,c=typeof performance==\"object\"&&performance.now?performance:Date,f=typeof window==\"object\"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(C){setTimeout(C,17)};function h(){return l||(f(d),l=c.now()+u)}function d(){l=0}function v(){this._call=this._time=this._next=null}v.prototype=x.prototype={constructor:v,restart:function(C,M,g){if(typeof C!=\"function\")throw new TypeError(\"callback is not a function\");g=(g==null?h():+g)+(M==null?0:+M),!this._next&&o!==this&&(o?o._next=this:a=this,o=this),this._call=C,this._time=g,A()},stop:function(){this._call&&(this._call=null,this._time=1/0,A())}};function x(C,M,g){var P=new v;return P.restart(C,M,g),P}function b(){h(),++t;for(var C=a,M;C;)(M=l-C._time)>=0&&C._call.call(null,M),C=C._next;--t}function p(){l=(s=c.now())+u,t=r=0;try{b()}finally{t=0,k(),l=0}}function E(){var C=c.now(),M=C-s;M>i&&(u-=M,s=C)}function k(){for(var C,M=a,g,P=1/0;M;)M._call?(P>M._time&&(P=M._time),C=M,M=M._next):(g=M._next,M._next=null,M=C?C._next=g:a=g);o=C,A(P)}function A(C){if(!t){r&&(r=clearTimeout(r));var M=C-l;M>24?(C<1/0&&(r=setTimeout(p,C-c.now()-u)),n&&(n=clearInterval(n))):(n||(s=c.now(),n=setInterval(E,i)),t=1,f(p))}}function L(C,M,g){var P=new v;return M=M==null?0:+M,P.restart(function(T){P.stop(),C(T+M)},M,g),P}function _(C,M,g){var P=new v,T=M;return M==null?(P.restart(C,M,g),P):(M=+M,g=g==null?h():+g,P.restart(function F(q){q+=T,P.restart(F,T+=M,g),C(q)},M,g),P)}e.interval=_,e.now=h,e.timeout=L,e.timer=x,e.timerFlush=b,Object.defineProperty(e,\"__esModule\",{value:!0})})});var bje=ye((g7,xje)=>{(function(e,t){typeof g7==\"object\"&&typeof xje!=\"undefined\"?t(g7,vje(),d7(),mje(),_je()):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,e.d3)})(g7,function(e,t,r,n,i){\"use strict\";function a(C,M){var g;C==null&&(C=0),M==null&&(M=0);function P(){var T,F=g.length,q,V=0,H=0;for(T=0;T<F;++T)q=g[T],V+=q.x,H+=q.y;for(V=V/F-C,H=H/F-M,T=0;T<F;++T)q=g[T],q.x-=V,q.y-=H}return P.initialize=function(T){g=T},P.x=function(T){return arguments.length?(C=+T,P):C},P.y=function(T){return arguments.length?(M=+T,P):M},P}function o(C){return function(){return C}}function s(){return(Math.random()-.5)*1e-6}function l(C){return C.x+C.vx}function u(C){return C.y+C.vy}function c(C){var M,g,P=1,T=1;typeof C!=\"function\"&&(C=o(C==null?1:+C));function F(){for(var H,X=M.length,G,N,W,re,ae,_e,Me=0;Me<T;++Me)for(G=t.quadtree(M,l,u).visitAfter(q),H=0;H<X;++H)N=M[H],ae=g[N.index],_e=ae*ae,W=N.x+N.vx,re=N.y+N.vy,G.visit(ke);function ke(ge,ie,Te,Ee,Ae){var ze=ge.data,Ce=ge.r,me=ae+Ce;if(ze){if(ze.index>N.index){var Re=W-ze.x-ze.vx,ce=re-ze.y-ze.vy,Ge=Re*Re+ce*ce;Ge<me*me&&(Re===0&&(Re=s(),Ge+=Re*Re),ce===0&&(ce=s(),Ge+=ce*ce),Ge=(me-(Ge=Math.sqrt(Ge)))/Ge*P,N.vx+=(Re*=Ge)*(me=(Ce*=Ce)/(_e+Ce)),N.vy+=(ce*=Ge)*me,ze.vx-=Re*(me=1-me),ze.vy-=ce*me)}return}return ie>W+me||Ee<W-me||Te>re+me||Ae<re-me}}function q(H){if(H.data)return H.r=g[H.data.index];for(var X=H.r=0;X<4;++X)H[X]&&H[X].r>H.r&&(H.r=H[X].r)}function V(){if(M){var H,X=M.length,G;for(g=new Array(X),H=0;H<X;++H)G=M[H],g[G.index]=+C(G,H,M)}}return F.initialize=function(H){M=H,V()},F.iterations=function(H){return arguments.length?(T=+H,F):T},F.strength=function(H){return arguments.length?(P=+H,F):P},F.radius=function(H){return arguments.length?(C=typeof H==\"function\"?H:o(+H),V(),F):C},F}function f(C){return C.index}function h(C,M){var g=C.get(M);if(!g)throw new Error(\"missing: \"+M);return g}function d(C){var M=f,g=G,P,T=o(30),F,q,V,H,X=1;C==null&&(C=[]);function G(_e){return 1/Math.min(V[_e.source.index],V[_e.target.index])}function N(_e){for(var Me=0,ke=C.length;Me<X;++Me)for(var ge=0,ie,Te,Ee,Ae,ze,Ce,me;ge<ke;++ge)ie=C[ge],Te=ie.source,Ee=ie.target,Ae=Ee.x+Ee.vx-Te.x-Te.vx||s(),ze=Ee.y+Ee.vy-Te.y-Te.vy||s(),Ce=Math.sqrt(Ae*Ae+ze*ze),Ce=(Ce-F[ge])/Ce*_e*P[ge],Ae*=Ce,ze*=Ce,Ee.vx-=Ae*(me=H[ge]),Ee.vy-=ze*me,Te.vx+=Ae*(me=1-me),Te.vy+=ze*me}function W(){if(q){var _e,Me=q.length,ke=C.length,ge=r.map(q,M),ie;for(_e=0,V=new Array(Me);_e<ke;++_e)ie=C[_e],ie.index=_e,typeof ie.source!=\"object\"&&(ie.source=h(ge,ie.source)),typeof ie.target!=\"object\"&&(ie.target=h(ge,ie.target)),V[ie.source.index]=(V[ie.source.index]||0)+1,V[ie.target.index]=(V[ie.target.index]||0)+1;for(_e=0,H=new Array(ke);_e<ke;++_e)ie=C[_e],H[_e]=V[ie.source.index]/(V[ie.source.index]+V[ie.target.index]);P=new Array(ke),re(),F=new Array(ke),ae()}}function re(){if(q)for(var _e=0,Me=C.length;_e<Me;++_e)P[_e]=+g(C[_e],_e,C)}function ae(){if(q)for(var _e=0,Me=C.length;_e<Me;++_e)F[_e]=+T(C[_e],_e,C)}return N.initialize=function(_e){q=_e,W()},N.links=function(_e){return arguments.length?(C=_e,W(),N):C},N.id=function(_e){return arguments.length?(M=_e,N):M},N.iterations=function(_e){return arguments.length?(X=+_e,N):X},N.strength=function(_e){return arguments.length?(g=typeof _e==\"function\"?_e:o(+_e),re(),N):g},N.distance=function(_e){return arguments.length?(T=typeof _e==\"function\"?_e:o(+_e),ae(),N):T},N}function v(C){return C.x}function x(C){return C.y}var b=10,p=Math.PI*(3-Math.sqrt(5));function E(C){var M,g=1,P=.001,T=1-Math.pow(P,1/300),F=0,q=.6,V=r.map(),H=i.timer(G),X=n.dispatch(\"tick\",\"end\");C==null&&(C=[]);function G(){N(),X.call(\"tick\",M),g<P&&(H.stop(),X.call(\"end\",M))}function N(ae){var _e,Me=C.length,ke;ae===void 0&&(ae=1);for(var ge=0;ge<ae;++ge)for(g+=(F-g)*T,V.each(function(ie){ie(g)}),_e=0;_e<Me;++_e)ke=C[_e],ke.fx==null?ke.x+=ke.vx*=q:(ke.x=ke.fx,ke.vx=0),ke.fy==null?ke.y+=ke.vy*=q:(ke.y=ke.fy,ke.vy=0);return M}function W(){for(var ae=0,_e=C.length,Me;ae<_e;++ae){if(Me=C[ae],Me.index=ae,Me.fx!=null&&(Me.x=Me.fx),Me.fy!=null&&(Me.y=Me.fy),isNaN(Me.x)||isNaN(Me.y)){var ke=b*Math.sqrt(ae),ge=ae*p;Me.x=ke*Math.cos(ge),Me.y=ke*Math.sin(ge)}(isNaN(Me.vx)||isNaN(Me.vy))&&(Me.vx=Me.vy=0)}}function re(ae){return ae.initialize&&ae.initialize(C),ae}return W(),M={tick:N,restart:function(){return H.restart(G),M},stop:function(){return H.stop(),M},nodes:function(ae){return arguments.length?(C=ae,W(),V.each(re),M):C},alpha:function(ae){return arguments.length?(g=+ae,M):g},alphaMin:function(ae){return arguments.length?(P=+ae,M):P},alphaDecay:function(ae){return arguments.length?(T=+ae,M):+T},alphaTarget:function(ae){return arguments.length?(F=+ae,M):F},velocityDecay:function(ae){return arguments.length?(q=1-ae,M):1-q},force:function(ae,_e){return arguments.length>1?(_e==null?V.remove(ae):V.set(ae,re(_e)),M):V.get(ae)},find:function(ae,_e,Me){var ke=0,ge=C.length,ie,Te,Ee,Ae,ze;for(Me==null?Me=1/0:Me*=Me,ke=0;ke<ge;++ke)Ae=C[ke],ie=ae-Ae.x,Te=_e-Ae.y,Ee=ie*ie+Te*Te,Ee<Me&&(ze=Ae,Me=Ee);return ze},on:function(ae,_e){return arguments.length>1?(X.on(ae,_e),M):X.on(ae)}}}function k(){var C,M,g,P=o(-30),T,F=1,q=1/0,V=.81;function H(W){var re,ae=C.length,_e=t.quadtree(C,v,x).visitAfter(G);for(g=W,re=0;re<ae;++re)M=C[re],_e.visit(N)}function X(){if(C){var W,re=C.length,ae;for(T=new Array(re),W=0;W<re;++W)ae=C[W],T[ae.index]=+P(ae,W,C)}}function G(W){var re=0,ae,_e,Me=0,ke,ge,ie;if(W.length){for(ke=ge=ie=0;ie<4;++ie)(ae=W[ie])&&(_e=Math.abs(ae.value))&&(re+=ae.value,Me+=_e,ke+=_e*ae.x,ge+=_e*ae.y);W.x=ke/Me,W.y=ge/Me}else{ae=W,ae.x=ae.data.x,ae.y=ae.data.y;do re+=T[ae.data.index];while(ae=ae.next)}W.value=re}function N(W,re,ae,_e){if(!W.value)return!0;var Me=W.x-M.x,ke=W.y-M.y,ge=_e-re,ie=Me*Me+ke*ke;if(ge*ge/V<ie)return ie<q&&(Me===0&&(Me=s(),ie+=Me*Me),ke===0&&(ke=s(),ie+=ke*ke),ie<F&&(ie=Math.sqrt(F*ie)),M.vx+=Me*W.value*g/ie,M.vy+=ke*W.value*g/ie),!0;if(W.length||ie>=q)return;(W.data!==M||W.next)&&(Me===0&&(Me=s(),ie+=Me*Me),ke===0&&(ke=s(),ie+=ke*ke),ie<F&&(ie=Math.sqrt(F*ie)));do W.data!==M&&(ge=T[W.data.index]*g/ie,M.vx+=Me*ge,M.vy+=ke*ge);while(W=W.next)}return H.initialize=function(W){C=W,X()},H.strength=function(W){return arguments.length?(P=typeof W==\"function\"?W:o(+W),X(),H):P},H.distanceMin=function(W){return arguments.length?(F=W*W,H):Math.sqrt(F)},H.distanceMax=function(W){return arguments.length?(q=W*W,H):Math.sqrt(q)},H.theta=function(W){return arguments.length?(V=W*W,H):Math.sqrt(V)},H}function A(C,M,g){var P,T=o(.1),F,q;typeof C!=\"function\"&&(C=o(+C)),M==null&&(M=0),g==null&&(g=0);function V(X){for(var G=0,N=P.length;G<N;++G){var W=P[G],re=W.x-M||1e-6,ae=W.y-g||1e-6,_e=Math.sqrt(re*re+ae*ae),Me=(q[G]-_e)*F[G]*X/_e;W.vx+=re*Me,W.vy+=ae*Me}}function H(){if(P){var X,G=P.length;for(F=new Array(G),q=new Array(G),X=0;X<G;++X)q[X]=+C(P[X],X,P),F[X]=isNaN(q[X])?0:+T(P[X],X,P)}}return V.initialize=function(X){P=X,H()},V.strength=function(X){return arguments.length?(T=typeof X==\"function\"?X:o(+X),H(),V):T},V.radius=function(X){return arguments.length?(C=typeof X==\"function\"?X:o(+X),H(),V):C},V.x=function(X){return arguments.length?(M=+X,V):M},V.y=function(X){return arguments.length?(g=+X,V):g},V}function L(C){var M=o(.1),g,P,T;typeof C!=\"function\"&&(C=o(C==null?0:+C));function F(V){for(var H=0,X=g.length,G;H<X;++H)G=g[H],G.vx+=(T[H]-G.x)*P[H]*V}function q(){if(g){var V,H=g.length;for(P=new Array(H),T=new Array(H),V=0;V<H;++V)P[V]=isNaN(T[V]=+C(g[V],V,g))?0:+M(g[V],V,g)}}return F.initialize=function(V){g=V,q()},F.strength=function(V){return arguments.length?(M=typeof V==\"function\"?V:o(+V),q(),F):M},F.x=function(V){return arguments.length?(C=typeof V==\"function\"?V:o(+V),q(),F):C},F}function _(C){var M=o(.1),g,P,T;typeof C!=\"function\"&&(C=o(C==null?0:+C));function F(V){for(var H=0,X=g.length,G;H<X;++H)G=g[H],G.vy+=(T[H]-G.y)*P[H]*V}function q(){if(g){var V,H=g.length;for(P=new Array(H),T=new Array(H),V=0;V<H;++V)P[V]=isNaN(T[V]=+C(g[V],V,g))?0:+M(g[V],V,g)}}return F.initialize=function(V){g=V,q()},F.strength=function(V){return arguments.length?(M=typeof V==\"function\"?V:o(+V),q(),F):M},F.y=function(V){return arguments.length?(C=typeof V==\"function\"?V:o(+V),q(),F):C},F}e.forceCenter=a,e.forceCollide=c,e.forceLink=d,e.forceManyBody=k,e.forceRadial=A,e.forceSimulation=E,e.forceX=L,e.forceY=_,Object.defineProperty(e,\"__esModule\",{value:!0})})});var Tje=ye((m7,wje)=>{(function(e,t){typeof m7==\"object\"&&typeof wje!=\"undefined\"?t(m7):(e=e||self,t(e.d3=e.d3||{}))})(m7,function(e){\"use strict\";var t=Math.PI,r=2*t,n=1e-6,i=r-n;function a(){this._x0=this._y0=this._x1=this._y1=null,this._=\"\"}function o(){return new a}a.prototype=o.prototype={constructor:a,moveTo:function(s,l){this._+=\"M\"+(this._x0=this._x1=+s)+\",\"+(this._y0=this._y1=+l)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+=\"Z\")},lineTo:function(s,l){this._+=\"L\"+(this._x1=+s)+\",\"+(this._y1=+l)},quadraticCurveTo:function(s,l,u,c){this._+=\"Q\"+ +s+\",\"+ +l+\",\"+(this._x1=+u)+\",\"+(this._y1=+c)},bezierCurveTo:function(s,l,u,c,f,h){this._+=\"C\"+ +s+\",\"+ +l+\",\"+ +u+\",\"+ +c+\",\"+(this._x1=+f)+\",\"+(this._y1=+h)},arcTo:function(s,l,u,c,f){s=+s,l=+l,u=+u,c=+c,f=+f;var h=this._x1,d=this._y1,v=u-s,x=c-l,b=h-s,p=d-l,E=b*b+p*p;if(f<0)throw new Error(\"negative radius: \"+f);if(this._x1===null)this._+=\"M\"+(this._x1=s)+\",\"+(this._y1=l);else if(E>n)if(!(Math.abs(p*v-x*b)>n)||!f)this._+=\"L\"+(this._x1=s)+\",\"+(this._y1=l);else{var k=u-h,A=c-d,L=v*v+x*x,_=k*k+A*A,C=Math.sqrt(L),M=Math.sqrt(E),g=f*Math.tan((t-Math.acos((L+E-_)/(2*C*M)))/2),P=g/M,T=g/C;Math.abs(P-1)>n&&(this._+=\"L\"+(s+P*b)+\",\"+(l+P*p)),this._+=\"A\"+f+\",\"+f+\",0,0,\"+ +(p*k>b*A)+\",\"+(this._x1=s+T*v)+\",\"+(this._y1=l+T*x)}},arc:function(s,l,u,c,f,h){s=+s,l=+l,u=+u,h=!!h;var d=u*Math.cos(c),v=u*Math.sin(c),x=s+d,b=l+v,p=1^h,E=h?c-f:f-c;if(u<0)throw new Error(\"negative radius: \"+u);this._x1===null?this._+=\"M\"+x+\",\"+b:(Math.abs(this._x1-x)>n||Math.abs(this._y1-b)>n)&&(this._+=\"L\"+x+\",\"+b),u&&(E<0&&(E=E%r+r),E>i?this._+=\"A\"+u+\",\"+u+\",0,1,\"+p+\",\"+(s-d)+\",\"+(l-v)+\"A\"+u+\",\"+u+\",0,1,\"+p+\",\"+(this._x1=x)+\",\"+(this._y1=b):E>n&&(this._+=\"A\"+u+\",\"+u+\",0,\"+ +(E>=t)+\",\"+p+\",\"+(this._x1=s+u*Math.cos(f))+\",\"+(this._y1=l+u*Math.sin(f))))},rect:function(s,l,u,c){this._+=\"M\"+(this._x0=this._x1=+s)+\",\"+(this._y0=this._y1=+l)+\"h\"+ +u+\"v\"+ +c+\"h\"+-u+\"Z\"},toString:function(){return this._}},e.path=o,Object.defineProperty(e,\"__esModule\",{value:!0})})});var PJ=ye((y7,Aje)=>{(function(e,t){typeof y7==\"object\"&&typeof Aje!=\"undefined\"?t(y7,Tje()):(e=e||self,t(e.d3=e.d3||{},e.d3))})(y7,function(e,t){\"use strict\";function r(_t){return function(){return _t}}var n=Math.abs,i=Math.atan2,a=Math.cos,o=Math.max,s=Math.min,l=Math.sin,u=Math.sqrt,c=1e-12,f=Math.PI,h=f/2,d=2*f;function v(_t){return _t>1?0:_t<-1?f:Math.acos(_t)}function x(_t){return _t>=1?h:_t<=-1?-h:Math.asin(_t)}function b(_t){return _t.innerRadius}function p(_t){return _t.outerRadius}function E(_t){return _t.startAngle}function k(_t){return _t.endAngle}function A(_t){return _t&&_t.padAngle}function L(_t,br,Hr,ti,zi,Yi,an,hi){var Ji=Hr-_t,ua=ti-br,Fn=an-zi,Sa=hi-Yi,go=Sa*Ji-Fn*ua;if(!(go*go<c))return go=(Fn*(br-Yi)-Sa*(_t-zi))/go,[_t+go*Ji,br+go*ua]}function _(_t,br,Hr,ti,zi,Yi,an){var hi=_t-Hr,Ji=br-ti,ua=(an?Yi:-Yi)/u(hi*hi+Ji*Ji),Fn=ua*Ji,Sa=-ua*hi,go=_t+Fn,Oo=br+Sa,ho=Hr+Fn,Mo=ti+Sa,xo=(go+ho)/2,zs=(Oo+Mo)/2,ks=ho-go,Zs=Mo-Oo,Xs=ks*ks+Zs*Zs,wl=zi-Yi,os=go*Mo-ho*Oo,cl=(Zs<0?-1:1)*u(o(0,wl*wl*Xs-os*os)),Cs=(os*Zs-ks*cl)/Xs,ml=(-os*ks-Zs*cl)/Xs,Ys=(os*Zs+ks*cl)/Xs,Hs=(-os*ks+Zs*cl)/Xs,Eo=Cs-xo,fs=ml-zs,Ql=Ys-xo,Hu=Hs-zs;return Eo*Eo+fs*fs>Ql*Ql+Hu*Hu&&(Cs=Ys,ml=Hs),{cx:Cs,cy:ml,x01:-Fn,y01:-Sa,x11:Cs*(zi/wl-1),y11:ml*(zi/wl-1)}}function C(){var _t=b,br=p,Hr=r(0),ti=null,zi=E,Yi=k,an=A,hi=null;function Ji(){var ua,Fn,Sa=+_t.apply(this,arguments),go=+br.apply(this,arguments),Oo=zi.apply(this,arguments)-h,ho=Yi.apply(this,arguments)-h,Mo=n(ho-Oo),xo=ho>Oo;if(hi||(hi=ua=t.path()),go<Sa&&(Fn=go,go=Sa,Sa=Fn),!(go>c))hi.moveTo(0,0);else if(Mo>d-c)hi.moveTo(go*a(Oo),go*l(Oo)),hi.arc(0,0,go,Oo,ho,!xo),Sa>c&&(hi.moveTo(Sa*a(ho),Sa*l(ho)),hi.arc(0,0,Sa,ho,Oo,xo));else{var zs=Oo,ks=ho,Zs=Oo,Xs=ho,wl=Mo,os=Mo,cl=an.apply(this,arguments)/2,Cs=cl>c&&(ti?+ti.apply(this,arguments):u(Sa*Sa+go*go)),ml=s(n(go-Sa)/2,+Hr.apply(this,arguments)),Ys=ml,Hs=ml,Eo,fs;if(Cs>c){var Ql=x(Cs/Sa*l(cl)),Hu=x(Cs/go*l(cl));(wl-=Ql*2)>c?(Ql*=xo?1:-1,Zs+=Ql,Xs-=Ql):(wl=0,Zs=Xs=(Oo+ho)/2),(os-=Hu*2)>c?(Hu*=xo?1:-1,zs+=Hu,ks-=Hu):(os=0,zs=ks=(Oo+ho)/2)}var fc=go*a(zs),ms=go*l(zs),on=Sa*a(Xs),fa=Sa*l(Xs);if(ml>c){var Qu=go*a(ks),Rl=go*l(ks),vo=Sa*a(Zs),Zl=Sa*l(Zs),Ks;if(Mo<f&&(Ks=L(fc,ms,vo,Zl,Qu,Rl,on,fa))){var Xl=fc-Ks[0],Ec=ms-Ks[1],Zn=Qu-Ks[0],ko=Rl-Ks[1],Co=1/l(v((Xl*Zn+Ec*ko)/(u(Xl*Xl+Ec*Ec)*u(Zn*Zn+ko*ko)))/2),Tl=u(Ks[0]*Ks[0]+Ks[1]*Ks[1]);Ys=s(ml,(Sa-Tl)/(Co-1)),Hs=s(ml,(go-Tl)/(Co+1))}}os>c?Hs>c?(Eo=_(vo,Zl,fc,ms,go,Hs,xo),fs=_(Qu,Rl,on,fa,go,Hs,xo),hi.moveTo(Eo.cx+Eo.x01,Eo.cy+Eo.y01),Hs<ml?hi.arc(Eo.cx,Eo.cy,Hs,i(Eo.y01,Eo.x01),i(fs.y01,fs.x01),!xo):(hi.arc(Eo.cx,Eo.cy,Hs,i(Eo.y01,Eo.x01),i(Eo.y11,Eo.x11),!xo),hi.arc(0,0,go,i(Eo.cy+Eo.y11,Eo.cx+Eo.x11),i(fs.cy+fs.y11,fs.cx+fs.x11),!xo),hi.arc(fs.cx,fs.cy,Hs,i(fs.y11,fs.x11),i(fs.y01,fs.x01),!xo))):(hi.moveTo(fc,ms),hi.arc(0,0,go,zs,ks,!xo)):hi.moveTo(fc,ms),!(Sa>c)||!(wl>c)?hi.lineTo(on,fa):Ys>c?(Eo=_(on,fa,Qu,Rl,Sa,-Ys,xo),fs=_(fc,ms,vo,Zl,Sa,-Ys,xo),hi.lineTo(Eo.cx+Eo.x01,Eo.cy+Eo.y01),Ys<ml?hi.arc(Eo.cx,Eo.cy,Ys,i(Eo.y01,Eo.x01),i(fs.y01,fs.x01),!xo):(hi.arc(Eo.cx,Eo.cy,Ys,i(Eo.y01,Eo.x01),i(Eo.y11,Eo.x11),!xo),hi.arc(0,0,Sa,i(Eo.cy+Eo.y11,Eo.cx+Eo.x11),i(fs.cy+fs.y11,fs.cx+fs.x11),xo),hi.arc(fs.cx,fs.cy,Ys,i(fs.y11,fs.x11),i(fs.y01,fs.x01),!xo))):hi.arc(0,0,Sa,Xs,Zs,xo)}if(hi.closePath(),ua)return hi=null,ua+\"\"||null}return Ji.centroid=function(){var ua=(+_t.apply(this,arguments)+ +br.apply(this,arguments))/2,Fn=(+zi.apply(this,arguments)+ +Yi.apply(this,arguments))/2-f/2;return[a(Fn)*ua,l(Fn)*ua]},Ji.innerRadius=function(ua){return arguments.length?(_t=typeof ua==\"function\"?ua:r(+ua),Ji):_t},Ji.outerRadius=function(ua){return arguments.length?(br=typeof ua==\"function\"?ua:r(+ua),Ji):br},Ji.cornerRadius=function(ua){return arguments.length?(Hr=typeof ua==\"function\"?ua:r(+ua),Ji):Hr},Ji.padRadius=function(ua){return arguments.length?(ti=ua==null?null:typeof ua==\"function\"?ua:r(+ua),Ji):ti},Ji.startAngle=function(ua){return arguments.length?(zi=typeof ua==\"function\"?ua:r(+ua),Ji):zi},Ji.endAngle=function(ua){return arguments.length?(Yi=typeof ua==\"function\"?ua:r(+ua),Ji):Yi},Ji.padAngle=function(ua){return arguments.length?(an=typeof ua==\"function\"?ua:r(+ua),Ji):an},Ji.context=function(ua){return arguments.length?(hi=ua==null?null:ua,Ji):hi},Ji}function M(_t){this._context=_t}M.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;default:this._context.lineTo(_t,br);break}}};function g(_t){return new M(_t)}function P(_t){return _t[0]}function T(_t){return _t[1]}function F(){var _t=P,br=T,Hr=r(!0),ti=null,zi=g,Yi=null;function an(hi){var Ji,ua=hi.length,Fn,Sa=!1,go;for(ti==null&&(Yi=zi(go=t.path())),Ji=0;Ji<=ua;++Ji)!(Ji<ua&&Hr(Fn=hi[Ji],Ji,hi))===Sa&&((Sa=!Sa)?Yi.lineStart():Yi.lineEnd()),Sa&&Yi.point(+_t(Fn,Ji,hi),+br(Fn,Ji,hi));if(go)return Yi=null,go+\"\"||null}return an.x=function(hi){return arguments.length?(_t=typeof hi==\"function\"?hi:r(+hi),an):_t},an.y=function(hi){return arguments.length?(br=typeof hi==\"function\"?hi:r(+hi),an):br},an.defined=function(hi){return arguments.length?(Hr=typeof hi==\"function\"?hi:r(!!hi),an):Hr},an.curve=function(hi){return arguments.length?(zi=hi,ti!=null&&(Yi=zi(ti)),an):zi},an.context=function(hi){return arguments.length?(hi==null?ti=Yi=null:Yi=zi(ti=hi),an):ti},an}function q(){var _t=P,br=null,Hr=r(0),ti=T,zi=r(!0),Yi=null,an=g,hi=null;function Ji(Fn){var Sa,go,Oo,ho=Fn.length,Mo,xo=!1,zs,ks=new Array(ho),Zs=new Array(ho);for(Yi==null&&(hi=an(zs=t.path())),Sa=0;Sa<=ho;++Sa){if(!(Sa<ho&&zi(Mo=Fn[Sa],Sa,Fn))===xo)if(xo=!xo)go=Sa,hi.areaStart(),hi.lineStart();else{for(hi.lineEnd(),hi.lineStart(),Oo=Sa-1;Oo>=go;--Oo)hi.point(ks[Oo],Zs[Oo]);hi.lineEnd(),hi.areaEnd()}xo&&(ks[Sa]=+_t(Mo,Sa,Fn),Zs[Sa]=+Hr(Mo,Sa,Fn),hi.point(br?+br(Mo,Sa,Fn):ks[Sa],ti?+ti(Mo,Sa,Fn):Zs[Sa]))}if(zs)return hi=null,zs+\"\"||null}function ua(){return F().defined(zi).curve(an).context(Yi)}return Ji.x=function(Fn){return arguments.length?(_t=typeof Fn==\"function\"?Fn:r(+Fn),br=null,Ji):_t},Ji.x0=function(Fn){return arguments.length?(_t=typeof Fn==\"function\"?Fn:r(+Fn),Ji):_t},Ji.x1=function(Fn){return arguments.length?(br=Fn==null?null:typeof Fn==\"function\"?Fn:r(+Fn),Ji):br},Ji.y=function(Fn){return arguments.length?(Hr=typeof Fn==\"function\"?Fn:r(+Fn),ti=null,Ji):Hr},Ji.y0=function(Fn){return arguments.length?(Hr=typeof Fn==\"function\"?Fn:r(+Fn),Ji):Hr},Ji.y1=function(Fn){return arguments.length?(ti=Fn==null?null:typeof Fn==\"function\"?Fn:r(+Fn),Ji):ti},Ji.lineX0=Ji.lineY0=function(){return ua().x(_t).y(Hr)},Ji.lineY1=function(){return ua().x(_t).y(ti)},Ji.lineX1=function(){return ua().x(br).y(Hr)},Ji.defined=function(Fn){return arguments.length?(zi=typeof Fn==\"function\"?Fn:r(!!Fn),Ji):zi},Ji.curve=function(Fn){return arguments.length?(an=Fn,Yi!=null&&(hi=an(Yi)),Ji):an},Ji.context=function(Fn){return arguments.length?(Fn==null?Yi=hi=null:hi=an(Yi=Fn),Ji):Yi},Ji}function V(_t,br){return br<_t?-1:br>_t?1:br>=_t?0:NaN}function H(_t){return _t}function X(){var _t=H,br=V,Hr=null,ti=r(0),zi=r(d),Yi=r(0);function an(hi){var Ji,ua=hi.length,Fn,Sa,go=0,Oo=new Array(ua),ho=new Array(ua),Mo=+ti.apply(this,arguments),xo=Math.min(d,Math.max(-d,zi.apply(this,arguments)-Mo)),zs,ks=Math.min(Math.abs(xo)/ua,Yi.apply(this,arguments)),Zs=ks*(xo<0?-1:1),Xs;for(Ji=0;Ji<ua;++Ji)(Xs=ho[Oo[Ji]=Ji]=+_t(hi[Ji],Ji,hi))>0&&(go+=Xs);for(br!=null?Oo.sort(function(wl,os){return br(ho[wl],ho[os])}):Hr!=null&&Oo.sort(function(wl,os){return Hr(hi[wl],hi[os])}),Ji=0,Sa=go?(xo-ua*Zs)/go:0;Ji<ua;++Ji,Mo=zs)Fn=Oo[Ji],Xs=ho[Fn],zs=Mo+(Xs>0?Xs*Sa:0)+Zs,ho[Fn]={data:hi[Fn],index:Ji,value:Xs,startAngle:Mo,endAngle:zs,padAngle:ks};return ho}return an.value=function(hi){return arguments.length?(_t=typeof hi==\"function\"?hi:r(+hi),an):_t},an.sortValues=function(hi){return arguments.length?(br=hi,Hr=null,an):br},an.sort=function(hi){return arguments.length?(Hr=hi,br=null,an):Hr},an.startAngle=function(hi){return arguments.length?(ti=typeof hi==\"function\"?hi:r(+hi),an):ti},an.endAngle=function(hi){return arguments.length?(zi=typeof hi==\"function\"?hi:r(+hi),an):zi},an.padAngle=function(hi){return arguments.length?(Yi=typeof hi==\"function\"?hi:r(+hi),an):Yi},an}var G=W(g);function N(_t){this._curve=_t}N.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(_t,br){this._curve.point(br*Math.sin(_t),br*-Math.cos(_t))}};function W(_t){function br(Hr){return new N(_t(Hr))}return br._curve=_t,br}function re(_t){var br=_t.curve;return _t.angle=_t.x,delete _t.x,_t.radius=_t.y,delete _t.y,_t.curve=function(Hr){return arguments.length?br(W(Hr)):br()._curve},_t}function ae(){return re(F().curve(G))}function _e(){var _t=q().curve(G),br=_t.curve,Hr=_t.lineX0,ti=_t.lineX1,zi=_t.lineY0,Yi=_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 re(Hr())},delete _t.lineX0,_t.lineEndAngle=function(){return re(ti())},delete _t.lineX1,_t.lineInnerRadius=function(){return re(zi())},delete _t.lineY0,_t.lineOuterRadius=function(){return re(Yi())},delete _t.lineY1,_t.curve=function(an){return arguments.length?br(W(an)):br()._curve},_t}function Me(_t,br){return[(br=+br)*Math.cos(_t-=Math.PI/2),br*Math.sin(_t)]}var ke=Array.prototype.slice;function ge(_t){return _t.source}function ie(_t){return _t.target}function Te(_t){var br=ge,Hr=ie,ti=P,zi=T,Yi=null;function an(){var hi,Ji=ke.call(arguments),ua=br.apply(this,Ji),Fn=Hr.apply(this,Ji);if(Yi||(Yi=hi=t.path()),_t(Yi,+ti.apply(this,(Ji[0]=ua,Ji)),+zi.apply(this,Ji),+ti.apply(this,(Ji[0]=Fn,Ji)),+zi.apply(this,Ji)),hi)return Yi=null,hi+\"\"||null}return an.source=function(hi){return arguments.length?(br=hi,an):br},an.target=function(hi){return arguments.length?(Hr=hi,an):Hr},an.x=function(hi){return arguments.length?(ti=typeof hi==\"function\"?hi:r(+hi),an):ti},an.y=function(hi){return arguments.length?(zi=typeof hi==\"function\"?hi:r(+hi),an):zi},an.context=function(hi){return arguments.length?(Yi=hi==null?null:hi,an):Yi},an}function Ee(_t,br,Hr,ti,zi){_t.moveTo(br,Hr),_t.bezierCurveTo(br=(br+ti)/2,Hr,br,zi,ti,zi)}function Ae(_t,br,Hr,ti,zi){_t.moveTo(br,Hr),_t.bezierCurveTo(br,Hr=(Hr+zi)/2,ti,Hr,ti,zi)}function ze(_t,br,Hr,ti,zi){var Yi=Me(br,Hr),an=Me(br,Hr=(Hr+zi)/2),hi=Me(ti,Hr),Ji=Me(ti,zi);_t.moveTo(Yi[0],Yi[1]),_t.bezierCurveTo(an[0],an[1],hi[0],hi[1],Ji[0],Ji[1])}function Ce(){return Te(Ee)}function me(){return Te(Ae)}function Re(){var _t=Te(ze);return _t.angle=_t.x,delete _t.x,_t.radius=_t.y,delete _t.y,_t}var ce={draw:function(_t,br){var Hr=Math.sqrt(br/f);_t.moveTo(Hr,0),_t.arc(0,0,Hr,0,d)}},Ge={draw:function(_t,br){var Hr=Math.sqrt(br/5)/2;_t.moveTo(-3*Hr,-Hr),_t.lineTo(-Hr,-Hr),_t.lineTo(-Hr,-3*Hr),_t.lineTo(Hr,-3*Hr),_t.lineTo(Hr,-Hr),_t.lineTo(3*Hr,-Hr),_t.lineTo(3*Hr,Hr),_t.lineTo(Hr,Hr),_t.lineTo(Hr,3*Hr),_t.lineTo(-Hr,3*Hr),_t.lineTo(-Hr,Hr),_t.lineTo(-3*Hr,Hr),_t.closePath()}},nt=Math.sqrt(1/3),ct=nt*2,qt={draw:function(_t,br){var Hr=Math.sqrt(br/ct),ti=Hr*nt;_t.moveTo(0,-Hr),_t.lineTo(ti,0),_t.lineTo(0,Hr),_t.lineTo(-ti,0),_t.closePath()}},rt=.8908130915292852,ot=Math.sin(f/10)/Math.sin(7*f/10),Rt=Math.sin(d/10)*ot,kt=-Math.cos(d/10)*ot,Ct={draw:function(_t,br){var Hr=Math.sqrt(br*rt),ti=Rt*Hr,zi=kt*Hr;_t.moveTo(0,-Hr),_t.lineTo(ti,zi);for(var Yi=1;Yi<5;++Yi){var an=d*Yi/5,hi=Math.cos(an),Ji=Math.sin(an);_t.lineTo(Ji*Hr,-hi*Hr),_t.lineTo(hi*ti-Ji*zi,Ji*ti+hi*zi)}_t.closePath()}},Yt={draw:function(_t,br){var Hr=Math.sqrt(br),ti=-Hr/2;_t.rect(ti,ti,Hr,Hr)}},xr=Math.sqrt(3),er={draw:function(_t,br){var Hr=-Math.sqrt(br/(xr*3));_t.moveTo(0,Hr*2),_t.lineTo(-xr*Hr,-Hr),_t.lineTo(xr*Hr,-Hr),_t.closePath()}},Ke=-.5,xt=Math.sqrt(3)/2,bt=1/Math.sqrt(12),Lt=(bt/2+1)*3,St={draw:function(_t,br){var Hr=Math.sqrt(br/Lt),ti=Hr/2,zi=Hr*bt,Yi=ti,an=Hr*bt+Hr,hi=-Yi,Ji=an;_t.moveTo(ti,zi),_t.lineTo(Yi,an),_t.lineTo(hi,Ji),_t.lineTo(Ke*ti-xt*zi,xt*ti+Ke*zi),_t.lineTo(Ke*Yi-xt*an,xt*Yi+Ke*an),_t.lineTo(Ke*hi-xt*Ji,xt*hi+Ke*Ji),_t.lineTo(Ke*ti+xt*zi,Ke*zi-xt*ti),_t.lineTo(Ke*Yi+xt*an,Ke*an-xt*Yi),_t.lineTo(Ke*hi+xt*Ji,Ke*Ji-xt*hi),_t.closePath()}},Et=[ce,Ge,qt,Yt,Ct,er,St];function dt(){var _t=r(ce),br=r(64),Hr=null;function ti(){var zi;if(Hr||(Hr=zi=t.path()),_t.apply(this,arguments).draw(Hr,+br.apply(this,arguments)),zi)return Hr=null,zi+\"\"||null}return ti.type=function(zi){return arguments.length?(_t=typeof zi==\"function\"?zi:r(zi),ti):_t},ti.size=function(zi){return arguments.length?(br=typeof zi==\"function\"?zi:r(+zi),ti):br},ti.context=function(zi){return arguments.length?(Hr=zi==null?null:zi,ti):Hr},ti}function Ht(){}function $t(_t,br,Hr){_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+br)/6,(_t._y0+4*_t._y1+Hr)/6)}function fr(_t){this._context=_t}fr.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:$t(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);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:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function _r(_t){return new fr(_t)}function Br(_t){this._context=_t}Br.prototype={areaStart:Ht,areaEnd:Ht,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);break}}},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._x2=_t,this._y2=br;break;case 1:this._point=2,this._x3=_t,this._y3=br;break;case 2:this._point=3,this._x4=_t,this._y4=br,this._context.moveTo((this._x0+4*this._x1+_t)/6,(this._y0+4*this._y1+br)/6);break;default:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function Or(_t){return new Br(_t)}function Nr(_t){this._context=_t}Nr.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var Hr=(this._x0+4*this._x1+_t)/6,ti=(this._y0+4*this._y1+br)/6;this._line?this._context.lineTo(Hr,ti):this._context.moveTo(Hr,ti);break;case 3:this._point=4;default:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function ut(_t){return new Nr(_t)}function Ne(_t,br){this._basis=new fr(_t),this._beta=br}Ne.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var _t=this._x,br=this._y,Hr=_t.length-1;if(Hr>0)for(var ti=_t[0],zi=br[0],Yi=_t[Hr]-ti,an=br[Hr]-zi,hi=-1,Ji;++hi<=Hr;)Ji=hi/Hr,this._basis.point(this._beta*_t[hi]+(1-this._beta)*(ti+Ji*Yi),this._beta*br[hi]+(1-this._beta)*(zi+Ji*an));this._x=this._y=null,this._basis.lineEnd()},point:function(_t,br){this._x.push(+_t),this._y.push(+br)}};var Ye=function _t(br){function Hr(ti){return br===1?new fr(ti):new Ne(ti,br)}return Hr.beta=function(ti){return _t(+ti)},Hr}(.85);function Ve(_t,br,Hr){_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-br),_t._y2+_t._k*(_t._y1-Hr),_t._x2,_t._y2)}function Xe(_t,br){this._context=_t,this._k=(1-br)/6}Xe.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:Ve(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2,this._x1=_t,this._y1=br;break;case 2:this._point=3;default:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var ht=function _t(br){function Hr(ti){return new Xe(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Le(_t,br){this._context=_t,this._k=(1-br)/6}Le.prototype={areaStart:Ht,areaEnd:Ht,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);break}}},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._x3=_t,this._y3=br;break;case 1:this._point=2,this._context.moveTo(this._x4=_t,this._y4=br);break;case 2:this._point=3,this._x5=_t,this._y5=br;break;default:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var xe=function _t(br){function Hr(ti){return new Le(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Se(_t,br){this._context=_t,this._k=(1-br)/6}Se.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,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:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var lt=function _t(br){function Hr(ti){return new Se(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Gt(_t,br,Hr){var ti=_t._x1,zi=_t._y1,Yi=_t._x2,an=_t._y2;if(_t._l01_a>c){var hi=2*_t._l01_2a+3*_t._l01_a*_t._l12_a+_t._l12_2a,Ji=3*_t._l01_a*(_t._l01_a+_t._l12_a);ti=(ti*hi-_t._x0*_t._l12_2a+_t._x2*_t._l01_2a)/Ji,zi=(zi*hi-_t._y0*_t._l12_2a+_t._y2*_t._l01_2a)/Ji}if(_t._l23_a>c){var ua=2*_t._l23_2a+3*_t._l23_a*_t._l12_a+_t._l12_2a,Fn=3*_t._l23_a*(_t._l23_a+_t._l12_a);Yi=(Yi*ua+_t._x1*_t._l23_2a-br*_t._l12_2a)/Fn,an=(an*ua+_t._y1*_t._l23_2a-Hr*_t._l12_2a)/Fn}_t._context.bezierCurveTo(ti,zi,Yi,an,_t._x2,_t._y2)}function Vt(_t,br){this._context=_t,this._alpha=br}Vt.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);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;break;case 2:this._point=3;default:Gt(this,_t,br);break}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=br}};var ar=function _t(br){function Hr(ti){return br?new Vt(ti,br):new Xe(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function Qr(_t,br){this._context=_t,this._alpha=br}Qr.prototype={areaStart:Ht,areaEnd:Ht,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);break}}},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=_t,this._y3=br;break;case 1:this._point=2,this._context.moveTo(this._x4=_t,this._y4=br);break;case 2:this._point=3,this._x5=_t,this._y5=br;break;default:Gt(this,_t,br);break}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=br}};var ai=function _t(br){function Hr(ti){return br?new Qr(ti,br):new Le(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function jr(_t,br){this._context=_t,this._alpha=br}jr.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,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:Gt(this,_t,br);break}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=br}};var ri=function _t(br){function Hr(ti){return br?new jr(ti,br):new Se(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function bi(_t){this._context=_t}bi.prototype={areaStart:Ht,areaEnd:Ht,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(_t,br){_t=+_t,br=+br,this._point?this._context.lineTo(_t,br):(this._point=1,this._context.moveTo(_t,br))}};function nn(_t){return new bi(_t)}function Wi(_t){return _t<0?-1:1}function Ni(_t,br,Hr){var ti=_t._x1-_t._x0,zi=br-_t._x1,Yi=(_t._y1-_t._y0)/(ti||zi<0&&-0),an=(Hr-_t._y1)/(zi||ti<0&&-0),hi=(Yi*zi+an*ti)/(ti+zi);return(Wi(Yi)+Wi(an))*Math.min(Math.abs(Yi),Math.abs(an),.5*Math.abs(hi))||0}function _n(_t,br){var Hr=_t._x1-_t._x0;return Hr?(3*(_t._y1-_t._y0)/Hr-br)/2:br}function $i(_t,br,Hr){var ti=_t._x0,zi=_t._y0,Yi=_t._x1,an=_t._y1,hi=(Yi-ti)/3;_t._context.bezierCurveTo(ti+hi,zi+hi*br,Yi-hi,an-hi*Hr,Yi,an)}function zn(_t){this._context=_t}zn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:$i(this,this._t0,_n(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){var Hr=NaN;if(_t=+_t,br=+br,!(_t===this._x1&&br===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;break;case 2:this._point=3,$i(this,_n(this,Hr=Ni(this,_t,br)),Hr);break;default:$i(this,this._t0,Hr=Ni(this,_t,br));break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br,this._t0=Hr}}};function Wn(_t){this._context=new It(_t)}(Wn.prototype=Object.create(zn.prototype)).point=function(_t,br){zn.prototype.point.call(this,br,_t)};function It(_t){this._context=_t}It.prototype={moveTo:function(_t,br){this._context.moveTo(br,_t)},closePath:function(){this._context.closePath()},lineTo:function(_t,br){this._context.lineTo(br,_t)},bezierCurveTo:function(_t,br,Hr,ti,zi,Yi){this._context.bezierCurveTo(br,_t,ti,Hr,Yi,zi)}};function ft(_t){return new zn(_t)}function jt(_t){return new Wn(_t)}function Zt(_t){this._context=_t}Zt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var _t=this._x,br=this._y,Hr=_t.length;if(Hr)if(this._line?this._context.lineTo(_t[0],br[0]):this._context.moveTo(_t[0],br[0]),Hr===2)this._context.lineTo(_t[1],br[1]);else for(var ti=yr(_t),zi=yr(br),Yi=0,an=1;an<Hr;++Yi,++an)this._context.bezierCurveTo(ti[0][Yi],zi[0][Yi],ti[1][Yi],zi[1][Yi],_t[an],br[an]);(this._line||this._line!==0&&Hr===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(_t,br){this._x.push(+_t),this._y.push(+br)}};function yr(_t){var br,Hr=_t.length-1,ti,zi=new Array(Hr),Yi=new Array(Hr),an=new Array(Hr);for(zi[0]=0,Yi[0]=2,an[0]=_t[0]+2*_t[1],br=1;br<Hr-1;++br)zi[br]=1,Yi[br]=4,an[br]=4*_t[br]+2*_t[br+1];for(zi[Hr-1]=2,Yi[Hr-1]=7,an[Hr-1]=8*_t[Hr-1]+_t[Hr],br=1;br<Hr;++br)ti=zi[br]/Yi[br-1],Yi[br]-=ti,an[br]-=ti*an[br-1];for(zi[Hr-1]=an[Hr-1]/Yi[Hr-1],br=Hr-2;br>=0;--br)zi[br]=(an[br]-zi[br+1])/Yi[br];for(Yi[Hr-1]=(_t[Hr]+zi[Hr-1])/2,br=0;br<Hr-1;++br)Yi[br]=2*_t[br+1]-zi[br+1];return[zi,Yi]}function Fr(_t){return new Zt(_t)}function Zr(_t,br){this._context=_t,this._t=br}Zr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,br),this._context.lineTo(_t,br);else{var Hr=this._x*(1-this._t)+_t*this._t;this._context.lineTo(Hr,this._y),this._context.lineTo(Hr,br)}break}}this._x=_t,this._y=br}};function Vr(_t){return new Zr(_t,.5)}function gi(_t){return new Zr(_t,0)}function Si(_t){return new Zr(_t,1)}function Mi(_t,br){if((an=_t.length)>1)for(var Hr=1,ti,zi,Yi=_t[br[0]],an,hi=Yi.length;Hr<an;++Hr)for(zi=Yi,Yi=_t[br[Hr]],ti=0;ti<hi;++ti)Yi[ti][1]+=Yi[ti][0]=isNaN(zi[ti][1])?zi[ti][0]:zi[ti][1]}function Pi(_t){for(var br=_t.length,Hr=new Array(br);--br>=0;)Hr[br]=br;return Hr}function Gi(_t,br){return _t[br]}function Ki(){var _t=r([]),br=Pi,Hr=Mi,ti=Gi;function zi(Yi){var an=_t.apply(this,arguments),hi,Ji=Yi.length,ua=an.length,Fn=new Array(ua),Sa;for(hi=0;hi<ua;++hi){for(var go=an[hi],Oo=Fn[hi]=new Array(Ji),ho=0,Mo;ho<Ji;++ho)Oo[ho]=Mo=[0,+ti(Yi[ho],go,ho,Yi)],Mo.data=Yi[ho];Oo.key=go}for(hi=0,Sa=br(Fn);hi<ua;++hi)Fn[Sa[hi]].index=hi;return Hr(Fn,Sa),Fn}return zi.keys=function(Yi){return arguments.length?(_t=typeof Yi==\"function\"?Yi:r(ke.call(Yi)),zi):_t},zi.value=function(Yi){return arguments.length?(ti=typeof Yi==\"function\"?Yi:r(+Yi),zi):ti},zi.order=function(Yi){return arguments.length?(br=Yi==null?Pi:typeof Yi==\"function\"?Yi:r(ke.call(Yi)),zi):br},zi.offset=function(Yi){return arguments.length?(Hr=Yi==null?Mi:Yi,zi):Hr},zi}function ka(_t,br){if((ti=_t.length)>0){for(var Hr,ti,zi=0,Yi=_t[0].length,an;zi<Yi;++zi){for(an=Hr=0;Hr<ti;++Hr)an+=_t[Hr][zi][1]||0;if(an)for(Hr=0;Hr<ti;++Hr)_t[Hr][zi][1]/=an}Mi(_t,br)}}function jn(_t,br){if((Ji=_t.length)>0)for(var Hr,ti=0,zi,Yi,an,hi,Ji,ua=_t[br[0]].length;ti<ua;++ti)for(an=hi=0,Hr=0;Hr<Ji;++Hr)(Yi=(zi=_t[br[Hr]][ti])[1]-zi[0])>0?(zi[0]=an,zi[1]=an+=Yi):Yi<0?(zi[1]=hi,zi[0]=hi+=Yi):(zi[0]=0,zi[1]=Yi)}function la(_t,br){if((zi=_t.length)>0){for(var Hr=0,ti=_t[br[0]],zi,Yi=ti.length;Hr<Yi;++Hr){for(var an=0,hi=0;an<zi;++an)hi+=_t[an][Hr][1]||0;ti[Hr][1]+=ti[Hr][0]=-hi/2}Mi(_t,br)}}function Fa(_t,br){if(!(!((an=_t.length)>0)||!((Yi=(zi=_t[br[0]]).length)>0))){for(var Hr=0,ti=1,zi,Yi,an;ti<Yi;++ti){for(var hi=0,Ji=0,ua=0;hi<an;++hi){for(var Fn=_t[br[hi]],Sa=Fn[ti][1]||0,go=Fn[ti-1][1]||0,Oo=(Sa-go)/2,ho=0;ho<hi;++ho){var Mo=_t[br[ho]],xo=Mo[ti][1]||0,zs=Mo[ti-1][1]||0;Oo+=xo-zs}Ji+=Sa,ua+=Oo*Sa}zi[ti-1][1]+=zi[ti-1][0]=Hr,Ji&&(Hr-=ua/Ji)}zi[ti-1][1]+=zi[ti-1][0]=Hr,Mi(_t,br)}}function Ra(_t){var br=_t.map(jo);return Pi(_t).sort(function(Hr,ti){return br[Hr]-br[ti]})}function jo(_t){for(var br=-1,Hr=0,ti=_t.length,zi,Yi=-1/0;++br<ti;)(zi=+_t[br][1])>Yi&&(Yi=zi,Hr=br);return Hr}function oa(_t){var br=_t.map(Sn);return Pi(_t).sort(function(Hr,ti){return br[Hr]-br[ti]})}function Sn(_t){for(var br=0,Hr=-1,ti=_t.length,zi;++Hr<ti;)(zi=+_t[Hr][1])&&(br+=zi);return br}function Ha(_t){return oa(_t).reverse()}function oo(_t){var br=_t.length,Hr,ti,zi=_t.map(Sn),Yi=Ra(_t),an=0,hi=0,Ji=[],ua=[];for(Hr=0;Hr<br;++Hr)ti=Yi[Hr],an<hi?(an+=zi[ti],Ji.push(ti)):(hi+=zi[ti],ua.push(ti));return ua.reverse().concat(Ji)}function xn(_t){return Pi(_t).reverse()}e.arc=C,e.area=q,e.areaRadial=_e,e.curveBasis=_r,e.curveBasisClosed=Or,e.curveBasisOpen=ut,e.curveBundle=Ye,e.curveCardinal=ht,e.curveCardinalClosed=xe,e.curveCardinalOpen=lt,e.curveCatmullRom=ar,e.curveCatmullRomClosed=ai,e.curveCatmullRomOpen=ri,e.curveLinear=g,e.curveLinearClosed=nn,e.curveMonotoneX=ft,e.curveMonotoneY=jt,e.curveNatural=Fr,e.curveStep=Vr,e.curveStepAfter=Si,e.curveStepBefore=gi,e.line=F,e.lineRadial=ae,e.linkHorizontal=Ce,e.linkRadial=Re,e.linkVertical=me,e.pie=X,e.pointRadial=Me,e.radialArea=_e,e.radialLine=ae,e.stack=Ki,e.stackOffsetDiverging=jn,e.stackOffsetExpand=ka,e.stackOffsetNone=Mi,e.stackOffsetSilhouette=la,e.stackOffsetWiggle=Fa,e.stackOrderAppearance=Ra,e.stackOrderAscending=oa,e.stackOrderDescending=Ha,e.stackOrderInsideOut=oo,e.stackOrderNone=Pi,e.stackOrderReverse=xn,e.symbol=dt,e.symbolCircle=ce,e.symbolCross=Ge,e.symbolDiamond=qt,e.symbolSquare=Yt,e.symbolStar=Ct,e.symbolTriangle=er,e.symbolWye=St,e.symbols=Et,Object.defineProperty(e,\"__esModule\",{value:!0})})});var Mje=ye((_7,Sje)=>{(function(e,t){typeof _7==\"object\"&&typeof Sje!=\"undefined\"?t(_7,$E(),d7(),PJ()):t(e.d3=e.d3||{},e.d3,e.d3,e.d3)})(_7,function(e,t,r,n){\"use strict\";function i(g){return g.target.depth}function a(g){return g.depth}function o(g,P){return P-1-g.height}function s(g,P){return g.sourceLinks.length?g.depth:P-1}function l(g){return g.targetLinks.length?g.depth:g.sourceLinks.length?t.min(g.sourceLinks,i)-1:0}function u(g){return function(){return g}}function c(g,P){return h(g.source,P.source)||g.index-P.index}function f(g,P){return h(g.target,P.target)||g.index-P.index}function h(g,P){return g.y0-P.y0}function d(g){return g.value}function v(g){return(g.y0+g.y1)/2}function x(g){return v(g.source)*g.value}function b(g){return v(g.target)*g.value}function p(g){return g.index}function E(g){return g.nodes}function k(g){return g.links}function A(g,P){var T=g.get(P);if(!T)throw new Error(\"missing: \"+P);return T}var L=function(){var g=0,P=0,T=1,F=1,q=24,V=8,H=p,X=s,G=E,N=k,W=32,re=2/3;function ae(){var Te={nodes:G.apply(null,arguments),links:N.apply(null,arguments)};return _e(Te),Me(Te),ke(Te),ge(Te,W),ie(Te),Te}ae.update=function(Te){return ie(Te),Te},ae.nodeId=function(Te){return arguments.length?(H=typeof Te==\"function\"?Te:u(Te),ae):H},ae.nodeAlign=function(Te){return arguments.length?(X=typeof Te==\"function\"?Te:u(Te),ae):X},ae.nodeWidth=function(Te){return arguments.length?(q=+Te,ae):q},ae.nodePadding=function(Te){return arguments.length?(V=+Te,ae):V},ae.nodes=function(Te){return arguments.length?(G=typeof Te==\"function\"?Te:u(Te),ae):G},ae.links=function(Te){return arguments.length?(N=typeof Te==\"function\"?Te:u(Te),ae):N},ae.size=function(Te){return arguments.length?(g=P=0,T=+Te[0],F=+Te[1],ae):[T-g,F-P]},ae.extent=function(Te){return arguments.length?(g=+Te[0][0],T=+Te[1][0],P=+Te[0][1],F=+Te[1][1],ae):[[g,P],[T,F]]},ae.iterations=function(Te){return arguments.length?(W=+Te,ae):W};function _e(Te){Te.nodes.forEach(function(Ae,ze){Ae.index=ze,Ae.sourceLinks=[],Ae.targetLinks=[]});var Ee=r.map(Te.nodes,H);Te.links.forEach(function(Ae,ze){Ae.index=ze;var Ce=Ae.source,me=Ae.target;typeof Ce!=\"object\"&&(Ce=Ae.source=A(Ee,Ce)),typeof me!=\"object\"&&(me=Ae.target=A(Ee,me)),Ce.sourceLinks.push(Ae),me.targetLinks.push(Ae)})}function Me(Te){Te.nodes.forEach(function(Ee){Ee.value=Math.max(t.sum(Ee.sourceLinks,d),t.sum(Ee.targetLinks,d))})}function ke(Te){var Ee,Ae,ze;for(Ee=Te.nodes,Ae=[],ze=0;Ee.length;++ze,Ee=Ae,Ae=[])Ee.forEach(function(me){me.depth=ze,me.sourceLinks.forEach(function(Re){Ae.indexOf(Re.target)<0&&Ae.push(Re.target)})});for(Ee=Te.nodes,Ae=[],ze=0;Ee.length;++ze,Ee=Ae,Ae=[])Ee.forEach(function(me){me.height=ze,me.targetLinks.forEach(function(Re){Ae.indexOf(Re.source)<0&&Ae.push(Re.source)})});var Ce=(T-g-q)/(ze-1);Te.nodes.forEach(function(me){me.x1=(me.x0=g+Math.max(0,Math.min(ze-1,Math.floor(X.call(null,me,ze))))*Ce)+q})}function ge(Te){var Ee=r.nest().key(function(Ge){return Ge.x0}).sortKeys(t.ascending).entries(Te.nodes).map(function(Ge){return Ge.values});Ce(),ce();for(var Ae=1,ze=W;ze>0;--ze)Re(Ae*=.99),ce(),me(Ae),ce();function Ce(){var Ge=t.max(Ee,function(qt){return qt.length}),nt=re*(F-P)/(Ge-1);V>nt&&(V=nt);var ct=t.min(Ee,function(qt){return(F-P-(qt.length-1)*V)/t.sum(qt,d)});Ee.forEach(function(qt){qt.forEach(function(rt,ot){rt.y1=(rt.y0=ot)+rt.value*ct})}),Te.links.forEach(function(qt){qt.width=qt.value*ct})}function me(Ge){Ee.forEach(function(nt){nt.forEach(function(ct){if(ct.targetLinks.length){var qt=(t.sum(ct.targetLinks,x)/t.sum(ct.targetLinks,d)-v(ct))*Ge;ct.y0+=qt,ct.y1+=qt}})})}function Re(Ge){Ee.slice().reverse().forEach(function(nt){nt.forEach(function(ct){if(ct.sourceLinks.length){var qt=(t.sum(ct.sourceLinks,b)/t.sum(ct.sourceLinks,d)-v(ct))*Ge;ct.y0+=qt,ct.y1+=qt}})})}function ce(){Ee.forEach(function(Ge){var nt,ct,qt=P,rt=Ge.length,ot;for(Ge.sort(h),ot=0;ot<rt;++ot)nt=Ge[ot],ct=qt-nt.y0,ct>0&&(nt.y0+=ct,nt.y1+=ct),qt=nt.y1+V;if(ct=qt-V-F,ct>0)for(qt=nt.y0-=ct,nt.y1-=ct,ot=rt-2;ot>=0;--ot)nt=Ge[ot],ct=nt.y1+V-qt,ct>0&&(nt.y0-=ct,nt.y1-=ct),qt=nt.y0})}}function ie(Te){Te.nodes.forEach(function(Ee){Ee.sourceLinks.sort(f),Ee.targetLinks.sort(c)}),Te.nodes.forEach(function(Ee){var Ae=Ee.y0,ze=Ae;Ee.sourceLinks.forEach(function(Ce){Ce.y0=Ae+Ce.width/2,Ae+=Ce.width}),Ee.targetLinks.forEach(function(Ce){Ce.y1=ze+Ce.width/2,ze+=Ce.width})})}return ae};function _(g){return[g.source.x1,g.y0]}function C(g){return[g.target.x0,g.y1]}var M=function(){return n.linkHorizontal().source(_).target(C)};e.sankey=L,e.sankeyCenter=l,e.sankeyLeft=a,e.sankeyRight=o,e.sankeyJustify=s,e.sankeyLinkHorizontal=M,Object.defineProperty(e,\"__esModule\",{value:!0})})});var kje=ye((__r,Eje)=>{var SWt=LJ();Eje.exports=function(t,r){var n=[],i=[],a=[],o={},s=[],l;function u(k){a[k]=!1,o.hasOwnProperty(k)&&Object.keys(o[k]).forEach(function(A){delete o[k][A],a[A]&&u(A)})}function c(k){var A=!1;i.push(k),a[k]=!0;var L,_;for(L=0;L<s[k].length;L++)_=s[k][L],_===l?(f(l,i),A=!0):a[_]||(A=c(_));if(A)u(k);else for(L=0;L<s[k].length;L++){_=s[k][L];var C=o[_];C||(C={},o[_]=C),C[_]=!0}return i.pop(),A}function f(k,A){var L=[].concat(A).concat(k);r?r(c):n.push(L)}function h(k){for(var A=0;A<t.length;A++)A<k&&(t[A]=[]),t[A]=t[A].filter(function(L){return L>=k})}function d(k){h(k);for(var A=t,L=SWt(A),_=L.components.filter(function(q){return q.length>1}),C=1/0,M,g=0;g<_.length;g++)for(var P=0;P<_[g].length;P++)_[g][P]<C&&(C=_[g][P],M=g);var T=_[M];if(!T)return!1;var F=t.map(function(q,V){return T.indexOf(V)===-1?[]:q.filter(function(H){return T.indexOf(H)!==-1})});return{leastVertex:C,adjList:F}}l=0;for(var v=t.length;l<v;){var x=d(l);if(l=x.leastVertex,s=x.adjList,s){for(var b=0;b<s.length;b++)for(var p=0;p<s[b].length;p++){var E=s[b][p];a[+E]=!1,o[E]={}}c(l),l=l+1}else l=v}if(!r)return n}});var Lje=ye((x7,Cje)=>{(function(e,t){typeof x7==\"object\"&&typeof Cje!=\"undefined\"?t(x7,$E(),d7(),PJ(),kje()):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,null)})(x7,function(e,t,r,n,i){\"use strict\";i=i&&i.hasOwnProperty(\"default\")?i.default:i;function a(rt){return rt.target.depth}function o(rt){return rt.depth}function s(rt,ot){return ot-1-rt.height}function l(rt,ot){return rt.sourceLinks.length?rt.depth:ot-1}function u(rt){return rt.targetLinks.length?rt.depth:rt.sourceLinks.length?t.min(rt.sourceLinks,a)-1:0}function c(rt){return function(){return rt}}var f=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(rt){return typeof rt}:function(rt){return rt&&typeof Symbol==\"function\"&&rt.constructor===Symbol&&rt!==Symbol.prototype?\"symbol\":typeof rt};function h(rt,ot){return v(rt.source,ot.source)||rt.index-ot.index}function d(rt,ot){return v(rt.target,ot.target)||rt.index-ot.index}function v(rt,ot){return rt.partOfCycle===ot.partOfCycle?rt.y0-ot.y0:rt.circularLinkType===\"top\"||ot.circularLinkType===\"bottom\"?-1:1}function x(rt){return rt.value}function b(rt){return(rt.y0+rt.y1)/2}function p(rt){return b(rt.source)}function E(rt){return b(rt.target)}function k(rt){return rt.index}function A(rt){return rt.nodes}function L(rt){return rt.links}function _(rt,ot){var Rt=rt.get(ot);if(!Rt)throw new Error(\"missing: \"+ot);return Rt}function C(rt,ot){return ot(rt)}var M=25,g=10,P=.3;function T(){var rt=0,ot=0,Rt=1,kt=1,Ct=24,Yt,xr=k,er=l,Ke=A,xt=L,bt=32,Lt=2,St,Et=null;function dt(){var ut={nodes:Ke.apply(null,arguments),links:xt.apply(null,arguments)};Ht(ut),F(ut,xr,Et),$t(ut),Br(ut),q(ut,xr),Or(ut,bt,xr),Nr(ut);for(var Ne=4,Ye=0;Ye<Ne;Ye++)Re(ut,kt,xr),ce(ut,kt,xr),ze(ut,ot,kt,xr),Re(ut,kt,xr),ce(ut,kt,xr);return qt(ut,ot,kt),W(ut,Lt,kt,xr),ut}dt.nodeId=function(ut){return arguments.length?(xr=typeof ut==\"function\"?ut:c(ut),dt):xr},dt.nodeAlign=function(ut){return arguments.length?(er=typeof ut==\"function\"?ut:c(ut),dt):er},dt.nodeWidth=function(ut){return arguments.length?(Ct=+ut,dt):Ct},dt.nodePadding=function(ut){return arguments.length?(Yt=+ut,dt):Yt},dt.nodes=function(ut){return arguments.length?(Ke=typeof ut==\"function\"?ut:c(ut),dt):Ke},dt.links=function(ut){return arguments.length?(xt=typeof ut==\"function\"?ut:c(ut),dt):xt},dt.size=function(ut){return arguments.length?(rt=ot=0,Rt=+ut[0],kt=+ut[1],dt):[Rt-rt,kt-ot]},dt.extent=function(ut){return arguments.length?(rt=+ut[0][0],Rt=+ut[1][0],ot=+ut[0][1],kt=+ut[1][1],dt):[[rt,ot],[Rt,kt]]},dt.iterations=function(ut){return arguments.length?(bt=+ut,dt):bt},dt.circularLinkGap=function(ut){return arguments.length?(Lt=+ut,dt):Lt},dt.nodePaddingRatio=function(ut){return arguments.length?(St=+ut,dt):St},dt.sortNodes=function(ut){return arguments.length?(Et=ut,dt):Et},dt.update=function(ut){return q(ut,xr),Nr(ut),ut.links.forEach(function(Ne){Ne.circular&&(Ne.circularLinkType=Ne.y0+Ne.y1<kt?\"top\":\"bottom\",Ne.source.circularLinkType=Ne.circularLinkType,Ne.target.circularLinkType=Ne.circularLinkType)}),Re(ut,kt,xr,!1),ce(ut,kt,xr),W(ut,Lt,kt,xr),ut};function Ht(ut){ut.nodes.forEach(function(Ye,Ve){Ye.index=Ve,Ye.sourceLinks=[],Ye.targetLinks=[]});var Ne=r.map(ut.nodes,xr);return ut.links.forEach(function(Ye,Ve){Ye.index=Ve;var Xe=Ye.source,ht=Ye.target;(typeof Xe==\"undefined\"?\"undefined\":f(Xe))!==\"object\"&&(Xe=Ye.source=_(Ne,Xe)),(typeof ht==\"undefined\"?\"undefined\":f(ht))!==\"object\"&&(ht=Ye.target=_(Ne,ht)),Xe.sourceLinks.push(Ye),ht.targetLinks.push(Ye)}),ut}function $t(ut){ut.nodes.forEach(function(Ne){Ne.partOfCycle=!1,Ne.value=Math.max(t.sum(Ne.sourceLinks,x),t.sum(Ne.targetLinks,x)),Ne.sourceLinks.forEach(function(Ye){Ye.circular&&(Ne.partOfCycle=!0,Ne.circularLinkType=Ye.circularLinkType)}),Ne.targetLinks.forEach(function(Ye){Ye.circular&&(Ne.partOfCycle=!0,Ne.circularLinkType=Ye.circularLinkType)})})}function fr(ut){var Ne=0,Ye=0,Ve=0,Xe=0,ht=t.max(ut.nodes,function(Le){return Le.column});return ut.links.forEach(function(Le){Le.circular&&(Le.circularLinkType==\"top\"?Ne=Ne+Le.width:Ye=Ye+Le.width,Le.target.column==0&&(Xe=Xe+Le.width),Le.source.column==ht&&(Ve=Ve+Le.width))}),Ne=Ne>0?Ne+M+g:Ne,Ye=Ye>0?Ye+M+g:Ye,Ve=Ve>0?Ve+M+g:Ve,Xe=Xe>0?Xe+M+g:Xe,{top:Ne,bottom:Ye,left:Xe,right:Ve}}function _r(ut,Ne){var Ye=t.max(ut.nodes,function(lt){return lt.column}),Ve=Rt-rt,Xe=kt-ot,ht=Ve+Ne.right+Ne.left,Le=Xe+Ne.top+Ne.bottom,xe=Ve/ht,Se=Xe/Le;return rt=rt*xe+Ne.left,Rt=Ne.right==0?Rt:Rt*xe,ot=ot*Se+Ne.top,kt=kt*Se,ut.nodes.forEach(function(lt){lt.x0=rt+lt.column*((Rt-rt-Ct)/Ye),lt.x1=lt.x0+Ct}),Se}function Br(ut){var Ne,Ye,Ve;for(Ne=ut.nodes,Ye=[],Ve=0;Ne.length;++Ve,Ne=Ye,Ye=[])Ne.forEach(function(Xe){Xe.depth=Ve,Xe.sourceLinks.forEach(function(ht){Ye.indexOf(ht.target)<0&&!ht.circular&&Ye.push(ht.target)})});for(Ne=ut.nodes,Ye=[],Ve=0;Ne.length;++Ve,Ne=Ye,Ye=[])Ne.forEach(function(Xe){Xe.height=Ve,Xe.targetLinks.forEach(function(ht){Ye.indexOf(ht.source)<0&&!ht.circular&&Ye.push(ht.source)})});ut.nodes.forEach(function(Xe){Xe.column=Math.floor(er.call(null,Xe,Ve))})}function Or(ut,Ne,Ye){var Ve=r.nest().key(function(lt){return lt.column}).sortKeys(t.ascending).entries(ut.nodes).map(function(lt){return lt.values});Le(Ye),Se();for(var Xe=1,ht=Ne;ht>0;--ht)xe(Xe*=.99,Ye),Se();function Le(lt){if(St){var Gt=1/0;Ve.forEach(function(ai){var jr=kt*St/(ai.length+1);Gt=jr<Gt?jr:Gt}),Yt=Gt}var Vt=t.min(Ve,function(ai){return(kt-ot-(ai.length-1)*Yt)/t.sum(ai,x)});Vt=Vt*P,ut.links.forEach(function(ai){ai.width=ai.value*Vt});var ar=fr(ut),Qr=_r(ut,ar);Vt=Vt*Qr,ut.links.forEach(function(ai){ai.width=ai.value*Vt}),Ve.forEach(function(ai){var jr=ai.length;ai.forEach(function(ri,bi){ri.depth==Ve.length-1&&jr==1||ri.depth==0&&jr==1?(ri.y0=kt/2-ri.value*Vt,ri.y1=ri.y0+ri.value*Vt):ri.partOfCycle?X(ri,lt)==0?(ri.y0=kt/2+bi,ri.y1=ri.y0+ri.value*Vt):ri.circularLinkType==\"top\"?(ri.y0=ot+bi,ri.y1=ri.y0+ri.value*Vt):(ri.y0=kt-ri.value*Vt-bi,ri.y1=ri.y0+ri.value*Vt):ar.top==0||ar.bottom==0?(ri.y0=(kt-ot)/jr*bi,ri.y1=ri.y0+ri.value*Vt):(ri.y0=(kt-ot)/2-jr/2+bi,ri.y1=ri.y0+ri.value*Vt)})})}function xe(lt,Gt){var Vt=Ve.length;Ve.forEach(function(ar){var Qr=ar.length,ai=ar[0].depth;ar.forEach(function(jr){var ri;if((jr.sourceLinks.length||jr.targetLinks.length)&&!(jr.partOfCycle&&X(jr,Gt)>0))if(ai==0&&Qr==1)ri=jr.y1-jr.y0,jr.y0=kt/2-ri/2,jr.y1=kt/2+ri/2;else if(ai==Vt-1&&Qr==1)ri=jr.y1-jr.y0,jr.y0=kt/2-ri/2,jr.y1=kt/2+ri/2;else{var bi=0,nn=t.mean(jr.sourceLinks,E),Wi=t.mean(jr.targetLinks,p);nn&&Wi?bi=(nn+Wi)/2:bi=nn||Wi;var Ni=(bi-b(jr))*lt;jr.y0+=Ni,jr.y1+=Ni}})})}function Se(){Ve.forEach(function(lt){var Gt,Vt,ar=ot,Qr=lt.length,ai;for(lt.sort(v),ai=0;ai<Qr;++ai)Gt=lt[ai],Vt=ar-Gt.y0,Vt>0&&(Gt.y0+=Vt,Gt.y1+=Vt),ar=Gt.y1+Yt;if(Vt=ar-Yt-kt,Vt>0)for(ar=Gt.y0-=Vt,Gt.y1-=Vt,ai=Qr-2;ai>=0;--ai)Gt=lt[ai],Vt=Gt.y1+Yt-ar,Vt>0&&(Gt.y0-=Vt,Gt.y1-=Vt),ar=Gt.y0})}}function Nr(ut){ut.nodes.forEach(function(Ne){Ne.sourceLinks.sort(d),Ne.targetLinks.sort(h)}),ut.nodes.forEach(function(Ne){var Ye=Ne.y0,Ve=Ye,Xe=Ne.y1,ht=Xe;Ne.sourceLinks.forEach(function(Le){Le.circular?(Le.y0=Xe-Le.width/2,Xe=Xe-Le.width):(Le.y0=Ye+Le.width/2,Ye+=Le.width)}),Ne.targetLinks.forEach(function(Le){Le.circular?(Le.y1=ht-Le.width/2,ht=ht-Le.width):(Le.y1=Ve+Le.width/2,Ve+=Le.width)})})}return dt}function F(rt,ot,Rt){var kt=0;if(Rt===null){for(var Ct=[],Yt=0;Yt<rt.links.length;Yt++){var xr=rt.links[Yt],er=xr.source.index,Ke=xr.target.index;Ct[er]||(Ct[er]=[]),Ct[Ke]||(Ct[Ke]=[]),Ct[er].indexOf(Ke)===-1&&Ct[er].push(Ke)}var xt=i(Ct);xt.sort(function(Et,dt){return Et.length-dt.length});var bt={};for(Yt=0;Yt<xt.length;Yt++){var Lt=xt[Yt],St=Lt.slice(-2);bt[St[0]]||(bt[St[0]]={}),bt[St[0]][St[1]]=!0}rt.links.forEach(function(Et){var dt=Et.target.index,Ht=Et.source.index;dt===Ht||bt[Ht]&&bt[Ht][dt]?(Et.circular=!0,Et.circularLinkID=kt,kt=kt+1):Et.circular=!1})}else rt.links.forEach(function(Et){Et.source[Rt]<Et.target[Rt]?Et.circular=!1:(Et.circular=!0,Et.circularLinkID=kt,kt=kt+1)})}function q(rt,ot){var Rt=0,kt=0;rt.links.forEach(function(Ct){Ct.circular&&(Ct.source.circularLinkType||Ct.target.circularLinkType?Ct.circularLinkType=Ct.source.circularLinkType?Ct.source.circularLinkType:Ct.target.circularLinkType:Ct.circularLinkType=Rt<kt?\"top\":\"bottom\",Ct.circularLinkType==\"top\"?Rt=Rt+1:kt=kt+1,rt.nodes.forEach(function(Yt){(C(Yt,ot)==C(Ct.source,ot)||C(Yt,ot)==C(Ct.target,ot))&&(Yt.circularLinkType=Ct.circularLinkType)}))}),rt.links.forEach(function(Ct){Ct.circular&&(Ct.source.circularLinkType==Ct.target.circularLinkType&&(Ct.circularLinkType=Ct.source.circularLinkType),ct(Ct,ot)&&(Ct.circularLinkType=Ct.source.circularLinkType))})}function V(rt){var ot=Math.abs(rt.y1-rt.y0),Rt=Math.abs(rt.target.x0-rt.source.x1);return Math.atan(Rt/ot)}function H(rt,ot){return rt.source.column<ot.target.column?!1:!(rt.target.column>ot.source.column)}function X(rt,ot){var Rt=0;rt.sourceLinks.forEach(function(Ct){Rt=Ct.circular&&!ct(Ct,ot)?Rt+1:Rt});var kt=0;return rt.targetLinks.forEach(function(Ct){kt=Ct.circular&&!ct(Ct,ot)?kt+1:kt}),Rt+kt}function G(rt){var ot=rt.source.sourceLinks,Rt=0;ot.forEach(function(Yt){Rt=Yt.circular?Rt+1:Rt});var kt=rt.target.targetLinks,Ct=0;return kt.forEach(function(Yt){Ct=Yt.circular?Ct+1:Ct}),!(Rt>1||Ct>1)}function N(rt,ot,Rt){return rt.sort(ae),rt.forEach(function(kt,Ct){var Yt=0;if(ct(kt,Rt)&&G(kt))kt.circularPathData.verticalBuffer=Yt+kt.width/2;else{var xr=0;for(xr;xr<Ct;xr++)if(H(rt[Ct],rt[xr])){var er=rt[xr].circularPathData.verticalBuffer+rt[xr].width/2+ot;Yt=er>Yt?er:Yt}kt.circularPathData.verticalBuffer=Yt+kt.width/2}}),rt}function W(rt,ot,Rt,kt){var Ct=5,Yt=t.min(rt.links,function(Ke){return Ke.source.y0});rt.links.forEach(function(Ke){Ke.circular&&(Ke.circularPathData={})});var xr=rt.links.filter(function(Ke){return Ke.circularLinkType==\"top\"});N(xr,ot,kt);var er=rt.links.filter(function(Ke){return Ke.circularLinkType==\"bottom\"});N(er,ot,kt),rt.links.forEach(function(Ke){if(Ke.circular){if(Ke.circularPathData.arcRadius=Ke.width+g,Ke.circularPathData.leftNodeBuffer=Ct,Ke.circularPathData.rightNodeBuffer=Ct,Ke.circularPathData.sourceWidth=Ke.source.x1-Ke.source.x0,Ke.circularPathData.sourceX=Ke.source.x0+Ke.circularPathData.sourceWidth,Ke.circularPathData.targetX=Ke.target.x0,Ke.circularPathData.sourceY=Ke.y0,Ke.circularPathData.targetY=Ke.y1,ct(Ke,kt)&&G(Ke))Ke.circularPathData.leftSmallArcRadius=g+Ke.width/2,Ke.circularPathData.leftLargeArcRadius=g+Ke.width/2,Ke.circularPathData.rightSmallArcRadius=g+Ke.width/2,Ke.circularPathData.rightLargeArcRadius=g+Ke.width/2,Ke.circularLinkType==\"bottom\"?(Ke.circularPathData.verticalFullExtent=Ke.source.y1+M+Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.rightLargeArcRadius):(Ke.circularPathData.verticalFullExtent=Ke.source.y0-M-Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.rightLargeArcRadius);else{var xt=Ke.source.column,bt=Ke.circularLinkType,Lt=rt.links.filter(function(dt){return dt.source.column==xt&&dt.circularLinkType==bt});Ke.circularLinkType==\"bottom\"?Lt.sort(Me):Lt.sort(_e);var St=0;Lt.forEach(function(dt,Ht){dt.circularLinkID==Ke.circularLinkID&&(Ke.circularPathData.leftSmallArcRadius=g+Ke.width/2+St,Ke.circularPathData.leftLargeArcRadius=g+Ke.width/2+Ht*ot+St),St=St+dt.width}),xt=Ke.target.column,Lt=rt.links.filter(function(dt){return dt.target.column==xt&&dt.circularLinkType==bt}),Ke.circularLinkType==\"bottom\"?Lt.sort(ge):Lt.sort(ke),St=0,Lt.forEach(function(dt,Ht){dt.circularLinkID==Ke.circularLinkID&&(Ke.circularPathData.rightSmallArcRadius=g+Ke.width/2+St,Ke.circularPathData.rightLargeArcRadius=g+Ke.width/2+Ht*ot+St),St=St+dt.width}),Ke.circularLinkType==\"bottom\"?(Ke.circularPathData.verticalFullExtent=Math.max(Rt,Ke.source.y1,Ke.target.y1)+M+Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.rightLargeArcRadius):(Ke.circularPathData.verticalFullExtent=Yt-M-Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.rightLargeArcRadius)}Ke.circularPathData.leftInnerExtent=Ke.circularPathData.sourceX+Ke.circularPathData.leftNodeBuffer,Ke.circularPathData.rightInnerExtent=Ke.circularPathData.targetX-Ke.circularPathData.rightNodeBuffer,Ke.circularPathData.leftFullExtent=Ke.circularPathData.sourceX+Ke.circularPathData.leftLargeArcRadius+Ke.circularPathData.leftNodeBuffer,Ke.circularPathData.rightFullExtent=Ke.circularPathData.targetX-Ke.circularPathData.rightLargeArcRadius-Ke.circularPathData.rightNodeBuffer}if(Ke.circular)Ke.path=re(Ke);else{var Et=n.linkHorizontal().source(function(dt){var Ht=dt.source.x0+(dt.source.x1-dt.source.x0),$t=dt.y0;return[Ht,$t]}).target(function(dt){var Ht=dt.target.x0,$t=dt.y1;return[Ht,$t]});Ke.path=Et(Ke)}})}function re(rt){var ot=\"\";return rt.circularLinkType==\"top\"?ot=\"M\"+rt.circularPathData.sourceX+\" \"+rt.circularPathData.sourceY+\" L\"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.sourceY+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftSmallArcRadius+\" 0 0 0 \"+rt.circularPathData.leftFullExtent+\" \"+(rt.circularPathData.sourceY-rt.circularPathData.leftSmallArcRadius)+\" L\"+rt.circularPathData.leftFullExtent+\" \"+rt.circularPathData.verticalLeftInnerExtent+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftLargeArcRadius+\" 0 0 0 \"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" L\"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightLargeArcRadius+\" 0 0 0 \"+rt.circularPathData.rightFullExtent+\" \"+rt.circularPathData.verticalRightInnerExtent+\" L\"+rt.circularPathData.rightFullExtent+\" \"+(rt.circularPathData.targetY-rt.circularPathData.rightSmallArcRadius)+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightSmallArcRadius+\" 0 0 0 \"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.targetY+\" L\"+rt.circularPathData.targetX+\" \"+rt.circularPathData.targetY:ot=\"M\"+rt.circularPathData.sourceX+\" \"+rt.circularPathData.sourceY+\" L\"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.sourceY+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftSmallArcRadius+\" 0 0 1 \"+rt.circularPathData.leftFullExtent+\" \"+(rt.circularPathData.sourceY+rt.circularPathData.leftSmallArcRadius)+\" L\"+rt.circularPathData.leftFullExtent+\" \"+rt.circularPathData.verticalLeftInnerExtent+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftLargeArcRadius+\" 0 0 1 \"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" L\"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightLargeArcRadius+\" 0 0 1 \"+rt.circularPathData.rightFullExtent+\" \"+rt.circularPathData.verticalRightInnerExtent+\" L\"+rt.circularPathData.rightFullExtent+\" \"+(rt.circularPathData.targetY+rt.circularPathData.rightSmallArcRadius)+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightSmallArcRadius+\" 0 0 1 \"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.targetY+\" L\"+rt.circularPathData.targetX+\" \"+rt.circularPathData.targetY,ot}function ae(rt,ot){return ie(rt)==ie(ot)?rt.circularLinkType==\"bottom\"?Me(rt,ot):_e(rt,ot):ie(ot)-ie(rt)}function _e(rt,ot){return rt.y0-ot.y0}function Me(rt,ot){return ot.y0-rt.y0}function ke(rt,ot){return rt.y1-ot.y1}function ge(rt,ot){return ot.y1-rt.y1}function ie(rt){return rt.target.column-rt.source.column}function Te(rt){return rt.target.x0-rt.source.x1}function Ee(rt,ot){var Rt=V(rt),kt=Te(ot)/Math.tan(Rt),Ct=nt(rt)==\"up\"?rt.y1+kt:rt.y1-kt;return Ct}function Ae(rt,ot){var Rt=V(rt),kt=Te(ot)/Math.tan(Rt),Ct=nt(rt)==\"up\"?rt.y1-kt:rt.y1+kt;return Ct}function ze(rt,ot,Rt,kt){rt.links.forEach(function(Ct){if(!Ct.circular&&Ct.target.column-Ct.source.column>1){var Yt=Ct.source.column+1,xr=Ct.target.column-1,er=1,Ke=xr-Yt+1;for(er=1;Yt<=xr;Yt++,er++)rt.nodes.forEach(function(xt){if(xt.column==Yt){var bt=er/(Ke+1),Lt=Math.pow(1-bt,3),St=3*bt*Math.pow(1-bt,2),Et=3*Math.pow(bt,2)*(1-bt),dt=Math.pow(bt,3),Ht=Lt*Ct.y0+St*Ct.y0+Et*Ct.y1+dt*Ct.y1,$t=Ht-Ct.width/2,fr=Ht+Ct.width/2,_r;$t>xt.y0&&$t<xt.y1?(_r=xt.y1-$t+10,_r=xt.circularLinkType==\"bottom\"?_r:-_r,xt=me(xt,_r,ot,Rt),rt.nodes.forEach(function(Br){C(Br,kt)==C(xt,kt)||Br.column!=xt.column||Ce(xt,Br)&&me(Br,_r,ot,Rt)})):fr>xt.y0&&fr<xt.y1?(_r=fr-xt.y0+10,xt=me(xt,_r,ot,Rt),rt.nodes.forEach(function(Br){C(Br,kt)==C(xt,kt)||Br.column!=xt.column||Br.y0<xt.y1&&Br.y1>xt.y1&&me(Br,_r,ot,Rt)})):$t<xt.y0&&fr>xt.y1&&(_r=fr-xt.y0+10,xt=me(xt,_r,ot,Rt),rt.nodes.forEach(function(Br){C(Br,kt)==C(xt,kt)||Br.column!=xt.column||Br.y0<xt.y1&&Br.y1>xt.y1&&me(Br,_r,ot,Rt)}))}})}})}function Ce(rt,ot){return rt.y0>ot.y0&&rt.y0<ot.y1||rt.y1>ot.y0&&rt.y1<ot.y1?!0:rt.y0<ot.y0&&rt.y1>ot.y1}function me(rt,ot,Rt,kt){return rt.y0+ot>=Rt&&rt.y1+ot<=kt&&(rt.y0=rt.y0+ot,rt.y1=rt.y1+ot,rt.targetLinks.forEach(function(Ct){Ct.y1=Ct.y1+ot}),rt.sourceLinks.forEach(function(Ct){Ct.y0=Ct.y0+ot})),rt}function Re(rt,ot,Rt,kt){rt.nodes.forEach(function(Ct){kt&&Ct.y+(Ct.y1-Ct.y0)>ot&&(Ct.y=Ct.y-(Ct.y+(Ct.y1-Ct.y0)-ot));var Yt=rt.links.filter(function(Ke){return C(Ke.source,Rt)==C(Ct,Rt)}),xr=Yt.length;xr>1&&Yt.sort(function(Ke,xt){if(!Ke.circular&&!xt.circular){if(Ke.target.column==xt.target.column)return Ke.y1-xt.y1;if(Ge(Ke,xt)){if(Ke.target.column>xt.target.column){var bt=Ae(xt,Ke);return Ke.y1-bt}if(xt.target.column>Ke.target.column){var Lt=Ae(Ke,xt);return Lt-xt.y1}}else return Ke.y1-xt.y1}if(Ke.circular&&!xt.circular)return Ke.circularLinkType==\"top\"?-1:1;if(xt.circular&&!Ke.circular)return xt.circularLinkType==\"top\"?1:-1;if(Ke.circular&&xt.circular)return Ke.circularLinkType===xt.circularLinkType&&Ke.circularLinkType==\"top\"?Ke.target.column===xt.target.column?Ke.target.y1-xt.target.y1:xt.target.column-Ke.target.column:Ke.circularLinkType===xt.circularLinkType&&Ke.circularLinkType==\"bottom\"?Ke.target.column===xt.target.column?xt.target.y1-Ke.target.y1:Ke.target.column-xt.target.column:Ke.circularLinkType==\"top\"?-1:1});var er=Ct.y0;Yt.forEach(function(Ke){Ke.y0=er+Ke.width/2,er=er+Ke.width}),Yt.forEach(function(Ke,xt){if(Ke.circularLinkType==\"bottom\"){var bt=xt+1,Lt=0;for(bt;bt<xr;bt++)Lt=Lt+Yt[bt].width;Ke.y0=Ct.y1-Lt-Ke.width/2}})})}function ce(rt,ot,Rt){rt.nodes.forEach(function(kt){var Ct=rt.links.filter(function(er){return C(er.target,Rt)==C(kt,Rt)}),Yt=Ct.length;Yt>1&&Ct.sort(function(er,Ke){if(!er.circular&&!Ke.circular){if(er.source.column==Ke.source.column)return er.y0-Ke.y0;if(Ge(er,Ke)){if(Ke.source.column<er.source.column){var xt=Ee(Ke,er);return er.y0-xt}if(er.source.column<Ke.source.column){var bt=Ee(er,Ke);return bt-Ke.y0}}else return er.y0-Ke.y0}if(er.circular&&!Ke.circular)return er.circularLinkType==\"top\"?-1:1;if(Ke.circular&&!er.circular)return Ke.circularLinkType==\"top\"?1:-1;if(er.circular&&Ke.circular)return er.circularLinkType===Ke.circularLinkType&&er.circularLinkType==\"top\"?er.source.column===Ke.source.column?er.source.y1-Ke.source.y1:er.source.column-Ke.source.column:er.circularLinkType===Ke.circularLinkType&&er.circularLinkType==\"bottom\"?er.source.column===Ke.source.column?er.source.y1-Ke.source.y1:Ke.source.column-er.source.column:er.circularLinkType==\"top\"?-1:1});var xr=kt.y0;Ct.forEach(function(er){er.y1=xr+er.width/2,xr=xr+er.width}),Ct.forEach(function(er,Ke){if(er.circularLinkType==\"bottom\"){var xt=Ke+1,bt=0;for(xt;xt<Yt;xt++)bt=bt+Ct[xt].width;er.y1=kt.y1-bt-er.width/2}})})}function Ge(rt,ot){return nt(rt)==nt(ot)}function nt(rt){return rt.y0-rt.y1>0?\"up\":\"down\"}function ct(rt,ot){return C(rt.source,ot)==C(rt.target,ot)}function qt(rt,ot,Rt){var kt=rt.nodes,Ct=rt.links,Yt=!1,xr=!1;if(Ct.forEach(function(St){St.circularLinkType==\"top\"?Yt=!0:St.circularLinkType==\"bottom\"&&(xr=!0)}),Yt==!1||xr==!1){var er=t.min(kt,function(St){return St.y0}),Ke=t.max(kt,function(St){return St.y1}),xt=Ke-er,bt=Rt-ot,Lt=bt/xt;kt.forEach(function(St){var Et=(St.y1-St.y0)*Lt;St.y0=(St.y0-er)*Lt,St.y1=St.y0+Et}),Ct.forEach(function(St){St.y0=(St.y0-er)*Lt,St.y1=(St.y1-er)*Lt,St.width=St.width*Lt})}}e.sankeyCircular=T,e.sankeyCenter=u,e.sankeyLeft=o,e.sankeyRight=s,e.sankeyJustify=l,Object.defineProperty(e,\"__esModule\",{value:!0})})});var IJ=ye((x_r,Pje)=>{\"use strict\";Pje.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\"}}});var Gje=ye((b_r,Hje)=>{\"use strict\";var Ije=bje(),MWt=(R2(),B1(I2)).interpolateNumber,CA=xa(),Gk=Mje(),EWt=Lje(),pu=IJ(),LA=id(),aw=va(),kWt=ao(),p1=Mr(),zJ=p1.strTranslate,CWt=p1.strRotate,FJ=Km(),jk=FJ.keyFun,b7=FJ.repeat,Oje=FJ.unwrap,Rje=Pl(),LWt=ba(),Bje=Nh(),PWt=Bje.CAP_SHIFT,IWt=Bje.LINE_SPACING,RWt=3;function DWt(e,t,r){var n=Oje(t),i=n.trace,a=i.domain,o=i.orientation===\"h\",s=i.node.pad,l=i.node.thickness,u={justify:Gk.sankeyJustify,left:Gk.sankeyLeft,right:Gk.sankeyRight,center:Gk.sankeyCenter}[i.node.align],c=e.width*(a.x[1]-a.x[0]),f=e.height*(a.y[1]-a.y[0]),h=n._nodes,d=n._links,v=n.circular,x;v?x=EWt.sankeyCircular().circularLinkGap(0):x=Gk.sankey(),x.iterations(pu.sankeyIterations).size(o?[c,f]:[f,c]).nodeWidth(l).nodePadding(s).nodeId(function(V){return V.pointNumber}).nodeAlign(u).nodes(h).links(d);var b=x();x.nodePadding()<s&&p1.warn(\"node.pad was reduced to \",x.nodePadding(),\" to fit within the figure.\");var p,E,k;for(var A in n._groupLookup){var L=parseInt(n._groupLookup[A]),_;for(p=0;p<b.nodes.length;p++)if(b.nodes[p].pointNumber===L){_=b.nodes[p];break}if(_){var C={pointNumber:parseInt(A),x0:_.x0,x1:_.x1,y0:_.y0,y1:_.y1,partOfGroup:!0,sourceLinks:[],targetLinks:[]};b.nodes.unshift(C),_.childrenNodes.unshift(C)}}function M(){for(p=0;p<b.nodes.length;p++){var V=b.nodes[p],H={},X,G;for(E=0;E<V.targetLinks.length;E++)G=V.targetLinks[E],X=G.source.pointNumber+\":\"+G.target.pointNumber,H.hasOwnProperty(X)||(H[X]=[]),H[X].push(G);var N=Object.keys(H);for(E=0;E<N.length;E++){X=N[E];var W=H[X],re=0,ae={};for(k=0;k<W.length;k++)G=W[k],ae[G.label]||(ae[G.label]=0),ae[G.label]+=G.value,re+=G.value;for(k=0;k<W.length;k++)G=W[k],G.flow={value:re,labelConcentration:ae[G.label]/re,concentration:G.value/re,links:W},G.concentrationscale&&(G.color=LA(G.concentrationscale(G.flow.labelConcentration)))}var _e=0;for(E=0;E<V.sourceLinks.length;E++)_e+=V.sourceLinks[E].value;for(E=0;E<V.sourceLinks.length;E++)G=V.sourceLinks[E],G.concentrationOut=G.value/_e;var Me=0;for(E=0;E<V.targetLinks.length;E++)Me+=V.targetLinks[E].value;for(E=0;E<V.targetLinks.length;E++)G=V.targetLinks[E],G.concenrationIn=G.value/Me}}M();function g(V){V.forEach(function(H){var X,G,N=0,W=H.length,re;for(H.sort(function(ae,_e){return ae.y0-_e.y0}),re=0;re<W;++re)X=H[re],X.y0>=N||(G=N-X.y0,G>1e-6&&(X.y0+=G,X.y1+=G)),N=X.y1+s})}function P(V){var H=V.map(function(_e,Me){return{x0:_e.x0,index:Me}}).sort(function(_e,Me){return _e.x0-Me.x0}),X=[],G=-1,N,W=-1/0,re;for(p=0;p<H.length;p++){var ae=V[H[p].index];ae.x0>W+l&&(G+=1,N=ae.x0),W=ae.x0,X[G]||(X[G]=[]),X[G].push(ae),re=N-ae.x0,ae.x0+=re,ae.x1+=re}return X}if(i.node.x.length&&i.node.y.length){for(p=0;p<Math.min(i.node.x.length,i.node.y.length,b.nodes.length);p++)if(i.node.x[p]&&i.node.y[p]){var T=[i.node.x[p]*c,i.node.y[p]*f];b.nodes[p].x0=T[0]-l/2,b.nodes[p].x1=T[0]+l/2;var F=b.nodes[p].y1-b.nodes[p].y0;b.nodes[p].y0=T[1]-F/2,b.nodes[p].y1=T[1]+F/2}if(i.arrangement===\"snap\"){h=b.nodes;var q=P(h);g(q)}x.update(b)}return{circular:v,key:r,trace:i,guid:p1.randstr(),horizontal:o,width:c,height:f,nodePad:i.node.pad,nodeLineColor:i.node.line.color,nodeLineWidth:i.node.line.width,linkLineColor:i.link.line.color,linkLineWidth:i.link.line.width,linkArrowLength:i.link.arrowlen,valueFormat:i.valueformat,valueSuffix:i.valuesuffix,textFont:i.textfont,translateX:a.x[0]*e.width+e.margin.l,translateY:e.height-a.y[1]*e.height+e.margin.t,dragParallel:o?f:c,dragPerpendicular:o?c:f,arrangement:i.arrangement,sankey:x,graph:b,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function zWt(e,t,r){var n=LA(t.color),i=LA(t.hovercolor),a=t.source.label+\"|\"+t.target.label,o=a+\"__\"+r;return t.trace=e.trace,t.curveNumber=e.trace.index,{circular:e.circular,key:o,traceId:e.key,pointNumber:t.pointNumber,link:t,tinyColorHue:aw.tinyRGB(n),tinyColorAlpha:n.getAlpha(),tinyColorHoverHue:aw.tinyRGB(i),tinyColorHoverAlpha:i.getAlpha(),linkPath:qJ,linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,linkArrowLength:e.linkArrowLength,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,parent:e,interactionState:e.interactionState,flow:t.flow}}function FWt(e,t){var r=\"\",n=e.width/2,i=e.circularPathData,a=i.sourceX+i.verticalBuffer<i.targetX,o=i.rightFullExtent-i.rightLargeArcRadius-t<=i.leftFullExtent-n,s=Math.abs(i.rightFullExtent-i.leftFullExtent-n)<n;return e.circularLinkType===\"top\"?(r=\"M \"+(i.targetX-t)+\" \"+(i.targetY+n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.targetY+n)+\"A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightSmallArcRadius+n)+\" 0 0 1 \"+(i.rightFullExtent-n-t)+\" \"+(i.targetY-i.rightSmallArcRadius)+\"L \"+(i.rightFullExtent-n-t)+\" \"+i.verticalRightInnerExtent,a&&o?r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 1 \"+(i.rightFullExtent+n-t-(i.rightLargeArcRadius-n))+\" \"+(i.verticalRightInnerExtent-(i.rightLargeArcRadius+n))+\" L \"+(i.rightFullExtent+n-(i.rightLargeArcRadius-n)-t)+\" \"+(i.verticalRightInnerExtent-(i.rightLargeArcRadius+n))+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftLargeArcRadius+n)+\" 0 0 1 \"+(i.leftFullExtent+n)+\" \"+i.verticalRightInnerExtent:a?r+=\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightLargeArcRadius-n)+\" 0 0 0 \"+(i.rightFullExtent-n-t-(i.rightLargeArcRadius-n))+\" \"+(i.verticalRightInnerExtent-(i.rightLargeArcRadius-n))+\" L \"+(i.leftFullExtent+n+(i.rightLargeArcRadius-n))+\" \"+(i.verticalRightInnerExtent-(i.rightLargeArcRadius-n))+\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftLargeArcRadius-n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent:r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 1 \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent-n)+\" L \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftLargeArcRadius+n)+\" 0 0 1 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent,r+=\" L \"+(i.leftFullExtent+n)+\" \"+(i.sourceY-i.leftSmallArcRadius)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 1 \"+i.leftInnerExtent+\" \"+(i.sourceY+n)+\" L \"+i.sourceX+\" \"+(i.sourceY+n)+\" L \"+i.sourceX+\" \"+(i.sourceY-n)+\" L \"+i.leftInnerExtent+\" \"+(i.sourceY-n)+\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftSmallArcRadius-n)+\" 0 0 0 \"+(i.leftFullExtent-n)+\" \"+(i.sourceY-i.leftSmallArcRadius)+\" L \"+(i.leftFullExtent-n)+\" \"+i.verticalLeftInnerExtent,a&&o?r+=\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent-n)+\" \"+(i.verticalFullExtent+n)+\"L\"+(i.rightFullExtent+n-t)+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 0 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:a?r+=\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 1 \"+(i.leftFullExtent+n)+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.rightFullExtent-n-t)+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 1 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:r+=\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftLargeArcRadius-n)+\" 0 0 0 \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent+n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightLargeArcRadius-n)+\" 0 0 0 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent,r+=\" L \"+(i.rightFullExtent+n-t)+\" \"+(i.targetY-i.rightSmallArcRadius)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 0 \"+(i.rightInnerExtent-t)+\" \"+(i.targetY-n)+\" L \"+(i.targetX-t)+\" \"+(i.targetY-n)+(t>0?\" L \"+i.targetX+\" \"+i.targetY:\"\")+\"Z\"):(r=\"M \"+(i.targetX-t)+\" \"+(i.targetY-n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.targetY-n)+\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightSmallArcRadius+n)+\" 0 0 0 \"+(i.rightFullExtent-n-t)+\" \"+(i.targetY+i.rightSmallArcRadius)+\" L \"+(i.rightFullExtent-n-t)+\" \"+i.verticalRightInnerExtent,a&&o?r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.rightInnerExtent-n-t)+\" \"+(i.verticalFullExtent+n)+\" L \"+(i.rightFullExtent+n-t-(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent:a?r+=\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.rightFullExtent-t-n-(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.leftFullExtent+n+(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent:r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent+n)+\" L \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftLargeArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent,r+=\" L \"+(i.leftFullExtent+n)+\" \"+(i.sourceY+i.leftSmallArcRadius)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 0 \"+i.leftInnerExtent+\" \"+(i.sourceY-n)+\" L \"+i.sourceX+\" \"+(i.sourceY-n)+\" L \"+i.sourceX+\" \"+(i.sourceY+n)+\" L \"+i.leftInnerExtent+\" \"+(i.sourceY+n)+\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftSmallArcRadius-n)+\" 0 0 1 \"+(i.leftFullExtent-n)+\" \"+(i.sourceY+i.leftSmallArcRadius)+\" L \"+(i.leftFullExtent-n)+\" \"+i.verticalLeftInnerExtent,a&&o?r+=\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.leftFullExtent-n-(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.rightFullExtent+n-t+(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:a?r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+(i.verticalFullExtent+n)+\" L \"+(i.rightFullExtent-t-n)+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:r+=\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftLargeArcRadius-n)+\" 0 0 1 \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightLargeArcRadius-n)+\" 0 0 1 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent,r+=\" L \"+(i.rightFullExtent+n-t)+\" \"+(i.targetY+i.rightSmallArcRadius)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.rightInnerExtent-t)+\" \"+(i.targetY+n)+\" L \"+(i.targetX-t)+\" \"+(i.targetY+n)+(t>0?\" L \"+i.targetX+\" \"+i.targetY:\"\")+\"Z\"),r}function qJ(){var e=.5;function t(r){var n=r.linkArrowLength;if(r.link.circular)return FWt(r.link,n);var i=Math.abs((r.link.target.x0-r.link.source.x1)/2);n>i&&(n=i);var a=r.link.source.x1,o=r.link.target.x0-n,s=MWt(a,o),l=s(e),u=s(1-e),c=r.link.y0-r.link.width/2,f=r.link.y0+r.link.width/2,h=r.link.y1-r.link.width/2,d=r.link.y1+r.link.width/2,v=\"M\"+a+\",\"+c,x=\"C\"+l+\",\"+c+\" \"+u+\",\"+h+\" \"+o+\",\"+h,b=\"C\"+u+\",\"+d+\" \"+l+\",\"+f+\" \"+a+\",\"+f,p=n>0?\"L\"+(o+n)+\",\"+(h+r.link.width/2):\"\";return p+=\"L\"+o+\",\"+d,v+x+p+b+\"Z\"}return t}function qWt(e,t){var r=LA(t.color),n=pu.nodePadAcross,i=e.nodePad/2;t.dx=t.x1-t.x0,t.dy=t.y1-t.y0;var a=t.dx,o=Math.max(.5,t.dy),s=\"node_\"+t.pointNumber;return t.group&&(s=p1.randstr()),t.trace=e.trace,t.curveNumber=e.trace.index,{index:t.pointNumber,key:s,partOfGroup:t.partOfGroup||!1,group:t.group,traceId:e.key,trace:e.trace,node:t,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:e.horizontal?t.dy/2+1:t.dx/2+1,left:t.originalLayer===1,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:aw.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,graph:e.graph,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,s].join(\"_\"),interactionState:e.interactionState,figure:e}}function DJ(e){e.attr(\"transform\",function(t){return zJ(t.node.x0.toFixed(3),t.node.y0.toFixed(3))})}function OWt(e){e.call(DJ)}function Nje(e,t){e.call(OWt),t.attr(\"d\",qJ())}function Dje(e){e.attr(\"width\",function(t){return t.node.x1-t.node.x0}).attr(\"height\",function(t){return t.visibleHeight})}function RJ(e){return e.link.width>1||e.linkLineWidth>0}function zje(e){var t=zJ(e.translateX,e.translateY);return t+(e.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\")}function Fje(e,t,r){e.on(\".basic\",null).on(\"mouseover.basic\",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.hover(this,n,t),n.interactionState.hovered=[this,n])}).on(\"mousemove.basic\",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.follow(this,n),n.interactionState.hovered=[this,n])}).on(\"mouseout.basic\",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.unhover(this,n,t),n.interactionState.hovered=!1)}).on(\"click.basic\",function(n){n.interactionState.hovered&&(r.unhover(this,n,t),n.interactionState.hovered=!1),!n.interactionState.dragInProgress&&!n.partOfGroup&&r.select(this,n,t)})}function BWt(e,t,r,n){var i=CA.behavior.drag().origin(function(a){return{x:a.node.x0+a.visibleWidth/2,y:a.node.y0+a.visibleHeight/2}}).on(\"dragstart\",function(a){if(a.arrangement!==\"fixed\"&&(p1.ensureSingle(n._fullLayout._infolayer,\"g\",\"dragcover\",function(s){n._fullLayout._dragCover=s}),p1.raiseToTop(this),a.interactionState.dragInProgress=a.node,qje(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),a.arrangement===\"snap\")){var o=a.traceId+\"|\"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):NWt(e,o,a,n),UWt(e,t,a,o,n)}}).on(\"drag\",function(a){if(a.arrangement!==\"fixed\"){var o=CA.event.x,s=CA.event.y;a.arrangement===\"snap\"?(a.node.x0=o-a.visibleWidth/2,a.node.x1=o+a.visibleWidth/2,a.node.y0=s-a.visibleHeight/2,a.node.y1=s+a.visibleHeight/2):(a.arrangement===\"freeform\"&&(a.node.x0=o-a.visibleWidth/2,a.node.x1=o+a.visibleWidth/2),s=Math.max(0,Math.min(a.size-a.visibleHeight/2,s)),a.node.y0=s-a.visibleHeight/2,a.node.y1=s+a.visibleHeight/2),qje(a.node),a.arrangement!==\"snap\"&&(a.sankey.update(a.graph),Nje(e.filter(Vje(a)),t))}}).on(\"dragend\",function(a){if(a.arrangement!==\"fixed\"){a.interactionState.dragInProgress=!1;for(var o=0;o<a.node.childrenNodes.length;o++)a.node.childrenNodes[o].x=a.node.x,a.node.childrenNodes[o].y=a.node.y;a.arrangement!==\"snap\"&&Uje(a,n)}});e.on(\".drag\",null).call(i)}function NWt(e,t,r,n){GWt(r.graph.nodes);var i=r.graph.nodes.filter(function(a){return a.originalX===r.node.originalX}).filter(function(a){return!a.partOfGroup});r.forceLayouts[t]=Ije.forceSimulation(i).alphaDecay(0).force(\"collide\",Ije.forceCollide().radius(function(a){return a.dy/2+r.nodePad/2}).strength(1).iterations(pu.forceIterations)).force(\"constrain\",VWt(e,t,i,r,n)).stop()}function UWt(e,t,r,n,i){window.requestAnimationFrame(function a(){var o;for(o=0;o<pu.forceTicksPerFrame;o++)r.forceLayouts[n].tick();var s=r.graph.nodes;if(jWt(s),r.sankey.update(r.graph),Nje(e.filter(Vje(r)),t),r.forceLayouts[n].alpha()>0)window.requestAnimationFrame(a);else{var l=r.node.originalX;r.node.x0=l-r.visibleWidth/2,r.node.x1=l+r.visibleWidth/2,Uje(r,i)}})}function VWt(e,t,r,n){return function(){for(var a=0,o=0;o<r.length;o++){var s=r[o];s===n.interactionState.dragInProgress?(s.x=s.lastDraggedX,s.y=s.lastDraggedY):(s.vx=(s.originalX-s.x)/pu.forceTicksPerFrame,s.y=Math.min(n.size-s.dy/2,Math.max(s.dy/2,s.y))),a=Math.max(a,Math.abs(s.vx),Math.abs(s.vy))}!n.interactionState.dragInProgress&&a<.1&&n.forceLayouts[t].alpha()>0&&n.forceLayouts[t].alpha(0)}}function Uje(e,t){for(var r=[],n=[],i=0;i<e.graph.nodes.length;i++){var a=(e.graph.nodes[i].x0+e.graph.nodes[i].x1)/2,o=(e.graph.nodes[i].y0+e.graph.nodes[i].y1)/2;r.push(a/e.figure.width),n.push(o/e.figure.height)}LWt.call(\"_guiRestyle\",t,{\"node.x\":[r],\"node.y\":[n]},e.trace.index).then(function(){t._fullLayout._dragCover&&t._fullLayout._dragCover.remove()})}function HWt(e){var t=[],r;for(r=0;r<e.length;r++)e[r].originalX=(e[r].x0+e[r].x1)/2,e[r].originalY=(e[r].y0+e[r].y1)/2,t.indexOf(e[r].originalX)===-1&&t.push(e[r].originalX);for(t.sort(function(n,i){return n-i}),r=0;r<e.length;r++)e[r].originalLayerIndex=t.indexOf(e[r].originalX),e[r].originalLayer=e[r].originalLayerIndex/(t.length-1)}function qje(e){e.lastDraggedX=e.x0+e.dx/2,e.lastDraggedY=e.y0+e.dy/2}function Vje(e){return function(t){return t.node.originalX===e.node.originalX}}function GWt(e){for(var t=0;t<e.length;t++)e[t].y=(e[t].y0+e[t].y1)/2,e[t].x=(e[t].x0+e[t].x1)/2}function jWt(e){for(var t=0;t<e.length;t++)e[t].y0=e[t].y-e[t].dy/2,e[t].y1=e[t].y0+e[t].dy,e[t].x0=e[t].x-e[t].dx/2,e[t].x1=e[t].x0+e[t].dx}Hje.exports=function(e,t,r,n,i){var a=e._context.staticPlot,o=!1;p1.ensureSingle(e._fullLayout._infolayer,\"g\",\"first-render\",function(){o=!0});var s=e._fullLayout._dragCover,l=r.filter(function(b){return Oje(b).trace.visible}).map(DWt.bind(null,n)),u=t.selectAll(\".\"+pu.cn.sankey).data(l,jk);u.exit().remove(),u.enter().append(\"g\").classed(pu.cn.sankey,!0).style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"shape-rendering\",\"geometricPrecision\").style(\"pointer-events\",a?\"none\":\"auto\").attr(\"transform\",zje),u.each(function(b,p){e._fullData[p]._sankey=b;var E=\"bgsankey-\"+b.trace.uid+\"-\"+p;p1.ensureSingle(e._fullLayout._draggers,\"rect\",E),e._fullData[p]._bgRect=CA.select(\".\"+E),e._fullData[p]._bgRect.style(\"pointer-events\",a?\"none\":\"all\").attr(\"width\",b.width).attr(\"height\",b.height).attr(\"x\",b.translateX).attr(\"y\",b.translateY).classed(\"bgsankey\",!0).style({fill:\"transparent\",\"stroke-width\":0})}),u.transition().ease(pu.ease).duration(pu.duration).attr(\"transform\",zje);var c=u.selectAll(\".\"+pu.cn.sankeyLinks).data(b7,jk);c.enter().append(\"g\").classed(pu.cn.sankeyLinks,!0).style(\"fill\",\"none\");var f=c.selectAll(\".\"+pu.cn.sankeyLink).data(function(b){var p=b.graph.links;return p.filter(function(E){return E.value}).map(zWt.bind(null,b))},jk);f.enter().append(\"path\").classed(pu.cn.sankeyLink,!0).call(Fje,u,i.linkEvents),f.style(\"stroke\",function(b){return RJ(b)?aw.tinyRGB(LA(b.linkLineColor)):b.tinyColorHue}).style(\"stroke-opacity\",function(b){return RJ(b)?aw.opacity(b.linkLineColor):b.tinyColorAlpha}).style(\"fill\",function(b){return b.tinyColorHue}).style(\"fill-opacity\",function(b){return b.tinyColorAlpha}).style(\"stroke-width\",function(b){return RJ(b)?b.linkLineWidth:1}).attr(\"d\",qJ()),f.style(\"opacity\",function(){return e._context.staticPlot||o||s?1:0}).transition().ease(pu.ease).duration(pu.duration).style(\"opacity\",1),f.exit().transition().ease(pu.ease).duration(pu.duration).style(\"opacity\",0).remove();var h=u.selectAll(\".\"+pu.cn.sankeyNodeSet).data(b7,jk);h.enter().append(\"g\").classed(pu.cn.sankeyNodeSet,!0),h.style(\"cursor\",function(b){switch(b.arrangement){case\"fixed\":return\"default\";case\"perpendicular\":return\"ns-resize\";default:return\"move\"}});var d=h.selectAll(\".\"+pu.cn.sankeyNode).data(function(b){var p=b.graph.nodes;return HWt(p),p.map(qWt.bind(null,b))},jk);d.enter().append(\"g\").classed(pu.cn.sankeyNode,!0).call(DJ).style(\"opacity\",function(b){return(e._context.staticPlot||o)&&!b.partOfGroup?1:0}),d.call(Fje,u,i.nodeEvents).call(BWt,f,i,e),d.transition().ease(pu.ease).duration(pu.duration).call(DJ).style(\"opacity\",function(b){return b.partOfGroup?0:1}),d.exit().transition().ease(pu.ease).duration(pu.duration).style(\"opacity\",0).remove();var v=d.selectAll(\".\"+pu.cn.nodeRect).data(b7);v.enter().append(\"rect\").classed(pu.cn.nodeRect,!0).call(Dje),v.style(\"stroke-width\",function(b){return b.nodeLineWidth}).style(\"stroke\",function(b){return aw.tinyRGB(LA(b.nodeLineColor))}).style(\"stroke-opacity\",function(b){return aw.opacity(b.nodeLineColor)}).style(\"fill\",function(b){return b.tinyColorHue}).style(\"fill-opacity\",function(b){return b.tinyColorAlpha}),v.transition().ease(pu.ease).duration(pu.duration).call(Dje);var x=d.selectAll(\".\"+pu.cn.nodeLabel).data(b7);x.enter().append(\"text\").classed(pu.cn.nodeLabel,!0).style(\"cursor\",\"default\"),x.attr(\"data-notex\",1).text(function(b){return b.node.label}).each(function(b){var p=CA.select(this);kWt.font(p,b.textFont),Rje.convertToTspans(p,e)}).attr(\"text-anchor\",function(b){return b.horizontal&&b.left?\"end\":\"start\"}).attr(\"transform\",function(b){var p=CA.select(this),E=Rje.lineCount(p),k=b.textFont.size*((E-1)*IWt-PWt),A=b.nodeLineWidth/2+RWt,L=((b.horizontal?b.visibleHeight:b.visibleWidth)-k)/2;b.horizontal&&(b.left?A=-A:A+=b.visibleWidth);var _=b.horizontal?\"\":\"scale(-1,1)\"+CWt(90);return zJ(b.horizontal?A:L,b.horizontal?L:A)+_}),x.transition().ease(pu.ease).duration(pu.duration)}});var NJ=ye((w_r,Qje)=>{\"use strict\";var Zv=xa(),BJ=Mr(),w7=BJ.numberFormat,WWt=Gje(),PA=Nc(),ZWt=va(),Sx=IJ().cn,Wk=BJ._;function jje(e){return e!==\"\"}function IA(e,t){return e.filter(function(r){return r.key===t.traceId})}function Wje(e,t){Zv.select(e).select(\"path\").style(\"fill-opacity\",t),Zv.select(e).select(\"rect\").style(\"fill-opacity\",t)}function Zje(e){Zv.select(e).select(\"text.name\").style(\"fill\",\"black\")}function Xje(e){return function(t){return e.node.sourceLinks.indexOf(t.link)!==-1||e.node.targetLinks.indexOf(t.link)!==-1}}function Yje(e){return function(t){return t.node.sourceLinks.indexOf(e.link)!==-1||t.node.targetLinks.indexOf(e.link)!==-1}}function Kje(e,t,r){t&&r&&IA(r,t).selectAll(\".\"+Sx.sankeyLink).filter(Xje(t)).call(Jje.bind(0,t,r,!1))}function OJ(e,t,r){t&&r&&IA(r,t).selectAll(\".\"+Sx.sankeyLink).filter(Xje(t)).call($je.bind(0,t,r,!1))}function Jje(e,t,r,n){n.style(\"fill\",function(i){if(!i.link.concentrationscale)return i.tinyColorHoverHue}).style(\"fill-opacity\",function(i){if(!i.link.concentrationscale)return i.tinyColorHoverAlpha}),n.each(function(i){var a=i.link.label;a!==\"\"&&IA(t,e).selectAll(\".\"+Sx.sankeyLink).filter(function(o){return o.link.label===a}).style(\"fill\",function(o){if(!o.link.concentrationscale)return o.tinyColorHoverHue}).style(\"fill-opacity\",function(o){if(!o.link.concentrationscale)return o.tinyColorHoverAlpha})}),r&&IA(t,e).selectAll(\".\"+Sx.sankeyNode).filter(Yje(e)).call(Kje)}function $je(e,t,r,n){n.style(\"fill\",function(i){return i.tinyColorHue}).style(\"fill-opacity\",function(i){return i.tinyColorAlpha}),n.each(function(i){var a=i.link.label;a!==\"\"&&IA(t,e).selectAll(\".\"+Sx.sankeyLink).filter(function(o){return o.link.label===a}).style(\"fill\",function(o){return o.tinyColorHue}).style(\"fill-opacity\",function(o){return o.tinyColorAlpha})}),r&&IA(t,e).selectAll(Sx.sankeyNode).filter(Yje(e)).call(OJ)}function lf(e,t){var r=e.hoverlabel||{},n=BJ.nestedProperty(r,t).get();return Array.isArray(n)?!1:n}Qje.exports=function(t,r){for(var n=t._fullLayout,i=n._paper,a=n._size,o=0;o<t._fullData.length;o++)if(t._fullData[o].visible&&t._fullData[o].type===Sx.sankey&&!t._fullData[o]._viewInitial){var s=t._fullData[o].node;t._fullData[o]._viewInitial={node:{groups:s.groups.slice(),x:s.x.slice(),y:s.y.slice()}}}var l=function(L,_){var C=_.link;C.originalEvent=Zv.event,t._hoverdata=[C],PA.click(t,{target:!0})},u=function(L,_,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call(Jje.bind(0,_,C,!0)),_.link.trace.link.hoverinfo!==\"skip\"&&(_.link.fullData=_.link.trace,t.emit(\"plotly_hover\",{event:Zv.event,points:[_.link]})))},c=Wk(t,\"source:\")+\" \",f=Wk(t,\"target:\")+\" \",h=Wk(t,\"concentration:\")+\" \",d=Wk(t,\"incoming flow count:\")+\" \",v=Wk(t,\"outgoing flow count:\")+\" \",x=function(L,_){if(t._fullLayout.hovermode===!1)return;var C=_.link.trace.link;if(C.hoverinfo===\"none\"||C.hoverinfo===\"skip\")return;var M=[];function g(X){var G,N;X.circular?(G=(X.circularPathData.leftInnerExtent+X.circularPathData.rightInnerExtent)/2,N=X.circularPathData.verticalFullExtent):(G=(X.source.x1+X.target.x0)/2,N=(X.y0+X.y1)/2);var W=[G,N];return X.trace.orientation===\"v\"&&W.reverse(),W[0]+=_.parent.translateX,W[1]+=_.parent.translateY,W}for(var P=0,T=0;T<_.flow.links.length;T++){var F=_.flow.links[T];if(!(t._fullLayout.hovermode===\"closest\"&&_.link.pointNumber!==F.pointNumber)){_.link.pointNumber===F.pointNumber&&(P=T),F.fullData=F.trace,C=_.link.trace.link;var q=g(F),V={valueLabel:w7(_.valueFormat)(F.value)+_.valueSuffix};M.push({x:q[0],y:q[1],name:V.valueLabel,text:[F.label||\"\",c+F.source.label,f+F.target.label,F.concentrationscale?h+w7(\"%0.2f\")(F.flow.labelConcentration):\"\"].filter(jje).join(\"<br>\"),color:lf(C,\"bgcolor\")||ZWt.addOpacity(F.color,1),borderColor:lf(C,\"bordercolor\"),fontFamily:lf(C,\"font.family\"),fontSize:lf(C,\"font.size\"),fontColor:lf(C,\"font.color\"),fontWeight:lf(C,\"font.weight\"),fontStyle:lf(C,\"font.style\"),fontVariant:lf(C,\"font.variant\"),fontTextcase:lf(C,\"font.textcase\"),fontLineposition:lf(C,\"font.lineposition\"),fontShadow:lf(C,\"font.shadow\"),nameLength:lf(C,\"namelength\"),textAlign:lf(C,\"align\"),idealAlign:Zv.event.x<q[0]?\"right\":\"left\",hovertemplate:C.hovertemplate,hovertemplateLabels:V,eventData:[F]})}}var H=PA.loneHover(M,{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t,anchorIndex:P});H.each(function(){var X=this;_.link.concentrationscale||Wje(X,.65),Zje(X)})},b=function(L,_,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call($je.bind(0,_,C,!0)),_.link.trace.link.hoverinfo!==\"skip\"&&(_.link.fullData=_.link.trace,t.emit(\"plotly_unhover\",{event:Zv.event,points:[_.link]})),PA.loneUnhover(n._hoverlayer.node()))},p=function(L,_,C){var M=_.node;M.originalEvent=Zv.event,t._hoverdata=[M],Zv.select(L).call(OJ,_,C),PA.click(t,{target:!0})},E=function(L,_,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call(Kje,_,C),_.node.trace.node.hoverinfo!==\"skip\"&&(_.node.fullData=_.node.trace,t.emit(\"plotly_hover\",{event:Zv.event,points:[_.node]})))},k=function(L,_){if(t._fullLayout.hovermode!==!1){var C=_.node.trace.node;if(!(C.hoverinfo===\"none\"||C.hoverinfo===\"skip\")){var M=Zv.select(L).select(\".\"+Sx.nodeRect),g=t._fullLayout._paperdiv.node().getBoundingClientRect(),P=M.node().getBoundingClientRect(),T=P.left-2-g.left,F=P.right+2-g.left,q=P.top+P.height/4-g.top,V={valueLabel:w7(_.valueFormat)(_.node.value)+_.valueSuffix};_.node.fullData=_.node.trace,t._fullLayout._calcInverseTransform(t);var H=t._fullLayout._invScaleX,X=t._fullLayout._invScaleY,G=PA.loneHover({x0:H*T,x1:H*F,y:X*q,name:w7(_.valueFormat)(_.node.value)+_.valueSuffix,text:[_.node.label,d+_.node.targetLinks.length,v+_.node.sourceLinks.length].filter(jje).join(\"<br>\"),color:lf(C,\"bgcolor\")||_.tinyColorHue,borderColor:lf(C,\"bordercolor\"),fontFamily:lf(C,\"font.family\"),fontSize:lf(C,\"font.size\"),fontColor:lf(C,\"font.color\"),fontWeight:lf(C,\"font.weight\"),fontStyle:lf(C,\"font.style\"),fontVariant:lf(C,\"font.variant\"),fontTextcase:lf(C,\"font.textcase\"),fontLineposition:lf(C,\"font.lineposition\"),fontShadow:lf(C,\"font.shadow\"),nameLength:lf(C,\"namelength\"),textAlign:lf(C,\"align\"),idealAlign:\"left\",hovertemplate:C.hovertemplate,hovertemplateLabels:V,eventData:[_.node]},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t});Wje(G,.85),Zje(G)}}},A=function(L,_,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call(OJ,_,C),_.node.trace.node.hoverinfo!==\"skip\"&&(_.node.fullData=_.node.trace,t.emit(\"plotly_unhover\",{event:Zv.event,points:[_.node]})),PA.loneUnhover(n._hoverlayer.node()))};WWt(t,i,r,{width:a.w,height:a.h,margin:{t:a.t,r:a.r,b:a.b,l:a.l}},{linkEvents:{hover:u,follow:x,unhover:b,select:l},nodeEvents:{hover:E,follow:k,unhover:A,select:p}})}});var eWe=ye(ow=>{\"use strict\";var XWt=Bu().overrideAll,YWt=kd().getModuleCalcData,KWt=NJ(),JWt=N1(),$Wt=Tg(),QWt=gv(),eZt=wf().prepSelect,UJ=Mr(),tZt=ba(),T7=\"sankey\";ow.name=T7;ow.baseLayoutAttrOverrides=XWt({hoverlabel:JWt.hoverlabel},\"plot\",\"nested\");ow.plot=function(e){var t=YWt(e.calcdata,T7)[0];KWt(e,t),ow.updateFx(e)};ow.clean=function(e,t,r,n){var i=n._has&&n._has(T7),a=t._has&&t._has(T7);i&&!a&&(n._paperdiv.selectAll(\".sankey\").remove(),n._paperdiv.selectAll(\".bgsankey\").remove())};ow.updateFx=function(e){for(var t=0;t<e._fullData.length;t++)rZt(e,t)};function rZt(e,t){var r=e._fullData[t],n=e._fullLayout,i=n.dragmode,a=n.dragmode===\"pan\"?\"move\":\"crosshair\",o=r._bgRect;if(o&&!(i===\"pan\"||i===\"zoom\")){$Wt(o,a);var s={_id:\"x\",c2p:UJ.identity,_offset:r._sankey.translateX,_length:r._sankey.width},l={_id:\"y\",c2p:UJ.identity,_offset:r._sankey.translateY,_length:r._sankey.height},u={gd:e,element:o.node(),plotinfo:{id:t,xaxis:s,yaxis:l,fillRangeItems:UJ.noop},subplot:t,xaxes:[s],yaxes:[l],doneFnCompleted:function(c){var f=e._fullData[t],h,d=f.node.groups.slice(),v=[];function x(k){for(var A=f._sankey.graph.nodes,L=0;L<A.length;L++)if(A[L].pointNumber===k)return A[L]}for(var b=0;b<c.length;b++){var p=x(c[b].pointNumber);if(p)if(p.group){for(var E=0;E<p.childrenNodes.length;E++)v.push(p.childrenNodes[E].pointNumber);d[p.pointNumber-f.node._count]=!1}else v.push(p.pointNumber)}h=d.filter(Boolean).concat([v]),tZt.call(\"_guiRestyle\",e,{\"node.groups\":[h]},t)}};u.prepFn=function(c,f,h){eZt(c,f,h,u,i)},QWt.init(u)}}});var rWe=ye((A_r,tWe)=>{\"use strict\";tWe.exports=function(t,r){for(var n=t.cd,i=[],a=n[0].trace,o=a._sankey.graph.nodes,s=0;s<o.length;s++){var l=o[s];if(!l.partOfGroup){var u=[(l.x0+l.x1)/2,(l.y0+l.y1)/2];a.orientation===\"v\"&&u.reverse(),r&&r.contains(u,!1,s,t)&&i.push({pointNumber:l.pointNumber})}}return i}});var nWe=ye((S_r,iWe)=>{\"use strict\";iWe.exports={attributes:CJ(),supplyDefaults:sje(),calc:hje(),plot:NJ(),moduleType:\"trace\",name:\"sankey\",basePlotModule:eWe(),selectPoints:rWe(),categories:[\"noOpacity\"],meta:{}}});var oWe=ye((M_r,aWe)=>{\"use strict\";aWe.exports=nWe()});var lWe=ye(RA=>{\"use strict\";var sWe=Xu();RA.name=\"indicator\";RA.plot=function(e,t,r,n){sWe.plotBasePlot(RA.name,e,t,r,n)};RA.clean=function(e,t,r,n){sWe.cleanBasePlot(RA.name,e,t,r,n)}});var HJ=ye((k_r,vWe)=>{\"use strict\";var Mx=no().extendFlat,cWe=no().extendDeep,iZt=Bu().overrideAll,fWe=Su(),hWe=dh(),nZt=Ju().attributes,Sf=Cd(),aZt=Vs().templatedArray,A7=HT(),uWe=Oc().descriptionOnlyNumbers,VJ=fWe({editType:\"plot\",colorEditType:\"plot\"}),Zk={color:{valType:\"color\",editType:\"plot\"},line:{color:{valType:\"color\",dflt:hWe.defaultLine,editType:\"plot\"},width:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},thickness:{valType:\"number\",min:0,max:1,dflt:1,editType:\"plot\"},editType:\"calc\"},dWe={valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],editType:\"plot\"},oZt=aZt(\"step\",cWe({},Zk,{range:dWe}));vWe.exports={mode:{valType:\"flaglist\",editType:\"calc\",flags:[\"number\",\"delta\",\"gauge\"],dflt:\"number\"},value:{valType:\"number\",editType:\"calc\",anim:!0},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],editType:\"plot\"},domain:nZt({name:\"indicator\",trace:!0,editType:\"calc\"}),title:{text:{valType:\"string\",editType:\"plot\"},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],editType:\"plot\"},font:Mx({},VJ,{}),editType:\"plot\"},number:{valueformat:{valType:\"string\",dflt:\"\",editType:\"plot\",description:uWe(\"value\")},font:Mx({},VJ,{}),prefix:{valType:\"string\",dflt:\"\",editType:\"plot\"},suffix:{valType:\"string\",dflt:\"\",editType:\"plot\"},editType:\"plot\"},delta:{reference:{valType:\"number\",editType:\"calc\"},position:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"],dflt:\"bottom\",editType:\"plot\"},relative:{valType:\"boolean\",editType:\"plot\",dflt:!1},valueformat:{valType:\"string\",editType:\"plot\",description:uWe(\"value\")},increasing:{symbol:{valType:\"string\",dflt:A7.INCREASING.SYMBOL,editType:\"plot\"},color:{valType:\"color\",dflt:A7.INCREASING.COLOR,editType:\"plot\"},editType:\"plot\"},decreasing:{symbol:{valType:\"string\",dflt:A7.DECREASING.SYMBOL,editType:\"plot\"},color:{valType:\"color\",dflt:A7.DECREASING.COLOR,editType:\"plot\"},editType:\"plot\"},font:Mx({},VJ,{}),prefix:{valType:\"string\",dflt:\"\",editType:\"plot\"},suffix:{valType:\"string\",dflt:\"\",editType:\"plot\"},editType:\"calc\"},gauge:{shape:{valType:\"enumerated\",editType:\"plot\",dflt:\"angular\",values:[\"angular\",\"bullet\"]},bar:cWe({},Zk,{color:{dflt:\"green\"}}),bgcolor:{valType:\"color\",editType:\"plot\"},bordercolor:{valType:\"color\",dflt:hWe.defaultLine,editType:\"plot\"},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},axis:iZt({range:dWe,visible:Mx({},Sf.visible,{dflt:!0}),tickmode:Sf.minor.tickmode,nticks:Sf.nticks,tick0:Sf.tick0,dtick:Sf.dtick,tickvals:Sf.tickvals,ticktext:Sf.ticktext,ticks:Mx({},Sf.ticks,{dflt:\"outside\"}),ticklen:Sf.ticklen,tickwidth:Sf.tickwidth,tickcolor:Sf.tickcolor,ticklabelstep:Sf.ticklabelstep,showticklabels:Sf.showticklabels,labelalias:Sf.labelalias,tickfont:fWe({}),tickangle:Sf.tickangle,tickformat:Sf.tickformat,tickformatstops:Sf.tickformatstops,tickprefix:Sf.tickprefix,showtickprefix:Sf.showtickprefix,ticksuffix:Sf.ticksuffix,showticksuffix:Sf.showticksuffix,separatethousands:Sf.separatethousands,exponentformat:Sf.exponentformat,minexponent:Sf.minexponent,showexponent:Sf.showexponent,editType:\"plot\"},\"plot\"),steps:oZt,threshold:{line:{color:Mx({},Zk.line.color,{}),width:Mx({},Zk.line.width,{dflt:1}),editType:\"plot\"},thickness:Mx({},Zk.thickness,{dflt:.85}),value:{valType:\"number\",editType:\"calc\",dflt:!1},editType:\"plot\"},editType:\"plot\"}}});var GJ=ye((C_r,pWe)=>{\"use strict\";pWe.exports={defaultNumberFontSize:80,bulletNumberDomainSize:.25,bulletPadding:.025,innerRadius:.75,valueThickness:.5,titlePadding:5,horizontalPadding:10}});var yWe=ye((L_r,mWe)=>{\"use strict\";var ey=Mr(),M7=HJ(),sZt=Ju().defaults,gWe=Vs(),lZt=Zd(),S7=GJ(),uZt=xb(),cZt=T3(),fZt=t_(),hZt=r_();function dZt(e,t,r,n){function i(_,C){return ey.coerce(e,t,M7,_,C)}sZt(t,n,i),i(\"mode\"),t._hasNumber=t.mode.indexOf(\"number\")!==-1,t._hasDelta=t.mode.indexOf(\"delta\")!==-1,t._hasGauge=t.mode.indexOf(\"gauge\")!==-1;var a=i(\"value\");t._range=[0,typeof a==\"number\"?1.5*a:1];var o=new Array(2),s;if(t._hasNumber){i(\"number.valueformat\");var l=ey.extendFlat({},n.font);l.size=void 0,ey.coerceFont(i,\"number.font\",l),t.number.font.size===void 0&&(t.number.font.size=S7.defaultNumberFontSize,o[0]=!0),i(\"number.prefix\"),i(\"number.suffix\"),s=t.number.font.size}var u;if(t._hasDelta){var c=ey.extendFlat({},n.font);c.size=void 0,ey.coerceFont(i,\"delta.font\",c),t.delta.font.size===void 0&&(t.delta.font.size=(t._hasNumber?.5:1)*(s||S7.defaultNumberFontSize),o[1]=!0),i(\"delta.reference\",t.value),i(\"delta.relative\"),i(\"delta.valueformat\",t.delta.relative?\"2%\":\"\"),i(\"delta.increasing.symbol\"),i(\"delta.increasing.color\"),i(\"delta.decreasing.symbol\"),i(\"delta.decreasing.color\"),i(\"delta.position\"),i(\"delta.prefix\"),i(\"delta.suffix\"),u=t.delta.font.size}t._scaleNumbers=(!t._hasNumber||o[0])&&(!t._hasDelta||o[1])||!1;var f=ey.extendFlat({},n.font);f.size=.25*(s||u||S7.defaultNumberFontSize),ey.coerceFont(i,\"title.font\",f),i(\"title.text\");var h,d,v,x;function b(_,C){return ey.coerce(h,d,M7.gauge,_,C)}function p(_,C){return ey.coerce(v,x,M7.gauge.axis,_,C)}if(t._hasGauge){h=e.gauge,h||(h={}),d=gWe.newContainer(t,\"gauge\"),b(\"shape\");var E=t._isBullet=t.gauge.shape===\"bullet\";E||i(\"title.align\",\"center\");var k=t._isAngular=t.gauge.shape===\"angular\";k||i(\"align\",\"center\"),b(\"bgcolor\",n.paper_bgcolor),b(\"borderwidth\"),b(\"bordercolor\"),b(\"bar.color\"),b(\"bar.line.color\"),b(\"bar.line.width\");var A=S7.valueThickness*(t.gauge.shape===\"bullet\"?.5:1);b(\"bar.thickness\",A),lZt(h,d,{name:\"steps\",handleItemDefaults:vZt}),b(\"threshold.value\"),b(\"threshold.thickness\"),b(\"threshold.line.width\"),b(\"threshold.line.color\"),v={},h&&(v=h.axis||{}),x=gWe.newContainer(d,\"axis\"),p(\"visible\"),t._range=p(\"range\",t._range);var L={font:n.font,noAutotickangles:!0,outerTicks:!0,noTicklabelshift:!0,noTicklabelstandoff:!0};uZt(v,x,p,\"linear\"),hZt(v,x,p,\"linear\",L),fZt(v,x,p,\"linear\",L),cZt(v,x,p,L)}else i(\"title.align\",\"center\"),i(\"align\",\"center\"),t._isAngular=t._isBullet=!1;t._length=null}function vZt(e,t){function r(n,i){return ey.coerce(e,t,M7.gauge.steps,n,i)}r(\"color\"),r(\"line.color\"),r(\"line.width\"),r(\"range\"),r(\"thickness\")}mWe.exports={supplyDefaults:dZt}});var xWe=ye((P_r,_We)=>{\"use strict\";function pZt(e,t){var r=[],n=t.value;typeof t._lastValue!=\"number\"&&(t._lastValue=t.value);var i=t._lastValue,a=i;return t._hasDelta&&typeof t.delta.reference==\"number\"&&(a=t.delta.reference),r[0]={y:n,lastY:i,delta:n-a,relativeDelta:(n-a)/a},r}_We.exports={calc:pZt}});var MWe=ye((I_r,SWe)=>{\"use strict\";var fw=xa(),gZt=(R2(),B1(I2)).interpolate,bWe=(R2(),B1(I2)).interpolateNumber,Ex=Mr(),mZt=Ex.strScale,Yk=Ex.strTranslate,yZt=Ex.rad2deg,_Zt=Nh().MID_SHIFT,cw=ao(),sw=GJ(),k7=Pl(),av=Qa(),xZt=JM(),bZt=iI(),wZt=Cd(),DA=va(),jJ={left:\"start\",center:\"middle\",right:\"end\"},lw={left:0,center:.5,right:1},wWe=/[yzafpnµmkMGTPEZY]/;function Kk(e){return e&&e.duration>0}SWe.exports=function(t,r,n,i){var a=t._fullLayout,o;Kk(n)&&i&&(o=i()),Ex.makeTraceGroups(a._indicatorlayer,r,\"trace\").each(function(s){var l=s[0],u=l.trace,c=fw.select(this),f=u._hasGauge,h=u._isAngular,d=u._isBullet,v=u.domain,x={w:a._size.w*(v.x[1]-v.x[0]),h:a._size.h*(v.y[1]-v.y[0]),l:a._size.l+a._size.w*v.x[0],r:a._size.r+a._size.w*(1-v.x[1]),t:a._size.t+a._size.h*(1-v.y[1]),b:a._size.b+a._size.h*v.y[0]},b=x.l+x.w/2,p=x.t+x.h/2,E=Math.min(x.w/2,x.h),k=sw.innerRadius*E,A,L,_,C=u.align||\"center\";if(L=p,!f)A=x.l+lw[C]*x.w,_=function(G){return TWe(G,x.w,x.h)};else if(h&&(A=b,L=p+E/2,_=function(G){return EZt(G,.9*k)}),d){var M=sw.bulletPadding,g=1-sw.bulletNumberDomainSize+M;A=x.l+(g+(1-g)*lw[C])*x.w,_=function(G){return TWe(G,(sw.bulletNumberDomainSize-M)*x.w,x.h)}}SZt(t,c,s,{numbersX:A,numbersY:L,numbersScaler:_,transitionOpts:n,onComplete:o});var P,T;f&&(P={range:u.gauge.axis.range,color:u.gauge.bgcolor,line:{color:u.gauge.bordercolor,width:0},thickness:1},T={range:u.gauge.axis.range,color:\"rgba(0, 0, 0, 0)\",line:{color:u.gauge.bordercolor,width:u.gauge.borderwidth},thickness:1});var F=c.selectAll(\"g.angular\").data(h?s:[]);F.exit().remove();var q=c.selectAll(\"g.angularaxis\").data(h?s:[]);q.exit().remove(),h&&AZt(t,c,s,{radius:E,innerRadius:k,gauge:F,layer:q,size:x,gaugeBg:P,gaugeOutline:T,transitionOpts:n,onComplete:o});var V=c.selectAll(\"g.bullet\").data(d?s:[]);V.exit().remove();var H=c.selectAll(\"g.bulletaxis\").data(d?s:[]);H.exit().remove(),d&&TZt(t,c,s,{gauge:V,layer:H,size:x,gaugeBg:P,gaugeOutline:T,transitionOpts:n,onComplete:o});var X=c.selectAll(\"text.title\").data(s);X.exit().remove(),X.enter().append(\"text\").classed(\"title\",!0),X.attr(\"text-anchor\",function(){return d?jJ.right:jJ[u.title.align]}).text(u.title.text).call(cw.font,u.title.font).call(k7.convertToTspans,t),X.attr(\"transform\",function(){var G=x.l+x.w*lw[u.title.align],N,W=sw.titlePadding,re=cw.bBox(X.node());if(f){if(h)if(u.gauge.axis.visible){var ae=cw.bBox(q.node());N=ae.top-W-re.bottom}else N=x.t+x.h/2-E/2-re.bottom-W;d&&(N=L-(re.top+re.bottom)/2,G=x.l-sw.bulletPadding*x.w)}else N=u._numbersTop-W-re.bottom;return Yk(G,N)})})};function TZt(e,t,r,n){var i=r[0].trace,a=n.gauge,o=n.layer,s=n.gaugeBg,l=n.gaugeOutline,u=n.size,c=i.domain,f=n.transitionOpts,h=n.onComplete,d,v,x,b,p;a.enter().append(\"g\").classed(\"bullet\",!0),a.attr(\"transform\",Yk(u.l,u.t)),o.enter().append(\"g\").classed(\"bulletaxis\",!0).classed(\"crisp\",!0),o.selectAll(\"g.xbulletaxistick,path,text\").remove();var E=u.h,k=i.gauge.bar.thickness*E,A=c.x[0],L=c.x[0]+(c.x[1]-c.x[0])*(i._hasNumber||i._hasDelta?1-sw.bulletNumberDomainSize:1);d=Xk(e,i.gauge.axis),d._id=\"xbulletaxis\",d.domain=[A,L],d.setScale(),v=av.calcTicks(d),x=av.makeTransTickFn(d),b=av.getTickSigns(d)[2],p=u.t+u.h,d.visible&&(av.drawTicks(e,d,{vals:d.ticks===\"inside\"?av.clipEnds(d,v):v,layer:o,path:av.makeTickPath(d,p,b),transFn:x}),av.drawLabels(e,d,{vals:v,layer:o,transFn:x,labelFns:av.makeLabelFns(d,p)}));function _(q){q.attr(\"width\",function(V){return Math.max(0,d.c2p(V.range[1])-d.c2p(V.range[0]))}).attr(\"x\",function(V){return d.c2p(V.range[0])}).attr(\"y\",function(V){return .5*(1-V.thickness)*E}).attr(\"height\",function(V){return V.thickness*E})}var C=[s].concat(i.gauge.steps),M=a.selectAll(\"g.bg-bullet\").data(C);M.enter().append(\"g\").classed(\"bg-bullet\",!0).append(\"rect\"),M.select(\"rect\").call(_).call(uw),M.exit().remove();var g=a.selectAll(\"g.value-bullet\").data([i.gauge.bar]);g.enter().append(\"g\").classed(\"value-bullet\",!0).append(\"rect\"),g.select(\"rect\").attr(\"height\",k).attr(\"y\",(E-k)/2).call(uw),Kk(f)?g.select(\"rect\").transition().duration(f.duration).ease(f.easing).each(\"end\",function(){h&&h()}).each(\"interrupt\",function(){h&&h()}).attr(\"width\",Math.max(0,d.c2p(Math.min(i.gauge.axis.range[1],r[0].y)))):g.select(\"rect\").attr(\"width\",typeof r[0].y==\"number\"?Math.max(0,d.c2p(Math.min(i.gauge.axis.range[1],r[0].y))):0),g.exit().remove();var P=r.filter(function(){return i.gauge.threshold.value||i.gauge.threshold.value===0}),T=a.selectAll(\"g.threshold-bullet\").data(P);T.enter().append(\"g\").classed(\"threshold-bullet\",!0).append(\"line\"),T.select(\"line\").attr(\"x1\",d.c2p(i.gauge.threshold.value)).attr(\"x2\",d.c2p(i.gauge.threshold.value)).attr(\"y1\",(1-i.gauge.threshold.thickness)/2*E).attr(\"y2\",(1-(1-i.gauge.threshold.thickness)/2)*E).call(DA.stroke,i.gauge.threshold.line.color).style(\"stroke-width\",i.gauge.threshold.line.width),T.exit().remove();var F=a.selectAll(\"g.gauge-outline\").data([l]);F.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"rect\"),F.select(\"rect\").call(_).call(uw),F.exit().remove()}function AZt(e,t,r,n){var i=r[0].trace,a=n.size,o=n.radius,s=n.innerRadius,l=n.gaugeBg,u=n.gaugeOutline,c=[a.l+a.w/2,a.t+a.h/2+o/2],f=n.gauge,h=n.layer,d=n.transitionOpts,v=n.onComplete,x=Math.PI/2;function b(_e){var Me=i.gauge.axis.range[0],ke=i.gauge.axis.range[1],ge=(_e-Me)/(ke-Me)*Math.PI-x;return ge<-x?-x:ge>x?x:ge}function p(_e){return fw.svg.arc().innerRadius((s+o)/2-_e/2*(o-s)).outerRadius((s+o)/2+_e/2*(o-s)).startAngle(-x)}function E(_e){_e.attr(\"d\",function(Me){return p(Me.thickness).startAngle(b(Me.range[0])).endAngle(b(Me.range[1]))()})}var k,A,L,_;f.enter().append(\"g\").classed(\"angular\",!0),f.attr(\"transform\",Yk(c[0],c[1])),h.enter().append(\"g\").classed(\"angularaxis\",!0).classed(\"crisp\",!0),h.selectAll(\"g.xangularaxistick,path,text\").remove(),k=Xk(e,i.gauge.axis),k.type=\"linear\",k.range=i.gauge.axis.range,k._id=\"xangularaxis\",k.ticklabeloverflow=\"allow\",k.setScale();var C=function(_e){return(k.range[0]-_e.x)/(k.range[1]-k.range[0])*Math.PI+Math.PI},M={},g=av.makeLabelFns(k,0),P=g.labelStandoff;M.xFn=function(_e){var Me=C(_e);return Math.cos(Me)*P},M.yFn=function(_e){var Me=C(_e),ke=Math.sin(Me)>0?.2:1;return-Math.sin(Me)*(P+_e.fontSize*ke)+Math.abs(Math.cos(Me))*(_e.fontSize*_Zt)},M.anchorFn=function(_e){var Me=C(_e),ke=Math.cos(Me);return Math.abs(ke)<.1?\"middle\":ke>0?\"start\":\"end\"},M.heightFn=function(_e,Me,ke){var ge=C(_e);return-.5*(1+Math.sin(ge))*ke};var T=function(_e){return Yk(c[0]+o*Math.cos(_e),c[1]-o*Math.sin(_e))};L=function(_e){return T(C(_e))};var F=function(_e){var Me=C(_e);return T(Me)+\"rotate(\"+-yZt(Me)+\")\"};if(A=av.calcTicks(k),_=av.getTickSigns(k)[2],k.visible){_=k.ticks===\"inside\"?-1:1;var q=(k.linewidth||1)/2;av.drawTicks(e,k,{vals:A,layer:h,path:\"M\"+_*q+\",0h\"+_*k.ticklen,transFn:F}),av.drawLabels(e,k,{vals:A,layer:h,transFn:L,labelFns:M})}var V=[l].concat(i.gauge.steps),H=f.selectAll(\"g.bg-arc\").data(V);H.enter().append(\"g\").classed(\"bg-arc\",!0).append(\"path\"),H.select(\"path\").call(E).call(uw),H.exit().remove();var X=p(i.gauge.bar.thickness),G=f.selectAll(\"g.value-arc\").data([i.gauge.bar]);G.enter().append(\"g\").classed(\"value-arc\",!0).append(\"path\");var N=G.select(\"path\");Kk(d)?(N.transition().duration(d.duration).ease(d.easing).each(\"end\",function(){v&&v()}).each(\"interrupt\",function(){v&&v()}).attrTween(\"d\",MZt(X,b(r[0].lastY),b(r[0].y))),i._lastValue=r[0].y):N.attr(\"d\",typeof r[0].y==\"number\"?X.endAngle(b(r[0].y)):\"M0,0Z\"),N.call(uw),G.exit().remove(),V=[];var W=i.gauge.threshold.value;(W||W===0)&&V.push({range:[W,W],color:i.gauge.threshold.color,line:{color:i.gauge.threshold.line.color,width:i.gauge.threshold.line.width},thickness:i.gauge.threshold.thickness});var re=f.selectAll(\"g.threshold-arc\").data(V);re.enter().append(\"g\").classed(\"threshold-arc\",!0).append(\"path\"),re.select(\"path\").call(E).call(uw),re.exit().remove();var ae=f.selectAll(\"g.gauge-outline\").data([u]);ae.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"path\"),ae.select(\"path\").call(E).call(uw),ae.exit().remove()}function SZt(e,t,r,n){var i=r[0].trace,a=n.numbersX,o=n.numbersY,s=i.align||\"center\",l=jJ[s],u=n.transitionOpts,c=n.onComplete,f=Ex.ensureSingle(t,\"g\",\"numbers\"),h,d,v,x=[];i._hasNumber&&x.push(\"number\"),i._hasDelta&&(x.push(\"delta\"),i.delta.position===\"left\"&&x.reverse());var b=f.selectAll(\"text\").data(x);b.enter().append(\"text\"),b.attr(\"text-anchor\",function(){return l}).attr(\"class\",function(T){return T}).attr(\"x\",null).attr(\"y\",null).attr(\"dx\",null).attr(\"dy\",null),b.exit().remove();function p(T,F,q,V){if(T.match(\"s\")&&q>=0!=V>=0&&!F(q).slice(-1).match(wWe)&&!F(V).slice(-1).match(wWe)){var H=T.slice().replace(\"s\",\"f\").replace(/\\d+/,function(G){return parseInt(G)-1}),X=Xk(e,{tickformat:H});return function(G){return Math.abs(G)<1?av.tickText(X,G).text:F(G)}}else return F}function E(){var T=Xk(e,{tickformat:i.number.valueformat},i._range);T.setScale(),av.prepTicks(T);var F=function(G){return av.tickText(T,G).text},q=i.number.suffix,V=i.number.prefix,H=f.select(\"text.number\");function X(){var G=typeof r[0].y==\"number\"?V+F(r[0].y)+q:\"-\";H.text(G).call(cw.font,i.number.font).call(k7.convertToTspans,e)}return Kk(u)?H.transition().duration(u.duration).ease(u.easing).each(\"end\",function(){X(),c&&c()}).each(\"interrupt\",function(){X(),c&&c()}).attrTween(\"text\",function(){var G=fw.select(this),N=bWe(r[0].lastY,r[0].y);i._lastValue=r[0].y;var W=p(i.number.valueformat,F,r[0].lastY,r[0].y);return function(re){G.text(V+W(N(re))+q)}}):X(),h=AWe(V+F(r[0].y)+q,i.number.font,l,e),H}function k(){var T=Xk(e,{tickformat:i.delta.valueformat},i._range);T.setScale(),av.prepTicks(T);var F=function(re){return av.tickText(T,re).text},q=i.delta.suffix,V=i.delta.prefix,H=function(re){var ae=i.delta.relative?re.relativeDelta:re.delta;return ae},X=function(re,ae){return re===0||typeof re!=\"number\"||isNaN(re)?\"-\":(re>0?i.delta.increasing.symbol:i.delta.decreasing.symbol)+V+ae(re)+q},G=function(re){return re.delta>=0?i.delta.increasing.color:i.delta.decreasing.color};i._deltaLastValue===void 0&&(i._deltaLastValue=H(r[0]));var N=f.select(\"text.delta\");N.call(cw.font,i.delta.font).call(DA.fill,G({delta:i._deltaLastValue}));function W(){N.text(X(H(r[0]),F)).call(DA.fill,G(r[0])).call(k7.convertToTspans,e)}return Kk(u)?N.transition().duration(u.duration).ease(u.easing).tween(\"text\",function(){var re=fw.select(this),ae=H(r[0]),_e=i._deltaLastValue,Me=p(i.delta.valueformat,F,_e,ae),ke=bWe(_e,ae);return i._deltaLastValue=ae,function(ge){re.text(X(ke(ge),Me)),re.call(DA.fill,G({delta:ke(ge)}))}}).each(\"end\",function(){W(),c&&c()}).each(\"interrupt\",function(){W(),c&&c()}):W(),d=AWe(X(H(r[0]),F),i.delta.font,l,e),N}var A=i.mode+i.align,L;if(i._hasDelta&&(L=k(),A+=i.delta.position+i.delta.font.size+i.delta.font.family+i.delta.valueformat,A+=i.delta.increasing.symbol+i.delta.decreasing.symbol,v=d),i._hasNumber&&(E(),A+=i.number.font.size+i.number.font.family+i.number.valueformat+i.number.suffix+i.number.prefix,v=h),i._hasDelta&&i._hasNumber){var _=[(h.left+h.right)/2,(h.top+h.bottom)/2],C=[(d.left+d.right)/2,(d.top+d.bottom)/2],M,g,P=.75*i.delta.font.size;i.delta.position===\"left\"&&(M=E7(i,\"deltaPos\",0,-1*(h.width*lw[i.align]+d.width*(1-lw[i.align])+P),A,Math.min),g=_[1]-C[1],v={width:h.width+d.width+P,height:Math.max(h.height,d.height),left:d.left+M,right:h.right,top:Math.min(h.top,d.top+g),bottom:Math.max(h.bottom,d.bottom+g)}),i.delta.position===\"right\"&&(M=E7(i,\"deltaPos\",0,h.width*(1-lw[i.align])+d.width*lw[i.align]+P,A,Math.max),g=_[1]-C[1],v={width:h.width+d.width+P,height:Math.max(h.height,d.height),left:h.left,right:d.right+M,top:Math.min(h.top,d.top+g),bottom:Math.max(h.bottom,d.bottom+g)}),i.delta.position===\"bottom\"&&(M=null,g=d.height,v={width:Math.max(h.width,d.width),height:h.height+d.height,left:Math.min(h.left,d.left),right:Math.max(h.right,d.right),top:h.bottom-h.height,bottom:h.bottom+d.height}),i.delta.position===\"top\"&&(M=null,g=h.top,v={width:Math.max(h.width,d.width),height:h.height+d.height,left:Math.min(h.left,d.left),right:Math.max(h.right,d.right),top:h.bottom-h.height-d.height,bottom:h.bottom}),L.attr({dx:M,dy:g})}(i._hasNumber||i._hasDelta)&&f.attr(\"transform\",function(){var T=n.numbersScaler(v);A+=T[2];var F=E7(i,\"numbersScale\",1,T[0],A,Math.min),q;i._scaleNumbers||(F=1),i._isAngular?q=o-F*v.bottom:q=o-F*(v.top+v.bottom)/2,i._numbersTop=F*v.top+q;var V=v[s];s===\"center\"&&(V=(v.left+v.right)/2);var H=a-F*V;return H=E7(i,\"numbersTranslate\",0,H,A,Math.max),Yk(H,q)+mZt(F)})}function uw(e){e.each(function(t){DA.stroke(fw.select(this),t.line.color)}).each(function(t){DA.fill(fw.select(this),t.color)}).style(\"stroke-width\",function(t){return t.line.width})}function MZt(e,t,r){return function(){var n=gZt(t,r);return function(i){return e.endAngle(n(i))()}}}function Xk(e,t,r){var n=e._fullLayout,i=Ex.extendFlat({type:\"linear\",ticks:\"outside\",range:r,showline:!0},t),a={type:\"linear\",_id:\"x\"+t._id},o={letter:\"x\",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function s(l,u){return Ex.coerce(i,a,wZt,l,u)}return xZt(i,a,s,o,n),bZt(i,a,s,o),a}function TWe(e,t,r){var n=Math.min(t/e.width,r/e.height);return[n,e,t+\"x\"+r]}function EZt(e,t){var r=Math.sqrt(e.width/2*(e.width/2)+e.height*e.height),n=t/r;return[n,e,t]}function AWe(e,t,r,n){var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"text\"),a=fw.select(i);return a.text(e).attr(\"x\",0).attr(\"y\",0).attr(\"text-anchor\",r).attr(\"data-unformatted\",e).call(k7.convertToTspans,n).call(cw.font,t),cw.bBox(a.node())}function E7(e,t,r,n,i,a){var o=\"_cache\"+t;e[o]&&e[o].key===i||(e[o]={key:i,value:r});var s=Ex.aggNums(a,null,[e[o].value,n],2);return e[o].value=s,s}});var kWe=ye((R_r,EWe)=>{\"use strict\";EWe.exports={moduleType:\"trace\",name:\"indicator\",basePlotModule:lWe(),categories:[\"svg\",\"noOpacity\",\"noHover\"],animatable:!0,attributes:HJ(),supplyDefaults:yWe().supplyDefaults,calc:xWe().calc,plot:MWe(),meta:{}}});var LWe=ye((D_r,CWe)=>{\"use strict\";CWe.exports=kWe()});var WJ=ye((F_r,DWe)=>{\"use strict\";var PWe=Nb(),C7=no().extendFlat,kZt=Bu().overrideAll,IWe=Su(),CZt=Ju().attributes,RWe=Oc().descriptionOnlyNumbers,z_r=DWe.exports=kZt({domain:CZt({name:\"table\",trace:!0}),columnwidth:{valType:\"number\",arrayOk:!0,dflt:null},columnorder:{valType:\"data_array\"},header:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[],description:RWe(\"cell value\")},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:28},align:C7({},PWe.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:C7({},IWe({arrayOk:!0}))},cells:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[],description:RWe(\"cell value\")},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:20},align:C7({},PWe.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:C7({},IWe({arrayOk:!0}))}},\"calc\",\"from-root\")});var FWe=ye((q_r,zWe)=>{\"use strict\";var ZJ=Mr(),LZt=WJ(),PZt=Ju().defaults;function IZt(e,t){for(var r=e.columnorder||[],n=e.header.values.length,i=r.slice(0,n),a=i.slice().sort(function(l,u){return l-u}),o=i.map(function(l){return a.indexOf(l)}),s=o.length;s<n;s++)o.push(s);t(\"columnorder\",o)}zWe.exports=function(t,r,n,i){function a(o,s){return ZJ.coerce(t,r,LZt,o,s)}PZt(r,i,a),a(\"columnwidth\"),a(\"header.values\"),a(\"header.format\"),a(\"header.align\"),a(\"header.prefix\"),a(\"header.suffix\"),a(\"header.height\"),a(\"header.line.width\"),a(\"header.line.color\"),a(\"header.fill.color\"),ZJ.coerceFont(a,\"header.font\",i.font),IZt(r,a),a(\"cells.values\"),a(\"cells.format\"),a(\"cells.align\"),a(\"cells.prefix\"),a(\"cells.suffix\"),a(\"cells.height\"),a(\"cells.line.width\"),a(\"cells.line.color\"),a(\"cells.fill.color\"),ZJ.coerceFont(a,\"cells.font\",i.font),r._length=null}});var OWe=ye((O_r,qWe)=>{\"use strict\";var RZt=Km().wrap;qWe.exports=function(){return RZt({})}});var XJ=ye((B_r,BWe)=>{\"use strict\";BWe.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\\$.*\\$$/,goldenRatio:1.618,lineBreaker:\"<br>\",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:\"cubic-out\",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:\"cubic-out\",uplift:5,wrapSpacer:\" \",wrapSplitCharacter:\" \",cn:{table:\"table\",tableControlView:\"table-control-view\",scrollBackground:\"scroll-background\",yColumn:\"y-column\",columnBlock:\"column-block\",scrollAreaClip:\"scroll-area-clip\",scrollAreaClipRect:\"scroll-area-clip-rect\",columnBoundary:\"column-boundary\",columnBoundaryClippath:\"column-boundary-clippath\",columnBoundaryRect:\"column-boundary-rect\",columnCells:\"column-cells\",columnCell:\"column-cell\",cellRect:\"cell-rect\",cellText:\"cell-text\",cellTextHolder:\"cell-text-holder\",scrollbarKit:\"scrollbar-kit\",scrollbar:\"scrollbar\",scrollbarSlider:\"scrollbar-slider\",scrollbarGlyph:\"scrollbar-glyph\",scrollbarCaptureZone:\"scrollbar-capture-zone\"}}});var XWe=ye((N_r,ZWe)=>{\"use strict\";var NWe=XJ(),KJ=no().extendFlat,DZt=uo(),zZt=vv().isTypedArray,L7=vv().isArrayOrTypedArray;ZWe.exports=function(t,r){var n=YJ(r.cells.values),i=function(g){return g.slice(r.header.values.length,g.length)},a=YJ(r.header.values);a.length&&!a[0].length&&(a[0]=[\"\"],a=YJ(a));var o=a.concat(i(n).map(function(){return WWe((a[0]||[\"\"]).length)})),s=r.domain,l=Math.floor(t._fullLayout._size.w*(s.x[1]-s.x[0])),u=Math.floor(t._fullLayout._size.h*(s.y[1]-s.y[0])),c=r.header.values.length?o[0].map(function(){return r.header.height}):[NWe.emptyHeaderHeight],f=n.length?n[0].map(function(){return r.cells.height}):[],h=c.reduce(UWe,0),d=u-h,v=d+NWe.uplift,x=GWe(f,v),b=GWe(c,h),p=HWe(b,[]),E=HWe(x,p),k={},A=r._fullInput.columnorder;L7(A)&&(A=Array.from(A)),A=A.concat(i(n.map(function(g,P){return P})));var L=o.map(function(g,P){var T=L7(r.columnwidth)?r.columnwidth[Math.min(P,r.columnwidth.length-1)]:r.columnwidth;return DZt(T)?Number(T):1}),_=L.reduce(UWe,0);L=L.map(function(g){return g/_*l});var C=Math.max(JJ(r.header.line.width),JJ(r.cells.line.width)),M={key:r.uid+t._context.staticPlot,translateX:s.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-s.y[1]),size:t._fullLayout._size,width:l,maxLineWidth:C,height:u,columnOrder:A,groupHeight:u,rowBlocks:E,headerRowBlocks:p,scrollY:0,cells:KJ({},r.cells,{values:n}),headerCells:KJ({},r.header,{values:o}),gdColumns:o.map(function(g){return g[0]}),gdColumnsOriginalOrder:o.map(function(g){return g[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:o.map(function(g,P){var T=k[g];k[g]=(T||0)+1;var F=g+\"__\"+k[g];return{key:F,label:g,specIndex:P,xIndex:A[P],xScale:VWe,x:void 0,calcdata:void 0,columnWidth:L[P]}})};return M.columns.forEach(function(g){g.calcdata=M,g.x=VWe(g)}),M};function JJ(e){if(L7(e)){for(var t=0,r=0;r<e.length;r++)t=Math.max(t,JJ(e[r]));return t}return e}function UWe(e,t){return e+t}function YJ(e){var t=e.slice(),r=1/0,n=0,i;for(i=0;i<t.length;i++)zZt(t[i])?t[i]=Array.from(t[i]):L7(t[i])||(t[i]=[t[i]]),r=Math.min(r,t[i].length),n=Math.max(n,t[i].length);if(r!==n)for(i=0;i<t.length;i++){var a=n-t[i].length;a&&(t[i]=t[i].concat(WWe(a)))}return t}function WWe(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=\"\";return t}function VWe(e){return e.calcdata.columns.reduce(function(t,r){return r.xIndex<e.xIndex?t+r.columnWidth:t},0)}function HWe(e,t){var r=Object.keys(e);return r.map(function(n){return KJ({},e[n],{auxiliaryBlocks:t})})}function GWe(e,t){for(var r={},n,i=0,a=0,o=jWe(),s=0,l=0,u=0;u<e.length;u++)n=e[u],o.rows.push({rowIndex:u,rowHeight:n}),a+=n,(a>=t||u===e.length-1)&&(r[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o=jWe(),i+=a,s=u+1,a=0);return r}function jWe(){return{firstRowIndex:null,lastRowIndex:null,rows:[]}}});var YWe=ye($J=>{\"use strict\";var P7=no().extendFlat;$J.splitToPanels=function(e){var t=[0,0],r=P7({},e,{key:\"header\",type:\"header\",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!0,values:e.calcdata.headerCells.values[e.specIndex],rowBlocks:e.calcdata.headerRowBlocks,calcdata:P7({},e.calcdata,{cells:e.calcdata.headerCells})}),n=P7({},e,{key:\"cells1\",type:\"cells\",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks}),i=P7({},e,{key:\"cells2\",type:\"cells\",page:1,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks});return[n,i,r]};$J.splitToCells=function(e){var t=FZt(e);return(e.values||[]).slice(t[0],t[1]).map(function(r,n){var i=typeof r==\"string\"&&r.match(/[<$&> ]/)?\"_keybuster_\"+Math.random():\"\";return{keyWithinBlock:n+i,key:t[0]+n,column:e,calcdata:e.calcdata,page:e.page,rowBlocks:e.rowBlocks,value:r}})};function FZt(e){var t=e.rowBlocks[e.page],r=t?t.rows[0].rowIndex:0,n=t?r+t.rows.length:0;return[r,n]}});var l$=ye((V_r,oZe)=>{\"use strict\";var Ia=XJ(),Mc=xa(),QJ=Mr(),qZt=QJ.numberFormat,gu=Km(),e$=ao(),OZt=Pl(),BZt=Mr().raiseToTop,og=Mr().strTranslate,NZt=Mr().cancelTransition,UZt=XWe(),rZe=YWe(),KWe=va();oZe.exports=function(t,r){var n=!t._context.staticPlot,i=t._fullLayout._paper.selectAll(\".\"+Ia.cn.table).data(r.map(function(E){var k=gu.unwrap(E),A=k.trace;return UZt(t,A)}),gu.keyFun);i.exit().remove(),i.enter().append(\"g\").classed(Ia.cn.table,!0).attr(\"overflow\",\"visible\").style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"overflow\",\"visible\").style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"all\"),i.attr(\"width\",function(E){return E.width+E.size.l+E.size.r}).attr(\"height\",function(E){return E.height+E.size.t+E.size.b}).attr(\"transform\",function(E){return og(E.translateX,E.translateY)});var a=i.selectAll(\".\"+Ia.cn.tableControlView).data(gu.repeat,gu.keyFun),o=a.enter().append(\"g\").classed(Ia.cn.tableControlView,!0).style(\"box-sizing\",\"content-box\");if(n){var s=\"onwheel\"in document?\"wheel\":\"mousewheel\";o.on(\"mousemove\",function(E){a.filter(function(k){return E===k}).call(Jk,t)}).on(s,function(E){if(!E.scrollbarState.wheeling){E.scrollbarState.wheeling=!0;var k=E.scrollY+Mc.event.deltaY,A=R7(t,a,null,k)(E);A||(Mc.event.stopPropagation(),Mc.event.preventDefault()),E.scrollbarState.wheeling=!1}}).call(Jk,t,!0)}a.attr(\"transform\",function(E){return og(E.size.l,E.size.t)});var l=a.selectAll(\".\"+Ia.cn.scrollBackground).data(gu.repeat,gu.keyFun);l.enter().append(\"rect\").classed(Ia.cn.scrollBackground,!0).attr(\"fill\",\"none\"),l.attr(\"width\",function(E){return E.width}).attr(\"height\",function(E){return E.height}),a.each(function(E){e$.setClipUrl(Mc.select(this),JWe(t,E),t)});var u=a.selectAll(\".\"+Ia.cn.yColumn).data(function(E){return E.columns},gu.keyFun);u.enter().append(\"g\").classed(Ia.cn.yColumn,!0),u.exit().remove(),u.attr(\"transform\",function(E){return og(E.x,0)}),n&&u.call(Mc.behavior.drag().origin(function(E){var k=Mc.select(this);return eZe(k,E,-Ia.uplift),BZt(this),E.calcdata.columnDragInProgress=!0,Jk(a.filter(function(A){return E.calcdata.key===A.key}),t),E}).on(\"drag\",function(E){var k=Mc.select(this),A=function(C){return(E===C?Mc.event.x:C.x)+C.columnWidth/2};E.x=Math.max(-Ia.overdrag,Math.min(E.calcdata.width+Ia.overdrag-E.columnWidth,Mc.event.x));var L=iZe(u).filter(function(C){return C.calcdata.key===E.calcdata.key}),_=L.sort(function(C,M){return A(C)-A(M)});_.forEach(function(C,M){C.xIndex=M,C.x=E===C?C.x:C.xScale(C)}),u.filter(function(C){return E!==C}).transition().ease(Ia.transitionEase).duration(Ia.transitionDuration).attr(\"transform\",function(C){return og(C.x,0)}),k.call(NZt).attr(\"transform\",og(E.x,-Ia.uplift))}).on(\"dragend\",function(E){var k=Mc.select(this),A=E.calcdata;E.x=E.xScale(E),E.calcdata.columnDragInProgress=!1,eZe(k,E,0),JZt(t,A,A.columns.map(function(L){return L.xIndex}))})),u.each(function(E){e$.setClipUrl(Mc.select(this),$We(t,E),t)});var c=u.selectAll(\".\"+Ia.cn.columnBlock).data(rZe.splitToPanels,gu.keyFun);c.enter().append(\"g\").classed(Ia.cn.columnBlock,!0).attr(\"id\",function(E){return E.key}),c.style(\"cursor\",function(E){return E.dragHandle?\"ew-resize\":E.calcdata.scrollbarState.barWiggleRoom?\"ns-resize\":\"default\"});var f=c.filter($Zt),h=c.filter(a$);n&&h.call(Mc.behavior.drag().origin(function(E){return Mc.event.stopPropagation(),E}).on(\"drag\",R7(t,a,-1)).on(\"dragend\",function(){})),t$(t,a,f,c),t$(t,a,h,c);var d=a.selectAll(\".\"+Ia.cn.scrollAreaClip).data(gu.repeat,gu.keyFun);d.enter().append(\"clipPath\").classed(Ia.cn.scrollAreaClip,!0).attr(\"id\",function(E){return JWe(t,E)});var v=d.selectAll(\".\"+Ia.cn.scrollAreaClipRect).data(gu.repeat,gu.keyFun);v.enter().append(\"rect\").classed(Ia.cn.scrollAreaClipRect,!0).attr(\"x\",-Ia.overdrag).attr(\"y\",-Ia.uplift).attr(\"fill\",\"none\"),v.attr(\"width\",function(E){return E.width+2*Ia.overdrag}).attr(\"height\",function(E){return E.height+Ia.uplift});var x=u.selectAll(\".\"+Ia.cn.columnBoundary).data(gu.repeat,gu.keyFun);x.enter().append(\"g\").classed(Ia.cn.columnBoundary,!0);var b=u.selectAll(\".\"+Ia.cn.columnBoundaryClippath).data(gu.repeat,gu.keyFun);b.enter().append(\"clipPath\").classed(Ia.cn.columnBoundaryClippath,!0),b.attr(\"id\",function(E){return $We(t,E)});var p=b.selectAll(\".\"+Ia.cn.columnBoundaryRect).data(gu.repeat,gu.keyFun);p.enter().append(\"rect\").classed(Ia.cn.columnBoundaryRect,!0).attr(\"fill\",\"none\"),p.attr(\"width\",function(E){return E.columnWidth+2*I7(E)}).attr(\"height\",function(E){return E.calcdata.height+2*I7(E)+Ia.uplift}).attr(\"x\",function(E){return-I7(E)}).attr(\"y\",function(E){return-I7(E)}),o$(null,h,a)};function I7(e){return Math.ceil(e.calcdata.maxLineWidth/2)}function JWe(e,t){return\"clip\"+e._fullLayout._uid+\"_scrollAreaBottomClip_\"+t.key}function $We(e,t){return\"clip\"+e._fullLayout._uid+\"_columnBoundaryClippath_\"+t.calcdata.key+\"_\"+t.specIndex}function iZe(e){return[].concat.apply([],e.map(function(t){return t})).map(function(t){return t.__data__})}function Jk(e,t,r){function n(u){var c=u.rowBlocks;return i$(c,c.length-1)+(c.length?D7(c[c.length-1],1/0):1)}var i=e.selectAll(\".\"+Ia.cn.scrollbarKit).data(gu.repeat,gu.keyFun);i.enter().append(\"g\").classed(Ia.cn.scrollbarKit,!0).style(\"shape-rendering\",\"geometricPrecision\"),i.each(function(u){var c=u.scrollbarState;c.totalHeight=n(u),c.scrollableAreaHeight=u.groupHeight-r$(u),c.currentlyVisibleHeight=Math.min(c.totalHeight,c.scrollableAreaHeight),c.ratio=c.currentlyVisibleHeight/c.totalHeight,c.barLength=Math.max(c.ratio*c.currentlyVisibleHeight,Ia.goldenRatio*Ia.scrollbarWidth),c.barWiggleRoom=c.currentlyVisibleHeight-c.barLength,c.wiggleRoom=Math.max(0,c.totalHeight-c.scrollableAreaHeight),c.topY=c.barWiggleRoom===0?0:u.scrollY/c.wiggleRoom*c.barWiggleRoom,c.bottomY=c.topY+c.barLength,c.dragMultiplier=c.wiggleRoom/c.barWiggleRoom}).attr(\"transform\",function(u){var c=u.width+Ia.scrollbarWidth/2+Ia.scrollbarOffset;return og(c,r$(u))});var a=i.selectAll(\".\"+Ia.cn.scrollbar).data(gu.repeat,gu.keyFun);a.enter().append(\"g\").classed(Ia.cn.scrollbar,!0);var o=a.selectAll(\".\"+Ia.cn.scrollbarSlider).data(gu.repeat,gu.keyFun);o.enter().append(\"g\").classed(Ia.cn.scrollbarSlider,!0),o.attr(\"transform\",function(u){return og(0,u.scrollbarState.topY||0)});var s=o.selectAll(\".\"+Ia.cn.scrollbarGlyph).data(gu.repeat,gu.keyFun);s.enter().append(\"line\").classed(Ia.cn.scrollbarGlyph,!0).attr(\"stroke\",\"black\").attr(\"stroke-width\",Ia.scrollbarWidth).attr(\"stroke-linecap\",\"round\").attr(\"y1\",Ia.scrollbarWidth/2),s.attr(\"y2\",function(u){return u.scrollbarState.barLength-Ia.scrollbarWidth/2}).attr(\"stroke-opacity\",function(u){return u.columnDragInProgress||!u.scrollbarState.barWiggleRoom||r?0:.4}),s.transition().delay(0).duration(0),s.transition().delay(Ia.scrollbarHideDelay).duration(Ia.scrollbarHideDuration).attr(\"stroke-opacity\",0);var l=a.selectAll(\".\"+Ia.cn.scrollbarCaptureZone).data(gu.repeat,gu.keyFun);l.enter().append(\"line\").classed(Ia.cn.scrollbarCaptureZone,!0).attr(\"stroke\",\"white\").attr(\"stroke-opacity\",.01).attr(\"stroke-width\",Ia.scrollbarCaptureWidth).attr(\"stroke-linecap\",\"butt\").attr(\"y1\",0).on(\"mousedown\",function(u){var c=Mc.event.y,f=this.getBoundingClientRect(),h=u.scrollbarState,d=c-f.top,v=Mc.scale.linear().domain([0,h.scrollableAreaHeight]).range([0,h.totalHeight]).clamp(!0);h.topY<=d&&d<=h.bottomY||R7(t,e,null,v(d-h.barLength/2))(u)}).call(Mc.behavior.drag().origin(function(u){return Mc.event.stopPropagation(),u.scrollbarState.scrollbarScrollInProgress=!0,u}).on(\"drag\",R7(t,e)).on(\"dragend\",function(){})),l.attr(\"y2\",function(u){return u.scrollbarState.scrollableAreaHeight}),t._context.staticPlot&&(s.remove(),l.remove())}function t$(e,t,r,n){var i=VZt(r),a=HZt(i);ZZt(a);var o=GZt(a);YZt(o);var s=WZt(a),l=jZt(s);XZt(l),nZe(l,t,n,e),s$(a)}function VZt(e){var t=e.selectAll(\".\"+Ia.cn.columnCells).data(gu.repeat,gu.keyFun);return t.enter().append(\"g\").classed(Ia.cn.columnCells,!0),t.exit().remove(),t}function HZt(e){var t=e.selectAll(\".\"+Ia.cn.columnCell).data(rZe.splitToCells,function(r){return r.keyWithinBlock});return t.enter().append(\"g\").classed(Ia.cn.columnCell,!0),t.exit().remove(),t}function GZt(e){var t=e.selectAll(\".\"+Ia.cn.cellRect).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append(\"rect\").classed(Ia.cn.cellRect,!0),t}function jZt(e){var t=e.selectAll(\".\"+Ia.cn.cellText).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append(\"text\").classed(Ia.cn.cellText,!0).style(\"cursor\",function(){return\"auto\"}).on(\"mousedown\",function(){Mc.event.stopPropagation()}),t}function WZt(e){var t=e.selectAll(\".\"+Ia.cn.cellTextHolder).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append(\"g\").classed(Ia.cn.cellTextHolder,!0).style(\"shape-rendering\",\"geometricPrecision\"),t}function ZZt(e){e.each(function(t,r){var n=t.calcdata.cells.font,i=t.column.specIndex,a={size:Xv(n.size,i,r),color:Xv(n.color,i,r),family:Xv(n.family,i,r),weight:Xv(n.weight,i,r),style:Xv(n.style,i,r),variant:Xv(n.variant,i,r),textcase:Xv(n.textcase,i,r),lineposition:Xv(n.lineposition,i,r),shadow:Xv(n.shadow,i,r)};t.rowNumber=t.key,t.align=Xv(t.calcdata.cells.align,i,r),t.cellBorderWidth=Xv(t.calcdata.cells.line.width,i,r),t.font=a})}function XZt(e){e.each(function(t){e$.font(Mc.select(this),t.font)})}function YZt(e){e.attr(\"width\",function(t){return t.column.columnWidth}).attr(\"stroke-width\",function(t){return t.cellBorderWidth}).each(function(t){var r=Mc.select(this);KWe.stroke(r,Xv(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),KWe.fill(r,Xv(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}function nZe(e,t,r,n){e.text(function(i){var a=i.column.specIndex,o=i.rowNumber,s=i.value,l=typeof s==\"string\",u=l&&s.match(/<br>/i),c=!l||u;i.mayHaveMarkup=l&&s.match(/[<&>]/);var f=KZt(s);i.latex=f;var h=f?\"\":Xv(i.calcdata.cells.prefix,a,o)||\"\",d=f?\"\":Xv(i.calcdata.cells.suffix,a,o)||\"\",v=f?null:Xv(i.calcdata.cells.format,a,o)||null,x=h+(v?qZt(v)(i.value):i.value)+d,b;i.wrappingNeeded=!i.wrapped&&!c&&!f&&(b=QWe(x)),i.cellHeightMayIncrease=u||f||i.mayHaveMarkup||(b===void 0?QWe(x):b),i.needsConvertToTspans=i.mayHaveMarkup||i.wrappingNeeded||i.latex;var p;if(i.wrappingNeeded){var E=Ia.wrapSplitCharacter===\" \"?x.replace(/<a href=/ig,\"<a_href=\"):x,k=E.split(Ia.wrapSplitCharacter),A=Ia.wrapSplitCharacter===\" \"?k.map(function(L){return L.replace(/<a_href=/ig,\"<a href=\")}):k;i.fragments=A.map(function(L){return{text:L,width:null}}),i.fragments.push({fragment:Ia.wrapSpacer,width:null}),p=A.join(Ia.lineBreaker)+Ia.lineBreaker+Ia.wrapSpacer}else delete i.fragments,p=x;return p}).attr(\"dy\",function(i){return i.needsConvertToTspans?0:\"0.75em\"}).each(function(i){var a=this,o=Mc.select(a),s=i.wrappingNeeded?eXt:tXt;i.needsConvertToTspans?OZt.convertToTspans(o,n,s(r,a,t,n,i)):Mc.select(a.parentNode).attr(\"transform\",function(l){return og(aZe(l),Ia.cellPad)}).attr(\"text-anchor\",function(l){return{left:\"start\",center:\"middle\",right:\"end\"}[l.align]})})}function KZt(e){return typeof e==\"string\"&&e.match(Ia.latexCheck)}function QWe(e){return e.indexOf(Ia.wrapSplitCharacter)!==-1}function JZt(e,t,r){var n=t.gdColumnsOriginalOrder;t.gdColumns.sort(function(i,a){return r[n.indexOf(i)]-r[n.indexOf(a)]}),t.columnorder=r,e.emit(\"plotly_restyle\")}function Xv(e,t,r){if(QJ.isArrayOrTypedArray(e)){var n=e[Math.min(t,e.length-1)];return QJ.isArrayOrTypedArray(n)?n[Math.min(r,n.length-1)]:n}else return e}function eZe(e,t,r){e.transition().ease(Ia.releaseTransitionEase).duration(Ia.releaseTransitionDuration).attr(\"transform\",og(t.x,r))}function a$(e){return e.type===\"cells\"}function $Zt(e){return e.type===\"header\"}function r$(e){var t=e.rowBlocks.length?e.rowBlocks[0].auxiliaryBlocks:[];return t.reduce(function(r,n){return r+D7(n,1/0)},0)}function QZt(e,t,r){for(var n=[],i=0,a=0;a<e.length;a++){for(var o=e[a],s=o.rows,l=0,u=0;u<s.length;u++)l+=s[u].rowHeight;o.allRowsHeight=l;var c=i+l,f=t,h=f+r;f<c&&h>i&&n.push(a),i+=l}return n}function o$(e,t,r){var n=iZe(t)[0];if(n!==void 0){var i=n.rowBlocks,a=n.calcdata,o=i$(i,i.length),s=n.calcdata.groupHeight-r$(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),u=QZt(i,l,s);u.length===1&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),t.each(function(c,f){c.page=u[f],c.scrollY=l}),t.attr(\"transform\",function(c){var f=i$(c.rowBlocks,c.page)-c.scrollY;return og(0,f)}),e&&(tZe(e,r,t,u,n.prevPages,n,0),tZe(e,r,t,u,n.prevPages,n,1),Jk(r,e))}}function R7(e,t,r,n){return function(a){var o=a.calcdata?a.calcdata:a,s=t.filter(function(f){return o.key===f.key}),l=r||o.scrollbarState.dragMultiplier,u=o.scrollY;o.scrollY=n===void 0?o.scrollY+l*Mc.event.dy:n;var c=s.selectAll(\".\"+Ia.cn.yColumn).selectAll(\".\"+Ia.cn.columnBlock).filter(a$);return o$(e,c,s),o.scrollY===u}}function tZe(e,t,r,n,i,a,o){var s=n[o]!==i[o];s&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var l=r.filter(function(u,c){return c===o&&n[c]!==i[c]});t$(e,t,l,r),i[o]=n[o]}))}function eXt(e,t,r,n){return function(){var a=Mc.select(t.parentNode);a.each(function(o){var s=o.fragments;a.selectAll(\"tspan.line\").each(function(x,b){s[b].width=this.getComputedTextLength()});var l=s[s.length-1].width,u=s.slice(0,-1),c=[],f,h,d=0,v=o.column.columnWidth-2*Ia.cellPad;for(o.value=\"\";u.length;)f=u.shift(),h=f.width+l,d+h>v&&(o.value+=c.join(Ia.wrapSpacer)+Ia.lineBreaker,c=[],d=0),c.push(f.text),d+=h;d&&(o.value+=c.join(Ia.wrapSpacer)),o.wrapped=!0}),a.selectAll(\"tspan.line\").remove(),nZe(a.select(\".\"+Ia.cn.cellText),r,e,n),Mc.select(t.parentNode.parentNode).call(s$)}}function tXt(e,t,r,n,i){return function(){if(!i.settledY){var o=Mc.select(t.parentNode),s=n$(i),l=i.key-s.firstRowIndex,u=s.rows[l].rowHeight,c=i.cellHeightMayIncrease?t.parentNode.getBoundingClientRect().height+2*Ia.cellPad:u,f=Math.max(c,u),h=f-s.rows[l].rowHeight;h&&(s.rows[l].rowHeight=f,e.selectAll(\".\"+Ia.cn.columnCell).call(s$),o$(null,e.filter(a$),0),Jk(r,n,!0)),o.attr(\"transform\",function(){var d=this,v=d.parentNode,x=v.getBoundingClientRect(),b=Mc.select(d.parentNode).select(\".\"+Ia.cn.cellRect).node().getBoundingClientRect(),p=d.transform.baseVal.consolidate(),E=b.top-x.top+(p?p.matrix.f:Ia.cellPad);return og(aZe(i,Mc.select(d.parentNode).select(\".\"+Ia.cn.cellTextHolder).node().getBoundingClientRect().width),E)}),i.settledY=!0}}}function aZe(e,t){switch(e.align){case\"left\":return Ia.cellPad;case\"right\":return e.column.columnWidth-(t||0)-Ia.cellPad;case\"center\":return(e.column.columnWidth-(t||0))/2;default:return Ia.cellPad}}function s$(e){e.attr(\"transform\",function(t){var r=t.rowBlocks[0].auxiliaryBlocks.reduce(function(o,s){return o+D7(s,1/0)},0),n=n$(t),i=D7(n,t.key),a=i+r;return og(0,a)}).selectAll(\".\"+Ia.cn.cellRect).attr(\"height\",function(t){return iXt(n$(t),t.key).rowHeight})}function i$(e,t){for(var r=0,n=t-1;n>=0;n--)r+=rXt(e[n]);return r}function D7(e,t){for(var r=0,n=0;n<e.rows.length&&e.rows[n].rowIndex<t;n++)r+=e.rows[n].rowHeight;return r}function rXt(e){var t=e.allRowsHeight;if(t!==void 0)return t;for(var r=0,n=0;n<e.rows.length;n++)r+=e.rows[n].rowHeight;return e.allRowsHeight=r,r}function n$(e){return e.rowBlocks[e.page]}function iXt(e,t){return e.rows[t-e.firstRowIndex]}});var sZe=ye(F7=>{\"use strict\";var nXt=kd().getModuleCalcData,aXt=l$(),z7=\"table\";F7.name=z7;F7.plot=function(e){var t=nXt(e.calcdata,z7)[0];t.length&&aXt(e,t)};F7.clean=function(e,t,r,n){var i=n._has&&n._has(z7),a=t._has&&t._has(z7);i&&!a&&n._paperdiv.selectAll(\".table\").remove()}});var uZe=ye((G_r,lZe)=>{\"use strict\";lZe.exports={attributes:WJ(),supplyDefaults:FWe(),calc:OWe(),plot:l$(),moduleType:\"trace\",name:\"table\",basePlotModule:sZe(),categories:[\"noOpacity\"],meta:{}}});var fZe=ye((j_r,cZe)=>{\"use strict\";cZe.exports=uZe()});var gZe=ye((W_r,pZe)=>{\"use strict\";var hZe=Su(),dZe=dh(),u$=Cd(),oXt=Oc().descriptionWithDates,sXt=Bu().overrideAll,vZe=Ed().dash,c$=no().extendFlat;pZe.exports={color:{valType:\"color\",editType:\"calc\"},smoothing:{valType:\"number\",dflt:1,min:0,max:1.3,editType:\"calc\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"calc\"},font:hZe({editType:\"calc\"}),offset:{valType:\"number\",dflt:10,editType:\"calc\"},editType:\"calc\"},type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"date\",\"category\"],dflt:\"-\",editType:\"calc\"},autotypenumbers:u$.autotypenumbers,autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],dflt:!0,editType:\"calc\"},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"calc\"},range:{valType:\"info_array\",editType:\"calc\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}]},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cheatertype:{valType:\"enumerated\",values:[\"index\",\"value\"],dflt:\"value\",editType:\"calc\"},tickmode:{valType:\"enumerated\",values:[\"linear\",\"array\"],dflt:\"array\",editType:\"calc\"},nticks:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},tickvals:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},showticklabels:{valType:\"enumerated\",values:[\"start\",\"end\",\"both\",\"none\"],dflt:\"start\",editType:\"calc\"},labelalias:c$({},u$.labelalias,{editType:\"calc\"}),tickfont:hZe({editType:\"calc\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"calc\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"calc\"},minexponent:{valType:\"number\",dflt:3,min:0,editType:\"calc\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"calc\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"calc\",description:oXt(\"tick label\")},tickformatstops:sXt(u$.tickformatstops,\"calc\",\"from-root\"),categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},labelpadding:{valType:\"integer\",dflt:10,editType:\"calc\"},labelprefix:{valType:\"string\",editType:\"calc\"},labelsuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showline:{valType:\"boolean\",dflt:!1,editType:\"calc\"},linecolor:{valType:\"color\",dflt:dZe.defaultLine,editType:\"calc\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},gridcolor:{valType:\"color\",editType:\"calc\"},gridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},griddash:c$({},vZe,{editType:\"calc\"}),showgrid:{valType:\"boolean\",dflt:!0,editType:\"calc\"},minorgridcount:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},minorgridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},minorgriddash:c$({},vZe,{editType:\"calc\"}),minorgridcolor:{valType:\"color\",dflt:dZe.lightLine,editType:\"calc\"},startline:{valType:\"boolean\",editType:\"calc\"},startlinecolor:{valType:\"color\",editType:\"calc\"},startlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endline:{valType:\"boolean\",editType:\"calc\"},endlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endlinecolor:{valType:\"color\",editType:\"calc\"},tick0:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},dtick:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},arraytick0:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},arraydtick:{valType:\"integer\",min:1,dflt:1,editType:\"calc\"},editType:\"calc\"}});var O7=ye((Z_r,_Ze)=>{\"use strict\";var lXt=Su(),mZe=gZe(),yZe=dh(),q7=lXt({editType:\"calc\"}),uXt=Uc().zorder;q7.family.dflt='\"Open Sans\", verdana, arial, sans-serif';q7.size.dflt=12;q7.color.dflt=yZe.defaultLine;_Ze.exports={carpet:{valType:\"string\",editType:\"calc\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},a:{valType:\"data_array\",editType:\"calc\"},a0:{valType:\"number\",dflt:0,editType:\"calc\"},da:{valType:\"number\",dflt:1,editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},b0:{valType:\"number\",dflt:0,editType:\"calc\"},db:{valType:\"number\",dflt:1,editType:\"calc\"},cheaterslope:{valType:\"number\",dflt:1,editType:\"calc\"},aaxis:mZe,baxis:mZe,font:q7,color:{valType:\"color\",dflt:yZe.defaultLine,editType:\"plot\"},zorder:uXt}});var wZe=ye((X_r,bZe)=>{\"use strict\";var xZe=Mr().isArray1D;bZe.exports=function(t,r,n){var i=n(\"x\"),a=i&&i.length,o=n(\"y\"),s=o&&o.length;if(!a&&!s)return!1;if(r._cheater=!i,(!a||xZe(i))&&(!s||xZe(o))){var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),r.a&&r.a.length&&(l=Math.min(l,r.a.length)),r.b&&r.b.length&&(l=Math.min(l,r.b.length)),r._length=l}else r._length=null;return!0}});var SZe=ye((Y_r,AZe)=>{\"use strict\";var cXt=O7(),TZe=va().addOpacity,fXt=ba(),$k=Mr(),hXt=xb(),dXt=t_(),vXt=r_(),pXt=eI(),gXt=ym(),mXt=L3();AZe.exports=function(t,r,n){var i=n.letter,a=n.font||{},o=cXt[i+\"axis\"];function s(g,P){return $k.coerce(t,r,o,g,P)}function l(g,P){return $k.coerce2(t,r,o,g,P)}n.name&&(r._name=n.name,r._id=n.name),s(\"autotypenumbers\",n.autotypenumbersDflt);var u=s(\"type\");if(u===\"-\"&&(n.data&&yXt(r,n.data),r.type===\"-\"?r.type=\"linear\":u=t.type=r.type),s(\"smoothing\"),s(\"cheatertype\"),s(\"showticklabels\"),s(\"labelprefix\",i+\" = \"),s(\"labelsuffix\"),s(\"showtickprefix\"),s(\"showticksuffix\"),s(\"separatethousands\"),s(\"tickformat\"),s(\"exponentformat\"),s(\"minexponent\"),s(\"showexponent\"),s(\"categoryorder\"),s(\"tickmode\"),s(\"tickvals\"),s(\"ticktext\"),s(\"tick0\"),s(\"dtick\"),r.tickmode===\"array\"&&(s(\"arraytick0\"),s(\"arraydtick\")),s(\"labelpadding\"),r._hovertitle=i,u===\"date\"){var c=fXt.getComponentMethod(\"calendars\",\"handleDefaults\");c(t,r,\"calendar\",n.calendar)}gXt(r,n.fullLayout),r.c2p=$k.identity;var f=s(\"color\",n.dfltColor),h=f===t.color?f:a.color,d=s(\"title.text\");d&&($k.coerceFont(s,\"title.font\",a,{overrideDflt:{size:$k.bigFont(a.size),color:h}}),s(\"title.offset\")),s(\"tickangle\");var v=s(\"autorange\",!r.isValidRange(t.range));v&&s(\"rangemode\"),s(\"range\"),r.cleanRange(),s(\"fixedrange\"),hXt(t,r,s,u),vXt(t,r,s,u,n),dXt(t,r,s,u,n),pXt(t,r,s,{data:n.data,dataAttr:i});var x=l(\"gridcolor\",TZe(f,.3)),b=l(\"gridwidth\"),p=l(\"griddash\"),E=s(\"showgrid\");E||(delete r.gridcolor,delete r.gridwidth,delete r.griddash);var k=l(\"startlinecolor\",f),A=l(\"startlinewidth\",b),L=s(\"startline\",r.showgrid||!!k||!!A);L||(delete r.startlinecolor,delete r.startlinewidth);var _=l(\"endlinecolor\",f),C=l(\"endlinewidth\",b),M=s(\"endline\",r.showgrid||!!_||!!C);return M||(delete r.endlinecolor,delete r.endlinewidth),E?(s(\"minorgridcount\"),s(\"minorgridwidth\",b),s(\"minorgriddash\",p),s(\"minorgridcolor\",TZe(x,.06)),r.minorgridcount||(delete r.minorgridwidth,delete r.minorgriddash,delete r.minorgridcolor)):(delete r.gridcolor,delete r.gridwidth,delete r.griddash),r.showticklabels===\"none\"&&(delete r.tickfont,delete r.tickangle,delete r.showexponent,delete r.exponentformat,delete r.minexponent,delete r.tickformat,delete r.showticksuffix,delete r.showtickprefix),r.showticksuffix||delete r.ticksuffix,r.showtickprefix||delete r.tickprefix,s(\"tickmode\"),r};function yXt(e,t){if(e.type===\"-\"){var r=e._id,n=r.charAt(0),i=n+\"calendar\",a=e[i];e.type=mXt(t,a,{autotypenumbers:e.autotypenumbers})}}});var EZe=ye((K_r,MZe)=>{\"use strict\";var _Xt=SZe(),xXt=Vs();MZe.exports=function(t,r,n,i,a){var o=i(\"a\");o||(i(\"da\"),i(\"a0\"));var s=i(\"b\");s||(i(\"db\"),i(\"b0\")),bXt(t,r,n,a)};function bXt(e,t,r,n){var i=[\"aaxis\",\"baxis\"];i.forEach(function(a){var o=a.charAt(0),s=e[a]||{},l=xXt.newContainer(t,a),u={noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,noTicklabelstep:!0,tickfont:\"x\",id:o+\"axis\",letter:o,font:t.font,name:a,data:e[o],calendar:t.calendar,dfltColor:n,bgColor:r.paper_bgcolor,autotypenumbersDflt:r.autotypenumbers,fullLayout:r};_Xt(s,l,u),l._categories=l._categories||[],!e[a]&&s.type!==\"-\"&&(e[a]={type:s.type})})}});var LZe=ye((J_r,CZe)=>{\"use strict\";var kZe=Mr(),wXt=wZe(),TXt=EZe(),AXt=O7(),SXt=dh();CZe.exports=function(t,r,n,i){function a(l,u){return kZe.coerce(t,r,AXt,l,u)}r._clipPathId=\"clip\"+r.uid+\"carpet\";var o=a(\"color\",SXt.defaultLine);if(kZe.coerceFont(a,\"font\",i.font),a(\"carpet\"),TXt(t,r,i,a,o),!r.a||!r.b){r.visible=!1;return}r.a.length<3&&(r.aaxis.smoothing=0),r.b.length<3&&(r.baxis.smoothing=0);var s=wXt(t,r,a);s||(r.visible=!1),r._cheater&&a(\"cheaterslope\"),a(\"zorder\")}});var f$=ye(($_r,PZe)=>{\"use strict\";var MXt=Mr().isArrayOrTypedArray;PZe.exports=function(t,r,n){var i;for(MXt(t)?t.length>r.length&&(t=t.slice(0,r.length)):t=[],i=0;i<r.length;i++)t[i]=n(r[i]);return t}});var h$=ye((Q_r,IZe)=>{\"use strict\";IZe.exports=function(t,r,n){if(t.length===0)return\"\";var i,a=[],o=n?3:1;for(i=0;i<t.length;i+=o)a.push(t[i]+\",\"+r[i]),n&&i<t.length-o&&(a.push(\"C\"),a.push([t[i+1]+\",\"+r[i+1],t[i+2]+\",\"+r[i+2]+\" \"].join(\" \")));return a.join(n?\"\":\"L\")}});var DZe=ye((exr,RZe)=>{\"use strict\";RZe.exports=function(t,r,n,i,a,o){var s=a[0]*t.dpdx(r),l=a[1]*t.dpdy(n),u=1,c=1;if(o){var f=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=Math.sqrt(o[0]*o[0]+o[1]*o[1]),d=(a[0]*o[0]+a[1]*o[1])/f/h;c=Math.max(0,d)}var v=Math.atan2(l,s)*180/Math.PI;return v<-90?(v+=180,u=-u):v>90&&(v-=180,u=-u),{angle:v,flip:u,p:t.c2p(i,r,n),offsetMultplier:c}}});var VZe=ye((txr,UZe)=>{\"use strict\";var V7=xa(),B7=ao(),N7=f$(),qZe=h$(),Qk=DZe(),d$=Pl(),Up=Mr(),OZe=Up.strRotate,U7=Up.strTranslate,BZe=Nh();UZe.exports=function(t,r,n,i){var a=t._context.staticPlot,o=r.xaxis,s=r.yaxis,l=t._fullLayout,u=l._clips;Up.makeTraceGroups(i,n,\"trace\").each(function(c){var f=V7.select(this),h=c[0],d=h.trace,v=d.aaxis,x=d.baxis,b=Up.ensureSingle(f,\"g\",\"minorlayer\"),p=Up.ensureSingle(f,\"g\",\"majorlayer\"),E=Up.ensureSingle(f,\"g\",\"boundarylayer\"),k=Up.ensureSingle(f,\"g\",\"labellayer\");f.style(\"opacity\",d.opacity),zA(o,s,p,v,\"a\",v._gridlines,!0,a),zA(o,s,p,x,\"b\",x._gridlines,!0,a),zA(o,s,b,v,\"a\",v._minorgridlines,!0,a),zA(o,s,b,x,\"b\",x._minorgridlines,!0,a),zA(o,s,E,v,\"a-boundary\",v._boundarylines,a),zA(o,s,E,x,\"b-boundary\",x._boundarylines,a);var A=zZe(t,o,s,d,h,k,v._labels,\"a-label\"),L=zZe(t,o,s,d,h,k,x._labels,\"b-label\");kXt(t,k,d,h,o,s,A,L),EXt(d,h,u,o,s)})};function EXt(e,t,r,n,i){var a,o,s,l,u=r.select(\"#\"+e._clipPathId);u.size()||(u=r.append(\"clipPath\").classed(\"carpetclip\",!0));var c=Up.ensureSingle(u,\"path\",\"carpetboundary\"),f=t.clipsegments,h=[];for(l=0;l<f.length;l++)a=f[l],o=N7([],a.x,n.c2p),s=N7([],a.y,i.c2p),h.push(qZe(o,s,a.bicubic));var d=\"M\"+h.join(\"L\")+\"Z\";u.attr(\"id\",e._clipPathId),c.attr(\"d\",d)}function zA(e,t,r,n,i,a,o){var s=\"const-\"+i+\"-lines\",l=r.selectAll(\".\"+s).data(a);l.enter().append(\"path\").classed(s,!0).style(\"vector-effect\",o?\"none\":\"non-scaling-stroke\"),l.each(function(u){var c=u,f=c.x,h=c.y,d=N7([],f,e.c2p),v=N7([],h,t.c2p),x=\"M\"+qZe(d,v,c.smoothing),b=V7.select(this);b.attr(\"d\",x).style(\"stroke-width\",c.width).style(\"stroke\",c.color).style(\"stroke-dasharray\",B7.dashStyle(c.dash,c.width)).style(\"fill\",\"none\")}),l.exit().remove()}function zZe(e,t,r,n,i,a,o,s){var l=a.selectAll(\"text.\"+s).data(o);l.enter().append(\"text\").classed(s,!0);var u=0,c={};return l.each(function(f,h){var d;if(f.axis.tickangle===\"auto\")d=Qk(n,t,r,f.xy,f.dxy);else{var v=(f.axis.tickangle+180)*Math.PI/180;d=Qk(n,t,r,f.xy,[Math.cos(v),Math.sin(v)])}h||(c={angle:d.angle,flip:d.flip});var x=(f.endAnchor?-1:1)*d.flip,b=V7.select(this).attr({\"text-anchor\":x>0?\"start\":\"end\",\"data-notex\":1}).call(B7.font,f.font).text(f.text).call(d$.convertToTspans,e),p=B7.bBox(this);b.attr(\"transform\",U7(d.p[0],d.p[1])+OZe(d.angle)+U7(f.axis.labelpadding*x,p.height*.3)),u=Math.max(u,p.width+f.axis.labelpadding)}),l.exit().remove(),c.maxExtent=u,c}function kXt(e,t,r,n,i,a,o,s){var l,u,c,f,h=Up.aggNums(Math.min,null,r.a),d=Up.aggNums(Math.max,null,r.a),v=Up.aggNums(Math.min,null,r.b),x=Up.aggNums(Math.max,null,r.b);l=.5*(h+d),u=v,c=r.ab2xy(l,u,!0),f=r.dxyda_rough(l,u),o.angle===void 0&&Up.extendFlat(o,Qk(r,i,a,c,r.dxydb_rough(l,u))),FZe(e,t,r,n,c,f,r.aaxis,i,a,o,\"a-title\"),l=h,u=.5*(v+x),c=r.ab2xy(l,u,!0),f=r.dxydb_rough(l,u),s.angle===void 0&&Up.extendFlat(s,Qk(r,i,a,c,r.dxyda_rough(l,u))),FZe(e,t,r,n,c,f,r.baxis,i,a,s,\"b-title\")}var NZe=BZe.LINE_SPACING,CXt=(1-BZe.MID_SHIFT)/NZe+1;function FZe(e,t,r,n,i,a,o,s,l,u,c){var f=[];o.title.text&&f.push(o.title.text);var h=t.selectAll(\"text.\"+c).data(f),d=u.maxExtent;h.enter().append(\"text\").classed(c,!0),h.each(function(){var v=Qk(r,s,l,i,a);[\"start\",\"both\"].indexOf(o.showticklabels)===-1&&(d=0);var x=o.title.font.size;d+=x+o.title.offset;var b=u.angle+(u.flip<0?180:0),p=(b-v.angle+450)%360,E=p>90&&p<270,k=V7.select(this);k.text(o.title.text).call(d$.convertToTspans,e),E&&(d=(-d$.lineCount(k)+CXt)*NZe*x-d),k.attr(\"transform\",U7(v.p[0],v.p[1])+OZe(v.angle)+U7(0,d)).attr(\"text-anchor\",\"middle\").call(B7.font,o.title.font)}),h.exit().remove()}});var GZe=ye((rxr,HZe)=>{\"use strict\";var H7=Mr().isArrayOrTypedArray;HZe.exports=function(e,t,r){var n,i,a,o,s,l,u=[],c=H7(e)?e.length:e,f=H7(t)?t.length:t,h=H7(e)?e:null,d=H7(t)?t:null;h&&(a=(h.length-1)/(h[h.length-1]-h[0])/(c-1)),d&&(o=(d.length-1)/(d[d.length-1]-d[0])/(f-1));var v,x=1/0,b=-1/0;for(i=0;i<f;i++)for(u[i]=[],l=d?(d[i]-d[0])*o:i/(f-1),n=0;n<c;n++)s=h?(h[n]-h[0])*a:n/(c-1),v=s-l*r,x=Math.min(v,x),b=Math.max(v,b),u[i][n]=v;var p=1/(b-x),E=-x*p;for(i=0;i<f;i++)for(n=0;n<c;n++)u[i][n]=p*u[i][n]+E;return u}});var XZe=ye((ixr,ZZe)=>{\"use strict\";var jZe=Mr().isArrayOrTypedArray;ZZe.exports=function(e){return WZe(e,0)};function WZe(e,t){if(!jZe(e)||t>=10)return null;for(var r=1/0,n=-1/0,i=e.length,a=0;a<i;a++){var o=e[a];if(jZe(o)){var s=WZe(o,t+1);s&&(r=Math.min(s[0],r),n=Math.max(s[1],n))}else r=Math.min(o,r),n=Math.max(o,n)}return[r,n]}});var KZe=ye((nxr,YZe)=>{\"use strict\";var LXt=Qa(),kx=no().extendFlat;YZe.exports=function(t,r,n){var i,a,o,s,l,u,c,f,h,d,v,x,b,p,E=t[\"_\"+r],k=t[r+\"axis\"],A=k._gridlines=[],L=k._minorgridlines=[],_=k._boundarylines=[],C=t[\"_\"+n],M=t[n+\"axis\"];k.tickmode===\"array\"&&(k.tickvals=E.slice());var g=t._xctrl,P=t._yctrl,T=g[0].length,F=g.length,q=t._a.length,V=t._b.length;LXt.prepTicks(k),k.tickmode===\"array\"&&delete k.tickvals;var H=k.smoothing?3:1;function X(N){var W,re,ae,_e,Me,ke,ge,ie,Te,Ee,Ae,ze,Ce=[],me=[],Re={};if(r===\"b\")for(re=t.b2j(N),ae=Math.floor(Math.max(0,Math.min(V-2,re))),_e=re-ae,Re.length=V,Re.crossLength=q,Re.xy=function(ce){return t.evalxy([],ce,re)},Re.dxy=function(ce,Ge){return t.dxydi([],ce,ae,Ge,_e)},W=0;W<q;W++)ke=Math.min(q-2,W),ge=W-ke,ie=t.evalxy([],W,re),M.smoothing&&W>0&&(Te=t.dxydi([],W-1,ae,0,_e),Ce.push(Me[0]+Te[0]/3),me.push(Me[1]+Te[1]/3),Ee=t.dxydi([],W-1,ae,1,_e),Ce.push(ie[0]-Ee[0]/3),me.push(ie[1]-Ee[1]/3)),Ce.push(ie[0]),me.push(ie[1]),Me=ie;else for(W=t.a2i(N),ke=Math.floor(Math.max(0,Math.min(q-2,W))),ge=W-ke,Re.length=q,Re.crossLength=V,Re.xy=function(ce){return t.evalxy([],W,ce)},Re.dxy=function(ce,Ge){return t.dxydj([],ke,ce,ge,Ge)},re=0;re<V;re++)ae=Math.min(V-2,re),_e=re-ae,ie=t.evalxy([],W,re),M.smoothing&&re>0&&(Ae=t.dxydj([],ke,re-1,ge,0),Ce.push(Me[0]+Ae[0]/3),me.push(Me[1]+Ae[1]/3),ze=t.dxydj([],ke,re-1,ge,1),Ce.push(ie[0]-ze[0]/3),me.push(ie[1]-ze[1]/3)),Ce.push(ie[0]),me.push(ie[1]),Me=ie;return Re.axisLetter=r,Re.axis=k,Re.crossAxis=M,Re.value=N,Re.constvar=n,Re.index=f,Re.x=Ce,Re.y=me,Re.smoothing=M.smoothing,Re}function G(N){var W,re,ae,_e,Me,ke=[],ge=[],ie={};if(ie.length=E.length,ie.crossLength=C.length,r===\"b\")for(ae=Math.max(0,Math.min(V-2,N)),Me=Math.min(1,Math.max(0,N-ae)),ie.xy=function(Te){return t.evalxy([],Te,N)},ie.dxy=function(Te,Ee){return t.dxydi([],Te,ae,Ee,Me)},W=0;W<T;W++)ke[W]=g[N*H][W],ge[W]=P[N*H][W];else for(re=Math.max(0,Math.min(q-2,N)),_e=Math.min(1,Math.max(0,N-re)),ie.xy=function(Te){return t.evalxy([],N,Te)},ie.dxy=function(Te,Ee){return t.dxydj([],re,Te,_e,Ee)},W=0;W<F;W++)ke[W]=g[W][N*H],ge[W]=P[W][N*H];return ie.axisLetter=r,ie.axis=k,ie.crossAxis=M,ie.value=E[N],ie.constvar=n,ie.index=N,ie.x=ke,ie.y=ge,ie.smoothing=M.smoothing,ie}if(k.tickmode===\"array\"){for(s=5e-15,l=[Math.floor((E.length-1-k.arraytick0)/k.arraydtick*(1+s)),Math.ceil(-k.arraytick0/k.arraydtick/(1+s))].sort(function(N,W){return N-W}),u=l[0]-1,c=l[1]+1,f=u;f<c;f++)a=k.arraytick0+k.arraydtick*f,!(a<0||a>E.length-1)&&A.push(kx(G(a),{color:k.gridcolor,width:k.gridwidth,dash:k.griddash}));for(f=u;f<c;f++)if(o=k.arraytick0+k.arraydtick*f,v=Math.min(o+k.arraydtick,E.length-1),!(o<0||o>E.length-1)&&!(v<0||v>E.length-1))for(x=E[o],b=E[v],i=0;i<k.minorgridcount;i++)p=v-o,!(p<=0)&&(d=x+(b-x)*(i+1)/(k.minorgridcount+1)*(k.arraydtick/p),!(d<E[0]||d>E[E.length-1])&&L.push(kx(X(d),{color:k.minorgridcolor,width:k.minorgridwidth,dash:k.minorgriddash})));k.startline&&_.push(kx(G(0),{color:k.startlinecolor,width:k.startlinewidth})),k.endline&&_.push(kx(G(E.length-1),{color:k.endlinecolor,width:k.endlinewidth}))}else{for(s=5e-15,l=[Math.floor((E[E.length-1]-k.tick0)/k.dtick*(1+s)),Math.ceil((E[0]-k.tick0)/k.dtick/(1+s))].sort(function(N,W){return N-W}),u=l[0],c=l[1],f=u;f<=c;f++)h=k.tick0+k.dtick*f,A.push(kx(X(h),{color:k.gridcolor,width:k.gridwidth,dash:k.griddash}));for(f=u-1;f<c+1;f++)for(h=k.tick0+k.dtick*f,i=0;i<k.minorgridcount;i++)d=h+k.dtick*(i+1)/(k.minorgridcount+1),!(d<E[0]||d>E[E.length-1])&&L.push(kx(X(d),{color:k.minorgridcolor,width:k.minorgridwidth,dash:k.minorgriddash}));k.startline&&_.push(kx(X(E[0]),{color:k.startlinecolor,width:k.startlinewidth})),k.endline&&_.push(kx(X(E[E.length-1]),{color:k.endlinecolor,width:k.endlinewidth}))}}});var eXe=ye((axr,QZe)=>{\"use strict\";var JZe=Qa(),$Ze=no().extendFlat;QZe.exports=function(t,r){var n,i,a,o,s,l=r._labels=[],u=r._gridlines;for(n=0;n<u.length;n++)s=u[n],[\"start\",\"both\"].indexOf(r.showticklabels)!==-1&&(i=JZe.tickText(r,s.value),$Ze(i,{prefix:a,suffix:o,endAnchor:!0,xy:s.xy(0),dxy:s.dxy(0,0),axis:s.axis,length:s.crossAxis.length,font:s.axis.tickfont,isFirst:n===0,isLast:n===u.length-1}),l.push(i)),[\"end\",\"both\"].indexOf(r.showticklabels)!==-1&&(i=JZe.tickText(r,s.value),$Ze(i,{endAnchor:!1,xy:s.xy(s.crossLength-1),dxy:s.dxy(s.crossLength-2,1),axis:s.axis,length:s.crossAxis.length,font:s.axis.tickfont,isFirst:n===0,isLast:n===u.length-1}),l.push(i))}});var rXe=ye((oxr,tXe)=>{\"use strict\";tXe.exports=function(t,r,n,i){var a,o,s,l=[],u=!!n.smoothing,c=!!i.smoothing,f=t[0].length-1,h=t.length-1;for(a=0,o=[],s=[];a<=f;a++)o[a]=t[0][a],s[a]=r[0][a];for(l.push({x:o,y:s,bicubic:u}),a=0,o=[],s=[];a<=h;a++)o[a]=t[a][f],s[a]=r[a][f];for(l.push({x:o,y:s,bicubic:c}),a=f,o=[],s=[];a>=0;a--)o[f-a]=t[h][a],s[f-a]=r[h][a];for(l.push({x:o,y:s,bicubic:u}),a=h,o=[],s=[];a>=0;a--)o[h-a]=t[a][0],s[h-a]=r[a][0];return l.push({x:o,y:s,bicubic:c}),l}});var nXe=ye((sxr,iXe)=>{\"use strict\";var PXt=Mr();iXe.exports=function(t,r,n){var i,a,o,s=[],l=[],u=t[0].length,c=t.length;function f(ae,_e){var Me=0,ke,ge=0;return ae>0&&(ke=t[_e][ae-1])!==void 0&&(ge++,Me+=ke),ae<u-1&&(ke=t[_e][ae+1])!==void 0&&(ge++,Me+=ke),_e>0&&(ke=t[_e-1][ae])!==void 0&&(ge++,Me+=ke),_e<c-1&&(ke=t[_e+1][ae])!==void 0&&(ge++,Me+=ke),Me/Math.max(1,ge)}var h=0;for(i=0;i<u;i++)for(a=0;a<c;a++)t[a][i]===void 0&&(s.push(i),l.push(a),t[a][i]=f(i,a)),h=Math.max(h,Math.abs(t[a][i]));if(!s.length)return t;var d,v,x,b,p,E,k,A,L,_,C,M=1e-5,g=0,P=100,T=0,F=s.length;do{for(g=0,o=0;o<F;o++){i=s[o],a=l[o];var q=0,V=0,H,X,G,N,W,re;i===0?(W=Math.min(u-1,2),G=r[W],N=r[1],H=t[a][W],X=t[a][1],V+=X+(X-H)*(r[0]-N)/(N-G),q++):i===u-1&&(W=Math.max(0,u-3),G=r[W],N=r[u-2],H=t[a][W],X=t[a][u-2],V+=X+(X-H)*(r[u-1]-N)/(N-G),q++),(i===0||i===u-1)&&a>0&&a<c-1&&(d=n[a+1]-n[a],v=n[a]-n[a-1],V+=(v*t[a+1][i]+d*t[a-1][i])/(v+d),q++),a===0?(re=Math.min(c-1,2),G=n[re],N=n[1],H=t[re][i],X=t[1][i],V+=X+(X-H)*(n[0]-N)/(N-G),q++):a===c-1&&(re=Math.max(0,c-3),G=n[re],N=n[c-2],H=t[re][i],X=t[c-2][i],V+=X+(X-H)*(n[c-1]-N)/(N-G),q++),(a===0||a===c-1)&&i>0&&i<u-1&&(d=r[i+1]-r[i],v=r[i]-r[i-1],V+=(v*t[a][i+1]+d*t[a][i-1])/(v+d),q++),q?V/=q:(x=r[i+1]-r[i],b=r[i]-r[i-1],p=n[a+1]-n[a],E=n[a]-n[a-1],k=x*b*(x+b),A=p*E*(p+E),V=(k*(E*t[a+1][i]+p*t[a-1][i])+A*(b*t[a][i+1]+x*t[a][i-1]))/(A*(b+x)+k*(E+p))),L=V-t[a][i],_=L/h,g+=_*_,C=q?0:.85,t[a][i]+=L*(1+C)}g=Math.sqrt(g)}while(T++<P&&g>M);return PXt.log(\"Smoother converged to\",g,\"after\",T,\"iterations\"),t}});var oXe=ye((lxr,aXe)=>{\"use strict\";aXe.exports={RELATIVE_CULL_TOLERANCE:1e-6}});var uXe=ye((uxr,lXe)=>{\"use strict\";var sXe=.5;lXe.exports=function(t,r,n,i){var a=t[0]-r[0],o=t[1]-r[1],s=n[0]-r[0],l=n[1]-r[1],u=Math.pow(a*a+o*o,sXe/2),c=Math.pow(s*s+l*l,sXe/2),f=(c*c*a-u*u*s)*i,h=(c*c*o-u*u*l)*i,d=c*(u+c)*3,v=u*(u+c)*3;return[[r[0]+(d&&f/d),r[1]+(d&&h/d)],[r[0]-(v&&f/v),r[1]-(v&&h/v)]]}});var fXe=ye((cxr,cXe)=>{\"use strict\";var v$=uXe(),G7=Mr().ensureArray;function FA(e,t,r){var n=-.5*r[0]+1.5*t[0],i=-.5*r[1]+1.5*t[1];return[(2*n+e[0])/3,(2*i+e[1])/3]}cXe.exports=function(t,r,n,i,a,o){var s,l,u,c,f,h,d,v,x,b,p=n[0].length,E=n.length,k=a?3*p-2:p,A=o?3*E-2:E;for(t=G7(t,A),r=G7(r,A),u=0;u<A;u++)t[u]=G7(t[u],k),r[u]=G7(r[u],k);for(l=0,c=0;l<E;l++,c+=o?3:1)for(f=t[c],h=r[c],d=n[l],v=i[l],s=0,u=0;s<p;s++,u+=a?3:1)f[u]=d[s],h[u]=v[s];if(a)for(l=0,c=0;l<E;l++,c+=o?3:1){for(s=1,u=3;s<p-1;s++,u+=3)x=v$([n[l][s-1],i[l][s-1]],[n[l][s],i[l][s]],[n[l][s+1],i[l][s+1]],a),t[c][u-1]=x[0][0],r[c][u-1]=x[0][1],t[c][u+1]=x[1][0],r[c][u+1]=x[1][1];b=FA([t[c][0],r[c][0]],[t[c][2],r[c][2]],[t[c][3],r[c][3]]),t[c][1]=b[0],r[c][1]=b[1],b=FA([t[c][k-1],r[c][k-1]],[t[c][k-3],r[c][k-3]],[t[c][k-4],r[c][k-4]]),t[c][k-2]=b[0],r[c][k-2]=b[1]}if(o)for(u=0;u<k;u++){for(c=3;c<A-3;c+=3)x=v$([t[c-3][u],r[c-3][u]],[t[c][u],r[c][u]],[t[c+3][u],r[c+3][u]],o),t[c-1][u]=x[0][0],r[c-1][u]=x[0][1],t[c+1][u]=x[1][0],r[c+1][u]=x[1][1];b=FA([t[0][u],r[0][u]],[t[2][u],r[2][u]],[t[3][u],r[3][u]]),t[1][u]=b[0],r[1][u]=b[1],b=FA([t[A-1][u],r[A-1][u]],[t[A-3][u],r[A-3][u]],[t[A-4][u],r[A-4][u]]),t[A-2][u]=b[0],r[A-2][u]=b[1]}if(a&&o)for(c=1;c<A;c+=(c+1)%3===0?2:1){for(u=3;u<k-3;u+=3)x=v$([t[c][u-3],r[c][u-3]],[t[c][u],r[c][u]],[t[c][u+3],r[c][u+3]],a),t[c][u-1]=.5*(t[c][u-1]+x[0][0]),r[c][u-1]=.5*(r[c][u-1]+x[0][1]),t[c][u+1]=.5*(t[c][u+1]+x[1][0]),r[c][u+1]=.5*(r[c][u+1]+x[1][1]);b=FA([t[c][0],r[c][0]],[t[c][2],r[c][2]],[t[c][3],r[c][3]]),t[c][1]=.5*(t[c][1]+b[0]),r[c][1]=.5*(r[c][1]+b[1]),b=FA([t[c][k-1],r[c][k-1]],[t[c][k-3],r[c][k-3]],[t[c][k-4],r[c][k-4]]),t[c][k-2]=.5*(t[c][k-2]+b[0]),r[c][k-2]=.5*(r[c][k-2]+b[1])}return[t,r]}});var dXe=ye((fxr,hXe)=>{\"use strict\";hXe.exports=function(e,t,r,n,i){var a=t-2,o=r-2;return n&&i?function(s,l,u){s||(s=[]);var c,f,h,d,v,x,b=Math.max(0,Math.min(Math.floor(l),a)),p=Math.max(0,Math.min(Math.floor(u),o)),E=Math.max(0,Math.min(1,l-b)),k=Math.max(0,Math.min(1,u-p));b*=3,p*=3;var A=E*E,L=A*E,_=1-E,C=_*_,M=C*_,g=k*k,P=g*k,T=1-k,F=T*T,q=F*T;for(x=0;x<e.length;x++)v=e[x],c=M*v[p][b]+3*(C*E*v[p][b+1]+_*A*v[p][b+2])+L*v[p][b+3],f=M*v[p+1][b]+3*(C*E*v[p+1][b+1]+_*A*v[p+1][b+2])+L*v[p+1][b+3],h=M*v[p+2][b]+3*(C*E*v[p+2][b+1]+_*A*v[p+2][b+2])+L*v[p+2][b+3],d=M*v[p+3][b]+3*(C*E*v[p+3][b+1]+_*A*v[p+3][b+2])+L*v[p+3][b+3],s[x]=q*c+3*(F*k*f+T*g*h)+P*d;return s}:n?function(s,l,u){s||(s=[]);var c=Math.max(0,Math.min(Math.floor(l),a)),f=Math.max(0,Math.min(Math.floor(u),o)),h=Math.max(0,Math.min(1,l-c)),d=Math.max(0,Math.min(1,u-f)),v,x,b,p,E,k;c*=3;var A=h*h,L=A*h,_=1-h,C=_*_,M=C*_,g=1-d;for(E=0;E<e.length;E++)k=e[E],v=g*k[f][c]+d*k[f+1][c],x=g*k[f][c+1]+d*k[f+1][c+1],b=g*k[f][c+2]+d*k[f+1][c+1],p=g*k[f][c+3]+d*k[f+1][c+1],s[E]=M*v+3*(C*h*x+_*A*b)+L*p;return s}:i?function(s,l,u){s||(s=[]);var c=Math.max(0,Math.min(Math.floor(l),a)),f=Math.max(0,Math.min(Math.floor(u),o)),h=Math.max(0,Math.min(1,l-c)),d=Math.max(0,Math.min(1,u-f)),v,x,b,p,E,k;f*=3;var A=d*d,L=A*d,_=1-d,C=_*_,M=C*_,g=1-h;for(E=0;E<e.length;E++)k=e[E],v=g*k[f][c]+h*k[f][c+1],x=g*k[f+1][c]+h*k[f+1][c+1],b=g*k[f+2][c]+h*k[f+2][c+1],p=g*k[f+3][c]+h*k[f+3][c+1],s[E]=M*v+3*(C*d*x+_*A*b)+L*p;return s}:function(s,l,u){s||(s=[]);var c=Math.max(0,Math.min(Math.floor(l),a)),f=Math.max(0,Math.min(Math.floor(u),o)),h=Math.max(0,Math.min(1,l-c)),d=Math.max(0,Math.min(1,u-f)),v,x,b,p,E=1-d,k=1-h;for(b=0;b<e.length;b++)p=e[b],v=k*p[f][c]+h*p[f][c+1],x=k*p[f+1][c]+h*p[f+1][c+1],s[b]=E*v+d*x;return s}}});var pXe=ye((hxr,vXe)=>{\"use strict\";vXe.exports=function(e,t,r){return t&&r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;i*=3,a*=3;var v=o*o,x=1-o,b=x*x,p=x*o*2,E=-3*b,k=3*(b-p),A=3*(p-v),L=3*v,_=s*s,C=_*s,M=1-s,g=M*M,P=g*M;for(d=0;d<e.length;d++)h=e[d],l=E*h[a][i]+k*h[a][i+1]+A*h[a][i+2]+L*h[a][i+3],u=E*h[a+1][i]+k*h[a+1][i+1]+A*h[a+1][i+2]+L*h[a+1][i+3],c=E*h[a+2][i]+k*h[a+2][i+1]+A*h[a+2][i+2]+L*h[a+2][i+3],f=E*h[a+3][i]+k*h[a+3][i+1]+A*h[a+3][i+2]+L*h[a+3][i+3],n[d]=P*l+3*(g*s*u+M*_*c)+C*f;return n}:t?function(n,i,a,o,s){n||(n=[]);var l,u,c,f;i*=3;var h=o*o,d=1-o,v=d*d,x=d*o*2,b=-3*v,p=3*(v-x),E=3*(x-h),k=3*h,A=1-s;for(c=0;c<e.length;c++)f=e[c],l=b*f[a][i]+p*f[a][i+1]+E*f[a][i+2]+k*f[a][i+3],u=b*f[a+1][i]+p*f[a+1][i+1]+E*f[a+1][i+2]+k*f[a+1][i+3],n[c]=A*l+s*u;return n}:r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;a*=3;var v=s*s,x=v*s,b=1-s,p=b*b,E=p*b;for(h=0;h<e.length;h++)d=e[h],l=d[a][i+1]-d[a][i],u=d[a+1][i+1]-d[a+1][i],c=d[a+2][i+1]-d[a+2][i],f=d[a+3][i+1]-d[a+3][i],n[h]=E*l+3*(p*s*u+b*v*c)+x*f;return n}:function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h=1-s;for(c=0;c<e.length;c++)f=e[c],l=f[a][i+1]-f[a][i],u=f[a+1][i+1]-f[a+1][i],n[c]=h*l+s*u;return n}}});var mXe=ye((dxr,gXe)=>{\"use strict\";gXe.exports=function(e,t,r){return t&&r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;i*=3,a*=3;var v=o*o,x=v*o,b=1-o,p=b*b,E=p*b,k=s*s,A=1-s,L=A*A,_=A*s*2,C=-3*L,M=3*(L-_),g=3*(_-k),P=3*k;for(d=0;d<e.length;d++)h=e[d],l=C*h[a][i]+M*h[a+1][i]+g*h[a+2][i]+P*h[a+3][i],u=C*h[a][i+1]+M*h[a+1][i+1]+g*h[a+2][i+1]+P*h[a+3][i+1],c=C*h[a][i+2]+M*h[a+1][i+2]+g*h[a+2][i+2]+P*h[a+3][i+2],f=C*h[a][i+3]+M*h[a+1][i+3]+g*h[a+2][i+3]+P*h[a+3][i+3],n[d]=E*l+3*(p*o*u+b*v*c)+x*f;return n}:t?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;i*=3;var v=s*s,x=v*s,b=1-s,p=b*b,E=p*b;for(h=0;h<e.length;h++)d=e[h],l=d[a+1][i]-d[a][i],u=d[a+1][i+1]-d[a][i+1],c=d[a+1][i+2]-d[a][i+2],f=d[a+1][i+3]-d[a][i+3],n[h]=E*l+3*(p*s*u+b*v*c)+x*f;return n}:r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f;a*=3;var h=1-o,d=s*s,v=1-s,x=v*v,b=v*s*2,p=-3*x,E=3*(x-b),k=3*(b-d),A=3*d;for(c=0;c<e.length;c++)f=e[c],l=p*f[a][i]+E*f[a+1][i]+k*f[a+2][i]+A*f[a+3][i],u=p*f[a][i+1]+E*f[a+1][i+1]+k*f[a+2][i+1]+A*f[a+3][i+1],n[c]=h*l+o*u;return n}:function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h=1-o;for(c=0;c<e.length;c++)f=e[c],l=f[a+1][i]-f[a][i],u=f[a+1][i+1]-f[a][i+1],n[c]=h*l+o*u;return n}}});var bXe=ye((vxr,xXe)=>{\"use strict\";var yXe=oXe(),_Xe=k6().findBin,IXt=fXe(),RXt=dXe(),DXt=pXe(),zXt=mXe();xXe.exports=function(t){var r=t._a,n=t._b,i=r.length,a=n.length,o=t.aaxis,s=t.baxis,l=r[0],u=r[i-1],c=n[0],f=n[a-1],h=r[r.length-1]-r[0],d=n[n.length-1]-n[0],v=h*yXe.RELATIVE_CULL_TOLERANCE,x=d*yXe.RELATIVE_CULL_TOLERANCE;l-=v,u+=v,c-=x,f+=x,t.isVisible=function(b,p){return b>l&&b<u&&p>c&&p<f},t.isOccluded=function(b,p){return b<l||b>u||p<c||p>f},t.setScale=function(){var b=t._x,p=t._y,E=IXt(t._xctrl,t._yctrl,b,p,o.smoothing,s.smoothing);t._xctrl=E[0],t._yctrl=E[1],t.evalxy=RXt([t._xctrl,t._yctrl],i,a,o.smoothing,s.smoothing),t.dxydi=DXt([t._xctrl,t._yctrl],o.smoothing,s.smoothing),t.dxydj=zXt([t._xctrl,t._yctrl],o.smoothing,s.smoothing)},t.i2a=function(b){var p=Math.max(0,Math.floor(b[0]),i-2),E=b[0]-p;return(1-E)*r[p]+E*r[p+1]},t.j2b=function(b){var p=Math.max(0,Math.floor(b[1]),i-2),E=b[1]-p;return(1-E)*n[p]+E*n[p+1]},t.ij2ab=function(b){return[t.i2a(b[0]),t.j2b(b[1])]},t.a2i=function(b){var p=Math.max(0,Math.min(_Xe(b,r),i-2)),E=r[p],k=r[p+1];return Math.max(0,Math.min(i-1,p+(b-E)/(k-E)))},t.b2j=function(b){var p=Math.max(0,Math.min(_Xe(b,n),a-2)),E=n[p],k=n[p+1];return Math.max(0,Math.min(a-1,p+(b-E)/(k-E)))},t.ab2ij=function(b){return[t.a2i(b[0]),t.b2j(b[1])]},t.i2c=function(b,p){return t.evalxy([],b,p)},t.ab2xy=function(b,p,E){if(!E&&(b<r[0]||b>r[i-1]|p<n[0]||p>n[a-1]))return[!1,!1];var k=t.a2i(b),A=t.b2j(p),L=t.evalxy([],k,A);if(E){var _=0,C=0,M=[],g,P,T,F;b<r[0]?(g=0,P=0,_=(b-r[0])/(r[1]-r[0])):b>r[i-1]?(g=i-2,P=1,_=(b-r[i-1])/(r[i-1]-r[i-2])):(g=Math.max(0,Math.min(i-2,Math.floor(k))),P=k-g),p<n[0]?(T=0,F=0,C=(p-n[0])/(n[1]-n[0])):p>n[a-1]?(T=a-2,F=1,C=(p-n[a-1])/(n[a-1]-n[a-2])):(T=Math.max(0,Math.min(a-2,Math.floor(A))),F=A-T),_&&(t.dxydi(M,g,T,P,F),L[0]+=M[0]*_,L[1]+=M[1]*_),C&&(t.dxydj(M,g,T,P,F),L[0]+=M[0]*C,L[1]+=M[1]*C)}return L},t.c2p=function(b,p,E){return[p.c2p(b[0]),E.c2p(b[1])]},t.p2x=function(b,p,E){return[p.p2c(b[0]),E.p2c(b[1])]},t.dadi=function(b){var p=Math.max(0,Math.min(r.length-2,b));return r[p+1]-r[p]},t.dbdj=function(b){var p=Math.max(0,Math.min(n.length-2,b));return n[p+1]-n[p]},t.dxyda=function(b,p,E,k){var A=t.dxydi(null,b,p,E,k),L=t.dadi(b,E);return[A[0]/L,A[1]/L]},t.dxydb=function(b,p,E,k){var A=t.dxydj(null,b,p,E,k),L=t.dbdj(p,k);return[A[0]/L,A[1]/L]},t.dxyda_rough=function(b,p,E){var k=h*(E||.1),A=t.ab2xy(b+k,p,!0),L=t.ab2xy(b-k,p,!0);return[(A[0]-L[0])*.5/k,(A[1]-L[1])*.5/k]},t.dxydb_rough=function(b,p,E){var k=d*(E||.1),A=t.ab2xy(b,p+k,!0),L=t.ab2xy(b,p-k,!0);return[(A[0]-L[0])*.5/k,(A[1]-L[1])*.5/k]},t.dpdx=function(b){return b._m},t.dpdy=function(b){return b._m}}});var CXe=ye((pxr,kXe)=>{\"use strict\";var j7=Qa(),wXe=Mr().isArray1D,FXt=GZe(),TXe=XZe(),AXe=KZe(),SXe=eXe(),qXt=rXe(),MXe=QI(),EXe=nXe(),OXt=JI(),BXt=bXe();kXe.exports=function(t,r){var n=j7.getFromId(t,r.xaxis),i=j7.getFromId(t,r.yaxis),a=r.aaxis,o=r.baxis,s=r.x,l=r.y,u=[];s&&wXe(s)&&u.push(\"x\"),l&&wXe(l)&&u.push(\"y\"),u.length&&OXt(r,a,o,\"a\",\"b\",u);var c=r._a=r._a||r.a,f=r._b=r._b||r.b;s=r._x||r.x,l=r._y||r.y;var h={};if(r._cheater){var d=a.cheatertype===\"index\"?c.length:c,v=o.cheatertype===\"index\"?f.length:f;s=FXt(d,v,r.cheaterslope)}r._x=s=MXe(s),r._y=l=MXe(l),EXe(s,c,f),EXe(l,c,f),BXt(r),r.setScale();var x=TXe(s),b=TXe(l),p=.5*(x[1]-x[0]),E=.5*(x[1]+x[0]),k=.5*(b[1]-b[0]),A=.5*(b[1]+b[0]),L=1.3;return x=[E-p*L,E+p*L],b=[A-k*L,A+k*L],r._extremes[n._id]=j7.findExtremes(n,x,{padded:!0}),r._extremes[i._id]=j7.findExtremes(i,b,{padded:!0}),AXe(r,\"a\",\"b\"),AXe(r,\"b\",\"a\"),SXe(r,a),SXe(r,o),h.clipsegments=qXt(r._xctrl,r._yctrl,a,o),h.x=s,h.y=l,h.a=c,h.b=f,[h]}});var PXe=ye((gxr,LXe)=>{\"use strict\";LXe.exports={attributes:O7(),supplyDefaults:LZe(),plot:VZe(),calc:CXe(),animatable:!0,isContainer:!0,moduleType:\"trace\",name:\"carpet\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"carpet\",\"carpetAxis\",\"notLegendIsolatable\",\"noMultiCategory\",\"noHover\",\"noSortingByValue\"],meta:{}}});var RXe=ye((mxr,IXe)=>{\"use strict\";IXe.exports=PXe()});var p$=ye((yxr,zXe)=>{\"use strict\";var NXt=Eg(),u0=Uc(),UXt=vl(),VXt=Wo().hovertemplateAttrs,HXt=Wo().texttemplateAttrs,DXe=Jl(),Cx=no().extendFlat,sg=u0.marker,qA=u0.line,GXt=sg.line;zXe.exports={carpet:{valType:\"string\",editType:\"calc\"},a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},mode:Cx({},u0.mode,{dflt:\"markers\"}),text:Cx({},u0.text,{}),texttemplate:HXt({editType:\"plot\"},{keys:[\"a\",\"b\",\"text\"]}),hovertext:Cx({},u0.hovertext,{}),line:{color:qA.color,width:qA.width,dash:qA.dash,backoff:qA.backoff,shape:Cx({},qA.shape,{values:[\"linear\",\"spline\"]}),smoothing:qA.smoothing,editType:\"calc\"},connectgaps:u0.connectgaps,fill:Cx({},u0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:NXt(),marker:Cx({symbol:sg.symbol,opacity:sg.opacity,maxdisplayed:sg.maxdisplayed,angle:sg.angle,angleref:sg.angleref,standoff:sg.standoff,size:sg.size,sizeref:sg.sizeref,sizemin:sg.sizemin,sizemode:sg.sizemode,line:Cx({width:GXt.width,editType:\"calc\"},DXe(\"marker.line\")),gradient:sg.gradient,editType:\"calc\"},DXe(\"marker\")),textfont:u0.textfont,textposition:u0.textposition,selected:u0.selected,unselected:u0.unselected,hoverinfo:Cx({},UXt.hoverinfo,{flags:[\"a\",\"b\",\"text\",\"name\"]}),hoveron:u0.hoveron,hovertemplate:VXt(),zorder:u0.zorder}});var BXe=ye((_xr,OXe)=>{\"use strict\";var FXe=Mr(),jXt=Sm(),OA=lu(),WXt=$p(),ZXt=R0(),qXe=J3(),XXt=D0(),YXt=Ig(),KXt=p$();OXe.exports=function(t,r,n,i){function a(h,d){return FXe.coerce(t,r,KXt,h,d)}a(\"carpet\"),r.xaxis=\"x\",r.yaxis=\"y\";var o=a(\"a\"),s=a(\"b\"),l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a(\"text\"),a(\"texttemplate\"),a(\"hovertext\");var u=l<jXt.PTS_LINESONLY?\"lines+markers\":\"lines\";a(\"mode\",u),OA.hasMarkers(r)&&WXt(t,r,n,i,a,{gradient:!0}),OA.hasLines(r)&&(ZXt(t,r,n,i,a,{backoff:!0}),qXe(t,r,a),a(\"connectgaps\")),OA.hasText(r)&&XXt(t,r,i,a);var c=[];(OA.hasMarkers(r)||OA.hasText(r))&&(a(\"marker.maxdisplayed\"),c.push(\"points\")),a(\"fill\"),r.fill!==\"none\"&&(YXt(t,r,n,a),OA.hasLines(r)||qXe(t,r,a)),(r.fill===\"tonext\"||r.fill===\"toself\")&&c.push(\"fills\");var f=a(\"hoveron\",c.join(\"+\")||\"points\");f!==\"fills\"&&a(\"hovertemplate\"),a(\"zorder\"),FXe.coerceSelectionMarkerOpacity(r,a)}});var UXe=ye((xxr,NXe)=>{\"use strict\";NXe.exports=function(t,r){var n={},i=r._carpet,a=i.ab2ij([t.a,t.b]),o=Math.floor(a[0]),s=a[0]-o,l=Math.floor(a[1]),u=a[1]-l,c=i.evalxy([],o,l,s,u);return n.yLabel=c[1].toFixed(3),n}});var W7=ye((bxr,VXe)=>{\"use strict\";VXe.exports=function(e,t){for(var r=e._fullData.length,n,i=0;i<r;i++){var a=e._fullData[i];if(a.index!==t.index&&a.type===\"carpet\"&&(n||(n=a),a.carpet===t.carpet))return a}return n}});var jXe=ye((wxr,GXe)=>{\"use strict\";var HXe=uo(),JXt=z0(),$Xt=km(),QXt=F0(),eYt=q0().calcMarkerSize,tYt=W7();GXe.exports=function(t,r){var n=r._carpetTrace=tYt(t,r);if(!(!n||!n.visible||n.visible===\"legendonly\")){var i;r.xaxis=n.xaxis,r.yaxis=n.yaxis;var a=r._length,o=new Array(a),s,l,u=!1;for(i=0;i<a;i++)if(s=r.a[i],l=r.b[i],HXe(s)&&HXe(l)){var c=n.ab2xy(+s,+l,!0),f=n.isVisible(+s,+l);f||(u=!0),o[i]={x:c[0],y:c[1],a:s,b:l,vis:f}}else o[i]={x:!1,y:!1};return r._needsCull=u,o[0].carpet=n,o[0].trace=r,eYt(r,a),JXt(t,r),$Xt(o,r),QXt(o,r),o}}});var XXe=ye((Txr,ZXe)=>{\"use strict\";var rYt=iT(),WXe=Qa(),iYt=ao();ZXe.exports=function(t,r,n,i){var a,o,s,l=n[0][0].carpet,u=WXe.getFromId(t,l.xaxis||\"x\"),c=WXe.getFromId(t,l.yaxis||\"y\"),f={xaxis:u,yaxis:c,plot:r.plot};for(a=0;a<n.length;a++)o=n[a][0].trace,o._xA=u,o._yA=c;for(rYt(t,f,n,i),a=0;a<n.length;a++)o=n[a][0].trace,s=i.selectAll(\"g.trace\"+o.uid+\" .js-line\"),iYt.setClipUrl(s,n[a][0].carpet._clipPathId,t)}});var KXe=ye((Axr,YXe)=>{\"use strict\";var nYt=sT(),aYt=Mr().fillText;YXe.exports=function(t,r,n,i){var a=nYt(t,r,n,i);if(!a||a[0].index===!1)return;var o=a[0];if(o.index===void 0){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,c=l-u;return o.x0=Math.max(Math.min(o.x0,c),u),o.x1=Math.max(Math.min(o.x1,c),u),a}var f=o.cd[o.index];o.a=f.a,o.b=f.b,o.xLabelVal=void 0,o.yLabelVal=void 0;var h=o.trace,d=h._carpet,v=h._module.formatLabels(f,h);o.yLabel=v.yLabel,delete o.text;var x=[];function b(k,A){var L;k.labelprefix&&k.labelprefix.length>0?L=k.labelprefix.replace(/ = $/,\"\"):L=k._hovertitle,x.push(L+\": \"+A.toFixed(3)+k.labelsuffix)}if(!h.hovertemplate){var p=f.hi||h.hoverinfo,E=p.split(\"+\");E.indexOf(\"all\")!==-1&&(E=[\"a\",\"b\",\"text\"]),E.indexOf(\"a\")!==-1&&b(d.aaxis,f.a),E.indexOf(\"b\")!==-1&&b(d.baxis,f.b),x.push(\"y: \"+o.yLabel),E.indexOf(\"text\")!==-1&&aYt(f,h,x),o.extraText=x.join(\"<br>\")}return a}});var $Xe=ye((Sxr,JXe)=>{\"use strict\";JXe.exports=function(t,r,n,i,a){var o=i[a];return t.a=o.a,t.b=o.b,t.y=o.y,t}});var eYe=ye((Mxr,QXe)=>{\"use strict\";QXe.exports={attributes:p$(),supplyDefaults:BXe(),colorbar:Kd(),formatLabels:UXe(),calc:jXe(),plot:XXe(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:KXe(),selectPoints:lT(),eventData:$Xe(),moduleType:\"trace\",name:\"scattercarpet\",basePlotModule:Jf(),categories:[\"svg\",\"carpet\",\"symbols\",\"showLegend\",\"carpetDependent\",\"zoomScale\"],meta:{}}});var rYe=ye((Exr,tYe)=>{\"use strict\";tYe.exports=eYe()});var g$=ye((kxr,iYe)=>{\"use strict\";var lg=ET(),g1=T4(),oYt=Jl(),sYt=no().extendFlat,ty=g1.contours;iYe.exports=sYt({carpet:{valType:\"string\",editType:\"calc\"},z:lg.z,a:lg.x,a0:lg.x0,da:lg.dx,b:lg.y,b0:lg.y0,db:lg.dy,text:lg.text,hovertext:lg.hovertext,transpose:lg.transpose,atype:lg.xtype,btype:lg.ytype,fillcolor:g1.fillcolor,autocontour:g1.autocontour,ncontours:g1.ncontours,contours:{type:ty.type,start:ty.start,end:ty.end,size:ty.size,coloring:{valType:\"enumerated\",values:[\"fill\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:ty.showlines,showlabels:ty.showlabels,labelfont:ty.labelfont,labelformat:ty.labelformat,operation:ty.operation,value:ty.value,editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:g1.line.color,width:g1.line.width,dash:g1.line.dash,smoothing:g1.line.smoothing,editType:\"plot\"},zorder:g1.zorder},oYt(\"\",{cLetter:\"z\",autoColorDflt:!1}))});var m$=ye((Cxr,oYe)=>{\"use strict\";var nYe=Mr(),lYt=XI(),aYe=g$(),uYt=yH(),cYt=y8(),fYt=_8();oYe.exports=function(t,r,n,i){function a(u,c){return nYe.coerce(t,r,aYe,u,c)}function o(u){return nYe.coerce2(t,r,aYe,u)}if(a(\"carpet\"),t.a&&t.b){var s=lYt(t,r,a,i,\"a\",\"b\");if(!s){r.visible=!1;return}a(\"text\");var l=a(\"contours.type\")===\"constraint\";l?uYt(t,r,a,i,n,{hasHover:!1}):(cYt(t,r,a,o),fYt(t,r,a,i,{hasHover:!1}))}else r._defaultColor=n,r._length=null;a(\"zorder\")}});var cYe=ye((Lxr,uYe)=>{\"use strict\";var hYt=zv(),sYe=Mr(),dYt=JI(),vYt=QI(),pYt=e8(),gYt=t8(),lYe=VV(),mYt=m$(),yYt=W7(),_Yt=oH();uYe.exports=function(t,r){var n=r._carpetTrace=yYt(t,r);if(!(!n||!n.visible||n.visible===\"legendonly\")){if(!r.a||!r.b){var i=t.data[n.index],a=t.data[r.index];a.a||(a.a=i.a),a.b||(a.b=i.b),mYt(a,r,r._defaultColor,t._fullLayout)}var o=xYt(t,r);return _Yt(r,r._z),o}};function xYt(e,t){var r=t._carpetTrace,n=r.aaxis,i=r.baxis,a,o,s,l,u,c,f;n._minDtick=0,i._minDtick=0,sYe.isArray1D(t.z)&&dYt(t,n,i,\"a\",\"b\",[\"z\"]),a=t._a=t._a||t.a,l=t._b=t._b||t.b,a=a?n.makeCalcdata(t,\"_a\"):[],l=l?i.makeCalcdata(t,\"_b\"):[],o=t.a0||0,s=t.da||1,u=t.b0||0,c=t.db||1,f=t._z=vYt(t._z||t.z,t.transpose),t._emptypoints=gYt(f),pYt(f,t._emptypoints);var h=sYe.maxRowLength(f),d=t.xtype===\"scaled\"?\"\":a,v=lYe(t,d,o,s,h,n),x=t.ytype===\"scaled\"?\"\":l,b=lYe(t,x,u,c,f.length,i),p={a:v,b,z:f};return t.contours.type===\"levels\"&&t.contours.coloring!==\"none\"&&hYt(e,t,{vals:f,containerStr:\"\",cLetter:\"z\"}),[p]}});var hYe=ye((Pxr,fYe)=>{\"use strict\";var bYt=Mr().isArrayOrTypedArray;fYe.exports=function(e,t,r,n){var i,a,o,s,l,u,c,f,h,d,v,x,b,p=bYt(r)?\"a\":\"b\",E=p===\"a\"?e.aaxis:e.baxis,k=E.smoothing,A=p===\"a\"?e.a2i:e.b2j,L=p===\"a\"?r:n,_=p===\"a\"?n:r,C=p===\"a\"?t.a.length:t.b.length,M=p===\"a\"?t.b.length:t.a.length,g=Math.floor(p===\"a\"?e.b2j(_):e.a2i(_)),P=p===\"a\"?function(_e){return e.evalxy([],_e,g)}:function(_e){return e.evalxy([],g,_e)};k&&(o=Math.max(0,Math.min(M-2,g)),s=g-o,a=p===\"a\"?function(_e,Me){return e.dxydi([],_e,o,Me,s)}:function(_e,Me){return e.dxydj([],o,_e,s,Me)});var T=A(L[0]),F=A(L[1]),q=T<F?1:-1,V=(F-T)*1e-8,H=q>0?Math.floor:Math.ceil,X=q>0?Math.ceil:Math.floor,G=q>0?Math.min:Math.max,N=q>0?Math.max:Math.min,W=H(T+V),re=X(F-V);c=P(T);var ae=[[c]];for(i=W;i*q<re*q;i+=q)l=[],v=N(T,i),x=G(F,i+q),b=x-v,u=Math.max(0,Math.min(C-2,Math.floor(.5*(v+x)))),f=P(x),k&&(h=a(u,v-u),d=a(u,x-u),l.push([c[0]+h[0]/3*b,c[1]+h[1]/3*b]),l.push([f[0]-d[0]/3*b,f[1]-d[1]/3*b])),l.push(f),ae.push(l),c=f;return ae}});var _Ye=ye((Ixr,yYe)=>{\"use strict\";var X7=xa(),Y7=f$(),mYe=h$(),eC=ao(),m1=Mr(),wYt=lH(),TYt=uH(),hw=w8(),Z7=S4(),AYt=dH(),SYt=hH(),MYt=vH(),EYt=W7(),dYe=hYe();yYe.exports=function(t,r,n,i){var a=r.xaxis,o=r.yaxis;m1.makeTraceGroups(i,n,\"contour\").each(function(s){var l=X7.select(this),u=s[0],c=u.trace,f=c._carpetTrace=EYt(t,c),h=t.calcdata[f.index][0];if(!f.visible||f.visible===\"legendonly\")return;var d=u.a,v=u.b,x=c.contours,b=SYt(x,r,u),p=x.type===\"constraint\",E=x._operation,k=p?E===\"=\"?\"lines\":\"fill\":x.coloring;function A(H){var X=f.ab2xy(H[0],H[1],!0);return[a.c2p(X[0]),o.c2p(X[1])]}var L=[[d[0],v[v.length-1]],[d[d.length-1],v[v.length-1]],[d[d.length-1],v[0]],[d[0],v[0]]];wYt(b);var _=(d[d.length-1]-d[0])*1e-8,C=(v[v.length-1]-v[0])*1e-8;TYt(b,_,C);var M=b;x.type===\"constraint\"&&(M=AYt(b,E)),kYt(b,A);var g,P,T,F,q=[];for(F=h.clipsegments.length-1;F>=0;F--)g=h.clipsegments[F],P=Y7([],g.x,a.c2p),T=Y7([],g.y,o.c2p),P.reverse(),T.reverse(),q.push(mYe(P,T,g.bicubic));var V=\"M\"+q.join(\"L\")+\"Z\";PYt(l,h.clipsegments,a,o,p,k),IYt(c,l,a,o,M,L,A,f,h,k,V),CYt(l,b,t,u,x,r,f),eC.setClipUrl(l,f._clipPathId,t)})};function kYt(e,t){var r,n,i,a,o,s,l,u,c;for(r=0;r<e.length;r++){for(a=e[r],o=a.pedgepaths=[],s=a.ppaths=[],n=0;n<a.edgepaths.length;n++){for(c=a.edgepaths[n],l=[],i=0;i<c.length;i++)l[i]=t(c[i]);o.push(l)}for(n=0;n<a.paths.length;n++){for(c=a.paths[n],u=[],i=0;i<c.length;i++)u[i]=t(c[i]);s.push(u)}}}function CYt(e,t,r,n,i,a,o){var s=r._context.staticPlot,l=m1.ensureSingle(e,\"g\",\"contourlines\"),u=i.showlines!==!1,c=i.showlabels,f=u&&c,h=hw.createLines(l,u||c,t,s),d=hw.createLineClip(l,f,r,n.trace.uid),v=e.selectAll(\"g.contourlabels\").data(c?[0]:[]);if(v.exit().remove(),v.enter().append(\"g\").classed(\"contourlabels\",!0),c){var x=a.xaxis,b=a.yaxis,p=x._length,E=b._length,k=[[[0,0],[p,0],[p,E],[0,E]]],A=[];m1.clearLocationCache();var L=hw.labelFormatter(r,n),_=eC.tester.append(\"text\").attr(\"data-notex\",1).call(eC.font,i.labelfont),C={left:0,right:p,center:p/2,top:0,bottom:E,middle:E/2},M=Math.sqrt(p*p+E*E),g=Z7.LABELDISTANCE*M/Math.max(1,t.length/Z7.LABELINCREASE);h.each(function(P){var T=hw.calcTextOpts(P.level,L,_,r);X7.select(this).selectAll(\"path\").each(function(F){var q=this,V=m1.getVisibleSegment(q,C,T.height/2);if(V&&(LYt(q,F,P,V,o,T.height),!(V.len<(T.width+T.height)*Z7.LABELMIN)))for(var H=Math.min(Math.ceil(V.len/g),Z7.LABELMAX),X=0;X<H;X++){var G=hw.findBestTextLocation(q,V,T,A,C);if(!G)break;hw.addLabelData(G,T,A,k)}})}),_.remove(),hw.drawLabels(v,A,r,d,f?k:null)}c&&!u&&h.remove()}function LYt(e,t,r,n,i,a){for(var o,s=0;s<r.pedgepaths.length;s++)t===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(!o)return;var l=i.a[0],u=i.a[i.a.length-1],c=i.b[0],f=i.b[i.b.length-1];function h(p,E){var k=0,A,L=.1;return(Math.abs(p[0]-l)<L||Math.abs(p[0]-u)<L)&&(A=pYe(i.dxydb_rough(p[0],p[1],L)),k=Math.max(k,a*gYe(E,A)/2)),(Math.abs(p[1]-c)<L||Math.abs(p[1]-f)<L)&&(A=pYe(i.dxyda_rough(p[0],p[1],L)),k=Math.max(k,a*gYe(E,A)/2)),k}var d=vYe(e,0,1),v=vYe(e,n.total,n.total-1),x=h(o[0],d),b=n.total-h(o[o.length-1],v);n.min<x&&(n.min=x),n.max>b&&(n.max=b),n.len=n.max-n.min}function vYe(e,t,r){var n=e.getPointAtLength(t),i=e.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function pYe(e){var t=Math.sqrt(e[0]*e[0]+e[1]*e[1]);return[e[0]/t,e[1]/t]}function gYe(e,t){var r=Math.abs(e[0]*t[0]+e[1]*t[1]),n=Math.sqrt(1-r*r);return n/r}function PYt(e,t,r,n,i,a){var o,s,l,u,c=m1.ensureSingle(e,\"g\",\"contourbg\"),f=c.selectAll(\"path\").data(a===\"fill\"&&!i?[0]:[]);f.enter().append(\"path\"),f.exit().remove();var h=[];for(u=0;u<t.length;u++)o=t[u],s=Y7([],o.x,r.c2p),l=Y7([],o.y,n.c2p),h.push(mYe(s,l,o.bicubic));f.attr(\"d\",\"M\"+h.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}function IYt(e,t,r,n,i,a,o,s,l,u,c){var f=u===\"fill\";f&&MYt(i,e.contours);var h=m1.ensureSingle(t,\"g\",\"contourfill\"),d=h.selectAll(\"path\").data(f?i:[]);d.enter().append(\"path\"),d.exit().remove(),d.each(function(v){var x=(v.prefixBoundary?c:\"\")+RYt(e,v,a,o,s,l,r,n);x?X7.select(this).attr(\"d\",x).style(\"stroke\",\"none\"):X7.select(this).remove()})}function RYt(e,t,r,n,i,a,o,s){var l,u=\"\",c=t.edgepaths.map(function(T,F){return F}),f=!0,h,d,v,x,b,p,E=Math.abs(r[0][0]-r[2][0])*1e-4,k=Math.abs(r[0][1]-r[2][1])*1e-4;function A(T){return Math.abs(T[1]-r[0][1])<k}function L(T){return Math.abs(T[1]-r[2][1])<k}function _(T){return Math.abs(T[0]-r[0][0])<E}function C(T){return Math.abs(T[0]-r[2][0])<E}function M(T,F){var q,V,H,X,G=\"\";for(A(T)&&!C(T)||L(T)&&!_(T)?(X=i.aaxis,H=dYe(i,a,[T[0],F[0]],.5*(T[1]+F[1]))):(X=i.baxis,H=dYe(i,a,.5*(T[0]+F[0]),[T[1],F[1]])),q=1;q<H.length;q++)for(G+=X.smoothing?\"C\":\"L\",V=0;V<H[q].length;V++){var N=H[q][V];G+=[o.c2p(N[0]),s.c2p(N[1])]+\" \"}return G}for(l=0,h=null;c.length;){var g=t.edgepaths[l][0];for(h&&(u+=M(h,g)),p=eC.smoothopen(t.edgepaths[l].map(n),t.smoothing),u+=f?p:p.replace(/^M/,\"L\"),c.splice(c.indexOf(l),1),h=t.edgepaths[l][t.edgepaths[l].length-1],x=-1,v=0;v<4;v++){if(!h){m1.log(\"Missing end?\",l,t);break}for(A(h)&&!C(h)?d=r[1]:_(h)?d=r[0]:L(h)?d=r[3]:C(h)&&(d=r[2]),b=0;b<t.edgepaths.length;b++){var P=t.edgepaths[b][0];Math.abs(h[0]-d[0])<E?Math.abs(h[0]-P[0])<E&&(P[1]-h[1])*(d[1]-P[1])>=0&&(d=P,x=b):Math.abs(h[1]-d[1])<k?Math.abs(h[1]-P[1])<k&&(P[0]-h[0])*(d[0]-P[0])>=0&&(d=P,x=b):m1.log(\"endpt to newendpt is not vert. or horz.\",h,d,P)}if(x>=0)break;u+=M(h,d),h=d}if(x===t.edgepaths.length){m1.log(\"unclosed perimeter path\");break}l=x,f=c.indexOf(l)===-1,f&&(l=c[0],u+=M(h,d)+\"Z\",h=null)}for(l=0;l<t.paths.length;l++)u+=eC.smoothclosed(t.paths[l].map(n),t.smoothing);return u}});var bYe=ye((Rxr,xYe)=>{\"use strict\";xYe.exports={attributes:g$(),supplyDefaults:m$(),colorbar:S8(),calc:cYe(),plot:_Ye(),style:A8(),moduleType:\"trace\",name:\"contourcarpet\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"carpet\",\"contour\",\"symbols\",\"showLegend\",\"hasLines\",\"carpetDependent\",\"noHover\",\"noSortingByValue\"],meta:{}}});var TYe=ye((Dxr,wYe)=>{\"use strict\";wYe.exports=bYe()});var J7=ye((zxr,kYe)=>{\"use strict\";var K7=Mr().extendFlat,tC=Uc(),AYe=Oc().axisHoverFormat,MYe=Ed().dash,DYt=i3(),EYe=HT(),zYt=EYe.INCREASING.COLOR,FYt=EYe.DECREASING.COLOR,y$=tC.line;function SYe(e){return{line:{color:K7({},y$.color,{dflt:e}),width:y$.width,dash:MYe,editType:\"style\"},editType:\"style\"}}kYe.exports={xperiod:tC.xperiod,xperiod0:tC.xperiod0,xperiodalignment:tC.xperiodalignment,xhoverformat:AYe(\"x\"),yhoverformat:AYe(\"y\"),x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},open:{valType:\"data_array\",editType:\"calc\"},high:{valType:\"data_array\",editType:\"calc\"},low:{valType:\"data_array\",editType:\"calc\"},close:{valType:\"data_array\",editType:\"calc\"},line:{width:K7({},y$.width,{}),dash:K7({},MYe,{}),editType:\"style\"},increasing:SYe(zYt),decreasing:SYe(FYt),text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},tickwidth:{valType:\"number\",min:0,max:.5,dflt:.3,editType:\"calc\"},hoverlabel:K7({},DYt.hoverlabel,{split:{valType:\"boolean\",dflt:!1,editType:\"style\"}}),zorder:tC.zorder}});var _$=ye((Fxr,CYe)=>{\"use strict\";var qYt=ba(),OYt=Mr();CYe.exports=function(t,r,n,i){var a=n(\"x\"),o=n(\"open\"),s=n(\"high\"),l=n(\"low\"),u=n(\"close\");n(\"hoverlabel.split\");var c=qYt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");if(c(t,r,[\"x\"],i),!!(o&&s&&l&&u)){var f=Math.min(o.length,s.length,l.length,u.length);return a&&(f=Math.min(f,OYt.minRowLength(a))),r._length=f,f}}});var IYe=ye((qxr,PYe)=>{\"use strict\";var BYt=Mr(),NYt=_$(),UYt=Pg(),VYt=J7();PYe.exports=function(t,r,n,i){function a(s,l){return BYt.coerce(t,r,VYt,s,l)}var o=NYt(t,r,a,i);if(!o){r.visible=!1;return}UYt(t,r,i,a,{x:!0}),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"line.width\"),a(\"line.dash\"),LYe(t,r,a,\"increasing\"),LYe(t,r,a,\"decreasing\"),a(\"text\"),a(\"hovertext\"),a(\"tickwidth\"),i._requestRangeslider[r.xaxis]=!0,a(\"zorder\")};function LYe(e,t,r,n){r(n+\".line.color\"),r(n+\".line.width\",t.line.width),r(n+\".line.dash\",t.line.dash)}});var x$=ye((Oxr,DYe)=>{\"use strict\";var BA=Mr(),$7=BA._,Q7=Qa(),HYt=Rg(),rC=es().BADNUM;function GYt(e,t){var r=Q7.getFromId(e,t.xaxis),n=Q7.getFromId(e,t.yaxis),i=WYt(e,r,t),a=t._minDiff;t._minDiff=null;var o=t._origX;t._origX=null;var s=t._xcalc;t._xcalc=null;var l=RYe(e,t,o,s,n,jYt);return t._extremes[r._id]=Q7.findExtremes(r,s,{vpad:a/2}),l.length?(BA.extendFlat(l[0].t,{wHover:a/2,tickLen:i}),l):[{t:{empty:!0}}]}function jYt(e,t,r,n){return{o:e,h:t,l:r,c:n}}function RYe(e,t,r,n,i,a){for(var o=i.makeCalcdata(t,\"open\"),s=i.makeCalcdata(t,\"high\"),l=i.makeCalcdata(t,\"low\"),u=i.makeCalcdata(t,\"close\"),c=BA.isArrayOrTypedArray(t.text),f=BA.isArrayOrTypedArray(t.hovertext),h=!0,d=null,v=!!t.xperiodalignment,x=[],b=0;b<n.length;b++){var p=n[b],E=o[b],k=s[b],A=l[b],L=u[b];if(p!==rC&&E!==rC&&k!==rC&&A!==rC&&L!==rC){L===E?d!==null&&L!==d&&(h=L>d):h=L>E,d=L;var _=a(E,k,A,L);_.pos=p,_.yc=(E+L)/2,_.i=b,_.dir=h?\"increasing\":\"decreasing\",_.x=_.pos,_.y=[A,k],v&&(_.orig_p=r[b]),c&&(_.tx=t.text[b]),f&&(_.htx=t.hovertext[b]),x.push(_)}else x.push({pos:p,empty:!0})}return t._extremes[i._id]=Q7.findExtremes(i,BA.concat(l,s),{padded:!0}),x.length&&(x[0].t={labels:{open:$7(e,\"open:\")+\" \",high:$7(e,\"high:\")+\" \",low:$7(e,\"low:\")+\" \",close:$7(e,\"close:\")+\" \"}}),x}function WYt(e,t,r){var n=r._minDiff;if(!n){var i=e._fullData,a=[];n=1/0;var o;for(o=0;o<i.length;o++){var s=i[o];if(s.type===\"ohlc\"&&s.visible===!0&&s.xaxis===t._id){a.push(s);var l=t.makeCalcdata(s,\"x\");s._origX=l;var u=HYt(r,t,\"x\",l).vals;s._xcalc=u;var c=BA.distinctVals(u).minDiff;c&&isFinite(c)&&(n=Math.min(n,c))}}for(n===1/0&&(n=1),o=0;o<a.length;o++)a[o]._minDiff=n}return n*r.tickwidth}DYe.exports={calc:GYt,calcCommon:RYe}});var qYe=ye((Bxr,FYe)=>{\"use strict\";var ZYt=xa(),zYe=Mr();FYe.exports=function(t,r,n,i){var a=r.yaxis,o=r.xaxis,s=!!o.rangebreaks;zYe.makeTraceGroups(i,n,\"trace ohlc\").each(function(l){var u=ZYt.select(this),c=l[0],f=c.t,h=c.trace;if(h.visible!==!0||f.empty){u.remove();return}var d=f.tickLen,v=u.selectAll(\"path\").data(zYe.identity);v.enter().append(\"path\"),v.exit().remove(),v.attr(\"d\",function(x){if(x.empty)return\"M0,0Z\";var b=o.c2p(x.pos-d,!0),p=o.c2p(x.pos+d,!0),E=s?(b+p)/2:o.c2p(x.pos,!0),k=a.c2p(x.o,!0),A=a.c2p(x.h,!0),L=a.c2p(x.l,!0),_=a.c2p(x.c,!0);return\"M\"+b+\",\"+k+\"H\"+E+\"M\"+E+\",\"+A+\"V\"+L+\"M\"+p+\",\"+_+\"H\"+E})})}});var BYe=ye((Nxr,OYe)=>{\"use strict\";var b$=xa(),XYt=ao(),YYt=va();OYe.exports=function(t,r,n){var i=n||b$.select(t).selectAll(\"g.ohlclayer\").selectAll(\"g.trace\");i.style(\"opacity\",function(a){return a[0].trace.opacity}),i.each(function(a){var o=a[0].trace;b$.select(this).selectAll(\"path\").each(function(s){if(!s.empty){var l=o[s.dir].line;b$.select(this).style(\"fill\",\"none\").call(YYt.stroke,l.color).call(XYt.dashLine,l.dash,l.width).style(\"opacity\",o.selectedpoints&&!s.selected?.3:1)}})})}});var T$=ye((Uxr,GYe)=>{\"use strict\";var w$=Qa(),KYt=Mr(),e9=Nc(),JYt=va(),$Yt=Mr().fillText,NYe=HT(),QYt={increasing:NYe.INCREASING.SYMBOL,decreasing:NYe.DECREASING.SYMBOL};function eKt(e,t,r,n){var i=e.cd,a=i[0].trace;return a.hoverlabel.split?VYe(e,t,r,n):HYe(e,t,r,n)}function UYe(e,t,r,n){var i=e.cd,a=e.xa,o=i[0].trace,s=i[0].t,l=o.type,u=l===\"ohlc\"?\"l\":\"min\",c=l===\"ohlc\"?\"h\":\"max\",f,h,d=s.bPos||0,v=function(P){return P.pos+d-t},x=s.bdPos||s.tickLen,b=s.wHover,p=Math.min(1,x/Math.abs(a.r2c(a.range[1])-a.r2c(a.range[0])));f=e.maxHoverDistance-p,h=e.maxSpikeDistance-p;function E(P){var T=v(P);return e9.inbox(T-b,T+b,f)}function k(P){var T=P[u],F=P[c];return T===F||e9.inbox(T-r,F-r,f)}function A(P){return(E(P)+k(P))/2}var L=e9.getDistanceFunction(n,E,k,A);if(e9.getClosest(i,L,e),e.index===!1)return null;var _=i[e.index];if(_.empty)return null;var C=_.dir,M=o[C],g=M.line.color;return JYt.opacity(g)&&M.line.width?e.color=g:e.color=M.fillcolor,e.x0=a.c2p(_.pos+d-x,!0),e.x1=a.c2p(_.pos+d+x,!0),e.xLabelVal=_.orig_p!==void 0?_.orig_p:_.pos,e.spikeDistance=A(_)*h/f,e.xSpike=a.c2p(_.pos,!0),e}function VYe(e,t,r,n){var i=e.cd,a=e.ya,o=i[0].trace,s=i[0].t,l=[],u=UYe(e,t,r,n);if(!u)return[];var c=u.index,f=i[c],h=f.hi||o.hoverinfo,d=h.split(\"+\"),v=h===\"all\",x=v||d.indexOf(\"y\")!==-1;if(!x)return[];for(var b=[\"high\",\"open\",\"close\",\"low\"],p={},E=0;E<b.length;E++){var k=b[E],A=o[k][u.index],L=a.c2p(A,!0),_;A in p?(_=p[A],_.yLabel+=\"<br>\"+s.labels[k]+w$.hoverLabelText(a,A,o.yhoverformat)):(_=KYt.extendFlat({},u),_.y0=_.y1=L,_.yLabelVal=A,_.yLabel=s.labels[k]+w$.hoverLabelText(a,A,o.yhoverformat),_.name=\"\",l.push(_),p[A]=_)}return l}function HYe(e,t,r,n){var i=e.cd,a=e.ya,o=i[0].trace,s=i[0].t,l=UYe(e,t,r,n);if(!l)return[];var u=l.index,c=i[u],f=l.index=c.i,h=c.dir;function d(A){return s.labels[A]+w$.hoverLabelText(a,o[A][f],o.yhoverformat)}var v=c.hi||o.hoverinfo,x=v.split(\"+\"),b=v===\"all\",p=b||x.indexOf(\"y\")!==-1,E=b||x.indexOf(\"text\")!==-1,k=p?[d(\"open\"),d(\"high\"),d(\"low\"),d(\"close\")+\" \"+QYt[h]]:[];return E&&$Yt(c,o,k),l.extraText=k.join(\"<br>\"),l.y0=l.y1=a.c2p(c.yc,!0),[l]}GYe.exports={hoverPoints:eKt,hoverSplit:VYe,hoverOnPoints:HYe}});var A$=ye((Vxr,jYe)=>{\"use strict\";jYe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l=n[0].t.bPos||0;if(r===!1)for(s=0;s<n.length;s++)n[s].selected=0;else for(s=0;s<n.length;s++){var u=n[s];r.contains([i.c2p(u.pos+l),a.c2p(u.yc)],null,u.i,t)?(o.push({pointNumber:u.i,x:i.c2d(u.pos),y:a.c2d(u.yc)}),u.selected=1):u.selected=0}return o}});var ZYe=ye((Hxr,WYe)=>{\"use strict\";WYe.exports={moduleType:\"trace\",name:\"ohlc\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"showLegend\"],meta:{},attributes:J7(),supplyDefaults:IYe(),calc:x$().calc,plot:qYe(),style:BYe(),hoverPoints:T$().hoverPoints,selectPoints:A$()}});var YYe=ye((Gxr,XYe)=>{\"use strict\";XYe.exports=ZYe()});var M$=ye((jxr,$Ye)=>{\"use strict\";var S$=Mr().extendFlat,KYe=Oc().axisHoverFormat,c0=J7(),NA=v4();function JYe(e){return{line:{color:S$({},NA.line.color,{dflt:e}),width:NA.line.width,editType:\"style\"},fillcolor:NA.fillcolor,editType:\"style\"}}$Ye.exports={xperiod:c0.xperiod,xperiod0:c0.xperiod0,xperiodalignment:c0.xperiodalignment,xhoverformat:KYe(\"x\"),yhoverformat:KYe(\"y\"),x:c0.x,open:c0.open,high:c0.high,low:c0.low,close:c0.close,line:{width:S$({},NA.line.width,{}),editType:\"style\"},increasing:JYe(c0.increasing.line.color.dflt),decreasing:JYe(c0.decreasing.line.color.dflt),text:c0.text,hovertext:c0.hovertext,whiskerwidth:S$({},NA.whiskerwidth,{dflt:0}),hoverlabel:c0.hoverlabel,zorder:NA.zorder}});var tKe=ye((Wxr,eKe)=>{\"use strict\";var tKt=Mr(),rKt=va(),iKt=_$(),nKt=Pg(),aKt=M$();eKe.exports=function(t,r,n,i){function a(s,l){return tKt.coerce(t,r,aKt,s,l)}var o=iKt(t,r,a,i);if(!o){r.visible=!1;return}nKt(t,r,i,a,{x:!0}),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"line.width\"),QYe(t,r,a,\"increasing\"),QYe(t,r,a,\"decreasing\"),a(\"text\"),a(\"hovertext\"),a(\"whiskerwidth\"),i._requestRangeslider[r.xaxis]=!0,a(\"zorder\")};function QYe(e,t,r,n){var i=r(n+\".line.color\");r(n+\".line.width\",t.line.width),r(n+\".fillcolor\",rKt.addOpacity(i,.5))}});var aKe=ye((Zxr,nKe)=>{\"use strict\";var rKe=Mr(),iKe=Qa(),oKt=Rg(),sKt=x$().calcCommon;nKe.exports=function(e,t){var r=e._fullLayout,n=iKe.getFromId(e,t.xaxis),i=iKe.getFromId(e,t.yaxis),a=n.makeCalcdata(t,\"x\"),o=oKt(t,n,\"x\",a).vals,s=sKt(e,t,a,o,i,lKt);return s.length?(rKe.extendFlat(s[0].t,{num:r._numBoxes,dPos:rKe.distinctVals(o).minDiff/2,posLetter:\"x\",valLetter:\"y\"}),r._numBoxes++,s):[{t:{empty:!0}}]};function lKt(e,t,r,n){return{min:r,q1:Math.min(e,n),med:n,q3:Math.max(e,n),max:t}}});var sKe=ye((Xxr,oKe)=>{\"use strict\";oKe.exports={moduleType:\"trace\",name:\"candlestick\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"showLegend\",\"candlestick\",\"boxLayout\"],meta:{},attributes:M$(),layoutAttributes:p4(),supplyLayoutDefaults:VI().supplyLayoutDefaults,crossTraceCalc:GI().crossTraceCalc,supplyDefaults:tKe(),calc:aKe(),plot:jI().plot,layerName:\"boxlayer\",style:WI().style,hoverPoints:T$().hoverPoints,selectPoints:A$()}});var uKe=ye((Yxr,lKe)=>{\"use strict\";lKe.exports=sKe()});var k$=ye((Kxr,cKe)=>{\"use strict\";var r9=Mr(),uKt=ym(),t9=r9.deg2rad,E$=r9.rad2deg;cKe.exports=function(t,r,n){switch(uKt(t,n),t._id){case\"x\":case\"radialaxis\":cKt(t,r);break;case\"angularaxis\":dKt(t,r);break}};function cKt(e,t){var r=t._subplot;e.setGeometry=function(){var n=e._rl[0],i=e._rl[1],a=r.innerRadius,o=(r.radius-a)/(i-n),s=a/o,l=n>i?function(u){return u<=0}:function(u){return u>=0};e.c2g=function(u){var c=e.c2l(u)-n;return(l(c)?c:0)+s},e.g2c=function(u){return e.l2c(u+n-s)},e.g2p=function(u){return u*o},e.c2p=function(u){return e.g2p(e.c2g(u))}}}function fKt(e,t){return t===\"degrees\"?t9(e):e}function hKt(e,t){return t===\"degrees\"?E$(e):e}function dKt(e,t){var r=e.type;if(r===\"linear\"){var n=e.d2c,i=e.c2d;e.d2c=function(a,o){return fKt(n(a),o)},e.c2d=function(a,o){return i(hKt(a,o))}}e.makeCalcdata=function(a,o){var s=a[o],l=a._length,u,c,f=function(b){return e.d2c(b,a.thetaunit)};if(s)for(u=new Array(l),c=0;c<l;c++)u[c]=f(s[c]);else{var h=o+\"0\",d=\"d\"+o,v=h in a?f(a[h]):0,x=a[d]?f(a[d]):(e.period||2*Math.PI)/l;for(u=new Array(l),c=0;c<l;c++)u[c]=v+c*x}return u},e.setGeometry=function(){var a=t.sector,o=a.map(t9),s={clockwise:-1,counterclockwise:1}[e.direction],l=t9(e.rotation),u=function(p){return s*p+l},c=function(p){return(p-l)/s},f,h,d,v;switch(r){case\"linear\":h=f=r9.identity,v=t9,d=E$,e.range=r9.isFullCircle(o)?[a[0],a[0]+360]:o.map(c).map(E$);break;case\"category\":var x=e._categories.length,b=e.period?Math.max(e.period,x):x;b===0&&(b=1),h=v=function(p){return p*2*Math.PI/b},f=d=function(p){return p*b/Math.PI/2},e.range=[0,b];break}e.c2g=function(p){return u(h(p))},e.g2c=function(p){return f(c(p))},e.t2g=function(p){return u(v(p))},e.g2t=function(p){return d(c(p))}}}});var i9=ye((Jxr,fKe)=>{\"use strict\";fKe.exports={attr:\"subplot\",name:\"polar\",axisNames:[\"angularaxis\",\"radialaxis\"],axisName2dataArray:{angularaxis:\"theta\",radialaxis:\"r\"},layerNames:[\"draglayer\",\"plotbg\",\"backplot\",\"angular-grid\",\"radial-grid\",\"frontplot\",\"angular-line\",\"radial-line\",\"angular-axis\",\"radial-axis\"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}});var a9=ye(($xr,gKe)=>{\"use strict\";var dw=Mr(),hKe=wM().tester,C$=dw.findIndexOfMin,vKe=dw.isAngleInsideSector,vKt=dw.angleDelta,dKe=dw.angleDist;function pKt(e,t,r,n,i){if(!vKe(t,n))return!1;var a,o;r[0]<r[1]?(a=r[0],o=r[1]):(a=r[1],o=r[0]);var s=hKe(UA(a,n[0],n[1],i)),l=hKe(UA(o,n[0],n[1],i)),u=[e*Math.cos(t),e*Math.sin(t)];return l.contains(u)&&!s.contains(u)}function pKe(e,t,r,n){var i,a,o=n[0],s=n[1],l=n9(Math.sin(t)-Math.sin(e)),u=n9(Math.cos(t)-Math.cos(e)),c=Math.tan(r),f=n9(1/c),h=l/u,d=s-h*o;return f?l&&u?(i=d/(c-h),a=c*i):u?(i=s*f,a=s):(i=o,a=o*c):l&&u?(i=0,a=d):u?(i=0,a=s):i=a=NaN,[i,a]}function gKt(e,t,r,n){var i=-t*r,a=t*t+1,o=2*(t*i-r),s=i*i+r*r-e*e,l=Math.sqrt(o*o-4*a*s),u=(-o+l)/(2*a),c=(-o-l)/(2*a);return[[u,t*u+i+n],[c,t*c+i+n]]}function mKt(e,t){var r=t.length,n=new Array(r+1),i;for(i=0;i<r;i++){var a=t[i];n[i]=[e*Math.cos(a),e*Math.sin(a)]}return n[i]=n[0].slice(),n}function yKt(e,t,r,n){var i=n.length,a=[],o,s;function l(p){return[e*Math.cos(p),e*Math.sin(p)]}function u(p,E,k){return pKe(p,E,k,l(p))}function c(p){return dw.mod(p,i)}function f(p){return vKe(p,[t,r])}var h=C$(n,function(p){return f(p)?dKe(p,t):1/0}),d=u(n[h],n[c(h-1)],t);for(a.push(d),o=h,s=0;s<i;o++,s++){var v=n[c(o)];if(!f(v))break;a.push(l(v))}var x=C$(n,function(p){return f(p)?dKe(p,r):1/0}),b=u(n[x],n[c(x+1)],r);return a.push(b),a.push([0,0]),a.push(a[0].slice()),a}function UA(e,t,r,n){return dw.isFullCircle([t,r])?mKt(e,n):yKt(e,t,r,n)}function _Kt(e,t,r,n){for(var i=1/0,a=1/0,o=UA(e,t,r,n),s=0;s<o.length;s++){var l=o[s];i=Math.min(i,l[0]),a=Math.min(a,-l[1])}return[i,a]}function xKt(e,t){var r=function(a){var o=vKt(a,e);return o>0?o:1/0},n=C$(t,r),i=dw.mod(n+1,t.length);return[t[n],t[i]]}function n9(e){return Math.abs(e)>1e-10?e:0}function L$(e,t,r){t=t||0,r=r||0;for(var n=e.length,i=new Array(n),a=0;a<n;a++){var o=e[a];i[a]=[t+o[0],r-o[1]]}return i}function bKt(e,t,r,n,i,a){var o=UA(e,t,r,n);return\"M\"+L$(o,i,a).join(\"L\")}function wKt(e,t,r,n,i,a,o){var s,l;e<t?(s=e,l=t):(s=t,l=e);var u=L$(UA(s,r,n,i),a,o),c=L$(UA(l,r,n,i),a,o);return\"M\"+c.reverse().join(\"L\")+\"M\"+u.join(\"L\")}gKe.exports={isPtInsidePolygon:pKt,findPolygonOffset:_Kt,findEnclosingVertexAngles:xKt,findIntersectionXY:pKe,findXYatLength:gKt,clampTiny:n9,pathPolygon:bKt,pathPolygonAnnulus:wKt}});var P$=ye((Qxr,_Ke)=>{\"use strict\";function mKe(e){return e<0?-1:e>0?1:0}function VA(e){var t=e[0],r=e[1];if(!isFinite(t)||!isFinite(r))return[1,0];var n=(t+1)*(t+1)+r*r;return[(t*t+r*r-1)/n,2*r/n]}function HA(e,t){var r=t[0],n=t[1];return[r*e.radius+e.cx,-n*e.radius+e.cy]}function yKe(e,t){return t*e.radius}function TKt(e,t,r,n){var i=HA(e,VA([r,t])),a=i[0],o=i[1],s=HA(e,VA([n,t])),l=s[0],u=s[1];if(t===0)return[\"M\"+a+\",\"+o,\"L\"+l+\",\"+u].join(\" \");var c=yKe(e,1/Math.abs(t));return[\"M\"+a+\",\"+o,\"A\"+c+\",\"+c+\" 0 0,\"+(t<0?1:0)+\" \"+l+\",\"+u].join(\" \")}function AKt(e,t,r,n){var i=yKe(e,1/(t+1)),a=HA(e,VA([t,r])),o=a[0],s=a[1],l=HA(e,VA([t,n])),u=l[0],c=l[1];if(mKe(r)!==mKe(n)){var f=HA(e,VA([t,0])),h=f[0],d=f[1];return[\"M\"+o+\",\"+s,\"A\"+i+\",\"+i+\" 0 0,\"+(0<r?0:1)+\" \"+h+\",\"+d,\"A\"+i+\",\"+i+\" 0 0,\"+(n<0?0:1)+u+\",\"+c].join(\" \")}return[\"M\"+o+\",\"+s,\"A\"+i+\",\"+i+\" 0 0,\"+(n<r?0:1)+\" \"+u+\",\"+c].join(\" \")}_Ke.exports={smith:VA,reactanceArc:TKt,resistanceArc:AKt,smithTransform:HA}});var D$=ye((ebr,kKe)=>{\"use strict\";var vw=xa(),SKt=id(),gw=ba(),cc=Mr(),ry=cc.strRotate,dd=cc.strTranslate,I$=va(),iC=ao(),MKt=Xu(),dp=Qa(),EKt=ym(),kKt=k$(),CKt=wg().doAutoRange,y1=DN(),l9=gv(),xKe=Nc(),LKt=Mb(),PKt=wf().prepSelect,IKt=wf().selectOnClick,R$=wf().clearOutline,bKe=Tg(),wKe=lM(),TKe=gM().redrawReglTraces,RKt=Nh().MID_SHIFT,Lx=i9(),_1=a9(),u9=P$(),o9=u9.smith,DKt=u9.reactanceArc,zKt=u9.resistanceArc,s9=u9.smithTransform,FKt=cc._,AKe=cc.mod,Px=cc.deg2rad,pw=cc.rad2deg;function SKe(e,t,r){this.isSmith=r||!1,this.id=t,this.gd=e,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var n=e._fullLayout,i=\"clip\"+n._uid+t;this.clipIds.forTraces=i+\"-for-traces\",this.clipPaths.forTraces=n._clips.append(\"clipPath\").attr(\"id\",this.clipIds.forTraces),this.clipPaths.forTraces.append(\"path\"),this.framework=n[\"_\"+(r?\"smith\":\"polar\")+\"layer\"].append(\"g\").attr(\"class\",t),this.getHole=function(a){return this.isSmith?0:a.hole},this.getSector=function(a){return this.isSmith?[0,360]:a.sector},this.getRadial=function(a){return this.isSmith?a.realaxis:a.radialaxis},this.getAngular=function(a){return this.isSmith?a.imaginaryaxis:a.angularaxis},r||(this.radialTickLayout=null,this.angularTickLayout=null)}var Fd=SKe.prototype;kKe.exports=function(t,r,n){return new SKe(t,r,n)};Fd.plot=function(e,t){for(var r=this,n=t[r.id],i=!1,a=0;a<e.length;a++){var o=e[a][0].trace;if(o.cliponaxis===!1){i=!0;break}}r._hasClipOnAxisFalse=i,r.updateLayers(t,n),r.updateLayout(t,n),MKt.generalUpdatePerTraceModule(r.gd,r,e,n),r.updateFx(t,n),r.isSmith&&(delete n.realaxis.range,delete n.imaginaryaxis.range)};Fd.updateLayers=function(e,t){var r=this,n=r.isSmith,i=r.layers,a=r.getRadial(t),o=r.getAngular(t),s=Lx.layerNames,l=s.indexOf(\"frontplot\"),u=s.slice(0,l),c=o.layer===\"below traces\",f=a.layer===\"below traces\";c&&u.push(\"angular-line\"),f&&u.push(\"radial-line\"),c&&u.push(\"angular-axis\"),f&&u.push(\"radial-axis\"),u.push(\"frontplot\"),c||u.push(\"angular-line\"),f||u.push(\"radial-line\"),c||u.push(\"angular-axis\"),f||u.push(\"radial-axis\");var h=(n?\"smith\":\"polar\")+\"sublayer\",d=r.framework.selectAll(\".\"+h).data(u,String);d.enter().append(\"g\").attr(\"class\",function(v){return h+\" \"+v}).each(function(v){var x=i[v]=vw.select(this);switch(v){case\"frontplot\":n||x.append(\"g\").classed(\"barlayer\",!0),x.append(\"g\").classed(\"scatterlayer\",!0);break;case\"backplot\":x.append(\"g\").classed(\"maplayer\",!0);break;case\"plotbg\":i.bg=x.append(\"path\");break;case\"radial-grid\":x.style(\"fill\",\"none\");break;case\"angular-grid\":x.style(\"fill\",\"none\");break;case\"radial-line\":x.append(\"line\").style(\"fill\",\"none\");break;case\"angular-line\":x.append(\"path\").style(\"fill\",\"none\");break}}),d.order()};Fd.updateLayout=function(e,t){var r=this,n=r.layers,i=e._size,a=r.getRadial(t),o=r.getAngular(t),s=t.domain.x,l=t.domain.y;r.xOffset=i.l+i.w*s[0],r.yOffset=i.t+i.h*(1-l[1]);var u=r.xLength=i.w*(s[1]-s[0]),c=r.yLength=i.h*(l[1]-l[0]),f=r.getSector(t);r.sectorInRad=f.map(Px);var h=r.sectorBBox=qKt(f),d=h[2]-h[0],v=h[3]-h[1],x=c/u,b=Math.abs(v/d),p,E,k,A,L;x>b?(p=u,E=u*b,L=(c-E)/i.h/2,k=[s[0],s[1]],A=[l[0]+L,l[1]-L]):(p=c/b,E=c,L=(u-p)/i.w/2,k=[s[0]+L,s[1]-L],A=[l[0],l[1]]),r.xLength2=p,r.yLength2=E,r.xDomain2=k,r.yDomain2=A;var _=r.xOffset2=i.l+i.w*k[0],C=r.yOffset2=i.t+i.h*(1-A[1]),M=r.radius=p/d,g=r.innerRadius=r.getHole(t)*M,P=r.cx=_-M*h[0],T=r.cy=C+M*h[3],F=r.cxx=P-_,q=r.cyy=T-C,V=a.side,H;V===\"counterclockwise\"?(H=V,V=\"top\"):V===\"clockwise\"&&(H=V,V=\"bottom\"),r.radialAxis=r.mockAxis(e,t,a,{_id:\"x\",side:V,_trueSide:H,domain:[g/i.w,M/i.w]}),r.angularAxis=r.mockAxis(e,t,o,{side:\"right\",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(e,t),r.updateAngularAxis(e,t),r.updateRadialAxis(e,t),r.updateRadialAxisTitle(e,t),r.xaxis=r.mockCartesianAxis(e,t,{_id:\"x\",domain:k}),r.yaxis=r.mockCartesianAxis(e,t,{_id:\"y\",domain:A});var X=r.pathSubplot();r.clipPaths.forTraces.select(\"path\").attr(\"d\",X).attr(\"transform\",dd(F,q)),n.frontplot.attr(\"transform\",dd(_,C)).call(iC.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr(\"d\",X).attr(\"transform\",dd(P,T)).call(I$.fill,t.bgcolor)};Fd.mockAxis=function(e,t,r,n){var i=cc.extendFlat({},r,n);return kKt(i,t,e),i};Fd.mockCartesianAxis=function(e,t,r){var n=this,i=n.isSmith,a=r._id,o=cc.extendFlat({type:\"linear\"},r);EKt(o,e);var s={x:[0,2],y:[1,3]};return o.setRange=function(){var l=n.sectorBBox,u=s[a],c=n.radialAxis._rl,f=(c[1]-c[0])/(1-n.getHole(t));o.range=[l[u[0]]*f,l[u[1]]*f]},o.isPtWithinRange=a===\"x\"&&!i?function(l){return n.isPtInside(l)}:function(){return!0},o.setRange(),o.setScale(),o};Fd.doAutoRange=function(e,t){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(t);CKt(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\")],i.minallowed!==void 0){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(i.maxallowed!==void 0){var l=i.r2l(i.maxallowed);i._rl[0]<i._rl[1]?i._rl[1]=Math.min(i._rl[1],l):i._rl[0]=Math.min(i._rl[0],l)}};Fd.updateRadialAxis=function(e,t){var r=this,n=r.gd,i=r.layers,a=r.radius,o=r.innerRadius,s=r.cx,l=r.cy,u=r.getRadial(t),c=AKe(r.getSector(t)[0],360),f=r.radialAxis,h=o<a,d=r.isSmith;d||(r.fillViewInitialKey(\"radialaxis.angle\",u.angle),r.fillViewInitialKey(\"radialaxis.range\",f.range.slice()),f.setGeometry()),f.tickangle===\"auto\"&&c>90&&c<=270&&(f.tickangle=180);var v=d?function(M){var g=s9(r,o9([M.x,0]));return dd(g[0]-s,g[1]-l)}:function(M){return dd(f.l2p(M.x)+o,0)},x=d?function(M){return zKt(r,M.x,-1/0,1/0)}:function(M){return r.pathArc(f.r2p(M.x)+o)},b=MKe(u);if(r.radialTickLayout!==b&&(i[\"radial-axis\"].selectAll(\".xtick\").remove(),r.radialTickLayout=b),h){f.setScale();var p=0,E=d?(f.tickvals||[]).filter(function(M){return M>=0}).map(function(M){return dp.tickText(f,M,!0,!1)}):dp.calcTicks(f),k=d?E:dp.clipEnds(f,E),A=dp.getTickSigns(f)[2];d&&((f.ticks===\"top\"&&f.side===\"bottom\"||f.ticks===\"bottom\"&&f.side===\"top\")&&(A=-A),f.ticks===\"top\"&&f.side===\"top\"&&(p=-f.ticklen),f.ticks===\"bottom\"&&f.side===\"bottom\"&&(p=f.ticklen)),dp.drawTicks(n,f,{vals:E,layer:i[\"radial-axis\"],path:dp.makeTickPath(f,0,A),transFn:v,crisp:!1}),dp.drawGrid(n,f,{vals:k,layer:i[\"radial-grid\"],path:x,transFn:cc.noop,crisp:!1}),dp.drawLabels(n,f,{vals:E,layer:i[\"radial-axis\"],transFn:v,labelFns:dp.makeLabelFns(f,p)})}var L=r.radialAxisAngle=r.vangles?pw(EKe(Px(u.angle),r.vangles)):u.angle,_=dd(s,l),C=_+ry(-L);nC(i[\"radial-axis\"],h&&(u.showticklabels||u.ticks),{transform:C}),nC(i[\"radial-grid\"],h&&u.showgrid,{transform:d?\"\":_}),nC(i[\"radial-line\"].select(\"line\"),h&&u.showline,{x1:d?-a:o,y1:0,x2:a,y2:0,transform:C}).attr(\"stroke-width\",u.linewidth).call(I$.stroke,u.linecolor)};Fd.updateRadialAxisTitle=function(e,t,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(t),u=n.id+\"title\",c=0;if(l.title){var f=iC.bBox(n.layers[\"radial-axis\"].node()).height,h=l.title.font.size,d=l.side;c=d===\"top\"?h:d===\"counterclockwise\"?-(f+h*.4):f+h*.8}var v=r!==void 0?r:n.radialAxisAngle,x=Px(v),b=Math.cos(x),p=Math.sin(x),E=o+a/2*b+c*p,k=s-a/2*p+c*b;n.layers[\"radial-axis-title\"]=LKt.draw(i,u,{propContainer:l,propName:n.id+\".radialaxis.title\",placeholder:FKt(i,\"Click to enter radial axis title\"),attributes:{x:E,y:k,\"text-anchor\":\"middle\"},transform:{rotate:-v}})}};Fd.updateAngularAxis=function(e,t){var r=this,n=r.gd,i=r.layers,a=r.radius,o=r.innerRadius,s=r.cx,l=r.cy,u=r.getAngular(t),c=r.angularAxis,f=r.isSmith;f||(r.fillViewInitialKey(\"angularaxis.rotation\",u.rotation),c.setGeometry(),c.setScale());var h=f?function(g){var P=s9(r,o9([0,g.x]));return Math.atan2(P[0]-s,P[1]-l)-Math.PI/2}:function(g){return c.t2g(g.x)};c.type===\"linear\"&&c.thetaunit===\"radians\"&&(c.tick0=pw(c.tick0),c.dtick=pw(c.dtick));var d=function(g){return dd(s+a*Math.cos(g),l-a*Math.sin(g))},v=f?function(g){var P=s9(r,o9([0,g.x]));return dd(P[0],P[1])}:function(g){return d(h(g))},x=f?function(g){var P=s9(r,o9([0,g.x])),T=Math.atan2(P[0]-s,P[1]-l)-Math.PI/2;return dd(P[0],P[1])+ry(-pw(T))}:function(g){var P=h(g);return d(P)+ry(-pw(P))},b=f?function(g){return DKt(r,g.x,0,1/0)}:function(g){var P=h(g),T=Math.cos(P),F=Math.sin(P);return\"M\"+[s+o*T,l-o*F]+\"L\"+[s+a*T,l-a*F]},p=dp.makeLabelFns(c,0),E=p.labelStandoff,k={};k.xFn=function(g){var P=h(g);return Math.cos(P)*E},k.yFn=function(g){var P=h(g),T=Math.sin(P)>0?.2:1;return-Math.sin(P)*(E+g.fontSize*T)+Math.abs(Math.cos(P))*(g.fontSize*RKt)},k.anchorFn=function(g){var P=h(g),T=Math.cos(P);return Math.abs(T)<.1?\"middle\":T>0?\"start\":\"end\"},k.heightFn=function(g,P,T){var F=h(g);return-.5*(1+Math.sin(F))*T};var A=MKe(u);r.angularTickLayout!==A&&(i[\"angular-axis\"].selectAll(\".\"+c._id+\"tick\").remove(),r.angularTickLayout=A);var L=f?[1/0].concat(c.tickvals||[]).map(function(g){return dp.tickText(c,g,!0,!1)}):dp.calcTicks(c);f&&(L[0].text=\"\\u221E\",L[0].fontSize*=1.75);var _;if(t.gridshape===\"linear\"?(_=L.map(h),cc.angleDelta(_[0],_[1])<0&&(_=_.slice().reverse())):_=null,r.vangles=_,c.type===\"category\"&&(L=L.filter(function(g){return cc.isAngleInsideSector(h(g),r.sectorInRad)})),c.visible){var C=c.ticks===\"inside\"?-1:1,M=(c.linewidth||1)/2;dp.drawTicks(n,c,{vals:L,layer:i[\"angular-axis\"],path:\"M\"+C*M+\",0h\"+C*c.ticklen,transFn:x,crisp:!1}),dp.drawGrid(n,c,{vals:L,layer:i[\"angular-grid\"],path:b,transFn:cc.noop,crisp:!1}),dp.drawLabels(n,c,{vals:L,layer:i[\"angular-axis\"],repositionOnUpdate:!0,transFn:v,labelFns:k})}nC(i[\"angular-line\"].select(\"path\"),u.showline,{d:r.pathSubplot(),transform:dd(s,l)}).attr(\"stroke-width\",u.linewidth).call(I$.stroke,u.linecolor)};Fd.updateFx=function(e,t){if(!this.gd._context.staticPlot){var r=!this.isSmith;r&&(this.updateAngularDrag(e),this.updateRadialDrag(e,t,0),this.updateRadialDrag(e,t,1)),this.updateHoverAndMainDrag(e)}};Fd.updateHoverAndMainDrag=function(e){var t=this,r=t.isSmith,n=t.gd,i=t.layers,a=e._zoomlayer,o=Lx.MINZOOM,s=Lx.OFFEDGE,l=t.radius,u=t.innerRadius,c=t.cx,f=t.cy,h=t.cxx,d=t.cyy,v=t.sectorInRad,x=t.vangles,b=t.radialAxis,p=_1.clampTiny,E=_1.findXYatLength,k=_1.findEnclosingVertexAngles,A=Lx.cornerHalfWidth,L=Lx.cornerLen/2,_,C,M=y1.makeDragger(i,\"path\",\"maindrag\",e.dragmode===!1?\"none\":\"crosshair\");vw.select(M).attr(\"d\",t.pathSubplot()).attr(\"transform\",dd(c,f)),M.onmousemove=function(ce){xKe.hover(n,ce,t.id),n._fullLayout._lasthover=M,n._fullLayout._hoversubplot=t.id},M.onmouseout=function(ce){n._dragging||l9.unhover(n,ce)};var g={element:M,gd:n,subplot:t.id,plotinfo:{id:t.id,xaxis:t.xaxis,yaxis:t.yaxis},xaxes:[t.xaxis],yaxes:[t.yaxis]},P,T,F,q,V,H,X,G,N;function W(ce,Ge){return Math.sqrt(ce*ce+Ge*Ge)}function re(ce,Ge){return W(ce-h,Ge-d)}function ae(ce,Ge){return Math.atan2(d-Ge,ce-h)}function _e(ce,Ge){return[ce*Math.cos(Ge),ce*Math.sin(-Ge)]}function Me(ce,Ge){if(ce===0)return t.pathSector(2*A);var nt=L/ce,ct=Ge-nt,qt=Ge+nt,rt=Math.max(0,Math.min(ce,l)),ot=rt-A,Rt=rt+A;return\"M\"+_e(ot,ct)+\"A\"+[ot,ot]+\" 0,0,0 \"+_e(ot,qt)+\"L\"+_e(Rt,qt)+\"A\"+[Rt,Rt]+\" 0,0,1 \"+_e(Rt,ct)+\"Z\"}function ke(ce,Ge,nt){if(ce===0)return t.pathSector(2*A);var ct=_e(ce,Ge),qt=_e(ce,nt),rt=p((ct[0]+qt[0])/2),ot=p((ct[1]+qt[1])/2),Rt,kt;if(rt&&ot){var Ct=ot/rt,Yt=-1/Ct,xr=E(A,Ct,rt,ot);Rt=E(L,Yt,xr[0][0],xr[0][1]),kt=E(L,Yt,xr[1][0],xr[1][1])}else{var er,Ke;ot?(er=L,Ke=A):(er=A,Ke=L),Rt=[[rt-er,ot-Ke],[rt+er,ot-Ke]],kt=[[rt-er,ot+Ke],[rt+er,ot+Ke]]}return\"M\"+Rt.join(\"L\")+\"L\"+kt.reverse().join(\"L\")+\"Z\"}function ge(){F=null,q=null,V=t.pathSubplot(),H=!1;var ce=n._fullLayout[t.id];X=SKt(ce.bgcolor).getLuminance(),G=y1.makeZoombox(a,X,c,f,V),G.attr(\"fill-rule\",\"evenodd\"),N=y1.makeCorners(a,c,f),R$(n)}function ie(ce,Ge){return Ge=Math.max(Math.min(Ge,l),u),ce<s?ce=0:l-ce<s?ce=l:Ge<s?Ge=0:l-Ge<s&&(Ge=l),Math.abs(Ge-ce)>o?(ce<Ge?(F=ce,q=Ge):(F=Ge,q=ce),!0):(F=null,q=null,!1)}function Te(ce,Ge){ce=ce||V,Ge=Ge||\"M0,0Z\",G.attr(\"d\",ce),N.attr(\"d\",Ge),y1.transitionZoombox(G,N,H,X),H=!0;var nt={};me(nt),n.emit(\"plotly_relayouting\",nt)}function Ee(ce,Ge){ce=ce*_,Ge=Ge*C;var nt=P+ce,ct=T+Ge,qt=re(P,T),rt=Math.min(re(nt,ct),l),ot=ae(P,T),Rt,kt;ie(qt,rt)&&(Rt=V+t.pathSector(q),F&&(Rt+=t.pathSector(F)),kt=Me(F,ot)+Me(q,ot)),Te(Rt,kt)}function Ae(ce,Ge,nt,ct){var qt=_1.findIntersectionXY(nt,ct,nt,[ce-h,d-Ge]);return W(qt[0],qt[1])}function ze(ce,Ge){var nt=P+ce,ct=T+Ge,qt=ae(P,T),rt=ae(nt,ct),ot=k(qt,x),Rt=k(rt,x),kt=Ae(P,T,ot[0],ot[1]),Ct=Math.min(Ae(nt,ct,Rt[0],Rt[1]),l),Yt,xr;ie(kt,Ct)&&(Yt=V+t.pathSector(q),F&&(Yt+=t.pathSector(F)),xr=[ke(F,ot[0],ot[1]),ke(q,ot[0],ot[1])].join(\" \")),Te(Yt,xr)}function Ce(){if(y1.removeZoombox(n),!(F===null||q===null)){var ce={};me(ce),y1.showDoubleClickNotifier(n),gw.call(\"_guiRelayout\",n,ce)}}function me(ce){var Ge=b._rl,nt=(Ge[1]-Ge[0])/(1-u/l)/l,ct=[Ge[0]+(F-u)*nt,Ge[0]+(q-u)*nt];ce[t.id+\".radialaxis.range\"]=ct}function Re(ce,Ge){var nt=n._fullLayout.clickmode;if(y1.removeZoombox(n),ce===2){var ct={};for(var qt in t.viewInitial)ct[t.id+\".\"+qt]=t.viewInitial[qt];n.emit(\"plotly_doubleclick\",null),gw.call(\"_guiRelayout\",n,ct)}nt.indexOf(\"select\")>-1&&ce===1&&IKt(Ge,n,[t.xaxis],[t.yaxis],t.id,g),nt.indexOf(\"event\")>-1&&xKe.click(n,Ge,t.id)}g.prepFn=function(ce,Ge,nt){var ct=n._fullLayout.dragmode,qt=M.getBoundingClientRect();n._fullLayout._calcInverseTransform(n);var rt=n._fullLayout._invTransform;_=n._fullLayout._invScaleX,C=n._fullLayout._invScaleY;var ot=cc.apply3DTransform(rt)(Ge-qt.left,nt-qt.top);if(P=ot[0],T=ot[1],x){var Rt=_1.findPolygonOffset(l,v[0],v[1],x);P+=h+Rt[0],T+=d+Rt[1]}switch(ct){case\"zoom\":g.clickFn=Re,r||(x?g.moveFn=ze:g.moveFn=Ee,g.doneFn=Ce,ge(ce,Ge,nt));break;case\"select\":case\"lasso\":PKt(ce,Ge,nt,g,ct);break}},l9.init(g)};Fd.updateRadialDrag=function(e,t,r){var n=this,i=n.gd,a=n.layers,o=n.radius,s=n.innerRadius,l=n.cx,u=n.cy,c=n.radialAxis,f=Lx.radialDragBoxSize,h=f/2;if(!c.visible)return;var d=Px(n.radialAxisAngle),v=c._rl,x=v[0],b=v[1],p=v[r],E=.75*(v[1]-v[0])/(1-n.getHole(t))/o,k,A,L;r?(k=l+(o+h)*Math.cos(d),A=u-(o+h)*Math.sin(d),L=\"radialdrag\"):(k=l+(s-h)*Math.cos(d),A=u-(s-h)*Math.sin(d),L=\"radialdrag-inner\");var _=y1.makeRectDragger(a,L,\"crosshair\",-h,-h,f,f),C={element:_,gd:i};e.dragmode===!1&&(C.dragmode=!1),nC(vw.select(_),c.visible&&s<o,{transform:dd(k,A)});var M,g,P;function T(X,G){if(M)M(X,G);else{var N=[X,-G],W=[Math.cos(d),Math.sin(d)],re=Math.abs(cc.dot(N,W)/Math.sqrt(cc.dot(N,N)));isNaN(re)||(M=re<.5?V:H)}var ae={};F(ae),i.emit(\"plotly_relayouting\",ae)}function F(X){g!==null?X[n.id+\".radialaxis.angle\"]=g:P!==null&&(X[n.id+\".radialaxis.range[\"+r+\"]\"]=P)}function q(){g!==null?gw.call(\"_guiRelayout\",i,n.id+\".radialaxis.angle\",g):P!==null&&gw.call(\"_guiRelayout\",i,n.id+\".radialaxis.range[\"+r+\"]\",P)}function V(X,G){if(r!==0){var N=k+X,W=A+G;g=Math.atan2(u-W,N-l),n.vangles&&(g=EKe(g,n.vangles)),g=pw(g);var re=dd(l,u)+ry(-g);a[\"radial-axis\"].attr(\"transform\",re),a[\"radial-line\"].select(\"line\").attr(\"transform\",re);var ae=n.gd._fullLayout,_e=ae[n.id];n.updateRadialAxisTitle(ae,_e,g)}}function H(X,G){var N=cc.dot([X,-G],[Math.cos(d),Math.sin(d)]);if(P=p-E*N,E>0!=(r?P>x:P<b)){P=null;return}var W=i._fullLayout,re=W[n.id];c.range[r]=P,c._rl[r]=P,n.updateRadialAxis(W,re),n.xaxis.setRange(),n.xaxis.setScale(),n.yaxis.setRange(),n.yaxis.setScale();var ae=!1;for(var _e in n.traceHash){var Me=n.traceHash[_e],ke=cc.filterVisible(Me),ge=Me[0][0].trace._module;ge.plot(i,n,ke,re),gw.traceIs(_e,\"gl\")&&ke.length&&(ae=!0)}ae&&(wKe(i),TKe(i))}C.prepFn=function(){M=null,g=null,P=null,C.moveFn=T,C.doneFn=q,R$(i)},C.clampFn=function(X,G){return Math.sqrt(X*X+G*G)<Lx.MINDRAG&&(X=0,G=0),[X,G]},l9.init(C)};Fd.updateAngularDrag=function(e){var t=this,r=t.gd,n=t.layers,i=t.radius,a=t.angularAxis,o=t.cx,s=t.cy,l=t.cxx,u=t.cyy,c=Lx.angularDragBoxSize,f=y1.makeDragger(n,\"path\",\"angulardrag\",e.dragmode===!1?\"none\":\"move\"),h={element:f,gd:r};e.dragmode===!1?h.dragmode=!1:vw.select(f).attr(\"d\",t.pathAnnulus(i,i+c)).attr(\"transform\",dd(o,s)).call(bKe,\"move\");function d(P,T){return Math.atan2(u+c-T,P-l-c)}var v=n.frontplot.select(\".scatterlayer\").selectAll(\".trace\"),x=v.selectAll(\".point\"),b=v.selectAll(\".textpoint\"),p,E,k,A,L,_;function C(P,T){var F=t.gd._fullLayout,q=F[t.id],V=p+P*e._invScaleX,H=E+T*e._invScaleY,X=d(V,H),G=pw(X-_);if(A=k+G,n.frontplot.attr(\"transform\",dd(t.xOffset2,t.yOffset2)+ry([-G,l,u])),t.vangles){L=t.radialAxisAngle+G;var N=dd(o,s)+ry(-G),W=dd(o,s)+ry(-L);n.bg.attr(\"transform\",N),n[\"radial-grid\"].attr(\"transform\",N),n[\"radial-axis\"].attr(\"transform\",W),n[\"radial-line\"].select(\"line\").attr(\"transform\",W),t.updateRadialAxisTitle(F,q,L)}else t.clipPaths.forTraces.select(\"path\").attr(\"transform\",dd(l,u)+ry(G));x.each(function(){var ie=vw.select(this),Te=iC.getTranslate(ie);ie.attr(\"transform\",dd(Te.x,Te.y)+ry([G]))}),b.each(function(){var ie=vw.select(this),Te=ie.select(\"text\"),Ee=iC.getTranslate(ie);ie.attr(\"transform\",ry([G,Te.attr(\"x\"),Te.attr(\"y\")])+dd(Ee.x,Ee.y))}),a.rotation=cc.modHalf(A,360),t.updateAngularAxis(F,q),t._hasClipOnAxisFalse&&!cc.isFullCircle(t.sectorInRad)&&v.call(iC.hideOutsideRangePoints,t);var re=!1;for(var ae in t.traceHash)if(gw.traceIs(ae,\"gl\")){var _e=t.traceHash[ae],Me=cc.filterVisible(_e),ke=_e[0][0].trace._module;ke.plot(r,t,Me,q),Me.length&&(re=!0)}re&&(wKe(r),TKe(r));var ge={};M(ge),r.emit(\"plotly_relayouting\",ge)}function M(P){P[t.id+\".angularaxis.rotation\"]=A,t.vangles&&(P[t.id+\".radialaxis.angle\"]=L)}function g(){b.select(\"text\").attr(\"transform\",null);var P={};M(P),gw.call(\"_guiRelayout\",r,P)}h.prepFn=function(P,T,F){var q=e[t.id];k=q.angularaxis.rotation;var V=f.getBoundingClientRect();p=T-V.left,E=F-V.top,r._fullLayout._calcInverseTransform(r);var H=cc.apply3DTransform(e._invTransform)(p,E);p=H[0],E=H[1],_=d(p,E),h.moveFn=C,h.doneFn=g,R$(r)},t.vangles&&!cc.isFullCircle(t.sectorInRad)&&(h.prepFn=cc.noop,bKe(vw.select(f),null)),l9.init(h)};Fd.isPtInside=function(e){if(this.isSmith)return!0;var t=this.sectorInRad,r=this.vangles,n=this.angularAxis.c2g(e.theta),i=this.radialAxis,a=i.c2l(e.r),o=i._rl,s=r?_1.isPtInsidePolygon:cc.isPtInsideSector;return s(a,n,o,t,r)};Fd.pathArc=function(e){var t=this.sectorInRad,r=this.vangles,n=r?_1.pathPolygon:cc.pathArc;return n(e,t[0],t[1],r)};Fd.pathSector=function(e){var t=this.sectorInRad,r=this.vangles,n=r?_1.pathPolygon:cc.pathSector;return n(e,t[0],t[1],r)};Fd.pathAnnulus=function(e,t){var r=this.sectorInRad,n=this.vangles,i=n?_1.pathPolygonAnnulus:cc.pathAnnulus;return i(e,t,r[0],r[1],n)};Fd.pathSubplot=function(){var e=this.innerRadius,t=this.radius;return e?this.pathAnnulus(e,t):this.pathSector(t)};Fd.fillViewInitialKey=function(e,t){e in this.viewInitial||(this.viewInitial[e]=t)};function MKe(e){var t=e.ticks+String(e.ticklen)+String(e.showticklabels);return\"side\"in e&&(t+=e.side),t}function qKt(e){var t=e[0],r=e[1],n=r-t,i=AKe(t,360),a=i+n,o=Math.cos(Px(i)),s=Math.sin(Px(i)),l=Math.cos(Px(a)),u=Math.sin(Px(a)),c,f,h,d;return i<=90&&a>=90||i>90&&a>=450?d=1:s<=0&&u<=0?d=0:d=Math.max(s,u),i<=180&&a>=180||i>180&&a>=540?c=-1:o>=0&&l>=0?c=0:c=Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?f=-1:s>=0&&u>=0?f=0:f=Math.min(s,u),a>=360?h=1:o<=0&&l<=0?h=0:h=Math.max(o,l),[c,f,h,d]}function EKe(e,t){var r=function(i){return cc.angleDist(e,i)},n=cc.findIndexOfMin(t,r);return t[n]}function nC(e,t,r){return t?(e.attr(\"display\",null),e.attr(r)):e&&e.attr(\"display\",\"none\"),e}});var z$=ye((tbr,DKe)=>{\"use strict\";var OKt=dh(),Yo=Cd(),BKt=Ju().attributes,f0=Mr().extendFlat,CKe=Bu().overrideAll,LKe=CKe({color:Yo.color,showline:f0({},Yo.showline,{dflt:!0}),linecolor:Yo.linecolor,linewidth:Yo.linewidth,showgrid:f0({},Yo.showgrid,{dflt:!0}),gridcolor:Yo.gridcolor,gridwidth:Yo.gridwidth,griddash:Yo.griddash},\"plot\",\"from-root\"),PKe=CKe({tickmode:Yo.minor.tickmode,nticks:Yo.nticks,tick0:Yo.tick0,dtick:Yo.dtick,tickvals:Yo.tickvals,ticktext:Yo.ticktext,ticks:Yo.ticks,ticklen:Yo.ticklen,tickwidth:Yo.tickwidth,tickcolor:Yo.tickcolor,ticklabelstep:Yo.ticklabelstep,showticklabels:Yo.showticklabels,labelalias:Yo.labelalias,showtickprefix:Yo.showtickprefix,tickprefix:Yo.tickprefix,showticksuffix:Yo.showticksuffix,ticksuffix:Yo.ticksuffix,showexponent:Yo.showexponent,exponentformat:Yo.exponentformat,minexponent:Yo.minexponent,separatethousands:Yo.separatethousands,tickfont:Yo.tickfont,tickangle:Yo.tickangle,tickformat:Yo.tickformat,tickformatstops:Yo.tickformatstops,layer:Yo.layer},\"plot\",\"from-root\"),IKe={visible:f0({},Yo.visible,{dflt:!0}),type:f0({},Yo.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autotypenumbers:Yo.autotypenumbers,autorangeoptions:{minallowed:Yo.autorangeoptions.minallowed,maxallowed:Yo.autorangeoptions.maxallowed,clipmin:Yo.autorangeoptions.clipmin,clipmax:Yo.autorangeoptions.clipmax,include:Yo.autorangeoptions.include,editType:\"plot\"},autorange:f0({},Yo.autorange,{editType:\"plot\"}),rangemode:{valType:\"enumerated\",values:[\"tozero\",\"nonnegative\",\"normal\"],dflt:\"tozero\",editType:\"calc\"},minallowed:f0({},Yo.minallowed,{editType:\"plot\"}),maxallowed:f0({},Yo.maxallowed,{editType:\"plot\"}),range:f0({},Yo.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],editType:\"plot\"}),categoryorder:Yo.categoryorder,categoryarray:Yo.categoryarray,angle:{valType:\"angle\",editType:\"plot\"},autotickangles:Yo.autotickangles,side:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"clockwise\",editType:\"plot\"},title:{text:f0({},Yo.title.text,{editType:\"plot\",dflt:\"\"}),font:f0({},Yo.title.font,{editType:\"plot\"}),editType:\"plot\"},hoverformat:Yo.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"};f0(IKe,LKe,PKe);var RKe={visible:f0({},Yo.visible,{dflt:!0}),type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"category\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},autotypenumbers:Yo.autotypenumbers,categoryorder:Yo.categoryorder,categoryarray:Yo.categoryarray,thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\"],dflt:\"degrees\",editType:\"calc\"},period:{valType:\"number\",editType:\"calc\",min:0},direction:{valType:\"enumerated\",values:[\"counterclockwise\",\"clockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"angle\",editType:\"calc\"},hoverformat:Yo.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"};f0(RKe,LKe,PKe);DKe.exports={domain:BKt({name:\"polar\",editType:\"plot\"}),sector:{valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],dflt:[0,360],editType:\"plot\"},hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot\"},bgcolor:{valType:\"color\",editType:\"plot\",dflt:OKt.background},radialaxis:IKe,angularaxis:RKe,gridshape:{valType:\"enumerated\",values:[\"circular\",\"linear\"],dflt:\"circular\",editType:\"plot\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"}});var OKe=ye((rbr,qKe)=>{\"use strict\";var c9=Mr(),NKt=va(),UKt=Vs(),VKt=C_(),HKt=kd().getSubplotData,GKt=xb(),jKt=T3(),WKt=t_(),ZKt=r_(),XKt=eI(),YKt=YM(),KKt=hB(),JKt=L3(),FKe=z$(),$Kt=k$(),f9=i9(),zKe=f9.axisNames;function QKt(e,t,r,n){var i=r(\"bgcolor\");n.bgColor=NKt.combine(i,n.paper_bgcolor);var a=r(\"sector\");r(\"hole\");var o=HKt(n.fullData,f9.name,n.id),s=n.layoutOut,l;function u(G,N){return r(l+\".\"+G,N)}for(var c=0;c<zKe.length;c++){l=zKe[c],c9.isPlainObject(e[l])||(e[l]={});var f=e[l],h=UKt.newContainer(t,l);h._id=h._name=l,h._attr=n.id+\".\"+l,h._traceIndices=o.map(function(G){return G.index});var d=f9.axisName2dataArray[l],v=eJt(f,h,u,o,d,n);XKt(f,h,u,{axData:o,dataAttr:d});var x=u(\"visible\");switch($Kt(h,t,s),u(\"uirevision\",t.uirevision),h._m=1,l){case\"radialaxis\":u(\"minallowed\"),u(\"maxallowed\");var b=u(\"range\"),p=h.getAutorangeDflt(b),E=u(\"autorange\",p),k;b&&(b[0]===null&&b[1]===null||(b[0]===null||b[1]===null)&&(E===\"reversed\"||E===!0)||b[0]!==null&&(E===\"min\"||E===\"max reversed\")||b[1]!==null&&(E===\"max\"||E===\"min reversed\"))&&(b=void 0,delete h.range,h.autorange=!0,k=!0),k||(p=h.getAutorangeDflt(b),E=u(\"autorange\",p)),f.autorange=E,E&&(KKt(u,E,b),(v===\"linear\"||v===\"-\")&&u(\"rangemode\"),h.isReversed()&&(h._m=-1)),h.cleanRange(\"range\",{dfltRange:[0,1]});break;case\"angularaxis\":if(v===\"date\"){c9.log(\"Polar plots do not support date angular axes yet.\");for(var A=0;A<o.length;A++)o[A].visible=!1;v=f.type=h.type=\"linear\"}u(v===\"linear\"?\"thetaunit\":\"period\");var L=u(\"direction\");u(\"rotation\",{counterclockwise:0,clockwise:90}[L]);break}if(ZKt(f,h,u,h.type,{tickSuffixDflt:h.thetaunit===\"degrees\"?\"\\xB0\":void 0}),x){var _,C,M,g,P,T,F,q,V,H,X=n.font||{};_=u(\"color\"),C=_===f.color?_:X.color,M=X.size,g=X.family,P=X.weight,T=X.style,F=X.variant,q=X.textcase,V=X.lineposition,H=X.shadow,GKt(f,h,u,h.type),WKt(f,h,u,h.type,{font:{weight:P,style:T,variant:F,textcase:q,lineposition:V,shadow:H,color:C,size:M,family:g},noAutotickangles:l===\"angularaxis\",noTicklabelshift:!0,noTicklabelstandoff:!0}),jKt(f,h,u,{outerTicks:!0}),YKt(f,h,u,{dfltColor:_,bgColor:n.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:FKe[l]}),u(\"layer\"),l===\"radialaxis\"&&(u(\"side\"),u(\"angle\",a[0]),u(\"title.text\"),c9.coerceFont(u,\"title.font\",{weight:P,style:T,variant:F,textcase:q,lineposition:V,shadow:H,color:C,size:c9.bigFont(M),family:g}))}v!==\"category\"&&u(\"hoverformat\"),h._input=f}t.angularaxis.type===\"category\"&&r(\"gridshape\")}function eJt(e,t,r,n,i,a){var o=r(\"autotypenumbers\",a.autotypenumbersDflt),s=r(\"type\");if(s===\"-\"){for(var l,u=0;u<n.length;u++)if(n[u].visible){l=n[u];break}l&&l[i]&&(t.type=JKt(l[i],\"gregorian\",{noMultiCategory:!0,autotypenumbers:o})),t.type===\"-\"?t.type=\"linear\":e.type=t.type}return t.type}qKe.exports=function(t,r,n){VKt(t,r,n,{type:f9.name,attributes:FKe,handleDefaults:QKt,font:r.font,autotypenumbersDflt:r.autotypenumbers,paper_bgcolor:r.paper_bgcolor,fullData:n,layoutOut:r})}});var h9=ye((ibr,HKe)=>{\"use strict\";var tJt=kd().getSubplotCalcData,rJt=Mr().counterRegex,iJt=D$(),NKe=i9(),UKe=NKe.attr,mw=NKe.name,BKe=rJt(mw),VKe={};VKe[UKe]={valType:\"subplotid\",dflt:mw,editType:\"calc\"};function nJt(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[mw],i=0;i<n.length;i++){var a=n[i],o=tJt(r,mw,a),s=t[a]._subplot;s||(s=iJt(e,a),t[a]._subplot=s),s.plot(o,t,e._promises)}}function aJt(e,t,r,n){for(var i=n._subplots[mw]||[],a=n._has&&n._has(\"gl\"),o=t._has&&t._has(\"gl\"),s=a&&!o,l=0;l<i.length;l++){var u=i[l],c=n[u]._subplot;if(!t[u]&&c){c.framework.remove(),c.layers[\"radial-axis-title\"].remove();for(var f in c.clipPaths)c.clipPaths[f].remove()}s&&c._scene&&(c._scene.destroy(),c._scene=null)}}HKe.exports={attr:UKe,name:mw,idRoot:mw,idRegex:BKe,attrRegex:BKe,attributes:VKe,layoutAttributes:z$(),supplyLayoutDefaults:OKe(),plot:nJt,clean:aJt,toSVG:Jf().toSVG}});var aC=ye((nbr,GKe)=>{\"use strict\";var oJt=Wo().hovertemplateAttrs,sJt=Wo().texttemplateAttrs,d9=no().extendFlat,lJt=Eg(),h0=Uc(),uJt=vl(),GA=h0.line;GKe.exports={mode:h0.mode,r:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},theta:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},r0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dr:{valType:\"number\",dflt:1,editType:\"calc\"},theta0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dtheta:{valType:\"number\",editType:\"calc\"},thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\",\"gradians\"],dflt:\"degrees\",editType:\"calc+clearAxisTypes\"},text:h0.text,texttemplate:sJt({editType:\"plot\"},{keys:[\"r\",\"theta\",\"text\"]}),hovertext:h0.hovertext,line:{color:GA.color,width:GA.width,dash:GA.dash,backoff:GA.backoff,shape:d9({},GA.shape,{values:[\"linear\",\"spline\"]}),smoothing:GA.smoothing,editType:\"calc\"},connectgaps:h0.connectgaps,marker:h0.marker,cliponaxis:d9({},h0.cliponaxis,{dflt:!1}),textposition:h0.textposition,textfont:h0.textfont,fill:d9({},h0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:lJt(),hoverinfo:d9({},uJt.hoverinfo,{flags:[\"r\",\"theta\",\"text\",\"name\"]}),hoveron:h0.hoveron,hovertemplate:oJt(),selected:h0.selected,unselected:h0.unselected}});var p9=ye((abr,ZKe)=>{\"use strict\";var v9=Mr(),jA=lu(),cJt=$p(),fJt=R0(),jKe=J3(),hJt=D0(),dJt=Ig(),vJt=Sm().PTS_LINESONLY,pJt=aC();function gJt(e,t,r,n){function i(s,l){return v9.coerce(e,t,pJt,s,l)}var a=WKe(e,t,n,i);if(!a){t.visible=!1;return}i(\"thetaunit\"),i(\"mode\",a<vJt?\"lines+markers\":\"lines\"),i(\"text\"),i(\"hovertext\"),t.hoveron!==\"fills\"&&i(\"hovertemplate\"),jA.hasMarkers(t)&&cJt(e,t,r,n,i,{gradient:!0}),jA.hasLines(t)&&(fJt(e,t,r,n,i,{backoff:!0}),jKe(e,t,i),i(\"connectgaps\")),jA.hasText(t)&&(i(\"texttemplate\"),hJt(e,t,n,i));var o=[];(jA.hasMarkers(t)||jA.hasText(t))&&(i(\"cliponaxis\"),i(\"marker.maxdisplayed\"),o.push(\"points\")),i(\"fill\"),t.fill!==\"none\"&&(dJt(e,t,r,i),jA.hasLines(t)||jKe(e,t,i)),(t.fill===\"tonext\"||t.fill===\"toself\")&&o.push(\"fills\"),i(\"hoveron\",o.join(\"+\")||\"points\"),v9.coerceSelectionMarkerOpacity(t,i)}function WKe(e,t,r,n){var i=n(\"r\"),a=n(\"theta\");v9.isTypedArray(i)&&(t.r=i=Array.from(i)),v9.isTypedArray(a)&&(t.theta=a=Array.from(a));var o;if(i)a?o=Math.min(i.length,a.length):(o=i.length,n(\"theta0\"),n(\"dtheta\"));else{if(!a)return 0;o=t.theta.length,n(\"r0\"),n(\"dr\")}return t._length=o,o}ZKe.exports={handleRThetaDefaults:WKe,supplyDefaults:gJt}});var g9=ye((obr,YKe)=>{\"use strict\";var mJt=Mr(),XKe=Qa();YKe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o,s;a?(o=a.radialAxis,s=a.angularAxis):(a=n[r.subplot],o=a.radialaxis,s=a.angularaxis);var l=o.c2l(t.r);i.rLabel=XKe.tickText(o,l,!0).text;var u=s.thetaunit===\"degrees\"?mJt.rad2deg(t.theta):t.theta;return i.thetaLabel=XKe.tickText(s,u,!0).text,i}});var $Ke=ye((sbr,JKe)=>{\"use strict\";var KKe=uo(),yJt=es().BADNUM,_Jt=Qa(),xJt=z0(),bJt=km(),wJt=F0(),TJt=q0().calcMarkerSize;JKe.exports=function(t,r){for(var n=t._fullLayout,i=r.subplot,a=n[i].radialaxis,o=n[i].angularaxis,s=a.makeCalcdata(r,\"r\"),l=o.makeCalcdata(r,\"theta\"),u=r._length,c=new Array(u),f=0;f<u;f++){var h=s[f],d=l[f],v=c[f]={};KKe(h)&&KKe(d)?(v.r=h,v.theta=d):v.r=yJt}var x=TJt(r,u);return r._extremes.x=_Jt.findExtremes(a,s,{ppad:x}),xJt(t,r),bJt(c,r),wJt(c,r),c}});var tJe=ye((lbr,eJe)=>{\"use strict\";var AJt=iT(),QKe=es().BADNUM;eJe.exports=function(t,r,n){for(var i=r.layers.frontplot.select(\"g.scatterlayer\"),a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:r.framework,layerClipId:r._hasClipOnAxisFalse?r.clipIds.forTraces:null},l=r.radialAxis,u=r.angularAxis,c=0;c<n.length;c++)for(var f=n[c],h=0;h<f.length;h++){h===0&&(f[0].trace._xA=a,f[0].trace._yA=o);var d=f[h],v=d.r;if(v===QKe)d.x=d.y=QKe;else{var x=l.c2g(v),b=u.c2g(d.theta);d.x=x*Math.cos(b),d.y=x*Math.sin(b)}}AJt(t,s,n,i)}});var m9=ye((ubr,iJe)=>{\"use strict\";var SJt=sT();function MJt(e,t,r,n){var i=SJt(e,t,r,n);if(!(!i||i[0].index===!1)){var a=i[0];if(a.index===void 0)return i;var o=e.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtInside(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,rJe(s,l,o,a),a.hovertemplate=l.hovertemplate,i}}function rJe(e,t,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle=\"r\",a._hovertitle=\"\\u03B8\";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.rLabel=s.rLabel,n.thetaLabel=s.thetaLabel;var l=e.hi||t.hoverinfo,u=[];function c(h,d){u.push(h._hovertitle+\": \"+d)}if(!t.hovertemplate){var f=l.split(\"+\");f.indexOf(\"all\")!==-1&&(f=[\"r\",\"theta\",\"text\"]),f.indexOf(\"r\")!==-1&&c(i,n.rLabel),f.indexOf(\"theta\")!==-1&&c(a,n.thetaLabel),f.indexOf(\"text\")!==-1&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join(\"<br>\")}}iJe.exports={hoverPoints:MJt,makeHoverPointText:rJe}});var aJe=ye((cbr,nJe)=>{\"use strict\";nJe.exports={moduleType:\"trace\",name:\"scatterpolar\",basePlotModule:h9(),categories:[\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:aC(),supplyDefaults:p9().supplyDefaults,colorbar:Kd(),formatLabels:g9(),calc:$Ke(),plot:tJe(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:m9().hoverPoints,selectPoints:lT(),meta:{}}});var sJe=ye((fbr,oJe)=>{\"use strict\";oJe.exports=aJe()});var F$=ye((hbr,lJe)=>{\"use strict\";var Vp=aC(),x1=tk(),EJt=Wo().texttemplateAttrs;lJe.exports={mode:Vp.mode,r:Vp.r,theta:Vp.theta,r0:Vp.r0,dr:Vp.dr,theta0:Vp.theta0,dtheta:Vp.dtheta,thetaunit:Vp.thetaunit,text:Vp.text,texttemplate:EJt({editType:\"plot\"},{keys:[\"r\",\"theta\",\"text\"]}),hovertext:Vp.hovertext,hovertemplate:Vp.hovertemplate,line:{color:x1.line.color,width:x1.line.width,dash:x1.line.dash,editType:\"calc\"},connectgaps:x1.connectgaps,marker:x1.marker,fill:x1.fill,fillcolor:x1.fillcolor,textposition:x1.textposition,textfont:x1.textfont,hoverinfo:Vp.hoverinfo,selected:Vp.selected,unselected:Vp.unselected}});var fJe=ye((dbr,cJe)=>{\"use strict\";var uJe=Mr(),q$=lu(),kJt=p9().handleRThetaDefaults,CJt=$p(),LJt=R0(),PJt=D0(),IJt=Ig(),RJt=Sm().PTS_LINESONLY,DJt=F$();cJe.exports=function(t,r,n,i){function a(s,l){return uJe.coerce(t,r,DJt,s,l)}var o=kJt(t,r,i,a);if(!o){r.visible=!1;return}a(\"thetaunit\"),a(\"mode\",o<RJt?\"lines+markers\":\"lines\"),a(\"text\"),a(\"hovertext\"),r.hoveron!==\"fills\"&&a(\"hovertemplate\"),q$.hasMarkers(r)&&CJt(t,r,n,i,a,{noAngleRef:!0,noStandOff:!0}),q$.hasLines(r)&&(LJt(t,r,n,i,a),a(\"connectgaps\")),q$.hasText(r)&&(a(\"texttemplate\"),PJt(t,r,i,a,{noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0})),a(\"fill\"),r.fill!==\"none\"&&IJt(t,r,n,a),uJe.coerceSelectionMarkerOpacity(r,a)}});var dJe=ye((vbr,hJe)=>{\"use strict\";var zJt=g9();hJe.exports=function(t,r,n){var i=t.i;return\"r\"in t||(t.r=r._r[i]),\"theta\"in t||(t.theta=r._theta[i]),zJt(t,r,n)}});var pJe=ye((pbr,vJe)=>{\"use strict\";var FJt=z0(),qJt=q0().calcMarkerSize,OJt=Y2(),BJt=Qa(),NJt=sx().TOO_MANY_POINTS;vJe.exports=function(t,r){var n=t._fullLayout,i=r.subplot,a=n[i].radialaxis,o=n[i].angularaxis,s=r._r=a.makeCalcdata(r,\"r\"),l=r._theta=o.makeCalcdata(r,\"theta\"),u=r._length,c={};u<s.length&&(s=s.slice(0,u)),u<l.length&&(l=l.slice(0,u)),c.r=s,c.theta=l,FJt(t,r);var f=c.opts=OJt.style(t,r),h;return u<NJt?h=qJt(r,u):f.marker&&(h=2*(f.marker.sizeAvg||Math.max(f.marker.size,3))),r._extremes.x=BJt.findExtremes(a,s,{ppad:h}),[{x:!1,y:!1,t:c,trace:r}]}});var mJe=ye((gbr,gJe)=>{\"use strict\";var UJt=zz(),VJt=m9().makeHoverPointText;function HJt(e,t,r,n){var i=e.cd,a=i[0].t,o=a.r,s=a.theta,l=UJt.hoverPoints(e,t,r,n);if(!(!l||l[0].index===!1)){var u=l[0];if(u.index===void 0)return l;var c=e.subplot,f=u.cd[u.index],h=u.trace;if(f.r=o[u.index],f.theta=s[u.index],!!c.isPtInside(f))return u.xLabelVal=void 0,u.yLabelVal=void 0,VJt(f,h,c,u),l}}gJe.exports={hoverPoints:HJt}});var _Je=ye((mbr,yJe)=>{\"use strict\";yJe.exports={moduleType:\"trace\",name:\"scatterpolargl\",basePlotModule:h9(),categories:[\"gl\",\"regl\",\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:F$(),supplyDefaults:fJe(),colorbar:Kd(),formatLabels:dJe(),calc:pJe(),hoverPoints:mJe().hoverPoints,selectPoints:KX(),meta:{}}});var xJe=ye((ybr,O$)=>{\"use strict\";var GJt=Oz(),jJt=uo(),WJt=QY(),ZJt=ZX(),y9=Y2(),_9=Mr(),XJt=sx().TOO_MANY_POINTS,YJt={};O$.exports=function(t,r,n){if(n.length){var i=r.radialAxis,a=r.angularAxis,o=ZJt(t,r);return n.forEach(function(s){if(!(!s||!s[0]||!s[0].trace)){var l=s[0],u=l.trace,c=l.t,f=u._length,h=c.r,d=c.theta,v=c.opts,x,b=h.slice(),p=d.slice();for(x=0;x<h.length;x++)r.isPtInside({r:h[x],theta:d[x]})||(b[x]=NaN,p[x]=NaN);var E=new Array(f*2),k=Array(f),A=Array(f);for(x=0;x<f;x++){var L=b[x],_,C;if(jJt(L)){var M=i.c2g(L),g=a.c2g(p[x],u.thetaunit);_=M*Math.cos(g),C=M*Math.sin(g)}else _=C=NaN;k[x]=E[x*2]=_,A[x]=E[x*2+1]=C}c.tree=GJt(E),v.marker&&f>=XJt&&(v.marker.cluster=c.tree),v.marker&&(v.markerSel.positions=v.markerUnsel.positions=v.marker.positions=E),v.line&&E.length>1&&_9.extendFlat(v.line,y9.linePositions(t,u,E)),v.text&&(_9.extendFlat(v.text,{positions:E},y9.textPosition(t,u,v.text,v.marker)),_9.extendFlat(v.textSel,{positions:E},y9.textPosition(t,u,v.text,v.markerSel)),_9.extendFlat(v.textUnsel,{positions:E},y9.textPosition(t,u,v.text,v.markerUnsel))),v.fill&&!o.fill2d&&(o.fill2d=!0),v.marker&&!o.scatter2d&&(o.scatter2d=!0),v.line&&!o.line2d&&(o.line2d=!0),v.text&&!o.glText&&(o.glText=!0),o.lineOptions.push(v.line),o.fillOptions.push(v.fill),o.markerOptions.push(v.marker),o.markerSelectedOptions.push(v.markerSel),o.markerUnselectedOptions.push(v.markerUnsel),o.textOptions.push(v.text),o.textSelectedOptions.push(v.textSel),o.textUnselectedOptions.push(v.textUnsel),o.selectBatch.push([]),o.unselectBatch.push([]),c.x=k,c.y=A,c.rawx=k,c.rawy=A,c.r=h,c.theta=d,c.positions=E,c._scene=o,c.index=o.count,o.count++}}),WJt(t,r,n)}};O$.exports.reglPrecompiled=YJt});var TJe=ye((_br,wJe)=>{\"use strict\";var bJe=_Je();bJe.plot=xJe();wJe.exports=bJe});var SJe=ye((xbr,AJe)=>{\"use strict\";AJe.exports=TJe()});var B$=ye((bbr,MJe)=>{\"use strict\";var KJt=Wo().hovertemplateAttrs,WA=no().extendFlat,Ix=aC(),Rx=Lm();MJe.exports={r:Ix.r,theta:Ix.theta,r0:Ix.r0,dr:Ix.dr,theta0:Ix.theta0,dtheta:Ix.dtheta,thetaunit:Ix.thetaunit,base:WA({},Rx.base,{}),offset:WA({},Rx.offset,{}),width:WA({},Rx.width,{}),text:WA({},Rx.text,{}),hovertext:WA({},Rx.hovertext,{}),marker:JJt(),hoverinfo:Ix.hoverinfo,hovertemplate:KJt(),selected:Rx.selected,unselected:Rx.unselected};function JJt(){var e=WA({},Rx.marker);return delete e.cornerradius,e}});var N$=ye((wbr,EJe)=>{\"use strict\";EJe.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},bargap:{valType:\"number\",dflt:.1,min:0,max:1,editType:\"calc\"}}});var LJe=ye((Tbr,CJe)=>{\"use strict\";var kJe=Mr(),$Jt=p9().handleRThetaDefaults,QJt=FI(),e$t=B$();CJe.exports=function(t,r,n,i){function a(s,l){return kJe.coerce(t,r,e$t,s,l)}var o=$Jt(t,r,i,a);if(!o){r.visible=!1;return}a(\"thetaunit\"),a(\"base\"),a(\"offset\"),a(\"width\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),QJt(t,r,a,n,i),kJe.coerceSelectionMarkerOpacity(r,a)}});var IJe=ye((Abr,PJe)=>{\"use strict\";var t$t=Mr(),r$t=N$();PJe.exports=function(e,t,r){var n={},i;function a(l,u){return t$t.coerce(e[i]||{},t[i],r$t,l,u)}for(var o=0;o<r.length;o++){var s=r[o];s.type===\"barpolar\"&&s.visible===!0&&(i=s.subplot,n[i]||(a(\"barmode\"),a(\"bargap\"),n[i]=1))}}});var U$=ye((Sbr,zJe)=>{\"use strict\";var RJe=Dv().hasColorscale,DJe=zv(),i$t=Mr().isArrayOrTypedArray,n$t=c4(),a$t=Gb().setGroupPositions,o$t=F0(),s$t=ba().traceIs,l$t=Mr().extendFlat;function u$t(e,t){for(var r=e._fullLayout,n=t.subplot,i=r[n].radialaxis,a=r[n].angularaxis,o=i.makeCalcdata(t,\"r\"),s=a.makeCalcdata(t,\"theta\"),l=t._length,u=new Array(l),c=o,f=s,h=0;h<l;h++)u[h]={p:f[h],s:c[h]};function d(v){var x=t[v];x!==void 0&&(t[\"_\"+v]=i$t(x)?a.makeCalcdata(t,v):a.d2c(x,t.thetaunit))}return a.type===\"linear\"&&(d(\"width\"),d(\"offset\")),RJe(t,\"marker\")&&DJe(e,t,{vals:t.marker.color,containerStr:\"marker\",cLetter:\"c\"}),RJe(t,\"marker.line\")&&DJe(e,t,{vals:t.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}),n$t(u,t),o$t(u,t),u}function c$t(e,t,r){for(var n=e.calcdata,i=[],a=0;a<n.length;a++){var o=n[a],s=o[0].trace;s.visible===!0&&s$t(s,\"bar\")&&s.subplot===r&&i.push(o)}var l=l$t({},t.radialaxis,{_id:\"x\"}),u=t.angularaxis;a$t(e,u,l,i,{mode:t.barmode,norm:t.barnorm,gap:t.bargap,groupgap:t.bargroupgap})}zJe.exports={calc:u$t,crossTraceCalc:c$t}});var OJe=ye((Mbr,qJe)=>{\"use strict\";var FJe=xa(),x9=uo(),ZA=Mr(),f$t=ao(),V$=a9();qJe.exports=function(t,r,n){var i=t._context.staticPlot,a=r.xaxis,o=r.yaxis,s=r.radialAxis,l=r.angularAxis,u=h$t(r),c=r.layers.frontplot.select(\"g.barlayer\");ZA.makeTraceGroups(c,n,\"trace bars\").each(function(){var f=FJe.select(this),h=ZA.ensureSingle(f,\"g\",\"points\"),d=h.selectAll(\"g.point\").data(ZA.identity);d.enter().append(\"g\").style(\"vector-effect\",i?\"none\":\"non-scaling-stroke\").style(\"stroke-miterlimit\",2).classed(\"point\",!0),d.exit().remove(),d.each(function(v){var x=FJe.select(this),b=v.rp0=s.c2p(v.s0),p=v.rp1=s.c2p(v.s1),E=v.thetag0=l.c2g(v.p0),k=v.thetag1=l.c2g(v.p1),A;if(!x9(b)||!x9(p)||!x9(E)||!x9(k)||b===p||E===k)A=\"M0,0Z\";else{var L=s.c2g(v.s1),_=(E+k)/2;v.ct=[a.c2p(L*Math.cos(_)),o.c2p(L*Math.sin(_))],A=u(b,p,E,k)}ZA.ensureSingle(x,\"path\").attr(\"d\",A)}),f$t.setClipUrl(f,r._hasClipOnAxisFalse?r.clipIds.forTraces:null,t)})};function h$t(e){var t=e.cxx,r=e.cyy;return e.vangles?function(n,i,a,o){var s,l;ZA.angleDelta(a,o)>0?(s=a,l=o):(s=o,l=a);var u=V$.findEnclosingVertexAngles(s,e.vangles)[0],c=V$.findEnclosingVertexAngles(l,e.vangles)[1],f=[u,(s+l)/2,c];return V$.pathPolygonAnnulus(n,i,s,l,f,t,r)}:function(n,i,a,o){return ZA.pathAnnulus(n,i,a,o,t,r)}}});var NJe=ye((Ebr,BJe)=>{\"use strict\";var d$t=Nc(),H$=Mr(),v$t=TT().getTraceColor,p$t=H$.fillText,g$t=m9().makeHoverPointText,m$t=a9().isPtInsidePolygon;BJe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.subplot,s=o.radialAxis,l=o.angularAxis,u=o.vangles,c=u?m$t:H$.isPtInsideSector,f=t.maxHoverDistance,h=l._period||2*Math.PI,d=Math.abs(s.g2p(Math.sqrt(r*r+n*n))),v=Math.atan2(n,r);s.range[0]>s.range[1]&&(v+=Math.PI);var x=function(k){return c(d,v,[k.rp0,k.rp1],[k.thetag0,k.thetag1],u)?f+Math.min(1,Math.abs(k.thetag1-k.thetag0)/h)-1+(k.rp1-d)/(k.rp1-k.rp0)-1:1/0};if(d$t.getClosest(i,x,t),t.index!==!1){var b=t.index,p=i[b];t.x0=t.x1=p.ct[0],t.y0=t.y1=p.ct[1];var E=H$.extendFlat({},p,{r:p.s,theta:p.p});return p$t(p,a,t),g$t(E,a,o,t),t.hovertemplate=a.hovertemplate,t.color=v$t(a,p),t.xLabelVal=t.yLabelVal=void 0,p.s<0&&(t.idealAlign=\"left\"),[t]}}});var VJe=ye((kbr,UJe)=>{\"use strict\";UJe.exports={moduleType:\"trace\",name:\"barpolar\",basePlotModule:h9(),categories:[\"polar\",\"bar\",\"showLegend\"],attributes:B$(),layoutAttributes:N$(),supplyDefaults:LJe(),supplyLayoutDefaults:IJe(),calc:U$().calc,crossTraceCalc:U$().crossTraceCalc,plot:OJe(),colorbar:Kd(),formatLabels:g9(),style:N0().style,styleOnSelect:N0().styleOnSelect,hoverPoints:NJe(),selectPoints:AT(),meta:{}}});var GJe=ye((Cbr,HJe)=>{\"use strict\";HJe.exports=VJe()});var G$=ye((Lbr,jJe)=>{\"use strict\";jJe.exports={attr:\"subplot\",name:\"smith\",axisNames:[\"realaxis\",\"imaginaryaxis\"],axisName2dataArray:{imaginaryaxis:\"imag\",realaxis:\"real\"}}});var j$=ye((Pbr,YJe)=>{\"use strict\";var y$t=dh(),Mf=Cd(),_$t=Ju().attributes,Dx=Mr().extendFlat,WJe=Bu().overrideAll,ZJe=WJe({color:Mf.color,showline:Dx({},Mf.showline,{dflt:!0}),linecolor:Mf.linecolor,linewidth:Mf.linewidth,showgrid:Dx({},Mf.showgrid,{dflt:!0}),gridcolor:Mf.gridcolor,gridwidth:Mf.gridwidth,griddash:Mf.griddash},\"plot\",\"from-root\"),XJe=WJe({ticklen:Mf.ticklen,tickwidth:Dx({},Mf.tickwidth,{dflt:2}),tickcolor:Mf.tickcolor,showticklabels:Mf.showticklabels,labelalias:Mf.labelalias,showtickprefix:Mf.showtickprefix,tickprefix:Mf.tickprefix,showticksuffix:Mf.showticksuffix,ticksuffix:Mf.ticksuffix,tickfont:Mf.tickfont,tickformat:Mf.tickformat,hoverformat:Mf.hoverformat,layer:Mf.layer},\"plot\",\"from-root\"),x$t=Dx({visible:Dx({},Mf.visible,{dflt:!0}),tickvals:{dflt:[.2,.5,1,2,5],valType:\"data_array\",editType:\"plot\"},tickangle:Dx({},Mf.tickangle,{dflt:90}),ticks:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"\"],editType:\"ticks\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},editType:\"calc\"},ZJe,XJe),b$t=Dx({visible:Dx({},Mf.visible,{dflt:!0}),tickvals:{valType:\"data_array\",editType:\"plot\"},ticks:Mf.ticks,editType:\"calc\"},ZJe,XJe);YJe.exports={domain:_$t({name:\"smith\",editType:\"plot\"}),bgcolor:{valType:\"color\",editType:\"plot\",dflt:y$t.background},realaxis:x$t,imaginaryaxis:b$t,editType:\"calc\"}});var $Je=ye((Ibr,JJe)=>{\"use strict\";var XA=Mr(),w$t=va(),T$t=Vs(),A$t=C_(),S$t=kd().getSubplotData,M$t=r_(),E$t=t_(),k$t=YM(),C$t=ym(),YA=j$(),W$=G$(),KJe=W$.axisNames,L$t=I$t(function(e){return XA.isTypedArray(e)&&(e=Array.from(e)),e.slice().reverse().map(function(t){return-t}).concat([0]).concat(e)},String);function P$t(e,t,r,n){var i=r(\"bgcolor\");n.bgColor=w$t.combine(i,n.paper_bgcolor);var a=S$t(n.fullData,W$.name,n.id),o=n.layoutOut,s;function l(L,_){return r(s+\".\"+L,_)}for(var u=0;u<KJe.length;u++){s=KJe[u],XA.isPlainObject(e[s])||(e[s]={});var c=e[s],f=T$t.newContainer(t,s);f._id=f._name=s,f._attr=n.id+\".\"+s,f._traceIndices=a.map(function(L){return L.index});var h=l(\"visible\");if(f.type=\"linear\",C$t(f,o),M$t(c,f,l,f.type),h){var d=s===\"realaxis\";if(d&&l(\"side\"),d)l(\"tickvals\");else{var v=L$t(t.realaxis.tickvals||YA.realaxis.tickvals.dflt);l(\"tickvals\",v)}XA.isTypedArray(f.tickvals)&&(f.tickvals=Array.from(f.tickvals));var x,b,p,E,k=n.font||{};h&&(x=l(\"color\"),b=x===c.color?x:k.color,p=k.size,E=k.family),E$t(c,f,l,f.type,{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,noTicklabelstep:!0,noAng:!d,noExp:!0,font:{color:b,size:p,family:E}}),XA.coerce2(e,t,YA,s+\".ticklen\"),XA.coerce2(e,t,YA,s+\".tickwidth\"),XA.coerce2(e,t,YA,s+\".tickcolor\",t.color);var A=l(\"ticks\");A||(delete t[s].ticklen,delete t[s].tickwidth,delete t[s].tickcolor),k$t(c,f,l,{dfltColor:x,bgColor:n.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:YA[s]}),l(\"layer\")}l(\"hoverformat\"),delete f.type,f._input=c}}JJe.exports=function(t,r,n){A$t(t,r,n,{noUirevision:!0,type:W$.name,attributes:YA,handleDefaults:P$t,font:r.font,paper_bgcolor:r.paper_bgcolor,fullData:n,layoutOut:r})};function I$t(e,t){var r={};return function(n){var i=t?t(n):n;if(i in r)return r[i];var a=e(n);return r[i]=a,a}}});var n$e=ye((Rbr,i$e)=>{\"use strict\";var R$t=kd().getSubplotCalcData,D$t=Mr().counterRegex,z$t=D$(),e$e=G$(),t$e=e$e.attr,yw=e$e.name,QJe=D$t(yw),r$e={};r$e[t$e]={valType:\"subplotid\",dflt:yw,editType:\"calc\"};function F$t(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[yw],i=0;i<n.length;i++){var a=n[i],o=R$t(r,yw,a),s=t[a]._subplot;s||(s=z$t(e,a,!0),t[a]._subplot=s),s.plot(o,t,e._promises)}}function q$t(e,t,r,n){for(var i=n._subplots[yw]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;if(!t[o]&&s){s.framework.remove();for(var l in s.clipPaths)s.clipPaths[l].remove()}}}i$e.exports={attr:t$e,name:yw,idRoot:yw,idRegex:QJe,attrRegex:QJe,attributes:r$e,layoutAttributes:j$(),supplyLayoutDefaults:$Je(),plot:F$t,clean:q$t,toSVG:Jf().toSVG}});var Z$=ye((Dbr,a$e)=>{\"use strict\";var O$t=Wo().hovertemplateAttrs,B$t=Wo().texttemplateAttrs,b9=no().extendFlat,N$t=Eg(),d0=Uc(),U$t=vl(),KA=d0.line;a$e.exports={mode:d0.mode,real:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},imag:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},text:d0.text,texttemplate:B$t({editType:\"plot\"},{keys:[\"real\",\"imag\",\"text\"]}),hovertext:d0.hovertext,line:{color:KA.color,width:KA.width,dash:KA.dash,backoff:KA.backoff,shape:b9({},KA.shape,{values:[\"linear\",\"spline\"]}),smoothing:KA.smoothing,editType:\"calc\"},connectgaps:d0.connectgaps,marker:d0.marker,cliponaxis:b9({},d0.cliponaxis,{dflt:!1}),textposition:d0.textposition,textfont:d0.textfont,fill:b9({},d0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:N$t(),hoverinfo:b9({},U$t.hoverinfo,{flags:[\"real\",\"imag\",\"text\",\"name\"]}),hoveron:d0.hoveron,hovertemplate:O$t(),selected:d0.selected,unselected:d0.unselected}});var l$e=ye((zbr,s$e)=>{\"use strict\";var w9=Mr(),JA=lu(),V$t=$p(),H$t=R0(),o$e=J3(),G$t=D0(),j$t=Ig(),W$t=Sm().PTS_LINESONLY,Z$t=Z$();s$e.exports=function(t,r,n,i){function a(l,u){return w9.coerce(t,r,Z$t,l,u)}var o=X$t(t,r,i,a);if(!o){r.visible=!1;return}a(\"mode\",o<W$t?\"lines+markers\":\"lines\"),a(\"text\"),a(\"hovertext\"),r.hoveron!==\"fills\"&&a(\"hovertemplate\"),JA.hasMarkers(r)&&V$t(t,r,n,i,a,{gradient:!0}),JA.hasLines(r)&&(H$t(t,r,n,i,a,{backoff:!0}),o$e(t,r,a),a(\"connectgaps\")),JA.hasText(r)&&(a(\"texttemplate\"),G$t(t,r,i,a));var s=[];(JA.hasMarkers(r)||JA.hasText(r))&&(a(\"cliponaxis\"),a(\"marker.maxdisplayed\"),s.push(\"points\")),a(\"fill\"),r.fill!==\"none\"&&(j$t(t,r,n,a),JA.hasLines(r)||o$e(t,r,a)),(r.fill===\"tonext\"||r.fill===\"toself\")&&s.push(\"fills\"),a(\"hoveron\",s.join(\"+\")||\"points\"),w9.coerceSelectionMarkerOpacity(r,a)};function X$t(e,t,r,n){var i=n(\"real\"),a=n(\"imag\"),o;return i&&a&&(o=Math.min(i.length,a.length)),w9.isTypedArray(i)&&(t.real=i=Array.from(i)),w9.isTypedArray(a)&&(t.imag=a=Array.from(a)),t._length=o,o}});var f$e=ye((Fbr,c$e)=>{\"use strict\";var u$e=Qa();c$e.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot;return i.realLabel=u$e.tickText(a.radialAxis,t.real,!0).text,i.imagLabel=u$e.tickText(a.angularAxis,t.imag,!0).text,i}});var v$e=ye((qbr,d$e)=>{\"use strict\";var h$e=uo(),Y$t=es().BADNUM,K$t=z0(),J$t=km(),$$t=F0(),Q$t=q0().calcMarkerSize;d$e.exports=function(t,r){for(var n=t._fullLayout,i=r.subplot,a=n[i].realaxis,o=n[i].imaginaryaxis,s=a.makeCalcdata(r,\"real\"),l=o.makeCalcdata(r,\"imag\"),u=r._length,c=new Array(u),f=0;f<u;f++){var h=s[f],d=l[f],v=c[f]={};h$e(h)&&h$e(d)?(v.real=h,v.imag=d):v.real=Y$t}return Q$t(r,u),K$t(t,r),J$t(c,r),$$t(c,r),c}});var m$e=ye((Obr,g$e)=>{\"use strict\";var eQt=iT(),p$e=es().BADNUM,tQt=P$(),rQt=tQt.smith;g$e.exports=function(t,r,n){for(var i=r.layers.frontplot.select(\"g.scatterlayer\"),a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:r.framework,layerClipId:r._hasClipOnAxisFalse?r.clipIds.forTraces:null},l=0;l<n.length;l++)for(var u=n[l],c=0;c<u.length;c++){c===0&&(u[0].trace._xA=a,u[0].trace._yA=o);var f=u[c],h=f.real;if(h===p$e)f.x=f.y=p$e;else{var d=rQt([h,f.imag]);f.x=d[0],f.y=d[1]}}eQt(t,s,n,i)}});var x$e=ye((Bbr,_$e)=>{\"use strict\";var iQt=sT();function nQt(e,t,r,n){var i=iQt(e,t,r,n);if(!(!i||i[0].index===!1)){var a=i[0];if(a.index===void 0)return i;var o=e.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtInside(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,y$e(s,l,o,a),a.hovertemplate=l.hovertemplate,i}}function y$e(e,t,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle=\"real\",a._hovertitle=\"imag\";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.realLabel=s.realLabel,n.imagLabel=s.imagLabel;var l=e.hi||t.hoverinfo,u=[];function c(h,d){u.push(h._hovertitle+\": \"+d)}if(!t.hovertemplate){var f=l.split(\"+\");f.indexOf(\"all\")!==-1&&(f=[\"real\",\"imag\",\"text\"]),f.indexOf(\"real\")!==-1&&c(i,n.realLabel),f.indexOf(\"imag\")!==-1&&c(a,n.imagLabel),f.indexOf(\"text\")!==-1&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join(\"<br>\")}}_$e.exports={hoverPoints:nQt,makeHoverPointText:y$e}});var w$e=ye((Nbr,b$e)=>{\"use strict\";b$e.exports={moduleType:\"trace\",name:\"scattersmith\",basePlotModule:n$e(),categories:[\"smith\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:Z$(),supplyDefaults:l$e(),colorbar:Kd(),formatLabels:f$e(),calc:v$e(),plot:m$e(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:x$e().hoverPoints,selectPoints:lT(),meta:{}}});var A$e=ye((Ubr,T$e)=>{\"use strict\";T$e.exports=w$e()});var Sv=ye((Vbr,M$e)=>{var A9=bh();function S$e(){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={}}A9(S$e.prototype,{instance:function(e,t){e=(e||\"gregorian\").toLowerCase(),t=t||\"\";var r=this._localCals[e+\"-\"+t];if(!r&&this.calendars[e]&&(r=new this.calendars[e](t),this._localCals[e+\"-\"+t]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[\"\"].invalidCalendar).replace(/\\{0\\}/,e);return r},newDate:function(e,t,r,n,i){return n=(e!=null&&e.year?e.calendar():typeof n==\"string\"?this.instance(n,i):n)||this.instance(),n.newDate(e,t,r)},substituteDigits:function(e){return function(t){return(t+\"\").replace(/[0-9]/g,function(r){return e[r]})}},substituteChineseDigits:function(e,t){return function(r){for(var n=\"\",i=0;r>0;){var a=r%10;n=(a===0?\"\":e[a]+t[i])+n,i++,r=Math.floor(r/10)}return n.indexOf(e[1]+t[1])===0&&(n=n.substr(1)),n||e[0]}}});function X$(e,t,r,n){if(this._calendar=e,this._year=t,this._month=r,this._day=n,this._calendar._validateLevel===0&&!this._calendar.isValid(this._year,this._month,this._day))throw(Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name)}function T9(e,t){return e=\"\"+e,\"000000\".substring(0,t-e.length)+e}A9(X$.prototype,{newDate:function(e,t,r){return this._calendar.newDate(e==null?this:e,t,r)},year:function(e){return arguments.length===0?this._year:this.set(e,\"y\")},month:function(e){return arguments.length===0?this._month:this.set(e,\"m\")},day:function(e){return arguments.length===0?this._day:this.set(e,\"d\")},date:function(e,t,r){if(!this._calendar.isValid(e,t,r))throw(Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name);return this._year=e,this._month=t,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(e,t){return this._calendar.add(this,e,t)},set:function(e,t){return this._calendar.set(this,e,t)},compareTo:function(e){if(this._calendar.name!==e._calendar.name)throw(Es.local.differentCalendars||Es.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this._calendar.local.name).replace(/\\{1\\}/,e._calendar.local.name);var t=this._year!==e._year?this._year-e._year:this._month!==e._month?this.monthOfYear()-e.monthOfYear():this._day-e._day;return t===0?0:t<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(e){return this._calendar.fromJD(e)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(e){return this._calendar.fromJSDate(e)},toString:function(){return(this.year()<0?\"-\":\"\")+T9(Math.abs(this.year()),4)+\"-\"+T9(this.month(),2)+\"-\"+T9(this.day(),2)}});function Y$(){this.shortYearCutoff=\"+10\"}A9(Y$.prototype,{_validateLevel:0,newDate:function(e,t,r){return e==null?this.today():(e.year&&(this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),r=e.day(),t=e.month(),e=e.year()),new X$(this,e,t,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(e){var t=this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear);return t.year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear);return(t.year()<0?\"-\":\"\")+T9(Math.abs(t.year()),4)},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear),12},monthOfYear:function(e,t){var r=this._validate(e,t,this.minDay,Es.local.invalidMonth||Es.regionalOptions[\"\"].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(e,t){var r=(t+this.firstMonth-2*this.minMonth)%this.monthsInYear(e)+this.minMonth;return this._validate(e,r,this.minDay,Es.local.invalidMonth||Es.regionalOptions[\"\"].invalidMonth),r},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear);return this.leapYear(t)?366:365},dayOfYear:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(e,t,r){return this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),{}},add:function(e,t,r){return this._validate(e,this.minMonth,this.minDay,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),this._correctAdd(e,this._add(e,t,r),t,r)},_add:function(e,t,r){if(this._validateLevel++,r===\"d\"||r===\"w\"){var n=e.toJD()+t*(r===\"w\"?this.daysInWeek():1),i=e.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=e.year()+(r===\"y\"?t:0),o=e.monthOfYear()+(r===\"m\"?t:0),i=e.day(),s=function(c){for(;o<c.minMonth;)a--,o+=c.monthsInYear(a);for(var f=c.monthsInYear(a);o>f-1+c.minMonth;)a++,o-=f,f=c.monthsInYear(a)};r===\"y\"?(e.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,e.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):r===\"m\"&&(s(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var l=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,l}catch(u){throw this._validateLevel--,u}},_correctAdd:function(e,t,r,n){if(!this.hasYearZero&&(n===\"y\"||n===\"m\")&&(t[0]===0||e.year()>0!=t[0]>0)){var i={y:[1,1,\"y\"],m:[1,this.monthsInYear(-1),\"m\"],w:[this.daysInWeek(),this.daysInYear(-1),\"d\"],d:[1,this.daysInYear(-1),\"d\"]}[n],a=r<0?-1:1;t=this._add(e,r*i[0]+a*i[1],i[2])}return e.date(t[0],t[1],t[2])},set:function(e,t,r){this._validate(e,this.minMonth,this.minDay,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);var n=r===\"y\"?t:e.year(),i=r===\"m\"?t:e.month(),a=r===\"d\"?t:e.day();return(r===\"y\"||r===\"m\")&&(a=Math.min(a,this.daysInMonth(n,i))),e.date(n,i,a)},isValid:function(e,t,r){this._validateLevel++;var n=this.hasYearZero||e!==0;if(n){var i=this.newDate(e,t,this.minDay);n=t>=this.minMonth&&t-this.minMonth<this.monthsInYear(i)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(i)}return this._validateLevel--,n},toJSDate:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);return Es.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(e){return this.fromJD(Es.instance().fromJSDate(e).toJD())},_validate:function(e,t,r,n){if(e.year){if(this._validateLevel===0&&this.name!==e.calendar().name)throw(Es.local.differentCalendars||Es.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this.local.name).replace(/\\{1\\}/,e.calendar().local.name);return e}try{if(this._validateLevel++,this._validateLevel===1&&!this.isValid(e,t,r))throw n.replace(/\\{0\\}/,this.local.name);var i=this.newDate(e,t,r);return this._validateLevel--,i}catch(a){throw this._validateLevel--,a}}});function K$(e){this.local=this.regionalOptions[e]||this.regionalOptions[\"\"]}K$.prototype=new Y$;A9(K$.prototype,{name:\"Gregorian\",jdEpoch:17214255e-1,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Gregorian\",epochs:[\"BCE\",\"CE\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"mm/dd/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===0&&(r%100!==0||r%400===0)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Es.local.invalidMonth||Es.regionalOptions[\"\"].invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);e=n.year(),t=n.month(),r=n.day(),e<0&&e++,t<3&&(t+=12,e--);var i=Math.floor(e/100),a=2-i+Math.floor(i/4);return Math.floor(365.25*(e+4716))+Math.floor(30.6001*(t+1))+r+a-1524.5},fromJD:function(e){var t=Math.floor(e+.5),r=Math.floor((t-186721625e-2)/36524.25);r=t+1+r-Math.floor(r/4);var n=r+1524,i=Math.floor((n-122.1)/365.25),a=Math.floor(365.25*i),o=Math.floor((n-a)/30.6001),s=n-a-Math.floor(o*30.6001),l=o-(o>13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(e){return this.newDate(e.getFullYear(),e.getMonth()+1,e.getDate())}});var Es=M$e.exports=new S$e;Es.cdate=X$;Es.baseCalendar=Y$;Es.calendars.gregorian=K$});var E$e=ye(()=>{var J$=bh(),qd=Sv();J$(qd.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\"});qd.local=qd.regionalOptions[\"\"];J$(qd.cdate.prototype,{formatDate:function(e,t){return typeof e!=\"string\"&&(t=e,e=\"\"),this._calendar.formatDate(e||\"\",this,t)}});J$(qd.baseCalendar.prototype,{UNIX_EPOCH:qd.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:24*60*60,TICKS_EPOCH:qd.instance().jdEpoch,TICKS_PER_DAY:24*60*60*1e7,ATOM:\"yyyy-mm-dd\",COOKIE:\"D, dd M yyyy\",FULL:\"DD, MM d, yyyy\",ISO_8601:\"yyyy-mm-dd\",JULIAN:\"J\",RFC_822:\"D, d M yy\",RFC_850:\"DD, dd-M-yy\",RFC_1036:\"D, d M yy\",RFC_1123:\"D, d M yyyy\",RFC_2822:\"D, d M yyyy\",RSS:\"D, d M yy\",TICKS:\"!\",TIMESTAMP:\"@\",W3C:\"yyyy-mm-dd\",formatDate:function(e,t,r){if(typeof e!=\"string\"&&(r=t,t=e,e=\"\"),!t)return\"\";if(t.calendar()!==this)throw qd.local.invalidFormat||qd.regionalOptions[\"\"].invalidFormat;e=e||this.local.dateFormat,r=r||{};for(var n=r.dayNamesShort||this.local.dayNamesShort,i=r.dayNames||this.local.dayNames,a=r.monthNumbers||this.local.monthNumbers,o=r.monthNamesShort||this.local.monthNamesShort,s=r.monthNames||this.local.monthNames,l=r.calculateWeek||this.local.calculateWeek,u=function(A,L){for(var _=1;k+_<e.length&&e.charAt(k+_)===A;)_++;return k+=_-1,Math.floor(_/(L||1))>1},c=function(A,L,_,C){var M=\"\"+L;if(u(A,C))for(;M.length<_;)M=\"0\"+M;return M},f=function(A,L,_,C){return u(A)?C[L]:_[L]},h=this,d=function(A){return typeof a==\"function\"?a.call(h,A,u(\"m\")):b(c(\"m\",A.month(),2))},v=function(A,L){return L?typeof s==\"function\"?s.call(h,A):s[A.month()-h.minMonth]:typeof o==\"function\"?o.call(h,A):o[A.month()-h.minMonth]},x=this.local.digits,b=function(A){return r.localNumbers&&x?x(A):A},p=\"\",E=!1,k=0;k<e.length;k++)if(E)e.charAt(k)===\"'\"&&!u(\"'\")?E=!1:p+=e.charAt(k);else switch(e.charAt(k)){case\"d\":p+=b(c(\"d\",t.day(),2));break;case\"D\":p+=f(\"D\",t.dayOfWeek(),n,i);break;case\"o\":p+=c(\"o\",t.dayOfYear(),3);break;case\"w\":p+=c(\"w\",t.weekOfYear(),2);break;case\"m\":p+=d(t);break;case\"M\":p+=v(t,u(\"M\"));break;case\"y\":p+=u(\"y\",2)?t.year():(t.year()%100<10?\"0\":\"\")+t.year()%100;break;case\"Y\":u(\"Y\",2),p+=t.formatYear();break;case\"J\":p+=t.toJD();break;case\"@\":p+=(t.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case\"!\":p+=(t.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case\"'\":u(\"'\")?p+=\"'\":E=!0;break;default:p+=e.charAt(k)}return p},parseDate:function(e,t,r){if(t==null)throw qd.local.invalidArguments||qd.regionalOptions[\"\"].invalidArguments;if(t=typeof t==\"object\"?t.toString():t+\"\",t===\"\")return null;e=e||this.local.dateFormat,r=r||{};var n=r.shortYearCutoff||this.shortYearCutoff;n=typeof n!=\"string\"?n:this.today().year()%100+parseInt(n,10);for(var i=r.dayNamesShort||this.local.dayNamesShort,a=r.dayNames||this.local.dayNames,o=r.parseMonth||this.local.parseMonth,s=r.monthNumbers||this.local.monthNumbers,l=r.monthNamesShort||this.local.monthNamesShort,u=r.monthNames||this.local.monthNames,c=-1,f=-1,h=-1,d=-1,v=-1,x=!1,b=!1,p=function(F,q){for(var V=1;g+V<e.length&&e.charAt(g+V)===F;)V++;return g+=V-1,Math.floor(V/(q||1))>1},E=function(F,q){var V=p(F,q),H=[2,3,V?4:2,V?4:2,10,11,20][\"oyYJ@!\".indexOf(F)+1],X=new RegExp(\"^-?\\\\d{1,\"+H+\"}\"),G=t.substring(M).match(X);if(!G)throw(qd.local.missingNumberAt||qd.regionalOptions[\"\"].missingNumberAt).replace(/\\{0\\}/,M);return M+=G[0].length,parseInt(G[0],10)},k=this,A=function(){if(typeof s==\"function\"){p(\"m\");var F=s.call(k,t.substring(M));return M+=F.length,F}return E(\"m\")},L=function(F,q,V,H){for(var X=p(F,H)?V:q,G=0;G<X.length;G++)if(t.substr(M,X[G].length).toLowerCase()===X[G].toLowerCase())return M+=X[G].length,G+k.minMonth;throw(qd.local.unknownNameAt||qd.regionalOptions[\"\"].unknownNameAt).replace(/\\{0\\}/,M)},_=function(){if(typeof u==\"function\"){var F=p(\"M\")?u.call(k,t.substring(M)):l.call(k,t.substring(M));return M+=F.length,F}return L(\"M\",l,u)},C=function(){if(t.charAt(M)!==e.charAt(g))throw(qd.local.unexpectedLiteralAt||qd.regionalOptions[\"\"].unexpectedLiteralAt).replace(/\\{0\\}/,M);M++},M=0,g=0;g<e.length;g++)if(b)e.charAt(g)===\"'\"&&!p(\"'\")?b=!1:C();else switch(e.charAt(g)){case\"d\":d=E(\"d\");break;case\"D\":L(\"D\",i,a);break;case\"o\":v=E(\"o\");break;case\"w\":E(\"w\");break;case\"m\":h=A();break;case\"M\":h=_();break;case\"y\":var P=g;x=!p(\"y\",2),g=P,f=E(\"y\",2);break;case\"Y\":f=E(\"Y\",2);break;case\"J\":c=E(\"J\")+.5,t.charAt(M)===\".\"&&(M++,E(\"J\"));break;case\"@\":c=E(\"@\")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case\"!\":c=E(\"!\")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case\"*\":M=t.length;break;case\"'\":p(\"'\")?C():b=!0;break;default:C()}if(M<t.length)throw qd.local.unexpectedText||qd.regionalOptions[\"\"].unexpectedText;if(f===-1?f=this.today().year():f<100&&x&&(f+=n===-1?1900:this.today().year()-this.today().year()%100-(f<=n?0:100)),typeof h==\"string\"&&(h=o.call(this,f,h)),v>-1){h=1,d=v;for(var T=this.daysInMonth(f,h);d>T;T=this.daysInMonth(f,h))h++,d-=T}return c>-1?this.fromJD(c):this.newDate(f,h,d)},determineDate:function(e,t,r,n,i){r&&typeof r!=\"object\"&&(i=n,n=r,r=null),typeof n!=\"string\"&&(i=n,n=\"\");var a=this,o=function(s){try{return a.parseDate(n,s,i)}catch(f){}s=s.toLowerCase();for(var l=(s.match(/^c/)&&r?r.newDate():null)||a.today(),u=/([+-]?[0-9]+)\\s*(d|w|m|y)?/g,c=u.exec(s);c;)l.add(parseInt(c[1],10),c[2]||\"d\"),c=u.exec(s);return l};return t=t?t.newDate():null,e=e==null?t:typeof e==\"string\"?o(e):typeof e==\"number\"?isNaN(e)||e===1/0||e===-1/0?t:a.today().add(e,\"d\"):a.newDate(e),e}})});var k$e=ye(()=>{var zx=Sv(),aQt=bh(),$$=zx.instance();function S9(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}S9.prototype=new zx.baseCalendar;aQt(S9.prototype,{name:\"Chinese\",jdEpoch:17214255e-1,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{\"\":{name:\"Chinese\",epochs:[\"BEC\",\"EC\"],monthNumbers:function(e,t){if(typeof e==\"string\"){var r=e.match(sQt);return r?r[0]:\"\"}var n=this._validateYear(e),i=e.month(),a=\"\"+this.toChineseMonth(n,i);return t&&a.length<2&&(a=\"0\"+a),this.isIntercalaryMonth(n,i)&&(a+=\"i\"),a},monthNames:function(e){if(typeof e==\"string\"){var t=e.match(lQt);return t?t[0]:\"\"}var r=this._validateYear(e),n=e.month(),i=this.toChineseMonth(r,n),a=[\"\\u4E00\\u6708\",\"\\u4E8C\\u6708\",\"\\u4E09\\u6708\",\"\\u56DB\\u6708\",\"\\u4E94\\u6708\",\"\\u516D\\u6708\",\"\\u4E03\\u6708\",\"\\u516B\\u6708\",\"\\u4E5D\\u6708\",\"\\u5341\\u6708\",\"\\u5341\\u4E00\\u6708\",\"\\u5341\\u4E8C\\u6708\"][i-1];return this.isIntercalaryMonth(r,n)&&(a=\"\\u95F0\"+a),a},monthNamesShort:function(e){if(typeof e==\"string\"){var t=e.match(uQt);return t?t[0]:\"\"}var r=this._validateYear(e),n=e.month(),i=this.toChineseMonth(r,n),a=[\"\\u4E00\",\"\\u4E8C\",\"\\u4E09\",\"\\u56DB\",\"\\u4E94\",\"\\u516D\",\"\\u4E03\",\"\\u516B\",\"\\u4E5D\",\"\\u5341\",\"\\u5341\\u4E00\",\"\\u5341\\u4E8C\"][i-1];return this.isIntercalaryMonth(r,n)&&(a=\"\\u95F0\"+a),a},parseMonth:function(e,t){e=this._validateYear(e);var r=parseInt(t),n;if(isNaN(r))t[0]===\"\\u95F0\"&&(n=!0,t=t.substring(1)),t[t.length-1]===\"\\u6708\"&&(t=t.substring(0,t.length-1)),r=1+[\"\\u4E00\",\"\\u4E8C\",\"\\u4E09\",\"\\u56DB\",\"\\u4E94\",\"\\u516D\",\"\\u4E03\",\"\\u516B\",\"\\u4E5D\",\"\\u5341\",\"\\u5341\\u4E00\",\"\\u5341\\u4E8C\"].indexOf(t);else{var i=t[t.length-1];n=i===\"i\"||i===\"I\"}var a=this.toMonthIndex(e,r,n);return a},dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:1,isRTL:!1}},_validateYear:function(e,t){if(e.year&&(e=e.year()),typeof e!=\"number\"||e<1888||e>2111)throw t.replace(/\\{0\\}/,this.local.name);return e},toMonthIndex:function(e,t,r){var n=this.intercalaryMonth(e),i=r&&t!==n;if(i||t<1||t>12)throw zx.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var a;return n?!r&&t<=n?a=t-1:a=t:a=t-1,a},toChineseMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e),n=r?12:11;if(t<0||t>n)throw zx.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var i;return r?t<r?i=t+1:i=t:i=t+1,i},intercalaryMonth:function(e){e=this._validateYear(e);var t=Fx[e-Fx[0]],r=t>>13;return r},isIntercalaryMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e);return!!r&&r===t},leapYear:function(e){return this.intercalaryMonth(e)!==0},weekOfYear:function(e,t,r){var n=this._validateYear(e,zx.local.invalidyear),i=qx[n-qx[0]],a=i>>9&4095,o=i>>5&15,s=i&31,l;l=$$.newDate(a,o,s),l.add(4-(l.dayOfWeek()||7),\"d\");var u=this.toJD(e,t,r)-l.toJD();return 1+Math.floor(u/7)},monthsInYear:function(e){return this.leapYear(e)?13:12},daysInMonth:function(e,t){e.year&&(t=e.month(),e=e.year()),e=this._validateYear(e);var r=Fx[e-Fx[0]],n=r>>13,i=n?12:11;if(t>i)throw zx.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var a=r&1<<12-t?30:29;return a},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,a,r,zx.local.invalidDate);e=this._validateYear(n.year()),t=n.month(),r=n.day();var i=this.isIntercalaryMonth(e,t),a=this.toChineseMonth(e,t),o=fQt(e,a,r,i);return $$.toJD(o.year,o.month,o.day)},fromJD:function(e){var t=$$.fromJD(e),r=cQt(t.year(),t.month(),t.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(e){var t=e.match(oQt),r=this._validateYear(+t[1]),n=+t[2],i=!!t[3],a=this.toMonthIndex(r,n,i),o=+t[4];return this.newDate(r,a,o)},add:function(e,t,r){var n=e.year(),i=e.month(),a=this.isIntercalaryMonth(n,i),o=this.toChineseMonth(n,i),s=Object.getPrototypeOf(S9.prototype).add.call(this,e,t,r);if(r===\"y\"){var l=s.year(),u=s.month(),c=this.isIntercalaryMonth(l,o),f=a&&c?this.toMonthIndex(l,o,!0):this.toMonthIndex(l,o,!1);f!==u&&s.month(f)}return s}});var oQt=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)[-/](\\d?\\d)([iI]?)[-/](\\d?\\d)/m,sQt=/^\\d?\\d[iI]?/m,lQt=/^闰?十?[一二三四五六七八九]?月/m,uQt=/^闰?十?[一二三四五六七八九]?/m;zx.calendars.chinese=S9;var Fx=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],qx=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904];function cQt(e,t,r,n){var i,a;if(typeof e==\"object\")i=e,a=t||{};else{var o=typeof e==\"number\"&&e>=1888&&e<=2111;if(!o)throw new Error(\"Solar year outside range 1888-2111\");var s=typeof t==\"number\"&&t>=1&&t<=12;if(!s)throw new Error(\"Solar month outside range 1 - 12\");var l=typeof r==\"number\"&&r>=1&&r<=31;if(!l)throw new Error(\"Solar day outside range 1 - 31\");i={year:e,month:t,day:r},a=n||{}}var u=qx[i.year-qx[0]],c=i.year<<9|i.month<<5|i.day;a.year=c>=u?i.year:i.year-1,u=qx[a.year-qx[0]];var f=u>>9&4095,h=u>>5&15,d=u&31,v,x=new Date(f,h-1,d),b=new Date(i.year,i.month-1,i.day);v=Math.round((b-x)/(24*3600*1e3));var p=Fx[a.year-Fx[0]],E;for(E=0;E<13;E++){var k=p&1<<12-E?30:29;if(v<k)break;v-=k}var A=p>>13;return!A||E<A?(a.isIntercalary=!1,a.month=1+E):E===A?(a.isIntercalary=!0,a.month=E):(a.isIntercalary=!1,a.month=E),a.day=1+v,a}function fQt(e,t,r,n,i){var a,o;if(typeof e==\"object\")o=e,a=t||{};else{var s=typeof e==\"number\"&&e>=1888&&e<=2111;if(!s)throw new Error(\"Lunar year outside range 1888-2111\");var l=typeof t==\"number\"&&t>=1&&t<=12;if(!l)throw new Error(\"Lunar month outside range 1 - 12\");var u=typeof r==\"number\"&&r>=1&&r<=30;if(!u)throw new Error(\"Lunar day outside range 1 - 30\");var c;typeof n==\"object\"?(c=!1,a=n):(c=!!n,a=i||{}),o={year:e,month:t,day:r,isIntercalary:c}}var f;f=o.day-1;var h=Fx[o.year-Fx[0]],d=h>>13,v;d&&(o.month>d||o.isIntercalary)?v=o.month:v=o.month-1;for(var x=0;x<v;x++){var b=h&1<<12-x?30:29;f+=b}var p=qx[o.year-qx[0]],E=p>>9&4095,k=p>>5&15,A=p&31,L=new Date(E,k-1,A+f);return a.year=L.getFullYear(),a.month=1+L.getMonth(),a.day=L.getDate(),a}});var C$e=ye(()=>{var _w=Sv(),hQt=bh();function Q$(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}Q$.prototype=new _w.baseCalendar;hQt(Q$.prototype,{name:\"Coptic\",jdEpoch:18250295e-1,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Coptic\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Thout\",\"Paopi\",\"Hathor\",\"Koiak\",\"Tobi\",\"Meshir\",\"Paremhat\",\"Paremoude\",\"Pashons\",\"Paoni\",\"Epip\",\"Mesori\",\"Pi Kogi Enavot\"],monthNamesShort:[\"Tho\",\"Pao\",\"Hath\",\"Koi\",\"Tob\",\"Mesh\",\"Pat\",\"Pad\",\"Pash\",\"Pao\",\"Epi\",\"Meso\",\"PiK\"],dayNames:[\"Tkyriaka\",\"Pesnau\",\"Pshoment\",\"Peftoou\",\"Ptiou\",\"Psoou\",\"Psabbaton\"],dayNamesShort:[\"Tky\",\"Pes\",\"Psh\",\"Pef\",\"Pti\",\"Pso\",\"Psa\"],dayNamesMin:[\"Tk\",\"Pes\",\"Psh\",\"Pef\",\"Pt\",\"Pso\",\"Psa\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,_w.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,_w.local.invalidYear||_w.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,_w.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,_w.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}});_w.calendars.coptic=Q$});var L$e=ye(()=>{var b1=Sv(),dQt=bh();function eQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}eQ.prototype=new b1.baseCalendar;dQt(eQ.prototype,{name:\"Discworld\",jdEpoch:17214255e-1,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Discworld\",epochs:[\"BUC\",\"UC\"],monthNames:[\"Ick\",\"Offle\",\"February\",\"March\",\"April\",\"May\",\"June\",\"Grune\",\"August\",\"Spune\",\"Sektober\",\"Ember\",\"December\"],monthNamesShort:[\"Ick\",\"Off\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Gru\",\"Aug\",\"Spu\",\"Sek\",\"Emb\",\"Dec\"],dayNames:[\"Sunday\",\"Octeday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Oct\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Oc\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:2,isRTL:!1}},leapYear:function(e){return this._validate(e,this.minMonth,this.minDay,b1.local.invalidYear),!1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,b1.local.invalidYear),13},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,b1.local.invalidYear),400},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,b1.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,b1.local.invalidDate);return(n.day()+1)%8},weekDay:function(e,t,r){var n=this.dayOfWeek(e,t,r);return n>=2&&n<=6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,b1.local.invalidDate);return{century:vQt[Math.floor((n.year()-1)/100)+1]||\"\"}},toJD:function(e,t,r){var n=this._validate(e,t,r,b1.local.invalidDate);return e=n.year()+(n.year()<0?1:0),t=n.month(),r=n.day(),r+(t>1?16:0)+(t>2?(t-2)*32:0)+(e-1)*400+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e+.5)-Math.floor(this.jdEpoch)-1;var t=Math.floor(e/400)+1;e-=(t-1)*400,e+=e>15?16:0;var r=Math.floor(e/32)+1,n=e-(r-1)*32+1;return this.newDate(t<=0?t-1:t,r,n)}});var vQt={20:\"Fruitbat\",21:\"Anchovy\"};b1.calendars.discworld=eQ});var P$e=ye(()=>{var xw=Sv(),pQt=bh();function tQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}tQ.prototype=new xw.baseCalendar;pQt(tQ.prototype,{name:\"Ethiopian\",jdEpoch:17242205e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,xw.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,xw.local.invalidYear||xw.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,xw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,xw.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}});xw.calendars.ethiopian=tQ});var I$e=ye(()=>{var Ox=Sv(),gQt=bh();function rQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}rQ.prototype=new Ox.baseCalendar;gQt(rQ.prototype,{name:\"Hebrew\",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{\"\":{name:\"Hebrew\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Nisan\",\"Iyar\",\"Sivan\",\"Tammuz\",\"Av\",\"Elul\",\"Tishrei\",\"Cheshvan\",\"Kislev\",\"Tevet\",\"Shevat\",\"Adar\",\"Adar II\"],monthNamesShort:[\"Nis\",\"Iya\",\"Siv\",\"Tam\",\"Av\",\"Elu\",\"Tis\",\"Che\",\"Kis\",\"Tev\",\"She\",\"Ada\",\"Ad2\"],dayNames:[\"Yom Rishon\",\"Yom Sheni\",\"Yom Shlishi\",\"Yom Revi'i\",\"Yom Chamishi\",\"Yom Shishi\",\"Yom Shabbat\"],dayNamesShort:[\"Ris\",\"She\",\"Shl\",\"Rev\",\"Cha\",\"Shi\",\"Sha\"],dayNamesMin:[\"Ri\",\"She\",\"Shl\",\"Re\",\"Ch\",\"Shi\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Ox.local.invalidYear);return this._leapYear(t.year())},_leapYear:function(e){return e=e<0?e+1:e,M9(e*7+1,19)<7},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Ox.local.invalidYear),this._leapYear(e.year?e.year():e)?13:12},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Ox.local.invalidYear);return e=t.year(),this.toJD(e===-1?1:e+1,7,1)-this.toJD(e,7,1)},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,Ox.local.invalidMonth),t===12&&this.leapYear(e)||t===8&&M9(this.daysInYear(e),10)===5?30:t===9&&M9(this.daysInYear(e),10)===3?29:this.daysPerMonth[t-1]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,Ox.local.invalidDate);return{yearType:(this.leapYear(n)?\"embolismic\":\"common\")+\" \"+[\"deficient\",\"regular\",\"complete\"][this.daysInYear(n)%10-3]}},toJD:function(e,t,r){var n=this._validate(e,t,r,Ox.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=e<=0?e+1:e,a=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(t<7){for(var o=7;o<=this.monthsInYear(e);o++)a+=this.daysInMonth(e,o);for(var o=1;o<t;o++)a+=this.daysInMonth(e,o)}else for(var o=7;o<t;o++)a+=this.daysInMonth(e,o);return a},_delay1:function(e){var t=Math.floor((235*e-234)/19),r=12084+13753*t,n=t*29+Math.floor(r/25920);return M9(3*(n+1),7)<3&&n++,n},_delay2:function(e){var t=this._delay1(e-1),r=this._delay1(e),n=this._delay1(e+1);return n-r===356?2:r-t===382?1:0},fromJD:function(e){e=Math.floor(e)+.5;for(var t=Math.floor((e-this.jdEpoch)*98496/35975351)-1;e>=this.toJD(t===-1?1:t+1,7,1);)t++;for(var r=e<this.toJD(t,1,1)?7:1;e>this.toJD(t,r,this.daysInMonth(t,r));)r++;var n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});function M9(e,t){return e-t*Math.floor(e/t)}Ox.calendars.hebrew=rQ});var R$e=ye(()=>{var oC=Sv(),mQt=bh();function iQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}iQ.prototype=new oC.baseCalendar;mQt(iQ.prototype,{name:\"Islamic\",jdEpoch:19484395e-1,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(e){var t=this._validate(e,this.minMonth,this.minDay,oC.local.invalidYear);return(t.year()*11+14)%30<11},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){return this.leapYear(e)?355:354},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,oC.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,oC.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e=e<=0?e+1:e,r+Math.ceil(29.5*(t-1))+(e-1)*354+Math.floor((3+11*e)/30)+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=Math.floor((30*(e-this.jdEpoch)+10646)/10631);t=t<=0?t-1:t;var r=Math.min(12,Math.ceil((e-29-this.toJD(t,1,1))/29.5)+1),n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});oC.calendars.islamic=iQ});var D$e=ye(()=>{var sC=Sv(),yQt=bh();function nQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}nQ.prototype=new sC.baseCalendar;yQt(nQ.prototype,{name:\"Julian\",jdEpoch:17214235e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,sC.local.invalidYear),r=t.year()<0?t.year()+1:t.year();return r%4===0},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,sC.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,sC.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e<0&&e++,t<=2&&(e--,t+=12),Math.floor(365.25*(e+4716))+Math.floor(30.6001*(t+1))+r-1524.5},fromJD:function(e){var t=Math.floor(e+.5),r=t+1524,n=Math.floor((r-122.1)/365.25),i=Math.floor(365.25*n),a=Math.floor((r-i)/30.6001),o=a-Math.floor(a<14?1:13),s=n-Math.floor(o>2?4716:4715),l=r-i-Math.floor(30.6001*a);return s<=0&&s--,this.newDate(s,o,l)}});sC.calendars.julian=nQ});var F$e=ye(()=>{var ug=Sv(),_Qt=bh();function oQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}oQ.prototype=new ug.baseCalendar;_Qt(oQ.prototype,{name:\"Mayan\",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{\"\":{name:\"Mayan\",epochs:[\"\",\"\"],monthNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],monthNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],dayNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesMin:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],digits:null,dateFormat:\"YYYY.m.d\",firstDay:0,isRTL:!1,haabMonths:[\"Pop\",\"Uo\",\"Zip\",\"Zotz\",\"Tzec\",\"Xul\",\"Yaxkin\",\"Mol\",\"Chen\",\"Yax\",\"Zac\",\"Ceh\",\"Mac\",\"Kankin\",\"Muan\",\"Pax\",\"Kayab\",\"Cumku\",\"Uayeb\"],tzolkinMonths:[\"Imix\",\"Ik\",\"Akbal\",\"Kan\",\"Chicchan\",\"Cimi\",\"Manik\",\"Lamat\",\"Muluc\",\"Oc\",\"Chuen\",\"Eb\",\"Ben\",\"Ix\",\"Men\",\"Cib\",\"Caban\",\"Etznab\",\"Cauac\",\"Ahau\"]}},leapYear:function(e){return this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear),!1},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear);e=t.year();var r=Math.floor(e/400);e=e%400,e+=e<0?400:0;var n=Math.floor(e/20);return r+\".\"+n+\".\"+e%20},forYear:function(e){if(e=e.split(\".\"),e.length<3)throw\"Invalid Mayan year\";for(var t=0,r=0;r<e.length;r++){var n=parseInt(e[r],10);if(Math.abs(n)>19||r>0&&n<0)throw\"Invalid Mayan year\";t=t*20+n}return t},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear),18},weekOfYear:function(e,t,r){return this._validate(e,t,r,ug.local.invalidDate),0},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear),360},daysInMonth:function(e,t){return this._validate(e,t,this.minDay,ug.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,ug.local.invalidDate);return n.day()},weekDay:function(e,t,r){return this._validate(e,t,r,ug.local.invalidDate),!0},extraInfo:function(e,t,r){var n=this._validate(e,t,r,ug.local.invalidDate),i=n.toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(e){e-=this.jdEpoch;var t=aQ(e+8+17*20,365);return[Math.floor(t/20)+1,aQ(t,20)]},_toTzolkin:function(e){return e-=this.jdEpoch,[z$e(e+20,20),z$e(e+4,13)]},toJD:function(e,t,r){var n=this._validate(e,t,r,ug.local.invalidDate);return n.day()+n.month()*20+n.year()*360+this.jdEpoch},fromJD:function(e){e=Math.floor(e)+.5-this.jdEpoch;var t=Math.floor(e/360);e=e%360,e+=e<0?360:0;var r=Math.floor(e/20),n=e%20;return this.newDate(t,r,n)}});function aQ(e,t){return e-t*Math.floor(e/t)}function z$e(e,t){return aQ(e-1,t)+1}ug.calendars.mayan=oQ});var O$e=ye(()=>{var bw=Sv(),xQt=bh();function sQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}sQ.prototype=new bw.baseCalendar;var q$e=bw.instance(\"gregorian\");xQt(sQ.prototype,{name:\"Nanakshahi\",jdEpoch:22576735e-1,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Nanakshahi\",epochs:[\"BN\",\"AN\"],monthNames:[\"Chet\",\"Vaisakh\",\"Jeth\",\"Harh\",\"Sawan\",\"Bhadon\",\"Assu\",\"Katak\",\"Maghar\",\"Poh\",\"Magh\",\"Phagun\"],monthNamesShort:[\"Che\",\"Vai\",\"Jet\",\"Har\",\"Saw\",\"Bha\",\"Ass\",\"Kat\",\"Mgr\",\"Poh\",\"Mgh\",\"Pha\"],dayNames:[\"Somvaar\",\"Mangalvar\",\"Budhvaar\",\"Veervaar\",\"Shukarvaar\",\"Sanicharvaar\",\"Etvaar\"],dayNamesShort:[\"Som\",\"Mangal\",\"Budh\",\"Veer\",\"Shukar\",\"Sanichar\",\"Et\"],dayNamesMin:[\"So\",\"Ma\",\"Bu\",\"Ve\",\"Sh\",\"Sa\",\"Et\"],digits:null,dateFormat:\"dd-mm-yyyy\",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,bw.local.invalidYear||bw.regionalOptions[\"\"].invalidYear);return q$e.leapYear(t.year()+(t.year()<1?1:0)+1469)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(1-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,bw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,bw.local.invalidMonth),i=n.year();i<0&&i++;for(var a=n.day(),o=1;o<n.month();o++)a+=this.daysPerMonth[o-1];return a+q$e.toJD(i+1468,3,13)},fromJD:function(e){e=Math.floor(e+.5);for(var t=Math.floor((e-(this.jdEpoch-1))/366);e>=this.toJD(t+1,1,1);)t++;for(var r=e-Math.floor(this.toJD(t,1,1)+.5)+1,n=1;r>this.daysInMonth(t,n);)r-=this.daysInMonth(t,n),n++;return this.newDate(t,n,r)}});bw.calendars.nanakshahi=sQ});var B$e=ye(()=>{var ww=Sv(),bQt=bh();function lQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}lQ.prototype=new ww.baseCalendar;bQt(lQ.prototype,{name:\"Nepali\",jdEpoch:17007095e-1,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{\"\":{name:\"Nepali\",epochs:[\"BBS\",\"ABS\"],monthNames:[\"Baisakh\",\"Jestha\",\"Ashadh\",\"Shrawan\",\"Bhadra\",\"Ashwin\",\"Kartik\",\"Mangsir\",\"Paush\",\"Mangh\",\"Falgun\",\"Chaitra\"],monthNamesShort:[\"Bai\",\"Je\",\"As\",\"Shra\",\"Bha\",\"Ash\",\"Kar\",\"Mang\",\"Pau\",\"Ma\",\"Fal\",\"Chai\"],dayNames:[\"Aaitabaar\",\"Sombaar\",\"Manglbaar\",\"Budhabaar\",\"Bihibaar\",\"Shukrabaar\",\"Shanibaar\"],dayNamesShort:[\"Aaita\",\"Som\",\"Mangl\",\"Budha\",\"Bihi\",\"Shukra\",\"Shani\"],dayNamesMin:[\"Aai\",\"So\",\"Man\",\"Bu\",\"Bi\",\"Shu\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:1,isRTL:!1}},leapYear:function(e){return this.daysInYear(e)!==this.daysPerYear},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,ww.local.invalidYear);if(e=t.year(),typeof this.NEPALI_CALENDAR_DATA[e]==\"undefined\")return this.daysPerYear;for(var r=0,n=this.minMonth;n<=12;n++)r+=this.NEPALI_CALENDAR_DATA[e][n];return r},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,ww.local.invalidMonth),typeof this.NEPALI_CALENDAR_DATA[e]==\"undefined\"?this.daysPerMonth[t-1]:this.NEPALI_CALENDAR_DATA[e][t]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},toJD:function(e,t,r){var n=this._validate(e,t,r,ww.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=ww.instance(),a=0,o=t,s=e;this._createMissingCalendarData(e);var l=e-(o>9||o===9&&r>=this.NEPALI_CALENDAR_DATA[s][0]?56:57);for(t!==9&&(a=r,o--);o!==9;)o<=0&&(o=12,s--),a+=this.NEPALI_CALENDAR_DATA[s][o],o--;return t===9?(a+=r-this.NEPALI_CALENDAR_DATA[s][0],a<0&&(a+=i.daysInYear(l))):a+=this.NEPALI_CALENDAR_DATA[s][9]-this.NEPALI_CALENDAR_DATA[s][0],i.newDate(l,1,1).add(a,\"d\").toJD()},fromJD:function(e){var t=ww.instance(),r=t.fromJD(e),n=r.year(),i=r.dayOfYear(),a=n+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++,o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var u=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,u)},_createMissingCalendarData:function(e){var t=this.daysPerMonth.slice(0);t.unshift(17);for(var r=e-1;r<e+2;r++)typeof this.NEPALI_CALENDAR_DATA[r]==\"undefined\"&&(this.NEPALI_CALENDAR_DATA[r]=t)},NEPALI_CALENDAR_DATA:{1970:[18,31,31,32,31,31,31,30,29,30,29,30,30],1971:[18,31,31,32,31,32,30,30,29,30,29,30,30],1972:[17,31,32,31,32,31,30,30,30,29,29,30,30],1973:[19,30,32,31,32,31,30,30,30,29,30,29,31],1974:[19,31,31,32,30,31,31,30,29,30,29,30,30],1975:[18,31,31,32,32,30,31,30,29,30,29,30,30],1976:[17,31,32,31,32,31,30,30,30,29,29,30,31],1977:[18,31,32,31,32,31,31,29,30,29,30,29,31],1978:[18,31,31,32,31,31,31,30,29,30,29,30,30],1979:[18,31,31,32,32,31,30,30,29,30,29,30,30],1980:[17,31,32,31,32,31,30,30,30,29,29,30,31],1981:[18,31,31,31,32,31,31,29,30,30,29,30,30],1982:[18,31,31,32,31,31,31,30,29,30,29,30,30],1983:[18,31,31,32,32,31,30,30,29,30,29,30,30],1984:[17,31,32,31,32,31,30,30,30,29,29,30,31],1985:[18,31,31,31,32,31,31,29,30,30,29,30,30],1986:[18,31,31,32,31,31,31,30,29,30,29,30,30],1987:[18,31,32,31,32,31,30,30,29,30,29,30,30],1988:[17,31,32,31,32,31,30,30,30,29,29,30,31],1989:[18,31,31,31,32,31,31,30,29,30,29,30,30],1990:[18,31,31,32,31,31,31,30,29,30,29,30,30],1991:[18,31,32,31,32,31,30,30,29,30,29,30,30],1992:[17,31,32,31,32,31,30,30,30,29,30,29,31],1993:[18,31,31,31,32,31,31,30,29,30,29,30,30],1994:[18,31,31,32,31,31,31,30,29,30,29,30,30],1995:[17,31,32,31,32,31,30,30,30,29,29,30,30],1996:[17,31,32,31,32,31,30,30,30,29,30,29,31],1997:[18,31,31,32,31,31,31,30,29,30,29,30,30],1998:[18,31,31,32,31,31,31,30,29,30,29,30,30],1999:[17,31,32,31,32,31,30,30,30,29,29,30,31],2e3:[17,30,32,31,32,31,30,30,30,29,30,29,31],2001:[18,31,31,32,31,31,31,30,29,30,29,30,30],2002:[18,31,31,32,32,31,30,30,29,30,29,30,30],2003:[17,31,32,31,32,31,30,30,30,29,29,30,31],2004:[17,30,32,31,32,31,30,30,30,29,30,29,31],2005:[18,31,31,32,31,31,31,30,29,30,29,30,30],2006:[18,31,31,32,32,31,30,30,29,30,29,30,30],2007:[17,31,32,31,32,31,30,30,30,29,29,30,31],2008:[17,31,31,31,32,31,31,29,30,30,29,29,31],2009:[18,31,31,32,31,31,31,30,29,30,29,30,30],2010:[18,31,31,32,32,31,30,30,29,30,29,30,30],2011:[17,31,32,31,32,31,30,30,30,29,29,30,31],2012:[17,31,31,31,32,31,31,29,30,30,29,30,30],2013:[18,31,31,32,31,31,31,30,29,30,29,30,30],2014:[18,31,31,32,32,31,30,30,29,30,29,30,30],2015:[17,31,32,31,32,31,30,30,30,29,29,30,31],2016:[17,31,31,31,32,31,31,29,30,30,29,30,30],2017:[18,31,31,32,31,31,31,30,29,30,29,30,30],2018:[18,31,32,31,32,31,30,30,29,30,29,30,30],2019:[17,31,32,31,32,31,30,30,30,29,30,29,31],2020:[17,31,31,31,32,31,31,30,29,30,29,30,30],2021:[18,31,31,32,31,31,31,30,29,30,29,30,30],2022:[17,31,32,31,32,31,30,30,30,29,29,30,30],2023:[17,31,32,31,32,31,30,30,30,29,30,29,31],2024:[17,31,31,31,32,31,31,30,29,30,29,30,30],2025:[18,31,31,32,31,31,31,30,29,30,29,30,30],2026:[17,31,32,31,32,31,30,30,30,29,29,30,31],2027:[17,30,32,31,32,31,30,30,30,29,30,29,31],2028:[17,31,31,32,31,31,31,30,29,30,29,30,30],2029:[18,31,31,32,31,32,30,30,29,30,29,30,30],2030:[17,31,32,31,32,31,30,30,30,30,30,30,31],2031:[17,31,32,31,32,31,31,31,31,31,31,31,31],2032:[17,32,32,32,32,32,32,32,32,32,32,32,32],2033:[18,31,31,32,32,31,30,30,29,30,29,30,30],2034:[17,31,32,31,32,31,30,30,30,29,29,30,31],2035:[17,30,32,31,32,31,31,29,30,30,29,29,31],2036:[17,31,31,32,31,31,31,30,29,30,29,30,30],2037:[18,31,31,32,32,31,30,30,29,30,29,30,30],2038:[17,31,32,31,32,31,30,30,30,29,29,30,31],2039:[17,31,31,31,32,31,31,29,30,30,29,30,30],2040:[17,31,31,32,31,31,31,30,29,30,29,30,30],2041:[18,31,31,32,32,31,30,30,29,30,29,30,30],2042:[17,31,32,31,32,31,30,30,30,29,29,30,31],2043:[17,31,31,31,32,31,31,29,30,30,29,30,30],2044:[17,31,31,32,31,31,31,30,29,30,29,30,30],2045:[18,31,32,31,32,31,30,30,29,30,29,30,30],2046:[17,31,32,31,32,31,30,30,30,29,29,30,31],2047:[17,31,31,31,32,31,31,30,29,30,29,30,30],2048:[17,31,31,32,31,31,31,30,29,30,29,30,30],2049:[17,31,32,31,32,31,30,30,30,29,29,30,30],2050:[17,31,32,31,32,31,30,30,30,29,30,29,31],2051:[17,31,31,31,32,31,31,30,29,30,29,30,30],2052:[17,31,31,32,31,31,31,30,29,30,29,30,30],2053:[17,31,32,31,32,31,30,30,30,29,29,30,30],2054:[17,31,32,31,32,31,30,30,30,29,30,29,31],2055:[17,31,31,32,31,31,31,30,29,30,30,29,30],2056:[17,31,31,32,31,32,30,30,29,30,29,30,30],2057:[17,31,32,31,32,31,30,30,30,29,29,30,31],2058:[17,30,32,31,32,31,30,30,30,29,30,29,31],2059:[17,31,31,32,31,31,31,30,29,30,29,30,30],2060:[17,31,31,32,32,31,30,30,29,30,29,30,30],2061:[17,31,32,31,32,31,30,30,30,29,29,30,31],2062:[17,30,32,31,32,31,31,29,30,29,30,29,31],2063:[17,31,31,32,31,31,31,30,29,30,29,30,30],2064:[17,31,31,32,32,31,30,30,29,30,29,30,30],2065:[17,31,32,31,32,31,30,30,30,29,29,30,31],2066:[17,31,31,31,32,31,31,29,30,30,29,29,31],2067:[17,31,31,32,31,31,31,30,29,30,29,30,30],2068:[17,31,31,32,32,31,30,30,29,30,29,30,30],2069:[17,31,32,31,32,31,30,30,30,29,29,30,31],2070:[17,31,31,31,32,31,31,29,30,30,29,30,30],2071:[17,31,31,32,31,31,31,30,29,30,29,30,30],2072:[17,31,32,31,32,31,30,30,29,30,29,30,30],2073:[17,31,32,31,32,31,30,30,30,29,29,30,31],2074:[17,31,31,31,32,31,31,30,29,30,29,30,30],2075:[17,31,31,32,31,31,31,30,29,30,29,30,30],2076:[16,31,32,31,32,31,30,30,30,29,29,30,30],2077:[17,31,32,31,32,31,30,30,30,29,30,29,31],2078:[17,31,31,31,32,31,31,30,29,30,29,30,30],2079:[17,31,31,32,31,31,31,30,29,30,29,30,30],2080:[16,31,32,31,32,31,30,30,30,29,29,30,30],2081:[17,31,31,32,32,31,30,30,30,29,30,30,30],2082:[17,31,32,31,32,31,30,30,30,29,30,30,30],2083:[17,31,31,32,31,31,30,30,30,29,30,30,30],2084:[17,31,31,32,31,31,30,30,30,29,30,30,30],2085:[17,31,32,31,32,31,31,30,30,29,30,30,30],2086:[17,31,32,31,32,31,30,30,30,29,30,30,30],2087:[16,31,31,32,31,31,31,30,30,29,30,30,30],2088:[16,30,31,32,32,30,31,30,30,29,30,30,30],2089:[17,31,32,31,32,31,30,30,30,29,30,30,30],2090:[17,31,32,31,32,31,30,30,30,29,30,30,30],2091:[16,31,31,32,31,31,31,30,30,29,30,30,30],2092:[16,31,31,32,32,31,30,30,30,29,30,30,30],2093:[17,31,32,31,32,31,30,30,30,29,30,30,30],2094:[17,31,31,32,31,31,30,30,30,29,30,30,30],2095:[17,31,31,32,31,31,31,30,29,30,30,30,30],2096:[17,30,31,32,32,31,30,30,29,30,29,30,30],2097:[17,31,32,31,32,31,30,30,30,29,30,30,30],2098:[17,31,31,32,31,31,31,29,30,29,30,30,31],2099:[17,31,31,32,31,31,31,30,29,29,30,30,30],2100:[17,31,32,31,32,30,31,30,29,30,29,30,30]}});ww.calendars.nepali=lQ});var N$e=ye(()=>{var $A=Sv(),wQt=bh();function E9(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}E9.prototype=new $A.baseCalendar;wQt(E9.prototype,{name:\"Persian\",jdEpoch:19483205e-1,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Persian\",epochs:[\"BP\",\"AP\"],monthNames:[\"Farvardin\",\"Ordibehesht\",\"Khordad\",\"Tir\",\"Mordad\",\"Shahrivar\",\"Mehr\",\"Aban\",\"Azar\",\"Day\",\"Bahman\",\"Esfand\"],monthNamesShort:[\"Far\",\"Ord\",\"Kho\",\"Tir\",\"Mor\",\"Sha\",\"Meh\",\"Aba\",\"Aza\",\"Day\",\"Bah\",\"Esf\"],dayNames:[\"Yekshambe\",\"Doshambe\",\"Seshambe\",\"Ch\\xE6harshambe\",\"Panjshambe\",\"Jom'e\",\"Shambe\"],dayNamesShort:[\"Yek\",\"Do\",\"Se\",\"Ch\\xE6\",\"Panj\",\"Jom\",\"Sha\"],dayNamesMin:[\"Ye\",\"Do\",\"Se\",\"Ch\",\"Pa\",\"Jo\",\"Sh\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,$A.local.invalidYear);return((t.year()-(t.year()>0?474:473))%2820+474+38)*682%2816<682},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-((n.dayOfWeek()+1)%7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,$A.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,$A.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=e-(e>=0?474:473),a=474+uQ(i,2820);return r+(t<=7?(t-1)*31:(t-1)*30+6)+Math.floor((a*682-110)/2816)+(a-1)*365+Math.floor(i/2820)*1029983+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=e-this.toJD(475,1,1),r=Math.floor(t/1029983),n=uQ(t,1029983),i=2820;if(n!==1029982){var a=Math.floor(n/366),o=uQ(n,366);i=Math.floor((2134*a+2816*o+2815)/1028522)+a+1}var s=i+2820*r+474;s=s<=0?s-1:s;var l=e-this.toJD(s,1,1)+1,u=l<=186?Math.ceil(l/31):Math.ceil((l-6)/30),c=e-this.toJD(s,u,1)+1;return this.newDate(s,u,c)}});function uQ(e,t){return e-t*Math.floor(e/t)}$A.calendars.persian=E9;$A.calendars.jalali=E9});var U$e=ye(()=>{var Tw=Sv(),TQt=bh(),k9=Tw.instance();function cQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}cQ.prototype=new Tw.baseCalendar;TQt(cQ.prototype,{name:\"Taiwan\",jdEpoch:24194025e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,Tw.local.invalidYear),r=this._t2gYear(t.year());return k9.leapYear(r)},weekOfYear:function(i,t,r){var n=this._validate(i,this.minMonth,this.minDay,Tw.local.invalidYear),i=this._t2gYear(n.year());return k9.weekOfYear(i,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Tw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,Tw.local.invalidDate),i=this._t2gYear(n.year());return k9.toJD(i,n.month(),n.day())},fromJD:function(e){var t=k9.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)},_g2tYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)}});Tw.calendars.taiwan=cQ});var V$e=ye(()=>{var Aw=Sv(),AQt=bh(),C9=Aw.instance();function fQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}fQ.prototype=new Aw.baseCalendar;AQt(fQ.prototype,{name:\"Thai\",jdEpoch:15230985e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,Aw.local.invalidYear),r=this._t2gYear(t.year());return C9.leapYear(r)},weekOfYear:function(i,t,r){var n=this._validate(i,this.minMonth,this.minDay,Aw.local.invalidYear),i=this._t2gYear(n.year());return C9.weekOfYear(i,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Aw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,Aw.local.invalidDate),i=this._t2gYear(n.year());return C9.toJD(i,n.month(),n.day())},fromJD:function(e){var t=C9.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)},_g2tYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)}});Aw.calendars.thai=fQ});var H$e=ye(()=>{var Sw=Sv(),SQt=bh();function hQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}hQ.prototype=new Sw.baseCalendar;SQt(hQ.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(e){var t=this._validate(e,this.minMonth,this.minDay,Sw.local.invalidYear);return this.daysInYear(t.year())===355},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){for(var t=0,r=1;r<=12;r++)t+=this.daysInMonth(e,r);return t},daysInMonth:function(e,t){for(var r=this._validate(e,t,this.minDay,Sw.local.invalidMonth),n=r.toJD()-24e5+.5,i=0,a=0;a<Bx.length;a++){if(Bx[a]>n)return Bx[i]-Bx[i-1];i++}return 30},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,Sw.local.invalidDate),i=12*(n.year()-1)+n.month()-15292,a=n.day()+Bx[i-1]-1;return a+24e5-.5},fromJD:function(e){for(var t=e-24e5+.5,r=0,n=0;n<Bx.length&&!(Bx[n]>t);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),o=a+1,s=i-12*a,l=t-Bx[r-1]+1;return this.newDate(o,s,l)},isValid:function(e,t,r){var n=Sw.baseCalendar.prototype.isValid.apply(this,arguments);return n&&(e=e.year!=null?e.year:e,n=e>=1276&&e<=1500),n},_validate:function(e,t,r,n){var i=Sw.baseCalendar.prototype._validate.apply(this,arguments);if(i.year<1276||i.year>1500)throw n.replace(/\\{0\\}/,this.local.name);return i}});Sw.calendars.ummalqura=hQ;var Bx=[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]});var j$e=ye((_2r,G$e)=>{\"use strict\";G$e.exports=Sv();E$e();k$e();C$e();L$e();P$e();I$e();R$e();D$e();F$e();O$e();B$e();N$e();U$e();V$e();H$e()});var $$e=ye((x2r,J$e)=>{\"use strict\";var Z$e=j$e(),lC=Mr(),X$e=es(),MQt=X$e.EPOCHJD,EQt=X$e.ONEDAY,pQ={valType:\"enumerated\",values:lC.sortObjectKeys(Z$e.calendars),editType:\"calc\",dflt:\"gregorian\"},Y$e=function(e,t,r,n){var i={};return i[r]=pQ,lC.coerce(e,t,i,r,n)},kQt=function(e,t,r,n){for(var i=0;i<r.length;i++)Y$e(e,t,r[i]+\"calendar\",n.calendar)},CQt={chinese:\"2000-01-01\",coptic:\"2000-01-01\",discworld:\"2000-01-01\",ethiopian:\"2000-01-01\",hebrew:\"5000-01-01\",islamic:\"1000-01-01\",julian:\"2000-01-01\",mayan:\"5000-01-01\",nanakshahi:\"1000-01-01\",nepali:\"2000-01-01\",persian:\"1000-01-01\",jalali:\"1000-01-01\",taiwan:\"1000-01-01\",thai:\"2000-01-01\",ummalqura:\"1400-01-01\"},LQt={chinese:\"2000-01-02\",coptic:\"2000-01-03\",discworld:\"2000-01-03\",ethiopian:\"2000-01-05\",hebrew:\"5000-01-01\",islamic:\"1000-01-02\",julian:\"2000-01-03\",mayan:\"5000-01-01\",nanakshahi:\"1000-01-05\",nepali:\"2000-01-05\",persian:\"1000-01-01\",jalali:\"1000-01-01\",taiwan:\"1000-01-04\",thai:\"2000-01-04\",ummalqura:\"1400-01-06\"},PQt={chinese:[\"2000-01-01\",\"2001-01-01\"],coptic:[\"1700-01-01\",\"1701-01-01\"],discworld:[\"1800-01-01\",\"1801-01-01\"],ethiopian:[\"2000-01-01\",\"2001-01-01\"],hebrew:[\"5700-01-01\",\"5701-01-01\"],islamic:[\"1400-01-01\",\"1401-01-01\"],julian:[\"2000-01-01\",\"2001-01-01\"],mayan:[\"5200-01-01\",\"5201-01-01\"],nanakshahi:[\"0500-01-01\",\"0501-01-01\"],nepali:[\"2000-01-01\",\"2001-01-01\"],persian:[\"1400-01-01\",\"1401-01-01\"],jalali:[\"1400-01-01\",\"1401-01-01\"],taiwan:[\"0100-01-01\",\"0101-01-01\"],thai:[\"2500-01-01\",\"2501-01-01\"],ummalqura:[\"1400-01-01\",\"1401-01-01\"]},L9=\"##\",IQt={d:{0:\"dd\",\"-\":\"d\"},e:{0:\"d\",\"-\":\"d\"},a:{0:\"D\",\"-\":\"D\"},A:{0:\"DD\",\"-\":\"DD\"},j:{0:\"oo\",\"-\":\"o\"},W:{0:\"ww\",\"-\":\"w\"},m:{0:\"mm\",\"-\":\"m\"},b:{0:\"M\",\"-\":\"M\"},B:{0:\"MM\",\"-\":\"MM\"},y:{0:\"yy\",\"-\":\"yy\"},Y:{0:\"yyyy\",\"-\":\"yyyy\"},U:L9,w:L9,c:{0:\"D M d %X yyyy\",\"-\":\"D M d %X yyyy\"},x:{0:\"mm/dd/yyyy\",\"-\":\"mm/dd/yyyy\"}};function RQt(e,t,r){for(var n=Math.floor((t+.05)/EQt)+MQt,i=K$e(r).fromJD(n),a=0,o,s,l,u,c;(a=e.indexOf(\"%\",a))!==-1;)o=e.charAt(a+1),o===\"0\"||o===\"-\"||o===\"_\"?(l=3,s=e.charAt(a+2),o===\"_\"&&(o=\"-\")):(s=o,o=\"0\",l=2),u=IQt[s],u?(u===L9?c=L9:c=i.formatDate(u[o]),e=e.substr(0,a)+c+e.substr(a+l),a+=c.length):a+=l;return e}var W$e={};function K$e(e){var t=W$e[e];return t||(t=W$e[e]=Z$e.instance(e),t)}function uC(e){return lC.extendFlat({},pQ,{description:e})}function gQ(e){return\"Sets the calendar system to use with `\"+e+\"` date data.\"}var vQ={xcalendar:uC(gQ(\"x\"))},iy=lC.extendFlat({},vQ,{ycalendar:uC(gQ(\"y\"))}),dQ=lC.extendFlat({},iy,{zcalendar:uC(gQ(\"z\"))}),QA=uC([\"Sets the calendar system to use for `range` and `tick0`\",\"if this is a date axis. This does not set the calendar for\",\"interpreting data on this axis, that's specified in the trace\",\"or via the global `layout.calendar`\"].join(\" \"));J$e.exports={moduleType:\"component\",name:\"calendars\",schema:{traces:{scatter:iy,bar:iy,box:iy,heatmap:iy,contour:iy,histogram:iy,histogram2d:iy,histogram2dcontour:iy,scatter3d:dQ,surface:dQ,mesh3d:dQ,scattergl:iy,ohlc:vQ,candlestick:vQ},layout:{calendar:uC([\"Sets the default calendar system to use for interpreting and\",\"displaying dates throughout the plot.\"].join(\" \"))},subplots:{xaxis:{calendar:QA},yaxis:{calendar:QA},scene:{xaxis:{calendar:QA},yaxis:{calendar:QA},zaxis:{calendar:QA}},polar:{radialaxis:{calendar:QA}}}},layoutAttributes:pQ,handleDefaults:Y$e,handleTraceDefaults:kQt,CANONICAL_SUNDAY:LQt,CANONICAL_TICK:CQt,DFLTRANGE:PQt,getCal:K$e,worldCalFmt:RQt}});var eQe=ye((b2r,Q$e)=>{\"use strict\";Q$e.exports=$$e()});var DQt=ye((w2r,rQe)=>{var tQe=Wme();tQe.register([Xye(),z1e(),Z_e(),dxe(),Mxe(),wbe(),zbe(),b2e(),K2e(),Pwe(),m3e(),j4e(),REe(),TCe(),c6e(),N6e(),uLe(),RPe(),$Pe(),gIe(),kIe(),VIe(),i8e(),_8e(),WRe(),hDe(),EOe(),EBe(),qNe(),lUe(),mVe(),IVe(),rHe(),dGe(),kGe(),$Ge(),oWe(),LWe(),fZe(),RXe(),rYe(),TYe(),YYe(),uKe(),sJe(),SJe(),GJe(),A$e(),eQe()]);rQe.exports=tQe});return DQt();})();\n", - "/*!\n", - " * The buffer module from node.js, for the browser.\n", - " *\n", - " * @author Feross Aboukhadijeh <https://feross.org>\n", - " * @license MIT\n", - " */\n", - "/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\n", - "/*!\n", - " * Determine if an object is a Buffer\n", - " *\n", - " * @author Feross Aboukhadijeh <https://feross.org>\n", - " * @license MIT\n", - " */\n", - "/*!\n", - " * pad-left <https://github.com/jonschlinkert/pad-left>\n", - " *\n", - " * Copyright (c) 2014-2015, Jon Schlinkert.\n", - " * Licensed under the MIT license.\n", - " */\n", - "/*!\n", - " * repeat-string <https://github.com/jonschlinkert/repeat-string>\n", - " *\n", - " * Copyright (c) 2014-2015, Jon Schlinkert.\n", - " * Licensed under the MIT License.\n", - " */\n", - "/*! Bundled license information:\n", - "\n", - "native-promise-only/lib/npo.src.js:\n", - " (*! Native Promise Only\n", - " v0.8.1 (c) Kyle Simpson\n", - " MIT License: http://getify.mit-license.org\n", - " *)\n", - "\n", - "polybooljs/index.js:\n", - " (*\n", - " * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc\n", - " * @license MIT\n", - " * @preserve Project Home: https://github.com/voidqk/polybooljs\n", - " *)\n", - "\n", - "ieee754/index.js:\n", - " (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> *)\n", - "\n", - "buffer/index.js:\n", - " (*!\n", - " * The buffer module from node.js, for the browser.\n", - " *\n", - " * @author Feross Aboukhadijeh <https://feross.org>\n", - " * @license MIT\n", - " *)\n", - "\n", - "safe-buffer/index.js:\n", - " (*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *)\n", - "\n", - "assert/build/internal/util/comparisons.js:\n", - " (*!\n", - " * The buffer module from node.js, for the browser.\n", - " *\n", - " * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n", - " * @license MIT\n", - " *)\n", - "\n", - "object-assign/index.js:\n", - " (*\n", - " object-assign\n", - " (c) Sindre Sorhus\n", - " @license MIT\n", - " *)\n", - "\n", - "maplibre-gl/dist/maplibre-gl.js:\n", - " (**\n", - " * MapLibre GL JS\n", - " * @license 3-Clause BSD. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v4.7.1/LICENSE.txt\n", - " *)\n", - "*/\n", - "\n", - "window.Plotly = Plotly;\n", - "return Plotly;\n", - "}));</script> <div id=\"184213cf-f1b1-49c7-837a-edfd726c0f36\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div> <script type=\"text/javascript\"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"184213cf-f1b1-49c7-837a-edfd726c0f36\")) { Plotly.newPlot( \"184213cf-f1b1-49c7-837a-edfd726c0f36\", [{\"hovertemplate\":\"speed=%{marker.size}\\u003cbr\\u003elat=%{lat}\\u003cbr\\u003elon=%{lon}\\u003cbr\\u003ersrp=%{marker.color}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"lat\":{\"dtype\":\"f8\",\"bdata\":\"vMj7wrfFSEA9iilHv8VIQKB9m7TzxUhAD24hfgDGSEB6TRd7EsZIQC8FvZowxkhA5Lxiuk7GSEBMGGKzysZIQA\\u002f2dnvtxkhA0tOLQxDHSECVsaALM8dIQMEayv2+x0hAlemf+d3HSEBpuHX1\\u002fMdIQD2HS\\u002fEbyEhAJlFQBj7ISEBqhrBZfMhIQJchd3OByEhAw7w9jYbISEDwVwSni8hIQNAuW8LMyEhARflZl+DISEC7w1hs9MhIQDGOV0EIyUhA0b9wBxPJSEBO5IrqJslIQAqwtaYryUhA\\u002fiwS6irJSEApW6C0JMlIQKlL5z8LyUhAiXSJ9gfJSEBqvZM0EclIQB\\u002fRhZsZyUhA1eR3AiLJSEDWaQ9BVslIQLqVkNVuyUhAlhvSyY7JSEB+KRPppMlIQGU3VAi7yUhAAWGvyQ3KSEDZbi8nIMpIQLB8r4QyykhAUPJVuEbKSECJtPBpzMpIQJbUIgXzykhAAAncHRbLSEBNS8JAN8tIQK1YvNBTy0hAHCnX68jLSECF5ymb68tIQGkXV4UPzEhAW69teiHMSEDuAT5oP8xIQCZ+FJm6zEhAzEQlIdnMSEBxCzap98xIQBfSRjEWzUhA2LLFqIzNSEDN9EJypc1IQFy9TLbAzUhAuXg9BdfNSECvurrO781IQKR3Im9WzkhAPyqZA3LOSEASnjMWi85IQEmT0FmlzkhApvMVVh\\u002fPSEAebGNhPM9IQAQdYJNYz0hApq8ZYHHPSEBHQtMsis9IQETomNrvz0hA8Z0yQx7QSEAiYbA7RNBIQJEdPGxu0EhAit+TghzRSEC5KEEWSNFIQAbGfwV40UhANQ8tmaPRSEBkWNosz9FIQLLfReT\\u002f0UhAmnDkVvvRSECDAYPJ9tFIQGuSITzy0UhAVweC+KfRSEDqIVz5k9FIQH08Nvp\\u002f0UhAQrFThmHRSECd7xpXMdFIQBU8sshr0EhAaLarhTvQSEBrTGmQCtBIQG4e2QXGz0hAd8nJ4BDPSECY1gq95s5IQGcNPlu9zkhANkRx+ZPOSEAFe6SXas5IQFDCGFb4zUhAdzVvjO\\u002fNSEC7Tc7h5c1IQP5lLTfczUhApNpYNa3NSEA3LYsHoM1IQMp\\u002fvdmSzUhAXdLvq4XNSECksa7Pas1IQPWF\\u002fZbEzEhA8PFIDJzMSEARe\\u002fvzccxIQABWV\\u002fIxzEhA0M1POgTMSEA1\\u002fwpwS8tIQFrioIANy0hAfsU2kc\\u002fKSECjqMyhkcpIQPTakmW5yUhA8x+j4JrJSEClOGhOeclIQPGpw9ZdyUhACmryKTbJSEC0uaJlo8hIQGRK+5x6yEhAFNtT1FHISEBwrZv3JMhIQJCZB9Czx0hAjzcSCY7HSEDfQcCmjMdIQG91JruFx0hA\\u002f6iMz37HSEC+JLUzbsdIQL4ktTNux0hA3ouBXGDHSEDa3xDhlsdIQFUBku\\u002fBx0hAl2UHFOnHSEDYyXw4EMhIQBku8lw3yEhAcbLvVaLISEA5JKwZvMhIQACWaN3VyEhAulsnaPLISEBJ\\u002fJ0jEMlIQPr0nQqKyUhA7LJer5\\u002fJSEBCjmk9rclIQJhpdMu6yUhALWNpJfjJSEBE\\u002fwKLDspIQFubnPAkykhAcjc2VjvKSECJ08+7UcpIQDXnr2NwykhAgstVTG3KSEDPr\\u002fs0aspIQL33fs5mykhABYjslbXKSEAJTBX6zspIQEKZWiT6ykhAQplaJPrKSEB4WZdD8MpIQDuPBsfXykhAXd49vH7KSEAL1cOHZMpIQMlK789EykhAu1hF+ifKSEDumUqpuMlIQJYKCFanyUhAPXvFApbJSEDl64KvhMlIQIxcQFxzyUhAcuxSaWrJSEBj8oTrcclIQFP4tm15yUhARP7o74DJSECXRvZ0FslIQBzT4Jf1yEhAol\\u002fLutTISECFjzZoq8hIQBljKk15yEhAkUZF3qvHSEAoRWuHeMdIQM3vWUFAx0hAcZpI+wfHSECWaEavJsZIQEvM5akkxkhAADCFpCLGSEBIt2drIMZIQP0aB2YexkhAtyTPJTDGSEAWNPIkO8ZIQHVDFSRGxkhA1FI4I1HGSEDw00oHrsdIQIYlr1vjx0hAHXcTsBjISECzyHcETshIQEoa3FiDyEhANjUEwT\\u002fJSECvhigwbMlIQCjYTJ+YyUhAuuif28PJSEDWHfN3YcpIQBYsHMGLykhAbjmozazKSEBVSCxIuMpIQDxXsMLDykhADDMCxe3KSEAVdZK3xspIQB63IqqfykhAJvmynHjKSEBqHns04slIQNyp4ZfQyUhAIppTBr3JSEBoisV0qclIQK16N+OVyUhA82qpUYLJSEC86lfMr8hIQGXYmax9yEhAD8bbjEvISEAmfG19IchIQFKt2kD7x0hAAnKPTmLHSEAHSssiT8dIQMLLOrtAx0hAfE2qUzLHSEBPNhMpHsdIQDfd0D7ExkhA8C5AsaXGSECqgK8jh8ZIQGPSHpZoxkhAVZroiJPGSECsf7n8rsZIQAJlinDKxkhAWEpb5OXGSEBlqn5PGsdIQOFHk3c1yEhAEk+Yh3rISEDzNsxjkMhIQIT\\u002fLgx3yEhA2TX3JA\\u002fISEBHP3eT6MdIQAAqIyuux0hAuRTPwnPHSEBz\\u002f3paOcdIQH4d18glxkhAH3b6m8\\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\"},\"legendgroup\":\"\",\"lon\":{\"dtype\":\"f8\",\"bdata\":\"X3wYG9VEMkDjKZJMwkQyQNs+N3ZFRDJAm7p+AydEMkB8nB4x+0MyQKxsNyqwQzJA3DxQI2VDMkASXO\\u002fYNUIyQLcMRgUWQjJAW72cMfZBMkAAbvNd1kEyQLZSQo9AQTJAB2TpIgVBMkBZdZC2yUAyQKqGN0qOQDJAHYCi7ExAMkACfHyA2j4yQB8TIV1sPjJAPKrFOf49MkBZQWoWkD0yQEcBYEQsPDJAQHBTC947MkA430bSjzsyQDBOOplBOzJArrz6M+M6MkDP8WB1KTkyQPxf\\u002f0fAODJA8eM\\u002fD1c4MkCvfSLL7TcyQDgn3TM+NjJAxlO8P9Q1MkCPV7ysXDUyQFzPjfjvNDJAKkdfRIM0MkBCLHK6AjMyQMq105zNMjJAxxvsj4gyMkAosRDCWDIyQIlGNfQoMjJABUZFOSQxMkDVq69L4DAyQKQRGl6cMDJAOxuPpVEwMkBWPGDkhjAyQH\\u002fMvXafMDJA02ZBzbUwMkBfVDH2wzAyQBkEHgq\\u002fMDJAldTO26owMkB7iyTNmTAyQHPuwEpnMDJA7h+PCU4wMkASHTzyIzAyQIHKdoFRLzJAGI+2FPguMkCvU\\u002fanni4yQEYYNjtFLjJAc4DQ96AsMkCvq+tCLSwyQNj07\\u002futKzJAJwIi2UUrMkBkLT0k0ioyQKecUkq9KTJArkxRGXwpMkDipn7VQCkyQA7RogX\\u002fKDJA\\u002fUR6c6onMkBnVN5cWScyQHBEGBz7JjJA97apMmgmMkB+KTtJ1SUyQA5\\u002fj\\u002fJ6IzJAT8CciDAjMkBVgUqm8yIyQHkCKACwIjJAIv\\u002fE7aghMkBBhhckdyEyQH202F9AITJAnDsrlg4hMkC7wn3M3CAyQA18Nhu8HzJA7OLB\\u002f2ofMkDLSU3kGR8yQKqw2MjIHjJAAAgvLJUbMkDAw3rEvBoyQIF\\u002fxlzkGTJAdn1\\u002flQMZMkCnLB5nVxgyQFhhwnWVFTJA+gg1KOoUMkCTbBvCRhQyQJyR9\\u002f9hEzJA686YbAURMkCpFmx+VxAyQPoFr2SoDzJAS\\u002fXxSvkOMkCc5DQxSg4yQHNrimxLCzJABoeplX8KMkAp8n5cnwkyQEtdVCO\\u002fCDJAX2TvR4UFMkAWnIuNtQQyQM3TJ9PlAzJAhAvEGBYDMkA0h\\u002fyoWQIyQAaZMSqk\\u002fzFAsFgGBfv+MUDbkMB9Sv4xQIzPoTs7\\u002fTFA5iAeenn8MUDA3bhZvvkxQBDu++WJ+TFAX\\u002f4+clX5MUCvDoL+IPkxQEDKY1as9zFAI3+ojPT2MUDqEvRhKvYxQOnoMfmE9TFAdzqLDJb0MUCr2qaUz\\u002fExQLS9ncQT8TFAvKCU9FfwMUB4mopcie8xQH2mAHaM6zFAHA+vqTnqMUAqYwVhLeoxQG8HtfXv6TFAtatkirLpMUBbnHAiH+kxQFuccCIf6TFA5eTPS6ToMUBsn8hyluYxQDk7MLED5jFA3cgCR37lMUCBVtXc+OQxQCXkp3Jz5DFAIx5cr37iMUAY6WPUBOIxQA20a\\u002fmK4TFAZr9\\u002fTfngMUDpCplsXeAxQIPAgFLe3TFA9nUd2Q\\u002fdMUBXlT3HDtwxQLi0XbUN2zFAyCKvoNDWMUDnSWTIxNUxQAZxGfC41DFAJZjOF63TMUBDv4M\\u002fodIxQF1p\\u002fyppzjFAiPSn22TNMUCyf1CMYMwxQJTlCTVCyzFA5sZxzMjHMUCFGpjv88YxQK2ovxGKxTFArai\\u002fEYrFMUBI4M0iccQxQD800taBwzFAfgg\\u002fqxvAMUAiAhOBHr8xQNQTaubtvTFAMDu5\\u002fNi8MUDbcJRRXrgxQLRkiYc2tzFAjVh+vQ62MUBmTHPz5rQxQD9AaCm\\u002fszFAWgzCphyvMUCwtzRa\\u002f60xQAdjpw3irDFAXg4awcSrMUCoGSrLV6cxQCxy005FpjFAsMp80jKlMUAmFl1BBqQxQPh62lP4ojFAI2Wpn6WeMUAVtOPEop0xQIOrETXMnDFA8qI\\u002fpfWbMUBnTtZ8gJgxQMJXimFzlzFAHWE+RmaWMUA1ONFBPpUxQJBBhSYxlDFAi64zn8iPMUDPdGfrro4xQBM7mzeVjTFAWAHPg3uMMUAiF5muvoMxQE9Y6ObQgjFAe5k3H+OBMUCo2oZX9YAxQNQb1o8HgDFAkBRQi7F7MUCnKusFnHoxQL9AhoCGeTFAMcjORW94MUD7nJRq2nMxQCSLX7+fcjFATRey6XpxMUCZoFX9OnAxQOUp+RD7bjFAgQMB5t5pMUDAD8ImwmgxQP8bg2elZzFAPihEqIhmMUD43yebUGExQIckx3gqYDFAe+Lpp+NeMUBvoAzXnF0xQGNeLwZWXDFAVxxSNQ9bMUAWpHCqs1YxQProdw+qVTFA3i1\\u002fdKBUMUC\\u002f+dACbVMxQNGbMoRVUjFAGSS5ifdNMUAbzk1k2UwxQBo6L5W5SzFAGaYQxplKMUBKPUzXBkkxQHWx9dCpRDFAjf\\u002foHJtDMUCkTdxojEIxQLubz7R9QTFA66xZl3A9MUDpSwH7ejwxQOfqqF6FOzFA5YlQwo86MUB2oTMI9jkxQJO6cOZ6ODFAMM3QbR44MUDMT1yXkDcxQGVCE2PRNjFA2\\u002fEac8EzMUDLUFNXAjMxQD7STWBDMjFAsFNIaYQxMUAj1UJyxTAxQIZHmJVMLjFAjRKXEwEuMUCV3ZWRtS0xQNg1k3MPLTFA2DWTcw8tMUBxoNpfXisxQDIma+5lKDFAN2URINAnMUAB2zehbCcxQMtQXiIJJzFAgVpJm3olMUDJk6d+RyUxQJredgzXJDFAmt52DNckMUAChF7TniQxQEq9vLZrJDFAd2bE\\u002fZ4iMUDW4pUcJiIxQDRfZzutITFAPfeEokohMUAOeV7RIyExQL5\\u002frFkaITFAA4YloQMhMUC2f6rUPCAxQLZ\\u002fqtQ8IDFAS3\\u002fVky8gMUDffgBTIiAxQBh7gwurHzFA5XYxgyYfMUCZnUgWuB0xQFk8NyeiHTFAGNslOIwdMUDYeRRJdh0xQBOrKbpdHTFAeST0B2MdMUDfnb5VaB0xQEQXiaNtHTFAgdXbMmQdMUDSsDaxSxwxQF4XNm8AHDFA3EixqM8bMUDfPtls8BsxQEUDPJNnHDFAH9XR7XwcMUBoM9rsQBwxQF3GydQPHDFApSTS09MbMUDCcfJD4BoxQLuryVuIGjFA+w52cTgaMUA7ciKH6BkxQFCZJ9wzGTFAfyxKbCwZMUDY4ICpJRkxQDGVt+YeGTFAi0nuIxgZMUBwvkqnTxcxQMiryPPaFjFAH5lGQGYWMUB\\u002fperpzBUxQGeChBf0EjFAIk6XVEISMUAVNZtYrBExQD83kCMyETFAaDmF7rcQMUAoCsU4qw4xQPx9fpfRDTFA+Zy4dL8NMUDmN9vGZA0xQNTS\\u002fRgKDTFAwm0ga68MMUCwCEO9VAwxQJ6jZQ\\u002f6CzFAjD6IYZ8LMUDJtLnkowkxQGVK0tJoCTFATfFkf\\u002f4IMUCfdQOv8ggxQPL5od7mCDFA2aA0i3wIMUBmUASX+gcxQKbxcKaSBzFAD1wXwhgGMUBTuX7WsAUxQFy771B8BTFA1CTovnEFMUDabi9oRgUxQJrXInLuBDFAR78OZiIEMUDzpvpZVgMxQJ+O5k2KAjFA0n+CzAn\\u002fMEA50GCqD\\u002f4wQJ8gP4gV\\u002fTBABXEdZhv8MEBrwftDIfswQP9xED0w9zBA6RzD9jr2MEDSx3WwRfUwQP5O5dpU9DBAC7Wt5XfzMEAOy\\u002fppVPAwQI8QDouL7zBAwxGDRAPvMED3Evj9eu4wQAQYfaI+7DBAmA\\u002f74TPrMEBVyqkpjeowQBGFWHHm6TBAwP72YB7pMEDf\\u002fYsh2eUwQPuYjuLw5DBAFzSRowjkMEA0z5NkIOMwQGmRbZ0q4jBAT5FVtOfdMEApDvKg3dwwQFu\\u002fkm3U2zBArOrnRM3aMEDgtV5RltYwQPP7UP2P1TBAEa23+4zUMEAuXh76idMwQEsPhfiG0jBAuKHW8kLOMEBV94bKKM0wQFAi\\u002fGryyzBA7XesQtjKMEAlEjl9fsYwQDBvxElQxTBArmZajz3EMEAsXvDUKsMwQKpVhhoYwjBAE2rYmJq9MEAwU0EgXrwwQGI+z2w+uzBAdp+Ozz66MEDCRVUsX7YwQO39ck9ttTBAQOoCoIK0MEADpIm5nLMwQMddENO2sjBAhiEDxRGvMECa1MO1Q64wQK6HhKZ1rTBAwTpFl6esMECECphMmKkwQCrGc5b5qDBAYeFLAUuoMEAInSdLrKcwQK9YA5UNpzBAVL0wKL2kMEBgpGycDqQwQKmRmbOLozBAmJ3e1wijMEBeeSL3e6EwQDe1dyoboTBAGtBAg7qgMEBOwhwtW6AwQIK0+Nb7nzBA9MWAAHKeMEDWLOJgV54wQCOOrtY2njBAOnLFQRmeMEDH4CXkp50wQNcljDqSnTBA5mrykHydMED2r1jnZp0wQAb1vj1RnTBA0LtQQyicMEAQPAnSypswQE+8wWBtmzBAjjx67w+bMEBKIKC2BJowQE8c\\u002fmHHmTBAUxhcDYqZMEDPTTOoYZkwQMlS9TtCmTBAlc2QZsGYMECzcNvwvpgwQJTSK8rPmDBACwvRUuKYMEBHZLy1BJkwQJppYIrTmDBA7W4EX6KYMEBAdKgzcZgwQJN5TAhAmDBAxFrrP2mXMEAp8KRYMpcwQI+FXnH7ljBA9BoYisSWMEDLDfDQF5YwQPFkDnPylTBAF7wsFc2VMEDXdWnUqJUwQAunt5mOlTBAlD14DyOVMEDIbsbUCJUwQM7STAsKlTBAQa5nTg6VMEAzZe\\u002fHH5UwQKztdlchlTBATMCaviGVMEDskr4lIpUwQI1l4owilTBA\"},\"marker\":{\"color\":{\"dtype\":\"f8\",\"bdata\":\"AAAAAABAVsAAAAAAAEBXwAAAAAAAgFbAAAAAAADAV8AAAAAAAMBWwAAAAAAAgFfAAAAAAACAWsAAAAAAAMBTwAAAAAAAgFnAAAAAAABAV8AAAAAAAEBYwAAAAAAAQFjAAAAAAAAAWsAAAAAAAMBXwAAAAAAAAFjAAAAAAABAV8AAAAAAAMBWwAAAAAAAgFbAAAAAAADAVcAAAAAAAMBVwAAAAAAAwFfAAAAAAACAUMAAAAAAAABRwAAAAAAAwFPAAAAAAAAAVMAAAAAAAIBYwAAAAAAAAFrAAAAAAAAAWcAAAAAAAEBawAAAAAAAAFvAAAAAAAAAW8AAAAAAAEBawAAAAAAAgFnAAAAAAABAWcAAAAAAAEBXwAAAAAAAQFjAAAAAAADAWsAAAAAAAABdwAAAAAAAgFrAAAAAAABAVcAAAAAAAIBUwAAAAAAAwFXAAAAAAAAAVMAAAAAAAEBSwAAAAAAAwFHAAAAAAABAVMAAAAAAAIBVwAAAAAAAAFbAAAAAAABAVcAAAAAAAIBXwAAAAAAAwFjAAAAAAADAUcAAAAAAAMBUwAAAAAAAwFPAAAAAAAAAVMAAAAAAAIBVwAAAAAAAAFbAAAAAAABAUsAAAAAAAIBUwAAAAAAAAFLAAAAAAADAVMAAAAAAAEBYwAAAAAAAQFbAAAAAAABAWMAAAAAAAABZwAAAAAAAAFnAAAAAAAAAWMAAAAAAAMBZwAAAAAAAwFjAAAAAAAAAWMAAAAAAAMBWwAAAAAAAAFjAAAAAAABAVMAAAAAAAEBYwAAAAAAAgFfAAAAAAACAWMAAAAAAAEBRwAAAAAAAAE\\u002fAAAAAAAAAUcAAAAAAAEBSwAAAAAAAAEzAAAAAAADAUMAAAAAAAEBTwAAAAAAAgFTAAAAAAAAAVsAAAAAAAABUwAAAAAAAQFPAAAAAAADAU8AAAAAAAABVwAAAAAAAgFbAAAAAAACAUsAAAAAAAEBWwAAAAAAAAFrAAAAAAADAV8AAAAAAAIBYwAAAAAAAQFjAAAAAAAAAVsAAAAAAAMBZwAAAAAAAAFnAAAAAAADAWMAAAAAAAMBXwAAAAAAAwFXAAAAAAAAAV8AAAAAAAABWwAAAAAAAAFfAAAAAAAAAV8AAAAAAAEBawAAAAAAAwFDAAAAAAAAAUcAAAAAAAMBUwAAAAAAAAFnAAAAAAACAXMAAAAAAAMBTwAAAAAAAwFLAAAAAAABAVsAAAAAAAMBWwAAAAAAAgFbAAAAAAACAV8AAAAAAAIBXwAAAAAAAQFjAAAAAAABAWsAAAAAAAMBVwAAAAAAAAFXAAAAAAABAVsAAAAAAAEBWwAAAAAAAwFjAAAAAAAAAWcAAAAAAAAAAAAAAAAAAQFfAAAAAAAAAW8AAAAAAAABawAAAAAAAQFrAAAAAAABAVMAAAAAAAABUwAAAAAAAAFTAAAAAAAAAVMAAAAAAAEBUwAAAAAAAQFPAAAAAAAAAVsAAAAAAAABXwAAAAAAAwFbAAAAAAADAV8AAAAAAAIBQwAAAAAAAwFPAAAAAAACAVMAAAAAAAABVwAAAAAAAwFbAAAAAAACAWMAAAAAAAMBYwAAAAAAAgFjAAAAAAABAWMAAAAAAAEBXwAAAAAAAgFHAAAAAAADAUcAAAAAAAMBSwAAAAAAAAFnAAAAAAAAAWcAAAAAAAABcwAAAAAAAwFfAAAAAAADAWMAAAAAAAEBYwAAAAAAAAFbAAAAAAACAVMAAAAAAAMBTwAAAAAAAgFfAAAAAAADAU8AAAAAAAEBUwAAAAAAAAFvAAAAAAAAAWsAAAAAAAIBXwAAAAAAAgFfAAAAAAACAWcAAAAAAAEBWwAAAAAAAwFbAAAAAAAAAWcAAAAAAAMBYwAAAAAAAQFfAAAAAAABAWcAAAAAAAEBXwAAAAAAAQFfAAAAAAADAWMAAAAAAAABZwAAAAAAAgFnAAAAAAACAVcAAAAAAAEBWwAAAAAAAAFbAAAAAAADAVMAAAAAAAABWwAAAAAAAgFbAAAAAAADAVMAAAAAAAIBUwAAAAAAAQFPAAAAAAADAU8AAAAAAAABUwAAAAAAAgFzAAAAAAAAAW8AAAAAAAIBZwAAAAAAAwFfAAAAAAAAAVsAAAAAAAMBUwAAAAAAAwFXAAAAAAADAU8AAAAAAAIBOwAAAAAAAwFjAAAAAAABAWMAAAAAAAMBVwAAAAAAAAFfAAAAAAABAWsAAAAAAAIBdwAAAAAAAwFrAAAAAAABAXMAAAAAAAIBbwAAAAAAAgFzAAAAAAABAW8AAAAAAAABdwAAAAAAAgFzAAAAAAABAXMAAAAAAAIBawAAAAAAAAFnAAAAAAACAV8AAAAAAAABXwAAAAAAAAFjAAAAAAAAAVcAAAAAAAIBYwAAAAAAAQFXAAAAAAAAAV8AAAAAAAEBZwAAAAAAAQFXAAAAAAACAVMAAAAAAAEBTwAAAAAAAAFbAAAAAAAAAVsAAAAAAAIBUwAAAAAAAgFrAAAAAAADAWMAAAAAAAABbwAAAAAAAgFrAAAAAAABAWMAAAAAAAMBYwAAAAAAAQFvAAAAAAADAWMAAAAAAAIBYwAAAAAAAAFnAAAAAAADAWMAAAAAAAIBZwAAAAAAAQFjAAAAAAACAWcAAAAAAAIBYwAAAAAAAQFnAAAAAAAAAXsAAAAAAAABdwAAAAAAAgFvAAAAAAADAWsAAAAAAAIBbwAAAAAAAQFvAAAAAAADAWcAAAAAAAIBewAAAAAAAgFzAAAAAAAAAXsAAAAAAAABZwAAAAAAAwFrAAAAAAABAVcAAAAAAAMBYwAAAAAAAQFnAAAAAAADAVsAAAAAAAEBWwAAAAAAAQFXAAAAAAAAAWMAAAAAAAABbwAAAAAAAQF3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFfAAAAAAAAAWMAAAAAAAABYwAAAAAAAwFfAAAAAAABAWcAAAAAAAEBawAAAAAAAAFjAAAAAAACAVsAAAAAAAABXwAAAAAAAAFbAAAAAAAAAWsAAAAAAAIBbwAAAAAAAgFjAAAAAAACAV8AAAAAAAEBXwAAAAAAAgFjAAAAAAAAAV8AAAAAAAABZwAAAAAAAgFjAAAAAAAAAWcAAAAAAAABWwAAAAAAAQFvAAAAAAACAWMAAAAAAAIBZwAAAAAAAgFnAAAAAAAAAVsAAAAAAAEBWwAAAAAAAAFTAAAAAAABAWsAAAAAAAIBZwAAAAAAAwFnAAAAAAAAAWcAAAAAAAIBawAAAAAAAQFzAAAAAAABAWcAAAAAAAMBbwAAAAAAAwFzAAAAAAACAWsAAAAAAAMBbwAAAAAAAgF\\u002fAAAAAAAAAAAAAAAAAAABcwAAAAAAAQFrAAAAAAADAW8AAAAAAAABcwAAAAAAAwFvAAAAAAADAXMAAAAAAAMBcwAAAAAAAAFzAAAAAAABAXMAAAAAAAEBewAAAAAAAAAAAAAAAAABAXMAAAAAAAIBewAAAAAAAgFvAAAAAAABAWcAAAAAAAMBawAAAAAAAAFvAAAAAAABAXMAAAAAAAIBZwAAAAAAAgFfAAAAAAADAVcAAAAAAAMBZwAAAAAAAQFnAAAAAAACAW8AAAAAAAMBWwAAAAAAAwFjAAAAAAADAVsAAAAAAAABXwAAAAAAAQFTAAAAAAAAAWMAAAAAAAMBYwAAAAAAAgFbAAAAAAADAVcAAAAAAAEBVwAAAAAAAwFfAAAAAAAAAWsAAAAAAAMBbwAAAAAAAAFrAAAAAAAAAX8AAAAAAAIBcwAAAAAAAgF3AAAAAAAAAXsAAAAAAAABdwAAAAAAAwFnAAAAAAACAX8AAAAAAAMBewAAAAAAAAFvAAAAAAACAW8AAAAAAAEBYwAAAAAAAQFzAAAAAAABAV8AAAAAAAMBYwAAAAAAAwFfAAAAAAACAVsAAAAAAAIBWwAAAAAAAwFXAAAAAAABAUsAAAAAAAABWwAAAAAAAQFbAAAAAAADAV8AAAAAAAMBXwAAAAAAAAFbAAAAAAAAAVsAAAAAAAIBcwAAAAAAAwFnAAAAAAADAV8AAAAAAAABYwAAAAAAAAFnAAAAAAAAAWMAAAAAAAMBXwAAAAAAAAFjAAAAAAADAWMAAAAAAAEBXwAAAAAAAgFTAAAAAAAAAWcAAAAAAAIBWwAAAAAAAwFbAAAAAAADAWcAAAAAAAABZwAAAAAAAwFbAAAAAAACAV8AAAAAAAEBXwAAAAAAAwFnAAAAAAADAV8AAAAAAAIBXwAAAAAAAgFnAAAAAAAAAWMAAAAAAAEBZwAAAAAAAAFfAAAAAAADAWsAAAAAAAABawAAAAAAAQFrAAAAAAADAW8AAAAAAAIBbwAAAAAAAQFvAAAAAAADAW8AAAAAAAEBdwAAAAAAAgFnAAAAAAABAWMAAAAAAAIBYwAAAAAAAgFrAAAAAAAAAWcAAAAAAAIBZwAAAAAAAQFjAAAAAAACAW8AAAAAAAIBbwAAAAAAAAFnAAAAAAADAWMAAAAAAAEBWwAAAAAAAwFTAAAAAAADAUcAAAAAAAEBQwAAAAAAAQFPAAAAAAADAVMAAAAAAAIBawAAAAAAAwFPAAAAAAADAVsAAAAAAAMBZwAAAAAAAQFbAAAAAAAAAUcAAAAAAAMBRwAAAAAAAwFHAAAAAAAAAVcAAAAAAAMBVwAAAAAAAgFrAAAAAAAAAVsAAAAAAAIBRwAAAAAAAAFTAAAAAAAAAU8AAAAAAAABWwAAAAAAAgFPAAAAAAABAU8AAAAAAAMBSwAAAAAAAQFPAAAAAAACAVMAAAAAAAIBSwAAAAAAAgFfA\"},\"coloraxis\":\"coloraxis\",\"opacity\":1,\"size\":{\"dtype\":\"f8\",\"bdata\":\"AAAAAAAAAAAAAAAAAAAAACuHFtnO90ZAK4cW2c73RkArhxbZzvdGQCuHFtnO90ZAK4cW2c73RkD+1HjpJjFIQP7UeOkmMUhA\\u002ftR46SYxSED+1HjpJjFIQBSuR+F61ElAFK5H4XrUSUAUrkfhetRJQLbz\\u002fdR46UhAtvP91HjpSEC28\\u002f3UeOlIQIgW2c73E0VAiBbZzvcTRUCIFtnO9xNFQIgW2c73E0VAEVg5tMh2RkARWDm0yHZGQBFYObTIdkZAEVg5tMh2RkC28\\u002f3UeKlGQLbz\\u002fdR4qUZAtvP91HipRkC28\\u002f3UeKlGQEJg5dAiW0ZAQmDl0CJbRkBCYOXQIltGQEJg5dAiW0ZAtMh2vp9aSEC0yHa+n1pIQLTIdr6fWkhAK4cW2c53O0ArhxbZznc7QCuHFtnOdztAK4cW2c53O0C8dJMYBFZIQLx0kxgEVkhAvHSTGARWSEAEVg4tst1JQARWDi2y3UlABFYOLbLdSUAEVg4tst1JQARWDi2y3UlA8KfGSzeJRkDwp8ZLN4lGQPCnxks3iUZA8KfGSzeJRkDwp8ZLN4lGQPYoXI\\u002fCNUhA9ihcj8I1SED2KFyPwjVIQIGVQ4tsJ1FAgZVDi2wnUUCBlUOLbCdRQNijcD0Kl0ZA2KNwPQqXRkDYo3A9CpdGQDzfT42XrkRAPN9PjZeuREA830+Nl65EQDzfT42XrkRAqvHSTWKQTkCq8dJNYpBOQKrx0k1ikE5AqvHSTWKQTkCq8dJNYpBOQESLbOf76U9ARIts5\\u002fvpT0BEi2zn++lPQESLbOf76U9A\\u002fKnx0k1CVED8qfHSTUJUQPyp8dJNQlRAfT81XrqJREB9PzVeuolEQH0\\u002fNV66iURAfT81XrrJT0B9PzVeuslPQH0\\u002fNV66yU9AXI\\u002fC9Sj8V0Bcj8L1KPxXQFyPwvUo\\u002fFdAXI\\u002fC9Sj8V0Bcj8L1KPxXQJQYBFYOLVZAlBgEVg4tVkCUGARWDi1WQJQYBFYOLVZAiUFg5dDCVkCJQWDl0MJWQIlBYOXQwlZAiUFg5dDCVkAxCKwcWiRUQDEIrBxaJFRAMQisHFokVEDVeOkmMchTQNV46SYxyFNA1XjpJjHIU0DNzMzMzOxUQM3MzMzM7FRAzczMzMzsVEDNzMzMzOxUQBKDwMqhJVhAEoPAyqElWEASg8DKoSVYQBKDwMqhJVhAEoPAyqElWEBSuB6F61FWQFK4HoXrUVZAUrgehetRVkBeukkMAitVQF66SQwCK1VAXrpJDAIrVUBKDAIrhxZUQEoMAiuHFlRASgwCK4cWVEBKDAIrhxZUQIXrUbgeJVpAhetRuB4lWkCF61G4HiVaQD81XrpJDEhAPzVeukkMSEA\\u002fNV66SQxIQD81XrpJDEhAPzVeukkMSEDkpZvEIPBQQOSlm8Qg8FBA5KWbxCDwUEDkpZvEIPBQQGdmZmZmpklAZ2ZmZmamSUBnZmZmZqZJQGdmZmZmpklADAIrhxYZTEAMAiuHFhlMQAwCK4cWGUxADAIrhxYZTEAMAiuHFhlMQPT91HjpRlRA9P3UeOlGVED0\\u002fdR46UZUQPT91HjpRlRArBxaZDvfXECsHFpkO99cQKwcWmQ731xAd76fGi\\u002fdW0B3vp8aL91bQHe+nxov3VtA7FG4HoULW0DsUbgehQtbQOxRuB6FC1tAmpmZmZn5WECamZmZmflYQJqZmZmZ+VhAmpmZmZn5WECamZmZmflYQJqZmZmZ+VhA9P3UeOlmXkD0\\u002fdR46WZeQPT91HjpZl5A9P3UeOlmXkD5U+Olm2ReQPlT46WbZF5A+VPjpZtkXkBDYOXQIjteQENg5dAiO15AQ2Dl0CI7XkCLbOf7qfFcQIts5\\u002fup8VxAi2zn+6nxXEBDYOXQIltfQENg5dAiW19AQ2Dl0CJbX0BDYOXQIltfQENg5dAiW19A6iYxCKzcXUDqJjEIrNxdQOomMQis3F1A6iYxCKzcXUC4HoXrUdhcQLgehetR2FxAuB6F61HYXECmm8QgsHJdQKabxCCwcl1AppvEILByXUCmm8QgsHJdQP7UeOkmkVtA\\u002ftR46SaRW0CiRbbz\\u002fVRcQKJFtvP9VFxARbbz\\u002fdS4YEBFtvP91LhgQEW28\\u002f3UuGBAIbByaJFNXkAhsHJokU1eQCGwcmiRTV5AIbByaJFNXkDufD81XupgQO58PzVe6mBA7nw\\u002fNV7qYEDufD81XupgQO58PzVe6mBAoUW28\\u002f2UXkChRbbz\\u002fZReQKFFtvP9lF5AoUW28\\u002f2UXkBzaJHtfD9fQHNoke18P19AfT81XrqpXkB9PzVeuqleQH0\\u002fNV66qV5AfT81XrqpXkAL16NwPepeQAvXo3A96l5AC9ejcD3qXkAL16NwPepeQAvXo3A96l5AIbByaJEtXUAhsHJokS1dQCGwcmiRLV1AIbByaJEtXUASg8DKoaVcQBKDwMqhpVxAEoPAyqGlXEA730+Nl65dQDvfT42Xrl1AO99PjZeuXUDkpZvEIBBbQOSlm8QgEFtA5KWbxCAQW0DkpZvEIBBbQPCnxks3SVRA8KfGSzdJVEDwp8ZLN0lUQPCnxks3SVRAiUFg5dDiV0CJQWDl0OJXQIlBYOXQ4ldAiUFg5dDiV0Bh5dAi23lcQGHl0CLbeVxAYeXQItt5XEACK4cW2a5cQAIrhxbZrlxAAiuHFtmuXEACK4cW2a5cQKwcWmQ7n1pArBxaZDufWkCsHFpkO59aQKwcWmQ7n1pAYxBYObTIWkBjEFg5tMhaQFCNl24Sg1xAUI2XbhKDXEBQjZduEoNcQFCNl24Sg1xAtvP91HgJWkC28\\u002f3UeAlaQLbz\\u002fdR4CVpAtvP91HgJWkCF61G4HqVVQIXrUbgepVVAhetRuB6lVUCF61G4HqVVQIXrUbgepVVAhetRuB6lVUCF61G4HqVVQIXrUbgepVVAv58aL93EV0C\\u002fnxov3cRXQL+fGi\\u002fdxFdAeekmMQisHkB56SYxCKweQHnpJjEIrB5AAAAAAAAAO0AAAAAAAAA7QAAAAAAAADtAAAAAAAAAO0AZBFYOLVJVQBkEVg4tUlVAGQRWDi1SVUAZBFYOLVJVQJHtfD81\\u002flhAke18PzX+WECR7Xw\\u002fNf5YQJHtfD81\\u002flhA8tJNYhB4WkDy0k1iEHhaQPLSTWIQeFpA8tJNYhB4WkDVeOkmMYhaQNV46SYxiFpA1XjpJjGIWkDn+6nx0g1bQOf7qfHSDVtA5\\u002fup8dINW0DVeOkmMWhZQNV46SYxaFlA1XjpJjFoWUDVeOkmMWhZQEW28\\u002f3UuFlARbbz\\u002fdS4WUBFtvP91LhZQEW28\\u002f3UuFlARbbz\\u002fdS4WUCJQWDl0EJbQIlBYOXQQltAiUFg5dBCW0CJQWDl0EJbQIlBYOXQQltAAAAAAADgWUAAAAAAAOBZQAAAAAAA4FlAAAAAAADgWUAAAAAAAOBZQAAAAAAA4FlAQmDl0CL7W0BCYOXQIvtbQEJg5dAi+1tAQmDl0CL7W0BCYOXQIvtbQEJg5dAi+1tA5\\u002fup8dINW0Dn+6nx0g1bQOf7qfHSDVtA5\\u002fup8dINW0CsHFpkO39ZQKwcWmQ7f1lArBxaZDt\\u002fWUCsHFpkO39ZQDm0yHa+\\u002f1tAObTIdr7\\u002fW0A5tMh2vv9bQHE9CtejcFxAcT0K16NwXEBxPQrXo3BcQM73U+OlW11AzvdT46VbXUDO91PjpVtdQM73U+OlW11AzvdT46VbXUB3vp8aL91bQHe+nxov3VtAd76fGi\\u002fdW0B3vp8aL91bQAIrhxbZzl1AAiuHFtnOXUACK4cW2c5dQPCnxks3KVxA8KfGSzcpXEDwp8ZLNylcQFYOLbKd71tAVg4tsp3vW0BWDi2yne9bQFYOLbKd71tAMQisHFoEXEAxCKwcWgRcQDEIrBxaBFxAMQisHFoEXEBEi2zn+wlYQESLbOf7CVhARIts5\\u002fsJWEBEi2zn+wlYQKnGSzeJ4VxAqcZLN4nhXECpxks3ieFcQHnpJjEIjF1AeekmMQiMXUB56SYxCIxdQHnpJjEIjF1ASOF6FK6HXEBI4XoUrodcQEjhehSuh1xAbef7qfFyXEBt5\\u002fup8XJcQG3n+6nxclxAbef7qfFyXEDByqFFtlNYQMHKoUW2U1hAwcqhRbZTWEDByqFFtlNYQMHKoUW2U1hAwcqhRbYzV0DByqFFtjNXQMHKoUW2M1dAYxBYObSoUEBjEFg5tKhQQGMQWDm0qFBAUrgehevRSkBSuB6F69FKQFK4HoXr0UpAarx0kxiESEBqvHSTGIRIQGq8dJMYhEhAarx0kxiESEBI4XoUrodDQEjhehSuh0NASOF6FK6HQ0BI4XoUrodDQEjhehSuh0NAPN9PjZduQkA830+Nl25CQDzfT42XbkJAPN9PjZduQkCoxks3iUE3QKjGSzeJQTdAqMZLN4lBN0DYo3A9CldEQNijcD0KV0RA2KNwPQpXREBEi2zn+2lCQESLbOf7aUJARIts5\\u002ftpQkDByqFFtvNEQMHKoUW280RAwcqhRbbzREDByqFFtvNEQMHKoUW280RApHA9CtejOkCkcD0K16M6QKRwPQrXozpApHA9CtejOkB9PzVeuklCQH0\\u002fNV66SUJAfT81XrpJQkDufD81XnpBQO58PzVeekFA7nw\\u002fNV56QUDHSzeJQSBCQMdLN4lBIEJAx0s3iUEgQkBnZmZmZuZCQGdmZmZm5kJAZ2ZmZmbmQkBnZmZmZuZCQGdmZmZm5kJAEoPAyqFFEEASg8DKoUUQQBKDwMqhRRBAEoPAyqFFEEAw3SQGgZUDQDDdJAaBlQNAMN0kBoGVA0Aw3SQGgZUDQBfZzvdT4+U\\u002f\"},\"sizemode\":\"area\",\"sizeref\":1.6706666666666667},\"mode\":\"markers\",\"name\":\"\",\"showlegend\":false,\"subplot\":\"map\",\"type\":\"scattermap\"}], {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermap\":[{\"type\":\"scattermap\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"map\":{\"domain\":{\"x\":[0.0,1.0],\"y\":[0.0,1.0]},\"center\":{\"lat\":49.4500818735672,\"lon\":17.419228472787495},\"zoom\":8,\"style\":\"open-street-map\"},\"coloraxis\":{\"colorbar\":{\"title\":{\"text\":\"rsrp\"}},\"colorscale\":[[0.0,\"rgb(0,0,131)\"],[0.2,\"rgb(0,60,170)\"],[0.4,\"rgb(5,255,255)\"],[0.6,\"rgb(255,255,0)\"],[0.8,\"rgb(250,0,0)\"],[1.0,\"rgb(128,0,0)\"]],\"cmin\":-130,\"cmax\":-60},\"legend\":{\"tracegroupgap\":0,\"itemsizing\":\"constant\"},\"margin\":{\"t\":60},\"mapbox\":{\"center\":{\"lat\":49.4500818735672,\"lon\":17.419228472787495},\"zoom\":8,\"style\":\"open-street-map\"}}, {\"responsive\": true} ).then(function(){\n", - " \n", - "var gd = document.getElementById('184213cf-f1b1-49c7-837a-edfd726c0f36');\n", - "var x = new MutationObserver(function (mutations, observer) {{\n", - " var display = window.getComputedStyle(gd).display;\n", - " if (!display || display === 'none') {{\n", - " console.log([gd, 'removed!']);\n", - " Plotly.purge(gd);\n", - " observer.disconnect();\n", - " }}\n", - "}});\n", - "\n", - "// Listen for the removal of the full notebook cells\n", - "var notebookContainer = gd.closest('#notebook-container');\n", - "if (notebookContainer) {{\n", - " x.observe(notebookContainer, {childList: true});\n", - "}}\n", - "\n", - "// Listen for the clearing of the current output cell\n", - "var outputEl = gd.closest('.output');\n", - "if (outputEl) {{\n", - " x.observe(outputEl, {childList: true});\n", - "}}\n", - "\n", - " }) }; </script> </div>" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "fig = px.scatter_map(df, lat='lat', lon='lon',color=\"rsrp\", opacity=1, size='speed', size_max=9,\n", - " map_style=\"open-street-map\", color_continuous_scale='jet', zoom=8, range_color=(-130,-60))\n", - "fig.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 57, - "id": "90cf05a9-d7bb-4ace-bf45-e6a44d953d86", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.plotly.v1+json": { - "config": { - "plotlyServerURL": "https://plot.ly" - }, - "data": [ - { - "hovertemplate": "speed=%{marker.size}<br>lat=%{lat}<br>lon=%{lon}<br>rsrp=%{marker.color}<extra></extra>", - "lat": { - "bdata": "e4oSzNaXSEC5slcfzpdIQJKPRImUl0hArsujfYaXSECkSVn3gpdIQCqenXSGl0hAsPLh8YmXSECIFAMkmpdIQEjbnVqil0hACKI4kaqXSEDIaNPHspdIQLUkPgLnl0hAf/V9fv2XSECQwV06FphIQFmSnbYsmEhAImPdMkOYSECCnfQfTJhIQJBh/blImEhAmvSDLUaYSEAf2nTlRphIQCGO4M5rmEhAbSqdz3SYSEDv/Jc/fZhIQGK3wpiAmEhA1HHt8YOYSEDKOXCxkphIQOfHk9+bmEhARSD4F6eYSECCEzxLsZhIQNrV0nrnmEhAW1l9C/6YSEDb3CecFJlIQFtg0iwrmUhA3ON8vUGZSEDQ0sb+dJlIQAKxA1V9mUhAMo9Aq4WZSEBkbX0BjplIQFUxy4/mmUhA+B2FoPyZSECbCj+xEppIQNOxivcimkhAb4SCwjCaSEAil3pPaZpIQFMG95d7mkhA6N3L3pCaSEDYl09GqJpIQKXA36T6mkhALi0ucgqbSEC3mXw/GptIQEAGywwqm0hAyXIZ2jmbSEAz7Uh2hJtIQOpH0oiYm0hAoqJbm6ybSEBa/eStwJtIQKVqp0wxnEhAciXU802cSEA/4ACbapxIQGY4imGFnEhAshhVQo+cSEBOsGHCt5xIQJqQLKPBnEhA2UNrwsOcSED5KgwFxZxIQMwR0y/KnEhAWokiKcqcSEA7Gk+VyZxIQByrewHJnEhA/TuobcicSEA=", - "dtype": "f8" - }, - "legendgroup": "", - "lon": { - "bdata": "Yj7PbD67MEB2n47PProwQMJFVSxftjBA7f1yT221MEBA6gKggrQwQAOkibmcszBAx10Q07ayMECGIQPFEa8wQJrUw7VDrjBAroeEpnWtMEDBOkWXp6wwQIQKmEyYqTBAKsZzlvmoMEBh4UsBS6gwQAidJ0uspzBAr1gDlQ2nMEBUvTAovaQwQGCkbJwOpDBAqZGZs4ujMECYnd7XCKMwQF55Ivd7oTBAN7V3KhuhMEAa0ECDuqAwQE7CHC1boDBAgrT41vufMED0xYAAcp4wQNYs4mBXnjBAI46u1jaeMEA6csVBGZ4wQMfgJeSnnTBA1yWMOpKdMEDmavKQfJ0wQPavWOdmnTBABvW+PVGdMEDQu1BDKJwwQBA8CdLKmzBAT7zBYG2bMECOPHrvD5swQEogoLYEmjBATxz+YceZMEBTGFwNipkwQM9NM6hhmTBAyVL1O0KZMECVzZBmwZgwQLNw2/C+mDBAlNIrys+YMEALC9FS4pgwQEdkvLUEmTBAmmlgitOYMEDtbgRfopgwQEB0qDNxmDBAk3lMCECYMEDEWus/aZcwQCnwpFgylzBAj4VecfuWMED0GhiKxJYwQMsN8NAXljBA8WQOc/KVMEAXvCwVzZUwQNd1adSolTBAC6e3mY6VMECUPXgPI5UwQMhuxtQIlTBAztJMCwqVMEBBrmdODpUwQDNl78cflTBArO12VyGVMEBMwJq+IZUwQOySviUilTBAjWXijCKVMEA=", - "dtype": "f8" - }, - "marker": { - "color": { - "bdata": "AAAAAAAAWcAAAAAAAABYwAAAAAAAwFfAAAAAAAAAWMAAAAAAAMBYwAAAAAAAQFfAAAAAAACAVMAAAAAAAABZwAAAAAAAgFbAAAAAAADAVsAAAAAAAMBZwAAAAAAAAFnAAAAAAADAVsAAAAAAAIBXwAAAAAAAQFfAAAAAAADAWcAAAAAAAMBXwAAAAAAAgFfAAAAAAACAWcAAAAAAAABYwAAAAAAAQFnAAAAAAAAAV8AAAAAAAMBawAAAAAAAAFrAAAAAAABAWsAAAAAAAMBbwAAAAAAAgFvAAAAAAABAW8AAAAAAAMBbwAAAAAAAQF3AAAAAAACAWcAAAAAAAEBYwAAAAAAAgFjAAAAAAACAWsAAAAAAAABZwAAAAAAAgFnAAAAAAABAWMAAAAAAAIBbwAAAAAAAgFvAAAAAAAAAWcAAAAAAAMBYwAAAAAAAQFbAAAAAAADAVMAAAAAAAMBRwAAAAAAAQFDAAAAAAABAU8AAAAAAAMBUwAAAAAAAgFrAAAAAAADAU8AAAAAAAMBWwAAAAAAAwFnAAAAAAABAVsAAAAAAAABRwAAAAAAAwFHAAAAAAADAUcAAAAAAAABVwAAAAAAAwFXAAAAAAACAWsAAAAAAAABWwAAAAAAAgFHAAAAAAAAAVMAAAAAAAABTwAAAAAAAAFbAAAAAAACAU8AAAAAAAEBTwAAAAAAAwFLAAAAAAABAU8AAAAAAAIBUwAAAAAAAgFLAAAAAAACAV8A=", - "dtype": "f8" - }, - "coloraxis": "coloraxis", - "opacity": 1, - "size": { - "bdata": "bef7qfFyXEBt5/up8XJcQMHKoUW2U1hAwcqhRbZTWEDByqFFtlNYQMHKoUW2U1hAwcqhRbZTWEDByqFFtjNXQMHKoUW2M1dAwcqhRbYzV0BjEFg5tKhQQGMQWDm0qFBAYxBYObSoUEBSuB6F69FKQFK4HoXr0UpAUrgehevRSkBqvHSTGIRIQGq8dJMYhEhAarx0kxiESEBqvHSTGIRIQEjhehSuh0NASOF6FK6HQ0BI4XoUrodDQEjhehSuh0NASOF6FK6HQ0A830+Nl25CQDzfT42XbkJAPN9PjZduQkA830+Nl25CQKjGSzeJQTdAqMZLN4lBN0Coxks3iUE3QNijcD0KV0RA2KNwPQpXREDYo3A9CldEQESLbOf7aUJARIts5/tpQkBEi2zn+2lCQMHKoUW280RAwcqhRbbzREDByqFFtvNEQMHKoUW280RAwcqhRbbzRECkcD0K16M6QKRwPQrXozpApHA9CtejOkCkcD0K16M6QH0/NV66SUJAfT81XrpJQkB9PzVeuklCQO58PzVeekFA7nw/NV56QUDufD81XnpBQMdLN4lBIEJAx0s3iUEgQkDHSzeJQSBCQGdmZmZm5kJAZ2ZmZmbmQkBnZmZmZuZCQGdmZmZm5kJAZ2ZmZmbmQkASg8DKoUUQQBKDwMqhRRBAEoPAyqFFEEASg8DKoUUQQDDdJAaBlQNAMN0kBoGVA0Aw3SQGgZUDQDDdJAaBlQNAF9nO91Pj5T8=", - "dtype": "f8" - }, - "sizemode": "area", - "sizeref": 0.79025 - }, - "mode": "markers", - "name": "", - "showlegend": false, - "subplot": "map", - "type": "scattermap" - } - ], - "layout": { - "coloraxis": { - "cmax": -60, - "cmin": -130, - "colorbar": { - "title": { - "text": "rsrp" - } - }, - "colorscale": [ - [ - 0, - "rgb(0,0,131)" - ], - [ - 0.2, - "rgb(0,60,170)" - ], - [ - 0.4, - "rgb(5,255,255)" - ], - [ - 0.6, - "rgb(255,255,0)" - ], - [ - 0.8, - "rgb(250,0,0)" - ], - [ - 1, - "rgb(128,0,0)" - ] - ] - }, - "legend": { - "itemsizing": "constant", - "tracegroupgap": 0 - }, - "map": { - "center": { - "lat": 49.201920583235285, - "lon": 16.622368855615097 - }, - "domain": { - "x": [ - 0, - 1 - ], - "y": [ - 0, - 1 - ] - }, - "style": "open-street-map", - "zoom": 11 - }, - "mapbox": { - "center": { - "lat": 49.201920583235285, - "lon": 16.622368855615097 - }, - "style": "open-street-map", - "zoom": 11 - }, - "margin": { - "t": 60 - }, - "template": { - "data": { - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "choropleth": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "choropleth" - } - ], - "contour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "contour" - } - ], - "contourcarpet": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "contourcarpet" - } - ], - "heatmap": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmap" - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "histogram2d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2d" - } - ], - "histogram2dcontour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2dcontour" - } - ], - "mesh3d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "mesh3d" - } - ], - "parcoords": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "parcoords" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "scatter3d": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatter3d" - } - ], - "scattercarpet": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattercarpet" - } - ], - "scattergeo": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergeo" - } - ], - "scattergl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergl" - } - ], - "scattermap": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermap" - } - ], - "scattermapbox": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermapbox" - } - ], - "scatterpolar": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolar" - } - ], - "scatterpolargl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolargl" - } - ], - "scatterternary": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterternary" - } - ], - "surface": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "surface" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ] - }, - "layout": { - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "autotypenumbers": "strict", - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ], - "sequential": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ] - }, - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "geo": { - "bgcolor": "white", - "lakecolor": "white", - "landcolor": "#E5ECF6", - "showlakes": true, - "showland": true, - "subunitcolor": "white" - }, - "hoverlabel": { - "align": "left" - }, - "hovermode": "closest", - "mapbox": { - "style": "light" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "ternary": { - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "title": { - "x": 0.05 - }, - "xaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - }, - "yaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - } - } - } - } - }, - "text/html": [ - "<div> <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script> <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n", - " <script type=\"text/javascript\">/**\n", - "* plotly.js v3.0.1\n", - "* Copyright 2012-2025, Plotly, Inc.\n", - "* All rights reserved.\n", - "* Licensed under the MIT license\n", - "*/\n", - "(\n", - " function(root, factory) {\n", - " if (typeof module === \"object\" && module.exports) {\n", - " module.exports = factory();\n", - " } else {\n", - " root.moduleName = factory();\n", - " }\n", - "} (typeof self !== \"undefined\" ? self : this, () => {\n", - "\"use strict\";var Plotly=(()=>{var VQe=Object.create;var MS=Object.defineProperty,HQe=Object.defineProperties,GQe=Object.getOwnPropertyDescriptor,jQe=Object.getOwnPropertyDescriptors,WQe=Object.getOwnPropertyNames,XQ=Object.getOwnPropertySymbols,ZQe=Object.getPrototypeOf,KQ=Object.prototype.hasOwnProperty,XQe=Object.prototype.propertyIsEnumerable;var YQ=(e,t,r)=>t in e?MS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,JQ=(e,t)=>{for(var r in t||(t={}))KQ.call(t,r)&&YQ(e,r,t[r]);if(XQ)for(var r of XQ(t))XQe.call(t,r)&&YQ(e,r,t[r]);return e},$Q=(e,t)=>HQe(e,jQe(t));var Ll=(e,t)=>()=>(e&&(t=e(e=0)),t);var ye=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),QQ=(e,t)=>{for(var r in t)MS(e,r,{get:t[r],enumerable:!0})},eee=(e,t,r,n)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let i of WQe(t))!KQ.call(e,i)&&i!==r&&MS(e,i,{get:()=>t[i],enumerable:!(n=GQe(t,i))||n.enumerable});return e};var YQe=(e,t,r)=>(r=e!=null?VQe(ZQe(e)):{},eee(t||!e||!e.__esModule?MS(r,\"default\",{value:e,enumerable:!0}):r,e)),B1=e=>eee(MS({},\"__esModule\",{value:!0}),e);var e6=ye(tee=>{\"use strict\";tee.version=\"3.0.1\"});var iee=ye((ree,t6)=>{(function(t,r,n){r[t]=r[t]||n(),typeof t6!=\"undefined\"&&t6.exports&&(t6.exports=r[t])})(\"Promise\",typeof window!=\"undefined\"?window:ree,function(){\"use strict\";var t,r,n,i=Object.prototype.toString,a=typeof setImmediate!=\"undefined\"?function(E){return setImmediate(E)}:setTimeout;try{Object.defineProperty({},\"x\",{}),t=function(E,k,A,L){return Object.defineProperty(E,k,{value:A,writable:!0,configurable:L!==!1})}}catch(p){t=function(k,A,L){return k[A]=L,k}}n=function(){var E,k,A;function L(_,C){this.fn=_,this.self=C,this.next=void 0}return{add:function(C,M){A=new L(C,M),k?k.next=A:E=A,k=A,A=void 0},drain:function(){var C=E;for(E=k=r=void 0;C;)C.fn.call(C.self),C=C.next}}}();function o(p,E){n.add(p,E),r||(r=a(n.drain))}function s(p){var E,k=typeof p;return p!=null&&(k==\"object\"||k==\"function\")&&(E=p.then),typeof E==\"function\"?E:!1}function l(){for(var p=0;p<this.chain.length;p++)u(this,this.state===1?this.chain[p].success:this.chain[p].failure,this.chain[p]);this.chain.length=0}function u(p,E,k){var A,L;try{E===!1?k.reject(p.msg):(E===!0?A=p.msg:A=E.call(void 0,p.msg),A===k.promise?k.reject(TypeError(\"Promise-chain cycle\")):(L=s(A))?L.call(A,k.resolve,k.reject):k.resolve(A))}catch(_){k.reject(_)}}function c(p){var E,k=this;if(!k.triggered){k.triggered=!0,k.def&&(k=k.def);try{(E=s(p))?o(function(){var A=new d(k);try{E.call(p,function(){c.apply(A,arguments)},function(){f.apply(A,arguments)})}catch(L){f.call(A,L)}}):(k.msg=p,k.state=1,k.chain.length>0&&o(l,k))}catch(A){f.call(new d(k),A)}}}function f(p){var E=this;E.triggered||(E.triggered=!0,E.def&&(E=E.def),E.msg=p,E.state=2,E.chain.length>0&&o(l,E))}function h(p,E,k,A){for(var L=0;L<E.length;L++)(function(C){p.resolve(E[C]).then(function(g){k(C,g)},A)})(L)}function d(p){this.def=p,this.triggered=!1}function v(p){this.promise=p,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function x(p){if(typeof p!=\"function\")throw TypeError(\"Not a function\");if(this.__NPO__!==0)throw TypeError(\"Not a promise\");this.__NPO__=1;var E=new v(this);this.then=function(A,L){var _={success:typeof A==\"function\"?A:!0,failure:typeof L==\"function\"?L:!1};return _.promise=new this.constructor(function(M,g){if(typeof M!=\"function\"||typeof g!=\"function\")throw TypeError(\"Not a function\");_.resolve=M,_.reject=g}),E.chain.push(_),E.state!==0&&o(l,E),_.promise},this.catch=function(A){return this.then(void 0,A)};try{p.call(void 0,function(A){c.call(E,A)},function(A){f.call(E,A)})}catch(k){f.call(E,k)}}var b=t({},\"constructor\",x,!1);return x.prototype=b,t(b,\"__NPO__\",0,!1),t(x,\"resolve\",function(E){var k=this;return E&&typeof E==\"object\"&&E.__NPO__===1?E:new k(function(L,_){if(typeof L!=\"function\"||typeof _!=\"function\")throw TypeError(\"Not a function\");L(E)})}),t(x,\"reject\",function(E){return new this(function(A,L){if(typeof A!=\"function\"||typeof L!=\"function\")throw TypeError(\"Not a function\");L(E)})}),t(x,\"all\",function(E){var k=this;return i.call(E)!=\"[object Array]\"?k.reject(TypeError(\"Not an array\")):E.length===0?k.resolve([]):new k(function(L,_){if(typeof L!=\"function\"||typeof _!=\"function\")throw TypeError(\"Not a function\");var C=E.length,M=Array(C),g=0;h(k,E,function(T,F){M[T]=F,++g===C&&L(M)},_)})}),t(x,\"race\",function(E){var k=this;return i.call(E)!=\"[object Array]\"?k.reject(TypeError(\"Not an array\")):new k(function(L,_){if(typeof L!=\"function\"||typeof _!=\"function\")throw TypeError(\"Not a function\");h(k,E,function(M,g){L(g)},_)})}),x})});var xa=ye((qQt,r6)=>{(function(){var e={version:\"3.8.2\"},t=[].slice,r=function(Z){return t.call(Z)},n=self.document;function i(Z){return Z&&(Z.ownerDocument||Z.document||Z).documentElement}function a(Z){return Z&&(Z.ownerDocument&&Z.ownerDocument.defaultView||Z.document&&Z||Z.defaultView)}if(n)try{r(n.documentElement.childNodes)[0].nodeType}catch(Z){r=function(oe){for(var we=oe.length,Be=new Array(we);we--;)Be[we]=oe[we];return Be}}if(Date.now||(Date.now=function(){return+new Date}),n)try{n.createElement(\"DIV\").style.setProperty(\"opacity\",0,\"\")}catch(Z){var o=this.Element.prototype,s=o.setAttribute,l=o.setAttributeNS,u=this.CSSStyleDeclaration.prototype,c=u.setProperty;o.setAttribute=function(oe,we){s.call(this,oe,we+\"\")},o.setAttributeNS=function(oe,we,Be){l.call(this,oe,we,Be+\"\")},u.setProperty=function(oe,we,Be){c.call(this,oe,we+\"\",Be)}}e.ascending=f;function f(Z,oe){return Z<oe?-1:Z>oe?1:Z>=oe?0:NaN}e.descending=function(Z,oe){return oe<Z?-1:oe>Z?1:oe>=Z?0:NaN},e.min=function(Z,oe){var we=-1,Be=Z.length,Ue,We;if(arguments.length===1){for(;++we<Be;)if((We=Z[we])!=null&&We>=We){Ue=We;break}for(;++we<Be;)(We=Z[we])!=null&&Ue>We&&(Ue=We)}else{for(;++we<Be;)if((We=oe.call(Z,Z[we],we))!=null&&We>=We){Ue=We;break}for(;++we<Be;)(We=oe.call(Z,Z[we],we))!=null&&Ue>We&&(Ue=We)}return Ue},e.max=function(Z,oe){var we=-1,Be=Z.length,Ue,We;if(arguments.length===1){for(;++we<Be;)if((We=Z[we])!=null&&We>=We){Ue=We;break}for(;++we<Be;)(We=Z[we])!=null&&We>Ue&&(Ue=We)}else{for(;++we<Be;)if((We=oe.call(Z,Z[we],we))!=null&&We>=We){Ue=We;break}for(;++we<Be;)(We=oe.call(Z,Z[we],we))!=null&&We>Ue&&(Ue=We)}return Ue},e.extent=function(Z,oe){var we=-1,Be=Z.length,Ue,We,wt;if(arguments.length===1){for(;++we<Be;)if((We=Z[we])!=null&&We>=We){Ue=wt=We;break}for(;++we<Be;)(We=Z[we])!=null&&(Ue>We&&(Ue=We),wt<We&&(wt=We))}else{for(;++we<Be;)if((We=oe.call(Z,Z[we],we))!=null&&We>=We){Ue=wt=We;break}for(;++we<Be;)(We=oe.call(Z,Z[we],we))!=null&&(Ue>We&&(Ue=We),wt<We&&(wt=We))}return[Ue,wt]};function h(Z){return Z===null?NaN:+Z}function d(Z){return!isNaN(Z)}e.sum=function(Z,oe){var we=0,Be=Z.length,Ue,We=-1;if(arguments.length===1)for(;++We<Be;)d(Ue=+Z[We])&&(we+=Ue);else for(;++We<Be;)d(Ue=+oe.call(Z,Z[We],We))&&(we+=Ue);return we},e.mean=function(Z,oe){var we=0,Be=Z.length,Ue,We=-1,wt=Be;if(arguments.length===1)for(;++We<Be;)d(Ue=h(Z[We]))?we+=Ue:--wt;else for(;++We<Be;)d(Ue=h(oe.call(Z,Z[We],We)))?we+=Ue:--wt;if(wt)return we/wt},e.quantile=function(Z,oe){var we=(Z.length-1)*oe+1,Be=Math.floor(we),Ue=+Z[Be-1],We=we-Be;return We?Ue+We*(Z[Be]-Ue):Ue},e.median=function(Z,oe){var we=[],Be=Z.length,Ue,We=-1;if(arguments.length===1)for(;++We<Be;)d(Ue=h(Z[We]))&&we.push(Ue);else for(;++We<Be;)d(Ue=h(oe.call(Z,Z[We],We)))&&we.push(Ue);if(we.length)return e.quantile(we.sort(f),.5)},e.variance=function(Z,oe){var we=Z.length,Be=0,Ue,We,wt=0,tt=-1,zt=0;if(arguments.length===1)for(;++tt<we;)d(Ue=h(Z[tt]))&&(We=Ue-Be,Be+=We/++zt,wt+=We*(Ue-Be));else for(;++tt<we;)d(Ue=h(oe.call(Z,Z[tt],tt)))&&(We=Ue-Be,Be+=We/++zt,wt+=We*(Ue-Be));if(zt>1)return wt/(zt-1)},e.deviation=function(){var Z=e.variance.apply(this,arguments);return Z&&Math.sqrt(Z)};function v(Z){return{left:function(oe,we,Be,Ue){for(arguments.length<3&&(Be=0),arguments.length<4&&(Ue=oe.length);Be<Ue;){var We=Be+Ue>>>1;Z(oe[We],we)<0?Be=We+1:Ue=We}return Be},right:function(oe,we,Be,Ue){for(arguments.length<3&&(Be=0),arguments.length<4&&(Ue=oe.length);Be<Ue;){var We=Be+Ue>>>1;Z(oe[We],we)>0?Ue=We:Be=We+1}return Be}}}var x=v(f);e.bisectLeft=x.left,e.bisect=e.bisectRight=x.right,e.bisector=function(Z){return v(Z.length===1?function(oe,we){return f(Z(oe),we)}:Z)},e.shuffle=function(Z,oe,we){(Be=arguments.length)<3&&(we=Z.length,Be<2&&(oe=0));for(var Be=we-oe,Ue,We;Be;)We=Math.random()*Be--|0,Ue=Z[Be+oe],Z[Be+oe]=Z[We+oe],Z[We+oe]=Ue;return Z},e.permute=function(Z,oe){for(var we=oe.length,Be=new Array(we);we--;)Be[we]=Z[oe[we]];return Be},e.pairs=function(Z){for(var oe=0,we=Z.length-1,Be,Ue=Z[0],We=new Array(we<0?0:we);oe<we;)We[oe]=[Be=Ue,Ue=Z[++oe]];return We},e.transpose=function(Z){if(!(We=Z.length))return[];for(var oe=-1,we=e.min(Z,b),Be=new Array(we);++oe<we;)for(var Ue=-1,We,wt=Be[oe]=new Array(We);++Ue<We;)wt[Ue]=Z[Ue][oe];return Be};function b(Z){return Z.length}e.zip=function(){return e.transpose(arguments)},e.keys=function(Z){var oe=[];for(var we in Z)oe.push(we);return oe},e.values=function(Z){var oe=[];for(var we in Z)oe.push(Z[we]);return oe},e.entries=function(Z){var oe=[];for(var we in Z)oe.push({key:we,value:Z[we]});return oe},e.merge=function(Z){for(var oe=Z.length,we,Be=-1,Ue=0,We,wt;++Be<oe;)Ue+=Z[Be].length;for(We=new Array(Ue);--oe>=0;)for(wt=Z[oe],we=wt.length;--we>=0;)We[--Ue]=wt[we];return We};var p=Math.abs;e.range=function(Z,oe,we){if(arguments.length<3&&(we=1,arguments.length<2&&(oe=Z,Z=0)),(oe-Z)/we===1/0)throw new Error(\"infinite range\");var Be=[],Ue=E(p(we)),We=-1,wt;if(Z*=Ue,oe*=Ue,we*=Ue,we<0)for(;(wt=Z+we*++We)>oe;)Be.push(wt/Ue);else for(;(wt=Z+we*++We)<oe;)Be.push(wt/Ue);return Be};function E(Z){for(var oe=1;Z*oe%1;)oe*=10;return oe}function k(Z,oe){for(var we in oe)Object.defineProperty(Z.prototype,we,{value:oe[we],enumerable:!1})}e.map=function(Z,oe){var we=new A;if(Z instanceof A)Z.forEach(function(tt,zt){we.set(tt,zt)});else if(Array.isArray(Z)){var Be=-1,Ue=Z.length,We;if(arguments.length===1)for(;++Be<Ue;)we.set(Be,Z[Be]);else for(;++Be<Ue;)we.set(oe.call(Z,We=Z[Be],Be),We)}else for(var wt in Z)we.set(wt,Z[wt]);return we};function A(){this._=Object.create(null)}var L=\"__proto__\",_=\"\\0\";k(A,{has:g,get:function(Z){return this._[C(Z)]},set:function(Z,oe){return this._[C(Z)]=oe},remove:P,keys:T,values:function(){var Z=[];for(var oe in this._)Z.push(this._[oe]);return Z},entries:function(){var Z=[];for(var oe in this._)Z.push({key:M(oe),value:this._[oe]});return Z},size:F,empty:q,forEach:function(Z){for(var oe in this._)Z.call(this,M(oe),this._[oe])}});function C(Z){return(Z+=\"\")===L||Z[0]===_?_+Z:Z}function M(Z){return(Z+=\"\")[0]===_?Z.slice(1):Z}function g(Z){return C(Z)in this._}function P(Z){return(Z=C(Z))in this._&&delete this._[Z]}function T(){var Z=[];for(var oe in this._)Z.push(M(oe));return Z}function F(){var Z=0;for(var oe in this._)++Z;return Z}function q(){for(var Z in this._)return!1;return!0}e.nest=function(){var Z={},oe=[],we=[],Be,Ue;function We(tt,zt,or){if(or>=oe.length)return Ue?Ue.call(Z,zt):Be?zt.sort(Be):zt;for(var lr=-1,Dr=zt.length,Ir=oe[or++],oi,ui,qr,Kr=new A,ii;++lr<Dr;)(ii=Kr.get(oi=Ir(ui=zt[lr])))?ii.push(ui):Kr.set(oi,[ui]);return tt?(ui=tt(),qr=function(vi,ci){ui.set(vi,We(tt,ci,or))}):(ui={},qr=function(vi,ci){ui[vi]=We(tt,ci,or)}),Kr.forEach(qr),ui}function wt(tt,zt){if(zt>=oe.length)return tt;var or=[],lr=we[zt++];return tt.forEach(function(Dr,Ir){or.push({key:Dr,values:wt(Ir,zt)})}),lr?or.sort(function(Dr,Ir){return lr(Dr.key,Ir.key)}):or}return Z.map=function(tt,zt){return We(zt,tt,0)},Z.entries=function(tt){return wt(We(e.map,tt,0),0)},Z.key=function(tt){return oe.push(tt),Z},Z.sortKeys=function(tt){return we[oe.length-1]=tt,Z},Z.sortValues=function(tt){return Be=tt,Z},Z.rollup=function(tt){return Ue=tt,Z},Z},e.set=function(Z){var oe=new V;if(Z)for(var we=0,Be=Z.length;we<Be;++we)oe.add(Z[we]);return oe};function V(){this._=Object.create(null)}k(V,{has:g,add:function(Z){return this._[C(Z+=\"\")]=!0,Z},remove:P,values:T,size:F,empty:q,forEach:function(Z){for(var oe in this._)Z.call(this,M(oe))}}),e.behavior={};function H(Z){return Z}e.rebind=function(Z,oe){for(var we=1,Be=arguments.length,Ue;++we<Be;)Z[Ue=arguments[we]]=X(Z,oe,oe[Ue]);return Z};function X(Z,oe,we){return function(){var Be=we.apply(oe,arguments);return Be===oe?Z:Be}}function G(Z,oe){if(oe in Z)return oe;oe=oe.charAt(0).toUpperCase()+oe.slice(1);for(var we=0,Be=N.length;we<Be;++we){var Ue=N[we]+oe;if(Ue in Z)return Ue}}var N=[\"webkit\",\"ms\",\"moz\",\"Moz\",\"o\",\"O\"];function W(){}e.dispatch=function(){for(var Z=new re,oe=-1,we=arguments.length;++oe<we;)Z[arguments[oe]]=ae(Z);return Z};function re(){}re.prototype.on=function(Z,oe){var we=Z.indexOf(\".\"),Be=\"\";if(we>=0&&(Be=Z.slice(we+1),Z=Z.slice(0,we)),Z)return arguments.length<2?this[Z].on(Be):this[Z].on(Be,oe);if(arguments.length===2){if(oe==null)for(Z in this)this.hasOwnProperty(Z)&&this[Z].on(Be,null);return this}};function ae(Z){var oe=[],we=new A;function Be(){for(var Ue=oe,We=-1,wt=Ue.length,tt;++We<wt;)(tt=Ue[We].on)&&tt.apply(this,arguments);return Z}return Be.on=function(Ue,We){var wt=we.get(Ue),tt;return arguments.length<2?wt&&wt.on:(wt&&(wt.on=null,oe=oe.slice(0,tt=oe.indexOf(wt)).concat(oe.slice(tt+1)),we.remove(Ue)),We&&oe.push(we.set(Ue,{on:We})),Z)},Be}e.event=null;function _e(){e.event.preventDefault()}function Me(){for(var Z=e.event,oe;oe=Z.sourceEvent;)Z=oe;return Z}function ke(Z){for(var oe=new re,we=0,Be=arguments.length;++we<Be;)oe[arguments[we]]=ae(oe);return oe.of=function(Ue,We){return function(wt){try{var tt=wt.sourceEvent=e.event;wt.target=Z,e.event=wt,oe[wt.type].apply(Ue,We)}finally{e.event=tt}}},oe}e.requote=function(Z){return Z.replace(ge,\"\\\\$&\")};var ge=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g,ie={}.__proto__?function(Z,oe){Z.__proto__=oe}:function(Z,oe){for(var we in oe)Z[we]=oe[we]};function Te(Z){return ie(Z,Ce),Z}var Ee=function(Z,oe){return oe.querySelector(Z)},Ae=function(Z,oe){return oe.querySelectorAll(Z)},ze=function(Z,oe){var we=Z.matches||Z[G(Z,\"matchesSelector\")];return ze=function(Be,Ue){return we.call(Be,Ue)},ze(Z,oe)};typeof Sizzle==\"function\"&&(Ee=function(Z,oe){return Sizzle(Z,oe)[0]||null},Ae=Sizzle,ze=Sizzle.matchesSelector),e.selection=function(){return e.select(n.documentElement)};var Ce=e.selection.prototype=[];Ce.select=function(Z){var oe=[],we,Be,Ue,We;Z=me(Z);for(var wt=-1,tt=this.length;++wt<tt;){oe.push(we=[]),we.parentNode=(Ue=this[wt]).parentNode;for(var zt=-1,or=Ue.length;++zt<or;)(We=Ue[zt])?(we.push(Be=Z.call(We,We.__data__,zt,wt)),Be&&\"__data__\"in We&&(Be.__data__=We.__data__)):we.push(null)}return Te(oe)};function me(Z){return typeof Z==\"function\"?Z:function(){return Ee(Z,this)}}Ce.selectAll=function(Z){var oe=[],we,Be;Z=Re(Z);for(var Ue=-1,We=this.length;++Ue<We;)for(var wt=this[Ue],tt=-1,zt=wt.length;++tt<zt;)(Be=wt[tt])&&(oe.push(we=r(Z.call(Be,Be.__data__,tt,Ue))),we.parentNode=Be);return Te(oe)};function Re(Z){return typeof Z==\"function\"?Z:function(){return Ae(Z,this)}}var ce=\"http://www.w3.org/1999/xhtml\",Ge={svg:\"http://www.w3.org/2000/svg\",xhtml:ce,xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"};e.ns={prefix:Ge,qualify:function(Z){var oe=Z.indexOf(\":\"),we=Z;return oe>=0&&(we=Z.slice(0,oe))!==\"xmlns\"&&(Z=Z.slice(oe+1)),Ge.hasOwnProperty(we)?{space:Ge[we],local:Z}:Z}},Ce.attr=function(Z,oe){if(arguments.length<2){if(typeof Z==\"string\"){var we=this.node();return Z=e.ns.qualify(Z),Z.local?we.getAttributeNS(Z.space,Z.local):we.getAttribute(Z)}for(oe in Z)this.each(nt(oe,Z[oe]));return this}return this.each(nt(Z,oe))};function nt(Z,oe){Z=e.ns.qualify(Z);function we(){this.removeAttribute(Z)}function Be(){this.removeAttributeNS(Z.space,Z.local)}function Ue(){this.setAttribute(Z,oe)}function We(){this.setAttributeNS(Z.space,Z.local,oe)}function wt(){var zt=oe.apply(this,arguments);zt==null?this.removeAttribute(Z):this.setAttribute(Z,zt)}function tt(){var zt=oe.apply(this,arguments);zt==null?this.removeAttributeNS(Z.space,Z.local):this.setAttributeNS(Z.space,Z.local,zt)}return oe==null?Z.local?Be:we:typeof oe==\"function\"?Z.local?tt:wt:Z.local?We:Ue}function ct(Z){return Z.trim().replace(/\\s+/g,\" \")}Ce.classed=function(Z,oe){if(arguments.length<2){if(typeof Z==\"string\"){var we=this.node(),Be=(Z=rt(Z)).length,Ue=-1;if(oe=we.classList){for(;++Ue<Be;)if(!oe.contains(Z[Ue]))return!1}else for(oe=we.getAttribute(\"class\");++Ue<Be;)if(!qt(Z[Ue]).test(oe))return!1;return!0}for(oe in Z)this.each(ot(oe,Z[oe]));return this}return this.each(ot(Z,oe))};function qt(Z){return new RegExp(\"(?:^|\\\\s+)\"+e.requote(Z)+\"(?:\\\\s+|$)\",\"g\")}function rt(Z){return(Z+\"\").trim().split(/^|\\s+/)}function ot(Z,oe){Z=rt(Z).map(Rt);var we=Z.length;function Be(){for(var We=-1;++We<we;)Z[We](this,oe)}function Ue(){for(var We=-1,wt=oe.apply(this,arguments);++We<we;)Z[We](this,wt)}return typeof oe==\"function\"?Ue:Be}function Rt(Z){var oe=qt(Z);return function(we,Be){if(Ue=we.classList)return Be?Ue.add(Z):Ue.remove(Z);var Ue=we.getAttribute(\"class\")||\"\";Be?(oe.lastIndex=0,oe.test(Ue)||we.setAttribute(\"class\",ct(Ue+\" \"+Z))):we.setAttribute(\"class\",ct(Ue.replace(oe,\" \")))}}Ce.style=function(Z,oe,we){var Be=arguments.length;if(Be<3){if(typeof Z!=\"string\"){Be<2&&(oe=\"\");for(we in Z)this.each(kt(we,Z[we],oe));return this}if(Be<2){var Ue=this.node();return a(Ue).getComputedStyle(Ue,null).getPropertyValue(Z)}we=\"\"}return this.each(kt(Z,oe,we))};function kt(Z,oe,we){function Be(){this.style.removeProperty(Z)}function Ue(){this.style.setProperty(Z,oe,we)}function We(){var wt=oe.apply(this,arguments);wt==null?this.style.removeProperty(Z):this.style.setProperty(Z,wt,we)}return oe==null?Be:typeof oe==\"function\"?We:Ue}Ce.property=function(Z,oe){if(arguments.length<2){if(typeof Z==\"string\")return this.node()[Z];for(oe in Z)this.each(Ct(oe,Z[oe]));return this}return this.each(Ct(Z,oe))};function Ct(Z,oe){function we(){delete this[Z]}function Be(){this[Z]=oe}function Ue(){var We=oe.apply(this,arguments);We==null?delete this[Z]:this[Z]=We}return oe==null?we:typeof oe==\"function\"?Ue:Be}Ce.text=function(Z){return arguments.length?this.each(typeof Z==\"function\"?function(){var oe=Z.apply(this,arguments);this.textContent=oe==null?\"\":oe}:Z==null?function(){this.textContent=\"\"}:function(){this.textContent=Z}):this.node().textContent},Ce.html=function(Z){return arguments.length?this.each(typeof Z==\"function\"?function(){var oe=Z.apply(this,arguments);this.innerHTML=oe==null?\"\":oe}:Z==null?function(){this.innerHTML=\"\"}:function(){this.innerHTML=Z}):this.node().innerHTML},Ce.append=function(Z){return Z=Yt(Z),this.select(function(){return this.appendChild(Z.apply(this,arguments))})};function Yt(Z){function oe(){var Be=this.ownerDocument,Ue=this.namespaceURI;return Ue===ce&&Be.documentElement.namespaceURI===ce?Be.createElement(Z):Be.createElementNS(Ue,Z)}function we(){return this.ownerDocument.createElementNS(Z.space,Z.local)}return typeof Z==\"function\"?Z:(Z=e.ns.qualify(Z)).local?we:oe}Ce.insert=function(Z,oe){return Z=Yt(Z),oe=me(oe),this.select(function(){return this.insertBefore(Z.apply(this,arguments),oe.apply(this,arguments)||null)})},Ce.remove=function(){return this.each(xr)};function xr(){var Z=this.parentNode;Z&&Z.removeChild(this)}Ce.data=function(Z,oe){var we=-1,Be=this.length,Ue,We;if(!arguments.length){for(Z=new Array(Be=(Ue=this[0]).length);++we<Be;)(We=Ue[we])&&(Z[we]=We.__data__);return Z}function wt(lr,Dr){var Ir,oi=lr.length,ui=Dr.length,qr=Math.min(oi,ui),Kr=new Array(ui),ii=new Array(ui),vi=new Array(oi),ci,Jr;if(oe){var un=new A,dn=new Array(oi),En;for(Ir=-1;++Ir<oi;)(ci=lr[Ir])&&(un.has(En=oe.call(ci,ci.__data__,Ir))?vi[Ir]=ci:un.set(En,ci),dn[Ir]=En);for(Ir=-1;++Ir<ui;)(ci=un.get(En=oe.call(Dr,Jr=Dr[Ir],Ir)))?ci!==!0&&(Kr[Ir]=ci,ci.__data__=Jr):ii[Ir]=er(Jr),un.set(En,!0);for(Ir=-1;++Ir<oi;)Ir in dn&&un.get(dn[Ir])!==!0&&(vi[Ir]=lr[Ir])}else{for(Ir=-1;++Ir<qr;)ci=lr[Ir],Jr=Dr[Ir],ci?(ci.__data__=Jr,Kr[Ir]=ci):ii[Ir]=er(Jr);for(;Ir<ui;++Ir)ii[Ir]=er(Dr[Ir]);for(;Ir<oi;++Ir)vi[Ir]=lr[Ir]}ii.update=Kr,ii.parentNode=Kr.parentNode=vi.parentNode=lr.parentNode,tt.push(ii),zt.push(Kr),or.push(vi)}var tt=Lt([]),zt=Te([]),or=Te([]);if(typeof Z==\"function\")for(;++we<Be;)wt(Ue=this[we],Z.call(Ue,Ue.parentNode.__data__,we));else for(;++we<Be;)wt(Ue=this[we],Z);return zt.enter=function(){return tt},zt.exit=function(){return or},zt};function er(Z){return{__data__:Z}}Ce.datum=function(Z){return arguments.length?this.property(\"__data__\",Z):this.property(\"__data__\")},Ce.filter=function(Z){var oe=[],we,Be,Ue;typeof Z!=\"function\"&&(Z=Ke(Z));for(var We=0,wt=this.length;We<wt;We++){oe.push(we=[]),we.parentNode=(Be=this[We]).parentNode;for(var tt=0,zt=Be.length;tt<zt;tt++)(Ue=Be[tt])&&Z.call(Ue,Ue.__data__,tt,We)&&we.push(Ue)}return Te(oe)};function Ke(Z){return function(){return ze(this,Z)}}Ce.order=function(){for(var Z=-1,oe=this.length;++Z<oe;)for(var we=this[Z],Be=we.length-1,Ue=we[Be],We;--Be>=0;)(We=we[Be])&&(Ue&&Ue!==We.nextSibling&&Ue.parentNode.insertBefore(We,Ue),Ue=We);return this},Ce.sort=function(Z){Z=xt.apply(this,arguments);for(var oe=-1,we=this.length;++oe<we;)this[oe].sort(Z);return this.order()};function xt(Z){return arguments.length||(Z=f),function(oe,we){return oe&&we?Z(oe.__data__,we.__data__):!oe-!we}}Ce.each=function(Z){return bt(this,function(oe,we,Be){Z.call(oe,oe.__data__,we,Be)})};function bt(Z,oe){for(var we=0,Be=Z.length;we<Be;we++)for(var Ue=Z[we],We=0,wt=Ue.length,tt;We<wt;We++)(tt=Ue[We])&&oe(tt,We,we);return Z}Ce.call=function(Z){var oe=r(arguments);return Z.apply(oe[0]=this,oe),this},Ce.empty=function(){return!this.node()},Ce.node=function(){for(var Z=0,oe=this.length;Z<oe;Z++)for(var we=this[Z],Be=0,Ue=we.length;Be<Ue;Be++){var We=we[Be];if(We)return We}return null},Ce.size=function(){var Z=0;return bt(this,function(){++Z}),Z};function Lt(Z){return ie(Z,St),Z}var St=[];e.selection.enter=Lt,e.selection.enter.prototype=St,St.append=Ce.append,St.empty=Ce.empty,St.node=Ce.node,St.call=Ce.call,St.size=Ce.size,St.select=function(Z){for(var oe=[],we,Be,Ue,We,wt,tt=-1,zt=this.length;++tt<zt;){Ue=(We=this[tt]).update,oe.push(we=[]),we.parentNode=We.parentNode;for(var or=-1,lr=We.length;++or<lr;)(wt=We[or])?(we.push(Ue[or]=Be=Z.call(We.parentNode,wt.__data__,or,tt)),Be.__data__=wt.__data__):we.push(null)}return Te(oe)},St.insert=function(Z,oe){return arguments.length<2&&(oe=Et(this)),Ce.insert.call(this,Z,oe)};function Et(Z){var oe,we;return function(Be,Ue,We){var wt=Z[We].update,tt=wt.length,zt;for(We!=we&&(we=We,oe=0),Ue>=oe&&(oe=Ue+1);!(zt=wt[oe])&&++oe<tt;);return zt}}e.select=function(Z){var oe;return typeof Z==\"string\"?(oe=[Ee(Z,n)],oe.parentNode=n.documentElement):(oe=[Z],oe.parentNode=i(Z)),Te([oe])},e.selectAll=function(Z){var oe;return typeof Z==\"string\"?(oe=r(Ae(Z,n)),oe.parentNode=n.documentElement):(oe=r(Z),oe.parentNode=null),Te([oe])},Ce.on=function(Z,oe,we){var Be=arguments.length;if(Be<3){if(typeof Z!=\"string\"){Be<2&&(oe=!1);for(we in Z)this.each(dt(we,Z[we],oe));return this}if(Be<2)return(Be=this.node()[\"__on\"+Z])&&Be._;we=!1}return this.each(dt(Z,oe,we))};function dt(Z,oe,we){var Be=\"__on\"+Z,Ue=Z.indexOf(\".\"),We=$t;Ue>0&&(Z=Z.slice(0,Ue));var wt=Ht.get(Z);wt&&(Z=wt,We=fr);function tt(){var lr=this[Be];lr&&(this.removeEventListener(Z,lr,lr.$),delete this[Be])}function zt(){var lr=We(oe,r(arguments));tt.call(this),this.addEventListener(Z,this[Be]=lr,lr.$=we),lr._=oe}function or(){var lr=new RegExp(\"^__on([^.]+)\"+e.requote(Z)+\"$\"),Dr;for(var Ir in this)if(Dr=Ir.match(lr)){var oi=this[Ir];this.removeEventListener(Dr[1],oi,oi.$),delete this[Ir]}}return Ue?oe?zt:tt:oe?W:or}var Ht=e.map({mouseenter:\"mouseover\",mouseleave:\"mouseout\"});n&&Ht.forEach(function(Z){\"on\"+Z in n&&Ht.remove(Z)});function $t(Z,oe){return function(we){var Be=e.event;e.event=we,oe[0]=this.__data__;try{Z.apply(this,oe)}finally{e.event=Be}}}function fr(Z,oe){var we=$t(Z,oe);return function(Be){var Ue=this,We=Be.relatedTarget;(!We||We!==Ue&&!(We.compareDocumentPosition(Ue)&8))&&we.call(Ue,Be)}}var _r,Br=0;function Or(Z){var oe=\".dragsuppress-\"+ ++Br,we=\"click\"+oe,Be=e.select(a(Z)).on(\"touchmove\"+oe,_e).on(\"dragstart\"+oe,_e).on(\"selectstart\"+oe,_e);if(_r==null&&(_r=\"onselectstart\"in Z?!1:G(Z.style,\"userSelect\")),_r){var Ue=i(Z).style,We=Ue[_r];Ue[_r]=\"none\"}return function(wt){if(Be.on(oe,null),_r&&(Ue[_r]=We),wt){var tt=function(){Be.on(we,null)};Be.on(we,function(){_e(),tt()},!0),setTimeout(tt,0)}}}e.mouse=function(Z){return ut(Z,Me())};var Nr=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function ut(Z,oe){oe.changedTouches&&(oe=oe.changedTouches[0]);var we=Z.ownerSVGElement||Z;if(we.createSVGPoint){var Be=we.createSVGPoint();if(Nr<0){var Ue=a(Z);if(Ue.scrollX||Ue.scrollY){we=e.select(\"body\").append(\"svg\").style({position:\"absolute\",top:0,left:0,margin:0,padding:0,border:\"none\"},\"important\");var We=we[0][0].getScreenCTM();Nr=!(We.f||We.e),we.remove()}}return Nr?(Be.x=oe.pageX,Be.y=oe.pageY):(Be.x=oe.clientX,Be.y=oe.clientY),Be=Be.matrixTransform(Z.getScreenCTM().inverse()),[Be.x,Be.y]}var wt=Z.getBoundingClientRect();return[oe.clientX-wt.left-Z.clientLeft,oe.clientY-wt.top-Z.clientTop]}e.touch=function(Z,oe,we){if(arguments.length<3&&(we=oe,oe=Me().changedTouches),oe){for(var Be=0,Ue=oe.length,We;Be<Ue;++Be)if((We=oe[Be]).identifier===we)return ut(Z,We)}},e.behavior.drag=function(){var Z=ke(Ue,\"drag\",\"dragstart\",\"dragend\"),oe=null,we=We(W,e.mouse,a,\"mousemove\",\"mouseup\"),Be=We(Ne,e.touch,H,\"touchmove\",\"touchend\");function Ue(){this.on(\"mousedown.drag\",we).on(\"touchstart.drag\",Be)}function We(wt,tt,zt,or,lr){return function(){var Dr=this,Ir=e.event.target.correspondingElement||e.event.target,oi=Dr.parentNode,ui=Z.of(Dr,arguments),qr=0,Kr=wt(),ii=\".drag\"+(Kr==null?\"\":\"-\"+Kr),vi,ci=e.select(zt(Ir)).on(or+ii,dn).on(lr+ii,En),Jr=Or(Ir),un=tt(oi,Kr);oe?(vi=oe.apply(Dr,arguments),vi=[vi.x-un[0],vi.y-un[1]]):vi=[0,0],ui({type:\"dragstart\"});function dn(){var Nn=tt(oi,Kr),ga,ya;Nn&&(ga=Nn[0]-un[0],ya=Nn[1]-un[1],qr|=ga|ya,un=Nn,ui({type:\"drag\",x:Nn[0]+vi[0],y:Nn[1]+vi[1],dx:ga,dy:ya}))}function En(){tt(oi,Kr)&&(ci.on(or+ii,null).on(lr+ii,null),Jr(qr),ui({type:\"dragend\"}))}}}return Ue.origin=function(wt){return arguments.length?(oe=wt,Ue):oe},e.rebind(Ue,Z,\"on\")};function Ne(){return e.event.changedTouches[0].identifier}e.touches=function(Z,oe){return arguments.length<2&&(oe=Me().touches),oe?r(oe).map(function(we){var Be=ut(Z,we);return Be.identifier=we.identifier,Be}):[]};var Ye=1e-6,Ve=Ye*Ye,Xe=Math.PI,ht=2*Xe,Le=ht-Ye,xe=Xe/2,Se=Xe/180,lt=180/Xe;function Gt(Z){return Z>0?1:Z<0?-1:0}function Vt(Z,oe,we){return(oe[0]-Z[0])*(we[1]-Z[1])-(oe[1]-Z[1])*(we[0]-Z[0])}function ar(Z){return Z>1?0:Z<-1?Xe:Math.acos(Z)}function Qr(Z){return Z>1?xe:Z<-1?-xe:Math.asin(Z)}function ai(Z){return((Z=Math.exp(Z))-1/Z)/2}function jr(Z){return((Z=Math.exp(Z))+1/Z)/2}function ri(Z){return((Z=Math.exp(2*Z))-1)/(Z+1)}function bi(Z){return(Z=Math.sin(Z/2))*Z}var nn=Math.SQRT2,Wi=2,Ni=4;e.interpolateZoom=function(Z,oe){var we=Z[0],Be=Z[1],Ue=Z[2],We=oe[0],wt=oe[1],tt=oe[2],zt=We-we,or=wt-Be,lr=zt*zt+or*or,Dr,Ir;if(lr<Ve)Ir=Math.log(tt/Ue)/nn,Dr=function(vi){return[we+vi*zt,Be+vi*or,Ue*Math.exp(nn*vi*Ir)]};else{var oi=Math.sqrt(lr),ui=(tt*tt-Ue*Ue+Ni*lr)/(2*Ue*Wi*oi),qr=(tt*tt-Ue*Ue-Ni*lr)/(2*tt*Wi*oi),Kr=Math.log(Math.sqrt(ui*ui+1)-ui),ii=Math.log(Math.sqrt(qr*qr+1)-qr);Ir=(ii-Kr)/nn,Dr=function(vi){var ci=vi*Ir,Jr=jr(Kr),un=Ue/(Wi*oi)*(Jr*ri(nn*ci+Kr)-ai(Kr));return[we+un*zt,Be+un*or,Ue*Jr/jr(nn*ci+Kr)]}}return Dr.duration=Ir*1e3,Dr},e.behavior.zoom=function(){var Z={x:0,y:0,k:1},oe,we,Be,Ue=[960,500],We=_n,wt=250,tt=0,zt=\"mousedown.zoom\",or=\"mousemove.zoom\",lr=\"mouseup.zoom\",Dr,Ir=\"touchstart.zoom\",oi,ui=ke(ci,\"zoomstart\",\"zoom\",\"zoomend\"),qr,Kr,ii,vi;zn||(zn=\"onwheel\"in n?($i=function(){return-e.event.deltaY*(e.event.deltaMode?120:1)},\"wheel\"):\"onmousewheel\"in n?($i=function(){return e.event.wheelDelta},\"mousewheel\"):($i=function(){return-e.event.detail},\"MozMousePixelScroll\"));function ci(pn){pn.on(zt,io).on(zn+\".zoom\",_s).on(\"dblclick.zoom\",Ns).on(Ir,Ss)}ci.event=function(pn){pn.each(function(){var za=ui.of(this,arguments),Lo=Z;Ro?e.select(this).transition().each(\"start.zoom\",function(){Z=this.__chart__||{x:0,y:0,k:1},ya(za)}).tween(\"zoom:zoom\",function(){var Fo=Ue[0],js=Ue[1],xl=we?we[0]:Fo/2,fu=we?we[1]:js/2,dl=e.interpolateZoom([(xl-Z.x)/Z.k,(fu-Z.y)/Z.k,Fo/Z.k],[(xl-Lo.x)/Lo.k,(fu-Lo.y)/Lo.k,Fo/Lo.k]);return function(xc){var At=dl(xc),Er=Fo/At[2];this.__chart__=Z={x:xl-At[0]*Er,y:fu-At[1]*Er,k:Er},so(za)}}).each(\"interrupt.zoom\",function(){wa(za)}).each(\"end.zoom\",function(){wa(za)}):(this.__chart__=Z,ya(za),so(za),wa(za))})},ci.translate=function(pn){return arguments.length?(Z={x:+pn[0],y:+pn[1],k:Z.k},ga(),ci):[Z.x,Z.y]},ci.scale=function(pn){return arguments.length?(Z={x:Z.x,y:Z.y,k:null},dn(+pn),ga(),ci):Z.k},ci.scaleExtent=function(pn){return arguments.length?(We=pn==null?_n:[+pn[0],+pn[1]],ci):We},ci.center=function(pn){return arguments.length?(Be=pn&&[+pn[0],+pn[1]],ci):Be},ci.size=function(pn){return arguments.length?(Ue=pn&&[+pn[0],+pn[1]],ci):Ue},ci.duration=function(pn){return arguments.length?(wt=+pn,ci):wt},ci.x=function(pn){return arguments.length?(Kr=pn,qr=pn.copy(),Z={x:0,y:0,k:1},ci):Kr},ci.y=function(pn){return arguments.length?(vi=pn,ii=pn.copy(),Z={x:0,y:0,k:1},ci):vi};function Jr(pn){return[(pn[0]-Z.x)/Z.k,(pn[1]-Z.y)/Z.k]}function un(pn){return[pn[0]*Z.k+Z.x,pn[1]*Z.k+Z.y]}function dn(pn){Z.k=Math.max(We[0],Math.min(We[1],pn))}function En(pn,za){za=un(za),Z.x+=pn[0]-za[0],Z.y+=pn[1]-za[1]}function Nn(pn,za,Lo,Fo){pn.__chart__={x:Z.x,y:Z.y,k:Z.k},dn(Math.pow(2,Fo)),En(we=za,Lo),pn=e.select(pn),wt>0&&(pn=pn.transition().duration(wt)),pn.call(ci.event)}function ga(){Kr&&Kr.domain(qr.range().map(function(pn){return(pn-Z.x)/Z.k}).map(qr.invert)),vi&&vi.domain(ii.range().map(function(pn){return(pn-Z.y)/Z.k}).map(ii.invert))}function ya(pn){tt++||pn({type:\"zoomstart\"})}function so(pn){ga(),pn({type:\"zoom\",scale:Z.k,translate:[Z.x,Z.y]})}function wa(pn){--tt||(pn({type:\"zoomend\"}),we=null)}function io(){var pn=this,za=ui.of(pn,arguments),Lo=0,Fo=e.select(a(pn)).on(or,fu).on(lr,dl),js=Jr(e.mouse(pn)),xl=Or(pn);ea.call(pn),ya(za);function fu(){Lo=1,En(e.mouse(pn),js),so(za)}function dl(){Fo.on(or,null).on(lr,null),xl(Lo),wa(za)}}function Ss(){var pn=this,za=ui.of(pn,arguments),Lo={},Fo=0,js,xl=\".zoom-\"+e.event.changedTouches[0].identifier,fu=\"touchmove\"+xl,dl=\"touchend\"+xl,xc=[],At=e.select(pn),Er=Or(pn);wi(),ya(za),At.on(zt,null).on(Ir,wi);function Wr(){var Bi=e.touches(pn);return js=Z.k,Bi.forEach(function(cn){cn.identifier in Lo&&(Lo[cn.identifier]=Jr(cn))}),Bi}function wi(){var Bi=e.event.target;e.select(Bi).on(fu,Ui).on(dl,Oi),xc.push(Bi);for(var cn=e.event.changedTouches,On=0,Bn=cn.length;On<Bn;++On)Lo[cn[On].identifier]=null;var yn=Wr(),to=Date.now();if(yn.length===1){if(to-oi<500){var Rn=yn[0];Nn(pn,Rn,Lo[Rn.identifier],Math.floor(Math.log(Z.k)/Math.LN2)+1),_e()}oi=to}else if(yn.length>1){var Rn=yn[0],Dn=yn[1],fn=Rn[0]-Dn[0],Ai=Rn[1]-Dn[1];Fo=fn*fn+Ai*Ai}}function Ui(){var Bi=e.touches(pn),cn,On,Bn,yn;ea.call(pn);for(var to=0,Rn=Bi.length;to<Rn;++to,yn=null)if(Bn=Bi[to],yn=Lo[Bn.identifier]){if(On)break;cn=Bn,On=yn}if(yn){var Dn=(Dn=Bn[0]-cn[0])*Dn+(Dn=Bn[1]-cn[1])*Dn,fn=Fo&&Math.sqrt(Dn/Fo);cn=[(cn[0]+Bn[0])/2,(cn[1]+Bn[1])/2],On=[(On[0]+yn[0])/2,(On[1]+yn[1])/2],dn(fn*js)}oi=null,En(cn,On),so(za)}function Oi(){if(e.event.touches.length){for(var Bi=e.event.changedTouches,cn=0,On=Bi.length;cn<On;++cn)delete Lo[Bi[cn].identifier];for(var Bn in Lo)return void Wr()}e.selectAll(xc).on(xl,null),At.on(zt,io).on(Ir,Ss),Er(),wa(za)}}function _s(){var pn=ui.of(this,arguments);Dr?clearTimeout(Dr):(ea.call(this),oe=Jr(we=Be||e.mouse(this)),ya(pn)),Dr=setTimeout(function(){Dr=null,wa(pn)},50),_e(),dn(Math.pow(2,$i()*.002)*Z.k),En(we,oe),so(pn)}function Ns(){var pn=e.mouse(this),za=Math.log(Z.k)/Math.LN2;Nn(this,pn,Jr(pn),e.event.shiftKey?Math.ceil(za)-1:Math.floor(za)+1)}return e.rebind(ci,ui,\"on\")};var _n=[0,1/0],$i,zn;e.color=Wn;function Wn(){}Wn.prototype.toString=function(){return this.rgb()+\"\"},e.hsl=It;function It(Z,oe,we){return this instanceof It?(this.h=+Z,this.s=+oe,void(this.l=+we)):arguments.length<2?Z instanceof It?new It(Z.h,Z.s,Z.l):Ha(\"\"+Z,oo,It):new It(Z,oe,we)}var ft=It.prototype=new Wn;ft.brighter=function(Z){return Z=Math.pow(.7,arguments.length?Z:1),new It(this.h,this.s,this.l/Z)},ft.darker=function(Z){return Z=Math.pow(.7,arguments.length?Z:1),new It(this.h,this.s,Z*this.l)},ft.rgb=function(){return jt(this.h,this.s,this.l)};function jt(Z,oe,we){var Be,Ue;Z=isNaN(Z)?0:(Z%=360)<0?Z+360:Z,oe=isNaN(oe)||oe<0?0:oe>1?1:oe,we=we<0?0:we>1?1:we,Ue=we<=.5?we*(1+oe):we+oe-we*oe,Be=2*we-Ue;function We(tt){return tt>360?tt-=360:tt<0&&(tt+=360),tt<60?Be+(Ue-Be)*tt/60:tt<180?Ue:tt<240?Be+(Ue-Be)*(240-tt)/60:Be}function wt(tt){return Math.round(We(tt)*255)}return new Fa(wt(Z+120),wt(Z),wt(Z-120))}e.hcl=Zt;function Zt(Z,oe,we){return this instanceof Zt?(this.h=+Z,this.c=+oe,void(this.l=+we)):arguments.length<2?Z instanceof Zt?new Zt(Z.h,Z.c,Z.l):Z instanceof Zr?Ki(Z.l,Z.a,Z.b):Ki((Z=xn((Z=e.rgb(Z)).r,Z.g,Z.b)).l,Z.a,Z.b):new Zt(Z,oe,we)}var yr=Zt.prototype=new Wn;yr.brighter=function(Z){return new Zt(this.h,this.c,Math.min(100,this.l+Vr*(arguments.length?Z:1)))},yr.darker=function(Z){return new Zt(this.h,this.c,Math.max(0,this.l-Vr*(arguments.length?Z:1)))},yr.rgb=function(){return Fr(this.h,this.c,this.l).rgb()};function Fr(Z,oe,we){return isNaN(Z)&&(Z=0),isNaN(oe)&&(oe=0),new Zr(we,Math.cos(Z*=Se)*oe,Math.sin(Z)*oe)}e.lab=Zr;function Zr(Z,oe,we){return this instanceof Zr?(this.l=+Z,this.a=+oe,void(this.b=+we)):arguments.length<2?Z instanceof Zr?new Zr(Z.l,Z.a,Z.b):Z instanceof Zt?Fr(Z.h,Z.c,Z.l):xn((Z=Fa(Z)).r,Z.g,Z.b):new Zr(Z,oe,we)}var Vr=18,gi=.95047,Si=1,Mi=1.08883,Pi=Zr.prototype=new Wn;Pi.brighter=function(Z){return new Zr(Math.min(100,this.l+Vr*(arguments.length?Z:1)),this.a,this.b)},Pi.darker=function(Z){return new Zr(Math.max(0,this.l-Vr*(arguments.length?Z:1)),this.a,this.b)},Pi.rgb=function(){return Gi(this.l,this.a,this.b)};function Gi(Z,oe,we){var Be=(Z+16)/116,Ue=Be+oe/500,We=Be-we/200;return Ue=ka(Ue)*gi,Be=ka(Be)*Si,We=ka(We)*Mi,new Fa(la(3.2404542*Ue-1.5371385*Be-.4985314*We),la(-.969266*Ue+1.8760108*Be+.041556*We),la(.0556434*Ue-.2040259*Be+1.0572252*We))}function Ki(Z,oe,we){return Z>0?new Zt(Math.atan2(we,oe)*lt,Math.sqrt(oe*oe+we*we),Z):new Zt(NaN,NaN,Z)}function ka(Z){return Z>.206893034?Z*Z*Z:(Z-4/29)/7.787037}function jn(Z){return Z>.008856?Math.pow(Z,1/3):7.787037*Z+4/29}function la(Z){return Math.round(255*(Z<=.00304?12.92*Z:1.055*Math.pow(Z,1/2.4)-.055))}e.rgb=Fa;function Fa(Z,oe,we){return this instanceof Fa?(this.r=~~Z,this.g=~~oe,void(this.b=~~we)):arguments.length<2?Z instanceof Fa?new Fa(Z.r,Z.g,Z.b):Ha(\"\"+Z,Fa,jt):new Fa(Z,oe,we)}function Ra(Z){return new Fa(Z>>16,Z>>8&255,Z&255)}function jo(Z){return Ra(Z)+\"\"}var oa=Fa.prototype=new Wn;oa.brighter=function(Z){Z=Math.pow(.7,arguments.length?Z:1);var oe=this.r,we=this.g,Be=this.b,Ue=30;return!oe&&!we&&!Be?new Fa(Ue,Ue,Ue):(oe&&oe<Ue&&(oe=Ue),we&&we<Ue&&(we=Ue),Be&&Be<Ue&&(Be=Ue),new Fa(Math.min(255,oe/Z),Math.min(255,we/Z),Math.min(255,Be/Z)))},oa.darker=function(Z){return Z=Math.pow(.7,arguments.length?Z:1),new Fa(Z*this.r,Z*this.g,Z*this.b)},oa.hsl=function(){return oo(this.r,this.g,this.b)},oa.toString=function(){return\"#\"+Sn(this.r)+Sn(this.g)+Sn(this.b)};function Sn(Z){return Z<16?\"0\"+Math.max(0,Z).toString(16):Math.min(255,Z).toString(16)}function Ha(Z,oe,we){var Be=0,Ue=0,We=0,wt,tt,zt;if(wt=/([a-z]+)\\((.*)\\)/.exec(Z=Z.toLowerCase()),wt)switch(tt=wt[2].split(\",\"),wt[1]){case\"hsl\":return we(parseFloat(tt[0]),parseFloat(tt[1])/100,parseFloat(tt[2])/100);case\"rgb\":return oe(br(tt[0]),br(tt[1]),br(tt[2]))}return(zt=Hr.get(Z))?oe(zt.r,zt.g,zt.b):(Z!=null&&Z.charAt(0)===\"#\"&&!isNaN(zt=parseInt(Z.slice(1),16))&&(Z.length===4?(Be=(zt&3840)>>4,Be=Be>>4|Be,Ue=zt&240,Ue=Ue>>4|Ue,We=zt&15,We=We<<4|We):Z.length===7&&(Be=(zt&16711680)>>16,Ue=(zt&65280)>>8,We=zt&255)),oe(Be,Ue,We))}function oo(Z,oe,we){var Be=Math.min(Z/=255,oe/=255,we/=255),Ue=Math.max(Z,oe,we),We=Ue-Be,wt,tt,zt=(Ue+Be)/2;return We?(tt=zt<.5?We/(Ue+Be):We/(2-Ue-Be),Z==Ue?wt=(oe-we)/We+(oe<we?6:0):oe==Ue?wt=(we-Z)/We+2:wt=(Z-oe)/We+4,wt*=60):(wt=NaN,tt=zt>0&&zt<1?0:wt),new It(wt,tt,zt)}function xn(Z,oe,we){Z=_t(Z),oe=_t(oe),we=_t(we);var Be=jn((.4124564*Z+.3575761*oe+.1804375*we)/gi),Ue=jn((.2126729*Z+.7151522*oe+.072175*we)/Si),We=jn((.0193339*Z+.119192*oe+.9503041*we)/Mi);return Zr(116*Ue-16,500*(Be-Ue),200*(Ue-We))}function _t(Z){return(Z/=255)<=.04045?Z/12.92:Math.pow((Z+.055)/1.055,2.4)}function br(Z){var oe=parseFloat(Z);return Z.charAt(Z.length-1)===\"%\"?Math.round(oe*2.55):oe}var Hr=e.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Hr.forEach(function(Z,oe){Hr.set(Z,Ra(oe))});function ti(Z){return typeof Z==\"function\"?Z:function(){return Z}}e.functor=ti,e.xhr=zi(H);function zi(Z){return function(oe,we,Be){return arguments.length===2&&typeof we==\"function\"&&(Be=we,we=null),Yi(oe,we,Z,Be)}}function Yi(Z,oe,we,Be){var Ue={},We=e.dispatch(\"beforesend\",\"progress\",\"load\",\"error\"),wt={},tt=new XMLHttpRequest,zt=null;self.XDomainRequest&&!(\"withCredentials\"in tt)&&/^(http(s)?:)?\\/\\//.test(Z)&&(tt=new XDomainRequest),\"onload\"in tt?tt.onload=tt.onerror=or:tt.onreadystatechange=function(){tt.readyState>3&&or()};function or(){var lr=tt.status,Dr;if(!lr&&hi(tt)||lr>=200&&lr<300||lr===304){try{Dr=we.call(Ue,tt)}catch(Ir){We.error.call(Ue,Ir);return}We.load.call(Ue,Dr)}else We.error.call(Ue,tt)}return tt.onprogress=function(lr){var Dr=e.event;e.event=lr;try{We.progress.call(Ue,tt)}finally{e.event=Dr}},Ue.header=function(lr,Dr){return lr=(lr+\"\").toLowerCase(),arguments.length<2?wt[lr]:(Dr==null?delete wt[lr]:wt[lr]=Dr+\"\",Ue)},Ue.mimeType=function(lr){return arguments.length?(oe=lr==null?null:lr+\"\",Ue):oe},Ue.responseType=function(lr){return arguments.length?(zt=lr,Ue):zt},Ue.response=function(lr){return we=lr,Ue},[\"get\",\"post\"].forEach(function(lr){Ue[lr]=function(){return Ue.send.apply(Ue,[lr].concat(r(arguments)))}}),Ue.send=function(lr,Dr,Ir){if(arguments.length===2&&typeof Dr==\"function\"&&(Ir=Dr,Dr=null),tt.open(lr,Z,!0),oe!=null&&!(\"accept\"in wt)&&(wt.accept=oe+\",*/*\"),tt.setRequestHeader)for(var oi in wt)tt.setRequestHeader(oi,wt[oi]);return oe!=null&&tt.overrideMimeType&&tt.overrideMimeType(oe),zt!=null&&(tt.responseType=zt),Ir!=null&&Ue.on(\"error\",Ir).on(\"load\",function(ui){Ir(null,ui)}),We.beforesend.call(Ue,tt),tt.send(Dr==null?null:Dr),Ue},Ue.abort=function(){return tt.abort(),Ue},e.rebind(Ue,We,\"on\"),Be==null?Ue:Ue.get(an(Be))}function an(Z){return Z.length===1?function(oe,we){Z(oe==null?we:null)}:Z}function hi(Z){var oe=Z.responseType;return oe&&oe!==\"text\"?Z.response:Z.responseText}e.dsv=function(Z,oe){var we=new RegExp('[\"'+Z+`\n", - "]`),Be=Z.charCodeAt(0);function Ue(or,lr,Dr){arguments.length<3&&(Dr=lr,lr=null);var Ir=Yi(or,oe,lr==null?We:wt(lr),Dr);return Ir.row=function(oi){return arguments.length?Ir.response((lr=oi)==null?We:wt(oi)):lr},Ir}function We(or){return Ue.parse(or.responseText)}function wt(or){return function(lr){return Ue.parse(lr.responseText,or)}}Ue.parse=function(or,lr){var Dr;return Ue.parseRows(or,function(Ir,oi){if(Dr)return Dr(Ir,oi-1);var ui=function(qr){for(var Kr={},ii=Ir.length,vi=0;vi<ii;++vi)Kr[Ir[vi]]=qr[vi];return Kr};Dr=lr?function(qr,Kr){return lr(ui(qr),Kr)}:ui})},Ue.parseRows=function(or,lr){var Dr={},Ir={},oi=[],ui=or.length,qr=0,Kr=0,ii,vi;function ci(){if(qr>=ui)return Ir;if(vi)return vi=!1,Dr;var un=qr;if(or.charCodeAt(un)===34){for(var dn=un;dn++<ui;)if(or.charCodeAt(dn)===34){if(or.charCodeAt(dn+1)!==34)break;++dn}qr=dn+2;var En=or.charCodeAt(dn+1);return En===13?(vi=!0,or.charCodeAt(dn+2)===10&&++qr):En===10&&(vi=!0),or.slice(un+1,dn).replace(/\"\"/g,'\"')}for(;qr<ui;){var En=or.charCodeAt(qr++),Nn=1;if(En===10)vi=!0;else if(En===13)vi=!0,or.charCodeAt(qr)===10&&(++qr,++Nn);else if(En!==Be)continue;return or.slice(un,qr-Nn)}return or.slice(un)}for(;(ii=ci())!==Ir;){for(var Jr=[];ii!==Dr&&ii!==Ir;)Jr.push(ii),ii=ci();lr&&(Jr=lr(Jr,Kr++))==null||oi.push(Jr)}return oi},Ue.format=function(or){if(Array.isArray(or[0]))return Ue.formatRows(or);var lr=new V,Dr=[];return or.forEach(function(Ir){for(var oi in Ir)lr.has(oi)||Dr.push(lr.add(oi))}),[Dr.map(zt).join(Z)].concat(or.map(function(Ir){return Dr.map(function(oi){return zt(Ir[oi])}).join(Z)})).join(`\n", - "`)},Ue.formatRows=function(or){return or.map(tt).join(`\n", - "`)};function tt(or){return or.map(zt).join(Z)}function zt(or){return we.test(or)?'\"'+or.replace(/\\\"/g,'\"\"')+'\"':or}return Ue},e.csv=e.dsv(\",\",\"text/csv\"),e.tsv=e.dsv(\"\t\",\"text/tab-separated-values\");var Ji,ua,Fn,Sa,go=this[G(this,\"requestAnimationFrame\")]||function(Z){setTimeout(Z,17)};e.timer=function(){Oo.apply(this,arguments)};function Oo(Z,oe,we){var Be=arguments.length;Be<2&&(oe=0),Be<3&&(we=Date.now());var Ue=we+oe,We={c:Z,t:Ue,n:null};return ua?ua.n=We:Ji=We,ua=We,Fn||(Sa=clearTimeout(Sa),Fn=1,go(ho)),We}function ho(){var Z=Mo(),oe=xo()-Z;oe>24?(isFinite(oe)&&(clearTimeout(Sa),Sa=setTimeout(ho,oe)),Fn=0):(Fn=1,go(ho))}e.timer.flush=function(){Mo(),xo()};function Mo(){for(var Z=Date.now(),oe=Ji;oe;)Z>=oe.t&&oe.c(Z-oe.t)&&(oe.c=null),oe=oe.n;return Z}function xo(){for(var Z,oe=Ji,we=1/0;oe;)oe.c?(oe.t<we&&(we=oe.t),oe=(Z=oe).n):oe=Z?Z.n=oe.n:Ji=oe.n;return ua=Z,we}e.round=function(Z,oe){return oe?Math.round(Z*(oe=Math.pow(10,oe)))/oe:Math.round(Z)},e.geom={};function zs(Z){return Z[0]}function ks(Z){return Z[1]}e.geom.hull=function(Z){var oe=zs,we=ks;if(arguments.length)return Be(Z);function Be(Ue){if(Ue.length<3)return[];var We=ti(oe),wt=ti(we),tt,zt=Ue.length,or=[],lr=[];for(tt=0;tt<zt;tt++)or.push([+We.call(this,Ue[tt],tt),+wt.call(this,Ue[tt],tt),tt]);for(or.sort(Xs),tt=0;tt<zt;tt++)lr.push([or[tt][0],-or[tt][1]]);var Dr=Zs(or),Ir=Zs(lr),oi=Ir[0]===Dr[0],ui=Ir[Ir.length-1]===Dr[Dr.length-1],qr=[];for(tt=Dr.length-1;tt>=0;--tt)qr.push(Ue[or[Dr[tt]][2]]);for(tt=+oi;tt<Ir.length-ui;++tt)qr.push(Ue[or[Ir[tt]][2]]);return qr}return Be.x=function(Ue){return arguments.length?(oe=Ue,Be):oe},Be.y=function(Ue){return arguments.length?(we=Ue,Be):we},Be};function Zs(Z){for(var oe=Z.length,we=[0,1],Be=2,Ue=2;Ue<oe;Ue++){for(;Be>1&&Vt(Z[we[Be-2]],Z[we[Be-1]],Z[Ue])<=0;)--Be;we[Be++]=Ue}return we.slice(0,Be)}function Xs(Z,oe){return Z[0]-oe[0]||Z[1]-oe[1]}e.geom.polygon=function(Z){return ie(Z,wl),Z};var wl=e.geom.polygon.prototype=[];wl.area=function(){for(var Z=-1,oe=this.length,we,Be=this[oe-1],Ue=0;++Z<oe;)we=Be,Be=this[Z],Ue+=we[1]*Be[0]-we[0]*Be[1];return Ue*.5},wl.centroid=function(Z){var oe=-1,we=this.length,Be=0,Ue=0,We,wt=this[we-1],tt;for(arguments.length||(Z=-1/(6*this.area()));++oe<we;)We=wt,wt=this[oe],tt=We[0]*wt[1]-wt[0]*We[1],Be+=(We[0]+wt[0])*tt,Ue+=(We[1]+wt[1])*tt;return[Be*Z,Ue*Z]},wl.clip=function(Z){for(var oe,we=Cs(Z),Be=-1,Ue=this.length-Cs(this),We,wt,tt=this[Ue-1],zt,or,lr;++Be<Ue;){for(oe=Z.slice(),Z.length=0,zt=this[Be],or=oe[(wt=oe.length-we)-1],We=-1;++We<wt;)lr=oe[We],os(lr,tt,zt)?(os(or,tt,zt)||Z.push(cl(or,lr,tt,zt)),Z.push(lr)):os(or,tt,zt)&&Z.push(cl(or,lr,tt,zt)),or=lr;we&&Z.push(Z[0]),tt=zt}return Z};function os(Z,oe,we){return(we[0]-oe[0])*(Z[1]-oe[1])<(we[1]-oe[1])*(Z[0]-oe[0])}function cl(Z,oe,we,Be){var Ue=Z[0],We=we[0],wt=oe[0]-Ue,tt=Be[0]-We,zt=Z[1],or=we[1],lr=oe[1]-zt,Dr=Be[1]-or,Ir=(tt*(zt-or)-Dr*(Ue-We))/(Dr*wt-tt*lr);return[Ue+Ir*wt,zt+Ir*lr]}function Cs(Z){var oe=Z[0],we=Z[Z.length-1];return!(oe[0]-we[0]||oe[1]-we[1])}var ml,Ys,Hs,Eo=[],fs,Ql,Hu=[];function fc(){Ls(this),this.edge=this.site=this.circle=null}function ms(Z){var oe=Eo.pop()||new fc;return oe.site=Z,oe}function on(Z){ko(Z),Hs.remove(Z),Eo.push(Z),Ls(Z)}function fa(Z){var oe=Z.circle,we=oe.x,Be=oe.cy,Ue={x:we,y:Be},We=Z.P,wt=Z.N,tt=[Z];on(Z);for(var zt=We;zt.circle&&p(we-zt.circle.x)<Ye&&p(Be-zt.circle.cy)<Ye;)We=zt.P,tt.unshift(zt),on(zt),zt=We;tt.unshift(zt),ko(zt);for(var or=wt;or.circle&&p(we-or.circle.x)<Ye&&p(Be-or.circle.cy)<Ye;)wt=or.N,tt.push(or),on(or),or=wt;tt.push(or),ko(or);var lr=tt.length,Dr;for(Dr=1;Dr<lr;++Dr)or=tt[Dr],zt=tt[Dr-1],Al(or.edge,zt.site,or.site,Ue);zt=tt[0],or=tt[lr-1],or.edge=cf(zt.site,or.site,null,Ue),Zn(zt),Zn(or)}function Qu(Z){for(var oe=Z.x,we=Z.y,Be,Ue,We,wt,tt=Hs._;tt;)if(We=Rl(tt,we)-oe,We>Ye)tt=tt.L;else if(wt=oe-vo(tt,we),wt>Ye){if(!tt.R){Be=tt;break}tt=tt.R}else{We>-Ye?(Be=tt.P,Ue=tt):wt>-Ye?(Be=tt,Ue=tt.N):Be=Ue=tt;break}var zt=ms(Z);if(Hs.insert(Be,zt),!(!Be&&!Ue)){if(Be===Ue){ko(Be),Ue=ms(Be.site),Hs.insert(zt,Ue),zt.edge=Ue.edge=cf(Be.site,zt.site),Zn(Be),Zn(Ue);return}if(!Ue){zt.edge=cf(Be.site,zt.site);return}ko(Be),ko(Ue);var or=Be.site,lr=or.x,Dr=or.y,Ir=Z.x-lr,oi=Z.y-Dr,ui=Ue.site,qr=ui.x-lr,Kr=ui.y-Dr,ii=2*(Ir*Kr-oi*qr),vi=Ir*Ir+oi*oi,ci=qr*qr+Kr*Kr,Jr={x:(Kr*vi-oi*ci)/ii+lr,y:(Ir*ci-qr*vi)/ii+Dr};Al(Ue.edge,or,ui,Jr),zt.edge=cf(or,Z,null,Jr),Ue.edge=cf(Z,ui,null,Jr),Zn(Be),Zn(Ue)}}function Rl(Z,oe){var we=Z.site,Be=we.x,Ue=we.y,We=Ue-oe;if(!We)return Be;var wt=Z.P;if(!wt)return-1/0;we=wt.site;var tt=we.x,zt=we.y,or=zt-oe;if(!or)return tt;var lr=tt-Be,Dr=1/We-1/or,Ir=lr/or;return Dr?(-Ir+Math.sqrt(Ir*Ir-2*Dr*(lr*lr/(-2*or)-zt+or/2+Ue-We/2)))/Dr+Be:(Be+tt)/2}function vo(Z,oe){var we=Z.N;if(we)return Rl(we,oe);var Be=Z.site;return Be.y===oe?Be.x:1/0}function Zl(Z){this.site=Z,this.edges=[]}Zl.prototype.prepare=function(){for(var Z=this.edges,oe=Z.length,we;oe--;)we=Z[oe].edge,(!we.b||!we.a)&&Z.splice(oe,1);return Z.sort(Xl),Z.length};function Ks(Z){for(var oe=Z[0][0],we=Z[1][0],Be=Z[0][1],Ue=Z[1][1],We,wt,tt,zt,or=Ys,lr=or.length,Dr,Ir,oi,ui,qr,Kr;lr--;)if(Dr=or[lr],!(!Dr||!Dr.prepare()))for(oi=Dr.edges,ui=oi.length,Ir=0;Ir<ui;)Kr=oi[Ir].end(),tt=Kr.x,zt=Kr.y,qr=oi[++Ir%ui].start(),We=qr.x,wt=qr.y,(p(tt-We)>Ye||p(zt-wt)>Ye)&&(oi.splice(Ir,0,new Hc(rh(Dr.site,Kr,p(tt-oe)<Ye&&Ue-zt>Ye?{x:oe,y:p(We-oe)<Ye?wt:Ue}:p(zt-Ue)<Ye&&we-tt>Ye?{x:p(wt-Ue)<Ye?We:we,y:Ue}:p(tt-we)<Ye&&zt-Be>Ye?{x:we,y:p(We-we)<Ye?wt:Be}:p(zt-Be)<Ye&&tt-oe>Ye?{x:p(wt-Be)<Ye?We:oe,y:Be}:null),Dr.site,null)),++ui)}function Xl(Z,oe){return oe.angle-Z.angle}function Ec(){Ls(this),this.x=this.y=this.arc=this.site=this.cy=null}function Zn(Z){var oe=Z.P,we=Z.N;if(!(!oe||!we)){var Be=oe.site,Ue=Z.site,We=we.site;if(Be!==We){var wt=Ue.x,tt=Ue.y,zt=Be.x-wt,or=Be.y-tt,lr=We.x-wt,Kr=We.y-tt,Dr=2*(zt*Kr-or*lr);if(!(Dr>=-Ve)){var Ir=zt*zt+or*or,oi=lr*lr+Kr*Kr,ui=(Kr*Ir-or*oi)/Dr,qr=(zt*oi-lr*Ir)/Dr,Kr=qr+tt,ii=Hu.pop()||new Ec;ii.arc=Z,ii.site=Ue,ii.x=ui+wt,ii.y=Kr+Math.sqrt(ui*ui+qr*qr),ii.cy=Kr,Z.circle=ii;for(var vi=null,ci=Ql._;ci;)if(ii.y<ci.y||ii.y===ci.y&&ii.x<=ci.x)if(ci.L)ci=ci.L;else{vi=ci.P;break}else if(ci.R)ci=ci.R;else{vi=ci;break}Ql.insert(vi,ii),vi||(fs=ii)}}}}function ko(Z){var oe=Z.circle;oe&&(oe.P||(fs=oe.N),Ql.remove(oe),Hu.push(oe),Ls(oe),Z.circle=null)}function Co(Z,oe,we,Be){return function(Ue){var We=Ue.a,wt=Ue.b,tt=We.x,zt=We.y,or=wt.x,lr=wt.y,Dr=0,Ir=1,oi=or-tt,ui=lr-zt,qr;if(qr=Z-tt,!(!oi&&qr>0)){if(qr/=oi,oi<0){if(qr<Dr)return;qr<Ir&&(Ir=qr)}else if(oi>0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}if(qr=we-tt,!(!oi&&qr<0)){if(qr/=oi,oi<0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}else if(oi>0){if(qr<Dr)return;qr<Ir&&(Ir=qr)}if(qr=oe-zt,!(!ui&&qr>0)){if(qr/=ui,ui<0){if(qr<Dr)return;qr<Ir&&(Ir=qr)}else if(ui>0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}if(qr=Be-zt,!(!ui&&qr<0)){if(qr/=ui,ui<0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}else if(ui>0){if(qr<Dr)return;qr<Ir&&(Ir=qr)}return Dr>0&&(Ue.a={x:tt+Dr*oi,y:zt+Dr*ui}),Ir<1&&(Ue.b={x:tt+Ir*oi,y:zt+Ir*ui}),Ue}}}}}}function Tl(Z){for(var oe=ml,we=Co(Z[0][0],Z[0][1],Z[1][0],Z[1][1]),Be=oe.length,Ue;Be--;)Ue=oe[Be],(!uf(Ue,Z)||!we(Ue)||p(Ue.a.x-Ue.b.x)<Ye&&p(Ue.a.y-Ue.b.y)<Ye)&&(Ue.a=Ue.b=null,oe.splice(Be,1))}function uf(Z,oe){var we=Z.b;if(we)return!0;var Be=Z.a,Ue=oe[0][0],We=oe[1][0],wt=oe[0][1],tt=oe[1][1],zt=Z.l,or=Z.r,lr=zt.x,Dr=zt.y,Ir=or.x,oi=or.y,ui=(lr+Ir)/2,qr=(Dr+oi)/2,Kr,ii;if(oi===Dr){if(ui<Ue||ui>=We)return;if(lr>Ir){if(!Be)Be={x:ui,y:wt};else if(Be.y>=tt)return;we={x:ui,y:tt}}else{if(!Be)Be={x:ui,y:tt};else if(Be.y<wt)return;we={x:ui,y:wt}}}else if(Kr=(lr-Ir)/(oi-Dr),ii=qr-Kr*ui,Kr<-1||Kr>1)if(lr>Ir){if(!Be)Be={x:(wt-ii)/Kr,y:wt};else if(Be.y>=tt)return;we={x:(tt-ii)/Kr,y:tt}}else{if(!Be)Be={x:(tt-ii)/Kr,y:tt};else if(Be.y<wt)return;we={x:(wt-ii)/Kr,y:wt}}else if(Dr<oi){if(!Be)Be={x:Ue,y:Kr*Ue+ii};else if(Be.x>=We)return;we={x:We,y:Kr*We+ii}}else{if(!Be)Be={x:We,y:Kr*We+ii};else if(Be.x<Ue)return;we={x:Ue,y:Kr*Ue+ii}}return Z.a=Be,Z.b=we,!0}function So(Z,oe){this.l=Z,this.r=oe,this.a=this.b=null}function cf(Z,oe,we,Be){var Ue=new So(Z,oe);return ml.push(Ue),we&&Al(Ue,Z,oe,we),Be&&Al(Ue,oe,Z,Be),Ys[Z.i].edges.push(new Hc(Ue,Z,oe)),Ys[oe.i].edges.push(new Hc(Ue,oe,Z)),Ue}function rh(Z,oe,we){var Be=new So(Z,null);return Be.a=oe,Be.b=we,ml.push(Be),Be}function Al(Z,oe,we,Be){!Z.a&&!Z.b?(Z.a=Be,Z.l=oe,Z.r=we):Z.l===we?Z.b=Be:Z.a=Be}function Hc(Z,oe,we){var Be=Z.a,Ue=Z.b;this.edge=Z,this.site=oe,this.angle=we?Math.atan2(we.y-oe.y,we.x-oe.x):Z.l===oe?Math.atan2(Ue.x-Be.x,Be.y-Ue.y):Math.atan2(Be.x-Ue.x,Ue.y-Be.y)}Hc.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}};function eu(){this._=null}function Ls(Z){Z.U=Z.C=Z.L=Z.R=Z.P=Z.N=null}eu.prototype={insert:function(Z,oe){var we,Be,Ue;if(Z){if(oe.P=Z,oe.N=Z.N,Z.N&&(Z.N.P=oe),Z.N=oe,Z.R){for(Z=Z.R;Z.L;)Z=Z.L;Z.L=oe}else Z.R=oe;we=Z}else this._?(Z=Of(this._),oe.P=null,oe.N=Z,Z.P=Z.L=oe,we=Z):(oe.P=oe.N=null,this._=oe,we=null);for(oe.L=oe.R=null,oe.U=we,oe.C=!0,Z=oe;we&&we.C;)Be=we.U,we===Be.L?(Ue=Be.R,Ue&&Ue.C?(we.C=Ue.C=!1,Be.C=!0,Z=Be):(Z===we.R&&(mu(this,we),Z=we,we=Z.U),we.C=!1,Be.C=!0,kc(this,Be))):(Ue=Be.L,Ue&&Ue.C?(we.C=Ue.C=!1,Be.C=!0,Z=Be):(Z===we.L&&(kc(this,we),Z=we,we=Z.U),we.C=!1,Be.C=!0,mu(this,Be))),we=Z.U;this._.C=!1},remove:function(Z){Z.N&&(Z.N.P=Z.P),Z.P&&(Z.P.N=Z.N),Z.N=Z.P=null;var oe=Z.U,we,Be=Z.L,Ue=Z.R,We,wt;if(Be?Ue?We=Of(Ue):We=Be:We=Ue,oe?oe.L===Z?oe.L=We:oe.R=We:this._=We,Be&&Ue?(wt=We.C,We.C=Z.C,We.L=Be,Be.U=We,We!==Ue?(oe=We.U,We.U=Z.U,Z=We.R,oe.L=Z,We.R=Ue,Ue.U=We):(We.U=oe,oe=We,Z=We.R)):(wt=Z.C,Z=We),Z&&(Z.U=oe),!wt){if(Z&&Z.C){Z.C=!1;return}do{if(Z===this._)break;if(Z===oe.L){if(we=oe.R,we.C&&(we.C=!1,oe.C=!0,mu(this,oe),we=oe.R),we.L&&we.L.C||we.R&&we.R.C){(!we.R||!we.R.C)&&(we.L.C=!1,we.C=!0,kc(this,we),we=oe.R),we.C=oe.C,oe.C=we.R.C=!1,mu(this,oe),Z=this._;break}}else if(we=oe.L,we.C&&(we.C=!1,oe.C=!0,kc(this,oe),we=oe.L),we.L&&we.L.C||we.R&&we.R.C){(!we.L||!we.L.C)&&(we.R.C=!1,we.C=!0,mu(this,we),we=oe.L),we.C=oe.C,oe.C=we.L.C=!1,kc(this,oe),Z=this._;break}we.C=!0,Z=oe,oe=oe.U}while(!Z.C);Z&&(Z.C=!1)}}};function mu(Z,oe){var we=oe,Be=oe.R,Ue=we.U;Ue?Ue.L===we?Ue.L=Be:Ue.R=Be:Z._=Be,Be.U=Ue,we.U=Be,we.R=Be.L,we.R&&(we.R.U=we),Be.L=we}function kc(Z,oe){var we=oe,Be=oe.L,Ue=we.U;Ue?Ue.L===we?Ue.L=Be:Ue.R=Be:Z._=Be,Be.U=Ue,we.U=Be,we.L=Be.R,we.L&&(we.L.U=we),Be.R=we}function Of(Z){for(;Z.L;)Z=Z.L;return Z}function Gc(Z,oe){var we=Z.sort(vd).pop(),Be,Ue,We;for(ml=[],Ys=new Array(Z.length),Hs=new eu,Ql=new eu;;)if(We=fs,we&&(!We||we.y<We.y||we.y===We.y&&we.x<We.x))(we.x!==Be||we.y!==Ue)&&(Ys[we.i]=new Zl(we),Qu(we),Be=we.x,Ue=we.y),we=Z.pop();else if(We)fa(We.arc);else break;oe&&(Tl(oe),Ks(oe));var wt={cells:Ys,edges:ml};return Hs=Ql=ml=Ys=null,wt}function vd(Z,oe){return oe.y-Z.y||oe.x-Z.x}e.geom.voronoi=function(Z){var oe=zs,we=ks,Be=oe,Ue=we,We=Bf;if(Z)return wt(Z);function wt(zt){var or=new Array(zt.length),lr=We[0][0],Dr=We[0][1],Ir=We[1][0],oi=We[1][1];return Gc(tt(zt),We).cells.forEach(function(ui,qr){var Kr=ui.edges,ii=ui.site,vi=or[qr]=Kr.length?Kr.map(function(ci){var Jr=ci.start();return[Jr.x,Jr.y]}):ii.x>=lr&&ii.x<=Ir&&ii.y>=Dr&&ii.y<=oi?[[lr,oi],[Ir,oi],[Ir,Dr],[lr,Dr]]:[];vi.point=zt[qr]}),or}function tt(zt){return zt.map(function(or,lr){return{x:Math.round(Be(or,lr)/Ye)*Ye,y:Math.round(Ue(or,lr)/Ye)*Ye,i:lr}})}return wt.links=function(zt){return Gc(tt(zt)).edges.filter(function(or){return or.l&&or.r}).map(function(or){return{source:zt[or.l.i],target:zt[or.r.i]}})},wt.triangles=function(zt){var or=[];return Gc(tt(zt)).cells.forEach(function(lr,Dr){for(var Ir=lr.site,oi=lr.edges.sort(Xl),ui=-1,qr=oi.length,Kr,ii,vi=oi[qr-1].edge,ci=vi.l===Ir?vi.r:vi.l;++ui<qr;)Kr=vi,ii=ci,vi=oi[ui].edge,ci=vi.l===Ir?vi.r:vi.l,Dr<ii.i&&Dr<ci.i&&ss(Ir,ii,ci)<0&&or.push([zt[Dr],zt[ii.i],zt[ci.i]])}),or},wt.x=function(zt){return arguments.length?(Be=ti(oe=zt),wt):oe},wt.y=function(zt){return arguments.length?(Ue=ti(we=zt),wt):we},wt.clipExtent=function(zt){return arguments.length?(We=zt==null?Bf:zt,wt):We===Bf?null:We},wt.size=function(zt){return arguments.length?wt.clipExtent(zt&&[[0,0],zt]):We===Bf?null:We&&We[1]},wt};var Bf=[[-1e6,-1e6],[1e6,1e6]];function ss(Z,oe,we){return(Z.x-we.x)*(oe.y-Z.y)-(Z.x-oe.x)*(we.y-Z.y)}e.geom.delaunay=function(Z){return e.geom.voronoi().triangles(Z)},e.geom.quadtree=function(Z,oe,we,Be,Ue){var We=zs,wt=ks,tt;if(tt=arguments.length)return We=ff,wt=ih,tt===3&&(Ue=we,Be=oe,we=oe=0),zt(Z);function zt(or){var lr,Dr=ti(We),Ir=ti(wt),oi,ui,qr,Kr,ii,vi,ci,Jr;if(oe!=null)ii=oe,vi=we,ci=Be,Jr=Ue;else if(ci=Jr=-(ii=vi=1/0),oi=[],ui=[],Kr=or.length,tt)for(qr=0;qr<Kr;++qr)lr=or[qr],lr.x<ii&&(ii=lr.x),lr.y<vi&&(vi=lr.y),lr.x>ci&&(ci=lr.x),lr.y>Jr&&(Jr=lr.y),oi.push(lr.x),ui.push(lr.y);else for(qr=0;qr<Kr;++qr){var un=+Dr(lr=or[qr],qr),dn=+Ir(lr,qr);un<ii&&(ii=un),dn<vi&&(vi=dn),un>ci&&(ci=un),dn>Jr&&(Jr=dn),oi.push(un),ui.push(dn)}var En=ci-ii,Nn=Jr-vi;En>Nn?Jr=vi+En:ci=ii+Nn;function ga(wa,io,Ss,_s,Ns,pn,za,Lo){if(!(isNaN(Ss)||isNaN(_s)))if(wa.leaf){var Fo=wa.x,js=wa.y;if(Fo!=null)if(p(Fo-Ss)+p(js-_s)<.01)ya(wa,io,Ss,_s,Ns,pn,za,Lo);else{var xl=wa.point;wa.x=wa.y=wa.point=null,ya(wa,xl,Fo,js,Ns,pn,za,Lo),ya(wa,io,Ss,_s,Ns,pn,za,Lo)}else wa.x=Ss,wa.y=_s,wa.point=io}else ya(wa,io,Ss,_s,Ns,pn,za,Lo)}function ya(wa,io,Ss,_s,Ns,pn,za,Lo){var Fo=(Ns+za)*.5,js=(pn+Lo)*.5,xl=Ss>=Fo,fu=_s>=js,dl=fu<<1|xl;wa.leaf=!1,wa=wa.nodes[dl]||(wa.nodes[dl]=Vl()),xl?Ns=Fo:za=Fo,fu?pn=js:Lo=js,ga(wa,io,Ss,_s,Ns,pn,za,Lo)}var so=Vl();if(so.add=function(wa){ga(so,wa,+Dr(wa,++qr),+Ir(wa,qr),ii,vi,ci,Jr)},so.visit=function(wa){Js(wa,so,ii,vi,ci,Jr)},so.find=function(wa){return hc(so,wa[0],wa[1],ii,vi,ci,Jr)},qr=-1,oe==null){for(;++qr<Kr;)ga(so,or[qr],oi[qr],ui[qr],ii,vi,ci,Jr);--qr}else or.forEach(so.add);return oi=ui=or=lr=null,so}return zt.x=function(or){return arguments.length?(We=or,zt):We},zt.y=function(or){return arguments.length?(wt=or,zt):wt},zt.extent=function(or){return arguments.length?(or==null?oe=we=Be=Ue=null:(oe=+or[0][0],we=+or[0][1],Be=+or[1][0],Ue=+or[1][1]),zt):oe==null?null:[[oe,we],[Be,Ue]]},zt.size=function(or){return arguments.length?(or==null?oe=we=Be=Ue=null:(oe=we=0,Be=+or[0],Ue=+or[1]),zt):oe==null?null:[Be-oe,Ue-we]},zt};function ff(Z){return Z.x}function ih(Z){return Z.y}function Vl(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function Js(Z,oe,we,Be,Ue,We){if(!Z(oe,we,Be,Ue,We)){var wt=(we+Ue)*.5,tt=(Be+We)*.5,zt=oe.nodes;zt[0]&&Js(Z,zt[0],we,Be,wt,tt),zt[1]&&Js(Z,zt[1],wt,Be,Ue,tt),zt[2]&&Js(Z,zt[2],we,tt,wt,We),zt[3]&&Js(Z,zt[3],wt,tt,Ue,We)}}function hc(Z,oe,we,Be,Ue,We,wt){var tt=1/0,zt;return function or(lr,Dr,Ir,oi,ui){if(!(Dr>We||Ir>wt||oi<Be||ui<Ue)){if(qr=lr.point){var qr,Kr=oe-lr.x,ii=we-lr.y,vi=Kr*Kr+ii*ii;if(vi<tt){var ci=Math.sqrt(tt=vi);Be=oe-ci,Ue=we-ci,We=oe+ci,wt=we+ci,zt=qr}}for(var Jr=lr.nodes,un=(Dr+oi)*.5,dn=(Ir+ui)*.5,En=oe>=un,Nn=we>=dn,ga=Nn<<1|En,ya=ga+4;ga<ya;++ga)if(lr=Jr[ga&3])switch(ga&3){case 0:or(lr,Dr,Ir,un,dn);break;case 1:or(lr,un,Ir,oi,dn);break;case 2:or(lr,Dr,dn,un,ui);break;case 3:or(lr,un,dn,oi,ui);break}}}(Z,Be,Ue,We,wt),zt}e.interpolateRgb=Cc;function Cc(Z,oe){Z=e.rgb(Z),oe=e.rgb(oe);var we=Z.r,Be=Z.g,Ue=Z.b,We=oe.r-we,wt=oe.g-Be,tt=oe.b-Ue;return function(zt){return\"#\"+Sn(Math.round(we+We*zt))+Sn(Math.round(Be+wt*zt))+Sn(Math.round(Ue+tt*zt))}}e.interpolateObject=ws;function ws(Z,oe){var we={},Be={},Ue;for(Ue in Z)Ue in oe?we[Ue]=Sl(Z[Ue],oe[Ue]):Be[Ue]=Z[Ue];for(Ue in oe)Ue in Z||(Be[Ue]=oe[Ue]);return function(We){for(Ue in we)Be[Ue]=we[Ue](We);return Be}}e.interpolateNumber=$s;function $s(Z,oe){return Z=+Z,oe=+oe,function(we){return Z*(1-we)+oe*we}}e.interpolateString=hs;function hs(Z,oe){var we=Ms.lastIndex=dc.lastIndex=0,Be,Ue,We,wt=-1,tt=[],zt=[];for(Z=Z+\"\",oe=oe+\"\";(Be=Ms.exec(Z))&&(Ue=dc.exec(oe));)(We=Ue.index)>we&&(We=oe.slice(we,We),tt[wt]?tt[wt]+=We:tt[++wt]=We),(Be=Be[0])===(Ue=Ue[0])?tt[wt]?tt[wt]+=Ue:tt[++wt]=Ue:(tt[++wt]=null,zt.push({i:wt,x:$s(Be,Ue)})),we=dc.lastIndex;return we<oe.length&&(We=oe.slice(we),tt[wt]?tt[wt]+=We:tt[++wt]=We),tt.length<2?zt[0]?(oe=zt[0].x,function(or){return oe(or)+\"\"}):function(){return oe}:(oe=zt.length,function(or){for(var lr=0,Dr;lr<oe;++lr)tt[(Dr=zt[lr]).i]=Dr.x(or);return tt.join(\"\")})}var Ms=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,dc=new RegExp(Ms.source,\"g\");e.interpolate=Sl;function Sl(Z,oe){for(var we=e.interpolators.length,Be;--we>=0&&!(Be=e.interpolators[we](Z,oe)););return Be}e.interpolators=[function(Z,oe){var we=typeof oe;return(we===\"string\"?Hr.has(oe.toLowerCase())||/^(#|rgb\\(|hsl\\()/i.test(oe)?Cc:hs:oe instanceof Wn?Cc:Array.isArray(oe)?ec:we===\"object\"&&isNaN(oe)?ws:$s)(Z,oe)}],e.interpolateArray=ec;function ec(Z,oe){var we=[],Be=[],Ue=Z.length,We=oe.length,wt=Math.min(Z.length,oe.length),tt;for(tt=0;tt<wt;++tt)we.push(Sl(Z[tt],oe[tt]));for(;tt<Ue;++tt)Be[tt]=Z[tt];for(;tt<We;++tt)Be[tt]=oe[tt];return function(zt){for(tt=0;tt<wt;++tt)Be[tt]=we[tt](zt);return Be}}var Ps=function(){return H},ov=e.map({linear:Ps,poly:Mh,quad:function(){return Ef},cubic:function(){return tc},sin:function(){return jc},exp:function(){return kf},circle:function(){return Ml},elastic:Yh,back:Eh,bounce:function(){return nh}}),wo=e.map({in:H,out:$o,\"in-out\":Ja,\"out-in\":function(Z){return Ja($o(Z))}});e.ease=function(Z){var oe=Z.indexOf(\"-\"),we=oe>=0?Z.slice(0,oe):Z,Be=oe>=0?Z.slice(oe+1):\"in\";return we=ov.get(we)||Ps,Be=wo.get(Be)||H,Od(Be(we.apply(null,t.call(arguments,1))))};function Od(Z){return function(oe){return oe<=0?0:oe>=1?1:Z(oe)}}function $o(Z){return function(oe){return 1-Z(1-oe)}}function Ja(Z){return function(oe){return .5*(oe<.5?Z(2*oe):2-Z(2-2*oe))}}function Ef(Z){return Z*Z}function tc(Z){return Z*Z*Z}function uu(Z){if(Z<=0)return 0;if(Z>=1)return 1;var oe=Z*Z,we=oe*Z;return 4*(Z<.5?we:3*(Z-oe)+we-.75)}function Mh(Z){return function(oe){return Math.pow(oe,Z)}}function jc(Z){return 1-Math.cos(Z*xe)}function kf(Z){return Math.pow(2,10*(Z-1))}function Ml(Z){return 1-Math.sqrt(1-Z*Z)}function Yh(Z,oe){var we;return arguments.length<2&&(oe=.45),arguments.length?we=oe/ht*Math.asin(1/Z):(Z=1,we=oe/4),function(Be){return 1+Z*Math.pow(2,-10*Be)*Math.sin((Be-we)*ht/oe)}}function Eh(Z){return Z||(Z=1.70158),function(oe){return oe*oe*((Z+1)*oe-Z)}}function nh(Z){return Z<1/2.75?7.5625*Z*Z:Z<2/2.75?7.5625*(Z-=1.5/2.75)*Z+.75:Z<2.5/2.75?7.5625*(Z-=2.25/2.75)*Z+.9375:7.5625*(Z-=2.625/2.75)*Z+.984375}e.interpolateHcl=hf;function hf(Z,oe){Z=e.hcl(Z),oe=e.hcl(oe);var we=Z.h,Be=Z.c,Ue=Z.l,We=oe.h-we,wt=oe.c-Be,tt=oe.l-Ue;return isNaN(wt)&&(wt=0,Be=isNaN(Be)?oe.c:Be),isNaN(We)?(We=0,we=isNaN(we)?oe.h:we):We>180?We-=360:We<-180&&(We+=360),function(zt){return Fr(we+We*zt,Be+wt*zt,Ue+tt*zt)+\"\"}}e.interpolateHsl=kh;function kh(Z,oe){Z=e.hsl(Z),oe=e.hsl(oe);var we=Z.h,Be=Z.s,Ue=Z.l,We=oe.h-we,wt=oe.s-Be,tt=oe.l-Ue;return isNaN(wt)&&(wt=0,Be=isNaN(Be)?oe.s:Be),isNaN(We)?(We=0,we=isNaN(we)?oe.h:we):We>180?We-=360:We<-180&&(We+=360),function(zt){return jt(we+We*zt,Be+wt*zt,Ue+tt*zt)+\"\"}}e.interpolateLab=Kh;function Kh(Z,oe){Z=e.lab(Z),oe=e.lab(oe);var we=Z.l,Be=Z.a,Ue=Z.b,We=oe.l-we,wt=oe.a-Be,tt=oe.b-Ue;return function(zt){return Gi(we+We*zt,Be+wt*zt,Ue+tt*zt)+\"\"}}e.interpolateRound=rc;function rc(Z,oe){return oe-=Z,function(we){return Math.round(Z+oe*we)}}e.transform=function(Z){var oe=n.createElementNS(e.ns.prefix.svg,\"g\");return(e.transform=function(we){if(we!=null){oe.setAttribute(\"transform\",we);var Be=oe.transform.baseVal.consolidate()}return new ah(Be?Be.matrix:Nf)})(Z)};function ah(Z){var oe=[Z.a,Z.b],we=[Z.c,Z.d],Be=df(oe),Ue=Wc(oe,we),We=df(Cu(we,oe,-Ue))||0;oe[0]*we[1]<we[0]*oe[1]&&(oe[0]*=-1,oe[1]*=-1,Be*=-1,Ue*=-1),this.rotate=(Be?Math.atan2(oe[1],oe[0]):Math.atan2(-we[0],we[1]))*lt,this.translate=[Z.e,Z.f],this.scale=[Be,We],this.skew=We?Math.atan2(Ue,We)*lt:0}ah.prototype.toString=function(){return\"translate(\"+this.translate+\")rotate(\"+this.rotate+\")skewX(\"+this.skew+\")scale(\"+this.scale+\")\"};function Wc(Z,oe){return Z[0]*oe[0]+Z[1]*oe[1]}function df(Z){var oe=Math.sqrt(Wc(Z,Z));return oe&&(Z[0]/=oe,Z[1]/=oe),oe}function Cu(Z,oe,we){return Z[0]+=we*oe[0],Z[1]+=we*oe[1],Z}var Nf={a:1,b:0,c:0,d:1,e:0,f:0};e.interpolateTransform=Cf;function Zc(Z){return Z.length?Z.pop()+\",\":\"\"}function ds(Z,oe,we,Be){if(Z[0]!==oe[0]||Z[1]!==oe[1]){var Ue=we.push(\"translate(\",null,\",\",null,\")\");Be.push({i:Ue-4,x:$s(Z[0],oe[0])},{i:Ue-2,x:$s(Z[1],oe[1])})}else(oe[0]||oe[1])&&we.push(\"translate(\"+oe+\")\")}function Ch(Z,oe,we,Be){Z!==oe?(Z-oe>180?oe+=360:oe-Z>180&&(Z+=360),Be.push({i:we.push(Zc(we)+\"rotate(\",null,\")\")-2,x:$s(Z,oe)})):oe&&we.push(Zc(we)+\"rotate(\"+oe+\")\")}function Bd(Z,oe,we,Be){Z!==oe?Be.push({i:we.push(Zc(we)+\"skewX(\",null,\")\")-2,x:$s(Z,oe)}):oe&&we.push(Zc(we)+\"skewX(\"+oe+\")\")}function Jh(Z,oe,we,Be){if(Z[0]!==oe[0]||Z[1]!==oe[1]){var Ue=we.push(Zc(we)+\"scale(\",null,\",\",null,\")\");Be.push({i:Ue-4,x:$s(Z[0],oe[0])},{i:Ue-2,x:$s(Z[1],oe[1])})}else(oe[0]!==1||oe[1]!==1)&&we.push(Zc(we)+\"scale(\"+oe+\")\")}function Cf(Z,oe){var we=[],Be=[];return Z=e.transform(Z),oe=e.transform(oe),ds(Z.translate,oe.translate,we,Be),Ch(Z.rotate,oe.rotate,we,Be),Bd(Z.skew,oe.skew,we,Be),Jh(Z.scale,oe.scale,we,Be),Z=oe=null,function(Ue){for(var We=-1,wt=Be.length,tt;++We<wt;)we[(tt=Be[We]).i]=tt.x(Ue);return we.join(\"\")}}function pd(Z,oe){return oe=(oe-=Z=+Z)||1/oe,function(we){return(we-Z)/oe}}function Lu(Z,oe){return oe=(oe-=Z=+Z)||1/oe,function(we){return Math.max(0,Math.min(1,(we-Z)/oe))}}e.layout={},e.layout.bundle=function(){return function(Z){for(var oe=[],we=-1,Be=Z.length;++we<Be;)oe.push($h(Z[we]));return oe}};function $h(Z){for(var oe=Z.source,we=Z.target,Be=Pu(oe,we),Ue=[oe];oe!==Be;)oe=oe.parent,Ue.push(oe);for(var We=Ue.length;we!==Be;)Ue.splice(We,0,we),we=we.parent;return Ue}function tu(Z){for(var oe=[],we=Z.parent;we!=null;)oe.push(Z),Z=we,we=we.parent;return oe.push(Z),oe}function Pu(Z,oe){if(Z===oe)return Z;for(var we=tu(Z),Be=tu(oe),Ue=we.pop(),We=Be.pop(),wt=null;Ue===We;)wt=Ue,Ue=we.pop(),We=Be.pop();return wt}e.layout.chord=function(){var Z={},oe,we,Be,Ue,We=0,wt,tt,zt;function or(){var Dr={},Ir=[],oi=e.range(Ue),ui=[],qr,Kr,ii,vi,ci;for(oe=[],we=[],qr=0,vi=-1;++vi<Ue;){for(Kr=0,ci=-1;++ci<Ue;)Kr+=Be[vi][ci];Ir.push(Kr),ui.push(e.range(Ue)),qr+=Kr}for(wt&&oi.sort(function(so,wa){return wt(Ir[so],Ir[wa])}),tt&&ui.forEach(function(so,wa){so.sort(function(io,Ss){return tt(Be[wa][io],Be[wa][Ss])})}),qr=(ht-We*Ue)/qr,Kr=0,vi=-1;++vi<Ue;){for(ii=Kr,ci=-1;++ci<Ue;){var Jr=oi[vi],un=ui[Jr][ci],dn=Be[Jr][un],En=Kr,Nn=Kr+=dn*qr;Dr[Jr+\"-\"+un]={index:Jr,subindex:un,startAngle:En,endAngle:Nn,value:dn}}we[Jr]={index:Jr,startAngle:ii,endAngle:Kr,value:Ir[Jr]},Kr+=We}for(vi=-1;++vi<Ue;)for(ci=vi-1;++ci<Ue;){var ga=Dr[vi+\"-\"+ci],ya=Dr[ci+\"-\"+vi];(ga.value||ya.value)&&oe.push(ga.value<ya.value?{source:ya,target:ga}:{source:ga,target:ya})}zt&&lr()}function lr(){oe.sort(function(Dr,Ir){return zt((Dr.source.value+Dr.target.value)/2,(Ir.source.value+Ir.target.value)/2)})}return Z.matrix=function(Dr){return arguments.length?(Ue=(Be=Dr)&&Be.length,oe=we=null,Z):Be},Z.padding=function(Dr){return arguments.length?(We=Dr,oe=we=null,Z):We},Z.sortGroups=function(Dr){return arguments.length?(wt=Dr,oe=we=null,Z):wt},Z.sortSubgroups=function(Dr){return arguments.length?(tt=Dr,oe=null,Z):tt},Z.sortChords=function(Dr){return arguments.length?(zt=Dr,oe&&lr(),Z):zt},Z.chords=function(){return oe||or(),oe},Z.groups=function(){return we||or(),we},Z},e.layout.force=function(){var Z={},oe=e.dispatch(\"start\",\"tick\",\"end\"),we,Be=[1,1],Ue,We,wt=.9,tt=Qs,zt=Qh,or=-30,lr=gd,Dr=.1,Ir=.64,oi=[],ui=[],qr,Kr,ii;function vi(Jr){return function(un,dn,En,Nn){if(un.point!==Jr){var ga=un.cx-Jr.x,ya=un.cy-Jr.y,so=Nn-dn,wa=ga*ga+ya*ya;if(so*so/Ir<wa){if(wa<lr){var io=un.charge/wa;Jr.px-=ga*io,Jr.py-=ya*io}return!0}if(un.point&&wa&&wa<lr){var io=un.pointCharge/wa;Jr.px-=ga*io,Jr.py-=ya*io}}return!un.charge}}Z.tick=function(){if((We*=.99)<.005)return we=null,oe.end({type:\"end\",alpha:We=0}),!0;var Jr=oi.length,un=ui.length,dn,En,Nn,ga,ya,so,wa,io,Ss;for(En=0;En<un;++En)Nn=ui[En],ga=Nn.source,ya=Nn.target,io=ya.x-ga.x,Ss=ya.y-ga.y,(so=io*io+Ss*Ss)&&(so=We*Kr[En]*((so=Math.sqrt(so))-qr[En])/so,io*=so,Ss*=so,ya.x-=io*(wa=ga.weight+ya.weight?ga.weight/(ga.weight+ya.weight):.5),ya.y-=Ss*wa,ga.x+=io*(wa=1-wa),ga.y+=Ss*wa);if((wa=We*Dr)&&(io=Be[0]/2,Ss=Be[1]/2,En=-1,wa))for(;++En<Jr;)Nn=oi[En],Nn.x+=(io-Nn.x)*wa,Nn.y+=(Ss-Nn.y)*wa;if(or)for(yu(dn=e.geom.quadtree(oi),We,ii),En=-1;++En<Jr;)(Nn=oi[En]).fixed||dn.visit(vi(Nn));for(En=-1;++En<Jr;)Nn=oi[En],Nn.fixed?(Nn.x=Nn.px,Nn.y=Nn.py):(Nn.x-=(Nn.px-(Nn.px=Nn.x))*wt,Nn.y-=(Nn.py-(Nn.py=Nn.y))*wt);oe.tick({type:\"tick\",alpha:We})},Z.nodes=function(Jr){return arguments.length?(oi=Jr,Z):oi},Z.links=function(Jr){return arguments.length?(ui=Jr,Z):ui},Z.size=function(Jr){return arguments.length?(Be=Jr,Z):Be},Z.linkDistance=function(Jr){return arguments.length?(tt=typeof Jr==\"function\"?Jr:+Jr,Z):tt},Z.distance=Z.linkDistance,Z.linkStrength=function(Jr){return arguments.length?(zt=typeof Jr==\"function\"?Jr:+Jr,Z):zt},Z.friction=function(Jr){return arguments.length?(wt=+Jr,Z):wt},Z.charge=function(Jr){return arguments.length?(or=typeof Jr==\"function\"?Jr:+Jr,Z):or},Z.chargeDistance=function(Jr){return arguments.length?(lr=Jr*Jr,Z):Math.sqrt(lr)},Z.gravity=function(Jr){return arguments.length?(Dr=+Jr,Z):Dr},Z.theta=function(Jr){return arguments.length?(Ir=Jr*Jr,Z):Math.sqrt(Ir)},Z.alpha=function(Jr){return arguments.length?(Jr=+Jr,We?Jr>0?We=Jr:(we.c=null,we.t=NaN,we=null,oe.end({type:\"end\",alpha:We=0})):Jr>0&&(oe.start({type:\"start\",alpha:We=Jr}),we=Oo(Z.tick)),Z):We},Z.start=function(){var Jr,un=oi.length,dn=ui.length,En=Be[0],Nn=Be[1],ga,ya;for(Jr=0;Jr<un;++Jr)(ya=oi[Jr]).index=Jr,ya.weight=0;for(Jr=0;Jr<dn;++Jr)ya=ui[Jr],typeof ya.source==\"number\"&&(ya.source=oi[ya.source]),typeof ya.target==\"number\"&&(ya.target=oi[ya.target]),++ya.source.weight,++ya.target.weight;for(Jr=0;Jr<un;++Jr)ya=oi[Jr],isNaN(ya.x)&&(ya.x=so(\"x\",En)),isNaN(ya.y)&&(ya.y=so(\"y\",Nn)),isNaN(ya.px)&&(ya.px=ya.x),isNaN(ya.py)&&(ya.py=ya.y);if(qr=[],typeof tt==\"function\")for(Jr=0;Jr<dn;++Jr)qr[Jr]=+tt.call(this,ui[Jr],Jr);else for(Jr=0;Jr<dn;++Jr)qr[Jr]=tt;if(Kr=[],typeof zt==\"function\")for(Jr=0;Jr<dn;++Jr)Kr[Jr]=+zt.call(this,ui[Jr],Jr);else for(Jr=0;Jr<dn;++Jr)Kr[Jr]=zt;if(ii=[],typeof or==\"function\")for(Jr=0;Jr<un;++Jr)ii[Jr]=+or.call(this,oi[Jr],Jr);else for(Jr=0;Jr<un;++Jr)ii[Jr]=or;function so(wa,io){if(!ga){for(ga=new Array(un),Ns=0;Ns<un;++Ns)ga[Ns]=[];for(Ns=0;Ns<dn;++Ns){var Ss=ui[Ns];ga[Ss.source.index].push(Ss.target),ga[Ss.target.index].push(Ss.source)}}for(var _s=ga[Jr],Ns=-1,pn=_s.length,za;++Ns<pn;)if(!isNaN(za=_s[Ns][wa]))return za;return Math.random()*io}return Z.resume()},Z.resume=function(){return Z.alpha(.1)},Z.stop=function(){return Z.alpha(0)},Z.drag=function(){if(Ue||(Ue=e.behavior.drag().origin(H).on(\"dragstart.force\",Lc).on(\"drag.force\",ci).on(\"dragend.force\",fl)),!arguments.length)return Ue;this.on(\"mouseover.force\",Xc).on(\"mouseout.force\",ic).call(Ue)};function ci(Jr){Jr.px=e.event.x,Jr.py=e.event.y,Z.resume()}return e.rebind(Z,oe,\"on\")};function Lc(Z){Z.fixed|=2}function fl(Z){Z.fixed&=-7}function Xc(Z){Z.fixed|=4,Z.px=Z.x,Z.py=Z.y}function ic(Z){Z.fixed&=-5}function yu(Z,oe,we){var Be=0,Ue=0;if(Z.charge=0,!Z.leaf)for(var We=Z.nodes,wt=We.length,tt=-1,zt;++tt<wt;)zt=We[tt],zt!=null&&(yu(zt,oe,we),Z.charge+=zt.charge,Be+=zt.charge*zt.cx,Ue+=zt.charge*zt.cy);if(Z.point){Z.leaf||(Z.point.x+=Math.random()-.5,Z.point.y+=Math.random()-.5);var or=oe*we[Z.point.index];Z.charge+=Z.pointCharge=or,Be+=or*Z.point.x,Ue+=or*Z.point.y}Z.cx=Be/Z.charge,Z.cy=Ue/Z.charge}var Qs=20,Qh=1,gd=1/0;e.layout.hierarchy=function(){var Z=Uf,oe=sv,we=Lf;function Be(Ue){var We=[Ue],wt=[],tt;for(Ue.depth=0;(tt=We.pop())!=null;)if(wt.push(tt),(or=oe.call(Be,tt,tt.depth))&&(zt=or.length)){for(var zt,or,lr;--zt>=0;)We.push(lr=or[zt]),lr.parent=tt,lr.depth=tt.depth+1;we&&(tt.value=0),tt.children=or}else we&&(tt.value=+we.call(Be,tt,tt.depth)||0),delete tt.children;return vc(Ue,function(Dr){var Ir,oi;Z&&(Ir=Dr.children)&&Ir.sort(Z),we&&(oi=Dr.parent)&&(oi.value+=Dr.value)}),wt}return Be.sort=function(Ue){return arguments.length?(Z=Ue,Be):Z},Be.children=function(Ue){return arguments.length?(oe=Ue,Be):oe},Be.value=function(Ue){return arguments.length?(we=Ue,Be):we},Be.revalue=function(Ue){return we&&(Pc(Ue,function(We){We.children&&(We.value=0)}),vc(Ue,function(We){var wt;We.children||(We.value=+we.call(Be,We,We.depth)||0),(wt=We.parent)&&(wt.value+=We.value)})),Ue},Be};function Gu(Z,oe){return e.rebind(Z,oe,\"sort\",\"children\",\"value\"),Z.nodes=Z,Z.links=Iu,Z}function Pc(Z,oe){for(var we=[Z];(Z=we.pop())!=null;)if(oe(Z),(Ue=Z.children)&&(Be=Ue.length))for(var Be,Ue;--Be>=0;)we.push(Ue[Be])}function vc(Z,oe){for(var we=[Z],Be=[];(Z=we.pop())!=null;)if(Be.push(Z),(wt=Z.children)&&(We=wt.length))for(var Ue=-1,We,wt;++Ue<We;)we.push(wt[Ue]);for(;(Z=Be.pop())!=null;)oe(Z)}function sv(Z){return Z.children}function Lf(Z){return Z.value}function Uf(Z,oe){return oe.value-Z.value}function Iu(Z){return e.merge(Z.map(function(oe){return(oe.children||[]).map(function(we){return{source:oe,target:we}})}))}e.layout.partition=function(){var Z=e.layout.hierarchy(),oe=[1,1];function we(We,wt,tt,zt){var or=We.children;if(We.x=wt,We.y=We.depth*zt,We.dx=tt,We.dy=zt,or&&(Dr=or.length)){var lr=-1,Dr,Ir,oi;for(tt=We.value?tt/We.value:0;++lr<Dr;)we(Ir=or[lr],wt,oi=Ir.value*tt,zt),wt+=oi}}function Be(We){var wt=We.children,tt=0;if(wt&&(or=wt.length))for(var zt=-1,or;++zt<or;)tt=Math.max(tt,Be(wt[zt]));return 1+tt}function Ue(We,wt){var tt=Z.call(this,We,wt);return we(tt[0],0,oe[0],oe[1]/Be(tt[0])),tt}return Ue.size=function(We){return arguments.length?(oe=We,Ue):oe},Gu(Ue,Z)},e.layout.pie=function(){var Z=Number,oe=oh,we=0,Be=ht,Ue=0;function We(wt){var tt=wt.length,zt=wt.map(function(vi,ci){return+Z.call(We,vi,ci)}),or=+(typeof we==\"function\"?we.apply(this,arguments):we),lr=(typeof Be==\"function\"?Be.apply(this,arguments):Be)-or,Dr=Math.min(Math.abs(lr)/tt,+(typeof Ue==\"function\"?Ue.apply(this,arguments):Ue)),Ir=Dr*(lr<0?-1:1),oi=e.sum(zt),ui=oi?(lr-tt*Ir)/oi:0,qr=e.range(tt),Kr=[],ii;return oe!=null&&qr.sort(oe===oh?function(vi,ci){return zt[ci]-zt[vi]}:function(vi,ci){return oe(wt[vi],wt[ci])}),qr.forEach(function(vi){Kr[vi]={data:wt[vi],value:ii=zt[vi],startAngle:or,endAngle:or+=ii*ui+Ir,padAngle:Dr}}),Kr}return We.value=function(wt){return arguments.length?(Z=wt,We):Z},We.sort=function(wt){return arguments.length?(oe=wt,We):oe},We.startAngle=function(wt){return arguments.length?(we=wt,We):we},We.endAngle=function(wt){return arguments.length?(Be=wt,We):Be},We.padAngle=function(wt){return arguments.length?(Ue=wt,We):Ue},We};var oh={};e.layout.stack=function(){var Z=H,oe=_u,we=xu,Be=md,Ue=ru,We=vf;function wt(tt,zt){if(!(ui=tt.length))return tt;var or=tt.map(function(vi,ci){return Z.call(wt,vi,ci)}),lr=or.map(function(vi){return vi.map(function(ci,Jr){return[Ue.call(wt,ci,Jr),We.call(wt,ci,Jr)]})}),Dr=oe.call(wt,lr,zt);or=e.permute(or,Dr),lr=e.permute(lr,Dr);var Ir=we.call(wt,lr,zt),oi=or[0].length,ui,qr,Kr,ii;for(Kr=0;Kr<oi;++Kr)for(Be.call(wt,or[0][Kr],ii=Ir[Kr],lr[0][Kr][1]),qr=1;qr<ui;++qr)Be.call(wt,or[qr][Kr],ii+=lr[qr-1][Kr][1],lr[qr][Kr][1]);return tt}return wt.values=function(tt){return arguments.length?(Z=tt,wt):Z},wt.order=function(tt){return arguments.length?(oe=typeof tt==\"function\"?tt:sh.get(tt)||_u,wt):oe},wt.offset=function(tt){return arguments.length?(we=typeof tt==\"function\"?tt:Fs.get(tt)||xu,wt):we},wt.x=function(tt){return arguments.length?(Ue=tt,wt):Ue},wt.y=function(tt){return arguments.length?(We=tt,wt):We},wt.out=function(tt){return arguments.length?(Be=tt,wt):Be},wt};function ru(Z){return Z.x}function vf(Z){return Z.y}function md(Z,oe,we){Z.y0=oe,Z.y=we}var sh=e.map({\"inside-out\":function(Z){var oe=Z.length,we,Be,Ue=Z.map(Lh),We=Z.map(Is),wt=e.range(oe).sort(function(Dr,Ir){return Ue[Dr]-Ue[Ir]}),tt=0,zt=0,or=[],lr=[];for(we=0;we<oe;++we)Be=wt[we],tt<zt?(tt+=We[Be],or.push(Be)):(zt+=We[Be],lr.push(Be));return lr.reverse().concat(or)},reverse:function(Z){return e.range(Z.length).reverse()},default:_u}),Fs=e.map({silhouette:function(Z){var oe=Z.length,we=Z[0].length,Be=[],Ue=0,We,wt,tt,zt=[];for(wt=0;wt<we;++wt){for(We=0,tt=0;We<oe;We++)tt+=Z[We][wt][1];tt>Ue&&(Ue=tt),Be.push(tt)}for(wt=0;wt<we;++wt)zt[wt]=(Ue-Be[wt])/2;return zt},wiggle:function(Z){var oe=Z.length,we=Z[0],Be=we.length,Ue,We,wt,tt,zt,or,lr,Dr,Ir,oi=[];for(oi[0]=Dr=Ir=0,We=1;We<Be;++We){for(Ue=0,tt=0;Ue<oe;++Ue)tt+=Z[Ue][We][1];for(Ue=0,zt=0,lr=we[We][0]-we[We-1][0];Ue<oe;++Ue){for(wt=0,or=(Z[Ue][We][1]-Z[Ue][We-1][1])/(2*lr);wt<Ue;++wt)or+=(Z[wt][We][1]-Z[wt][We-1][1])/lr;zt+=or*Z[Ue][We][1]}oi[We]=Dr-=tt?zt/tt*lr:0,Dr<Ir&&(Ir=Dr)}for(We=0;We<Be;++We)oi[We]-=Ir;return oi},expand:function(Z){var oe=Z.length,we=Z[0].length,Be=1/oe,Ue,We,wt,tt=[];for(We=0;We<we;++We){for(Ue=0,wt=0;Ue<oe;Ue++)wt+=Z[Ue][We][1];if(wt)for(Ue=0;Ue<oe;Ue++)Z[Ue][We][1]/=wt;else for(Ue=0;Ue<oe;Ue++)Z[Ue][We][1]=Be}for(We=0;We<we;++We)tt[We]=0;return tt},zero:xu});function _u(Z){return e.range(Z.length)}function xu(Z){for(var oe=-1,we=Z[0].length,Be=[];++oe<we;)Be[oe]=0;return Be}function Lh(Z){for(var oe=1,we=0,Be=Z[0][1],Ue,We=Z.length;oe<We;++oe)(Ue=Z[oe][1])>Be&&(we=oe,Be=Ue);return we}function Is(Z){return Z.reduce(Pf,0)}function Pf(Z,oe){return Z+oe[1]}e.layout.histogram=function(){var Z=!0,oe=Number,we=Vf,Be=Ic;function Ue(We,Ir){for(var tt=[],zt=We.map(oe,this),or=we.call(this,zt,Ir),lr=Be.call(this,or,zt,Ir),Dr,Ir=-1,oi=zt.length,ui=lr.length-1,qr=Z?1:1/oi,Kr;++Ir<ui;)Dr=tt[Ir]=[],Dr.dx=lr[Ir+1]-(Dr.x=lr[Ir]),Dr.y=0;if(ui>0)for(Ir=-1;++Ir<oi;)Kr=zt[Ir],Kr>=or[0]&&Kr<=or[1]&&(Dr=tt[e.bisect(lr,Kr,1,ui)-1],Dr.y+=qr,Dr.push(We[Ir]));return tt}return Ue.value=function(We){return arguments.length?(oe=We,Ue):oe},Ue.range=function(We){return arguments.length?(we=ti(We),Ue):we},Ue.bins=function(We){return arguments.length?(Be=typeof We==\"number\"?function(wt){return ju(wt,We)}:ti(We),Ue):Be},Ue.frequency=function(We){return arguments.length?(Z=!!We,Ue):Z},Ue};function Ic(Z,oe){return ju(Z,Math.ceil(Math.log(oe.length)/Math.LN2+1))}function ju(Z,oe){for(var we=-1,Be=+Z[0],Ue=(Z[1]-Be)/oe,We=[];++we<=oe;)We[we]=Ue*we+Be;return We}function Vf(Z){return[e.min(Z),e.max(Z)]}e.layout.pack=function(){var Z=e.layout.hierarchy().sort(pc),oe=0,we=[1,1],Be;function Ue(We,wt){var tt=Z.call(this,We,wt),zt=tt[0],or=we[0],lr=we[1],Dr=Be==null?Math.sqrt:typeof Be==\"function\"?Be:function(){return Be};if(zt.x=zt.y=0,vc(zt,function(oi){oi.r=+Dr(oi.value)}),vc(zt,Ih),oe){var Ir=oe*(Be?1:Math.max(2*zt.r/or,2*zt.r/lr))/2;vc(zt,function(oi){oi.r+=Ir}),vc(zt,Ih),vc(zt,function(oi){oi.r-=Ir})}return gc(zt,or/2,lr/2,Be?1:1/Math.max(2*zt.r/or,2*zt.r/lr)),tt}return Ue.size=function(We){return arguments.length?(we=We,Ue):we},Ue.radius=function(We){return arguments.length?(Be=We==null||typeof We==\"function\"?We:+We,Ue):Be},Ue.padding=function(We){return arguments.length?(oe=+We,Ue):oe},Gu(Ue,Z)};function pc(Z,oe){return Z.value-oe.value}function pf(Z,oe){var we=Z._pack_next;Z._pack_next=oe,oe._pack_prev=Z,oe._pack_next=we,we._pack_prev=oe}function Ph(Z,oe){Z._pack_next=oe,oe._pack_prev=Z}function Dl(Z,oe){var we=oe.x-Z.x,Be=oe.y-Z.y,Ue=Z.r+oe.r;return .999*Ue*Ue>we*we+Be*Be}function Ih(Z){if(!(oe=Z.children)||!(Ir=oe.length))return;var oe,we=1/0,Be=-1/0,Ue=1/0,We=-1/0,wt,tt,zt,or,lr,Dr,Ir;function oi(Jr){we=Math.min(Jr.x-Jr.r,we),Be=Math.max(Jr.x+Jr.r,Be),Ue=Math.min(Jr.y-Jr.r,Ue),We=Math.max(Jr.y+Jr.r,We)}if(oe.forEach(Wu),wt=oe[0],wt.x=-wt.r,wt.y=0,oi(wt),Ir>1&&(tt=oe[1],tt.x=tt.r,tt.y=0,oi(tt),Ir>2))for(zt=oe[2],hl(wt,tt,zt),oi(zt),pf(wt,zt),wt._pack_prev=zt,pf(zt,tt),tt=wt._pack_next,or=3;or<Ir;or++){hl(wt,tt,zt=oe[or]);var ui=0,qr=1,Kr=1;for(lr=tt._pack_next;lr!==tt;lr=lr._pack_next,qr++)if(Dl(lr,zt)){ui=1;break}if(ui==1)for(Dr=wt._pack_prev;Dr!==lr._pack_prev&&!Dl(Dr,zt);Dr=Dr._pack_prev,Kr++);ui?(qr<Kr||qr==Kr&&tt.r<wt.r?Ph(wt,tt=lr):Ph(wt=Dr,tt),or--):(pf(wt,zt),tt=zt,oi(zt))}var ii=(we+Be)/2,vi=(Ue+We)/2,ci=0;for(or=0;or<Ir;or++)zt=oe[or],zt.x-=ii,zt.y-=vi,ci=Math.max(ci,zt.r+Math.sqrt(zt.x*zt.x+zt.y*zt.y));Z.r=ci,oe.forEach(Rc)}function Wu(Z){Z._pack_next=Z._pack_prev=Z}function Rc(Z){delete Z._pack_next,delete Z._pack_prev}function gc(Z,oe,we,Be){var Ue=Z.children;if(Z.x=oe+=Be*Z.x,Z.y=we+=Be*Z.y,Z.r*=Be,Ue)for(var We=-1,wt=Ue.length;++We<wt;)gc(Ue[We],oe,we,Be)}function hl(Z,oe,we){var Be=Z.r+we.r,Ue=oe.x-Z.x,We=oe.y-Z.y;if(Be&&(Ue||We)){var wt=oe.r+we.r,tt=Ue*Ue+We*We;wt*=wt,Be*=Be;var zt=.5+(Be-wt)/(2*tt),or=Math.sqrt(Math.max(0,2*wt*(Be+tt)-(Be-=tt)*Be-wt*wt))/(2*tt);we.x=Z.x+zt*Ue+or*We,we.y=Z.y+zt*We-or*Ue}else we.x=Z.x+Be,we.y=Z.y}e.layout.tree=function(){var Z=e.layout.hierarchy().sort(null).value(null),oe=iu,we=[1,1],Be=null;function Ue(lr,Dr){var Ir=Z.call(this,lr,Dr),oi=Ir[0],ui=We(oi);if(vc(ui,wt),ui.parent.m=-ui.z,Pc(ui,tt),Be)Pc(oi,or);else{var qr=oi,Kr=oi,ii=oi;Pc(oi,function(un){un.x<qr.x&&(qr=un),un.x>Kr.x&&(Kr=un),un.depth>ii.depth&&(ii=un)});var vi=oe(qr,Kr)/2-qr.x,ci=we[0]/(Kr.x+oe(Kr,qr)/2+vi),Jr=we[1]/(ii.depth||1);Pc(oi,function(un){un.x=(un.x+vi)*ci,un.y=un.depth*Jr})}return Ir}function We(lr){for(var Dr={A:null,children:[lr]},Ir=[Dr],oi;(oi=Ir.pop())!=null;)for(var ui=oi.children,qr,Kr=0,ii=ui.length;Kr<ii;++Kr)Ir.push((ui[Kr]=qr={_:ui[Kr],parent:oi,children:(qr=ui[Kr].children)&&qr.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:Kr}).a=qr);return Dr.children[0]}function wt(lr){var Dr=lr.children,Ir=lr.parent.children,oi=lr.i?Ir[lr.i-1]:null;if(Dr.length){gf(lr);var ui=(Dr[0].z+Dr[Dr.length-1].z)/2;oi?(lr.z=oi.z+oe(lr._,oi._),lr.m=lr.z-ui):lr.z=ui}else oi&&(lr.z=oi.z+oe(lr._,oi._));lr.parent.A=zt(lr,oi,lr.parent.A||Ir[0])}function tt(lr){lr._.x=lr.z+lr.parent.m,lr.m+=lr.parent.m}function zt(lr,Dr,Ir){if(Dr){for(var oi=lr,ui=lr,qr=Dr,Kr=oi.parent.children[0],ii=oi.m,vi=ui.m,ci=qr.m,Jr=Kr.m,un;qr=Yc(qr),oi=mc(oi),qr&&oi;)Kr=mc(Kr),ui=Yc(ui),ui.a=lr,un=qr.z+ci-oi.z-ii+oe(qr._,oi._),un>0&&(nc(gt(qr,lr,Ir),lr,un),ii+=un,vi+=un),ci+=qr.m,ii+=oi.m,Jr+=Kr.m,vi+=ui.m;qr&&!Yc(ui)&&(ui.t=qr,ui.m+=ci-vi),oi&&!mc(Kr)&&(Kr.t=oi,Kr.m+=ii-Jr,Ir=lr)}return Ir}function or(lr){lr.x*=we[0],lr.y=lr.depth*we[1]}return Ue.separation=function(lr){return arguments.length?(oe=lr,Ue):oe},Ue.size=function(lr){return arguments.length?(Be=(we=lr)==null?or:null,Ue):Be?null:we},Ue.nodeSize=function(lr){return arguments.length?(Be=(we=lr)==null?null:or,Ue):Be?we:null},Gu(Ue,Z)};function iu(Z,oe){return Z.parent==oe.parent?1:2}function mc(Z){var oe=Z.children;return oe.length?oe[0]:Z.t}function Yc(Z){var oe=Z.children,we;return(we=oe.length)?oe[we-1]:Z.t}function nc(Z,oe,we){var Be=we/(oe.i-Z.i);oe.c-=Be,oe.s+=we,Z.c+=Be,oe.z+=we,oe.m+=we}function gf(Z){for(var oe=0,we=0,Be=Z.children,Ue=Be.length,We;--Ue>=0;)We=Be[Ue],We.z+=oe,We.m+=oe,oe+=We.s+(we+=We.c)}function gt(Z,oe,we){return Z.a.parent===oe.parent?Z.a:we}e.layout.cluster=function(){var Z=e.layout.hierarchy().sort(null).value(null),oe=iu,we=[1,1],Be=!1;function Ue(We,wt){var tt=Z.call(this,We,wt),zt=tt[0],or,lr=0;vc(zt,function(qr){var Kr=qr.children;Kr&&Kr.length?(qr.x=wr(Kr),qr.y=Bt(Kr)):(qr.x=or?lr+=oe(qr,or):0,qr.y=0,or=qr)});var Dr=vr(zt),Ir=Ur(zt),oi=Dr.x-oe(Dr,Ir)/2,ui=Ir.x+oe(Ir,Dr)/2;return vc(zt,Be?function(qr){qr.x=(qr.x-zt.x)*we[0],qr.y=(zt.y-qr.y)*we[1]}:function(qr){qr.x=(qr.x-oi)/(ui-oi)*we[0],qr.y=(1-(zt.y?qr.y/zt.y:1))*we[1]}),tt}return Ue.separation=function(We){return arguments.length?(oe=We,Ue):oe},Ue.size=function(We){return arguments.length?(Be=(we=We)==null,Ue):Be?null:we},Ue.nodeSize=function(We){return arguments.length?(Be=(we=We)!=null,Ue):Be?we:null},Gu(Ue,Z)};function Bt(Z){return 1+e.max(Z,function(oe){return oe.y})}function wr(Z){return Z.reduce(function(oe,we){return oe+we.x},0)/Z.length}function vr(Z){var oe=Z.children;return oe&&oe.length?vr(oe[0]):Z}function Ur(Z){var oe=Z.children,we;return oe&&(we=oe.length)?Ur(oe[we-1]):Z}e.layout.treemap=function(){var Z=e.layout.hierarchy(),oe=Math.round,we=[1,1],Be=null,Ue=fi,We=!1,wt,tt=\"squarify\",zt=.5*(1+Math.sqrt(5));function or(qr,Kr){for(var ii=-1,vi=qr.length,ci,Jr;++ii<vi;)Jr=(ci=qr[ii]).value*(Kr<0?0:Kr),ci.area=isNaN(Jr)||Jr<=0?0:Jr}function lr(qr){var Kr=qr.children;if(Kr&&Kr.length){var ii=Ue(qr),vi=[],ci=Kr.slice(),Jr,un=1/0,dn,En=tt===\"slice\"?ii.dx:tt===\"dice\"?ii.dy:tt===\"slice-dice\"?qr.depth&1?ii.dy:ii.dx:Math.min(ii.dx,ii.dy),Nn;for(or(ci,ii.dx*ii.dy/qr.value),vi.area=0;(Nn=ci.length)>0;)vi.push(Jr=ci[Nn-1]),vi.area+=Jr.area,tt!==\"squarify\"||(dn=Ir(vi,En))<=un?(ci.pop(),un=dn):(vi.area-=vi.pop().area,oi(vi,En,ii,!1),En=Math.min(ii.dx,ii.dy),vi.length=vi.area=0,un=1/0);vi.length&&(oi(vi,En,ii,!0),vi.length=vi.area=0),Kr.forEach(lr)}}function Dr(qr){var Kr=qr.children;if(Kr&&Kr.length){var ii=Ue(qr),vi=Kr.slice(),ci,Jr=[];for(or(vi,ii.dx*ii.dy/qr.value),Jr.area=0;ci=vi.pop();)Jr.push(ci),Jr.area+=ci.area,ci.z!=null&&(oi(Jr,ci.z?ii.dx:ii.dy,ii,!vi.length),Jr.length=Jr.area=0);Kr.forEach(Dr)}}function Ir(qr,Kr){for(var ii=qr.area,vi,ci=0,Jr=1/0,un=-1,dn=qr.length;++un<dn;)(vi=qr[un].area)&&(vi<Jr&&(Jr=vi),vi>ci&&(ci=vi));return ii*=ii,Kr*=Kr,ii?Math.max(Kr*ci*zt/ii,ii/(Kr*Jr*zt)):1/0}function oi(qr,Kr,ii,vi){var ci=-1,Jr=qr.length,un=ii.x,dn=ii.y,En=Kr?oe(qr.area/Kr):0,Nn;if(Kr==ii.dx){for((vi||En>ii.dy)&&(En=ii.dy);++ci<Jr;)Nn=qr[ci],Nn.x=un,Nn.y=dn,Nn.dy=En,un+=Nn.dx=Math.min(ii.x+ii.dx-un,En?oe(Nn.area/En):0);Nn.z=!0,Nn.dx+=ii.x+ii.dx-un,ii.y+=En,ii.dy-=En}else{for((vi||En>ii.dx)&&(En=ii.dx);++ci<Jr;)Nn=qr[ci],Nn.x=un,Nn.y=dn,Nn.dx=En,dn+=Nn.dy=Math.min(ii.y+ii.dy-dn,En?oe(Nn.area/En):0);Nn.z=!1,Nn.dy+=ii.y+ii.dy-dn,ii.x+=En,ii.dx-=En}}function ui(qr){var Kr=wt||Z(qr),ii=Kr[0];return ii.x=ii.y=0,ii.value?(ii.dx=we[0],ii.dy=we[1]):ii.dx=ii.dy=0,wt&&Z.revalue(ii),or([ii],ii.dx*ii.dy/ii.value),(wt?Dr:lr)(ii),We&&(wt=Kr),Kr}return ui.size=function(qr){return arguments.length?(we=qr,ui):we},ui.padding=function(qr){if(!arguments.length)return Be;function Kr(ci){var Jr=qr.call(ui,ci,ci.depth);return Jr==null?fi(ci):xi(ci,typeof Jr==\"number\"?[Jr,Jr,Jr,Jr]:Jr)}function ii(ci){return xi(ci,qr)}var vi;return Ue=(Be=qr)==null?fi:(vi=typeof qr)==\"function\"?Kr:(vi===\"number\"&&(qr=[qr,qr,qr,qr]),ii),ui},ui.round=function(qr){return arguments.length?(oe=qr?Math.round:Number,ui):oe!=Number},ui.sticky=function(qr){return arguments.length?(We=qr,wt=null,ui):We},ui.ratio=function(qr){return arguments.length?(zt=qr,ui):zt},ui.mode=function(qr){return arguments.length?(tt=qr+\"\",ui):tt},Gu(ui,Z)};function fi(Z){return{x:Z.x,y:Z.y,dx:Z.dx,dy:Z.dy}}function xi(Z,oe){var we=Z.x+oe[3],Be=Z.y+oe[0],Ue=Z.dx-oe[1]-oe[3],We=Z.dy-oe[0]-oe[2];return Ue<0&&(we+=Ue/2,Ue=0),We<0&&(Be+=We/2,We=0),{x:we,y:Be,dx:Ue,dy:We}}e.random={normal:function(Z,oe){var we=arguments.length;return we<2&&(oe=1),we<1&&(Z=0),function(){var Be,Ue,We;do Be=Math.random()*2-1,Ue=Math.random()*2-1,We=Be*Be+Ue*Ue;while(!We||We>1);return Z+oe*Be*Math.sqrt(-2*Math.log(We)/We)}},logNormal:function(){var Z=e.random.normal.apply(e,arguments);return function(){return Math.exp(Z())}},bates:function(Z){var oe=e.random.irwinHall(Z);return function(){return oe()/Z}},irwinHall:function(Z){return function(){for(var oe=0,we=0;we<Z;we++)oe+=Math.random();return oe}}},e.scale={};function Fi(Z){var oe=Z[0],we=Z[Z.length-1];return oe<we?[oe,we]:[we,oe]}function Xi(Z){return Z.rangeExtent?Z.rangeExtent():Fi(Z.range())}function hn(Z,oe,we,Be){var Ue=we(Z[0],Z[1]),We=Be(oe[0],oe[1]);return function(wt){return We(Ue(wt))}}function Ti(Z,oe){var we=0,Be=Z.length-1,Ue=Z[we],We=Z[Be],wt;return We<Ue&&(wt=we,we=Be,Be=wt,wt=Ue,Ue=We,We=wt),Z[we]=oe.floor(Ue),Z[Be]=oe.ceil(We),Z}function qi(Z){return Z?{floor:function(oe){return Math.floor(oe/Z)*Z},ceil:function(oe){return Math.ceil(oe/Z)*Z}}:Ii}var Ii={floor:H,ceil:H};function mi(Z,oe,we,Be){var Ue=[],We=[],wt=0,tt=Math.min(Z.length,oe.length)-1;for(Z[tt]<Z[0]&&(Z=Z.slice().reverse(),oe=oe.slice().reverse());++wt<=tt;)Ue.push(we(Z[wt-1],Z[wt])),We.push(Be(oe[wt-1],oe[wt]));return function(zt){var or=e.bisect(Z,zt,1,tt)-1;return We[or](Ue[or](zt))}}e.scale.linear=function(){return Pn([0,1],[0,1],Sl,!1)};function Pn(Z,oe,we,Be){var Ue,We;function wt(){var zt=Math.min(Z.length,oe.length)>2?mi:hn,or=Be?Lu:pd;return Ue=zt(Z,oe,or,we),We=zt(oe,Z,or,Sl),tt}function tt(zt){return Ue(zt)}return tt.invert=function(zt){return We(zt)},tt.domain=function(zt){return arguments.length?(Z=zt.map(Number),wt()):Z},tt.range=function(zt){return arguments.length?(oe=zt,wt()):oe},tt.rangeRound=function(zt){return tt.range(zt).interpolate(rc)},tt.clamp=function(zt){return arguments.length?(Be=zt,wt()):Be},tt.interpolate=function(zt){return arguments.length?(we=zt,wt()):we},tt.ticks=function(zt){return qa(Z,zt)},tt.tickFormat=function(zt,or){return d3_scale_linearTickFormat(Z,zt,or)},tt.nice=function(zt){return Ta(Z,zt),wt()},tt.copy=function(){return Pn(Z,oe,we,Be)},wt()}function Ma(Z,oe){return e.rebind(Z,oe,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function Ta(Z,oe){return Ti(Z,qi(Ea(Z,oe)[2])),Ti(Z,qi(Ea(Z,oe)[2])),Z}function Ea(Z,oe){oe==null&&(oe=10);var we=Fi(Z),Be=we[1]-we[0],Ue=Math.pow(10,Math.floor(Math.log(Be/oe)/Math.LN10)),We=oe/Be*Ue;return We<=.15?Ue*=10:We<=.35?Ue*=5:We<=.75&&(Ue*=2),we[0]=Math.ceil(we[0]/Ue)*Ue,we[1]=Math.floor(we[1]/Ue)*Ue+Ue*.5,we[2]=Ue,we}function qa(Z,oe){return e.range.apply(e,Ea(Z,oe))}var Cn={s:1,g:1,p:1,r:1,e:1};function sn(Z){return-Math.floor(Math.log(Z)/Math.LN10+.01)}function Ua(Z,oe){var we=sn(oe[2]);return Z in Cn?Math.abs(we-sn(Math.max(p(oe[0]),p(oe[1]))))+ +(Z!==\"e\"):we-(Z===\"%\")*2}e.scale.log=function(){return mo(e.scale.linear().domain([0,1]),10,!0,[1,10])};function mo(Z,oe,we,Be){function Ue(tt){return(we?Math.log(tt<0?0:tt):-Math.log(tt>0?0:-tt))/Math.log(oe)}function We(tt){return we?Math.pow(oe,tt):-Math.pow(oe,-tt)}function wt(tt){return Z(Ue(tt))}return wt.invert=function(tt){return We(Z.invert(tt))},wt.domain=function(tt){return arguments.length?(we=tt[0]>=0,Z.domain((Be=tt.map(Number)).map(Ue)),wt):Be},wt.base=function(tt){return arguments.length?(oe=+tt,Z.domain(Be.map(Ue)),wt):oe},wt.nice=function(){var tt=Ti(Be.map(Ue),we?Math:Xo);return Z.domain(tt),Be=tt.map(We),wt},wt.ticks=function(){var tt=Fi(Be),zt=[],or=tt[0],lr=tt[1],Dr=Math.floor(Ue(or)),Ir=Math.ceil(Ue(lr)),oi=oe%1?2:oe;if(isFinite(Ir-Dr)){if(we){for(;Dr<Ir;Dr++)for(var ui=1;ui<oi;ui++)zt.push(We(Dr)*ui);zt.push(We(Dr))}else for(zt.push(We(Dr));Dr++<Ir;)for(var ui=oi-1;ui>0;ui--)zt.push(We(Dr)*ui);for(Dr=0;zt[Dr]<or;Dr++);for(Ir=zt.length;zt[Ir-1]>lr;Ir--);zt=zt.slice(Dr,Ir)}return zt},wt.copy=function(){return mo(Z.copy(),oe,we,Be)},Ma(wt,Z)}var Xo={floor:function(Z){return-Math.ceil(-Z)},ceil:function(Z){return-Math.floor(-Z)}};e.scale.pow=function(){return Ts(e.scale.linear(),1,[0,1])};function Ts(Z,oe,we){var Be=Qo(oe),Ue=Qo(1/oe);function We(wt){return Z(Be(wt))}return We.invert=function(wt){return Ue(Z.invert(wt))},We.domain=function(wt){return arguments.length?(Z.domain((we=wt.map(Number)).map(Be)),We):we},We.ticks=function(wt){return qa(we,wt)},We.tickFormat=function(wt,tt){return d3_scale_linearTickFormat(we,wt,tt)},We.nice=function(wt){return We.domain(Ta(we,wt))},We.exponent=function(wt){return arguments.length?(Be=Qo(oe=wt),Ue=Qo(1/oe),Z.domain(we.map(Be)),We):oe},We.copy=function(){return Ts(Z.copy(),oe,we)},Ma(We,Z)}function Qo(Z){return function(oe){return oe<0?-Math.pow(-oe,Z):Math.pow(oe,Z)}}e.scale.sqrt=function(){return e.scale.pow().exponent(.5)},e.scale.ordinal=function(){return ys([],{t:\"range\",a:[[]]})};function ys(Z,oe){var we,Be,Ue;function We(tt){return Be[((we.get(tt)||(oe.t===\"range\"?we.set(tt,Z.push(tt)):NaN))-1)%Be.length]}function wt(tt,zt){return e.range(Z.length).map(function(or){return tt+zt*or})}return We.domain=function(tt){if(!arguments.length)return Z;Z=[],we=new A;for(var zt=-1,or=tt.length,lr;++zt<or;)we.has(lr=tt[zt])||we.set(lr,Z.push(lr));return We[oe.t].apply(We,oe.a)},We.range=function(tt){return arguments.length?(Be=tt,Ue=0,oe={t:\"range\",a:arguments},We):Be},We.rangePoints=function(tt,zt){arguments.length<2&&(zt=0);var or=tt[0],lr=tt[1],Dr=Z.length<2?(or=(or+lr)/2,0):(lr-or)/(Z.length-1+zt);return Be=wt(or+Dr*zt/2,Dr),Ue=0,oe={t:\"rangePoints\",a:arguments},We},We.rangeRoundPoints=function(tt,zt){arguments.length<2&&(zt=0);var or=tt[0],lr=tt[1],Dr=Z.length<2?(or=lr=Math.round((or+lr)/2),0):(lr-or)/(Z.length-1+zt)|0;return Be=wt(or+Math.round(Dr*zt/2+(lr-or-(Z.length-1+zt)*Dr)/2),Dr),Ue=0,oe={t:\"rangeRoundPoints\",a:arguments},We},We.rangeBands=function(tt,zt,or){arguments.length<2&&(zt=0),arguments.length<3&&(or=zt);var lr=tt[1]<tt[0],Dr=tt[lr-0],Ir=tt[1-lr],oi=(Ir-Dr)/(Z.length-zt+2*or);return Be=wt(Dr+oi*or,oi),lr&&Be.reverse(),Ue=oi*(1-zt),oe={t:\"rangeBands\",a:arguments},We},We.rangeRoundBands=function(tt,zt,or){arguments.length<2&&(zt=0),arguments.length<3&&(or=zt);var lr=tt[1]<tt[0],Dr=tt[lr-0],Ir=tt[1-lr],oi=Math.floor((Ir-Dr)/(Z.length-zt+2*or));return Be=wt(Dr+Math.round((Ir-Dr-(Z.length-zt)*oi)/2),oi),lr&&Be.reverse(),Ue=Math.round(oi*(1-zt)),oe={t:\"rangeRoundBands\",a:arguments},We},We.rangeBand=function(){return Ue},We.rangeExtent=function(){return Fi(oe.a[0])},We.copy=function(){return ys(Z,oe)},We.domain(Z)}e.scale.category10=function(){return e.scale.ordinal().range(Bo)},e.scale.category20=function(){return e.scale.ordinal().range(yl)},e.scale.category20b=function(){return e.scale.ordinal().range(Gs)},e.scale.category20c=function(){return e.scale.ordinal().range(Rs)};var Bo=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(jo),yl=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(jo),Gs=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(jo),Rs=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(jo);e.scale.quantile=function(){return ia([],[])};function ia(Z,oe){var we;function Be(){var We=0,wt=oe.length;for(we=[];++We<wt;)we[We-1]=e.quantile(Z,We/wt);return Ue}function Ue(We){if(!isNaN(We=+We))return oe[e.bisect(we,We)]}return Ue.domain=function(We){return arguments.length?(Z=We.map(h).filter(d).sort(f),Be()):Z},Ue.range=function(We){return arguments.length?(oe=We,Be()):oe},Ue.quantiles=function(){return we},Ue.invertExtent=function(We){return We=oe.indexOf(We),We<0?[NaN,NaN]:[We>0?we[We-1]:Z[0],We<we.length?we[We]:Z[Z.length-1]]},Ue.copy=function(){return ia(Z,oe)},Be()}e.scale.quantize=function(){return Ka(0,1,[0,1])};function Ka(Z,oe,we){var Be,Ue;function We(tt){return we[Math.max(0,Math.min(Ue,Math.floor(Be*(tt-Z))))]}function wt(){return Be=we.length/(oe-Z),Ue=we.length-1,We}return We.domain=function(tt){return arguments.length?(Z=+tt[0],oe=+tt[tt.length-1],wt()):[Z,oe]},We.range=function(tt){return arguments.length?(we=tt,wt()):we},We.invertExtent=function(tt){return tt=we.indexOf(tt),tt=tt<0?NaN:tt/Be+Z,[tt,tt+1/Be]},We.copy=function(){return Ka(Z,oe,we)},wt()}e.scale.threshold=function(){return vs([.5],[0,1])};function vs(Z,oe){function we(Be){if(Be<=Be)return oe[e.bisect(Z,Be)]}return we.domain=function(Be){return arguments.length?(Z=Be,we):Z},we.range=function(Be){return arguments.length?(oe=Be,we):oe},we.invertExtent=function(Be){return Be=oe.indexOf(Be),[Z[Be-1],Z[Be]]},we.copy=function(){return vs(Z,oe)},we}e.scale.identity=function(){return Ko([0,1])};function Ko(Z){function oe(we){return+we}return oe.invert=oe,oe.domain=oe.range=function(we){return arguments.length?(Z=we.map(oe),oe):Z},oe.ticks=function(we){return qa(Z,we)},oe.tickFormat=function(we,Be){return d3_scale_linearTickFormat(Z,we,Be)},oe.copy=function(){return Ko(Z)},oe}e.svg={};function nu(){return 0}e.svg.arc=function(){var Z=ac,oe=mf,we=nu,Be=Ru,Ue=bu,We=Kc,wt=Du;function tt(){var or=Math.max(0,+Z.apply(this,arguments)),lr=Math.max(0,+oe.apply(this,arguments)),Dr=Ue.apply(this,arguments)-xe,Ir=We.apply(this,arguments)-xe,oi=Math.abs(Ir-Dr),ui=Dr>Ir?0:1;if(lr<or&&(qr=lr,lr=or,or=qr),oi>=Le)return zt(lr,ui)+(or?zt(or,1-ui):\"\")+\"Z\";var qr,Kr,ii,vi,ci=0,Jr=0,un,dn,En,Nn,ga,ya,so,wa,io=[];if((vi=(+wt.apply(this,arguments)||0)/2)&&(ii=Be===Ru?Math.sqrt(or*or+lr*lr):+Be.apply(this,arguments),ui||(Jr*=-1),lr&&(Jr=Qr(ii/lr*Math.sin(vi))),or&&(ci=Qr(ii/or*Math.sin(vi)))),lr){un=lr*Math.cos(Dr+Jr),dn=lr*Math.sin(Dr+Jr),En=lr*Math.cos(Ir-Jr),Nn=lr*Math.sin(Ir-Jr);var Ss=Math.abs(Ir-Dr-2*Jr)<=Xe?0:1;if(Jr&&Dc(un,dn,En,Nn)===ui^Ss){var _s=(Dr+Ir)/2;un=lr*Math.cos(_s),dn=lr*Math.sin(_s),En=Nn=null}}else un=dn=0;if(or){ga=or*Math.cos(Ir-ci),ya=or*Math.sin(Ir-ci),so=or*Math.cos(Dr+ci),wa=or*Math.sin(Dr+ci);var Ns=Math.abs(Dr-Ir+2*ci)<=Xe?0:1;if(ci&&Dc(ga,ya,so,wa)===1-ui^Ns){var pn=(Dr+Ir)/2;ga=or*Math.cos(pn),ya=or*Math.sin(pn),so=wa=null}}else ga=ya=0;if(oi>Ye&&(qr=Math.min(Math.abs(lr-or)/2,+we.apply(this,arguments)))>.001){Kr=or<lr^ui?0:1;var za=qr,Lo=qr;if(oi<Xe){var Fo=so==null?[ga,ya]:En==null?[un,dn]:cl([un,dn],[so,wa],[En,Nn],[ga,ya]),js=un-Fo[0],xl=dn-Fo[1],fu=En-Fo[0],dl=Nn-Fo[1],xc=1/Math.sin(Math.acos((js*fu+xl*dl)/(Math.sqrt(js*js+xl*xl)*Math.sqrt(fu*fu+dl*dl)))/2),At=Math.sqrt(Fo[0]*Fo[0]+Fo[1]*Fo[1]);Lo=Math.min(qr,(or-At)/(xc-1)),za=Math.min(qr,(lr-At)/(xc+1))}if(En!=null){var Er=Da(so==null?[ga,ya]:[so,wa],[un,dn],lr,za,ui),Wr=Da([En,Nn],[ga,ya],lr,za,ui);qr===za?io.push(\"M\",Er[0],\"A\",za,\",\",za,\" 0 0,\",Kr,\" \",Er[1],\"A\",lr,\",\",lr,\" 0 \",1-ui^Dc(Er[1][0],Er[1][1],Wr[1][0],Wr[1][1]),\",\",ui,\" \",Wr[1],\"A\",za,\",\",za,\" 0 0,\",Kr,\" \",Wr[0]):io.push(\"M\",Er[0],\"A\",za,\",\",za,\" 0 1,\",Kr,\" \",Wr[0])}else io.push(\"M\",un,\",\",dn);if(so!=null){var wi=Da([un,dn],[so,wa],or,-Lo,ui),Ui=Da([ga,ya],En==null?[un,dn]:[En,Nn],or,-Lo,ui);qr===Lo?io.push(\"L\",Ui[0],\"A\",Lo,\",\",Lo,\" 0 0,\",Kr,\" \",Ui[1],\"A\",or,\",\",or,\" 0 \",ui^Dc(Ui[1][0],Ui[1][1],wi[1][0],wi[1][1]),\",\",1-ui,\" \",wi[1],\"A\",Lo,\",\",Lo,\" 0 0,\",Kr,\" \",wi[0]):io.push(\"L\",Ui[0],\"A\",Lo,\",\",Lo,\" 0 0,\",Kr,\" \",wi[0])}else io.push(\"L\",ga,\",\",ya)}else io.push(\"M\",un,\",\",dn),En!=null&&io.push(\"A\",lr,\",\",lr,\" 0 \",Ss,\",\",ui,\" \",En,\",\",Nn),io.push(\"L\",ga,\",\",ya),so!=null&&io.push(\"A\",or,\",\",or,\" 0 \",Ns,\",\",1-ui,\" \",so,\",\",wa);return io.push(\"Z\"),io.join(\"\")}function zt(or,lr){return\"M0,\"+or+\"A\"+or+\",\"+or+\" 0 1,\"+lr+\" 0,\"+-or+\"A\"+or+\",\"+or+\" 0 1,\"+lr+\" 0,\"+or}return tt.innerRadius=function(or){return arguments.length?(Z=ti(or),tt):Z},tt.outerRadius=function(or){return arguments.length?(oe=ti(or),tt):oe},tt.cornerRadius=function(or){return arguments.length?(we=ti(or),tt):we},tt.padRadius=function(or){return arguments.length?(Be=or==Ru?Ru:ti(or),tt):Be},tt.startAngle=function(or){return arguments.length?(Ue=ti(or),tt):Ue},tt.endAngle=function(or){return arguments.length?(We=ti(or),tt):We},tt.padAngle=function(or){return arguments.length?(wt=ti(or),tt):wt},tt.centroid=function(){var or=(+Z.apply(this,arguments)+ +oe.apply(this,arguments))/2,lr=(+Ue.apply(this,arguments)+ +We.apply(this,arguments))/2-xe;return[Math.cos(lr)*or,Math.sin(lr)*or]},tt};var Ru=\"auto\";function ac(Z){return Z.innerRadius}function mf(Z){return Z.outerRadius}function bu(Z){return Z.startAngle}function Kc(Z){return Z.endAngle}function Du(Z){return Z&&Z.padAngle}function Dc(Z,oe,we,Be){return(Z-we)*oe-(oe-Be)*Z>0?0:1}function Da(Z,oe,we,Be,Ue){var We=Z[0]-oe[0],wt=Z[1]-oe[1],tt=(Ue?Be:-Be)/Math.sqrt(We*We+wt*wt),zt=tt*wt,or=-tt*We,lr=Z[0]+zt,Dr=Z[1]+or,Ir=oe[0]+zt,oi=oe[1]+or,ui=(lr+Ir)/2,qr=(Dr+oi)/2,Kr=Ir-lr,ii=oi-Dr,vi=Kr*Kr+ii*ii,ci=we-Be,Jr=lr*oi-Ir*Dr,un=(ii<0?-1:1)*Math.sqrt(Math.max(0,ci*ci*vi-Jr*Jr)),dn=(Jr*ii-Kr*un)/vi,En=(-Jr*Kr-ii*un)/vi,Nn=(Jr*ii+Kr*un)/vi,ga=(-Jr*Kr+ii*un)/vi,ya=dn-ui,so=En-qr,wa=Nn-ui,io=ga-qr;return ya*ya+so*so>wa*wa+io*io&&(dn=Nn,En=ga),[[dn-zt,En-or],[dn*we/ci,En*we/ci]]}function eo(){return!0}function Jc(Z){var oe=zs,we=ks,Be=eo,Ue=_c,We=Ue.key,wt=.7;function tt(zt){var or=[],lr=[],Dr=-1,Ir=zt.length,oi,ui=ti(oe),qr=ti(we);function Kr(){or.push(\"M\",Ue(Z(lr),wt))}for(;++Dr<Ir;)Be.call(this,oi=zt[Dr],Dr)?lr.push([+ui.call(this,oi,Dr),+qr.call(this,oi,Dr)]):lr.length&&(Kr(),lr=[]);return lr.length&&Kr(),or.length?or.join(\"\"):null}return tt.x=function(zt){return arguments.length?(oe=zt,tt):oe},tt.y=function(zt){return arguments.length?(we=zt,tt):we},tt.defined=function(zt){return arguments.length?(Be=zt,tt):Be},tt.interpolate=function(zt){return arguments.length?(typeof zt==\"function\"?We=Ue=zt:We=(Ue=yc.get(zt)||_c).key,tt):We},tt.tension=function(zt){return arguments.length?(wt=zt,tt):wt},tt}e.svg.line=function(){return Jc(H)};var yc=e.map({linear:_c,\"linear-closed\":le,step:w,\"step-before\":B,\"step-after\":Q,basis:yt,\"basis-open\":Ot,\"basis-closed\":Nt,bundle:hr,cardinal:qe,\"cardinal-open\":ee,\"cardinal-closed\":se,monotone:Mt});yc.forEach(function(Z,oe){oe.key=Z,oe.closed=/-closed$/.test(Z)});function _c(Z){return Z.length>1?Z.join(\"L\"):Z+\"Z\"}function le(Z){return Z.join(\"L\")+\"Z\"}function w(Z){for(var oe=0,we=Z.length,Be=Z[0],Ue=[Be[0],\",\",Be[1]];++oe<we;)Ue.push(\"H\",(Be[0]+(Be=Z[oe])[0])/2,\"V\",Be[1]);return we>1&&Ue.push(\"H\",Be[0]),Ue.join(\"\")}function B(Z){for(var oe=0,we=Z.length,Be=Z[0],Ue=[Be[0],\",\",Be[1]];++oe<we;)Ue.push(\"V\",(Be=Z[oe])[1],\"H\",Be[0]);return Ue.join(\"\")}function Q(Z){for(var oe=0,we=Z.length,Be=Z[0],Ue=[Be[0],\",\",Be[1]];++oe<we;)Ue.push(\"H\",(Be=Z[oe])[0],\"V\",Be[1]);return Ue.join(\"\")}function ee(Z,oe){return Z.length<4?_c(Z):Z[1]+je(Z.slice(1,-1),it(Z,oe))}function se(Z,oe){return Z.length<3?le(Z):Z[0]+je((Z.push(Z[0]),Z),it([Z[Z.length-2]].concat(Z,[Z[1]]),oe))}function qe(Z,oe){return Z.length<3?_c(Z):Z[0]+je(Z,it(Z,oe))}function je(Z,oe){if(oe.length<1||Z.length!=oe.length&&Z.length!=oe.length+2)return _c(Z);var we=Z.length!=oe.length,Be=\"\",Ue=Z[0],We=Z[1],wt=oe[0],tt=wt,zt=1;if(we&&(Be+=\"Q\"+(We[0]-wt[0]*2/3)+\",\"+(We[1]-wt[1]*2/3)+\",\"+We[0]+\",\"+We[1],Ue=Z[1],zt=2),oe.length>1){tt=oe[1],We=Z[zt],zt++,Be+=\"C\"+(Ue[0]+wt[0])+\",\"+(Ue[1]+wt[1])+\",\"+(We[0]-tt[0])+\",\"+(We[1]-tt[1])+\",\"+We[0]+\",\"+We[1];for(var or=2;or<oe.length;or++,zt++)We=Z[zt],tt=oe[or],Be+=\"S\"+(We[0]-tt[0])+\",\"+(We[1]-tt[1])+\",\"+We[0]+\",\"+We[1]}if(we){var lr=Z[zt];Be+=\"Q\"+(We[0]+tt[0]*2/3)+\",\"+(We[1]+tt[1]*2/3)+\",\"+lr[0]+\",\"+lr[1]}return Be}function it(Z,oe){for(var we=[],Be=(1-oe)/2,Ue,We=Z[0],wt=Z[1],tt=1,zt=Z.length;++tt<zt;)Ue=We,We=wt,wt=Z[tt],we.push([Be*(wt[0]-Ue[0]),Be*(wt[1]-Ue[1])]);return we}function yt(Z){if(Z.length<3)return _c(Z);var oe=1,we=Z.length,Be=Z[0],Ue=Be[0],We=Be[1],wt=[Ue,Ue,Ue,(Be=Z[1])[0]],tt=[We,We,We,Be[1]],zt=[Ue,\",\",We,\"L\",Sr(Pe,wt),\",\",Sr(Pe,tt)];for(Z.push(Z[we-1]);++oe<=we;)Be=Z[oe],wt.shift(),wt.push(Be[0]),tt.shift(),tt.push(Be[1]),Oe(zt,wt,tt);return Z.pop(),zt.push(\"L\",Be),zt.join(\"\")}function Ot(Z){if(Z.length<4)return _c(Z);for(var oe=[],we=-1,Be=Z.length,Ue,We=[0],wt=[0];++we<3;)Ue=Z[we],We.push(Ue[0]),wt.push(Ue[1]);for(oe.push(Sr(Pe,We)+\",\"+Sr(Pe,wt)),--we;++we<Be;)Ue=Z[we],We.shift(),We.push(Ue[0]),wt.shift(),wt.push(Ue[1]),Oe(oe,We,wt);return oe.join(\"\")}function Nt(Z){for(var oe,we=-1,Be=Z.length,Ue=Be+4,We,wt=[],tt=[];++we<4;)We=Z[we%Be],wt.push(We[0]),tt.push(We[1]);for(oe=[Sr(Pe,wt),\",\",Sr(Pe,tt)],--we;++we<Ue;)We=Z[we%Be],wt.shift(),wt.push(We[0]),tt.shift(),tt.push(We[1]),Oe(oe,wt,tt);return oe.join(\"\")}function hr(Z,oe){var we=Z.length-1;if(we)for(var Be=Z[0][0],Ue=Z[0][1],We=Z[we][0]-Be,wt=Z[we][1]-Ue,tt=-1,zt,or;++tt<=we;)zt=Z[tt],or=tt/we,zt[0]=oe*zt[0]+(1-oe)*(Be+or*We),zt[1]=oe*zt[1]+(1-oe)*(Ue+or*wt);return yt(Z)}function Sr(Z,oe){return Z[0]*oe[0]+Z[1]*oe[1]+Z[2]*oe[2]+Z[3]*oe[3]}var he=[0,2/3,1/3,0],be=[0,1/3,2/3,0],Pe=[0,1/6,2/3,1/6];function Oe(Z,oe,we){Z.push(\"C\",Sr(he,oe),\",\",Sr(he,we),\",\",Sr(be,oe),\",\",Sr(be,we),\",\",Sr(Pe,oe),\",\",Sr(Pe,we))}function Je(Z,oe){return(oe[1]-Z[1])/(oe[0]-Z[0])}function He(Z){for(var oe=0,we=Z.length-1,Be=[],Ue=Z[0],We=Z[1],wt=Be[0]=Je(Ue,We);++oe<we;)Be[oe]=(wt+(wt=Je(Ue=We,We=Z[oe+1])))/2;return Be[oe]=wt,Be}function et(Z){for(var oe=[],we,Be,Ue,We,wt=He(Z),tt=-1,zt=Z.length-1;++tt<zt;)we=Je(Z[tt],Z[tt+1]),p(we)<Ye?wt[tt]=wt[tt+1]=0:(Be=wt[tt]/we,Ue=wt[tt+1]/we,We=Be*Be+Ue*Ue,We>9&&(We=we*3/Math.sqrt(We),wt[tt]=We*Be,wt[tt+1]=We*Ue));for(tt=-1;++tt<=zt;)We=(Z[Math.min(zt,tt+1)][0]-Z[Math.max(0,tt-1)][0])/(6*(1+wt[tt]*wt[tt])),oe.push([We||0,wt[tt]*We||0]);return oe}function Mt(Z){return Z.length<3?_c(Z):Z[0]+je(Z,et(Z))}e.svg.line.radial=function(){var Z=Jc(Dt);return Z.radius=Z.x,delete Z.x,Z.angle=Z.y,delete Z.y,Z};function Dt(Z){for(var oe,we=-1,Be=Z.length,Ue,We;++we<Be;)oe=Z[we],Ue=oe[0],We=oe[1]-xe,oe[0]=Ue*Math.cos(We),oe[1]=Ue*Math.sin(We);return Z}function Ut(Z){var oe=zs,we=zs,Be=0,Ue=ks,We=eo,wt=_c,tt=wt.key,zt=wt,or=\"L\",lr=.7;function Dr(Ir){var oi=[],ui=[],qr=[],Kr=-1,ii=Ir.length,vi,ci=ti(oe),Jr=ti(Be),un=oe===we?function(){return En}:ti(we),dn=Be===Ue?function(){return Nn}:ti(Ue),En,Nn;function ga(){oi.push(\"M\",wt(Z(qr),lr),or,zt(Z(ui.reverse()),lr),\"Z\")}for(;++Kr<ii;)We.call(this,vi=Ir[Kr],Kr)?(ui.push([En=+ci.call(this,vi,Kr),Nn=+Jr.call(this,vi,Kr)]),qr.push([+un.call(this,vi,Kr),+dn.call(this,vi,Kr)])):ui.length&&(ga(),ui=[],qr=[]);return ui.length&&ga(),oi.length?oi.join(\"\"):null}return Dr.x=function(Ir){return arguments.length?(oe=we=Ir,Dr):we},Dr.x0=function(Ir){return arguments.length?(oe=Ir,Dr):oe},Dr.x1=function(Ir){return arguments.length?(we=Ir,Dr):we},Dr.y=function(Ir){return arguments.length?(Be=Ue=Ir,Dr):Ue},Dr.y0=function(Ir){return arguments.length?(Be=Ir,Dr):Be},Dr.y1=function(Ir){return arguments.length?(Ue=Ir,Dr):Ue},Dr.defined=function(Ir){return arguments.length?(We=Ir,Dr):We},Dr.interpolate=function(Ir){return arguments.length?(typeof Ir==\"function\"?tt=wt=Ir:tt=(wt=yc.get(Ir)||_c).key,zt=wt.reverse||wt,or=wt.closed?\"M\":\"L\",Dr):tt},Dr.tension=function(Ir){return arguments.length?(lr=Ir,Dr):lr},Dr}B.reverse=Q,Q.reverse=B,e.svg.area=function(){return Ut(H)},e.svg.area.radial=function(){var Z=Ut(Dt);return Z.radius=Z.x,delete Z.x,Z.innerRadius=Z.x0,delete Z.x0,Z.outerRadius=Z.x1,delete Z.x1,Z.angle=Z.y,delete Z.y,Z.startAngle=Z.y0,delete Z.y0,Z.endAngle=Z.y1,delete Z.y1,Z};function tr(Z){return Z.source}function mr(Z){return Z.target}e.svg.chord=function(){var Z=tr,oe=mr,we=Rr,Be=bu,Ue=Kc;function We(lr,Dr){var Ir=wt(this,Z,lr,Dr),oi=wt(this,oe,lr,Dr);return\"M\"+Ir.p0+zt(Ir.r,Ir.p1,Ir.a1-Ir.a0)+(tt(Ir,oi)?or(Ir.r,Ir.p1,Ir.r,Ir.p0):or(Ir.r,Ir.p1,oi.r,oi.p0)+zt(oi.r,oi.p1,oi.a1-oi.a0)+or(oi.r,oi.p1,Ir.r,Ir.p0))+\"Z\"}function wt(lr,Dr,Ir,oi){var ui=Dr.call(lr,Ir,oi),qr=we.call(lr,ui,oi),Kr=Be.call(lr,ui,oi)-xe,ii=Ue.call(lr,ui,oi)-xe;return{r:qr,a0:Kr,a1:ii,p0:[qr*Math.cos(Kr),qr*Math.sin(Kr)],p1:[qr*Math.cos(ii),qr*Math.sin(ii)]}}function tt(lr,Dr){return lr.a0==Dr.a0&&lr.a1==Dr.a1}function zt(lr,Dr,Ir){return\"A\"+lr+\",\"+lr+\" 0 \"+ +(Ir>Xe)+\",1 \"+Dr}function or(lr,Dr,Ir,oi){return\"Q 0,0 \"+oi}return We.radius=function(lr){return arguments.length?(we=ti(lr),We):we},We.source=function(lr){return arguments.length?(Z=ti(lr),We):Z},We.target=function(lr){return arguments.length?(oe=ti(lr),We):oe},We.startAngle=function(lr){return arguments.length?(Be=ti(lr),We):Be},We.endAngle=function(lr){return arguments.length?(Ue=ti(lr),We):Ue},We};function Rr(Z){return Z.radius}e.svg.diagonal=function(){var Z=tr,oe=mr,we=zr;function Be(Ue,We){var wt=Z.call(this,Ue,We),tt=oe.call(this,Ue,We),zt=(wt.y+tt.y)/2,or=[wt,{x:wt.x,y:zt},{x:tt.x,y:zt},tt];return or=or.map(we),\"M\"+or[0]+\"C\"+or[1]+\" \"+or[2]+\" \"+or[3]}return Be.source=function(Ue){return arguments.length?(Z=ti(Ue),Be):Z},Be.target=function(Ue){return arguments.length?(oe=ti(Ue),Be):oe},Be.projection=function(Ue){return arguments.length?(we=Ue,Be):we},Be};function zr(Z){return[Z.x,Z.y]}e.svg.diagonal.radial=function(){var Z=e.svg.diagonal(),oe=zr,we=Z.projection;return Z.projection=function(Be){return arguments.length?we(Xr(oe=Be)):oe},Z};function Xr(Z){return function(){var oe=Z.apply(this,arguments),we=oe[0],Be=oe[1]-xe;return[we*Math.cos(Be),we*Math.sin(Be)]}}e.svg.symbol=function(){var Z=Li,oe=di;function we(Be,Ue){return(Qi.get(Z.call(this,Be,Ue))||Ci)(oe.call(this,Be,Ue))}return we.type=function(Be){return arguments.length?(Z=ti(Be),we):Z},we.size=function(Be){return arguments.length?(oe=ti(Be),we):oe},we};function di(){return 64}function Li(){return\"circle\"}function Ci(Z){var oe=Math.sqrt(Z/Xe);return\"M0,\"+oe+\"A\"+oe+\",\"+oe+\" 0 1,1 0,\"+-oe+\"A\"+oe+\",\"+oe+\" 0 1,1 0,\"+oe+\"Z\"}var Qi=e.map({circle:Ci,cross:function(Z){var oe=Math.sqrt(Z/5)/2;return\"M\"+-3*oe+\",\"+-oe+\"H\"+-oe+\"V\"+-3*oe+\"H\"+oe+\"V\"+-oe+\"H\"+3*oe+\"V\"+oe+\"H\"+oe+\"V\"+3*oe+\"H\"+-oe+\"V\"+oe+\"H\"+-3*oe+\"Z\"},diamond:function(Z){var oe=Math.sqrt(Z/(2*pa)),we=oe*pa;return\"M0,\"+-oe+\"L\"+we+\",0 0,\"+oe+\" \"+-we+\",0Z\"},square:function(Z){var oe=Math.sqrt(Z)/2;return\"M\"+-oe+\",\"+-oe+\"L\"+oe+\",\"+-oe+\" \"+oe+\",\"+oe+\" \"+-oe+\",\"+oe+\"Z\"},\"triangle-down\":function(Z){var oe=Math.sqrt(Z/Mn),we=oe*Mn/2;return\"M0,\"+we+\"L\"+oe+\",\"+-we+\" \"+-oe+\",\"+-we+\"Z\"},\"triangle-up\":function(Z){var oe=Math.sqrt(Z/Mn),we=oe*Mn/2;return\"M0,\"+-we+\"L\"+oe+\",\"+we+\" \"+-oe+\",\"+we+\"Z\"}});e.svg.symbolTypes=Qi.keys();var Mn=Math.sqrt(3),pa=Math.tan(30*Se);Ce.transition=function(Z){for(var oe=Ro||++co,we=po(Z),Be=[],Ue,We,wt=Ds||{time:Date.now(),ease:uu,delay:0,duration:250},tt=-1,zt=this.length;++tt<zt;){Be.push(Ue=[]);for(var or=this[tt],lr=-1,Dr=or.length;++lr<Dr;)(We=or[lr])&&_l(We,lr,we,oe,wt),Ue.push(We)}return To(Be,we,oe)},Ce.interrupt=function(Z){return this.each(Z==null?ea:Ga(po(Z)))};var ea=Ga(po());function Ga(Z){return function(){var oe,we,Be;(oe=this[Z])&&(Be=oe[we=oe.active])&&(Be.timer.c=null,Be.timer.t=NaN,--oe.count?delete oe[we]:delete this[Z],oe.active+=.5,Be.event&&Be.event.interrupt.call(this,this.__data__,Be.index))}}function To(Z,oe,we){return ie(Z,Wa),Z.namespace=oe,Z.id=we,Z}var Wa=[],co=0,Ro,Ds;Wa.call=Ce.call,Wa.empty=Ce.empty,Wa.node=Ce.node,Wa.size=Ce.size,e.transition=function(Z,oe){return Z&&Z.transition?Ro?Z.transition(oe):Z:e.selection().transition(Z)},e.transition.prototype=Wa,Wa.select=function(Z){var oe=this.id,we=this.namespace,Be=[],Ue,We,wt;Z=me(Z);for(var tt=-1,zt=this.length;++tt<zt;){Be.push(Ue=[]);for(var or=this[tt],lr=-1,Dr=or.length;++lr<Dr;)(wt=or[lr])&&(We=Z.call(wt,wt.__data__,lr,tt))?(\"__data__\"in wt&&(We.__data__=wt.__data__),_l(We,lr,we,oe,wt[we][oe]),Ue.push(We)):Ue.push(null)}return To(Be,we,oe)},Wa.selectAll=function(Z){var oe=this.id,we=this.namespace,Be=[],Ue,We,wt,tt,zt;Z=Re(Z);for(var or=-1,lr=this.length;++or<lr;)for(var Dr=this[or],Ir=-1,oi=Dr.length;++Ir<oi;)if(wt=Dr[Ir]){zt=wt[we][oe],We=Z.call(wt,wt.__data__,Ir,or),Be.push(Ue=[]);for(var ui=-1,qr=We.length;++ui<qr;)(tt=We[ui])&&_l(tt,ui,we,oe,zt),Ue.push(tt)}return To(Be,we,oe)},Wa.filter=function(Z){var oe=[],we,Be,Ue;typeof Z!=\"function\"&&(Z=Ke(Z));for(var We=0,wt=this.length;We<wt;We++){oe.push(we=[]);for(var Be=this[We],tt=0,zt=Be.length;tt<zt;tt++)(Ue=Be[tt])&&Z.call(Ue,Ue.__data__,tt,We)&&we.push(Ue)}return To(oe,this.namespace,this.id)},Wa.tween=function(Z,oe){var we=this.id,Be=this.namespace;return arguments.length<2?this.node()[Be][we].tween.get(Z):bt(this,oe==null?function(Ue){Ue[Be][we].tween.remove(Z)}:function(Ue){Ue[Be][we].tween.set(Z,oe)})};function As(Z,oe,we,Be){var Ue=Z.id,We=Z.namespace;return bt(Z,typeof we==\"function\"?function(wt,tt,zt){wt[We][Ue].tween.set(oe,Be(we.call(wt,wt.__data__,tt,zt)))}:(we=Be(we),function(wt){wt[We][Ue].tween.set(oe,we)}))}Wa.attr=function(Z,oe){if(arguments.length<2){for(oe in Z)this.attr(oe,Z[oe]);return this}var we=Z==\"transform\"?Cf:Sl,Be=e.ns.qualify(Z);function Ue(){this.removeAttribute(Be)}function We(){this.removeAttributeNS(Be.space,Be.local)}function wt(zt){return zt==null?Ue:(zt+=\"\",function(){var or=this.getAttribute(Be),lr;return or!==zt&&(lr=we(or,zt),function(Dr){this.setAttribute(Be,lr(Dr))})})}function tt(zt){return zt==null?We:(zt+=\"\",function(){var or=this.getAttributeNS(Be.space,Be.local),lr;return or!==zt&&(lr=we(or,zt),function(Dr){this.setAttributeNS(Be.space,Be.local,lr(Dr))})})}return As(this,\"attr.\"+Z,oe,Be.local?tt:wt)},Wa.attrTween=function(Z,oe){var we=e.ns.qualify(Z);function Be(We,wt){var tt=oe.call(this,We,wt,this.getAttribute(we));return tt&&function(zt){this.setAttribute(we,tt(zt))}}function Ue(We,wt){var tt=oe.call(this,We,wt,this.getAttributeNS(we.space,we.local));return tt&&function(zt){this.setAttributeNS(we.space,we.local,tt(zt))}}return this.tween(\"attr.\"+Z,we.local?Ue:Be)},Wa.style=function(Z,oe,we){var Be=arguments.length;if(Be<3){if(typeof Z!=\"string\"){Be<2&&(oe=\"\");for(we in Z)this.style(we,Z[we],oe);return this}we=\"\"}function Ue(){this.style.removeProperty(Z)}function We(wt){return wt==null?Ue:(wt+=\"\",function(){var tt=a(this).getComputedStyle(this,null).getPropertyValue(Z),zt;return tt!==wt&&(zt=Sl(tt,wt),function(or){this.style.setProperty(Z,zt(or),we)})})}return As(this,\"style.\"+Z,oe,We)},Wa.styleTween=function(Z,oe,we){arguments.length<3&&(we=\"\");function Be(Ue,We){var wt=oe.call(this,Ue,We,a(this).getComputedStyle(this,null).getPropertyValue(Z));return wt&&function(tt){this.style.setProperty(Z,wt(tt),we)}}return this.tween(\"style.\"+Z,Be)},Wa.text=function(Z){return As(this,\"text\",Z,yo)};function yo(Z){return Z==null&&(Z=\"\"),function(){this.textContent=Z}}Wa.remove=function(){var Z=this.namespace;return this.each(\"end.transition\",function(){var oe;this[Z].count<2&&(oe=this.parentNode)&&oe.removeChild(this)})},Wa.ease=function(Z){var oe=this.id,we=this.namespace;return arguments.length<1?this.node()[we][oe].ease:(typeof Z!=\"function\"&&(Z=e.ease.apply(e,arguments)),bt(this,function(Be){Be[we][oe].ease=Z}))},Wa.delay=function(Z){var oe=this.id,we=this.namespace;return arguments.length<1?this.node()[we][oe].delay:bt(this,typeof Z==\"function\"?function(Be,Ue,We){Be[we][oe].delay=+Z.call(Be,Be.__data__,Ue,We)}:(Z=+Z,function(Be){Be[we][oe].delay=Z}))},Wa.duration=function(Z){var oe=this.id,we=this.namespace;return arguments.length<1?this.node()[we][oe].duration:bt(this,typeof Z==\"function\"?function(Be,Ue,We){Be[we][oe].duration=Math.max(1,Z.call(Be,Be.__data__,Ue,We))}:(Z=Math.max(1,Z),function(Be){Be[we][oe].duration=Z}))},Wa.each=function(Z,oe){var we=this.id,Be=this.namespace;if(arguments.length<2){var Ue=Ds,We=Ro;try{Ro=we,bt(this,function(wt,tt,zt){Ds=wt[Be][we],Z.call(wt,wt.__data__,tt,zt)})}finally{Ds=Ue,Ro=We}}else bt(this,function(wt){var tt=wt[Be][we];(tt.event||(tt.event=e.dispatch(\"start\",\"end\",\"interrupt\"))).on(Z,oe)});return this},Wa.transition=function(){for(var Z=this.id,oe=++co,we=this.namespace,Be=[],Ue,We,wt,tt,zt=0,or=this.length;zt<or;zt++){Be.push(Ue=[]);for(var We=this[zt],lr=0,Dr=We.length;lr<Dr;lr++)(wt=We[lr])&&(tt=wt[we][Z],_l(wt,lr,we,oe,{time:tt.time,ease:tt.ease,delay:tt.delay+tt.duration,duration:tt.duration})),Ue.push(wt)}return To(Be,we,oe)};function po(Z){return Z==null?\"__transition__\":\"__transition_\"+Z+\"__\"}function _l(Z,oe,we,Be,Ue){var We=Z[we]||(Z[we]={active:0,count:0}),wt=We[Be],tt,zt,or,lr,Dr;function Ir(qr){var Kr=wt.delay;if(zt.t=Kr+tt,Kr<=qr)return oi(qr-Kr);zt.c=oi}function oi(qr){var Kr=We.active,ii=We[Kr];ii&&(ii.timer.c=null,ii.timer.t=NaN,--We.count,delete We[Kr],ii.event&&ii.event.interrupt.call(Z,Z.__data__,ii.index));for(var vi in We)if(+vi<Be){var ci=We[vi];ci.timer.c=null,ci.timer.t=NaN,--We.count,delete We[vi]}zt.c=ui,Oo(function(){return zt.c&&ui(qr||1)&&(zt.c=null,zt.t=NaN),1},0,tt),We.active=Be,wt.event&&wt.event.start.call(Z,Z.__data__,oe),Dr=[],wt.tween.forEach(function(Jr,un){(un=un.call(Z,Z.__data__,oe))&&Dr.push(un)}),lr=wt.ease,or=wt.duration}function ui(qr){for(var Kr=qr/or,ii=lr(Kr),vi=Dr.length;vi>0;)Dr[--vi].call(Z,ii);if(Kr>=1)return wt.event&&wt.event.end.call(Z,Z.__data__,oe),--We.count?delete We[Be]:delete Z[we],1}wt||(tt=Ue.time,zt=Oo(Ir,0,tt),wt=We[Be]={tween:new A,time:tt,timer:zt,delay:Ue.delay,duration:Ue.duration,ease:Ue.ease,index:oe},Ue=null,++We.count)}e.svg.axis=function(){var Z=e.scale.linear(),oe=Hl,we=6,Be=6,Ue=3,We=[10],wt=null,tt;function zt(or){or.each(function(){var lr=e.select(this),Dr=this.__chart__||Z,Ir=this.__chart__=Z.copy(),oi=wt==null?Ir.ticks?Ir.ticks.apply(Ir,We):Ir.domain():wt,ui=tt==null?Ir.tickFormat?Ir.tickFormat.apply(Ir,We):H:tt,qr=lr.selectAll(\".tick\").data(oi,Ir),Kr=qr.enter().insert(\"g\",\".domain\").attr(\"class\",\"tick\").style(\"opacity\",Ye),ii=e.transition(qr.exit()).style(\"opacity\",Ye).remove(),vi=e.transition(qr.order()).style(\"opacity\",1),ci=Math.max(we,0)+Ue,Jr,un=Xi(Ir),dn=lr.selectAll(\".domain\").data([0]),En=(dn.enter().append(\"path\").attr(\"class\",\"domain\"),e.transition(dn));Kr.append(\"line\"),Kr.append(\"text\");var Nn=Kr.select(\"line\"),ga=vi.select(\"line\"),ya=qr.select(\"text\").text(ui),so=Kr.select(\"text\"),wa=vi.select(\"text\"),io=oe===\"top\"||oe===\"left\"?-1:1,Ss,_s,Ns,pn;if(oe===\"bottom\"||oe===\"top\"?(Jr=cu,Ss=\"x\",Ns=\"y\",_s=\"x2\",pn=\"y2\",ya.attr(\"dy\",io<0?\"0em\":\".71em\").style(\"text-anchor\",\"middle\"),En.attr(\"d\",\"M\"+un[0]+\",\"+io*Be+\"V0H\"+un[1]+\"V\"+io*Be)):(Jr=el,Ss=\"y\",Ns=\"x\",_s=\"y2\",pn=\"x2\",ya.attr(\"dy\",\".32em\").style(\"text-anchor\",io<0?\"end\":\"start\"),En.attr(\"d\",\"M\"+io*Be+\",\"+un[0]+\"H0V\"+un[1]+\"H\"+io*Be)),Nn.attr(pn,io*we),so.attr(Ns,io*ci),ga.attr(_s,0).attr(pn,io*we),wa.attr(Ss,0).attr(Ns,io*ci),Ir.rangeBand){var za=Ir,Lo=za.rangeBand()/2;Dr=Ir=function(Fo){return za(Fo)+Lo}}else Dr.rangeBand?Dr=Ir:ii.call(Jr,Ir,Dr);Kr.call(Jr,Dr,Ir),vi.call(Jr,Ir,Ir)})}return zt.scale=function(or){return arguments.length?(Z=or,zt):Z},zt.orient=function(or){return arguments.length?(oe=or in Zu?or+\"\":Hl,zt):oe},zt.ticks=function(){return arguments.length?(We=r(arguments),zt):We},zt.tickValues=function(or){return arguments.length?(wt=or,zt):wt},zt.tickFormat=function(or){return arguments.length?(tt=or,zt):tt},zt.tickSize=function(or){var lr=arguments.length;return lr?(we=+or,Be=+arguments[lr-1],zt):we},zt.innerTickSize=function(or){return arguments.length?(we=+or,zt):we},zt.outerTickSize=function(or){return arguments.length?(Be=+or,zt):Be},zt.tickPadding=function(or){return arguments.length?(Ue=+or,zt):Ue},zt.tickSubdivide=function(){return arguments.length&&zt},zt};var Hl=\"bottom\",Zu={top:1,right:1,bottom:1,left:1};function cu(Z,oe,we){Z.attr(\"transform\",function(Be){var Ue=oe(Be);return\"translate(\"+(isFinite(Ue)?Ue:we(Be))+\",0)\"})}function el(Z,oe,we){Z.attr(\"transform\",function(Be){var Ue=oe(Be);return\"translate(0,\"+(isFinite(Ue)?Ue:we(Be))+\")\"})}e.svg.brush=function(){var Z=ke(lr,\"brushstart\",\"brush\",\"brushend\"),oe=null,we=null,Be=[0,0],Ue=[0,0],We,wt,tt=!0,zt=!0,or=zc[0];function lr(qr){qr.each(function(){var Kr=e.select(this).style(\"pointer-events\",\"all\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\").on(\"mousedown.brush\",ui).on(\"touchstart.brush\",ui),ii=Kr.selectAll(\".background\").data([0]);ii.enter().append(\"rect\").attr(\"class\",\"background\").style(\"visibility\",\"hidden\").style(\"cursor\",\"crosshair\"),Kr.selectAll(\".extent\").data([0]).enter().append(\"rect\").attr(\"class\",\"extent\").style(\"cursor\",\"move\");var vi=Kr.selectAll(\".resize\").data(or,H);vi.exit().remove(),vi.enter().append(\"g\").attr(\"class\",function(dn){return\"resize \"+dn}).style(\"cursor\",function(dn){return au[dn]}).append(\"rect\").attr(\"x\",function(dn){return/[ew]$/.test(dn)?-3:null}).attr(\"y\",function(dn){return/^[ns]/.test(dn)?-3:null}).attr(\"width\",6).attr(\"height\",6).style(\"visibility\",\"hidden\"),vi.style(\"display\",lr.empty()?\"none\":null);var ci=e.transition(Kr),Jr=e.transition(ii),un;oe&&(un=Xi(oe),Jr.attr(\"x\",un[0]).attr(\"width\",un[1]-un[0]),Ir(ci)),we&&(un=Xi(we),Jr.attr(\"y\",un[0]).attr(\"height\",un[1]-un[0]),oi(ci)),Dr(ci)})}lr.event=function(qr){qr.each(function(){var Kr=Z.of(this,arguments),ii={x:Be,y:Ue,i:We,j:wt},vi=this.__chart__||ii;this.__chart__=ii,Ro?e.select(this).transition().each(\"start.brush\",function(){We=vi.i,wt=vi.j,Be=vi.x,Ue=vi.y,Kr({type:\"brushstart\"})}).tween(\"brush:brush\",function(){var ci=ec(Be,ii.x),Jr=ec(Ue,ii.y);return We=wt=null,function(un){Be=ii.x=ci(un),Ue=ii.y=Jr(un),Kr({type:\"brush\",mode:\"resize\"})}}).each(\"end.brush\",function(){We=ii.i,wt=ii.j,Kr({type:\"brush\",mode:\"resize\"}),Kr({type:\"brushend\"})}):(Kr({type:\"brushstart\"}),Kr({type:\"brush\",mode:\"resize\"}),Kr({type:\"brushend\"}))})};function Dr(qr){qr.selectAll(\".resize\").attr(\"transform\",function(Kr){return\"translate(\"+Be[+/e$/.test(Kr)]+\",\"+Ue[+/^s/.test(Kr)]+\")\"})}function Ir(qr){qr.select(\".extent\").attr(\"x\",Be[0]),qr.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\",Be[1]-Be[0])}function oi(qr){qr.select(\".extent\").attr(\"y\",Ue[0]),qr.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",Ue[1]-Ue[0])}function ui(){var qr=this,Kr=e.select(e.event.target),ii=Z.of(qr,arguments),vi=e.select(qr),ci=Kr.datum(),Jr=!/^(n|s)$/.test(ci)&&oe,un=!/^(e|w)$/.test(ci)&&we,dn=Kr.classed(\"extent\"),En=Or(qr),Nn,ga=e.mouse(qr),ya,so=e.select(a(qr)).on(\"keydown.brush\",Ss).on(\"keyup.brush\",_s);if(e.event.changedTouches?so.on(\"touchmove.brush\",Ns).on(\"touchend.brush\",za):so.on(\"mousemove.brush\",Ns).on(\"mouseup.brush\",za),vi.interrupt().selectAll(\"*\").interrupt(),dn)ga[0]=Be[0]-ga[0],ga[1]=Ue[0]-ga[1];else if(ci){var wa=+/w$/.test(ci),io=+/^n/.test(ci);ya=[Be[1-wa]-ga[0],Ue[1-io]-ga[1]],ga[0]=Be[wa],ga[1]=Ue[io]}else e.event.altKey&&(Nn=ga.slice());vi.style(\"pointer-events\",\"none\").selectAll(\".resize\").style(\"display\",null),e.select(\"body\").style(\"cursor\",Kr.style(\"cursor\")),ii({type:\"brushstart\"}),Ns();function Ss(){e.event.keyCode==32&&(dn||(Nn=null,ga[0]-=Be[1],ga[1]-=Ue[1],dn=2),_e())}function _s(){e.event.keyCode==32&&dn==2&&(ga[0]+=Be[1],ga[1]+=Ue[1],dn=0,_e())}function Ns(){var Lo=e.mouse(qr),Fo=!1;ya&&(Lo[0]+=ya[0],Lo[1]+=ya[1]),dn||(e.event.altKey?(Nn||(Nn=[(Be[0]+Be[1])/2,(Ue[0]+Ue[1])/2]),ga[0]=Be[+(Lo[0]<Nn[0])],ga[1]=Ue[+(Lo[1]<Nn[1])]):Nn=null),Jr&&pn(Lo,oe,0)&&(Ir(vi),Fo=!0),un&&pn(Lo,we,1)&&(oi(vi),Fo=!0),Fo&&(Dr(vi),ii({type:\"brush\",mode:dn?\"move\":\"resize\"}))}function pn(Lo,Fo,js){var xl=Xi(Fo),fu=xl[0],dl=xl[1],xc=ga[js],At=js?Ue:Be,Er=At[1]-At[0],Wr,wi;if(dn&&(fu-=xc,dl-=Er+xc),Wr=(js?zt:tt)?Math.max(fu,Math.min(dl,Lo[js])):Lo[js],dn?wi=(Wr+=xc)+Er:(Nn&&(xc=Math.max(fu,Math.min(dl,2*Nn[js]-Wr))),xc<Wr?(wi=Wr,Wr=xc):wi=xc),At[0]!=Wr||At[1]!=wi)return js?wt=null:We=null,At[0]=Wr,At[1]=wi,!0}function za(){Ns(),vi.style(\"pointer-events\",\"all\").selectAll(\".resize\").style(\"display\",lr.empty()?\"none\":null),e.select(\"body\").style(\"cursor\",null),so.on(\"mousemove.brush\",null).on(\"mouseup.brush\",null).on(\"touchmove.brush\",null).on(\"touchend.brush\",null).on(\"keydown.brush\",null).on(\"keyup.brush\",null),En(),ii({type:\"brushend\"})}}return lr.x=function(qr){return arguments.length?(oe=qr,or=zc[!oe<<1|!we],lr):oe},lr.y=function(qr){return arguments.length?(we=qr,or=zc[!oe<<1|!we],lr):we},lr.clamp=function(qr){return arguments.length?(oe&&we?(tt=!!qr[0],zt=!!qr[1]):oe?tt=!!qr:we&&(zt=!!qr),lr):oe&&we?[tt,zt]:oe?tt:we?zt:null},lr.extent=function(qr){var Kr,ii,vi,ci,Jr;return arguments.length?(oe&&(Kr=qr[0],ii=qr[1],we&&(Kr=Kr[0],ii=ii[0]),We=[Kr,ii],oe.invert&&(Kr=oe(Kr),ii=oe(ii)),ii<Kr&&(Jr=Kr,Kr=ii,ii=Jr),(Kr!=Be[0]||ii!=Be[1])&&(Be=[Kr,ii])),we&&(vi=qr[0],ci=qr[1],oe&&(vi=vi[1],ci=ci[1]),wt=[vi,ci],we.invert&&(vi=we(vi),ci=we(ci)),ci<vi&&(Jr=vi,vi=ci,ci=Jr),(vi!=Ue[0]||ci!=Ue[1])&&(Ue=[vi,ci])),lr):(oe&&(We?(Kr=We[0],ii=We[1]):(Kr=Be[0],ii=Be[1],oe.invert&&(Kr=oe.invert(Kr),ii=oe.invert(ii)),ii<Kr&&(Jr=Kr,Kr=ii,ii=Jr))),we&&(wt?(vi=wt[0],ci=wt[1]):(vi=Ue[0],ci=Ue[1],we.invert&&(vi=we.invert(vi),ci=we.invert(ci)),ci<vi&&(Jr=vi,vi=ci,ci=Jr))),oe&&we?[[Kr,vi],[ii,ci]]:oe?[Kr,ii]:we&&[vi,ci])},lr.clear=function(){return lr.empty()||(Be=[0,0],Ue=[0,0],We=wt=null),lr},lr.empty=function(){return!!oe&&Be[0]==Be[1]||!!we&&Ue[0]==Ue[1]},e.rebind(lr,Z,\"on\")};var au={n:\"ns-resize\",e:\"ew-resize\",s:\"ns-resize\",w:\"ew-resize\",nw:\"nwse-resize\",ne:\"nesw-resize\",se:\"nwse-resize\",sw:\"nesw-resize\"},zc=[[\"n\",\"e\",\"s\",\"w\",\"nw\",\"ne\",\"se\",\"sw\"],[\"e\",\"w\"],[\"n\",\"s\"],[]];e.text=zi(function(Z){return Z.responseText}),e.json=function(Z,oe){return Yi(Z,\"application/json\",zl,oe)};function zl(Z){return JSON.parse(Z.responseText)}e.html=function(Z,oe){return Yi(Z,\"text/html\",Fl,oe)};function Fl(Z){var oe=n.createRange();return oe.selectNode(n.body),oe.createContextualFragment(Z.responseText)}e.xml=zi(function(Z){return Z.responseXML}),typeof r6==\"object\"&&r6.exports?r6.exports=e:this.d3=e}).apply(self)});var dq=ye((i6,nee)=>{(function(e,t){typeof i6==\"object\"&&typeof nee!=\"undefined\"?t(i6):(e=e||self,t(e.d3=e.d3||{}))})(i6,function(e){\"use strict\";var t=new Date,r=new Date;function n(Ke,xt,bt,Lt){function St(Et){return Ke(Et=arguments.length===0?new Date:new Date(+Et)),Et}return St.floor=function(Et){return Ke(Et=new Date(+Et)),Et},St.ceil=function(Et){return Ke(Et=new Date(Et-1)),xt(Et,1),Ke(Et),Et},St.round=function(Et){var dt=St(Et),Ht=St.ceil(Et);return Et-dt<Ht-Et?dt:Ht},St.offset=function(Et,dt){return xt(Et=new Date(+Et),dt==null?1:Math.floor(dt)),Et},St.range=function(Et,dt,Ht){var $t=[],fr;if(Et=St.ceil(Et),Ht=Ht==null?1:Math.floor(Ht),!(Et<dt)||!(Ht>0))return $t;do $t.push(fr=new Date(+Et)),xt(Et,Ht),Ke(Et);while(fr<Et&&Et<dt);return $t},St.filter=function(Et){return n(function(dt){if(dt>=dt)for(;Ke(dt),!Et(dt);)dt.setTime(dt-1)},function(dt,Ht){if(dt>=dt)if(Ht<0)for(;++Ht<=0;)for(;xt(dt,-1),!Et(dt););else for(;--Ht>=0;)for(;xt(dt,1),!Et(dt););})},bt&&(St.count=function(Et,dt){return t.setTime(+Et),r.setTime(+dt),Ke(t),Ke(r),Math.floor(bt(t,r))},St.every=function(Et){return Et=Math.floor(Et),!isFinite(Et)||!(Et>0)?null:Et>1?St.filter(Lt?function(dt){return Lt(dt)%Et===0}:function(dt){return St.count(0,dt)%Et===0}):St}),St}var i=n(function(){},function(Ke,xt){Ke.setTime(+Ke+xt)},function(Ke,xt){return xt-Ke});i.every=function(Ke){return Ke=Math.floor(Ke),!isFinite(Ke)||!(Ke>0)?null:Ke>1?n(function(xt){xt.setTime(Math.floor(xt/Ke)*Ke)},function(xt,bt){xt.setTime(+xt+bt*Ke)},function(xt,bt){return(bt-xt)/Ke}):i};var a=i.range,o=1e3,s=6e4,l=36e5,u=864e5,c=6048e5,f=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds())},function(Ke,xt){Ke.setTime(+Ke+xt*o)},function(Ke,xt){return(xt-Ke)/o},function(Ke){return Ke.getUTCSeconds()}),h=f.range,d=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds()-Ke.getSeconds()*o)},function(Ke,xt){Ke.setTime(+Ke+xt*s)},function(Ke,xt){return(xt-Ke)/s},function(Ke){return Ke.getMinutes()}),v=d.range,x=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds()-Ke.getSeconds()*o-Ke.getMinutes()*s)},function(Ke,xt){Ke.setTime(+Ke+xt*l)},function(Ke,xt){return(xt-Ke)/l},function(Ke){return Ke.getHours()}),b=x.range,p=n(function(Ke){Ke.setHours(0,0,0,0)},function(Ke,xt){Ke.setDate(Ke.getDate()+xt)},function(Ke,xt){return(xt-Ke-(xt.getTimezoneOffset()-Ke.getTimezoneOffset())*s)/u},function(Ke){return Ke.getDate()-1}),E=p.range;function k(Ke){return n(function(xt){xt.setDate(xt.getDate()-(xt.getDay()+7-Ke)%7),xt.setHours(0,0,0,0)},function(xt,bt){xt.setDate(xt.getDate()+bt*7)},function(xt,bt){return(bt-xt-(bt.getTimezoneOffset()-xt.getTimezoneOffset())*s)/c})}var A=k(0),L=k(1),_=k(2),C=k(3),M=k(4),g=k(5),P=k(6),T=A.range,F=L.range,q=_.range,V=C.range,H=M.range,X=g.range,G=P.range,N=n(function(Ke){Ke.setDate(1),Ke.setHours(0,0,0,0)},function(Ke,xt){Ke.setMonth(Ke.getMonth()+xt)},function(Ke,xt){return xt.getMonth()-Ke.getMonth()+(xt.getFullYear()-Ke.getFullYear())*12},function(Ke){return Ke.getMonth()}),W=N.range,re=n(function(Ke){Ke.setMonth(0,1),Ke.setHours(0,0,0,0)},function(Ke,xt){Ke.setFullYear(Ke.getFullYear()+xt)},function(Ke,xt){return xt.getFullYear()-Ke.getFullYear()},function(Ke){return Ke.getFullYear()});re.every=function(Ke){return!isFinite(Ke=Math.floor(Ke))||!(Ke>0)?null:n(function(xt){xt.setFullYear(Math.floor(xt.getFullYear()/Ke)*Ke),xt.setMonth(0,1),xt.setHours(0,0,0,0)},function(xt,bt){xt.setFullYear(xt.getFullYear()+bt*Ke)})};var ae=re.range,_e=n(function(Ke){Ke.setUTCSeconds(0,0)},function(Ke,xt){Ke.setTime(+Ke+xt*s)},function(Ke,xt){return(xt-Ke)/s},function(Ke){return Ke.getUTCMinutes()}),Me=_e.range,ke=n(function(Ke){Ke.setUTCMinutes(0,0,0)},function(Ke,xt){Ke.setTime(+Ke+xt*l)},function(Ke,xt){return(xt-Ke)/l},function(Ke){return Ke.getUTCHours()}),ge=ke.range,ie=n(function(Ke){Ke.setUTCHours(0,0,0,0)},function(Ke,xt){Ke.setUTCDate(Ke.getUTCDate()+xt)},function(Ke,xt){return(xt-Ke)/u},function(Ke){return Ke.getUTCDate()-1}),Te=ie.range;function Ee(Ke){return n(function(xt){xt.setUTCDate(xt.getUTCDate()-(xt.getUTCDay()+7-Ke)%7),xt.setUTCHours(0,0,0,0)},function(xt,bt){xt.setUTCDate(xt.getUTCDate()+bt*7)},function(xt,bt){return(bt-xt)/c})}var Ae=Ee(0),ze=Ee(1),Ce=Ee(2),me=Ee(3),Re=Ee(4),ce=Ee(5),Ge=Ee(6),nt=Ae.range,ct=ze.range,qt=Ce.range,rt=me.range,ot=Re.range,Rt=ce.range,kt=Ge.range,Ct=n(function(Ke){Ke.setUTCDate(1),Ke.setUTCHours(0,0,0,0)},function(Ke,xt){Ke.setUTCMonth(Ke.getUTCMonth()+xt)},function(Ke,xt){return xt.getUTCMonth()-Ke.getUTCMonth()+(xt.getUTCFullYear()-Ke.getUTCFullYear())*12},function(Ke){return Ke.getUTCMonth()}),Yt=Ct.range,xr=n(function(Ke){Ke.setUTCMonth(0,1),Ke.setUTCHours(0,0,0,0)},function(Ke,xt){Ke.setUTCFullYear(Ke.getUTCFullYear()+xt)},function(Ke,xt){return xt.getUTCFullYear()-Ke.getUTCFullYear()},function(Ke){return Ke.getUTCFullYear()});xr.every=function(Ke){return!isFinite(Ke=Math.floor(Ke))||!(Ke>0)?null:n(function(xt){xt.setUTCFullYear(Math.floor(xt.getUTCFullYear()/Ke)*Ke),xt.setUTCMonth(0,1),xt.setUTCHours(0,0,0,0)},function(xt,bt){xt.setUTCFullYear(xt.getUTCFullYear()+bt*Ke)})};var er=xr.range;e.timeDay=p,e.timeDays=E,e.timeFriday=g,e.timeFridays=X,e.timeHour=x,e.timeHours=b,e.timeInterval=n,e.timeMillisecond=i,e.timeMilliseconds=a,e.timeMinute=d,e.timeMinutes=v,e.timeMonday=L,e.timeMondays=F,e.timeMonth=N,e.timeMonths=W,e.timeSaturday=P,e.timeSaturdays=G,e.timeSecond=f,e.timeSeconds=h,e.timeSunday=A,e.timeSundays=T,e.timeThursday=M,e.timeThursdays=H,e.timeTuesday=_,e.timeTuesdays=q,e.timeWednesday=C,e.timeWednesdays=V,e.timeWeek=A,e.timeWeeks=T,e.timeYear=re,e.timeYears=ae,e.utcDay=ie,e.utcDays=Te,e.utcFriday=ce,e.utcFridays=Rt,e.utcHour=ke,e.utcHours=ge,e.utcMillisecond=i,e.utcMilliseconds=a,e.utcMinute=_e,e.utcMinutes=Me,e.utcMonday=ze,e.utcMondays=ct,e.utcMonth=Ct,e.utcMonths=Yt,e.utcSaturday=Ge,e.utcSaturdays=kt,e.utcSecond=f,e.utcSeconds=h,e.utcSunday=Ae,e.utcSundays=nt,e.utcThursday=Re,e.utcThursdays=ot,e.utcTuesday=Ce,e.utcTuesdays=qt,e.utcWednesday=me,e.utcWednesdays=rt,e.utcWeek=Ae,e.utcWeeks=nt,e.utcYear=xr,e.utcYears=er,Object.defineProperty(e,\"__esModule\",{value:!0})})});var e3=ye((n6,aee)=>{(function(e,t){typeof n6==\"object\"&&typeof aee!=\"undefined\"?t(n6,dq()):(e=e||self,t(e.d3=e.d3||{},e.d3))})(n6,function(e,t){\"use strict\";function r(Ne){if(0<=Ne.y&&Ne.y<100){var Ye=new Date(-1,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L);return Ye.setFullYear(Ne.y),Ye}return new Date(Ne.y,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L)}function n(Ne){if(0<=Ne.y&&Ne.y<100){var Ye=new Date(Date.UTC(-1,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L));return Ye.setUTCFullYear(Ne.y),Ye}return new Date(Date.UTC(Ne.y,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L))}function i(Ne,Ye,Ve){return{y:Ne,m:Ye,d:Ve,H:0,M:0,S:0,L:0}}function a(Ne){var Ye=Ne.dateTime,Ve=Ne.date,Xe=Ne.time,ht=Ne.periods,Le=Ne.days,xe=Ne.shortDays,Se=Ne.months,lt=Ne.shortMonths,Gt=h(ht),Vt=d(ht),ar=h(Le),Qr=d(Le),ai=h(xe),jr=d(xe),ri=h(Se),bi=d(Se),nn=h(lt),Wi=d(lt),Ni={a:Si,A:Mi,b:Pi,B:Gi,c:null,d:N,e:N,f:Me,H:W,I:re,j:ae,L:_e,m:ke,M:ge,p:Ki,q:ka,Q:dt,s:Ht,S:ie,u:Te,U:Ee,V:Ae,w:ze,W:Ce,x:null,X:null,y:me,Y:Re,Z:ce,\"%\":Et},_n={a:jn,A:la,b:Fa,B:Ra,c:null,d:Ge,e:Ge,f:ot,H:nt,I:ct,j:qt,L:rt,m:Rt,M:kt,p:jo,q:oa,Q:dt,s:Ht,S:Ct,u:Yt,U:xr,V:er,w:Ke,W:xt,x:null,X:null,y:bt,Y:Lt,Z:St,\"%\":Et},$i={a:jt,A:Zt,b:yr,B:Fr,c:Zr,d:M,e:M,f:V,H:P,I:P,j:g,L:q,m:C,M:T,p:ft,q:_,Q:X,s:G,S:F,u:x,U:b,V:p,w:v,W:E,x:Vr,X:gi,y:A,Y:k,Z:L,\"%\":H};Ni.x=zn(Ve,Ni),Ni.X=zn(Xe,Ni),Ni.c=zn(Ye,Ni),_n.x=zn(Ve,_n),_n.X=zn(Xe,_n),_n.c=zn(Ye,_n);function zn(Sn,Ha){return function(oo){var xn=[],_t=-1,br=0,Hr=Sn.length,ti,zi,Yi;for(oo instanceof Date||(oo=new Date(+oo));++_t<Hr;)Sn.charCodeAt(_t)===37&&(xn.push(Sn.slice(br,_t)),(zi=o[ti=Sn.charAt(++_t)])!=null?ti=Sn.charAt(++_t):zi=ti===\"e\"?\" \":\"0\",(Yi=Ha[ti])&&(ti=Yi(oo,zi)),xn.push(ti),br=_t+1);return xn.push(Sn.slice(br,_t)),xn.join(\"\")}}function Wn(Sn,Ha){return function(oo){var xn=i(1900,void 0,1),_t=It(xn,Sn,oo+=\"\",0),br,Hr;if(_t!=oo.length)return null;if(\"Q\"in xn)return new Date(xn.Q);if(\"s\"in xn)return new Date(xn.s*1e3+(\"L\"in xn?xn.L:0));if(Ha&&!(\"Z\"in xn)&&(xn.Z=0),\"p\"in xn&&(xn.H=xn.H%12+xn.p*12),xn.m===void 0&&(xn.m=\"q\"in xn?xn.q:0),\"V\"in xn){if(xn.V<1||xn.V>53)return null;\"w\"in xn||(xn.w=1),\"Z\"in xn?(br=n(i(xn.y,0,1)),Hr=br.getUTCDay(),br=Hr>4||Hr===0?t.utcMonday.ceil(br):t.utcMonday(br),br=t.utcDay.offset(br,(xn.V-1)*7),xn.y=br.getUTCFullYear(),xn.m=br.getUTCMonth(),xn.d=br.getUTCDate()+(xn.w+6)%7):(br=r(i(xn.y,0,1)),Hr=br.getDay(),br=Hr>4||Hr===0?t.timeMonday.ceil(br):t.timeMonday(br),br=t.timeDay.offset(br,(xn.V-1)*7),xn.y=br.getFullYear(),xn.m=br.getMonth(),xn.d=br.getDate()+(xn.w+6)%7)}else(\"W\"in xn||\"U\"in xn)&&(\"w\"in xn||(xn.w=\"u\"in xn?xn.u%7:\"W\"in xn?1:0),Hr=\"Z\"in xn?n(i(xn.y,0,1)).getUTCDay():r(i(xn.y,0,1)).getDay(),xn.m=0,xn.d=\"W\"in xn?(xn.w+6)%7+xn.W*7-(Hr+5)%7:xn.w+xn.U*7-(Hr+6)%7);return\"Z\"in xn?(xn.H+=xn.Z/100|0,xn.M+=xn.Z%100,n(xn)):r(xn)}}function It(Sn,Ha,oo,xn){for(var _t=0,br=Ha.length,Hr=oo.length,ti,zi;_t<br;){if(xn>=Hr)return-1;if(ti=Ha.charCodeAt(_t++),ti===37){if(ti=Ha.charAt(_t++),zi=$i[ti in o?Ha.charAt(_t++):ti],!zi||(xn=zi(Sn,oo,xn))<0)return-1}else if(ti!=oo.charCodeAt(xn++))return-1}return xn}function ft(Sn,Ha,oo){var xn=Gt.exec(Ha.slice(oo));return xn?(Sn.p=Vt[xn[0].toLowerCase()],oo+xn[0].length):-1}function jt(Sn,Ha,oo){var xn=ai.exec(Ha.slice(oo));return xn?(Sn.w=jr[xn[0].toLowerCase()],oo+xn[0].length):-1}function Zt(Sn,Ha,oo){var xn=ar.exec(Ha.slice(oo));return xn?(Sn.w=Qr[xn[0].toLowerCase()],oo+xn[0].length):-1}function yr(Sn,Ha,oo){var xn=nn.exec(Ha.slice(oo));return xn?(Sn.m=Wi[xn[0].toLowerCase()],oo+xn[0].length):-1}function Fr(Sn,Ha,oo){var xn=ri.exec(Ha.slice(oo));return xn?(Sn.m=bi[xn[0].toLowerCase()],oo+xn[0].length):-1}function Zr(Sn,Ha,oo){return It(Sn,Ye,Ha,oo)}function Vr(Sn,Ha,oo){return It(Sn,Ve,Ha,oo)}function gi(Sn,Ha,oo){return It(Sn,Xe,Ha,oo)}function Si(Sn){return xe[Sn.getDay()]}function Mi(Sn){return Le[Sn.getDay()]}function Pi(Sn){return lt[Sn.getMonth()]}function Gi(Sn){return Se[Sn.getMonth()]}function Ki(Sn){return ht[+(Sn.getHours()>=12)]}function ka(Sn){return 1+~~(Sn.getMonth()/3)}function jn(Sn){return xe[Sn.getUTCDay()]}function la(Sn){return Le[Sn.getUTCDay()]}function Fa(Sn){return lt[Sn.getUTCMonth()]}function Ra(Sn){return Se[Sn.getUTCMonth()]}function jo(Sn){return ht[+(Sn.getUTCHours()>=12)]}function oa(Sn){return 1+~~(Sn.getUTCMonth()/3)}return{format:function(Sn){var Ha=zn(Sn+=\"\",Ni);return Ha.toString=function(){return Sn},Ha},parse:function(Sn){var Ha=Wn(Sn+=\"\",!1);return Ha.toString=function(){return Sn},Ha},utcFormat:function(Sn){var Ha=zn(Sn+=\"\",_n);return Ha.toString=function(){return Sn},Ha},utcParse:function(Sn){var Ha=Wn(Sn+=\"\",!0);return Ha.toString=function(){return Sn},Ha}}}var o={\"-\":\"\",_:\" \",0:\"0\"},s=/^\\s*\\d+/,l=/^%/,u=/[\\\\^$*+?|[\\]().{}]/g;function c(Ne,Ye,Ve){var Xe=Ne<0?\"-\":\"\",ht=(Xe?-Ne:Ne)+\"\",Le=ht.length;return Xe+(Le<Ve?new Array(Ve-Le+1).join(Ye)+ht:ht)}function f(Ne){return Ne.replace(u,\"\\\\$&\")}function h(Ne){return new RegExp(\"^(?:\"+Ne.map(f).join(\"|\")+\")\",\"i\")}function d(Ne){for(var Ye={},Ve=-1,Xe=Ne.length;++Ve<Xe;)Ye[Ne[Ve].toLowerCase()]=Ve;return Ye}function v(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+1));return Xe?(Ne.w=+Xe[0],Ve+Xe[0].length):-1}function x(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+1));return Xe?(Ne.u=+Xe[0],Ve+Xe[0].length):-1}function b(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.U=+Xe[0],Ve+Xe[0].length):-1}function p(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.V=+Xe[0],Ve+Xe[0].length):-1}function E(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.W=+Xe[0],Ve+Xe[0].length):-1}function k(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+4));return Xe?(Ne.y=+Xe[0],Ve+Xe[0].length):-1}function A(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.y=+Xe[0]+(+Xe[0]>68?1900:2e3),Ve+Xe[0].length):-1}function L(Ne,Ye,Ve){var Xe=/^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(Ye.slice(Ve,Ve+6));return Xe?(Ne.Z=Xe[1]?0:-(Xe[2]+(Xe[3]||\"00\")),Ve+Xe[0].length):-1}function _(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+1));return Xe?(Ne.q=Xe[0]*3-3,Ve+Xe[0].length):-1}function C(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.m=Xe[0]-1,Ve+Xe[0].length):-1}function M(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.d=+Xe[0],Ve+Xe[0].length):-1}function g(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+3));return Xe?(Ne.m=0,Ne.d=+Xe[0],Ve+Xe[0].length):-1}function P(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.H=+Xe[0],Ve+Xe[0].length):-1}function T(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.M=+Xe[0],Ve+Xe[0].length):-1}function F(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.S=+Xe[0],Ve+Xe[0].length):-1}function q(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+3));return Xe?(Ne.L=+Xe[0],Ve+Xe[0].length):-1}function V(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+6));return Xe?(Ne.L=Math.floor(Xe[0]/1e3),Ve+Xe[0].length):-1}function H(Ne,Ye,Ve){var Xe=l.exec(Ye.slice(Ve,Ve+1));return Xe?Ve+Xe[0].length:-1}function X(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve));return Xe?(Ne.Q=+Xe[0],Ve+Xe[0].length):-1}function G(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve));return Xe?(Ne.s=+Xe[0],Ve+Xe[0].length):-1}function N(Ne,Ye){return c(Ne.getDate(),Ye,2)}function W(Ne,Ye){return c(Ne.getHours(),Ye,2)}function re(Ne,Ye){return c(Ne.getHours()%12||12,Ye,2)}function ae(Ne,Ye){return c(1+t.timeDay.count(t.timeYear(Ne),Ne),Ye,3)}function _e(Ne,Ye){return c(Ne.getMilliseconds(),Ye,3)}function Me(Ne,Ye){return _e(Ne,Ye)+\"000\"}function ke(Ne,Ye){return c(Ne.getMonth()+1,Ye,2)}function ge(Ne,Ye){return c(Ne.getMinutes(),Ye,2)}function ie(Ne,Ye){return c(Ne.getSeconds(),Ye,2)}function Te(Ne){var Ye=Ne.getDay();return Ye===0?7:Ye}function Ee(Ne,Ye){return c(t.timeSunday.count(t.timeYear(Ne)-1,Ne),Ye,2)}function Ae(Ne,Ye){var Ve=Ne.getDay();return Ne=Ve>=4||Ve===0?t.timeThursday(Ne):t.timeThursday.ceil(Ne),c(t.timeThursday.count(t.timeYear(Ne),Ne)+(t.timeYear(Ne).getDay()===4),Ye,2)}function ze(Ne){return Ne.getDay()}function Ce(Ne,Ye){return c(t.timeMonday.count(t.timeYear(Ne)-1,Ne),Ye,2)}function me(Ne,Ye){return c(Ne.getFullYear()%100,Ye,2)}function Re(Ne,Ye){return c(Ne.getFullYear()%1e4,Ye,4)}function ce(Ne){var Ye=Ne.getTimezoneOffset();return(Ye>0?\"-\":(Ye*=-1,\"+\"))+c(Ye/60|0,\"0\",2)+c(Ye%60,\"0\",2)}function Ge(Ne,Ye){return c(Ne.getUTCDate(),Ye,2)}function nt(Ne,Ye){return c(Ne.getUTCHours(),Ye,2)}function ct(Ne,Ye){return c(Ne.getUTCHours()%12||12,Ye,2)}function qt(Ne,Ye){return c(1+t.utcDay.count(t.utcYear(Ne),Ne),Ye,3)}function rt(Ne,Ye){return c(Ne.getUTCMilliseconds(),Ye,3)}function ot(Ne,Ye){return rt(Ne,Ye)+\"000\"}function Rt(Ne,Ye){return c(Ne.getUTCMonth()+1,Ye,2)}function kt(Ne,Ye){return c(Ne.getUTCMinutes(),Ye,2)}function Ct(Ne,Ye){return c(Ne.getUTCSeconds(),Ye,2)}function Yt(Ne){var Ye=Ne.getUTCDay();return Ye===0?7:Ye}function xr(Ne,Ye){return c(t.utcSunday.count(t.utcYear(Ne)-1,Ne),Ye,2)}function er(Ne,Ye){var Ve=Ne.getUTCDay();return Ne=Ve>=4||Ve===0?t.utcThursday(Ne):t.utcThursday.ceil(Ne),c(t.utcThursday.count(t.utcYear(Ne),Ne)+(t.utcYear(Ne).getUTCDay()===4),Ye,2)}function Ke(Ne){return Ne.getUTCDay()}function xt(Ne,Ye){return c(t.utcMonday.count(t.utcYear(Ne)-1,Ne),Ye,2)}function bt(Ne,Ye){return c(Ne.getUTCFullYear()%100,Ye,2)}function Lt(Ne,Ye){return c(Ne.getUTCFullYear()%1e4,Ye,4)}function St(){return\"+0000\"}function Et(){return\"%\"}function dt(Ne){return+Ne}function Ht(Ne){return Math.floor(+Ne/1e3)}var $t;fr({dateTime:\"%x, %X\",date:\"%-m/%-d/%Y\",time:\"%-I:%M:%S %p\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]});function fr(Ne){return $t=a(Ne),e.timeFormat=$t.format,e.timeParse=$t.parse,e.utcFormat=$t.utcFormat,e.utcParse=$t.utcParse,$t}var _r=\"%Y-%m-%dT%H:%M:%S.%LZ\";function Br(Ne){return Ne.toISOString()}var Or=Date.prototype.toISOString?Br:e.utcFormat(_r);function Nr(Ne){var Ye=new Date(Ne);return isNaN(Ye)?null:Ye}var ut=+new Date(\"2000-01-01T00:00:00.000Z\")?Nr:e.utcParse(_r);e.isoFormat=Or,e.isoParse=ut,e.timeFormatDefaultLocale=fr,e.timeFormatLocale=a,Object.defineProperty(e,\"__esModule\",{value:!0})})});var vq=ye((a6,oee)=>{(function(e,t){typeof a6==\"object\"&&typeof oee!=\"undefined\"?t(a6):(e=typeof globalThis!=\"undefined\"?globalThis:e||self,t(e.d3=e.d3||{}))})(a6,function(e){\"use strict\";function t(C){return Math.abs(C=Math.round(C))>=1e21?C.toLocaleString(\"en\").replace(/,/g,\"\"):C.toString(10)}function r(C,M){if((g=(C=M?C.toExponential(M-1):C.toExponential()).indexOf(\"e\"))<0)return null;var g,P=C.slice(0,g);return[P.length>1?P[0]+P.slice(2):P,+C.slice(g+1)]}function n(C){return C=r(Math.abs(C)),C?C[1]:NaN}function i(C,M){return function(g,P){for(var T=g.length,F=[],q=0,V=C[0],H=0;T>0&&V>0&&(H+V+1>P&&(V=Math.max(1,P-H)),F.push(g.substring(T-=V,T+V)),!((H+=V+1)>P));)V=C[q=(q+1)%C.length];return F.reverse().join(M)}}function a(C){return function(M){return M.replace(/[0-9]/g,function(g){return C[+g]})}}var o=/^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;function s(C){if(!(M=o.exec(C)))throw new Error(\"invalid format: \"+C);var M;return new l({fill:M[1],align:M[2],sign:M[3],symbol:M[4],zero:M[5],width:M[6],comma:M[7],precision:M[8]&&M[8].slice(1),trim:M[9],type:M[10]})}s.prototype=l.prototype;function l(C){this.fill=C.fill===void 0?\" \":C.fill+\"\",this.align=C.align===void 0?\">\":C.align+\"\",this.sign=C.sign===void 0?\"-\":C.sign+\"\",this.symbol=C.symbol===void 0?\"\":C.symbol+\"\",this.zero=!!C.zero,this.width=C.width===void 0?void 0:+C.width,this.comma=!!C.comma,this.precision=C.precision===void 0?void 0:+C.precision,this.trim=!!C.trim,this.type=C.type===void 0?\"\":C.type+\"\"}l.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?\"0\":\"\")+(this.width===void 0?\"\":Math.max(1,this.width|0))+(this.comma?\",\":\"\")+(this.precision===void 0?\"\":\".\"+Math.max(0,this.precision|0))+(this.trim?\"~\":\"\")+this.type};function u(C){e:for(var M=C.length,g=1,P=-1,T;g<M;++g)switch(C[g]){case\".\":P=T=g;break;case\"0\":P===0&&(P=g),T=g;break;default:if(!+C[g])break e;P>0&&(P=0);break}return P>0?C.slice(0,P)+C.slice(T+1):C}var c;function f(C,M){var g=r(C,M);if(!g)return C+\"\";var P=g[0],T=g[1],F=T-(c=Math.max(-8,Math.min(8,Math.floor(T/3)))*3)+1,q=P.length;return F===q?P:F>q?P+new Array(F-q+1).join(\"0\"):F>0?P.slice(0,F)+\".\"+P.slice(F):\"0.\"+new Array(1-F).join(\"0\")+r(C,Math.max(0,M+F-1))[0]}function h(C,M){var g=r(C,M);if(!g)return C+\"\";var P=g[0],T=g[1];return T<0?\"0.\"+new Array(-T).join(\"0\")+P:P.length>T+1?P.slice(0,T+1)+\".\"+P.slice(T+1):P+new Array(T-P.length+2).join(\"0\")}var d={\"%\":function(C,M){return(C*100).toFixed(M)},b:function(C){return Math.round(C).toString(2)},c:function(C){return C+\"\"},d:t,e:function(C,M){return C.toExponential(M)},f:function(C,M){return C.toFixed(M)},g:function(C,M){return C.toPrecision(M)},o:function(C){return Math.round(C).toString(8)},p:function(C,M){return h(C*100,M)},r:h,s:f,X:function(C){return Math.round(C).toString(16).toUpperCase()},x:function(C){return Math.round(C).toString(16)}};function v(C){return C}var x=Array.prototype.map,b=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"\\xB5\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];function p(C){var M=C.grouping===void 0||C.thousands===void 0?v:i(x.call(C.grouping,Number),C.thousands+\"\"),g=C.currency===void 0?\"\":C.currency[0]+\"\",P=C.currency===void 0?\"\":C.currency[1]+\"\",T=C.decimal===void 0?\".\":C.decimal+\"\",F=C.numerals===void 0?v:a(x.call(C.numerals,String)),q=C.percent===void 0?\"%\":C.percent+\"\",V=C.minus===void 0?\"-\":C.minus+\"\",H=C.nan===void 0?\"NaN\":C.nan+\"\";function X(N){N=s(N);var W=N.fill,re=N.align,ae=N.sign,_e=N.symbol,Me=N.zero,ke=N.width,ge=N.comma,ie=N.precision,Te=N.trim,Ee=N.type;Ee===\"n\"?(ge=!0,Ee=\"g\"):d[Ee]||(ie===void 0&&(ie=12),Te=!0,Ee=\"g\"),(Me||W===\"0\"&&re===\"=\")&&(Me=!0,W=\"0\",re=\"=\");var Ae=_e===\"$\"?g:_e===\"#\"&&/[boxX]/.test(Ee)?\"0\"+Ee.toLowerCase():\"\",ze=_e===\"$\"?P:/[%p]/.test(Ee)?q:\"\",Ce=d[Ee],me=/[defgprs%]/.test(Ee);ie=ie===void 0?6:/[gprs]/.test(Ee)?Math.max(1,Math.min(21,ie)):Math.max(0,Math.min(20,ie));function Re(ce){var Ge=Ae,nt=ze,ct,qt,rt;if(Ee===\"c\")nt=Ce(ce)+nt,ce=\"\";else{ce=+ce;var ot=ce<0||1/ce<0;if(ce=isNaN(ce)?H:Ce(Math.abs(ce),ie),Te&&(ce=u(ce)),ot&&+ce==0&&ae!==\"+\"&&(ot=!1),Ge=(ot?ae===\"(\"?ae:V:ae===\"-\"||ae===\"(\"?\"\":ae)+Ge,nt=(Ee===\"s\"?b[8+c/3]:\"\")+nt+(ot&&ae===\"(\"?\")\":\"\"),me){for(ct=-1,qt=ce.length;++ct<qt;)if(rt=ce.charCodeAt(ct),48>rt||rt>57){nt=(rt===46?T+ce.slice(ct+1):ce.slice(ct))+nt,ce=ce.slice(0,ct);break}}}ge&&!Me&&(ce=M(ce,1/0));var Rt=Ge.length+ce.length+nt.length,kt=Rt<ke?new Array(ke-Rt+1).join(W):\"\";switch(ge&&Me&&(ce=M(kt+ce,kt.length?ke-nt.length:1/0),kt=\"\"),re){case\"<\":ce=Ge+ce+nt+kt;break;case\"=\":ce=Ge+kt+ce+nt;break;case\"^\":ce=kt.slice(0,Rt=kt.length>>1)+Ge+ce+nt+kt.slice(Rt);break;default:ce=kt+Ge+ce+nt;break}return F(ce)}return Re.toString=function(){return N+\"\"},Re}function G(N,W){var re=X((N=s(N),N.type=\"f\",N)),ae=Math.max(-8,Math.min(8,Math.floor(n(W)/3)))*3,_e=Math.pow(10,-ae),Me=b[8+ae/3];return function(ke){return re(_e*ke)+Me}}return{format:X,formatPrefix:G}}var E;k({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],minus:\"-\"});function k(C){return E=p(C),e.format=E.format,e.formatPrefix=E.formatPrefix,E}function A(C){return Math.max(0,-n(Math.abs(C)))}function L(C,M){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(n(M)/3)))*3-n(Math.abs(C)))}function _(C,M){return C=Math.abs(C),M=Math.abs(M)-C,Math.max(0,n(M)-n(C))+1}e.FormatSpecifier=l,e.formatDefaultLocale=k,e.formatLocale=p,e.formatSpecifier=s,e.precisionFixed=A,e.precisionPrefix=L,e.precisionRound=_,Object.defineProperty(e,\"__esModule\",{value:!0})})});var lee=ye((OQt,see)=>{\"use strict\";see.exports=function(e){for(var t=e.length,r,n=0;n<t;n++)if(r=e.charCodeAt(n),(r<9||r>13)&&r!==32&&r!==133&&r!==160&&r!==5760&&r!==6158&&(r<8192||r>8205)&&r!==8232&&r!==8233&&r!==8239&&r!==8287&&r!==8288&&r!==12288&&r!==65279)return!1;return!0}});var uo=ye((BQt,uee)=>{\"use strict\";var KQe=lee();uee.exports=function(e){var t=typeof e;if(t===\"string\"){var r=e;if(e=+e,e===0&&KQe(r))return!1}else if(t!==\"number\")return!1;return e-e<1}});var es=ye((NQt,cee)=>{\"use strict\";cee.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE*1e-4,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:24405875e-1,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:\"\\u2212\"}});var pq=ye((o6,fee)=>{(function(e,t){typeof o6==\"object\"&&typeof fee!=\"undefined\"?t(o6):(e=typeof globalThis!=\"undefined\"?globalThis:e||self,t(e[\"base64-arraybuffer\"]={}))})(o6,function(e){\"use strict\";for(var t=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",r=typeof Uint8Array==\"undefined\"?[]:new Uint8Array(256),n=0;n<t.length;n++)r[t.charCodeAt(n)]=n;var i=function(o){var s=new Uint8Array(o),l,u=s.length,c=\"\";for(l=0;l<u;l+=3)c+=t[s[l]>>2],c+=t[(s[l]&3)<<4|s[l+1]>>4],c+=t[(s[l+1]&15)<<2|s[l+2]>>6],c+=t[s[l+2]&63];return u%3===2?c=c.substring(0,c.length-1)+\"=\":u%3===1&&(c=c.substring(0,c.length-2)+\"==\"),c},a=function(o){var s=o.length*.75,l=o.length,u,c=0,f,h,d,v;o[o.length-1]===\"=\"&&(s--,o[o.length-2]===\"=\"&&s--);var x=new ArrayBuffer(s),b=new Uint8Array(x);for(u=0;u<l;u+=4)f=r[o.charCodeAt(u)],h=r[o.charCodeAt(u+1)],d=r[o.charCodeAt(u+2)],v=r[o.charCodeAt(u+3)],b[c++]=f<<2|h>>4,b[c++]=(h&15)<<4|d>>2,b[c++]=(d&3)<<6|v&63;return x};e.decode=a,e.encode=i,Object.defineProperty(e,\"__esModule\",{value:!0})})});var gy=ye((UQt,hee)=>{\"use strict\";hee.exports=function(t){return window&&window.process&&window.process.versions?Object.prototype.toString.call(t)===\"[object Object]\":Object.prototype.toString.call(t)===\"[object Object]\"&&Object.getPrototypeOf(t).hasOwnProperty(\"hasOwnProperty\")}});var vv=ye(mg=>{\"use strict\";var JQe=pq().decode,$Qe=gy(),gq=Array.isArray,QQe=ArrayBuffer,eet=DataView;function dee(e){return QQe.isView(e)&&!(e instanceof eet)}mg.isTypedArray=dee;function s6(e){return gq(e)||dee(e)}mg.isArrayOrTypedArray=s6;function tet(e){return!s6(e[0])}mg.isArray1D=tet;mg.ensureArray=function(e,t){return gq(e)||(e=[]),e.length=t,e};var Md={u1c:typeof Uint8ClampedArray==\"undefined\"?void 0:Uint8ClampedArray,i1:typeof Int8Array==\"undefined\"?void 0:Int8Array,u1:typeof Uint8Array==\"undefined\"?void 0:Uint8Array,i2:typeof Int16Array==\"undefined\"?void 0:Int16Array,u2:typeof Uint16Array==\"undefined\"?void 0:Uint16Array,i4:typeof Int32Array==\"undefined\"?void 0:Int32Array,u4:typeof Uint32Array==\"undefined\"?void 0:Uint32Array,f4:typeof Float32Array==\"undefined\"?void 0:Float32Array,f8:typeof Float64Array==\"undefined\"?void 0:Float64Array};Md.uint8c=Md.u1c;Md.uint8=Md.u1;Md.int8=Md.i1;Md.uint16=Md.u2;Md.int16=Md.i2;Md.uint32=Md.u4;Md.int32=Md.i4;Md.float32=Md.f4;Md.float64=Md.f8;function mq(e){return e.constructor===ArrayBuffer}mg.isArrayBuffer=mq;mg.decodeTypedArraySpec=function(e){var t=[],r=ret(e),n=r.dtype,i=Md[n];if(!i)throw new Error('Error in dtype: \"'+n+'\"');var a=i.BYTES_PER_ELEMENT,o=r.bdata;mq(o)||(o=JQe(o));var s=r.shape===void 0?[o.byteLength/a]:(\"\"+r.shape).split(\",\");s.reverse();var l=s.length,u,c,f=+s[0],h=a*f,d=0;if(l===1)t=new i(o);else if(l===2)for(u=+s[1],c=0;c<u;c++)t[c]=new i(o,d,f),d+=h;else if(l===3){u=+s[1];for(var v=+s[2],x=0;x<v;x++)for(t[x]=[],c=0;c<u;c++)t[x][c]=new i(o,d,f),d+=h}else throw new Error(\"ndim: \"+l+'is not supported with the shape:\"'+r.shape+'\"');return t.bdata=r.bdata,t.dtype=r.dtype,t.shape=s.reverse().join(\",\"),e._inputArray=t,t};mg.isTypedArraySpec=function(e){return $Qe(e)&&e.hasOwnProperty(\"dtype\")&&typeof e.dtype==\"string\"&&e.hasOwnProperty(\"bdata\")&&(typeof e.bdata==\"string\"||mq(e.bdata))&&(e.shape===void 0||e.hasOwnProperty(\"shape\")&&(typeof e.shape==\"string\"||typeof e.shape==\"number\"))};function ret(e){return{bdata:e.bdata,dtype:e.dtype,shape:e.shape}}mg.concat=function(){var e=[],t=!0,r=0,n,i,a,o,s,l,u,c;for(a=0;a<arguments.length;a++)o=arguments[a],l=o.length,l&&(i?e.push(o):(i=o,s=l),gq(o)?n=!1:(t=!1,r?n!==o.constructor&&(n=!1):n=o.constructor),r+=l);if(!r)return[];if(!e.length)return i;if(t)return i.concat.apply(i,e);if(n){for(u=new n(r),u.set(i),a=0;a<e.length;a++)o=e[a],u.set(o,s),s+=o.length;return u}for(u=new Array(r),c=0;c<i.length;c++)u[c]=i[c];for(a=0;a<e.length;a++){for(o=e[a],c=0;c<o.length;c++)u[s+c]=o[c];s+=c}return u};mg.maxRowLength=function(e){return vee(e,Math.max,0)};mg.minRowLength=function(e){return vee(e,Math.min,1/0)};function vee(e,t,r){if(s6(e))if(s6(e[0])){for(var n=r,i=0;i<e.length;i++)n=t(n,e[i].length);return n}else return e.length;return 0}});var ES=ye((HQt,_ee)=>{\"use strict\";var pee=uo(),_q=vv().isArrayOrTypedArray;_ee.exports=function(t,r){if(pee(r))r=String(r);else if(typeof r!=\"string\"||r.substr(r.length-4)===\"[-1]\")throw\"bad property string\";var n=r.split(\".\"),i,a,o,s;for(s=0;s<n.length;s++)if(String(n[s]).slice(0,2)===\"__\")throw\"bad property string\";for(s=0;s<n.length;){if(i=String(n[s]).match(/^([^\\[\\]]*)((\\[\\-?[0-9]*\\])+)$/),i){if(i[1])n[s]=i[1];else if(s===0)n.splice(0,1);else throw\"bad property string\";for(a=i[2].substr(1,i[2].length-2).split(\"][\"),o=0;o<a.length;o++)s++,n.splice(s,0,Number(a[o]))}s++}return typeof t!=\"object\"?oet(t,r,n):{set:mee(t,n,r),get:gee(t,n),astr:r,parts:n,obj:t}};function gee(e,t){return function(r){var n=e,i,a,o,s,l;for(s=0;s<t.length-1;s++){if(i=t[s],i===-1){for(a=!0,o=[],l=0;l<n.length;l++)o[l]=gee(n[l],t.slice(s+1))(r),o[l]!==o[0]&&(a=!1);return a?o[0]:o}if(typeof i==\"number\"&&!_q(n)||(n=n[i],typeof n!=\"object\"||n===null))return}if(!(typeof n!=\"object\"||n===null)&&(o=n[t[s]],!(!r&&o===null)))return o}}var iet=/(^|\\.)args\\[/;function yq(e,t){return e===void 0||e===null&&!t.match(iet)}function mee(e,t,r){return function(n){var i=e,a=\"\",o=[[e,a]],s=yq(n,r),l,u;for(u=0;u<t.length-1;u++){if(l=t[u],typeof l==\"number\"&&!_q(i))throw\"array index but container is not an array\";if(l===-1){if(s=!aet(i,t.slice(u+1),n,r),s)break;return}if(!yee(i,l,t[u+1],s))break;if(i=i[l],typeof i!=\"object\"||i===null)throw\"container is not an object\";a=net(a,l),o.push([i,a])}if(s){if(u===t.length-1&&(delete i[t[u]],Array.isArray(i)&&+t[u]===i.length-1))for(;i.length&&i[i.length-1]===void 0;)i.pop()}else i[t[u]]=n}}function net(e,t){var r=t;return pee(t)?r=\"[\"+t+\"]\":e&&(r=\".\"+t),e+r}function aet(e,t,r,n){var i=_q(r),a=!0,o=r,s=n.replace(\"-1\",0),l=i?!1:yq(r,s),u=t[0],c;for(c=0;c<e.length;c++)s=n.replace(\"-1\",c),i&&(o=r[c%r.length],l=yq(o,s)),l&&(a=!1),yee(e,c,u,l)&&mee(e[c],t,n.replace(\"-1\",c))(o);return a}function yee(e,t,r,n){if(e[t]===void 0){if(n)return!1;typeof r==\"number\"?e[t]=[]:e[t]={}}return!0}function oet(e,t,r){return{set:function(){throw\"bad container\"},get:function(){},astr:t,parts:r,obj:e}}});var Tee=ye((GQt,wee)=>{\"use strict\";var t3=ES(),set=/^\\w*$/,uet=0,xee=1,l6=2,bee=3,ob=4;wee.exports=function(t,r,n,i){n=n||\"name\",i=i||\"value\";var a,o,s,l={};r&&r.length?(s=t3(t,r),o=s.get()):o=t,r=r||\"\";var u={};if(o)for(a=0;a<o.length;a++)u[o[a][n]]=a;var c=set.test(i),f={set:function(h,d){var v=d===null?ob:uet;if(!o){if(!s||v===ob)return;o=[],s.set(o)}var x=u[h];if(x===void 0){if(v===ob)return;v=v|bee,x=o.length,u[h]=x}else d!==(c?o[x][i]:t3(o[x],i).get())&&(v=v|l6);var b=o[x]=o[x]||{};return b[n]=h,c?b[i]=d:t3(b,i).set(d),d!==null&&(v=v&~ob),l[x]=l[x]|v,f},get:function(h){if(o){var d=u[h];if(d!==void 0)return c?o[d][i]:t3(o[d],i).get()}},rename:function(h,d){var v=u[h];return v===void 0||(l[v]=l[v]|xee,u[d]=v,delete u[h],o[v][n]=d),f},remove:function(h){var d=u[h];if(d===void 0)return f;var v=o[d];if(Object.keys(v).length>2)return l[d]=l[d]|l6,f.set(h,null);if(c){for(a=d;a<o.length;a++)l[a]=l[a]|bee;for(a=d;a<o.length;a++)u[o[a][n]]--;o.splice(d,1),delete u[h]}else t3(v,i).set(null),l[d]=l[d]|l6|ob;return f},constructUpdate:function(){for(var h,d,v={},x=Object.keys(l),b=0;b<x.length;b++)d=x[b],h=r+\"[\"+d+\"]\",o[d]?(l[d]&xee&&(v[h+\".\"+n]=o[d][n]),l[d]&l6&&(c?v[h+\".\"+i]=l[d]&ob?null:o[d][i]:v[h+\".\"+i]=l[d]&ob?null:t3(o[d],i).get())):v[h]=null;return v}};return f}});var See=ye((jQt,Aee)=>{\"use strict\";var cet=/^(.*)(\\.[^\\.\\[\\]]+|\\[\\d\\])$/,fet=/^[^\\.\\[\\]]+$/;Aee.exports=function(e,t){for(;t;){var r=e.match(cet);if(r)e=r[1];else if(e.match(fet))e=\"\";else throw new Error(\"bad relativeAttr call:\"+[e,t]);if(t.charAt(0)===\"^\")t=t.slice(1);else break}return e&&t.charAt(0)!==\"[\"?e+\".\"+t:e+t}});var u6=ye((WQt,Mee)=>{\"use strict\";var het=uo();Mee.exports=function(t,r){if(t>0)return Math.log(t)/Math.LN10;var n=Math.log(Math.min(r[0],r[1]))/Math.LN10;return het(n)||(n=Math.log(Math.max(r[0],r[1]))/Math.LN10-6),n}});var Cee=ye((ZQt,kee)=>{\"use strict\";var Eee=vv().isArrayOrTypedArray,kS=gy();kee.exports=function e(t,r){for(var n in r){var i=r[n],a=t[n];if(a!==i)if(n.charAt(0)===\"_\"||typeof i==\"function\"){if(n in t)continue;t[n]=i}else if(Eee(i)&&Eee(a)&&kS(i[0])){if(n===\"customdata\"||n===\"ids\")continue;for(var o=Math.min(i.length,a.length),s=0;s<o;s++)a[s]!==i[s]&&kS(i[s])&&kS(a[s])&&e(a[s],i[s])}else kS(i)&&kS(a)&&(e(a,i),Object.keys(a).length||delete t[n])}}});var r3=ye((XQt,Lee)=>{\"use strict\";function det(e,t){var r=e%t;return r<0?r+t:r}function vet(e,t){return Math.abs(e)>t/2?e-Math.round(e/t)*t:e}Lee.exports={mod:det,modHalf:vet}});var id=ye((YQt,c6)=>{(function(e){var t=/^\\s+/,r=/\\s+$/,n=0,i=e.round,a=e.min,o=e.max,s=e.random;function l(me,Re){if(me=me||\"\",Re=Re||{},me instanceof l)return me;if(!(this instanceof l))return new l(me,Re);var ce=u(me);this._originalInput=me,this._r=ce.r,this._g=ce.g,this._b=ce.b,this._a=ce.a,this._roundA=i(100*this._a)/100,this._format=Re.format||ce.format,this._gradientType=Re.gradientType,this._r<1&&(this._r=i(this._r)),this._g<1&&(this._g=i(this._g)),this._b<1&&(this._b=i(this._b)),this._ok=ce.ok,this._tc_id=n++}l.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 me=this.toRgb();return(me.r*299+me.g*587+me.b*114)/1e3},getLuminance:function(){var me=this.toRgb(),Re,ce,Ge,nt,ct,qt;return Re=me.r/255,ce=me.g/255,Ge=me.b/255,Re<=.03928?nt=Re/12.92:nt=e.pow((Re+.055)/1.055,2.4),ce<=.03928?ct=ce/12.92:ct=e.pow((ce+.055)/1.055,2.4),Ge<=.03928?qt=Ge/12.92:qt=e.pow((Ge+.055)/1.055,2.4),.2126*nt+.7152*ct+.0722*qt},setAlpha:function(me){return this._a=N(me),this._roundA=i(100*this._a)/100,this},toHsv:function(){var me=d(this._r,this._g,this._b);return{h:me.h*360,s:me.s,v:me.v,a:this._a}},toHsvString:function(){var me=d(this._r,this._g,this._b),Re=i(me.h*360),ce=i(me.s*100),Ge=i(me.v*100);return this._a==1?\"hsv(\"+Re+\", \"+ce+\"%, \"+Ge+\"%)\":\"hsva(\"+Re+\", \"+ce+\"%, \"+Ge+\"%, \"+this._roundA+\")\"},toHsl:function(){var me=f(this._r,this._g,this._b);return{h:me.h*360,s:me.s,l:me.l,a:this._a}},toHslString:function(){var me=f(this._r,this._g,this._b),Re=i(me.h*360),ce=i(me.s*100),Ge=i(me.l*100);return this._a==1?\"hsl(\"+Re+\", \"+ce+\"%, \"+Ge+\"%)\":\"hsla(\"+Re+\", \"+ce+\"%, \"+Ge+\"%, \"+this._roundA+\")\"},toHex:function(me){return x(this._r,this._g,this._b,me)},toHexString:function(me){return\"#\"+this.toHex(me)},toHex8:function(me){return b(this._r,this._g,this._b,this._a,me)},toHex8String:function(me){return\"#\"+this.toHex8(me)},toRgb:function(){return{r:i(this._r),g:i(this._g),b:i(this._b),a:this._a}},toRgbString:function(){return this._a==1?\"rgb(\"+i(this._r)+\", \"+i(this._g)+\", \"+i(this._b)+\")\":\"rgba(\"+i(this._r)+\", \"+i(this._g)+\", \"+i(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:i(W(this._r,255)*100)+\"%\",g:i(W(this._g,255)*100)+\"%\",b:i(W(this._b,255)*100)+\"%\",a:this._a}},toPercentageRgbString:function(){return this._a==1?\"rgb(\"+i(W(this._r,255)*100)+\"%, \"+i(W(this._g,255)*100)+\"%, \"+i(W(this._b,255)*100)+\"%)\":\"rgba(\"+i(W(this._r,255)*100)+\"%, \"+i(W(this._g,255)*100)+\"%, \"+i(W(this._b,255)*100)+\"%, \"+this._roundA+\")\"},toName:function(){return this._a===0?\"transparent\":this._a<1?!1:X[x(this._r,this._g,this._b,!0)]||!1},toFilter:function(me){var Re=\"#\"+p(this._r,this._g,this._b,this._a),ce=Re,Ge=this._gradientType?\"GradientType = 1, \":\"\";if(me){var nt=l(me);ce=\"#\"+p(nt._r,nt._g,nt._b,nt._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+Ge+\"startColorstr=\"+Re+\",endColorstr=\"+ce+\")\"},toString:function(me){var Re=!!me;me=me||this._format;var ce=!1,Ge=this._a<1&&this._a>=0,nt=!Re&&Ge&&(me===\"hex\"||me===\"hex6\"||me===\"hex3\"||me===\"hex4\"||me===\"hex8\"||me===\"name\");return nt?me===\"name\"&&this._a===0?this.toName():this.toRgbString():(me===\"rgb\"&&(ce=this.toRgbString()),me===\"prgb\"&&(ce=this.toPercentageRgbString()),(me===\"hex\"||me===\"hex6\")&&(ce=this.toHexString()),me===\"hex3\"&&(ce=this.toHexString(!0)),me===\"hex4\"&&(ce=this.toHex8String(!0)),me===\"hex8\"&&(ce=this.toHex8String()),me===\"name\"&&(ce=this.toName()),me===\"hsl\"&&(ce=this.toHslString()),me===\"hsv\"&&(ce=this.toHsvString()),ce||this.toHexString())},clone:function(){return l(this.toString())},_applyModification:function(me,Re){var ce=me.apply(null,[this].concat([].slice.call(Re)));return this._r=ce._r,this._g=ce._g,this._b=ce._b,this.setAlpha(ce._a),this},lighten:function(){return this._applyModification(L,arguments)},brighten:function(){return this._applyModification(_,arguments)},darken:function(){return this._applyModification(C,arguments)},desaturate:function(){return this._applyModification(E,arguments)},saturate:function(){return this._applyModification(k,arguments)},greyscale:function(){return this._applyModification(A,arguments)},spin:function(){return this._applyModification(M,arguments)},_applyCombination:function(me,Re){return me.apply(null,[this].concat([].slice.call(Re)))},analogous:function(){return this._applyCombination(q,arguments)},complement:function(){return this._applyCombination(g,arguments)},monochromatic:function(){return this._applyCombination(V,arguments)},splitcomplement:function(){return this._applyCombination(F,arguments)},triad:function(){return this._applyCombination(P,arguments)},tetrad:function(){return this._applyCombination(T,arguments)}},l.fromRatio=function(me,Re){if(typeof me==\"object\"){var ce={};for(var Ge in me)me.hasOwnProperty(Ge)&&(Ge===\"a\"?ce[Ge]=me[Ge]:ce[Ge]=ge(me[Ge]));me=ce}return l(me,Re)};function u(me){var Re={r:0,g:0,b:0},ce=1,Ge=null,nt=null,ct=null,qt=!1,rt=!1;return typeof me==\"string\"&&(me=ze(me)),typeof me==\"object\"&&(Ae(me.r)&&Ae(me.g)&&Ae(me.b)?(Re=c(me.r,me.g,me.b),qt=!0,rt=String(me.r).substr(-1)===\"%\"?\"prgb\":\"rgb\"):Ae(me.h)&&Ae(me.s)&&Ae(me.v)?(Ge=ge(me.s),nt=ge(me.v),Re=v(me.h,Ge,nt),qt=!0,rt=\"hsv\"):Ae(me.h)&&Ae(me.s)&&Ae(me.l)&&(Ge=ge(me.s),ct=ge(me.l),Re=h(me.h,Ge,ct),qt=!0,rt=\"hsl\"),me.hasOwnProperty(\"a\")&&(ce=me.a)),ce=N(ce),{ok:qt,format:me.format||rt,r:a(255,o(Re.r,0)),g:a(255,o(Re.g,0)),b:a(255,o(Re.b,0)),a:ce}}function c(me,Re,ce){return{r:W(me,255)*255,g:W(Re,255)*255,b:W(ce,255)*255}}function f(me,Re,ce){me=W(me,255),Re=W(Re,255),ce=W(ce,255);var Ge=o(me,Re,ce),nt=a(me,Re,ce),ct,qt,rt=(Ge+nt)/2;if(Ge==nt)ct=qt=0;else{var ot=Ge-nt;switch(qt=rt>.5?ot/(2-Ge-nt):ot/(Ge+nt),Ge){case me:ct=(Re-ce)/ot+(Re<ce?6:0);break;case Re:ct=(ce-me)/ot+2;break;case ce:ct=(me-Re)/ot+4;break}ct/=6}return{h:ct,s:qt,l:rt}}function h(me,Re,ce){var Ge,nt,ct;me=W(me,360),Re=W(Re,100),ce=W(ce,100);function qt(Rt,kt,Ct){return Ct<0&&(Ct+=1),Ct>1&&(Ct-=1),Ct<1/6?Rt+(kt-Rt)*6*Ct:Ct<1/2?kt:Ct<2/3?Rt+(kt-Rt)*(2/3-Ct)*6:Rt}if(Re===0)Ge=nt=ct=ce;else{var rt=ce<.5?ce*(1+Re):ce+Re-ce*Re,ot=2*ce-rt;Ge=qt(ot,rt,me+1/3),nt=qt(ot,rt,me),ct=qt(ot,rt,me-1/3)}return{r:Ge*255,g:nt*255,b:ct*255}}function d(me,Re,ce){me=W(me,255),Re=W(Re,255),ce=W(ce,255);var Ge=o(me,Re,ce),nt=a(me,Re,ce),ct,qt,rt=Ge,ot=Ge-nt;if(qt=Ge===0?0:ot/Ge,Ge==nt)ct=0;else{switch(Ge){case me:ct=(Re-ce)/ot+(Re<ce?6:0);break;case Re:ct=(ce-me)/ot+2;break;case ce:ct=(me-Re)/ot+4;break}ct/=6}return{h:ct,s:qt,v:rt}}function v(me,Re,ce){me=W(me,360)*6,Re=W(Re,100),ce=W(ce,100);var Ge=e.floor(me),nt=me-Ge,ct=ce*(1-Re),qt=ce*(1-nt*Re),rt=ce*(1-(1-nt)*Re),ot=Ge%6,Rt=[ce,qt,ct,ct,rt,ce][ot],kt=[rt,ce,ce,qt,ct,ct][ot],Ct=[ct,ct,rt,ce,ce,qt][ot];return{r:Rt*255,g:kt*255,b:Ct*255}}function x(me,Re,ce,Ge){var nt=[ke(i(me).toString(16)),ke(i(Re).toString(16)),ke(i(ce).toString(16))];return Ge&&nt[0].charAt(0)==nt[0].charAt(1)&&nt[1].charAt(0)==nt[1].charAt(1)&&nt[2].charAt(0)==nt[2].charAt(1)?nt[0].charAt(0)+nt[1].charAt(0)+nt[2].charAt(0):nt.join(\"\")}function b(me,Re,ce,Ge,nt){var ct=[ke(i(me).toString(16)),ke(i(Re).toString(16)),ke(i(ce).toString(16)),ke(ie(Ge))];return nt&&ct[0].charAt(0)==ct[0].charAt(1)&&ct[1].charAt(0)==ct[1].charAt(1)&&ct[2].charAt(0)==ct[2].charAt(1)&&ct[3].charAt(0)==ct[3].charAt(1)?ct[0].charAt(0)+ct[1].charAt(0)+ct[2].charAt(0)+ct[3].charAt(0):ct.join(\"\")}function p(me,Re,ce,Ge){var nt=[ke(ie(Ge)),ke(i(me).toString(16)),ke(i(Re).toString(16)),ke(i(ce).toString(16))];return nt.join(\"\")}l.equals=function(me,Re){return!me||!Re?!1:l(me).toRgbString()==l(Re).toRgbString()},l.random=function(){return l.fromRatio({r:s(),g:s(),b:s()})};function E(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toHsl();return ce.s-=Re/100,ce.s=re(ce.s),l(ce)}function k(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toHsl();return ce.s+=Re/100,ce.s=re(ce.s),l(ce)}function A(me){return l(me).desaturate(100)}function L(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toHsl();return ce.l+=Re/100,ce.l=re(ce.l),l(ce)}function _(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toRgb();return ce.r=o(0,a(255,ce.r-i(255*-(Re/100)))),ce.g=o(0,a(255,ce.g-i(255*-(Re/100)))),ce.b=o(0,a(255,ce.b-i(255*-(Re/100)))),l(ce)}function C(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toHsl();return ce.l-=Re/100,ce.l=re(ce.l),l(ce)}function M(me,Re){var ce=l(me).toHsl(),Ge=(ce.h+Re)%360;return ce.h=Ge<0?360+Ge:Ge,l(ce)}function g(me){var Re=l(me).toHsl();return Re.h=(Re.h+180)%360,l(Re)}function P(me){var Re=l(me).toHsl(),ce=Re.h;return[l(me),l({h:(ce+120)%360,s:Re.s,l:Re.l}),l({h:(ce+240)%360,s:Re.s,l:Re.l})]}function T(me){var Re=l(me).toHsl(),ce=Re.h;return[l(me),l({h:(ce+90)%360,s:Re.s,l:Re.l}),l({h:(ce+180)%360,s:Re.s,l:Re.l}),l({h:(ce+270)%360,s:Re.s,l:Re.l})]}function F(me){var Re=l(me).toHsl(),ce=Re.h;return[l(me),l({h:(ce+72)%360,s:Re.s,l:Re.l}),l({h:(ce+216)%360,s:Re.s,l:Re.l})]}function q(me,Re,ce){Re=Re||6,ce=ce||30;var Ge=l(me).toHsl(),nt=360/ce,ct=[l(me)];for(Ge.h=(Ge.h-(nt*Re>>1)+720)%360;--Re;)Ge.h=(Ge.h+nt)%360,ct.push(l(Ge));return ct}function V(me,Re){Re=Re||6;for(var ce=l(me).toHsv(),Ge=ce.h,nt=ce.s,ct=ce.v,qt=[],rt=1/Re;Re--;)qt.push(l({h:Ge,s:nt,v:ct})),ct=(ct+rt)%1;return qt}l.mix=function(me,Re,ce){ce=ce===0?0:ce||50;var Ge=l(me).toRgb(),nt=l(Re).toRgb(),ct=ce/100,qt={r:(nt.r-Ge.r)*ct+Ge.r,g:(nt.g-Ge.g)*ct+Ge.g,b:(nt.b-Ge.b)*ct+Ge.b,a:(nt.a-Ge.a)*ct+Ge.a};return l(qt)},l.readability=function(me,Re){var ce=l(me),Ge=l(Re);return(e.max(ce.getLuminance(),Ge.getLuminance())+.05)/(e.min(ce.getLuminance(),Ge.getLuminance())+.05)},l.isReadable=function(me,Re,ce){var Ge=l.readability(me,Re),nt,ct;switch(ct=!1,nt=Ce(ce),nt.level+nt.size){case\"AAsmall\":case\"AAAlarge\":ct=Ge>=4.5;break;case\"AAlarge\":ct=Ge>=3;break;case\"AAAsmall\":ct=Ge>=7;break}return ct},l.mostReadable=function(me,Re,ce){var Ge=null,nt=0,ct,qt,rt,ot;ce=ce||{},qt=ce.includeFallbackColors,rt=ce.level,ot=ce.size;for(var Rt=0;Rt<Re.length;Rt++)ct=l.readability(me,Re[Rt]),ct>nt&&(nt=ct,Ge=l(Re[Rt]));return l.isReadable(me,Ge,{level:rt,size:ot})||!qt?Ge:(ce.includeFallbackColors=!1,l.mostReadable(me,[\"#fff\",\"#000\"],ce))};var H=l.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\"},X=l.hexNames=G(H);function G(me){var Re={};for(var ce in me)me.hasOwnProperty(ce)&&(Re[me[ce]]=ce);return Re}function N(me){return me=parseFloat(me),(isNaN(me)||me<0||me>1)&&(me=1),me}function W(me,Re){_e(me)&&(me=\"100%\");var ce=Me(me);return me=a(Re,o(0,parseFloat(me))),ce&&(me=parseInt(me*Re,10)/100),e.abs(me-Re)<1e-6?1:me%Re/parseFloat(Re)}function re(me){return a(1,o(0,me))}function ae(me){return parseInt(me,16)}function _e(me){return typeof me==\"string\"&&me.indexOf(\".\")!=-1&&parseFloat(me)===1}function Me(me){return typeof me==\"string\"&&me.indexOf(\"%\")!=-1}function ke(me){return me.length==1?\"0\"+me:\"\"+me}function ge(me){return me<=1&&(me=me*100+\"%\"),me}function ie(me){return e.round(parseFloat(me)*255).toString(16)}function Te(me){return ae(me)/255}var Ee=function(){var me=\"[-\\\\+]?\\\\d+%?\",Re=\"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\",ce=\"(?:\"+Re+\")|(?:\"+me+\")\",Ge=\"[\\\\s|\\\\(]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")\\\\s*\\\\)?\",nt=\"[\\\\s|\\\\(]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")\\\\s*\\\\)?\";return{CSS_UNIT:new RegExp(ce),rgb:new RegExp(\"rgb\"+Ge),rgba:new RegExp(\"rgba\"+nt),hsl:new RegExp(\"hsl\"+Ge),hsla:new RegExp(\"hsla\"+nt),hsv:new RegExp(\"hsv\"+Ge),hsva:new RegExp(\"hsva\"+nt),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 Ae(me){return!!Ee.CSS_UNIT.exec(me)}function ze(me){me=me.replace(t,\"\").replace(r,\"\").toLowerCase();var Re=!1;if(H[me])me=H[me],Re=!0;else if(me==\"transparent\")return{r:0,g:0,b:0,a:0,format:\"name\"};var ce;return(ce=Ee.rgb.exec(me))?{r:ce[1],g:ce[2],b:ce[3]}:(ce=Ee.rgba.exec(me))?{r:ce[1],g:ce[2],b:ce[3],a:ce[4]}:(ce=Ee.hsl.exec(me))?{h:ce[1],s:ce[2],l:ce[3]}:(ce=Ee.hsla.exec(me))?{h:ce[1],s:ce[2],l:ce[3],a:ce[4]}:(ce=Ee.hsv.exec(me))?{h:ce[1],s:ce[2],v:ce[3]}:(ce=Ee.hsva.exec(me))?{h:ce[1],s:ce[2],v:ce[3],a:ce[4]}:(ce=Ee.hex8.exec(me))?{r:ae(ce[1]),g:ae(ce[2]),b:ae(ce[3]),a:Te(ce[4]),format:Re?\"name\":\"hex8\"}:(ce=Ee.hex6.exec(me))?{r:ae(ce[1]),g:ae(ce[2]),b:ae(ce[3]),format:Re?\"name\":\"hex\"}:(ce=Ee.hex4.exec(me))?{r:ae(ce[1]+\"\"+ce[1]),g:ae(ce[2]+\"\"+ce[2]),b:ae(ce[3]+\"\"+ce[3]),a:Te(ce[4]+\"\"+ce[4]),format:Re?\"name\":\"hex8\"}:(ce=Ee.hex3.exec(me))?{r:ae(ce[1]+\"\"+ce[1]),g:ae(ce[2]+\"\"+ce[2]),b:ae(ce[3]+\"\"+ce[3]),format:Re?\"name\":\"hex\"}:!1}function Ce(me){var Re,ce;return me=me||{level:\"AA\",size:\"small\"},Re=(me.level||\"AA\").toUpperCase(),ce=(me.size||\"small\").toLowerCase(),Re!==\"AA\"&&Re!==\"AAA\"&&(Re=\"AA\"),ce!==\"small\"&&ce!==\"large\"&&(ce=\"small\"),{level:Re,size:ce}}typeof c6!=\"undefined\"&&c6.exports?c6.exports=l:window.tinycolor=l})(Math)});var no=ye(PS=>{\"use strict\";var Pee=gy(),CS=Array.isArray;function pet(e,t){var r,n;for(r=0;r<e.length;r++){if(n=e[r],n!==null&&typeof n==\"object\")return!1;n!==void 0&&(t[r]=n)}return!0}PS.extendFlat=function(){return LS(arguments,!1,!1,!1)};PS.extendDeep=function(){return LS(arguments,!0,!1,!1)};PS.extendDeepAll=function(){return LS(arguments,!0,!0,!1)};PS.extendDeepNoArrays=function(){return LS(arguments,!0,!1,!0)};function LS(e,t,r,n){var i=e[0],a=e.length,o,s,l,u,c,f,h;if(a===2&&CS(i)&&CS(e[1])&&i.length===0){if(h=pet(e[1],i),h)return i;i.splice(0,i.length)}for(var d=1;d<a;d++){o=e[d];for(s in o)l=i[s],u=o[s],n&&CS(u)?i[s]=u:t&&u&&(Pee(u)||(c=CS(u)))?(c?(c=!1,f=l&&CS(l)?l:[]):f=l&&Pee(l)?l:{},i[s]=LS([f,u],t,r,n)):(typeof u!=\"undefined\"||r)&&(i[s]=u)}return i}});var Su=ye((JQt,Iee)=>{\"use strict\";Iee.exports=function(e){var t=e.variantValues,r=e.editType,n=e.colorEditType;n===void 0&&(n=r);var i={editType:r,valType:\"integer\",min:1,max:1e3,extras:[\"normal\",\"bold\"],dflt:\"normal\"};e.noNumericWeightValues&&(i.valType=\"enumerated\",i.values=i.extras,i.extras=void 0,i.min=void 0,i.max=void 0);var a={family:{valType:\"string\",noBlank:!0,strict:!0,editType:r},size:{valType:\"number\",min:1,editType:r},color:{valType:\"color\",editType:n},weight:i,style:{editType:r,valType:\"enumerated\",values:[\"normal\",\"italic\"],dflt:\"normal\"},variant:e.noFontVariant?void 0:{editType:r,valType:\"enumerated\",values:t||[\"normal\",\"small-caps\",\"all-small-caps\",\"all-petite-caps\",\"petite-caps\",\"unicase\"],dflt:\"normal\"},textcase:e.noFontTextcase?void 0:{editType:r,valType:\"enumerated\",values:[\"normal\",\"word caps\",\"upper\",\"lower\"],dflt:\"normal\"},lineposition:e.noFontLineposition?void 0:{editType:r,valType:\"flaglist\",flags:[\"under\",\"over\",\"through\"],extras:[\"none\"],dflt:\"none\"},shadow:e.noFontShadow?void 0:{editType:r,valType:\"string\",dflt:e.autoShadowDflt?\"auto\":\"none\"},editType:r};return e.autoSize&&(a.size.dflt=\"auto\"),e.autoColor&&(a.color.dflt=\"auto\"),e.arrayOk&&(a.family.arrayOk=!0,a.weight.arrayOk=!0,a.style.arrayOk=!0,e.noFontVariant||(a.variant.arrayOk=!0),e.noFontTextcase||(a.textcase.arrayOk=!0),e.noFontLineposition||(a.lineposition.arrayOk=!0),e.noFontShadow||(a.shadow.arrayOk=!0),a.size.arrayOk=!0,a.color.arrayOk=!0),a}});var IS=ye(($Qt,Ree)=>{\"use strict\";Ree.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:\"Arial, sans-serif\",HOVERMINTIME:50,HOVERID:\"-hover\"}});var N1=ye((QQt,Fee)=>{\"use strict\";var Dee=IS(),zee=Su(),xq=zee({editType:\"none\"});xq.family.dflt=Dee.HOVERFONT;xq.size.dflt=Dee.HOVERFONTSIZE;Fee.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:xq,grouptitlefont:zee({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\"}}});var i3=ye((eer,qee)=>{\"use strict\";var get=Su(),f6=N1().hoverlabel,h6=no().extendFlat;qee.exports={hoverlabel:{bgcolor:h6({},f6.bgcolor,{arrayOk:!0}),bordercolor:h6({},f6.bordercolor,{arrayOk:!0}),font:get({arrayOk:!0,editType:\"none\"}),align:h6({},f6.align,{arrayOk:!0}),namelength:h6({},f6.namelength,{arrayOk:!0}),editType:\"none\"}}});var vl=ye((ter,Oee)=>{\"use strict\";var met=Su(),yet=i3();Oee.exports={type:{valType:\"enumerated\",values:[],dflt:\"scatter\",editType:\"calc+clearAxisTypes\",_noTemplating:!0},visible:{valType:\"enumerated\",values:[!0,!1,\"legendonly\"],dflt:!0,editType:\"calc\"},showlegend:{valType:\"boolean\",dflt:!0,editType:\"style\"},legend:{valType:\"subplotid\",dflt:\"legend\",editType:\"style\"},legendgroup:{valType:\"string\",dflt:\"\",editType:\"style\"},legendgrouptitle:{text:{valType:\"string\",dflt:\"\",editType:\"style\"},font:met({editType:\"style\"}),editType:\"style\"},legendrank:{valType:\"number\",dflt:1e3,editType:\"style\"},legendwidth:{valType:\"number\",min:0,editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"style\"},name:{valType:\"string\",editType:\"style\"},uid:{valType:\"string\",editType:\"plot\",anim:!0},ids:{valType:\"data_array\",editType:\"calc\",anim:!0},customdata:{valType:\"data_array\",editType:\"calc\"},meta:{valType:\"any\",arrayOk:!0,editType:\"plot\"},selectedpoints:{valType:\"any\",editType:\"calc\"},hoverinfo:{valType:\"flaglist\",flags:[\"x\",\"y\",\"z\",\"text\",\"name\"],extras:[\"all\",\"none\",\"skip\"],arrayOk:!0,dflt:\"all\",editType:\"none\"},hoverlabel:yet.hoverlabel,stream:{token:{valType:\"string\",noBlank:!0,strict:!0,editType:\"calc\"},maxpoints:{valType:\"number\",min:0,max:1e4,dflt:500,editType:\"calc\"},editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"}}});var sb=ye((rer,Uee)=>{\"use strict\";var _et=id(),d6={Greys:[[0,\"rgb(0,0,0)\"],[1,\"rgb(255,255,255)\"]],YlGnBu:[[0,\"rgb(8,29,88)\"],[.125,\"rgb(37,52,148)\"],[.25,\"rgb(34,94,168)\"],[.375,\"rgb(29,145,192)\"],[.5,\"rgb(65,182,196)\"],[.625,\"rgb(127,205,187)\"],[.75,\"rgb(199,233,180)\"],[.875,\"rgb(237,248,217)\"],[1,\"rgb(255,255,217)\"]],Greens:[[0,\"rgb(0,68,27)\"],[.125,\"rgb(0,109,44)\"],[.25,\"rgb(35,139,69)\"],[.375,\"rgb(65,171,93)\"],[.5,\"rgb(116,196,118)\"],[.625,\"rgb(161,217,155)\"],[.75,\"rgb(199,233,192)\"],[.875,\"rgb(229,245,224)\"],[1,\"rgb(247,252,245)\"]],YlOrRd:[[0,\"rgb(128,0,38)\"],[.125,\"rgb(189,0,38)\"],[.25,\"rgb(227,26,28)\"],[.375,\"rgb(252,78,42)\"],[.5,\"rgb(253,141,60)\"],[.625,\"rgb(254,178,76)\"],[.75,\"rgb(254,217,118)\"],[.875,\"rgb(255,237,160)\"],[1,\"rgb(255,255,204)\"]],Bluered:[[0,\"rgb(0,0,255)\"],[1,\"rgb(255,0,0)\"]],RdBu:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(106,137,247)\"],[.5,\"rgb(190,190,190)\"],[.6,\"rgb(220,170,132)\"],[.7,\"rgb(230,145,90)\"],[1,\"rgb(178,10,28)\"]],Reds:[[0,\"rgb(220,220,220)\"],[.2,\"rgb(245,195,157)\"],[.4,\"rgb(245,160,105)\"],[1,\"rgb(178,10,28)\"]],Blues:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(40,60,190)\"],[.5,\"rgb(70,100,245)\"],[.6,\"rgb(90,120,245)\"],[.7,\"rgb(106,137,247)\"],[1,\"rgb(220,220,220)\"]],Picnic:[[0,\"rgb(0,0,255)\"],[.1,\"rgb(51,153,255)\"],[.2,\"rgb(102,204,255)\"],[.3,\"rgb(153,204,255)\"],[.4,\"rgb(204,204,255)\"],[.5,\"rgb(255,255,255)\"],[.6,\"rgb(255,204,255)\"],[.7,\"rgb(255,153,255)\"],[.8,\"rgb(255,102,204)\"],[.9,\"rgb(255,102,102)\"],[1,\"rgb(255,0,0)\"]],Rainbow:[[0,\"rgb(150,0,90)\"],[.125,\"rgb(0,0,200)\"],[.25,\"rgb(0,25,255)\"],[.375,\"rgb(0,152,255)\"],[.5,\"rgb(44,255,150)\"],[.625,\"rgb(151,255,0)\"],[.75,\"rgb(255,234,0)\"],[.875,\"rgb(255,111,0)\"],[1,\"rgb(255,0,0)\"]],Portland:[[0,\"rgb(12,51,131)\"],[.25,\"rgb(10,136,186)\"],[.5,\"rgb(242,211,56)\"],[.75,\"rgb(242,143,56)\"],[1,\"rgb(217,30,30)\"]],Jet:[[0,\"rgb(0,0,131)\"],[.125,\"rgb(0,60,170)\"],[.375,\"rgb(5,255,255)\"],[.625,\"rgb(255,255,0)\"],[.875,\"rgb(250,0,0)\"],[1,\"rgb(128,0,0)\"]],Hot:[[0,\"rgb(0,0,0)\"],[.3,\"rgb(230,0,0)\"],[.6,\"rgb(255,210,0)\"],[1,\"rgb(255,255,255)\"]],Blackbody:[[0,\"rgb(0,0,0)\"],[.2,\"rgb(230,0,0)\"],[.4,\"rgb(230,210,0)\"],[.7,\"rgb(255,255,255)\"],[1,\"rgb(160,200,255)\"]],Earth:[[0,\"rgb(0,0,130)\"],[.1,\"rgb(0,180,180)\"],[.2,\"rgb(40,210,40)\"],[.4,\"rgb(230,230,50)\"],[.6,\"rgb(120,70,20)\"],[1,\"rgb(255,255,255)\"]],Electric:[[0,\"rgb(0,0,0)\"],[.15,\"rgb(30,0,100)\"],[.4,\"rgb(120,0,100)\"],[.6,\"rgb(160,90,0)\"],[.8,\"rgb(230,200,0)\"],[1,\"rgb(255,250,220)\"]],Viridis:[[0,\"#440154\"],[.06274509803921569,\"#48186a\"],[.12549019607843137,\"#472d7b\"],[.18823529411764706,\"#424086\"],[.25098039215686274,\"#3b528b\"],[.3137254901960784,\"#33638d\"],[.3764705882352941,\"#2c728e\"],[.4392156862745098,\"#26828e\"],[.5019607843137255,\"#21918c\"],[.5647058823529412,\"#1fa088\"],[.6274509803921569,\"#28ae80\"],[.6901960784313725,\"#3fbc73\"],[.7529411764705882,\"#5ec962\"],[.8156862745098039,\"#84d44b\"],[.8784313725490196,\"#addc30\"],[.9411764705882353,\"#d8e219\"],[1,\"#fde725\"]],Cividis:[[0,\"rgb(0,32,76)\"],[.058824,\"rgb(0,42,102)\"],[.117647,\"rgb(0,52,110)\"],[.176471,\"rgb(39,63,108)\"],[.235294,\"rgb(60,74,107)\"],[.294118,\"rgb(76,85,107)\"],[.352941,\"rgb(91,95,109)\"],[.411765,\"rgb(104,106,112)\"],[.470588,\"rgb(117,117,117)\"],[.529412,\"rgb(131,129,120)\"],[.588235,\"rgb(146,140,120)\"],[.647059,\"rgb(161,152,118)\"],[.705882,\"rgb(176,165,114)\"],[.764706,\"rgb(192,177,109)\"],[.823529,\"rgb(209,191,102)\"],[.882353,\"rgb(225,204,92)\"],[.941176,\"rgb(243,219,79)\"],[1,\"rgb(255,233,69)\"]]},Bee=d6.RdBu;function xet(e,t){if(t||(t=Bee),!e)return t;function r(){try{e=d6[e]||JSON.parse(e)}catch(n){e=t}}return typeof e==\"string\"&&(r(),typeof e==\"string\"&&r()),Nee(e)?e:t}function Nee(e){var t=0;if(!Array.isArray(e)||e.length<2||!e[0]||!e[e.length-1]||+e[0][0]!=0||+e[e.length-1][0]!=1)return!1;for(var r=0;r<e.length;r++){var n=e[r];if(n.length!==2||+n[0]<t||!_et(n[1]).isValid())return!1;t=+n[0]}return!0}function bet(e){return d6[e]!==void 0?!0:Nee(e)}Uee.exports={scales:d6,defaultScale:Bee,get:xet,isValid:bet}});var dh=ye(lb=>{\"use strict\";lb.defaults=[\"#1f77b4\",\"#ff7f0e\",\"#2ca02c\",\"#d62728\",\"#9467bd\",\"#8c564b\",\"#e377c2\",\"#7f7f7f\",\"#bcbd22\",\"#17becf\"];lb.defaultLine=\"#444\";lb.lightLine=\"#eee\";lb.background=\"#fff\";lb.borderLine=\"#BEC8D9\";lb.lightFraction=100*10/11});var va=ye((ner,Vee)=>{\"use strict\";var xp=id(),wet=uo(),Tet=vv().isTypedArray,nd=Vee.exports={},v6=dh();nd.defaults=v6.defaults;var Aet=nd.defaultLine=v6.defaultLine;nd.lightLine=v6.lightLine;var wq=nd.background=v6.background;nd.tinyRGB=function(e){var t=e.toRgb();return\"rgb(\"+Math.round(t.r)+\", \"+Math.round(t.g)+\", \"+Math.round(t.b)+\")\"};nd.rgb=function(e){return nd.tinyRGB(xp(e))};nd.opacity=function(e){return e?xp(e).getAlpha():0};nd.addOpacity=function(e,t){var r=xp(e).toRgb();return\"rgba(\"+Math.round(r.r)+\", \"+Math.round(r.g)+\", \"+Math.round(r.b)+\", \"+t+\")\"};nd.combine=function(e,t){var r=xp(e).toRgb();if(r.a===1)return xp(e).toRgbString();var n=xp(t||wq).toRgb(),i=n.a===1?n:{r:255*(1-n.a)+n.r*n.a,g:255*(1-n.a)+n.g*n.a,b:255*(1-n.a)+n.b*n.a},a={r:i.r*(1-r.a)+r.r*r.a,g:i.g*(1-r.a)+r.g*r.a,b:i.b*(1-r.a)+r.b*r.a};return xp(a).toRgbString()};nd.interpolate=function(e,t,r){var n=xp(e).toRgb(),i=xp(t).toRgb(),a={r:r*n.r+(1-r)*i.r,g:r*n.g+(1-r)*i.g,b:r*n.b+(1-r)*i.b};return xp(a).toRgbString()};nd.contrast=function(e,t,r){var n=xp(e);n.getAlpha()!==1&&(n=xp(nd.combine(e,wq)));var i=n.isDark()?t?n.lighten(t):wq:r?n.darken(r):Aet;return i.toString()};nd.stroke=function(e,t){var r=xp(t);e.style({stroke:nd.tinyRGB(r),\"stroke-opacity\":r.getAlpha()})};nd.fill=function(e,t){var r=xp(t);e.style({fill:nd.tinyRGB(r),\"fill-opacity\":r.getAlpha()})};nd.clean=function(e){if(!(!e||typeof e!=\"object\")){var t=Object.keys(e),r,n,i,a;for(r=0;r<t.length;r++)if(i=t[r],a=e[i],i.substr(i.length-5)===\"color\")if(Array.isArray(a))for(n=0;n<a.length;n++)a[n]=bq(a[n]);else e[i]=bq(a);else if(i.substr(i.length-10)===\"colorscale\"&&Array.isArray(a))for(n=0;n<a.length;n++)Array.isArray(a[n])&&(a[n][1]=bq(a[n][1]));else if(Array.isArray(a)){var o=a[0];if(!Array.isArray(o)&&o&&typeof o==\"object\")for(n=0;n<a.length;n++)nd.clean(a[n])}else a&&typeof a==\"object\"&&!Tet(a)&&nd.clean(a)}};function bq(e){if(wet(e)||typeof e!=\"string\")return e;var t=e.trim();if(t.substr(0,3)!==\"rgb\")return e;var r=t.match(/^rgba?\\s*\\(([^()]*)\\)$/);if(!r)return e;var n=r[1].trim().split(/\\s*[\\s,]\\s*/),i=t.charAt(3)===\"a\"&&n.length===4;if(!i&&n.length!==3)return e;for(var a=0;a<n.length;a++){if(!n[a].length||(n[a]=Number(n[a]),!(n[a]>=0)))return e;if(a===3)n[a]>1&&(n[a]=1);else if(n[a]>=1)return e}var o=Math.round(n[0]*255)+\", \"+Math.round(n[1]*255)+\", \"+Math.round(n[2]*255);return i?\"rgba(\"+o+\", \"+n[3]+\")\":\"rgb(\"+o+\")\"}});var U1=ye((aer,Hee)=>{\"use strict\";Hee.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}});var n3=ye(Gee=>{\"use strict\";Gee.counter=function(e,t,r,n){var i=(t||\"\")+(r?\"\":\"$\"),a=n===!1?\"\":\"^\";return e===\"xy\"?new RegExp(a+\"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?\"+i):new RegExp(a+e+\"([2-9]|[1-9][0-9]+)?\"+i)}});var Xee=ye(bp=>{\"use strict\";var Tq=uo(),jee=id(),Wee=no().extendFlat,Met=vl(),Eet=sb(),ket=va(),Cet=U1().DESELECTDIM,a3=ES(),Zee=n3().counter,Let=r3().modHalf,dm=vv().isArrayOrTypedArray,V1=vv().isTypedArraySpec,H1=vv().decodeTypedArraySpec;bp.valObjectMeta={data_array:{coerceFunction:function(e,t,r){t.set(dm(e)?e:V1(e)?H1(e):r)}},enumerated:{coerceFunction:function(e,t,r,n){n.coerceNumber&&(e=+e),n.values.indexOf(e)===-1?t.set(r):t.set(e)},validateFunction:function(e,t){t.coerceNumber&&(e=+e);for(var r=t.values,n=0;n<r.length;n++){var i=String(r[n]);if(i.charAt(0)===\"/\"&&i.charAt(i.length-1)===\"/\"){var a=new RegExp(i.substr(1,i.length-2));if(a.test(e))return!0}else if(e===r[n])return!0}return!1}},boolean:{coerceFunction:function(e,t,r){e===!0||e===!1?t.set(e):t.set(r)}},number:{coerceFunction:function(e,t,r,n){V1(e)&&(e=H1(e)),!Tq(e)||n.min!==void 0&&e<n.min||n.max!==void 0&&e>n.max?t.set(r):t.set(+e)}},integer:{coerceFunction:function(e,t,r,n){if((n.extras||[]).indexOf(e)!==-1){t.set(e);return}V1(e)&&(e=H1(e)),e%1||!Tq(e)||n.min!==void 0&&e<n.min||n.max!==void 0&&e>n.max?t.set(r):t.set(+e)}},string:{coerceFunction:function(e,t,r,n){if(typeof e!=\"string\"){var i=typeof e==\"number\";n.strict===!0||!i?t.set(r):t.set(String(e))}else n.noBlank&&!e?t.set(r):t.set(e)}},color:{coerceFunction:function(e,t,r){V1(e)&&(e=H1(e)),jee(e).isValid()?t.set(e):t.set(r)}},colorlist:{coerceFunction:function(e,t,r){function n(i){return jee(i).isValid()}!Array.isArray(e)||!e.length?t.set(r):e.every(n)?t.set(e):t.set(r)}},colorscale:{coerceFunction:function(e,t,r){t.set(Eet.get(e,r))}},angle:{coerceFunction:function(e,t,r){V1(e)&&(e=H1(e)),e===\"auto\"?t.set(\"auto\"):Tq(e)?t.set(Let(+e,360)):t.set(r)}},subplotid:{coerceFunction:function(e,t,r,n){var i=n.regex||Zee(r);if(typeof e==\"string\"&&i.test(e)){t.set(e);return}t.set(r)},validateFunction:function(e,t){var r=t.dflt;return e===r?!0:typeof e!=\"string\"?!1:!!Zee(r).test(e)}},flaglist:{coerceFunction:function(e,t,r,n){if((n.extras||[]).indexOf(e)!==-1){t.set(e);return}if(typeof e!=\"string\"){t.set(r);return}for(var i=e.split(\"+\"),a=0;a<i.length;){var o=i[a];n.flags.indexOf(o)===-1||i.indexOf(o)<a?i.splice(a,1):a++}i.length?t.set(i.join(\"+\")):t.set(r)}},any:{coerceFunction:function(e,t,r){e===void 0?t.set(r):t.set(V1(e)?H1(e):e)}},info_array:{coerceFunction:function(e,t,r,n){function i(E,k,A){var L,_={set:function(C){L=C}};return A===void 0&&(A=k.dflt),bp.valObjectMeta[k.valType].coerceFunction(E,_,A,k),L}if(V1(e)&&(e=H1(e)),!dm(e)){t.set(r);return}var a=n.dimensions===2||n.dimensions===\"1-2\"&&Array.isArray(e)&&dm(e[0]),o=n.items,s=[],l=Array.isArray(o),u=l&&a&&dm(o[0]),c=a&&l&&!u,f=l&&!c?o.length:e.length,h,d,v,x,b,p;if(r=Array.isArray(r)?r:[],a)for(h=0;h<f;h++)for(s[h]=[],v=dm(e[h])?e[h]:[],c?b=o.length:l?b=o[h].length:b=v.length,d=0;d<b;d++)c?x=o[d]:l?x=o[h][d]:x=o,p=i(v[d],x,(r[h]||[])[d]),p!==void 0&&(s[h][d]=p);else for(h=0;h<f;h++)p=i(e[h],l?o[h]:o,r[h]),p!==void 0&&(s[h]=p);t.set(s)},validateFunction:function(e,t){if(!dm(e))return!1;var r=t.items,n=Array.isArray(r),i=t.dimensions===2;if(!t.freeLength&&e.length!==r.length)return!1;for(var a=0;a<e.length;a++)if(i){if(!dm(e[a])||!t.freeLength&&e[a].length!==r[a].length)return!1;for(var o=0;o<e[a].length;o++)if(!p6(e[a][o],n?r[a][o]:r))return!1}else if(!p6(e[a],n?r[a]:r))return!1;return!0}}};bp.coerce=function(e,t,r,n,i){var a=a3(r,n).get(),o=a3(e,n),s=a3(t,n),l=o.get(),u=t._template;if(l===void 0&&u&&(l=a3(u,n).get(),u=0),i===void 0&&(i=a.dflt),a.arrayOk){if(dm(l))return s.set(l),l;if(V1(l))return l=H1(l),s.set(l),l}var c=bp.valObjectMeta[a.valType].coerceFunction;c(l,s,i,a);var f=s.get();return u&&f===i&&!p6(l,a)&&(l=a3(u,n).get(),c(l,s,i,a),f=s.get()),f};bp.coerce2=function(e,t,r,n,i){var a=a3(e,n),o=bp.coerce(e,t,r,n,i),s=a.get();return s!=null?o:!1};bp.coerceFont=function(e,t,r,n){n||(n={}),r=Wee({},r),r=Wee(r,n.overrideDflt||{});var i={family:e(t+\".family\",r.family),size:e(t+\".size\",r.size),color:e(t+\".color\",r.color),weight:e(t+\".weight\",r.weight),style:e(t+\".style\",r.style)};if(n.noFontVariant||(i.variant=e(t+\".variant\",r.variant)),n.noFontLineposition||(i.lineposition=e(t+\".lineposition\",r.lineposition)),n.noFontTextcase||(i.textcase=e(t+\".textcase\",r.textcase)),!n.noFontShadow){var a=r.shadow;a===\"none\"&&n.autoShadowDflt&&(a=\"auto\"),i.shadow=e(t+\".shadow\",a)}return i};bp.coercePattern=function(e,t,r,n){var i=e(t+\".shape\");if(i){e(t+\".solidity\"),e(t+\".size\");var a=e(t+\".fillmode\"),o=a===\"overlay\";if(!n){var s=e(t+\".bgcolor\",o?r:void 0);e(t+\".fgcolor\",o?ket.contrast(s):r)}e(t+\".fgopacity\",o?.5:1)}};bp.coerceHoverinfo=function(e,t,r){var n=t._module.attributes,i=n.hoverinfo?n:Met,a=i.hoverinfo,o;if(r._dataLength===1){var s=a.dflt===\"all\"?a.flags.slice():a.dflt.split(\"+\");s.splice(s.indexOf(\"name\"),1),o=s.join(\"+\")}return bp.coerce(e,t,i,\"hoverinfo\",o)};bp.coerceSelectionMarkerOpacity=function(e,t){if(e.marker){var r=e.marker.opacity;if(r!==void 0){var n,i;!dm(r)&&!e.selected&&!e.unselected&&(n=r,i=Cet*r),t(\"selected.marker.opacity\",n),t(\"unselected.marker.opacity\",i)}}};function p6(e,t){var r=bp.valObjectMeta[t.valType];if(t.arrayOk&&dm(e))return!0;if(r.validateFunction)return r.validateFunction(e,t);var n={},i=n,a={set:function(o){i=o}};return r.coerceFunction(e,a,n,t),i!==n}bp.validate=p6});var ub=ye((ler,$ee)=>{\"use strict\";var Yee={staticPlot:{valType:\"boolean\",dflt:!1},typesetMath:{valType:\"boolean\",dflt:!0},plotlyServerURL:{valType:\"string\",dflt:\"\"},editable:{valType:\"boolean\",dflt:!1},edits:{annotationPosition:{valType:\"boolean\",dflt:!1},annotationTail:{valType:\"boolean\",dflt:!1},annotationText:{valType:\"boolean\",dflt:!1},axisTitleText:{valType:\"boolean\",dflt:!1},colorbarPosition:{valType:\"boolean\",dflt:!1},colorbarTitleText:{valType:\"boolean\",dflt:!1},legendPosition:{valType:\"boolean\",dflt:!1},legendText:{valType:\"boolean\",dflt:!1},shapePosition:{valType:\"boolean\",dflt:!1},titleText:{valType:\"boolean\",dflt:!1}},editSelection:{valType:\"boolean\",dflt:!0},autosizable:{valType:\"boolean\",dflt:!1},responsive:{valType:\"boolean\",dflt:!1},fillFrame:{valType:\"boolean\",dflt:!1},frameMargins:{valType:\"number\",dflt:0,min:0,max:.5},scrollZoom:{valType:\"flaglist\",flags:[\"cartesian\",\"gl3d\",\"geo\",\"mapbox\",\"map\"],extras:[!0,!1],dflt:\"gl3d+geo+map\"},doubleClick:{valType:\"enumerated\",values:[!1,\"reset\",\"autosize\",\"reset+autosize\"],dflt:\"reset+autosize\"},doubleClickDelay:{valType:\"number\",dflt:300,min:0},showAxisDragHandles:{valType:\"boolean\",dflt:!0},showAxisRangeEntryBoxes:{valType:\"boolean\",dflt:!0},showTips:{valType:\"boolean\",dflt:!0},showLink:{valType:\"boolean\",dflt:!1},linkText:{valType:\"string\",dflt:\"Edit chart\",noBlank:!0},sendData:{valType:\"boolean\",dflt:!0},showSources:{valType:\"any\",dflt:!1},displayModeBar:{valType:\"enumerated\",values:[\"hover\",!0,!1],dflt:\"hover\"},showSendToCloud:{valType:\"boolean\",dflt:!1},showEditInChartStudio:{valType:\"boolean\",dflt:!1},modeBarButtonsToRemove:{valType:\"any\",dflt:[]},modeBarButtonsToAdd:{valType:\"any\",dflt:[]},modeBarButtons:{valType:\"any\",dflt:!1},toImageButtonOptions:{valType:\"any\",dflt:{}},displaylogo:{valType:\"boolean\",dflt:!0},watermark:{valType:\"boolean\",dflt:!1},plotGlPixelRatio:{valType:\"number\",dflt:2,min:1,max:4},setBackground:{valType:\"any\",dflt:\"transparent\"},topojsonURL:{valType:\"string\",noBlank:!0,dflt:\"https://cdn.plot.ly/\"},mapboxAccessToken:{valType:\"string\",dflt:null},logging:{valType:\"integer\",min:0,max:2,dflt:1},notifyOnLogging:{valType:\"integer\",min:0,max:2,dflt:0},queueLength:{valType:\"integer\",min:0,dflt:0},locale:{valType:\"string\",dflt:\"en-US\"},locales:{valType:\"any\",dflt:{}}},Kee={};function Jee(e,t){for(var r in e){var n=e[r];n.valType?t[r]=n.dflt:(t[r]||(t[r]={}),Jee(n,t[r]))}}Jee(Yee,Kee);$ee.exports={configAttributes:Yee,dfltConfig:Kee}});var Sq=ye((uer,Qee)=>{\"use strict\";var Aq=xa(),Pet=uo(),RS=[];Qee.exports=function(e,t){if(RS.indexOf(e)!==-1)return;RS.push(e);var r=1e3;Pet(t)?r=t:t===\"long\"&&(r=3e3);var n=Aq.select(\"body\").selectAll(\".plotly-notifier\").data([0]);n.enter().append(\"div\").classed(\"plotly-notifier\",!0);var i=n.selectAll(\".notifier-note\").data(RS);function a(o){o.duration(700).style(\"opacity\",0).each(\"end\",function(s){var l=RS.indexOf(s);l!==-1&&RS.splice(l,1),Aq.select(this).remove()})}i.enter().append(\"div\").classed(\"notifier-note\",!0).style(\"opacity\",0).each(function(o){var s=Aq.select(this);s.append(\"button\").classed(\"notifier-close\",!0).html(\"×\").on(\"click\",function(){s.transition().call(a)});for(var l=s.append(\"p\"),u=o.split(/<br\\s*\\/?>/g),c=0;c<u.length;c++)c&&l.append(\"br\"),l.append(\"span\").text(u[c]);t===\"stick\"?s.transition().duration(350).style(\"opacity\",1):s.transition().duration(700).style(\"opacity\",1).transition().delay(r).call(a)})}});var G1=ye((cer,ete)=>{\"use strict\";var o3=ub().dfltConfig,Mq=Sq(),Eq=ete.exports={};Eq.log=function(){var e;if(o3.logging>1){var t=[\"LOG:\"];for(e=0;e<arguments.length;e++)t.push(arguments[e]);console.trace.apply(console,t)}if(o3.notifyOnLogging>1){var r=[];for(e=0;e<arguments.length;e++)r.push(arguments[e]);Mq(r.join(\"<br>\"),\"long\")}};Eq.warn=function(){var e;if(o3.logging>0){var t=[\"WARN:\"];for(e=0;e<arguments.length;e++)t.push(arguments[e]);console.trace.apply(console,t)}if(o3.notifyOnLogging>0){var r=[];for(e=0;e<arguments.length;e++)r.push(arguments[e]);Mq(r.join(\"<br>\"),\"stick\")}};Eq.error=function(){var e;if(o3.logging>0){var t=[\"ERROR:\"];for(e=0;e<arguments.length;e++)t.push(arguments[e]);console.error.apply(console,t)}if(o3.notifyOnLogging>0){var r=[];for(e=0;e<arguments.length;e++)r.push(arguments[e]);Mq(r.join(\"<br>\"),\"stick\")}}});var g6=ye((fer,tte)=>{\"use strict\";tte.exports=function(){}});var kq=ye((her,rte)=>{\"use strict\";rte.exports=function(t,r){if(r instanceof RegExp){for(var n=r.toString(),i=0;i<t.length;i++)if(t[i]instanceof RegExp&&t[i].toString()===n)return t;t.push(r)}else(r||r===0)&&t.indexOf(r)===-1&&t.push(r);return t}});var nte=ye((der,ite)=>{ite.exports=Iet;function Iet(){var e=new Float32Array(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var ote=ye((ver,ate)=>{ate.exports=Ret;function Ret(e){var t=new Float32Array(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}});var lte=ye((per,ste)=>{ste.exports=Det;function Det(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var Cq=ye((ger,ute)=>{ute.exports=zet;function zet(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var fte=ye((mer,cte)=>{cte.exports=Fet;function Fet(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}});var dte=ye((yer,hte)=>{hte.exports=qet;function qet(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],d=t[11],v=t[12],x=t[13],b=t[14],p=t[15],E=r*s-n*o,k=r*l-i*o,A=r*u-a*o,L=n*l-i*s,_=n*u-a*s,C=i*u-a*l,M=c*x-f*v,g=c*b-h*v,P=c*p-d*v,T=f*b-h*x,F=f*p-d*x,q=h*p-d*b,V=E*q-k*F+A*T+L*P-_*g+C*M;return V?(V=1/V,e[0]=(s*q-l*F+u*T)*V,e[1]=(i*F-n*q-a*T)*V,e[2]=(x*C-b*_+p*L)*V,e[3]=(h*_-f*C-d*L)*V,e[4]=(l*P-o*q-u*g)*V,e[5]=(r*q-i*P+a*g)*V,e[6]=(b*A-v*C-p*k)*V,e[7]=(c*C-h*A+d*k)*V,e[8]=(o*F-s*P+u*M)*V,e[9]=(n*P-r*F-a*M)*V,e[10]=(v*_-x*A+p*E)*V,e[11]=(f*A-c*_-d*E)*V,e[12]=(s*g-o*T-l*M)*V,e[13]=(r*T-n*g+i*M)*V,e[14]=(x*k-v*L-b*E)*V,e[15]=(c*L-f*k+h*E)*V,e):null}});var pte=ye((_er,vte)=>{vte.exports=Oet;function Oet(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],d=t[11],v=t[12],x=t[13],b=t[14],p=t[15];return e[0]=s*(h*p-d*b)-f*(l*p-u*b)+x*(l*d-u*h),e[1]=-(n*(h*p-d*b)-f*(i*p-a*b)+x*(i*d-a*h)),e[2]=n*(l*p-u*b)-s*(i*p-a*b)+x*(i*u-a*l),e[3]=-(n*(l*d-u*h)-s*(i*d-a*h)+f*(i*u-a*l)),e[4]=-(o*(h*p-d*b)-c*(l*p-u*b)+v*(l*d-u*h)),e[5]=r*(h*p-d*b)-c*(i*p-a*b)+v*(i*d-a*h),e[6]=-(r*(l*p-u*b)-o*(i*p-a*b)+v*(i*u-a*l)),e[7]=r*(l*d-u*h)-o*(i*d-a*h)+c*(i*u-a*l),e[8]=o*(f*p-d*x)-c*(s*p-u*x)+v*(s*d-u*f),e[9]=-(r*(f*p-d*x)-c*(n*p-a*x)+v*(n*d-a*f)),e[10]=r*(s*p-u*x)-o*(n*p-a*x)+v*(n*u-a*s),e[11]=-(r*(s*d-u*f)-o*(n*d-a*f)+c*(n*u-a*s)),e[12]=-(o*(f*b-h*x)-c*(s*b-l*x)+v*(s*h-l*f)),e[13]=r*(f*b-h*x)-c*(n*b-i*x)+v*(n*h-i*f),e[14]=-(r*(s*b-l*x)-o*(n*b-i*x)+v*(n*l-i*s)),e[15]=r*(s*h-l*f)-o*(n*h-i*f)+c*(n*l-i*s),e}});var mte=ye((xer,gte)=>{gte.exports=Bet;function Bet(e){var t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],f=e[10],h=e[11],d=e[12],v=e[13],x=e[14],b=e[15],p=t*o-r*a,E=t*s-n*a,k=t*l-i*a,A=r*s-n*o,L=r*l-i*o,_=n*l-i*s,C=u*v-c*d,M=u*x-f*d,g=u*b-h*d,P=c*x-f*v,T=c*b-h*v,F=f*b-h*x;return p*F-E*T+k*P+A*g-L*M+_*C}});var _te=ye((ber,yte)=>{yte.exports=Net;function Net(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],f=t[8],h=t[9],d=t[10],v=t[11],x=t[12],b=t[13],p=t[14],E=t[15],k=r[0],A=r[1],L=r[2],_=r[3];return e[0]=k*n+A*s+L*f+_*x,e[1]=k*i+A*l+L*h+_*b,e[2]=k*a+A*u+L*d+_*p,e[3]=k*o+A*c+L*v+_*E,k=r[4],A=r[5],L=r[6],_=r[7],e[4]=k*n+A*s+L*f+_*x,e[5]=k*i+A*l+L*h+_*b,e[6]=k*a+A*u+L*d+_*p,e[7]=k*o+A*c+L*v+_*E,k=r[8],A=r[9],L=r[10],_=r[11],e[8]=k*n+A*s+L*f+_*x,e[9]=k*i+A*l+L*h+_*b,e[10]=k*a+A*u+L*d+_*p,e[11]=k*o+A*c+L*v+_*E,k=r[12],A=r[13],L=r[14],_=r[15],e[12]=k*n+A*s+L*f+_*x,e[13]=k*i+A*l+L*h+_*b,e[14]=k*a+A*u+L*d+_*p,e[15]=k*o+A*c+L*v+_*E,e}});var bte=ye((wer,xte)=>{xte.exports=Uet;function Uet(e,t,r){var n=r[0],i=r[1],a=r[2],o,s,l,u,c,f,h,d,v,x,b,p;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],l=t[2],u=t[3],c=t[4],f=t[5],h=t[6],d=t[7],v=t[8],x=t[9],b=t[10],p=t[11],e[0]=o,e[1]=s,e[2]=l,e[3]=u,e[4]=c,e[5]=f,e[6]=h,e[7]=d,e[8]=v,e[9]=x,e[10]=b,e[11]=p,e[12]=o*n+c*i+v*a+t[12],e[13]=s*n+f*i+x*a+t[13],e[14]=l*n+h*i+b*a+t[14],e[15]=u*n+d*i+p*a+t[15]),e}});var Tte=ye((Ter,wte)=>{wte.exports=Vet;function Vet(e,t,r){var n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var Ste=ye((Aer,Ate)=>{Ate.exports=Het;function Het(e,t,r,n){var i=n[0],a=n[1],o=n[2],s=Math.sqrt(i*i+a*a+o*o),l,u,c,f,h,d,v,x,b,p,E,k,A,L,_,C,M,g,P,T,F,q,V,H;return Math.abs(s)<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,l=Math.sin(r),u=Math.cos(r),c=1-u,f=t[0],h=t[1],d=t[2],v=t[3],x=t[4],b=t[5],p=t[6],E=t[7],k=t[8],A=t[9],L=t[10],_=t[11],C=i*i*c+u,M=a*i*c+o*l,g=o*i*c-a*l,P=i*a*c-o*l,T=a*a*c+u,F=o*a*c+i*l,q=i*o*c+a*l,V=a*o*c-i*l,H=o*o*c+u,e[0]=f*C+x*M+k*g,e[1]=h*C+b*M+A*g,e[2]=d*C+p*M+L*g,e[3]=v*C+E*M+_*g,e[4]=f*P+x*T+k*F,e[5]=h*P+b*T+A*F,e[6]=d*P+p*T+L*F,e[7]=v*P+E*T+_*F,e[8]=f*q+x*V+k*H,e[9]=h*q+b*V+A*H,e[10]=d*q+p*V+L*H,e[11]=v*q+E*V+_*H,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}});var Ete=ye((Ser,Mte)=>{Mte.exports=Get;function Get(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+u*n,e[5]=o*i+c*n,e[6]=s*i+f*n,e[7]=l*i+h*n,e[8]=u*i-a*n,e[9]=c*i-o*n,e[10]=f*i-s*n,e[11]=h*i-l*n,e}});var Cte=ye((Mer,kte)=>{kte.exports=jet;function jet(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-u*n,e[1]=o*i-c*n,e[2]=s*i-f*n,e[3]=l*i-h*n,e[8]=a*n+u*i,e[9]=o*n+c*i,e[10]=s*n+f*i,e[11]=l*n+h*i,e}});var Pte=ye((Eer,Lte)=>{Lte.exports=Wet;function Wet(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[4],c=t[5],f=t[6],h=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+u*n,e[1]=o*i+c*n,e[2]=s*i+f*n,e[3]=l*i+h*n,e[4]=u*i-a*n,e[5]=c*i-o*n,e[6]=f*i-s*n,e[7]=h*i-l*n,e}});var Rte=ye((ker,Ite)=>{Ite.exports=Zet;function Zet(e,t,r){var n,i,a,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(u=1/u,o*=u,s*=u,l*=u,n=Math.sin(t),i=Math.cos(t),a=1-i,e[0]=o*o*a+i,e[1]=s*o*a+l*n,e[2]=l*o*a-s*n,e[3]=0,e[4]=o*s*a-l*n,e[5]=s*s*a+i,e[6]=l*s*a+o*n,e[7]=0,e[8]=o*l*a+s*n,e[9]=s*l*a-o*n,e[10]=l*l*a+i,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}});var zte=ye((Cer,Dte)=>{Dte.exports=Xet;function Xet(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,l=i+i,u=a+a,c=n*s,f=n*l,h=n*u,d=i*l,v=i*u,x=a*u,b=o*s,p=o*l,E=o*u;return e[0]=1-(d+x),e[1]=f+E,e[2]=h-p,e[3]=0,e[4]=f-E,e[5]=1-(c+x),e[6]=v+b,e[7]=0,e[8]=h+p,e[9]=v-b,e[10]=1-(c+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}});var qte=ye((Ler,Fte)=>{Fte.exports=Yet;function Yet(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Bte=ye((Per,Ote)=>{Ote.exports=Ket;function Ket(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}});var Ute=ye((Ier,Nte)=>{Nte.exports=Jet;function Jet(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Hte=ye((Rer,Vte)=>{Vte.exports=$et;function $et(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var jte=ye((Der,Gte)=>{Gte.exports=Qet;function Qet(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Lq=ye((zer,Wte)=>{Wte.exports=ett;function ett(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,f=n*s,h=i*o,d=i*s,v=i*l,x=a*o,b=a*s,p=a*l;return e[0]=1-f-v,e[1]=c+p,e[2]=h-b,e[3]=0,e[4]=c-p,e[5]=1-u-v,e[6]=d+x,e[7]=0,e[8]=h+b,e[9]=d-x,e[10]=1-u-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Xte=ye((Fer,Zte)=>{Zte.exports=ttt;function ttt(e,t,r,n,i,a,o){var s=1/(r-t),l=1/(i-n),u=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*l,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*l,e[10]=(o+a)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*u,e[15]=0,e}});var Kte=ye((qer,Yte)=>{Yte.exports=rtt;function rtt(e,t,r,n,i){var a=1/Math.tan(t/2),o=1/(n-i);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(i+n)*o,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*i*n*o,e[15]=0,e}});var $te=ye((Oer,Jte)=>{Jte.exports=itt;function itt(e,t,r,n){var i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return e[0]=l,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=u,e[6]=0,e[7]=0,e[8]=-((o-s)*l*.5),e[9]=(i-a)*u*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}});var ere=ye((Ber,Qte)=>{Qte.exports=ntt;function ntt(e,t,r,n,i,a,o){var s=1/(t-r),l=1/(n-i),u=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*l,e[14]=(o+a)*u,e[15]=1,e}});var rre=ye((Ner,tre)=>{var att=Cq();tre.exports=ott;function ott(e,t,r,n){var i,a,o,s,l,u,c,f,h,d,v=t[0],x=t[1],b=t[2],p=n[0],E=n[1],k=n[2],A=r[0],L=r[1],_=r[2];return Math.abs(v-A)<1e-6&&Math.abs(x-L)<1e-6&&Math.abs(b-_)<1e-6?att(e):(c=v-A,f=x-L,h=b-_,d=1/Math.sqrt(c*c+f*f+h*h),c*=d,f*=d,h*=d,i=E*h-k*f,a=k*c-p*h,o=p*f-E*c,d=Math.sqrt(i*i+a*a+o*o),d?(d=1/d,i*=d,a*=d,o*=d):(i=0,a=0,o=0),s=f*o-h*a,l=h*i-c*o,u=c*a-f*i,d=Math.sqrt(s*s+l*l+u*u),d?(d=1/d,s*=d,l*=d,u*=d):(s=0,l=0,u=0),e[0]=i,e[1]=s,e[2]=c,e[3]=0,e[4]=a,e[5]=l,e[6]=f,e[7]=0,e[8]=o,e[9]=u,e[10]=h,e[11]=0,e[12]=-(i*v+a*x+o*b),e[13]=-(s*v+l*x+u*b),e[14]=-(c*v+f*x+h*b),e[15]=1,e)}});var nre=ye((Uer,ire)=>{ire.exports=stt;function stt(e){return\"mat4(\"+e[0]+\", \"+e[1]+\", \"+e[2]+\", \"+e[3]+\", \"+e[4]+\", \"+e[5]+\", \"+e[6]+\", \"+e[7]+\", \"+e[8]+\", \"+e[9]+\", \"+e[10]+\", \"+e[11]+\", \"+e[12]+\", \"+e[13]+\", \"+e[14]+\", \"+e[15]+\")\"}});var Pq=ye((Ver,are)=>{are.exports={create:nte(),clone:ote(),copy:lte(),identity:Cq(),transpose:fte(),invert:dte(),adjoint:pte(),determinant:mte(),multiply:_te(),translate:bte(),scale:Tte(),rotate:Ste(),rotateX:Ete(),rotateY:Cte(),rotateZ:Pte(),fromRotation:Rte(),fromRotationTranslation:zte(),fromScaling:qte(),fromTranslation:Bte(),fromXRotation:Ute(),fromYRotation:Hte(),fromZRotation:jte(),fromQuat:Lq(),frustum:Xte(),perspective:Kte(),perspectiveFromFieldOfView:$te(),ortho:ere(),lookAt:rre(),str:nre()}});var m6=ye(Xf=>{\"use strict\";var ltt=Pq();Xf.init2dArray=function(e,t){for(var r=new Array(e),n=0;n<e;n++)r[n]=new Array(t);return r};Xf.transposeRagged=function(e){var t=0,r=e.length,n,i;for(n=0;n<r;n++)t=Math.max(t,e[n].length);var a=new Array(t);for(n=0;n<t;n++)for(a[n]=new Array(r),i=0;i<r;i++)a[n][i]=e[i][n];return a};Xf.dot=function(e,t){if(!(e.length&&t.length)||e.length!==t.length)return null;var r=e.length,n,i;if(e[0].length)for(n=new Array(r),i=0;i<r;i++)n[i]=Xf.dot(e[i],t);else if(t[0].length){var a=Xf.transposeRagged(t);for(n=new Array(a.length),i=0;i<a.length;i++)n[i]=Xf.dot(e,a[i])}else for(n=0,i=0;i<r;i++)n+=e[i]*t[i];return n};Xf.translationMatrix=function(e,t){return[[1,0,e],[0,1,t],[0,0,1]]};Xf.rotationMatrix=function(e){var t=e*Math.PI/180;return[[Math.cos(t),-Math.sin(t),0],[Math.sin(t),Math.cos(t),0],[0,0,1]]};Xf.rotationXYMatrix=function(e,t,r){return Xf.dot(Xf.dot(Xf.translationMatrix(t,r),Xf.rotationMatrix(e)),Xf.translationMatrix(-t,-r))};Xf.apply3DTransform=function(e){return function(){var t=arguments,r=arguments.length===1?t[0]:[t[0],t[1],t[2]||0];return Xf.dot(e,[r[0],r[1],r[2],1]).slice(0,3)}};Xf.apply2DTransform=function(e){return function(){var t=arguments;t.length===3&&(t=t[0]);var r=arguments.length===1?t[0]:[t[0],t[1]];return Xf.dot(e,[r[0],r[1],1]).slice(0,2)}};Xf.apply2DTransform2=function(e){var t=Xf.apply2DTransform(e);return function(r){return t(r.slice(0,2)).concat(t(r.slice(2,4)))}};Xf.convertCssMatrix=function(e){if(e){var t=e.length;if(t===16)return e;if(t===6)return[e[0],e[1],0,0,e[2],e[3],0,0,0,0,1,0,e[4],e[5],0,1]}return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]};Xf.inverseTransformMatrix=function(e){var t=[];return ltt.invert(t,e),[[t[0],t[1],t[2],t[3]],[t[4],t[5],t[6],t[7]],[t[8],t[9],t[10],t[11]],[t[12],t[13],t[14],t[15]]]}});var DS=ye((Ger,fre)=>{\"use strict\";var utt=xa(),ore=G1(),ctt=m6(),ftt=Pq();function htt(e){var t;if(typeof e==\"string\"){if(t=document.getElementById(e),t===null)throw new Error(\"No DOM element with id '\"+e+\"' exists on the page.\");return t}else if(e==null)throw new Error(\"DOM element provided is null or undefined\");return e}function dtt(e){var t=utt.select(e);return t.node()instanceof HTMLElement&&t.size()&&t.classed(\"js-plotly-plot\")}function sre(e){var t=e&&e.parentNode;t&&t.removeChild(e)}function vtt(e,t){lre(\"global\",e,t)}function lre(e,t,r){var n=\"plotly.js-style-\"+e,i=document.getElementById(n);if(!(i&&i.matches(\".no-inline-styles\"))){i||(i=document.createElement(\"style\"),i.setAttribute(\"id\",n),i.appendChild(document.createTextNode(\"\")),document.head.appendChild(i));var a=i.sheet;a?a.insertRule?a.insertRule(t+\"{\"+r+\"}\",0):a.addRule?a.addRule(t,r,0):ore.warn(\"addStyleRule failed\"):ore.warn(\"Cannot addRelatedStyleRule, probably due to strict CSP...\")}}function ptt(e){var t=\"plotly.js-style-\"+e,r=document.getElementById(t);r&&sre(r)}function gtt(e,t,r,n,i,a){var o=n.split(\":\"),s=i.split(\":\"),l=\"data-btn-style-event-added\";a||(a=document),a.querySelectorAll(e).forEach(function(u){u.getAttribute(l)||(u.addEventListener(\"mouseenter\",function(){var c=this.querySelector(r);c&&(c.style[o[0]]=o[1])}),u.addEventListener(\"mouseleave\",function(){var c=this.querySelector(r);c&&(t&&this.matches(t)?c.style[o[0]]=o[1]:c.style[s[0]]=s[1])}),u.setAttribute(l,!0))})}function mtt(e){var t=cre(e),r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return t.forEach(function(n){var i=ure(n);if(i){var a=ctt.convertCssMatrix(i);r=ftt.multiply(r,r,a)}}),r}function ure(e){var t=window.getComputedStyle(e,null),r=t.getPropertyValue(\"-webkit-transform\")||t.getPropertyValue(\"-moz-transform\")||t.getPropertyValue(\"-ms-transform\")||t.getPropertyValue(\"-o-transform\")||t.getPropertyValue(\"transform\");return r===\"none\"?null:r.replace(\"matrix\",\"\").replace(\"3d\",\"\").slice(1,-1).split(\",\").map(function(n){return+n})}function cre(e){for(var t=[];ytt(e);)t.push(e),e=e.parentNode,typeof ShadowRoot==\"function\"&&e instanceof ShadowRoot&&(e=e.host);return t}function ytt(e){return e&&(e instanceof Element||e instanceof HTMLElement)}function _tt(e,t){return e&&t&&e.top===t.top&&e.left===t.left&&e.right===t.right&&e.bottom===t.bottom}fre.exports={getGraphDiv:htt,isPlotDiv:dtt,removeElement:sre,addStyleRule:vtt,addRelatedStyleRule:lre,deleteRelatedStyleRule:ptt,setStyleOnHover:gtt,getFullTransformMatrix:mtt,getElementTransformMatrix:ure,getElementAndAncestors:cre,equalDomRects:_tt}});var zS=ye((jer,hre)=>{\"use strict\";hre.exports={mode:{valType:\"enumerated\",dflt:\"afterall\",values:[\"immediate\",\"next\",\"afterall\"]},direction:{valType:\"enumerated\",values:[\"forward\",\"reverse\"],dflt:\"forward\"},fromcurrent:{valType:\"boolean\",dflt:!1},frame:{duration:{valType:\"number\",min:0,dflt:500},redraw:{valType:\"boolean\",dflt:!0}},transition:{duration:{valType:\"number\",min:0,dflt:500,editType:\"none\"},easing:{valType:\"enumerated\",dflt:\"cubic-in-out\",values:[\"linear\",\"quad\",\"cubic\",\"sin\",\"exp\",\"circle\",\"elastic\",\"back\",\"bounce\",\"linear-in\",\"quad-in\",\"cubic-in\",\"sin-in\",\"exp-in\",\"circle-in\",\"elastic-in\",\"back-in\",\"bounce-in\",\"linear-out\",\"quad-out\",\"cubic-out\",\"sin-out\",\"exp-out\",\"circle-out\",\"elastic-out\",\"back-out\",\"bounce-out\",\"linear-in-out\",\"quad-in-out\",\"cubic-in-out\",\"sin-in-out\",\"exp-in-out\",\"circle-in-out\",\"elastic-in-out\",\"back-in-out\",\"bounce-in-out\"],editType:\"none\"},ordering:{valType:\"enumerated\",values:[\"layout first\",\"traces first\"],dflt:\"layout first\",editType:\"none\"}}}});var Bu=ye((Wer,_re)=>{\"use strict\";var vre=no().extendFlat,xtt=gy(),pre={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"clearAxisTypes\",\"plot\",\"style\",\"markerSize\",\"colorbars\"]},gre={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"plot\",\"legend\",\"ticks\",\"axrange\",\"layoutstyle\",\"modebar\",\"camera\",\"arraydraw\",\"colorbars\"]},btt=pre.flags.slice().concat([\"fullReplot\"]),wtt=gre.flags.slice().concat(\"layoutReplot\");_re.exports={traces:pre,layout:gre,traceFlags:function(){return dre(btt)},layoutFlags:function(){return dre(wtt)},update:function(e,t){var r=t.editType;if(r&&r!==\"none\")for(var n=r.split(\"+\"),i=0;i<n.length;i++)e[n[i]]=!0},overrideAll:mre};function dre(e){for(var t={},r=0;r<e.length;r++)t[e[r]]=!1;return t}function mre(e,t,r){var n=vre({},e);for(var i in n){var a=n[i];xtt(a)&&(n[i]=yre(a,t,r,i))}return r===\"from-root\"&&(n.editType=t),n}function yre(e,t,r,n){if(e.valType){var i=vre({},e);if(i.editType=t,Array.isArray(e.items)){i.items=new Array(e.items.length);for(var a=0;a<e.items.length;a++)i.items[a]=yre(e.items[a],t,\"from-root\")}return i}else return mre(e,t,n.charAt(0)===\"_\"?\"nested\":\"from-root\")}});var Ed=ye(Iq=>{\"use strict\";Iq.dash={valType:\"string\",values:[\"solid\",\"dot\",\"dash\",\"longdash\",\"dashdot\",\"longdashdot\"],dflt:\"solid\",editType:\"style\"};Iq.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\"}});var Rq=ye((Xer,xre)=>{\"use strict\";xre.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\"}});var Wo=ye(y6=>{\"use strict\";var bre=Rq(),Yer=bre.FORMAT_LINK,Ker=bre.DATE_FORMAT_LINK;function Dq(e){var t=e.description?\" \"+e.description:\"\",r=e.keys||[];if(r.length>0){for(var n=[],i=0;i<r.length;i++)n[i]=\"`\"+r[i]+\"`\";t=t+\"Finally, the template string has access to \",r.length===1?t=t+\"variable \"+n[0]:t=t+\"variables \"+n.slice(0,-1).join(\", \")+\" and \"+n.slice(-1)+\".\"}return t}y6.hovertemplateAttrs=function(e,t){e=e||{},t=t||{};var r=Dq(t),n={valType:\"string\",dflt:\"\",editType:e.editType||\"none\"};return e.arrayOk!==!1&&(n.arrayOk=!0),n};y6.texttemplateAttrs=function(e,t){e=e||{},t=t||{};var r=Dq(t),n={valType:\"string\",dflt:\"\",editType:e.editType||\"calc\"};return e.arrayOk!==!1&&(n.arrayOk=!0),n};y6.shapeTexttemplateAttrs=function(e,t){e=e||{},t=t||{};var r=e.newshape?\"new \":\"\",n=Dq(t),i={valType:\"string\",dflt:\"\",editType:e.editType||\"arraydraw\"};return i}});var b6=ye(($er,Ere)=>{\"use strict\";function j1(e,t){return t?t.d2l(e):e}function wre(e,t){return t?t.l2d(e):e}function Ttt(e){return e.x0}function Att(e){return e.x1}function Stt(e){return e.y0}function Mtt(e){return e.y1}function Tre(e){return e.x0shift||0}function Are(e){return e.x1shift||0}function Sre(e){return e.y0shift||0}function Mre(e){return e.y1shift||0}function _6(e,t){return j1(e.x1,t)+Are(e)-j1(e.x0,t)-Tre(e)}function x6(e,t,r){return j1(e.y1,r)+Mre(e)-j1(e.y0,r)-Sre(e)}function Ett(e,t){return Math.abs(_6(e,t))}function ktt(e,t,r){return Math.abs(x6(e,t,r))}function Ctt(e,t,r){return e.type!==\"line\"?void 0:Math.sqrt(Math.pow(_6(e,t),2)+Math.pow(x6(e,t,r),2))}function Ltt(e,t){return wre((j1(e.x1,t)+Are(e)+j1(e.x0,t)+Tre(e))/2,t)}function Ptt(e,t,r){return wre((j1(e.y1,r)+Mre(e)+j1(e.y0,r)+Sre(e))/2,r)}function Itt(e,t,r){return e.type!==\"line\"?void 0:x6(e,t,r)/_6(e,t)}Ere.exports={x0:Ttt,x1:Att,y0:Stt,y1:Mtt,slope:Itt,dx:_6,dy:x6,width:Ett,height:ktt,length:Ctt,xcenter:Ltt,ycenter:Ptt}});var Lre=ye((Qer,Cre)=>{\"use strict\";var Rtt=Bu().overrideAll,cb=vl(),kre=Su(),Dtt=Ed().dash,W1=no().extendFlat,ztt=Wo().shapeTexttemplateAttrs,Ftt=b6();Cre.exports=Rtt({newshape:{visible:W1({},cb.visible,{}),showlegend:{valType:\"boolean\",dflt:!1},legend:W1({},cb.legend,{}),legendgroup:W1({},cb.legendgroup,{}),legendgrouptitle:{text:W1({},cb.legendgrouptitle.text,{}),font:kre({})},legendrank:W1({},cb.legendrank,{}),legendwidth:W1({},cb.legendwidth,{}),line:{color:{valType:\"color\"},width:{valType:\"number\",min:0,dflt:4},dash:W1({},Dtt,{dflt:\"solid\"})},fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},fillrule:{valType:\"enumerated\",values:[\"evenodd\",\"nonzero\"],dflt:\"evenodd\"},opacity:{valType:\"number\",min:0,max:1,dflt:1},layer:{valType:\"enumerated\",values:[\"below\",\"above\",\"between\"],dflt:\"above\"},drawdirection:{valType:\"enumerated\",values:[\"ortho\",\"horizontal\",\"vertical\",\"diagonal\"],dflt:\"diagonal\"},name:W1({},cb.name,{}),label:{text:{valType:\"string\",dflt:\"\"},texttemplate:ztt({newshape:!0},{keys:Object.keys(Ftt)}),font:kre({}),textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\",\"start\",\"middle\",\"end\"]},textangle:{valType:\"angle\",dflt:\"auto\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"]},padding:{valType:\"number\",dflt:3,min:0}}},activeshape:{fillcolor:{valType:\"color\",dflt:\"rgb(255,0,255)\"},opacity:{valType:\"number\",min:0,max:1,dflt:.5}}},\"none\",\"from-root\")});var Ire=ye((etr,Pre)=>{\"use strict\";var qtt=Ed().dash,Ott=no().extendFlat;Pre.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:Ott({},qtt,{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\"}}});var w6=ye((ttr,Rre)=>{\"use strict\";Rre.exports=function(e){var t=e.editType;return{t:{valType:\"number\",dflt:0,editType:t},r:{valType:\"number\",dflt:0,editType:t},b:{valType:\"number\",dflt:0,editType:t},l:{valType:\"number\",dflt:0,editType:t},editType:t}}});var s3=ye((rtr,qre)=>{\"use strict\";var zq=Su(),Btt=zS(),T6=dh(),Dre=Lre(),zre=Ire(),Ntt=w6(),Fre=no().extendFlat,A6=zq({editType:\"calc\"});A6.family.dflt='\"Open Sans\", verdana, arial, sans-serif';A6.size.dflt=12;A6.color.dflt=T6.defaultLine;qre.exports={font:A6,title:{text:{valType:\"string\",editType:\"layoutstyle\"},font:zq({editType:\"layoutstyle\"}),subtitle:{text:{valType:\"string\",editType:\"layoutstyle\"},font:zq({editType:\"layoutstyle\"}),editType:\"layoutstyle\"},xref:{valType:\"enumerated\",dflt:\"container\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},yref:{valType:\"enumerated\",dflt:\"container\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},x:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"layoutstyle\"},y:{valType:\"number\",min:0,max:1,dflt:\"auto\",editType:\"layoutstyle\"},xanchor:{valType:\"enumerated\",dflt:\"auto\",values:[\"auto\",\"left\",\"center\",\"right\"],editType:\"layoutstyle\"},yanchor:{valType:\"enumerated\",dflt:\"auto\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],editType:\"layoutstyle\"},pad:Fre(Ntt({editType:\"layoutstyle\"}),{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},editType:\"layoutstyle\"},uniformtext:{mode:{valType:\"enumerated\",values:[!1,\"hide\",\"show\"],dflt:!1,editType:\"plot\"},minsize:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"},autosize:{valType:\"boolean\",dflt:!1,editType:\"none\"},width:{valType:\"number\",min:10,dflt:700,editType:\"plot\"},height:{valType:\"number\",min:10,dflt:450,editType:\"plot\"},minreducedwidth:{valType:\"number\",min:2,dflt:64,editType:\"plot\"},minreducedheight:{valType:\"number\",min:2,dflt:64,editType:\"plot\"},margin:{l:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},r:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},t:{valType:\"number\",min:0,dflt:100,editType:\"plot\"},b:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},autoexpand:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},computed:{valType:\"any\",editType:\"none\"},paper_bgcolor:{valType:\"color\",dflt:T6.background,editType:\"plot\"},plot_bgcolor:{valType:\"color\",dflt:T6.background,editType:\"layoutstyle\"},autotypenumbers:{valType:\"enumerated\",values:[\"convert types\",\"strict\"],dflt:\"convert types\",editType:\"calc\"},separators:{valType:\"string\",editType:\"plot\"},hidesources:{valType:\"boolean\",dflt:!1,editType:\"plot\"},showlegend:{valType:\"boolean\",editType:\"legend\"},colorway:{valType:\"colorlist\",dflt:T6.defaults,editType:\"calc\"},datarevision:{valType:\"any\",editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"},editrevision:{valType:\"any\",editType:\"none\"},selectionrevision:{valType:\"any\",editType:\"none\"},template:{valType:\"any\",editType:\"calc\"},newshape:Dre.newshape,activeshape:Dre.activeshape,newselection:zre.newselection,activeselection:zre.activeselection,meta:{valType:\"any\",arrayOk:!0,editType:\"plot\"},transition:Fre({},Btt.transition,{editType:\"none\"})}});var Ore=Ll(()=>{});var Utt={};var Bre=Ll(()=>{Ore()});var ba=ye(qs=>{\"use strict\";var l3=G1(),Nre=g6(),Ure=kq(),Vtt=gy(),Htt=DS().addStyleRule,Vre=no(),Gtt=vl(),jtt=s3(),Wtt=Vre.extendFlat,Fq=Vre.extendDeepAll;qs.modules={};qs.allCategories={};qs.allTypes=[];qs.subplotsRegistry={};qs.componentsRegistry={};qs.layoutArrayContainers=[];qs.layoutArrayRegexes=[];qs.traceLayoutAttributes={};qs.localeRegistry={};qs.apiMethodRegistry={};qs.collectableSubplotTypes=null;qs.register=function(t){if(qs.collectableSubplotTypes=null,t)t&&!Array.isArray(t)&&(t=[t]);else throw new Error(\"No argument passed to Plotly.register.\");for(var r=0;r<t.length;r++){var n=t[r];if(!n)throw new Error(\"Invalid module was attempted to be registered!\");switch(n.moduleType){case\"trace\":Ztt(n);break;case\"transform\":Ktt(n);break;case\"component\":Ytt(n);break;case\"locale\":Jtt(n);break;case\"apiMethod\":var i=n.name;qs.apiMethodRegistry[i]=n.fn;break;default:throw new Error(\"Invalid module was attempted to be registered!\")}}};qs.getModule=function(e){var t=qs.modules[Wre(e)];return t?t._module:!1};qs.traceIs=function(e,t){if(e=Wre(e),e===\"various\")return!1;var r=qs.modules[e];return r||(e&&l3.log(\"Unrecognized trace type \"+e+\".\"),r=qs.modules[Gtt.type.dflt]),!!r.categories[t]};qs.getComponentMethod=function(e,t){var r=qs.componentsRegistry[e];return r&&r[t]||Nre};qs.call=function(){var e=arguments[0],t=[].slice.call(arguments,1);return qs.apiMethodRegistry[e].apply(null,t)};function Ztt(e){var t=e.name,r=e.categories,n=e.meta;if(qs.modules[t]){l3.log(\"Type \"+t+\" already registered\");return}qs.subplotsRegistry[e.basePlotModule.name]||Xtt(e.basePlotModule);for(var i={},a=0;a<r.length;a++)i[r[a]]=!0,qs.allCategories[r[a]]=!0;qs.modules[t]={_module:e,categories:i},n&&Object.keys(n).length&&(qs.modules[t].meta=n),qs.allTypes.push(t);for(var o in qs.componentsRegistry)Gre(o,t);e.layoutAttributes&&Wtt(qs.traceLayoutAttributes,e.layoutAttributes);var s=e.basePlotModule,l=s.name;if(l===\"mapbox\"){var u=s.constants.styleRules;for(var c in u)Htt(\".js-plotly-plot .plotly .mapboxgl-\"+c,u[c])}l===\"map\"&&(Bre(),B1(Utt)),(l===\"geo\"||l===\"mapbox\"||l===\"map\")&&window.PlotlyGeoAssets===void 0&&(window.PlotlyGeoAssets={topojson:{}})}function Xtt(e){var t=e.name;if(qs.subplotsRegistry[t]){l3.log(\"Plot type \"+t+\" already registered.\");return}Hre(e),qs.subplotsRegistry[t]=e;for(var r in qs.componentsRegistry)jre(r,e.name)}function Ytt(e){if(typeof e.name!=\"string\")throw new Error(\"Component module *name* must be a string.\");var t=e.name;qs.componentsRegistry[t]=e,e.layoutAttributes&&(e.layoutAttributes._isLinkedToArray&&Ure(qs.layoutArrayContainers,t),Hre(e));for(var r in qs.modules)Gre(t,r);for(var n in qs.subplotsRegistry)jre(t,n);e.schema&&e.schema.layout&&Fq(jtt,e.schema.layout)}function Ktt(e){if(typeof e.name!=\"string\")throw new Error(\"Transform module *name* must be a string.\");var t=\"Transform module \"+e.name,r=typeof e.transform==\"function\",n=typeof e.calcTransform==\"function\";if(!r&&!n)throw new Error(t+\" is missing a *transform* or *calcTransform* method.\");r&&n&&l3.log([t+\" has both a *transform* and *calcTransform* methods.\",\"Please note that all *transform* methods are executed\",\"before all *calcTransform* methods.\"].join(\" \")),Vtt(e.attributes)||l3.log(t+\" registered without an *attributes* object.\"),typeof e.supplyDefaults!=\"function\"&&l3.log(t+\" registered without a *supplyDefaults* method.\")}function Jtt(e){var t=e.name,r=t.split(\"-\")[0],n=e.dictionary,i=e.format,a=n&&Object.keys(n).length,o=i&&Object.keys(i).length,s=qs.localeRegistry,l=s[t];if(l||(s[t]=l={}),r!==t){var u=s[r];u||(s[r]=u={}),a&&u.dictionary===l.dictionary&&(u.dictionary=n),o&&u.format===l.format&&(u.format=i)}a&&(l.dictionary=n),o&&(l.format=i)}function Hre(e){if(e.layoutAttributes){var t=e.layoutAttributes._arrayAttrRegexps;if(t)for(var r=0;r<t.length;r++)Ure(qs.layoutArrayRegexes,t[r])}}function Gre(e,t){var r=qs.componentsRegistry[e].schema;if(!(!r||!r.traces)){var n=r.traces[t];n&&Fq(qs.modules[t]._module.attributes,n)}}function jre(e,t){var r=qs.componentsRegistry[e].schema;if(!(!r||!r.subplots)){var n=qs.subplotsRegistry[t],i=n.layoutAttributes,a=n.attr===\"subplot\"?n.name:n.attr;Array.isArray(a)&&(a=a[0]);var o=r.subplots[a];i&&o&&Fq(i,o)}}function Wre(e){return typeof e==\"object\"&&(e=e.type),e}});var tie=ye(Yf=>{\"use strict\";var $tt=e3().timeFormat,Qre=uo(),qq=G1(),X1=r3().mod,f3=es(),_0=f3.BADNUM,wp=f3.ONEDAY,FS=f3.ONEHOUR,Z1=f3.ONEMIN,c3=f3.ONESEC,qS=f3.EPOCHJD,my=ba(),Zre=e3().utcFormat,Qtt=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\d)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d(:?\\d\\d)?)?)?)?)?)?\\s*$/m,ert=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\di?)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d(:?\\d\\d)?)?)?)?)?)?\\s*$/m,Xre=new Date().getFullYear()-70;function yy(e){return e&&my.componentsRegistry.calendars&&typeof e==\"string\"&&e!==\"gregorian\"}Yf.dateTick0=function(e,t){var r=trt(e,!!t);if(t<2)return r;var n=Yf.dateTime2ms(r,e);return n+=wp*(t-1),Yf.ms2DateTime(n,0,e)};function trt(e,t){return yy(e)?t?my.getComponentMethod(\"calendars\",\"CANONICAL_SUNDAY\")[e]:my.getComponentMethod(\"calendars\",\"CANONICAL_TICK\")[e]:t?\"2000-01-02\":\"2000-01-01\"}Yf.dfltRange=function(e){return yy(e)?my.getComponentMethod(\"calendars\",\"DFLTRANGE\")[e]:[\"2000-01-01\",\"2001-01-01\"]};Yf.isJSDate=function(e){return typeof e==\"object\"&&e!==null&&typeof e.getTime==\"function\"};var M6,E6;Yf.dateTime2ms=function(e,t){if(Yf.isJSDate(e)){var r=e.getTimezoneOffset()*Z1,n=(e.getUTCMinutes()-e.getMinutes())*Z1+(e.getUTCSeconds()-e.getSeconds())*c3+(e.getUTCMilliseconds()-e.getMilliseconds());if(n){var i=3*Z1;r=r-i/2+X1(n-r+i/2,i)}return e=Number(e)-r,e>=M6&&e<=E6?e:_0}if(typeof e!=\"string\"&&typeof e!=\"number\")return _0;e=String(e);var a=yy(t),o=e.charAt(0);a&&(o===\"G\"||o===\"g\")&&(e=e.substr(1),t=\"\");var s=a&&t.substr(0,7)===\"chinese\",l=e.match(s?ert:Qtt);if(!l)return _0;var u=l[1],c=l[3]||\"1\",f=Number(l[5]||1),h=Number(l[7]||0),d=Number(l[9]||0),v=Number(l[11]||0);if(a){if(u.length===2)return _0;u=Number(u);var x;try{var b=my.getComponentMethod(\"calendars\",\"getCal\")(t);if(s){var p=c.charAt(c.length-1)===\"i\";c=parseInt(c,10),x=b.newDate(u,b.toMonthIndex(u,c,p),f)}else x=b.newDate(u,Number(c),f)}catch(k){return _0}return x?(x.toJD()-qS)*wp+h*FS+d*Z1+v*c3:_0}u.length===2?u=(Number(u)+2e3-Xre)%100+Xre:u=Number(u),c-=1;var E=new Date(Date.UTC(2e3,c,f,h,d));return E.setUTCFullYear(u),E.getUTCMonth()!==c||E.getUTCDate()!==f?_0:E.getTime()+v*c3};M6=Yf.MIN_MS=Yf.dateTime2ms(\"-9999\");E6=Yf.MAX_MS=Yf.dateTime2ms(\"9999-12-31 23:59:59.9999\");Yf.isDateTime=function(e,t){return Yf.dateTime2ms(e,t)!==_0};function u3(e,t){return String(e+Math.pow(10,t)).substr(1)}var S6=90*wp,Yre=3*FS,Kre=5*Z1;Yf.ms2DateTime=function(e,t,r){if(typeof e!=\"number\"||!(e>=M6&&e<=E6))return _0;t||(t=0);var n=Math.floor(X1(e+.05,1)*10),i=Math.round(e-n/10),a,o,s,l,u,c;if(yy(r)){var f=Math.floor(i/wp)+qS,h=Math.floor(X1(e,wp));try{a=my.getComponentMethod(\"calendars\",\"getCal\")(r).fromJD(f).formatDate(\"yyyy-mm-dd\")}catch(d){a=Zre(\"G%Y-%m-%d\")(new Date(i))}if(a.charAt(0)===\"-\")for(;a.length<11;)a=\"-0\"+a.substr(1);else for(;a.length<10;)a=\"0\"+a;o=t<S6?Math.floor(h/FS):0,s=t<S6?Math.floor(h%FS/Z1):0,l=t<Yre?Math.floor(h%Z1/c3):0,u=t<Kre?h%c3*10+n:0}else c=new Date(i),a=Zre(\"%Y-%m-%d\")(c),o=t<S6?c.getUTCHours():0,s=t<S6?c.getUTCMinutes():0,l=t<Yre?c.getUTCSeconds():0,u=t<Kre?c.getUTCMilliseconds()*10+n:0;return eie(a,o,s,l,u)};Yf.ms2DateTimeLocal=function(e){if(!(e>=M6+wp&&e<=E6-wp))return _0;var t=Math.floor(X1(e+.05,1)*10),r=new Date(Math.round(e-t/10)),n=$tt(\"%Y-%m-%d\")(r),i=r.getHours(),a=r.getMinutes(),o=r.getSeconds(),s=r.getUTCMilliseconds()*10+t;return eie(n,i,a,o,s)};function eie(e,t,r,n,i){if((t||r||n||i)&&(e+=\" \"+u3(t,2)+\":\"+u3(r,2),(n||i)&&(e+=\":\"+u3(n,2),i))){for(var a=4;i%10===0;)a-=1,i/=10;e+=\".\"+u3(i,a)}return e}Yf.cleanDate=function(e,t,r){if(e===_0)return t;if(Yf.isJSDate(e)||typeof e==\"number\"&&isFinite(e)){if(yy(r))return qq.error(\"JS Dates and milliseconds are incompatible with world calendars\",e),t;if(e=Yf.ms2DateTimeLocal(+e),!e&&t!==void 0)return t}else if(!Yf.isDateTime(e,r))return qq.error(\"unrecognized date\",e),t;return e};var rrt=/%\\d?f/g,irt=/%h/g,nrt={1:\"1\",2:\"1\",3:\"2\",4:\"2\"};function Jre(e,t,r,n){e=e.replace(rrt,function(a){var o=Math.min(+a.charAt(1)||6,6),s=(t/1e3%1+2).toFixed(o).substr(2).replace(/0+$/,\"\")||\"0\";return s});var i=new Date(Math.floor(t+.05));if(e=e.replace(irt,function(){return nrt[r(\"%q\")(i)]}),yy(n))try{e=my.getComponentMethod(\"calendars\",\"worldCalFmt\")(e,t,n)}catch(a){return\"Invalid\"}return r(e)(i)}var art=[59,59.9,59.99,59.999,59.9999];function ort(e,t){var r=X1(e+.05,wp),n=u3(Math.floor(r/FS),2)+\":\"+u3(X1(Math.floor(r/Z1),60),2);if(t!==\"M\"){Qre(t)||(t=0);var i=Math.min(X1(e/c3,60),art[t]),a=(100+i).toFixed(t).substr(1);t>0&&(a=a.replace(/0+$/,\"\").replace(/[\\.]$/,\"\")),n+=\":\"+a}return n}Yf.formatDate=function(e,t,r,n,i,a){if(i=yy(i)&&i,!t)if(r===\"y\")t=a.year;else if(r===\"m\")t=a.month;else if(r===\"d\")t=a.dayMonth+`\n", - "`+a.year;else return ort(e,r)+`\n", - "`+Jre(a.dayMonthYear,e,n,i);return Jre(t,e,n,i)};var $re=3*wp;Yf.incrementMonth=function(e,t,r){r=yy(r)&&r;var n=X1(e,wp);if(e=Math.round(e-n),r)try{var i=Math.round(e/wp)+qS,a=my.getComponentMethod(\"calendars\",\"getCal\")(r),o=a.fromJD(i);return t%12?a.add(o,t,\"m\"):a.add(o,t/12,\"y\"),(o.toJD()-qS)*wp+n}catch(l){qq.error(\"invalid ms \"+e+\" in calendar \"+r)}var s=new Date(e+$re);return s.setUTCMonth(s.getUTCMonth()+t)+n-$re};Yf.findExactDates=function(e,t){for(var r=0,n=0,i=0,a=0,o,s,l=yy(t)&&my.getComponentMethod(\"calendars\",\"getCal\")(t),u=0;u<e.length;u++){if(s=e[u],!Qre(s)){a++;continue}if(!(s%wp))if(l)try{o=l.fromJD(s/wp+qS),o.day()===1?o.month()===1?r++:n++:i++}catch(f){}else o=new Date(s),o.getUTCDate()===1?o.getUTCMonth()===0?r++:n++:i++}n+=r,i+=n;var c=e.length-a;return{exactYears:r/c,exactMonths:n/c,exactDays:i/c}}});var OS=ye((ltr,rie)=>{\"use strict\";rie.exports=function(t){return t}});var k6=ye(_y=>{\"use strict\";var srt=uo(),lrt=G1(),urt=OS(),crt=es().BADNUM,Oq=1e-9;_y.findBin=function(e,t,r){if(srt(t.start))return r?Math.ceil((e-t.start)/t.size-Oq)-1:Math.floor((e-t.start)/t.size+Oq);var n=0,i=t.length,a=0,o=i>1?(t[i-1]-t[0])/(i-1):1,s,l;for(o>=0?l=r?frt:hrt:l=r?vrt:drt,e+=o*Oq*(r?-1:1)*(o>=0?1:-1);n<i&&a++<100;)s=Math.floor((n+i)/2),l(t[s],e)?n=s+1:i=s;return a>90&&lrt.log(\"Long binary search...\"),n-1};function frt(e,t){return e<t}function hrt(e,t){return e<=t}function drt(e,t){return e>t}function vrt(e,t){return e>=t}_y.sorterAsc=function(e,t){return e-t};_y.sorterDes=function(e,t){return t-e};_y.distinctVals=function(e){var t=e.slice();t.sort(_y.sorterAsc);var r;for(r=t.length-1;r>-1&&t[r]===crt;r--);for(var n=t[r]-t[0]||1,i=n/(r||1)/1e4,a=[],o,s=0;s<=r;s++){var l=t[s],u=l-o;o===void 0?(a.push(l),o=l):u>i&&(n=Math.min(n,u),a.push(l),o=l)}return{vals:a,minDiff:n}};_y.roundUp=function(e,t,r){for(var n=0,i=t.length-1,a,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;n<i&&o++<100;)a=u((n+i)/2),t[a]<=e?n=a+s:i=a-l;return t[n]};_y.sort=function(e,t){for(var r=0,n=0,i=1;i<e.length;i++){var a=t(e[i],e[i-1]);if(a<0?r=1:a>0&&(n=1),r&&n)return e.sort(t)}return n?e:e.reverse()};_y.findIndexOfMin=function(e,t){t=t||urt;for(var r=1/0,n,i=0;i<e.length;i++){var a=t(e[i]);a<r&&(r=a,n=i)}return n}});var Y1=ye((ctr,iie)=>{\"use strict\";iie.exports=function(t){return Object.keys(t).sort()}});var nie=ye(Kf=>{\"use strict\";var BS=uo(),prt=vv().isArrayOrTypedArray;Kf.aggNums=function(e,t,r,n){var i,a;if((!n||n>r.length)&&(n=r.length),BS(t)||(t=!1),prt(r[0])){for(a=new Array(n),i=0;i<n;i++)a[i]=Kf.aggNums(e,t,r[i]);r=a}for(i=0;i<n;i++)BS(t)?BS(r[i])&&(t=e(+t,+r[i])):t=r[i];return t};Kf.len=function(e){return Kf.aggNums(function(t){return t+1},0,e)};Kf.mean=function(e,t){return t||(t=Kf.len(e)),Kf.aggNums(function(r,n){return r+n},0,e)/t};Kf.geometricMean=function(e,t){return t||(t=Kf.len(e)),Math.pow(Kf.aggNums(function(r,n){return r*n},1,e),1/t)};Kf.midRange=function(e){if(!(e===void 0||e.length===0))return(Kf.aggNums(Math.max,null,e)+Kf.aggNums(Math.min,null,e))/2};Kf.variance=function(e,t,r){return t||(t=Kf.len(e)),BS(r)||(r=Kf.mean(e,t)),Kf.aggNums(function(n,i){return n+Math.pow(i-r,2)},0,e)/t};Kf.stdev=function(e,t,r){return Math.sqrt(Kf.variance(e,t,r))};Kf.median=function(e){var t=e.slice().sort();return Kf.interp(t,.5)};Kf.interp=function(e,t){if(!BS(t))throw\"n should be a finite number\";if(t=t*e.length-.5,t<0)return e[0];if(t>e.length-1)return e[e.length-1];var r=t%1;return r*e[Math.ceil(t)]+(1-r)*e[Math.floor(t)]}});var uie=ye((htr,lie)=>{\"use strict\";var aie=r3(),Bq=aie.mod,grt=aie.modHalf,NS=Math.PI,K1=2*NS;function mrt(e){return e/180*NS}function yrt(e){return e/NS*180}function Nq(e){return Math.abs(e[1]-e[0])>K1-1e-14}function oie(e,t){return grt(t-e,K1)}function _rt(e,t){return Math.abs(oie(e,t))}function sie(e,t){if(Nq(t))return!0;var r,n;t[0]<t[1]?(r=t[0],n=t[1]):(r=t[1],n=t[0]),r=Bq(r,K1),n=Bq(n,K1),r>n&&(n+=K1);var i=Bq(e,K1),a=i+K1;return i>=r&&i<=n||a>=r&&a<=n}function xrt(e,t,r,n){if(!sie(t,n))return!1;var i,a;return r[0]<r[1]?(i=r[0],a=r[1]):(i=r[1],a=r[0]),e>=i&&e<=a}function Uq(e,t,r,n,i,a,o){i=i||0,a=a||0;var s=Nq([r,n]),l,u,c,f,h;s?(l=0,u=NS,c=K1):r<n?(l=r,c=n):(l=n,c=r),e<t?(f=e,h=t):(f=t,h=e);function d(p,E){return[p*Math.cos(E)+i,a-p*Math.sin(E)]}var v=Math.abs(c-l)<=NS?0:1;function x(p,E,k){return\"A\"+[p,p]+\" \"+[0,v,k]+\" \"+d(p,E)}var b;return s?f===null?b=\"M\"+d(h,l)+x(h,u,0)+x(h,c,0)+\"Z\":b=\"M\"+d(f,l)+x(f,u,0)+x(f,c,0)+\"ZM\"+d(h,l)+x(h,u,1)+x(h,c,1)+\"Z\":f===null?(b=\"M\"+d(h,l)+x(h,c,0),o&&(b+=\"L0,0Z\")):b=\"M\"+d(f,l)+\"L\"+d(h,l)+x(h,c,0)+\"L\"+d(f,c)+x(f,l,1)+\"Z\",b}function brt(e,t,r,n,i){return Uq(null,e,t,r,n,i,0)}function wrt(e,t,r,n,i){return Uq(null,e,t,r,n,i,1)}function Trt(e,t,r,n,i,a){return Uq(e,t,r,n,i,a,1)}lie.exports={deg2rad:mrt,rad2deg:yrt,angleDelta:oie,angleDist:_rt,isFullCircle:Nq,isAngleInsideSector:sie,isPtInsideSector:xrt,pathArc:brt,pathSector:wrt,pathAnnulus:Trt}});var cie=ye(fb=>{\"use strict\";fb.isLeftAnchor=function(t){return t.xanchor===\"left\"||t.xanchor===\"auto\"&&t.x<=1/3};fb.isCenterAnchor=function(t){return t.xanchor===\"center\"||t.xanchor===\"auto\"&&t.x>1/3&&t.x<2/3};fb.isRightAnchor=function(t){return t.xanchor===\"right\"||t.xanchor===\"auto\"&&t.x>=2/3};fb.isTopAnchor=function(t){return t.yanchor===\"top\"||t.yanchor===\"auto\"&&t.y>=2/3};fb.isMiddleAnchor=function(t){return t.yanchor===\"middle\"||t.yanchor===\"auto\"&&t.y>1/3&&t.y<2/3};fb.isBottomAnchor=function(t){return t.yanchor===\"bottom\"||t.yanchor===\"auto\"&&t.y<=1/3}});var die=ye(hb=>{\"use strict\";var Vq=r3().mod;hb.segmentsIntersect=hie;function hie(e,t,r,n,i,a,o,s){var l=r-e,u=i-e,c=o-i,f=n-t,h=a-t,d=s-a,v=l*d-c*f;if(v===0)return null;var x=(u*d-c*h)/v,b=(u*f-l*h)/v;return b<0||b>1||x<0||x>1?null:{x:e+l*x,y:t+f*x}}hb.segmentDistance=function(t,r,n,i,a,o,s,l){if(hie(t,r,n,i,a,o,s,l))return 0;var u=n-t,c=i-r,f=s-a,h=l-o,d=u*u+c*c,v=f*f+h*h,x=Math.min(C6(u,c,d,a-t,o-r),C6(u,c,d,s-t,l-r),C6(f,h,v,t-a,r-o),C6(f,h,v,n-a,i-o));return Math.sqrt(x)};function C6(e,t,r,n,i){var a=n*e+i*t;if(a<0)return n*n+i*i;if(a>r){var o=n-e,s=i-t;return o*o+s*s}else{var l=n*t-i*e;return l*l/r}}var L6,Hq,fie;hb.getTextLocation=function(t,r,n,i){if((t!==Hq||i!==fie)&&(L6={},Hq=t,fie=i),L6[n])return L6[n];var a=t.getPointAtLength(Vq(n-i/2,r)),o=t.getPointAtLength(Vq(n+i/2,r)),s=Math.atan((o.y-a.y)/(o.x-a.x)),l=t.getPointAtLength(Vq(n,r)),u=(l.x*4+a.x+o.x)/6,c=(l.y*4+a.y+o.y)/6,f={x:u,y:c,theta:s};return L6[n]=f,f};hb.clearLocationCache=function(){Hq=null};hb.getVisibleSegment=function(t,r,n){var i=r.left,a=r.right,o=r.top,s=r.bottom,l=0,u=t.getTotalLength(),c=u,f,h;function d(x){var b=t.getPointAtLength(x);x===0?f=b:x===u&&(h=b);var p=b.x<i?i-b.x:b.x>a?b.x-a:0,E=b.y<o?o-b.y:b.y>s?b.y-s:0;return Math.sqrt(p*p+E*E)}for(var v=d(l);v;){if(l+=v+n,l>c)return;v=d(l)}for(v=d(c);v;){if(c-=v+n,l>c)return;v=d(c)}return{min:l,max:c,len:c-l,total:u,isClosed:l===0&&c===u&&Math.abs(f.x-h.x)<.1&&Math.abs(f.y-h.y)<.1}};hb.findPointOnPath=function(t,r,n,i){i=i||{};for(var a=i.pathLength||t.getTotalLength(),o=i.tolerance||.001,s=i.iterationLimit||30,l=t.getPointAtLength(0)[n]>t.getPointAtLength(a)[n]?-1:1,u=0,c=0,f=a,h,d,v;u<s;){if(h=(c+f)/2,d=t.getPointAtLength(h),v=d[n]-r,Math.abs(v)<o)return d;l*v>0?f=h:c=h,u++}return d}});var P6=ye(US=>{\"use strict\";var xy={};US.throttle=function(t,r,n){var i=xy[t],a=Date.now();if(!i){for(var o in xy)xy[o].ts<a-6e4&&delete xy[o];i=xy[t]={ts:0,timer:null}}vie(i);function s(){n(),i.ts=Date.now(),i.onDone&&(i.onDone(),i.onDone=null)}if(a>i.ts+r){s();return}i.timer=setTimeout(function(){s(),i.timer=null},r)};US.done=function(e){var t=xy[e];return!t||!t.timer?Promise.resolve():new Promise(function(r){var n=t.onDone;t.onDone=function(){n&&n(),r(),t.onDone=null}})};US.clear=function(e){if(e)vie(xy[e]),delete xy[e];else for(var t in xy)US.clear(t)};function vie(e){e&&e.timer!==null&&(clearTimeout(e.timer),e.timer=null)}});var gie=ye((gtr,pie)=>{\"use strict\";pie.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener(\"resize\",t._responsiveChartHandler),delete t._responsiveChartHandler)}});var mie=ye((mtr,I6)=>{\"use strict\";I6.exports=Gq;I6.exports.isMobile=Gq;I6.exports.default=Gq;var Art=/(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,Srt=/CrOS/,Mrt=/android|ipad|playbook|silk/i;function Gq(e){e||(e={});let t=e.ua;if(!t&&typeof navigator!=\"undefined\"&&(t=navigator.userAgent),t&&t.headers&&typeof t.headers[\"user-agent\"]==\"string\"&&(t=t.headers[\"user-agent\"]),typeof t!=\"string\")return!1;let r=Art.test(t)&&!Srt.test(t)||!!e.tablet&&Mrt.test(t);return!r&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&t.indexOf(\"Macintosh\")!==-1&&t.indexOf(\"Safari\")!==-1&&(r=!0),r}});var _ie=ye((ytr,yie)=>{\"use strict\";var Ert=uo(),krt=mie();yie.exports=function(t){var r;if(t&&t.hasOwnProperty(\"userAgent\")?r=t.userAgent:r=Crt(),typeof r!=\"string\")return!0;var n=krt({ua:{headers:{\"user-agent\":r}},tablet:!0,featureDetect:!1});if(!n)for(var i=r.split(\" \"),a=1;a<i.length;a++){var o=i[a];if(o.indexOf(\"Safari\")!==-1)for(var s=a-1;s>-1;s--){var l=i[s];if(l.substr(0,8)===\"Version/\"){var u=l.substr(8).split(\".\")[0];if(Ert(u)&&(u=+u),u>=13)return!0}}}return n};function Crt(){var e;return typeof navigator!=\"undefined\"&&(e=navigator.userAgent),e&&e.headers&&typeof e.headers[\"user-agent\"]==\"string\"&&(e=e.headers[\"user-agent\"]),e}});var bie=ye((_tr,xie)=>{\"use strict\";var Lrt=xa();xie.exports=function(t,r,n){var i=t.selectAll(\"g.\"+n.replace(/\\s/g,\".\")).data(r,function(o){return o[0].trace.uid});i.exit().remove(),i.enter().append(\"g\").attr(\"class\",n),i.order();var a=t.classed(\"rangeplot\")?\"nodeRangePlot3\":\"node3\";return i.each(function(o){o[0][a]=Lrt.select(this)}),i}});var Tie=ye((xtr,wie)=>{\"use strict\";var Prt=ba();wie.exports=function(t,r){for(var n=t._context.locale,i=0;i<2;i++){for(var a=t._context.locales,o=0;o<2;o++){var s=(a[n]||{}).dictionary;if(s){var l=s[r];if(l)return l}a=Prt.localeRegistry}var u=n.split(\"-\")[0];if(u===n)break;n=u}return r}});var jq=ye((btr,Aie)=>{\"use strict\";Aie.exports=function(t){for(var r={},n=[],i=0,a=0;a<t.length;a++){var o=t[a];r[o]!==1&&(r[o]=1,n[i++]=o)}return n}});var Mie=ye((wtr,Sie)=>{\"use strict\";Sie.exports=function(t){for(var r=Drt(t)?Rrt:Irt,n=[],i=0;i<t.length;i++){var a=t[i];r(a)&&n.push(a)}return n};function Irt(e){return e.visible===!0}function Rrt(e){var t=e[0].trace;return t.visible===!0&&t._length!==0}function Drt(e){return Array.isArray(e)&&Array.isArray(e[0])&&e[0][0]&&e[0][0].trace}});var kie=ye((Ttr,Eie)=>{\"use strict\";Eie.exports=function(t,r){if(!r)return t;var n=1/Math.abs(r),i=n>1?(n*t+n*r)/n:t+r,a=String(i).length;if(a>16){var o=String(r).length,s=String(t).length;if(a>=s+o){var l=parseFloat(i).toPrecision(12);l.indexOf(\"e+\")===-1&&(i=+l)}}return i}});var Lie=ye((Atr,Cie)=>{\"use strict\";var zrt=uo(),Frt=es().BADNUM,qrt=/^['\"%,$#\\s']+|[, ]|['\"%,$#\\s']+$/g;Cie.exports=function(t){return typeof t==\"string\"&&(t=t.replace(qrt,\"\")),zrt(t)?Number(t):Frt}});var Mr=ye((Str,Hie)=>{\"use strict\";var VS=xa(),Ort=e3().utcFormat,Brt=vq().format,Fie=uo(),qie=es(),Oie=qie.FP_SAFE,Nrt=-Oie,Pie=qie.BADNUM,li=Hie.exports={};li.adjustFormat=function(t){return!t||/^\\d[.]\\df/.test(t)||/[.]\\d%/.test(t)?t:t===\"0.f\"?\"~f\":/^\\d%/.test(t)?\"~%\":/^\\ds/.test(t)?\"~s\":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?\"~\"+t:t};var Iie={};li.warnBadFormat=function(e){var t=String(e);Iie[t]||(Iie[t]=1,li.warn('encountered bad format: \"'+t+'\"'))};li.noFormat=function(e){return String(e)};li.numberFormat=function(e){var t;try{t=Brt(li.adjustFormat(e))}catch(r){return li.warnBadFormat(e),li.noFormat}return t};li.nestedProperty=ES();li.keyedContainer=Tee();li.relativeAttr=See();li.isPlainObject=gy();li.toLogRange=u6();li.relinkPrivateKeys=Cee();var J1=vv();li.isArrayBuffer=J1.isArrayBuffer;li.isTypedArray=J1.isTypedArray;li.isArrayOrTypedArray=J1.isArrayOrTypedArray;li.isArray1D=J1.isArray1D;li.ensureArray=J1.ensureArray;li.concat=J1.concat;li.maxRowLength=J1.maxRowLength;li.minRowLength=J1.minRowLength;var Bie=r3();li.mod=Bie.mod;li.modHalf=Bie.modHalf;var $1=Xee();li.valObjectMeta=$1.valObjectMeta;li.coerce=$1.coerce;li.coerce2=$1.coerce2;li.coerceFont=$1.coerceFont;li.coercePattern=$1.coercePattern;li.coerceHoverinfo=$1.coerceHoverinfo;li.coerceSelectionMarkerOpacity=$1.coerceSelectionMarkerOpacity;li.validate=$1.validate;var Wp=tie();li.dateTime2ms=Wp.dateTime2ms;li.isDateTime=Wp.isDateTime;li.ms2DateTime=Wp.ms2DateTime;li.ms2DateTimeLocal=Wp.ms2DateTimeLocal;li.cleanDate=Wp.cleanDate;li.isJSDate=Wp.isJSDate;li.formatDate=Wp.formatDate;li.incrementMonth=Wp.incrementMonth;li.dateTick0=Wp.dateTick0;li.dfltRange=Wp.dfltRange;li.findExactDates=Wp.findExactDates;li.MIN_MS=Wp.MIN_MS;li.MAX_MS=Wp.MAX_MS;var db=k6();li.findBin=db.findBin;li.sorterAsc=db.sorterAsc;li.sorterDes=db.sorterDes;li.distinctVals=db.distinctVals;li.roundUp=db.roundUp;li.sort=db.sort;li.findIndexOfMin=db.findIndexOfMin;li.sortObjectKeys=Y1();var by=nie();li.aggNums=by.aggNums;li.len=by.len;li.mean=by.mean;li.geometricMean=by.geometricMean;li.median=by.median;li.midRange=by.midRange;li.variance=by.variance;li.stdev=by.stdev;li.interp=by.interp;var yg=m6();li.init2dArray=yg.init2dArray;li.transposeRagged=yg.transposeRagged;li.dot=yg.dot;li.translationMatrix=yg.translationMatrix;li.rotationMatrix=yg.rotationMatrix;li.rotationXYMatrix=yg.rotationXYMatrix;li.apply3DTransform=yg.apply3DTransform;li.apply2DTransform=yg.apply2DTransform;li.apply2DTransform2=yg.apply2DTransform2;li.convertCssMatrix=yg.convertCssMatrix;li.inverseTransformMatrix=yg.inverseTransformMatrix;var vm=uie();li.deg2rad=vm.deg2rad;li.rad2deg=vm.rad2deg;li.angleDelta=vm.angleDelta;li.angleDist=vm.angleDist;li.isFullCircle=vm.isFullCircle;li.isAngleInsideSector=vm.isAngleInsideSector;li.isPtInsideSector=vm.isPtInsideSector;li.pathArc=vm.pathArc;li.pathSector=vm.pathSector;li.pathAnnulus=vm.pathAnnulus;var d3=cie();li.isLeftAnchor=d3.isLeftAnchor;li.isCenterAnchor=d3.isCenterAnchor;li.isRightAnchor=d3.isRightAnchor;li.isTopAnchor=d3.isTopAnchor;li.isMiddleAnchor=d3.isMiddleAnchor;li.isBottomAnchor=d3.isBottomAnchor;var v3=die();li.segmentsIntersect=v3.segmentsIntersect;li.segmentDistance=v3.segmentDistance;li.getTextLocation=v3.getTextLocation;li.clearLocationCache=v3.clearLocationCache;li.getVisibleSegment=v3.getVisibleSegment;li.findPointOnPath=v3.findPointOnPath;var z6=no();li.extendFlat=z6.extendFlat;li.extendDeep=z6.extendDeep;li.extendDeepAll=z6.extendDeepAll;li.extendDeepNoArrays=z6.extendDeepNoArrays;var Wq=G1();li.log=Wq.log;li.warn=Wq.warn;li.error=Wq.error;var Urt=n3();li.counterRegex=Urt.counter;var Zq=P6();li.throttle=Zq.throttle;li.throttleDone=Zq.done;li.clearThrottle=Zq.clear;var _g=DS();li.getGraphDiv=_g.getGraphDiv;li.isPlotDiv=_g.isPlotDiv;li.removeElement=_g.removeElement;li.addStyleRule=_g.addStyleRule;li.addRelatedStyleRule=_g.addRelatedStyleRule;li.deleteRelatedStyleRule=_g.deleteRelatedStyleRule;li.setStyleOnHover=_g.setStyleOnHover;li.getFullTransformMatrix=_g.getFullTransformMatrix;li.getElementTransformMatrix=_g.getElementTransformMatrix;li.getElementAndAncestors=_g.getElementAndAncestors;li.equalDomRects=_g.equalDomRects;li.clearResponsive=gie();li.preserveDrawingBuffer=_ie();li.makeTraceGroups=bie();li._=Tie();li.notifier=Sq();li.filterUnique=jq();li.filterVisible=Mie();li.pushUnique=kq();li.increment=kie();li.cleanNumber=Lie();li.ensureNumber=function(t){return Fie(t)?(t=Number(t),t>Oie||t<Nrt?Pie:t):Pie};li.isIndex=function(e,t){return t!==void 0&&e>=t?!1:Fie(e)&&e>=0&&e%1===0};li.noop=g6();li.identity=OS();li.repeat=function(e,t){for(var r=new Array(t),n=0;n<t;n++)r[n]=e;return r};li.swapAttrs=function(e,t,r,n){r||(r=\"x\"),n||(n=\"y\");for(var i=0;i<t.length;i++){var a=t[i],o=li.nestedProperty(e,a.replace(\"?\",r)),s=li.nestedProperty(e,a.replace(\"?\",n)),l=o.get();o.set(s.get()),s.set(l)}};li.raiseToTop=function(t){t.parentNode.appendChild(t)};li.cancelTransition=function(e){return e.transition().duration(0)};li.constrain=function(e,t,r){return t>r?Math.max(r,Math.min(t,e)):Math.max(t,Math.min(r,e))};li.bBoxIntersect=function(e,t,r){return r=r||0,e.left<=t.right+r&&t.left<=e.right+r&&e.top<=t.bottom+r&&t.top<=e.bottom+r};li.simpleMap=function(e,t,r,n,i){for(var a=e.length,o=new Array(a),s=0;s<a;s++)o[s]=t(e[s],r,n,i);return o};li.randstr=function e(t,r,n,i){if(n||(n=16),r===void 0&&(r=24),r<=0)return\"0\";var a=Math.log(Math.pow(2,r))/Math.log(n),o=\"\",s,l,u;for(s=2;a===1/0;s*=2)a=Math.log(Math.pow(2,r/s))/Math.log(n)*s;var c=a-Math.floor(a);for(s=0;s<Math.floor(a);s++)u=Math.floor(Math.random()*n).toString(n),o=u+o;c&&(l=Math.pow(n,c),u=Math.floor(Math.random()*l).toString(n),o=u+o);var f=parseInt(o,n);return t&&t[o]||f!==1/0&&f>=Math.pow(2,r)?i>10?(li.warn(\"randstr failed uniqueness\"),o):e(t,r,n,(i||0)+1):o};li.OptionControl=function(e,t){e||(e={}),t||(t=\"opt\");var r={};return r.optionList=[],r._newoption=function(n){n[t]=e,r[n.name]=n,r.optionList.push(n)},r[\"_\"+t]=e,r};li.smooth=function(e,t){if(t=Math.round(t)||0,t<2)return e;var r=e.length,n=2*r,i=2*t-1,a=new Array(i),o=new Array(r),s,l,u,c;for(s=0;s<i;s++)a[s]=(1-Math.cos(Math.PI*(s+1)/t))/(2*t);for(s=0;s<r;s++){for(c=0,l=0;l<i;l++)u=s+l+1-t,u<-r?u-=n*Math.round(u/n):u>=n&&(u-=n*Math.floor(u/n)),u<0?u=-1-u:u>=r&&(u=n-1-u),c+=e[u]*a[l];o[s]=c}return o};li.syncOrAsync=function(e,t,r){var n,i;function a(){return li.syncOrAsync(e,t,r)}for(;e.length;)if(i=e.splice(0,1)[0],n=i(t),n&&n.then)return n.then(a);return r&&r(t)};li.stripTrailingSlash=function(e){return e.substr(-1)===\"/\"?e.substr(0,e.length-1):e};li.noneOrAll=function(e,t,r){if(e){var n=!1,i=!0,a,o;for(a=0;a<r.length;a++)o=e[r[a]],o!=null?n=!0:i=!1;if(n&&!i)for(a=0;a<r.length;a++)e[r[a]]=t[r[a]]}};li.mergeArray=function(e,t,r,n){var i=typeof n==\"function\";if(li.isArrayOrTypedArray(e))for(var a=Math.min(e.length,t.length),o=0;o<a;o++){var s=e[o];t[o][r]=i?n(s):s}};li.mergeArrayCastPositive=function(e,t,r){return li.mergeArray(e,t,r,function(n){var i=+n;return isFinite(i)&&i>0?i:0})};li.fillArray=function(e,t,r,n){if(n=n||li.identity,li.isArrayOrTypedArray(e))for(var i=0;i<t.length;i++)t[i][r]=n(e[i])};li.castOption=function(e,t,r,n){n=n||li.identity;var i=li.nestedProperty(e,r).get();return li.isArrayOrTypedArray(i)?Array.isArray(t)&&li.isArrayOrTypedArray(i[t[0]])?n(i[t[0]][t[1]]):n(i[t]):i};li.extractOption=function(e,t,r,n){if(r in e)return e[r];var i=li.nestedProperty(t,n).get();if(!Array.isArray(i))return i};function Nie(e){var t={};for(var r in e)for(var n=e[r],i=0;i<n.length;i++)t[n[i]]=+r;return t}li.tagSelected=function(e,t,r){var n=t.selectedpoints,i=t._indexToPoints,a;i&&(a=Nie(i));function o(f){return f!==void 0&&f<e.length}for(var s=0;s<n.length;s++){var l=n[s];if(li.isIndex(l)||li.isArrayOrTypedArray(l)&&li.isIndex(l[0])&&li.isIndex(l[1])){var u=a?a[l]:l,c=r?r[u]:u;o(c)&&(e[c].selected=1)}}};li.selIndices2selPoints=function(e){var t=e.selectedpoints,r=e._indexToPoints;if(r){for(var n=Nie(r),i=[],a=0;a<t.length;a++){var o=t[a];if(li.isIndex(o)){var s=n[o];li.isIndex(s)&&i.push(s)}}return i}else return t};li.getTargetArray=function(e,t){var r=t.target;if(typeof r==\"string\"&&r){var n=li.nestedProperty(e,r).get();return li.isArrayOrTypedArray(n)?n:!1}else if(li.isArrayOrTypedArray(r))return r;return!1};function Uie(e,t,r){var n={};typeof t!=\"object\"&&(t={});var i=r===\"pieLike\"?-1:3,a=Object.keys(e),o,s,l;for(o=0;o<a.length;o++)s=a[o],l=e[s],!(s.charAt(0)===\"_\"||typeof l==\"function\")&&(s===\"module\"?n[s]=l:Array.isArray(l)?s===\"colorscale\"||i===-1?n[s]=l.slice():n[s]=l.slice(0,i):li.isTypedArray(l)?i===-1?n[s]=l.subarray():n[s]=l.subarray(0,i):l&&typeof l==\"object\"?n[s]=Uie(e[s],t[s],r):n[s]=l);for(a=Object.keys(t),o=0;o<a.length;o++)s=a[o],l=t[s],(typeof l!=\"object\"||!(s in n)||typeof n[s]!=\"object\")&&(n[s]=l);return n}li.minExtend=Uie;li.titleCase=function(e){return e.charAt(0).toUpperCase()+e.substr(1)};li.containsAny=function(e,t){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])!==-1)return!0;return!1};var Vrt=/Version\\/[\\d\\.]+.*Safari/;li.isSafari=function(){return Vrt.test(window.navigator.userAgent)};var Hrt=/iPad|iPhone|iPod/;li.isIOS=function(){return Hrt.test(window.navigator.userAgent)};var Grt=/Firefox\\/(\\d+)\\.\\d+/;li.getFirefoxVersion=function(){var e=Grt.exec(window.navigator.userAgent);if(e&&e.length===2){var t=parseInt(e[1]);if(!isNaN(t))return t}return null};li.isD3Selection=function(e){return e instanceof VS.selection};li.ensureSingle=function(e,t,r,n){var i=e.select(t+(r?\".\"+r:\"\"));if(i.size())return i;var a=e.append(t);return r&&a.classed(r,!0),n&&a.call(n),a};li.ensureSingleById=function(e,t,r,n){var i=e.select(t+\"#\"+r);if(i.size())return i;var a=e.append(t).attr(\"id\",r);return n&&a.call(n),a};li.objectFromPath=function(e,t){for(var r=e.split(\".\"),n,i=n={},a=0;a<r.length;a++){var o=r[a],s=null,l=r[a].match(/(.*)\\[([0-9]+)\\]/);l?(o=l[1],s=l[2],n=n[o]=[],a===r.length-1?n[s]=t:n[s]={},n=n[s]):(a===r.length-1?n[o]=t:n[o]={},n=n[o])}return i};var jrt=/^([^\\[\\.]+)\\.(.+)?/,Wrt=/^([^\\.]+)\\[([0-9]+)\\](\\.)?(.+)?/;function R6(e){return e.slice(0,2)===\"__\"}li.expandObjectPaths=function(e){var t,r,n,i,a,o,s;if(typeof e==\"object\"&&!Array.isArray(e)){for(r in e)if(e.hasOwnProperty(r))if(t=r.match(jrt)){if(i=e[r],n=t[1],R6(n))continue;delete e[r],e[n]=li.extendDeepNoArrays(e[n]||{},li.objectFromPath(r,li.expandObjectPaths(i))[n])}else if(t=r.match(Wrt)){if(i=e[r],n=t[1],R6(n))continue;if(a=parseInt(t[2]),delete e[r],e[n]=e[n]||[],t[3]===\".\")s=t[4],o=e[n][a]=e[n][a]||{},li.extendDeepNoArrays(o,li.objectFromPath(s,li.expandObjectPaths(i)));else{if(R6(n))continue;e[n][a]=li.expandObjectPaths(i)}}else{if(R6(r))continue;e[r]=li.expandObjectPaths(e[r])}}return e};li.numSeparate=function(e,t,r){if(r||(r=!1),typeof t!=\"string\"||t.length===0)throw new Error(\"Separator string required for formatting!\");typeof e==\"number\"&&(e=String(e));var n=/(\\d+)(\\d{3})/,i=t.charAt(0),a=t.charAt(1),o=e.split(\".\"),s=o[0],l=o.length>1?i+o[1]:\"\";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,\"$1\"+a+\"$2\");return s+l};li.TEMPLATE_STRING_REGEX=/%{([^\\s%{}:]*)([:|\\|][^}]*)?}/g;var Vie=/^\\w*$/;li.templateString=function(e,t){var r={};return e.replace(li.TEMPLATE_STRING_REGEX,function(n,i){var a;return Vie.test(i)?a=t[i]:(r[i]=r[i]||li.nestedProperty(t,i).get,a=r[i](!0)),a!==void 0?a:\"\"})};var Zrt={max:10,count:0,name:\"hovertemplate\"};li.hovertemplateString=function(){return Xq.apply(Zrt,arguments)};var Xrt={max:10,count:0,name:\"texttemplate\"};li.texttemplateString=function(){return Xq.apply(Xrt,arguments)};var Yrt=/^(\\S+)([\\*\\/])(-?\\d+(\\.\\d+)?)$/;function Krt(e){var t=e.match(Yrt);return t?{key:t[1],op:t[2],number:Number(t[3])}:{key:e,op:null,number:null}}var Jrt={max:10,count:0,name:\"texttemplate\",parseMultDiv:!0};li.texttemplateStringForShapes=function(){return Xq.apply(Jrt,arguments)};var Rie=/^[:|\\|]/;function Xq(e,t,r){var n=this,i=arguments;return t||(t={}),e.replace(li.TEMPLATE_STRING_REGEX,function(a,o,s){var l=o===\"xother\"||o===\"yother\",u=o===\"_xother\"||o===\"_yother\",c=o===\"_xother_\"||o===\"_yother_\",f=o===\"xother_\"||o===\"yother_\",h=l||u||f||c,d=o;(u||c)&&(d=d.substring(1)),(f||c)&&(d=d.substring(0,d.length-1));var v=null,x=null;if(n.parseMultDiv){var b=Krt(d);d=b.key,v=b.op,x=b.number}var p;if(h){if(p=t[d],p===void 0)return\"\"}else{var E,k;for(k=3;k<i.length;k++)if(E=i[k],!!E){if(E.hasOwnProperty(d)){p=E[d];break}if(Vie.test(d)||(p=li.nestedProperty(E,d).get(!0)),p!==void 0)break}}if(p!==void 0&&(v===\"*\"&&(p*=x),v===\"/\"&&(p/=x)),p===void 0&&n)return n.count<n.max&&(li.warn(\"Variable '\"+d+\"' in \"+n.name+\" could not be found!\"),p=a),n.count===n.max&&li.warn(\"Too many \"+n.name+\" warnings - additional warnings will be suppressed\"),n.count++,a;if(s){var A;if(s[0]===\":\"&&(A=r?r.numberFormat:li.numberFormat,p!==\"\"&&(p=A(s.replace(Rie,\"\"))(p))),s[0]===\"|\"){A=r?r.timeFormat:Ort;var L=li.dateTime2ms(p);p=li.formatDate(L,s.replace(Rie,\"\"),!1,A)}}else{var _=d+\"Label\";t.hasOwnProperty(_)&&(p=t[_])}return h&&(p=\"(\"+p+\")\",(u||c)&&(p=\" \"+p),(f||c)&&(p=p+\" \")),p})}var D6=48,Die=57;li.subplotSort=function(e,t){for(var r=Math.min(e.length,t.length)+1,n=0,i=0,a=0;a<r;a++){var o=e.charCodeAt(a)||0,s=t.charCodeAt(a)||0,l=o>=D6&&o<=Die,u=s>=D6&&s<=Die;if(l&&(n=10*n+o-D6),u&&(i=10*i+s-D6),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var h3=2e9;li.seedPseudoRandom=function(){h3=2e9};li.pseudoRandom=function(){var e=h3;return h3=(69069*h3+1)%4294967296,Math.abs(h3-e)<429496729?li.pseudoRandom():h3/4294967296};li.fillText=function(e,t,r){var n=Array.isArray(r)?function(o){r.push(o)}:function(o){r.text=o},i=li.extractOption(e,t,\"htx\",\"hovertext\");if(li.isValidTextValue(i))return n(i);var a=li.extractOption(e,t,\"tx\",\"text\");if(li.isValidTextValue(a))return n(a)};li.isValidTextValue=function(e){return e||e===0};li.formatPercent=function(e,t){t=t||0;for(var r=(Math.round(100*e*Math.pow(10,t))*Math.pow(.1,t)).toFixed(t)+\"%\",n=0;n<t;n++)r.indexOf(\".\")!==-1&&(r=r.replace(\"0%\",\"%\"),r=r.replace(\".%\",\"%\"));return r};li.isHidden=function(e){var t=window.getComputedStyle(e).display;return!t||t===\"none\"};li.strTranslate=function(e,t){return e||t?\"translate(\"+e+\",\"+t+\")\":\"\"};li.strRotate=function(e){return e?\"rotate(\"+e+\")\":\"\"};li.strScale=function(e){return e!==1?\"scale(\"+e+\")\":\"\"};li.getTextTransform=function(e){var t=e.noCenter,r=e.textX,n=e.textY,i=e.targetX,a=e.targetY,o=e.anchorX||0,s=e.anchorY||0,l=e.rotate,u=e.scale;return u?u>1&&(u=1):u=0,li.strTranslate(i-u*(r+o),a-u*(n+s))+li.strScale(u)+(l?\"rotate(\"+l+(t?\"\":\" \"+r+\" \"+n)+\")\":\"\")};li.setTransormAndDisplay=function(e,t){e.attr(\"transform\",li.getTextTransform(t)),e.style(\"display\",t.scale?null:\"none\")};li.ensureUniformFontSize=function(e,t){var r=li.extendFlat({},t);return r.size=Math.max(t.size,e._fullLayout.uniformtext.minsize||0),r};li.join2=function(e,t,r){var n=e.length;return n>1?e.slice(0,-1).join(t)+r+e[n-1]:e.join(t)};li.bigFont=function(e){return Math.round(1.2*e)};var zie=li.getFirefoxVersion(),$rt=zie!==null&&zie<86;li.getPositionFromD3Event=function(){return $rt?[VS.event.layerX,VS.event.layerY]:[VS.event.offsetX,VS.event.offsetY]}});var Wie=ye(()=>{\"use strict\";var Qrt=Mr(),Gie={\"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 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(Yq in Gie)jie=Yq.replace(/^,/,\" ,\").replace(/X/g,\".js-plotly-plot .plotly\").replace(/Y/g,\".plotly-notifier\"),Qrt.addStyleRule(jie,Gie[Yq]);var jie,Yq});var Kq=ye((ktr,Zie)=>{Zie.exports=!0});var $q=ye((Ctr,Xie)=>{\"use strict\";var eit=Kq(),Jq;typeof window.matchMedia==\"function\"?Jq=!window.matchMedia(\"(hover: none)\").matches:Jq=eit;Xie.exports=Jq});var vb=ye((Ltr,Qq)=>{\"use strict\";var p3=typeof Reflect==\"object\"?Reflect:null,Yie=p3&&typeof p3.apply==\"function\"?p3.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},F6;p3&&typeof p3.ownKeys==\"function\"?F6=p3.ownKeys:Object.getOwnPropertySymbols?F6=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:F6=function(t){return Object.getOwnPropertyNames(t)};function tit(e){console&&console.warn&&console.warn(e)}var Jie=Number.isNaN||function(t){return t!==t};function Tc(){Tc.init.call(this)}Qq.exports=Tc;Qq.exports.once=ait;Tc.EventEmitter=Tc;Tc.prototype._events=void 0;Tc.prototype._eventsCount=0;Tc.prototype._maxListeners=void 0;var Kie=10;function q6(e){if(typeof e!=\"function\")throw new TypeError('The \"listener\" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(Tc,\"defaultMaxListeners\",{enumerable:!0,get:function(){return Kie},set:function(e){if(typeof e!=\"number\"||e<0||Jie(e))throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received '+e+\".\");Kie=e}});Tc.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};Tc.prototype.setMaxListeners=function(t){if(typeof t!=\"number\"||t<0||Jie(t))throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received '+t+\".\");return this._maxListeners=t,this};function $ie(e){return e._maxListeners===void 0?Tc.defaultMaxListeners:e._maxListeners}Tc.prototype.getMaxListeners=function(){return $ie(this)};Tc.prototype.emit=function(t){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=t===\"error\",a=this._events;if(a!==void 0)i=i&&a.error===void 0;else if(!i)return!1;if(i){var o;if(r.length>0&&(o=r[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(l===void 0)return!1;if(typeof l==\"function\")Yie(l,this,r);else for(var u=l.length,c=ine(l,u),n=0;n<u;++n)Yie(c[n],this,r);return!0};function Qie(e,t,r,n){var i,a,o;if(q6(r),a=e._events,a===void 0?(a=e._events=Object.create(null),e._eventsCount=0):(a.newListener!==void 0&&(e.emit(\"newListener\",t,r.listener?r.listener:r),a=e._events),o=a[t]),o===void 0)o=a[t]=r,++e._eventsCount;else if(typeof o==\"function\"?o=a[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),i=$ie(e),i>0&&o.length>i&&!o.warned){o.warned=!0;var s=new Error(\"Possible EventEmitter memory leak detected. \"+o.length+\" \"+String(t)+\" listeners added. Use emitter.setMaxListeners() to increase limit\");s.name=\"MaxListenersExceededWarning\",s.emitter=e,s.type=t,s.count=o.length,tit(s)}return e}Tc.prototype.addListener=function(t,r){return Qie(this,t,r,!1)};Tc.prototype.on=Tc.prototype.addListener;Tc.prototype.prependListener=function(t,r){return Qie(this,t,r,!0)};function rit(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function ene(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=rit.bind(n);return i.listener=r,n.wrapFn=i,i}Tc.prototype.once=function(t,r){return q6(r),this.on(t,ene(this,t,r)),this};Tc.prototype.prependOnceListener=function(t,r){return q6(r),this.prependListener(t,ene(this,t,r)),this};Tc.prototype.removeListener=function(t,r){var n,i,a,o,s;if(q6(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit(\"removeListener\",t,n.listener||r));else if(typeof n!=\"function\"){for(a=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){s=n[o].listener,a=o;break}if(a<0)return this;a===0?n.shift():iit(n,a),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit(\"removeListener\",t,s||r)}return this};Tc.prototype.off=Tc.prototype.removeListener;Tc.prototype.removeAllListeners=function(t){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var a=Object.keys(n),o;for(i=0;i<a.length;++i)o=a[i],o!==\"removeListener\"&&this.removeAllListeners(o);return this.removeAllListeners(\"removeListener\"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[t],typeof r==\"function\")this.removeListener(t,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(t,r[i]);return this};function tne(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i==\"function\"?r?[i.listener||i]:[i]:r?nit(i):ine(i,i.length)}Tc.prototype.listeners=function(t){return tne(this,t,!0)};Tc.prototype.rawListeners=function(t){return tne(this,t,!1)};Tc.listenerCount=function(e,t){return typeof e.listenerCount==\"function\"?e.listenerCount(t):rne.call(e,t)};Tc.prototype.listenerCount=rne;function rne(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r==\"function\")return 1;if(r!==void 0)return r.length}return 0}Tc.prototype.eventNames=function(){return this._eventsCount>0?F6(this._events):[]};function ine(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function iit(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function nit(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function ait(e,t){return new Promise(function(r,n){function i(o){e.removeListener(t,a),n(o)}function a(){typeof e.removeListener==\"function\"&&e.removeListener(\"error\",i),r([].slice.call(arguments))}nne(e,t,a,{once:!0}),t!==\"error\"&&oit(e,i,{once:!0})})}function oit(e,t,r){typeof e.on==\"function\"&&nne(e,\"error\",t,r)}function nne(e,t,r,n){if(typeof e.on==\"function\")n.once?e.once(t,r):e.on(t,r);else if(typeof e.addEventListener==\"function\")e.addEventListener(t,function i(a){n.once&&e.removeEventListener(t,i),r(a)});else throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type '+typeof e)}});var g3=ye((Ptr,ane)=>{\"use strict\";var eO=vb().EventEmitter,sit={init:function(e){if(e._ev instanceof eO)return e;var t=new eO,r=new eO;return e._ev=t,e._internalEv=r,e.on=t.on.bind(t),e.once=t.once.bind(t),e.removeListener=t.removeListener.bind(t),e.removeAllListeners=t.removeAllListeners.bind(t),e._internalOn=r.on.bind(r),e._internalOnce=r.once.bind(r),e._removeInternalListener=r.removeListener.bind(r),e._removeAllInternalListeners=r.removeAllListeners.bind(r),e.emit=function(n,i){t.emit(n,i),r.emit(n,i)},e},triggerHandler:function(e,t,r){var n,i=e._ev;if(!i)return;var a=i._events[t];if(!a)return;function o(l){if(l.listener){if(i.removeListener(t,l.listener),!l.fired)return l.fired=!0,l.listener.apply(i,[r])}else return l.apply(i,[r])}a=Array.isArray(a)?a:[a];var s;for(s=0;s<a.length-1;s++)o(a[s]);return n=o(a[s]),n},purge:function(e){return delete e._ev,delete e.on,delete e.once,delete e.removeListener,delete e.removeAllListeners,delete e.emit,delete e._ev,delete e._internalEv,delete e._internalOn,delete e._internalOnce,delete e._removeInternalListener,delete e._removeAllInternalListeners,e}};ane.exports=sit});var lne=ye((Itr,sne)=>{\"use strict\";var one=Mr(),lit=ub().dfltConfig;function uit(e,t){for(var r=[],n,i=0;i<t.length;i++)n=t[i],n===e?r[i]=n:typeof n==\"object\"?r[i]=Array.isArray(n)?one.extendDeep([],n):one.extendDeepAll({},n):r[i]=n;return r}var wy={};wy.add=function(e,t,r,n,i){var a,o;if(e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},o=e.undoQueue.index,e.autoplay){e.undoQueue.inSequence||(e.autoplay=!1);return}!e.undoQueue.sequence||e.undoQueue.beginSequence?(a={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},e.undoQueue.queue.splice(o,e.undoQueue.queue.length-o,a),e.undoQueue.index+=1):a=e.undoQueue.queue[o-1],e.undoQueue.beginSequence=!1,a&&(a.undo.calls.unshift(t),a.undo.args.unshift(r),a.redo.calls.push(n),a.redo.args.push(i)),e.undoQueue.queue.length>lit.queueLength&&(e.undoQueue.queue.shift(),e.undoQueue.index--)};wy.startSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!0,e.undoQueue.beginSequence=!0};wy.stopSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!1,e.undoQueue.beginSequence=!1};wy.undo=function(t){var r,n;if(!(t.undoQueue===void 0||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,n=0;n<r.undo.calls.length;n++)wy.plotDo(t,r.undo.calls[n],r.undo.args[n]);t.undoQueue.inSequence=!1,t.autoplay=!1}};wy.redo=function(t){var r,n;if(!(t.undoQueue===void 0||isNaN(t.undoQueue.index)||t.undoQueue.index>=t.undoQueue.queue.length)){for(r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,n=0;n<r.redo.calls.length;n++)wy.plotDo(t,r.redo.calls[n],r.redo.args[n]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}};wy.plotDo=function(e,t,r){e.autoplay=!0,r=uit(e,r),t.apply(null,r)};sne.exports=wy});var tO=ye((Rtr,une)=>{\"use strict\";une.exports={_isLinkedToArray:\"frames_entry\",group:{valType:\"string\"},name:{valType:\"string\"},traces:{valType:\"any\"},baseframe:{valType:\"string\"},data:{valType:\"any\"},layout:{valType:\"any\"}}});var _3=ye(Bh=>{\"use strict\";var x0=ba(),HS=Mr(),B6=vl(),rO=s3(),cit=tO(),fit=zS(),hit=ub().configAttributes,cne=Bu(),xg=HS.extendDeepAll,m3=HS.isPlainObject,dit=HS.isArrayOrTypedArray,N6=HS.nestedProperty,vit=HS.valObjectMeta,iO=\"_isSubplotObj\",U6=\"_isLinkedToArray\",pit=\"_arrayAttrRegexps\",hne=\"_deprecated\",nO=[iO,U6,pit,hne];Bh.IS_SUBPLOT_OBJ=iO;Bh.IS_LINKED_TO_ARRAY=U6;Bh.DEPRECATED=hne;Bh.UNDERSCORE_ATTRS=nO;Bh.get=function(){var e={};return x0.allTypes.forEach(function(t){e[t]=mit(t)}),{defs:{valObjects:vit,metaKeys:nO.concat([\"description\",\"role\",\"editType\",\"impliedEdits\"]),editType:{traces:cne.traces,layout:cne.layout},impliedEdits:{}},traces:e,layout:yit(),frames:_it(),animation:y3(fit),config:y3(hit)}};Bh.crawl=function(e,t,r,n){var i=r||0;n=n||\"\",Object.keys(e).forEach(function(a){var o=e[a];if(nO.indexOf(a)===-1){var s=(n?n+\".\":\"\")+a;t(o,a,e,i,s),!Bh.isValObject(o)&&m3(o)&&a!==\"impliedEdits\"&&Bh.crawl(o,t,i+1,s)}})};Bh.isValObject=function(e){return e&&e.valType!==void 0};Bh.findArrayAttributes=function(e){var t=[],r=[],n=[],i,a;function o(l,u,c,f){r=r.slice(0,f).concat([u]),n=n.slice(0,f).concat([l&&l._isLinkedToArray]);var h=l&&(l.valType===\"data_array\"||l.arrayOk===!0)&&!(r[f-1]===\"colorbar\"&&(u===\"ticktext\"||u===\"tickvals\"));h&&s(i,0,\"\")}function s(l,u,c){var f=l[r[u]],h=c+r[u];if(u===r.length-1)dit(f)&&t.push(a+h);else if(n[u]){if(Array.isArray(f))for(var d=0;d<f.length;d++)m3(f[d])&&s(f[d],u+1,h+\"[\"+d+\"].\")}else m3(f)&&s(f,u+1,h+\".\")}return i=e,a=\"\",Bh.crawl(B6,o),e._module&&e._module.attributes&&Bh.crawl(e._module.attributes,o),t};Bh.getTraceValObject=function(e,t){var r=t[0],n=1,i,a,o=e._module;if(o||(o=(x0.modules[e.type||B6.type.dflt]||{})._module),!o)return!1;if(i=o.attributes,a=i&&i[r],!a){var s=o.basePlotModule;s&&s.attributes&&(a=s.attributes[r])}return a||(a=B6[r]),dne(a,t,n)};Bh.getLayoutValObject=function(e,t){var r=git(e,t[0]);return dne(r,t,1)};function git(e,t){var r,n,i,a,o=e._basePlotModules;if(o){var s;for(r=0;r<o.length;r++){if(i=o[r],i.attrRegex&&i.attrRegex.test(t)){if(i.layoutAttrOverrides)return i.layoutAttrOverrides;!s&&i.layoutAttributes&&(s=i.layoutAttributes)}var l=i.baseLayoutAttrOverrides;if(l&&t in l)return l[t]}if(s)return s}var u=e._modules;if(u){for(r=0;r<u.length;r++)if(a=u[r].layoutAttributes,a&&t in a)return a[t]}for(n in x0.componentsRegistry){if(i=x0.componentsRegistry[n],i.name===\"colorscale\"&&t.indexOf(\"coloraxis\")===0)return i.layoutAttributes[t];if(!i.schema&&t===i.name)return i.layoutAttributes}return t in rO?rO[t]:!1}function dne(e,t,r){if(!e)return!1;if(e._isLinkedToArray){if(O6(t[r]))r++;else if(r<t.length)return!1}for(;r<t.length;r++){var n=e[t[r]];if(m3(n))e=n;else break;if(r===t.length-1)break;if(e._isLinkedToArray){if(r++,!O6(t[r]))return!1}else if(e.valType===\"info_array\"){r++;var i=t[r];if(!O6(i))return!1;var a=e.items;if(Array.isArray(a)){if(i>=a.length)return!1;if(e.dimensions===2){if(r++,t.length===r)return e;var o=t[r];if(!O6(o))return!1;e=a[i][o]}else e=a[i]}else e=a}}return e}function O6(e){return e===Math.round(e)&&e>=0}function mit(e){var t,r;t=x0.modules[e]._module,r=t.basePlotModule;var n={};n.type=null;var i=xg({},B6),a=xg({},t.attributes);Bh.crawl(a,function(l,u,c,f,h){N6(i,h).set(void 0),l===void 0&&N6(a,h).set(void 0)}),xg(n,i),x0.traceIs(e,\"noOpacity\")&&delete n.opacity,x0.traceIs(e,\"showLegend\")||(delete n.showlegend,delete n.legendgroup),x0.traceIs(e,\"noHover\")&&(delete n.hoverinfo,delete n.hoverlabel),t.selectPoints||delete n.selectedpoints,xg(n,a),r.attributes&&xg(n,r.attributes),n.type=e;var o={meta:t.meta||{},categories:t.categories||{},animatable:!!t.animatable,type:e,attributes:y3(n)};if(t.layoutAttributes){var s={};xg(s,t.layoutAttributes),o.layoutAttributes=y3(s)}return t.animatable||Bh.crawl(o,function(l){Bh.isValObject(l)&&\"anim\"in l&&delete l.anim}),o}function yit(){var e={},t,r;xg(e,rO);for(t in x0.subplotsRegistry)if(r=x0.subplotsRegistry[t],!!r.layoutAttributes)if(Array.isArray(r.attr))for(var n=0;n<r.attr.length;n++)fne(e,r,r.attr[n]);else{var i=r.attr===\"subplot\"?r.name:r.attr;fne(e,r,i)}for(t in x0.componentsRegistry){r=x0.componentsRegistry[t];var a=r.schema;if(a&&(a.subplots||a.layout)){var o=a.subplots;if(o&&o.xaxis&&!o.yaxis)for(var s in o.xaxis)delete e.yaxis[s];delete e.xaxis.shift,delete e.xaxis.autoshift}else r.name===\"colorscale\"?xg(e,r.layoutAttributes):r.layoutAttributes&&Tit(e,r.layoutAttributes,r.name)}return{layoutAttributes:y3(e)}}function _it(){var e={frames:xg({},cit)};return y3(e),e.frames}function y3(e){return xit(e),bit(e),wit(e),e}function xit(e){function t(n){return{valType:\"string\",editType:\"none\"}}function r(n,i,a){Bh.isValObject(n)?(n.arrayOk===!0||n.valType===\"data_array\")&&(a[i+\"src\"]=t(i)):m3(n)&&(n.role=\"object\")}Bh.crawl(e,r)}function bit(e){function t(r,n,i){if(r){var a=r[U6];a&&(delete r[U6],i[n]={items:{}},i[n].items[a]=r,i[n].role=\"object\")}}Bh.crawl(e,t)}function wit(e){function t(r){for(var n in r)if(m3(r[n]))t(r[n]);else if(Array.isArray(r[n]))for(var i=0;i<r[n].length;i++)t(r[n][i]);else r[n]instanceof RegExp&&(r[n]=r[n].toString())}t(e)}function fne(e,t,r){var n=N6(e,r),i=xg({},t.layoutAttributes);i[iO]=!0,n.set(i)}function Tit(e,t,r){var n=N6(e,r);n.set(xg(n.get()||{},t))}});var Vs=ye(pb=>{\"use strict\";var x3=Mr(),Ait=vl(),Q1=\"templateitemname\",aO={name:{valType:\"string\",editType:\"none\"}};aO[Q1]={valType:\"string\",editType:\"calc\"};pb.templatedArray=function(e,t){return t._isLinkedToArray=e,t.name=aO.name,t[Q1]=aO[Q1],t};pb.traceTemplater=function(e){var t={},r,n;for(r in e)n=e[r],Array.isArray(n)&&n.length&&(t[r]=0);function i(a){r=x3.coerce(a,{},Ait,\"type\");var o={type:r,_template:null};if(r in t){n=e[r];var s=t[r]%n.length;t[r]++,o._template=n[s]}return o}return{newTrace:i}};pb.newContainer=function(e,t,r){var n=e._template,i=n&&(n[t]||r&&n[r]);x3.isPlainObject(i)||(i=null);var a=e[t]={_template:i};return a};pb.arrayTemplater=function(e,t,r){var n=e._template,i=n&&n[pne(t)],a=n&&n[t];(!Array.isArray(a)||!a.length)&&(a=[]);var o={};function s(u){var c={name:u.name,_input:u},f=c[Q1]=u[Q1];if(!vne(f))return c._template=i,c;for(var h=0;h<a.length;h++){var d=a[h];if(d.name===f)return o[f]=1,c._template=d,c}return c[r]=u[r]||!1,c._template=!1,c}function l(){for(var u=[],c=0;c<a.length;c++){var f=a[c],h=f.name;if(vne(h)&&!o[h]){var d={_template:f,name:h,_input:{_templateitemname:h}};d[Q1]=f[Q1],u.push(d),o[h]=1}}return u}return{newItem:s,defaultItems:l}};function vne(e){return e&&typeof e==\"string\"}function pne(e){var t=e.length-1;return e.charAt(t)!==\"s\"&&x3.warn(\"bad argument to arrayDefaultKey: \"+e),e.substr(0,e.length-1)+\"defaults\"}pb.arrayDefaultKey=pne;pb.arrayEditor=function(e,t,r){var n=(x3.nestedProperty(e,t).get()||[]).length,i=r._index,a=i>=n&&(r._input||{})._templateitemname;a&&(i=n);var o=t+\"[\"+i+\"]\",s;function l(){s={},a&&(s[o]={},s[o][Q1]=a)}l();function u(d,v){s[d]=v}function c(d,v){a?x3.nestedProperty(s[o],d).set(v):s[o+\".\"+d]=v}function f(){var d=s;return l(),d}function h(d,v){d&&c(d,v);var x=f();for(var b in x)x3.nestedProperty(e,b).set(x[b])}return{modifyBase:u,modifyItem:c,getUpdateObj:f,applyUpdate:h}}});var ad=ye((Ftr,gne)=>{\"use strict\";var GS=n3().counter;gne.exports={idRegex:{x:GS(\"x\",\"( domain)?\"),y:GS(\"y\",\"( domain)?\")},attrRegex:GS(\"[xy]axis\"),xAxisMatch:GS(\"xaxis\"),yAxisMatch:GS(\"yaxis\"),AX_ID_PATTERN:/^[xyz][0-9]*( domain)?$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,HOUR_PATTERN:\"hour\",WEEKDAY_PATTERN:\"day of week\",MINDRAG:8,MINZOOM:20,DRAGGERSIZE:20,REDRAWDELAY:50,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:[\"imagelayer\",\"heatmaplayer\",\"contourcarpetlayer\",\"contourlayer\",\"funnellayer\",\"waterfalllayer\",\"barlayer\",\"carpetlayer\",\"violinlayer\",\"boxlayer\",\"ohlclayer\",\"scattercarpetlayer\",\"scatterlayer\"],clipOnAxisFalseQuery:[\".scatterlayer\",\".barlayer\",\".funnellayer\",\".waterfalllayer\"],layerValue2layerClass:{\"above traces\":\"above\",\"below traces\":\"below\"},zindexSeparator:\"z\"}});var af=ye(Tp=>{\"use strict\";var Sit=ba(),oO=ad();Tp.id2name=function(t){if(!(typeof t!=\"string\"||!t.match(oO.AX_ID_PATTERN))){var r=t.split(\" \")[0].substr(1);return r===\"1\"&&(r=\"\"),t.charAt(0)+\"axis\"+r}};Tp.name2id=function(t){if(t.match(oO.AX_NAME_PATTERN)){var r=t.substr(5);return r===\"1\"&&(r=\"\"),t.charAt(0)+r}};Tp.cleanId=function(t,r,n){var i=/( domain)$/.test(t);if(!(typeof t!=\"string\"||!t.match(oO.AX_ID_PATTERN))&&!(r&&t.charAt(0)!==r)&&!(i&&!n)){var a=t.split(\" \")[0].substr(1).replace(/^0+/,\"\");return a===\"1\"&&(a=\"\"),t.charAt(0)+a+(i&&n?\" domain\":\"\")}};Tp.list=function(e,t,r){var n=e._fullLayout;if(!n)return[];var i=Tp.listIds(e,t),a=new Array(i.length),o;for(o=0;o<i.length;o++){var s=i[o];a[o]=n[s.charAt(0)+\"axis\"+s.substr(1)]}if(!r){var l=n._subplots.gl3d||[];for(o=0;o<l.length;o++){var u=n[l[o]];t?a.push(u[t+\"axis\"]):a.push(u.xaxis,u.yaxis,u.zaxis)}}return a};Tp.listIds=function(e,t){var r=e._fullLayout;if(!r)return[];var n=r._subplots;return t?n[t+\"axis\"]:n.xaxis.concat(n.yaxis)};Tp.getFromId=function(e,t,r){var n=e._fullLayout;return t=t===void 0||typeof t!=\"string\"?t:t.replace(\" domain\",\"\"),r===\"x\"?t=t.replace(/y[0-9]*/,\"\"):r===\"y\"&&(t=t.replace(/x[0-9]*/,\"\")),n[Tp.id2name(t)]};Tp.getFromTrace=function(e,t,r){var n=e._fullLayout,i=null;if(Sit.traceIs(t,\"gl3d\")){var a=t.scene;a.substr(0,5)===\"scene\"&&(i=n[a][r+\"axis\"])}else i=Tp.getFromId(e,t[r+\"axis\"]||r);return i};Tp.idSort=function(e,t){var r=e.charAt(0),n=t.charAt(0);return r!==n?r>n?1:-1:+(e.substr(1)||1)-+(t.substr(1)||1)};Tp.ref2id=function(e){return/^[xyz]/.test(e)?e.split(\" \")[0]:!1};function mne(e,t){if(t&&t.length){for(var r=0;r<t.length;r++)if(t[r][e])return!0}return!1}Tp.isLinked=function(e,t){return mne(t,e._axisMatchGroups)||mne(t,e._axisConstraintGroups)}});var e_=ye((Otr,yne)=>{\"use strict\";function Mit(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(\".outline-controllers\").remove()}function Eit(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(\".select-outline\").remove(),e._fullLayout._outlining=!1}yne.exports={clearOutlineControllers:Mit,clearOutline:Eit}});var V6=ye((Btr,_ne)=>{\"use strict\";_ne.exports={scattermode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\",editType:\"calc\"},scattergap:{valType:\"number\",min:0,max:1,editType:\"calc\"}}});var kd=ye(G6=>{\"use strict\";var H6=ba(),Ntr=ad().SUBPLOT_PATTERN;G6.getSubplotCalcData=function(e,t,r){var n=H6.subplotsRegistry[t];if(!n)return[];for(var i=n.attr,a=[],o=0;o<e.length;o++){var s=e[o],l=s[0].trace;l[i]===r&&a.push(s)}return a};G6.getModuleCalcData=function(e,t,r){var n=[],i=[],a;if(typeof t==\"string\"?a=H6.getModule(t).plot:typeof t==\"function\"?a=t:a=t.plot,!a)return[n,e];for(var o=r,s=0;s<e.length;s++){var l=e[s],u=l[0].trace,c=u.zorder!==void 0;u.visible!==!0||u._length===0||(u._module&&u._module.plot===a&&(!c||u.zorder===o)?n.push(l):i.push(l))}return[n,i]};G6.getSubplotData=function(t,r,n){if(!H6.subplotsRegistry[r])return[];for(var i=H6.subplotsRegistry[r].attr,a=[],o,s,l,u=0;u<t.length;u++)o=t[u],o[i]===n&&a.push(o);return a}});var Tne=ye(gb=>{\"use strict\";var kit=ba(),b3=Mr();gb.manageCommandObserver=function(e,t,r,n){var i={},a=!0;t&&t._commandObserver&&(i=t._commandObserver),i.cache||(i.cache={}),i.lookupTable={};var o=gb.hasSimpleAPICommandBindings(e,r,i.lookupTable);if(t&&t._commandObserver){if(o)return i;if(t._commandObserver.remove)return t._commandObserver.remove(),t._commandObserver=null,i}if(o){xne(e,o,i.cache),i.check=function(){if(a){var c=xne(e,o,i.cache);return c.changed&&n&&i.lookupTable[c.value]!==void 0&&(i.disable(),Promise.resolve(n({value:c.value,type:o.type,prop:o.prop,traces:o.traces,index:i.lookupTable[c.value]})).then(i.enable,i.enable)),c.changed}};for(var s=[\"plotly_relayout\",\"plotly_redraw\",\"plotly_restyle\",\"plotly_update\",\"plotly_animatingframe\",\"plotly_afterplot\"],l=0;l<s.length;l++)e._internalOn(s[l],i.check);i.remove=function(){for(var u=0;u<s.length;u++)e._removeInternalListener(s[u],i.check)}}else b3.log(\"Unable to automatically bind plot updates to API command\"),i.lookupTable={},i.remove=function(){};return i.disable=function(){a=!1},i.enable=function(){a=!0},t&&(t._commandObserver=i),i};gb.hasSimpleAPICommandBindings=function(e,t,r){var n,i=t.length,a;for(n=0;n<i;n++){var o,s=t[n],l=s.method,u=s.args;if(Array.isArray(u)||(u=[]),!l)return!1;var c=gb.computeAPICommandBindings(e,l,u);if(c.length!==1)return!1;if(!a)a=c[0],Array.isArray(a.traces)&&a.traces.sort();else{if(o=c[0],o.type!==a.type||o.prop!==a.prop)return!1;if(Array.isArray(a.traces))if(Array.isArray(o.traces)){o.traces.sort();for(var f=0;f<a.traces.length;f++)if(a.traces[f]!==o.traces[f])return!1}else return!1;else if(o.prop!==a.prop)return!1}o=c[0];var h=o.value;if(Array.isArray(h))if(h.length===1)h=h[0];else return!1;r&&(r[h]=n)}return a};function xne(e,t,r){var n,i,a,o=!1;if(t.type===\"data\")n=e._fullData[t.traces!==null?t.traces[0]:0];else if(t.type===\"layout\")n=e._fullLayout;else return!1;return i=b3.nestedProperty(n,t.prop).get(),a=r[t.type]=r[t.type]||{},a.hasOwnProperty(t.prop)&&a[t.prop]!==i&&(o=!0),a[t.prop]=i,{changed:o,value:i}}gb.executeAPICommand=function(e,t,r){if(t===\"skip\")return Promise.resolve();var n=kit.apiMethodRegistry[t],i=[e];Array.isArray(r)||(r=[]);for(var a=0;a<r.length;a++)i.push(r[a]);return n.apply(null,i).catch(function(o){return b3.warn(\"API call to Plotly.\"+t+\" rejected.\",o),Promise.reject(o)})};gb.computeAPICommandBindings=function(e,t,r){var n;switch(Array.isArray(r)||(r=[]),t){case\"restyle\":n=wne(e,r);break;case\"relayout\":n=bne(e,r);break;case\"update\":n=wne(e,[r[0],r[2]]).concat(bne(e,[r[1]]));break;case\"animate\":n=Cit(e,r);break;default:n=[]}return n};function Cit(e,t){return Array.isArray(t[0])&&t[0].length===1&&[\"string\",\"number\"].indexOf(typeof t[0][0])!==-1?[{type:\"layout\",prop:\"_currentFrame\",value:t[0][0].toString()}]:[]}function bne(e,t){var r=[],n=t[0],i={};if(typeof n==\"string\")i[n]=t[1];else if(b3.isPlainObject(n))i=n;else return r;return sO(i,function(a,o,s){r.push({type:\"layout\",prop:a,value:s})},\"\",0),r}function wne(e,t){var r,n,i,a,o=[];if(n=t[0],i=t[1],r=t[2],a={},typeof n==\"string\")a[n]=i;else if(b3.isPlainObject(n))a=n,r===void 0&&(r=i);else return o;return r===void 0&&(r=null),sO(a,function(s,l,u){var c,f;if(Array.isArray(u)){f=u.slice();var h=Math.min(f.length,e.data.length);r&&(h=Math.min(h,r.length)),c=[];for(var d=0;d<h;d++)c[d]=r?r[d]:d}else f=u,c=r?r.slice():null;if(c===null)Array.isArray(f)&&(f=f[0]);else if(Array.isArray(c)){if(!Array.isArray(f)){var v=f;f=[];for(var x=0;x<c.length;x++)f[x]=v}f.length=Math.min(c.length,f.length)}o.push({type:\"data\",prop:s,traces:c,value:f})},\"\",0),o}function sO(e,t,r,n){Object.keys(e).forEach(function(i){var a=e[i];if(i[0]!==\"_\"){var o=r+(n>0?\".\":\"\")+i;b3.isPlainObject(a)?sO(a,t,o,n+1):t(o,i,a)}})}});var Xu=ye((Htr,qne)=>{\"use strict\";var Lne=xa(),Lit=e3().timeFormatLocale,Pit=vq().formatLocale,jS=uo(),Iit=pq(),bl=ba(),Pne=_3(),Rit=Vs(),Ca=Mr(),Ine=va(),Ane=es().BADNUM,Ap=af(),Dit=e_().clearOutline,zit=V6(),lO=zS(),Fit=tO(),qit=kd().getModuleCalcData,Sne=Ca.relinkPrivateKeys,mb=Ca._,ha=qne.exports={};Ca.extendFlat(ha,bl);ha.attributes=vl();ha.attributes.type.values=ha.allTypes;ha.fontAttrs=Su();ha.layoutAttributes=s3();var W6=Tne();ha.executeAPICommand=W6.executeAPICommand;ha.computeAPICommandBindings=W6.computeAPICommandBindings;ha.manageCommandObserver=W6.manageCommandObserver;ha.hasSimpleAPICommandBindings=W6.hasSimpleAPICommandBindings;ha.redrawText=function(e){return e=Ca.getGraphDiv(e),new Promise(function(t){setTimeout(function(){e._fullLayout&&(bl.getComponentMethod(\"annotations\",\"draw\")(e),bl.getComponentMethod(\"legend\",\"draw\")(e),bl.getComponentMethod(\"colorbar\",\"draw\")(e),t(ha.previousPromises(e)))},300)})};ha.resize=function(e){e=Ca.getGraphDiv(e);var t,r=new Promise(function(n,i){(!e||Ca.isHidden(e))&&i(new Error(\"Resize must be passed a displayed plot div element.\")),e._redrawTimer&&clearTimeout(e._redrawTimer),e._resolveResize&&(t=e._resolveResize),e._resolveResize=n,e._redrawTimer=setTimeout(function(){if(!e.layout||e.layout.width&&e.layout.height||Ca.isHidden(e)){n(e);return}delete e.layout.width,delete e.layout.height;var a=e.changed;e.autoplay=!0,bl.call(\"relayout\",e,{autosize:!0}).then(function(){e.changed=a,e._resolveResize===n&&(delete e._resolveResize,n(e))})},100)});return t&&t(r),r};ha.previousPromises=function(e){if((e._promises||[]).length)return Promise.all(e._promises).then(function(){e._promises=[]})};ha.addLinks=function(e){if(!(!e._context.showLink&&!e._context.showSources)){var t=e._fullLayout,r=Ca.ensureSingle(t._paper,\"text\",\"js-plot-link-container\",function(l){l.style({\"font-family\":'\"Open Sans\", Arial, sans-serif',\"font-size\":\"12px\",fill:Ine.defaultLine,\"pointer-events\":\"all\"}).each(function(){var u=Lne.select(this);u.append(\"tspan\").classed(\"js-link-to-tool\",!0),u.append(\"tspan\").classed(\"js-link-spacer\",!0),u.append(\"tspan\").classed(\"js-sourcelinks\",!0)})}),n=r.node(),i={y:t._paper.attr(\"height\")-9};document.body.contains(n)&&n.getComputedTextLength()>=t.width-20?(i[\"text-anchor\"]=\"start\",i.x=5):(i[\"text-anchor\"]=\"end\",i.x=t._paper.attr(\"width\")-7),r.attr(i);var a=r.select(\".js-link-to-tool\"),o=r.select(\".js-link-spacer\"),s=r.select(\".js-sourcelinks\");e._context.showSources&&e._context.showSources(e),e._context.showLink&&Oit(e,a),o.text(a.text()&&s.text()?\" - \":\"\")}};function Oit(e,t){t.text(\"\");var r=t.append(\"a\").attr({\"xlink:xlink:href\":\"#\",class:\"link--impt link--embedview\",\"font-weight\":\"bold\"}).text(e._context.linkText+\" \\xBB\");if(e._context.sendData)r.on(\"click\",function(){ha.sendDataToCloud(e)});else{var n=window.location.pathname.split(\"/\"),i=window.location.search;r.attr({\"xlink:xlink:show\":\"new\",\"xlink:xlink:href\":\"/\"+n[2].split(\".\")[0]+\"/\"+n[1]+i})}}ha.sendDataToCloud=function(e){var t=(window.PLOTLYENV||{}).BASE_URL||e._context.plotlyServerURL;if(t){e.emit(\"plotly_beforeexport\");var r=Lne.select(e).append(\"div\").attr(\"id\",\"hiddenform\").style(\"display\",\"none\"),n=r.append(\"form\").attr({action:t+\"/external\",method:\"post\",target:\"_blank\"}),i=n.append(\"input\").attr({type:\"text\",name:\"data\"});return i.node().value=ha.graphJson(e,!1,\"keepdata\"),n.node().submit(),r.remove(),e.emit(\"plotly_afterexport\"),!1}};var Bit=[\"days\",\"shortDays\",\"months\",\"shortMonths\",\"periods\",\"dateTime\",\"date\",\"time\",\"decimal\",\"thousands\",\"grouping\",\"currency\"],Nit=[\"year\",\"month\",\"dayMonth\",\"dayMonthYear\"];ha.supplyDefaults=function(e,t){var r=t&&t.skipUpdateCalc,n=e._fullLayout||{};if(n._skipDefaults){delete n._skipDefaults;return}var i=e._fullLayout={},a=e.layout||{},o=e._fullData||[],s=e._fullData=[],l=e.data||[],u=e.calcdata||[],c=e._context||{},f;e._transitionData||ha.createTransitionData(e),i._dfltTitle={plot:mb(e,\"Click to enter Plot title\"),subtitle:mb(e,\"Click to enter Plot subtitle\"),x:mb(e,\"Click to enter X axis title\"),y:mb(e,\"Click to enter Y axis title\"),colorbar:mb(e,\"Click to enter Colorscale title\"),annotation:mb(e,\"new text\")},i._traceWord=mb(e,\"trace\");var h=Mne(e,Bit);if(i._mapboxAccessToken=c.mapboxAccessToken,n._initialAutoSizeIsDone){var d=n.width,v=n.height;ha.supplyLayoutGlobalDefaults(a,i,h),a.width||(i.width=d),a.height||(i.height=v),ha.sanitizeMargins(i)}else{ha.supplyLayoutGlobalDefaults(a,i,h);var x=!a.width||!a.height,b=i.autosize,p=c.autosizable,E=x&&(b||p);E?ha.plotAutoSize(e,a,i):x&&ha.sanitizeMargins(i),!b&&x&&(a.width=i.width,a.height=i.height)}i._d3locale=Hit(h,i.separators),i._extraFormat=Mne(e,Nit),i._initialAutoSizeIsDone=!0,i._dataLength=l.length,i._modules=[],i._visibleModules=[],i._basePlotModules=[];var k=i._subplots=Vit(),A=i._splomAxes={x:{},y:{}},L=i._splomSubplots={};i._splomGridDflt={},i._scatterStackOpts={},i._firstScatter={},i._alignmentOpts={},i._colorAxes={},i._requestRangeslider={},i._traceUids=Uit(o,l),ha.supplyDataDefaults(l,s,a,i);var _=Object.keys(A.x),C=Object.keys(A.y);if(_.length>1&&C.length>1){for(bl.getComponentMethod(\"grid\",\"sizeDefaults\")(a,i),f=0;f<_.length;f++)Ca.pushUnique(k.xaxis,_[f]);for(f=0;f<C.length;f++)Ca.pushUnique(k.yaxis,C[f]);for(var M in L)Ca.pushUnique(k.cartesian,M)}if(i._has=ha._hasPlotType.bind(i),o.length===s.length)for(f=0;f<s.length;f++)Sne(s[f],o[f]);ha.supplyLayoutModuleDefaults(a,i,s,e._transitionData);var g=i._visibleModules,P=[];for(f=0;f<g.length;f++){var T=g[f].crossTraceDefaults;T&&Ca.pushUnique(P,T)}for(f=0;f<P.length;f++)P[f](s,i);i._hasOnlyLargeSploms=i._basePlotModules.length===1&&i._basePlotModules[0].name===\"splom\"&&_.length>15&&C.length>15&&i.shapes.length===0&&i.images.length===0,ha.linkSubplots(s,i,o,n),ha.cleanPlot(s,i,o,n);var F=!!(n._has&&n._has(\"cartesian\")),q=!!(i._has&&i._has(\"cartesian\")),V=F,H=q;V&&!H?n._bgLayer.remove():H&&!V&&(i._shouldCreateBgLayer=!0),n._zoomlayer&&!e._dragging&&Dit({_fullLayout:n}),Git(s,i),Sne(i,n),bl.getComponentMethod(\"colorscale\",\"crossTraceDefaults\")(s,i),i._preGUI||(i._preGUI={}),i._tracePreGUI||(i._tracePreGUI={});var X=i._tracePreGUI,G={},N;for(N in X)G[N]=\"old\";for(f=0;f<s.length;f++)N=s[f]._fullInput.uid,G[N]||(X[N]={}),G[N]=\"new\";for(N in G)G[N]===\"old\"&&delete X[N];Rne(i),bl.getComponentMethod(\"rangeslider\",\"makeData\")(i),!r&&u.length===s.length&&ha.supplyDefaultsUpdateCalc(u,s)};ha.supplyDefaultsUpdateCalc=function(e,t){for(var r=0;r<t.length;r++){var n=t[r],i=(e[r]||[])[0];if(i&&i.trace){var a=i.trace;if(a._hasCalcTransform){var o=a._arrayAttrs,s,l,u;for(s=0;s<o.length;s++)l=o[s],u=Ca.nestedProperty(a,l).get().slice(),Ca.nestedProperty(n,l).set(u)}i.trace=n}}};function Uit(e,t){var r=t.length,n=[],i,a;for(i=0;i<e.length;i++){var o=e[i]._fullInput;o!==a&&n.push(o),a=o}var s=n.length,l=new Array(r),u={};function c(d,v){l[v]=d,u[d]=1}function f(d,v){if(d&&typeof d==\"string\"&&!u[d])return c(d,v),!0}for(i=0;i<r;i++){var h=t[i].uid;typeof h==\"number\"&&(h=String(h)),!f(h,i)&&(i<s&&f(n[i].uid,i)||c(Ca.randstr(u),i))}return l}function Vit(){var e=bl.collectableSubplotTypes,t={},r,n;if(!e){e=[];var i=bl.subplotsRegistry;for(var a in i){var o=i[a],s=o.attr;if(s&&(e.push(a),Array.isArray(s)))for(n=0;n<s.length;n++)Ca.pushUnique(e,s[n])}}for(r=0;r<e.length;r++)t[e[r]]=[];return t}function Mne(e,t){var r=e._context.locale;r||(r=\"en-US\");var n=!1,i={};function a(f){for(var h=!0,d=0;d<t.length;d++){var v=t[d];i[v]||(f[v]?i[v]=f[v]:h=!1)}h&&(n=!0)}for(var o=0;o<2;o++){for(var s=e._context.locales,l=0;l<2;l++){var u=(s[r]||{}).format;if(u&&(a(u),n))break;s=bl.localeRegistry}var c=r.split(\"-\")[0];if(n||c===r)break;r=c}return n||a(bl.localeRegistry.en.format),i}function Hit(e,t){return e.decimal=t.charAt(0),e.thousands=t.charAt(1),{numberFormat:function(r){try{r=Pit(e).format(Ca.adjustFormat(r))}catch(n){return Ca.warnBadFormat(r),Ca.noFormat}return r},timeFormat:Lit(e).utcFormat}}function Git(e,t){var r,n=[];t.meta&&(r=t._meta={meta:t.meta,layout:{meta:t.meta}});for(var i=0;i<e.length;i++){var a=e[i];a.meta?n[a.index]=a._meta={meta:a.meta}:t.meta&&(a._meta={meta:t.meta}),t.meta&&(a._meta.layout={meta:t.meta})}n.length&&(r||(r=t._meta={}),r.data=n)}ha.createTransitionData=function(e){e._transitionData||(e._transitionData={}),e._transitionData._frames||(e._transitionData._frames=[]),e._transitionData._frameHash||(e._transitionData._frameHash={}),e._transitionData._counter||(e._transitionData._counter=0),e._transitionData._interruptCallbacks||(e._transitionData._interruptCallbacks=[])};ha._hasPlotType=function(e){var t,r=this._basePlotModules||[];for(t=0;t<r.length;t++)if(r[t].name===e)return!0;var n=this._modules||[];for(t=0;t<n.length;t++){var i=n[t].name;if(i===e)return!0;var a=bl.modules[i];if(a&&a.categories[e])return!0}return!1};ha.cleanPlot=function(e,t,r,n){var i,a,o=n._basePlotModules||[];for(i=0;i<o.length;i++){var s=o[i];s.clean&&s.clean(e,t,r,n)}var l=n._has&&n._has(\"gl\"),u=t._has&&t._has(\"gl\");l&&!u&&n._glcontainer!==void 0&&(n._glcontainer.selectAll(\".gl-canvas\").remove(),n._glcontainer.selectAll(\".no-webgl\").remove(),n._glcanvas=null);var c=!!n._infolayer;e:for(i=0;i<r.length;i++){var f=r[i],h=f.uid;for(a=0;a<e.length;a++){var d=e[a];if(h===d.uid)continue e}c&&n._infolayer.select(\".cb\"+h).remove()}};ha.linkSubplots=function(e,t,r,n){var i,a,o=n._plots||{},s=t._plots={},l=t._subplots,u={_fullData:e,_fullLayout:t},c=l.cartesian||[];for(i=0;i<c.length;i++){var f=c[i],h=o[f],d=Ap.getFromId(u,f,\"x\"),v=Ap.getFromId(u,f,\"y\"),x;for(h?x=s[f]=h:(x=s[f]={},x.id=f),d._counterAxes.push(v._id),v._counterAxes.push(d._id),d._subplotsWith.push(f),v._subplotsWith.push(f),x.xaxis=d,x.yaxis=v,x._hasClipOnAxisFalse=!1,a=0;a<e.length;a++){var b=e[a];if(b.xaxis===x.xaxis._id&&b.yaxis===x.yaxis._id&&b.cliponaxis===!1){x._hasClipOnAxisFalse=!0;break}}}var p=Ap.list(u,null,!0),E;for(i=0;i<p.length;i++){E=p[i];var k=null;E.overlaying&&(k=Ap.getFromId(u,E.overlaying),k&&k.overlaying&&(E.overlaying=!1,k=null)),E._mainAxis=k||E,k&&(E.domain=k.domain.slice()),E._anchorAxis=E.anchor===\"free\"?null:Ap.getFromId(u,E.anchor)}for(i=0;i<p.length;i++)if(E=p[i],E._counterAxes.sort(Ap.idSort),E._subplotsWith.sort(Ca.subplotSort),E._mainSubplot=jit(E,t),E._counterAxes.length&&(E.spikemode&&E.spikemode.indexOf(\"across\")!==-1||E.automargin&&E.mirror&&E.anchor!==\"free\"||bl.getComponentMethod(\"rangeslider\",\"isVisible\")(E))){var A=1,L=0;for(a=0;a<E._counterAxes.length;a++){var _=Ap.getFromId(u,E._counterAxes[a]);A=Math.min(A,_.domain[0]),L=Math.max(L,_.domain[1])}A<L&&(E._counterDomainMin=A,E._counterDomainMax=L)}};function jit(e,t){var r={_fullLayout:t},n=e._id.charAt(0)===\"x\",i=e._mainAxis._anchorAxis,a=\"\",o=\"\",s=\"\";if(i&&(s=i._mainAxis._id,a=n?e._id+s:s+e._id),!a||!t._plots[a]){a=\"\";for(var l=e._counterAxes,u=0;u<l.length;u++){var c=l[u],f=n?e._id+c:c+e._id;o||(o=f);var h=Ap.getFromId(r,c);if(s&&h.overlaying===s){a=f;break}}}return a||o}ha.clearExpandedTraceDefaultColors=function(e){var t,r,n;function i(o,s,l,u){r[u]=s,r.length=u+1,o.valType===\"color\"&&o.dflt===void 0&&t.push(r.join(\".\"))}for(r=[],t=e._module._colorAttrs,t||(e._module._colorAttrs=t=[],Pne.crawl(e._module.attributes,i)),n=0;n<t.length;n++){var a=Ca.nestedProperty(e,\"_input.\"+t[n]);a.get()||Ca.nestedProperty(e,t[n]).set(null)}};ha.supplyDataDefaults=function(e,t,r,n){var i=n._modules,a=n._visibleModules,o=n._basePlotModules,s=0,l=0,u,c,f;n._transformModules=[];function h(E){t.push(E);var k=E._module;k&&(Ca.pushUnique(i,k),E.visible===!0&&Ca.pushUnique(a,k),Ca.pushUnique(o,E._module.basePlotModule),s++,E._input.visible!==!1&&l++)}var d={},v=[],x=(r.template||{}).data||{},b=Rit.traceTemplater(x);for(u=0;u<e.length;u++)f=e[u],c=b.newTrace(f),c.uid=n._traceUids[u],ha.supplyTraceDefaults(f,c,l,n,u),c.index=u,c._input=f,c._fullInput=c,h(c),bl.traceIs(c,\"carpetAxis\")&&(d[c.carpet]=c),bl.traceIs(c,\"carpetDependent\")&&v.push(u);for(u=0;u<v.length;u++)if(c=t[v[u]],!!c.visible){var p=d[c.carpet];if(c._carpet=p,!p||!p.visible){c.visible=!1;continue}c.xaxis=p.xaxis,c.yaxis=p.yaxis}};ha.supplyAnimationDefaults=function(e){e=e||{};var t,r={};function n(i,a){return Ca.coerce(e||{},r,lO,i,a)}if(n(\"mode\"),n(\"direction\"),n(\"fromcurrent\"),Array.isArray(e.frame))for(r.frame=[],t=0;t<e.frame.length;t++)r.frame[t]=ha.supplyAnimationFrameDefaults(e.frame[t]||{});else r.frame=ha.supplyAnimationFrameDefaults(e.frame||{});if(Array.isArray(e.transition))for(r.transition=[],t=0;t<e.transition.length;t++)r.transition[t]=ha.supplyAnimationTransitionDefaults(e.transition[t]||{});else r.transition=ha.supplyAnimationTransitionDefaults(e.transition||{});return r};ha.supplyAnimationFrameDefaults=function(e){var t={};function r(n,i){return Ca.coerce(e||{},t,lO.frame,n,i)}return r(\"duration\"),r(\"redraw\"),t};ha.supplyAnimationTransitionDefaults=function(e){var t={};function r(n,i){return Ca.coerce(e||{},t,lO.transition,n,i)}return r(\"duration\"),r(\"easing\"),t};ha.supplyFrameDefaults=function(e){var t={};function r(n,i){return Ca.coerce(e,t,Fit,n,i)}return r(\"group\"),r(\"name\"),r(\"traces\"),r(\"baseframe\"),r(\"data\"),r(\"layout\"),t};ha.supplyTraceDefaults=function(e,t,r,n,i){var a=n.colorway||Ine.defaults,o=a[r%a.length],s;function l(k,A){return Ca.coerce(e,t,ha.attributes,k,A)}var u=l(\"visible\");l(\"type\"),l(\"name\",n._traceWord+\" \"+i),l(\"uirevision\",n.uirevision);var c=ha.getModule(t);if(t._module=c,c){var f=c.basePlotModule,h=f.attr,d=f.attributes;if(h&&d){var v=n._subplots,x=\"\";if(Array.isArray(h))for(s=0;s<h.length;s++){var b=h[s],p=Ca.coerce(e,t,d,b);v[b]&&Ca.pushUnique(v[b],p),x+=p}else x=Ca.coerce(e,t,d,h);v[f.name]&&Ca.pushUnique(v[f.name],x)}}if(u&&(l(\"customdata\"),l(\"ids\"),l(\"meta\"),bl.traceIs(t,\"showLegend\")?(Ca.coerce(e,t,c.attributes.showlegend?c.attributes:ha.attributes,\"showlegend\"),l(\"legend\"),l(\"legendwidth\"),l(\"legendgroup\"),l(\"legendgrouptitle.text\"),l(\"legendrank\"),t._dfltShowLegend=!0):t._dfltShowLegend=!1,c&&c.supplyDefaults(e,t,o,n),bl.traceIs(t,\"noOpacity\")||l(\"opacity\"),bl.traceIs(t,\"notLegendIsolatable\")&&(t.visible=!!t.visible),bl.traceIs(t,\"noHover\")||(t.hovertemplate||Ca.coerceHoverinfo(e,t,n),t.type!==\"parcats\"&&bl.getComponentMethod(\"fx\",\"supplyDefaults\")(e,t,o,n)),c&&c.selectPoints)){var E=l(\"selectedpoints\");Ca.isTypedArray(E)&&(t.selectedpoints=Array.from(E))}return t};ha.supplyLayoutGlobalDefaults=function(e,t,r){function n(f,h){return Ca.coerce(e,t,ha.layoutAttributes,f,h)}var i=e.template;Ca.isPlainObject(i)&&(t.template=i,t._template=i.layout,t._dataTemplate=i.data),n(\"autotypenumbers\");var a=Ca.coerceFont(n,\"font\"),o=a.size;Ca.coerceFont(n,\"title.font\",a,{overrideDflt:{size:Math.round(o*1.4)}}),n(\"title.text\",t._dfltTitle.plot),n(\"title.xref\");var s=n(\"title.yref\");n(\"title.pad.t\"),n(\"title.pad.r\"),n(\"title.pad.b\"),n(\"title.pad.l\");var l=n(\"title.automargin\");n(\"title.x\"),n(\"title.xanchor\"),n(\"title.y\"),n(\"title.yanchor\"),n(\"title.subtitle.text\",t._dfltTitle.subtitle),Ca.coerceFont(n,\"title.subtitle.font\",a,{overrideDflt:{size:Math.round(t.title.font.size*.7)}}),l&&(s===\"paper\"&&(t.title.y!==0&&(t.title.y=1),t.title.yanchor===\"auto\"&&(t.title.yanchor=t.title.y===0?\"top\":\"bottom\")),s===\"container\"&&(t.title.y===\"auto\"&&(t.title.y=1),t.title.yanchor===\"auto\"&&(t.title.yanchor=t.title.y<.5?\"bottom\":\"top\")));var u=n(\"uniformtext.mode\");u&&n(\"uniformtext.minsize\"),n(\"autosize\",!(e.width&&e.height)),n(\"width\"),n(\"height\"),n(\"minreducedwidth\"),n(\"minreducedheight\"),n(\"margin.l\"),n(\"margin.r\"),n(\"margin.t\"),n(\"margin.b\"),n(\"margin.pad\"),n(\"margin.autoexpand\"),e.width&&e.height&&ha.sanitizeMargins(t),bl.getComponentMethod(\"grid\",\"sizeDefaults\")(e,t),n(\"paper_bgcolor\"),n(\"separators\",r.decimal+r.thousands),n(\"hidesources\"),n(\"colorway\"),n(\"datarevision\");var c=n(\"uirevision\");n(\"editrevision\",c),n(\"selectionrevision\",c),bl.getComponentMethod(\"modebar\",\"supplyLayoutDefaults\")(e,t),bl.getComponentMethod(\"shapes\",\"supplyDrawNewShapeDefaults\")(e,t,n),bl.getComponentMethod(\"selections\",\"supplyDrawNewSelectionDefaults\")(e,t,n),n(\"meta\"),Ca.isPlainObject(e.transition)&&(n(\"transition.duration\"),n(\"transition.easing\"),n(\"transition.ordering\")),bl.getComponentMethod(\"calendars\",\"handleDefaults\")(e,t,\"calendar\"),bl.getComponentMethod(\"fx\",\"supplyLayoutGlobalDefaults\")(e,t,n),Ca.coerce(e,t,zit,\"scattermode\")};function j6(e){return typeof e==\"string\"&&e.substr(e.length-2)===\"px\"&&parseFloat(e)}ha.plotAutoSize=function(t,r,n){var i=t._context||{},a=i.frameMargins,o,s,l=Ca.isPlotDiv(t);if(l&&t.emit(\"plotly_autosize\"),i.fillFrame)o=window.innerWidth,s=window.innerHeight,document.body.style.overflow=\"hidden\";else{var u=l?window.getComputedStyle(t):{};if(o=j6(u.width)||j6(u.maxWidth)||n.width,s=j6(u.height)||j6(u.maxHeight)||n.height,jS(a)&&a>0){var c=1-2*a;o=Math.round(c*o),s=Math.round(c*s)}}var f=ha.layoutAttributes.width.min,h=ha.layoutAttributes.height.min;o<f&&(o=f),s<h&&(s=h);var d=!r.width&&Math.abs(n.width-o)>1,v=!r.height&&Math.abs(n.height-s)>1;(v||d)&&(d&&(n.width=o),v&&(n.height=s)),t._initialAutoSize||(t._initialAutoSize={width:o,height:s}),ha.sanitizeMargins(n)};ha.supplyLayoutModuleDefaults=function(e,t,r,n){var i=bl.componentsRegistry,a=t._basePlotModules,o,s,l,u=bl.subplotsRegistry.cartesian;for(o in i)l=i[o],l.includeBasePlot&&l.includeBasePlot(e,t);a.length||a.push(u),t._has(\"cartesian\")&&(bl.getComponentMethod(\"grid\",\"contentDefaults\")(e,t),u.finalizeSubplots(e,t));for(var c in t._subplots)t._subplots[c].sort(Ca.subplotSort);for(s=0;s<a.length;s++)l=a[s],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r);var f=t._modules;for(s=0;s<f.length;s++)l=f[s],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r);var h=t._transformModules;for(s=0;s<h.length;s++)l=h[s],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r,n);for(o in i)l=i[o],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r)};ha.purge=function(e){var t=e._fullLayout||{};t._glcontainer!==void 0&&(t._glcontainer.selectAll(\".gl-canvas\").remove(),t._glcontainer.remove(),t._glcanvas=null),t._modeBar&&t._modeBar.destroy(),e._transitionData&&(e._transitionData._interruptCallbacks&&(e._transitionData._interruptCallbacks.length=0),e._transitionData._animationRaf&&window.cancelAnimationFrame(e._transitionData._animationRaf)),Ca.clearThrottle(),Ca.clearResponsive(e),delete e.data,delete e.layout,delete e._fullData,delete e._fullLayout,delete e.calcdata,delete e.empty,delete e.fid,delete e.undoqueue,delete e.undonum,delete e.autoplay,delete e.changed,delete e._promises,delete e._redrawTimer,delete e._hmlumcount,delete e._hmpixcount,delete e._transitionData,delete e._transitioning,delete e._initialAutoSize,delete e._transitioningWithDuration,delete e._dragging,delete e._dragged,delete e._dragdata,delete e._hoverdata,delete e._snapshotInProgress,delete e._editing,delete e._mouseDownTime,delete e._legendMouseDownTime,e.removeAllListeners&&e.removeAllListeners()};ha.style=function(e){var t=e._fullLayout._visibleModules,r=[],n;for(n=0;n<t.length;n++){var i=t[n];i.style&&Ca.pushUnique(r,i.style)}for(n=0;n<r.length;n++)r[n](e)};ha.sanitizeMargins=function(e){if(!(!e||!e.margin)){var t=e.width,r=e.height,n=e.margin,i=t-(n.l+n.r),a=r-(n.t+n.b),o;i<0&&(o=(t-1)/(n.l+n.r),n.l=Math.floor(o*n.l),n.r=Math.floor(o*n.r)),a<0&&(o=(r-1)/(n.t+n.b),n.t=Math.floor(o*n.t),n.b=Math.floor(o*n.b))}};ha.clearAutoMarginIds=function(e){e._fullLayout._pushmarginIds={}};ha.allowAutoMargin=function(e,t){e._fullLayout._pushmarginIds[t]=1};function Rne(e){var t=e.margin;if(!e._size){var r=e._size={l:Math.round(t.l),r:Math.round(t.r),t:Math.round(t.t),b:Math.round(t.b),p:Math.round(t.pad)};r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b}e._pushmargin||(e._pushmargin={}),e._pushmarginIds||(e._pushmarginIds={}),e._reservedMargin||(e._reservedMargin={})}var Dne=2,zne=2;ha.autoMargin=function(e,t,r){var n=e._fullLayout,i=n.width,a=n.height,o=n.margin,s=n.minreducedwidth,l=n.minreducedheight,u=Ca.constrain(i-o.l-o.r,Dne,s),c=Ca.constrain(a-o.t-o.b,zne,l),f=Math.max(0,i-u),h=Math.max(0,a-c),d=n._pushmargin,v=n._pushmarginIds;if(o.autoexpand!==!1){if(!r)delete d[t],delete v[t];else{var x=r.pad;if(x===void 0&&(x=Math.min(12,o.l,o.r,o.t,o.b)),f){var b=(r.l+r.r)/f;b>1&&(r.l/=b,r.r/=b)}if(h){var p=(r.t+r.b)/h;p>1&&(r.t/=p,r.b/=p)}var E=r.xl!==void 0?r.xl:r.x,k=r.xr!==void 0?r.xr:r.x,A=r.yt!==void 0?r.yt:r.y,L=r.yb!==void 0?r.yb:r.y;d[t]={l:{val:E,size:r.l+x},r:{val:k,size:r.r+x},b:{val:L,size:r.b+x},t:{val:A,size:r.t+x}},v[t]=1}if(!n._replotting)return ha.doAutoMargin(e)}};function Wit(e){if(\"_redrawFromAutoMarginCount\"in e._fullLayout)return!1;var t=Ap.list(e,\"\",!0);for(var r in t)if(t[r].autoshift||t[r].shift)return!0;return!1}ha.doAutoMargin=function(e){var t=e._fullLayout,r=t.width,n=t.height;t._size||(t._size={}),Rne(t);var i=t._size,a=t.margin,o={t:0,b:0,l:0,r:0},s=Ca.extendFlat({},i),l=a.l,u=a.r,c=a.t,f=a.b,h=t._pushmargin,d=t._pushmarginIds,v=t.minreducedwidth,x=t.minreducedheight;if(a.autoexpand!==!1){for(var b in h)d[b]||delete h[b];var p=e._fullLayout._reservedMargin;for(var E in p)for(var k in p[E]){var A=p[E][k];o[k]=Math.max(o[k],A)}h.base={l:{val:0,size:l},r:{val:1,size:u},t:{val:1,size:c},b:{val:0,size:f}};for(var L in o){var _=0;for(var C in h)C!==\"base\"&&jS(h[C][L].size)&&(_=h[C][L].size>_?h[C][L].size:_);var M=Math.max(0,a[L]-_);o[L]=Math.max(0,o[L]-M)}for(var g in h){var P=h[g].l||{},T=h[g].b||{},F=P.val,q=P.size,V=T.val,H=T.size,X=r-o.r-o.l,G=n-o.t-o.b;for(var N in h){if(jS(q)&&h[N].r){var W=h[N].r.val,re=h[N].r.size;if(W>F){var ae=(q*W+(re-X)*F)/(W-F),_e=(re*(1-F)+(q-X)*(1-W))/(W-F);ae+_e>l+u&&(l=ae,u=_e)}}if(jS(H)&&h[N].t){var Me=h[N].t.val,ke=h[N].t.size;if(Me>V){var ge=(H*Me+(ke-G)*V)/(Me-V),ie=(ke*(1-V)+(H-G)*(1-Me))/(Me-V);ge+ie>f+c&&(f=ge,c=ie)}}}}}var Te=Ca.constrain(r-a.l-a.r,Dne,v),Ee=Ca.constrain(n-a.t-a.b,zne,x),Ae=Math.max(0,r-Te),ze=Math.max(0,n-Ee);if(Ae){var Ce=(l+u)/Ae;Ce>1&&(l/=Ce,u/=Ce)}if(ze){var me=(f+c)/ze;me>1&&(f/=me,c/=me)}if(i.l=Math.round(l)+o.l,i.r=Math.round(u)+o.r,i.t=Math.round(c)+o.t,i.b=Math.round(f)+o.b,i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!t._replotting&&(ha.didMarginChange(s,i)||Wit(e))){\"_redrawFromAutoMarginCount\"in t?t._redrawFromAutoMarginCount++:t._redrawFromAutoMarginCount=1;var Re=3*(1+Object.keys(d).length);if(t._redrawFromAutoMarginCount<Re)return bl.call(\"_doPlot\",e);t._size=s,Ca.warn(\"Too many auto-margin redraws.\")}Zit(e)};function Zit(e){var t=Ap.list(e,\"\",!0);[\"_adjustTickLabelsOverflow\",\"_hideCounterAxisInsideTickLabels\"].forEach(function(r){for(var n=0;n<t.length;n++){var i=t[n][r];i&&i()}})}var Ene=[\"l\",\"r\",\"t\",\"b\",\"p\",\"w\",\"h\"];ha.didMarginChange=function(e,t){for(var r=0;r<Ene.length;r++){var n=Ene[r],i=e[n],a=t[n];if(!jS(i)||Math.abs(a-i)>1)return!0}return!1};ha.graphJson=function(e,t,r,n,i,a){(i&&t&&!e._fullData||i&&!t&&!e._fullLayout)&&ha.supplyDefaults(e);var o=i?e._fullData:e.data,s=i?e._fullLayout:e.layout,l=(e._transitionData||{})._frames;function u(h,d){if(typeof h==\"function\")return d?\"_function_\":null;if(Ca.isPlainObject(h)){var v={},x;return Object.keys(h).sort().forEach(function(k){if([\"_\",\"[\"].indexOf(k.charAt(0))===-1){if(typeof h[k]==\"function\"){d&&(v[k]=\"_function\");return}if(r===\"keepdata\"){if(k.substr(k.length-3)===\"src\")return}else if(r===\"keepstream\"){if(x=h[k+\"src\"],typeof x==\"string\"&&x.indexOf(\":\")>0&&!Ca.isPlainObject(h.stream))return}else if(r!==\"keepall\"&&(x=h[k+\"src\"],typeof x==\"string\"&&x.indexOf(\":\")>0))return;v[k]=u(h[k],d)}}),v}var b=Array.isArray(h),p=Ca.isTypedArray(h);if((b||p)&&h.dtype&&h.shape){var E=h.bdata;return u({dtype:h.dtype,shape:h.shape,bdata:Ca.isArrayBuffer(E)?Iit.encode(E):E},d)}return b?h.map(function(k){return u(k,d)}):p?Ca.simpleMap(h,Ca.identity):Ca.isJSDate(h)?Ca.ms2DateTimeLocal(+h):h}var c={data:(o||[]).map(function(h){var d=u(h);return t&&delete d.fit,d})};if(!t&&(c.layout=u(s),i)){var f=s._size;c.layout.computed={margin:{b:f.b,l:f.l,r:f.r,t:f.t}}}return l&&(c.frames=u(l)),a&&(c.config=u(e._context,!0)),n===\"object\"?c:JSON.stringify(c)};ha.modifyFrames=function(e,t){var r,n,i,a=e._transitionData._frames,o=e._transitionData._frameHash;for(r=0;r<t.length;r++)switch(n=t[r],n.type){case\"replace\":i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&&(delete o[s],o[l]=i);break;case\"insert\":i=n.value,o[i.name]=i,a.splice(n.index,0,i);break;case\"delete\":i=a[n.index],delete o[i.name],a.splice(n.index,1);break}return Promise.resolve()};ha.computeFrame=function(e,t){var r=e._transitionData._frameHash,n,i,a,o;if(!t)throw new Error(\"computeFrame must be given a string frame name\");var s=r[t.toString()];if(!s)return!1;for(var l=[s],u=[s.name];s.baseframe&&(s=r[s.baseframe.toString()])&&u.indexOf(s.name)===-1;)l.push(s),u.push(s.name);for(var c={};s=l.pop();)if(s.layout&&(c.layout=ha.extendLayout(c.layout,s.layout)),s.data){if(c.data||(c.data=[]),i=s.traces,!i)for(i=[],n=0;n<s.data.length;n++)i[n]=n;for(c.traces||(c.traces=[]),n=0;n<s.data.length;n++)a=i[n],a!=null&&(o=c.traces.indexOf(a),o===-1&&(o=c.data.length,c.traces[o]=a),c.data[o]=ha.extendTrace(c.data[o],s.data[n]))}return c};ha.recomputeFrameHash=function(e){for(var t=e._transitionData._frameHash={},r=e._transitionData._frames,n=0;n<r.length;n++){var i=r[n];i&&i.name&&(t[i.name]=i)}};ha.extendObjectWithContainers=function(e,t,r){var n,i,a,o,s,l,u,c,f=Ca.extendDeepNoArrays({},t||{}),h=Ca.expandObjectPaths(f),d={};if(r&&r.length)for(a=0;a<r.length;a++)n=Ca.nestedProperty(h,r[a]),i=n.get(),i===void 0?Ca.nestedProperty(d,r[a]).set(null):(n.set(null),Ca.nestedProperty(d,r[a]).set(i));if(e=Ca.extendDeepNoArrays(e||{},h),r&&r.length){for(a=0;a<r.length;a++)if(s=Ca.nestedProperty(d,r[a]),u=s.get(),!!u){for(l=Ca.nestedProperty(e,r[a]),c=l.get(),Array.isArray(c)||(c=[],l.set(c)),o=0;o<u.length;o++){var v=u[o];v===null?c[o]=null:c[o]=ha.extendObjectWithContainers(c[o],v)}l.set(c)}}return e};ha.dataArrayContainers=[\"transforms\",\"dimensions\"];ha.layoutArrayContainers=bl.layoutArrayContainers;ha.extendTrace=function(e,t){return ha.extendObjectWithContainers(e,t,ha.dataArrayContainers)};ha.extendLayout=function(e,t){return ha.extendObjectWithContainers(e,t,ha.layoutArrayContainers)};ha.transition=function(e,t,r,n,i,a){var o={redraw:i.redraw},s={},l=[];return o.prepareFn=function(){for(var u=Array.isArray(t)?t.length:0,c=n.slice(0,u),f=0;f<c.length;f++){var h=c[f],d=e._fullData[h],v=d._module;if(v){if(v.animatable){var x=v.basePlotModule.name;s[x]||(s[x]=[]),s[x].push(h)}e.data[c[f]]=ha.extendTrace(e.data[c[f]],t[f])}}var b=Ca.expandObjectPaths(Ca.extendDeepNoArrays({},r)),p=/^[xy]axis[0-9]*$/;for(var E in b)p.test(E)&&delete b[E].range;ha.extendLayout(e.layout,b),delete e.calcdata,ha.supplyDefaults(e),ha.doCalcdata(e);var k=Ca.expandObjectPaths(r);if(k){var A=e._fullLayout._plots;for(var L in A){var _=A[L],C=_.xaxis,M=_.yaxis,g=C.range.slice(),P=M.range.slice(),T=null,F=null,q=null,V=null;Array.isArray(k[C._name+\".range\"])?T=k[C._name+\".range\"].slice():Array.isArray((k[C._name]||{}).range)&&(T=k[C._name].range.slice()),Array.isArray(k[M._name+\".range\"])?F=k[M._name+\".range\"].slice():Array.isArray((k[M._name]||{}).range)&&(F=k[M._name].range.slice()),g&&T&&(C.r2l(g[0])!==C.r2l(T[0])||C.r2l(g[1])!==C.r2l(T[1]))&&(q={xr0:g,xr1:T}),P&&F&&(M.r2l(P[0])!==M.r2l(F[0])||M.r2l(P[1])!==M.r2l(F[1]))&&(V={yr0:P,yr1:F}),(q||V)&&l.push(Ca.extendFlat({plotinfo:_},q,V))}}return Promise.resolve()},o.runFn=function(u){var c,f=e._fullLayout._basePlotModules,h=l.length,d;if(r)for(d=0;d<f.length;d++)f[d].transitionAxes&&f[d].transitionAxes(e,l,a,u);h?(c=Ca.extendFlat({},a),c.duration=0,delete s.cartesian):c=a;for(var v in s){var x=s[v],b=e._fullData[x[0]]._module;b.basePlotModule.plot(e,x,c,u)}},Fne(e,a,o)};ha.transitionFromReact=function(e,t,r,n){var i=e._fullLayout,a=i.transition,o={},s=[];return o.prepareFn=function(){var l=i._plots;o.redraw=!1,t.anim===\"some\"&&(o.redraw=!0),r.anim===\"some\"&&(o.redraw=!0);for(var u in l){var c=l[u],f=c.xaxis,h=c.yaxis,d=n[f._name].range.slice(),v=n[h._name].range.slice(),x=f.range.slice(),b=h.range.slice();f.setScale(),h.setScale();var p=null,E=null;(f.r2l(d[0])!==f.r2l(x[0])||f.r2l(d[1])!==f.r2l(x[1]))&&(p={xr0:d,xr1:x}),(h.r2l(v[0])!==h.r2l(b[0])||h.r2l(v[1])!==h.r2l(b[1]))&&(E={yr0:v,yr1:b}),(p||E)&&s.push(Ca.extendFlat({plotinfo:c},p,E))}return Promise.resolve()},o.runFn=function(l){for(var u=e._fullData,c=e._fullLayout,f=c._basePlotModules,h,d,v,x=[],b=0;b<u.length;b++)x.push(b);function p(){if(e._fullLayout)for(var k=0;k<f.length;k++)f[k].transitionAxes&&f[k].transitionAxes(e,s,h,l)}function E(){if(e._fullLayout)for(var k=0;k<f.length;k++)f[k].plot(e,v,d,l)}s.length&&t.anim?a.ordering===\"traces first\"?(h=Ca.extendFlat({},a,{duration:0}),v=x,d=a,setTimeout(p,a.duration),E()):(h=a,v=null,d=Ca.extendFlat({},a,{duration:0}),setTimeout(E,h.duration),p()):s.length?(h=a,p()):t.anim&&(v=x,d=a,E())},Fne(e,a,o)};function Fne(e,t,r){var n=!1;function i(f){var h=Promise.resolve();if(!f)return h;for(;f.length;)h=h.then(f.shift());return h}function a(f){if(f)for(;f.length;)f.shift()}function o(){return e.emit(\"plotly_transitioning\",[]),new Promise(function(f){e._transitioning=!0,t.duration>0&&(e._transitioningWithDuration=!0),e._transitionData._interruptCallbacks.push(function(){n=!0}),r.redraw&&e._transitionData._interruptCallbacks.push(function(){return bl.call(\"redraw\",e)}),e._transitionData._interruptCallbacks.push(function(){e.emit(\"plotly_transitioninterrupted\",[])});var h=0,d=0;function v(){return h++,function(){d++,!n&&d===h&&s(f)}}r.runFn(v),setTimeout(v())})}function s(f){if(e._transitionData)return a(e._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(r.redraw)return bl.call(\"redraw\",e)}).then(function(){e._transitioning=!1,e._transitioningWithDuration=!1,e.emit(\"plotly_transitioned\",[])}).then(f)}function l(){if(e._transitionData)return e._transitioning=!1,i(e._transitionData._interruptCallbacks)}var u=[ha.previousPromises,l,r.prepareFn,ha.rehover,ha.reselect,o],c=Ca.syncOrAsync(u,e);return(!c||!c.then)&&(c=Promise.resolve()),c.then(function(){return e})}ha.doCalcdata=function(e,t){var r=Ap.list(e),n=e._fullData,i=e._fullLayout,a,o,s,l,u=new Array(n.length),c=(e.calcdata||[]).slice();for(e.calcdata=u,i._numBoxes=0,i._numViolins=0,i._violinScaleGroupStats={},e._hmpixcount=0,e._hmlumcount=0,i._piecolormap={},i._sunburstcolormap={},i._treemapcolormap={},i._iciclecolormap={},i._funnelareacolormap={},s=0;s<n.length;s++)if(Array.isArray(t)&&t.indexOf(s)===-1){u[s]=c[s];continue}for(s=0;s<n.length;s++)a=n[s],a._arrayAttrs=Pne.findArrayAttributes(a),a._extremes={};var f=i._subplots.polar||[];for(s=0;s<f.length;s++)r.push(i[f[s]].radialaxis,i[f[s]].angularaxis);for(var h in i._colorAxes){var d=i[h];d.cauto!==!1&&(delete d.cmin,delete d.cmax)}var v=!1;function x(E){if(a=n[E],o=a._module,a.visible===!0&&a.transforms){if(o&&o.calc){var k=o.calc(e,a);k[0]&&k[0].t&&k[0].t._scene&&delete k[0].t._scene.dirty}for(l=0;l<a.transforms.length;l++){var A=a.transforms[l];o=transformsRegistry[A.type],o&&o.calcTransform&&(a._hasCalcTransform=!0,v=!0,o.calcTransform(e,a,A))}}}function b(E,k){if(a=n[E],o=a._module,!!o.isContainer===k){var A=[];if(a.visible===!0&&a._length!==0){delete a._indexToPoints;var L=a.transforms||[];for(l=L.length-1;l>=0;l--)if(L[l].enabled){a._indexToPoints=L[l]._indexToPoints;break}o&&o.calc&&(A=o.calc(e,a))}(!Array.isArray(A)||!A[0])&&(A=[{x:Ane,y:Ane}]),A[0].t||(A[0].t={}),A[0].trace=a,u[E]=A}}for(kne(r,n,i),s=0;s<n.length;s++)b(s,!0);for(s=0;s<n.length;s++)x(s);for(v&&kne(r,n,i),s=0;s<n.length;s++)b(s,!0);for(s=0;s<n.length;s++)b(s,!1);Cne(e);var p=Yit(r,e);if(p.length){for(i._numBoxes=0,i._numViolins=0,s=0;s<p.length;s++)b(p[s],!0);for(s=0;s<p.length;s++)b(p[s],!1);Cne(e)}bl.getComponentMethod(\"fx\",\"calc\")(e),bl.getComponentMethod(\"errorbars\",\"calc\")(e)};var Xit=/(total|sum|min|max|mean|geometric mean|median) (ascending|descending)/;function Yit(e,t){var r=[],n,i,a,o,s;function l(N,W,re){var ae=W._id.charAt(0);if(N===\"histogram2dcontour\"){var _e=W._counterAxes[0],Me=Ap.getFromId(t,_e),ke=ae===\"x\"||_e===\"x\"&&Me.type===\"category\",ge=ae===\"y\"||_e===\"y\"&&Me.type===\"category\";return function(ie,Te){return ie===0||Te===0||ke&&ie===re[Te].length-1||ge&&Te===re.length-1?-1:(ae===\"y\"?Te:ie)-1}}else return function(ie,Te){return ae===\"y\"?Te:ie}}var u={min:function(N){return Ca.aggNums(Math.min,null,N)},max:function(N){return Ca.aggNums(Math.max,null,N)},sum:function(N){return Ca.aggNums(function(W,re){return W+re},null,N)},total:function(N){return Ca.aggNums(function(W,re){return W+re},null,N)},mean:function(N){return Ca.mean(N)},\"geometric mean\":function(N){return Ca.geometricMean(N)},median:function(N){return Ca.median(N)}};function c(N,W){return N[1]-W[1]}function f(N,W){return W[1]-N[1]}for(n=0;n<e.length;n++){var h=e[n];if(h.type===\"category\"){var d=h.categoryorder.match(Xit);if(d){var v=d[1],x=d[2],b=h._id.charAt(0),p=b===\"x\",E=[];for(i=0;i<h._categories.length;i++)E.push([h._categories[i],[]]);for(i=0;i<h._traceIndices.length;i++){var k=h._traceIndices[i],A=t._fullData[k];if(A.visible===!0){var L=A.type;bl.traceIs(A,\"histogram\")&&(delete A._xautoBinFinished,delete A._yautoBinFinished);var _=L===\"splom\",C=L===\"scattergl\",M=t.calcdata[k];for(a=0;a<M.length;a++){var g=M[a],P,T;if(_){var F=A._axesDim[h._id];if(!p){var q=A._diag[F][0];q&&(h=t._fullLayout[Ap.id2name(q)])}var V=g.trace.dimensions[F].values;for(o=0;o<V.length;o++)for(P=h._categoriesMap[V[o]],s=0;s<g.trace.dimensions.length;s++)if(s!==F){var H=g.trace.dimensions[s];E[P][1].push(H.values[o])}}else if(C){for(o=0;o<g.t.x.length;o++)p?(P=g.t.x[o],T=g.t.y[o]):(P=g.t.y[o],T=g.t.x[o]),E[P][1].push(T);g.t&&g.t._scene&&delete g.t._scene.dirty}else if(g.hasOwnProperty(\"z\")){T=g.z;var X=l(A.type,h,T);for(o=0;o<T.length;o++)for(s=0;s<T[o].length;s++)P=X(s,o),P+1&&E[P][1].push(T[o][s])}else for(P=g.p,P===void 0&&(P=g[b]),T=g.s,T===void 0&&(T=g.v),T===void 0&&(T=p?g.y:g.x),Array.isArray(T)||(T===void 0?T=[]:T=[T]),o=0;o<T.length;o++)E[P][1].push(T[o])}}}h._categoriesValue=E;var G=[];for(i=0;i<E.length;i++)G.push([E[i][0],u[v](E[i][1])]);G.sort(x===\"descending\"?f:c),h._categoriesAggregatedValue=G,h._initialCategories=G.map(function(N){return N[0]}),r=r.concat(h.sortByInitialCategories())}}}return r}function kne(e,t,r){var n={};function i(l){l.clearCalc(),l.type===\"multicategory\"&&l.setupMultiCategory(t),n[l._id]=1}Ca.simpleMap(e,i);for(var a=r._axisMatchGroups||[],o=0;o<a.length;o++)for(var s in a[o])n[s]||i(r[Ap.id2name(s)])}function Cne(e){var t=e._fullLayout,r=t._visibleModules,n={},i,a,o;for(a=0;a<r.length;a++){var s=r[a],l=s.crossTraceCalc;if(l){var u=s.basePlotModule.name;n[u]?Ca.pushUnique(n[u],l):n[u]=[l]}}for(o in n){var c=n[o],f=t._subplots[o];if(Array.isArray(f))for(i=0;i<f.length;i++){var h=f[i],d=o===\"cartesian\"?t._plots[h]:t[h];for(a=0;a<c.length;a++)c[a](e,d,h)}else for(a=0;a<c.length;a++)c[a](e)}}ha.rehover=function(e){e._fullLayout._rehover&&e._fullLayout._rehover()};ha.redrag=function(e){e._fullLayout._redrag&&e._fullLayout._redrag()};ha.reselect=function(e){var t=e._fullLayout,r=(e.layout||{}).selections,n=t._previousSelections;t._previousSelections=r;var i=t._reselect||JSON.stringify(r)!==JSON.stringify(n);bl.getComponentMethod(\"selections\",\"reselect\")(e,i)};ha.generalUpdatePerTraceModule=function(e,t,r,n){var i=t.traceHash,a={},o;for(o=0;o<r.length;o++){var s=r[o],l=s[0].trace;l.visible&&(a[l.type]=a[l.type]||[],a[l.type].push(s))}for(var u in i)if(!a[u]){var c=i[u][0],f=c[0].trace;f.visible=!1,a[u]=[c]}for(var h in a){var d=a[h],v=d[0][0].trace._module;v.plot(e,t,Ca.filterVisible(d),n)}t.traceHash=a};ha.plotBasePlot=function(e,t,r,n,i){var a=bl.getModule(e),o=qit(t.calcdata,a)[0];a.plot(t,o,n,i)};ha.cleanBasePlot=function(e,t,r,n,i){var a=i._has&&i._has(e),o=r._has&&r._has(e);a&&!o&&i[\"_\"+e+\"layer\"].selectAll(\"g.trace\").remove()}});var Zp=ye(yb=>{\"use strict\";yb.xmlns=\"http://www.w3.org/2000/xmlns/\";yb.svg=\"http://www.w3.org/2000/svg\";yb.xlink=\"http://www.w3.org/1999/xlink\";yb.svgAttrs={xmlns:yb.svg,\"xmlns:xlink\":yb.xlink}});var Nh=ye((jtr,One)=>{\"use strict\";One.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\"}}});var Pl=ye(b0=>{\"use strict\";var vh=xa(),Ty=Mr(),Kit=Ty.strTranslate,uO=Zp(),Jit=Nh().LINE_SPACING,$it=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;b0.convertToTspans=function(e,t,r){var n=e.text(),i=!e.attr(\"data-notex\")&&t&&t._context.typesetMath&&typeof MathJax!=\"undefined\"&&n.match($it),a=vh.select(e.node().parentNode);if(a.empty())return;var o=e.attr(\"class\")?e.attr(\"class\").split(\" \")[0]:\"text\";o+=\"-math\",a.selectAll(\"svg.\"+o).remove(),a.selectAll(\"g.\"+o+\"-group\").remove(),e.style(\"display\",null).attr({\"data-unformatted\":n,\"data-math\":\"N\"});function s(){a.empty()||(o=e.attr(\"class\")+\"-math\",a.select(\"svg.\"+o).remove()),e.text(\"\").style(\"white-space\",\"pre\");var l=fnt(e.node(),n);l&&e.style(\"pointer-events\",\"all\"),b0.positionText(e),r&&r.call(e)}return i?(t&&t._promises||[]).push(new Promise(function(l){e.style(\"display\",\"none\");var u=parseInt(e.node().style.fontSize,10),c={fontSize:u};rnt(i[2],c,function(f,h,d){a.selectAll(\"svg.\"+o).remove(),a.selectAll(\"g.\"+o+\"-group\").remove();var v=f&&f.select(\"svg\");if(!v||!v.node()){s(),l();return}var x=a.append(\"g\").classed(o+\"-group\",!0).attr({\"pointer-events\":\"none\",\"data-unformatted\":n,\"data-math\":\"Y\"});x.node().appendChild(v.node()),h&&h.node()&&v.node().insertBefore(h.node().cloneNode(!0),v.node().firstChild);var b=d.width,p=d.height;v.attr({class:o,height:p,preserveAspectRatio:\"xMinYMin meet\"}).style({overflow:\"visible\",\"pointer-events\":\"none\"});var E=e.node().style.fill||\"black\",k=v.select(\"g\");k.attr({fill:E,stroke:E});var A=k.node().getBoundingClientRect(),L=A.width,_=A.height;(L>b||_>p)&&(v.style(\"overflow\",\"hidden\"),A=v.node().getBoundingClientRect(),L=A.width,_=A.height);var C=+e.attr(\"x\"),M=+e.attr(\"y\"),g=u||e.node().getBoundingClientRect().height,P=-g/4;if(o[0]===\"y\")x.attr({transform:\"rotate(\"+[-90,C,M]+\")\"+Kit(-L/2,P-_/2)});else if(o[0]===\"l\")M=P-_/2;else if(o[0]===\"a\"&&o.indexOf(\"atitle\")!==0)C=0,M=P;else{var T=e.attr(\"text-anchor\");C=C-L*(T===\"middle\"?.5:T===\"end\"?1:0),M=M+P-_/2}v.attr({x:C,y:M}),r&&r.call(e,x),l(x)})})):s(),e};var Qit=/(<|<|<)/g,ent=/(>|>|>)/g;function tnt(e){return e.replace(Qit,\"\\\\lt \").replace(ent,\"\\\\gt \")}var Bne=[[\"$\",\"$\"],[\"\\\\(\",\"\\\\)\"]];function rnt(e,t,r){var n=parseInt((MathJax.version||\"\").split(\".\")[0]);if(n!==2&&n!==3){Ty.warn(\"No MathJax version:\",MathJax.version);return}var i,a,o,s,l=function(){return a=Ty.extendDeepAll({},MathJax.Hub.config),o=MathJax.Hub.processSectionDelay,MathJax.Hub.processSectionDelay!==void 0&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:\"none\",tex2jax:{inlineMath:Bne},displayAlign:\"left\"})},u=function(){a=Ty.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=Bne},c=function(){if(i=MathJax.Hub.config.menuSettings.renderer,i!==\"SVG\")return MathJax.Hub.setRenderer(\"SVG\")},f=function(){i=MathJax.config.startup.output,i!==\"svg\"&&(MathJax.config.startup.output=\"svg\")},h=function(){var E=\"math-output-\"+Ty.randstr({},64);s=vh.select(\"body\").append(\"div\").attr({id:E}).style({visibility:\"hidden\",position:\"absolute\",\"font-size\":t.fontSize+\"px\"}).text(tnt(e));var k=s.node();return n===2?MathJax.Hub.Typeset(k):MathJax.typeset([k])},d=function(){var E=s.select(n===2?\".MathJax_SVG\":\".MathJax\"),k=!E.empty()&&s.select(\"svg\").node();if(!k)Ty.log(\"There was an error in the tex syntax.\",e),r();else{var A=k.getBoundingClientRect(),L;n===2?L=vh.select(\"body\").select(\"#MathJax_SVG_glyphs\"):L=E.select(\"defs\"),r(E,L,A)}s.remove()},v=function(){if(i!==\"SVG\")return MathJax.Hub.setRenderer(i)},x=function(){i!==\"svg\"&&(MathJax.config.startup.output=i)},b=function(){return o!==void 0&&(MathJax.Hub.processSectionDelay=o),MathJax.Hub.Config(a)},p=function(){MathJax.config=a};n===2?MathJax.Hub.Queue(l,c,h,d,v,b):n===3&&(u(),f(),MathJax.startup.defaultReady(),MathJax.startup.promise.then(function(){h(),d(),x(),p()}))}var Hne={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\"},int={sub:\"0.3em\",sup:\"-0.6em\"},nnt={sub:\"-0.21em\",sup:\"0.42em\"},Nne=\"\\u200B\",Une=[\"http:\",\"https:\",\"mailto:\",\"\",void 0,\":\"],Gne=b0.NEWLINES=/(\\r\\n?|\\n)/g,fO=/(<[^<>]*>)/,hO=/<(\\/?)([^ >]*)(\\s+(.*))?>/i,ant=/<br(\\s+.*)?>/i;b0.BR_TAG_ALL=/<br(\\s+.*)?>/gi;var jne=/(^|[\\s\"'])style\\s*=\\s*(\"([^\"]*);?\"|'([^']*);?')/i,Wne=/(^|[\\s\"'])href\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/i,Zne=/(^|[\\s\"'])target\\s*=\\s*(\"([^\"\\s]*)\"|'([^'\\s]*)')/i,ont=/(^|[\\s\"'])popup\\s*=\\s*(\"([\\w=,]*)\"|'([\\w=,]*)')/i;function _b(e,t){if(!e)return null;var r=e.match(t),n=r&&(r[3]||r[4]);return n&&Z6(n)}var snt=/(^|;)\\s*color:/;b0.plainText=function(e,t){t=t||{};for(var r=t.len!==void 0&&t.len!==-1?t.len:1/0,n=t.allowedTags!==void 0?t.allowedTags:[\"br\"],i=\"...\",a=i.length,o=e.split(fO),s=[],l=\"\",u=0,c=0;c<o.length;c++){var f=o[c],h=f.match(hO),d=h&&h[2].toLowerCase();if(d)n.indexOf(d)!==-1&&(s.push(f),l=d);else{var v=f.length;if(u+v<r)s.push(f),u+=v;else if(u<r){var x=r-u;l&&(l!==\"br\"||x<=a||v<=a)&&s.pop(),r>a?s.push(f.substr(0,x-a)+i):s.push(f.substr(0,x));break}l=\"\"}}return s.join(\"\")};var lnt={mu:\"\\u03BC\",amp:\"&\",lt:\"<\",gt:\">\",nbsp:\"\\xA0\",times:\"\\xD7\",plusmn:\"\\xB1\",deg:\"\\xB0\"},unt=/&(#\\d+|#x[\\da-fA-F]+|[a-z]+);/g;function Z6(e){return e.replace(unt,function(t,r){var n;return r.charAt(0)===\"#\"?n=cnt(r.charAt(1)===\"x\"?parseInt(r.substr(2),16):parseInt(r.substr(1),10)):n=lnt[r],n||t})}b0.convertEntities=Z6;function cnt(e){if(!(e>1114111)){var t=String.fromCodePoint;if(t)return t(e);var r=String.fromCharCode;return e<=65535?r(e):r((e>>10)+55232,e%1024+56320)}}function fnt(e,t){t=t.replace(Gne,\" \");var r=!1,n=[],i,a=-1;function o(){a++;var _=document.createElementNS(uO.svg,\"tspan\");vh.select(_).attr({class:\"line\",dy:a*Jit+\"em\"}),e.appendChild(_),i=_;var C=n;if(n=[{node:_}],C.length>1)for(var M=1;M<C.length;M++)s(C[M])}function s(_){var C=_.type,M={},g;if(C===\"a\"){g=\"a\";var P=_.target,T=_.href,F=_.popup;T&&(M={\"xlink:xlink:show\":P===\"_blank\"||P.charAt(0)!==\"_\"?\"new\":\"replace\",target:P,\"xlink:xlink:href\":T},F&&(M.onclick='window.open(this.href.baseVal,this.target.baseVal,\"'+F+'\");return false;'))}else g=\"tspan\";_.style&&(M.style=_.style);var q=document.createElementNS(uO.svg,g);if(C===\"sup\"||C===\"sub\"){l(i,Nne),i.appendChild(q);var V=document.createElementNS(uO.svg,\"tspan\");l(V,Nne),vh.select(V).attr(\"dy\",nnt[C]),M.dy=int[C],i.appendChild(q),i.appendChild(V)}else i.appendChild(q);vh.select(q).attr(M),i=_.node=q,n.push(_)}function l(_,C){_.appendChild(document.createTextNode(C))}function u(_){if(n.length===1){Ty.log(\"Ignoring unexpected end tag </\"+_+\">.\",t);return}var C=n.pop();_!==C.type&&Ty.log(\"Start tag <\"+C.type+\"> doesnt match end tag <\"+_+\">. Pretending it did match.\",t),i=n[n.length-1].node}var c=ant.test(t);c?o():(i=e,n=[{node:e}]);for(var f=t.split(fO),h=0;h<f.length;h++){var d=f[h],v=d.match(hO),x=v&&v[2].toLowerCase(),b=Hne[x];if(x===\"br\")o();else if(b===void 0)l(i,Z6(d));else if(v[1])u(x);else{var p=v[4],E={type:x},k=_b(p,jne);if(k?(k=k.replace(snt,\"$1 fill:\"),b&&(k+=\";\"+b)):b&&(k=b),k&&(E.style=k),x===\"a\"){r=!0;var A=_b(p,Wne);if(A){var L=Xne(A);L&&(E.href=L,E.target=_b(p,Zne)||\"_blank\",E.popup=_b(p,ont))}}s(E)}}return r}function Xne(e){var t=encodeURI(decodeURI(e)),r=document.createElement(\"a\"),n=document.createElement(\"a\");r.href=e,n.href=t;var i=r.protocol,a=n.protocol;return Une.indexOf(i)!==-1&&Une.indexOf(a)!==-1?t:\"\"}b0.sanitizeHTML=function(t){t=t.replace(Gne,\" \");for(var r=document.createElement(\"p\"),n=r,i=[],a=t.split(fO),o=0;o<a.length;o++){var s=a[o],l=s.match(hO),u=l&&l[2].toLowerCase();if(u in Hne)if(l[1])i.length&&(n=i.pop());else{var c=l[4],f=_b(c,jne),h=f?{style:f}:{};if(u===\"a\"){var d=_b(c,Wne);if(d){var v=Xne(d);if(v){h.href=v;var x=_b(c,Zne);x&&(h.target=x)}}}var b=document.createElement(u);n.appendChild(b),vh.select(b).attr(h),n=b,i.push(b)}else n.appendChild(document.createTextNode(Z6(s)))}var p=\"innerHTML\";return r[p]};b0.lineCount=function(t){return t.selectAll(\"tspan.line\").size()||1};b0.positionText=function(t,r,n){return t.each(function(){var i=vh.select(this);function a(l,u){return u===void 0?(u=i.attr(l),u===null&&(i.attr(l,0),u=0)):i.attr(l,u),u}var o=a(\"x\",r),s=a(\"y\",n);this.nodeName===\"text\"&&i.selectAll(\"tspan.line\").attr({x:o,y:s})})};function Vne(e,t,r){var n=r.horizontalAlign,i=r.verticalAlign||\"top\",a=e.node().getBoundingClientRect(),o=t.node().getBoundingClientRect(),s,l,u;return i===\"bottom\"?l=function(){return a.bottom-s.height}:i===\"middle\"?l=function(){return a.top+(a.height-s.height)/2}:l=function(){return a.top},n===\"right\"?u=function(){return a.right-s.width}:n===\"center\"?u=function(){return a.left+(a.width-s.width)/2}:u=function(){return a.left},function(){s=this.node().getBoundingClientRect();var c=u()-o.left,f=l()-o.top,h=r.gd||{};if(r.gd){h._fullLayout._calcInverseTransform(h);var d=Ty.apply3DTransform(h._fullLayout._invTransform)(c,f);c=d[0],f=d[1]}return this.style({top:f+\"px\",left:c+\"px\",\"z-index\":1e3}),this}}var cO=\"1px \";b0.makeTextShadow=function(e){var t=cO,r=cO,n=cO;return t+r+n+e+\", -\"+t+\"-\"+r+n+e+\", \"+t+\"-\"+r+n+e+\", -\"+t+r+n+e};b0.makeEditable=function(e,t){var r=t.gd,n=t.delegate,i=vh.dispatch(\"edit\",\"input\",\"cancel\"),a=n||e;if(e.style({\"pointer-events\":n?\"none\":\"all\"}),e.size()!==1)throw new Error(\"boo\");function o(){l(),e.style({opacity:0});var u=a.attr(\"class\"),c;u?c=\".\"+u.split(\" \")[0]+\"-math-group\":c=\"[class*=-math-group]\",c&&vh.select(e.node().parentNode).select(c).style({opacity:0})}function s(u){var c=u.node(),f=document.createRange();f.selectNodeContents(c);var h=window.getSelection();h.removeAllRanges(),h.addRange(f),c.focus()}function l(){var u=vh.select(r),c=u.select(\".svg-container\"),f=c.append(\"div\"),h=e.node().style,d=parseFloat(h.fontSize||12),v=t.text;v===void 0&&(v=e.attr(\"data-unformatted\")),f.classed(\"plugin-editable editable\",!0).style({position:\"absolute\",\"font-family\":h.fontFamily||\"Arial\",\"font-size\":d,color:t.fill||h.fill||\"black\",opacity:1,\"background-color\":t.background||\"transparent\",outline:\"#ffffff33 1px solid\",margin:[-d/8+1,0,0,-1].join(\"px \")+\"px\",padding:\"0\",\"box-sizing\":\"border-box\"}).attr({contenteditable:!0}).text(v).call(Vne(e,c,t)).on(\"blur\",function(){r._editing=!1,e.text(this.textContent).style({opacity:1});var x=vh.select(this).attr(\"class\"),b;x?b=\".\"+x.split(\" \")[0]+\"-math-group\":b=\"[class*=-math-group]\",b&&vh.select(e.node().parentNode).select(b).style({opacity:0});var p=this.textContent;vh.select(this).transition().duration(0).remove(),vh.select(document).on(\"mouseup\",null),i.edit.call(e,p)}).on(\"focus\",function(){var x=this;r._editing=!0,vh.select(document).on(\"mouseup\",function(){if(vh.event.target===x)return!1;document.activeElement===f.node()&&f.node().blur()})}).on(\"keyup\",function(){vh.event.which===27?(r._editing=!1,e.style({opacity:1}),vh.select(this).style({opacity:0}).on(\"blur\",function(){return!1}).transition().remove(),i.cancel.call(e,this.textContent)):(i.input.call(e,this.textContent),vh.select(this).call(Vne(e,c,t)))}).on(\"keydown\",function(){vh.event.which===13&&this.blur()}).call(s)}return t.immediate?o():a.on(\"click\",o),vh.rebind(e,i,\"on\")}});var Dv=ye((Ztr,rae)=>{\"use strict\";var hnt=xa(),Y6=id(),ZS=uo(),X6=Mr(),Yne=va(),dnt=sb().isValid;function vnt(e,t,r){var n=t?X6.nestedProperty(e,t).get()||{}:e,i=n[r||\"color\"];i&&i._inputArray&&(i=i._inputArray);var a=!1;if(X6.isArrayOrTypedArray(i)){for(var o=0;o<i.length;o++)if(ZS(i[o])){a=!0;break}}return X6.isPlainObject(n)&&(a||n.showscale===!0||ZS(n.cmin)&&ZS(n.cmax)||dnt(n.colorscale)||X6.isPlainObject(n.colorbar))}var Kne=[\"showscale\",\"autocolorscale\",\"colorscale\",\"reversescale\",\"colorbar\"],WS=[\"min\",\"max\",\"mid\",\"auto\"];function $ne(e){var t=e._colorAx,r=t||e,n={},i,a,o;for(a=0;a<Kne.length;a++)o=Kne[a],n[o]=r[o];if(t)for(i=\"c\",a=0;a<WS.length;a++)o=WS[a],n[o]=r[\"c\"+o];else{var s;for(a=0;a<WS.length;a++){if(o=WS[a],s=\"c\"+o,s in r){n[o]=r[s];continue}s=\"z\"+o,s in r&&(n[o]=r[s])}i=s.charAt(0)}return n._sync=function(l,u){var c=WS.indexOf(l)!==-1?i+l:l;r[c]=r[\"_\"+c]=u},n}function Qne(e){for(var t=$ne(e),r=t.min,n=t.max,i=t.reversescale?eae(t.colorscale):t.colorscale,a=i.length,o=new Array(a),s=new Array(a),l=0;l<a;l++){var u=i[l];o[l]=r+u[0]*(n-r),s[l]=u[1]}return{domain:o,range:s}}function eae(e){for(var t=e.length,r=new Array(t),n=t-1,i=0;n>=0;n--,i++){var a=e[n];r[i]=[1-a[0],a[1]]}return r}function tae(e,t){t=t||{};for(var r=e.domain,n=e.range,i=n.length,a=new Array(i),o=0;o<i;o++){var s=Y6(n[o]).toRgb();a[o]=[s.r,s.g,s.b,s.a]}var l=hnt.scale.linear().domain(r).range(a).clamp(!0),u=t.noNumericCheck,c=t.returnArray,f;return u&&c?f=l:u?f=function(h){return Jne(l(h))}:c?f=function(h){return ZS(h)?l(h):Y6(h).isValid()?h:Yne.defaultLine}:f=function(h){return ZS(h)?Jne(l(h)):Y6(h).isValid()?h:Yne.defaultLine},f.domain=l.domain,f.range=function(){return n},f}function pnt(e,t){return tae(Qne(e),t)}function Jne(e){var t={r:e[0],g:e[1],b:e[2],a:e[3]};return Y6(t).toRgbString()}rae.exports={hasColorscale:vnt,extractOpts:$ne,extractScale:Qne,flipScale:eae,makeColorScaleFunc:tae,makeColorScaleFuncFromTrace:pnt}});var Oc=ye((Xtr,aae)=>{\"use strict\";var iae=Rq(),gnt=iae.FORMAT_LINK,mnt=iae.DATE_FORMAT_LINK;function ynt(e,t){return{valType:\"string\",dflt:\"\",editType:\"none\",description:(t?dO:nae)(\"hover text\",e)+[\"By default the values are formatted using \"+(t?\"generic number format\":\"`\"+e+\"axis.hoverformat`\")+\".\"].join(\" \")}}function dO(e,t){return[\"Sets the \"+e+\" formatting rule\"+(t?\"for `\"+t+\"` \":\"\"),\"using d3 formatting mini-languages\",\"which are very similar to those in Python. For numbers, see: \"+gnt+\".\"].join(\" \")}function nae(e,t){return dO(e,t)+[\" And for dates see: \"+mnt+\".\",\"We add two items to d3's date formatter:\",\"*%h* for half of the year as a decimal number as well as\",\"*%{n}f* for fractional seconds\",\"with n digits. For example, *2016-10-13 09:15:23.456* with tickformat\",\"*%H~%M~%S.%2f* would display *09~15~23.46*\"].join(\" \")}aae.exports={axisHoverFormat:ynt,descriptionOnlyNumbers:dO,descriptionWithDates:nae}});var Cd=ye((Ytr,wae)=>{\"use strict\";var oae=Su(),w3=dh(),bae=Ed().dash,pO=no().extendFlat,sae=Vs().templatedArray,lae=Oc().descriptionWithDates,_nt=es().ONEDAY,pm=ad(),xnt=pm.HOUR_PATTERN,bnt=pm.WEEKDAY_PATTERN,vO={valType:\"enumerated\",values:[\"auto\",\"linear\",\"array\"],editType:\"ticks\",impliedEdits:{tick0:void 0,dtick:void 0}},wnt=pO({},vO,{values:vO.values.slice().concat([\"sync\"])});function uae(e){return{valType:\"integer\",min:0,dflt:e?5:0,editType:\"ticks\"}}var cae={valType:\"any\",editType:\"ticks\",impliedEdits:{tickmode:\"linear\"}},fae={valType:\"any\",editType:\"ticks\",impliedEdits:{tickmode:\"linear\"}},hae={valType:\"data_array\",editType:\"ticks\"},dae={valType:\"enumerated\",values:[\"outside\",\"inside\",\"\"],editType:\"ticks\"};function vae(e){var t={valType:\"number\",min:0,editType:\"ticks\"};return e||(t.dflt=5),t}function pae(e){var t={valType:\"number\",min:0,editType:\"ticks\"};return e||(t.dflt=1),t}var gae={valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},mae={valType:\"color\",dflt:w3.lightLine,editType:\"ticks\"};function yae(e){var t={valType:\"number\",min:0,editType:\"ticks\"};return e||(t.dflt=1),t}var _ae=pO({},bae,{editType:\"ticks\"}),xae={valType:\"boolean\",editType:\"ticks\"};wae.exports={visible:{valType:\"boolean\",editType:\"plot\"},color:{valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},title:{text:{valType:\"string\",editType:\"ticks\"},font:oae({editType:\"ticks\"}),standoff:{valType:\"number\",min:0,editType:\"ticks\"},editType:\"ticks\"},type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"log\",\"date\",\"category\",\"multicategory\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},autotypenumbers:{valType:\"enumerated\",values:[\"convert types\",\"strict\"],dflt:\"convert types\",editType:\"calc\"},autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\",\"min reversed\",\"max reversed\",\"min\",\"max\"],dflt:!0,editType:\"axrange\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},autorangeoptions:{minallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},maxallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},clipmin:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},clipmax:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},include:{valType:\"any\",arrayOk:!0,editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},editType:\"plot\"},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"plot\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"axrange\",impliedEdits:{\"^autorange\":!1},anim:!0},{valType:\"any\",editType:\"axrange\",impliedEdits:{\"^autorange\":!1},anim:!0}],editType:\"axrange\",impliedEdits:{autorange:!1},anim:!0},minallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},maxallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},insiderange:{valType:\"info_array\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},scaleanchor:{valType:\"enumerated\",values:[pm.idRegex.x.toString(),pm.idRegex.y.toString(),!1],editType:\"plot\"},scaleratio:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},constrain:{valType:\"enumerated\",values:[\"range\",\"domain\"],editType:\"plot\"},constraintoward:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\",\"top\",\"middle\",\"bottom\"],editType:\"plot\"},matches:{valType:\"enumerated\",values:[pm.idRegex.x.toString(),pm.idRegex.y.toString()],editType:\"calc\"},rangebreaks:sae(\"rangebreak\",{enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},bounds:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}],editType:\"calc\"},pattern:{valType:\"enumerated\",values:[bnt,xnt,\"\"],editType:\"calc\"},values:{valType:\"info_array\",freeLength:!0,editType:\"calc\",items:{valType:\"any\",editType:\"calc\"}},dvalue:{valType:\"number\",editType:\"calc\",min:0,dflt:_nt},editType:\"calc\"}),tickmode:wnt,nticks:uae(),tick0:cae,dtick:fae,ticklabelstep:{valType:\"integer\",min:1,dflt:1,editType:\"ticks\"},tickvals:hae,ticktext:{valType:\"data_array\",editType:\"ticks\"},ticks:dae,tickson:{valType:\"enumerated\",values:[\"labels\",\"boundaries\"],dflt:\"labels\",editType:\"ticks\"},ticklabelmode:{valType:\"enumerated\",values:[\"instant\",\"period\"],dflt:\"instant\",editType:\"ticks\"},ticklabelposition:{valType:\"enumerated\",values:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside left\",\"inside left\",\"outside right\",\"inside right\",\"outside bottom\",\"inside bottom\"],dflt:\"outside\",editType:\"calc\"},ticklabeloverflow:{valType:\"enumerated\",values:[\"allow\",\"hide past div\",\"hide past domain\"],editType:\"calc\"},ticklabelshift:{valType:\"integer\",dflt:0,editType:\"ticks\"},ticklabelstandoff:{valType:\"integer\",dflt:0,editType:\"ticks\"},ticklabelindex:{valType:\"integer\",arrayOk:!0,editType:\"calc\"},mirror:{valType:\"enumerated\",values:[!0,\"ticks\",!1,\"all\",\"allticks\"],dflt:!1,editType:\"ticks+layoutstyle\"},ticklen:vae(),tickwidth:pae(),tickcolor:gae,showticklabels:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},labelalias:{valType:\"any\",dflt:!1,editType:\"ticks\"},automargin:{valType:\"flaglist\",flags:[\"height\",\"width\",\"left\",\"right\",\"top\",\"bottom\"],extras:[!0,!1],dflt:!1,editType:\"ticks\"},showspikes:{valType:\"boolean\",dflt:!1,editType:\"modebar\"},spikecolor:{valType:\"color\",dflt:null,editType:\"none\"},spikethickness:{valType:\"number\",dflt:3,editType:\"none\"},spikedash:pO({},bae,{dflt:\"dash\",editType:\"none\"}),spikemode:{valType:\"flaglist\",flags:[\"toaxis\",\"across\",\"marker\"],dflt:\"toaxis\",editType:\"none\"},spikesnap:{valType:\"enumerated\",values:[\"data\",\"cursor\",\"hovered data\"],dflt:\"hovered data\",editType:\"none\"},tickfont:oae({editType:\"ticks\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"ticks\"},autotickangles:{valType:\"info_array\",freeLength:!0,items:{valType:\"angle\"},dflt:[0,30,90],editType:\"ticks\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"ticks\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"ticks\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"ticks\"},minexponent:{valType:\"number\",dflt:3,min:0,editType:\"ticks\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"ticks\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"ticks\",description:lae(\"tick label\")},tickformatstops:sae(\"tickformatstop\",{enabled:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},dtickrange:{valType:\"info_array\",items:[{valType:\"any\",editType:\"ticks\"},{valType:\"any\",editType:\"ticks\"}],editType:\"ticks\"},value:{valType:\"string\",dflt:\"\",editType:\"ticks\"},editType:\"ticks\"}),hoverformat:{valType:\"string\",dflt:\"\",editType:\"none\",description:lae(\"hover text\")},showline:{valType:\"boolean\",dflt:!1,editType:\"ticks+layoutstyle\"},linecolor:{valType:\"color\",dflt:w3.defaultLine,editType:\"layoutstyle\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"ticks+layoutstyle\"},showgrid:xae,gridcolor:mae,gridwidth:yae(),griddash:_ae,zeroline:{valType:\"boolean\",editType:\"ticks\"},zerolinecolor:{valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},zerolinewidth:{valType:\"number\",dflt:1,editType:\"ticks\"},showdividers:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},dividercolor:{valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},dividerwidth:{valType:\"number\",dflt:1,editType:\"ticks\"},anchor:{valType:\"enumerated\",values:[\"free\",pm.idRegex.x.toString(),pm.idRegex.y.toString()],editType:\"plot\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"],editType:\"plot\"},overlaying:{valType:\"enumerated\",values:[\"free\",pm.idRegex.x.toString(),pm.idRegex.y.toString()],editType:\"plot\"},minor:{tickmode:vO,nticks:uae(\"minor\"),tick0:cae,dtick:fae,tickvals:hae,ticks:dae,ticklen:vae(\"minor\"),tickwidth:pae(\"minor\"),tickcolor:gae,gridcolor:mae,gridwidth:yae(\"minor\"),griddash:_ae,showgrid:xae,editType:\"ticks\"},layer:{valType:\"enumerated\",values:[\"above traces\",\"below traces\"],dflt:\"above traces\",editType:\"plot\"},domain:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1,editType:\"plot\"},{valType:\"number\",min:0,max:1,editType:\"plot\"}],dflt:[0,1],editType:\"plot\"},position:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot\"},autoshift:{valType:\"boolean\",dflt:!1,editType:\"plot\"},shift:{valType:\"number\",editType:\"plot\"},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\",\"total ascending\",\"total descending\",\"min ascending\",\"min descending\",\"max ascending\",\"max descending\",\"sum ascending\",\"sum descending\",\"mean ascending\",\"mean descending\",\"geometric mean ascending\",\"geometric mean descending\",\"median ascending\",\"median descending\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"}});var K6=ye((Ktr,Sae)=>{\"use strict\";var Ac=Cd(),Tae=Su(),Aae=no().extendFlat,Tnt=Bu().overrideAll;Sae.exports=Tnt({orientation:{valType:\"enumerated\",values:[\"h\",\"v\"],dflt:\"v\"},thicknessmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"pixels\"},thickness:{valType:\"number\",min:0,dflt:30},lenmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"fraction\"},len:{valType:\"number\",min:0,dflt:1},x:{valType:\"number\"},xref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"]},xpad:{valType:\"number\",min:0,dflt:10},y:{valType:\"number\"},yref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"]},ypad:{valType:\"number\",min:0,dflt:10},outlinecolor:Ac.linecolor,outlinewidth:Ac.linewidth,bordercolor:Ac.linecolor,borderwidth:{valType:\"number\",min:0,dflt:0},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},tickmode:Ac.minor.tickmode,nticks:Ac.nticks,tick0:Ac.tick0,dtick:Ac.dtick,tickvals:Ac.tickvals,ticktext:Ac.ticktext,ticks:Aae({},Ac.ticks,{dflt:\"\"}),ticklabeloverflow:Aae({},Ac.ticklabeloverflow,{}),ticklabelposition:{valType:\"enumerated\",values:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside left\",\"inside left\",\"outside right\",\"inside right\",\"outside bottom\",\"inside bottom\"],dflt:\"outside\"},ticklen:Ac.ticklen,tickwidth:Ac.tickwidth,tickcolor:Ac.tickcolor,ticklabelstep:Ac.ticklabelstep,showticklabels:Ac.showticklabels,labelalias:Ac.labelalias,tickfont:Tae({}),tickangle:Ac.tickangle,tickformat:Ac.tickformat,tickformatstops:Ac.tickformatstops,tickprefix:Ac.tickprefix,showtickprefix:Ac.showtickprefix,ticksuffix:Ac.ticksuffix,showticksuffix:Ac.showticksuffix,separatethousands:Ac.separatethousands,exponentformat:Ac.exponentformat,minexponent:Ac.minexponent,showexponent:Ac.showexponent,title:{text:{valType:\"string\"},font:Tae({}),side:{valType:\"enumerated\",values:[\"right\",\"top\",\"bottom\"]}}},\"colorbars\",\"from-root\")});var Jl=ye(($tr,Eae)=>{\"use strict\";var Ant=K6(),Snt=n3().counter,Mnt=Y1(),Mae=sb().scales,Jtr=Mnt(Mae);function J6(e){return\"`\"+e+\"`\"}Eae.exports=function(t,r){t=t||\"\",r=r||{};var n=r.cLetter||\"c\",i=\"onlyIfNumerical\"in r?r.onlyIfNumerical:!!t,a=\"noScale\"in r?r.noScale:t===\"marker.line\",o=\"showScaleDflt\"in r?r.showScaleDflt:n===\"z\",s=typeof r.colorscaleDflt==\"string\"?Mae[r.colorscaleDflt]:null,l=r.editTypeOverride||\"\",u=t?t+\".\":\"\",c,f;\"colorAttr\"in r?(c=r.colorAttr,f=r.colorAttr):(c={z:\"z\",c:\"color\"}[n],f=\"in \"+J6(u+c));var h=i?\" Has an effect only if \"+f+\" is set to a numerical array.\":\"\",d=n+\"auto\",v=n+\"min\",x=n+\"max\",b=n+\"mid\",p=J6(u+d),E=J6(u+v),k=J6(u+x),A=E+\" and \"+k,L={};L[v]=L[x]=void 0;var _={};_[d]=!1;var C={};return c===\"color\"&&(C.color={valType:\"color\",arrayOk:!0,editType:l||\"style\"},r.anim&&(C.color.anim=!0)),C[d]={valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:L},C[v]={valType:\"number\",dflt:null,editType:l||\"plot\",impliedEdits:_},C[x]={valType:\"number\",dflt:null,editType:l||\"plot\",impliedEdits:_},C[b]={valType:\"number\",dflt:null,editType:\"calc\",impliedEdits:L},C.colorscale={valType:\"colorscale\",editType:\"calc\",dflt:s,impliedEdits:{autocolorscale:!1}},C.autocolorscale={valType:\"boolean\",dflt:r.autoColorDflt!==!1,editType:\"calc\",impliedEdits:{colorscale:void 0}},C.reversescale={valType:\"boolean\",dflt:!1,editType:\"plot\"},a||(C.showscale={valType:\"boolean\",dflt:o,editType:\"calc\"},C.colorbar=Ant),r.noColorAxis||(C.coloraxis={valType:\"subplotid\",regex:Snt(\"coloraxis\"),dflt:null,editType:\"calc\"}),C}});var mO=ye((Qtr,kae)=>{\"use strict\";var Ent=no().extendFlat,knt=Jl(),gO=sb().scales;kae.exports={editType:\"calc\",colorscale:{editType:\"calc\",sequential:{valType:\"colorscale\",dflt:gO.Reds,editType:\"calc\"},sequentialminus:{valType:\"colorscale\",dflt:gO.Blues,editType:\"calc\"},diverging:{valType:\"colorscale\",dflt:gO.RdBu,editType:\"calc\"}},coloraxis:Ent({_isSubplotObj:!0,editType:\"calc\"},knt(\"\",{colorAttr:\"corresponding trace color array(s)\",noColorAxis:!0,showScaleDflt:!0}))}});var yO=ye((err,Cae)=>{\"use strict\";var Cnt=Mr();Cae.exports=function(t){return Cnt.isPlainObject(t.colorbar)}});var bO=ye(xO=>{\"use strict\";var _O=uo(),Lae=Mr(),Pae=es(),Lnt=Pae.ONEDAY,Pnt=Pae.ONEWEEK;xO.dtick=function(e,t){var r=t===\"log\",n=t===\"date\",i=t===\"category\",a=n?Lnt:1;if(!e)return a;if(_O(e))return e=Number(e),e<=0?a:i?Math.max(1,Math.round(e)):n?Math.max(.1,e):e;if(typeof e!=\"string\"||!(n||r))return a;var o=e.charAt(0),s=e.substr(1);return s=_O(s)?Number(s):0,s<=0||!(n&&o===\"M\"&&s===Math.round(s)||r&&o===\"L\"||r&&o===\"D\"&&(s===1||s===2))?a:e};xO.tick0=function(e,t,r,n){if(t===\"date\")return Lae.cleanDate(e,Lae.dateTick0(r,n%Pnt===0?1:0));if(!(n===\"D1\"||n===\"D2\"))return _O(e)?Number(e):0}});var xb=ye((rrr,Rae)=>{\"use strict\";var Iae=bO(),Int=Mr().isArrayOrTypedArray,Rnt=vv().isTypedArraySpec,Dnt=vv().decodeTypedArraySpec;Rae.exports=function(t,r,n,i,a){a||(a={});var o=a.isMinor,s=o?t.minor||{}:t,l=o?r.minor:r,u=o?\"minor.\":\"\";function c(E){var k=s[E];return Rnt(k)&&(k=Dnt(k)),k!==void 0?k:(l._template||{})[E]}var f=c(\"tick0\"),h=c(\"dtick\"),d=c(\"tickvals\"),v=Int(d)?\"array\":h?\"linear\":\"auto\",x=n(u+\"tickmode\",v);if(x===\"auto\"||x===\"sync\")n(u+\"nticks\");else if(x===\"linear\"){var b=l.dtick=Iae.dtick(h,i);l.tick0=Iae.tick0(f,i,r.calendar,b)}else if(i!==\"multicategory\"){var p=n(u+\"tickvals\");p===void 0?l.tickmode=\"auto\":o||n(\"ticktext\")}}});var T3=ye((irr,zae)=>{\"use strict\";var wO=Mr(),Dae=Cd();zae.exports=function(t,r,n,i){var a=i.isMinor,o=a?t.minor||{}:t,s=a?r.minor:r,l=a?Dae.minor:Dae,u=a?\"minor.\":\"\",c=wO.coerce2(o,s,l,\"ticklen\",a?(r.ticklen||5)*.6:void 0),f=wO.coerce2(o,s,l,\"tickwidth\",a?r.tickwidth||1:void 0),h=wO.coerce2(o,s,l,\"tickcolor\",(a?r.tickcolor:void 0)||s.color),d=n(u+\"ticks\",!a&&i.outerTicks||c||f||h?\"outside\":\"\");d||(delete s.ticklen,delete s.tickwidth,delete s.tickcolor)}});var TO=ye((nrr,Fae)=>{\"use strict\";Fae.exports=function(t){var r=[\"showexponent\",\"showtickprefix\",\"showticksuffix\"],n=r.filter(function(a){return t[a]!==void 0}),i=function(a){return t[a]===t[n[0]]};if(n.every(i)||n.length===1)return t[n[0]]}});var Zd=ye((arr,qae)=>{\"use strict\";var $6=Mr(),znt=Vs();qae.exports=function(t,r,n){var i=n.name,a=n.inclusionAttr||\"visible\",o=r[i],s=$6.isArrayOrTypedArray(t[i])?t[i]:[],l=r[i]=[],u=znt.arrayTemplater(r,i,a),c,f;for(c=0;c<s.length;c++){var h=s[c];$6.isPlainObject(h)?f=u.newItem(h):(f=u.newItem({}),f[a]=!1),f._index=c,f[a]!==!1&&n.handleItemDefaults(h,f,r,n),l.push(f)}var d=u.defaultItems();for(c=0;c<d.length;c++)f=d[c],f._index=l.length,n.handleItemDefaults({},f,r,n,{}),l.push(f);if($6.isArrayOrTypedArray(o)){var v=Math.min(o.length,l.length);for(c=0;c<v;c++)$6.relinkPrivateKeys(l[c],o[c])}return l}});var t_=ye((orr,Bae)=>{\"use strict\";var AO=Mr(),Fnt=va().contrast,Oae=Cd(),qnt=TO(),Ont=Zd();Bae.exports=function(t,r,n,i,a){a||(a={});var o=n(\"labelalias\");AO.isPlainObject(o)||delete r.labelalias;var s=qnt(t),l=n(\"showticklabels\");if(l){a.noTicklabelshift||n(\"ticklabelshift\"),a.noTicklabelstandoff||n(\"ticklabelstandoff\");var u=a.font||{},c=r.color,f=r.ticklabelposition||\"\",h=f.indexOf(\"inside\")!==-1?Fnt(a.bgColor):c&&c!==Oae.color.dflt?c:u.color;if(AO.coerceFont(n,\"tickfont\",u,{overrideDflt:{color:h}}),!a.noTicklabelstep&&i!==\"multicategory\"&&i!==\"log\"&&n(\"ticklabelstep\"),!a.noAng){var d=n(\"tickangle\");!a.noAutotickangles&&d===\"auto\"&&n(\"autotickangles\")}if(i!==\"category\"){var v=n(\"tickformat\");Ont(t,r,{name:\"tickformatstops\",inclusionAttr:\"enabled\",handleItemDefaults:Bnt}),r.tickformatstops.length||delete r.tickformatstops,!a.noExp&&!v&&i!==\"date\"&&(n(\"showexponent\",s),n(\"exponentformat\"),n(\"minexponent\"),n(\"separatethousands\"))}}};function Bnt(e,t){function r(i,a){return AO.coerce(e,t,Oae.tickformatstops,i,a)}var n=r(\"enabled\");n&&(r(\"dtickrange\"),r(\"value\"))}});var r_=ye((srr,Nae)=>{\"use strict\";var Nnt=TO();Nae.exports=function(t,r,n,i,a){a||(a={});var o=a.tickSuffixDflt,s=Nnt(t),l=n(\"tickprefix\");l&&n(\"showtickprefix\",s);var u=n(\"ticksuffix\",o);u&&n(\"showticksuffix\",s)}});var SO=ye((lrr,Uae)=>{\"use strict\";var i_=Mr(),Unt=Vs(),Vnt=xb(),Hnt=T3(),Gnt=t_(),jnt=r_(),Wnt=K6();Uae.exports=function(t,r,n){var i=Unt.newContainer(r,\"colorbar\"),a=t.colorbar||{};function o(T,F){return i_.coerce(a,i,Wnt,T,F)}var s=n.margin||{t:0,b:0,l:0,r:0},l=n.width-s.l-s.r,u=n.height-s.t-s.b,c=o(\"orientation\"),f=c===\"v\",h=o(\"thicknessmode\");o(\"thickness\",h===\"fraction\"?30/(f?l:u):30);var d=o(\"lenmode\");o(\"len\",d===\"fraction\"?1:f?u:l);var v=o(\"yref\"),x=o(\"xref\"),b=v===\"paper\",p=x===\"paper\",E,k,A,L=\"left\";f?(A=\"middle\",L=p?\"left\":\"right\",E=p?1.02:1,k=.5):(A=b?\"bottom\":\"top\",L=\"center\",E=.5,k=b?1.02:1),i_.coerce(a,i,{x:{valType:\"number\",min:p?-2:0,max:p?3:1,dflt:E}},\"x\"),i_.coerce(a,i,{y:{valType:\"number\",min:b?-2:0,max:b?3:1,dflt:k}},\"y\"),o(\"xanchor\",L),o(\"xpad\"),o(\"yanchor\",A),o(\"ypad\"),i_.noneOrAll(a,i,[\"x\",\"y\"]),o(\"outlinecolor\"),o(\"outlinewidth\"),o(\"bordercolor\"),o(\"borderwidth\"),o(\"bgcolor\");var _=i_.coerce(a,i,{ticklabelposition:{valType:\"enumerated\",dflt:\"outside\",values:f?[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside bottom\",\"inside bottom\"]:[\"outside\",\"inside\",\"outside left\",\"inside left\",\"outside right\",\"inside right\"]}},\"ticklabelposition\");o(\"ticklabeloverflow\",_.indexOf(\"inside\")!==-1?\"hide past domain\":\"hide past div\"),Vnt(a,i,o,\"linear\");var C=n.font,M={noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,outerTicks:!1,font:C};_.indexOf(\"inside\")!==-1&&(M.bgColor=\"black\"),jnt(a,i,o,\"linear\",M),Gnt(a,i,o,\"linear\",M),Hnt(a,i,o,\"linear\",M),o(\"title.text\",n._dfltTitle.colorbar);var g=i.showticklabels?i.tickfont:C,P=i_.extendFlat({},C,{family:g.family,size:i_.bigFont(g.size)});i_.coerceFont(o,\"title.font\",P),o(\"title.side\",f?\"top\":\"right\")}});var Uh=ye((urr,Gae)=>{\"use strict\";var Vae=uo(),EO=Mr(),Znt=yO(),Xnt=SO(),Hae=sb().isValid,Ynt=ba().traceIs;function MO(e,t){var r=t.slice(0,t.length-1);return t?EO.nestedProperty(e,r).get()||{}:e}Gae.exports=function e(t,r,n,i,a){var o=a.prefix,s=a.cLetter,l=\"_module\"in r,u=MO(t,o),c=MO(r,o),f=MO(r._template||{},o)||{},h=function(){return delete t.coloraxis,delete r.coloraxis,e(t,r,n,i,a)};if(l){var d=n._colorAxes||{},v=i(o+\"coloraxis\");if(v){var x=Ynt(r,\"contour\")&&EO.nestedProperty(r,\"contours.coloring\").get()||\"heatmap\",b=d[v];b?(b[2].push(h),b[0]!==x&&(b[0]=!1,EO.warn([\"Ignoring coloraxis:\",v,\"setting\",\"as it is linked to incompatible colorscales.\"].join(\" \")))):d[v]=[x,r,[h]];return}}var p=u[s+\"min\"],E=u[s+\"max\"],k=Vae(p)&&Vae(E)&&p<E,A=i(o+s+\"auto\",!k);A?i(o+s+\"mid\"):(i(o+s+\"min\"),i(o+s+\"max\"));var L=u.colorscale,_=f.colorscale,C;if(L!==void 0&&(C=!Hae(L)),_!==void 0&&(C=!Hae(_)),i(o+\"autocolorscale\",C),i(o+\"colorscale\"),i(o+\"reversescale\"),o!==\"marker.line.\"){var M;o&&l&&(M=Znt(u));var g=i(o+\"showscale\",M);g&&(o&&f&&(c._template=f),Xnt(u,c,n))}}});var Xae=ye((crr,Zae)=>{\"use strict\";var jae=Mr(),Knt=Vs(),Wae=mO(),Jnt=Uh();Zae.exports=function(t,r){function n(f,h){return jae.coerce(t,r,Wae,f,h)}n(\"colorscale.sequential\"),n(\"colorscale.sequentialminus\"),n(\"colorscale.diverging\");var i=r._colorAxes,a,o;function s(f,h){return jae.coerce(a,o,Wae.coloraxis,f,h)}for(var l in i){var u=i[l];if(u[0])a=t[l]||{},o=Knt.newContainer(r,l,\"coloraxis\"),o._name=l,Jnt(a,o,r,s,{prefix:\"\",cLetter:\"c\"});else{for(var c=0;c<u[2].length;c++)u[2][c]();delete r._colorAxes[l]}}}});var Kae=ye((frr,Yae)=>{\"use strict\";var $nt=Mr(),Qnt=Dv().hasColorscale,eat=Dv().extractOpts;Yae.exports=function(t,r){function n(c,f){var h=c[\"_\"+f];h!==void 0&&(c[f]=h)}function i(c,f){var h=f.container?$nt.nestedProperty(c,f.container).get():c;if(h)if(h.coloraxis)h._colorAx=r[h.coloraxis];else{var d=eat(h),v=d.auto;(v||d.min===void 0)&&n(h,f.min),(v||d.max===void 0)&&n(h,f.max),d.autocolorscale&&n(h,\"colorscale\")}}for(var a=0;a<t.length;a++){var o=t[a],s=o._module.colorbar;if(s)if(Array.isArray(s))for(var l=0;l<s.length;l++)i(o,s[l]);else i(o,s);Qnt(o,\"marker.line\")&&i(o,{container:\"marker.line\",min:\"cmin\",max:\"cmax\"})}for(var u in r._colorAxes)i(r[u],{min:\"cmin\",max:\"cmax\"})}});var zv=ye((hrr,$ae)=>{\"use strict\";var Jae=uo(),kO=Mr(),tat=Dv().extractOpts;$ae.exports=function(t,r,n){var i=t._fullLayout,a=n.vals,o=n.containerStr,s=o?kO.nestedProperty(r,o).get():r,l=tat(s),u=l.auto!==!1,c=l.min,f=l.max,h=l.mid,d=function(){return kO.aggNums(Math.min,null,a)},v=function(){return kO.aggNums(Math.max,null,a)};if(c===void 0?c=d():u&&(s._colorAx&&Jae(c)?c=Math.min(c,d()):c=d()),f===void 0?f=v():u&&(s._colorAx&&Jae(f)?f=Math.max(f,v()):f=v()),u&&h!==void 0&&(f-h>h-c?c=h-(f-h):f-h<h-c&&(f=h+(h-c))),c===f&&(c-=.5,f+=.5),l._sync(\"min\",c),l._sync(\"max\",f),l.autocolorscale){var x;c*f<0?x=i.colorscale.diverging:c>=0?x=i.colorscale.sequential:x=i.colorscale.sequentialminus,l._sync(\"colorscale\",x)}}});var Mu=ye((drr,Qae)=>{\"use strict\";var Q6=sb(),A3=Dv();Qae.exports={moduleType:\"component\",name:\"colorscale\",attributes:Jl(),layoutAttributes:mO(),supplyLayoutDefaults:Xae(),handleDefaults:Uh(),crossTraceDefaults:Kae(),calc:zv(),scales:Q6.scales,defaultScale:Q6.defaultScale,getScale:Q6.get,isValidScale:Q6.isValid,hasColorscale:A3.hasColorscale,extractOpts:A3.extractOpts,extractScale:A3.extractScale,flipScale:A3.flipScale,makeColorScaleFunc:A3.makeColorScaleFunc,makeColorScaleFuncFromTrace:A3.makeColorScaleFuncFromTrace}});var lu=ye((vrr,toe)=>{\"use strict\";var eoe=Mr(),rat=vv().isTypedArraySpec;toe.exports={hasLines:function(e){return e.visible&&e.mode&&e.mode.indexOf(\"lines\")!==-1},hasMarkers:function(e){return e.visible&&(e.mode&&e.mode.indexOf(\"markers\")!==-1||e.type===\"splom\")},hasText:function(e){return e.visible&&e.mode&&e.mode.indexOf(\"text\")!==-1},isBubble:function(e){var t=e.marker;return eoe.isPlainObject(t)&&(eoe.isArrayOrTypedArray(t.size)||rat(t.size))}}});var S3=ye((prr,roe)=>{\"use strict\";var iat=uo();roe.exports=function(t,r){r||(r=2);var n=t.marker,i=n.sizeref||1,a=n.sizemin||0,o=n.sizemode===\"area\"?function(s){return Math.sqrt(s/i)}:function(s){return s/i};return function(s){var l=o(s/r);return iat(l)&&l>0?Math.max(l,a):0}}});var rp=ye(pv=>{\"use strict\";var ioe=Mr();pv.getSubplot=function(e){return e.subplot||e.xaxis+e.yaxis||e.geo};pv.isTraceInSubplots=function(e,t){if(e.type===\"splom\"){for(var r=e.xaxes||[],n=e.yaxes||[],i=0;i<r.length;i++)for(var a=0;a<n.length;a++)if(t.indexOf(r[i]+n[a])!==-1)return!0;return!1}return t.indexOf(pv.getSubplot(e))!==-1};pv.flat=function(e,t){for(var r=new Array(e.length),n=0;n<e.length;n++)r[n]=t;return r};pv.p2c=function(e,t){for(var r=new Array(e.length),n=0;n<e.length;n++)r[n]=e[n].p2c(t);return r};pv.getDistanceFunction=function(e,t,r,n){return e===\"closest\"?n||pv.quadrature(t,r):e.charAt(0)===\"x\"?t:r};pv.getClosest=function(e,t,r){if(r.index!==!1)r.index>=0&&r.index<e.length?r.distance=0:r.index=!1;else for(var n=1/0,i=e.length,a=0;a<i;a++)n=t(e[a]),n<=r.distance&&(r.index=a,r.distance=n);return r};pv.inbox=function(e,t,r){return e*t<0||e===0?r:1/0};pv.quadrature=function(e,t){return function(r){var n=e(r),i=t(r);return Math.sqrt(n*n+i*i)}};pv.makeEventData=function(e,t,r){var n=\"index\"in e?e.index:e.pointNumber,i={data:t._input,fullData:t,curveNumber:t.index,pointNumber:n};if(t._indexToPoints){var a=t._indexToPoints[n];a.length===1?i.pointIndex=a[0]:i.pointIndices=a}else i.pointIndex=n;return t._module.eventData?i=t._module.eventData(i,e,t,r,n):(\"xVal\"in e?i.x=e.xVal:\"x\"in e&&(i.x=e.x),\"yVal\"in e?i.y=e.yVal:\"y\"in e&&(i.y=e.y),e.xa&&(i.xaxis=e.xa),e.ya&&(i.yaxis=e.ya),e.zLabelVal!==void 0&&(i.z=e.zLabelVal)),pv.appendArrayPointValue(i,t,n),i};pv.appendArrayPointValue=function(e,t,r){var n=t._arrayAttrs;if(n)for(var i=0;i<n.length;i++){var a=n[i],o=noe(a);if(e[o]===void 0){var s=ioe.nestedProperty(t,a).get(),l=aoe(s,r);l!==void 0&&(e[o]=l)}}};pv.appendArrayMultiPointValues=function(e,t,r){var n=t._arrayAttrs;if(n)for(var i=0;i<n.length;i++){var a=n[i],o=noe(a);if(e[o]===void 0){for(var s=ioe.nestedProperty(t,a).get(),l=new Array(r.length),u=0;u<r.length;u++)l[u]=aoe(s,r[u]);e[o]=l}}};var nat={ids:\"id\",locations:\"location\",labels:\"label\",values:\"value\",\"marker.colors\":\"color\",parents:\"parent\"};function noe(e){return nat[e]||e}function aoe(e,t){if(Array.isArray(t)){if(Array.isArray(e)&&Array.isArray(e[t[0]]))return e[t[0]][t[1]]}else return e[t]}var aat={x:!0,y:!0},oat={\"x unified\":!0,\"y unified\":!0};pv.isUnifiedHover=function(e){return typeof e!=\"string\"?!1:!!oat[e]};pv.isXYhover=function(e){return typeof e!=\"string\"?!1:!!aat[e]}});var XS=ye((mrr,ooe)=>{ooe.exports=lat;var CO={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},sat=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function lat(e){var t=[];return e.replace(sat,function(r,n,i){var a=n.toLowerCase();for(i=cat(i),a==\"m\"&&i.length>2&&(t.push([n].concat(i.splice(0,2))),a=\"l\",n=n==\"m\"?\"l\":\"L\");;){if(i.length==CO[a])return i.unshift(n),t.push(i);if(i.length<CO[a])throw new Error(\"malformed path data\");t.push([n].concat(i.splice(0,CO[a])))}}),t}var uat=/-?[0-9]*\\.?[0-9]+(?:e[-+]?\\d+)?/ig;function cat(e){var t=e.match(uat);return t?t.map(Number):[]}});var doe=ye((yrr,hoe)=>{\"use strict\";var fat=XS(),Yn=function(e,t){return t?Math.round(e*(t=Math.pow(10,t)))/t:Math.round(e)},ts=\"M0,0Z\",soe=Math.sqrt(2),n_=Math.sqrt(3),LO=Math.PI,PO=Math.cos,IO=Math.sin;hoe.exports={circle:{n:0,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=\"M\"+n+\",0A\"+n+\",\"+n+\" 0 1,1 0,-\"+n+\"A\"+n+\",\"+n+\" 0 0,1 \"+n+\",0Z\";return r?is(t,r,i):i}},square:{n:1,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"H-\"+n+\"V-\"+n+\"H\"+n+\"Z\")}},diamond:{n:2,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2);return is(t,r,\"M\"+n+\",0L0,\"+n+\"L-\"+n+\",0L0,-\"+n+\"Z\")}},cross:{n:3,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.4,2),i=Yn(e*1.2,2);return is(t,r,\"M\"+i+\",\"+n+\"H\"+n+\"V\"+i+\"H-\"+n+\"V\"+n+\"H-\"+i+\"V-\"+n+\"H-\"+n+\"V-\"+i+\"H\"+n+\"V-\"+n+\"H\"+i+\"Z\")}},x:{n:4,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.8/soe,2),i=\"l\"+n+\",\"+n,a=\"l\"+n+\",-\"+n,o=\"l-\"+n+\",-\"+n,s=\"l-\"+n+\",\"+n;return is(t,r,\"M0,\"+n+i+a+o+a+o+s+o+s+i+s+i+\"Z\")}},\"triangle-up\":{n:5,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/n_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M-\"+n+\",\"+i+\"H\"+n+\"L0,-\"+a+\"Z\")}},\"triangle-down\":{n:6,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/n_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M-\"+n+\",-\"+i+\"H\"+n+\"L0,\"+a+\"Z\")}},\"triangle-left\":{n:7,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/n_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M\"+i+\",-\"+n+\"V\"+n+\"L-\"+a+\",0Z\")}},\"triangle-right\":{n:8,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/n_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M-\"+i+\",-\"+n+\"V\"+n+\"L\"+a+\",0Z\")}},\"triangle-ne\":{n:9,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M-\"+i+\",-\"+n+\"H\"+n+\"V\"+i+\"Z\")}},\"triangle-se\":{n:10,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M\"+n+\",-\"+i+\"V\"+n+\"H-\"+i+\"Z\")}},\"triangle-sw\":{n:11,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M\"+i+\",\"+n+\"H-\"+n+\"V-\"+i+\"Z\")}},\"triangle-nw\":{n:12,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M-\"+n+\",\"+i+\"V-\"+n+\"H\"+i+\"Z\")}},pentagon:{n:13,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.951,2),i=Yn(e*.588,2),a=Yn(-e,2),o=Yn(e*-.309,2),s=Yn(e*.809,2);return is(t,r,\"M\"+n+\",\"+o+\"L\"+i+\",\"+s+\"H-\"+i+\"L-\"+n+\",\"+o+\"L0,\"+a+\"Z\")}},hexagon:{n:14,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/2,2),a=Yn(e*n_/2,2);return is(t,r,\"M\"+a+\",-\"+i+\"V\"+i+\"L0,\"+n+\"L-\"+a+\",\"+i+\"V-\"+i+\"L0,-\"+n+\"Z\")}},hexagon2:{n:15,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/2,2),a=Yn(e*n_/2,2);return is(t,r,\"M-\"+i+\",\"+a+\"H\"+i+\"L\"+n+\",0L\"+i+\",-\"+a+\"H-\"+i+\"L-\"+n+\",0Z\")}},octagon:{n:16,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.924,2),i=Yn(e*.383,2);return is(t,r,\"M-\"+i+\",-\"+n+\"H\"+i+\"L\"+n+\",-\"+i+\"V\"+i+\"L\"+i+\",\"+n+\"H-\"+i+\"L-\"+n+\",\"+i+\"V-\"+i+\"Z\")}},star:{n:17,f:function(e,t,r){if(rs(t))return ts;var n=e*1.4,i=Yn(n*.225,2),a=Yn(n*.951,2),o=Yn(n*.363,2),s=Yn(n*.588,2),l=Yn(-n,2),u=Yn(n*-.309,2),c=Yn(n*.118,2),f=Yn(n*.809,2),h=Yn(n*.382,2);return is(t,r,\"M\"+i+\",\"+u+\"H\"+a+\"L\"+o+\",\"+c+\"L\"+s+\",\"+f+\"L0,\"+h+\"L-\"+s+\",\"+f+\"L-\"+o+\",\"+c+\"L-\"+a+\",\"+u+\"H-\"+i+\"L0,\"+l+\"Z\")}},hexagram:{n:18,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.66,2),i=Yn(e*.38,2),a=Yn(e*.76,2);return is(t,r,\"M-\"+a+\",0l-\"+i+\",-\"+n+\"h\"+a+\"l\"+i+\",-\"+n+\"l\"+i+\",\"+n+\"h\"+a+\"l-\"+i+\",\"+n+\"l\"+i+\",\"+n+\"h-\"+a+\"l-\"+i+\",\"+n+\"l-\"+i+\",-\"+n+\"h-\"+a+\"Z\")}},\"star-triangle-up\":{n:19,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*n_*.8,2),i=Yn(e*.8,2),a=Yn(e*1.6,2),o=Yn(e*4,2),s=\"A \"+o+\",\"+o+\" 0 0 1 \";return is(t,r,\"M-\"+n+\",\"+i+s+n+\",\"+i+s+\"0,-\"+a+s+\"-\"+n+\",\"+i+\"Z\")}},\"star-triangle-down\":{n:20,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*n_*.8,2),i=Yn(e*.8,2),a=Yn(e*1.6,2),o=Yn(e*4,2),s=\"A \"+o+\",\"+o+\" 0 0 1 \";return is(t,r,\"M\"+n+\",-\"+i+s+\"-\"+n+\",-\"+i+s+\"0,\"+a+s+n+\",-\"+i+\"Z\")}},\"star-square\":{n:21,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.1,2),i=Yn(e*2,2),a=\"A \"+i+\",\"+i+\" 0 0 1 \";return is(t,r,\"M-\"+n+\",-\"+n+a+\"-\"+n+\",\"+n+a+n+\",\"+n+a+n+\",-\"+n+a+\"-\"+n+\",-\"+n+\"Z\")}},\"star-diamond\":{n:22,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2),i=Yn(e*1.9,2),a=\"A \"+i+\",\"+i+\" 0 0 1 \";return is(t,r,\"M-\"+n+\",0\"+a+\"0,\"+n+a+n+\",0\"+a+\"0,-\"+n+a+\"-\"+n+\",0Z\")}},\"diamond-tall\":{n:23,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.7,2),i=Yn(e*1.4,2);return is(t,r,\"M0,\"+i+\"L\"+n+\",0L0,-\"+i+\"L-\"+n+\",0Z\")}},\"diamond-wide\":{n:24,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2),i=Yn(e*.7,2);return is(t,r,\"M0,\"+i+\"L\"+n+\",0L0,-\"+i+\"L-\"+n+\",0Z\")}},hourglass:{n:25,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"H-\"+n+\"L\"+n+\",-\"+n+\"H-\"+n+\"Z\")},noDot:!0},bowtie:{n:26,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"V-\"+n+\"L-\"+n+\",\"+n+\"V-\"+n+\"Z\")},noDot:!0},\"circle-cross\":{n:27,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n+\"M\"+n+\",0A\"+n+\",\"+n+\" 0 1,1 0,-\"+n+\"A\"+n+\",\"+n+\" 0 0,1 \"+n+\",0Z\")},needLine:!0,noDot:!0},\"circle-x\":{n:28,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/soe,2);return is(t,r,\"M\"+i+\",\"+i+\"L-\"+i+\",-\"+i+\"M\"+i+\",-\"+i+\"L-\"+i+\",\"+i+\"M\"+n+\",0A\"+n+\",\"+n+\" 0 1,1 0,-\"+n+\"A\"+n+\",\"+n+\" 0 0,1 \"+n+\",0Z\")},needLine:!0,noDot:!0},\"square-cross\":{n:29,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n+\"M\"+n+\",\"+n+\"H-\"+n+\"V-\"+n+\"H\"+n+\"Z\")},needLine:!0,noDot:!0},\"square-x\":{n:30,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n+\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n+\"M\"+n+\",\"+n+\"H-\"+n+\"V-\"+n+\"H\"+n+\"Z\")},needLine:!0,noDot:!0},\"diamond-cross\":{n:31,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2);return is(t,r,\"M\"+n+\",0L0,\"+n+\"L-\"+n+\",0L0,-\"+n+\"ZM0,-\"+n+\"V\"+n+\"M-\"+n+\",0H\"+n)},needLine:!0,noDot:!0},\"diamond-x\":{n:32,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2),i=Yn(e*.65,2);return is(t,r,\"M\"+n+\",0L0,\"+n+\"L-\"+n+\",0L0,-\"+n+\"ZM-\"+i+\",-\"+i+\"L\"+i+\",\"+i+\"M-\"+i+\",\"+i+\"L\"+i+\",-\"+i)},needLine:!0,noDot:!0},\"cross-thin\":{n:33,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"x-thin\":{n:34,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n+\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n)},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*.85,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n+\"M\"+i+\",\"+i+\"L-\"+i+\",-\"+i+\"M\"+i+\",-\"+i+\"L-\"+i+\",\"+i)},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e/2,2),i=Yn(e,2);return is(t,r,\"M\"+n+\",\"+i+\"V-\"+i+\"M\"+(n-i)+\",-\"+i+\"V\"+i+\"M\"+i+\",\"+n+\"H-\"+i+\"M-\"+i+\",\"+(n-i)+\"H\"+i)},needLine:!0,noFill:!0},\"y-up\":{n:37,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M-\"+n+\",\"+a+\"L0,0M\"+n+\",\"+a+\"L0,0M0,-\"+i+\"L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"y-down\":{n:38,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M-\"+n+\",-\"+a+\"L0,0M\"+n+\",-\"+a+\"L0,0M0,\"+i+\"L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"y-left\":{n:39,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M\"+a+\",\"+n+\"L0,0M\"+a+\",-\"+n+\"L0,0M-\"+i+\",0L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"y-right\":{n:40,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M-\"+a+\",\"+n+\"L0,0M-\"+a+\",-\"+n+\"L0,0M\"+i+\",0L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"line-ew\":{n:41,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,\"M\"+n+\",0H-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"line-ns\":{n:42,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,\"M0,\"+n+\"V-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"line-ne\":{n:43,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n)},needLine:!0,noDot:!0,noFill:!0},\"line-nw\":{n:44,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"arrow-up\":{n:45,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M0,0L-\"+n+\",\"+i+\"H\"+n+\"Z\")},backoff:1,noDot:!0},\"arrow-down\":{n:46,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M0,0L-\"+n+\",-\"+i+\"H\"+n+\"Z\")},noDot:!0},\"arrow-left\":{n:47,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,0L\"+n+\",-\"+i+\"V\"+i+\"Z\")},noDot:!0},\"arrow-right\":{n:48,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,0L-\"+n+\",-\"+i+\"V\"+i+\"Z\")},noDot:!0},\"arrow-bar-up\":{n:49,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M-\"+n+\",0H\"+n+\"M0,0L-\"+n+\",\"+i+\"H\"+n+\"Z\")},backoff:1,needLine:!0,noDot:!0},\"arrow-bar-down\":{n:50,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M-\"+n+\",0H\"+n+\"M0,0L-\"+n+\",-\"+i+\"H\"+n+\"Z\")},needLine:!0,noDot:!0},\"arrow-bar-left\":{n:51,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,-\"+i+\"V\"+i+\"M0,0L\"+n+\",-\"+i+\"V\"+i+\"Z\")},needLine:!0,noDot:!0},\"arrow-bar-right\":{n:52,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,-\"+i+\"V\"+i+\"M0,0L-\"+n+\",-\"+i+\"V\"+i+\"Z\")},needLine:!0,noDot:!0},arrow:{n:53,f:function(e,t,r){if(rs(t))return ts;var n=LO/2.5,i=2*e*PO(n),a=2*e*IO(n);return is(t,r,\"M0,0L\"+-i+\",\"+a+\"L\"+i+\",\"+a+\"Z\")},backoff:.9,noDot:!0},\"arrow-wide\":{n:54,f:function(e,t,r){if(rs(t))return ts;var n=LO/4,i=2*e*PO(n),a=2*e*IO(n);return is(t,r,\"M0,0L\"+-i+\",\"+a+\"A \"+2*e+\",\"+2*e+\" 0 0 1 \"+i+\",\"+a+\"Z\")},backoff:.4,noDot:!0}};function rs(e){return e===null}var loe,uoe,coe,foe;function is(e,t,r){if((!e||e%360===0)&&!t)return r;if(coe===e&&foe===t&&loe===r)return uoe;coe=e,foe=t,loe=r;function n(b,p){var E=PO(b),k=IO(b),A=p[0],L=p[1]+(t||0);return[A*E-L*k,A*k+L*E]}for(var i=e/180*LO,a=0,o=0,s=fat(r),l=\"\",u=0;u<s.length;u++){var c=s[u],f=c[0],h=a,d=o;if(f===\"M\"||f===\"L\")a=+c[1],o=+c[2];else if(f===\"m\"||f===\"l\")a+=+c[1],o+=+c[2];else if(f===\"H\")a=+c[1];else if(f===\"h\")a+=+c[1];else if(f===\"V\")o=+c[1];else if(f===\"v\")o+=+c[1];else if(f===\"A\"){a=+c[1],o=+c[2];var v=n(i,[+c[6],+c[7]]);c[6]=v[0],c[7]=v[1],c[3]=+c[3]+e}(f===\"H\"||f===\"V\")&&(f=\"L\"),(f===\"h\"||f===\"v\")&&(f=\"l\"),(f===\"m\"||f===\"l\")&&(a-=h,o-=d);var x=n(i,[a,o]);(f===\"H\"||f===\"V\")&&(f=\"L\"),(f===\"M\"||f===\"L\"||f===\"m\"||f===\"l\")&&(c[1]=x[0],c[2]=x[1]),c[0]=f,l+=c[0]+c.slice(1).join(\",\")}return uoe=l,l}});var ao=ye((_rr,Roe)=>{\"use strict\";var od=xa(),du=Mr(),hat=du.numberFormat,Ab=uo(),OO=id(),tL=ba(),Xd=va(),dat=Mu(),KS=du.strTranslate,rL=Pl(),vat=Zp(),pat=Nh(),gat=pat.LINE_SPACING,Toe=U1().DESELECTDIM,mat=lu(),yat=S3(),_at=rp().appendArrayPointValue,na=Roe.exports={};na.font=function(e,t){var r=t.variant,n=t.style,i=t.weight,a=t.color,o=t.size,s=t.family,l=t.shadow,u=t.lineposition,c=t.textcase;s&&e.style(\"font-family\",s),o+1&&e.style(\"font-size\",o+\"px\"),a&&e.call(Xd.fill,a),i&&e.style(\"font-weight\",i),n&&e.style(\"font-style\",n),r&&e.style(\"font-variant\",r),c&&e.style(\"text-transform\",RO(bat(c))),l&&e.style(\"text-shadow\",l===\"auto\"?rL.makeTextShadow(Xd.contrast(a)):RO(l)),u&&e.style(\"text-decoration-line\",RO(wat(u)))};function RO(e){return e===\"none\"?void 0:e}var xat={normal:\"none\",lower:\"lowercase\",upper:\"uppercase\",\"word caps\":\"capitalize\"};function bat(e){return xat[e]}function wat(e){return e.replace(\"under\",\"underline\").replace(\"over\",\"overline\").replace(\"through\",\"line-through\").split(\"+\").join(\" \")}na.setPosition=function(e,t,r){e.attr(\"x\",t).attr(\"y\",r)};na.setSize=function(e,t,r){e.attr(\"width\",t).attr(\"height\",r)};na.setRect=function(e,t,r,n,i){e.call(na.setPosition,t,r).call(na.setSize,n,i)};na.translatePoint=function(e,t,r,n){var i=r.c2p(e.x),a=n.c2p(e.y);if(Ab(i)&&Ab(a)&&t.node())t.node().nodeName===\"text\"?t.attr(\"x\",i).attr(\"y\",a):t.attr(\"transform\",KS(i,a));else return!1;return!0};na.translatePoints=function(e,t,r){e.each(function(n){var i=od.select(this);na.translatePoint(n,i,t,r)})};na.hideOutsideRangePoint=function(e,t,r,n,i,a){t.attr(\"display\",r.isPtWithinRange(e,i)&&n.isPtWithinRange(e,a)?null:\"none\")};na.hideOutsideRangePoints=function(e,t){if(t._hasClipOnAxisFalse){var r=t.xaxis,n=t.yaxis;e.each(function(i){var a=i[0].trace,o=a.xcalendar,s=a.ycalendar,l=tL.traceIs(a,\"bar-like\")?\".bartext\":\".point,.textpoint\";e.selectAll(l).each(function(u){na.hideOutsideRangePoint(u,od.select(this),r,n,o,s)})})}};na.crispRound=function(e,t,r){return!t||!Ab(t)?r||0:e._context.staticPlot?t:t<1?1:Math.round(t)};na.singleLineStyle=function(e,t,r,n,i){t.style(\"fill\",\"none\");var a=(((e||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||\"\";Xd.stroke(t,n||a.color),na.dashLine(t,s,o)};na.lineGroupStyle=function(e,t,r,n){e.style(\"fill\",\"none\").each(function(i){var a=(((i||[])[0]||{}).trace||{}).line||{},o=t||a.width||0,s=n||a.dash||\"\";od.select(this).call(Xd.stroke,r||a.color).call(na.dashLine,s,o)})};na.dashLine=function(e,t,r){r=+r||0,t=na.dashStyle(t,r),e.style({\"stroke-dasharray\":t,\"stroke-width\":r+\"px\"})};na.dashStyle=function(e,t){t=+t||1;var r=Math.max(t,3);return e===\"solid\"?e=\"\":e===\"dot\"?e=r+\"px,\"+r+\"px\":e===\"dash\"?e=3*r+\"px,\"+3*r+\"px\":e===\"longdash\"?e=5*r+\"px,\"+5*r+\"px\":e===\"dashdot\"?e=3*r+\"px,\"+r+\"px,\"+r+\"px,\"+r+\"px\":e===\"longdashdot\"&&(e=5*r+\"px,\"+2*r+\"px,\"+r+\"px,\"+2*r+\"px\"),e};function Aoe(e,t,r,n){var i=t.fillpattern,a=t.fillgradient,o=i&&na.getPatternAttr(i.shape,0,\"\");if(o){var s=na.getPatternAttr(i.bgcolor,0,null),l=na.getPatternAttr(i.fgcolor,0,null),u=i.fgopacity,c=na.getPatternAttr(i.size,0,8),f=na.getPatternAttr(i.solidity,0,.3),h=t.uid;na.pattern(e,\"point\",r,h,o,c,f,void 0,i.fillmode,s,l,u)}else if(a&&a.type!==\"none\"){var d=a.type,v=\"scatterfill-\"+t.uid;if(n&&(v=\"legendfill-\"+t.uid),!n&&(a.start!==void 0||a.stop!==void 0)){var x,b;d===\"horizontal\"?(x={x:a.start,y:0},b={x:a.stop,y:0}):d===\"vertical\"&&(x={x:0,y:a.start},b={x:0,y:a.stop}),x.x=t._xA.c2p(x.x===void 0?t._extremes.x.min[0].val:x.x,!0),x.y=t._yA.c2p(x.y===void 0?t._extremes.y.min[0].val:x.y,!0),b.x=t._xA.c2p(b.x===void 0?t._extremes.x.max[0].val:b.x,!0),b.y=t._yA.c2p(b.y===void 0?t._extremes.y.max[0].val:b.y,!0),e.call(Eoe,r,v,\"linear\",a.colorscale,\"fill\",x,b,!0,!1)}else d===\"horizontal\"&&(d=d+\"reversed\"),e.call(na.gradient,r,v,d,a.colorscale,\"fill\")}else t.fillcolor&&e.call(Xd.fill,t.fillcolor)}na.singleFillStyle=function(e,t){var r=od.select(e.node()),n=r.data(),i=((n[0]||[])[0]||{}).trace||{};Aoe(e,i,t,!1)};na.fillGroupStyle=function(e,t,r){e.style(\"stroke-width\",0).each(function(n){var i=od.select(this);n[0].trace&&Aoe(i,n[0].trace,t,r)})};var voe=doe();na.symbolNames=[];na.symbolFuncs=[];na.symbolBackOffs=[];na.symbolNeedLines={};na.symbolNoDot={};na.symbolNoFill={};na.symbolList=[];Object.keys(voe).forEach(function(e){var t=voe[e],r=t.n;na.symbolList.push(r,String(r),e,r+100,String(r+100),e+\"-open\"),na.symbolNames[r]=e,na.symbolFuncs[r]=t.f,na.symbolBackOffs[r]=t.backoff||0,t.needLine&&(na.symbolNeedLines[r]=!0),t.noDot?na.symbolNoDot[r]=!0:na.symbolList.push(r+200,String(r+200),e+\"-dot\",r+300,String(r+300),e+\"-open-dot\"),t.noFill&&(na.symbolNoFill[r]=!0)});var Tat=na.symbolNames.length,Aat=\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\";na.symbolNumber=function(e){if(Ab(e))e=+e;else if(typeof e==\"string\"){var t=0;e.indexOf(\"-open\")>0&&(t=100,e=e.replace(\"-open\",\"\")),e.indexOf(\"-dot\")>0&&(t+=200,e=e.replace(\"-dot\",\"\")),e=na.symbolNames.indexOf(e),e>=0&&(e+=t)}return e%100>=Tat||e>=400?0:Math.floor(Math.max(e,0))};function Soe(e,t,r,n){var i=e%100;return na.symbolFuncs[i](t,r,n)+(e>=200?Aat:\"\")}var poe=hat(\"~f\"),Moe={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}};na.gradient=function(e,t,r,n,i,a){var o=Moe[n];return Eoe(e,t,r,o.type,i,a,o.start,o.stop,!1,o.reversed)};function Eoe(e,t,r,n,i,a,o,s,l,u){var c=i.length,f;n===\"linear\"?f={node:\"linearGradient\",attrs:{x1:o.x,y1:o.y,x2:s.x,y2:s.y,gradientUnits:l?\"userSpaceOnUse\":\"objectBoundingBox\"},reversed:u}:n===\"radial\"&&(f={node:\"radialGradient\",reversed:u});for(var h=new Array(c),d=0;d<c;d++)f.reversed?h[c-1-d]=[poe((1-i[d][0])*100),i[d][1]]:h[d]=[poe(i[d][0]*100),i[d][1]];var v=t._fullLayout,x=\"g\"+v._uid+\"-\"+r,b=v._defs.select(\".gradients\").selectAll(\"#\"+x).data([n+h.join(\";\")],du.identity);b.exit().remove(),b.enter().append(f.node).each(function(){var p=od.select(this);f.attrs&&p.attr(f.attrs),p.attr(\"id\",x);var E=p.selectAll(\"stop\").data(h);E.exit().remove(),E.enter().append(\"stop\"),E.each(function(k){var A=OO(k[1]);od.select(this).attr({offset:k[0]+\"%\",\"stop-color\":Xd.tinyRGB(A),\"stop-opacity\":A.getAlpha()})})}),e.style(a,BO(x,t)).style(a+\"-opacity\",null),e.classed(\"gradient_filled\",!0)}na.pattern=function(e,t,r,n,i,a,o,s,l,u,c,f){var h=t===\"legend\";s&&(l===\"overlay\"?(u=s,c=Xd.contrast(u)):(u=void 0,c=s));var d=r._fullLayout,v=\"p\"+d._uid+\"-\"+n,x,b,p=function(q,V,H,X,G){return X+(G-X)*(q-V)/(H-V)},E,k,A,L,_={},C=OO(c),M=Xd.tinyRGB(C),g=C.getAlpha(),P=f*g;switch(i){case\"/\":x=a*Math.sqrt(2),b=a*Math.sqrt(2),E=\"M-\"+x/4+\",\"+b/4+\"l\"+x/2+\",-\"+b/2+\"M0,\"+b+\"L\"+x+\",0M\"+x/4*3+\",\"+b/4*5+\"l\"+x/2+\",-\"+b/2,k=o*a,L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"\\\\\":x=a*Math.sqrt(2),b=a*Math.sqrt(2),E=\"M\"+x/4*3+\",-\"+b/4+\"l\"+x/2+\",\"+b/2+\"M0,0L\"+x+\",\"+b+\"M-\"+x/4+\",\"+b/4*3+\"l\"+x/2+\",\"+b/2,k=o*a,L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"x\":x=a*Math.sqrt(2),b=a*Math.sqrt(2),E=\"M-\"+x/4+\",\"+b/4+\"l\"+x/2+\",-\"+b/2+\"M0,\"+b+\"L\"+x+\",0M\"+x/4*3+\",\"+b/4*5+\"l\"+x/2+\",-\"+b/2+\"M\"+x/4*3+\",-\"+b/4+\"l\"+x/2+\",\"+b/2+\"M0,0L\"+x+\",\"+b+\"M-\"+x/4+\",\"+b/4*3+\"l\"+x/2+\",\"+b/2,k=a-a*Math.sqrt(1-o),L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"|\":x=a,b=a,L=\"path\",E=\"M\"+x/2+\",0L\"+x/2+\",\"+b,k=o*a,L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"-\":x=a,b=a,L=\"path\",E=\"M0,\"+b/2+\"L\"+x+\",\"+b/2,k=o*a,L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"+\":x=a,b=a,L=\"path\",E=\"M\"+x/2+\",0L\"+x/2+\",\"+b+\"M0,\"+b/2+\"L\"+x+\",\"+b/2,k=a-a*Math.sqrt(1-o),L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\".\":x=a,b=a,o<Math.PI/4?A=Math.sqrt(o*a*a/Math.PI):A=p(o,Math.PI/4,1,a/2,a/Math.sqrt(2)),L=\"circle\",_={cx:x/2,cy:b/2,r:A,opacity:P,fill:M};break}var T=[i||\"noSh\",u||\"noBg\",c||\"noFg\",a,o].join(\";\"),F=d._defs.select(\".patterns\").selectAll(\"#\"+v).data([T],du.identity);F.exit().remove(),F.enter().append(\"pattern\").each(function(){var q=od.select(this);if(q.attr({id:v,width:x+\"px\",height:b+\"px\",patternUnits:\"userSpaceOnUse\",patternTransform:h?\"scale(0.8)\":\"\"}),u){var V=OO(u),H=Xd.tinyRGB(V),X=V.getAlpha(),G=q.selectAll(\"rect\").data([0]);G.exit().remove(),G.enter().append(\"rect\").attr({width:x+\"px\",height:b+\"px\",fill:H,\"fill-opacity\":X})}var N=q.selectAll(L).data([0]);N.exit().remove(),N.enter().append(L).attr(_)}),e.style(\"fill\",BO(v,r)).style(\"fill-opacity\",null),e.classed(\"pattern_filled\",!0)};na.initGradients=function(e){var t=e._fullLayout,r=du.ensureSingle(t._defs,\"g\",\"gradients\");r.selectAll(\"linearGradient,radialGradient\").remove(),od.select(e).selectAll(\".gradient_filled\").classed(\"gradient_filled\",!1)};na.initPatterns=function(e){var t=e._fullLayout,r=du.ensureSingle(t._defs,\"g\",\"patterns\");r.selectAll(\"pattern\").remove(),od.select(e).selectAll(\".pattern_filled\").classed(\"pattern_filled\",!1)};na.getPatternAttr=function(e,t,r){return e&&du.isArrayOrTypedArray(e)?t<e.length?e[t]:r:e};na.pointStyle=function(e,t,r,n){if(e.size()){var i=na.makePointStyleFns(t);e.each(function(a){na.singlePointStyle(a,od.select(this),t,i,r,n)})}};na.singlePointStyle=function(e,t,r,n,i,a){var o=r.marker,s=o.line;if(a&&a.i>=0&&e.i===void 0&&(e.i=a.i),t.style(\"opacity\",n.selectedOpacityFn?n.selectedOpacityFn(e):e.mo===void 0?o.opacity:e.mo),n.ms2mrc){var l;e.ms===\"various\"||o.size===\"various\"?l=3:l=n.ms2mrc(e.ms),e.mrc=l,n.selectedSizeFn&&(l=e.mrc=n.selectedSizeFn(e));var u=na.symbolNumber(e.mx||o.symbol)||0;e.om=u%200>=100;var c=UO(e,r),f=NO(e,r);t.attr(\"d\",Soe(u,l,c,f))}var h=!1,d,v,x;if(e.so)x=s.outlierwidth,v=s.outliercolor,d=o.outliercolor;else{var b=(s||{}).width;x=(e.mlw+1||b+1||(e.trace?(e.trace.marker.line||{}).width:0)+1)-1||0,\"mlc\"in e?v=e.mlcc=n.lineScale(e.mlc):du.isArrayOrTypedArray(s.color)?v=Xd.defaultLine:v=s.color,du.isArrayOrTypedArray(o.color)&&(d=Xd.defaultLine,h=!0),\"mc\"in e?d=e.mcc=n.markerScale(e.mc):d=o.color||o.colors||\"rgba(0,0,0,0)\",n.selectedColorFn&&(d=n.selectedColorFn(e))}if(e.om)t.call(Xd.stroke,d).style({\"stroke-width\":(x||1)+\"px\",fill:\"none\"});else{t.style(\"stroke-width\",(e.isBlank?0:x)+\"px\");var p=o.gradient,E=e.mgt;E?h=!0:E=p&&p.type,du.isArrayOrTypedArray(E)&&(E=E[0],Moe[E]||(E=0));var k=o.pattern,A=k&&na.getPatternAttr(k.shape,e.i,\"\");if(E&&E!==\"none\"){var L=e.mgc;L?h=!0:L=p.color;var _=r.uid;h&&(_+=\"-\"+e.i),na.gradient(t,i,_,E,[[0,L],[1,d]],\"fill\")}else if(A){var C=!1,M=k.fgcolor;!M&&a&&a.color&&(M=a.color,C=!0);var g=na.getPatternAttr(M,e.i,a&&a.color||null),P=na.getPatternAttr(k.bgcolor,e.i,null),T=k.fgopacity,F=na.getPatternAttr(k.size,e.i,8),q=na.getPatternAttr(k.solidity,e.i,.3);C=C||e.mcc||du.isArrayOrTypedArray(k.shape)||du.isArrayOrTypedArray(k.bgcolor)||du.isArrayOrTypedArray(k.fgcolor)||du.isArrayOrTypedArray(k.size)||du.isArrayOrTypedArray(k.solidity);var V=r.uid;C&&(V+=\"-\"+e.i),na.pattern(t,\"point\",i,V,A,F,q,e.mcc,k.fillmode,P,g,T)}else du.isArrayOrTypedArray(d)?Xd.fill(t,d[e.i]):Xd.fill(t,d);x&&Xd.stroke(t,v)}};na.makePointStyleFns=function(e){var t={},r=e.marker;return t.markerScale=na.tryColorscale(r,\"\"),t.lineScale=na.tryColorscale(r,\"line\"),tL.traceIs(e,\"symbols\")&&(t.ms2mrc=mat.isBubble(e)?yat(e):function(){return(r.size||6)/2}),e.selectedpoints&&du.extendFlat(t,na.makeSelectedPointStyleFns(e)),t};na.makeSelectedPointStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.marker||{},a=r.marker||{},o=n.marker||{},s=i.opacity,l=a.opacity,u=o.opacity,c=l!==void 0,f=u!==void 0;(du.isArrayOrTypedArray(s)||c||f)&&(t.selectedOpacityFn=function(A){var L=A.mo===void 0?i.opacity:A.mo;return A.selected?c?l:L:f?u:Toe*L});var h=i.color,d=a.color,v=o.color;(d||v)&&(t.selectedColorFn=function(A){var L=A.mcc||h;return A.selected?d||L:v||L});var x=i.size,b=a.size,p=o.size,E=b!==void 0,k=p!==void 0;return tL.traceIs(e,\"symbols\")&&(E||k)&&(t.selectedSizeFn=function(A){var L=A.mrc||x/2;return A.selected?E?b/2:L:k?p/2:L}),t};na.makeSelectedTextStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,u=o.color;return t.selectedTextColorFn=function(c){var f=c.tc||s;return c.selected?l||f:u||(l?f:Xd.addOpacity(f,Toe))},t};na.selectedPointStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=na.makeSelectedPointStyleFns(t),n=t.marker||{},i=[];r.selectedOpacityFn&&i.push(function(a,o){a.style(\"opacity\",r.selectedOpacityFn(o))}),r.selectedColorFn&&i.push(function(a,o){Xd.fill(a,r.selectedColorFn(o))}),r.selectedSizeFn&&i.push(function(a,o){var s=o.mx||n.symbol||0,l=r.selectedSizeFn(o);a.attr(\"d\",Soe(na.symbolNumber(s),l,UO(o,t),NO(o,t))),o.mrc2=l}),i.length&&e.each(function(a){for(var o=od.select(this),s=0;s<i.length;s++)i[s](o,a)})}};na.tryColorscale=function(e,t){var r=t?du.nestedProperty(e,t).get():e;if(r){var n=r.color;if((r.colorscale||r._colorAx)&&du.isArrayOrTypedArray(n))return dat.makeColorScaleFuncFromTrace(r)}return du.identity};var DO={start:1,end:-1,middle:0,bottom:1,top:-1};function koe(e,t,r,n,i){var a=od.select(e.node().parentNode),o=t.indexOf(\"top\")!==-1?\"top\":t.indexOf(\"bottom\")!==-1?\"bottom\":\"middle\",s=t.indexOf(\"left\")!==-1?\"end\":t.indexOf(\"right\")!==-1?\"start\":\"middle\",l=n?n/.8+1:0,u=(rL.lineCount(e)-1)*gat+1,c=DO[s]*l,f=r*.75+DO[o]*l+(DO[o]-1)*u*r/2;e.attr(\"text-anchor\",s),i||a.attr(\"transform\",KS(c,f))}function Coe(e,t){var r=e.ts||t.textfont.size;return Ab(r)&&r>0?r:0}na.textPointStyle=function(e,t,r){if(e.size()){var n;if(t.selectedpoints){var i=na.makeSelectedTextStyleFns(t);n=i.selectedTextColorFn}var a=t.texttemplate,o=r._fullLayout;e.each(function(s){var l=od.select(this),u=a?du.extractOption(s,t,\"txt\",\"texttemplate\"):du.extractOption(s,t,\"tx\",\"text\");if(!u&&u!==0){l.remove();return}if(a){var c=t._module.formatLabels,f=c?c(s,t,o):{},h={};_at(h,t,s.i);var d=t._meta||{};u=du.texttemplateString(u,f,o._d3locale,h,s,d)}var v=s.tp||t.textposition,x=Coe(s,t),b=n?n(s):s.tc||t.textfont.color;l.call(na.font,{family:s.tf||t.textfont.family,weight:s.tw||t.textfont.weight,style:s.ty||t.textfont.style,variant:s.tv||t.textfont.variant,textcase:s.tC||t.textfont.textcase,lineposition:s.tE||t.textfont.lineposition,shadow:s.tS||t.textfont.shadow,size:x,color:b}).text(u).call(rL.convertToTspans,r).call(koe,v,x,s.mrc)})}};na.selectedTextStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=na.makeSelectedTextStyleFns(t);e.each(function(n){var i=od.select(this),a=r.selectedTextColorFn(n),o=n.tp||t.textposition,s=Coe(n,t);Xd.fill(i,a);var l=tL.traceIs(t,\"bar-like\");koe(i,o,s,n.mrc2||n.mrc,l)})}};var goe=.5;na.smoothopen=function(e,t){if(e.length<3)return\"M\"+e.join(\"L\");var r=\"M\"+e[0],n=[],i;for(i=1;i<e.length-1;i++)n.push(eL(e[i-1],e[i],e[i+1],t));for(r+=\"Q\"+n[0][0]+\" \"+e[1],i=2;i<e.length-1;i++)r+=\"C\"+n[i-2][1]+\" \"+n[i-1][0]+\" \"+e[i];return r+=\"Q\"+n[e.length-3][1]+\" \"+e[e.length-1],r};na.smoothclosed=function(e,t){if(e.length<3)return\"M\"+e.join(\"L\")+\"Z\";var r=\"M\"+e[0],n=e.length-1,i=[eL(e[n],e[0],e[1],t)],a;for(a=1;a<n;a++)i.push(eL(e[a-1],e[a],e[a+1],t));for(i.push(eL(e[n-1],e[n],e[0],t)),a=1;a<=n;a++)r+=\"C\"+i[a-1][1]+\" \"+i[a][0]+\" \"+e[a];return r+=\"C\"+i[n][1]+\" \"+i[0][0]+\" \"+e[0]+\"Z\",r};var Loe,Poe;function M3(e,t,r){return r&&(e=Ioe(e)),t?Tb(e[1]):wb(e[0])}function wb(e){var t=od.round(e,2);return Loe=t,t}function Tb(e){var t=od.round(e,2);return Poe=t,t}function eL(e,t,r,n){var i=e[0]-t[0],a=e[1]-t[1],o=r[0]-t[0],s=r[1]-t[1],l=Math.pow(i*i+a*a,goe/2),u=Math.pow(o*o+s*s,goe/2),c=(u*u*i-l*l*o)*n,f=(u*u*a-l*l*s)*n,h=3*u*(l+u),d=3*l*(l+u);return[[wb(t[0]+(h&&c/h)),Tb(t[1]+(h&&f/h))],[wb(t[0]-(d&&c/d)),Tb(t[1]-(d&&f/d))]]}var Sat={hv:function(e,t,r){return\"H\"+wb(t[0])+\"V\"+M3(t,1,r)},vh:function(e,t,r){return\"V\"+Tb(t[1])+\"H\"+M3(t,0,r)},hvh:function(e,t,r){return\"H\"+wb((e[0]+t[0])/2)+\"V\"+Tb(t[1])+\"H\"+M3(t,0,r)},vhv:function(e,t,r){return\"V\"+Tb((e[1]+t[1])/2)+\"H\"+wb(t[0])+\"V\"+M3(t,1,r)}},Mat=function(e,t,r){return\"L\"+M3(t,0,r)+\",\"+M3(t,1,r)};na.steps=function(e){var t=Sat[e]||Mat;return function(r){for(var n=\"M\"+wb(r[0][0])+\",\"+Tb(r[0][1]),i=r.length,a=1;a<i;a++)n+=t(r[a-1],r[a],a===i-1);return n}};function Ioe(e,t){var r=e.backoff,n=e.trace,i=e.d,a=e.i;if(r&&n&&n.marker&&n.marker.angle%360===0&&n.line&&n.line.shape!==\"spline\"){var o=du.isArrayOrTypedArray(r),s=e,l=t?t[0]:Loe||0,u=t?t[1]:Poe||0,c=s[0],f=s[1],h=c-l,d=f-u,v=Math.atan2(d,h),x=o?r[a]:r;if(x===\"auto\"){var b=s.i;n.type===\"scatter\"&&b--;var p=s.marker,E=p.symbol;du.isArrayOrTypedArray(E)&&(E=E[b]);var k=p.size;du.isArrayOrTypedArray(k)&&(k=k[b]),x=p?na.symbolBackOffs[na.symbolNumber(E)]*k:0,x+=na.getMarkerStandoff(i[b],n)||0}var A=c-x*Math.cos(v),L=f-x*Math.sin(v);(A<=c&&A>=l||A>=c&&A<=l)&&(L<=f&&L>=u||L>=f&&L<=u)&&(e=[A,L])}return e}na.applyBackoff=Ioe;na.makeTester=function(){var e=du.ensureSingleById(od.select(\"body\"),\"svg\",\"js-plotly-tester\",function(r){r.attr(vat.svgAttrs).style({position:\"absolute\",left:\"-10000px\",top:\"-10000px\",width:\"9000px\",height:\"9000px\",\"z-index\":\"1\"})}),t=du.ensureSingle(e,\"path\",\"js-reference-point\",function(r){r.attr(\"d\",\"M0,0H1V1H0Z\").style({\"stroke-width\":0,fill:\"black\"})});na.tester=e,na.testref=t};na.savedBBoxes={};var zO=0,Eat=1e4;na.bBox=function(e,t,r){r||(r=moe(e));var n;if(r){if(n=na.savedBBoxes[r],n)return du.extendFlat({},n)}else if(e.childNodes.length===1){var i=e.childNodes[0];if(r=moe(i),r){var a=+i.getAttribute(\"x\")||0,o=+i.getAttribute(\"y\")||0,s=i.getAttribute(\"transform\");if(!s){var l=na.bBox(i,!1,r);return a&&(l.left+=a,l.right+=a),o&&(l.top+=o,l.bottom+=o),l}if(r+=\"~\"+a+\"~\"+o+\"~\"+s,n=na.savedBBoxes[r],n)return du.extendFlat({},n)}}var u,c;t?u=e:(c=na.tester.node(),u=e.cloneNode(!0),c.appendChild(u)),od.select(u).attr(\"transform\",null).call(rL.positionText,0,0);var f=u.getBoundingClientRect(),h=na.testref.node().getBoundingClientRect();t||c.removeChild(u);var d={height:f.height,width:f.width,left:f.left-h.left,top:f.top-h.top,right:f.right-h.left,bottom:f.bottom-h.top};return zO>=Eat&&(na.savedBBoxes={},zO=0),r&&(na.savedBBoxes[r]=d),zO++,du.extendFlat({},d)};function moe(e){var t=e.getAttribute(\"data-unformatted\");if(t!==null)return t+e.getAttribute(\"data-math\")+e.getAttribute(\"text-anchor\")+e.getAttribute(\"style\")}na.setClipUrl=function(e,t,r){e.attr(\"clip-path\",BO(t,r))};function BO(e,t){if(!e)return null;var r=t._context,n=r._exportedPlot?\"\":r._baseUrl||\"\";return n?\"url('\"+n+\"#\"+e+\"')\":\"url(#\"+e+\")\"}na.getTranslate=function(e){var t=/.*\\btranslate\\((-?\\d*\\.?\\d*)[^-\\d]*(-?\\d*\\.?\\d*)[^\\d].*/,r=e.attr?\"attr\":\"getAttribute\",n=e[r](\"transform\")||\"\",i=n.replace(t,function(a,o,s){return[o,s].join(\" \")}).split(\" \");return{x:+i[0]||0,y:+i[1]||0}};na.setTranslate=function(e,t,r){var n=/(\\btranslate\\(.*?\\);?)/,i=e.attr?\"attr\":\"getAttribute\",a=e.attr?\"attr\":\"setAttribute\",o=e[i](\"transform\")||\"\";return t=t||0,r=r||0,o=o.replace(n,\"\").trim(),o+=KS(t,r),o=o.trim(),e[a](\"transform\",o),o};na.getScale=function(e){var t=/.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/,r=e.attr?\"attr\":\"getAttribute\",n=e[r](\"transform\")||\"\",i=n.replace(t,function(a,o,s){return[o,s].join(\" \")}).split(\" \");return{x:+i[0]||1,y:+i[1]||1}};na.setScale=function(e,t,r){var n=/(\\bscale\\(.*?\\);?)/,i=e.attr?\"attr\":\"getAttribute\",a=e.attr?\"attr\":\"setAttribute\",o=e[i](\"transform\")||\"\";return t=t||1,r=r||1,o=o.replace(n,\"\").trim(),o+=\"scale(\"+t+\",\"+r+\")\",o=o.trim(),e[a](\"transform\",o),o};var kat=/\\s*sc.*/;na.setPointGroupScale=function(e,t,r){if(t=t||1,r=r||1,!!e){var n=t===1&&r===1?\"\":\"scale(\"+t+\",\"+r+\")\";e.each(function(){var i=(this.getAttribute(\"transform\")||\"\").replace(kat,\"\");i+=n,i=i.trim(),this.setAttribute(\"transform\",i)})}};var Cat=/translate\\([^)]*\\)\\s*$/;na.setTextPointsScale=function(e,t,r){e&&e.each(function(){var n,i=od.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(Cat);t===1&&r===1?n=[]:n=[KS(o,s),\"scale(\"+t+\",\"+r+\")\",KS(-o,-s)],l&&n.push(l),i.attr(\"transform\",n.join(\"\"))}})};function NO(e,t){var r;return e&&(r=e.mf),r===void 0&&(r=t.marker&&t.marker.standoff||0),!t._geo&&!t._xA?-r:r}na.getMarkerStandoff=NO;var YS=Math.atan2,bb=Math.cos,E3=Math.sin;function yoe(e,t){var r=t[0],n=t[1];return[r*bb(e)-n*E3(e),r*E3(e)+n*bb(e)]}var _oe,xoe,boe,woe,FO,qO;function UO(e,t){var r=e.ma;r===void 0&&(r=t.marker.angle,(!r||du.isArrayOrTypedArray(r))&&(r=0));var n,i,a=t.marker.angleref;if(a===\"previous\"||a===\"north\"){if(t._geo){var o=t._geo.project(e.lonlat);n=o[0],i=o[1]}else{var s=t._xA,l=t._yA;if(s&&l)n=s.c2p(e.x),i=l.c2p(e.y);else return 90}if(t._geo){var u=e.lonlat[0],c=e.lonlat[1],f=t._geo.project([u,c+1e-5]),h=t._geo.project([u+1e-5,c]),d=YS(h[1]-i,h[0]-n),v=YS(f[1]-i,f[0]-n),x;if(a===\"north\")x=r/180*Math.PI;else if(a===\"previous\"){var b=u/180*Math.PI,p=c/180*Math.PI,E=_oe/180*Math.PI,k=xoe/180*Math.PI,A=E-b,L=bb(k)*E3(A),_=E3(k)*bb(p)-bb(k)*E3(p)*bb(A);x=-YS(L,_)-Math.PI,_oe=u,xoe=c}var C=yoe(d,[bb(x),0]),M=yoe(v,[E3(x),0]);r=YS(C[1]+M[1],C[0]+M[0])/Math.PI*180,a===\"previous\"&&!(qO===t.uid&&e.i===FO+1)&&(r=null)}if(a===\"previous\"&&!t._geo)if(qO===t.uid&&e.i===FO+1&&Ab(n)&&Ab(i)){var g=n-boe,P=i-woe,T=t.line&&t.line.shape||\"\",F=T.slice(T.length-1);F===\"h\"&&(P=0),F===\"v\"&&(g=0),r+=YS(P,g)/Math.PI*180+90}else r=null}return boe=n,woe=i,FO=e.i,qO=t.uid,r}na.getMarkerAngle=UO});var Mb=ye((xrr,qoe)=>{\"use strict\";var k3=xa(),Lat=uo(),Pat=Xu(),VO=ba(),Sb=Mr(),Doe=Sb.strTranslate,iL=ao(),nL=va(),C3=Pl(),zoe=U1(),Iat=Nh().OPPOSITE_SIDE,Foe=/ [XY][0-9]* /,HO=1.6,GO=1.6;function Rat(e,t,r){var n=e._fullLayout,i=r.propContainer,a=r.propName,o=r.placeholder,s=r.traceIndex,l=r.avoid||{},u=r.attributes,c=r.transform,f=r.containerGroup,h=1,d=i.title,v=(d&&d.text?d.text:\"\").trim(),x=!1,b=d&&d.font?d.font:{},p=b.family,E=b.size,k=b.color,A=b.weight,L=b.style,_=b.variant,C=b.textcase,M=b.lineposition,g=b.shadow,P=r.subtitlePropName,T=!!P,F=r.subtitlePlaceholder,q=(i.title||{}).subtitle||{text:\"\",font:{}},V=q.text.trim(),H=!1,X=1,G=q.font,N=G.family,W=G.size,re=G.color,ae=G.weight,_e=G.style,Me=G.variant,ke=G.textcase,ge=G.lineposition,ie=G.shadow,Te;a===\"title.text\"?Te=\"titleText\":a.indexOf(\"axis\")!==-1?Te=\"axisTitleText\":a.indexOf(\"colorbar\"!==-1)&&(Te=\"colorbarTitleText\");var Ee=e._context.edits[Te];function Ae(kt,Ct){return kt===void 0||Ct===void 0?!1:kt.replace(Foe,\" % \")===Ct.replace(Foe,\" % \")}v===\"\"?h=0:Ae(v,o)&&(Ee||(v=\"\"),h=.2,x=!0),T&&(V===\"\"?X=0:Ae(V,F)&&(Ee||(V=\"\"),X=.2,H=!0)),r._meta?v=Sb.templateString(v,r._meta):n._meta&&(v=Sb.templateString(v,n._meta));var ze=v||V||Ee,Ce;f||(f=Sb.ensureSingle(n._infolayer,\"g\",\"g-\"+t),Ce=n._hColorbarMoveTitle);var me=f.selectAll(\"text.\"+t).data(ze?[0]:[]);me.enter().append(\"text\"),me.text(v).attr(\"class\",t),me.exit().remove();var Re=null,ce=t+\"-subtitle\",Ge=V||Ee;if(T&&Ge&&(Re=f.selectAll(\"text.\"+ce).data(Ge?[0]:[]),Re.enter().append(\"text\"),Re.text(V).attr(\"class\",ce),Re.exit().remove()),!ze)return f;function nt(kt,Ct){Sb.syncOrAsync([ct,qt],{title:kt,subtitle:Ct})}function ct(kt){var Ct=kt.title,Yt=kt.subtitle,xr;!c&&Ce&&(c={}),c?(xr=\"\",c.rotate&&(xr+=\"rotate(\"+[c.rotate,u.x,u.y]+\")\"),(c.offset||Ce)&&(xr+=Doe(0,(c.offset||0)-(Ce||0)))):xr=null,Ct.attr(\"transform\",xr);function er(Et){if(Et){var dt=k3.select(Et.node().parentNode).select(\".\"+ce);if(!dt.empty()){var Ht=Et.node().getBBox();if(Ht.height){var $t=Ht.y+Ht.height+HO*W;dt.attr(\"y\",$t)}}}}if(Ct.style(\"opacity\",h*nL.opacity(k)).call(iL.font,{color:nL.rgb(k),size:k3.round(E,2),family:p,weight:A,style:L,variant:_,textcase:C,shadow:g,lineposition:M}).attr(u).call(C3.convertToTspans,e,er),Yt){var Ke=f.select(\".\"+t+\"-math-group\"),xt=Ct.node().getBBox(),bt=Ke.node()?Ke.node().getBBox():void 0,Lt=bt?bt.y+bt.height+HO*W:xt.y+xt.height+GO*W,St=Sb.extendFlat({},u,{y:Lt});Yt.attr(\"transform\",xr),Yt.style(\"opacity\",X*nL.opacity(re)).call(iL.font,{color:nL.rgb(re),size:k3.round(W,2),family:N,weight:ae,style:_e,variant:Me,textcase:ke,shadow:ie,lineposition:ge}).attr(St).call(C3.convertToTspans,e)}return Pat.previousPromises(e)}function qt(kt){var Ct=kt.title,Yt=k3.select(Ct.node().parentNode);if(l&&l.selection&&l.side&&v){Yt.attr(\"transform\",null);var xr=Iat[l.side],er=l.side===\"left\"||l.side===\"top\"?-1:1,Ke=Lat(l.pad)?l.pad:2,xt=iL.bBox(Yt.node()),bt={t:0,b:0,l:0,r:0},Lt=e._fullLayout._reservedMargin;for(var St in Lt)for(var Et in Lt[St]){var dt=Lt[St][Et];bt[Et]=Math.max(bt[Et],dt)}var Ht={left:bt.l,top:bt.t,right:n.width-bt.r,bottom:n.height-bt.b},$t=l.maxShift||er*(Ht[l.side]-xt[l.side]),fr=0;if($t<0)fr=$t;else{var _r=l.offsetLeft||0,Br=l.offsetTop||0;xt.left-=_r,xt.right-=_r,xt.top-=Br,xt.bottom-=Br,l.selection.each(function(){var Nr=iL.bBox(this);Sb.bBoxIntersect(xt,Nr,Ke)&&(fr=Math.max(fr,er*(Nr[l.side]-xt[xr])+Ke))}),fr=Math.min($t,fr),i._titleScoot=Math.abs(fr)}if(fr>0||$t<0){var Or={left:[-fr,0],right:[fr,0],top:[0,-fr],bottom:[0,fr]}[l.side];Yt.attr(\"transform\",Doe(Or[0],Or[1]))}}}me.call(nt,Re);function rt(kt,Ct){kt.text(Ct).on(\"mouseover.opacity\",function(){k3.select(this).transition().duration(zoe.SHOW_PLACEHOLDER).style(\"opacity\",1)}).on(\"mouseout.opacity\",function(){k3.select(this).transition().duration(zoe.HIDE_PLACEHOLDER).style(\"opacity\",0)})}if(Ee&&(v?me.on(\".opacity\",null):(rt(me,o),x=!0),me.call(C3.makeEditable,{gd:e}).on(\"edit\",function(kt){s!==void 0?VO.call(\"_guiRestyle\",e,a,kt,s):VO.call(\"_guiRelayout\",e,a,kt)}).on(\"cancel\",function(){this.text(this.attr(\"data-unformatted\")).call(nt)}).on(\"input\",function(kt){this.text(kt||\" \").call(C3.positionText,u.x,u.y)}),T)){if(T&&!v){var ot=me.node().getBBox(),Rt=ot.y+ot.height+GO*W;Re.attr(\"y\",Rt)}V?Re.on(\".opacity\",null):(rt(Re,F),H=!0),Re.call(C3.makeEditable,{gd:e}).on(\"edit\",function(kt){VO.call(\"_guiRelayout\",e,\"title.subtitle.text\",kt)}).on(\"cancel\",function(){this.text(this.attr(\"data-unformatted\")).call(nt)}).on(\"input\",function(kt){this.text(kt||\" \").call(C3.positionText,Re.attr(\"x\"),Re.attr(\"y\"))})}return me.classed(\"js-placeholder\",x),Re&&Re.classed(\"js-placeholder\",H),f}qoe.exports={draw:Rat,SUBTITLE_PADDING_EM:GO,SUBTITLE_PADDING_MATHJAX_EM:HO}});var ym=ye((brr,Voe)=>{\"use strict\";var Dat=xa(),zat=e3().utcFormat,Nu=Mr(),Fat=Nu.numberFormat,gm=uo(),a_=Nu.cleanNumber,qat=Nu.ms2DateTime,Ooe=Nu.dateTime2ms,mm=Nu.ensureNumber,Boe=Nu.isArrayOrTypedArray,o_=es(),aL=o_.FP_SAFE,bg=o_.BADNUM,Oat=o_.LOG_CLIP,Bat=o_.ONEWEEK,oL=o_.ONEDAY,sL=o_.ONEHOUR,Noe=o_.ONEMIN,Uoe=o_.ONESEC,lL=af(),fL=ad(),uL=fL.HOUR_PATTERN,cL=fL.WEEKDAY_PATTERN;function JS(e){return Math.pow(10,e)}function jO(e){return e!=null}Voe.exports=function(t,r){r=r||{};var n=t._id||\"x\",i=n.charAt(0);function a(A,L){if(A>0)return Math.log(A)/Math.LN10;if(A<=0&&L&&t.range&&t.range.length===2){var _=t.range[0],C=t.range[1];return .5*(_+C-2*Oat*Math.abs(_-C))}else return bg}function o(A,L,_,C){if((C||{}).msUTC&&gm(A))return+A;var M=Ooe(A,_||t.calendar);if(M===bg)if(gm(A)){A=+A;var g=Math.floor(Nu.mod(A+.05,1)*10),P=Math.round(A-g/10);M=Ooe(new Date(P))+g/10}else return bg;return M}function s(A,L,_){return qat(A,L,_||t.calendar)}function l(A){return t._categories[Math.round(A)]}function u(A){if(jO(A)){if(t._categoriesMap===void 0&&(t._categoriesMap={}),t._categoriesMap[A]!==void 0)return t._categoriesMap[A];t._categories.push(typeof A==\"number\"?String(A):A);var L=t._categories.length-1;return t._categoriesMap[A]=L,L}return bg}function c(A,L){for(var _=new Array(L),C=0;C<L;C++){var M=(A[0]||[])[C],g=(A[1]||[])[C];_[C]=f([M,g])}return _}function f(A){if(t._categoriesMap)return t._categoriesMap[A]}function h(A){var L=f(A);if(L!==void 0)return L;if(gm(A))return+A}function d(A){return gm(A)?+A:f(A)}function v(A,L,_){return Dat.round(_+L*A,2)}function x(A,L,_){return(A-_)/L}var b=function(L){return gm(L)?v(L,t._m,t._b):bg},p=function(A){return x(A,t._m,t._b)};if(t.rangebreaks){var E=i===\"y\";b=function(A){if(!gm(A))return bg;var L=t._rangebreaks.length;if(!L)return v(A,t._m,t._b);var _=E;t.range[0]>t.range[1]&&(_=!_);for(var C=_?-1:1,M=C*A,g=0,P=0;P<L;P++){var T=C*t._rangebreaks[P].min,F=C*t._rangebreaks[P].max;if(M<T)break;if(M>F)g=P+1;else{g=M<(T+F)/2?P:P+1;break}}var q=t._B[g]||0;return isFinite(q)?v(A,t._m2,q):0},p=function(A){var L=t._rangebreaks.length;if(!L)return x(A,t._m,t._b);for(var _=0,C=0;C<L&&!(A<t._rangebreaks[C].pmin);C++)A>t._rangebreaks[C].pmax&&(_=C+1);return x(A,t._m2,t._B[_])}}t.c2l=t.type===\"log\"?a:mm,t.l2c=t.type===\"log\"?JS:mm,t.l2p=b,t.p2l=p,t.c2p=t.type===\"log\"?function(A,L){return b(a(A,L))}:b,t.p2c=t.type===\"log\"?function(A){return JS(p(A))}:p,[\"linear\",\"-\"].indexOf(t.type)!==-1?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=a_,t.c2d=t.c2r=t.l2d=t.l2r=mm,t.d2p=t.r2p=function(A){return t.l2p(a_(A))},t.p2d=t.p2r=p,t.cleanPos=mm):t.type===\"log\"?(t.d2r=t.d2l=function(A,L){return a(a_(A),L)},t.r2d=t.r2c=function(A){return JS(a_(A))},t.d2c=t.r2l=a_,t.c2d=t.l2r=mm,t.c2r=a,t.l2d=JS,t.d2p=function(A,L){return t.l2p(t.d2r(A,L))},t.p2d=function(A){return JS(p(A))},t.r2p=function(A){return t.l2p(a_(A))},t.p2r=p,t.cleanPos=mm):t.type===\"date\"?(t.d2r=t.r2d=Nu.identity,t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=s,t.d2p=t.r2p=function(A,L,_){return t.l2p(o(A,0,_))},t.p2d=t.p2r=function(A,L,_){return s(p(A),L,_)},t.cleanPos=function(A){return Nu.cleanDate(A,bg,t.calendar)}):t.type===\"category\"?(t.d2c=t.d2l=u,t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(A){var L=d(A);return L!==void 0?L:t.fraction2r(.5)},t.l2r=t.c2r=mm,t.r2l=d,t.d2p=function(A){return t.l2p(t.r2c(A))},t.p2d=function(A){return l(p(A))},t.r2p=t.d2p,t.p2r=p,t.cleanPos=function(A){return typeof A==\"string\"&&A!==\"\"?A:mm(A)}):t.type===\"multicategory\"&&(t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(A){var L=h(A);return L!==void 0?L:t.fraction2r(.5)},t.r2c_just_indices=f,t.l2r=t.c2r=mm,t.r2l=h,t.d2p=function(A){return t.l2p(t.r2c(A))},t.p2d=function(A){return l(p(A))},t.r2p=t.d2p,t.p2r=p,t.cleanPos=function(A){return Array.isArray(A)||typeof A==\"string\"&&A!==\"\"?A:mm(A)},t.setupMultiCategory=function(A){var L=t._traceIndices,_,C,M=t._matchGroup;if(M&&t._categories.length===0){for(var g in M)if(g!==n){var P=r[lL.id2name(g)];L=L.concat(P._traceIndices)}}var T=[[0,{}],[0,{}]],F=[];for(_=0;_<L.length;_++){var q=A[L[_]];if(i in q){var V=q[i],H=q._length||Nu.minRowLength(V);if(Boe(V[0])&&Boe(V[1]))for(C=0;C<H;C++){var X=V[0][C],G=V[1][C];jO(X)&&jO(G)&&(F.push([X,G]),X in T[0][1]||(T[0][1][X]=T[0][0]++),G in T[1][1]||(T[1][1][G]=T[1][0]++))}}}for(F.sort(function(N,W){var re=T[0][1],ae=re[N[0]]-re[W[0]];if(ae)return ae;var _e=T[1][1];return _e[N[1]]-_e[W[1]]}),_=0;_<F.length;_++)u(F[_])}),t.fraction2r=function(A){var L=t.r2l(t.range[0]),_=t.r2l(t.range[1]);return t.l2r(L+A*(_-L))},t.r2fraction=function(A){var L=t.r2l(t.range[0]),_=t.r2l(t.range[1]);return(t.r2l(A)-L)/(_-L)},t.limitRange=function(A){var L=t.minallowed,_=t.maxallowed;if(!(L===void 0&&_===void 0)){A||(A=\"range\");var C=Nu.nestedProperty(t,A).get(),M=Nu.simpleMap(C,t.r2l),g=M[1]<M[0];g&&M.reverse();var P=Nu.simpleMap([L,_],t.r2l);if(L!==void 0&&M[0]<P[0]&&(C[g?1:0]=L),_!==void 0&&M[1]>P[1]&&(C[g?0:1]=_),C[0]===C[1]){var T=t.l2r(L),F=t.l2r(_);if(L!==void 0){var q=T+1;_!==void 0&&(q=Math.min(q,F)),C[g?1:0]=q}if(_!==void 0){var V=F+1;L!==void 0&&(V=Math.max(V,T)),C[g?0:1]=V}}}},t.cleanRange=function(A,L){t._cleanRange(A,L),t.limitRange(A)},t._cleanRange=function(A,L){L||(L={}),A||(A=\"range\");var _=Nu.nestedProperty(t,A).get(),C,M;if(t.type===\"date\"?M=Nu.dfltRange(t.calendar):i===\"y\"?M=fL.DFLTRANGEY:t._name===\"realaxis\"?M=[0,1]:M=L.dfltRange||fL.DFLTRANGEX,M=M.slice(),(t.rangemode===\"tozero\"||t.rangemode===\"nonnegative\")&&(M[0]=0),!_||_.length!==2){Nu.nestedProperty(t,A).set(M);return}var g=_[0]===null,P=_[1]===null;for(t.type===\"date\"&&!t.autorange&&(_[0]=Nu.cleanDate(_[0],bg,t.calendar),_[1]=Nu.cleanDate(_[1],bg,t.calendar)),C=0;C<2;C++)if(t.type===\"date\"){if(!Nu.isDateTime(_[C],t.calendar)){t[A]=M;break}if(t.r2l(_[0])===t.r2l(_[1])){var T=Nu.constrain(t.r2l(_[0]),Nu.MIN_MS+1e3,Nu.MAX_MS-1e3);_[0]=t.l2r(T-1e3),_[1]=t.l2r(T+1e3);break}}else{if(!gm(_[C]))if(!(g||P)&&gm(_[1-C]))_[C]=_[1-C]*(C?10:.1);else{t[A]=M;break}if(_[C]<-aL?_[C]=-aL:_[C]>aL&&(_[C]=aL),_[0]===_[1]){var F=Math.max(1,Math.abs(_[0]*1e-6));_[0]-=F,_[1]+=F}}},t.setScale=function(A){var L=r._size;if(t.overlaying){var _=lL.getFromId({_fullLayout:r},t.overlaying);t.domain=_.domain}var C=A&&t._r?\"_r\":\"range\",M=t.calendar;t.cleanRange(C);var g=t.r2l(t[C][0],M),P=t.r2l(t[C][1],M),T=i===\"y\";if(T?(t._offset=L.t+(1-t.domain[1])*L.h,t._length=L.h*(t.domain[1]-t.domain[0]),t._m=t._length/(g-P),t._b=-t._m*P):(t._offset=L.l+t.domain[0]*L.w,t._length=L.w*(t.domain[1]-t.domain[0]),t._m=t._length/(P-g),t._b=-t._m*g),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks){var F,q;if(t._rangebreaks=t.locateBreaks(Math.min(g,P),Math.max(g,P)),t._rangebreaks.length){for(F=0;F<t._rangebreaks.length;F++)q=t._rangebreaks[F],t._lBreaks+=Math.abs(q.max-q.min);var V=T;g>P&&(V=!V),V&&t._rangebreaks.reverse();var H=V?-1:1;for(t._m2=H*t._length/(Math.abs(P-g)-t._lBreaks),t._B.push(-t._m2*(T?P:g)),F=0;F<t._rangebreaks.length;F++)q=t._rangebreaks[F],t._B.push(t._B[t._B.length-1]-H*t._m2*(q.max-q.min));for(F=0;F<t._rangebreaks.length;F++)q=t._rangebreaks[F],q.pmin=b(q.min),q.pmax=b(q.max)}}if(!isFinite(t._m)||!isFinite(t._b)||t._length<0)throw r._replotting=!1,new Error(\"Something went wrong with axis scaling\")},t.maskBreaks=function(A){var L=t.rangebreaks||[],_,C,M,g,P;L._cachedPatterns||(L._cachedPatterns=L.map(function(re){return re.enabled&&re.bounds?Nu.simpleMap(re.bounds,re.pattern?a_:t.d2c):null})),L._cachedValues||(L._cachedValues=L.map(function(re){return re.enabled&&re.values?Nu.simpleMap(re.values,t.d2c).sort(Nu.sorterAsc):null}));for(var T=0;T<L.length;T++){var F=L[T];if(F.enabled){if(F.bounds){var q=F.pattern;switch(_=L._cachedPatterns[T],C=_[0],M=_[1],q){case cL:P=new Date(A),g=P.getUTCDay(),C>M&&(M+=7,g<C&&(g+=7));break;case uL:P=new Date(A);var V=P.getUTCHours(),H=P.getUTCMinutes(),X=P.getUTCSeconds(),G=P.getUTCMilliseconds();g=V+(H/60+X/3600+G/36e5),C>M&&(M+=24,g<C&&(g+=24));break;case\"\":g=A;break}if(g>=C&&g<M)return bg}else for(var N=L._cachedValues[T],W=0;W<N.length;W++)if(C=N[W],M=C+F.dvalue,A>=C&&A<M)return bg}}return A},t.locateBreaks=function(A,L){var _,C,M,g,P=[];if(!t.rangebreaks)return P;var T=t.rangebreaks.slice().sort(function(_e,Me){return _e.pattern===cL&&Me.pattern===uL?-1:Me.pattern===cL&&_e.pattern===uL?1:0}),F=function(_e,Me){if(_e=Nu.constrain(_e,A,L),Me=Nu.constrain(Me,A,L),_e!==Me){for(var ke=!0,ge=0;ge<P.length;ge++){var ie=P[ge];_e<ie.max&&Me>=ie.min&&(_e<ie.min&&(ie.min=_e),Me>ie.max&&(ie.max=Me),ke=!1)}ke&&P.push({min:_e,max:Me})}};for(_=0;_<T.length;_++){var q=T[_];if(q.enabled)if(q.bounds){var V=A,H=L;q.pattern&&(V=Math.floor(V)),C=Nu.simpleMap(q.bounds,q.pattern?a_:t.r2l),M=C[0],g=C[1];var X=new Date(V),G,N;switch(q.pattern){case cL:N=Bat,G=((g<M?7:0)+(g-M))*oL,V+=M*oL-(X.getUTCDay()*oL+X.getUTCHours()*sL+X.getUTCMinutes()*Noe+X.getUTCSeconds()*Uoe+X.getUTCMilliseconds());break;case uL:N=oL,G=((g<M?24:0)+(g-M))*sL,V+=M*sL-(X.getUTCHours()*sL+X.getUTCMinutes()*Noe+X.getUTCSeconds()*Uoe+X.getUTCMilliseconds());break;default:V=Math.min(C[0],C[1]),H=Math.max(C[0],C[1]),N=H-V,G=N}for(var W=V;W<H;W+=N)F(W,W+G)}else for(var re=Nu.simpleMap(q.values,t.d2c),ae=0;ae<re.length;ae++)M=re[ae],g=M+q.dvalue,F(M,g)}return P.sort(function(_e,Me){return _e.min-Me.min}),P},t.makeCalcdata=function(A,L,_){var C,M,g,P,T=t.type,F=T===\"date\"&&A[L+\"calendar\"];if(L in A){if(C=A[L],P=A._length||Nu.minRowLength(C),Nu.isTypedArray(C)&&(T===\"linear\"||T===\"log\")){if(P===C.length)return C;if(C.subarray)return C.subarray(0,P)}if(T===\"multicategory\")return c(C,P);for(M=new Array(P),g=0;g<P;g++)M[g]=t.d2c(C[g],0,F,_)}else{var q=L+\"0\"in A?t.d2c(A[L+\"0\"],0,F):0,V=A[\"d\"+L]?Number(A[\"d\"+L]):1;for(C=A[{x:\"y\",y:\"x\"}[L]],P=A._length||C.length,M=new Array(P),g=0;g<P;g++)M[g]=q+g*V}if(t.rangebreaks)for(g=0;g<P;g++)M[g]=t.maskBreaks(M[g]);return M},t.isValidRange=function(A,L){return Array.isArray(A)&&A.length===2&&(L&&A[0]===null||gm(t.r2l(A[0])))&&(L&&A[1]===null||gm(t.r2l(A[1])))},t.getAutorangeDflt=function(A,L){var _=!t.isValidRange(A,\"nullOk\");return _&&L&&L.reverseDflt?_=\"reversed\":A&&(A[0]===null&&A[1]===null?_=!0:A[0]===null&&A[1]!==null?_=\"min\":A[0]!==null&&A[1]===null&&(_=\"max\")),_},t.isReversed=function(){var A=t.autorange;return A===\"reversed\"||A===\"min reversed\"||A===\"max reversed\"},t.isPtWithinRange=function(A,L){var _=t.c2l(A[i],null,L),C=t.r2l(t.range[0]),M=t.r2l(t.range[1]);return C<M?C<=_&&_<=M:M<=_&&_<=C},t._emptyCategories=function(){t._categories=[],t._categoriesMap={}},t.clearCalc=function(){var A=t._matchGroup;if(A){var L=null,_=null;for(var C in A){var M=r[lL.id2name(C)];if(M._categories){L=M._categories,_=M._categoriesMap;break}}L&&_?(t._categories=L,t._categoriesMap=_):t._emptyCategories()}else t._emptyCategories();if(t._initialCategories)for(var g=0;g<t._initialCategories.length;g++)u(t._initialCategories[g])},t.sortByInitialCategories=function(){var A=[];if(t._emptyCategories(),t._initialCategories)for(var L=0;L<t._initialCategories.length;L++)u(t._initialCategories[L]);A=A.concat(t._traceIndices);var _=t._matchGroup;for(var C in _)if(n!==C){var M=r[lL.id2name(C)];M._categories=t._categories,M._categoriesMap=t._categoriesMap,A=A.concat(M._traceIndices)}return A};var k=r._d3locale;t.type===\"date\"&&(t._dateFormat=k?k.timeFormat:zat,t._extraFormat=r._extraFormat),t._separators=r.separators,t._numFormat=k?k.numberFormat:Fat,delete t._minDtick,delete t._forceTick0}});var L3=ye((wrr,Woe)=>{\"use strict\";var Hoe=uo(),WO=Mr(),Nat=es().BADNUM,hL=WO.isArrayOrTypedArray,Uat=WO.isDateTime,Vat=WO.cleanNumber,Goe=Math.round;Woe.exports=function(t,r,n){var i=t,a=n.noMultiCategory;if(hL(i)&&!i.length)return\"-\";if(!a&&Zat(i))return\"multicategory\";if(a&&Array.isArray(i[0])){for(var o=[],s=0;s<i.length;s++)if(hL(i[s]))for(var l=0;l<i[s].length;l++)o.push(i[s][l]);i=o}if(jat(i,r))return\"date\";var u=n.autotypenumbers!==\"strict\";return Wat(i,u)?\"category\":Gat(i,u)?\"linear\":\"-\"};function Hat(e,t){return t?Hoe(e):typeof e==\"number\"}function Gat(e,t){for(var r=e.length,n=0;n<r;n++)if(Hat(e[n],t))return!0;return!1}function jat(e,t){for(var r=e.length,n=joe(r),i=0,a=0,o={},s=0;s<r;s+=n){var l=Goe(s),u=e[l],c=String(u);o[c]||(o[c]=1,Uat(u,t)&&i++,Hoe(u)&&a++)}return i>a*2}function joe(e){return Math.max(1,(e-1)/1e3)}function Wat(e,t){for(var r=e.length,n=joe(r),i=0,a=0,o={},s=0;s<r;s+=n){var l=Goe(s),u=e[l],c=String(u);if(!o[c]){o[c]=1;var f=typeof u;f===\"boolean\"?a++:(t?Vat(u)!==Nat:f===\"number\")?i++:f===\"string\"&&a++}}return a>i*2}function Zat(e){return hL(e[0])&&hL(e[1])}});var wg=ye((Trr,ese)=>{\"use strict\";var Xat=xa(),Koe=uo(),s_=Mr(),dL=es().FP_SAFE,Yat=ba(),Kat=ao(),Joe=af(),Jat=Joe.getFromId,$at=Joe.isLinked;ese.exports={applyAutorangeOptions:Qoe,getAutoRange:ZO,makePadFn:XO,doAutoRange:eot,findExtremes:tot,concatExtremes:JO};function ZO(e,t){var r,n,i=[],a=e._fullLayout,o=XO(a,t,0),s=XO(a,t,1),l=JO(e,t),u=l.min,c=l.max;if(u.length===0||c.length===0)return s_.simpleMap(t.range,t.r2l);var f=u[0].val,h=c[0].val;for(r=1;r<u.length&&f===h;r++)f=Math.min(f,u[r].val);for(r=1;r<c.length&&f===h;r++)h=Math.max(h,c[r].val);var d=t.autorange,v=d===\"reversed\"||d===\"min reversed\"||d===\"max reversed\";if(!v&&t.range){var x=s_.simpleMap(t.range,t.r2l);v=x[1]<x[0]}t.autorange===\"reversed\"&&(t.autorange=!0);var b=t.rangemode,p=b===\"tozero\",E=b===\"nonnegative\",k=t._length,A=k/10,L=0,_,C,M,g,P,T;for(r=0;r<u.length;r++)for(_=u[r],n=0;n<c.length;n++)C=c[n],T=C.val-_.val-Zoe(t,_.val,C.val),T>0&&(P=k-o(_)-s(C),P>A?T/P>L&&(M=_,g=C,L=T/P):T/k>L&&(M={val:_.val,nopad:1},g={val:C.val,nopad:1},L=T/k));function F(G,N){return Math.max(G,s(N))}if(f===h){var q=f-1,V=f+1;if(p)if(f===0)i=[0,1];else{var H=(f>0?c:u).reduce(F,0),X=f/(1-Math.min(.5,H/k));i=f>0?[0,X]:[X,0]}else E?i=[Math.max(0,q),Math.max(1,V)]:i=[q,V]}else p?(M.val>=0&&(M={val:0,nopad:1}),g.val<=0&&(g={val:0,nopad:1})):E&&(M.val-L*o(M)<0&&(M={val:0,nopad:1}),g.val<=0&&(g={val:1,nopad:1})),L=(g.val-M.val-Zoe(t,_.val,C.val))/(k-o(M)-s(g)),i=[M.val-L*o(M),g.val+L*s(g)];return i=Qoe(i,t),t.limitRange&&t.limitRange(),v&&i.reverse(),s_.simpleMap(i,t.l2r||Number)}function Zoe(e,t,r){var n=0;if(e.rangebreaks)for(var i=e.locateBreaks(t,r),a=0;a<i.length;a++){var o=i[a];n+=o.max-o.min}return n}function XO(e,t,r){var n=.05*t._length,i=t._anchorAxis||{};if((t.ticklabelposition||\"\").indexOf(\"inside\")!==-1||(i.ticklabelposition||\"\").indexOf(\"inside\")!==-1){var a=t.isReversed();if(!a){var o=s_.simpleMap(t.range,t.r2l);a=o[1]<o[0]}a&&(r=!r)}var s=0;return $at(e,t._id)||(s=Qat(e,t,r)),n=Math.max(s,n),t.constrain===\"domain\"&&t._inputDomain&&(n*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0])),function(u){return u.nopad?0:u.pad+(u.extrapad?n:s)}}var Xoe=3;function Qat(e,t,r){var n=0,i=t._id.charAt(0)===\"x\";for(var a in e._plots){var o=e._plots[a];if(!(t._id!==o.xaxis._id&&t._id!==o.yaxis._id)){var s=(i?o.yaxis:o.xaxis)||{};if((s.ticklabelposition||\"\").indexOf(\"inside\")!==-1&&(!r&&(s.side===\"left\"||s.side===\"bottom\")||r&&(s.side===\"top\"||s.side===\"right\"))){if(s._vals){var l=s_.deg2rad(s._tickAngles[s._id+\"tick\"]||0),u=Math.abs(Math.cos(l)),c=Math.abs(Math.sin(l));if(!s._vals[0].bb){var f=s._id+\"tick\",h=s._selections[f];h.each(function(E){var k=Xat.select(this),A=k.select(\".text-math-group\");A.empty()&&(E.bb=Kat.bBox(k.node()))})}for(var d=0;d<s._vals.length;d++){var v=s._vals[d],x=v.bb;if(x){var b=2*Xoe+x.width,p=2*Xoe+x.height;n=Math.max(n,i?Math.max(b*u,p*c):Math.max(p*u,b*c))}}}s.ticks===\"inside\"&&s.ticklabelposition===\"inside\"&&(n+=s.ticklen||0)}}}return n}function JO(e,t,r){var n=t._id,i=e._fullData,a=e._fullLayout,o=[],s=[],l,u,c;function f(b,p){for(l=0;l<p.length;l++){var E=b[p[l]],k=(E._extremes||{})[n];if(E.visible===!0&&k){for(u=0;u<k.min.length;u++)c=k.min[u],YO(o,c.val,c.pad,{extrapad:c.extrapad});for(u=0;u<k.max.length;u++)c=k.max[u],KO(s,c.val,c.pad,{extrapad:c.extrapad})}}}if(f(i,t._traceIndices),f(a.annotations||[],t._annIndices||[]),f(a.shapes||[],t._shapeIndices||[]),t._matchGroup&&!r){for(var h in t._matchGroup)if(h!==t._id){var d=Jat(e,h),v=JO(e,d,!0),x=t._length/d._length;for(u=0;u<v.min.length;u++)c=v.min[u],YO(o,c.val,c.pad*x,{extrapad:c.extrapad});for(u=0;u<v.max.length;u++)c=v.max[u],KO(s,c.val,c.pad*x,{extrapad:c.extrapad})}}return{min:o,max:s}}function eot(e,t,r){if(t.setScale(),t.autorange){t.range=r?r.slice():ZO(e,t),t._r=t.range.slice(),t._rl=s_.simpleMap(t._r,t.r2l);var n=t._input,i={};i[t._attr+\".range\"]=t.range,i[t._attr+\".autorange\"]=t.autorange,Yat.call(\"_storeDirectGUIEdit\",e.layout,e._fullLayout._preGUI,i),n.range=t.range.slice(),n.autorange=t.autorange}var a=t._anchorAxis;if(a&&a.rangeslider){var o=a.rangeslider[t._name];o&&o.rangemode===\"auto\"&&(o.range=ZO(e,t)),a._input.rangeslider[t._name]=s_.extendFlat({},o)}}function tot(e,t,r){r||(r={}),e._m||e.setScale();var n=[],i=[],a=t.length,o=r.padded||!1,s=r.tozero&&(e.type===\"linear\"||e.type===\"-\"),l=e.type===\"log\",u=!1,c=r.vpadLinearized||!1,f,h,d,v,x,b,p,E,k;function A(F){if(Array.isArray(F))return u=!0,function(V){return Math.max(Number(F[V]||0),0)};var q=Math.max(Number(F||0),0);return function(){return q}}var L=A((e._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),_=A((e._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),C=A(r.vpadplus||r.vpad),M=A(r.vpadminus||r.vpad);if(!u){if(E=1/0,k=-1/0,l)for(f=0;f<a;f++)h=t[f],h<E&&h>0&&(E=h),h>k&&h<dL&&(k=h);else for(f=0;f<a;f++)h=t[f],h<E&&h>-dL&&(E=h),h>k&&h<dL&&(k=h);t=[E,k],a=2}var g={tozero:s,extrapad:o};function P(F){d=t[F],Koe(d)&&(b=L(F),p=_(F),c?(v=e.c2l(d)-M(F),x=e.c2l(d)+C(F)):(E=d-M(F),k=d+C(F),l&&E<k/10&&(E=k/10),v=e.c2l(E),x=e.c2l(k)),s&&(v=Math.min(0,v),x=Math.max(0,x)),Yoe(v)&&YO(n,v,p,g),Yoe(x)&&KO(i,x,b,g))}var T=Math.min(6,a);for(f=0;f<T;f++)P(f);for(f=a-1;f>=T;f--)P(f);return{min:n,max:i,opts:r}}function YO(e,t,r,n){$oe(e,t,r,n,rot)}function KO(e,t,r,n){$oe(e,t,r,n,iot)}function $oe(e,t,r,n,i){for(var a=n.tozero,o=n.extrapad,s=!0,l=0;l<e.length&&s;l++){var u=e[l];if(i(u.val,t)&&u.pad>=r&&(u.extrapad||!o)){s=!1;break}else i(t,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(e.splice(l,1),l--)}if(s){var c=a&&t===0;e.push({val:t,pad:c?0:r,extrapad:c?!1:o})}}function Yoe(e){return Koe(e)&&Math.abs(e)<dL}function rot(e,t){return e<=t}function iot(e,t){return e>=t}function not(e,t){var r=t.autorangeoptions;return r&&r.minallowed!==void 0&&vL(t,r.minallowed,r.maxallowed)?r.minallowed:r&&r.clipmin!==void 0&&vL(t,r.clipmin,r.clipmax)?Math.max(e,t.d2l(r.clipmin)):e}function aot(e,t){var r=t.autorangeoptions;return r&&r.maxallowed!==void 0&&vL(t,r.minallowed,r.maxallowed)?r.maxallowed:r&&r.clipmax!==void 0&&vL(t,r.clipmin,r.clipmax)?Math.min(e,t.d2l(r.clipmax)):e}function vL(e,t,r){return t!==void 0&&r!==void 0?(t=e.d2l(t),r=e.d2l(r),t<r):!0}function Qoe(e,t){if(!t||!t.autorangeoptions)return e;var r=e[0],n=e[1],i=t.autorangeoptions.include;if(i!==void 0){var a=t.d2l(r),o=t.d2l(n);s_.isArrayOrTypedArray(i)||(i=[i]);for(var s=0;s<i.length;s++){var l=t.d2l(i[s]);a>=l&&(a=l,r=l),o<=l&&(o=l,n=l)}}return r=not(r,t),n=aot(n,t),[r,n]}});var Qa=ye((Arr,wse)=>{\"use strict\";var w0=xa(),ph=uo(),P3=Xu(),QS=ba(),Vo=Mr(),I3=Vo.strTranslate,Eb=Pl(),oot=Mb(),eM=va(),Xp=ao(),sot=Cd(),tse=bO(),Yd=es(),lot=Yd.ONEMAXYEAR,mL=Yd.ONEAVGYEAR,yL=Yd.ONEMINYEAR,uot=Yd.ONEMAXQUARTER,tB=Yd.ONEAVGQUARTER,_L=Yd.ONEMINQUARTER,cot=Yd.ONEMAXMONTH,R3=Yd.ONEAVGMONTH,xL=Yd.ONEMINMONTH,Yp=Yd.ONEWEEK,Fv=Yd.ONEDAY,l_=Fv/2,xm=Yd.ONEHOUR,tM=Yd.ONEMIN,bL=Yd.ONESEC,fot=Yd.ONEMILLI,hot=Yd.ONEMICROSEC,kb=Yd.MINUS_SIGN,AL=Yd.BADNUM,rB={K:\"zeroline\"},iB={K:\"gridline\",L:\"path\"},nB={K:\"minor-gridline\",L:\"path\"},hse={K:\"tick\",L:\"path\"},rse={K:\"tick\",L:\"text\"},ise={width:[\"x\",\"r\",\"l\",\"xl\",\"xr\"],height:[\"y\",\"t\",\"b\",\"yt\",\"yb\"],right:[\"r\",\"xr\"],left:[\"l\",\"xl\"],top:[\"t\",\"yt\"],bottom:[\"b\",\"yb\"]},SL=Nh(),$S=SL.MID_SHIFT,Cb=SL.CAP_SHIFT,rM=SL.LINE_SPACING,dot=SL.OPPOSITE_SIDE,wL=3,kn=wse.exports={};kn.setConvert=ym();var vot=L3(),Ay=af(),pot=Ay.idSort,got=Ay.isLinked;kn.id2name=Ay.id2name;kn.name2id=Ay.name2id;kn.cleanId=Ay.cleanId;kn.list=Ay.list;kn.listIds=Ay.listIds;kn.getFromId=Ay.getFromId;kn.getFromTrace=Ay.getFromTrace;var dse=wg();kn.getAutoRange=dse.getAutoRange;kn.findExtremes=dse.findExtremes;var mot=1e-4;function lB(e){var t=(e[1]-e[0])*mot;return[e[0]-t,e[1]+t]}kn.coerceRef=function(e,t,r,n,i,a){var o=n.charAt(n.length-1),s=r._fullLayout._subplots[o+\"axis\"],l=n+\"ref\",u={};return i||(i=s[0]||(typeof a==\"string\"?a:a[0])),a||(a=i),s=s.concat(s.map(function(c){return c+\" domain\"})),u[l]={valType:\"enumerated\",values:s.concat(a?typeof a==\"string\"?[a]:a:[]),dflt:i},Vo.coerce(e,t,u,l)};kn.getRefType=function(e){return e===void 0?e:e===\"paper\"?\"paper\":e===\"pixel\"?\"pixel\":/( domain)$/.test(e)?\"domain\":\"range\"};kn.coercePosition=function(e,t,r,n,i,a){var o,s,l=kn.getRefType(n);if(l!==\"range\")o=Vo.ensureNumber,s=r(i,a);else{var u=kn.getFromId(t,n);a=u.fraction2r(a),s=r(i,a),o=u.cleanPos}e[i]=o(s)};kn.cleanPosition=function(e,t,r){var n=r===\"paper\"||r===\"pixel\"?Vo.ensureNumber:kn.getFromId(t,r).cleanPos;return n(e)};kn.redrawComponents=function(e,t){t=t||kn.listIds(e);var r=e._fullLayout;function n(i,a,o,s){for(var l=QS.getComponentMethod(i,a),u={},c=0;c<t.length;c++)for(var f=r[kn.id2name(t[c])],h=f[o],d=0;d<h.length;d++){var v=h[d];if(!u[v]&&(l(e,v),u[v]=1,s))return}}n(\"annotations\",\"drawOne\",\"_annIndices\"),n(\"shapes\",\"drawOne\",\"_shapeIndices\"),n(\"images\",\"draw\",\"_imgIndices\",!0),n(\"selections\",\"drawOne\",\"_selectionIndices\")};var yot=kn.getDataConversions=function(e,t,r,n){var i,a=r===\"x\"||r===\"y\"||r===\"z\"?r:n;if(Vo.isArrayOrTypedArray(a)){if(i={type:vot(n,void 0,{autotypenumbers:e._fullLayout.autotypenumbers}),_categories:[]},kn.setConvert(i),i.type===\"category\")for(var o=0;o<n.length;o++)i.d2c(n[o])}else i=kn.getFromTrace(e,t,a);return i?{d2c:i.d2c,c2d:i.c2d}:a===\"ids\"?{d2c:ase,c2d:ase}:{d2c:nse,c2d:nse}};function nse(e){return+e}function ase(e){return String(e)}kn.getDataToCoordFunc=function(e,t,r,n){return yot(e,t,r,n).d2c};kn.counterLetter=function(e){var t=e.charAt(0);if(t===\"x\")return\"y\";if(t===\"y\")return\"x\"};kn.minDtick=function(e,t,r,n){[\"log\",\"category\",\"multicategory\"].indexOf(e.type)!==-1||!n?e._minDtick=0:e._minDtick===void 0?(e._minDtick=t,e._forceTick0=r):e._minDtick&&((e._minDtick/t+1e-6)%1<2e-6&&((r-e._forceTick0)/t%1+1.000001)%1<2e-6?(e._minDtick=t,e._forceTick0=r):((t/e._minDtick+1e-6)%1>2e-6||((r-e._forceTick0)/e._minDtick%1+1.000001)%1>2e-6)&&(e._minDtick=0))};kn.saveRangeInitial=function(e,t){for(var r=kn.list(e,\"\",!0),n=!1,i=0;i<r.length;i++){var a=r[i],o=a._rangeInitial0===void 0&&a._rangeInitial1===void 0,s=o||a.range[0]!==a._rangeInitial0||a.range[1]!==a._rangeInitial1,l=a.autorange;(o&&l!==!0||t&&s)&&(a._rangeInitial0=l===\"min\"||l===\"max reversed\"?void 0:a.range[0],a._rangeInitial1=l===\"max\"||l===\"min reversed\"?void 0:a.range[1],a._autorangeInitial=l,n=!0)}return n};kn.saveShowSpikeInitial=function(e,t){for(var r=kn.list(e,\"\",!0),n=!1,i=\"on\",a=0;a<r.length;a++){var o=r[a],s=o._showSpikeInitial===void 0,l=s||o.showspikes!==o._showspikes;(s||t&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),i===\"on\"&&!o.showspikes&&(i=\"off\")}return e._fullLayout._cartesianSpikesEnabled=i,n};kn.autoBin=function(e,t,r,n,i,a){var o=Vo.aggNums(Math.min,null,e),s=Vo.aggNums(Math.max,null,e);if(t.type===\"category\"||t.type===\"multicategory\")return{start:o-.5,end:s+.5,size:Math.max(1,Math.round(a)||1),_dataSpan:s-o};i||(i=t.calendar);var l;if(t.type===\"log\"?l={type:\"linear\",range:[o,s]}:l={type:t.type,range:Vo.simpleMap([o,s],t.c2r,0,i),calendar:i},kn.setConvert(l),a=a&&tse.dtick(a,l.type),a)l.dtick=a,l.tick0=tse.tick0(void 0,l.type,i);else{var u;if(r)u=(s-o)/r;else{var c=Vo.distinctVals(e),f=Math.pow(10,Math.floor(Math.log(c.minDiff)/Math.LN10)),h=f*Vo.roundUp(c.minDiff/f,[.9,1.9,4.9,9.9],!0);u=Math.max(h,2*Vo.stdev(e)/Math.pow(e.length,n?.25:.4)),ph(u)||(u=1)}kn.autoTicks(l,u)}var d=l.dtick,v=kn.tickIncrement(kn.tickFirst(l),d,\"reverse\",i),x,b;if(typeof d==\"number\")v=_ot(v,e,l,o,s),b=1+Math.floor((s-v)/d),x=v+b*d;else for(l.dtick.charAt(0)===\"M\"&&(v=xot(v,e,d,o,i)),x=v,b=0;x<=s;)x=kn.tickIncrement(x,d,!1,i),b++;return{start:t.c2r(v,0,i),end:t.c2r(x,0,i),size:d,_dataSpan:s-o}};function _ot(e,t,r,n,i){var a=0,o=0,s=0,l=0;function u(d){return(1+(d-e)*100/r.dtick)%100<2}for(var c=0;c<t.length;c++)t[c]%1===0?s++:ph(t[c])||l++,u(t[c])&&a++,u(t[c]+r.dtick/2)&&o++;var f=t.length-l;if(s===f&&r.type!==\"date\")r.dtick<1?e=n-.5*r.dtick:(e-=.5,e+r.dtick<n&&(e+=r.dtick));else if(o<f*.1&&(a>f*.3||u(n)||u(i))){var h=r.dtick/2;e+=e+h<n?h:-h}return e}function xot(e,t,r,n,i){var a=Vo.findExactDates(t,i),o=.8;if(a.exactDays>o){var s=Number(r.substr(1));a.exactYears>o&&s%12===0?e=kn.tickIncrement(e,\"M6\",\"reverse\")+Fv*1.5:a.exactMonths>o?e=kn.tickIncrement(e,\"M1\",\"reverse\")+Fv*15.5:e-=l_;var l=kn.tickIncrement(e,r);if(l<=n)return l}return e}kn.prepMinorTicks=function(e,t,r){if(!t.minor.dtick){delete e.dtick;var n=t.dtick&&ph(t._tmin),i;if(n){var a=kn.tickIncrement(t._tmin,t.dtick,!0);i=[t._tmin,a*.99+t._tmin*.01]}else{var o=Vo.simpleMap(t.range,t.r2l);i=[o[0],.8*o[0]+.2*o[1]]}if(e.range=Vo.simpleMap(i,t.l2r),e._isMinor=!0,kn.prepTicks(e,r),n){var s=ph(t.dtick),l=ph(e.dtick),u=s?t.dtick:+t.dtick.substring(1),c=l?e.dtick:+e.dtick.substring(1);s&&l?$O(u,c)?u===2*Yp&&c===2*Fv&&(e.dtick=Yp):u===2*Yp&&c===3*Fv?e.dtick=Yp:u===Yp&&!(t._input.minor||{}).nticks?e.dtick=Fv:ose(u/c,2.5)?e.dtick=u/2:e.dtick=u:String(t.dtick).charAt(0)===\"M\"?l?e.dtick=\"M1\":$O(u,c)?u>=12&&c===2&&(e.dtick=\"M3\"):e.dtick=t.dtick:String(e.dtick).charAt(0)===\"L\"?String(t.dtick).charAt(0)===\"L\"?$O(u,c)||(e.dtick=ose(u/c,2.5)?t.dtick/2:t.dtick):e.dtick=\"D1\":e.dtick===\"D2\"&&+t.dtick>1&&(e.dtick=1)}e.range=t.range}t.minor._tick0Init===void 0&&(e.tick0=t.tick0)};function $O(e,t){return Math.abs((e/t+.5)%1-.5)<.001}function ose(e,t){return Math.abs(e/t-1)<.001}kn.prepTicks=function(e,t){var r=Vo.simpleMap(e.range,e.r2l,void 0,void 0,t);if(e.tickmode===\"auto\"||!e.dtick){var n=e.nticks,i;n||(e.type===\"category\"||e.type===\"multicategory\"?(i=e.tickfont?Vo.bigFont(e.tickfont.size||12):15,n=e._length/i):(i=e._id.charAt(0)===\"y\"?40:80,n=Vo.constrain(e._length/i,4,9)+1),e._name===\"radialaxis\"&&(n*=2)),e.minor&&e.minor.tickmode!==\"array\"||e.tickmode===\"array\"&&(n*=100),e._roughDTick=Math.abs(r[1]-r[0])/n,kn.autoTicks(e,e._roughDTick),e._minDtick>0&&e.dtick<e._minDtick*2&&(e.dtick=e._minDtick,e.tick0=e.l2r(e._forceTick0))}e.ticklabelmode===\"period\"&&bot(e),e.tick0||(e.tick0=e.type===\"date\"?\"2000-01-01\":0),e.type===\"date\"&&e.dtick<.1&&(e.dtick=.1),mse(e)};function QO(e){return+e.substring(1)}function bot(e){var t;function r(){return!(ph(e.dtick)||e.dtick.charAt(0)!==\"M\")}var n=r(),i=kn.getTickFormat(e);if(i){var a=e._dtickInit!==e.dtick;/%[fLQsSMX]/.test(i)||(/%[HI]/.test(i)?(t=xm,a&&!n&&e.dtick<xm&&(e.dtick=xm)):/%p/.test(i)?(t=l_,a&&!n&&e.dtick<l_&&(e.dtick=l_)):/%[Aadejuwx]/.test(i)?(t=Fv,a&&!n&&e.dtick<Fv&&(e.dtick=Fv)):/%[UVW]/.test(i)?(t=Yp,a&&!n&&e.dtick<Yp&&(e.dtick=Yp)):/%[Bbm]/.test(i)?(t=R3,a&&(n?QO(e.dtick)<1:e.dtick<xL)&&(e.dtick=\"M1\")):/%[q]/.test(i)?(t=tB,a&&(n?QO(e.dtick)<3:e.dtick<_L)&&(e.dtick=\"M3\")):/%[Yy]/.test(i)&&(t=mL,a&&(n?QO(e.dtick)<12:e.dtick<yL)&&(e.dtick=\"M12\")))}n=r(),n&&e.tick0===e._dowTick0&&(e.tick0=e._rawTick0),e._definedDelta=t}function wot(e,t,r){for(var n=0;n<e.length;n++){var i=e[n].value,a=n,o=n+1;n<e.length-1?(a=n,o=n+1):n>0?(a=n-1,o=n):(a=n,o=n);var s=e[a].value,l=e[o].value,u=Math.abs(l-s),c=r||u,f=0;c>=yL?u>=yL&&u<=lot?f=u:f=mL:r===tB&&c>=_L?u>=_L&&u<=uot?f=u:f=tB:c>=xL?u>=xL&&u<=cot?f=u:f=R3:r===Yp&&c>=Yp?f=Yp:c>=Fv?f=Fv:r===l_&&c>=l_?f=l_:r===xm&&c>=xm&&(f=xm);var h;f>=u&&(f=u,h=!0);var d=i+f;if(t.rangebreaks&&f>0){for(var v=84,x=0,b=0;b<v;b++){var p=(b+.5)/v;t.maskBreaks(i*(1-p)+p*d)!==AL&&x++}f*=x/v,f||(e[n].drop=!0),h&&u>Yp&&(f=u)}(f>0||n===0)&&(e[n].periodX=i+f/2)}}kn.calcTicks=function(t,r){for(var n=t.type,i=t.calendar,a=t.ticklabelstep,o=t.ticklabelmode===\"period\",s=t.range[0]>t.range[1],l=!t.ticklabelindex||Vo.isArrayOrTypedArray(t.ticklabelindex)?t.ticklabelindex:[t.ticklabelindex],u=Vo.simpleMap(t.range,t.r2l,void 0,void 0,r),c=u[1]<u[0],f=Math.min(u[0],u[1]),h=Math.max(u[0],u[1]),d=Math.max(1e3,t._length||0),v=[],x=[],b=[],p=[],E=[],k=t.minor&&(t.minor.ticks||t.minor.showgrid),A=1;A>=(k?0:1);A--){var L=!A;A?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var _=A?t:Vo.extendFlat({},t,t.minor);if(L?kn.prepMinorTicks(_,t,r):kn.prepTicks(_,r),_.tickmode===\"array\"){A?(b=[],v=sse(t,!L)):(p=[],x=sse(t,!L));continue}if(_.tickmode===\"sync\"){b=[],v=Tot(t);continue}var C=lB(u),M=C[0],g=C[1],P=ph(_.dtick),T=n===\"log\"&&!(P||_.dtick.charAt(0)===\"L\"),F=kn.tickFirst(_,r);if(A){if(t._tmin=F,F<M!==c)break;(n===\"category\"||n===\"multicategory\")&&(g=c?Math.max(-.5,g):Math.min(t._categories.length-.5,g))}var q=null,V=F,H;if(A){var X;P?X=t.dtick:n===\"date\"?typeof t.dtick==\"string\"&&t.dtick.charAt(0)===\"M\"&&(X=R3*t.dtick.substring(1)):X=t._roughDTick,H=Math.round((t.r2l(V)-t.r2l(t.tick0))/X)-1}var G=_.dtick;for(_.rangebreaks&&_._tick0Init!==_.tick0&&(V=eB(V,t),c||(V=kn.tickIncrement(V,G,!c,i))),A&&o&&(V=kn.tickIncrement(V,G,!c,i),H--);c?V>=g:V<=g;V=kn.tickIncrement(V,G,c,i)){if(A&&H++,_.rangebreaks&&!c){if(V<M)continue;if(_.maskBreaks(V)===AL&&eB(V,_)>=h)break}if(b.length>d||V===q)break;q=V;var N={value:V};A?(T&&V!==(V|0)&&(N.simpleLabel=!0),a>1&&H%a&&(N.skipLabel=!0),b.push(N)):(N.minor=!0,p.push(N))}}if(!p||p.length<2)l=!1;else{var W=(p[1].value-p[0].value)*(s?-1:1);Zot(W,t.tickformat)||(l=!1)}if(!l)E=b;else{var re=b.concat(p);o&&b.length&&(re=re.slice(1)),re=re.sort(function(Rt,kt){return Rt.value-kt.value}).filter(function(Rt,kt,Ct){return kt===0||Rt.value!==Ct[kt-1].value});var ae=re.map(function(Rt,kt){return Rt.minor===void 0&&!Rt.skipLabel?kt:null}).filter(function(Rt){return Rt!==null});ae.forEach(function(Rt){l.map(function(kt){var Ct=Rt+kt;Ct>=0&&Ct<re.length&&Vo.pushUnique(E,re[Ct])})})}if(k){var _e=t.minor.ticks===\"inside\"&&t.ticks===\"outside\"||t.minor.ticks===\"outside\"&&t.ticks===\"inside\";if(!_e){for(var Me=b.map(function(Rt){return Rt.value}),ke=[],ge=0;ge<p.length;ge++){var ie=p[ge],Te=ie.value;if(Me.indexOf(Te)===-1){for(var Ee=!1,Ae=0;!Ee&&Ae<b.length;Ae++)1e7+b[Ae].value===1e7+Te&&(Ee=!0);Ee||ke.push(ie)}}p=ke}}o&&wot(E,t,t._definedDelta);var ze;if(t.rangebreaks){var Ce=t._id.charAt(0)===\"y\",me=1;t.tickmode===\"auto\"&&(me=t.tickfont?t.tickfont.size:12);var Re=NaN;for(ze=b.length-1;ze>-1;ze--){if(b[ze].drop){b.splice(ze,1);continue}b[ze].value=eB(b[ze].value,t);var ce=t.c2p(b[ze].value);(Ce?Re>ce-me:Re<ce+me)?b.splice(c?ze+1:ze,1):Re=ce}}fB(t)&&Math.abs(u[1]-u[0])===360&&b.pop(),t._tmax=(b[b.length-1]||{}).value,t._prevDateHead=\"\",t._inCalcTicks=!0;var Ge,nt=function(Rt){Rt.text=\"\",t._prevDateHead=Ge};b=b.concat(p);function ct(Rt,kt){var Ct=kn.tickText(Rt,kt.value,!1,kt.simpleLabel),Yt=kt.periodX;return Yt!==void 0&&(Ct.periodX=Yt,(Yt>h||Yt<f)&&(Yt>h&&(Ct.periodX=h),Yt<f&&(Ct.periodX=f),nt(Ct))),Ct}var qt;for(ze=0;ze<b.length;ze++){var rt=b[ze].minor,ot=b[ze].value;rt?(l&&E.indexOf(b[ze])!==-1?qt=ct(t,b[ze]):qt={x:ot},qt.minor=!0,x.push(qt)):(Ge=t._prevDateHead,qt=ct(t,b[ze]),(b[ze].skipLabel||l&&E.indexOf(b[ze])===-1)&&nt(qt),v.push(qt))}return v=v.concat(x),t._inCalcTicks=!1,o&&v.length&&(v[0].noTick=!0),v};function vse(e,t){return e.rangebreaks&&(t=t.filter(function(r){return e.maskBreaks(r.x)!==AL})),t}function Tot(e){var t=e._mainAxis,r=[];if(t._vals){for(var n=0;n<t._vals.length;n++)if(!t._vals[n].noTick){var i=t.l2p(t._vals[n].x),a=e.p2l(i),o=kn.tickText(e,a);t._vals[n].minor&&(o.minor=!0,o.text=\"\"),r.push(o)}}return r=vse(e,r),r}function sse(e,t){var r=Vo.simpleMap(e.range,e.r2l),n=lB(r),i=Math.min(n[0],n[1]),a=Math.max(n[0],n[1]),o=e.type===\"category\"?e.d2l_noadd:e.d2l;e.type===\"log\"&&String(e.dtick).charAt(0)!==\"L\"&&(e.dtick=\"L\"+Math.pow(10,Math.floor(Math.min(e.range[0],e.range[1]))-1));for(var s=[],l=0;l<=1;l++)if(!(t!==void 0&&(t&&l||t===!1&&!l))&&!(l&&!e.minor)){var u=l?e.minor.tickvals:e.tickvals,c=l?[]:e.ticktext;if(u){Vo.isArrayOrTypedArray(c)||(c=[]);for(var f=0;f<u.length;f++){var h=o(u[f]);if(h>i&&h<a){var d=kn.tickText(e,h,!1,String(c[f]));l&&(d.minor=!0,d.text=\"\"),s.push(d)}}}}return s=vse(e,s),s}var pL=[2,5,10],lse=[1,2,3,6,12],use=[1,2,5,10,15,30],Aot=[1,2,3,7,14],pse=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],gse=[-.301,0,.301,.699,1],Sot=[15,30,45,90,180];function _m(e,t,r){return t*Vo.roundUp(e/t,r)}kn.autoTicks=function(e,t,r){var n;function i(f){return Math.pow(f,Math.floor(Math.log(t)/Math.LN10))}if(e.type===\"date\"){e.tick0=Vo.dateTick0(e.calendar,0);var a=2*t;if(a>mL)t/=mL,n=i(10),e.dtick=\"M\"+12*_m(t,n,pL);else if(a>R3)t/=R3,e.dtick=\"M\"+_m(t,1,lse);else if(a>Fv){if(e.dtick=_m(t,Fv,e._hasDayOfWeekBreaks?[1,2,7,14]:Aot),!r){var o=kn.getTickFormat(e),s=e.ticklabelmode===\"period\";s&&(e._rawTick0=e.tick0),/%[uVW]/.test(o)?e.tick0=Vo.dateTick0(e.calendar,2):e.tick0=Vo.dateTick0(e.calendar,1),s&&(e._dowTick0=e.tick0)}}else a>xm?e.dtick=_m(t,xm,lse):a>tM?e.dtick=_m(t,tM,use):a>bL?e.dtick=_m(t,bL,use):(n=i(10),e.dtick=_m(t,n,pL))}else if(e.type===\"log\"){e.tick0=0;var l=Vo.simpleMap(e.range,e.r2l);if(e._isMinor&&(t*=1.5),t>.7)e.dtick=Math.ceil(t);else if(Math.abs(l[1]-l[0])<1){var u=1.5*Math.abs((l[1]-l[0])/t);t=Math.abs(Math.pow(10,l[1])-Math.pow(10,l[0]))/u,n=i(10),e.dtick=\"L\"+_m(t,n,pL)}else e.dtick=t>.3?\"D2\":\"D1\"}else e.type===\"category\"||e.type===\"multicategory\"?(e.tick0=0,e.dtick=Math.ceil(Math.max(t,1))):fB(e)?(e.tick0=0,n=1,e.dtick=_m(t,n,Sot)):(e.tick0=0,n=i(10),e.dtick=_m(t,n,pL));if(e.dtick===0&&(e.dtick=1),!ph(e.dtick)&&typeof e.dtick!=\"string\"){var c=e.dtick;throw e.dtick=1,\"ax.dtick error: \"+String(c)}};function mse(e){var t=e.dtick;if(e._tickexponent=0,!ph(t)&&typeof t!=\"string\"&&(t=1),(e.type===\"category\"||e.type===\"multicategory\")&&(e._tickround=null),e.type===\"date\"){var r=e.r2l(e.tick0),n=e.l2r(r).replace(/(^-|i)/g,\"\"),i=n.length;if(String(t).charAt(0)===\"M\")i>10||n.substr(5)!==\"01-01\"?e._tickround=\"d\":e._tickround=+t.substr(1)%12===0?\"y\":\"m\";else if(t>=Fv&&i<=10||t>=Fv*15)e._tickround=\"d\";else if(t>=tM&&i<=16||t>=xm)e._tickround=\"M\";else if(t>=bL&&i<=19||t>=tM)e._tickround=\"S\";else{var a=e.l2r(r+t).replace(/^-/,\"\").length;e._tickround=Math.max(i,a)-20,e._tickround<0&&(e._tickround=4)}}else if(ph(t)||t.charAt(0)===\"L\"){var o=e.range.map(e.r2d||Number);ph(t)||(t=Number(t.substr(1))),e._tickround=2-Math.floor(Math.log(t)/Math.LN10+.01);var s=Math.max(Math.abs(o[0]),Math.abs(o[1])),l=Math.floor(Math.log(s)/Math.LN10+.01),u=e.minexponent===void 0?3:e.minexponent;Math.abs(l)>u&&(TL(e.exponentformat)&&!uB(l)?e._tickexponent=3*Math.round((l-1)/3):e._tickexponent=l)}else e._tickround=null}kn.tickIncrement=function(e,t,r,n){var i=r?-1:1;if(ph(t))return Vo.increment(e,i*t);var a=t.charAt(0),o=i*Number(t.substr(1));if(a===\"M\")return Vo.incrementMonth(e,o,n);if(a===\"L\")return Math.log(Math.pow(10,e)+o)/Math.LN10;if(a===\"D\"){var s=t===\"D2\"?gse:pse,l=e+i*.01,u=Vo.roundUp(Vo.mod(l,1),s,r);return Math.floor(l)+Math.log(w0.round(Math.pow(10,u),1))/Math.LN10}throw\"unrecognized dtick \"+String(t)};kn.tickFirst=function(e,t){var r=e.r2l||Number,n=Vo.simpleMap(e.range,r,void 0,void 0,t),i=n[1]<n[0],a=i?Math.floor:Math.ceil,o=lB(n)[0],s=e.dtick,l=r(e.tick0);if(ph(s)){var u=a((o-l)/s)*s+l;return(e.type===\"category\"||e.type===\"multicategory\")&&(u=Vo.constrain(u,0,e._categories.length-1)),u}var c=s.charAt(0),f=Number(s.substr(1));if(c===\"M\"){for(var h=0,d=l,v,x,b;h<10;){if(v=kn.tickIncrement(d,s,i,e.calendar),(v-o)*(d-o)<=0)return i?Math.min(d,v):Math.max(d,v);x=(o-(d+v)/2)/(v-d),b=c+(Math.abs(Math.round(x))||1)*f,d=kn.tickIncrement(d,b,x<0?!i:i,e.calendar),h++}return Vo.error(\"tickFirst did not converge\",e),d}else{if(c===\"L\")return Math.log(a((Math.pow(10,o)-l)/f)*f+l)/Math.LN10;if(c===\"D\"){var p=s===\"D2\"?gse:pse,E=Vo.roundUp(Vo.mod(o,1),p,i);return Math.floor(o)+Math.log(w0.round(Math.pow(10,E),1))/Math.LN10}else throw\"unrecognized dtick \"+String(s)}};kn.tickText=function(e,t,r,n){var i=yse(e,t),a=e.tickmode===\"array\",o=r||a,s=e.type,l=s===\"category\"?e.d2l_noadd:e.d2l,u,c=function(b){var p=e.l2p(b);return p>=0&&p<=e._length?b:null};if(a&&Vo.isArrayOrTypedArray(e.ticktext)){var f=Vo.simpleMap(e.range,e.r2l),h=(Math.abs(f[1]-f[0])-(e._lBreaks||0))/1e4;for(u=0;u<e.ticktext.length&&!(Math.abs(t-l(e.tickvals[u]))<h);u++);if(u<e.ticktext.length)return i.text=String(e.ticktext[u]),i.xbnd=[c(i.x-.5),c(i.x+e.dtick-.5)],i}function d(b){if(b===void 0)return!0;if(r)return b===\"none\";var p={first:e._tmin,last:e._tmax}[b];return b!==\"all\"&&t!==p}var v=r?\"never\":e.exponentformat!==\"none\"&&d(e.showexponent)?\"hide\":\"\";if(s===\"date\"?Mot(e,i,r,o):s===\"log\"?Eot(e,i,r,o,v):s===\"category\"?kot(e,i):s===\"multicategory\"?Cot(e,i,r):fB(e)?Pot(e,i,r,o,v):Lot(e,i,r,o,v),n||(e.tickprefix&&!d(e.showtickprefix)&&(i.text=e.tickprefix+i.text),e.ticksuffix&&!d(e.showticksuffix)&&(i.text+=e.ticksuffix)),e.labelalias&&e.labelalias.hasOwnProperty(i.text)){var x=e.labelalias[i.text];typeof x==\"string\"&&(i.text=x)}return(e.tickson===\"boundaries\"||e.showdividers)&&(i.xbnd=[c(i.x-.5),c(i.x+e.dtick-.5)]),i};kn.hoverLabelText=function(e,t,r){r&&(e=Vo.extendFlat({},e,{hoverformat:r}));var n=Vo.isArrayOrTypedArray(t)?t[0]:t,i=Vo.isArrayOrTypedArray(t)?t[1]:void 0;if(i!==void 0&&i!==n)return kn.hoverLabelText(e,n,r)+\" - \"+kn.hoverLabelText(e,i,r);var a=e.type===\"log\"&&n<=0,o=kn.tickText(e,e.c2l(a?-n:n),\"hover\").text;return a?n===0?\"0\":kb+o:o};function yse(e,t,r){var n=e.tickfont||{};return{x:t,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}}function Mot(e,t,r,n){var i=e._tickround,a=r&&e.hoverformat||kn.getTickFormat(e);n=!a&&n,n&&(ph(i)?i=4:i={y:\"m\",m:\"d\",d:\"M\",M:\"S\",S:4}[i]);var o=Vo.formatDate(t.x,a,i,e._dateFormat,e.calendar,e._extraFormat),s,l=o.indexOf(`\n", - "`);if(l!==-1&&(s=o.substr(l+1),o=o.substr(0,l)),n&&(s!==void 0&&(o===\"00:00:00\"||o===\"00:00\")?(o=s,s=\"\"):o.length===8&&(o=o.replace(/:00$/,\"\"))),s)if(r)i===\"d\"?o+=\", \"+s:o=s+(o?\", \"+o:\"\");else if(!e._inCalcTicks||e._prevDateHead!==s)e._prevDateHead=s,o+=\"<br>\"+s;else{var u=nM(e),c=e._trueSide||e.side;(!u&&c===\"top\"||u&&c===\"bottom\")&&(o+=\"<br> \")}t.text=o}function Eot(e,t,r,n,i){var a=e.dtick,o=t.x,s=e.tickformat,l=typeof a==\"string\"&&a.charAt(0);if(i===\"never\"&&(i=\"\"),n&&l!==\"L\"&&(a=\"L3\",l=\"L\"),s||l===\"L\")t.text=iM(Math.pow(10,o),e,i,n);else if(ph(a)||l===\"D\"&&Vo.mod(o+.01,1)<.1){var u=Math.round(o),c=Math.abs(u),f=e.exponentformat;f===\"power\"||TL(f)&&uB(u)?(u===0?t.text=1:u===1?t.text=\"10\":t.text=\"10<sup>\"+(u>1?\"\":kb)+c+\"</sup>\",t.fontSize*=1.25):(f===\"e\"||f===\"E\")&&c>2?t.text=\"1\"+f+(u>0?\"+\":kb)+c:(t.text=iM(Math.pow(10,o),e,\"\",\"fakehover\"),a===\"D1\"&&e._id.charAt(0)===\"y\"&&(t.dy-=t.fontSize/6))}else if(l===\"D\")t.text=String(Math.round(Math.pow(10,Vo.mod(o,1)))),t.fontSize*=.75;else throw\"unrecognized dtick \"+String(a);if(e.dtick===\"D1\"){var h=String(t.text).charAt(0);(h===\"0\"||h===\"1\")&&(e._id.charAt(0)===\"y\"?t.dx-=t.fontSize/4:(t.dy+=t.fontSize/2,t.dx+=(e.range[1]>e.range[0]?1:-1)*t.fontSize*(o<0?.5:.25)))}}function kot(e,t){var r=e._categories[Math.round(t.x)];r===void 0&&(r=\"\"),t.text=String(r)}function Cot(e,t,r){var n=Math.round(t.x),i=e._categories[n]||[],a=i[1]===void 0?\"\":String(i[1]),o=i[0]===void 0?\"\":String(i[0]);r?t.text=o+\" - \"+a:(t.text=a,t.text2=o)}function Lot(e,t,r,n,i){i===\"never\"?i=\"\":e.showexponent===\"all\"&&Math.abs(t.x/e.dtick)<1e-6&&(i=\"hide\"),t.text=iM(t.x,e,i,n)}function Pot(e,t,r,n,i){if(e.thetaunit===\"radians\"&&!r){var a=t.x/180;if(a===0)t.text=\"0\";else{var o=Iot(a);if(o[1]>=100)t.text=iM(Vo.deg2rad(t.x),e,i,n);else{var s=t.x<0;o[1]===1?o[0]===1?t.text=\"\\u03C0\":t.text=o[0]+\"\\u03C0\":t.text=[\"<sup>\",o[0],\"</sup>\",\"\\u2044\",\"<sub>\",o[1],\"</sub>\",\"\\u03C0\"].join(\"\"),s&&(t.text=kb+t.text)}}}else t.text=iM(t.x,e,i,n)}function Iot(e){function t(s,l){return Math.abs(s-l)<=1e-6}function r(s,l){return t(l,0)?s:r(l,s%l)}function n(s){for(var l=1;!t(Math.round(s*l)/l,s);)l*=10;return l}var i=n(e),a=e*i,o=Math.abs(r(a,i));return[Math.round(a/o),Math.round(i/o)]}var Rot=[\"f\",\"p\",\"n\",\"\\u03BC\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\"];function TL(e){return e===\"SI\"||e===\"B\"}function uB(e){return e>14||e<-15}function iM(e,t,r,n){var i=e<0,a=t._tickround,o=r||t.exponentformat||\"B\",s=t._tickexponent,l=kn.getTickFormat(t),u=t.separatethousands;if(n){var c={exponentformat:o,minexponent:t.minexponent,dtick:t.showexponent===\"none\"?t.dtick:ph(e)&&Math.abs(e)||1,range:t.showexponent===\"none\"?t.range.map(t.r2d):[0,e||1]};mse(c),a=(Number(c._tickround)||0)+4,s=c._tickexponent,t.hoverformat&&(l=t.hoverformat)}if(l)return t._numFormat(l)(e).replace(/-/g,kb);var f=Math.pow(10,-a)/2;if(o===\"none\"&&(s=0),e=Math.abs(e),e<f)e=\"0\",i=!1;else{if(e+=f,s&&(e*=Math.pow(10,-s),a+=s),a===0)e=String(Math.floor(e));else if(a<0){e=String(Math.round(e)),e=e.substr(0,e.length+a);for(var h=a;h<0;h++)e+=\"0\"}else{e=String(e);var d=e.indexOf(\".\")+1;d&&(e=e.substr(0,d+a).replace(/\\.?0+$/,\"\"))}e=Vo.numSeparate(e,t._separators,u)}if(s&&o!==\"hide\"){TL(o)&&uB(s)&&(o=\"power\");var v;s<0?v=kb+-s:o!==\"power\"?v=\"+\"+s:v=String(s),o===\"e\"||o===\"E\"?e+=o+v:o===\"power\"?e+=\"\\xD710<sup>\"+v+\"</sup>\":o===\"B\"&&s===9?e+=\"B\":TL(o)&&(e+=Rot[s/3+5])}return i?kb+e:e}kn.getTickFormat=function(e){var t;function r(l){return typeof l!=\"string\"?l:Number(l.replace(\"M\",\"\"))*R3}function n(l,u){var c=[\"L\",\"D\"];if(typeof l==typeof u){if(typeof l==\"number\")return l-u;var f=c.indexOf(l.charAt(0)),h=c.indexOf(u.charAt(0));return f===h?Number(l.replace(/(L|D)/g,\"\"))-Number(u.replace(/(L|D)/g,\"\")):f-h}else return typeof l==\"number\"?1:-1}function i(l,u,c){var f=c||function(v){return v},h=u[0],d=u[1];return(!h&&typeof h!=\"number\"||f(h)<=f(l))&&(!d&&typeof d!=\"number\"||f(d)>=f(l))}function a(l,u){var c=u[0]===null,f=u[1]===null,h=n(l,u[0])>=0,d=n(l,u[1])<=0;return(c||h)&&(f||d)}var o,s;if(e.tickformatstops&&e.tickformatstops.length>0)switch(e.type){case\"date\":case\"linear\":{for(t=0;t<e.tickformatstops.length;t++)if(s=e.tickformatstops[t],s.enabled&&i(e.dtick,s.dtickrange,r)){o=s;break}break}case\"log\":{for(t=0;t<e.tickformatstops.length;t++)if(s=e.tickformatstops[t],s.enabled&&a(e.dtick,s.dtickrange)){o=s;break}break}default:}return o?o.value:e.tickformat};kn.getSubplots=function(e,t){var r=e._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=t?kn.findSubplotsWithAxis(n,t):n;return i.sort(function(a,o){var s=a.substr(1).split(\"y\"),l=o.substr(1).split(\"y\");return s[0]===l[0]?+s[1]-+l[1]:+s[0]-+l[0]}),i};kn.findSubplotsWithAxis=function(e,t){for(var r=new RegExp(t._id.charAt(0)===\"x\"?\"^\"+t._id+\"y\":t._id+\"$\"),n=[],i=0;i<e.length;i++){var a=e[i];r.test(a)&&n.push(a)}return n};kn.makeClipPaths=function(e){var t=e._fullLayout;if(!t._hasOnlyLargeSploms){var r={_offset:0,_length:t.width,_id:\"\"},n={_offset:0,_length:t.height,_id:\"\"},i=kn.list(e,\"x\",!0),a=kn.list(e,\"y\",!0),o=[],s,l;for(s=0;s<i.length;s++)for(o.push({x:i[s],y:n}),l=0;l<a.length;l++)s===0&&o.push({x:r,y:a[l]}),o.push({x:i[s],y:a[l]});var u=t._clips.selectAll(\".axesclip\").data(o,function(c){return c.x._id+c.y._id});u.enter().append(\"clipPath\").classed(\"axesclip\",!0).attr(\"id\",function(c){return\"clip\"+t._uid+c.x._id+c.y._id}).append(\"rect\"),u.exit().remove(),u.each(function(c){w0.select(this).select(\"rect\").attr({x:c.x._offset||0,y:c.y._offset||0,width:c.x._length||1,height:c.y._length||1})})}};kn.draw=function(e,t,r){var n=e._fullLayout;t===\"redraw\"&&n._paper.selectAll(\"g.subplot\").each(function(l){var u=l[0],c=n._plots[u];if(c){var f=c.xaxis,h=c.yaxis;c.xaxislayer.selectAll(\".\"+f._id+\"tick\").remove(),c.yaxislayer.selectAll(\".\"+h._id+\"tick\").remove(),c.xaxislayer.selectAll(\".\"+f._id+\"tick2\").remove(),c.yaxislayer.selectAll(\".\"+h._id+\"tick2\").remove(),c.xaxislayer.selectAll(\".\"+f._id+\"divider\").remove(),c.yaxislayer.selectAll(\".\"+h._id+\"divider\").remove(),c.minorGridlayer&&c.minorGridlayer.selectAll(\"path\").remove(),c.gridlayer&&c.gridlayer.selectAll(\"path\").remove(),c.zerolinelayer&&c.zerolinelayer.selectAll(\"path\").remove(),n._infolayer.select(\".g-\"+f._id+\"title\").remove(),n._infolayer.select(\".g-\"+h._id+\"title\").remove()}});var i=!t||t===\"redraw\"?kn.listIds(e):t,a=kn.list(e),o=a.filter(function(l){return l.autoshift}).map(function(l){return l.overlaying});i.map(function(l){var u=kn.getFromId(e,l);if(u.tickmode===\"sync\"&&u.overlaying){var c=i.findIndex(function(f){return f===u.overlaying});c>=0&&i.unshift(i.splice(c,1).shift())}});var s={false:{left:0,right:0}};return Vo.syncOrAsync(i.map(function(l){return function(){if(l){var u=kn.getFromId(e,l);r||(r={}),r.axShifts=s,r.overlayingShiftedAx=o;var c=kn.drawOne(e,u,r);return u._shiftPusher&&sB(u,u._fullDepth||0,s,!0),u._r=u.range.slice(),u._rl=Vo.simpleMap(u._r,u.r2l),c}}}))};kn.drawOne=function(e,t,r){r=r||{};var n=r.axShifts||{},i=r.overlayingShiftedAx||[],a,o,s;t.setScale();var l=e._fullLayout,u=t._id,c=u.charAt(0),f=kn.counterLetter(u),h=l._plots[t._mainSubplot];if(!h)return;if(t._shiftPusher=t.autoshift||i.indexOf(t._id)!==-1||i.indexOf(t.overlaying)!==-1,t._shiftPusher&t.anchor===\"free\"){var d=t.linewidth/2||0;t.ticks===\"inside\"&&(d+=t.ticklen),sB(t,d,n,!0),sB(t,t.shift||0,n,!1)}(r.skipTitle!==!0||t._shift===void 0)&&(t._shift=Wot(t,n));var v=h[c+\"axislayer\"],x=t._mainLinePosition,b=x+=t._shift,p=t._mainMirrorPosition,E=t._vals=kn.calcTicks(t),k=[t.mirror,b,p].join(\"_\");for(a=0;a<E.length;a++)E[a].axInfo=k;t._selections={},t._tickAngles&&(t._prevTickAngles=t._tickAngles),t._tickAngles={},t._depth=null;var A={};function L(rt){var ot=u+(rt||\"tick\");return A[ot]||(A[ot]=qot(t,ot,b)),A[ot]}if(t.visible){var _=kn.makeTransTickFn(t),C=kn.makeTransTickLabelFn(t),M,g,P=t.ticks===\"inside\",T=t.ticks===\"outside\";if(t.tickson===\"boundaries\"){var F=Dot(t,E);g=kn.clipEnds(t,F),M=P?g:F}else g=kn.clipEnds(t,E),M=P&&t.ticklabelmode!==\"period\"?g:E;var q=t._gridVals=g,V=Fot(t,E);if(!l._hasOnlyLargeSploms){var H=t._subplotsWith,X={};for(a=0;a<H.length;a++){o=H[a],s=l._plots[o];var G=s[f+\"axis\"],N=G._mainAxis._id;if(!X[N]){X[N]=1;var W=c===\"x\"?\"M0,\"+G._offset+\"v\"+G._length:\"M\"+G._offset+\",0h\"+G._length;kn.drawGrid(e,t,{vals:q,counterAxis:G,layer:s.gridlayer.select(\".\"+u),minorLayer:s.minorGridlayer.select(\".\"+u),path:W,transFn:_}),kn.drawZeroLine(e,t,{counterAxis:G,layer:s.zerolinelayer,path:W,transFn:_})}}}var re,ae=kn.getTickSigns(t),_e=kn.getTickSigns(t,\"minor\");if(t.ticks||t.minor&&t.minor.ticks){var Me=kn.makeTickPath(t,b,ae[2]),ke=kn.makeTickPath(t,b,_e[2],{minor:!0}),ge,ie,Te,Ee;if(t._anchorAxis&&t.mirror&&t.mirror!==!0?(ge=kn.makeTickPath(t,p,ae[3]),ie=kn.makeTickPath(t,p,_e[3],{minor:!0}),Te=Me+ge,Ee=ke+ie):(ge=\"\",ie=\"\",Te=Me,Ee=ke),t.showdividers&&T&&t.tickson===\"boundaries\"){var Ae={};for(a=0;a<V.length;a++)Ae[V[a].x]=1;re=function(rt){return Ae[rt.x]?ge:Te}}else re=function(rt){return rt.minor?Ee:Te}}if(kn.drawTicks(e,t,{vals:M,layer:v,path:re,transFn:_}),t.mirror===\"allticks\"){var ze=Object.keys(t._linepositions||{});for(a=0;a<ze.length;a++){o=ze[a],s=l._plots[o];var Ce=t._linepositions[o]||[],me=Ce[0],Re=Ce[1],ce=Ce[2],Ge=kn.makeTickPath(t,me,ce?ae[0]:_e[0],{minor:ce})+kn.makeTickPath(t,Re,ce?ae[1]:_e[1],{minor:ce});kn.drawTicks(e,t,{vals:M,layer:s[c+\"axislayer\"],path:Ge,transFn:_})}}var nt=[];if(nt.push(function(){return kn.drawLabels(e,t,{vals:E,layer:v,plotinfo:s,transFn:C,labelFns:kn.makeLabelFns(t,b)})}),t.type===\"multicategory\"){var ct={x:2,y:10}[c];nt.push(function(){var rt={x:\"height\",y:\"width\"}[c],ot=L()[rt]+ct+(t._tickAngles[u+\"tick\"]?t.tickfont.size*rM:0);return kn.drawLabels(e,t,{vals:zot(t,E),layer:v,cls:u+\"tick2\",repositionOnUpdate:!0,secondary:!0,transFn:_,labelFns:kn.makeLabelFns(t,b+ot*ae[4])})}),nt.push(function(){return t._depth=ae[4]*(L(\"tick2\")[t.side]-b),Bot(e,t,{vals:V,layer:v,path:kn.makeTickPath(t,b,ae[4],{len:t._depth}),transFn:_})})}else t.title.hasOwnProperty(\"standoff\")&&nt.push(function(){t._depth=ae[4]*(L()[t.side]-b)});var qt=QS.getComponentMethod(\"rangeslider\",\"isVisible\")(t);return!r.skipTitle&&!(qt&&t.side===\"bottom\")&&nt.push(function(){return Not(e,t)}),nt.push(function(){var rt=t.side.charAt(0),ot=dot[t.side].charAt(0),Rt=kn.getPxPosition(e,t),kt=T?t.ticklen:0,Ct,Yt,xr,er;(t.automargin||qt||t._shiftPusher)&&(t.type===\"multicategory\"?Ct=L(\"tick2\"):(Ct=L(),c===\"x\"&&rt===\"b\"&&(t._depth=Math.max(Ct.width>0?Ct.bottom-Rt:0,kt))));var Ke=0,xt=0;if(t._shiftPusher&&(Ke=Math.max(kt,Ct.height>0?rt===\"l\"?Rt-Ct.left:Ct.right-Rt:0),t.title.text!==l._dfltTitle[c]&&(xt=(t._titleStandoff||0)+(t._titleScoot||0),rt===\"l\"&&(xt+=fse(t))),t._fullDepth=Math.max(Ke,xt)),t.automargin){Yt={x:0,y:0,r:0,l:0,t:0,b:0};var bt=[0,1],Lt=typeof t._shift==\"number\"?t._shift:0;if(c===\"x\"){if(rt===\"b\"?Yt[rt]=t._depth:(Yt[rt]=t._depth=Math.max(Ct.width>0?Rt-Ct.top:0,kt),bt.reverse()),Ct.width>0){var St=Ct.right-(t._offset+t._length);St>0&&(Yt.xr=1,Yt.r=St);var Et=t._offset-Ct.left;Et>0&&(Yt.xl=0,Yt.l=Et)}}else if(rt===\"l\"?(t._depth=Math.max(Ct.height>0?Rt-Ct.left:0,kt),Yt[rt]=t._depth-Lt):(t._depth=Math.max(Ct.height>0?Ct.right-Rt:0,kt),Yt[rt]=t._depth+Lt,bt.reverse()),Ct.height>0){var dt=Ct.bottom-(t._offset+t._length);dt>0&&(Yt.yb=0,Yt.b=dt);var Ht=t._offset-Ct.top;Ht>0&&(Yt.yt=1,Yt.t=Ht)}Yt[f]=t.anchor===\"free\"?t.position:t._anchorAxis.domain[bt[0]],t.title.text!==l._dfltTitle[c]&&(Yt[rt]+=fse(t)+(t.title.standoff||0)),t.mirror&&t.anchor!==\"free\"&&(xr={x:0,y:0,r:0,l:0,t:0,b:0},xr[ot]=t.linewidth,t.mirror&&t.mirror!==!0&&(xr[ot]+=kt),t.mirror===!0||t.mirror===\"ticks\"?xr[f]=t._anchorAxis.domain[bt[1]]:(t.mirror===\"all\"||t.mirror===\"allticks\")&&(xr[f]=[t._counterDomainMin,t._counterDomainMax][bt[1]]))}qt&&(er=QS.getComponentMethod(\"rangeslider\",\"autoMarginOpts\")(e,t)),typeof t.automargin==\"string\"&&(cse(Yt,t.automargin),cse(xr,t.automargin)),P3.autoMargin(e,cB(t),Yt),P3.autoMargin(e,xse(t),xr),P3.autoMargin(e,bse(t),er)}),Vo.syncOrAsync(nt)}};function cse(e,t){if(e){var r=Object.keys(ise).reduce(function(n,i){return t.indexOf(i)!==-1&&ise[i].forEach(function(a){n[a]=1}),n},{});Object.keys(e).forEach(function(n){r[n]||(n.length===1?e[n]=0:delete e[n])})}}function Dot(e,t){var r=[],n,i=function(a,o){var s=a.xbnd[o];s!==null&&r.push(Vo.extendFlat({},a,{x:s}))};if(t.length){for(n=0;n<t.length;n++)i(t[n],0);i(t[n-1],1)}return r}function zot(e,t){for(var r=[],n={},i=0;i<t.length;i++){var a=t[i];n[a.text2]?n[a.text2].push(a.x):n[a.text2]=[a.x]}for(var o in n)r.push(yse(e,Vo.interp(n[o],.5),o));return r}function Fot(e,t){var r=[],n,i,a=t.length&&t[t.length-1].x<t[0].x,o=function(l,u){var c=l.xbnd[u];c!==null&&r.push(Vo.extendFlat({},l,{x:c}))};if(e.showdividers&&t.length){for(n=0;n<t.length;n++){var s=t[n];s.text2!==i&&o(s,a?1:0),i=s.text2}o(t[n-1],a?0:1)}return r}function qot(e,t,r){var n,i,a,o;if(e._selections[t].size())n=1/0,i=-1/0,a=1/0,o=-1/0,e._selections[t].each(function(){var l=oB(this),u=Xp.bBox(l.node().parentNode);n=Math.min(n,u.top),i=Math.max(i,u.bottom),a=Math.min(a,u.left),o=Math.max(o,u.right)});else{var s=kn.makeLabelFns(e,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}}kn.getTickSigns=function(e,t){var r=e._id.charAt(0),n={x:\"top\",y:\"right\"}[r],i=e.side===n?1:-1,a=[-1,1,i,-i],o=t?(e.minor||{}).ticks:e.ticks;return o!==\"inside\"==(r===\"x\")&&(a=a.map(function(s){return-s})),e.side&&a.push({l:-1,t:-1,r:1,b:1}[e.side.charAt(0)]),a};kn.makeTransTickFn=function(e){return e._id.charAt(0)===\"x\"?function(t){return I3(e._offset+e.l2p(t.x),0)}:function(t){return I3(0,e._offset+e.l2p(t.x))}};kn.makeTransTickLabelFn=function(e){var t=Oot(e),r=e.ticklabelshift||0,n=e.ticklabelstandoff||0,i=t[0],a=t[1],o=e.range[0]>e.range[1],s=e.ticklabelposition&&e.ticklabelposition.indexOf(\"inside\")!==-1,l=!s;if(r){var u=o?-1:1;r=r*u}if(n){var c=e.side,f=s&&(c===\"top\"||c===\"left\")||l&&(c===\"bottom\"||c===\"right\")?1:-1;n=n*f}return e._id.charAt(0)===\"x\"?function(h){return I3(i+e._offset+e.l2p(aB(h))+r,a+n)}:function(h){return I3(a+n,i+e._offset+e.l2p(aB(h))+r)}};function aB(e){return e.periodX!==void 0?e.periodX:e.x}function Oot(e){var t=e.ticklabelposition||\"\",r=function(d){return t.indexOf(d)!==-1},n=r(\"top\"),i=r(\"left\"),a=r(\"right\"),o=r(\"bottom\"),s=r(\"inside\"),l=o||i||n||a;if(!l&&!s)return[0,0];var u=e.side,c=l?(e.tickwidth||0)/2:0,f=wL,h=e.tickfont?e.tickfont.size:12;return(o||n)&&(c+=h*Cb,f+=(e.linewidth||0)/2),(i||a)&&(c+=(e.linewidth||0)/2,f+=wL),s&&u===\"top\"&&(f-=h*(1-Cb)),(i||n)&&(c=-c),(u===\"bottom\"||u===\"right\")&&(f=-f),[l?c:0,s?f:0]}kn.makeTickPath=function(e,t,r,n){n||(n={});var i=n.minor;if(i&&!e.minor)return\"\";var a=n.len!==void 0?n.len:i?e.minor.ticklen:e.ticklen,o=e._id.charAt(0),s=(e.linewidth||1)/2;return o===\"x\"?\"M0,\"+(t+s*r)+\"v\"+a*r:\"M\"+(t+s*r)+\",0h\"+a*r};kn.makeLabelFns=function(e,t,r){var n=e.ticklabelposition||\"\",i=function(F){return n.indexOf(F)!==-1},a=i(\"top\"),o=i(\"left\"),s=i(\"right\"),l=i(\"bottom\"),u=l||o||a||s,c=i(\"inside\"),f=n===\"inside\"&&e.ticks===\"inside\"||!c&&e.ticks===\"outside\"&&e.tickson!==\"boundaries\",h=0,d=0,v=f?e.ticklen:0;if(c?v*=-1:u&&(v=0),f&&(h+=v,r)){var x=Vo.deg2rad(r);h=v*Math.cos(x)+1,d=v*Math.sin(x)}e.showticklabels&&(f||e.showline)&&(h+=.2*e.tickfont.size),h+=(e.linewidth||1)/2*(c?-1:1);var b={labelStandoff:h,labelShift:d},p,E,k,A,L=0,_=e.side,C=e._id.charAt(0),M=e.tickangle,g;if(C===\"x\")g=!c&&_===\"bottom\"||c&&_===\"top\",A=g?1:-1,c&&(A*=-1),p=d*A,E=t+h*A,k=g?1:-.2,Math.abs(M)===90&&(c?k+=$S:M===-90&&_===\"bottom\"?k=Cb:M===90&&_===\"top\"?k=$S:k=.5,L=$S/2*(M/90)),b.xFn=function(F){return F.dx+p+L*F.fontSize},b.yFn=function(F){return F.dy+E+F.fontSize*k},b.anchorFn=function(F,q){if(u){if(o)return\"end\";if(s)return\"start\"}return!ph(q)||q===0||q===180?\"middle\":q*A<0!==c?\"end\":\"start\"},b.heightFn=function(F,q,V){return q<-60||q>60?-.5*V:e.side===\"top\"!==c?-V:0};else if(C===\"y\"){if(g=!c&&_===\"left\"||c&&_===\"right\",A=g?1:-1,c&&(A*=-1),p=h,E=d*A,k=0,!c&&Math.abs(M)===90&&(M===-90&&_===\"left\"||M===90&&_===\"right\"?k=Cb:k=.5),c){var P=ph(M)?+M:0;if(P!==0){var T=Vo.deg2rad(P);L=Math.abs(Math.sin(T))*Cb*A,k=0}}b.xFn=function(F){return F.dx+t-(p+F.fontSize*k)*A+L*F.fontSize},b.yFn=function(F){return F.dy+E+F.fontSize*$S},b.anchorFn=function(F,q){return ph(q)&&Math.abs(q)===90?\"middle\":g?\"end\":\"start\"},b.heightFn=function(F,q,V){return e.side===\"right\"&&(q*=-1),q<-30?-V:q<30?-.5*V:0}}return b};function ML(e){return[e.text,e.x,e.axInfo,e.font,e.fontSize,e.fontColor].join(\"_\")}kn.drawTicks=function(e,t,r){r=r||{};var n=t._id+\"tick\",i=[].concat(t.minor&&t.minor.ticks?r.vals.filter(function(o){return o.minor&&!o.noTick}):[]).concat(t.ticks?r.vals.filter(function(o){return!o.minor&&!o.noTick}):[]),a=r.layer.selectAll(\"path.\"+n).data(i,ML);a.exit().remove(),a.enter().append(\"path\").classed(n,1).classed(\"ticks\",1).classed(\"crisp\",r.crisp!==!1).each(function(o){return eM.stroke(w0.select(this),o.minor?t.minor.tickcolor:t.tickcolor)}).style(\"stroke-width\",function(o){return Xp.crispRound(e,o.minor?t.minor.tickwidth:t.tickwidth,1)+\"px\"}).attr(\"d\",r.path).style(\"display\",null),EL(t,[hse]),a.attr(\"transform\",r.transFn)};kn.drawGrid=function(e,t,r){if(r=r||{},t.tickmode!==\"sync\"){var n=t._id+\"grid\",i=t.minor&&t.minor.showgrid,a=i?r.vals.filter(function(p){return p.minor}):[],o=t.showgrid?r.vals.filter(function(p){return!p.minor}):[],s=r.counterAxis;if(s&&kn.shouldShowZeroLine(e,t,s))for(var l=t.tickmode===\"array\",u=0;u<o.length;u++){var c=o[u].x;if(l?!c:Math.abs(c)<t.dtick/100)if(o=o.slice(0,u).concat(o.slice(u+1)),l)u--;else break}t._gw=Xp.crispRound(e,t.gridwidth,1);for(var f=i?Xp.crispRound(e,t.minor.gridwidth,1):0,h=r.layer,d=r.minorLayer,v=1;v>=0;v--){var x=v?h:d;if(x){var b=x.selectAll(\"path.\"+n).data(v?o:a,ML);b.exit().remove(),b.enter().append(\"path\").classed(n,1).classed(\"crisp\",r.crisp!==!1),b.attr(\"transform\",r.transFn).attr(\"d\",r.path).each(function(p){return eM.stroke(w0.select(this),p.minor?t.minor.gridcolor:t.gridcolor||\"#ddd\")}).style(\"stroke-dasharray\",function(p){return Xp.dashStyle(p.minor?t.minor.griddash:t.griddash,p.minor?t.minor.gridwidth:t.gridwidth)}).style(\"stroke-width\",function(p){return(p.minor?f:t._gw)+\"px\"}).style(\"display\",null),typeof r.path==\"function\"&&b.attr(\"d\",r.path)}}EL(t,[iB,nB])}};kn.drawZeroLine=function(e,t,r){r=r||r;var n=t._id+\"zl\",i=kn.shouldShowZeroLine(e,t,r.counterAxis),a=r.layer.selectAll(\"path.\"+n).data(i?[{x:0,id:t._id}]:[]);a.exit().remove(),a.enter().append(\"path\").classed(n,1).classed(\"zl\",1).classed(\"crisp\",r.crisp!==!1).each(function(){r.layer.selectAll(\"path\").sort(function(o,s){return pot(o.id,s.id)})}),a.attr(\"transform\",r.transFn).attr(\"d\",r.path).call(eM.stroke,t.zerolinecolor||eM.defaultLine).style(\"stroke-width\",Xp.crispRound(e,t.zerolinewidth,t._gw||1)+\"px\").style(\"display\",null),EL(t,[rB])};kn.drawLabels=function(e,t,r){r=r||{};var n=e._fullLayout,i=t._id,a=r.cls||i+\"tick\",o=r.vals.filter(function(N){return N.text}),s=r.labelFns,l=r.secondary?0:t.tickangle,u=(t._prevTickAngles||{})[a],c=r.layer.selectAll(\"g.\"+a).data(t.showticklabels?o:[],ML),f=[];c.enter().append(\"g\").classed(a,1).append(\"text\").attr(\"text-anchor\",\"middle\").each(function(N){var W=w0.select(this),re=e._promises.length;W.call(Eb.positionText,s.xFn(N),s.yFn(N)).call(Xp.font,{family:N.font,size:N.fontSize,color:N.fontColor,weight:N.fontWeight,style:N.fontStyle,variant:N.fontVariant,textcase:N.fontTextcase,lineposition:N.fontLineposition,shadow:N.fontShadow}).text(N.text).call(Eb.convertToTspans,e),e._promises[re]?f.push(e._promises.pop().then(function(){h(W,l)})):h(W,l)}),EL(t,[rse]),c.exit().remove(),r.repositionOnUpdate&&c.each(function(N){w0.select(this).select(\"text\").call(Eb.positionText,s.xFn(N),s.yFn(N))});function h(N,W){N.each(function(re){var ae=w0.select(this),_e=ae.select(\".text-math-group\"),Me=s.anchorFn(re,W),ke=r.transFn.call(ae.node(),re)+(ph(W)&&+W!=0?\" rotate(\"+W+\",\"+s.xFn(re)+\",\"+(s.yFn(re)-re.fontSize/2)+\")\":\"\"),ge=Eb.lineCount(ae),ie=rM*re.fontSize,Te=s.heightFn(re,ph(W)?+W:0,(ge-1)*ie);if(Te&&(ke+=I3(0,Te)),_e.empty()){var Ee=ae.select(\"text\");Ee.attr({transform:ke,\"text-anchor\":Me}),Ee.style(\"opacity\",1),t._adjustTickLabelsOverflow&&t._adjustTickLabelsOverflow()}else{var Ae=Xp.bBox(_e.node()).width,ze=Ae*{end:-.5,start:.5}[Me];_e.attr(\"transform\",ke+I3(ze,0))}})}t._adjustTickLabelsOverflow=function(){var N=t.ticklabeloverflow;if(!(!N||N===\"allow\")){var W=N.indexOf(\"hide\")!==-1,re=t._id.charAt(0)===\"x\",ae=0,_e=re?e._fullLayout.width:e._fullLayout.height;if(N.indexOf(\"domain\")!==-1){var Me=Vo.simpleMap(t.range,t.r2l);ae=t.l2p(Me[0])+t._offset,_e=t.l2p(Me[1])+t._offset}var ke=Math.min(ae,_e),ge=Math.max(ae,_e),ie=t.side,Te=1/0,Ee=-1/0;c.each(function(me){var Re=w0.select(this),ce=Re.select(\".text-math-group\");if(ce.empty()){var Ge=Xp.bBox(Re.node()),nt=0;re?(Ge.right>ge||Ge.left<ke)&&(nt=1):(Ge.bottom>ge||Ge.top+(t.tickangle?0:me.fontSize/4)<ke)&&(nt=1);var ct=Re.select(\"text\");nt?W&&ct.style(\"opacity\",0):(ct.style(\"opacity\",1),ie===\"bottom\"||ie===\"right\"?Te=Math.min(Te,re?Ge.top:Ge.left):Te=-1/0,ie===\"top\"||ie===\"left\"?Ee=Math.max(Ee,re?Ge.bottom:Ge.right):Ee=1/0)}});for(var Ae in n._plots){var ze=n._plots[Ae];if(!(t._id!==ze.xaxis._id&&t._id!==ze.yaxis._id)){var Ce=re?ze.yaxis:ze.xaxis;Ce&&(Ce[\"_visibleLabelMin_\"+t._id]=Te,Ce[\"_visibleLabelMax_\"+t._id]=Ee)}}}},t._hideCounterAxisInsideTickLabels=function(N){var W=t._id.charAt(0)===\"x\",re=[];for(var ae in n._plots){var _e=n._plots[ae];t._id!==_e.xaxis._id&&t._id!==_e.yaxis._id||re.push(W?_e.yaxis:_e.xaxis)}re.forEach(function(Me,ke){Me&&nM(Me)&&(N||[rB,nB,iB,hse,rse]).forEach(function(ge){var ie=ge.K===\"tick\"&&ge.L===\"text\"&&t.ticklabelmode===\"period\",Te=n._plots[t._mainSubplot],Ee;ge.K===rB.K?Ee=Te.zerolinelayer.selectAll(\".\"+t._id+\"zl\"):ge.K===nB.K?Ee=Te.minorGridlayer.selectAll(\".\"+t._id):ge.K===iB.K?Ee=Te.gridlayer.selectAll(\".\"+t._id):Ee=Te[t._id.charAt(0)+\"axislayer\"],Ee.each(function(){var Ae=w0.select(this);ge.L&&(Ae=Ae.selectAll(ge.L)),Ae.each(function(ze){var Ce=t.l2p(ie?aB(ze):ze.x)+t._offset,me=w0.select(this);Ce<t[\"_visibleLabelMax_\"+Me._id]&&Ce>t[\"_visibleLabelMin_\"+Me._id]?me.style(\"display\",\"none\"):ge.K===\"tick\"&&!ke&&me.style(\"display\",null)})})})})},h(c,u+1?u:l);function d(){return f.length&&Promise.all(f)}var v=null;function x(){if(h(c,l),o.length&&t.autotickangles&&(t.type!==\"log\"||String(t.dtick).charAt(0)!==\"D\")){v=t.autotickangles[0];var N=0,W=[],re,ae=1;c.each(function(Ct){N=Math.max(N,Ct.fontSize);var Yt=t.l2p(Ct.x),xr=oB(this),er=Xp.bBox(xr.node());ae=Math.max(ae,Eb.lineCount(xr)),W.push({top:0,bottom:10,height:10,left:Yt-er.width/2,right:Yt+er.width/2+2,width:er.width+2})});var _e=(t.tickson===\"boundaries\"||t.showdividers)&&!r.secondary,Me=o.length,ke=Math.abs((o[Me-1].x-o[0].x)*t._m)/(Me-1),ge=_e?ke/2:ke,ie=_e?t.ticklen:N*1.25*ae,Te=Math.sqrt(Math.pow(ge,2)+Math.pow(ie,2)),Ee=ge/Te,Ae=t.autotickangles.map(function(Ct){return Ct*Math.PI/180}),ze=Ae.find(function(Ct){return Math.abs(Math.cos(Ct))<=Ee});ze===void 0&&(ze=Ae.reduce(function(Ct,Yt){return Math.abs(Math.cos(Ct))<Math.abs(Math.cos(Yt))?Ct:Yt},Ae[0]));var Ce=ze*(180/Math.PI);if(_e){var me=2;for(t.ticks&&(me+=t.tickwidth/2),re=0;re<W.length;re++){var Re=o[re].xbnd,ce=W[re];if(Re[0]!==null&&ce.left-t.l2p(Re[0])<me||Re[1]!==null&&t.l2p(Re[1])-ce.right<me){v=Ce;break}}}else{var Ge=t.ticklabelposition||\"\",nt=function(Ct){return Ge.indexOf(Ct)!==-1},ct=nt(\"top\"),qt=nt(\"left\"),rt=nt(\"right\"),ot=nt(\"bottom\"),Rt=ot||qt||ct||rt,kt=Rt?(t.tickwidth||0)+2*wL:0;for(re=0;re<W.length-1;re++)if(Vo.bBoxIntersect(W[re],W[re+1],kt)){v=Ce;break}}v&&h(c,v)}}t._selections&&(t._selections[a]=c);var b=[d];t.automargin&&n._redrawFromAutoMarginCount&&u===90?(v=u,b.push(function(){h(c,u)})):b.push(x),t._tickAngles&&b.push(function(){t._tickAngles[a]=v===null?ph(l)?l:0:v});var p=function(){var N=0,W=0;return c.each(function(re,ae){var _e=oB(this),Me=_e.select(\".text-math-group\");if(Me.empty()){var ke;t._vals[ae]&&(ke=t._vals[ae].bb||Xp.bBox(_e.node()),t._vals[ae].bb=ke),N=Math.max(N,ke.width),W=Math.max(W,ke.height)}}),{labelsMaxW:N,labelsMaxH:W}},E=t._anchorAxis;if(E&&(E.autorange||E.insiderange)&&nM(t)&&!got(n,t._id)&&(n._insideTickLabelsUpdaterange||(n._insideTickLabelsUpdaterange={}),E.autorange&&(n._insideTickLabelsUpdaterange[E._name+\".autorange\"]=E.autorange,b.push(p)),E.insiderange)){var k=p(),A=t._id.charAt(0)===\"y\"?k.labelsMaxW:k.labelsMaxH;A+=2*wL,t.ticklabelposition===\"inside\"&&(A+=t.ticklen||0);var L=t.side===\"right\"||t.side===\"top\"?1:-1,_=L===1?1:0,C=L===1?0:1,M=[];M[C]=E.range[C];var g=E.range,P=E.r2p(g[_]),T=E.r2p(g[C]),F=n._insideTickLabelsUpdaterange[E._name+\".range\"];if(F){var q=E.r2p(F[_]),V=E.r2p(F[C]),H=L*(t._id.charAt(0)===\"y\"?1:-1);H*P<H*q&&(P=q,M[_]=g[_]=F[_]),H*T>H*V&&(T=V,M[C]=g[C]=F[C])}var X=Math.abs(T-P);X-A>0?(X-=A,A*=1+A/X):A=0,t._id.charAt(0)!==\"y\"&&(A=-A),M[_]=E.p2r(E.r2p(g[_])+L*A),E.autorange===\"min\"||E.autorange===\"max reversed\"?(M[0]=null,E._rangeInitial0=void 0,E._rangeInitial1=void 0):(E.autorange===\"max\"||E.autorange===\"min reversed\")&&(M[1]=null,E._rangeInitial0=void 0,E._rangeInitial1=void 0),n._insideTickLabelsUpdaterange[E._name+\".range\"]=M}var G=Vo.syncOrAsync(b);return G&&G.then&&e._promises.push(G),G};function Bot(e,t,r){var n=t._id+\"divider\",i=r.vals,a=r.layer.selectAll(\"path.\"+n).data(i,ML);a.exit().remove(),a.enter().insert(\"path\",\":first-child\").classed(n,1).classed(\"crisp\",1).call(eM.stroke,t.dividercolor).style(\"stroke-width\",Xp.crispRound(e,t.dividerwidth,1)+\"px\"),a.attr(\"transform\",r.transFn).attr(\"d\",r.path)}kn.getPxPosition=function(e,t){var r=e._fullLayout._size,n=t._id.charAt(0),i=t.side,a;if(t.anchor!==\"free\"?a=t._anchorAxis:n===\"x\"?a={_offset:r.t+(1-(t.position||0))*r.h,_length:0}:n===\"y\"&&(a={_offset:r.l+(t.position||0)*r.w+t._shift,_length:0}),i===\"top\"||i===\"left\")return a._offset;if(i===\"bottom\"||i===\"right\")return a._offset+a._length};function fse(e){var t=e.title.font.size,r=(e.title.text.match(Eb.BR_TAG_ALL)||[]).length;return e.title.hasOwnProperty(\"standoff\")?t*(Cb+r*rM):r?t*(r+1)*rM:t}function Not(e,t){var r=e._fullLayout,n=t._id,i=n.charAt(0),a=t.title.font.size,o,s=(t.title.text.match(Eb.BR_TAG_ALL)||[]).length;if(t.title.hasOwnProperty(\"standoff\"))t.side===\"bottom\"||t.side===\"right\"?o=t._depth+t.title.standoff+a*Cb:(t.side===\"top\"||t.side===\"left\")&&(o=t._depth+t.title.standoff+a*($S+s*rM));else{var l=nM(t);if(t.type===\"multicategory\")o=t._depth;else{var u=1.5*a;l&&(u=.5*a,t.ticks===\"outside\"&&(u+=t.ticklen)),o=10+u+(t.linewidth?t.linewidth-1:0)}l||(i===\"x\"?o+=t.side===\"top\"?a*(t.showticklabels?1:0):a*(t.showticklabels?1.5:.5):o+=t.side===\"right\"?a*(t.showticklabels?1:.5):a*(t.showticklabels?.5:0))}var c=kn.getPxPosition(e,t),f,h,d;i===\"x\"?(h=t._offset+t._length/2,d=t.side===\"top\"?c-o:c+o):(d=t._offset+t._length/2,h=t.side===\"right\"?c+o:c-o,f={rotate:\"-90\",offset:0});var v;if(t.type!==\"multicategory\"){var x=t._selections[t._id+\"tick\"];if(v={selection:x,side:t.side},x&&x.node()&&x.node().parentNode){var b=Xp.getTranslate(x.node().parentNode);v.offsetLeft=b.x,v.offsetTop=b.y}t.title.hasOwnProperty(\"standoff\")&&(v.pad=0)}return t._titleStandoff=o,oot.draw(e,n+\"title\",{propContainer:t,propName:t._name+\".title.text\",placeholder:r._dfltTitle[i],avoid:v,transform:f,attributes:{x:h,y:d,\"text-anchor\":\"middle\"}})}kn.shouldShowZeroLine=function(e,t,r){var n=Vo.simpleMap(t.range,t.r2l);return n[0]*n[1]<=0&&t.zeroline&&(t.type===\"linear\"||t.type===\"-\")&&!(t.rangebreaks&&t.maskBreaks(0)===AL)&&(_se(t,0)||!Uot(e,t,r,n)||Vot(e,t))};kn.clipEnds=function(e,t){return t.filter(function(r){return _se(e,r.x)})};function _se(e,t){var r=e.l2p(t);return r>1&&r<e._length-1}function Uot(e,t,r,n){var i=r._mainAxis;if(!i)return;var a=e._fullLayout,o=t._id.charAt(0),s=kn.counterLetter(t._id),l=t._offset+(Math.abs(n[0])<Math.abs(n[1])==(o===\"x\")?0:t._length);function u(v){if(!v.showline||!v.linewidth)return!1;var x=Math.max((v.linewidth+t.zerolinewidth)/2,1);function b(k){return typeof k==\"number\"&&Math.abs(k-l)<x}if(b(v._mainLinePosition)||b(v._mainMirrorPosition))return!0;var p=v._linepositions||{};for(var E in p)if(b(p[E][0])||b(p[E][1]))return!0}var c=a._plots[r._mainSubplot];if(!(c.mainplotinfo||c).overlays.length)return u(r,l);for(var f=kn.list(e,s),h=0;h<f.length;h++){var d=f[h];if(d._mainAxis===i&&u(d,l))return!0}}function Vot(e,t){for(var r=e._fullData,n=t._mainSubplot,i=t._id.charAt(0),a=0;a<r.length;a++){var o=r[a];if(o.visible===!0&&o.xaxis+o.yaxis===n&&(QS.traceIs(o,\"bar-like\")&&o.orientation==={x:\"h\",y:\"v\"}[i]||o.fill&&o.fill.charAt(o.fill.length-1)===i))return!0}return!1}function oB(e){var t=w0.select(e),r=t.select(\".text-math-group\");return r.empty()?t.select(\"text\"):r}kn.allowAutoMargin=function(e){for(var t=kn.list(e,\"\",!0),r=0;r<t.length;r++){var n=t[r];n.automargin&&(P3.allowAutoMargin(e,cB(n)),n.mirror&&P3.allowAutoMargin(e,xse(n))),QS.getComponentMethod(\"rangeslider\",\"isVisible\")(n)&&P3.allowAutoMargin(e,bse(n))}};function cB(e){return e._id+\".automargin\"}function xse(e){return cB(e)+\".mirror\"}function bse(e){return e._id+\".rangeslider\"}kn.swap=function(e,t){for(var r=Hot(e,t),n=0;n<r.length;n++)Got(e,r[n].x,r[n].y)};function Hot(e,t){var r=[],n,i;for(n=0;n<t.length;n++){var a=[],o=e._fullData[t[n]].xaxis,s=e._fullData[t[n]].yaxis;if(!(!o||!s)){for(i=0;i<r.length;i++)(r[i].x.indexOf(o)!==-1||r[i].y.indexOf(s)!==-1)&&a.push(i);if(!a.length){r.push({x:[o],y:[s]});continue}var l=r[a[0]],u;if(a.length>1)for(i=1;i<a.length;i++)u=r[a[i]],gL(l.x,u.x),gL(l.y,u.y);gL(l.x,[o]),gL(l.y,[s])}}return r}function gL(e,t){for(var r=0;r<t.length;r++)e.indexOf(t[r])===-1&&e.push(t[r])}function Got(e,t,r){var n=[],i=[],a=e.layout,o,s;for(o=0;o<t.length;o++)n.push(kn.getFromId(e,t[o]));for(o=0;o<r.length;o++)i.push(kn.getFromId(e,r[o]));var l=Object.keys(sot),u=[\"anchor\",\"domain\",\"overlaying\",\"position\",\"side\",\"tickangle\",\"editType\"],c=[\"linear\",\"log\"];for(o=0;o<l.length;o++){var f=l[o],h=n[0][f],d=i[0][f],v=!0,x=!1,b=!1;if(!(f.charAt(0)===\"_\"||typeof h==\"function\"||u.indexOf(f)!==-1)){for(s=1;s<n.length&&v;s++){var p=n[s][f];f===\"type\"&&c.indexOf(h)!==-1&&c.indexOf(p)!==-1&&h!==p?x=!0:p!==h&&(v=!1)}for(s=1;s<i.length&&v;s++){var E=i[s][f];f===\"type\"&&c.indexOf(d)!==-1&&c.indexOf(E)!==-1&&d!==E?b=!0:i[s][f]!==d&&(v=!1)}v&&(x&&(a[n[0]._name].type=\"linear\"),b&&(a[i[0]._name].type=\"linear\"),jot(a,f,n,i,e._fullLayout._dfltTitle))}}for(o=0;o<e._fullLayout.annotations.length;o++){var k=e._fullLayout.annotations[o];t.indexOf(k.xref)!==-1&&r.indexOf(k.yref)!==-1&&Vo.swapAttrs(a.annotations[o],[\"?\"])}}function jot(e,t,r,n,i){var a=Vo.nestedProperty,o=a(e[r[0]._name],t).get(),s=a(e[n[0]._name],t).get(),l;for(t===\"title\"&&(o&&o.text===i.x&&(o.text=i.y),s&&s.text===i.y&&(s.text=i.x)),l=0;l<r.length;l++)a(e,r[l]._name+\".\"+t).set(s);for(l=0;l<n.length;l++)a(e,n[l]._name+\".\"+t).set(o)}function fB(e){return e._id===\"angularaxis\"}function eB(e,t){for(var r=t._rangebreaks.length,n=0;n<r;n++){var i=t._rangebreaks[n];if(e>=i.min&&e<i.max)return i.max}return e}function nM(e){return(e.ticklabelposition||\"\").indexOf(\"inside\")!==-1}function EL(e,t){nM(e._anchorAxis||{})&&e._hideCounterAxisInsideTickLabels&&e._hideCounterAxisInsideTickLabels(t)}function sB(e,t,r,n){var i=e.anchor!==\"free\"&&(e.overlaying===void 0||e.overlaying===!1)?e._id:e.overlaying,a;n?a=e.side===\"right\"?t:-t:a=t,i in r||(r[i]={}),e.side in r[i]||(r[i][e.side]=0),r[i][e.side]+=a}function Wot(e,t){return e.autoshift?t[e.overlaying][e.side]:e.shift||0}function Zot(e,t){return/%f/.test(t)?e>=hot:/%L/.test(t)?e>=fot:/%[SX]/.test(t)?e>=bL:/%M/.test(t)?e>=tM:/%[HI]/.test(t)?e>=xm:/%p/.test(t)?e>=l_:/%[Aadejuwx]/.test(t)?e>=Fv:/%[UVW]/.test(t)?e>=Yp:/%[Bbm]/.test(t)?e>=xL:/%[q]/.test(t)?e>=_L:/%[Yy]/.test(t)?e>=yL:!0}});var hB=ye((Srr,Tse)=>{\"use strict\";Tse.exports=function(t,r,n){var i,a;if(n){var o=r===\"reversed\"||r===\"min reversed\"||r===\"max reversed\";i=n[o?1:0],a=n[o?0:1]}var s=t(\"autorangeoptions.minallowed\",a===null?i:void 0),l=t(\"autorangeoptions.maxallowed\",i===null?a:void 0);s===void 0&&t(\"autorangeoptions.clipmin\"),l===void 0&&t(\"autorangeoptions.clipmax\"),t(\"autorangeoptions.include\")}});var dB=ye((Mrr,Ase)=>{\"use strict\";var Xot=hB();Ase.exports=function(t,r,n,i){var a=r._template||{},o=r.type||a.type||\"-\";n(\"minallowed\"),n(\"maxallowed\");var s=n(\"range\");if(!s){var l;!i.noInsiderange&&o!==\"log\"&&(l=n(\"insiderange\"),l&&(l[0]===null||l[1]===null)&&(r.insiderange=!1,l=void 0),l&&(s=n(\"range\",l)))}var u=r.getAutorangeDflt(s,i),c=n(\"autorange\",u),f;s&&(s[0]===null&&s[1]===null||(s[0]===null||s[1]===null)&&(c===\"reversed\"||c===!0)||s[0]!==null&&(c===\"min\"||c===\"max reversed\")||s[1]!==null&&(c===\"max\"||c===\"min reversed\"))&&(s=void 0,delete r.range,r.autorange=!0,f=!0),f||(u=r.getAutorangeDflt(s,i),c=n(\"autorange\",u)),c&&(Xot(n,c,s),(o===\"linear\"||o===\"-\")&&n(\"rangemode\")),r.cleanRange()}});var Mse=ye((Err,Sse)=>{var Yot={left:0,top:0};Sse.exports=Kot;function Kot(e,t,r){t=t||e.currentTarget||e.srcElement,Array.isArray(r)||(r=[0,0]);var n=e.clientX||0,i=e.clientY||0,a=Jot(t);return r[0]=n-a.left,r[1]=i-a.top,r}function Jot(e){return e===window||e===document||e===document.body?Yot:e.getBoundingClientRect()}});var kL=ye((krr,Ese)=>{\"use strict\";var $ot=Kq();function Qot(){var e=!1;try{var t=Object.defineProperty({},\"passive\",{get:function(){e=!0}});window.addEventListener(\"test\",null,t),window.removeEventListener(\"test\",null,t)}catch(r){e=!1}return e}Ese.exports=$ot&&Qot()});var Cse=ye((Crr,kse)=>{\"use strict\";kse.exports=function(t,r,n,i,a){var o=(t-n)/(i-n),s=o+r/(i-n),l=(o+s)/2;return a===\"left\"||a===\"bottom\"?o:a===\"center\"||a===\"middle\"?l:a===\"right\"||a===\"top\"?s:o<2/3-l?o:s>4/3-l?s:l}});var Ise=ye((Lrr,Pse)=>{\"use strict\";var Lse=Mr(),est=[[\"sw-resize\",\"s-resize\",\"se-resize\"],[\"w-resize\",\"move\",\"e-resize\"],[\"nw-resize\",\"n-resize\",\"ne-resize\"]];Pse.exports=function(t,r,n,i){return n===\"left\"?t=0:n===\"center\"?t=1:n===\"right\"?t=2:t=Lse.constrain(Math.floor(t*3),0,2),i===\"bottom\"?r=0:i===\"middle\"?r=1:i===\"top\"?r=2:r=Lse.constrain(Math.floor(r*3),0,2),est[r][t]}});var Dse=ye((Prr,Rse)=>{\"use strict\";var tst=g3(),rst=P6(),ist=DS().getGraphDiv,nst=IS(),vB=Rse.exports={};vB.wrapped=function(e,t,r){e=ist(e),e._fullLayout&&rst.clear(e._fullLayout._uid+nst.HOVERID),vB.raw(e,t,r)};vB.raw=function(t,r){var n=t._fullLayout,i=t._hoverdata;r||(r={}),!(r.target&&!t._dragged&&tst.triggerHandler(t,\"plotly_beforehover\",r)===!1)&&(n._hoverlayer.selectAll(\"g\").remove(),n._hoverlayer.selectAll(\"line\").remove(),n._hoverlayer.selectAll(\"circle\").remove(),t._hoverdata=void 0,r.target&&i&&t.emit(\"plotly_unhover\",{event:r,points:i}))}});var gv=ye((Irr,Ose)=>{\"use strict\";var ast=Mse(),pB=$q(),ost=kL(),sst=Mr().removeElement,lst=ad(),Lb=Ose.exports={};Lb.align=Cse();Lb.getCursor=Ise();var Fse=Dse();Lb.unhover=Fse.wrapped;Lb.unhoverRaw=Fse.raw;Lb.init=function(t){var r=t.gd,n=1,i=r._context.doubleClickDelay,a=t.element,o,s,l,u,c,f,h,d;r._mouseDownTime||(r._mouseDownTime=0),a.style.pointerEvents=\"all\",a.onmousedown=b,ost?(a._ontouchstart&&a.removeEventListener(\"touchstart\",a._ontouchstart),a._ontouchstart=b,a.addEventListener(\"touchstart\",b,{passive:!1})):a.ontouchstart=b;function v(k,A,L){return Math.abs(k)<L&&(k=0),Math.abs(A)<L&&(A=0),[k,A]}var x=t.clampFn||v;function b(k){r._dragged=!1,r._dragging=!0;var A=zse(k);o=A[0],s=A[1],h=k.target,f=k,d=k.buttons===2||k.ctrlKey,typeof k.clientX==\"undefined\"&&typeof k.clientY==\"undefined\"&&(k.clientX=o,k.clientY=s),l=new Date().getTime(),l-r._mouseDownTime<i?n+=1:(n=1,r._mouseDownTime=l),t.prepFn&&t.prepFn(k,o,s),pB&&!d?(c=qse(),c.style.cursor=window.getComputedStyle(a).cursor):pB||(c=document,u=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(a).cursor),document.addEventListener(\"mouseup\",E),document.addEventListener(\"touchend\",E),t.dragmode!==!1&&(k.preventDefault(),document.addEventListener(\"mousemove\",p),document.addEventListener(\"touchmove\",p,{passive:!1}))}function p(k){k.preventDefault();var A=zse(k),L=t.minDrag||lst.MINDRAG,_=x(A[0]-o,A[1]-s,L),C=_[0],M=_[1];(C||M)&&(r._dragged=!0,Lb.unhover(r,k)),r._dragged&&t.moveFn&&!d&&(r._dragdata={element:a,dx:C,dy:M},t.moveFn(C,M))}function E(k){if(delete r._dragdata,t.dragmode!==!1&&(k.preventDefault(),document.removeEventListener(\"mousemove\",p),document.removeEventListener(\"touchmove\",p)),document.removeEventListener(\"mouseup\",E),document.removeEventListener(\"touchend\",E),pB?sst(c):u&&(c.documentElement.style.cursor=u,u=null),!r._dragging){r._dragged=!1;return}if(r._dragging=!1,new Date().getTime()-r._mouseDownTime>i&&(n=Math.max(n-1,1)),r._dragged)t.doneFn&&t.doneFn();else{var A;f.target===h?A=f:(A={target:h,srcElement:h,toElement:h},Object.keys(f).concat(Object.keys(f.__proto__)).forEach(L=>{var _=f[L];!A[L]&&typeof _!=\"function\"&&(A[L]=_)})),t.clickFn&&t.clickFn(n,A),d||h.dispatchEvent(new MouseEvent(\"click\",k))}r._dragging=!1,r._dragged=!1}};function qse(){var e=document.createElement(\"div\");e.className=\"dragcover\";var t=e.style;return t.position=\"fixed\",t.left=0,t.right=0,t.top=0,t.bottom=0,t.zIndex=999999999,t.background=\"none\",document.body.appendChild(e),e}Lb.coverSlip=qse;function zse(e){return ast(e.changedTouches?e.changedTouches[0]:e,document.body)}});var Tg=ye((Rrr,Bse)=>{\"use strict\";Bse.exports=function(t,r){(t.attr(\"class\")||\"\").split(\" \").forEach(function(n){n.indexOf(\"cursor-\")===0&&t.classed(n,!1)}),r&&t.classed(\"cursor-\"+r,!0)}});var Vse=ye((Drr,Use)=>{\"use strict\";var gB=Tg(),aM=\"data-savedcursor\",Nse=\"!!\";Use.exports=function(t,r){var n=t.attr(aM);if(r){if(!n){for(var i=(t.attr(\"class\")||\"\").split(\" \"),a=0;a<i.length;a++){var o=i[a];o.indexOf(\"cursor-\")===0&&t.attr(aM,o.substr(7)).classed(o,!1)}t.attr(aM)||t.attr(aM,Nse)}gB(t,r)}else n&&(t.attr(aM,null),n===Nse?gB(t):gB(t,n))}});var yB=ye((zrr,Hse)=>{\"use strict\";var mB=Su(),ust=dh();Hse.exports={_isSubplotObj:!0,visible:{valType:\"boolean\",dflt:!0,editType:\"legend\"},bgcolor:{valType:\"color\",editType:\"legend\"},bordercolor:{valType:\"color\",dflt:ust.defaultLine,editType:\"legend\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"legend\"},font:mB({editType:\"legend\"}),grouptitlefont:mB({editType:\"legend\"}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"v\",editType:\"legend\"},traceorder:{valType:\"flaglist\",flags:[\"reversed\",\"grouped\"],extras:[\"normal\"],editType:\"legend\"},tracegroupgap:{valType:\"number\",min:0,dflt:10,editType:\"legend\"},entrywidth:{valType:\"number\",min:0,editType:\"legend\"},entrywidthmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"pixels\",editType:\"legend\"},indentation:{valType:\"number\",min:-15,dflt:0,editType:\"legend\"},itemsizing:{valType:\"enumerated\",values:[\"trace\",\"constant\"],dflt:\"trace\",editType:\"legend\"},itemwidth:{valType:\"number\",min:30,dflt:30,editType:\"legend\"},itemclick:{valType:\"enumerated\",values:[\"toggle\",\"toggleothers\",!1],dflt:\"toggle\",editType:\"legend\"},itemdoubleclick:{valType:\"enumerated\",values:[\"toggle\",\"toggleothers\",!1],dflt:\"toggleothers\",editType:\"legend\"},groupclick:{valType:\"enumerated\",values:[\"toggleitem\",\"togglegroup\"],dflt:\"togglegroup\",editType:\"legend\"},x:{valType:\"number\",editType:\"legend\"},xref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"legend\"},y:{valType:\"number\",editType:\"legend\"},yref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],editType:\"legend\"},uirevision:{valType:\"any\",editType:\"none\"},valign:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\",editType:\"legend\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"legend\"},font:mB({editType:\"legend\"}),side:{valType:\"enumerated\",values:[\"top\",\"left\",\"top left\",\"top center\",\"top right\"],editType:\"legend\"},editType:\"legend\"},editType:\"legend\"}});var LL=ye(CL=>{\"use strict\";CL.isGrouped=function(t){return(t.traceorder||\"\").indexOf(\"grouped\")!==-1};CL.isVertical=function(t){return t.orientation!==\"h\"};CL.isReversed=function(t){return(t.traceorder||\"\").indexOf(\"reversed\")!==-1}});var bB=ye((qrr,Gse)=>{\"use strict\";var _B=ba(),Kp=Mr(),cst=Vs(),fst=vl(),hst=yB(),dst=s3(),xB=LL();function vst(e,t,r,n){var i=t[e]||{},a=cst.newContainer(r,e);function o(G,N){return Kp.coerce(i,a,hst,G,N)}var s=Kp.coerceFont(o,\"font\",r.font);o(\"bgcolor\",r.paper_bgcolor),o(\"bordercolor\");var l=o(\"visible\");if(l){for(var u,c=function(G,N){var W=u._input,re=u;return Kp.coerce(W,re,fst,G,N)},f=r.font||{},h=Kp.coerceFont(o,\"grouptitlefont\",f,{overrideDflt:{size:Math.round(f.size*1.1)}}),d=0,v=!1,x=\"normal\",b=(r.shapes||[]).filter(function(G){return G.showlegend}),p=n.concat(b).filter(function(G){return e===(G.legend||\"legend\")}),E=0;E<p.length;E++)if(u=p[E],!!u.visible){var k=u._isShape;(u.showlegend||u._dfltShowLegend&&!(u._module&&u._module.attributes&&u._module.attributes.showlegend&&u._module.attributes.showlegend.dflt===!1))&&(d++,u.showlegend&&(v=!0,(!k&&_B.traceIs(u,\"pie-like\")||u._input.showlegend===!0)&&d++),Kp.coerceFont(c,\"legendgrouptitle.font\",h)),(!k&&_B.traceIs(u,\"bar\")&&r.barmode===\"stack\"||[\"tonextx\",\"tonexty\"].indexOf(u.fill)!==-1)&&(x=xB.isGrouped({traceorder:x})?\"grouped+reversed\":\"reversed\"),u.legendgroup!==void 0&&u.legendgroup!==\"\"&&(x=xB.isReversed({traceorder:x})?\"reversed+grouped\":\"grouped\")}var A=Kp.coerce(t,r,dst,\"showlegend\",v&&d>(e===\"legend\"?1:0));if(A===!1&&(r[e]=void 0),!(A===!1&&!i.uirevision)&&(o(\"uirevision\",r.uirevision),A!==!1)){o(\"borderwidth\");var L=o(\"orientation\"),_=o(\"yref\"),C=o(\"xref\"),M=L===\"h\",g=_===\"paper\",P=C===\"paper\",T,F,q,V=\"left\";M?(T=0,_B.getComponentMethod(\"rangeslider\",\"isVisible\")(t.xaxis)?g?(F=1.1,q=\"bottom\"):(F=1,q=\"top\"):g?(F=-.1,q=\"top\"):(F=0,q=\"bottom\")):(F=1,q=\"auto\",P?T=1.02:(T=1,V=\"right\")),Kp.coerce(i,a,{x:{valType:\"number\",editType:\"legend\",min:P?-2:0,max:P?3:1,dflt:T}},\"x\"),Kp.coerce(i,a,{y:{valType:\"number\",editType:\"legend\",min:g?-2:0,max:g?3:1,dflt:F}},\"y\"),o(\"traceorder\",x),xB.isGrouped(r[e])&&o(\"tracegroupgap\"),o(\"entrywidth\"),o(\"entrywidthmode\"),o(\"indentation\"),o(\"itemsizing\"),o(\"itemwidth\"),o(\"itemclick\"),o(\"itemdoubleclick\"),o(\"groupclick\"),o(\"xanchor\",V),o(\"yanchor\",q),o(\"valign\"),Kp.noneOrAll(i,a,[\"x\",\"y\"]);var H=o(\"title.text\");if(H){o(\"title.side\",M?\"left\":\"top\");var X=Kp.extendFlat({},s,{size:Kp.bigFont(s.size)});Kp.coerceFont(o,\"title.font\",X)}}}}Gse.exports=function(t,r,n){var i,a=n.slice(),o=r.shapes;if(o)for(i=0;i<o.length;i++){var s=o[i];if(s.showlegend){var l={_input:s._input,visible:s.visible,showlegend:s.showlegend,legend:s.legend};a.push(l)}}var u=[\"legend\"];for(i=0;i<a.length;i++)Kp.pushUnique(u,a[i].legend);for(r._legends=[],i=0;i<u.length;i++){var c=u[i];vst(c,t,r,a),r[c]&&r[c].visible&&(r[c]._id=c),r._legends.push(c)}}});var Wse=ye((Orr,jse)=>{\"use strict\";var D3=ba(),TB=Mr(),pst=TB.pushUnique,wB=!0;jse.exports=function(t,r,n){var i=r._fullLayout;if(r._dragged||r._editing)return;var a=i.legend.itemclick,o=i.legend.itemdoubleclick,s=i.legend.groupclick;n===1&&a===\"toggle\"&&o===\"toggleothers\"&&wB&&r.data&&r._context.showTips&&TB.notifier(TB._(r,\"Double-click on legend to isolate one trace\"),\"long\"),wB=!1;var l;if(n===1?l=a:n===2&&(l=o),!l)return;var u=s===\"togglegroup\",c=i.hiddenlabels?i.hiddenlabels.slice():[],f=t.data()[0][0];if(f.groupTitle&&f.noClick)return;var h=r._fullData,d=(i.shapes||[]).filter(function(Rt){return Rt.showlegend}),v=h.concat(d),x=f.trace;x._isShape&&(x=x._fullInput);var b=x.legendgroup,p,E,k,A,L,_,C={},M=[],g=[],P=[];function T(Rt,kt){var Ct=M.indexOf(Rt),Yt=C.visible;return Yt||(Yt=C.visible=[]),M.indexOf(Rt)===-1&&(M.push(Rt),Ct=M.length-1),Yt[Ct]=kt,Ct}var F=(i.shapes||[]).map(function(Rt){return Rt._input}),q=!1;function V(Rt,kt){F[Rt].visible=kt,q=!0}function H(Rt,kt){if(!(f.groupTitle&&!u)){var Ct=Rt._fullInput||Rt,Yt=Ct._isShape,xr=Ct.index;xr===void 0&&(xr=Ct._index);var er=Ct.visible===!1?!1:kt;Yt?V(xr,er):T(xr,er)}}var X=x.legend,G=x._fullInput,N=G&&G._isShape;if(!N&&D3.traceIs(x,\"pie-like\")){var W=f.label,re=c.indexOf(W);if(l===\"toggle\")re===-1?c.push(W):c.splice(re,1);else if(l===\"toggleothers\"){var ae=re!==-1,_e=[];for(p=0;p<r.calcdata.length;p++){var Me=r.calcdata[p];for(E=0;E<Me.length;E++){var ke=Me[E],ge=ke.label;X===Me[0].trace.legend&&W!==ge&&(c.indexOf(ge)===-1&&(ae=!0),pst(c,ge),_e.push(ge))}}if(!ae)for(var ie=0;ie<_e.length;ie++){var Te=c.indexOf(_e[ie]);Te!==-1&&c.splice(Te,1)}}D3.call(\"_guiRelayout\",r,\"hiddenlabels\",c)}else{var Ee=b&&b.length,Ae=[],ze;if(Ee)for(p=0;p<v.length;p++)ze=v[p],ze.visible&&ze.legendgroup===b&&Ae.push(p);if(l===\"toggle\"){var Ce;switch(x.visible){case!0:Ce=\"legendonly\";break;case!1:Ce=!1;break;case\"legendonly\":Ce=!0;break}if(Ee)if(u)for(p=0;p<v.length;p++){var me=v[p];me.visible!==!1&&me.legendgroup===b&&H(me,Ce)}else H(x,Ce);else H(x,Ce)}else if(l===\"toggleothers\"){var Re,ce,Ge,nt,ct,qt=!0;for(p=0;p<v.length;p++)if(ct=v[p],Re=ct===x,Ge=ct.showlegend!==!0,!(Re||Ge)&&(ce=Ee&&ct.legendgroup===b,!ce&&ct.legend===X&&ct.visible===!0&&!D3.traceIs(ct,\"notLegendIsolatable\"))){qt=!1;break}for(p=0;p<v.length;p++)if(ct=v[p],!(ct.visible===!1||ct.legend!==X)&&!D3.traceIs(ct,\"notLegendIsolatable\"))switch(x.visible){case\"legendonly\":H(ct,!0);break;case!0:nt=qt?!0:\"legendonly\",Re=ct===x,Ge=ct.showlegend!==!0&&!ct.legendgroup,ce=Re||Ee&&ct.legendgroup===b,H(ct,ce||Ge?!0:nt);break}}for(p=0;p<g.length;p++)if(k=g[p],!!k){var rt=k.constructUpdate(),ot=Object.keys(rt);for(E=0;E<ot.length;E++)A=ot[E],_=C[A]=C[A]||[],_[P[p]]=rt[A]}for(L=Object.keys(C),p=0;p<L.length;p++)for(A=L[p],E=0;E<M.length;E++)C[A].hasOwnProperty(E)||(C[A][E]=void 0);q?D3.call(\"_guiUpdate\",r,C,{shapes:F},M):D3.call(\"_guiRestyle\",r,C,M)}}});var AB=ye((Brr,Zse)=>{\"use strict\";Zse.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:\"#808BA4\",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},titlePad:2,itemGap:5}});var Kse=ye((Nrr,Yse)=>{\"use strict\";var Xse=ba(),SB=LL();Yse.exports=function(t,r,n){var i=r._inHover,a=SB.isGrouped(r),o=SB.isReversed(r),s={},l=[],u=!1,c={},f=0,h=0,d,v;function x(G,N,W){if(r.visible!==!1&&!(n&&G!==r._id))if(N===\"\"||!SB.isGrouped(r)){var re=\"~~i\"+f;l.push(re),s[re]=[W],f++}else l.indexOf(N)===-1?(l.push(N),u=!0,s[N]=[W]):s[N].push(W)}for(d=0;d<t.length;d++){var b=t[d],p=b[0],E=p.trace,k=E.legend,A=E.legendgroup;if(!(!i&&(!E.visible||!E.showlegend)))if(Xse.traceIs(E,\"pie-like\"))for(c[A]||(c[A]={}),v=0;v<b.length;v++){var L=b[v].label;c[A][L]||(x(k,A,{label:L,color:b[v].color,i:b[v].i,trace:E,pts:b[v].pts}),c[A][L]=!0,h=Math.max(h,(L||\"\").length))}else x(k,A,p),h=Math.max(h,(E.name||\"\").length)}if(!l.length)return[];var _=!u||!a,C=[];for(d=0;d<l.length;d++){var M=s[l[d]];_?C.push(M[0]):C.push(M)}for(_&&(C=[C]),d=0;d<C.length;d++){var g=1/0;for(v=0;v<C[d].length;v++){var P=C[d][v].trace.legendrank;g>P&&(g=P)}C[d][0]._groupMinRank=g,C[d][0]._preGroupSort=d}var T=function(G,N){return G[0]._groupMinRank-N[0]._groupMinRank||G[0]._preGroupSort-N[0]._preGroupSort},F=function(G,N){return G.trace.legendrank-N.trace.legendrank||G._preSort-N._preSort};for(C.forEach(function(G,N){G[0]._preGroupSort=N}),C.sort(T),d=0;d<C.length;d++){C[d].forEach(function(G,N){G._preSort=N}),C[d].sort(F);var q=C[d][0].trace,V=null;for(v=0;v<C[d].length;v++){var H=C[d][v].trace.legendgrouptitle;if(H&&H.text){V=H,i&&(H.font=r._groupTitleFont);break}}if(o&&C[d].reverse(),V){var X=!1;for(v=0;v<C[d].length;v++)if(Xse.traceIs(C[d][v].trace,\"pie-like\")){X=!0;break}C[d].unshift({i:-1,groupTitle:V,noClick:X,trace:{showlegend:q.showlegend,legendgroup:q.legendgroup,visible:r.groupclick===\"toggleitem\"?!0:q.visible}})}for(v=0;v<C[d].length;v++)C[d][v]=[C[d][v]]}return r._lgroupsLength=C.length,r._maxNameLength=h,C}});var u_=ye(Pb=>{\"use strict\";var PL=Mr();function Jse(e){return e.indexOf(\"e\")!==-1?e.replace(/[.]?0+e/,\"e\"):e.indexOf(\".\")!==-1?e.replace(/[.]?0+$/,\"\"):e}Pb.formatPiePercent=function(t,r){var n=Jse((t*100).toPrecision(3));return PL.numSeparate(n,r)+\"%\"};Pb.formatPieValue=function(t,r){var n=Jse(t.toPrecision(10));return PL.numSeparate(n,r)};Pb.getFirstFilled=function(t,r){if(PL.isArrayOrTypedArray(t))for(var n=0;n<r.length;n++){var i=t[r[n]];if(i||i===0||i===\"\")return i}};Pb.castOption=function(t,r){if(PL.isArrayOrTypedArray(t))return Pb.getFirstFilled(t,r);if(t)return t};Pb.getRotationAngle=function(e){return(e===\"auto\"?0:e)*Math.PI/180}});var Qse=ye((Vrr,$se)=>{\"use strict\";var gst=ao(),mst=va();$se.exports=function(t,r,n,i){var a=n.marker.pattern;a&&a.shape?gst.pointStyle(t,n,i,r):mst.fill(t,r.color)}});var z3=ye((Hrr,rle)=>{\"use strict\";var ele=va(),tle=u_().castOption,yst=Qse();rle.exports=function(t,r,n,i){var a=n.marker.line,o=tle(a.color,r.pts)||ele.defaultLine,s=tle(a.width,r.pts)||0;t.call(yst,r,n,i).style(\"stroke-width\",s).call(ele.stroke,o)}});var CB=ye((Grr,lle)=>{\"use strict\";var qv=xa(),MB=ba(),mv=Mr(),ile=mv.strTranslate,ip=ao(),T0=va(),EB=Dv().extractOpts,IL=lu(),_st=z3(),xst=u_().castOption,bst=AB(),nle=12,ale=5,Ib=2,wst=10,F3=5;lle.exports=function(t,r,n){var i=r._fullLayout;n||(n=i.legend);var a=n.itemsizing===\"constant\",o=n.itemwidth,s=(o+bst.itemGap*2)/2,l=ile(s,0),u=function(C,M,g,P){var T;if(C+1)T=C;else if(M&&M.width>0)T=M.width;else return 0;return a?P:Math.min(T,g)};t.each(function(C){var M=qv.select(this),g=mv.ensureSingle(M,\"g\",\"layers\");g.style(\"opacity\",C[0].trace.opacity);var P=n.indentation,T=n.valign,F=C[0].lineHeight,q=C[0].height;if(T===\"middle\"&&P===0||!F||!q)g.attr(\"transform\",null);else{var V={top:1,bottom:-1}[T],H=V*(.5*(F-q+3))||0,X=n.indentation;g.attr(\"transform\",ile(X,H))}var G=g.selectAll(\"g.legendfill\").data([C]);G.enter().append(\"g\").classed(\"legendfill\",!0);var N=g.selectAll(\"g.legendlines\").data([C]);N.enter().append(\"g\").classed(\"legendlines\",!0);var W=g.selectAll(\"g.legendsymbols\").data([C]);W.enter().append(\"g\").classed(\"legendsymbols\",!0),W.selectAll(\"g.legendpoints\").data([C]).enter().append(\"g\").classed(\"legendpoints\",!0)}).each(_).each(h).each(v).each(d).each(b).each(A).each(k).each(c).each(f).each(p).each(E);function c(C){var M=ole(C),g=M.showFill,P=M.showLine,T=M.showGradientLine,F=M.showGradientFill,q=M.anyFill,V=M.anyLine,H=C[0],X=H.trace,G,N,W=EB(X),re=W.colorscale,ae=W.reversescale,_e=function(Ae){if(Ae.size())if(g)ip.fillGroupStyle(Ae,r,!0);else{var ze=\"legendfill-\"+X.uid;ip.gradient(Ae,r,ze,kB(ae),re,\"fill\")}},Me=function(Ae){if(Ae.size()){var ze=\"legendline-\"+X.uid;ip.lineGroupStyle(Ae),ip.gradient(Ae,r,ze,kB(ae),re,\"stroke\")}},ke=IL.hasMarkers(X)||!q?\"M5,0\":V?\"M5,-2\":\"M5,-3\",ge=qv.select(this),ie=ge.select(\".legendfill\").selectAll(\"path\").data(g||F?[C]:[]);if(ie.enter().append(\"path\").classed(\"js-fill\",!0),ie.exit().remove(),ie.attr(\"d\",ke+\"h\"+o+\"v6h-\"+o+\"z\").call(_e),P||T){var Te=u(void 0,X.line,wst,ale);N=mv.minExtend(X,{line:{width:Te}}),G=[mv.minExtend(H,{trace:N})]}var Ee=ge.select(\".legendlines\").selectAll(\"path\").data(P||T?[G]:[]);Ee.enter().append(\"path\").classed(\"js-line\",!0),Ee.exit().remove(),Ee.attr(\"d\",ke+(T?\"l\"+o+\",0.0001\":\"h\"+o)).call(P?ip.lineGroupStyle:Me)}function f(C){var M=ole(C),g=M.anyFill,P=M.anyLine,T=M.showLine,F=M.showMarker,q=C[0],V=q.trace,H=!F&&!P&&!g&&IL.hasText(V),X,G;function N(ie,Te,Ee,Ae){var ze=mv.nestedProperty(V,ie).get(),Ce=mv.isArrayOrTypedArray(ze)&&Te?Te(ze):ze;if(a&&Ce&&Ae!==void 0&&(Ce=Ae),Ee){if(Ce<Ee[0])return Ee[0];if(Ce>Ee[1])return Ee[1]}return Ce}function W(ie){return q._distinct&&q.index&&ie[q.index]?ie[q.index]:ie[0]}if(F||H||T){var re={},ae={};if(F){re.mc=N(\"marker.color\",W),re.mx=N(\"marker.symbol\",W),re.mo=N(\"marker.opacity\",mv.mean,[.2,1]),re.mlc=N(\"marker.line.color\",W),re.mlw=N(\"marker.line.width\",mv.mean,[0,5],Ib),ae.marker={sizeref:1,sizemin:1,sizemode:\"diameter\"};var _e=N(\"marker.size\",mv.mean,[2,16],nle);re.ms=_e,ae.marker.size=_e}T&&(ae.line={width:N(\"line.width\",W,[0,10],ale)}),H&&(re.tx=\"Aa\",re.tp=N(\"textposition\",W),re.ts=10,re.tc=N(\"textfont.color\",W),re.tf=N(\"textfont.family\",W),re.tw=N(\"textfont.weight\",W),re.ty=N(\"textfont.style\",W),re.tv=N(\"textfont.variant\",W),re.tC=N(\"textfont.textcase\",W),re.tE=N(\"textfont.lineposition\",W),re.tS=N(\"textfont.shadow\",W)),X=[mv.minExtend(q,re)],G=mv.minExtend(V,ae),G.selectedpoints=null,G.texttemplate=null}var Me=qv.select(this).select(\"g.legendpoints\"),ke=Me.selectAll(\"path.scatterpts\").data(F?X:[]);ke.enter().insert(\"path\",\":first-child\").classed(\"scatterpts\",!0).attr(\"transform\",l),ke.exit().remove(),ke.call(ip.pointStyle,G,r),F&&(X[0].mrc=3);var ge=Me.selectAll(\"g.pointtext\").data(H?X:[]);ge.enter().append(\"g\").classed(\"pointtext\",!0).append(\"text\").attr(\"transform\",l),ge.exit().remove(),ge.selectAll(\"text\").call(ip.textPointStyle,G,r)}function h(C){var M=C[0].trace,g=M.type===\"waterfall\";if(C[0]._distinct&&g){var P=C[0].trace[C[0].dir].marker;return C[0].mc=P.color,C[0].mlw=P.line.width,C[0].mlc=P.line.color,x(C,this,\"waterfall\")}var T=[];M.visible&&g&&(T=C[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 F=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendwaterfall\").data(T);F.enter().append(\"path\").classed(\"legendwaterfall\",!0).attr(\"transform\",l).style(\"stroke-miterlimit\",1),F.exit().remove(),F.each(function(q){var V=qv.select(this),H=M[q[0]].marker,X=u(void 0,H.line,F3,Ib);V.attr(\"d\",q[1]).style(\"stroke-width\",X+\"px\").call(T0.fill,H.color),X&&V.call(T0.stroke,H.line.color)})}function d(C){x(C,this)}function v(C){x(C,this,\"funnel\")}function x(C,M,g){var P=C[0].trace,T=P.marker||{},F=T.line||{},q=T.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\",V=g?P.visible&&P.type===g:MB.traceIs(P,\"bar\"),H=qv.select(M).select(\"g.legendpoints\").selectAll(\"path.legend\"+g).data(V?[C]:[]);H.enter().append(\"path\").classed(\"legend\"+g,!0).attr(\"d\",q).attr(\"transform\",l),H.exit().remove(),H.each(function(X){var G=qv.select(this),N=X[0],W=u(N.mlw,T.line,F3,Ib);G.style(\"stroke-width\",W+\"px\");var re=N.mcc;if(!n._inHover&&\"mc\"in N){var ae=EB(T),_e=ae.mid;_e===void 0&&(_e=(ae.max+ae.min)/2),re=ip.tryColorscale(T,\"\")(_e)}var Me=re||N.mc||T.color,ke=T.pattern,ge=ke&&ip.getPatternAttr(ke.shape,0,\"\");if(ge){var ie=ip.getPatternAttr(ke.bgcolor,0,null),Te=ip.getPatternAttr(ke.fgcolor,0,null),Ee=ke.fgopacity,Ae=sle(ke.size,8,10),ze=sle(ke.solidity,.5,1),Ce=\"legend-\"+P.uid;G.call(ip.pattern,\"legend\",r,Ce,ge,Ae,ze,re,ke.fillmode,ie,Te,Ee)}else G.call(T0.fill,Me);W&&T0.stroke(G,N.mlc||F.color)})}function b(C){var M=C[0].trace,g=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbox\").data(M.visible&&MB.traceIs(M,\"box-violin\")?[C]:[]);g.enter().append(\"path\").classed(\"legendbox\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",l),g.exit().remove(),g.each(function(){var P=qv.select(this);if((M.boxpoints===\"all\"||M.points===\"all\")&&T0.opacity(M.fillcolor)===0&&T0.opacity((M.line||{}).color)===0){var T=mv.minExtend(M,{marker:{size:a?nle:mv.constrain(M.marker.size,2,16),sizeref:1,sizemin:1,sizemode:\"diameter\"}});g.call(ip.pointStyle,T,r)}else{var F=u(void 0,M.line,F3,Ib);P.style(\"stroke-width\",F+\"px\").call(T0.fill,M.fillcolor),F&&T0.stroke(P,M.line.color)}})}function p(C){var M=C[0].trace,g=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendcandle\").data(M.visible&&M.type===\"candlestick\"?[C,C]:[]);g.enter().append(\"path\").classed(\"legendcandle\",!0).attr(\"d\",function(P,T){return T?\"M-15,0H-8M-8,6V-6H8Z\":\"M15,0H8M8,-6V6H-8Z\"}).attr(\"transform\",l).style(\"stroke-miterlimit\",1),g.exit().remove(),g.each(function(P,T){var F=qv.select(this),q=M[T?\"increasing\":\"decreasing\"],V=u(void 0,q.line,F3,Ib);F.style(\"stroke-width\",V+\"px\").call(T0.fill,q.fillcolor),V&&T0.stroke(F,q.line.color)})}function E(C){var M=C[0].trace,g=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendohlc\").data(M.visible&&M.type===\"ohlc\"?[C,C]:[]);g.enter().append(\"path\").classed(\"legendohlc\",!0).attr(\"d\",function(P,T){return T?\"M-15,0H0M-8,-6V0\":\"M15,0H0M8,6V0\"}).attr(\"transform\",l).style(\"stroke-miterlimit\",1),g.exit().remove(),g.each(function(P,T){var F=qv.select(this),q=M[T?\"increasing\":\"decreasing\"],V=u(void 0,q.line,F3,Ib);F.style(\"fill\",\"none\").call(ip.dashLine,q.line.dash,V),V&&T0.stroke(F,q.line.color)})}function k(C){L(C,this,\"pie\")}function A(C){L(C,this,\"funnelarea\")}function L(C,M,g){var P=C[0],T=P.trace,F=g?T.visible&&T.type===g:MB.traceIs(T,g),q=qv.select(M).select(\"g.legendpoints\").selectAll(\"path.legend\"+g).data(F?[C]:[]);if(q.enter().append(\"path\").classed(\"legend\"+g,!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",l),q.exit().remove(),q.size()){var V=T.marker||{},H=u(xst(V.line.width,P.pts),V.line,F3,Ib),X=\"pieLike\",G=mv.minExtend(T,{marker:{line:{width:H}}},X),N=mv.minExtend(P,{trace:G},X);_st(q,N,G,r)}}function _(C){var M=C[0].trace,g,P=[];if(M.visible)switch(M.type){case\"histogram2d\":case\"heatmap\":P=[[\"M-15,-2V4H15V-2Z\"]],g=!0;break;case\"choropleth\":case\"choroplethmapbox\":case\"choroplethmap\":P=[[\"M-6,-6V6H6V-6Z\"]],g=!0;break;case\"densitymapbox\":case\"densitymap\":P=[[\"M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0\"]],g=\"radial\";break;case\"cone\":P=[[\"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\"]],g=!1;break;case\"streamtube\":P=[[\"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\"]],g=!1;break;case\"surface\":P=[[\"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\"]],g=!0;break;case\"mesh3d\":P=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],g=!1;break;case\"volume\":P=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],g=!0;break;case\"isosurface\":P=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6 A12,24 0 0,0 6,-6 L0,6Z\"]],g=!1;break}var T=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legend3dandfriends\").data(P);T.enter().append(\"path\").classed(\"legend3dandfriends\",!0).attr(\"transform\",l).style(\"stroke-miterlimit\",1),T.exit().remove(),T.each(function(F,q){var V=qv.select(this),H=EB(M),X=H.colorscale,G=H.reversescale,N=function(_e){if(_e.size()){var Me=\"legendfill-\"+M.uid;ip.gradient(_e,r,Me,kB(G,g===\"radial\"),X,\"fill\")}},W;if(X){if(!g){var ae=X.length;W=q===0?X[G?ae-1:0][1]:q===1?X[G?0:ae-1][1]:X[Math.floor((ae-1)/2)][1]}}else{var re=M.vertexcolor||M.facecolor||M.color;W=mv.isArrayOrTypedArray(re)?re[q]||re[0]:re}V.attr(\"d\",F[0]),W?V.call(T0.fill,W):V.call(N)})}};function kB(e,t){var r=t?\"radial\":\"horizontal\";return r+(e?\"\":\"reversed\")}function ole(e){var t=e[0].trace,r=t.contours,n=IL.hasLines(t),i=IL.hasMarkers(t),a=t.visible&&t.fill&&t.fill!==\"none\",o=!1,s=!1;if(r){var l=r.coloring;l===\"lines\"?o=!0:n=l===\"none\"||l===\"heatmap\"||r.showlines,r.type===\"constraint\"?a=r._operation!==\"=\":(l===\"fill\"||l===\"heatmap\")&&(s=!0)}return{showMarker:i,showLine:n,showFill:a,showGradientLine:o,showGradientFill:s,anyLine:n||o,anyFill:a||s}}function sle(e,t,r){return e&&mv.isArrayOrTypedArray(e)?t:e>r?r:e}});var RB=ye((jrr,yle)=>{\"use strict\";var Sp=xa(),gh=Mr(),PB=Xu(),B3=ba(),ule=g3(),LB=gv(),mh=ao(),DL=va(),Rb=Pl(),cle=Wse(),Vh=AB(),IB=Nh(),gle=IB.LINE_SPACING,O3=IB.FROM_TL,fle=IB.FROM_BR,hle=Kse(),Tst=CB(),dle=LL(),q3=1,Ast=/^legend[0-9]*$/;yle.exports=function(t,r){if(r)vle(t,r);else{var n=t._fullLayout,i=n._legends,a=n._infolayer.selectAll('[class^=\"legend\"]');a.each(function(){var u=Sp.select(this),c=u.attr(\"class\"),f=c.split(\" \")[0];f.match(Ast)&&i.indexOf(f)===-1&&u.remove()});for(var o=0;o<i.length;o++){var s=i[o],l=t._fullLayout[s];vle(t,l)}}};function Sst(e,t,r){if(!(t.title.side!==\"top center\"&&t.title.side!==\"top right\")){var n=t.title.font,i=n.size*gle,a=0,o=e.node(),s=mh.bBox(o).width;t.title.side===\"top center\"?a=.5*(t._width-2*r-2*Vh.titlePad-s):t.title.side===\"top right\"&&(a=t._width-2*r-2*Vh.titlePad-s),Rb.positionText(e,r+Vh.titlePad+a,r+i)}}function vle(e,t){var r=t||{},n=e._fullLayout,i=OL(r),a,o,s=r._inHover;if(s?(o=r.layer,a=\"hover\"):(o=n._infolayer,a=i),!!o){a+=n._uid,e._legendMouseDownTime||(e._legendMouseDownTime=0);var l;if(s){if(!r.entries)return;l=hle(r.entries,r)}else{for(var u=(e.calcdata||[]).slice(),c=n.shapes,f=0;f<c.length;f++){var h=c[f];if(h.showlegend){var d={_isShape:!0,_fullInput:h,index:h._index,name:h.name||h.label.text||\"shape \"+h._index,legend:h.legend,legendgroup:h.legendgroup,legendgrouptitle:h.legendgrouptitle,legendrank:h.legendrank,legendwidth:h.legendwidth,showlegend:h.showlegend,visible:h.visible,opacity:h.opacity,mode:h.type===\"line\"?\"lines\":\"markers\",line:h.line,marker:{line:h.line,color:h.fillcolor,size:12,symbol:h.type===\"rect\"?\"square\":h.type===\"circle\"?\"circle\":\"hexagon2\"}};u.push([{trace:d}])}}l=n.showlegend&&hle(u,r,n._legends.length>1)}var v=n.hiddenlabels||[];if(!s&&(!n.showlegend||!l.length))return o.selectAll(\".\"+i).remove(),n._topdefs.select(\"#\"+a).remove(),PB.autoMargin(e,i);var x=gh.ensureSingle(o,\"g\",i,function(M){s||M.attr(\"pointer-events\",\"all\")}),b=gh.ensureSingleById(n._topdefs,\"clipPath\",a,function(M){M.append(\"rect\")}),p=gh.ensureSingle(x,\"rect\",\"bg\",function(M){M.attr(\"shape-rendering\",\"crispEdges\")});p.call(DL.stroke,r.bordercolor).call(DL.fill,r.bgcolor).style(\"stroke-width\",r.borderwidth+\"px\");var E=gh.ensureSingle(x,\"g\",\"scrollbox\"),k=r.title;r._titleWidth=0,r._titleHeight=0;var A;k.text?(A=gh.ensureSingle(E,\"text\",i+\"titletext\"),A.attr(\"text-anchor\",\"start\").call(mh.font,k.font).text(k.text),zL(A,E,e,r,q3)):E.selectAll(\".\"+i+\"titletext\").remove();var L=gh.ensureSingle(x,\"rect\",\"scrollbar\",function(M){M.attr(Vh.scrollBarEnterAttrs).call(DL.fill,Vh.scrollBarColor)}),_=E.selectAll(\"g.groups\").data(l);_.enter().append(\"g\").attr(\"class\",\"groups\"),_.exit().remove();var C=_.selectAll(\"g.traces\").data(gh.identity);C.enter().append(\"g\").attr(\"class\",\"traces\"),C.exit().remove(),C.style(\"opacity\",function(M){var g=M[0].trace;return B3.traceIs(g,\"pie-like\")?v.indexOf(M[0].label)!==-1?.5:1:g.visible===\"legendonly\"?.5:1}).each(function(){Sp.select(this).call(Mst,e,r)}).call(Tst,e,r).each(function(){s||Sp.select(this).call(Est,e,i)}),gh.syncOrAsync([PB.previousPromises,function(){return Lst(e,_,C,r)},function(){var M=n._size,g=r.borderwidth,P=r.xref===\"paper\",T=r.yref===\"paper\";if(k.text&&Sst(A,r,g),!s){var F,q;P?F=M.l+M.w*r.x-O3[FL(r)]*r._width:F=n.width*r.x-O3[FL(r)]*r._width,T?q=M.t+M.h*(1-r.y)-O3[qL(r)]*r._effHeight:q=n.height*(1-r.y)-O3[qL(r)]*r._effHeight;var V=Pst(e,i,F,q);if(V)return;if(n.margin.autoexpand){var H=F,X=q;F=P?gh.constrain(F,0,n.width-r._width):H,q=T?gh.constrain(q,0,n.height-r._effHeight):X,F!==H&&gh.log(\"Constrain \"+i+\".x to make legend fit inside graph\"),q!==X&&gh.log(\"Constrain \"+i+\".y to make legend fit inside graph\")}mh.setTranslate(x,F,q)}if(L.on(\".drag\",null),x.on(\"wheel\",null),s||r._height<=r._maxHeight||e._context.staticPlot){var G=r._effHeight;s&&(G=r._height),p.attr({width:r._width-g,height:G-g,x:g/2,y:g/2}),mh.setTranslate(E,0,0),b.select(\"rect\").attr({width:r._width-2*g,height:G-2*g,x:g,y:g}),mh.setClipUrl(E,a,e),mh.setRect(L,0,0,0,0),delete r._scrollY}else{var N=Math.max(Vh.scrollBarMinHeight,r._effHeight*r._effHeight/r._height),W=r._effHeight-N-2*Vh.scrollBarMargin,re=r._height-r._effHeight,ae=W/re,_e=Math.min(r._scrollY||0,re);p.attr({width:r._width-2*g+Vh.scrollBarWidth+Vh.scrollBarMargin,height:r._effHeight-g,x:g/2,y:g/2}),b.select(\"rect\").attr({width:r._width-2*g+Vh.scrollBarWidth+Vh.scrollBarMargin,height:r._effHeight-2*g,x:g,y:g+_e}),mh.setClipUrl(E,a,e),ze(_e,N,ae),x.on(\"wheel\",function(){_e=gh.constrain(r._scrollY+Sp.event.deltaY/W*re,0,re),ze(_e,N,ae),_e!==0&&_e!==re&&Sp.event.preventDefault()});var Me,ke,ge,ie=function(Ge,nt,ct){var qt=(ct-nt)/ae+Ge;return gh.constrain(qt,0,re)},Te=function(Ge,nt,ct){var qt=(nt-ct)/ae+Ge;return gh.constrain(qt,0,re)},Ee=Sp.behavior.drag().on(\"dragstart\",function(){var Ge=Sp.event.sourceEvent;Ge.type===\"touchstart\"?Me=Ge.changedTouches[0].clientY:Me=Ge.clientY,ge=_e}).on(\"drag\",function(){var Ge=Sp.event.sourceEvent;Ge.buttons===2||Ge.ctrlKey||(Ge.type===\"touchmove\"?ke=Ge.changedTouches[0].clientY:ke=Ge.clientY,_e=ie(ge,Me,ke),ze(_e,N,ae))});L.call(Ee);var Ae=Sp.behavior.drag().on(\"dragstart\",function(){var Ge=Sp.event.sourceEvent;Ge.type===\"touchstart\"&&(Me=Ge.changedTouches[0].clientY,ge=_e)}).on(\"drag\",function(){var Ge=Sp.event.sourceEvent;Ge.type===\"touchmove\"&&(ke=Ge.changedTouches[0].clientY,_e=Te(ge,Me,ke),ze(_e,N,ae))});E.call(Ae)}function ze(Ge,nt,ct){r._scrollY=e._fullLayout[i]._scrollY=Ge,mh.setTranslate(E,0,-Ge),mh.setRect(L,r._width,Vh.scrollBarMargin+Ge*ct,Vh.scrollBarWidth,nt),b.select(\"rect\").attr(\"y\",g+Ge)}if(e._context.edits.legendPosition){var Ce,me,Re,ce;x.classed(\"cursor-move\",!0),LB.init({element:x.node(),gd:e,prepFn:function(Ge){if(Ge.target!==L.node()){var nt=mh.getTranslate(x);Re=nt.x,ce=nt.y}},moveFn:function(Ge,nt){if(Re!==void 0&&ce!==void 0){var ct=Re+Ge,qt=ce+nt;mh.setTranslate(x,ct,qt),Ce=LB.align(ct,r._width,M.l,M.l+M.w,r.xanchor),me=LB.align(qt+r._height,-r._height,M.t+M.h,M.t,r.yanchor)}},doneFn:function(){if(Ce!==void 0&&me!==void 0){var Ge={};Ge[i+\".x\"]=Ce,Ge[i+\".y\"]=me,B3.call(\"_guiRelayout\",e,Ge)}},clickFn:function(Ge,nt){var ct=o.selectAll(\"g.traces\").filter(function(){var qt=this.getBoundingClientRect();return nt.clientX>=qt.left&&nt.clientX<=qt.right&&nt.clientY>=qt.top&&nt.clientY<=qt.bottom});ct.size()>0&&mle(e,x,ct,Ge,nt)}})}}],e)}}function RL(e,t,r){var n=e[0],i=n.width,a=t.entrywidthmode,o=n.trace.legendwidth||t.entrywidth;return a===\"fraction\"?t._maxWidth*o:r+(o||i)}function mle(e,t,r,n,i){var a=r.data()[0][0].trace,o={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a.index,data:e.data,layout:e.layout,frames:e._transitionData._frames,config:e._context,fullData:e._fullData,fullLayout:e._fullLayout};a._group&&(o.group=a._group),B3.traceIs(a,\"pie-like\")&&(o.label=r.datum()[0].label);var s=ule.triggerHandler(e,\"plotly_legendclick\",o);if(n===1){if(s===!1)return;t._clickTimeout=setTimeout(function(){e._fullLayout&&cle(r,e,n)},e._context.doubleClickDelay)}else if(n===2){t._clickTimeout&&clearTimeout(t._clickTimeout),e._legendMouseDownTime=0;var l=ule.triggerHandler(e,\"plotly_legenddoubleclick\",o);l!==!1&&s!==!1&&cle(r,e,n)}}function Mst(e,t,r){var n=OL(r),i=e.data()[0][0],a=i.trace,o=B3.traceIs(a,\"pie-like\"),s=!r._inHover&&t._context.edits.legendText&&!o,l=r._maxNameLength,u,c;i.groupTitle?(u=i.groupTitle.text,c=i.groupTitle.font):(c=r.font,r.entries?u=i.text:(u=o?i.label:a.name,a._meta&&(u=gh.templateString(u,a._meta))));var f=gh.ensureSingle(e,\"text\",n+\"text\");f.attr(\"text-anchor\",\"start\").call(mh.font,c).text(s?ple(u,l):u);var h=r.indentation+r.itemwidth+Vh.itemGap*2;Rb.positionText(f,h,0),s?f.call(Rb.makeEditable,{gd:t,text:u}).call(zL,e,t,r).on(\"edit\",function(d){this.text(ple(d,l)).call(zL,e,t,r);var v=i.trace._fullInput||{},x={};return x.name=d,v._isShape?B3.call(\"_guiRelayout\",t,\"shapes[\"+a.index+\"].name\",x.name):B3.call(\"_guiRestyle\",t,x,a.index)}):zL(f,e,t,r)}function ple(e,t){var r=Math.max(4,t);if(e&&e.trim().length>=r/2)return e;e=e||\"\";for(var n=r-e.length;n>0;n--)e+=\" \";return e}function Est(e,t,r){var n=t._context.doubleClickDelay,i,a=1,o=gh.ensureSingle(e,\"rect\",r+\"toggle\",function(s){t._context.staticPlot||s.style(\"cursor\",\"pointer\").attr(\"pointer-events\",\"all\"),s.call(DL.fill,\"rgba(0,0,0,0)\")});t._context.staticPlot||(o.on(\"mousedown\",function(){i=new Date().getTime(),i-t._legendMouseDownTime<n?a+=1:(a=1,t._legendMouseDownTime=i)}),o.on(\"mouseup\",function(){if(!(t._dragged||t._editing)){var s=t._fullLayout[r];new Date().getTime()-t._legendMouseDownTime>n&&(a=Math.max(a-1,1)),mle(t,s,e,a,Sp.event)}}))}function zL(e,t,r,n,i){n._inHover&&e.attr(\"data-notex\",!0),Rb.convertToTspans(e,r,function(){kst(t,r,n,i)})}function kst(e,t,r,n){var i=e.data()[0][0];if(!r._inHover&&i&&!i.trace.showlegend){e.remove();return}var a=e.select(\"g[class*=math-group]\"),o=a.node(),s=OL(r);r||(r=t._fullLayout[s]);var l=r.borderwidth,u;n===q3?u=r.title.font:i.groupTitle?u=i.groupTitle.font:u=r.font;var c=u.size*gle,f,h;if(o){var d=mh.bBox(o);f=d.height,h=d.width,n===q3?mh.setTranslate(a,l,l+f*.75):mh.setTranslate(a,0,f*.25)}else{var v=\".\"+s+(n===q3?\"title\":\"\")+\"text\",x=e.select(v),b=Rb.lineCount(x),p=x.node();if(f=c*b,h=p?mh.bBox(p).width:0,n===q3)r.title.side===\"left\"&&(h+=Vh.itemGap*2),Rb.positionText(x,l+Vh.titlePad,l+c);else{var E=Vh.itemGap*2+r.indentation+r.itemwidth;i.groupTitle&&(E=Vh.itemGap,h-=r.indentation+r.itemwidth),Rb.positionText(x,E,-c*((b-1)/2-.3))}}n===q3?(r._titleWidth=h,r._titleHeight=f):(i.lineHeight=c,i.height=Math.max(f,16)+3,i.width=h)}function Cst(e){var t=0,r=0,n=e.title.side;return n&&(n.indexOf(\"left\")!==-1&&(t=e._titleWidth),n.indexOf(\"top\")!==-1&&(r=e._titleHeight)),[t,r]}function Lst(e,t,r,n){var i=e._fullLayout,a=OL(n);n||(n=i[a]);var o=i._size,s=dle.isVertical(n),l=dle.isGrouped(n),u=n.entrywidthmode===\"fraction\",c=n.borderwidth,f=2*c,h=Vh.itemGap,d=n.indentation+n.itemwidth+h*2,v=2*(c+h),x=qL(n),b=n.y<0||n.y===0&&x===\"top\",p=n.y>1||n.y===1&&x===\"bottom\",E=n.tracegroupgap,k={};n._maxHeight=Math.max(b||p?i.height/2:o.h,30);var A=0;n._width=0,n._height=0;var L=Cst(n);if(s)r.each(function(ge){var ie=ge[0].height;mh.setTranslate(this,c+L[0],c+L[1]+n._height+ie/2+h),n._height+=ie,n._width=Math.max(n._width,ge[0].width)}),A=d+n._width,n._width+=h+d+f,n._height+=v,l&&(t.each(function(ge,ie){mh.setTranslate(this,0,ie*n.tracegroupgap)}),n._height+=(n._lgroupsLength-1)*n.tracegroupgap);else{var _=FL(n),C=n.x<0||n.x===0&&_===\"right\",M=n.x>1||n.x===1&&_===\"left\",g=p||b,P=i.width/2;n._maxWidth=Math.max(C?g&&_===\"left\"?o.l+o.w:P:M?g&&_===\"right\"?o.r+o.w:P:o.w,2*d);var T=0,F=0;r.each(function(ge){var ie=RL(ge,n,d);T=Math.max(T,ie),F+=ie}),A=null;var q=0;if(l){var V=0,H=0,X=0;t.each(function(){var ge=0,ie=0;Sp.select(this).selectAll(\"g.traces\").each(function(Ee){var Ae=RL(Ee,n,d),ze=Ee[0].height;mh.setTranslate(this,L[0],L[1]+c+h+ze/2+ie),ie+=ze,ge=Math.max(ge,Ae),k[Ee[0].trace.legendgroup]=ge});var Te=ge+h;H>0&&Te+c+H>n._maxWidth?(q=Math.max(q,H),H=0,X+=V+E,V=ie):V=Math.max(V,ie),mh.setTranslate(this,H,X),H+=Te}),n._width=Math.max(q,H)+c,n._height=X+V+v}else{var G=r.size(),N=F+f+(G-1)*h<n._maxWidth,W=0,re=0,ae=0,_e=0;r.each(function(ge){var ie=ge[0].height,Te=RL(ge,n,d,l),Ee=N?Te:T;u||(Ee+=h),Ee+c+re-h>=n._maxWidth&&(q=Math.max(q,_e),re=0,ae+=W,n._height+=W,W=0),mh.setTranslate(this,L[0]+c+re,L[1]+c+ae+ie/2+h),_e=re+Te+h,re+=Ee,W=Math.max(W,ie)}),N?(n._width=re+f,n._height=W+v):(n._width=Math.max(q,_e)+f,n._height+=W+v)}}n._width=Math.ceil(Math.max(n._width+L[0],n._titleWidth+2*(c+Vh.titlePad))),n._height=Math.ceil(Math.max(n._height+L[1],n._titleHeight+2*(c+Vh.itemGap))),n._effHeight=Math.min(n._height,n._maxHeight);var Me=e._context.edits,ke=Me.legendText||Me.legendPosition;r.each(function(ge){var ie=Sp.select(this).select(\".\"+a+\"toggle\"),Te=ge[0].height,Ee=ge[0].trace.legendgroup,Ae=RL(ge,n,d);l&&Ee!==\"\"&&(Ae=k[Ee]);var ze=ke?d:A||Ae;!s&&!u&&(ze+=h/2),mh.setRect(ie,0,-Te/2,ze,Te)})}function Pst(e,t,r,n){var i=e._fullLayout,a=i[t],o=FL(a),s=qL(a),l=a.xref===\"paper\",u=a.yref===\"paper\";e._fullLayout._reservedMargin[t]={};var c=a.y<.5?\"b\":\"t\",f=a.x<.5?\"l\":\"r\",h={r:i.width-r,l:r+a._width,b:i.height-n,t:n+a._effHeight};if(l&&u)return PB.autoMargin(e,t,{x:a.x,y:a.y,l:a._width*O3[o],r:a._width*fle[o],b:a._effHeight*fle[s],t:a._effHeight*O3[s]});l?e._fullLayout._reservedMargin[t][c]=h[c]:u||a.orientation===\"v\"?e._fullLayout._reservedMargin[t][f]=h[f]:e._fullLayout._reservedMargin[t][c]=h[c]}function FL(e){return gh.isRightAnchor(e)?\"right\":gh.isCenterAnchor(e)?\"center\":\"left\"}function qL(e){return gh.isBottomAnchor(e)?\"bottom\":gh.isMiddleAnchor(e)?\"middle\":\"top\"}function OL(e){return e._id||\"legend\"}});var qB=ye(FB=>{\"use strict\";var Db=xa(),Sy=uo(),_le=id(),Rf=Mr(),Ist=Rf.pushUnique,DB=Rf.strTranslate,Rst=Rf.strRotate,Dst=g3(),A0=Pl(),zst=Vse(),bm=ao(),sd=va(),BL=gv(),wm=Qa(),Fst=ad().zindexSeparator,U3=ba(),Ag=rp(),zb=IS(),qst=bB(),Ost=RB(),Ele=zb.YANGLE,zB=Math.PI*Ele/180,Bst=1/Math.sin(zB),Nst=Math.cos(zB),Ust=Math.sin(zB),Bc=zb.HOVERARROWSIZE,Us=zb.HOVERTEXTPAD,xle={box:!0,ohlc:!0,violin:!0,candlestick:!0},Vst={scatter:!0,scattergl:!0,splom:!0};function ble(e,t){return e.distance-t.distance}FB.hover=function(t,r,n,i){t=Rf.getGraphDiv(t);var a=r.target;Rf.throttle(t._fullLayout._uid+zb.HOVERID,zb.HOVERMINTIME,function(){Hst(t,r,n,i,a)})};FB.loneHover=function(t,r){var n=!0;Array.isArray(t)||(n=!1,t=[t]);var i=r.gd,a=Ile(i),o=Rle(i),s=t.map(function(b){var p=b._x0||b.x0||b.x||0,E=b._x1||b.x1||b.x||0,k=b._y0||b.y0||b.y||0,A=b._y1||b.y1||b.y||0,L=b.eventData;if(L){var _=Math.min(p,E),C=Math.max(p,E),M=Math.min(k,A),g=Math.max(k,A),P=b.trace;if(U3.traceIs(P,\"gl3d\")){var T=i._fullLayout[P.scene]._scene.container,F=T.offsetLeft,q=T.offsetTop;_+=F,C+=F,M+=q,g+=q}L.bbox={x0:_+o,x1:C+o,y0:M+a,y1:g+a},r.inOut_bbox&&r.inOut_bbox.push(L.bbox)}else L=!1;return{color:b.color||sd.defaultLine,x0:b.x0||b.x||0,x1:b.x1||b.x||0,y0:b.y0||b.y||0,y1:b.y1||b.y||0,xLabel:b.xLabel,yLabel:b.yLabel,zLabel:b.zLabel,text:b.text,name:b.name,idealAlign:b.idealAlign,borderColor:b.borderColor,fontFamily:b.fontFamily,fontSize:b.fontSize,fontColor:b.fontColor,fontWeight:b.fontWeight,fontStyle:b.fontStyle,fontVariant:b.fontVariant,nameLength:b.nameLength,textAlign:b.textAlign,trace:b.trace||{index:0,hoverinfo:\"\"},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:b.hovertemplate||!1,hovertemplateLabels:b.hovertemplateLabels||!1,eventData:L}}),l=!1,u=Cle(s,{gd:i,hovermode:\"closest\",rotateLabels:l,bgColor:r.bgColor||sd.background,container:Db.select(r.container),outerContainer:r.outerContainer||r.container}),c=u.hoverLabels,f=5,h=0,d=0;c.sort(function(b,p){return b.y0-p.y0}).each(function(b,p){var E=b.y0-b.by/2;E-f<h?b.offset=h-E+f:b.offset=0,h=E+b.by+b.offset,p===r.anchorIndex&&(d=b.offset)}).each(function(b){b.offset-=d});var v=i._fullLayout._invScaleX,x=i._fullLayout._invScaleY;return Ple(c,l,v,x),n?c:c.node()};function Hst(e,t,r,n,i){r||(r=\"xy\"),typeof r==\"string\"&&(r=r.split(Fst)[0]);var a=Array.isArray(r)?r:[r],o,s=e._fullLayout,l=s.hoversubplots,u=s._plots||[],c=u[r],f=s._has(\"cartesian\"),h=t.hovermode||s.hovermode,d=(h||\"\").charAt(0)===\"x\",v=(h||\"\").charAt(0)===\"y\",x,b;if(f&&(d||v)&&l===\"axis\"){for(var p=a.length,E=0;E<p;E++)if(o=a[E],u[o]){x=wm.getFromId(e,o,\"x\"),b=wm.getFromId(e,o,\"y\");var k=(d?x:b)._subplotsWith;if(k&&k.length)for(var A=0;A<k.length;A++)Ist(a,k[A])}}if(c&&l!==\"single\"){var L=c.overlays.map(function(Ni){return Ni.id});a=a.concat(L)}for(var _=a.length,C=new Array(_),M=new Array(_),g=!1,P=0;P<_;P++)if(o=a[P],u[o])g=!0,C[P]=u[o].xaxis,M[P]=u[o].yaxis;else if(s[o]&&s[o]._subplot){var T=s[o]._subplot;C[P]=T.xaxis,M[P]=T.yaxis}else{Rf.warn(\"Unrecognized subplot: \"+o);return}if(h&&!g&&(h=\"closest\"),[\"x\",\"y\",\"closest\",\"x unified\",\"y unified\"].indexOf(h)===-1||!e.calcdata||e.querySelector(\".zoombox\")||e._dragging)return BL.unhoverRaw(e,t);var F=s.hoverdistance;F===-1&&(F=1/0);var q=s.spikedistance;q===-1&&(q=1/0);var V=[],H=[],X,G,N,W,re,ae,_e,Me,ke,ge,ie,Te,Ee,Ae={hLinePoint:null,vLinePoint:null},ze=!1;if(Array.isArray(t))for(h=\"array\",N=0;N<t.length;N++)re=e.calcdata[t[N].curveNumber||0],re&&(ae=re[0].trace,re[0].trace.hoverinfo!==\"skip\"&&(H.push(re),ae.orientation===\"h\"&&(ze=!0)));else{var Ce=e.calcdata.slice();for(Ce.sort(function(Ni,_n){var $i=Ni[0].trace.zorder||0,zn=_n[0].trace.zorder||0;return $i-zn}),W=0;W<Ce.length;W++)re=Ce[W],ae=re[0].trace,ae.hoverinfo!==\"skip\"&&Ag.isTraceInSubplots(ae,a)&&(H.push(re),ae.orientation===\"h\"&&(ze=!0));var me=!i,Re,ce;if(me)\"xpx\"in t?Re=t.xpx:Re=C[0]._length/2,\"ypx\"in t?ce=t.ypx:ce=M[0]._length/2;else{if(Dst.triggerHandler(e,\"plotly_beforehover\",t)===!1)return;var Ge=i.getBoundingClientRect();Re=t.clientX-Ge.left,ce=t.clientY-Ge.top,s._calcInverseTransform(e);var nt=Rf.apply3DTransform(s._invTransform)(Re,ce);if(Re=nt[0],ce=nt[1],Re<0||Re>C[0]._length||ce<0||ce>M[0]._length)return BL.unhoverRaw(e,t)}if(t.pointerX=Re+C[0]._offset,t.pointerY=ce+M[0]._offset,\"xval\"in t?X=Ag.flat(a,t.xval):X=Ag.p2c(C,Re),\"yval\"in t?G=Ag.flat(a,t.yval):G=Ag.p2c(M,ce),!Sy(X[0])||!Sy(G[0]))return Rf.warn(\"Fx.hover failed\",t,e),BL.unhoverRaw(e,t)}var ct=1/0;function qt(Ni,_n){for(W=0;W<H.length;W++)if(re=H[W],!(!re||!re[0]||!re[0].trace)&&(ae=re[0].trace,!(ae.visible!==!0||ae._length===0)&&[\"carpet\",\"contourcarpet\"].indexOf(ae._module.name)===-1)){if(ke=h,Ag.isUnifiedHover(ke)&&(ke=ke.charAt(0)),ae.type===\"splom\"?(Me=0,_e=a[Me]):(_e=Ag.getSubplot(ae),Me=a.indexOf(_e)),Te={cd:re,trace:ae,xa:C[Me],ya:M[Me],maxHoverDistance:F,maxSpikeDistance:q,index:!1,distance:Math.min(ct,F),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:sd.defaultLine,name:ae.name,x0:void 0,x1:void 0,y0:void 0,y1:void 0,xLabelVal:void 0,yLabelVal:void 0,zLabelVal:void 0,text:void 0},s[_e]&&(Te.subplot=s[_e]._subplot),s._splomScenes&&s._splomScenes[ae.uid]&&(Te.scene=s._splomScenes[ae.uid]),ke===\"array\"){var $i=t[W];\"pointNumber\"in $i?(Te.index=$i.pointNumber,ke=\"closest\"):(ke=\"\",\"xval\"in $i&&(ge=$i.xval,ke=\"x\"),\"yval\"in $i&&(ie=$i.yval,ke=ke?\"closest\":\"y\"))}else Ni!==void 0&&_n!==void 0?(ge=Ni,ie=_n):(ge=X[Me],ie=G[Me]);if(Ee=V.length,F!==0)if(ae._module&&ae._module.hoverPoints){var zn=ae._module.hoverPoints(Te,ge,ie,ke,{finiteRange:!0,hoverLayer:s._hoverlayer,hoversubplots:l,gd:e});if(zn)for(var Wn,It=0;It<zn.length;It++)Wn=zn[It],Sy(Wn.x0)&&Sy(Wn.y0)&&V.push(Zst(Wn,h))}else Rf.log(\"Unrecognized trace type in hover:\",ae);if(h===\"closest\"&&V.length>Ee&&(V.splice(0,Ee),ct=V[0].distance),f&&q!==0&&V.length===0){Te.distance=q,Te.index=!1;var ft=ae._module.hoverPoints(Te,ge,ie,\"closest\",{hoverLayer:s._hoverlayer});if(ft&&(ft=ft.filter(function(Vr){return Vr.spikeDistance<=q})),ft&&ft.length){var jt,Zt=ft.filter(function(Vr){return Vr.xa.showspikes&&Vr.xa.spikesnap!==\"hovered data\"});if(Zt.length){var yr=Zt[0];Sy(yr.x0)&&Sy(yr.y0)&&(jt=ot(yr),(!Ae.vLinePoint||Ae.vLinePoint.spikeDistance>jt.spikeDistance)&&(Ae.vLinePoint=jt))}var Fr=ft.filter(function(Vr){return Vr.ya.showspikes&&Vr.ya.spikesnap!==\"hovered data\"});if(Fr.length){var Zr=Fr[0];Sy(Zr.x0)&&Sy(Zr.y0)&&(jt=ot(Zr),(!Ae.hLinePoint||Ae.hLinePoint.spikeDistance>jt.spikeDistance)&&(Ae.hLinePoint=jt))}}}}}qt();function rt(Ni,_n,$i){for(var zn=null,Wn=1/0,It,ft=0;ft<Ni.length;ft++)x&&x._id!==Ni[ft].xa._id||b&&b._id!==Ni[ft].ya._id||(It=Ni[ft].spikeDistance,$i&&ft===0&&(It=-1/0),It<=Wn&&It<=_n&&(zn=Ni[ft],Wn=It));return zn}function ot(Ni){return Ni?{xa:Ni.xa,ya:Ni.ya,x:Ni.xSpike!==void 0?Ni.xSpike:(Ni.x0+Ni.x1)/2,y:Ni.ySpike!==void 0?Ni.ySpike:(Ni.y0+Ni.y1)/2,distance:Ni.distance,spikeDistance:Ni.spikeDistance,curveNumber:Ni.trace.index,color:Ni.color,pointNumber:Ni.index}:null}var Rt={fullLayout:s,container:s._hoverlayer,event:t},kt=e._spikepoints,Ct={vLinePoint:Ae.vLinePoint,hLinePoint:Ae.hLinePoint};e._spikepoints=Ct;var Yt=function(){var Ni=V.filter(function($i){return x&&x._id===$i.xa._id&&b&&b._id===$i.ya._id}),_n=V.filter(function($i){return!(x&&x._id===$i.xa._id&&b&&b._id===$i.ya._id)});Ni.sort(ble),_n.sort(ble),V=Ni.concat(_n),V=Yst(V,h)};Yt();var xr=h.charAt(0),er=(xr===\"x\"||xr===\"y\")&&V[0]&&Vst[V[0].trace.type];if(f&&q!==0&&V.length!==0){var Ke=V.filter(function(Ni){return Ni.ya.showspikes}),xt=rt(Ke,q,er);Ae.hLinePoint=ot(xt);var bt=V.filter(function(Ni){return Ni.xa.showspikes}),Lt=rt(bt,q,er);Ae.vLinePoint=ot(Lt)}if(V.length===0){var St=BL.unhoverRaw(e,t);return f&&(Ae.hLinePoint!==null||Ae.vLinePoint!==null)&&Ale(kt)&&Tle(e,Ae,Rt),St}if(f&&Ale(kt)&&Tle(e,Ae,Rt),Ag.isXYhover(ke)&&V[0].length!==0&&V[0].trace.type!==\"splom\"){var Et=V[0];xle[Et.trace.type]?V=V.filter(function(Ni){return Ni.trace.index===Et.trace.index}):V=[Et];var dt=V.length,Ht=Mle(\"x\",Et,s),$t=Mle(\"y\",Et,s);qt(Ht,$t);var fr=[],_r={},Br=0,Or=function(Ni){var _n=xle[Ni.trace.type]?kle(Ni):Ni.trace.index;if(!_r[_n])Br++,_r[_n]=Br,fr.push(Ni);else{var $i=_r[_n]-1,zn=fr[$i];$i>0&&Math.abs(Ni.distance)<Math.abs(zn.distance)&&(fr[$i]=Ni)}},Nr;for(Nr=0;Nr<dt;Nr++)Or(V[Nr]);for(Nr=V.length-1;Nr>dt-1;Nr--)Or(V[Nr]);V=fr,Yt()}var ut=e._hoverdata,Ne=[],Ye=Ile(e),Ve=Rle(e);for(N=0;N<V.length;N++){var Xe=V[N],ht=Ag.makeEventData(Xe,Xe.trace,Xe.cd);if(Xe.hovertemplate!==!1){var Le=!1;Xe.cd[Xe.index]&&Xe.cd[Xe.index].ht&&(Le=Xe.cd[Xe.index].ht),Xe.hovertemplate=Le||Xe.trace.hovertemplate||!1}if(Xe.xa&&Xe.ya){var xe=Xe.x0+Xe.xa._offset,Se=Xe.x1+Xe.xa._offset,lt=Xe.y0+Xe.ya._offset,Gt=Xe.y1+Xe.ya._offset,Vt=Math.min(xe,Se),ar=Math.max(xe,Se),Qr=Math.min(lt,Gt),ai=Math.max(lt,Gt);ht.bbox={x0:Vt+Ve,x1:ar+Ve,y0:Qr+Ye,y1:ai+Ye}}Xe.eventData=[ht],Ne.push(ht)}e._hoverdata=Ne;var jr=h===\"y\"&&(H.length>1||V.length>1)||h===\"closest\"&&ze&&V.length>1,ri=sd.combine(s.plot_bgcolor||sd.background,s.paper_bgcolor),bi=Cle(V,{gd:e,hovermode:h,rotateLabels:jr,bgColor:ri,container:s._hoverlayer,outerContainer:s._paper.node(),commonLabelOpts:s.hoverlabel,hoverdistance:s.hoverdistance}),nn=bi.hoverLabels;if(Ag.isUnifiedHover(h)||(jst(nn,jr,s,bi.commonLabelBoundingBox),Ple(nn,jr,s._invScaleX,s._invScaleY)),i&&i.tagName){var Wi=U3.getComponentMethod(\"annotations\",\"hasClickToShow\")(e,Ne);zst(Db.select(i),Wi?\"pointer\":\"\")}!i||n||!Xst(e,t,ut)||(ut&&e.emit(\"plotly_unhover\",{event:t,points:ut}),e.emit(\"plotly_hover\",{event:t,points:e._hoverdata,xaxes:C,yaxes:M,xvals:X,yvals:G}))}function kle(e){return[e.trace.index,e.index,e.x0,e.y0,e.name,e.attr,e.xa?e.xa._id:\"\",e.ya?e.ya._id:\"\"].join(\",\")}var Gst=/<extra>([\\s\\S]*)<\\/extra>/;function Cle(e,t){var r=t.gd,n=r._fullLayout,i=t.hovermode,a=t.rotateLabels,o=t.bgColor,s=t.container,l=t.outerContainer,u=t.commonLabelOpts||{};if(e.length===0)return[[]];var c=t.fontFamily||zb.HOVERFONT,f=t.fontSize||zb.HOVERFONTSIZE,h=t.fontWeight||n.font.weight,d=t.fontStyle||n.font.style,v=t.fontVariant||n.font.variant,x=t.fontTextcase||n.font.textcase,b=t.fontLineposition||n.font.lineposition,p=t.fontShadow||n.font.shadow,E=e[0],k=E.xa,A=E.ya,L=i.charAt(0),_=L+\"Label\",C=E[_];if(C===void 0&&k.type===\"multicategory\")for(var M=0;M<e.length&&(C=e[M][_],C===void 0);M++);var g=N3(r,l),P=g.top,T=g.width,F=g.height,q=C!==void 0&&E.distance<=t.hoverdistance&&(i===\"x\"||i===\"y\");if(q){var V=!0,H,X;for(H=0;H<e.length;H++)if(V&&e[H].zLabel===void 0&&(V=!1),X=e[H].hoverinfo||e[H].trace.hoverinfo,X){var G=Array.isArray(X)?X:X.split(\"+\");if(G.indexOf(\"all\")===-1&&G.indexOf(i)===-1){q=!1;break}}V&&(q=!1)}var N=s.selectAll(\"g.axistext\").data(q?[0]:[]);N.enter().append(\"g\").classed(\"axistext\",!0),N.exit().remove();var W={minX:0,maxX:0,minY:0,maxY:0};if(N.each(function(){var bt=Db.select(this),Lt=Rf.ensureSingle(bt,\"path\",\"\",function(Vt){Vt.style({\"stroke-width\":\"1px\"})}),St=Rf.ensureSingle(bt,\"text\",\"\",function(Vt){Vt.attr(\"data-notex\",1)}),Et=u.bgcolor||sd.defaultLine,dt=u.bordercolor||sd.contrast(Et),Ht=sd.contrast(Et),$t=u.font,fr={weight:$t.weight||h,style:$t.style||d,variant:$t.variant||v,textcase:$t.textcase||x,lineposition:$t.lineposition||b,shadow:$t.shadow||p,family:$t.family||c,size:$t.size||f,color:$t.color||Ht};Lt.style({fill:Et,stroke:dt}),St.text(C).call(bm.font,fr).call(A0.positionText,0,0).call(A0.convertToTspans,r),bt.attr(\"transform\",\"\");var _r=N3(r,St.node()),Br,Or;if(i===\"x\"){var Nr=k.side===\"top\"?\"-\":\"\";St.attr(\"text-anchor\",\"middle\").call(A0.positionText,0,k.side===\"top\"?P-_r.bottom-Bc-Us:P-_r.top+Bc+Us),Br=k._offset+(E.x0+E.x1)/2,Or=A._offset+(k.side===\"top\"?0:A._length);var ut=_r.width/2+Us,Ne=Br;Br<ut?Ne=ut:Br>n.width-ut&&(Ne=n.width-ut),Lt.attr(\"d\",\"M\"+(Br-Ne)+\",0L\"+(Br-Ne+Bc)+\",\"+Nr+Bc+\"H\"+ut+\"v\"+Nr+(Us*2+_r.height)+\"H\"+-ut+\"V\"+Nr+Bc+\"H\"+(Br-Ne-Bc)+\"Z\"),Br=Ne,W.minX=Br-ut,W.maxX=Br+ut,k.side===\"top\"?(W.minY=Or-(Us*2+_r.height),W.maxY=Or-Us):(W.minY=Or+Us,W.maxY=Or+(Us*2+_r.height))}else{var Ye,Ve,Xe;A.side===\"right\"?(Ye=\"start\",Ve=1,Xe=\"\",Br=k._offset+k._length):(Ye=\"end\",Ve=-1,Xe=\"-\",Br=k._offset),Or=A._offset+(E.y0+E.y1)/2,St.attr(\"text-anchor\",Ye),Lt.attr(\"d\",\"M0,0L\"+Xe+Bc+\",\"+Bc+\"V\"+(Us+_r.height/2)+\"h\"+Xe+(Us*2+_r.width)+\"V-\"+(Us+_r.height/2)+\"H\"+Xe+Bc+\"V-\"+Bc+\"Z\"),W.minY=Or-(Us+_r.height/2),W.maxY=Or+(Us+_r.height/2),A.side===\"right\"?(W.minX=Br+Bc,W.maxX=Br+Bc+(Us*2+_r.width)):(W.minX=Br-Bc-(Us*2+_r.width),W.maxX=Br-Bc);var ht=_r.height/2,Le=P-_r.top-ht,xe=\"clip\"+n._uid+\"commonlabel\"+A._id,Se;if(Br<_r.width+2*Us+Bc){Se=\"M-\"+(Bc+Us)+\"-\"+ht+\"h-\"+(_r.width-Us)+\"V\"+ht+\"h\"+(_r.width-Us)+\"Z\";var lt=_r.width-Br+Us;A0.positionText(St,lt,Le),Ye===\"end\"&&St.selectAll(\"tspan\").each(function(){var Vt=Db.select(this),ar=bm.tester.append(\"text\").text(Vt.text()).call(bm.font,fr),Qr=N3(r,ar.node());Math.round(Qr.width)<Math.round(_r.width)&&Vt.attr(\"x\",lt-Qr.width),ar.remove()})}else A0.positionText(St,Ve*(Us+Bc),Le),Se=null;var Gt=n._topclips.selectAll(\"#\"+xe).data(Se?[0]:[]);Gt.enter().append(\"clipPath\").attr(\"id\",xe).append(\"path\"),Gt.exit().remove(),Gt.select(\"path\").attr(\"d\",Se),bm.setClipUrl(St,Se?xe:null,r)}bt.attr(\"transform\",DB(Br,Or))}),Ag.isUnifiedHover(i)){s.selectAll(\"g.hovertext\").remove();var re=e.filter(function(bt){return bt.hoverinfo!==\"none\"});if(re.length===0)return[];var ae=n.hoverlabel,_e=ae.font,Me={showlegend:!0,legend:{title:{text:C,font:_e},font:_e,bgcolor:ae.bgcolor,bordercolor:ae.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:n.legend?n.legend.traceorder:void 0,orientation:\"v\"}},ke={font:_e};qst(Me,ke,r._fullData);var ge=ke.legend;ge.entries=[];for(var ie=0;ie<re.length;ie++){var Te=re[ie];if(Te.hoverinfo!==\"none\"){var Ee=wle(Te,!0,i,n,C),Ae=Ee[0],ze=Ee[1];Te.name=ze,ze!==\"\"?Te.text=ze+\" : \"+Ae:Te.text=Ae;var Ce=Te.cd[Te.index];Ce&&(Ce.mc&&(Te.mc=Ce.mc),Ce.mcc&&(Te.mc=Ce.mcc),Ce.mlc&&(Te.mlc=Ce.mlc),Ce.mlcc&&(Te.mlc=Ce.mlcc),Ce.mlw&&(Te.mlw=Ce.mlw),Ce.mrc&&(Te.mrc=Ce.mrc),Ce.dir&&(Te.dir=Ce.dir)),Te._distinct=!0,ge.entries.push([Te])}}ge.entries.sort(function(bt,Lt){return bt[0].trace.index-Lt[0].trace.index}),ge.layer=s,ge._inHover=!0,ge._groupTitleFont=ae.grouptitlefont,Ost(r,ge);var me=s.select(\"g.legend\"),Re=N3(r,me.node()),ce=Re.width+2*Us,Ge=Re.height+2*Us,nt=re[0],ct=(nt.x0+nt.x1)/2,qt=(nt.y0+nt.y1)/2,rt=!(U3.traceIs(nt.trace,\"bar-like\")||U3.traceIs(nt.trace,\"box-violin\")),ot,Rt;L===\"y\"?rt?(Rt=qt-Us,ot=qt+Us):(Rt=Math.min.apply(null,re.map(function(bt){return Math.min(bt.y0,bt.y1)})),ot=Math.max.apply(null,re.map(function(bt){return Math.max(bt.y0,bt.y1)}))):Rt=ot=Rf.mean(re.map(function(bt){return(bt.y0+bt.y1)/2}))-Ge/2;var kt,Ct;L===\"x\"?rt?(kt=ct+Us,Ct=ct-Us):(kt=Math.max.apply(null,re.map(function(bt){return Math.max(bt.x0,bt.x1)})),Ct=Math.min.apply(null,re.map(function(bt){return Math.min(bt.x0,bt.x1)}))):kt=Ct=Rf.mean(re.map(function(bt){return(bt.x0+bt.x1)/2}))-ce/2;var Yt=k._offset,xr=A._offset;ot+=xr,kt+=Yt,Ct+=Yt-ce,Rt+=xr-Ge;var er,Ke;return kt+ce<T&&kt>=0?er=kt:Ct+ce<T&&Ct>=0?er=Ct:Yt+ce<T?er=Yt:kt-ct<ct-Ct+ce?er=T-ce:er=0,er+=Us,ot+Ge<F&&ot>=0?Ke=ot:Rt+Ge<F&&Rt>=0?Ke=Rt:xr+Ge<F?Ke=xr:ot-qt<qt-Rt+Ge?Ke=F-Ge:Ke=0,Ke+=Us,me.attr(\"transform\",DB(er-1,Ke-1)),me}var xt=s.selectAll(\"g.hovertext\").data(e,function(bt){return kle(bt)});return xt.enter().append(\"g\").classed(\"hovertext\",!0).each(function(){var bt=Db.select(this);bt.append(\"rect\").call(sd.fill,sd.addOpacity(o,.8)),bt.append(\"text\").classed(\"name\",!0),bt.append(\"path\").style(\"stroke-width\",\"1px\"),bt.append(\"text\").classed(\"nums\",!0).call(bm.font,{weight:h,style:d,variant:v,textcase:x,lineposition:b,shadow:p,family:c,size:f})}),xt.exit().remove(),xt.each(function(bt){var Lt=Db.select(this).attr(\"transform\",\"\"),St=bt.color;Array.isArray(St)&&(St=St[bt.eventData[0].pointNumber]);var Et=bt.bgcolor||St,dt=sd.combine(sd.opacity(Et)?Et:sd.defaultLine,o),Ht=sd.combine(sd.opacity(St)?St:sd.defaultLine,o),$t=bt.borderColor||sd.contrast(dt),fr=wle(bt,q,i,n,C,Lt),_r=fr[0],Br=fr[1],Or=Lt.select(\"text.nums\").call(bm.font,{family:bt.fontFamily||c,size:bt.fontSize||f,color:bt.fontColor||$t,weight:bt.fontWeight||h,style:bt.fontStyle||d,variant:bt.fontVariant||v,textcase:bt.fontTextcase||x,lineposition:bt.fontLineposition||b,shadow:bt.fontShadow||p}).text(_r).attr(\"data-notex\",1).call(A0.positionText,0,0).call(A0.convertToTspans,r),Nr=Lt.select(\"text.name\"),ut=0,Ne=0;if(Br&&Br!==_r){Nr.call(bm.font,{family:bt.fontFamily||c,size:bt.fontSize||f,color:Ht,weight:bt.fontWeight||h,style:bt.fontStyle||d,variant:bt.fontVariant||v,textcase:bt.fontTextcase||x,lineposition:bt.fontLineposition||b,shadow:bt.fontShadow||p}).text(Br).attr(\"data-notex\",1).call(A0.positionText,0,0).call(A0.convertToTspans,r);var Ye=N3(r,Nr.node());ut=Ye.width+2*Us,Ne=Ye.height+2*Us}else Nr.remove(),Lt.select(\"rect\").remove();Lt.select(\"path\").style({fill:dt,stroke:$t});var Ve=bt.xa._offset+(bt.x0+bt.x1)/2,Xe=bt.ya._offset+(bt.y0+bt.y1)/2,ht=Math.abs(bt.x1-bt.x0),Le=Math.abs(bt.y1-bt.y0),xe=N3(r,Or.node()),Se=xe.width/n._invScaleX,lt=xe.height/n._invScaleY;bt.ty0=(P-xe.top)/n._invScaleY,bt.bx=Se+2*Us,bt.by=Math.max(lt+2*Us,Ne),bt.anchor=\"start\",bt.txwidth=Se,bt.tx2width=ut,bt.offset=0;var Gt=(Se+Bc+Us+ut)*n._invScaleX,Vt,ar;if(a)bt.pos=Ve,Vt=Xe+Le/2+Gt<=F,ar=Xe-Le/2-Gt>=0,(bt.idealAlign===\"top\"||!Vt)&&ar?(Xe-=Le/2,bt.anchor=\"end\"):Vt?(Xe+=Le/2,bt.anchor=\"start\"):bt.anchor=\"middle\",bt.crossPos=Xe;else{if(bt.pos=Xe,Vt=Ve+ht/2+Gt<=T,ar=Ve-ht/2-Gt>=0,(bt.idealAlign===\"left\"||!Vt)&&ar)Ve-=ht/2,bt.anchor=\"end\";else if(Vt)Ve+=ht/2,bt.anchor=\"start\";else{bt.anchor=\"middle\";var Qr=Gt/2,ai=Ve+Qr-T,jr=Ve-Qr;ai>0&&(Ve-=ai),jr<0&&(Ve+=-jr)}bt.crossPos=Ve}Or.attr(\"text-anchor\",bt.anchor),ut&&Nr.attr(\"text-anchor\",bt.anchor),Lt.attr(\"transform\",DB(Ve,Xe)+(a?Rst(Ele):\"\"))}),{hoverLabels:xt,commonLabelBoundingBox:W}}function wle(e,t,r,n,i,a){var o=\"\",s=\"\";e.nameOverride!==void 0&&(e.name=e.nameOverride),e.name&&(e.trace._meta&&(e.name=Rf.templateString(e.name,e.trace._meta)),o=Sle(e.name,e.nameLength));var l=r.charAt(0),u=l===\"x\"?\"y\":\"x\";e.zLabel!==void 0?(e.xLabel!==void 0&&(s+=\"x: \"+e.xLabel+\"<br>\"),e.yLabel!==void 0&&(s+=\"y: \"+e.yLabel+\"<br>\"),e.trace.type!==\"choropleth\"&&e.trace.type!==\"choroplethmapbox\"&&e.trace.type!==\"choroplethmap\"&&(s+=(s?\"z: \":\"\")+e.zLabel)):t&&e[l+\"Label\"]===i?s=e[u+\"Label\"]||\"\":e.xLabel===void 0?e.yLabel!==void 0&&e.trace.type!==\"scattercarpet\"&&(s=e.yLabel):e.yLabel===void 0?s=e.xLabel:s=\"(\"+e.xLabel+\", \"+e.yLabel+\")\",(e.text||e.text===0)&&!Array.isArray(e.text)&&(s+=(s?\"<br>\":\"\")+e.text),e.extraText!==void 0&&(s+=(s?\"<br>\":\"\")+e.extraText),a&&s===\"\"&&!e.hovertemplate&&(o===\"\"&&a.remove(),s=o);var c=e.hovertemplate||!1;if(c){var f=e.hovertemplateLabels||e;e[l+\"Label\"]!==i&&(f[l+\"other\"]=f[l+\"Val\"],f[l+\"otherLabel\"]=f[l+\"Label\"]),s=Rf.hovertemplateString(c,f,n._d3locale,e.eventData[0]||{},e.trace._meta),s=s.replace(Gst,function(h,d){return o=Sle(d,e.nameLength),\"\"})}return[s,o]}function jst(e,t,r,n){var i=t?\"xa\":\"ya\",a=t?\"ya\":\"xa\",o=0,s=1,l=e.size(),u=new Array(l),c=0,f=n.minX,h=n.maxX,d=n.minY,v=n.maxY,x=function(X){return X*r._invScaleX},b=function(X){return X*r._invScaleY};e.each(function(X){var G=X[i],N=X[a],W=G._id.charAt(0)===\"x\",re=G.range;c===0&&re&&re[0]>re[1]!==W&&(s=-1);var ae=0,_e=W?r.width:r.height;if(r.hovermode===\"x\"||r.hovermode===\"y\"){var Me=Lle(X,t),ke=X.anchor,ge=ke===\"end\"?-1:1,ie,Te;if(ke===\"middle\")ie=X.crossPos+(W?b(Me.y-X.by/2):x(X.bx/2+X.tx2width/2)),Te=ie+(W?b(X.by):x(X.bx));else if(W)ie=X.crossPos+b(Bc+Me.y)-b(X.by/2-Bc),Te=ie+b(X.by);else{var Ee=x(ge*Bc+Me.x),Ae=Ee+x(ge*X.bx);ie=X.crossPos+Math.min(Ee,Ae),Te=X.crossPos+Math.max(Ee,Ae)}W?d!==void 0&&v!==void 0&&Math.min(Te,v)-Math.max(ie,d)>1&&(N.side===\"left\"?(ae=N._mainLinePosition,_e=r.width):_e=N._mainLinePosition):f!==void 0&&h!==void 0&&Math.min(Te,h)-Math.max(ie,f)>1&&(N.side===\"top\"?(ae=N._mainLinePosition,_e=r.height):_e=N._mainLinePosition)}u[c++]=[{datum:X,traceIndex:X.trace.index,dp:0,pos:X.pos,posref:X.posref,size:X.by*(W?Bst:1)/2,pmin:ae,pmax:_e}]}),u.sort(function(X,G){return X[0].posref-G[0].posref||s*(G[0].traceIndex-X[0].traceIndex)});var p,E,k,A,L,_,C;function M(X){var G=X[0],N=X[X.length-1];if(E=G.pmin-G.pos-G.dp+G.size,k=N.pos+N.dp+N.size-G.pmax,E>.01){for(L=X.length-1;L>=0;L--)X[L].dp+=E;p=!1}if(!(k<.01)){if(E<-.01){for(L=X.length-1;L>=0;L--)X[L].dp-=k;p=!1}if(p){var W=0;for(A=0;A<X.length;A++)_=X[A],_.pos+_.dp+_.size>G.pmax&&W++;for(A=X.length-1;A>=0&&!(W<=0);A--)_=X[A],_.pos>G.pmax-1&&(_.del=!0,W--);for(A=0;A<X.length&&!(W<=0);A++)if(_=X[A],_.pos<G.pmin+1)for(_.del=!0,W--,k=_.size*2,L=X.length-1;L>=0;L--)X[L].dp-=k;for(A=X.length-1;A>=0&&!(W<=0);A--)_=X[A],_.pos+_.dp+_.size>G.pmax&&(_.del=!0,W--)}}}for(;!p&&o<=l;){for(o++,p=!0,A=0;A<u.length-1;){var g=u[A],P=u[A+1],T=g[g.length-1],F=P[0];if(E=T.pos+T.dp+T.size-F.pos-F.dp+F.size,E>.01){for(L=P.length-1;L>=0;L--)P[L].dp+=E;for(g.push.apply(g,P),u.splice(A+1,1),C=0,L=g.length-1;L>=0;L--)C+=g[L].dp;for(k=C/g.length,L=g.length-1;L>=0;L--)g[L].dp-=k;p=!1}else A++}u.forEach(M)}for(A=u.length-1;A>=0;A--){var q=u[A];for(L=q.length-1;L>=0;L--){var V=q[L],H=V.datum;H.offset=V.dp,H.del=V.del}}}function Lle(e,t){var r=0,n=e.offset;return t&&(n*=-Ust,r=e.offset*Nst),{x:r,y:n}}function Wst(e){var t={start:1,end:-1,middle:0}[e.anchor],r=t*(Bc+Us),n=r+t*(e.txwidth+Us),i=e.anchor===\"middle\";return i&&(r-=e.tx2width/2,n+=e.txwidth/2+Us),{alignShift:t,textShiftX:r,text2ShiftX:n}}function Ple(e,t,r,n){var i=function(o){return o*r},a=function(o){return o*n};e.each(function(o){var s=Db.select(this);if(o.del)return s.remove();var l=s.select(\"text.nums\"),u=o.anchor,c=u===\"end\"?-1:1,f=Wst(o),h=Lle(o,t),d=h.x,v=h.y,x=u===\"middle\";s.select(\"path\").attr(\"d\",x?\"M-\"+i(o.bx/2+o.tx2width/2)+\",\"+a(v-o.by/2)+\"h\"+i(o.bx)+\"v\"+a(o.by)+\"h-\"+i(o.bx)+\"Z\":\"M0,0L\"+i(c*Bc+d)+\",\"+a(Bc+v)+\"v\"+a(o.by/2-Bc)+\"h\"+i(c*o.bx)+\"v-\"+a(o.by)+\"H\"+i(c*Bc+d)+\"V\"+a(v-Bc)+\"Z\");var b=d+f.textShiftX,p=v+o.ty0-o.by/2+Us,E=o.textAlign||\"auto\";E!==\"auto\"&&(E===\"left\"&&u!==\"start\"?(l.attr(\"text-anchor\",\"start\"),b=x?-o.bx/2-o.tx2width/2+Us:-o.bx-Us):E===\"right\"&&u!==\"end\"&&(l.attr(\"text-anchor\",\"end\"),b=x?o.bx/2-o.tx2width/2-Us:o.bx+Us)),l.call(A0.positionText,i(b),a(p)),o.tx2width&&(s.select(\"text.name\").call(A0.positionText,i(f.text2ShiftX+f.alignShift*Us+d),a(v+o.ty0-o.by/2+Us)),s.select(\"rect\").call(bm.setRect,i(f.text2ShiftX+(f.alignShift-1)*o.tx2width/2+d),a(v-o.by/2-1),i(o.tx2width),a(o.by+2)))})}function Zst(e,t){var r=e.index,n=e.trace||{},i=e.cd[0],a=e.cd[r]||{};function o(h){return h||Sy(h)&&h===0}var s=Array.isArray(r)?function(h,d){var v=Rf.castOption(i,r,h);return o(v)?v:Rf.extractOption({},n,\"\",d)}:function(h,d){return Rf.extractOption(a,n,h,d)};function l(h,d,v){var x=s(d,v);o(x)&&(e[h]=x)}if(l(\"hoverinfo\",\"hi\",\"hoverinfo\"),l(\"bgcolor\",\"hbg\",\"hoverlabel.bgcolor\"),l(\"borderColor\",\"hbc\",\"hoverlabel.bordercolor\"),l(\"fontFamily\",\"htf\",\"hoverlabel.font.family\"),l(\"fontSize\",\"hts\",\"hoverlabel.font.size\"),l(\"fontColor\",\"htc\",\"hoverlabel.font.color\"),l(\"fontWeight\",\"htw\",\"hoverlabel.font.weight\"),l(\"fontStyle\",\"hty\",\"hoverlabel.font.style\"),l(\"fontVariant\",\"htv\",\"hoverlabel.font.variant\"),l(\"nameLength\",\"hnl\",\"hoverlabel.namelength\"),l(\"textAlign\",\"hta\",\"hoverlabel.align\"),e.posref=t===\"y\"||t===\"closest\"&&n.orientation===\"h\"?e.xa._offset+(e.x0+e.x1)/2:e.ya._offset+(e.y0+e.y1)/2,e.x0=Rf.constrain(e.x0,0,e.xa._length),e.x1=Rf.constrain(e.x1,0,e.xa._length),e.y0=Rf.constrain(e.y0,0,e.ya._length),e.y1=Rf.constrain(e.y1,0,e.ya._length),e.xLabelVal!==void 0&&(e.xLabel=\"xLabel\"in e?e.xLabel:wm.hoverLabelText(e.xa,e.xLabelVal,n.xhoverformat),e.xVal=e.xa.c2d(e.xLabelVal)),e.yLabelVal!==void 0&&(e.yLabel=\"yLabel\"in e?e.yLabel:wm.hoverLabelText(e.ya,e.yLabelVal,n.yhoverformat),e.yVal=e.ya.c2d(e.yLabelVal)),e.zLabelVal!==void 0&&e.zLabel===void 0&&(e.zLabel=String(e.zLabelVal)),!isNaN(e.xerr)&&!(e.xa.type===\"log\"&&e.xerr<=0)){var u=wm.tickText(e.xa,e.xa.c2l(e.xerr),\"hover\").text;e.xerrneg!==void 0?e.xLabel+=\" +\"+u+\" / -\"+wm.tickText(e.xa,e.xa.c2l(e.xerrneg),\"hover\").text:e.xLabel+=\" \\xB1 \"+u,t===\"x\"&&(e.distance+=1)}if(!isNaN(e.yerr)&&!(e.ya.type===\"log\"&&e.yerr<=0)){var c=wm.tickText(e.ya,e.ya.c2l(e.yerr),\"hover\").text;e.yerrneg!==void 0?e.yLabel+=\" +\"+c+\" / -\"+wm.tickText(e.ya,e.ya.c2l(e.yerrneg),\"hover\").text:e.yLabel+=\" \\xB1 \"+c,t===\"y\"&&(e.distance+=1)}var f=e.hoverinfo||e.trace.hoverinfo;return f&&f!==\"all\"&&(f=Array.isArray(f)?f:f.split(\"+\"),f.indexOf(\"x\")===-1&&(e.xLabel=void 0),f.indexOf(\"y\")===-1&&(e.yLabel=void 0),f.indexOf(\"z\")===-1&&(e.zLabel=void 0),f.indexOf(\"text\")===-1&&(e.text=void 0),f.indexOf(\"name\")===-1&&(e.name=void 0)),e}function Tle(e,t,r){var n=r.container,i=r.fullLayout,a=i._size,o=r.event,s=!!t.hLinePoint,l=!!t.vLinePoint,u,c;if(n.selectAll(\".spikeline\").remove(),!!(l||s)){var f=sd.combine(i.plot_bgcolor,i.paper_bgcolor);if(s){var h=t.hLinePoint,d,v;u=h&&h.xa,c=h&&h.ya;var x=c.spikesnap;x===\"cursor\"?(d=o.pointerX,v=o.pointerY):(d=u._offset+h.x,v=c._offset+h.y);var b=_le.readability(h.color,f)<1.5?sd.contrast(f):h.color,p=c.spikemode,E=c.spikethickness,k=c.spikecolor||b,A=wm.getPxPosition(e,c),L,_;if(p.indexOf(\"toaxis\")!==-1||p.indexOf(\"across\")!==-1){if(p.indexOf(\"toaxis\")!==-1&&(L=A,_=d),p.indexOf(\"across\")!==-1){var C=c._counterDomainMin,M=c._counterDomainMax;c.anchor===\"free\"&&(C=Math.min(C,c.position),M=Math.max(M,c.position)),L=a.l+C*a.w,_=a.l+M*a.w}n.insert(\"line\",\":first-child\").attr({x1:L,x2:_,y1:v,y2:v,\"stroke-width\":E,stroke:k,\"stroke-dasharray\":bm.dashStyle(c.spikedash,E)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),n.insert(\"line\",\":first-child\").attr({x1:L,x2:_,y1:v,y2:v,\"stroke-width\":E+2,stroke:f}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}p.indexOf(\"marker\")!==-1&&n.insert(\"circle\",\":first-child\").attr({cx:A+(c.side!==\"right\"?E:-E),cy:v,r:E,fill:k}).classed(\"spikeline\",!0)}if(l){var g=t.vLinePoint,P,T;u=g&&g.xa,c=g&&g.ya;var F=u.spikesnap;F===\"cursor\"?(P=o.pointerX,T=o.pointerY):(P=u._offset+g.x,T=c._offset+g.y);var q=_le.readability(g.color,f)<1.5?sd.contrast(f):g.color,V=u.spikemode,H=u.spikethickness,X=u.spikecolor||q,G=wm.getPxPosition(e,u),N,W;if(V.indexOf(\"toaxis\")!==-1||V.indexOf(\"across\")!==-1){if(V.indexOf(\"toaxis\")!==-1&&(N=G,W=T),V.indexOf(\"across\")!==-1){var re=u._counterDomainMin,ae=u._counterDomainMax;u.anchor===\"free\"&&(re=Math.min(re,u.position),ae=Math.max(ae,u.position)),N=a.t+(1-ae)*a.h,W=a.t+(1-re)*a.h}n.insert(\"line\",\":first-child\").attr({x1:P,x2:P,y1:N,y2:W,\"stroke-width\":H,stroke:X,\"stroke-dasharray\":bm.dashStyle(u.spikedash,H)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),n.insert(\"line\",\":first-child\").attr({x1:P,x2:P,y1:N,y2:W,\"stroke-width\":H+2,stroke:f}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}V.indexOf(\"marker\")!==-1&&n.insert(\"circle\",\":first-child\").attr({cx:P,cy:G-(u.side!==\"top\"?H:-H),r:H,fill:X}).classed(\"spikeline\",!0)}}}function Xst(e,t,r){if(!r||r.length!==e._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=e._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}function Ale(e,t){return!t||t.vLinePoint!==e._spikepoints.vLinePoint||t.hLinePoint!==e._spikepoints.hLinePoint}function Sle(e,t){return A0.plainText(e||\"\",{len:t,allowedTags:[\"br\",\"sub\",\"sup\",\"b\",\"i\",\"em\",\"s\",\"u\"]})}function Yst(e,t){for(var r=t.charAt(0),n=[],i=[],a=[],o=0;o<e.length;o++){var s=e[o];U3.traceIs(s.trace,\"bar-like\")||U3.traceIs(s.trace,\"box-violin\")?a.push(s):s.trace[r+\"period\"]?i.push(s):n.push(s)}return n.concat(i).concat(a)}function Mle(e,t,r){var n=t[e+\"a\"],i=t[e+\"Val\"],a=t.cd[0];if(n.type===\"category\"||n.type===\"multicategory\")i=n._categoriesMap[i];else if(n.type===\"date\"){var o=t.trace[e+\"periodalignment\"];if(o){var s=t.cd[t.index],l=s[e+\"Start\"];l===void 0&&(l=s[e]);var u=s[e+\"End\"];u===void 0&&(u=s[e]);var c=u-l;o===\"end\"?i+=c:o===\"middle\"&&(i+=c/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&(r.boxmode===\"group\"||r.violinmode===\"group\")&&(i+=a.t.dPos),i}function Ile(e){return e.offsetTop+e.clientTop}function Rle(e){return e.offsetLeft+e.clientLeft}function N3(e,t){var r=e._fullLayout,n=t.getBoundingClientRect(),i=n.left,a=n.top,o=i+n.width,s=a+n.height,l=Rf.apply3DTransform(r._invTransform)(i,a),u=Rf.apply3DTransform(r._invTransform)(o,s),c=l[0],f=l[1],h=u[0],d=u[1];return{x:c,y:f,width:h-c,height:d-f,top:Math.min(f,d),left:Math.min(c,h),right:Math.max(c,h),bottom:Math.max(f,d)}}});var oM=ye((Zrr,Dle)=>{\"use strict\";var Kst=Mr(),Jst=va(),$st=rp().isUnifiedHover;Dle.exports=function(t,r,n,i){i=i||{};var a=r.legend;function o(s){i.font[s]||(i.font[s]=a?r.legend.font[s]:r.font[s])}r&&$st(r.hovermode)&&(i.font||(i.font={}),o(\"size\"),o(\"family\"),o(\"color\"),o(\"weight\"),o(\"style\"),o(\"variant\"),a?(i.bgcolor||(i.bgcolor=Jst.combine(r.legend.bgcolor,r.paper_bgcolor)),i.bordercolor||(i.bordercolor=r.legend.bordercolor)):i.bgcolor||(i.bgcolor=r.paper_bgcolor)),n(\"hoverlabel.bgcolor\",i.bgcolor),n(\"hoverlabel.bordercolor\",i.bordercolor),n(\"hoverlabel.namelength\",i.namelength),Kst.coerceFont(n,\"hoverlabel.font\",i.font),n(\"hoverlabel.align\",i.align)}});var Fle=ye((Xrr,zle)=>{\"use strict\";var Qst=Mr(),elt=oM(),tlt=N1();zle.exports=function(t,r){function n(i,a){return Qst.coerce(t,r,tlt,i,a)}elt(t,r,n)}});var Ble=ye((Yrr,Ole)=>{\"use strict\";var qle=Mr(),rlt=i3(),ilt=oM();Ole.exports=function(t,r,n,i){function a(s,l){return qle.coerce(t,r,rlt,s,l)}var o=qle.extendFlat({},i.hoverlabel);r.hovertemplate&&(o.namelength=-1),ilt(t,r,a,o)}});var OB=ye((Krr,Nle)=>{\"use strict\";var nlt=Mr(),alt=N1();Nle.exports=function(t,r){function n(i,a){return r[i]!==void 0?r[i]:nlt.coerce(t,r,alt,i,a)}return n(\"clickmode\"),n(\"hoversubplots\"),n(\"hovermode\")}});var Hle=ye((Jrr,Vle)=>{\"use strict\";var Ule=Mr(),olt=N1(),slt=OB(),llt=oM();Vle.exports=function(t,r){function n(c,f){return Ule.coerce(t,r,olt,c,f)}var i=slt(t,r);i&&(n(\"hoverdistance\"),n(\"spikedistance\"));var a=n(\"dragmode\");a===\"select\"&&n(\"selectdirection\");var o=r._has(\"mapbox\"),s=r._has(\"map\"),l=r._has(\"geo\"),u=r._basePlotModules.length;r.dragmode===\"zoom\"&&((o||s||l)&&u===1||(o||s)&&l&&u===2)&&(r.dragmode=\"pan\"),llt(t,r,n),Ule.coerceFont(n,\"hoverlabel.grouptitlefont\",r.hoverlabel.font)}});var Wle=ye(($rr,jle)=>{\"use strict\";var BB=Mr(),Gle=ba();jle.exports=function(t){var r=t.calcdata,n=t._fullLayout;function i(u){return function(c){return BB.coerceHoverinfo({hoverinfo:c},{_module:u._module},n)}}for(var a=0;a<r.length;a++){var o=r[a],s=o[0].trace;if(!Gle.traceIs(s,\"pie-like\")){var l=Gle.traceIs(s,\"2dMap\")?ult:BB.fillArray;l(s.hoverinfo,o,\"hi\",i(s)),s.hovertemplate&&l(s.hovertemplate,o,\"ht\"),s.hoverlabel&&(l(s.hoverlabel.bgcolor,o,\"hbg\"),l(s.hoverlabel.bordercolor,o,\"hbc\"),l(s.hoverlabel.font.size,o,\"hts\"),l(s.hoverlabel.font.color,o,\"htc\"),l(s.hoverlabel.font.family,o,\"htf\"),l(s.hoverlabel.font.weight,o,\"htw\"),l(s.hoverlabel.font.style,o,\"hty\"),l(s.hoverlabel.font.variant,o,\"htv\"),l(s.hoverlabel.namelength,o,\"hnl\"),l(s.hoverlabel.align,o,\"hta\"))}}};function ult(e,t,r,n){n=n||BB.identity,Array.isArray(e)&&(t[0][r]=n(e))}});var Xle=ye((Qrr,Zle)=>{\"use strict\";var clt=ba(),flt=qB().hover;Zle.exports=function(t,r,n){var i=clt.getComponentMethod(\"annotations\",\"onClick\")(t,t._hoverdata);n!==void 0&&flt(t,r,n,!0);function a(){t.emit(\"plotly_click\",{points:t._hoverdata,event:r})}t._hoverdata&&r&&r.target&&(i&&i.then?i.then(a):a(),r.stopImmediatePropagation&&r.stopImmediatePropagation())}});var Nc=ye((eir,Jle)=>{\"use strict\";var hlt=xa(),NL=Mr(),dlt=gv(),sM=rp(),Yle=N1(),Kle=qB();Jle.exports={moduleType:\"component\",name:\"fx\",constants:IS(),schema:{layout:Yle},attributes:i3(),layoutAttributes:Yle,supplyLayoutGlobalDefaults:Fle(),supplyDefaults:Ble(),supplyLayoutDefaults:Hle(),calc:Wle(),getDistanceFunction:sM.getDistanceFunction,getClosest:sM.getClosest,inbox:sM.inbox,quadrature:sM.quadrature,appendArrayPointValue:sM.appendArrayPointValue,castHoverOption:plt,castHoverinfo:glt,hover:Kle.hover,unhover:dlt.unhover,loneHover:Kle.loneHover,loneUnhover:vlt,click:Xle()};function vlt(e){var t=NL.isD3Selection(e)?e:hlt.select(e);t.selectAll(\"g.hovertext\").remove(),t.selectAll(\".spikeline\").remove()}function plt(e,t,r){return NL.castOption(e,t,\"hoverlabel.\"+r)}function glt(e,t,r){function n(i){return NL.coerceHoverinfo({hoverinfo:i},{_module:e._module},t)}return NL.castOption(e,r,\"hoverinfo\",n)}});var Sg=ye(My=>{\"use strict\";My.selectMode=function(e){return e===\"lasso\"||e===\"select\"};My.drawMode=function(e){return e===\"drawclosedpath\"||e===\"drawopenpath\"||e===\"drawline\"||e===\"drawrect\"||e===\"drawcircle\"};My.openMode=function(e){return e===\"drawline\"||e===\"drawopenpath\"};My.rectMode=function(e){return e===\"select\"||e===\"drawline\"||e===\"drawrect\"||e===\"drawcircle\"};My.freeMode=function(e){return e===\"lasso\"||e===\"drawclosedpath\"||e===\"drawopenpath\"};My.selectingOrDrawing=function(e){return My.freeMode(e)||My.rectMode(e)}});var lM=ye((rir,$le)=>{\"use strict\";$le.exports=function(t){var r=t._fullLayout;r._glcanvas&&r._glcanvas.size()&&r._glcanvas.each(function(n){n.regl&&n.regl.clear({color:!0,depth:!0})})}});var UL=ye((iir,Qle)=>{\"use strict\";Qle.exports={undo:{width:857.1,height:1e3,path:\"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z\",transform:\"matrix(1 0 0 -1 0 850)\"},home:{width:928.6,height:1e3,path:\"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"camera-retro\":{width:1e3,height:1e3,path:\"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoombox:{width:1e3,height:1e3,path:\"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z\",transform:\"matrix(1 0 0 -1 0 850)\"},pan:{width:1e3,height:1e3,path:\"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoom_plus:{width:875,height:1e3,path:\"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoom_minus:{width:875,height:1e3,path:\"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z\",transform:\"matrix(1 0 0 -1 0 850)\"},autoscale:{width:1e3,height:1e3,path:\"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z\",transform:\"matrix(1 0 0 -1 0 850)\"},tooltip_basic:{width:1500,height:1e3,path:\"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z\",transform:\"matrix(1 0 0 -1 0 850)\"},tooltip_compare:{width:1125,height:1e3,path:\"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z\",transform:\"matrix(1 0 0 -1 0 850)\"},plotlylogo:{width:1542,height:1e3,path:\"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"z-axis\":{width:1e3,height:1e3,path:\"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"3d_rotate\":{width:1e3,height:1e3,path:\"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z\",transform:\"matrix(1 0 0 -1 0 850)\"},camera:{width:1e3,height:1e3,path:\"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z\",transform:\"matrix(1 0 0 -1 0 850)\"},movie:{width:1e3,height:1e3,path:\"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z\",transform:\"matrix(1 0 0 -1 0 850)\"},question:{width:857.1,height:1e3,path:\"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z\",transform:\"matrix(1 0 0 -1 0 850)\"},disk:{width:857.1,height:1e3,path:\"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z\",transform:\"matrix(1 0 0 -1 0 850)\"},drawopenpath:{width:70,height:70,path:\"M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z\",transform:\"matrix(1 0 0 1 -15 -15)\"},drawclosedpath:{width:90,height:90,path:\"M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z\",transform:\"matrix(1 0 0 1 -5 -5)\"},lasso:{width:1031,height:1e3,path:\"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z\",transform:\"matrix(1 0 0 -1 0 850)\"},selectbox:{width:1e3,height:1e3,path:\"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z\",transform:\"matrix(1 0 0 -1 0 850)\"},drawline:{width:70,height:70,path:\"M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z\",transform:\"matrix(1 0 0 1 -15 -15)\"},drawrect:{width:80,height:80,path:\"M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},drawcircle:{width:80,height:80,path:\"M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},eraseshape:{width:80,height:80,path:\"M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},spikeline:{width:1e3,height:1e3,path:\"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z\",transform:\"matrix(1.5 0 0 -1.5 0 850)\"},pencil:{width:1792,height:1792,path:\"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z\",transform:\"matrix(1 0 0 1 0 1)\"},newplotlylogo:{name:\"newplotlylogo\",svg:[\"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 132'>\",\" <title>plotly-logomark</title>\",\" <g id='symbol'>\",\" <rect fill='#000' x='0' y='0' width='132' height='132' rx='18' ry='18'/>\",\" <circle fill='#9EF' cx='102' cy='30' r='6'/>\",\" <circle fill='#BAC' cx='78' cy='30' r='6'/>\",\" <circle fill='#BAC' cx='78' cy='54' r='6'/>\",\" <circle fill='#D69' cx='54' cy='30' r='6'/>\",\" <circle fill='#F26' cx='30' cy='30' r='6'/>\",\" <circle fill='#F26' cx='30' cy='54' r='6'/>\",\" <path fill='#FFF' d='M30,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,30,72Z'/>\",\" <path fill='#FFF' d='M78,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,78,72Z'/>\",\" <path fill='#FFF' d='M54,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,54,48Z'/>\",\" <path fill='#FFF' d='M102,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,102,48Z'/>\",\" </g>\",\"</svg>\"].join(\"\")}}});var HL=ye((nir,eue)=>{\"use strict\";var VL=32;eue.exports={CIRCLE_SIDES:VL,i000:0,i090:VL/4,i180:VL/2,i270:VL/4*3,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}});var GL=ye((air,rue)=>{\"use strict\";var mlt=Mr().strTranslate;function tue(e,t){switch(e.type){case\"log\":return e.p2d(t);case\"date\":return e.p2r(t,0,e.calendar);default:return e.p2r(t)}}function ylt(e,t){switch(e.type){case\"log\":return e.d2p(t);case\"date\":return e.r2p(t,0,e.calendar);default:return e.r2p(t)}}function _lt(e){var t=e._id.charAt(0)===\"y\"?1:0;return function(r){return tue(e,r[t])}}function xlt(e){return mlt(e.xaxis._offset,e.yaxis._offset)}rue.exports={p2r:tue,r2p:ylt,axValue:_lt,getTransform:xlt}});var c_=ye(Ey=>{\"use strict\";var blt=XS(),aue=HL(),V3=aue.CIRCLE_SIDES,NB=aue.SQRT2,oue=GL(),iue=oue.p2r,nue=oue.r2p,wlt=[0,3,4,5,6,1,2],Tlt=[0,3,4,1,2];Ey.writePaths=function(e){var t=e.length;if(!t)return\"M0,0Z\";for(var r=\"\",n=0;n<t;n++)for(var i=e[n].length,a=0;a<i;a++){var o=e[n][a][0];if(o===\"Z\")r+=\"Z\";else for(var s=e[n][a].length,l=0;l<s;l++){var u=l;o===\"Q\"||o===\"S\"?u=Tlt[l]:o===\"C\"&&(u=wlt[l]),r+=e[n][a][u],l>0&&l<s-1&&(r+=\",\")}}return r};Ey.readPaths=function(e,t,r,n){var i=blt(e),a=[],o=-1,s=function(){o++,a[o]=[]},l,u=0,c=0,f,h,d=function(){f=u,h=c};d();for(var v=0;v<i.length;v++){var x=[],b,p,E,k,A=i[v][0],L=A;switch(A){case\"M\":s(),u=+i[v][1],c=+i[v][2],x.push([L,u,c]),d();break;case\"Q\":case\"S\":b=+i[v][1],E=+i[v][2],u=+i[v][3],c=+i[v][4],x.push([L,u,c,b,E]);break;case\"C\":b=+i[v][1],E=+i[v][2],p=+i[v][3],k=+i[v][4],u=+i[v][5],c=+i[v][6],x.push([L,u,c,b,E,p,k]);break;case\"T\":case\"L\":u=+i[v][1],c=+i[v][2],x.push([L,u,c]);break;case\"H\":L=\"L\",u=+i[v][1],x.push([L,u,c]);break;case\"V\":L=\"L\",c=+i[v][1],x.push([L,u,c]);break;case\"A\":L=\"L\";var _=+i[v][1],C=+i[v][2];+i[v][4]||(_=-_,C=-C);var M=u-_,g=c;for(l=1;l<=V3/2;l++){var P=2*Math.PI*l/V3;x.push([L,M+_*Math.cos(P),g+C*Math.sin(P)])}break;case\"Z\":(u!==f||c!==h)&&(u=f,c=h,x.push([L,u,c]));break}for(var T=(r||{}).domain,F=t._fullLayout._size,q=r&&r.xsizemode===\"pixel\",V=r&&r.ysizemode===\"pixel\",H=n===!1,X=0;X<x.length;X++){for(l=0;l+2<7;l+=2){var G=x[X][l+1],N=x[X][l+2];G===void 0||N===void 0||(u=G,c=N,r&&(r.xaxis&&r.xaxis.p2r?(H&&(G-=r.xaxis._offset),q?G=nue(r.xaxis,r.xanchor)+G:G=iue(r.xaxis,G)):(H&&(G-=F.l),T?G=T.x[0]+G/F.w:G=G/F.w),r.yaxis&&r.yaxis.p2r?(H&&(N-=r.yaxis._offset),V?N=nue(r.yaxis,r.yanchor)-N:N=iue(r.yaxis,N)):(H&&(N-=F.t),T?N=T.y[1]-N/F.h:N=1-N/F.h)),x[X][l+1]=G,x[X][l+2]=N)}a[o].push(x[X].slice())}}return a};function uM(e,t){return Math.abs(e-t)<=1e-6}function jL(e,t){var r=t[1]-e[1],n=t[2]-e[2];return Math.sqrt(r*r+n*n)}Ey.pointsOnRectangle=function(e){var t=e.length;if(t!==5)return!1;for(var r=1;r<3;r++){var n=e[0][r]-e[1][r],i=e[3][r]-e[2][r];if(!uM(n,i))return!1;var a=e[0][r]-e[3][r],o=e[1][r]-e[2][r];if(!uM(a,o))return!1}return!uM(e[0][1],e[1][1])&&!uM(e[0][1],e[3][1])?!1:!!(jL(e[0],e[1])*jL(e[0],e[3]))};Ey.pointsOnEllipse=function(e){var t=e.length;if(t!==V3+1)return!1;t=V3;for(var r=0;r<t;r++){var n=(t*2-r)%t,i=(t/2+n)%t,a=(t/2+r)%t;if(!uM(jL(e[r],e[a]),jL(e[n],e[i])))return!1}return!0};Ey.handleEllipse=function(e,t,r){if(!e)return[t,r];var n=Ey.ellipseOver({x0:t[0],y0:t[1],x1:r[0],y1:r[1]}),i=(n.x1+n.x0)/2,a=(n.y1+n.y0)/2,o=(n.x1-n.x0)/2,s=(n.y1-n.y0)/2;o||(o=s=s/NB),s||(s=o=o/NB);for(var l=[],u=0;u<V3;u++){var c=u*2*Math.PI/V3;l.push([i+o*Math.cos(c),a+s*Math.sin(c)])}return l};Ey.ellipseOver=function(e){var t=e.x0,r=e.y0,n=e.x1,i=e.y1,a=n-t,o=i-r;t-=a,r-=o;var s=(t+n)/2,l=(r+i)/2,u=NB;return a*=u,o*=u,{x0:s-a,y0:l-o,x1:s+a,y1:l+o}};Ey.fixDatesForPaths=function(e,t,r){var n=t.type===\"date\",i=r.type===\"date\";if(!n&&!i)return e;for(var a=0;a<e.length;a++)for(var o=0;o<e[a].length;o++)for(var s=0;s+2<e[a][o].length;s+=2)n&&(e[a][o][s+1]=e[a][o][s+1].replace(\" \",\"_\")),i&&(e[a][o][s+2]=e[a][o][s+2].replace(\" \",\"_\"));return e}});var XL=ye((sir,vue)=>{\"use strict\";var fue=Sg(),Alt=fue.drawMode,Slt=fue.openMode,H3=HL(),sue=H3.i000,lue=H3.i090,uue=H3.i180,cue=H3.i270,Mlt=H3.cos45,Elt=H3.sin45,hue=GL(),WL=hue.p2r,f_=hue.r2p,klt=e_(),Clt=klt.clearOutline,ZL=c_(),Llt=ZL.readPaths,Plt=ZL.writePaths,Ilt=ZL.ellipseOver,Rlt=ZL.fixDatesForPaths;function Dlt(e,t){if(e.length){var r=e[0][0];if(r){var n=t.gd,i=t.isActiveShape,a=t.dragmode,o=(n.layout||{}).shapes||[];if(!Alt(a)&&i!==void 0){var s=n._fullLayout._activeShapeIndex;if(s<o.length)switch(n._fullLayout.shapes[s].type){case\"rect\":a=\"drawrect\";break;case\"circle\":a=\"drawcircle\";break;case\"line\":a=\"drawline\";break;case\"path\":var l=o[s].path||\"\";l[l.length-1]===\"Z\"?a=\"drawclosedpath\":a=\"drawopenpath\";break}}var u=due(e,t,a);Clt(n);for(var c=t.editHelpers,f=(c||{}).modifyItem,h=[],d=0;d<o.length;d++){var v=n._fullLayout.shapes[d];if(h[d]=v._input,i!==void 0&&d===n._fullLayout._activeShapeIndex){var x=u;switch(v.type){case\"line\":case\"rect\":case\"circle\":f(\"x0\",x.x0-(v.x0shift||0)),f(\"x1\",x.x1-(v.x1shift||0)),f(\"y0\",x.y0-(v.y0shift||0)),f(\"y1\",x.y1-(v.y1shift||0));break;case\"path\":f(\"path\",x.path);break}}}return i===void 0?(h.push(u),h):c?c.getUpdateObj():{}}}}function due(e,t,r){var n=e[0][0],i=t.gd,a=n.getAttribute(\"d\"),o=i._fullLayout.newshape,s=t.plotinfo,l=t.isActiveShape,u=s.xaxis,c=s.yaxis,f=!!s.domain||!s.xaxis,h=!!s.domain||!s.yaxis,d=Slt(r),v=Llt(a,i,s,l),x={editable:!0,visible:o.visible,name:o.name,showlegend:o.showlegend,legend:o.legend,legendwidth:o.legendwidth,legendgroup:o.legendgroup,legendgrouptitle:{text:o.legendgrouptitle.text,font:o.legendgrouptitle.font},legendrank:o.legendrank,label:o.label,xref:f?\"paper\":u._id,yref:h?\"paper\":c._id,layer:o.layer,opacity:o.opacity,line:{color:o.line.color,width:o.line.width,dash:o.line.dash}};d||(x.fillcolor=o.fillcolor,x.fillrule=o.fillrule);var b;if(v.length===1&&(b=v[0]),b&&b.length===5&&r===\"drawrect\")x.type=\"rect\",x.x0=b[0][1],x.y0=b[0][2],x.x1=b[2][1],x.y1=b[2][2];else if(b&&r===\"drawline\")x.type=\"line\",x.x0=b[0][1],x.y0=b[0][2],x.x1=b[1][1],x.y1=b[1][2];else if(b&&r===\"drawcircle\"){x.type=\"circle\";var p=b[sue][1],E=b[lue][1],k=b[uue][1],A=b[cue][1],L=b[sue][2],_=b[lue][2],C=b[uue][2],M=b[cue][2],g=s.xaxis&&(s.xaxis.type===\"date\"||s.xaxis.type===\"log\"),P=s.yaxis&&(s.yaxis.type===\"date\"||s.yaxis.type===\"log\");g&&(p=f_(s.xaxis,p),E=f_(s.xaxis,E),k=f_(s.xaxis,k),A=f_(s.xaxis,A)),P&&(L=f_(s.yaxis,L),_=f_(s.yaxis,_),C=f_(s.yaxis,C),M=f_(s.yaxis,M));var T=(E+A)/2,F=(L+C)/2,q=(A-E+k-p)/2,V=(M-_+C-L)/2,H=Ilt({x0:T,y0:F,x1:T+q*Mlt,y1:F+V*Elt});g&&(H.x0=WL(s.xaxis,H.x0),H.x1=WL(s.xaxis,H.x1)),P&&(H.y0=WL(s.yaxis,H.y0),H.y1=WL(s.yaxis,H.y1)),x.x0=H.x0,x.y0=H.y0,x.x1=H.x1,x.y1=H.y1}else x.type=\"path\",u&&c&&Rlt(v,u,c),x.path=Plt(v),b=null;return x}vue.exports={newShapes:Dlt,createShapeObj:due}});var VB=ye((lir,pue)=>{\"use strict\";var zlt=Sg(),Flt=zlt.selectMode,qlt=e_(),Olt=qlt.clearOutline,UB=c_(),Blt=UB.readPaths,Nlt=UB.writePaths,Ult=UB.fixDatesForPaths;pue.exports=function(t,r){if(t.length){var n=t[0][0];if(n){var i=n.getAttribute(\"d\"),a=r.gd,o=a._fullLayout.newselection,s=r.plotinfo,l=s.xaxis,u=s.yaxis,c=r.isActiveSelection,f=r.dragmode,h=(a.layout||{}).selections||[];if(!Flt(f)&&c!==void 0){var d=a._fullLayout._activeSelectionIndex;if(d<h.length)switch(a._fullLayout.selections[d].type){case\"rect\":f=\"select\";break;case\"path\":f=\"lasso\";break}}var v=Blt(i,a,s,c),x={xref:l._id,yref:u._id,opacity:o.opacity,line:{color:o.line.color,width:o.line.width,dash:o.line.dash}},b;v.length===1&&(b=v[0]),b&&b.length===5&&f===\"select\"?(x.type=\"rect\",x.x0=b[0][1],x.y0=b[0][2],x.x1=b[2][1],x.y1=b[2][2]):(x.type=\"path\",l&&u&&Ult(v,l,u),x.path=Nlt(v),b=null),Olt(a);for(var p=r.editHelpers,E=(p||{}).modifyItem,k=[],A=0;A<h.length;A++){var L=a._fullLayout.selections[A];if(!L){k[A]=L;continue}if(k[A]=L._input,c!==void 0&&A===a._fullLayout._activeSelectionIndex){var _=x;switch(L.type){case\"rect\":E(\"x0\",_.x0),E(\"x1\",_.x1),E(\"y0\",_.y0),E(\"y1\",_.y1);break;case\"path\":E(\"path\",_.path);break}}}return c===void 0?(k.push(x),k):p?p.getUpdateObj():{}}}}});var cM=ye((uir,gue)=>{\"use strict\";gue.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}});var h_=ye(Ld=>{\"use strict\";var Fb=cM(),mue=Mr(),YL=Qa();Ld.rangeToShapePosition=function(e){return e.type===\"log\"?e.r2d:function(t){return t}};Ld.shapePositionToRange=function(e){return e.type===\"log\"?e.d2r:function(t){return t}};Ld.decodeDate=function(e){return function(t){return t.replace&&(t=t.replace(\"_\",\" \")),e(t)}};Ld.encodeDate=function(e){return function(t){return e(t).replace(\" \",\"_\")}};Ld.extractPathCoords=function(e,t,r){var n=[],i=e.match(Fb.segmentRE);return i.forEach(function(a){var o=t[a.charAt(0)].drawn;if(o!==void 0){var s=a.substr(1).match(Fb.paramRE);if(!(!s||s.length<o)){var l=s[o],u=r?l:mue.cleanNumber(l);n.push(u)}}}),n};Ld.getDataToPixel=function(e,t,r,n,i){var a=e._fullLayout._size,o;if(t)if(i===\"domain\")o=function(l){return t._length*(n?1-l:l)+t._offset};else{var s=Ld.shapePositionToRange(t);o=function(l){var u=fM(t,r);return t._offset+t.r2p(s(l,!0))+u},t.type===\"date\"&&(o=Ld.decodeDate(o))}else n?o=function(l){return a.t+a.h*(1-l)}:o=function(l){return a.l+a.w*l};return o};Ld.getPixelToData=function(e,t,r,n){var i=e._fullLayout._size,a;if(t)if(n===\"domain\")a=function(s){var l=(s-t._offset)/t._length;return r?1-l:l};else{var o=Ld.rangeToShapePosition(t);a=function(s){return o(t.p2r(s-t._offset))}}else r?a=function(s){return 1-(s-i.t)/i.h}:a=function(s){return(s-i.l)/i.w};return a};Ld.roundPositionForSharpStrokeRendering=function(e,t){var r=Math.round(t%2)===1,n=Math.round(e);return r?n+.5:n};Ld.makeShapesOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.shapes[t]||{},n=e._fullLayout._plots[r.xref+r.yref],i=!!n;return i?n._hadPlotinfo=!0:(n={},r.xref&&r.xref!==\"paper\"&&(n.xaxis=e._fullLayout[r.xref+\"axis\"]),r.yref&&r.yref!==\"paper\"&&(n.yaxis=e._fullLayout[r.yref+\"axis\"])),n.xsizemode=r.xsizemode,n.ysizemode=r.ysizemode,n.xanchor=r.xanchor,n.yanchor=r.yanchor,{options:r,plotinfo:n}};Ld.makeSelectionsOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.selections[t]||{},n=e._fullLayout._plots[r.xref+r.yref],i=!!n;return i?n._hadPlotinfo=!0:(n={},r.xref&&(n.xaxis=e._fullLayout[r.xref+\"axis\"]),r.yref&&(n.yaxis=e._fullLayout[r.yref+\"axis\"])),{options:r,plotinfo:n}};Ld.getPathString=function(e,t){var r=t.type,n=YL.getRefType(t.xref),i=YL.getRefType(t.yref),a=YL.getFromId(e,t.xref),o=YL.getFromId(e,t.yref),s=e._fullLayout._size,l,u,c,f,h=fM(a,t.x0shift),d=fM(a,t.x1shift),v=fM(o,t.y0shift),x=fM(o,t.y1shift),b,p,E,k;if(a?n===\"domain\"?u=function(q){return a._offset+a._length*q}:(l=Ld.shapePositionToRange(a),u=function(q){return a._offset+a.r2p(l(q,!0))}):u=function(q){return s.l+s.w*q},o?i===\"domain\"?f=function(q){return o._offset+o._length*(1-q)}:(c=Ld.shapePositionToRange(o),f=function(q){return o._offset+o.r2p(c(q,!0))}):f=function(q){return s.t+s.h*(1-q)},r===\"path\")return a&&a.type===\"date\"&&(u=Ld.decodeDate(u)),o&&o.type===\"date\"&&(f=Ld.decodeDate(f)),Vlt(t,u,f);if(t.xsizemode===\"pixel\"){var A=u(t.xanchor);b=A+t.x0+h,p=A+t.x1+d}else b=u(t.x0)+h,p=u(t.x1)+d;if(t.ysizemode===\"pixel\"){var L=f(t.yanchor);E=L-t.y0+v,k=L-t.y1+x}else E=f(t.y0)+v,k=f(t.y1)+x;if(r===\"line\")return\"M\"+b+\",\"+E+\"L\"+p+\",\"+k;if(r===\"rect\")return\"M\"+b+\",\"+E+\"H\"+p+\"V\"+k+\"H\"+b+\"Z\";var _=(b+p)/2,C=(E+k)/2,M=Math.abs(_-b),g=Math.abs(C-E),P=\"A\"+M+\",\"+g,T=_+M+\",\"+C,F=_+\",\"+(C-g);return\"M\"+T+P+\" 0 1,1 \"+F+P+\" 0 0,1 \"+T+\"Z\"};function Vlt(e,t,r){var n=e.path,i=e.xsizemode,a=e.ysizemode,o=e.xanchor,s=e.yanchor;return n.replace(Fb.segmentRE,function(l){var u=0,c=l.charAt(0),f=Fb.paramIsX[c],h=Fb.paramIsY[c],d=Fb.numParams[c],v=l.substr(1).replace(Fb.paramRE,function(x){return f[u]?i===\"pixel\"?x=t(o)+Number(x):x=t(x):h[u]&&(a===\"pixel\"?x=r(s)-Number(x):x=r(x)),u++,u>d&&(x=\"X\"),x});return u>d&&(v=v.replace(/[\\s,]*X.*/,\"\"),mue.log(\"Ignoring extra params in segment \"+l)),c+v})}function fM(e,t){t=t||0;var r=0;return t&&e&&(e.type===\"category\"||e.type===\"multicategory\")&&(r=(e.r2p(1)-e.r2p(0))*t),r}});var GB=ye((fir,bue)=>{\"use strict\";var Hlt=Mr(),G3=Qa(),yue=Pl(),_ue=ao(),Glt=c_().readPaths,HB=h_(),jlt=HB.getPathString,xue=b6(),Wlt=Nh().FROM_TL;bue.exports=function(t,r,n,i){if(i.selectAll(\".shape-label\").remove(),!!(n.label.text||n.label.texttemplate)){var a;if(n.label.texttemplate){var o={};if(n.type!==\"path\"){var s=G3.getFromId(t,n.xref),l=G3.getFromId(t,n.yref);for(var u in xue){var c=xue[u](n,s,l);c!==void 0&&(o[u]=c)}}a=Hlt.texttemplateStringForShapes(n.label.texttemplate,{},t._fullLayout._d3locale,o)}else a=n.label.text;var f={\"data-index\":r},h=n.label.font,d={\"data-notex\":1},v=i.append(\"g\").attr(f).classed(\"shape-label\",!0),x=v.append(\"text\").attr(d).classed(\"shape-label-text\",!0).text(a),b,p,E,k;if(n.path){var A=jlt(t,n),L=Glt(A,t);b=1/0,E=1/0,p=-1/0,k=-1/0;for(var _=0;_<L.length;_++)for(var C=0;C<L[_].length;C++)for(var M=L[_][C],g=1;g<M.length;g+=2){var P=M[g],T=M[g+1];b=Math.min(b,P),p=Math.max(p,P),E=Math.min(E,T),k=Math.max(k,T)}}else{var F=G3.getFromId(t,n.xref),q=n.x0shift,V=n.x1shift,H=G3.getRefType(n.xref),X=G3.getFromId(t,n.yref),G=n.y0shift,N=n.y1shift,W=G3.getRefType(n.yref),re=function(Ee,Ae){var ze=HB.getDataToPixel(t,F,Ae,!1,H);return ze(Ee)},ae=function(Ee,Ae){var ze=HB.getDataToPixel(t,X,Ae,!0,W);return ze(Ee)};b=re(n.x0,q),p=re(n.x1,V),E=ae(n.y0,G),k=ae(n.y1,N)}var _e=n.label.textangle;_e===\"auto\"&&(n.type===\"line\"?_e=Zlt(b,E,p,k):_e=0),x.call(function(Ee){return Ee.call(_ue.font,h).attr({}),yue.convertToTspans(Ee,t),Ee});var Me=_ue.bBox(x.node()),ke=Xlt(b,E,p,k,n,_e,Me),ge=ke.textx,ie=ke.texty,Te=ke.xanchor;x.attr({\"text-anchor\":{left:\"start\",center:\"middle\",right:\"end\"}[Te],y:ie,x:ge,transform:\"rotate(\"+_e+\",\"+ge+\",\"+ie+\")\"}).call(yue.positionText,ge,ie)}};function Zlt(e,t,r,n){var i,a;return a=Math.abs(r-e),r>=e?i=t-n:i=n-t,-180/Math.PI*Math.atan2(i,a)}function Xlt(e,t,r,n,i,a,o){var s=i.label.textposition,l=i.label.textangle,u=i.label.padding,c=i.type,f=Math.PI/180*a,h=Math.sin(f),d=Math.cos(f),v=i.label.xanchor,x=i.label.yanchor,b,p,E,k;if(c===\"line\"){s===\"start\"?(b=e,p=t):s===\"end\"?(b=r,p=n):(b=(e+r)/2,p=(t+n)/2),v===\"auto\"&&(s===\"start\"?l===\"auto\"?r>e?v=\"left\":r<e?v=\"right\":v=\"center\":r>e?v=\"right\":r<e?v=\"left\":v=\"center\":s===\"end\"?l===\"auto\"?r>e?v=\"right\":r<e?v=\"left\":v=\"center\":r>e?v=\"left\":r<e?v=\"right\":v=\"center\":v=\"center\");var A={left:1,center:0,right:-1},L={bottom:-1,middle:0,top:1};if(l===\"auto\"){var _=L[x];E=-u*h*_,k=u*d*_}else{var C=A[v],M=L[x];E=u*C,k=u*M}b=b+E,p=p+k}else E=u+3,s.indexOf(\"right\")!==-1?(b=Math.max(e,r)-E,v===\"auto\"&&(v=\"right\")):s.indexOf(\"left\")!==-1?(b=Math.min(e,r)+E,v===\"auto\"&&(v=\"left\")):(b=(e+r)/2,v===\"auto\"&&(v=\"center\")),s.indexOf(\"top\")!==-1?p=Math.min(t,n):s.indexOf(\"bottom\")!==-1?p=Math.max(t,n):p=(t+n)/2,k=u,x===\"bottom\"?p=p-k:x===\"top\"&&(p=p+k);var g=Wlt[x],P=i.label.font.size,T=o.height,F=(T*g-P)*h,q=-(T*g-P)*d;return{textx:b+F,texty:p+q,xanchor:v}}});var $L=ye((hir,Cue)=>{\"use strict\";var Ylt=Mr(),Klt=Ylt.strTranslate,wue=gv(),Sue=Sg(),Jlt=Sue.drawMode,Mue=Sue.selectMode,Eue=ba(),Tue=va(),JL=HL(),$lt=JL.i000,Qlt=JL.i090,eut=JL.i180,tut=JL.i270,rut=e_(),kue=rut.clearOutlineControllers,WB=c_(),KL=WB.pointsOnRectangle,jB=WB.pointsOnEllipse,iut=WB.writePaths,nut=XL().newShapes,aut=XL().createShapeObj,out=VB(),sut=GB();Cue.exports=function e(t,r,n,i){i||(i=0);var a=n.gd;function o(){e(t,r,n,i++),(jB(t[0])||n.hasText)&&s({redrawing:!0})}function s(G){var N={};n.isActiveShape!==void 0&&(n.isActiveShape=!1,N=nut(r,n)),n.isActiveSelection!==void 0&&(n.isActiveSelection=!1,N=out(r,n),a._fullLayout._reselect=!0),Object.keys(N).length&&Eue.call((G||{}).redrawing?\"relayout\":\"_guiRelayout\",a,N)}var l=a._fullLayout,u=l._zoomlayer,c=n.dragmode,f=Jlt(c),h=Mue(c);(f||h)&&(a._fullLayout._outlining=!0),kue(a),r.attr(\"d\",iut(t));var d,v,x,b,p;if(!i&&(n.isActiveShape||n.isActiveSelection)){p=lut([],t);var E=u.append(\"g\").attr(\"class\",\"outline-controllers\");P(E),X()}if(f&&n.hasText){var k=u.select(\".label-temp\"),A=aut(r,n,n.dragmode);sut(a,\"label-temp\",A,k)}function L(G){x=+G.srcElement.getAttribute(\"data-i\"),b=+G.srcElement.getAttribute(\"data-j\"),d[x][b].moveFn=_}function _(G,N){if(t.length){var W=p[x][b][1],re=p[x][b][2],ae=t[x],_e=ae.length;if(KL(ae)){var Me=G,ke=N;if(n.isActiveSelection){var ge=Aue(ae,b);ge[1]===ae[b][1]?ke=0:Me=0}for(var ie=0;ie<_e;ie++)if(ie!==b){var Te=ae[ie];Te[1]===ae[b][1]&&(Te[1]=W+Me),Te[2]===ae[b][2]&&(Te[2]=re+ke)}if(ae[b][1]=W+Me,ae[b][2]=re+ke,!KL(ae))for(var Ee=0;Ee<_e;Ee++)for(var Ae=0;Ae<ae[Ee].length;Ae++)ae[Ee][Ae]=p[x][Ee][Ae]}else ae[b][1]=W+G,ae[b][2]=re+N;o()}}function C(){s()}function M(){if(t.length&&t[x]&&t[x].length){for(var G=[],N=0;N<t[x].length;N++)N!==b&&G.push(t[x][N]);G.length>1&&!(G.length===2&&G[1][0]===\"Z\")&&(b===0&&(G[0][0]=\"M\"),t[x]=G,o(),s())}}function g(G,N){if(G===2){x=+N.srcElement.getAttribute(\"data-i\"),b=+N.srcElement.getAttribute(\"data-j\");var W=t[x];!KL(W)&&!jB(W)&&M()}}function P(G){d=[];for(var N=0;N<t.length;N++){var W=t[N],re=KL(W),ae=!re&&jB(W);d[N]=[];for(var _e=W.length,Me=0;Me<_e;Me++)if(W[Me][0]!==\"Z\"&&!(ae&&Me!==$lt&&Me!==Qlt&&Me!==eut&&Me!==tut)){var ke=re&&n.isActiveSelection,ge;ke&&(ge=Aue(W,Me));var ie=W[Me][1],Te=W[Me][2],Ee=G.append(ke?\"rect\":\"circle\").attr(\"data-i\",N).attr(\"data-j\",Me).style({fill:Tue.background,stroke:Tue.defaultLine,\"stroke-width\":1,\"shape-rendering\":\"crispEdges\"});if(ke){var Ae=ge[1]-ie,ze=ge[2]-Te,Ce=ze?5:Math.max(Math.min(25,Math.abs(Ae)-5),5),me=Ae?5:Math.max(Math.min(25,Math.abs(ze)-5),5);Ee.classed(ze?\"cursor-ew-resize\":\"cursor-ns-resize\",!0).attr(\"width\",Ce).attr(\"height\",me).attr(\"x\",ie-Ce/2).attr(\"y\",Te-me/2).attr(\"transform\",Klt(Ae/2,ze/2))}else Ee.classed(\"cursor-grab\",!0).attr(\"r\",5).attr(\"cx\",ie).attr(\"cy\",Te);d[N][Me]={element:Ee.node(),gd:a,prepFn:L,doneFn:C,clickFn:g},wue.init(d[N][Me])}}}function T(G,N){if(t.length)for(var W=0;W<t.length;W++)for(var re=0;re<t[W].length;re++)for(var ae=0;ae+2<t[W][re].length;ae+=2)t[W][re][ae+1]=p[W][re][ae+1]+G,t[W][re][ae+2]=p[W][re][ae+2]+N}function F(G,N){T(G,N),o()}function q(G){x=+G.srcElement.getAttribute(\"data-i\"),x||(x=0),v[x].moveFn=F}function V(){s()}function H(G){G===2&&uut(a)}function X(){if(v=[],!!t.length){var G=0;v[G]={element:r[0][0],gd:a,prepFn:q,doneFn:V,clickFn:H},wue.init(v[G])}}};function lut(e,t){for(var r=0;r<t.length;r++){var n=t[r];e[r]=[];for(var i=0;i<n.length;i++){e[r][i]=[];for(var a=0;a<n[i].length;a++)e[r][i][a]=n[i][a]}}return e}function Aue(e,t){var r=e[t][1],n=e[t][2],i=e.length,a,o,s;return a=(t+1)%i,o=e[a][1],s=e[a][2],o===r&&s===n&&(a=(t+2)%i,o=e[a][1],s=e[a][2]),[a,o,s]}function uut(e){if(Mue(e._fullLayout.dragmode)){kue(e);var t=e._fullLayout._activeSelectionIndex,r=(e.layout||{}).selections||[];if(t<r.length){for(var n=[],i=0;i<r.length;i++)i!==t&&n.push(r[i]);delete e._fullLayout._activeSelectionIndex;var a=e._fullLayout.selections[t];e._fullLayout._deselect={xref:a.xref,yref:a.yref},Eue.call(\"_guiRelayout\",e,{selections:n})}}}});var rP=ye((dir,Bue)=>{\"use strict\";var cut=xa(),zue=ba(),Lue=Mr(),j3=Qa(),fut=c_().readPaths,hut=$L(),eP=GB(),Fue=e_().clearOutlineControllers,ZB=va(),YB=ao(),dut=Vs().arrayEditor,Pue=gv(),Iue=Tg(),qb=cM(),Mp=h_(),XB=Mp.getPathString;Bue.exports={draw:KB,drawOne:que,eraseActiveShape:gut,drawLabel:eP};function KB(e){var t=e._fullLayout;t._shapeUpperLayer.selectAll(\"path\").remove(),t._shapeLowerLayer.selectAll(\"path\").remove(),t._shapeUpperLayer.selectAll(\"text\").remove(),t._shapeLowerLayer.selectAll(\"text\").remove();for(var r in t._plots){var n=t._plots[r].shapelayer;n&&(n.selectAll(\"path\").remove(),n.selectAll(\"text\").remove())}for(var i=0;i<t.shapes.length;i++)t.shapes[i].visible===!0&&que(e,i)}function QL(e){return!!e._fullLayout._outlining}function tP(e){return!e._context.edits.shapePosition}function que(e,t){e._fullLayout._paperdiv.selectAll('.shapelayer [data-index=\"'+t+'\"]').remove();var r=Mp.makeShapesOptionsAndPlotinfo(e,t),n=r.options,i=r.plotinfo;if(!n._input||n.visible!==!0)return;if(n.layer===\"above\")o(e._fullLayout._shapeUpperLayer);else if(n.xref===\"paper\"||n.yref===\"paper\")o(e._fullLayout._shapeLowerLayer);else if(n.layer===\"between\")o(i.shapelayerBetween);else if(i._hadPlotinfo){var a=i.mainplotinfo||i;o(a.shapelayer)}else o(e._fullLayout._shapeLowerLayer);function o(s){var l=XB(e,n),u={\"data-index\":t,\"fill-rule\":n.fillrule,d:l},c=n.opacity,f=n.fillcolor,h=n.line.width?n.line.color:\"rgba(0,0,0,0)\",d=n.line.width,v=n.line.dash;!d&&n.editable===!0&&(d=5,v=\"solid\");var x=l[l.length-1]!==\"Z\",b=tP(e)&&n.editable&&e._fullLayout._activeShapeIndex===t;b&&(f=x?\"rgba(0,0,0,0)\":e._fullLayout.activeshape.fillcolor,c=e._fullLayout.activeshape.opacity);var p=s.append(\"g\").classed(\"shape-group\",!0).attr({\"data-index\":t}),E=p.append(\"path\").attr(u).style(\"opacity\",c).call(ZB.stroke,h).call(ZB.fill,f).call(YB.dashLine,v,d);Oue(p,e,n),eP(e,t,n,p);var k;if((b||e._context.edits.shapePosition)&&(k=dut(e.layout,\"shapes\",n)),b){E.style({cursor:\"move\"});var A={element:E.node(),plotinfo:i,gd:e,editHelpers:k,hasText:n.label.text||n.label.texttemplate,isActiveShape:!0},L=fut(l,e);hut(L,E,A)}else e._context.edits.shapePosition?vut(e,E,n,t,s,k):n.editable===!0&&E.style(\"pointer-events\",x||ZB.opacity(f)*c<=.5?\"stroke\":\"all\");E.node().addEventListener(\"click\",function(){return put(e,E)})}}function Oue(e,t,r){var n=(r.xref+r.yref).replace(/paper/g,\"\").replace(/[xyz][1-9]* *domain/g,\"\");YB.setClipUrl(e,n?\"clip\"+t._fullLayout._uid+n:null,t)}function vut(e,t,r,n,i,a){var o=10,s=10,l=r.xsizemode===\"pixel\",u=r.ysizemode===\"pixel\",c=r.type===\"line\",f=r.type===\"path\",h=a.modifyItem,d,v,x,b,p,E,k,A,L,_,C,M,g,P,T,F=cut.select(t.node().parentNode),q=j3.getFromId(e,r.xref),V=j3.getRefType(r.xref),H=j3.getFromId(e,r.yref),X=j3.getRefType(r.yref),G=r.x0shift,N=r.x1shift,W=r.y0shift,re=r.y1shift,ae=function(rt,ot){var Rt=Mp.getDataToPixel(e,q,ot,!1,V);return Rt(rt)},_e=function(rt,ot){var Rt=Mp.getDataToPixel(e,H,ot,!0,X);return Rt(rt)},Me=Mp.getPixelToData(e,q,!1,V),ke=Mp.getPixelToData(e,H,!0,X),ge=Ee(),ie={element:ge.node(),gd:e,prepFn:Ce,doneFn:me,clickFn:Re},Te;Pue.init(ie),ge.node().onmousemove=ze;function Ee(){return c?Ae():t}function Ae(){var rt=10,ot=Math.max(r.line.width,rt),Rt=i.append(\"g\").attr(\"data-index\",n).attr(\"drag-helper\",!0);Rt.append(\"path\").attr(\"d\",t.attr(\"d\")).style({cursor:\"move\",\"stroke-width\":ot,\"stroke-opacity\":\"0\"});var kt={\"fill-opacity\":\"0\"},Ct=Math.max(ot/2,rt);return Rt.append(\"circle\").attr({\"data-line-point\":\"start-point\",cx:l?ae(r.xanchor)+r.x0:ae(r.x0,G),cy:u?_e(r.yanchor)-r.y0:_e(r.y0,W),r:Ct}).style(kt).classed(\"cursor-grab\",!0),Rt.append(\"circle\").attr({\"data-line-point\":\"end-point\",cx:l?ae(r.xanchor)+r.x1:ae(r.x1,N),cy:u?_e(r.yanchor)-r.y1:_e(r.y1,re),r:Ct}).style(kt).classed(\"cursor-grab\",!0),Rt}function ze(rt){if(QL(e)){Te=null;return}if(c)rt.target.tagName===\"path\"?Te=\"move\":Te=rt.target.attributes[\"data-line-point\"].value===\"start-point\"?\"resize-over-start-point\":\"resize-over-end-point\";else{var ot=ie.element.getBoundingClientRect(),Rt=ot.right-ot.left,kt=ot.bottom-ot.top,Ct=rt.clientX-ot.left,Yt=rt.clientY-ot.top,xr=!f&&Rt>o&&kt>s&&!rt.shiftKey?Pue.getCursor(Ct/Rt,1-Yt/kt):\"move\";Iue(t,xr),Te=xr.split(\"-\")[0]}}function Ce(rt){QL(e)||(l&&(p=ae(r.xanchor)),u&&(E=_e(r.yanchor)),r.type===\"path\"?T=r.path:(d=l?r.x0:ae(r.x0),v=u?r.y0:_e(r.y0),x=l?r.x1:ae(r.x1),b=u?r.y1:_e(r.y1)),d<x?(L=d,g=\"x0\",_=x,P=\"x1\"):(L=x,g=\"x1\",_=d,P=\"x0\"),!u&&v<b||u&&v>b?(k=v,C=\"y0\",A=b,M=\"y1\"):(k=b,C=\"y1\",A=v,M=\"y0\"),ze(rt),nt(i,r),qt(t,r,e),ie.moveFn=Te===\"move\"?ce:Ge,ie.altKey=rt.altKey)}function me(){QL(e)||(Iue(t),ct(i),Oue(t,e,r),zue.call(\"_guiRelayout\",e,a.getUpdateObj()))}function Re(){QL(e)||ct(i)}function ce(rt,ot){if(r.type===\"path\"){var Rt=function(Yt){return Yt},kt=Rt,Ct=Rt;l?h(\"xanchor\",r.xanchor=Me(p+rt)):(kt=function(xr){return Me(ae(xr)+rt)},q&&q.type===\"date\"&&(kt=Mp.encodeDate(kt))),u?h(\"yanchor\",r.yanchor=ke(E+ot)):(Ct=function(xr){return ke(_e(xr)+ot)},H&&H.type===\"date\"&&(Ct=Mp.encodeDate(Ct))),h(\"path\",r.path=Rue(T,kt,Ct))}else l?h(\"xanchor\",r.xanchor=Me(p+rt)):(h(\"x0\",r.x0=Me(d+rt)),h(\"x1\",r.x1=Me(x+rt))),u?h(\"yanchor\",r.yanchor=ke(E+ot)):(h(\"y0\",r.y0=ke(v+ot)),h(\"y1\",r.y1=ke(b+ot)));t.attr(\"d\",XB(e,r)),nt(i,r),eP(e,n,r,F)}function Ge(rt,ot){if(f){var Rt=function(_r){return _r},kt=Rt,Ct=Rt;l?h(\"xanchor\",r.xanchor=Me(p+rt)):(kt=function(Br){return Me(ae(Br)+rt)},q&&q.type===\"date\"&&(kt=Mp.encodeDate(kt))),u?h(\"yanchor\",r.yanchor=ke(E+ot)):(Ct=function(Br){return ke(_e(Br)+ot)},H&&H.type===\"date\"&&(Ct=Mp.encodeDate(Ct))),h(\"path\",r.path=Rue(T,kt,Ct))}else if(c){if(Te===\"resize-over-start-point\"){var Yt=d+rt,xr=u?v-ot:v+ot;h(\"x0\",r.x0=l?Yt:Me(Yt)),h(\"y0\",r.y0=u?xr:ke(xr))}else if(Te===\"resize-over-end-point\"){var er=x+rt,Ke=u?b-ot:b+ot;h(\"x1\",r.x1=l?er:Me(er)),h(\"y1\",r.y1=u?Ke:ke(Ke))}}else{var xt=function(_r){return Te.indexOf(_r)!==-1},bt=xt(\"n\"),Lt=xt(\"s\"),St=xt(\"w\"),Et=xt(\"e\"),dt=bt?k+ot:k,Ht=Lt?A+ot:A,$t=St?L+rt:L,fr=Et?_+rt:_;u&&(bt&&(dt=k-ot),Lt&&(Ht=A-ot)),(!u&&Ht-dt>s||u&&dt-Ht>s)&&(h(C,r[C]=u?dt:ke(dt)),h(M,r[M]=u?Ht:ke(Ht))),fr-$t>o&&(h(g,r[g]=l?$t:Me($t)),h(P,r[P]=l?fr:Me(fr)))}t.attr(\"d\",XB(e,r)),nt(i,r),eP(e,n,r,F)}function nt(rt,ot){(l||u)&&Rt();function Rt(){var kt=ot.type!==\"path\",Ct=rt.selectAll(\".visual-cue\").data([0]),Yt=1;Ct.enter().append(\"path\").attr({fill:\"#fff\",\"fill-rule\":\"evenodd\",stroke:\"#000\",\"stroke-width\":Yt}).classed(\"visual-cue\",!0);var xr=ae(l?ot.xanchor:Lue.midRange(kt?[ot.x0,ot.x1]:Mp.extractPathCoords(ot.path,qb.paramIsX))),er=_e(u?ot.yanchor:Lue.midRange(kt?[ot.y0,ot.y1]:Mp.extractPathCoords(ot.path,qb.paramIsY)));if(xr=Mp.roundPositionForSharpStrokeRendering(xr,Yt),er=Mp.roundPositionForSharpStrokeRendering(er,Yt),l&&u){var Ke=\"M\"+(xr-1-Yt)+\",\"+(er-1-Yt)+\"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z\";Ct.attr(\"d\",Ke)}else if(l){var xt=\"M\"+(xr-1-Yt)+\",\"+(er-9-Yt)+\"v18 h2 v-18 Z\";Ct.attr(\"d\",xt)}else{var bt=\"M\"+(xr-9-Yt)+\",\"+(er-1-Yt)+\"h18 v2 h-18 Z\";Ct.attr(\"d\",bt)}}}function ct(rt){rt.selectAll(\".visual-cue\").remove()}function qt(rt,ot,Rt){var kt=ot.xref,Ct=ot.yref,Yt=j3.getFromId(Rt,kt),xr=j3.getFromId(Rt,Ct),er=\"\";kt!==\"paper\"&&!Yt.autorange&&(er+=kt),Ct!==\"paper\"&&!xr.autorange&&(er+=Ct),YB.setClipUrl(rt,er?\"clip\"+Rt._fullLayout._uid+er:null,Rt)}}function Rue(e,t,r){return e.replace(qb.segmentRE,function(n){var i=0,a=n.charAt(0),o=qb.paramIsX[a],s=qb.paramIsY[a],l=qb.numParams[a],u=n.substr(1).replace(qb.paramRE,function(c){return i>=l||(o[i]?c=t(c):s[i]&&(c=r(c)),i++),c});return a+u})}function put(e,t){if(tP(e)){var r=t.node(),n=+r.getAttribute(\"data-index\");if(n>=0){if(n===e._fullLayout._activeShapeIndex){Due(e);return}e._fullLayout._activeShapeIndex=n,e._fullLayout._deactivateShape=Due,KB(e)}}}function Due(e){if(tP(e)){var t=e._fullLayout._activeShapeIndex;t>=0&&(Fue(e),delete e._fullLayout._activeShapeIndex,KB(e))}}function gut(e){if(tP(e)){Fue(e);var t=e._fullLayout._activeShapeIndex,r=(e.layout||{}).shapes||[];if(t<r.length){for(var n=[],i=0;i<r.length;i++)i!==t&&n.push(r[i]);return delete e._fullLayout._activeShapeIndex,zue.call(\"_guiRelayout\",e,{shapes:n})}}}});var QB=ye((vir,Xue)=>{\"use strict\";var S0=ba(),Nue=Xu(),Uue=af(),al=UL(),mut=rP().eraseActiveShape,iP=Mr(),Os=iP._,ol=Xue.exports={};ol.toImage={name:\"toImage\",title:function(e){var t=e._context.toImageButtonOptions||{},r=t.format||\"png\";return r===\"png\"?Os(e,\"Download plot as a png\"):Os(e,\"Download plot\")},icon:al.camera,click:function(e){var t=e._context.toImageButtonOptions,r={format:t.format||\"png\"};iP.notifier(Os(e,\"Taking snapshot - this may take a few seconds\"),\"long\"),[\"filename\",\"width\",\"height\",\"scale\"].forEach(function(n){n in t&&(r[n]=t[n])}),S0.call(\"downloadImage\",e,r).then(function(n){iP.notifier(Os(e,\"Snapshot succeeded\")+\" - \"+n,\"long\")}).catch(function(){iP.notifier(Os(e,\"Sorry, there was a problem downloading your snapshot!\"),\"long\")})}};ol.sendDataToCloud={name:\"sendDataToCloud\",title:function(e){return Os(e,\"Edit in Chart Studio\")},icon:al.disk,click:function(e){Nue.sendDataToCloud(e)}};ol.editInChartStudio={name:\"editInChartStudio\",title:function(e){return Os(e,\"Edit in Chart Studio\")},icon:al.pencil,click:function(e){Nue.sendDataToCloud(e)}};ol.zoom2d={name:\"zoom2d\",_cat:\"zoom\",title:function(e){return Os(e,\"Zoom\")},attr:\"dragmode\",val:\"zoom\",icon:al.zoombox,click:Ov};ol.pan2d={name:\"pan2d\",_cat:\"pan\",title:function(e){return Os(e,\"Pan\")},attr:\"dragmode\",val:\"pan\",icon:al.pan,click:Ov};ol.select2d={name:\"select2d\",_cat:\"select\",title:function(e){return Os(e,\"Box Select\")},attr:\"dragmode\",val:\"select\",icon:al.selectbox,click:Ov};ol.lasso2d={name:\"lasso2d\",_cat:\"lasso\",title:function(e){return Os(e,\"Lasso Select\")},attr:\"dragmode\",val:\"lasso\",icon:al.lasso,click:Ov};ol.drawclosedpath={name:\"drawclosedpath\",title:function(e){return Os(e,\"Draw closed freeform\")},attr:\"dragmode\",val:\"drawclosedpath\",icon:al.drawclosedpath,click:Ov};ol.drawopenpath={name:\"drawopenpath\",title:function(e){return Os(e,\"Draw open freeform\")},attr:\"dragmode\",val:\"drawopenpath\",icon:al.drawopenpath,click:Ov};ol.drawline={name:\"drawline\",title:function(e){return Os(e,\"Draw line\")},attr:\"dragmode\",val:\"drawline\",icon:al.drawline,click:Ov};ol.drawrect={name:\"drawrect\",title:function(e){return Os(e,\"Draw rectangle\")},attr:\"dragmode\",val:\"drawrect\",icon:al.drawrect,click:Ov};ol.drawcircle={name:\"drawcircle\",title:function(e){return Os(e,\"Draw circle\")},attr:\"dragmode\",val:\"drawcircle\",icon:al.drawcircle,click:Ov};ol.eraseshape={name:\"eraseshape\",title:function(e){return Os(e,\"Erase active shape\")},icon:al.eraseshape,click:mut};ol.zoomIn2d={name:\"zoomIn2d\",_cat:\"zoomin\",title:function(e){return Os(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:al.zoom_plus,click:Ov};ol.zoomOut2d={name:\"zoomOut2d\",_cat:\"zoomout\",title:function(e){return Os(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:al.zoom_minus,click:Ov};ol.autoScale2d={name:\"autoScale2d\",_cat:\"autoscale\",title:function(e){return Os(e,\"Autoscale\")},attr:\"zoom\",val:\"auto\",icon:al.autoscale,click:Ov};ol.resetScale2d={name:\"resetScale2d\",_cat:\"resetscale\",title:function(e){return Os(e,\"Reset axes\")},attr:\"zoom\",val:\"reset\",icon:al.home,click:Ov};ol.hoverClosestCartesian={name:\"hoverClosestCartesian\",_cat:\"hoverclosest\",title:function(e){return Os(e,\"Show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:al.tooltip_basic,gravity:\"ne\",click:Ov};ol.hoverCompareCartesian={name:\"hoverCompareCartesian\",_cat:\"hoverCompare\",title:function(e){return Os(e,\"Compare data on hover\")},attr:\"hovermode\",val:function(e){return e._fullLayout._isHoriz?\"y\":\"x\"},icon:al.tooltip_compare,gravity:\"ne\",click:Ov};function Ov(e,t){var r=t.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=e._fullLayout,o={},s=Uue.list(e,null,!0),l=a._cartesianSpikesEnabled,u,c;if(n===\"zoom\"){var f=i===\"in\"?.5:2,h=(1+f)/2,d=(1-f)/2,v;for(c=0;c<s.length;c++)if(u=s[c],!u.fixedrange)if(v=u._name,i===\"auto\")o[v+\".autorange\"]=!0;else if(i===\"reset\")u._rangeInitial0===void 0&&u._rangeInitial1===void 0?o[v+\".autorange\"]=!0:u._rangeInitial0===void 0?(o[v+\".autorange\"]=u._autorangeInitial,o[v+\".range\"]=[null,u._rangeInitial1]):u._rangeInitial1===void 0?(o[v+\".range\"]=[u._rangeInitial0,null],o[v+\".autorange\"]=u._autorangeInitial):o[v+\".range\"]=[u._rangeInitial0,u._rangeInitial1],u._showSpikeInitial!==void 0&&(o[v+\".showspikes\"]=u._showSpikeInitial,l===\"on\"&&!u._showSpikeInitial&&(l=\"off\"));else{var x=[u.r2l(u.range[0]),u.r2l(u.range[1])],b=[h*x[0]+d*x[1],h*x[1]+d*x[0]];o[v+\".range[0]\"]=u.l2r(b[0]),o[v+\".range[1]\"]=u.l2r(b[1])}}else n===\"hovermode\"&&(i===\"x\"||i===\"y\")&&(i=a._isHoriz?\"y\":\"x\",r.setAttribute(\"data-val\",i)),o[n]=i;a._cartesianSpikesEnabled=l,S0.call(\"_guiRelayout\",e,o)}ol.zoom3d={name:\"zoom3d\",_cat:\"zoom\",title:function(e){return Os(e,\"Zoom\")},attr:\"scene.dragmode\",val:\"zoom\",icon:al.zoombox,click:nP};ol.pan3d={name:\"pan3d\",_cat:\"pan\",title:function(e){return Os(e,\"Pan\")},attr:\"scene.dragmode\",val:\"pan\",icon:al.pan,click:nP};ol.orbitRotation={name:\"orbitRotation\",title:function(e){return Os(e,\"Orbital rotation\")},attr:\"scene.dragmode\",val:\"orbit\",icon:al[\"3d_rotate\"],click:nP};ol.tableRotation={name:\"tableRotation\",title:function(e){return Os(e,\"Turntable rotation\")},attr:\"scene.dragmode\",val:\"turntable\",icon:al[\"z-axis\"],click:nP};function nP(e,t){for(var r=t.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=e._fullLayout._subplots.gl3d||[],o={},s=n.split(\".\"),l=0;l<a.length;l++)o[a[l]+\".\"+s[1]]=i;var u=i===\"pan\"?i:\"zoom\";o.dragmode=u,S0.call(\"_guiRelayout\",e,o)}ol.resetCameraDefault3d={name:\"resetCameraDefault3d\",_cat:\"resetCameraDefault\",title:function(e){return Os(e,\"Reset camera to default\")},attr:\"resetDefault\",icon:al.home,click:JB};ol.resetCameraLastSave3d={name:\"resetCameraLastSave3d\",_cat:\"resetCameraLastSave\",title:function(e){return Os(e,\"Reset camera to last save\")},attr:\"resetLastSave\",icon:al.movie,click:JB};function JB(e,t){for(var r=t.currentTarget,n=r.getAttribute(\"data-attr\"),i=n===\"resetLastSave\",a=n===\"resetDefault\",o=e._fullLayout,s=o._subplots.gl3d||[],l={},u=0;u<s.length;u++){var c=s[u],f=c+\".camera\",h=c+\".aspectratio\",d=c+\".aspectmode\",v=o[c]._scene,x;i?(l[f+\".up\"]=v.viewInitial.up,l[f+\".eye\"]=v.viewInitial.eye,l[f+\".center\"]=v.viewInitial.center,x=!0):a&&(l[f+\".up\"]=null,l[f+\".eye\"]=null,l[f+\".center\"]=null,x=!0),x&&(l[h+\".x\"]=v.viewInitial.aspectratio.x,l[h+\".y\"]=v.viewInitial.aspectratio.y,l[h+\".z\"]=v.viewInitial.aspectratio.z,l[d]=v.viewInitial.aspectmode)}S0.call(\"_guiRelayout\",e,l)}ol.hoverClosest3d={name:\"hoverClosest3d\",_cat:\"hoverclosest\",title:function(e){return Os(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:al.tooltip_basic,gravity:\"ne\",click:yut};function Vue(e,t){var r=t.currentTarget,n=r._previousVal,i=e._fullLayout,a=i._subplots.gl3d||[],o=[\"xaxis\",\"yaxis\",\"zaxis\"],s={},l={};if(n)l=n,r._previousVal=null;else{for(var u=0;u<a.length;u++){var c=a[u],f=i[c],h=c+\".hovermode\";s[h]=f.hovermode,l[h]=!1;for(var d=0;d<3;d++){var v=o[d],x=c+\".\"+v+\".showspikes\";l[x]=!1,s[x]=f[v].showspikes}}r._previousVal=s}return l}function yut(e,t){var r=Vue(e,t);S0.call(\"_guiRelayout\",e,r)}ol.zoomInGeo={name:\"zoomInGeo\",_cat:\"zoomin\",title:function(e){return Os(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:al.zoom_plus,click:$B};ol.zoomOutGeo={name:\"zoomOutGeo\",_cat:\"zoomout\",title:function(e){return Os(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:al.zoom_minus,click:$B};ol.resetGeo={name:\"resetGeo\",_cat:\"reset\",title:function(e){return Os(e,\"Reset\")},attr:\"reset\",val:null,icon:al.autoscale,click:$B};ol.hoverClosestGeo={name:\"hoverClosestGeo\",_cat:\"hoverclosest\",title:function(e){return Os(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:al.tooltip_basic,gravity:\"ne\",click:Gue};function $B(e,t){for(var r=t.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=e._fullLayout,o=a._subplots.geo||[],s=0;s<o.length;s++){var l=o[s],u=a[l];if(n===\"zoom\"){var c=u.projection.scale,f=i===\"in\"?2*c:.5*c;S0.call(\"_guiRelayout\",e,l+\".projection.scale\",f)}}n===\"reset\"&&W3(e,\"geo\")}ol.hoverClosestPie={name:\"hoverClosestPie\",_cat:\"hoverclosest\",title:function(e){return Os(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:al.tooltip_basic,gravity:\"ne\",click:Gue};function Hue(e){var t=e._fullLayout;return t.hovermode?!1:t._has(\"cartesian\")?t._isHoriz?\"y\":\"x\":\"closest\"}function Gue(e){var t=Hue(e);S0.call(\"_guiRelayout\",e,\"hovermode\",t)}ol.resetViewSankey={name:\"resetSankeyGroup\",title:function(e){return Os(e,\"Reset view\")},icon:al.home,click:function(e){for(var t={\"node.groups\":[],\"node.x\":[],\"node.y\":[]},r=0;r<e._fullData.length;r++){var n=e._fullData[r]._viewInitial;t[\"node.groups\"].push(n.node.groups.slice()),t[\"node.x\"].push(n.node.x.slice()),t[\"node.y\"].push(n.node.y.slice())}S0.call(\"restyle\",e,t)}};ol.toggleHover={name:\"toggleHover\",title:function(e){return Os(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:al.tooltip_basic,gravity:\"ne\",click:function(e,t){var r=Vue(e,t);r.hovermode=Hue(e),S0.call(\"_guiRelayout\",e,r)}};ol.resetViews={name:\"resetViews\",title:function(e){return Os(e,\"Reset views\")},icon:al.home,click:function(e,t){var r=t.currentTarget;r.setAttribute(\"data-attr\",\"zoom\"),r.setAttribute(\"data-val\",\"reset\"),Ov(e,t),r.setAttribute(\"data-attr\",\"resetLastSave\"),JB(e,t),W3(e,\"geo\"),W3(e,\"mapbox\"),W3(e,\"map\")}};ol.toggleSpikelines={name:\"toggleSpikelines\",title:function(e){return Os(e,\"Toggle Spike Lines\")},icon:al.spikeline,attr:\"_cartesianSpikesEnabled\",val:\"on\",click:function(e){var t=e._fullLayout,r=t._cartesianSpikesEnabled;t._cartesianSpikesEnabled=r===\"on\"?\"off\":\"on\",S0.call(\"_guiRelayout\",e,_ut(e))}};function _ut(e){for(var t=e._fullLayout,r=t._cartesianSpikesEnabled===\"on\",n=Uue.list(e,null,!0),i={},a=0;a<n.length;a++){var o=n[a];i[o._name+\".showspikes\"]=r?!0:o._showSpikeInitial}return i}ol.resetViewMapbox={name:\"resetViewMapbox\",_cat:\"resetView\",title:function(e){return Os(e,\"Reset view\")},attr:\"reset\",icon:al.home,click:function(e){W3(e,\"mapbox\")}};ol.resetViewMap={name:\"resetViewMap\",_cat:\"resetView\",title:function(e){return Os(e,\"Reset view\")},attr:\"reset\",icon:al.home,click:function(e){W3(e,\"map\")}};ol.zoomInMapbox={name:\"zoomInMapbox\",_cat:\"zoomin\",title:function(e){return Os(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:al.zoom_plus,click:jue};ol.zoomInMap={name:\"zoomInMap\",_cat:\"zoomin\",title:function(e){return Os(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:al.zoom_plus,click:Wue};ol.zoomOutMapbox={name:\"zoomOutMapbox\",_cat:\"zoomout\",title:function(e){return Os(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:al.zoom_minus,click:jue};ol.zoomOutMap={name:\"zoomOutMap\",_cat:\"zoomout\",title:function(e){return Os(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:al.zoom_minus,click:Wue};function jue(e,t){Zue(e,t,\"mapbox\")}function Wue(e,t){Zue(e,t,\"map\")}function Zue(e,t,r){for(var n=t.currentTarget,i=n.getAttribute(\"data-val\"),a=e._fullLayout,o=a._subplots[r]||[],s=1.05,l={},u=0;u<o.length;u++){var c=o[u],f=a[c].zoom,h=i===\"in\"?s*f:f/s;l[c+\".zoom\"]=h}S0.call(\"_guiRelayout\",e,l)}function W3(e,t){for(var r=e._fullLayout,n=r._subplots[t]||[],i={},a=0;a<n.length;a++)for(var o=n[a],s=r[o]._subplot,l=s.viewInitial,u=Object.keys(l),c=0;c<u.length;c++){var f=u[c];i[o+\".\"+f]=l[f]}S0.call(\"_guiRelayout\",e,i)}});var eN=ye((pir,$ue)=>{\"use strict\";var Yue=QB(),xut=Object.keys(Yue),Kue=[\"drawline\",\"drawopenpath\",\"drawclosedpath\",\"drawcircle\",\"drawrect\",\"eraseshape\"],Jue=[\"v1hovermode\",\"hoverclosest\",\"hovercompare\",\"togglehover\",\"togglespikelines\"].concat(Kue),Z3=[],but=function(e){if(Jue.indexOf(e._cat||e.name)===-1){var t=e.name,r=(e._cat||e.name).toLowerCase();Z3.indexOf(t)===-1&&Z3.push(t),Z3.indexOf(r)===-1&&Z3.push(r)}};xut.forEach(function(e){but(Yue[e])});Z3.sort();$ue.exports={DRAW_MODES:Kue,backButtons:Jue,foreButtons:Z3}});var tN=ye((mir,Que)=>{\"use strict\";var gir=eN();Que.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\"}}});var tce=ye((yir,ece)=>{\"use strict\";var wut=Mr(),hM=va(),Tut=Vs(),Aut=tN();ece.exports=function(t,r){var n=t.modebar||{},i=Tut.newContainer(r,\"modebar\");function a(s,l){return wut.coerce(n,i,Aut,s,l)}a(\"orientation\"),a(\"bgcolor\",hM.addOpacity(r.paper_bgcolor,.5));var o=hM.contrast(hM.rgb(r.modebar.bgcolor));a(\"color\",hM.addOpacity(o,.3)),a(\"activecolor\",hM.addOpacity(o,.7)),a(\"uirevision\",r.uirevision),a(\"add\"),a(\"remove\")}});var ace=ye((_ir,nce)=>{\"use strict\";var rN=xa(),Sut=uo(),aP=Mr(),rce=UL(),Mut=e6().version,Eut=new DOMParser;function ice(e){this.container=e.container,this.element=document.createElement(\"div\"),this.update(e.graphInfo,e.buttons),this.container.appendChild(this.element)}var Tm=ice.prototype;Tm.update=function(e,t){this.graphInfo=e;var r=this.graphInfo._context,n=this.graphInfo._fullLayout,i=\"modebar-\"+n._uid;this.element.setAttribute(\"id\",i),this._uid=i,this.element.className=\"modebar\",r.displayModeBar===\"hover\"&&(this.element.className+=\" modebar--hover ease-bg\"),n.modebar.orientation===\"v\"&&(this.element.className+=\" vertical\",t=t.reverse());var a=n.modebar,o=\"#\"+i+\" .modebar-group\";document.querySelectorAll(o).forEach(function(f){f.style.backgroundColor=a.bgcolor});var s=!this.hasButtons(t),l=this.hasLogo!==r.displaylogo,u=this.locale!==r.locale;if(this.locale=r.locale,(s||l||u)&&(this.removeAllButtons(),this.updateButtons(t),r.watermark||r.displaylogo)){var c=this.getLogo();r.watermark&&(c.className=c.className+\" watermark\"),n.modebar.orientation===\"v\"?this.element.insertBefore(c,this.element.childNodes[0]):this.element.appendChild(c),this.hasLogo=!0}this.updateActiveButton(),aP.setStyleOnHover(\"#\"+i+\" .modebar-btn\",\".active\",\".icon path\",\"fill: \"+a.activecolor,\"fill: \"+a.color,this.element)};Tm.updateButtons=function(e){var t=this;this.buttons=e,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(r){var n=t.createGroup();r.forEach(function(i){var a=i.name;if(!a)throw new Error(\"must provide button 'name' in button config\");if(t.buttonsNames.indexOf(a)!==-1)throw new Error(\"button name '\"+a+\"' is taken\");t.buttonsNames.push(a);var o=t.createButton(i);t.buttonElements.push(o),n.appendChild(o)}),t.element.appendChild(n)})};Tm.createGroup=function(){var e=document.createElement(\"div\");e.className=\"modebar-group\";var t=this.graphInfo._fullLayout.modebar;return e.style.backgroundColor=t.bgcolor,e};Tm.createButton=function(e){var t=this,r=document.createElement(\"a\");r.setAttribute(\"rel\",\"tooltip\"),r.className=\"modebar-btn\";var n=e.title;n===void 0?n=e.name:typeof n==\"function\"&&(n=n(this.graphInfo)),(n||n===0)&&r.setAttribute(\"data-title\",n),e.attr!==void 0&&r.setAttribute(\"data-attr\",e.attr);var i=e.val;i!==void 0&&(typeof i==\"function\"&&(i=i(this.graphInfo)),r.setAttribute(\"data-val\",i));var a=e.click;if(typeof a!=\"function\")throw new Error(\"must provide button 'click' function in button config\");r.addEventListener(\"click\",function(s){e.click(t.graphInfo,s),t.updateActiveButton(s.currentTarget)}),r.setAttribute(\"data-toggle\",e.toggle||!1),e.toggle&&rN.select(r).classed(\"active\",!0);var o=e.icon;return typeof o==\"function\"?r.appendChild(o()):r.appendChild(this.createIcon(o||rce.question)),r.setAttribute(\"data-gravity\",e.gravity||\"n\"),r};Tm.createIcon=function(e){var t=Sut(e.height)?Number(e.height):e.ascent-e.descent,r=\"http://www.w3.org/2000/svg\",n;if(e.path){n=document.createElementNS(r,\"svg\"),n.setAttribute(\"viewBox\",[0,0,e.width,t].join(\" \")),n.setAttribute(\"class\",\"icon\");var i=document.createElementNS(r,\"path\");i.setAttribute(\"d\",e.path),e.transform?i.setAttribute(\"transform\",e.transform):e.ascent!==void 0&&i.setAttribute(\"transform\",\"matrix(1 0 0 -1 0 \"+e.ascent+\")\"),n.appendChild(i)}if(e.svg){var a=Eut.parseFromString(e.svg,\"application/xml\");n=a.childNodes[0]}return n.setAttribute(\"height\",\"1em\"),n.setAttribute(\"width\",\"1em\"),n};Tm.updateActiveButton=function(e){var t=this.graphInfo._fullLayout,r=e!==void 0?e.getAttribute(\"data-attr\"):null;this.buttonElements.forEach(function(n){var i=n.getAttribute(\"data-val\")||!0,a=n.getAttribute(\"data-attr\"),o=n.getAttribute(\"data-toggle\")===\"true\",s=rN.select(n),l=function(f,h){var d=t.modebar,v=f.querySelector(\".icon path\");v&&(h||f.matches(\":hover\")?v.style.fill=d.activecolor:v.style.fill=d.color)};if(o){if(a===r){var u=!s.classed(\"active\");s.classed(\"active\",u),l(n,u)}}else{var c=a===null?a:aP.nestedProperty(t,a).get();s.classed(\"active\",c===i),l(n,c===i)}})};Tm.hasButtons=function(e){var t=this.buttons;if(!t||e.length!==t.length)return!1;for(var r=0;r<e.length;++r){if(e[r].length!==t[r].length)return!1;for(var n=0;n<e[r].length;n++)if(e[r][n].name!==t[r][n].name)return!1}return!0};function kut(e){return e+\" (v\"+Mut+\")\"}Tm.getLogo=function(){var e=this.createGroup(),t=document.createElement(\"a\");return t.href=\"https://plotly.com/\",t.target=\"_blank\",t.setAttribute(\"data-title\",kut(aP._(this.graphInfo,\"Produced with Plotly.js\"))),t.className=\"modebar-btn plotlyjsicon modebar-btn--logo\",t.appendChild(this.createIcon(rce.newplotlylogo)),e.appendChild(t),e};Tm.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1};Tm.destroy=function(){aP.removeElement(this.container.querySelector(\".modebar\"))};function Cut(e,t){var r=e._fullLayout,n=new ice({graphInfo:e,container:r._modebardiv.node(),buttons:t});return r._privateplot&&rN.select(n.element).append(\"span\").classed(\"badge-private float--left\",!0).text(\"PRIVATE\"),n}nce.exports=Cut});var lce=ye((xir,sce)=>{\"use strict\";var Lut=af(),oce=lu(),iN=ba(),Put=rp().isUnifiedHover,Iut=ace(),oP=QB(),Rut=eN().DRAW_MODES,Dut=Mr().extendDeep;sce.exports=function(t){var r=t._fullLayout,n=t._context,i=r._modeBar;if(!n.displayModeBar&&!n.watermark){i&&(i.destroy(),delete r._modeBar);return}if(!Array.isArray(n.modeBarButtonsToRemove))throw new Error([\"*modeBarButtonsToRemove* configuration options\",\"must be an array.\"].join(\" \"));if(!Array.isArray(n.modeBarButtonsToAdd))throw new Error([\"*modeBarButtonsToAdd* configuration options\",\"must be an array.\"].join(\" \"));var a=n.modeBarButtons,o;Array.isArray(a)&&a.length?o=Nut(a):!n.displayModeBar&&n.watermark?o=[]:o=zut(t),i?i.update(t,o):r._modeBar=Iut(t,o)};function zut(e){var t=e._fullLayout,r=e._fullData,n=e._context;function i(N,W){if(typeof W==\"string\"){if(W.toLowerCase()===N.toLowerCase())return!0}else{var re=W.name,ae=W._cat||W.name;if(re===N||ae===N.toLowerCase())return!0}return!1}var a=t.modebar.add;typeof a==\"string\"&&(a=[a]);var o=t.modebar.remove;typeof o==\"string\"&&(o=[o]);var s=n.modeBarButtonsToAdd.concat(a.filter(function(N){for(var W=0;W<n.modeBarButtonsToRemove.length;W++)if(i(N,n.modeBarButtonsToRemove[W]))return!1;return!0})),l=n.modeBarButtonsToRemove.concat(o.filter(function(N){for(var W=0;W<n.modeBarButtonsToAdd.length;W++)if(i(N,n.modeBarButtonsToAdd[W]))return!1;return!0})),u=t._has(\"cartesian\"),c=t._has(\"gl3d\"),f=t._has(\"geo\"),h=t._has(\"pie\"),d=t._has(\"funnelarea\"),v=t._has(\"ternary\"),x=t._has(\"mapbox\"),b=t._has(\"map\"),p=t._has(\"polar\"),E=t._has(\"smith\"),k=t._has(\"sankey\"),A=Fut(t),L=Put(t.hovermode),_=[];function C(N){if(N.length){for(var W=[],re=0;re<N.length;re++){for(var ae=N[re],_e=oP[ae],Me=_e.name.toLowerCase(),ke=(_e._cat||_e.name).toLowerCase(),ge=!1,ie=0;ie<l.length;ie++){var Te=l[ie].toLowerCase();if(Te===Me||Te===ke){ge=!0;break}}ge||W.push(oP[ae])}_.push(W)}}var M=[\"toImage\"];n.showEditInChartStudio?M.push(\"editInChartStudio\"):n.showSendToCloud&&M.push(\"sendDataToCloud\"),C(M);var g=[],P=[],T=[],F=[];(u||h||d||v)+f+c+x+b+p+E>1?(P=[\"toggleHover\"],T=[\"resetViews\"]):f?(g=[\"zoomInGeo\",\"zoomOutGeo\"],P=[\"hoverClosestGeo\"],T=[\"resetGeo\"]):c?(P=[\"hoverClosest3d\"],T=[\"resetCameraDefault3d\",\"resetCameraLastSave3d\"]):x?(g=[\"zoomInMapbox\",\"zoomOutMapbox\"],P=[\"toggleHover\"],T=[\"resetViewMapbox\"]):b?(g=[\"zoomInMap\",\"zoomOutMap\"],P=[\"toggleHover\"],T=[\"resetViewMap\"]):h?P=[\"hoverClosestPie\"]:k?(P=[\"hoverClosestCartesian\",\"hoverCompareCartesian\"],T=[\"resetViewSankey\"]):P=[\"toggleHover\"],u&&P.push(\"toggleSpikelines\",\"hoverClosestCartesian\",\"hoverCompareCartesian\"),(Out(r)||L)&&(P=[]),u&&!A&&(g=[\"zoomIn2d\",\"zoomOut2d\",\"autoScale2d\"],T[0]!==\"resetViews\"&&(T=[\"resetScale2d\"])),c?F=[\"zoom3d\",\"pan3d\",\"orbitRotation\",\"tableRotation\"]:u&&!A||v?F=[\"zoom2d\",\"pan2d\"]:x||b||f?F=[\"pan2d\"]:p&&(F=[\"zoom2d\"]),qut(r)&&F.push(\"select2d\",\"lasso2d\");var q=[],V=function(N){q.indexOf(N)===-1&&P.indexOf(N)!==-1&&q.push(N)};if(Array.isArray(s)){for(var H=[],X=0;X<s.length;X++){var G=s[X];typeof G==\"string\"?(G=G.toLowerCase(),Rut.indexOf(G)!==-1?(t._has(\"mapbox\")||t._has(\"map\")||t._has(\"cartesian\"))&&F.push(G):G===\"togglespikelines\"?V(\"toggleSpikelines\"):G===\"togglehover\"?V(\"toggleHover\"):G===\"hovercompare\"?V(\"hoverCompareCartesian\"):G===\"hoverclosest\"?(V(\"hoverClosestCartesian\"),V(\"hoverClosestGeo\"),V(\"hoverClosest3d\"),V(\"hoverClosestPie\")):G===\"v1hovermode\"&&(V(\"hoverClosestCartesian\"),V(\"hoverCompareCartesian\"),V(\"hoverClosestGeo\"),V(\"hoverClosest3d\"),V(\"hoverClosestPie\"))):H.push(G)}s=H}return C(F),C(g.concat(T)),C(q),But(_,s)}function Fut(e){for(var t=Lut.list({_fullLayout:e},null,!0),r=0;r<t.length;r++)if(!t[r].fixedrange)return!1;return!0}function qut(e){for(var t=!1,r=0;r<e.length&&!t;r++){var n=e[r];!n._module||!n._module.selectPoints||(iN.traceIs(n,\"scatter-like\")?(oce.hasMarkers(n)||oce.hasText(n))&&(t=!0):iN.traceIs(n,\"box-violin\")?(n.boxpoints===\"all\"||n.points===\"all\")&&(t=!0):t=!0)}return t}function Out(e){for(var t=0;t<e.length;t++)if(!iN.traceIs(e[t],\"noHover\"))return!1;return!0}function But(e,t){if(t.length)if(Array.isArray(t[0]))for(var r=0;r<t.length;r++)e.push(t[r]);else e.push(t);return e}function Nut(e){for(var t=Dut([],e),r=0;r<t.length;r++)for(var n=t[r],i=0;i<n.length;i++){var a=n[i];if(typeof a==\"string\")if(oP[a]!==void 0)t[r][i]=oP[a];else throw new Error([\"*modeBarButtons* configuration options\",\"invalid button name\"].join(\" \"))}return t}});var nN=ye((bir,uce)=>{\"use strict\";uce.exports={moduleType:\"component\",name:\"modebar\",layoutAttributes:tN(),supplyLayoutDefaults:tce(),manage:lce()}});var aN=ye((wir,cce)=>{\"use strict\";var Uut=Nh().FROM_BL;cce.exports=function(t,r,n){n===void 0&&(n=Uut[t.constraintoward||\"center\"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*n;t.range=t._input.range=[t.l2r(a+(i[0]-a)*r),t.l2r(a+(i[1]-a)*r)],t.setScale()}});var Bb=ye(dM=>{\"use strict\";var Ob=Mr(),oN=wg(),Mg=af().id2name,Vut=Cd(),fce=aN(),Hut=ym(),Gut=es().ALMOST_EQUAL,jut=Nh().FROM_BL;dM.handleDefaults=function(e,t,r){var n=r.axIds,i=r.axHasImage,a=t._axisConstraintGroups=[],o=t._axisMatchGroups=[],s,l,u,c,f,h,d,v;for(s=0;s<n.length;s++)c=Mg(n[s]),f=e[c],h=t[c],Wut(f,h,{axIds:n,layoutOut:t,hasImage:i[c]});function x(M,g){for(s=0;s<M.length;s++){l=M[s];for(u in l)t[Mg(u)][g]=l}}for(x(o,\"_matchGroup\"),s=0;s<a.length;s++){l=a[s];for(u in l)if(h=t[Mg(u)],h.fixedrange){for(var b in l){var p=Mg(b);(e[p]||{}).fixedrange===!1&&Ob.warn(\"fixedrange was specified as false for axis \"+p+\" but was overridden because another axis in its constraint group has fixedrange true\"),t[p].fixedrange=!0}break}}for(s=0;s<a.length;){l=a[s];for(u in l){h=t[Mg(u)],h._matchGroup&&Object.keys(h._matchGroup).length===Object.keys(l).length&&(a.splice(s,1),s--);break}s++}x(a,\"_constraintGroup\");var E=[\"constrain\",\"range\",\"autorange\",\"rangemode\",\"rangebreaks\",\"categoryorder\",\"categoryarray\"],k=!1,A=!1;function L(){v=h[d],d===\"rangebreaks\"&&(A=h._hasDayOfWeekBreaks)}for(s=0;s<o.length;s++){l=o[s];for(var _=0;_<E.length;_++){d=E[_],v=null;var C;for(u in l)if(c=Mg(u),f=e[c],h=t[c],d in h){if(!h.matches&&(C=h,d in f)){L();break}v===null&&d in f&&L()}if(d===\"range\"&&v&&f.range&&f.range.length===2&&f.range[0]!==null&&f.range[1]!==null&&(k=!0),d===\"autorange\"&&v===null&&k&&(v=!1),v===null&&d in C&&(v=C[d]),v!==null)for(u in l)h=t[Mg(u)],h[d]=d===\"range\"?v.slice():v,d===\"rangebreaks\"&&(h._hasDayOfWeekBreaks=A,Hut(h,t))}}};function Wut(e,t,r){var n=r.axIds,i=r.layoutOut,a=r.hasImage,o=i._axisConstraintGroups,s=i._axisMatchGroups,l=t._id,u=l.charAt(0),c=((i._splomAxes||{})[u]||{})[l]||{},f=t._id,h=f.charAt(0)===\"x\";t._matchGroup=null,t._constraintGroup=null;function d(F,q){return Ob.coerce(e,t,Vut,F,q)}d(\"constrain\",a?\"domain\":\"range\"),Ob.coerce(e,t,{constraintoward:{valType:\"enumerated\",values:h?[\"left\",\"center\",\"right\"]:[\"bottom\",\"middle\",\"top\"],dflt:h?\"center\":\"middle\"}},\"constraintoward\");var v=t.type,x,b,p=[];for(x=0;x<n.length;x++)if(b=n[x],b!==f){var E=i[Mg(b)];E.type===v&&p.push(b)}var k=vce(o,f);if(k){var A=[];for(x=0;x<p.length;x++)b=p[x],k[b]||A.push(b);p=A}var L=p.length,_,C;L&&(e.matches||c.matches)&&(_=Ob.coerce(e,t,{matches:{valType:\"enumerated\",values:p,dflt:p.indexOf(c.matches)!==-1?c.matches:void 0}},\"matches\"));var M=a&&!h?t.anchor:void 0;if(L&&!_&&(e.scaleanchor||M)&&(C=Ob.coerce(e,t,{scaleanchor:{valType:\"enumerated\",values:p.concat([!1])}},\"scaleanchor\",M)),_){t._matchGroup=sN(s,f,_,1);var g=i[Mg(_)],P=hce(i,t)/hce(i,g);h!==(_.charAt(0)===\"x\")&&(P=(h?\"x\":\"y\")+P),sN(o,f,_,P)}else e.matches&&n.indexOf(e.matches)!==-1&&Ob.warn(\"ignored \"+t._name+'.matches: \"'+e.matches+'\" to avoid an infinite loop');if(C){var T=d(\"scaleratio\");T||(T=t.scaleratio=1),sN(o,f,C,T)}else e.scaleanchor&&n.indexOf(e.scaleanchor)!==-1&&Ob.warn(\"ignored \"+t._name+'.scaleanchor: \"'+e.scaleanchor+'\" to avoid either an infinite loop and possibly inconsistent scaleratios, or because this axis declares a *matches* constraint.')}function hce(e,t){var r=t.domain;return r||(r=e[Mg(t.overlaying)].domain),r[1]-r[0]}function vce(e,t){for(var r=0;r<e.length;r++)if(e[r][t])return e[r];return null}function sN(e,t,r,n){var i,a,o,s,l,u=vce(e,t);u===null?(u={},u[t]=1,l=e.length,e.push(u)):l=e.indexOf(u);var c=Object.keys(u);for(i=0;i<e.length;i++)if(o=e[i],i!==l&&o[r]){var f=o[r];for(a=0;a<c.length;a++)s=c[a],o[s]=lN(f,lN(n,u[s]));e.splice(l,1);return}if(n!==1)for(a=0;a<c.length;a++){var h=c[a];u[h]=lN(n,u[h])}u[r]=1}function lN(e,t){var r=\"\",n=\"\",i,a;typeof e==\"string\"&&(r=e.match(/^[xy]*/)[0],i=r.length,e=+e.substr(i)),typeof t==\"string\"&&(n=t.match(/^[xy]*/)[0],a=n.length,t=+t.substr(a));var o=e*t;return!i&&!a?o:!i||!a||r.charAt(0)===n.charAt(0)?r+n+e*t:i===a?o:(i>a?r.substr(a):n.substr(i))+o}function Zut(e,t){for(var r=t._size,n=r.h/r.w,i={},a=Object.keys(e),o=0;o<a.length;o++){var s=a[o],l=e[s];if(typeof l==\"string\"){var u=l.match(/^[xy]*/)[0],c=u.length;l=+l.substr(c);for(var f=u.charAt(0)===\"y\"?n:1/n,h=0;h<c;h++)l*=f}i[s]=l}return i}dM.enforce=function(t){var r=t._fullLayout,n=r._axisConstraintGroups||[],i,a,o,s,l,u,c,f;for(i=0;i<n.length;i++){o=Zut(n[i],r);var h=Object.keys(o),d=1/0,v=0,x=1/0,b={},p={},E=!1;for(a=0;a<h.length;a++)s=h[a],p[s]=l=r[Mg(s)],l._inputDomain?l.domain=l._inputDomain.slice():l._inputDomain=l.domain.slice(),l._inputRange||(l._inputRange=l.range.slice()),l.setScale(),b[s]=u=Math.abs(l._m)/o[s],d=Math.min(d,u),(l.constrain===\"domain\"||!l._constraintShrinkable)&&(x=Math.min(x,u)),delete l._constraintShrinkable,v=Math.max(v,u),l.constrain===\"domain\"&&(E=!0);if(!(d>Gut*v&&!E)){for(a=0;a<h.length;a++)if(s=h[a],u=b[s],l=p[s],c=l.constrain,u!==x||c===\"domain\")if(f=u/x,c===\"range\")fce(l,f);else{var k=l._inputDomain,A=(l.domain[1]-l.domain[0])/(k[1]-k[0]),L=(l.r2l(l.range[1])-l.r2l(l.range[0]))/(l.r2l(l._inputRange[1])-l.r2l(l._inputRange[0]));if(f/=A,f*L<1){l.domain=l._input.domain=k.slice(),fce(l,f);continue}if(L<1&&(l.range=l._input.range=l._inputRange.slice(),f*=L),l.autorange){var _=l.r2l(l.range[0]),C=l.r2l(l.range[1]),M=(_+C)/2,g=M,P=M,T=Math.abs(C-M),F=M-T*f*1.0001,q=M+T*f*1.0001,V=oN.makePadFn(r,l,0),H=oN.makePadFn(r,l,1);dce(l,f);var X=Math.abs(l._m),G=oN.concatExtremes(t,l),N=G.min,W=G.max,re,ae;for(ae=0;ae<N.length;ae++)re=N[ae].val-V(N[ae])/X,re>F&&re<g&&(g=re);for(ae=0;ae<W.length;ae++)re=W[ae].val+H(W[ae])/X,re<q&&re>P&&(P=re);var _e=(P-g)/(2*T);f/=_e,g=l.l2r(g),P=l.l2r(P),l.range=l._input.range=_<C?[g,P]:[P,g]}dce(l,f)}}}};dM.getAxisGroup=function(t,r){for(var n=t._axisMatchGroups,i=0;i<n.length;i++){var a=n[i];if(a[r])return\"g\"+i}return r};dM.clean=function(t,r){if(r._inputDomain){for(var n=!1,i=r._id,a=t._fullLayout._axisConstraintGroups,o=0;o<a.length;o++)if(a[o][i]){n=!0;break}(!n||r.constrain!==\"domain\")&&(r._input.domain=r.domain=r._inputDomain,delete r._inputDomain)}};function dce(e,t){var r=e._inputDomain,n=jut[e.constraintoward],i=r[0]+(r[1]-r[0])*n;e.domain=e._input.domain=[i+(r[0]-i)/t,i+(r[1]-i)/t],e.setScale()}});var gM=ye(ld=>{\"use strict\";var lP=xa(),Bv=ba(),Jp=Xu(),M0=Mr(),uN=Pl(),cN=lM(),vM=va(),X3=ao(),pce=Mb(),xce=nN(),pM=Qa(),ky=Nh(),bce=Bb(),Xut=bce.enforce,Yut=bce.clean,gce=wg().doAutoRange,wce=\"start\",Kut=\"middle\",Tce=\"end\",Jut=ad().zindexSeparator;ld.layoutStyles=function(e){return M0.syncOrAsync([Jp.doAutoMargin,Qut],e)};function $ut(e,t,r){for(var n=0;n<r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]>=e[1]||i[1]<=e[0])&&a[0]<t[1]&&a[1]>t[0])return!0}return!1}function Qut(e){var t=e._fullLayout,r=t._size,n=r.p,i=pM.list(e,\"\",!0),a,o,s,l,u,c;if(t._paperdiv.style({width:e._context.responsive&&t.autosize&&!e._context._hasZeroWidth&&!e.layout.width?\"100%\":t.width+\"px\",height:e._context.responsive&&t.autosize&&!e._context._hasZeroHeight&&!e.layout.height?\"100%\":t.height+\"px\"}).selectAll(\".main-svg\").call(X3.setSize,t.width,t.height),e._context.setBackground(e,t.paper_bgcolor),ld.drawMainTitle(e),xce.manage(e),!t._has(\"cartesian\"))return Jp.previousPromises(e);function f(Ce,me,Re){var ce=Ce._lw/2;if(Ce._id.charAt(0)===\"x\"){if(me){if(Re===\"top\")return me._offset-n-ce}else return r.t+r.h*(1-(Ce.position||0))+ce%1;return me._offset+me._length+n+ce}if(me){if(Re===\"right\")return me._offset+me._length+n+ce}else return r.l+r.w*(Ce.position||0)+ce%1;return me._offset-n-ce}for(a=0;a<i.length;a++){l=i[a];var h=l._anchorAxis;l._linepositions={},l._lw=X3.crispRound(e,l.linewidth,1),l._mainLinePosition=f(l,h,l.side),l._mainMirrorPosition=l.mirror&&h?f(l,h,ky.OPPOSITE_SIDE[l.side]):null}var d=[],v=[],x=[],b=vM.opacity(t.paper_bgcolor)===1&&vM.opacity(t.plot_bgcolor)===1&&t.paper_bgcolor===t.plot_bgcolor;for(o in t._plots)if(s=t._plots[o],s.mainplot)s.bg&&s.bg.remove(),s.bg=void 0;else{var p=s.xaxis.domain,E=s.yaxis.domain,k=s.plotgroup;if($ut(p,E,x)&&o.indexOf(Jut)===-1){var A=k.node(),L=s.bg=M0.ensureSingle(k,\"rect\",\"bg\");A.insertBefore(L.node(),A.childNodes[0]),v.push(o)}else k.select(\"rect.bg\").remove(),x.push([p,E]),b||(d.push(o),v.push(o))}var _=t._bgLayer.selectAll(\".bg\").data(d);for(_.enter().append(\"rect\").classed(\"bg\",!0),_.exit().remove(),_.each(function(Ce){t._plots[Ce].bg=lP.select(this)}),a=0;a<v.length;a++)s=t._plots[v[a]],u=s.xaxis,c=s.yaxis,s.bg&&u._offset!==void 0&&c._offset!==void 0&&s.bg.call(X3.setRect,u._offset-n,c._offset-n,u._length+2*n,c._length+2*n).call(vM.fill,t.plot_bgcolor).style(\"stroke-width\",0);if(!t._hasOnlyLargeSploms)for(o in t._plots){s=t._plots[o],u=s.xaxis,c=s.yaxis;var C=s.clipId=\"clip\"+t._uid+o+\"plot\",M=M0.ensureSingleById(t._clips,\"clipPath\",C,function(Ce){Ce.classed(\"plotclip\",!0).append(\"rect\")});s.clipRect=M.select(\"rect\").attr({width:u._length,height:c._length}),X3.setTranslate(s.plot,u._offset,c._offset);var g,P;s._hasClipOnAxisFalse?(g=null,P=C):(g=C,P=null),X3.setClipUrl(s.plot,g,e),s.layerClipId=P}var T,F,q,V,H,X,G,N,W,re,ae,_e,Me;function ke(Ce){return\"M\"+T+\",\"+Ce+\"H\"+F}function ge(Ce){return\"M\"+u._offset+\",\"+Ce+\"h\"+u._length}function ie(Ce){return\"M\"+Ce+\",\"+N+\"V\"+G}function Te(Ce){return c._shift!==void 0&&(Ce+=c._shift),\"M\"+Ce+\",\"+c._offset+\"v\"+c._length}function Ee(Ce,me,Re){if(!Ce.showline||o!==Ce._mainSubplot)return\"\";if(!Ce._anchorAxis)return Re(Ce._mainLinePosition);var ce=me(Ce._mainLinePosition);return Ce.mirror&&(ce+=me(Ce._mainMirrorPosition)),ce}for(o in t._plots){s=t._plots[o],u=s.xaxis,c=s.yaxis;var Ae=\"M0,0\";mce(u,o)&&(H=sP(u,\"left\",c,i),T=u._offset-(H?n+H:0),X=sP(u,\"right\",c,i),F=u._offset+u._length+(X?n+X:0),q=f(u,c,\"bottom\"),V=f(u,c,\"top\"),Me=!u._anchorAxis||o!==u._mainSubplot,Me&&(u.mirror===\"allticks\"||u.mirror===\"all\")&&(u._linepositions[o]=[q,V]),Ae=Ee(u,ke,ge),Me&&u.showline&&(u.mirror===\"all\"||u.mirror===\"allticks\")&&(Ae+=ke(q)+ke(V)),s.xlines.style(\"stroke-width\",u._lw+\"px\").call(vM.stroke,u.showline?u.linecolor:\"rgba(0,0,0,0)\")),s.xlines.attr(\"d\",Ae);var ze=\"M0,0\";mce(c,o)&&(ae=sP(c,\"bottom\",u,i),G=c._offset+c._length+(ae?n:0),_e=sP(c,\"top\",u,i),N=c._offset-(_e?n:0),W=f(c,u,\"left\"),re=f(c,u,\"right\"),Me=!c._anchorAxis||o!==c._mainSubplot,Me&&(c.mirror===\"allticks\"||c.mirror===\"all\")&&(c._linepositions[o]=[W,re]),ze=Ee(c,ie,Te),Me&&c.showline&&(c.mirror===\"all\"||c.mirror===\"allticks\")&&(ze+=ie(W)+ie(re)),s.ylines.style(\"stroke-width\",c._lw+\"px\").call(vM.stroke,c.showline?c.linecolor:\"rgba(0,0,0,0)\")),s.ylines.attr(\"d\",ze)}return pM.makeClipPaths(e),Jp.previousPromises(e)}function mce(e,t){return(e.ticks||e.showline)&&(t===e._mainSubplot||e.mirror===\"all\"||e.mirror===\"allticks\")}function yce(e,t,r){if(!r.showline||!r._lw)return!1;if(r.mirror===\"all\"||r.mirror===\"allticks\")return!0;var n=r._anchorAxis;if(!n)return!1;var i=ky.FROM_BL[t];return r.side===t?n.domain[i]===e.domain[i]:r.mirror&&n.domain[1-i]===e.domain[1-i]}function sP(e,t,r,n){if(yce(e,t,r))return r._lw;for(var i=0;i<n.length;i++){var a=n[i];if(a._mainAxis===r._mainAxis&&yce(e,t,a))return a._lw}return 0}ld.drawMainTitle=function(e){var t=e._fullLayout.title,r=e._fullLayout,n=oct(r),i=sct(r),a=act(r,i),o=nct(r,n);if(pce.draw(e,\"gtitle\",{propContainer:r,propName:\"title.text\",subtitlePropName:\"title.subtitle.text\",placeholder:r._dfltTitle.plot,subtitlePlaceholder:r._dfltTitle.subtitle,attributes:{x:o,y:a,\"text-anchor\":n,dy:i}}),t.text&&t.automargin){var s=lP.selectAll(\".gtitle\"),l=X3.bBox(lP.selectAll(\".g-gtitle\").node()).height,u=rct(e,t,l);if(u>0){ict(e,a,u,l),s.attr({x:o,y:a,\"text-anchor\":n,dy:_ce(t.yanchor)}).call(uN.positionText,o,a);var c=(t.text.match(uN.BR_TAG_ALL)||[]).length;if(c){var f=ky.LINE_SPACING*c+ky.MID_SHIFT;t.y===0&&(f=-f),s.selectAll(\".line\").each(function(){var b=+this.getAttribute(\"dy\").slice(0,-2)-f+\"em\";this.setAttribute(\"dy\",b)})}var h=lP.selectAll(\".gtitle-subtitle\");if(h.node()){var d=s.node().getBBox(),v=d.y+d.height,x=v+pce.SUBTITLE_PADDING_EM*t.subtitle.font.size;h.attr({x:o,y:x,\"text-anchor\":n,dy:_ce(t.yanchor)}).call(uN.positionText,o,x)}}}};function ect(e,t,r,n,i){var a=t.yref===\"paper\"?e._fullLayout._size.h:e._fullLayout.height,o=M0.isTopAnchor(t)?n:n-i,s=r===\"b\"?a-o:o;return M0.isTopAnchor(t)&&r===\"t\"||M0.isBottomAnchor(t)&&r===\"b\"?!1:s<i}function tct(e,t,r,n,i){var a=0;return r===\"middle\"&&(a+=i/2),e===\"t\"?(r===\"top\"&&(a+=i),a+=n-t*n):(r===\"bottom\"&&(a+=i),a+=t*n),a}function rct(e,t,r){var n=t.y,i=t.yanchor,a=n>.5?\"t\":\"b\",o=e._fullLayout.margin[a],s=0;return t.yref===\"paper\"?s=r+t.pad.t+t.pad.b:t.yref===\"container\"&&(s=tct(a,n,i,e._fullLayout.height,r)+t.pad.t+t.pad.b),s>o?s:0}function ict(e,t,r,n){var i=\"title.automargin\",a=e._fullLayout.title,o=a.y>.5?\"t\":\"b\",s={x:a.x,y:a.y,t:0,b:0},l={};a.yref===\"paper\"&&ect(e,a,o,t,n)?s[o]=r:a.yref===\"container\"&&(l[o]=r,e._fullLayout._reservedMargin[i]=l),Jp.allowAutoMargin(e,i),Jp.autoMargin(e,i,s)}function nct(e,t){var r=e.title,n=e._size,i=0;switch(t===wce?i=r.pad.l:t===Tce&&(i=-r.pad.r),r.xref){case\"paper\":return n.l+n.w*r.x+i;case\"container\":default:return e.width*r.x+i}}function act(e,t){var r=e.title,n=e._size,i=0;if(t===\"0em\"||!t?i=-r.pad.b:t===ky.CAP_SHIFT+\"em\"&&(i=r.pad.t),r.y===\"auto\")return n.t/2;switch(r.yref){case\"paper\":return n.t+n.h-n.h*r.y+i;case\"container\":default:return e.height-e.height*r.y+i}}function _ce(e){return e===\"top\"?ky.CAP_SHIFT+.3+\"em\":e===\"bottom\"?\"-0.3em\":ky.MID_SHIFT+\"em\"}function oct(e){var t=e.title,r=Kut;return M0.isRightAnchor(t)?r=Tce:M0.isLeftAnchor(t)&&(r=wce),r}function sct(e){var t=e.title,r=\"0em\";return M0.isTopAnchor(t)?r=ky.CAP_SHIFT+\"em\":M0.isMiddleAnchor(t)&&(r=ky.MID_SHIFT+\"em\"),r}ld.doTraceStyle=function(e){var t=e.calcdata,r=[],n;for(n=0;n<t.length;n++){var i=t[n],a=i[0]||{},o=a.trace||{},s=o._module||{},l=s.arraysToCalcdata;l&&l(i,o);var u=s.editStyle;u&&r.push({fn:u,cd0:a})}if(r.length){for(n=0;n<r.length;n++){var c=r[n];c.fn(e,c.cd0)}cN(e),ld.redrawReglTraces(e)}return Jp.style(e),Bv.getComponentMethod(\"legend\",\"draw\")(e),Jp.previousPromises(e)};ld.doColorBars=function(e){return Bv.getComponentMethod(\"colorbar\",\"draw\")(e),Jp.previousPromises(e)};ld.layoutReplot=function(e){var t=e.layout;return e.layout=void 0,Bv.call(\"_doPlot\",e,\"\",t)};ld.doLegend=function(e){return Bv.getComponentMethod(\"legend\",\"draw\")(e),Jp.previousPromises(e)};ld.doTicksRelayout=function(e){return pM.draw(e,\"redraw\"),e._fullLayout._hasOnlyLargeSploms&&(Bv.subplotsRegistry.splom.updateGrid(e),cN(e),ld.redrawReglTraces(e)),ld.drawMainTitle(e),Jp.previousPromises(e)};ld.doModeBar=function(e){var t=e._fullLayout;xce.manage(e);for(var r=0;r<t._basePlotModules.length;r++){var n=t._basePlotModules[r].updateFx;n&&n(e)}return Jp.previousPromises(e)};ld.doCamera=function(e){for(var t=e._fullLayout,r=t._subplots.gl3d,n=0;n<r.length;n++){var i=t[r[n]],a=i._scene;a.setViewport(i)}};ld.drawData=function(e){var t=e._fullLayout;cN(e);for(var r=t._basePlotModules,n=0;n<r.length;n++)r[n].plot(e);return ld.redrawReglTraces(e),Jp.style(e),Bv.getComponentMethod(\"selections\",\"draw\")(e),Bv.getComponentMethod(\"shapes\",\"draw\")(e),Bv.getComponentMethod(\"annotations\",\"draw\")(e),Bv.getComponentMethod(\"images\",\"draw\")(e),t._replotting=!1,Jp.previousPromises(e)};ld.redrawReglTraces=function(e){var t=e._fullLayout;if(t._has(\"regl\")){var r=e._fullData,n=[],i=[],a,o;for(t._hasOnlyLargeSploms&&t._splomGrid.draw(),a=0;a<r.length;a++){var s=r[a];s.visible===!0&&s._length!==0&&(s.type===\"splom\"?t._splomScenes[s.uid].draw():s.type===\"scattergl\"?M0.pushUnique(n,s.xaxis+s.yaxis):s.type===\"scatterpolargl\"&&M0.pushUnique(i,s.subplot))}for(a=0;a<n.length;a++)o=t._plots[n[a]],o._scene&&o._scene.draw();for(a=0;a<i.length;a++)o=t[i[a]]._subplot,o._scene&&o._scene.draw()}};ld.doAutoRangeAndConstraints=function(e){for(var t=pM.list(e,\"\",!0),r,n={},i=0;i<t.length;i++)if(r=t[i],!n[r._id]){n[r._id]=1,Yut(e,r),gce(e,r);var a=r._matchGroup;if(a)for(var o in a){var s=pM.getFromId(e,o);gce(e,s,r.range),n[o]=1}}Xut(e)};ld.finalDraw=function(e){Bv.getComponentMethod(\"rangeslider\",\"draw\")(e),Bv.getComponentMethod(\"rangeselector\",\"draw\")(e)};ld.drawMarginPushers=function(e){Bv.getComponentMethod(\"legend\",\"draw\")(e),Bv.getComponentMethod(\"rangeselector\",\"draw\")(e),Bv.getComponentMethod(\"sliders\",\"draw\")(e),Bv.getComponentMethod(\"updatemenus\",\"draw\")(e),Bv.getComponentMethod(\"colorbar\",\"draw\")(e)}});var dN=ye((Sir,kce)=>{\"use strict\";var lct=c_().readPaths,uct=$L(),Ace=e_().clearOutlineControllers,fN=va(),Sce=ao(),cct=Vs().arrayEditor,Mce=h_(),fct=Mce.getPathString;kce.exports={draw:uP,drawOne:Ece,activateLastSelection:vct};function uP(e){var t=e._fullLayout;Ace(e),t._selectionLayer.selectAll(\"path\").remove();for(var r in t._plots){var n=t._plots[r].selectionLayer;n&&n.selectAll(\"path\").remove()}for(var i=0;i<t.selections.length;i++)Ece(e,i)}function cP(e){return e._context.editSelection}function Ece(e,t){e._fullLayout._paperdiv.selectAll('.selectionlayer [data-index=\"'+t+'\"]').remove();var r=Mce.makeSelectionsOptionsAndPlotinfo(e,t),n=r.options,i=r.plotinfo;if(!n._input)return;a(e._fullLayout._selectionLayer);function a(o){var s=fct(e,n),l={\"data-index\":t,\"fill-rule\":\"evenodd\",d:s},u=n.opacity,c=\"rgba(0,0,0,0)\",f=n.line.color||fN.contrast(e._fullLayout.plot_bgcolor),h=n.line.width,d=n.line.dash;h||(h=5,d=\"solid\");var v=cP(e)&&e._fullLayout._activeSelectionIndex===t;v&&(c=e._fullLayout.activeselection.fillcolor,u=e._fullLayout.activeselection.opacity);for(var x=[],b=1;b>=0;b--){var p=o.append(\"path\").attr(l).style(\"opacity\",b?.1:u).call(fN.stroke,f).call(fN.fill,c).call(Sce.dashLine,b?\"solid\":d,b?4+h:h);if(hct(p,e,n),v){var E=cct(e.layout,\"selections\",n);p.style({cursor:\"move\"});var k={element:p.node(),plotinfo:i,gd:e,editHelpers:E,isActiveSelection:!0},A=lct(s,e);uct(A,p,k)}else p.style(\"pointer-events\",b?\"all\":\"none\");x[b]=p}var L=x[0],_=x[1];_.node().addEventListener(\"click\",function(){return dct(e,L)})}}function hct(e,t,r){var n=r.xref+r.yref;Sce.setClipUrl(e,\"clip\"+t._fullLayout._uid+n,t)}function dct(e,t){if(cP(e)){var r=t.node(),n=+r.getAttribute(\"data-index\");if(n>=0){if(n===e._fullLayout._activeSelectionIndex){hN(e);return}e._fullLayout._activeSelectionIndex=n,e._fullLayout._deactivateSelection=hN,uP(e)}}}function vct(e){if(cP(e)){var t=e._fullLayout.selections.length-1;e._fullLayout._activeSelectionIndex=t,e._fullLayout._deactivateSelection=hN,uP(e)}}function hN(e){if(cP(e)){var t=e._fullLayout._activeSelectionIndex;t>=0&&(Ace(e),delete e._fullLayout._activeSelectionIndex,uP(e))}}});var Lce=ye((Mir,Cce)=>{function pct(){var e,t=0,r=!1;function n(i,a){return e.list.push({type:i,data:a?JSON.parse(JSON.stringify(a)):void 0}),e}return e={list:[],segmentId:function(){return t++},checkIntersection:function(i,a){return n(\"check\",{seg1:i,seg2:a})},segmentChop:function(i,a){return n(\"div_seg\",{seg:i,pt:a}),n(\"chop\",{seg:i,pt:a})},statusRemove:function(i){return n(\"pop_seg\",{seg:i})},segmentUpdate:function(i){return n(\"seg_update\",{seg:i})},segmentNew:function(i,a){return n(\"new_seg\",{seg:i,primary:a})},segmentRemove:function(i){return n(\"rem_seg\",{seg:i})},tempStatus:function(i,a,o){return n(\"temp_status\",{seg:i,above:a,below:o})},rewind:function(i){return n(\"rewind\",{seg:i})},status:function(i,a,o){return n(\"status\",{seg:i,above:a,below:o})},vert:function(i){return i===r?e:(r=i,n(\"vert\",{x:i}))},log:function(i){return typeof i!=\"string\"&&(i=JSON.stringify(i,!1,\" \")),n(\"log\",{txt:i})},reset:function(){return n(\"reset\")},selected:function(i){return n(\"selected\",{segs:i})},chainStart:function(i){return n(\"chain_start\",{seg:i})},chainRemoveHead:function(i,a){return n(\"chain_rem_head\",{index:i,pt:a})},chainRemoveTail:function(i,a){return n(\"chain_rem_tail\",{index:i,pt:a})},chainNew:function(i,a){return n(\"chain_new\",{pt1:i,pt2:a})},chainMatch:function(i){return n(\"chain_match\",{index:i})},chainClose:function(i){return n(\"chain_close\",{index:i})},chainAddHead:function(i,a){return n(\"chain_add_head\",{index:i,pt:a})},chainAddTail:function(i,a){return n(\"chain_add_tail\",{index:i,pt:a})},chainConnect:function(i,a){return n(\"chain_con\",{index1:i,index2:a})},chainReverse:function(i){return n(\"chain_rev\",{index:i})},chainJoin:function(i,a){return n(\"chain_join\",{index1:i,index2:a})},done:function(){return n(\"done\")}},e}Cce.exports=pct});var Ice=ye((Eir,Pce)=>{function gct(e){typeof e!=\"number\"&&(e=1e-10);var t={epsilon:function(r){return typeof r==\"number\"&&(e=r),e},pointAboveOrOnLine:function(r,n,i){var a=n[0],o=n[1],s=i[0],l=i[1],u=r[0],c=r[1];return(s-a)*(c-o)-(l-o)*(u-a)>=-e},pointBetween:function(r,n,i){var a=r[1]-n[1],o=i[0]-n[0],s=r[0]-n[0],l=i[1]-n[1],u=s*o+a*l;if(u<e)return!1;var c=o*o+l*l;return!(u-c>-e)},pointsSameX:function(r,n){return Math.abs(r[0]-n[0])<e},pointsSameY:function(r,n){return Math.abs(r[1]-n[1])<e},pointsSame:function(r,n){return t.pointsSameX(r,n)&&t.pointsSameY(r,n)},pointsCompare:function(r,n){return t.pointsSameX(r,n)?t.pointsSameY(r,n)?0:r[1]<n[1]?-1:1:r[0]<n[0]?-1:1},pointsCollinear:function(r,n,i){var a=r[0]-n[0],o=r[1]-n[1],s=n[0]-i[0],l=n[1]-i[1];return Math.abs(a*l-s*o)<e},linesIntersect:function(r,n,i,a){var o=n[0]-r[0],s=n[1]-r[1],l=a[0]-i[0],u=a[1]-i[1],c=o*u-s*l;if(Math.abs(c)<e)return!1;var f=r[0]-i[0],h=r[1]-i[1],d=(l*h-u*f)/c,v=(o*h-s*f)/c,x={alongA:0,alongB:0,pt:[r[0]+d*o,r[1]+d*s]};return d<=-e?x.alongA=-2:d<e?x.alongA=-1:d-1<=-e?x.alongA=0:d-1<e?x.alongA=1:x.alongA=2,v<=-e?x.alongB=-2:v<e?x.alongB=-1:v-1<=-e?x.alongB=0:v-1<e?x.alongB=1:x.alongB=2,x},pointInsideRegion:function(r,n){for(var i=r[0],a=r[1],o=n[n.length-1][0],s=n[n.length-1][1],l=!1,u=0;u<n.length;u++){var c=n[u][0],f=n[u][1];f-a>e!=s-a>e&&(o-c)*(a-f)/(s-f)+c-i>e&&(l=!l),o=c,s=f}return l}};return t}Pce.exports=gct});var Dce=ye((kir,Rce)=>{var mct={create:function(){var e={root:{root:!0,next:null},exists:function(t){return!(t===null||t===e.root)},isEmpty:function(){return e.root.next===null},getHead:function(){return e.root.next},insertBefore:function(t,r){for(var n=e.root,i=e.root.next;i!==null;){if(r(i)){t.prev=i.prev,t.next=i,i.prev.next=t,i.prev=t;return}n=i,i=i.next}n.next=t,t.prev=n,t.next=null},findTransition:function(t){for(var r=e.root,n=e.root.next;n!==null&&!t(n);)r=n,n=n.next;return{before:r===e.root?null:r,after:n,insert:function(i){return i.prev=r,i.next=n,r.next=i,n!==null&&(n.prev=i),i}}}};return e},node:function(e){return e.prev=null,e.next=null,e.remove=function(){e.prev.next=e.next,e.next&&(e.next.prev=e.prev),e.prev=null,e.next=null},e}};Rce.exports=mct});var Fce=ye((Cir,zce)=>{var mM=Dce();function yct(e,t,r){function n(v,x){return{id:r?r.segmentId():-1,start:v,end:x,myFill:{above:null,below:null},otherFill:null}}function i(v,x,b){return{id:r?r.segmentId():-1,start:v,end:x,myFill:{above:b.myFill.above,below:b.myFill.below},otherFill:null}}var a=mM.create();function o(v,x,b,p,E,k){var A=t.pointsCompare(x,E);return A!==0?A:t.pointsSame(b,k)?0:v!==p?v?1:-1:t.pointAboveOrOnLine(b,p?E:k,p?k:E)?1:-1}function s(v,x){a.insertBefore(v,function(b){var p=o(v.isStart,v.pt,x,b.isStart,b.pt,b.other.pt);return p<0})}function l(v,x){var b=mM.node({isStart:!0,pt:v.start,seg:v,primary:x,other:null,status:null});return s(b,v.end),b}function u(v,x,b){var p=mM.node({isStart:!1,pt:x.end,seg:x,primary:b,other:v,status:null});v.other=p,s(p,v.pt)}function c(v,x){var b=l(v,x);return u(b,v,x),b}function f(v,x){r&&r.segmentChop(v.seg,x),v.other.remove(),v.seg.end=x,v.other.pt=x,s(v.other,v.pt)}function h(v,x){var b=i(x,v.seg.end,v.seg);return f(v,x),c(b,v.primary)}function d(v,x){var b=mM.create();function p(H,X){var G=H.seg.start,N=H.seg.end,W=X.seg.start,re=X.seg.end;return t.pointsCollinear(G,W,re)?t.pointsCollinear(N,W,re)||t.pointAboveOrOnLine(N,W,re)?1:-1:t.pointAboveOrOnLine(G,W,re)?1:-1}function E(H){return b.findTransition(function(X){var G=p(H,X.ev);return G>0})}function k(H,X){var G=H.seg,N=X.seg,W=G.start,re=G.end,ae=N.start,_e=N.end;r&&r.checkIntersection(G,N);var Me=t.linesIntersect(W,re,ae,_e);if(Me===!1){if(!t.pointsCollinear(W,re,ae)||t.pointsSame(W,_e)||t.pointsSame(re,ae))return!1;var ke=t.pointsSame(W,ae),ge=t.pointsSame(re,_e);if(ke&&ge)return X;var ie=!ke&&t.pointBetween(W,ae,_e),Te=!ge&&t.pointBetween(re,ae,_e);if(ke)return Te?h(X,re):h(H,_e),X;ie&&(ge||(Te?h(X,re):h(H,_e)),h(X,W))}else Me.alongA===0&&(Me.alongB===-1?h(H,ae):Me.alongB===0?h(H,Me.pt):Me.alongB===1&&h(H,_e)),Me.alongB===0&&(Me.alongA===-1?h(X,W):Me.alongA===0?h(X,Me.pt):Me.alongA===1&&h(X,re));return!1}for(var A=[];!a.isEmpty();){var L=a.getHead();if(r&&r.vert(L.pt[0]),L.isStart){let H=function(){if(C){var X=k(L,C);if(X)return X}return M?k(L,M):!1};var V=H;r&&r.segmentNew(L.seg,L.primary);var _=E(L),C=_.before?_.before.ev:null,M=_.after?_.after.ev:null;r&&r.tempStatus(L.seg,C?C.seg:!1,M?M.seg:!1);var g=H();if(g){if(e){var P;L.seg.myFill.below===null?P=!0:P=L.seg.myFill.above!==L.seg.myFill.below,P&&(g.seg.myFill.above=!g.seg.myFill.above)}else g.seg.otherFill=L.seg.myFill;r&&r.segmentUpdate(g.seg),L.other.remove(),L.remove()}if(a.getHead()!==L){r&&r.rewind(L.seg);continue}if(e){var P;L.seg.myFill.below===null?P=!0:P=L.seg.myFill.above!==L.seg.myFill.below,M?L.seg.myFill.below=M.seg.myFill.above:L.seg.myFill.below=v,P?L.seg.myFill.above=!L.seg.myFill.below:L.seg.myFill.above=L.seg.myFill.below}else if(L.seg.otherFill===null){var T;M?L.primary===M.primary?T=M.seg.otherFill.above:T=M.seg.myFill.above:T=L.primary?x:v,L.seg.otherFill={above:T,below:T}}r&&r.status(L.seg,C?C.seg:!1,M?M.seg:!1),L.other.status=_.insert(mM.node({ev:L}))}else{var F=L.status;if(F===null)throw new Error(\"PolyBool: Zero-length segment detected; your epsilon is probably too small or too large\");if(b.exists(F.prev)&&b.exists(F.next)&&k(F.prev.ev,F.next.ev),r&&r.statusRemove(F.ev.seg),F.remove(),!L.primary){var q=L.seg.myFill;L.seg.myFill=L.seg.otherFill,L.seg.otherFill=q}A.push(L.seg)}a.getHead().remove()}return r&&r.done(),A}return e?{addRegion:function(v){for(var x,b=v[v.length-1],p=0;p<v.length;p++){x=b,b=v[p];var E=t.pointsCompare(x,b);E!==0&&c(n(E<0?x:b,E<0?b:x),!0)}},calculate:function(v){return d(v,!1)}}:{calculate:function(v,x,b,p){return v.forEach(function(E){c(i(E.start,E.end,E),!0)}),b.forEach(function(E){c(i(E.start,E.end,E),!1)}),d(x,p)}}}zce.exports=yct});var Oce=ye((Lir,qce)=>{function _ct(e,t,r){var n=[],i=[];return e.forEach(function(a){var o=a.start,s=a.end;if(t.pointsSame(o,s)){console.warn(\"PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large\");return}r&&r.chainStart(a);var l={index:0,matches_head:!1,matches_pt1:!1},u={index:0,matches_head:!1,matches_pt1:!1},c=l;function f(V,H,X){return c.index=V,c.matches_head=H,c.matches_pt1=X,c===l?(c=u,!1):(c=null,!0)}for(var h=0;h<n.length;h++){var d=n[h],v=d[0],x=d[1],b=d[d.length-1],p=d[d.length-2];if(t.pointsSame(v,o)){if(f(h,!0,!0))break}else if(t.pointsSame(v,s)){if(f(h,!0,!1))break}else if(t.pointsSame(b,o)){if(f(h,!1,!0))break}else if(t.pointsSame(b,s)&&f(h,!1,!1))break}if(c===l){n.push([o,s]),r&&r.chainNew(o,s);return}if(c===u){r&&r.chainMatch(l.index);var E=l.index,k=l.matches_pt1?s:o,A=l.matches_head,d=n[E],L=A?d[0]:d[d.length-1],_=A?d[1]:d[d.length-2],C=A?d[d.length-1]:d[0],M=A?d[d.length-2]:d[1];if(t.pointsCollinear(_,L,k)&&(A?(r&&r.chainRemoveHead(l.index,k),d.shift()):(r&&r.chainRemoveTail(l.index,k),d.pop()),L=_),t.pointsSame(C,k)){n.splice(E,1),t.pointsCollinear(M,C,L)&&(A?(r&&r.chainRemoveTail(l.index,L),d.pop()):(r&&r.chainRemoveHead(l.index,L),d.shift())),r&&r.chainClose(l.index),i.push(d);return}A?(r&&r.chainAddHead(l.index,k),d.unshift(k)):(r&&r.chainAddTail(l.index,k),d.push(k));return}function g(V){r&&r.chainReverse(V),n[V].reverse()}function P(V,H){var X=n[V],G=n[H],N=X[X.length-1],W=X[X.length-2],re=G[0],ae=G[1];t.pointsCollinear(W,N,re)&&(r&&r.chainRemoveTail(V,N),X.pop(),N=W),t.pointsCollinear(N,re,ae)&&(r&&r.chainRemoveHead(H,re),G.shift()),r&&r.chainJoin(V,H),n[V]=X.concat(G),n.splice(H,1)}var T=l.index,F=u.index;r&&r.chainConnect(T,F);var q=n[T].length<n[F].length;l.matches_head?u.matches_head?q?(g(T),P(T,F)):(g(F),P(F,T)):P(F,T):u.matches_head?P(T,F):q?(g(T),P(F,T)):(g(F),P(T,F))}),i}qce.exports=_ct});var Nce=ye((Pir,Bce)=>{function yM(e,t,r){var n=[];return e.forEach(function(i){var a=(i.myFill.above?8:0)+(i.myFill.below?4:0)+(i.otherFill&&i.otherFill.above?2:0)+(i.otherFill&&i.otherFill.below?1:0);t[a]!==0&&n.push({id:r?r.segmentId():-1,start:i.start,end:i.end,myFill:{above:t[a]===1,below:t[a]===2},otherFill:null})}),r&&r.selected(n),n}var xct={union:function(e,t){return yM(e,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],t)},intersect:function(e,t){return yM(e,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],t)},difference:function(e,t){return yM(e,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],t)},differenceRev:function(e,t){return yM(e,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],t)},xor:function(e,t){return yM(e,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],t)}};Bce.exports=xct});var Vce=ye((Iir,Uce)=>{var bct={toPolygon:function(e,t){function r(a){if(a.length<=0)return e.segments({inverted:!1,regions:[]});function o(u){var c=u.slice(0,u.length-1);return e.segments({inverted:!1,regions:[c]})}for(var s=o(a[0]),l=1;l<a.length;l++)s=e.selectDifference(e.combine(s,o(a[l])));return s}if(t.type===\"Polygon\")return e.polygon(r(t.coordinates));if(t.type===\"MultiPolygon\"){for(var n=e.segments({inverted:!1,regions:[]}),i=0;i<t.coordinates.length;i++)n=e.selectUnion(e.combine(n,r(t.coordinates[i])));return e.polygon(n)}throw new Error(\"PolyBool: Cannot convert GeoJSON object to PolyBool polygon\")},fromPolygon:function(e,t,r){r=e.polygon(e.segments(r));function n(d,v){return t.pointInsideRegion([(d[0][0]+d[1][0])*.5,(d[0][1]+d[1][1])*.5],v)}function i(d){return{region:d,children:[]}}var a=i(null);function o(d,v){for(var x=0;x<d.children.length;x++){var b=d.children[x];if(n(v,b.region)){o(b,v);return}}for(var p=i(v),x=0;x<d.children.length;x++){var b=d.children[x];n(b.region,v)&&(p.children.push(b),d.children.splice(x,1),x--)}d.children.push(p)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(a,l)}function u(d,v){for(var x=0,b=d[d.length-1][0],p=d[d.length-1][1],E=[],k=0;k<d.length;k++){var A=d[k][0],L=d[k][1];E.push([A,L]),x+=L*b-A*p,b=A,p=L}var _=x<0;return _!==v&&E.reverse(),E.push([E[0][0],E[0][1]]),E}var c=[];function f(d){var v=[u(d.region,!1)];c.push(v);for(var x=0;x<d.children.length;x++)v.push(h(d.children[x]))}function h(d){for(var v=0;v<d.children.length;v++)f(d.children[v]);return u(d.region,!0)}for(var s=0;s<a.children.length;s++)f(a.children[s]);return c.length<=0?{type:\"Polygon\",coordinates:[]}:c.length==1?{type:\"Polygon\",coordinates:c[0]}:{type:\"MultiPolygon\",coordinates:c}}};Uce.exports=bct});var Wce=ye((Rir,jce)=>{var wct=Lce(),Tct=Ice(),Hce=Fce(),Act=Oce(),_M=Nce(),Gce=Vce(),E0=!1,xM=Tct(),Ep;Ep={buildLog:function(e){return e===!0?E0=wct():e===!1&&(E0=!1),E0===!1?!1:E0.list},epsilon:function(e){return xM.epsilon(e)},segments:function(e){var t=Hce(!0,xM,E0);return e.regions.forEach(t.addRegion),{segments:t.calculate(e.inverted),inverted:e.inverted}},combine:function(e,t){var r=Hce(!1,xM,E0);return{combined:r.calculate(e.segments,e.inverted,t.segments,t.inverted),inverted1:e.inverted,inverted2:t.inverted}},selectUnion:function(e){return{segments:_M.union(e.combined,E0),inverted:e.inverted1||e.inverted2}},selectIntersect:function(e){return{segments:_M.intersect(e.combined,E0),inverted:e.inverted1&&e.inverted2}},selectDifference:function(e){return{segments:_M.difference(e.combined,E0),inverted:e.inverted1&&!e.inverted2}},selectDifferenceRev:function(e){return{segments:_M.differenceRev(e.combined,E0),inverted:!e.inverted1&&e.inverted2}},selectXor:function(e){return{segments:_M.xor(e.combined,E0),inverted:e.inverted1!==e.inverted2}},polygon:function(e){return{regions:Act(e.segments,xM,E0),inverted:e.inverted}},polygonFromGeoJSON:function(e){return Gce.toPolygon(Ep,e)},polygonToGeoJSON:function(e){return Gce.fromPolygon(Ep,xM,e)},union:function(e,t){return bM(e,t,Ep.selectUnion)},intersect:function(e,t){return bM(e,t,Ep.selectIntersect)},difference:function(e,t){return bM(e,t,Ep.selectDifference)},differenceRev:function(e,t){return bM(e,t,Ep.selectDifferenceRev)},xor:function(e,t){return bM(e,t,Ep.selectXor)}};function bM(e,t,r){var n=Ep.segments(e),i=Ep.segments(t),a=Ep.combine(n,i),o=r(a);return Ep.polygon(o)}typeof window==\"object\"&&(window.PolyBool=Ep);jce.exports=Ep});var Xce=ye((Dir,Zce)=>{Zce.exports=function(t,r,n,i){var a=t[0],o=t[1],s=!1;n===void 0&&(n=0),i===void 0&&(i=r.length);for(var l=i-n,u=0,c=l-1;u<l;c=u++){var f=r[u+n][0],h=r[u+n][1],d=r[c+n][0],v=r[c+n][1],x=h>o!=v>o&&a<(d-f)*(o-h)/(v-h)+f;x&&(s=!s)}return s}});var wM=ye((zir,Yce)=>{\"use strict\";var vN=m6().dot,fP=es().BADNUM,hP=Yce.exports={};hP.tester=function(t){var r=t.slice(),n=r[0][0],i=n,a=r[0][1],o=a,s;for((r[r.length-1][0]!==r[0][0]||r[r.length-1][1]!==r[0][1])&&r.push(r[0]),s=1;s<r.length;s++)n=Math.min(n,r[s][0]),i=Math.max(i,r[s][0]),a=Math.min(a,r[s][1]),o=Math.max(o,r[s][1]);var l=!1,u;r.length===5&&(r[0][0]===r[1][0]?r[2][0]===r[3][0]&&r[0][1]===r[3][1]&&r[1][1]===r[2][1]&&(l=!0,u=function(v){return v[0]===r[0][0]}):r[0][1]===r[1][1]&&r[2][1]===r[3][1]&&r[0][0]===r[3][0]&&r[1][0]===r[2][0]&&(l=!0,u=function(v){return v[1]===r[0][1]}));function c(v,x){var b=v[0],p=v[1];return!(b===fP||b<n||b>i||p===fP||p<a||p>o||x&&u(v))}function f(v,x){var b=v[0],p=v[1];if(b===fP||b<n||b>i||p===fP||p<a||p>o)return!1;var E=r.length,k=r[0][0],A=r[0][1],L=0,_,C,M,g,P;for(_=1;_<E;_++)if(C=k,M=A,k=r[_][0],A=r[_][1],g=Math.min(C,k),!(b<g||b>Math.max(C,k)||p>Math.max(M,A)))if(p<Math.min(M,A))b!==g&&L++;else{if(k===C?P=p:P=M+(b-C)*(A-M)/(k-C),p===P)return!(_===1&&x);p<=P&&b!==g&&L++}return L%2===1}var h=!0,d=r[0];for(s=1;s<r.length;s++)if(d[0]!==r[s][0]||d[1]!==r[s][1]){h=!1;break}return{xmin:n,xmax:i,ymin:a,ymax:o,pts:r,contains:l?c:f,isRect:l,degenerate:h}};hP.isSegmentBent=function(t,r,n,i){var a=t[r],o=[t[n][0]-a[0],t[n][1]-a[1]],s=vN(o,o),l=Math.sqrt(s),u=[-o[1]/l,o[0]/l],c,f,h;for(c=r+1;c<n;c++)if(f=[t[c][0]-a[0],t[c][1]-a[1]],h=vN(f,o),h<0||h>s||Math.abs(vN(f,u))>i)return!0;return!1};hP.filter=function(t,r){var n=[t[0]],i=0,a=0;function o(l){t.push(l);var u=n.length,c=i;n.splice(a+1);for(var f=c+1;f<t.length;f++)(f===t.length-1||hP.isSegmentBent(t,c,f+1,r))&&(n.push(t[f]),n.length<u-2&&(i=f,a=n.length-1),c=f)}if(t.length>1){var s=t.pop();o(s)}return{addPt:o,raw:t,filtered:n}}});var Jce=ye((Fir,Kce)=>{\"use strict\";Kce.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:\"-select\"}});var _fe=ye((qir,yfe)=>{\"use strict\";var $ce=Wce(),Sct=Xce(),SM=ba(),Mct=ao().dashStyle,TM=va(),Ect=Nc(),kct=rp().makeEventData,LM=Sg(),Cct=LM.freeMode,Lct=LM.rectMode,MM=LM.drawMode,yN=LM.openMode,_N=LM.selectMode,Qce=h_(),efe=cM(),afe=$L(),ofe=e_().clearOutline,sfe=c_(),pN=sfe.handleEllipse,Pct=sfe.readPaths,Ict=XL().newShapes,Rct=VB(),Dct=dN().activateLastSelection,vP=Mr(),zct=vP.sorterAsc,lfe=wM(),AM=P6(),k0=af().getFromId,Fct=lM(),qct=gM().redrawReglTraces,pP=Jce(),Am=pP.MINSELECT,Oct=lfe.filter,xN=lfe.tester,bN=GL(),tfe=bN.p2r,Bct=bN.axValue,Nct=bN.getTransform;function wN(e){return e.subplot!==void 0}function Uct(e,t,r,n,i){var a=!wN(n),o=Cct(i),s=Lct(i),l=yN(i),u=MM(i),c=_N(i),f=i===\"drawline\",h=i===\"drawcircle\",d=f||h,v=n.gd,x=v._fullLayout,b=c&&x.newselection.mode===\"immediate\"&&a,p=x._zoomlayer,E=n.element.getBoundingClientRect(),k=n.plotinfo,A=Nct(k),L=t-E.left,_=r-E.top;x._calcInverseTransform(v);var C=vP.apply3DTransform(x._invTransform)(L,_);L=C[0],_=C[1];var M=x._invScaleX,g=x._invScaleY,P=L,T=_,F=\"M\"+L+\",\"+_,q=n.xaxes[0],V=n.yaxes[0],H=q._length,X=V._length,G=e.altKey&&!(MM(i)&&l),N,W,re,ae,_e,Me,ke;cfe(e,v,n),o&&(N=Oct([[L,_]],pP.BENDPX));var ge=p.selectAll(\"path.select-outline-\"+k.id).data([1]),ie=u?x.newshape:x.newselection;u&&(n.hasText=ie.label.text||ie.label.texttemplate);var Te=u&&!l?ie.fillcolor:\"rgba(0,0,0,0)\",Ee=ie.line.color||(a?TM.contrast(v._fullLayout.plot_bgcolor):\"#7f7f7f\");ge.enter().append(\"path\").attr(\"class\",\"select-outline select-outline-\"+k.id).style({opacity:u?ie.opacity/2:1,\"stroke-dasharray\":Mct(ie.line.dash,ie.line.width),\"stroke-width\":ie.line.width+\"px\",\"shape-rendering\":\"crispEdges\"}).call(TM.stroke,Ee).call(TM.fill,Te).attr(\"fill-rule\",\"evenodd\").classed(\"cursor-move\",!!u).attr(\"transform\",A).attr(\"d\",F+\"Z\");var Ae=p.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:TM.background,stroke:TM.defaultLine,\"stroke-width\":1}).attr(\"transform\",A).attr(\"d\",\"M0,0Z\");if(u&&n.hasText){var ze=p.select(\".label-temp\");ze.empty()&&(ze=p.append(\"g\").classed(\"label-temp\",!0).classed(\"select-outline\",!0).style({opacity:.8}))}var Ce=x._uid+pP.SELECTID,me=[],Re=gP(v,n.xaxes,n.yaxes,n.subplot);b&&!e.shiftKey&&(n._clearSubplotSelections=function(){if(a){var Ge=q._id,nt=V._id;pfe(v,Ge,nt,Re);for(var ct=(v.layout||{}).selections||[],qt=[],rt=!1,ot=0;ot<ct.length;ot++){var Rt=x.selections[ot];!Rt||Rt.xref!==Ge||Rt.yref!==nt?qt.push(ct[ot]):rt=!0}rt&&(v._fullLayout._noEmitSelectedAtStart=!0,SM.call(\"_guiRelayout\",v,{selections:qt}))}});var ce=tft(n);n.moveFn=function(Ge,nt){n._clearSubplotSelections&&(n._clearSubplotSelections(),n._clearSubplotSelections=void 0),P=Math.max(0,Math.min(H,M*Ge+L)),T=Math.max(0,Math.min(X,g*nt+_));var ct=Math.abs(P-L),qt=Math.abs(T-_);if(s){var rt,ot,Rt;if(c){var kt=x.selectdirection;switch(kt===\"any\"?qt<Math.min(ct*.6,Am)?rt=\"h\":ct<Math.min(qt*.6,Am)?rt=\"v\":rt=\"d\":rt=kt,rt){case\"h\":ot=h?X/2:0,Rt=X;break;case\"v\":ot=h?H/2:0,Rt=H;break}}if(u)switch(x.newshape.drawdirection){case\"vertical\":rt=\"h\",ot=h?X/2:0,Rt=X;break;case\"horizontal\":rt=\"v\",ot=h?H/2:0,Rt=H;break;case\"ortho\":ct<qt?(rt=\"h\",ot=_,Rt=T):(rt=\"v\",ot=L,Rt=P);break;default:rt=\"d\"}rt===\"h\"?(ae=d?pN(h,[P,ot],[P,Rt]):[[L,ot],[L,Rt],[P,Rt],[P,ot]],ae.xmin=d?P:Math.min(L,P),ae.xmax=d?P:Math.max(L,P),ae.ymin=Math.min(ot,Rt),ae.ymax=Math.max(ot,Rt),Ae.attr(\"d\",\"M\"+ae.xmin+\",\"+(_-Am)+\"h-4v\"+2*Am+\"h4ZM\"+(ae.xmax-1)+\",\"+(_-Am)+\"h4v\"+2*Am+\"h-4Z\")):rt===\"v\"?(ae=d?pN(h,[ot,T],[Rt,T]):[[ot,_],[ot,T],[Rt,T],[Rt,_]],ae.xmin=Math.min(ot,Rt),ae.xmax=Math.max(ot,Rt),ae.ymin=d?T:Math.min(_,T),ae.ymax=d?T:Math.max(_,T),Ae.attr(\"d\",\"M\"+(L-Am)+\",\"+ae.ymin+\"v-4h\"+2*Am+\"v4ZM\"+(L-Am)+\",\"+(ae.ymax-1)+\"v4h\"+2*Am+\"v-4Z\")):rt===\"d\"&&(ae=d?pN(h,[L,_],[P,T]):[[L,_],[L,T],[P,T],[P,_]],ae.xmin=Math.min(L,P),ae.xmax=Math.max(L,P),ae.ymin=Math.min(_,T),ae.ymax=Math.max(_,T),Ae.attr(\"d\",\"M0,0Z\"))}else o&&(N.addPt([P,T]),ae=N.filtered);if(n.selectionDefs&&n.selectionDefs.length?(re=ffe(n.mergedPolygons,ae,G),ae.subtract=G,W=TN(n.selectionDefs.concat([ae]))):(re=[ae],W=xN(ae)),afe(dfe(re,l),ge,n),c){var Ct=mN(v,!1),Yt=Ct.eventData?Ct.eventData.points.slice():[];Ct=mN(v,!1,W,Re,n),W=Ct.selectionTesters,ke=Ct.eventData;var xr;N?xr=N.filtered:xr=gfe(re),AM.throttle(Ce,pP.SELECTDELAY,function(){me=vfe(W,Re);for(var er=me.slice(),Ke=0;Ke<Yt.length;Ke++){for(var xt=Yt[Ke],bt=!1,Lt=0;Lt<er.length;Lt++)if(er[Lt].curveNumber===xt.curveNumber&&er[Lt].pointNumber===xt.pointNumber){bt=!0;break}bt||er.push(xt)}er.length&&(ke||(ke={}),ke.points=er),ce(ke,xr),rft(v,ke)})}},n.clickFn=function(Ge,nt){if(Ae.remove(),v._fullLayout._activeShapeIndex>=0){v._fullLayout._deactivateShape(v);return}if(!u){var ct=x.clickmode;AM.done(Ce).then(function(){if(AM.clear(Ce),Ge===2){for(ge.remove(),_e=0;_e<Re.length;_e++)Me=Re[_e],Me._module.selectPoints(Me,!1);if(kM(v,Re),EM(n),SN(v),Re.length){var qt=Re[0].xaxis,rt=Re[0].yaxis;if(qt&&rt){for(var ot=[],Rt=v._fullLayout.selections,kt=0;kt<Rt.length;kt++){var Ct=Rt[kt];Ct&&(Ct.xref!==qt._id||Ct.yref!==rt._id)&&ot.push(Ct)}ot.length<Rt.length&&(v._fullLayout._noEmitSelectedAtStart=!0,SM.call(\"_guiRelayout\",v,{selections:ot}))}}}else ct.indexOf(\"select\")>-1&&ufe(nt,v,n.xaxes,n.yaxes,n.subplot,n,ge),ct===\"event\"&&CM(v,void 0);Ect.click(v,nt,k.id)}).catch(vP.error)}},n.doneFn=function(){Ae.remove(),AM.done(Ce).then(function(){AM.clear(Ce),!b&&ae&&n.selectionDefs&&(ae.subtract=G,n.selectionDefs.push(ae),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,re)),(b||u)&&EM(n,b),n.doneFnCompleted&&n.doneFnCompleted(me),c&&CM(v,ke)}).catch(vP.error)}}function ufe(e,t,r,n,i,a,o){var s=t._hoverdata,l=t._fullLayout,u=l.clickmode,c=u.indexOf(\"event\")>-1,f=[],h,d,v,x,b,p,E,k,A,L;if(Wct(s)){cfe(e,t,a),h=gP(t,r,n,i);var _=Zct(s,h),C=_.pointNumbers.length>0;if(C?Xct(h,_):Yct(h)&&(E=ife(_))){for(o&&o.remove(),L=0;L<h.length;L++)d=h[L],d._module.selectPoints(d,!1);kM(t,h),EM(a),c&&SN(t)}else{k=e.shiftKey&&(E!==void 0?E:ife(_)),v=Vct(_.pointNumber,_.searchInfo,k);var M=a.selectionDefs.concat([v]);for(x=TN(M,x),L=0;L<h.length;L++)if(b=h[L]._module.selectPoints(h[L],x),p=hfe(b,h[L]),f.length)for(var g=0;g<p.length;g++)f.push(p[g]);else f=p;if(A={points:f},kM(t,h,A),v&&a&&a.selectionDefs.push(v),o){var P=a.mergedPolygons,T=yN(a.dragmode);afe(dfe(P,T),o,a)}c&&CM(t,A)}}}function Vct(e,t,r){return{pointNumber:e,searchInfo:t,subtract:!!r}}function gN(e){return\"pointNumber\"in e&&\"searchInfo\"in e}function Hct(e){return{xmin:0,xmax:0,ymin:0,ymax:0,pts:[],contains:function(t,r,n,i){var a=e.searchInfo.cd[0].trace.index,o=i.cd[0].trace.index;return o===a&&n===e.pointNumber},isRect:!1,degenerate:!1,subtract:!!e.subtract}}function TN(e){if(!e.length)return;for(var t=[],r=gN(e[0])?0:e[0][0][0],n=r,i=gN(e[0])?0:e[0][0][1],a=i,o=0;o<e.length;o++)if(gN(e[o]))t.push(Hct(e[o]));else{var s=xN(e[o]);s.subtract=!!e[o].subtract,t.push(s),r=Math.min(r,s.xmin),n=Math.max(n,s.xmax),i=Math.min(i,s.ymin),a=Math.max(a,s.ymax)}function l(u,c,f,h){for(var d=!1,v=0;v<t.length;v++)t[v].contains(u,c,f,h)&&(d=!t[v].subtract);return d}return{xmin:r,xmax:n,ymin:i,ymax:a,pts:[],contains:l,isRect:!1,degenerate:!1}}function cfe(e,t,r){var n=t._fullLayout,i=r.plotinfo,a=r.dragmode,o=n._lastSelectedSubplot&&n._lastSelectedSubplot===i.id,s=(e.shiftKey||e.altKey)&&!(MM(a)&&yN(a));o&&s&&i.selection&&i.selection.selectionDefs&&!r.selectionDefs?(r.selectionDefs=i.selection.selectionDefs,r.mergedPolygons=i.selection.mergedPolygons):(!s||!i.selection)&&EM(r),o||(ofe(t),n._lastSelectedSubplot=i.id)}function Gct(e){return e._fullLayout._activeShapeIndex>=0}function jct(e){return e._fullLayout._activeSelectionIndex>=0}function EM(e,t){var r=e.dragmode,n=e.plotinfo,i=e.gd;Gct(i)&&i._fullLayout._deactivateShape(i),jct(i)&&i._fullLayout._deactivateSelection(i);var a=i._fullLayout,o=a._zoomlayer,s=MM(r),l=_N(r);if(s||l){var u=o.selectAll(\".select-outline-\"+n.id);if(u&&i._fullLayout._outlining){var c;s&&(c=Ict(u,e)),c&&SM.call(\"_guiRelayout\",i,{shapes:c});var f;l&&!wN(e)&&(f=Rct(u,e)),f&&(i._fullLayout._noEmitSelectedAtStart=!0,SM.call(\"_guiRelayout\",i,{selections:f}).then(function(){t&&Dct(i)})),i._fullLayout._outlining=!1}}n.selection={},n.selection.selectionDefs=e.selectionDefs=[],n.selection.mergedPolygons=e.mergedPolygons=[]}function rfe(e){return e._id}function gP(e,t,r,n){if(!e.calcdata)return[];var i=[],a=t.map(rfe),o=r.map(rfe),s,l,u;for(u=0;u<e.calcdata.length;u++)if(s=e.calcdata[u],l=s[0].trace,!(l.visible!==!0||!l._module||!l._module.selectPoints))if(wN({subplot:n})&&(l.subplot===n||l.geo===n))i.push(dP(l._module,s,t[0],r[0]));else if(l.type===\"splom\"){if(l._xaxes[a[0]]&&l._yaxes[o[0]]){var c=dP(l._module,s,t[0],r[0]);c.scene=e._fullLayout._splomScenes[l.uid],i.push(c)}}else if(l.type===\"sankey\"){var f=dP(l._module,s,t[0],r[0]);i.push(f)}else{if(a.indexOf(l.xaxis)===-1&&(!l._xA||!l._xA.overlaying)||o.indexOf(l.yaxis)===-1&&(!l._yA||!l._yA.overlaying))continue;i.push(dP(l._module,s,k0(e,l.xaxis),k0(e,l.yaxis)))}return i}function dP(e,t,r,n){return{_module:e,cd:t,xaxis:r,yaxis:n}}function Wct(e){return e&&Array.isArray(e)&&e[0].hoverOnBox!==!0}function Zct(e,t){var r=e[0],n=-1,i=[],a,o;for(o=0;o<t.length;o++)if(a=t[o],r.fullData.index===a.cd[0].trace.index){if(r.hoverOnBox===!0)break;r.pointNumber!==void 0?n=r.pointNumber:r.binNumber!==void 0&&(n=r.binNumber,i=r.pointNumbers);break}return{pointNumber:n,pointNumbers:i,searchInfo:a}}function ife(e){var t=e.searchInfo.cd[0].trace,r=e.pointNumber,n=e.pointNumbers,i=n.length>0,a=i?n[0]:r;return t.selectedpoints?t.selectedpoints.indexOf(a)>-1:!1}function Xct(e,t){var r=[],n,i,a,o;for(o=0;o<e.length;o++)n=e[o],n.cd[0].trace.selectedpoints&&n.cd[0].trace.selectedpoints.length>0&&r.push(n);if(r.length===1&&(a=r[0]===t.searchInfo,a&&(i=t.searchInfo.cd[0].trace,i.selectedpoints.length===t.pointNumbers.length))){for(o=0;o<t.pointNumbers.length;o++)if(i.selectedpoints.indexOf(t.pointNumbers[o])<0)return!1;return!0}return!1}function Yct(e){var t=0,r,n,i;for(i=0;i<e.length;i++)if(r=e[i],n=r.cd[0].trace,n.selectedpoints&&(n.selectedpoints.length>1||(t+=n.selectedpoints.length,t>1)))return!1;return t===1}function kM(e,t,r){var n;for(n=0;n<t.length;n++){var i=t[n].cd[0].trace._fullInput,a=e._fullLayout._tracePreGUI[i.uid]||{};a.selectedpoints===void 0&&(a.selectedpoints=i._input.selectedpoints||null)}var o;if(r){var s=r.points||[];for(n=0;n<t.length;n++)o=t[n].cd[0].trace,o._input.selectedpoints=o._fullInput.selectedpoints=[],o._fullInput!==o&&(o.selectedpoints=[]);for(var l=0;l<s.length;l++){var u=s[l],c=u.data,f=u.fullData,h=u.pointIndex,d=u.pointIndices;d?([].push.apply(c.selectedpoints,d),o._fullInput!==o&&[].push.apply(f.selectedpoints,d)):(c.selectedpoints.push(h),o._fullInput!==o&&f.selectedpoints.push(h))}}else for(n=0;n<t.length;n++)o=t[n].cd[0].trace,delete o.selectedpoints,delete o._input.selectedpoints,o._fullInput!==o&&delete o._fullInput.selectedpoints;Kct(e,t)}function Kct(e,t){for(var r=!1,n=0;n<t.length;n++){var i=t[n],a=i.cd;SM.traceIs(a[0].trace,\"regl\")&&(r=!0);var o=i._module,s=o.styleOnSelect||o.style;s&&(s(e,a,a[0].node3),a[0].nodeRangePlot3&&s(e,a,a[0].nodeRangePlot3))}r&&(Fct(e),qct(e))}function ffe(e,t,r){for(var n=r?$ce.difference:$ce.union,i=n({regions:e},{regions:[t]}),a=i.regions.reverse(),o=0;o<a.length;o++){var s=a[o];s.subtract=AN(s,a.slice(0,o))}return a}function hfe(e,t){if(Array.isArray(e))for(var r=t.cd,n=t.cd[0].trace,i=0;i<e.length;i++)e[i]=kct(e[i],n,r);return e}function dfe(e,t){for(var r=[],n=0;n<e.length;n++){r[n]=[];for(var i=0;i<e[n].length;i++){r[n][i]=[],r[n][i][0]=i?\"L\":\"M\";for(var a=0;a<e[n][i].length;a++)r[n][i].push(e[n][i][a])}t||r[n].push([\"Z\",r[n][0][1],r[n][0][2]])}return r}function vfe(e,t){for(var r=[],n,i=[],a,o=0;o<t.length;o++){var s=t[o];a=s._module.selectPoints(s,e),i.push(a),n=hfe(a,s),r=r.concat(n)}return r}function mN(e,t,r,n,i){var a=!!n,o,s,l;i&&(o=i.plotinfo,s=i.xaxes[0]._id,l=i.yaxes[0]._id);var u=[],c=[],f=nfe(e),h=e._fullLayout;if(o){var d=h._zoomlayer,v=h.dragmode,x=MM(v),b=_N(v);if(x||b){var p=k0(e,s,\"x\"),E=k0(e,l,\"y\");if(p&&E){var k=d.selectAll(\".select-outline-\"+o.id);if(k&&e._fullLayout._outlining&&k.length){for(var A=k[0][0],L=A.getAttribute(\"d\"),_=Pct(L,e,o),C=[],M=0;M<_.length;M++){for(var g=_[M],P=[],T=0;T<g.length;T++)P.push([d_(p,g[T][1]),d_(E,g[T][2])]);P.xref=s,P.yref=l,P.subtract=AN(P,C),C.push(P)}f=f.concat(C)}}}}var F=s&&l?[s+l]:h._subplots.cartesian;Jct(e);for(var q={},V=0;V<F.length;V++){var H=F[V],X=H.indexOf(\"y\"),G=H.slice(0,X),N=H.slice(X),W=s&&l?r:void 0;if(W=Qct(f,G,N,W),W){var re=n;if(!a){var ae=k0(e,G,\"x\"),_e=k0(e,N,\"y\");re=gP(e,[ae],[_e],H);for(var Me=0;Me<re.length;Me++){var ke=re[Me],ge=ke.cd[0],ie=ge.trace;if(ke._module.name===\"scattergl\"&&!ge.t.xpx){var Te=ie.x,Ee=ie.y,Ae=ie._length;ge.t.xpx=[],ge.t.ypx=[];for(var ze=0;ze<Ae;ze++)ge.t.xpx[ze]=ae.c2p(Te[ze]),ge.t.ypx[ze]=_e.c2p(Ee[ze])}ke._module.name===\"splom\"&&(q[ie.uid]||(q[ie.uid]=!0))}}var Ce=vfe(W,re);u=u.concat(Ce),c=c.concat(re)}}var me={points:u};kM(e,c,me);var Re=h.clickmode,ce=Re.indexOf(\"event\")>-1&&t;if(!o&&t){var Ge=nfe(e,!0);if(Ge.length){var nt=Ge[0].xref,ct=Ge[0].yref;if(nt&&ct){var qt=gfe(Ge),rt=mfe([k0(e,nt,\"x\"),k0(e,ct,\"y\")]);rt(me,qt)}}e._fullLayout._noEmitSelectedAtStart?e._fullLayout._noEmitSelectedAtStart=!1:ce&&CM(e,me),h._reselect=!1}if(!o&&h._deselect){var ot=h._deselect;s=ot.xref,l=ot.yref,$ct(s,l,c)||pfe(e,s,l,n),ce&&(me.points.length?CM(e,me):SN(e)),h._deselect=!1}return{eventData:me,selectionTesters:r}}function Jct(e){var t=e.calcdata;if(t)for(var r=0;r<t.length;r++){var n=t[r][0],i=n.trace,a=e._fullLayout._splomScenes;if(a){var o=a[i.uid];o&&(o.selectBatch=[])}}}function $ct(e,t,r){for(var n=0;n<r.length;n++){var i=r[n];if(i.xaxis&&i.xaxis._id===e&&i.yaxis&&i.yaxis._id===t)return!0}return!1}function pfe(e,t,r,n){n=gP(e,[k0(e,t,\"x\")],[k0(e,r,\"y\")],t+r);for(var i=0;i<n.length;i++){var a=n[i];a._module.selectPoints(a,!1)}kM(e,n)}function Qct(e,t,r,n){for(var i,a=0;a<e.length;a++){var o=e[a];if(!(t!==o.xref||r!==o.yref))if(i){var s=!!o.subtract;i=ffe(i,o,s),n=TN(i)}else i=[o],n=xN(o)}return n}function nfe(e,t){for(var r=[],n=e._fullLayout,i=n.selections,a=i.length,o=0;o<a;o++)if(!(t&&o!==n._activeSelectionIndex)){var s=i[o];if(s){var l=s.xref,u=s.yref,c=k0(e,l,\"x\"),f=k0(e,u,\"y\"),h,d,v,x,b;if(s.type===\"rect\"){b=[];var p=d_(c,s.x0),E=d_(c,s.x1),k=d_(f,s.y0),A=d_(f,s.y1);b=[[p,k],[p,A],[E,A],[E,k]],h=Math.min(p,E),d=Math.max(p,E),v=Math.min(k,A),x=Math.max(k,A),b.xmin=h,b.xmax=d,b.ymin=v,b.ymax=x,b.xref=l,b.yref=u,b.subtract=!1,b.isRect=!0,r.push(b)}else if(s.type===\"path\")for(var L=s.path.split(\"Z\"),_=[],C=0;C<L.length;C++){var M=L[C];if(M){M+=\"Z\";var g=Qce.extractPathCoords(M,efe.paramIsX,\"raw\"),P=Qce.extractPathCoords(M,efe.paramIsY,\"raw\");h=1/0,d=-1/0,v=1/0,x=-1/0,b=[];for(var T=0;T<g.length;T++){var F=d_(c,g[T]),q=d_(f,P[T]);b.push([F,q]),h=Math.min(F,h),d=Math.max(F,d),v=Math.min(q,v),x=Math.max(q,x)}b.xmin=h,b.xmax=d,b.ymin=v,b.ymax=x,b.xref=l,b.yref=u,b.subtract=AN(b,_),_.push(b),r.push(b)}}}}return r}function AN(e,t){for(var r=!1,n=0;n<t.length;n++)for(var i=t[n],a=0;a<e.length;a++)if(Sct(e[a],i)){r=!r;break}return r}function d_(e,t){return e.type===\"date\"&&(t=t.replace(\"_\",\" \")),e.type===\"log\"?e.c2p(t):e.r2p(t,null,e.calendar)}function gfe(e){for(var t=e.length,r=[],n=0;n<t;n++){var i=e[n];r=r.concat(i),r=r.concat([i[0]])}return eft(r)}function eft(e){return e.isRect=e.length===5&&e[0][0]===e[4][0]&&e[0][1]===e[4][1]&&e[0][0]===e[1][0]&&e[2][0]===e[3][0]&&e[0][1]===e[3][1]&&e[1][1]===e[2][1]||e[0][1]===e[1][1]&&e[2][1]===e[3][1]&&e[0][0]===e[3][0]&&e[1][0]===e[2][0],e.isRect&&(e.xmin=Math.min(e[0][0],e[2][0]),e.xmax=Math.max(e[0][0],e[2][0]),e.ymin=Math.min(e[0][1],e[2][1]),e.ymax=Math.max(e[0][1],e[2][1])),e}function mfe(e){return function(t,r){for(var n,i,a=0;a<e.length;a++){var o=e[a],s=o._id,l=s.charAt(0);if(r.isRect){n||(n={});var u=r[l+\"min\"],c=r[l+\"max\"];u!==void 0&&c!==void 0&&(n[s]=[tfe(o,u),tfe(o,c)].sort(zct))}else i||(i={}),i[s]=r.map(Bct(o))}n&&(t.range=n),i&&(t.lassoPoints=i)}}function tft(e){var t=e.plotinfo;return t.fillRangeItems||mfe(e.xaxes.concat(e.yaxes))}function rft(e,t){e.emit(\"plotly_selecting\",t)}function CM(e,t){t&&(t.selections=(e.layout||{}).selections||[]),e.emit(\"plotly_selected\",t)}function SN(e){e.emit(\"plotly_deselect\",null)}yfe.exports={reselect:mN,prepSelect:Uct,clearOutline:ofe,clearSelectionsCache:EM,selectOnClick:ufe}});var MN=ye((Oir,xfe)=>{\"use strict\";xfe.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}]});var PM=ye((Bir,bfe)=>{\"use strict\";bfe.exports={axisRefDescription:function(e,t,r){return[\"If set to a\",e,\"axis id (e.g. *\"+e+\"* or\",\"*\"+e+\"2*), the `\"+e+\"` position refers to a\",e,\"coordinate. If set to *paper*, the `\"+e+\"`\",\"position refers to the distance from the\",t,\"of the plotting\",\"area in normalized coordinates where *0* (*1*) corresponds to the\",t,\"(\"+r+\"). If set to a\",e,\"axis ID followed by\",\"*domain* (separated by a space), the position behaves like for\",\"*paper*, but refers to the distance in fractions of the domain\",\"length from the\",t,\"of the domain of that axis: e.g.,\",\"*\"+e+\"2 domain* refers to the domain of the second\",e,\" axis and a\",e,\"position of 0.5 refers to the\",\"point between the\",t,\"and the\",r,\"of the domain of the\",\"second\",e,\"axis.\"].join(\" \")}}});var Nb=ye((Uir,Afe)=>{\"use strict\";var wfe=MN(),Tfe=Su(),mP=ad(),ift=Vs().templatedArray,Nir=PM();Afe.exports=ift(\"annotation\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},text:{valType:\"string\",editType:\"calc+arraydraw\"},textangle:{valType:\"angle\",dflt:0,editType:\"calc+arraydraw\"},font:Tfe({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:wfe.length,dflt:1,editType:\"arraydraw\"},startarrowhead:{valType:\"integer\",min:0,max:wfe.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\",mP.idRegex.x.toString()],editType:\"calc\"},ayref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",mP.idRegex.y.toString()],editType:\"calc\"},xref:{valType:\"enumerated\",values:[\"paper\",mP.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\",mP.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:Tfe({editType:\"arraydraw\"}),editType:\"arraydraw\"},captureevents:{valType:\"boolean\",editType:\"arraydraw\"},editType:\"calc\"})});var Sm=ye((Vir,Sfe)=>{\"use strict\";Sfe.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}});var Eg=ye((Hir,Mfe)=>{\"use strict\";Mfe.exports=function(t){return{valType:\"color\",editType:\"style\",anim:!0}}});var Uc=ye((Gir,Ife)=>{\"use strict\";var Efe=Oc().axisHoverFormat,nft=Wo().texttemplateAttrs,aft=Wo().hovertemplateAttrs,kfe=Jl(),oft=Su(),sft=Ed().dash,lft=Ed().pattern,uft=ao(),cft=Sm(),yP=no().extendFlat,fft=Eg();function Cfe(e){return{valType:\"any\",dflt:0,editType:\"calc\"}}function Lfe(e){return{valType:\"any\",editType:\"calc\"}}function Pfe(e){return{valType:\"enumerated\",values:[\"start\",\"middle\",\"end\"],dflt:\"middle\",editType:\"calc\"}}Ife.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\",anim:!0},x0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\",anim:!0},dx:{valType:\"number\",dflt:1,editType:\"calc\",anim:!0},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\",anim:!0},y0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\",anim:!0},dy:{valType:\"number\",dflt:1,editType:\"calc\",anim:!0},xperiod:Cfe(\"x\"),yperiod:Cfe(\"y\"),xperiod0:Lfe(\"x0\"),yperiod0:Lfe(\"y0\"),xperiodalignment:Pfe(\"x\"),yperiodalignment:Pfe(\"y\"),xhoverformat:Efe(\"x\"),yhoverformat:Efe(\"y\"),offsetgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},alignmentgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},stackgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc\"},groupnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\",editType:\"calc\"},stackgaps:{valType:\"enumerated\",values:[\"infer zero\",\"interpolate\"],dflt:\"infer zero\",editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},texttemplate:nft({},{}),hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"],editType:\"calc\"},hoveron:{valType:\"flaglist\",flags:[\"points\",\"fills\"],editType:\"style\"},hovertemplate:aft({},{keys:cft.eventDataKeys}),line:{color:{valType:\"color\",editType:\"style\",anim:!0},width:{valType:\"number\",min:0,dflt:2,editType:\"style\",anim:!0},shape:{valType:\"enumerated\",values:[\"linear\",\"spline\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\",editType:\"plot\"},smoothing:{valType:\"number\",min:0,max:1.3,dflt:1,editType:\"plot\"},dash:yP({},sft,{editType:\"style\"}),backoff:{valType:\"number\",min:0,dflt:\"auto\",arrayOk:!0,editType:\"plot\"},simplify:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cliponaxis:{valType:\"boolean\",dflt:!0,editType:\"plot\"},fill:{valType:\"enumerated\",values:[\"none\",\"tozeroy\",\"tozerox\",\"tonexty\",\"tonextx\",\"toself\",\"tonext\"],editType:\"calc\"},fillcolor:fft(!0),fillgradient:yP({type:{valType:\"enumerated\",values:[\"radial\",\"horizontal\",\"vertical\",\"none\"],dflt:\"none\",editType:\"calc\"},start:{valType:\"number\",editType:\"calc\"},stop:{valType:\"number\",editType:\"calc\"},colorscale:{valType:\"colorscale\",editType:\"style\"},editType:\"calc\"}),fillpattern:lft,marker:yP({symbol:{valType:\"enumerated\",values:uft.symbolList,dflt:\"circle\",arrayOk:!0,editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,arrayOk:!0,editType:\"style\",anim:!0},angle:{valType:\"angle\",dflt:0,arrayOk:!0,editType:\"plot\",anim:!1},angleref:{valType:\"enumerated\",values:[\"previous\",\"up\"],dflt:\"up\",editType:\"plot\",anim:!1},standoff:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"plot\",anim:!0},size:{valType:\"number\",min:0,dflt:6,arrayOk:!0,editType:\"calc\",anim:!0},maxdisplayed:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},sizeref:{valType:\"number\",dflt:1,editType:\"calc\"},sizemin:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},sizemode:{valType:\"enumerated\",values:[\"diameter\",\"area\"],dflt:\"diameter\",editType:\"calc\"},line:yP({width:{valType:\"number\",min:0,arrayOk:!0,editType:\"style\",anim:!0},editType:\"calc\"},kfe(\"marker.line\",{anim:!0})),gradient:{type:{valType:\"enumerated\",values:[\"radial\",\"horizontal\",\"vertical\",\"none\"],arrayOk:!0,dflt:\"none\",editType:\"calc\"},color:{valType:\"color\",arrayOk:!0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},kfe(\"marker\",{anim:!0})),selected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},unselected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\"],dflt:\"middle center\",arrayOk:!0,editType:\"calc\"},textfont:oft({editType:\"calc\",colorEditType:\"style\",arrayOk:!0}),zorder:{valType:\"integer\",dflt:0,editType:\"plot\"}}});var EN=ye((Wir,zfe)=>{\"use strict\";var Rfe=Nb(),Dfe=Uc().line,hft=Ed().dash,_P=no().extendFlat,dft=Bu().overrideAll,vft=Vs().templatedArray,jir=PM();zfe.exports=dft(vft(\"selection\",{type:{valType:\"enumerated\",values:[\"rect\",\"path\"]},xref:_P({},Rfe.xref,{}),yref:_P({},Rfe.yref,{}),x0:{valType:\"any\"},x1:{valType:\"any\"},y0:{valType:\"any\"},y1:{valType:\"any\"},path:{valType:\"string\",editType:\"arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:.7,editType:\"arraydraw\"},line:{color:Dfe.color,width:_P({},Dfe.width,{min:1,dflt:1}),dash:_P({},hft,{dflt:\"dot\"})}}),\"arraydraw\",\"from-root\")});var Bfe=ye((Zir,Ofe)=>{\"use strict\";var Ffe=Mr(),xP=Qa(),pft=Zd(),gft=EN(),qfe=h_();Ofe.exports=function(t,r){pft(t,r,{name:\"selections\",handleItemDefaults:mft});for(var n=r.selections,i=0;i<n.length;i++){var a=n[i];a&&a.path===void 0&&(a.x0===void 0||a.x1===void 0||a.y0===void 0||a.y1===void 0)&&(r.selections[i]=null)}};function mft(e,t,r){function n(_,C){return Ffe.coerce(e,t,gft,_,C)}var i=n(\"path\"),a=i?\"path\":\"rect\",o=n(\"type\",a),s=o!==\"path\";s&&delete t.path,n(\"opacity\"),n(\"line.color\"),n(\"line.width\"),n(\"line.dash\");for(var l=[\"x\",\"y\"],u=0;u<2;u++){var c=l[u],f={_fullLayout:r},h,d,v,x=xP.coerceRef(e,t,f,c);if(h=xP.getFromId(f,x),h._selectionIndices.push(t._index),v=qfe.rangeToShapePosition(h),d=qfe.shapePositionToRange(h),s){var b=c+\"0\",p=c+\"1\",E=e[b],k=e[p];e[b]=d(e[b],!0),e[p]=d(e[p],!0),xP.coercePosition(t,f,n,x,b),xP.coercePosition(t,f,n,x,p);var A=t[b],L=t[p];A!==void 0&&L!==void 0&&(t[b]=v(A),t[p]=v(L),e[b]=E,e[p]=k)}}s&&Ffe.noneOrAll(e,t,[\"x0\",\"x1\",\"y0\",\"y1\"])}});var Ufe=ye((Xir,Nfe)=>{\"use strict\";Nfe.exports=function(t,r,n){n(\"newselection.mode\");var i=n(\"newselection.line.width\");i&&(n(\"newselection.line.color\"),n(\"newselection.line.dash\")),n(\"activeselection.fillcolor\"),n(\"activeselection.opacity\")}});var IM=ye((Yir,Gfe)=>{\"use strict\";var yft=ba(),Vfe=Mr(),Hfe=af();Gfe.exports=function(t){return function(n,i){var a=n[t];if(Array.isArray(a))for(var o=yft.subplotsRegistry.cartesian,s=o.idRegex,l=i._subplots,u=l.xaxis,c=l.yaxis,f=l.cartesian,h=i._has(\"cartesian\"),d=0;d<a.length;d++){var v=a[d];if(Vfe.isPlainObject(v)){var x=Hfe.cleanId(v.xref,\"x\",!1),b=Hfe.cleanId(v.yref,\"y\",!1),p=s.x.test(x),E=s.y.test(b);if(p||E){h||Vfe.pushUnique(i._basePlotModules,o);var k=!1;p&&u.indexOf(x)===-1&&(u.push(x),k=!0),E&&c.indexOf(b)===-1&&(c.push(b),k=!0),k&&p&&E&&f.push(x+b)}}}}}});var wf=ye((Kir,Wfe)=>{\"use strict\";var jfe=dN(),RM=_fe();Wfe.exports={moduleType:\"component\",name:\"selections\",layoutAttributes:EN(),supplyLayoutDefaults:Bfe(),supplyDrawNewSelectionDefaults:Ufe(),includeBasePlot:IM()(\"selections\"),draw:jfe.draw,drawOne:jfe.drawOne,reselect:RM.reselect,prepSelect:RM.prepSelect,clearOutline:RM.clearOutline,clearSelectionsCache:RM.clearSelectionsCache,selectOnClick:RM.selectOnClick}});var DN=ye((Jir,hhe)=>{\"use strict\";var IN=xa(),C0=Mr(),Zfe=C0.numberFormat,_ft=id(),xft=kL(),bP=ba(),rhe=C0.strTranslate,bft=Pl(),Xfe=va(),v_=ao(),wft=Nc(),Yfe=Qa(),Tft=Tg(),Aft=gv(),ihe=Sg(),wP=ihe.selectingOrDrawing,Sft=ihe.freeMode,Mft=Nh().FROM_TL,Eft=lM(),kft=gM().redrawReglTraces,Cft=Xu(),CN=af().getFromId,Lft=wf().prepSelect,Pft=wf().clearOutline,Ift=wf().selectOnClick,kN=aN(),RN=ad(),Kfe=RN.MINDRAG,np=RN.MINZOOM,Jfe=!0;function Rft(e,t,r,n,i,a,o,s){var l=e._fullLayout._zoomlayer,u=o+s===\"nsew\",c=(o+s).length===1,f,h,d,v,x,b,p,E,k,A,L,_,C,M,g,P,T,F,q,V,H,X,G;r+=t.yaxis._shift;function N(){if(f=t.xaxis,h=t.yaxis,k=f._length,A=h._length,p=f._offset,E=h._offset,d={},d[f._id]=f,v={},v[h._id]=h,o&&s)for(var Et=t.overlays,dt=0;dt<Et.length;dt++){var Ht=Et[dt].xaxis;d[Ht._id]=Ht;var $t=Et[dt].yaxis;v[$t._id]=$t}x=the(d),b=the(v),C=$fe(x,s),M=$fe(b,o),g=!M&&!C,_=ehe(e,e._fullLayout._axisMatchGroups,d,v),L=ehe(e,e._fullLayout._axisConstraintGroups,d,v,_);var fr=L.isSubplotConstrained||_.isSubplotConstrained;P=s||fr,T=o||fr;var _r=e._fullLayout;F=_r._has(\"scattergl\"),q=_r._has(\"splom\"),V=_r._has(\"svg\")}N();var W=Fft(M+C,e._fullLayout.dragmode,u),re=ahe(t,o+s+\"drag\",W,r,n,i,a);if(g&&!u)return re.onmousedown=null,re.style.pointerEvents=\"none\",re;var ae={element:re,gd:e,plotinfo:t};ae.prepFn=function(Et,dt,Ht){var $t=ae.dragmode,fr=e._fullLayout.dragmode;fr!==$t&&(ae.dragmode=fr),N(),X=e._fullLayout._invScaleX,G=e._fullLayout._invScaleY,g||(u?Et.shiftKey?fr===\"pan\"?fr=\"zoom\":wP(fr)||(fr=\"pan\"):Et.ctrlKey&&(fr=\"pan\"):fr=\"pan\"),Sft(fr)?ae.minDrag=1:ae.minDrag=void 0,wP(fr)?(ae.xaxes=x,ae.yaxes=b,Lft(Et,dt,Ht,ae,fr)):(ae.clickFn=Me,wP($t)&&_e(),g||(fr===\"zoom\"?(ae.moveFn=Ge,ae.doneFn=ct,ae.minDrag=1,ce(Et,dt,Ht)):fr===\"pan\"&&(ae.moveFn=Ct,ae.doneFn=Ke))),e._fullLayout._redrag=function(){var _r=e._dragdata;if(_r&&_r.element===re){var Br=e._fullLayout.dragmode;wP(Br)||(N(),xt([0,0,k,A]),ae.moveFn(_r.dx,_r.dy))}}};function _e(){ae.plotinfo.selection=!1,Pft(e)}function Me(Et,dt){var Ht=ae.gd;if(Ht._fullLayout._activeShapeIndex>=0){Ht._fullLayout._deactivateShape(Ht);return}var $t=Ht._fullLayout.clickmode;if(PN(Ht),Et===2&&!c&&er(),u)$t.indexOf(\"select\")>-1&&Ift(dt,Ht,x,b,t.id,ae),$t.indexOf(\"event\")>-1&&wft.click(Ht,dt,t.id);else if(Et===1&&c){var fr=o?h:f,_r=o===\"s\"||s===\"w\"?0:1,Br=fr._name+\".range[\"+_r+\"]\",Or=Dft(fr,_r),Nr=\"left\",ut=\"middle\";if(fr.fixedrange)return;o?(ut=o===\"n\"?\"top\":\"bottom\",fr.side===\"right\"&&(Nr=\"right\")):s===\"e\"&&(Nr=\"right\"),Ht._context.showAxisRangeEntryBoxes&&IN.select(re).call(bft.makeEditable,{gd:Ht,immediate:!0,background:Ht._fullLayout.paper_bgcolor,text:String(Or),fill:fr.tickfont?fr.tickfont.color:\"#444\",horizontalAlign:Nr,verticalAlign:ut}).on(\"edit\",function(Ne){var Ye=fr.d2r(Ne);Ye!==void 0&&bP.call(\"_guiRelayout\",Ht,Br,Ye)})}}Aft.init(ae);var ke,ge,ie,Te,Ee,Ae,ze,Ce,me,Re;function ce(Et,dt,Ht){var $t=re.getBoundingClientRect();ke=dt-$t.left,ge=Ht-$t.top,e._fullLayout._calcInverseTransform(e);var fr=C0.apply3DTransform(e._fullLayout._invTransform)(ke,ge);ke=fr[0],ge=fr[1],ie={l:ke,r:ke,w:0,t:ge,b:ge,h:0},Te=e._hmpixcount?e._hmlumcount/e._hmpixcount:_ft(e._fullLayout.plot_bgcolor).getLuminance(),Ee=\"M0,0H\"+k+\"V\"+A+\"H0V0\",Ae=!1,ze=\"xy\",Re=!1,Ce=ohe(l,Te,p,E,Ee),me=she(l,p,E)}function Ge(Et,dt){if(e._transitioningWithDuration)return!1;var Ht=Math.max(0,Math.min(k,X*Et+ke)),$t=Math.max(0,Math.min(A,G*dt+ge)),fr=Math.abs(Ht-ke),_r=Math.abs($t-ge);ie.l=Math.min(ke,Ht),ie.r=Math.max(ke,Ht),ie.t=Math.min(ge,$t),ie.b=Math.max(ge,$t);function Br(){ze=\"\",ie.r=ie.l,ie.t=ie.b,me.attr(\"d\",\"M0,0Z\")}if(L.isSubplotConstrained)fr>np||_r>np?(ze=\"xy\",fr/k>_r/A?(_r=fr*A/k,ge>$t?ie.t=ge-_r:ie.b=ge+_r):(fr=_r*k/A,ke>Ht?ie.l=ke-fr:ie.r=ke+fr),me.attr(\"d\",TP(ie))):Br();else if(_.isSubplotConstrained)if(fr>np||_r>np){ze=\"xy\";var Or=Math.min(ie.l/k,(A-ie.b)/A),Nr=Math.max(ie.r/k,(A-ie.t)/A);ie.l=Or*k,ie.r=Nr*k,ie.b=(1-Or)*A,ie.t=(1-Nr)*A,me.attr(\"d\",TP(ie))}else Br();else!M||_r<Math.min(Math.max(fr*.6,Kfe),np)?fr<Kfe||!C?Br():(ie.t=0,ie.b=A,ze=\"x\",me.attr(\"d\",qft(ie,ge))):!C||fr<Math.min(_r*.6,np)?(ie.l=0,ie.r=k,ze=\"y\",me.attr(\"d\",Oft(ie,ke))):(ze=\"xy\",me.attr(\"d\",TP(ie)));ie.w=ie.r-ie.l,ie.h=ie.b-ie.t,ze&&(Re=!0),e._dragged=Re,lhe(Ce,me,ie,Ee,Ae,Te),nt(),e.emit(\"plotly_relayouting\",H),Ae=!0}function nt(){H={},(ze===\"xy\"||ze===\"x\")&&(LN(x,ie.l/k,ie.r/k,H,L.xaxes),Yt(\"x\",H)),(ze===\"xy\"||ze===\"y\")&&(LN(b,(A-ie.b)/A,(A-ie.t)/A,H,L.yaxes),Yt(\"y\",H))}function ct(){nt(),PN(e),Ke(),che(e)}var qt=[0,0,k,A],rt=null,ot=RN.REDRAWDELAY,Rt=t.mainplot?e._fullLayout._plots[t.mainplot]:t;function kt(Et){if(!e._context._scrollZoom.cartesian&&!e._fullLayout._enablescrollzoom)return;if(_e(),e._transitioningWithDuration){Et.preventDefault(),Et.stopPropagation();return}N(),clearTimeout(rt);var dt=-Et.deltaY;if(isFinite(dt)||(dt=Et.wheelDelta/10),!isFinite(dt)){C0.log(\"Did not find wheel motion attributes: \",Et);return}var Ht=Math.exp(-Math.min(Math.max(dt,-20),20)/200),$t=Rt.draglayer.select(\".nsewdrag\").node().getBoundingClientRect(),fr=(Et.clientX-$t.left)/$t.width,_r=($t.bottom-Et.clientY)/$t.height,Br;function Or(Nr,ut,Ne){if(Nr.fixedrange)return;var Ye=C0.simpleMap(Nr.range,Nr.r2l),Ve=Ye[0]+(Ye[1]-Ye[0])*ut;function Xe(ht){return Nr.l2r(Ve+(ht-Ve)*Ne)}Nr.range=Ye.map(Xe)}if(P){for(s||(fr=.5),Br=0;Br<x.length;Br++)Or(x[Br],fr,Ht);Yt(\"x\"),qt[2]*=Ht,qt[0]+=qt[2]*fr*(1/Ht-1)}if(T){for(o||(_r=.5),Br=0;Br<b.length;Br++)Or(b[Br],_r,Ht);Yt(\"y\"),qt[3]*=Ht,qt[1]+=qt[3]*(1-_r)*(1/Ht-1)}xt(qt),xr(),e.emit(\"plotly_relayouting\",H),rt=setTimeout(function(){e._fullLayout&&(qt=[0,0,k,A],Ke())},ot),Et.preventDefault()}o.length*s.length!==1&&fhe(re,kt);function Ct(Et,dt){if(Et=Et*X,dt=dt*G,e._transitioningWithDuration)return;if(e._fullLayout._replotting=!0,C===\"ew\"||M===\"ns\"){var Ht=C?-Et:0,$t=M?-dt:0;if(_.isSubplotConstrained){if(C&&M){var fr=(Et/k-dt/A)/2;Et=fr*k,dt=-fr*A,Ht=-Et,$t=-dt}M?Ht=-$t*k/A:$t=-Ht*A/k}C&&(Qfe(x,Et),Yt(\"x\")),M&&(Qfe(b,dt),Yt(\"y\")),xt([Ht,$t,k,A]),xr(),e.emit(\"plotly_relayouting\",H);return}function _r(Xe,ht,Le){for(var xe=1-ht,Se,lt,Gt=0;Gt<Xe.length;Gt++){var Vt=Xe[Gt];if(!Vt.fixedrange){Se=Vt,lt=Vt._rl[xe]+(Vt._rl[ht]-Vt._rl[xe])/zft(Le/Vt._length);var ar=Vt.l2r(lt);ar!==!1&&ar!==void 0&&(Vt.range[ht]=ar)}}return Se._length*(Se._rl[ht]-lt)/(Se._rl[ht]-Se._rl[xe])}var Br=C===\"w\"==(M===\"n\")?1:-1;if(C&&M&&(L.isSubplotConstrained||_.isSubplotConstrained)){var Or=(Et/k+Br*dt/A)/2;Et=Or*k,dt=Br*Or*A}var Nr,ut;if(C===\"w\"?Et=_r(x,0,Et):C===\"e\"?Et=_r(x,1,-Et):C||(Et=0),M===\"n\"?dt=_r(b,1,dt):M===\"s\"?dt=_r(b,0,-dt):M||(dt=0),Nr=C===\"w\"?Et:0,ut=M===\"n\"?dt:0,L.isSubplotConstrained&&!_.isSubplotConstrained||_.isSubplotConstrained&&C&&M&&Br>0){var Ne;if(_.isSubplotConstrained||!C&&M.length===1){for(Ne=0;Ne<x.length;Ne++)x[Ne].range=x[Ne]._r.slice(),kN(x[Ne],1-dt/A);Et=dt*k/A,Nr=Et/2}if(_.isSubplotConstrained||!M&&C.length===1){for(Ne=0;Ne<b.length;Ne++)b[Ne].range=b[Ne]._r.slice(),kN(b[Ne],1-Et/k);dt=Et*A/k,ut=dt/2}}(!_.isSubplotConstrained||!M)&&Yt(\"x\"),(!_.isSubplotConstrained||!C)&&Yt(\"y\");var Ye=k-Et,Ve=A-dt;_.isSubplotConstrained&&!(C&&M)&&(C?(ut=Nr?0:Et*A/k,Ve=Ye*A/k):(Nr=ut?0:dt*k/A,Ye=Ve*k/A)),xt([Nr,ut,Ye,Ve]),xr(),e.emit(\"plotly_relayouting\",H)}function Yt(Et,dt){for(var Ht=_.isSubplotConstrained?{x:b,y:x}[Et]:_[Et+\"axes\"],$t=_.isSubplotConstrained?{x,y:b}[Et]:[],fr=0;fr<Ht.length;fr++){var _r=Ht[fr],Br=_r._id,Or=_.xLinks[Br]||_.yLinks[Br],Nr=$t[0]||d[Or]||v[Or];Nr&&(dt?(dt[_r._name+\".range[0]\"]=dt[Nr._name+\".range[0]\"],dt[_r._name+\".range[1]\"]=dt[Nr._name+\".range[1]\"]):_r.range=Nr.range.slice())}}function xr(){var Et=[],dt;function Ht(Br){for(dt=0;dt<Br.length;dt++)Br[dt].fixedrange||Et.push(Br[dt]._id)}function $t(Br,Or){for(dt=0;dt<Br.length;dt++){var Nr=Br[dt],ut=Nr[Or];!Nr.fixedrange&&ut.tickmode===\"sync\"&&Et.push(ut._id)}}for(P&&(Ht(x),Ht(L.xaxes),Ht(_.xaxes),$t(t.overlays,\"xaxis\")),T&&(Ht(b),Ht(L.yaxes),Ht(_.yaxes),$t(t.overlays,\"yaxis\")),H={},dt=0;dt<Et.length;dt++){var fr=Et[dt],_r=CN(e,fr);Yfe.drawOne(e,_r,{skipTitle:!0}),H[_r._name+\".range[0]\"]=_r.range[0],H[_r._name+\".range[1]\"]=_r.range[1]}Yfe.redrawComponents(e,Et)}function er(){if(!e._transitioningWithDuration){var Et=e._context.doubleClick,dt=[];C&&(dt=dt.concat(x)),M&&(dt=dt.concat(b)),_.xaxes&&(dt=dt.concat(_.xaxes)),_.yaxes&&(dt=dt.concat(_.yaxes));var Ht={},$t,fr;if(Et===\"reset+autosize\")for(Et=\"autosize\",fr=0;fr<dt.length;fr++){$t=dt[fr];var _r=$t._rangeInitial0,Br=$t._rangeInitial1,Or=_r!==void 0||Br!==void 0;if(Or&&(_r!==void 0&&_r!==$t.range[0]||Br!==void 0&&Br!==$t.range[1])||!Or&&$t.autorange!==!0){Et=\"reset\";break}}if(Et===\"autosize\")for(fr=0;fr<dt.length;fr++)$t=dt[fr],$t.fixedrange||(Ht[$t._name+\".autorange\"]=!0);else if(Et===\"reset\"){for((C||L.isSubplotConstrained)&&(dt=dt.concat(L.xaxes)),M&&!L.isSubplotConstrained&&(dt=dt.concat(L.yaxes)),L.isSubplotConstrained&&(C?M||(dt=dt.concat(b)):dt=dt.concat(x)),fr=0;fr<dt.length;fr++)if($t=dt[fr],!$t.fixedrange){var Nr=$t._name,ut=$t._autorangeInitial;$t._rangeInitial0===void 0&&$t._rangeInitial1===void 0?Ht[Nr+\".autorange\"]=!0:$t._rangeInitial0===void 0?(Ht[Nr+\".autorange\"]=ut,Ht[Nr+\".range\"]=[null,$t._rangeInitial1]):$t._rangeInitial1===void 0?(Ht[Nr+\".range\"]=[$t._rangeInitial0,null],Ht[Nr+\".autorange\"]=ut):Ht[Nr+\".range\"]=[$t._rangeInitial0,$t._rangeInitial1]}}e.emit(\"plotly_doubleclick\",null),bP.call(\"_guiRelayout\",e,Ht)}}function Ke(){xt([0,0,k,A]),C0.syncOrAsync([Cft.previousPromises,function(){e._fullLayout._replotting=!1,bP.call(\"_guiRelayout\",e,H)}],e)}function xt(Et){var dt=e._fullLayout,Ht=dt._plots,$t=dt._subplots.cartesian,fr,_r,Br,Or;if(q&&bP.subplotsRegistry.splom.drag(e),F){for(fr=0;fr<$t.length;fr++)if(_r=Ht[$t[fr]],Br=_r.xaxis,Or=_r.yaxis,_r._scene){Br.limitRange&&Br.limitRange(),Or.limitRange&&Or.limitRange();var Nr=C0.simpleMap(Br.range,Br.r2l),ut=C0.simpleMap(Or.range,Or.r2l);_r._scene.update({range:[Nr[0],ut[0],Nr[1],ut[1]]})}}if((q||F)&&(Eft(e),kft(e)),V){var Ne=Et[2]/f._length,Ye=Et[3]/h._length;for(fr=0;fr<$t.length;fr++){_r=Ht[$t[fr]],Br=_r.xaxis,Or=_r.yaxis;var Ve=(P||_.isSubplotConstrained)&&!Br.fixedrange&&d[Br._id],Xe=(T||_.isSubplotConstrained)&&!Or.fixedrange&&v[Or._id],ht,Le,xe,Se;if(Ve?(ht=Ne,xe=s||_.isSubplotConstrained?Et[0]:St(Br,ht)):_.xaHash[Br._id]?(ht=Ne,xe=Et[0]*Br._length/f._length):_.yaHash[Br._id]?(ht=Ye,xe=M===\"ns\"?-Et[1]*Br._length/h._length:St(Br,ht,{n:\"top\",s:\"bottom\"}[M])):(ht=bt(Br,Ne,Ye),xe=Lt(Br,ht)),ht>1&&(Br.maxallowed!==void 0&&P===(Br.range[0]<Br.range[1]?\"e\":\"w\")||Br.minallowed!==void 0&&P===(Br.range[0]<Br.range[1]?\"w\":\"e\"))&&(ht=1,xe=0),Xe?(Le=Ye,Se=o||_.isSubplotConstrained?Et[1]:St(Or,Le)):_.yaHash[Or._id]?(Le=Ye,Se=Et[1]*Or._length/h._length):_.xaHash[Or._id]?(Le=Ne,Se=C===\"ew\"?-Et[0]*Or._length/f._length:St(Or,Le,{e:\"right\",w:\"left\"}[C])):(Le=bt(Or,Ne,Ye),Se=Lt(Or,Le)),Le>1&&(Or.maxallowed!==void 0&&T===(Or.range[0]<Or.range[1]?\"n\":\"s\")||Or.minallowed!==void 0&&T===(Or.range[0]<Or.range[1]?\"s\":\"n\"))&&(Le=1,Se=0),!(!ht&&!Le)){ht||(ht=1),Le||(Le=1);var lt=Br._offset-xe/ht,Gt=Or._offset-Se/Le;_r.clipRect.call(v_.setTranslate,xe,Se).call(v_.setScale,ht,Le),_r.plot.call(v_.setTranslate,lt,Gt).call(v_.setScale,1/ht,1/Le),(ht!==_r.xScaleFactor||Le!==_r.yScaleFactor)&&(v_.setPointGroupScale(_r.zoomScalePts,ht,Le),v_.setTextPointsScale(_r.zoomScaleTxt,ht,Le)),v_.hideOutsideRangePoints(_r.clipOnAxisFalseTraces,_r),_r.xScaleFactor=ht,_r.yScaleFactor=Le}}}}function bt(Et,dt,Ht){return Et.fixedrange?0:P&&L.xaHash[Et._id]?dt:T&&(L.isSubplotConstrained?L.xaHash:L.yaHash)[Et._id]?Ht:0}function Lt(Et,dt){return dt?(Et.range=Et._r.slice(),kN(Et,dt),St(Et,dt)):0}function St(Et,dt,Ht){return Et._length*(1-dt)*Mft[Ht||Et.constraintoward||\"middle\"]}return re}function nhe(e,t,r,n){var i=C0.ensureSingle(e.draglayer,t,r,function(a){a.classed(\"drag\",!0).style({fill:\"transparent\",\"stroke-width\":0}).attr(\"data-subplot\",e.id)});return i.call(Tft,n),i.node()}function ahe(e,t,r,n,i,a,o){var s=nhe(e,\"rect\",t,r);return IN.select(s).call(v_.setRect,n,i,a,o),s}function $fe(e,t){for(var r=0;r<e.length;r++)if(!e[r].fixedrange)return t;return\"\"}function Dft(e,t){var r=e.range[t],n=Math.abs(r-e.range[1-t]),i;return e.type===\"date\"?r:e.type===\"log\"?(i=Math.ceil(Math.max(0,-Math.log(n)/Math.LN10))+3,Zfe(\".\"+i+\"g\")(Math.pow(10,r))):(i=Math.floor(Math.log(Math.abs(r))/Math.LN10)-Math.floor(Math.log(n)/Math.LN10)+4,Zfe(\".\"+String(i)+\"g\")(r))}function LN(e,t,r,n,i){for(var a=0;a<e.length;a++){var o=e[a];if(!o.fixedrange)if(o.rangebreaks){var s=o._id.charAt(0)===\"y\",l=s?1-t:t,u=s?1-r:r;n[o._name+\".range[0]\"]=o.l2r(o.p2l(l*o._length)),n[o._name+\".range[1]\"]=o.l2r(o.p2l(u*o._length))}else{var c=o._rl[0],f=o._rl[1]-c;n[o._name+\".range[0]\"]=o.l2r(c+f*t),n[o._name+\".range[1]\"]=o.l2r(c+f*r)}}if(i&&i.length){var h=(t+(1-r))/2;LN(i,h,1-h,n,[])}}function Qfe(e,t){for(var r=0;r<e.length;r++){var n=e[r];if(!n.fixedrange){if(n.rangebreaks){var i=0,a=n._length,o=n.p2l(i+t)-n.p2l(i),s=n.p2l(a+t)-n.p2l(a),l=(o+s)/2;n.range=[n.l2r(n._rl[0]-l),n.l2r(n._rl[1]-l)]}else n.range=[n.l2r(n._rl[0]-t/n._m),n.l2r(n._rl[1]-t/n._m)];n.limitRange&&n.limitRange()}}}function zft(e){return 1-(e>=0?Math.min(e,.9):1/(1/Math.max(e,-.3)+3.222))}function Fft(e,t,r){return e?e===\"nsew\"?r?\"\":t===\"pan\"?\"move\":\"crosshair\":e.toLowerCase()+\"-resize\":\"pointer\"}function ohe(e,t,r,n,i){return e.append(\"path\").attr(\"class\",\"zoombox\").style({fill:t>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"transform\",rhe(r,n)).attr(\"d\",i+\"Z\")}function she(e,t,r){return e.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:Xfe.background,stroke:Xfe.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"transform\",rhe(t,r)).attr(\"d\",\"M0,0Z\")}function lhe(e,t,r,n,i,a){e.attr(\"d\",n+\"M\"+r.l+\",\"+r.t+\"v\"+r.h+\"h\"+r.w+\"v-\"+r.h+\"h-\"+r.w+\"Z\"),uhe(e,t,i,a)}function uhe(e,t,r,n){r||(e.transition().style(\"fill\",n>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),t.transition().style(\"opacity\",1).duration(200))}function PN(e){IN.select(e).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}function che(e){Jfe&&e.data&&e._context.showTips&&(C0.notifier(C0._(e,\"Double-click to zoom back out\"),\"long\"),Jfe=!1)}function qft(e,t){return\"M\"+(e.l-.5)+\",\"+(t-np-.5)+\"h-3v\"+(2*np+1)+\"h3ZM\"+(e.r+.5)+\",\"+(t-np-.5)+\"h3v\"+(2*np+1)+\"h-3Z\"}function Oft(e,t){return\"M\"+(t-np-.5)+\",\"+(e.t-.5)+\"v-3h\"+(2*np+1)+\"v3ZM\"+(t-np-.5)+\",\"+(e.b+.5)+\"v3h\"+(2*np+1)+\"v-3Z\"}function TP(e){var t=Math.floor(Math.min(e.b-e.t,e.r-e.l,np)/2);return\"M\"+(e.l-3.5)+\",\"+(e.t-.5+t)+\"h3v\"+-t+\"h\"+t+\"v-3h-\"+(t+3)+\"ZM\"+(e.r+3.5)+\",\"+(e.t-.5+t)+\"h-3v\"+-t+\"h\"+-t+\"v-3h\"+(t+3)+\"ZM\"+(e.r+3.5)+\",\"+(e.b+.5-t)+\"h-3v\"+t+\"h\"+-t+\"v3h\"+(t+3)+\"ZM\"+(e.l-3.5)+\",\"+(e.b+.5-t)+\"h3v\"+t+\"h\"+t+\"v3h-\"+(t+3)+\"Z\"}function ehe(e,t,r,n,i){for(var a=!1,o={},s={},l,u,c,f,h=(i||{}).xaHash,d=(i||{}).yaHash,v=0;v<t.length;v++){var x=t[v];for(l in r)if(x[l]){for(c in x)!(i&&(h[c]||d[c]))&&!(c.charAt(0)===\"x\"?r:n)[c]&&(o[c]=l);for(u in n)!(i&&(h[u]||d[u]))&&x[u]&&(a=!0)}for(u in n)if(x[u])for(f in x)!(i&&(h[f]||d[f]))&&!(f.charAt(0)===\"x\"?r:n)[f]&&(s[f]=u)}a&&(C0.extendFlat(o,s),s={});var b={},p=[];for(c in o){var E=CN(e,c);p.push(E),b[E._id]=E}var k={},A=[];for(f in s){var L=CN(e,f);A.push(L),k[L._id]=L}return{xaHash:b,yaHash:k,xaxes:p,yaxes:A,xLinks:o,yLinks:s,isSubplotConstrained:a}}function fhe(e,t){if(!xft)e.onwheel!==void 0?e.onwheel=t:e.onmousewheel!==void 0?e.onmousewheel=t:e.isAddedWheelEvent||(e.isAddedWheelEvent=!0,e.addEventListener(\"wheel\",t,{passive:!1}));else{var r=e.onwheel!==void 0?\"wheel\":\"mousewheel\";e._onwheel&&e.removeEventListener(r,e._onwheel),e._onwheel=t,e.addEventListener(r,t,{passive:!1})}}function the(e){var t=[];for(var r in e)t.push(e[r]);return t}hhe.exports={makeDragBox:Rft,makeDragger:nhe,makeRectDragger:ahe,makeZoombox:ohe,makeCorners:she,updateZoombox:lhe,xyCorners:TP,transitionZoombox:uhe,removeZoombox:PN,showDoubleClickNotifier:che,attachWheelEventHandler:fhe}});var zN=ye(SP=>{\"use strict\";var Bft=xa(),AP=Nc(),Nft=gv(),Uft=Tg(),kg=DN().makeDragBox,ud=ad().DRAGGERSIZE;SP.initInteractions=function(t){var r=t._fullLayout;if(t._context.staticPlot){Bft.select(t).selectAll(\".drag\").remove();return}if(!(!r._has(\"cartesian\")&&!r._has(\"splom\"))){var n=Object.keys(r._plots||{}).sort(function(a,o){if((r._plots[a].mainplot&&!0)===(r._plots[o].mainplot&&!0)){var s=a.split(\"y\"),l=o.split(\"y\");return s[0]===l[0]?Number(s[1]||1)-Number(l[1]||1):Number(s[0]||1)-Number(l[0]||1)}return r._plots[a].mainplot?1:-1});n.forEach(function(a){var o=r._plots[a],s=o.xaxis,l=o.yaxis;if(!o.mainplot){var u=kg(t,o,s._offset,l._offset,s._length,l._length,\"ns\",\"ew\");u.onmousemove=function(h){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===a&&t._fullLayout._plots[a]&&AP.hover(t,h,a)},AP.hover(t,h,a),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=a},u.onmouseout=function(h){t._dragging||(t._fullLayout._hoversubplot=null,Nft.unhover(t,h))},t._context.showAxisDragHandles&&(kg(t,o,s._offset-ud,l._offset-ud,ud,ud,\"n\",\"w\"),kg(t,o,s._offset+s._length,l._offset-ud,ud,ud,\"n\",\"e\"),kg(t,o,s._offset-ud,l._offset+l._length,ud,ud,\"s\",\"w\"),kg(t,o,s._offset+s._length,l._offset+l._length,ud,ud,\"s\",\"e\"))}if(t._context.showAxisDragHandles){if(a===s._mainSubplot){var c=s._mainLinePosition;s.side===\"top\"&&(c-=ud),kg(t,o,s._offset+s._length*.1,c,s._length*.8,ud,\"\",\"ew\"),kg(t,o,s._offset,c,s._length*.1,ud,\"\",\"w\"),kg(t,o,s._offset+s._length*.9,c,s._length*.1,ud,\"\",\"e\")}if(a===l._mainSubplot){var f=l._mainLinePosition;l.side!==\"right\"&&(f-=ud),kg(t,o,f,l._offset+l._length*.1,ud,l._length*.8,\"ns\",\"\"),kg(t,o,f,l._offset+l._length*.9,ud,l._length*.1,\"s\",\"\"),kg(t,o,f,l._offset,ud,l._length*.1,\"n\",\"\")}}});var i=r._hoverlayer.node();i.onmousemove=function(a){a.target=t._fullLayout._lasthover,AP.hover(t,a,r._hoversubplot)},i.onclick=function(a){a.target=t._fullLayout._lasthover,AP.click(t,a)},i.onmousedown=function(a){t._fullLayout._lasthover.onmousedown(a)},SP.updateFx(t)}};SP.updateFx=function(e){var t=e._fullLayout,r=t.dragmode===\"pan\"?\"move\":\"crosshair\";Uft(t._draggers,r)}});var phe=ye((Qir,vhe)=>{\"use strict\";var dhe=ba();vhe.exports=function(t){for(var r=dhe.layoutArrayContainers,n=dhe.layoutArrayRegexes,i=t.split(\"[\")[0],a,o,s=0;s<n.length;s++)if(o=t.match(n[s]),o&&o.index===0){a=o[0];break}if(a||(a=r[r.indexOf(i)]),!a)return!1;var l=t.substr(a.length);return l?(o=l.match(/^\\[(0|[1-9][0-9]*)\\](\\.(.+))?$/),o?{array:a,index:Number(o[1]),property:o[3]||\"\"}:!1):{array:a,index:\"\",property:\"\"}}});var mhe=ye(zM=>{\"use strict\";var Vft=gy(),FN=g6(),DM=G1(),Hft=k6().sorterAsc,qN=ba();zM.containerArrayMatch=phe();var Gft=zM.isAddVal=function(t){return t===\"add\"||Vft(t)},ghe=zM.isRemoveVal=function(t){return t===null||t===\"remove\"};zM.applyContainerArrayChanges=function(t,r,n,i,a){var o=r.astr,s=qN.getComponentMethod(o,\"supplyLayoutDefaults\"),l=qN.getComponentMethod(o,\"draw\"),u=qN.getComponentMethod(o,\"drawOne\"),c=i.replot||i.recalc||s===FN||l===FN,f=t.layout,h=t._fullLayout;if(n[\"\"]){Object.keys(n).length>1&&DM.warn(\"Full array edits are incompatible with other edits\",o);var d=n[\"\"][\"\"];if(ghe(d))r.set(null);else if(Array.isArray(d))r.set(d);else return DM.warn(\"Unrecognized full array edit value\",o,d),!0;return c?!1:(s(f,h),l(t),!0)}var v=Object.keys(n).map(Number).sort(Hft),x=r.get(),b=x||[],p=a(h,o).get(),E=[],k=-1,A=b.length,L,_,C,M,g,P,T,F;for(L=0;L<v.length;L++){if(C=v[L],M=n[C],g=Object.keys(M),P=M[\"\"],T=Gft(P),C<0||C>b.length-(T?0:1)){DM.warn(\"index out of range\",o,C);continue}if(P!==void 0)g.length>1&&DM.warn(\"Insertion & removal are incompatible with edits to the same index.\",o,C),ghe(P)?E.push(C):T?(P===\"add\"&&(P={}),b.splice(C,0,P),p&&p.splice(C,0,{})):DM.warn(\"Unrecognized full object edit value\",o,C,P),k===-1&&(k=C);else for(_=0;_<g.length;_++)F=o+\"[\"+C+\"].\",a(b[C],g[_],F).set(M[g[_]])}for(L=E.length-1;L>=0;L--)b.splice(E[L],1),p&&p.splice(E[L],1);if(b.length?x||r.set(b):r.set(null),c)return!1;if(s(f,h),u!==FN){var q;if(k===-1)q=v;else{for(A=Math.max(b.length,A),q=[],L=0;L<v.length&&(C=v[L],!(C>=k));L++)q.push(C);for(L=k;L<A;L++)q.push(L)}for(L=0;L<q.length;L++)u(t,q[L])}else l(t);return!0}});var She=ye(Cg=>{\"use strict\";var bhe=uo(),tnr=Lq(),whe=ba(),kp=Mr(),FM=Xu(),The=af(),Ahe=va(),qM=The.cleanId,jft=The.getFromTrace,ON=whe.traceIs;Cg.clearPromiseQueue=function(e){Array.isArray(e._promises)&&e._promises.length>0&&kp.log(\"Clearing previous rejected promises from queue.\"),e._promises=[]};Cg.cleanLayout=function(e){var t,r;e||(e={}),e.xaxis1&&(e.xaxis||(e.xaxis=e.xaxis1),delete e.xaxis1),e.yaxis1&&(e.yaxis||(e.yaxis=e.yaxis1),delete e.yaxis1),e.scene1&&(e.scene||(e.scene=e.scene1),delete e.scene1);var n=(FM.subplotsRegistry.cartesian||{}).attrRegex,i=(FM.subplotsRegistry.polar||{}).attrRegex,a=(FM.subplotsRegistry.ternary||{}).attrRegex,o=(FM.subplotsRegistry.gl3d||{}).attrRegex,s=Object.keys(e);for(t=0;t<s.length;t++){var l=s[t];if(n&&n.test(l)){var u=e[l];u.anchor&&u.anchor!==\"free\"&&(u.anchor=qM(u.anchor)),u.overlaying&&(u.overlaying=qM(u.overlaying)),u.type||(u.isdate?u.type=\"date\":u.islog?u.type=\"log\":u.isdate===!1&&u.islog===!1&&(u.type=\"linear\")),(u.autorange===\"withzero\"||u.autorange===\"tozero\")&&(u.autorange=!0,u.rangemode=\"tozero\"),u.insiderange&&delete u.range,delete u.islog,delete u.isdate,delete u.categories,MP(u,\"domain\")&&delete u.domain}}var c=Array.isArray(e.annotations)?e.annotations.length:0;for(t=0;t<c;t++){var f=e.annotations[t];kp.isPlainObject(f)&&(Y3(f,\"xref\"),Y3(f,\"yref\"))}var h=Array.isArray(e.shapes)?e.shapes.length:0;for(t=0;t<h;t++){var d=e.shapes[t];kp.isPlainObject(d)&&(Y3(d,\"xref\"),Y3(d,\"yref\"))}var v=Array.isArray(e.images)?e.images.length:0;for(t=0;t<v;t++){var x=e.images[t];kp.isPlainObject(x)&&(Y3(x,\"xref\"),Y3(x,\"yref\"))}var b=e.legend;return b&&(b.x>3?(b.x=1.02,b.xanchor=\"left\"):b.x<-2&&(b.x=-.02,b.xanchor=\"right\"),b.y>3?(b.y=1.02,b.yanchor=\"bottom\"):b.y<-2&&(b.y=-.02,b.yanchor=\"top\")),e.dragmode===\"rotate\"&&(e.dragmode=\"orbit\"),Ahe.clean(e),e.template&&e.template.layout&&Cg.cleanLayout(e.template.layout),e};function Y3(e,t){var r=e[t],n=t.charAt(0);r&&r!==\"paper\"&&(e[t]=qM(r,n,!0))}Cg.cleanData=function(e){for(var t=0;t<e.length;t++){var r=e[t],n;if(r.type===\"histogramy\"&&\"xbins\"in r&&!(\"ybins\"in r)&&(r.ybins=r.xbins,delete r.xbins),r.type===\"histogramy\"&&Cg.swapXYData(r),(r.type===\"histogramx\"||r.type===\"histogramy\")&&(r.type=\"histogram\"),\"scl\"in r&&!(\"colorscale\"in r)&&(r.colorscale=r.scl,delete r.scl),\"reversescl\"in r&&!(\"reversescale\"in r)&&(r.reversescale=r.reversescl,delete r.reversescl),r.xaxis&&(r.xaxis=qM(r.xaxis,\"x\")),r.yaxis&&(r.yaxis=qM(r.yaxis,\"y\")),ON(r,\"gl3d\")&&r.scene&&(r.scene=FM.subplotsRegistry.gl3d.cleanId(r.scene)),!ON(r,\"pie-like\")&&!ON(r,\"bar-like\"))if(Array.isArray(r.textposition))for(n=0;n<r.textposition.length;n++)r.textposition[n]=_he(r.textposition[n]);else r.textposition&&(r.textposition=_he(r.textposition));var i=whe.getModule(r);if(i&&i.colorbar){var a=i.colorbar.container,o=a?r[a]:r;o&&o.colorscale&&(o.colorscale===\"YIGnBu\"&&(o.colorscale=\"YlGnBu\"),o.colorscale===\"YIOrRd\"&&(o.colorscale=\"YlOrRd\"))}if(r.type===\"surface\"&&kp.isPlainObject(r.contours)){var s=[\"x\",\"y\",\"z\"];for(n=0;n<s.length;n++){var l=r.contours[s[n]];kp.isPlainObject(l)&&(l.highlightColor&&(l.highlightcolor=l.highlightColor,delete l.highlightColor),l.highlightWidth&&(l.highlightwidth=l.highlightWidth,delete l.highlightWidth))}}if(r.type===\"candlestick\"||r.type===\"ohlc\"){var u=(r.increasing||{}).showlegend!==!1,c=(r.decreasing||{}).showlegend!==!1,f=yhe(r.increasing),h=yhe(r.decreasing);if(f!==!1&&h!==!1){var d=Wft(f,h,u,c);d&&(r.name=d)}else(f||h)&&!r.name&&(r.name=f||h)}MP(r,\"line\")&&delete r.line,\"marker\"in r&&(MP(r.marker,\"line\")&&delete r.marker.line,MP(r,\"marker\")&&delete r.marker),Ahe.clean(r),r.autobinx&&(delete r.autobinx,delete r.xbins),r.autobiny&&(delete r.autobiny,delete r.ybins)}};function yhe(e){if(!kp.isPlainObject(e))return!1;var t=e.name;return delete e.name,delete e.showlegend,(typeof t==\"string\"||typeof t==\"number\")&&String(t)}function Wft(e,t,r,n){if(r&&!n)return e;if(n&&!r||!e.trim())return t;if(!t.trim())return e;var i=Math.min(e.length,t.length),a;for(a=0;a<i&&e.charAt(a)===t.charAt(a);a++);var o=e.substr(0,a);return o.trim()}function _he(e){var t=\"middle\",r=\"center\";return typeof e==\"string\"&&(e.indexOf(\"top\")!==-1?t=\"top\":e.indexOf(\"bottom\")!==-1&&(t=\"bottom\"),e.indexOf(\"left\")!==-1?r=\"left\":e.indexOf(\"right\")!==-1&&(r=\"right\")),t+\" \"+r}function MP(e,t){return t in e&&typeof e[t]==\"object\"&&Object.keys(e[t]).length===0}Cg.swapXYData=function(e){var t;if(kp.swapAttrs(e,[\"?\",\"?0\",\"d?\",\"?bins\",\"nbins?\",\"autobin?\",\"?src\",\"error_?\"]),Array.isArray(e.z)&&Array.isArray(e.z[0])&&(e.transpose?delete e.transpose:e.transpose=!0),e.error_x&&e.error_y){var r=e.error_y,n=\"copy_ystyle\"in r?r.copy_ystyle:!(r.color||r.thickness||r.width);kp.swapAttrs(e,[\"error_?.copy_ystyle\"]),n&&kp.swapAttrs(e,[\"error_?.color\",\"error_?.thickness\",\"error_?.width\"])}if(typeof e.hoverinfo==\"string\"){var i=e.hoverinfo.split(\"+\");for(t=0;t<i.length;t++)i[t]===\"x\"?i[t]=\"y\":i[t]===\"y\"&&(i[t]=\"x\");e.hoverinfo=i.join(\"+\")}};Cg.coerceTraceIndices=function(e,t){if(bhe(t))return[t];if(!Array.isArray(t)||!t.length)return e.data.map(function(i,a){return a});if(Array.isArray(t)){for(var r=[],n=0;n<t.length;n++)kp.isIndex(t[n],e.data.length)?r.push(t[n]):kp.warn(\"trace index (\",t[n],\") is not a number or is out of bounds\");return r}return t};Cg.manageArrayContainers=function(e,t,r){var n=e.obj,i=e.parts,a=i.length,o=i[a-1],s=bhe(o);if(s&&t===null){var l=i.slice(0,a-1).join(\".\"),u=kp.nestedProperty(n,l).get();u.splice(o,1)}else s&&e.get()===void 0&&e.get()===void 0&&(r[e.astr]=null),e.set(t)};var Zft=/(\\.[^\\[\\]\\.]+|\\[[^\\[\\]\\.]+\\])$/;function xhe(e){var t=e.search(Zft);if(t>0)return e.substr(0,t)}Cg.hasParent=function(e,t){for(var r=xhe(t);r;){if(r in e)return!0;r=xhe(r)}return!1};var Xft=[\"x\",\"y\",\"z\"];Cg.clearAxisTypes=function(e,t,r){for(var n=0;n<t.length;n++)for(var i=e._fullData[n],a=0;a<3;a++){var o=jft(e,i,Xft[a]);if(o&&o.type!==\"log\"){var s=o._name,l=o._id.substr(1);if(l.substr(0,5)===\"scene\"){if(r[l]!==void 0)continue;s=l+\".\"+s}var u=s+\".type\";r[s]===void 0&&r[u]===void 0&&kp.nestedProperty(e.layout,u).set(null)}}}});var OP=ye(pl=>{\"use strict\";var CP=xa(),Yft=uo(),Kft=$q(),sa=Mr(),Yu=sa.nestedProperty,UN=g3(),ap=lne(),L0=ba(),FP=_3(),Ho=Xu(),Nv=Qa(),Jft=dB(),$ft=Cd(),BN=ao(),Qft=va(),eht=zN().initInteractions,tht=Zp(),rht=wf().clearOutline,Lhe=ub().dfltConfig,EP=mhe(),yh=She(),$l=gM(),p_=Bu(),iht=ad().AX_NAME_PATTERN,NN=0,Mhe=5;function nht(e,t,r,n){var i;if(e=sa.getGraphDiv(e),UN.init(e),sa.isPlainObject(t)){var a=t;t=a.data,r=a.layout,n=a.config,i=a.frames}var o=UN.triggerHandler(e,\"plotly_beforeplot\",[t,r,n]);if(o===!1)return Promise.reject();!t&&!r&&!sa.isPlotDiv(e)&&sa.warn(\"Calling _doPlot as if redrawing but this container doesn't yet have a plot.\",e);function s(){if(i)return pl.addFrames(e,i)}Ihe(e,n),r||(r={}),CP.select(e).classed(\"js-plotly-plot\",!0),BN.makeTester(),Array.isArray(e._promises)||(e._promises=[]);var l=(e.data||[]).length===0&&Array.isArray(t);Array.isArray(t)&&(yh.cleanData(t),l?e.data=t:e.data.push.apply(e.data,t),e.empty=!1),(!e.layout||l)&&(e.layout=yh.cleanLayout(r)),Ho.supplyDefaults(e);var u=e._fullLayout,c=u._has(\"cartesian\");u._replotting=!0,(l||u._shouldCreateBgLayer)&&(Eht(e),u._shouldCreateBgLayer&&delete u._shouldCreateBgLayer),BN.initGradients(e),BN.initPatterns(e),l&&Nv.saveShowSpikeInitial(e);var f=!e.calcdata||e.calcdata.length!==(e._fullData||[]).length;f&&Ho.doCalcdata(e);for(var h=0;h<e.calcdata.length;h++)e.calcdata[h][0].trace=e._fullData[h];e._context.responsive?e._responsiveChartHandler||(e._responsiveChartHandler=function(){sa.isHidden(e)||Ho.resize(e)},window.addEventListener(\"resize\",e._responsiveChartHandler)):sa.clearResponsive(e);var d=sa.extendFlat({},u._size),v=0;function x(){for(var C=u._basePlotModules,M=0;M<C.length;M++)C[M].drawFramework&&C[M].drawFramework(e);!u._glcanvas&&u._has(\"gl\")&&(u._glcanvas=u._glcontainer.selectAll(\".gl-canvas\").data([{key:\"contextLayer\",context:!0,pick:!1},{key:\"focusLayer\",context:!1,pick:!1},{key:\"pickLayer\",context:!1,pick:!0}],function(F){return F.key}),u._glcanvas.enter().append(\"canvas\").attr(\"class\",function(F){return\"gl-canvas gl-canvas-\"+F.key.replace(\"Layer\",\"\")}).style({position:\"absolute\",top:0,left:0,overflow:\"visible\",\"pointer-events\":\"none\"}));var g=e._context.plotGlPixelRatio;if(u._glcanvas){u._glcanvas.attr(\"width\",u.width*g).attr(\"height\",u.height*g).style(\"width\",u.width+\"px\").style(\"height\",u.height+\"px\");var P=u._glcanvas.data()[0].regl;if(P&&(Math.floor(u.width*g)!==P._gl.drawingBufferWidth||Math.floor(u.height*g)!==P._gl.drawingBufferHeight)){var T=\"WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug.\";if(v)sa.error(T);else return sa.log(T+\" Clearing graph and plotting again.\"),Ho.cleanPlot([],{},e._fullData,u),Ho.supplyDefaults(e),u=e._fullLayout,Ho.doCalcdata(e),v++,x()}}return u.modebar.orientation===\"h\"?u._modebardiv.style(\"height\",null).style(\"width\",\"100%\"):u._modebardiv.style(\"width\",null).style(\"height\",u.height+\"px\"),Ho.previousPromises(e)}function b(){if(Ho.clearAutoMarginIds(e),$l.drawMarginPushers(e),Nv.allowAutoMargin(e),e._fullLayout.title.text&&e._fullLayout.title.automargin&&Ho.allowAutoMargin(e,\"title.automargin\"),u._has(\"pie\"))for(var C=e._fullData,M=0;M<C.length;M++){var g=C[M];g.type===\"pie\"&&g.automargin&&Ho.allowAutoMargin(e,\"pie.\"+g.uid+\".automargin\")}return Ho.doAutoMargin(e),Ho.previousPromises(e)}function p(){if(Ho.didMarginChange(d,u._size))return sa.syncOrAsync([b,$l.layoutStyles],e)}function E(){if(!f){k();return}return sa.syncOrAsync([L0.getComponentMethod(\"shapes\",\"calcAutorange\"),L0.getComponentMethod(\"annotations\",\"calcAutorange\"),k],e)}function k(){e._transitioning||($l.doAutoRangeAndConstraints(e),l&&Nv.saveRangeInitial(e),L0.getComponentMethod(\"rangeslider\",\"calcAutorange\")(e))}function A(){return Nv.draw(e,l?\"\":\"redraw\")}var L=[Ho.previousPromises,s,x,b,p];c&&L.push(E),L.push($l.layoutStyles),c&&L.push(A,function(M){var g=M._fullLayout._insideTickLabelsUpdaterange;if(g)return M._fullLayout._insideTickLabelsUpdaterange=void 0,OM(M,g).then(function(){Nv.saveRangeInitial(M,!0)})}),L.push($l.drawData,$l.finalDraw,eht,Ho.addLinks,Ho.rehover,Ho.redrag,Ho.reselect,Ho.doAutoMargin,Ho.previousPromises);var _=sa.syncOrAsync(L,e);return(!_||!_.then)&&(_=Promise.resolve()),_.then(function(){return BM(e),e})}function BM(e){var t=e._fullLayout;t._redrawFromAutoMarginCount?t._redrawFromAutoMarginCount--:e.emit(\"plotly_afterplot\")}function aht(e){return sa.extendFlat(Lhe,e)}function Phe(e,t){try{e._fullLayout._paper.style(\"background\",t)}catch(r){sa.error(r)}}function oht(e,t){var r=Qft.combine(t,\"white\");Phe(e,r)}function Ihe(e,t){if(!e._context){e._context=sa.extendDeep({},Lhe);var r=CP.select(\"base\");e._context._baseUrl=r.size()&&r.attr(\"href\")?window.location.href.split(\"#\")[0]:\"\"}var n=e._context,i,a,o;if(t){for(a=Object.keys(t),i=0;i<a.length;i++)o=a[i],!(o===\"editable\"||o===\"edits\")&&o in n&&(o===\"setBackground\"&&t[o]===\"opaque\"?n[o]=oht:n[o]=t[o]);var s=t.editable;if(s!==void 0)for(n.editable=s,a=Object.keys(n.edits),i=0;i<a.length;i++)n.edits[a[i]]=s;if(t.edits)for(a=Object.keys(t.edits),i=0;i<a.length;i++)o=a[i],o in n.edits&&(n.edits[o]=t.edits[o]);n._exportedPlot=t._exportedPlot}n.staticPlot&&(n.editable=!1,n.edits={},n.autosizable=!1,n.scrollZoom=!1,n.doubleClick=!1,n.showTips=!1,n.showLink=!1,n.displayModeBar=!1),n.displayModeBar===\"hover\"&&!Kft&&(n.displayModeBar=!0),(n.setBackground===\"transparent\"||typeof n.setBackground!=\"function\")&&(n.setBackground=Phe),n._hasZeroHeight=n._hasZeroHeight||e.clientHeight===0,n._hasZeroWidth=n._hasZeroWidth||e.clientWidth===0;var l=n.scrollZoom,u=n._scrollZoom={};if(l===!0)u.cartesian=1,u.gl3d=1,u.geo=1,u.mapbox=1,u.map=1;else if(typeof l==\"string\"){var c=l.split(\"+\");for(i=0;i<c.length;i++)u[c[i]]=1}else l!==!1&&(u.gl3d=1,u.geo=1,u.mapbox=1,u.map=1)}function sht(e){if(e=sa.getGraphDiv(e),!sa.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e);return yh.cleanData(e.data),yh.cleanLayout(e.layout),e.calcdata=void 0,pl._doPlot(e).then(function(){return e.emit(\"plotly_redraw\"),e})}function lht(e,t,r,n){return e=sa.getGraphDiv(e),Ho.cleanPlot([],{},e._fullData||[],e._fullLayout||{}),Ho.purge(e),pl._doPlot(e,t,r,n)}function LP(e,t){var r=t+1,n=[],i,a;for(i=0;i<e.length;i++)a=e[i],a<0?n.push(r+a):n.push(a);return n}function PP(e,t,r){var n,i;for(n=0;n<t.length;n++){if(i=t[n],i!==parseInt(i,10))throw new Error(\"all values in \"+r+\" must be integers\");if(i>=e.data.length||i<-e.data.length)throw new Error(r+\" must be valid indices for gd.data.\");if(t.indexOf(i,n+1)>-1||i>=0&&t.indexOf(-e.data.length+i)>-1||i<0&&t.indexOf(e.data.length+i)>-1)throw new Error(\"each index in \"+r+\" must be unique.\")}}function Rhe(e,t,r){if(!Array.isArray(e.data))throw new Error(\"gd.data must be an array.\");if(typeof t==\"undefined\")throw new Error(\"currentIndices is a required argument.\");if(Array.isArray(t)||(t=[t]),PP(e,t,\"currentIndices\"),typeof r!=\"undefined\"&&!Array.isArray(r)&&(r=[r]),typeof r!=\"undefined\"&&PP(e,r,\"newIndices\"),typeof r!=\"undefined\"&&t.length!==r.length)throw new Error(\"current and new indices must be of equal length.\")}function uht(e,t,r){var n,i;if(!Array.isArray(e.data))throw new Error(\"gd.data must be an array.\");if(typeof t==\"undefined\")throw new Error(\"traces must be defined.\");for(Array.isArray(t)||(t=[t]),n=0;n<t.length;n++)if(i=t[n],typeof i!=\"object\"||Array.isArray(i)||i===null)throw new Error(\"all values in traces array must be non-array objects\");if(typeof r!=\"undefined\"&&!Array.isArray(r)&&(r=[r]),typeof r!=\"undefined\"&&r.length!==t.length)throw new Error(\"if indices is specified, traces.length must equal indices.length\")}function cht(e,t,r,n){var i=sa.isPlainObject(n);if(!Array.isArray(e.data))throw new Error(\"gd.data must be an array\");if(!sa.isPlainObject(t))throw new Error(\"update must be a key:value object\");if(typeof r==\"undefined\")throw new Error(\"indices must be an integer or array of integers\");PP(e,r,\"indices\");for(var a in t){if(!Array.isArray(t[a])||t[a].length!==r.length)throw new Error(\"attribute \"+a+\" must be an array of length equal to indices array length\");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==t[a].length))throw new Error(\"when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object\")}}function fht(e,t,r,n){var i=sa.isPlainObject(n),a=[],o,s,l,u,c;Array.isArray(r)||(r=[r]),r=LP(r,e.data.length-1);for(var f in t)for(var h=0;h<r.length;h++){if(o=e.data[r[h]],l=Yu(o,f),s=l.get(),u=t[f][h],!sa.isArrayOrTypedArray(u))throw new Error(\"attribute: \"+f+\" index: \"+h+\" must be an array\");if(!sa.isArrayOrTypedArray(s))throw new Error(\"cannot extend missing or non-array attribute: \"+f);if(s.constructor!==u.constructor)throw new Error(\"cannot extend array with an array of a different type: \"+f);c=i?n[f][h]:n,Yft(c)||(c=-1),a.push({prop:l,target:s,insert:u,maxp:Math.floor(c)})}return a}function Dhe(e,t,r,n,i){cht(e,t,r,n);for(var a=fht(e,t,r,n),o={},s={},l=0;l<a.length;l++){var u=a[l].prop,c=a[l].maxp,f=i(a[l].target,a[l].insert,c);u.set(f[0]),Array.isArray(o[u.astr])||(o[u.astr]=[]),o[u.astr].push(f[1]),Array.isArray(s[u.astr])||(s[u.astr]=[]),s[u.astr].push(a[l].target.length)}return{update:o,maxPoints:s}}function zhe(e,t){var r=new e.constructor(e.length+t.length);return r.set(e),r.set(t,e.length),r}function Fhe(e,t,r,n){e=sa.getGraphDiv(e);function i(l,u,c){var f,h;if(sa.isTypedArray(l))if(c<0){var d=new l.constructor(0),v=zhe(l,u);c<0?(f=v,h=d):(f=d,h=v)}else if(f=new l.constructor(c),h=new l.constructor(l.length+u.length-c),c===u.length)f.set(u),h.set(l);else if(c<u.length){var x=u.length-c;f.set(u.subarray(x)),h.set(l),h.set(u.subarray(0,x),l.length)}else{var b=c-u.length,p=l.length-b;f.set(l.subarray(p)),f.set(u,b),h.set(l.subarray(0,p))}else f=l.concat(u),h=c>=0&&c<f.length?f.splice(0,f.length-c):[];return[f,h]}var a=Dhe(e,t,r,n,i),o=pl.redraw(e),s=[e,a.update,r,a.maxPoints];return ap.add(e,pl.prependTraces,s,Fhe,arguments),o}function qhe(e,t,r,n){e=sa.getGraphDiv(e);function i(l,u,c){var f,h;if(sa.isTypedArray(l))if(c<=0){var d=new l.constructor(0),v=zhe(u,l);c<0?(f=v,h=d):(f=d,h=v)}else if(f=new l.constructor(c),h=new l.constructor(l.length+u.length-c),c===u.length)f.set(u),h.set(l);else if(c<u.length){var x=u.length-c;f.set(u.subarray(0,x)),h.set(u.subarray(x)),h.set(l,x)}else{var b=c-u.length;f.set(u),f.set(l.subarray(0,b),u.length),h.set(l.subarray(b))}else f=u.concat(l),h=c>=0&&c<f.length?f.splice(c,f.length):[];return[f,h]}var a=Dhe(e,t,r,n,i),o=pl.redraw(e),s=[e,a.update,r,a.maxPoints];return ap.add(e,pl.extendTraces,s,qhe,arguments),o}function Ohe(e,t,r){e=sa.getGraphDiv(e);var n=[],i=pl.deleteTraces,a=Ohe,o=[e,n],s=[e,t],l,u;for(uht(e,t,r),Array.isArray(t)||(t=[t]),t=t.map(function(c){return sa.extendFlat({},c)}),yh.cleanData(t),l=0;l<t.length;l++)e.data.push(t[l]);for(l=0;l<t.length;l++)n.push(-t.length+l);if(typeof r==\"undefined\")return u=pl.redraw(e),ap.add(e,i,o,a,s),u;Array.isArray(r)||(r=[r]);try{Rhe(e,n,r)}catch(c){throw e.data.splice(e.data.length-t.length,t.length),c}return ap.startSequence(e),ap.add(e,i,o,a,s),u=pl.moveTraces(e,n,r),ap.stopSequence(e),u}function Bhe(e,t){e=sa.getGraphDiv(e);var r=[],n=pl.addTraces,i=Bhe,a=[e,r,t],o=[e,t],s,l;if(typeof t==\"undefined\")throw new Error(\"indices must be an integer or array of integers.\");for(Array.isArray(t)||(t=[t]),PP(e,t,\"indices\"),t=LP(t,e.data.length-1),t.sort(sa.sorterDes),s=0;s<t.length;s+=1)l=e.data.splice(t[s],1)[0],r.push(l);var u=pl.redraw(e);return ap.add(e,n,a,i,o),u}function VN(e,t,r){e=sa.getGraphDiv(e);var n=[],i=[],a=VN,o=VN,s=[e,r,t],l=[e,t,r],u;if(Rhe(e,t,r),t=Array.isArray(t)?t:[t],typeof r==\"undefined\")for(r=[],u=0;u<t.length;u++)r.push(-t.length+u);for(r=Array.isArray(r)?r:[r],t=LP(t,e.data.length-1),r=LP(r,e.data.length-1),u=0;u<e.data.length;u++)t.indexOf(u)===-1&&n.push(e.data[u]);for(u=0;u<t.length;u++)i.push({newIndex:r[u],trace:e.data[t[u]]});for(i.sort(function(f,h){return f.newIndex-h.newIndex}),u=0;u<i.length;u+=1)n.splice(i[u].newIndex,0,i[u].trace);e.data=n;var c=pl.redraw(e);return ap.add(e,a,s,o,l),c}function IP(e,t,r,n){e=sa.getGraphDiv(e),yh.clearPromiseQueue(e);var i={};if(typeof t==\"string\")i[t]=r;else if(sa.isPlainObject(t))i=sa.extendFlat({},t),n===void 0&&(n=r);else return sa.warn(\"Restyle fail.\",t,r,n),Promise.reject();Object.keys(i).length&&(e.changed=!0);var a=yh.coerceTraceIndices(e,n),o=Nhe(e,i,a),s=o.flags;s.calc&&(e.calcdata=void 0),s.clearAxisTypes&&yh.clearAxisTypes(e,a,{});var l=[];s.fullReplot?l.push(pl._doPlot):(l.push(Ho.previousPromises),Ho.supplyDefaults(e),s.markerSize&&(Ho.doCalcdata(e),qP(l)),s.style&&l.push($l.doTraceStyle),s.colorbars&&l.push($l.doColorBars),l.push(BM)),l.push(Ho.rehover,Ho.redrag,Ho.reselect),ap.add(e,IP,[e,o.undoit,o.traces],IP,[e,o.redoit,o.traces]);var u=sa.syncOrAsync(l,e);return(!u||!u.then)&&(u=Promise.resolve()),u.then(function(){return e.emit(\"plotly_restyle\",o.eventData),e})}function Cy(e){return e===void 0?null:e}function kP(e,t){return t?function(r,n,i){var a=Yu(r,n),o=a.set;return a.set=function(s){var l=(i||\"\")+n;RP(l,a.get(),s,e),o(s)},a}:Yu}function RP(e,t,r,n){if(Array.isArray(t)||Array.isArray(r))for(var i=Array.isArray(t)?t:[],a=Array.isArray(r)?r:[],o=Math.max(i.length,a.length),s=0;s<o;s++)RP(e+\"[\"+s+\"]\",i[s],a[s],n);else if(sa.isPlainObject(t)||sa.isPlainObject(r)){var l=sa.isPlainObject(t)?t:{},u=sa.isPlainObject(r)?r:{},c=sa.extendFlat({},l,u);for(var f in c)RP(e+\".\"+f,l[f],u[f],n)}else n[e]===void 0&&(n[e]=Cy(t))}function hht(e,t,r){for(var n in r){var i=Yu(e,n);RP(n,i.get(),r[n],t)}}function Nhe(e,t,r){var n=e._fullLayout,i=e._fullData,a=e.data,o=n._guiEditing,s=kP(n._preGUI,o),l=sa.extendDeepAll({},t),u,c=p_.traceFlags(),f={},h={},d;function v(){return r.map(function(){})}function x(me){var Re=Nv.id2name(me);d.indexOf(Re)===-1&&d.push(Re)}function b(me){return\"LAYOUT\"+me+\".autorange\"}function p(me){return\"LAYOUT\"+me+\".range\"}function E(me){for(var Re=me;Re<i.length;Re++)if(i[Re]._input===a[me])return i[Re]}function k(me,Re,ce){if(Array.isArray(me)){me.forEach(function(qt){k(qt,Re,ce)});return}if(!(me in t||yh.hasParent(t,me))){var Ge;if(me.substr(0,6)===\"LAYOUT\")Ge=s(e.layout,me.replace(\"LAYOUT\",\"\"));else{var nt=r[ce],ct=n._tracePreGUI[E(nt)._fullInput.uid];Ge=kP(ct,o)(a[nt],me)}me in h||(h[me]=v()),h[me][ce]===void 0&&(h[me][ce]=Cy(Ge.get())),Re!==void 0&&Ge.set(Re)}}function A(me){return function(Re){return i[Re][me]}}function L(me){return function(Re,ce){return Re===!1?i[r[ce]][me]:null}}for(var _ in t){if(yh.hasParent(t,_))throw new Error(\"cannot set \"+_+\" and a parent attribute simultaneously\");var C=t[_],M,g,P,T,F,q;if((_===\"autobinx\"||_===\"autobiny\")&&(_=_.charAt(_.length-1)+\"bins\",Array.isArray(C)?C=C.map(L(_)):C===!1?C=r.map(A(_)):C=null),f[_]=C,_.substr(0,6)===\"LAYOUT\"){P=s(e.layout,_.replace(\"LAYOUT\",\"\")),h[_]=[Cy(P.get())],P.set(Array.isArray(C)?C[0]:C),c.calc=!0;continue}for(h[_]=v(),u=0;u<r.length;u++){M=a[r[u]],g=E(r[u]);var V=n._tracePreGUI[g._fullInput.uid];if(P=kP(V,o)(M,_),T=P.get(),F=Array.isArray(C)?C[u%C.length]:C,F!==void 0){var H=P.parts[P.parts.length-1],X=_.substr(0,_.length-H.length-1),G=X?X+\".\":\"\",N=X?Yu(g,X).get():g;if(q=FP.getTraceValObject(g,P.parts),q&&q.impliedEdits&&F!==null)for(var W in q.impliedEdits)k(sa.relativeAttr(_,W),q.impliedEdits[W],u);else if((H===\"thicknessmode\"||H===\"lenmode\")&&T!==F&&(F===\"fraction\"||F===\"pixels\")&&N){var re=n._size,ae=N.orient,_e=ae===\"top\"||ae===\"bottom\";if(H===\"thicknessmode\"){var Me=_e?re.h:re.w;k(G+\"thickness\",N.thickness*(F===\"fraction\"?1/Me:Me),u)}else{var ke=_e?re.w:re.h;k(G+\"len\",N.len*(F===\"fraction\"?1/ke:ke),u)}}else if(_===\"type\"&&(F===\"pie\"!=(T===\"pie\")||F===\"funnelarea\"!=(T===\"funnelarea\"))){var ge=\"x\",ie=\"y\";(F===\"bar\"||T===\"bar\")&&M.orientation===\"h\"&&(ge=\"y\",ie=\"x\"),sa.swapAttrs(M,[\"?\",\"?src\"],\"labels\",ge),sa.swapAttrs(M,[\"d?\",\"?0\"],\"label\",ge),sa.swapAttrs(M,[\"?\",\"?src\"],\"values\",ie),T===\"pie\"||T===\"funnelarea\"?(Yu(M,\"marker.color\").set(Yu(M,\"marker.colors\").get()),n._pielayer.selectAll(\"g.trace\").remove()):L0.traceIs(M,\"cartesian\")&&Yu(M,\"marker.colors\").set(Yu(M,\"marker.color\").get())}h[_][u]=Cy(T);var Te=[\"swapxy\",\"swapxyaxes\",\"orientation\",\"orientationaxes\"];if(Te.indexOf(_)!==-1){if(_===\"orientation\"){P.set(F);var Ee=M.x&&!M.y?\"h\":\"v\";if((P.get()||Ee)===g.orientation)continue}else _===\"orientationaxes\"&&(M.orientation={v:\"h\",h:\"v\"}[g.orientation]);yh.swapXYData(M),c.calc=c.clearAxisTypes=!0}else Ho.dataArrayContainers.indexOf(P.parts[0])!==-1?(yh.manageArrayContainers(P,F,h),c.calc=!0):(q?q.arrayOk&&!L0.traceIs(g,\"regl\")&&(sa.isArrayOrTypedArray(F)||sa.isArrayOrTypedArray(T))?c.calc=!0:p_.update(c,q):c.calc=!0,P.set(F))}}if([\"swapxyaxes\",\"orientationaxes\"].indexOf(_)!==-1&&Nv.swap(e,r),_===\"orientationaxes\"){var Ae=Yu(e.layout,\"hovermode\"),ze=Ae.get();ze===\"x\"?Ae.set(\"y\"):ze===\"y\"?Ae.set(\"x\"):ze===\"x unified\"?Ae.set(\"y unified\"):ze===\"y unified\"&&Ae.set(\"x unified\")}if([\"orientation\",\"type\"].indexOf(_)!==-1){for(d=[],u=0;u<r.length;u++){var Ce=a[r[u]];L0.traceIs(Ce,\"cartesian\")&&(x(Ce.xaxis||\"x\"),x(Ce.yaxis||\"y\"))}k(d.map(b),!0,0),k(d.map(p),[0,1],0)}}return(c.calc||c.plot)&&(c.fullReplot=!0),{flags:c,undoit:h,redoit:f,traces:r,eventData:sa.extendDeepNoArrays([],[l,r])}}function OM(e,t,r){e=sa.getGraphDiv(e),yh.clearPromiseQueue(e);var n={};if(typeof t==\"string\")n[t]=r;else if(sa.isPlainObject(t))n=sa.extendFlat({},t);else return sa.warn(\"Relayout fail.\",t,r),Promise.reject();Object.keys(n).length&&(e.changed=!0);var i=Ghe(e,n),a=i.flags;a.calc&&(e.calcdata=void 0);var o=[Ho.previousPromises];a.layoutReplot?o.push($l.layoutReplot):Object.keys(n).length&&(Uhe(e,a,i)||Ho.supplyDefaults(e),a.legend&&o.push($l.doLegend),a.layoutstyle&&o.push($l.layoutStyles),a.axrange&&qP(o,i.rangesAltered),a.ticks&&o.push($l.doTicksRelayout),a.modebar&&o.push($l.doModeBar),a.camera&&o.push($l.doCamera),a.colorbars&&o.push($l.doColorBars),o.push(BM)),o.push(Ho.rehover,Ho.redrag,Ho.reselect),ap.add(e,OM,[e,i.undoit],OM,[e,i.redoit]);var s=sa.syncOrAsync(o,e);return(!s||!s.then)&&(s=Promise.resolve(e)),s.then(function(){return e.emit(\"plotly_relayout\",i.eventData),e})}function Uhe(e,t,r){var n=e._fullLayout;if(!t.axrange)return!1;for(var i in t)if(i!==\"axrange\"&&t[i])return!1;var a,o,s=function(d,v){return sa.coerce(a,o,$ft,d,v)},l={};for(var u in r.rangesAltered){var c=Nv.id2name(u);if(a=e.layout[c],o=n[c],Jft(a,o,s,l),o._matchGroup){for(var f in o._matchGroup)if(f!==u){var h=n[Nv.id2name(f)];h.autorange=o.autorange,h.range=o.range.slice(),h._input.range=o.range.slice()}}}return!0}function qP(e,t){var r=t?function(n){var i=[],a=!0;for(var o in t){var s=Nv.getFromId(n,o);if(i.push(o),(s.ticklabelposition||\"\").indexOf(\"inside\")!==-1&&s._anchorAxis&&i.push(s._anchorAxis._id),s._matchGroup)for(var l in s._matchGroup)t[l]||i.push(l)}return Nv.draw(n,i,{skipTitle:a})}:function(n){return Nv.draw(n,\"redraw\")};e.push(rht,$l.doAutoRangeAndConstraints,r,$l.drawData,$l.finalDraw)}var Vhe=/^[xyz]axis[0-9]*\\.range(\\[[0|1]\\])?$/,Hhe=/^[xyz]axis[0-9]*\\.autorange$/,dht=/^[xyz]axis[0-9]*\\.domain(\\[[0|1]\\])?$/;function Ghe(e,t){var r=e.layout,n=e._fullLayout,i=n._guiEditing,a=kP(n._preGUI,i),o=Object.keys(t),s=Nv.list(e),l=sa.extendDeepAll({},t),u={},c,f,h;for(o=Object.keys(t),f=0;f<o.length;f++)if(o[f].indexOf(\"allaxes\")===0){for(h=0;h<s.length;h++){var d=s[h]._id.substr(1),v=d.indexOf(\"scene\")!==-1?d+\".\":\"\",x=o[f].replace(\"allaxes\",v+s[h]._name);t[x]||(t[x]=t[o[f]])}delete t[o[f]]}var b=p_.layoutFlags(),p={},E={};function k(ct,qt){if(Array.isArray(ct)){ct.forEach(function(ot){k(ot,qt)});return}if(!(ct in t||yh.hasParent(t,ct))){var rt=a(r,ct);ct in E||(E[ct]=Cy(rt.get())),qt!==void 0&&rt.set(qt)}}var A={},L;function _(ct){var qt=Nv.name2id(ct.split(\".\")[0]);return A[qt]=1,qt}for(var C in t){if(yh.hasParent(t,C))throw new Error(\"cannot set \"+C+\" and a parent attribute simultaneously\");for(var M=a(r,C),g=t[C],P=M.parts.length,T=P-1;T>0&&typeof M.parts[T]!=\"string\";)T--;var F=M.parts[T],q=M.parts[T-1]+\".\"+F,V=M.parts.slice(0,T).join(\".\"),H=Yu(e.layout,V).get(),X=Yu(n,V).get(),G=M.get();if(g!==void 0){p[C]=g,E[C]=F===\"reverse\"?g:Cy(G);var N=FP.getLayoutValObject(n,M.parts);if(N&&N.impliedEdits&&g!==null)for(var W in N.impliedEdits)k(sa.relativeAttr(C,W),N.impliedEdits[W]);if([\"width\",\"height\"].indexOf(C)!==-1)if(g){k(\"autosize\",null);var re=C===\"height\"?\"width\":\"height\";k(re,n[re])}else n[C]=e._initialAutoSize[C];else if(C===\"autosize\")k(\"width\",g?null:n.width),k(\"height\",g?null:n.height);else if(q.match(Vhe))_(q),Yu(n,V+\"._inputRange\").set(null);else if(q.match(Hhe)){_(q),Yu(n,V+\"._inputRange\").set(null);var ae=Yu(n,V).get();ae._inputDomain&&(ae._input.domain=ae._inputDomain.slice())}else q.match(dht)&&Yu(n,V+\"._inputDomain\").set(null);if(F===\"type\"){L=H;var _e=X.type===\"linear\"&&g===\"log\",Me=X.type===\"log\"&&g===\"linear\";if(_e||Me){if(!L||!L.range)k(V+\".autorange\",!0);else if(X.autorange)_e&&(L.range=L.range[1]>L.range[0]?[1,2]:[2,1]);else{var ke=L.range[0],ge=L.range[1];_e?(ke<=0&&ge<=0&&k(V+\".autorange\",!0),ke<=0?ke=ge/1e6:ge<=0&&(ge=ke/1e6),k(V+\".range[0]\",Math.log(ke)/Math.LN10),k(V+\".range[1]\",Math.log(ge)/Math.LN10)):(k(V+\".range[0]\",Math.pow(10,ke)),k(V+\".range[1]\",Math.pow(10,ge)))}Array.isArray(n._subplots.polar)&&n._subplots.polar.length&&n[M.parts[0]]&&M.parts[1]===\"radialaxis\"&&delete n[M.parts[0]]._subplot.viewInitial[\"radialaxis.range\"],L0.getComponentMethod(\"annotations\",\"convertCoords\")(e,X,g,k),L0.getComponentMethod(\"images\",\"convertCoords\")(e,X,g,k)}else k(V+\".autorange\",!0),k(V+\".range\",null);Yu(n,V+\"._inputRange\").set(null)}else if(F.match(iht)){var ie=Yu(n,C).get(),Te=(g||{}).type;(!Te||Te===\"-\")&&(Te=\"linear\"),L0.getComponentMethod(\"annotations\",\"convertCoords\")(e,ie,Te,k),L0.getComponentMethod(\"images\",\"convertCoords\")(e,ie,Te,k)}var Ee=EP.containerArrayMatch(C);if(Ee){c=Ee.array,f=Ee.index;var Ae=Ee.property,ze=N||{editType:\"calc\"};f!==\"\"&&Ae===\"\"&&(EP.isAddVal(g)?E[C]=null:EP.isRemoveVal(g)?E[C]=(Yu(r,c).get()||[])[f]:sa.warn(\"unrecognized full object value\",t)),p_.update(b,ze),u[c]||(u[c]={});var Ce=u[c][f];Ce||(Ce=u[c][f]={}),Ce[Ae]=g,delete t[C]}else F===\"reverse\"?(H.range?H.range.reverse():(k(V+\".autorange\",!0),H.range=[1,0]),X.autorange?b.calc=!0:b.plot=!0):(C===\"dragmode\"&&(g===!1&&G!==!1||g!==!1&&G===!1)||n._has(\"scatter-like\")&&n._has(\"regl\")&&C===\"dragmode\"&&(g===\"lasso\"||g===\"select\")&&!(G===\"lasso\"||G===\"select\")?b.plot=!0:N?p_.update(b,N):b.calc=!0,M.set(g))}}for(c in u){var me=EP.applyContainerArrayChanges(e,a(r,c),u[c],b,a);me||(b.plot=!0)}for(var Re in A){L=Nv.getFromId(e,Re);var ce=L&&L._constraintGroup;if(ce){b.calc=!0;for(var Ge in ce)A[Ge]||(Nv.getFromId(e,Ge)._constraintShrinkable=!0)}}(jhe(e)||t.height||t.width)&&(b.plot=!0);var nt=n.shapes;for(f=0;f<nt.length;f++)if(nt[f].showlegend){b.calc=!0;break}return(b.plot||b.calc)&&(b.layoutReplot=!0),{flags:b,rangesAltered:A,undoit:E,redoit:p,eventData:l}}function jhe(e){var t=e._fullLayout,r=t.width,n=t.height;return e.layout.autosize&&Ho.plotAutoSize(e,e.layout,t),t.width!==r||t.height!==n}function DP(e,t,r,n){e=sa.getGraphDiv(e),yh.clearPromiseQueue(e),sa.isPlainObject(t)||(t={}),sa.isPlainObject(r)||(r={}),Object.keys(t).length&&(e.changed=!0),Object.keys(r).length&&(e.changed=!0);var i=yh.coerceTraceIndices(e,n),a=Nhe(e,sa.extendFlat({},t),i),o=a.flags,s=Ghe(e,sa.extendFlat({},r)),l=s.flags;(o.calc||l.calc)&&(e.calcdata=void 0),o.clearAxisTypes&&yh.clearAxisTypes(e,i,r);var u=[];l.layoutReplot?u.push($l.layoutReplot):o.fullReplot?u.push(pl._doPlot):(u.push(Ho.previousPromises),Uhe(e,l,s)||Ho.supplyDefaults(e),o.style&&u.push($l.doTraceStyle),(o.colorbars||l.colorbars)&&u.push($l.doColorBars),l.legend&&u.push($l.doLegend),l.layoutstyle&&u.push($l.layoutStyles),l.axrange&&qP(u,s.rangesAltered),l.ticks&&u.push($l.doTicksRelayout),l.modebar&&u.push($l.doModeBar),l.camera&&u.push($l.doCamera),u.push(BM)),u.push(Ho.rehover,Ho.redrag,Ho.reselect),ap.add(e,DP,[e,a.undoit,s.undoit,a.traces],DP,[e,a.redoit,s.redoit,a.traces]);var c=sa.syncOrAsync(u,e);return(!c||!c.then)&&(c=Promise.resolve(e)),c.then(function(){return e.emit(\"plotly_update\",{data:a.eventData,layout:s.eventData}),e})}function GN(e){return function(r){r._fullLayout._guiEditing=!0;var n=e.apply(null,arguments);return r._fullLayout._guiEditing=!1,n}}var vht=[{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:/^(map\\d*)\\.(center|zoom|bearing|pitch)/},{pattern:/^legend\\.(x|y)$/,attr:\"editrevision\"},{pattern:/^(shapes|annotations)/,attr:\"editrevision\"},{pattern:/^title\\.text$/,attr:\"editrevision\"}],pht=[{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 Ehe(e,t){for(var r=0;r<t.length;r++){var n=t[r],i=e.match(n.pattern);if(i){var a=i[1]||\"\";return{head:a,tail:e.substr(a.length+1),attr:n.attr}}}}function khe(e,t){var r=Yu(t,e).get();if(r!==void 0)return r;var n=e.split(\".\");for(n.pop();n.length>1;)if(n.pop(),r=Yu(t,n.join(\".\")+\".uirevision\").get(),r!==void 0)return r;return t.uirevision}function ght(e,t){for(var r=0;r<t.length;r++)if(t[r]._fullInput.uid===e)return r;return-1}function mht(e,t,r){for(var n=0;n<t.length;n++)if(t[n].uid===e)return n;return!t[r]||t[r].uid?-1:r}function Che(e,t){var r=sa.isPlainObject(e),n=Array.isArray(e);return r||n?(r&&sa.isPlainObject(t)||n&&Array.isArray(t))&&JSON.stringify(e)===JSON.stringify(t):e===t}function yht(e,t,r,n){var i=n._preGUI,a,o,s,l,u,c,f,h,d,v,x=[],b={},p={};for(a in i){if(u=Ehe(a,vht),u){if(d=u.head,v=u.tail,o=u.attr||d+\".uirevision\",s=Yu(n,o).get(),l=s&&khe(o,t),l&&l===s){if(c=i[a],c===null&&(c=void 0),f=Yu(t,a),h=f.get(),Che(h,c)){h===void 0&&v===\"autorange\"&&x.push(d),f.set(Cy(Yu(n,a).get()));continue}else if(v===\"autorange\"||v.substr(0,6)===\"range[\"){var E=i[d+\".range[0]\"],k=i[d+\".range[1]\"],A=i[d+\".autorange\"];if(A||A===null&&E===null&&k===null){if(!(d in b)){var L=Yu(t,d).get();b[d]=L&&(L.autorange||L.autorange!==!1&&(!L.range||L.range.length!==2))}if(b[d]){f.set(Cy(Yu(n,a).get()));continue}}}}}else sa.warn(\"unrecognized GUI edit: \"+a);delete i[a],u&&u.tail.substr(0,6)===\"range[\"&&(p[u.head]=1)}for(var _=0;_<x.length;_++){var C=x[_];if(p[C]){var M=Yu(t,C).get();M&&delete M.autorange}}var g=n._tracePreGUI;for(var P in g){var T=g[P],F=null,q;for(a in T){if(!F){var V=ght(P,r);if(V<0){delete g[P];break}var H=r[V];q=H._fullInput;var X=mht(P,e,q.index);if(X<0){delete g[P];break}F=e[X]}if(u=Ehe(a,pht),u){if(u.attr?(s=Yu(n,u.attr).get(),l=s&&khe(u.attr,t)):(s=q.uirevision,l=F.uirevision,l===void 0&&(l=t.uirevision)),l&&l===s&&(c=T[a],c===null&&(c=void 0),f=Yu(F,a),h=f.get(),Che(h,c))){f.set(Cy(Yu(q,a).get()));continue}}else sa.warn(\"unrecognized GUI edit: \"+a+\" in trace uid \"+P);delete T[a]}}}function _ht(e,t,r,n){var i,a;function o(){return pl.addFrames(e,i)}e=sa.getGraphDiv(e),yh.clearPromiseQueue(e);var s=e._fullData,l=e._fullLayout;if(!sa.isPlotDiv(e)||!s||!l)a=pl.newPlot(e,t,r,n);else{if(sa.isPlainObject(t)){var u=t;t=u.data,r=u.layout,n=u.config,i=u.frames}var c=!1;if(n){var f=sa.extendDeep({},e._context);e._context=void 0,Ihe(e,n),c=HN(f,e._context)}e.data=t||[],yh.cleanData(e.data),e.layout=r||{},yh.cleanLayout(e.layout),yht(e.data,e.layout,s,l),Ho.supplyDefaults(e,{skipUpdateCalc:!0});var h=e._fullData,d=e._fullLayout,v=d.datarevision===void 0,x=d.transition,b=bht(e,l,d,v,x),p=b.newDataRevision,E=xht(e,s,h,v,x,p);if(jhe(e)&&(b.layoutReplot=!0),E.calc||b.calc){e.calcdata=void 0;for(var k=Object.getOwnPropertyNames(d),A=0;A<k.length;A++){var L=k[A],_=L.substring(0,5);if(_===\"xaxis\"||_===\"yaxis\"){var C=d[L]._emptyCategories;C&&C()}}}else Ho.supplyDefaultsUpdateCalc(e.calcdata,h);var M=[];if(i&&(e._transitionData={},Ho.createTransitionData(e),M.push(o)),d.transition&&!c&&(E.anim||b.anim))b.ticks&&M.push($l.doTicksRelayout),Ho.doCalcdata(e),$l.doAutoRangeAndConstraints(e),M.push(function(){return Ho.transitionFromReact(e,E,b,l)});else if(E.fullReplot||b.layoutReplot||c)e._fullLayout._skipDefaults=!0,M.push(pl._doPlot);else{for(var g in b.arrays){var P=b.arrays[g];if(P.length){var T=L0.getComponentMethod(g,\"drawOne\");if(T!==sa.noop)for(var F=0;F<P.length;F++)T(e,P[F]);else{var q=L0.getComponentMethod(g,\"draw\");if(q===sa.noop)throw new Error(\"cannot draw components: \"+g);q(e)}}}M.push(Ho.previousPromises),E.style&&M.push($l.doTraceStyle),(E.colorbars||b.colorbars)&&M.push($l.doColorBars),b.legend&&M.push($l.doLegend),b.layoutstyle&&M.push($l.layoutStyles),b.axrange&&qP(M),b.ticks&&M.push($l.doTicksRelayout),b.modebar&&M.push($l.doModeBar),b.camera&&M.push($l.doCamera),M.push(BM)}M.push(Ho.rehover,Ho.redrag,Ho.reselect),a=sa.syncOrAsync(M,e),(!a||!a.then)&&(a=Promise.resolve(e))}return a.then(function(){return e.emit(\"plotly_react\",{data:t,layout:r}),e})}function xht(e,t,r,n,i,a){var o=t.length===r.length;if(!i&&!o)return{fullReplot:!0,calc:!0};var s=p_.traceFlags();s.arrays={},s.nChanges=0,s.nChangesAnim=0;var l,u;function c(d){var v=FP.getTraceValObject(u,d);return!u._module.animatable&&v.anim&&(v.anim=!1),v}var f={getValObject:c,flags:s,immutable:n,transition:i,newDataRevision:a,gd:e},h={};for(l=0;l<t.length;l++)if(r[l]){if(u=r[l]._fullInput,h[u.uid])continue;h[u.uid]=1,zP(t[l]._fullInput,u,[],f)}return(s.calc||s.plot)&&(s.fullReplot=!0),i&&s.nChanges&&s.nChangesAnim&&(s.anim=s.nChanges===s.nChangesAnim&&o?\"all\":\"some\"),s}function bht(e,t,r,n,i){var a=p_.layoutFlags();a.arrays={},a.rangesAltered={},a.nChanges=0,a.nChangesAnim=0;function o(h){return FP.getLayoutValObject(r,h)}for(var s in r)if(!(!s.startsWith(\"xaxis\")&&!s.startsWith(\"yaxis\"))&&t[s]){var l=r[s].domain,u=t[s].domain,c=t[s]._inputDomain;t[s]._inputDomain&&(l[0]===c[0]&&l[1]===c[1]?r[s].domain=t[s].domain:(l[0]!==u[0]||l[1]!==u[1])&&(r[s]._inputDomain=null))}var f={getValObject:o,flags:a,immutable:n,transition:i,gd:e};return zP(t,r,[],f),(a.plot||a.calc)&&(a.layoutReplot=!0),i&&a.nChanges&&a.nChangesAnim&&(a.anim=a.nChanges===a.nChangesAnim?\"all\":\"some\"),a}function zP(e,t,r,n){var i,a,o,s=n.getValObject,l=n.flags,u=n.immutable,c=n.inArray,f=n.arrayIndex;function h(){var V=i.editType;if(c&&V.indexOf(\"arraydraw\")!==-1){sa.pushUnique(l.arrays[c],f);return}p_.update(l,i),V!==\"none\"&&l.nChanges++,n.transition&&i.anim&&l.nChangesAnim++,(Vhe.test(o)||Hhe.test(o))&&(l.rangesAltered[r[0]]=1),a===\"datarevision\"&&(l.newDataRevision=1)}function d(V){return V.valType===\"data_array\"||V.arrayOk}for(a in e){if(l.calc&&!n.transition)return;var v=e[a],x=t[a],b=r.concat(a);if(o=b.join(\".\"),!(a.charAt(0)===\"_\"||typeof v==\"function\"||v===x)){if((a===\"tick0\"||a===\"dtick\")&&r[0]!==\"geo\"){var p=t.tickmode;if(p===\"auto\"||p===\"array\"||!p)continue}if(!(a===\"range\"&&t.autorange)&&!((a===\"zmin\"||a===\"zmax\")&&t.type===\"contourcarpet\")&&(i=s(b),!!i&&!(i._compareAsJSON&&JSON.stringify(v)===JSON.stringify(x)))){var E=i.valType,k,A=d(i),L=Array.isArray(v),_=Array.isArray(x);if(L&&_){var C=\"_input_\"+a,M=e[C],g=t[C];if(Array.isArray(M)&&M===g)continue}if(x===void 0)A&&L?l.calc=!0:h();else if(i._isLinkedToArray){var P=[],T=!1;c||(l.arrays[a]=P);var F=Math.min(v.length,x.length),q=Math.max(v.length,x.length);if(F!==q)if(i.editType===\"arraydraw\")T=!0;else{h();continue}for(k=0;k<F;k++)zP(v[k],x[k],b.concat(k),sa.extendFlat({inArray:a,arrayIndex:k},n));if(T)for(k=F;k<q;k++)P.push(k)}else!E&&sa.isPlainObject(v)?zP(v,x,b,n):A?L&&_?(u&&(l.calc=!0),(u||n.newDataRevision)&&h()):L!==_?l.calc=!0:h():L&&_?(v.length!==x.length||String(v)!==String(x))&&h():h()}}}for(a in t)if(!(a in e||a.charAt(0)===\"_\"||typeof t[a]==\"function\"))if(i=s(r.concat(a)),d(i)&&Array.isArray(t[a])){l.calc=!0;return}else h()}function HN(e,t){var r;for(r in e)if(r.charAt(0)!==\"_\"){var n=e[r],i=t[r];if(n!==i)if(sa.isPlainObject(n)&&sa.isPlainObject(i)){if(HN(n,i))return!0}else if(Array.isArray(n)&&Array.isArray(i)){if(n.length!==i.length)return!0;for(var a=0;a<n.length;a++)if(n[a]!==i[a])if(sa.isPlainObject(n[a])&&sa.isPlainObject(i[a])){if(HN(n[a],i[a]))return!0}else return!0}else return!0}}function wht(e,t,r){if(e=sa.getGraphDiv(e),!sa.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e+\". It's likely that you've failed to create a plot before animating it. For more details, see https://plotly.com/javascript/animations/\");var n=e._transitionData;n._frameQueue||(n._frameQueue=[]),r=Ho.supplyAnimationDefaults(r);var i=r.transition,a=r.frame;n._frameWaitingCnt===void 0&&(n._frameWaitingCnt=0);function o(u){return Array.isArray(i)?u>=i.length?i[0]:i[u]:i}function s(u){return Array.isArray(a)?u>=a.length?a[0]:a[u]:a}function l(u,c){var f=0;return function(){if(u&&++f===c)return u()}}return new Promise(function(u,c){function f(){if(n._frameQueue.length!==0){for(;n._frameQueue.length;){var F=n._frameQueue.pop();F.onInterrupt&&F.onInterrupt()}e.emit(\"plotly_animationinterrupted\",[])}}function h(F){if(F.length!==0){for(var q=0;q<F.length;q++){var V;F[q].type===\"byname\"?V=Ho.computeFrame(e,F[q].name):V=F[q].data;var H=s(q),X=o(q);X.duration=Math.min(X.duration,H.duration);var G={frame:V,name:F[q].name,frameOpts:H,transitionOpts:X};q===F.length-1&&(G.onComplete=l(u,2),G.onInterrupt=c),n._frameQueue.push(G)}r.mode===\"immediate\"&&(n._lastFrameAt=-1/0),n._animationRaf||x()}}function d(){e.emit(\"plotly_animated\"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function v(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var F=n._currentFrame=n._frameQueue.shift();if(F){var q=F.name?F.name.toString():null;e._fullLayout._currentFrame=q,n._lastFrameAt=Date.now(),n._timeToNext=F.frameOpts.duration,Ho.transition(e,F.frame.data,F.frame.layout,yh.coerceTraceIndices(e,F.frame.traces),F.frameOpts,F.transitionOpts).then(function(){F.onComplete&&F.onComplete()}),e.emit(\"plotly_animatingframe\",{name:q,frame:F.frame,animation:{frame:F.frameOpts,transition:F.transitionOpts}})}else d()}function x(){e.emit(\"plotly_animating\"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var F=function(){n._animationRaf=window.requestAnimationFrame(F),Date.now()-n._lastFrameAt>n._timeToNext&&v()};F()}var b=0;function p(F){return Array.isArray(i)?b>=i.length?F.transitionOpts=i[b]:F.transitionOpts=i[0]:F.transitionOpts=i,b++,F}var E,k,A=[],L=t==null,_=Array.isArray(t),C=!L&&!_&&sa.isPlainObject(t);if(C)A.push({type:\"object\",data:p(sa.extendFlat({},t))});else if(L||[\"string\",\"number\"].indexOf(typeof t)!==-1)for(E=0;E<n._frames.length;E++)k=n._frames[E],k&&(L||String(k.group)===String(t))&&A.push({type:\"byname\",name:String(k.name),data:p({name:k.name})});else if(_)for(E=0;E<t.length;E++){var M=t[E];[\"number\",\"string\"].indexOf(typeof M)!==-1?(M=String(M),A.push({type:\"byname\",name:M,data:p({name:M})})):sa.isPlainObject(M)&&A.push({type:\"object\",data:p(sa.extendFlat({},M))})}for(E=0;E<A.length;E++)if(k=A[E],k.type===\"byname\"&&!n._frameHash[k.data.name]){sa.warn('animate failure: frame not found: \"'+k.data.name+'\"'),c();return}[\"next\",\"immediate\"].indexOf(r.mode)!==-1&&f(),r.direction===\"reverse\"&&A.reverse();var g=e._fullLayout._currentFrame;if(g&&r.fromcurrent){var P=-1;for(E=0;E<A.length;E++)if(k=A[E],k.type===\"byname\"&&k.name===g){P=E;break}if(P>0&&P<A.length-1){var T=[];for(E=0;E<A.length;E++)k=A[E],(A[E].type!==\"byname\"||E>P)&&T.push(k);A=T}}A.length>0?h(A):(e.emit(\"plotly_animated\"),u())})}function Tht(e,t,r){if(e=sa.getGraphDiv(e),t==null)return Promise.resolve();if(!sa.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e+\". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/\");var n,i,a,o,s=e._transitionData._frames,l=e._transitionData._frameHash;if(!Array.isArray(t))throw new Error(\"addFrames failure: frameList must be an Array of frame definitions\"+t);var u=s.length+t.length*2,c=[],f={};for(n=t.length-1;n>=0;n--)if(sa.isPlainObject(t[n])){var h=t[n].name,d=(l[h]||f[h]||{}).name,v=t[n].name,x=l[d]||f[d];d&&v&&typeof v==\"number\"&&x&&NN<Mhe&&(NN++,sa.warn('addFrames: overwriting frame \"'+(l[d]||f[d]).name+'\" with a frame whose name of type \"number\" also equates to \"'+d+'\". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),NN===Mhe&&sa.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.\")),f[h]={name:h},c.push({frame:Ho.supplyFrameDefaults(t[n]),index:r&&r[n]!==void 0&&r[n]!==null?r[n]:u+n})}c.sort(function(C,M){return C.index>M.index?-1:C.index<M.index?1:0});var b=[],p=[],E=s.length;for(n=c.length-1;n>=0;n--){if(i=c[n].frame,typeof i.name==\"number\"&&sa.warn(\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\"),!i.name)for(;l[i.name=\"frame \"+e._transitionData._counter++];);if(l[i.name]){for(a=0;a<s.length&&(s[a]||{}).name!==i.name;a++);b.push({type:\"replace\",index:a,value:i}),p.unshift({type:\"replace\",index:a,value:s[a]})}else o=Math.max(0,Math.min(c[n].index,E)),b.push({type:\"insert\",index:o,value:i}),p.unshift({type:\"delete\",index:o}),E++}var k=Ho.modifyFrames,A=Ho.modifyFrames,L=[e,p],_=[e,b];return ap&&ap.add(e,k,L,A,_),Ho.modifyFrames(e,b)}function Aht(e,t){if(e=sa.getGraphDiv(e),!sa.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e);var r,n,i=e._transitionData._frames,a=[],o=[];if(!t)for(t=[],r=0;r<i.length;r++)t.push(r);for(t=t.slice(),t.sort(),r=t.length-1;r>=0;r--)n=t[r],a.push({type:\"delete\",index:n}),o.unshift({type:\"insert\",index:n,value:i[n]});var s=Ho.modifyFrames,l=Ho.modifyFrames,u=[e,o],c=[e,a];return ap&&ap.add(e,s,u,l,c),Ho.modifyFrames(e,a)}function Sht(e){e=sa.getGraphDiv(e);var t=e._fullLayout||{},r=e._fullData||[];return Ho.cleanPlot([],{},r,t),Ho.purge(e),UN.purge(e),t._container&&t._container.remove(),delete e._context,e}function Mht(e){var t=e._fullLayout,r=e.getBoundingClientRect();if(!sa.equalDomRects(r,t._lastBBox)){var n=t._invTransform=sa.inverseTransformMatrix(sa.getFullTransformMatrix(e));t._invScaleX=Math.sqrt(n[0][0]*n[0][0]+n[0][1]*n[0][1]+n[0][2]*n[0][2]),t._invScaleY=Math.sqrt(n[1][0]*n[1][0]+n[1][1]*n[1][1]+n[1][2]*n[1][2]),t._lastBBox=r}}function Eht(e){var t=CP.select(e),r=e._fullLayout;if(r._calcInverseTransform=Mht,r._calcInverseTransform(e),r._container=t.selectAll(\".plot-container\").data([0]),r._container.enter().insert(\"div\",\":first-child\").classed(\"plot-container\",!0).classed(\"plotly\",!0).style({width:\"100%\",height:\"100%\"}),r._paperdiv=r._container.selectAll(\".svg-container\").data([0]),r._paperdiv.enter().append(\"div\").classed(\"user-select-none\",!0).classed(\"svg-container\",!0).style(\"position\",\"relative\"),r._glcontainer=r._paperdiv.selectAll(\".gl-container\").data([{}]),r._glcontainer.enter().append(\"div\").classed(\"gl-container\",!0),r._paperdiv.selectAll(\".main-svg\").remove(),r._paperdiv.select(\".modebar-container\").remove(),r._paper=r._paperdiv.insert(\"svg\",\":first-child\").classed(\"main-svg\",!0),r._toppaper=r._paperdiv.append(\"svg\").classed(\"main-svg\",!0),r._modebardiv=r._paperdiv.append(\"div\"),delete r._modeBar,r._hoverpaper=r._paperdiv.append(\"svg\").classed(\"main-svg\",!0),!r._uid){var n={};CP.selectAll(\"defs\").each(function(){this.id&&(n[this.id.split(\"-\")[1]]=1)}),r._uid=sa.randstr(n)}r._paperdiv.selectAll(\".main-svg\").attr(tht.svgAttrs),r._defs=r._paper.append(\"defs\").attr(\"id\",\"defs-\"+r._uid),r._clips=r._defs.append(\"g\").classed(\"clips\",!0),r._topdefs=r._toppaper.append(\"defs\").attr(\"id\",\"topdefs-\"+r._uid),r._topclips=r._topdefs.append(\"g\").classed(\"clips\",!0),r._bgLayer=r._paper.append(\"g\").classed(\"bglayer\",!0),r._draggers=r._paper.append(\"g\").classed(\"draglayer\",!0);var i=r._paper.append(\"g\").classed(\"layer-below\",!0);r._imageLowerLayer=i.append(\"g\").classed(\"imagelayer\",!0),r._shapeLowerLayer=i.append(\"g\").classed(\"shapelayer\",!0),r._cartesianlayer=r._paper.append(\"g\").classed(\"cartesianlayer\",!0),r._polarlayer=r._paper.append(\"g\").classed(\"polarlayer\",!0),r._smithlayer=r._paper.append(\"g\").classed(\"smithlayer\",!0),r._ternarylayer=r._paper.append(\"g\").classed(\"ternarylayer\",!0),r._geolayer=r._paper.append(\"g\").classed(\"geolayer\",!0),r._funnelarealayer=r._paper.append(\"g\").classed(\"funnelarealayer\",!0),r._pielayer=r._paper.append(\"g\").classed(\"pielayer\",!0),r._iciclelayer=r._paper.append(\"g\").classed(\"iciclelayer\",!0),r._treemaplayer=r._paper.append(\"g\").classed(\"treemaplayer\",!0),r._sunburstlayer=r._paper.append(\"g\").classed(\"sunburstlayer\",!0),r._indicatorlayer=r._toppaper.append(\"g\").classed(\"indicatorlayer\",!0),r._glimages=r._paper.append(\"g\").classed(\"glimages\",!0);var a=r._toppaper.append(\"g\").classed(\"layer-above\",!0);r._imageUpperLayer=a.append(\"g\").classed(\"imagelayer\",!0),r._shapeUpperLayer=a.append(\"g\").classed(\"shapelayer\",!0),r._selectionLayer=r._toppaper.append(\"g\").classed(\"selectionlayer\",!0),r._infolayer=r._toppaper.append(\"g\").classed(\"infolayer\",!0),r._menulayer=r._toppaper.append(\"g\").classed(\"menulayer\",!0),r._zoomlayer=r._toppaper.append(\"g\").classed(\"zoomlayer\",!0),r._hoverlayer=r._hoverpaper.append(\"g\").classed(\"hoverlayer\",!0),r._modebardiv.classed(\"modebar-container\",!0).style(\"position\",\"absolute\").style(\"top\",\"0px\").style(\"right\",\"0px\"),e.emit(\"plotly_framework\")}pl.animate=wht;pl.addFrames=Tht;pl.deleteFrames=Aht;pl.addTraces=Ohe;pl.deleteTraces=Bhe;pl.extendTraces=Fhe;pl.moveTraces=VN;pl.prependTraces=qhe;pl.newPlot=lht;pl._doPlot=nht;pl.purge=Sht;pl.react=_ht;pl.redraw=sht;pl.relayout=OM;pl.restyle=IP;pl.setPlotConfig=aht;pl.update=DP;pl._guiRelayout=GN(OM);pl._guiRestyle=GN(IP);pl._guiUpdate=GN(DP);pl._storeDirectGUIEdit=hht});var Ly=ye(Mm=>{\"use strict\";var kht=ba();Mm.getDelay=function(e){return e._has&&(e._has(\"gl3d\")||e._has(\"mapbox\")||e._has(\"map\"))?500:0};Mm.getRedrawFunc=function(e){return function(){kht.getComponentMethod(\"colorbar\",\"draw\")(e)}};Mm.encodeSVG=function(e){return\"data:image/svg+xml,\"+encodeURIComponent(e)};Mm.encodeJSON=function(e){return\"data:application/json,\"+encodeURIComponent(e)};var Whe=window.URL||window.webkitURL;Mm.createObjectURL=function(e){return Whe.createObjectURL(e)};Mm.revokeObjectURL=function(e){return Whe.revokeObjectURL(e)};Mm.createBlob=function(e,t){if(t===\"svg\")return new window.Blob([e],{type:\"image/svg+xml;charset=utf-8\"});if(t===\"full-json\")return new window.Blob([e],{type:\"application/json;charset=utf-8\"});var r=Cht(window.atob(e));return new window.Blob([r],{type:\"image/\"+t})};Mm.octetStream=function(e){document.location.href=\"data:application/octet-stream\"+e};function Cht(e){for(var t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;i<t;i++)n[i]=e.charCodeAt(i);return r}Mm.IMAGE_URL_PREFIX=/^data:image\\/\\w+;base64,/});var BP=ye((snr,Zhe)=>{\"use strict\";var WN=xa(),anr=Mr(),Lht=ao(),Pht=va(),onr=Zp(),jN=/\"/g,NM=\"TOBESTRIPPED\",Iht=new RegExp('(\"'+NM+\")|(\"+NM+'\")',\"g\");function Rht(e){var t=WN.select(\"body\").append(\"div\").style({display:\"none\"}).html(\"\"),r=e.replace(/(&[^;]*;)/gi,function(n){return n===\"<\"?\"<\":n===\"&rt;\"?\">\":n.indexOf(\"<\")!==-1||n.indexOf(\">\")!==-1?\"\":t.html(n).text()});return t.remove(),r}function Dht(e){return e.replace(/&(?!\\w+;|\\#[0-9]+;| \\#x[0-9A-F]+;)/g,\"&\")}Zhe.exports=function(t,r,n){var i=t._fullLayout,a=i._paper,o=i._toppaper,s=i.width,l=i.height,u;a.insert(\"rect\",\":first-child\").call(Lht.setRect,0,0,s,l).call(Pht.fill,i.paper_bgcolor);var c=i._basePlotModules||[];for(u=0;u<c.length;u++){var f=c[u];f.toSVG&&f.toSVG(t)}if(o){var h=o.node().childNodes,d=Array.prototype.slice.call(h);for(u=0;u<d.length;u++){var v=d[u];v.childNodes.length&&a.node().appendChild(v)}}i._draggers&&i._draggers.remove(),a.node().style.background=\"\",a.selectAll(\"text\").attr({\"data-unformatted\":null,\"data-math\":null}).each(function(){var b=WN.select(this);if(this.style.visibility===\"hidden\"||this.style.display===\"none\"){b.remove();return}else b.style({visibility:null,display:null});var p=this.style.fontFamily;p&&p.indexOf('\"')!==-1&&b.style(\"font-family\",p.replace(jN,NM));var E=this.style.fontWeight;E&&(E===\"normal\"||E===\"400\")&&b.style(\"font-weight\",void 0);var k=this.style.fontStyle;k&&k===\"normal\"&&b.style(\"font-style\",void 0);var A=this.style.fontVariant;A&&A===\"normal\"&&b.style(\"font-variant\",void 0)}),a.selectAll(\".gradient_filled,.pattern_filled\").each(function(){var b=WN.select(this),p=this.style.fill;p&&p.indexOf(\"url(\")!==-1&&b.style(\"fill\",p.replace(jN,NM));var E=this.style.stroke;E&&E.indexOf(\"url(\")!==-1&&b.style(\"stroke\",E.replace(jN,NM))}),(r===\"pdf\"||r===\"eps\")&&a.selectAll(\"#MathJax_SVG_glyphs path\").attr(\"stroke-width\",0),r===\"svg\"&&n&&(a.attr(\"width\",n*s),a.attr(\"height\",n*l),a.attr(\"viewBox\",\"0 0 \"+s+\" \"+l));var x=new window.XMLSerializer().serializeToString(a.node());return x=Rht(x),x=Dht(x),x=x.replace(Iht,\"'\"),x}});var NP=ye((lnr,Xhe)=>{\"use strict\";var zht=Mr(),Fht=vb().EventEmitter,UM=Ly();function qht(e){var t=e.emitter||new Fht,r=new Promise(function(n,i){var a=window.Image,o=e.svg,s=e.format||\"png\",l=e.canvas,u=e.scale||1,c=e.width||300,f=e.height||150,h=u*c,d=u*f,v=l.getContext(\"2d\",{willReadFrequently:!0}),x=new a,b,p;s===\"svg\"||zht.isSafari()?p=UM.encodeSVG(o):(b=UM.createBlob(o,\"svg\"),p=UM.createObjectURL(b)),l.width=h,l.height=d,x.onload=function(){var E;switch(b=null,UM.revokeObjectURL(p),s!==\"svg\"&&v.drawImage(x,0,0,h,d),s){case\"jpeg\":E=l.toDataURL(\"image/jpeg\");break;case\"png\":E=l.toDataURL(\"image/png\");break;case\"webp\":E=l.toDataURL(\"image/webp\");break;case\"svg\":E=p;break;default:var k=\"Image format is not jpeg, png, svg or webp.\";if(i(new Error(k)),!e.promise)return t.emit(\"error\",k)}n(E),e.promise||t.emit(\"success\",E)},x.onerror=function(E){if(b=null,UM.revokeObjectURL(p),i(E),!e.promise)return t.emit(\"error\",E)},x.src=p});return e.promise?r:t}Xhe.exports=qht});var XN=ye((unr,Jhe)=>{\"use strict\";var Yhe=uo(),Khe=OP(),Oht=Xu(),Em=Mr(),VM=Ly(),Bht=BP(),Nht=NP(),Uht=e6().version,ZN={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}};function Vht(e,t){t=t||{};var r,n,i,a;Em.isPlainObject(e)?(r=e.data||[],n=e.layout||{},i=e.config||{},a={}):(e=Em.getGraphDiv(e),r=Em.extendDeep([],e.data),n=Em.extendDeep({},e.layout),i=e._context,a=e._fullLayout||{});function o(_){return!(_ in t)||Em.validate(t[_],ZN[_])}if(!o(\"width\")&&t.width!==null||!o(\"height\")&&t.height!==null)throw new Error(\"Height and width should be pixel values.\");if(!o(\"format\"))throw new Error(\"Export format is not \"+Em.join2(ZN.format.values,\", \",\" or \")+\".\");var s={};function l(_,C){return Em.coerce(t,s,ZN,_,C)}var u=l(\"format\"),c=l(\"width\"),f=l(\"height\"),h=l(\"scale\"),d=l(\"setBackground\"),v=l(\"imageDataOnly\"),x=document.createElement(\"div\");x.style.position=\"absolute\",x.style.left=\"-5000px\",document.body.appendChild(x);var b=Em.extendFlat({},n);c?b.width=c:t.width===null&&Yhe(a.width)&&(b.width=a.width),f?b.height=f:t.height===null&&Yhe(a.height)&&(b.height=a.height);var p=Em.extendFlat({},i,{_exportedPlot:!0,staticPlot:!0,setBackground:d}),E=VM.getRedrawFunc(x);function k(){return new Promise(function(_){setTimeout(_,VM.getDelay(x._fullLayout))})}function A(){return new Promise(function(_,C){var M=Bht(x,u,h),g=x._fullLayout.width,P=x._fullLayout.height;function T(){Khe.purge(x),document.body.removeChild(x)}if(u===\"full-json\"){var F=Oht.graphJson(x,!1,\"keepdata\",\"object\",!0,!0);return F.version=Uht,F=JSON.stringify(F),T(),_(v?F:VM.encodeJSON(F))}if(T(),u===\"svg\")return _(v?M:VM.encodeSVG(M));var q=document.createElement(\"canvas\");q.id=Em.randstr(),Nht({format:u,width:g,height:P,scale:h,canvas:q,svg:M,promise:!0}).then(_).catch(C)})}function L(_){return v?_.replace(VM.IMAGE_URL_PREFIX,\"\"):_}return new Promise(function(_,C){Khe.newPlot(x,r,b,p).then(E).then(k).then(A).then(function(M){_(L(M))}).catch(function(M){C(M)})})}Jhe.exports=Vht});var tde=ye((cnr,ede)=>{\"use strict\";var P0=Mr(),Hht=Xu(),Ght=_3(),jht=ub().dfltConfig,Lg=P0.isPlainObject,Vb=Array.isArray,$he=P0.isArrayOrTypedArray;ede.exports=function(t,r){t===void 0&&(t=[]),r===void 0&&(r={});var n=Ght.get(),i=[],a={_context:P0.extendFlat({},jht)},o,s;Vb(t)?(a.data=P0.extendDeep([],t),o=t):(a.data=[],o=[],i.push(cd(\"array\",\"data\"))),Lg(r)?(a.layout=P0.extendDeep({},r),s=r):(a.layout={},s={},arguments.length>1&&i.push(cd(\"object\",\"layout\"))),Hht.supplyDefaults(a);for(var l=a._fullData,u=o.length,c=0;c<u;c++){var f=o[c],h=[\"data\",c];if(!Lg(f)){i.push(cd(\"object\",h));continue}var d=l[c],v=d.type,x=n.traces[v].attributes;x.type={valType:\"enumerated\",values:[v]},d.visible===!1&&f.visible!==!1&&i.push(cd(\"invisible\",h)),UP(f,d,x,i,h)}var b=a._fullLayout,p=Wht(n,l);return UP(s,b,p,i,\"layout\"),i.length===0?void 0:i};function UP(e,t,r,n,i,a){a=a||[];for(var o=Object.keys(e),s=0;s<o.length;s++){var l=o[s],u=a.slice();u.push(l);var c=e[l],f=t[l],h=Yht(r,l),d=(h||{}).valType,v=d===\"info_array\",x=d===\"colorscale\",b=(h||{}).items;if(!Xht(r,l))n.push(cd(\"schema\",i,u));else if(Lg(c)&&Lg(f)&&d!==\"any\")UP(c,f,h,n,i,u);else if(v&&Vb(c)){c.length>f.length&&n.push(cd(\"unused\",i,u.concat(f.length)));var p=f.length,E=Array.isArray(b);E&&(p=Math.min(p,b.length));var k,A,L,_,C;if(h.dimensions===2)for(A=0;A<p;A++)if(Vb(c[A])){c[A].length>f[A].length&&n.push(cd(\"unused\",i,u.concat(A,f[A].length)));var M=f[A].length;for(k=0;k<(E?Math.min(M,b[A].length):M);k++)L=E?b[A][k]:b,_=c[A][k],C=f[A][k],P0.validate(_,L)?C!==_&&C!==+_&&n.push(cd(\"dynamic\",i,u.concat(A,k),_,C)):n.push(cd(\"value\",i,u.concat(A,k),_))}else n.push(cd(\"array\",i,u.concat(A),c[A]));else for(A=0;A<p;A++)L=E?b[A]:b,_=c[A],C=f[A],P0.validate(_,L)?C!==_&&C!==+_&&n.push(cd(\"dynamic\",i,u.concat(A),_,C)):n.push(cd(\"value\",i,u.concat(A),_))}else if(h.items&&!v&&Vb(c)){var g=b[Object.keys(b)[0]],P=[],T,F;for(T=0;T<f.length;T++){var q=f[T]._index||T;if(F=u.slice(),F.push(q),Lg(c[q])&&Lg(f[T])){P.push(q);var V=c[q],H=f[T];Lg(V)&&V.visible!==!1&&H.visible===!1?n.push(cd(\"invisible\",i,F)):UP(V,H,g,n,i,F)}}for(T=0;T<c.length;T++)F=u.slice(),F.push(T),Lg(c[T])?P.indexOf(T)===-1&&n.push(cd(\"unused\",i,F)):n.push(cd(\"object\",i,F,c[T]))}else!Lg(c)&&Lg(f)?n.push(cd(\"object\",i,u,c)):!$he(c)&&$he(f)&&!v&&!x?n.push(cd(\"array\",i,u,c)):l in t?P0.validate(c,h)?h.valType===\"enumerated\"&&(h.coerceNumber&&c!==+f||c!==f)&&n.push(cd(\"dynamic\",i,u,c,f)):n.push(cd(\"value\",i,u,c)):n.push(cd(\"unused\",i,u,c))}return n}function Wht(e,t){for(var r=e.layout.layoutAttributes,n=0;n<t.length;n++){var i=t[n],a=e.traces[i.type],o=a.layoutAttributes;o&&(i.subplot?P0.extendFlat(r[a.attributes.subplot.dflt],o):P0.extendFlat(r,o))}return r}var Zht={object:function(e,t){var r;return e===\"layout\"&&t===\"\"?r=\"The layout argument\":e[0]===\"data\"&&t===\"\"?r=\"Trace \"+e[1]+\" in the data argument\":r=Ub(e)+\"key \"+t,r+\" must be linked to an object container\"},array:function(e,t){var r;return e===\"data\"?r=\"The data argument\":r=Ub(e)+\"key \"+t,r+\" must be linked to an array container\"},schema:function(e,t){return Ub(e)+\"key \"+t+\" is not part of the schema\"},unused:function(e,t,r){var n=Lg(r)?\"container\":\"key\";return Ub(e)+n+\" \"+t+\" did not get coerced\"},dynamic:function(e,t,r,n){return[Ub(e)+\"key\",t,\"(set to '\"+r+\"')\",\"got reset to\",\"'\"+n+\"'\",\"during defaults.\"].join(\" \")},invisible:function(e,t){return(t?Ub(e)+\"item \"+t:\"Trace \"+e[1])+\" got defaulted to be not visible\"},value:function(e,t,r){return[Ub(e)+\"key \"+t,\"is set to an invalid value (\"+r+\")\"].join(\" \")}};function Ub(e){return Vb(e)?\"In data trace \"+e[1]+\", \":\"In \"+e+\", \"}function cd(e,t,r,n,i){r=r||\"\";var a,o;Vb(t)?(a=t[0],o=t[1]):(a=t,o=null);var s=Jht(r),l=Zht[e](t,s,n,i);return P0.log(l),{code:e,container:a,trace:o,path:r,astr:s,msg:l}}function Xht(e,t){var r=Qhe(t),n=r.keyMinusId,i=r.id;return n in e&&e[n]._isSubplotObj&&i?!0:t in e}function Yht(e,t){if(t in e)return e[t];var r=Qhe(t);return e[r.keyMinusId]}var Kht=P0.counterRegex(\"([a-z]+)\");function Qhe(e){var t=e.match(Kht);return{keyMinusId:t&&t[1],id:t&&t[2]}}function Jht(e){if(!Vb(e))return String(e);for(var t=\"\",r=0;r<e.length;r++){var n=e[r];typeof n==\"number\"?t=t.substr(0,t.length-1)+\"[\"+n+\"]\":t+=n,r<e.length-1&&(t+=\".\")}return t}});var ide=ye((fnr,rde)=>{\"use strict\";var $ht=Mr(),VP=Ly();function Qht(e,t,r){var n=document.createElement(\"a\"),i=\"download\"in n,a=new Promise(function(o,s){var l,u;if(i)return l=VP.createBlob(e,r),u=VP.createObjectURL(l),n.href=u,n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n),VP.revokeObjectURL(u),l=null,o(t);if($ht.isSafari()){var c=r===\"svg\"?\",\":\";base64,\";return VP.octetStream(c+encodeURIComponent(e)),o(t)}s(new Error(\"download error\"))});return a}rde.exports=Qht});var YN=ye((dnr,ade)=>{\"use strict\";var nde=Mr(),edt=XN(),tdt=ide(),hnr=Ly();function rdt(e,t){var r;return nde.isPlainObject(e)||(r=nde.getGraphDiv(e)),t=t||{},t.format=t.format||\"png\",t.width=t.width||null,t.height=t.height||null,t.imageDataOnly=!0,new Promise(function(n,i){r&&r._snapshotInProgress&&i(new Error(\"Snapshotting already in progress.\")),r&&(r._snapshotInProgress=!0);var a=edt(e,t),o=t.filename||e.fn||\"newplot\";o+=\".\"+t.format.replace(\"-\",\".\"),a.then(function(s){return r&&(r._snapshotInProgress=!1),tdt(s,o,t.format)}).then(function(s){n(s)}).catch(function(s){r&&(r._snapshotInProgress=!1),i(s)})})}ade.exports=rdt});var cde=ye(KN=>{\"use strict\";var Cp=Mr(),Lp=Cp.isPlainObject,ode=_3(),sde=Xu(),idt=vl(),lde=Vs(),ude=ub().dfltConfig;KN.makeTemplate=function(e){e=Cp.isPlainObject(e)?e:Cp.getGraphDiv(e),e=Cp.extendDeep({_context:ude},{data:e.data,layout:e.layout}),sde.supplyDefaults(e);var t=e.data||[],r=e.layout||{};r._basePlotModules=e._fullLayout._basePlotModules,r._modules=e._fullLayout._modules;var n={data:{},layout:{}};t.forEach(function(d){var v={};HM(d,v,adt.bind(null,d));var x=Cp.coerce(d,{},idt,\"type\"),b=n.data[x];b||(b=n.data[x]=[]),b.push(v)}),HM(r,n.layout,ndt.bind(null,r)),delete n.layout.template;var i=r.template;if(Lp(i)){var a=i.layout,o,s,l,u,c,f;Lp(a)&&HP(a,n.layout);var h=i.data;if(Lp(h)){for(s in n.data)if(l=h[s],Array.isArray(l)){for(c=n.data[s],f=c.length,u=l.length,o=0;o<f;o++)HP(l[o%u],c[o]);for(o=f;o<u;o++)c.push(Cp.extendDeep({},l[o]))}for(s in h)s in n.data||(n.data[s]=Cp.extendDeep([],h[s]))}}return n};function HP(e,t){e=Cp.extendDeep({},e);var r=Object.keys(e).sort(),n,i;function a(c,f,h){if(Lp(f)&&Lp(c))HP(c,f);else if(Array.isArray(f)&&Array.isArray(c)){var d=lde.arrayTemplater({_template:e},h);for(i=0;i<f.length;i++){var v=f[i],x=d.newItem(v)._template;x&&HP(x,v)}var b=d.defaultItems();for(i=0;i<b.length;i++)f.push(b[i]._template);for(i=0;i<f.length;i++)delete f[i].templateitemname}}for(n=0;n<r.length;n++){var o=r[n],s=e[o];if(o in t?a(s,t[o],o):t[o]=s,GP(o)===o)for(var l in t){var u=GP(l);l!==u&&u===o&&!(l in e)&&a(s,t[l],o)}}}function GP(e){return e.replace(/[0-9]+$/,\"\")}function HM(e,t,r,n,i){var a=i&&r(i);for(var o in e){var s=e[o],l=I0(e,o,n),u=I0(e,o,i),c=r(u);if(!c){var f=GP(o);f!==o&&(u=I0(e,f,i),c=r(u))}if(!(a&&a===c)&&!(!c||c._noTemplating||c.valType===\"data_array\"||c.arrayOk&&Array.isArray(s)))if(!c.valType&&Lp(s))HM(s,t,r,l,u);else if(c._isLinkedToArray&&Array.isArray(s))for(var h=!1,d=0,v={},x=0;x<s.length;x++){var b=s[x];if(Lp(b)){var p=b.name;if(p)v[p]||(HM(b,t,r,I0(s,d,l),I0(s,d,u)),d++,v[p]=1);else if(!h){var E=lde.arrayDefaultKey(o),k=I0(e,E,n),A=I0(s,d,l);HM(b,t,r,A,I0(s,d,u));var L=Cp.nestedProperty(t,A),_=Cp.nestedProperty(t,k);_.set(L.get()),L.set(null),h=!0}}}else{var C=Cp.nestedProperty(t,l);C.set(s)}}}function ndt(e,t){return ode.getLayoutValObject(e,Cp.nestedProperty({},t).parts)}function adt(e,t){return ode.getTraceValObject(e,Cp.nestedProperty({},t).parts)}function I0(e,t,r){var n;return r?Array.isArray(e)?n=r+\"[\"+t+\"]\":n=r+\".\"+t:n=t,n}KN.validateTemplate=function(e,t){var r=Cp.extendDeep({},{_context:ude,data:e.data,layout:e.layout}),n=r.layout||{};Lp(t)||(t=n.template||{});var i=t.layout,a=t.data,o=[];r.layout=n,r.layout.template=t,sde.supplyDefaults(r);var s=r._fullLayout,l=r._fullData,u={};function c(k,A){for(var L in k)if(L.charAt(0)!==\"_\"&&Lp(k[L])){var _=GP(L),C=[],M;for(M=0;M<A.length;M++)C.push(I0(k,L,A[M])),_!==L&&C.push(I0(k,_,A[M]));for(M=0;M<C.length;M++)u[C[M]]=1;c(k[L],C)}}function f(k,A){for(var L in k)if(L.indexOf(\"defaults\")===-1&&Lp(k[L])){var _=I0(k,L,A);u[_]?f(k[L],_):o.push({code:\"unused\",path:_})}}if(Lp(i)?(c(s,[\"layout\"]),f(i,\"layout\")):o.push({code:\"layout\"}),!Lp(a))o.push({code:\"data\"});else{for(var h={},d,v=0;v<l.length;v++){var x=l[v];d=x.type,h[d]=(h[d]||0)+1,x._fullInput._template||o.push({code:\"missing\",index:x.index,traceType:d})}for(d in a){var b=a[d].length,p=h[d]||0;b>p?o.push({code:\"unused\",traceType:d,templateCount:b,dataCount:p}):p>b&&o.push({code:\"reused\",traceType:d,templateCount:b,dataCount:p})}}function E(k,A){for(var L in k)if(L.charAt(0)!==\"_\"){var _=k[L],C=I0(k,L,A);Lp(_)?(Array.isArray(k)&&_._template===!1&&_.templateitemname&&o.push({code:\"missing\",path:C,templateitemname:_.templateitemname}),E(_,C)):Array.isArray(_)&&odt(_)&&E(_,C)}}if(E({data:l,layout:s},\"\"),o.length)return o.map(sdt)};function odt(e){for(var t=0;t<e.length;t++)if(Lp(e[t]))return!0}function sdt(e){var t;switch(e.code){case\"data\":t=\"The template has no key data.\";break;case\"layout\":t=\"The template has no key layout.\";break;case\"missing\":e.path?t=\"There are no templates for item \"+e.path+\" with name \"+e.templateitemname:t=\"There are no templates for trace \"+e.index+\", of type \"+e.traceType+\".\";break;case\"unused\":e.path?t=\"The template item at \"+e.path+\" was not used in constructing the plot.\":e.dataCount?t=\"Some of the templates of type \"+e.traceType+\" were not used. The template has \"+e.templateCount+\" traces, the data only has \"+e.dataCount+\" of this type.\":t=\"The template has \"+e.templateCount+\" traces of type \"+e.traceType+\" but there are none in the data.\";break;case\"reused\":t=\"Some of the templates of type \"+e.traceType+\" were used more than once. The template has \"+e.templateCount+\" traces, the data has \"+e.dataCount+\" of this type.\";break}return e.msg=t,e}});var hde=ye(Sc=>{\"use strict\";var Hh=OP();Sc._doPlot=Hh._doPlot;Sc.newPlot=Hh.newPlot;Sc.restyle=Hh.restyle;Sc.relayout=Hh.relayout;Sc.redraw=Hh.redraw;Sc.update=Hh.update;Sc._guiRestyle=Hh._guiRestyle;Sc._guiRelayout=Hh._guiRelayout;Sc._guiUpdate=Hh._guiUpdate;Sc._storeDirectGUIEdit=Hh._storeDirectGUIEdit;Sc.react=Hh.react;Sc.extendTraces=Hh.extendTraces;Sc.prependTraces=Hh.prependTraces;Sc.addTraces=Hh.addTraces;Sc.deleteTraces=Hh.deleteTraces;Sc.moveTraces=Hh.moveTraces;Sc.purge=Hh.purge;Sc.addFrames=Hh.addFrames;Sc.deleteFrames=Hh.deleteFrames;Sc.animate=Hh.animate;Sc.setPlotConfig=Hh.setPlotConfig;var ldt=DS().getGraphDiv,udt=rP().eraseActiveShape;Sc.deleteActiveShape=function(e){return udt(ldt(e))};Sc.toImage=XN();Sc.validate=tde();Sc.downloadImage=YN();var fde=cde();Sc.makeTemplate=fde.makeTemplate;Sc.validateTemplate=fde.validateTemplate});var K3=ye((gnr,dde)=>{\"use strict\";var JN=Mr(),cdt=ba();dde.exports=function(t,r,n,i){var a=i(\"x\"),o=i(\"y\"),s,l=cdt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");if(l(t,r,[\"x\",\"y\"],n),a){var u=JN.minRowLength(a);o?s=Math.min(u,JN.minRowLength(o)):(s=u,i(\"y0\"),i(\"dy\"))}else{if(!o)return 0;s=JN.minRowLength(o),i(\"x0\"),i(\"dx\")}return r._length=s,s}});var Pg=ye((mnr,gde)=>{\"use strict\";var vde=Mr().dateTick0,fdt=es(),hdt=fdt.ONEWEEK;function pde(e,t){return e%hdt===0?vde(t,1):vde(t,0)}gde.exports=function(t,r,n,i,a){if(a||(a={x:!0,y:!0}),a.x){var o=i(\"xperiod\");o&&(i(\"xperiod0\",pde(o,r.xcalendar)),i(\"xperiodalignment\"))}if(a.y){var s=i(\"yperiod\");s&&(i(\"yperiod0\",pde(s,r.ycalendar)),i(\"yperiodalignment\"))}}});var _de=ye((ynr,yde)=>{\"use strict\";var mde=[\"orientation\",\"groupnorm\",\"stackgaps\"];yde.exports=function(t,r,n,i){var a=n._scatterStackOpts,o=i(\"stackgroup\");if(o){var s=r.xaxis+r.yaxis,l=a[s];l||(l=a[s]={});var u=l[o],c=!1;u?u.traces.push(r):(u=l[o]={traceIndices:[],traces:[r]},c=!0);for(var f={orientation:r.x&&!r.y?\"h\":\"v\"},h=0;h<mde.length;h++){var d=mde[h],v=d+\"Found\";if(!u[v]){var x=t[d]!==void 0,b=d===\"orientation\";if((x||c)&&(u[d]=i(d,f[d]),b&&(u.fillDflt=u[d]===\"h\"?\"tonextx\":\"tonexty\"),x&&(u[v]=!0,!c&&(delete u.traces[0][d],b))))for(var p=0;p<u.traces.length-1;p++){var E=u.traces[p];E._input.fill!==E.fill&&(E.fill=u.fillDflt)}}}return u}}});var $p=ye((_nr,Tde)=>{\"use strict\";var xde=va(),bde=Dv().hasColorscale,wde=Uh(),ddt=lu();Tde.exports=function(t,r,n,i,a,o){var s=ddt.isBubble(t),l=(t.line||{}).color,u;if(o=o||{},l&&(n=l),a(\"marker.symbol\"),a(\"marker.opacity\",s?.7:1),a(\"marker.size\"),o.noAngle||(a(\"marker.angle\"),o.noAngleRef||a(\"marker.angleref\"),o.noStandOff||a(\"marker.standoff\")),a(\"marker.color\",n),bde(t,\"marker\")&&wde(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}),o.noSelect||(a(\"selected.marker.color\"),a(\"unselected.marker.color\"),a(\"selected.marker.size\"),a(\"unselected.marker.size\")),o.noLine||(l&&!Array.isArray(l)&&r.marker.color!==l?u=l:s?u=xde.background:u=xde.defaultLine,a(\"marker.line.color\",u),bde(t,\"marker.line\")&&wde(t,r,i,a,{prefix:\"marker.line.\",cLetter:\"c\"}),a(\"marker.line.width\",s?1:0)),s&&(a(\"marker.sizeref\"),a(\"marker.sizemin\"),a(\"marker.sizemode\")),o.gradient){var c=a(\"marker.gradient.type\");c!==\"none\"&&a(\"marker.gradient.color\")}}});var R0=ye((xnr,Ade)=>{\"use strict\";var vdt=Mr().isArrayOrTypedArray,pdt=Dv().hasColorscale,gdt=Uh();Ade.exports=function(t,r,n,i,a,o){o||(o={});var s=(t.marker||{}).color;if(s&&s._inputArray&&(s=s._inputArray),a(\"line.color\",n),pdt(t,\"line\"))gdt(t,r,i,a,{prefix:\"line.\",cLetter:\"c\"});else{var l=(vdt(s)?!1:s)||n;a(\"line.color\",l)}a(\"line.width\"),o.noDash||a(\"line.dash\"),o.backoff&&a(\"line.backoff\")}});var J3=ye((bnr,Sde)=>{\"use strict\";Sde.exports=function(t,r,n){var i=n(\"line.shape\");i===\"spline\"&&n(\"line.smoothing\")}});var D0=ye((wnr,Mde)=>{\"use strict\";var mdt=Mr();Mde.exports=function(e,t,r,n,i){i=i||{},n(\"textposition\"),mdt.coerceFont(n,\"textfont\",i.font||r.font,i),i.noSelect||(n(\"selected.textfont.color\"),n(\"unselected.textfont.color\"))}});var Ig=ye((Tnr,kde)=>{\"use strict\";var jP=va(),Ede=Mr().isArrayOrTypedArray;function ydt(e){for(var t=jP.interpolate(e[0][1],e[1][1],.5),r=2;r<e.length;r++){var n=jP.interpolate(e[r-1][1],e[r][1],.5);t=jP.interpolate(t,n,e[r-1][0]/e[r][0])}return t}kde.exports=function(t,r,n,i,a){a||(a={});var o=!1;if(r.marker){var s=r.marker.color,l=(r.marker.line||{}).color;s&&!Ede(s)?o=s:l&&!Ede(l)&&(o=l)}var u;if(a.moduleHasFillgradient){var c=i(\"fillgradient.type\");if(c!==\"none\"){i(\"fillgradient.start\"),i(\"fillgradient.stop\");var f=i(\"fillgradient.colorscale\");f&&(u=ydt(f))}}i(\"fillcolor\",jP.addOpacity((r.line||{}).color||o||u||n,.5))}});var Ide=ye((Anr,Pde)=>{\"use strict\";var Cde=Mr(),_dt=ba(),xdt=Uc(),bdt=Sm(),$3=lu(),wdt=K3(),Tdt=Pg(),Adt=_de(),Sdt=$p(),Mdt=R0(),Lde=J3(),Edt=D0(),kdt=Ig(),Cdt=Mr().coercePattern;Pde.exports=function(t,r,n,i){function a(d,v){return Cde.coerce(t,r,xdt,d,v)}var o=wdt(t,r,i,a);if(o||(r.visible=!1),!!r.visible){Tdt(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zorder\");var s=Adt(t,r,i,a);i.scattermode===\"group\"&&r.orientation===void 0&&a(\"orientation\",\"v\");var l=!s&&o<bdt.PTS_LINESONLY?\"lines+markers\":\"lines\";a(\"text\"),a(\"hovertext\"),a(\"mode\",l),$3.hasMarkers(r)&&Sdt(t,r,n,i,a,{gradient:!0}),$3.hasLines(r)&&(Mdt(t,r,n,i,a,{backoff:!0}),Lde(t,r,a),a(\"connectgaps\"),a(\"line.simplify\")),$3.hasText(r)&&(a(\"texttemplate\"),Edt(t,r,i,a));var u=[];($3.hasMarkers(r)||$3.hasText(r))&&(a(\"cliponaxis\"),a(\"marker.maxdisplayed\"),u.push(\"points\")),a(\"fill\",s?s.fillDflt:\"none\"),r.fill!==\"none\"&&(kdt(t,r,n,a,{moduleHasFillgradient:!0}),$3.hasLines(r)||Lde(t,r,a),Cdt(a,\"fillpattern\",r.fillcolor,!1));var c=(r.line||{}).color,f=(r.marker||{}).color;(r.fill===\"tonext\"||r.fill===\"toself\")&&u.push(\"fills\"),a(\"hoveron\",u.join(\"+\")||\"points\"),r.hoveron!==\"fills\"&&a(\"hovertemplate\");var h=_dt.getComponentMethod(\"errorbars\",\"supplyDefaults\");h(t,r,c||f||n,{axis:\"y\"}),h(t,r,c||f||n,{axis:\"x\",inherit:\"y\"}),Cde.coerceSelectionMarkerOpacity(r,a)}}});var Hb=ye((Snr,Rde)=>{\"use strict\";var Ldt=Bb().getAxisGroup;Rde.exports=function(t,r,n,i,a){var o=r.orientation,s=r[{v:\"x\",h:\"y\"}[o]+\"axis\"],l=Ldt(n,s)+o,u=n._alignmentOpts||{},c=i(\"alignmentgroup\"),f=u[l];f||(f=u[l]={});var h=f[c];h?h.traces.push(r):h=f[c]={traces:[r],alignmentIndex:Object.keys(f).length,offsetGroups:{}};var d=i(\"offsetgroup\")||\"\",v=h.offsetGroups,x=v[d];r._offsetIndex=0,(a!==\"group\"||d)&&(x||(x=v[d]={offsetIndex:Object.keys(v).length}),r._offsetIndex=x.offsetIndex)}});var $N=ye((Mnr,Dde)=>{\"use strict\";var Pdt=Mr(),Idt=Hb(),Rdt=Uc();Dde.exports=function(t,r){var n,i,a,o=r.scattermode;function s(h){return Pdt.coerce(i._input,i,Rdt,h)}if(r.scattermode===\"group\")for(a=0;a<t.length;a++)i=t[a],i.type===\"scatter\"&&(n=i._input,Idt(n,i,r,s,o));for(a=0;a<t.length;a++){var l=t[a];if(l.type===\"scatter\"){var u=l.fill;if(!(u===\"none\"||u===\"toself\")&&(l.opacity=void 0,u===\"tonexty\"||u===\"tonextx\"))for(var c=a-1;c>=0;c--){var f=t[c];if(f.type===\"scatter\"&&f.xaxis===l.xaxis&&f.yaxis===l.yaxis){f.opacity=void 0;break}}}}}});var Fde=ye((Enr,zde)=>{\"use strict\";var Ddt=Mr(),zdt=V6();zde.exports=function(e,t){function r(i,a){return Ddt.coerce(e,t,zdt,i,a)}var n=t.barmode===\"group\";t.scattermode===\"group\"&&r(\"scattergap\",n?t.bargap:.2)}});var Rg=ye((knr,Ode)=>{\"use strict\";var Fdt=uo(),qde=Mr(),qdt=qde.dateTime2ms,WP=qde.incrementMonth,Odt=es(),Bdt=Odt.ONEAVGMONTH;Ode.exports=function(t,r,n,i){if(r.type!==\"date\")return{vals:i};var a=t[n+\"periodalignment\"];if(!a)return{vals:i};var o=t[n+\"period\"],s;if(Fdt(o)){if(o=+o,o<=0)return{vals:i}}else if(typeof o==\"string\"&&o.charAt(0)===\"M\"){var l=+o.substring(1);if(l>0&&Math.round(l)===l)s=l;else return{vals:i}}for(var u=r.calendar,c=a===\"start\",f=a===\"end\",h=t[n+\"period0\"],d=qdt(h,u)||0,v=[],x=[],b=[],p=i.length,E=0;E<p;E++){var k=i[E],A,L,_;if(s){for(A=Math.round((k-d)/(s*Bdt)),_=WP(d,s*A,u);_>k;)_=WP(_,-s,u);for(;_<=k;)_=WP(_,s,u);L=WP(_,-s,u)}else{for(A=Math.round((k-d)/o),_=d+A*o;_>k;)_-=o;for(;_<=k;)_+=o;L=_-o}v[E]=c?L:f?_:(L+_)/2,x[E]=L,b[E]=_}return{vals:v,starts:x,ends:b}}});var z0=ye((Cnr,Nde)=>{\"use strict\";var QN=Dv().hasColorscale,eU=zv(),Bde=lu();Nde.exports=function(t,r){Bde.hasLines(r)&&QN(r,\"line\")&&eU(t,r,{vals:r.line.color,containerStr:\"line\",cLetter:\"c\"}),Bde.hasMarkers(r)&&(QN(r,\"marker\")&&eU(t,r,{vals:r.marker.color,containerStr:\"marker\",cLetter:\"c\"}),QN(r,\"marker.line\")&&eU(t,r,{vals:r.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}))}});var km=ye((Lnr,Ude)=>{\"use strict\";var Df=Mr();Ude.exports=function(t,r){for(var n=0;n<t.length;n++)t[n].i=n;Df.mergeArray(r.text,t,\"tx\"),Df.mergeArray(r.texttemplate,t,\"txt\"),Df.mergeArray(r.hovertext,t,\"htx\"),Df.mergeArray(r.customdata,t,\"data\"),Df.mergeArray(r.textposition,t,\"tp\"),r.textfont&&(Df.mergeArrayCastPositive(r.textfont.size,t,\"ts\"),Df.mergeArray(r.textfont.color,t,\"tc\"),Df.mergeArray(r.textfont.family,t,\"tf\"),Df.mergeArray(r.textfont.weight,t,\"tw\"),Df.mergeArray(r.textfont.style,t,\"ty\"),Df.mergeArray(r.textfont.variant,t,\"tv\"),Df.mergeArray(r.textfont.textcase,t,\"tC\"),Df.mergeArray(r.textfont.lineposition,t,\"tE\"),Df.mergeArray(r.textfont.shadow,t,\"tS\"));var i=r.marker;if(i){Df.mergeArrayCastPositive(i.size,t,\"ms\"),Df.mergeArrayCastPositive(i.opacity,t,\"mo\"),Df.mergeArray(i.symbol,t,\"mx\"),Df.mergeArray(i.angle,t,\"ma\"),Df.mergeArray(i.standoff,t,\"mf\"),Df.mergeArray(i.color,t,\"mc\");var a=i.line;i.line&&(Df.mergeArray(a.color,t,\"mlc\"),Df.mergeArrayCastPositive(a.width,t,\"mlw\"));var o=i.gradient;o&&o.type!==\"none\"&&(Df.mergeArray(o.type,t,\"mgt\"),Df.mergeArray(o.color,t,\"mgc\"))}}});var F0=ye((Pnr,Hde)=>{\"use strict\";var Vde=Mr();Hde.exports=function(t,r){Vde.isArrayOrTypedArray(r.selectedpoints)&&Vde.tagSelected(t,r)}});var q0=ye((Inr,Kde)=>{\"use strict\";var Gde=uo(),rU=Mr(),GM=Qa(),jde=Rg(),tU=es().BADNUM,iU=lu(),Ndt=z0(),Udt=km(),Vdt=F0();function Hdt(e,t){var r=e._fullLayout,n=t._xA=GM.getFromId(e,t.xaxis||\"x\",\"x\"),i=t._yA=GM.getFromId(e,t.yaxis||\"y\",\"y\"),a=n.makeCalcdata(t,\"x\"),o=i.makeCalcdata(t,\"y\"),s=jde(t,n,\"x\",a),l=jde(t,i,\"y\",o),u=s.vals,c=l.vals,f=t._length,h=new Array(f),d=t.ids,v=nU(t,r,n,i),x=!1,b,p,E,k,A,L;Xde(r,t);var _=\"x\",C=\"y\",M;if(v)rU.pushUnique(v.traceIndices,t.index),b=v.orientation===\"v\",b?(C=\"s\",M=\"x\"):(_=\"s\",M=\"y\"),A=v.stackgaps===\"interpolate\";else{var g=Zde(t,f);Wde(e,t,n,i,u,c,g)}var P=!!t.xperiodalignment,T=!!t.yperiodalignment;for(p=0;p<f;p++){var F=h[p]={},q=Gde(u[p]),V=Gde(c[p]);q&&V?(F[_]=u[p],F[C]=c[p],P&&(F.orig_x=a[p],F.xEnd=s.ends[p],F.xStart=s.starts[p]),T&&(F.orig_y=o[p],F.yEnd=l.ends[p],F.yStart=l.starts[p])):v&&(b?q:V)?(F[M]=b?u[p]:c[p],F.gap=!0,A?(F.s=tU,x=!0):F.s=0):F[_]=F[C]=tU,d&&(F.id=String(d[p]))}if(Udt(h,t),Ndt(e,t),Vdt(h,t),v){for(p=0;p<h.length;)h[p][M]===tU?h.splice(p,1):p++;if(rU.sort(h,function(N,W){return N[M]-W[M]||N.i-W.i}),x){for(p=0;p<h.length-1&&h[p].gap;)p++;for(L=h[p].s,L||(L=h[p].s=0),E=0;E<p;E++)h[E].s=L;for(k=h.length-1;k>p&&h[k].gap;)k--;for(L=h[k].s,E=h.length-1;E>k;E--)h[E].s=L;for(;p<k;)if(p++,h[p].gap){for(E=p+1;h[E].gap;)E++;for(var H=h[p-1][M],X=h[p-1].s,G=(h[E].s-X)/(h[E][M]-H);p<E;)h[p].s=X+(h[p][M]-H)*G,p++}}}return h}function Wde(e,t,r,n,i,a,o){var s=t._length,l=e._fullLayout,u=r._id,c=n._id,f=l._firstScatter[Yde(t)]===t.uid,h=(nU(t,l,r,n)||{}).orientation,d=t.fill;r._minDtick=0,n._minDtick=0;var v={padded:!0},x={padded:!0};o&&(v.ppad=x.ppad=o);var b=s<2||i[0]!==i[s-1]||a[0]!==a[s-1];b&&(d===\"tozerox\"||d===\"tonextx\"&&(f||h===\"h\"))?v.tozero=!0:!(t.error_y||{}).visible&&(d===\"tonexty\"||d===\"tozeroy\"||!iU.hasMarkers(t)&&!iU.hasText(t))&&(v.padded=!1,v.ppad=0),b&&(d===\"tozeroy\"||d===\"tonexty\"&&(f||h===\"v\"))?x.tozero=!0:(d===\"tonextx\"||d===\"tozerox\")&&(x.padded=!1),u&&(t._extremes[u]=GM.findExtremes(r,i,v)),c&&(t._extremes[c]=GM.findExtremes(n,a,x))}function Zde(e,t){if(iU.hasMarkers(e)){var r=e.marker,n=1.6*(e.marker.sizeref||1),i;if(e.marker.sizemode===\"area\"?i=function(u){return Math.max(Math.sqrt((u||0)/n),3)}:i=function(u){return Math.max((u||0)/n,3)},rU.isArrayOrTypedArray(r.size)){var a={type:\"linear\"};GM.setConvert(a);for(var o=a.makeCalcdata(e.marker,\"size\"),s=new Array(t),l=0;l<t;l++)s[l]=i(o[l]);return s}else return i(r.size)}}function Xde(e,t){var r=Yde(t),n=e._firstScatter;n[r]||(n[r]=t.uid)}function Yde(e){var t=e.stackgroup;return e.xaxis+e.yaxis+e.type+(t?\"-\"+t:\"\")}function nU(e,t,r,n){var i=e.stackgroup;if(i){var a=t._scatterStackOpts[r._id+n._id][i],o=a.orientation===\"v\"?n:r;if(o.type===\"linear\"||o.type===\"log\")return a}}Kde.exports={calc:Hdt,calcMarkerSize:Zde,calcAxisExpansion:Wde,setFirstScatter:Xde,getStackOpts:nU}});var $de=ye((Rnr,Jde)=>{\"use strict\";Jde.exports=ZP;var Gdt=Mr().distinctVals;function ZP(e,t){this.traces=e,this.sepNegVal=t.sepNegVal,this.overlapNoMerge=t.overlapNoMerge;for(var r=1/0,n=t.posAxis._id.charAt(0),i=[],a=0;a<e.length;a++){for(var o=e[a],s=0;s<o.length;s++){var l=o[s],u=l.p;u===void 0&&(u=l[n]),u!==void 0&&i.push(u)}o[0]&&o[0].width1&&(r=Math.min(o[0].width1,r))}this.positions=i;var c=Gdt(i);this.distinctPositions=c.vals,c.vals.length===1&&r!==1/0?this.minDiff=r:this.minDiff=Math.min(c.minDiff,r);var f=(t.posAxis||{}).type;(f===\"category\"||f===\"multicategory\")&&(this.minDiff=1),this.binWidth=this.minDiff,this.bins={}}ZP.prototype.put=function(t,r,n){var i=this.getLabel(t,r,n),a=this.bins[i]||0;return this.bins[i]=a+n,a};ZP.prototype.get=function(t,r,n){var i=this.getLabel(t,r,n);return this.bins[i]||0};ZP.prototype.getLabel=function(t,r,n){var i=n<0&&this.sepNegVal?\"v\":\"^\",a=this.overlapNoMerge?t:Math.round(t/this.binWidth);return i+a+\"g\"+r}});var Gb=ye((Dnr,rve)=>{\"use strict\";var O0=uo(),g_=Mr().isArrayOrTypedArray,Q3=es().BADNUM,jdt=ba(),jM=Qa(),Wdt=Bb().getAxisGroup,XP=$de();function Zdt(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,a=e._fullData,o=e.calcdata,s=[],l=[],u=0;u<a.length;u++){var c=a[u];if(c.visible===!0&&jdt.traceIs(c,\"bar\")&&c.xaxis===r._id&&c.yaxis===n._id&&(c.orientation===\"h\"?s.push(o[u]):l.push(o[u]),c._computePh))for(var f=e.calcdata[u],h=0;h<f.length;h++)typeof f[h].ph0==\"function\"&&(f[h].ph0=f[h].ph0()),typeof f[h].ph1==\"function\"&&(f[h].ph1=f[h].ph1())}var d={xCat:r.type===\"category\"||r.type===\"multicategory\",yCat:n.type===\"category\"||n.type===\"multicategory\",mode:i.barmode,norm:i.barnorm,gap:i.bargap,groupgap:i.bargroupgap};oU(e,r,n,l,d),oU(e,n,r,s,d)}function oU(e,t,r,n,i){if(n.length){var a,o,s,l,u;switch(Kdt(r,n),i.mode){case\"overlay\":aU(e,t,r,n,i);break;case\"group\":for(a=[],o=[],s=0;s<n.length;s++)l=n[s],u=l[0].trace,u.offset===void 0?o.push(l):a.push(l);o.length&&Jdt(e,t,r,o,i),a.length&&aU(e,t,r,a,i);break;case\"stack\":case\"relative\":for(a=[],o=[],s=0;s<n.length;s++)l=n[s],u=l[0].trace,u.base===void 0?o.push(l):a.push(l);Ydt(o),o.length&&$dt(e,t,r,o,i),a.length&&aU(e,t,r,a,i);break}Xdt(n),nvt(n,t)}}function Xdt(e){var t,r,n,i,a,o,s;for(t=0;t<e.length;t++)r=e[t],n=r[0].trace,i=r[0].t,i.cornerradiusvalue===void 0&&(a=n.marker?n.marker.cornerradius:void 0,a!==void 0&&(o=O0(a)?+a:+a.slice(0,-1),s=O0(a)?\"px\":\"%\",i.cornerradiusvalue=o,i.cornerradiusform=s))}function Ydt(e){if(!(e.length<2)){var t,r,n,i,a,o,s;for(t=0;t<e.length&&(r=e[t],n=r[0].trace,a=n.marker?n.marker.cornerradius:void 0,a===void 0);t++);if(a!==void 0)for(o=O0(a)?+a:+a.slice(0,-1),s=O0(a)?\"px\":\"%\",t=0;t<e.length;t++)r=e[t],i=r[0].t,i.cornerradiusvalue=o,i.cornerradiusform=s}}function Kdt(e,t){var r,n;for(r=0;r<t.length;r++){var i=t[r],a=i[0].trace,o=a.type===\"funnel\"?a._base:a.base,s,l=a.orientation===\"h\"?a.xcalendar:a.ycalendar,u=e.type===\"category\"||e.type===\"multicategory\"?function(){return null}:e.d2c;if(g_(o)){for(n=0;n<Math.min(o.length,i.length);n++)s=u(o[n],0,l),O0(s)?(i[n].b=+s,i[n].hasB=1):i[n].b=0;for(;n<i.length;n++)i[n].b=0}else{s=u(o,0,l);var c=O0(s);for(s=c?s:0,n=0;n<i.length;n++)i[n].b=s,c&&(i[n].hasB=1)}}}function aU(e,t,r,n,i){for(var a=0;a<n.length;a++){var o=n[a],s=new XP([o],{posAxis:t,sepNegVal:!1,overlapNoMerge:!i.norm});sU(e,t,s,i),i.norm?(tve(s),lU(r,s,i)):eve(r,s)}}function Jdt(e,t,r,n,i){var a=new XP(n,{posAxis:t,sepNegVal:!1,overlapNoMerge:!i.norm});sU(e,t,a,i),rvt(a,t),i.norm?(tve(a),lU(r,a,i)):eve(r,a)}function $dt(e,t,r,n,i){var a=new XP(n,{posAxis:t,sepNegVal:i.mode===\"relative\",overlapNoMerge:!(i.norm||i.mode===\"stack\"||i.mode===\"relative\")});sU(e,t,a,i),tvt(r,a,i);for(var o=0;o<n.length;o++)for(var s=n[o],l=s[0].t.offsetindex,u=0;u<s.length;u++){var c=s[u];if(c.s!==Q3){var f=c.b+c.s===a.get(c.p,l,c.s);f&&(c._outmost=!0)}}i.norm&&lU(r,a,i)}function sU(e,t,r,n){var i=e._fullLayout,a=r.positions,o=r.distinctPositions,s=r.minDiff,l=r.traces,u=l.length,c=a.length!==o.length,f=s*(1-n.gap),h,d,v,x;if(t._id===\"angularaxis\")h=f,d=h*(1-(n.groupgap||0)),v=-d/2;else{var b=Wdt(i,t._id)+l[0][0].trace.orientation;x=i._alignmentOpts[b]||{}}for(var p=0;p<u;p++){var E=l[p],k=E[0].trace;if(t._id!==\"angularaxis\"){var A=x[k.alignmentgroup]||{},L=Object.keys(A.offsetGroups||{}).length;L?h=f/L:h=c?f/u:f,d=h*(1-(n.groupgap||0)),L?v=((2*k._offsetIndex+1-L)*h-d)/2:v=c?((2*p+1-u)*h-d)/2:-d/2}var _=E[0].t;_.barwidth=d,_.offsetindex=k._offsetIndex||0,_.poffset=v,_.bargroupwidth=f,_.bardelta=s}r.binWidth=l[0][0].t.barwidth/100,Qdt(r),evt(t,r),t._id===\"angularaxis\"?Qde(t,r):Qde(t,r,c)}function Qdt(e){var t=e.traces,r,n;for(r=0;r<t.length;r++){var i=t[r],a=i[0],o=a.trace,s=a.t,l=o._offset||o.offset,u=s.poffset,c;if(g_(l)){for(c=Array.prototype.slice.call(l,0,i.length),n=0;n<c.length;n++)O0(c[n])||(c[n]=u);for(n=c.length;n<i.length;n++)c.push(u);s.poffset=c}else l!==void 0&&(s.poffset=l);var f=o._width||o.width,h=s.barwidth;if(g_(f)){var d=Array.prototype.slice.call(f,0,i.length);for(n=0;n<d.length;n++)O0(d[n])||(d[n]=h);for(n=d.length;n<i.length;n++)d.push(h);if(s.barwidth=d,l===void 0){for(c=[],n=0;n<i.length;n++)c.push(u+(h-d[n])/2);s.poffset=c}}else f!==void 0&&(s.barwidth=f,l===void 0&&(s.poffset=u+(h-f)/2))}}function evt(e,t){for(var r=t.traces,n=eT(e),i=0;i<r.length;i++)for(var a=r[i],o=a[0].t,s=o.poffset,l=g_(s),u=o.barwidth,c=g_(u),f=0;f<a.length;f++){var h=a[f],d=h.w=c?u[f]:u;h.p===void 0&&(h.p=h[n],h[\"orig_\"+n]=h[n]);var v=(l?s[f]:s)+d/2;h[n]=h.p+v}}function Qde(e,t,r){var n=t.traces,i=t.minDiff,a=i/2;jM.minDtick(e,t.minDiff,t.distinctPositions[0],r);for(var o=0;o<n.length;o++){var s=n[o],l=s[0],u=l.trace,c=[],f,h,d,v;for(v=0;v<s.length;v++)f=s[v],h=f.p-a,d=f.p+a,c.push(h,d);if(u.width||u.offset){var x=l.t,b=x.poffset,p=x.barwidth,E=g_(b),k=g_(p);for(v=0;v<s.length;v++){f=s[v];var A=E?b[v]:b,L=k?p[v]:p;h=f.p+A,d=h+L,c.push(h,d)}}u._extremes[e._id]=jM.findExtremes(e,c,{padded:!1})}}function eve(e,t){for(var r=t.traces,n=eT(e),i=0;i<r.length;i++){for(var a=r[i],o=a[0].trace,s=o.type===\"scatter\",l=o.orientation===\"v\",u=[],c=!1,f=0;f<a.length;f++){var h=a[f],d=s?0:h.b,v=s?l?h.y:h.x:d+h.s;h[n]=v,u.push(v),h.hasB&&u.push(d),(!h.hasB||!h.b)&&(c=!0)}o._extremes[e._id]=jM.findExtremes(e,u,{tozero:c,padded:!0})}}function tvt(e,t,r){var n=eT(e),i=t.traces,a,o,s,l,u,c,f;for(l=0;l<i.length;l++)if(a=i[l],o=a[0].trace,o.type===\"funnel\")for(f=a[0].t.offsetindex,u=0;u<a.length;u++)c=a[u],c.s!==Q3&&t.put(c.p,f,-.5*c.s);for(l=0;l<i.length;l++){a=i[l],o=a[0].trace,s=o.type===\"funnel\",f=o.type===\"barpolar\"?0:a[0].t.offsetindex;var h=[];for(u=0;u<a.length;u++)if(c=a[u],c.s!==Q3){var d;s?d=c.s:d=c.s+c.b;var v=t.put(c.p,f,d),x=v+d;c.b=v,c[n]=x,r.norm||(h.push(x),c.hasB&&h.push(v))}r.norm||(o._extremes[e._id]=jM.findExtremes(e,h,{tozero:!0,padded:!0}))}}function tve(e){for(var t=e.traces,r=0;r<t.length;r++)for(var n=t[r],i=n[0].t.offsetindex,a=0;a<n.length;a++){var o=n[a];o.s!==Q3&&e.put(o.p,i,o.b+o.s)}}function rvt(e,t){for(var r=e.traces,n=0;n<r.length;n++){var i=r[n],a=i[0].trace,o=i[0].t.offsetindex;if(a.base===void 0)for(var s=new XP([i],{posAxis:t,sepNegVal:!0,overlapNoMerge:!0}),l=0;l<i.length;l++){var u=i[l];if(u.p!==Q3){var c=s.put(u.p,o,u.b+u.s);c&&(u.b=c)}}}}function lU(e,t,r){var n=t.traces,i=eT(e),a=r.norm===\"fraction\"?1:100,o=a/1e9,s=e.l2c(e.c2l(0)),l=r.mode===\"stack\"?a:s;function u(_){return O0(e.c2l(_))&&(_<s-o||_>l+o||!O0(s))}for(var c=0;c<n.length;c++){for(var f=n[c],h=f[0].t.offsetindex,d=f[0].trace,v=[],x=!1,b=!1,p=0;p<f.length;p++){var E=f[p];if(E.s!==Q3){var k=Math.abs(a/t.get(E.p,h,E.s));E.b*=k,E.s*=k;var A=E.b,L=A+E.s;E[i]=L,v.push(L),b=b||u(L),E.hasB&&(v.push(A),b=b||u(A)),(!E.hasB||!E.b)&&(x=!0)}}d._extremes[e._id]=jM.findExtremes(e,v,{tozero:x,padded:b})}}function ivt(e,t,r,n){for(var i=eT(n),a=0;a<e.length;a++)for(var o=e[a],s=0;s<o.length;s++){var l=o[s],u=l[i];l._sMin=t[u],l._sMax=r[u]}}function nvt(e,t){var r=eT(t),n={},i,a,o,s=1/0,l=-1/0;for(i=0;i<e.length;i++)for(o=e[i],a=0;a<o.length;a++){var u=o[a].p;O0(u)&&(s=Math.min(s,u),l=Math.max(l,u))}var c=1e4/(l-s),f=n.round=function(M){return String(Math.round(c*(M-s)))},h={},d={},v=e.some(function(M){var g=M[0].trace;return\"marker\"in g&&g.marker.cornerradius});for(i=0;i<e.length;i++){o=e[i],o[0].t.extents=n;var x=o[0].t.poffset,b=g_(x);for(a=0;a<o.length;a++){var p=o[a],E=p[r]-p.w/2;if(O0(E)){var k=p[r]+p.w/2,A=f(p.p);n[A]?n[A]=[Math.min(E,n[A][0]),Math.max(k,n[A][1])]:n[A]=[E,k]}if(p.p0=p.p+(b?x[a]:x),p.p1=p.p0+p.w,p.s0=p.b,p.s1=p.s0+p.s,v){var L=Math.min(p.s0,p.s1)||0,_=Math.max(p.s0,p.s1)||0,C=p[r];h[C]=C in h?Math.min(h[C],L):L,d[C]=C in d?Math.max(d[C],_):_}}}v&&ivt(e,h,d,t)}function eT(e){return e._id.charAt(0)}rve.exports={crossTraceCalc:Zdt,setGroupPositions:oU}});var ove=ye((znr,ave)=>{\"use strict\";var ive=q0(),nve=Gb().setGroupPositions;function avt(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,a=e._fullData,o=e.calcdata,s=[],l=[],u=0;u<a.length;u++){var c=a[u];c.visible===!0&&c.type===\"scatter\"&&c.xaxis===r._id&&c.yaxis===n._id&&(c.orientation===\"h\"?s.push(o[u]):c.orientation===\"v\"&&l.push(o[u]))}var f={mode:i.scattermode,gap:i.scattergap};nve(e,r,n,l,f),nve(e,n,r,s,f)}ave.exports=function(t,r){t._fullLayout.scattermode===\"group\"&&avt(t,r);var n=r.xaxis,i=r.yaxis,a=n._id+i._id,o=t._fullLayout._scatterStackOpts[a];if(o){var s=t.calcdata,l,u,c,f,h,d,v,x,b,p,E,k,A,L,_;for(var C in o){p=o[C];var M=p.traceIndices;if(M.length){for(E=p.stackgaps===\"interpolate\",k=p.groupnorm,p.orientation===\"v\"?(A=\"x\",L=\"y\"):(A=\"y\",L=\"x\"),_=new Array(M.length),l=0;l<_.length;l++)_[l]=!1;d=s[M[0]];var g=new Array(d.length);for(l=0;l<d.length;l++)g[l]=d[l][A];for(l=1;l<M.length;l++){for(h=s[M[l]],u=c=0;u<h.length;u++){for(v=h[u][A];v>g[c]&&c<g.length;c++)uU(h,u,g[c],l,_,E,A),u++;if(v!==g[c]){for(f=0;f<l;f++)uU(s[M[f]],c,v,f,_,E,A);g.splice(c,0,v)}c++}for(;c<g.length;c++)uU(h,u,g[c],l,_,E,A),u++}var P=g.length;for(u=0;u<d.length;u++){for(x=d[u][L]=d[u].s,l=1;l<M.length;l++)h=s[M[l]],h[0].trace._rawLength=h[0].trace._length,h[0].trace._length=P,x+=h[u].s,h[u][L]=x;if(k)for(b=(k===\"fraction\"?x:x/100)||1,l=0;l<M.length;l++){var T=s[M[l]][u];T[L]/=b,T.sNorm=T.s/b}}for(l=0;l<M.length;l++){h=s[M[l]];var F=h[0].trace,q=ive.calcMarkerSize(F,F._rawLength),V=Array.isArray(q);if(q&&_[l]||V){var H=q;for(q=new Array(P),u=0;u<P;u++)q[u]=h[u].gap?0:V?H[h[u].i]:H}var X=new Array(P),G=new Array(P);for(u=0;u<P;u++)X[u]=h[u].x,G[u]=h[u].y;ive.calcAxisExpansion(t,F,n,i,X,G,q),h[0].t.orientation=p.orientation}}}}};function uU(e,t,r,n,i,a,o){i[n]=!0;var s={i:null,gap:!0,s:0};if(s[o]=r,e.splice(t,0,s),t&&r===e[t-1][o]){var l=e[t-1];s.s=l.s,s.i=l.i,s.gap=l.gap}else a&&(s.s=ovt(e,t,r,o));t||(e[0].t=e[1].t,e[0].trace=e[1].trace,delete e[1].t,delete e[1].trace)}function ovt(e,t,r,n){var i=e[t-1],a=e[t+1];return a?i?i.s+(a.s-i.s)*(r-i[n])/(a[n]-i[n]):a.s:i.s}});var fU=ye((Fnr,hve)=>{\"use strict\";var svt=ao(),cve=es(),WM=cve.BADNUM,fve=cve.LOG_CLIP,sve=fve+.5,lve=fve-.5,YP=Mr(),lvt=YP.segmentsIntersect,uve=YP.constrain,cU=Sm();hve.exports=function(t,r){var n=r.trace||{},i=r.xaxis,a=r.yaxis,o=i.type===\"log\",s=a.type===\"log\",l=i._length,u=a._length,c=r.backoff,f=n.marker,h=r.connectGaps,d=r.baseTolerance,v=r.shape,x=v===\"linear\",b=n.fill&&n.fill!==\"none\",p=[],E=cU.minTolerance,k=t.length,A=new Array(k),L=0,_,C,M,g,P,T,F,q,V,H,X,G,N,W,re,ae;function _e(ut){var Ne=t[ut];if(!Ne)return!1;var Ye=r.linearized?i.l2p(Ne.x):i.c2p(Ne.x),Ve=r.linearized?a.l2p(Ne.y):a.c2p(Ne.y);if(Ye===WM){if(o&&(Ye=i.c2p(Ne.x,!0)),Ye===WM)return!1;s&&Ve===WM&&(Ye*=Math.abs(i._m*u*(i._m>0?sve:lve)/(a._m*l*(a._m>0?sve:lve)))),Ye*=1e3}if(Ve===WM){if(s&&(Ve=a.c2p(Ne.y,!0)),Ve===WM)return!1;Ve*=1e3}return[Ye,Ve]}function Me(ut,Ne,Ye,Ve){var Xe=Ye-ut,ht=Ve-Ne,Le=.5-ut,xe=.5-Ne,Se=Xe*Xe+ht*ht,lt=Xe*Le+ht*xe;if(lt>0&<<Se){var Gt=Le*ht-xe*Xe;if(Gt*Gt<Se)return!0}}var ke,ge;function ie(ut,Ne){var Ye=ut[0]/l,Ve=ut[1]/u,Xe=Math.max(0,-Ye,Ye-1,-Ve,Ve-1);return Xe&&ke!==void 0&&Me(Ye,Ve,ke,ge)&&(Xe=0),Xe&&Ne&&Me(Ye,Ve,Ne[0]/l,Ne[1]/u)&&(Xe=0),(1+cU.toleranceGrowth*Xe)*d}function Te(ut,Ne){var Ye=ut[0]-Ne[0],Ve=ut[1]-Ne[1];return Math.sqrt(Ye*Ye+Ve*Ve)}var Ee=cU.maxScreensAway,Ae=-l*Ee,ze=l*(1+Ee),Ce=-u*Ee,me=u*(1+Ee),Re=[[Ae,Ce,ze,Ce],[ze,Ce,ze,me],[ze,me,Ae,me],[Ae,me,Ae,Ce]],ce,Ge,nt,ct,qt,rt;function ot(ut,Ne){for(var Ye=[],Ve=0,Xe=0;Xe<4;Xe++){var ht=Re[Xe],Le=lvt(ut[0],ut[1],Ne[0],Ne[1],ht[0],ht[1],ht[2],ht[3]);Le&&(!Ve||Math.abs(Le.x-Ye[0][0])>1||Math.abs(Le.y-Ye[0][1])>1)&&(Le=[Le.x,Le.y],Ve&&Te(Le,ut)<Te(Ye[0],ut)?Ye.unshift(Le):Ye.push(Le),Ve++)}return Ye}function Rt(ut){if(ut[0]<Ae||ut[0]>ze||ut[1]<Ce||ut[1]>me)return[uve(ut[0],Ae,ze),uve(ut[1],Ce,me)]}function kt(ut,Ne){if(ut[0]===Ne[0]&&(ut[0]===Ae||ut[0]===ze)||ut[1]===Ne[1]&&(ut[1]===Ce||ut[1]===me))return!0}function Ct(ut,Ne){var Ye=[],Ve=Rt(ut),Xe=Rt(Ne);return Ve&&Xe&&kt(Ve,Xe)||(Ve&&Ye.push(Ve),Xe&&Ye.push(Xe)),Ye}function Yt(ut,Ne,Ye){return function(Ve,Xe){var ht=Rt(Ve),Le=Rt(Xe),xe=[];if(ht&&Le&&kt(ht,Le))return xe;ht&&xe.push(ht),Le&&xe.push(Le);var Se=2*YP.constrain((Ve[ut]+Xe[ut])/2,Ne,Ye)-((ht||Ve)[ut]+(Le||Xe)[ut]);if(Se){var lt;ht&&Le?lt=Se>0==ht[ut]>Le[ut]?ht:Le:lt=ht||Le,lt[ut]+=Se}return xe}}var xr;v===\"linear\"||v===\"spline\"?xr=ot:v===\"hv\"||v===\"vh\"?xr=Ct:v===\"hvh\"?xr=Yt(0,Ae,ze):v===\"vhv\"&&(xr=Yt(1,Ce,me));function er(ut,Ne){var Ye=Ne[0]-ut[0],Ve=(Ne[1]-ut[1])/Ye,Xe=(ut[1]*Ne[0]-Ne[1]*ut[0])/Ye;return Xe>0?[Ve>0?Ae:ze,me]:[Ve>0?ze:Ae,Ce]}function Ke(ut){var Ne=ut[0],Ye=ut[1],Ve=Ne===A[L-1][0],Xe=Ye===A[L-1][1];if(!(Ve&&Xe))if(L>1){var ht=Ne===A[L-2][0],Le=Ye===A[L-2][1];Ve&&(Ne===Ae||Ne===ze)&&ht?Le?L--:A[L-1]=ut:Xe&&(Ye===Ce||Ye===me)&&Le?ht?L--:A[L-1]=ut:A[L++]=ut}else A[L++]=ut}function xt(ut){A[L-1][0]!==ut[0]&&A[L-1][1]!==ut[1]&&Ke([nt,ct]),Ke(ut),qt=null,nt=ct=0}var bt=YP.isArrayOrTypedArray(f);function Lt(ut){if(ut&&c&&(ut.i=_,ut.d=t,ut.trace=n,ut.marker=bt?f[ut.i]:f,ut.backoff=c),ke=ut[0]/l,ge=ut[1]/u,ce=ut[0]<Ae?Ae:ut[0]>ze?ze:0,Ge=ut[1]<Ce?Ce:ut[1]>me?me:0,ce||Ge){if(!L)A[L++]=[ce||ut[0],Ge||ut[1]];else if(qt){var Ne=xr(qt,ut);Ne.length>1&&(xt(Ne[0]),A[L++]=Ne[1])}else rt=xr(A[L-1],ut)[0],A[L++]=rt;var Ye=A[L-1];ce&&Ge&&(Ye[0]!==ce||Ye[1]!==Ge)?(qt&&(nt!==ce&&ct!==Ge?Ke(nt&&ct?er(qt,ut):[nt||ce,ct||Ge]):nt&&ct&&Ke([nt,ct])),Ke([ce,Ge])):nt-ce&&ct-Ge&&Ke([ce||nt,Ge||ct]),qt=ut,nt=ce,ct=Ge}else qt&&xt(xr(qt,ut)[0]),A[L++]=ut}for(_=0;_<k;_++)if(C=_e(_),!!C){for(L=0,qt=null,Lt(C),_++;_<k;_++){if(g=_e(_),!g){if(h)continue;break}if(!x||!r.simplify){Lt(g);continue}var St=_e(_+1);if(H=Te(g,C),!(!(b&&(L===0||L===k-1))&&H<ie(g,St)*E)){for(q=[(g[0]-C[0])/H,(g[1]-C[1])/H],P=C,X=H,G=W=re=0,F=!1,M=g,_++;_<t.length;_++){if(T=St,St=_e(_+1),!T){if(h)continue;break}if(V=[T[0]-C[0],T[1]-C[1]],ae=V[0]*q[1]-V[1]*q[0],W=Math.min(W,ae),re=Math.max(re,ae),re-W>ie(T,St))break;M=T,N=V[0]*q[0]+V[1]*q[1],N>X?(X=N,g=T,F=!1):N<G&&(G=N,P=T,F=!0)}if(F?(Lt(g),M!==P&&Lt(P)):(P!==C&&Lt(P),M!==g&&Lt(g)),Lt(M),_>=t.length||!T)break;Lt(T),C=T}}qt&&Ke([nt||qt[0],ct||qt[1]]),p.push(A.slice(0,L))}var Et=v.slice(v.length-1);if(c&&Et!==\"h\"&&Et!==\"v\"){for(var dt=!1,Ht=-1,$t=[],fr=0;fr<p.length;fr++)for(var _r=0;_r<p[fr].length-1;_r++){var Br=p[fr][_r],Or=p[fr][_r+1],Nr=svt.applyBackoff(Or,Br);(Nr[0]!==Or[0]||Nr[1]!==Or[1])&&(dt=!0),$t[Ht+1]||(Ht++,$t[Ht]=[Br,[Nr[0],Nr[1]]])}return dt?$t:p}return p}});var hU=ye((qnr,vve)=>{\"use strict\";var dve={tonextx:1,tonexty:1,tonext:1};vve.exports=function(t,r,n){var i,a,o,s,l,u={},c=!1,f=-1,h=0,d=-1;for(a=0;a<n.length;a++)i=n[a][0].trace,o=i.stackgroup||\"\",o?o in u?l=u[o]:(l=u[o]=h,h++):i.fill in dve&&d>=0?l=d:(l=d=h,h++),l<f&&(c=!0),i._groupIndex=f=l;var v=n.slice();c&&v.sort(function(b,p){var E=b[0].trace,k=p[0].trace;return E._groupIndex-k._groupIndex||E.index-k.index});var x={};for(a=0;a<v.length;a++)i=v[a][0].trace,o=i.stackgroup||\"\",i.visible===!0?(i._nexttrace=null,i.fill in dve&&(s=x[o],i._prevtrace=s||null,s&&(s._nexttrace=i)),i._ownfill=i.fill&&(i.fill.substr(0,6)===\"tozero\"||i.fill===\"toself\"||i.fill.substr(0,2)===\"to\"&&!i._prevtrace),x[o]=i):i._prevtrace=i._nexttrace=i._ownfill=null;return v}});var iT=ye((Onr,mve)=>{\"use strict\";var Dg=xa(),uvt=ba(),ZM=Mr(),tT=ZM.ensureSingle,gve=ZM.identity,zf=ao(),rT=lu(),cvt=fU(),fvt=hU(),KP=wM().tester;mve.exports=function(t,r,n,i,a,o){var s,l,u=!a,c=!!a&&a.duration>0,f=fvt(t,r,n);if(s=i.selectAll(\"g.trace\").data(f,function(d){return d[0].trace.uid}),s.enter().append(\"g\").attr(\"class\",function(d){return\"trace scatter trace\"+d[0].trace.uid}).style(\"stroke-miterlimit\",2),s.order(),hvt(t,s,r),c){o&&(l=o());var h=Dg.transition().duration(a.duration).ease(a.easing).each(\"end\",function(){l&&l()}).each(\"interrupt\",function(){l&&l()});h.each(function(){i.selectAll(\"g.trace\").each(function(d,v){pve(t,v,r,d,f,this,a)})})}else s.each(function(d,v){pve(t,v,r,d,f,this,a)});u&&s.exit().remove(),i.selectAll(\"path:not([d])\").remove()};function hvt(e,t,r){t.each(function(n){var i=tT(Dg.select(this),\"g\",\"fills\");zf.setClipUrl(i,r.layerClipId,e);var a=n[0].trace,o=[];a._ownfill&&o.push(\"_ownFill\"),a._nexttrace&&o.push(\"_nextFill\");var s=i.selectAll(\"g\").data(o,gve);s.enter().append(\"g\"),s.exit().each(function(l){a[l]=null}).remove(),s.order().each(function(l){a[l]=tT(Dg.select(this),\"path\",\"js-fill\")})})}function pve(e,t,r,n,i,a,o){var s=e._context.staticPlot,l;dvt(e,t,r,n,i);var u=!!o&&o.duration>0;function c(Yt){return u?Yt.transition():Yt}var f=r.xaxis,h=r.yaxis,d=n[0].trace,v=d.line,x=Dg.select(a),b=tT(x,\"g\",\"errorbars\"),p=tT(x,\"g\",\"lines\"),E=tT(x,\"g\",\"points\"),k=tT(x,\"g\",\"text\");if(uvt.getComponentMethod(\"errorbars\",\"plot\")(e,b,r,o),d.visible!==!0)return;c(x).style(\"opacity\",d.opacity);var A,L,_=d.fill.charAt(d.fill.length-1);_!==\"x\"&&_!==\"y\"&&(_=\"\");var C,M;_===\"y\"?(C=1,M=h.c2p(0,!0)):_===\"x\"&&(C=0,M=f.c2p(0,!0)),n[0][r.isRangePlot?\"nodeRangePlot3\":\"node3\"]=x;var g=\"\",P=[],T=d._prevtrace,F=null,q=null;T&&(g=T._prevRevpath||\"\",L=T._nextFill,P=T._ownPolygons,F=T._fillsegments,q=T._fillElement);var V,H,X=\"\",G=\"\",N,W,re,ae,_e,Me,ke=[];d._polygons=[];var ge=[],ie=[],Te=ZM.noop;if(A=d._ownFill,rT.hasLines(d)||d.fill!==\"none\"){L&&L.datum(n),[\"hv\",\"vh\",\"hvh\",\"vhv\"].indexOf(v.shape)!==-1?(N=zf.steps(v.shape),W=zf.steps(v.shape.split(\"\").reverse().join(\"\"))):v.shape===\"spline\"?N=W=function(Yt){var xr=Yt[Yt.length-1];return Yt.length>1&&Yt[0][0]===xr[0]&&Yt[0][1]===xr[1]?zf.smoothclosed(Yt.slice(1),v.smoothing):zf.smoothopen(Yt,v.smoothing)}:N=W=function(Yt){return\"M\"+Yt.join(\"L\")},re=function(Yt){return W(Yt.reverse())},ie=cvt(n,{xaxis:f,yaxis:h,trace:d,connectGaps:d.connectgaps,baseTolerance:Math.max(v.width||1,3)/4,shape:v.shape,backoff:v.backoff,simplify:v.simplify,fill:d.fill}),ge=new Array(ie.length);var Ee=0;for(l=0;l<ie.length;l++){var Ae,ze=ie[l];!Ae||!_?(Ae=ze.slice(),ge[Ee]=Ae,Ee++):Ae.push.apply(Ae,ze)}d._fillElement=null,d._fillExclusionElement=q,d._fillsegments=ge.slice(0,Ee),ge=d._fillsegments,ie.length&&(ae=ie[0][0].slice(),_e=ie[ie.length-1],Me=_e[_e.length-1].slice()),Te=function(Yt){return function(xr){if(V=N(xr),H=re(xr),X?_?(X+=\"L\"+V.substr(1),G=H+(\"L\"+G.substr(1))):(X+=\"Z\"+V,G=H+\"Z\"+G):(X=V,G=H),rT.hasLines(d)){var er=Dg.select(this);if(er.datum(n),Yt)c(er.style(\"opacity\",0).attr(\"d\",V).call(zf.lineGroupStyle)).style(\"opacity\",1);else{var Ke=c(er);Ke.attr(\"d\",V),zf.singleLineStyle(n,Ke)}}}}}var Ce=p.selectAll(\".js-line\").data(ie);c(Ce.exit()).style(\"opacity\",0).remove(),Ce.each(Te(!1)),Ce.enter().append(\"path\").classed(\"js-line\",!0).style(\"vector-effect\",s?\"none\":\"non-scaling-stroke\").call(zf.lineGroupStyle).each(Te(!0)),zf.setClipUrl(Ce,r.layerClipId,e);function me(Yt){c(Yt).attr(\"d\",\"M0,0Z\")}var Re=function(){var Yt=new Array(ge.length);for(l=0;l<ge.length;l++)Yt[l]=KP(ge[l]);return Yt},ce=function(Yt){var xr,er;if(!Yt||Yt.length===0)for(xr=new Array(ge.length),er=0;er<ge.length;er++){var Ke=ge[er][0].slice(),xt=ge[er][ge[er].length-1].slice();Ke[C]=xt[C]=M;var bt=[xt,Ke],Lt=bt.concat(ge[er]);xr[er]=KP(Lt)}else{for(xr=new Array(Yt.length-1+ge.length),er=0;er<Yt.length-1;er++)xr[er]=KP(Yt[er]);var St=Yt[Yt.length-1].slice();for(St.reverse(),er=0;er<ge.length;er++)xr[Yt.length-1+er]=KP(ge[er].concat(St))}return xr};ie.length?(A?(A.datum(n),ae&&Me&&(_?(ae[C]=Me[C]=M,c(A).attr(\"d\",\"M\"+Me+\"L\"+ae+\"L\"+X.substr(1)).call(zf.singleFillStyle,e),ke=ce(null)):(c(A).attr(\"d\",X+\"Z\").call(zf.singleFillStyle,e),ke=Re())),d._polygons=ke,d._fillElement=A):L&&(d.fill.substr(0,6)===\"tonext\"&&X&&g?(d.fill===\"tonext\"?(c(L).attr(\"d\",X+\"Z\"+g+\"Z\").call(zf.singleFillStyle,e),ke=Re(),d._polygons=ke.concat(P)):(c(L).attr(\"d\",X+\"L\"+g.substr(1)+\"Z\").call(zf.singleFillStyle,e),ke=ce(F),d._polygons=ke),d._fillElement=L):me(L)),d._prevRevpath=G):(A?me(A):L&&me(L),d._prevRevpath=null),d._ownPolygons=ke;function Ge(Yt){return Yt.filter(function(xr){return!xr.gap&&xr.vis})}function nt(Yt){return Yt.filter(function(xr){return xr.vis})}function ct(Yt){return Yt.filter(function(xr){return!xr.gap})}function qt(Yt){return Yt.id}function rt(Yt){if(Yt.ids)return qt}function ot(){return!1}function Rt(Yt,xr,er){var Ke,xt,bt,Lt=er[0].trace,St=rT.hasMarkers(Lt),Et=rT.hasText(Lt),dt=rt(Lt),Ht=ot,$t=ot;if(St||Et){var fr=gve,_r=Lt.stackgroup,Br=_r&&e._fullLayout._scatterStackOpts[f._id+h._id][_r].stackgaps===\"infer zero\";Lt.marker.maxdisplayed||Lt._needsCull?fr=Br?nt:Ge:_r&&!Br&&(fr=ct),St&&(Ht=fr),Et&&($t=fr)}xt=Yt.selectAll(\"path.point\"),Ke=xt.data(Ht,dt);var Or=Ke.enter().append(\"path\").classed(\"point\",!0);u&&Or.call(zf.pointStyle,Lt,e).call(zf.translatePoints,f,h).style(\"opacity\",0).transition().style(\"opacity\",1),Ke.order();var Nr;St&&(Nr=zf.makePointStyleFns(Lt)),Ke.each(function(ut){var Ne=Dg.select(this),Ye=c(Ne);bt=zf.translatePoint(ut,Ye,f,h),bt?(zf.singlePointStyle(ut,Ye,Lt,Nr,e),r.layerClipId&&zf.hideOutsideRangePoint(ut,Ye,f,h,Lt.xcalendar,Lt.ycalendar),Lt.customdata&&Ne.classed(\"plotly-customdata\",ut.data!==null&&ut.data!==void 0)):Ye.remove()}),u?Ke.exit().transition().style(\"opacity\",0).remove():Ke.exit().remove(),xt=xr.selectAll(\"g\"),Ke=xt.data($t,dt),Ke.enter().append(\"g\").classed(\"textpoint\",!0).append(\"text\"),Ke.order(),Ke.each(function(ut){var Ne=Dg.select(this),Ye=c(Ne.select(\"text\"));bt=zf.translatePoint(ut,Ye,f,h),bt?r.layerClipId&&zf.hideOutsideRangePoint(ut,Ne,f,h,Lt.xcalendar,Lt.ycalendar):Ne.remove()}),Ke.selectAll(\"text\").call(zf.textPointStyle,Lt,e).each(function(ut){var Ne=f.c2p(ut.x),Ye=h.c2p(ut.y);Dg.select(this).selectAll(\"tspan.line\").each(function(){c(Dg.select(this)).attr({x:Ne,y:Ye})})}),Ke.exit().remove()}E.datum(n),k.datum(n),Rt(E,k,n);var kt=d.cliponaxis===!1,Ct=kt?null:r.layerClipId;zf.setClipUrl(E,Ct,e),zf.setClipUrl(k,Ct,e)}function dvt(e,t,r,n,i){var a=r.xaxis,o=r.yaxis,s=Dg.extent(ZM.simpleMap(a.range,a.r2c)),l=Dg.extent(ZM.simpleMap(o.range,o.r2c)),u=n[0].trace;if(rT.hasMarkers(u)){var c=u.marker.maxdisplayed;if(c!==0){var f=n.filter(function(x){return x.x>=s[0]&&x.x<=s[1]&&x.y>=l[0]&&x.y<=l[1]}),h=Math.ceil(f.length/c),d=0;i.forEach(function(x,b){var p=x[0].trace;rT.hasMarkers(p)&&p.marker.maxdisplayed>0&&b<t&&d++});var v=Math.round(d*h/3+Math.floor(d/3)*h/7.1);n.forEach(function(x){delete x.vis}),f.forEach(function(x,b){Math.round((b+v)%h)===0&&(x.vis=!0)})}}}});var Kd=ye((Bnr,yve)=>{\"use strict\";yve.exports={container:\"marker\",min:\"cmin\",max:\"cmax\"}});var $P=ye((Nnr,_ve)=>{\"use strict\";var JP=Qa();_ve.exports=function(t,r,n){var i={},a={_fullLayout:n},o=JP.getFromTrace(a,r,\"x\"),s=JP.getFromTrace(a,r,\"y\"),l=t.orig_x;l===void 0&&(l=t.x);var u=t.orig_y;return u===void 0&&(u=t.y),i.xLabel=JP.tickText(o,o.c2l(l),!0).text,i.yLabel=JP.tickText(s,s.c2l(u),!0).text,i}});var op=ye((Unr,xve)=>{\"use strict\";var dU=xa(),nT=ao(),vvt=ba();function pvt(e){var t=dU.select(e).selectAll(\"g.trace.scatter\");t.style(\"opacity\",function(r){return r[0].trace.opacity}),t.selectAll(\"g.points\").each(function(r){var n=dU.select(this),i=r.trace||r[0].trace;vU(n,i,e)}),t.selectAll(\"g.text\").each(function(r){var n=dU.select(this),i=r.trace||r[0].trace;pU(n,i,e)}),t.selectAll(\"g.trace path.js-line\").call(nT.lineGroupStyle),t.selectAll(\"g.trace path.js-fill\").call(nT.fillGroupStyle,e,!1),vvt.getComponentMethod(\"errorbars\",\"style\")(t)}function vU(e,t,r){nT.pointStyle(e.selectAll(\"path.point\"),t,r)}function pU(e,t,r){nT.textPointStyle(e.selectAll(\"text\"),t,r)}function gvt(e,t,r){var n=t[0].trace;n.selectedpoints?(nT.selectedPointStyle(r.selectAll(\"path.point\"),n),nT.selectedTextStyle(r.selectAll(\"text\"),n)):(vU(r,n,e),pU(r,n,e))}xve.exports={style:pvt,stylePoints:vU,styleText:pU,styleOnSelect:gvt}});var oT=ye((Vnr,bve)=>{\"use strict\";var aT=va(),mvt=lu();bve.exports=function(t,r){var n,i;if(t.mode===\"lines\")return n=t.line.color,n&&aT.opacity(n)?n:t.fillcolor;if(t.mode===\"none\")return t.fill?t.fillcolor:\"\";var a=r.mcc||(t.marker||{}).color,o=r.mlcc||((t.marker||{}).line||{}).color;return i=a&&aT.opacity(a)?a:o&&aT.opacity(o)&&(r.mlw||((t.marker||{}).line||{}).width)?o:\"\",i?aT.opacity(i)<.3?aT.addOpacity(i,.3):i:(n=(t.line||{}).color,n&&aT.opacity(n)&&mvt.hasLines(t)&&t.line.width?n:t.fillcolor)}});var sT=ye((Hnr,Tve)=>{\"use strict\";var QP=Mr(),wve=Nc(),yvt=ba(),_vt=oT(),gU=va(),xvt=QP.fillText;Tve.exports=function(t,r,n,i){var a=t.cd,o=a[0].trace,s=t.xa,l=t.ya,u=s.c2p(r),c=l.c2p(n),f=[u,c],h=o.hoveron||\"\",d=o.mode.indexOf(\"markers\")!==-1?3:.5,v=!!o.xperiodalignment,x=!!o.yperiodalignment;if(h.indexOf(\"points\")!==-1){var b=function(G){if(v){var N=s.c2p(G.xStart),W=s.c2p(G.xEnd);return u>=Math.min(N,W)&&u<=Math.max(N,W)?0:1/0}var re=Math.max(3,G.mrc||0),ae=1-1/re,_e=Math.abs(s.c2p(G.x)-u);return _e<re?ae*_e/re:_e-re+ae},p=function(G){if(x){var N=l.c2p(G.yStart),W=l.c2p(G.yEnd);return c>=Math.min(N,W)&&c<=Math.max(N,W)?0:1/0}var re=Math.max(3,G.mrc||0),ae=1-1/re,_e=Math.abs(l.c2p(G.y)-c);return _e<re?ae*_e/re:_e-re+ae},E=function(G){var N=Math.max(d,G.mrc||0),W=s.c2p(G.x)-u,re=l.c2p(G.y)-c;return Math.max(Math.sqrt(W*W+re*re)-N,1-d/N)},k=wve.getDistanceFunction(i,b,p,E);if(wve.getClosest(a,k,t),t.index!==!1){var A=a[t.index],L=s.c2p(A.x,!0),_=l.c2p(A.y,!0),C=A.mrc||1;t.index=A.i;var M=a[0].t.orientation,g=M&&(A.sNorm||A.s),P=M===\"h\"?g:A.orig_x!==void 0?A.orig_x:A.x,T=M===\"v\"?g:A.orig_y!==void 0?A.orig_y:A.y;return QP.extendFlat(t,{color:_vt(o,A),x0:L-C,x1:L+C,xLabelVal:P,y0:_-C,y1:_+C,yLabelVal:T,spikeDistance:E(A),hovertemplate:o.hovertemplate}),xvt(A,o,t),yvt.getComponentMethod(\"errorbars\",\"hoverInfo\")(A,o,t),[t]}}function F(G){if(!G)return!1;var N=G.node();try{var W=new DOMPoint(f[0],f[1]);return N.isPointInFill(W)}catch(ae){var re=N.ownerSVGElement.createSVGPoint();return re.x=f[0],re.y=f[1],N.isPointInFill(re)}}function q(G){var N,W=[],re=1/0,ae=-1/0,_e=1/0,Me=-1/0,ke;for(N=0;N<G.length;N++){var ge=G[N];ge.contains(f)&&(W.push(ge),_e=Math.min(_e,ge.ymin),Me=Math.max(Me,ge.ymax))}if(W.length===0)return null;_e=Math.max(_e,0),Me=Math.min(Me,l._length),ke=(_e+Me)/2;var ie,Te,Ee,Ae,ze,Ce,me;for(N=0;N<W.length;N++)for(Te=W[N].pts,ie=1;ie<Te.length;ie++)Ce=Te[ie-1][1],me=Te[ie][1],Ce>ke!=me>=ke&&(Ae=Te[ie-1][0],ze=Te[ie][0],me-Ce&&(Ee=Ae+(ze-Ae)*(ke-Ce)/(me-Ce),re=Math.min(re,Ee),ae=Math.max(ae,Ee)));return re=Math.max(re,0),ae=Math.min(ae,s._length),{x0:re,x1:ae,y0:ke,y1:ke}}if(h.indexOf(\"fills\")!==-1&&o._fillElement){var V=F(o._fillElement)&&!F(o._fillExclusionElement);if(V){var H=q(o._polygons);H===null&&(H={x0:f[0],x1:f[0],y0:f[1],y1:f[1]});var X=gU.defaultLine;return gU.opacity(o.fillcolor)?X=o.fillcolor:gU.opacity((o.line||{}).color)&&(X=o.line.color),QP.extendFlat(t,{distance:t.maxHoverDistance,x0:H.x0,x1:H.x1,y0:H.y0,y1:H.y1,color:X,hovertemplate:!1}),delete t.index,o.text&&!QP.isArrayOrTypedArray(o.text)?t.text=String(o.text):t.text=o.name,[t]}}}});var lT=ye((Gnr,Sve)=>{\"use strict\";var Ave=lu();Sve.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l,u,c,f,h=!Ave.hasMarkers(s)&&!Ave.hasText(s);if(h)return[];if(r===!1)for(l=0;l<n.length;l++)n[l].selected=0;else for(l=0;l<n.length;l++)u=n[l],c=i.c2p(u.x),f=a.c2p(u.y),u.i!==null&&r.contains([c,f],!1,l,t)?(o.push({pointNumber:u.i,x:i.c2d(u.x),y:a.c2d(u.y)}),u.selected=1):u.selected=0;return o}});var Eve=ye((jnr,Mve)=>{\"use strict\";Mve.exports={xaxis:{valType:\"subplotid\",dflt:\"x\",editType:\"calc+clearAxisTypes\"},yaxis:{valType:\"subplotid\",dflt:\"y\",editType:\"calc+clearAxisTypes\"}}});var yU=ye((Wnr,Lve)=>{\"use strict\";var XM=ba().traceIs,mU=L3();Lve.exports=function(t,r,n,i){n(\"autotypenumbers\",i.autotypenumbersDflt);var a=n(\"type\",(i.splomStash||{}).type);a===\"-\"&&(bvt(r,i.data),r.type===\"-\"?r.type=\"linear\":t.type=r.type)};function bvt(e,t){if(e.type===\"-\"){var r=e._id,n=r.charAt(0),i;r.indexOf(\"scene\")!==-1&&(r=n);var a=wvt(t,r,n);if(a){if(a.type===\"histogram\"&&n==={v:\"y\",h:\"x\"}[a.orientation||\"v\"]){e.type=\"linear\";return}var o=n+\"calendar\",s=a[o],l={noMultiCategory:!XM(a,\"cartesian\")||XM(a,\"noMultiCategory\")};if(a.type===\"box\"&&a._hasPreCompStats&&n==={h:\"x\",v:\"y\"}[a.orientation||\"v\"]&&(l.noMultiCategory=!0),l.autotypenumbers=e.autotypenumbers,Cve(a,n)){var u=kve(a),c=[];for(i=0;i<t.length;i++){var f=t[i];!XM(f,\"box-violin\")||(f[n+\"axis\"]||n)!==r||(f[u]!==void 0?c.push(f[u][0]):f.name!==void 0?c.push(f.name):c.push(\"text\"),f[o]!==s&&(s=void 0))}e.type=mU(c,s,l)}else if(a.type===\"splom\"){var h=a.dimensions,d=h[a._axesDim[r]];d.visible&&(e.type=mU(d.values,s,l))}else e.type=mU(a[n]||[a[n+\"0\"]],s,l)}}}function wvt(e,t,r){for(var n=0;n<e.length;n++){var i=e[n];if(i.type===\"splom\"&&i._length>0&&(i[\"_\"+r+\"axes\"]||{})[t])return i;if((i[r+\"axis\"]||r)===t){if(Cve(i,r))return i;if((i[r]||[]).length||i[r+\"0\"])return i}}}function kve(e){return{v:\"x\",h:\"y\"}[e.orientation||\"v\"]}function Cve(e,t){var r=kve(e),n=XM(e,\"box-violin\"),i=XM(e._fullInput||{},\"candlestick\");return n&&!i&&t===r&&e[r]===void 0&&e[r+\"0\"]===void 0}});var eI=ye((Znr,Pve)=>{\"use strict\";var Tvt=vv().isTypedArraySpec;function Avt(e,t){var r=t.dataAttr||e._id.charAt(0),n={},i,a,o;if(t.axData)i=t.axData;else for(i=[],a=0;a<t.data.length;a++){var s=t.data[a];s[r+\"axis\"]===e._id&&i.push(s)}for(a=0;a<i.length;a++){var l=i[a][r];for(o=0;o<l.length;o++){var u=l[o];u!=null&&(n[u]=1)}}return Object.keys(n)}Pve.exports=function(t,r,n,i){if(r.type===\"category\"){var a=t.categoryarray,o=Array.isArray(a)&&a.length>0||Tvt(a),s;o&&(s=\"array\");var l=n(\"categoryorder\",s),u;l===\"array\"&&(u=n(\"categoryarray\")),!o&&l===\"array\"&&(l=r.categoryorder=\"trace\"),l===\"trace\"?r._initialCategories=[]:l===\"array\"?r._initialCategories=u.slice():(u=Avt(r,i).sort(),l===\"category ascending\"?r._initialCategories=u:l===\"category descending\"&&(r._initialCategories=u.reverse()))}}});var YM=ye((Xnr,Rve)=>{\"use strict\";var Ive=id().mix,Svt=dh(),Mvt=Mr();Rve.exports=function(t,r,n,i){i=i||{};var a=i.dfltColor;function o(C,M){return Mvt.coerce2(t,r,i.attributes,C,M)}var s=o(\"linecolor\",a),l=o(\"linewidth\"),u=n(\"showline\",i.showLine||!!s||!!l);u||(delete r.linecolor,delete r.linewidth);var c=Ive(a,i.bgColor,i.blend||Svt.lightFraction).toRgbString(),f=o(\"gridcolor\",c),h=o(\"gridwidth\"),d=o(\"griddash\"),v=n(\"showgrid\",i.showGrid||!!f||!!h||!!d);if(v||(delete r.gridcolor,delete r.gridwidth,delete r.griddash),i.hasMinor){var x=Ive(r.gridcolor,i.bgColor,67).toRgbString(),b=o(\"minor.gridcolor\",x),p=o(\"minor.gridwidth\",r.gridwidth||1),E=o(\"minor.griddash\",r.griddash||\"solid\"),k=n(\"minor.showgrid\",!!b||!!p||!!E);k||(delete r.minor.gridcolor,delete r.minor.gridwidth,delete r.minor.griddash)}if(!i.noZeroLine){var A=o(\"zerolinecolor\",a),L=o(\"zerolinewidth\"),_=n(\"zeroline\",i.showGrid||!!A||!!L);_||(delete r.zerolinecolor,delete r.zerolinewidth)}}});var JM=ye((Ynr,Bve)=>{\"use strict\";var Dve=uo(),Evt=ba(),KM=Mr(),kvt=Vs(),Cvt=Zd(),_U=Cd(),zve=xb(),Fve=T3(),Lvt=t_(),Pvt=r_(),Ivt=eI(),Rvt=YM(),Dvt=dB(),qve=ym(),tI=ad().WEEKDAY_PATTERN,zvt=ad().HOUR_PATTERN;Bve.exports=function(t,r,n,i,a){var o=i.letter,s=i.font||{},l=i.splomStash||{},u=n(\"visible\",!i.visibleDflt),c=r._template||{},f=r.type||c.type||\"-\",h;if(f===\"date\"){var d=Evt.getComponentMethod(\"calendars\",\"handleDefaults\");d(t,r,\"calendar\",i.calendar),i.noTicklabelmode||(h=n(\"ticklabelmode\"))}!i.noTicklabelindex&&(f===\"date\"||f===\"linear\")&&n(\"ticklabelindex\");var v=\"\";(!i.noTicklabelposition||f===\"multicategory\")&&(v=KM.coerce(t,r,{ticklabelposition:{valType:\"enumerated\",dflt:\"outside\",values:h===\"period\"?[\"outside\",\"inside\"]:o===\"x\"?[\"outside\",\"inside\",\"outside left\",\"inside left\",\"outside right\",\"inside right\"]:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside bottom\",\"inside bottom\"]}},\"ticklabelposition\")),i.noTicklabeloverflow||n(\"ticklabeloverflow\",v.indexOf(\"inside\")!==-1?\"hide past domain\":f===\"category\"||f===\"multicategory\"?\"allow\":\"hide past div\"),qve(r,a),Dvt(t,r,n,i),Ivt(t,r,n,i),f!==\"category\"&&!i.noHover&&n(\"hoverformat\");var x=n(\"color\"),b=x!==_U.color.dflt?x:s.color,p=l.label||a._dfltTitle[o];if(Pvt(t,r,n,f,i),!u)return r;n(\"title.text\",p),KM.coerceFont(n,\"title.font\",s,{overrideDflt:{size:KM.bigFont(s.size),color:b}}),zve(t,r,n,f);var E=i.hasMinor;if(E&&(kvt.newContainer(r,\"minor\"),zve(t,r,n,f,{isMinor:!0})),Lvt(t,r,n,f,i),Fve(t,r,n,i),E){var k=i.isMinor;i.isMinor=!0,Fve(t,r,n,i),i.isMinor=k}Rvt(t,r,n,{dfltColor:x,bgColor:i.bgColor,showGrid:i.showGrid,hasMinor:E,attributes:_U}),E&&!r.minor.ticks&&!r.minor.showgrid&&delete r.minor,(r.showline||r.ticks)&&n(\"mirror\");var A=f===\"multicategory\";if(!i.noTickson&&(f===\"category\"||A)&&(r.ticks||r.showgrid)){var L;A&&(L=\"boundaries\");var _=n(\"tickson\",L);_===\"boundaries\"&&delete r.ticklabelposition}if(A){var C=n(\"showdividers\");C&&(n(\"dividercolor\"),n(\"dividerwidth\"))}if(f===\"date\")if(Cvt(t,r,{name:\"rangebreaks\",inclusionAttr:\"enabled\",handleItemDefaults:Fvt}),!r.rangebreaks.length)delete r.rangebreaks;else{for(var M=0;M<r.rangebreaks.length;M++)if(r.rangebreaks[M].pattern===tI){r._hasDayOfWeekBreaks=!0;break}if(qve(r,a),a._has(\"scattergl\")||a._has(\"splom\"))for(var g=0;g<i.data.length;g++){var P=i.data[g];(P.type===\"scattergl\"||P.type===\"splom\")&&(P.visible=!1,KM.warn(P.type+\" traces do not work on axes with rangebreaks. Setting trace \"+P.index+\" to `visible: false`.\"))}}return r};function Fvt(e,t,r){function n(h,d){return KM.coerce(e,t,_U.rangebreaks,h,d)}var i=n(\"enabled\");if(i){var a=n(\"bounds\");if(a&&a.length>=2){var o=\"\",s,l;if(a.length===2){for(s=0;s<2;s++)if(l=Ove(a[s]),l){o=tI;break}}var u=n(\"pattern\",o);if(u===tI)for(s=0;s<2;s++)l=Ove(a[s]),l&&(t.bounds[s]=a[s]=l-1);if(u)for(s=0;s<2;s++)switch(l=a[s],u){case tI:if(!Dve(l)){t.enabled=!1;return}if(l=+l,l!==Math.floor(l)||l<0||l>=7){t.enabled=!1;return}t.bounds[s]=a[s]=l;break;case zvt:if(!Dve(l)){t.enabled=!1;return}if(l=+l,l<0||l>24){t.enabled=!1;return}t.bounds[s]=a[s]=l;break}if(r.autorange===!1){var c=r.range;if(c[0]<c[1]){if(a[0]<c[0]&&a[1]>c[1]){t.enabled=!1;return}}else if(a[0]>c[0]&&a[1]<c[1]){t.enabled=!1;return}}}else{var f=n(\"values\");if(f&&f.length)n(\"dvalue\");else{t.enabled=!1;return}}}}var qvt={sun:1,mon:2,tue:3,wed:4,thu:5,fri:6,sat:7};function Ove(e){if(typeof e==\"string\")return qvt[e.substr(0,3).toLowerCase()]}});var iI=ye((Knr,Nve)=>{\"use strict\";var Ovt=uo(),rI=Mr();Nve.exports=function(t,r,n,i){var a=i.counterAxes||[],o=i.overlayableAxes||[],s=i.letter,l=i.grid,u=i.overlayingDomain,c,f,h,d,v,x;l&&(f=l._domains[s][l._axisMap[r._id]],c=l._anchors[r._id],f&&(h=l[s+\"side\"].split(\" \")[0],d=l.domain[s][h===\"right\"||h===\"top\"?1:0])),f=f||[0,1],c=c||(Ovt(t.position)?\"free\":a[0]||\"free\"),h=h||(s===\"x\"?\"bottom\":\"left\"),d=d||0,v=0,x=!1;var b=rI.coerce(t,r,{anchor:{valType:\"enumerated\",values:[\"free\"].concat(a),dflt:c}},\"anchor\"),p=rI.coerce(t,r,{side:{valType:\"enumerated\",values:s===\"x\"?[\"bottom\",\"top\"]:[\"left\",\"right\"],dflt:h}},\"side\");if(b===\"free\"){if(s===\"y\"){var E=n(\"autoshift\");E&&(d=p===\"left\"?u[0]:u[1],x=r.automargin?r.automargin:!0,v=p===\"left\"?-3:3),n(\"shift\",v)}n(\"position\",d)}n(\"automargin\",x);var k=!1;if(o.length&&(k=rI.coerce(t,r,{overlaying:{valType:\"enumerated\",values:[!1].concat(o),dflt:!1}},\"overlaying\")),!k){var A=n(\"domain\",f);A[0]>A[1]-1/4096&&(r.domain=f),rI.noneOrAll(t.domain,r.domain,f),r.tickmode===\"sync\"&&(r.tickmode=\"auto\")}return n(\"layer\"),r}});var Yve=ye((Jnr,Xve)=>{\"use strict\";var jb=Mr(),Uve=va(),Bvt=rp().isUnifiedHover,Nvt=OB(),Vve=Vs(),Uvt=s3(),Hve=Cd(),Vvt=yU(),Gve=JM(),Hvt=Bb(),jve=iI(),bU=af(),Cm=bU.id2name,Wve=bU.name2id,Gvt=ad().AX_ID_PATTERN,Zve=ba(),nI=Zve.traceIs,xU=Zve.getComponentMethod;function aI(e,t,r){Array.isArray(e[t])?e[t].push(r):e[t]=[r]}Xve.exports=function(t,r,n){var i=r.autotypenumbers,a={},o={},s={},l={},u={},c={},f={},h={},d={},v={},x,b;for(x=0;x<n.length;x++){var p=n[x];if(nI(p,\"cartesian\")){var E;if(p.xaxis)E=Cm(p.xaxis),aI(a,E,p);else if(p.xaxes)for(b=0;b<p.xaxes.length;b++)aI(a,Cm(p.xaxes[b]),p);var k;if(p.yaxis)k=Cm(p.yaxis),aI(a,k,p);else if(p.yaxes)for(b=0;b<p.yaxes.length;b++)aI(a,Cm(p.yaxes[b]),p);if(p.type===\"funnel\"?p.orientation===\"h\"?(E&&(o[E]=!0),k&&(f[k]=!0)):k&&(s[k]=!0):p.type===\"image\"?(k&&(h[k]=!0),E&&(h[E]=!0)):(k&&(u[k]=!0,c[k]=!0),(!nI(p,\"carpet\")||p.type===\"carpet\"&&!p._cheater)&&E&&(l[E]=!0)),p.type===\"carpet\"&&p._cheater&&E&&(o[E]=!0),nI(p,\"2dMap\")&&(d[E]=!0,d[k]=!0),nI(p,\"oriented\")){var A=p.orientation===\"h\"?k:E;v[A]=!0}}}var L=r._subplots,_=L.xaxis,C=L.yaxis,M=jb.simpleMap(_,Cm),g=jb.simpleMap(C,Cm),P=M.concat(g),T=Uve.background;_.length&&C.length&&(T=jb.coerce(t,r,Uvt,\"plot_bgcolor\"));var F=Uve.combine(T,r.paper_bgcolor),q,V,H,X,G;function N(){var xt=a[q]||[];G._traceIndices=xt.map(function(bt){return bt.index}),G._annIndices=[],G._shapeIndices=[],G._selectionIndices=[],G._imgIndices=[],G._subplotsWith=[],G._counterAxes=[],G._name=G._attr=q,G._id=V}function W(xt,bt){return jb.coerce(X,G,Hve,xt,bt)}function re(xt,bt){return jb.coerce2(X,G,Hve,xt,bt)}function ae(xt){return xt===\"x\"?C:_}function _e(xt,bt){for(var Lt=xt===\"x\"?M:g,St=[],Et=0;Et<Lt.length;Et++){var dt=Lt[Et];dt!==bt&&!(t[dt]||{}).overlaying&&St.push(Wve(dt))}return St}var Me={x:ae(\"x\"),y:ae(\"y\")},ke=Me.x.concat(Me.y),ge={},ie=[];function Te(){var xt=X.matches;Gvt.test(xt)&&ke.indexOf(xt)===-1&&(ge[xt]=X.type,ie=Object.keys(ge))}var Ee=Nvt(t,r),Ae=Bvt(Ee);for(x=0;x<P.length;x++){q=P[x],V=Wve(q),H=q.charAt(0),jb.isPlainObject(t[q])||(t[q]={}),X=t[q],G=Vve.newContainer(r,q,H+\"axis\"),N();var ze=H===\"x\"&&!l[q]&&o[q]||H===\"y\"&&!u[q]&&s[q],Ce=H===\"y\"&&(!c[q]&&f[q]||h[q]),me={hasMinor:!0,letter:H,font:r.font,outerTicks:d[q],showGrid:!v[q],data:a[q]||[],bgColor:F,calendar:r.calendar,automargin:!0,visibleDflt:ze,reverseDflt:Ce,autotypenumbersDflt:i,splomStash:((r._splomAxes||{})[H]||{})[V],noAutotickangles:H===\"y\"};W(\"uirevision\",r.uirevision),Vvt(X,G,W,me),Gve(X,G,W,me,r);var Re=Ae&&H===Ee.charAt(0),ce=re(\"spikecolor\",Ae?G.color:void 0),Ge=re(\"spikethickness\",Ae?1.5:void 0),nt=re(\"spikedash\",Ae?\"dot\":void 0),ct=re(\"spikemode\",Ae?\"across\":void 0),qt=re(\"spikesnap\"),rt=W(\"showspikes\",!!Re||!!ce||!!Ge||!!nt||!!ct||!!qt);rt||(delete G.spikecolor,delete G.spikethickness,delete G.spikedash,delete G.spikemode,delete G.spikesnap);var ot=Cm(X.overlaying),Rt=[0,1];if(r[ot]!==void 0){var kt=Cm(r[ot].anchor);r[kt]!==void 0&&(Rt=r[kt].domain)}jve(X,G,W,{letter:H,counterAxes:Me[H],overlayableAxes:_e(H,q),grid:r.grid,overlayingDomain:Rt}),W(\"title.standoff\"),Te(),G._input=X}for(x=0;x<ie.length;){V=ie[x++],q=Cm(V),H=q.charAt(0),jb.isPlainObject(t[q])||(t[q]={}),X=t[q],G=Vve.newContainer(r,q,H+\"axis\"),N();var Ct={letter:H,font:r.font,outerTicks:d[q],showGrid:!v[q],data:[],bgColor:F,calendar:r.calendar,automargin:!0,visibleDflt:!1,reverseDflt:!1,autotypenumbersDflt:i,splomStash:((r._splomAxes||{})[H]||{})[V]};W(\"uirevision\",r.uirevision),G.type=ge[V]||\"linear\",Gve(X,G,W,Ct,r),jve(X,G,W,{letter:H,counterAxes:Me[H],overlayableAxes:_e(H,q),grid:r.grid}),W(\"fixedrange\"),Te(),G._input=X}var Yt=xU(\"rangeslider\",\"handleDefaults\"),xr=xU(\"rangeselector\",\"handleDefaults\");for(x=0;x<M.length;x++)q=M[x],X=t[q],G=r[q],Yt(t,r,q),G.type===\"date\"&&xr(X,G,r,g,G.calendar),W(\"fixedrange\");for(x=0;x<g.length;x++){q=g[x],X=t[q],G=r[q];var er=r[Cm(G.anchor)],Ke=xU(\"rangeslider\",\"isVisible\")(er);W(\"fixedrange\",Ke)}Hvt.handleDefaults(t,r,{axIds:ke.concat(ie).sort(bU.idSort),axHasImage:h})}});var $ve=ye(($nr,Jve)=>{\"use strict\";var jvt=xa(),Kve=ba(),oI=Mr(),Qp=ao(),sI=Qa();Jve.exports=function(t,r,n,i){var a=t._fullLayout;if(r.length===0){sI.redrawComponents(t);return}function o(b){var p=b.xaxis,E=b.yaxis;a._defs.select(\"#\"+b.clipId+\"> rect\").call(Qp.setTranslate,0,0).call(Qp.setScale,1,1),b.plot.call(Qp.setTranslate,p._offset,E._offset).call(Qp.setScale,1,1);var k=b.plot.selectAll(\".scatterlayer .trace\");k.selectAll(\".point\").call(Qp.setPointGroupScale,1,1),k.selectAll(\".textpoint\").call(Qp.setTextPointsScale,1,1),k.call(Qp.hideOutsideRangePoints,b)}function s(b,p){var E=b.plotinfo,k=E.xaxis,A=E.yaxis,L=k._length,_=A._length,C=!!b.xr1,M=!!b.yr1,g=[];if(C){var P=oI.simpleMap(b.xr0,k.r2l),T=oI.simpleMap(b.xr1,k.r2l),F=P[1]-P[0],q=T[1]-T[0];g[0]=(P[0]*(1-p)+p*T[0]-P[0])/(P[1]-P[0])*L,g[2]=L*(1-p+p*q/F),k.range[0]=k.l2r(P[0]*(1-p)+p*T[0]),k.range[1]=k.l2r(P[1]*(1-p)+p*T[1])}else g[0]=0,g[2]=L;if(M){var V=oI.simpleMap(b.yr0,A.r2l),H=oI.simpleMap(b.yr1,A.r2l),X=V[1]-V[0],G=H[1]-H[0];g[1]=(V[1]*(1-p)+p*H[1]-V[1])/(V[0]-V[1])*_,g[3]=_*(1-p+p*G/X),A.range[0]=k.l2r(V[0]*(1-p)+p*H[0]),A.range[1]=A.l2r(V[1]*(1-p)+p*H[1])}else g[1]=0,g[3]=_;sI.drawOne(t,k,{skipTitle:!0}),sI.drawOne(t,A,{skipTitle:!0}),sI.redrawComponents(t,[k._id,A._id]);var N=C?L/g[2]:1,W=M?_/g[3]:1,re=C?g[0]:0,ae=M?g[1]:0,_e=C?g[0]/g[2]*L:0,Me=M?g[1]/g[3]*_:0,ke=k._offset-_e,ge=A._offset-Me;E.clipRect.call(Qp.setTranslate,re,ae).call(Qp.setScale,1/N,1/W),E.plot.call(Qp.setTranslate,ke,ge).call(Qp.setScale,N,W),Qp.setPointGroupScale(E.zoomScalePts,1/N,1/W),Qp.setTextPointsScale(E.zoomScaleTxt,1/N,1/W)}var l;i&&(l=i());function u(){for(var b={},p=0;p<r.length;p++){var E=r[p],k=E.plotinfo.xaxis,A=E.plotinfo.yaxis;E.xr1&&(b[k._name+\".range\"]=E.xr1.slice()),E.yr1&&(b[A._name+\".range\"]=E.yr1.slice())}return l&&l(),Kve.call(\"relayout\",t,b).then(function(){for(var L=0;L<r.length;L++)o(r[L].plotinfo)})}function c(){for(var b={},p=0;p<r.length;p++){var E=r[p],k=E.plotinfo.xaxis,A=E.plotinfo.yaxis;E.xr0&&(b[k._name+\".range\"]=E.xr0.slice()),E.yr0&&(b[A._name+\".range\"]=E.yr0.slice())}return Kve.call(\"relayout\",t,b).then(function(){for(var L=0;L<r.length;L++)o(r[L].plotinfo)})}var f,h,d,v=jvt.ease(n.easing);t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(d),d=null,c()});function x(){h=Date.now();for(var b=Math.min(1,(h-f)/n.duration),p=v(b),E=0;E<r.length;E++)s(r[E],p);h-f>n.duration?(u(),d=window.cancelAnimationFrame(x)):d=window.requestAnimationFrame(x)}return f=Date.now(),d=window.requestAnimationFrame(x),Promise.resolve()}});var Jf=ye(yv=>{\"use strict\";var uI=xa(),Qve=ba(),Wb=Mr(),Wvt=Xu(),Zvt=ao(),epe=kd().getModuleCalcData,m_=af(),zg=ad(),Xvt=Zp(),ql=Wb.ensureSingle;function lI(e,t,r){return Wb.ensureSingle(e,t,r,function(n){n.datum(r)})}var Zb=zg.zindexSeparator;yv.name=\"cartesian\";yv.attr=[\"xaxis\",\"yaxis\"];yv.idRoot=[\"x\",\"y\"];yv.idRegex=zg.idRegex;yv.attrRegex=zg.attrRegex;yv.attributes=Eve();yv.layoutAttributes=Cd();yv.supplyLayoutDefaults=Yve();yv.transitionAxes=$ve();yv.finalizeSubplots=function(e,t){var r=t._subplots,n=r.xaxis,i=r.yaxis,a=r.cartesian,o=a,s={},l={},u,c,f;for(u=0;u<o.length;u++){var h=o[u].split(\"y\");s[h[0]]=1,l[\"y\"+h[1]]=1}for(u=0;u<n.length;u++)c=n[u],s[c]||(f=(e[m_.id2name(c)]||{}).anchor,zg.idRegex.y.test(f)||(f=\"y\"),a.push(c+f),o.push(c+f),l[f]||(l[f]=1,Wb.pushUnique(i,f)));for(u=0;u<i.length;u++)f=i[u],l[f]||(c=(e[m_.id2name(f)]||{}).anchor,zg.idRegex.x.test(c)||(c=\"x\"),a.push(c+f),o.push(c+f),s[c]||(s[c]=1,Wb.pushUnique(n,c)));if(!o.length){c=\"\",f=\"\";for(var d in e)if(zg.attrRegex.test(d)){var v=d.charAt(0);v===\"x\"?(!c||+d.substr(5)<+c.substr(5))&&(c=d):(!f||+d.substr(5)<+f.substr(5))&&(f=d)}c=c?m_.name2id(c):\"x\",f=f?m_.name2id(f):\"y\",n.push(c),i.push(f),a.push(c+f)}};yv.plot=function(e,t,r,n){var i=e._fullLayout,a=i._subplots.cartesian,o=e.calcdata,s;if(!Array.isArray(t))for(t=[],s=0;s<o.length;s++)t.push(s);for(var l=i._zindices,u=0;u<l.length;u++){var c=l[u];for(s=0;s<a.length;s++){var f=a[s],h=i._plots[f];if(u>0){var d=h.id;if(d.indexOf(Zb)!==-1)continue;d+=Zb+(u+1),h=Wb.extendFlat({},h,{id:d,plot:i._cartesianlayer.selectAll(\".subplot\").select(\".\"+d)})}for(var v=[],x,b=0;b<o.length;b++){var p=o[b],E=p[0].trace;c===(E.zorder||0)&&E.xaxis+E.yaxis===f&&((t.indexOf(E.index)!==-1||E.carpet)&&(x&&x[0].trace.xaxis+x[0].trace.yaxis===f&&[\"tonextx\",\"tonexty\",\"tonext\"].indexOf(E.fill)!==-1&&v.indexOf(x)===-1&&v.push(x),v.push(p)),x=p)}tpe(e,h,v,r,n)}}};function tpe(e,t,r,n,i){for(var a=zg.traceLayerClasses,o=e._fullLayout,s=o._zindices,l=o._modules,u,c,f,h=[],d=[],v=0;v<s.length;v++)for(var x=s[v],b=0;b<l.length;b++){u=l[b];var p=u.name,E=Qve.modules[p].categories;if(E.svg){var k=u.layerName||p+\"layer\",A=k+(v?Number(v)+1:\"\"),L=u.plot;c=epe(r,L,x),f=c[0],r=c[1],f.length&&h.push({i:a.indexOf(k),zindex:v,className:A,plotMethod:L,cdModule:f}),E.zoomScale&&d.push(\".\"+A)}}h.sort(function(M,g){return(M.zindex||0)-(g.zindex||0)||M.i-g.i});var _=t.plot.selectAll(\"g.mlayer\").data(h,function(M){return M.className});if(_.enter().append(\"g\").attr(\"class\",function(M){return M.className}).classed(\"mlayer\",!0).classed(\"rangeplot\",t.isRangePlot),_.exit().remove(),_.order(),_.each(function(M){var g=uI.select(this),P=M.className;M.plotMethod(e,t,M.cdModule,g,n,i),zg.clipOnAxisFalseQuery.indexOf(\".\"+P)===-1&&Zvt.setClipUrl(g,t.layerClipId,e)}),o._has(\"scattergl\")&&(u=Qve.getModule(\"scattergl\"),f=epe(r,u)[0],u.plot(e,t,f)),!e._context.staticPlot&&(t._hasClipOnAxisFalse&&(t.clipOnAxisFalseTraces=t.plot.selectAll(zg.clipOnAxisFalseQuery.join(\",\")).selectAll(\".trace\")),d.length)){var C=t.plot.selectAll(d.join(\",\")).selectAll(\".trace\");t.zoomScalePts=C.selectAll(\"path.point\"),t.zoomScaleTxt=C.selectAll(\".textpoint\")}}yv.clean=function(e,t,r,n){var i=n._plots||{},a=t._plots||{},o=n._subplots||{},s,l,u;if(n._hasOnlyLargeSploms&&!t._hasOnlyLargeSploms)for(u in i)s=i[u],s.plotgroup&&s.plotgroup.remove();var c=n._has&&n._has(\"gl\"),f=t._has&&t._has(\"gl\");if(c&&!f)for(u in i)s=i[u],s._scene&&s._scene.destroy();if(o.xaxis&&o.yaxis){var h=m_.listIds({_fullLayout:n});for(l=0;l<h.length;l++){var d=h[l];t[m_.id2name(d)]||n._infolayer.selectAll(\".g-\"+d+\"title\").remove()}}var v=n._has&&n._has(\"cartesian\"),x=t._has&&t._has(\"cartesian\");if(v&&!x)ipe(n._cartesianlayer.selectAll(\".subplot\"),n),n._defs.selectAll(\".axesclip\").remove(),delete n._axisConstraintGroups,delete n._axisMatchGroups;else if(o.cartesian)for(l=0;l<o.cartesian.length;l++){var b=o.cartesian[l];if(b.indexOf(Zb)===-1&&!a[b]){var p=\".\"+b+\",.\"+b+\"-x,.\"+b+\"-y\";n._cartesianlayer.selectAll(p).remove(),npe(b,n)}}};yv.drawFramework=function(e){var t=e._fullLayout,r=e.calcdata,n,i={};for(n=0;n<r.length;n++){var a=r[n][0],o=a.trace,s=o.zorder||0;i[s]||(i[s]=[]),i[s].push(a)}var l=Object.keys(i).map(Number).sort(Wb.sorterAsc);l.length||(l=[0]),t._zindices=l;var u=Yvt(e),c=u.length,f=[];for(n=0;n<c;n++)f[n]=u[n].slice();for(var h=1;h<l.length;h++){var d=[];for(n=0;n<c;n++)d[n]=u[n].slice(),d[n][0]+=Zb+(h+1);f=f.concat(d)}var v=t._cartesianlayer.selectAll(\".subplot\").data(f,String);v.enter().append(\"g\").attr(\"class\",function(x){return\"subplot \"+x[0]}),v.order(),v.exit().call(ipe,t),v.each(function(x){var b=x[0],p=b.indexOf(Zb),E=p!==-1,k=E?b.slice(0,p):b,A=t._plots[b];A||(A=Wb.extendFlat({},t._plots[k]),A&&(A.id=b,t._plots[b]=A,t._subplots.cartesian.push(b))),A&&(A.plotgroup=uI.select(this),rpe(e,A),E||(A.draglayer=ql(t._draggers,\"g\",b)))})};yv.rangePlot=function(e,t,r){rpe(e,t),tpe(e,t,r),Wvt.style(e)};function Yvt(e){var t=e._fullLayout,r=t._zindices.length,n=t._subplots.cartesian,i=n.length,a,o,s,l,u,c,f=[],h=[];for(a=0;a<i;a++){s=n[a],l=t._plots[s],u=l.xaxis,c=l.yaxis;var d=u._mainAxis,v=c._mainAxis,x=d._id+v._id,b=t._plots[x];l.overlays=[],x!==s&&b?(l.mainplot=x,l.mainplotinfo=b,h.push(s)):(l.mainplot=void 0,l.mainplotinfo=void 0,f.push(s))}for(a=0;a<h.length;a++)s=h[a],l=t._plots[s],l.mainplotinfo.overlays.push(l);var p=f.concat(h),E=[];for(a=0;a<i;a++){s=p[a],l=t._plots[s],u=l.xaxis,c=l.yaxis;for(var k=[],A=1;A<=r;A++){var L=\"\";for(A>1&&(L+=Zb+A),k.push(s+L),o=0;o<l.overlays.length;o++)k.push(l.overlays[o].id+L)}k=k.concat([u.layer,c.layer,u.overlaying||\"\",c.overlaying||\"\"]),E.push(k)}return E}function rpe(e,t){var r=e._fullLayout,n=t.plotgroup,i=t.id,a=i.indexOf(Zb),o=a!==-1,s=zg.layerValue2layerClass[t.xaxis.layer],l=zg.layerValue2layerClass[t.yaxis.layer],u=r._hasOnlyLargeSploms,c=r._zindices.length>1,f=t.mainplotinfo;if(!t.mainplot||c)if(u)t.xlines=ql(n,\"path\",\"xlines-above\"),t.ylines=ql(n,\"path\",\"ylines-above\"),t.xaxislayer=ql(n,\"g\",\"xaxislayer-above\"),t.yaxislayer=ql(n,\"g\",\"yaxislayer-above\");else{if(!o){var h=ql(n,\"g\",\"layer-subplot\");t.shapelayer=ql(h,\"g\",\"shapelayer\"),t.imagelayer=ql(h,\"g\",\"imagelayer\"),f&&c?(t.minorGridlayer=f.minorGridlayer,t.gridlayer=f.gridlayer,t.zerolinelayer=f.zerolinelayer):(t.minorGridlayer=ql(n,\"g\",\"minor-gridlayer\"),t.gridlayer=ql(n,\"g\",\"gridlayer\"),t.zerolinelayer=ql(n,\"g\",\"zerolinelayer\"));var d=ql(n,\"g\",\"layer-between\");t.shapelayerBetween=ql(d,\"g\",\"shapelayer\"),t.imagelayerBetween=ql(d,\"g\",\"imagelayer\"),ql(n,\"path\",\"xlines-below\"),ql(n,\"path\",\"ylines-below\"),t.overlinesBelow=ql(n,\"g\",\"overlines-below\"),ql(n,\"g\",\"xaxislayer-below\"),ql(n,\"g\",\"yaxislayer-below\"),t.overaxesBelow=ql(n,\"g\",\"overaxes-below\")}t.overplot=ql(n,\"g\",\"overplot\"),t.plot=ql(t.overplot,\"g\",i),o||(t.xlines=ql(n,\"path\",\"xlines-above\"),t.ylines=ql(n,\"path\",\"ylines-above\"),t.overlinesAbove=ql(n,\"g\",\"overlines-above\"),ql(n,\"g\",\"xaxislayer-above\"),ql(n,\"g\",\"yaxislayer-above\"),t.overaxesAbove=ql(n,\"g\",\"overaxes-above\"),t.xlines=n.select(\".xlines-\"+s),t.ylines=n.select(\".ylines-\"+l),t.xaxislayer=n.select(\".xaxislayer-\"+s),t.yaxislayer=n.select(\".yaxislayer-\"+l))}else{var v=f.plotgroup,x=i+\"-x\",b=i+\"-y\";t.minorGridlayer=f.minorGridlayer,t.gridlayer=f.gridlayer,t.zerolinelayer=f.zerolinelayer,ql(f.overlinesBelow,\"path\",x),ql(f.overlinesBelow,\"path\",b),ql(f.overaxesBelow,\"g\",x),ql(f.overaxesBelow,\"g\",b),t.plot=ql(f.overplot,\"g\",i),ql(f.overlinesAbove,\"path\",x),ql(f.overlinesAbove,\"path\",b),ql(f.overaxesAbove,\"g\",x),ql(f.overaxesAbove,\"g\",b),t.xlines=v.select(\".overlines-\"+s).select(\".\"+x),t.ylines=v.select(\".overlines-\"+l).select(\".\"+b),t.xaxislayer=v.select(\".overaxes-\"+s).select(\".\"+x),t.yaxislayer=v.select(\".overaxes-\"+l).select(\".\"+b)}o||(u||(lI(t.minorGridlayer,\"g\",t.xaxis._id),lI(t.minorGridlayer,\"g\",t.yaxis._id),t.minorGridlayer.selectAll(\"g\").map(function(p){return p[0]}).sort(m_.idSort),lI(t.gridlayer,\"g\",t.xaxis._id),lI(t.gridlayer,\"g\",t.yaxis._id),t.gridlayer.selectAll(\"g\").map(function(p){return p[0]}).sort(m_.idSort)),t.xlines.style(\"fill\",\"none\").classed(\"crisp\",!0),t.ylines.style(\"fill\",\"none\").classed(\"crisp\",!0))}function ipe(e,t){if(e){var r={};e.each(function(l){var u=l[0],c=uI.select(this);c.remove(),npe(u,t),r[u]=!0});for(var n in t._plots)for(var i=t._plots[n],a=i.overlays||[],o=0;o<a.length;o++){var s=a[o];r[s.id]&&s.plot.selectAll(\".trace\").remove()}}}function npe(e,t){t._draggers.selectAll(\"g.\"+e).remove(),t._defs.select(\"#clip\"+t._uid+e+\"plot\").remove()}yv.toSVG=function(e){var t=e._fullLayout._glimages,r=uI.select(e).selectAll(\".svg-container\"),n=r.filter(function(a,o){return o===r.size()-1}).selectAll(\".gl-canvas-context, .gl-canvas-focus\");function i(){var a=this,o=a.toDataURL(\"image/png\"),s=t.append(\"svg:image\");s.attr({xmlns:Xvt.svg,\"xlink:href\":o,preserveAspectRatio:\"none\",x:0,y:0,width:a.style.width,height:a.style.height})}n.each(i)};yv.updateFx=zN().updateFx});var ope=ye((ear,ape)=>{\"use strict\";var cI=lu();ape.exports={hasLines:cI.hasLines,hasMarkers:cI.hasMarkers,hasText:cI.hasText,isBubble:cI.isBubble,attributes:Uc(),layoutAttributes:V6(),supplyDefaults:Ide(),crossTraceDefaults:$N(),supplyLayoutDefaults:Fde(),calc:q0().calc,crossTraceCalc:ove(),arraysToCalcdata:km(),plot:iT(),colorbar:Kd(),formatLabels:$P(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:sT(),selectPoints:lT(),animatable:!0,moduleType:\"trace\",name:\"scatter\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\",\"zoomScale\"],meta:{}}});var upe=ye((tar,lpe)=>{\"use strict\";var Kvt=xa(),Jvt=va(),spe=MN(),wU=Mr(),$vt=wU.strScale,Qvt=wU.strRotate,ept=wU.strTranslate;lpe.exports=function(t,r,n){var i=t.node(),a=spe[n.arrowhead||0],o=spe[n.startarrowhead||0],s=(n.arrowwidth||1)*(n.arrowsize||1),l=(n.arrowwidth||1)*(n.startarrowsize||1),u=r.indexOf(\"start\")>=0,c=r.indexOf(\"end\")>=0,f=a.backoff*s+n.standoff,h=o.backoff*l+n.startstandoff,d,v,x,b;if(i.nodeName===\"line\"){d={x:+t.attr(\"x1\"),y:+t.attr(\"y1\")},v={x:+t.attr(\"x2\"),y:+t.attr(\"y2\")};var p=d.x-v.x,E=d.y-v.y;if(x=Math.atan2(E,p),b=x+Math.PI,f&&h&&f+h>Math.sqrt(p*p+E*E)){V();return}if(f){if(f*f>p*p+E*E){V();return}var k=f*Math.cos(x),A=f*Math.sin(x);v.x+=k,v.y+=A,t.attr({x2:v.x,y2:v.y})}if(h){if(h*h>p*p+E*E){V();return}var L=h*Math.cos(x),_=h*Math.sin(x);d.x-=L,d.y-=_,t.attr({x1:d.x,y1:d.y})}}else if(i.nodeName===\"path\"){var C=i.getTotalLength(),M=\"\";if(C<f+h){V();return}var g=i.getPointAtLength(0),P=i.getPointAtLength(.1);x=Math.atan2(g.y-P.y,g.x-P.x),d=i.getPointAtLength(Math.min(h,C)),M=\"0px,\"+h+\"px,\";var T=i.getPointAtLength(C),F=i.getPointAtLength(C-.1);b=Math.atan2(T.y-F.y,T.x-F.x),v=i.getPointAtLength(Math.max(0,C-f));var q=M?h+f:f;M+=C-q+\"px,\"+C+\"px\",t.style(\"stroke-dasharray\",M)}function V(){t.style(\"stroke-dasharray\",\"0px,100px\")}function H(X,G,N,W){X.path&&(X.noRotate&&(N=0),Kvt.select(i.parentNode).append(\"path\").attr({class:t.attr(\"class\"),d:X.path,transform:ept(G.x,G.y)+Qvt(N*180/Math.PI)+$vt(W)}).style({fill:Jvt.rgb(n.arrowcolor),\"stroke-width\":0}))}u&&H(o,d,x,l),c&&H(a,v,b,s)}});var fI=ye((rar,vpe)=>{\"use strict\";var cpe=xa(),TU=ba(),tpt=Xu(),__=Mr(),AU=__.strTranslate,QM=Qa(),Xb=va(),Py=ao(),fpe=Nc(),SU=Pl(),MU=Tg(),$M=gv(),rpt=Vs().arrayEditor,ipt=upe();vpe.exports={draw:npt,drawOne:hpe,drawRaw:dpe};function npt(e){var t=e._fullLayout;t._infolayer.selectAll(\".annotation\").remove();for(var r=0;r<t.annotations.length;r++)t.annotations[r].visible&&hpe(e,r);return tpt.previousPromises(e)}function hpe(e,t){var r=e._fullLayout,n=r.annotations[t]||{},i=QM.getFromId(e,n.xref),a=QM.getFromId(e,n.yref);i&&i.setScale(),a&&a.setScale(),dpe(e,n,t,!1,i,a)}function y_(e,t,r,n,i){var a=i[r],o=i[r+\"ref\"],s=r.indexOf(\"y\")!==-1,l=QM.getRefType(o)===\"domain\",u=s?n.h:n.w;return e?l?a+(s?-t:t)/e._length:e.p2r(e.r2p(a)+t):a+(s?-t:t)/u}function dpe(e,t,r,n,i,a){var o=e._fullLayout,s=e._fullLayout._size,l=e._context.edits,u,c;n?(u=\"annotation-\"+n,c=n+\".annotations\"):(u=\"annotation\",c=\"annotations\");var f=rpt(e.layout,c,t),h=f.modifyBase,d=f.modifyItem,v=f.getUpdateObj;o._infolayer.selectAll(\".\"+u+'[data-index=\"'+r+'\"]').remove();var x=\"clip\"+o._uid+\"_ann\"+r;if(!t._input||t.visible===!1){cpe.selectAll(\"#\"+x).remove();return}var b={x:{},y:{}},p=+t.textangle||0,E=o._infolayer.append(\"g\").classed(u,!0).attr(\"data-index\",String(r)).style(\"opacity\",t.opacity),k=E.append(\"g\").classed(\"annotation-text-g\",!0),A=l[t.showarrow?\"annotationTail\":\"annotationPosition\"],L=t.captureevents||l.annotationText||A;function _(W){var re={index:r,annotation:t._input,fullAnnotation:t,event:W};return n&&(re.subplotId=n),re}var C=k.append(\"g\").style(\"pointer-events\",L?\"all\":null).call(MU,\"pointer\").on(\"click\",function(){e._dragging=!1,e.emit(\"plotly_clickannotation\",_(cpe.event))});t.hovertext&&C.on(\"mouseover\",function(){var W=t.hoverlabel,re=W.font,ae=this.getBoundingClientRect(),_e=e.getBoundingClientRect();fpe.loneHover({x0:ae.left-_e.left,x1:ae.right-_e.left,y:(ae.top+ae.bottom)/2-_e.top,text:t.hovertext,color:W.bgcolor,borderColor:W.bordercolor,fontFamily:re.family,fontSize:re.size,fontColor:re.color,fontWeight:re.weight,fontStyle:re.style,fontVariant:re.variant,fontShadow:re.fontShadow,fontLineposition:re.fontLineposition,fontTextcase:re.fontTextcase},{container:o._hoverlayer.node(),outerContainer:o._paper.node(),gd:e})}).on(\"mouseout\",function(){fpe.loneUnhover(o._hoverlayer.node())});var M=t.borderwidth,g=t.borderpad,P=M+g,T=C.append(\"rect\").attr(\"class\",\"bg\").style(\"stroke-width\",M+\"px\").call(Xb.stroke,t.bordercolor).call(Xb.fill,t.bgcolor),F=t.width||t.height,q=o._topclips.selectAll(\"#\"+x).data(F?[0]:[]);q.enter().append(\"clipPath\").classed(\"annclip\",!0).attr(\"id\",x).append(\"rect\"),q.exit().remove();var V=t.font,H=o._meta?__.templateString(t.text,o._meta):t.text,X=C.append(\"text\").classed(\"annotation-text\",!0).text(H);function G(W){return W.call(Py.font,V).attr({\"text-anchor\":{left:\"start\",right:\"end\"}[t.align]||\"middle\"}),SU.convertToTspans(W,e,N),W}function N(){var W=X.selectAll(\"a\");if(W.size()===1&&W.text()===X.text()){var re=C.insert(\"a\",\":first-child\").attr({\"xlink:xlink:href\":W.attr(\"xlink:href\"),\"xlink:xlink:show\":W.attr(\"xlink:show\")}).style({cursor:\"pointer\"});re.node().appendChild(T.node())}var ae=C.select(\".annotation-text-math-group\"),_e=!ae.empty(),Me=Py.bBox((_e?ae:X).node()),ke=Me.width,ge=Me.height,ie=t.width||ke,Te=t.height||ge,Ee=Math.round(ie+2*P),Ae=Math.round(Te+2*P);function ze(Ve,Xe){return Xe===\"auto\"&&(Ve<1/3?Xe=\"left\":Ve>2/3?Xe=\"right\":Xe=\"center\"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[Xe]}for(var Ce=!1,me=[\"x\",\"y\"],Re=0;Re<me.length;Re++){var ce=me[Re],Ge=t[ce+\"ref\"]||ce,nt=t[\"a\"+ce+\"ref\"],ct={x:i,y:a}[ce],qt=(p+(ce===\"x\"?0:-90))*Math.PI/180,rt=Ee*Math.cos(qt),ot=Ae*Math.sin(qt),Rt=Math.abs(rt)+Math.abs(ot),kt=t[ce+\"anchor\"],Ct=t[ce+\"shift\"]*(ce===\"x\"?1:-1),Yt=b[ce],xr,er,Ke,xt,bt,Lt=QM.getRefType(Ge);if(ct&&Lt!==\"domain\"){var St=ct.r2fraction(t[ce]);(St<0||St>1)&&(nt===Ge?(St=ct.r2fraction(t[\"a\"+ce]),(St<0||St>1)&&(Ce=!0)):Ce=!0),xr=ct._offset+ct.r2p(t[ce]),xt=.5}else{var Et=Lt===\"domain\";ce===\"x\"?(Ke=t[ce],xr=Et?ct._offset+ct._length*Ke:xr=s.l+s.w*Ke):(Ke=1-t[ce],xr=Et?ct._offset+ct._length*Ke:xr=s.t+s.h*Ke),xt=t.showarrow?.5:Ke}if(t.showarrow){Yt.head=xr;var dt=t[\"a\"+ce];if(bt=rt*ze(.5,t.xanchor)-ot*ze(.5,t.yanchor),nt===Ge){var Ht=QM.getRefType(nt);Ht===\"domain\"?(ce===\"y\"&&(dt=1-dt),Yt.tail=ct._offset+ct._length*dt):Ht===\"paper\"?ce===\"y\"?(dt=1-dt,Yt.tail=s.t+s.h*dt):Yt.tail=s.l+s.w*dt:Yt.tail=ct._offset+ct.r2p(dt),er=bt}else Yt.tail=xr+dt,er=bt+dt;Yt.text=Yt.tail+bt;var $t=o[ce===\"x\"?\"width\":\"height\"];if(Ge===\"paper\"&&(Yt.head=__.constrain(Yt.head,1,$t-1)),nt===\"pixel\"){var fr=-Math.max(Yt.tail-3,Yt.text),_r=Math.min(Yt.tail+3,Yt.text)-$t;fr>0?(Yt.tail+=fr,Yt.text+=fr):_r>0&&(Yt.tail-=_r,Yt.text-=_r)}Yt.tail+=Ct,Yt.head+=Ct}else bt=Rt*ze(xt,kt),er=bt,Yt.text=xr+bt;Yt.text+=Ct,bt+=Ct,er+=Ct,t[\"_\"+ce+\"padplus\"]=Rt/2+er,t[\"_\"+ce+\"padminus\"]=Rt/2-er,t[\"_\"+ce+\"size\"]=Rt,t[\"_\"+ce+\"shift\"]=bt}if(Ce){C.remove();return}var Br=0,Or=0;if(t.align!==\"left\"&&(Br=(ie-ke)*(t.align===\"center\"?.5:1)),t.valign!==\"top\"&&(Or=(Te-ge)*(t.valign===\"middle\"?.5:1)),_e)ae.select(\"svg\").attr({x:P+Br-1,y:P+Or}).call(Py.setClipUrl,F?x:null,e);else{var Nr=P+Or-Me.top,ut=P+Br-Me.left;X.call(SU.positionText,ut,Nr).call(Py.setClipUrl,F?x:null,e)}q.select(\"rect\").call(Py.setRect,P,P,ie,Te),T.call(Py.setRect,M/2,M/2,Ee-M,Ae-M),C.call(Py.setTranslate,Math.round(b.x.text-Ee/2),Math.round(b.y.text-Ae/2)),k.attr({transform:\"rotate(\"+p+\",\"+b.x.text+\",\"+b.y.text+\")\"});var Ne=function(Ve,Xe){E.selectAll(\".annotation-arrow-g\").remove();var ht=b.x.head,Le=b.y.head,xe=b.x.tail+Ve,Se=b.y.tail+Xe,lt=b.x.text+Ve,Gt=b.y.text+Xe,Vt=__.rotationXYMatrix(p,lt,Gt),ar=__.apply2DTransform(Vt),Qr=__.apply2DTransform2(Vt),ai=+T.attr(\"width\"),jr=+T.attr(\"height\"),ri=lt-.5*ai,bi=ri+ai,nn=Gt-.5*jr,Wi=nn+jr,Ni=[[ri,nn,ri,Wi],[ri,Wi,bi,Wi],[bi,Wi,bi,nn],[bi,nn,ri,nn]].map(Qr);if(!Ni.reduce(function(Vr,gi){return Vr^!!__.segmentsIntersect(ht,Le,ht+1e6,Le+1e6,gi[0],gi[1],gi[2],gi[3])},!1)){Ni.forEach(function(Vr){var gi=__.segmentsIntersect(xe,Se,ht,Le,Vr[0],Vr[1],Vr[2],Vr[3]);gi&&(xe=gi.x,Se=gi.y)});var _n=t.arrowwidth,$i=t.arrowcolor,zn=t.arrowside,Wn=E.append(\"g\").style({opacity:Xb.opacity($i)}).classed(\"annotation-arrow-g\",!0),It=Wn.append(\"path\").attr(\"d\",\"M\"+xe+\",\"+Se+\"L\"+ht+\",\"+Le).style(\"stroke-width\",_n+\"px\").call(Xb.stroke,Xb.rgb($i));if(ipt(It,zn,t),l.annotationPosition&&It.node().parentNode&&!n){var ft=ht,jt=Le;if(t.standoff){var Zt=Math.sqrt(Math.pow(ht-xe,2)+Math.pow(Le-Se,2));ft+=t.standoff*(xe-ht)/Zt,jt+=t.standoff*(Se-Le)/Zt}var yr=Wn.append(\"path\").classed(\"annotation-arrow\",!0).classed(\"anndrag\",!0).classed(\"cursor-move\",!0).attr({d:\"M3,3H-3V-3H3ZM0,0L\"+(xe-ft)+\",\"+(Se-jt),transform:AU(ft,jt)}).style(\"stroke-width\",_n+6+\"px\").call(Xb.stroke,\"rgba(0,0,0,0)\").call(Xb.fill,\"rgba(0,0,0,0)\"),Fr,Zr;$M.init({element:yr.node(),gd:e,prepFn:function(){var Vr=Py.getTranslate(C);Fr=Vr.x,Zr=Vr.y,i&&i.autorange&&h(i._name+\".autorange\",!0),a&&a.autorange&&h(a._name+\".autorange\",!0)},moveFn:function(Vr,gi){var Si=ar(Fr,Zr),Mi=Si[0]+Vr,Pi=Si[1]+gi;C.call(Py.setTranslate,Mi,Pi),d(\"x\",y_(i,Vr,\"x\",s,t)),d(\"y\",y_(a,gi,\"y\",s,t)),t.axref===t.xref&&d(\"ax\",y_(i,Vr,\"ax\",s,t)),t.ayref===t.yref&&d(\"ay\",y_(a,gi,\"ay\",s,t)),Wn.attr(\"transform\",AU(Vr,gi)),k.attr({transform:\"rotate(\"+p+\",\"+Mi+\",\"+Pi+\")\"})},doneFn:function(){TU.call(\"_guiRelayout\",e,v());var Vr=document.querySelector(\".js-notes-box-panel\");Vr&&Vr.redraw(Vr.selectedObj)}})}}};if(t.showarrow&&Ne(0,0),A){var Ye;$M.init({element:C.node(),gd:e,prepFn:function(){Ye=k.attr(\"transform\")},moveFn:function(Ve,Xe){var ht=\"pointer\";if(t.showarrow)t.axref===t.xref?d(\"ax\",y_(i,Ve,\"ax\",s,t)):d(\"ax\",t.ax+Ve),t.ayref===t.yref?d(\"ay\",y_(a,Xe,\"ay\",s.w,t)):d(\"ay\",t.ay+Xe),Ne(Ve,Xe);else{if(n)return;var Le,xe;if(i)Le=y_(i,Ve,\"x\",s,t);else{var Se=t._xsize/s.w,lt=t.x+(t._xshift-t.xshift)/s.w-Se/2;Le=$M.align(lt+Ve/s.w,Se,0,1,t.xanchor)}if(a)xe=y_(a,Xe,\"y\",s,t);else{var Gt=t._ysize/s.h,Vt=t.y-(t._yshift+t.yshift)/s.h-Gt/2;xe=$M.align(Vt-Xe/s.h,Gt,0,1,t.yanchor)}d(\"x\",Le),d(\"y\",xe),(!i||!a)&&(ht=$M.getCursor(i?.5:Le,a?.5:xe,t.xanchor,t.yanchor))}k.attr({transform:AU(Ve,Xe)+Ye}),MU(C,ht)},clickFn:function(Ve,Xe){t.captureevents&&e.emit(\"plotly_clickannotation\",_(Xe))},doneFn:function(){MU(C),TU.call(\"_guiRelayout\",e,v());var Ve=document.querySelector(\".js-notes-box-panel\");Ve&&Ve.redraw(Ve.selectedObj)}})}}l.annotationText?X.call(SU.makeEditable,{delegate:C,gd:e}).call(G).on(\"edit\",function(W){t.text=W,this.call(G),d(\"text\",W),i&&i.autorange&&h(i._name+\".autorange\",!0),a&&a.autorange&&h(a._name+\".autorange\",!0),TU.call(\"_guiRelayout\",e,v())}):X.call(G)}});var xpe=ye((iar,_pe)=>{\"use strict\";var ppe=Mr(),apt=ba(),gpe=Vs().arrayEditor;_pe.exports={hasClickToShow:opt,onClick:spt};function opt(e,t){var r=ype(e,t);return r.on.length>0||r.explicitOff.length>0}function spt(e,t){var r=ype(e,t),n=r.on,i=r.off.concat(r.explicitOff),a={},o=e._fullLayout.annotations,s,l;if(n.length||i.length){for(s=0;s<n.length;s++)l=gpe(e.layout,\"annotations\",o[n[s]]),l.modifyItem(\"visible\",!0),ppe.extendFlat(a,l.getUpdateObj());for(s=0;s<i.length;s++)l=gpe(e.layout,\"annotations\",o[i[s]]),l.modifyItem(\"visible\",!1),ppe.extendFlat(a,l.getUpdateObj());return apt.call(\"update\",e,{},a)}}function ype(e,t){var r=e._fullLayout.annotations,n=[],i=[],a=[],o=(t||[]).length,s,l,u,c,f,h,d,v;for(s=0;s<r.length;s++)if(u=r[s],c=u.clicktoshow,c){for(l=0;l<o;l++)if(f=t[l],h=f.xaxis,d=f.yaxis,h._id===u.xref&&d._id===u.yref&&h.d2r(f.x)===mpe(u._xclick,h)&&d.d2r(f.y)===mpe(u._yclick,d)){u.visible?c===\"onout\"?v=i:v=a:v=n,v.push(s);break}l===o&&u.visible&&c===\"onout\"&&i.push(s)}return{on:n,off:i,explicitOff:a}}function mpe(e,t){return t.type===\"log\"?t.l2r(e):t.d2r(e)}});var kU=ye((nar,bpe)=>{\"use strict\";var EU=Mr(),uT=va();bpe.exports=function(t,r,n,i){i(\"opacity\");var a=i(\"bgcolor\"),o=i(\"bordercolor\"),s=uT.opacity(o);i(\"borderpad\");var l=i(\"borderwidth\"),u=i(\"showarrow\");i(\"text\",u?\" \":n._dfltTitle.annotation),i(\"textangle\"),EU.coerceFont(i,\"font\",n.font),i(\"width\"),i(\"align\");var c=i(\"height\");if(c&&i(\"valign\"),u){var f=i(\"arrowside\"),h,d;f.indexOf(\"end\")!==-1&&(h=i(\"arrowhead\"),d=i(\"arrowsize\")),f.indexOf(\"start\")!==-1&&(i(\"startarrowhead\",h),i(\"startarrowsize\",d)),i(\"arrowcolor\",s?r.bordercolor:uT.defaultLine),i(\"arrowwidth\",(s&&l||1)*2),i(\"standoff\"),i(\"startstandoff\")}var v=i(\"hovertext\"),x=n.hoverlabel||{};if(v){var b=i(\"hoverlabel.bgcolor\",x.bgcolor||(uT.opacity(a)?uT.rgb(a):uT.defaultLine)),p=i(\"hoverlabel.bordercolor\",x.bordercolor||uT.contrast(b)),E=EU.extendFlat({},x.font);E.color||(E.color=p),EU.coerceFont(i,\"hoverlabel.font\",E)}i(\"captureevents\",!!v)}});var Tpe=ye((aar,wpe)=>{\"use strict\";var CU=Mr(),Yb=Qa(),lpt=Zd(),upt=kU(),cpt=Nb();wpe.exports=function(t,r){lpt(t,r,{name:\"annotations\",handleItemDefaults:fpt})};function fpt(e,t,r){function n(k,A){return CU.coerce(e,t,cpt,k,A)}var i=n(\"visible\"),a=n(\"clicktoshow\");if(i||a){upt(e,t,r,n);for(var o=t.showarrow,s=[\"x\",\"y\"],l=[-10,-30],u={_fullLayout:r},c=0;c<2;c++){var f=s[c],h=Yb.coerceRef(e,t,u,f,\"\",\"paper\");if(h!==\"paper\"){var d=Yb.getFromId(u,h);d._annIndices.push(t._index)}if(Yb.coercePosition(t,u,n,h,f,.5),o){var v=\"a\"+f,x=Yb.coerceRef(e,t,u,v,\"pixel\",[\"pixel\",\"paper\"]);x!==\"pixel\"&&x!==h&&(x=t[v]=\"pixel\");var b=x===\"pixel\"?l[c]:.4;Yb.coercePosition(t,u,n,x,v,b)}n(f+\"anchor\"),n(f+\"shift\")}if(CU.noneOrAll(e,t,[\"x\",\"y\"]),o&&CU.noneOrAll(e,t,[\"ax\",\"ay\"]),a){var p=n(\"xclick\"),E=n(\"yclick\");t._xclick=p===void 0?t.x:Yb.cleanPosition(p,u,t.xref),t._yclick=E===void 0?t.y:Yb.cleanPosition(E,u,t.yref)}}}});var Mpe=ye((oar,Spe)=>{\"use strict\";var LU=Mr(),Kb=Qa(),hpt=fI().draw;Spe.exports=function(t){var r=t._fullLayout,n=LU.filterVisible(r.annotations);if(n.length&&t._fullData.length)return LU.syncOrAsync([hpt,dpt],t)};function dpt(e){var t=e._fullLayout;LU.filterVisible(t.annotations).forEach(function(r){var n=Kb.getFromId(e,r.xref),i=Kb.getFromId(e,r.yref),a=Kb.getRefType(r.xref),o=Kb.getRefType(r.yref);r._extremes={},a===\"range\"&&Ape(r,n),o===\"range\"&&Ape(r,i)})}function Ape(e,t){var r=t._id,n=r.charAt(0),i=e[n],a=e[\"a\"+n],o=e[n+\"ref\"],s=e[\"a\"+n+\"ref\"],l=e[\"_\"+n+\"padplus\"],u=e[\"_\"+n+\"padminus\"],c={x:1,y:-1}[n]*e[n+\"shift\"],f=3*e.arrowsize*e.arrowwidth||0,h=f+c,d=f-c,v=3*e.startarrowsize*e.arrowwidth||0,x=v+c,b=v-c,p;if(s===o){var E=Kb.findExtremes(t,[t.r2c(i)],{ppadplus:h,ppadminus:d}),k=Kb.findExtremes(t,[t.r2c(a)],{ppadplus:Math.max(l,x),ppadminus:Math.max(u,b)});p={min:[E.min[0],k.min[0]],max:[E.max[0],k.max[0]]}}else x=a?x+a:x,b=a?b-a:b,p=Kb.findExtremes(t,[t.r2c(i)],{ppadplus:Math.max(l,h,x),ppadminus:Math.max(u,d,b)});e._extremes[r]=p}});var kpe=ye((sar,Epe)=>{\"use strict\";var vpt=uo(),ppt=u6();Epe.exports=function(t,r,n,i){r=r||{};var a=n===\"log\"&&r.type===\"linear\",o=n===\"linear\"&&r.type===\"log\";if(!(a||o))return;var s=t._fullLayout.annotations,l=r._id.charAt(0),u,c;function f(d){var v=u[d],x=null;a?x=ppt(v,r.range):x=Math.pow(10,v),vpt(x)||(x=null),i(c+d,x)}for(var h=0;h<s.length;h++)u=s[h],c=\"annotations[\"+h+\"].\",u[l+\"ref\"]===r._id&&f(l),u[\"a\"+l+\"ref\"]===r._id&&f(\"a\"+l)}});var Ppe=ye((lar,Lpe)=>{\"use strict\";var PU=fI(),Cpe=xpe();Lpe.exports={moduleType:\"component\",name:\"annotations\",layoutAttributes:Nb(),supplyLayoutDefaults:Tpe(),includeBasePlot:IM()(\"annotations\"),calcAutorange:Mpe(),draw:PU.draw,drawOne:PU.drawOne,drawRaw:PU.drawRaw,hasClickToShow:Cpe.hasClickToShow,onClick:Cpe.onClick,convertCoords:kpe()}});var hI=ye((uar,Ipe)=>{\"use strict\";var Ku=Nb(),gpt=Bu().overrideAll,mpt=Vs().templatedArray;Ipe.exports=gpt(mpt(\"annotation\",{visible:Ku.visible,x:{valType:\"any\"},y:{valType:\"any\"},z:{valType:\"any\"},ax:{valType:\"number\"},ay:{valType:\"number\"},xanchor:Ku.xanchor,xshift:Ku.xshift,yanchor:Ku.yanchor,yshift:Ku.yshift,text:Ku.text,textangle:Ku.textangle,font:Ku.font,width:Ku.width,height:Ku.height,opacity:Ku.opacity,align:Ku.align,valign:Ku.valign,bgcolor:Ku.bgcolor,bordercolor:Ku.bordercolor,borderpad:Ku.borderpad,borderwidth:Ku.borderwidth,showarrow:Ku.showarrow,arrowcolor:Ku.arrowcolor,arrowhead:Ku.arrowhead,startarrowhead:Ku.startarrowhead,arrowside:Ku.arrowside,arrowsize:Ku.arrowsize,startarrowsize:Ku.startarrowsize,arrowwidth:Ku.arrowwidth,standoff:Ku.standoff,startstandoff:Ku.startstandoff,hovertext:Ku.hovertext,hoverlabel:Ku.hoverlabel,captureevents:Ku.captureevents}),\"calc\",\"from-root\")});var Dpe=ye((car,Rpe)=>{\"use strict\";var IU=Mr(),ypt=Qa(),_pt=Zd(),xpt=kU(),bpt=hI();Rpe.exports=function(t,r,n){_pt(t,r,{name:\"annotations\",handleItemDefaults:wpt,fullLayout:n.fullLayout})};function wpt(e,t,r,n){function i(s,l){return IU.coerce(e,t,bpt,s,l)}function a(s){var l=s+\"axis\",u={_fullLayout:{}};return u._fullLayout[l]=r[l],ypt.coercePosition(t,u,i,s,s,.5)}var o=i(\"visible\");o&&(xpt(e,t,n.fullLayout,i),a(\"x\"),a(\"y\"),a(\"z\"),IU.noneOrAll(e,t,[\"x\",\"y\",\"z\"]),t.xref=\"x\",t.yref=\"y\",t.zref=\"z\",i(\"xanchor\"),i(\"yanchor\"),i(\"xshift\"),i(\"yshift\"),t.showarrow&&(t.axref=\"pixel\",t.ayref=\"pixel\",i(\"ax\",-10),i(\"ay\",-30),IU.noneOrAll(e,t,[\"ax\",\"ay\"])))}});var Ope=ye((far,qpe)=>{\"use strict\";var zpe=Mr(),Fpe=Qa();qpe.exports=function(t){for(var r=t.fullSceneLayout,n=r.annotations,i=0;i<n.length;i++)Tpt(n[i],t);t.fullLayout._infolayer.selectAll(\".annotation-\"+t.id).remove()};function Tpt(e,t){var r=t.fullSceneLayout,n=r.domain,i=t.fullLayout._size,a={pdata:null,type:\"linear\",autorange:!1,range:[-1/0,1/0]};e._xa={},zpe.extendFlat(e._xa,a),Fpe.setConvert(e._xa),e._xa._offset=i.l+n.x[0]*i.w,e._xa.l2p=function(){return .5*(1+e._pdata[0]/e._pdata[3])*i.w*(n.x[1]-n.x[0])},e._ya={},zpe.extendFlat(e._ya,a),Fpe.setConvert(e._ya),e._ya._offset=i.t+(1-n.y[1])*i.h,e._ya.l2p=function(){return .5*(1-e._pdata[1]/e._pdata[3])*i.h*(n.y[1]-n.y[0])}}});var DU=ye((har,Bpe)=>{\"use strict\";function RU(e,t){var r=[0,0,0,0],n,i;for(n=0;n<4;++n)for(i=0;i<4;++i)r[i]+=e[4*n+i]*t[n];return r}function Apt(e,t){var r=RU(e.projection,RU(e.view,RU(e.model,[t[0],t[1],t[2],1])));return r}Bpe.exports=Apt});var Upe=ye((dar,Npe)=>{\"use strict\";var Spt=fI().drawRaw,Mpt=DU(),Ept=[\"x\",\"y\",\"z\"];Npe.exports=function(t){for(var r=t.fullSceneLayout,n=t.dataScale,i=r.annotations,a=0;a<i.length;a++){for(var o=i[a],s=!1,l=0;l<3;l++){var u=Ept[l],c=o[u],f=r[u+\"axis\"],h=f.r2fraction(c);if(h<0||h>1){s=!0;break}}s?t.fullLayout._infolayer.select(\".annotation-\"+t.id+'[data-index=\"'+a+'\"]').remove():(o._pdata=Mpt(t.glplot.cameraParams,[r.xaxis.r2l(o.x)*n[0],r.yaxis.r2l(o.y)*n[1],r.zaxis.r2l(o.z)*n[2]]),Spt(t.graphDiv,o,a,t.id,o._xa,o._ya))}}});var Gpe=ye((par,Hpe)=>{\"use strict\";var kpt=ba(),Vpe=Mr();Hpe.exports={moduleType:\"component\",name:\"annotations3d\",schema:{subplots:{scene:{annotations:hI()}}},layoutAttributes:hI(),handleDefaults:Dpe(),includeBasePlot:Cpt,convert:Ope(),draw:Upe()};function Cpt(e,t){var r=kpt.subplotsRegistry.gl3d;if(r)for(var n=r.attrRegex,i=Object.keys(e),a=0;a<i.length;a++){var o=i[a];n.test(o)&&(e[o].annotations||[]).length&&(Vpe.pushUnique(t._basePlotModules,r),Vpe.pushUnique(t._subplots.gl3d,o))}}});var zU=ye((mar,Xpe)=>{\"use strict\";var jpe=Nb(),Wpe=Su(),Zpe=Uc().line,Lpt=Ed().dash,Fg=no().extendFlat,Ppt=Vs().templatedArray,gar=PM(),cT=vl(),Ipt=Wo().shapeTexttemplateAttrs,Rpt=b6();Xpe.exports=Ppt(\"shape\",{visible:Fg({},cT.visible,{editType:\"calc+arraydraw\"}),showlegend:{valType:\"boolean\",dflt:!1,editType:\"calc+arraydraw\"},legend:Fg({},cT.legend,{editType:\"calc+arraydraw\"}),legendgroup:Fg({},cT.legendgroup,{editType:\"calc+arraydraw\"}),legendgrouptitle:{text:Fg({},cT.legendgrouptitle.text,{editType:\"calc+arraydraw\"}),font:Wpe({editType:\"calc+arraydraw\"}),editType:\"calc+arraydraw\"},legendrank:Fg({},cT.legendrank,{editType:\"calc+arraydraw\"}),legendwidth:Fg({},cT.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:Fg({},jpe.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:Fg({},jpe.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:Fg({},Zpe.color,{editType:\"arraydraw\"}),width:Fg({},Zpe.width,{editType:\"calc+arraydraw\"}),dash:Fg({},Lpt,{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:Ipt({},{keys:Object.keys(Rpt)}),font:Wpe({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\"})});var Jpe=ye((yar,Kpe)=>{\"use strict\";var e4=Mr(),fT=Qa(),Dpt=Zd(),zpt=zU(),Ype=h_();Kpe.exports=function(t,r){Dpt(t,r,{name:\"shapes\",handleItemDefaults:qpt})};function Fpt(e,t){return e?\"bottom\":t.indexOf(\"top\")!==-1?\"top\":t.indexOf(\"bottom\")!==-1?\"bottom\":\"middle\"}function qpt(e,t,r){function n(W,re){return e4.coerce(e,t,zpt,W,re)}t._isShape=!0;var i=n(\"visible\");if(i){var a=n(\"showlegend\");a&&(n(\"legend\"),n(\"legendwidth\"),n(\"legendgroup\"),n(\"legendgrouptitle.text\"),e4.coerceFont(n,\"legendgrouptitle.font\"),n(\"legendrank\"));var o=n(\"path\"),s=o?\"path\":\"rect\",l=n(\"type\",s),u=l!==\"path\";u&&delete t.path,n(\"editable\"),n(\"layer\"),n(\"opacity\"),n(\"fillcolor\"),n(\"fillrule\");var c=n(\"line.width\");c&&(n(\"line.color\"),n(\"line.dash\"));for(var f=n(\"xsizemode\"),h=n(\"ysizemode\"),d=[\"x\",\"y\"],v=0;v<2;v++){var x=d[v],b=x+\"anchor\",p=x===\"x\"?f:h,E={_fullLayout:r},k,A,L,_=fT.coerceRef(e,t,E,x,void 0,\"paper\"),C=fT.getRefType(_);if(C===\"range\"?(k=fT.getFromId(E,_),k._shapeIndices.push(t._index),L=Ype.rangeToShapePosition(k),A=Ype.shapePositionToRange(k),(k.type===\"category\"||k.type===\"multicategory\")&&(n(x+\"0shift\"),n(x+\"1shift\"))):A=L=e4.identity,u){var M=.25,g=.75,P=x+\"0\",T=x+\"1\",F=e[P],q=e[T];e[P]=A(e[P],!0),e[T]=A(e[T],!0),p===\"pixel\"?(n(P,0),n(T,10)):(fT.coercePosition(t,E,n,_,P,M),fT.coercePosition(t,E,n,_,T,g)),t[P]=L(t[P]),t[T]=L(t[T]),e[P]=F,e[T]=q}if(p===\"pixel\"){var V=e[b];e[b]=A(e[b],!0),fT.coercePosition(t,E,n,_,b,.25),t[b]=L(t[b]),e[b]=V}}u&&e4.noneOrAll(e,t,[\"x0\",\"x1\",\"y0\",\"y1\"]);var H=l===\"line\",X,G;if(u&&(X=n(\"label.texttemplate\")),X||(G=n(\"label.text\")),G||X){n(\"label.textangle\");var N=n(\"label.textposition\",H?\"middle\":\"middle center\");n(\"label.xanchor\"),n(\"label.yanchor\",Fpt(H,N)),n(\"label.padding\"),e4.coerceFont(n,\"label.font\",r.font)}}}});var e0e=ye((_ar,Qpe)=>{\"use strict\";var Opt=va(),$pe=Mr();function Bpt(e,t){return e?\"bottom\":t.indexOf(\"top\")!==-1?\"top\":t.indexOf(\"bottom\")!==-1?\"bottom\":\"middle\"}Qpe.exports=function(t,r,n){n(\"newshape.visible\"),n(\"newshape.name\"),n(\"newshape.showlegend\"),n(\"newshape.legend\"),n(\"newshape.legendwidth\"),n(\"newshape.legendgroup\"),n(\"newshape.legendgrouptitle.text\"),$pe.coerceFont(n,\"newshape.legendgrouptitle.font\"),n(\"newshape.legendrank\"),n(\"newshape.drawdirection\"),n(\"newshape.layer\"),n(\"newshape.fillcolor\"),n(\"newshape.fillrule\"),n(\"newshape.opacity\");var i=n(\"newshape.line.width\");if(i){var a=(t||{}).plot_bgcolor||\"#FFF\";n(\"newshape.line.color\",Opt.contrast(a)),n(\"newshape.line.dash\")}var o=t.dragmode===\"drawline\",s=n(\"newshape.label.text\"),l=n(\"newshape.label.texttemplate\");if(s||l){n(\"newshape.label.textangle\");var u=n(\"newshape.label.textposition\",o?\"middle\":\"middle center\");n(\"newshape.label.xanchor\"),n(\"newshape.label.yanchor\",Bpt(o,u)),n(\"newshape.label.padding\"),$pe.coerceFont(n,\"newshape.label.font\",r.font)}n(\"activeshape.fillcolor\"),n(\"activeshape.opacity\")}});var a0e=ye((xar,n0e)=>{\"use strict\";var FU=Mr(),hT=Qa(),dT=cM(),r0e=h_();n0e.exports=function(t){var r=t._fullLayout,n=FU.filterVisible(r.shapes);if(!(!n.length||!t._fullData.length))for(var i=0;i<n.length;i++){var a=n[i];a._extremes={};var o,s,l=hT.getRefType(a.xref),u=hT.getRefType(a.yref);a.xref!==\"paper\"&&l!==\"domain\"&&(o=hT.getFromId(t,a.xref),s=t0e(o,a,dT.paramIsX),s&&(a._extremes[o._id]=hT.findExtremes(o,s,Npt(a)))),a.yref!==\"paper\"&&u!==\"domain\"&&(o=hT.getFromId(t,a.yref),s=t0e(o,a,dT.paramIsY),s&&(a._extremes[o._id]=hT.findExtremes(o,s,Upt(a))))}};function Npt(e){return i0e(e.line.width,e.xsizemode,e.x0,e.x1,e.path,!1)}function Upt(e){return i0e(e.line.width,e.ysizemode,e.y0,e.y1,e.path,!0)}function i0e(e,t,r,n,i,a){var o=e/2,s=a;if(t===\"pixel\"){var l=i?r0e.extractPathCoords(i,a?dT.paramIsY:dT.paramIsX):[r,n],u=FU.aggNums(Math.max,null,l),c=FU.aggNums(Math.min,null,l),f=c<0?Math.abs(c)+o:o,h=u>0?u+o:o;return{ppad:o,ppadplus:s?f:h,ppadminus:s?h:f}}else return{ppad:o}}function t0e(e,t,r){var n=e._id.charAt(0)===\"x\"?\"x\":\"y\",i=e.type===\"category\"||e.type===\"multicategory\",a,o,s=0,l=0,u=i?e.r2c:e.d2c,c=t[n+\"sizemode\"]===\"scaled\";if(c?(a=t[n+\"0\"],o=t[n+\"1\"],i&&(s=t[n+\"0shift\"],l=t[n+\"1shift\"])):(a=t[n+\"anchor\"],o=t[n+\"anchor\"]),a!==void 0)return[u(a)+s,u(o)+l];if(t.path){var f=1/0,h=-1/0,d=t.path.match(dT.segmentRE),v,x,b,p,E;for(e.type===\"date\"&&(u=r0e.decodeDate(u)),v=0;v<d.length;v++)x=d[v],b=r[x.charAt(0)].drawn,b!==void 0&&(p=d[v].substr(1).match(dT.paramRE),!(!p||p.length<b)&&(E=u(p[b]),E<f&&(f=E),E>h&&(h=E)));if(h>=f)return[f,h]}}});var l0e=ye((bar,s0e)=>{\"use strict\";var o0e=rP();s0e.exports={moduleType:\"component\",name:\"shapes\",layoutAttributes:zU(),supplyLayoutDefaults:Jpe(),supplyDrawNewShapeDefaults:e0e(),includeBasePlot:IM()(\"shapes\"),calcAutorange:a0e(),draw:o0e.draw,drawOne:o0e.drawOne}});var qU=ye((Tar,c0e)=>{\"use strict\";var u0e=ad(),Vpt=Vs().templatedArray,war=PM();c0e.exports=Vpt(\"image\",{visible:{valType:\"boolean\",dflt:!0,editType:\"arraydraw\"},source:{valType:\"string\",editType:\"arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\",editType:\"arraydraw\"},sizex:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizey:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizing:{valType:\"enumerated\",values:[\"fill\",\"contain\",\"stretch\"],dflt:\"contain\",editType:\"arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},x:{valType:\"any\",dflt:0,editType:\"arraydraw\"},y:{valType:\"any\",dflt:0,editType:\"arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"top\",editType:\"arraydraw\"},xref:{valType:\"enumerated\",values:[\"paper\",u0e.idRegex.x.toString()],dflt:\"paper\",editType:\"arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",u0e.idRegex.y.toString()],dflt:\"paper\",editType:\"arraydraw\"},editType:\"arraydraw\"})});var h0e=ye((Aar,f0e)=>{\"use strict\";var Hpt=Mr(),OU=Qa(),Gpt=Zd(),jpt=qU(),Wpt=\"images\";f0e.exports=function(t,r){var n={name:Wpt,handleItemDefaults:Zpt};Gpt(t,r,n)};function Zpt(e,t,r){function n(h,d){return Hpt.coerce(e,t,jpt,h,d)}var i=n(\"source\"),a=n(\"visible\",!!i);if(!a)return t;n(\"layer\"),n(\"xanchor\"),n(\"yanchor\"),n(\"sizex\"),n(\"sizey\"),n(\"sizing\"),n(\"opacity\");for(var o={_fullLayout:r},s=[\"x\",\"y\"],l=0;l<2;l++){var u=s[l],c=OU.coerceRef(e,t,o,u,\"paper\",void 0);if(c!==\"paper\"){var f=OU.getFromId(o,c);f._imgIndices.push(t._index)}OU.coercePosition(t,o,n,c,u,0)}return t}});var g0e=ye((Sar,p0e)=>{\"use strict\";var d0e=xa(),Xpt=ao(),vT=Qa(),v0e=af(),Ypt=Zp();p0e.exports=function(t){var r=t._fullLayout,n=[],i={},a=[],o,s;for(s=0;s<r.images.length;s++){var l=r.images[s];if(l.visible)if(l.layer===\"below\"&&l.xref!==\"paper\"&&l.yref!==\"paper\"){o=v0e.ref2id(l.xref)+v0e.ref2id(l.yref);var u=r._plots[o];if(!u){a.push(l);continue}u.mainplot&&(o=u.mainplot.id),i[o]||(i[o]=[]),i[o].push(l)}else l.layer===\"above\"?n.push(l):a.push(l)}var c={x:{left:{sizing:\"xMin\",offset:0},center:{sizing:\"xMid\",offset:-1/2},right:{sizing:\"xMax\",offset:-1}},y:{top:{sizing:\"YMin\",offset:0},middle:{sizing:\"YMid\",offset:-1/2},bottom:{sizing:\"YMax\",offset:-1}}};function f(A){var L=d0e.select(this);if(this._imgSrc!==A.source)if(L.attr(\"xmlns\",Ypt.svg),!t._context.staticPlot||A.source&&A.source.slice(0,5)===\"data:\")L.attr(\"xlink:href\",A.source),this._imgSrc=A.source;else{var _=new Promise(function(C){var M=new Image;this.img=M,M.setAttribute(\"crossOrigin\",\"anonymous\"),M.onerror=g,M.onload=function(){var P=document.createElement(\"canvas\");P.width=this.width,P.height=this.height;var T=P.getContext(\"2d\",{willReadFrequently:!0});T.drawImage(this,0,0);var F=P.toDataURL(\"image/png\");L.attr(\"xlink:href\",F),C()},L.on(\"error\",g),M.src=A.source,this._imgSrc=A.source;function g(){L.remove(),C()}}.bind(this));t._promises.push(_)}}function h(A){var L=d0e.select(this),_=vT.getFromId(t,A.xref),C=vT.getFromId(t,A.yref),M=vT.getRefType(A.xref)===\"domain\",g=vT.getRefType(A.yref)===\"domain\",P=r._size,T,F;_!==void 0?T=typeof A.xref==\"string\"&&M?_._length*A.sizex:Math.abs(_.l2p(A.sizex)-_.l2p(0)):T=A.sizex*P.w,C!==void 0?F=typeof A.yref==\"string\"&&g?C._length*A.sizey:Math.abs(C.l2p(A.sizey)-C.l2p(0)):F=A.sizey*P.h;var q=T*c.x[A.xanchor].offset,V=F*c.y[A.yanchor].offset,H=c.x[A.xanchor].sizing+c.y[A.yanchor].sizing,X,G;switch(_!==void 0?X=typeof A.xref==\"string\"&&M?_._length*A.x+_._offset:_.r2p(A.x)+_._offset:X=A.x*P.w+P.l,X+=q,C!==void 0?G=typeof A.yref==\"string\"&&g?C._length*(1-A.y)+C._offset:C.r2p(A.y)+C._offset:G=P.h-A.y*P.h+P.t,G+=V,A.sizing){case\"fill\":H+=\" slice\";break;case\"stretch\":H=\"none\";break}L.attr({x:X,y:G,width:T,height:F,preserveAspectRatio:H,opacity:A.opacity});var N=_&&vT.getRefType(A.xref)!==\"domain\"?_._id:\"\",W=C&&vT.getRefType(A.yref)!==\"domain\"?C._id:\"\",re=N+W;Xpt.setClipUrl(L,re?\"clip\"+r._uid+re:null,t)}function d(A){return[A.xref,A.x,A.sizex,A.yref,A.y,A.sizey].join(\"_\")}function v(A,L){return A._index-L._index}var x=r._imageLowerLayer.selectAll(\"image\").data(a,d),b=r._imageUpperLayer.selectAll(\"image\").data(n,d);x.enter().append(\"image\"),b.enter().append(\"image\"),x.exit().remove(),b.exit().remove(),x.each(function(A){f.bind(this)(A),h.bind(this)(A)}),b.each(function(A){f.bind(this)(A),h.bind(this)(A)}),x.sort(v),b.sort(v);var p=Object.keys(r._plots);for(s=0;s<p.length;s++){o=p[s];var E=r._plots[o];if(E.imagelayer){var k=E.imagelayer.selectAll(\"image\").data(i[o]||[],d);k.enter().append(\"image\"),k.exit().remove(),k.each(function(A){f.bind(this)(A),h.bind(this)(A)}),k.sort(v)}}}});var _0e=ye((Mar,y0e)=>{\"use strict\";var m0e=uo(),Kpt=u6();y0e.exports=function(t,r,n,i){r=r||{};var a=n===\"log\"&&r.type===\"linear\",o=n===\"linear\"&&r.type===\"log\";if(a||o){for(var s=t._fullLayout.images,l=r._id.charAt(0),u,c,f=0;f<s.length;f++)if(u=s[f],c=\"images[\"+f+\"].\",u[l+\"ref\"]===r._id){var h=u[l],d=u[\"size\"+l],v=null,x=null;if(a){v=Kpt(h,r.range);var b=d/Math.pow(10,v)/2;x=2*Math.log(b+Math.sqrt(1+b*b))/Math.LN10}else v=Math.pow(10,h),x=v*(Math.pow(10,d/2)-Math.pow(10,-d/2));m0e(v)?m0e(x)||(x=null):(v=null,x=null),i(c+l,v),i(c+\"size\"+l,x)}}}});var b0e=ye((Ear,x0e)=>{\"use strict\";x0e.exports={moduleType:\"component\",name:\"images\",layoutAttributes:qU(),supplyLayoutDefaults:h0e(),includeBasePlot:IM()(\"images\"),draw:g0e(),convertCoords:_0e()}});var dI=ye((kar,w0e)=>{\"use strict\";w0e.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\"}}});var BU=ye((Car,A0e)=>{\"use strict\";var Jpt=Su(),$pt=dh(),Qpt=no().extendFlat,e0t=Bu().overrideAll,t0t=w6(),T0e=Vs().templatedArray,r0t=T0e(\"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}});A0e.exports=e0t(T0e(\"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:r0t,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:Qpt(t0t({editType:\"arraydraw\"}),{}),font:Jpt({}),bgcolor:{valType:\"color\"},bordercolor:{valType:\"color\",dflt:$pt.borderLine},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"arraydraw\"}}),\"arraydraw\",\"from-root\")});var k0e=ye((Lar,E0e)=>{\"use strict\";var vI=Mr(),S0e=Zd(),M0e=BU(),i0t=dI(),n0t=i0t.name,a0t=M0e.buttons;E0e.exports=function(t,r){var n={name:n0t,handleItemDefaults:o0t};S0e(t,r,n)};function o0t(e,t,r){function n(o,s){return vI.coerce(e,t,M0e,o,s)}var i=S0e(e,t,{name:\"buttons\",handleItemDefaults:s0t}),a=n(\"visible\",i.length>0);a&&(n(\"active\"),n(\"direction\"),n(\"type\"),n(\"showactive\"),n(\"x\"),n(\"y\"),vI.noneOrAll(e,t,[\"x\",\"y\"]),n(\"xanchor\"),n(\"yanchor\"),n(\"pad.t\"),n(\"pad.r\"),n(\"pad.b\"),n(\"pad.l\"),vI.coerceFont(n,\"font\",r.font),n(\"bgcolor\",r.paper_bgcolor),n(\"bordercolor\"),n(\"borderwidth\"))}function s0t(e,t){function r(i,a){return vI.coerce(e,t,a0t,i,a)}var n=r(\"visible\",e.method===\"skip\"||Array.isArray(e.args));n&&(r(\"method\"),r(\"args\"),r(\"args2\"),r(\"label\"),r(\"execute\"))}});var P0e=ye((Par,L0e)=>{\"use strict\";L0e.exports=of;var qg=xa(),C0e=va(),pT=ao(),pI=Mr();function of(e,t,r){this.gd=e,this.container=t,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll(\"rect.scrollbox-bg\").data([0]),this.bg.exit().on(\".drag\",null).on(\"wheel\",null).remove(),this.bg.enter().append(\"rect\").classed(\"scrollbox-bg\",!0).style(\"pointer-events\",\"all\").attr({opacity:0,x:0,y:0,width:0,height:0})}of.barWidth=2;of.barLength=20;of.barRadius=2;of.barPad=1;of.barColor=\"#808BA4\";of.prototype.enable=function(t,r,n){var i=this.gd._fullLayout,a=i.width,o=i.height;this.position=t;var s=this.position.l,l=this.position.w,u=this.position.t,c=this.position.h,f=this.position.direction,h=f===\"down\",d=f===\"left\",v=f===\"right\",x=f===\"up\",b=l,p=c,E,k,A,L;!h&&!d&&!v&&!x&&(this.position.direction=\"down\",h=!0);var _=h||x;_?(E=s,k=E+b,h?(A=u,L=Math.min(A+p,o),p=L-A):(L=u+p,A=Math.max(L-p,0),p=L-A)):(A=u,L=A+p,d?(k=s+b,E=Math.max(k-b,0),b=k-E):(E=s,k=Math.min(E+b,a),b=k-E)),this._box={l:E,t:A,w:b,h:p};var C=l>b,M=of.barLength+2*of.barPad,g=of.barWidth+2*of.barPad,P=s,T=u+c;T+g>o&&(T=o-g);var F=this.container.selectAll(\"rect.scrollbar-horizontal\").data(C?[0]:[]);F.exit().on(\".drag\",null).remove(),F.enter().append(\"rect\").classed(\"scrollbar-horizontal\",!0).call(C0e.fill,of.barColor),C?(this.hbar=F.attr({rx:of.barRadius,ry:of.barRadius,x:P,y:T,width:M,height:g}),this._hbarXMin=P+M/2,this._hbarTranslateMax=b-M):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var q=c>p,V=of.barWidth+2*of.barPad,H=of.barLength+2*of.barPad,X=s+l,G=u;X+V>a&&(X=a-V);var N=this.container.selectAll(\"rect.scrollbar-vertical\").data(q?[0]:[]);N.exit().on(\".drag\",null).remove(),N.enter().append(\"rect\").classed(\"scrollbar-vertical\",!0).call(C0e.fill,of.barColor),q?(this.vbar=N.attr({rx:of.barRadius,ry:of.barRadius,x:X,y:G,width:V,height:H}),this._vbarYMin=G+H/2,this._vbarTranslateMax=p-H):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var W=this.id,re=E-.5,ae=q?k+V+.5:k+.5,_e=A-.5,Me=C?L+g+.5:L+.5,ke=i._topdefs.selectAll(\"#\"+W).data(C||q?[0]:[]);if(ke.exit().remove(),ke.enter().append(\"clipPath\").attr(\"id\",W).append(\"rect\"),C||q?(this._clipRect=ke.select(\"rect\").attr({x:Math.floor(re),y:Math.floor(_e),width:Math.ceil(ae)-Math.floor(re),height:Math.ceil(Me)-Math.floor(_e)}),this.container.call(pT.setClipUrl,W,this.gd),this.bg.attr({x:s,y:u,width:l,height:c})):(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(pT.setClipUrl,null),delete this._clipRect),C||q){var ge=qg.behavior.drag().on(\"dragstart\",function(){qg.event.sourceEvent.preventDefault()}).on(\"drag\",this._onBoxDrag.bind(this));this.container.on(\"wheel\",null).on(\"wheel\",this._onBoxWheel.bind(this)).on(\".drag\",null).call(ge);var ie=qg.behavior.drag().on(\"dragstart\",function(){qg.event.sourceEvent.preventDefault(),qg.event.sourceEvent.stopPropagation()}).on(\"drag\",this._onBarDrag.bind(this));C&&this.hbar.on(\".drag\",null).call(ie),q&&this.vbar.on(\".drag\",null).call(ie)}this.setTranslate(r,n)};of.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(pT.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)};of.prototype._onBoxDrag=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t-=qg.event.dx),this.vbar&&(r-=qg.event.dy),this.setTranslate(t,r)};of.prototype._onBoxWheel=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t+=qg.event.deltaY),this.vbar&&(r+=qg.event.deltaY),this.setTranslate(t,r)};of.prototype._onBarDrag=function(){var t=this.translateX,r=this.translateY;if(this.hbar){var n=t+this._hbarXMin,i=n+this._hbarTranslateMax,a=pI.constrain(qg.event.x,n,i),o=(a-n)/(i-n),s=this.position.w-this._box.w;t=o*s}if(this.vbar){var l=r+this._vbarYMin,u=l+this._vbarTranslateMax,c=pI.constrain(qg.event.y,l,u),f=(c-l)/(u-l),h=this.position.h-this._box.h;r=f*h}this.setTranslate(t,r)};of.prototype.setTranslate=function(t,r){var n=this.position.w-this._box.w,i=this.position.h-this._box.h;if(t=pI.constrain(t||0,0,n),r=pI.constrain(r||0,0,i),this.translateX=t,this.translateY=r,this.container.call(pT.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-r),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+r-.5)}),this.hbar){var a=t/n;this.hbar.call(pT.setTranslate,t+a*this._hbarTranslateMax,r)}if(this.vbar){var o=r/i;this.vbar.call(pT.setTranslate,t,r+o*this._vbarTranslateMax)}}});var U0e=ye((Iar,N0e)=>{\"use strict\";var gT=xa(),t4=Xu(),r4=va(),mT=ao(),e0=Mr(),gI=Pl(),l0t=Vs().arrayEditor,R0e=Nh().LINE_SPACING,Go=dI(),u0t=P0e();N0e.exports=function(t){var r=t._fullLayout,n=e0.filterVisible(r[Go.name]);function i(h){t4.autoMargin(t,O0e(h))}var a=r._menulayer.selectAll(\"g.\"+Go.containerClassName).data(n.length>0?[0]:[]);if(a.enter().append(\"g\").classed(Go.containerClassName,!0).style(\"cursor\",\"pointer\"),a.exit().each(function(){gT.select(this).selectAll(\"g.\"+Go.headerGroupClassName).each(i)}).remove(),n.length!==0){var o=a.selectAll(\"g.\"+Go.headerGroupClassName).data(n,c0t);o.enter().append(\"g\").classed(Go.headerGroupClassName,!0);for(var s=e0.ensureSingle(a,\"g\",Go.dropdownButtonGroupClassName,function(h){h.style(\"pointer-events\",\"all\")}),l=0;l<n.length;l++){var u=n[l];g0t(t,u)}var c=\"updatemenus\"+r._uid,f=new u0t(t,s,c);o.enter().size()&&(s.node().parentNode.appendChild(s.node()),s.call(UU)),o.exit().each(function(h){s.call(UU),i(h)}).remove(),o.each(function(h){var d=gT.select(this),v=h.type===\"dropdown\"?s:null;t4.manageCommandObserver(t,h,h.buttons,function(x){NU(t,h,h.buttons[x.index],d,v,f,x.index,!0)}),h.type===\"dropdown\"?(z0e(t,d,s,f,h),D0e(s,h)&&i4(t,d,s,f,h)):i4(t,d,null,null,h)})}};function c0t(e){return e._index}function f0t(e){return+e.attr(Go.menuIndexAttrName)==-1}function D0e(e,t){return+e.attr(Go.menuIndexAttrName)===t._index}function NU(e,t,r,n,i,a,o,s){t.active=o,l0t(e.layout,Go.name,t).applyUpdate(\"active\",o),t.type===\"buttons\"?i4(e,n,null,null,t):t.type===\"dropdown\"&&(i.attr(Go.menuIndexAttrName,\"-1\"),z0e(e,n,i,a,t),s||i4(e,n,i,a,t))}function z0e(e,t,r,n,i){var a=e0.ensureSingle(t,\"g\",Go.headerClassName,function(h){h.style(\"pointer-events\",\"all\")}),o=i._dims,s=i.active,l=i.buttons[s]||Go.blankHeaderOpts,u={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},c={width:o.headerWidth,height:o.headerHeight};a.call(VU,i,l,e).call(B0e,i,u,c);var f=e0.ensureSingle(t,\"text\",Go.headerArrowClassName,function(h){h.attr(\"text-anchor\",\"end\").call(mT.font,i.font).text(Go.arrowSymbol[i.direction])});f.attr({x:o.headerWidth-Go.arrowOffsetX+i.pad.l,y:o.headerHeight/2+Go.textOffsetY+i.pad.t}),a.on(\"click\",function(){r.call(UU,String(D0e(r,i)?-1:i._index)),i4(e,t,r,n,i)}),a.on(\"mouseover\",function(){a.call(F0e)}),a.on(\"mouseout\",function(){a.call(q0e,i)}),mT.setTranslate(t,o.lx,o.ly)}function i4(e,t,r,n,i){r||(r=t,r.attr(\"pointer-events\",\"all\"));var a=!f0t(r)||i.type===\"buttons\"?i.buttons:[],o=i.type===\"dropdown\"?Go.dropdownButtonClassName:Go.buttonClassName,s=r.selectAll(\"g.\"+o).data(e0.filterVisible(a)),l=s.enter().append(\"g\").classed(o,!0),u=s.exit();i.type===\"dropdown\"?(l.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),u.transition().attr(\"opacity\",\"0\").remove()):u.remove();var c=0,f=0,h=i._dims,d=[\"up\",\"down\"].indexOf(i.direction)!==-1;i.type===\"dropdown\"&&(d?f=h.headerHeight+Go.gapButtonHeader:c=h.headerWidth+Go.gapButtonHeader),i.type===\"dropdown\"&&i.direction===\"up\"&&(f=-Go.gapButtonHeader+Go.gapButton-h.openHeight),i.type===\"dropdown\"&&i.direction===\"left\"&&(c=-Go.gapButtonHeader+Go.gapButton-h.openWidth);var v={x:h.lx+c+i.pad.l,y:h.ly+f+i.pad.t,yPad:Go.gapButton,xPad:Go.gapButton,index:0},x={l:v.x+i.borderwidth,t:v.y+i.borderwidth};s.each(function(b,p){var E=gT.select(this);E.call(VU,i,b,e).call(B0e,i,v),E.on(\"click\",function(){gT.event.defaultPrevented||(b.execute&&(b.args2&&i.active===p?(NU(e,i,b,t,r,n,-1),t4.executeAPICommand(e,b.method,b.args2)):(NU(e,i,b,t,r,n,p),t4.executeAPICommand(e,b.method,b.args))),e.emit(\"plotly_buttonclicked\",{menu:i,button:b,active:i.active}))}),E.on(\"mouseover\",function(){E.call(F0e)}),E.on(\"mouseout\",function(){E.call(q0e,i),s.call(I0e,i)})}),s.call(I0e,i),d?(x.w=Math.max(h.openWidth,h.headerWidth),x.h=v.y-x.t):(x.w=v.x-x.l,x.h=Math.max(h.openHeight,h.headerHeight)),x.direction=i.direction,n&&(s.size()?h0t(e,t,r,n,i,x):d0t(n))}function h0t(e,t,r,n,i,a){var o=i.direction,s=o===\"up\"||o===\"down\",l=i._dims,u=i.active,c,f,h;if(s)for(f=0,h=0;h<u;h++)f+=l.heights[h]+Go.gapButton;else for(c=0,h=0;h<u;h++)c+=l.widths[h]+Go.gapButton;n.enable(a,c,f),n.hbar&&n.hbar.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),n.vbar&&n.vbar.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\")}function d0t(e){var t=!!e.hbar,r=!!e.vbar;t&&e.hbar.transition().attr(\"opacity\",\"0\").each(\"end\",function(){t=!1,r||e.disable()}),r&&e.vbar.transition().attr(\"opacity\",\"0\").each(\"end\",function(){r=!1,t||e.disable()})}function VU(e,t,r,n){e.call(v0t,t).call(p0t,t,r,n)}function v0t(e,t){var r=e0.ensureSingle(e,\"rect\",Go.itemRectClassName,function(n){n.attr({rx:Go.rx,ry:Go.ry,\"shape-rendering\":\"crispEdges\"})});r.call(r4.stroke,t.bordercolor).call(r4.fill,t.bgcolor).style(\"stroke-width\",t.borderwidth+\"px\")}function p0t(e,t,r,n){var i=e0.ensureSingle(e,\"text\",Go.itemTextClassName,function(s){s.attr({\"text-anchor\":\"start\",\"data-notex\":1})}),a=r.label,o=n._fullLayout._meta;o&&(a=e0.templateString(a,o)),i.call(mT.font,t.font).text(a).call(gI.convertToTspans,n)}function I0e(e,t){var r=t.active;e.each(function(n,i){var a=gT.select(this);i===r&&t.showactive&&a.select(\"rect.\"+Go.itemRectClassName).call(r4.fill,Go.activeColor)})}function F0e(e){e.select(\"rect.\"+Go.itemRectClassName).call(r4.fill,Go.hoverColor)}function q0e(e,t){e.select(\"rect.\"+Go.itemRectClassName).call(r4.fill,t.bgcolor)}function g0t(e,t){var r=t._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},n=mT.tester.selectAll(\"g.\"+Go.dropdownButtonClassName).data(e0.filterVisible(t.buttons));n.enter().append(\"g\").classed(Go.dropdownButtonClassName,!0);var i=[\"up\",\"down\"].indexOf(t.direction)!==-1;n.each(function(c,f){var h=gT.select(this);h.call(VU,t,c,e);var d=h.select(\".\"+Go.itemTextClassName),v=d.node()&&mT.bBox(d.node()).width,x=Math.max(v+Go.textPadX,Go.minWidth),b=t.font.size*R0e,p=gI.lineCount(d),E=Math.max(b*p,Go.minHeight)+Go.textOffsetY;E=Math.ceil(E),x=Math.ceil(x),r.widths[f]=x,r.heights[f]=E,r.height1=Math.max(r.height1,E),r.width1=Math.max(r.width1,x),i?(r.totalWidth=Math.max(r.totalWidth,x),r.openWidth=r.totalWidth,r.totalHeight+=E+Go.gapButton,r.openHeight+=E+Go.gapButton):(r.totalWidth+=x+Go.gapButton,r.openWidth+=x+Go.gapButton,r.totalHeight=Math.max(r.totalHeight,E),r.openHeight=r.totalHeight)}),i?r.totalHeight-=Go.gapButton:r.totalWidth-=Go.gapButton,r.headerWidth=r.width1+Go.arrowPadX,r.headerHeight=r.height1,t.type===\"dropdown\"&&(i?(r.width1+=Go.arrowPadX,r.totalHeight=r.height1):r.totalWidth=r.width1,r.totalWidth+=Go.arrowPadX),n.remove();var a=r.totalWidth+t.pad.l+t.pad.r,o=r.totalHeight+t.pad.t+t.pad.b,s=e._fullLayout._size;r.lx=s.l+s.w*t.x,r.ly=s.t+s.h*(1-t.y);var l=\"left\";e0.isRightAnchor(t)&&(r.lx-=a,l=\"right\"),e0.isCenterAnchor(t)&&(r.lx-=a/2,l=\"center\");var u=\"top\";e0.isBottomAnchor(t)&&(r.ly-=o,u=\"bottom\"),e0.isMiddleAnchor(t)&&(r.ly-=o/2,u=\"middle\"),r.totalWidth=Math.ceil(r.totalWidth),r.totalHeight=Math.ceil(r.totalHeight),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),t4.autoMargin(e,O0e(t),{x:t.x,y:t.y,l:a*({right:1,center:.5}[l]||0),r:a*({left:1,center:.5}[l]||0),b:o*({top:1,middle:.5}[u]||0),t:o*({bottom:1,middle:.5}[u]||0)})}function O0e(e){return Go.autoMarginIdRoot+e._index}function B0e(e,t,r,n){n=n||{};var i=e.select(\".\"+Go.itemRectClassName),a=e.select(\".\"+Go.itemTextClassName),o=t.borderwidth,s=r.index,l=t._dims;mT.setTranslate(e,o+r.x,o+r.y);var u=[\"up\",\"down\"].indexOf(t.direction)!==-1,c=n.height||(u?l.heights[s]:l.height1);i.attr({x:0,y:0,width:n.width||(u?l.width1:l.widths[s]),height:c});var f=t.font.size*R0e,h=gI.lineCount(a),d=(h-1)*f/2;gI.positionText(a,Go.textOffsetX,c/2-d+Go.textOffsetY),u?r.y+=l.heights[s]+r.yPad:r.x+=l.widths[s]+r.xPad,r.index++}function UU(e,t){e.attr(Go.menuIndexAttrName,t||\"-1\").selectAll(\"g.\"+Go.dropdownButtonClassName).remove()}});var H0e=ye((Rar,V0e)=>{\"use strict\";var m0t=dI();V0e.exports={moduleType:\"component\",name:m0t.name,layoutAttributes:BU(),supplyLayoutDefaults:k0e(),draw:U0e()}});var n4=ye((Dar,G0e)=>{\"use strict\";G0e.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}});var HU=ye((zar,Z0e)=>{\"use strict\";var j0e=Su(),y0t=w6(),_0t=no().extendDeepAll,x0t=Bu().overrideAll,b0t=zS(),W0e=Vs().templatedArray,Jb=n4(),w0t=W0e(\"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}});Z0e.exports=x0t(W0e(\"slider\",{visible:{valType:\"boolean\",dflt:!0},active:{valType:\"number\",min:0,dflt:0},steps:w0t,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:_0t(y0t({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:b0t.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:j0e({})},font:j0e({}),activebgcolor:{valType:\"color\",dflt:Jb.gripBgActiveColor},bgcolor:{valType:\"color\",dflt:Jb.railBgColor},bordercolor:{valType:\"color\",dflt:Jb.railBorderColor},borderwidth:{valType:\"number\",min:0,dflt:Jb.railBorderWidth},ticklen:{valType:\"number\",min:0,dflt:Jb.tickLength},tickcolor:{valType:\"color\",dflt:Jb.tickColor},tickwidth:{valType:\"number\",min:0,dflt:1},minorticklen:{valType:\"number\",min:0,dflt:Jb.minorTickLength}}),\"arraydraw\",\"from-root\")});var J0e=ye((Far,K0e)=>{\"use strict\";var yT=Mr(),X0e=Zd(),Y0e=HU(),T0t=n4(),A0t=T0t.name,S0t=Y0e.steps;K0e.exports=function(t,r){X0e(t,r,{name:A0t,handleItemDefaults:M0t})};function M0t(e,t,r){function n(f,h){return yT.coerce(e,t,Y0e,f,h)}for(var i=X0e(e,t,{name:\"steps\",handleItemDefaults:E0t}),a=0,o=0;o<i.length;o++)i[o].visible&&a++;var s;if(a<2?s=t.visible=!1:s=n(\"visible\"),!!s){t._stepCount=a;var l=t._visibleSteps=yT.filterVisible(i),u=n(\"active\");(i[u]||{}).visible||(t.active=l[0]._index),n(\"x\"),n(\"y\"),yT.noneOrAll(e,t,[\"x\",\"y\"]),n(\"xanchor\"),n(\"yanchor\"),n(\"len\"),n(\"lenmode\"),n(\"pad.t\"),n(\"pad.r\"),n(\"pad.b\"),n(\"pad.l\"),yT.coerceFont(n,\"font\",r.font);var c=n(\"currentvalue.visible\");c&&(n(\"currentvalue.xanchor\"),n(\"currentvalue.prefix\"),n(\"currentvalue.suffix\"),n(\"currentvalue.offset\"),yT.coerceFont(n,\"currentvalue.font\",t.font)),n(\"transition.duration\"),n(\"transition.easing\"),n(\"bgcolor\"),n(\"activebgcolor\"),n(\"bordercolor\"),n(\"borderwidth\"),n(\"ticklen\"),n(\"tickwidth\"),n(\"tickcolor\"),n(\"minorticklen\")}}function E0t(e,t){function r(a,o){return yT.coerce(e,t,S0t,a,o)}var n;if(e.method!==\"skip\"&&!Array.isArray(e.args)?n=t.visible=!1:n=r(\"visible\"),n){r(\"method\"),r(\"args\");var i=r(\"label\",\"step-\"+t._index);r(\"value\",i),r(\"execute\")}}});var sge=ye((qar,oge)=>{\"use strict\";var Og=xa(),mI=Xu(),x_=va(),Bg=ao(),t0=Mr(),k0t=t0.strTranslate,a4=Pl(),C0t=Vs().arrayEditor,gs=n4(),WU=Nh(),ege=WU.LINE_SPACING,GU=WU.FROM_TL,jU=WU.FROM_BR;oge.exports=function(t){var r=t._context.staticPlot,n=t._fullLayout,i=L0t(n,t),a=n._infolayer.selectAll(\"g.\"+gs.containerClassName).data(i.length>0?[0]:[]);a.enter().append(\"g\").classed(gs.containerClassName,!0).style(\"cursor\",r?null:\"ew-resize\");function o(c){c._commandObserver&&(c._commandObserver.remove(),delete c._commandObserver),mI.autoMargin(t,tge(c))}if(a.exit().each(function(){Og.select(this).selectAll(\"g.\"+gs.groupClassName).each(o)}).remove(),i.length!==0){var s=a.selectAll(\"g.\"+gs.groupClassName).data(i,P0t);s.enter().append(\"g\").classed(gs.groupClassName,!0),s.exit().each(o).remove();for(var l=0;l<i.length;l++){var u=i[l];I0t(t,u)}s.each(function(c){var f=Og.select(this);q0t(c),mI.manageCommandObserver(t,c,c._visibleSteps,function(h){var d=f.data()[0];d.active!==h.index&&(d._dragging||ige(t,f,d,h.index,!1,!0))}),R0t(t,Og.select(this),c)})}};function tge(e){return gs.autoMarginIdRoot+e._index}function L0t(e,t){for(var r=e[gs.name],n=[],i=0;i<r.length;i++){var a=r[i];a.visible&&(a._gd=t,n.push(a))}return n}function P0t(e){return e._index}function I0t(e,t){var r=Bg.tester.selectAll(\"g.\"+gs.labelGroupClass).data(t._visibleSteps);r.enter().append(\"g\").classed(gs.labelGroupClass,!0);var n=0,i=0;r.each(function(v){var x=Og.select(this),b=rge(x,{step:v},t),p=b.node();if(p){var E=Bg.bBox(p);i=Math.max(i,E.height),n=Math.max(n,E.width)}}),r.remove();var a=t._dims={};a.inputAreaWidth=Math.max(gs.railWidth,gs.gripHeight);var o=e._fullLayout._size;a.lx=o.l+o.w*t.x,a.ly=o.t+o.h*(1-t.y),t.lenmode===\"fraction\"?a.outerLength=Math.round(o.w*t.len):a.outerLength=t.len,a.inputAreaStart=0,a.inputAreaLength=Math.round(a.outerLength-t.pad.l-t.pad.r);var s=a.inputAreaLength-2*gs.stepInset,l=s/(t._stepCount-1),u=n+gs.labelPadding;if(a.labelStride=Math.max(1,Math.ceil(u/l)),a.labelHeight=i,a.currentValueMaxWidth=0,a.currentValueHeight=0,a.currentValueTotalHeight=0,a.currentValueMaxLines=1,t.currentvalue.visible){var c=Bg.tester.append(\"g\");r.each(function(v){var x=yI(c,t,v.label),b=x.node()&&Bg.bBox(x.node())||{width:0,height:0},p=a4.lineCount(x);a.currentValueMaxWidth=Math.max(a.currentValueMaxWidth,Math.ceil(b.width)),a.currentValueHeight=Math.max(a.currentValueHeight,Math.ceil(b.height)),a.currentValueMaxLines=Math.max(a.currentValueMaxLines,p)}),a.currentValueTotalHeight=a.currentValueHeight+t.currentvalue.offset,c.remove()}a.height=a.currentValueTotalHeight+gs.tickOffset+t.ticklen+gs.labelOffset+a.labelHeight+t.pad.t+t.pad.b;var f=\"left\";t0.isRightAnchor(t)&&(a.lx-=a.outerLength,f=\"right\"),t0.isCenterAnchor(t)&&(a.lx-=a.outerLength/2,f=\"center\");var h=\"top\";t0.isBottomAnchor(t)&&(a.ly-=a.height,h=\"bottom\"),t0.isMiddleAnchor(t)&&(a.ly-=a.height/2,h=\"middle\"),a.outerLength=Math.ceil(a.outerLength),a.height=Math.ceil(a.height),a.lx=Math.round(a.lx),a.ly=Math.round(a.ly);var d={y:t.y,b:a.height*jU[h],t:a.height*GU[h]};t.lenmode===\"fraction\"?(d.l=0,d.xl=t.x-t.len*GU[f],d.r=0,d.xr=t.x+t.len*jU[f]):(d.x=t.x,d.l=a.outerLength*GU[f],d.r=a.outerLength*jU[f]),mI.autoMargin(e,tge(t),d)}function R0t(e,t,r){(r.steps[r.active]||{}).visible||(r.active=r._visibleSteps[0]._index),t.call(yI,r).call(B0t,r).call(z0t,r).call(F0t,r).call(O0t,e,r).call(D0t,e,r);var n=r._dims;Bg.setTranslate(t,n.lx+r.pad.l,n.ly+r.pad.t),t.call(age,r,!1),t.call(yI,r)}function yI(e,t,r){if(t.currentvalue.visible){var n=t._dims,i,a;switch(t.currentvalue.xanchor){case\"right\":i=n.inputAreaLength-gs.currentValueInset-n.currentValueMaxWidth,a=\"left\";break;case\"center\":i=n.inputAreaLength*.5,a=\"middle\";break;default:i=gs.currentValueInset,a=\"left\"}var o=t0.ensureSingle(e,\"text\",gs.labelClass,function(h){h.attr({\"text-anchor\":a,\"data-notex\":1})}),s=t.currentvalue.prefix?t.currentvalue.prefix:\"\";if(typeof r==\"string\")s+=r;else{var l=t.steps[t.active].label,u=t._gd._fullLayout._meta;u&&(l=t0.templateString(l,u)),s+=l}t.currentvalue.suffix&&(s+=t.currentvalue.suffix),o.call(Bg.font,t.currentvalue.font).text(s).call(a4.convertToTspans,t._gd);var c=a4.lineCount(o),f=(n.currentValueMaxLines+1-c)*t.currentvalue.font.size*ege;return a4.positionText(o,i,f),o}}function D0t(e,t,r){var n=t0.ensureSingle(e,\"rect\",gs.gripRectClass,function(i){i.call(nge,t,e,r).style(\"pointer-events\",\"all\")});n.attr({width:gs.gripWidth,height:gs.gripHeight,rx:gs.gripRadius,ry:gs.gripRadius}).call(x_.stroke,r.bordercolor).call(x_.fill,r.bgcolor).style(\"stroke-width\",r.borderwidth+\"px\")}function rge(e,t,r){var n=t0.ensureSingle(e,\"text\",gs.labelClass,function(o){o.attr({\"text-anchor\":\"middle\",\"data-notex\":1})}),i=t.step.label,a=r._gd._fullLayout._meta;return a&&(i=t0.templateString(i,a)),n.call(Bg.font,r.font).text(i).call(a4.convertToTspans,r._gd),n}function z0t(e,t){var r=t0.ensureSingle(e,\"g\",gs.labelsClass),n=t._dims,i=r.selectAll(\"g.\"+gs.labelGroupClass).data(n.labelSteps);i.enter().append(\"g\").classed(gs.labelGroupClass,!0),i.exit().remove(),i.each(function(a){var o=Og.select(this);o.call(rge,a,t),Bg.setTranslate(o,ZU(t,a.fraction),gs.tickOffset+t.ticklen+t.font.size*ege+gs.labelOffset+n.currentValueTotalHeight)})}function $0e(e,t,r,n,i){var a=Math.round(n*(r._stepCount-1)),o=r._visibleSteps[a]._index;o!==r.active&&ige(e,t,r,o,!0,i)}function ige(e,t,r,n,i,a){var o=r.active;r.active=n,C0t(e.layout,gs.name,r).applyUpdate(\"active\",n);var s=r.steps[r.active];t.call(age,r,a),t.call(yI,r),e.emit(\"plotly_sliderchange\",{slider:r,step:r.steps[r.active],interaction:i,previousActive:o}),s&&s.method&&i&&(t._nextMethod?(t._nextMethod.step=s,t._nextMethod.doCallback=i,t._nextMethod.doTransition=a):(t._nextMethod={step:s,doCallback:i,doTransition:a},t._nextMethodRaf=window.requestAnimationFrame(function(){var l=t._nextMethod.step;l.method&&(l.execute&&mI.executeAPICommand(e,l.method,l.args),t._nextMethod=null,t._nextMethodRaf=null)})))}function nge(e,t,r){if(t._context.staticPlot)return;var n=r.node(),i=Og.select(t);function a(){return r.data()[0]}function o(){var s=a();t.emit(\"plotly_sliderstart\",{slider:s});var l=r.select(\".\"+gs.gripRectClass);Og.event.stopPropagation(),Og.event.preventDefault(),l.call(x_.fill,s.activebgcolor);var u=Q0e(s,Og.mouse(n)[0]);$0e(t,r,s,u,!0),s._dragging=!0;function c(){var h=a(),d=Q0e(h,Og.mouse(n)[0]);$0e(t,r,h,d,!1)}i.on(\"mousemove\",c),i.on(\"touchmove\",c);function f(){var h=a();h._dragging=!1,l.call(x_.fill,h.bgcolor),i.on(\"mouseup\",null),i.on(\"mousemove\",null),i.on(\"touchend\",null),i.on(\"touchmove\",null),t.emit(\"plotly_sliderend\",{slider:h,step:h.steps[h.active]})}i.on(\"mouseup\",f),i.on(\"touchend\",f)}e.on(\"mousedown\",o),e.on(\"touchstart\",o)}function F0t(e,t){var r=e.selectAll(\"rect.\"+gs.tickRectClass).data(t._visibleSteps),n=t._dims;r.enter().append(\"rect\").classed(gs.tickRectClass,!0),r.exit().remove(),r.attr({width:t.tickwidth+\"px\",\"shape-rendering\":\"crispEdges\"}),r.each(function(i,a){var o=a%n.labelStride===0,s=Og.select(this);s.attr({height:o?t.ticklen:t.minorticklen}).call(x_.fill,t.tickcolor),Bg.setTranslate(s,ZU(t,a/(t._stepCount-1))-.5*t.tickwidth,(o?gs.tickOffset:gs.minorTickOffset)+n.currentValueTotalHeight)})}function q0t(e){var t=e._dims;t.labelSteps=[];for(var r=e._stepCount,n=0;n<r;n+=t.labelStride)t.labelSteps.push({fraction:n/(r-1),step:e._visibleSteps[n]})}function age(e,t,r){for(var n=e.select(\"rect.\"+gs.gripRectClass),i=0,a=0;a<t._stepCount;a++)if(t._visibleSteps[a]._index===t.active){i=a;break}var o=ZU(t,i/(t._stepCount-1));if(!t._invokingCommand){var s=n;r&&t.transition.duration>0&&(s=s.transition().duration(t.transition.duration).ease(t.transition.easing)),s.attr(\"transform\",k0t(o-gs.gripWidth*.5,t._dims.currentValueTotalHeight))}}function ZU(e,t){var r=e._dims;return r.inputAreaStart+gs.stepInset+(r.inputAreaLength-2*gs.stepInset)*Math.min(1,Math.max(0,t))}function Q0e(e,t){var r=e._dims;return Math.min(1,Math.max(0,(t-gs.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*gs.stepInset-2*r.inputAreaStart)))}function O0t(e,t,r){var n=r._dims,i=t0.ensureSingle(e,\"rect\",gs.railTouchRectClass,function(a){a.call(nge,t,e,r).style(\"pointer-events\",\"all\")});i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,gs.tickOffset+r.ticklen+n.labelHeight)}).call(x_.fill,r.bgcolor).attr(\"opacity\",0),Bg.setTranslate(i,0,n.currentValueTotalHeight)}function B0t(e,t){var r=t._dims,n=r.inputAreaLength-gs.railInset*2,i=t0.ensureSingle(e,\"rect\",gs.railRectClass);i.attr({width:n,height:gs.railWidth,rx:gs.railRadius,ry:gs.railRadius,\"shape-rendering\":\"crispEdges\"}).call(x_.stroke,t.bordercolor).call(x_.fill,t.bgcolor).style(\"stroke-width\",t.borderwidth+\"px\"),Bg.setTranslate(i,gs.railInset,(r.inputAreaWidth-gs.railWidth)*.5+r.currentValueTotalHeight)}});var uge=ye((Oar,lge)=>{\"use strict\";var N0t=n4();lge.exports={moduleType:\"component\",name:N0t.name,layoutAttributes:HU(),supplyLayoutDefaults:J0e(),draw:sge()}});var _I=ye((Bar,fge)=>{\"use strict\";var cge=dh();fge.exports={bgcolor:{valType:\"color\",dflt:cge.background,editType:\"plot\"},bordercolor:{valType:\"color\",dflt:cge.defaultLine,editType:\"plot\"},borderwidth:{valType:\"integer\",dflt:0,min:0,editType:\"plot\"},autorange:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}}],editType:\"calc\",impliedEdits:{autorange:!1}},thickness:{valType:\"number\",dflt:.15,min:0,max:1,editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"}});var XU=ye((Nar,hge)=>{\"use strict\";hge.exports={_isSubplotObj:!0,rangemode:{valType:\"enumerated\",values:[\"auto\",\"fixed\",\"match\"],dflt:\"match\",editType:\"calc\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},editType:\"calc\"}});var xI=ye((Uar,dge)=>{\"use strict\";dge.exports={name:\"rangeslider\",containerClassName:\"rangeslider-container\",bgClassName:\"rangeslider-bg\",rangePlotClassName:\"rangeslider-rangeplot\",maskMinClassName:\"rangeslider-mask-min\",maskMaxClassName:\"rangeslider-mask-max\",slideBoxClassName:\"rangeslider-slidebox\",grabberMinClassName:\"rangeslider-grabber-min\",grabAreaMinClassName:\"rangeslider-grabarea-min\",handleMinClassName:\"rangeslider-handle-min\",grabberMaxClassName:\"rangeslider-grabber-max\",grabAreaMaxClassName:\"rangeslider-grabarea-max\",handleMaxClassName:\"rangeslider-handle-max\",maskMinOppAxisClassName:\"rangeslider-mask-min-opp-axis\",maskMaxOppAxisClassName:\"rangeslider-mask-max-opp-axis\",maskColor:\"rgba(0,0,0,0.4)\",maskOppAxisColor:\"rgba(0,0,0,0.2)\",slideBoxFill:\"transparent\",slideBoxCursor:\"ew-resize\",grabAreaFill:\"transparent\",grabAreaCursor:\"col-resize\",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}});var gge=ye(wI=>{\"use strict\";var U0t=af(),V0t=Pl(),vge=xI(),H0t=Nh().LINE_SPACING,bI=vge.name;function pge(e){var t=e&&e[bI];return t&&t.visible}wI.isVisible=pge;wI.makeData=function(e){for(var t=U0t.list({_fullLayout:e},\"x\",!0),r=e.margin,n=[],i=0;i<t.length;i++){var a=t[i];if(pge(a)){n.push(a);var o=a[bI];o._id=bI+a._id,o._height=(e.height-r.b-r.t)*o.thickness,o._offsetShift=Math.floor(o.borderwidth/2)}}e._rangeSliderData=n};wI.autoMarginOpts=function(e,t){var r=e._fullLayout,n=t[bI],i=t._id.charAt(0),a=0,o=0;if(t.side===\"bottom\"&&(a=t._depth,t.title.text!==r._dfltTitle[i])){o=1.5*t.title.font.size+10+n._offsetShift;var s=(t.title.text.match(V0t.BR_TAG_ALL)||[]).length;o+=s*t.title.font.size*H0t}return{x:0,y:t._counterDomainMin,l:0,r:0,t:0,b:n._height+a+Math.max(r.margin.b,o),pad:vge.extraPad+n._offsetShift*2}}});var xge=ye((Har,_ge)=>{\"use strict\";var TI=Mr(),mge=Vs(),yge=af(),G0t=_I(),j0t=XU();_ge.exports=function(t,r,n){var i=t[n],a=r[n];if(!(i.rangeslider||r._requestRangeslider[a._id]))return;TI.isPlainObject(i.rangeslider)||(i.rangeslider={});var o=i.rangeslider,s=mge.newContainer(a,\"rangeslider\");function l(L,_){return TI.coerce(o,s,G0t,L,_)}var u,c;function f(L,_){return TI.coerce(u,c,j0t,L,_)}var h=l(\"visible\");if(h){l(\"bgcolor\",r.plot_bgcolor),l(\"bordercolor\"),l(\"borderwidth\"),l(\"thickness\"),l(\"autorange\",!a.isValidRange(o.range)),l(\"range\");var d=r._subplots;if(d)for(var v=d.cartesian.filter(function(L){return L.substr(0,L.indexOf(\"y\"))===yge.name2id(n)}).map(function(L){return L.substr(L.indexOf(\"y\"),L.length)}),x=TI.simpleMap(v,yge.id2name),b=0;b<x.length;b++){var p=x[b];u=o[p]||{},c=mge.newContainer(s,p,\"yaxis\");var E=r[p],k;u.range&&E.isValidRange(u.range)&&(k=\"fixed\");var A=f(\"rangemode\",k);A!==\"match\"&&f(\"range\",E.range.slice())}s._input=o}}});var wge=ye((Gar,bge)=>{\"use strict\";var W0t=af().list,Z0t=wg().getAutoRange,X0t=xI();bge.exports=function(t){for(var r=W0t(t,\"x\",!0),n=0;n<r.length;n++){var i=r[n],a=i[X0t.name];a&&a.visible&&a.autorange&&(a._input.autorange=!0,a._input.range=a.range=Z0t(t,i))}}});var Mge=ye((jar,Sge)=>{\"use strict\";var AI=xa(),Y0t=ba(),K0t=Xu(),Ff=Mr(),SI=Ff.strTranslate,Age=ao(),b_=va(),J0t=Mb(),$0t=Jf(),YU=af(),Q0t=gv(),egt=Tg(),Bs=xI();Sge.exports=function(e){for(var t=e._fullLayout,r=t._rangeSliderData,n=0;n<r.length;n++){var i=r[n][Bs.name];i._clipId=i._id+\"-\"+t._uid}function a(s){return s._name}var o=t._infolayer.selectAll(\"g.\"+Bs.containerClassName).data(r,a);o.exit().each(function(s){var l=s[Bs.name];t._topdefs.select(\"#\"+l._clipId).remove()}).remove(),r.length!==0&&(o.enter().append(\"g\").classed(Bs.containerClassName,!0).attr(\"pointer-events\",\"all\"),o.each(function(s){var l=AI.select(this),u=s[Bs.name],c=t[YU.id2name(s.anchor)],f=u[YU.id2name(s.anchor)];if(u.range){var h=Ff.simpleMap(u.range,s.r2l),d=Ff.simpleMap(s.range,s.r2l),v;d[0]<d[1]?v=[Math.min(h[0],d[0]),Math.max(h[1],d[1])]:v=[Math.max(h[0],d[0]),Math.min(h[1],d[1])],u.range=u._input.range=Ff.simpleMap(v,s.l2r)}s.cleanRange(\"rangeslider.range\");var x=t._size,b=s.domain;u._width=x.w*(b[1]-b[0]);var p=Math.round(x.l+x.w*b[0]),E=Math.round(x.t+x.h*(1-s._counterDomainMin)+(s.side===\"bottom\"?s._depth:0)+u._offsetShift+Bs.extraPad);l.attr(\"transform\",SI(p,E)),u._rl=Ff.simpleMap(u.range,s.r2l);var k=u._rl[0],A=u._rl[1],L=A-k;if(u.p2d=function(H){return H/u._width*L+k},u.d2p=function(H){return(H-k)/L*u._width},s.rangebreaks){var _=s.locateBreaks(k,A);if(_.length){var C,M,g=0;for(C=0;C<_.length;C++)M=_[C],g+=M.max-M.min;var P=u._width/(A-k-g),T=[-P*k];for(C=0;C<_.length;C++)M=_[C],T.push(T[T.length-1]-P*(M.max-M.min));for(u.d2p=function(H){for(var X=T[0],G=0;G<_.length;G++){var N=_[G];if(H>=N.max)X=T[G+1];else if(H<N.min)break}return X+P*H},C=0;C<_.length;C++)M=_[C],M.pmin=u.d2p(M.min),M.pmax=u.d2p(M.max);u.p2d=function(H){for(var X=T[0],G=0;G<_.length;G++){var N=_[G];if(H>=N.pmax)X=T[G+1];else if(H<N.pmin)break}return(H-X)/P}}}if(f.rangemode!==\"match\"){var F=c.r2l(f.range[0]),q=c.r2l(f.range[1]),V=q-F;u.d2pOppAxis=function(H){return(H-F)/V*u._height}}l.call(ngt,e,s,u).call(agt,e,s,u).call(ogt,e,s,u).call(lgt,e,s,u,f).call(ugt,e,s,u).call(cgt,e,s,u),tgt(l,e,s,u),igt(l,e,s,u,c,f),s.side===\"bottom\"&&J0t.draw(e,s._id+\"title\",{propContainer:s,propName:s._name+\".title\",placeholder:t._dfltTitle.x,attributes:{x:s._offset+s._length/2,y:E+u._height+u._offsetShift+10+1.5*s.title.font.size,\"text-anchor\":\"middle\"}})}))};function Tge(e){return typeof e.clientX==\"number\"?e.clientX:e.touches&&e.touches.length>0?e.touches[0].clientX:0}function tgt(e,t,r,n){if(t._context.staticPlot)return;var i=e.select(\"rect.\"+Bs.slideBoxClassName).node(),a=e.select(\"rect.\"+Bs.grabAreaMinClassName).node(),o=e.select(\"rect.\"+Bs.grabAreaMaxClassName).node();function s(){var l=AI.event,u=l.target,c=Tge(l),f=c-e.node().getBoundingClientRect().left,h=n.d2p(r._rl[0]),d=n.d2p(r._rl[1]),v=Q0t.coverSlip();this.addEventListener(\"touchmove\",x),this.addEventListener(\"touchend\",b),v.addEventListener(\"mousemove\",x),v.addEventListener(\"mouseup\",b);function x(p){var E=Tge(p),k=+E-c,A,L,_;switch(u){case i:if(_=\"ew-resize\",h+k>r._length||d+k<0)return;A=h+k,L=d+k;break;case a:if(_=\"col-resize\",h+k>r._length)return;A=h+k,L=d;break;case o:if(_=\"col-resize\",d+k<0)return;A=h,L=d+k;break;default:_=\"ew-resize\",A=f,L=f+k;break}if(L<A){var C=L;L=A,A=C}n._pixelMin=A,n._pixelMax=L,egt(AI.select(v),_),rgt(e,t,r,n)}function b(){v.removeEventListener(\"mousemove\",x),v.removeEventListener(\"mouseup\",b),this.removeEventListener(\"touchmove\",x),this.removeEventListener(\"touchend\",b),Ff.removeElement(v)}}e.on(\"mousedown\",s),e.on(\"touchstart\",s)}function rgt(e,t,r,n){function i(s){return r.l2r(Ff.constrain(s,n._rl[0],n._rl[1]))}var a=i(n.p2d(n._pixelMin)),o=i(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){Y0t.call(\"_guiRelayout\",t,r._name+\".range\",[a,o])})}function igt(e,t,r,n,i,a){var o=Bs.handleWidth/2;function s(p){return Ff.constrain(p,0,n._width)}function l(p){return Ff.constrain(p,0,n._height)}function u(p){return Ff.constrain(p,-o,n._width+o)}var c=s(n.d2p(r._rl[0])),f=s(n.d2p(r._rl[1]));if(e.select(\"rect.\"+Bs.slideBoxClassName).attr(\"x\",c).attr(\"width\",f-c),e.select(\"rect.\"+Bs.maskMinClassName).attr(\"width\",c),e.select(\"rect.\"+Bs.maskMaxClassName).attr(\"x\",f).attr(\"width\",n._width-f),a.rangemode!==\"match\"){var h=n._height-l(n.d2pOppAxis(i._rl[1])),d=n._height-l(n.d2pOppAxis(i._rl[0]));e.select(\"rect.\"+Bs.maskMinOppAxisClassName).attr(\"x\",c).attr(\"height\",h).attr(\"width\",f-c),e.select(\"rect.\"+Bs.maskMaxOppAxisClassName).attr(\"x\",c).attr(\"y\",d).attr(\"height\",n._height-d).attr(\"width\",f-c),e.select(\"rect.\"+Bs.slideBoxClassName).attr(\"y\",h).attr(\"height\",d-h)}var v=.5,x=Math.round(u(c-o))-v,b=Math.round(u(f-o))+v;e.select(\"g.\"+Bs.grabberMinClassName).attr(\"transform\",SI(x,v)),e.select(\"g.\"+Bs.grabberMaxClassName).attr(\"transform\",SI(b,v))}function ngt(e,t,r,n){var i=Ff.ensureSingle(e,\"rect\",Bs.bgClassName,function(l){l.attr({x:0,y:0,\"shape-rendering\":\"crispEdges\"})}),a=n.borderwidth%2===0?n.borderwidth:n.borderwidth-1,o=-n._offsetShift,s=Age.crispRound(t,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:SI(o,o),\"stroke-width\":s}).call(b_.stroke,n.bordercolor).call(b_.fill,n.bgcolor)}function agt(e,t,r,n){var i=t._fullLayout,a=Ff.ensureSingleById(i._topdefs,\"clipPath\",n._clipId,function(o){o.append(\"rect\").attr({x:0,y:0})});a.select(\"rect\").attr({width:n._width,height:n._height})}function ogt(e,t,r,n){var i=t.calcdata,a=e.selectAll(\"g.\"+Bs.rangePlotClassName).data(r._subplotsWith,Ff.identity);a.enter().append(\"g\").attr(\"class\",function(s){return Bs.rangePlotClassName+\" \"+s}).call(Age.setClipUrl,n._clipId,t),a.order(),a.exit().remove();var o;a.each(function(s,l){var u=AI.select(this),c=l===0,f=YU.getFromId(t,s,\"y\"),h=f._name,d=n[h],v={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:n.range.slice(),calendar:r.calendar},width:n._width,height:n._height,margin:{t:0,b:0,l:0,r:0}},_context:t._context};r.rangebreaks&&(v.layout.xaxis.rangebreaks=r.rangebreaks),v.layout[h]={type:f.type,domain:[0,1],range:d.rangemode!==\"match\"?d.range.slice():f.range.slice(),calendar:f.calendar},f.rangebreaks&&(v.layout[h].rangebreaks=f.rangebreaks),K0t.supplyDefaults(v);var x=v._fullLayout.xaxis,b=v._fullLayout[h];x.clearCalc(),x.setScale(),b.clearCalc(),b.setScale();var p={id:s,plotgroup:u,xaxis:x,yaxis:b,isRangePlot:!0};c?o=p:(p.mainplot=\"xy\",p.mainplotinfo=o),$0t.rangePlot(t,p,sgt(i,s))})}function sgt(e,t){for(var r=[],n=0;n<e.length;n++){var i=e[n],a=i[0].trace;a.xaxis+a.yaxis===t&&r.push(i)}return r}function lgt(e,t,r,n,i){var a=Ff.ensureSingle(e,\"rect\",Bs.maskMinClassName,function(u){u.attr({x:0,y:0,\"shape-rendering\":\"crispEdges\"})});a.attr(\"height\",n._height).call(b_.fill,Bs.maskColor);var o=Ff.ensureSingle(e,\"rect\",Bs.maskMaxClassName,function(u){u.attr({y:0,\"shape-rendering\":\"crispEdges\"})});if(o.attr(\"height\",n._height).call(b_.fill,Bs.maskColor),i.rangemode!==\"match\"){var s=Ff.ensureSingle(e,\"rect\",Bs.maskMinOppAxisClassName,function(u){u.attr({y:0,\"shape-rendering\":\"crispEdges\"})});s.attr(\"width\",n._width).call(b_.fill,Bs.maskOppAxisColor);var l=Ff.ensureSingle(e,\"rect\",Bs.maskMaxOppAxisClassName,function(u){u.attr({y:0,\"shape-rendering\":\"crispEdges\"})});l.attr(\"width\",n._width).style(\"border-top\",Bs.maskOppBorder).call(b_.fill,Bs.maskOppAxisColor)}}function ugt(e,t,r,n){if(!t._context.staticPlot){var i=Ff.ensureSingle(e,\"rect\",Bs.slideBoxClassName,function(a){a.attr({y:0,cursor:Bs.slideBoxCursor,\"shape-rendering\":\"crispEdges\"})});i.attr({height:n._height,fill:Bs.slideBoxFill})}}function cgt(e,t,r,n){var i=Ff.ensureSingle(e,\"g\",Bs.grabberMinClassName),a=Ff.ensureSingle(e,\"g\",Bs.grabberMaxClassName),o={x:0,width:Bs.handleWidth,rx:Bs.handleRadius,fill:b_.background,stroke:b_.defaultLine,\"stroke-width\":Bs.handleStrokeWidth,\"shape-rendering\":\"crispEdges\"},s={y:Math.round(n._height/4),height:Math.round(n._height/2)},l=Ff.ensureSingle(i,\"rect\",Bs.handleMinClassName,function(d){d.attr(o)});l.attr(s);var u=Ff.ensureSingle(a,\"rect\",Bs.handleMaxClassName,function(d){d.attr(o)});u.attr(s);var c={width:Bs.grabAreaWidth,x:0,y:0,fill:Bs.grabAreaFill,cursor:t._context.staticPlot?void 0:Bs.grabAreaCursor},f=Ff.ensureSingle(i,\"rect\",Bs.grabAreaMinClassName,function(d){d.attr(c)});f.attr(\"height\",n._height);var h=Ff.ensureSingle(a,\"rect\",Bs.grabAreaMaxClassName,function(d){d.attr(c)});h.attr(\"height\",n._height)}});var kge=ye((War,Ege)=>{\"use strict\";var fgt=Mr(),hgt=_I(),dgt=XU(),KU=gge();Ege.exports={moduleType:\"component\",name:\"rangeslider\",schema:{subplots:{xaxis:{rangeslider:fgt.extendFlat({},hgt,{yaxis:dgt})}}},layoutAttributes:_I(),handleDefaults:xge(),calcAutorange:wge(),draw:Mge(),isVisible:KU.isVisible,makeData:KU.makeData,autoMarginOpts:KU.autoMarginOpts}});var MI=ye((Zar,Lge)=>{\"use strict\";var vgt=Su(),Cge=dh(),pgt=Vs().templatedArray,ggt=pgt(\"button\",{visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},step:{valType:\"enumerated\",values:[\"month\",\"year\",\"day\",\"hour\",\"minute\",\"second\",\"all\"],dflt:\"month\",editType:\"plot\"},stepmode:{valType:\"enumerated\",values:[\"backward\",\"todate\"],dflt:\"backward\",editType:\"plot\"},count:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},label:{valType:\"string\",editType:\"plot\"},editType:\"plot\"});Lge.exports={visible:{valType:\"boolean\",editType:\"plot\"},buttons:ggt,x:{valType:\"number\",min:-2,max:3,editType:\"plot\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"plot\"},y:{valType:\"number\",min:-2,max:3,editType:\"plot\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"bottom\",editType:\"plot\"},font:vgt({editType:\"plot\"}),bgcolor:{valType:\"color\",dflt:Cge.lightLine,editType:\"plot\"},activecolor:{valType:\"color\",editType:\"plot\"},bordercolor:{valType:\"color\",dflt:Cge.defaultLine,editType:\"plot\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"}});var JU=ye((Xar,Pge)=>{\"use strict\";Pge.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}});var Dge=ye((Yar,Rge)=>{\"use strict\";var EI=Mr(),mgt=va(),ygt=Vs(),_gt=Zd(),Ige=MI(),$U=JU();Rge.exports=function(t,r,n,i,a){var o=t.rangeselector||{},s=ygt.newContainer(r,\"rangeselector\");function l(d,v){return EI.coerce(o,s,Ige,d,v)}var u=_gt(o,s,{name:\"buttons\",handleItemDefaults:xgt,calendar:a}),c=l(\"visible\",u.length>0);if(c){var f=bgt(r,n,i);l(\"x\",f[0]),l(\"y\",f[1]),EI.noneOrAll(t,r,[\"x\",\"y\"]),l(\"xanchor\"),l(\"yanchor\"),EI.coerceFont(l,\"font\",n.font);var h=l(\"bgcolor\");l(\"activecolor\",mgt.contrast(h,$U.lightAmount,$U.darkAmount)),l(\"bordercolor\"),l(\"borderwidth\")}};function xgt(e,t,r,n){var i=n.calendar;function a(l,u){return EI.coerce(e,t,Ige.buttons,l,u)}var o=a(\"visible\");if(o){var s=a(\"step\");s!==\"all\"&&(i&&i!==\"gregorian\"&&(s===\"month\"||s===\"year\")?t.stepmode=\"backward\":a(\"stepmode\"),a(\"count\")),a(\"label\")}}function bgt(e,t,r){for(var n=r.filter(function(s){return t[s].anchor===e._id}),i=0,a=0;a<n.length;a++){var o=t[n[a]].domain;o&&(i=Math.max(o[1],i))}return[e.domain[0],i+$U.yPad]}});var Fge=ye((Kar,zge)=>{\"use strict\";var wgt=dq(),Tgt=Mr().titleCase;zge.exports=function(t,r){var n=t._name,i={};if(r.step===\"all\")i[n+\".autorange\"]=!0;else{var a=Agt(t,r);i[n+\".range[0]\"]=a[0],i[n+\".range[1]\"]=a[1]}return i};function Agt(e,t){var r=e.range,n=new Date(e.r2l(r[1])),i=t.step,a=wgt[\"utc\"+Tgt(i)],o=t.count,s;switch(t.stepmode){case\"backward\":s=e.l2r(+a.offset(n,-o));break;case\"todate\":var l=a.offset(n,-o);s=e.l2r(+a.ceil(l));break}var u=r[1];return[s,u]}});var Gge=ye((Jar,Hge)=>{\"use strict\";var CI=xa(),Sgt=ba(),Mgt=Xu(),qge=va(),Vge=ao(),Iy=Mr(),Oge=Iy.strTranslate,kI=Pl(),Egt=af(),tV=Nh(),Bge=tV.LINE_SPACING,Nge=tV.FROM_TL,Uge=tV.FROM_BR,eV=JU(),kgt=Fge();Hge.exports=function(t){var r=t._fullLayout,n=r._infolayer.selectAll(\".rangeselector\").data(Cgt(t),Lgt);n.enter().append(\"g\").classed(\"rangeselector\",!0),n.exit().remove(),n.style({cursor:\"pointer\",\"pointer-events\":\"all\"}),n.each(function(i){var a=CI.select(this),o=i,s=o.rangeselector,l=a.selectAll(\"g.button\").data(Iy.filterVisible(s.buttons));l.enter().append(\"g\").classed(\"button\",!0),l.exit().remove(),l.each(function(u){var c=CI.select(this),f=kgt(o,u);u._isActive=Pgt(o,u,f),c.call(QU,s,u),c.call(Rgt,s,u,t),c.on(\"click\",function(){t._dragged||Sgt.call(\"_guiRelayout\",t,f)}),c.on(\"mouseover\",function(){u._isHovered=!0,c.call(QU,s,u)}),c.on(\"mouseout\",function(){u._isHovered=!1,c.call(QU,s,u)})}),zgt(t,l,s,o._name,a)})};function Cgt(e){for(var t=Egt.list(e,\"x\",!0),r=[],n=0;n<t.length;n++){var i=t[n];i.rangeselector&&i.rangeselector.visible&&r.push(i)}return r}function Lgt(e){return e._id}function Pgt(e,t,r){if(t.step===\"all\")return e.autorange===!0;var n=Object.keys(r);return e.range[0]===r[n[0]]&&e.range[1]===r[n[1]]}function QU(e,t,r){var n=Iy.ensureSingle(e,\"rect\",\"selector-rect\",function(i){i.attr(\"shape-rendering\",\"crispEdges\")});n.attr({rx:eV.rx,ry:eV.ry}),n.call(qge.stroke,t.bordercolor).call(qge.fill,Igt(t,r)).style(\"stroke-width\",t.borderwidth+\"px\")}function Igt(e,t){return t._isActive||t._isHovered?e.activecolor:e.bgcolor}function Rgt(e,t,r,n){function i(o){kI.convertToTspans(o,n)}var a=Iy.ensureSingle(e,\"text\",\"selector-text\",function(o){o.attr(\"text-anchor\",\"middle\")});a.call(Vge.font,t.font).text(Dgt(r,n._fullLayout._meta)).call(i)}function Dgt(e,t){return e.label?t?Iy.templateString(e.label,t):e.label:e.step===\"all\"?\"all\":e.count+e.step.charAt(0)}function zgt(e,t,r,n,i){var a=0,o=0,s=r.borderwidth;t.each(function(){var d=CI.select(this),v=d.select(\".selector-text\"),x=r.font.size*Bge,b=Math.max(x*kI.lineCount(v),16)+3;o=Math.max(o,b)}),t.each(function(){var d=CI.select(this),v=d.select(\".selector-rect\"),x=d.select(\".selector-text\"),b=x.node()&&Vge.bBox(x.node()).width,p=r.font.size*Bge,E=kI.lineCount(x),k=Math.max(b+10,eV.minButtonWidth);d.attr(\"transform\",Oge(s+a,s)),v.attr({x:0,y:0,width:k,height:o}),kI.positionText(x,k/2,o/2-(E-1)*p/2+3),a+=k+5});var l=e._fullLayout._size,u=l.l+l.w*r.x,c=l.t+l.h*(1-r.y),f=\"left\";Iy.isRightAnchor(r)&&(u-=a,f=\"right\"),Iy.isCenterAnchor(r)&&(u-=a/2,f=\"center\");var h=\"top\";Iy.isBottomAnchor(r)&&(c-=o,h=\"bottom\"),Iy.isMiddleAnchor(r)&&(c-=o/2,h=\"middle\"),a=Math.ceil(a),o=Math.ceil(o),u=Math.round(u),c=Math.round(c),Mgt.autoMargin(e,n+\"-range-selector\",{x:r.x,y:r.y,l:a*Nge[f],r:a*Uge[f],b:o*Uge[h],t:o*Nge[h]}),i.attr(\"transform\",Oge(u,c))}});var Wge=ye(($ar,jge)=>{\"use strict\";jge.exports={moduleType:\"component\",name:\"rangeselector\",schema:{subplots:{xaxis:{rangeselector:MI()}}},layoutAttributes:MI(),handleDefaults:Dge(),draw:Gge()}});var Ju=ye(rV=>{\"use strict\";var Zge=no().extendFlat;rV.attributes=function(e,t){e=e||{},t=t||{};var r={valType:\"info_array\",editType:e.editType,items:[{valType:\"number\",min:0,max:1,editType:e.editType},{valType:\"number\",min:0,max:1,editType:e.editType}],dflt:[0,1]},n=e.name?e.name+\" \":\"\",i=e.trace?\"trace \":\"subplot \",a=t.description?\" \"+t.description:\"\",o={x:Zge({},r,{}),y:Zge({},r,{}),editType:e.editType};return e.noGridCell||(o.row={valType:\"integer\",min:0,dflt:0,editType:e.editType},o.column={valType:\"integer\",min:0,dflt:0,editType:e.editType}),o};rV.defaults=function(e,t,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=t.grid;if(o){var s=r(\"domain.column\");s!==void 0&&(s<o.columns?i=o._domains.x[s]:delete e.domain.column);var l=r(\"domain.row\");l!==void 0&&(l<o.rows?a=o._domains.y[l]:delete e.domain.row)}var u=r(\"domain.x\",i),c=r(\"domain.y\",a);u[0]<u[1]||(e.domain.x=i.slice()),c[0]<c[1]||(e.domain.y=a.slice())}});var nV=ye((eor,Jge)=>{\"use strict\";var Fgt=Mr(),qgt=n3().counter,Ogt=Ju().attributes,Xge=ad().idRegex,Bgt=Vs(),iV={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:[qgt(\"xy\").toString(),\"\"],editType:\"plot\"},editType:\"plot\"},xaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[Xge.x.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},yaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[Xge.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:Ogt({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 LI(e,t,r){var n=t[r+\"axes\"],i=Object.keys((e._splomAxes||{})[r]||{});if(Array.isArray(n))return n;if(i.length)return i}function Ngt(e,t){var r=e.grid||{},n=LI(t,r,\"x\"),i=LI(t,r,\"y\");if(!e.grid&&!n&&!i)return;var a=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),o=Array.isArray(n),s=Array.isArray(i),l=o&&n!==r.xaxes&&s&&i!==r.yaxes,u,c;a?(u=r.subplots.length,c=r.subplots[0].length):(s&&(u=i.length),o&&(c=n.length));var f=Bgt.newContainer(t,\"grid\");function h(_,C){return Fgt.coerce(r,f,iV,_,C)}var d=h(\"rows\",u),v=h(\"columns\",c);if(!(d*v>1)){delete t.grid;return}if(!a&&!o&&!s){var x=h(\"pattern\")===\"independent\";x&&(a=!0)}f._hasSubplotGrid=a;var b=h(\"roworder\"),p=b===\"top to bottom\",E=a?.2:.1,k=a?.3:.1,A,L;l&&t._splomGridDflt&&(A=t._splomGridDflt.xside,L=t._splomGridDflt.yside),f._domains={x:Yge(\"x\",h,E,A,v),y:Yge(\"y\",h,k,L,d,p)}}function Yge(e,t,r,n,i,a){var o=t(e+\"gap\",r),s=t(\"domain.\"+e);t(e+\"side\",n);for(var l=new Array(i),u=s[0],c=(s[1]-u)/(i-o),f=c*(1-o),h=0;h<i;h++){var d=u+c*h;l[a?i-1-h:h]=[d,d+f]}return l}function Ugt(e,t){var r=t.grid;if(!(!r||!r._domains)){var n=e.grid||{},i=t._subplots,a=r._hasSubplotGrid,o=r.rows,s=r.columns,l=r.pattern===\"independent\",u,c,f,h,d,v,x,b=r._axisMap={};if(a){var p=n.subplots||[];v=r.subplots=new Array(o);var E=1;for(u=0;u<o;u++){var k=v[u]=new Array(s),A=p[u]||[];for(c=0;c<s;c++)if(l?(d=E===1?\"xy\":\"x\"+E+\"y\"+E,E++):d=A[c],k[c]=\"\",i.cartesian.indexOf(d)!==-1){if(x=d.indexOf(\"y\"),f=d.slice(0,x),h=d.slice(x),b[f]!==void 0&&b[f]!==c||b[h]!==void 0&&b[h]!==u)continue;k[c]=d,b[f]=c,b[h]=u}}}else{var L=LI(t,n,\"x\"),_=LI(t,n,\"y\");r.xaxes=Kge(L,i.xaxis,s,b,\"x\"),r.yaxes=Kge(_,i.yaxis,o,b,\"y\")}var C=r._anchors={},M=r.roworder===\"top to bottom\";for(var g in b){var P=g.charAt(0),T=r[P+\"side\"],F,q,V;if(T.length<8)C[g]=\"free\";else if(P===\"x\"){if(T.charAt(0)===\"t\"===M?(F=0,q=1,V=o):(F=o-1,q=-1,V=-1),a){var H=b[g];for(u=F;u!==V;u+=q)if(d=v[u][H],!!d&&(x=d.indexOf(\"y\"),d.slice(0,x)===g)){C[g]=d.slice(x);break}}else for(u=F;u!==V;u+=q)if(h=r.yaxes[u],i.cartesian.indexOf(g+h)!==-1){C[g]=h;break}}else if(T.charAt(0)===\"l\"?(F=0,q=1,V=s):(F=s-1,q=-1,V=-1),a){var X=b[g];for(u=F;u!==V;u+=q)if(d=v[X][u],!!d&&(x=d.indexOf(\"y\"),d.slice(x)===g)){C[g]=d.slice(0,x);break}}else for(u=F;u!==V;u+=q)if(f=r.xaxes[u],i.cartesian.indexOf(f+g)!==-1){C[g]=f;break}}}}function Kge(e,t,r,n,i){var a=new Array(r),o;function s(l,u){t.indexOf(u)!==-1&&n[u]===void 0?(a[l]=u,n[u]=l):a[l]=\"\"}if(Array.isArray(e))for(o=0;o<r;o++)s(o,e[o]);else for(s(0,i),o=1;o<r;o++)s(o,i+(o+1));return a}Jge.exports={moduleType:\"component\",name:\"grid\",schema:{layout:{grid:iV}},layoutAttributes:iV,sizeDefaults:Ngt,contentDefaults:Ugt}});var aV=ye((tor,$ge)=>{\"use strict\";$ge.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\"}});var tme=ye((ror,eme)=>{\"use strict\";var Qge=uo(),Vgt=ba(),Hgt=Mr(),Ggt=Vs(),jgt=aV();eme.exports=function(e,t,r,n){var i=\"error_\"+n.axis,a=Ggt.newContainer(t,i),o=e[i]||{};function s(v,x){return Hgt.coerce(o,a,jgt,v,x)}var l=o.array!==void 0||o.value!==void 0||o.type===\"sqrt\",u=s(\"visible\",l);if(u!==!1){var c=s(\"type\",\"array\"in o?\"data\":\"percent\"),f=!0;c!==\"sqrt\"&&(f=s(\"symmetric\",!((c===\"data\"?\"arrayminus\":\"valueminus\")in o))),c===\"data\"?(s(\"array\"),s(\"traceref\"),f||(s(\"arrayminus\"),s(\"tracerefminus\"))):(c===\"percent\"||c===\"constant\")&&(s(\"value\"),f||s(\"valueminus\"));var h=\"copy_\"+n.inherit+\"style\";if(n.inherit){var d=t[\"error_\"+n.inherit];(d||{}).visible&&s(h,!(o.color||Qge(o.thickness)||Qge(o.width)))}(!n.inherit||!a[h])&&(s(\"color\",r),s(\"thickness\"),s(\"width\",Vgt.traceIs(t,\"gl3d\")?0:4))}}});var oV=ye((ior,ime)=>{\"use strict\";ime.exports=function(t){var r=t.type,n=t.symmetric;if(r===\"data\"){var i=t.array||[];if(n)return function(u,c){var f=+i[c];return[f,f]};var a=t.arrayminus||[];return function(u,c){var f=+i[c],h=+a[c];return!isNaN(f)||!isNaN(h)?[h||0,f||0]:[NaN,NaN]}}else{var o=rme(r,t.value),s=rme(r,t.valueminus);return n||t.valueminus===void 0?function(u){var c=o(u);return[c,c]}:function(u){return[s(u),o(u)]}}};function rme(e,t){if(e===\"percent\")return function(r){return Math.abs(r*t/100)};if(e===\"constant\")return function(){return Math.abs(t)};if(e===\"sqrt\")return function(r){return Math.sqrt(Math.abs(r))}}});var ome=ye((nor,ame)=>{\"use strict\";var sV=uo(),Wgt=ba(),lV=Qa(),Zgt=Mr(),Xgt=oV();ame.exports=function(t){for(var r=t.calcdata,n=0;n<r.length;n++){var i=r[n],a=i[0].trace;if(a.visible===!0&&Wgt.traceIs(a,\"errorBarsOK\")){var o=lV.getFromId(t,a.xaxis),s=lV.getFromId(t,a.yaxis);nme(i,a,o,\"x\"),nme(i,a,s,\"y\")}}};function nme(e,t,r,n){var i=t[\"error_\"+n]||{},a=i.visible&&[\"linear\",\"log\"].indexOf(r.type)!==-1,o=[];if(a){for(var s=Xgt(i),l=0;l<e.length;l++){var u=e[l],c=u.i;if(c===void 0)c=l;else if(c===null)continue;var f=u[n];if(sV(r.c2l(f))){var h=s(f,c);if(sV(h[0])&&sV(h[1])){var d=u[n+\"s\"]=f-h[0],v=u[n+\"h\"]=f+h[1];o.push(d,v)}}}var x=r._id,b=t._extremes[x],p=lV.findExtremes(r,o,Zgt.extendFlat({tozero:b.opts.tozero},{padded:!0}));b.min=b.min.concat(p.min),b.max=b.max.concat(p.max)}}});var ume=ye((aor,lme)=>{\"use strict\";var sme=xa(),w_=uo(),Ygt=ao(),Kgt=lu();lme.exports=function(t,r,n,i){var a,o=n.xaxis,s=n.yaxis,l=i&&i.duration>0,u=t._context.staticPlot;r.each(function(c){var f=c[0].trace,h=f.error_x||{},d=f.error_y||{},v;f.ids&&(v=function(E){return E.id});var x=Kgt.hasMarkers(f)&&f.marker.maxdisplayed>0;!d.visible&&!h.visible&&(c=[]);var b=sme.select(this).selectAll(\"g.errorbar\").data(c,v);if(b.exit().remove(),!!c.length){h.visible||b.selectAll(\"path.xerror\").remove(),d.visible||b.selectAll(\"path.yerror\").remove(),b.style(\"opacity\",1);var p=b.enter().append(\"g\").classed(\"errorbar\",!0);l&&p.style(\"opacity\",0).transition().duration(i.duration).style(\"opacity\",1),Ygt.setClipUrl(b,n.layerClipId,t),b.each(function(E){var k=sme.select(this),A=Jgt(E,o,s);if(!(x&&!E.vis)){var L,_=k.select(\"path.yerror\");if(d.visible&&w_(A.x)&&w_(A.yh)&&w_(A.ys)){var C=d.width;L=\"M\"+(A.x-C)+\",\"+A.yh+\"h\"+2*C+\"m-\"+C+\",0V\"+A.ys,A.noYS||(L+=\"m-\"+C+\",0h\"+2*C),a=!_.size(),a?_=k.append(\"path\").style(\"vector-effect\",u?\"none\":\"non-scaling-stroke\").classed(\"yerror\",!0):l&&(_=_.transition().duration(i.duration).ease(i.easing)),_.attr(\"d\",L)}else _.remove();var M=k.select(\"path.xerror\");if(h.visible&&w_(A.y)&&w_(A.xh)&&w_(A.xs)){var g=(h.copy_ystyle?d:h).width;L=\"M\"+A.xh+\",\"+(A.y-g)+\"v\"+2*g+\"m0,-\"+g+\"H\"+A.xs,A.noXS||(L+=\"m0,-\"+g+\"v\"+2*g),a=!M.size(),a?M=k.append(\"path\").style(\"vector-effect\",u?\"none\":\"non-scaling-stroke\").classed(\"xerror\",!0):l&&(M=M.transition().duration(i.duration).ease(i.easing)),M.attr(\"d\",L)}else M.remove()}})}})};function Jgt(e,t,r){var n={x:t.c2p(e.x),y:r.c2p(e.y)};return e.yh!==void 0&&(n.yh=r.c2p(e.yh),n.ys=r.c2p(e.ys),w_(n.ys)||(n.noYS=!0,n.ys=r.c2p(e.ys,!0))),e.xh!==void 0&&(n.xh=t.c2p(e.xh),n.xs=t.c2p(e.xs),w_(n.xs)||(n.noXS=!0,n.xs=t.c2p(e.xs,!0))),n}});var hme=ye((oor,fme)=>{\"use strict\";var $gt=xa(),cme=va();fme.exports=function(t){t.each(function(r){var n=r[0].trace,i=n.error_y||{},a=n.error_x||{},o=$gt.select(this);o.selectAll(\"path.yerror\").style(\"stroke-width\",i.thickness+\"px\").call(cme.stroke,i.color),a.copy_ystyle&&(a=i),o.selectAll(\"path.xerror\").style(\"stroke-width\",a.thickness+\"px\").call(cme.stroke,a.color)})}});var pme=ye((sor,vme)=>{\"use strict\";var o4=Mr(),dme=Bu().overrideAll,s4=aV(),$b={error_x:o4.extendFlat({},s4),error_y:o4.extendFlat({},s4)};delete $b.error_x.copy_zstyle;delete $b.error_y.copy_zstyle;delete $b.error_y.copy_ystyle;var l4={error_x:o4.extendFlat({},s4),error_y:o4.extendFlat({},s4),error_z:o4.extendFlat({},s4)};delete l4.error_x.copy_ystyle;delete l4.error_y.copy_ystyle;delete l4.error_z.copy_ystyle;delete l4.error_z.copy_zstyle;vme.exports={moduleType:\"component\",name:\"errorbars\",schema:{traces:{scatter:$b,bar:$b,histogram:$b,scatter3d:dme(l4,\"calc\",\"nested\"),scattergl:dme($b,\"calc\",\"nested\")}},supplyDefaults:tme(),calc:ome(),makeComputeError:oV(),plot:ume(),style:hme(),hoverInfo:Qgt};function Qgt(e,t,r){(t.error_y||{}).visible&&(r.yerr=e.yh-e.y,t.error_y.symmetric||(r.yerrneg=e.y-e.ys)),(t.error_x||{}).visible&&(r.xerr=e.xh-e.x,t.error_x.symmetric||(r.xerrneg=e.x-e.xs))}});var mme=ye((lor,gme)=>{\"use strict\";gme.exports={cn:{colorbar:\"colorbar\",cbbg:\"cbbg\",cbfill:\"cbfill\",cbfills:\"cbfills\",cbline:\"cbline\",cblines:\"cblines\",cbaxis:\"cbaxis\",cbtitleunshift:\"cbtitleunshift\",cbtitle:\"cbtitle\",cboutline:\"cboutline\",crisp:\"crisp\",jsPlaceholder:\"js-placeholder\"}}});var Ame=ye((uor,Tme)=>{\"use strict\";var T_=xa(),uV=id(),II=Xu(),yme=ba(),Ry=Qa(),PI=gv(),B0=Mr(),Ug=B0.strTranslate,wme=no().extendFlat,cV=Tg(),Ng=ao(),fV=va(),emt=Mb(),tmt=Pl(),rmt=Dv().flipScale,imt=JM(),nmt=iI(),amt=Cd(),hV=Nh(),_me=hV.LINE_SPACING,xme=hV.FROM_TL,bme=hV.FROM_BR,Vc=mme().cn;function omt(e){var t=e._fullLayout,r=t._infolayer.selectAll(\"g.\"+Vc.colorbar).data(smt(e),function(n){return n._id});r.enter().append(\"g\").attr(\"class\",function(n){return n._id}).classed(Vc.colorbar,!0),r.each(function(n){var i=T_.select(this);B0.ensureSingle(i,\"rect\",Vc.cbbg),B0.ensureSingle(i,\"g\",Vc.cbfills),B0.ensureSingle(i,\"g\",Vc.cblines),B0.ensureSingle(i,\"g\",Vc.cbaxis,function(o){o.classed(Vc.crisp,!0)}),B0.ensureSingle(i,\"g\",Vc.cbtitleunshift,function(o){o.append(\"g\").classed(Vc.cbtitle,!0)}),B0.ensureSingle(i,\"rect\",Vc.cboutline);var a=lmt(i,n,e);a&&a.then&&(e._promises||[]).push(a),e._context.edits.colorbarPosition&&umt(i,n,e)}),r.exit().each(function(n){II.autoMargin(e,n._id)}).remove(),r.order()}function smt(e){var t=e._fullLayout,r=e.calcdata,n=[],i,a,o,s;function l(k){return wme(k,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function u(){typeof s.calc==\"function\"?s.calc(e,o,i):(i._fillgradient=a.reversescale?rmt(a.colorscale):a.colorscale,i._zrange=[a[s.min],a[s.max]])}for(var c=0;c<r.length;c++){var f=r[c];if(o=f[0].trace,!!o._module){var h=o._module.colorbar;if(o.visible===!0&&h)for(var d=Array.isArray(h),v=d?h:[h],x=0;x<v.length;x++){s=v[x];var b=s.container;a=b?o[b]:o,a&&a.showscale&&(i=l(a.colorbar),i._id=\"cb\"+o.uid+(d&&b?\"-\"+b:\"\"),i._traceIndex=o.index,i._propPrefix=(b?b+\".\":\"\")+\"colorbar.\",i._meta=o._meta,u(),n.push(i))}}}for(var p in t._colorAxes)if(a=t[p],a.showscale){var E=t._colorAxes[p];i=l(a.colorbar),i._id=\"cb\"+p,i._propPrefix=p+\".colorbar.\",i._meta=t._meta,s={min:\"cmin\",max:\"cmax\"},E[0]!==\"heatmap\"&&(o=E[1],s.calc=o._module.colorbar.calc),u(),n.push(i)}return n}function lmt(e,t,r){var n=t.orientation===\"v\",i=t.len,a=t.lenmode,o=t.thickness,s=t.thicknessmode,l=t.outlinewidth,u=t.borderwidth,c=t.bgcolor,f=t.xanchor,h=t.yanchor,d=t.xpad,v=t.ypad,x=t.x,b=n?t.y:1-t.y,p=t.yref===\"paper\",E=t.xref===\"paper\",k=r._fullLayout,A=k._size,L=t._fillcolor,_=t._line,C=t.title,M=C.side,g=t._zrange||T_.extent((typeof L==\"function\"?L:_.color).domain()),P=typeof _.color==\"function\"?_.color:function(){return _.color},T=typeof L==\"function\"?L:function(){return L},F=t._levels,q=cmt(r,t,g),V=q.fill,H=q.line,X=Math.round(o*(s===\"fraction\"?n?A.w:A.h:1)),G=X/(n?A.w:A.h),N=Math.round(i*(a===\"fraction\"?n?A.h:A.w:1)),W=N/(n?A.h:A.w),re=E?A.w:r._fullLayout.width,ae=p?A.h:r._fullLayout.height,_e=Math.round(n?x*re+d:b*ae+v),Me={center:.5,right:1}[f]||0,ke={top:1,middle:.5}[h]||0,ge=n?x-Me*G:b-ke*G,ie=n?b-ke*W:x-Me*W,Te=Math.round(n?ae*(1-ie):re*ie);t._lenFrac=W,t._thickFrac=G,t._uFrac=ge,t._vFrac=ie;var Ee=t._axis=fmt(r,t,g);Ee.position=G+(n?x+d/A.w:b+v/A.h);var Ae=[\"top\",\"bottom\"].indexOf(M)!==-1;if(n&&Ae&&(Ee.title.side=M,Ee.titlex=x+d/A.w,Ee.titley=ie+(C.side===\"top\"?W-v/A.h:v/A.h)),!n&&!Ae&&(Ee.title.side=M,Ee.titley=b+v/A.h,Ee.titlex=ie+d/A.w),_.color&&t.tickmode===\"auto\"){Ee.tickmode=\"linear\",Ee.tick0=F.start;var ze=F.size,Ce=B0.constrain(N/50,4,15)+1,me=(g[1]-g[0])/((t.nticks||Ce)*ze);if(me>1){var Re=Math.pow(10,Math.floor(Math.log(me)/Math.LN10));ze*=Re*B0.roundUp(me/Re,[2,5,10]),(Math.abs(F.start)/F.size+1e-6)%1<2e-6&&(Ee.tick0=0)}Ee.dtick=ze}Ee.domain=n?[ie+v/A.h,ie+W-v/A.h]:[ie+d/A.w,ie+W-d/A.w],Ee.setScale(),e.attr(\"transform\",Ug(Math.round(A.l),Math.round(A.t)));var ce=e.select(\".\"+Vc.cbtitleunshift).attr(\"transform\",Ug(-Math.round(A.l),-Math.round(A.t))),Ge=Ee.ticklabelposition,nt=Ee.title.font.size,ct=e.select(\".\"+Vc.cbaxis),qt,rt=0,ot=0;function Rt(er,Ke){var xt={propContainer:Ee,propName:t._propPrefix+\"title\",traceIndex:t._traceIndex,_meta:t._meta,placeholder:k._dfltTitle.colorbar,containerGroup:e.select(\".\"+Vc.cbtitle)},bt=er.charAt(0)===\"h\"?er.substr(1):\"h\"+er;e.selectAll(\".\"+bt+\",.\"+bt+\"-math-group\").remove(),emt.draw(r,er,wme(xt,Ke||{}))}function kt(){if(n&&Ae||!n&&!Ae){var er,Ke;M===\"top\"&&(er=d+A.l+re*x,Ke=v+A.t+ae*(1-ie-W)+3+nt*.75),M===\"bottom\"&&(er=d+A.l+re*x,Ke=v+A.t+ae*(1-ie)-3-nt*.25),M===\"right\"&&(Ke=v+A.t+ae*b+3+nt*.75,er=d+A.l+re*ie),Rt(Ee._id+\"title\",{attributes:{x:er,y:Ke,\"text-anchor\":n?\"start\":\"middle\"}})}}function Ct(){if(n&&!Ae||!n&&Ae){var er=Ee.position||0,Ke=Ee._offset+Ee._length/2,xt,bt;if(M===\"right\")bt=Ke,xt=A.l+re*er+10+nt*(Ee.showticklabels?1:.5);else if(xt=Ke,M===\"bottom\"&&(bt=A.t+ae*er+10+(Ge.indexOf(\"inside\")===-1?Ee.tickfont.size:0)+(Ee.ticks!==\"intside\"&&t.ticklen||0)),M===\"top\"){var Lt=C.text.split(\"<br>\").length;bt=A.t+ae*er+10-X-_me*nt*Lt}Rt((n?\"h\":\"v\")+Ee._id+\"title\",{avoid:{selection:T_.select(r).selectAll(\"g.\"+Ee._id+\"tick\"),side:M,offsetTop:n?0:A.t,offsetLeft:n?A.l:0,maxShift:n?k.width:k.height},attributes:{x:xt,y:bt,\"text-anchor\":\"middle\"},transform:{rotate:n?-90:0,offset:0}})}}function Yt(){if(!n&&!Ae||n&&Ae){var er=e.select(\".\"+Vc.cbtitle),Ke=er.select(\"text\"),xt=[-l/2,l/2],bt=er.select(\".h\"+Ee._id+\"title-math-group\").node(),Lt=15.6;Ke.node()&&(Lt=parseInt(Ke.node().style.fontSize,10)*_me);var St;if(bt?(St=Ng.bBox(bt),ot=St.width,rt=St.height,rt>Lt&&(xt[1]-=(rt-Lt)/2)):Ke.node()&&!Ke.classed(Vc.jsPlaceholder)&&(St=Ng.bBox(Ke.node()),ot=St.width,rt=St.height),n){if(rt){if(rt+=5,M===\"top\")Ee.domain[1]-=rt/A.h,xt[1]*=-1;else{Ee.domain[0]+=rt/A.h;var Et=tmt.lineCount(Ke);xt[1]+=(1-Et)*Lt}er.attr(\"transform\",Ug(xt[0],xt[1])),Ee.setScale()}}else ot&&(M===\"right\"&&(Ee.domain[0]+=(ot+nt/2)/A.w),er.attr(\"transform\",Ug(xt[0],xt[1])),Ee.setScale())}e.selectAll(\".\"+Vc.cbfills+\",.\"+Vc.cblines).attr(\"transform\",n?Ug(0,Math.round(A.h*(1-Ee.domain[1]))):Ug(Math.round(A.w*Ee.domain[0]),0)),ct.attr(\"transform\",n?Ug(0,Math.round(-A.t)):Ug(Math.round(-A.l),0));var dt=e.select(\".\"+Vc.cbfills).selectAll(\"rect.\"+Vc.cbfill).attr(\"style\",\"\").data(V);dt.enter().append(\"rect\").classed(Vc.cbfill,!0).attr(\"style\",\"\"),dt.exit().remove();var Ht=g.map(Ee.c2p).map(Math.round).sort(function(Or,Nr){return Or-Nr});dt.each(function(Or,Nr){var ut=[Nr===0?g[0]:(V[Nr]+V[Nr-1])/2,Nr===V.length-1?g[1]:(V[Nr]+V[Nr+1])/2].map(Ee.c2p).map(Math.round);n&&(ut[1]=B0.constrain(ut[1]+(ut[1]>ut[0])?1:-1,Ht[0],Ht[1]));var Ne=T_.select(this).attr(n?\"x\":\"y\",_e).attr(n?\"y\":\"x\",T_.min(ut)).attr(n?\"width\":\"height\",Math.max(X,2)).attr(n?\"height\":\"width\",Math.max(T_.max(ut)-T_.min(ut),2));if(t._fillgradient)Ng.gradient(Ne,r,t._id,n?\"vertical\":\"horizontalreversed\",t._fillgradient,\"fill\");else{var Ye=T(Or).replace(\"e-\",\"\");Ne.attr(\"fill\",uV(Ye).toHexString())}});var $t=e.select(\".\"+Vc.cblines).selectAll(\"path.\"+Vc.cbline).data(_.color&&_.width?H:[]);$t.enter().append(\"path\").classed(Vc.cbline,!0),$t.exit().remove(),$t.each(function(Or){var Nr=_e,ut=Math.round(Ee.c2p(Or))+_.width/2%1;T_.select(this).attr(\"d\",\"M\"+(n?Nr+\",\"+ut:ut+\",\"+Nr)+(n?\"h\":\"v\")+X).call(Ng.lineGroupStyle,_.width,P(Or),_.dash)}),ct.selectAll(\"g.\"+Ee._id+\"tick,path\").remove();var fr=_e+X+(l||0)/2-(t.ticks===\"outside\"?1:0),_r=Ry.calcTicks(Ee),Br=Ry.getTickSigns(Ee)[2];return Ry.drawTicks(r,Ee,{vals:Ee.ticks===\"inside\"?Ry.clipEnds(Ee,_r):_r,layer:ct,path:Ry.makeTickPath(Ee,fr,Br),transFn:Ry.makeTransTickFn(Ee)}),Ry.drawLabels(r,Ee,{vals:_r,layer:ct,transFn:Ry.makeTransTickLabelFn(Ee),labelFns:Ry.makeLabelFns(Ee,fr)})}function xr(){var er,Ke=X+l/2;Ge.indexOf(\"inside\")===-1&&(er=Ng.bBox(ct.node()),Ke+=n?er.width:er.height),qt=ce.select(\"text\");var xt=0,bt=n&&M===\"top\",Lt=!n&&M===\"right\",St=0;if(qt.node()&&!qt.classed(Vc.jsPlaceholder)){var Et,dt=ce.select(\".h\"+Ee._id+\"title-math-group\").node();dt&&(n&&Ae||!n&&!Ae)?(er=Ng.bBox(dt),xt=er.width,Et=er.height):(er=Ng.bBox(ce.node()),xt=er.right-A.l-(n?_e:Te),Et=er.bottom-A.t-(n?Te:_e),!n&&M===\"top\"&&(Ke+=er.height,St=er.height)),Lt&&(qt.attr(\"transform\",Ug(xt/2+nt/2,0)),xt*=2),Ke=Math.max(Ke,n?xt:Et)}var Ht=(n?d:v)*2+Ke+u+l/2,$t=0;!n&&C.text&&h===\"bottom\"&&b<=0&&($t=Ht/2,Ht+=$t,St+=$t),k._hColorbarMoveTitle=$t,k._hColorbarMoveCBTitle=St;var fr=u+l,_r=(n?_e:Te)-fr/2-(n?d:0),Br=(n?Te:_e)-(n?N:v+St-$t);e.select(\".\"+Vc.cbbg).attr(\"x\",_r).attr(\"y\",Br).attr(n?\"width\":\"height\",Math.max(Ht-$t,2)).attr(n?\"height\":\"width\",Math.max(N+fr,2)).call(fV.fill,c).call(fV.stroke,t.bordercolor).style(\"stroke-width\",u);var Or=Lt?Math.max(xt-10,0):0;e.selectAll(\".\"+Vc.cboutline).attr(\"x\",(n?_e:Te+d)+Or).attr(\"y\",(n?Te+v-N:_e)+(bt?rt:0)).attr(n?\"width\":\"height\",Math.max(X,2)).attr(n?\"height\":\"width\",Math.max(N-(n?2*v+rt:2*d+Or),2)).call(fV.stroke,t.outlinecolor).style({fill:\"none\",\"stroke-width\":l});var Nr=n?Me*Ht:0,ut=n?0:(1-ke)*Ht-St;if(Nr=E?A.l-Nr:-Nr,ut=p?A.t-ut:-ut,e.attr(\"transform\",Ug(Nr,ut)),!n&&(u||uV(c).getAlpha()&&!uV.equals(k.paper_bgcolor,c))){var Ne=ct.selectAll(\"text\"),Ye=Ne[0].length,Ve=e.select(\".\"+Vc.cbbg).node(),Xe=Ng.bBox(Ve),ht=Ng.getTranslate(e),Le=2;Ne.each(function(ri,bi){var nn=0,Wi=Ye-1;if(bi===nn||bi===Wi){var Ni=Ng.bBox(this),_n=Ng.getTranslate(this),$i;if(bi===Wi){var zn=Ni.right+_n.x,Wn=Xe.right+ht.x+Te-u-Le+x;$i=Wn-zn,$i>0&&($i=0)}else if(bi===nn){var It=Ni.left+_n.x,ft=Xe.left+ht.x+Te+u+Le;$i=ft-It,$i<0&&($i=0)}$i&&(Ye<3?this.setAttribute(\"transform\",\"translate(\"+$i+\",0) \"+this.getAttribute(\"transform\")):this.setAttribute(\"visibility\",\"hidden\"))}})}var xe={},Se=xme[f],lt=bme[f],Gt=xme[h],Vt=bme[h],ar=Ht-X;n?(a===\"pixels\"?(xe.y=b,xe.t=N*Gt,xe.b=N*Vt):(xe.t=xe.b=0,xe.yt=b+i*Gt,xe.yb=b-i*Vt),s===\"pixels\"?(xe.x=x,xe.l=Ht*Se,xe.r=Ht*lt):(xe.l=ar*Se,xe.r=ar*lt,xe.xl=x-o*Se,xe.xr=x+o*lt)):(a===\"pixels\"?(xe.x=x,xe.l=N*Se,xe.r=N*lt):(xe.l=xe.r=0,xe.xl=x+i*Se,xe.xr=x-i*lt),s===\"pixels\"?(xe.y=1-b,xe.t=Ht*Gt,xe.b=Ht*Vt):(xe.t=ar*Gt,xe.b=ar*Vt,xe.yt=b-o*Gt,xe.yb=b+o*Vt));var Qr=t.y<.5?\"b\":\"t\",ai=t.x<.5?\"l\":\"r\";r._fullLayout._reservedMargin[t._id]={};var jr={r:k.width-_r-Nr,l:_r+xe.r,b:k.height-Br-ut,t:Br+xe.b};E&&p?II.autoMargin(r,t._id,xe):E?r._fullLayout._reservedMargin[t._id][Qr]=jr[Qr]:p||n?r._fullLayout._reservedMargin[t._id][ai]=jr[ai]:r._fullLayout._reservedMargin[t._id][Qr]=jr[Qr]}return B0.syncOrAsync([II.previousPromises,kt,Yt,Ct,II.previousPromises,xr],r)}function umt(e,t,r){var n=t.orientation===\"v\",i=r._fullLayout,a=i._size,o,s,l;PI.init({element:e.node(),gd:r,prepFn:function(){o=e.attr(\"transform\"),cV(e)},moveFn:function(u,c){e.attr(\"transform\",o+Ug(u,c)),s=PI.align((n?t._uFrac:t._vFrac)+u/a.w,n?t._thickFrac:t._lenFrac,0,1,t.xanchor),l=PI.align((n?t._vFrac:1-t._uFrac)-c/a.h,n?t._lenFrac:t._thickFrac,0,1,t.yanchor);var f=PI.getCursor(s,l,t.xanchor,t.yanchor);cV(e,f)},doneFn:function(){if(cV(e),s!==void 0&&l!==void 0){var u={};u[t._propPrefix+\"x\"]=s,u[t._propPrefix+\"y\"]=l,t._traceIndex!==void 0?yme.call(\"_guiRestyle\",r,u,t._traceIndex):yme.call(\"_guiRelayout\",r,u)}}})}function cmt(e,t,r){var n=t._levels,i=[],a=[],o,s,l=n.end+n.size/100,u=n.size,c=1.001*r[0]-.001*r[1],f=1.001*r[1]-.001*r[0];for(s=0;s<1e5&&(o=n.start+s*u,!(u>0?o>=l:o<=l));s++)o>c&&o<f&&i.push(o);if(t._fillgradient)a=[0];else if(typeof t._fillcolor==\"function\"){var h=t._filllevels;if(h)for(l=h.end+h.size/100,u=h.size,s=0;s<1e5&&(o=h.start+s*u,!(u>0?o>=l:o<=l));s++)o>r[0]&&o<r[1]&&a.push(o);else a=i.map(function(d){return d-n.size/2}),a.push(a[a.length-1]+n.size)}else t._fillcolor&&typeof t._fillcolor==\"string\"&&(a=[0]);return n.size<0&&(i.reverse(),a.reverse()),{line:i,fill:a}}function fmt(e,t,r){var n=e._fullLayout,i=t.orientation===\"v\",a={type:\"linear\",range:r,tickmode:t.tickmode,nticks:t.nticks,tick0:t.tick0,dtick:t.dtick,tickvals:t.tickvals,ticktext:t.ticktext,ticks:t.ticks,ticklen:t.ticklen,tickwidth:t.tickwidth,tickcolor:t.tickcolor,showticklabels:t.showticklabels,labelalias:t.labelalias,ticklabelposition:t.ticklabelposition,ticklabeloverflow:t.ticklabeloverflow,ticklabelstep:t.ticklabelstep,tickfont:t.tickfont,tickangle:t.tickangle,tickformat:t.tickformat,exponentformat:t.exponentformat,minexponent:t.minexponent,separatethousands:t.separatethousands,showexponent:t.showexponent,showtickprefix:t.showtickprefix,tickprefix:t.tickprefix,showticksuffix:t.showticksuffix,ticksuffix:t.ticksuffix,title:t.title,showline:!0,anchor:\"free\",side:i?\"right\":\"bottom\",position:1},o=i?\"y\":\"x\",s={type:\"linear\",_id:o+t._id},l={letter:o,font:n.font,noAutotickangles:o===\"y\",noHover:!0,noTickson:!0,noTicklabelmode:!0,noInsideRange:!0,calendar:n.calendar};function u(c,f){return B0.coerce(a,s,amt,c,f)}return imt(a,s,u,l,n),nmt(a,s,u,l),s}Tme.exports={draw:omt}});var Mme=ye((cor,Sme)=>{\"use strict\";Sme.exports={moduleType:\"component\",name:\"colorbar\",attributes:K6(),supplyDefaults:SO(),draw:Ame().draw,hasColorbar:yO()}});var kme=ye((hor,Eme)=>{\"use strict\";Eme.exports={moduleType:\"component\",name:\"legend\",layoutAttributes:yB(),supplyLayoutDefaults:bB(),draw:RB(),style:CB()}});var Lme=ye((dor,Cme)=>{\"use strict\";Cme.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\"}}});var Ime=ye((vor,Pme)=>{\"use strict\";Pme.exports={moduleType:\"locale\",name:\"en-US\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colorscale title\"},format:{date:\"%m/%d/%Y\"}}});var vV=ye((por,Fme)=>{\"use strict\";var hmt=ba(),zme=Mr(),dV=zme.extendFlat,Rme=zme.extendDeep;function Dme(e){var t;switch(e){case\"themes__thumb\":t={autosize:!0,width:150,height:150,title:{text:\"\"},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case\"thumbnail\":t={title:{text:\"\"},hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:\"\",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:t={}}return t}function dmt(e){var t=[\"xaxis\",\"yaxis\",\"zaxis\"];return t.indexOf(e.slice(0,5))>-1}Fme.exports=function(t,r){var n,i=t.data,a=t.layout,o=Rme([],i),s=Rme({},a,Dme(r.tileClass)),l=t._context||{};if(r.width&&(s.width=r.width),r.height&&(s.height=r.height),r.tileClass===\"thumbnail\"||r.tileClass===\"themes__thumb\"){s.annotations=[];var u=Object.keys(s);for(n=0;n<u.length;n++)dmt(u[n])&&(s[u[n]].title={text:\"\"});for(n=0;n<o.length;n++){var c=o[n];c.showscale=!1,c.marker&&(c.marker.showscale=!1),hmt.traceIs(c,\"pie-like\")&&(c.textposition=\"none\")}}if(Array.isArray(r.annotations))for(n=0;n<r.annotations.length;n++)s.annotations.push(r.annotations[n]);var f=Object.keys(s).filter(function(b){return b.match(/^scene\\d*$/)});if(f.length){var h={};for(r.tileClass===\"thumbnail\"&&(h={title:{text:\"\"},showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),n=0;n<f.length;n++){var d=s[f[n]];d.xaxis||(d.xaxis={}),d.yaxis||(d.yaxis={}),d.zaxis||(d.zaxis={}),dV(d.xaxis,h),dV(d.yaxis,h),dV(d.zaxis,h),d._scene=null}}var v=document.createElement(\"div\");r.tileClass&&(v.className=r.tileClass);var x={gd:v,td:v,layout:s,data:o,config:{staticPlot:r.staticPlot===void 0?!0:r.staticPlot,plotGlPixelRatio:r.plotGlPixelRatio===void 0?2:r.plotGlPixelRatio,displaylogo:r.displaylogo||!1,showLink:r.showLink||!1,showTips:r.showTips||!1,mapboxAccessToken:l.mapboxAccessToken}};return r.setBackground!==\"transparent\"&&(x.config.setBackground=r.setBackground||\"opaque\"),x.gd.defaultLayout=Dme(r.tileClass),x}});var Bme=ye((gor,Ome)=>{\"use strict\";var vmt=vb().EventEmitter,pmt=ba(),gmt=Mr(),qme=Ly(),mmt=vV(),ymt=BP(),_mt=NP();function xmt(e,t){var r=new vmt,n=mmt(e,{format:\"png\"}),i=n.gd;i.style.position=\"absolute\",i.style.left=\"-5000px\",document.body.appendChild(i);function a(){var s=qme.getDelay(i._fullLayout);setTimeout(function(){var l=ymt(i),u=document.createElement(\"canvas\");u.id=gmt.randstr(),r=_mt({format:t.format,width:i._fullLayout.width,height:i._fullLayout.height,canvas:u,emitter:r,svg:l}),r.clean=function(){i&&document.body.removeChild(i)}},s)}var o=qme.getRedrawFunc(i);return pmt.call(\"_doPlot\",i,n.data,n.layout,n.config).then(o).then(a).catch(function(s){r.emit(\"error\",s)}),r}Ome.exports=xmt});var Vme=ye((mor,Ume)=>{\"use strict\";var Nme=Ly(),bmt={getDelay:Nme.getDelay,getRedrawFunc:Nme.getRedrawFunc,clone:vV(),toSVG:BP(),svgToImg:NP(),toImage:Bme(),downloadImage:YN()};Ume.exports=bmt});var Gme=ye(Dy=>{\"use strict\";Dy.version=e6().version;iee();Wie();var wmt=ba(),u4=Dy.register=wmt.register,gV=hde(),Hme=Object.keys(gV);for(RI=0;RI<Hme.length;RI++)_T=Hme[RI],_T.charAt(0)!==\"_\"&&(Dy[_T]=gV[_T]),u4({moduleType:\"apiMethod\",name:_T,fn:gV[_T]});var _T,RI;u4(ope());u4([Ppe(),Gpe(),wf(),l0e(),b0e(),H0e(),uge(),kge(),Wge(),nV(),pme(),Mu(),Mme(),kme(),Nc(),nN()]);u4([Lme(),Ime()]);window.PlotlyLocales&&Array.isArray(window.PlotlyLocales)&&(u4(window.PlotlyLocales),delete window.PlotlyLocales);Dy.Icons=UL();var DI=Nc(),pV=Xu();Dy.Plots={resize:pV.resize,graphJson:pV.graphJson,sendDataToCloud:pV.sendDataToCloud};Dy.Fx={hover:DI.hover,unhover:DI.unhover,loneHover:DI.loneHover,loneUnhover:DI.loneUnhover};Dy.Snapshot=Vme();Dy.PlotSchema=_3()});var Wme=ye((_or,jme)=>{\"use strict\";jme.exports=Gme()});var Qb=ye((xor,Zme)=>{\"use strict\";Zme.exports={TEXTPAD:3,eventDataKeys:[\"value\",\"label\"]}});var Lm=ye((bor,Jme)=>{\"use strict\";var Tf=Uc(),Xme=Oc().axisHoverFormat,Tmt=Wo().hovertemplateAttrs,Amt=Wo().texttemplateAttrs,Kme=Jl(),Smt=Su(),Yme=Qb(),Mmt=Ed().pattern,e2=no().extendFlat,mV=Smt({editType:\"calc\",arrayOk:!0,colorEditType:\"style\"}),Emt=Tf.marker,kmt=Emt.line,Cmt=e2({},kmt.width,{dflt:0}),Lmt=e2({width:Cmt,editType:\"calc\"},Kme(\"marker.line\")),Pmt=e2({line:Lmt,editType:\"calc\"},Kme(\"marker\"),{opacity:{valType:\"number\",arrayOk:!0,dflt:1,min:0,max:1,editType:\"style\"},pattern:Mmt,cornerradius:{valType:\"any\",editType:\"calc\"}});Jme.exports={x:Tf.x,x0:Tf.x0,dx:Tf.dx,y:Tf.y,y0:Tf.y0,dy:Tf.dy,xperiod:Tf.xperiod,yperiod:Tf.yperiod,xperiod0:Tf.xperiod0,yperiod0:Tf.yperiod0,xperiodalignment:Tf.xperiodalignment,yperiodalignment:Tf.yperiodalignment,xhoverformat:Xme(\"x\"),yhoverformat:Xme(\"y\"),text:Tf.text,texttemplate:Amt({editType:\"plot\"},{keys:Yme.eventDataKeys}),hovertext:Tf.hovertext,hovertemplate:Tmt({},{keys:Yme.eventDataKeys}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"calc\"},insidetextanchor:{valType:\"enumerated\",values:[\"end\",\"middle\",\"start\"],dflt:\"end\",editType:\"plot\"},textangle:{valType:\"angle\",dflt:\"auto\",editType:\"plot\"},textfont:e2({},mV,{}),insidetextfont:e2({},mV,{}),outsidetextfont:e2({},mV,{}),constraintext:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"both\",\"none\"],dflt:\"both\",editType:\"calc\"},cliponaxis:e2({},Tf.cliponaxis,{}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},base:{valType:\"any\",dflt:null,arrayOk:!0,editType:\"calc\"},offset:{valType:\"number\",dflt:null,arrayOk:!0,editType:\"calc\"},width:{valType:\"number\",dflt:null,min:0,arrayOk:!0,editType:\"calc\"},marker:Pmt,offsetgroup:Tf.offsetgroup,alignmentgroup:Tf.alignmentgroup,selected:{marker:{opacity:Tf.selected.marker.opacity,color:Tf.selected.marker.color,editType:\"style\"},textfont:Tf.selected.textfont,editType:\"style\"},unselected:{marker:{opacity:Tf.unselected.marker.opacity,color:Tf.unselected.marker.color,editType:\"style\"},textfont:Tf.unselected.textfont,editType:\"style\"},zorder:Tf.zorder}});var zI=ye((wor,$me)=>{\"use strict\";$me.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\"}}});var FI=ye((Tor,tye)=>{\"use strict\";var Imt=va(),Qme=Dv().hasColorscale,eye=Uh(),Rmt=Mr().coercePattern;tye.exports=function(t,r,n,i,a){var o=n(\"marker.color\",i),s=Qme(t,\"marker\");s&&eye(t,r,a,n,{prefix:\"marker.\",cLetter:\"c\"}),n(\"marker.line.color\",Imt.defaultLine),Qme(t,\"marker.line\")&&eye(t,r,a,n,{prefix:\"marker.line.\",cLetter:\"c\"}),n(\"marker.line.width\"),n(\"marker.opacity\"),Rmt(n,\"marker.pattern\",o,s),n(\"selected.marker.color\"),n(\"unselected.marker.color\")}});var r0=ye((Aor,sye)=>{\"use strict\";var rye=uo(),xT=Mr(),iye=va(),Dmt=ba(),zmt=K3(),Fmt=Pg(),qmt=FI(),Omt=Hb(),nye=Lm(),qI=xT.coerceFont;function Bmt(e,t,r,n){function i(u,c){return xT.coerce(e,t,nye,u,c)}var a=zmt(e,t,n,i);if(!a){t.visible=!1;return}Fmt(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\"),i(\"zorder\"),i(\"orientation\",t.x&&!t.y?\"h\":\"v\"),i(\"base\"),i(\"offset\"),i(\"width\"),i(\"text\"),i(\"hovertext\"),i(\"hovertemplate\");var o=i(\"textposition\");oye(e,t,n,i,o,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),qmt(e,t,i,r,n);var s=(t.marker.line||{}).color,l=Dmt.getComponentMethod(\"errorbars\",\"supplyDefaults\");l(e,t,s||iye.defaultLine,{axis:\"y\"}),l(e,t,s||iye.defaultLine,{axis:\"x\",inherit:\"y\"}),xT.coerceSelectionMarkerOpacity(t,i)}function Nmt(e,t){var r,n;function i(s,l){return xT.coerce(n._input,n,nye,s,l)}for(var a=0;a<e.length;a++)if(n=e[a],n.type===\"bar\"){r=n._input;var o=i(\"marker.cornerradius\",t.barcornerradius);n.marker&&(n.marker.cornerradius=aye(o)),Omt(r,n,t,i,t.barmode)}}function aye(e){if(rye(e)){if(e=+e,e>=0)return e}else if(typeof e==\"string\"&&(e=e.trim(),e.slice(-1)===\"%\"&&rye(e.slice(0,-1))&&(e=+e.slice(0,-1),e>=0)))return e+\"%\"}function oye(e,t,r,n,i,a){a=a||{};var o=a.moduleHasSelected!==!1,s=a.moduleHasUnselected!==!1,l=a.moduleHasConstrain!==!1,u=a.moduleHasCliponaxis!==!1,c=a.moduleHasTextangle!==!1,f=a.moduleHasInsideanchor!==!1,h=!!a.hasPathbar,d=Array.isArray(i)||i===\"auto\",v=d||i===\"inside\",x=d||i===\"outside\";if(v||x){var b=qI(n,\"textfont\",r.font),p=xT.extendFlat({},b),E=e.textfont&&e.textfont.color,k=!E;if(k&&delete p.color,qI(n,\"insidetextfont\",p),h){var A=xT.extendFlat({},b);k&&delete A.color,qI(n,\"pathbar.textfont\",A)}x&&qI(n,\"outsidetextfont\",b),o&&n(\"selected.textfont.color\"),s&&n(\"unselected.textfont.color\"),l&&n(\"constraintext\"),u&&n(\"cliponaxis\"),c&&n(\"textangle\"),n(\"texttemplate\")}v&&f&&n(\"insidetextanchor\")}sye.exports={supplyDefaults:Bmt,crossTraceDefaults:Nmt,handleText:oye,validateCornerradius:aye}});var yV=ye((Sor,lye)=>{\"use strict\";var Umt=ba(),Vmt=Qa(),Hmt=Mr(),Gmt=zI(),jmt=r0().validateCornerradius;lye.exports=function(e,t,r){function n(x,b){return Hmt.coerce(e,t,Gmt,x,b)}for(var i=!1,a=!1,o=!1,s={},l=n(\"barmode\"),u=l===\"group\",c=0;c<r.length;c++){var f=r[c];if(Umt.traceIs(f,\"bar\")&&f.visible)i=!0;else continue;var h=f.xaxis+f.yaxis;if(u?(s[h]&&(o=!0),s[h]=!0):(h+=f._input.offsetgroup,s.length>0&&!s[h]&&(o=!0),s[h]=!0),f.visible&&f.type===\"histogram\"){var d=Vmt.getFromId({_fullLayout:t},f[f.orientation===\"v\"?\"xaxis\":\"yaxis\"]);d.type!==\"category\"&&(a=!0)}}if(!i){delete t.barmode;return}l!==\"overlay\"&&n(\"barnorm\"),n(\"bargap\",a&&!o?0:.2),n(\"bargroupgap\");var v=n(\"barcornerradius\");t.barcornerradius=jmt(v)}});var c4=ye((Mor,uye)=>{\"use strict\";var bT=Mr();uye.exports=function(t,r){for(var n=0;n<t.length;n++)t[n].i=n;bT.mergeArray(r.text,t,\"tx\"),bT.mergeArray(r.hovertext,t,\"htx\");var i=r.marker;if(i){bT.mergeArray(i.opacity,t,\"mo\",!0),bT.mergeArray(i.color,t,\"mc\");var a=i.line;a&&(bT.mergeArray(a.color,t,\"mlc\"),bT.mergeArrayCastPositive(a.width,t,\"mlw\"))}}});var pye=ye((Eor,vye)=>{\"use strict\";var cye=Qa(),fye=Rg(),hye=Dv().hasColorscale,dye=zv(),Wmt=c4(),Zmt=F0();vye.exports=function(t,r){var n=cye.getFromId(t,r.xaxis||\"x\"),i=cye.getFromId(t,r.yaxis||\"y\"),a,o,s,l,u,c,f={msUTC:!!(r.base||r.base===0)};r.orientation===\"h\"?(a=n.makeCalcdata(r,\"x\",f),s=i.makeCalcdata(r,\"y\"),l=fye(r,i,\"y\",s),u=!!r.yperiodalignment,c=\"y\"):(a=i.makeCalcdata(r,\"y\",f),s=n.makeCalcdata(r,\"x\"),l=fye(r,n,\"x\",s),u=!!r.xperiodalignment,c=\"x\"),o=l.vals;for(var h=Math.min(o.length,a.length),d=new Array(h),v=0;v<h;v++)d[v]={p:o[v],s:a[v]},u&&(d[v].orig_p=s[v],d[v][c+\"End\"]=l.ends[v],d[v][c+\"Start\"]=l.starts[v]),r.ids&&(d[v].id=String(r.ids[v]));return hye(r,\"marker\")&&dye(t,r,{vals:r.marker.color,containerStr:\"marker\",cLetter:\"c\"}),hye(r,\"marker.line\")&&dye(t,r,{vals:r.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}),Wmt(d,r),Zmt(d,r),d}});var _v=ye((kor,mye)=>{\"use strict\";var Xmt=xa(),Ymt=Mr();function Kmt(e,t,r){var n=e._fullLayout,i=n[\"_\"+r+\"Text_minsize\"];if(i){var a=n.uniformtext.mode===\"hide\",o;switch(r){case\"funnelarea\":case\"pie\":case\"sunburst\":o=\"g.slice\";break;case\"treemap\":case\"icicle\":o=\"g.slice, g.pathbar\";break;default:o=\"g.points > g.point\"}t.selectAll(o).each(function(s){var l=s.transform;if(l){l.scale=a&&l.hide?0:i/l.fontSize;var u=Xmt.select(this).select(\"text\");Ymt.setTransormAndDisplay(u,l)}})}}function Jmt(e,t,r){if(r.uniformtext.mode){var n=gye(e),i=r.uniformtext.minsize,a=t.scale*t.fontSize;t.hide=a<i,r[n]=r[n]||1/0,t.hide||(r[n]=Math.min(r[n],Math.max(a,i)))}}function $mt(e,t){var r=gye(e);t[r]=void 0}function gye(e){return\"_\"+e+\"Text_minsize\"}mye.exports={recordMinTextSize:Jmt,clearMinTextSize:$mt,resizeText:Kmt}});var OI=ye(t2=>{\"use strict\";var Qmt=uo(),eyt=id(),yye=Mr().isArrayOrTypedArray;t2.coerceString=function(e,t,r){if(typeof t==\"string\"){if(t||!e.noBlank)return t}else if((typeof t==\"number\"||t===!0)&&!e.strict)return String(t);return r!==void 0?r:e.dflt};t2.coerceNumber=function(e,t,r){if(Qmt(t)){t=+t;var n=e.min,i=e.max,a=n!==void 0&&t<n||i!==void 0&&t>i;if(!a)return t}return r!==void 0?r:e.dflt};t2.coerceColor=function(e,t,r){return eyt(t).isValid()?t:r!==void 0?r:e.dflt};t2.coerceEnumerated=function(e,t,r){return e.coerceNumber&&(t=+t),e.values.indexOf(t)!==-1?t:r!==void 0?r:e.dflt};t2.getValue=function(e,t){var r;return yye(e)?t<e.length&&(r=e[t]):r=e,r};t2.getLineWidth=function(e,t){var r=0<t.mlw?t.mlw:yye(e.marker.line.width)?0:e.marker.line.width;return r}});var N0=ye((Lor,Cye)=>{\"use strict\";var f4=xa(),tyt=va(),h4=ao(),_ye=Mr(),xye=ba(),bye=_v().resizeText,_V=Lm(),ryt=_V.textfont,iyt=_V.insidetextfont,nyt=_V.outsidetextfont,Jd=OI();function ayt(e){var t=f4.select(e).selectAll('g[class^=\"barlayer\"]').selectAll(\"g.trace\");bye(e,t,\"bar\");var r=t.size(),n=e._fullLayout;t.style(\"opacity\",function(i){return i[0].trace.opacity}).each(function(i){(n.barmode===\"stack\"&&r>1||n.bargap===0&&n.bargroupgap===0&&!i[0].trace.marker.line.width)&&f4.select(this).attr(\"shape-rendering\",\"crispEdges\")}),t.selectAll(\"g.points\").each(function(i){var a=f4.select(this),o=i[0].trace;wye(a,o,e)}),xye.getComponentMethod(\"errorbars\",\"style\")(t)}function wye(e,t,r){h4.pointStyle(e.selectAll(\"path\"),t,r),Tye(e,t,r)}function Tye(e,t,r){e.selectAll(\"text\").each(function(n){var i=f4.select(this),a=_ye.ensureUniformFontSize(r,Aye(i,n,t,r));h4.font(i,a)})}function oyt(e,t,r){var n=t[0].trace;n.selectedpoints?syt(r,n,e):(wye(r,n,e),xye.getComponentMethod(\"errorbars\",\"style\")(r))}function syt(e,t,r){h4.selectedPointStyle(e.selectAll(\"path\"),t),lyt(e.selectAll(\"text\"),t,r)}function lyt(e,t,r){e.each(function(n){var i=f4.select(this),a;if(n.selected){a=_ye.ensureUniformFontSize(r,Aye(i,n,t,r));var o=t.selected.textfont&&t.selected.textfont.color;o&&(a.color=o),h4.font(i,a)}else h4.selectedTextStyle(i,t)})}function Aye(e,t,r,n){var i=n._fullLayout.font,a=r.textfont;if(e.classed(\"bartext-inside\")){var o=kye(t,r);a=Mye(r,t.i,i,o)}else e.classed(\"bartext-outside\")&&(a=Eye(r,t.i,i));return a}function Sye(e,t,r){return xV(ryt,e.textfont,t,r)}function Mye(e,t,r,n){var i=Sye(e,t,r),a=e._input.textfont===void 0||e._input.textfont.color===void 0||Array.isArray(e.textfont.color)&&e.textfont.color[t]===void 0;return a&&(i={color:tyt.contrast(n),family:i.family,size:i.size,weight:i.weight,style:i.style,variant:i.variant,textcase:i.textcase,lineposition:i.lineposition,shadow:i.shadow}),xV(iyt,e.insidetextfont,t,i)}function Eye(e,t,r){var n=Sye(e,t,r);return xV(nyt,e.outsidetextfont,t,n)}function xV(e,t,r,n){t=t||{};var i=Jd.getValue(t.family,r),a=Jd.getValue(t.size,r),o=Jd.getValue(t.color,r),s=Jd.getValue(t.weight,r),l=Jd.getValue(t.style,r),u=Jd.getValue(t.variant,r),c=Jd.getValue(t.textcase,r),f=Jd.getValue(t.lineposition,r),h=Jd.getValue(t.shadow,r);return{family:Jd.coerceString(e.family,i,n.family),size:Jd.coerceNumber(e.size,a,n.size),color:Jd.coerceColor(e.color,o,n.color),weight:Jd.coerceString(e.weight,s,n.weight),style:Jd.coerceString(e.style,l,n.style),variant:Jd.coerceString(e.variant,u,n.variant),textcase:Jd.coerceString(e.variant,c,n.textcase),lineposition:Jd.coerceString(e.variant,f,n.lineposition),shadow:Jd.coerceString(e.variant,h,n.shadow)}}function kye(e,t){return t.type===\"waterfall\"?t[e.dir].marker.color:e.mcc||e.mc||t.marker.color}Cye.exports={style:ayt,styleTextPoints:Tye,styleOnSelect:oyt,getInsideTextFont:Mye,getOutsideTextFont:Eye,getBarColor:kye,resizeText:bye}});var i2=ye((Por,qye)=>{\"use strict\";var BI=xa(),NI=uo(),Pd=Mr(),uyt=Pl(),cyt=va(),A_=ao(),fyt=ba(),UI=Qa().tickText,Lye=_v(),hyt=Lye.recordMinTextSize,dyt=Lye.clearMinTextSize,bV=N0(),wT=OI(),vyt=Qb(),Pye=Lm(),pyt=Pye.text,gyt=Pye.textposition,myt=rp().appendArrayPointValue,Uv=vyt.TEXTPAD;function yyt(e){return e.id}function _yt(e){if(e.ids)return yyt}function wV(e){return(e>0)-(e<0)}function Pm(e,t){return e<t?1:-1}function xyt(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),n?[i,a]:[a,i]}function Iye(e,t,r,n){if(!t.uniformtext.mode&&Rye(r)){var i;return n&&(i=n()),e.transition().duration(r.duration).ease(r.easing).each(\"end\",function(){i&&i()}).each(\"interrupt\",function(){i&&i()})}else return e}function Rye(e){return e&&e.duration>0}function byt(e,t,r,n,i,a){var o=t.xaxis,s=t.yaxis,l=e._fullLayout,u=e._context.staticPlot;i||(i={mode:l.barmode,norm:l.barmode,gap:l.bargap,groupgap:l.bargroupgap},dyt(\"bar\",l));var c=Pd.makeTraceGroups(n,r,\"trace bars\").each(function(f){var h=BI.select(this),d=f[0].trace,v=f[0].t,x=d.type===\"waterfall\",b=d.type===\"funnel\",p=d.type===\"histogram\",E=d.type===\"bar\",k=E||b,A=0;x&&d.connector.visible&&d.connector.mode===\"between\"&&(A=d.connector.line.width/2);var L=d.orientation===\"h\",_=Rye(i),C=Pd.ensureSingle(h,\"g\",\"points\"),M=_yt(d),g=C.selectAll(\"g.point\").data(Pd.identity,M);g.enter().append(\"g\").classed(\"point\",!0),g.exit().remove(),g.each(function(T,F){var q=BI.select(this),V=xyt(T,o,s,L),H=V[0][0],X=V[0][1],G=V[1][0],N=V[1][1],W=(L?X-H:N-G)===0;W&&k&&wT.getLineWidth(d,T)&&(W=!1),W||(W=!NI(H)||!NI(X)||!NI(G)||!NI(N)),T.isBlank=W,W&&(L?X=H:N=G),A&&!W&&(L?(H-=Pm(H,X)*A,X+=Pm(H,X)*A):(G-=Pm(G,N)*A,N+=Pm(G,N)*A));var re,ae;if(d.type===\"waterfall\"){if(!W){var _e=d[T.dir].marker;re=_e.line.width,ae=_e.color}}else re=wT.getLineWidth(d,T),ae=T.mc||d.marker.color;function Me(Ke){var xt=BI.round(re/2%1,2);return i.gap===0&&i.groupgap===0?BI.round(Math.round(Ke)-xt,2):Ke}function ke(Ke,xt,bt){return bt&&Ke===xt?Ke:Math.abs(Ke-xt)>=2?Me(Ke):Ke>xt?Math.ceil(Ke):Math.floor(Ke)}var ge=cyt.opacity(ae),ie=ge<1||re>.01?Me:ke;e._context.staticPlot||(H=ie(H,X,L),X=ie(X,H,L),G=ie(G,N,!L),N=ie(N,G,!L));var Te=L?o.c2p:s.c2p,Ee;T.s0>0?Ee=T._sMax:T.s0<0?Ee=T._sMin:Ee=T.s1>0?T._sMax:T._sMin;function Ae(Ke,xt){if(!Ke)return 0;var bt=Math.abs(L?N-G:X-H),Lt=Math.abs(L?X-H:N-G),St=ie(Math.abs(Te(Ee,!0)-Te(0,!0))),Et=T.hasB?Math.min(bt/2,Lt/2):Math.min(bt/2,St),dt;if(xt===\"%\"){var Ht=Math.min(50,Ke);dt=bt*(Ht/100)}else dt=Ke;return ie(Math.max(Math.min(dt,Et),0))}var ze=E||p?Ae(v.cornerradiusvalue,v.cornerradiusform):0,Ce,me,Re=\"M\"+H+\",\"+G+\"V\"+N+\"H\"+X+\"V\"+G+\"Z\",ce=0;if(ze&&T.s){var Ge=wV(T.s0)===0||wV(T.s)===wV(T.s0)?T.s1:T.s0;if(ce=ie(T.hasB?0:Math.abs(Te(Ee,!0)-Te(Ge,!0))),ce<ze){var nt=Pm(H,X),ct=Pm(G,N),qt=nt===-ct?1:0;if(L)if(T.hasB)Ce=\"M\"+(H+ze*nt)+\",\"+G+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+H+\",\"+(G+ze*ct)+\"V\"+(N-ze*ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(H+ze*nt)+\",\"+N+\"H\"+(X-ze*nt)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+X+\",\"+(N-ze*ct)+\"V\"+(G+ze*ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(X-ze*nt)+\",\"+G+\"Z\";else{me=Math.abs(X-H)+ce;var rt=me<ze?ze-Math.sqrt(me*(2*ze-me)):0,ot=ce>0?Math.sqrt(ce*(2*ze-ce)):0,Rt=nt>0?Math.max:Math.min;Ce=\"M\"+H+\",\"+G+\"V\"+(N-rt*ct)+\"H\"+Rt(X-(ze-ce)*nt,H)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+X+\",\"+(N-ze*ct-ot)+\"V\"+(G+ze*ct+ot)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+Rt(X-(ze-ce)*nt,H)+\",\"+(G+rt*ct)+\"Z\"}else if(T.hasB)Ce=\"M\"+(H+ze*nt)+\",\"+G+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+H+\",\"+(G+ze*ct)+\"V\"+(N-ze*ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(H+ze*nt)+\",\"+N+\"H\"+(X-ze*nt)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+X+\",\"+(N-ze*ct)+\"V\"+(G+ze*ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(X-ze*nt)+\",\"+G+\"Z\";else{me=Math.abs(N-G)+ce;var kt=me<ze?ze-Math.sqrt(me*(2*ze-me)):0,Ct=ce>0?Math.sqrt(ce*(2*ze-ce)):0,Yt=ct>0?Math.max:Math.min;Ce=\"M\"+(H+kt*nt)+\",\"+G+\"V\"+Yt(N-(ze-ce)*ct,G)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(H+ze*nt-Ct)+\",\"+N+\"H\"+(X-ze*nt+Ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(X-kt*nt)+\",\"+Yt(N-(ze-ce)*ct,G)+\"V\"+G+\"Z\"}}else Ce=Re}else Ce=Re;var xr=Iye(Pd.ensureSingle(q,\"path\"),l,i,a);if(xr.style(\"vector-effect\",u?\"none\":\"non-scaling-stroke\").attr(\"d\",isNaN((X-H)*(N-G))||W&&e._context.staticPlot?\"M0,0Z\":Ce).call(A_.setClipUrl,t.layerClipId,e),!l.uniformtext.mode&&_){var er=A_.makePointStyleFns(d);A_.singlePointStyle(T,xr,d,er,e)}wyt(e,t,q,f,F,H,X,G,N,ze,ce,i,a),t.layerClipId&&A_.hideOutsideRangePoint(T,q.select(\"text\"),o,s,d.xcalendar,d.ycalendar)});var P=d.cliponaxis===!1;A_.setClipUrl(h,P?null:t.layerClipId,e)});fyt.getComponentMethod(\"errorbars\",\"plot\")(e,c,t,i)}function wyt(e,t,r,n,i,a,o,s,l,u,c,f,h){var d=t.xaxis,v=t.yaxis,x=e._fullLayout,b;function p(me,Re,ce){var Ge=Pd.ensureSingle(me,\"text\").text(Re).attr({class:\"bartext bartext-\"+b,\"text-anchor\":\"middle\",\"data-notex\":1}).call(A_.font,ce).call(uyt.convertToTspans,e);return Ge}var E=n[0].trace,k=E.orientation===\"h\",A=Syt(x,n,i,d,v);b=Myt(E,i);var L=f.mode===\"stack\"||f.mode===\"relative\",_=n[i],C=!L||_._outmost,M=_.hasB,g=u&&u-c>Uv;if(!A||b===\"none\"||(_.isBlank||a===o||s===l)&&(b===\"auto\"||b===\"inside\")){r.select(\"text\").remove();return}var P=x.font,T=bV.getBarColor(n[i],E),F=bV.getInsideTextFont(E,i,P,T),q=bV.getOutsideTextFont(E,i,P),V=E.insidetextanchor||\"end\",H=r.datum();k?d.type===\"log\"&&H.s0<=0&&(d.range[0]<d.range[1]?a=0:a=d._length):v.type===\"log\"&&H.s0<=0&&(v.range[0]<v.range[1]?s=v._length:s=0);var X=Math.abs(o-a),G=Math.abs(l-s),N=X-2*Uv,W=G-2*Uv,re,ae,_e,Me,ke;if(b===\"outside\"&&!C&&!_.hasB&&(b=\"inside\"),b===\"auto\")if(C){b=\"inside\",ke=Pd.ensureUniformFontSize(e,F),re=p(r,A,ke),ae=A_.bBox(re.node()),_e=ae.width,Me=ae.height;var ge=_e>0&&Me>0,ie;g?M?ie=r2(N-2*u,W,_e,Me,k)||r2(N,W-2*u,_e,Me,k):k?ie=r2(N-(u-c),W,_e,Me,k)||r2(N,W-2*(u-c),_e,Me,k):ie=r2(N,W-(u-c),_e,Me,k)||r2(N-2*(u-c),W,_e,Me,k):ie=r2(N,W,_e,Me,k),ge&&ie?b=\"inside\":(b=\"outside\",re.remove(),re=null)}else b=\"inside\";if(!re){ke=Pd.ensureUniformFontSize(e,b===\"outside\"?q:F),re=p(r,A,ke);var Te=re.attr(\"transform\");if(re.attr(\"transform\",\"\"),ae=A_.bBox(re.node()),_e=ae.width,Me=ae.height,re.attr(\"transform\",Te),_e<=0||Me<=0){re.remove();return}}var Ee=E.textangle,Ae,ze;b===\"outside\"?(ze=E.constraintext===\"both\"||E.constraintext===\"outside\",Ae=Ayt(a,o,s,l,ae,{isHorizontal:k,constrained:ze,angle:Ee})):(ze=E.constraintext===\"both\"||E.constraintext===\"inside\",Ae=Fye(a,o,s,l,ae,{isHorizontal:k,constrained:ze,angle:Ee,anchor:V,hasB:M,r:u,overhead:c})),Ae.fontSize=ke.size,hyt(E.type===\"histogram\"?\"bar\":E.type,Ae,x),_.transform=Ae;var Ce=Iye(re,x,f,h);Pd.setTransormAndDisplay(Ce,Ae)}function r2(e,t,r,n,i){if(e<0||t<0)return!1;var a=r<=e&&n<=t,o=r<=t&&n<=e,s=i?e>=r*(t/n):t>=n*(e/r);return a||o||s}function Dye(e){return e===\"auto\"?0:e}function zye(e,t){var r=Math.PI/180*t,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:e.width*i+e.height*n,y:e.width*n+e.height*i}}function Fye(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=a.anchor,c=u===\"end\",f=u===\"start\",h=a.leftToRight||0,d=(h+1)/2,v=1-d,x=a.hasB,b=a.r,p=a.overhead,E=i.width,k=i.height,A=Math.abs(t-e),L=Math.abs(n-r),_=A>2*Uv&&L>2*Uv?Uv:0;A-=2*_,L-=2*_;var C=Dye(l);l===\"auto\"&&!(E<=A&&k<=L)&&(E>A||k>L)&&(!(E>L||k>A)||E<k!=A<L)&&(C+=90);var M=zye(i,C),g,P;if(b&&b-p>Uv){var T=Tyt(e,t,r,n,M,b,p,o,x);g=T.scale,P=T.pad}else g=1,s&&(g=Math.min(1,A/M.x,L/M.y)),P=0;var F=i.left*v+i.right*d,q=(i.top+i.bottom)/2,V=(e+Uv)*v+(t-Uv)*d,H=(r+n)/2,X=0,G=0;if(f||c){var N=(o?M.x:M.y)/2;b&&(c||x)&&(_+=P);var W=o?Pm(e,t):Pm(r,n);o?f?(V=e+W*_,X=-W*N):(V=t-W*_,X=W*N):f?(H=r+W*_,G=-W*N):(H=n-W*_,G=W*N)}return{textX:F,textY:q,targetX:V,targetY:H,anchorX:X,anchorY:G,scale:g,rotate:C}}function Tyt(e,t,r,n,i,a,o,s,l){var u=Math.max(0,Math.abs(t-e)-2*Uv),c=Math.max(0,Math.abs(n-r)-2*Uv),f=a-Uv,h=o?f-Math.sqrt(f*f-(f-o)*(f-o)):f,d=l?f*2:s?f-o:2*h,v=l?f*2:s?2*h:f-o,x,b,p,E,k;return i.y/i.x>=c/(u-d)?E=c/i.y:i.y/i.x<=(c-v)/u?E=u/i.x:!l&&s?(x=i.x*i.x+i.y*i.y/4,b=-2*i.x*(u-f)-i.y*(c/2-f),p=(u-f)*(u-f)+(c/2-f)*(c/2-f)-f*f,E=(-b+Math.sqrt(b*b-4*x*p))/(2*x)):l?(x=(i.x*i.x+i.y*i.y)/4,b=-i.x*(u/2-f)-i.y*(c/2-f),p=(u/2-f)*(u/2-f)+(c/2-f)*(c/2-f)-f*f,E=(-b+Math.sqrt(b*b-4*x*p))/(2*x)):(x=i.x*i.x/4+i.y*i.y,b=-i.x*(u/2-f)-2*i.y*(c-f),p=(u/2-f)*(u/2-f)+(c-f)*(c-f)-f*f,E=(-b+Math.sqrt(b*b-4*x*p))/(2*x)),E=Math.min(1,E),s?k=Math.max(0,f-Math.sqrt(Math.max(0,f*f-(f-(c-i.y*E)/2)*(f-(c-i.y*E)/2)))-o):k=Math.max(0,f-Math.sqrt(Math.max(0,f*f-(f-(u-i.x*E)/2)*(f-(u-i.x*E)/2)))-o),{scale:E,pad:k}}function Ayt(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=i.width,c=i.height,f=Math.abs(t-e),h=Math.abs(n-r),d;o?d=h>2*Uv?Uv:0:d=f>2*Uv?Uv:0;var v=1;s&&(v=o?Math.min(1,h/c):Math.min(1,f/u));var x=Dye(l),b=zye(i,x),p=(o?b.x:b.y)/2,E=(i.left+i.right)/2,k=(i.top+i.bottom)/2,A=(e+t)/2,L=(r+n)/2,_=0,C=0,M=o?Pm(t,e):Pm(r,n);return o?(A=t-M*d,_=M*p):(L=n+M*d,C=-M*p),{textX:E,textY:k,targetX:A,targetY:L,anchorX:_,anchorY:C,scale:v,rotate:x}}function Syt(e,t,r,n,i){var a=t[0].trace,o=a.texttemplate,s;return o?s=Eyt(e,t,r,n,i):a.textinfo?s=kyt(t,r,n,i):s=wT.getValue(a.text,r),wT.coerceString(pyt,s)}function Myt(e,t){var r=wT.getValue(e.textposition,t);return wT.coerceEnumerated(gyt,r)}function Eyt(e,t,r,n,i){var a=t[0].trace,o=Pd.castOption(a,r,\"texttemplate\");if(!o)return\"\";var s=a.type===\"histogram\",l=a.type===\"waterfall\",u=a.type===\"funnel\",c=a.orientation===\"h\",f,h,d,v;c?(f=\"y\",h=i,d=\"x\",v=n):(f=\"x\",h=n,d=\"y\",v=i);function x(_){return UI(h,h.c2l(_),!0).text}function b(_){return UI(v,v.c2l(_),!0).text}var p=t[r],E={};E.label=p.p,E.labelLabel=E[f+\"Label\"]=x(p.p);var k=Pd.castOption(a,p.i,\"text\");(k===0||k)&&(E.text=k),E.value=p.s,E.valueLabel=E[d+\"Label\"]=b(p.s);var A={};myt(A,a,p.i),(s||A.x===void 0)&&(A.x=c?E.value:E.label),(s||A.y===void 0)&&(A.y=c?E.label:E.value),(s||A.xLabel===void 0)&&(A.xLabel=c?E.valueLabel:E.labelLabel),(s||A.yLabel===void 0)&&(A.yLabel=c?E.labelLabel:E.valueLabel),l&&(E.delta=+p.rawS||p.s,E.deltaLabel=b(E.delta),E.final=p.v,E.finalLabel=b(E.final),E.initial=E.final-E.delta,E.initialLabel=b(E.initial)),u&&(E.value=p.s,E.valueLabel=b(E.value),E.percentInitial=p.begR,E.percentInitialLabel=Pd.formatPercent(p.begR),E.percentPrevious=p.difR,E.percentPreviousLabel=Pd.formatPercent(p.difR),E.percentTotal=p.sumR,E.percenTotalLabel=Pd.formatPercent(p.sumR));var L=Pd.castOption(a,p.i,\"customdata\");return L&&(E.customdata=L),Pd.texttemplateString(o,E,e._d3locale,A,E,a._meta||{})}function kyt(e,t,r,n){var i=e[0].trace,a=i.orientation===\"h\",o=i.type===\"waterfall\",s=i.type===\"funnel\";function l(L){var _=a?n:r;return UI(_,L,!0).text}function u(L){var _=a?r:n;return UI(_,+L,!0).text}var c=i.textinfo,f=e[t],h=c.split(\"+\"),d=[],v,x=function(L){return h.indexOf(L)!==-1};if(x(\"label\")&&d.push(l(e[t].p)),x(\"text\")&&(v=Pd.castOption(i,f.i,\"text\"),(v===0||v)&&d.push(v)),o){var b=+f.rawS||f.s,p=f.v,E=p-b;x(\"initial\")&&d.push(u(E)),x(\"delta\")&&d.push(u(b)),x(\"final\")&&d.push(u(p))}if(s){x(\"value\")&&d.push(u(f.s));var k=0;x(\"percent initial\")&&k++,x(\"percent previous\")&&k++,x(\"percent total\")&&k++;var A=k>1;x(\"percent initial\")&&(v=Pd.formatPercent(f.begR),A&&(v+=\" of initial\"),d.push(v)),x(\"percent previous\")&&(v=Pd.formatPercent(f.difR),A&&(v+=\" of previous\"),d.push(v)),x(\"percent total\")&&(v=Pd.formatPercent(f.sumR),A&&(v+=\" of total\"),d.push(v))}return d.join(\"<br>\")}qye.exports={plot:byt,toMoveInsideBar:Fye}});var TT=ye((Ior,Uye)=>{\"use strict\";var d4=Nc(),Cyt=ba(),Oye=va(),Lyt=Mr().fillText,Pyt=OI().getLineWidth,TV=Qa().hoverLabelText,Iyt=es().BADNUM;function Ryt(e,t,r,n,i){var a=Bye(e,t,r,n,i);if(a){var o=a.cd,s=o[0].trace,l=o[a.index];return a.color=Nye(s,l),Cyt.getComponentMethod(\"errorbars\",\"hoverInfo\")(l,s,a),[a]}}function Bye(e,t,r,n,i){var a=e.cd,o=a[0].trace,s=a[0].t,l=n===\"closest\",u=o.type===\"waterfall\",c=e.maxHoverDistance,f=e.maxSpikeDistance,h,d,v,x,b,p,E;o.orientation===\"h\"?(h=r,d=t,v=\"y\",x=\"x\",b=H,p=F):(h=t,d=r,v=\"x\",x=\"y\",p=H,b=F);var k=o[v+\"period\"],A=l||k;function L(ie){return C(ie,-1)}function _(ie){return C(ie,1)}function C(ie,Te){var Ee=ie.w;return ie[v]+Te*Ee/2}function M(ie){return ie[v+\"End\"]-ie[v+\"Start\"]}var g=l?L:k?function(ie){return ie.p-M(ie)/2}:function(ie){return Math.min(L(ie),ie.p-s.bardelta/2)},P=l?_:k?function(ie){return ie.p+M(ie)/2}:function(ie){return Math.max(_(ie),ie.p+s.bardelta/2)};function T(ie,Te,Ee){return i.finiteRange&&(Ee=0),d4.inbox(ie-h,Te-h,Ee+Math.min(1,Math.abs(Te-ie)/E)-1)}function F(ie){return T(g(ie),P(ie),c)}function q(ie){return T(L(ie),_(ie),f)}function V(ie){var Te=ie[x];if(u){var Ee=Math.abs(ie.rawS)||0;d>0?Te+=Ee:d<0&&(Te-=Ee)}return Te}function H(ie){var Te=d,Ee=ie.b,Ae=V(ie);return d4.inbox(Ee-Te,Ae-Te,c+(Ae-Te)/(Ae-Ee)-1)}function X(ie){var Te=d,Ee=ie.b,Ae=V(ie);return d4.inbox(Ee-Te,Ae-Te,f+(Ae-Te)/(Ae-Ee)-1)}var G=e[v+\"a\"],N=e[x+\"a\"];E=Math.abs(G.r2c(G.range[1])-G.r2c(G.range[0]));function W(ie){return(b(ie)+p(ie))/2}var re=d4.getDistanceFunction(n,b,p,W);if(d4.getClosest(a,re,e),e.index!==!1&&a[e.index].p!==Iyt){A||(g=function(ie){return Math.min(L(ie),ie.p-s.bargroupwidth/2)},P=function(ie){return Math.max(_(ie),ie.p+s.bargroupwidth/2)});var ae=e.index,_e=a[ae],Me=o.base?_e.b+_e.s:_e.s;e[x+\"0\"]=e[x+\"1\"]=N.c2p(_e[x],!0),e[x+\"LabelVal\"]=Me;var ke=s.extents[s.extents.round(_e.p)];e[v+\"0\"]=G.c2p(l?g(_e):ke[0],!0),e[v+\"1\"]=G.c2p(l?P(_e):ke[1],!0);var ge=_e.orig_p!==void 0;return e[v+\"LabelVal\"]=ge?_e.orig_p:_e.p,e.labelLabel=TV(G,e[v+\"LabelVal\"],o[v+\"hoverformat\"]),e.valueLabel=TV(N,e[x+\"LabelVal\"],o[x+\"hoverformat\"]),e.baseLabel=TV(N,_e.b,o[x+\"hoverformat\"]),e.spikeDistance=(X(_e)+q(_e))/2,e[v+\"Spike\"]=G.c2p(_e.p,!0),Lyt(_e,o,e),e.hovertemplate=o.hovertemplate,e}}function Nye(e,t){var r=t.mcc||e.marker.color,n=t.mlcc||e.marker.line.color,i=Pyt(e,t);if(Oye.opacity(r))return r;if(Oye.opacity(n)&&i)return n}Uye.exports={hoverPoints:Ryt,hoverOnBars:Bye,getTraceColor:Nye}});var Hye=ye((Ror,Vye)=>{\"use strict\";Vye.exports=function(t,r,n){return t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),n.orientation===\"h\"?(t.label=t.y,t.value=t.x):(t.label=t.x,t.value=t.y),t}});var AT=ye((Dor,Gye)=>{\"use strict\";Gye.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=n[0].trace,s=o.type===\"funnel\",l=o.orientation===\"h\",u=[],c;if(r===!1)for(c=0;c<n.length;c++)n[c].selected=0;else for(c=0;c<n.length;c++){var f=n[c],h=\"ct\"in f?f.ct:Dyt(f,i,a,l,s);r.contains(h,!1,c,t)?(u.push({pointNumber:c,x:i.c2d(f.x),y:a.c2d(f.y)}),f.selected=1):f.selected=0}return u};function Dyt(e,t,r,n,i){var a=t.c2p(n?e.s0:e.p0,!0),o=t.c2p(n?e.s1:e.p1,!0),s=r.c2p(n?e.p0:e.s0,!0),l=r.c2p(n?e.p1:e.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}});var Wye=ye((zor,jye)=>{\"use strict\";jye.exports={attributes:Lm(),layoutAttributes:zI(),supplyDefaults:r0().supplyDefaults,crossTraceDefaults:r0().crossTraceDefaults,supplyLayoutDefaults:yV(),calc:pye(),crossTraceCalc:Gb().crossTraceCalc,colorbar:Kd(),arraysToCalcdata:c4(),plot:i2().plot,style:N0().style,styleOnSelect:N0().styleOnSelect,hoverPoints:TT().hoverPoints,eventData:Hye(),selectPoints:AT(),moduleType:\"trace\",name:\"bar\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"bar\",\"oriented\",\"errorBarsOK\",\"showLegend\",\"zoomScale\"],animatable:!0,meta:{}}});var Xye=ye((For,Zye)=>{\"use strict\";Zye.exports=Wye()});var v4=ye((qor,$ye)=>{\"use strict\";var zyt=Eg(),U0=Uc(),Yye=Lm(),Fyt=dh(),Kye=Oc().axisHoverFormat,qyt=Wo().hovertemplateAttrs,zy=no().extendFlat,ST=U0.marker,Jye=ST.line;$ye.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:U0.xperiod,yperiod:U0.yperiod,xperiod0:U0.xperiod0,yperiod0:U0.yperiod0,xperiodalignment:U0.xperiodalignment,yperiodalignment:U0.yperiodalignment,xhoverformat:Kye(\"x\"),yhoverformat:Kye(\"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:zy({},ST.symbol,{arrayOk:!1,editType:\"plot\"}),opacity:zy({},ST.opacity,{arrayOk:!1,dflt:1,editType:\"style\"}),angle:zy({},ST.angle,{arrayOk:!1,editType:\"calc\"}),size:zy({},ST.size,{arrayOk:!1,editType:\"calc\"}),color:zy({},ST.color,{arrayOk:!1,editType:\"style\"}),line:{color:zy({},Jye.color,{arrayOk:!1,dflt:Fyt.defaultLine,editType:\"style\"}),width:zy({},Jye.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:zyt(),whiskerwidth:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"calc\"},showwhiskers:{valType:\"boolean\",editType:\"calc\"},offsetgroup:Yye.offsetgroup,alignmentgroup:Yye.alignmentgroup,selected:{marker:U0.selected.marker,editType:\"style\"},unselected:{marker:U0.unselected.marker,editType:\"style\"},text:zy({},U0.text,{}),hovertext:zy({},U0.hovertext,{}),hovertemplate:qyt({}),hoveron:{valType:\"flaglist\",flags:[\"boxes\",\"points\"],dflt:\"boxes+points\",editType:\"style\"},zorder:U0.zorder}});var p4=ye((Oor,Qye)=>{\"use strict\";Qye.exports={boxmode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\",editType:\"calc\"},boxgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"},boxgroupgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"}}});var m4=ye((Bor,i1e)=>{\"use strict\";var V0=Mr(),Oyt=ba(),Byt=va(),Nyt=Pg(),Uyt=Hb(),e1e=L3(),g4=v4();function Vyt(e,t,r,n){function i(v,x){return V0.coerce(e,t,g4,v,x)}if(t1e(e,t,i,n),t.visible!==!1){Nyt(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\");var a=t._hasPreCompStats;a&&(i(\"lowerfence\"),i(\"upperfence\")),i(\"line.color\",(e.marker||{}).color||r),i(\"line.width\"),i(\"fillcolor\",Byt.addOpacity(t.line.color,.5));var o=!1;if(a){var s=i(\"mean\"),l=i(\"sd\");s&&s.length&&(o=!0,l&&l.length&&(o=\"sd\"))}i(\"whiskerwidth\");var u=i(\"sizemode\"),c;u===\"quartiles\"&&(c=i(\"boxmean\",o)),i(\"showwhiskers\",u===\"quartiles\"),(u===\"sd\"||c===\"sd\")&&i(\"sdmultiple\"),i(\"width\"),i(\"quartilemethod\");var f=!1;if(a){var h=i(\"notchspan\");h&&h.length&&(f=!0)}else V0.validate(e.notchwidth,g4.notchwidth)&&(f=!0);var d=i(\"notched\",f);d&&i(\"notchwidth\"),r1e(e,t,i,{prefix:\"box\"}),i(\"zorder\")}}function t1e(e,t,r,n){function i(P){var T=0;return P&&P.length&&(T+=1,V0.isArrayOrTypedArray(P[0])&&P[0].length&&(T+=1)),T}function a(P){return V0.validate(e[P],g4[P])}var o=r(\"y\"),s=r(\"x\"),l;if(t.type===\"box\"){var u=r(\"q1\"),c=r(\"median\"),f=r(\"q3\");t._hasPreCompStats=u&&u.length&&c&&c.length&&f&&f.length,l=Math.min(V0.minRowLength(u),V0.minRowLength(c),V0.minRowLength(f))}var h=i(o),d=i(s),v=h&&V0.minRowLength(o),x=d&&V0.minRowLength(s),b=n.calendar,p={autotypenumbers:n.autotypenumbers},E,k;if(t._hasPreCompStats)switch(String(d)+String(h)){case\"00\":var A=a(\"x0\")||a(\"dx\"),L=a(\"y0\")||a(\"dy\");L&&!A?E=\"h\":E=\"v\",k=l;break;case\"10\":E=\"v\",k=Math.min(l,x);break;case\"20\":E=\"h\",k=Math.min(l,s.length);break;case\"01\":E=\"h\",k=Math.min(l,v);break;case\"02\":E=\"v\",k=Math.min(l,o.length);break;case\"12\":E=\"v\",k=Math.min(l,x,o.length);break;case\"21\":E=\"h\",k=Math.min(l,s.length,v);break;case\"11\":k=0;break;case\"22\":var _=!1,C;for(C=0;C<s.length;C++)if(e1e(s[C],b,p)===\"category\"){_=!0;break}if(_)E=\"v\",k=Math.min(l,x,o.length);else{for(C=0;C<o.length;C++)if(e1e(o[C],b,p)===\"category\"){_=!0;break}_?(E=\"h\",k=Math.min(l,s.length,v)):(E=\"v\",k=Math.min(l,x,o.length))}break}else h>0?(E=\"v\",d>0?k=Math.min(x,v):k=Math.min(v)):d>0?(E=\"h\",k=Math.min(x)):k=0;if(!k){t.visible=!1;return}t._length=k;var M=r(\"orientation\",E);t._hasPreCompStats?M===\"v\"&&d===0?(r(\"x0\",0),r(\"dx\",1)):M===\"h\"&&h===0&&(r(\"y0\",0),r(\"dy\",1)):M===\"v\"&&d===0?r(\"x0\"):M===\"h\"&&h===0&&r(\"y0\");var g=Oyt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");g(e,t,[\"x\",\"y\"],n)}function r1e(e,t,r,n){var i=n.prefix,a=V0.coerce2(e,t,g4,\"marker.outliercolor\"),o=r(\"marker.line.outliercolor\"),s=\"outliers\";t._hasPreCompStats?s=\"all\":(a||o)&&(s=\"suspectedoutliers\");var l=r(i+\"points\",s);l?(r(\"jitter\",l===\"all\"?.3:0),r(\"pointpos\",l===\"all\"?-1.5:0),r(\"marker.symbol\"),r(\"marker.opacity\"),r(\"marker.size\"),r(\"marker.angle\"),r(\"marker.color\",t.line.color),r(\"marker.line.color\"),r(\"marker.line.width\"),l===\"suspectedoutliers\"&&(r(\"marker.line.outliercolor\",t.marker.color),r(\"marker.line.outlierwidth\")),r(\"selected.marker.color\"),r(\"unselected.marker.color\"),r(\"selected.marker.size\"),r(\"unselected.marker.size\"),r(\"text\"),r(\"hovertext\")):delete t.marker;var u=r(\"hoveron\");(u===\"all\"||u.indexOf(\"points\")!==-1)&&r(\"hovertemplate\"),V0.coerceSelectionMarkerOpacity(t,r)}function Hyt(e,t){var r,n;function i(l){return V0.coerce(n._input,n,g4,l)}for(var a=0;a<e.length;a++){n=e[a];var o=n.type;if(o===\"box\"||o===\"violin\"){r=n._input;var s=t[o+\"mode\"];s===\"group\"&&Uyt(r,n,t,i,s)}}}i1e.exports={supplyDefaults:Vyt,crossTraceDefaults:Hyt,handleSampleDefaults:t1e,handlePointsDefaults:r1e}});var VI=ye((Nor,a1e)=>{\"use strict\";var Gyt=ba(),jyt=Mr(),Wyt=p4();function n1e(e,t,r,n,i){for(var a=i+\"Layout\",o=!1,s=0;s<r.length;s++){var l=r[s];if(Gyt.traceIs(l,a)){o=!0;break}}o&&(n(i+\"mode\"),n(i+\"gap\"),n(i+\"groupgap\"))}function Zyt(e,t,r){function n(i,a){return jyt.coerce(e,t,Wyt,i,a)}n1e(e,t,r,n,\"box\")}a1e.exports={supplyLayoutDefaults:Zyt,_supply:n1e}});var MV=ye((Uor,v1e)=>{\"use strict\";var SV=uo(),HI=Qa(),Xyt=Rg(),$f=Mr(),i0=es().BADNUM,Fy=$f._;v1e.exports=function(t,r){var n=t._fullLayout,i=HI.getFromId(t,r.xaxis||\"x\"),a=HI.getFromId(t,r.yaxis||\"y\"),o=[],s=r.type===\"violin\"?\"_numViolins\":\"_numBoxes\",l,u,c,f,h,d,v;r.orientation===\"h\"?(c=i,f=\"x\",h=a,d=\"y\",v=!!r.yperiodalignment):(c=a,f=\"y\",h=i,d=\"x\",v=!!r.xperiodalignment);var x=Yyt(r,d,h,n[s]),b=x[0],p=x[1],E=$f.distinctVals(b,h),k=E.vals,A=E.minDiff/2,L,_,C,M,g,P,T=(r.boxpoints||r.points)===\"all\"?$f.identity:function(qt){return qt.v<L.lf||qt.v>L.uf};if(r._hasPreCompStats){var F=r[f],q=function(qt){return c.d2c((r[qt]||[])[l])},V=1/0,H=-1/0;for(l=0;l<r._length;l++){var X=b[l];if(SV(X)){if(L={},L.pos=L[d]=X,v&&p&&(L.orig_p=p[l]),L.q1=q(\"q1\"),L.med=q(\"median\"),L.q3=q(\"q3\"),_=[],F&&$f.isArrayOrTypedArray(F[l]))for(u=0;u<F[l].length;u++)P=c.d2c(F[l][u]),P!==i0&&(g={v:P,i:[l,u]},o1e(g,r,[l,u]),_.push(g));if(L.pts=_.sort(s1e),C=L[f]=_.map(l1e),M=C.length,L.med!==i0&&L.q1!==i0&&L.q3!==i0&&L.med>=L.q1&&L.q3>=L.med){var G=q(\"lowerfence\");L.lf=G!==i0&&G<=L.q1?G:u1e(L,C,M);var N=q(\"upperfence\");L.uf=N!==i0&&N>=L.q3?N:c1e(L,C,M);var W=q(\"mean\");L.mean=W!==i0?W:M?$f.mean(C,M):(L.q1+L.q3)/2;var re=q(\"sd\");L.sd=W!==i0&&re>=0?re:M?$f.stdev(C,M,L.mean):L.q3-L.q1,L.lo=f1e(L),L.uo=h1e(L);var ae=q(\"notchspan\");ae=ae!==i0&&ae>0?ae:d1e(L,M),L.ln=L.med-ae,L.un=L.med+ae;var _e=L.lf,Me=L.uf;r.boxpoints&&C.length&&(_e=Math.min(_e,C[0]),Me=Math.max(Me,C[M-1])),r.notched&&(_e=Math.min(_e,L.ln),Me=Math.max(Me,L.un)),L.min=_e,L.max=Me}else{$f.warn([\"Invalid input - make sure that q1 <= median <= q3\",\"q1 = \"+L.q1,\"median = \"+L.med,\"q3 = \"+L.q3].join(`\n", - "`));var ke;L.med!==i0?ke=L.med:L.q1!==i0?L.q3!==i0?ke=(L.q1+L.q3)/2:ke=L.q1:L.q3!==i0?ke=L.q3:ke=0,L.med=ke,L.q1=L.q3=ke,L.lf=L.uf=ke,L.mean=L.sd=ke,L.ln=L.un=ke,L.min=L.max=ke}V=Math.min(V,L.min),H=Math.max(H,L.max),L.pts2=_.filter(T),o.push(L)}}r._extremes[c._id]=HI.findExtremes(c,[V,H],{padded:!0})}else{var ge=c.makeCalcdata(r,f),ie=Kyt(k,A),Te=k.length,Ee=Jyt(Te);for(l=0;l<r._length;l++)if(P=ge[l],!!SV(P)){var Ae=$f.findBin(b[l],ie);Ae>=0&&Ae<Te&&(g={v:P,i:l},o1e(g,r,l),Ee[Ae].push(g))}var ze=1/0,Ce=-1/0,me=r.quartilemethod,Re=me===\"exclusive\",ce=me===\"inclusive\";for(l=0;l<Te;l++)if(Ee[l].length>0){if(L={},L.pos=L[d]=k[l],_=L.pts=Ee[l].sort(s1e),C=L[f]=_.map(l1e),M=C.length,L.min=C[0],L.max=C[M-1],L.mean=$f.mean(C,M),L.sd=$f.stdev(C,M,L.mean)*r.sdmultiple,L.med=$f.interp(C,.5),M%2&&(Re||ce)){var Ge,nt;Re?(Ge=C.slice(0,M/2),nt=C.slice(M/2+1)):ce&&(Ge=C.slice(0,M/2+1),nt=C.slice(M/2)),L.q1=$f.interp(Ge,.5),L.q3=$f.interp(nt,.5)}else L.q1=$f.interp(C,.25),L.q3=$f.interp(C,.75);L.lf=u1e(L,C,M),L.uf=c1e(L,C,M),L.lo=f1e(L),L.uo=h1e(L);var ct=d1e(L,M);L.ln=L.med-ct,L.un=L.med+ct,ze=Math.min(ze,L.ln),Ce=Math.max(Ce,L.un),L.pts2=_.filter(T),o.push(L)}r.notched&&$f.isTypedArray(ge)&&(ge=Array.from(ge)),r._extremes[c._id]=HI.findExtremes(c,r.notched?ge.concat([ze,Ce]):ge,{padded:!0})}return $yt(o,r),o.length>0?(o[0].t={num:n[s],dPos:A,posLetter:d,valLetter:f,labels:{med:Fy(t,\"median:\"),min:Fy(t,\"min:\"),q1:Fy(t,\"q1:\"),q3:Fy(t,\"q3:\"),max:Fy(t,\"max:\"),mean:r.boxmean===\"sd\"||r.sizemode===\"sd\"?Fy(t,\"mean \\xB1 \\u03C3:\").replace(\"\\u03C3\",r.sdmultiple===1?\"\\u03C3\":r.sdmultiple+\"\\u03C3\"):Fy(t,\"mean:\"),lf:Fy(t,\"lower fence:\"),uf:Fy(t,\"upper fence:\")}},n[s]++,o):[{t:{empty:!0}}]};function Yyt(e,t,r,n){var i=t in e,a=t+\"0\"in e,o=\"d\"+t in e;if(i||a&&o){var s=r.makeCalcdata(e,t),l=Xyt(e,r,t,s).vals;return[l,s]}var u;a?u=e[t+\"0\"]:\"name\"in e&&(r.type===\"category\"||SV(e.name)&&[\"linear\",\"log\"].indexOf(r.type)!==-1||$f.isDateTime(e.name)&&r.type===\"date\")?u=e.name:u=n;for(var c=r.type===\"multicategory\"?r.r2c_just_indices(u):r.d2c(u,0,e[t+\"calendar\"]),f=e._length,h=new Array(f),d=0;d<f;d++)h[d]=c;return[h]}function Kyt(e,t){for(var r=e.length,n=new Array(r+1),i=0;i<r;i++)n[i]=e[i]-t;return n[r]=e[r-1]+t,n}function Jyt(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=[];return t}var AV={text:\"tx\",hovertext:\"htx\"};function o1e(e,t,r){for(var n in AV)$f.isArrayOrTypedArray(t[n])&&(Array.isArray(r)?$f.isArrayOrTypedArray(t[n][r[0]])&&(e[AV[n]]=t[n][r[0]][r[1]]):e[AV[n]]=t[n][r])}function $yt(e,t){if($f.isArrayOrTypedArray(t.selectedpoints))for(var r=0;r<e.length;r++){for(var n=e[r].pts||[],i={},a=0;a<n.length;a++)i[n[a].i]=a;$f.tagSelected(n,t,i)}}function s1e(e,t){return e.v-t.v}function l1e(e){return e.v}function u1e(e,t,r){return r===0?e.q1:Math.min(e.q1,t[Math.min($f.findBin(2.5*e.q1-1.5*e.q3,t,!0)+1,r-1)])}function c1e(e,t,r){return r===0?e.q3:Math.max(e.q3,t[Math.max($f.findBin(2.5*e.q3-1.5*e.q1,t),0)])}function f1e(e){return 4*e.q1-3*e.q3}function h1e(e){return 4*e.q3-3*e.q1}function d1e(e,t){return t===0?0:1.57*(e.q3-e.q1)/Math.sqrt(t)}});var GI=ye((Vor,y1e)=>{\"use strict\";var p1e=Qa(),Qyt=Mr(),e1t=Bb().getAxisGroup,g1e=[\"v\",\"h\"];function t1t(e,t){for(var r=e.calcdata,n=t.xaxis,i=t.yaxis,a=0;a<g1e.length;a++){for(var o=g1e[a],s=o===\"h\"?i:n,l=[],u=0;u<r.length;u++){var c=r[u],f=c[0].t,h=c[0].trace;h.visible===!0&&(h.type===\"box\"||h.type===\"candlestick\")&&!f.empty&&(h.orientation||\"v\")===o&&h.xaxis===n._id&&h.yaxis===i._id&&l.push(u)}m1e(\"box\",e,l,s)}}function m1e(e,t,r,n){var i=t.calcdata,a=t._fullLayout,o=n._id,s=o.charAt(0),l,u,c,f=[],h=0;for(l=0;l<r.length;l++)for(c=i[r[l]],u=0;u<c.length;u++)f.push(n.c2l(c[u].pos,!0)),h+=(c[u].pts2||[]).length;if(f.length){var d=Qyt.distinctVals(f);(n.type===\"category\"||n.type===\"multicategory\")&&(d.minDiff=1);var v=d.minDiff/2;p1e.minDtick(n,d.minDiff,d.vals[0],!0);var x=e===\"violin\"?\"_numViolins\":\"_numBoxes\",b=a[x],p=a[e+\"mode\"]===\"group\"&&b>1,E=1-a[e+\"gap\"],k=1-a[e+\"groupgap\"];for(l=0;l<r.length;l++){c=i[r[l]];var A=c[0].trace,L=c[0].t,_=A.width,C=A.side,M,g,P,T;if(_)M=g=T=_/2,P=0;else if(M=v,p){var F=e1t(a,n._id)+A.orientation,q=a._alignmentOpts[F]||{},V=q[A.alignmentgroup]||{},H=Object.keys(V.offsetGroups||{}).length,X=H||b,G=H?A._offsetIndex:L.num;g=M*E*k/X,P=2*M*(-.5+(G+.5)/X)*E,T=M*E/X}else g=M*E*k,P=0,T=M;L.dPos=M,L.bPos=P,L.bdPos=g,L.wHover=T;var N,W,re=P+g,ae,_e,Me,ke,ge,ie,Te=!!_,Ee=(A.boxpoints||A.points)&&h>0;if(C===\"positive\"?(N=M*(_?1:.5),ae=re,W=ae=P):C===\"negative\"?(N=ae=P,W=M*(_?1:.5),_e=re):(N=W=M,ae=_e=re),Ee){var Ae=A.pointpos,ze=A.jitter,Ce=A.marker.size/2,me=0;Ae+ze>=0&&(me=re*(Ae+ze),me>N?(Te=!0,ge=Ce,Me=me):me>ae&&(ge=Ce,Me=N)),me<=N&&(Me=N);var Re=0;Ae-ze<=0&&(Re=-re*(Ae-ze),Re>W?(Te=!0,ie=Ce,ke=Re):Re>_e&&(ie=Ce,ke=W)),Re<=W&&(ke=W)}else Me=N,ke=W;var ce=new Array(c.length);for(u=0;u<c.length;u++)ce[u]=c[u].pos;A._extremes[o]=p1e.findExtremes(n,ce,{padded:Te,vpadminus:ke,vpadplus:Me,vpadLinearized:!0,ppadminus:{x:ie,y:ge}[s],ppadplus:{x:ge,y:ie}[s]})}}}y1e.exports={crossTraceCalc:t1t,setPositionOffset:m1e}});var jI=ye((Hor,T1e)=>{\"use strict\";var MT=xa(),n2=Mr(),r1t=ao(),_1e=5,i1t=.01;function n1t(e,t,r,n){var i=e._context.staticPlot,a=t.xaxis,o=t.yaxis;n2.makeTraceGroups(n,r,\"trace boxes\").each(function(s){var l=MT.select(this),u=s[0],c=u.t,f=u.trace;if(c.wdPos=c.bdPos*f.whiskerwidth,f.visible!==!0||c.empty){l.remove();return}var h,d;f.orientation===\"h\"?(h=o,d=a):(h=a,d=o),x1e(l,{pos:h,val:d},f,c,i),b1e(l,{x:a,y:o},f,c),w1e(l,{pos:h,val:d},f,c)})}function x1e(e,t,r,n,i){var a=r.orientation===\"h\",o=t.val,s=t.pos,l=!!s.rangebreaks,u=n.bPos,c=n.wdPos||0,f=n.bPosPxOffset||0,h=r.whiskerwidth||0,d=r.showwhiskers!==!1,v=r.notched||!1,x=v?1-2*r.notchwidth:1,b,p;Array.isArray(n.bdPos)?(b=n.bdPos[0],p=n.bdPos[1]):(b=n.bdPos,p=n.bdPos);var E=e.selectAll(\"path.box\").data(r.type!==\"violin\"||r.box.visible?n2.identity:[]);E.enter().append(\"path\").style(\"vector-effect\",i?\"none\":\"non-scaling-stroke\").attr(\"class\",\"box\"),E.exit().remove(),E.each(function(k){if(k.empty)return MT.select(this).attr(\"d\",\"M0,0Z\");var A=s.c2l(k.pos+u,!0),L=s.l2p(A-b)+f,_=s.l2p(A+p)+f,C=l?(L+_)/2:s.l2p(A)+f,M=r.whiskerwidth,g=l?L*M+(1-M)*C:s.l2p(A-c)+f,P=l?_*M+(1-M)*C:s.l2p(A+c)+f,T=s.l2p(A-b*x)+f,F=s.l2p(A+p*x)+f,q=r.sizemode===\"sd\",V=o.c2p(q?k.mean-k.sd:k.q1,!0),H=q?o.c2p(k.mean+k.sd,!0):o.c2p(k.q3,!0),X=n2.constrain(q?o.c2p(k.mean,!0):o.c2p(k.med,!0),Math.min(V,H)+1,Math.max(V,H)-1),G=k.lf===void 0||r.boxpoints===!1||q,N=o.c2p(G?k.min:k.lf,!0),W=o.c2p(G?k.max:k.uf,!0),re=o.c2p(k.ln,!0),ae=o.c2p(k.un,!0);a?MT.select(this).attr(\"d\",\"M\"+X+\",\"+T+\"V\"+F+\"M\"+V+\",\"+L+\"V\"+_+(v?\"H\"+re+\"L\"+X+\",\"+F+\"L\"+ae+\",\"+_:\"\")+\"H\"+H+\"V\"+L+(v?\"H\"+ae+\"L\"+X+\",\"+T+\"L\"+re+\",\"+L:\"\")+\"Z\"+(d?\"M\"+V+\",\"+C+\"H\"+N+\"M\"+H+\",\"+C+\"H\"+W+(h===0?\"\":\"M\"+N+\",\"+g+\"V\"+P+\"M\"+W+\",\"+g+\"V\"+P):\"\")):MT.select(this).attr(\"d\",\"M\"+T+\",\"+X+\"H\"+F+\"M\"+L+\",\"+V+\"H\"+_+(v?\"V\"+re+\"L\"+F+\",\"+X+\"L\"+_+\",\"+ae:\"\")+\"V\"+H+\"H\"+L+(v?\"V\"+ae+\"L\"+T+\",\"+X+\"L\"+L+\",\"+re:\"\")+\"Z\"+(d?\"M\"+C+\",\"+V+\"V\"+N+\"M\"+C+\",\"+H+\"V\"+W+(h===0?\"\":\"M\"+g+\",\"+N+\"H\"+P+\"M\"+g+\",\"+W+\"H\"+P):\"\"))})}function b1e(e,t,r,n){var i=t.x,a=t.y,o=n.bdPos,s=n.bPos,l=r.boxpoints||r.points;n2.seedPseudoRandom();var u=function(h){return h.forEach(function(d){d.t=n,d.trace=r}),h},c=e.selectAll(\"g.points\").data(l?u:[]);c.enter().append(\"g\").attr(\"class\",\"points\"),c.exit().remove();var f=c.selectAll(\"path\").data(function(h){var d,v=h.pts2,x=Math.max((h.max-h.min)/10,h.q3-h.q1),b=x*1e-9,p=x*i1t,E=[],k=0,A;if(r.jitter){if(x===0)for(k=1,E=new Array(v.length),d=0;d<v.length;d++)E[d]=1;else for(d=0;d<v.length;d++){var L=Math.max(0,d-_1e),_=v[L].v,C=Math.min(v.length-1,d+_1e),M=v[C].v;l!==\"all\"&&(v[d].v<h.lf?M=Math.min(M,h.lf):_=Math.max(_,h.uf));var g=Math.sqrt(p*(C-L)/(M-_+b))||0;g=n2.constrain(Math.abs(g),0,1),E.push(g),k=Math.max(g,k)}A=r.jitter*2/(k||1)}for(d=0;d<v.length;d++){var P=v[d],T=P.v,F=r.jitter?A*E[d]*(n2.pseudoRandom()-.5):0,q=h.pos+s+o*(r.pointpos+F);r.orientation===\"h\"?(P.y=q,P.x=T):(P.x=q,P.y=T),l===\"suspectedoutliers\"&&T<h.uo&&T>h.lo&&(P.so=!0)}return v});f.enter().append(\"path\").classed(\"point\",!0),f.exit().remove(),f.call(r1t.translatePoints,i,a)}function w1e(e,t,r,n){var i=t.val,a=t.pos,o=!!a.rangebreaks,s=n.bPos,l=n.bPosPxOffset||0,u=r.boxmean||(r.meanline||{}).visible,c,f;Array.isArray(n.bdPos)?(c=n.bdPos[0],f=n.bdPos[1]):(c=n.bdPos,f=n.bdPos);var h=e.selectAll(\"path.mean\").data(r.type===\"box\"&&r.boxmean||r.type===\"violin\"&&r.box.visible&&r.meanline.visible?n2.identity:[]);h.enter().append(\"path\").attr(\"class\",\"mean\").style({fill:\"none\",\"vector-effect\":\"non-scaling-stroke\"}),h.exit().remove(),h.each(function(d){var v=a.c2l(d.pos+s,!0),x=a.l2p(v-c)+l,b=a.l2p(v+f)+l,p=o?(x+b)/2:a.l2p(v)+l,E=i.c2p(d.mean,!0),k=i.c2p(d.mean-d.sd,!0),A=i.c2p(d.mean+d.sd,!0);r.orientation===\"h\"?MT.select(this).attr(\"d\",\"M\"+E+\",\"+x+\"V\"+b+(u===\"sd\"?\"m0,0L\"+k+\",\"+p+\"L\"+E+\",\"+x+\"L\"+A+\",\"+p+\"Z\":\"\")):MT.select(this).attr(\"d\",\"M\"+x+\",\"+E+\"H\"+b+(u===\"sd\"?\"m0,0L\"+p+\",\"+k+\"L\"+x+\",\"+E+\"L\"+p+\",\"+A+\"Z\":\"\"))})}T1e.exports={plot:n1t,plotBoxAndWhiskers:x1e,plotPoints:b1e,plotBoxMean:w1e}});var WI=ye((Gor,A1e)=>{\"use strict\";var EV=xa(),kV=va(),CV=ao();function a1t(e,t,r){var n=r||EV.select(e).selectAll(\"g.trace.boxes\");n.style(\"opacity\",function(i){return i[0].trace.opacity}),n.each(function(i){var a=EV.select(this),o=i[0].trace,s=o.line.width;function l(f,h,d,v){f.style(\"stroke-width\",h+\"px\").call(kV.stroke,d).call(kV.fill,v)}var u=a.selectAll(\"path.box\");if(o.type===\"candlestick\")u.each(function(f){if(!f.empty){var h=EV.select(this),d=o[f.dir];l(h,d.line.width,d.line.color,d.fillcolor),h.style(\"opacity\",o.selectedpoints&&!f.selected?.3:1)}});else{l(u,s,o.line.color,o.fillcolor),a.selectAll(\"path.mean\").style({\"stroke-width\":s,\"stroke-dasharray\":2*s+\"px,\"+s+\"px\"}).call(kV.stroke,o.line.color);var c=a.selectAll(\"path.point\");CV.pointStyle(c,o,e)}})}function o1t(e,t,r){var n=t[0].trace,i=r.selectAll(\"path.point\");n.selectedpoints?CV.selectedPointStyle(i,n):CV.pointStyle(i,n,e)}A1e.exports={style:a1t,styleOnSelect:o1t}});var PV=ye((jor,k1e)=>{\"use strict\";var s1t=Qa(),LV=Mr(),S_=Nc(),S1e=va(),l1t=LV.fillText;function u1t(e,t,r,n){var i=e.cd,a=i[0].trace,o=a.hoveron,s=[],l;return o.indexOf(\"boxes\")!==-1&&(s=s.concat(M1e(e,t,r,n))),o.indexOf(\"points\")!==-1&&(l=E1e(e,t,r)),n===\"closest\"?l?[l]:s:(l&&s.push(l),s)}function M1e(e,t,r,n){var i=e.cd,a=e.xa,o=e.ya,s=i[0].trace,l=i[0].t,u=s.type===\"violin\",c,f,h,d,v,x,b,p,E,k,A,L=l.bdPos,_,C,M=l.wHover,g=function(Ce){return h.c2l(Ce.pos)+l.bPos-h.c2l(x)};u&&s.side!==\"both\"?(s.side===\"positive\"&&(E=function(Ce){var me=g(Ce);return S_.inbox(me,me+M,k)},_=L,C=0),s.side===\"negative\"&&(E=function(Ce){var me=g(Ce);return S_.inbox(me-M,me,k)},_=0,C=L)):(E=function(Ce){var me=g(Ce);return S_.inbox(me-M,me+M,k)},_=C=L);var P;u?P=function(Ce){return S_.inbox(Ce.span[0]-v,Ce.span[1]-v,k)}:P=function(Ce){return S_.inbox(Ce.min-v,Ce.max-v,k)},s.orientation===\"h\"?(v=t,x=r,b=P,p=E,c=\"y\",h=o,f=\"x\",d=a):(v=r,x=t,b=E,p=P,c=\"x\",h=a,f=\"y\",d=o);var T=Math.min(1,L/Math.abs(h.r2c(h.range[1])-h.r2c(h.range[0])));k=e.maxHoverDistance-T,A=e.maxSpikeDistance-T;function F(Ce){return(b(Ce)+p(Ce))/2}var q=S_.getDistanceFunction(n,b,p,F);if(S_.getClosest(i,q,e),e.index===!1)return[];var V=i[e.index],H=s.line.color,X=(s.marker||{}).color;S1e.opacity(H)&&s.line.width?e.color=H:S1e.opacity(X)&&s.boxpoints?e.color=X:e.color=s.fillcolor,e[c+\"0\"]=h.c2p(V.pos+l.bPos-C,!0),e[c+\"1\"]=h.c2p(V.pos+l.bPos+_,!0),e[c+\"LabelVal\"]=V.orig_p!==void 0?V.orig_p:V.pos;var G=c+\"Spike\";e.spikeDistance=F(V)*A/k,e[G]=h.c2p(V.pos,!0);var N=s.boxmean||s.sizemode===\"sd\"||(s.meanline||{}).visible,W=s.boxpoints||s.points,re=W&&N?[\"max\",\"uf\",\"q3\",\"med\",\"mean\",\"q1\",\"lf\",\"min\"]:W&&!N?[\"max\",\"uf\",\"q3\",\"med\",\"q1\",\"lf\",\"min\"]:!W&&N?[\"max\",\"q3\",\"med\",\"mean\",\"q1\",\"min\"]:[\"max\",\"q3\",\"med\",\"q1\",\"min\"],ae=d.range[1]<d.range[0];s.orientation===(ae?\"v\":\"h\")&&re.reverse();for(var _e=e.spikeDistance,Me=e[G],ke=[],ge=0;ge<re.length;ge++){var ie=re[ge];if(ie in V){var Te=V[ie],Ee=d.c2p(Te,!0),Ae=LV.extendFlat({},e);Ae.attr=ie,Ae[f+\"0\"]=Ae[f+\"1\"]=Ee,Ae[f+\"LabelVal\"]=Te,Ae[f+\"Label\"]=(l.labels?l.labels[ie]+\" \":\"\")+s1t.hoverLabelText(d,Te,s[f+\"hoverformat\"]),Ae.hoverOnBox=!0,ie===\"mean\"&&\"sd\"in V&&(s.boxmean===\"sd\"||s.sizemode===\"sd\")&&(Ae[f+\"err\"]=V.sd),Ae.hovertemplate=!1,ke.push(Ae)}}e.name=\"\",e.spikeDistance=void 0,e[G]=void 0;for(var ze=0;ze<ke.length;ze++)ke[ze].attr!==\"med\"?(ke[ze].name=\"\",ke[ze].spikeDistance=void 0,ke[ze][G]=void 0):(ke[ze].spikeDistance=_e,ke[ze][G]=Me);return ke}function E1e(e,t,r){for(var n=e.cd,i=e.xa,a=e.ya,o=n[0].trace,s=i.c2p(t),l=a.c2p(r),u,c=function(P){var T=Math.max(3,P.mrc||0);return Math.max(Math.abs(i.c2p(P.x)-s)-T,1-3/T)},f=function(P){var T=Math.max(3,P.mrc||0);return Math.max(Math.abs(a.c2p(P.y)-l)-T,1-3/T)},h=S_.quadrature(c,f),d=!1,v,x,b=0;b<n.length;b++){v=n[b];for(var p=0;p<(v.pts||[]).length;p++){x=v.pts[p];var E=h(x);E<=e.distance&&(e.distance=E,d=[b,p])}}if(!d)return!1;v=n[d[0]],x=v.pts[d[1]];var k=i.c2p(x.x,!0),A=a.c2p(x.y,!0),L=x.mrc||1;u=LV.extendFlat({},e,{index:x.i,color:(o.marker||{}).color,name:o.name,x0:k-L,x1:k+L,y0:A-L,y1:A+L,spikeDistance:e.distance,hovertemplate:o.hovertemplate});var _=v.orig_p,C=_!==void 0?_:v.pos,M;o.orientation===\"h\"?(M=a,u.xLabelVal=x.x,u.yLabelVal=C):(M=i,u.xLabelVal=C,u.yLabelVal=x.y);var g=M._id.charAt(0);return u[g+\"Spike\"]=M.c2p(v.pos,!0),l1t(x,o,u),u}k1e.exports={hoverPoints:u1t,hoverOnBoxes:M1e,hoverOnPoints:E1e}});var L1e=ye((Wor,C1e)=>{\"use strict\";C1e.exports=function(t,r){return r.hoverOnBox&&(t.hoverOnBox=r.hoverOnBox),\"xVal\"in r&&(t.x=r.xVal),\"yVal\"in r&&(t.y=r.yVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var IV=ye((Zor,P1e)=>{\"use strict\";P1e.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l;if(r===!1)for(s=0;s<n.length;s++)for(l=0;l<(n[s].pts||[]).length;l++)n[s].pts[l].selected=0;else for(s=0;s<n.length;s++)for(l=0;l<(n[s].pts||[]).length;l++){var u=n[s].pts[l],c=i.c2p(u.x),f=a.c2p(u.y);r.contains([c,f],null,u.i,t)?(o.push({pointNumber:u.i,x:i.c2d(u.x),y:a.c2d(u.y)}),u.selected=1):u.selected=0}return o}});var R1e=ye((Xor,I1e)=>{\"use strict\";I1e.exports={attributes:v4(),layoutAttributes:p4(),supplyDefaults:m4().supplyDefaults,crossTraceDefaults:m4().crossTraceDefaults,supplyLayoutDefaults:VI().supplyLayoutDefaults,calc:MV(),crossTraceCalc:GI().crossTraceCalc,plot:jI().plot,style:WI().style,styleOnSelect:WI().styleOnSelect,hoverPoints:PV().hoverPoints,eventData:L1e(),selectPoints:IV(),moduleType:\"trace\",name:\"box\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\",\"boxLayout\",\"zoomScale\"],meta:{}}});var z1e=ye((Yor,D1e)=>{\"use strict\";D1e.exports=R1e()});var ET=ye((Kor,F1e)=>{\"use strict\";var n0=Uc(),c1t=vl(),f1t=Su(),RV=Oc().axisHoverFormat,h1t=Wo().hovertemplateAttrs,d1t=Wo().texttemplateAttrs,v1t=Jl(),Pp=no().extendFlat;F1e.exports=Pp({z:{valType:\"data_array\",editType:\"calc\"},x:Pp({},n0.x,{impliedEdits:{xtype:\"array\"}}),x0:Pp({},n0.x0,{impliedEdits:{xtype:\"scaled\"}}),dx:Pp({},n0.dx,{impliedEdits:{xtype:\"scaled\"}}),y:Pp({},n0.y,{impliedEdits:{ytype:\"array\"}}),y0:Pp({},n0.y0,{impliedEdits:{ytype:\"scaled\"}}),dy:Pp({},n0.dy,{impliedEdits:{ytype:\"scaled\"}}),xperiod:Pp({},n0.xperiod,{impliedEdits:{xtype:\"scaled\"}}),yperiod:Pp({},n0.yperiod,{impliedEdits:{ytype:\"scaled\"}}),xperiod0:Pp({},n0.xperiod0,{impliedEdits:{xtype:\"scaled\"}}),yperiod0:Pp({},n0.yperiod0,{impliedEdits:{ytype:\"scaled\"}}),xperiodalignment:Pp({},n0.xperiodalignment,{impliedEdits:{xtype:\"scaled\"}}),yperiodalignment:Pp({},n0.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:RV(\"x\"),yhoverformat:RV(\"y\"),zhoverformat:RV(\"z\",1),hovertemplate:h1t(),texttemplate:d1t({arrayOk:!1,editType:\"plot\"},{keys:[\"x\",\"y\",\"z\",\"text\"]}),textfont:f1t({editType:\"plot\",autoSize:!0,autoColor:!0,colorEditType:\"style\"}),showlegend:Pp({},c1t.showlegend,{dflt:!1}),zorder:n0.zorder},v1t(\"\",{cLetter:\"z\",autoColorDflt:!1}))});var XI=ye((Jor,O1e)=>{\"use strict\";var p1t=uo(),ZI=Mr(),g1t=ba();O1e.exports=function(t,r,n,i,a,o){var s=n(\"z\");a=a||\"x\",o=o||\"y\";var l,u;if(s===void 0||!s.length)return 0;if(ZI.isArray1D(s)){l=n(a),u=n(o);var c=ZI.minRowLength(l),f=ZI.minRowLength(u);if(c===0||f===0)return 0;r._length=Math.min(c,f,s.length)}else{if(l=q1e(a,n),u=q1e(o,n),!m1t(s))return 0;n(\"transpose\"),r._length=null}var h=g1t.getComponentMethod(\"calendars\",\"handleTraceDefaults\");return h(t,r,[a,o],i),!0};function q1e(e,t){var r=t(e),n=r?t(e+\"type\",\"array\"):\"scaled\";return n===\"scaled\"&&(t(e+\"0\"),t(\"d\"+e)),r}function m1t(e){for(var t=!0,r=!1,n=!1,i,a=0;a<e.length;a++){if(i=e[a],!ZI.isArrayOrTypedArray(i)){t=!1;break}i.length>0&&(r=!0);for(var o=0;o<i.length;o++)if(p1t(i[o])){n=!0;break}}return t&&r&&n}});var y4=ye(($or,N1e)=>{\"use strict\";var B1e=Mr();N1e.exports=function(t,r){t(\"texttemplate\");var n=B1e.extendFlat({},r.font,{color:\"auto\",size:\"auto\"});B1e.coerceFont(t,\"textfont\",n)}});var DV=ye((Qor,U1e)=>{\"use strict\";U1e.exports=function(t,r,n){var i=n(\"zsmooth\");i===!1&&(n(\"xgap\"),n(\"ygap\")),n(\"zhoverformat\")}});var G1e=ye((esr,H1e)=>{\"use strict\";var V1e=Mr(),y1t=XI(),_1t=y4(),x1t=Pg(),b1t=DV(),w1t=Uh(),T1t=ET();H1e.exports=function(t,r,n,i){function a(s,l){return V1e.coerce(t,r,T1t,s,l)}var o=y1t(t,r,a,i);if(!o){r.visible=!1;return}x1t(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),_1t(a,i),b1t(t,r,a,i),a(\"hoverongaps\"),a(\"connectgaps\",V1e.isArray1D(r.z)&&r.zsmooth!==!1),w1t(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),a(\"zorder\")}});var zV=ye((tsr,j1e)=>{\"use strict\";var kT=uo();j1e.exports={count:function(e,t,r){return r[e]++,1},sum:function(e,t,r,n){var i=n[t];return kT(i)?(i=Number(i),r[e]+=i,i):0},avg:function(e,t,r,n,i){var a=n[t];return kT(a)&&(a=Number(a),r[e]+=a,i[e]++),0},min:function(e,t,r,n){var i=n[t];if(kT(i))if(i=Number(i),kT(r[e])){if(r[e]>i){var a=i-r[e];return r[e]=i,a}}else return r[e]=i,i;return 0},max:function(e,t,r,n){var i=n[t];if(kT(i))if(i=Number(i),kT(r[e])){if(r[e]<i){var a=i-r[e];return r[e]=i,a}}else return r[e]=i,i;return 0}}});var FV=ye((rsr,W1e)=>{\"use strict\";W1e.exports={percent:function(e,t){for(var r=e.length,n=100/t,i=0;i<r;i++)e[i]*=n},probability:function(e,t){for(var r=e.length,n=0;n<r;n++)e[n]/=t},density:function(e,t,r,n){var i=e.length;n=n||1;for(var a=0;a<i;a++)e[a]*=r[a]*n},\"probability density\":function(e,t,r,n){var i=e.length;n&&(t/=n);for(var a=0;a<i;a++)e[a]*=r[a]/t}}});var qV=ye((isr,Z1e)=>{\"use strict\";Z1e.exports=function(t,r){for(var n=t.length,i=0,a=0;a<n;a++)r[a]?(t[a]/=r[a],i+=t[a]):t[a]=null;return i}});var OV=ye((nsr,t_e)=>{\"use strict\";var CT=es(),a2=CT.ONEAVGYEAR,X1e=CT.ONEAVGMONTH,KI=CT.ONEDAY,Y1e=CT.ONEHOUR,K1e=CT.ONEMIN,J1e=CT.ONESEC,$1e=Qa().tickIncrement;t_e.exports=function(t,r,n,i,a){var o=-1.1*r,s=-.1*r,l=t-s,u=n[0],c=n[1],f=Math.min(YI(u+s,u+l,i,a),YI(c+s,c+l,i,a)),h=Math.min(YI(u+o,u+s,i,a),YI(c+o,c+s,i,a)),d,v;if(f>h&&h<Math.abs(c-u)/4e3?(d=f,v=!1):(d=Math.min(f,h),v=!0),i.type===\"date\"&&d>KI){var x=d===a2?1:6,b=d===a2?\"M12\":\"M1\";return function(p,E){var k=i.c2d(p,a2,a),A=k.indexOf(\"-\",x);A>0&&(k=k.substr(0,A));var L=i.d2c(k,0,a);if(L<p){var _=$1e(L,b,!1,a);(L+_)/2<p+t&&(L=_)}return E&&v?$1e(L,b,!0,a):L}}return function(p,E){var k=d*Math.round(p/d);return k+d/10<p&&k+d*.9<p+t&&(k+=d),E&&v&&(k-=d),k}};function YI(e,t,r,n){if(e*t<=0)return 1/0;for(var i=Math.abs(t-e),a=r.type===\"date\",o=Q1e(i,a),s=0;s<10;s++){var l=Q1e(o*80,a);if(o===l)break;if(A1t(l,e,t,a,r,n))o=l;else break}return o}function Q1e(e,t){return t&&e>J1e?e>KI?e>a2*1.1?a2:e>X1e*1.1?X1e:KI:e>Y1e?Y1e:e>K1e?K1e:J1e:Math.pow(10,Math.floor(Math.log(e)/Math.LN10))}function A1t(e,t,r,n,i,a){if(n&&e>KI){var o=e_e(t,i,a),s=e_e(r,i,a),l=e===a2?0:1;return o[l]!==s[l]}return Math.floor(r/e)-Math.floor(t/e)>.1}function e_e(e,t,r){var n=t.c2d(e,a2,r).split(\"-\");return n[0]===\"\"&&(n.unshift(),n[0]=\"-\"+n[0]),n}});var UV=ye((asr,n_e)=>{\"use strict\";var BV=uo(),Vv=Mr(),r_e=ba(),H0=Qa(),S1t=c4(),i_e=zV(),M1t=FV(),E1t=qV(),k1t=OV();function C1t(e,t){var r=[],n=[],i=t.orientation===\"h\",a=H0.getFromId(e,i?t.yaxis:t.xaxis),o=i?\"y\":\"x\",s={x:\"y\",y:\"x\"}[o],l=t[o+\"calendar\"],u=t.cumulative,c,f=NV(e,t,a,o),h=f[0],d=f[1],v=typeof h.size==\"string\",x=[],b=v?x:h,p=[],E=[],k=[],A=0,L=t.histnorm,_=t.histfunc,C=L.indexOf(\"density\")!==-1,M,g,P;u.enabled&&C&&(L=L.replace(/ ?density$/,\"\"),C=!1);var T=_===\"max\"||_===\"min\",F=T?null:0,q=i_e.count,V=M1t[L],H=!1,X=function(me){return a.r2c(me,0,l)},G;for(Vv.isArrayOrTypedArray(t[s])&&_!==\"count\"&&(G=t[s],H=_===\"avg\",q=i_e[_]),c=X(h.start),g=X(h.end)+(c-H0.tickIncrement(c,h.size,!1,l))/1e6;c<g&&r.length<1e6&&(M=H0.tickIncrement(c,h.size,!1,l),r.push((c+M)/2),n.push(F),k.push([]),x.push(c),C&&p.push(1/(M-c)),H&&E.push(0),!(M<=c));)c=M;x.push(c),!v&&a.type===\"date\"&&(b={start:X(b.start),end:X(b.end),size:b.size}),e._fullLayout._roundFnOpts||(e._fullLayout._roundFnOpts={});var N=t[\"_\"+o+\"bingroup\"],W={leftGap:1/0,rightGap:1/0};N&&(e._fullLayout._roundFnOpts[N]||(e._fullLayout._roundFnOpts[N]=W),W=e._fullLayout._roundFnOpts[N]);var re=n.length,ae=!0,_e=W.leftGap,Me=W.rightGap,ke={};for(c=0;c<d.length;c++){var ge=d[c];P=Vv.findBin(ge,b),P>=0&&P<re&&(A+=q(P,c,n,G,E),ae&&k[P].length&&ge!==d[k[P][0]]&&(ae=!1),k[P].push(c),ke[c]=P,_e=Math.min(_e,ge-x[P]),Me=Math.min(Me,x[P+1]-ge))}W.leftGap=_e,W.rightGap=Me;var ie;ae||(ie=function(me,Re){return function(){var ce=e._fullLayout._roundFnOpts[N];return k1t(ce.leftGap,ce.rightGap,x,a,l)(me,Re)}}),H&&(A=E1t(n,E)),V&&V(n,A,p),u.enabled&&I1t(n,u.direction,u.currentbin);var Te=Math.min(r.length,n.length),Ee=[],Ae=0,ze=Te-1;for(c=0;c<Te;c++)if(n[c]){Ae=c;break}for(c=Te-1;c>=Ae;c--)if(n[c]){ze=c;break}for(c=Ae;c<=ze;c++)if(BV(r[c])&&BV(n[c])){var Ce={p:r[c],s:n[c],b:0};u.enabled||(Ce.pts=k[c],ae?Ce.ph0=Ce.ph1=k[c].length?d[k[c][0]]:r[c]:(t._computePh=!0,Ce.ph0=ie(x[c]),Ce.ph1=ie(x[c+1],!0))),Ee.push(Ce)}return Ee.length===1&&(Ee[0].width1=H0.tickIncrement(Ee[0].p,h.size,!1,l)-Ee[0].p),S1t(Ee,t),Vv.isArrayOrTypedArray(t.selectedpoints)&&Vv.tagSelected(Ee,t,ke),Ee}function NV(e,t,r,n,i){var a=n+\"bins\",o=e._fullLayout,s=t[\"_\"+n+\"bingroup\"],l=o._histogramBinOpts[s],u=o.barmode===\"overlay\",c,f,h,d,v,x,b,p=function(ge){return r.r2c(ge,0,d)},E=function(ge){return r.c2r(ge,0,d)},k=r.type===\"date\"?function(ge){return ge||ge===0?Vv.cleanDate(ge,null,d):null}:function(ge){return BV(ge)?Number(ge):null};function A(ge,ie,Te){ie[ge+\"Found\"]?(ie[ge]=k(ie[ge]),ie[ge]===null&&(ie[ge]=Te[ge])):(x[ge]=ie[ge]=Te[ge],Vv.nestedProperty(f[0],a+\".\"+ge).set(Te[ge]))}if(t[\"_\"+n+\"autoBinFinished\"])delete t[\"_\"+n+\"autoBinFinished\"];else{f=l.traces;var L=[],_=!0,C=!1,M=!1;for(c=0;c<f.length;c++)if(h=f[c],h.visible){var g=l.dirs[c];v=h[\"_\"+g+\"pos0\"]=r.makeCalcdata(h,g),L=Vv.concat(L,v),delete h[\"_\"+n+\"autoBinFinished\"],t.visible===!0&&(_?_=!1:(delete h._autoBin,h[\"_\"+n+\"autoBinFinished\"]=1),r_e.traceIs(h,\"2dMap\")&&(C=!0),h.type===\"histogram2dcontour\"&&(M=!0))}d=f[0][n+\"calendar\"];var P=H0.autoBin(L,r,l.nbins,C,d,l.sizeFound&&l.size),T=f[0]._autoBin={};if(x=T[l.dirs[0]]={},M&&(l.size||(P.start=E(H0.tickIncrement(p(P.start),P.size,!0,d))),l.end===void 0&&(P.end=E(H0.tickIncrement(p(P.end),P.size,!1,d)))),u&&!r_e.traceIs(t,\"2dMap\")&&P._dataSpan===0&&r.type!==\"category\"&&r.type!==\"multicategory\"&&t.bingroup===\"\"&&typeof t.xbins==\"undefined\"){if(i)return[P,v,!0];P=L1t(e,t,r,n,a)}b=h.cumulative||{},b.enabled&&b.currentbin!==\"include\"&&(b.direction===\"decreasing\"?P.start=E(H0.tickIncrement(p(P.start),P.size,!0,d)):P.end=E(H0.tickIncrement(p(P.end),P.size,!1,d))),l.size=P.size,l.sizeFound||(x.size=P.size,Vv.nestedProperty(f[0],a+\".size\").set(P.size)),A(\"start\",l,P),A(\"end\",l,P)}v=t[\"_\"+n+\"pos0\"],delete t[\"_\"+n+\"pos0\"];var F=t._input[a]||{},q=Vv.extendFlat({},l),V=l.start,H=r.r2l(F.start),X=H!==void 0;if((l.startFound||X)&&H!==r.r2l(V)){var G=X?H:Vv.aggNums(Math.min,null,v),N={type:r.type===\"category\"||r.type===\"multicategory\"?\"linear\":r.type,r2l:r.r2l,dtick:l.size,tick0:V,calendar:d,range:[G,H0.tickIncrement(G,l.size,!1,d)].map(r.l2r)},W=H0.tickFirst(N);W>r.r2l(G)&&(W=H0.tickIncrement(W,l.size,!0,d)),q.start=r.l2r(W),X||Vv.nestedProperty(t,a+\".start\").set(q.start)}var re=l.end,ae=r.r2l(F.end),_e=ae!==void 0;if((l.endFound||_e)&&ae!==r.r2l(re)){var Me=_e?ae:Vv.aggNums(Math.max,null,v);q.end=r.l2r(Me),_e||Vv.nestedProperty(t,a+\".start\").set(q.end)}var ke=\"autobin\"+n;return t._input[ke]===!1&&(t._input[a]=Vv.extendFlat({},t[a]||{}),delete t._input[ke],delete t[ke]),[q,v]}function L1t(e,t,r,n,i){var a=e._fullLayout,o=P1t(e,t),s=!1,l=1/0,u=[t],c,f,h;for(c=0;c<o.length;c++)if(f=o[c],f===t)s=!0;else if(!s)h=a._histogramBinOpts[f[\"_\"+n+\"bingroup\"]],l=Math.min(l,h.size||f[i].size);else{var d=NV(e,f,r,n,!0),v=d[0],x=d[2];f[\"_\"+n+\"autoBinFinished\"]=1,f[\"_\"+n+\"pos0\"]=d[1],x?u.push(f):l=Math.min(l,v.size)}var b=new Array(u.length);for(c=0;c<u.length;c++)for(var p=u[c][\"_\"+n+\"pos0\"],E=0;E<p.length;E++)if(p[E]!==void 0){b[c]=p[E];break}for(isFinite(l)||(l=Vv.distinctVals(b).minDiff),c=0;c<u.length;c++){f=u[c];var k=f[n+\"calendar\"],A={start:r.c2r(b[c]-l/2,0,k),end:r.c2r(b[c]+l/2,0,k),size:l};f._input[i]=f[i]=A,h=a._histogramBinOpts[f[\"_\"+n+\"bingroup\"]],h&&Vv.extendFlat(h,A)}return t[i]}function P1t(e,t){for(var r=t.xaxis,n=t.yaxis,i=t.orientation,a=[],o=e._fullData,s=0;s<o.length;s++){var l=o[s];l.type===\"histogram\"&&l.visible===!0&&l.orientation===i&&l.xaxis===r&&l.yaxis===n&&a.push(l)}return a}function I1t(e,t,r){var n,i,a;function o(l){a=e[l],e[l]/=2}function s(l){i=e[l],e[l]=a+i/2,a+=i}if(r===\"half\")if(t===\"increasing\")for(o(0),n=1;n<e.length;n++)s(n);else for(o(e.length-1),n=e.length-2;n>=0;n--)s(n);else if(t===\"increasing\"){for(n=1;n<e.length;n++)e[n]+=e[n-1];r===\"exclude\"&&(e.unshift(0),e.pop())}else{for(n=e.length-2;n>=0;n--)e[n]+=e[n+1];r===\"exclude\"&&(e.push(0),e.shift())}}n_e.exports={calc:C1t,calcAllAutoBins:NV}});var h_e=ye((osr,f_e)=>{\"use strict\";var a_e=Mr(),LT=Qa(),o_e=zV(),R1t=FV(),D1t=qV(),z1t=OV(),s_e=UV().calcAllAutoBins;f_e.exports=function(t,r){var n=LT.getFromId(t,r.xaxis),i=LT.getFromId(t,r.yaxis),a=r.xcalendar,o=r.ycalendar,s=function(Et){return n.r2c(Et,0,a)},l=function(Et){return i.r2c(Et,0,o)},u=function(Et){return n.c2r(Et,0,a)},c=function(Et){return i.c2r(Et,0,o)},f,h,d,v,x=s_e(t,r,n,\"x\"),b=x[0],p=x[1],E=s_e(t,r,i,\"y\"),k=E[0],A=E[1],L=r._length;p.length>L&&p.splice(L,p.length-L),A.length>L&&A.splice(L,A.length-L);var _=[],C=[],M=[],g=typeof b.size==\"string\",P=typeof k.size==\"string\",T=[],F=[],q=g?T:b,V=P?F:k,H=0,X=[],G=[],N=r.histnorm,W=r.histfunc,re=N.indexOf(\"density\")!==-1,ae=W===\"max\"||W===\"min\",_e=ae?null:0,Me=o_e.count,ke=R1t[N],ge=!1,ie=[],Te=[],Ee=\"z\"in r?r.z:\"marker\"in r&&Array.isArray(r.marker.color)?r.marker.color:\"\";Ee&&W!==\"count\"&&(ge=W===\"avg\",Me=o_e[W]);var Ae=b.size,ze=s(b.start),Ce=s(b.end)+(ze-LT.tickIncrement(ze,Ae,!1,a))/1e6;for(f=ze;f<Ce;f=LT.tickIncrement(f,Ae,!1,a))C.push(_e),T.push(f),ge&&M.push(0);T.push(f);var me=C.length,Re=(f-ze)/me,ce=u(ze+Re/2),Ge=k.size,nt=l(k.start),ct=l(k.end)+(nt-LT.tickIncrement(nt,Ge,!1,o))/1e6;for(f=nt;f<ct;f=LT.tickIncrement(f,Ge,!1,o)){_.push(C.slice()),F.push(f);var qt=new Array(me);for(h=0;h<me;h++)qt[h]=[];G.push(qt),ge&&X.push(M.slice())}F.push(f);var rt=_.length,ot=(f-nt)/rt,Rt=c(nt+ot/2);re&&(ie=l_e(C.length,q,Re,g),Te=l_e(_.length,V,ot,P)),!g&&n.type===\"date\"&&(q=u_e(s,q)),!P&&i.type===\"date\"&&(V=u_e(l,V));var kt=!0,Ct=!0,Yt=new Array(me),xr=new Array(rt),er=1/0,Ke=1/0,xt=1/0,bt=1/0;for(f=0;f<L;f++){var Lt=p[f],St=A[f];d=a_e.findBin(Lt,q),v=a_e.findBin(St,V),d>=0&&d<me&&v>=0&&v<rt&&(H+=Me(d,f,_[v],Ee,X[v]),G[v][d].push(f),kt&&(Yt[d]===void 0?Yt[d]=Lt:Yt[d]!==Lt&&(kt=!1)),Ct&&(xr[v]===void 0?xr[v]=St:xr[v]!==St&&(Ct=!1)),er=Math.min(er,Lt-T[d]),Ke=Math.min(Ke,T[d+1]-Lt),xt=Math.min(xt,St-F[v]),bt=Math.min(bt,F[v+1]-St))}if(ge)for(v=0;v<rt;v++)H+=D1t(_[v],X[v]);if(ke)for(v=0;v<rt;v++)ke(_[v],H,ie,Te[v]);return{x:p,xRanges:c_e(T,kt&&Yt,er,Ke,n,a),x0:ce,dx:Re,y:A,yRanges:c_e(F,Ct&&xr,xt,bt,i,o),y0:Rt,dy:ot,z:_,pts:G}};function l_e(e,t,r,n){var i=new Array(e),a;if(n)for(a=0;a<e;a++)i[a]=1/(t[a+1]-t[a]);else{var o=1/r;for(a=0;a<e;a++)i[a]=o}return i}function u_e(e,t){return{start:e(t.start),end:e(t.end),size:t.size}}function c_e(e,t,r,n,i,a){var o,s=e.length-1,l=new Array(s),u=z1t(r,n,e,i,a);for(o=0;o<s;o++){var c=(t||[])[o];l[o]=c===void 0?[u(e[o]),u(e[o+1],!0)]:[c,c]}return l}});var JI=ye((ssr,p_e)=>{\"use strict\";var Im=Mr(),d_e=es().BADNUM,v_e=Rg();p_e.exports=function(t,r,n,i,a,o){var s=t._length,l=r.makeCalcdata(t,i),u=n.makeCalcdata(t,a);l=v_e(t,r,i,l).vals,u=v_e(t,n,a,u).vals;var c=t.text,f=c!==void 0&&Im.isArray1D(c),h=t.hovertext,d=h!==void 0&&Im.isArray1D(h),v,x,b=Im.distinctVals(l),p=b.vals,E=Im.distinctVals(u),k=E.vals,A=[],L,_,C=k.length,M=p.length;for(v=0;v<o.length;v++)A[v]=Im.init2dArray(C,M);f&&(L=Im.init2dArray(C,M)),d&&(_=Im.init2dArray(C,M));var g=Im.init2dArray(C,M);for(v=0;v<s;v++)if(l[v]!==d_e&&u[v]!==d_e){var P=Im.findBin(l[v]+b.minDiff/2,p),T=Im.findBin(u[v]+E.minDiff/2,k);for(x=0;x<o.length;x++){var F=o[x],q=t[F],V=A[x];V[T][P]=q[v],g[T][P]=v}f&&(L[T][P]=c[v]),d&&(_[T][P]=h[v])}for(t[\"_\"+i]=p,t[\"_\"+a]=k,x=0;x<o.length;x++)t[\"_\"+o[x]]=A[x];f&&(t._text=L),d&&(t._hovertext=_),r&&r.type===\"category\"&&(t[\"_\"+i+\"CategoryMap\"]=p.map(function(H){return r._categories[H]})),n&&n.type===\"category\"&&(t[\"_\"+a+\"CategoryMap\"]=k.map(function(H){return n._categories[H]})),t._after2before=g}});var QI=ye((lsr,g_e)=>{\"use strict\";var F1t=uo(),q1t=Mr(),$I=es().BADNUM;g_e.exports=function(t,r,n,i){var a,o,s,l,u,c;function f(p){if(F1t(p))return+p}if(r&&r.transpose){for(a=0,u=0;u<t.length;u++)a=Math.max(a,t[u].length);if(a===0)return!1;s=function(p){return p.length},l=function(p,E,k){return(p[k]||[])[E]}}else a=t.length,s=function(p,E){return p[E].length},l=function(p,E,k){return(p[E]||[])[k]};var h=function(p,E,k){return E===$I||k===$I?$I:l(p,E,k)};function d(p){if(r&&r.type!==\"carpet\"&&r.type!==\"contourcarpet\"&&p&&p.type===\"category\"&&r[\"_\"+p._id.charAt(0)].length){var E=p._id.charAt(0),k={},A=r[\"_\"+E+\"CategoryMap\"]||r[E];for(u=0;u<A.length;u++)k[A[u]]=u;return function(L){var _=k[p._categories[L]];return _+1?_:$I}}else return q1t.identity}var v=d(n),x=d(i);i&&i.type===\"category\"&&(a=i._categories.length);var b=new Array(a);for(u=0;u<a;u++)for(n&&n.type===\"category\"?o=n._categories.length:o=s(t,u),b[u]=new Array(o),c=0;c<o;c++)b[u][c]=f(h(t,x(u),v(c)));return b}});var e8=ye((usr,__e)=>{\"use strict\";var O1t=Mr(),m_e=.01,B1t=[[-1,0],[1,0],[0,-1],[0,1]];function N1t(e){return .5-.25*Math.min(1,e*.5)}__e.exports=function(t,r){var n=1,i;for(y_e(t,r),i=0;i<r.length&&!(r[i][2]<4);i++);for(r=r.slice(i),i=0;i<100&&n>m_e;i++)n=y_e(t,r,N1t(n));return n>m_e&&O1t.log(\"interp2d didn't converge quickly\",n),t};function y_e(e,t,r){var n=0,i,a,o,s,l,u,c,f,h,d,v,x,b;for(s=0;s<t.length;s++){for(i=t[s],a=i[0],o=i[1],v=e[a][o],d=0,h=0,l=0;l<4;l++)u=B1t[l],c=e[a+u[0]],c&&(f=c[o+u[1]],f!==void 0&&(d===0?x=b=f:(x=Math.min(x,f),b=Math.max(b,f)),h++,d+=f));if(h===0)throw\"iterateInterp2d order is wrong: no defined neighbors\";e[a][o]=d/h,v===void 0?h<4&&(n=1):(e[a][o]=(1+r)*e[a][o]-r*v,b>x&&(n=Math.max(n,Math.abs(e[a][o]-v)/(b-x))))}return n}});var t8=ye((csr,x_e)=>{\"use strict\";var U1t=Mr().maxRowLength;x_e.exports=function(t){var r=[],n={},i=[],a=t[0],o=[],s=[0,0,0],l=U1t(t),u,c,f,h,d,v,x,b;for(c=0;c<t.length;c++)for(u=o,o=a,a=t[c+1]||[],f=0;f<l;f++)o[f]===void 0&&(v=(o[f-1]!==void 0?1:0)+(o[f+1]!==void 0?1:0)+(u[f]!==void 0?1:0)+(a[f]!==void 0?1:0),v?(c===0&&v++,f===0&&v++,c===t.length-1&&v++,f===o.length-1&&v++,v<4&&(n[[c,f]]=[c,f,v]),r.push([c,f,v])):i.push([c,f]));for(;i.length;){for(x={},b=!1,d=i.length-1;d>=0;d--)h=i[d],c=h[0],f=h[1],v=((n[[c-1,f]]||s)[2]+(n[[c+1,f]]||s)[2]+(n[[c,f-1]]||s)[2]+(n[[c,f+1]]||s)[2])/20,v&&(x[h]=[c,f,v],i.splice(d,1),b=!0);if(!b)throw\"findEmpties iterated with no new neighbors\";for(h in x)n[h]=x[h],r.push(x[h])}return r.sort(function(p,E){return E[2]-p[2]})}});var VV=ye((fsr,T_e)=>{\"use strict\";var b_e=ba(),w_e=Mr().isArrayOrTypedArray;T_e.exports=function(t,r,n,i,a,o){var s=[],l=b_e.traceIs(t,\"contour\"),u=b_e.traceIs(t,\"histogram\"),c,f,h,d=w_e(r)&&r.length>1;if(d&&!u&&o.type!==\"category\"){var v=r.length;if(v<=a){if(l)s=Array.from(r).slice(0,a);else if(a===1)o.type===\"log\"?s=[.5*r[0],2*r[0]]:s=[r[0]-.5,r[0]+.5];else if(o.type===\"log\"){for(s=[Math.pow(r[0],1.5)/Math.pow(r[1],.5)],h=1;h<v;h++)s.push(Math.sqrt(r[h-1]*r[h]));s.push(Math.pow(r[v-1],1.5)/Math.pow(r[v-2],.5))}else{for(s=[1.5*r[0]-.5*r[1]],h=1;h<v;h++)s.push((r[h-1]+r[h])*.5);s.push(1.5*r[v-1]-.5*r[v-2])}if(v<a){var x=s[s.length-1],b;if(o.type===\"log\")for(b=x/s[s.length-2],h=v;h<a;h++)x*=b,s.push(x);else for(b=x-s[s.length-2],h=v;h<a;h++)x+=b,s.push(x)}}else return l?r.slice(0,a):r.slice(0,a+1)}else{var p=t[o._id.charAt(0)+\"calendar\"];if(u)c=o.r2c(n,0,p);else if(w_e(r)&&r.length===1)c=r[0];else if(n===void 0)c=0;else{var E=o.type===\"log\"?o.d2c:o.r2c;c=E(n,0,p)}for(f=i||1,h=l?0:-.5;h<a;h++)s.push(c+f*h)}return s}});var n8=ye((hsr,E_e)=>{\"use strict\";var A_e=ba(),HV=Mr(),r8=Qa(),S_e=Rg(),V1t=h_e(),H1t=zv(),G1t=JI(),j1t=QI(),W1t=e8(),Z1t=t8(),i8=VV(),GV=es().BADNUM;E_e.exports=function(t,r){var n=r8.getFromId(t,r.xaxis||\"x\"),i=r8.getFromId(t,r.yaxis||\"y\"),a=A_e.traceIs(r,\"contour\"),o=A_e.traceIs(r,\"histogram\"),s=a?\"best\":r.zsmooth,l,u,c,f,h,d,v,x,b,p,E;if(n._minDtick=0,i._minDtick=0,o)E=V1t(t,r),f=E.orig_x,l=E.x,u=E.x0,c=E.dx,x=E.orig_y,h=E.y,d=E.y0,v=E.dy,b=E.z;else{var k=r.z;HV.isArray1D(k)?(G1t(r,n,i,\"x\",\"y\",[\"z\"]),l=r._x,h=r._y,k=r._z):(f=r.x?n.makeCalcdata(r,\"x\"):[],x=r.y?i.makeCalcdata(r,\"y\"):[],l=S_e(r,n,\"x\",f).vals,h=S_e(r,i,\"y\",x).vals,r._x=l,r._y=h),u=r.x0,c=r.dx,d=r.y0,v=r.dy,b=j1t(k,r,n,i)}(n.rangebreaks||i.rangebreaks)&&(b=X1t(l,h,b),o||(l=M_e(l),h=M_e(h),r._x=l,r._y=h)),!o&&(a||r.connectgaps)&&(r._emptypoints=Z1t(b),W1t(b,r._emptypoints));function A(q){s=r._input.zsmooth=r.zsmooth=!1,HV.warn('cannot use zsmooth: \"fast\": '+q)}function L(q){if(q.length>1){var V=(q[q.length-1]-q[0])/(q.length-1),H=Math.abs(V/100);for(p=0;p<q.length-1;p++)if(Math.abs(q[p+1]-q[p]-V)>H)return!1}return!0}r._islinear=!1,n.type===\"log\"||i.type===\"log\"?s===\"fast\"&&A(\"log axis found\"):L(l)?L(h)?r._islinear=!0:s===\"fast\"&&A(\"y scale is not linear\"):s===\"fast\"&&A(\"x scale is not linear\");var _=HV.maxRowLength(b),C=r.xtype===\"scaled\"?\"\":l,M=i8(r,C,u,c,_,n),g=r.ytype===\"scaled\"?\"\":h,P=i8(r,g,d,v,b.length,i);r._extremes[n._id]=r8.findExtremes(n,M),r._extremes[i._id]=r8.findExtremes(i,P);var T={x:M,y:P,z:b,text:r._text||r.text,hovertext:r._hovertext||r.hovertext};if(r.xperiodalignment&&f&&(T.orig_x=f),r.yperiodalignment&&x&&(T.orig_y=x),C&&C.length===M.length-1&&(T.xCenter=C),g&&g.length===P.length-1&&(T.yCenter=g),o&&(T.xRanges=E.xRanges,T.yRanges=E.yRanges,T.pts=E.pts),a||H1t(t,r,{vals:b,cLetter:\"z\"}),a&&r.contours&&r.contours.coloring===\"heatmap\"){var F={type:r.type===\"contour\"?\"heatmap\":\"histogram2d\",xcalendar:r.xcalendar,ycalendar:r.ycalendar};T.xfill=i8(F,C,u,c,_,n),T.yfill=i8(F,g,d,v,b.length,i)}return[T]};function M_e(e){for(var t=[],r=e.length,n=0;n<r;n++){var i=e[n];i!==GV&&t.push(i)}return t}function X1t(e,t,r){for(var n=[],i=-1,a=0;a<r.length;a++)if(t[a]!==GV){i++,n[i]=[];for(var o=0;o<r[a].length;o++)e[o]!==GV&&n[i].push(r[a][o])}return n}});var o8=ye(a8=>{\"use strict\";a8.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\"]];a8.STYLE=a8.CSS_DECLARATIONS.map(function(e){return e.join(\": \")+\"; \"}).join(\"\")});var jV=ye((vsr,L_e)=>{\"use strict\";var k_e=o8(),Y1t=ao(),C_e=Mr(),PT=null;function K1t(){if(PT!==null)return PT;PT=!1;var e=C_e.isSafari()||C_e.isIOS();if(window.navigator.userAgent&&!e){var t=Array.from(k_e.CSS_DECLARATIONS).reverse(),r=window.CSS&&window.CSS.supports||window.supportsCSS;if(typeof r==\"function\")PT=t.some(function(o){return r.apply(null,o)});else{var n=Y1t.tester.append(\"image\").attr(\"style\",k_e.STYLE),i=window.getComputedStyle(n.node()),a=i.imageRendering;PT=t.some(function(o){var s=o[1];return a===s||a===s.toLowerCase()}),n.remove()}}return PT}L_e.exports=K1t});var s8=ye((psr,B_e)=>{\"use strict\";var P_e=xa(),J1t=id(),$1t=ba(),Q1t=ao(),e_t=Qa(),G0=Mr(),I_e=Pl(),t_t=$P(),r_t=va(),i_t=Mu().extractOpts,n_t=Mu().makeColorScaleFuncFromTrace,a_t=Zp(),o_t=Nh(),WV=o_t.LINE_SPACING,s_t=jV(),l_t=o8().STYLE,q_e=\"heatmap-label\";function O_e(e){return e.selectAll(\"g.\"+q_e)}function R_e(e){O_e(e).remove()}B_e.exports=function(e,t,r,n){var i=t.xaxis,a=t.yaxis;G0.makeTraceGroups(n,r,\"hm\").each(function(o){var s=P_e.select(this),l=o[0],u=l.trace,c=u.xgap||0,f=u.ygap||0,h=l.z,d=l.x,v=l.y,x=l.xCenter,b=l.yCenter,p=$1t.traceIs(u,\"contour\"),E=p?\"best\":u.zsmooth,k=h.length,A=G0.maxRowLength(h),L=!1,_=!1,C,M,g,P,T,F,q,V;for(F=0;C===void 0&&F<d.length-1;)C=i.c2p(d[F]),F++;for(F=d.length-1;M===void 0&&F>0;)M=i.c2p(d[F]),F--;for(M<C&&(g=M,M=C,C=g,L=!0),F=0;P===void 0&&F<v.length-1;)P=a.c2p(v[F]),F++;for(F=v.length-1;T===void 0&&F>0;)T=a.c2p(v[F]),F--;T<P&&(g=P,P=T,T=g,_=!0),p&&(x=d,b=v,d=l.xfill,v=l.yfill);var H=\"default\";if(E?H=E===\"best\"?\"smooth\":\"fast\":u._islinear&&c===0&&f===0&&s_t()&&(H=\"fast\"),H!==\"fast\"){var X=E===\"best\"?0:.5;C=Math.max(-X*i._length,C),M=Math.min((1+X)*i._length,M),P=Math.max(-X*a._length,P),T=Math.min((1+X)*a._length,T)}var G=Math.round(M-C),N=Math.round(T-P),W=C>=i._length||M<=0||P>=a._length||T<=0;if(W){var re=s.selectAll(\"image\").data([]);re.exit().remove(),R_e(s);return}var ae,_e;H===\"fast\"?(ae=A,_e=k):(ae=G,_e=N);var Me=document.createElement(\"canvas\");Me.width=ae,Me.height=_e;var ke=Me.getContext(\"2d\",{willReadFrequently:!0}),ge=n_t(u,{noNumericCheck:!0,returnArray:!0}),ie,Te;H===\"fast\"?(ie=L?function(Pi){return A-1-Pi}:G0.identity,Te=_?function(Pi){return k-1-Pi}:G0.identity):(ie=function(Pi){return G0.constrain(Math.round(i.c2p(d[Pi])-C),0,G)},Te=function(Pi){return G0.constrain(Math.round(a.c2p(v[Pi])-P),0,N)});var Ee=Te(0),Ae=[Ee,Ee],ze=L?0:1,Ce=_?0:1,me=0,Re=0,ce=0,Ge=0,nt,ct,qt,rt,ot;function Rt(Pi,Gi){if(Pi!==void 0){var Ki=ge(Pi);return Ki[0]=Math.round(Ki[0]),Ki[1]=Math.round(Ki[1]),Ki[2]=Math.round(Ki[2]),me+=Gi,Re+=Ki[0]*Gi,ce+=Ki[1]*Gi,Ge+=Ki[2]*Gi,Ki}return[0,0,0,0]}function kt(Pi,Gi,Ki,ka){var jn=Pi[Ki.bin0];if(jn===void 0)return Rt(void 0,1);var la=Pi[Ki.bin1],Fa=Gi[Ki.bin0],Ra=Gi[Ki.bin1],jo=la-jn||0,oa=Fa-jn||0,Sn;return la===void 0?Ra===void 0?Sn=0:Fa===void 0?Sn=2*(Ra-jn):Sn=(2*Ra-Fa-jn)*2/3:Ra===void 0?Fa===void 0?Sn=0:Sn=(2*jn-la-Fa)*2/3:Fa===void 0?Sn=(2*Ra-la-jn)*2/3:Sn=Ra+jn-la-Fa,Rt(jn+Ki.frac*jo+ka.frac*(oa+Ki.frac*Sn))}if(H!==\"default\"){var Ct=0,Yt;try{Yt=new Uint8Array(ae*_e*4)}catch(Pi){Yt=new Array(ae*_e*4)}if(H===\"smooth\"){var xr=x||d,er=b||v,Ke=new Array(xr.length),xt=new Array(er.length),bt=new Array(G),Lt=x?z_e:D_e,St=b?z_e:D_e,Et,dt,Ht;for(F=0;F<xr.length;F++)Ke[F]=Math.round(i.c2p(xr[F])-C);for(F=0;F<er.length;F++)xt[F]=Math.round(a.c2p(er[F])-P);for(F=0;F<G;F++)bt[F]=Lt(F,Ke);for(q=0;q<N;q++)for(Et=St(q,xt),dt=h[Et.bin0],Ht=h[Et.bin1],F=0;F<G;F++,Ct+=4)ot=kt(dt,Ht,bt[F],Et),F_e(Yt,Ct,ot)}else for(q=0;q<k;q++)for(rt=h[q],Ae=Te(q),F=0;F<A;F++)ot=Rt(rt[F],1),Ct=(Ae*A+ie(F))*4,F_e(Yt,Ct,ot);var $t=ke.createImageData(ae,_e);try{$t.data.set(Yt)}catch(Pi){var fr=$t.data,_r=fr.length;for(q=0;q<_r;q++)fr[q]=Yt[q]}ke.putImageData($t,0,0)}else{var Br=Math.floor(c/2),Or=Math.floor(f/2);for(q=0;q<k;q++)if(rt=h[q],Ae.reverse(),Ae[Ce]=Te(q+1),!(Ae[0]===Ae[1]||Ae[0]===void 0||Ae[1]===void 0))for(ct=ie(0),nt=[ct,ct],F=0;F<A;F++)nt.reverse(),nt[ze]=ie(F+1),!(nt[0]===nt[1]||nt[0]===void 0||nt[1]===void 0)&&(qt=rt[F],ot=Rt(qt,(nt[1]-nt[0])*(Ae[1]-Ae[0])),ke.fillStyle=\"rgba(\"+ot.join(\",\")+\")\",ke.fillRect(nt[0]+Br,Ae[0]+Or,nt[1]-nt[0]-c,Ae[1]-Ae[0]-f))}Re=Math.round(Re/me),ce=Math.round(ce/me),Ge=Math.round(Ge/me);var Nr=J1t(\"rgb(\"+Re+\",\"+ce+\",\"+Ge+\")\");e._hmpixcount=(e._hmpixcount||0)+me,e._hmlumcount=(e._hmlumcount||0)+me*Nr.getLuminance();var ut=s.selectAll(\"image\").data(o);ut.enter().append(\"svg:image\").attr({xmlns:a_t.svg,preserveAspectRatio:\"none\"}),ut.attr({height:N,width:G,x:C,y:P,\"xlink:href\":Me.toDataURL(\"image/png\")}),H===\"fast\"&&!E&&ut.attr(\"style\",l_t),R_e(s);var Ne=u.texttemplate;if(Ne){var Ye=i_t(u),Ve={type:\"linear\",range:[Ye.min,Ye.max],_separators:i._separators,_numFormat:i._numFormat},Xe=u.type===\"histogram2dcontour\",ht=u.type===\"contour\",Le=ht?1:0,xe=ht?k-1:k,Se=ht?1:0,lt=ht?A-1:A,Gt=[];for(F=Le;F<xe;F++){var Vt;if(ht)Vt=l.y[F];else if(Xe){if(F===0||F===k-1)continue;Vt=l.y[F]}else if(l.yCenter)Vt=l.yCenter[F];else{if(F+1===k&&l.y[F+1]===void 0)continue;Vt=(l.y[F]+l.y[F+1])/2}var ar=Math.round(a.c2p(Vt));if(!(0>ar||ar>a._length))for(q=Se;q<lt;q++){var Qr;if(ht)Qr=l.x[q];else if(Xe){if(q===0||q===A-1)continue;Qr=l.x[q]}else if(l.xCenter)Qr=l.xCenter[q];else{if(q+1===A&&l.x[q+1]===void 0)continue;Qr=(l.x[q]+l.x[q+1])/2}var ai=Math.round(i.c2p(Qr));if(!(0>ai||ai>i._length)){var jr=t_t({x:Qr,y:Vt},u,e._fullLayout);jr.x=Qr,jr.y=Vt;var ri=l.z[F][q];ri===void 0?(jr.z=\"\",jr.zLabel=\"\"):(jr.z=ri,jr.zLabel=e_t.tickText(Ve,ri,\"hover\").text);var bi=l.text&&l.text[F]&&l.text[F][q];(bi===void 0||bi===!1)&&(bi=\"\"),jr.text=bi;var nn=G0.texttemplateString(Ne,jr,e._fullLayout._d3locale,jr,u._meta||{});if(nn){var Wi=nn.split(\"<br>\"),Ni=Wi.length,_n=0;for(V=0;V<Ni;V++)_n=Math.max(_n,Wi[V].length);Gt.push({l:Ni,c:_n,t:nn,x:ai,y:ar,z:ri})}}}}var $i=u.textfont,zn=$i.size,Wn=e._fullLayout.font.size;if(!zn||zn===\"auto\"){var It=1/0,ft=1/0,jt=0,Zt=0;for(V=0;V<Gt.length;V++){var yr=Gt[V];if(jt=Math.max(jt,yr.l),Zt=Math.max(Zt,yr.c),V<Gt.length-1){var Fr=Gt[V+1],Zr=Math.abs(Fr.x-yr.x),Vr=Math.abs(Fr.y-yr.y);Zr&&(It=Math.min(It,Zr)),Vr&&(ft=Math.min(ft,Vr))}}!isFinite(It)||!isFinite(ft)?zn=Wn:(It-=c,ft-=f,It/=Zt,ft/=jt,It/=WV/2,ft/=WV,zn=Math.min(Math.floor(It),Math.floor(ft),Wn))}if(zn<=0||!isFinite(zn))return;var gi=function(Pi){return Pi.x},Si=function(Pi){return Pi.y-zn*(Pi.l*WV/2-1)},Mi=O_e(s).data(Gt);Mi.enter().append(\"g\").classed(q_e,1).append(\"text\").attr(\"text-anchor\",\"middle\").each(function(Pi){var Gi=P_e.select(this),Ki=$i.color;(!Ki||Ki===\"auto\")&&(Ki=r_t.contrast(Pi.z===void 0?e._fullLayout.plot_bgcolor:\"rgba(\"+ge(Pi.z).join()+\")\")),Gi.attr(\"data-notex\",1).call(I_e.positionText,gi(Pi),Si(Pi)).call(Q1t.font,{family:$i.family,size:zn,color:Ki,weight:$i.weight,style:$i.style,variant:$i.variant,textcase:$i.textcase,lineposition:$i.lineposition,shadow:$i.shadow}).text(Pi.t).call(I_e.convertToTspans,e)})}})};function D_e(e,t){var r=t.length-2,n=G0.constrain(G0.findBin(e,t),0,r),i=t[n],a=t[n+1],o=G0.constrain(n+(e-i)/(a-i)-.5,0,r),s=Math.round(o),l=Math.abs(o-s);return!o||o===r||!l?{bin0:s,bin1:s,frac:0}:{bin0:s,frac:l,bin1:Math.round(s+l/(o-s))}}function z_e(e,t){var r=t.length-1,n=G0.constrain(G0.findBin(e,t),0,r),i=t[n],a=t[n+1],o=(e-i)/(a-i)||0;return o<=0?{bin0:n,bin1:n,frac:0}:o<.5?{bin0:n,bin1:n+1,frac:o}:{bin0:n+1,bin1:n,frac:1-o}}function F_e(e,t,r){e[t]=r[0],e[t+1]=r[1],e[t+2]=r[2],e[t+3]=Math.round(r[3]*255)}});var M_=ye((gsr,N_e)=>{\"use strict\";N_e.exports={min:\"zmin\",max:\"zmax\"}});var l8=ye((msr,U_e)=>{\"use strict\";var u_t=xa();U_e.exports=function(t){u_t.select(t).selectAll(\".hm image\").style(\"opacity\",function(r){return r.trace.opacity})}});var c8=ye((ysr,H_e)=>{\"use strict\";var V_e=Nc(),_4=Mr(),u8=_4.isArrayOrTypedArray,c_t=Qa(),f_t=Mu().extractOpts;H_e.exports=function(t,r,n,i,a){a||(a={});var o=a.isContour,s=t.cd[0],l=s.trace,u=t.xa,c=t.ya,f=s.x,h=s.y,d=s.z,v=s.xCenter,x=s.yCenter,b=s.zmask,p=l.zhoverformat,E=f,k=h,A,L,_,C;if(t.index!==!1){try{_=Math.round(t.index[1]),C=Math.round(t.index[0])}catch(re){_4.error(\"Error hovering on heatmap, pointNumber must be [row,col], found:\",t.index);return}if(_<0||_>=d[0].length||C<0||C>d.length)return}else{if(V_e.inbox(r-f[0],r-f[f.length-1],0)>0||V_e.inbox(n-h[0],n-h[h.length-1],0)>0)return;if(o){var M;for(E=[2*f[0]-f[1]],M=1;M<f.length;M++)E.push((f[M]+f[M-1])/2);for(E.push([2*f[f.length-1]-f[f.length-2]]),k=[2*h[0]-h[1]],M=1;M<h.length;M++)k.push((h[M]+h[M-1])/2);k.push([2*h[h.length-1]-h[h.length-2]])}_=Math.max(0,Math.min(E.length-2,_4.findBin(r,E))),C=Math.max(0,Math.min(k.length-2,_4.findBin(n,k)))}var g=u.c2p(f[_]),P=u.c2p(f[_+1]),T=c.c2p(h[C]),F=c.c2p(h[C+1]),q,V;o?(q=s.orig_x||f,V=s.orig_y||h,P=g,A=q[_],F=T,L=V[C]):(q=s.orig_x||v||f,V=s.orig_y||x||h,A=v?q[_]:(q[_]+q[_+1])/2,L=x?V[C]:(V[C]+V[C+1])/2,u&&u.type===\"category\"&&(A=f[_]),c&&c.type===\"category\"&&(L=h[C]),l.zsmooth&&(g=P=u.c2p(A),T=F=c.c2p(L)));var H=d[C][_];if(b&&!b[C][_]&&(H=void 0),!(H===void 0&&!l.hoverongaps)){var X;u8(s.hovertext)&&u8(s.hovertext[C])?X=s.hovertext[C][_]:u8(s.text)&&u8(s.text[C])&&(X=s.text[C][_]);var G=f_t(l),N={type:\"linear\",range:[G.min,G.max],hoverformat:p,_separators:u._separators,_numFormat:u._numFormat},W=c_t.tickText(N,H,\"hover\").text;return[_4.extendFlat(t,{index:l._after2before?l._after2before[C][_]:[C,_],distance:t.maxHoverDistance,spikeDistance:t.maxSpikeDistance,x0:g,x1:P,y0:T,y1:F,xLabelVal:A,yLabelVal:L,zLabelVal:H,zLabel:W,text:X})]}}});var j_e=ye((_sr,G_e)=>{\"use strict\";G_e.exports={attributes:ET(),supplyDefaults:G1e(),calc:n8(),plot:s8(),colorbar:M_(),style:l8(),hoverPoints:c8(),moduleType:\"trace\",name:\"heatmap\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"showLegend\"],meta:{}}});var Z_e=ye((xsr,W_e)=>{\"use strict\";W_e.exports=j_e()});var ZV=ye((bsr,X_e)=>{\"use strict\";X_e.exports=function(t,r){return{start:{valType:\"any\",editType:\"calc\"},end:{valType:\"any\",editType:\"calc\"},size:{valType:\"any\",editType:\"calc\"},editType:\"calc\"}}});var K_e=ye((wsr,Y_e)=>{\"use strict\";Y_e.exports={eventDataKeys:[\"binNumber\"]}});var f8=ye((Tsr,Q_e)=>{\"use strict\";var Ip=Lm(),J_e=Oc().axisHoverFormat,h_t=Wo().hovertemplateAttrs,d_t=Wo().texttemplateAttrs,XV=Su(),$_e=ZV(),v_t=K_e(),YV=no().extendFlat;Q_e.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},xhoverformat:J_e(\"x\"),yhoverformat:J_e(\"y\"),text:YV({},Ip.text,{}),hovertext:YV({},Ip.hovertext,{}),orientation:Ip.orientation,histfunc:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"min\",\"max\"],dflt:\"count\",editType:\"calc\"},histnorm:{valType:\"enumerated\",values:[\"\",\"percent\",\"probability\",\"density\",\"probability density\"],dflt:\"\",editType:\"calc\"},cumulative:{enabled:{valType:\"boolean\",dflt:!1,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"increasing\",\"decreasing\"],dflt:\"increasing\",editType:\"calc\"},currentbin:{valType:\"enumerated\",values:[\"include\",\"exclude\",\"half\"],dflt:\"include\",editType:\"calc\"},editType:\"calc\"},nbinsx:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},xbins:$_e(\"x\",!0),nbinsy:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},ybins:$_e(\"y\",!0),autobinx:{valType:\"boolean\",dflt:null,editType:\"calc\"},autobiny:{valType:\"boolean\",dflt:null,editType:\"calc\"},bingroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertemplate:h_t({},{keys:v_t.eventDataKeys}),texttemplate:d_t({arrayOk:!1,editType:\"plot\"},{keys:[\"label\",\"value\"]}),textposition:YV({},Ip.textposition,{arrayOk:!1}),textfont:XV({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),outsidetextfont:XV({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),insidetextfont:XV({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),insidetextanchor:Ip.insidetextanchor,textangle:Ip.textangle,cliponaxis:Ip.cliponaxis,constraintext:Ip.constraintext,marker:Ip.marker,offsetgroup:Ip.offsetgroup,alignmentgroup:Ip.alignmentgroup,selected:Ip.selected,unselected:Ip.unselected,zorder:Ip.zorder}});var ixe=ye((Asr,rxe)=>{\"use strict\";var exe=ba(),x4=Mr(),txe=va(),p_t=r0().handleText,g_t=FI(),m_t=f8();rxe.exports=function(t,r,n,i){function a(E,k){return x4.coerce(t,r,m_t,E,k)}var o=a(\"x\"),s=a(\"y\"),l=a(\"cumulative.enabled\");l&&(a(\"cumulative.direction\"),a(\"cumulative.currentbin\")),a(\"text\");var u=a(\"textposition\");p_t(t,r,i,a,u,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\");var c=a(\"orientation\",s&&!o?\"h\":\"v\"),f=c===\"v\"?\"x\":\"y\",h=c===\"v\"?\"y\":\"x\",d=o&&s?Math.min(x4.minRowLength(o)&&x4.minRowLength(s)):x4.minRowLength(r[f]||[]);if(!d){r.visible=!1;return}r._length=d;var v=exe.getComponentMethod(\"calendars\",\"handleTraceDefaults\");v(t,r,[\"x\",\"y\"],i);var x=r[h];x&&a(\"histfunc\"),a(\"histnorm\"),a(\"autobin\"+f),g_t(t,r,a,n,i),x4.coerceSelectionMarkerOpacity(r,a);var b=(r.marker.line||{}).color,p=exe.getComponentMethod(\"errorbars\",\"supplyDefaults\");p(t,r,b||txe.defaultLine,{axis:\"y\"}),p(t,r,b||txe.defaultLine,{axis:\"x\",inherit:\"y\"}),a(\"zorder\")}});var d8=ye((Ssr,oxe)=>{\"use strict\";var b4=Mr(),y_t=af(),h8=ba().traceIs,__t=Hb(),x_t=r0().validateCornerradius,nxe=b4.nestedProperty,KV=Bb().getAxisGroup,axe=[{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\"}],b_t=[\"x\",\"y\"];oxe.exports=function(t,r){var n=r._histogramBinOpts={},i=[],a={},o=[],s,l,u,c,f,h,d;function v(H,X){return b4.coerce(s._input,s,s._module.attributes,H,X)}function x(H){return H.orientation===\"v\"?\"x\":\"y\"}function b(H,X){var G=y_t.getFromTrace({_fullLayout:r},H,X);return G.type}function p(H,X,G){var N=H.uid+\"__\"+G;X||(X=N);var W=b(H,G),re=H[G+\"calendar\"]||\"\",ae=n[X],_e=!0;ae&&(W===ae.axType&&re===ae.calendar?(_e=!1,ae.traces.push(H),ae.dirs.push(G)):(X=N,W!==ae.axType&&b4.warn([\"Attempted to group the bins of trace\",H.index,\"set on a\",\"type:\"+W,\"axis\",\"with bins on\",\"type:\"+ae.axType,\"axis.\"].join(\" \")),re!==ae.calendar&&b4.warn([\"Attempted to group the bins of trace\",H.index,\"set with a\",re,\"calendar\",\"with bins\",ae.calendar?\"on a \"+ae.calendar+\" calendar\":\"w/o a set calendar\"].join(\" \")))),_e&&(n[X]={traces:[H],dirs:[G],axType:W,calendar:H[G+\"calendar\"]||\"\"}),H[\"_\"+G+\"bingroup\"]=X}for(f=0;f<t.length;f++)if(s=t[f],h8(s,\"histogram\")){if(i.push(s),delete s._xautoBinFinished,delete s._yautoBinFinished,s.type===\"histogram\"){var E=v(\"marker.cornerradius\",r.barcornerradius);s.marker&&(s.marker.cornerradius=x_t(E))}h8(s,\"2dMap\")||__t(s._input,s,r,v,r.barmode)}var k=r._alignmentOpts||{};for(f=0;f<i.length;f++){if(s=i[f],u=\"\",!h8(s,\"2dMap\")){if(c=x(s),r.barmode===\"group\"&&s.alignmentgroup){var A=s[c+\"axis\"],L=KV(r,A)+s.orientation;(k[L]||{})[s.alignmentgroup]&&(u=L)}!u&&r.barmode!==\"overlay\"&&(u=KV(r,s.xaxis)+KV(r,s.yaxis)+x(s))}u?(a[u]||(a[u]=[]),a[u].push(s)):o.push(s)}for(u in a){if(l=a[u],l.length===1){o.push(l[0]);continue}var _=!1;for(l.length&&(s=l[0],_=v(\"bingroup\")),u=_||u,f=0;f<l.length;f++){s=l[f];var C=s._input.bingroup;C&&C!==u&&b4.warn([\"Trace\",s.index,\"must match\",\"within bingroup\",u+\".\",\"Ignoring its bingroup:\",C,\"setting.\"].join(\" \")),s.bingroup=u,p(s,u,x(s))}}for(f=0;f<o.length;f++){s=o[f];var M=v(\"bingroup\");if(h8(s,\"2dMap\"))for(d=0;d<2;d++){c=b_t[d];var g=v(c+\"bingroup\",M?M+\"__\"+c:null);p(s,g,c)}else p(s,M,x(s))}for(u in n){var P=n[u];for(l=P.traces,h=0;h<axe.length;h++){var T=axe[h],F=T.name,q,V;if(!(F===\"nbins\"&&P.sizeFound)){for(f=0;f<l.length;f++){if(s=l[f],c=P.dirs[f],q=T.aStr[c],nxe(s._input,q).get()!==void 0){P[F]=v(q),P[F+\"Found\"]=!0;break}V=(s._autoBin||{})[c]||{},V[F]&&nxe(s,q).set(V[F])}if(F===\"start\"||F===\"end\")for(;f<l.length;f++)s=l[f],s[\"_\"+c+\"bingroup\"]&&(V=(s._autoBin||{})[c]||{},v(q,V[F]));F===\"nbins\"&&!P.sizeFound&&!P.nbinsFound&&(s=l[0],P[F]=v(q))}}}}});var lxe=ye((Msr,sxe)=>{\"use strict\";var w_t=TT().hoverPoints,T_t=Qa().hoverLabelText;sxe.exports=function(t,r,n,i,a){var o=w_t(t,r,n,i,a);if(o){t=o[0];var s=t.cd[t.index],l=t.cd[0].trace;if(!l.cumulative.enabled){var u=l.orientation===\"h\"?\"y\":\"x\";t[u+\"Label\"]=T_t(t[u+\"a\"],[s.ph0,s.ph1],l[u+\"hoverformat\"])}return o}}});var JV=ye((Esr,uxe)=>{\"use strict\";uxe.exports=function(t,r,n,i,a){if(t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,\"zLabelVal\"in r&&(t.z=r.zLabelVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),!(n.cumulative||{}).enabled){var o=Array.isArray(a)?i[0].pts[a[0]][a[1]]:i[a].pts;t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex;var s;if(n._indexToPoints){s=[];for(var l=0;l<o.length;l++)s=s.concat(n._indexToPoints[o[l]])}else s=o;t.pointIndices=s}return t}});var fxe=ye((ksr,cxe)=>{\"use strict\";cxe.exports={attributes:f8(),layoutAttributes:zI(),supplyDefaults:ixe(),crossTraceDefaults:d8(),supplyLayoutDefaults:yV(),calc:UV().calc,crossTraceCalc:Gb().crossTraceCalc,plot:i2().plot,layerName:\"barlayer\",style:N0().style,styleOnSelect:N0().styleOnSelect,colorbar:Kd(),hoverPoints:lxe(),selectPoints:AT(),eventData:JV(),moduleType:\"trace\",name:\"histogram\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"bar\",\"histogram\",\"oriented\",\"errorBarsOK\",\"showLegend\"],meta:{}}});var dxe=ye((Csr,hxe)=>{\"use strict\";hxe.exports=fxe()});var p8=ye((Lsr,pxe)=>{\"use strict\";var Vg=f8(),vxe=ZV(),v8=ET(),A_t=vl(),$V=Oc().axisHoverFormat,S_t=Wo().hovertemplateAttrs,M_t=Wo().texttemplateAttrs,E_t=Jl(),w4=no().extendFlat;pxe.exports=w4({x:Vg.x,y:Vg.y,z:{valType:\"data_array\",editType:\"calc\"},marker:{color:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},histnorm:Vg.histnorm,histfunc:Vg.histfunc,nbinsx:Vg.nbinsx,xbins:vxe(\"x\"),nbinsy:Vg.nbinsy,ybins:vxe(\"y\"),autobinx:Vg.autobinx,autobiny:Vg.autobiny,bingroup:w4({},Vg.bingroup,{}),xbingroup:w4({},Vg.bingroup,{}),ybingroup:w4({},Vg.bingroup,{}),xgap:v8.xgap,ygap:v8.ygap,zsmooth:v8.zsmooth,xhoverformat:$V(\"x\"),yhoverformat:$V(\"y\"),zhoverformat:$V(\"z\",1),hovertemplate:S_t({},{keys:\"z\"}),texttemplate:M_t({arrayOk:!1,editType:\"plot\"},{keys:\"z\"}),textfont:v8.textfont,showlegend:w4({},A_t.showlegend,{dflt:!1})},E_t(\"\",{cLetter:\"z\",autoColorDflt:!1}))});var QV=ye((Psr,mxe)=>{\"use strict\";var k_t=ba(),gxe=Mr();mxe.exports=function(t,r,n,i){var a=n(\"x\"),o=n(\"y\"),s=gxe.minRowLength(a),l=gxe.minRowLength(o);if(!s||!l){r.visible=!1;return}r._length=Math.min(s,l);var u=k_t.getComponentMethod(\"calendars\",\"handleTraceDefaults\");u(t,r,[\"x\",\"y\"],i);var c=n(\"z\")||n(\"marker.color\");c&&n(\"histfunc\"),n(\"histnorm\"),n(\"autobinx\"),n(\"autobiny\")}});var _xe=ye((Isr,yxe)=>{\"use strict\";var C_t=Mr(),L_t=QV(),P_t=DV(),I_t=Uh(),R_t=y4(),D_t=p8();yxe.exports=function(t,r,n,i){function a(o,s){return C_t.coerce(t,r,D_t,o,s)}L_t(t,r,a,i),r.visible!==!1&&(P_t(t,r,a,i),I_t(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),a(\"hovertemplate\"),R_t(a,i),a(\"xhoverformat\"),a(\"yhoverformat\"))}});var wxe=ye((Rsr,bxe)=>{\"use strict\";var z_t=c8(),xxe=Qa().hoverLabelText;bxe.exports=function(t,r,n,i,a){var o=z_t(t,r,n,i,a);if(o){t=o[0];var s=t.index,l=s[0],u=s[1],c=t.cd[0],f=c.trace,h=c.xRanges[u],d=c.yRanges[l];return t.xLabel=xxe(t.xa,[h[0],h[1]],f.xhoverformat),t.yLabel=xxe(t.ya,[d[0],d[1]],f.yhoverformat),o}}});var Axe=ye((Dsr,Txe)=>{\"use strict\";Txe.exports={attributes:p8(),supplyDefaults:_xe(),crossTraceDefaults:d8(),calc:n8(),plot:s8(),layerName:\"heatmaplayer\",colorbar:M_(),style:l8(),hoverPoints:wxe(),eventData:JV(),moduleType:\"trace\",name:\"histogram2d\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"histogram\",\"showLegend\"],meta:{}}});var Mxe=ye((zsr,Sxe)=>{\"use strict\";Sxe.exports=Axe()});var g8=ye((Fsr,Exe)=>{\"use strict\";Exe.exports={COMPARISON_OPS:[\"=\",\"!=\",\"<\",\">=\",\">\",\"<=\"],COMPARISON_OPS2:[\"=\",\"<\",\">=\",\">\",\"<=\"],INTERVAL_OPS:[\"[]\",\"()\",\"[)\",\"(]\",\"][\",\")(\",\"](\",\")[\"],SET_OPS:[\"{}\",\"}{\"],CONSTRAINT_REDUCTION:{\"=\":\"=\",\"<\":\"<\",\"<=\":\"<\",\">\":\">\",\">=\":\">\",\"[]\":\"[]\",\"()\":\"[]\",\"[)\":\"[]\",\"(]\":\"[]\",\"][\":\"][\",\")(\":\"][\",\"](\":\"][\",\")[\":\"][\"}}});var T4=ye((qsr,Pxe)=>{\"use strict\";var Gh=ET(),m8=Uc(),Cxe=Oc(),eH=Cxe.axisHoverFormat,F_t=Cxe.descriptionOnlyNumbers,q_t=Jl(),O_t=Ed().dash,B_t=Su(),IT=no().extendFlat,Lxe=g8(),N_t=Lxe.COMPARISON_OPS2,U_t=Lxe.INTERVAL_OPS,kxe=m8.line;Pxe.exports=IT({z:Gh.z,x:Gh.x,x0:Gh.x0,dx:Gh.dx,y:Gh.y,y0:Gh.y0,dy:Gh.dy,xperiod:Gh.xperiod,yperiod:Gh.yperiod,xperiod0:m8.xperiod0,yperiod0:m8.yperiod0,xperiodalignment:Gh.xperiodalignment,yperiodalignment:Gh.yperiodalignment,text:Gh.text,hovertext:Gh.hovertext,transpose:Gh.transpose,xtype:Gh.xtype,ytype:Gh.ytype,xhoverformat:eH(\"x\"),yhoverformat:eH(\"y\"),zhoverformat:eH(\"z\",1),hovertemplate:Gh.hovertemplate,texttemplate:IT({},Gh.texttemplate,{}),textfont:IT({},Gh.textfont,{}),hoverongaps:Gh.hoverongaps,connectgaps:IT({},Gh.connectgaps,{}),fillcolor:{valType:\"color\",editType:\"calc\"},autocontour:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"contours.start\":void 0,\"contours.end\":void 0,\"contours.size\":void 0}},ncontours:{valType:\"integer\",dflt:15,min:1,editType:\"calc\"},contours:{type:{valType:\"enumerated\",values:[\"levels\",\"constraint\"],dflt:\"levels\",editType:\"calc\"},start:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},end:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},coloring:{valType:\"enumerated\",values:[\"fill\",\"heatmap\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:{valType:\"boolean\",dflt:!0,editType:\"plot\"},showlabels:{valType:\"boolean\",dflt:!1,editType:\"plot\"},labelfont:B_t({editType:\"plot\",colorEditType:\"style\"}),labelformat:{valType:\"string\",dflt:\"\",editType:\"plot\",description:F_t(\"contour label\")},operation:{valType:\"enumerated\",values:[].concat(N_t).concat(U_t),dflt:\"=\",editType:\"calc\"},value:{valType:\"any\",dflt:0,editType:\"calc\"},editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:IT({},kxe.color,{editType:\"style+colorbars\"}),width:{valType:\"number\",min:0,editType:\"style+colorbars\"},dash:O_t,smoothing:IT({},kxe.smoothing,{}),editType:\"plot\"},zorder:m8.zorder},q_t(\"\",{cLetter:\"z\",autoColorDflt:!1,editTypeOverride:\"calc\"}))});var rH=ye((Osr,Rxe)=>{\"use strict\";var Hv=p8(),qy=T4(),V_t=Jl(),tH=Oc().axisHoverFormat,Ixe=no().extendFlat;Rxe.exports=Ixe({x:Hv.x,y:Hv.y,z:Hv.z,marker:Hv.marker,histnorm:Hv.histnorm,histfunc:Hv.histfunc,nbinsx:Hv.nbinsx,xbins:Hv.xbins,nbinsy:Hv.nbinsy,ybins:Hv.ybins,autobinx:Hv.autobinx,autobiny:Hv.autobiny,bingroup:Hv.bingroup,xbingroup:Hv.xbingroup,ybingroup:Hv.ybingroup,autocontour:qy.autocontour,ncontours:qy.ncontours,contours:qy.contours,line:{color:qy.line.color,width:Ixe({},qy.line.width,{dflt:.5}),dash:qy.line.dash,smoothing:qy.line.smoothing,editType:\"plot\"},xhoverformat:tH(\"x\"),yhoverformat:tH(\"y\"),zhoverformat:tH(\"z\",1),hovertemplate:Hv.hovertemplate,texttemplate:qy.texttemplate,textfont:qy.textfont},V_t(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var y8=ye((Bsr,Dxe)=>{\"use strict\";Dxe.exports=function(t,r,n,i){var a=i(\"contours.start\"),o=i(\"contours.end\"),s=a===!1||o===!1,l=n(\"contours.size\"),u;s?u=r.autocontour=!0:u=n(\"autocontour\",!1),(u||!l)&&n(\"ncontours\")}});var iH=ye((Nsr,zxe)=>{\"use strict\";var H_t=Mr();zxe.exports=function(t,r,n,i){i||(i={});var a=t(\"contours.showlabels\");if(a){var o=r.font;H_t.coerceFont(t,\"contours.labelfont\",o,{overrideDflt:{color:n}}),t(\"contours.labelformat\")}i.hasHover!==!1&&t(\"zhoverformat\")}});var _8=ye((Usr,Fxe)=>{\"use strict\";var G_t=Uh(),j_t=iH();Fxe.exports=function(t,r,n,i,a){var o=n(\"contours.coloring\"),s,l=\"\";o===\"fill\"&&(s=n(\"contours.showlines\")),s!==!1&&(o!==\"lines\"&&(l=n(\"line.color\",\"#000\")),n(\"line.width\",.5),n(\"line.dash\")),o!==\"none\"&&(t.showlegend!==!0&&(r.showlegend=!1),r._dfltShowLegend=!1,G_t(t,r,i,n,{prefix:\"\",cLetter:\"z\"})),n(\"line.smoothing\"),j_t(n,i,l,a)}});var Nxe=ye((Vsr,Bxe)=>{\"use strict\";var qxe=Mr(),W_t=QV(),Z_t=y8(),X_t=_8(),Y_t=y4(),Oxe=rH();Bxe.exports=function(t,r,n,i){function a(s,l){return qxe.coerce(t,r,Oxe,s,l)}function o(s){return qxe.coerce2(t,r,Oxe,s)}W_t(t,r,a,i),r.visible!==!1&&(Z_t(t,r,a,o),X_t(t,r,a,i),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"hovertemplate\"),r.contours&&r.contours.coloring===\"heatmap\"&&Y_t(a,i))}});var oH=ye((Hsr,Vxe)=>{\"use strict\";var aH=Qa(),nH=Mr();Vxe.exports=function(t,r){var n=t.contours;if(t.autocontour){var i=t.zmin,a=t.zmax;(t.zauto||i===void 0)&&(i=nH.aggNums(Math.min,null,r)),(t.zauto||a===void 0)&&(a=nH.aggNums(Math.max,null,r));var o=Uxe(i,a,t.ncontours);n.size=o.dtick,n.start=aH.tickFirst(o),o.range.reverse(),n.end=aH.tickFirst(o),n.start===i&&(n.start+=n.size),n.end===a&&(n.end-=n.size),n.start>n.end&&(n.start=n.end=(n.start+n.end)/2),t._input.contours||(t._input.contours={}),nH.extendFlat(t._input.contours,{start:n.start,end:n.end,size:n.size}),t._input.autocontour=!0}else if(n.type!==\"constraint\"){var s=n.start,l=n.end,u=t._input.contours;if(s>l&&(n.start=u.start=l,l=n.end=u.end=s,s=n.start),!(n.size>0)){var c;s===l?c=1:c=Uxe(s,l,t.ncontours).dtick,u.size=n.size=c}}};function Uxe(e,t,r){var n={type:\"linear\",range:[e,t]};return aH.autoTicks(n,(t-e)/(r||15)),n}});var A4=ye((Gsr,Hxe)=>{\"use strict\";Hxe.exports=function(t){return t.end+t.size/1e6}});var sH=ye((jsr,jxe)=>{\"use strict\";var Gxe=Mu(),K_t=n8(),J_t=oH(),$_t=A4();jxe.exports=function(t,r){var n=K_t(t,r),i=n[0].z;J_t(r,i);var a=r.contours,o=Gxe.extractOpts(r),s;if(a.coloring===\"heatmap\"&&o.auto&&r.autocontour===!1){var l=a.start,u=$_t(a),c=a.size||1,f=Math.floor((u-l)/c)+1;isFinite(c)||(c=1,f=1);var h=l-c/2,d=h+f*c;s=[h,d]}else s=i;return Gxe.calc(t,r,{vals:s,cLetter:\"z\"}),n}});var S4=ye((Wsr,Wxe)=>{\"use strict\";Wxe.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}}});var lH=ye((Zsr,Zxe)=>{\"use strict\";var x8=S4();Zxe.exports=function(t){var r=t[0].z,n=r.length,i=r[0].length,a=n===2||i===2,o,s,l,u,c,f,h,d,v;for(s=0;s<n-1;s++)for(u=[],s===0&&(u=u.concat(x8.BOTTOMSTART)),s===n-2&&(u=u.concat(x8.TOPSTART)),o=0;o<i-1;o++)for(l=u.slice(),o===0&&(l=l.concat(x8.LEFTSTART)),o===i-2&&(l=l.concat(x8.RIGHTSTART)),c=o+\",\"+s,f=[[r[s][o],r[s][o+1]],[r[s+1][o],r[s+1][o+1]]],v=0;v<t.length;v++)d=t[v],h=Q_t(d.level,f),h&&(d.crossings[c]=h,l.indexOf(h)!==-1&&(d.starts.push([o,s]),a&&l.indexOf(h,l.indexOf(h)+1)!==-1&&d.starts.push([o,s])))};function Q_t(e,t){var r=(t[0][0]>e?0:1)+(t[0][1]>e?0:2)+(t[1][1]>e?0:4)+(t[1][0]>e?0:8);if(r===5||r===10){var n=(t[0][0]+t[0][1]+t[1][0]+t[1][1])/4;return e>n?r===5?713:1114:r===5?104:208}return r===15?0:r}});var uH=ye((Xsr,Kxe)=>{\"use strict\";var b8=Mr(),RT=S4();Kxe.exports=function(t,r,n){var i,a,o,s,l;for(r=r||.01,n=n||.01,o=0;o<t.length;o++){for(s=t[o],l=0;l<s.starts.length;l++)a=s.starts[l],Xxe(s,a,\"edge\",r,n);for(i=0;Object.keys(s.crossings).length&&i<1e4;)i++,a=Object.keys(s.crossings)[0].split(\",\").map(Number),Xxe(s,a,void 0,r,n);i===1e4&&b8.log(\"Infinite loop in contour?\")}};function M4(e,t,r,n){return Math.abs(e[0]-t[0])<r&&Math.abs(e[1]-t[1])<n}function ext(e,t){var r=e[2]-t[2],n=e[3]-t[3];return Math.sqrt(r*r+n*n)}function Xxe(e,t,r,n,i){var a=t.join(\",\"),o=e.crossings[a],s=txt(o,r,t),l=[Yxe(e,t,[-s[0],-s[1]])],u=e.z.length,c=e.z[0].length,f=t.slice(),h=s.slice(),d;for(d=0;d<1e4;d++){if(o>20?(o=RT.CHOOSESADDLE[o][(s[0]||s[1])<0?0:1],e.crossings[a]=RT.SADDLEREMAINDER[o]):delete e.crossings[a],s=RT.NEWDELTA[o],!s){b8.log(\"Found bad marching index:\",o,t,e.level);break}l.push(Yxe(e,t,s)),t[0]+=s[0],t[1]+=s[1],a=t.join(\",\"),M4(l[l.length-1],l[l.length-2],n,i)&&l.pop();var v=s[0]&&(t[0]<0||t[0]>c-2)||s[1]&&(t[1]<0||t[1]>u-2),x=t[0]===f[0]&&t[1]===f[1]&&s[0]===h[0]&&s[1]===h[1];if(x||r&&v)break;o=e.crossings[a]}d===1e4&&b8.log(\"Infinite loop in contour?\");var b=M4(l[0],l[l.length-1],n,i),p=0,E=.2*e.smoothing,k=[],A=0,L,_,C,M,g,P,T,F,q,V,H;for(d=1;d<l.length;d++)T=ext(l[d],l[d-1]),p+=T,k.push(T);var X=p/k.length*E;function G(re){return l[re%l.length]}for(d=l.length-2;d>=A;d--)if(L=k[d],L<X){for(C=0,_=d-1;_>=A&&L+k[_]<X;_--)L+=k[_];if(b&&d===l.length-2)for(C=0;C<_&&L+k[C]<X;C++)L+=k[C];g=d-_+C+1,P=Math.floor((d+_+C+2)/2),!b&&d===l.length-2?M=l[l.length-1]:!b&&_===-1?M=l[0]:g%2?M=G(P):M=[(G(P)[0]+G(P+1)[0])/2,(G(P)[1]+G(P+1)[1])/2],l.splice(_+1,d-_+1,M),d=_+1,C&&(A=C),b&&(d===l.length-2?l[C]=l[l.length-1]:d===0&&(l[l.length-1]=l[0]))}for(l.splice(0,A),d=0;d<l.length;d++)l[d].length=2;if(!(l.length<2))if(b)l.pop(),e.paths.push(l);else{r||b8.log(\"Unclosed interior contour?\",e.level,f.join(\",\"),l.join(\"L\"));var N=!1;for(F=0;F<e.edgepaths.length;F++)if(V=e.edgepaths[F],!N&&M4(V[0],l[l.length-1],n,i)){l.pop(),N=!0;var W=!1;for(q=0;q<e.edgepaths.length;q++)if(H=e.edgepaths[q],M4(H[H.length-1],l[0],n,i)){W=!0,l.shift(),e.edgepaths.splice(F,1),q===F?e.paths.push(l.concat(H)):(q>F&&q--,e.edgepaths[q]=H.concat(l,V));break}W||(e.edgepaths[F]=l.concat(V))}for(F=0;F<e.edgepaths.length&&!N;F++)V=e.edgepaths[F],M4(V[V.length-1],l[0],n,i)&&(l.shift(),e.edgepaths[F]=V.concat(l),N=!0);N||e.edgepaths.push(l)}}function txt(e,t,r){var n=0,i=0;return e>20&&t?e===208||e===1114?n=r[0]===0?1:-1:i=r[1]===0?1:-1:RT.BOTTOMSTART.indexOf(e)!==-1?i=1:RT.LEFTSTART.indexOf(e)!==-1?n=1:RT.TOPSTART.indexOf(e)!==-1?i=-1:n=-1,[n,i]}function Yxe(e,t,r){var n=t[0]+Math.max(r[0],0),i=t[1]+Math.max(r[1],0),a=e.z[i][n],o=e.xaxis,s=e.yaxis;if(r[1]){var l=(e.level-a)/(e.z[i][n+1]-a),u=(l!==1?(1-l)*o.c2l(e.x[n]):0)+(l!==0?l*o.c2l(e.x[n+1]):0);return[o.c2p(o.l2c(u),!0),s.c2p(e.y[i],!0),n+l,i]}else{var c=(e.level-a)/(e.z[i+1][n]-a),f=(c!==1?(1-c)*s.c2l(e.y[i]):0)+(c!==0?c*s.c2l(e.y[i+1]):0);return[o.c2p(e.x[n],!0),s.c2p(s.l2c(f),!0),n,i+c]}}});var ebe=ye((Ysr,Qxe)=>{\"use strict\";var cH=g8(),rxt=uo();Qxe.exports={\"[]\":Jxe(\"[]\"),\"][\":Jxe(\"][\"),\">\":fH(\">\"),\"<\":fH(\"<\"),\"=\":fH(\"=\")};function $xe(e,t){var r=Array.isArray(t),n;function i(a){return rxt(a)?+a:null}return cH.COMPARISON_OPS2.indexOf(e)!==-1?n=i(r?t[0]:t):cH.INTERVAL_OPS.indexOf(e)!==-1?n=r?[i(t[0]),i(t[1])]:[i(t),i(t)]:cH.SET_OPS.indexOf(e)!==-1&&(n=r?t.map(i):[i(t)]),n}function Jxe(e){return function(t){t=$xe(e,t);var r=Math.min(t[0],t[1]),n=Math.max(t[0],t[1]);return{start:r,end:n,size:n-r}}}function fH(e){return function(t){return t=$xe(e,t),{start:t,end:1/0,size:1/0}}}});var hH=ye((Ksr,rbe)=>{\"use strict\";var tbe=Mr(),ixt=ebe(),nxt=A4();rbe.exports=function(t,r,n){for(var i=t.type===\"constraint\"?ixt[t._operation](t.value):t,a=i.size,o=[],s=nxt(i),l=n.trace._carpetTrace,u=l?{xaxis:l.aaxis,yaxis:l.baxis,x:n.a,y:n.b}:{xaxis:r.xaxis,yaxis:r.yaxis,x:n.x,y:n.y},c=i.start;c<s;c+=a)if(o.push(tbe.extendFlat({level:c,crossings:{},starts:[],edgepaths:[],paths:[],z:n.z,smoothing:n.trace.line.smoothing},u)),o.length>1e3){tbe.warn(\"Too many contours, clipping at 1000\",t);break}return o}});var dH=ye((Jsr,nbe)=>{\"use strict\";var DT=Mr();nbe.exports=function(e,t){var r,n,i,a=function(l){return l.reverse()},o=function(l){return l};switch(t){case\"=\":case\"<\":return e;case\">\":for(e.length!==1&&DT.warn(\"Contour data invalid for the specified inequality operation.\"),n=e[0],r=0;r<n.edgepaths.length;r++)n.edgepaths[r]=a(n.edgepaths[r]);for(r=0;r<n.paths.length;r++)n.paths[r]=a(n.paths[r]);for(r=0;r<n.starts.length;r++)n.starts[r]=a(n.starts[r]);return e;case\"][\":var s=a;a=o,o=s;case\"[]\":for(e.length!==2&&DT.warn(\"Contour data invalid for the specified inequality range operation.\"),n=ibe(e[0]),i=ibe(e[1]),r=0;r<n.edgepaths.length;r++)n.edgepaths[r]=a(n.edgepaths[r]);for(r=0;r<n.paths.length;r++)n.paths[r]=a(n.paths[r]);for(r=0;r<n.starts.length;r++)n.starts[r]=a(n.starts[r]);for(;i.edgepaths.length;)n.edgepaths.push(o(i.edgepaths.shift()));for(;i.paths.length;)n.paths.push(o(i.paths.shift()));for(;i.starts.length;)n.starts.push(o(i.starts.shift()));return[n]}};function ibe(e){return DT.extendFlat({},e,{edgepaths:DT.extendDeep([],e.edgepaths),paths:DT.extendDeep([],e.paths),starts:DT.extendDeep([],e.starts)})}});var vH=ye(($sr,abe)=>{\"use strict\";abe.exports=function(e,t){var r=e[0],n=r.z,i;switch(t.type){case\"levels\":var a=Math.min(n[0][0],n[0][1]);for(i=0;i<e.length;i++){var o=e[i];o.prefixBoundary=!o.edgepaths.length&&(a>o.level||o.starts.length&&a===o.level)}break;case\"constraint\":if(r.prefixBoundary=!1,r.edgepaths.length)return;var s=r.x.length,l=r.y.length,u=-1/0,c=1/0;for(i=0;i<l;i++)c=Math.min(c,n[i][0]),c=Math.min(c,n[i][s-1]),u=Math.max(u,n[i][0]),u=Math.max(u,n[i][s-1]);for(i=1;i<s-1;i++)c=Math.min(c,n[0][i]),c=Math.min(c,n[l-1][i]),u=Math.max(u,n[0][i]),u=Math.max(u,n[l-1][i]);var f=t.value,h,d;switch(t._operation){case\">\":f>u&&(r.prefixBoundary=!0);break;case\"<\":(f<c||r.starts.length&&f===c)&&(r.prefixBoundary=!0);break;case\"[]\":h=Math.min(f[0],f[1]),d=Math.max(f[0],f[1]),(d<c||h>u||r.starts.length&&d===c)&&(r.prefixBoundary=!0);break;case\"][\":h=Math.min(f[0],f[1]),d=Math.max(f[0],f[1]),h<c&&d>u&&(r.prefixBoundary=!0);break}break}}});var w8=ye(Gv=>{\"use strict\";var k4=xa(),Id=Mr(),Oy=ao(),axt=Mu(),lbe=Pl(),obe=Qa(),sbe=ym(),oxt=s8(),ube=lH(),cbe=uH(),sxt=hH(),lxt=dH(),fbe=vH(),E4=S4(),Rm=E4.LABELOPTIMIZER;Gv.plot=function(t,r,n,i){var a=r.xaxis,o=r.yaxis;Id.makeTraceGroups(i,n,\"contour\").each(function(s){var l=k4.select(this),u=s[0],c=u.trace,f=u.x,h=u.y,d=c.contours,v=sxt(d,r,u),x=Id.ensureSingle(l,\"g\",\"heatmapcoloring\"),b=[];d.coloring===\"heatmap\"&&(b=[s]),oxt(t,r,b,x),ube(v),cbe(v);var p=a.c2p(f[0],!0),E=a.c2p(f[f.length-1],!0),k=o.c2p(h[0],!0),A=o.c2p(h[h.length-1],!0),L=[[p,A],[E,A],[E,k],[p,k]],_=v;d.type===\"constraint\"&&(_=lxt(v,d._operation)),uxt(l,L,d),cxt(l,_,L,d),fxt(l,v,t,u,d),dxt(l,r,t,u,L)})};function uxt(e,t,r){var n=Id.ensureSingle(e,\"g\",\"contourbg\"),i=n.selectAll(\"path\").data(r.coloring===\"fill\"?[0]:[]);i.enter().append(\"path\"),i.exit().remove(),i.attr(\"d\",\"M\"+t.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}function cxt(e,t,r,n){var i=n.coloring===\"fill\"||n.type===\"constraint\"&&n._operation!==\"=\",a=\"M\"+r.join(\"L\")+\"Z\";i&&fbe(t,n);var o=Id.ensureSingle(e,\"g\",\"contourfill\"),s=o.selectAll(\"path\").data(i?t:[]);s.enter().append(\"path\"),s.exit().remove(),s.each(function(l){var u=(l.prefixBoundary?a:\"\")+hbe(l,r);u?k4.select(this).attr(\"d\",u).style(\"stroke\",\"none\"):k4.select(this).remove()})}function hbe(e,t){var r=\"\",n=0,i=e.edgepaths.map(function(p,E){return E}),a=!0,o,s,l,u,c,f;function h(p){return Math.abs(p[1]-t[0][1])<.01}function d(p){return Math.abs(p[1]-t[2][1])<.01}function v(p){return Math.abs(p[0]-t[0][0])<.01}function x(p){return Math.abs(p[0]-t[2][0])<.01}for(;i.length;){for(f=Oy.smoothopen(e.edgepaths[n],e.smoothing),r+=a?f:f.replace(/^M/,\"L\"),i.splice(i.indexOf(n),1),o=e.edgepaths[n][e.edgepaths[n].length-1],u=-1,l=0;l<4;l++){if(!o){Id.log(\"Missing end?\",n,e);break}for(h(o)&&!x(o)?s=t[1]:v(o)?s=t[0]:d(o)?s=t[3]:x(o)&&(s=t[2]),c=0;c<e.edgepaths.length;c++){var b=e.edgepaths[c][0];Math.abs(o[0]-s[0])<.01?Math.abs(o[0]-b[0])<.01&&(b[1]-o[1])*(s[1]-b[1])>=0&&(s=b,u=c):Math.abs(o[1]-s[1])<.01?Math.abs(o[1]-b[1])<.01&&(b[0]-o[0])*(s[0]-b[0])>=0&&(s=b,u=c):Id.log(\"endpt to newendpt is not vert. or horz.\",o,s,b)}if(o=s,u>=0)break;r+=\"L\"+s}if(u===e.edgepaths.length){Id.log(\"unclosed perimeter path\");break}n=u,a=i.indexOf(n)===-1,a&&(n=i[0],r+=\"Z\")}for(n=0;n<e.paths.length;n++)r+=Oy.smoothclosed(e.paths[n],e.smoothing);return r}function fxt(e,t,r,n,i){var a=r._context.staticPlot,o=Id.ensureSingle(e,\"g\",\"contourlines\"),s=i.showlines!==!1,l=i.showlabels,u=s&&l,c=Gv.createLines(o,s||l,t,a),f=Gv.createLineClip(o,u,r,n.trace.uid),h=e.selectAll(\"g.contourlabels\").data(l?[0]:[]);if(h.exit().remove(),h.enter().append(\"g\").classed(\"contourlabels\",!0),l){var d=[],v=[];Id.clearLocationCache();var x=Gv.labelFormatter(r,n),b=Oy.tester.append(\"text\").attr(\"data-notex\",1).call(Oy.font,i.labelfont),p=t[0].xaxis,E=t[0].yaxis,k=p._length,A=E._length,L=p.range,_=E.range,C=Id.aggNums(Math.min,null,n.x),M=Id.aggNums(Math.max,null,n.x),g=Id.aggNums(Math.min,null,n.y),P=Id.aggNums(Math.max,null,n.y),T=Math.max(p.c2p(C,!0),0),F=Math.min(p.c2p(M,!0),k),q=Math.max(E.c2p(P,!0),0),V=Math.min(E.c2p(g,!0),A),H={};L[0]<L[1]?(H.left=T,H.right=F):(H.left=F,H.right=T),_[0]<_[1]?(H.top=q,H.bottom=V):(H.top=V,H.bottom=q),H.middle=(H.top+H.bottom)/2,H.center=(H.left+H.right)/2,d.push([[H.left,H.top],[H.right,H.top],[H.right,H.bottom],[H.left,H.bottom]]);var X=Math.sqrt(k*k+A*A),G=E4.LABELDISTANCE*X/Math.max(1,t.length/E4.LABELINCREASE);c.each(function(N){var W=Gv.calcTextOpts(N.level,x,b,r);k4.select(this).selectAll(\"path\").each(function(){var re=this,ae=Id.getVisibleSegment(re,H,W.height/2);if(ae&&!(ae.len<(W.width+W.height)*E4.LABELMIN))for(var _e=Math.min(Math.ceil(ae.len/G),E4.LABELMAX),Me=0;Me<_e;Me++){var ke=Gv.findBestTextLocation(re,ae,W,v,H);if(!ke)break;Gv.addLabelData(ke,W,v,d)}})}),b.remove(),Gv.drawLabels(h,v,r,f,u?d:null)}l&&!s&&c.remove()}Gv.createLines=function(e,t,r,n){var i=r[0].smoothing,a=e.selectAll(\"g.contourlevel\").data(t?r:[]);if(a.exit().remove(),a.enter().append(\"g\").classed(\"contourlevel\",!0),t){var o=a.selectAll(\"path.openline\").data(function(l){return l.pedgepaths||l.edgepaths});o.exit().remove(),o.enter().append(\"path\").classed(\"openline\",!0),o.attr(\"d\",function(l){return Oy.smoothopen(l,i)}).style(\"stroke-miterlimit\",1).style(\"vector-effect\",n?\"none\":\"non-scaling-stroke\");var s=a.selectAll(\"path.closedline\").data(function(l){return l.ppaths||l.paths});s.exit().remove(),s.enter().append(\"path\").classed(\"closedline\",!0),s.attr(\"d\",function(l){return Oy.smoothclosed(l,i)}).style(\"stroke-miterlimit\",1).style(\"vector-effect\",n?\"none\":\"non-scaling-stroke\")}return a};Gv.createLineClip=function(e,t,r,n){var i=r._fullLayout._clips,a=t?\"clipline\"+n:null,o=i.selectAll(\"#\"+a).data(t?[0]:[]);return o.exit().remove(),o.enter().append(\"clipPath\").classed(\"contourlineclip\",!0).attr(\"id\",a),Oy.setClipUrl(e,a,r),o};Gv.labelFormatter=function(e,t){var r=e._fullLayout,n=t.trace,i=n.contours,a={type:\"linear\",_id:\"ycontour\",showexponent:\"all\",exponentformat:\"B\"};if(i.labelformat)a.tickformat=i.labelformat,sbe(a,r);else{var o=axt.extractOpts(n);if(o&&o.colorbar&&o.colorbar._axis)a=o.colorbar._axis;else{if(i.type===\"constraint\"){var s=i.value;Id.isArrayOrTypedArray(s)?a.range=[s[0],s[s.length-1]]:a.range=[s,s]}else a.range=[i.start,i.end],a.nticks=(i.end-i.start)/i.size;a.range[0]===a.range[1]&&(a.range[1]+=a.range[0]||1),a.nticks||(a.nticks=1e3),sbe(a,r),obe.prepTicks(a),a._tmin=null,a._tmax=null}}return function(l){return obe.tickText(a,l).text}};Gv.calcTextOpts=function(e,t,r,n){var i=t(e);r.text(i).call(lbe.convertToTspans,n);var a=r.node(),o=Oy.bBox(a,!0);return{text:i,width:o.width,height:o.height,fontSize:+a.style[\"font-size\"].replace(\"px\",\"\"),level:e,dy:(o.top+o.bottom)/2}};Gv.findBestTextLocation=function(e,t,r,n,i){var a=r.width,o,s,l,u,c;t.isClosed?(s=t.len/Rm.INITIALSEARCHPOINTS,o=t.min+s/2,l=t.max):(s=(t.len-a)/(Rm.INITIALSEARCHPOINTS+1),o=t.min+s+a/2,l=t.max-(s+a)/2);for(var f=1/0,h=0;h<Rm.ITERATIONS;h++){for(var d=o;d<l;d+=s){var v=Id.getTextLocation(e,t.total,d,a),x=hxt(v,r,n,i);x<f&&(f=x,c=v,u=d)}if(f>Rm.MAXCOST*2)break;h&&(s/=2),o=u-s/2,l=o+s*1.5}if(f<=Rm.MAXCOST)return c};function hxt(e,t,r,n){var i=t.width/2,a=t.height/2,o=e.x,s=e.y,l=e.theta,u=Math.cos(l)*i,c=Math.sin(l)*i,f=(o>n.center?n.right-o:o-n.left)/(u+Math.abs(Math.sin(l)*a)),h=(s>n.middle?n.bottom-s:s-n.top)/(Math.abs(c)+Math.cos(l)*a);if(f<1||h<1)return 1/0;var d=Rm.EDGECOST*(1/(f-1)+1/(h-1));d+=Rm.ANGLECOST*l*l;for(var v=o-u,x=s-c,b=o+u,p=s+c,E=0;E<r.length;E++){var k=r[E],A=Math.cos(k.theta)*k.width/2,L=Math.sin(k.theta)*k.width/2,_=Id.segmentDistance(v,x,b,p,k.x-A,k.y-L,k.x+A,k.y+L)*2/(t.height+k.height),C=k.level===t.level,M=C?Rm.SAMELEVELDISTANCE:1;if(_<=M)return 1/0;var g=Rm.NEIGHBORCOST*(C?Rm.SAMELEVELFACTOR:1);d+=g/(_-M)}return d}Gv.addLabelData=function(e,t,r,n){var i=t.fontSize,a=t.width+i/3,o=Math.max(0,t.height-i/3),s=e.x,l=e.y,u=e.theta,c=Math.sin(u),f=Math.cos(u),h=function(v,x){return[s+v*f-x*c,l+v*c+x*f]},d=[h(-a/2,-o/2),h(-a/2,o/2),h(a/2,o/2),h(a/2,-o/2)];r.push({text:t.text,x:s,y:l,dy:t.dy,theta:u,level:t.level,width:a,height:o}),n.push(d)};Gv.drawLabels=function(e,t,r,n,i){var a=e.selectAll(\"text\").data(t,function(u){return u.text+\",\"+u.x+\",\"+u.y+\",\"+u.theta});if(a.exit().remove(),a.enter().append(\"text\").attr({\"data-notex\":1,\"text-anchor\":\"middle\"}).each(function(u){var c=u.x+Math.sin(u.theta)*u.dy,f=u.y-Math.cos(u.theta)*u.dy;k4.select(this).text(u.text).attr({x:c,y:f,transform:\"rotate(\"+180*u.theta/Math.PI+\" \"+c+\" \"+f+\")\"}).call(lbe.convertToTspans,r)}),i){for(var o=\"\",s=0;s<i.length;s++)o+=\"M\"+i[s].join(\"L\")+\"Z\";var l=Id.ensureSingle(n,\"path\",\"\");l.attr(\"d\",o)}};function dxt(e,t,r,n,i){var a=n.trace,o=r._fullLayout._clips,s=\"clip\"+a.uid,l=o.selectAll(\"#\"+s).data(a.connectgaps?[]:[0]);if(l.enter().append(\"clipPath\").classed(\"contourclip\",!0).attr(\"id\",s),l.exit().remove(),a.connectgaps===!1){var u={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:t.xaxis,yaxis:t.yaxis,x:n.x,y:n.y,z:vxt(n),smoothing:0};ube([u]),cbe([u]),fbe([u],{type:\"levels\"});var c=Id.ensureSingle(l,\"path\",\"\");c.attr(\"d\",(u.prefixBoundary?\"M\"+i.join(\"L\")+\"Z\":\"\")+hbe(u,i))}else s=null;Oy.setClipUrl(e,s,r)}function vxt(e){var t=e.trace._emptypoints,r=[],n=e.z.length,i=e.z[0].length,a,o=[],s;for(a=0;a<i;a++)o.push(1);for(a=0;a<n;a++)r.push(o.slice());for(a=0;a<t.length;a++)s=t[a],r[s[0]][s[1]]=0;return e.zmask=r,r}});var gH=ye((elr,dbe)=>{\"use strict\";var pxt=xa(),pH=Mu(),gxt=A4();dbe.exports=function(t){var r=t.contours,n=r.start,i=gxt(r),a=r.size||1,o=Math.floor((i-n)/a)+1,s=r.coloring===\"lines\"?0:1,l=pH.extractOpts(t);isFinite(a)||(a=1,o=1);var u=l.reversescale?pH.flipScale(l.colorscale):l.colorscale,c=u.length,f=new Array(c),h=new Array(c),d,v,x=l.min,b=l.max;if(r.coloring===\"heatmap\"){for(v=0;v<c;v++)d=u[v],f[v]=d[0]*(b-x)+x,h[v]=d[1];var p=pxt.extent([x,b,r.start,r.start+a*(o-1)]),E=p[x<b?0:1],k=p[x<b?1:0];E!==x&&(f.splice(0,0,E),h.splice(0,0,h[0])),k!==b&&(f.push(k),h.push(h[h.length-1]))}else{var A=t._input&&typeof t._input.zmin==\"number\"&&typeof t._input.zmax==\"number\";for(A&&(n<=x||i>=b)&&(n<=x&&(n=x),i>=b&&(i=b),o=Math.floor((i-n)/a)+1,s=0),v=0;v<c;v++)d=u[v],f[v]=(d[0]*(o+s-1)-s/2)*a+n,h[v]=d[1];(A||t.autocontour)&&(f[0]>x&&(f.unshift(x),h.unshift(h[0])),f[f.length-1]<b&&(f.push(b),h.push(h[h.length-1])))}return pH.makeColorScaleFunc({domain:f,range:h},{noNumericCheck:!0})}});var A8=ye((tlr,pbe)=>{\"use strict\";var T8=xa(),vbe=ao(),mxt=l8(),yxt=gH();pbe.exports=function(t){var r=T8.select(t).selectAll(\"g.contour\");r.style(\"opacity\",function(n){return n[0].trace.opacity}),r.each(function(n){var i=T8.select(this),a=n[0].trace,o=a.contours,s=a.line,l=o.size||1,u=o.start,c=o.type===\"constraint\",f=!c&&o.coloring===\"lines\",h=!c&&o.coloring===\"fill\",d=f||h?yxt(a):null;i.selectAll(\"g.contourlevel\").each(function(b){T8.select(this).selectAll(\"path\").call(vbe.lineGroupStyle,s.width,f?d(b.level):s.color,s.dash)});var v=o.labelfont;if(i.selectAll(\"g.contourlabels text\").each(function(b){vbe.font(T8.select(this),{weight:v.weight,style:v.style,variant:v.variant,textcase:v.textcase,lineposition:v.lineposition,shadow:v.shadow,family:v.family,size:v.size,color:v.color||(f?d(b.level):s.color)})}),c)i.selectAll(\"g.contourfill path\").style(\"fill\",a.fillcolor);else if(h){var x;i.selectAll(\"g.contourfill path\").style(\"fill\",function(b){return x===void 0&&(x=b.level),d(b.level+.5*l)}),x===void 0&&(x=u),i.selectAll(\"g.contourbg path\").style(\"fill\",d(x-.5*l))}}),mxt(t)}});var S8=ye((rlr,mbe)=>{\"use strict\";var gbe=Mu(),_xt=gH(),xxt=A4();function bxt(e,t,r){var n=t.contours,i=t.line,a=n.size||1,o=n.coloring,s=_xt(t,{isColorbar:!0});if(o===\"heatmap\"){var l=gbe.extractOpts(t);r._fillgradient=l.reversescale?gbe.flipScale(l.colorscale):l.colorscale,r._zrange=[l.min,l.max]}else o===\"fill\"&&(r._fillcolor=s);r._line={color:o===\"lines\"?s:i.color,width:n.showlines!==!1?i.width:0,dash:i.dash},r._levels={start:n.start,end:xxt(n),size:a}}mbe.exports={min:\"zmin\",max:\"zmax\",calc:bxt}});var mH=ye((ilr,ybe)=>{\"use strict\";var M8=va(),wxt=c8();ybe.exports=function(t,r,n,i,a){a||(a={}),a.isContour=!0;var o=wxt(t,r,n,i,a);return o&&o.forEach(function(s){var l=s.trace;l.contours.type===\"constraint\"&&(l.fillcolor&&M8.opacity(l.fillcolor)?s.color=M8.addOpacity(l.fillcolor,1):l.contours.showlines&&M8.opacity(l.line.color)&&(s.color=M8.addOpacity(l.line.color,1)))}),o}});var xbe=ye((nlr,_be)=>{\"use strict\";_be.exports={attributes:rH(),supplyDefaults:Nxe(),crossTraceDefaults:d8(),calc:sH(),plot:w8().plot,layerName:\"contourlayer\",style:A8(),colorbar:S8(),hoverPoints:mH(),moduleType:\"trace\",name:\"histogram2dcontour\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"histogram\",\"showLegend\"],meta:{}}});var wbe=ye((alr,bbe)=>{\"use strict\";bbe.exports=xbe()});var yH=ye((olr,kbe)=>{\"use strict\";var Tbe=uo(),Txt=iH(),Mbe=va(),Abe=Mbe.addOpacity,Axt=Mbe.opacity,Ebe=g8(),Sbe=Mr().isArrayOrTypedArray,Sxt=Ebe.CONSTRAINT_REDUCTION,Mxt=Ebe.COMPARISON_OPS2;kbe.exports=function(t,r,n,i,a,o){var s=r.contours,l,u,c,f=n(\"contours.operation\");if(s._operation=Sxt[f],Ext(n,s),f===\"=\"?l=s.showlines=!0:(l=n(\"contours.showlines\"),c=n(\"fillcolor\",Abe((t.line||{}).color||a,.5))),l){var h=c&&Axt(c)?Abe(r.fillcolor,1):a;u=n(\"line.color\",h),n(\"line.width\",2),n(\"line.dash\")}n(\"line.smoothing\"),Txt(n,i,u,o)};function Ext(e,t){var r;Mxt.indexOf(t.operation)===-1?(e(\"contours.value\",[0,1]),Sbe(t.value)?t.value.length>2?t.value=t.value.slice(2):t.length===0?t.value=[0,1]:t.length<2?(r=parseFloat(t.value[0]),t.value=[r,r+1]):t.value=[parseFloat(t.value[0]),parseFloat(t.value[1])]:Tbe(t.value)&&(r=parseFloat(t.value),t.value=[r,r+1])):(e(\"contours.value\",0),Tbe(t.value)||(Sbe(t.value)?t.value=parseFloat(t.value[0]):t.value=0))}});var Pbe=ye((slr,Lbe)=>{\"use strict\";var _H=Mr(),kxt=XI(),Cxt=Pg(),Lxt=yH(),Pxt=y8(),Ixt=_8(),Rxt=y4(),Cbe=T4();Lbe.exports=function(t,r,n,i){function a(u,c){return _H.coerce(t,r,Cbe,u,c)}function o(u){return _H.coerce2(t,r,Cbe,u)}var s=kxt(t,r,a,i);if(!s){r.visible=!1;return}Cxt(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"text\"),a(\"hovertext\"),a(\"hoverongaps\"),a(\"hovertemplate\");var l=a(\"contours.type\")===\"constraint\";a(\"connectgaps\",_H.isArray1D(r.z)),l?Lxt(t,r,a,i,n):(Pxt(t,r,a,o),Ixt(t,r,a,i)),r.contours&&r.contours.coloring===\"heatmap\"&&Rxt(a,i),a(\"zorder\")}});var Rbe=ye((llr,Ibe)=>{\"use strict\";Ibe.exports={attributes:T4(),supplyDefaults:Pbe(),calc:sH(),plot:w8().plot,style:A8(),colorbar:S8(),hoverPoints:mH(),moduleType:\"trace\",name:\"contour\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"showLegend\"],meta:{}}});var zbe=ye((ulr,Dbe)=>{\"use strict\";Dbe.exports=Rbe()});var xH=ye((clr,qbe)=>{\"use strict\";var Dxt=Wo().hovertemplateAttrs,zxt=Wo().texttemplateAttrs,Fxt=Eg(),a0=Uc(),qxt=vl(),Fbe=Jl(),Oxt=Ed().dash,E_=no().extendFlat,j0=a0.marker,C4=a0.line,Bxt=j0.line;qbe.exports={a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},c:{valType:\"data_array\",editType:\"calc\"},sum:{valType:\"number\",dflt:0,min:0,editType:\"calc\"},mode:E_({},a0.mode,{dflt:\"markers\"}),text:E_({},a0.text,{}),texttemplate:zxt({editType:\"plot\"},{keys:[\"a\",\"b\",\"c\",\"text\"]}),hovertext:E_({},a0.hovertext,{}),line:{color:C4.color,width:C4.width,dash:Oxt,backoff:C4.backoff,shape:E_({},C4.shape,{values:[\"linear\",\"spline\"]}),smoothing:C4.smoothing,editType:\"calc\"},connectgaps:a0.connectgaps,cliponaxis:a0.cliponaxis,fill:E_({},a0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:Fxt(),marker:E_({symbol:j0.symbol,opacity:j0.opacity,angle:j0.angle,angleref:j0.angleref,standoff:j0.standoff,maxdisplayed:j0.maxdisplayed,size:j0.size,sizeref:j0.sizeref,sizemin:j0.sizemin,sizemode:j0.sizemode,line:E_({width:Bxt.width,editType:\"calc\"},Fbe(\"marker.line\")),gradient:j0.gradient,editType:\"calc\"},Fbe(\"marker\")),textfont:a0.textfont,textposition:a0.textposition,selected:a0.selected,unselected:a0.unselected,hoverinfo:E_({},qxt.hoverinfo,{flags:[\"a\",\"b\",\"c\",\"text\",\"name\"]}),hoveron:a0.hoveron,hovertemplate:Dxt()}});var Ube=ye((flr,Nbe)=>{\"use strict\";var Obe=Mr(),Nxt=Sm(),zT=lu(),Uxt=$p(),Vxt=R0(),Bbe=J3(),Hxt=D0(),Gxt=Ig(),jxt=xH();Nbe.exports=function(t,r,n,i){function a(h,d){return Obe.coerce(t,r,jxt,h,d)}var o=a(\"a\"),s=a(\"b\"),l=a(\"c\"),u;if(o?(u=o.length,s?(u=Math.min(u,s.length),l&&(u=Math.min(u,l.length))):l?u=Math.min(u,l.length):u=0):s&&l&&(u=Math.min(s.length,l.length)),!u){r.visible=!1;return}r._length=u,a(\"sum\"),a(\"text\"),a(\"hovertext\"),r.hoveron!==\"fills\"&&a(\"hovertemplate\");var c=u<Nxt.PTS_LINESONLY?\"lines+markers\":\"lines\";a(\"mode\",c),zT.hasMarkers(r)&&Uxt(t,r,n,i,a,{gradient:!0}),zT.hasLines(r)&&(Vxt(t,r,n,i,a,{backoff:!0}),Bbe(t,r,a),a(\"connectgaps\")),zT.hasText(r)&&(a(\"texttemplate\"),Hxt(t,r,i,a));var f=[];(zT.hasMarkers(r)||zT.hasText(r))&&(a(\"cliponaxis\"),a(\"marker.maxdisplayed\"),f.push(\"points\")),a(\"fill\"),r.fill!==\"none\"&&(Gxt(t,r,n,a),zT.hasLines(r)||Bbe(t,r,a)),(r.fill===\"tonext\"||r.fill===\"toself\")&&f.push(\"fills\"),a(\"hoveron\",f.join(\"+\")||\"points\"),Obe.coerceSelectionMarkerOpacity(r,a)}});var Hbe=ye((hlr,Vbe)=>{\"use strict\";var bH=Qa();Vbe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot;return i.aLabel=bH.tickText(a.aaxis,t.a,!0).text,i.bLabel=bH.tickText(a.baxis,t.b,!0).text,i.cLabel=bH.tickText(a.caxis,t.c,!0).text,i}});var Zbe=ye((dlr,Wbe)=>{\"use strict\";var wH=uo(),Wxt=z0(),Zxt=km(),Xxt=F0(),Yxt=q0().calcMarkerSize,Gbe=[\"a\",\"b\",\"c\"],jbe={a:[\"b\",\"c\"],b:[\"a\",\"c\"],c:[\"a\",\"b\"]};Wbe.exports=function(t,r){var n=t._fullLayout[r.subplot],i=n.sum,a=r.sum||i,o={a:r.a,b:r.b,c:r.c},s=r.ids,l,u,c,f,h,d;for(l=0;l<Gbe.length;l++)if(c=Gbe[l],!o[c]){for(h=o[jbe[c][0]],d=o[jbe[c][1]],f=new Array(h.length),u=0;u<h.length;u++)f[u]=a-h[u]-d[u];o[c]=f}var v=r._length,x=new Array(v),b,p,E,k,A,L;for(l=0;l<v;l++)b=o.a[l],p=o.b[l],E=o.c[l],wH(b)&&wH(p)&&wH(E)?(b=+b,p=+p,E=+E,k=i/(b+p+E),k!==1&&(b*=k,p*=k,E*=k),L=b,A=E-p,x[l]={x:A,y:L,a:b,b:p,c:E},s&&(x[l].id=s[l])):x[l]={x:!1,y:!1};return Yxt(r,v),Wxt(t,r),Zxt(x,r),Xxt(x,r),x}});var Ybe=ye((vlr,Xbe)=>{\"use strict\";var Kxt=iT();Xbe.exports=function(t,r,n){var i=r.plotContainer;i.select(\".scatterlayer\").selectAll(\"*\").remove();for(var a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:r._hasClipOnAxisFalse?r.clipIdRelative:null},l=r.layers.frontplot.select(\"g.scatterlayer\"),u=0;u<n.length;u++){var c=n[u];c.length&&(c[0].trace._xA=a,c[0].trace._yA=o)}Kxt(t,s,n,l)}});var Jbe=ye((plr,Kbe)=>{\"use strict\";var Jxt=sT();Kbe.exports=function(t,r,n,i){var a=Jxt(t,r,n,i);if(!a||a[0].index===!1)return;var o=a[0];if(o.index===void 0){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,c=l-u;return o.x0=Math.max(Math.min(o.x0,c),u),o.x1=Math.max(Math.min(o.x1,c),u),a}var f=o.cd[o.index],h=o.trace,d=o.subplot;o.a=f.a,o.b=f.b,o.c=f.c,o.xLabelVal=void 0,o.yLabelVal=void 0;var v={};v[h.subplot]={_subplot:d};var x=h._module.formatLabels(f,h,v);o.aLabel=x.aLabel,o.bLabel=x.bLabel,o.cLabel=x.cLabel;var b=f.hi||h.hoverinfo,p=[];function E(A,L){p.push(A._hovertitle+\": \"+L)}if(!h.hovertemplate){var k=b.split(\"+\");k.indexOf(\"all\")!==-1&&(k=[\"a\",\"b\",\"c\"]),k.indexOf(\"a\")!==-1&&E(d.aaxis,o.aLabel),k.indexOf(\"b\")!==-1&&E(d.baxis,o.bLabel),k.indexOf(\"c\")!==-1&&E(d.caxis,o.cLabel)}return o.extraText=p.join(\"<br>\"),o.hovertemplate=h.hovertemplate,a}});var Qbe=ye((glr,$be)=>{\"use strict\";$be.exports=function(t,r,n,i,a){if(r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),i[a]){var o=i[a];t.a=o.a,t.b=o.b,t.c=o.c}else t.a=r.a,t.b=r.b,t.c=r.c;return t}});var c2e=ye((mlr,u2e)=>{\"use strict\";var a2e=xa(),$xt=id(),TH=ba(),By=Mr(),Dm=By.strTranslate,E8=By._,qT=va(),k8=ao(),L4=ym(),AH=no().extendFlat,Qxt=Xu(),k_=Qa(),e2e=gv(),t2e=Nc(),o2e=Sg(),r2e=o2e.freeMode,ebt=o2e.rectMode,SH=Mb(),tbt=wf().prepSelect,rbt=wf().selectOnClick,ibt=wf().clearOutline,nbt=wf().clearSelectionsCache,s2e=ad();function l2e(e,t){this.id=e.id,this.graphDiv=e.graphDiv,this.init(t),this.makeFramework(t),this.updateFx(t),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}u2e.exports=l2e;var zm=l2e.prototype;zm.init=function(e){this.container=e._ternarylayer,this.defs=e._defs,this.layoutId=e._uid,this.traceHash={},this.layers={}};zm.plot=function(e,t){var r=this,n=t[r.id],i=t._size;r._hasClipOnAxisFalse=!1;for(var a=0;a<e.length;a++){var o=e[a][0].trace;if(o.cliponaxis===!1){r._hasClipOnAxisFalse=!0;break}}r.updateLayers(n),r.adjustLayout(n,i),Qxt.generalUpdatePerTraceModule(r.graphDiv,r,e,n),r.layers.plotbg.select(\"path\").call(qT.fill,n.bgcolor)};zm.makeFramework=function(e){var t=this,r=t.graphDiv,n=e[t.id],i=t.clipId=\"clip\"+t.layoutId+t.id,a=t.clipIdRelative=\"clip-relative\"+t.layoutId+t.id;t.clipDef=By.ensureSingleById(e._clips,\"clipPath\",i,function(o){o.append(\"path\").attr(\"d\",\"M0,0Z\")}),t.clipDefRelative=By.ensureSingleById(e._clips,\"clipPath\",a,function(o){o.append(\"path\").attr(\"d\",\"M0,0Z\")}),t.plotContainer=By.ensureSingle(t.container,\"g\",t.id),t.updateLayers(n),k8.setClipUrl(t.layers.backplot,i,r),k8.setClipUrl(t.layers.grids,i,r)};zm.updateFx=function(e){e._ternarylayer.selectAll(\"g.toplevel\").style(\"cursor\",e.dragmode===\"pan\"?\"move\":\"crosshair\")};zm.updateLayers=function(e){var t=this,r=t.layers,n=[\"draglayer\",\"plotbg\",\"backplot\",\"grids\"];e.aaxis.layer===\"below traces\"&&n.push(\"aaxis\",\"aline\"),e.baxis.layer===\"below traces\"&&n.push(\"baxis\",\"bline\"),e.caxis.layer===\"below traces\"&&n.push(\"caxis\",\"cline\"),n.push(\"frontplot\"),e.aaxis.layer===\"above traces\"&&n.push(\"aaxis\",\"aline\"),e.baxis.layer===\"above traces\"&&n.push(\"baxis\",\"bline\"),e.caxis.layer===\"above traces\"&&n.push(\"caxis\",\"cline\");var i=t.plotContainer.selectAll(\"g.toplevel\").data(n,String),a=[\"agrid\",\"bgrid\",\"cgrid\"];i.enter().append(\"g\").attr(\"class\",function(o){return\"toplevel \"+o}).each(function(o){var s=a2e.select(this);r[o]=s,o===\"frontplot\"?s.append(\"g\").classed(\"scatterlayer\",!0):o===\"backplot\"?s.append(\"g\").classed(\"maplayer\",!0):o===\"plotbg\"?s.append(\"path\").attr(\"d\",\"M0,0Z\"):o===\"aline\"||o===\"bline\"||o===\"cline\"?s.append(\"path\"):o===\"grids\"&&a.forEach(function(l){r[l]=s.append(\"g\").classed(\"grid \"+l,!0)})}),i.order()};var FT=Math.sqrt(4/3);zm.adjustLayout=function(e,t){var r=this,n=e.domain,i=(n.x[0]+n.x[1])/2,a=(n.y[0]+n.y[1])/2,o=n.x[1]-n.x[0],s=n.y[1]-n.y[0],l=o*t.w,u=s*t.h,c=e.sum,f=e.aaxis.min,h=e.baxis.min,d=e.caxis.min,v,x,b,p,E,k;l>FT*u?(p=u,b=p*FT):(b=l,p=b/FT),E=o*b/l,k=s*p/u,v=t.l+t.w*i-b/2,x=t.t+t.h*(1-a)-p/2,r.x0=v,r.y0=x,r.w=b,r.h=p,r.sum=c,r.xaxis={type:\"linear\",range:[f+2*d-c,c-f-2*h],domain:[i-E/2,i+E/2],_id:\"x\"},L4(r.xaxis,r.graphDiv._fullLayout),r.xaxis.setScale(),r.xaxis.isPtWithinRange=function(V){return V.a>=r.aaxis.range[0]&&V.a<=r.aaxis.range[1]&&V.b>=r.baxis.range[1]&&V.b<=r.baxis.range[0]&&V.c>=r.caxis.range[1]&&V.c<=r.caxis.range[0]},r.yaxis={type:\"linear\",range:[f,c-h-d],domain:[a-k/2,a+k/2],_id:\"y\"},L4(r.yaxis,r.graphDiv._fullLayout),r.yaxis.setScale(),r.yaxis.isPtWithinRange=function(){return!0};var A=r.yaxis.domain[0],L=r.aaxis=AH({},e.aaxis,{range:[f,c-h-d],side:\"left\",tickangle:(+e.aaxis.tickangle||0)-30,domain:[A,A+k*FT],anchor:\"free\",position:0,_id:\"y\",_length:b});L4(L,r.graphDiv._fullLayout),L.setScale();var _=r.baxis=AH({},e.baxis,{range:[c-f-d,h],side:\"bottom\",domain:r.xaxis.domain,anchor:\"free\",position:0,_id:\"x\",_length:b});L4(_,r.graphDiv._fullLayout),_.setScale();var C=r.caxis=AH({},e.caxis,{range:[c-f-h,d],side:\"right\",tickangle:(+e.caxis.tickangle||0)+30,domain:[A,A+k*FT],anchor:\"free\",position:0,_id:\"y\",_length:b});L4(C,r.graphDiv._fullLayout),C.setScale();var M=\"M\"+v+\",\"+(x+p)+\"h\"+b+\"l-\"+b/2+\",-\"+p+\"Z\";r.clipDef.select(\"path\").attr(\"d\",M),r.layers.plotbg.select(\"path\").attr(\"d\",M);var g=\"M0,\"+p+\"h\"+b+\"l-\"+b/2+\",-\"+p+\"Z\";r.clipDefRelative.select(\"path\").attr(\"d\",g);var P=Dm(v,x);r.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",P),r.clipDefRelative.select(\"path\").attr(\"transform\",null);var T=Dm(v-_._offset,x+p);r.layers.baxis.attr(\"transform\",T),r.layers.bgrid.attr(\"transform\",T);var F=Dm(v+b/2,x)+\"rotate(30)\"+Dm(0,-L._offset);r.layers.aaxis.attr(\"transform\",F),r.layers.agrid.attr(\"transform\",F);var q=Dm(v+b/2,x)+\"rotate(-30)\"+Dm(0,-C._offset);r.layers.caxis.attr(\"transform\",q),r.layers.cgrid.attr(\"transform\",q),r.drawAxes(!0),r.layers.aline.select(\"path\").attr(\"d\",L.showline?\"M\"+v+\",\"+(x+p)+\"l\"+b/2+\",-\"+p:\"M0,0\").call(qT.stroke,L.linecolor||\"#000\").style(\"stroke-width\",(L.linewidth||0)+\"px\"),r.layers.bline.select(\"path\").attr(\"d\",_.showline?\"M\"+v+\",\"+(x+p)+\"h\"+b:\"M0,0\").call(qT.stroke,_.linecolor||\"#000\").style(\"stroke-width\",(_.linewidth||0)+\"px\"),r.layers.cline.select(\"path\").attr(\"d\",C.showline?\"M\"+(v+b/2)+\",\"+x+\"l\"+b/2+\",\"+p:\"M0,0\").call(qT.stroke,C.linecolor||\"#000\").style(\"stroke-width\",(C.linewidth||0)+\"px\"),r.graphDiv._context.staticPlot||r.initInteractions(),k8.setClipUrl(r.layers.frontplot,r._hasClipOnAxisFalse?null:r.clipId,r.graphDiv)};zm.drawAxes=function(e){var t=this,r=t.graphDiv,n=t.id.substr(7)+\"title\",i=t.layers,a=t.aaxis,o=t.baxis,s=t.caxis;if(t.drawAx(a),t.drawAx(o),t.drawAx(s),e){var l=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?s.tickfont.size*.75:0)+(s.ticks===\"outside\"?s.ticklen*.87:0)),u=(o.showticklabels?o.tickfont.size:0)+(o.ticks===\"outside\"?o.ticklen:0)+3;i[\"a-title\"]=SH.draw(r,\"a\"+n,{propContainer:a,propName:t.id+\".aaxis.title\",placeholder:E8(r,\"Click to enter Component A title\"),attributes:{x:t.x0+t.w/2,y:t.y0-a.title.font.size/3-l,\"text-anchor\":\"middle\"}}),i[\"b-title\"]=SH.draw(r,\"b\"+n,{propContainer:o,propName:t.id+\".baxis.title\",placeholder:E8(r,\"Click to enter Component B title\"),attributes:{x:t.x0-u,y:t.y0+t.h+o.title.font.size*.83+u,\"text-anchor\":\"middle\"}}),i[\"c-title\"]=SH.draw(r,\"c\"+n,{propContainer:s,propName:t.id+\".caxis.title\",placeholder:E8(r,\"Click to enter Component C title\"),attributes:{x:t.x0+t.w+u,y:t.y0+t.h+s.title.font.size*.83+u,\"text-anchor\":\"middle\"}})}};zm.drawAx=function(e){var t=this,r=t.graphDiv,n=e._name,i=n.charAt(0),a=e._id,o=t.layers[n],s=30,l=i+\"tickLayout\",u=abt(e);t[l]!==u&&(o.selectAll(\".\"+a+\"tick\").remove(),t[l]=u),e.setScale();var c=k_.calcTicks(e),f=k_.clipEnds(e,c),h=k_.makeTransTickFn(e),d=k_.getTickSigns(e)[2],v=By.deg2rad(s),x=d*(e.linewidth||1)/2,b=d*e.ticklen,p=t.w,E=t.h,k=i===\"b\"?\"M0,\"+x+\"l\"+Math.sin(v)*b+\",\"+Math.cos(v)*b:\"M\"+x+\",0l\"+Math.cos(v)*b+\",\"+-Math.sin(v)*b,A={a:\"M0,0l\"+E+\",-\"+p/2,b:\"M0,0l-\"+p/2+\",-\"+E,c:\"M0,0l-\"+E+\",\"+p/2}[i];k_.drawTicks(r,e,{vals:e.ticks===\"inside\"?f:c,layer:o,path:k,transFn:h,crisp:!1}),k_.drawGrid(r,e,{vals:f,layer:t.layers[i+\"grid\"],path:A,transFn:h,crisp:!1}),k_.drawLabels(r,e,{vals:c,layer:o,transFn:h,labelFns:k_.makeLabelFns(e,0,s)})};function abt(e){return e.ticks+String(e.ticklen)+String(e.showticklabels)}var fd=s2e.MINZOOM/2+.87,obt=\"m-0.87,.5h\"+fd+\"v3h-\"+(fd+5.2)+\"l\"+(fd/2+2.6)+\",-\"+(fd*.87+4.5)+\"l2.6,1.5l-\"+fd/2+\",\"+fd*.87+\"Z\",sbt=\"m0.87,.5h-\"+fd+\"v3h\"+(fd+5.2)+\"l-\"+(fd/2+2.6)+\",-\"+(fd*.87+4.5)+\"l-2.6,1.5l\"+fd/2+\",\"+fd*.87+\"Z\",lbt=\"m0,1l\"+fd/2+\",\"+fd*.87+\"l2.6,-1.5l-\"+(fd/2+2.6)+\",-\"+(fd*.87+4.5)+\"l-\"+(fd/2+2.6)+\",\"+(fd*.87+4.5)+\"l2.6,1.5l\"+fd/2+\",-\"+fd*.87+\"Z\",ubt=\"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z\",i2e=!0;zm.clearOutline=function(){nbt(this.dragOptions),ibt(this.dragOptions.gd)};zm.initInteractions=function(){var e=this,t=e.layers.plotbg.select(\"path\").node(),r=e.graphDiv,n=r._fullLayout._zoomlayer,i,a;this.dragOptions={element:t,gd:r,plotinfo:{id:e.id,domain:r._fullLayout[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis},subplot:e.id,prepFn:function(T,F,q){e.dragOptions.xaxes=[e.xaxis],e.dragOptions.yaxes=[e.yaxis],i=r._fullLayout._invScaleX,a=r._fullLayout._invScaleY;var V=e.dragOptions.dragmode=r._fullLayout.dragmode;r2e(V)?e.dragOptions.minDrag=1:e.dragOptions.minDrag=void 0,V===\"zoom\"?(e.dragOptions.moveFn=_,e.dragOptions.clickFn=p,e.dragOptions.doneFn=C,E(T,F,q)):V===\"pan\"?(e.dragOptions.moveFn=g,e.dragOptions.clickFn=p,e.dragOptions.doneFn=P,M(),e.clearOutline(r)):(ebt(V)||r2e(V))&&tbt(T,F,q,e.dragOptions,V)}};var o,s,l,u,c,f,h,d,v,x;function b(T){var F={};return F[e.id+\".aaxis.min\"]=T.a,F[e.id+\".baxis.min\"]=T.b,F[e.id+\".caxis.min\"]=T.c,F}function p(T,F){var q=r._fullLayout.clickmode;n2e(r),T===2&&(r.emit(\"plotly_doubleclick\",null),TH.call(\"_guiRelayout\",r,b({a:0,b:0,c:0}))),q.indexOf(\"select\")>-1&&T===1&&rbt(F,r,[e.xaxis],[e.yaxis],e.id,e.dragOptions),q.indexOf(\"event\")>-1&&t2e.click(r,F,e.id)}function E(T,F,q){var V=t.getBoundingClientRect();o=F-V.left,s=q-V.top,r._fullLayout._calcInverseTransform(r);var H=r._fullLayout._invTransform,X=By.apply3DTransform(H)(o,s);o=X[0],s=X[1],l={a:e.aaxis.range[0],b:e.baxis.range[1],c:e.caxis.range[1]},c=l,u=e.aaxis.range[1]-l.a,f=$xt(e.graphDiv._fullLayout[e.id].bgcolor).getLuminance(),h=\"M0,\"+e.h+\"L\"+e.w/2+\", 0L\"+e.w+\",\"+e.h+\"Z\",d=!1,v=n.append(\"path\").attr(\"class\",\"zoombox\").attr(\"transform\",Dm(e.x0,e.y0)).style({fill:f>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"d\",h),x=n.append(\"path\").attr(\"class\",\"zoombox-corners\").attr(\"transform\",Dm(e.x0,e.y0)).style({fill:qT.background,stroke:qT.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"d\",\"M0,0Z\"),e.clearOutline(r)}function k(T,F){return 1-F/e.h}function A(T,F){return 1-(T+(e.h-F)/Math.sqrt(3))/e.w}function L(T,F){return(T-(e.h-F)/Math.sqrt(3))/e.w}function _(T,F){var q=o+T*i,V=s+F*a,H=Math.max(0,Math.min(1,k(o,s),k(q,V))),X=Math.max(0,Math.min(1,A(o,s),A(q,V))),G=Math.max(0,Math.min(1,L(o,s),L(q,V))),N=(H/2+G)*e.w,W=(1-H/2-X)*e.w,re=(N+W)/2,ae=W-N,_e=(1-H)*e.h,Me=_e-ae/FT;ae<s2e.MINZOOM?(c=l,v.attr(\"d\",h),x.attr(\"d\",\"M0,0Z\")):(c={a:l.a+H*u,b:l.b+X*u,c:l.c+G*u},v.attr(\"d\",h+\"M\"+N+\",\"+_e+\"H\"+W+\"L\"+re+\",\"+Me+\"L\"+N+\",\"+_e+\"Z\"),x.attr(\"d\",\"M\"+o+\",\"+s+ubt+\"M\"+N+\",\"+_e+obt+\"M\"+W+\",\"+_e+sbt+\"M\"+re+\",\"+Me+lbt)),d||(v.transition().style(\"fill\",f>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),x.transition().style(\"opacity\",1).duration(200),d=!0),r.emit(\"plotly_relayouting\",b(c))}function C(){n2e(r),c!==l&&(TH.call(\"_guiRelayout\",r,b(c)),i2e&&r.data&&r._context.showTips&&(By.notifier(E8(r,\"Double-click to zoom back out\"),\"long\"),i2e=!1))}function M(){l={a:e.aaxis.range[0],b:e.baxis.range[1],c:e.caxis.range[1]},c=l}function g(T,F){var q=T/e.xaxis._m,V=F/e.yaxis._m;c={a:l.a-V,b:l.b+(q+V)/2,c:l.c-(q-V)/2};var H=[c.a,c.b,c.c].sort(By.sorterAsc),X={a:H.indexOf(c.a),b:H.indexOf(c.b),c:H.indexOf(c.c)};H[0]<0&&(H[1]+H[0]/2<0?(H[2]+=H[0]+H[1],H[0]=H[1]=0):(H[2]+=H[0]/2,H[1]+=H[0]/2,H[0]=0),c={a:H[X.a],b:H[X.b],c:H[X.c]},F=(l.a-c.a)*e.yaxis._m,T=(l.c-c.c-l.b+c.b)*e.xaxis._m);var G=Dm(e.x0+T,e.y0+F);e.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",G);var N=Dm(-T,-F);e.clipDefRelative.select(\"path\").attr(\"transform\",N),e.aaxis.range=[c.a,e.sum-c.b-c.c],e.baxis.range=[e.sum-c.a-c.c,c.b],e.caxis.range=[e.sum-c.a-c.b,c.c],e.drawAxes(!1),e._hasClipOnAxisFalse&&e.plotContainer.select(\".scatterlayer\").selectAll(\".trace\").call(k8.hideOutsideRangePoints,e),r.emit(\"plotly_relayouting\",b(c))}function P(){TH.call(\"_guiRelayout\",r,b(c))}t.onmousemove=function(T){t2e.hover(r,T,e.id),r._fullLayout._lasthover=t,r._fullLayout._hoversubplot=e.id},t.onmouseout=function(T){r._dragging||e2e.unhover(r,T)},e2e.init(this.dragOptions)};function n2e(e){a2e.select(e).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}});var kH=ye((ylr,f2e)=>{\"use strict\";var cbt=dh(),fbt=Ju().attributes,Ol=Cd(),hbt=Bu().overrideAll,MH=no().extendFlat,EH={title:{text:Ol.title.text,font:Ol.title.font},color:Ol.color,tickmode:Ol.minor.tickmode,nticks:MH({},Ol.nticks,{dflt:6,min:1}),tick0:Ol.tick0,dtick:Ol.dtick,tickvals:Ol.tickvals,ticktext:Ol.ticktext,ticks:Ol.ticks,ticklen:Ol.ticklen,tickwidth:Ol.tickwidth,tickcolor:Ol.tickcolor,ticklabelstep:Ol.ticklabelstep,showticklabels:Ol.showticklabels,labelalias:Ol.labelalias,showtickprefix:Ol.showtickprefix,tickprefix:Ol.tickprefix,showticksuffix:Ol.showticksuffix,ticksuffix:Ol.ticksuffix,showexponent:Ol.showexponent,exponentformat:Ol.exponentformat,minexponent:Ol.minexponent,separatethousands:Ol.separatethousands,tickfont:Ol.tickfont,tickangle:Ol.tickangle,tickformat:Ol.tickformat,tickformatstops:Ol.tickformatstops,hoverformat:Ol.hoverformat,showline:MH({},Ol.showline,{dflt:!0}),linecolor:Ol.linecolor,linewidth:Ol.linewidth,showgrid:MH({},Ol.showgrid,{dflt:!0}),gridcolor:Ol.gridcolor,gridwidth:Ol.gridwidth,griddash:Ol.griddash,layer:Ol.layer,min:{valType:\"number\",dflt:0,min:0}},C8=f2e.exports=hbt({domain:fbt({name:\"ternary\"}),bgcolor:{valType:\"color\",dflt:cbt.background},sum:{valType:\"number\",dflt:1,min:0},aaxis:EH,baxis:EH,caxis:EH},\"plot\",\"from-root\");C8.uirevision={valType:\"any\",editType:\"none\"};C8.aaxis.uirevision=C8.baxis.uirevision=C8.caxis.uirevision={valType:\"any\",editType:\"none\"}});var C_=ye((_lr,h2e)=>{\"use strict\";var dbt=Mr(),vbt=Vs(),pbt=Ju().defaults;h2e.exports=function(t,r,n,i){var a=i.type,o=i.attributes,s=i.handleDefaults,l=i.partition||\"x\",u=r._subplots[a],c=u.length,f=c&&u[0].replace(/\\d+$/,\"\"),h,d;function v(E,k){return dbt.coerce(h,d,o,E,k)}for(var x=0;x<c;x++){var b=u[x];t[b]?h=t[b]:h=t[b]={},d=vbt.newContainer(r,b,f),i.noUirevision||v(\"uirevision\",r.uirevision);var p={};p[l]=[x/c,(x+1)/c],pbt(d,r,v,p),i.id=b,s(h,d,v,i)}}});var g2e=ye((xlr,p2e)=>{\"use strict\";var gbt=va(),mbt=Vs(),L8=Mr(),ybt=C_(),_bt=t_(),xbt=r_(),bbt=T3(),wbt=xb(),Tbt=YM(),v2e=kH(),d2e=[\"aaxis\",\"baxis\",\"caxis\"];p2e.exports=function(t,r,n){ybt(t,r,n,{type:\"ternary\",attributes:v2e,handleDefaults:Abt,font:r.font,paper_bgcolor:r.paper_bgcolor})};function Abt(e,t,r,n){var i=r(\"bgcolor\"),a=r(\"sum\");n.bgColor=gbt.combine(i,n.paper_bgcolor);for(var o,s,l,u=0;u<d2e.length;u++)o=d2e[u],s=e[o]||{},l=mbt.newContainer(t,o),l._name=o,Sbt(s,l,n,t);var c=t.aaxis,f=t.baxis,h=t.caxis;c.min+f.min+h.min>=a&&(c.min=0,f.min=0,h.min=0,e.aaxis&&delete e.aaxis.min,e.baxis&&delete e.baxis.min,e.caxis&&delete e.caxis.min)}function Sbt(e,t,r,n){var i=v2e[t._name];function a(d,v){return L8.coerce(e,t,i,d,v)}a(\"uirevision\",n.uirevision),t.type=\"linear\";var o=a(\"color\"),s=o!==i.color.dflt?o:r.font.color,l=t._name,u=l.charAt(0).toUpperCase(),c=\"Component \"+u,f=a(\"title.text\",c);t._hovertitle=f===c?f:u,L8.coerceFont(a,\"title.font\",r.font,{overrideDflt:{size:L8.bigFont(r.font.size),color:s}}),a(\"min\"),wbt(e,t,a,\"linear\"),xbt(e,t,a,\"linear\"),_bt(e,t,a,\"linear\",{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0}),bbt(e,t,a,{outerTicks:!0});var h=a(\"showticklabels\");h&&(L8.coerceFont(a,\"tickfont\",r.font,{overrideDflt:{color:s}}),a(\"tickangle\"),a(\"tickformat\")),Tbt(e,t,a,{dfltColor:o,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),a(\"hoverformat\"),a(\"layer\")}});var m2e=ye(W0=>{\"use strict\";var Mbt=c2e(),Ebt=kd().getSubplotCalcData,kbt=Mr().counterRegex,OT=\"ternary\";W0.name=OT;var Cbt=W0.attr=\"subplot\";W0.idRoot=OT;W0.idRegex=W0.attrRegex=kbt(OT);var Lbt=W0.attributes={};Lbt[Cbt]={valType:\"subplotid\",dflt:\"ternary\",editType:\"calc\"};W0.layoutAttributes=kH();W0.supplyLayoutDefaults=g2e();W0.plot=function(t){for(var r=t._fullLayout,n=t.calcdata,i=r._subplots[OT],a=0;a<i.length;a++){var o=i[a],s=Ebt(n,OT,o),l=r[o]._subplot;l||(l=new Mbt({id:o,graphDiv:t,container:r._ternarylayer.node()},r),r[o]._subplot=l),l.plot(s,r,t._promises)}};W0.clean=function(e,t,r,n){for(var i=n._subplots[OT]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!t[o]&&s&&(s.plotContainer.remove(),s.clipDef.remove(),s.clipDefRelative.remove(),s.layers[\"a-title\"].remove(),s.layers[\"b-title\"].remove(),s.layers[\"c-title\"].remove())}};W0.updateFx=function(e){var t=e._fullLayout;t._ternarylayer.selectAll(\"g.toplevel\").style(\"cursor\",t.dragmode===\"pan\"?\"move\":\"crosshair\")}});var _2e=ye((wlr,y2e)=>{\"use strict\";y2e.exports={attributes:xH(),supplyDefaults:Ube(),colorbar:Kd(),formatLabels:Hbe(),calc:Zbe(),plot:Ybe(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:Jbe(),selectPoints:lT(),eventData:Qbe(),moduleType:\"trace\",name:\"scatterternary\",basePlotModule:m2e(),categories:[\"ternary\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var b2e=ye((Tlr,x2e)=>{\"use strict\";x2e.exports=_2e()});var CH=ye((Alr,T2e)=>{\"use strict\";var jh=v4(),BT=no().extendFlat,w2e=Oc().axisHoverFormat;T2e.exports={y:jh.y,x:jh.x,x0:jh.x0,y0:jh.y0,xhoverformat:w2e(\"x\"),yhoverformat:w2e(\"y\"),name:BT({},jh.name,{}),orientation:BT({},jh.orientation,{}),bandwidth:{valType:\"number\",min:0,editType:\"calc\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},scalemode:{valType:\"enumerated\",values:[\"width\",\"count\"],dflt:\"width\",editType:\"calc\"},spanmode:{valType:\"enumerated\",values:[\"soft\",\"hard\",\"manual\"],dflt:\"soft\",editType:\"calc\"},span:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}],editType:\"calc\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:jh.fillcolor,points:BT({},jh.boxpoints,{}),jitter:BT({},jh.jitter,{}),pointpos:BT({},jh.pointpos,{}),width:BT({},jh.width,{}),marker:jh.marker,text:jh.text,hovertext:jh.hovertext,hovertemplate:jh.hovertemplate,quartilemethod:jh.quartilemethod,box:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},width:{valType:\"number\",min:0,max:1,dflt:.25,editType:\"plot\"},fillcolor:{valType:\"color\",editType:\"style\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},editType:\"plot\"},meanline:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"plot\"},side:{valType:\"enumerated\",values:[\"both\",\"positive\",\"negative\"],dflt:\"both\",editType:\"calc\"},offsetgroup:jh.offsetgroup,alignmentgroup:jh.alignmentgroup,selected:jh.selected,unselected:jh.unselected,hoveron:{valType:\"flaglist\",flags:[\"violins\",\"points\",\"kde\"],dflt:\"violins+points+kde\",extras:[\"all\"],editType:\"style\"},zorder:jh.zorder}});var IH=ye((Slr,A2e)=>{\"use strict\";var LH=p4(),PH=Mr().extendFlat;A2e.exports={violinmode:PH({},LH.boxmode,{}),violingap:PH({},LH.boxgap,{}),violingroupgap:PH({},LH.boxgroupgap,{})}});var C2e=ye((Mlr,k2e)=>{\"use strict\";var S2e=Mr(),Pbt=va(),M2e=m4(),E2e=CH();k2e.exports=function(t,r,n,i){function a(L,_){return S2e.coerce(t,r,E2e,L,_)}function o(L,_){return S2e.coerce2(t,r,E2e,L,_)}if(M2e.handleSampleDefaults(t,r,a,i),r.visible!==!1){a(\"bandwidth\"),a(\"side\");var s=a(\"width\");s||(a(\"scalegroup\",r.name),a(\"scalemode\"));var l=a(\"span\"),u;Array.isArray(l)&&(u=\"manual\"),a(\"spanmode\",u);var c=a(\"line.color\",(t.marker||{}).color||n),f=a(\"line.width\"),h=a(\"fillcolor\",Pbt.addOpacity(r.line.color,.5));M2e.handlePointsDefaults(t,r,a,{prefix:\"\"});var d=o(\"box.width\"),v=o(\"box.fillcolor\",h),x=o(\"box.line.color\",c),b=o(\"box.line.width\",f),p=a(\"box.visible\",!!(d||v||x||b));p||(r.box={visible:!1});var E=o(\"meanline.color\",c),k=o(\"meanline.width\",f),A=a(\"meanline.visible\",!!(E||k));A||(r.meanline={visible:!1}),a(\"quartilemethod\"),a(\"zorder\")}}});var P2e=ye((Elr,L2e)=>{\"use strict\";var Ibt=Mr(),Rbt=IH(),Dbt=VI();L2e.exports=function(t,r,n){function i(a,o){return Ibt.coerce(t,r,Rbt,a,o)}Dbt._supply(t,r,n,i,\"violin\")}});var P8=ye(o2=>{\"use strict\";var zbt=Mr(),Fbt={gaussian:function(e){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*e*e)}};o2.makeKDE=function(e,t,r){var n=r.length,i=Fbt.gaussian,a=e.bandwidth,o=1/(n*a);return function(s){for(var l=0,u=0;u<n;u++)l+=i((s-r[u])/a);return o*l}};o2.getPositionOnKdePath=function(e,t,r){var n,i;t.orientation===\"h\"?(n=\"y\",i=\"x\"):(n=\"x\",i=\"y\");var a=zbt.findPointOnPath(e.path,r,i,{pathLength:e.pathLength}),o=e.posCenterPx,s=a[n],l=t.side===\"both\"?2*o-s:o;return[s,l]};o2.getKdeValue=function(e,t,r){var n=e.pts.map(o2.extractVal),i=o2.makeKDE(e,t,n);return i(r)/e.posDensityScale};o2.extractVal=function(e){return e.v}});var D2e=ye((Clr,R2e)=>{\"use strict\";var RH=Mr(),DH=Qa(),qbt=MV(),I2e=P8(),Obt=es().BADNUM;R2e.exports=function(t,r){var n=qbt(t,r);if(n[0].t.empty)return n;for(var i=t._fullLayout,a=DH.getFromId(t,r[r.orientation===\"h\"?\"xaxis\":\"yaxis\"]),o=1/0,s=-1/0,l=0,u=0,c=0;c<n.length;c++){var f=n[c],h=f.pts.map(I2e.extractVal),d=f.bandwidth=Nbt(r,f,h),v=f.span=Ubt(r,f,a,d);if(f.min===f.max&&d===0)v=f.span=[f.min,f.max],f.density=[{v:1,t:v[0]}],f.bandwidth=d,l=Math.max(l,1);else{var x=v[1]-v[0],b=Math.ceil(x/(d/3)),p=x/b;if(!isFinite(p)||!isFinite(b))return RH.error(\"Something went wrong with computing the violin span\"),n[0].t.empty=!0,n;var E=I2e.makeKDE(f,r,h);f.density=new Array(b);for(var k=0,A=v[0];A<v[1]+p/2;k++,A+=p){var L=E(A);f.density[k]={v:L,t:A},l=Math.max(l,L)}}u=Math.max(u,h.length),o=Math.min(o,v[0]),s=Math.max(s,v[1])}var _=DH.findExtremes(a,[o,s],{padded:!0});if(r._extremes[a._id]=_,r.width)n[0].t.maxKDE=l;else{var C=i._violinScaleGroupStats,M=r.scalegroup,g=C[M];g?(g.maxKDE=Math.max(g.maxKDE,l),g.maxCount=Math.max(g.maxCount,u)):C[M]={maxKDE:l,maxCount:u}}return n[0].t.labels.kde=RH._(t,\"kde:\"),n};function Bbt(e,t,r){var n=Math.min(t,r/1.349);return 1.059*n*Math.pow(e,-.2)}function Nbt(e,t,r){var n=t.max-t.min;if(!n)return e.bandwidth?e.bandwidth:0;if(e.bandwidth)return Math.max(e.bandwidth,n/1e4);var i=r.length,a=RH.stdev(r,i-1,t.mean);return Math.max(Bbt(i,a,t.q3-t.q1),n/100)}function Ubt(e,t,r,n){var i=e.spanmode,a=e.span||[],o=[t.min,t.max],s=[t.min-2*n,t.max+2*n],l;function u(f){var h=a[f],d=r.type===\"multicategory\"?r.r2c(h):r.d2c(h,0,e[t.valLetter+\"calendar\"]);return d===Obt?s[f]:d}i===\"soft\"?l=s:i===\"hard\"?l=o:l=[u(0),u(1)];var c={type:\"linear\",range:l};return DH.setConvert(c),c.cleanRange(),l}});var q2e=ye((Llr,F2e)=>{\"use strict\";var Vbt=GI().setPositionOffset,z2e=[\"v\",\"h\"];F2e.exports=function(t,r){for(var n=t.calcdata,i=r.xaxis,a=r.yaxis,o=0;o<z2e.length;o++){for(var s=z2e[o],l=s===\"h\"?a:i,u=[],c=0;c<n.length;c++){var f=n[c],h=f[0].t,d=f[0].trace;d.visible===!0&&d.type===\"violin\"&&!h.empty&&d.orientation===s&&d.xaxis===i._id&&d.yaxis===a._id&&u.push(c)}Vbt(\"violin\",t,u,l)}}});var B2e=ye((Plr,O2e)=>{\"use strict\";var zH=xa(),FH=Mr(),Hbt=ao(),qH=jI(),Gbt=fU(),jbt=P8();O2e.exports=function(t,r,n,i){var a=t._context.staticPlot,o=t._fullLayout,s=r.xaxis,l=r.yaxis;function u(c,f){var h=Gbt(c,{xaxis:s,yaxis:l,trace:f,connectGaps:!0,baseTolerance:.75,shape:\"spline\",simplify:!0,linearized:!0});return Hbt.smoothopen(h[0],1)}FH.makeTraceGroups(i,n,\"trace violins\").each(function(c){var f=zH.select(this),h=c[0],d=h.t,v=h.trace;if(v.visible!==!0||d.empty){f.remove();return}var x=d.bPos,b=d.bdPos,p=r[d.valLetter+\"axis\"],E=r[d.posLetter+\"axis\"],k=v.side===\"both\",A=k||v.side===\"positive\",L=k||v.side===\"negative\",_=f.selectAll(\"path.violin\").data(FH.identity);_.enter().append(\"path\").style(\"vector-effect\",a?\"none\":\"non-scaling-stroke\").attr(\"class\",\"violin\"),_.exit().remove(),_.each(function(V){var H=zH.select(this),X=V.density,G=X.length,N=E.c2l(V.pos+x,!0),W=E.l2p(N),re;if(v.width)re=d.maxKDE/b;else{var ae=o._violinScaleGroupStats[v.scalegroup];re=v.scalemode===\"count\"?ae.maxKDE/b*(ae.maxCount/V.pts.length):ae.maxKDE/b}var _e,Me,ke,ge,ie,Te,Ee;if(A){for(Te=new Array(G),ge=0;ge<G;ge++)Ee=Te[ge]={},Ee[d.posLetter]=N+X[ge].v/re,Ee[d.valLetter]=p.c2l(X[ge].t,!0);_e=u(Te,v)}if(L){for(Te=new Array(G),ie=0,ge=G-1;ie<G;ie++,ge--)Ee=Te[ie]={},Ee[d.posLetter]=N-X[ge].v/re,Ee[d.valLetter]=p.c2l(X[ge].t,!0);Me=u(Te,v)}if(k)ke=_e+\"L\"+Me.substr(1)+\"Z\";else{var Ae=[W,p.c2p(X[0].t)],ze=[W,p.c2p(X[G-1].t)];v.orientation===\"h\"&&(Ae.reverse(),ze.reverse()),A?ke=\"M\"+Ae+\"L\"+_e.substr(1)+\"L\"+ze:ke=\"M\"+ze+\"L\"+Me.substr(1)+\"L\"+Ae}H.attr(\"d\",ke),V.posCenterPx=W,V.posDensityScale=re*b,V.path=H.node(),V.pathLength=V.path.getTotalLength()/(k?2:1)});var C=v.box,M=C.width,g=(C.line||{}).width,P,T;k?(P=b*M,T=0):A?(P=[0,b*M/2],T=g*{x:1,y:-1}[d.posLetter]):(P=[b*M/2,0],T=g*{x:-1,y:1}[d.posLetter]),qH.plotBoxAndWhiskers(f,{pos:E,val:p},v,{bPos:x,bdPos:P,bPosPxOffset:T}),qH.plotBoxMean(f,{pos:E,val:p},v,{bPos:x,bdPos:P,bPosPxOffset:T});var F;!v.box.visible&&v.meanline.visible&&(F=FH.identity);var q=f.selectAll(\"path.meanline\").data(F||[]);q.enter().append(\"path\").attr(\"class\",\"meanline\").style(\"fill\",\"none\").style(\"vector-effect\",a?\"none\":\"non-scaling-stroke\"),q.exit().remove(),q.each(function(V){var H=p.c2p(V.mean,!0),X=jbt.getPositionOnKdePath(V,v,H);zH.select(this).attr(\"d\",v.orientation===\"h\"?\"M\"+H+\",\"+X[0]+\"V\"+X[1]:\"M\"+X[0]+\",\"+H+\"H\"+X[1])}),qH.plotPoints(f,{x:s,y:l},v,d)})}});var V2e=ye((Ilr,U2e)=>{\"use strict\";var N2e=xa(),NT=va(),Wbt=op().stylePoints;U2e.exports=function(t){var r=N2e.select(t).selectAll(\"g.trace.violins\");r.style(\"opacity\",function(n){return n[0].trace.opacity}),r.each(function(n){var i=n[0].trace,a=N2e.select(this),o=i.box||{},s=o.line||{},l=i.meanline||{},u=l.width;a.selectAll(\"path.violin\").style(\"stroke-width\",i.line.width+\"px\").call(NT.stroke,i.line.color).call(NT.fill,i.fillcolor),a.selectAll(\"path.box\").style(\"stroke-width\",s.width+\"px\").call(NT.stroke,s.color).call(NT.fill,o.fillcolor);var c={\"stroke-width\":u+\"px\",\"stroke-dasharray\":2*u+\"px,\"+u+\"px\"};a.selectAll(\"path.mean\").style(c).call(NT.stroke,l.color),a.selectAll(\"path.meanline\").style(c).call(NT.stroke,l.color),Wbt(a,i,t)})}});var W2e=ye((Rlr,j2e)=>{\"use strict\";var Zbt=va(),OH=Mr(),Xbt=Qa(),H2e=PV(),G2e=P8();j2e.exports=function(t,r,n,i,a){a||(a={});var o=a.hoverLayer,s=t.cd,l=s[0].trace,u=l.hoveron,c=u.indexOf(\"violins\")!==-1,f=u.indexOf(\"kde\")!==-1,h=[],d,v;if(c||f){var x=H2e.hoverOnBoxes(t,r,n,i);if(f&&x.length>0){var b=t.xa,p=t.ya,E,k,A,L,_;l.orientation===\"h\"?(_=r,E=\"y\",A=p,k=\"x\",L=b):(_=n,E=\"x\",A=b,k=\"y\",L=p);var C=s[t.index];if(_>=C.span[0]&&_<=C.span[1]){var M=OH.extendFlat({},t),g=L.c2p(_,!0),P=G2e.getKdeValue(C,l,_),T=G2e.getPositionOnKdePath(C,l,g),F=A._offset,q=A._length;M[E+\"0\"]=T[0],M[E+\"1\"]=T[1],M[k+\"0\"]=M[k+\"1\"]=g,M[k+\"Label\"]=k+\": \"+Xbt.hoverLabelText(L,_,l[k+\"hoverformat\"])+\", \"+s[0].t.labels.kde+\" \"+P.toFixed(3);for(var V=0,H=0;H<x.length;H++)if(x[H].attr===\"med\"){V=H;break}M.spikeDistance=x[V].spikeDistance;var X=E+\"Spike\";M[X]=x[V][X],x[V].spikeDistance=void 0,x[V][X]=void 0,M.hovertemplate=!1,h.push(M),v={},v[E+\"1\"]=OH.constrain(F+T[0],F,F+q),v[E+\"2\"]=OH.constrain(F+T[1],F,F+q),v[k+\"1\"]=v[k+\"2\"]=L._offset+g}}c&&(h=h.concat(x))}u.indexOf(\"points\")!==-1&&(d=H2e.hoverOnPoints(t,r,n));var G=o.selectAll(\".violinline-\"+l.uid).data(v?[0]:[]);return G.enter().append(\"line\").classed(\"violinline-\"+l.uid,!0).attr(\"stroke-width\",1.5),G.exit().remove(),G.attr(v).call(Zbt.stroke,t.color),i===\"closest\"?d?[d]:h:(d&&h.push(d),h)}});var X2e=ye((Dlr,Z2e)=>{\"use strict\";Z2e.exports={attributes:CH(),layoutAttributes:IH(),supplyDefaults:C2e(),crossTraceDefaults:m4().crossTraceDefaults,supplyLayoutDefaults:P2e(),calc:D2e(),crossTraceCalc:q2e(),plot:B2e(),style:V2e(),styleOnSelect:op().styleOnSelect,hoverPoints:W2e(),selectPoints:IV(),moduleType:\"trace\",name:\"violin\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\",\"violinLayout\",\"zoomScale\"],meta:{}}});var K2e=ye((zlr,Y2e)=>{\"use strict\";Y2e.exports=X2e()});var $2e=ye((Flr,J2e)=>{\"use strict\";J2e.exports={eventDataKeys:[\"percentInitial\",\"percentPrevious\",\"percentTotal\"]}});var NH=ye((qlr,twe)=>{\"use strict\";var lc=Lm(),BH=Uc().line,Ybt=vl(),Q2e=Oc().axisHoverFormat,Kbt=Wo().hovertemplateAttrs,Jbt=Wo().texttemplateAttrs,ewe=$2e(),Ny=no().extendFlat,$bt=va();twe.exports={x:lc.x,x0:lc.x0,dx:lc.dx,y:lc.y,y0:lc.y0,dy:lc.dy,xperiod:lc.xperiod,yperiod:lc.yperiod,xperiod0:lc.xperiod0,yperiod0:lc.yperiod0,xperiodalignment:lc.xperiodalignment,yperiodalignment:lc.yperiodalignment,xhoverformat:Q2e(\"x\"),yhoverformat:Q2e(\"y\"),hovertext:lc.hovertext,hovertemplate:Kbt({},{keys:ewe.eventDataKeys}),hoverinfo:Ny({},Ybt.hoverinfo,{flags:[\"name\",\"x\",\"y\",\"text\",\"percent initial\",\"percent previous\",\"percent total\"]}),textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"percent initial\",\"percent previous\",\"percent total\",\"value\"],extras:[\"none\"],editType:\"plot\",arrayOk:!1},texttemplate:Jbt({editType:\"plot\"},{keys:ewe.eventDataKeys.concat([\"label\",\"value\"])}),text:lc.text,textposition:lc.textposition,insidetextanchor:Ny({},lc.insidetextanchor,{dflt:\"middle\"}),textangle:Ny({},lc.textangle,{dflt:0}),textfont:lc.textfont,insidetextfont:lc.insidetextfont,outsidetextfont:lc.outsidetextfont,constraintext:lc.constraintext,cliponaxis:lc.cliponaxis,orientation:Ny({},lc.orientation,{}),offset:Ny({},lc.offset,{arrayOk:!1}),width:Ny({},lc.width,{arrayOk:!1}),marker:Qbt(),connector:{fillcolor:{valType:\"color\",editType:\"style\"},line:{color:Ny({},BH.color,{dflt:$bt.defaultLine}),width:Ny({},BH.width,{dflt:0,editType:\"plot\"}),dash:BH.dash,editType:\"style\"},visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},offsetgroup:lc.offsetgroup,alignmentgroup:lc.alignmentgroup,zorder:lc.zorder};function Qbt(){var e=Ny({},lc.marker);return delete e.pattern,delete e.cornerradius,e}});var UH=ye((Olr,rwe)=>{\"use strict\";rwe.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\"}}});var HH=ye((Blr,nwe)=>{\"use strict\";var I8=Mr(),e2t=Hb(),t2t=r0().handleText,r2t=K3(),i2t=Pg(),iwe=NH(),VH=va();function n2t(e,t,r,n){function i(f,h){return I8.coerce(e,t,iwe,f,h)}var a=r2t(e,t,n,i);if(!a){t.visible=!1;return}i2t(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\"),i(\"orientation\",t.y&&!t.x?\"v\":\"h\"),i(\"offset\"),i(\"width\");var o=i(\"text\");i(\"hovertext\"),i(\"hovertemplate\");var s=i(\"textposition\");t2t(e,t,n,i,s,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),t.textposition!==\"none\"&&!t.texttemplate&&i(\"textinfo\",I8.isArrayOrTypedArray(o)?\"text+value\":\"value\");var l=i(\"marker.color\",r);i(\"marker.line.color\",VH.defaultLine),i(\"marker.line.width\");var u=i(\"connector.visible\");if(u){i(\"connector.fillcolor\",a2t(l));var c=i(\"connector.line.width\");c&&(i(\"connector.line.color\"),i(\"connector.line.dash\"))}i(\"zorder\")}function a2t(e){var t=I8.isArrayOrTypedArray(e)?\"#000\":e;return VH.addOpacity(t,.5*VH.opacity(t))}function o2t(e,t){var r,n;function i(o){return I8.coerce(n._input,n,iwe,o)}for(var a=0;a<e.length;a++)n=e[a],n.type===\"funnel\"&&(r=n._input,e2t(r,n,t,i,t.funnelmode))}nwe.exports={supplyDefaults:n2t,crossTraceDefaults:o2t}});var owe=ye((Nlr,awe)=>{\"use strict\";var s2t=Mr(),l2t=UH();awe.exports=function(e,t,r){var n=!1;function i(s,l){return s2t.coerce(e,t,l2t,s,l)}for(var a=0;a<r.length;a++){var o=r[a];if(o.visible&&o.type===\"funnel\"){n=!0;break}}n&&(i(\"funnelmode\"),i(\"funnelgap\",.2),i(\"funnelgroupgap\"))}});var lwe=ye((Ulr,swe)=>{\"use strict\";var UT=Mr();swe.exports=function(t,r){for(var n=0;n<t.length;n++)t[n].i=n;UT.mergeArray(r.text,t,\"tx\"),UT.mergeArray(r.hovertext,t,\"htx\");var i=r.marker;if(i){UT.mergeArray(i.opacity,t,\"mo\"),UT.mergeArray(i.color,t,\"mc\");var a=i.line;a&&(UT.mergeArray(a.color,t,\"mlc\"),UT.mergeArrayCastPositive(a.width,t,\"mlw\"))}}});var hwe=ye((Vlr,fwe)=>{\"use strict\";var uwe=Qa(),cwe=Rg(),u2t=lwe(),c2t=F0(),P4=es().BADNUM;fwe.exports=function(t,r){var n=uwe.getFromId(t,r.xaxis||\"x\"),i=uwe.getFromId(t,r.yaxis||\"y\"),a,o,s,l,u,c,f,h;r.orientation===\"h\"?(a=n.makeCalcdata(r,\"x\"),s=i.makeCalcdata(r,\"y\"),l=cwe(r,i,\"y\",s),u=!!r.yperiodalignment,c=\"y\"):(a=i.makeCalcdata(r,\"y\"),s=n.makeCalcdata(r,\"x\"),l=cwe(r,n,\"x\",s),u=!!r.xperiodalignment,c=\"x\"),o=l.vals;var d=Math.min(o.length,a.length),v=new Array(d);for(r._base=[],f=0;f<d;f++){a[f]<0&&(a[f]=P4);var x=!1;a[f]!==P4&&f+1<d&&a[f+1]!==P4&&(x=!0),h=v[f]={p:o[f],s:a[f],cNext:x},r._base[f]=-.5*h.s,u&&(v[f].orig_p=s[f],v[f][c+\"End\"]=l.ends[f],v[f][c+\"Start\"]=l.starts[f]),r.ids&&(h.id=String(r.ids[f])),f===0&&(v[0].vTotal=0),v[0].vTotal+=GH(h.s),h.begR=GH(h.s)/GH(v[0].s)}var b;for(f=0;f<d;f++)h=v[f],h.s!==P4&&(h.sumR=h.s/v[0].vTotal,h.difR=b!==void 0?h.s/b:1,b=h.s);return u2t(v,r),c2t(v,r),v};function GH(e){return e===P4?0:e}});var pwe=ye((Hlr,vwe)=>{\"use strict\";var dwe=Gb().setGroupPositions;vwe.exports=function(t,r){var n=t._fullLayout,i=t._fullData,a=t.calcdata,o=r.xaxis,s=r.yaxis,l=[],u=[],c=[],f,h;for(h=0;h<i.length;h++){var d=i[h],v=d.orientation===\"h\";d.visible===!0&&d.xaxis===o._id&&d.yaxis===s._id&&d.type===\"funnel\"&&(f=a[h],v?c.push(f):u.push(f),l.push(f))}var x={mode:n.funnelmode,norm:n.funnelnorm,gap:n.funnelgap,groupgap:n.funnelgroupgap};for(dwe(t,o,s,u,x),dwe(t,s,o,c,x),h=0;h<l.length;h++){f=l[h];for(var b=0;b<f.length;b++)b+1<f.length&&(f[b].nextP0=f[b+1].p0,f[b].nextS0=f[b+1].s0,f[b].nextP1=f[b+1].p1,f[b].nextS1=f[b+1].s1)}}});var _we=ye((Glr,ywe)=>{\"use strict\";var R8=xa(),P_=Mr(),gwe=ao(),L_=es().BADNUM,f2t=i2(),h2t=_v().clearMinTextSize;ywe.exports=function(t,r,n,i){var a=t._fullLayout;h2t(\"funnel\",a),d2t(t,r,n,i),v2t(t,r,n,i),f2t.plot(t,r,n,i,{mode:a.funnelmode,norm:a.funnelmode,gap:a.funnelgap,groupgap:a.funnelgroupgap})};function d2t(e,t,r,n){var i=t.xaxis,a=t.yaxis;P_.makeTraceGroups(n,r,\"trace bars\").each(function(o){var s=R8.select(this),l=o[0].trace,u=P_.ensureSingle(s,\"g\",\"regions\");if(!l.connector||!l.connector.visible){u.remove();return}var c=l.orientation===\"h\",f=u.selectAll(\"g.region\").data(P_.identity);f.enter().append(\"g\").classed(\"region\",!0),f.exit().remove();var h=f.size();f.each(function(d,v){if(!(v!==h-1&&!d.cNext)){var x=mwe(d,i,a,c),b=x[0],p=x[1],E=\"\";b[0]!==L_&&p[0]!==L_&&b[1]!==L_&&p[1]!==L_&&b[2]!==L_&&p[2]!==L_&&b[3]!==L_&&p[3]!==L_&&(c?E+=\"M\"+b[0]+\",\"+p[1]+\"L\"+b[2]+\",\"+p[2]+\"H\"+b[3]+\"L\"+b[1]+\",\"+p[1]+\"Z\":E+=\"M\"+b[1]+\",\"+p[1]+\"L\"+b[2]+\",\"+p[3]+\"V\"+p[2]+\"L\"+b[1]+\",\"+p[0]+\"Z\"),E===\"\"&&(E=\"M0,0Z\"),P_.ensureSingle(R8.select(this),\"path\").attr(\"d\",E).call(gwe.setClipUrl,t.layerClipId,e)}})})}function v2t(e,t,r,n){var i=t.xaxis,a=t.yaxis;P_.makeTraceGroups(n,r,\"trace bars\").each(function(o){var s=R8.select(this),l=o[0].trace,u=P_.ensureSingle(s,\"g\",\"lines\");if(!l.connector||!l.connector.visible||!l.connector.line.width){u.remove();return}var c=l.orientation===\"h\",f=u.selectAll(\"g.line\").data(P_.identity);f.enter().append(\"g\").classed(\"line\",!0),f.exit().remove();var h=f.size();f.each(function(d,v){if(!(v!==h-1&&!d.cNext)){var x=mwe(d,i,a,c),b=x[0],p=x[1],E=\"\";b[3]!==void 0&&p[3]!==void 0&&(c?(E+=\"M\"+b[0]+\",\"+p[1]+\"L\"+b[2]+\",\"+p[2],E+=\"M\"+b[1]+\",\"+p[1]+\"L\"+b[3]+\",\"+p[2]):(E+=\"M\"+b[1]+\",\"+p[1]+\"L\"+b[2]+\",\"+p[3],E+=\"M\"+b[1]+\",\"+p[0]+\"L\"+b[2]+\",\"+p[2])),E===\"\"&&(E=\"M0,0Z\"),P_.ensureSingle(R8.select(this),\"path\").attr(\"d\",E).call(gwe.setClipUrl,t.layerClipId,e)}})})}function mwe(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),i[2]=o.c2p(e.nextS0,!0),a[2]=s.c2p(e.nextP0,!0),i[3]=o.c2p(e.nextS1,!0),a[3]=s.c2p(e.nextP1,!0),n?[i,a]:[a,i]}});var wwe=ye((jlr,bwe)=>{\"use strict\";var I4=xa(),xwe=ao(),jH=va(),p2t=U1().DESELECTDIM,g2t=N0(),m2t=_v().resizeText,y2t=g2t.styleTextPoints;function _2t(e,t,r){var n=r||I4.select(e).selectAll('g[class^=\"funnellayer\"]').selectAll(\"g.trace\");m2t(e,n,\"funnel\"),n.style(\"opacity\",function(i){return i[0].trace.opacity}),n.each(function(i){var a=I4.select(this),o=i[0].trace;a.selectAll(\".point > path\").each(function(s){if(!s.isBlank){var l=o.marker;I4.select(this).call(jH.fill,s.mc||l.color).call(jH.stroke,s.mlc||l.line.color).call(xwe.dashLine,l.line.dash,s.mlw||l.line.width).style(\"opacity\",o.selectedpoints&&!s.selected?p2t:1)}}),y2t(a,o,e),a.selectAll(\".regions\").each(function(){I4.select(this).selectAll(\"path\").style(\"stroke-width\",0).call(jH.fill,o.connector.fillcolor)}),a.selectAll(\".lines\").each(function(){var s=o.connector.line;xwe.lineGroupStyle(I4.select(this).selectAll(\"path\"),s.width,s.color,s.dash)})})}bwe.exports={style:_2t}});var Swe=ye((Wlr,Awe)=>{\"use strict\";var Twe=va().opacity,x2t=TT().hoverOnBars,WH=Mr().formatPercent;Awe.exports=function(t,r,n,i,a){var o=x2t(t,r,n,i,a);if(o){var s=o.cd,l=s[0].trace,u=l.orientation===\"h\",c=o.index,f=s[c],h=u?\"x\":\"y\";o[h+\"LabelVal\"]=f.s,o.percentInitial=f.begR,o.percentInitialLabel=WH(f.begR,1),o.percentPrevious=f.difR,o.percentPreviousLabel=WH(f.difR,1),o.percentTotal=f.sumR,o.percentTotalLabel=WH(f.sumR,1);var d=f.hi||l.hoverinfo,v=[];if(d&&d!==\"none\"&&d!==\"skip\"){var x=d===\"all\",b=d.split(\"+\"),p=function(E){return x||b.indexOf(E)!==-1};p(\"percent initial\")&&v.push(o.percentInitialLabel+\" of initial\"),p(\"percent previous\")&&v.push(o.percentPreviousLabel+\" of previous\"),p(\"percent total\")&&v.push(o.percentTotalLabel+\" of total\")}return o.extraText=v.join(\"<br>\"),o.color=b2t(l,f),[o]}};function b2t(e,t){var r=e.marker,n=t.mc||r.color,i=t.mlc||r.line.color,a=t.mlw||r.line.width;if(Twe(n))return n;if(Twe(i)&&a)return i}});var Ewe=ye((Zlr,Mwe)=>{\"use strict\";Mwe.exports=function(t,r){return t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,\"percentInitial\"in r&&(t.percentInitial=r.percentInitial),\"percentPrevious\"in r&&(t.percentPrevious=r.percentPrevious),\"percentTotal\"in r&&(t.percentTotal=r.percentTotal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var Cwe=ye((Xlr,kwe)=>{\"use strict\";kwe.exports={attributes:NH(),layoutAttributes:UH(),supplyDefaults:HH().supplyDefaults,crossTraceDefaults:HH().crossTraceDefaults,supplyLayoutDefaults:owe(),calc:hwe(),crossTraceCalc:pwe(),plot:_we(),style:wwe().style,hoverPoints:Swe(),eventData:Ewe(),selectPoints:AT(),moduleType:\"trace\",name:\"funnel\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}});var Pwe=ye((Ylr,Lwe)=>{\"use strict\";Lwe.exports=Cwe()});var Rwe=ye((Klr,Iwe)=>{\"use strict\";Iwe.exports={eventDataKeys:[\"initial\",\"delta\",\"final\"]}});var YH=ye((Jlr,Fwe)=>{\"use strict\";var Uu=Lm(),ZH=Uc().line,w2t=vl(),Dwe=Oc().axisHoverFormat,T2t=Wo().hovertemplateAttrs,A2t=Wo().texttemplateAttrs,zwe=Rwe(),VT=no().extendFlat,S2t=va();function XH(e){return{marker:{color:VT({},Uu.marker.color,{arrayOk:!1,editType:\"style\"}),line:{color:VT({},Uu.marker.line.color,{arrayOk:!1,editType:\"style\"}),width:VT({},Uu.marker.line.width,{arrayOk:!1,editType:\"style\"}),editType:\"style\"},editType:\"style\"},editType:\"style\"}}Fwe.exports={measure:{valType:\"data_array\",dflt:[],editType:\"calc\"},base:{valType:\"number\",dflt:null,arrayOk:!1,editType:\"calc\"},x:Uu.x,x0:Uu.x0,dx:Uu.dx,y:Uu.y,y0:Uu.y0,dy:Uu.dy,xperiod:Uu.xperiod,yperiod:Uu.yperiod,xperiod0:Uu.xperiod0,yperiod0:Uu.yperiod0,xperiodalignment:Uu.xperiodalignment,yperiodalignment:Uu.yperiodalignment,xhoverformat:Dwe(\"x\"),yhoverformat:Dwe(\"y\"),hovertext:Uu.hovertext,hovertemplate:T2t({},{keys:zwe.eventDataKeys}),hoverinfo:VT({},w2t.hoverinfo,{flags:[\"name\",\"x\",\"y\",\"text\",\"initial\",\"delta\",\"final\"]}),textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"initial\",\"delta\",\"final\"],extras:[\"none\"],editType:\"plot\",arrayOk:!1},texttemplate:A2t({editType:\"plot\"},{keys:zwe.eventDataKeys.concat([\"label\"])}),text:Uu.text,textposition:Uu.textposition,insidetextanchor:Uu.insidetextanchor,textangle:Uu.textangle,textfont:Uu.textfont,insidetextfont:Uu.insidetextfont,outsidetextfont:Uu.outsidetextfont,constraintext:Uu.constraintext,cliponaxis:Uu.cliponaxis,orientation:Uu.orientation,offset:Uu.offset,width:Uu.width,increasing:XH(\"increasing\"),decreasing:XH(\"decreasing\"),totals:XH(\"intermediate sums and total\"),connector:{line:{color:VT({},ZH.color,{dflt:S2t.defaultLine}),width:VT({},ZH.width,{editType:\"plot\"}),dash:ZH.dash,editType:\"plot\"},mode:{valType:\"enumerated\",values:[\"spanning\",\"between\"],dflt:\"between\",editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},offsetgroup:Uu.offsetgroup,alignmentgroup:Uu.alignmentgroup,zorder:Uu.zorder}});var KH=ye(($lr,qwe)=>{\"use strict\";qwe.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\"}}});var HT=ye((Qlr,Owe)=>{\"use strict\";Owe.exports={INCREASING:{COLOR:\"#3D9970\",SYMBOL:\"\\u25B2\"},DECREASING:{COLOR:\"#FF4136\",SYMBOL:\"\\u25BC\"}}});var $H=ye((eur,Vwe)=>{\"use strict\";var Bwe=Mr(),M2t=Hb(),E2t=r0().handleText,k2t=K3(),C2t=Pg(),Nwe=YH(),L2t=va(),Uwe=HT(),P2t=Uwe.INCREASING.COLOR,I2t=Uwe.DECREASING.COLOR,R2t=\"#4499FF\";function JH(e,t,r){e(t+\".marker.color\",r),e(t+\".marker.line.color\",L2t.defaultLine),e(t+\".marker.line.width\")}function D2t(e,t,r,n){function i(u,c){return Bwe.coerce(e,t,Nwe,u,c)}var a=k2t(e,t,n,i);if(!a){t.visible=!1;return}C2t(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\"),i(\"measure\"),i(\"orientation\",t.x&&!t.y?\"h\":\"v\"),i(\"base\"),i(\"offset\"),i(\"width\"),i(\"text\"),i(\"hovertext\"),i(\"hovertemplate\");var o=i(\"textposition\");E2t(e,t,n,i,o,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),t.textposition!==\"none\"&&(i(\"texttemplate\"),t.texttemplate||i(\"textinfo\")),JH(i,\"increasing\",P2t),JH(i,\"decreasing\",I2t),JH(i,\"totals\",R2t);var s=i(\"connector.visible\");if(s){i(\"connector.mode\");var l=i(\"connector.line.width\");l&&(i(\"connector.line.color\"),i(\"connector.line.dash\"))}i(\"zorder\")}function z2t(e,t){var r,n;function i(o){return Bwe.coerce(n._input,n,Nwe,o)}if(t.waterfallmode===\"group\")for(var a=0;a<e.length;a++)n=e[a],r=n._input,M2t(r,n,t,i,t.waterfallmode)}Vwe.exports={supplyDefaults:D2t,crossTraceDefaults:z2t}});var Gwe=ye((tur,Hwe)=>{\"use strict\";var F2t=Mr(),q2t=KH();Hwe.exports=function(e,t,r){var n=!1;function i(s,l){return F2t.coerce(e,t,q2t,s,l)}for(var a=0;a<r.length;a++){var o=r[a];if(o.visible&&o.type===\"waterfall\"){n=!0;break}}n&&(i(\"waterfallmode\"),i(\"waterfallgap\",.2),i(\"waterfallgroupgap\"))}});var Kwe=ye((rur,Ywe)=>{\"use strict\";var jwe=Qa(),Wwe=Rg(),Zwe=Mr().mergeArray,O2t=F0(),Xwe=es().BADNUM;function QH(e){return e===\"a\"||e===\"absolute\"}function eG(e){return e===\"t\"||e===\"total\"}Ywe.exports=function(t,r){var n=jwe.getFromId(t,r.xaxis||\"x\"),i=jwe.getFromId(t,r.yaxis||\"y\"),a,o,s,l,u,c;r.orientation===\"h\"?(a=n.makeCalcdata(r,\"x\"),s=i.makeCalcdata(r,\"y\"),l=Wwe(r,i,\"y\",s),u=!!r.yperiodalignment,c=\"y\"):(a=i.makeCalcdata(r,\"y\"),s=n.makeCalcdata(r,\"x\"),l=Wwe(r,n,\"x\",s),u=!!r.xperiodalignment,c=\"x\"),o=l.vals;for(var f=Math.min(o.length,a.length),h=new Array(f),d=0,v,x=!1,b=0;b<f;b++){var p=a[b]||0,E=!1;(a[b]!==Xwe||eG(r.measure[b])||QH(r.measure[b]))&&b+1<f&&(a[b+1]!==Xwe||eG(r.measure[b+1])||QH(r.measure[b+1]))&&(E=!0);var k=h[b]={i:b,p:o[b],s:p,rawS:p,cNext:E};QH(r.measure[b])?(d=k.s,k.isSum=!0,k.dir=\"totals\",k.s=d):eG(r.measure[b])?(k.isSum=!0,k.dir=\"totals\",k.s=d):(k.isSum=!1,k.dir=k.rawS<0?\"decreasing\":\"increasing\",v=k.s,k.s=d+v,d+=v),k.dir===\"totals\"&&(x=!0),u&&(h[b].orig_p=s[b],h[b][c+\"End\"]=l.ends[b],h[b][c+\"Start\"]=l.starts[b]),r.ids&&(k.id=String(r.ids[b])),k.v=(r.base||0)+d}return h.length&&(h[0].hasTotals=x),Zwe(r.text,h,\"tx\"),Zwe(r.hovertext,h,\"htx\"),O2t(h,r),h}});var Qwe=ye((iur,$we)=>{\"use strict\";var Jwe=Gb().setGroupPositions;$we.exports=function(t,r){var n=t._fullLayout,i=t._fullData,a=t.calcdata,o=r.xaxis,s=r.yaxis,l=[],u=[],c=[],f,h;for(h=0;h<i.length;h++){var d=i[h];d.visible===!0&&d.xaxis===o._id&&d.yaxis===s._id&&d.type===\"waterfall\"&&(f=a[h],d.orientation===\"h\"?c.push(f):u.push(f),l.push(f))}var v={mode:n.waterfallmode,norm:n.waterfallnorm,gap:n.waterfallgap,groupgap:n.waterfallgroupgap};for(Jwe(t,o,s,u,v),Jwe(t,s,o,c,v),h=0;h<l.length;h++){f=l[h];for(var x=0;x<f.length;x++){var b=f[x];b.isSum===!1&&(b.s0+=x===0?0:f[x-1].s),x+1<f.length&&(f[x].nextP0=f[x+1].p0,f[x].nextS0=f[x+1].s0)}}}});var r3e=ye((nur,t3e)=>{\"use strict\";var e3e=xa(),D8=Mr(),B2t=ao(),GT=es().BADNUM,N2t=i2(),U2t=_v().clearMinTextSize;t3e.exports=function(t,r,n,i){var a=t._fullLayout;U2t(\"waterfall\",a),N2t.plot(t,r,n,i,{mode:a.waterfallmode,norm:a.waterfallmode,gap:a.waterfallgap,groupgap:a.waterfallgroupgap}),V2t(t,r,n,i)};function V2t(e,t,r,n){var i=t.xaxis,a=t.yaxis;D8.makeTraceGroups(n,r,\"trace bars\").each(function(o){var s=e3e.select(this),l=o[0].trace,u=D8.ensureSingle(s,\"g\",\"lines\");if(!l.connector||!l.connector.visible){u.remove();return}var c=l.orientation===\"h\",f=l.connector.mode,h=u.selectAll(\"g.line\").data(D8.identity);h.enter().append(\"g\").classed(\"line\",!0),h.exit().remove();var d=h.size();h.each(function(v,x){if(!(x!==d-1&&!v.cNext)){var b=H2t(v,i,a,c),p=b[0],E=b[1],k=\"\";p[0]!==GT&&E[0]!==GT&&p[1]!==GT&&E[1]!==GT&&(f===\"spanning\"&&!v.isSum&&x>0&&(c?k+=\"M\"+p[0]+\",\"+E[1]+\"V\"+E[0]:k+=\"M\"+p[1]+\",\"+E[0]+\"H\"+p[0]),f!==\"between\"&&(v.isSum||x<d-1)&&(c?k+=\"M\"+p[1]+\",\"+E[0]+\"V\"+E[1]:k+=\"M\"+p[0]+\",\"+E[1]+\"H\"+p[1]),p[2]!==GT&&E[2]!==GT&&(c?k+=\"M\"+p[1]+\",\"+E[1]+\"V\"+E[2]:k+=\"M\"+p[1]+\",\"+E[1]+\"H\"+p[2])),k===\"\"&&(k=\"M0,0Z\"),D8.ensureSingle(e3e.select(this),\"path\").attr(\"d\",k).call(B2t.setClipUrl,t.layerClipId,e)}})})}function H2t(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),i[2]=o.c2p(e.nextS0,!0),a[2]=s.c2p(e.nextP0,!0),n?[i,a]:[a,i]}});var o3e=ye((aur,a3e)=>{\"use strict\";var z8=xa(),i3e=ao(),n3e=va(),G2t=U1().DESELECTDIM,j2t=N0(),W2t=_v().resizeText,Z2t=j2t.styleTextPoints;function X2t(e,t,r){var n=r||z8.select(e).selectAll('g[class^=\"waterfalllayer\"]').selectAll(\"g.trace\");W2t(e,n,\"waterfall\"),n.style(\"opacity\",function(i){return i[0].trace.opacity}),n.each(function(i){var a=z8.select(this),o=i[0].trace;a.selectAll(\".point > path\").each(function(s){if(!s.isBlank){var l=o[s.dir].marker;z8.select(this).call(n3e.fill,l.color).call(n3e.stroke,l.line.color).call(i3e.dashLine,l.line.dash,l.line.width).style(\"opacity\",o.selectedpoints&&!s.selected?G2t:1)}}),Z2t(a,o,e),a.selectAll(\".lines\").each(function(){var s=o.connector.line;i3e.lineGroupStyle(z8.select(this).selectAll(\"path\"),s.width,s.color,s.dash)})})}a3e.exports={style:X2t}});var f3e=ye((our,c3e)=>{\"use strict\";var Y2t=Qa().hoverLabelText,s3e=va().opacity,K2t=TT().hoverOnBars,l3e=HT(),u3e={increasing:l3e.INCREASING.SYMBOL,decreasing:l3e.DECREASING.SYMBOL};c3e.exports=function(t,r,n,i,a){var o=K2t(t,r,n,i,a);if(!o)return;var s=o.cd,l=s[0].trace,u=l.orientation===\"h\",c=u?\"x\":\"y\",f=u?t.xa:t.ya;function h(_){return Y2t(f,_,l[c+\"hoverformat\"])}var d=o.index,v=s[d],x=v.isSum?v.b+v.s:v.rawS;o.initial=v.b+v.s-x,o.delta=x,o.final=o.initial+o.delta;var b=h(Math.abs(o.delta));o.deltaLabel=x<0?\"(\"+b+\")\":b,o.finalLabel=h(o.final),o.initialLabel=h(o.initial);var p=v.hi||l.hoverinfo,E=[];if(p&&p!==\"none\"&&p!==\"skip\"){var k=p===\"all\",A=p.split(\"+\"),L=function(_){return k||A.indexOf(_)!==-1};v.isSum||(L(\"final\")&&(u?!L(\"x\"):!L(\"y\"))&&E.push(o.finalLabel),L(\"delta\")&&(x<0?E.push(o.deltaLabel+\" \"+u3e.decreasing):E.push(o.deltaLabel+\" \"+u3e.increasing)),L(\"initial\")&&E.push(\"Initial: \"+o.initialLabel))}return E.length&&(o.extraText=E.join(\"<br>\")),o.color=J2t(l,v),[o]};function J2t(e,t){var r=e[t.dir].marker,n=r.color,i=r.line.color,a=r.line.width;if(s3e(n))return n;if(s3e(i)&&a)return i}});var d3e=ye((sur,h3e)=>{\"use strict\";h3e.exports=function(t,r){return t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,\"initial\"in r&&(t.initial=r.initial),\"delta\"in r&&(t.delta=r.delta),\"final\"in r&&(t.final=r.final),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var p3e=ye((lur,v3e)=>{\"use strict\";v3e.exports={attributes:YH(),layoutAttributes:KH(),supplyDefaults:$H().supplyDefaults,crossTraceDefaults:$H().crossTraceDefaults,supplyLayoutDefaults:Gwe(),calc:Kwe(),crossTraceCalc:Qwe(),plot:r3e(),style:o3e().style,hoverPoints:f3e(),eventData:d3e(),selectPoints:AT(),moduleType:\"trace\",name:\"waterfall\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}});var m3e=ye((uur,g3e)=>{\"use strict\";g3e.exports=p3e()});var jT=ye((cur,y3e)=>{\"use strict\";y3e.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(e){return e.slice(0,3)},suffix:[\"\",\"\",\"\"]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.slice(0,4)},suffix:[\"\",\"\",\"\",\"\"]},rgba256:{colormodel:\"rgba\",zminDflt:[0,0,0,0],zmaxDflt:[255,255,255,255],min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.slice(0,4)},suffix:[\"\",\"\",\"\",\"\"]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(e){var t=e.slice(0,3);return t[1]=t[1]+\"%\",t[2]=t[2]+\"%\",t},suffix:[\"\\xB0\",\"%\",\"%\"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(e){var t=e.slice(0,4);return t[1]=t[1]+\"%\",t[2]=t[2]+\"%\",t},suffix:[\"\\xB0\",\"%\",\"%\",\"\"]}}}});var tG=ye((fur,x3e)=>{\"use strict\";var $2t=vl(),Q2t=Uc().zorder,ewt=Wo().hovertemplateAttrs,_3e=no().extendFlat,twt=jT().colormodel,D4=[\"rgb\",\"rgba\",\"rgba256\",\"hsl\",\"hsla\"],rwt=[],iwt=[];for(WT=0;WT<D4.length;WT++)R4=twt[D4[WT]],rwt.push(\"For the `\"+D4[WT]+\"` colormodel, it is [\"+(R4.zminDflt||R4.min).join(\", \")+\"].\"),iwt.push(\"For the `\"+D4[WT]+\"` colormodel, it is [\"+(R4.zmaxDflt||R4.max).join(\", \")+\"].\");var R4,WT;x3e.exports=_3e({source:{valType:\"string\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},colormodel:{valType:\"enumerated\",values:D4,editType:\"calc\"},zsmooth:{valType:\"enumerated\",values:[\"fast\",!1],dflt:!1,editType:\"plot\"},zmin:{valType:\"info_array\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},zmax:{valType:\"info_array\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},x0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},y0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dx:{valType:\"number\",dflt:1,editType:\"calc\"},dy:{valType:\"number\",dflt:1,editType:\"calc\"},text:{valType:\"data_array\",editType:\"plot\"},hovertext:{valType:\"data_array\",editType:\"plot\"},hoverinfo:_3e({},$2t.hoverinfo,{flags:[\"x\",\"y\",\"z\",\"color\",\"name\",\"text\"],dflt:\"x+y+z+text+name\"}),hovertemplate:ewt({},{keys:[\"z\",\"color\",\"colormodel\"]}),zorder:Q2t})});var T3e=ye((hur,w3e)=>{\"use strict\";var nwt=Mr(),awt=tG(),b3e=jT(),owt=Ly().IMAGE_URL_PREFIX;w3e.exports=function(t,r){function n(o,s){return nwt.coerce(t,r,awt,o,s)}n(\"source\"),r.source&&!r.source.match(owt)&&delete r.source,r._hasSource=!!r.source;var i=n(\"z\");if(r._hasZ=!(i===void 0||!i.length||!i[0]||!i[0].length),!r._hasZ&&!r._hasSource){r.visible=!1;return}n(\"x0\"),n(\"y0\"),n(\"dx\"),n(\"dy\");var a;r._hasZ?(n(\"colormodel\",\"rgb\"),a=b3e.colormodel[r.colormodel],n(\"zmin\",a.zminDflt||a.min),n(\"zmax\",a.zmaxDflt||a.max)):r._hasSource&&(r.colormodel=\"rgba256\",a=b3e.colormodel[r.colormodel],r.zmin=a.zminDflt,r.zmax=a.zmaxDflt),n(\"zsmooth\"),n(\"text\"),n(\"hovertext\"),n(\"hovertemplate\"),r._length=null,n(\"zorder\")}});var Uy=ye((dur,rG)=>{typeof Object.create==\"function\"?rG.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:rG.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}}});var iG=ye((vur,A3e)=>{A3e.exports=vb().EventEmitter});var E3e=ye(F8=>{\"use strict\";F8.byteLength=lwt;F8.toByteArray=cwt;F8.fromByteArray=dwt;var Fm=[],Z0=[],swt=typeof Uint8Array!=\"undefined\"?Uint8Array:Array,nG=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";for(s2=0,S3e=nG.length;s2<S3e;++s2)Fm[s2]=nG[s2],Z0[nG.charCodeAt(s2)]=s2;var s2,S3e;Z0[45]=62;Z0[95]=63;function M3e(e){var t=e.length;if(t%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=e.indexOf(\"=\");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function lwt(e){var t=M3e(e),r=t[0],n=t[1];return(r+n)*3/4-n}function uwt(e,t,r){return(t+r)*3/4-r}function cwt(e){var t,r=M3e(e),n=r[0],i=r[1],a=new swt(uwt(e,n,i)),o=0,s=i>0?n-4:n,l;for(l=0;l<s;l+=4)t=Z0[e.charCodeAt(l)]<<18|Z0[e.charCodeAt(l+1)]<<12|Z0[e.charCodeAt(l+2)]<<6|Z0[e.charCodeAt(l+3)],a[o++]=t>>16&255,a[o++]=t>>8&255,a[o++]=t&255;return i===2&&(t=Z0[e.charCodeAt(l)]<<2|Z0[e.charCodeAt(l+1)]>>4,a[o++]=t&255),i===1&&(t=Z0[e.charCodeAt(l)]<<10|Z0[e.charCodeAt(l+1)]<<4|Z0[e.charCodeAt(l+2)]>>2,a[o++]=t>>8&255,a[o++]=t&255),a}function fwt(e){return Fm[e>>18&63]+Fm[e>>12&63]+Fm[e>>6&63]+Fm[e&63]}function hwt(e,t,r){for(var n,i=[],a=t;a<r;a+=3)n=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(e[a+2]&255),i.push(fwt(n));return i.join(\"\")}function dwt(e){for(var t,r=e.length,n=r%3,i=[],a=16383,o=0,s=r-n;o<s;o+=a)i.push(hwt(e,o,o+a>s?s:o+a));return n===1?(t=e[r-1],i.push(Fm[t>>2]+Fm[t<<4&63]+\"==\")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(Fm[t>>10]+Fm[t>>4&63]+Fm[t<<2&63]+\"=\")),i.join(\"\")}});var k3e=ye(aG=>{aG.read=function(e,t,r,n,i){var a,o,s=i*8-n-1,l=(1<<s)-1,u=l>>1,c=-7,f=r?i-1:0,h=r?-1:1,d=e[t+f];for(f+=h,a=d&(1<<-c)-1,d>>=-c,c+=s;c>0;a=a*256+e[t+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=o*256+e[t+f],f+=h,c-=8);if(a===0)a=1-u;else{if(a===l)return o?NaN:(d?-1:1)*(1/0);o=o+Math.pow(2,n),a=a-u}return(d?-1:1)*o*Math.pow(2,a-n)};aG.write=function(e,t,r,n,i,a){var o,s,l,u=a*8-i-1,c=(1<<u)-1,f=c>>1,h=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:a-1,v=n?1:-1,x=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+f>=1?t+=h/l:t+=h*Math.pow(2,1-f),t*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(t*l-1)*Math.pow(2,i),o=o+f):(s=t*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;e[r+d]=s&255,d+=v,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;e[r+d]=o&255,d+=v,o/=256,u-=8);e[r+d-v]|=x*128}});var u2=ye(KT=>{\"use strict\";var oG=E3e(),XT=k3e(),C3e=typeof Symbol==\"function\"&&typeof Symbol.for==\"function\"?Symbol.for(\"nodejs.util.inspect.custom\"):null;KT.Buffer=In;KT.SlowBuffer=_wt;KT.INSPECT_MAX_BYTES=50;var q8=2147483647;KT.kMaxLength=q8;In.TYPED_ARRAY_SUPPORT=vwt();!In.TYPED_ARRAY_SUPPORT&&typeof console!=\"undefined\"&&typeof console.error==\"function\"&&console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\");function vwt(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch(e){return!1}}Object.defineProperty(In.prototype,\"parent\",{enumerable:!0,get:function(){if(In.isBuffer(this))return this.buffer}});Object.defineProperty(In.prototype,\"offset\",{enumerable:!0,get:function(){if(In.isBuffer(this))return this.byteOffset}});function Vy(e){if(e>q8)throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,In.prototype),t}function In(e,t,r){if(typeof e==\"number\"){if(typeof t==\"string\")throw new TypeError('The \"string\" argument must be of type string. Received type number');return cG(e)}return R3e(e,t,r)}In.poolSize=8192;function R3e(e,t,r){if(typeof e==\"string\")return gwt(e,t);if(ArrayBuffer.isView(e))return mwt(e);if(e==null)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof e);if(qm(e,ArrayBuffer)||e&&qm(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer!=\"undefined\"&&(qm(e,SharedArrayBuffer)||e&&qm(e.buffer,SharedArrayBuffer)))return lG(e,t,r);if(typeof e==\"number\")throw new TypeError('The \"value\" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return In.from(n,t,r);let i=ywt(e);if(i)return i;if(typeof Symbol!=\"undefined\"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]==\"function\")return In.from(e[Symbol.toPrimitive](\"string\"),t,r);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof e)}In.from=function(e,t,r){return R3e(e,t,r)};Object.setPrototypeOf(In.prototype,Uint8Array.prototype);Object.setPrototypeOf(In,Uint8Array);function D3e(e){if(typeof e!=\"number\")throw new TypeError('\"size\" argument must be of type number');if(e<0)throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"')}function pwt(e,t,r){return D3e(e),e<=0?Vy(e):t!==void 0?typeof r==\"string\"?Vy(e).fill(t,r):Vy(e).fill(t):Vy(e)}In.alloc=function(e,t,r){return pwt(e,t,r)};function cG(e){return D3e(e),Vy(e<0?0:fG(e)|0)}In.allocUnsafe=function(e){return cG(e)};In.allocUnsafeSlow=function(e){return cG(e)};function gwt(e,t){if((typeof t!=\"string\"||t===\"\")&&(t=\"utf8\"),!In.isEncoding(t))throw new TypeError(\"Unknown encoding: \"+t);let r=z3e(e,t)|0,n=Vy(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function sG(e){let t=e.length<0?0:fG(e.length)|0,r=Vy(t);for(let n=0;n<t;n+=1)r[n]=e[n]&255;return r}function mwt(e){if(qm(e,Uint8Array)){let t=new Uint8Array(e);return lG(t.buffer,t.byteOffset,t.byteLength)}return sG(e)}function lG(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('\"offset\" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('\"length\" is outside of buffer bounds');let n;return t===void 0&&r===void 0?n=new Uint8Array(e):r===void 0?n=new Uint8Array(e,t):n=new Uint8Array(e,t,r),Object.setPrototypeOf(n,In.prototype),n}function ywt(e){if(In.isBuffer(e)){let t=fG(e.length)|0,r=Vy(t);return r.length===0||e.copy(r,0,0,t),r}if(e.length!==void 0)return typeof e.length!=\"number\"||dG(e.length)?Vy(0):sG(e);if(e.type===\"Buffer\"&&Array.isArray(e.data))return sG(e.data)}function fG(e){if(e>=q8)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+q8.toString(16)+\" bytes\");return e|0}function _wt(e){return+e!=e&&(e=0),In.alloc(+e)}In.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==In.prototype};In.compare=function(t,r){if(qm(t,Uint8Array)&&(t=In.from(t,t.offset,t.byteLength)),qm(r,Uint8Array)&&(r=In.from(r,r.offset,r.byteLength)),!In.isBuffer(t)||!In.isBuffer(r))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let n=t.length,i=r.length;for(let a=0,o=Math.min(n,i);a<o;++a)if(t[a]!==r[a]){n=t[a],i=r[a];break}return n<i?-1:i<n?1:0};In.isEncoding=function(t){switch(String(t).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}};In.concat=function(t,r){if(!Array.isArray(t))throw new TypeError('\"list\" argument must be an Array of Buffers');if(t.length===0)return In.alloc(0);let n;if(r===void 0)for(r=0,n=0;n<t.length;++n)r+=t[n].length;let i=In.allocUnsafe(r),a=0;for(n=0;n<t.length;++n){let o=t[n];if(qm(o,Uint8Array))a+o.length>i.length?(In.isBuffer(o)||(o=In.from(o)),o.copy(i,a)):Uint8Array.prototype.set.call(i,o,a);else if(In.isBuffer(o))o.copy(i,a);else throw new TypeError('\"list\" argument must be an Array of Buffers');a+=o.length}return i};function z3e(e,t){if(In.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||qm(e,ArrayBuffer))return e.byteLength;if(typeof e!=\"string\")throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return uG(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return r*2;case\"hex\":return r>>>1;case\"base64\":return G3e(e).length;default:if(i)return n?-1:uG(e).length;t=(\"\"+t).toLowerCase(),i=!0}}In.byteLength=z3e;function xwt(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return Lwt(this,t,r);case\"utf8\":case\"utf-8\":return q3e(this,t,r);case\"ascii\":return kwt(this,t,r);case\"latin1\":case\"binary\":return Cwt(this,t,r);case\"base64\":return Mwt(this,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Pwt(this,t,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),n=!0}}In.prototype._isBuffer=!0;function l2(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}In.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(let r=0;r<t;r+=2)l2(this,r,r+1);return this};In.prototype.swap32=function(){let t=this.length;if(t%4!==0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(let r=0;r<t;r+=4)l2(this,r,r+3),l2(this,r+1,r+2);return this};In.prototype.swap64=function(){let t=this.length;if(t%8!==0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(let r=0;r<t;r+=8)l2(this,r,r+7),l2(this,r+1,r+6),l2(this,r+2,r+5),l2(this,r+3,r+4);return this};In.prototype.toString=function(){let t=this.length;return t===0?\"\":arguments.length===0?q3e(this,0,t):xwt.apply(this,arguments)};In.prototype.toLocaleString=In.prototype.toString;In.prototype.equals=function(t){if(!In.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");return this===t?!0:In.compare(this,t)===0};In.prototype.inspect=function(){let t=\"\",r=KT.INSPECT_MAX_BYTES;return t=this.toString(\"hex\",0,r).replace(/(.{2})/g,\"$1 \").trim(),this.length>r&&(t+=\" ... \"),\"<Buffer \"+t+\">\"};C3e&&(In.prototype[C3e]=In.prototype.inspect);In.prototype.compare=function(t,r,n,i,a){if(qm(t,Uint8Array)&&(t=In.from(t,t.offset,t.byteLength)),!In.isBuffer(t))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),a===void 0&&(a=this.length),r<0||n>t.length||i<0||a>this.length)throw new RangeError(\"out of range index\");if(i>=a&&r>=n)return 0;if(i>=a)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,a>>>=0,this===t)return 0;let o=a-i,s=n-r,l=Math.min(o,s),u=this.slice(i,a),c=t.slice(r,n);for(let f=0;f<l;++f)if(u[f]!==c[f]){o=u[f],s=c[f];break}return o<s?-1:s<o?1:0};function F3e(e,t,r,n,i){if(e.length===0)return-1;if(typeof r==\"string\"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,dG(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t==\"string\"&&(t=In.from(t,n)),In.isBuffer(t))return t.length===0?-1:L3e(e,t,r,n,i);if(typeof t==\"number\")return t=t&255,typeof Uint8Array.prototype.indexOf==\"function\"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):L3e(e,[t],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function L3e(e,t,r,n,i){let a=1,o=e.length,s=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n===\"ucs2\"||n===\"ucs-2\"||n===\"utf16le\"||n===\"utf-16le\")){if(e.length<2||t.length<2)return-1;a=2,o/=2,s/=2,r/=2}function l(c,f){return a===1?c[f]:c.readUInt16BE(f*a)}let u;if(i){let c=-1;for(u=r;u<o;u++)if(l(e,u)===l(t,c===-1?0:u-c)){if(c===-1&&(c=u),u-c+1===s)return c*a}else c!==-1&&(u-=u-c),c=-1}else for(r+s>o&&(r=o-s),u=r;u>=0;u--){let c=!0;for(let f=0;f<s;f++)if(l(e,u+f)!==l(t,f)){c=!1;break}if(c)return u}return-1}In.prototype.includes=function(t,r,n){return this.indexOf(t,r,n)!==-1};In.prototype.indexOf=function(t,r,n){return F3e(this,t,r,n,!0)};In.prototype.lastIndexOf=function(t,r,n){return F3e(this,t,r,n,!1)};function bwt(e,t,r,n){r=Number(r)||0;let i=e.length-r;n?(n=Number(n),n>i&&(n=i)):n=i;let a=t.length;n>a/2&&(n=a/2);let o;for(o=0;o<n;++o){let s=parseInt(t.substr(o*2,2),16);if(dG(s))return o;e[r+o]=s}return o}function wwt(e,t,r,n){return O8(uG(t,e.length-r),e,r,n)}function Twt(e,t,r,n){return O8(zwt(t),e,r,n)}function Awt(e,t,r,n){return O8(G3e(t),e,r,n)}function Swt(e,t,r,n){return O8(Fwt(t,e.length-r),e,r,n)}In.prototype.write=function(t,r,n,i){if(r===void 0)i=\"utf8\",n=this.length,r=0;else if(n===void 0&&typeof r==\"string\")i=r,n=this.length,r=0;else if(isFinite(r))r=r>>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i=\"utf8\")):(i=n,n=void 0);else throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");let a=this.length-r;if((n===void 0||n>a)&&(n=a),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");i||(i=\"utf8\");let o=!1;for(;;)switch(i){case\"hex\":return bwt(this,t,r,n);case\"utf8\":case\"utf-8\":return wwt(this,t,r,n);case\"ascii\":case\"latin1\":case\"binary\":return Twt(this,t,r,n);case\"base64\":return Awt(this,t,r,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Swt(this,t,r,n);default:if(o)throw new TypeError(\"Unknown encoding: \"+i);i=(\"\"+i).toLowerCase(),o=!0}};In.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function Mwt(e,t,r){return t===0&&r===e.length?oG.fromByteArray(e):oG.fromByteArray(e.slice(t,r))}function q3e(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i<r;){let a=e[i],o=null,s=a>239?4:a>223?3:a>191?2:1;if(i+s<=r){let l,u,c,f;switch(s){case 1:a<128&&(o=a);break;case 2:l=e[i+1],(l&192)===128&&(f=(a&31)<<6|l&63,f>127&&(o=f));break;case 3:l=e[i+1],u=e[i+2],(l&192)===128&&(u&192)===128&&(f=(a&15)<<12|(l&63)<<6|u&63,f>2047&&(f<55296||f>57343)&&(o=f));break;case 4:l=e[i+1],u=e[i+2],c=e[i+3],(l&192)===128&&(u&192)===128&&(c&192)===128&&(f=(a&15)<<18|(l&63)<<12|(u&63)<<6|c&63,f>65535&&f<1114112&&(o=f))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=s}return Ewt(n)}var P3e=4096;function Ewt(e){let t=e.length;if(t<=P3e)return String.fromCharCode.apply(String,e);let r=\"\",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=P3e));return r}function kwt(e,t,r){let n=\"\";r=Math.min(e.length,r);for(let i=t;i<r;++i)n+=String.fromCharCode(e[i]&127);return n}function Cwt(e,t,r){let n=\"\";r=Math.min(e.length,r);for(let i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function Lwt(e,t,r){let n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);let i=\"\";for(let a=t;a<r;++a)i+=qwt[e[a]];return i}function Pwt(e,t,r){let n=e.slice(t,r),i=\"\";for(let a=0;a<n.length-1;a+=2)i+=String.fromCharCode(n[a]+n[a+1]*256);return i}In.prototype.slice=function(t,r){let n=this.length;t=~~t,r=r===void 0?n:~~r,t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),r<t&&(r=t);let i=this.subarray(t,r);return Object.setPrototypeOf(i,In.prototype),i};function $d(e,t,r){if(e%1!==0||e<0)throw new RangeError(\"offset is not uint\");if(e+t>r)throw new RangeError(\"Trying to access beyond buffer length\")}In.prototype.readUintLE=In.prototype.readUIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=this[t],a=1,o=0;for(;++o<r&&(a*=256);)i+=this[t+o]*a;return i};In.prototype.readUintBE=In.prototype.readUIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=this[t+--r],a=1;for(;r>0&&(a*=256);)i+=this[t+--r]*a;return i};In.prototype.readUint8=In.prototype.readUInt8=function(t,r){return t=t>>>0,r||$d(t,1,this.length),this[t]};In.prototype.readUint16LE=In.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||$d(t,2,this.length),this[t]|this[t+1]<<8};In.prototype.readUint16BE=In.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||$d(t,2,this.length),this[t]<<8|this[t+1]};In.prototype.readUint32LE=In.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};In.prototype.readUint32BE=In.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};In.prototype.readBigUInt64LE=I_(function(t){t=t>>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,a=this[++t]+this[++t]*2**8+this[++t]*2**16+n*2**24;return BigInt(i)+(BigInt(a)<<BigInt(32))});In.prototype.readBigUInt64BE=I_(function(t){t=t>>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],a=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n;return(BigInt(i)<<BigInt(32))+BigInt(a)});In.prototype.readIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=this[t],a=1,o=0;for(;++o<r&&(a*=256);)i+=this[t+o]*a;return a*=128,i>=a&&(i-=Math.pow(2,8*r)),i};In.prototype.readIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=r,a=1,o=this[t+--i];for(;i>0&&(a*=256);)o+=this[t+--i]*a;return a*=128,o>=a&&(o-=Math.pow(2,8*r)),o};In.prototype.readInt8=function(t,r){return t=t>>>0,r||$d(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};In.prototype.readInt16LE=function(t,r){t=t>>>0,r||$d(t,2,this.length);let n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};In.prototype.readInt16BE=function(t,r){t=t>>>0,r||$d(t,2,this.length);let n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};In.prototype.readInt32LE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};In.prototype.readInt32BE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};In.prototype.readBigInt64LE=I_(function(t){t=t>>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(n<<24);return(BigInt(i)<<BigInt(32))+BigInt(r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24)});In.prototype.readBigInt64BE=I_(function(t){t=t>>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(i)<<BigInt(32))+BigInt(this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n)});In.prototype.readFloatLE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),XT.read(this,t,!0,23,4)};In.prototype.readFloatBE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),XT.read(this,t,!1,23,4)};In.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||$d(t,8,this.length),XT.read(this,t,!0,52,8)};In.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||$d(t,8,this.length),XT.read(this,t,!1,52,8)};function Rp(e,t,r,n,i,a){if(!In.isBuffer(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>i||t<a)throw new RangeError('\"value\" argument is out of bounds');if(r+n>e.length)throw new RangeError(\"Index out of range\")}In.prototype.writeUintLE=In.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let s=Math.pow(2,8*n)-1;Rp(this,t,r,n,s,0)}let a=1,o=0;for(this[r]=t&255;++o<n&&(a*=256);)this[r+o]=t/a&255;return r+n};In.prototype.writeUintBE=In.prototype.writeUIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let s=Math.pow(2,8*n)-1;Rp(this,t,r,n,s,0)}let a=n-1,o=1;for(this[r+a]=t&255;--a>=0&&(o*=256);)this[r+a]=t/o&255;return r+n};In.prototype.writeUint8=In.prototype.writeUInt8=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,1,255,0),this[r]=t&255,r+1};In.prototype.writeUint16LE=In.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2};In.prototype.writeUint16BE=In.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2};In.prototype.writeUint32LE=In.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4};In.prototype.writeUint32BE=In.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function O3e(e,t,r,n,i){H3e(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,r}function B3e(e,t,r,n,i){H3e(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r+7]=a,a=a>>8,e[r+6]=a,a=a>>8,e[r+5]=a,a=a>>8,e[r+4]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=o,o=o>>8,e[r+2]=o,o=o>>8,e[r+1]=o,o=o>>8,e[r]=o,r+8}In.prototype.writeBigUInt64LE=I_(function(t,r=0){return O3e(this,t,r,BigInt(0),BigInt(\"0xffffffffffffffff\"))});In.prototype.writeBigUInt64BE=I_(function(t,r=0){return B3e(this,t,r,BigInt(0),BigInt(\"0xffffffffffffffff\"))});In.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);Rp(this,t,r,n,l-1,-l)}let a=0,o=1,s=0;for(this[r]=t&255;++a<n&&(o*=256);)t<0&&s===0&&this[r+a-1]!==0&&(s=1),this[r+a]=(t/o>>0)-s&255;return r+n};In.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);Rp(this,t,r,n,l-1,-l)}let a=n-1,o=1,s=0;for(this[r+a]=t&255;--a>=0&&(o*=256);)t<0&&s===0&&this[r+a+1]!==0&&(s=1),this[r+a]=(t/o>>0)-s&255;return r+n};In.prototype.writeInt8=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1};In.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2};In.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2};In.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4};In.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};In.prototype.writeBigInt64LE=I_(function(t,r=0){return O3e(this,t,r,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});In.prototype.writeBigInt64BE=I_(function(t,r=0){return B3e(this,t,r,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});function N3e(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function U3e(e,t,r,n,i){return t=+t,r=r>>>0,i||N3e(e,t,r,4,34028234663852886e22,-34028234663852886e22),XT.write(e,t,r,n,23,4),r+4}In.prototype.writeFloatLE=function(t,r,n){return U3e(this,t,r,!0,n)};In.prototype.writeFloatBE=function(t,r,n){return U3e(this,t,r,!1,n)};function V3e(e,t,r,n,i){return t=+t,r=r>>>0,i||N3e(e,t,r,8,17976931348623157e292,-17976931348623157e292),XT.write(e,t,r,n,52,8),r+8}In.prototype.writeDoubleLE=function(t,r,n){return V3e(this,t,r,!0,n)};In.prototype.writeDoubleBE=function(t,r,n){return V3e(this,t,r,!1,n)};In.prototype.copy=function(t,r,n,i){if(!In.isBuffer(t))throw new TypeError(\"argument should be a Buffer\");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i<n&&(i=n),i===n||t.length===0||this.length===0)return 0;if(r<0)throw new RangeError(\"targetStart out of bounds\");if(n<0||n>=this.length)throw new RangeError(\"Index out of range\");if(i<0)throw new RangeError(\"sourceEnd out of bounds\");i>this.length&&(i=this.length),t.length-r<i-n&&(i=t.length-r+n);let a=i-n;return this===t&&typeof Uint8Array.prototype.copyWithin==\"function\"?this.copyWithin(r,n,i):Uint8Array.prototype.set.call(t,this.subarray(n,i),r),a};In.prototype.fill=function(t,r,n,i){if(typeof t==\"string\"){if(typeof r==\"string\"?(i=r,r=0,n=this.length):typeof n==\"string\"&&(i=n,n=this.length),i!==void 0&&typeof i!=\"string\")throw new TypeError(\"encoding must be a string\");if(typeof i==\"string\"&&!In.isEncoding(i))throw new TypeError(\"Unknown encoding: \"+i);if(t.length===1){let o=t.charCodeAt(0);(i===\"utf8\"&&o<128||i===\"latin1\")&&(t=o)}}else typeof t==\"number\"?t=t&255:typeof t==\"boolean\"&&(t=Number(t));if(r<0||this.length<r||this.length<n)throw new RangeError(\"Out of range index\");if(n<=r)return this;r=r>>>0,n=n===void 0?this.length:n>>>0,t||(t=0);let a;if(typeof t==\"number\")for(a=r;a<n;++a)this[a]=t;else{let o=In.isBuffer(t)?t:In.from(t,i),s=o.length;if(s===0)throw new TypeError('The value \"'+t+'\" is invalid for argument \"value\"');for(a=0;a<n-r;++a)this[a+r]=o[a%s]}return this};var ZT={};function hG(e,t,r){ZT[e]=class extends r{constructor(){super(),Object.defineProperty(this,\"message\",{value:t.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${e}]`,this.stack,delete this.name}get code(){return e}set code(i){Object.defineProperty(this,\"code\",{configurable:!0,enumerable:!0,value:i,writable:!0})}toString(){return`${this.name} [${e}]: ${this.message}`}}}hG(\"ERR_BUFFER_OUT_OF_BOUNDS\",function(e){return e?`${e} is outside of buffer bounds`:\"Attempt to access memory outside buffer bounds\"},RangeError);hG(\"ERR_INVALID_ARG_TYPE\",function(e,t){return`The \"${e}\" argument must be of type number. Received type ${typeof t}`},TypeError);hG(\"ERR_OUT_OF_RANGE\",function(e,t,r){let n=`The value of \"${e}\" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=I3e(String(r)):typeof r==\"bigint\"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=I3e(i)),i+=\"n\"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function I3e(e){let t=\"\",r=e.length,n=e[0]===\"-\"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function Iwt(e,t,r){YT(t,\"offset\"),(e[t]===void 0||e[t+r]===void 0)&&z4(t,e.length-(r+1))}function H3e(e,t,r,n,i,a){if(e>r||e<t){let o=typeof t==\"bigint\"?\"n\":\"\",s;throw a>3?t===0||t===BigInt(0)?s=`>= 0${o} and < 2${o} ** ${(a+1)*8}${o}`:s=`>= -(2${o} ** ${(a+1)*8-1}${o}) and < 2 ** ${(a+1)*8-1}${o}`:s=`>= ${t}${o} and <= ${r}${o}`,new ZT.ERR_OUT_OF_RANGE(\"value\",s,e)}Iwt(n,i,a)}function YT(e,t){if(typeof e!=\"number\")throw new ZT.ERR_INVALID_ARG_TYPE(t,\"number\",e)}function z4(e,t,r){throw Math.floor(e)!==e?(YT(e,r),new ZT.ERR_OUT_OF_RANGE(r||\"offset\",\"an integer\",e)):t<0?new ZT.ERR_BUFFER_OUT_OF_BOUNDS:new ZT.ERR_OUT_OF_RANGE(r||\"offset\",`>= ${r?1:0} and <= ${t}`,e)}var Rwt=/[^+/0-9A-Za-z-_]/g;function Dwt(e){if(e=e.split(\"=\")[0],e=e.trim().replace(Rwt,\"\"),e.length<2)return\"\";for(;e.length%4!==0;)e=e+\"=\";return e}function uG(e,t){t=t||1/0;let r,n=e.length,i=null,a=[];for(let o=0;o<n;++o){if(r=e.charCodeAt(o),r>55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error(\"Invalid code point\")}return a}function zwt(e){let t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r)&255);return t}function Fwt(e,t){let r,n,i,a=[];for(let o=0;o<e.length&&!((t-=2)<0);++o)r=e.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}function G3e(e){return oG.toByteArray(Dwt(e))}function O8(e,t,r,n){let i;for(i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function qm(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function dG(e){return e!==e}var qwt=function(){let e=\"0123456789abcdef\",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function I_(e){return typeof BigInt==\"undefined\"?Owt:e}function Owt(){throw new Error(\"BigInt not supported\")}});var B8=ye((_ur,j3e)=>{\"use strict\";j3e.exports=function(){if(typeof Symbol!=\"function\"||typeof Object.getOwnPropertySymbols!=\"function\")return!1;if(typeof Symbol.iterator==\"symbol\")return!0;var t={},r=Symbol(\"test\"),n=Object(r);if(typeof r==\"string\"||Object.prototype.toString.call(r)!==\"[object Symbol]\"||Object.prototype.toString.call(n)!==\"[object Symbol]\")return!1;var i=42;t[r]=i;for(r in t)return!1;if(typeof Object.keys==\"function\"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames==\"function\"&&Object.getOwnPropertyNames(t).length!==0)return!1;var a=Object.getOwnPropertySymbols(t);if(a.length!==1||a[0]!==r||!Object.prototype.propertyIsEnumerable.call(t,r))return!1;if(typeof Object.getOwnPropertyDescriptor==\"function\"){var o=Object.getOwnPropertyDescriptor(t,r);if(o.value!==i||o.enumerable!==!0)return!1}return!0}});var F4=ye((xur,W3e)=>{\"use strict\";var Bwt=B8();W3e.exports=function(){return Bwt()&&!!Symbol.toStringTag}});var X3e=ye((bur,Z3e)=>{\"use strict\";Z3e.exports=Error});var K3e=ye((wur,Y3e)=>{\"use strict\";Y3e.exports=EvalError});var $3e=ye((Tur,J3e)=>{\"use strict\";J3e.exports=RangeError});var eTe=ye((Aur,Q3e)=>{\"use strict\";Q3e.exports=ReferenceError});var vG=ye((Sur,tTe)=>{\"use strict\";tTe.exports=SyntaxError});var q4=ye((Mur,rTe)=>{\"use strict\";rTe.exports=TypeError});var nTe=ye((Eur,iTe)=>{\"use strict\";iTe.exports=URIError});var sTe=ye((kur,oTe)=>{\"use strict\";var aTe=typeof Symbol!=\"undefined\"&&Symbol,Nwt=B8();oTe.exports=function(){return typeof aTe!=\"function\"||typeof Symbol!=\"function\"||typeof aTe(\"foo\")!=\"symbol\"||typeof Symbol(\"bar\")!=\"symbol\"?!1:Nwt()}});var cTe=ye((Cur,uTe)=>{\"use strict\";var lTe={foo:{}},Uwt=Object;uTe.exports=function(){return{__proto__:lTe}.foo===lTe.foo&&!({__proto__:null}instanceof Uwt)}});var dTe=ye((Lur,hTe)=>{\"use strict\";var Vwt=\"Function.prototype.bind called on incompatible \",Hwt=Object.prototype.toString,Gwt=Math.max,jwt=\"[object Function]\",fTe=function(t,r){for(var n=[],i=0;i<t.length;i+=1)n[i]=t[i];for(var a=0;a<r.length;a+=1)n[a+t.length]=r[a];return n},Wwt=function(t,r){for(var n=[],i=r||0,a=0;i<t.length;i+=1,a+=1)n[a]=t[i];return n},Zwt=function(e,t){for(var r=\"\",n=0;n<e.length;n+=1)r+=e[n],n+1<e.length&&(r+=t);return r};hTe.exports=function(t){var r=this;if(typeof r!=\"function\"||Hwt.apply(r)!==jwt)throw new TypeError(Vwt+r);for(var n=Wwt(arguments,1),i,a=function(){if(this instanceof i){var c=r.apply(this,fTe(n,arguments));return Object(c)===c?c:this}return r.apply(t,fTe(n,arguments))},o=Gwt(0,r.length-n.length),s=[],l=0;l<o;l++)s[l]=\"$\"+l;if(i=Function(\"binder\",\"return function (\"+Zwt(s,\",\")+\"){ return binder.apply(this,arguments); }\")(a),r.prototype){var u=function(){};u.prototype=r.prototype,i.prototype=new u,u.prototype=null}return i}});var N8=ye((Pur,vTe)=>{\"use strict\";var Xwt=dTe();vTe.exports=Function.prototype.bind||Xwt});var gTe=ye((Iur,pTe)=>{\"use strict\";var Ywt=Function.prototype.call,Kwt=Object.prototype.hasOwnProperty,Jwt=N8();pTe.exports=Jwt.call(Ywt,Kwt)});var t5=ye((Rur,bTe)=>{\"use strict\";var jl,$wt=X3e(),Qwt=K3e(),e3t=$3e(),t3t=eTe(),e5=vG(),QT=q4(),r3t=nTe(),xTe=Function,pG=function(e){try{return xTe('\"use strict\"; return ('+e+\").constructor;\")()}catch(t){}},c2=Object.getOwnPropertyDescriptor;if(c2)try{c2({},\"\")}catch(e){c2=null}var gG=function(){throw new QT},i3t=c2?function(){try{return arguments.callee,gG}catch(e){try{return c2(arguments,\"callee\").get}catch(t){return gG}}}():gG,JT=sTe()(),n3t=cTe()(),Qd=Object.getPrototypeOf||(n3t?function(e){return e.__proto__}:null),$T={},a3t=typeof Uint8Array==\"undefined\"||!Qd?jl:Qd(Uint8Array),f2={__proto__:null,\"%AggregateError%\":typeof AggregateError==\"undefined\"?jl:AggregateError,\"%Array%\":Array,\"%ArrayBuffer%\":typeof ArrayBuffer==\"undefined\"?jl:ArrayBuffer,\"%ArrayIteratorPrototype%\":JT&&Qd?Qd([][Symbol.iterator]()):jl,\"%AsyncFromSyncIteratorPrototype%\":jl,\"%AsyncFunction%\":$T,\"%AsyncGenerator%\":$T,\"%AsyncGeneratorFunction%\":$T,\"%AsyncIteratorPrototype%\":$T,\"%Atomics%\":typeof Atomics==\"undefined\"?jl:Atomics,\"%BigInt%\":typeof BigInt==\"undefined\"?jl:BigInt,\"%BigInt64Array%\":typeof BigInt64Array==\"undefined\"?jl:BigInt64Array,\"%BigUint64Array%\":typeof BigUint64Array==\"undefined\"?jl:BigUint64Array,\"%Boolean%\":Boolean,\"%DataView%\":typeof DataView==\"undefined\"?jl:DataView,\"%Date%\":Date,\"%decodeURI%\":decodeURI,\"%decodeURIComponent%\":decodeURIComponent,\"%encodeURI%\":encodeURI,\"%encodeURIComponent%\":encodeURIComponent,\"%Error%\":$wt,\"%eval%\":eval,\"%EvalError%\":Qwt,\"%Float32Array%\":typeof Float32Array==\"undefined\"?jl:Float32Array,\"%Float64Array%\":typeof Float64Array==\"undefined\"?jl:Float64Array,\"%FinalizationRegistry%\":typeof FinalizationRegistry==\"undefined\"?jl:FinalizationRegistry,\"%Function%\":xTe,\"%GeneratorFunction%\":$T,\"%Int8Array%\":typeof Int8Array==\"undefined\"?jl:Int8Array,\"%Int16Array%\":typeof Int16Array==\"undefined\"?jl:Int16Array,\"%Int32Array%\":typeof Int32Array==\"undefined\"?jl:Int32Array,\"%isFinite%\":isFinite,\"%isNaN%\":isNaN,\"%IteratorPrototype%\":JT&&Qd?Qd(Qd([][Symbol.iterator]())):jl,\"%JSON%\":typeof JSON==\"object\"?JSON:jl,\"%Map%\":typeof Map==\"undefined\"?jl:Map,\"%MapIteratorPrototype%\":typeof Map==\"undefined\"||!JT||!Qd?jl:Qd(new Map()[Symbol.iterator]()),\"%Math%\":Math,\"%Number%\":Number,\"%Object%\":Object,\"%parseFloat%\":parseFloat,\"%parseInt%\":parseInt,\"%Promise%\":typeof Promise==\"undefined\"?jl:Promise,\"%Proxy%\":typeof Proxy==\"undefined\"?jl:Proxy,\"%RangeError%\":e3t,\"%ReferenceError%\":t3t,\"%Reflect%\":typeof Reflect==\"undefined\"?jl:Reflect,\"%RegExp%\":RegExp,\"%Set%\":typeof Set==\"undefined\"?jl:Set,\"%SetIteratorPrototype%\":typeof Set==\"undefined\"||!JT||!Qd?jl:Qd(new Set()[Symbol.iterator]()),\"%SharedArrayBuffer%\":typeof SharedArrayBuffer==\"undefined\"?jl:SharedArrayBuffer,\"%String%\":String,\"%StringIteratorPrototype%\":JT&&Qd?Qd(\"\"[Symbol.iterator]()):jl,\"%Symbol%\":JT?Symbol:jl,\"%SyntaxError%\":e5,\"%ThrowTypeError%\":i3t,\"%TypedArray%\":a3t,\"%TypeError%\":QT,\"%Uint8Array%\":typeof Uint8Array==\"undefined\"?jl:Uint8Array,\"%Uint8ClampedArray%\":typeof Uint8ClampedArray==\"undefined\"?jl:Uint8ClampedArray,\"%Uint16Array%\":typeof Uint16Array==\"undefined\"?jl:Uint16Array,\"%Uint32Array%\":typeof Uint32Array==\"undefined\"?jl:Uint32Array,\"%URIError%\":r3t,\"%WeakMap%\":typeof WeakMap==\"undefined\"?jl:WeakMap,\"%WeakRef%\":typeof WeakRef==\"undefined\"?jl:WeakRef,\"%WeakSet%\":typeof WeakSet==\"undefined\"?jl:WeakSet};if(Qd)try{null.error}catch(e){mTe=Qd(Qd(e)),f2[\"%Error.prototype%\"]=mTe}var mTe,o3t=function e(t){var r;if(t===\"%AsyncFunction%\")r=pG(\"async function () {}\");else if(t===\"%GeneratorFunction%\")r=pG(\"function* () {}\");else if(t===\"%AsyncGeneratorFunction%\")r=pG(\"async function* () {}\");else if(t===\"%AsyncGenerator%\"){var n=e(\"%AsyncGeneratorFunction%\");n&&(r=n.prototype)}else if(t===\"%AsyncIteratorPrototype%\"){var i=e(\"%AsyncGenerator%\");i&&Qd&&(r=Qd(i.prototype))}return f2[t]=r,r},yTe={__proto__:null,\"%ArrayBufferPrototype%\":[\"ArrayBuffer\",\"prototype\"],\"%ArrayPrototype%\":[\"Array\",\"prototype\"],\"%ArrayProto_entries%\":[\"Array\",\"prototype\",\"entries\"],\"%ArrayProto_forEach%\":[\"Array\",\"prototype\",\"forEach\"],\"%ArrayProto_keys%\":[\"Array\",\"prototype\",\"keys\"],\"%ArrayProto_values%\":[\"Array\",\"prototype\",\"values\"],\"%AsyncFunctionPrototype%\":[\"AsyncFunction\",\"prototype\"],\"%AsyncGenerator%\":[\"AsyncGeneratorFunction\",\"prototype\"],\"%AsyncGeneratorPrototype%\":[\"AsyncGeneratorFunction\",\"prototype\",\"prototype\"],\"%BooleanPrototype%\":[\"Boolean\",\"prototype\"],\"%DataViewPrototype%\":[\"DataView\",\"prototype\"],\"%DatePrototype%\":[\"Date\",\"prototype\"],\"%ErrorPrototype%\":[\"Error\",\"prototype\"],\"%EvalErrorPrototype%\":[\"EvalError\",\"prototype\"],\"%Float32ArrayPrototype%\":[\"Float32Array\",\"prototype\"],\"%Float64ArrayPrototype%\":[\"Float64Array\",\"prototype\"],\"%FunctionPrototype%\":[\"Function\",\"prototype\"],\"%Generator%\":[\"GeneratorFunction\",\"prototype\"],\"%GeneratorPrototype%\":[\"GeneratorFunction\",\"prototype\",\"prototype\"],\"%Int8ArrayPrototype%\":[\"Int8Array\",\"prototype\"],\"%Int16ArrayPrototype%\":[\"Int16Array\",\"prototype\"],\"%Int32ArrayPrototype%\":[\"Int32Array\",\"prototype\"],\"%JSONParse%\":[\"JSON\",\"parse\"],\"%JSONStringify%\":[\"JSON\",\"stringify\"],\"%MapPrototype%\":[\"Map\",\"prototype\"],\"%NumberPrototype%\":[\"Number\",\"prototype\"],\"%ObjectPrototype%\":[\"Object\",\"prototype\"],\"%ObjProto_toString%\":[\"Object\",\"prototype\",\"toString\"],\"%ObjProto_valueOf%\":[\"Object\",\"prototype\",\"valueOf\"],\"%PromisePrototype%\":[\"Promise\",\"prototype\"],\"%PromiseProto_then%\":[\"Promise\",\"prototype\",\"then\"],\"%Promise_all%\":[\"Promise\",\"all\"],\"%Promise_reject%\":[\"Promise\",\"reject\"],\"%Promise_resolve%\":[\"Promise\",\"resolve\"],\"%RangeErrorPrototype%\":[\"RangeError\",\"prototype\"],\"%ReferenceErrorPrototype%\":[\"ReferenceError\",\"prototype\"],\"%RegExpPrototype%\":[\"RegExp\",\"prototype\"],\"%SetPrototype%\":[\"Set\",\"prototype\"],\"%SharedArrayBufferPrototype%\":[\"SharedArrayBuffer\",\"prototype\"],\"%StringPrototype%\":[\"String\",\"prototype\"],\"%SymbolPrototype%\":[\"Symbol\",\"prototype\"],\"%SyntaxErrorPrototype%\":[\"SyntaxError\",\"prototype\"],\"%TypedArrayPrototype%\":[\"TypedArray\",\"prototype\"],\"%TypeErrorPrototype%\":[\"TypeError\",\"prototype\"],\"%Uint8ArrayPrototype%\":[\"Uint8Array\",\"prototype\"],\"%Uint8ClampedArrayPrototype%\":[\"Uint8ClampedArray\",\"prototype\"],\"%Uint16ArrayPrototype%\":[\"Uint16Array\",\"prototype\"],\"%Uint32ArrayPrototype%\":[\"Uint32Array\",\"prototype\"],\"%URIErrorPrototype%\":[\"URIError\",\"prototype\"],\"%WeakMapPrototype%\":[\"WeakMap\",\"prototype\"],\"%WeakSetPrototype%\":[\"WeakSet\",\"prototype\"]},O4=N8(),U8=gTe(),s3t=O4.call(Function.call,Array.prototype.concat),l3t=O4.call(Function.apply,Array.prototype.splice),_Te=O4.call(Function.call,String.prototype.replace),V8=O4.call(Function.call,String.prototype.slice),u3t=O4.call(Function.call,RegExp.prototype.exec),c3t=/[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g,f3t=/\\\\(\\\\)?/g,h3t=function(t){var r=V8(t,0,1),n=V8(t,-1);if(r===\"%\"&&n!==\"%\")throw new e5(\"invalid intrinsic syntax, expected closing `%`\");if(n===\"%\"&&r!==\"%\")throw new e5(\"invalid intrinsic syntax, expected opening `%`\");var i=[];return _Te(t,c3t,function(a,o,s,l){i[i.length]=s?_Te(l,f3t,\"$1\"):o||a}),i},d3t=function(t,r){var n=t,i;if(U8(yTe,n)&&(i=yTe[n],n=\"%\"+i[0]+\"%\"),U8(f2,n)){var a=f2[n];if(a===$T&&(a=o3t(n)),typeof a==\"undefined\"&&!r)throw new QT(\"intrinsic \"+t+\" exists, but is not available. Please file an issue!\");return{alias:i,name:n,value:a}}throw new e5(\"intrinsic \"+t+\" does not exist!\")};bTe.exports=function(t,r){if(typeof t!=\"string\"||t.length===0)throw new QT(\"intrinsic name must be a non-empty string\");if(arguments.length>1&&typeof r!=\"boolean\")throw new QT('\"allowMissing\" argument must be a boolean');if(u3t(/^%?[^%]*%?$/,t)===null)throw new e5(\"`%` may not be present anywhere but at the beginning and end of the intrinsic name\");var n=h3t(t),i=n.length>0?n[0]:\"\",a=d3t(\"%\"+i+\"%\",r),o=a.name,s=a.value,l=!1,u=a.alias;u&&(i=u[0],l3t(n,s3t([0,1],u)));for(var c=1,f=!0;c<n.length;c+=1){var h=n[c],d=V8(h,0,1),v=V8(h,-1);if((d==='\"'||d===\"'\"||d===\"`\"||v==='\"'||v===\"'\"||v===\"`\")&&d!==v)throw new e5(\"property names with quotes must have matching quotes\");if((h===\"constructor\"||!f)&&(l=!0),i+=\".\"+h,o=\"%\"+i+\"%\",U8(f2,o))s=f2[o];else if(s!=null){if(!(h in s)){if(!r)throw new QT(\"base intrinsic for \"+t+\" exists, but the property is not available.\");return}if(c2&&c+1>=n.length){var x=c2(s,h);f=!!x,f&&\"get\"in x&&!(\"originalValue\"in x.get)?s=x.get:s=s[h]}else f=U8(s,h),s=s[h];f&&!l&&(f2[o]=s)}}return s}});var G8=ye((Dur,wTe)=>{\"use strict\";var v3t=t5(),H8=v3t(\"%Object.defineProperty%\",!0)||!1;if(H8)try{H8({},\"a\",{value:1})}catch(e){H8=!1}wTe.exports=H8});var B4=ye((zur,TTe)=>{\"use strict\";var p3t=t5(),j8=p3t(\"%Object.getOwnPropertyDescriptor%\",!0);if(j8)try{j8([],\"length\")}catch(e){j8=null}TTe.exports=j8});var ETe=ye((Fur,MTe)=>{\"use strict\";var ATe=G8(),g3t=vG(),r5=q4(),STe=B4();MTe.exports=function(t,r,n){if(!t||typeof t!=\"object\"&&typeof t!=\"function\")throw new r5(\"`obj` must be an object or a function`\");if(typeof r!=\"string\"&&typeof r!=\"symbol\")throw new r5(\"`property` must be a string or a symbol`\");if(arguments.length>3&&typeof arguments[3]!=\"boolean\"&&arguments[3]!==null)throw new r5(\"`nonEnumerable`, if provided, must be a boolean or null\");if(arguments.length>4&&typeof arguments[4]!=\"boolean\"&&arguments[4]!==null)throw new r5(\"`nonWritable`, if provided, must be a boolean or null\");if(arguments.length>5&&typeof arguments[5]!=\"boolean\"&&arguments[5]!==null)throw new r5(\"`nonConfigurable`, if provided, must be a boolean or null\");if(arguments.length>6&&typeof arguments[6]!=\"boolean\")throw new r5(\"`loose`, if provided, must be a boolean\");var i=arguments.length>3?arguments[3]:null,a=arguments.length>4?arguments[4]:null,o=arguments.length>5?arguments[5]:null,s=arguments.length>6?arguments[6]:!1,l=!!STe&&STe(t,r);if(ATe)ATe(t,r,{configurable:o===null&&l?l.configurable:!o,enumerable:i===null&&l?l.enumerable:!i,value:n,writable:a===null&&l?l.writable:!a});else if(s||!i&&!a&&!o)t[r]=n;else throw new g3t(\"This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.\")}});var yG=ye((qur,CTe)=>{\"use strict\";var mG=G8(),kTe=function(){return!!mG};kTe.hasArrayLengthDefineBug=function(){if(!mG)return null;try{return mG([],\"length\",{value:1}).length!==1}catch(t){return!0}};CTe.exports=kTe});var DTe=ye((Our,RTe)=>{\"use strict\";var m3t=t5(),LTe=ETe(),y3t=yG()(),PTe=B4(),ITe=q4(),_3t=m3t(\"%Math.floor%\");RTe.exports=function(t,r){if(typeof t!=\"function\")throw new ITe(\"`fn` is not a function\");if(typeof r!=\"number\"||r<0||r>4294967295||_3t(r)!==r)throw new ITe(\"`length` must be a positive 32-bit integer\");var n=arguments.length>2&&!!arguments[2],i=!0,a=!0;if(\"length\"in t&&PTe){var o=PTe(t,\"length\");o&&!o.configurable&&(i=!1),o&&!o.writable&&(a=!1)}return(i||a||!n)&&(y3t?LTe(t,\"length\",r,!0,!0):LTe(t,\"length\",r)),t}});var N4=ye((Bur,W8)=>{\"use strict\";var _G=N8(),Z8=t5(),x3t=DTe(),b3t=q4(),qTe=Z8(\"%Function.prototype.apply%\"),OTe=Z8(\"%Function.prototype.call%\"),BTe=Z8(\"%Reflect.apply%\",!0)||_G.call(OTe,qTe),zTe=G8(),w3t=Z8(\"%Math.max%\");W8.exports=function(t){if(typeof t!=\"function\")throw new b3t(\"a function is required\");var r=BTe(_G,OTe,arguments);return x3t(r,1+w3t(0,t.length-(arguments.length-1)),!0)};var FTe=function(){return BTe(_G,qTe,arguments)};zTe?zTe(W8.exports,\"apply\",{value:FTe}):W8.exports.apply=FTe});var i5=ye((Nur,VTe)=>{\"use strict\";var NTe=t5(),UTe=N4(),T3t=UTe(NTe(\"String.prototype.indexOf\"));VTe.exports=function(t,r){var n=NTe(t,!!r);return typeof n==\"function\"&&T3t(t,\".prototype.\")>-1?UTe(n):n}});var jTe=ye((Uur,GTe)=>{\"use strict\";var A3t=F4()(),S3t=i5(),xG=S3t(\"Object.prototype.toString\"),X8=function(t){return A3t&&t&&typeof t==\"object\"&&Symbol.toStringTag in t?!1:xG(t)===\"[object Arguments]\"},HTe=function(t){return X8(t)?!0:t!==null&&typeof t==\"object\"&&typeof t.length==\"number\"&&t.length>=0&&xG(t)!==\"[object Array]\"&&xG(t.callee)===\"[object Function]\"},M3t=function(){return X8(arguments)}();X8.isLegacyArguments=HTe;GTe.exports=M3t?X8:HTe});var XTe=ye((Vur,ZTe)=>{\"use strict\";var E3t=Object.prototype.toString,k3t=Function.prototype.toString,C3t=/^\\s*(?:function)?\\*/,WTe=F4()(),bG=Object.getPrototypeOf,L3t=function(){if(!WTe)return!1;try{return Function(\"return function*() {}\")()}catch(e){}},wG;ZTe.exports=function(t){if(typeof t!=\"function\")return!1;if(C3t.test(k3t.call(t)))return!0;if(!WTe){var r=E3t.call(t);return r===\"[object GeneratorFunction]\"}if(!bG)return!1;if(typeof wG==\"undefined\"){var n=L3t();wG=n?bG(n):!1}return bG(t)===wG}});var $Te=ye((Hur,JTe)=>{\"use strict\";var KTe=Function.prototype.toString,n5=typeof Reflect==\"object\"&&Reflect!==null&&Reflect.apply,AG,Y8;if(typeof n5==\"function\"&&typeof Object.defineProperty==\"function\")try{AG=Object.defineProperty({},\"length\",{get:function(){throw Y8}}),Y8={},n5(function(){throw 42},null,AG)}catch(e){e!==Y8&&(n5=null)}else n5=null;var P3t=/^\\s*class\\b/,SG=function(t){try{var r=KTe.call(t);return P3t.test(r)}catch(n){return!1}},TG=function(t){try{return SG(t)?!1:(KTe.call(t),!0)}catch(r){return!1}},K8=Object.prototype.toString,I3t=\"[object Object]\",R3t=\"[object Function]\",D3t=\"[object GeneratorFunction]\",z3t=\"[object HTMLAllCollection]\",F3t=\"[object HTML document.all class]\",q3t=\"[object HTMLCollection]\",O3t=typeof Symbol==\"function\"&&!!Symbol.toStringTag,B3t=!(0 in[,]),MG=function(){return!1};typeof document==\"object\"&&(YTe=document.all,K8.call(YTe)===K8.call(document.all)&&(MG=function(t){if((B3t||!t)&&(typeof t==\"undefined\"||typeof t==\"object\"))try{var r=K8.call(t);return(r===z3t||r===F3t||r===q3t||r===I3t)&&t(\"\")==null}catch(n){}return!1}));var YTe;JTe.exports=n5?function(t){if(MG(t))return!0;if(!t||typeof t!=\"function\"&&typeof t!=\"object\")return!1;try{n5(t,null,AG)}catch(r){if(r!==Y8)return!1}return!SG(t)&&TG(t)}:function(t){if(MG(t))return!0;if(!t||typeof t!=\"function\"&&typeof t!=\"object\")return!1;if(O3t)return TG(t);if(SG(t))return!1;var r=K8.call(t);return r!==R3t&&r!==D3t&&!/^\\[object HTML/.test(r)?!1:TG(t)}});var EG=ye((Gur,e5e)=>{\"use strict\";var N3t=$Te(),U3t=Object.prototype.toString,QTe=Object.prototype.hasOwnProperty,V3t=function(t,r,n){for(var i=0,a=t.length;i<a;i++)QTe.call(t,i)&&(n==null?r(t[i],i,t):r.call(n,t[i],i,t))},H3t=function(t,r,n){for(var i=0,a=t.length;i<a;i++)n==null?r(t.charAt(i),i,t):r.call(n,t.charAt(i),i,t)},G3t=function(t,r,n){for(var i in t)QTe.call(t,i)&&(n==null?r(t[i],i,t):r.call(n,t[i],i,t))},j3t=function(t,r,n){if(!N3t(r))throw new TypeError(\"iterator must be a function\");var i;arguments.length>=3&&(i=n),U3t.call(t)===\"[object Array]\"?V3t(t,r,i):typeof t==\"string\"?H3t(t,r,i):G3t(t,r,i)};e5e.exports=j3t});var CG=ye((jur,t5e)=>{\"use strict\";var kG=[\"BigInt64Array\",\"BigUint64Array\",\"Float32Array\",\"Float64Array\",\"Int16Array\",\"Int32Array\",\"Int8Array\",\"Uint16Array\",\"Uint32Array\",\"Uint8Array\",\"Uint8ClampedArray\"],W3t=typeof globalThis==\"undefined\"?window:globalThis;t5e.exports=function(){for(var t=[],r=0;r<kG.length;r++)typeof W3t[kG[r]]==\"function\"&&(t[t.length]=kG[r]);return t}});var o5e=ye((Wur,a5e)=>{\"use strict\";var $8=EG(),Z3t=CG(),r5e=N4(),IG=i5(),J8=B4(),X3t=IG(\"Object.prototype.toString\"),n5e=F4()(),i5e=typeof globalThis==\"undefined\"?window:globalThis,PG=Z3t(),RG=IG(\"String.prototype.slice\"),LG=Object.getPrototypeOf,Y3t=IG(\"Array.prototype.indexOf\",!0)||function(t,r){for(var n=0;n<t.length;n+=1)if(t[n]===r)return n;return-1},Q8={__proto__:null};n5e&&J8&&LG?$8(PG,function(e){var t=new i5e[e];if(Symbol.toStringTag in t){var r=LG(t),n=J8(r,Symbol.toStringTag);if(!n){var i=LG(r);n=J8(i,Symbol.toStringTag)}Q8[\"$\"+e]=r5e(n.get)}}):$8(PG,function(e){var t=new i5e[e],r=t.slice||t.set;r&&(Q8[\"$\"+e]=r5e(r))});var K3t=function(t){var r=!1;return $8(Q8,function(n,i){if(!r)try{\"$\"+n(t)===i&&(r=RG(i,1))}catch(a){}}),r},J3t=function(t){var r=!1;return $8(Q8,function(n,i){if(!r)try{n(t),r=RG(i,1)}catch(a){}}),r};a5e.exports=function(t){if(!t||typeof t!=\"object\")return!1;if(!n5e){var r=RG(X3t(t),8,-1);return Y3t(PG,r)>-1?r:r!==\"Object\"?!1:J3t(t)}return J8?K3t(t):null}});var h5e=ye((Zur,f5e)=>{\"use strict\";var s5e=EG(),$3t=CG(),zG=i5(),Q3t=zG(\"Object.prototype.toString\"),l5e=F4()(),eR=B4(),eTt=typeof globalThis==\"undefined\"?window:globalThis,u5e=$3t(),tTt=zG(\"Array.prototype.indexOf\",!0)||function(t,r){for(var n=0;n<t.length;n+=1)if(t[n]===r)return n;return-1},rTt=zG(\"String.prototype.slice\"),c5e={},DG=Object.getPrototypeOf;l5e&&eR&&DG&&s5e(u5e,function(e){var t=new eTt[e];if(Symbol.toStringTag in t){var r=DG(t),n=eR(r,Symbol.toStringTag);if(!n){var i=DG(r);n=eR(i,Symbol.toStringTag)}c5e[e]=n.get}});var iTt=function(t){var r=!1;return s5e(c5e,function(n,i){if(!r)try{r=n.call(t)===i}catch(a){}}),r};f5e.exports=function(t){if(!t||typeof t!=\"object\")return!1;if(!l5e||!(Symbol.toStringTag in t)){var r=rTt(Q3t(t),8,-1);return tTt(u5e,r)>-1}return eR?iTt(t):!1}});var OG=ye(Bl=>{\"use strict\";var nTt=jTe(),aTt=XTe(),Hg=o5e(),d5e=h5e();function a5(e){return e.call.bind(e)}var v5e=typeof BigInt!=\"undefined\",p5e=typeof Symbol!=\"undefined\",X0=a5(Object.prototype.toString),oTt=a5(Number.prototype.valueOf),sTt=a5(String.prototype.valueOf),lTt=a5(Boolean.prototype.valueOf);v5e&&(g5e=a5(BigInt.prototype.valueOf));var g5e;p5e&&(m5e=a5(Symbol.prototype.valueOf));var m5e;function V4(e,t){if(typeof e!=\"object\")return!1;try{return t(e),!0}catch(r){return!1}}Bl.isArgumentsObject=nTt;Bl.isGeneratorFunction=aTt;Bl.isTypedArray=d5e;function uTt(e){return typeof Promise!=\"undefined\"&&e instanceof Promise||e!==null&&typeof e==\"object\"&&typeof e.then==\"function\"&&typeof e.catch==\"function\"}Bl.isPromise=uTt;function cTt(e){return typeof ArrayBuffer!=\"undefined\"&&ArrayBuffer.isView?ArrayBuffer.isView(e):d5e(e)||_5e(e)}Bl.isArrayBufferView=cTt;function fTt(e){return Hg(e)===\"Uint8Array\"}Bl.isUint8Array=fTt;function hTt(e){return Hg(e)===\"Uint8ClampedArray\"}Bl.isUint8ClampedArray=hTt;function dTt(e){return Hg(e)===\"Uint16Array\"}Bl.isUint16Array=dTt;function vTt(e){return Hg(e)===\"Uint32Array\"}Bl.isUint32Array=vTt;function pTt(e){return Hg(e)===\"Int8Array\"}Bl.isInt8Array=pTt;function gTt(e){return Hg(e)===\"Int16Array\"}Bl.isInt16Array=gTt;function mTt(e){return Hg(e)===\"Int32Array\"}Bl.isInt32Array=mTt;function yTt(e){return Hg(e)===\"Float32Array\"}Bl.isFloat32Array=yTt;function _Tt(e){return Hg(e)===\"Float64Array\"}Bl.isFloat64Array=_Tt;function xTt(e){return Hg(e)===\"BigInt64Array\"}Bl.isBigInt64Array=xTt;function bTt(e){return Hg(e)===\"BigUint64Array\"}Bl.isBigUint64Array=bTt;function tR(e){return X0(e)===\"[object Map]\"}tR.working=typeof Map!=\"undefined\"&&tR(new Map);function wTt(e){return typeof Map==\"undefined\"?!1:tR.working?tR(e):e instanceof Map}Bl.isMap=wTt;function rR(e){return X0(e)===\"[object Set]\"}rR.working=typeof Set!=\"undefined\"&&rR(new Set);function TTt(e){return typeof Set==\"undefined\"?!1:rR.working?rR(e):e instanceof Set}Bl.isSet=TTt;function iR(e){return X0(e)===\"[object WeakMap]\"}iR.working=typeof WeakMap!=\"undefined\"&&iR(new WeakMap);function ATt(e){return typeof WeakMap==\"undefined\"?!1:iR.working?iR(e):e instanceof WeakMap}Bl.isWeakMap=ATt;function qG(e){return X0(e)===\"[object WeakSet]\"}qG.working=typeof WeakSet!=\"undefined\"&&qG(new WeakSet);function STt(e){return qG(e)}Bl.isWeakSet=STt;function nR(e){return X0(e)===\"[object ArrayBuffer]\"}nR.working=typeof ArrayBuffer!=\"undefined\"&&nR(new ArrayBuffer);function y5e(e){return typeof ArrayBuffer==\"undefined\"?!1:nR.working?nR(e):e instanceof ArrayBuffer}Bl.isArrayBuffer=y5e;function aR(e){return X0(e)===\"[object DataView]\"}aR.working=typeof ArrayBuffer!=\"undefined\"&&typeof DataView!=\"undefined\"&&aR(new DataView(new ArrayBuffer(1),0,1));function _5e(e){return typeof DataView==\"undefined\"?!1:aR.working?aR(e):e instanceof DataView}Bl.isDataView=_5e;var FG=typeof SharedArrayBuffer!=\"undefined\"?SharedArrayBuffer:void 0;function U4(e){return X0(e)===\"[object SharedArrayBuffer]\"}function x5e(e){return typeof FG==\"undefined\"?!1:(typeof U4.working==\"undefined\"&&(U4.working=U4(new FG)),U4.working?U4(e):e instanceof FG)}Bl.isSharedArrayBuffer=x5e;function MTt(e){return X0(e)===\"[object AsyncFunction]\"}Bl.isAsyncFunction=MTt;function ETt(e){return X0(e)===\"[object Map Iterator]\"}Bl.isMapIterator=ETt;function kTt(e){return X0(e)===\"[object Set Iterator]\"}Bl.isSetIterator=kTt;function CTt(e){return X0(e)===\"[object Generator]\"}Bl.isGeneratorObject=CTt;function LTt(e){return X0(e)===\"[object WebAssembly.Module]\"}Bl.isWebAssemblyCompiledModule=LTt;function b5e(e){return V4(e,oTt)}Bl.isNumberObject=b5e;function w5e(e){return V4(e,sTt)}Bl.isStringObject=w5e;function T5e(e){return V4(e,lTt)}Bl.isBooleanObject=T5e;function A5e(e){return v5e&&V4(e,g5e)}Bl.isBigIntObject=A5e;function S5e(e){return p5e&&V4(e,m5e)}Bl.isSymbolObject=S5e;function PTt(e){return b5e(e)||w5e(e)||T5e(e)||A5e(e)||S5e(e)}Bl.isBoxedPrimitive=PTt;function ITt(e){return typeof Uint8Array!=\"undefined\"&&(y5e(e)||x5e(e))}Bl.isAnyArrayBuffer=ITt;[\"isProxy\",\"isExternal\",\"isModuleNamespaceObject\"].forEach(function(e){Object.defineProperty(Bl,e,{enumerable:!1,value:function(){throw new Error(e+\" is not supported in userland\")}})})});var BG=ye((Yur,M5e)=>{M5e.exports=function(t){return t&&typeof t==\"object\"&&typeof t.copy==\"function\"&&typeof t.fill==\"function\"&&typeof t.readUInt8==\"function\"}});var jG=ye(Nl=>{var E5e=Object.getOwnPropertyDescriptors||function(t){for(var r=Object.keys(t),n={},i=0;i<r.length;i++)n[r[i]]=Object.getOwnPropertyDescriptor(t,r[i]);return n},RTt=/%[sdj%]/g;Nl.format=function(e){if(!hR(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(R_(arguments[r]));return t.join(\" \")}for(var r=1,n=arguments,i=n.length,a=String(e).replace(RTt,function(s){if(s===\"%%\")return\"%\";if(r>=i)return s;switch(s){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(l){return\"[Circular]\"}default:return s}}),o=n[r];r<i;o=n[++r])fR(o)||!o5(o)?a+=\" \"+o:a+=\" \"+R_(o);return a};Nl.deprecate=function(e,t){if(typeof process!=\"undefined\"&&process.noDeprecation===!0)return e;if(typeof process==\"undefined\")return function(){return Nl.deprecate(e,t).apply(this,arguments)};var r=!1;function n(){if(!r){if(process.throwDeprecation)throw new Error(t);process.traceDeprecation?console.trace(t):console.error(t),r=!0}return e.apply(this,arguments)}return n};var oR={},k5e=/^$/;sR=\"false\",sR=sR.replace(/[|\\\\{}()[\\]^$+?.]/g,\"\\\\$&\").replace(/\\*/g,\".*\").replace(/,/g,\"$|^\").toUpperCase(),k5e=new RegExp(\"^\"+sR+\"$\",\"i\");var sR;Nl.debuglog=function(e){if(e=e.toUpperCase(),!oR[e])if(k5e.test(e)){var t=process.pid;oR[e]=function(){var r=Nl.format.apply(Nl,arguments);console.error(\"%s %d: %s\",e,t,r)}}else oR[e]=function(){};return oR[e]};function R_(e,t){var r={seen:[],stylize:zTt};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),HG(t)?r.showHidden=t:t&&Nl._extend(r,t),d2(r.showHidden)&&(r.showHidden=!1),d2(r.depth)&&(r.depth=2),d2(r.colors)&&(r.colors=!1),d2(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=DTt),uR(r,e,r.depth)}Nl.inspect=R_;R_.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]};R_.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};function DTt(e,t){var r=R_.styles[t];return r?\"\\x1B[\"+R_.colors[r][0]+\"m\"+e+\"\\x1B[\"+R_.colors[r][1]+\"m\":e}function zTt(e,t){return e}function FTt(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function uR(e,t,r){if(e.customInspect&&t&&lR(t.inspect)&&t.inspect!==Nl.inspect&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return hR(n)||(n=uR(e,n,r)),n}var i=qTt(e,t);if(i)return i;var a=Object.keys(t),o=FTt(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),G4(t)&&(a.indexOf(\"message\")>=0||a.indexOf(\"description\")>=0))return NG(t);if(a.length===0){if(lR(t)){var s=t.name?\": \"+t.name:\"\";return e.stylize(\"[Function\"+s+\"]\",\"special\")}if(H4(t))return e.stylize(RegExp.prototype.toString.call(t),\"regexp\");if(cR(t))return e.stylize(Date.prototype.toString.call(t),\"date\");if(G4(t))return NG(t)}var l=\"\",u=!1,c=[\"{\",\"}\"];if(C5e(t)&&(u=!0,c=[\"[\",\"]\"]),lR(t)){var f=t.name?\": \"+t.name:\"\";l=\" [Function\"+f+\"]\"}if(H4(t)&&(l=\" \"+RegExp.prototype.toString.call(t)),cR(t)&&(l=\" \"+Date.prototype.toUTCString.call(t)),G4(t)&&(l=\" \"+NG(t)),a.length===0&&(!u||t.length==0))return c[0]+l+c[1];if(r<0)return H4(t)?e.stylize(RegExp.prototype.toString.call(t),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(t);var h;return u?h=OTt(e,t,r,o,a):h=a.map(function(d){return VG(e,t,r,o,d,u)}),e.seen.pop(),BTt(h,l,c)}function qTt(e,t){if(d2(t))return e.stylize(\"undefined\",\"undefined\");if(hR(t)){var r=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(r,\"string\")}if(L5e(t))return e.stylize(\"\"+t,\"number\");if(HG(t))return e.stylize(\"\"+t,\"boolean\");if(fR(t))return e.stylize(\"null\",\"null\")}function NG(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function OTt(e,t,r,n,i){for(var a=[],o=0,s=t.length;o<s;++o)P5e(t,String(o))?a.push(VG(e,t,r,n,String(o),!0)):a.push(\"\");return i.forEach(function(l){l.match(/^\\d+$/)||a.push(VG(e,t,r,n,l,!0))}),a}function VG(e,t,r,n,i,a){var o,s,l;if(l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]},l.get?l.set?s=e.stylize(\"[Getter/Setter]\",\"special\"):s=e.stylize(\"[Getter]\",\"special\"):l.set&&(s=e.stylize(\"[Setter]\",\"special\")),P5e(n,i)||(o=\"[\"+i+\"]\"),s||(e.seen.indexOf(l.value)<0?(fR(r)?s=uR(e,l.value,null):s=uR(e,l.value,r-1),s.indexOf(`\n", - "`)>-1&&(a?s=s.split(`\n", - "`).map(function(u){return\" \"+u}).join(`\n", - "`).slice(2):s=`\n", - "`+s.split(`\n", - "`).map(function(u){return\" \"+u}).join(`\n", - "`))):s=e.stylize(\"[Circular]\",\"special\")),d2(o)){if(a&&i.match(/^\\d+$/))return s;o=JSON.stringify(\"\"+i),o.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.slice(1,-1),o=e.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=e.stylize(o,\"string\"))}return o+\": \"+s}function BTt(e,t,r){var n=0,i=e.reduce(function(a,o){return n++,o.indexOf(`\n", - "`)>=0&&n++,a+o.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return i>60?r[0]+(t===\"\"?\"\":t+`\n", - " `)+\" \"+e.join(`,\n", - " `)+\" \"+r[1]:r[0]+t+\" \"+e.join(\", \")+\" \"+r[1]}Nl.types=OG();function C5e(e){return Array.isArray(e)}Nl.isArray=C5e;function HG(e){return typeof e==\"boolean\"}Nl.isBoolean=HG;function fR(e){return e===null}Nl.isNull=fR;function NTt(e){return e==null}Nl.isNullOrUndefined=NTt;function L5e(e){return typeof e==\"number\"}Nl.isNumber=L5e;function hR(e){return typeof e==\"string\"}Nl.isString=hR;function UTt(e){return typeof e==\"symbol\"}Nl.isSymbol=UTt;function d2(e){return e===void 0}Nl.isUndefined=d2;function H4(e){return o5(e)&&GG(e)===\"[object RegExp]\"}Nl.isRegExp=H4;Nl.types.isRegExp=H4;function o5(e){return typeof e==\"object\"&&e!==null}Nl.isObject=o5;function cR(e){return o5(e)&&GG(e)===\"[object Date]\"}Nl.isDate=cR;Nl.types.isDate=cR;function G4(e){return o5(e)&&(GG(e)===\"[object Error]\"||e instanceof Error)}Nl.isError=G4;Nl.types.isNativeError=G4;function lR(e){return typeof e==\"function\"}Nl.isFunction=lR;function VTt(e){return e===null||typeof e==\"boolean\"||typeof e==\"number\"||typeof e==\"string\"||typeof e==\"symbol\"||typeof e==\"undefined\"}Nl.isPrimitive=VTt;Nl.isBuffer=BG();function GG(e){return Object.prototype.toString.call(e)}function UG(e){return e<10?\"0\"+e.toString(10):e.toString(10)}var HTt=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function GTt(){var e=new Date,t=[UG(e.getHours()),UG(e.getMinutes()),UG(e.getSeconds())].join(\":\");return[e.getDate(),HTt[e.getMonth()],t].join(\" \")}Nl.log=function(){console.log(\"%s - %s\",GTt(),Nl.format.apply(Nl,arguments))};Nl.inherits=Uy();Nl._extend=function(e,t){if(!t||!o5(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};function P5e(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var h2=typeof Symbol!=\"undefined\"?Symbol(\"util.promisify.custom\"):void 0;Nl.promisify=function(t){if(typeof t!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');if(h2&&t[h2]){var r=t[h2];if(typeof r!=\"function\")throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(r,h2,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var n,i,a=new Promise(function(l,u){n=l,i=u}),o=[],s=0;s<arguments.length;s++)o.push(arguments[s]);o.push(function(l,u){l?i(l):n(u)});try{t.apply(this,o)}catch(l){i(l)}return a}return Object.setPrototypeOf(r,Object.getPrototypeOf(t)),h2&&Object.defineProperty(r,h2,{value:r,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(r,E5e(t))};Nl.promisify.custom=h2;function jTt(e,t){if(!e){var r=new Error(\"Promise was rejected with a falsy value\");r.reason=e,e=r}return t(e)}function WTt(e){if(typeof e!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');function t(){for(var r=[],n=0;n<arguments.length;n++)r.push(arguments[n]);var i=r.pop();if(typeof i!=\"function\")throw new TypeError(\"The last argument must be of type Function\");var a=this,o=function(){return i.apply(a,arguments)};e.apply(this,r).then(function(s){process.nextTick(o.bind(null,null,s))},function(s){process.nextTick(jTt.bind(null,s,o))})}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),Object.defineProperties(t,E5e(e)),t}Nl.callbackify=WTt});var z5e=ye((Jur,D5e)=>{\"use strict\";function I5e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ZTt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?I5e(Object(r),!0).forEach(function(n){XTt(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):I5e(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function XTt(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function YTt(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function R5e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function KTt(e,t,r){return t&&R5e(e.prototype,t),r&&R5e(e,r),e}var JTt=u2(),dR=JTt.Buffer,$Tt=jG(),WG=$Tt.inspect,QTt=WG&&WG.custom||\"inspect\";function e5t(e,t,r){dR.prototype.copy.call(e,t,r)}D5e.exports=function(){function e(){YTt(this,e),this.head=null,this.tail=null,this.length=0}return KTt(e,[{key:\"push\",value:function(r){var n={data:r,next:null};this.length>0?this.tail.next=n:this.head=n,this.tail=n,++this.length}},{key:\"unshift\",value:function(r){var n={data:r,next:this.head};this.length===0&&(this.tail=n),this.head=n,++this.length}},{key:\"shift\",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:\"clear\",value:function(){this.head=this.tail=null,this.length=0}},{key:\"join\",value:function(r){if(this.length===0)return\"\";for(var n=this.head,i=\"\"+n.data;n=n.next;)i+=r+n.data;return i}},{key:\"concat\",value:function(r){if(this.length===0)return dR.alloc(0);for(var n=dR.allocUnsafe(r>>>0),i=this.head,a=0;i;)e5t(i.data,n,a),a+=i.data.length,i=i.next;return n}},{key:\"consume\",value:function(r,n){var i;return r<this.head.data.length?(i=this.head.data.slice(0,r),this.head.data=this.head.data.slice(r)):r===this.head.data.length?i=this.shift():i=n?this._getString(r):this._getBuffer(r),i}},{key:\"first\",value:function(){return this.head.data}},{key:\"_getString\",value:function(r){var n=this.head,i=1,a=n.data;for(r-=a.length;n=n.next;){var o=n.data,s=r>o.length?o.length:r;if(s===o.length?a+=o:a+=o.slice(0,r),r-=s,r===0){s===o.length?(++i,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(s));break}++i}return this.length-=i,a}},{key:\"_getBuffer\",value:function(r){var n=dR.allocUnsafe(r),i=this.head,a=1;for(i.data.copy(n),r-=i.data.length;i=i.next;){var o=i.data,s=r>o.length?o.length:r;if(o.copy(n,n.length-r,0,s),r-=s,r===0){s===o.length?(++a,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(s));break}++a}return this.length-=a,n}},{key:QTt,value:function(r,n){return WG(this,ZTt({},n,{depth:0,customInspect:!1}))}}]),e}()});var XG=ye(($ur,q5e)=>{\"use strict\";function t5t(e,t){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(ZG,this,e)):process.nextTick(ZG,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(a){!t&&a?r._writableState?r._writableState.errorEmitted?process.nextTick(vR,r):(r._writableState.errorEmitted=!0,process.nextTick(F5e,r,a)):process.nextTick(F5e,r,a):t?(process.nextTick(vR,r),t(a)):process.nextTick(vR,r)}),this)}function F5e(e,t){ZG(e,t),vR(e)}function vR(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit(\"close\")}function r5t(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function ZG(e,t){e.emit(\"error\",t)}function i5t(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit(\"error\",t)}q5e.exports={destroy:t5t,undestroy:r5t,errorOrDestroy:i5t}});var v2=ye((Qur,N5e)=>{\"use strict\";function n5t(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var B5e={};function Y0(e,t,r){r||(r=Error);function n(a,o,s){return typeof t==\"string\"?t:t(a,o,s)}var i=function(a){n5t(o,a);function o(s,l,u){return a.call(this,n(s,l,u))||this}return o}(r);i.prototype.name=r.name,i.prototype.code=e,B5e[e]=i}function O5e(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(n){return String(n)}),r>2?\"one of \".concat(t,\" \").concat(e.slice(0,r-1).join(\", \"),\", or \")+e[r-1]:r===2?\"one of \".concat(t,\" \").concat(e[0],\" or \").concat(e[1]):\"of \".concat(t,\" \").concat(e[0])}else return\"of \".concat(t,\" \").concat(String(e))}function a5t(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function o5t(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function s5t(e,t,r){return typeof r!=\"number\"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}Y0(\"ERR_INVALID_OPT_VALUE\",function(e,t){return'The value \"'+t+'\" is invalid for option \"'+e+'\"'},TypeError);Y0(\"ERR_INVALID_ARG_TYPE\",function(e,t,r){var n;typeof t==\"string\"&&a5t(t,\"not \")?(n=\"must not be\",t=t.replace(/^not /,\"\")):n=\"must be\";var i;if(o5t(e,\" argument\"))i=\"The \".concat(e,\" \").concat(n,\" \").concat(O5e(t,\"type\"));else{var a=s5t(e,\".\")?\"property\":\"argument\";i='The \"'.concat(e,'\" ').concat(a,\" \").concat(n,\" \").concat(O5e(t,\"type\"))}return i+=\". Received type \".concat(typeof r),i},TypeError);Y0(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\");Y0(\"ERR_METHOD_NOT_IMPLEMENTED\",function(e){return\"The \"+e+\" method is not implemented\"});Y0(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\");Y0(\"ERR_STREAM_DESTROYED\",function(e){return\"Cannot call \"+e+\" after a stream was destroyed\"});Y0(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\");Y0(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\");Y0(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\");Y0(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError);Y0(\"ERR_UNKNOWN_ENCODING\",function(e){return\"Unknown encoding: \"+e},TypeError);Y0(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\");N5e.exports.codes=B5e});var YG=ye((ecr,U5e)=>{\"use strict\";var l5t=v2().codes.ERR_INVALID_OPT_VALUE;function u5t(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function c5t(e,t,r,n){var i=u5t(t,n,r);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var a=n?r:\"highWaterMark\";throw new l5t(a,i)}return Math.floor(i)}return e.objectMode?16:16*1024}U5e.exports={getHighWaterMark:c5t}});var H5e=ye((tcr,V5e)=>{V5e.exports=f5t;function f5t(e,t){if(KG(\"noDeprecation\"))return e;var r=!1;function n(){if(!r){if(KG(\"throwDeprecation\"))throw new Error(t);KG(\"traceDeprecation\")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}return n}function KG(e){try{if(!window.localStorage)return!1}catch(r){return!1}var t=window.localStorage[e];return t==null?!1:String(t).toLowerCase()===\"true\"}});var QG=ye((rcr,Y5e)=>{\"use strict\";Y5e.exports=_h;function j5e(e){var t=this;this.next=null,this.entry=null,this.finish=function(){O5t(t,e)}}var s5;_h.WritableState=W4;var h5t={deprecate:H5e()},W5e=iG(),gR=u2().Buffer,d5t=window.Uint8Array||function(){};function v5t(e){return gR.from(e)}function p5t(e){return gR.isBuffer(e)||e instanceof d5t}var $G=XG(),g5t=YG(),m5t=g5t.getHighWaterMark,D_=v2().codes,y5t=D_.ERR_INVALID_ARG_TYPE,_5t=D_.ERR_METHOD_NOT_IMPLEMENTED,x5t=D_.ERR_MULTIPLE_CALLBACK,b5t=D_.ERR_STREAM_CANNOT_PIPE,w5t=D_.ERR_STREAM_DESTROYED,T5t=D_.ERR_STREAM_NULL_VALUES,A5t=D_.ERR_STREAM_WRITE_AFTER_END,S5t=D_.ERR_UNKNOWN_ENCODING,l5=$G.errorOrDestroy;Uy()(_h,W5e);function M5t(){}function W4(e,t,r){s5=s5||p2(),e=e||{},typeof r!=\"boolean\"&&(r=t instanceof s5),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=m5t(this,e,\"writableHighWaterMark\",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var n=e.decodeStrings===!1;this.decodeStrings=!n,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(i){R5t(t,i)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new j5e(this)}W4.prototype.getBuffer=function(){for(var t=this.bufferedRequest,r=[];t;)r.push(t),t=t.next;return r};(function(){try{Object.defineProperty(W4.prototype,\"buffer\",{get:h5t.deprecate(function(){return this.getBuffer()},\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\",\"DEP0003\")})}catch(e){}})();var pR;typeof Symbol==\"function\"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==\"function\"?(pR=Function.prototype[Symbol.hasInstance],Object.defineProperty(_h,Symbol.hasInstance,{value:function(t){return pR.call(this,t)?!0:this!==_h?!1:t&&t._writableState instanceof W4}})):pR=function(t){return t instanceof this};function _h(e){s5=s5||p2();var t=this instanceof s5;if(!t&&!pR.call(_h,this))return new _h(e);this._writableState=new W4(e,this,t),this.writable=!0,e&&(typeof e.write==\"function\"&&(this._write=e.write),typeof e.writev==\"function\"&&(this._writev=e.writev),typeof e.destroy==\"function\"&&(this._destroy=e.destroy),typeof e.final==\"function\"&&(this._final=e.final)),W5e.call(this)}_h.prototype.pipe=function(){l5(this,new b5t)};function E5t(e,t){var r=new A5t;l5(e,r),process.nextTick(t,r)}function k5t(e,t,r,n){var i;return r===null?i=new T5t:typeof r!=\"string\"&&!t.objectMode&&(i=new y5t(\"chunk\",[\"string\",\"Buffer\"],r)),i?(l5(e,i),process.nextTick(n,i),!1):!0}_h.prototype.write=function(e,t,r){var n=this._writableState,i=!1,a=!n.objectMode&&p5t(e);return a&&!gR.isBuffer(e)&&(e=v5t(e)),typeof t==\"function\"&&(r=t,t=null),a?t=\"buffer\":t||(t=n.defaultEncoding),typeof r!=\"function\"&&(r=M5t),n.ending?E5t(this,r):(a||k5t(this,n,e,r))&&(n.pendingcb++,i=L5t(this,n,a,e,t,r)),i};_h.prototype.cork=function(){this._writableState.corked++};_h.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest&&Z5e(this,e))};_h.prototype.setDefaultEncoding=function(t){if(typeof t==\"string\"&&(t=t.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((t+\"\").toLowerCase())>-1))throw new S5t(t);return this._writableState.defaultEncoding=t,this};Object.defineProperty(_h.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function C5t(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t==\"string\"&&(t=gR.from(t,r)),t}Object.defineProperty(_h.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function L5t(e,t,r,n,i,a){if(!r){var o=C5t(t,n,i);n!==o&&(r=!0,i=\"buffer\",n=o)}var s=t.objectMode?1:n.length;t.length+=s;var l=t.length<t.highWaterMark;if(l||(t.needDrain=!0),t.writing||t.corked){var u=t.lastBufferedRequest;t.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:a,next:null},u?u.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else JG(e,t,!1,s,n,i,a);return l}function JG(e,t,r,n,i,a,o){t.writelen=n,t.writecb=o,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new w5t(\"write\")):r?e._writev(i,t.onwrite):e._write(i,a,t.onwrite),t.sync=!1}function P5t(e,t,r,n,i){--t.pendingcb,r?(process.nextTick(i,n),process.nextTick(j4,e,t),e._writableState.errorEmitted=!0,l5(e,n)):(i(n),e._writableState.errorEmitted=!0,l5(e,n),j4(e,t))}function I5t(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function R5t(e,t){var r=e._writableState,n=r.sync,i=r.writecb;if(typeof i!=\"function\")throw new x5t;if(I5t(r),t)P5t(e,r,n,t,i);else{var a=X5e(r)||e.destroyed;!a&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&Z5e(e,r),n?process.nextTick(G5e,e,r,a,i):G5e(e,r,a,i)}}function G5e(e,t,r,n){r||D5t(e,t),t.pendingcb--,n(),j4(e,t)}function D5t(e,t){t.length===0&&t.needDrain&&(t.needDrain=!1,e.emit(\"drain\"))}function Z5e(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount,i=new Array(n),a=t.corkedRequestsFree;a.entry=r;for(var o=0,s=!0;r;)i[o]=r,r.isBuf||(s=!1),r=r.next,o+=1;i.allBuffers=s,JG(e,t,!0,t.length,i,\"\",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new j5e(t),t.bufferedRequestCount=0}else{for(;r;){var l=r.chunk,u=r.encoding,c=r.callback,f=t.objectMode?1:l.length;if(JG(e,t,!1,f,l,u,c),r=r.next,t.bufferedRequestCount--,t.writing)break}r===null&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}_h.prototype._write=function(e,t,r){r(new _5t(\"_write()\"))};_h.prototype._writev=null;_h.prototype.end=function(e,t,r){var n=this._writableState;return typeof e==\"function\"?(r=e,e=null,t=null):typeof t==\"function\"&&(r=t,t=null),e!=null&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||q5t(this,n,r),this};Object.defineProperty(_h.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}});function X5e(e){return e.ending&&e.length===0&&e.bufferedRequest===null&&!e.finished&&!e.writing}function z5t(e,t){e._final(function(r){t.pendingcb--,r&&l5(e,r),t.prefinished=!0,e.emit(\"prefinish\"),j4(e,t)})}function F5t(e,t){!t.prefinished&&!t.finalCalled&&(typeof e._final==\"function\"&&!t.destroyed?(t.pendingcb++,t.finalCalled=!0,process.nextTick(z5t,e,t)):(t.prefinished=!0,e.emit(\"prefinish\")))}function j4(e,t){var r=X5e(t);if(r&&(F5t(e,t),t.pendingcb===0&&(t.finished=!0,e.emit(\"finish\"),t.autoDestroy))){var n=e._readableState;(!n||n.autoDestroy&&n.endEmitted)&&e.destroy()}return r}function q5t(e,t,r){t.ending=!0,j4(e,t),r&&(t.finished?process.nextTick(r):e.once(\"finish\",r)),t.ended=!0,e.writable=!1}function O5t(e,t,r){var n=e.entry;for(e.entry=null;n;){var i=n.callback;t.pendingcb--,i(r),n=n.next}t.corkedRequestsFree.next=e}Object.defineProperty(_h.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}});_h.prototype.destroy=$G.destroy;_h.prototype._undestroy=$G.undestroy;_h.prototype._destroy=function(e,t){t(e)}});var p2=ye((icr,J5e)=>{\"use strict\";var B5t=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};J5e.exports=Om;var K5e=rj(),tj=QG();Uy()(Om,K5e);for(ej=B5t(tj.prototype),mR=0;mR<ej.length;mR++)yR=ej[mR],Om.prototype[yR]||(Om.prototype[yR]=tj.prototype[yR]);var ej,yR,mR;function Om(e){if(!(this instanceof Om))return new Om(e);K5e.call(this,e),tj.call(this,e),this.allowHalfOpen=!0,e&&(e.readable===!1&&(this.readable=!1),e.writable===!1&&(this.writable=!1),e.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once(\"end\",N5t)))}Object.defineProperty(Om.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});Object.defineProperty(Om.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});Object.defineProperty(Om.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}});function N5t(){this._writableState.ended||process.nextTick(U5t,this)}function U5t(e){e.end()}Object.defineProperty(Om.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(t){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=t,this._writableState.destroyed=t)}})});var eAe=ye((ij,Q5e)=>{var _R=u2(),Bm=_R.Buffer;function $5e(e,t){for(var r in e)t[r]=e[r]}Bm.from&&Bm.alloc&&Bm.allocUnsafe&&Bm.allocUnsafeSlow?Q5e.exports=_R:($5e(_R,ij),ij.Buffer=g2);function g2(e,t,r){return Bm(e,t,r)}g2.prototype=Object.create(Bm.prototype);$5e(Bm,g2);g2.from=function(e,t,r){if(typeof e==\"number\")throw new TypeError(\"Argument must not be a number\");return Bm(e,t,r)};g2.alloc=function(e,t,r){if(typeof e!=\"number\")throw new TypeError(\"Argument must be a number\");var n=Bm(e);return t!==void 0?typeof r==\"string\"?n.fill(t,r):n.fill(t):n.fill(0),n};g2.allocUnsafe=function(e){if(typeof e!=\"number\")throw new TypeError(\"Argument must be a number\");return Bm(e)};g2.allocUnsafeSlow=function(e){if(typeof e!=\"number\")throw new TypeError(\"Argument must be a number\");return _R.SlowBuffer(e)}});var oj=ye(rAe=>{\"use strict\";var aj=eAe().Buffer,tAe=aj.isEncoding||function(e){switch(e=\"\"+e,e&&e.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function V5t(e){if(!e)return\"utf8\";for(var t;;)switch(e){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return e;default:if(t)return;e=(\"\"+e).toLowerCase(),t=!0}}function H5t(e){var t=V5t(e);if(typeof t!=\"string\"&&(aj.isEncoding===tAe||!tAe(e)))throw new Error(\"Unknown encoding: \"+e);return t||e}rAe.StringDecoder=Z4;function Z4(e){this.encoding=H5t(e);var t;switch(this.encoding){case\"utf16le\":this.text=Y5t,this.end=K5t,t=4;break;case\"utf8\":this.fillLast=W5t,t=4;break;case\"base64\":this.text=J5t,this.end=$5t,t=3;break;default:this.write=Q5t,this.end=eAt;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=aj.allocUnsafe(t)}Z4.prototype.write=function(e){if(e.length===0)return\"\";var t,r;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return\"\";r=this.lastNeed,this.lastNeed=0}else r=0;return r<e.length?t?t+this.text(e,r):this.text(e,r):t||\"\"};Z4.prototype.end=X5t;Z4.prototype.text=Z5t;Z4.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length};function nj(e){return e<=127?0:e>>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function G5t(e,t,r){var n=t.length-1;if(n<r)return 0;var i=nj(t[n]);return i>=0?(i>0&&(e.lastNeed=i-1),i):--n<r||i===-2?0:(i=nj(t[n]),i>=0?(i>0&&(e.lastNeed=i-2),i):--n<r||i===-2?0:(i=nj(t[n]),i>=0?(i>0&&(i===2?i=0:e.lastNeed=i-3),i):0))}function j5t(e,t,r){if((t[0]&192)!==128)return e.lastNeed=0,\"\\uFFFD\";if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128)return e.lastNeed=1,\"\\uFFFD\";if(e.lastNeed>2&&t.length>2&&(t[2]&192)!==128)return e.lastNeed=2,\"\\uFFFD\"}}function W5t(e){var t=this.lastTotal-this.lastNeed,r=j5t(this,e,t);if(r!==void 0)return r;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function Z5t(e,t){var r=G5t(this,e,t);if(!this.lastNeed)return e.toString(\"utf8\",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString(\"utf8\",t,n)}function X5t(e){var t=e&&e.length?this.write(e):\"\";return this.lastNeed?t+\"\\uFFFD\":t}function Y5t(e,t){if((e.length-t)%2===0){var r=e.toString(\"utf16le\",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString(\"utf16le\",t,e.length-1)}function K5t(e){var t=e&&e.length?this.write(e):\"\";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString(\"utf16le\",0,r)}return t}function J5t(e,t){var r=(e.length-t)%3;return r===0?e.toString(\"base64\",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString(\"base64\",t,e.length-r))}function $5t(e){var t=e&&e.length?this.write(e):\"\";return this.lastNeed?t+this.lastChar.toString(\"base64\",0,3-this.lastNeed):t}function Q5t(e){return e.toString(this.encoding)}function eAt(e){return e&&e.length?this.write(e):\"\"}});var xR=ye((acr,aAe)=>{\"use strict\";var iAe=v2().codes.ERR_STREAM_PREMATURE_CLOSE;function tAt(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];e.apply(this,n)}}}function rAt(){}function iAt(e){return e.setHeader&&typeof e.abort==\"function\"}function nAe(e,t,r){if(typeof t==\"function\")return nAe(e,null,t);t||(t={}),r=tAt(r||rAt);var n=t.readable||t.readable!==!1&&e.readable,i=t.writable||t.writable!==!1&&e.writable,a=function(){e.writable||s()},o=e._writableState&&e._writableState.finished,s=function(){i=!1,o=!0,n||r.call(e)},l=e._readableState&&e._readableState.endEmitted,u=function(){n=!1,l=!0,i||r.call(e)},c=function(v){r.call(e,v)},f=function(){var v;if(n&&!l)return(!e._readableState||!e._readableState.ended)&&(v=new iAe),r.call(e,v);if(i&&!o)return(!e._writableState||!e._writableState.ended)&&(v=new iAe),r.call(e,v)},h=function(){e.req.on(\"finish\",s)};return iAt(e)?(e.on(\"complete\",s),e.on(\"abort\",f),e.req?h():e.on(\"request\",h)):i&&!e._writableState&&(e.on(\"end\",a),e.on(\"close\",a)),e.on(\"end\",u),e.on(\"finish\",s),t.error!==!1&&e.on(\"error\",c),e.on(\"close\",f),function(){e.removeListener(\"complete\",s),e.removeListener(\"abort\",f),e.removeListener(\"request\",h),e.req&&e.req.removeListener(\"finish\",s),e.removeListener(\"end\",a),e.removeListener(\"close\",a),e.removeListener(\"finish\",s),e.removeListener(\"end\",u),e.removeListener(\"error\",c),e.removeListener(\"close\",f)}}aAe.exports=nAe});var sAe=ye((ocr,oAe)=>{\"use strict\";var bR;function z_(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var nAt=xR(),F_=Symbol(\"lastResolve\"),m2=Symbol(\"lastReject\"),X4=Symbol(\"error\"),wR=Symbol(\"ended\"),y2=Symbol(\"lastPromise\"),sj=Symbol(\"handlePromise\"),_2=Symbol(\"stream\");function q_(e,t){return{value:e,done:t}}function aAt(e){var t=e[F_];if(t!==null){var r=e[_2].read();r!==null&&(e[y2]=null,e[F_]=null,e[m2]=null,t(q_(r,!1)))}}function oAt(e){process.nextTick(aAt,e)}function sAt(e,t){return function(r,n){e.then(function(){if(t[wR]){r(q_(void 0,!0));return}t[sj](r,n)},n)}}var lAt=Object.getPrototypeOf(function(){}),uAt=Object.setPrototypeOf((bR={get stream(){return this[_2]},next:function(){var t=this,r=this[X4];if(r!==null)return Promise.reject(r);if(this[wR])return Promise.resolve(q_(void 0,!0));if(this[_2].destroyed)return new Promise(function(o,s){process.nextTick(function(){t[X4]?s(t[X4]):o(q_(void 0,!0))})});var n=this[y2],i;if(n)i=new Promise(sAt(n,this));else{var a=this[_2].read();if(a!==null)return Promise.resolve(q_(a,!1));i=new Promise(this[sj])}return this[y2]=i,i}},z_(bR,Symbol.asyncIterator,function(){return this}),z_(bR,\"return\",function(){var t=this;return new Promise(function(r,n){t[_2].destroy(null,function(i){if(i){n(i);return}r(q_(void 0,!0))})})}),bR),lAt),cAt=function(t){var r,n=Object.create(uAt,(r={},z_(r,_2,{value:t,writable:!0}),z_(r,F_,{value:null,writable:!0}),z_(r,m2,{value:null,writable:!0}),z_(r,X4,{value:null,writable:!0}),z_(r,wR,{value:t._readableState.endEmitted,writable:!0}),z_(r,sj,{value:function(a,o){var s=n[_2].read();s?(n[y2]=null,n[F_]=null,n[m2]=null,a(q_(s,!1))):(n[F_]=a,n[m2]=o)},writable:!0}),r));return n[y2]=null,nAt(t,function(i){if(i&&i.code!==\"ERR_STREAM_PREMATURE_CLOSE\"){var a=n[m2];a!==null&&(n[y2]=null,n[F_]=null,n[m2]=null,a(i)),n[X4]=i;return}var o=n[F_];o!==null&&(n[y2]=null,n[F_]=null,n[m2]=null,o(q_(void 0,!0))),n[wR]=!0}),t.on(\"readable\",oAt.bind(null,n)),n};oAe.exports=cAt});var uAe=ye((scr,lAe)=>{lAe.exports=function(){throw new Error(\"Readable.from is not available in the browser\")}});var rj=ye((ucr,_Ae)=>{\"use strict\";_Ae.exports=vu;var u5;vu.ReadableState=dAe;var lcr=vb().EventEmitter,hAe=function(t,r){return t.listeners(r).length},K4=iG(),TR=u2().Buffer,fAt=window.Uint8Array||function(){};function hAt(e){return TR.from(e)}function dAt(e){return TR.isBuffer(e)||e instanceof fAt}var lj=jG(),Il;lj&&lj.debuglog?Il=lj.debuglog(\"stream\"):Il=function(){};var vAt=z5e(),pj=XG(),pAt=YG(),gAt=pAt.getHighWaterMark,AR=v2().codes,mAt=AR.ERR_INVALID_ARG_TYPE,yAt=AR.ERR_STREAM_PUSH_AFTER_EOF,_At=AR.ERR_METHOD_NOT_IMPLEMENTED,xAt=AR.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,c5,uj,cj;Uy()(vu,K4);var Y4=pj.errorOrDestroy,fj=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];function bAt(e,t,r){if(typeof e.prependListener==\"function\")return e.prependListener(t,r);!e._events||!e._events[t]?e.on(t,r):Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]}function dAe(e,t,r){u5=u5||p2(),e=e||{},typeof r!=\"boolean\"&&(r=t instanceof u5),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=gAt(this,e,\"readableHighWaterMark\",r),this.buffer=new vAt,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(c5||(c5=oj().StringDecoder),this.decoder=new c5(e.encoding),this.encoding=e.encoding)}function vu(e){if(u5=u5||p2(),!(this instanceof vu))return new vu(e);var t=this instanceof u5;this._readableState=new dAe(e,this,t),this.readable=!0,e&&(typeof e.read==\"function\"&&(this._read=e.read),typeof e.destroy==\"function\"&&(this._destroy=e.destroy)),K4.call(this)}Object.defineProperty(vu.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}});vu.prototype.destroy=pj.destroy;vu.prototype._undestroy=pj.undestroy;vu.prototype._destroy=function(e,t){t(e)};vu.prototype.push=function(e,t){var r=this._readableState,n;return r.objectMode?n=!0:typeof e==\"string\"&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=TR.from(e,t),t=\"\"),n=!0),vAe(this,e,t,!1,n)};vu.prototype.unshift=function(e){return vAe(this,e,null,!0,!1)};function vAe(e,t,r,n,i){Il(\"readableAddChunk\",t);var a=e._readableState;if(t===null)a.reading=!1,AAt(e,a);else{var o;if(i||(o=wAt(a,t)),o)Y4(e,o);else if(a.objectMode||t&&t.length>0)if(typeof t!=\"string\"&&!a.objectMode&&Object.getPrototypeOf(t)!==TR.prototype&&(t=hAt(t)),n)a.endEmitted?Y4(e,new xAt):hj(e,a,t,!0);else if(a.ended)Y4(e,new yAt);else{if(a.destroyed)return!1;a.reading=!1,a.decoder&&!r?(t=a.decoder.write(t),a.objectMode||t.length!==0?hj(e,a,t,!1):vj(e,a)):hj(e,a,t,!1)}else n||(a.reading=!1,vj(e,a))}return!a.ended&&(a.length<a.highWaterMark||a.length===0)}function hj(e,t,r,n){t.flowing&&t.length===0&&!t.sync?(t.awaitDrain=0,e.emit(\"data\",r)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&SR(e)),vj(e,t)}function wAt(e,t){var r;return!dAt(t)&&typeof t!=\"string\"&&t!==void 0&&!e.objectMode&&(r=new mAt(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],t)),r}vu.prototype.isPaused=function(){return this._readableState.flowing===!1};vu.prototype.setEncoding=function(e){c5||(c5=oj().StringDecoder);var t=new c5(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,n=\"\";r!==null;)n+=t.write(r.data),r=r.next;return this._readableState.buffer.clear(),n!==\"\"&&this._readableState.buffer.push(n),this._readableState.length=n.length,this};var cAe=1073741824;function TAt(e){return e>=cAe?e=cAe:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function fAe(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=TAt(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}vu.prototype.read=function(e){Il(\"read\",e),e=parseInt(e,10);var t=this._readableState,r=e;if(e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&((t.highWaterMark!==0?t.length>=t.highWaterMark:t.length>0)||t.ended))return Il(\"read: emitReadable\",t.length,t.ended),t.length===0&&t.ended?dj(this):SR(this),null;if(e=fAe(e,t),e===0&&t.ended)return t.length===0&&dj(this),null;var n=t.needReadable;Il(\"need readable\",n),(t.length===0||t.length-e<t.highWaterMark)&&(n=!0,Il(\"length less than watermark\",n)),t.ended||t.reading?(n=!1,Il(\"reading or ended\",n)):n&&(Il(\"do read\"),t.reading=!0,t.sync=!0,t.length===0&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=fAe(r,t)));var i;return e>0?i=mAe(e,t):i=null,i===null?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),t.length===0&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&dj(this)),i!==null&&this.emit(\"data\",i),i};function AAt(e,t){if(Il(\"onEofChunk\"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?SR(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,pAe(e)))}}function SR(e){var t=e._readableState;Il(\"emitReadable\",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(Il(\"emitReadable\",t.flowing),t.emittedReadable=!0,process.nextTick(pAe,e))}function pAe(e){var t=e._readableState;Il(\"emitReadable_\",t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit(\"readable\"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,gj(e)}function vj(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(SAt,e,t))}function SAt(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&t.length===0);){var r=t.length;if(Il(\"maybeReadMore read 0\"),e.read(0),r===t.length)break}t.readingMore=!1}vu.prototype._read=function(e){Y4(this,new _At(\"_read()\"))};vu.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e);break}n.pipesCount+=1,Il(\"pipe count=%d opts=%j\",n.pipesCount,t);var i=(!t||t.end!==!1)&&e!==process.stdout&&e!==process.stderr,a=i?s:x;n.endEmitted?process.nextTick(a):r.once(\"end\",a),e.on(\"unpipe\",o);function o(b,p){Il(\"onunpipe\"),b===r&&p&&p.hasUnpiped===!1&&(p.hasUnpiped=!0,c())}function s(){Il(\"onend\"),e.end()}var l=MAt(r);e.on(\"drain\",l);var u=!1;function c(){Il(\"cleanup\"),e.removeListener(\"close\",d),e.removeListener(\"finish\",v),e.removeListener(\"drain\",l),e.removeListener(\"error\",h),e.removeListener(\"unpipe\",o),r.removeListener(\"end\",s),r.removeListener(\"end\",x),r.removeListener(\"data\",f),u=!0,n.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&l()}r.on(\"data\",f);function f(b){Il(\"ondata\");var p=e.write(b);Il(\"dest.write\",p),p===!1&&((n.pipesCount===1&&n.pipes===e||n.pipesCount>1&&yAe(n.pipes,e)!==-1)&&!u&&(Il(\"false write response, pause\",n.awaitDrain),n.awaitDrain++),r.pause())}function h(b){Il(\"onerror\",b),x(),e.removeListener(\"error\",h),hAe(e,\"error\")===0&&Y4(e,b)}bAt(e,\"error\",h);function d(){e.removeListener(\"finish\",v),x()}e.once(\"close\",d);function v(){Il(\"onfinish\"),e.removeListener(\"close\",d),x()}e.once(\"finish\",v);function x(){Il(\"unpipe\"),r.unpipe(e)}return e.emit(\"pipe\",r),n.flowing||(Il(\"pipe resume\"),r.resume()),e};function MAt(e){return function(){var r=e._readableState;Il(\"pipeOnDrain\",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&hAe(e,\"data\")&&(r.flowing=!0,gj(e))}}vu.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(t.pipesCount===0)return this;if(t.pipesCount===1)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit(\"unpipe\",this,r),this);if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<i;a++)n[a].emit(\"unpipe\",this,{hasUnpiped:!1});return this}var o=yAe(t.pipes,e);return o===-1?this:(t.pipes.splice(o,1),t.pipesCount-=1,t.pipesCount===1&&(t.pipes=t.pipes[0]),e.emit(\"unpipe\",this,r),this)};vu.prototype.on=function(e,t){var r=K4.prototype.on.call(this,e,t),n=this._readableState;return e===\"data\"?(n.readableListening=this.listenerCount(\"readable\")>0,n.flowing!==!1&&this.resume()):e===\"readable\"&&!n.endEmitted&&!n.readableListening&&(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,Il(\"on readable\",n.length,n.reading),n.length?SR(this):n.reading||process.nextTick(EAt,this)),r};vu.prototype.addListener=vu.prototype.on;vu.prototype.removeListener=function(e,t){var r=K4.prototype.removeListener.call(this,e,t);return e===\"readable\"&&process.nextTick(gAe,this),r};vu.prototype.removeAllListeners=function(e){var t=K4.prototype.removeAllListeners.apply(this,arguments);return(e===\"readable\"||e===void 0)&&process.nextTick(gAe,this),t};function gAe(e){var t=e._readableState;t.readableListening=e.listenerCount(\"readable\")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount(\"data\")>0&&e.resume()}function EAt(e){Il(\"readable nexttick read 0\"),e.read(0)}vu.prototype.resume=function(){var e=this._readableState;return e.flowing||(Il(\"resume\"),e.flowing=!e.readableListening,kAt(this,e)),e.paused=!1,this};function kAt(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(CAt,e,t))}function CAt(e,t){Il(\"resume\",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit(\"resume\"),gj(e),t.flowing&&!t.reading&&e.read(0)}vu.prototype.pause=function(){return Il(\"call pause flowing=%j\",this._readableState.flowing),this._readableState.flowing!==!1&&(Il(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this._readableState.paused=!0,this};function gj(e){var t=e._readableState;for(Il(\"flow\",t.flowing);t.flowing&&e.read()!==null;);}vu.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;e.on(\"end\",function(){if(Il(\"wrapped end\"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&t.push(o)}t.push(null)}),e.on(\"data\",function(o){if(Il(\"wrapped data\"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var s=t.push(o);s||(n=!0,e.pause())}});for(var i in e)this[i]===void 0&&typeof e[i]==\"function\"&&(this[i]=function(s){return function(){return e[s].apply(e,arguments)}}(i));for(var a=0;a<fj.length;a++)e.on(fj[a],this.emit.bind(this,fj[a]));return this._read=function(o){Il(\"wrapped _read\",o),n&&(n=!1,e.resume())},this};typeof Symbol==\"function\"&&(vu.prototype[Symbol.asyncIterator]=function(){return uj===void 0&&(uj=sAe()),uj(this)});Object.defineProperty(vu.prototype,\"readableHighWaterMark\",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Object.defineProperty(vu.prototype,\"readableBuffer\",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(vu.prototype,\"readableFlowing\",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t)}});vu._fromList=mAe;Object.defineProperty(vu.prototype,\"readableLength\",{enumerable:!1,get:function(){return this._readableState.length}});function mAe(e,t){if(t.length===0)return null;var r;return t.objectMode?r=t.buffer.shift():!e||e>=t.length?(t.decoder?r=t.buffer.join(\"\"):t.buffer.length===1?r=t.buffer.first():r=t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r}function dj(e){var t=e._readableState;Il(\"endReadable\",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(LAt,t,e))}function LAt(e,t){if(Il(\"endReadableNT\",e.endEmitted,e.length),!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit(\"end\"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}typeof Symbol==\"function\"&&(vu.from=function(e,t){return cj===void 0&&(cj=uAe()),cj(vu,e,t)});function yAe(e,t){for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}});var mj=ye((ccr,bAe)=>{\"use strict\";bAe.exports=Hy;var MR=v2().codes,PAt=MR.ERR_METHOD_NOT_IMPLEMENTED,IAt=MR.ERR_MULTIPLE_CALLBACK,RAt=MR.ERR_TRANSFORM_ALREADY_TRANSFORMING,DAt=MR.ERR_TRANSFORM_WITH_LENGTH_0,ER=p2();Uy()(Hy,ER);function zAt(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(n===null)return this.emit(\"error\",new IAt);r.writechunk=null,r.writecb=null,t!=null&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function Hy(e){if(!(this instanceof Hy))return new Hy(e);ER.call(this,e),this._transformState={afterTransform:zAt.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(typeof e.transform==\"function\"&&(this._transform=e.transform),typeof e.flush==\"function\"&&(this._flush=e.flush)),this.on(\"prefinish\",FAt)}function FAt(){var e=this;typeof this._flush==\"function\"&&!this._readableState.destroyed?this._flush(function(t,r){xAe(e,t,r)}):xAe(this,null,null)}Hy.prototype.push=function(e,t){return this._transformState.needTransform=!1,ER.prototype.push.call(this,e,t)};Hy.prototype._transform=function(e,t,r){r(new PAt(\"_transform()\"))};Hy.prototype._write=function(e,t,r){var n=this._transformState;if(n.writecb=r,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}};Hy.prototype._read=function(e){var t=this._transformState;t.writechunk!==null&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0};Hy.prototype._destroy=function(e,t){ER.prototype._destroy.call(this,e,function(r){t(r)})};function xAe(e,t,r){if(t)return e.emit(\"error\",t);if(r!=null&&e.push(r),e._writableState.length)throw new DAt;if(e._transformState.transforming)throw new RAt;return e.push(null)}});var AAe=ye((fcr,TAe)=>{\"use strict\";TAe.exports=J4;var wAe=mj();Uy()(J4,wAe);function J4(e){if(!(this instanceof J4))return new J4(e);wAe.call(this,e)}J4.prototype._transform=function(e,t,r){r(null,e)}});var CAe=ye((hcr,kAe)=>{\"use strict\";var yj;function qAt(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var EAe=v2().codes,OAt=EAe.ERR_MISSING_ARGS,BAt=EAe.ERR_STREAM_DESTROYED;function SAe(e){if(e)throw e}function NAt(e){return e.setHeader&&typeof e.abort==\"function\"}function UAt(e,t,r,n){n=qAt(n);var i=!1;e.on(\"close\",function(){i=!0}),yj===void 0&&(yj=xR()),yj(e,{readable:t,writable:r},function(o){if(o)return n(o);i=!0,n()});var a=!1;return function(o){if(!i&&!a){if(a=!0,NAt(e))return e.abort();if(typeof e.destroy==\"function\")return e.destroy();n(o||new BAt(\"pipe\"))}}}function MAe(e){e()}function VAt(e,t){return e.pipe(t)}function HAt(e){return!e.length||typeof e[e.length-1]!=\"function\"?SAe:e.pop()}function GAt(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=HAt(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new OAt(\"streams\");var i,a=t.map(function(o,s){var l=s<t.length-1,u=s>0;return UAt(o,l,u,function(c){i||(i=c),c&&a.forEach(MAe),!l&&(a.forEach(MAe),n(i))})});return t.reduce(VAt)}kAe.exports=GAt});var PAe=ye((dcr,LAe)=>{LAe.exports=K0;var _j=vb().EventEmitter,jAt=Uy();jAt(K0,_j);K0.Readable=rj();K0.Writable=QG();K0.Duplex=p2();K0.Transform=mj();K0.PassThrough=AAe();K0.finished=xR();K0.pipeline=CAe();K0.Stream=K0;function K0(){_j.call(this)}K0.prototype.pipe=function(e,t){var r=this;function n(c){e.writable&&e.write(c)===!1&&r.pause&&r.pause()}r.on(\"data\",n);function i(){r.readable&&r.resume&&r.resume()}e.on(\"drain\",i),!e._isStdio&&(!t||t.end!==!1)&&(r.on(\"end\",o),r.on(\"close\",s));var a=!1;function o(){a||(a=!0,e.end())}function s(){a||(a=!0,typeof e.destroy==\"function\"&&e.destroy())}function l(c){if(u(),_j.listenerCount(this,\"error\")===0)throw c}r.on(\"error\",l),e.on(\"error\",l);function u(){r.removeListener(\"data\",n),e.removeListener(\"drain\",i),r.removeListener(\"end\",o),r.removeListener(\"close\",s),r.removeListener(\"error\",l),e.removeListener(\"error\",l),r.removeListener(\"end\",u),r.removeListener(\"close\",u),e.removeListener(\"close\",u)}return r.on(\"end\",u),r.on(\"close\",u),e.on(\"close\",u),e.emit(\"pipe\",r),e}});var h5=ye(Ul=>{var IAe=Object.getOwnPropertyDescriptors||function(t){for(var r=Object.keys(t),n={},i=0;i<r.length;i++)n[r[i]]=Object.getOwnPropertyDescriptor(t,r[i]);return n},WAt=/%[sdj%]/g;Ul.format=function(e){if(!DR(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(O_(arguments[r]));return t.join(\" \")}for(var r=1,n=arguments,i=n.length,a=String(e).replace(WAt,function(s){if(s===\"%%\")return\"%\";if(r>=i)return s;switch(s){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(l){return\"[Circular]\"}default:return s}}),o=n[r];r<i;o=n[++r])RR(o)||!f5(o)?a+=\" \"+o:a+=\" \"+O_(o);return a};Ul.deprecate=function(e,t){if(typeof process!=\"undefined\"&&process.noDeprecation===!0)return e;if(typeof process==\"undefined\")return function(){return Ul.deprecate(e,t).apply(this,arguments)};var r=!1;function n(){if(!r){if(process.throwDeprecation)throw new Error(t);process.traceDeprecation?console.trace(t):console.error(t),r=!0}return e.apply(this,arguments)}return n};var kR={},RAe=/^$/;CR=\"false\",CR=CR.replace(/[|\\\\{}()[\\]^$+?.]/g,\"\\\\$&\").replace(/\\*/g,\".*\").replace(/,/g,\"$|^\").toUpperCase(),RAe=new RegExp(\"^\"+CR+\"$\",\"i\");var CR;Ul.debuglog=function(e){if(e=e.toUpperCase(),!kR[e])if(RAe.test(e)){var t=process.pid;kR[e]=function(){var r=Ul.format.apply(Ul,arguments);console.error(\"%s %d: %s\",e,t,r)}}else kR[e]=function(){};return kR[e]};function O_(e,t){var r={seen:[],stylize:XAt};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),Tj(t)?r.showHidden=t:t&&Ul._extend(r,t),b2(r.showHidden)&&(r.showHidden=!1),b2(r.depth)&&(r.depth=2),b2(r.colors)&&(r.colors=!1),b2(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=ZAt),PR(r,e,r.depth)}Ul.inspect=O_;O_.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]};O_.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};function ZAt(e,t){var r=O_.styles[t];return r?\"\\x1B[\"+O_.colors[r][0]+\"m\"+e+\"\\x1B[\"+O_.colors[r][1]+\"m\":e}function XAt(e,t){return e}function YAt(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function PR(e,t,r){if(e.customInspect&&t&&LR(t.inspect)&&t.inspect!==Ul.inspect&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return DR(n)||(n=PR(e,n,r)),n}var i=KAt(e,t);if(i)return i;var a=Object.keys(t),o=YAt(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),Q4(t)&&(a.indexOf(\"message\")>=0||a.indexOf(\"description\")>=0))return xj(t);if(a.length===0){if(LR(t)){var s=t.name?\": \"+t.name:\"\";return e.stylize(\"[Function\"+s+\"]\",\"special\")}if($4(t))return e.stylize(RegExp.prototype.toString.call(t),\"regexp\");if(IR(t))return e.stylize(Date.prototype.toString.call(t),\"date\");if(Q4(t))return xj(t)}var l=\"\",u=!1,c=[\"{\",\"}\"];if(DAe(t)&&(u=!0,c=[\"[\",\"]\"]),LR(t)){var f=t.name?\": \"+t.name:\"\";l=\" [Function\"+f+\"]\"}if($4(t)&&(l=\" \"+RegExp.prototype.toString.call(t)),IR(t)&&(l=\" \"+Date.prototype.toUTCString.call(t)),Q4(t)&&(l=\" \"+xj(t)),a.length===0&&(!u||t.length==0))return c[0]+l+c[1];if(r<0)return $4(t)?e.stylize(RegExp.prototype.toString.call(t),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(t);var h;return u?h=JAt(e,t,r,o,a):h=a.map(function(d){return wj(e,t,r,o,d,u)}),e.seen.pop(),$At(h,l,c)}function KAt(e,t){if(b2(t))return e.stylize(\"undefined\",\"undefined\");if(DR(t)){var r=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(r,\"string\")}if(zAe(t))return e.stylize(\"\"+t,\"number\");if(Tj(t))return e.stylize(\"\"+t,\"boolean\");if(RR(t))return e.stylize(\"null\",\"null\")}function xj(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function JAt(e,t,r,n,i){for(var a=[],o=0,s=t.length;o<s;++o)FAe(t,String(o))?a.push(wj(e,t,r,n,String(o),!0)):a.push(\"\");return i.forEach(function(l){l.match(/^\\d+$/)||a.push(wj(e,t,r,n,l,!0))}),a}function wj(e,t,r,n,i,a){var o,s,l;if(l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]},l.get?l.set?s=e.stylize(\"[Getter/Setter]\",\"special\"):s=e.stylize(\"[Getter]\",\"special\"):l.set&&(s=e.stylize(\"[Setter]\",\"special\")),FAe(n,i)||(o=\"[\"+i+\"]\"),s||(e.seen.indexOf(l.value)<0?(RR(r)?s=PR(e,l.value,null):s=PR(e,l.value,r-1),s.indexOf(`\n", - "`)>-1&&(a?s=s.split(`\n", - "`).map(function(u){return\" \"+u}).join(`\n", - "`).slice(2):s=`\n", - "`+s.split(`\n", - "`).map(function(u){return\" \"+u}).join(`\n", - "`))):s=e.stylize(\"[Circular]\",\"special\")),b2(o)){if(a&&i.match(/^\\d+$/))return s;o=JSON.stringify(\"\"+i),o.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.slice(1,-1),o=e.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=e.stylize(o,\"string\"))}return o+\": \"+s}function $At(e,t,r){var n=0,i=e.reduce(function(a,o){return n++,o.indexOf(`\n", - "`)>=0&&n++,a+o.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return i>60?r[0]+(t===\"\"?\"\":t+`\n", - " `)+\" \"+e.join(`,\n", - " `)+\" \"+r[1]:r[0]+t+\" \"+e.join(\", \")+\" \"+r[1]}Ul.types=OG();function DAe(e){return Array.isArray(e)}Ul.isArray=DAe;function Tj(e){return typeof e==\"boolean\"}Ul.isBoolean=Tj;function RR(e){return e===null}Ul.isNull=RR;function QAt(e){return e==null}Ul.isNullOrUndefined=QAt;function zAe(e){return typeof e==\"number\"}Ul.isNumber=zAe;function DR(e){return typeof e==\"string\"}Ul.isString=DR;function eSt(e){return typeof e==\"symbol\"}Ul.isSymbol=eSt;function b2(e){return e===void 0}Ul.isUndefined=b2;function $4(e){return f5(e)&&Aj(e)===\"[object RegExp]\"}Ul.isRegExp=$4;Ul.types.isRegExp=$4;function f5(e){return typeof e==\"object\"&&e!==null}Ul.isObject=f5;function IR(e){return f5(e)&&Aj(e)===\"[object Date]\"}Ul.isDate=IR;Ul.types.isDate=IR;function Q4(e){return f5(e)&&(Aj(e)===\"[object Error]\"||e instanceof Error)}Ul.isError=Q4;Ul.types.isNativeError=Q4;function LR(e){return typeof e==\"function\"}Ul.isFunction=LR;function tSt(e){return e===null||typeof e==\"boolean\"||typeof e==\"number\"||typeof e==\"string\"||typeof e==\"symbol\"||typeof e==\"undefined\"}Ul.isPrimitive=tSt;Ul.isBuffer=BG();function Aj(e){return Object.prototype.toString.call(e)}function bj(e){return e<10?\"0\"+e.toString(10):e.toString(10)}var rSt=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function iSt(){var e=new Date,t=[bj(e.getHours()),bj(e.getMinutes()),bj(e.getSeconds())].join(\":\");return[e.getDate(),rSt[e.getMonth()],t].join(\" \")}Ul.log=function(){console.log(\"%s - %s\",iSt(),Ul.format.apply(Ul,arguments))};Ul.inherits=Uy();Ul._extend=function(e,t){if(!t||!f5(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};function FAe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var x2=typeof Symbol!=\"undefined\"?Symbol(\"util.promisify.custom\"):void 0;Ul.promisify=function(t){if(typeof t!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');if(x2&&t[x2]){var r=t[x2];if(typeof r!=\"function\")throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(r,x2,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var n,i,a=new Promise(function(l,u){n=l,i=u}),o=[],s=0;s<arguments.length;s++)o.push(arguments[s]);o.push(function(l,u){l?i(l):n(u)});try{t.apply(this,o)}catch(l){i(l)}return a}return Object.setPrototypeOf(r,Object.getPrototypeOf(t)),x2&&Object.defineProperty(r,x2,{value:r,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(r,IAe(t))};Ul.promisify.custom=x2;function nSt(e,t){if(!e){var r=new Error(\"Promise was rejected with a falsy value\");r.reason=e,e=r}return t(e)}function aSt(e){if(typeof e!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');function t(){for(var r=[],n=0;n<arguments.length;n++)r.push(arguments[n]);var i=r.pop();if(typeof i!=\"function\")throw new TypeError(\"The last argument must be of type Function\");var a=this,o=function(){return i.apply(a,arguments)};e.apply(this,r).then(function(s){process.nextTick(o.bind(null,null,s))},function(s){process.nextTick(nSt.bind(null,s,o))})}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),Object.defineProperties(t,IAe(e)),t}Ul.callbackify=aSt});var Ej=ye((pcr,NAe)=>{\"use strict\";function B_(e){\"@babel/helpers - typeof\";return B_=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},B_(e)}function qAe(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,sSt(n.key),n)}}function oSt(e,t,r){return t&&qAe(e.prototype,t),r&&qAe(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function sSt(e){var t=lSt(e,\"string\");return B_(t)===\"symbol\"?t:String(t)}function lSt(e,t){if(B_(e)!==\"object\"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||\"default\");if(B_(n)!==\"object\")return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(t===\"string\"?String:Number)(e)}function uSt(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function cSt(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&Mj(e,t)}function Mj(e,t){return Mj=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Mj(e,t)}function fSt(e){var t=vSt();return function(){var n=zR(e),i;if(t){var a=zR(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return hSt(this,i)}}function hSt(e,t){if(t&&(B_(t)===\"object\"||typeof t==\"function\"))return t;if(t!==void 0)throw new TypeError(\"Derived constructors may only return object or undefined\");return dSt(e)}function dSt(e){if(e===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function vSt(){if(typeof Reflect==\"undefined\"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==\"function\")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function zR(e){return zR=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},zR(e)}var BAe={},d5,Sj;function eE(e,t,r){r||(r=Error);function n(a,o,s){return typeof t==\"string\"?t:t(a,o,s)}var i=function(a){cSt(s,a);var o=fSt(s);function s(l,u,c){var f;return uSt(this,s),f=o.call(this,n(l,u,c)),f.code=e,f}return oSt(s)}(r);BAe[e]=i}function OAe(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(n){return String(n)}),r>2?\"one of \".concat(t,\" \").concat(e.slice(0,r-1).join(\", \"),\", or \")+e[r-1]:r===2?\"one of \".concat(t,\" \").concat(e[0],\" or \").concat(e[1]):\"of \".concat(t,\" \").concat(e[0])}else return\"of \".concat(t,\" \").concat(String(e))}function pSt(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function gSt(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function mSt(e,t,r){return typeof r!=\"number\"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}eE(\"ERR_AMBIGUOUS_ARGUMENT\",'The \"%s\" argument is ambiguous. %s',TypeError);eE(\"ERR_INVALID_ARG_TYPE\",function(e,t,r){d5===void 0&&(d5=tE()),d5(typeof e==\"string\",\"'name' must be a string\");var n;typeof t==\"string\"&&pSt(t,\"not \")?(n=\"must not be\",t=t.replace(/^not /,\"\")):n=\"must be\";var i;if(gSt(e,\" argument\"))i=\"The \".concat(e,\" \").concat(n,\" \").concat(OAe(t,\"type\"));else{var a=mSt(e,\".\")?\"property\":\"argument\";i='The \"'.concat(e,'\" ').concat(a,\" \").concat(n,\" \").concat(OAe(t,\"type\"))}return i+=\". Received type \".concat(B_(r)),i},TypeError);eE(\"ERR_INVALID_ARG_VALUE\",function(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\"is invalid\";Sj===void 0&&(Sj=h5());var n=Sj.inspect(t);return n.length>128&&(n=\"\".concat(n.slice(0,128),\"...\")),\"The argument '\".concat(e,\"' \").concat(r,\". Received \").concat(n)},TypeError,RangeError);eE(\"ERR_INVALID_RETURN_VALUE\",function(e,t,r){var n;return r&&r.constructor&&r.constructor.name?n=\"instance of \".concat(r.constructor.name):n=\"type \".concat(B_(r)),\"Expected \".concat(e,' to be returned from the \"').concat(t,'\"')+\" function but got \".concat(n,\".\")},TypeError);eE(\"ERR_MISSING_ARGS\",function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];d5===void 0&&(d5=tE()),d5(t.length>0,\"At least one arg needs to be specified\");var n=\"The \",i=t.length;switch(t=t.map(function(a){return'\"'.concat(a,'\"')}),i){case 1:n+=\"\".concat(t[0],\" argument\");break;case 2:n+=\"\".concat(t[0],\" and \").concat(t[1],\" arguments\");break;default:n+=t.slice(0,i-1).join(\", \"),n+=\", and \".concat(t[i-1],\" arguments\");break}return\"\".concat(n,\" must be specified\")},TypeError);NAe.exports.codes=BAe});var KAe=ye((gcr,YAe)=>{\"use strict\";function UAe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function VAe(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?UAe(Object(r),!0).forEach(function(n){ySt(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):UAe(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function ySt(e,t,r){return t=WAe(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _St(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function HAe(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,WAe(n.key),n)}}function xSt(e,t,r){return t&&HAe(e.prototype,t),r&&HAe(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function WAe(e){var t=bSt(e,\"string\");return Dp(t)===\"symbol\"?t:String(t)}function bSt(e,t){if(Dp(e)!==\"object\"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||\"default\");if(Dp(n)!==\"object\")return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(t===\"string\"?String:Number)(e)}function wSt(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&aE(e,t)}function TSt(e){var t=XAe();return function(){var n=oE(e),i;if(t){var a=oE(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return ZAe(this,i)}}function ZAe(e,t){if(t&&(Dp(t)===\"object\"||typeof t==\"function\"))return t;if(t!==void 0)throw new TypeError(\"Derived constructors may only return object or undefined\");return kj(e)}function kj(e){if(e===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function Cj(e){var t=typeof Map==\"function\"?new Map:void 0;return Cj=function(n){if(n===null||!ASt(n))return n;if(typeof n!=\"function\")throw new TypeError(\"Super expression must either be null or a function\");if(typeof t!=\"undefined\"){if(t.has(n))return t.get(n);t.set(n,i)}function i(){return FR(n,arguments,oE(this).constructor)}return i.prototype=Object.create(n.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),aE(i,n)},Cj(e)}function FR(e,t,r){return XAe()?FR=Reflect.construct.bind():FR=function(i,a,o){var s=[null];s.push.apply(s,a);var l=Function.bind.apply(i,s),u=new l;return o&&aE(u,o.prototype),u},FR.apply(null,arguments)}function XAe(){if(typeof Reflect==\"undefined\"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==\"function\")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function ASt(e){return Function.toString.call(e).indexOf(\"[native code]\")!==-1}function aE(e,t){return aE=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},aE(e,t)}function oE(e){return oE=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},oE(e)}function Dp(e){\"@babel/helpers - typeof\";return Dp=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},Dp(e)}var SSt=h5(),Lj=SSt.inspect,MSt=Ej(),ESt=MSt.codes.ERR_INVALID_ARG_TYPE;function GAe(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function kSt(e,t){if(t=Math.floor(t),e.length==0||t==0)return\"\";var r=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+=e.substring(0,r-e.length),e}var Gg=\"\",rE=\"\",iE=\"\",xv=\"\",w2={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:\"},CSt=10;function jAe(e){var t=Object.keys(e),r=Object.create(Object.getPrototypeOf(e));return t.forEach(function(n){r[n]=e[n]}),Object.defineProperty(r,\"message\",{value:e.message}),r}function nE(e){return Lj(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function LSt(e,t,r){var n=\"\",i=\"\",a=0,o=\"\",s=!1,l=nE(e),u=l.split(`\n", - "`),c=nE(t).split(`\n", - "`),f=0,h=\"\";if(r===\"strictEqual\"&&Dp(e)===\"object\"&&Dp(t)===\"object\"&&e!==null&&t!==null&&(r=\"strictEqualObject\"),u.length===1&&c.length===1&&u[0]!==c[0]){var d=u[0].length+c[0].length;if(d<=CSt){if((Dp(e)!==\"object\"||e===null)&&(Dp(t)!==\"object\"||t===null)&&(e!==0||t!==0))return\"\".concat(w2[r],`\n", - "\n", - "`)+\"\".concat(u[0],\" !== \").concat(c[0],`\n", - "`)}else if(r!==\"strictEqualObject\"){var v=process.stderr&&process.stderr.isTTY?process.stderr.columns:80;if(d<v){for(;u[0][f]===c[0][f];)f++;f>2&&(h=`\n", - " `.concat(kSt(\" \",f),\"^\"),f=0)}}}for(var x=u[u.length-1],b=c[c.length-1];x===b&&(f++<2?o=`\n", - " `.concat(x).concat(o):n=x,u.pop(),c.pop(),!(u.length===0||c.length===0));)x=u[u.length-1],b=c[c.length-1];var p=Math.max(u.length,c.length);if(p===0){var E=l.split(`\n", - "`);if(E.length>30)for(E[26]=\"\".concat(Gg,\"...\").concat(xv);E.length>27;)E.pop();return\"\".concat(w2.notIdentical,`\n", - "\n", - "`).concat(E.join(`\n", - "`),`\n", - "`)}f>3&&(o=`\n", - "`.concat(Gg,\"...\").concat(xv).concat(o),s=!0),n!==\"\"&&(o=`\n", - " `.concat(n).concat(o),n=\"\");var k=0,A=w2[r]+`\n", - "`.concat(rE,\"+ actual\").concat(xv,\" \").concat(iE,\"- expected\").concat(xv),L=\" \".concat(Gg,\"...\").concat(xv,\" Lines skipped\");for(f=0;f<p;f++){var _=f-a;if(u.length<f+1)_>1&&f>2&&(_>4?(i+=`\n", - "`.concat(Gg,\"...\").concat(xv),s=!0):_>3&&(i+=`\n", - " `.concat(c[f-2]),k++),i+=`\n", - " `.concat(c[f-1]),k++),a=f,n+=`\n", - "`.concat(iE,\"-\").concat(xv,\" \").concat(c[f]),k++;else if(c.length<f+1)_>1&&f>2&&(_>4?(i+=`\n", - "`.concat(Gg,\"...\").concat(xv),s=!0):_>3&&(i+=`\n", - " `.concat(u[f-2]),k++),i+=`\n", - " `.concat(u[f-1]),k++),a=f,i+=`\n", - "`.concat(rE,\"+\").concat(xv,\" \").concat(u[f]),k++;else{var C=c[f],M=u[f],g=M!==C&&(!GAe(M,\",\")||M.slice(0,-1)!==C);g&&GAe(C,\",\")&&C.slice(0,-1)===M&&(g=!1,M+=\",\"),g?(_>1&&f>2&&(_>4?(i+=`\n", - "`.concat(Gg,\"...\").concat(xv),s=!0):_>3&&(i+=`\n", - " `.concat(u[f-2]),k++),i+=`\n", - " `.concat(u[f-1]),k++),a=f,i+=`\n", - "`.concat(rE,\"+\").concat(xv,\" \").concat(M),n+=`\n", - "`.concat(iE,\"-\").concat(xv,\" \").concat(C),k+=2):(i+=n,n=\"\",(_===1||f===0)&&(i+=`\n", - " `.concat(M),k++))}if(k>20&&f<p-2)return\"\".concat(A).concat(L,`\n", - "`).concat(i,`\n", - "`).concat(Gg,\"...\").concat(xv).concat(n,`\n", - "`)+\"\".concat(Gg,\"...\").concat(xv)}return\"\".concat(A).concat(s?L:\"\",`\n", - "`).concat(i).concat(n).concat(o).concat(h)}var PSt=function(e,t){wSt(n,e);var r=TSt(n);function n(i){var a;if(_St(this,n),Dp(i)!==\"object\"||i===null)throw new ESt(\"options\",\"Object\",i);var o=i.message,s=i.operator,l=i.stackStartFn,u=i.actual,c=i.expected,f=Error.stackTraceLimit;if(Error.stackTraceLimit=0,o!=null)a=r.call(this,String(o));else if(process.stderr&&process.stderr.isTTY&&(process.stderr&&process.stderr.getColorDepth&&process.stderr.getColorDepth()!==1?(Gg=\"\\x1B[34m\",rE=\"\\x1B[32m\",xv=\"\\x1B[39m\",iE=\"\\x1B[31m\"):(Gg=\"\",rE=\"\",xv=\"\",iE=\"\")),Dp(u)===\"object\"&&u!==null&&Dp(c)===\"object\"&&c!==null&&\"stack\"in u&&u instanceof Error&&\"stack\"in c&&c instanceof Error&&(u=jAe(u),c=jAe(c)),s===\"deepStrictEqual\"||s===\"strictEqual\")a=r.call(this,LSt(u,c,s));else if(s===\"notDeepStrictEqual\"||s===\"notStrictEqual\"){var h=w2[s],d=nE(u).split(`\n", - "`);if(s===\"notStrictEqual\"&&Dp(u)===\"object\"&&u!==null&&(h=w2.notStrictEqualObject),d.length>30)for(d[26]=\"\".concat(Gg,\"...\").concat(xv);d.length>27;)d.pop();d.length===1?a=r.call(this,\"\".concat(h,\" \").concat(d[0])):a=r.call(this,\"\".concat(h,`\n", - "\n", - "`).concat(d.join(`\n", - "`),`\n", - "`))}else{var v=nE(u),x=\"\",b=w2[s];s===\"notDeepEqual\"||s===\"notEqual\"?(v=\"\".concat(w2[s],`\n", - "\n", - "`).concat(v),v.length>1024&&(v=\"\".concat(v.slice(0,1021),\"...\"))):(x=\"\".concat(nE(c)),v.length>512&&(v=\"\".concat(v.slice(0,509),\"...\")),x.length>512&&(x=\"\".concat(x.slice(0,509),\"...\")),s===\"deepEqual\"||s===\"equal\"?v=\"\".concat(b,`\n", - "\n", - "`).concat(v,`\n", - "\n", - "should equal\n", - "\n", - "`):x=\" \".concat(s,\" \").concat(x)),a=r.call(this,\"\".concat(v).concat(x))}return Error.stackTraceLimit=f,a.generatedMessage=!o,Object.defineProperty(kj(a),\"name\",{value:\"AssertionError [ERR_ASSERTION]\",enumerable:!1,writable:!0,configurable:!0}),a.code=\"ERR_ASSERTION\",a.actual=u,a.expected=c,a.operator=s,Error.captureStackTrace&&Error.captureStackTrace(kj(a),l),a.stack,a.name=\"AssertionError\",ZAe(a)}return xSt(n,[{key:\"toString\",value:function(){return\"\".concat(this.name,\" [\").concat(this.code,\"]: \").concat(this.message)}},{key:t,value:function(a,o){return Lj(this,VAe(VAe({},o),{},{customInspect:!1,depth:0}))}}]),n}(Cj(Error),Lj.custom);YAe.exports=PSt});var Pj=ye((mcr,$Ae)=>{\"use strict\";var JAe=Object.prototype.toString;$Ae.exports=function(t){var r=JAe.call(t),n=r===\"[object Arguments]\";return n||(n=r!==\"[object Array]\"&&t!==null&&typeof t==\"object\"&&typeof t.length==\"number\"&&t.length>=0&&JAe.call(t.callee)===\"[object Function]\"),n}});var sSe=ye((ycr,oSe)=>{\"use strict\";var aSe;Object.keys||(sE=Object.prototype.hasOwnProperty,Ij=Object.prototype.toString,QAe=Pj(),Rj=Object.prototype.propertyIsEnumerable,eSe=!Rj.call({toString:null},\"toString\"),tSe=Rj.call(function(){},\"prototype\"),lE=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],qR=function(e){var t=e.constructor;return t&&t.prototype===e},rSe={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},iSe=function(){if(typeof window==\"undefined\")return!1;for(var e in window)try{if(!rSe[\"$\"+e]&&sE.call(window,e)&&window[e]!==null&&typeof window[e]==\"object\")try{qR(window[e])}catch(t){return!0}}catch(t){return!0}return!1}(),nSe=function(e){if(typeof window==\"undefined\"||!iSe)return qR(e);try{return qR(e)}catch(t){return!1}},aSe=function(t){var r=t!==null&&typeof t==\"object\",n=Ij.call(t)===\"[object Function]\",i=QAe(t),a=r&&Ij.call(t)===\"[object String]\",o=[];if(!r&&!n&&!i)throw new TypeError(\"Object.keys called on a non-object\");var s=tSe&&n;if(a&&t.length>0&&!sE.call(t,0))for(var l=0;l<t.length;++l)o.push(String(l));if(i&&t.length>0)for(var u=0;u<t.length;++u)o.push(String(u));else for(var c in t)!(s&&c===\"prototype\")&&sE.call(t,c)&&o.push(String(c));if(eSe)for(var f=nSe(t),h=0;h<lE.length;++h)!(f&&lE[h]===\"constructor\")&&sE.call(t,lE[h])&&o.push(lE[h]);return o});var sE,Ij,QAe,Rj,eSe,tSe,lE,qR,rSe,iSe,nSe;oSe.exports=aSe});var Dj=ye((_cr,cSe)=>{\"use strict\";var ISt=Array.prototype.slice,RSt=Pj(),lSe=Object.keys,OR=lSe?function(t){return lSe(t)}:sSe(),uSe=Object.keys;OR.shim=function(){if(Object.keys){var t=function(){var r=Object.keys(arguments);return r&&r.length===arguments.length}(1,2);t||(Object.keys=function(n){return RSt(n)?uSe(ISt.call(n)):uSe(n)})}else Object.keys=OR;return Object.keys||OR};cSe.exports=OR});var gSe=ye((xcr,pSe)=>{\"use strict\";var DSt=Dj(),dSe=B8()(),vSe=i5(),fSe=Object,zSt=vSe(\"Array.prototype.push\"),hSe=vSe(\"Object.prototype.propertyIsEnumerable\"),FSt=dSe?Object.getOwnPropertySymbols:null;pSe.exports=function(t,r){if(t==null)throw new TypeError(\"target must be an object\");var n=fSe(t);if(arguments.length===1)return n;for(var i=1;i<arguments.length;++i){var a=fSe(arguments[i]),o=DSt(a),s=dSe&&(Object.getOwnPropertySymbols||FSt);if(s)for(var l=s(a),u=0;u<l.length;++u){var c=l[u];hSe(a,c)&&zSt(o,c)}for(var f=0;f<o.length;++f){var h=o[f];if(hSe(a,h)){var d=a[h];n[h]=d}}}return n}});var ySe=ye((bcr,mSe)=>{\"use strict\";var zj=gSe(),qSt=function(){if(!Object.assign)return!1;for(var e=\"abcdefghijklmnopqrst\",t=e.split(\"\"),r={},n=0;n<t.length;++n)r[t[n]]=t[n];var i=Object.assign({},r),a=\"\";for(var o in i)a+=o;return e!==a},OSt=function(){if(!Object.assign||!Object.preventExtensions)return!1;var e=Object.preventExtensions({1:2});try{Object.assign(e,\"xy\")}catch(t){return e[1]===\"y\"}return!1};mSe.exports=function(){return!Object.assign||qSt()||OSt()?zj:Object.assign}});var Fj=ye((wcr,xSe)=>{\"use strict\";var _Se=function(e){return e!==e};xSe.exports=function(t,r){return t===0&&r===0?1/t===1/r:!!(t===r||_Se(t)&&_Se(r))}});var BR=ye((Tcr,bSe)=>{\"use strict\";var BSt=Fj();bSe.exports=function(){return typeof Object.is==\"function\"?Object.is:BSt}});var uE=ye((Acr,SSe)=>{\"use strict\";var NSt=Dj(),USt=typeof Symbol==\"function\"&&typeof Symbol(\"foo\")==\"symbol\",VSt=Object.prototype.toString,HSt=Array.prototype.concat,wSe=Object.defineProperty,GSt=function(e){return typeof e==\"function\"&&VSt.call(e)===\"[object Function]\"},jSt=yG()(),TSe=wSe&&jSt,WSt=function(e,t,r,n){if(t in e){if(n===!0){if(e[t]===r)return}else if(!GSt(n)||!n())return}TSe?wSe(e,t,{configurable:!0,enumerable:!1,value:r,writable:!0}):e[t]=r},ASe=function(e,t){var r=arguments.length>2?arguments[2]:{},n=NSt(t);USt&&(n=HSt.call(n,Object.getOwnPropertySymbols(t)));for(var i=0;i<n.length;i+=1)WSt(e,n[i],t[n[i]],r[n[i]])};ASe.supportsDescriptors=!!TSe;SSe.exports=ASe});var ESe=ye((Scr,MSe)=>{\"use strict\";var ZSt=BR(),XSt=uE();MSe.exports=function(){var t=ZSt();return XSt(Object,{is:t},{is:function(){return Object.is!==t}}),t}});var PSe=ye((Mcr,LSe)=>{\"use strict\";var YSt=uE(),KSt=N4(),JSt=Fj(),kSe=BR(),$St=ESe(),CSe=KSt(kSe(),Object);YSt(CSe,{getPolyfill:kSe,implementation:JSt,shim:$St});LSe.exports=CSe});var qj=ye((Ecr,ISe)=>{\"use strict\";ISe.exports=function(t){return t!==t}});var Oj=ye((kcr,RSe)=>{\"use strict\";var QSt=qj();RSe.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN(\"a\")?Number.isNaN:QSt}});var zSe=ye((Ccr,DSe)=>{\"use strict\";var eMt=uE(),tMt=Oj();DSe.exports=function(){var t=tMt();return eMt(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}});var BSe=ye((Lcr,OSe)=>{\"use strict\";var rMt=N4(),iMt=uE(),nMt=qj(),FSe=Oj(),aMt=zSe(),qSe=rMt(FSe(),Number);iMt(qSe,{getPolyfill:FSe,implementation:nMt,shim:aMt});OSe.exports=qSe});var aMe=ye((Pcr,nMe)=>{\"use strict\";function NSe(e,t){return uMt(e)||lMt(e,t)||sMt(e,t)||oMt()}function oMt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.\n", - "In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function sMt(e,t){if(e){if(typeof e==\"string\")return USe(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r===\"Object\"&&e.constructor&&(r=e.constructor.name),r===\"Map\"||r===\"Set\")return Array.from(e);if(r===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return USe(e,t)}}function USe(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function lMt(e,t){var r=e==null?null:typeof Symbol!=\"undefined\"&&e[Symbol.iterator]||e[\"@@iterator\"];if(r!=null){var n,i,a,o,s=[],l=!0,u=!1;try{if(a=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(c){u=!0,i=c}finally{try{if(!l&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}function uMt(e){if(Array.isArray(e))return e}function J0(e){\"@babel/helpers - typeof\";return J0=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},J0(e)}var cMt=/a/g.flags!==void 0,WR=function(t){var r=[];return t.forEach(function(n){return r.push(n)}),r},VSe=function(t){var r=[];return t.forEach(function(n,i){return r.push([i,n])}),r},QSe=Object.is?Object.is:PSe(),GR=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},Bj=Number.isNaN?Number.isNaN:BSe();function Uj(e){return e.call.bind(e)}var fE=Uj(Object.prototype.hasOwnProperty),jR=Uj(Object.prototype.propertyIsEnumerable),HSe=Uj(Object.prototype.toString),sp=h5().types,fMt=sp.isAnyArrayBuffer,hMt=sp.isArrayBufferView,GSe=sp.isDate,NR=sp.isMap,jSe=sp.isRegExp,UR=sp.isSet,dMt=sp.isNativeError,vMt=sp.isBoxedPrimitive,WSe=sp.isNumberObject,ZSe=sp.isStringObject,XSe=sp.isBooleanObject,YSe=sp.isBigIntObject,pMt=sp.isSymbolObject,gMt=sp.isFloat32Array,mMt=sp.isFloat64Array;function yMt(e){if(e.length===0||e.length>10)return!0;for(var t=0;t<e.length;t++){var r=e.charCodeAt(t);if(r<48||r>57)return!0}return e.length===10&&e>=Math.pow(2,32)}function VR(e){return Object.keys(e).filter(yMt).concat(GR(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}function eMe(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i<a;++i)if(e[i]!==t[i]){r=e[i],n=t[i];break}return r<n?-1:n<r?1:0}var HR=void 0,_Mt=!0,xMt=!1,Nj=0,Vj=1,tMe=2,rMe=3;function bMt(e,t){return cMt?e.source===t.source&&e.flags===t.flags:RegExp.prototype.toString.call(e)===RegExp.prototype.toString.call(t)}function wMt(e,t){if(e.byteLength!==t.byteLength)return!1;for(var r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function TMt(e,t){return e.byteLength!==t.byteLength?!1:eMe(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))===0}function AMt(e,t){return e.byteLength===t.byteLength&&eMe(new Uint8Array(e),new Uint8Array(t))===0}function SMt(e,t){return WSe(e)?WSe(t)&&QSe(Number.prototype.valueOf.call(e),Number.prototype.valueOf.call(t)):ZSe(e)?ZSe(t)&&String.prototype.valueOf.call(e)===String.prototype.valueOf.call(t):XSe(e)?XSe(t)&&Boolean.prototype.valueOf.call(e)===Boolean.prototype.valueOf.call(t):YSe(e)?YSe(t)&&BigInt.prototype.valueOf.call(e)===BigInt.prototype.valueOf.call(t):pMt(t)&&Symbol.prototype.valueOf.call(e)===Symbol.prototype.valueOf.call(t)}function $0(e,t,r,n){if(e===t)return e!==0?!0:r?QSe(e,t):!0;if(r){if(J0(e)!==\"object\")return typeof e==\"number\"&&Bj(e)&&Bj(t);if(J0(t)!==\"object\"||e===null||t===null||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1}else{if(e===null||J0(e)!==\"object\")return t===null||J0(t)!==\"object\"?e==t:!1;if(t===null||J0(t)!==\"object\")return!1}var i=HSe(e),a=HSe(t);if(i!==a)return!1;if(Array.isArray(e)){if(e.length!==t.length)return!1;var o=VR(e,HR),s=VR(t,HR);return o.length!==s.length?!1:cE(e,t,r,n,Vj,o)}if(i===\"[object Object]\"&&(!NR(e)&&NR(t)||!UR(e)&&UR(t)))return!1;if(GSe(e)){if(!GSe(t)||Date.prototype.getTime.call(e)!==Date.prototype.getTime.call(t))return!1}else if(jSe(e)){if(!jSe(t)||!bMt(e,t))return!1}else if(dMt(e)||e instanceof Error){if(e.message!==t.message||e.name!==t.name)return!1}else if(hMt(e)){if(!r&&(gMt(e)||mMt(e))){if(!wMt(e,t))return!1}else if(!TMt(e,t))return!1;var l=VR(e,HR),u=VR(t,HR);return l.length!==u.length?!1:cE(e,t,r,n,Nj,l)}else{if(UR(e))return!UR(t)||e.size!==t.size?!1:cE(e,t,r,n,tMe);if(NR(e))return!NR(t)||e.size!==t.size?!1:cE(e,t,r,n,rMe);if(fMt(e)){if(!AMt(e,t))return!1}else if(vMt(e)&&!SMt(e,t))return!1}return cE(e,t,r,n,Nj)}function KSe(e,t){return t.filter(function(r){return jR(e,r)})}function cE(e,t,r,n,i,a){if(arguments.length===5){a=Object.keys(e);var o=Object.keys(t);if(a.length!==o.length)return!1}for(var s=0;s<a.length;s++)if(!fE(t,a[s]))return!1;if(r&&arguments.length===5){var l=GR(e);if(l.length!==0){var u=0;for(s=0;s<l.length;s++){var c=l[s];if(jR(e,c)){if(!jR(t,c))return!1;a.push(c),u++}else if(jR(t,c))return!1}var f=GR(t);if(l.length!==f.length&&KSe(t,f).length!==u)return!1}else{var h=GR(t);if(h.length!==0&&KSe(t,h).length!==0)return!1}}if(a.length===0&&(i===Nj||i===Vj&&e.length===0||e.size===0))return!0;if(n===void 0)n={val1:new Map,val2:new Map,position:0};else{var d=n.val1.get(e);if(d!==void 0){var v=n.val2.get(t);if(v!==void 0)return d===v}n.position++}n.val1.set(e,n.position),n.val2.set(t,n.position);var x=LMt(e,t,r,a,n,i);return n.val1.delete(e),n.val2.delete(t),x}function JSe(e,t,r,n){for(var i=WR(e),a=0;a<i.length;a++){var o=i[a];if($0(t,o,r,n))return e.delete(o),!0}return!1}function iMe(e){switch(J0(e)){case\"undefined\":return null;case\"object\":return;case\"symbol\":return!1;case\"string\":e=+e;case\"number\":if(Bj(e))return!1}return!0}function MMt(e,t,r){var n=iMe(r);return n!=null?n:t.has(n)&&!e.has(n)}function EMt(e,t,r,n,i){var a=iMe(r);if(a!=null)return a;var o=t.get(a);return o===void 0&&!t.has(a)||!$0(n,o,!1,i)?!1:!e.has(a)&&$0(n,o,!1,i)}function kMt(e,t,r,n){for(var i=null,a=WR(e),o=0;o<a.length;o++){var s=a[o];if(J0(s)===\"object\"&&s!==null)i===null&&(i=new Set),i.add(s);else if(!t.has(s)){if(r||!MMt(e,t,s))return!1;i===null&&(i=new Set),i.add(s)}}if(i!==null){for(var l=WR(t),u=0;u<l.length;u++){var c=l[u];if(J0(c)===\"object\"&&c!==null){if(!JSe(i,c,r,n))return!1}else if(!r&&!e.has(c)&&!JSe(i,c,r,n))return!1}return i.size===0}return!0}function $Se(e,t,r,n,i,a){for(var o=WR(e),s=0;s<o.length;s++){var l=o[s];if($0(r,l,i,a)&&$0(n,t.get(l),i,a))return e.delete(l),!0}return!1}function CMt(e,t,r,n){for(var i=null,a=VSe(e),o=0;o<a.length;o++){var s=NSe(a[o],2),l=s[0],u=s[1];if(J0(l)===\"object\"&&l!==null)i===null&&(i=new Set),i.add(l);else{var c=t.get(l);if(c===void 0&&!t.has(l)||!$0(u,c,r,n)){if(r||!EMt(e,t,l,u,n))return!1;i===null&&(i=new Set),i.add(l)}}}if(i!==null){for(var f=VSe(t),h=0;h<f.length;h++){var d=NSe(f[h],2),v=d[0],x=d[1];if(J0(v)===\"object\"&&v!==null){if(!$Se(i,e,v,x,r,n))return!1}else if(!r&&(!e.has(v)||!$0(e.get(v),x,!1,n))&&!$Se(i,e,v,x,!1,n))return!1}return i.size===0}return!0}function LMt(e,t,r,n,i,a){var o=0;if(a===tMe){if(!kMt(e,t,r,i))return!1}else if(a===rMe){if(!CMt(e,t,r,i))return!1}else if(a===Vj)for(;o<e.length;o++)if(fE(e,o)){if(!fE(t,o)||!$0(e[o],t[o],r,i))return!1}else{if(fE(t,o))return!1;for(var s=Object.keys(e);o<s.length;o++){var l=s[o];if(!fE(t,l)||!$0(e[l],t[l],r,i))return!1}return s.length===Object.keys(t).length}for(o=0;o<n.length;o++){var u=n[o];if(!$0(e[u],t[u],r,i))return!1}return!0}function PMt(e,t){return $0(e,t,xMt)}function IMt(e,t){return $0(e,t,_Mt)}nMe.exports={isDeepEqual:PMt,isDeepStrictEqual:IMt}});var tE=ye((Icr,TMe)=>{\"use strict\";function jg(e){\"@babel/helpers - typeof\";return jg=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},jg(e)}function oMe(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,DMt(n.key),n)}}function RMt(e,t,r){return t&&oMe(e.prototype,t),r&&oMe(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function DMt(e){var t=zMt(e,\"string\");return jg(t)===\"symbol\"?t:String(t)}function zMt(e,t){if(jg(e)!==\"object\"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||\"default\");if(jg(n)!==\"object\")return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(t===\"string\"?String:Number)(e)}function FMt(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var qMt=Ej(),hE=qMt.codes,sMe=hE.ERR_AMBIGUOUS_ARGUMENT,v5=hE.ERR_INVALID_ARG_TYPE,OMt=hE.ERR_INVALID_ARG_VALUE,BMt=hE.ERR_INVALID_RETURN_VALUE,U_=hE.ERR_MISSING_ARGS,V_=KAe(),NMt=h5(),ZR=NMt.inspect,fMe=h5().types,UMt=fMe.isPromise,XR=fMe.isRegExp,VMt=ySe()(),hMe=BR()(),YR=i5()(\"RegExp.prototype.test\"),N_,KR;function dE(){var e=aMe();N_=e.isDeepEqual,KR=e.isDeepStrictEqual}var lMe=!1,sf=TMe.exports=Hj,JR={};function Wg(e){throw e.message instanceof Error?e.message:new V_(e)}function dMe(e,t,r,n,i){var a=arguments.length,o;if(a===0)o=\"Failed\";else if(a===1)r=e,e=void 0;else{if(lMe===!1){lMe=!0;var s=process.emitWarning?process.emitWarning:console.warn.bind(console);s(\"assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.\",\"DeprecationWarning\",\"DEP0094\")}a===2&&(n=\"!=\")}if(r instanceof Error)throw r;var l={actual:e,expected:t,operator:n===void 0?\"fail\":n,stackStartFn:i||dMe};r!==void 0&&(l.message=r);var u=new V_(l);throw o&&(u.message=o,u.generatedMessage=!0),u}sf.fail=dMe;sf.AssertionError=V_;function vMe(e,t,r,n){if(!r){var i=!1;if(t===0)i=!0,n=\"No value argument passed to `assert.ok()`\";else if(n instanceof Error)throw n;var a=new V_({actual:r,expected:!0,message:n,operator:\"==\",stackStartFn:e});throw a.generatedMessage=i,a}}function Hj(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];vMe.apply(void 0,[Hj,t.length].concat(t))}sf.ok=Hj;sf.equal=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");t!=r&&Wg({actual:t,expected:r,message:n,operator:\"==\",stackStartFn:e})};sf.notEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");t==r&&Wg({actual:t,expected:r,message:n,operator:\"!=\",stackStartFn:e})};sf.deepEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");N_===void 0&&dE(),N_(t,r)||Wg({actual:t,expected:r,message:n,operator:\"deepEqual\",stackStartFn:e})};sf.notDeepEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");N_===void 0&&dE(),N_(t,r)&&Wg({actual:t,expected:r,message:n,operator:\"notDeepEqual\",stackStartFn:e})};sf.deepStrictEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");N_===void 0&&dE(),KR(t,r)||Wg({actual:t,expected:r,message:n,operator:\"deepStrictEqual\",stackStartFn:e})};sf.notDeepStrictEqual=pMe;function pMe(e,t,r){if(arguments.length<2)throw new U_(\"actual\",\"expected\");N_===void 0&&dE(),KR(e,t)&&Wg({actual:e,expected:t,message:r,operator:\"notDeepStrictEqual\",stackStartFn:pMe})}sf.strictEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");hMe(t,r)||Wg({actual:t,expected:r,message:n,operator:\"strictEqual\",stackStartFn:e})};sf.notStrictEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");hMe(t,r)&&Wg({actual:t,expected:r,message:n,operator:\"notStrictEqual\",stackStartFn:e})};var uMe=RMt(function e(t,r,n){var i=this;FMt(this,e),r.forEach(function(a){a in t&&(n!==void 0&&typeof n[a]==\"string\"&&XR(t[a])&&YR(t[a],n[a])?i[a]=n[a]:i[a]=t[a])})});function HMt(e,t,r,n,i,a){if(!(r in e)||!KR(e[r],t[r])){if(!n){var o=new uMe(e,i),s=new uMe(t,i,e),l=new V_({actual:o,expected:s,operator:\"deepStrictEqual\",stackStartFn:a});throw l.actual=e,l.expected=t,l.operator=a.name,l}Wg({actual:e,expected:t,message:n,operator:a.name,stackStartFn:a})}}function gMe(e,t,r,n){if(typeof t!=\"function\"){if(XR(t))return YR(t,e);if(arguments.length===2)throw new v5(\"expected\",[\"Function\",\"RegExp\"],t);if(jg(e)!==\"object\"||e===null){var i=new V_({actual:e,expected:t,message:r,operator:\"deepStrictEqual\",stackStartFn:n});throw i.operator=n.name,i}var a=Object.keys(t);if(t instanceof Error)a.push(\"name\",\"message\");else if(a.length===0)throw new OMt(\"error\",t,\"may not be an empty object\");return N_===void 0&&dE(),a.forEach(function(o){typeof e[o]==\"string\"&&XR(t[o])&&YR(t[o],e[o])||HMt(e,t,o,r,a,n)}),!0}return t.prototype!==void 0&&e instanceof t?!0:Error.isPrototypeOf(t)?!1:t.call({},e)===!0}function mMe(e){if(typeof e!=\"function\")throw new v5(\"fn\",\"Function\",e);try{e()}catch(t){return t}return JR}function cMe(e){return UMt(e)||e!==null&&jg(e)===\"object\"&&typeof e.then==\"function\"&&typeof e.catch==\"function\"}function yMe(e){return Promise.resolve().then(function(){var t;if(typeof e==\"function\"){if(t=e(),!cMe(t))throw new BMt(\"instance of Promise\",\"promiseFn\",t)}else if(cMe(e))t=e;else throw new v5(\"promiseFn\",[\"Function\",\"Promise\"],e);return Promise.resolve().then(function(){return t}).then(function(){return JR}).catch(function(r){return r})})}function _Me(e,t,r,n){if(typeof r==\"string\"){if(arguments.length===4)throw new v5(\"error\",[\"Object\",\"Error\",\"Function\",\"RegExp\"],r);if(jg(t)===\"object\"&&t!==null){if(t.message===r)throw new sMe(\"error/message\",'The error message \"'.concat(t.message,'\" is identical to the message.'))}else if(t===r)throw new sMe(\"error/message\",'The error \"'.concat(t,'\" is identical to the message.'));n=r,r=void 0}else if(r!=null&&jg(r)!==\"object\"&&typeof r!=\"function\")throw new v5(\"error\",[\"Object\",\"Error\",\"Function\",\"RegExp\"],r);if(t===JR){var i=\"\";r&&r.name&&(i+=\" (\".concat(r.name,\")\")),i+=n?\": \".concat(n):\".\";var a=e.name===\"rejects\"?\"rejection\":\"exception\";Wg({actual:void 0,expected:r,operator:e.name,message:\"Missing expected \".concat(a).concat(i),stackStartFn:e})}if(r&&!gMe(t,r,n,e))throw t}function xMe(e,t,r,n){if(t!==JR){if(typeof r==\"string\"&&(n=r,r=void 0),!r||gMe(t,r)){var i=n?\": \".concat(n):\".\",a=e.name===\"doesNotReject\"?\"rejection\":\"exception\";Wg({actual:t,expected:r,operator:e.name,message:\"Got unwanted \".concat(a).concat(i,`\n", - "`)+'Actual message: \"'.concat(t&&t.message,'\"'),stackStartFn:e})}throw t}}sf.throws=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];_Me.apply(void 0,[e,mMe(t)].concat(n))};sf.rejects=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];return yMe(t).then(function(a){return _Me.apply(void 0,[e,a].concat(n))})};sf.doesNotThrow=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];xMe.apply(void 0,[e,mMe(t)].concat(n))};sf.doesNotReject=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];return yMe(t).then(function(a){return xMe.apply(void 0,[e,a].concat(n))})};sf.ifError=function e(t){if(t!=null){var r=\"ifError got unwanted exception: \";jg(t)===\"object\"&&typeof t.message==\"string\"?t.message.length===0&&t.constructor?r+=t.constructor.name:r+=t.message:r+=ZR(t);var n=new V_({actual:t,expected:null,operator:\"ifError\",message:r,stackStartFn:e}),i=t.stack;if(typeof i==\"string\"){var a=i.split(`\n", - "`);a.shift();for(var o=n.stack.split(`\n", - "`),s=0;s<a.length;s++){var l=o.indexOf(a[s]);if(l!==-1){o=o.slice(0,l);break}}n.stack=\"\".concat(o.join(`\n", - "`),`\n", - "`).concat(a.join(`\n", - "`))}throw n}};function bMe(e,t,r,n,i){if(!XR(t))throw new v5(\"regexp\",\"RegExp\",t);var a=i===\"match\";if(typeof e!=\"string\"||YR(t,e)!==a){if(r instanceof Error)throw r;var o=!r;r=r||(typeof e!=\"string\"?'The \"string\" argument must be of type string. Received type '+\"\".concat(jg(e),\" (\").concat(ZR(e),\")\"):(a?\"The input did not match the regular expression \":\"The input was expected to not match the regular expression \")+\"\".concat(ZR(t),`. Input:\n", - "\n", - "`).concat(ZR(e),`\n", - "`));var s=new V_({actual:e,expected:t,message:r,operator:i,stackStartFn:n});throw s.generatedMessage=o,s}}sf.match=function e(t,r,n){bMe(t,r,n,e,\"match\")};sf.doesNotMatch=function e(t,r,n){bMe(t,r,n,e,\"doesNotMatch\")};function wMe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];vMe.apply(void 0,[wMe,t.length].concat(t))}sf.strict=VMt(wMe,sf,{equal:sf.strictEqual,deepEqual:sf.deepStrictEqual,notEqual:sf.notStrictEqual,notDeepEqual:sf.notDeepStrictEqual});sf.strict.strict=sf.strict});var SMe=ye((Rcr,AMe)=>{var vE=1e3,pE=vE*60,gE=pE*60,mE=gE*24,GMt=mE*365.25;AMe.exports=function(e,t){t=t||{};var r=typeof e;if(r===\"string\"&&e.length>0)return jMt(e);if(r===\"number\"&&isNaN(e)===!1)return t.long?ZMt(e):WMt(e);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(e))};function jMt(e){if(e=String(e),!(e.length>100)){var t=/^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||\"ms\").toLowerCase();switch(n){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return r*GMt;case\"days\":case\"day\":case\"d\":return r*mE;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return r*gE;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return r*pE;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return r*vE;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return r;default:return}}}}function WMt(e){return e>=mE?Math.round(e/mE)+\"d\":e>=gE?Math.round(e/gE)+\"h\":e>=pE?Math.round(e/pE)+\"m\":e>=vE?Math.round(e/vE)+\"s\":e+\"ms\"}function ZMt(e){return $R(e,mE,\"day\")||$R(e,gE,\"hour\")||$R(e,pE,\"minute\")||$R(e,vE,\"second\")||e+\" ms\"}function $R(e,t,r){if(!(e<t))return e<t*1.5?Math.floor(e/t)+\" \"+r:Math.ceil(e/t)+\" \"+r+\"s\"}});var EMe=ye(($u,MMe)=>{$u=MMe.exports=jj.debug=jj.default=jj;$u.coerce=$Mt;$u.disable=KMt;$u.enable=YMt;$u.enabled=JMt;$u.humanize=SMe();$u.names=[];$u.skips=[];$u.formatters={};var Gj;function XMt(e){var t=0,r;for(r in e)t=(t<<5)-t+e.charCodeAt(r),t|=0;return $u.colors[Math.abs(t)%$u.colors.length]}function jj(e){function t(){if(t.enabled){var r=t,n=+new Date,i=n-(Gj||n);r.diff=i,r.prev=Gj,r.curr=n,Gj=n;for(var a=new Array(arguments.length),o=0;o<a.length;o++)a[o]=arguments[o];a[0]=$u.coerce(a[0]),typeof a[0]!=\"string\"&&a.unshift(\"%O\");var s=0;a[0]=a[0].replace(/%([a-zA-Z%])/g,function(u,c){if(u===\"%%\")return u;s++;var f=$u.formatters[c];if(typeof f==\"function\"){var h=a[s];u=f.call(r,h),a.splice(s,1),s--}return u}),$u.formatArgs.call(r,a);var l=t.log||$u.log||console.log.bind(console);l.apply(r,a)}}return t.namespace=e,t.enabled=$u.enabled(e),t.useColors=$u.useColors(),t.color=XMt(e),typeof $u.init==\"function\"&&$u.init(t),t}function YMt(e){$u.save(e),$u.names=[],$u.skips=[];for(var t=(typeof e==\"string\"?e:\"\").split(/[\\s,]+/),r=t.length,n=0;n<r;n++)t[n]&&(e=t[n].replace(/\\*/g,\".*?\"),e[0]===\"-\"?$u.skips.push(new RegExp(\"^\"+e.substr(1)+\"$\")):$u.names.push(new RegExp(\"^\"+e+\"$\")))}function KMt(){$u.enable(\"\")}function JMt(e){var t,r;for(t=0,r=$u.skips.length;t<r;t++)if($u.skips[t].test(e))return!1;for(t=0,r=$u.names.length;t<r;t++)if($u.names[t].test(e))return!0;return!1}function $Mt(e){return e instanceof Error?e.stack||e.message:e}});var LMe=ye((lp,CMe)=>{lp=CMe.exports=EMe();lp.log=t4t;lp.formatArgs=e4t;lp.save=r4t;lp.load=kMe;lp.useColors=QMt;lp.storage=typeof chrome!=\"undefined\"&&typeof chrome.storage!=\"undefined\"?chrome.storage.local:i4t();lp.colors=[\"lightseagreen\",\"forestgreen\",\"goldenrod\",\"dodgerblue\",\"darkorchid\",\"crimson\"];function QMt(){return typeof window!=\"undefined\"&&window.process&&window.process.type===\"renderer\"?!0:typeof document!=\"undefined\"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=\"undefined\"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=\"undefined\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!=\"undefined\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)}lp.formatters.j=function(e){try{return JSON.stringify(e)}catch(t){return\"[UnexpectedJSONParseError]: \"+t.message}};function e4t(e){var t=this.useColors;if(e[0]=(t?\"%c\":\"\")+this.namespace+(t?\" %c\":\" \")+e[0]+(t?\"%c \":\" \")+\"+\"+lp.humanize(this.diff),!!t){var r=\"color: \"+this.color;e.splice(1,0,r,\"color: inherit\");var n=0,i=0;e[0].replace(/%[a-zA-Z%]/g,function(a){a!==\"%%\"&&(n++,a===\"%c\"&&(i=n))}),e.splice(i,0,r)}}function t4t(){return typeof console==\"object\"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function r4t(e){try{e==null?lp.storage.removeItem(\"debug\"):lp.storage.debug=e}catch(t){}}function kMe(){var e;try{e=lp.storage.debug}catch(t){}return!e&&typeof process!=\"undefined\"&&\"env\"in process&&(e=process.env.DEBUG),e}lp.enable(kMe());function i4t(){try{return window.localStorage}catch(e){}}});var OMe=ye((Dcr,qMe)=>{var p5=tE(),H_=LMe()(\"stream-parser\");qMe.exports=a4t;var IMe=-1,QR=0,n4t=1,RMe=2;function a4t(e){var t=e&&typeof e._transform==\"function\",r=e&&typeof e._write==\"function\";if(!t&&!r)throw new Error(\"must pass a Writable or Transform stream in\");H_(\"extending Parser into stream\"),e._bytes=o4t,e._skipBytes=s4t,t&&(e._passthrough=l4t),t?e._transform=c4t:e._write=u4t}function yE(e){H_(\"initializing parser stream\"),e._parserBytesLeft=0,e._parserBuffers=[],e._parserBuffered=0,e._parserState=IMe,e._parserCallback=null,typeof e.push==\"function\"&&(e._parserOutput=e.push.bind(e)),e._parserInit=!0}function o4t(e,t){p5(!this._parserCallback,'there is already a \"callback\" set!'),p5(isFinite(e)&&e>0,'can only buffer a finite number of bytes > 0, got \"'+e+'\"'),this._parserInit||yE(this),H_(\"buffering %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=QR}function s4t(e,t){p5(!this._parserCallback,'there is already a \"callback\" set!'),p5(e>0,'can only skip > 0 bytes, got \"'+e+'\"'),this._parserInit||yE(this),H_(\"skipping %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=n4t}function l4t(e,t){p5(!this._parserCallback,'There is already a \"callback\" set!'),p5(e>0,'can only pass through > 0 bytes, got \"'+e+'\"'),this._parserInit||yE(this),H_(\"passing through %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=RMe}function u4t(e,t,r){this._parserInit||yE(this),H_(\"write(%o bytes)\",e.length),typeof t==\"function\"&&(r=t),zMe(this,e,null,r)}function c4t(e,t,r){this._parserInit||yE(this),H_(\"transform(%o bytes)\",e.length),typeof t!=\"function\"&&(t=this._parserOutput),zMe(this,e,t,r)}function DMe(e,t,r,n){return e._parserBytesLeft<=0?n(new Error(\"got data but not currently parsing anything\")):t.length<=e._parserBytesLeft?function(){return PMe(e,t,r,n)}:function(){var i=t.slice(0,e._parserBytesLeft);return PMe(e,i,r,function(a){if(a)return n(a);if(t.length>i.length)return function(){return DMe(e,t.slice(i.length),r,n)}})}}function PMe(e,t,r,n){if(e._parserBytesLeft-=t.length,H_(\"%o bytes left for stream piece\",e._parserBytesLeft),e._parserState===QR?(e._parserBuffers.push(t),e._parserBuffered+=t.length):e._parserState===RMe&&r(t),e._parserBytesLeft===0){var i=e._parserCallback;if(i&&e._parserState===QR&&e._parserBuffers.length>1&&(t=Buffer.concat(e._parserBuffers,e._parserBuffered)),e._parserState!==QR&&(t=null),e._parserCallback=null,e._parserBuffered=0,e._parserState=IMe,e._parserBuffers.splice(0),i){var a=[];t&&a.push(t),r&&a.push(r);var o=i.length>a.length;o&&a.push(FMe(n));var s=i.apply(e,a);if(!o||n===s)return n}}else return n}var zMe=FMe(DMe);function FMe(e){return function(){for(var t=e.apply(this,arguments);typeof t==\"function\";)t=t();return t}}});var Eu=ye(Gy=>{\"use strict\";var BMe=PAe().Transform,f4t=OMe();function _E(){BMe.call(this,{readableObjectMode:!0})}_E.prototype=Object.create(BMe.prototype);_E.prototype.constructor=_E;f4t(_E.prototype);Gy.ParserStream=_E;Gy.sliceEq=function(e,t,r){for(var n=t,i=0;i<r.length;)if(e[n++]!==r[i++])return!1;return!0};Gy.str2arr=function(e,t){var r=[],n=0;if(t&&t===\"hex\")for(;n<e.length;)r.push(parseInt(e.slice(n,n+2),16)),n+=2;else for(;n<e.length;n++)r.push(e.charCodeAt(n)&255);return r};Gy.readUInt16LE=function(e,t){return e[t]|e[t+1]<<8};Gy.readUInt16BE=function(e,t){return e[t+1]|e[t]<<8};Gy.readUInt32LE=function(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]*16777216};Gy.readUInt32BE=function(e,t){return e[t+3]|e[t+2]<<8|e[t+1]<<16|e[t]*16777216};function eD(e,t,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||\"\",this.name=this.constructor.name,this.message=e,t&&(this.code=t),r&&(this.statusCode=r)}eD.prototype=Object.create(Error.prototype);eD.prototype.constructor=eD;Gy.ProbeError=eD});var NMe=ye((Fcr,tD)=>{\"use strict\";var g5=Eu().readUInt16BE,Zj=Eu().readUInt32BE;function xE(e,t){if(e.length<4+t)return null;var r=Zj(e,t);return e.length<r+t||r<8?null:{boxtype:String.fromCharCode.apply(null,e.slice(t+4,t+8)),data:e.slice(t+8,t+r),end:t+r}}tD.exports.unbox=xE;function h4t(e,t){for(var r=0;;){var n=xE(e,r);if(!n)break;switch(n.boxtype){case\"ispe\":t.sizes.push({width:Zj(n.data,4),height:Zj(n.data,8)});break;case\"irot\":t.transforms.push({type:\"irot\",value:n.data[0]&3});break;case\"imir\":t.transforms.push({type:\"imir\",value:n.data[0]&1});break}r=n.end}}function Wj(e,t,r){for(var n=0,i=0;i<r;i++)n=n*256+(e[t+i]||0);return n}function d4t(e,t){for(var r=e[4]>>4&15,n=e[4]&15,i=e[5]>>4&15,a=g5(e,6),o=8,s=0;s<a;s++){var l=g5(e,o);o+=2;var u=g5(e,o);o+=2;var c=Wj(e,o,i);o+=i;var f=g5(e,o);if(o+=2,u===0&&f===1){var h=Wj(e,o,r),d=Wj(e,o+r,n);t.item_loc[l]={length:d,offset:h+c}}o+=f*(r+n)}}function v4t(e,t){for(var r=g5(e,4),n=6,i=0;i<r;i++){var a=xE(e,n);if(!a)break;if(a.boxtype===\"infe\"){for(var o=g5(a.data,4),s=\"\",l=8;l<a.data.length&&a.data[l];l++)s+=String.fromCharCode(a.data[l]);t.item_inf[s]=o}n=a.end}}function p4t(e,t){for(var r=0;;){var n=xE(e,r);if(!n)break;n.boxtype===\"ipco\"&&h4t(n.data,t),r=n.end}}function g4t(e,t){for(var r=4;;){var n=xE(e,r);if(!n)break;n.boxtype===\"iprp\"&&p4t(n.data,t),n.boxtype===\"iloc\"&&d4t(n.data,t),n.boxtype===\"iinf\"&&v4t(n.data,t),r=n.end}}function m4t(e){var t=e.reduce(function(i,a){return i.width>a.width||i.width===a.width&&i.height>a.height?i:a}),r=e.reduce(function(i,a){return i.height>a.height||i.height===a.height&&i.width>a.width?i:a}),n;return t.width>r.height||t.width===r.height&&t.height>r.width?n=t:n=r,n}tD.exports.readSizeFromMeta=function(e){var t={sizes:[],transforms:[],item_inf:{},item_loc:{}};if(g4t(e,t),!!t.sizes.length){var r=m4t(t.sizes),n=1;t.transforms.forEach(function(a){var o={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},s={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if(a.type===\"imir\"&&(a.value===0?n=s[n]:(n=s[n],n=o[n],n=o[n])),a.type===\"irot\")for(var l=0;l<a.value;l++)n=o[n]});var i=null;return t.item_inf.Exif&&(i=t.item_loc[t.item_inf.Exif]),{width:r.width,height:r.height,orientation:t.transforms.length?n:null,variants:t.sizes,exif_location:i}}};tD.exports.getMimeType=function(e){var t=String.fromCharCode.apply(null,e.slice(0,4)),r={};r[t]=!0;for(var n=8;n<e.length;n+=4)r[String.fromCharCode.apply(null,e.slice(n,n+4))]=!0;if(!(!r.mif1&&!r.msf1&&!r.miaf))return t===\"avif\"||t===\"avis\"||t===\"avio\"?{type:\"avif\",mime:\"image/avif\"}:t===\"heic\"||t===\"heix\"?{type:\"heic\",mime:\"image/heic\"}:t===\"hevc\"||t===\"hevx\"?{type:\"heic\",mime:\"image/heic-sequence\"}:r.avif||r.avis?{type:\"avif\",mime:\"image/avif\"}:r.heic||r.heix||r.hevc||r.hevx||r.heis?r.msf1?{type:\"heif\",mime:\"image/heif-sequence\"}:{type:\"heif\",mime:\"image/heif\"}:{type:\"avif\",mime:\"image/avif\"}}});var iD=ye((qcr,Xj)=>{\"use strict\";function rD(e,t){var r=new Error(e);return r.code=t,r}function y4t(e){try{return decodeURIComponent(escape(e))}catch(t){return e}}function jy(e,t,r){this.input=e.subarray(t,r),this.start=t;var n=String.fromCharCode.apply(null,this.input.subarray(0,4));if(n!==\"II*\\0\"&&n!==\"MM\\0*\")throw rD(\"invalid TIFF signature\",\"EBADDATA\");this.big_endian=n[0]===\"M\"}jy.prototype.each=function(e){this.aborted=!1;var t=this.read_uint32(4);for(this.ifds_to_read=[{id:0,offset:t}];this.ifds_to_read.length>0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,e)}};jy.prototype.read_uint16=function(e){var t=this.input;if(e+2>t.length)throw rD(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?t[e]*256+t[e+1]:t[e]+t[e+1]*256};jy.prototype.read_uint32=function(e){var t=this.input;if(e+4>t.length)throw rD(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?t[e]*16777216+t[e+1]*65536+t[e+2]*256+t[e+3]:t[e]+t[e+1]*256+t[e+2]*65536+t[e+3]*16777216};jy.prototype.is_subifd_link=function(e,t){return e===0&&t===34665||e===0&&t===34853||e===34665&&t===40965};jy.prototype.exif_format_length=function(e){switch(e){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}};jy.prototype.exif_format_read=function(e,t){var r;switch(e){case 1:case 2:return r=this.input[t],r;case 6:return r=this.input[t],r|(r&128)*33554430;case 3:return r=this.read_uint16(t),r;case 8:return r=this.read_uint16(t),r|(r&32768)*131070;case 4:return r=this.read_uint32(t),r;case 9:return r=this.read_uint32(t),r|0;case 5:case 10:case 11:case 12:return null;case 7:return null;default:return null}};jy.prototype.scan_ifd=function(e,t,r){var n=this.read_uint16(t);t+=2;for(var i=0;i<n;i++){var a=this.read_uint16(t),o=this.read_uint16(t+2),s=this.read_uint32(t+4),l=this.exif_format_length(o),u=s*l,c=u<=4?t+8:this.read_uint32(t+8),f=!1;if(c+u>this.input.length)throw rD(\"unexpected EOF\",\"EBADDATA\");for(var h=[],d=c,v=0;v<s;v++,d+=l){var x=this.exif_format_read(o,d);if(x===null){h=null;break}h.push(x)}Array.isArray(h)&&o===2&&(h=y4t(String.fromCharCode.apply(null,h)),h&&h[h.length-1]===\"\\0\"&&(h=h.slice(0,-1))),this.is_subifd_link(e,a)&&Array.isArray(h)&&Number.isInteger(h[0])&&h[0]>0&&(this.ifds_to_read.push({id:a,offset:h[0]}),f=!0);var b={is_big_endian:this.big_endian,ifd:e,tag:a,format:o,count:s,entry_offset:t+this.start,data_length:u,data_offset:c+this.start,value:h,is_subifd_link:f};if(r(b)===!1){this.aborted=!0;return}t+=12}e===0&&this.ifds_to_read.push({id:1,offset:this.read_uint32(t)})};Xj.exports.ExifParser=jy;Xj.exports.get_orientation=function(e){var t=0;try{return new jy(e,0,e.length).each(function(r){if(r.ifd===0&&r.tag===274&&Array.isArray(r.value))return t=r.value[0],!1}),t}catch(r){return-1}}});var VMe=ye((Ocr,UMe)=>{\"use strict\";var _4t=Eu().str2arr,x4t=Eu().sliceEq,b4t=Eu().readUInt32BE,nD=NMe(),w4t=iD(),T4t=_4t(\"ftyp\");UMe.exports=function(e){if(x4t(e,4,T4t)){var t=nD.unbox(e,0);if(t){var r=nD.getMimeType(t.data);if(r){for(var n,i=t.end;;){var a=nD.unbox(e,i);if(!a)break;if(i=a.end,a.boxtype===\"mdat\")return;if(a.boxtype===\"meta\"){n=a.data;break}}if(n){var o=nD.readSizeFromMeta(n);if(o){var s={width:o.width,height:o.height,type:r.type,mime:r.mime,wUnits:\"px\",hUnits:\"px\"};if(o.variants.length>1&&(s.variants=o.variants),o.orientation&&(s.orientation=o.orientation),o.exif_location&&o.exif_location.offset+o.exif_location.length<=e.length){var l=b4t(e,o.exif_location.offset),u=e.slice(o.exif_location.offset+l+4,o.exif_location.offset+o.exif_location.length),c=w4t.get_orientation(u);c>0&&(s.orientation=c)}return s}}}}}}});var jMe=ye((Bcr,GMe)=>{\"use strict\";var A4t=Eu().str2arr,S4t=Eu().sliceEq,HMe=Eu().readUInt16LE,M4t=A4t(\"BM\");GMe.exports=function(e){if(!(e.length<26)&&S4t(e,0,M4t))return{width:HMe(e,18),height:HMe(e,22),type:\"bmp\",mime:\"image/bmp\",wUnits:\"px\",hUnits:\"px\"}}});var KMe=ye((Ncr,YMe)=>{\"use strict\";var XMe=Eu().str2arr,WMe=Eu().sliceEq,ZMe=Eu().readUInt16LE,E4t=XMe(\"GIF87a\"),k4t=XMe(\"GIF89a\");YMe.exports=function(e){if(!(e.length<10)&&!(!WMe(e,0,E4t)&&!WMe(e,0,k4t)))return{width:ZMe(e,6),height:ZMe(e,8),type:\"gif\",mime:\"image/gif\",wUnits:\"px\",hUnits:\"px\"}}});var QMe=ye((Ucr,$Me)=>{\"use strict\";var Yj=Eu().readUInt16LE,C4t=0,L4t=1,JMe=16;$Me.exports=function(e){var t=Yj(e,0),r=Yj(e,2),n=Yj(e,4);if(!(t!==C4t||r!==L4t||!n)){for(var i=[],a={width:0,height:0},o=0;o<n;o++){var s=e[6+JMe*o]||256,l=e[6+JMe*o+1]||256,u={width:s,height:l};i.push(u),(s>a.width||l>a.height)&&(a=u)}return{width:a.width,height:a.height,variants:i,type:\"ico\",mime:\"image/x-icon\",wUnits:\"px\",hUnits:\"px\"}}}});var t4e=ye((Vcr,e4e)=>{\"use strict\";var Kj=Eu().readUInt16BE,P4t=Eu().str2arr,I4t=Eu().sliceEq,R4t=iD(),D4t=P4t(\"Exif\\0\\0\");e4e.exports=function(e){if(!(e.length<2)&&!(e[0]!==255||e[1]!==216||e[2]!==255))for(var t=2;;){for(;;){if(e.length-t<2)return;if(e[t++]===255)break}for(var r=e[t++],n;r===255;)r=e[t++];if(208<=r&&r<=217||r===1)n=0;else if(192<=r&&r<=254){if(e.length-t<2)return;n=Kj(e,t)-2,t+=2}else return;if(r===217||r===218)return;var i;if(r===225&&n>=10&&I4t(e,t,D4t)&&(i=R4t.get_orientation(e.slice(t+6,t+n))),n>=5&&192<=r&&r<=207&&r!==196&&r!==200&&r!==204){if(e.length-t<n)return;var a={width:Kj(e,t+3),height:Kj(e,t+1),type:\"jpg\",mime:\"image/jpeg\",wUnits:\"px\",hUnits:\"px\"};return i>0&&(a.orientation=i),a}t+=n}}});var o4e=ye((Hcr,a4e)=>{\"use strict\";var n4e=Eu().str2arr,r4e=Eu().sliceEq,i4e=Eu().readUInt32BE,z4t=n4e(`\\x89PNG\\r\n", - "\u001a\n", - "`),F4t=n4e(\"IHDR\");a4e.exports=function(e){if(!(e.length<24)&&r4e(e,0,z4t)&&r4e(e,12,F4t))return{width:i4e(e,16),height:i4e(e,20),type:\"png\",mime:\"image/png\",wUnits:\"px\",hUnits:\"px\"}}});var u4e=ye((Gcr,l4e)=>{\"use strict\";var q4t=Eu().str2arr,O4t=Eu().sliceEq,s4e=Eu().readUInt32BE,B4t=q4t(\"8BPS\\0\u0001\");l4e.exports=function(e){if(!(e.length<22)&&O4t(e,0,B4t))return{width:s4e(e,18),height:s4e(e,14),type:\"psd\",mime:\"image/vnd.adobe.photoshop\",wUnits:\"px\",hUnits:\"px\"}}});var h4e=ye((jcr,f4e)=>{\"use strict\";function N4t(e){return e===32||e===9||e===13||e===10}function m5(e){return typeof e==\"number\"&&isFinite(e)&&e>0}function U4t(e){var t=0,r=e.length;for(e[0]===239&&e[1]===187&&e[2]===191&&(t=3);t<r&&N4t(e[t]);)t++;return t===r?!1:e[t]===60}var V4t=/<[-_.:a-zA-Z0-9][^>]*>/,H4t=/^<([-_.:a-zA-Z0-9]+:)?svg\\s/,G4t=/[^-]\\bwidth=\"([^%]+?)\"|[^-]\\bwidth='([^%]+?)'/,j4t=/\\bheight=\"([^%]+?)\"|\\bheight='([^%]+?)'/,W4t=/\\bview[bB]ox=\"(.+?)\"|\\bview[bB]ox='(.+?)'/,c4e=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function Z4t(e){var t=e.match(G4t),r=e.match(j4t),n=e.match(W4t);return{width:t&&(t[1]||t[2]),height:r&&(r[1]||r[2]),viewbox:n&&(n[1]||n[2])}}function Nm(e){return c4e.test(e)?e.match(c4e)[0]:\"px\"}f4e.exports=function(e){if(U4t(e)){for(var t=\"\",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);var n=(t.match(V4t)||[\"\"])[0];if(H4t.test(n)){var i=Z4t(n),a=parseFloat(i.width),o=parseFloat(i.height);if(i.width&&i.height)return!m5(a)||!m5(o)?void 0:{width:a,height:o,type:\"svg\",mime:\"image/svg+xml\",wUnits:Nm(i.width),hUnits:Nm(i.height)};var s=(i.viewbox||\"\").split(\" \"),l={width:s[2],height:s[3]},u=parseFloat(l.width),c=parseFloat(l.height);if(!(!m5(u)||!m5(c))&&Nm(l.width)===Nm(l.height)){var f=u/c;return i.width?m5(a)?{width:a,height:a/f,type:\"svg\",mime:\"image/svg+xml\",wUnits:Nm(i.width),hUnits:Nm(i.width)}:void 0:i.height?m5(o)?{width:o*f,height:o,type:\"svg\",mime:\"image/svg+xml\",wUnits:Nm(i.height),hUnits:Nm(i.height)}:void 0:{width:u,height:c,type:\"svg\",mime:\"image/svg+xml\",wUnits:Nm(l.width),hUnits:Nm(l.height)}}}}}});var m4e=ye((Wcr,g4e)=>{\"use strict\";var p4e=Eu().str2arr,d4e=Eu().sliceEq,X4t=Eu().readUInt16LE,Y4t=Eu().readUInt16BE,K4t=Eu().readUInt32LE,J4t=Eu().readUInt32BE,$4t=p4e(\"II*\\0\"),Q4t=p4e(\"MM\\0*\");function aD(e,t,r){return r?Y4t(e,t):X4t(e,t)}function Jj(e,t,r){return r?J4t(e,t):K4t(e,t)}function v4e(e,t,r){var n=aD(e,t+2,r),i=Jj(e,t+4,r);return i!==1||n!==3&&n!==4?null:n===3?aD(e,t+8,r):Jj(e,t+8,r)}g4e.exports=function(e){if(!(e.length<8)&&!(!d4e(e,0,$4t)&&!d4e(e,0,Q4t))){var t=e[0]===77,r=Jj(e,4,t)-8;if(!(r<0)){var n=r+8;if(!(e.length-n<2)){var i=aD(e,n+0,t)*12;if(!(i<=0)&&(n+=2,!(e.length-n<i))){var a,o,s,l;for(a=0;a<i;a+=12)l=aD(e,n+a,t),l===256?o=v4e(e,n+a,t):l===257&&(s=v4e(e,n+a,t));if(o&&s)return{width:o,height:s,type:\"tiff\",mime:\"image/tiff\",wUnits:\"px\",hUnits:\"px\"}}}}}}});var w4e=ye((Zcr,b4e)=>{\"use strict\";var x4e=Eu().str2arr,y4e=Eu().sliceEq,_4e=Eu().readUInt16LE,$j=Eu().readUInt32LE,eEt=iD(),tEt=x4e(\"RIFF\"),rEt=x4e(\"WEBP\");function iEt(e,t){if(!(e[t+3]!==157||e[t+4]!==1||e[t+5]!==42))return{width:_4e(e,t+6)&16383,height:_4e(e,t+8)&16383,type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}function nEt(e,t){if(e[t]===47){var r=$j(e,t+1);return{width:(r&16383)+1,height:(r>>14&16383)+1,type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}}function aEt(e,t){return{width:(e[t+6]<<16|e[t+5]<<8|e[t+4])+1,height:(e[t+9]<<t|e[t+8]<<8|e[t+7])+1,type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}b4e.exports=function(e){if(!(e.length<16)&&!(!y4e(e,0,tEt)&&!y4e(e,8,rEt))){var t=12,r=null,n=0,i=$j(e,4)+8;if(!(i>e.length)){for(;t+8<i;){if(e[t]===0){t++;continue}var a=String.fromCharCode.apply(null,e.slice(t,t+4)),o=$j(e,t+4);a===\"VP8 \"&&o>=10?r=r||iEt(e,t+8):a===\"VP8L\"&&o>=9?r=r||nEt(e,t+8):a===\"VP8X\"&&o>=10?r=r||aEt(e,t+8):a===\"EXIF\"&&(n=eEt.get_orientation(e.slice(t+8,t+8+o)),t=1/0),t+=8+o}if(r)return n>0&&(r.orientation=n),r}}}});var A4e=ye((Xcr,T4e)=>{\"use strict\";T4e.exports={avif:VMe(),bmp:jMe(),gif:KMe(),ico:QMe(),jpeg:t4e(),png:o4e(),psd:u4e(),svg:h4e(),tiff:m4e(),webp:w4e()}});var S4e=ye((Ycr,eW)=>{\"use strict\";var Qj=A4e();function oEt(e){for(var t=Object.keys(Qj),r=0;r<t.length;r++){var n=Qj[t[r]](e);if(n)return n}return null}eW.exports=function(t){return oEt(t)};eW.exports.parsers=Qj});var E4e=ye(M4e=>{\"use strict\";var sEt=S4e(),lEt=Ly().IMAGE_URL_PREFIX,uEt=u2().Buffer;M4e.getImageSize=function(e){var t=e.replace(lEt,\"\"),r=new uEt(t,\"base64\");return sEt(r)}});var L4e=ye((Jcr,C4e)=>{\"use strict\";var k4e=Mr(),cEt=jT(),fEt=uo(),oD=Qa(),hEt=Mr().maxRowLength,dEt=E4e().getImageSize;C4e.exports=function(t,r){var n,i;if(r._hasZ)n=r.z.length,i=hEt(r.z);else if(r._hasSource){var a=dEt(r.source);n=a.height,i=a.width}var o=oD.getFromId(t,r.xaxis||\"x\"),s=oD.getFromId(t,r.yaxis||\"y\"),l=o.d2c(r.x0)-r.dx/2,u=s.d2c(r.y0)-r.dy/2,c,f=[l,l+i*r.dx],h=[u,u+n*r.dy];if(o&&o.type===\"log\")for(c=0;c<i;c++)f.push(l+c*r.dx);if(s&&s.type===\"log\")for(c=0;c<n;c++)h.push(u+c*r.dy);r._extremes[o._id]=oD.findExtremes(o,f),r._extremes[s._id]=oD.findExtremes(s,h),r._scaler=gEt(r);var d={x0:l,y0:u,z:r.z,w:i,h:n};return[d]};function vEt(e,t,r,n){return function(i){return k4e.constrain((i-e)*t,r,n)}}function pEt(e,t){return function(r){return k4e.constrain(r,e,t)}}function gEt(e){var t=cEt.colormodel[e.colormodel],r=t.colormodel||e.colormodel,n=r.length;e._sArray=[];for(var i=0;i<n;i++)t.min[i]!==e.zmin[i]||t.max[i]!==e.zmax[i]?e._sArray.push(vEt(e.zmin[i],(t.max[i]-t.min[i])/(e.zmax[i]-e.zmin[i]),t.min[i],t.max[i])):e._sArray.push(pEt(t.min[i],t.max[i]));return function(a){for(var o=a.slice(0,n),s=0;s<n;s++){var l=o[s];if(!fEt(l))return!1;o[s]=e._sArray[s](l)}return o}}});var R4e=ye(($cr,I4e)=>{\"use strict\";var mEt=xa(),T2=Mr(),P4e=T2.strTranslate,yEt=Zp(),_Et=jT(),xEt=jV(),bEt=o8().STYLE;I4e.exports=function(t,r,n,i){var a=r.xaxis,o=r.yaxis,s=!t._context._exportedPlot&&xEt();T2.makeTraceGroups(i,n,\"im\").each(function(l){var u=mEt.select(this),c=l[0],f=c.trace,h=(f.zsmooth===\"fast\"||f.zsmooth===!1&&s)&&!f._hasZ&&f._hasSource&&a.type===\"linear\"&&o.type===\"linear\";f._realImage=h;var d=c.z,v=c.x0,x=c.y0,b=c.w,p=c.h,E=f.dx,k=f.dy,A,L,_,C,M,g;for(g=0;A===void 0&&g<b;)A=a.c2p(v+g*E),g++;for(g=b;L===void 0&&g>0;)L=a.c2p(v+g*E),g--;for(g=0;C===void 0&&g<p;)C=o.c2p(x+g*k),g++;for(g=p;M===void 0&&g>0;)M=o.c2p(x+g*k),g--;if(L<A&&(_=L,L=A,A=_),M<C&&(_=C,C=M,M=_),!h){var P=.5;A=Math.max(-P*a._length,A),L=Math.min((1+P)*a._length,L),C=Math.max(-P*o._length,C),M=Math.min((1+P)*o._length,M)}var T=Math.round(L-A),F=Math.round(M-C),q=T<=0||F<=0;if(q){var V=u.selectAll(\"image\").data([]);V.exit().remove();return}function H(ge){var ie=document.createElement(\"canvas\");ie.width=T,ie.height=F;var Te=ie.getContext(\"2d\",{willReadFrequently:!0}),Ee=function(rt){return T2.constrain(Math.round(a.c2p(v+rt*E)-A),0,T)},Ae=function(rt){return T2.constrain(Math.round(o.c2p(x+rt*k)-C),0,F)},ze=_Et.colormodel[f.colormodel],Ce=ze.colormodel||f.colormodel,me=ze.fmt,Re;for(g=0;g<c.w;g++){var ce=Ee(g),Ge=Ee(g+1);if(!(Ge===ce||isNaN(Ge)||isNaN(ce)))for(var nt=0;nt<c.h;nt++){var ct=Ae(nt),qt=Ae(nt+1);qt===ct||isNaN(qt)||isNaN(ct)||!ge(g,nt)||(Re=f._scaler(ge(g,nt)),Re?Te.fillStyle=Ce+\"(\"+me(Re).join(\",\")+\")\":Te.fillStyle=\"rgba(0,0,0,0)\",Te.fillRect(ce,ct,Ge-ce,qt-ct))}}return ie}var X=u.selectAll(\"image\").data([l]);X.enter().append(\"svg:image\").attr({xmlns:yEt.svg,preserveAspectRatio:\"none\"}),X.exit().remove();var G=f.zsmooth===!1?bEt:\"\";if(h){var N=T2.simpleMap(a.range,a.r2l),W=T2.simpleMap(o.range,o.r2l),re=N[1]<N[0],ae=W[1]>W[0];if(re||ae){var _e=A+T/2,Me=C+F/2;G+=\"transform:\"+P4e(_e+\"px\",Me+\"px\")+\"scale(\"+(re?-1:1)+\",\"+(ae?-1:1)+\")\"+P4e(-_e+\"px\",-Me+\"px\")+\";\"}}X.attr(\"style\",G);var ke=new Promise(function(ge){if(f._hasZ)ge();else if(f._hasSource)if(f._canvas&&f._canvas.el.width===b&&f._canvas.el.height===p&&f._canvas.source===f.source)ge();else{var ie=document.createElement(\"canvas\");ie.width=b,ie.height=p;var Te=ie.getContext(\"2d\",{willReadFrequently:!0});f._image=f._image||new Image;var Ee=f._image;Ee.onload=function(){Te.drawImage(Ee,0,0),f._canvas={el:ie,source:f.source},ge()},Ee.setAttribute(\"src\",f.source)}}).then(function(){var ge,ie;if(f._hasZ)ie=H(function(Ae,ze){var Ce=d[ze][Ae];return T2.isTypedArray(Ce)&&(Ce=Array.from(Ce)),Ce}),ge=ie.toDataURL(\"image/png\");else if(f._hasSource)if(h)ge=f.source;else{var Te=f._canvas.el.getContext(\"2d\",{willReadFrequently:!0}),Ee=Te.getImageData(0,0,b,p).data;ie=H(function(Ae,ze){var Ce=4*(ze*b+Ae);return[Ee[Ce],Ee[Ce+1],Ee[Ce+2],Ee[Ce+3]]}),ge=ie.toDataURL(\"image/png\")}X.attr({\"xlink:href\":ge,height:F,width:T,x:A,y:C})});t._promises.push(ke)})}});var z4e=ye((Qcr,D4e)=>{\"use strict\";var wEt=xa();D4e.exports=function(t){wEt.select(t).selectAll(\".im image\").style(\"opacity\",function(r){return r[0].trace.opacity})}});var B4e=ye((efr,O4e)=>{\"use strict\";var F4e=Nc(),q4e=Mr(),sD=q4e.isArrayOrTypedArray,TEt=jT();O4e.exports=function(t,r,n){var i=t.cd[0],a=i.trace,o=t.xa,s=t.ya;if(!(F4e.inbox(r-i.x0,r-(i.x0+i.w*a.dx),0)>0||F4e.inbox(n-i.y0,n-(i.y0+i.h*a.dy),0)>0)){var l=Math.floor((r-i.x0)/a.dx),u=Math.floor(Math.abs(n-i.y0)/a.dy),c;if(a._hasZ?c=i.z[u][l]:a._hasSource&&(c=a._canvas.el.getContext(\"2d\",{willReadFrequently:!0}).getImageData(l,u,1,1).data),!!c){var f=i.hi||a.hoverinfo,h;if(f){var d=f.split(\"+\");d.indexOf(\"all\")!==-1&&(d=[\"color\"]),d.indexOf(\"color\")!==-1&&(h=!0)}var v=TEt.colormodel[a.colormodel],x=v.colormodel||a.colormodel,b=x.length,p=a._scaler(c),E=v.suffix,k=[];(a.hovertemplate||h)&&(k.push(\"[\"+[p[0]+E[0],p[1]+E[1],p[2]+E[2]].join(\", \")),b===4&&k.push(\", \"+p[3]+E[3]),k.push(\"]\"),k=k.join(\"\"),t.extraText=x.toUpperCase()+\": \"+k);var A;sD(a.hovertext)&&sD(a.hovertext[u])?A=a.hovertext[u][l]:sD(a.text)&&sD(a.text[u])&&(A=a.text[u][l]);var L=s.c2p(i.y0+(u+.5)*a.dy),_=i.x0+(l+.5)*a.dx,C=i.y0+(u+.5)*a.dy,M=\"[\"+c.slice(0,a.colormodel.length).join(\", \")+\"]\";return[q4e.extendFlat(t,{index:[u,l],x0:o.c2p(i.x0+l*a.dx),x1:o.c2p(i.x0+(l+1)*a.dx),y0:L,y1:L,color:p,xVal:_,xLabelVal:_,yVal:C,yLabelVal:C,zLabelVal:M,text:A,hovertemplateLabels:{zLabel:M,colorLabel:k,\"color[0]Label\":p[0]+E[0],\"color[1]Label\":p[1]+E[1],\"color[2]Label\":p[2]+E[2],\"color[3]Label\":p[3]+E[3]}})]}}}});var U4e=ye((tfr,N4e)=>{\"use strict\";N4e.exports=function(t,r){return\"xVal\"in r&&(t.x=r.xVal),\"yVal\"in r&&(t.y=r.yVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t.color=r.color,t.colormodel=r.trace.colormodel,t.z||(t.z=r.color),t}});var H4e=ye((rfr,V4e)=>{\"use strict\";V4e.exports={attributes:tG(),supplyDefaults:T3e(),calc:L4e(),plot:R4e(),style:z4e(),hoverPoints:B4e(),eventData:U4e(),moduleType:\"trace\",name:\"image\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"noSortingByValue\"],animatable:!1,meta:{}}});var j4e=ye((ifr,G4e)=>{\"use strict\";G4e.exports=H4e()});var A2=ye((nfr,W4e)=>{\"use strict\";var AEt=vl(),SEt=Ju().attributes,MEt=Su(),EEt=dh(),kEt=Wo().hovertemplateAttrs,CEt=Wo().texttemplateAttrs,bE=no().extendFlat,LEt=Ed().pattern,lD=MEt({editType:\"plot\",arrayOk:!0,colorEditType:\"plot\"});W4e.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:EEt.defaultLine,arrayOk:!0,editType:\"style\"},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"style\"},editType:\"calc\"},pattern:LEt,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:bE({},AEt.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:kEt({},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),texttemplate:CEt({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"plot\"},textfont:bE({},lD,{}),insidetextorientation:{valType:\"enumerated\",values:[\"horizontal\",\"radial\",\"tangential\",\"auto\"],dflt:\"auto\",editType:\"plot\"},insidetextfont:bE({},lD,{}),outsidetextfont:bE({},lD,{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"plot\"},font:bE({},lD,{}),position:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle center\",\"bottom left\",\"bottom center\",\"bottom right\"],editType:\"plot\"},editType:\"plot\"},domain:SEt({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\"}}});var S2=ye((afr,Y4e)=>{\"use strict\";var PEt=uo(),wE=Mr(),IEt=A2(),REt=Ju().defaults,DEt=r0().handleText,zEt=Mr().coercePattern;function Z4e(e,t){var r=wE.isArrayOrTypedArray(e),n=wE.isArrayOrTypedArray(t),i=Math.min(r?e.length:1/0,n?t.length:1/0);if(isFinite(i)||(i=0),i&&n){for(var a,o=0;o<i;o++){var s=t[o];if(PEt(s)&&s>0){a=!0;break}}a||(i=0)}return{hasLabels:r,hasValues:n,len:i}}function X4e(e,t,r,n,i){var a=n(\"marker.line.width\");a&&n(\"marker.line.color\",i?void 0:r.paper_bgcolor);var o=n(\"marker.colors\");zEt(n,\"marker.pattern\",o),e.marker&&!t.marker.pattern.fgcolor&&(t.marker.pattern.fgcolor=e.marker.colors),t.marker.pattern.bgcolor||(t.marker.pattern.bgcolor=r.paper_bgcolor)}function FEt(e,t,r,n){function i(E,k){return wE.coerce(e,t,IEt,E,k)}var a=i(\"labels\"),o=i(\"values\"),s=Z4e(a,o),l=s.len;if(t._hasLabels=s.hasLabels,t._hasValues=s.hasValues,!t._hasLabels&&t._hasValues&&(i(\"label0\"),i(\"dlabel\")),!l){t.visible=!1;return}t._length=l,X4e(e,t,n,i,!0),i(\"scalegroup\");var u=i(\"text\"),c=i(\"texttemplate\"),f;if(c||(f=i(\"textinfo\",wE.isArrayOrTypedArray(u)?\"text+percent\":\"percent\")),i(\"hovertext\"),i(\"hovertemplate\"),c||f&&f!==\"none\"){var h=i(\"textposition\");DEt(e,t,n,i,h,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1});var d=Array.isArray(h)||h===\"auto\",v=d||h===\"outside\";v&&i(\"automargin\"),(h===\"inside\"||h===\"auto\"||Array.isArray(h))&&i(\"insidetextorientation\")}else f===\"none\"&&i(\"textposition\",\"none\");REt(t,n,i);var x=i(\"hole\"),b=i(\"title.text\");if(b){var p=i(\"title.position\",x?\"middle center\":\"top center\");!x&&p===\"middle center\"&&(t.title.position=\"top center\"),wE.coerceFont(i,\"title.font\",n.font)}i(\"sort\"),i(\"direction\"),i(\"rotation\"),i(\"pull\")}Y4e.exports={handleLabelsAndValues:Z4e,handleMarkerDefaults:X4e,supplyDefaults:FEt}});var uD=ye((ofr,K4e)=>{\"use strict\";K4e.exports={hiddenlabels:{valType:\"data_array\",editType:\"calc\"},piecolorway:{valType:\"colorlist\",editType:\"calc\"},extendpiecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var $4e=ye((sfr,J4e)=>{\"use strict\";var qEt=Mr(),OEt=uD();J4e.exports=function(t,r){function n(i,a){return qEt.coerce(t,r,OEt,i,a)}n(\"hiddenlabels\"),n(\"piecolorway\",r.colorway),n(\"extendpiecolors\")}});var y5=ye((lfr,tEe)=>{\"use strict\";var BEt=uo(),tW=id(),NEt=va(),UEt={};function VEt(e,t){var r=[],n=e._fullLayout,i=n.hiddenlabels||[],a=t.labels,o=t.marker.colors||[],s=t.values,l=t._length,u=t._hasValues&&l,c,f;if(t.dlabel)for(a=new Array(l),c=0;c<l;c++)a[c]=String(t.label0+c*t.dlabel);var h={},d=Q4e(n[\"_\"+t.type+\"colormap\"]),v=0,x=!1;for(c=0;c<l;c++){var b,p,E;if(u){if(b=s[c],!BEt(b))continue;b=+b}else b=1;p=a[c],(p===void 0||p===\"\")&&(p=c),p=String(p);var k=h[p];k===void 0?(h[p]=r.length,E=i.indexOf(p)!==-1,E||(v+=b),r.push({v:b,label:p,color:d(o[c],p),i:c,pts:[c],hidden:E})):(x=!0,f=r[k],f.v+=b,f.pts.push(c),f.hidden||(v+=b),f.color===!1&&o[c]&&(f.color=d(o[c],p)))}r=r.filter(function(L){return L.v>=0});var A=t.type===\"funnelarea\"?x:t.sort;return A&&r.sort(function(L,_){return _.v-L.v}),r[0]&&(r[0].vTotal=v),r}function Q4e(e){return function(r,n){return!r||(r=tW(r),!r.isValid())?!1:(r=NEt.addOpacity(r,r.getAlpha()),e[n]||(e[n]=r),r)}}function HEt(e,t){var r=(t||{}).type;r||(r=\"pie\");var n=e._fullLayout,i=e.calcdata,a=n[r+\"colorway\"],o=n[\"_\"+r+\"colormap\"];n[\"extend\"+r+\"colors\"]&&(a=eEe(a,UEt));for(var s=0,l=0;l<i.length;l++){var u=i[l],c=u[0].trace.type;if(c===r)for(var f=0;f<u.length;f++){var h=u[f];h.color===!1&&(o[h.label]?h.color=o[h.label]:(o[h.label]=h.color=a[s%a.length],s++))}}}function eEe(e,t){var r,n=JSON.stringify(e),i=t[n];if(!i){for(i=e.slice(),r=0;r<e.length;r++)i.push(tW(e[r]).lighten(20).toHexString());for(r=0;r<e.length;r++)i.push(tW(e[r]).darken(20).toHexString());t[n]=i}return i}tEe.exports={calc:VEt,crossTraceCalc:HEt,makePullColorFn:Q4e,generateExtendedColors:eEe}});var iEe=ye((ufr,rEe)=>{\"use strict\";var GEt=rp().appendArrayMultiPointValues;rEe.exports=function(t,r){var n={curveNumber:r.index,pointNumbers:t.pts,data:r._input,fullData:r,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return t.pts.length===1&&(n.pointNumber=n.i=t.pts[0]),GEt(n,r,t.pts),r.type===\"funnelarea\"&&(delete n.v,delete n.i),n}});var dD=ye((cfr,AEe)=>{\"use strict\";var zp=xa(),jEt=Xu(),cD=Nc(),uEe=va(),Wy=ao(),ev=Mr(),WEt=ev.strScale,nEe=ev.strTranslate,rW=Pl(),cEe=_v(),ZEt=cEe.recordMinTextSize,XEt=cEe.clearMinTextSize,fEe=Qb().TEXTPAD,Zo=u_(),fD=iEe(),aEe=Mr().isValidTextValue;function YEt(e,t){var r=e._context.staticPlot,n=e._fullLayout,i=n._size;XEt(\"pie\",n),vEe(t,e),bEe(t,i);var a=ev.makeTraceGroups(n._pielayer,t,\"trace\").each(function(o){var s=zp.select(this),l=o[0],u=l.trace;nkt(o),s.attr(\"stroke-linejoin\",\"round\"),s.each(function(){var c=zp.select(this).selectAll(\"g.slice\").data(o);c.enter().append(\"g\").classed(\"slice\",!0),c.exit().remove();var f=[[[],[]],[[],[]]],h=!1;c.each(function(A,L){if(A.hidden){zp.select(this).selectAll(\"path,g\").remove();return}A.pointNumber=A.i,A.curveNumber=u.index,f[A.pxmid[1]<0?0:1][A.pxmid[0]<0?0:1].push(A);var _=l.cx,C=l.cy,M=zp.select(this),g=M.selectAll(\"path.surface\").data([A]);if(g.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":r?\"none\":\"all\"}),M.call(hEe,e,o),u.pull){var P=+Zo.castOption(u.pull,A.pts)||0;P>0&&(_+=P*A.pxmid[0],C+=P*A.pxmid[1])}A.cxFinal=_,A.cyFinal=C;function T(N,W,re,ae){var _e=ae*(W[0]-N[0]),Me=ae*(W[1]-N[1]);return\"a\"+ae*l.r+\",\"+ae*l.r+\" 0 \"+A.largeArc+(re?\" 1 \":\" 0 \")+_e+\",\"+Me}var F=u.hole;if(A.v===l.vTotal){var q=\"M\"+(_+A.px0[0])+\",\"+(C+A.px0[1])+T(A.px0,A.pxmid,!0,1)+T(A.pxmid,A.px0,!0,1)+\"Z\";F?g.attr(\"d\",\"M\"+(_+F*A.px0[0])+\",\"+(C+F*A.px0[1])+T(A.px0,A.pxmid,!1,F)+T(A.pxmid,A.px0,!1,F)+\"Z\"+q):g.attr(\"d\",q)}else{var V=T(A.px0,A.px1,!0,1);if(F){var H=1-F;g.attr(\"d\",\"M\"+(_+F*A.px1[0])+\",\"+(C+F*A.px1[1])+T(A.px1,A.px0,!1,F)+\"l\"+H*A.px0[0]+\",\"+H*A.px0[1]+V+\"Z\")}else g.attr(\"d\",\"M\"+_+\",\"+C+\"l\"+A.px0[0]+\",\"+A.px0[1]+V+\"Z\")}wEe(e,A,l);var X=Zo.castOption(u.textposition,A.pts),G=M.selectAll(\"g.slicetext\").data(A.text&&X!==\"none\"?[0]:[]);G.enter().append(\"g\").classed(\"slicetext\",!0),G.exit().remove(),G.each(function(){var N=ev.ensureSingle(zp.select(this),\"text\",\"\",function(ie){ie.attr(\"data-notex\",1)}),W=ev.ensureUniformFontSize(e,X===\"outside\"?JEt(u,A,n.font):dEe(u,A,n.font));N.text(A.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(Wy.font,W).call(rW.convertToTspans,e);var re=Wy.bBox(N.node()),ae;if(X===\"outside\")ae=lEe(re,A);else if(ae=pEe(re,A,l),X===\"auto\"&&ae.scale<1){var _e=ev.ensureUniformFontSize(e,u.outsidetextfont);N.call(Wy.font,_e),re=Wy.bBox(N.node()),ae=lEe(re,A)}var Me=ae.textPosAngle,ke=Me===void 0?A.pxmid:hD(l.r,Me);if(ae.targetX=_+ke[0]*ae.rCenter+(ae.x||0),ae.targetY=C+ke[1]*ae.rCenter+(ae.y||0),TEe(ae,re),ae.outside){var ge=ae.targetY;A.yLabelMin=ge-re.height/2,A.yLabelMid=ge,A.yLabelMax=ge+re.height/2,A.labelExtraX=0,A.labelExtraY=0,h=!0}ae.fontSize=W.size,ZEt(u.type,ae,n),o[L].transform=ae,ev.setTransormAndDisplay(N,ae)})});var d=zp.select(this).selectAll(\"g.titletext\").data(u.title.text?[0]:[]);if(d.enter().append(\"g\").classed(\"titletext\",!0),d.exit().remove(),d.each(function(){var A=ev.ensureSingle(zp.select(this),\"text\",\"\",function(C){C.attr(\"data-notex\",1)}),L=u.title.text;u._meta&&(L=ev.templateString(L,u._meta)),A.text(L).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(Wy.font,u.title.font).call(rW.convertToTspans,e);var _;u.title.position===\"middle center\"?_=ekt(l):_=_Ee(l,i),A.attr(\"transform\",nEe(_.x,_.y)+WEt(Math.min(1,_.scale))+nEe(_.tx,_.ty))}),h&&rkt(f,u),KEt(c,u),h&&u.automargin){var v=Wy.bBox(s.node()),x=u.domain,b=i.w*(x.x[1]-x.x[0]),p=i.h*(x.y[1]-x.y[0]),E=(.5*b-l.r)/i.w,k=(.5*p-l.r)/i.h;jEt.autoMargin(e,\"pie.\"+u.uid+\".automargin\",{xl:x.x[0]-E,xr:x.x[1]+E,yb:x.y[0]-k,yt:x.y[1]+k,l:Math.max(l.cx-l.r-v.left,0),r:Math.max(v.right-(l.cx+l.r),0),b:Math.max(v.bottom-(l.cy+l.r),0),t:Math.max(l.cy-l.r-v.top,0),pad:5})}})});setTimeout(function(){a.selectAll(\"tspan\").each(function(){var o=zp.select(this);o.attr(\"dy\")&&o.attr(\"dy\",o.attr(\"dy\"))})},0)}function KEt(e,t){e.each(function(r){var n=zp.select(this);if(!r.labelExtraX&&!r.labelExtraY){n.select(\"path.textline\").remove();return}var i=n.select(\"g.slicetext text\");r.transform.targetX+=r.labelExtraX,r.transform.targetY+=r.labelExtraY,ev.setTransormAndDisplay(i,r.transform);var a=r.cxFinal+r.pxmid[0],o=r.cyFinal+r.pxmid[1],s=\"M\"+a+\",\"+o,l=(r.yLabelMax-r.yLabelMin)*(r.pxmid[0]<0?-1:1)/4;if(r.labelExtraX){var u=r.labelExtraX*r.pxmid[1]/r.pxmid[0],c=r.yLabelMid+r.labelExtraY-(r.cyFinal+r.pxmid[1]);Math.abs(u)>Math.abs(c)?s+=\"l\"+c*r.pxmid[0]/r.pxmid[1]+\",\"+c+\"H\"+(a+r.labelExtraX+l):s+=\"l\"+r.labelExtraX+\",\"+u+\"v\"+(c-u)+\"h\"+l}else s+=\"V\"+(r.yLabelMid+r.labelExtraY)+\"h\"+l;ev.ensureSingle(n,\"path\",\"textline\").call(uEe.stroke,t.outsidetextfont.color).attr({\"stroke-width\":Math.min(2,t.outsidetextfont.size/8),d:s,fill:\"none\"})})}function hEe(e,t,r){var n=r[0],i=n.cx,a=n.cy,o=n.trace,s=o.type===\"funnelarea\";\"_hasHoverLabel\"in o||(o._hasHoverLabel=!1),\"_hasHoverEvent\"in o||(o._hasHoverEvent=!1),e.on(\"mouseover\",function(l){var u=t._fullLayout,c=t._fullData[o.index];if(!(t._dragging||u.hovermode===!1)){var f=c.hoverinfo;if(Array.isArray(f)&&(f=cD.castHoverinfo({hoverinfo:[Zo.castOption(f,l.pts)],_module:o._module},u,0)),f===\"all\"&&(f=\"label+text+value+percent+name\"),c.hovertemplate||f!==\"none\"&&f!==\"skip\"&&f){var h=l.rInscribed||0,d=i+l.pxmid[0]*(1-h),v=a+l.pxmid[1]*(1-h),x=u.separators,b=[];if(f&&f.indexOf(\"label\")!==-1&&b.push(l.label),l.text=Zo.castOption(c.hovertext||c.text,l.pts),f&&f.indexOf(\"text\")!==-1){var p=l.text;ev.isValidTextValue(p)&&b.push(p)}l.value=l.v,l.valueLabel=Zo.formatPieValue(l.v,x),f&&f.indexOf(\"value\")!==-1&&b.push(l.valueLabel),l.percent=l.v/n.vTotal,l.percentLabel=Zo.formatPiePercent(l.percent,x),f&&f.indexOf(\"percent\")!==-1&&b.push(l.percentLabel);var E=c.hoverlabel,k=E.font,A=[];cD.loneHover({trace:o,x0:d-h*n.r,x1:d+h*n.r,y:v,_x0:s?i+l.TL[0]:d-h*n.r,_x1:s?i+l.TR[0]:d+h*n.r,_y0:s?a+l.TL[1]:v-h*n.r,_y1:s?a+l.BL[1]:v+h*n.r,text:b.join(\"<br>\"),name:c.hovertemplate||f.indexOf(\"name\")!==-1?c.name:void 0,idealAlign:l.pxmid[0]<0?\"left\":\"right\",color:Zo.castOption(E.bgcolor,l.pts)||l.color,borderColor:Zo.castOption(E.bordercolor,l.pts),fontFamily:Zo.castOption(k.family,l.pts),fontSize:Zo.castOption(k.size,l.pts),fontColor:Zo.castOption(k.color,l.pts),nameLength:Zo.castOption(E.namelength,l.pts),textAlign:Zo.castOption(E.align,l.pts),hovertemplate:Zo.castOption(c.hovertemplate,l.pts),hovertemplateLabels:l,eventData:[fD(l,c)]},{container:u._hoverlayer.node(),outerContainer:u._paper.node(),gd:t,inOut_bbox:A}),l.bbox=A[0],o._hasHoverLabel=!0}o._hasHoverEvent=!0,t.emit(\"plotly_hover\",{points:[fD(l,c)],event:zp.event})}}),e.on(\"mouseout\",function(l){var u=t._fullLayout,c=t._fullData[o.index],f=zp.select(this).datum();o._hasHoverEvent&&(l.originalEvent=zp.event,t.emit(\"plotly_unhover\",{points:[fD(f,c)],event:zp.event}),o._hasHoverEvent=!1),o._hasHoverLabel&&(cD.loneUnhover(u._hoverlayer.node()),o._hasHoverLabel=!1)}),e.on(\"click\",function(l){var u=t._fullLayout,c=t._fullData[o.index];t._dragging||u.hovermode===!1||(t._hoverdata=[fD(l,c)],cD.click(t,zp.event))})}function JEt(e,t,r){var n=Zo.castOption(e.outsidetextfont.color,t.pts)||Zo.castOption(e.textfont.color,t.pts)||r.color,i=Zo.castOption(e.outsidetextfont.family,t.pts)||Zo.castOption(e.textfont.family,t.pts)||r.family,a=Zo.castOption(e.outsidetextfont.size,t.pts)||Zo.castOption(e.textfont.size,t.pts)||r.size,o=Zo.castOption(e.outsidetextfont.weight,t.pts)||Zo.castOption(e.textfont.weight,t.pts)||r.weight,s=Zo.castOption(e.outsidetextfont.style,t.pts)||Zo.castOption(e.textfont.style,t.pts)||r.style,l=Zo.castOption(e.outsidetextfont.variant,t.pts)||Zo.castOption(e.textfont.variant,t.pts)||r.variant,u=Zo.castOption(e.outsidetextfont.textcase,t.pts)||Zo.castOption(e.textfont.textcase,t.pts)||r.textcase,c=Zo.castOption(e.outsidetextfont.lineposition,t.pts)||Zo.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=Zo.castOption(e.outsidetextfont.shadow,t.pts)||Zo.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n,family:i,size:a,weight:o,style:s,variant:l,textcase:u,lineposition:c,shadow:f}}function dEe(e,t,r){var n=Zo.castOption(e.insidetextfont.color,t.pts);!n&&e._input.textfont&&(n=Zo.castOption(e._input.textfont.color,t.pts));var i=Zo.castOption(e.insidetextfont.family,t.pts)||Zo.castOption(e.textfont.family,t.pts)||r.family,a=Zo.castOption(e.insidetextfont.size,t.pts)||Zo.castOption(e.textfont.size,t.pts)||r.size,o=Zo.castOption(e.insidetextfont.weight,t.pts)||Zo.castOption(e.textfont.weight,t.pts)||r.weight,s=Zo.castOption(e.insidetextfont.style,t.pts)||Zo.castOption(e.textfont.style,t.pts)||r.style,l=Zo.castOption(e.insidetextfont.variant,t.pts)||Zo.castOption(e.textfont.variant,t.pts)||r.variant,u=Zo.castOption(e.insidetextfont.textcase,t.pts)||Zo.castOption(e.textfont.textcase,t.pts)||r.textcase,c=Zo.castOption(e.insidetextfont.lineposition,t.pts)||Zo.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=Zo.castOption(e.insidetextfont.shadow,t.pts)||Zo.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n||uEe.contrast(t.color),family:i,size:a,weight:o,style:s,variant:l,textcase:u,lineposition:c,shadow:f}}function vEe(e,t){for(var r,n,i=0;i<e.length;i++)if(r=e[i][0],n=r.trace,n.title.text){var a=n.title.text;n._meta&&(a=ev.templateString(a,n._meta));var o=Wy.tester.append(\"text\").attr(\"data-notex\",1).text(a).call(Wy.font,n.title.font).call(rW.convertToTspans,t),s=Wy.bBox(o.node(),!0);r.titleBox={width:s.width,height:s.height},o.remove()}}function pEe(e,t,r){var n=r.r||t.rpx1,i=t.rInscribed,a=t.startangle===t.stopangle;if(a)return{rCenter:1-i,scale:0,rotate:0,textPosAngle:0};var o=t.ring,s=o===1&&Math.abs(t.startangle-t.stopangle)===Math.PI*2,l=t.halfangle,u=t.midangle,c=r.trace.insidetextorientation,f=c===\"horizontal\",h=c===\"tangential\",d=c===\"radial\",v=c===\"auto\",x=[],b;if(!v){var p=function(M,g){if($Et(t,M)){var P=Math.abs(M-t.startangle),T=Math.abs(M-t.stopangle),F=P<T?P:T;g===\"tan\"?b=sEe(e,n,o,F,0):b=oEe(e,n,o,F,Math.PI/2),b.textPosAngle=M,x.push(b)}},E;if(f||h){for(E=4;E>=-4;E-=2)p(Math.PI*E,\"tan\");for(E=4;E>=-4;E-=2)p(Math.PI*(E+1),\"tan\")}if(f||d){for(E=4;E>=-4;E-=2)p(Math.PI*(E+1.5),\"rad\");for(E=4;E>=-4;E-=2)p(Math.PI*(E+.5),\"rad\")}}if(s||v||f){var k=Math.sqrt(e.width*e.width+e.height*e.height);if(b={scale:i*n*2/k,rCenter:1-i,rotate:0},b.textPosAngle=(t.startangle+t.stopangle)/2,b.scale>=1)return b;x.push(b)}(v||d)&&(b=oEe(e,n,o,l,u),b.textPosAngle=(t.startangle+t.stopangle)/2,x.push(b)),(v||h)&&(b=sEe(e,n,o,l,u),b.textPosAngle=(t.startangle+t.stopangle)/2,x.push(b));for(var A=0,L=0,_=0;_<x.length;_++){var C=x[_].scale;if(L<C&&(L=C,A=_),!v&&L>=1)break}return x[A]}function $Et(e,t){var r=e.startangle,n=e.stopangle;return r>t&&t>n||r<t&&t<n}function oEe(e,t,r,n,i){t=Math.max(0,t-2*fEe);var a=e.width/e.height,o=yEe(a,n,t,r);return{scale:o*2/e.height,rCenter:gEe(a,o/t),rotate:mEe(i)}}function sEe(e,t,r,n,i){t=Math.max(0,t-2*fEe);var a=e.height/e.width,o=yEe(a,n,t,r);return{scale:o*2/e.width,rCenter:gEe(a,o/t),rotate:mEe(i+Math.PI/2)}}function gEe(e,t){return Math.cos(t)-e*t}function mEe(e){return(180/Math.PI*e+720)%180-90}function yEe(e,t,r,n){var i=e+1/(2*Math.tan(t));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(e*e+n/2)+e))}function QEt(e,t){return e.v===t.vTotal&&!t.trace.hole?1:Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2)}function lEe(e,t){var r=t.pxmid[0],n=t.pxmid[1],i=e.width/2,a=e.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function ekt(e){var t=Math.sqrt(e.titleBox.width*e.titleBox.width+e.titleBox.height*e.titleBox.height);return{x:e.cx,y:e.cy,scale:e.trace.hole*e.r*2/t,tx:0,ty:-e.titleBox.height/2+e.trace.title.font.size}}function _Ee(e,t){var r=1,n=1,i,a=e.trace,o={x:e.cx,y:e.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=xEe(a),a.title.position.indexOf(\"top\")!==-1?(o.y-=(1+i)*e.r,s.ty-=e.titleBox.height):a.title.position.indexOf(\"bottom\")!==-1&&(o.y+=(1+i)*e.r);var l=tkt(e.r,e.trace.aspectratio),u=t.w*(a.domain.x[1]-a.domain.x[0])/2;return a.title.position.indexOf(\"left\")!==-1?(u=u+l,o.x-=(1+i)*l,s.tx+=e.titleBox.width/2):a.title.position.indexOf(\"center\")!==-1?u*=2:a.title.position.indexOf(\"right\")!==-1&&(u=u+l,o.x+=(1+i)*l,s.tx-=e.titleBox.width/2),r=u/e.titleBox.width,n=iW(e,t)/e.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function tkt(e,t){return e/(t===void 0?1:t)}function iW(e,t){var r=e.trace,n=t.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(e.titleBox.height,n/2)}function xEe(e){var t=e.pull;if(!t)return 0;var r;if(ev.isArrayOrTypedArray(t))for(t=0,r=0;r<e.pull.length;r++)e.pull[r]>t&&(t=e.pull[r]);return t}function rkt(e,t){var r,n,i,a,o,s,l,u,c,f,h,d,v;function x(k,A){return k.pxmid[1]-A.pxmid[1]}function b(k,A){return A.pxmid[1]-k.pxmid[1]}function p(k,A){A||(A={});var L=A.labelExtraY+(n?A.yLabelMax:A.yLabelMin),_=n?k.yLabelMin:k.yLabelMax,C=n?k.yLabelMax:k.yLabelMin,M=k.cyFinal+o(k.px0[1],k.px1[1]),g=L-_,P,T,F,q,V,H;if(g*l>0&&(k.labelExtraY=g),!!ev.isArrayOrTypedArray(t.pull))for(T=0;T<f.length;T++)F=f[T],!(F===k||(Zo.castOption(t.pull,k.pts)||0)>=(Zo.castOption(t.pull,F.pts)||0))&&((k.pxmid[1]-F.pxmid[1])*l>0?(q=F.cyFinal+o(F.px0[1],F.px1[1]),g=q-_-k.labelExtraY,g*l>0&&(k.labelExtraY+=g)):(C+k.labelExtraY-M)*l>0&&(P=3*s*Math.abs(T-f.indexOf(k)),V=F.cxFinal+a(F.px0[0],F.px1[0]),H=V+P-(k.cxFinal+k.pxmid[0])-k.labelExtraX,H*s>0&&(k.labelExtraX+=H)))}for(n=0;n<2;n++)for(i=n?x:b,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,u=e[n][r],u.sort(i),c=e[1-n][r],f=c.concat(u),d=[],h=0;h<u.length;h++)u[h].yLabelMid!==void 0&&d.push(u[h]);for(v=!1,h=0;n&&h<c.length;h++)if(c[h].yLabelMid!==void 0){v=c[h];break}for(h=0;h<d.length;h++){var E=h&&d[h-1];v&&!h&&(E=v),p(d[h],E)}}}function bEe(e,t){for(var r=[],n=0;n<e.length;n++){var i=e[n][0],a=i.trace,o=a.domain,s=t.w*(o.x[1]-o.x[0]),l=t.h*(o.y[1]-o.y[0]);a.title.text&&a.title.position!==\"middle center\"&&(l-=iW(i,t));var u=s/2,c=l/2;a.type===\"funnelarea\"&&!a.scalegroup&&(c/=a.aspectratio),i.r=Math.min(u,c)/(1+xEe(a)),i.cx=t.l+t.w*(a.domain.x[1]+a.domain.x[0])/2,i.cy=t.t+t.h*(1-a.domain.y[0])-l/2,a.title.text&&a.title.position.indexOf(\"bottom\")!==-1&&(i.cy-=iW(i,t)),a.scalegroup&&r.indexOf(a.scalegroup)===-1&&r.push(a.scalegroup)}ikt(e,r)}function ikt(e,t){for(var r,n,i,a=0;a<t.length;a++){var o=1/0,s=t[a];for(n=0;n<e.length;n++)if(r=e[n][0],i=r.trace,i.scalegroup===s){var l;if(i.type===\"pie\")l=r.r*r.r;else if(i.type===\"funnelarea\"){var u,c;i.aspectratio>1?(u=r.r,c=u/i.aspectratio):(c=r.r,u=c*i.aspectratio),u*=(1+i.baseratio)/2,l=u*c}o=Math.min(o,l/r.vTotal)}for(n=0;n<e.length;n++)if(r=e[n][0],i=r.trace,i.scalegroup===s){var f=o*r.vTotal;i.type===\"funnelarea\"&&(f/=(1+i.baseratio)/2,f/=i.aspectratio),r.r=Math.sqrt(f)}}}function nkt(e){var t=e[0],r=t.r,n=t.trace,i=Zo.getRotationAngle(n.rotation),a=2*Math.PI/t.vTotal,o=\"px0\",s=\"px1\",l,u,c;if(n.direction===\"counterclockwise\"){for(l=0;l<e.length&&e[l].hidden;l++);if(l===e.length)return;i+=a*e[l].v,a*=-1,o=\"px1\",s=\"px0\"}for(c=hD(r,i),l=0;l<e.length;l++)u=e[l],!u.hidden&&(u[o]=c,u.startangle=i,i+=a*u.v/2,u.pxmid=hD(r,i),u.midangle=i,i+=a*u.v/2,c=hD(r,i),u.stopangle=i,u[s]=c,u.largeArc=u.v>t.vTotal/2?1:0,u.halfangle=Math.PI*Math.min(u.v/t.vTotal,.5),u.ring=1-n.hole,u.rInscribed=QEt(u,t))}function hD(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}function wEe(e,t,r){var n=e._fullLayout,i=r.trace,a=i.texttemplate,o=i.textinfo;if(!a&&o&&o!==\"none\"){var s=o.split(\"+\"),l=function(A){return s.indexOf(A)!==-1},u=l(\"label\"),c=l(\"text\"),f=l(\"value\"),h=l(\"percent\"),d=n.separators,v;if(v=u?[t.label]:[],c){var x=Zo.getFirstFilled(i.text,t.pts);aEe(x)&&v.push(x)}f&&v.push(Zo.formatPieValue(t.v,d)),h&&v.push(Zo.formatPiePercent(t.v/r.vTotal,d)),t.text=v.join(\"<br>\")}function b(A){return{label:A.label,value:A.v,valueLabel:Zo.formatPieValue(A.v,n.separators),percent:A.v/r.vTotal,percentLabel:Zo.formatPiePercent(A.v/r.vTotal,n.separators),color:A.color,text:A.text,customdata:ev.castOption(i,A.i,\"customdata\")}}if(a){var p=ev.castOption(i,t.i,\"texttemplate\");if(!p)t.text=\"\";else{var E=b(t),k=Zo.getFirstFilled(i.text,t.pts);(aEe(k)||k===\"\")&&(E.text=k),t.text=ev.texttemplateString(p,E,e._fullLayout._d3locale,E,i._meta||{})}}}function TEe(e,t){var r=e.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(t.left+t.right)/2,o=(t.top+t.bottom)/2;e.textX=a*n-o*i,e.textY=a*i+o*n,e.noCenter=!0}AEe.exports={plot:YEt,formatSliceLabel:wEe,transformInsideText:pEe,determineInsideTextFont:dEe,positionTitleOutside:_Ee,prerenderTitles:vEe,layoutAreas:bEe,attachFxHandlers:hEe,computeTransform:TEe}});var EEe=ye((ffr,MEe)=>{\"use strict\";var SEe=xa(),akt=z3(),okt=_v().resizeText;MEe.exports=function(t){var r=t._fullLayout._pielayer.selectAll(\".trace\");okt(t,r,\"pie\"),r.each(function(n){var i=n[0],a=i.trace,o=SEe.select(this);o.style({opacity:a.opacity}),o.selectAll(\"path.surface\").each(function(s){SEe.select(this).call(akt,s,a,t)})})}});var CEe=ye(_5=>{\"use strict\";var kEe=Xu();_5.name=\"pie\";_5.plot=function(e,t,r,n){kEe.plotBasePlot(_5.name,e,t,r,n)};_5.clean=function(e,t,r,n){kEe.cleanBasePlot(_5.name,e,t,r,n)}});var PEe=ye((dfr,LEe)=>{\"use strict\";LEe.exports={attributes:A2(),supplyDefaults:S2().supplyDefaults,supplyLayoutDefaults:$4e(),layoutAttributes:uD(),calc:y5().calc,crossTraceCalc:y5().crossTraceCalc,plot:dD().plot,style:EEe(),styleOne:z3(),moduleType:\"trace\",name:\"pie\",basePlotModule:CEe(),categories:[\"pie-like\",\"pie\",\"showLegend\"],meta:{}}});var REe=ye((vfr,IEe)=>{\"use strict\";IEe.exports=PEe()});var zEe=ye(x5=>{\"use strict\";var DEe=Xu();x5.name=\"sunburst\";x5.plot=function(e,t,r,n){DEe.plotBasePlot(x5.name,e,t,r,n)};x5.clean=function(e,t,r,n){DEe.cleanBasePlot(x5.name,e,t,r,n)}});var nW=ye((gfr,FEe)=>{\"use strict\";FEe.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"linear\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"]}});var AE=ye((mfr,OEe)=>{\"use strict\";var skt=vl(),lkt=Wo().hovertemplateAttrs,ukt=Wo().texttemplateAttrs,ckt=Jl(),fkt=Ju().attributes,Zy=A2(),qEe=nW(),TE=no().extendFlat,hkt=Ed().pattern;OEe.exports={labels:{valType:\"data_array\",editType:\"calc\"},parents:{valType:\"data_array\",editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},branchvalues:{valType:\"enumerated\",values:[\"remainder\",\"total\"],dflt:\"remainder\",editType:\"calc\"},count:{valType:\"flaglist\",flags:[\"branches\",\"leaves\"],dflt:\"leaves\",editType:\"calc\"},level:{valType:\"any\",editType:\"plot\",anim:!0},maxdepth:{valType:\"integer\",editType:\"plot\",dflt:-1},marker:TE({colors:{valType:\"data_array\",editType:\"calc\"},line:{color:TE({},Zy.marker.line.color,{dflt:null}),width:TE({},Zy.marker.line.width,{dflt:1}),editType:\"calc\"},pattern:hkt,editType:\"calc\"},ckt(\"marker\",{colorAttr:\"colors\",anim:!1})),leaf:{opacity:{valType:\"number\",editType:\"style\",min:0,max:1},editType:\"plot\"},text:Zy.text,textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],extras:[\"none\"],editType:\"plot\"},texttemplate:ukt({editType:\"plot\"},{keys:qEe.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:Zy.hovertext,hoverinfo:TE({},skt.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"name\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],dflt:\"label+text+value+name\"}),hovertemplate:lkt({},{keys:qEe.eventDataKeys}),textfont:Zy.textfont,insidetextorientation:Zy.insidetextorientation,insidetextfont:Zy.insidetextfont,outsidetextfont:TE({},Zy.outsidetextfont,{}),rotation:{valType:\"angle\",dflt:0,editType:\"plot\"},sort:Zy.sort,root:{color:{valType:\"color\",editType:\"calc\",dflt:\"rgba(0,0,0,0)\"},editType:\"calc\"},domain:fkt({name:\"sunburst\",trace:!0,editType:\"calc\"})}});var aW=ye((yfr,BEe)=>{\"use strict\";BEe.exports={sunburstcolorway:{valType:\"colorlist\",editType:\"calc\"},extendsunburstcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var HEe=ye((_fr,VEe)=>{\"use strict\";var NEe=Mr(),dkt=AE(),vkt=Ju().defaults,pkt=r0().handleText,gkt=S2().handleMarkerDefaults,UEe=Mu(),mkt=UEe.hasColorscale,ykt=UEe.handleDefaults;VEe.exports=function(t,r,n,i){function a(h,d){return NEe.coerce(t,r,dkt,h,d)}var o=a(\"labels\"),s=a(\"parents\");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a(\"values\");l&&l.length?a(\"branchvalues\"):a(\"count\"),a(\"level\"),a(\"maxdepth\"),gkt(t,r,i,a);var u=r._hasColorscale=mkt(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;u&&ykt(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}),a(\"leaf.opacity\",u?1:.7);var c=a(\"text\");a(\"texttemplate\"),r.texttemplate||a(\"textinfo\",NEe.isArrayOrTypedArray(c)?\"text+label\":\"label\"),a(\"hovertext\"),a(\"hovertemplate\");var f=\"auto\";pkt(t,r,i,a,f,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a(\"insidetextorientation\"),a(\"sort\"),a(\"rotation\"),a(\"root.color\"),vkt(r,i,a),r._length=null}});var jEe=ye((xfr,GEe)=>{\"use strict\";var _kt=Mr(),xkt=aW();GEe.exports=function(t,r){function n(i,a){return _kt.coerce(t,r,xkt,i,a)}n(\"sunburstcolorway\",r.colorway),n(\"extendsunburstcolors\")}});var SE=ye((vD,WEe)=>{(function(e,t){typeof vD==\"object\"&&typeof WEe!=\"undefined\"?t(vD):(e=e||self,t(e.d3=e.d3||{}))})(vD,function(e){\"use strict\";function t(Ve,Xe){return Ve.parent===Xe.parent?1:2}function r(Ve){return Ve.reduce(n,0)/Ve.length}function n(Ve,Xe){return Ve+Xe.x}function i(Ve){return 1+Ve.reduce(a,0)}function a(Ve,Xe){return Math.max(Ve,Xe.y)}function o(Ve){for(var Xe;Xe=Ve.children;)Ve=Xe[0];return Ve}function s(Ve){for(var Xe;Xe=Ve.children;)Ve=Xe[Xe.length-1];return Ve}function l(){var Ve=t,Xe=1,ht=1,Le=!1;function xe(Se){var lt,Gt=0;Se.eachAfter(function(jr){var ri=jr.children;ri?(jr.x=r(ri),jr.y=i(ri)):(jr.x=lt?Gt+=Ve(jr,lt):0,jr.y=0,lt=jr)});var Vt=o(Se),ar=s(Se),Qr=Vt.x-Ve(Vt,ar)/2,ai=ar.x+Ve(ar,Vt)/2;return Se.eachAfter(Le?function(jr){jr.x=(jr.x-Se.x)*Xe,jr.y=(Se.y-jr.y)*ht}:function(jr){jr.x=(jr.x-Qr)/(ai-Qr)*Xe,jr.y=(1-(Se.y?jr.y/Se.y:1))*ht})}return xe.separation=function(Se){return arguments.length?(Ve=Se,xe):Ve},xe.size=function(Se){return arguments.length?(Le=!1,Xe=+Se[0],ht=+Se[1],xe):Le?null:[Xe,ht]},xe.nodeSize=function(Se){return arguments.length?(Le=!0,Xe=+Se[0],ht=+Se[1],xe):Le?[Xe,ht]:null},xe}function u(Ve){var Xe=0,ht=Ve.children,Le=ht&&ht.length;if(!Le)Xe=1;else for(;--Le>=0;)Xe+=ht[Le].value;Ve.value=Xe}function c(){return this.eachAfter(u)}function f(Ve){var Xe=this,ht,Le=[Xe],xe,Se,lt;do for(ht=Le.reverse(),Le=[];Xe=ht.pop();)if(Ve(Xe),xe=Xe.children,xe)for(Se=0,lt=xe.length;Se<lt;++Se)Le.push(xe[Se]);while(Le.length);return this}function h(Ve){for(var Xe=this,ht=[Xe],Le,xe;Xe=ht.pop();)if(Ve(Xe),Le=Xe.children,Le)for(xe=Le.length-1;xe>=0;--xe)ht.push(Le[xe]);return this}function d(Ve){for(var Xe=this,ht=[Xe],Le=[],xe,Se,lt;Xe=ht.pop();)if(Le.push(Xe),xe=Xe.children,xe)for(Se=0,lt=xe.length;Se<lt;++Se)ht.push(xe[Se]);for(;Xe=Le.pop();)Ve(Xe);return this}function v(Ve){return this.eachAfter(function(Xe){for(var ht=+Ve(Xe.data)||0,Le=Xe.children,xe=Le&&Le.length;--xe>=0;)ht+=Le[xe].value;Xe.value=ht})}function x(Ve){return this.eachBefore(function(Xe){Xe.children&&Xe.children.sort(Ve)})}function b(Ve){for(var Xe=this,ht=p(Xe,Ve),Le=[Xe];Xe!==ht;)Xe=Xe.parent,Le.push(Xe);for(var xe=Le.length;Ve!==ht;)Le.splice(xe,0,Ve),Ve=Ve.parent;return Le}function p(Ve,Xe){if(Ve===Xe)return Ve;var ht=Ve.ancestors(),Le=Xe.ancestors(),xe=null;for(Ve=ht.pop(),Xe=Le.pop();Ve===Xe;)xe=Ve,Ve=ht.pop(),Xe=Le.pop();return xe}function E(){for(var Ve=this,Xe=[Ve];Ve=Ve.parent;)Xe.push(Ve);return Xe}function k(){var Ve=[];return this.each(function(Xe){Ve.push(Xe)}),Ve}function A(){var Ve=[];return this.eachBefore(function(Xe){Xe.children||Ve.push(Xe)}),Ve}function L(){var Ve=this,Xe=[];return Ve.each(function(ht){ht!==Ve&&Xe.push({source:ht.parent,target:ht})}),Xe}function _(Ve,Xe){var ht=new T(Ve),Le=+Ve.value&&(ht.value=Ve.value),xe,Se=[ht],lt,Gt,Vt,ar;for(Xe==null&&(Xe=M);xe=Se.pop();)if(Le&&(xe.value=+xe.data.value),(Gt=Xe(xe.data))&&(ar=Gt.length))for(xe.children=new Array(ar),Vt=ar-1;Vt>=0;--Vt)Se.push(lt=xe.children[Vt]=new T(Gt[Vt])),lt.parent=xe,lt.depth=xe.depth+1;return ht.eachBefore(P)}function C(){return _(this).eachBefore(g)}function M(Ve){return Ve.children}function g(Ve){Ve.data=Ve.data.data}function P(Ve){var Xe=0;do Ve.height=Xe;while((Ve=Ve.parent)&&Ve.height<++Xe)}function T(Ve){this.data=Ve,this.depth=this.height=0,this.parent=null}T.prototype=_.prototype={constructor:T,count:c,each:f,eachAfter:d,eachBefore:h,sum:v,sort:x,path:b,ancestors:E,descendants:k,leaves:A,links:L,copy:C};var F=Array.prototype.slice;function q(Ve){for(var Xe=Ve.length,ht,Le;Xe;)Le=Math.random()*Xe--|0,ht=Ve[Xe],Ve[Xe]=Ve[Le],Ve[Le]=ht;return Ve}function V(Ve){for(var Xe=0,ht=(Ve=q(F.call(Ve))).length,Le=[],xe,Se;Xe<ht;)xe=Ve[Xe],Se&&G(Se,xe)?++Xe:(Se=W(Le=H(Le,xe)),Xe=0);return Se}function H(Ve,Xe){var ht,Le;if(N(Xe,Ve))return[Xe];for(ht=0;ht<Ve.length;++ht)if(X(Xe,Ve[ht])&&N(ae(Ve[ht],Xe),Ve))return[Ve[ht],Xe];for(ht=0;ht<Ve.length-1;++ht)for(Le=ht+1;Le<Ve.length;++Le)if(X(ae(Ve[ht],Ve[Le]),Xe)&&X(ae(Ve[ht],Xe),Ve[Le])&&X(ae(Ve[Le],Xe),Ve[ht])&&N(_e(Ve[ht],Ve[Le],Xe),Ve))return[Ve[ht],Ve[Le],Xe];throw new Error}function X(Ve,Xe){var ht=Ve.r-Xe.r,Le=Xe.x-Ve.x,xe=Xe.y-Ve.y;return ht<0||ht*ht<Le*Le+xe*xe}function G(Ve,Xe){var ht=Ve.r-Xe.r+1e-6,Le=Xe.x-Ve.x,xe=Xe.y-Ve.y;return ht>0&&ht*ht>Le*Le+xe*xe}function N(Ve,Xe){for(var ht=0;ht<Xe.length;++ht)if(!G(Ve,Xe[ht]))return!1;return!0}function W(Ve){switch(Ve.length){case 1:return re(Ve[0]);case 2:return ae(Ve[0],Ve[1]);case 3:return _e(Ve[0],Ve[1],Ve[2])}}function re(Ve){return{x:Ve.x,y:Ve.y,r:Ve.r}}function ae(Ve,Xe){var ht=Ve.x,Le=Ve.y,xe=Ve.r,Se=Xe.x,lt=Xe.y,Gt=Xe.r,Vt=Se-ht,ar=lt-Le,Qr=Gt-xe,ai=Math.sqrt(Vt*Vt+ar*ar);return{x:(ht+Se+Vt/ai*Qr)/2,y:(Le+lt+ar/ai*Qr)/2,r:(ai+xe+Gt)/2}}function _e(Ve,Xe,ht){var Le=Ve.x,xe=Ve.y,Se=Ve.r,lt=Xe.x,Gt=Xe.y,Vt=Xe.r,ar=ht.x,Qr=ht.y,ai=ht.r,jr=Le-lt,ri=Le-ar,bi=xe-Gt,nn=xe-Qr,Wi=Vt-Se,Ni=ai-Se,_n=Le*Le+xe*xe-Se*Se,$i=_n-lt*lt-Gt*Gt+Vt*Vt,zn=_n-ar*ar-Qr*Qr+ai*ai,Wn=ri*bi-jr*nn,It=(bi*zn-nn*$i)/(Wn*2)-Le,ft=(nn*Wi-bi*Ni)/Wn,jt=(ri*$i-jr*zn)/(Wn*2)-xe,Zt=(jr*Ni-ri*Wi)/Wn,yr=ft*ft+Zt*Zt-1,Fr=2*(Se+It*ft+jt*Zt),Zr=It*It+jt*jt-Se*Se,Vr=-(yr?(Fr+Math.sqrt(Fr*Fr-4*yr*Zr))/(2*yr):Zr/Fr);return{x:Le+It+ft*Vr,y:xe+jt+Zt*Vr,r:Vr}}function Me(Ve,Xe,ht){var Le=Ve.x-Xe.x,xe,Se,lt=Ve.y-Xe.y,Gt,Vt,ar=Le*Le+lt*lt;ar?(Se=Xe.r+ht.r,Se*=Se,Vt=Ve.r+ht.r,Vt*=Vt,Se>Vt?(xe=(ar+Vt-Se)/(2*ar),Gt=Math.sqrt(Math.max(0,Vt/ar-xe*xe)),ht.x=Ve.x-xe*Le-Gt*lt,ht.y=Ve.y-xe*lt+Gt*Le):(xe=(ar+Se-Vt)/(2*ar),Gt=Math.sqrt(Math.max(0,Se/ar-xe*xe)),ht.x=Xe.x+xe*Le-Gt*lt,ht.y=Xe.y+xe*lt+Gt*Le)):(ht.x=Xe.x+ht.r,ht.y=Xe.y)}function ke(Ve,Xe){var ht=Ve.r+Xe.r-1e-6,Le=Xe.x-Ve.x,xe=Xe.y-Ve.y;return ht>0&&ht*ht>Le*Le+xe*xe}function ge(Ve){var Xe=Ve._,ht=Ve.next._,Le=Xe.r+ht.r,xe=(Xe.x*ht.r+ht.x*Xe.r)/Le,Se=(Xe.y*ht.r+ht.y*Xe.r)/Le;return xe*xe+Se*Se}function ie(Ve){this._=Ve,this.next=null,this.previous=null}function Te(Ve){if(!(xe=Ve.length))return 0;var Xe,ht,Le,xe,Se,lt,Gt,Vt,ar,Qr,ai;if(Xe=Ve[0],Xe.x=0,Xe.y=0,!(xe>1))return Xe.r;if(ht=Ve[1],Xe.x=-ht.r,ht.x=Xe.r,ht.y=0,!(xe>2))return Xe.r+ht.r;Me(ht,Xe,Le=Ve[2]),Xe=new ie(Xe),ht=new ie(ht),Le=new ie(Le),Xe.next=Le.previous=ht,ht.next=Xe.previous=Le,Le.next=ht.previous=Xe;e:for(Gt=3;Gt<xe;++Gt){Me(Xe._,ht._,Le=Ve[Gt]),Le=new ie(Le),Vt=ht.next,ar=Xe.previous,Qr=ht._.r,ai=Xe._.r;do if(Qr<=ai){if(ke(Vt._,Le._)){ht=Vt,Xe.next=ht,ht.previous=Xe,--Gt;continue e}Qr+=Vt._.r,Vt=Vt.next}else{if(ke(ar._,Le._)){Xe=ar,Xe.next=ht,ht.previous=Xe,--Gt;continue e}ai+=ar._.r,ar=ar.previous}while(Vt!==ar.next);for(Le.previous=Xe,Le.next=ht,Xe.next=ht.previous=ht=Le,Se=ge(Xe);(Le=Le.next)!==ht;)(lt=ge(Le))<Se&&(Xe=Le,Se=lt);ht=Xe.next}for(Xe=[ht._],Le=ht;(Le=Le.next)!==ht;)Xe.push(Le._);for(Le=V(Xe),Gt=0;Gt<xe;++Gt)Xe=Ve[Gt],Xe.x-=Le.x,Xe.y-=Le.y;return Le.r}function Ee(Ve){return Te(Ve),Ve}function Ae(Ve){return Ve==null?null:ze(Ve)}function ze(Ve){if(typeof Ve!=\"function\")throw new Error;return Ve}function Ce(){return 0}function me(Ve){return function(){return Ve}}function Re(Ve){return Math.sqrt(Ve.value)}function ce(){var Ve=null,Xe=1,ht=1,Le=Ce;function xe(Se){return Se.x=Xe/2,Se.y=ht/2,Ve?Se.eachBefore(Ge(Ve)).eachAfter(nt(Le,.5)).eachBefore(ct(1)):Se.eachBefore(Ge(Re)).eachAfter(nt(Ce,1)).eachAfter(nt(Le,Se.r/Math.min(Xe,ht))).eachBefore(ct(Math.min(Xe,ht)/(2*Se.r))),Se}return xe.radius=function(Se){return arguments.length?(Ve=Ae(Se),xe):Ve},xe.size=function(Se){return arguments.length?(Xe=+Se[0],ht=+Se[1],xe):[Xe,ht]},xe.padding=function(Se){return arguments.length?(Le=typeof Se==\"function\"?Se:me(+Se),xe):Le},xe}function Ge(Ve){return function(Xe){Xe.children||(Xe.r=Math.max(0,+Ve(Xe)||0))}}function nt(Ve,Xe){return function(ht){if(Le=ht.children){var Le,xe,Se=Le.length,lt=Ve(ht)*Xe||0,Gt;if(lt)for(xe=0;xe<Se;++xe)Le[xe].r+=lt;if(Gt=Te(Le),lt)for(xe=0;xe<Se;++xe)Le[xe].r-=lt;ht.r=Gt+lt}}}function ct(Ve){return function(Xe){var ht=Xe.parent;Xe.r*=Ve,ht&&(Xe.x=ht.x+Ve*Xe.x,Xe.y=ht.y+Ve*Xe.y)}}function qt(Ve){Ve.x0=Math.round(Ve.x0),Ve.y0=Math.round(Ve.y0),Ve.x1=Math.round(Ve.x1),Ve.y1=Math.round(Ve.y1)}function rt(Ve,Xe,ht,Le,xe){for(var Se=Ve.children,lt,Gt=-1,Vt=Se.length,ar=Ve.value&&(Le-Xe)/Ve.value;++Gt<Vt;)lt=Se[Gt],lt.y0=ht,lt.y1=xe,lt.x0=Xe,lt.x1=Xe+=lt.value*ar}function ot(){var Ve=1,Xe=1,ht=0,Le=!1;function xe(lt){var Gt=lt.height+1;return lt.x0=lt.y0=ht,lt.x1=Ve,lt.y1=Xe/Gt,lt.eachBefore(Se(Xe,Gt)),Le&<.eachBefore(qt),lt}function Se(lt,Gt){return function(Vt){Vt.children&&rt(Vt,Vt.x0,lt*(Vt.depth+1)/Gt,Vt.x1,lt*(Vt.depth+2)/Gt);var ar=Vt.x0,Qr=Vt.y0,ai=Vt.x1-ht,jr=Vt.y1-ht;ai<ar&&(ar=ai=(ar+ai)/2),jr<Qr&&(Qr=jr=(Qr+jr)/2),Vt.x0=ar,Vt.y0=Qr,Vt.x1=ai,Vt.y1=jr}}return xe.round=function(lt){return arguments.length?(Le=!!lt,xe):Le},xe.size=function(lt){return arguments.length?(Ve=+lt[0],Xe=+lt[1],xe):[Ve,Xe]},xe.padding=function(lt){return arguments.length?(ht=+lt,xe):ht},xe}var Rt=\"$\",kt={depth:-1},Ct={};function Yt(Ve){return Ve.id}function xr(Ve){return Ve.parentId}function er(){var Ve=Yt,Xe=xr;function ht(Le){var xe,Se,lt=Le.length,Gt,Vt,ar,Qr=new Array(lt),ai,jr,ri={};for(Se=0;Se<lt;++Se)xe=Le[Se],ar=Qr[Se]=new T(xe),(ai=Ve(xe,Se,Le))!=null&&(ai+=\"\")&&(jr=Rt+(ar.id=ai),ri[jr]=jr in ri?Ct:ar);for(Se=0;Se<lt;++Se)if(ar=Qr[Se],ai=Xe(Le[Se],Se,Le),ai==null||!(ai+=\"\")){if(Gt)throw new Error(\"multiple roots\");Gt=ar}else{if(Vt=ri[Rt+ai],!Vt)throw new Error(\"missing: \"+ai);if(Vt===Ct)throw new Error(\"ambiguous: \"+ai);Vt.children?Vt.children.push(ar):Vt.children=[ar],ar.parent=Vt}if(!Gt)throw new Error(\"no root\");if(Gt.parent=kt,Gt.eachBefore(function(bi){bi.depth=bi.parent.depth+1,--lt}).eachBefore(P),Gt.parent=null,lt>0)throw new Error(\"cycle\");return Gt}return ht.id=function(Le){return arguments.length?(Ve=ze(Le),ht):Ve},ht.parentId=function(Le){return arguments.length?(Xe=ze(Le),ht):Xe},ht}function Ke(Ve,Xe){return Ve.parent===Xe.parent?1:2}function xt(Ve){var Xe=Ve.children;return Xe?Xe[0]:Ve.t}function bt(Ve){var Xe=Ve.children;return Xe?Xe[Xe.length-1]:Ve.t}function Lt(Ve,Xe,ht){var Le=ht/(Xe.i-Ve.i);Xe.c-=Le,Xe.s+=ht,Ve.c+=Le,Xe.z+=ht,Xe.m+=ht}function St(Ve){for(var Xe=0,ht=0,Le=Ve.children,xe=Le.length,Se;--xe>=0;)Se=Le[xe],Se.z+=Xe,Se.m+=Xe,Xe+=Se.s+(ht+=Se.c)}function Et(Ve,Xe,ht){return Ve.a.parent===Xe.parent?Ve.a:ht}function dt(Ve,Xe){this._=Ve,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=Xe}dt.prototype=Object.create(T.prototype);function Ht(Ve){for(var Xe=new dt(Ve,0),ht,Le=[Xe],xe,Se,lt,Gt;ht=Le.pop();)if(Se=ht._.children)for(ht.children=new Array(Gt=Se.length),lt=Gt-1;lt>=0;--lt)Le.push(xe=ht.children[lt]=new dt(Se[lt],lt)),xe.parent=ht;return(Xe.parent=new dt(null,0)).children=[Xe],Xe}function $t(){var Ve=Ke,Xe=1,ht=1,Le=null;function xe(ar){var Qr=Ht(ar);if(Qr.eachAfter(Se),Qr.parent.m=-Qr.z,Qr.eachBefore(lt),Le)ar.eachBefore(Vt);else{var ai=ar,jr=ar,ri=ar;ar.eachBefore(function(_n){_n.x<ai.x&&(ai=_n),_n.x>jr.x&&(jr=_n),_n.depth>ri.depth&&(ri=_n)});var bi=ai===jr?1:Ve(ai,jr)/2,nn=bi-ai.x,Wi=Xe/(jr.x+bi+nn),Ni=ht/(ri.depth||1);ar.eachBefore(function(_n){_n.x=(_n.x+nn)*Wi,_n.y=_n.depth*Ni})}return ar}function Se(ar){var Qr=ar.children,ai=ar.parent.children,jr=ar.i?ai[ar.i-1]:null;if(Qr){St(ar);var ri=(Qr[0].z+Qr[Qr.length-1].z)/2;jr?(ar.z=jr.z+Ve(ar._,jr._),ar.m=ar.z-ri):ar.z=ri}else jr&&(ar.z=jr.z+Ve(ar._,jr._));ar.parent.A=Gt(ar,jr,ar.parent.A||ai[0])}function lt(ar){ar._.x=ar.z+ar.parent.m,ar.m+=ar.parent.m}function Gt(ar,Qr,ai){if(Qr){for(var jr=ar,ri=ar,bi=Qr,nn=jr.parent.children[0],Wi=jr.m,Ni=ri.m,_n=bi.m,$i=nn.m,zn;bi=bt(bi),jr=xt(jr),bi&&jr;)nn=xt(nn),ri=bt(ri),ri.a=ar,zn=bi.z+_n-jr.z-Wi+Ve(bi._,jr._),zn>0&&(Lt(Et(bi,ar,ai),ar,zn),Wi+=zn,Ni+=zn),_n+=bi.m,Wi+=jr.m,$i+=nn.m,Ni+=ri.m;bi&&!bt(ri)&&(ri.t=bi,ri.m+=_n-Ni),jr&&!xt(nn)&&(nn.t=jr,nn.m+=Wi-$i,ai=ar)}return ai}function Vt(ar){ar.x*=Xe,ar.y=ar.depth*ht}return xe.separation=function(ar){return arguments.length?(Ve=ar,xe):Ve},xe.size=function(ar){return arguments.length?(Le=!1,Xe=+ar[0],ht=+ar[1],xe):Le?null:[Xe,ht]},xe.nodeSize=function(ar){return arguments.length?(Le=!0,Xe=+ar[0],ht=+ar[1],xe):Le?[Xe,ht]:null},xe}function fr(Ve,Xe,ht,Le,xe){for(var Se=Ve.children,lt,Gt=-1,Vt=Se.length,ar=Ve.value&&(xe-ht)/Ve.value;++Gt<Vt;)lt=Se[Gt],lt.x0=Xe,lt.x1=Le,lt.y0=ht,lt.y1=ht+=lt.value*ar}var _r=(1+Math.sqrt(5))/2;function Br(Ve,Xe,ht,Le,xe,Se){for(var lt=[],Gt=Xe.children,Vt,ar,Qr=0,ai=0,jr=Gt.length,ri,bi,nn=Xe.value,Wi,Ni,_n,$i,zn,Wn,It;Qr<jr;){ri=xe-ht,bi=Se-Le;do Wi=Gt[ai++].value;while(!Wi&&ai<jr);for(Ni=_n=Wi,Wn=Math.max(bi/ri,ri/bi)/(nn*Ve),It=Wi*Wi*Wn,zn=Math.max(_n/It,It/Ni);ai<jr;++ai){if(Wi+=ar=Gt[ai].value,ar<Ni&&(Ni=ar),ar>_n&&(_n=ar),It=Wi*Wi*Wn,$i=Math.max(_n/It,It/Ni),$i>zn){Wi-=ar;break}zn=$i}lt.push(Vt={value:Wi,dice:ri<bi,children:Gt.slice(Qr,ai)}),Vt.dice?rt(Vt,ht,Le,xe,nn?Le+=bi*Wi/nn:Se):fr(Vt,ht,Le,nn?ht+=ri*Wi/nn:xe,Se),nn-=Wi,Qr=ai}return lt}var Or=function Ve(Xe){function ht(Le,xe,Se,lt,Gt){Br(Xe,Le,xe,Se,lt,Gt)}return ht.ratio=function(Le){return Ve((Le=+Le)>1?Le:1)},ht}(_r);function Nr(){var Ve=Or,Xe=!1,ht=1,Le=1,xe=[0],Se=Ce,lt=Ce,Gt=Ce,Vt=Ce,ar=Ce;function Qr(jr){return jr.x0=jr.y0=0,jr.x1=ht,jr.y1=Le,jr.eachBefore(ai),xe=[0],Xe&&jr.eachBefore(qt),jr}function ai(jr){var ri=xe[jr.depth],bi=jr.x0+ri,nn=jr.y0+ri,Wi=jr.x1-ri,Ni=jr.y1-ri;Wi<bi&&(bi=Wi=(bi+Wi)/2),Ni<nn&&(nn=Ni=(nn+Ni)/2),jr.x0=bi,jr.y0=nn,jr.x1=Wi,jr.y1=Ni,jr.children&&(ri=xe[jr.depth+1]=Se(jr)/2,bi+=ar(jr)-ri,nn+=lt(jr)-ri,Wi-=Gt(jr)-ri,Ni-=Vt(jr)-ri,Wi<bi&&(bi=Wi=(bi+Wi)/2),Ni<nn&&(nn=Ni=(nn+Ni)/2),Ve(jr,bi,nn,Wi,Ni))}return Qr.round=function(jr){return arguments.length?(Xe=!!jr,Qr):Xe},Qr.size=function(jr){return arguments.length?(ht=+jr[0],Le=+jr[1],Qr):[ht,Le]},Qr.tile=function(jr){return arguments.length?(Ve=ze(jr),Qr):Ve},Qr.padding=function(jr){return arguments.length?Qr.paddingInner(jr).paddingOuter(jr):Qr.paddingInner()},Qr.paddingInner=function(jr){return arguments.length?(Se=typeof jr==\"function\"?jr:me(+jr),Qr):Se},Qr.paddingOuter=function(jr){return arguments.length?Qr.paddingTop(jr).paddingRight(jr).paddingBottom(jr).paddingLeft(jr):Qr.paddingTop()},Qr.paddingTop=function(jr){return arguments.length?(lt=typeof jr==\"function\"?jr:me(+jr),Qr):lt},Qr.paddingRight=function(jr){return arguments.length?(Gt=typeof jr==\"function\"?jr:me(+jr),Qr):Gt},Qr.paddingBottom=function(jr){return arguments.length?(Vt=typeof jr==\"function\"?jr:me(+jr),Qr):Vt},Qr.paddingLeft=function(jr){return arguments.length?(ar=typeof jr==\"function\"?jr:me(+jr),Qr):ar},Qr}function ut(Ve,Xe,ht,Le,xe){var Se=Ve.children,lt,Gt=Se.length,Vt,ar=new Array(Gt+1);for(ar[0]=Vt=lt=0;lt<Gt;++lt)ar[lt+1]=Vt+=Se[lt].value;Qr(0,Gt,Ve.value,Xe,ht,Le,xe);function Qr(ai,jr,ri,bi,nn,Wi,Ni){if(ai>=jr-1){var _n=Se[ai];_n.x0=bi,_n.y0=nn,_n.x1=Wi,_n.y1=Ni;return}for(var $i=ar[ai],zn=ri/2+$i,Wn=ai+1,It=jr-1;Wn<It;){var ft=Wn+It>>>1;ar[ft]<zn?Wn=ft+1:It=ft}zn-ar[Wn-1]<ar[Wn]-zn&&ai+1<Wn&&--Wn;var jt=ar[Wn]-$i,Zt=ri-jt;if(Wi-bi>Ni-nn){var yr=(bi*Zt+Wi*jt)/ri;Qr(ai,Wn,jt,bi,nn,yr,Ni),Qr(Wn,jr,Zt,yr,nn,Wi,Ni)}else{var Fr=(nn*Zt+Ni*jt)/ri;Qr(ai,Wn,jt,bi,nn,Wi,Fr),Qr(Wn,jr,Zt,bi,Fr,Wi,Ni)}}}function Ne(Ve,Xe,ht,Le,xe){(Ve.depth&1?fr:rt)(Ve,Xe,ht,Le,xe)}var Ye=function Ve(Xe){function ht(Le,xe,Se,lt,Gt){if((Vt=Le._squarify)&&Vt.ratio===Xe)for(var Vt,ar,Qr,ai,jr=-1,ri,bi=Vt.length,nn=Le.value;++jr<bi;){for(ar=Vt[jr],Qr=ar.children,ai=ar.value=0,ri=Qr.length;ai<ri;++ai)ar.value+=Qr[ai].value;ar.dice?rt(ar,xe,Se,lt,Se+=(Gt-Se)*ar.value/nn):fr(ar,xe,Se,xe+=(lt-xe)*ar.value/nn,Gt),nn-=ar.value}else Le._squarify=Vt=Br(Xe,Le,xe,Se,lt,Gt),Vt.ratio=Xe}return ht.ratio=function(Le){return Ve((Le=+Le)>1?Le:1)},ht}(_r);e.cluster=l,e.hierarchy=_,e.pack=ce,e.packEnclose=V,e.packSiblings=Ee,e.partition=ot,e.stratify=er,e.tree=$t,e.treemap=Nr,e.treemapBinary=ut,e.treemapDice=rt,e.treemapResquarify=Ye,e.treemapSlice=fr,e.treemapSliceDice=Ne,e.treemapSquarify=Or,Object.defineProperty(e,\"__esModule\",{value:!0})})});var EE=ye(ME=>{\"use strict\";var ZEe=SE(),bkt=uo(),b5=Mr(),wkt=Mu().makeColorScaleFuncFromTrace,Tkt=y5().makePullColorFn,Akt=y5().generateExtendedColors,Skt=Mu().calc,Mkt=es().ALMOST_EQUAL,Ekt={},kkt={},Ckt={};ME.calc=function(e,t){var r=e._fullLayout,n=t.ids,i=b5.isArrayOrTypedArray(n),a=t.labels,o=t.parents,s=t.values,l=b5.isArrayOrTypedArray(s),u=[],c={},f={},h=function(G,N){c[G]?c[G].push(N):c[G]=[N],f[N]=1},d=function(G){return G||typeof G==\"number\"},v=function(G){return!l||bkt(s[G])&&s[G]>=0},x,b,p;i?(x=Math.min(n.length,o.length),b=function(G){return d(n[G])&&v(G)},p=function(G){return String(n[G])}):(x=Math.min(a.length,o.length),b=function(G){return d(a[G])&&v(G)},p=function(G){return String(a[G])}),l&&(x=Math.min(x,s.length));for(var E=0;E<x;E++)if(b(E)){var k=p(E),A=d(o[E])?String(o[E]):\"\",L={i:E,id:k,pid:A,label:d(a[E])?String(a[E]):\"\"};l&&(L.v=+s[E]),u.push(L),h(A,k)}if(c[\"\"]){if(c[\"\"].length>1){for(var M=b5.randstr(),g=0;g<u.length;g++)u[g].pid===\"\"&&(u[g].pid=M);u.unshift({hasMultipleRoots:!0,id:M,pid:\"\",label:\"\"})}}else{var _=[],C;for(C in c)f[C]||_.push(C);if(_.length===1)C=_[0],u.unshift({hasImpliedRoot:!0,id:C,pid:\"\",label:C});else return b5.warn([\"Multiple implied roots, cannot build\",t.type,\"hierarchy of\",t.name+\".\",\"These roots include:\",_.join(\", \")].join(\" \"))}var P;try{P=ZEe.stratify().id(function(G){return G.id}).parentId(function(G){return G.pid})(u)}catch(G){return b5.warn([\"Failed to build\",t.type,\"hierarchy of\",t.name+\".\",\"Error:\",G.message].join(\" \"))}var T=ZEe.hierarchy(P),F=!1;if(l)switch(t.branchvalues){case\"remainder\":T.sum(function(G){return G.data.v});break;case\"total\":T.each(function(G){var N=G.data.data,W=N.v;if(G.children){var re=G.children.reduce(function(ae,_e){return ae+_e.data.data.v},0);if((N.hasImpliedRoot||N.hasMultipleRoots)&&(W=re),W<re*Mkt)return F=!0,b5.warn([\"Total value for node\",G.data.data.id,\"of\",t.name,\"is smaller than the sum of its children.\",`\n", - "parent value =`,W,`\n", - "children sum =`,re].join(\" \"))}G.value=W});break}else XEe(T,t,{branches:t.count.indexOf(\"branches\")!==-1,leaves:t.count.indexOf(\"leaves\")!==-1});if(!F){t.sort&&T.sort(function(G,N){return N.value-G.value});var q,V,H=t.marker.colors||[],X=!!H.length;return t._hasColorscale?(X||(H=l?t.values:t._values),Skt(e,t,{vals:H,containerStr:\"marker\",cLetter:\"c\"}),V=wkt(t.marker)):q=Tkt(r[\"_\"+t.type+\"colormap\"]),T.each(function(G){var N=G.data.data;N.color=t._hasColorscale?V(H[N.i]):q(H[N.i],N.id)}),u[0].hierarchy=T,u}};ME._runCrossTraceCalc=function(e,t){var r=t._fullLayout,n=t.calcdata,i=r[e+\"colorway\"],a=r[\"_\"+e+\"colormap\"];r[\"extend\"+e+\"colors\"]&&(i=Akt(i,e===\"icicle\"?Ckt:e===\"treemap\"?kkt:Ekt));var o=0,s;function l(h){var d=h.data.data,v=d.id;d.color===!1&&(a[v]?d.color=a[v]:h.parent?h.parent.parent?d.color=h.parent.data.data.color:(a[v]=d.color=i[o%i.length],o++):d.color=s)}for(var u=0;u<n.length;u++){var c=n[u],f=c[0];f.trace.type===e&&f.hierarchy&&(s=f.trace.root.color,f.hierarchy.each(l))}};ME.crossTraceCalc=function(e){return ME._runCrossTraceCalc(\"sunburst\",e)};function XEe(e,t,r){var n=0,i=e.children;if(i){for(var a=i.length,o=0;o<a;o++)n+=XEe(i[o],t,r);r.branches&&n++}else r.leaves&&n++;return e.value=e.data.data.value=n,t._values||(t._values=[]),t._values[e.data.data.i]=n,n}});function Xy(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function G_(e,t){var r=Object.create(e.prototype);for(var n in t)r[n]=t[n];return r}var pD=Ll(()=>{});function Vm(){}function KEe(){return this.rgb().formatHex()}function qkt(){return this.rgb().formatHex8()}function Okt(){return ike(this).formatHsl()}function JEe(){return this.rgb().formatRgb()}function W_(e){var t,r;return e=(e+\"\").trim().toLowerCase(),(t=Lkt.exec(e))?(r=t[1].length,t=parseInt(t[1],16),r===6?$Ee(t):r===3?new hd(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?gD(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?gD(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Pkt.exec(e))?new hd(t[1],t[2],t[3],1):(t=Ikt.exec(e))?new hd(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Rkt.exec(e))?gD(t[1],t[2],t[3],t[4]):(t=Dkt.exec(e))?gD(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=zkt.exec(e))?tke(t[1],t[2]/100,t[3]/100,1):(t=Fkt.exec(e))?tke(t[1],t[2]/100,t[3]/100,t[4]):YEe.hasOwnProperty(e)?$Ee(YEe[e]):e===\"transparent\"?new hd(NaN,NaN,NaN,0):null}function $Ee(e){return new hd(e>>16&255,e>>8&255,e&255,1)}function gD(e,t,r,n){return n<=0&&(e=t=r=NaN),new hd(e,t,r,n)}function CE(e){return e instanceof Vm||(e=W_(e)),e?(e=e.rgb(),new hd(e.r,e.g,e.b,e.opacity)):new hd}function T5(e,t,r,n){return arguments.length===1?CE(e):new hd(e,t,r,n==null?1:n)}function hd(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}function QEe(){return`#${M2(this.r)}${M2(this.g)}${M2(this.b)}`}function Bkt(){return`#${M2(this.r)}${M2(this.g)}${M2(this.b)}${M2((isNaN(this.opacity)?1:this.opacity)*255)}`}function eke(){let e=yD(this.opacity);return`${e===1?\"rgb(\":\"rgba(\"}${E2(this.r)}, ${E2(this.g)}, ${E2(this.b)}${e===1?\")\":`, ${e})`}`}function yD(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function E2(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function M2(e){return e=E2(e),(e<16?\"0\":\"\")+e.toString(16)}function tke(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Zg(e,t,r,n)}function ike(e){if(e instanceof Zg)return new Zg(e.h,e.s,e.l,e.opacity);if(e instanceof Vm||(e=W_(e)),!e)return new Zg;if(e instanceof Zg)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=NaN,s=a-i,l=(a+i)/2;return s?(t===a?o=(r-n)/s+(r<n)*6:r===a?o=(n-t)/s+2:o=(t-r)/s+4,s/=l<.5?a+i:2-a-i,o*=60):s=l>0&&l<1?0:o,new Zg(o,s,l,e.opacity)}function LE(e,t,r,n){return arguments.length===1?ike(e):new Zg(e,t,r,n==null?1:n)}function Zg(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}function rke(e){return e=(e||0)%360,e<0?e+360:e}function mD(e){return Math.max(0,Math.min(1,e||0))}function oW(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}var j_,k2,w5,kE,Um,Lkt,Pkt,Ikt,Rkt,Dkt,zkt,Fkt,YEe,_D=Ll(()=>{pD();j_=.7,k2=1/j_,w5=\"\\\\s*([+-]?\\\\d+)\\\\s*\",kE=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",Um=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",Lkt=/^#([0-9a-f]{3,8})$/,Pkt=new RegExp(`^rgb\\\\(${w5},${w5},${w5}\\\\)$`),Ikt=new RegExp(`^rgb\\\\(${Um},${Um},${Um}\\\\)$`),Rkt=new RegExp(`^rgba\\\\(${w5},${w5},${w5},${kE}\\\\)$`),Dkt=new RegExp(`^rgba\\\\(${Um},${Um},${Um},${kE}\\\\)$`),zkt=new RegExp(`^hsl\\\\(${kE},${Um},${Um}\\\\)$`),Fkt=new RegExp(`^hsla\\\\(${kE},${Um},${Um},${kE}\\\\)$`),YEe={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};Xy(Vm,W_,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:KEe,formatHex:KEe,formatHex8:qkt,formatHsl:Okt,formatRgb:JEe,toString:JEe});Xy(hd,T5,G_(Vm,{brighter(e){return e=e==null?k2:Math.pow(k2,e),new hd(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?j_:Math.pow(j_,e),new hd(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new hd(E2(this.r),E2(this.g),E2(this.b),yD(this.opacity))},displayable(){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:QEe,formatHex:QEe,formatHex8:Bkt,formatRgb:eke,toString:eke}));Xy(Zg,LE,G_(Vm,{brighter(e){return e=e==null?k2:Math.pow(k2,e),new Zg(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?j_:Math.pow(j_,e),new Zg(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new hd(oW(e>=240?e-240:e+120,i,n),oW(e,i,n),oW(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new Zg(rke(this.h),mD(this.s),mD(this.l),yD(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=yD(this.opacity);return`${e===1?\"hsl(\":\"hsla(\"}${rke(this.h)}, ${mD(this.s)*100}%, ${mD(this.l)*100}%${e===1?\")\":`, ${e})`}`}}))});var xD,bD,sW=Ll(()=>{xD=Math.PI/180,bD=180/Math.PI});function uke(e){if(e instanceof Hm)return new Hm(e.l,e.a,e.b,e.opacity);if(e instanceof Yy)return cke(e);e instanceof hd||(e=CE(e));var t=fW(e.r),r=fW(e.g),n=fW(e.b),i=lW((.2225045*t+.7168786*r+.0606169*n)/ake),a,o;return t===r&&r===n?a=o=i:(a=lW((.4360747*t+.3850649*r+.1430804*n)/nke),o=lW((.0139322*t+.0971045*r+.7141733*n)/oke)),new Hm(116*i-16,500*(a-i),200*(i-o),e.opacity)}function S5(e,t,r,n){return arguments.length===1?uke(e):new Hm(e,t,r,n==null?1:n)}function Hm(e,t,r,n){this.l=+e,this.a=+t,this.b=+r,this.opacity=+n}function lW(e){return e>Nkt?Math.pow(e,1/3):e/lke+ske}function uW(e){return e>A5?e*e*e:lke*(e-ske)}function cW(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function fW(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Ukt(e){if(e instanceof Yy)return new Yy(e.h,e.c,e.l,e.opacity);if(e instanceof Hm||(e=uke(e)),e.a===0&&e.b===0)return new Yy(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*bD;return new Yy(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function PE(e,t,r,n){return arguments.length===1?Ukt(e):new Yy(e,t,r,n==null?1:n)}function Yy(e,t,r,n){this.h=+e,this.c=+t,this.l=+r,this.opacity=+n}function cke(e){if(isNaN(e.h))return new Hm(e.l,0,0,e.opacity);var t=e.h*xD;return new Hm(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}var wD,nke,ake,oke,ske,A5,lke,Nkt,fke=Ll(()=>{pD();_D();sW();wD=18,nke=.96422,ake=1,oke=.82521,ske=4/29,A5=6/29,lke=3*A5*A5,Nkt=A5*A5*A5;Xy(Hm,S5,G_(Vm,{brighter(e){return new Hm(this.l+wD*(e==null?1:e),this.a,this.b,this.opacity)},darker(e){return new Hm(this.l-wD*(e==null?1:e),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,r=isNaN(this.b)?e:e-this.b/200;return t=nke*uW(t),e=ake*uW(e),r=oke*uW(r),new hd(cW(3.1338561*t-1.6168667*e-.4906146*r),cW(-.9787684*t+1.9161415*e+.033454*r),cW(.0719453*t-.2289914*e+1.4052427*r),this.opacity)}}));Xy(Yy,PE,G_(Vm,{brighter(e){return new Yy(this.h,this.c,this.l+wD*(e==null?1:e),this.opacity)},darker(e){return new Yy(this.h,this.c,this.l-wD*(e==null?1:e),this.opacity)},rgb(){return cke(this).rgb()}}))});function Vkt(e){if(e instanceof C2)return new C2(e.h,e.s,e.l,e.opacity);e instanceof hd||(e=CE(e));var t=e.r/255,r=e.g/255,n=e.b/255,i=(vke*n+hke*t-dke*r)/(vke+hke-dke),a=n-i,o=(IE*(r-i)-dW*a)/TD,s=Math.sqrt(o*o+a*a)/(IE*i*(1-i)),l=s?Math.atan2(o,a)*bD-120:NaN;return new C2(l<0?l+360:l,s,i,e.opacity)}function M5(e,t,r,n){return arguments.length===1?Vkt(e):new C2(e,t,r,n==null?1:n)}function C2(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}var pke,hW,dW,TD,IE,hke,dke,vke,gke=Ll(()=>{pD();_D();sW();pke=-.14861,hW=1.78277,dW=-.29227,TD=-.90649,IE=1.97294,hke=IE*TD,dke=IE*hW,vke=hW*dW-TD*pke;Xy(C2,M5,G_(Vm,{brighter(e){return e=e==null?k2:Math.pow(k2,e),new C2(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?j_:Math.pow(j_,e),new C2(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*xD,t=+this.l,r=isNaN(this.s)?0:this.s*t*(1-t),n=Math.cos(e),i=Math.sin(e);return new hd(255*(t+r*(pke*n+hW*i)),255*(t+r*(dW*n+TD*i)),255*(t+r*(IE*n)),this.opacity)}}))});var L2=Ll(()=>{_D();fke();gke()});function vW(e,t,r,n,i){var a=e*e,o=a*e;return((1-3*e+3*a-o)*t+(4-6*a+3*o)*r+(1+3*e+3*a-3*o)*n+o*i)/6}function AD(e){var t=e.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,t-1):Math.floor(r*t),i=e[n],a=e[n+1],o=n>0?e[n-1]:2*i-a,s=n<t-1?e[n+2]:2*a-i;return vW((r-n/t)*t,o,i,a,s)}}var SD=Ll(()=>{});function MD(e){var t=e.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*t),i=e[(n+t-1)%t],a=e[n%t],o=e[(n+1)%t],s=e[(n+2)%t];return vW((r-n/t)*t,i,a,o,s)}}var pW=Ll(()=>{SD()});var E5,gW=Ll(()=>{E5=e=>()=>e});function mke(e,t){return function(r){return e+r*t}}function Hkt(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function Z_(e,t){var r=t-e;return r?mke(e,r>180||r<-180?r-360*Math.round(r/360):r):E5(isNaN(e)?t:e)}function yke(e){return(e=+e)==1?qf:function(t,r){return r-t?Hkt(t,r,e):E5(isNaN(t)?r:t)}}function qf(e,t){var r=t-e;return r?mke(e,r):E5(isNaN(e)?t:e)}var P2=Ll(()=>{gW()});function _ke(e){return function(t){var r=t.length,n=new Array(r),i=new Array(r),a=new Array(r),o,s;for(o=0;o<r;++o)s=T5(t[o]),n[o]=s.r||0,i[o]=s.g||0,a[o]=s.b||0;return n=e(n),i=e(i),a=e(a),s.opacity=1,function(l){return s.r=n(l),s.g=i(l),s.b=a(l),s+\"\"}}}var RE,xke,bke,mW=Ll(()=>{L2();SD();pW();P2();RE=function e(t){var r=yke(t);function n(i,a){var o=r((i=T5(i)).r,(a=T5(a)).r),s=r(i.g,a.g),l=r(i.b,a.b),u=qf(i.opacity,a.opacity);return function(c){return i.r=o(c),i.g=s(c),i.b=l(c),i.opacity=u(c),i+\"\"}}return n.gamma=e,n}(1);xke=_ke(AD),bke=_ke(MD)});function k5(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),i;return function(a){for(i=0;i<r;++i)n[i]=e[i]*(1-a)+t[i]*a;return n}}function ED(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}var kD=Ll(()=>{});function wke(e,t){return(ED(t)?k5:yW)(e,t)}function yW(e,t){var r=t?t.length:0,n=e?Math.min(r,e.length):0,i=new Array(n),a=new Array(r),o;for(o=0;o<n;++o)i[o]=X_(e[o],t[o]);for(;o<r;++o)a[o]=t[o];return function(s){for(o=0;o<n;++o)a[o]=i[o](s);return a}}var _W=Ll(()=>{DE();kD()});function CD(e,t){var r=new Date;return e=+e,t=+t,function(n){return r.setTime(e*(1-n)+t*n),r}}var xW=Ll(()=>{});function Fp(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}var zE=Ll(()=>{});function LD(e,t){var r={},n={},i;(e===null||typeof e!=\"object\")&&(e={}),(t===null||typeof t!=\"object\")&&(t={});for(i in t)i in e?r[i]=X_(e[i],t[i]):n[i]=t[i];return function(a){for(i in r)n[i]=r[i](a);return n}}var bW=Ll(()=>{DE()});function Gkt(e){return function(){return e}}function jkt(e){return function(t){return e(t)+\"\"}}function PD(e,t){var r=TW.lastIndex=wW.lastIndex=0,n,i,a,o=-1,s=[],l=[];for(e=e+\"\",t=t+\"\";(n=TW.exec(e))&&(i=wW.exec(t));)(a=i.index)>r&&(a=t.slice(r,a),s[o]?s[o]+=a:s[++o]=a),(n=n[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,l.push({i:o,x:Fp(n,i)})),r=wW.lastIndex;return r<t.length&&(a=t.slice(r),s[o]?s[o]+=a:s[++o]=a),s.length<2?l[0]?jkt(l[0].x):Gkt(t):(t=l.length,function(u){for(var c=0,f;c<t;++c)s[(f=l[c]).i]=f.x(u);return s.join(\"\")})}var TW,wW,AW=Ll(()=>{zE();TW=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,wW=new RegExp(TW.source,\"g\")});function X_(e,t){var r=typeof t,n;return t==null||r===\"boolean\"?E5(t):(r===\"number\"?Fp:r===\"string\"?(n=W_(t))?(t=n,RE):PD:t instanceof W_?RE:t instanceof Date?CD:ED(t)?k5:Array.isArray(t)?yW:typeof t.valueOf!=\"function\"&&typeof t.toString!=\"function\"||isNaN(t)?LD:Fp)(e,t)}var DE=Ll(()=>{L2();mW();_W();xW();zE();bW();AW();gW();kD()});function Tke(e){var t=e.length;return function(r){return e[Math.max(0,Math.min(t-1,Math.floor(r*t)))]}}var Ake=Ll(()=>{});function Ske(e,t){var r=Z_(+e,+t);return function(n){var i=r(n);return i-360*Math.floor(i/360)}}var Mke=Ll(()=>{P2()});function Eke(e,t){return e=+e,t=+t,function(r){return Math.round(e*(1-r)+t*r)}}var kke=Ll(()=>{});function SW(e,t,r,n,i,a){var o,s,l;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(l=e*r+t*n)&&(r-=e*l,n-=t*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),e*n<t*r&&(e=-e,t=-t,l=-l,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*Cke,skewX:Math.atan(l)*Cke,scaleX:o,scaleY:s}}var Cke,ID,Lke=Ll(()=>{Cke=180/Math.PI,ID={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1}});function Pke(e){let t=new(typeof DOMMatrix==\"function\"?DOMMatrix:WebKitCSSMatrix)(e+\"\");return t.isIdentity?ID:SW(t.a,t.b,t.c,t.d,t.e,t.f)}function Ike(e){return e==null?ID:(RD||(RD=document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\")),RD.setAttribute(\"transform\",e),(e=RD.transform.baseVal.consolidate())?(e=e.matrix,SW(e.a,e.b,e.c,e.d,e.e,e.f)):ID)}var RD,Rke=Ll(()=>{Lke()});function Dke(e,t,r,n){function i(u){return u.length?u.pop()+\" \":\"\"}function a(u,c,f,h,d,v){if(u!==f||c!==h){var x=d.push(\"translate(\",null,t,null,r);v.push({i:x-4,x:Fp(u,f)},{i:x-2,x:Fp(c,h)})}else(f||h)&&d.push(\"translate(\"+f+t+h+r)}function o(u,c,f,h){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),h.push({i:f.push(i(f)+\"rotate(\",null,n)-2,x:Fp(u,c)})):c&&f.push(i(f)+\"rotate(\"+c+n)}function s(u,c,f,h){u!==c?h.push({i:f.push(i(f)+\"skewX(\",null,n)-2,x:Fp(u,c)}):c&&f.push(i(f)+\"skewX(\"+c+n)}function l(u,c,f,h,d,v){if(u!==f||c!==h){var x=d.push(i(d)+\"scale(\",null,\",\",null,\")\");v.push({i:x-4,x:Fp(u,f)},{i:x-2,x:Fp(c,h)})}else(f!==1||h!==1)&&d.push(i(d)+\"scale(\"+f+\",\"+h+\")\")}return function(u,c){var f=[],h=[];return u=e(u),c=e(c),a(u.translateX,u.translateY,c.translateX,c.translateY,f,h),o(u.rotate,c.rotate,f,h),s(u.skewX,c.skewX,f,h),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,f,h),u=c=null,function(d){for(var v=-1,x=h.length,b;++v<x;)f[(b=h[v]).i]=b.x(d);return f.join(\"\")}}}var zke,Fke,qke=Ll(()=>{zE();Rke();zke=Dke(Pke,\"px, \",\"px)\",\"deg)\"),Fke=Dke(Ike,\", \",\")\",\")\")});function Oke(e){return((e=Math.exp(e))+1/e)/2}function Zkt(e){return((e=Math.exp(e))-1/e)/2}function Xkt(e){return((e=Math.exp(2*e))-1)/(e+1)}var Wkt,Bke,Nke=Ll(()=>{Wkt=1e-12;Bke=function e(t,r,n){function i(a,o){var s=a[0],l=a[1],u=a[2],c=o[0],f=o[1],h=o[2],d=c-s,v=f-l,x=d*d+v*v,b,p;if(x<Wkt)p=Math.log(h/u)/t,b=function(C){return[s+C*d,l+C*v,u*Math.exp(t*C*p)]};else{var E=Math.sqrt(x),k=(h*h-u*u+n*x)/(2*u*r*E),A=(h*h-u*u-n*x)/(2*h*r*E),L=Math.log(Math.sqrt(k*k+1)-k),_=Math.log(Math.sqrt(A*A+1)-A);p=(_-L)/t,b=function(C){var M=C*p,g=Oke(L),P=u/(r*E)*(g*Xkt(t*M+L)-Zkt(L));return[s+P*d,l+P*v,u*g/Oke(t*M+L)]}}return b.duration=p*1e3*t/Math.SQRT2,b}return i.rho=function(a){var o=Math.max(.001,+a),s=o*o,l=s*s;return e(o,s,l)},i}(Math.SQRT2,2,4)});function Uke(e){return function(t,r){var n=e((t=LE(t)).h,(r=LE(r)).h),i=qf(t.s,r.s),a=qf(t.l,r.l),o=qf(t.opacity,r.opacity);return function(s){return t.h=n(s),t.s=i(s),t.l=a(s),t.opacity=o(s),t+\"\"}}}var Vke,Hke,Gke=Ll(()=>{L2();P2();Vke=Uke(Z_),Hke=Uke(qf)});function MW(e,t){var r=qf((e=S5(e)).l,(t=S5(t)).l),n=qf(e.a,t.a),i=qf(e.b,t.b),a=qf(e.opacity,t.opacity);return function(o){return e.l=r(o),e.a=n(o),e.b=i(o),e.opacity=a(o),e+\"\"}}var jke=Ll(()=>{L2();P2()});function Wke(e){return function(t,r){var n=e((t=PE(t)).h,(r=PE(r)).h),i=qf(t.c,r.c),a=qf(t.l,r.l),o=qf(t.opacity,r.opacity);return function(s){return t.h=n(s),t.c=i(s),t.l=a(s),t.opacity=o(s),t+\"\"}}}var Zke,Xke,Yke=Ll(()=>{L2();P2();Zke=Wke(Z_),Xke=Wke(qf)});function Kke(e){return function t(r){r=+r;function n(i,a){var o=e((i=M5(i)).h,(a=M5(a)).h),s=qf(i.s,a.s),l=qf(i.l,a.l),u=qf(i.opacity,a.opacity);return function(c){return i.h=o(c),i.s=s(c),i.l=l(Math.pow(c,r)),i.opacity=u(c),i+\"\"}}return n.gamma=t,n}(1)}var Jke,$ke,Qke=Ll(()=>{L2();P2();Jke=Kke(Z_),$ke=Kke(qf)});function EW(e,t){t===void 0&&(t=e,e=X_);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r<n;)a[r]=e(i,i=t[++r]);return function(o){var s=Math.max(0,Math.min(n-1,Math.floor(o*=n)));return a[s](o-s)}}var eCe=Ll(()=>{DE()});function tCe(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e(n/(t-1));return r}var rCe=Ll(()=>{});var I2={};QQ(I2,{interpolate:()=>X_,interpolateArray:()=>wke,interpolateBasis:()=>AD,interpolateBasisClosed:()=>MD,interpolateCubehelix:()=>Jke,interpolateCubehelixLong:()=>$ke,interpolateDate:()=>CD,interpolateDiscrete:()=>Tke,interpolateHcl:()=>Zke,interpolateHclLong:()=>Xke,interpolateHsl:()=>Vke,interpolateHslLong:()=>Hke,interpolateHue:()=>Ske,interpolateLab:()=>MW,interpolateNumber:()=>Fp,interpolateNumberArray:()=>k5,interpolateObject:()=>LD,interpolateRgb:()=>RE,interpolateRgbBasis:()=>xke,interpolateRgbBasisClosed:()=>bke,interpolateRound:()=>Eke,interpolateString:()=>PD,interpolateTransformCss:()=>zke,interpolateTransformSvg:()=>Fke,interpolateZoom:()=>Bke,piecewise:()=>EW,quantize:()=>tCe});var R2=Ll(()=>{DE();_W();SD();pW();xW();Ake();Mke();zE();kD();bW();kke();AW();qke();Nke();mW();Gke();jke();Yke();Qke();eCe();rCe()});var DD=ye((cdr,iCe)=>{\"use strict\";var Ykt=ao(),Kkt=va();iCe.exports=function(t,r,n,i,a){var o=r.data.data,s=o.i,l=a||o.color;if(s>=0){r.i=o.i;var u=n.marker;u.pattern?(!u.colors||!u.pattern.shape)&&(u.color=l,r.color=l):(u.color=l,r.color=l),Ykt.pointStyle(t,n,i,r)}else Kkt.fill(t,l)}});var kW=ye((fdr,lCe)=>{\"use strict\";var nCe=xa(),aCe=va(),oCe=Mr(),Jkt=_v().resizeText,$kt=DD();function Qkt(e){var t=e._fullLayout._sunburstlayer.selectAll(\".trace\");Jkt(e,t,\"sunburst\"),t.each(function(r){var n=nCe.select(this),i=r[0],a=i.trace;n.style(\"opacity\",a.opacity),n.selectAll(\"path.surface\").each(function(o){nCe.select(this).call(sCe,o,a,e)})})}function sCe(e,t,r,n){var i=t.data.data,a=!t.children,o=i.i,s=oCe.castOption(r,o,\"marker.line.color\")||aCe.defaultLine,l=oCe.castOption(r,o,\"marker.line.width\")||0;e.call($kt,t,r,n).style(\"stroke-width\",l).call(aCe.stroke,s).style(\"opacity\",a?r.leaf.opacity:null)}lCe.exports={style:Qkt,styleOne:sCe}});var Ky=ye(bs=>{\"use strict\";var D2=Mr(),eCt=va(),tCt=Tg(),uCe=u_();bs.findEntryWithLevel=function(e,t){var r;return t&&e.eachAfter(function(n){if(bs.getPtId(n)===t)return r=n.copy()}),r||e};bs.findEntryWithChild=function(e,t){var r;return e.eachAfter(function(n){for(var i=n.children||[],a=0;a<i.length;a++){var o=i[a];if(bs.getPtId(o)===t)return r=n.copy()}}),r||e};bs.isEntry=function(e){return!e.parent};bs.isLeaf=function(e){return!e.children};bs.getPtId=function(e){return e.data.data.id};bs.getPtLabel=function(e){return e.data.data.label};bs.getValue=function(e){return e.value};bs.isHierarchyRoot=function(e){return cCe(e)===\"\"};bs.setSliceCursor=function(e,t,r){var n=r.isTransitioning;if(!n){var i=e.datum();n=r.hideOnRoot&&bs.isHierarchyRoot(i)||r.hideOnLeaves&&bs.isLeaf(i)}tCt(e,n?null:\"pointer\")};function rCt(e,t,r){return{color:bs.getOutsideTextFontKey(\"color\",e,t,r),family:bs.getOutsideTextFontKey(\"family\",e,t,r),size:bs.getOutsideTextFontKey(\"size\",e,t,r),weight:bs.getOutsideTextFontKey(\"weight\",e,t,r),style:bs.getOutsideTextFontKey(\"style\",e,t,r),variant:bs.getOutsideTextFontKey(\"variant\",e,t,r),textcase:bs.getOutsideTextFontKey(\"textcase\",e,t,r),lineposition:bs.getOutsideTextFontKey(\"lineposition\",e,t,r),shadow:bs.getOutsideTextFontKey(\"shadow\",e,t,r)}}function iCt(e,t,r,n){var i=(n||{}).onPathbar,a=t.data.data,o=a.i,s=D2.castOption(e,o,(i?\"pathbar.textfont\":\"insidetextfont\")+\".color\");return!s&&e._input.textfont&&(s=D2.castOption(e._input,o,\"textfont.color\")),{color:s||eCt.contrast(a.color),family:bs.getInsideTextFontKey(\"family\",e,t,r,n),size:bs.getInsideTextFontKey(\"size\",e,t,r,n),weight:bs.getInsideTextFontKey(\"weight\",e,t,r,n),style:bs.getInsideTextFontKey(\"style\",e,t,r,n),variant:bs.getInsideTextFontKey(\"variant\",e,t,r,n),textcase:bs.getInsideTextFontKey(\"textcase\",e,t,r,n),lineposition:bs.getInsideTextFontKey(\"lineposition\",e,t,r,n),shadow:bs.getInsideTextFontKey(\"shadow\",e,t,r,n)}}bs.getInsideTextFontKey=function(e,t,r,n,i){var a=(i||{}).onPathbar,o=a?\"pathbar.textfont\":\"insidetextfont\",s=r.data.data.i;return D2.castOption(t,s,o+\".\"+e)||D2.castOption(t,s,\"textfont.\"+e)||n.size};bs.getOutsideTextFontKey=function(e,t,r,n){var i=r.data.data.i;return D2.castOption(t,i,\"outsidetextfont.\"+e)||D2.castOption(t,i,\"textfont.\"+e)||n.size};bs.isOutsideText=function(e,t){return!e._hasColorscale&&bs.isHierarchyRoot(t)};bs.determineTextFont=function(e,t,r,n){return bs.isOutsideText(e,t)?rCt(e,t,r):iCt(e,t,r,n)};bs.hasTransition=function(e){return!!(e&&e.duration>0)};bs.getMaxDepth=function(e){return e.maxdepth>=0?e.maxdepth:1/0};bs.isHeader=function(e,t){return!(bs.isLeaf(e)||e.depth===t._maxDepth-1)};function cCe(e){return e.data.data.pid}bs.getParent=function(e,t){return bs.findEntryWithLevel(e,cCe(t))};bs.listPath=function(e,t){var r=e.parent;if(!r)return[];var n=t?[r.data[t]]:[r];return bs.listPath(r,t).concat(n)};bs.getPath=function(e){return bs.listPath(e,\"label\").join(\"/\")+\"/\"};bs.formatValue=uCe.formatPieValue;bs.formatPercent=function(e,t){var r=D2.formatPercent(e,0);return r===\"0%\"&&(r=uCe.formatPiePercent(e,t)),r}});var OE=ye((ddr,dCe)=>{\"use strict\";var C5=xa(),fCe=ba(),nCt=rp().appendArrayPointValue,FE=Nc(),hCe=Mr(),aCt=g3(),Wh=Ky(),oCt=u_(),sCt=oCt.formatPieValue;dCe.exports=function(t,r,n,i,a){var o=i[0],s=o.trace,l=o.hierarchy,u=s.type===\"sunburst\",c=s.type===\"treemap\"||s.type===\"icicle\";\"_hasHoverLabel\"in s||(s._hasHoverLabel=!1),\"_hasHoverEvent\"in s||(s._hasHoverEvent=!1);var f=function(v){var x=n._fullLayout;if(!(n._dragging||x.hovermode===!1)){var b=n._fullData[s.index],p=v.data.data,E=p.i,k=Wh.isHierarchyRoot(v),A=Wh.getParent(l,v),L=Wh.getValue(v),_=function(Me){return hCe.castOption(b,E,Me)},C=_(\"hovertemplate\"),M=FE.castHoverinfo(b,x,E),g=x.separators,P;if(C||M&&M!==\"none\"&&M!==\"skip\"){var T,F;u&&(T=o.cx+v.pxmid[0]*(1-v.rInscribed),F=o.cy+v.pxmid[1]*(1-v.rInscribed)),c&&(T=v._hoverX,F=v._hoverY);var q={},V=[],H=[],X=function(Me){return V.indexOf(Me)!==-1};M&&(V=M===\"all\"?b._module.attributes.hoverinfo.flags:M.split(\"+\")),q.label=p.label,X(\"label\")&&q.label&&H.push(q.label),p.hasOwnProperty(\"v\")&&(q.value=p.v,q.valueLabel=sCt(q.value,g),X(\"value\")&&H.push(q.valueLabel)),q.currentPath=v.currentPath=Wh.getPath(v.data),X(\"current path\")&&!k&&H.push(q.currentPath);var G,N=[],W=function(){N.indexOf(G)===-1&&(H.push(G),N.push(G))};q.percentParent=v.percentParent=L/Wh.getValue(A),q.parent=v.parentString=Wh.getPtLabel(A),X(\"percent parent\")&&(G=Wh.formatPercent(q.percentParent,g)+\" of \"+q.parent,W()),q.percentEntry=v.percentEntry=L/Wh.getValue(r),q.entry=v.entry=Wh.getPtLabel(r),X(\"percent entry\")&&!k&&!v.onPathbar&&(G=Wh.formatPercent(q.percentEntry,g)+\" of \"+q.entry,W()),q.percentRoot=v.percentRoot=L/Wh.getValue(l),q.root=v.root=Wh.getPtLabel(l),X(\"percent root\")&&!k&&(G=Wh.formatPercent(q.percentRoot,g)+\" of \"+q.root,W()),q.text=_(\"hovertext\")||_(\"text\"),X(\"text\")&&(G=q.text,hCe.isValidTextValue(G)&&H.push(G)),P=[qE(v,b,a.eventDataKeys)];var re={trace:b,y:F,_x0:v._x0,_x1:v._x1,_y0:v._y0,_y1:v._y1,text:H.join(\"<br>\"),name:C||X(\"name\")?b.name:void 0,color:_(\"hoverlabel.bgcolor\")||p.color,borderColor:_(\"hoverlabel.bordercolor\"),fontFamily:_(\"hoverlabel.font.family\"),fontSize:_(\"hoverlabel.font.size\"),fontColor:_(\"hoverlabel.font.color\"),fontWeight:_(\"hoverlabel.font.weight\"),fontStyle:_(\"hoverlabel.font.style\"),fontVariant:_(\"hoverlabel.font.variant\"),nameLength:_(\"hoverlabel.namelength\"),textAlign:_(\"hoverlabel.align\"),hovertemplate:C,hovertemplateLabels:q,eventData:P};u&&(re.x0=T-v.rInscribed*v.rpx1,re.x1=T+v.rInscribed*v.rpx1,re.idealAlign=v.pxmid[0]<0?\"left\":\"right\"),c&&(re.x=T,re.idealAlign=T<0?\"left\":\"right\");var ae=[];FE.loneHover(re,{container:x._hoverlayer.node(),outerContainer:x._paper.node(),gd:n,inOut_bbox:ae}),P[0].bbox=ae[0],s._hasHoverLabel=!0}if(c){var _e=t.select(\"path.surface\");a.styleOne(_e,v,b,n,{hovered:!0})}s._hasHoverEvent=!0,n.emit(\"plotly_hover\",{points:P||[qE(v,b,a.eventDataKeys)],event:C5.event})}},h=function(v){var x=n._fullLayout,b=n._fullData[s.index],p=C5.select(this).datum();if(s._hasHoverEvent&&(v.originalEvent=C5.event,n.emit(\"plotly_unhover\",{points:[qE(p,b,a.eventDataKeys)],event:C5.event}),s._hasHoverEvent=!1),s._hasHoverLabel&&(FE.loneUnhover(x._hoverlayer.node()),s._hasHoverLabel=!1),c){var E=t.select(\"path.surface\");a.styleOne(E,p,b,n,{hovered:!1})}},d=function(v){var x=n._fullLayout,b=n._fullData[s.index],p=u&&(Wh.isHierarchyRoot(v)||Wh.isLeaf(v)),E=Wh.getPtId(v),k=Wh.isEntry(v)?Wh.findEntryWithChild(l,E):Wh.findEntryWithLevel(l,E),A=Wh.getPtId(k),L={points:[qE(v,b,a.eventDataKeys)],event:C5.event};p||(L.nextLevel=A);var _=aCt.triggerHandler(n,\"plotly_\"+s.type+\"click\",L);if(_!==!1&&x.hovermode&&(n._hoverdata=[qE(v,b,a.eventDataKeys)],FE.click(n,C5.event)),!p&&_!==!1&&!n._dragging&&!n._transitioning){fCe.call(\"_storeDirectGUIEdit\",b,x._tracePreGUI[b.uid],{level:b.level});var C={data:[{level:A}],traces:[s.index]},M={frame:{redraw:!1,duration:a.transitionTime},transition:{duration:a.transitionTime,easing:a.transitionEasing},mode:\"immediate\",fromcurrent:!0};FE.loneUnhover(x._hoverlayer.node()),fCe.call(\"animate\",n,C,M)}};t.on(\"mouseover\",f),t.on(\"mouseout\",h),t.on(\"click\",d)};function qE(e,t,r){for(var n=e.data.data,i={curveNumber:t.index,pointNumber:n.i,data:t._input,fullData:t},a=0;a<r.length;a++){var o=r[a];o in e&&(i[o]=e[o])}return\"parentString\"in e&&!Wh.isHierarchyRoot(e)&&(i.parent=e.parentString),nCt(i,t,n.i),i}});var FD=ye(zD=>{\"use strict\";var BE=xa(),lCt=SE(),Xg=(R2(),B1(I2)).interpolate,vCe=ao(),bv=Mr(),uCt=Pl(),yCe=_v(),pCe=yCe.recordMinTextSize,cCt=yCe.clearMinTextSize,_Ce=dD(),fCt=u_().getRotationAngle,hCt=_Ce.computeTransform,dCt=_Ce.transformInsideText,vCt=kW().styleOne,pCt=N0().resizeText,gCt=OE(),CW=nW(),sl=Ky();zD.plot=function(e,t,r,n){var i=e._fullLayout,a=i._sunburstlayer,o,s,l=!r,u=!i.uniformtext.mode&&sl.hasTransition(r);if(cCt(\"sunburst\",i),o=a.selectAll(\"g.trace.sunburst\").data(t,function(f){return f[0].trace.uid}),o.enter().append(\"g\").classed(\"trace\",!0).classed(\"sunburst\",!0).attr(\"stroke-linejoin\",\"round\"),o.order(),u){n&&(s=n());var c=BE.transition().duration(r.duration).ease(r.easing).each(\"end\",function(){s&&s()}).each(\"interrupt\",function(){s&&s()});c.each(function(){a.selectAll(\"g.trace\").each(function(f){gCe(e,f,this,r)})})}else o.each(function(f){gCe(e,f,this,r)}),i.uniformtext.mode&&pCt(e,i._sunburstlayer.selectAll(\".trace\"),\"sunburst\");l&&o.exit().remove()};function gCe(e,t,r,n){var i=e._context.staticPlot,a=e._fullLayout,o=!a.uniformtext.mode&&sl.hasTransition(n),s=BE.select(r),l=s.selectAll(\"g.slice\"),u=t[0],c=u.trace,f=u.hierarchy,h=sl.findEntryWithLevel(f,c.level),d=sl.getMaxDepth(c),v=a._size,x=c.domain,b=v.w*(x.x[1]-x.x[0]),p=v.h*(x.y[1]-x.y[0]),E=.5*Math.min(b,p),k=u.cx=v.l+v.w*(x.x[1]+x.x[0])/2,A=u.cy=v.t+v.h*(1-x.y[0])-p/2;if(!h)return l.remove();var L=null,_={};o&&l.each(function(ge){_[sl.getPtId(ge)]={rpx0:ge.rpx0,rpx1:ge.rpx1,x0:ge.x0,x1:ge.x1,transform:ge.transform},!L&&sl.isEntry(ge)&&(L=ge)});var C=mCt(h).descendants(),M=h.height+1,g=0,P=d;u.hasMultipleRoots&&sl.isHierarchyRoot(h)&&(C=C.slice(1),M-=1,g=1,P+=1),C=C.filter(function(ge){return ge.y1<=P});var T=fCt(c.rotation);T&&C.forEach(function(ge){ge.x0+=T,ge.x1+=T});var F=Math.min(M,d),q=function(ge){return(ge-g)/F*E},V=function(ge,ie){return[ge*Math.cos(ie),-ge*Math.sin(ie)]},H=function(ge){return bv.pathAnnulus(ge.rpx0,ge.rpx1,ge.x0,ge.x1,k,A)},X=function(ge){return k+mCe(ge)[0]*(ge.transform.rCenter||0)+(ge.transform.x||0)},G=function(ge){return A+mCe(ge)[1]*(ge.transform.rCenter||0)+(ge.transform.y||0)};l=l.data(C,sl.getPtId),l.enter().append(\"g\").classed(\"slice\",!0),o?l.exit().transition().each(function(){var ge=BE.select(this),ie=ge.select(\"path.surface\");ie.transition().attrTween(\"d\",function(Ee){var Ae=ae(Ee);return function(ze){return H(Ae(ze))}});var Te=ge.select(\"g.slicetext\");Te.attr(\"opacity\",0)}).remove():l.exit().remove(),l.order();var N=null;if(o&&L){var W=sl.getPtId(L);l.each(function(ge){N===null&&sl.getPtId(ge)===W&&(N=ge.x1)})}var re=l;o&&(re=re.transition().each(\"end\",function(){var ge=BE.select(this);sl.setSliceCursor(ge,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:!1})})),re.each(function(ge){var ie=BE.select(this),Te=bv.ensureSingle(ie,\"path\",\"surface\",function(Re){Re.style(\"pointer-events\",i?\"none\":\"all\")});ge.rpx0=q(ge.y0),ge.rpx1=q(ge.y1),ge.xmid=(ge.x0+ge.x1)/2,ge.pxmid=V(ge.rpx1,ge.xmid),ge.midangle=-(ge.xmid-Math.PI/2),ge.startangle=-(ge.x0-Math.PI/2),ge.stopangle=-(ge.x1-Math.PI/2),ge.halfangle=.5*Math.min(bv.angleDelta(ge.x0,ge.x1)||Math.PI,Math.PI),ge.ring=1-ge.rpx0/ge.rpx1,ge.rInscribed=yCt(ge,c),o?Te.transition().attrTween(\"d\",function(Re){var ce=_e(Re);return function(Ge){return H(ce(Ge))}}):Te.attr(\"d\",H),ie.call(gCt,h,e,t,{eventDataKeys:CW.eventDataKeys,transitionTime:CW.CLICK_TRANSITION_TIME,transitionEasing:CW.CLICK_TRANSITION_EASING}).call(sl.setSliceCursor,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:e._transitioning}),Te.call(vCt,ge,c,e);var Ee=bv.ensureSingle(ie,\"g\",\"slicetext\"),Ae=bv.ensureSingle(Ee,\"text\",\"\",function(Re){Re.attr(\"data-notex\",1)}),ze=bv.ensureUniformFontSize(e,sl.determineTextFont(c,ge,a.font));Ae.text(zD.formatSliceLabel(ge,h,c,t,a)).classed(\"slicetext\",!0).attr(\"text-anchor\",\"middle\").call(vCe.font,ze).call(uCt.convertToTspans,e);var Ce=vCe.bBox(Ae.node());ge.transform=dCt(Ce,ge,u),ge.transform.targetX=X(ge),ge.transform.targetY=G(ge);var me=function(Re,ce){var Ge=Re.transform;return hCt(Ge,ce),Ge.fontSize=ze.size,pCe(c.type,Ge,a),bv.getTextTransform(Ge)};o?Ae.transition().attrTween(\"transform\",function(Re){var ce=Me(Re);return function(Ge){return me(ce(Ge),Ce)}}):Ae.attr(\"transform\",me(ge,Ce))});function ae(ge){var ie=sl.getPtId(ge),Te=_[ie],Ee=_[sl.getPtId(h)],Ae;if(Ee){var ze=(ge.x1>Ee.x1?2*Math.PI:0)+T;Ae=ge.rpx1<Ee.rpx1?{x0:ge.x0,x1:ge.x1,rpx0:0,rpx1:0}:{x0:ze,x1:ze,rpx0:ge.rpx0,rpx1:ge.rpx1}}else{var Ce,me=sl.getPtId(ge.parent);l.each(function(ct){if(sl.getPtId(ct)===me)return Ce=ct});var Re=Ce.children,ce;Re.forEach(function(ct,qt){if(sl.getPtId(ct)===ie)return ce=qt});var Ge=Re.length,nt=Xg(Ce.x0,Ce.x1);Ae={rpx0:E,rpx1:E,x0:nt(ce/Ge),x1:nt((ce+1)/Ge)}}return Xg(Te,Ae)}function _e(ge){var ie=_[sl.getPtId(ge)],Te,Ee={x0:ge.x0,x1:ge.x1,rpx0:ge.rpx0,rpx1:ge.rpx1};if(ie)Te=ie;else if(L)if(ge.parent)if(N){var Ae=(ge.x1>N?2*Math.PI:0)+T;Te={x0:Ae,x1:Ae}}else Te={rpx0:E,rpx1:E},bv.extendFlat(Te,ke(ge));else Te={rpx0:0,rpx1:0};else Te={x0:T,x1:T};return Xg(Te,Ee)}function Me(ge){var ie=_[sl.getPtId(ge)],Te,Ee=ge.transform;if(ie)Te=ie;else if(Te={rpx1:ge.rpx1,transform:{textPosAngle:Ee.textPosAngle,scale:0,rotate:Ee.rotate,rCenter:Ee.rCenter,x:Ee.x,y:Ee.y}},L)if(ge.parent)if(N){var Ae=ge.x1>N?2*Math.PI:0;Te.x0=Te.x1=Ae}else bv.extendFlat(Te,ke(ge));else Te.x0=Te.x1=T;else Te.x0=Te.x1=T;var ze=Xg(Te.transform.textPosAngle,ge.transform.textPosAngle),Ce=Xg(Te.rpx1,ge.rpx1),me=Xg(Te.x0,ge.x0),Re=Xg(Te.x1,ge.x1),ce=Xg(Te.transform.scale,Ee.scale),Ge=Xg(Te.transform.rotate,Ee.rotate),nt=Ee.rCenter===0?3:Te.transform.rCenter===0?1/3:1,ct=Xg(Te.transform.rCenter,Ee.rCenter),qt=function(rt){return ct(Math.pow(rt,nt))};return function(rt){var ot=Ce(rt),Rt=me(rt),kt=Re(rt),Ct=qt(rt),Yt=V(ot,(Rt+kt)/2),xr=ze(rt),er={pxmid:Yt,rpx1:ot,transform:{textPosAngle:xr,rCenter:Ct,x:Ee.x,y:Ee.y}};return pCe(c.type,Ee,a),{transform:{targetX:X(er),targetY:G(er),scale:ce(rt),rotate:Ge(rt),rCenter:Ct}}}}function ke(ge){var ie=ge.parent,Te=_[sl.getPtId(ie)],Ee={};if(Te){var Ae=ie.children,ze=Ae.indexOf(ge),Ce=Ae.length,me=Xg(Te.x0,Te.x1);Ee.x0=me(ze/Ce),Ee.x1=me(ze/Ce)}else Ee.x0=Ee.x1=0;return Ee}}function mCt(e){return lCt.partition().size([2*Math.PI,e.height+1])(e)}zD.formatSliceLabel=function(e,t,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!a&&(!o||o===\"none\"))return\"\";var s=i.separators,l=n[0],u=e.data.data,c=l.hierarchy,f=sl.isHierarchyRoot(e),h=sl.getParent(c,e),d=sl.getValue(e);if(!a){var v=o.split(\"+\"),x=function(g){return v.indexOf(g)!==-1},b=[],p;if(x(\"label\")&&u.label&&b.push(u.label),u.hasOwnProperty(\"v\")&&x(\"value\")&&b.push(sl.formatValue(u.v,s)),!f){x(\"current path\")&&b.push(sl.getPath(e.data));var E=0;x(\"percent parent\")&&E++,x(\"percent entry\")&&E++,x(\"percent root\")&&E++;var k=E>1;if(E){var A,L=function(g){p=sl.formatPercent(A,s),k&&(p+=\" of \"+g),b.push(p)};x(\"percent parent\")&&!f&&(A=d/sl.getValue(h),L(\"parent\")),x(\"percent entry\")&&(A=d/sl.getValue(t),L(\"entry\")),x(\"percent root\")&&(A=d/sl.getValue(c),L(\"root\"))}}return x(\"text\")&&(p=bv.castOption(r,u.i,\"text\"),bv.isValidTextValue(p)&&b.push(p)),b.join(\"<br>\")}var _=bv.castOption(r,u.i,\"texttemplate\");if(!_)return\"\";var C={};u.label&&(C.label=u.label),u.hasOwnProperty(\"v\")&&(C.value=u.v,C.valueLabel=sl.formatValue(u.v,s)),C.currentPath=sl.getPath(e.data),f||(C.percentParent=d/sl.getValue(h),C.percentParentLabel=sl.formatPercent(C.percentParent,s),C.parent=sl.getPtLabel(h)),C.percentEntry=d/sl.getValue(t),C.percentEntryLabel=sl.formatPercent(C.percentEntry,s),C.entry=sl.getPtLabel(t),C.percentRoot=d/sl.getValue(c),C.percentRootLabel=sl.formatPercent(C.percentRoot,s),C.root=sl.getPtLabel(c),u.hasOwnProperty(\"color\")&&(C.color=u.color);var M=bv.castOption(r,u.i,\"text\");return(bv.isValidTextValue(M)||M===\"\")&&(C.text=M),C.customdata=bv.castOption(r,u.i,\"customdata\"),bv.texttemplateString(_,C,i._d3locale,C,r._meta||{})};function yCt(e){return e.rpx0===0&&bv.isFullCircle([e.x0,e.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2))}function mCe(e){return _Ct(e.rpx1,e.transform.textPosAngle)}function _Ct(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}});var bCe=ye((pdr,xCe)=>{\"use strict\";xCe.exports={moduleType:\"trace\",name:\"sunburst\",basePlotModule:zEe(),categories:[],animatable:!0,attributes:AE(),layoutAttributes:aW(),supplyDefaults:HEe(),supplyLayoutDefaults:jEe(),calc:EE().calc,crossTraceCalc:EE().crossTraceCalc,plot:FD().plot,style:kW().style,colorbar:Kd(),meta:{}}});var TCe=ye((gdr,wCe)=>{\"use strict\";wCe.exports=bCe()});var SCe=ye(L5=>{\"use strict\";var ACe=Xu();L5.name=\"treemap\";L5.plot=function(e,t,r,n){ACe.plotBasePlot(L5.name,e,t,r,n)};L5.clean=function(e,t,r,n){ACe.cleanBasePlot(L5.name,e,t,r,n)}});var z2=ye((ydr,MCe)=>{\"use strict\";MCe.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"poly\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"],gapWithPathbar:1}});var qD=ye((_dr,kCe)=>{\"use strict\";var xCt=Wo().hovertemplateAttrs,bCt=Wo().texttemplateAttrs,wCt=Jl(),TCt=Ju().attributes,F2=A2(),Q0=AE(),ECe=z2(),LW=no().extendFlat,ACt=Ed().pattern;kCe.exports={labels:Q0.labels,parents:Q0.parents,values:Q0.values,branchvalues:Q0.branchvalues,count:Q0.count,level:Q0.level,maxdepth:Q0.maxdepth,tiling:{packing:{valType:\"enumerated\",values:[\"squarify\",\"binary\",\"dice\",\"slice\",\"slice-dice\",\"dice-slice\"],dflt:\"squarify\",editType:\"plot\"},squarifyratio:{valType:\"number\",min:1,dflt:1,editType:\"plot\"},flip:{valType:\"flaglist\",flags:[\"x\",\"y\"],dflt:\"\",editType:\"plot\"},pad:{valType:\"number\",min:0,dflt:3,editType:\"plot\"},editType:\"calc\"},marker:LW({pad:{t:{valType:\"number\",min:0,editType:\"plot\"},l:{valType:\"number\",min:0,editType:\"plot\"},r:{valType:\"number\",min:0,editType:\"plot\"},b:{valType:\"number\",min:0,editType:\"plot\"},editType:\"calc\"},colors:Q0.marker.colors,pattern:ACt,depthfade:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],editType:\"style\"},line:Q0.marker.line,cornerradius:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},wCt(\"marker\",{colorAttr:\"colors\",anim:!1})),pathbar:{visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},edgeshape:{valType:\"enumerated\",values:[\">\",\"<\",\"|\",\"/\",\"\\\\\"],dflt:\">\",editType:\"plot\"},thickness:{valType:\"number\",min:12,editType:\"plot\"},textfont:LW({},F2.textfont,{}),editType:\"calc\"},text:F2.text,textinfo:Q0.textinfo,texttemplate:bCt({editType:\"plot\"},{keys:ECe.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:F2.hovertext,hoverinfo:Q0.hoverinfo,hovertemplate:xCt({},{keys:ECe.eventDataKeys}),textfont:F2.textfont,insidetextfont:F2.insidetextfont,outsidetextfont:LW({},F2.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:F2.sort,root:Q0.root,domain:TCt({name:\"treemap\",trace:!0,editType:\"calc\"})}});var PW=ye((xdr,CCe)=>{\"use strict\";CCe.exports={treemapcolorway:{valType:\"colorlist\",editType:\"calc\"},extendtreemapcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var RCe=ye((bdr,ICe)=>{\"use strict\";var LCe=Mr(),SCt=qD(),MCt=va(),ECt=Ju().defaults,kCt=r0().handleText,CCt=Qb().TEXTPAD,LCt=S2().handleMarkerDefaults,PCe=Mu(),PCt=PCe.hasColorscale,ICt=PCe.handleDefaults;ICe.exports=function(t,r,n,i){function a(b,p){return LCe.coerce(t,r,SCt,b,p)}var o=a(\"labels\"),s=a(\"parents\");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a(\"values\");l&&l.length?a(\"branchvalues\"):a(\"count\"),a(\"level\"),a(\"maxdepth\");var u=a(\"tiling.packing\");u===\"squarify\"&&a(\"tiling.squarifyratio\"),a(\"tiling.flip\"),a(\"tiling.pad\");var c=a(\"text\");a(\"texttemplate\"),r.texttemplate||a(\"textinfo\",LCe.isArrayOrTypedArray(c)?\"text+label\":\"label\"),a(\"hovertext\"),a(\"hovertemplate\");var f=a(\"pathbar.visible\"),h=\"auto\";kCt(t,r,i,a,h,{hasPathbar:f,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a(\"textposition\");var d=r.textposition.indexOf(\"bottom\")!==-1;LCt(t,r,i,a);var v=r._hasColorscale=PCt(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;v?ICt(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}):a(\"marker.depthfade\",!(r.marker.colors||[]).length);var x=r.textfont.size*2;a(\"marker.pad.t\",d?x/4:x),a(\"marker.pad.l\",x/4),a(\"marker.pad.r\",x/4),a(\"marker.pad.b\",d?x:x/4),a(\"marker.cornerradius\"),r._hovered={marker:{line:{width:2,color:MCt.contrast(i.paper_bgcolor)}}},f&&(a(\"pathbar.thickness\",r.pathbar.textfont.size+2*CCt),a(\"pathbar.side\"),a(\"pathbar.edgeshape\")),a(\"sort\"),a(\"root.color\"),ECt(r,i,a),r._length=null}});var zCe=ye((wdr,DCe)=>{\"use strict\";var RCt=Mr(),DCt=PW();DCe.exports=function(t,r){function n(i,a){return RCt.coerce(t,r,DCt,i,a)}n(\"treemapcolorway\",r.colorway),n(\"extendtreemapcolors\")}});var RW=ye(IW=>{\"use strict\";var FCe=EE();IW.calc=function(e,t){return FCe.calc(e,t)};IW.crossTraceCalc=function(e){return FCe._runCrossTraceCalc(\"treemap\",e)}});var DW=ye((Adr,qCe)=>{\"use strict\";qCe.exports=function e(t,r,n){var i;n.swapXY&&(i=t.x0,t.x0=t.y0,t.y0=i,i=t.x1,t.x1=t.y1,t.y1=i),n.flipX&&(i=t.x0,t.x0=r[0]-t.x1,t.x1=r[0]-i),n.flipY&&(i=t.y0,t.y0=r[1]-t.y1,t.y1=r[1]-i);var a=t.children;if(a)for(var o=0;o<a.length;o++)e(a[o],r,n)}});var zW=ye((Sdr,OCe)=>{\"use strict\";var P5=SE(),zCt=DW();OCe.exports=function(t,r,n){var i=n.flipX,a=n.flipY,o=n.packing===\"dice-slice\",s=n.pad[a?\"bottom\":\"top\"],l=n.pad[i?\"right\":\"left\"],u=n.pad[i?\"left\":\"right\"],c=n.pad[a?\"top\":\"bottom\"],f;o&&(f=l,l=s,s=f,f=u,u=c,c=f);var h=P5.treemap().tile(FCt(n.packing,n.squarifyratio)).paddingInner(n.pad.inner).paddingLeft(l).paddingRight(u).paddingTop(s).paddingBottom(c).size(o?[r[1],r[0]]:r)(t);return(o||i||a)&&zCt(h,r,{swapXY:o,flipX:i,flipY:a}),h};function FCt(e,t){switch(e){case\"squarify\":return P5.treemapSquarify.ratio(t);case\"binary\":return P5.treemapBinary;case\"dice\":return P5.treemapDice;case\"slice\":return P5.treemapSlice;default:return P5.treemapSliceDice}}});var OD=ye((Mdr,VCe)=>{\"use strict\";var BCe=xa(),I5=va(),NCe=Mr(),FW=Ky(),qCt=_v().resizeText,OCt=DD();function BCt(e){var t=e._fullLayout._treemaplayer.selectAll(\".trace\");qCt(e,t,\"treemap\"),t.each(function(r){var n=BCe.select(this),i=r[0],a=i.trace;n.style(\"opacity\",a.opacity),n.selectAll(\"path.surface\").each(function(o){BCe.select(this).call(UCe,o,a,e,{hovered:!1})})})}function UCe(e,t,r,n,i){var a=(i||{}).hovered,o=t.data.data,s=o.i,l,u,c=o.color,f=FW.isHierarchyRoot(t),h=1;if(a)l=r._hovered.marker.line.color,u=r._hovered.marker.line.width;else if(f&&c===r.root.color)h=100,l=\"rgba(0,0,0,0)\",u=0;else if(l=NCe.castOption(r,s,\"marker.line.color\")||I5.defaultLine,u=NCe.castOption(r,s,\"marker.line.width\")||0,!r._hasColorscale&&!t.onPathbar){var d=r.marker.depthfade;if(d){var v=I5.combine(I5.addOpacity(r._backgroundColor,.75),c),x;if(d===!0){var b=FW.getMaxDepth(r);isFinite(b)?FW.isLeaf(t)?x=0:x=r._maxVisibleLayers-(t.data.depth-r._entryDepth):x=t.data.height+1}else x=t.data.depth-r._entryDepth,r._atRootLevel||x++;if(x>0)for(var p=0;p<x;p++){var E=.5*p/x;c=I5.combine(I5.addOpacity(v,E),c)}}}e.call(OCt,t,r,n,c).style(\"stroke-width\",u).call(I5.stroke,l).style(\"opacity\",h)}VCe.exports={style:BCt,styleOne:UCe}});var ZCe=ye((Edr,WCe)=>{\"use strict\";var HCe=xa(),BD=Mr(),GCe=ao(),NCt=Pl(),UCt=zW(),jCe=OD().styleOne,qW=z2(),R5=Ky(),VCt=OE(),OW=!0;WCe.exports=function(t,r,n,i,a){var o=a.barDifY,s=a.width,l=a.height,u=a.viewX,c=a.viewY,f=a.pathSlice,h=a.toMoveInsideSlice,d=a.strTransform,v=a.hasTransition,x=a.handleSlicesExit,b=a.makeUpdateSliceInterpolator,p=a.makeUpdateTextInterpolator,E={},k=t._context.staticPlot,A=t._fullLayout,L=r[0],_=L.trace,C=L.hierarchy,M=s/_._entryDepth,g=R5.listPath(n.data,\"id\"),P=UCt(C.copy(),[s,l],{packing:\"dice\",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();P=P.filter(function(F){var q=g.indexOf(F.data.id);return q===-1?!1:(F.x0=M*q,F.x1=M*(q+1),F.y0=o,F.y1=o+l,F.onPathbar=!0,!0)}),P.reverse(),i=i.data(P,R5.getPtId),i.enter().append(\"g\").classed(\"pathbar\",!0),x(i,OW,E,[s,l],f),i.order();var T=i;v&&(T=T.transition().each(\"end\",function(){var F=HCe.select(this);R5.setSliceCursor(F,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})})),T.each(function(F){F._x0=u(F.x0),F._x1=u(F.x1),F._y0=c(F.y0),F._y1=c(F.y1),F._hoverX=u(F.x1-Math.min(s,l)/2),F._hoverY=c(F.y1-l/2);var q=HCe.select(this),V=BD.ensureSingle(q,\"path\",\"surface\",function(N){N.style(\"pointer-events\",k?\"none\":\"all\")});v?V.transition().attrTween(\"d\",function(N){var W=b(N,OW,E,[s,l]);return function(re){return f(W(re))}}):V.attr(\"d\",f),q.call(VCt,n,t,r,{styleOne:jCe,eventDataKeys:qW.eventDataKeys,transitionTime:qW.CLICK_TRANSITION_TIME,transitionEasing:qW.CLICK_TRANSITION_EASING}).call(R5.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),V.call(jCe,F,_,t,{hovered:!1}),F._text=(R5.getPtLabel(F)||\"\").split(\"<br>\").join(\" \")||\"\";var H=BD.ensureSingle(q,\"g\",\"slicetext\"),X=BD.ensureSingle(H,\"text\",\"\",function(N){N.attr(\"data-notex\",1)}),G=BD.ensureUniformFontSize(t,R5.determineTextFont(_,F,A.font,{onPathbar:!0}));X.text(F._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",\"start\").call(GCe.font,G).call(NCt.convertToTspans,t),F.textBB=GCe.bBox(X.node()),F.transform=h(F,{fontSize:G.size,onPathbar:!0}),F.transform.fontSize=G.size,v?X.transition().attrTween(\"transform\",function(N){var W=p(N,OW,E,[s,l]);return function(re){return d(W(re))}}):X.attr(\"transform\",d(F))})}});var JCe=ye((kdr,KCe)=>{\"use strict\";var XCe=xa(),BW=(R2(),B1(I2)).interpolate,Y_=Ky(),NE=Mr(),YCe=Qb().TEXTPAD,HCt=i2(),GCt=HCt.toMoveInsideBar,jCt=_v(),NW=jCt.recordMinTextSize,WCt=z2(),ZCt=ZCe();function q2(e){return Y_.isHierarchyRoot(e)?\"\":Y_.getPtId(e)}KCe.exports=function(t,r,n,i,a){var o=t._fullLayout,s=r[0],l=s.trace,u=l.type,c=u===\"icicle\",f=s.hierarchy,h=Y_.findEntryWithLevel(f,l.level),d=XCe.select(n),v=d.selectAll(\"g.pathbar\"),x=d.selectAll(\"g.slice\");if(!h){v.remove(),x.remove();return}var b=Y_.isHierarchyRoot(h),p=!o.uniformtext.mode&&Y_.hasTransition(i),E=Y_.getMaxDepth(l),k=function(Ke){return Ke.data.depth-h.data.depth<E},A=o._size,L=l.domain,_=A.w*(L.x[1]-L.x[0]),C=A.h*(L.y[1]-L.y[0]),M=_,g=l.pathbar.thickness,P=l.marker.line.width+WCt.gapWithPathbar,T=l.pathbar.visible?l.pathbar.side.indexOf(\"bottom\")>-1?C+P:-(g+P):0,F={x0:M,x1:M,y0:T,y1:T+g},q=function(Ke,xt,bt){var Lt=l.tiling.pad,St=function($t){return $t-Lt<=xt.x0},Et=function($t){return $t+Lt>=xt.x1},dt=function($t){return $t-Lt<=xt.y0},Ht=function($t){return $t+Lt>=xt.y1};return Ke.x0===xt.x0&&Ke.x1===xt.x1&&Ke.y0===xt.y0&&Ke.y1===xt.y1?{x0:Ke.x0,x1:Ke.x1,y0:Ke.y0,y1:Ke.y1}:{x0:St(Ke.x0-Lt)?0:Et(Ke.x0-Lt)?bt[0]:Ke.x0,x1:St(Ke.x1+Lt)?0:Et(Ke.x1+Lt)?bt[0]:Ke.x1,y0:dt(Ke.y0-Lt)?0:Ht(Ke.y0-Lt)?bt[1]:Ke.y0,y1:dt(Ke.y1+Lt)?0:Ht(Ke.y1+Lt)?bt[1]:Ke.y1}},V=null,H={},X={},G=null,N=function(Ke,xt){return xt?H[q2(Ke)]:X[q2(Ke)]},W=function(Ke,xt,bt,Lt){if(xt)return H[q2(f)]||F;var St=X[l.level]||bt;return k(Ke)?q(Ke,St,Lt):{}};s.hasMultipleRoots&&b&&E++,l._maxDepth=E,l._backgroundColor=o.paper_bgcolor,l._entryDepth=h.data.depth,l._atRootLevel=b;var re=-_/2+A.l+A.w*(L.x[1]+L.x[0])/2,ae=-C/2+A.t+A.h*(1-(L.y[1]+L.y[0])/2),_e=function(Ke){return re+Ke},Me=function(Ke){return ae+Ke},ke=Me(0),ge=_e(0),ie=function(Ke){return ge+Ke},Te=function(Ke){return ke+Ke};function Ee(Ke,xt){return Ke+\",\"+xt}var Ae=ie(0),ze=function(Ke){Ke.x=Math.max(Ae,Ke.x)},Ce=l.pathbar.edgeshape,me=function(Ke){var xt=ie(Math.max(Math.min(Ke.x0,Ke.x0),0)),bt=ie(Math.min(Math.max(Ke.x1,Ke.x1),M)),Lt=Te(Ke.y0),St=Te(Ke.y1),Et=g/2,dt={},Ht={};dt.x=xt,Ht.x=bt,dt.y=Ht.y=(Lt+St)/2;var $t={x:xt,y:Lt},fr={x:bt,y:Lt},_r={x:bt,y:St},Br={x:xt,y:St};return Ce===\">\"?($t.x-=Et,fr.x-=Et,_r.x-=Et,Br.x-=Et):Ce===\"/\"?(_r.x-=Et,Br.x-=Et,dt.x-=Et/2,Ht.x-=Et/2):Ce===\"\\\\\"?($t.x-=Et,fr.x-=Et,dt.x-=Et/2,Ht.x-=Et/2):Ce===\"<\"&&(dt.x-=Et,Ht.x-=Et),ze($t),ze(Br),ze(dt),ze(fr),ze(_r),ze(Ht),\"M\"+Ee($t.x,$t.y)+\"L\"+Ee(fr.x,fr.y)+\"L\"+Ee(Ht.x,Ht.y)+\"L\"+Ee(_r.x,_r.y)+\"L\"+Ee(Br.x,Br.y)+\"L\"+Ee(dt.x,dt.y)+\"Z\"},Re=l[c?\"tiling\":\"marker\"].pad,ce=function(Ke){return l.textposition.indexOf(Ke)!==-1},Ge=ce(\"top\"),nt=ce(\"left\"),ct=ce(\"right\"),qt=ce(\"bottom\"),rt=function(Ke){var xt=_e(Ke.x0),bt=_e(Ke.x1),Lt=Me(Ke.y0),St=Me(Ke.y1),Et=bt-xt,dt=St-Lt;if(!Et||!dt)return\"\";var Ht=l.marker.cornerradius||0,$t=Math.min(Ht,Et/2,dt/2);$t&&Ke.data&&Ke.data.data&&Ke.data.data.label&&(Ge&&($t=Math.min($t,Re.t)),nt&&($t=Math.min($t,Re.l)),ct&&($t=Math.min($t,Re.r)),qt&&($t=Math.min($t,Re.b)));var fr=function(_r,Br){return $t?\"a\"+Ee($t,$t)+\" 0 0 1 \"+Ee(_r,Br):\"\"};return\"M\"+Ee(xt,Lt+$t)+fr($t,-$t)+\"L\"+Ee(bt-$t,Lt)+fr($t,$t)+\"L\"+Ee(bt,St-$t)+fr(-$t,$t)+\"L\"+Ee(xt+$t,St)+fr(-$t,-$t)+\"Z\"},ot=function(Ke,xt){var bt=Ke.x0,Lt=Ke.x1,St=Ke.y0,Et=Ke.y1,dt=Ke.textBB,Ht=Ge||xt.isHeader&&!qt,$t=Ht?\"start\":qt?\"end\":\"middle\",fr=ce(\"right\"),_r=ce(\"left\")||xt.onPathbar,Br=_r?-1:fr?1:0;if(xt.isHeader){if(bt+=(c?Re:Re.l)-YCe,Lt-=(c?Re:Re.r)-YCe,bt>=Lt){var Or=(bt+Lt)/2;bt=Or,Lt=Or}var Nr;qt?(Nr=Et-(c?Re:Re.b),St<Nr&&Nr<Et&&(St=Nr)):(Nr=St+(c?Re:Re.t),St<Nr&&Nr<Et&&(Et=Nr))}var ut=GCt(bt,Lt,St,Et,dt,{isHorizontal:!1,constrained:!0,angle:0,anchor:$t,leftToRight:Br});return ut.fontSize=xt.fontSize,ut.targetX=_e(ut.targetX),ut.targetY=Me(ut.targetY),isNaN(ut.targetX)||isNaN(ut.targetY)?{}:(bt!==Lt&&St!==Et&&NW(l.type,ut,o),{scale:ut.scale,rotate:ut.rotate,textX:ut.textX,textY:ut.textY,anchorX:ut.anchorX,anchorY:ut.anchorY,targetX:ut.targetX,targetY:ut.targetY})},Rt=function(Ke,xt){for(var bt,Lt=0,St=Ke;!bt&&Lt<E;)Lt++,St=St.parent,St?bt=N(St,xt):Lt=E;return bt||{}},kt=function(Ke,xt,bt,Lt){var St=N(Ke,xt),Et;if(xt)Et=F;else{var dt=N(h,xt);dt?Et=q(Ke,dt,Lt):Et={}}return BW(St,Et)},Ct=function(Ke,xt,bt,Lt,St){var Et=N(Ke,xt),dt;if(Et)dt=Et;else if(xt)dt=F;else if(V)if(Ke.parent){var Ht=G||bt;Ht&&!xt?dt=q(Ke,Ht,Lt):(dt={},NE.extendFlat(dt,Rt(Ke,xt)))}else dt=NE.extendFlat({},Ke),c&&(St.orientation===\"h\"?St.flipX?dt.x0=Ke.x1:dt.x1=0:St.flipY?dt.y0=Ke.y1:dt.y1=0);else dt={};return BW(dt,{x0:Ke.x0,x1:Ke.x1,y0:Ke.y0,y1:Ke.y1})},Yt=function(Ke,xt,bt,Lt){var St=N(Ke,xt),Et={},dt=W(Ke,xt,bt,Lt);NE.extendFlat(Et,{transform:ot({x0:dt.x0,x1:dt.x1,y0:dt.y0,y1:dt.y1,textBB:Ke.textBB,_text:Ke._text},{isHeader:Y_.isHeader(Ke,l)})}),St?Et=St:Ke.parent&&NE.extendFlat(Et,Rt(Ke,xt));var Ht=Ke.transform;return Ke.x0!==Ke.x1&&Ke.y0!==Ke.y1&&NW(l.type,Ht,o),BW(Et,{transform:{scale:Ht.scale,rotate:Ht.rotate,textX:Ht.textX,textY:Ht.textY,anchorX:Ht.anchorX,anchorY:Ht.anchorY,targetX:Ht.targetX,targetY:Ht.targetY}})},xr=function(Ke,xt,bt,Lt,St){var Et=Lt[0],dt=Lt[1];p?Ke.exit().transition().each(function(){var Ht=XCe.select(this),$t=Ht.select(\"path.surface\");$t.transition().attrTween(\"d\",function(_r){var Br=kt(_r,xt,bt,[Et,dt]);return function(Or){return St(Br(Or))}});var fr=Ht.select(\"g.slicetext\");fr.attr(\"opacity\",0)}).remove():Ke.exit().remove()},er=function(Ke){var xt=Ke.transform;return Ke.x0!==Ke.x1&&Ke.y0!==Ke.y1&&NW(l.type,xt,o),NE.getTextTransform({textX:xt.textX,textY:xt.textY,anchorX:xt.anchorX,anchorY:xt.anchorY,targetX:xt.targetX,targetY:xt.targetY,scale:xt.scale,rotate:xt.rotate})};p&&(v.each(function(Ke){H[q2(Ke)]={x0:Ke.x0,x1:Ke.x1,y0:Ke.y0,y1:Ke.y1},Ke.transform&&(H[q2(Ke)].transform={textX:Ke.transform.textX,textY:Ke.transform.textY,anchorX:Ke.transform.anchorX,anchorY:Ke.transform.anchorY,targetX:Ke.transform.targetX,targetY:Ke.transform.targetY,scale:Ke.transform.scale,rotate:Ke.transform.rotate})}),x.each(function(Ke){X[q2(Ke)]={x0:Ke.x0,x1:Ke.x1,y0:Ke.y0,y1:Ke.y1},Ke.transform&&(X[q2(Ke)].transform={textX:Ke.transform.textX,textY:Ke.transform.textY,anchorX:Ke.transform.anchorX,anchorY:Ke.transform.anchorY,targetX:Ke.transform.targetX,targetY:Ke.transform.targetY,scale:Ke.transform.scale,rotate:Ke.transform.rotate}),!V&&Y_.isEntry(Ke)&&(V=Ke)})),G=a(t,r,h,x,{width:_,height:C,viewX:_e,viewY:Me,pathSlice:rt,toMoveInsideSlice:ot,prevEntry:V,makeUpdateSliceInterpolator:Ct,makeUpdateTextInterpolator:Yt,handleSlicesExit:xr,hasTransition:p,strTransform:er}),l.pathbar.visible?ZCt(t,r,h,v,{barDifY:T,width:M,height:g,viewX:ie,viewY:Te,pathSlice:me,toMoveInsideSlice:ot,makeUpdateSliceInterpolator:Ct,makeUpdateTextInterpolator:Yt,handleSlicesExit:xr,hasTransition:p,strTransform:er}):v.remove()}});var UW=ye((Cdr,QCe)=>{\"use strict\";var XCt=xa(),YCt=Ky(),KCt=_v(),JCt=KCt.clearMinTextSize,$Ct=N0().resizeText,$Ce=JCe();QCe.exports=function(t,r,n,i,a){var o=a.type,s=a.drawDescendants,l=t._fullLayout,u=l[\"_\"+o+\"layer\"],c,f,h=!n;if(JCt(o,l),c=u.selectAll(\"g.trace.\"+o).data(r,function(v){return v[0].trace.uid}),c.enter().append(\"g\").classed(\"trace\",!0).classed(o,!0),c.order(),!l.uniformtext.mode&&YCt.hasTransition(n)){i&&(f=i());var d=XCt.transition().duration(n.duration).ease(n.easing).each(\"end\",function(){f&&f()}).each(\"interrupt\",function(){f&&f()});d.each(function(){u.selectAll(\"g.trace\").each(function(v){$Ce(t,v,this,n,s)})})}else c.each(function(v){$Ce(t,v,this,n,s)}),l.uniformtext.mode&&$Ct(t,u.selectAll(\".trace\"),o);h&&c.exit().remove()}});var n6e=ye((Ldr,i6e)=>{\"use strict\";var e6e=xa(),ND=Mr(),t6e=ao(),QCt=Pl(),e6t=zW(),r6e=OD().styleOne,VW=z2(),K_=Ky(),t6t=OE(),r6t=FD().formatSliceLabel,HW=!1;i6e.exports=function(t,r,n,i,a){var o=a.width,s=a.height,l=a.viewX,u=a.viewY,c=a.pathSlice,f=a.toMoveInsideSlice,h=a.strTransform,d=a.hasTransition,v=a.handleSlicesExit,x=a.makeUpdateSliceInterpolator,b=a.makeUpdateTextInterpolator,p=a.prevEntry,E={},k=t._context.staticPlot,A=t._fullLayout,L=r[0],_=L.trace,C=_.textposition.indexOf(\"left\")!==-1,M=_.textposition.indexOf(\"right\")!==-1,g=_.textposition.indexOf(\"bottom\")!==-1,P=!g&&!_.marker.pad.t||g&&!_.marker.pad.b,T=e6t(n,[o,s],{packing:_.tiling.packing,squarifyratio:_.tiling.squarifyratio,flipX:_.tiling.flip.indexOf(\"x\")>-1,flipY:_.tiling.flip.indexOf(\"y\")>-1,pad:{inner:_.tiling.pad,top:_.marker.pad.t,left:_.marker.pad.l,right:_.marker.pad.r,bottom:_.marker.pad.b}}),F=T.descendants(),q=1/0,V=-1/0;F.forEach(function(W){var re=W.depth;re>=_._maxDepth?(W.x0=W.x1=(W.x0+W.x1)/2,W.y0=W.y1=(W.y0+W.y1)/2):(q=Math.min(q,re),V=Math.max(V,re))}),i=i.data(F,K_.getPtId),_._maxVisibleLayers=isFinite(V)?V-q+1:0,i.enter().append(\"g\").classed(\"slice\",!0),v(i,HW,E,[o,s],c),i.order();var H=null;if(d&&p){var X=K_.getPtId(p);i.each(function(W){H===null&&K_.getPtId(W)===X&&(H={x0:W.x0,x1:W.x1,y0:W.y0,y1:W.y1})})}var G=function(){return H||{x0:0,x1:o,y0:0,y1:s}},N=i;return d&&(N=N.transition().each(\"end\",function(){var W=e6e.select(this);K_.setSliceCursor(W,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),N.each(function(W){var re=K_.isHeader(W,_);W._x0=l(W.x0),W._x1=l(W.x1),W._y0=u(W.y0),W._y1=u(W.y1),W._hoverX=l(W.x1-_.marker.pad.r),W._hoverY=u(g?W.y1-_.marker.pad.b/2:W.y0+_.marker.pad.t/2);var ae=e6e.select(this),_e=ND.ensureSingle(ae,\"path\",\"surface\",function(Ee){Ee.style(\"pointer-events\",k?\"none\":\"all\")});d?_e.transition().attrTween(\"d\",function(Ee){var Ae=x(Ee,HW,G(),[o,s]);return function(ze){return c(Ae(ze))}}):_e.attr(\"d\",c),ae.call(t6t,n,t,r,{styleOne:r6e,eventDataKeys:VW.eventDataKeys,transitionTime:VW.CLICK_TRANSITION_TIME,transitionEasing:VW.CLICK_TRANSITION_EASING}).call(K_.setSliceCursor,t,{isTransitioning:t._transitioning}),_e.call(r6e,W,_,t,{hovered:!1}),W.x0===W.x1||W.y0===W.y1?W._text=\"\":re?W._text=P?\"\":K_.getPtLabel(W)||\"\":W._text=r6t(W,n,_,r,A)||\"\";var Me=ND.ensureSingle(ae,\"g\",\"slicetext\"),ke=ND.ensureSingle(Me,\"text\",\"\",function(Ee){Ee.attr(\"data-notex\",1)}),ge=ND.ensureUniformFontSize(t,K_.determineTextFont(_,W,A.font)),ie=W._text||\" \",Te=re&&ie.indexOf(\"<br>\")===-1;ke.text(ie).classed(\"slicetext\",!0).attr(\"text-anchor\",M?\"end\":C||Te?\"start\":\"middle\").call(t6e.font,ge).call(QCt.convertToTspans,t),W.textBB=t6e.bBox(ke.node()),W.transform=f(W,{fontSize:ge.size,isHeader:re}),W.transform.fontSize=ge.size,d?ke.transition().attrTween(\"transform\",function(Ee){var Ae=b(Ee,HW,G(),[o,s]);return function(ze){return h(Ae(ze))}}):ke.attr(\"transform\",h(W))}),H}});var o6e=ye((Pdr,a6e)=>{\"use strict\";var i6t=UW(),n6t=n6e();a6e.exports=function(t,r,n,i){return i6t(t,r,n,i,{type:\"treemap\",drawDescendants:n6t})}});var l6e=ye((Idr,s6e)=>{\"use strict\";s6e.exports={moduleType:\"trace\",name:\"treemap\",basePlotModule:SCe(),categories:[],animatable:!0,attributes:qD(),layoutAttributes:PW(),supplyDefaults:RCe(),supplyLayoutDefaults:zCe(),calc:RW().calc,crossTraceCalc:RW().crossTraceCalc,plot:o6e(),style:OD().style,colorbar:Kd(),meta:{}}});var c6e=ye((Rdr,u6e)=>{\"use strict\";u6e.exports=l6e()});var h6e=ye(D5=>{\"use strict\";var f6e=Xu();D5.name=\"icicle\";D5.plot=function(e,t,r,n){f6e.plotBasePlot(D5.name,e,t,r,n)};D5.clean=function(e,t,r,n){f6e.cleanBasePlot(D5.name,e,t,r,n)}});var GW=ye((zdr,v6e)=>{\"use strict\";var a6t=Wo().hovertemplateAttrs,o6t=Wo().texttemplateAttrs,s6t=Jl(),l6t=Ju().attributes,UE=A2(),o0=AE(),UD=qD(),d6e=z2(),u6t=no().extendFlat,c6t=Ed().pattern;v6e.exports={labels:o0.labels,parents:o0.parents,values:o0.values,branchvalues:o0.branchvalues,count:o0.count,level:o0.level,maxdepth:o0.maxdepth,tiling:{orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\",editType:\"plot\"},flip:UD.tiling.flip,pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},marker:u6t({colors:o0.marker.colors,line:o0.marker.line,pattern:c6t,editType:\"calc\"},s6t(\"marker\",{colorAttr:\"colors\",anim:!1})),leaf:o0.leaf,pathbar:UD.pathbar,text:UE.text,textinfo:o0.textinfo,texttemplate:o6t({editType:\"plot\"},{keys:d6e.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:UE.hovertext,hoverinfo:o0.hoverinfo,hovertemplate:a6t({},{keys:d6e.eventDataKeys}),textfont:UE.textfont,insidetextfont:UE.insidetextfont,outsidetextfont:UD.outsidetextfont,textposition:UD.textposition,sort:UE.sort,root:o0.root,domain:l6t({name:\"icicle\",trace:!0,editType:\"calc\"})}});var jW=ye((Fdr,p6e)=>{\"use strict\";p6e.exports={iciclecolorway:{valType:\"colorlist\",editType:\"calc\"},extendiciclecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var _6e=ye((qdr,y6e)=>{\"use strict\";var g6e=Mr(),f6t=GW(),h6t=va(),d6t=Ju().defaults,v6t=r0().handleText,p6t=Qb().TEXTPAD,g6t=S2().handleMarkerDefaults,m6e=Mu(),m6t=m6e.hasColorscale,y6t=m6e.handleDefaults;y6e.exports=function(t,r,n,i){function a(d,v){return g6e.coerce(t,r,f6t,d,v)}var o=a(\"labels\"),s=a(\"parents\");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a(\"values\");l&&l.length?a(\"branchvalues\"):a(\"count\"),a(\"level\"),a(\"maxdepth\"),a(\"tiling.orientation\"),a(\"tiling.flip\"),a(\"tiling.pad\");var u=a(\"text\");a(\"texttemplate\"),r.texttemplate||a(\"textinfo\",g6e.isArrayOrTypedArray(u)?\"text+label\":\"label\"),a(\"hovertext\"),a(\"hovertemplate\");var c=a(\"pathbar.visible\"),f=\"auto\";v6t(t,r,i,a,f,{hasPathbar:c,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a(\"textposition\"),g6t(t,r,i,a);var h=r._hasColorscale=m6t(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;h&&y6t(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}),a(\"leaf.opacity\",h?1:.7),r._hovered={marker:{line:{width:2,color:h6t.contrast(i.paper_bgcolor)}}},c&&(a(\"pathbar.thickness\",r.pathbar.textfont.size+2*p6t),a(\"pathbar.side\"),a(\"pathbar.edgeshape\")),a(\"sort\"),a(\"root.color\"),d6t(r,i,a),r._length=null}});var b6e=ye((Odr,x6e)=>{\"use strict\";var _6t=Mr(),x6t=jW();x6e.exports=function(t,r){function n(i,a){return _6t.coerce(t,r,x6t,i,a)}n(\"iciclecolorway\",r.colorway),n(\"extendiciclecolors\")}});var ZW=ye(WW=>{\"use strict\";var w6e=EE();WW.calc=function(e,t){return w6e.calc(e,t)};WW.crossTraceCalc=function(e){return w6e._runCrossTraceCalc(\"icicle\",e)}});var A6e=ye((Ndr,T6e)=>{\"use strict\";var b6t=SE(),w6t=DW();T6e.exports=function(t,r,n){var i=n.flipX,a=n.flipY,o=n.orientation===\"h\",s=n.maxDepth,l=r[0],u=r[1];s&&(l=(t.height+1)*r[0]/Math.min(t.height+1,s),u=(t.height+1)*r[1]/Math.min(t.height+1,s));var c=b6t.partition().padding(n.pad.inner).size(o?[r[1],l]:[r[0],u])(t);return(o||i||a)&&w6t(c,r,{swapXY:o,flipX:i,flipY:a}),c}});var XW=ye((Udr,C6e)=>{\"use strict\";var S6e=xa(),M6e=va(),E6e=Mr(),T6t=_v().resizeText,A6t=DD();function S6t(e){var t=e._fullLayout._iciclelayer.selectAll(\".trace\");T6t(e,t,\"icicle\"),t.each(function(r){var n=S6e.select(this),i=r[0],a=i.trace;n.style(\"opacity\",a.opacity),n.selectAll(\"path.surface\").each(function(o){S6e.select(this).call(k6e,o,a,e)})})}function k6e(e,t,r,n){var i=t.data.data,a=!t.children,o=i.i,s=E6e.castOption(r,o,\"marker.line.color\")||M6e.defaultLine,l=E6e.castOption(r,o,\"marker.line.width\")||0;e.call(A6t,t,r,n).style(\"stroke-width\",l).call(M6e.stroke,s).style(\"opacity\",a?r.leaf.opacity:null)}C6e.exports={style:S6t,styleOne:k6e}});var D6e=ye((Vdr,R6e)=>{\"use strict\";var L6e=xa(),VD=Mr(),P6e=ao(),M6t=Pl(),E6t=A6e(),I6e=XW().styleOne,YW=z2(),z5=Ky(),k6t=OE(),C6t=FD().formatSliceLabel,KW=!1;R6e.exports=function(t,r,n,i,a){var o=a.width,s=a.height,l=a.viewX,u=a.viewY,c=a.pathSlice,f=a.toMoveInsideSlice,h=a.strTransform,d=a.hasTransition,v=a.handleSlicesExit,x=a.makeUpdateSliceInterpolator,b=a.makeUpdateTextInterpolator,p=a.prevEntry,E={},k=t._context.staticPlot,A=t._fullLayout,L=r[0],_=L.trace,C=_.textposition.indexOf(\"left\")!==-1,M=_.textposition.indexOf(\"right\")!==-1,g=_.textposition.indexOf(\"bottom\")!==-1,P=E6t(n,[o,s],{flipX:_.tiling.flip.indexOf(\"x\")>-1,flipY:_.tiling.flip.indexOf(\"y\")>-1,orientation:_.tiling.orientation,pad:{inner:_.tiling.pad},maxDepth:_._maxDepth}),T=P.descendants(),F=1/0,q=-1/0;T.forEach(function(N){var W=N.depth;W>=_._maxDepth?(N.x0=N.x1=(N.x0+N.x1)/2,N.y0=N.y1=(N.y0+N.y1)/2):(F=Math.min(F,W),q=Math.max(q,W))}),i=i.data(T,z5.getPtId),_._maxVisibleLayers=isFinite(q)?q-F+1:0,i.enter().append(\"g\").classed(\"slice\",!0),v(i,KW,E,[o,s],c),i.order();var V=null;if(d&&p){var H=z5.getPtId(p);i.each(function(N){V===null&&z5.getPtId(N)===H&&(V={x0:N.x0,x1:N.x1,y0:N.y0,y1:N.y1})})}var X=function(){return V||{x0:0,x1:o,y0:0,y1:s}},G=i;return d&&(G=G.transition().each(\"end\",function(){var N=L6e.select(this);z5.setSliceCursor(N,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),G.each(function(N){N._x0=l(N.x0),N._x1=l(N.x1),N._y0=u(N.y0),N._y1=u(N.y1),N._hoverX=l(N.x1-_.tiling.pad),N._hoverY=u(g?N.y1-_.tiling.pad/2:N.y0+_.tiling.pad/2);var W=L6e.select(this),re=VD.ensureSingle(W,\"path\",\"surface\",function(ke){ke.style(\"pointer-events\",k?\"none\":\"all\")});d?re.transition().attrTween(\"d\",function(ke){var ge=x(ke,KW,X(),[o,s],{orientation:_.tiling.orientation,flipX:_.tiling.flip.indexOf(\"x\")>-1,flipY:_.tiling.flip.indexOf(\"y\")>-1});return function(ie){return c(ge(ie))}}):re.attr(\"d\",c),W.call(k6t,n,t,r,{styleOne:I6e,eventDataKeys:YW.eventDataKeys,transitionTime:YW.CLICK_TRANSITION_TIME,transitionEasing:YW.CLICK_TRANSITION_EASING}).call(z5.setSliceCursor,t,{isTransitioning:t._transitioning}),re.call(I6e,N,_,t,{hovered:!1}),N.x0===N.x1||N.y0===N.y1?N._text=\"\":N._text=C6t(N,n,_,r,A)||\"\";var ae=VD.ensureSingle(W,\"g\",\"slicetext\"),_e=VD.ensureSingle(ae,\"text\",\"\",function(ke){ke.attr(\"data-notex\",1)}),Me=VD.ensureUniformFontSize(t,z5.determineTextFont(_,N,A.font));_e.text(N._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",M?\"end\":C?\"start\":\"middle\").call(P6e.font,Me).call(M6t.convertToTspans,t),N.textBB=P6e.bBox(_e.node()),N.transform=f(N,{fontSize:Me.size}),N.transform.fontSize=Me.size,d?_e.transition().attrTween(\"transform\",function(ke){var ge=b(ke,KW,X(),[o,s]);return function(ie){return h(ge(ie))}}):_e.attr(\"transform\",h(N))}),V}});var F6e=ye((Hdr,z6e)=>{\"use strict\";var L6t=UW(),P6t=D6e();z6e.exports=function(t,r,n,i){return L6t(t,r,n,i,{type:\"icicle\",drawDescendants:P6t})}});var O6e=ye((Gdr,q6e)=>{\"use strict\";q6e.exports={moduleType:\"trace\",name:\"icicle\",basePlotModule:h6e(),categories:[],animatable:!0,attributes:GW(),layoutAttributes:jW(),supplyDefaults:_6e(),supplyLayoutDefaults:b6e(),calc:ZW().calc,crossTraceCalc:ZW().crossTraceCalc,plot:F6e(),style:XW().style,colorbar:Kd(),meta:{}}});var N6e=ye((jdr,B6e)=>{\"use strict\";B6e.exports=O6e()});var V6e=ye(F5=>{\"use strict\";var U6e=Xu();F5.name=\"funnelarea\";F5.plot=function(e,t,r,n){U6e.plotBasePlot(F5.name,e,t,r,n)};F5.clean=function(e,t,r,n){U6e.cleanBasePlot(F5.name,e,t,r,n)}});var JW=ye((Zdr,H6e)=>{\"use strict\";var tv=A2(),I6t=vl(),R6t=Ju().attributes,D6t=Wo().hovertemplateAttrs,z6t=Wo().texttemplateAttrs,O2=no().extendFlat;H6e.exports={labels:tv.labels,label0:tv.label0,dlabel:tv.dlabel,values:tv.values,marker:{colors:tv.marker.colors,line:{color:O2({},tv.marker.line.color,{dflt:null}),width:O2({},tv.marker.line.width,{dflt:1}),editType:\"calc\"},pattern:tv.marker.pattern,editType:\"calc\"},text:tv.text,hovertext:tv.hovertext,scalegroup:O2({},tv.scalegroup,{}),textinfo:O2({},tv.textinfo,{flags:[\"label\",\"text\",\"value\",\"percent\"]}),texttemplate:z6t({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),hoverinfo:O2({},I6t.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:D6t({},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),textposition:O2({},tv.textposition,{values:[\"inside\",\"none\"],dflt:\"inside\"}),textfont:tv.textfont,insidetextfont:tv.insidetextfont,title:{text:tv.title.text,font:tv.title.font,position:O2({},tv.title.position,{values:[\"top left\",\"top center\",\"top right\"],dflt:\"top center\"}),editType:\"plot\"},domain:R6t({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\"}}});var $W=ye((Xdr,G6e)=>{\"use strict\";var F6t=uD().hiddenlabels;G6e.exports={hiddenlabels:F6t,funnelareacolorway:{valType:\"colorlist\",editType:\"calc\"},extendfunnelareacolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var Z6e=ye((Ydr,W6e)=>{\"use strict\";var j6e=Mr(),q6t=JW(),O6t=Ju().defaults,B6t=r0().handleText,N6t=S2().handleLabelsAndValues,U6t=S2().handleMarkerDefaults;W6e.exports=function(t,r,n,i){function a(x,b){return j6e.coerce(t,r,q6t,x,b)}var o=a(\"labels\"),s=a(\"values\"),l=N6t(o,s),u=l.len;if(r._hasLabels=l.hasLabels,r._hasValues=l.hasValues,!r._hasLabels&&r._hasValues&&(a(\"label0\"),a(\"dlabel\")),!u){r.visible=!1;return}r._length=u,U6t(t,r,i,a),a(\"scalegroup\");var c=a(\"text\"),f=a(\"texttemplate\"),h;if(f||(h=a(\"textinfo\",Array.isArray(c)?\"text+percent\":\"percent\")),a(\"hovertext\"),a(\"hovertemplate\"),f||h&&h!==\"none\"){var d=a(\"textposition\");B6t(t,r,i,a,d,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else h===\"none\"&&a(\"textposition\",\"none\");O6t(r,i,a);var v=a(\"title.text\");v&&(a(\"title.position\"),j6e.coerceFont(a,\"title.font\",i.font)),a(\"aspectratio\"),a(\"baseratio\")}});var Y6e=ye((Kdr,X6e)=>{\"use strict\";var V6t=Mr(),H6t=$W();X6e.exports=function(t,r){function n(i,a){return V6t.coerce(t,r,H6t,i,a)}n(\"hiddenlabels\"),n(\"funnelareacolorway\",r.colorway),n(\"extendfunnelareacolors\")}});var QW=ye((Jdr,J6e)=>{\"use strict\";var K6e=y5();function G6t(e,t){return K6e.calc(e,t)}function j6t(e){K6e.crossTraceCalc(e,{type:\"funnelarea\"})}J6e.exports={calc:G6t,crossTraceCalc:j6t}});var rLe=ye(($dr,tLe)=>{\"use strict\";var B2=xa(),eZ=ao(),J_=Mr(),W6t=J_.strScale,$6e=J_.strTranslate,Q6e=Pl(),Z6t=i2(),X6t=Z6t.toMoveInsideBar,eLe=_v(),Y6t=eLe.recordMinTextSize,K6t=eLe.clearMinTextSize,J6t=u_(),q5=dD(),$6t=q5.attachFxHandlers,Q6t=q5.determineInsideTextFont,eLt=q5.layoutAreas,tLt=q5.prerenderTitles,rLt=q5.positionTitleOutside,iLt=q5.formatSliceLabel;tLe.exports=function(t,r){var n=t._context.staticPlot,i=t._fullLayout;K6t(\"funnelarea\",i),tLt(r,t),eLt(r,i._size),J_.makeTraceGroups(i._funnelarealayer,r,\"trace\").each(function(a){var o=B2.select(this),s=a[0],l=s.trace;aLt(a),o.each(function(){var u=B2.select(this).selectAll(\"g.slice\").data(a);u.enter().append(\"g\").classed(\"slice\",!0),u.exit().remove(),u.each(function(f,h){if(f.hidden){B2.select(this).selectAll(\"path,g\").remove();return}f.pointNumber=f.i,f.curveNumber=l.index;var d=s.cx,v=s.cy,x=B2.select(this),b=x.selectAll(\"path.surface\").data([f]);b.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":n?\"none\":\"all\"}),x.call($6t,t,a);var p=\"M\"+(d+f.TR[0])+\",\"+(v+f.TR[1])+tZ(f.TR,f.BR)+tZ(f.BR,f.BL)+tZ(f.BL,f.TL)+\"Z\";b.attr(\"d\",p),iLt(t,f,s);var E=J6t.castOption(l.textposition,f.pts),k=x.selectAll(\"g.slicetext\").data(f.text&&E!==\"none\"?[0]:[]);k.enter().append(\"g\").classed(\"slicetext\",!0),k.exit().remove(),k.each(function(){var A=J_.ensureSingle(B2.select(this),\"text\",\"\",function(F){F.attr(\"data-notex\",1)}),L=J_.ensureUniformFontSize(t,Q6t(l,f,i.font));A.text(f.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(eZ.font,L).call(Q6e.convertToTspans,t);var _=eZ.bBox(A.node()),C,M,g,P=Math.min(f.BL[1],f.BR[1])+v,T=Math.max(f.TL[1],f.TR[1])+v;M=Math.max(f.TL[0],f.BL[0])+d,g=Math.min(f.TR[0],f.BR[0])+d,C=X6t(M,g,P,T,_,{isHorizontal:!0,constrained:!0,angle:0,anchor:\"middle\"}),C.fontSize=L.size,Y6t(l.type,C,i),a[h].transform=C,J_.setTransormAndDisplay(A,C)})});var c=B2.select(this).selectAll(\"g.titletext\").data(l.title.text?[0]:[]);c.enter().append(\"g\").classed(\"titletext\",!0),c.exit().remove(),c.each(function(){var f=J_.ensureSingle(B2.select(this),\"text\",\"\",function(v){v.attr(\"data-notex\",1)}),h=l.title.text;l._meta&&(h=J_.templateString(h,l._meta)),f.text(h).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(eZ.font,l.title.font).call(Q6e.convertToTspans,t);var d=rLt(s,i._size);f.attr(\"transform\",$6e(d.x,d.y)+W6t(Math.min(1,d.scale))+$6e(d.tx,d.ty))})})})};function tZ(e,t){var r=t[0]-e[0],n=t[1]-e[1];return\"l\"+r+\",\"+n}function nLt(e,t){return[.5*(e[0]+t[0]),.5*(e[1]+t[1])]}function aLt(e){if(!e.length)return;var t=e[0],r=t.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a=Math.pow(i,2),o=t.vTotal,s=o*a/(1-a),l=o,u=s/o;function c(){var q=Math.sqrt(u);return{x:q,y:-q}}function f(){var q=c();return[q.x,q.y]}var h,d=[];d.push(f());var v,x;for(v=e.length-1;v>-1;v--)if(x=e[v],!x.hidden){var b=x.v/l;u+=b,d.push(f())}var p=1/0,E=-1/0;for(v=0;v<d.length;v++)h=d[v],p=Math.min(p,h[1]),E=Math.max(E,h[1]);for(v=0;v<d.length;v++)d[v][1]-=(E+p)/2;var k=d[d.length-1][0],A=t.r,L=(E-p)/2,_=A/k,C=A/L*n;for(t.r=C*L,v=0;v<d.length;v++)d[v][0]*=_,d[v][1]*=C;h=d[0];var M=[-h[0],h[1]],g=[h[0],h[1]],P=0;for(v=e.length-1;v>-1;v--)if(x=e[v],!x.hidden){P+=1;var T=d[P][0],F=d[P][1];x.TL=[-T,F],x.TR=[T,F],x.BL=M,x.BR=g,x.pxmid=nLt(x.TR,x.BR),M=x.TL,g=x.TR}}});var aLe=ye((Qdr,nLe)=>{\"use strict\";var iLe=xa(),oLt=z3(),sLt=_v().resizeText;nLe.exports=function(t){var r=t._fullLayout._funnelarealayer.selectAll(\".trace\");sLt(t,r,\"funnelarea\"),r.each(function(n){var i=n[0],a=i.trace,o=iLe.select(this);o.style({opacity:a.opacity}),o.selectAll(\"path.surface\").each(function(s){iLe.select(this).call(oLt,s,a,t)})})}});var sLe=ye((evr,oLe)=>{\"use strict\";oLe.exports={moduleType:\"trace\",name:\"funnelarea\",basePlotModule:V6e(),categories:[\"pie-like\",\"funnelarea\",\"showLegend\"],attributes:JW(),layoutAttributes:$W(),supplyDefaults:Z6e(),supplyLayoutDefaults:Y6e(),calc:QW().calc,crossTraceCalc:QW().crossTraceCalc,plot:rLe(),style:aLe(),styleOne:z3(),meta:{}}});var uLe=ye((tvr,lLe)=>{\"use strict\";lLe.exports=sLe()});var Rd=ye((rvr,cLe)=>{(function(){var e={1964:function(i,a,o){i.exports={alpha_shape:o(3502),convex_hull:o(7352),delaunay_triangulate:o(7642),gl_cone3d:o(6405),gl_error3d:o(9165),gl_line3d:o(5714),gl_mesh3d:o(7201),gl_plot3d:o(4100),gl_scatter3d:o(8418),gl_streamtube3d:o(7815),gl_surface3d:o(9499),ndarray:o(9618),ndarray_linear_interpolate:o(4317)}},4793:function(i,a,o){\"use strict\";var s;function l(Le,xe){if(!(Le instanceof xe))throw new TypeError(\"Cannot call a class as a function\")}function u(Le,xe){for(var Se=0;Se<xe.length;Se++){var lt=xe[Se];lt.enumerable=lt.enumerable||!1,lt.configurable=!0,\"value\"in lt&&(lt.writable=!0),Object.defineProperty(Le,f(lt.key),lt)}}function c(Le,xe,Se){return xe&&u(Le.prototype,xe),Se&&u(Le,Se),Object.defineProperty(Le,\"prototype\",{writable:!1}),Le}function f(Le){var xe=h(Le,\"string\");return A(xe)==\"symbol\"?xe:xe+\"\"}function h(Le,xe){if(A(Le)!=\"object\"||!Le)return Le;var Se=Le[Symbol.toPrimitive];if(Se!==void 0){var lt=Se.call(Le,xe||\"default\");if(A(lt)!=\"object\")return lt;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(xe===\"string\"?String:Number)(Le)}function d(Le,xe,Se){return xe=p(xe),v(Le,b()?Reflect.construct(xe,Se||[],p(Le).constructor):xe.apply(Le,Se))}function v(Le,xe){if(xe&&(A(xe)==\"object\"||typeof xe==\"function\"))return xe;if(xe!==void 0)throw new TypeError(\"Derived constructors may only return object or undefined\");return x(Le)}function x(Le){if(Le===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return Le}function b(){try{var Le=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(xe){}return(b=function(){return!!Le})()}function p(Le){return p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(xe){return xe.__proto__||Object.getPrototypeOf(xe)},p(Le)}function E(Le,xe){if(typeof xe!=\"function\"&&xe!==null)throw new TypeError(\"Super expression must either be null or a function\");Le.prototype=Object.create(xe&&xe.prototype,{constructor:{value:Le,writable:!0,configurable:!0}}),Object.defineProperty(Le,\"prototype\",{writable:!1}),xe&&k(Le,xe)}function k(Le,xe){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(Se,lt){return Se.__proto__=lt,Se},k(Le,xe)}function A(Le){\"@babel/helpers - typeof\";return A=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(xe){return typeof xe}:function(xe){return xe&&typeof Symbol==\"function\"&&xe.constructor===Symbol&&xe!==Symbol.prototype?\"symbol\":typeof xe},A(Le)}var L=o(7507),_=o(3778),C=typeof Symbol==\"function\"&&typeof Symbol.for==\"function\"?Symbol.for(\"nodejs.util.inspect.custom\"):null;a.hp=T,s=_e,a.IS=50;var M=2147483647;s=M,T.TYPED_ARRAY_SUPPORT=g(),!T.TYPED_ARRAY_SUPPORT&&typeof console!=\"undefined\"&&typeof console.error==\"function\"&&console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\");function g(){try{var Le=new Uint8Array(1),xe={foo:function(){return 42}};return Object.setPrototypeOf(xe,Uint8Array.prototype),Object.setPrototypeOf(Le,xe),Le.foo()===42}catch(Se){return!1}}Object.defineProperty(T.prototype,\"parent\",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.buffer}}),Object.defineProperty(T.prototype,\"offset\",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.byteOffset}});function P(Le){if(Le>M)throw new RangeError('The value \"'+Le+'\" is invalid for option \"size\"');var xe=new Uint8Array(Le);return Object.setPrototypeOf(xe,T.prototype),xe}function T(Le,xe,Se){if(typeof Le==\"number\"){if(typeof xe==\"string\")throw new TypeError('The \"string\" argument must be of type string. Received type number');return H(Le)}return F(Le,xe,Se)}T.poolSize=8192;function F(Le,xe,Se){if(typeof Le==\"string\")return X(Le,xe);if(ArrayBuffer.isView(Le))return N(Le);if(Le==null)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+A(Le));if(Ne(Le,ArrayBuffer)||Le&&Ne(Le.buffer,ArrayBuffer)||typeof SharedArrayBuffer!=\"undefined\"&&(Ne(Le,SharedArrayBuffer)||Le&&Ne(Le.buffer,SharedArrayBuffer)))return W(Le,xe,Se);if(typeof Le==\"number\")throw new TypeError('The \"value\" argument must not be of type number. Received type number');var lt=Le.valueOf&&Le.valueOf();if(lt!=null&<!==Le)return T.from(lt,xe,Se);var Gt=re(Le);if(Gt)return Gt;if(typeof Symbol!=\"undefined\"&&Symbol.toPrimitive!=null&&typeof Le[Symbol.toPrimitive]==\"function\")return T.from(Le[Symbol.toPrimitive](\"string\"),xe,Se);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+A(Le))}T.from=function(Le,xe,Se){return F(Le,xe,Se)},Object.setPrototypeOf(T.prototype,Uint8Array.prototype),Object.setPrototypeOf(T,Uint8Array);function q(Le){if(typeof Le!=\"number\")throw new TypeError('\"size\" argument must be of type number');if(Le<0)throw new RangeError('The value \"'+Le+'\" is invalid for option \"size\"')}function V(Le,xe,Se){return q(Le),Le<=0?P(Le):xe!==void 0?typeof Se==\"string\"?P(Le).fill(xe,Se):P(Le).fill(xe):P(Le)}T.alloc=function(Le,xe,Se){return V(Le,xe,Se)};function H(Le){return q(Le),P(Le<0?0:ae(Le)|0)}T.allocUnsafe=function(Le){return H(Le)},T.allocUnsafeSlow=function(Le){return H(Le)};function X(Le,xe){if((typeof xe!=\"string\"||xe===\"\")&&(xe=\"utf8\"),!T.isEncoding(xe))throw new TypeError(\"Unknown encoding: \"+xe);var Se=Me(Le,xe)|0,lt=P(Se),Gt=lt.write(Le,xe);return Gt!==Se&&(lt=lt.slice(0,Gt)),lt}function G(Le){for(var xe=Le.length<0?0:ae(Le.length)|0,Se=P(xe),lt=0;lt<xe;lt+=1)Se[lt]=Le[lt]&255;return Se}function N(Le){if(Ne(Le,Uint8Array)){var xe=new Uint8Array(Le);return W(xe.buffer,xe.byteOffset,xe.byteLength)}return G(Le)}function W(Le,xe,Se){if(xe<0||Le.byteLength<xe)throw new RangeError('\"offset\" is outside of buffer bounds');if(Le.byteLength<xe+(Se||0))throw new RangeError('\"length\" is outside of buffer bounds');var lt;return xe===void 0&&Se===void 0?lt=new Uint8Array(Le):Se===void 0?lt=new Uint8Array(Le,xe):lt=new Uint8Array(Le,xe,Se),Object.setPrototypeOf(lt,T.prototype),lt}function re(Le){if(T.isBuffer(Le)){var xe=ae(Le.length)|0,Se=P(xe);return Se.length===0||Le.copy(Se,0,0,xe),Se}if(Le.length!==void 0)return typeof Le.length!=\"number\"||Ye(Le.length)?P(0):G(Le);if(Le.type===\"Buffer\"&&Array.isArray(Le.data))return G(Le.data)}function ae(Le){if(Le>=M)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+M.toString(16)+\" bytes\");return Le|0}function _e(Le){return+Le!=Le&&(Le=0),T.alloc(+Le)}T.isBuffer=function(xe){return xe!=null&&xe._isBuffer===!0&&xe!==T.prototype},T.compare=function(xe,Se){if(Ne(xe,Uint8Array)&&(xe=T.from(xe,xe.offset,xe.byteLength)),Ne(Se,Uint8Array)&&(Se=T.from(Se,Se.offset,Se.byteLength)),!T.isBuffer(xe)||!T.isBuffer(Se))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(xe===Se)return 0;for(var lt=xe.length,Gt=Se.length,Vt=0,ar=Math.min(lt,Gt);Vt<ar;++Vt)if(xe[Vt]!==Se[Vt]){lt=xe[Vt],Gt=Se[Vt];break}return lt<Gt?-1:Gt<lt?1:0},T.isEncoding=function(xe){switch(String(xe).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},T.concat=function(xe,Se){if(!Array.isArray(xe))throw new TypeError('\"list\" argument must be an Array of Buffers');if(xe.length===0)return T.alloc(0);var lt;if(Se===void 0)for(Se=0,lt=0;lt<xe.length;++lt)Se+=xe[lt].length;var Gt=T.allocUnsafe(Se),Vt=0;for(lt=0;lt<xe.length;++lt){var ar=xe[lt];if(Ne(ar,Uint8Array))Vt+ar.length>Gt.length?(T.isBuffer(ar)||(ar=T.from(ar)),ar.copy(Gt,Vt)):Uint8Array.prototype.set.call(Gt,ar,Vt);else if(T.isBuffer(ar))ar.copy(Gt,Vt);else throw new TypeError('\"list\" argument must be an Array of Buffers');Vt+=ar.length}return Gt};function Me(Le,xe){if(T.isBuffer(Le))return Le.length;if(ArrayBuffer.isView(Le)||Ne(Le,ArrayBuffer))return Le.byteLength;if(typeof Le!=\"string\")throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+A(Le));var Se=Le.length,lt=arguments.length>2&&arguments[2]===!0;if(!lt&&Se===0)return 0;for(var Gt=!1;;)switch(xe){case\"ascii\":case\"latin1\":case\"binary\":return Se;case\"utf8\":case\"utf-8\":return _r(Le).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Se*2;case\"hex\":return Se>>>1;case\"base64\":return Nr(Le).length;default:if(Gt)return lt?-1:_r(Le).length;xe=(\"\"+xe).toLowerCase(),Gt=!0}}T.byteLength=Me;function ke(Le,xe,Se){var lt=!1;if((xe===void 0||xe<0)&&(xe=0),xe>this.length||((Se===void 0||Se>this.length)&&(Se=this.length),Se<=0)||(Se>>>=0,xe>>>=0,Se<=xe))return\"\";for(Le||(Le=\"utf8\");;)switch(Le){case\"hex\":return rt(this,xe,Se);case\"utf8\":case\"utf-8\":return ce(this,xe,Se);case\"ascii\":return ct(this,xe,Se);case\"latin1\":case\"binary\":return qt(this,xe,Se);case\"base64\":return Re(this,xe,Se);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return ot(this,xe,Se);default:if(lt)throw new TypeError(\"Unknown encoding: \"+Le);Le=(Le+\"\").toLowerCase(),lt=!0}}T.prototype._isBuffer=!0;function ge(Le,xe,Se){var lt=Le[xe];Le[xe]=Le[Se],Le[Se]=lt}T.prototype.swap16=function(){var xe=this.length;if(xe%2!==0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var Se=0;Se<xe;Se+=2)ge(this,Se,Se+1);return this},T.prototype.swap32=function(){var xe=this.length;if(xe%4!==0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var Se=0;Se<xe;Se+=4)ge(this,Se,Se+3),ge(this,Se+1,Se+2);return this},T.prototype.swap64=function(){var xe=this.length;if(xe%8!==0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var Se=0;Se<xe;Se+=8)ge(this,Se,Se+7),ge(this,Se+1,Se+6),ge(this,Se+2,Se+5),ge(this,Se+3,Se+4);return this},T.prototype.toString=function(){var xe=this.length;return xe===0?\"\":arguments.length===0?ce(this,0,xe):ke.apply(this,arguments)},T.prototype.toLocaleString=T.prototype.toString,T.prototype.equals=function(xe){if(!T.isBuffer(xe))throw new TypeError(\"Argument must be a Buffer\");return this===xe?!0:T.compare(this,xe)===0},T.prototype.inspect=function(){var xe=\"\",Se=a.IS;return xe=this.toString(\"hex\",0,Se).replace(/(.{2})/g,\"$1 \").trim(),this.length>Se&&(xe+=\" ... \"),\"<Buffer \"+xe+\">\"},C&&(T.prototype[C]=T.prototype.inspect),T.prototype.compare=function(xe,Se,lt,Gt,Vt){if(Ne(xe,Uint8Array)&&(xe=T.from(xe,xe.offset,xe.byteLength)),!T.isBuffer(xe))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+A(xe));if(Se===void 0&&(Se=0),lt===void 0&&(lt=xe?xe.length:0),Gt===void 0&&(Gt=0),Vt===void 0&&(Vt=this.length),Se<0||lt>xe.length||Gt<0||Vt>this.length)throw new RangeError(\"out of range index\");if(Gt>=Vt&&Se>=lt)return 0;if(Gt>=Vt)return-1;if(Se>=lt)return 1;if(Se>>>=0,lt>>>=0,Gt>>>=0,Vt>>>=0,this===xe)return 0;for(var ar=Vt-Gt,Qr=lt-Se,ai=Math.min(ar,Qr),jr=this.slice(Gt,Vt),ri=xe.slice(Se,lt),bi=0;bi<ai;++bi)if(jr[bi]!==ri[bi]){ar=jr[bi],Qr=ri[bi];break}return ar<Qr?-1:Qr<ar?1:0};function ie(Le,xe,Se,lt,Gt){if(Le.length===0)return-1;if(typeof Se==\"string\"?(lt=Se,Se=0):Se>2147483647?Se=2147483647:Se<-2147483648&&(Se=-2147483648),Se=+Se,Ye(Se)&&(Se=Gt?0:Le.length-1),Se<0&&(Se=Le.length+Se),Se>=Le.length){if(Gt)return-1;Se=Le.length-1}else if(Se<0)if(Gt)Se=0;else return-1;if(typeof xe==\"string\"&&(xe=T.from(xe,lt)),T.isBuffer(xe))return xe.length===0?-1:Te(Le,xe,Se,lt,Gt);if(typeof xe==\"number\")return xe=xe&255,typeof Uint8Array.prototype.indexOf==\"function\"?Gt?Uint8Array.prototype.indexOf.call(Le,xe,Se):Uint8Array.prototype.lastIndexOf.call(Le,xe,Se):Te(Le,[xe],Se,lt,Gt);throw new TypeError(\"val must be string, number or Buffer\")}function Te(Le,xe,Se,lt,Gt){var Vt=1,ar=Le.length,Qr=xe.length;if(lt!==void 0&&(lt=String(lt).toLowerCase(),lt===\"ucs2\"||lt===\"ucs-2\"||lt===\"utf16le\"||lt===\"utf-16le\")){if(Le.length<2||xe.length<2)return-1;Vt=2,ar/=2,Qr/=2,Se/=2}function ai(Wi,Ni){return Vt===1?Wi[Ni]:Wi.readUInt16BE(Ni*Vt)}var jr;if(Gt){var ri=-1;for(jr=Se;jr<ar;jr++)if(ai(Le,jr)===ai(xe,ri===-1?0:jr-ri)){if(ri===-1&&(ri=jr),jr-ri+1===Qr)return ri*Vt}else ri!==-1&&(jr-=jr-ri),ri=-1}else for(Se+Qr>ar&&(Se=ar-Qr),jr=Se;jr>=0;jr--){for(var bi=!0,nn=0;nn<Qr;nn++)if(ai(Le,jr+nn)!==ai(xe,nn)){bi=!1;break}if(bi)return jr}return-1}T.prototype.includes=function(xe,Se,lt){return this.indexOf(xe,Se,lt)!==-1},T.prototype.indexOf=function(xe,Se,lt){return ie(this,xe,Se,lt,!0)},T.prototype.lastIndexOf=function(xe,Se,lt){return ie(this,xe,Se,lt,!1)};function Ee(Le,xe,Se,lt){Se=Number(Se)||0;var Gt=Le.length-Se;lt?(lt=Number(lt),lt>Gt&&(lt=Gt)):lt=Gt;var Vt=xe.length;lt>Vt/2&&(lt=Vt/2);var ar;for(ar=0;ar<lt;++ar){var Qr=parseInt(xe.substr(ar*2,2),16);if(Ye(Qr))return ar;Le[Se+ar]=Qr}return ar}function Ae(Le,xe,Se,lt){return ut(_r(xe,Le.length-Se),Le,Se,lt)}function ze(Le,xe,Se,lt){return ut(Br(xe),Le,Se,lt)}function Ce(Le,xe,Se,lt){return ut(Nr(xe),Le,Se,lt)}function me(Le,xe,Se,lt){return ut(Or(xe,Le.length-Se),Le,Se,lt)}T.prototype.write=function(xe,Se,lt,Gt){if(Se===void 0)Gt=\"utf8\",lt=this.length,Se=0;else if(lt===void 0&&typeof Se==\"string\")Gt=Se,lt=this.length,Se=0;else if(isFinite(Se))Se=Se>>>0,isFinite(lt)?(lt=lt>>>0,Gt===void 0&&(Gt=\"utf8\")):(Gt=lt,lt=void 0);else throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");var Vt=this.length-Se;if((lt===void 0||lt>Vt)&&(lt=Vt),xe.length>0&&(lt<0||Se<0)||Se>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");Gt||(Gt=\"utf8\");for(var ar=!1;;)switch(Gt){case\"hex\":return Ee(this,xe,Se,lt);case\"utf8\":case\"utf-8\":return Ae(this,xe,Se,lt);case\"ascii\":case\"latin1\":case\"binary\":return ze(this,xe,Se,lt);case\"base64\":return Ce(this,xe,Se,lt);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return me(this,xe,Se,lt);default:if(ar)throw new TypeError(\"Unknown encoding: \"+Gt);Gt=(\"\"+Gt).toLowerCase(),ar=!0}},T.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function Re(Le,xe,Se){return xe===0&&Se===Le.length?L.fromByteArray(Le):L.fromByteArray(Le.slice(xe,Se))}function ce(Le,xe,Se){Se=Math.min(Le.length,Se);for(var lt=[],Gt=xe;Gt<Se;){var Vt=Le[Gt],ar=null,Qr=Vt>239?4:Vt>223?3:Vt>191?2:1;if(Gt+Qr<=Se){var ai=void 0,jr=void 0,ri=void 0,bi=void 0;switch(Qr){case 1:Vt<128&&(ar=Vt);break;case 2:ai=Le[Gt+1],(ai&192)===128&&(bi=(Vt&31)<<6|ai&63,bi>127&&(ar=bi));break;case 3:ai=Le[Gt+1],jr=Le[Gt+2],(ai&192)===128&&(jr&192)===128&&(bi=(Vt&15)<<12|(ai&63)<<6|jr&63,bi>2047&&(bi<55296||bi>57343)&&(ar=bi));break;case 4:ai=Le[Gt+1],jr=Le[Gt+2],ri=Le[Gt+3],(ai&192)===128&&(jr&192)===128&&(ri&192)===128&&(bi=(Vt&15)<<18|(ai&63)<<12|(jr&63)<<6|ri&63,bi>65535&&bi<1114112&&(ar=bi))}}ar===null?(ar=65533,Qr=1):ar>65535&&(ar-=65536,lt.push(ar>>>10&1023|55296),ar=56320|ar&1023),lt.push(ar),Gt+=Qr}return nt(lt)}var Ge=4096;function nt(Le){var xe=Le.length;if(xe<=Ge)return String.fromCharCode.apply(String,Le);for(var Se=\"\",lt=0;lt<xe;)Se+=String.fromCharCode.apply(String,Le.slice(lt,lt+=Ge));return Se}function ct(Le,xe,Se){var lt=\"\";Se=Math.min(Le.length,Se);for(var Gt=xe;Gt<Se;++Gt)lt+=String.fromCharCode(Le[Gt]&127);return lt}function qt(Le,xe,Se){var lt=\"\";Se=Math.min(Le.length,Se);for(var Gt=xe;Gt<Se;++Gt)lt+=String.fromCharCode(Le[Gt]);return lt}function rt(Le,xe,Se){var lt=Le.length;(!xe||xe<0)&&(xe=0),(!Se||Se<0||Se>lt)&&(Se=lt);for(var Gt=\"\",Vt=xe;Vt<Se;++Vt)Gt+=Ve[Le[Vt]];return Gt}function ot(Le,xe,Se){for(var lt=Le.slice(xe,Se),Gt=\"\",Vt=0;Vt<lt.length-1;Vt+=2)Gt+=String.fromCharCode(lt[Vt]+lt[Vt+1]*256);return Gt}T.prototype.slice=function(xe,Se){var lt=this.length;xe=~~xe,Se=Se===void 0?lt:~~Se,xe<0?(xe+=lt,xe<0&&(xe=0)):xe>lt&&(xe=lt),Se<0?(Se+=lt,Se<0&&(Se=0)):Se>lt&&(Se=lt),Se<xe&&(Se=xe);var Gt=this.subarray(xe,Se);return Object.setPrototypeOf(Gt,T.prototype),Gt};function Rt(Le,xe,Se){if(Le%1!==0||Le<0)throw new RangeError(\"offset is not uint\");if(Le+xe>Se)throw new RangeError(\"Trying to access beyond buffer length\")}T.prototype.readUintLE=T.prototype.readUIntLE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=this[xe],Vt=1,ar=0;++ar<Se&&(Vt*=256);)Gt+=this[xe+ar]*Vt;return Gt},T.prototype.readUintBE=T.prototype.readUIntBE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=this[xe+--Se],Vt=1;Se>0&&(Vt*=256);)Gt+=this[xe+--Se]*Vt;return Gt},T.prototype.readUint8=T.prototype.readUInt8=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,1,this.length),this[xe]},T.prototype.readUint16LE=T.prototype.readUInt16LE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,2,this.length),this[xe]|this[xe+1]<<8},T.prototype.readUint16BE=T.prototype.readUInt16BE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,2,this.length),this[xe]<<8|this[xe+1]},T.prototype.readUint32LE=T.prototype.readUInt32LE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),(this[xe]|this[xe+1]<<8|this[xe+2]<<16)+this[xe+3]*16777216},T.prototype.readUint32BE=T.prototype.readUInt32BE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),this[xe]*16777216+(this[xe+1]<<16|this[xe+2]<<8|this[xe+3])},T.prototype.readBigUInt64LE=Xe(function(xe){xe=xe>>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=Se+this[++xe]*Math.pow(2,8)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,24),Vt=this[++xe]+this[++xe]*Math.pow(2,8)+this[++xe]*Math.pow(2,16)+lt*Math.pow(2,24);return BigInt(Gt)+(BigInt(Vt)<<BigInt(32))}),T.prototype.readBigUInt64BE=Xe(function(xe){xe=xe>>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=Se*Math.pow(2,24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+this[++xe],Vt=this[++xe]*Math.pow(2,24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+lt;return(BigInt(Gt)<<BigInt(32))+BigInt(Vt)}),T.prototype.readIntLE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=this[xe],Vt=1,ar=0;++ar<Se&&(Vt*=256);)Gt+=this[xe+ar]*Vt;return Vt*=128,Gt>=Vt&&(Gt-=Math.pow(2,8*Se)),Gt},T.prototype.readIntBE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=Se,Vt=1,ar=this[xe+--Gt];Gt>0&&(Vt*=256);)ar+=this[xe+--Gt]*Vt;return Vt*=128,ar>=Vt&&(ar-=Math.pow(2,8*Se)),ar},T.prototype.readInt8=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,1,this.length),this[xe]&128?(255-this[xe]+1)*-1:this[xe]},T.prototype.readInt16LE=function(xe,Se){xe=xe>>>0,Se||Rt(xe,2,this.length);var lt=this[xe]|this[xe+1]<<8;return lt&32768?lt|4294901760:lt},T.prototype.readInt16BE=function(xe,Se){xe=xe>>>0,Se||Rt(xe,2,this.length);var lt=this[xe+1]|this[xe]<<8;return lt&32768?lt|4294901760:lt},T.prototype.readInt32LE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),this[xe]|this[xe+1]<<8|this[xe+2]<<16|this[xe+3]<<24},T.prototype.readInt32BE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),this[xe]<<24|this[xe+1]<<16|this[xe+2]<<8|this[xe+3]},T.prototype.readBigInt64LE=Xe(function(xe){xe=xe>>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=this[xe+4]+this[xe+5]*Math.pow(2,8)+this[xe+6]*Math.pow(2,16)+(lt<<24);return(BigInt(Gt)<<BigInt(32))+BigInt(Se+this[++xe]*Math.pow(2,8)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,24))}),T.prototype.readBigInt64BE=Xe(function(xe){xe=xe>>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=(Se<<24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+this[++xe];return(BigInt(Gt)<<BigInt(32))+BigInt(this[++xe]*Math.pow(2,24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+lt)}),T.prototype.readFloatLE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),_.read(this,xe,!0,23,4)},T.prototype.readFloatBE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),_.read(this,xe,!1,23,4)},T.prototype.readDoubleLE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,8,this.length),_.read(this,xe,!0,52,8)},T.prototype.readDoubleBE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,8,this.length),_.read(this,xe,!1,52,8)};function kt(Le,xe,Se,lt,Gt,Vt){if(!T.isBuffer(Le))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(xe>Gt||xe<Vt)throw new RangeError('\"value\" argument is out of bounds');if(Se+lt>Le.length)throw new RangeError(\"Index out of range\")}T.prototype.writeUintLE=T.prototype.writeUIntLE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,lt=lt>>>0,!Gt){var Vt=Math.pow(2,8*lt)-1;kt(this,xe,Se,lt,Vt,0)}var ar=1,Qr=0;for(this[Se]=xe&255;++Qr<lt&&(ar*=256);)this[Se+Qr]=xe/ar&255;return Se+lt},T.prototype.writeUintBE=T.prototype.writeUIntBE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,lt=lt>>>0,!Gt){var Vt=Math.pow(2,8*lt)-1;kt(this,xe,Se,lt,Vt,0)}var ar=lt-1,Qr=1;for(this[Se+ar]=xe&255;--ar>=0&&(Qr*=256);)this[Se+ar]=xe/Qr&255;return Se+lt},T.prototype.writeUint8=T.prototype.writeUInt8=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,1,255,0),this[Se]=xe&255,Se+1},T.prototype.writeUint16LE=T.prototype.writeUInt16LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,65535,0),this[Se]=xe&255,this[Se+1]=xe>>>8,Se+2},T.prototype.writeUint16BE=T.prototype.writeUInt16BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,65535,0),this[Se]=xe>>>8,this[Se+1]=xe&255,Se+2},T.prototype.writeUint32LE=T.prototype.writeUInt32LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,4294967295,0),this[Se+3]=xe>>>24,this[Se+2]=xe>>>16,this[Se+1]=xe>>>8,this[Se]=xe&255,Se+4},T.prototype.writeUint32BE=T.prototype.writeUInt32BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,4294967295,0),this[Se]=xe>>>24,this[Se+1]=xe>>>16,this[Se+2]=xe>>>8,this[Se+3]=xe&255,Se+4};function Ct(Le,xe,Se,lt,Gt){Et(xe,lt,Gt,Le,Se,7);var Vt=Number(xe&BigInt(4294967295));Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt;var ar=Number(xe>>BigInt(32)&BigInt(4294967295));return Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,Se}function Yt(Le,xe,Se,lt,Gt){Et(xe,lt,Gt,Le,Se,7);var Vt=Number(xe&BigInt(4294967295));Le[Se+7]=Vt,Vt=Vt>>8,Le[Se+6]=Vt,Vt=Vt>>8,Le[Se+5]=Vt,Vt=Vt>>8,Le[Se+4]=Vt;var ar=Number(xe>>BigInt(32)&BigInt(4294967295));return Le[Se+3]=ar,ar=ar>>8,Le[Se+2]=ar,ar=ar>>8,Le[Se+1]=ar,ar=ar>>8,Le[Se]=ar,Se+8}T.prototype.writeBigUInt64LE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Ct(this,xe,Se,BigInt(0),BigInt(\"0xffffffffffffffff\"))}),T.prototype.writeBigUInt64BE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Yt(this,xe,Se,BigInt(0),BigInt(\"0xffffffffffffffff\"))}),T.prototype.writeIntLE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,!Gt){var Vt=Math.pow(2,8*lt-1);kt(this,xe,Se,lt,Vt-1,-Vt)}var ar=0,Qr=1,ai=0;for(this[Se]=xe&255;++ar<lt&&(Qr*=256);)xe<0&&ai===0&&this[Se+ar-1]!==0&&(ai=1),this[Se+ar]=(xe/Qr>>0)-ai&255;return Se+lt},T.prototype.writeIntBE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,!Gt){var Vt=Math.pow(2,8*lt-1);kt(this,xe,Se,lt,Vt-1,-Vt)}var ar=lt-1,Qr=1,ai=0;for(this[Se+ar]=xe&255;--ar>=0&&(Qr*=256);)xe<0&&ai===0&&this[Se+ar+1]!==0&&(ai=1),this[Se+ar]=(xe/Qr>>0)-ai&255;return Se+lt},T.prototype.writeInt8=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,1,127,-128),xe<0&&(xe=255+xe+1),this[Se]=xe&255,Se+1},T.prototype.writeInt16LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,32767,-32768),this[Se]=xe&255,this[Se+1]=xe>>>8,Se+2},T.prototype.writeInt16BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,32767,-32768),this[Se]=xe>>>8,this[Se+1]=xe&255,Se+2},T.prototype.writeInt32LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,2147483647,-2147483648),this[Se]=xe&255,this[Se+1]=xe>>>8,this[Se+2]=xe>>>16,this[Se+3]=xe>>>24,Se+4},T.prototype.writeInt32BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,2147483647,-2147483648),xe<0&&(xe=4294967295+xe+1),this[Se]=xe>>>24,this[Se+1]=xe>>>16,this[Se+2]=xe>>>8,this[Se+3]=xe&255,Se+4},T.prototype.writeBigInt64LE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Ct(this,xe,Se,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))}),T.prototype.writeBigInt64BE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Yt(this,xe,Se,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});function xr(Le,xe,Se,lt,Gt,Vt){if(Se+lt>Le.length)throw new RangeError(\"Index out of range\");if(Se<0)throw new RangeError(\"Index out of range\")}function er(Le,xe,Se,lt,Gt){return xe=+xe,Se=Se>>>0,Gt||xr(Le,xe,Se,4,34028234663852886e22,-34028234663852886e22),_.write(Le,xe,Se,lt,23,4),Se+4}T.prototype.writeFloatLE=function(xe,Se,lt){return er(this,xe,Se,!0,lt)},T.prototype.writeFloatBE=function(xe,Se,lt){return er(this,xe,Se,!1,lt)};function Ke(Le,xe,Se,lt,Gt){return xe=+xe,Se=Se>>>0,Gt||xr(Le,xe,Se,8,17976931348623157e292,-17976931348623157e292),_.write(Le,xe,Se,lt,52,8),Se+8}T.prototype.writeDoubleLE=function(xe,Se,lt){return Ke(this,xe,Se,!0,lt)},T.prototype.writeDoubleBE=function(xe,Se,lt){return Ke(this,xe,Se,!1,lt)},T.prototype.copy=function(xe,Se,lt,Gt){if(!T.isBuffer(xe))throw new TypeError(\"argument should be a Buffer\");if(lt||(lt=0),!Gt&&Gt!==0&&(Gt=this.length),Se>=xe.length&&(Se=xe.length),Se||(Se=0),Gt>0&&Gt<lt&&(Gt=lt),Gt===lt||xe.length===0||this.length===0)return 0;if(Se<0)throw new RangeError(\"targetStart out of bounds\");if(lt<0||lt>=this.length)throw new RangeError(\"Index out of range\");if(Gt<0)throw new RangeError(\"sourceEnd out of bounds\");Gt>this.length&&(Gt=this.length),xe.length-Se<Gt-lt&&(Gt=xe.length-Se+lt);var Vt=Gt-lt;return this===xe&&typeof Uint8Array.prototype.copyWithin==\"function\"?this.copyWithin(Se,lt,Gt):Uint8Array.prototype.set.call(xe,this.subarray(lt,Gt),Se),Vt},T.prototype.fill=function(xe,Se,lt,Gt){if(typeof xe==\"string\"){if(typeof Se==\"string\"?(Gt=Se,Se=0,lt=this.length):typeof lt==\"string\"&&(Gt=lt,lt=this.length),Gt!==void 0&&typeof Gt!=\"string\")throw new TypeError(\"encoding must be a string\");if(typeof Gt==\"string\"&&!T.isEncoding(Gt))throw new TypeError(\"Unknown encoding: \"+Gt);if(xe.length===1){var Vt=xe.charCodeAt(0);(Gt===\"utf8\"&&Vt<128||Gt===\"latin1\")&&(xe=Vt)}}else typeof xe==\"number\"?xe=xe&255:typeof xe==\"boolean\"&&(xe=Number(xe));if(Se<0||this.length<Se||this.length<lt)throw new RangeError(\"Out of range index\");if(lt<=Se)return this;Se=Se>>>0,lt=lt===void 0?this.length:lt>>>0,xe||(xe=0);var ar;if(typeof xe==\"number\")for(ar=Se;ar<lt;++ar)this[ar]=xe;else{var Qr=T.isBuffer(xe)?xe:T.from(xe,Gt),ai=Qr.length;if(ai===0)throw new TypeError('The value \"'+xe+'\" is invalid for argument \"value\"');for(ar=0;ar<lt-Se;++ar)this[ar+Se]=Qr[ar%ai]}return this};var xt={};function bt(Le,xe,Se){xt[Le]=function(lt){function Gt(){var Vt;return l(this,Gt),Vt=d(this,Gt),Object.defineProperty(Vt,\"message\",{value:xe.apply(Vt,arguments),writable:!0,configurable:!0}),Vt.name=\"\".concat(Vt.name,\" [\").concat(Le,\"]\"),Vt.stack,delete Vt.name,Vt}return E(Gt,lt),c(Gt,[{key:\"code\",get:function(){return Le},set:function(ar){Object.defineProperty(this,\"code\",{configurable:!0,enumerable:!0,value:ar,writable:!0})}},{key:\"toString\",value:function(){return\"\".concat(this.name,\" [\").concat(Le,\"]: \").concat(this.message)}}])}(Se)}bt(\"ERR_BUFFER_OUT_OF_BOUNDS\",function(Le){return Le?\"\".concat(Le,\" is outside of buffer bounds\"):\"Attempt to access memory outside buffer bounds\"},RangeError),bt(\"ERR_INVALID_ARG_TYPE\",function(Le,xe){return'The \"'.concat(Le,'\" argument must be of type number. Received type ').concat(A(xe))},TypeError),bt(\"ERR_OUT_OF_RANGE\",function(Le,xe,Se){var lt='The value of \"'.concat(Le,'\" is out of range.'),Gt=Se;return Number.isInteger(Se)&&Math.abs(Se)>Math.pow(2,32)?Gt=Lt(String(Se)):typeof Se==\"bigint\"&&(Gt=String(Se),(Se>Math.pow(BigInt(2),BigInt(32))||Se<-Math.pow(BigInt(2),BigInt(32)))&&(Gt=Lt(Gt)),Gt+=\"n\"),lt+=\" It must be \".concat(xe,\". Received \").concat(Gt),lt},RangeError);function Lt(Le){for(var xe=\"\",Se=Le.length,lt=Le[0]===\"-\"?1:0;Se>=lt+4;Se-=3)xe=\"_\".concat(Le.slice(Se-3,Se)).concat(xe);return\"\".concat(Le.slice(0,Se)).concat(xe)}function St(Le,xe,Se){dt(xe,\"offset\"),(Le[xe]===void 0||Le[xe+Se]===void 0)&&Ht(xe,Le.length-(Se+1))}function Et(Le,xe,Se,lt,Gt,Vt){if(Le>Se||Le<xe){var ar=typeof xe==\"bigint\"?\"n\":\"\",Qr;throw Vt>3?xe===0||xe===BigInt(0)?Qr=\">= 0\".concat(ar,\" and < 2\").concat(ar,\" ** \").concat((Vt+1)*8).concat(ar):Qr=\">= -(2\".concat(ar,\" ** \").concat((Vt+1)*8-1).concat(ar,\") and < 2 ** \")+\"\".concat((Vt+1)*8-1).concat(ar):Qr=\">= \".concat(xe).concat(ar,\" and <= \").concat(Se).concat(ar),new xt.ERR_OUT_OF_RANGE(\"value\",Qr,Le)}St(lt,Gt,Vt)}function dt(Le,xe){if(typeof Le!=\"number\")throw new xt.ERR_INVALID_ARG_TYPE(xe,\"number\",Le)}function Ht(Le,xe,Se){throw Math.floor(Le)!==Le?(dt(Le,Se),new xt.ERR_OUT_OF_RANGE(Se||\"offset\",\"an integer\",Le)):xe<0?new xt.ERR_BUFFER_OUT_OF_BOUNDS:new xt.ERR_OUT_OF_RANGE(Se||\"offset\",\">= \".concat(Se?1:0,\" and <= \").concat(xe),Le)}var $t=/[^+/0-9A-Za-z-_]/g;function fr(Le){if(Le=Le.split(\"=\")[0],Le=Le.trim().replace($t,\"\"),Le.length<2)return\"\";for(;Le.length%4!==0;)Le=Le+\"=\";return Le}function _r(Le,xe){xe=xe||1/0;for(var Se,lt=Le.length,Gt=null,Vt=[],ar=0;ar<lt;++ar){if(Se=Le.charCodeAt(ar),Se>55295&&Se<57344){if(!Gt){if(Se>56319){(xe-=3)>-1&&Vt.push(239,191,189);continue}else if(ar+1===lt){(xe-=3)>-1&&Vt.push(239,191,189);continue}Gt=Se;continue}if(Se<56320){(xe-=3)>-1&&Vt.push(239,191,189),Gt=Se;continue}Se=(Gt-55296<<10|Se-56320)+65536}else Gt&&(xe-=3)>-1&&Vt.push(239,191,189);if(Gt=null,Se<128){if((xe-=1)<0)break;Vt.push(Se)}else if(Se<2048){if((xe-=2)<0)break;Vt.push(Se>>6|192,Se&63|128)}else if(Se<65536){if((xe-=3)<0)break;Vt.push(Se>>12|224,Se>>6&63|128,Se&63|128)}else if(Se<1114112){if((xe-=4)<0)break;Vt.push(Se>>18|240,Se>>12&63|128,Se>>6&63|128,Se&63|128)}else throw new Error(\"Invalid code point\")}return Vt}function Br(Le){for(var xe=[],Se=0;Se<Le.length;++Se)xe.push(Le.charCodeAt(Se)&255);return xe}function Or(Le,xe){for(var Se,lt,Gt,Vt=[],ar=0;ar<Le.length&&!((xe-=2)<0);++ar)Se=Le.charCodeAt(ar),lt=Se>>8,Gt=Se%256,Vt.push(Gt),Vt.push(lt);return Vt}function Nr(Le){return L.toByteArray(fr(Le))}function ut(Le,xe,Se,lt){var Gt;for(Gt=0;Gt<lt&&!(Gt+Se>=xe.length||Gt>=Le.length);++Gt)xe[Gt+Se]=Le[Gt];return Gt}function Ne(Le,xe){return Le instanceof xe||Le!=null&&Le.constructor!=null&&Le.constructor.name!=null&&Le.constructor.name===xe.name}function Ye(Le){return Le!==Le}var Ve=function(){for(var Le=\"0123456789abcdef\",xe=new Array(256),Se=0;Se<16;++Se)for(var lt=Se*16,Gt=0;Gt<16;++Gt)xe[lt+Gt]=Le[Se]+Le[Gt];return xe}();function Xe(Le){return typeof BigInt==\"undefined\"?ht:Le}function ht(){throw new Error(\"BigInt not supported\")}},9216:function(i){\"use strict\";i.exports=l,i.exports.isMobile=l,i.exports.default=l;var a=/(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,o=/CrOS/,s=/android|ipad|playbook|silk/i;function l(u){u||(u={});var c=u.ua;if(!c&&typeof navigator!=\"undefined\"&&(c=navigator.userAgent),c&&c.headers&&typeof c.headers[\"user-agent\"]==\"string\"&&(c=c.headers[\"user-agent\"]),typeof c!=\"string\")return!1;var f=a.test(c)&&!o.test(c)||!!u.tablet&&s.test(c);return!f&&u.tablet&&u.featureDetect&&navigator&&navigator.maxTouchPoints>1&&c.indexOf(\"Macintosh\")!==-1&&c.indexOf(\"Safari\")!==-1&&(f=!0),f}},6296:function(i,a,o){\"use strict\";i.exports=h;var s=o(7261),l=o(9977),u=o(1811);function c(d,v){this._controllerNames=Object.keys(d),this._controllerList=this._controllerNames.map(function(x){return d[x]}),this._mode=v,this._active=d[v],this._active||(this._mode=\"turntable\",this._active=d.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 f=c.prototype;f.flush=function(d){for(var v=this._controllerList,x=0;x<v.length;++x)v[x].flush(d)},f.idle=function(d){for(var v=this._controllerList,x=0;x<v.length;++x)v[x].idle(d)},f.lookAt=function(d,v,x,b){for(var p=this._controllerList,E=0;E<p.length;++E)p[E].lookAt(d,v,x,b)},f.rotate=function(d,v,x,b){for(var p=this._controllerList,E=0;E<p.length;++E)p[E].rotate(d,v,x,b)},f.pan=function(d,v,x,b){for(var p=this._controllerList,E=0;E<p.length;++E)p[E].pan(d,v,x,b)},f.translate=function(d,v,x,b){for(var p=this._controllerList,E=0;E<p.length;++E)p[E].translate(d,v,x,b)},f.setMatrix=function(d,v){for(var x=this._controllerList,b=0;b<x.length;++b)x[b].setMatrix(d,v)},f.setDistanceLimits=function(d,v){for(var x=this._controllerList,b=0;b<x.length;++b)x[b].setDistanceLimits(d,v)},f.setDistance=function(d,v){for(var x=this._controllerList,b=0;b<x.length;++b)x[b].setDistance(d,v)},f.recalcMatrix=function(d){this._active.recalcMatrix(d)},f.getDistance=function(d){return this._active.getDistance(d)},f.getDistanceLimits=function(d){return this._active.getDistanceLimits(d)},f.lastT=function(){return this._active.lastT()},f.setMode=function(d){if(d!==this._mode){var v=this._controllerNames.indexOf(d);if(!(v<0)){var x=this._active,b=this._controllerList[v],p=Math.max(x.lastT(),b.lastT());x.recalcMatrix(p),b.setMatrix(p,x.computedMatrix),this._active=b,this._mode=d,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}}},f.getMode=function(){return this._mode};function h(d){d=d||{};var v=d.eye||[0,0,1],x=d.center||[0,0,0],b=d.up||[0,1,0],p=d.distanceLimits||[0,1/0],E=d.mode||\"turntable\",k=s(),A=l(),L=u();return k.setDistanceLimits(p[0],p[1]),k.lookAt(0,v,x,b),A.setDistanceLimits(p[0],p[1]),A.lookAt(0,v,x,b),L.setDistanceLimits(p[0],p[1]),L.lookAt(0,v,x,b),new c({turntable:k,orbit:A,matrix:L},E)}},7169:function(i,a,o){\"use strict\";var s=typeof WeakMap==\"undefined\"?o(1538):WeakMap,l=o(2762),u=o(8116),c=new s;function f(h){var d=c.get(h),v=d&&(d._triangleBuffer.handle||d._triangleBuffer.buffer);if(!v||!h.isBuffer(v)){var x=l(h,new Float32Array([-1,-1,-1,4,4,-1]));d=u(h,[{buffer:x,type:h.FLOAT,size:2}]),d._triangleBuffer=x,c.set(h,d)}d.bind(),h.drawArrays(h.TRIANGLES,0,3),d.unbind()}i.exports=f},1085:function(i,a,o){var s=o(1371);i.exports=l;function l(u,c,f){c=typeof c==\"number\"?c:1,f=f||\": \";var h=u.split(/\\r?\\n/),d=String(h.length+c-1).length;return h.map(function(v,x){var b=x+c,p=String(b).length,E=s(b,d-p);return E+f+v}).join(`\n", - "`)}},3952:function(i,a,o){\"use strict\";i.exports=u;var s=o(3250);function l(c,f){for(var h=new Array(f+1),d=0;d<c.length;++d)h[d]=c[d];for(var d=0;d<=c.length;++d){for(var v=c.length;v<=f;++v){for(var x=new Array(f),b=0;b<f;++b)x[b]=Math.pow(v+1-d,b);h[v]=x}var p=s.apply(void 0,h);if(p)return!0}return!1}function u(c){var f=c.length;if(f===0)return[];if(f===1)return[0];for(var h=c[0].length,d=[c[0]],v=[0],x=1;x<f;++x){if(d.push(c[x]),!l(d,h)){d.pop();continue}if(v.push(x),v.length===h+1)return v}return v}},5995:function(i,a,o){\"use strict\";i.exports=u;var s=o(7642),l=o(6037);function u(c,f){return s(f).filter(function(h){for(var d=new Array(h.length),v=0;v<h.length;++v)d[v]=f[h[v]];return l(d)*c<1})}},3502:function(i,a,o){i.exports=u;var s=o(5995),l=o(9127);function u(c,f){return l(s(c,f))}},6468:function(i){i.exports=function(o){return atob(o)}},2642:function(i,a,o){\"use strict\";i.exports=u;var s=o(727);function l(c){for(var f=0,h=0;h<c.length;++h)f+=c[h];return f}function u(c,f){for(var h=f.length,d=new Array(h+1),v=0;v<h;++v){for(var x=new Array(h+1),b=0;b<=h;++b)x[b]=c[b][v];d[v]=x}d[h]=new Array(h+1);for(var v=0;v<=h;++v)d[h][v]=1;for(var p=new Array(h+1),v=0;v<h;++v)p[v]=f[v];p[h]=1;var E=s(d,p),k=l(E[h+1]);k===0&&(k=1);for(var A=new Array(h+1),v=0;v<=h;++v)A[v]=l(E[v])/k;return A}},7507:function(i,a){\"use strict\";a.byteLength=d,a.toByteArray=x,a.fromByteArray=E;for(var o=[],s=[],l=typeof Uint8Array!=\"undefined\"?Uint8Array:Array,u=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",c=0,f=u.length;c<f;++c)o[c]=u[c],s[u.charCodeAt(c)]=c;s[45]=62,s[95]=63;function h(k){var A=k.length;if(A%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var L=k.indexOf(\"=\");L===-1&&(L=A);var _=L===A?0:4-L%4;return[L,_]}function d(k){var A=h(k),L=A[0],_=A[1];return(L+_)*3/4-_}function v(k,A,L){return(A+L)*3/4-L}function x(k){var A,L=h(k),_=L[0],C=L[1],M=new l(v(k,_,C)),g=0,P=C>0?_-4:_,T;for(T=0;T<P;T+=4)A=s[k.charCodeAt(T)]<<18|s[k.charCodeAt(T+1)]<<12|s[k.charCodeAt(T+2)]<<6|s[k.charCodeAt(T+3)],M[g++]=A>>16&255,M[g++]=A>>8&255,M[g++]=A&255;return C===2&&(A=s[k.charCodeAt(T)]<<2|s[k.charCodeAt(T+1)]>>4,M[g++]=A&255),C===1&&(A=s[k.charCodeAt(T)]<<10|s[k.charCodeAt(T+1)]<<4|s[k.charCodeAt(T+2)]>>2,M[g++]=A>>8&255,M[g++]=A&255),M}function b(k){return o[k>>18&63]+o[k>>12&63]+o[k>>6&63]+o[k&63]}function p(k,A,L){for(var _,C=[],M=A;M<L;M+=3)_=(k[M]<<16&16711680)+(k[M+1]<<8&65280)+(k[M+2]&255),C.push(b(_));return C.join(\"\")}function E(k){for(var A,L=k.length,_=L%3,C=[],M=16383,g=0,P=L-_;g<P;g+=M)C.push(p(k,g,g+M>P?P:g+M));return _===1?(A=k[L-1],C.push(o[A>>2]+o[A<<4&63]+\"==\")):_===2&&(A=(k[L-2]<<8)+k[L-1],C.push(o[A>>10]+o[A>>4&63]+o[A<<2&63]+\"=\")),C.join(\"\")}},3865:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]).add(c[0].mul(u[1])),u[1].mul(c[1]))}},1318:function(i){\"use strict\";i.exports=a;function a(o,s){return o[0].mul(s[1]).cmp(s[0].mul(o[1]))}},8697:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]),u[1].mul(c[0]))}},7842:function(i,a,o){\"use strict\";var s=o(6330),l=o(1533),u=o(2651),c=o(6768),f=o(869),h=o(8697);i.exports=d;function d(v,x){if(s(v))return x?h(v,d(x)):[v[0].clone(),v[1].clone()];var b=0,p,E;if(l(v))p=v.clone();else if(typeof v==\"string\")p=c(v);else{if(v===0)return[u(0),u(1)];if(v===Math.floor(v))p=u(v);else{for(;v!==Math.floor(v);)v=v*Math.pow(2,256),b-=256;p=u(v)}}if(s(x))p.mul(x[1]),E=x[0].clone();else if(l(x))E=x.clone();else if(typeof x==\"string\")E=c(x);else if(!x)E=u(1);else if(x===Math.floor(x))E=u(x);else{for(;x!==Math.floor(x);)x=x*Math.pow(2,256),b+=256;E=u(x)}return b>0?p=p.ushln(b):b<0&&(E=E.ushln(-b)),f(p,E)}},6330:function(i,a,o){\"use strict\";var s=o(1533);i.exports=l;function l(u){return Array.isArray(u)&&u.length===2&&s(u[0])&&s(u[1])}},5716:function(i,a,o){\"use strict\";var s=o(6859);i.exports=l;function l(u){return u.cmp(new s(0))}},1369:function(i,a,o){\"use strict\";var s=o(5716);i.exports=l;function l(u){var c=u.length,f=u.words,h=0;if(c===1)h=f[0];else if(c===2)h=f[0]+f[1]*67108864;else for(var d=0;d<c;d++){var v=f[d];h+=v*Math.pow(67108864,d)}return s(u)*h}},4025:function(i,a,o){\"use strict\";var s=o(2361),l=o(8828).countTrailingZeros;i.exports=u;function u(c){var f=l(s.lo(c));if(f<32)return f;var h=l(s.hi(c));return h>20?52:h+32}},1533:function(i,a,o){\"use strict\";var s=o(6859);i.exports=l;function l(u){return u&&typeof u==\"object\"&&!!u.words}},2651:function(i,a,o){\"use strict\";var s=o(6859),l=o(2361);i.exports=u;function u(c){var f=l.exponent(c);return f<52?new s(c):new s(c*Math.pow(2,52-f)).ushln(f-52)}},869:function(i,a,o){\"use strict\";var s=o(2651),l=o(5716);i.exports=u;function u(c,f){var h=l(c),d=l(f);if(h===0)return[s(0),s(1)];if(d===0)return[s(0),s(0)];d<0&&(c=c.neg(),f=f.neg());var v=c.gcd(f);return v.cmpn(1)?[c.div(v),f.div(v)]:[c,f]}},6768:function(i,a,o){\"use strict\";var s=o(6859);i.exports=l;function l(u){return new s(u)}},6504:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[0]),u[1].mul(c[1]))}},7721:function(i,a,o){\"use strict\";var s=o(5716);i.exports=l;function l(u){return s(u[0])*s(u[1])}},5572:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]).sub(u[1].mul(c[0])),u[1].mul(c[1]))}},946:function(i,a,o){\"use strict\";var s=o(1369),l=o(4025);i.exports=u;function u(c){var f=c[0],h=c[1];if(f.cmpn(0)===0)return 0;var d=f.abs().divmod(h.abs()),v=d.div,x=s(v),b=d.mod,p=f.negative!==h.negative?-1:1;if(b.cmpn(0)===0)return p*x;if(x){var E=l(x)+4,k=s(b.ushln(E).divRound(h));return p*(x+k*Math.pow(2,-E))}else{var A=h.bitLength()-b.bitLength()+53,k=s(b.ushln(A).divRound(h));return A<1023?p*k*Math.pow(2,-A):(k*=Math.pow(2,-1023),p*k*Math.pow(2,1023-A))}}},2478:function(i){\"use strict\";function a(f,h,d,v,x){for(var b=x+1;v<=x;){var p=v+x>>>1,E=f[p],k=d!==void 0?d(E,h):E-h;k>=0?(b=p,x=p-1):v=p+1}return b}function o(f,h,d,v,x){for(var b=x+1;v<=x;){var p=v+x>>>1,E=f[p],k=d!==void 0?d(E,h):E-h;k>0?(b=p,x=p-1):v=p+1}return b}function s(f,h,d,v,x){for(var b=v-1;v<=x;){var p=v+x>>>1,E=f[p],k=d!==void 0?d(E,h):E-h;k<0?(b=p,v=p+1):x=p-1}return b}function l(f,h,d,v,x){for(var b=v-1;v<=x;){var p=v+x>>>1,E=f[p],k=d!==void 0?d(E,h):E-h;k<=0?(b=p,v=p+1):x=p-1}return b}function u(f,h,d,v,x){for(;v<=x;){var b=v+x>>>1,p=f[b],E=d!==void 0?d(p,h):p-h;if(E===0)return b;E<=0?v=b+1:x=b-1}return-1}function c(f,h,d,v,x,b){return typeof d==\"function\"?b(f,h,d,v===void 0?0:v|0,x===void 0?f.length-1:x|0):b(f,h,void 0,d===void 0?0:d|0,v===void 0?f.length-1:v|0)}i.exports={ge:function(f,h,d,v,x){return c(f,h,d,v,x,a)},gt:function(f,h,d,v,x){return c(f,h,d,v,x,o)},lt:function(f,h,d,v,x){return c(f,h,d,v,x,s)},le:function(f,h,d,v,x){return c(f,h,d,v,x,l)},eq:function(f,h,d,v,x){return c(f,h,d,v,x,u)}}},8828:function(i,a){\"use strict\";\"use restrict\";var o=32;a.INT_BITS=o,a.INT_MAX=2147483647,a.INT_MIN=-1<<o-1,a.sign=function(u){return(u>0)-(u<0)},a.abs=function(u){var c=u>>o-1;return(u^c)-c},a.min=function(u,c){return c^(u^c)&-(u<c)},a.max=function(u,c){return u^(u^c)&-(u<c)},a.isPow2=function(u){return!(u&u-1)&&!!u},a.log2=function(u){var c,f;return c=(u>65535)<<4,u>>>=c,f=(u>255)<<3,u>>>=f,c|=f,f=(u>15)<<2,u>>>=f,c|=f,f=(u>3)<<1,u>>>=f,c|=f,c|u>>1},a.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},a.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var c=32;return u&=-u,u&&c--,u&65535&&(c-=16),u&16711935&&(c-=8),u&252645135&&(c-=4),u&858993459&&(c-=2),u&1431655765&&(c-=1),c}a.countTrailingZeros=s,a.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},a.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},a.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var c=0;c<256;++c){var f=c,h=c,d=7;for(f>>>=1;f;f>>>=1)h<<=1,h|=f&1,--d;u[c]=h<<d&255}})(l),a.reverse=function(u){return l[u&255]<<24|l[u>>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},a.interleave2=function(u,c){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,c&=65535,c=(c|c<<8)&16711935,c=(c|c<<4)&252645135,c=(c|c<<2)&858993459,c=(c|c<<1)&1431655765,u|c<<1},a.deinterleave2=function(u,c){return u=u>>>c&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},a.interleave3=function(u,c,f){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|=c<<1,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|f<<2},a.deinterleave3=function(u,c){return u=u>>>c&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},a.nextCombination=function(u){var c=u|u-1;return c+1|(~c&-~c)-1>>>s(u)+1}},6859:function(i,a,o){i=o.nmd(i),function(s,l){\"use strict\";function u(G,N){if(!G)throw new Error(N||\"Assertion failed\")}function c(G,N){G.super_=N;var W=function(){};W.prototype=N.prototype,G.prototype=new W,G.prototype.constructor=G}function f(G,N,W){if(f.isBN(G))return G;this.negative=0,this.words=null,this.length=0,this.red=null,G!==null&&((N===\"le\"||N===\"be\")&&(W=N,N=10),this._init(G||0,N||10,W||\"be\"))}typeof s==\"object\"?s.exports=f:l.BN=f,f.BN=f,f.wordSize=26;var h;try{typeof window!=\"undefined\"&&typeof window.Buffer!=\"undefined\"?h=window.Buffer:h=o(7790).Buffer}catch(G){}f.isBN=function(N){return N instanceof f?!0:N!==null&&typeof N==\"object\"&&N.constructor.wordSize===f.wordSize&&Array.isArray(N.words)},f.max=function(N,W){return N.cmp(W)>0?N:W},f.min=function(N,W){return N.cmp(W)<0?N:W},f.prototype._init=function(N,W,re){if(typeof N==\"number\")return this._initNumber(N,W,re);if(typeof N==\"object\")return this._initArray(N,W,re);W===\"hex\"&&(W=16),u(W===(W|0)&&W>=2&&W<=36),N=N.toString().replace(/\\s+/g,\"\");var ae=0;N[0]===\"-\"&&(ae++,this.negative=1),ae<N.length&&(W===16?this._parseHex(N,ae,re):(this._parseBase(N,W,ae),re===\"le\"&&this._initArray(this.toArray(),W,re)))},f.prototype._initNumber=function(N,W,re){N<0&&(this.negative=1,N=-N),N<67108864?(this.words=[N&67108863],this.length=1):N<4503599627370496?(this.words=[N&67108863,N/67108864&67108863],this.length=2):(u(N<9007199254740992),this.words=[N&67108863,N/67108864&67108863,1],this.length=3),re===\"le\"&&this._initArray(this.toArray(),W,re)},f.prototype._initArray=function(N,W,re){if(u(typeof N.length==\"number\"),N.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(N.length/3),this.words=new Array(this.length);for(var ae=0;ae<this.length;ae++)this.words[ae]=0;var _e,Me,ke=0;if(re===\"be\")for(ae=N.length-1,_e=0;ae>=0;ae-=3)Me=N[ae]|N[ae-1]<<8|N[ae-2]<<16,this.words[_e]|=Me<<ke&67108863,this.words[_e+1]=Me>>>26-ke&67108863,ke+=24,ke>=26&&(ke-=26,_e++);else if(re===\"le\")for(ae=0,_e=0;ae<N.length;ae+=3)Me=N[ae]|N[ae+1]<<8|N[ae+2]<<16,this.words[_e]|=Me<<ke&67108863,this.words[_e+1]=Me>>>26-ke&67108863,ke+=24,ke>=26&&(ke-=26,_e++);return this.strip()};function d(G,N){var W=G.charCodeAt(N);return W>=65&&W<=70?W-55:W>=97&&W<=102?W-87:W-48&15}function v(G,N,W){var re=d(G,W);return W-1>=N&&(re|=d(G,W-1)<<4),re}f.prototype._parseHex=function(N,W,re){this.length=Math.ceil((N.length-W)/6),this.words=new Array(this.length);for(var ae=0;ae<this.length;ae++)this.words[ae]=0;var _e=0,Me=0,ke;if(re===\"be\")for(ae=N.length-1;ae>=W;ae-=2)ke=v(N,W,ae)<<_e,this.words[Me]|=ke&67108863,_e>=18?(_e-=18,Me+=1,this.words[Me]|=ke>>>26):_e+=8;else{var ge=N.length-W;for(ae=ge%2===0?W+1:W;ae<N.length;ae+=2)ke=v(N,W,ae)<<_e,this.words[Me]|=ke&67108863,_e>=18?(_e-=18,Me+=1,this.words[Me]|=ke>>>26):_e+=8}this.strip()};function x(G,N,W,re){for(var ae=0,_e=Math.min(G.length,W),Me=N;Me<_e;Me++){var ke=G.charCodeAt(Me)-48;ae*=re,ke>=49?ae+=ke-49+10:ke>=17?ae+=ke-17+10:ae+=ke}return ae}f.prototype._parseBase=function(N,W,re){this.words=[0],this.length=1;for(var ae=0,_e=1;_e<=67108863;_e*=W)ae++;ae--,_e=_e/W|0;for(var Me=N.length-re,ke=Me%ae,ge=Math.min(Me,Me-ke)+re,ie=0,Te=re;Te<ge;Te+=ae)ie=x(N,Te,Te+ae,W),this.imuln(_e),this.words[0]+ie<67108864?this.words[0]+=ie:this._iaddn(ie);if(ke!==0){var Ee=1;for(ie=x(N,Te,N.length,W),Te=0;Te<ke;Te++)Ee*=W;this.imuln(Ee),this.words[0]+ie<67108864?this.words[0]+=ie:this._iaddn(ie)}this.strip()},f.prototype.copy=function(N){N.words=new Array(this.length);for(var W=0;W<this.length;W++)N.words[W]=this.words[W];N.length=this.length,N.negative=this.negative,N.red=this.red},f.prototype.clone=function(){var N=new f(null);return this.copy(N),N},f.prototype._expand=function(N){for(;this.length<N;)this.words[this.length++]=0;return this},f.prototype.strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},f.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},f.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var b=[\"\",\"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\"],p=[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],E=[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];f.prototype.toString=function(N,W){N=N||10,W=W|0||1;var re;if(N===16||N===\"hex\"){re=\"\";for(var ae=0,_e=0,Me=0;Me<this.length;Me++){var ke=this.words[Me],ge=((ke<<ae|_e)&16777215).toString(16);_e=ke>>>24-ae&16777215,_e!==0||Me!==this.length-1?re=b[6-ge.length]+ge+re:re=ge+re,ae+=2,ae>=26&&(ae-=26,Me--)}for(_e!==0&&(re=_e.toString(16)+re);re.length%W!==0;)re=\"0\"+re;return this.negative!==0&&(re=\"-\"+re),re}if(N===(N|0)&&N>=2&&N<=36){var ie=p[N],Te=E[N];re=\"\";var Ee=this.clone();for(Ee.negative=0;!Ee.isZero();){var Ae=Ee.modn(Te).toString(N);Ee=Ee.idivn(Te),Ee.isZero()?re=Ae+re:re=b[ie-Ae.length]+Ae+re}for(this.isZero()&&(re=\"0\"+re);re.length%W!==0;)re=\"0\"+re;return this.negative!==0&&(re=\"-\"+re),re}u(!1,\"Base should be between 2 and 36\")},f.prototype.toNumber=function(){var N=this.words[0];return this.length===2?N+=this.words[1]*67108864:this.length===3&&this.words[2]===1?N+=4503599627370496+this.words[1]*67108864:this.length>2&&u(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0?-N:N},f.prototype.toJSON=function(){return this.toString(16)},f.prototype.toBuffer=function(N,W){return u(typeof h!=\"undefined\"),this.toArrayLike(h,N,W)},f.prototype.toArray=function(N,W){return this.toArrayLike(Array,N,W)},f.prototype.toArrayLike=function(N,W,re){var ae=this.byteLength(),_e=re||Math.max(1,ae);u(ae<=_e,\"byte array longer than desired length\"),u(_e>0,\"Requested array length <= 0\"),this.strip();var Me=W===\"le\",ke=new N(_e),ge,ie,Te=this.clone();if(Me){for(ie=0;!Te.isZero();ie++)ge=Te.andln(255),Te.iushrn(8),ke[ie]=ge;for(;ie<_e;ie++)ke[ie]=0}else{for(ie=0;ie<_e-ae;ie++)ke[ie]=0;for(ie=0;!Te.isZero();ie++)ge=Te.andln(255),Te.iushrn(8),ke[_e-ie-1]=ge}return ke},Math.clz32?f.prototype._countBits=function(N){return 32-Math.clz32(N)}:f.prototype._countBits=function(N){var W=N,re=0;return W>=4096&&(re+=13,W>>>=13),W>=64&&(re+=7,W>>>=7),W>=8&&(re+=4,W>>>=4),W>=2&&(re+=2,W>>>=2),re+W},f.prototype._zeroBits=function(N){if(N===0)return 26;var W=N,re=0;return W&8191||(re+=13,W>>>=13),W&127||(re+=7,W>>>=7),W&15||(re+=4,W>>>=4),W&3||(re+=2,W>>>=2),W&1||re++,re},f.prototype.bitLength=function(){var N=this.words[this.length-1],W=this._countBits(N);return(this.length-1)*26+W};function k(G){for(var N=new Array(G.bitLength()),W=0;W<N.length;W++){var re=W/26|0,ae=W%26;N[W]=(G.words[re]&1<<ae)>>>ae}return N}f.prototype.zeroBits=function(){if(this.isZero())return 0;for(var N=0,W=0;W<this.length;W++){var re=this._zeroBits(this.words[W]);if(N+=re,re!==26)break}return N},f.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},f.prototype.toTwos=function(N){return this.negative!==0?this.abs().inotn(N).iaddn(1):this.clone()},f.prototype.fromTwos=function(N){return this.testn(N-1)?this.notn(N).iaddn(1).ineg():this.clone()},f.prototype.isNeg=function(){return this.negative!==0},f.prototype.neg=function(){return this.clone().ineg()},f.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},f.prototype.iuor=function(N){for(;this.length<N.length;)this.words[this.length++]=0;for(var W=0;W<N.length;W++)this.words[W]=this.words[W]|N.words[W];return this.strip()},f.prototype.ior=function(N){return u((this.negative|N.negative)===0),this.iuor(N)},f.prototype.or=function(N){return this.length>N.length?this.clone().ior(N):N.clone().ior(this)},f.prototype.uor=function(N){return this.length>N.length?this.clone().iuor(N):N.clone().iuor(this)},f.prototype.iuand=function(N){var W;this.length>N.length?W=N:W=this;for(var re=0;re<W.length;re++)this.words[re]=this.words[re]&N.words[re];return this.length=W.length,this.strip()},f.prototype.iand=function(N){return u((this.negative|N.negative)===0),this.iuand(N)},f.prototype.and=function(N){return this.length>N.length?this.clone().iand(N):N.clone().iand(this)},f.prototype.uand=function(N){return this.length>N.length?this.clone().iuand(N):N.clone().iuand(this)},f.prototype.iuxor=function(N){var W,re;this.length>N.length?(W=this,re=N):(W=N,re=this);for(var ae=0;ae<re.length;ae++)this.words[ae]=W.words[ae]^re.words[ae];if(this!==W)for(;ae<W.length;ae++)this.words[ae]=W.words[ae];return this.length=W.length,this.strip()},f.prototype.ixor=function(N){return u((this.negative|N.negative)===0),this.iuxor(N)},f.prototype.xor=function(N){return this.length>N.length?this.clone().ixor(N):N.clone().ixor(this)},f.prototype.uxor=function(N){return this.length>N.length?this.clone().iuxor(N):N.clone().iuxor(this)},f.prototype.inotn=function(N){u(typeof N==\"number\"&&N>=0);var W=Math.ceil(N/26)|0,re=N%26;this._expand(W),re>0&&W--;for(var ae=0;ae<W;ae++)this.words[ae]=~this.words[ae]&67108863;return re>0&&(this.words[ae]=~this.words[ae]&67108863>>26-re),this.strip()},f.prototype.notn=function(N){return this.clone().inotn(N)},f.prototype.setn=function(N,W){u(typeof N==\"number\"&&N>=0);var re=N/26|0,ae=N%26;return this._expand(re+1),W?this.words[re]=this.words[re]|1<<ae:this.words[re]=this.words[re]&~(1<<ae),this.strip()},f.prototype.iadd=function(N){var W;if(this.negative!==0&&N.negative===0)return this.negative=0,W=this.isub(N),this.negative^=1,this._normSign();if(this.negative===0&&N.negative!==0)return N.negative=0,W=this.isub(N),N.negative=1,W._normSign();var re,ae;this.length>N.length?(re=this,ae=N):(re=N,ae=this);for(var _e=0,Me=0;Me<ae.length;Me++)W=(re.words[Me]|0)+(ae.words[Me]|0)+_e,this.words[Me]=W&67108863,_e=W>>>26;for(;_e!==0&&Me<re.length;Me++)W=(re.words[Me]|0)+_e,this.words[Me]=W&67108863,_e=W>>>26;if(this.length=re.length,_e!==0)this.words[this.length]=_e,this.length++;else if(re!==this)for(;Me<re.length;Me++)this.words[Me]=re.words[Me];return this},f.prototype.add=function(N){var W;return N.negative!==0&&this.negative===0?(N.negative=0,W=this.sub(N),N.negative^=1,W):N.negative===0&&this.negative!==0?(this.negative=0,W=N.sub(this),this.negative=1,W):this.length>N.length?this.clone().iadd(N):N.clone().iadd(this)},f.prototype.isub=function(N){if(N.negative!==0){N.negative=0;var W=this.iadd(N);return N.negative=1,W._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(N),this.negative=1,this._normSign();var re=this.cmp(N);if(re===0)return this.negative=0,this.length=1,this.words[0]=0,this;var ae,_e;re>0?(ae=this,_e=N):(ae=N,_e=this);for(var Me=0,ke=0;ke<_e.length;ke++)W=(ae.words[ke]|0)-(_e.words[ke]|0)+Me,Me=W>>26,this.words[ke]=W&67108863;for(;Me!==0&&ke<ae.length;ke++)W=(ae.words[ke]|0)+Me,Me=W>>26,this.words[ke]=W&67108863;if(Me===0&&ke<ae.length&&ae!==this)for(;ke<ae.length;ke++)this.words[ke]=ae.words[ke];return this.length=Math.max(this.length,ke),ae!==this&&(this.negative=1),this.strip()},f.prototype.sub=function(N){return this.clone().isub(N)};function A(G,N,W){W.negative=N.negative^G.negative;var re=G.length+N.length|0;W.length=re,re=re-1|0;var ae=G.words[0]|0,_e=N.words[0]|0,Me=ae*_e,ke=Me&67108863,ge=Me/67108864|0;W.words[0]=ke;for(var ie=1;ie<re;ie++){for(var Te=ge>>>26,Ee=ge&67108863,Ae=Math.min(ie,N.length-1),ze=Math.max(0,ie-G.length+1);ze<=Ae;ze++){var Ce=ie-ze|0;ae=G.words[Ce]|0,_e=N.words[ze]|0,Me=ae*_e+Ee,Te+=Me/67108864|0,Ee=Me&67108863}W.words[ie]=Ee|0,ge=Te|0}return ge!==0?W.words[ie]=ge|0:W.length--,W.strip()}var L=function(N,W,re){var ae=N.words,_e=W.words,Me=re.words,ke=0,ge,ie,Te,Ee=ae[0]|0,Ae=Ee&8191,ze=Ee>>>13,Ce=ae[1]|0,me=Ce&8191,Re=Ce>>>13,ce=ae[2]|0,Ge=ce&8191,nt=ce>>>13,ct=ae[3]|0,qt=ct&8191,rt=ct>>>13,ot=ae[4]|0,Rt=ot&8191,kt=ot>>>13,Ct=ae[5]|0,Yt=Ct&8191,xr=Ct>>>13,er=ae[6]|0,Ke=er&8191,xt=er>>>13,bt=ae[7]|0,Lt=bt&8191,St=bt>>>13,Et=ae[8]|0,dt=Et&8191,Ht=Et>>>13,$t=ae[9]|0,fr=$t&8191,_r=$t>>>13,Br=_e[0]|0,Or=Br&8191,Nr=Br>>>13,ut=_e[1]|0,Ne=ut&8191,Ye=ut>>>13,Ve=_e[2]|0,Xe=Ve&8191,ht=Ve>>>13,Le=_e[3]|0,xe=Le&8191,Se=Le>>>13,lt=_e[4]|0,Gt=lt&8191,Vt=lt>>>13,ar=_e[5]|0,Qr=ar&8191,ai=ar>>>13,jr=_e[6]|0,ri=jr&8191,bi=jr>>>13,nn=_e[7]|0,Wi=nn&8191,Ni=nn>>>13,_n=_e[8]|0,$i=_n&8191,zn=_n>>>13,Wn=_e[9]|0,It=Wn&8191,ft=Wn>>>13;re.negative=N.negative^W.negative,re.length=19,ge=Math.imul(Ae,Or),ie=Math.imul(Ae,Nr),ie=ie+Math.imul(ze,Or)|0,Te=Math.imul(ze,Nr);var jt=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jt>>>26)|0,jt&=67108863,ge=Math.imul(me,Or),ie=Math.imul(me,Nr),ie=ie+Math.imul(Re,Or)|0,Te=Math.imul(Re,Nr),ge=ge+Math.imul(Ae,Ne)|0,ie=ie+Math.imul(Ae,Ye)|0,ie=ie+Math.imul(ze,Ne)|0,Te=Te+Math.imul(ze,Ye)|0;var Zt=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,ge=Math.imul(Ge,Or),ie=Math.imul(Ge,Nr),ie=ie+Math.imul(nt,Or)|0,Te=Math.imul(nt,Nr),ge=ge+Math.imul(me,Ne)|0,ie=ie+Math.imul(me,Ye)|0,ie=ie+Math.imul(Re,Ne)|0,Te=Te+Math.imul(Re,Ye)|0,ge=ge+Math.imul(Ae,Xe)|0,ie=ie+Math.imul(Ae,ht)|0,ie=ie+Math.imul(ze,Xe)|0,Te=Te+Math.imul(ze,ht)|0;var yr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(yr>>>26)|0,yr&=67108863,ge=Math.imul(qt,Or),ie=Math.imul(qt,Nr),ie=ie+Math.imul(rt,Or)|0,Te=Math.imul(rt,Nr),ge=ge+Math.imul(Ge,Ne)|0,ie=ie+Math.imul(Ge,Ye)|0,ie=ie+Math.imul(nt,Ne)|0,Te=Te+Math.imul(nt,Ye)|0,ge=ge+Math.imul(me,Xe)|0,ie=ie+Math.imul(me,ht)|0,ie=ie+Math.imul(Re,Xe)|0,Te=Te+Math.imul(Re,ht)|0,ge=ge+Math.imul(Ae,xe)|0,ie=ie+Math.imul(Ae,Se)|0,ie=ie+Math.imul(ze,xe)|0,Te=Te+Math.imul(ze,Se)|0;var Fr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Fr>>>26)|0,Fr&=67108863,ge=Math.imul(Rt,Or),ie=Math.imul(Rt,Nr),ie=ie+Math.imul(kt,Or)|0,Te=Math.imul(kt,Nr),ge=ge+Math.imul(qt,Ne)|0,ie=ie+Math.imul(qt,Ye)|0,ie=ie+Math.imul(rt,Ne)|0,Te=Te+Math.imul(rt,Ye)|0,ge=ge+Math.imul(Ge,Xe)|0,ie=ie+Math.imul(Ge,ht)|0,ie=ie+Math.imul(nt,Xe)|0,Te=Te+Math.imul(nt,ht)|0,ge=ge+Math.imul(me,xe)|0,ie=ie+Math.imul(me,Se)|0,ie=ie+Math.imul(Re,xe)|0,Te=Te+Math.imul(Re,Se)|0,ge=ge+Math.imul(Ae,Gt)|0,ie=ie+Math.imul(Ae,Vt)|0,ie=ie+Math.imul(ze,Gt)|0,Te=Te+Math.imul(ze,Vt)|0;var Zr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Zr>>>26)|0,Zr&=67108863,ge=Math.imul(Yt,Or),ie=Math.imul(Yt,Nr),ie=ie+Math.imul(xr,Or)|0,Te=Math.imul(xr,Nr),ge=ge+Math.imul(Rt,Ne)|0,ie=ie+Math.imul(Rt,Ye)|0,ie=ie+Math.imul(kt,Ne)|0,Te=Te+Math.imul(kt,Ye)|0,ge=ge+Math.imul(qt,Xe)|0,ie=ie+Math.imul(qt,ht)|0,ie=ie+Math.imul(rt,Xe)|0,Te=Te+Math.imul(rt,ht)|0,ge=ge+Math.imul(Ge,xe)|0,ie=ie+Math.imul(Ge,Se)|0,ie=ie+Math.imul(nt,xe)|0,Te=Te+Math.imul(nt,Se)|0,ge=ge+Math.imul(me,Gt)|0,ie=ie+Math.imul(me,Vt)|0,ie=ie+Math.imul(Re,Gt)|0,Te=Te+Math.imul(Re,Vt)|0,ge=ge+Math.imul(Ae,Qr)|0,ie=ie+Math.imul(Ae,ai)|0,ie=ie+Math.imul(ze,Qr)|0,Te=Te+Math.imul(ze,ai)|0;var Vr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Vr>>>26)|0,Vr&=67108863,ge=Math.imul(Ke,Or),ie=Math.imul(Ke,Nr),ie=ie+Math.imul(xt,Or)|0,Te=Math.imul(xt,Nr),ge=ge+Math.imul(Yt,Ne)|0,ie=ie+Math.imul(Yt,Ye)|0,ie=ie+Math.imul(xr,Ne)|0,Te=Te+Math.imul(xr,Ye)|0,ge=ge+Math.imul(Rt,Xe)|0,ie=ie+Math.imul(Rt,ht)|0,ie=ie+Math.imul(kt,Xe)|0,Te=Te+Math.imul(kt,ht)|0,ge=ge+Math.imul(qt,xe)|0,ie=ie+Math.imul(qt,Se)|0,ie=ie+Math.imul(rt,xe)|0,Te=Te+Math.imul(rt,Se)|0,ge=ge+Math.imul(Ge,Gt)|0,ie=ie+Math.imul(Ge,Vt)|0,ie=ie+Math.imul(nt,Gt)|0,Te=Te+Math.imul(nt,Vt)|0,ge=ge+Math.imul(me,Qr)|0,ie=ie+Math.imul(me,ai)|0,ie=ie+Math.imul(Re,Qr)|0,Te=Te+Math.imul(Re,ai)|0,ge=ge+Math.imul(Ae,ri)|0,ie=ie+Math.imul(Ae,bi)|0,ie=ie+Math.imul(ze,ri)|0,Te=Te+Math.imul(ze,bi)|0;var gi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(gi>>>26)|0,gi&=67108863,ge=Math.imul(Lt,Or),ie=Math.imul(Lt,Nr),ie=ie+Math.imul(St,Or)|0,Te=Math.imul(St,Nr),ge=ge+Math.imul(Ke,Ne)|0,ie=ie+Math.imul(Ke,Ye)|0,ie=ie+Math.imul(xt,Ne)|0,Te=Te+Math.imul(xt,Ye)|0,ge=ge+Math.imul(Yt,Xe)|0,ie=ie+Math.imul(Yt,ht)|0,ie=ie+Math.imul(xr,Xe)|0,Te=Te+Math.imul(xr,ht)|0,ge=ge+Math.imul(Rt,xe)|0,ie=ie+Math.imul(Rt,Se)|0,ie=ie+Math.imul(kt,xe)|0,Te=Te+Math.imul(kt,Se)|0,ge=ge+Math.imul(qt,Gt)|0,ie=ie+Math.imul(qt,Vt)|0,ie=ie+Math.imul(rt,Gt)|0,Te=Te+Math.imul(rt,Vt)|0,ge=ge+Math.imul(Ge,Qr)|0,ie=ie+Math.imul(Ge,ai)|0,ie=ie+Math.imul(nt,Qr)|0,Te=Te+Math.imul(nt,ai)|0,ge=ge+Math.imul(me,ri)|0,ie=ie+Math.imul(me,bi)|0,ie=ie+Math.imul(Re,ri)|0,Te=Te+Math.imul(Re,bi)|0,ge=ge+Math.imul(Ae,Wi)|0,ie=ie+Math.imul(Ae,Ni)|0,ie=ie+Math.imul(ze,Wi)|0,Te=Te+Math.imul(ze,Ni)|0;var Si=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Si>>>26)|0,Si&=67108863,ge=Math.imul(dt,Or),ie=Math.imul(dt,Nr),ie=ie+Math.imul(Ht,Or)|0,Te=Math.imul(Ht,Nr),ge=ge+Math.imul(Lt,Ne)|0,ie=ie+Math.imul(Lt,Ye)|0,ie=ie+Math.imul(St,Ne)|0,Te=Te+Math.imul(St,Ye)|0,ge=ge+Math.imul(Ke,Xe)|0,ie=ie+Math.imul(Ke,ht)|0,ie=ie+Math.imul(xt,Xe)|0,Te=Te+Math.imul(xt,ht)|0,ge=ge+Math.imul(Yt,xe)|0,ie=ie+Math.imul(Yt,Se)|0,ie=ie+Math.imul(xr,xe)|0,Te=Te+Math.imul(xr,Se)|0,ge=ge+Math.imul(Rt,Gt)|0,ie=ie+Math.imul(Rt,Vt)|0,ie=ie+Math.imul(kt,Gt)|0,Te=Te+Math.imul(kt,Vt)|0,ge=ge+Math.imul(qt,Qr)|0,ie=ie+Math.imul(qt,ai)|0,ie=ie+Math.imul(rt,Qr)|0,Te=Te+Math.imul(rt,ai)|0,ge=ge+Math.imul(Ge,ri)|0,ie=ie+Math.imul(Ge,bi)|0,ie=ie+Math.imul(nt,ri)|0,Te=Te+Math.imul(nt,bi)|0,ge=ge+Math.imul(me,Wi)|0,ie=ie+Math.imul(me,Ni)|0,ie=ie+Math.imul(Re,Wi)|0,Te=Te+Math.imul(Re,Ni)|0,ge=ge+Math.imul(Ae,$i)|0,ie=ie+Math.imul(Ae,zn)|0,ie=ie+Math.imul(ze,$i)|0,Te=Te+Math.imul(ze,zn)|0;var Mi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Mi>>>26)|0,Mi&=67108863,ge=Math.imul(fr,Or),ie=Math.imul(fr,Nr),ie=ie+Math.imul(_r,Or)|0,Te=Math.imul(_r,Nr),ge=ge+Math.imul(dt,Ne)|0,ie=ie+Math.imul(dt,Ye)|0,ie=ie+Math.imul(Ht,Ne)|0,Te=Te+Math.imul(Ht,Ye)|0,ge=ge+Math.imul(Lt,Xe)|0,ie=ie+Math.imul(Lt,ht)|0,ie=ie+Math.imul(St,Xe)|0,Te=Te+Math.imul(St,ht)|0,ge=ge+Math.imul(Ke,xe)|0,ie=ie+Math.imul(Ke,Se)|0,ie=ie+Math.imul(xt,xe)|0,Te=Te+Math.imul(xt,Se)|0,ge=ge+Math.imul(Yt,Gt)|0,ie=ie+Math.imul(Yt,Vt)|0,ie=ie+Math.imul(xr,Gt)|0,Te=Te+Math.imul(xr,Vt)|0,ge=ge+Math.imul(Rt,Qr)|0,ie=ie+Math.imul(Rt,ai)|0,ie=ie+Math.imul(kt,Qr)|0,Te=Te+Math.imul(kt,ai)|0,ge=ge+Math.imul(qt,ri)|0,ie=ie+Math.imul(qt,bi)|0,ie=ie+Math.imul(rt,ri)|0,Te=Te+Math.imul(rt,bi)|0,ge=ge+Math.imul(Ge,Wi)|0,ie=ie+Math.imul(Ge,Ni)|0,ie=ie+Math.imul(nt,Wi)|0,Te=Te+Math.imul(nt,Ni)|0,ge=ge+Math.imul(me,$i)|0,ie=ie+Math.imul(me,zn)|0,ie=ie+Math.imul(Re,$i)|0,Te=Te+Math.imul(Re,zn)|0,ge=ge+Math.imul(Ae,It)|0,ie=ie+Math.imul(Ae,ft)|0,ie=ie+Math.imul(ze,It)|0,Te=Te+Math.imul(ze,ft)|0;var Pi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Pi>>>26)|0,Pi&=67108863,ge=Math.imul(fr,Ne),ie=Math.imul(fr,Ye),ie=ie+Math.imul(_r,Ne)|0,Te=Math.imul(_r,Ye),ge=ge+Math.imul(dt,Xe)|0,ie=ie+Math.imul(dt,ht)|0,ie=ie+Math.imul(Ht,Xe)|0,Te=Te+Math.imul(Ht,ht)|0,ge=ge+Math.imul(Lt,xe)|0,ie=ie+Math.imul(Lt,Se)|0,ie=ie+Math.imul(St,xe)|0,Te=Te+Math.imul(St,Se)|0,ge=ge+Math.imul(Ke,Gt)|0,ie=ie+Math.imul(Ke,Vt)|0,ie=ie+Math.imul(xt,Gt)|0,Te=Te+Math.imul(xt,Vt)|0,ge=ge+Math.imul(Yt,Qr)|0,ie=ie+Math.imul(Yt,ai)|0,ie=ie+Math.imul(xr,Qr)|0,Te=Te+Math.imul(xr,ai)|0,ge=ge+Math.imul(Rt,ri)|0,ie=ie+Math.imul(Rt,bi)|0,ie=ie+Math.imul(kt,ri)|0,Te=Te+Math.imul(kt,bi)|0,ge=ge+Math.imul(qt,Wi)|0,ie=ie+Math.imul(qt,Ni)|0,ie=ie+Math.imul(rt,Wi)|0,Te=Te+Math.imul(rt,Ni)|0,ge=ge+Math.imul(Ge,$i)|0,ie=ie+Math.imul(Ge,zn)|0,ie=ie+Math.imul(nt,$i)|0,Te=Te+Math.imul(nt,zn)|0,ge=ge+Math.imul(me,It)|0,ie=ie+Math.imul(me,ft)|0,ie=ie+Math.imul(Re,It)|0,Te=Te+Math.imul(Re,ft)|0;var Gi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Gi>>>26)|0,Gi&=67108863,ge=Math.imul(fr,Xe),ie=Math.imul(fr,ht),ie=ie+Math.imul(_r,Xe)|0,Te=Math.imul(_r,ht),ge=ge+Math.imul(dt,xe)|0,ie=ie+Math.imul(dt,Se)|0,ie=ie+Math.imul(Ht,xe)|0,Te=Te+Math.imul(Ht,Se)|0,ge=ge+Math.imul(Lt,Gt)|0,ie=ie+Math.imul(Lt,Vt)|0,ie=ie+Math.imul(St,Gt)|0,Te=Te+Math.imul(St,Vt)|0,ge=ge+Math.imul(Ke,Qr)|0,ie=ie+Math.imul(Ke,ai)|0,ie=ie+Math.imul(xt,Qr)|0,Te=Te+Math.imul(xt,ai)|0,ge=ge+Math.imul(Yt,ri)|0,ie=ie+Math.imul(Yt,bi)|0,ie=ie+Math.imul(xr,ri)|0,Te=Te+Math.imul(xr,bi)|0,ge=ge+Math.imul(Rt,Wi)|0,ie=ie+Math.imul(Rt,Ni)|0,ie=ie+Math.imul(kt,Wi)|0,Te=Te+Math.imul(kt,Ni)|0,ge=ge+Math.imul(qt,$i)|0,ie=ie+Math.imul(qt,zn)|0,ie=ie+Math.imul(rt,$i)|0,Te=Te+Math.imul(rt,zn)|0,ge=ge+Math.imul(Ge,It)|0,ie=ie+Math.imul(Ge,ft)|0,ie=ie+Math.imul(nt,It)|0,Te=Te+Math.imul(nt,ft)|0;var Ki=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Ki>>>26)|0,Ki&=67108863,ge=Math.imul(fr,xe),ie=Math.imul(fr,Se),ie=ie+Math.imul(_r,xe)|0,Te=Math.imul(_r,Se),ge=ge+Math.imul(dt,Gt)|0,ie=ie+Math.imul(dt,Vt)|0,ie=ie+Math.imul(Ht,Gt)|0,Te=Te+Math.imul(Ht,Vt)|0,ge=ge+Math.imul(Lt,Qr)|0,ie=ie+Math.imul(Lt,ai)|0,ie=ie+Math.imul(St,Qr)|0,Te=Te+Math.imul(St,ai)|0,ge=ge+Math.imul(Ke,ri)|0,ie=ie+Math.imul(Ke,bi)|0,ie=ie+Math.imul(xt,ri)|0,Te=Te+Math.imul(xt,bi)|0,ge=ge+Math.imul(Yt,Wi)|0,ie=ie+Math.imul(Yt,Ni)|0,ie=ie+Math.imul(xr,Wi)|0,Te=Te+Math.imul(xr,Ni)|0,ge=ge+Math.imul(Rt,$i)|0,ie=ie+Math.imul(Rt,zn)|0,ie=ie+Math.imul(kt,$i)|0,Te=Te+Math.imul(kt,zn)|0,ge=ge+Math.imul(qt,It)|0,ie=ie+Math.imul(qt,ft)|0,ie=ie+Math.imul(rt,It)|0,Te=Te+Math.imul(rt,ft)|0;var ka=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(ka>>>26)|0,ka&=67108863,ge=Math.imul(fr,Gt),ie=Math.imul(fr,Vt),ie=ie+Math.imul(_r,Gt)|0,Te=Math.imul(_r,Vt),ge=ge+Math.imul(dt,Qr)|0,ie=ie+Math.imul(dt,ai)|0,ie=ie+Math.imul(Ht,Qr)|0,Te=Te+Math.imul(Ht,ai)|0,ge=ge+Math.imul(Lt,ri)|0,ie=ie+Math.imul(Lt,bi)|0,ie=ie+Math.imul(St,ri)|0,Te=Te+Math.imul(St,bi)|0,ge=ge+Math.imul(Ke,Wi)|0,ie=ie+Math.imul(Ke,Ni)|0,ie=ie+Math.imul(xt,Wi)|0,Te=Te+Math.imul(xt,Ni)|0,ge=ge+Math.imul(Yt,$i)|0,ie=ie+Math.imul(Yt,zn)|0,ie=ie+Math.imul(xr,$i)|0,Te=Te+Math.imul(xr,zn)|0,ge=ge+Math.imul(Rt,It)|0,ie=ie+Math.imul(Rt,ft)|0,ie=ie+Math.imul(kt,It)|0,Te=Te+Math.imul(kt,ft)|0;var jn=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jn>>>26)|0,jn&=67108863,ge=Math.imul(fr,Qr),ie=Math.imul(fr,ai),ie=ie+Math.imul(_r,Qr)|0,Te=Math.imul(_r,ai),ge=ge+Math.imul(dt,ri)|0,ie=ie+Math.imul(dt,bi)|0,ie=ie+Math.imul(Ht,ri)|0,Te=Te+Math.imul(Ht,bi)|0,ge=ge+Math.imul(Lt,Wi)|0,ie=ie+Math.imul(Lt,Ni)|0,ie=ie+Math.imul(St,Wi)|0,Te=Te+Math.imul(St,Ni)|0,ge=ge+Math.imul(Ke,$i)|0,ie=ie+Math.imul(Ke,zn)|0,ie=ie+Math.imul(xt,$i)|0,Te=Te+Math.imul(xt,zn)|0,ge=ge+Math.imul(Yt,It)|0,ie=ie+Math.imul(Yt,ft)|0,ie=ie+Math.imul(xr,It)|0,Te=Te+Math.imul(xr,ft)|0;var la=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(la>>>26)|0,la&=67108863,ge=Math.imul(fr,ri),ie=Math.imul(fr,bi),ie=ie+Math.imul(_r,ri)|0,Te=Math.imul(_r,bi),ge=ge+Math.imul(dt,Wi)|0,ie=ie+Math.imul(dt,Ni)|0,ie=ie+Math.imul(Ht,Wi)|0,Te=Te+Math.imul(Ht,Ni)|0,ge=ge+Math.imul(Lt,$i)|0,ie=ie+Math.imul(Lt,zn)|0,ie=ie+Math.imul(St,$i)|0,Te=Te+Math.imul(St,zn)|0,ge=ge+Math.imul(Ke,It)|0,ie=ie+Math.imul(Ke,ft)|0,ie=ie+Math.imul(xt,It)|0,Te=Te+Math.imul(xt,ft)|0;var Fa=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Fa>>>26)|0,Fa&=67108863,ge=Math.imul(fr,Wi),ie=Math.imul(fr,Ni),ie=ie+Math.imul(_r,Wi)|0,Te=Math.imul(_r,Ni),ge=ge+Math.imul(dt,$i)|0,ie=ie+Math.imul(dt,zn)|0,ie=ie+Math.imul(Ht,$i)|0,Te=Te+Math.imul(Ht,zn)|0,ge=ge+Math.imul(Lt,It)|0,ie=ie+Math.imul(Lt,ft)|0,ie=ie+Math.imul(St,It)|0,Te=Te+Math.imul(St,ft)|0;var Ra=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Ra>>>26)|0,Ra&=67108863,ge=Math.imul(fr,$i),ie=Math.imul(fr,zn),ie=ie+Math.imul(_r,$i)|0,Te=Math.imul(_r,zn),ge=ge+Math.imul(dt,It)|0,ie=ie+Math.imul(dt,ft)|0,ie=ie+Math.imul(Ht,It)|0,Te=Te+Math.imul(Ht,ft)|0;var jo=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jo>>>26)|0,jo&=67108863,ge=Math.imul(fr,It),ie=Math.imul(fr,ft),ie=ie+Math.imul(_r,It)|0,Te=Math.imul(_r,ft);var oa=(ke+ge|0)+((ie&8191)<<13)|0;return ke=(Te+(ie>>>13)|0)+(oa>>>26)|0,oa&=67108863,Me[0]=jt,Me[1]=Zt,Me[2]=yr,Me[3]=Fr,Me[4]=Zr,Me[5]=Vr,Me[6]=gi,Me[7]=Si,Me[8]=Mi,Me[9]=Pi,Me[10]=Gi,Me[11]=Ki,Me[12]=ka,Me[13]=jn,Me[14]=la,Me[15]=Fa,Me[16]=Ra,Me[17]=jo,Me[18]=oa,ke!==0&&(Me[19]=ke,re.length++),re};Math.imul||(L=A);function _(G,N,W){W.negative=N.negative^G.negative,W.length=G.length+N.length;for(var re=0,ae=0,_e=0;_e<W.length-1;_e++){var Me=ae;ae=0;for(var ke=re&67108863,ge=Math.min(_e,N.length-1),ie=Math.max(0,_e-G.length+1);ie<=ge;ie++){var Te=_e-ie,Ee=G.words[Te]|0,Ae=N.words[ie]|0,ze=Ee*Ae,Ce=ze&67108863;Me=Me+(ze/67108864|0)|0,Ce=Ce+ke|0,ke=Ce&67108863,Me=Me+(Ce>>>26)|0,ae+=Me>>>26,Me&=67108863}W.words[_e]=ke,re=Me,Me=ae}return re!==0?W.words[_e]=re:W.length--,W.strip()}function C(G,N,W){var re=new M;return re.mulp(G,N,W)}f.prototype.mulTo=function(N,W){var re,ae=this.length+N.length;return this.length===10&&N.length===10?re=L(this,N,W):ae<63?re=A(this,N,W):ae<1024?re=_(this,N,W):re=C(this,N,W),re};function M(G,N){this.x=G,this.y=N}M.prototype.makeRBT=function(N){for(var W=new Array(N),re=f.prototype._countBits(N)-1,ae=0;ae<N;ae++)W[ae]=this.revBin(ae,re,N);return W},M.prototype.revBin=function(N,W,re){if(N===0||N===re-1)return N;for(var ae=0,_e=0;_e<W;_e++)ae|=(N&1)<<W-_e-1,N>>=1;return ae},M.prototype.permute=function(N,W,re,ae,_e,Me){for(var ke=0;ke<Me;ke++)ae[ke]=W[N[ke]],_e[ke]=re[N[ke]]},M.prototype.transform=function(N,W,re,ae,_e,Me){this.permute(Me,N,W,re,ae,_e);for(var ke=1;ke<_e;ke<<=1)for(var ge=ke<<1,ie=Math.cos(2*Math.PI/ge),Te=Math.sin(2*Math.PI/ge),Ee=0;Ee<_e;Ee+=ge)for(var Ae=ie,ze=Te,Ce=0;Ce<ke;Ce++){var me=re[Ee+Ce],Re=ae[Ee+Ce],ce=re[Ee+Ce+ke],Ge=ae[Ee+Ce+ke],nt=Ae*ce-ze*Ge;Ge=Ae*Ge+ze*ce,ce=nt,re[Ee+Ce]=me+ce,ae[Ee+Ce]=Re+Ge,re[Ee+Ce+ke]=me-ce,ae[Ee+Ce+ke]=Re-Ge,Ce!==ge&&(nt=ie*Ae-Te*ze,ze=ie*ze+Te*Ae,Ae=nt)}},M.prototype.guessLen13b=function(N,W){var re=Math.max(W,N)|1,ae=re&1,_e=0;for(re=re/2|0;re;re=re>>>1)_e++;return 1<<_e+1+ae},M.prototype.conjugate=function(N,W,re){if(!(re<=1))for(var ae=0;ae<re/2;ae++){var _e=N[ae];N[ae]=N[re-ae-1],N[re-ae-1]=_e,_e=W[ae],W[ae]=-W[re-ae-1],W[re-ae-1]=-_e}},M.prototype.normalize13b=function(N,W){for(var re=0,ae=0;ae<W/2;ae++){var _e=Math.round(N[2*ae+1]/W)*8192+Math.round(N[2*ae]/W)+re;N[ae]=_e&67108863,_e<67108864?re=0:re=_e/67108864|0}return N},M.prototype.convert13b=function(N,W,re,ae){for(var _e=0,Me=0;Me<W;Me++)_e=_e+(N[Me]|0),re[2*Me]=_e&8191,_e=_e>>>13,re[2*Me+1]=_e&8191,_e=_e>>>13;for(Me=2*W;Me<ae;++Me)re[Me]=0;u(_e===0),u((_e&-8192)===0)},M.prototype.stub=function(N){for(var W=new Array(N),re=0;re<N;re++)W[re]=0;return W},M.prototype.mulp=function(N,W,re){var ae=2*this.guessLen13b(N.length,W.length),_e=this.makeRBT(ae),Me=this.stub(ae),ke=new Array(ae),ge=new Array(ae),ie=new Array(ae),Te=new Array(ae),Ee=new Array(ae),Ae=new Array(ae),ze=re.words;ze.length=ae,this.convert13b(N.words,N.length,ke,ae),this.convert13b(W.words,W.length,Te,ae),this.transform(ke,Me,ge,ie,ae,_e),this.transform(Te,Me,Ee,Ae,ae,_e);for(var Ce=0;Ce<ae;Ce++){var me=ge[Ce]*Ee[Ce]-ie[Ce]*Ae[Ce];ie[Ce]=ge[Ce]*Ae[Ce]+ie[Ce]*Ee[Ce],ge[Ce]=me}return this.conjugate(ge,ie,ae),this.transform(ge,ie,ze,Me,ae,_e),this.conjugate(ze,Me,ae),this.normalize13b(ze,ae),re.negative=N.negative^W.negative,re.length=N.length+W.length,re.strip()},f.prototype.mul=function(N){var W=new f(null);return W.words=new Array(this.length+N.length),this.mulTo(N,W)},f.prototype.mulf=function(N){var W=new f(null);return W.words=new Array(this.length+N.length),C(this,N,W)},f.prototype.imul=function(N){return this.clone().mulTo(N,this)},f.prototype.imuln=function(N){u(typeof N==\"number\"),u(N<67108864);for(var W=0,re=0;re<this.length;re++){var ae=(this.words[re]|0)*N,_e=(ae&67108863)+(W&67108863);W>>=26,W+=ae/67108864|0,W+=_e>>>26,this.words[re]=_e&67108863}return W!==0&&(this.words[re]=W,this.length++),this},f.prototype.muln=function(N){return this.clone().imuln(N)},f.prototype.sqr=function(){return this.mul(this)},f.prototype.isqr=function(){return this.imul(this.clone())},f.prototype.pow=function(N){var W=k(N);if(W.length===0)return new f(1);for(var re=this,ae=0;ae<W.length&&W[ae]===0;ae++,re=re.sqr());if(++ae<W.length)for(var _e=re.sqr();ae<W.length;ae++,_e=_e.sqr())W[ae]!==0&&(re=re.mul(_e));return re},f.prototype.iushln=function(N){u(typeof N==\"number\"&&N>=0);var W=N%26,re=(N-W)/26,ae=67108863>>>26-W<<26-W,_e;if(W!==0){var Me=0;for(_e=0;_e<this.length;_e++){var ke=this.words[_e]&ae,ge=(this.words[_e]|0)-ke<<W;this.words[_e]=ge|Me,Me=ke>>>26-W}Me&&(this.words[_e]=Me,this.length++)}if(re!==0){for(_e=this.length-1;_e>=0;_e--)this.words[_e+re]=this.words[_e];for(_e=0;_e<re;_e++)this.words[_e]=0;this.length+=re}return this.strip()},f.prototype.ishln=function(N){return u(this.negative===0),this.iushln(N)},f.prototype.iushrn=function(N,W,re){u(typeof N==\"number\"&&N>=0);var ae;W?ae=(W-W%26)/26:ae=0;var _e=N%26,Me=Math.min((N-_e)/26,this.length),ke=67108863^67108863>>>_e<<_e,ge=re;if(ae-=Me,ae=Math.max(0,ae),ge){for(var ie=0;ie<Me;ie++)ge.words[ie]=this.words[ie];ge.length=Me}if(Me!==0)if(this.length>Me)for(this.length-=Me,ie=0;ie<this.length;ie++)this.words[ie]=this.words[ie+Me];else this.words[0]=0,this.length=1;var Te=0;for(ie=this.length-1;ie>=0&&(Te!==0||ie>=ae);ie--){var Ee=this.words[ie]|0;this.words[ie]=Te<<26-_e|Ee>>>_e,Te=Ee&ke}return ge&&Te!==0&&(ge.words[ge.length++]=Te),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},f.prototype.ishrn=function(N,W,re){return u(this.negative===0),this.iushrn(N,W,re)},f.prototype.shln=function(N){return this.clone().ishln(N)},f.prototype.ushln=function(N){return this.clone().iushln(N)},f.prototype.shrn=function(N){return this.clone().ishrn(N)},f.prototype.ushrn=function(N){return this.clone().iushrn(N)},f.prototype.testn=function(N){u(typeof N==\"number\"&&N>=0);var W=N%26,re=(N-W)/26,ae=1<<W;if(this.length<=re)return!1;var _e=this.words[re];return!!(_e&ae)},f.prototype.imaskn=function(N){u(typeof N==\"number\"&&N>=0);var W=N%26,re=(N-W)/26;if(u(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=re)return this;if(W!==0&&re++,this.length=Math.min(re,this.length),W!==0){var ae=67108863^67108863>>>W<<W;this.words[this.length-1]&=ae}return this.strip()},f.prototype.maskn=function(N){return this.clone().imaskn(N)},f.prototype.iaddn=function(N){return u(typeof N==\"number\"),u(N<67108864),N<0?this.isubn(-N):this.negative!==0?this.length===1&&(this.words[0]|0)<N?(this.words[0]=N-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(N),this.negative=1,this):this._iaddn(N)},f.prototype._iaddn=function(N){this.words[0]+=N;for(var W=0;W<this.length&&this.words[W]>=67108864;W++)this.words[W]-=67108864,W===this.length-1?this.words[W+1]=1:this.words[W+1]++;return this.length=Math.max(this.length,W+1),this},f.prototype.isubn=function(N){if(u(typeof N==\"number\"),u(N<67108864),N<0)return this.iaddn(-N);if(this.negative!==0)return this.negative=0,this.iaddn(N),this.negative=1,this;if(this.words[0]-=N,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var W=0;W<this.length&&this.words[W]<0;W++)this.words[W]+=67108864,this.words[W+1]-=1;return this.strip()},f.prototype.addn=function(N){return this.clone().iaddn(N)},f.prototype.subn=function(N){return this.clone().isubn(N)},f.prototype.iabs=function(){return this.negative=0,this},f.prototype.abs=function(){return this.clone().iabs()},f.prototype._ishlnsubmul=function(N,W,re){var ae=N.length+re,_e;this._expand(ae);var Me,ke=0;for(_e=0;_e<N.length;_e++){Me=(this.words[_e+re]|0)+ke;var ge=(N.words[_e]|0)*W;Me-=ge&67108863,ke=(Me>>26)-(ge/67108864|0),this.words[_e+re]=Me&67108863}for(;_e<this.length-re;_e++)Me=(this.words[_e+re]|0)+ke,ke=Me>>26,this.words[_e+re]=Me&67108863;if(ke===0)return this.strip();for(u(ke===-1),ke=0,_e=0;_e<this.length;_e++)Me=-(this.words[_e]|0)+ke,ke=Me>>26,this.words[_e]=Me&67108863;return this.negative=1,this.strip()},f.prototype._wordDiv=function(N,W){var re=this.length-N.length,ae=this.clone(),_e=N,Me=_e.words[_e.length-1]|0,ke=this._countBits(Me);re=26-ke,re!==0&&(_e=_e.ushln(re),ae.iushln(re),Me=_e.words[_e.length-1]|0);var ge=ae.length-_e.length,ie;if(W!==\"mod\"){ie=new f(null),ie.length=ge+1,ie.words=new Array(ie.length);for(var Te=0;Te<ie.length;Te++)ie.words[Te]=0}var Ee=ae.clone()._ishlnsubmul(_e,1,ge);Ee.negative===0&&(ae=Ee,ie&&(ie.words[ge]=1));for(var Ae=ge-1;Ae>=0;Ae--){var ze=(ae.words[_e.length+Ae]|0)*67108864+(ae.words[_e.length+Ae-1]|0);for(ze=Math.min(ze/Me|0,67108863),ae._ishlnsubmul(_e,ze,Ae);ae.negative!==0;)ze--,ae.negative=0,ae._ishlnsubmul(_e,1,Ae),ae.isZero()||(ae.negative^=1);ie&&(ie.words[Ae]=ze)}return ie&&ie.strip(),ae.strip(),W!==\"div\"&&re!==0&&ae.iushrn(re),{div:ie||null,mod:ae}},f.prototype.divmod=function(N,W,re){if(u(!N.isZero()),this.isZero())return{div:new f(0),mod:new f(0)};var ae,_e,Me;return this.negative!==0&&N.negative===0?(Me=this.neg().divmod(N,W),W!==\"mod\"&&(ae=Me.div.neg()),W!==\"div\"&&(_e=Me.mod.neg(),re&&_e.negative!==0&&_e.iadd(N)),{div:ae,mod:_e}):this.negative===0&&N.negative!==0?(Me=this.divmod(N.neg(),W),W!==\"mod\"&&(ae=Me.div.neg()),{div:ae,mod:Me.mod}):this.negative&N.negative?(Me=this.neg().divmod(N.neg(),W),W!==\"div\"&&(_e=Me.mod.neg(),re&&_e.negative!==0&&_e.isub(N)),{div:Me.div,mod:_e}):N.length>this.length||this.cmp(N)<0?{div:new f(0),mod:this}:N.length===1?W===\"div\"?{div:this.divn(N.words[0]),mod:null}:W===\"mod\"?{div:null,mod:new f(this.modn(N.words[0]))}:{div:this.divn(N.words[0]),mod:new f(this.modn(N.words[0]))}:this._wordDiv(N,W)},f.prototype.div=function(N){return this.divmod(N,\"div\",!1).div},f.prototype.mod=function(N){return this.divmod(N,\"mod\",!1).mod},f.prototype.umod=function(N){return this.divmod(N,\"mod\",!0).mod},f.prototype.divRound=function(N){var W=this.divmod(N);if(W.mod.isZero())return W.div;var re=W.div.negative!==0?W.mod.isub(N):W.mod,ae=N.ushrn(1),_e=N.andln(1),Me=re.cmp(ae);return Me<0||_e===1&&Me===0?W.div:W.div.negative!==0?W.div.isubn(1):W.div.iaddn(1)},f.prototype.modn=function(N){u(N<=67108863);for(var W=(1<<26)%N,re=0,ae=this.length-1;ae>=0;ae--)re=(W*re+(this.words[ae]|0))%N;return re},f.prototype.idivn=function(N){u(N<=67108863);for(var W=0,re=this.length-1;re>=0;re--){var ae=(this.words[re]|0)+W*67108864;this.words[re]=ae/N|0,W=ae%N}return this.strip()},f.prototype.divn=function(N){return this.clone().idivn(N)},f.prototype.egcd=function(N){u(N.negative===0),u(!N.isZero());var W=this,re=N.clone();W.negative!==0?W=W.umod(N):W=W.clone();for(var ae=new f(1),_e=new f(0),Me=new f(0),ke=new f(1),ge=0;W.isEven()&&re.isEven();)W.iushrn(1),re.iushrn(1),++ge;for(var ie=re.clone(),Te=W.clone();!W.isZero();){for(var Ee=0,Ae=1;!(W.words[0]&Ae)&&Ee<26;++Ee,Ae<<=1);if(Ee>0)for(W.iushrn(Ee);Ee-- >0;)(ae.isOdd()||_e.isOdd())&&(ae.iadd(ie),_e.isub(Te)),ae.iushrn(1),_e.iushrn(1);for(var ze=0,Ce=1;!(re.words[0]&Ce)&&ze<26;++ze,Ce<<=1);if(ze>0)for(re.iushrn(ze);ze-- >0;)(Me.isOdd()||ke.isOdd())&&(Me.iadd(ie),ke.isub(Te)),Me.iushrn(1),ke.iushrn(1);W.cmp(re)>=0?(W.isub(re),ae.isub(Me),_e.isub(ke)):(re.isub(W),Me.isub(ae),ke.isub(_e))}return{a:Me,b:ke,gcd:re.iushln(ge)}},f.prototype._invmp=function(N){u(N.negative===0),u(!N.isZero());var W=this,re=N.clone();W.negative!==0?W=W.umod(N):W=W.clone();for(var ae=new f(1),_e=new f(0),Me=re.clone();W.cmpn(1)>0&&re.cmpn(1)>0;){for(var ke=0,ge=1;!(W.words[0]&ge)&&ke<26;++ke,ge<<=1);if(ke>0)for(W.iushrn(ke);ke-- >0;)ae.isOdd()&&ae.iadd(Me),ae.iushrn(1);for(var ie=0,Te=1;!(re.words[0]&Te)&&ie<26;++ie,Te<<=1);if(ie>0)for(re.iushrn(ie);ie-- >0;)_e.isOdd()&&_e.iadd(Me),_e.iushrn(1);W.cmp(re)>=0?(W.isub(re),ae.isub(_e)):(re.isub(W),_e.isub(ae))}var Ee;return W.cmpn(1)===0?Ee=ae:Ee=_e,Ee.cmpn(0)<0&&Ee.iadd(N),Ee},f.prototype.gcd=function(N){if(this.isZero())return N.abs();if(N.isZero())return this.abs();var W=this.clone(),re=N.clone();W.negative=0,re.negative=0;for(var ae=0;W.isEven()&&re.isEven();ae++)W.iushrn(1),re.iushrn(1);do{for(;W.isEven();)W.iushrn(1);for(;re.isEven();)re.iushrn(1);var _e=W.cmp(re);if(_e<0){var Me=W;W=re,re=Me}else if(_e===0||re.cmpn(1)===0)break;W.isub(re)}while(!0);return re.iushln(ae)},f.prototype.invm=function(N){return this.egcd(N).a.umod(N)},f.prototype.isEven=function(){return(this.words[0]&1)===0},f.prototype.isOdd=function(){return(this.words[0]&1)===1},f.prototype.andln=function(N){return this.words[0]&N},f.prototype.bincn=function(N){u(typeof N==\"number\");var W=N%26,re=(N-W)/26,ae=1<<W;if(this.length<=re)return this._expand(re+1),this.words[re]|=ae,this;for(var _e=ae,Me=re;_e!==0&&Me<this.length;Me++){var ke=this.words[Me]|0;ke+=_e,_e=ke>>>26,ke&=67108863,this.words[Me]=ke}return _e!==0&&(this.words[Me]=_e,this.length++),this},f.prototype.isZero=function(){return this.length===1&&this.words[0]===0},f.prototype.cmpn=function(N){var W=N<0;if(this.negative!==0&&!W)return-1;if(this.negative===0&&W)return 1;this.strip();var re;if(this.length>1)re=1;else{W&&(N=-N),u(N<=67108863,\"Number is too big\");var ae=this.words[0]|0;re=ae===N?0:ae<N?-1:1}return this.negative!==0?-re|0:re},f.prototype.cmp=function(N){if(this.negative!==0&&N.negative===0)return-1;if(this.negative===0&&N.negative!==0)return 1;var W=this.ucmp(N);return this.negative!==0?-W|0:W},f.prototype.ucmp=function(N){if(this.length>N.length)return 1;if(this.length<N.length)return-1;for(var W=0,re=this.length-1;re>=0;re--){var ae=this.words[re]|0,_e=N.words[re]|0;if(ae!==_e){ae<_e?W=-1:ae>_e&&(W=1);break}}return W},f.prototype.gtn=function(N){return this.cmpn(N)===1},f.prototype.gt=function(N){return this.cmp(N)===1},f.prototype.gten=function(N){return this.cmpn(N)>=0},f.prototype.gte=function(N){return this.cmp(N)>=0},f.prototype.ltn=function(N){return this.cmpn(N)===-1},f.prototype.lt=function(N){return this.cmp(N)===-1},f.prototype.lten=function(N){return this.cmpn(N)<=0},f.prototype.lte=function(N){return this.cmp(N)<=0},f.prototype.eqn=function(N){return this.cmpn(N)===0},f.prototype.eq=function(N){return this.cmp(N)===0},f.red=function(N){return new H(N)},f.prototype.toRed=function(N){return u(!this.red,\"Already a number in reduction context\"),u(this.negative===0,\"red works only with positives\"),N.convertTo(this)._forceRed(N)},f.prototype.fromRed=function(){return u(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},f.prototype._forceRed=function(N){return this.red=N,this},f.prototype.forceRed=function(N){return u(!this.red,\"Already a number in reduction context\"),this._forceRed(N)},f.prototype.redAdd=function(N){return u(this.red,\"redAdd works only with red numbers\"),this.red.add(this,N)},f.prototype.redIAdd=function(N){return u(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,N)},f.prototype.redSub=function(N){return u(this.red,\"redSub works only with red numbers\"),this.red.sub(this,N)},f.prototype.redISub=function(N){return u(this.red,\"redISub works only with red numbers\"),this.red.isub(this,N)},f.prototype.redShl=function(N){return u(this.red,\"redShl works only with red numbers\"),this.red.shl(this,N)},f.prototype.redMul=function(N){return u(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,N),this.red.mul(this,N)},f.prototype.redIMul=function(N){return u(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,N),this.red.imul(this,N)},f.prototype.redSqr=function(){return u(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},f.prototype.redISqr=function(){return u(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},f.prototype.redSqrt=function(){return u(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},f.prototype.redInvm=function(){return u(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},f.prototype.redNeg=function(){return u(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},f.prototype.redPow=function(N){return u(this.red&&!N.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,N)};var g={k256:null,p224:null,p192:null,p25519:null};function P(G,N){this.name=G,this.p=new f(N,16),this.n=this.p.bitLength(),this.k=new f(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}P.prototype._tmp=function(){var N=new f(null);return N.words=new Array(Math.ceil(this.n/13)),N},P.prototype.ireduce=function(N){var W=N,re;do this.split(W,this.tmp),W=this.imulK(W),W=W.iadd(this.tmp),re=W.bitLength();while(re>this.n);var ae=re<this.n?-1:W.ucmp(this.p);return ae===0?(W.words[0]=0,W.length=1):ae>0?W.isub(this.p):W.strip!==void 0?W.strip():W._strip(),W},P.prototype.split=function(N,W){N.iushrn(this.n,0,W)},P.prototype.imulK=function(N){return N.imul(this.k)};function T(){P.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}c(T,P),T.prototype.split=function(N,W){for(var re=4194303,ae=Math.min(N.length,9),_e=0;_e<ae;_e++)W.words[_e]=N.words[_e];if(W.length=ae,N.length<=9){N.words[0]=0,N.length=1;return}var Me=N.words[9];for(W.words[W.length++]=Me&re,_e=10;_e<N.length;_e++){var ke=N.words[_e]|0;N.words[_e-10]=(ke&re)<<4|Me>>>22,Me=ke}Me>>>=22,N.words[_e-10]=Me,Me===0&&N.length>10?N.length-=10:N.length-=9},T.prototype.imulK=function(N){N.words[N.length]=0,N.words[N.length+1]=0,N.length+=2;for(var W=0,re=0;re<N.length;re++){var ae=N.words[re]|0;W+=ae*977,N.words[re]=W&67108863,W=ae*64+(W/67108864|0)}return N.words[N.length-1]===0&&(N.length--,N.words[N.length-1]===0&&N.length--),N};function F(){P.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}c(F,P);function q(){P.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}c(q,P);function V(){P.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}c(V,P),V.prototype.imulK=function(N){for(var W=0,re=0;re<N.length;re++){var ae=(N.words[re]|0)*19+W,_e=ae&67108863;ae>>>=26,N.words[re]=_e,W=ae}return W!==0&&(N.words[N.length++]=W),N},f._prime=function(N){if(g[N])return g[N];var W;if(N===\"k256\")W=new T;else if(N===\"p224\")W=new F;else if(N===\"p192\")W=new q;else if(N===\"p25519\")W=new V;else throw new Error(\"Unknown prime \"+N);return g[N]=W,W};function H(G){if(typeof G==\"string\"){var N=f._prime(G);this.m=N.p,this.prime=N}else u(G.gtn(1),\"modulus must be greater than 1\"),this.m=G,this.prime=null}H.prototype._verify1=function(N){u(N.negative===0,\"red works only with positives\"),u(N.red,\"red works only with red numbers\")},H.prototype._verify2=function(N,W){u((N.negative|W.negative)===0,\"red works only with positives\"),u(N.red&&N.red===W.red,\"red works only with red numbers\")},H.prototype.imod=function(N){return this.prime?this.prime.ireduce(N)._forceRed(this):N.umod(this.m)._forceRed(this)},H.prototype.neg=function(N){return N.isZero()?N.clone():this.m.sub(N)._forceRed(this)},H.prototype.add=function(N,W){this._verify2(N,W);var re=N.add(W);return re.cmp(this.m)>=0&&re.isub(this.m),re._forceRed(this)},H.prototype.iadd=function(N,W){this._verify2(N,W);var re=N.iadd(W);return re.cmp(this.m)>=0&&re.isub(this.m),re},H.prototype.sub=function(N,W){this._verify2(N,W);var re=N.sub(W);return re.cmpn(0)<0&&re.iadd(this.m),re._forceRed(this)},H.prototype.isub=function(N,W){this._verify2(N,W);var re=N.isub(W);return re.cmpn(0)<0&&re.iadd(this.m),re},H.prototype.shl=function(N,W){return this._verify1(N),this.imod(N.ushln(W))},H.prototype.imul=function(N,W){return this._verify2(N,W),this.imod(N.imul(W))},H.prototype.mul=function(N,W){return this._verify2(N,W),this.imod(N.mul(W))},H.prototype.isqr=function(N){return this.imul(N,N.clone())},H.prototype.sqr=function(N){return this.mul(N,N)},H.prototype.sqrt=function(N){if(N.isZero())return N.clone();var W=this.m.andln(3);if(u(W%2===1),W===3){var re=this.m.add(new f(1)).iushrn(2);return this.pow(N,re)}for(var ae=this.m.subn(1),_e=0;!ae.isZero()&&ae.andln(1)===0;)_e++,ae.iushrn(1);u(!ae.isZero());var Me=new f(1).toRed(this),ke=Me.redNeg(),ge=this.m.subn(1).iushrn(1),ie=this.m.bitLength();for(ie=new f(2*ie*ie).toRed(this);this.pow(ie,ge).cmp(ke)!==0;)ie.redIAdd(ke);for(var Te=this.pow(ie,ae),Ee=this.pow(N,ae.addn(1).iushrn(1)),Ae=this.pow(N,ae),ze=_e;Ae.cmp(Me)!==0;){for(var Ce=Ae,me=0;Ce.cmp(Me)!==0;me++)Ce=Ce.redSqr();u(me<ze);var Re=this.pow(Te,new f(1).iushln(ze-me-1));Ee=Ee.redMul(Re),Te=Re.redSqr(),Ae=Ae.redMul(Te),ze=me}return Ee},H.prototype.invm=function(N){var W=N._invmp(this.m);return W.negative!==0?(W.negative=0,this.imod(W).redNeg()):this.imod(W)},H.prototype.pow=function(N,W){if(W.isZero())return new f(1).toRed(this);if(W.cmpn(1)===0)return N.clone();var re=4,ae=new Array(1<<re);ae[0]=new f(1).toRed(this),ae[1]=N;for(var _e=2;_e<ae.length;_e++)ae[_e]=this.mul(ae[_e-1],N);var Me=ae[0],ke=0,ge=0,ie=W.bitLength()%26;for(ie===0&&(ie=26),_e=W.length-1;_e>=0;_e--){for(var Te=W.words[_e],Ee=ie-1;Ee>=0;Ee--){var Ae=Te>>Ee&1;if(Me!==ae[0]&&(Me=this.sqr(Me)),Ae===0&&ke===0){ge=0;continue}ke<<=1,ke|=Ae,ge++,!(ge!==re&&(_e!==0||Ee!==0))&&(Me=this.mul(Me,ae[ke]),ge=0,ke=0)}ie=26}return Me},H.prototype.convertTo=function(N){var W=N.umod(this.m);return W===N?W.clone():W},H.prototype.convertFrom=function(N){var W=N.clone();return W.red=null,W},f.mont=function(N){return new X(N)};function X(G){H.call(this,G),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new f(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)}c(X,H),X.prototype.convertTo=function(N){return this.imod(N.ushln(this.shift))},X.prototype.convertFrom=function(N){var W=this.imod(N.mul(this.rinv));return W.red=null,W},X.prototype.imul=function(N,W){if(N.isZero()||W.isZero())return N.words[0]=0,N.length=1,N;var re=N.imul(W),ae=re.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_e=re.isub(ae).iushrn(this.shift),Me=_e;return _e.cmp(this.m)>=0?Me=_e.isub(this.m):_e.cmpn(0)<0&&(Me=_e.iadd(this.m)),Me._forceRed(this)},X.prototype.mul=function(N,W){if(N.isZero()||W.isZero())return new f(0)._forceRed(this);var re=N.mul(W),ae=re.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_e=re.isub(ae).iushrn(this.shift),Me=_e;return _e.cmp(this.m)>=0?Me=_e.isub(this.m):_e.cmpn(0)<0&&(Me=_e.iadd(this.m)),Me._forceRed(this)},X.prototype.invm=function(N){var W=this.imod(N._invmp(this.m).mul(this.r2));return W._forceRed(this)}}(i,this)},6204:function(i){\"use strict\";i.exports=a;function a(o){var s,l,u,c=o.length,f=0;for(s=0;s<c;++s)f+=o[s].length;var h=new Array(f),d=0;for(s=0;s<c;++s){var v=o[s],x=v.length;for(l=0;l<x;++l){var b=h[d++]=new Array(x-1),p=0;for(u=0;u<x;++u)u!==l&&(b[p++]=v[u]);if(l&1){var E=b[1];b[1]=b[0],b[0]=E}}}return h}},6867:function(i,a,o){\"use strict\";i.exports=p;var s=o(1888),l=o(855),u=o(7150);function c(E,k){for(var A=0;A<E;++A)if(!(k[A]<=k[A+E]))return!0;return!1}function f(E,k,A,L){for(var _=0,C=0,M=0,g=E.length;M<g;++M){var P=E[M];if(!c(k,P)){for(var T=0;T<2*k;++T)A[_++]=P[T];L[C++]=M}}return C}function h(E,k,A,L){var _=E.length,C=k.length;if(!(_<=0||C<=0)){var M=E[0].length>>>1;if(!(M<=0)){var g,P=s.mallocDouble(2*M*_),T=s.mallocInt32(_);if(_=f(E,M,P,T),_>0){if(M===1&&L)l.init(_),g=l.sweepComplete(M,A,0,_,P,T,0,_,P,T);else{var F=s.mallocDouble(2*M*C),q=s.mallocInt32(C);C=f(k,M,F,q),C>0&&(l.init(_+C),M===1?g=l.sweepBipartite(M,A,0,_,P,T,0,C,F,q):g=u(M,A,L,_,P,T,C,F,q),s.free(F),s.free(q))}s.free(P),s.free(T)}return g}}}var d;function v(E,k){d.push([E,k])}function x(E){return d=[],h(E,E,v,!0),d}function b(E,k){return d=[],h(E,k,v,!1),d}function p(E,k,A){switch(arguments.length){case 1:return x(E);case 2:return typeof k==\"function\"?h(E,E,k,!0):b(E,k);case 3:return h(E,k,A,!1);default:throw new Error(\"box-intersect: Invalid arguments\")}}},2455:function(i,a){\"use strict\";function o(){function u(h,d,v,x,b,p,E,k,A,L,_){for(var C=2*h,M=x,g=C*x;M<b;++M,g+=C){var P=p[d+g],T=p[d+g+h],F=E[M];e:for(var q=k,V=C*k;q<A;++q,V+=C){var H=L[d+V],X=L[d+V+h],G=_[q];if(!(X<P||T<H)){for(var N=d+1;N<h;++N){var W=p[N+g],re=p[N+h+g],ae=L[N+V],_e=L[N+h+V];if(re<ae||_e<W)continue e}var Me=v(F,G);if(Me!==void 0)return Me}}}}function c(h,d,v,x,b,p,E,k,A,L,_){for(var C=2*h,M=k,g=C*k;M<A;++M,g+=C){var P=L[d+g],T=L[d+g+h],F=_[M];e:for(var q=x,V=C*x;q<b;++q,V+=C){var H=p[d+V],X=p[d+V+h],G=E[q];if(!(T<H||X<P)){for(var N=d+1;N<h;++N){var W=p[N+V],re=p[N+h+V],ae=L[N+g],_e=L[N+h+g];if(re<ae||_e<W)continue e}var Me=v(G,F);if(Me!==void 0)return Me}}}}function f(h,d,v,x,b,p,E,k,A,L,_){return b-x>A-k?u(h,d,v,x,b,p,E,k,A,L,_):c(h,d,v,x,b,p,E,k,A,L,_)}return f}function s(){function u(v,x,b,p,E,k,A,L,_,C,M){for(var g=2*v,P=p,T=g*p;P<E;++P,T+=g){var F=k[x+T],q=k[x+T+v],V=A[P];e:for(var H=L,X=g*L;H<_;++H,X+=g){var G=C[x+X],N=M[H];if(!(G<=F||q<G)){for(var W=x+1;W<v;++W){var re=k[W+T],ae=k[W+v+T],_e=C[W+X],Me=C[W+v+X];if(ae<_e||Me<re)continue e}var ke=b(N,V);if(ke!==void 0)return ke}}}}function c(v,x,b,p,E,k,A,L,_,C,M){for(var g=2*v,P=p,T=g*p;P<E;++P,T+=g){var F=k[x+T],q=k[x+T+v],V=A[P];e:for(var H=L,X=g*L;H<_;++H,X+=g){var G=C[x+X],N=M[H];if(!(G<F||q<G)){for(var W=x+1;W<v;++W){var re=k[W+T],ae=k[W+v+T],_e=C[W+X],Me=C[W+v+X];if(ae<_e||Me<re)continue e}var ke=b(V,N);if(ke!==void 0)return ke}}}}function f(v,x,b,p,E,k,A,L,_,C,M){for(var g=2*v,P=L,T=g*L;P<_;++P,T+=g){var F=C[x+T],q=M[P];e:for(var V=p,H=g*p;V<E;++V,H+=g){var X=k[x+H],G=k[x+H+v],N=A[V];if(!(F<=X||G<F)){for(var W=x+1;W<v;++W){var re=k[W+H],ae=k[W+v+H],_e=C[W+T],Me=C[W+v+T];if(ae<_e||Me<re)continue e}var ke=b(q,N);if(ke!==void 0)return ke}}}}function h(v,x,b,p,E,k,A,L,_,C,M){for(var g=2*v,P=L,T=g*L;P<_;++P,T+=g){var F=C[x+T],q=M[P];e:for(var V=p,H=g*p;V<E;++V,H+=g){var X=k[x+H],G=k[x+H+v],N=A[V];if(!(F<X||G<F)){for(var W=x+1;W<v;++W){var re=k[W+H],ae=k[W+v+H],_e=C[W+T],Me=C[W+v+T];if(ae<_e||Me<re)continue e}var ke=b(N,q);if(ke!==void 0)return ke}}}}function d(v,x,b,p,E,k,A,L,_,C,M,g){return k-E>C-_?p?u(v,x,b,E,k,A,L,_,C,M,g):c(v,x,b,E,k,A,L,_,C,M,g):p?f(v,x,b,E,k,A,L,_,C,M,g):h(v,x,b,E,k,A,L,_,C,M,g)}return d}function l(u){return u?o():s()}a.partial=l(!1),a.full=l(!0)},7150:function(i,a,o){\"use strict\";i.exports=G;var s=o(1888),l=o(8828),u=o(2455),c=u.partial,f=u.full,h=o(855),d=o(3545),v=o(8105),x=128,b=1<<22,p=1<<22,E=v(\"!(lo>=p0)&&!(p1>=hi)\"),k=v(\"lo===p0\"),A=v(\"lo<p0\"),L=v(\"hi<=p0\"),_=v(\"lo<=p0&&p0<=hi\"),C=v(\"lo<p0&&p0<=hi\"),M=6,g=2,P=1024,T=s.mallocInt32(P),F=s.mallocDouble(P);function q(N,W){var re=8*l.log2(W+1)*(N+1)|0,ae=l.nextPow2(M*re);T.length<ae&&(s.free(T),T=s.mallocInt32(ae));var _e=l.nextPow2(g*re);F.length<_e&&(s.free(F),F=s.mallocDouble(_e))}function V(N,W,re,ae,_e,Me,ke,ge,ie){var Te=M*N;T[Te]=W,T[Te+1]=re,T[Te+2]=ae,T[Te+3]=_e,T[Te+4]=Me,T[Te+5]=ke;var Ee=g*N;F[Ee]=ge,F[Ee+1]=ie}function H(N,W,re,ae,_e,Me,ke,ge,ie,Te,Ee){var Ae=2*N,ze=ie*Ae,Ce=Te[ze+W];e:for(var me=_e,Re=_e*Ae;me<Me;++me,Re+=Ae){var ce=ke[Re+W],Ge=ke[Re+W+N];if(!(Ce<ce||Ge<Ce)&&!(ae&&Ce===ce)){for(var nt=ge[me],ct=W+1;ct<N;++ct){var ce=ke[Re+ct],Ge=ke[Re+ct+N],qt=Te[ze+ct],rt=Te[ze+ct+N];if(Ge<qt||rt<ce)continue e}var ot;if(ae?ot=re(Ee,nt):ot=re(nt,Ee),ot!==void 0)return ot}}}function X(N,W,re,ae,_e,Me,ke,ge,ie,Te){var Ee=2*N,Ae=ge*Ee,ze=ie[Ae+W];e:for(var Ce=ae,me=ae*Ee;Ce<_e;++Ce,me+=Ee){var Re=ke[Ce];if(Re!==Te){var ce=Me[me+W],Ge=Me[me+W+N];if(!(ze<ce||Ge<ze)){for(var nt=W+1;nt<N;++nt){var ce=Me[me+nt],Ge=Me[me+nt+N],ct=ie[Ae+nt],qt=ie[Ae+nt+N];if(Ge<ct||qt<ce)continue e}var rt=re(Re,Te);if(rt!==void 0)return rt}}}}function G(N,W,re,ae,_e,Me,ke,ge,ie){q(N,ae+ke);var Te=0,Ee=2*N,Ae;for(V(Te++,0,0,ae,0,ke,re?16:0,-1/0,1/0),re||V(Te++,0,0,ke,0,ae,1,-1/0,1/0);Te>0;){Te-=1;var ze=Te*M,Ce=T[ze],me=T[ze+1],Re=T[ze+2],ce=T[ze+3],Ge=T[ze+4],nt=T[ze+5],ct=Te*g,qt=F[ct],rt=F[ct+1],ot=nt&1,Rt=!!(nt&16),kt=_e,Ct=Me,Yt=ge,xr=ie;if(ot&&(kt=ge,Ct=ie,Yt=_e,xr=Me),!(nt&2&&(Re=A(N,Ce,me,Re,kt,Ct,rt),me>=Re))&&!(nt&4&&(me=L(N,Ce,me,Re,kt,Ct,qt),me>=Re))){var er=Re-me,Ke=Ge-ce;if(Rt){if(N*er*(er+Ke)<p){if(Ae=h.scanComplete(N,Ce,W,me,Re,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae;continue}}else if(N*Math.min(er,Ke)<x){if(Ae=c(N,Ce,W,ot,me,Re,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae;continue}else if(N*er*Ke<b){if(Ae=h.scanBipartite(N,Ce,W,ot,me,Re,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae;continue}var xt=E(N,Ce,me,Re,kt,Ct,qt,rt);if(me<xt)if(N*(xt-me)<x){if(Ae=f(N,Ce+1,W,me,xt,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae}else if(Ce===N-2){if(ot?Ae=h.sweepBipartite(N,W,ce,Ge,Yt,xr,me,xt,kt,Ct):Ae=h.sweepBipartite(N,W,me,xt,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae}else V(Te++,Ce+1,me,xt,ce,Ge,ot,-1/0,1/0),V(Te++,Ce+1,ce,Ge,me,xt,ot^1,-1/0,1/0);if(xt<Re){var bt=d(N,Ce,ce,Ge,Yt,xr),Lt=Yt[Ee*bt+Ce],St=k(N,Ce,bt,Ge,Yt,xr,Lt);if(St<Ge&&V(Te++,Ce,xt,Re,St,Ge,(ot|4)+(Rt?16:0),Lt,rt),ce<bt&&V(Te++,Ce,xt,Re,ce,bt,(ot|2)+(Rt?16:0),qt,Lt),bt+1===St){if(Rt?Ae=X(N,Ce,W,xt,Re,kt,Ct,bt,Yt,xr[bt]):Ae=H(N,Ce,W,ot,xt,Re,kt,Ct,bt,Yt,xr[bt]),Ae!==void 0)return Ae}else if(bt<St){var Et;if(Rt){if(Et=_(N,Ce,xt,Re,kt,Ct,Lt),xt<Et){var dt=k(N,Ce,xt,Et,kt,Ct,Lt);if(Ce===N-2){if(xt<dt&&(Ae=h.sweepComplete(N,W,xt,dt,kt,Ct,bt,St,Yt,xr),Ae!==void 0)||dt<Et&&(Ae=h.sweepBipartite(N,W,dt,Et,kt,Ct,bt,St,Yt,xr),Ae!==void 0))return Ae}else xt<dt&&V(Te++,Ce+1,xt,dt,bt,St,16,-1/0,1/0),dt<Et&&(V(Te++,Ce+1,dt,Et,bt,St,0,-1/0,1/0),V(Te++,Ce+1,bt,St,dt,Et,1,-1/0,1/0))}}else ot?Et=C(N,Ce,xt,Re,kt,Ct,Lt):Et=_(N,Ce,xt,Re,kt,Ct,Lt),xt<Et&&(Ce===N-2?ot?Ae=h.sweepBipartite(N,W,bt,St,Yt,xr,xt,Et,kt,Ct):Ae=h.sweepBipartite(N,W,xt,Et,kt,Ct,bt,St,Yt,xr):(V(Te++,Ce+1,xt,Et,bt,St,ot,-1/0,1/0),V(Te++,Ce+1,bt,St,xt,Et,ot^1,-1/0,1/0)))}}}}}},3545:function(i,a,o){\"use strict\";i.exports=f;var s=o(8105),l=s(\"lo<p0\"),u=8;function c(h,d,v,x,b,p){for(var E=2*h,k=E*(v+1)+d,A=v+1;A<x;++A,k+=E)for(var L=b[k],_=A,C=E*(A-1);_>v&&b[C+d]>L;--_,C-=E){for(var M=C,g=C+E,P=0;P<E;++P,++M,++g){var T=b[M];b[M]=b[g],b[g]=T}var F=p[_];p[_]=p[_-1],p[_-1]=F}}function f(h,d,v,x,b,p){if(x<=v+1)return v;for(var E=v,k=x,A=x+v>>>1,L=2*h,_=A,C=b[L*A+d];E<k;){if(k-E<u){c(h,d,E,k,b,p),C=b[L*A+d];break}var M=k-E,g=Math.random()*M+E|0,P=b[L*g+d],T=Math.random()*M+E|0,F=b[L*T+d],q=Math.random()*M+E|0,V=b[L*q+d];P<=F?V>=F?(_=T,C=F):P>=V?(_=g,C=P):(_=q,C=V):F>=V?(_=T,C=F):V>=P?(_=g,C=P):(_=q,C=V);for(var G=L*(k-1),N=L*_,H=0;H<L;++H,++G,++N){var X=b[G];b[G]=b[N],b[N]=X}var W=p[k-1];p[k-1]=p[_],p[_]=W,_=l(h,d,E,k-1,b,p,C);for(var G=L*(k-1),N=L*_,H=0;H<L;++H,++G,++N){var X=b[G];b[G]=b[N],b[N]=X}var W=p[k-1];if(p[k-1]=p[_],p[_]=W,A<_){for(k=_-1;E<k&&b[L*(k-1)+d]===C;)k-=1;k+=1}else if(_<A)for(E=_+1;E<k&&b[L*E+d]===C;)E+=1;else break}return l(h,d,v,A,b,p,b[L*A+d])}},8105:function(i){\"use strict\";i.exports=o;var a={\"lo===p0\":s,\"lo<p0\":l,\"lo<=p0\":u,\"hi<=p0\":c,\"lo<p0&&p0<=hi\":h,\"lo<=p0&&p0<=hi\":f,\"!(lo>=p0)&&!(p1>=hi)\":d};function o(v){return a[v]}function s(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+g];if(F===A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function l(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+g];if(F<A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function u(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+P];if(F<=A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function c(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+P];if(F<=A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function f(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+g],q=E[_+P];if(F<=A&&A<=q)if(M===T)M+=1,C+=L;else{for(var V=0;L>V;++V){var H=E[_+V];E[_+V]=E[C],E[C++]=H}var X=k[T];k[T]=k[M],k[M++]=X}}return M}function h(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+g],q=E[_+P];if(F<A&&A<=q)if(M===T)M+=1,C+=L;else{for(var V=0;L>V;++V){var H=E[_+V];E[_+V]=E[C],E[C++]=H}var X=k[T];k[T]=k[M],k[M++]=X}}return M}function d(v,x,b,p,E,k,A,L){for(var _=2*v,C=_*b,M=C,g=b,P=x,T=v+x,F=b;p>F;++F,C+=_){var q=E[C+P],V=E[C+T];if(!(q>=A)&&!(L>=V))if(g===F)g+=1,M+=_;else{for(var H=0;_>H;++H){var X=E[C+H];E[C+H]=E[M],E[M++]=X}var G=k[F];k[F]=k[g],k[g++]=G}}return g}},4192:function(i){\"use strict\";i.exports=o;var a=32;function o(x,b){b<=4*a?s(0,b-1,x):v(0,b-1,x)}function s(x,b,p){for(var E=2*(x+1),k=x+1;k<=b;++k){for(var A=p[E++],L=p[E++],_=k,C=E-2;_-- >x;){var M=p[C-2],g=p[C-1];if(M<A)break;if(M===A&&g<L)break;p[C]=M,p[C+1]=g,C-=2}p[C]=A,p[C+1]=L}}function l(x,b,p){x*=2,b*=2;var E=p[x],k=p[x+1];p[x]=p[b],p[x+1]=p[b+1],p[b]=E,p[b+1]=k}function u(x,b,p){x*=2,b*=2,p[x]=p[b],p[x+1]=p[b+1]}function c(x,b,p,E){x*=2,b*=2,p*=2;var k=E[x],A=E[x+1];E[x]=E[b],E[x+1]=E[b+1],E[b]=E[p],E[b+1]=E[p+1],E[p]=k,E[p+1]=A}function f(x,b,p,E,k){x*=2,b*=2,k[x]=k[b],k[b]=p,k[x+1]=k[b+1],k[b+1]=E}function h(x,b,p){x*=2,b*=2;var E=p[x],k=p[b];return E<k?!1:E===k?p[x+1]>p[b+1]:!0}function d(x,b,p,E){x*=2;var k=E[x];return k<b?!0:k===b?E[x+1]<p:!1}function v(x,b,p){var E=(b-x+1)/6|0,k=x+E,A=b-E,L=x+b>>1,_=L-E,C=L+E,M=k,g=_,P=L,T=C,F=A,q=x+1,V=b-1,H=0;h(M,g,p)&&(H=M,M=g,g=H),h(T,F,p)&&(H=T,T=F,F=H),h(M,P,p)&&(H=M,M=P,P=H),h(g,P,p)&&(H=g,g=P,P=H),h(M,T,p)&&(H=M,M=T,T=H),h(P,T,p)&&(H=P,P=T,T=H),h(g,F,p)&&(H=g,g=F,F=H),h(g,P,p)&&(H=g,g=P,P=H),h(T,F,p)&&(H=T,T=F,F=H);for(var X=p[2*g],G=p[2*g+1],N=p[2*T],W=p[2*T+1],re=2*M,ae=2*P,_e=2*F,Me=2*k,ke=2*L,ge=2*A,ie=0;ie<2;++ie){var Te=p[re+ie],Ee=p[ae+ie],Ae=p[_e+ie];p[Me+ie]=Te,p[ke+ie]=Ee,p[ge+ie]=Ae}u(_,x,p),u(C,b,p);for(var ze=q;ze<=V;++ze)if(d(ze,X,G,p))ze!==q&&l(ze,q,p),++q;else if(!d(ze,N,W,p))for(;;)if(d(V,N,W,p)){d(V,X,G,p)?(c(ze,q,V,p),++q,--V):(l(ze,V,p),--V);break}else{if(--V<ze)break;continue}f(x,q-1,X,G,p),f(b,V+1,N,W,p),q-2-x<=a?s(x,q-2,p):v(x,q-2,p),b-(V+2)<=a?s(V+2,b,p):v(V+2,b,p),V-q<=a?s(q,V,p):v(q,V,p)}},855:function(i,a,o){\"use strict\";i.exports={init:k,sweepBipartite:_,sweepComplete:C,scanBipartite:M,scanComplete:g};var s=o(1888),l=o(8828),u=o(4192),c=1<<28,f=1024,h=s.mallocInt32(f),d=s.mallocInt32(f),v=s.mallocInt32(f),x=s.mallocInt32(f),b=s.mallocInt32(f),p=s.mallocInt32(f),E=s.mallocDouble(f*8);function k(P){var T=l.nextPow2(P);h.length<T&&(s.free(h),h=s.mallocInt32(T)),d.length<T&&(s.free(d),d=s.mallocInt32(T)),v.length<T&&(s.free(v),v=s.mallocInt32(T)),x.length<T&&(s.free(x),x=s.mallocInt32(T)),b.length<T&&(s.free(b),b=s.mallocInt32(T)),p.length<T&&(s.free(p),p=s.mallocInt32(T));var F=8*T;E.length<F&&(s.free(E),E=s.mallocDouble(F))}function A(P,T,F,q){var V=T[q],H=P[F-1];P[V]=H,T[H]=V}function L(P,T,F,q){P[F]=q,T[q]=F}function _(P,T,F,q,V,H,X,G,N,W){for(var re=0,ae=2*P,_e=P-1,Me=ae-1,ke=F;ke<q;++ke){var ge=H[ke],ie=ae*ke;E[re++]=V[ie+_e],E[re++]=-(ge+1),E[re++]=V[ie+Me],E[re++]=ge}for(var ke=X;ke<G;++ke){var ge=W[ke]+c,Te=ae*ke;E[re++]=N[Te+_e],E[re++]=-ge,E[re++]=N[Te+Me],E[re++]=ge}var Ee=re>>>1;u(E,Ee);for(var Ae=0,ze=0,ke=0;ke<Ee;++ke){var Ce=E[2*ke+1]|0;if(Ce>=c)Ce=Ce-c|0,A(v,x,ze--,Ce);else if(Ce>=0)A(h,d,Ae--,Ce);else if(Ce<=-c){Ce=-Ce-c|0;for(var me=0;me<Ae;++me){var Re=T(h[me],Ce);if(Re!==void 0)return Re}L(v,x,ze++,Ce)}else{Ce=-Ce-1|0;for(var me=0;me<ze;++me){var Re=T(Ce,v[me]);if(Re!==void 0)return Re}L(h,d,Ae++,Ce)}}}function C(P,T,F,q,V,H,X,G,N,W){for(var re=0,ae=2*P,_e=P-1,Me=ae-1,ke=F;ke<q;++ke){var ge=H[ke]+1<<1,ie=ae*ke;E[re++]=V[ie+_e],E[re++]=-ge,E[re++]=V[ie+Me],E[re++]=ge}for(var ke=X;ke<G;++ke){var ge=W[ke]+1<<1,Te=ae*ke;E[re++]=N[Te+_e],E[re++]=-ge|1,E[re++]=N[Te+Me],E[re++]=ge|1}var Ee=re>>>1;u(E,Ee);for(var Ae=0,ze=0,Ce=0,ke=0;ke<Ee;++ke){var me=E[2*ke+1]|0,Re=me&1;if(ke<Ee-1&&me>>1===E[2*ke+3]>>1&&(Re=2,ke+=1),me<0){for(var ce=-(me>>1)-1,Ge=0;Ge<Ce;++Ge){var nt=T(b[Ge],ce);if(nt!==void 0)return nt}if(Re!==0)for(var Ge=0;Ge<Ae;++Ge){var nt=T(h[Ge],ce);if(nt!==void 0)return nt}if(Re!==1)for(var Ge=0;Ge<ze;++Ge){var nt=T(v[Ge],ce);if(nt!==void 0)return nt}Re===0?L(h,d,Ae++,ce):Re===1?L(v,x,ze++,ce):Re===2&&L(b,p,Ce++,ce)}else{var ce=(me>>1)-1;Re===0?A(h,d,Ae--,ce):Re===1?A(v,x,ze--,ce):Re===2&&A(b,p,Ce--,ce)}}}function M(P,T,F,q,V,H,X,G,N,W,re,ae){var _e=0,Me=2*P,ke=T,ge=T+P,ie=1,Te=1;q?Te=c:ie=c;for(var Ee=V;Ee<H;++Ee){var Ae=Ee+ie,ze=Me*Ee;E[_e++]=X[ze+ke],E[_e++]=-Ae,E[_e++]=X[ze+ge],E[_e++]=Ae}for(var Ee=N;Ee<W;++Ee){var Ae=Ee+Te,Ce=Me*Ee;E[_e++]=re[Ce+ke],E[_e++]=-Ae}var me=_e>>>1;u(E,me);for(var Re=0,Ee=0;Ee<me;++Ee){var ce=E[2*Ee+1]|0;if(ce<0){var Ae=-ce,Ge=!1;if(Ae>=c?(Ge=!q,Ae-=c):(Ge=!!q,Ae-=1),Ge)L(h,d,Re++,Ae);else{var nt=ae[Ae],ct=Me*Ae,qt=re[ct+T+1],rt=re[ct+T+1+P];e:for(var ot=0;ot<Re;++ot){var Rt=h[ot],kt=Me*Rt;if(!(rt<X[kt+T+1]||X[kt+T+1+P]<qt)){for(var Ct=T+2;Ct<P;++Ct)if(re[ct+Ct+P]<X[kt+Ct]||X[kt+Ct+P]<re[ct+Ct])continue e;var Yt=G[Rt],xr;if(q?xr=F(nt,Yt):xr=F(Yt,nt),xr!==void 0)return xr}}}}else A(h,d,Re--,ce-ie)}}function g(P,T,F,q,V,H,X,G,N,W,re){for(var ae=0,_e=2*P,Me=T,ke=T+P,ge=q;ge<V;++ge){var ie=ge+c,Te=_e*ge;E[ae++]=H[Te+Me],E[ae++]=-ie,E[ae++]=H[Te+ke],E[ae++]=ie}for(var ge=G;ge<N;++ge){var ie=ge+1,Ee=_e*ge;E[ae++]=W[Ee+Me],E[ae++]=-ie}var Ae=ae>>>1;u(E,Ae);for(var ze=0,ge=0;ge<Ae;++ge){var Ce=E[2*ge+1]|0;if(Ce<0){var ie=-Ce;if(ie>=c)h[ze++]=ie-c;else{ie-=1;var me=re[ie],Re=_e*ie,ce=W[Re+T+1],Ge=W[Re+T+1+P];e:for(var nt=0;nt<ze;++nt){var ct=h[nt],qt=X[ct];if(qt===me)break;var rt=_e*ct;if(!(Ge<H[rt+T+1]||H[rt+T+1+P]<ce)){for(var ot=T+2;ot<P;++ot)if(W[Re+ot+P]<H[rt+ot]||H[rt+ot+P]<W[Re+ot])continue e;var Rt=F(qt,me);if(Rt!==void 0)return Rt}}}}else{for(var ie=Ce-c,nt=ze-1;nt>=0;--nt)if(h[nt]===ie){for(var ot=nt+1;ot<ze;++ot)h[ot-1]=h[ot];break}--ze}}}},2538:function(i,a,o){\"use strict\";var s=o(8902),l=o(5542),u=o(2272),c=o(5023);i.exports=x;function f(b){return[Math.min(b[0],b[1]),Math.max(b[0],b[1])]}function h(b,p){return b[0]-p[0]||b[1]-p[1]}function d(b){return b.map(f).sort(h)}function v(b,p,E){return p in b?b[p]:E}function x(b,p,E){Array.isArray(p)?(E=E||{},p=p||[]):(E=p||{},p=[]);var k=!!v(E,\"delaunay\",!0),A=!!v(E,\"interior\",!0),L=!!v(E,\"exterior\",!0),_=!!v(E,\"infinity\",!1);if(!A&&!L||b.length===0)return[];var C=s(b,p);if(k||A!==L||_){for(var M=l(b.length,d(p)),g=0;g<C.length;++g){var P=C[g];M.addTriangle(P[0],P[1],P[2])}return k&&u(b,M),L?A?_?c(M,0,_):M.cells():c(M,1,_):c(M,-1)}else return C}},2272:function(i,a,o){\"use strict\";var s=o(2646)[4],l=o(2478);i.exports=c;function u(f,h,d,v,x,b){var p=h.opposite(v,x);if(!(p<0)){if(x<v){var E=v;v=x,x=E,E=b,b=p,p=E}h.isConstraint(v,x)||s(f[v],f[x],f[b],f[p])<0&&d.push(v,x)}}function c(f,h){for(var d=[],v=f.length,x=h.stars,b=0;b<v;++b)for(var p=x[b],E=1;E<p.length;E+=2){var k=p[E];if(!(k<b)&&!h.isConstraint(b,k)){for(var A=p[E-1],L=-1,_=1;_<p.length;_+=2)if(p[_-1]===k){L=p[_];break}L<0||s(f[b],f[k],f[A],f[L])<0&&d.push(b,k)}}for(;d.length>0;){for(var k=d.pop(),b=d.pop(),A=-1,L=-1,p=x[b],C=1;C<p.length;C+=2){var M=p[C-1],g=p[C];M===k?L=g:g===k&&(A=M)}A<0||L<0||s(f[b],f[k],f[A],f[L])>=0||(h.flip(b,k),u(f,h,d,A,b,L),u(f,h,d,b,L,A),u(f,h,d,L,k,A),u(f,h,d,k,A,L))}}},5023:function(i,a,o){\"use strict\";var s=o(2478);i.exports=d;function l(v,x,b,p,E,k,A){this.cells=v,this.neighbor=x,this.flags=p,this.constraint=b,this.active=E,this.next=k,this.boundary=A}var u=l.prototype;function c(v,x){return v[0]-x[0]||v[1]-x[1]||v[2]-x[2]}u.locate=function(){var v=[0,0,0];return function(x,b,p){var E=x,k=b,A=p;return b<p?b<x&&(E=b,k=p,A=x):p<x&&(E=p,k=x,A=b),E<0?-1:(v[0]=E,v[1]=k,v[2]=A,s.eq(this.cells,v,c))}}();function f(v,x){for(var b=v.cells(),p=b.length,E=0;E<p;++E){var k=b[E],A=k[0],L=k[1],_=k[2];L<_?L<A&&(k[0]=L,k[1]=_,k[2]=A):_<A&&(k[0]=_,k[1]=A,k[2]=L)}b.sort(c);for(var C=new Array(p),E=0;E<C.length;++E)C[E]=0;var M=[],g=[],P=new Array(3*p),T=new Array(3*p),F=null;x&&(F=[]);for(var q=new l(b,P,T,C,M,g,F),E=0;E<p;++E)for(var k=b[E],V=0;V<3;++V){var A=k[V],L=k[(V+1)%3],H=P[3*E+V]=q.locate(L,A,v.opposite(L,A)),X=T[3*E+V]=v.isConstraint(A,L);H<0&&(X?g.push(E):(M.push(E),C[E]=1),x&&F.push([L,A,-1]))}return q}function h(v,x,b){for(var p=0,E=0;E<v.length;++E)x[E]===b&&(v[p++]=v[E]);return v.length=p,v}function d(v,x,b){var p=f(v,b);if(x===0)return b?p.cells.concat(p.boundary):p.cells;for(var E=1,k=p.active,A=p.next,L=p.flags,_=p.cells,C=p.constraint,M=p.neighbor;k.length>0||A.length>0;){for(;k.length>0;){var g=k.pop();if(L[g]!==-E){L[g]=E;for(var P=_[g],T=0;T<3;++T){var F=M[3*g+T];F>=0&&L[F]===0&&(C[3*g+T]?A.push(F):(k.push(F),L[F]=E))}}}var q=A;A=k,k=q,A.length=0,E=-E}var V=h(_,L,x);return b?V.concat(p.boundary):V}},8902:function(i,a,o){\"use strict\";var s=o(2478),l=o(3250)[3],u=0,c=1,f=2;i.exports=A;function h(L,_,C,M,g){this.a=L,this.b=_,this.idx=C,this.lowerIds=M,this.upperIds=g}function d(L,_,C,M){this.a=L,this.b=_,this.type=C,this.idx=M}function v(L,_){var C=L.a[0]-_.a[0]||L.a[1]-_.a[1]||L.type-_.type;return C||L.type!==u&&(C=l(L.a,L.b,_.b),C)?C:L.idx-_.idx}function x(L,_){return l(L.a,L.b,_)}function b(L,_,C,M,g){for(var P=s.lt(_,M,x),T=s.gt(_,M,x),F=P;F<T;++F){for(var q=_[F],V=q.lowerIds,X=V.length;X>1&&l(C[V[X-2]],C[V[X-1]],M)>0;)L.push([V[X-1],V[X-2],g]),X-=1;V.length=X,V.push(g);for(var H=q.upperIds,X=H.length;X>1&&l(C[H[X-2]],C[H[X-1]],M)<0;)L.push([H[X-2],H[X-1],g]),X-=1;H.length=X,H.push(g)}}function p(L,_){var C;return L.a[0]<_.a[0]?C=l(L.a,L.b,_.a):C=l(_.b,_.a,L.a),C||(_.b[0]<L.b[0]?C=l(L.a,L.b,_.b):C=l(_.b,_.a,L.b),C||L.idx-_.idx)}function E(L,_,C){var M=s.le(L,C,p),g=L[M],P=g.upperIds,T=P[P.length-1];g.upperIds=[T],L.splice(M+1,0,new h(C.a,C.b,C.idx,[T],P))}function k(L,_,C){var M=C.a;C.a=C.b,C.b=M;var g=s.eq(L,C,p),P=L[g],T=L[g-1];T.upperIds=P.upperIds,L.splice(g,1)}function A(L,_){for(var C=L.length,M=_.length,g=[],P=0;P<C;++P)g.push(new d(L[P],null,u,P));for(var P=0;P<M;++P){var T=_[P],F=L[T[0]],q=L[T[1]];F[0]<q[0]?g.push(new d(F,q,f,P),new d(q,F,c,P)):F[0]>q[0]&&g.push(new d(q,F,f,P),new d(F,q,c,P))}g.sort(v);for(var V=g[0].a[0]-(1+Math.abs(g[0].a[0]))*Math.pow(2,-52),H=[new h([V,1],[V,0],-1,[],[],[],[])],X=[],P=0,G=g.length;P<G;++P){var N=g[P],W=N.type;W===u?b(X,H,L,N.a,N.idx):W===f?E(H,L,N):k(H,L,N)}return X}},5542:function(i,a,o){\"use strict\";var s=o(2478);i.exports=f;function l(h,d){this.stars=h,this.edges=d}var u=l.prototype;function c(h,d,v){for(var x=1,b=h.length;x<b;x+=2)if(h[x-1]===d&&h[x]===v){h[x-1]=h[b-2],h[x]=h[b-1],h.length=b-2;return}}u.isConstraint=function(){var h=[0,0];function d(v,x){return v[0]-x[0]||v[1]-x[1]}return function(v,x){return h[0]=Math.min(v,x),h[1]=Math.max(v,x),s.eq(this.edges,h,d)>=0}}(),u.removeTriangle=function(h,d,v){var x=this.stars;c(x[h],d,v),c(x[d],v,h),c(x[v],h,d)},u.addTriangle=function(h,d,v){var x=this.stars;x[h].push(d,v),x[d].push(v,h),x[v].push(h,d)},u.opposite=function(h,d){for(var v=this.stars[d],x=1,b=v.length;x<b;x+=2)if(v[x]===h)return v[x-1];return-1},u.flip=function(h,d){var v=this.opposite(h,d),x=this.opposite(d,h);this.removeTriangle(h,d,v),this.removeTriangle(d,h,x),this.addTriangle(h,x,v),this.addTriangle(d,v,x)},u.edges=function(){for(var h=this.stars,d=[],v=0,x=h.length;v<x;++v)for(var b=h[v],p=0,E=b.length;p<E;p+=2)d.push([b[p],b[p+1]]);return d},u.cells=function(){for(var h=this.stars,d=[],v=0,x=h.length;v<x;++v)for(var b=h[v],p=0,E=b.length;p<E;p+=2){var k=b[p],A=b[p+1];v<Math.min(k,A)&&d.push([v,k,A])}return d};function f(h,d){for(var v=new Array(h),x=0;x<h;++x)v[x]=[];return new l(v,d)}},2419:function(i){\"use strict\";i.exports=a;function a(o){for(var s=1,l=1;l<o.length;++l)for(var u=0;u<l;++u)if(o[l]<o[u])s=-s;else if(o[u]===o[l])return 0;return s}},3628:function(i,a,o){\"use strict\";var s=o(1338),l=o(727);function u(h,d){for(var v=0,x=h.length,b=0;b<x;++b)v+=h[b]*d[b];return v}function c(h){var d=h.length;if(d===0)return[];var v=h[0].length,x=s([h.length+1,h.length+1],1),b=s([h.length+1],1);x[d][d]=0;for(var p=0;p<d;++p){for(var E=0;E<=p;++E)x[E][p]=x[p][E]=2*u(h[p],h[E]);b[p]=u(h[p],h[p])}for(var k=l(x,b),A=0,L=k[d+1],p=0;p<L.length;++p)A+=L[p];for(var _=new Array(d),p=0;p<d;++p){for(var L=k[p],C=0,E=0;E<L.length;++E)C+=L[E];_[p]=C/A}return _}function f(h){if(h.length===0)return[];for(var d=h[0].length,v=s([d]),x=c(h),b=0;b<h.length;++b)for(var p=0;p<d;++p)v[p]+=h[b][p]*x[b];return v}f.barycenetric=c,i.exports=f},6037:function(i,a,o){i.exports=l;var s=o(3628);function l(u){for(var c=s(u),f=0,h=0;h<u.length;++h)for(var d=u[h],v=0;v<c.length;++v)f+=Math.pow(d[v]-c[v],2);return Math.sqrt(f/u.length)}},332:function(i,a,o){\"use strict\";i.exports=F;var s=o(1755),l=o(6867),u=o(1125),c=o(7842),f=o(1318),h=o(946),d=o(5838),v=o(1278),x=o(3637);function b(q){var V=h(q);return[v(V,-1/0),v(V,1/0)]}function p(q,V){for(var H=new Array(V.length),X=0;X<V.length;++X){var G=V[X],N=q[G[0]],W=q[G[1]];H[X]=[v(Math.min(N[0],W[0]),-1/0),v(Math.min(N[1],W[1]),-1/0),v(Math.max(N[0],W[0]),1/0),v(Math.max(N[1],W[1]),1/0)]}return H}function E(q){for(var V=new Array(q.length),H=0;H<q.length;++H){var X=q[H];V[H]=[v(X[0],-1/0),v(X[1],-1/0),v(X[0],1/0),v(X[1],1/0)]}return V}function k(q,V,H){var X=[];return l(H,function(G,N){var W=V[G],re=V[N];if(!(W[0]===re[0]||W[0]===re[1]||W[1]===re[0]||W[1]===re[1])){var ae=q[W[0]],_e=q[W[1]],Me=q[re[0]],ke=q[re[1]];u(ae,_e,Me,ke)&&X.push([G,N])}}),X}function A(q,V,H,X){var G=[];return l(H,X,function(N,W){var re=V[N];if(!(re[0]===W||re[1]===W)){var ae=q[W],_e=q[re[0]],Me=q[re[1]];u(_e,Me,ae,ae)&&G.push([N,W])}}),G}function L(q,V,H,X,G){var N,W,re=q.map(function(ct){return[c(ct[0]),c(ct[1])]});for(N=0;N<H.length;++N){var ae=H[N];W=ae[0];var _e=ae[1],Me=V[W],ke=V[_e],ge=x(d(q[Me[0]]),d(q[Me[1]]),d(q[ke[0]]),d(q[ke[1]]));if(ge){var ie=q.length;q.push([h(ge[0]),h(ge[1])]),re.push(ge),X.push([W,ie],[_e,ie])}}for(X.sort(function(ct,qt){if(ct[0]!==qt[0])return ct[0]-qt[0];var rt=re[ct[1]],ot=re[qt[1]];return f(rt[0],ot[0])||f(rt[1],ot[1])}),N=X.length-1;N>=0;--N){var Te=X[N];W=Te[0];var Ee=V[W],Ae=Ee[0],ze=Ee[1],Ce=q[Ae],me=q[ze];if((Ce[0]-me[0]||Ce[1]-me[1])<0){var Re=Ae;Ae=ze,ze=Re}Ee[0]=Ae;var ce=Ee[1]=Te[1],Ge;for(G&&(Ge=Ee[2]);N>0&&X[N-1][0]===W;){var Te=X[--N],nt=Te[1];G?V.push([ce,nt,Ge]):V.push([ce,nt]),ce=nt}G?V.push([ce,ze,Ge]):V.push([ce,ze])}return re}function _(q,V,H){for(var X=V.length,G=new s(X),N=[],W=0;W<V.length;++W){var re=V[W],ae=b(re[0]),_e=b(re[1]);N.push([v(ae[0],-1/0),v(_e[0],-1/0),v(ae[1],1/0),v(_e[1],1/0)])}l(N,function(Te,Ee){G.link(Te,Ee)});for(var Me=!0,ke=new Array(X),W=0;W<X;++W){var ge=G.find(W);ge!==W&&(Me=!1,q[ge]=[Math.min(q[W][0],q[ge][0]),Math.min(q[W][1],q[ge][1])])}if(Me)return null;for(var ie=0,W=0;W<X;++W){var ge=G.find(W);ge===W?(ke[W]=ie,q[ie++]=q[W]):ke[W]=-1}q.length=ie;for(var W=0;W<X;++W)ke[W]<0&&(ke[W]=ke[G.find(W)]);return ke}function C(q,V){return q[0]-V[0]||q[1]-V[1]}function M(q,V){var H=q[0]-V[0]||q[1]-V[1];return H||(q[2]<V[2]?-1:q[2]>V[2]?1:0)}function g(q,V,H){if(q.length!==0){if(V)for(var X=0;X<q.length;++X){var G=q[X],N=V[G[0]],W=V[G[1]];G[0]=Math.min(N,W),G[1]=Math.max(N,W)}else for(var X=0;X<q.length;++X){var G=q[X],N=G[0],W=G[1];G[0]=Math.min(N,W),G[1]=Math.max(N,W)}H?q.sort(M):q.sort(C);for(var re=1,X=1;X<q.length;++X){var ae=q[X-1],_e=q[X];_e[0]===ae[0]&&_e[1]===ae[1]&&(!H||_e[2]===ae[2])||(q[re++]=_e)}q.length=re}}function P(q,V,H){var X=_(q,[],E(q));return g(V,X,H),!!X}function T(q,V,H){var X=p(q,V),G=k(q,V,X),N=E(q),W=A(q,V,X,N),re=L(q,V,G,W,H),ae=_(q,re,N);return g(V,ae,H),ae?!0:G.length>0||W.length>0}function F(q,V,H){var X;if(H){X=V;for(var G=new Array(V.length),N=0;N<V.length;++N){var W=V[N];G[N]=[W[0],W[1],H[N]]}V=G}for(var re=P(q,V,!!H);T(q,V,!!H);)re=!0;if(H&&re){X.length=0,H.length=0;for(var N=0;N<V.length;++N){var W=V[N];X.push([W[0],W[1]]),H.push(W[2])}}return re}},3637:function(i,a,o){\"use strict\";i.exports=x;var s=o(6504),l=o(8697),u=o(5572),c=o(7721),f=o(544),h=o(2653),d=o(8987);function v(b,p){return u(s(b[0],p[1]),s(b[1],p[0]))}function x(b,p,E,k){var A=f(p,b),L=f(k,E),_=v(A,L);if(c(_)===0)return null;var C=f(b,E),M=v(L,C),g=l(M,_),P=d(A,g),T=h(b,P);return T}},3642:function(i){i.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(i,a,o){\"use strict\";var s=o(3642),l=o(395);i.exports=u;function u(d){var v,x,b,p,E,k,A,L,g,_,C;if(d||(d={}),L=(d.nshades||72)-1,A=d.format||\"hex\",k=d.colormap,k||(k=\"jet\"),typeof k==\"string\"){if(k=k.toLowerCase(),!s[k])throw Error(k+\" not a supported colorscale\");E=s[k]}else if(Array.isArray(k))E=k.slice();else throw Error(\"unsupported colormap option\",k);if(E.length>L+1)throw new Error(k+\" map requires nshades to be at least size \"+E.length);Array.isArray(d.alpha)?d.alpha.length!==2?_=[1,1]:_=d.alpha.slice():typeof d.alpha==\"number\"?_=[d.alpha,d.alpha]:_=[1,1],v=E.map(function(F){return Math.round(F.index*L)}),_[0]=Math.min(Math.max(_[0],0),1),_[1]=Math.min(Math.max(_[1],0),1);var M=E.map(function(F,q){var V=E[q].index,H=E[q].rgb.slice();return H.length===4&&H[3]>=0&&H[3]<=1||(H[3]=_[0]+(_[1]-_[0])*V),H}),g=[];for(C=0;C<v.length-1;++C){p=v[C+1]-v[C],x=M[C],b=M[C+1];for(var P=0;P<p;P++){var T=P/p;g.push([Math.round(l(x[0],b[0],T)),Math.round(l(x[1],b[1],T)),Math.round(l(x[2],b[2],T)),l(x[3],b[3],T)])}}return g.push(E[E.length-1].rgb.concat(_[1])),A===\"hex\"?g=g.map(f):A===\"rgbaString\"?g=g.map(h):A===\"float\"&&(g=g.map(c)),g}function c(d){return[d[0]/255,d[1]/255,d[2]/255,d[3]]}function f(d){for(var v,x=\"#\",b=0;b<3;++b)v=d[b],v=v.toString(16),x+=(\"00\"+v).substr(v.length);return x}function h(d){return\"rgba(\"+d.join(\",\")+\")\"}},3140:function(i,a,o){\"use strict\";i.exports=d;var s=o(3250),l=o(8572),u=o(9362),c=o(5382),f=o(8210);function h(v,x,b){var p=u(v[0],-x[0]),E=u(v[1],-x[1]),k=u(b[0],-x[0]),A=u(b[1],-x[1]),L=f(c(p,k),c(E,A));return L[L.length-1]>=0}function d(v,x,b,p){var E=s(x,b,p);if(E===0){var k=l(s(v,x,b)),A=l(s(v,x,p));if(k===A){if(k===0){var L=h(v,x,b),_=h(v,x,p);return L===_?0:L?1:-1}return 0}else{if(A===0)return k>0||h(v,x,p)?-1:1;if(k===0)return A>0||h(v,x,b)?1:-1}return l(A-k)}var C=s(v,x,b);if(C>0)return E>0&&s(v,x,p)>0?1:-1;if(C<0)return E>0||s(v,x,p)>0?1:-1;var M=s(v,x,p);return M>0||h(v,x,b)?1:-1}},8572:function(i){\"use strict\";i.exports=function(o){return o<0?-1:o>0?1:0}},8507:function(i){i.exports=s;var a=Math.min;function o(l,u){return l-u}function s(l,u){var c=l.length,f=l.length-u.length;if(f)return f;switch(c){case 0:return 0;case 1:return l[0]-u[0];case 2:return l[0]+l[1]-u[0]-u[1]||a(l[0],l[1])-a(u[0],u[1]);case 3:var h=l[0]+l[1],d=u[0]+u[1];if(f=h+l[2]-(d+u[2]),f)return f;var v=a(l[0],l[1]),x=a(u[0],u[1]);return a(v,l[2])-a(x,u[2])||a(v+l[2],h)-a(x+u[2],d);case 4:var b=l[0],p=l[1],E=l[2],k=l[3],A=u[0],L=u[1],_=u[2],C=u[3];return b+p+E+k-(A+L+_+C)||a(b,p,E,k)-a(A,L,_,C,A)||a(b+p,b+E,b+k,p+E,p+k,E+k)-a(A+L,A+_,A+C,L+_,L+C,_+C)||a(b+p+E,b+p+k,b+E+k,p+E+k)-a(A+L+_,A+L+C,A+_+C,L+_+C);default:for(var M=l.slice().sort(o),g=u.slice().sort(o),P=0;P<c;++P)if(f=M[P]-g[P],f)return f;return 0}}},3788:function(i,a,o){\"use strict\";var s=o(8507),l=o(2419);i.exports=u;function u(c,f){return s(c,f)||l(c)-l(f)}},7352:function(i,a,o){\"use strict\";var s=o(5721),l=o(4750),u=o(2690);i.exports=c;function c(f){var h=f.length;if(h===0)return[];if(h===1)return[[0]];var d=f[0].length;return d===0?[]:d===1?s(f):d===2?l(f):u(f,d)}},5721:function(i){\"use strict\";i.exports=a;function a(o){for(var s=0,l=0,u=1;u<o.length;++u)o[u][0]<o[s][0]&&(s=u),o[u][0]>o[l][0]&&(l=u);return s<l?[[s],[l]]:s>l?[[l],[s]]:[[s]]}},4750:function(i,a,o){\"use strict\";i.exports=l;var s=o(3090);function l(u){var c=s(u),f=c.length;if(f<=2)return[];for(var h=new Array(f),d=c[f-1],v=0;v<f;++v){var x=c[v];h[v]=[d,x],d=x}return h}},2690:function(i,a,o){\"use strict\";i.exports=f;var s=o(8954),l=o(3952);function u(h,d){for(var v=h.length,x=new Array(v),b=0;b<d.length;++b)x[b]=h[d[b]];for(var p=d.length,b=0;b<v;++b)d.indexOf(b)<0&&(x[p++]=h[b]);return x}function c(h,d){for(var v=h.length,x=d.length,b=0;b<v;++b)for(var p=h[b],E=0;E<p.length;++E){var k=p[E];if(k<x)p[E]=d[k];else{k=k-x;for(var A=0;A<x;++A)k>=d[A]&&(k+=1);p[E]=k}}return h}function f(h,d){try{return s(h,!0)}catch(p){var v=l(h);if(v.length<=d)return[];var x=u(h,v),b=s(x,!0);return c(b,v)}}},4769:function(i){\"use strict\";function a(s,l,u,c,f,h){var d=6*f*f-6*f,v=3*f*f-4*f+1,x=-6*f*f+6*f,b=3*f*f-2*f;if(s.length){h||(h=new Array(s.length));for(var p=s.length-1;p>=0;--p)h[p]=d*s[p]+v*l[p]+x*u[p]+b*c[p];return h}return d*s+v*l+x*u[p]+b*c}function o(s,l,u,c,f,h){var d=f-1,v=f*f,x=d*d,b=(1+2*f)*x,p=f*x,E=v*(3-2*f),k=v*d;if(s.length){h||(h=new Array(s.length));for(var A=s.length-1;A>=0;--A)h[A]=b*s[A]+p*l[A]+E*u[A]+k*c[A];return h}return b*s+p*l+E*u+k*c}i.exports=o,i.exports.derivative=a},7642:function(i,a,o){\"use strict\";var s=o(8954),l=o(1682);i.exports=h;function u(d,v){this.point=d,this.index=v}function c(d,v){for(var x=d.point,b=v.point,p=x.length,E=0;E<p;++E){var k=b[E]-x[E];if(k)return k}return 0}function f(d,v,x){if(d===1)return x?[[-1,0]]:[];var b=v.map(function(L,_){return[L[0],_]});b.sort(function(L,_){return L[0]-_[0]});for(var p=new Array(d-1),E=1;E<d;++E){var k=b[E-1],A=b[E];p[E-1]=[k[1],A[1]]}return x&&p.push([-1,p[0][1]],[p[d-1][1],-1]),p}function h(d,v){var x=d.length;if(x===0)return[];var b=d[0].length;if(b<1)return[];if(b===1)return f(x,d,v);for(var p=new Array(x),E=1,k=0;k<x;++k){for(var A=d[k],L=new Array(b+1),_=0,C=0;C<b;++C){var M=A[C];L[C]=M,_+=M*M}L[b]=_,p[k]=new u(L,k),E=Math.max(_,E)}l(p,c),x=p.length;for(var g=new Array(x+b+1),P=new Array(x+b+1),T=(b+1)*(b+1)*E,F=new Array(b+1),k=0;k<=b;++k)F[k]=0;F[b]=T,g[0]=F.slice(),P[0]=-1;for(var k=0;k<=b;++k){var L=F.slice();L[k]=1,g[k+1]=L,P[k+1]=-1}for(var k=0;k<x;++k){var q=p[k];g[k+b+1]=q.point,P[k+b+1]=q.index}var V=s(g,!1);if(v?V=V.filter(function(H){for(var X=0,G=0;G<=b;++G){var N=P[H[G]];if(N<0&&++X>=2)return!1;H[G]=N}return!0}):V=V.filter(function(H){for(var X=0;X<=b;++X){var G=P[H[X]];if(G<0)return!1;H[X]=G}return!0}),b&1)for(var k=0;k<V.length;++k){var q=V[k],L=q[0];q[0]=q[1],q[1]=L}return V}},2361:function(i){var a=!1;if(typeof Float64Array!=\"undefined\"){var o=new Float64Array(1),s=new Uint32Array(o.buffer);if(o[0]=1,a=!0,s[1]===1072693248){let E=function(L,_){return s[0]=L,s[1]=_,o[0]},k=function(L){return o[0]=L,s[0]},A=function(L){return o[0]=L,s[1]};var u=E,c=k,f=A;i.exports=function(_){return o[0]=_,[s[0],s[1]]},i.exports.pack=E,i.exports.lo=k,i.exports.hi=A}else if(s[0]===1072693248){let E=function(L,_){return s[1]=L,s[0]=_,o[0]},k=function(L){return o[0]=L,s[1]},A=function(L){return o[0]=L,s[0]};var h=E,d=k,v=A;i.exports=function(_){return o[0]=_,[s[1],s[0]]},i.exports.pack=E,i.exports.lo=k,i.exports.hi=A}else a=!1}if(!a){let E=function(L,_){return l.writeUInt32LE(L,0,!0),l.writeUInt32LE(_,4,!0),l.readDoubleLE(0,!0)},k=function(L){return l.writeDoubleLE(L,0,!0),l.readUInt32LE(0,!0)},A=function(L){return l.writeDoubleLE(L,0,!0),l.readUInt32LE(4,!0)};var x=E,b=k,p=A,l=new Buffer(8);i.exports=function(_){return l.writeDoubleLE(_,0,!0),[l.readUInt32LE(0,!0),l.readUInt32LE(4,!0)]},i.exports.pack=E,i.exports.lo=k,i.exports.hi=A}i.exports.sign=function(E){return i.exports.hi(E)>>>31},i.exports.exponent=function(E){var k=i.exports.hi(E);return(k<<1>>>21)-1023},i.exports.fraction=function(E){var k=i.exports.lo(E),A=i.exports.hi(E),L=A&(1<<20)-1;return A&2146435072&&(L+=1048576),[k,L]},i.exports.denormalized=function(E){var k=i.exports.hi(E);return!(k&2146435072)}},1338:function(i){\"use strict\";function a(l,u,c){var f=l[c]|0;if(f<=0)return[];var h=new Array(f),d;if(c===l.length-1)for(d=0;d<f;++d)h[d]=u;else for(d=0;d<f;++d)h[d]=a(l,u,c+1);return h}function o(l,u){var c,f;for(c=new Array(l),f=0;f<l;++f)c[f]=u;return c}function s(l,u){switch(typeof u==\"undefined\"&&(u=0),typeof l){case\"number\":if(l>0)return o(l|0,u);break;case\"object\":if(typeof l.length==\"number\")return a(l,u,0);break}return[]}i.exports=s},3134:function(i,a,o){\"use strict\";i.exports=l;var s=o(1682);function l(u,c){var f=u.length;if(typeof c!=\"number\"){c=0;for(var h=0;h<f;++h){var d=u[h];c=Math.max(c,d[0],d[1])}c=(c|0)+1}c=c|0;for(var v=new Array(c),h=0;h<c;++h)v[h]=[];for(var h=0;h<f;++h){var d=u[h];v[d[0]].push(d[1]),v[d[1]].push(d[0])}for(var x=0;x<c;++x)s(v[x],function(b,p){return b-p});return v}},5033:function(i){\"use strict\";i.exports=a;function a(o,s,l){var u=s||0,c=l||1;return[[o[12]+o[0],o[13]+o[1],o[14]+o[2],o[15]+o[3]],[o[12]-o[0],o[13]-o[1],o[14]-o[2],o[15]-o[3]],[o[12]+o[4],o[13]+o[5],o[14]+o[6],o[15]+o[7]],[o[12]-o[4],o[13]-o[5],o[14]-o[6],o[15]-o[7]],[u*o[12]+o[8],u*o[13]+o[9],u*o[14]+o[10],u*o[15]+o[11]],[c*o[12]-o[8],c*o[13]-o[9],c*o[14]-o[10],c*o[15]-o[11]]]}},9215:function(i,a,o){\"use strict\";i.exports=d;var s=o(4769),l=o(2478);function u(v,x,b){return Math.min(x,Math.max(v,b))}function c(v,x,b){this.dimension=v.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var p=0;p<this.dimension;++p)this.bounds[0][p]=-1/0,this.bounds[1][p]=1/0;this._state=v.slice().reverse(),this._velocity=x.slice().reverse(),this._time=[b],this._scratch=[v.slice(),v.slice(),v.slice(),v.slice(),v.slice()]}var f=c.prototype;f.flush=function(v){var x=l.gt(this._time,v)-1;x<=0||(this._time.splice(0,x),this._state.splice(0,x*this.dimension),this._velocity.splice(0,x*this.dimension))},f.curve=function(v){var x=this._time,b=x.length,p=l.le(x,v),E=this._scratch[0],k=this._state,A=this._velocity,L=this.dimension,_=this.bounds;if(p<0)for(var C=L-1,M=0;M<L;++M,--C)E[M]=k[C];else if(p>=b-1)for(var C=k.length-1,g=v-x[b-1],M=0;M<L;++M,--C)E[M]=k[C]+g*A[C];else{for(var C=L*(p+1)-1,P=x[p],T=x[p+1],F=T-P||1,q=this._scratch[1],V=this._scratch[2],H=this._scratch[3],X=this._scratch[4],G=!0,M=0;M<L;++M,--C)q[M]=k[C],H[M]=A[C]*F,V[M]=k[C+L],X[M]=A[C+L]*F,G=G&&q[M]===V[M]&&H[M]===X[M]&&H[M]===0;if(G)for(var M=0;M<L;++M)E[M]=q[M];else s(q,H,V,X,(v-P)/F,E)}for(var N=_[0],W=_[1],M=0;M<L;++M)E[M]=u(N[M],W[M],E[M]);return E},f.dcurve=function(v){var x=this._time,b=x.length,p=l.le(x,v),E=this._scratch[0],k=this._state,A=this._velocity,L=this.dimension;if(p>=b-1)for(var _=k.length-1,C=v-x[b-1],M=0;M<L;++M,--_)E[M]=A[_];else{for(var _=L*(p+1)-1,g=x[p],P=x[p+1],T=P-g||1,F=this._scratch[1],q=this._scratch[2],V=this._scratch[3],H=this._scratch[4],X=!0,M=0;M<L;++M,--_)F[M]=k[_],V[M]=A[_]*T,q[M]=k[_+L],H[M]=A[_+L]*T,X=X&&F[M]===q[M]&&V[M]===H[M]&&V[M]===0;if(X)for(var M=0;M<L;++M)E[M]=0;else{s.derivative(F,V,q,H,(v-g)/T,E);for(var M=0;M<L;++M)E[M]/=T}}return E},f.lastT=function(){var v=this._time;return v[v.length-1]},f.stable=function(){for(var v=this._velocity,x=v.length,b=this.dimension-1;b>=0;--b)if(v[--x])return!1;return!0},f.jump=function(v){var x=this.lastT(),b=this.dimension;if(!(v<x||arguments.length!==b+1)){var p=this._state,E=this._velocity,k=p.length-this.dimension,A=this.bounds,L=A[0],_=A[1];this._time.push(x,v);for(var C=0;C<2;++C)for(var M=0;M<b;++M)p.push(p[k++]),E.push(0);this._time.push(v);for(var M=b;M>0;--M)p.push(u(L[M-1],_[M-1],arguments[M])),E.push(0)}},f.push=function(v){var x=this.lastT(),b=this.dimension;if(!(v<x||arguments.length!==b+1)){var p=this._state,E=this._velocity,k=p.length-this.dimension,A=v-x,L=this.bounds,_=L[0],C=L[1],M=A>1e-6?1/A:0;this._time.push(v);for(var g=b;g>0;--g){var P=u(_[g-1],C[g-1],arguments[g]);p.push(P),E.push((P-p[k++])*M)}}},f.set=function(v){var x=this.dimension;if(!(v<this.lastT()||arguments.length!==x+1)){var b=this._state,p=this._velocity,E=this.bounds,k=E[0],A=E[1];this._time.push(v);for(var L=x;L>0;--L)b.push(u(k[L-1],A[L-1],arguments[L])),p.push(0)}},f.move=function(v){var x=this.lastT(),b=this.dimension;if(!(v<=x||arguments.length!==b+1)){var p=this._state,E=this._velocity,k=p.length-this.dimension,A=this.bounds,L=A[0],_=A[1],C=v-x,M=C>1e-6?1/C:0;this._time.push(v);for(var g=b;g>0;--g){var P=arguments[g];p.push(u(L[g-1],_[g-1],p[k++]+P)),E.push(P*M)}}},f.idle=function(v){var x=this.lastT();if(!(v<x)){var b=this.dimension,p=this._state,E=this._velocity,k=p.length-b,A=this.bounds,L=A[0],_=A[1],C=v-x;this._time.push(v);for(var M=b-1;M>=0;--M)p.push(u(L[M],_[M],p[k]+C*E[k])),E.push(0),k+=1}};function h(v){for(var x=new Array(v),b=0;b<v;++b)x[b]=0;return x}function d(v,x,b){switch(arguments.length){case 0:return new c([0],[0],0);case 1:if(typeof v==\"number\"){var p=h(v);return new c(p,p,0)}else return new c(v,h(v.length),0);case 2:if(typeof x==\"number\"){var p=h(v.length);return new c(v,p,+x)}else b=0;case 3:if(v.length!==x.length)throw new Error(\"state and velocity lengths must match\");return new c(v,x,b)}}},3840:function(i){\"use strict\";i.exports=L;var a=0,o=1;function s(_,C,M,g,P,T){this._color=_,this.key=C,this.value=M,this.left=g,this.right=P,this._count=T}function l(_){return new s(_._color,_.key,_.value,_.left,_.right,_._count)}function u(_,C){return new s(_,C.key,C.value,C.left,C.right,C._count)}function c(_){_._count=1+(_.left?_.left._count:0)+(_.right?_.right._count:0)}function f(_,C){this._compare=_,this.root=C}var h=f.prototype;Object.defineProperty(h,\"keys\",{get:function(){var _=[];return this.forEach(function(C,M){_.push(C)}),_}}),Object.defineProperty(h,\"values\",{get:function(){var _=[];return this.forEach(function(C,M){_.push(M)}),_}}),Object.defineProperty(h,\"length\",{get:function(){return this.root?this.root._count:0}}),h.insert=function(_,C){for(var M=this._compare,g=this.root,P=[],T=[];g;){var F=M(_,g.key);P.push(g),T.push(F),F<=0?g=g.left:g=g.right}P.push(new s(a,_,C,null,null,1));for(var q=P.length-2;q>=0;--q){var g=P[q];T[q]<=0?P[q]=new s(g._color,g.key,g.value,P[q+1],g.right,g._count+1):P[q]=new s(g._color,g.key,g.value,g.left,P[q+1],g._count+1)}for(var q=P.length-1;q>1;--q){var V=P[q-1],g=P[q];if(V._color===o||g._color===o)break;var H=P[q-2];if(H.left===V)if(V.left===g){var X=H.right;if(X&&X._color===a)V._color=o,H.right=u(o,X),H._color=a,q-=1;else{if(H._color=a,H.left=V.right,V._color=o,V.right=H,P[q-2]=V,P[q-1]=g,c(H),c(V),q>=3){var G=P[q-3];G.left===H?G.left=V:G.right=V}break}}else{var X=H.right;if(X&&X._color===a)V._color=o,H.right=u(o,X),H._color=a,q-=1;else{if(V.right=g.left,H._color=a,H.left=g.right,g._color=o,g.left=V,g.right=H,P[q-2]=g,P[q-1]=V,c(H),c(V),c(g),q>=3){var G=P[q-3];G.left===H?G.left=g:G.right=g}break}}else if(V.right===g){var X=H.left;if(X&&X._color===a)V._color=o,H.left=u(o,X),H._color=a,q-=1;else{if(H._color=a,H.right=V.left,V._color=o,V.left=H,P[q-2]=V,P[q-1]=g,c(H),c(V),q>=3){var G=P[q-3];G.right===H?G.right=V:G.left=V}break}}else{var X=H.left;if(X&&X._color===a)V._color=o,H.left=u(o,X),H._color=a,q-=1;else{if(V.left=g.right,H._color=a,H.right=g.left,g._color=o,g.right=V,g.left=H,P[q-2]=g,P[q-1]=V,c(H),c(V),c(g),q>=3){var G=P[q-3];G.right===H?G.right=g:G.left=g}break}}}return P[0]._color=o,new f(M,P[0])};function d(_,C){if(C.left){var M=d(_,C.left);if(M)return M}var M=_(C.key,C.value);if(M)return M;if(C.right)return d(_,C.right)}function v(_,C,M,g){var P=C(_,g.key);if(P<=0){if(g.left){var T=v(_,C,M,g.left);if(T)return T}var T=M(g.key,g.value);if(T)return T}if(g.right)return v(_,C,M,g.right)}function x(_,C,M,g,P){var T=M(_,P.key),F=M(C,P.key),q;if(T<=0&&(P.left&&(q=x(_,C,M,g,P.left),q)||F>0&&(q=g(P.key,P.value),q)))return q;if(F>0&&P.right)return x(_,C,M,g,P.right)}h.forEach=function(C,M,g){if(this.root)switch(arguments.length){case 1:return d(C,this.root);case 2:return v(M,this._compare,C,this.root);case 3:return this._compare(M,g)>=0?void 0:x(M,g,this._compare,C,this.root)}},Object.defineProperty(h,\"begin\",{get:function(){for(var _=[],C=this.root;C;)_.push(C),C=C.left;return new b(this,_)}}),Object.defineProperty(h,\"end\",{get:function(){for(var _=[],C=this.root;C;)_.push(C),C=C.right;return new b(this,_)}}),h.at=function(_){if(_<0)return new b(this,[]);for(var C=this.root,M=[];;){if(M.push(C),C.left){if(_<C.left._count){C=C.left;continue}_-=C.left._count}if(!_)return new b(this,M);if(_-=1,C.right){if(_>=C.right._count)break;C=C.right}else break}return new b(this,[])},h.ge=function(_){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(_,M.key);g.push(M),T<=0&&(P=g.length),T<=0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.gt=function(_){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(_,M.key);g.push(M),T<0&&(P=g.length),T<0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.lt=function(_){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(_,M.key);g.push(M),T>0&&(P=g.length),T<=0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.le=function(_){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(_,M.key);g.push(M),T>=0&&(P=g.length),T<0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.find=function(_){for(var C=this._compare,M=this.root,g=[];M;){var P=C(_,M.key);if(g.push(M),P===0)return new b(this,g);P<=0?M=M.left:M=M.right}return new b(this,[])},h.remove=function(_){var C=this.find(_);return C?C.remove():this},h.get=function(_){for(var C=this._compare,M=this.root;M;){var g=C(_,M.key);if(g===0)return M.value;g<=0?M=M.left:M=M.right}};function b(_,C){this.tree=_,this._stack=C}var p=b.prototype;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 b(this.tree,this._stack.slice())};function E(_,C){_.key=C.key,_.value=C.value,_.left=C.left,_.right=C.right,_._color=C._color,_._count=C._count}function k(_){for(var C,M,g,P,T=_.length-1;T>=0;--T){if(C=_[T],T===0){C._color=o;return}if(M=_[T-1],M.left===C){if(g=M.right,g.right&&g.right._color===a){if(g=M.right=l(g),P=g.right=l(g.right),M.right=g.left,g.left=M,g.right=P,g._color=M._color,C._color=o,M._color=o,P._color=o,c(M),c(g),T>1){var F=_[T-2];F.left===M?F.left=g:F.right=g}_[T-1]=g;return}else if(g.left&&g.left._color===a){if(g=M.right=l(g),P=g.left=l(g.left),M.right=P.left,g.left=P.right,P.left=M,P.right=g,P._color=M._color,M._color=o,g._color=o,C._color=o,c(M),c(g),c(P),T>1){var F=_[T-2];F.left===M?F.left=P:F.right=P}_[T-1]=P;return}if(g._color===o)if(M._color===a){M._color=o,M.right=u(a,g);return}else{M.right=u(a,g);continue}else{if(g=l(g),M.right=g.left,g.left=M,g._color=M._color,M._color=a,c(M),c(g),T>1){var F=_[T-2];F.left===M?F.left=g:F.right=g}_[T-1]=g,_[T]=M,T+1<_.length?_[T+1]=C:_.push(C),T=T+2}}else{if(g=M.left,g.left&&g.left._color===a){if(g=M.left=l(g),P=g.left=l(g.left),M.left=g.right,g.right=M,g.left=P,g._color=M._color,C._color=o,M._color=o,P._color=o,c(M),c(g),T>1){var F=_[T-2];F.right===M?F.right=g:F.left=g}_[T-1]=g;return}else if(g.right&&g.right._color===a){if(g=M.left=l(g),P=g.right=l(g.right),M.left=P.right,g.right=P.left,P.right=M,P.left=g,P._color=M._color,M._color=o,g._color=o,C._color=o,c(M),c(g),c(P),T>1){var F=_[T-2];F.right===M?F.right=P:F.left=P}_[T-1]=P;return}if(g._color===o)if(M._color===a){M._color=o,M.left=u(a,g);return}else{M.left=u(a,g);continue}else{if(g=l(g),M.left=g.right,g.right=M,g._color=M._color,M._color=a,c(M),c(g),T>1){var F=_[T-2];F.right===M?F.right=g:F.left=g}_[T-1]=g,_[T]=M,T+1<_.length?_[T+1]=C:_.push(C),T=T+2}}}}p.remove=function(){var _=this._stack;if(_.length===0)return this.tree;var C=new Array(_.length),M=_[_.length-1];C[C.length-1]=new s(M._color,M.key,M.value,M.left,M.right,M._count);for(var g=_.length-2;g>=0;--g){var M=_[g];M.left===_[g+1]?C[g]=new s(M._color,M.key,M.value,C[g+1],M.right,M._count):C[g]=new s(M._color,M.key,M.value,M.left,C[g+1],M._count)}if(M=C[C.length-1],M.left&&M.right){var P=C.length;for(M=M.left;M.right;)C.push(M),M=M.right;var T=C[P-1];C.push(new s(M._color,T.key,T.value,M.left,M.right,M._count)),C[P-1].key=M.key,C[P-1].value=M.value;for(var g=C.length-2;g>=P;--g)M=C[g],C[g]=new s(M._color,M.key,M.value,M.left,C[g+1],M._count);C[P-1].left=C[P]}if(M=C[C.length-1],M._color===a){var F=C[C.length-2];F.left===M?F.left=null:F.right===M&&(F.right=null),C.pop();for(var g=0;g<C.length;++g)C[g]._count--;return new f(this.tree._compare,C[0])}else if(M.left||M.right){M.left?E(M,M.left):M.right&&E(M,M.right),M._color=o;for(var g=0;g<C.length-1;++g)C[g]._count--;return new f(this.tree._compare,C[0])}else{if(C.length===1)return new f(this.tree._compare,null);for(var g=0;g<C.length;++g)C[g]._count--;var q=C[C.length-2];k(C),q.left===M?q.left=null:q.right=null}return new f(this.tree._compare,C[0])},Object.defineProperty(p,\"key\",{get:function(){if(this._stack.length>0)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 _=0,C=this._stack;if(C.length===0){var M=this.tree.root;return M?M._count:0}else C[C.length-1].left&&(_=C[C.length-1].left._count);for(var g=C.length-2;g>=0;--g)C[g+1]===C[g].right&&(++_,C[g].left&&(_+=C[g].left._count));return _},enumerable:!0}),p.next=function(){var _=this._stack;if(_.length!==0){var C=_[_.length-1];if(C.right)for(C=C.right;C;)_.push(C),C=C.left;else for(_.pop();_.length>0&&_[_.length-1].right===C;)C=_[_.length-1],_.pop()}},Object.defineProperty(p,\"hasNext\",{get:function(){var _=this._stack;if(_.length===0)return!1;if(_[_.length-1].right)return!0;for(var C=_.length-1;C>0;--C)if(_[C-1].left===_[C])return!0;return!1}}),p.update=function(_){var C=this._stack;if(C.length===0)throw new Error(\"Can't update empty node!\");var M=new Array(C.length),g=C[C.length-1];M[M.length-1]=new s(g._color,g.key,_,g.left,g.right,g._count);for(var P=C.length-2;P>=0;--P)g=C[P],g.left===C[P+1]?M[P]=new s(g._color,g.key,g.value,M[P+1],g.right,g._count):M[P]=new s(g._color,g.key,g.value,g.left,M[P+1],g._count);return new f(this.tree._compare,M[0])},p.prev=function(){var _=this._stack;if(_.length!==0){var C=_[_.length-1];if(C.left)for(C=C.left;C;)_.push(C),C=C.right;else for(_.pop();_.length>0&&_[_.length-1].left===C;)C=_[_.length-1],_.pop()}},Object.defineProperty(p,\"hasPrev\",{get:function(){var _=this._stack;if(_.length===0)return!1;if(_[_.length-1].left)return!0;for(var C=_.length-1;C>0;--C)if(_[C-1].right===_[C])return!0;return!1}});function A(_,C){return _<C?-1:_>C?1:0}function L(_){return new f(_||A,null)}},3837:function(i,a,o){\"use strict\";i.exports=q;var s=o(4935),l=o(501),u=o(5304),c=o(6429),f=o(6444),h=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),d=ArrayBuffer,v=DataView;function x(V){return d.isView(V)&&!(V instanceof v)}function b(V){return Array.isArray(V)||x(V)}function p(V,H){return V[0]=H[0],V[1]=H[1],V[2]=H[2],V}function E(V){this.gl=V,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=u(V)}var k=E.prototype;k.update=function(V){V=V||{};function H(Ae,ze,Ce){if(Ce in V){var me=V[Ce],Re=this[Ce],ce;(Ae?b(me)&&b(me[0]):b(me))?this[Ce]=ce=[ze(me[0]),ze(me[1]),ze(me[2])]:this[Ce]=ce=[ze(me),ze(me),ze(me)];for(var Ge=0;Ge<3;++Ge)if(ce[Ge]!==Re[Ge])return!0}return!1}var X=H.bind(this,!1,Number),G=H.bind(this,!1,Boolean),N=H.bind(this,!1,String),W=H.bind(this,!0,function(Ae){if(b(Ae)){if(Ae.length===3)return[+Ae[0],+Ae[1],+Ae[2],1];if(Ae.length===4)return[+Ae[0],+Ae[1],+Ae[2],+Ae[3]]}return[0,0,0,1]}),re,ae=!1,_e=!1;if(\"bounds\"in V)for(var Me=V.bounds,ke=0;ke<2;++ke)for(var ge=0;ge<3;++ge)Me[ke][ge]!==this.bounds[ke][ge]&&(_e=!0),this.bounds[ke][ge]=Me[ke][ge];if(\"ticks\"in V){re=V.ticks,ae=!0,this.autoTicks=!1;for(var ke=0;ke<3;++ke)this.tickSpacing[ke]=0}else X(\"tickSpacing\")&&(this.autoTicks=!0,_e=!0);if(this._firstInit&&(\"ticks\"in V||\"tickSpacing\"in V||(this.autoTicks=!0),_e=!0,ae=!0,this._firstInit=!1),_e&&this.autoTicks&&(re=f.create(this.bounds,this.tickSpacing),ae=!0),ae){for(var ke=0;ke<3;++ke)re[ke].sort(function(ze,Ce){return ze.x-Ce.x});f.equal(re,this.ticks)?ae=!1:this.ticks=re}G(\"tickEnable\"),N(\"tickFont\")&&(ae=!0),N(\"tickFontStyle\")&&(ae=!0),N(\"tickFontWeight\")&&(ae=!0),N(\"tickFontVariant\")&&(ae=!0),X(\"tickSize\"),X(\"tickAngle\"),X(\"tickPad\"),W(\"tickColor\");var ie=N(\"labels\");N(\"labelFont\")&&(ie=!0),N(\"labelFontStyle\")&&(ie=!0),N(\"labelFontWeight\")&&(ie=!0),N(\"labelFontVariant\")&&(ie=!0),G(\"labelEnable\"),X(\"labelSize\"),X(\"labelPad\"),W(\"labelColor\"),G(\"lineEnable\"),G(\"lineMirror\"),X(\"lineWidth\"),W(\"lineColor\"),G(\"lineTickEnable\"),G(\"lineTickMirror\"),X(\"lineTickLength\"),X(\"lineTickWidth\"),W(\"lineTickColor\"),G(\"gridEnable\"),X(\"gridWidth\"),W(\"gridColor\"),G(\"zeroEnable\"),W(\"zeroLineColor\"),X(\"zeroLineWidth\"),G(\"backgroundEnable\"),W(\"backgroundColor\");var Te=[{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]}],Ee=[{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&&(ie||ae)&&this._text.update(this.bounds,this.labels,Te,this.ticks,Ee):this._text=s(this.gl,this.bounds,this.labels,Te,this.ticks,Ee),this._lines&&ae&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=l(this.gl,this.bounds,this.ticks))};function A(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}var L=[new A,new A,new A];function _(V,H,X,G,N){for(var W=V.primalOffset,re=V.primalMinor,ae=V.mirrorOffset,_e=V.mirrorMinor,Me=G[H],ke=0;ke<3;++ke)if(H!==ke){var ge=W,ie=ae,Te=re,Ee=_e;Me&1<<ke&&(ge=ae,ie=W,Te=_e,Ee=re),ge[ke]=X[0][ke],ie[ke]=X[1][ke],N[ke]>0?(Te[ke]=-1,Ee[ke]=0):(Te[ke]=0,Ee[ke]=1)}}var C=[0,0,0],M={model:h,view:h,projection:h,_ortho:!1};k.isOpaque=function(){return!0},k.isTransparent=function(){return!1},k.drawTransparent=function(V){};var g=0,P=[0,0,0],T=[0,0,0],F=[0,0,0];k.draw=function(V){V=V||M;for(var Ce=this.gl,H=V.model||h,X=V.view||h,G=V.projection||h,N=this.bounds,W=V._ortho||!1,re=c(H,X,G,N,W),ae=re.cubeEdges,_e=re.axis,Me=X[12],ke=X[13],ge=X[14],ie=X[15],Te=W?2:1,Ee=Te*this.pixelRatio*(G[3]*Me+G[7]*ke+G[11]*ge+G[15]*ie)/Ce.drawingBufferHeight,Ae=0;Ae<3;++Ae)this.lastCubeProps.cubeEdges[Ae]=ae[Ae],this.lastCubeProps.axis[Ae]=_e[Ae];for(var ze=L,Ae=0;Ae<3;++Ae)_(L[Ae],Ae,this.bounds,ae,_e);for(var Ce=this.gl,me=C,Ae=0;Ae<3;++Ae)this.backgroundEnable[Ae]?me[Ae]=_e[Ae]:me[Ae]=0;this._background.draw(H,X,G,N,me,this.backgroundColor),this._lines.bind(H,X,G,this);for(var Ae=0;Ae<3;++Ae){var Re=[0,0,0];_e[Ae]>0?Re[Ae]=N[1][Ae]:Re[Ae]=N[0][Ae];for(var ce=0;ce<2;++ce){var Ge=(Ae+1+ce)%3,nt=(Ae+1+(ce^1))%3;this.gridEnable[Ge]&&this._lines.drawGrid(Ge,nt,this.bounds,Re,this.gridColor[Ge],this.gridWidth[Ge]*this.pixelRatio)}for(var ce=0;ce<2;++ce){var Ge=(Ae+1+ce)%3,nt=(Ae+1+(ce^1))%3;this.zeroEnable[nt]&&Math.min(N[0][nt],N[1][nt])<=0&&Math.max(N[0][nt],N[1][nt])>=0&&this._lines.drawZero(Ge,nt,this.bounds,Re,this.zeroLineColor[nt],this.zeroLineWidth[nt]*this.pixelRatio)}}for(var Ae=0;Ae<3;++Ae){this.lineEnable[Ae]&&this._lines.drawAxisLine(Ae,this.bounds,ze[Ae].primalOffset,this.lineColor[Ae],this.lineWidth[Ae]*this.pixelRatio),this.lineMirror[Ae]&&this._lines.drawAxisLine(Ae,this.bounds,ze[Ae].mirrorOffset,this.lineColor[Ae],this.lineWidth[Ae]*this.pixelRatio);for(var ct=p(P,ze[Ae].primalMinor),qt=p(T,ze[Ae].mirrorMinor),rt=this.lineTickLength,ce=0;ce<3;++ce){var ot=Ee/H[5*ce];ct[ce]*=rt[ce]*ot,qt[ce]*=rt[ce]*ot}this.lineTickEnable[Ae]&&this._lines.drawAxisTicks(Ae,ze[Ae].primalOffset,ct,this.lineTickColor[Ae],this.lineTickWidth[Ae]*this.pixelRatio),this.lineTickMirror[Ae]&&this._lines.drawAxisTicks(Ae,ze[Ae].mirrorOffset,qt,this.lineTickColor[Ae],this.lineTickWidth[Ae]*this.pixelRatio)}this._lines.unbind(),this._text.bind(H,X,G,this.pixelRatio);var Rt,kt=.5,Ct,Yt;function xr(St){Yt=[0,0,0],Yt[St]=1}function er(St,Et,dt){var Ht=(St+1)%3,$t=(St+2)%3,fr=Et[Ht],_r=Et[$t],Br=dt[Ht],Or=dt[$t];if(fr>0&&Or>0){xr(Ht);return}else if(fr>0&&Or<0){xr(Ht);return}else if(fr<0&&Or>0){xr(Ht);return}else if(fr<0&&Or<0){xr(Ht);return}else if(_r>0&&Br>0){xr($t);return}else if(_r>0&&Br<0){xr($t);return}else if(_r<0&&Br>0){xr($t);return}else if(_r<0&&Br<0){xr($t);return}}for(var Ae=0;Ae<3;++Ae){for(var Ke=ze[Ae].primalMinor,xt=ze[Ae].mirrorMinor,bt=p(F,ze[Ae].primalOffset),ce=0;ce<3;++ce)this.lineTickEnable[Ae]&&(bt[ce]+=Ee*Ke[ce]*Math.max(this.lineTickLength[ce],0)/H[5*ce]);var Lt=[0,0,0];if(Lt[Ae]=1,this.tickEnable[Ae]){this.tickAngle[Ae]===-3600?(this.tickAngle[Ae]=0,this.tickAlign[Ae]=\"auto\"):this.tickAlign[Ae]=-1,Ct=1,Rt=[this.tickAlign[Ae],kt,Ct],Rt[0]===\"auto\"?Rt[0]=g:Rt[0]=parseInt(\"\"+Rt[0]),Yt=[0,0,0],er(Ae,Ke,xt);for(var ce=0;ce<3;++ce)bt[ce]+=Ee*Ke[ce]*this.tickPad[ce]/H[5*ce];this._text.drawTicks(Ae,this.tickSize[Ae],this.tickAngle[Ae],bt,this.tickColor[Ae],Lt,Yt,Rt)}if(this.labelEnable[Ae]){Ct=0,Yt=[0,0,0],this.labels[Ae].length>4&&(xr(Ae),Ct=1),Rt=[this.labelAlign[Ae],kt,Ct],Rt[0]===\"auto\"?Rt[0]=g:Rt[0]=parseInt(\"\"+Rt[0]);for(var ce=0;ce<3;++ce)bt[ce]+=Ee*Ke[ce]*this.labelPad[ce]/H[5*ce];bt[Ae]+=.5*(N[0][Ae]+N[1][Ae]),this._text.drawLabel(Ae,this.labelSize[Ae],this.labelAngle[Ae],bt,this.labelColor[Ae],[0,0,0],Yt,Rt)}}this._text.unbind()},k.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null};function q(V,H){var X=new E(V);return X.update(H),X}},5304:function(i,a,o){\"use strict\";i.exports=h;var s=o(2762),l=o(8116),u=o(1879).bg;function c(d,v,x,b){this.gl=d,this.buffer=v,this.vao=x,this.shader=b}var f=c.prototype;f.draw=function(d,v,x,b,p,E){for(var k=!1,A=0;A<3;++A)k=k||p[A];if(k){var L=this.gl;L.enable(L.POLYGON_OFFSET_FILL),L.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:d,view:v,projection:x,bounds:b,enable:p,colors:E},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),L.disable(L.POLYGON_OFFSET_FILL)}},f.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};function h(d){for(var v=[],x=[],b=0,p=0;p<3;++p)for(var E=(p+1)%3,k=(p+2)%3,A=[0,0,0],L=[0,0,0],_=-1;_<=1;_+=2){x.push(b,b+2,b+1,b+1,b+2,b+3),A[p]=_,L[p]=_;for(var C=-1;C<=1;C+=2){A[E]=C;for(var M=-1;M<=1;M+=2)A[k]=M,v.push(A[0],A[1],A[2],L[0],L[1],L[2]),b+=1}var g=E;E=k,k=g}var P=s(d,new Float32Array(v)),T=s(d,new Uint16Array(x),d.ELEMENT_ARRAY_BUFFER),F=l(d,[{buffer:P,type:d.FLOAT,size:3,offset:0,stride:24},{buffer:P,type:d.FLOAT,size:3,offset:12,stride:24}],T),q=u(d);return q.attributes.position.location=0,q.attributes.normal.location=1,new c(d,P,F,q)}},6429:function(i,a,o){\"use strict\";i.exports=_;var s=o(8828),l=o(6760),u=o(5202),c=o(3250),f=new Array(16),h=new Array(8),d=new Array(8),v=new Array(3),x=[0,0,0];(function(){for(var C=0;C<8;++C)h[C]=[1,1,1,1],d[C]=[1,1,1]})();function b(C,M,g){for(var P=0;P<4;++P){C[P]=g[12+P];for(var T=0;T<3;++T)C[P]+=M[T]*g[4*T+P]}}var p=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function E(C){for(var M=0;M<p.length;++M)if(C=u.positive(C,p[M]),C.length<3)return 0;for(var g=C[0],P=g[0]/g[3],T=g[1]/g[3],F=0,M=1;M+1<C.length;++M){var q=C[M],V=C[M+1],H=q[0]/q[3],X=q[1]/q[3],G=V[0]/V[3],N=V[1]/V[3],W=H-P,re=X-T,ae=G-P,_e=N-T;F+=Math.abs(W*_e-re*ae)}return F}var k=[1,1,1],A=[0,0,0],L={cubeEdges:k,axis:A};function _(C,M,g,P,T){l(f,M,C),l(f,g,f);for(var F=0,q=0;q<2;++q){v[2]=P[q][2];for(var V=0;V<2;++V){v[1]=P[V][1];for(var H=0;H<2;++H)v[0]=P[H][0],b(h[F],v,f),F+=1}}for(var X=-1,q=0;q<8;++q){for(var G=h[q][3],N=0;N<3;++N)d[q][N]=h[q][N]/G;T&&(d[q][2]*=-1),G<0&&(X<0||d[q][2]<d[X][2])&&(X=q)}if(X<0){X=0;for(var W=0;W<3;++W){for(var re=(W+2)%3,ae=(W+1)%3,_e=-1,Me=-1,ke=0;ke<2;++ke){var ge=ke<<W,ie=ge+(ke<<re)+(1-ke<<ae),Te=ge+(1-ke<<re)+(ke<<ae);c(d[ge],d[ie],d[Te],x)<0||(ke?_e=1:Me=1)}if(_e<0||Me<0){Me>_e&&(X|=1<<W);continue}for(var ke=0;ke<2;++ke){var ge=ke<<W,ie=ge+(ke<<re)+(1-ke<<ae),Te=ge+(1-ke<<re)+(ke<<ae),Ee=E([h[ge],h[ie],h[Te],h[ge+(1<<re)+(1<<ae)]]);ke?_e=Ee:Me=Ee}if(Me>_e){X|=1<<W;continue}}}for(var Ae=7^X,ze=-1,q=0;q<8;++q)q===X||q===Ae||(ze<0||d[ze][1]>d[q][1])&&(ze=q);for(var Ce=-1,q=0;q<3;++q){var me=ze^1<<q;if(!(me===X||me===Ae)){Ce<0&&(Ce=me);var ae=d[me];ae[0]<d[Ce][0]&&(Ce=me)}}for(var Re=-1,q=0;q<3;++q){var me=ze^1<<q;if(!(me===X||me===Ae||me===Ce)){Re<0&&(Re=me);var ae=d[me];ae[0]>d[Re][0]&&(Re=me)}}var ce=k;ce[0]=ce[1]=ce[2]=0,ce[s.log2(Ce^ze)]=ze&Ce,ce[s.log2(ze^Re)]=zeℜvar Ge=Re^7;Ge===X||Ge===Ae?(Ge=Ce^7,ce[s.log2(Re^Ge)]=Ge&Re):ce[s.log2(Ce^Ge)]=Ge&Ce;for(var nt=A,ct=X,W=0;W<3;++W)ct&1<<W?nt[W]=-1:nt[W]=1;return L}},501:function(i,a,o){\"use strict\";i.exports=k;var s=o(2762),l=o(8116),u=o(1879).n,c=[0,0,0],f=[0,0,0],h=[0,0,0],d=[0,0,0],v=[1,1];function x(A){return A[0]=A[1]=A[2]=0,A}function b(A,L){return A[0]=L[0],A[1]=L[1],A[2]=L[2],A}function p(A,L,_,C,M,g,P,T){this.gl=A,this.vertBuffer=L,this.vao=_,this.shader=C,this.tickCount=M,this.tickOffset=g,this.gridCount=P,this.gridOffset=T}var E=p.prototype;E.bind=function(A,L,_){this.shader.bind(),this.shader.uniforms.model=A,this.shader.uniforms.view=L,this.shader.uniforms.projection=_,v[0]=this.gl.drawingBufferWidth,v[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=v,this.vao.bind()},E.unbind=function(){this.vao.unbind()},E.drawAxisLine=function(A,L,_,C,M){var g=x(f);this.shader.uniforms.majorAxis=f,g[A]=L[1][A]-L[0][A],this.shader.uniforms.minorAxis=g;var P=b(d,_);P[A]+=L[0][A],this.shader.uniforms.offset=P,this.shader.uniforms.lineWidth=M,this.shader.uniforms.color=C;var T=x(h);T[(A+2)%3]=1,this.shader.uniforms.screenAxis=T,this.vao.draw(this.gl.TRIANGLES,6);var T=x(h);T[(A+1)%3]=1,this.shader.uniforms.screenAxis=T,this.vao.draw(this.gl.TRIANGLES,6)},E.drawAxisTicks=function(A,L,_,C,M){if(this.tickCount[A]){var g=x(c);g[A]=1,this.shader.uniforms.majorAxis=g,this.shader.uniforms.offset=L,this.shader.uniforms.minorAxis=_,this.shader.uniforms.color=C,this.shader.uniforms.lineWidth=M;var P=x(h);P[A]=1,this.shader.uniforms.screenAxis=P,this.vao.draw(this.gl.TRIANGLES,this.tickCount[A],this.tickOffset[A])}},E.drawGrid=function(A,L,_,C,M,g){if(this.gridCount[A]){var P=x(f);P[L]=_[1][L]-_[0][L],this.shader.uniforms.minorAxis=P;var T=b(d,C);T[L]+=_[0][L],this.shader.uniforms.offset=T;var F=x(c);F[A]=1,this.shader.uniforms.majorAxis=F;var q=x(h);q[A]=1,this.shader.uniforms.screenAxis=q,this.shader.uniforms.lineWidth=g,this.shader.uniforms.color=M,this.vao.draw(this.gl.TRIANGLES,this.gridCount[A],this.gridOffset[A])}},E.drawZero=function(A,L,_,C,M,g){var P=x(f);this.shader.uniforms.majorAxis=P,P[A]=_[1][A]-_[0][A],this.shader.uniforms.minorAxis=P;var T=b(d,C);T[A]+=_[0][A],this.shader.uniforms.offset=T;var F=x(h);F[L]=1,this.shader.uniforms.screenAxis=F,this.shader.uniforms.lineWidth=g,this.shader.uniforms.color=M,this.vao.draw(this.gl.TRIANGLES,6)},E.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()};function k(A,L,_){var C=[],M=[0,0,0],g=[0,0,0],P=[0,0,0],T=[0,0,0];C.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var F=0;F<3;++F){for(var H=C.length/3|0,q=0;q<_[F].length;++q){var V=+_[F][q].x;C.push(V,0,1,V,1,1,V,0,-1,V,0,-1,V,1,1,V,1,-1)}var G=C.length/3|0;M[F]=H,g[F]=G-H;for(var H=C.length/3|0,X=0;X<_[F].length;++X){var V=+_[F][X].x;C.push(V,0,1,V,1,1,V,0,-1,V,0,-1,V,1,1,V,1,-1)}var G=C.length/3|0;P[F]=H,T[F]=G-H}var N=s(A,new Float32Array(C)),W=l(A,[{buffer:N,type:A.FLOAT,size:3,stride:0,offset:0}]),re=u(A);return re.attributes.position.location=0,new p(A,N,W,re,g,M,T,P)}},1879:function(i,a,o){\"use strict\";var s=o(3236),l=o(9405),u=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 offset, majorAxis, minorAxis, screenAxis;\n", - "uniform float lineWidth;\n", - "uniform vec2 screenShape;\n", - "\n", - "vec3 project(vec3 p) {\n", - " vec4 pp = projection * (view * (model * vec4(p, 1.0)));\n", - " return pp.xyz / max(pp.w, 0.0001);\n", - "}\n", - "\n", - "void main() {\n", - " vec3 major = position.x * majorAxis;\n", - " vec3 minor = position.y * minorAxis;\n", - "\n", - " vec3 vPosition = major + minor + offset;\n", - " vec3 pPosition = project(vPosition);\n", - " vec3 offset = project(vPosition + screenAxis * position.z);\n", - "\n", - " vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;\n", - "\n", - " gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);\n", - "}\n", - "`]),c=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform vec4 color;\n", - "void main() {\n", - " gl_FragColor = color;\n", - "}`]);a.n=function(x){return l(x,u,c,null,[{name:\"position\",type:\"vec3\"}])};var f=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 offset, axis, alignDir, alignOpt;\n", - "uniform float scale, angle, pixelScale;\n", - "uniform vec2 resolution;\n", - "\n", - "vec3 project(vec3 p) {\n", - " vec4 pp = projection * (view * (model * vec4(p, 1.0)));\n", - " return pp.xyz / max(pp.w, 0.0001);\n", - "}\n", - "\n", - "float computeViewAngle(vec3 a, vec3 b) {\n", - " vec3 A = project(a);\n", - " vec3 B = project(b);\n", - "\n", - " return atan(\n", - " (B.y - A.y) * resolution.y,\n", - " (B.x - A.x) * resolution.x\n", - " );\n", - "}\n", - "\n", - "const float PI = 3.141592;\n", - "const float TWO_PI = 2.0 * PI;\n", - "const float HALF_PI = 0.5 * PI;\n", - "const float ONE_AND_HALF_PI = 1.5 * PI;\n", - "\n", - "int option = int(floor(alignOpt.x + 0.001));\n", - "float hv_ratio = alignOpt.y;\n", - "bool enableAlign = (alignOpt.z != 0.0);\n", - "\n", - "float mod_angle(float a) {\n", - " return mod(a, PI);\n", - "}\n", - "\n", - "float positive_angle(float a) {\n", - " return mod_angle((a < 0.0) ?\n", - " a + TWO_PI :\n", - " a\n", - " );\n", - "}\n", - "\n", - "float look_upwards(float a) {\n", - " float b = positive_angle(a);\n", - " return ((b > HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n", - " b - PI :\n", - " b;\n", - "}\n", - "\n", - "float 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", - "\n", - "float roundTo(float a, float b) {\n", - " return float(b * floor((a + 0.5 * b) / b));\n", - "}\n", - "\n", - "float 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", - "\n", - "float 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", - "\n", - "bool isAxisTitle = (axis.x == 0.0) &&\n", - " (axis.y == 0.0) &&\n", - " (axis.z == 0.0);\n", - "\n", - "void 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", - "`]),h=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform vec4 color;\n", - "void main() {\n", - " gl_FragColor = color;\n", - "}`]);a.Q=function(x){return l(x,f,h,null,[{name:\"position\",type:\"vec3\"}])};var d=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "attribute vec3 normal;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 enable;\n", - "uniform vec3 bounds[2];\n", - "\n", - "varying vec3 colorChannel;\n", - "\n", - "void 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", - "`]),v=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform vec4 colors[3];\n", - "\n", - "varying vec3 colorChannel;\n", - "\n", - "void main() {\n", - " gl_FragColor = colorChannel.x * colors[0] +\n", - " colorChannel.y * colors[1] +\n", - " colorChannel.z * colors[2];\n", - "}`]);a.bg=function(x){return l(x,d,v,null,[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}])}},4935:function(i,a,o){\"use strict\";i.exports=E;var s=o(2762),l=o(8116),u=o(4359),c=o(1879).Q,f=window||process.global||{},h=f.__TEXT_CACHE||{};f.__TEXT_CACHE={};var d=3;function v(k,A,L,_){this.gl=k,this.shader=A,this.buffer=L,this.vao=_,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var x=v.prototype,b=[0,0];x.bind=function(k,A,L,_){this.vao.bind(),this.shader.bind();var C=this.shader.uniforms;C.model=k,C.view=A,C.projection=L,C.pixelScale=_,b[0]=this.gl.drawingBufferWidth,b[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=b},x.unbind=function(){this.vao.unbind()},x.update=function(k,A,L,_,C){var M=[];function g(W,re,ae,_e,Me,ke){var ge=[ae.style,ae.weight,ae.variant,ae.family].join(\"_\"),ie=h[ge];ie||(ie=h[ge]={});var Te=ie[re];Te||(Te=ie[re]=p(re,{triangles:!0,font:ae.family,fontStyle:ae.style,fontWeight:ae.weight,fontVariant:ae.variant,textAlign:\"center\",textBaseline:\"middle\",lineSpacing:Me,styletags:ke}));for(var Ee=(_e||12)/12,Ae=Te.positions,ze=Te.cells,Ce=0,me=ze.length;Ce<me;++Ce)for(var Re=ze[Ce],ce=2;ce>=0;--ce){var Ge=Ae[Re[ce]];M.push(Ee*Ge[0],-Ee*Ge[1],W)}}for(var P=[0,0,0],T=[0,0,0],F=[0,0,0],q=[0,0,0],V=1.25,H={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},X=0;X<3;++X){F[X]=M.length/d|0,g(.5*(k[0][X]+k[1][X]),A[X],L[X],12,V,H),q[X]=(M.length/d|0)-F[X],P[X]=M.length/d|0;for(var G=0;G<_[X].length;++G)if(_[X][G].text){var N={family:_[X][G].font||C[X].family,style:C[X].fontStyle||C[X].style,weight:C[X].fontWeight||C[X].weight,variant:C[X].fontVariant||C[X].variant};g(_[X][G].x,_[X][G].text,N,_[X][G].fontSize||12,V,H)}T[X]=(M.length/d|0)-P[X]}this.buffer.update(M),this.tickOffset=P,this.tickCount=T,this.labelOffset=F,this.labelCount=q},x.drawTicks=function(k,A,L,_,C,M,g,P){this.tickCount[k]&&(this.shader.uniforms.axis=M,this.shader.uniforms.color=C,this.shader.uniforms.angle=L,this.shader.uniforms.scale=A,this.shader.uniforms.offset=_,this.shader.uniforms.alignDir=g,this.shader.uniforms.alignOpt=P,this.vao.draw(this.gl.TRIANGLES,this.tickCount[k],this.tickOffset[k]))},x.drawLabel=function(k,A,L,_,C,M,g,P){this.labelCount[k]&&(this.shader.uniforms.axis=M,this.shader.uniforms.color=C,this.shader.uniforms.angle=L,this.shader.uniforms.scale=A,this.shader.uniforms.offset=_,this.shader.uniforms.alignDir=g,this.shader.uniforms.alignOpt=P,this.vao.draw(this.gl.TRIANGLES,this.labelCount[k],this.labelOffset[k]))},x.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()};function p(k,A){try{return u(k,A)}catch(L){return console.warn('error vectorizing text:\"'+k+'\" error:',L),{cells:[],positions:[]}}}function E(k,A,L,_,C,M){var g=s(k),P=l(k,[{buffer:g,size:3}]),T=c(k);T.attributes.position.location=0;var F=new v(k,T,g,P);return F.update(A,L,_,C,M),F}},6444:function(i,a){\"use strict\";a.create=s,a.equal=l;function o(u,c){var f=u+\"\",h=f.indexOf(\".\"),d=0;h>=0&&(d=f.length-h-1);var v=Math.pow(10,d),x=Math.round(u*c*v),b=x+\"\";if(b.indexOf(\"e\")>=0)return b;var p=x/v,E=x%v;x<0?(p=-Math.ceil(p)|0,E=-E|0):(p=Math.floor(p)|0,E=E|0);var k=\"\"+p;if(x<0&&(k=\"-\"+k),d){for(var A=\"\"+E;A.length<d;)A=\"0\"+A;return k+\".\"+A}else return k}function s(u,c){for(var f=[],h=0;h<3;++h){for(var d=[],v=.5*(u[0][h]+u[1][h]),x=0;x*c[h]<=u[1][h];++x)d.push({x:x*c[h],text:o(c[h],x)});for(var x=-1;x*c[h]>=u[0][h];--x)d.push({x:x*c[h],text:o(c[h],x)});f.push(d)}return f}function l(u,c){for(var f=0;f<3;++f){if(u[f].length!==c[f].length)return!1;for(var h=0;h<u[f].length;++h){var d=u[f][h],v=c[f][h];if(d.x!==v.x||d.text!==v.text||d.font!==v.font||d.fontColor!==v.fontColor||d.fontSize!==v.fontSize||d.dx!==v.dx||d.dy!==v.dy)return!1}}return!0}},5445:function(i,a,o){\"use strict\";i.exports=L;var s=o(5033),l=o(5202),u=o(6429),c=o(6760),f=o(5665),h=o(5352),d=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),v=new Float32Array(16);function x(_,C,M){this.lo=_,this.hi=C,this.pixelsPerDataUnit=M}var b=[0,0,0,1],p=[0,0,0,1];function E(_,C,M,g,P){for(var T=0;T<3;++T){for(var F=b,q=p,V=0;V<3;++V)q[V]=F[V]=M[V];q[3]=F[3]=1,q[T]+=1,h(q,q,C),q[3]<0&&(_[T]=1/0),F[T]-=1,h(F,F,C),F[3]<0&&(_[T]=1/0);var H=(F[0]/F[3]-q[0]/q[3])*g,X=(F[1]/F[3]-q[1]/q[3])*P;_[T]=.25*Math.sqrt(H*H+X*X)}return _}var k=[new x(1/0,-1/0,1/0),new x(1/0,-1/0,1/0),new x(1/0,-1/0,1/0)],A=[0,0,0];function L(_,C,M,g,X){var T=C.model||d,F=C.view||d,q=C.projection||d,V=C._ortho||!1,H=_.bounds,X=X||u(T,F,q,H,V),G=X.axis;c(v,F,T),c(v,q,v);for(var N=k,W=0;W<3;++W)N[W].lo=1/0,N[W].hi=-1/0,N[W].pixelsPerDataUnit=1/0;var re=s(f(v,v));f(v,v);for(var ae=0;ae<3;++ae){var _e=(ae+1)%3,Me=(ae+2)%3,ke=A;e:for(var W=0;W<2;++W){var ge=[];if(G[ae]<0!=!!W){ke[ae]=H[W][ae];for(var ie=0;ie<2;++ie){ke[_e]=H[ie^W][_e];for(var Te=0;Te<2;++Te)ke[Me]=H[Te^ie^W][Me],ge.push(ke.slice())}for(var Ee=V?5:4,ie=Ee;ie===Ee;++ie){if(ge.length===0)continue e;ge=l.positive(ge,re[ie])}for(var ie=0;ie<ge.length;++ie)for(var Me=ge[ie],Ae=E(A,v,Me,M,g),Te=0;Te<3;++Te)N[Te].lo=Math.min(N[Te].lo,Me[Te]),N[Te].hi=Math.max(N[Te].hi,Me[Te]),Te!==ae&&(N[Te].pixelsPerDataUnit=Math.min(N[Te].pixelsPerDataUnit,Math.abs(Ae[Te])))}}}return N}},2762:function(i,a,o){\"use strict\";var s=o(1888),l=o(5298),u=o(9618),c=[\"uint8\",\"uint8_clamped\",\"uint16\",\"uint32\",\"int8\",\"int16\",\"int32\",\"float32\"];function f(p,E,k,A,L){this.gl=p,this.type=E,this.handle=k,this.length=A,this.usage=L}var h=f.prototype;h.bind=function(){this.gl.bindBuffer(this.type,this.handle)},h.unbind=function(){this.gl.bindBuffer(this.type,null)},h.dispose=function(){this.gl.deleteBuffer(this.handle)};function d(p,E,k,A,L,_){var C=L.length*L.BYTES_PER_ELEMENT;if(_<0)return p.bufferData(E,L,A),C;if(C+_>k)throw new Error(\"gl-buffer: If resizing buffer, must not specify offset\");return p.bufferSubData(E,_,L),k}function v(p,E){for(var k=s.malloc(p.length,E),A=p.length,L=0;L<A;++L)k[L]=p[L];return k}function x(p,E){for(var k=1,A=E.length-1;A>=0;--A){if(E[A]!==k)return!1;k*=p[A]}return!0}h.update=function(p,E){if(typeof E!=\"number\"&&(E=-1),this.bind(),typeof p==\"object\"&&typeof p.shape!=\"undefined\"){var k=p.dtype;if(c.indexOf(k)<0&&(k=\"float32\"),this.type===this.gl.ELEMENT_ARRAY_BUFFER){var A=gl.getExtension(\"OES_element_index_uint\");A&&k!==\"uint16\"?k=\"uint32\":k=\"uint16\"}if(k===p.dtype&&x(p.shape,p.stride))p.offset===0&&p.data.length===p.shape[0]?this.length=d(this.gl,this.type,this.length,this.usage,p.data,E):this.length=d(this.gl,this.type,this.length,this.usage,p.data.subarray(p.offset,p.shape[0]),E);else{var L=s.malloc(p.size,k),_=u(L,p.shape);l.assign(_,p),E<0?this.length=d(this.gl,this.type,this.length,this.usage,L,E):this.length=d(this.gl,this.type,this.length,this.usage,L.subarray(0,p.size),E),s.free(L)}}else if(Array.isArray(p)){var C;this.type===this.gl.ELEMENT_ARRAY_BUFFER?C=v(p,\"uint16\"):C=v(p,\"float32\"),E<0?this.length=d(this.gl,this.type,this.length,this.usage,C,E):this.length=d(this.gl,this.type,this.length,this.usage,C.subarray(0,p.length),E),s.free(C)}else if(typeof p==\"object\"&&typeof p.length==\"number\")this.length=d(this.gl,this.type,this.length,this.usage,p,E);else if(typeof p==\"number\"||p===void 0){if(E>=0)throw new Error(\"gl-buffer: Cannot specify offset when resizing buffer\");p=p|0,p<=0&&(p=1),this.gl.bufferData(this.type,p|0,this.usage),this.length=p}else throw new Error(\"gl-buffer: Invalid data type\")};function b(p,E,k,A){if(k=k||p.ARRAY_BUFFER,A=A||p.DYNAMIC_DRAW,k!==p.ARRAY_BUFFER&&k!==p.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(A!==p.DYNAMIC_DRAW&&A!==p.STATIC_DRAW&&A!==p.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 L=p.createBuffer(),_=new f(p,k,L,0,A);return _.update(E),_}i.exports=b},6405:function(i,a,o){\"use strict\";var s=o(2931);i.exports=function(u,c){var f=u.positions,h=u.vectors,d={positions:[],vertexIntensity:[],vertexIntensityBounds:u.vertexIntensityBounds,vectors:[],cells:[],coneOffset:u.coneOffset,colormap:u.colormap};if(u.positions.length===0)return c&&(c[0]=[0,0,0],c[1]=[0,0,0]),d;for(var v=0,x=1/0,b=-1/0,p=1/0,E=-1/0,k=1/0,A=-1/0,L=null,_=null,C=[],M=1/0,g=!1,P=u.coneSizemode===\"raw\",T=0;T<f.length;T++){var F=f[T];x=Math.min(F[0],x),b=Math.max(F[0],b),p=Math.min(F[1],p),E=Math.max(F[1],E),k=Math.min(F[2],k),A=Math.max(F[2],A);var q=h[T];if(s.length(q)>v&&(v=s.length(q)),T&&!P){var V=2*s.distance(L,F)/(s.length(_)+s.length(q));V?(M=Math.min(M,V),g=!1):g=!0}g||(L=F,_=q),C.push(q)}var H=[x,p,k],X=[b,E,A];c&&(c[0]=H,c[1]=X),v===0&&(v=1);var G=1/v;isFinite(M)||(M=1),d.vectorScale=M;var N=u.coneSize||(P?1:.5);u.absoluteConeSize&&(N=u.absoluteConeSize*G),d.coneScale=N;for(var T=0,W=0;T<f.length;T++)for(var F=f[T],re=F[0],ae=F[1],_e=F[2],Me=C[T],ke=s.length(Me)*G,ge=0,ie=8;ge<ie;ge++){d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.vectors.push(Me),d.vectors.push(Me),d.vectors.push(Me),d.vectors.push(Me),d.vectors.push(Me),d.vectors.push(Me),d.vertexIntensity.push(ke,ke,ke),d.vertexIntensity.push(ke,ke,ke);var Te=d.positions.length;d.cells.push([Te-6,Te-5,Te-4],[Te-3,Te-2,Te-1])}return d};var l=o(614);i.exports.createMesh=o(9060),i.exports.createConeMesh=function(u,c){return i.exports.createMesh(u,c,{shaders:l,traceType:\"cone\"})}},9060:function(i,a,o){\"use strict\";var s=o(9405),l=o(2762),u=o(8116),c=o(7766),f=o(6760),h=o(7608),d=o(9618),v=o(6729),x=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function b(C,M,g,P,T,F,q,V,H,X,G){this.gl=C,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=M,this.dirty=!0,this.triShader=g,this.pickShader=P,this.trianglePositions=T,this.triangleVectors=F,this.triangleColors=V,this.triangleUVs=H,this.triangleIds=q,this.triangleVAO=X,this.triangleCount=0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.traceType=G,this.tubeScale=1,this.coneScale=2,this.vectorScale=1,this.coneOffset=.25,this._model=x,this._view=x,this._projection=x,this._resolution=[1,1]}var p=b.prototype;p.isOpaque=function(){return this.opacity>=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(C){this.pickId=C};function E(C){for(var M=v({colormap:C,nshades:256,format:\"rgba\"}),g=new Uint8Array(256*4),P=0;P<256;++P){for(var T=M[P],F=0;F<3;++F)g[4*P+F]=T[F];g[4*P+3]=T[3]*255}return d(g,[256,256,4],[4,0,1])}function k(C){for(var M=C.length,g=new Array(M),P=0;P<M;++P)g[P]=C[P][2];return g}p.update=function(C){C=C||{};var M=this.gl;this.dirty=!0,\"lightPosition\"in C&&(this.lightPosition=C.lightPosition),\"opacity\"in C&&(this.opacity=C.opacity),\"ambient\"in C&&(this.ambientLight=C.ambient),\"diffuse\"in C&&(this.diffuseLight=C.diffuse),\"specular\"in C&&(this.specularLight=C.specular),\"roughness\"in C&&(this.roughness=C.roughness),\"fresnel\"in C&&(this.fresnel=C.fresnel),C.tubeScale!==void 0&&(this.tubeScale=C.tubeScale),C.vectorScale!==void 0&&(this.vectorScale=C.vectorScale),C.coneScale!==void 0&&(this.coneScale=C.coneScale),C.coneOffset!==void 0&&(this.coneOffset=C.coneOffset),C.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=M.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=M.LINEAR,this.texture.setPixels(E(C.colormap)),this.texture.generateMipmap());var g=C.cells,P=C.positions,T=C.vectors;if(!(!P||!g||!T)){var F=[],q=[],V=[],H=[],X=[];this.cells=g,this.positions=P,this.vectors=T;var G=C.meshColor||[1,1,1,1],N=C.vertexIntensity,W=1/0,re=-1/0;if(N)if(C.vertexIntensityBounds)W=+C.vertexIntensityBounds[0],re=+C.vertexIntensityBounds[1];else for(var ae=0;ae<N.length;++ae){var _e=N[ae];W=Math.min(W,_e),re=Math.max(re,_e)}else for(var ae=0;ae<P.length;++ae){var _e=P[ae][2];W=Math.min(W,_e),re=Math.max(re,_e)}N?this.intensity=N:this.intensity=k(P),this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(var ae=0;ae<P.length;++ae)for(var Me=P[ae],ke=0;ke<3;++ke)isNaN(Me[ke])||!isFinite(Me[ke])||(this.bounds[0][ke]=Math.min(this.bounds[0][ke],Me[ke]),this.bounds[1][ke]=Math.max(this.bounds[1][ke],Me[ke]));var ge=0;e:for(var ae=0;ae<g.length;++ae){var ie=g[ae];switch(ie.length){case 3:for(var ke=0;ke<3;++ke)for(var Te=ie[ke],Me=P[Te],Ee=0;Ee<3;++Ee)if(isNaN(Me[Ee])||!isFinite(Me[Ee]))continue e;for(var ke=0;ke<3;++ke){var Te=ie[2-ke],Me=P[Te];F.push(Me[0],Me[1],Me[2],Me[3]);var Ae=T[Te];q.push(Ae[0],Ae[1],Ae[2],Ae[3]||0);var ze=G;ze.length===3?V.push(ze[0],ze[1],ze[2],1):V.push(ze[0],ze[1],ze[2],ze[3]);var Ce;N?Ce=[(N[Te]-W)/(re-W),0]:Ce=[(Me[2]-W)/(re-W),0],H.push(Ce[0],Ce[1]),X.push(ae)}ge+=1;break;default:break}}this.triangleCount=ge,this.trianglePositions.update(F),this.triangleVectors.update(q),this.triangleColors.update(V),this.triangleUVs.update(H),this.triangleIds.update(new Uint32Array(X))}},p.drawTransparent=p.draw=function(C){C=C||{};for(var M=this.gl,g=C.model||x,P=C.view||x,T=C.projection||x,F=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],q=0;q<3;++q)F[0][q]=Math.max(F[0][q],this.clipBounds[0][q]),F[1][q]=Math.min(F[1][q],this.clipBounds[1][q]);var V={model:g,view:P,projection:T,inverseModel:x.slice(),clipBounds:F,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,texture:0};V.inverseModel=h(V.inverseModel,V.model),M.disable(M.CULL_FACE),this.texture.bind(0);var H=new Array(16);f(H,V.view,V.model),f(H,V.projection,H),h(H,H);for(var q=0;q<3;++q)V.eyePosition[q]=H[12+q]/H[15];for(var X=H[15],q=0;q<3;++q)X+=this.lightPosition[q]*H[4*q+3];for(var q=0;q<3;++q){for(var G=H[12+q],N=0;N<3;++N)G+=H[4*N+q]*this.lightPosition[N];V.lightPosition[q]=G/X}if(this.triangleCount>0){var W=this.triShader;W.bind(),W.uniforms=V,this.triangleVAO.bind(),M.drawArrays(M.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}},p.drawPick=function(C){C=C||{};for(var M=this.gl,g=C.model||x,P=C.view||x,T=C.projection||x,F=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],q=0;q<3;++q)F[0][q]=Math.max(F[0][q],this.clipBounds[0][q]),F[1][q]=Math.min(F[1][q],this.clipBounds[1][q]);this._model=[].slice.call(g),this._view=[].slice.call(P),this._projection=[].slice.call(T),this._resolution=[M.drawingBufferWidth,M.drawingBufferHeight];var V={model:g,view:P,projection:T,clipBounds:F,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},H=this.pickShader;H.bind(),H.uniforms=V,this.triangleCount>0&&(this.triangleVAO.bind(),M.drawArrays(M.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind())},p.pick=function(C){if(!C||C.id!==this.pickId)return null;var M=C.value[0]+256*C.value[1]+65536*C.value[2],g=this.cells[M],P=this.positions[g[1]].slice(0,3),T={position:P,dataCoordinate:P,index:Math.floor(g[1]/48)};return this.traceType===\"cone\"?T.index=Math.floor(g[1]/48):this.traceType===\"streamtube\"&&(T.intensity=this.intensity[g[1]],T.velocity=this.vectors[g[1]].slice(0,3),T.divergence=this.vectors[g[1]][3],T.index=M),T},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()};function A(C,M){var g=s(C,M.meshShader.vertex,M.meshShader.fragment,null,M.meshShader.attributes);return g.attributes.position.location=0,g.attributes.color.location=2,g.attributes.uv.location=3,g.attributes.vector.location=4,g}function L(C,M){var g=s(C,M.pickShader.vertex,M.pickShader.fragment,null,M.pickShader.attributes);return g.attributes.position.location=0,g.attributes.id.location=1,g.attributes.vector.location=4,g}function _(C,M,g){var P=g.shaders;arguments.length===1&&(M=C,C=M.gl);var T=A(C,P),F=L(C,P),q=c(C,d(new Uint8Array([255,255,255,255]),[1,1,4]));q.generateMipmap(),q.minFilter=C.LINEAR_MIPMAP_LINEAR,q.magFilter=C.LINEAR;var V=l(C),H=l(C),X=l(C),G=l(C),N=l(C),W=u(C,[{buffer:V,type:C.FLOAT,size:4},{buffer:N,type:C.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:X,type:C.FLOAT,size:4},{buffer:G,type:C.FLOAT,size:2},{buffer:H,type:C.FLOAT,size:4}]),re=new b(C,q,T,F,V,H,N,X,G,W,g.traceType||\"cone\");return re.update(M),re}i.exports=_},614:function(i,a,o){var s=o(3236),l=s([`precision highp float;\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "vec3 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", - "//\n", - "vec3 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", - "\n", - "attribute vec3 vector;\n", - "attribute vec4 color, position;\n", - "attribute vec2 uv;\n", - "\n", - "uniform float vectorScale, coneScale, coneOffset;\n", - "uniform mat4 model, view, projection, inverseModel;\n", - "uniform vec3 eyePosition, lightPosition;\n", - "\n", - "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),u=s([`#extension GL_OES_standard_derivatives : enable\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "float 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", - "\n", - "float 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", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\n", - "uniform sampler2D texture;\n", - "\n", - "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),c=s([`precision highp float;\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "vec3 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", - "//\n", - "vec3 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", - "\n", - "attribute vec4 vector;\n", - "attribute vec4 position;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform float vectorScale, coneScale, coneOffset;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void 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", - "`]),f=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float pickId;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n", - "\n", - " gl_FragColor = vec4(pickId, f_id.xyz);\n", - "}`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec3\"}]},a.pickShader={vertex:c,fragment:f,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec3\"}]}},737:function(i){i.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(i,a,o){var s=o(737);i.exports=function(u){return s[u]}},9165:function(i,a,o){\"use strict\";i.exports=b;var s=o(2762),l=o(8116),u=o(3436),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(p,E,k,A){this.gl=p,this.shader=A,this.buffer=E,this.vao=k,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 h=f.prototype;h.isOpaque=function(){return!this.hasAlpha},h.isTransparent=function(){return this.hasAlpha},h.drawTransparent=h.draw=function(p){var E=this.gl,k=this.shader.uniforms;this.shader.bind();var A=k.view=p.view||c,L=k.projection=p.projection||c;k.model=p.model||c,k.clipBounds=this.clipBounds,k.opacity=this.opacity;var _=A[12],C=A[13],M=A[14],g=A[15],P=p._ortho||!1,T=P?2:1,F=T*this.pixelRatio*(L[3]*_+L[7]*C+L[11]*M+L[15]*g)/E.drawingBufferHeight;this.vao.bind();for(var q=0;q<3;++q)E.lineWidth(this.lineWidth[q]*this.pixelRatio),k.capSize=this.capSize[q]*F,this.lineCount[q]&&E.drawArrays(E.LINES,this.lineOffset[q],this.lineCount[q]);this.vao.unbind()};function d(p,E){for(var k=0;k<3;++k)p[0][k]=Math.min(p[0][k],E[k]),p[1][k]=Math.max(p[1][k],E[k])}var v=function(){for(var p=new Array(3),E=0;E<3;++E){for(var k=[],A=1;A<=2;++A)for(var L=-1;L<=1;L+=2){var _=(A+E)%3,C=[0,0,0];C[_]=L,k.push(C)}p[E]=k}return p}();function x(p,E,k,A){for(var L=v[A],_=0;_<L.length;++_){var C=L[_];p.push(E[0],E[1],E[2],k[0],k[1],k[2],k[3],C[0],C[1],C[2])}return L.length}h.update=function(p){p=p||{},\"lineWidth\"in p&&(this.lineWidth=p.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),\"capSize\"in p&&(this.capSize=p.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),this.hasAlpha=!1,\"opacity\"in p&&(this.opacity=+p.opacity,this.opacity<1&&(this.hasAlpha=!0));var E=p.color||[[0,0,0],[0,0,0],[0,0,0]],k=p.position,A=p.error;if(Array.isArray(E[0])||(E=[E,E,E]),k&&A){var L=[],_=k.length,C=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var M=0;M<3;++M){this.lineOffset[M]=C;e:for(var g=0;g<_;++g){for(var P=k[g],T=0;T<3;++T)if(isNaN(P[T])||!isFinite(P[T]))continue e;var F=A[g],q=E[M];if(Array.isArray(q[0])&&(q=E[g]),q.length===3?q=[q[0],q[1],q[2],1]:q.length===4&&(q=[q[0],q[1],q[2],q[3]],!this.hasAlpha&&q[3]<1&&(this.hasAlpha=!0)),!(isNaN(F[0][M])||isNaN(F[1][M]))){if(F[0][M]<0){var V=P.slice();V[M]+=F[0][M],L.push(P[0],P[1],P[2],q[0],q[1],q[2],q[3],0,0,0,V[0],V[1],V[2],q[0],q[1],q[2],q[3],0,0,0),d(this.bounds,V),C+=2+x(L,V,q,M)}if(F[1][M]>0){var V=P.slice();V[M]+=F[1][M],L.push(P[0],P[1],P[2],q[0],q[1],q[2],q[3],0,0,0,V[0],V[1],V[2],q[0],q[1],q[2],q[3],0,0,0),d(this.bounds,V),C+=2+x(L,V,q,M)}}}this.lineCount[M]=C-this.lineOffset[M]}this.buffer.update(L)}},h.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()};function b(p){var E=p.gl,k=s(E),A=l(E,[{buffer:k,type:E.FLOAT,size:3,offset:0,stride:40},{buffer:k,type:E.FLOAT,size:4,offset:12,stride:40},{buffer:k,type:E.FLOAT,size:3,offset:28,stride:40}]),L=u(E);L.attributes.position.location=0,L.attributes.color.location=1,L.attributes.offset.location=2;var _=new f(E,k,A,L);return _.update(p),_}},3436:function(i,a,o){\"use strict\";var s=o(3236),l=o(9405),u=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position, offset;\n", - "attribute vec4 color;\n", - "uniform mat4 model, view, projection;\n", - "uniform float capSize;\n", - "varying vec4 fragColor;\n", - "varying vec3 fragPosition;\n", - "\n", - "void 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", - "}`]),c=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float opacity;\n", - "varying vec3 fragPosition;\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - " if (\n", - " outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n", - " fragColor.a * opacity == 0.\n", - " ) discard;\n", - "\n", - " gl_FragColor = opacity * fragColor;\n", - "}`]);i.exports=function(f){return l(f,u,c,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"offset\",type:\"vec3\"}])}},2260:function(i,a,o){\"use strict\";var s=o(7766);i.exports=C;var l=null,u,c,f,h;function d(M){var g=M.getParameter(M.FRAMEBUFFER_BINDING),P=M.getParameter(M.RENDERBUFFER_BINDING),T=M.getParameter(M.TEXTURE_BINDING_2D);return[g,P,T]}function v(M,g){M.bindFramebuffer(M.FRAMEBUFFER,g[0]),M.bindRenderbuffer(M.RENDERBUFFER,g[1]),M.bindTexture(M.TEXTURE_2D,g[2])}function x(M,g){var P=M.getParameter(g.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(P+1);for(var T=0;T<=P;++T){for(var F=new Array(P),q=0;q<T;++q)F[q]=M.COLOR_ATTACHMENT0+q;for(var q=T;q<P;++q)F[q]=M.NONE;l[T]=F}}function b(M){switch(M){case u:throw new Error(\"gl-fbo: Framebuffer unsupported\");case c:throw new Error(\"gl-fbo: Framebuffer incomplete attachment\");case f:throw new Error(\"gl-fbo: Framebuffer incomplete dimensions\");case h:throw new Error(\"gl-fbo: Framebuffer incomplete missing attachment\");default:throw new Error(\"gl-fbo: Framebuffer failed for unspecified reason\")}}function p(M,g,P,T,F,q){if(!T)return null;var V=s(M,g,P,F,T);return V.magFilter=M.NEAREST,V.minFilter=M.NEAREST,V.mipSamples=1,V.bind(),M.framebufferTexture2D(M.FRAMEBUFFER,q,M.TEXTURE_2D,V.handle,0),V}function E(M,g,P,T,F){var q=M.createRenderbuffer();return M.bindRenderbuffer(M.RENDERBUFFER,q),M.renderbufferStorage(M.RENDERBUFFER,T,g,P),M.framebufferRenderbuffer(M.FRAMEBUFFER,F,M.RENDERBUFFER,q),q}function k(M){var g=d(M.gl),P=M.gl,T=M.handle=P.createFramebuffer(),F=M._shape[0],q=M._shape[1],V=M.color.length,H=M._ext,X=M._useStencil,G=M._useDepth,N=M._colorType;P.bindFramebuffer(P.FRAMEBUFFER,T);for(var W=0;W<V;++W)M.color[W]=p(P,F,q,N,P.RGBA,P.COLOR_ATTACHMENT0+W);V===0?(M._color_rb=E(P,F,q,P.RGBA4,P.COLOR_ATTACHMENT0),H&&H.drawBuffersWEBGL(l[0])):V>1&&H.drawBuffersWEBGL(l[V]);var re=P.getExtension(\"WEBGL_depth_texture\");re?X?M.depth=p(P,F,q,re.UNSIGNED_INT_24_8_WEBGL,P.DEPTH_STENCIL,P.DEPTH_STENCIL_ATTACHMENT):G&&(M.depth=p(P,F,q,P.UNSIGNED_SHORT,P.DEPTH_COMPONENT,P.DEPTH_ATTACHMENT)):G&&X?M._depth_rb=E(P,F,q,P.DEPTH_STENCIL,P.DEPTH_STENCIL_ATTACHMENT):G?M._depth_rb=E(P,F,q,P.DEPTH_COMPONENT16,P.DEPTH_ATTACHMENT):X&&(M._depth_rb=E(P,F,q,P.STENCIL_INDEX,P.STENCIL_ATTACHMENT));var ae=P.checkFramebufferStatus(P.FRAMEBUFFER);if(ae!==P.FRAMEBUFFER_COMPLETE){M._destroyed=!0,P.bindFramebuffer(P.FRAMEBUFFER,null),P.deleteFramebuffer(M.handle),M.handle=null,M.depth&&(M.depth.dispose(),M.depth=null),M._depth_rb&&(P.deleteRenderbuffer(M._depth_rb),M._depth_rb=null);for(var W=0;W<M.color.length;++W)M.color[W].dispose(),M.color[W]=null;M._color_rb&&(P.deleteRenderbuffer(M._color_rb),M._color_rb=null),v(P,g),b(ae)}v(P,g)}function A(M,g,P,T,F,q,V,H){this.gl=M,this._shape=[g|0,P|0],this._destroyed=!1,this._ext=H,this.color=new Array(F);for(var X=0;X<F;++X)this.color[X]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=T,this._useDepth=q,this._useStencil=V;var G=this,N=[g|0,P|0];Object.defineProperties(N,{0:{get:function(){return G._shape[0]},set:function(W){return G.width=W}},1:{get:function(){return G._shape[1]},set:function(W){return G.height=W}}}),this._shapeVector=N,k(this)}var L=A.prototype;function _(M,g,P){if(M._destroyed)throw new Error(\"gl-fbo: Can't resize destroyed FBO\");if(!(M._shape[0]===g&&M._shape[1]===P)){var T=M.gl,F=T.getParameter(T.MAX_RENDERBUFFER_SIZE);if(g<0||g>F||P<0||P>F)throw new Error(\"gl-fbo: Can't resize FBO, invalid dimensions\");M._shape[0]=g,M._shape[1]=P;for(var q=d(T),V=0;V<M.color.length;++V)M.color[V].shape=M._shape;M._color_rb&&(T.bindRenderbuffer(T.RENDERBUFFER,M._color_rb),T.renderbufferStorage(T.RENDERBUFFER,T.RGBA4,M._shape[0],M._shape[1])),M.depth&&(M.depth.shape=M._shape),M._depth_rb&&(T.bindRenderbuffer(T.RENDERBUFFER,M._depth_rb),M._useDepth&&M._useStencil?T.renderbufferStorage(T.RENDERBUFFER,T.DEPTH_STENCIL,M._shape[0],M._shape[1]):M._useDepth?T.renderbufferStorage(T.RENDERBUFFER,T.DEPTH_COMPONENT16,M._shape[0],M._shape[1]):M._useStencil&&T.renderbufferStorage(T.RENDERBUFFER,T.STENCIL_INDEX,M._shape[0],M._shape[1])),T.bindFramebuffer(T.FRAMEBUFFER,M.handle);var H=T.checkFramebufferStatus(T.FRAMEBUFFER);H!==T.FRAMEBUFFER_COMPLETE&&(M.dispose(),v(T,q),b(H)),v(T,q)}}Object.defineProperties(L,{shape:{get:function(){return this._destroyed?[0,0]:this._shapeVector},set:function(M){if(Array.isArray(M)||(M=[M|0,M|0]),M.length!==2)throw new Error(\"gl-fbo: Shape vector must be length 2\");var g=M[0]|0,P=M[1]|0;return _(this,g,P),[g,P]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(M){return M=M|0,_(this,M,this._shape[1]),M},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(M){return M=M|0,_(this,this._shape[0],M),M},enumerable:!1}}),L.bind=function(){if(!this._destroyed){var M=this.gl;M.bindFramebuffer(M.FRAMEBUFFER,this.handle),M.viewport(0,0,this._shape[0],this._shape[1])}},L.dispose=function(){if(!this._destroyed){this._destroyed=!0;var M=this.gl;M.deleteFramebuffer(this.handle),this.handle=null,this.depth&&(this.depth.dispose(),this.depth=null),this._depth_rb&&(M.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var g=0;g<this.color.length;++g)this.color[g].dispose(),this.color[g]=null;this._color_rb&&(M.deleteRenderbuffer(this._color_rb),this._color_rb=null)}};function C(M,g,P,T){u||(u=M.FRAMEBUFFER_UNSUPPORTED,c=M.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,f=M.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,h=M.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var F=M.getExtension(\"WEBGL_draw_buffers\");if(!l&&F&&x(M,F),Array.isArray(g)&&(T=P,P=g[1]|0,g=g[0]|0),typeof g!=\"number\")throw new Error(\"gl-fbo: Missing shape parameter\");var q=M.getParameter(M.MAX_RENDERBUFFER_SIZE);if(g<0||g>q||P<0||P>q)throw new Error(\"gl-fbo: Parameters are too large for FBO\");T=T||{};var V=1;if(\"color\"in T){if(V=Math.max(T.color|0,0),V<0)throw new Error(\"gl-fbo: Must specify a nonnegative number of colors\");if(V>1)if(F){if(V>M.getParameter(F.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\"gl-fbo: Context does not support \"+V+\" draw buffers\")}else throw new Error(\"gl-fbo: Multiple draw buffer extension not supported\")}var H=M.UNSIGNED_BYTE,X=M.getExtension(\"OES_texture_float\");if(T.float&&V>0){if(!X)throw new Error(\"gl-fbo: Context does not support floating point textures\");H=M.FLOAT}else T.preferFloat&&V>0&&X&&(H=M.FLOAT);var G=!0;\"depth\"in T&&(G=!!T.depth);var N=!1;return\"stencil\"in T&&(N=!!T.stencil),new A(M,g,P,H,V,G,N,F)}},2992:function(i,a,o){var s=o(3387).sprintf,l=o(5171),u=o(1848),c=o(1085);i.exports=f;function f(h,d,v){\"use strict\";var x=u(d)||\"of unknown name (see npm glsl-shader-name)\",b=\"unknown type\";v!==void 0&&(b=v===l.FRAGMENT_SHADER?\"fragment\":\"vertex\");for(var p=s(`Error compiling %s shader %s:\n", - "`,b,x),E=s(\"%s%s\",p,h),k=h.split(`\n", - "`),A={},L=0;L<k.length;L++){var _=k[L];if(!(_===\"\"||_===\"\\0\")){var C=parseInt(_.split(\":\")[2]);if(isNaN(C))throw new Error(s(\"Could not parse error: %s\",_));A[C]=_}}for(var M=c(d).split(`\n", - "`),L=0;L<M.length;L++)if(!(!A[L+3]&&!A[L+2]&&!A[L+1])){var g=M[L];if(p+=g+`\n", - "`,A[L+1]){var P=A[L+1];P=P.substr(P.split(\":\",3).join(\":\").length+1).trim(),p+=s(`^^^ %s\n", - "\n", - "`,P)}}return{long:p.trim(),short:E.trim()}}},7319:function(i,a,o){var s=o(3236),l=o(9405),u=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position, nextPosition;\n", - "attribute float arcLength, lineWidth;\n", - "attribute vec4 color;\n", - "\n", - "uniform vec2 screenShape;\n", - "uniform float pixelRatio;\n", - "uniform mat4 model, view, projection;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec3 worldPosition;\n", - "varying float pixelArcLength;\n", - "\n", - "vec4 project(vec3 p) {\n", - " return projection * (view * (model * vec4(p, 1.0)));\n", - "}\n", - "\n", - "void main() {\n", - " vec4 startPoint = project(position);\n", - " vec4 endPoint = project(nextPosition);\n", - "\n", - " vec2 A = startPoint.xy / startPoint.w;\n", - " vec2 B = endPoint.xy / endPoint.w;\n", - "\n", - " float clipAngle = atan(\n", - " (B.y - A.y) * screenShape.y,\n", - " (B.x - A.x) * screenShape.x\n", - " );\n", - "\n", - " vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(\n", - " sin(clipAngle),\n", - " -cos(clipAngle)\n", - " ) / screenShape;\n", - "\n", - " gl_Position = vec4(startPoint.xy + startPoint.w * offset, startPoint.zw);\n", - "\n", - " worldPosition = position;\n", - " pixelArcLength = arcLength;\n", - " fragColor = color;\n", - "}\n", - "`]),c=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform sampler2D dashTexture;\n", - "uniform float dashScale;\n", - "uniform float opacity;\n", - "\n", - "varying vec3 worldPosition;\n", - "varying float pixelArcLength;\n", - "varying vec4 fragColor;\n", - "\n", - "void 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", - "`]),f=s([`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\n", - "vec4 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", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform float pickId;\n", - "uniform vec3 clipBounds[2];\n", - "\n", - "varying vec3 worldPosition;\n", - "varying float pixelArcLength;\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n", - "\n", - " gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n", - "}`]),h=[{name:\"position\",type:\"vec3\"},{name:\"nextPosition\",type:\"vec3\"},{name:\"arcLength\",type:\"float\"},{name:\"lineWidth\",type:\"float\"},{name:\"color\",type:\"vec4\"}];a.createShader=function(d){return l(d,u,c,null,h)},a.createPickShader=function(d){return l(d,u,f,null,h)}},5714:function(i,a,o){\"use strict\";i.exports=M;var s=o(2762),l=o(8116),u=o(7766),c=new Uint8Array(4),f=new Float32Array(c.buffer);function h(g,P,T,F){return c[0]=F,c[1]=T,c[2]=P,c[3]=g,f[0]}var d=o(2478),v=o(9618),x=o(7319),b=x.createShader,p=x.createPickShader,E=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function k(g,P){for(var T=0,F=0;F<3;++F){var q=g[F]-P[F];T+=q*q}return Math.sqrt(T)}function A(g){for(var P=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],T=0;T<3;++T)P[0][T]=Math.max(g[0][T],P[0][T]),P[1][T]=Math.min(g[1][T],P[1][T]);return P}function L(g,P,T,F){this.arcLength=g,this.position=P,this.index=T,this.dataCoordinate=F}function _(g,P,T,F,q,V){this.gl=g,this.shader=P,this.pickShader=T,this.buffer=F,this.vao=q,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=V,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var C=_.prototype;C.isTransparent=function(){return this.hasAlpha},C.isOpaque=function(){return!this.hasAlpha},C.pickSlots=1,C.setPickBase=function(g){this.pickId=g},C.drawTransparent=C.draw=function(g){if(this.vertexCount){var P=this.gl,T=this.shader,F=this.vao;T.bind(),T.uniforms={model:g.model||E,view:g.view||E,projection:g.projection||E,clipBounds:A(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[P.drawingBufferWidth,P.drawingBufferHeight],pixelRatio:this.pixelRatio},F.bind(),F.draw(P.TRIANGLE_STRIP,this.vertexCount),F.unbind()}},C.drawPick=function(g){if(this.vertexCount){var P=this.gl,T=this.pickShader,F=this.vao;T.bind(),T.uniforms={model:g.model||E,view:g.view||E,projection:g.projection||E,pickId:this.pickId,clipBounds:A(this.clipBounds),screenShape:[P.drawingBufferWidth,P.drawingBufferHeight],pixelRatio:this.pixelRatio},F.bind(),F.draw(P.TRIANGLE_STRIP,this.vertexCount),F.unbind()}},C.update=function(g){var P,T;this.dirty=!0;var F=!!g.connectGaps;\"dashScale\"in g&&(this.dashScale=g.dashScale),this.hasAlpha=!1,\"opacity\"in g&&(this.opacity=+g.opacity,this.opacity<1&&(this.hasAlpha=!0));var q=[],V=[],H=[],X=0,G=0,N=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],W=g.position||g.positions;if(W){var re=g.color||g.colors||[0,0,0,1],ae=g.lineWidth||1,_e=!1;e:for(P=1;P<W.length;++P){var Me=W[P-1],ke=W[P];for(V.push(X),H.push(Me.slice()),T=0;T<3;++T){if(isNaN(Me[T])||isNaN(ke[T])||!isFinite(Me[T])||!isFinite(ke[T])){if(!F&&q.length>0){for(var ge=0;ge<24;++ge)q.push(q[q.length-12]);G+=2,_e=!0}continue e}N[0][T]=Math.min(N[0][T],Me[T],ke[T]),N[1][T]=Math.max(N[1][T],Me[T],ke[T])}var ie,Te;Array.isArray(re[0])?(ie=re.length>P-1?re[P-1]:re.length>0?re[re.length-1]:[0,0,0,1],Te=re.length>P?re[P]:re.length>0?re[re.length-1]:[0,0,0,1]):ie=Te=re,ie.length===3&&(ie=[ie[0],ie[1],ie[2],1]),Te.length===3&&(Te=[Te[0],Te[1],Te[2],1]),!this.hasAlpha&&ie[3]<1&&(this.hasAlpha=!0);var Ee;Array.isArray(ae)?Ee=ae.length>P-1?ae[P-1]:ae.length>0?ae[ae.length-1]:[0,0,0,1]:Ee=ae;var Ae=X;if(X+=k(Me,ke),_e){for(T=0;T<2;++T)q.push(Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,Ee,ie[0],ie[1],ie[2],ie[3]);G+=2,_e=!1}q.push(Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,Ee,ie[0],ie[1],ie[2],ie[3],Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,-Ee,ie[0],ie[1],ie[2],ie[3],ke[0],ke[1],ke[2],Me[0],Me[1],Me[2],X,-Ee,Te[0],Te[1],Te[2],Te[3],ke[0],ke[1],ke[2],Me[0],Me[1],Me[2],X,Ee,Te[0],Te[1],Te[2],Te[3]),G+=4}}if(this.buffer.update(q),V.push(X),H.push(W[W.length-1].slice()),this.bounds=N,this.vertexCount=G,this.points=H,this.arcLength=V,\"dashes\"in g){var ze=g.dashes,Ce=ze.slice();for(Ce.unshift(0),P=1;P<Ce.length;++P)Ce[P]=Ce[P-1]+Ce[P];var me=v(new Array(256*4),[256,1,4]);for(P=0;P<256;++P){for(T=0;T<4;++T)me.set(P,0,T,0);d.le(Ce,Ce[Ce.length-1]*P/255)&1?me.set(P,0,0,0):me.set(P,0,0,255)}this.texture.setPixels(me)}},C.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},C.pick=function(g){if(!g||g.id!==this.pickId)return null;var P=h(g.value[0],g.value[1],g.value[2],0),T=d.le(this.arcLength,P);if(T<0)return null;if(T===this.arcLength.length-1)return new L(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),T);for(var F=this.points[T],q=this.points[Math.min(T+1,this.points.length-1)],V=(P-this.arcLength[T])/(this.arcLength[T+1]-this.arcLength[T]),H=1-V,X=[0,0,0],G=0;G<3;++G)X[G]=H*F[G]+V*q[G];var N=Math.min(V<.5?T:T+1,this.points.length-1);return new L(P,X,N,this.points[N])};function M(g){var P=g.gl||g.scene&&g.scene.gl,T=b(P);T.attributes.position.location=0,T.attributes.nextPosition.location=1,T.attributes.arcLength.location=2,T.attributes.lineWidth.location=3,T.attributes.color.location=4;var F=p(P);F.attributes.position.location=0,F.attributes.nextPosition.location=1,F.attributes.arcLength.location=2,F.attributes.lineWidth.location=3,F.attributes.color.location=4;for(var q=s(P),V=l(P,[{buffer:q,size:3,offset:0,stride:48},{buffer:q,size:3,offset:12,stride:48},{buffer:q,size:1,offset:24,stride:48},{buffer:q,size:1,offset:28,stride:48},{buffer:q,size:4,offset:32,stride:48}]),H=v(new Array(256*4),[256,1,4]),X=0;X<1024;++X)H.data[X]=255;var G=u(P,H);G.wrap=P.REPEAT;var N=new _(P,T,F,q,V,G);return N.update(g),N}},1903:function(i){i.exports=a;function a(o){var s=new Float32Array(16);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s[3]=o[3],s[4]=o[4],s[5]=o[5],s[6]=o[6],s[7]=o[7],s[8]=o[8],s[9]=o[9],s[10]=o[10],s[11]=o[11],s[12]=o[12],s[13]=o[13],s[14]=o[14],s[15]=o[15],s}},6864:function(i){i.exports=a;function a(){var o=new Float32Array(16);return o[0]=1,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=1,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=1,o[11]=0,o[12]=0,o[13]=0,o[14]=0,o[15]=1,o}},9921:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3],f=o[4],h=o[5],d=o[6],v=o[7],x=o[8],b=o[9],p=o[10],E=o[11],k=o[12],A=o[13],L=o[14],_=o[15],C=s*h-l*f,M=s*d-u*f,g=s*v-c*f,P=l*d-u*h,T=l*v-c*h,F=u*v-c*d,q=x*A-b*k,V=x*L-p*k,H=x*_-E*k,X=b*L-p*A,G=b*_-E*A,N=p*_-E*L;return C*N-M*G+g*X+P*H-T*V+F*q}},7399:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=s[3],h=l+l,d=u+u,v=c+c,x=l*h,b=u*h,p=u*d,E=c*h,k=c*d,A=c*v,L=f*h,_=f*d,C=f*v;return o[0]=1-p-A,o[1]=b+C,o[2]=E-_,o[3]=0,o[4]=b-C,o[5]=1-x-A,o[6]=k+L,o[7]=0,o[8]=E+_,o[9]=k-L,o[10]=1-x-p,o[11]=0,o[12]=0,o[13]=0,o[14]=0,o[15]=1,o}},6743:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=s[3],d=u+u,v=c+c,x=f+f,b=u*d,p=u*v,E=u*x,k=c*v,A=c*x,L=f*x,_=h*d,C=h*v,M=h*x;return o[0]=1-(k+L),o[1]=p+M,o[2]=E-C,o[3]=0,o[4]=p-M,o[5]=1-(b+L),o[6]=A+_,o[7]=0,o[8]=E+C,o[9]=A-_,o[10]=1-(b+k),o[11]=0,o[12]=l[0],o[13]=l[1],o[14]=l[2],o[15]=1,o}},7894:function(i){i.exports=a;function a(o){return o[0]=1,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=1,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=1,o[11]=0,o[12]=0,o[13]=0,o[14]=0,o[15]=1,o}},7608:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=s[3],h=s[4],d=s[5],v=s[6],x=s[7],b=s[8],p=s[9],E=s[10],k=s[11],A=s[12],L=s[13],_=s[14],C=s[15],M=l*d-u*h,g=l*v-c*h,P=l*x-f*h,T=u*v-c*d,F=u*x-f*d,q=c*x-f*v,V=b*L-p*A,H=b*_-E*A,X=b*C-k*A,G=p*_-E*L,N=p*C-k*L,W=E*C-k*_,re=M*W-g*N+P*G+T*X-F*H+q*V;return re?(re=1/re,o[0]=(d*W-v*N+x*G)*re,o[1]=(c*N-u*W-f*G)*re,o[2]=(L*q-_*F+C*T)*re,o[3]=(E*F-p*q-k*T)*re,o[4]=(v*X-h*W-x*H)*re,o[5]=(l*W-c*X+f*H)*re,o[6]=(_*P-A*q-C*g)*re,o[7]=(b*q-E*P+k*g)*re,o[8]=(h*N-d*X+x*V)*re,o[9]=(u*X-l*N-f*V)*re,o[10]=(A*F-L*P+C*M)*re,o[11]=(p*P-b*F-k*M)*re,o[12]=(d*H-h*G-v*V)*re,o[13]=(l*G-u*H+c*V)*re,o[14]=(L*g-A*T-_*M)*re,o[15]=(b*T-p*g+E*M)*re,o):null}},6582:function(i,a,o){var s=o(7894);i.exports=l;function l(u,c,f,h){var d,v,x,b,p,E,k,A,L,_,C=c[0],M=c[1],g=c[2],P=h[0],T=h[1],F=h[2],q=f[0],V=f[1],H=f[2];return Math.abs(C-q)<1e-6&&Math.abs(M-V)<1e-6&&Math.abs(g-H)<1e-6?s(u):(k=C-q,A=M-V,L=g-H,_=1/Math.sqrt(k*k+A*A+L*L),k*=_,A*=_,L*=_,d=T*L-F*A,v=F*k-P*L,x=P*A-T*k,_=Math.sqrt(d*d+v*v+x*x),_?(_=1/_,d*=_,v*=_,x*=_):(d=0,v=0,x=0),b=A*x-L*v,p=L*d-k*x,E=k*v-A*d,_=Math.sqrt(b*b+p*p+E*E),_?(_=1/_,b*=_,p*=_,E*=_):(b=0,p=0,E=0),u[0]=d,u[1]=b,u[2]=k,u[3]=0,u[4]=v,u[5]=p,u[6]=A,u[7]=0,u[8]=x,u[9]=E,u[10]=L,u[11]=0,u[12]=-(d*C+v*M+x*g),u[13]=-(b*C+p*M+E*g),u[14]=-(k*C+A*M+L*g),u[15]=1,u)}},6760:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=s[3],d=s[4],v=s[5],x=s[6],b=s[7],p=s[8],E=s[9],k=s[10],A=s[11],L=s[12],_=s[13],C=s[14],M=s[15],g=l[0],P=l[1],T=l[2],F=l[3];return o[0]=g*u+P*d+T*p+F*L,o[1]=g*c+P*v+T*E+F*_,o[2]=g*f+P*x+T*k+F*C,o[3]=g*h+P*b+T*A+F*M,g=l[4],P=l[5],T=l[6],F=l[7],o[4]=g*u+P*d+T*p+F*L,o[5]=g*c+P*v+T*E+F*_,o[6]=g*f+P*x+T*k+F*C,o[7]=g*h+P*b+T*A+F*M,g=l[8],P=l[9],T=l[10],F=l[11],o[8]=g*u+P*d+T*p+F*L,o[9]=g*c+P*v+T*E+F*_,o[10]=g*f+P*x+T*k+F*C,o[11]=g*h+P*b+T*A+F*M,g=l[12],P=l[13],T=l[14],F=l[15],o[12]=g*u+P*d+T*p+F*L,o[13]=g*c+P*v+T*E+F*_,o[14]=g*f+P*x+T*k+F*C,o[15]=g*h+P*b+T*A+F*M,o}},4040:function(i){i.exports=a;function a(o,s,l,u,c,f,h){var d=1/(s-l),v=1/(u-c),x=1/(f-h);return o[0]=-2*d,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=-2*v,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=2*x,o[11]=0,o[12]=(s+l)*d,o[13]=(c+u)*v,o[14]=(h+f)*x,o[15]=1,o}},4772:function(i){i.exports=a;function a(o,s,l,u,c){var f=1/Math.tan(s/2),h=1/(u-c);return o[0]=f/l,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=f,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=(c+u)*h,o[11]=-1,o[12]=0,o[13]=0,o[14]=2*c*u*h,o[15]=0,o}},6079:function(i){i.exports=a;function a(o,s,l,u){var c=u[0],f=u[1],h=u[2],d=Math.sqrt(c*c+f*f+h*h),v,x,b,p,E,k,A,L,_,C,M,g,P,T,F,q,V,H,X,G,N,W,re,ae;return Math.abs(d)<1e-6?null:(d=1/d,c*=d,f*=d,h*=d,v=Math.sin(l),x=Math.cos(l),b=1-x,p=s[0],E=s[1],k=s[2],A=s[3],L=s[4],_=s[5],C=s[6],M=s[7],g=s[8],P=s[9],T=s[10],F=s[11],q=c*c*b+x,V=f*c*b+h*v,H=h*c*b-f*v,X=c*f*b-h*v,G=f*f*b+x,N=h*f*b+c*v,W=c*h*b+f*v,re=f*h*b-c*v,ae=h*h*b+x,o[0]=p*q+L*V+g*H,o[1]=E*q+_*V+P*H,o[2]=k*q+C*V+T*H,o[3]=A*q+M*V+F*H,o[4]=p*X+L*G+g*N,o[5]=E*X+_*G+P*N,o[6]=k*X+C*G+T*N,o[7]=A*X+M*G+F*N,o[8]=p*W+L*re+g*ae,o[9]=E*W+_*re+P*ae,o[10]=k*W+C*re+T*ae,o[11]=A*W+M*re+F*ae,s!==o&&(o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o)}},5567:function(i){i.exports=a;function a(o,s,l){var u=Math.sin(l),c=Math.cos(l),f=s[4],h=s[5],d=s[6],v=s[7],x=s[8],b=s[9],p=s[10],E=s[11];return s!==o&&(o[0]=s[0],o[1]=s[1],o[2]=s[2],o[3]=s[3],o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o[4]=f*c+x*u,o[5]=h*c+b*u,o[6]=d*c+p*u,o[7]=v*c+E*u,o[8]=x*c-f*u,o[9]=b*c-h*u,o[10]=p*c-d*u,o[11]=E*c-v*u,o}},2408:function(i){i.exports=a;function a(o,s,l){var u=Math.sin(l),c=Math.cos(l),f=s[0],h=s[1],d=s[2],v=s[3],x=s[8],b=s[9],p=s[10],E=s[11];return s!==o&&(o[4]=s[4],o[5]=s[5],o[6]=s[6],o[7]=s[7],o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o[0]=f*c-x*u,o[1]=h*c-b*u,o[2]=d*c-p*u,o[3]=v*c-E*u,o[8]=f*u+x*c,o[9]=h*u+b*c,o[10]=d*u+p*c,o[11]=v*u+E*c,o}},7089:function(i){i.exports=a;function a(o,s,l){var u=Math.sin(l),c=Math.cos(l),f=s[0],h=s[1],d=s[2],v=s[3],x=s[4],b=s[5],p=s[6],E=s[7];return s!==o&&(o[8]=s[8],o[9]=s[9],o[10]=s[10],o[11]=s[11],o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o[0]=f*c+x*u,o[1]=h*c+b*u,o[2]=d*c+p*u,o[3]=v*c+E*u,o[4]=x*c-f*u,o[5]=b*c-h*u,o[6]=p*c-d*u,o[7]=E*c-v*u,o}},2504:function(i){i.exports=a;function a(o,s,l){var u=l[0],c=l[1],f=l[2];return o[0]=s[0]*u,o[1]=s[1]*u,o[2]=s[2]*u,o[3]=s[3]*u,o[4]=s[4]*c,o[5]=s[5]*c,o[6]=s[6]*c,o[7]=s[7]*c,o[8]=s[8]*f,o[9]=s[9]*f,o[10]=s[10]*f,o[11]=s[11]*f,o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15],o}},7656:function(i){i.exports=a;function a(o,s,l){var u=l[0],c=l[1],f=l[2],h,d,v,x,b,p,E,k,A,L,_,C;return s===o?(o[12]=s[0]*u+s[4]*c+s[8]*f+s[12],o[13]=s[1]*u+s[5]*c+s[9]*f+s[13],o[14]=s[2]*u+s[6]*c+s[10]*f+s[14],o[15]=s[3]*u+s[7]*c+s[11]*f+s[15]):(h=s[0],d=s[1],v=s[2],x=s[3],b=s[4],p=s[5],E=s[6],k=s[7],A=s[8],L=s[9],_=s[10],C=s[11],o[0]=h,o[1]=d,o[2]=v,o[3]=x,o[4]=b,o[5]=p,o[6]=E,o[7]=k,o[8]=A,o[9]=L,o[10]=_,o[11]=C,o[12]=h*u+b*c+A*f+s[12],o[13]=d*u+p*c+L*f+s[13],o[14]=v*u+E*c+_*f+s[14],o[15]=x*u+k*c+C*f+s[15]),o}},5665:function(i){i.exports=a;function a(o,s){if(o===s){var l=s[1],u=s[2],c=s[3],f=s[6],h=s[7],d=s[11];o[1]=s[4],o[2]=s[8],o[3]=s[12],o[4]=l,o[6]=s[9],o[7]=s[13],o[8]=u,o[9]=f,o[11]=s[14],o[12]=c,o[13]=h,o[14]=d}else o[0]=s[0],o[1]=s[4],o[2]=s[8],o[3]=s[12],o[4]=s[1],o[5]=s[5],o[6]=s[9],o[7]=s[13],o[8]=s[2],o[9]=s[6],o[10]=s[10],o[11]=s[14],o[12]=s[3],o[13]=s[7],o[14]=s[11],o[15]=s[15];return o}},7626:function(i,a,o){\"use strict\";var s=o(2642),l=o(9346);i.exports=d;function u(v,x){for(var b=[0,0,0,0],p=0;p<4;++p)for(var E=0;E<4;++E)b[E]+=v[4*p+E]*x[p];return b}function c(v,x,b,p,E){for(var k=u(p,u(b,u(x,[v[0],v[1],v[2],1]))),A=0;A<3;++A)k[A]/=k[3];return[.5*E[0]*(1+k[0]),.5*E[1]*(1-k[1])]}function f(v,x){if(v.length===2){for(var b=0,p=0,E=0;E<2;++E)b+=Math.pow(x[E]-v[0][E],2),p+=Math.pow(x[E]-v[1][E],2);return b=Math.sqrt(b),p=Math.sqrt(p),b+p<1e-6?[1,0]:[p/(b+p),b/(p+b)]}else if(v.length===3){var k=[0,0];return l(v[0],v[1],v[2],x,k),s(v,k)}return[]}function h(v,x){for(var b=[0,0,0],p=0;p<v.length;++p)for(var E=v[p],k=x[p],A=0;A<3;++A)b[A]+=k*E[A];return b}function d(v,x,b,p,E,k){if(v.length===1)return[0,v[0].slice()];for(var A=new Array(v.length),L=0;L<v.length;++L)A[L]=c(v[L],b,p,E,k);for(var _=0,C=1/0,L=0;L<A.length;++L){for(var M=0,g=0;g<2;++g)M+=Math.pow(A[L][g]-x[g],2);M<C&&(C=M,_=L)}for(var P=f(A,x),T=0,L=0;L<3;++L){if(P[L]<-.001||P[L]>1.0001)return null;T+=P[L]}return Math.abs(T-1)>.001?null:[_,h(v,P),P]}},840:function(i,a,o){var s=o(3236),l=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position, normal;\n", - "attribute vec4 color;\n", - "attribute vec2 uv;\n", - "\n", - "uniform mat4 model\n", - " , view\n", - " , projection\n", - " , inverseModel;\n", - "uniform vec3 eyePosition\n", - " , lightPosition;\n", - "\n", - "varying vec3 f_normal\n", - " , f_lightDirection\n", - " , f_eyeDirection\n", - " , f_data;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "vec4 project(vec3 p) {\n", - " return projection * (view * (model * vec4(p, 1.0)));\n", - "}\n", - "\n", - "void 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", - "`]),u=s([`#extension GL_OES_standard_derivatives : enable\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "float 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", - "\n", - "float 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", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float roughness\n", - " , fresnel\n", - " , kambient\n", - " , kdiffuse\n", - " , kspecular;\n", - "uniform sampler2D texture;\n", - "\n", - "varying vec3 f_normal\n", - " , f_lightDirection\n", - " , f_eyeDirection\n", - " , f_data;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),c=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 uv;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "\n", - "varying vec4 f_color;\n", - "varying vec3 f_data;\n", - "varying vec2 f_uv;\n", - "\n", - "void main() {\n", - " gl_Position = projection * (view * (model * vec4(position, 1.0)));\n", - " f_color = color;\n", - " f_data = position;\n", - " f_uv = uv;\n", - "}`]),f=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform sampler2D texture;\n", - "uniform float opacity;\n", - "\n", - "varying vec4 f_color;\n", - "varying vec3 f_data;\n", - "varying vec2 f_uv;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n", - "\n", - " gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n", - "}`]),h=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 uv;\n", - "attribute float pointSize;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 clipBounds[2];\n", - "\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "}`]),d=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform sampler2D texture;\n", - "uniform float opacity;\n", - "\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "}`]),v=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void main() {\n", - " gl_Position = projection * (view * (model * vec4(position, 1.0)));\n", - " f_id = id;\n", - " f_position = position;\n", - "}`]),x=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float pickId;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n", - "\n", - " gl_FragColor = vec4(pickId, f_id.xyz);\n", - "}`]),b=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute float pointSize;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 clipBounds[2];\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void 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=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "\n", - "void main() {\n", - " gl_Position = projection * (view * (model * vec4(position, 1.0)));\n", - "}`]),E=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform vec3 contourColor;\n", - "\n", - "void main() {\n", - " gl_FragColor = vec4(contourColor, 1.0);\n", - "}\n", - "`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},a.wireShader={vertex:c,fragment:f,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},a.pointShader={vertex:h,fragment:d,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"pointSize\",type:\"float\"}]},a.pickShader={vertex:v,fragment:x,attributes:[{name:\"position\",type:\"vec3\"},{name:\"id\",type:\"vec4\"}]},a.pointPickShader={vertex:b,fragment:x,attributes:[{name:\"position\",type:\"vec3\"},{name:\"pointSize\",type:\"float\"},{name:\"id\",type:\"vec4\"}]},a.contourShader={vertex:p,fragment:E,attributes:[{name:\"position\",type:\"vec3\"}]}},7201:function(i,a,o){\"use strict\";var s=1e-6,l=1e-6,u=o(9405),c=o(2762),f=o(8116),h=o(7766),d=o(8406),v=o(6760),x=o(7608),b=o(9618),p=o(6729),E=o(7765),k=o(1888),A=o(840),L=o(7626),_=A.meshShader,C=A.wireShader,M=A.pointShader,g=A.pickShader,P=A.pointPickShader,T=A.contourShader,F=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function q(ge,ie,Te,Ee,Ae,ze,Ce,me,Re,ce,Ge,nt,ct,qt,rt,ot,Rt,kt,Ct,Yt,xr,er,Ke,xt,bt,Lt,St){this.gl=ge,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=ie,this.dirty=!0,this.triShader=Te,this.lineShader=Ee,this.pointShader=Ae,this.pickShader=ze,this.pointPickShader=Ce,this.contourShader=me,this.trianglePositions=Re,this.triangleColors=Ge,this.triangleNormals=ct,this.triangleUVs=nt,this.triangleIds=ce,this.triangleVAO=qt,this.triangleCount=0,this.lineWidth=1,this.edgePositions=rt,this.edgeColors=Rt,this.edgeUVs=kt,this.edgeIds=ot,this.edgeVAO=Ct,this.edgeCount=0,this.pointPositions=Yt,this.pointColors=er,this.pointUVs=Ke,this.pointSizes=xt,this.pointIds=xr,this.pointVAO=bt,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=Lt,this.contourVAO=St,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=F,this._view=F,this._projection=F,this._resolution=[1,1]}var V=q.prototype;V.isOpaque=function(){return!this.hasAlpha},V.isTransparent=function(){return this.hasAlpha},V.pickSlots=1,V.setPickBase=function(ge){this.pickId=ge};function H(ge,ie){if(!ie||!ie.length)return 1;for(var Te=0;Te<ie.length;++Te){if(ie.length<2)return 1;if(ie[Te][0]===ge)return ie[Te][1];if(ie[Te][0]>ge&&Te>0){var Ee=(ie[Te][0]-ge)/(ie[Te][0]-ie[Te-1][0]);return ie[Te][1]*(1-Ee)+Ee*ie[Te-1][1]}}return 1}function X(ge,ie){for(var Te=p({colormap:ge,nshades:256,format:\"rgba\"}),Ee=new Uint8Array(256*4),Ae=0;Ae<256;++Ae){for(var ze=Te[Ae],Ce=0;Ce<3;++Ce)Ee[4*Ae+Ce]=ze[Ce];ie?Ee[4*Ae+3]=255*H(Ae/255,ie):Ee[4*Ae+3]=255*ze[3]}return b(Ee,[256,256,4],[4,0,1])}function G(ge){for(var ie=ge.length,Te=new Array(ie),Ee=0;Ee<ie;++Ee)Te[Ee]=ge[Ee][2];return Te}V.highlight=function(ge){if(!ge||!this.contourEnable){this.contourCount=0;return}for(var ie=E(this.cells,this.intensity,ge.intensity),Te=ie.cells,Ee=ie.vertexIds,Ae=ie.vertexWeights,ze=Te.length,Ce=k.mallocFloat32(2*3*ze),me=0,Re=0;Re<ze;++Re)for(var ce=Te[Re],Ge=0;Ge<2;++Ge){var nt=ce[0];ce.length===2&&(nt=ce[Ge]);for(var ct=Ee[nt][0],qt=Ee[nt][1],rt=Ae[nt],ot=1-rt,Rt=this.positions[ct],kt=this.positions[qt],Ct=0;Ct<3;++Ct)Ce[me++]=rt*Rt[Ct]+ot*kt[Ct]}this.contourCount=me/3|0,this.contourPositions.update(Ce.subarray(0,me)),k.free(Ce)},V.update=function(ge){ge=ge||{};var ie=this.gl;this.dirty=!0,\"contourEnable\"in ge&&(this.contourEnable=ge.contourEnable),\"contourColor\"in ge&&(this.contourColor=ge.contourColor),\"lineWidth\"in ge&&(this.lineWidth=ge.lineWidth),\"lightPosition\"in ge&&(this.lightPosition=ge.lightPosition),this.hasAlpha=!1,\"opacity\"in ge&&(this.opacity=ge.opacity,this.opacity<1&&(this.hasAlpha=!0)),\"opacityscale\"in ge&&(this.opacityscale=ge.opacityscale,this.hasAlpha=!0),\"ambient\"in ge&&(this.ambientLight=ge.ambient),\"diffuse\"in ge&&(this.diffuseLight=ge.diffuse),\"specular\"in ge&&(this.specularLight=ge.specular),\"roughness\"in ge&&(this.roughness=ge.roughness),\"fresnel\"in ge&&(this.fresnel=ge.fresnel),ge.texture?(this.texture.dispose(),this.texture=h(ie,ge.texture)):ge.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=ie.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=ie.LINEAR,this.texture.setPixels(X(ge.colormap,this.opacityscale)),this.texture.generateMipmap());var Te=ge.cells,Ee=ge.positions;if(!(!Ee||!Te)){var Ae=[],ze=[],Ce=[],me=[],Re=[],ce=[],Ge=[],nt=[],ct=[],qt=[],rt=[],ot=[],Rt=[],kt=[];this.cells=Te,this.positions=Ee;var Ct=ge.vertexNormals,Yt=ge.cellNormals,xr=ge.vertexNormalsEpsilon===void 0?s:ge.vertexNormalsEpsilon,er=ge.faceNormalsEpsilon===void 0?l:ge.faceNormalsEpsilon;ge.useFacetNormals&&!Yt&&(Yt=d.faceNormals(Te,Ee,er)),!Yt&&!Ct&&(Ct=d.vertexNormals(Te,Ee,xr));var Ke=ge.vertexColors,xt=ge.cellColors,bt=ge.meshColor||[1,1,1,1],Lt=ge.vertexUVs,St=ge.vertexIntensity,Et=ge.cellUVs,dt=ge.cellIntensity,Ht=1/0,$t=-1/0;if(!Lt&&!Et)if(St)if(ge.vertexIntensityBounds)Ht=+ge.vertexIntensityBounds[0],$t=+ge.vertexIntensityBounds[1];else for(var fr=0;fr<St.length;++fr){var _r=St[fr];Ht=Math.min(Ht,_r),$t=Math.max($t,_r)}else if(dt)if(ge.cellIntensityBounds)Ht=+ge.cellIntensityBounds[0],$t=+ge.cellIntensityBounds[1];else for(var fr=0;fr<dt.length;++fr){var _r=dt[fr];Ht=Math.min(Ht,_r),$t=Math.max($t,_r)}else for(var fr=0;fr<Ee.length;++fr){var _r=Ee[fr][2];Ht=Math.min(Ht,_r),$t=Math.max($t,_r)}St?this.intensity=St:dt?this.intensity=dt:this.intensity=G(Ee),this.pickVertex=!(dt||xt);var Br=ge.pointSizes,Or=ge.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(var fr=0;fr<Ee.length;++fr)for(var Nr=Ee[fr],ut=0;ut<3;++ut)isNaN(Nr[ut])||!isFinite(Nr[ut])||(this.bounds[0][ut]=Math.min(this.bounds[0][ut],Nr[ut]),this.bounds[1][ut]=Math.max(this.bounds[1][ut],Nr[ut]));var Ne=0,Ye=0,Ve=0;e:for(var fr=0;fr<Te.length;++fr){var Xe=Te[fr];switch(Xe.length){case 1:for(var ht=Xe[0],Nr=Ee[ht],ut=0;ut<3;++ut)if(isNaN(Nr[ut])||!isFinite(Nr[ut]))continue e;qt.push(Nr[0],Nr[1],Nr[2]);var Le;Ke?Le=Ke[ht]:xt?Le=xt[fr]:Le=bt,this.opacityscale&&St?ze.push(Le[0],Le[1],Le[2],this.opacity*H((St[ht]-Ht)/($t-Ht),this.opacityscale)):Le.length===3?rt.push(Le[0],Le[1],Le[2],this.opacity):(rt.push(Le[0],Le[1],Le[2],Le[3]*this.opacity),Le[3]<1&&(this.hasAlpha=!0));var xe;Lt?xe=Lt[ht]:St?xe=[(St[ht]-Ht)/($t-Ht),0]:Et?xe=Et[fr]:dt?xe=[(dt[fr]-Ht)/($t-Ht),0]:xe=[(Nr[2]-Ht)/($t-Ht),0],ot.push(xe[0],xe[1]),Br?Rt.push(Br[ht]):Rt.push(Or),kt.push(fr),Ve+=1;break;case 2:for(var ut=0;ut<2;++ut)for(var ht=Xe[ut],Nr=Ee[ht],Se=0;Se<3;++Se)if(isNaN(Nr[Se])||!isFinite(Nr[Se]))continue e;for(var ut=0;ut<2;++ut){var ht=Xe[ut],Nr=Ee[ht];ce.push(Nr[0],Nr[1],Nr[2]);var Le;Ke?Le=Ke[ht]:xt?Le=xt[fr]:Le=bt,this.opacityscale&&St?ze.push(Le[0],Le[1],Le[2],this.opacity*H((St[ht]-Ht)/($t-Ht),this.opacityscale)):Le.length===3?Ge.push(Le[0],Le[1],Le[2],this.opacity):(Ge.push(Le[0],Le[1],Le[2],Le[3]*this.opacity),Le[3]<1&&(this.hasAlpha=!0));var xe;Lt?xe=Lt[ht]:St?xe=[(St[ht]-Ht)/($t-Ht),0]:Et?xe=Et[fr]:dt?xe=[(dt[fr]-Ht)/($t-Ht),0]:xe=[(Nr[2]-Ht)/($t-Ht),0],nt.push(xe[0],xe[1]),ct.push(fr)}Ye+=1;break;case 3:for(var ut=0;ut<3;++ut)for(var ht=Xe[ut],Nr=Ee[ht],Se=0;Se<3;++Se)if(isNaN(Nr[Se])||!isFinite(Nr[Se]))continue e;for(var ut=0;ut<3;++ut){var ht=Xe[2-ut],Nr=Ee[ht];Ae.push(Nr[0],Nr[1],Nr[2]);var Le;Ke?Le=Ke[ht]:xt?Le=xt[fr]:Le=bt,Le?this.opacityscale&&St?ze.push(Le[0],Le[1],Le[2],this.opacity*H((St[ht]-Ht)/($t-Ht),this.opacityscale)):Le.length===3?ze.push(Le[0],Le[1],Le[2],this.opacity):(ze.push(Le[0],Le[1],Le[2],Le[3]*this.opacity),Le[3]<1&&(this.hasAlpha=!0)):ze.push(.5,.5,.5,1);var xe;Lt?xe=Lt[ht]:St?xe=[(St[ht]-Ht)/($t-Ht),0]:Et?xe=Et[fr]:dt?xe=[(dt[fr]-Ht)/($t-Ht),0]:xe=[(Nr[2]-Ht)/($t-Ht),0],me.push(xe[0],xe[1]);var lt;Ct?lt=Ct[ht]:lt=Yt[fr],Ce.push(lt[0],lt[1],lt[2]),Re.push(fr)}Ne+=1;break;default:break}}this.pointCount=Ve,this.edgeCount=Ye,this.triangleCount=Ne,this.pointPositions.update(qt),this.pointColors.update(rt),this.pointUVs.update(ot),this.pointSizes.update(Rt),this.pointIds.update(new Uint32Array(kt)),this.edgePositions.update(ce),this.edgeColors.update(Ge),this.edgeUVs.update(nt),this.edgeIds.update(new Uint32Array(ct)),this.trianglePositions.update(Ae),this.triangleColors.update(ze),this.triangleUVs.update(me),this.triangleNormals.update(Ce),this.triangleIds.update(new Uint32Array(Re))}},V.drawTransparent=V.draw=function(ge){ge=ge||{};for(var ie=this.gl,Te=ge.model||F,Ee=ge.view||F,Ae=ge.projection||F,ze=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],Ce=0;Ce<3;++Ce)ze[0][Ce]=Math.max(ze[0][Ce],this.clipBounds[0][Ce]),ze[1][Ce]=Math.min(ze[1][Ce],this.clipBounds[1][Ce]);var me={model:Te,view:Ee,projection:Ae,inverseModel:F.slice(),clipBounds:ze,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],contourColor:this.contourColor,texture:0};me.inverseModel=x(me.inverseModel,me.model),ie.disable(ie.CULL_FACE),this.texture.bind(0);var Re=new Array(16);v(Re,me.view,me.model),v(Re,me.projection,Re),x(Re,Re);for(var Ce=0;Ce<3;++Ce)me.eyePosition[Ce]=Re[12+Ce]/Re[15];for(var ce=Re[15],Ce=0;Ce<3;++Ce)ce+=this.lightPosition[Ce]*Re[4*Ce+3];for(var Ce=0;Ce<3;++Ce){for(var Ge=Re[12+Ce],nt=0;nt<3;++nt)Ge+=Re[4*nt+Ce]*this.lightPosition[nt];me.lightPosition[Ce]=Ge/ce}if(this.triangleCount>0){var ct=this.triShader;ct.bind(),ct.uniforms=me,this.triangleVAO.bind(),ie.drawArrays(ie.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var ct=this.lineShader;ct.bind(),ct.uniforms=me,this.edgeVAO.bind(),ie.lineWidth(this.lineWidth*this.pixelRatio),ie.drawArrays(ie.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()}if(this.pointCount>0){var ct=this.pointShader;ct.bind(),ct.uniforms=me,this.pointVAO.bind(),ie.drawArrays(ie.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var ct=this.contourShader;ct.bind(),ct.uniforms=me,this.contourVAO.bind(),ie.drawArrays(ie.LINES,0,this.contourCount),this.contourVAO.unbind()}},V.drawPick=function(ge){ge=ge||{};for(var ie=this.gl,Te=ge.model||F,Ee=ge.view||F,Ae=ge.projection||F,ze=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],Ce=0;Ce<3;++Ce)ze[0][Ce]=Math.max(ze[0][Ce],this.clipBounds[0][Ce]),ze[1][Ce]=Math.min(ze[1][Ce],this.clipBounds[1][Ce]);this._model=[].slice.call(Te),this._view=[].slice.call(Ee),this._projection=[].slice.call(Ae),this._resolution=[ie.drawingBufferWidth,ie.drawingBufferHeight];var me={model:Te,view:Ee,projection:Ae,clipBounds:ze,pickId:this.pickId/255},Re=this.pickShader;if(Re.bind(),Re.uniforms=me,this.triangleCount>0&&(this.triangleVAO.bind(),ie.drawArrays(ie.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),ie.lineWidth(this.lineWidth*this.pixelRatio),ie.drawArrays(ie.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()),this.pointCount>0){var Re=this.pointPickShader;Re.bind(),Re.uniforms=me,this.pointVAO.bind(),ie.drawArrays(ie.POINTS,0,this.pointCount),this.pointVAO.unbind()}},V.pick=function(ge){if(!ge||ge.id!==this.pickId)return null;for(var ie=ge.value[0]+256*ge.value[1]+65536*ge.value[2],Te=this.cells[ie],Ee=this.positions,Ae=new Array(Te.length),ze=0;ze<Te.length;++ze)Ae[ze]=Ee[Te[ze]];var Ce=ge.coord[0],me=ge.coord[1];if(!this.pickVertex){var Re=this.positions[Te[0]],ce=this.positions[Te[1]],Ge=this.positions[Te[2]],nt=[(Re[0]+ce[0]+Ge[0])/3,(Re[1]+ce[1]+Ge[1])/3,(Re[2]+ce[2]+Ge[2])/3];return{_cellCenter:!0,position:[Ce,me],index:ie,cell:Te,cellId:ie,intensity:this.intensity[ie],dataCoordinate:nt}}var ct=L(Ae,[Ce*this.pixelRatio,this._resolution[1]-me*this.pixelRatio],this._model,this._view,this._projection,this._resolution);if(!ct)return null;for(var qt=ct[2],rt=0,ze=0;ze<Te.length;++ze)rt+=qt[ze]*this.intensity[Te[ze]];return{position:ct[1],index:Te[ct[0]],cell:Te,cellId:ie,intensity:rt,dataCoordinate:this.positions[Te[ct[0]]]}},V.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.lineShader.dispose(),this.pointShader.dispose(),this.pickShader.dispose(),this.pointPickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose(),this.contourShader.dispose()};function N(ge){var ie=u(ge,_.vertex,_.fragment);return ie.attributes.position.location=0,ie.attributes.color.location=2,ie.attributes.uv.location=3,ie.attributes.normal.location=4,ie}function W(ge){var ie=u(ge,C.vertex,C.fragment);return ie.attributes.position.location=0,ie.attributes.color.location=2,ie.attributes.uv.location=3,ie}function re(ge){var ie=u(ge,M.vertex,M.fragment);return ie.attributes.position.location=0,ie.attributes.color.location=2,ie.attributes.uv.location=3,ie.attributes.pointSize.location=4,ie}function ae(ge){var ie=u(ge,g.vertex,g.fragment);return ie.attributes.position.location=0,ie.attributes.id.location=1,ie}function _e(ge){var ie=u(ge,P.vertex,P.fragment);return ie.attributes.position.location=0,ie.attributes.id.location=1,ie.attributes.pointSize.location=4,ie}function Me(ge){var ie=u(ge,T.vertex,T.fragment);return ie.attributes.position.location=0,ie}function ke(ge,ie){arguments.length===1&&(ie=ge,ge=ie.gl);var Te=ge.getExtension(\"OES_standard_derivatives\")||ge.getExtension(\"MOZ_OES_standard_derivatives\")||ge.getExtension(\"WEBKIT_OES_standard_derivatives\");if(!Te)throw new Error(\"derivatives not supported\");var Ee=N(ge),Ae=W(ge),ze=re(ge),Ce=ae(ge),me=_e(ge),Re=Me(ge),ce=h(ge,b(new Uint8Array([255,255,255,255]),[1,1,4]));ce.generateMipmap(),ce.minFilter=ge.LINEAR_MIPMAP_LINEAR,ce.magFilter=ge.LINEAR;var Ge=c(ge),nt=c(ge),ct=c(ge),qt=c(ge),rt=c(ge),ot=f(ge,[{buffer:Ge,type:ge.FLOAT,size:3},{buffer:rt,type:ge.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:nt,type:ge.FLOAT,size:4},{buffer:ct,type:ge.FLOAT,size:2},{buffer:qt,type:ge.FLOAT,size:3}]),Rt=c(ge),kt=c(ge),Ct=c(ge),Yt=c(ge),xr=f(ge,[{buffer:Rt,type:ge.FLOAT,size:3},{buffer:Yt,type:ge.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:kt,type:ge.FLOAT,size:4},{buffer:Ct,type:ge.FLOAT,size:2}]),er=c(ge),Ke=c(ge),xt=c(ge),bt=c(ge),Lt=c(ge),St=f(ge,[{buffer:er,type:ge.FLOAT,size:3},{buffer:Lt,type:ge.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:Ke,type:ge.FLOAT,size:4},{buffer:xt,type:ge.FLOAT,size:2},{buffer:bt,type:ge.FLOAT,size:1}]),Et=c(ge),dt=f(ge,[{buffer:Et,type:ge.FLOAT,size:3}]),Ht=new q(ge,ce,Ee,Ae,ze,Ce,me,Re,Ge,rt,nt,ct,qt,ot,Rt,Yt,kt,Ct,xr,er,Lt,Ke,xt,bt,St,Et,dt);return Ht.update(ie),Ht}i.exports=ke},4437:function(i,a,o){\"use strict\";i.exports=d;var s=o(3025),l=o(6296),u=o(351),c=o(8512),f=o(24),h=o(7520);function d(v,x){v=v||document.body,x=x||{};var b=[.01,1/0];\"distanceLimits\"in x&&(b[0]=x.distanceLimits[0],b[1]=x.distanceLimits[1]),\"zoomMin\"in x&&(b[0]=x.zoomMin),\"zoomMax\"in x&&(b[1]=x.zoomMax);var p=l({center:x.center||[0,0,0],up:x.up||[0,1,0],eye:x.eye||[0,0,10],mode:x.mode||\"orbit\",distanceLimits:b}),E=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],k=0,A=v.clientWidth,L=v.clientHeight,_={keyBindingMode:\"rotate\",enableWheel:!0,view:p,element:v,delay:x.delay||16,rotateSpeed:x.rotateSpeed||1,zoomSpeed:x.zoomSpeed||1,translateSpeed:x.translateSpeed||1,flipX:!!x.flipX,flipY:!!x.flipY,modes:p.modes,_ortho:x._ortho||x.projection&&x.projection.type===\"orthographic\"||!1,tick:function(){var C=s(),M=this.delay,g=C-2*M;p.idle(C-M),p.recalcMatrix(g),p.flush(C-(100+M*2));for(var P=!0,T=p.computedMatrix,F=0;F<16;++F)P=P&&E[F]===T[F],E[F]=T[F];var q=v.clientWidth===A&&v.clientHeight===L;return A=v.clientWidth,L=v.clientHeight,P?!q:(k=Math.exp(p.computedRadius[0]),!0)},lookAt:function(C,M,g){p.lookAt(p.lastT(),C,M,g)},rotate:function(C,M,g){p.rotate(p.lastT(),C,M,g)},pan:function(C,M,g){p.pan(p.lastT(),C,M,g)},translate:function(C,M,g){p.translate(p.lastT(),C,M,g)}};return Object.defineProperties(_,{matrix:{get:function(){return p.computedMatrix},set:function(C){return p.setMatrix(p.lastT(),C),p.computedMatrix},enumerable:!0},mode:{get:function(){return p.getMode()},set:function(C){var M=p.computedUp.slice(),g=p.computedEye.slice(),P=p.computedCenter.slice();if(p.setMode(C),C===\"turntable\"){var T=s();p._active.lookAt(T,g,P,M),p._active.lookAt(T+500,g,P,[0,0,1]),p._active.flush(T)}return p.getMode()},enumerable:!0},center:{get:function(){return p.computedCenter},set:function(C){return p.lookAt(p.lastT(),null,C),p.computedCenter},enumerable:!0},eye:{get:function(){return p.computedEye},set:function(C){return p.lookAt(p.lastT(),C),p.computedEye},enumerable:!0},up:{get:function(){return p.computedUp},set:function(C){return p.lookAt(p.lastT(),null,null,C),p.computedUp},enumerable:!0},distance:{get:function(){return k},set:function(C){return p.setDistance(p.lastT(),C),C},enumerable:!0},distanceLimits:{get:function(){return p.getDistanceLimits(b)},set:function(C){return p.setDistanceLimits(C),C},enumerable:!0}}),v.addEventListener(\"contextmenu\",function(C){return C.preventDefault(),!1}),_._lastX=-1,_._lastY=-1,_._lastMods={shift:!1,control:!1,alt:!1,meta:!1},_.enableMouseListeners=function(){_.mouseListener=u(v,C),v.addEventListener(\"touchstart\",function(M){var g=f(M.changedTouches[0],v);C(0,g[0],g[1],_._lastMods),C(1,g[0],g[1],_._lastMods)},h?{passive:!0}:!1),v.addEventListener(\"touchmove\",function(M){var g=f(M.changedTouches[0],v);C(1,g[0],g[1],_._lastMods),M.preventDefault()},h?{passive:!1}:!1),v.addEventListener(\"touchend\",function(M){C(0,_._lastX,_._lastY,_._lastMods)},h?{passive:!0}:!1);function C(M,g,P,T){var F=_.keyBindingMode;if(F!==!1){var q=F===\"rotate\",V=F===\"pan\",H=F===\"zoom\",X=!!T.control,G=!!T.alt,N=!!T.shift,W=!!(M&1),re=!!(M&2),ae=!!(M&4),_e=1/v.clientHeight,Me=_e*(g-_._lastX),ke=_e*(P-_._lastY),ge=_.flipX?1:-1,ie=_.flipY?1:-1,Te=Math.PI*_.rotateSpeed,Ee=s();if(_._lastX!==-1&&_._lastY!==-1&&((q&&W&&!X&&!G&&!N||W&&!X&&!G&&N)&&p.rotate(Ee,ge*Te*Me,-ie*Te*ke,0),(V&&W&&!X&&!G&&!N||re||W&&X&&!G&&!N)&&p.pan(Ee,-_.translateSpeed*Me*k,_.translateSpeed*ke*k,0),H&&W&&!X&&!G&&!N||ae||W&&!X&&G&&!N)){var Ae=-_.zoomSpeed*ke/window.innerHeight*(Ee-p.lastT())*100;p.pan(Ee,0,0,k*(Math.exp(Ae)-1))}return _._lastX=g,_._lastY=P,_._lastMods=T,!0}}_.wheelListener=c(v,function(M,g){if(_.keyBindingMode!==!1&&_.enableWheel){var P=_.flipX?1:-1,T=_.flipY?1:-1,F=s();if(Math.abs(M)>Math.abs(g))p.rotate(F,0,0,-M*P*Math.PI*_.rotateSpeed/window.innerWidth);else if(!_._ortho){var q=-_.zoomSpeed*T*g/window.innerHeight*(F-p.lastT())/20;p.pan(F,0,0,k*(Math.exp(q)-1))}}},!0)},_.enableMouseListeners(),_}},799:function(i,a,o){var s=o(3236),l=o(9405),u=s([`precision mediump float;\n", - "#define GLSLIFY 1\n", - "attribute vec2 position;\n", - "varying vec2 uv;\n", - "void main() {\n", - " uv = position;\n", - " gl_Position = vec4(position, 0, 1);\n", - "}`]),c=s([`precision mediump float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform sampler2D accumBuffer;\n", - "varying vec2 uv;\n", - "\n", - "void main() {\n", - " vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n", - " gl_FragColor = min(vec4(1,1,1,1), accum);\n", - "}`]);i.exports=function(f){return l(f,u,c,null,[{name:\"position\",type:\"vec2\"}])}},4100:function(i,a,o){\"use strict\";var s=o(4437),l=o(3837),u=o(5445),c=o(4449),f=o(3589),h=o(2260),d=o(7169),v=o(351),x=o(4772),b=o(4040),p=o(799),E=o(9216)({tablet:!0,featureDetect:!0});i.exports={createScene:C,createCamera:s};function k(){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 A(g,P){var T=null;try{T=g.getContext(\"webgl\",P),T||(T=g.getContext(\"experimental-webgl\",P))}catch(F){return null}return T}function L(g){var P=Math.round(Math.log(Math.abs(g))/Math.log(10));if(P<0){var T=Math.round(Math.pow(10,-P));return Math.ceil(g*T)/T}else if(P>0){var T=Math.round(Math.pow(10,P));return Math.ceil(g/T)*T}return Math.ceil(g)}function _(g){return typeof g==\"boolean\"?g:!0}function C(g){g=g||{},g.camera=g.camera||{};var P=g.canvas;if(!P)if(P=document.createElement(\"canvas\"),g.container){var T=g.container;T.appendChild(P)}else document.body.appendChild(P);var F=g.gl;if(F||(g.glOptions&&(E=!!g.glOptions.preserveDrawingBuffer),F=A(P,g.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:E})),!F)throw new Error(\"webgl not supported\");var q=g.bounds||[[-10,-10,-10],[10,10,10]],V=new k,H=h(F,F.drawingBufferWidth,F.drawingBufferHeight,{preferFloat:!E}),X=p(F),G=g.cameraObject&&g.cameraObject._ortho===!0||g.camera.projection&&g.camera.projection.type===\"orthographic\"||!1,N={eye:g.camera.eye||[2,0,0],center:g.camera.center||[0,0,0],up:g.camera.up||[0,1,0],zoomMin:g.camera.zoomMax||.1,zoomMax:g.camera.zoomMin||100,mode:g.camera.mode||\"turntable\",_ortho:G},W=g.axes||{},re=l(F,W);re.enable=!W.disable;var ae=g.spikes||{},_e=c(F,ae),Me=[],ke=[],ge=[],ie=[],Te=!0,Ce=!0,Ee=new Array(16),Ae=new Array(16),ze={view:null,projection:Ee,model:Ae,_ortho:!1},Ce=!0,me=[F.drawingBufferWidth,F.drawingBufferHeight],Re=g.cameraObject||s(P,N),ce={gl:F,contextLost:!1,pixelRatio:g.pixelRatio||1,canvas:P,selection:V,camera:Re,axes:re,axesPixels:null,spikes:_e,bounds:q,objects:Me,shape:me,aspect:g.aspectRatio||[1,1,1],pickRadius:g.pickRadius||10,zNear:g.zNear||.01,zFar:g.zFar||1e3,fovy:g.fovy||Math.PI/4,clearColor:g.clearColor||[0,0,0,0],autoResize:_(g.autoResize),autoBounds:_(g.autoBounds),autoScale:!!g.autoScale,autoCenter:_(g.autoCenter),clipToBounds:_(g.clipToBounds),snapToData:!!g.snapToData,onselect:g.onselect||null,onrender:g.onrender||null,onclick:g.onclick||null,cameraParams:ze,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(Yt){this.aspect[0]=Yt.x,this.aspect[1]=Yt.y,this.aspect[2]=Yt.z,Ce=!0},setBounds:function(Yt,xr){this.bounds[0][Yt]=xr.min,this.bounds[1][Yt]=xr.max},setClearColor:function(Yt){this.clearColor=Yt},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)}},Ge=[F.drawingBufferWidth/ce.pixelRatio|0,F.drawingBufferHeight/ce.pixelRatio|0];function nt(){if(!ce._stopped&&ce.autoResize){var Yt=P.parentNode,xr=1,er=1;Yt&&Yt!==document.body?(xr=Yt.clientWidth,er=Yt.clientHeight):(xr=window.innerWidth,er=window.innerHeight);var Ke=Math.ceil(xr*ce.pixelRatio)|0,xt=Math.ceil(er*ce.pixelRatio)|0;if(Ke!==P.width||xt!==P.height){P.width=Ke,P.height=xt;var bt=P.style;bt.position=bt.position||\"absolute\",bt.left=\"0px\",bt.top=\"0px\",bt.width=xr+\"px\",bt.height=er+\"px\",Te=!0}}}ce.autoResize&&nt(),window.addEventListener(\"resize\",nt);function ct(){for(var Yt=Me.length,xr=ie.length,er=0;er<xr;++er)ge[er]=0;e:for(var er=0;er<Yt;++er){var Ke=Me[er],xt=Ke.pickSlots;if(!xt){ke[er]=-1;continue}for(var bt=0;bt<xr;++bt)if(ge[bt]+xt<255){ke[er]=bt,Ke.setPickBase(ge[bt]+1),ge[bt]+=xt;continue e}var Lt=f(F,me);ke[er]=xr,ie.push(Lt),ge.push(xt),Ke.setPickBase(1),xr+=1}for(;xr>0&&ge[xr-1]===0;)ge.pop(),ie.pop().dispose()}ce.update=function(Yt){ce._stopped||(Yt=Yt||{},Te=!0,Ce=!0)},ce.add=function(Yt){ce._stopped||(Yt.axes=re,Me.push(Yt),ke.push(-1),Te=!0,Ce=!0,ct())},ce.remove=function(Yt){if(!ce._stopped){var xr=Me.indexOf(Yt);xr<0||(Me.splice(xr,1),ke.pop(),Te=!0,Ce=!0,ct())}},ce.dispose=function(){if(!ce._stopped&&(ce._stopped=!0,window.removeEventListener(\"resize\",nt),P.removeEventListener(\"webglcontextlost\",qt),ce.mouseListener.enabled=!1,!ce.contextLost)){re.dispose(),_e.dispose();for(var Yt=0;Yt<Me.length;++Yt)Me[Yt].dispose();H.dispose();for(var Yt=0;Yt<ie.length;++Yt)ie[Yt].dispose();X.dispose(),F=null,re=null,_e=null,Me=[]}},ce._mouseRotating=!1,ce._prevButtons=0,ce.enableMouseListeners=function(){ce.mouseListener=v(P,function(Yt,xr,er){if(!ce._stopped){var Ke=ie.length,xt=Me.length,bt=V.object;V.distance=1/0,V.mouse[0]=xr,V.mouse[1]=er,V.object=null,V.screen=null,V.dataCoordinate=V.dataPosition=null;var Lt=!1;if(Yt&&ce._prevButtons)ce._mouseRotating=!0;else{ce._mouseRotating&&(Ce=!0),ce._mouseRotating=!1;for(var St=0;St<Ke;++St){var Et=ie[St].query(xr,Ge[1]-er-1,ce.pickRadius);if(Et){if(Et.distance>V.distance)continue;for(var dt=0;dt<xt;++dt){var Ht=Me[dt];if(ke[dt]===St){var $t=Ht.pick(Et);$t&&(V.buttons=Yt,V.screen=Et.coord,V.distance=Et.distance,V.object=Ht,V.index=$t.distance,V.dataPosition=$t.position,V.dataCoordinate=$t.dataCoordinate,V.data=$t,Lt=!0)}}}}}bt&&bt!==V.object&&(bt.highlight&&bt.highlight(null),Te=!0),V.object&&(V.object.highlight&&V.object.highlight(V.data),Te=!0),Lt=Lt||V.object!==bt,Lt&&ce.onselect&&ce.onselect(V),Yt&1&&!(ce._prevButtons&1)&&ce.onclick&&ce.onclick(V),ce._prevButtons=Yt}})};function qt(){if(ce.contextLost)return!0;F.isContextLost()&&(ce.contextLost=!0,ce.mouseListener.enabled=!1,ce.selection.object=null,ce.oncontextloss&&ce.oncontextloss())}P.addEventListener(\"webglcontextlost\",qt);function rt(){if(!qt()){F.colorMask(!0,!0,!0,!0),F.depthMask(!0),F.disable(F.BLEND),F.enable(F.DEPTH_TEST),F.depthFunc(F.LEQUAL);for(var Yt=Me.length,xr=ie.length,er=0;er<xr;++er){var Ke=ie[er];Ke.shape=Ge,Ke.begin();for(var xt=0;xt<Yt;++xt)if(ke[xt]===er){var bt=Me[xt];bt.drawPick&&(bt.pixelRatio=1,bt.drawPick(ze))}Ke.end()}}}var ot=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],Rt=[ot[0].slice(),ot[1].slice()];function kt(){if(!qt()){nt();var Yt=ce.camera.tick();ze.view=ce.camera.matrix,Te=Te||Yt,Ce=Ce||Yt,re.pixelRatio=ce.pixelRatio,_e.pixelRatio=ce.pixelRatio;var xr=Me.length,er=ot[0],Ke=ot[1];er[0]=er[1]=er[2]=1/0,Ke[0]=Ke[1]=Ke[2]=-1/0;for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.pixelRatio=ce.pixelRatio,bt.axes=ce.axes,Te=Te||!!bt.dirty,Ce=Ce||!!bt.dirty;var Lt=bt.bounds;if(Lt)for(var St=Lt[0],Et=Lt[1],dt=0;dt<3;++dt)er[dt]=Math.min(er[dt],St[dt]),Ke[dt]=Math.max(Ke[dt],Et[dt])}var Ht=ce.bounds;if(ce.autoBounds)for(var dt=0;dt<3;++dt){if(Ke[dt]<er[dt])er[dt]=-1,Ke[dt]=1;else{er[dt]===Ke[dt]&&(er[dt]-=1,Ke[dt]+=1);var $t=.05*(Ke[dt]-er[dt]);er[dt]=er[dt]-$t,Ke[dt]=Ke[dt]+$t}Ht[0][dt]=er[dt],Ht[1][dt]=Ke[dt]}for(var fr=!1,dt=0;dt<3;++dt)fr=fr||Rt[0][dt]!==Ht[0][dt]||Rt[1][dt]!==Ht[1][dt],Rt[0][dt]=Ht[0][dt],Rt[1][dt]=Ht[1][dt];if(Ce=Ce||fr,Te=Te||fr,!!Te){if(fr){for(var _r=[0,0,0],xt=0;xt<3;++xt)_r[xt]=L((Ht[1][xt]-Ht[0][xt])/10);re.autoTicks?re.update({bounds:Ht,tickSpacing:_r}):re.update({bounds:Ht})}var Br=F.drawingBufferWidth,Or=F.drawingBufferHeight;me[0]=Br,me[1]=Or,Ge[0]=Math.max(Br/ce.pixelRatio,1)|0,Ge[1]=Math.max(Or/ce.pixelRatio,1)|0,M(ce,G);for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.axesBounds=Ht,ce.clipToBounds&&(bt.clipBounds=Ht)}V.object&&(ce.snapToData?_e.position=V.dataCoordinate:_e.position=V.dataPosition,_e.bounds=Ht),Ce&&(Ce=!1,rt()),ce.axesPixels=u(ce.axes,ze,Br,Or),ce.onrender&&ce.onrender(),F.bindFramebuffer(F.FRAMEBUFFER,null),F.viewport(0,0,Br,Or),ce.clearRGBA(),F.depthMask(!0),F.colorMask(!0,!0,!0,!0),F.enable(F.DEPTH_TEST),F.depthFunc(F.LEQUAL),F.disable(F.BLEND),F.disable(F.CULL_FACE);var Nr=!1;re.enable&&(Nr=Nr||re.isTransparent(),re.draw(ze)),_e.axes=re,V.object&&_e.draw(ze),F.disable(F.CULL_FACE);for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.axes=re,bt.pixelRatio=ce.pixelRatio,bt.isOpaque&&bt.isOpaque()&&bt.draw(ze),bt.isTransparent&&bt.isTransparent()&&(Nr=!0)}if(Nr){H.shape=me,H.bind(),F.clear(F.DEPTH_BUFFER_BIT),F.colorMask(!1,!1,!1,!1),F.depthMask(!0),F.depthFunc(F.LESS),re.enable&&re.isTransparent()&&re.drawTransparent(ze);for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.isOpaque&&bt.isOpaque()&&bt.draw(ze)}F.enable(F.BLEND),F.blendEquation(F.FUNC_ADD),F.blendFunc(F.ONE,F.ONE_MINUS_SRC_ALPHA),F.colorMask(!0,!0,!0,!0),F.depthMask(!1),F.clearColor(0,0,0,0),F.clear(F.COLOR_BUFFER_BIT),re.isTransparent()&&re.drawTransparent(ze);for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.isTransparent&&bt.isTransparent()&&bt.drawTransparent(ze)}F.bindFramebuffer(F.FRAMEBUFFER,null),F.blendFunc(F.ONE,F.ONE_MINUS_SRC_ALPHA),F.disable(F.DEPTH_TEST),X.bind(),H.color[0].bind(0),X.uniforms.accumBuffer=0,d(F),F.disable(F.BLEND)}Te=!1;for(var xt=0;xt<xr;++xt)Me[xt].dirty=!1}}}function Ct(){ce._stopped||ce.contextLost||(kt(),requestAnimationFrame(Ct))}return ce.enableMouseListeners(),Ct(),ce.redraw=function(){ce._stopped||(Te=!0,kt())},ce}function M(g,P){var T=g.bounds,F=g.cameraParams,q=F.projection,V=F.model,H=g.gl.drawingBufferWidth,X=g.gl.drawingBufferHeight,G=g.zNear,N=g.zFar,W=g.fovy,re=H/X;P?(b(q,-re,re,-1,1,G,N),F._ortho=!0):(x(q,W,re,G,N),F._ortho=!1);for(var ae=0;ae<16;++ae)V[ae]=0;V[15]=1;for(var _e=0,ae=0;ae<3;++ae)_e=Math.max(_e,T[1][ae]-T[0][ae]);for(var ae=0;ae<3;++ae)g.autoScale?V[5*ae]=g.aspect[ae]/(T[1][ae]-T[0][ae]):V[5*ae]=1/_e,g.autoCenter&&(V[12+ae]=-V[5*ae]*.5*(T[0][ae]+T[1][ae]))}},783:function(i){i.exports=a;function a(o,s,l,u){var c=s[0],f=s[1],h=s[2],d=s[3],v=l[0],x=l[1],b=l[2],p=l[3],E,k,A,L,_;return k=c*v+f*x+h*b+d*p,k<0&&(k=-k,v=-v,x=-x,b=-b,p=-p),1-k>1e-6?(E=Math.acos(k),A=Math.sin(E),L=Math.sin((1-u)*E)/A,_=Math.sin(u*E)/A):(L=1-u,_=u),o[0]=L*c+_*v,o[1]=L*f+_*x,o[2]=L*h+_*b,o[3]=L*d+_*p,o}},5964:function(i){\"use strict\";i.exports=function(a){return!a&&a!==0?\"\":a.toString()}},9366:function(i,a,o){\"use strict\";var s=o(4359);i.exports=u;var l={};function u(c,f,h){var d=[f.style,f.weight,f.variant,f.family].join(\"_\"),v=l[d];if(v||(v=l[d]={}),c in v)return v[c];var x={textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:f.family,fontStyle:f.style,fontWeight:f.weight,fontVariant:f.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}};x.triangles=!0;var b=s(c,x);x.triangles=!1;var p=s(c,x),E,k;if(h&&h!==1){for(E=0;E<b.positions.length;++E)for(k=0;k<b.positions[E].length;++k)b.positions[E][k]/=h;for(E=0;E<p.positions.length;++E)for(k=0;k<p.positions[E].length;++k)p.positions[E][k]/=h}var A=[[1/0,1/0],[-1/0,-1/0]],L=p.positions.length;for(E=0;E<L;++E){var _=p.positions[E];for(k=0;k<2;++k)A[0][k]=Math.min(A[0][k],_[k]),A[1][k]=Math.max(A[1][k],_[k])}return v[c]=[b,p,A]}},1283:function(i,a,o){var s=o(9405),l=o(3236),u=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 glyph;\n", - "attribute vec4 id;\n", - "\n", - "uniform vec4 highlightId;\n", - "uniform float highlightScale;\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 clipBounds[2];\n", - "\n", - "varying vec4 interpColor;\n", - "varying vec4 pickId;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void 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", - "}`]),c=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 glyph;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec2 screenSize;\n", - "uniform vec3 clipBounds[2];\n", - "uniform float highlightScale, pixelRatio;\n", - "uniform vec4 highlightId;\n", - "\n", - "varying vec4 interpColor;\n", - "varying vec4 pickId;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void 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", - "}`]),f=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 glyph;\n", - "attribute vec4 id;\n", - "\n", - "uniform float highlightScale;\n", - "uniform vec4 highlightId;\n", - "uniform vec3 axes[2];\n", - "uniform mat4 model, view, projection;\n", - "uniform vec2 screenSize;\n", - "uniform vec3 clipBounds[2];\n", - "uniform float scale, pixelRatio;\n", - "\n", - "varying vec4 interpColor;\n", - "varying vec4 pickId;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void 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", - "`]),h=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 fragClipBounds[2];\n", - "uniform float opacity;\n", - "\n", - "varying vec4 interpColor;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void main() {\n", - " if (\n", - " outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n", - " interpColor.a * opacity == 0.\n", - " ) discard;\n", - " gl_FragColor = interpColor * opacity;\n", - "}\n", - "`]),d=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 fragClipBounds[2];\n", - "uniform float pickGroup;\n", - "\n", - "varying vec4 pickId;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void main() {\n", - " if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n", - "\n", - " gl_FragColor = vec4(pickGroup, pickId.bgr);\n", - "}`]),v=[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"glyph\",type:\"vec2\"},{name:\"id\",type:\"vec4\"}],x={vertex:u,fragment:h,attributes:v},b={vertex:c,fragment:h,attributes:v},p={vertex:f,fragment:h,attributes:v},E={vertex:u,fragment:d,attributes:v},k={vertex:c,fragment:d,attributes:v},A={vertex:f,fragment:d,attributes:v};function L(_,C){var M=s(_,C),g=M.attributes;return g.position.location=0,g.color.location=1,g.glyph.location=2,g.id.location=3,M}a.createPerspective=function(_){return L(_,x)},a.createOrtho=function(_){return L(_,b)},a.createProject=function(_){return L(_,p)},a.createPickPerspective=function(_){return L(_,E)},a.createPickOrtho=function(_){return L(_,k)},a.createPickProject=function(_){return L(_,A)}},8418:function(i,a,o){\"use strict\";var s=o(5219),l=o(2762),u=o(8116),c=o(1888),f=o(6760),h=o(1283),d=o(9366),v=o(5964),x=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],b=ArrayBuffer,p=DataView;function E(Ae){return b.isView(Ae)&&!(Ae instanceof p)}function k(Ae){return Array.isArray(Ae)||E(Ae)}i.exports=Ee;function A(Ae,ze){var Ce=Ae[0],me=Ae[1],Re=Ae[2],ce=Ae[3];return Ae[0]=ze[0]*Ce+ze[4]*me+ze[8]*Re+ze[12]*ce,Ae[1]=ze[1]*Ce+ze[5]*me+ze[9]*Re+ze[13]*ce,Ae[2]=ze[2]*Ce+ze[6]*me+ze[10]*Re+ze[14]*ce,Ae[3]=ze[3]*Ce+ze[7]*me+ze[11]*Re+ze[15]*ce,Ae}function L(Ae,ze,Ce,me){return A(me,me,Ce),A(me,me,ze),A(me,me,Ae)}function _(Ae,ze){this.index=Ae,this.dataCoordinate=this.position=ze}function C(Ae){return Ae===!0||Ae>1?1:Ae}function M(Ae,ze,Ce,me,Re,ce,Ge,nt,ct,qt,rt,ot){this.gl=Ae,this.pixelRatio=1,this.shader=ze,this.orthoShader=Ce,this.projectShader=me,this.pointBuffer=Re,this.colorBuffer=ce,this.glyphBuffer=Ge,this.idBuffer=nt,this.vao=ct,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[.6666666666666666,.6666666666666666,.6666666666666666],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=qt,this.pickOrthoShader=rt,this.pickProjectShader=ot,this.points=[],this._selectResult=new _(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}var g=M.prototype;g.pickSlots=1,g.setPickBase=function(Ae){this.pickId=Ae},g.isTransparent=function(){if(this.hasAlpha)return!0;for(var Ae=0;Ae<3;++Ae)if(this.axesProject[Ae]&&this.projectHasAlpha)return!0;return!1},g.isOpaque=function(){if(!this.hasAlpha)return!0;for(var Ae=0;Ae<3;++Ae)if(this.axesProject[Ae]&&!this.projectHasAlpha)return!0;return!1};var P=[0,0],T=[0,0,0],F=[0,0,0],q=[0,0,0,1],V=[0,0,0,1],H=x.slice(),X=[0,0,0],G=[[0,0,0],[0,0,0]];function N(Ae){return Ae[0]=Ae[1]=Ae[2]=0,Ae}function W(Ae,ze){return Ae[0]=ze[0],Ae[1]=ze[1],Ae[2]=ze[2],Ae[3]=1,Ae}function re(Ae,ze,Ce,me){return Ae[0]=ze[0],Ae[1]=ze[1],Ae[2]=ze[2],Ae[Ce]=me,Ae}function ae(Ae){for(var ze=G,Ce=0;Ce<2;++Ce)for(var me=0;me<3;++me)ze[Ce][me]=Math.max(Math.min(Ae[Ce][me],1e8),-1e8);return ze}function _e(Ae,ze,Ce,me){var Re=ze.axesProject,ce=ze.gl,Ge=Ae.uniforms,nt=Ce.model||x,ct=Ce.view||x,qt=Ce.projection||x,rt=ze.axesBounds,ot=ae(ze.clipBounds),Rt;ze.axes&&ze.axes.lastCubeProps?Rt=ze.axes.lastCubeProps.axis:Rt=[1,1,1],P[0]=2/ce.drawingBufferWidth,P[1]=2/ce.drawingBufferHeight,Ae.bind(),Ge.view=ct,Ge.projection=qt,Ge.screenSize=P,Ge.highlightId=ze.highlightId,Ge.highlightScale=ze.highlightScale,Ge.clipBounds=ot,Ge.pickGroup=ze.pickId/255,Ge.pixelRatio=me;for(var kt=0;kt<3;++kt)if(Re[kt]){Ge.scale=ze.projectScale[kt],Ge.opacity=ze.projectOpacity[kt];for(var Ct=H,Yt=0;Yt<16;++Yt)Ct[Yt]=0;for(var Yt=0;Yt<4;++Yt)Ct[5*Yt]=1;Ct[5*kt]=0,Rt[kt]<0?Ct[12+kt]=rt[0][kt]:Ct[12+kt]=rt[1][kt],f(Ct,nt,Ct),Ge.model=Ct;var xr=(kt+1)%3,er=(kt+2)%3,Ke=N(T),xt=N(F);Ke[xr]=1,xt[er]=1;var bt=L(qt,ct,nt,W(q,Ke)),Lt=L(qt,ct,nt,W(V,xt));if(Math.abs(bt[1])>Math.abs(Lt[1])){var St=bt;bt=Lt,Lt=St,St=Ke,Ke=xt,xt=St;var Et=xr;xr=er,er=Et}bt[0]<0&&(Ke[xr]=-1),Lt[1]>0&&(xt[er]=-1);for(var dt=0,Ht=0,Yt=0;Yt<4;++Yt)dt+=Math.pow(nt[4*xr+Yt],2),Ht+=Math.pow(nt[4*er+Yt],2);Ke[xr]/=Math.sqrt(dt),xt[er]/=Math.sqrt(Ht),Ge.axes[0]=Ke,Ge.axes[1]=xt,Ge.fragClipBounds[0]=re(X,ot[0],kt,-1e8),Ge.fragClipBounds[1]=re(X,ot[1],kt,1e8),ze.vao.bind(),ze.vao.draw(ce.TRIANGLES,ze.vertexCount),ze.lineWidth>0&&(ce.lineWidth(ze.lineWidth*me),ze.vao.draw(ce.LINES,ze.lineVertexCount,ze.vertexCount)),ze.vao.unbind()}}var Me=[-1e8,-1e8,-1e8],ke=[1e8,1e8,1e8],ge=[Me,ke];function ie(Ae,ze,Ce,me,Re,ce,Ge){var nt=Ce.gl;if((ce===Ce.projectHasAlpha||Ge)&&_e(ze,Ce,me,Re),ce===Ce.hasAlpha||Ge){Ae.bind();var ct=Ae.uniforms;ct.model=me.model||x,ct.view=me.view||x,ct.projection=me.projection||x,P[0]=2/nt.drawingBufferWidth,P[1]=2/nt.drawingBufferHeight,ct.screenSize=P,ct.highlightId=Ce.highlightId,ct.highlightScale=Ce.highlightScale,ct.fragClipBounds=ge,ct.clipBounds=Ce.axes.bounds,ct.opacity=Ce.opacity,ct.pickGroup=Ce.pickId/255,ct.pixelRatio=Re,Ce.vao.bind(),Ce.vao.draw(nt.TRIANGLES,Ce.vertexCount),Ce.lineWidth>0&&(nt.lineWidth(Ce.lineWidth*Re),Ce.vao.draw(nt.LINES,Ce.lineVertexCount,Ce.vertexCount)),Ce.vao.unbind()}}g.draw=function(Ae){var ze=this.useOrtho?this.orthoShader:this.shader;ie(ze,this.projectShader,this,Ae,this.pixelRatio,!1,!1)},g.drawTransparent=function(Ae){var ze=this.useOrtho?this.orthoShader:this.shader;ie(ze,this.projectShader,this,Ae,this.pixelRatio,!0,!1)},g.drawPick=function(Ae){var ze=this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader;ie(ze,this.pickProjectShader,this,Ae,1,!0,!0)},g.pick=function(Ae){if(!Ae||Ae.id!==this.pickId)return null;var ze=Ae.value[2]+(Ae.value[1]<<8)+(Ae.value[0]<<16);if(ze>=this.pointCount||ze<0)return null;var Ce=this.points[ze],me=this._selectResult;me.index=ze;for(var Re=0;Re<3;++Re)me.position[Re]=me.dataCoordinate[Re]=Ce[Re];return me},g.highlight=function(Ae){if(!Ae)this.highlightId=[1,1,1,1];else{var ze=Ae.index,Ce=ze&255,me=ze>>8&255,Re=ze>>16&255;this.highlightId=[Ce/255,me/255,Re/255,0]}};function Te(Ae,ze,Ce,me){var Re;k(Ae)?ze<Ae.length?Re=Ae[ze]:Re=void 0:Re=Ae,Re=v(Re);var ce=!0;s(Re)&&(Re=\"\\u25BC\",ce=!1),Ce||(Ce={});var Ge=Ce.family;k(Ge)&&(Ge=Ge[ze]),Ge||(Ge=\"normal\");var nt=Ce.weight;k(nt)&&(nt=nt[ze]),nt||(nt=\"normal\");var ct=Ce.style;k(ct)&&(ct=ct[ze]),ct||(ct=\"normal\");var qt=Ce.variant;k(qt)&&(qt=qt[ze]),qt||(qt=\"normal\");var rt=d(Re,{family:Ge,weight:nt,style:ct,variant:qt},me),rt=d(Re,Ce,me);return{mesh:rt[0],lines:rt[1],bounds:rt[2],visible:ce}}g.update=function(Ae){if(Ae=Ae||{},\"perspective\"in Ae&&(this.useOrtho=!Ae.perspective),\"orthographic\"in Ae&&(this.useOrtho=!!Ae.orthographic),\"lineWidth\"in Ae&&(this.lineWidth=Ae.lineWidth),\"project\"in Ae)if(k(Ae.project))this.axesProject=Ae.project;else{var ze=!!Ae.project;this.axesProject=[ze,ze,ze]}if(\"projectScale\"in Ae)if(k(Ae.projectScale))this.projectScale=Ae.projectScale.slice();else{var Ce=+Ae.projectScale;this.projectScale=[Ce,Ce,Ce]}if(this.projectHasAlpha=!1,\"projectOpacity\"in Ae){if(k(Ae.projectOpacity))this.projectOpacity=Ae.projectOpacity.slice();else{var Ce=+Ae.projectOpacity;this.projectOpacity=[Ce,Ce,Ce]}for(var me=0;me<3;++me)this.projectOpacity[me]=C(this.projectOpacity[me]),this.projectOpacity[me]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,\"opacity\"in Ae&&(this.opacity=C(Ae.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var Re=Ae.position,ce={family:Ae.font||\"normal\",style:Ae.fontStyle||\"normal\",weight:Ae.fontWeight||\"normal\",variant:Ae.fontVariant||\"normal\"},Ge=Ae.alignment||[0,0],nt,ct;if(Ge.length===2)nt=Ge[0],ct=Ge[1];else{nt=[],ct=[];for(var me=0;me<Ge.length;++me)nt[me]=Ge[me][0],ct[me]=Ge[me][1]}var qt=[1/0,1/0,1/0],rt=[-1/0,-1/0,-1/0],ot=Ae.glyph,Rt=Ae.color,kt=Ae.size,Ct=Ae.angle,Yt=Ae.lineColor,xr=-1,er=0,Ke=0,xt=0;if(Re.length){xt=Re.length;e:for(var me=0;me<xt;++me){for(var bt=Re[me],Lt=0;Lt<3;++Lt)if(isNaN(bt[Lt])||!isFinite(bt[Lt]))continue e;var St=Te(ot,me,ce,this.pixelRatio),Et=St.mesh,dt=St.lines,Ht=St.bounds;er+=Et.cells.length*3,Ke+=dt.edges.length*2}}var $t=er+Ke,fr=c.mallocFloat(3*$t),_r=c.mallocFloat(4*$t),Br=c.mallocFloat(2*$t),Or=c.mallocUint32($t);if($t>0){var Nr=0,ut=er,Ne=[0,0,0,1],Ye=[0,0,0,1],Ve=k(Rt)&&k(Rt[0]),Xe=k(Yt)&&k(Yt[0]);e:for(var me=0;me<xt;++me){xr+=1;for(var bt=Re[me],Lt=0;Lt<3;++Lt){if(isNaN(bt[Lt])||!isFinite(bt[Lt]))continue e;rt[Lt]=Math.max(rt[Lt],bt[Lt]),qt[Lt]=Math.min(qt[Lt],bt[Lt])}var St=Te(ot,me,ce,this.pixelRatio),Et=St.mesh,dt=St.lines,Ht=St.bounds,ht=St.visible;if(!ht)Ne=[1,1,1,0];else if(k(Rt)){var Le;if(Ve?me<Rt.length?Le=Rt[me]:Le=[0,0,0,0]:Le=Rt,Le.length===3){for(var Lt=0;Lt<3;++Lt)Ne[Lt]=Le[Lt];Ne[3]=1}else if(Le.length===4){for(var Lt=0;Lt<4;++Lt)Ne[Lt]=Le[Lt];!this.hasAlpha&&Le[3]<1&&(this.hasAlpha=!0)}}else Ne[0]=Ne[1]=Ne[2]=0,Ne[3]=1;if(!ht)Ye=[1,1,1,0];else if(k(Yt)){var Le;if(Xe?me<Yt.length?Le=Yt[me]:Le=[0,0,0,0]:Le=Yt,Le.length===3){for(var Lt=0;Lt<3;++Lt)Ye[Lt]=Le[Lt];Ye[Lt]=1}else if(Le.length===4){for(var Lt=0;Lt<4;++Lt)Ye[Lt]=Le[Lt];!this.hasAlpha&&Le[3]<1&&(this.hasAlpha=!0)}}else Ye[0]=Ye[1]=Ye[2]=0,Ye[3]=1;var xe=.5;ht?k(kt)?me<kt.length?xe=+kt[me]:xe=12:kt?xe=+kt:this.useOrtho&&(xe=12):xe=0;var Se=0;k(Ct)?me<Ct.length?Se=+Ct[me]:Se=0:Ct&&(Se=+Ct);for(var lt=Math.cos(Se),Gt=Math.sin(Se),bt=Re[me],Lt=0;Lt<3;++Lt)rt[Lt]=Math.max(rt[Lt],bt[Lt]),qt[Lt]=Math.min(qt[Lt],bt[Lt]);var Vt=nt,ar=ct,Vt=0;k(nt)?me<nt.length?Vt=nt[me]:Vt=0:nt&&(Vt=nt);var ar=0;k(ct)?me<ct.length?ar=ct[me]:ar=0:ct&&(ar=ct),Vt*=Vt>0?1-Ht[0][0]:Vt<0?1+Ht[1][0]:1,ar*=ar>0?1-Ht[0][1]:ar<0?1+Ht[1][1]:1;for(var Qr=[Vt,ar],nn=Et.cells||[],Wi=Et.positions||[],Lt=0;Lt<nn.length;++Lt)for(var ai=nn[Lt],jr=0;jr<3;++jr){for(var ri=0;ri<3;++ri)fr[3*Nr+ri]=bt[ri];for(var ri=0;ri<4;++ri)_r[4*Nr+ri]=Ne[ri];Or[Nr]=xr;var bi=Wi[ai[jr]];Br[2*Nr]=xe*(lt*bi[0]-Gt*bi[1]+Qr[0]),Br[2*Nr+1]=xe*(Gt*bi[0]+lt*bi[1]+Qr[1]),Nr+=1}for(var nn=dt.edges,Wi=dt.positions,Lt=0;Lt<nn.length;++Lt)for(var ai=nn[Lt],jr=0;jr<2;++jr){for(var ri=0;ri<3;++ri)fr[3*ut+ri]=bt[ri];for(var ri=0;ri<4;++ri)_r[4*ut+ri]=Ye[ri];Or[ut]=xr;var bi=Wi[ai[jr]];Br[2*ut]=xe*(lt*bi[0]-Gt*bi[1]+Qr[0]),Br[2*ut+1]=xe*(Gt*bi[0]+lt*bi[1]+Qr[1]),ut+=1}}}this.bounds=[qt,rt],this.points=Re,this.pointCount=Re.length,this.vertexCount=er,this.lineVertexCount=Ke,this.pointBuffer.update(fr),this.colorBuffer.update(_r),this.glyphBuffer.update(Br),this.idBuffer.update(Or),c.free(fr),c.free(_r),c.free(Br),c.free(Or)},g.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()};function Ee(Ae){var ze=Ae.gl,Ce=h.createPerspective(ze),me=h.createOrtho(ze),Re=h.createProject(ze),ce=h.createPickPerspective(ze),Ge=h.createPickOrtho(ze),nt=h.createPickProject(ze),ct=l(ze),qt=l(ze),rt=l(ze),ot=l(ze),Rt=u(ze,[{buffer:ct,size:3,type:ze.FLOAT},{buffer:qt,size:4,type:ze.FLOAT},{buffer:rt,size:2,type:ze.FLOAT},{buffer:ot,size:4,type:ze.UNSIGNED_BYTE,normalized:!0}]),kt=new M(ze,Ce,me,Re,ct,qt,rt,ot,Rt,ce,Ge,nt);return kt.update(Ae),kt}},3589:function(i,a,o){\"use strict\";i.exports=x;var s=o(2260),l=o(1888),u=o(9618),c=o(8828).nextPow2,f=function(b,p,E){for(var k=1e8,A=-1,L=-1,_=b.shape[0],C=b.shape[1],M=0;M<_;M++)for(var g=0;g<C;g++){var P=b.get(M,g,0),T=b.get(M,g,1),F=b.get(M,g,2),q=b.get(M,g,3);if(P<255||T<255||F<255||q<255){var V=p-M,H=E-g,X=V*V+H*H;X<k&&(k=X,A=M,L=g)}}return[A,L,k]};function h(b,p,E,k,A){this.coord=[b,p],this.id=E,this.value=k,this.distance=A}function d(b,p,E){this.gl=b,this.fbo=p,this.buffer=E,this._readTimeout=null;var k=this;this._readCallback=function(){k.gl&&(p.bind(),b.readPixels(0,0,p.shape[0],p.shape[1],b.RGBA,b.UNSIGNED_BYTE,k.buffer),k._readTimeout=null)}}var v=d.prototype;Object.defineProperty(v,\"shape\",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(b){if(this.gl){this.fbo.shape=b;var p=this.fbo.shape[0],E=this.fbo.shape[1];if(E*p*4>this.buffer.length){l.free(this.buffer);for(var k=this.buffer=l.mallocUint8(c(E*p*4)),A=0;A<E*p*4;++A)k[A]=255}return b}}}),v.begin=function(){var b=this.gl,p=this.shape;b&&(this.fbo.bind(),b.clearColor(1,1,1,1),b.clear(b.COLOR_BUFFER_BIT|b.DEPTH_BUFFER_BIT))},v.end=function(){var b=this.gl;b&&(b.bindFramebuffer(b.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},v.query=function(b,p,E){if(!this.gl)return null;var k=this.fbo.shape.slice();b=b|0,p=p|0,typeof E!=\"number\"&&(E=1);var A=Math.min(Math.max(b-E,0),k[0])|0,L=Math.min(Math.max(b+E,0),k[0])|0,_=Math.min(Math.max(p-E,0),k[1])|0,C=Math.min(Math.max(p+E,0),k[1])|0;if(L<=A||C<=_)return null;var M=[L-A,C-_],g=u(this.buffer,[M[0],M[1],4],[4,k[0]*4,1],4*(A+k[0]*_)),P=f(g.hi(M[0],M[1],1),E,E),T=P[0],F=P[1];if(T<0||Math.pow(this.radius,2)<P[2])return null;var q=g.get(T,F,0),V=g.get(T,F,1),H=g.get(T,F,2),X=g.get(T,F,3);return new h(T+A|0,F+_|0,q,[V,H,X],Math.sqrt(P[2]))},v.dispose=function(){this.gl&&(this.fbo.dispose(),l.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))};function x(b,p){var E=p[0],k=p[1],A={},L=s(b,E,k,A),_=l.mallocUint8(E*k*4);return new d(b,L,_)}},9405:function(i,a,o){\"use strict\";var s=o(3327),l=o(8731),u=o(216),c=o(5091),f=o(2145),h=o(8866);function d(p){this.gl=p,this.gl.lastAttribCount=0,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}var v=d.prototype;v.bind=function(){this.program||this._relink();var p,E=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),k=this.gl.lastAttribCount;if(E>k)for(p=k;p<E;p++)this.gl.enableVertexAttribArray(p);else if(k>E)for(p=E;p<k;p++)this.gl.disableVertexAttribArray(p);this.gl.lastAttribCount=E,this.gl.useProgram(this.program)},v.dispose=function(){for(var p=this.gl.lastAttribCount,E=0;E<p;E++)this.gl.disableVertexAttribArray(E);this.gl.lastAttribCount=0,this._fref&&this._fref.dispose(),this._vref&&this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null};function x(p,E){return p.name<E.name?-1:1}v.update=function(p,E,k,A){if(!E||arguments.length===1){var L=p;p=L.vertex,E=L.fragment,k=L.uniforms,A=L.attributes}var _=this,C=_.gl,M=_._vref;_._vref=c.shader(C,C.VERTEX_SHADER,p),M&&M.dispose(),_.vertShader=_._vref.shader;var g=this._fref;if(_._fref=c.shader(C,C.FRAGMENT_SHADER,E),g&&g.dispose(),_.fragShader=_._fref.shader,!k||!A){var P=C.createProgram();if(C.attachShader(P,_.fragShader),C.attachShader(P,_.vertShader),C.linkProgram(P),!C.getProgramParameter(P,C.LINK_STATUS)){var T=C.getProgramInfoLog(P);throw new h(T,\"Error linking program:\"+T)}k=k||f.uniforms(C,P),A=A||f.attributes(C,P),C.deleteProgram(P)}A=A.slice(),A.sort(x);var F=[],q=[],V=[],H;for(H=0;H<A.length;++H){var X=A[H];if(X.type.indexOf(\"mat\")>=0){for(var G=X.type.charAt(X.type.length-1)|0,N=new Array(G),W=0;W<G;++W)N[W]=V.length,q.push(X.name+\"[\"+W+\"]\"),typeof X.location==\"number\"?V.push(X.location+W):Array.isArray(X.location)&&X.location.length===G&&typeof X.location[W]==\"number\"?V.push(X.location[W]|0):V.push(-1);F.push({name:X.name,type:X.type,locations:N})}else F.push({name:X.name,type:X.type,locations:[V.length]}),q.push(X.name),typeof X.location==\"number\"?V.push(X.location|0):V.push(-1)}var re=0;for(H=0;H<V.length;++H)if(V[H]<0){for(;V.indexOf(re)>=0;)re+=1;V[H]=re}var ae=new Array(k.length);function _e(){_.program=c.program(C,_._vref,_._fref,q,V);for(var Me=0;Me<k.length;++Me)ae[Me]=C.getUniformLocation(_.program,k[Me].name)}_e(),_._relink=_e,_.types={uniforms:u(k),attributes:u(A)},_.attributes=l(C,_,F,V),Object.defineProperty(_,\"uniforms\",s(C,_,k,ae))};function b(p,E,k,A,L){var _=new d(p);return _.update(E,k,A,L),_}i.exports=b},8866:function(i){function a(o,s,l){this.shortMessage=s||\"\",this.longMessage=l||\"\",this.rawError=o||\"\",this.message=\"gl-shader: \"+(s||o||\"\")+(l?`\n", - "`+l:\"\"),this.stack=new Error().stack}a.prototype=new Error,a.prototype.name=\"GLError\",a.prototype.constructor=a,i.exports=a},8731:function(i,a,o){\"use strict\";i.exports=d;var s=o(8866);function l(v,x,b,p,E,k){this._gl=v,this._wrapper=x,this._index=b,this._locations=p,this._dimension=E,this._constFunc=k}var u=l.prototype;u.pointer=function(x,b,p,E){var k=this,A=k._gl,L=k._locations[k._index];A.vertexAttribPointer(L,k._dimension,x||A.FLOAT,!!b,p||0,E||0),A.enableVertexAttribArray(L)},u.set=function(v,x,b,p){return this._constFunc(this._locations[this._index],v,x,b,p)},Object.defineProperty(u,\"location\",{get:function(){return this._locations[this._index]},set:function(v){return v!==this._locations[this._index]&&(this._locations[this._index]=v|0,this._wrapper.program=null),v|0}});var c=[function(v,x,b){return b.length===void 0?v.vertexAttrib1f(x,b):v.vertexAttrib1fv(x,b)},function(v,x,b,p){return b.length===void 0?v.vertexAttrib2f(x,b,p):v.vertexAttrib2fv(x,b)},function(v,x,b,p,E){return b.length===void 0?v.vertexAttrib3f(x,b,p,E):v.vertexAttrib3fv(x,b)},function(v,x,b,p,E,k){return b.length===void 0?v.vertexAttrib4f(x,b,p,E,k):v.vertexAttrib4fv(x,b)}];function f(v,x,b,p,E,k,A){var L=c[E],_=new l(v,x,b,p,E,L);Object.defineProperty(k,A,{set:function(C){return v.disableVertexAttribArray(p[b]),L(v,p[b],C),C},get:function(){return _},enumerable:!0})}function h(v,x,b,p,E,k,A){for(var L=new Array(E),_=new Array(E),C=0;C<E;++C)f(v,x,b[C],p,E,L,C),_[C]=L[C];Object.defineProperty(L,\"location\",{set:function(P){if(Array.isArray(P))for(var T=0;T<E;++T)_[T].location=P[T];else for(var T=0;T<E;++T)_[T].location=P+T;return P},get:function(){for(var P=new Array(E),T=0;T<E;++T)P[T]=p[b[T]];return P},enumerable:!0}),L.pointer=function(P,T,F,q){P=P||v.FLOAT,T=!!T,F=F||E*E,q=q||0;for(var V=0;V<E;++V){var H=p[b[V]];v.vertexAttribPointer(H,E,P,T,F,q+V*E),v.enableVertexAttribArray(H)}};var M=new Array(E),g=v[\"vertexAttrib\"+E+\"fv\"];Object.defineProperty(k,A,{set:function(P){for(var T=0;T<E;++T){var F=p[b[T]];if(v.disableVertexAttribArray(F),Array.isArray(P[0]))g.call(v,F,P[T]);else{for(var q=0;q<E;++q)M[q]=P[E*T+q];g.call(v,F,M)}}return P},get:function(){return L},enumerable:!0})}function d(v,x,b,p){for(var E={},k=0,A=b.length;k<A;++k){var L=b[k],_=L.name,C=L.type,M=L.locations;switch(C){case\"bool\":case\"int\":case\"float\":f(v,x,M[0],p,1,E,_);break;default:if(C.indexOf(\"vec\")>=0){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new s(\"\",\"Invalid data type for attribute \"+_+\": \"+C);f(v,x,M[0],p,g,E,_)}else if(C.indexOf(\"mat\")>=0){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new s(\"\",\"Invalid data type for attribute \"+_+\": \"+C);h(v,x,M,p,g,E,_)}else throw new s(\"\",\"Unknown data type for attribute \"+_+\": \"+C);break}}return E}},3327:function(i,a,o){\"use strict\";var s=o(216),l=o(8866);i.exports=f;function u(h){return function(){return h}}function c(h,d){for(var v=new Array(h),x=0;x<h;++x)v[x]=d;return v}function f(h,d,v,x){function b(C){return function(M,g,P){return M.getUniform(g.program,P[C])}}function p(C){return function(g){for(var P=E(\"\",C),T=0;T<P.length;++T){var F=P[T],q=F[0],V=F[1];if(x[V]){var H=g;if(typeof q==\"string\"&&(q.indexOf(\".\")===0||q.indexOf(\"[\")===0)){var X=q;if(q.indexOf(\".\")===0&&(X=q.slice(1)),X.indexOf(\"]\")===X.length-1){var G=X.indexOf(\"[\"),N=X.slice(0,G),W=X.slice(G+1,X.length-1);H=N?g[N][W]:g[W]}else H=g[X]}var re=v[V].type,ae;switch(re){case\"bool\":case\"int\":case\"sampler2D\":case\"samplerCube\":h.uniform1i(x[V],H);break;case\"float\":h.uniform1f(x[V],H);break;default:var _e=re.indexOf(\"vec\");if(0<=_e&&_e<=1&&re.length===4+_e){if(ae=re.charCodeAt(re.length-1)-48,ae<2||ae>4)throw new l(\"\",\"Invalid data type\");switch(re.charAt(0)){case\"b\":case\"i\":h[\"uniform\"+ae+\"iv\"](x[V],H);break;case\"v\":h[\"uniform\"+ae+\"fv\"](x[V],H);break;default:throw new l(\"\",\"Unrecognized data type for vector \"+name+\": \"+re)}}else if(re.indexOf(\"mat\")===0&&re.length===4){if(ae=re.charCodeAt(re.length-1)-48,ae<2||ae>4)throw new l(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+re);h[\"uniformMatrix\"+ae+\"fv\"](x[V],!1,H);break}else throw new l(\"\",\"Unknown uniform data type for \"+name+\": \"+re)}}}}}function E(C,M){if(typeof M!=\"object\")return[[C,M]];var g=[];for(var P in M){var T=M[P],F=C;parseInt(P)+\"\"===P?F+=\"[\"+P+\"]\":F+=\".\"+P,typeof T==\"object\"?g.push.apply(g,E(F,T)):g.push([F,T])}return g}function k(C){switch(C){case\"bool\":return!1;case\"int\":case\"sampler2D\":case\"samplerCube\":return 0;case\"float\":return 0;default:var M=C.indexOf(\"vec\");if(0<=M&&M<=1&&C.length===4+M){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new l(\"\",\"Invalid data type\");return C.charAt(0)===\"b\"?c(g,!1):c(g,0)}else if(C.indexOf(\"mat\")===0&&C.length===4){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new l(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+C);return c(g*g,0)}else throw new l(\"\",\"Unknown uniform data type for \"+name+\": \"+C)}}function A(C,M,g){if(typeof g==\"object\"){var P=L(g);Object.defineProperty(C,M,{get:u(P),set:p(g),enumerable:!0,configurable:!1})}else x[g]?Object.defineProperty(C,M,{get:b(g),set:p(g),enumerable:!0,configurable:!1}):C[M]=k(v[g].type)}function L(C){var M;if(Array.isArray(C)){M=new Array(C.length);for(var g=0;g<C.length;++g)A(M,g,C[g])}else{M={};for(var P in C)A(M,P,C[P])}return M}var _=s(v,!0);return{get:u(L(_)),set:p(_),enumerable:!0,configurable:!0}}},216:function(i){\"use strict\";i.exports=a;function a(o,s){for(var l={},u=0;u<o.length;++u)for(var c=o[u].name,f=c.split(\".\"),h=l,d=0;d<f.length;++d){var v=f[d].split(\"[\");if(v.length>1){v[0]in h||(h[v[0]]=[]),h=h[v[0]];for(var x=1;x<v.length;++x){var b=parseInt(v[x]);x<v.length-1||d<f.length-1?(b in h||(x<v.length-1?h[b]=[]:h[b]={}),h=h[b]):s?h[b]=u:h[b]=o[u].type}}else d<f.length-1?(v[0]in h||(h[v[0]]={}),h=h[v[0]]):s?h[v[0]]=u:h[v[0]]=o[u].type}return l}},2145:function(i,a){\"use strict\";a.uniforms=u,a.attributes=c;var o={FLOAT:\"float\",FLOAT_VEC2:\"vec2\",FLOAT_VEC3:\"vec3\",FLOAT_VEC4:\"vec4\",INT:\"int\",INT_VEC2:\"ivec2\",INT_VEC3:\"ivec3\",INT_VEC4:\"ivec4\",BOOL:\"bool\",BOOL_VEC2:\"bvec2\",BOOL_VEC3:\"bvec3\",BOOL_VEC4:\"bvec4\",FLOAT_MAT2:\"mat2\",FLOAT_MAT3:\"mat3\",FLOAT_MAT4:\"mat4\",SAMPLER_2D:\"sampler2D\",SAMPLER_CUBE:\"samplerCube\"},s=null;function l(f,h){if(!s){var d=Object.keys(o);s={};for(var v=0;v<d.length;++v){var x=d[v];s[f[x]]=o[x]}}return s[h]}function u(f,h){for(var d=f.getProgramParameter(h,f.ACTIVE_UNIFORMS),v=[],x=0;x<d;++x){var b=f.getActiveUniform(h,x);if(b){var p=l(f,b.type);if(b.size>1)for(var E=0;E<b.size;++E)v.push({name:b.name.replace(\"[0]\",\"[\"+E+\"]\"),type:p});else v.push({name:b.name,type:p})}}return v}function c(f,h){for(var d=f.getProgramParameter(h,f.ACTIVE_ATTRIBUTES),v=[],x=0;x<d;++x){var b=f.getActiveAttrib(h,x);b&&v.push({name:b.name,type:l(f,b.type)})}return v}},5091:function(i,a,o){\"use strict\";a.shader=E,a.program=k;var s=o(8866),l=o(2992),u=typeof WeakMap==\"undefined\"?o(606):WeakMap,c=new u,f=0;function h(A,L,_,C,M,g,P){this.id=A,this.src=L,this.type=_,this.shader=C,this.count=g,this.programs=[],this.cache=P}h.prototype.dispose=function(){if(--this.count===0){for(var A=this.cache,L=A.gl,_=this.programs,C=0,M=_.length;C<M;++C){var g=A.programs[_[C]];g&&(delete A.programs[C],L.deleteProgram(g))}L.deleteShader(this.shader),delete A.shaders[this.type===L.FRAGMENT_SHADER|0][this.src]}};function d(A){this.gl=A,this.shaders=[{},{}],this.programs={}}var v=d.prototype;function x(A,L,_){var C=A.createShader(L);if(A.shaderSource(C,_),A.compileShader(C),!A.getShaderParameter(C,A.COMPILE_STATUS)){var M=A.getShaderInfoLog(C);try{var g=l(M,_,L)}catch(P){throw console.warn(\"Failed to format compiler error: \"+P),new s(M,`Error compiling shader:\n", - "`+M)}throw new s(M,g.short,g.long)}return C}v.getShaderReference=function(A,L){var _=this.gl,C=this.shaders[A===_.FRAGMENT_SHADER|0],M=C[L];if(!M||!_.isShader(M.shader)){var g=x(_,A,L);M=C[L]=new h(f++,L,A,g,[],1,this)}else M.count+=1;return M};function b(A,L,_,C,M){var g=A.createProgram();A.attachShader(g,L),A.attachShader(g,_);for(var P=0;P<C.length;++P)A.bindAttribLocation(g,M[P],C[P]);if(A.linkProgram(g),!A.getProgramParameter(g,A.LINK_STATUS)){var T=A.getProgramInfoLog(g);throw new s(T,\"Error linking program: \"+T)}return g}v.getProgram=function(A,L,_,C){var M=[A.id,L.id,_.join(\":\"),C.join(\":\")].join(\"@\"),g=this.programs[M];return(!g||!this.gl.isProgram(g))&&(this.programs[M]=g=b(this.gl,A.shader,L.shader,_,C),A.programs.push(M),L.programs.push(M)),g};function p(A){var L=c.get(A);return L||(L=new d(A),c.set(A,L)),L}function E(A,L,_){return p(A).getShaderReference(L,_)}function k(A,L,_,C,M){return p(A).getProgram(L,_,C,M)}},1493:function(i,a,o){\"use strict\";var s=o(3236),l=o(9405),u=s([`precision mediump float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position, color;\n", - "attribute float weight;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 coordinates[3];\n", - "uniform vec4 colors[3];\n", - "uniform vec2 screenShape;\n", - "uniform float lineWidth;\n", - "\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - " vec3 vertexPosition = mix(coordinates[0],\n", - " mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));\n", - "\n", - " vec4 clipPos = projection * (view * (model * vec4(vertexPosition, 1.0)));\n", - " vec2 clipOffset = (projection * (view * (model * vec4(color, 0.0)))).xy;\n", - " vec2 delta = weight * clipOffset * screenShape;\n", - " vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;\n", - "\n", - " gl_Position = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);\n", - " fragColor = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];\n", - "}\n", - "`]),c=s([`precision mediump float;\n", - "#define GLSLIFY 1\n", - "\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - " gl_FragColor = fragColor;\n", - "}`]);i.exports=function(f){return l(f,u,c,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec3\"},{name:\"weight\",type:\"float\"}])}},4449:function(i,a,o){\"use strict\";var s=o(2762),l=o(8116),u=o(1493);i.exports=b;var c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(p,E,k,A){this.gl=p,this.buffer=E,this.vao=k,this.shader=A,this.pixelRatio=1,this.bounds=[[-1e3,-1e3,-1e3],[1e3,1e3,1e3]],this.position=[0,0,0],this.lineWidth=[2,2,2],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.enabled=[!0,!0,!0],this.drawSides=[!0,!0,!0],this.axes=null}var h=f.prototype,d=[0,0,0],v=[0,0,0],x=[0,0];h.isTransparent=function(){return!1},h.drawTransparent=function(p){},h.draw=function(p){var E=this.gl,k=this.vao,A=this.shader;k.bind(),A.bind();var L=p.model||c,_=p.view||c,C=p.projection||c,M;this.axes&&(M=this.axes.lastCubeProps.axis);for(var g=d,P=v,T=0;T<3;++T)M&&M[T]<0?(g[T]=this.bounds[0][T],P[T]=this.bounds[1][T]):(g[T]=this.bounds[1][T],P[T]=this.bounds[0][T]);x[0]=E.drawingBufferWidth,x[1]=E.drawingBufferHeight,A.uniforms.model=L,A.uniforms.view=_,A.uniforms.projection=C,A.uniforms.coordinates=[this.position,g,P],A.uniforms.colors=this.colors,A.uniforms.screenShape=x;for(var T=0;T<3;++T)A.uniforms.lineWidth=this.lineWidth[T]*this.pixelRatio,this.enabled[T]&&(k.draw(E.TRIANGLES,6,6*T),this.drawSides[T]&&k.draw(E.TRIANGLES,12,18+12*T));k.unbind()},h.update=function(p){p&&(\"bounds\"in p&&(this.bounds=p.bounds),\"position\"in p&&(this.position=p.position),\"lineWidth\"in p&&(this.lineWidth=p.lineWidth),\"colors\"in p&&(this.colors=p.colors),\"enabled\"in p&&(this.enabled=p.enabled),\"drawSides\"in p&&(this.drawSides=p.drawSides))},h.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};function b(p,E){var k=[];function A(g,P,T,F,q,V){var H=[g,P,T,0,0,0,1];H[F+3]=1,H[F]=q,k.push.apply(k,H),H[6]=-1,k.push.apply(k,H),H[F]=V,k.push.apply(k,H),k.push.apply(k,H),H[6]=1,k.push.apply(k,H),H[F]=q,k.push.apply(k,H)}A(0,0,0,0,0,1),A(0,0,0,1,0,1),A(0,0,0,2,0,1),A(1,0,0,1,-1,1),A(1,0,0,2,-1,1),A(0,1,0,0,-1,1),A(0,1,0,2,-1,1),A(0,0,1,0,-1,1),A(0,0,1,1,-1,1);var L=s(p,k),_=l(p,[{type:p.FLOAT,buffer:L,size:3,offset:0,stride:28},{type:p.FLOAT,buffer:L,size:3,offset:12,stride:28},{type:p.FLOAT,buffer:L,size:1,offset:24,stride:28}]),C=u(p);C.attributes.position.location=0,C.attributes.color.location=1,C.attributes.weight.location=2;var M=new f(p,L,_,C);return M.update(E),M}},6740:function(i,a,o){var s=o(3236),l=s([`precision highp float;\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "vec3 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", - "//\n", - "vec3 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", - "\n", - "attribute vec4 vector;\n", - "attribute vec4 color, position;\n", - "attribute vec2 uv;\n", - "\n", - "uniform float vectorScale, tubeScale;\n", - "uniform mat4 model, view, projection, inverseModel;\n", - "uniform vec3 eyePosition, lightPosition;\n", - "\n", - "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),u=s([`#extension GL_OES_standard_derivatives : enable\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "float 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", - "\n", - "float 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", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\n", - "uniform sampler2D texture;\n", - "\n", - "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),c=s([`precision highp float;\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "vec3 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", - "//\n", - "vec3 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", - "\n", - "attribute vec4 vector;\n", - "attribute vec4 position;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform float tubeScale;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void 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", - "`]),f=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float pickId;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n", - "\n", - " gl_FragColor = vec4(pickId, f_id.xyz);\n", - "}`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec4\"}]},a.pickShader={vertex:c,fragment:f,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec4\"}]}},7815:function(i,a,o){\"use strict\";var s=o(2931),l=o(9970),u=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"],c=function(A,L,_,C){for(var M=A.points,g=A.velocities,P=A.divergences,T=[],F=[],q=[],V=[],H=[],X=[],G=0,N=0,W=l.create(),re=l.create(),ae=8,_e=0;_e<M.length;_e++){var Me=M[_e],ke=g[_e],ge=P[_e];L===0&&(ge=_*.05),N=s.length(ke)/C,W=l.create(),s.copy(W,ke),W[3]=ge;for(var ie=0;ie<ae;ie++)H[ie]=[Me[0],Me[1],Me[2],ie];if(V.length>0)for(var ie=0;ie<ae;ie++){var Te=(ie+1)%ae;T.push(V[ie],H[ie],H[Te],H[Te],V[Te],V[ie]),q.push(re,W,W,W,re,re),X.push(G,N,N,N,G,G);var Ee=T.length;F.push([Ee-6,Ee-5,Ee-4],[Ee-3,Ee-2,Ee-1])}var Ae=V;V=H,H=Ae;var ze=re;re=W,W=ze;var Ce=G;G=N,N=Ce}return{positions:T,cells:F,vectors:q,vertexIntensity:X}},f=function(A,L,_,C){for(var M=0,g=0;g<A.length;g++)for(var P=A[g].velocities,T=0;T<P.length;T++)M=Math.max(M,s.length(P[T]));for(var F=A.map(function(_e){return c(_e,_,C,M)}),q=[],V=[],H=[],X=[],g=0;g<F.length;g++){var G=F[g],N=q.length;q=q.concat(G.positions),H=H.concat(G.vectors),X=X.concat(G.vertexIntensity);for(var T=0;T<G.cells.length;T++){var W=G.cells[T],re=[];V.push(re);for(var ae=0;ae<W.length;ae++)re.push(W[ae]+N)}}return{positions:q,cells:V,vectors:H,vertexIntensity:X,colormap:L}},h=function(A,L){var _=A.length,C;for(C=0;C<_;C++){var M=A[C];if(M===L)return C;if(M>L)return C-1}return C},d=function(A,L,_){return A<L?L:A>_?_:A},v=function(A,L,_){var C=L.vectors,M=L.meshgrid,g=A[0],P=A[1],T=A[2],F=M[0].length,q=M[1].length,V=M[2].length,H=h(M[0],g),X=h(M[1],P),G=h(M[2],T),N=H+1,W=X+1,re=G+1;if(H=d(H,0,F-1),N=d(N,0,F-1),X=d(X,0,q-1),W=d(W,0,q-1),G=d(G,0,V-1),re=d(re,0,V-1),H<0||X<0||G<0||N>F-1||W>q-1||re>V-1)return s.create();var ae=M[0][H],_e=M[0][N],Me=M[1][X],ke=M[1][W],ge=M[2][G],ie=M[2][re],Te=(g-ae)/(_e-ae),Ee=(P-Me)/(ke-Me),Ae=(T-ge)/(ie-ge);isFinite(Te)||(Te=.5),isFinite(Ee)||(Ee=.5),isFinite(Ae)||(Ae=.5);var ze,Ce,me,Re,ce,Ge;switch(_.reversedX&&(H=F-1-H,N=F-1-N),_.reversedY&&(X=q-1-X,W=q-1-W),_.reversedZ&&(G=V-1-G,re=V-1-re),_.filled){case 5:ce=G,Ge=re,me=X*V,Re=W*V,ze=H*V*q,Ce=N*V*q;break;case 4:ce=G,Ge=re,ze=H*V,Ce=N*V,me=X*V*F,Re=W*V*F;break;case 3:me=X,Re=W,ce=G*q,Ge=re*q,ze=H*q*V,Ce=N*q*V;break;case 2:me=X,Re=W,ze=H*q,Ce=N*q,ce=G*q*F,Ge=re*q*F;break;case 1:ze=H,Ce=N,ce=G*F,Ge=re*F,me=X*F*V,Re=W*F*V;break;default:ze=H,Ce=N,me=X*F,Re=W*F,ce=G*F*q,Ge=re*F*q;break}var nt=C[ze+me+ce],ct=C[ze+me+Ge],qt=C[ze+Re+ce],rt=C[ze+Re+Ge],ot=C[Ce+me+ce],Rt=C[Ce+me+Ge],kt=C[Ce+Re+ce],Ct=C[Ce+Re+Ge],Yt=s.create(),xr=s.create(),er=s.create(),Ke=s.create();s.lerp(Yt,nt,ot,Te),s.lerp(xr,ct,Rt,Te),s.lerp(er,qt,kt,Te),s.lerp(Ke,rt,Ct,Te);var xt=s.create(),bt=s.create();s.lerp(xt,Yt,er,Ee),s.lerp(bt,xr,Ke,Ee);var Lt=s.create();return s.lerp(Lt,xt,bt,Ae),Lt},x=function(A,L){var _=L[0],C=L[1],M=L[2];return A[0]=_<0?-_:_,A[1]=C<0?-C:C,A[2]=M<0?-M:M,A},b=function(A){var L=1/0;A.sort(function(g,P){return g-P});for(var _=A.length,C=1;C<_;C++){var M=Math.abs(A[C]-A[C-1]);M<L&&(L=M)}return L},p=function(A){for(var L=[],_=[],C=[],M={},g={},P={},T=A.length,F=0;F<T;F++){var q=A[F],V=q[0],H=q[1],X=q[2];M[V]||(L.push(V),M[V]=!0),g[H]||(_.push(H),g[H]=!0),P[X]||(C.push(X),P[X]=!0)}var G=b(L),N=b(_),W=b(C),re=Math.min(G,N,W);return isFinite(re)?re:1};i.exports=function(A,L){var _=A.startingPositions,C=A.maxLength||1e3,M=A.tubeSize||1,g=A.absoluteTubeSize,P=A.gridFill||\"+x+y+z\",T={};P.indexOf(\"-x\")!==-1&&(T.reversedX=!0),P.indexOf(\"-y\")!==-1&&(T.reversedY=!0),P.indexOf(\"-z\")!==-1&&(T.reversedZ=!0),T.filled=u.indexOf(P.replace(/-/g,\"\").replace(/\\+/g,\"\"));var F=A.getVelocity||function(Rt){return v(Rt,A,T)},q=A.getDivergence||function(Rt,kt){var Ct=s.create(),Yt=1e-4;s.add(Ct,Rt,[Yt,0,0]);var xr=F(Ct);s.subtract(xr,xr,kt),s.scale(xr,xr,1/Yt),s.add(Ct,Rt,[0,Yt,0]);var er=F(Ct);s.subtract(er,er,kt),s.scale(er,er,1/Yt),s.add(Ct,Rt,[0,0,Yt]);var Ke=F(Ct);return s.subtract(Ke,Ke,kt),s.scale(Ke,Ke,1/Yt),s.add(Ct,xr,er),s.add(Ct,Ct,Ke),Ct},V=[],H=L[0][0],X=L[0][1],G=L[0][2],N=L[1][0],W=L[1][1],re=L[1][2],ae=function(Rt){var kt=Rt[0],Ct=Rt[1],Yt=Rt[2];return!(kt<H||kt>N||Ct<X||Ct>W||Yt<G||Yt>re)},_e=s.distance(L[0],L[1]),Me=10*_e/C,ke=Me*Me,ge=1,ie=0,Te=_.length;Te>1&&(ge=p(_));for(var Ee=0;Ee<Te;Ee++){var Ae=s.create();s.copy(Ae,_[Ee]);var ze=[Ae],Ce=[],me=F(Ae),Re=Ae;Ce.push(me);var ce=[],Ge=q(Ae,me),nt=s.length(Ge);isFinite(nt)&&nt>ie&&(ie=nt),ce.push(nt),V.push({points:ze,velocities:Ce,divergences:ce});for(var ct=0;ct<C*100&&ze.length<C&&ae(Ae);){ct++;var qt=s.clone(me),rt=s.squaredLength(qt);if(rt===0)break;if(rt>ke&&s.scale(qt,qt,Me/Math.sqrt(rt)),s.add(qt,qt,Ae),me=F(qt),s.squaredDistance(Re,qt)-ke>-1e-4*ke){ze.push(qt),Re=qt,Ce.push(me);var Ge=q(qt,me),nt=s.length(Ge);isFinite(nt)&&nt>ie&&(ie=nt),ce.push(nt)}Ae=qt}}var ot=f(V,A.colormap,ie,ge);return g?ot.tubeScale=g:(ie===0&&(ie=1),ot.tubeScale=M*.5*ge/ie),ot};var E=o(6740),k=o(6405).createMesh;i.exports.createTubeMesh=function(A,L){return k(A,L,{shaders:E,traceType:\"streamtube\"})}},990:function(i,a,o){var s=o(9405),l=o(3236),u=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec4 uv;\n", - "attribute vec3 f;\n", - "attribute vec3 normal;\n", - "\n", - "uniform vec3 objectOffset;\n", - "uniform mat4 model, view, projection, inverseModel;\n", - "uniform vec3 lightPosition, eyePosition;\n", - "uniform sampler2D colormap;\n", - "\n", - "varying float value, kill;\n", - "varying vec3 worldCoordinate;\n", - "varying vec2 planeCoordinate;\n", - "varying vec3 lightDirection, eyeDirection, surfaceNormal;\n", - "varying vec4 vColor;\n", - "\n", - "void main() {\n", - " vec3 localCoordinate = vec3(uv.zw, f.x);\n", - " worldCoordinate = objectOffset + localCoordinate;\n", - " mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0));\n", - " vec4 worldPosition = (model * objectOffsetTranslation) * vec4(localCoordinate, 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", - "`]),c=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "float 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", - "\n", - "float beckmannSpecular(\n", - " vec3 lightDirection,\n", - " vec3 viewDirection,\n", - " vec3 surfaceNormal,\n", - " float roughness) {\n", - " return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n", - "}\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 lowerBound, upperBound;\n", - "uniform float contourTint;\n", - "uniform vec4 contourColor;\n", - "uniform sampler2D colormap;\n", - "uniform vec3 clipBounds[2];\n", - "uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\n", - "uniform float vertexColor;\n", - "\n", - "varying float value, kill;\n", - "varying vec3 worldCoordinate;\n", - "varying vec3 lightDirection, eyeDirection, surfaceNormal;\n", - "varying vec4 vColor;\n", - "\n", - "void 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", - "`]),f=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec4 uv;\n", - "attribute float f;\n", - "\n", - "uniform vec3 objectOffset;\n", - "uniform mat3 permutation;\n", - "uniform mat4 model, view, projection;\n", - "uniform float height, zOffset;\n", - "uniform sampler2D colormap;\n", - "\n", - "varying float value, kill;\n", - "varying vec3 worldCoordinate;\n", - "varying vec2 planeCoordinate;\n", - "varying vec3 lightDirection, eyeDirection, surfaceNormal;\n", - "varying vec4 vColor;\n", - "\n", - "void 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", - "`]),h=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec2 shape;\n", - "uniform vec3 clipBounds[2];\n", - "uniform float pickId;\n", - "\n", - "varying float value, kill;\n", - "varying vec3 worldCoordinate;\n", - "varying vec2 planeCoordinate;\n", - "varying vec3 surfaceNormal;\n", - "\n", - "vec2 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", - "\n", - "void 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", - "`]);a.createShader=function(d){var v=s(d,u,c,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v.attributes.normal.location=2,v},a.createPickShader=function(d){var v=s(d,u,h,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v.attributes.normal.location=2,v},a.createContourShader=function(d){var v=s(d,f,c,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v},a.createPickContourShader=function(d){var v=s(d,f,h,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v}},9499:function(i,a,o){\"use strict\";i.exports=ze;var s=o(8828),l=o(2762),u=o(8116),c=o(7766),f=o(1888),h=o(6729),d=o(5298),v=o(9994),x=o(9618),b=o(3711),p=o(6760),E=o(7608),k=o(2478),A=o(6199),L=o(990),_=L.createShader,C=L.createContourShader,M=L.createPickShader,g=L.createPickContourShader,P=4*10,T=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],F=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],q=[[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(){for(var Ce=0;Ce<3;++Ce){var me=q[Ce],Re=(Ce+1)%3,ce=(Ce+2)%3;me[Re+0]=1,me[ce+3]=1,me[Ce+6]=1}})();function V(Ce,me,Re,ce,Ge){this.position=Ce,this.index=me,this.uv=Re,this.level=ce,this.dataCoordinate=Ge}var H=256;function X(Ce,me,Re,ce,Ge,nt,ct,qt,rt,ot,Rt,kt,Ct,Yt,xr){this.gl=Ce,this.shape=me,this.bounds=Re,this.objectOffset=xr,this.intensityBounds=[],this._shader=ce,this._pickShader=Ge,this._coordinateBuffer=nt,this._vao=ct,this._colorMap=qt,this._contourShader=rt,this._contourPickShader=ot,this._contourBuffer=Rt,this._contourVAO=kt,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new V([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=Ct,this._dynamicVAO=Yt,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=[x(f.mallocFloat(1024),[0,0]),x(f.mallocFloat(1024),[0,0]),x(f.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 G=X.prototype;G.genColormap=function(Ce,me){var Re=!1,ce=v([h({colormap:Ce,nshades:H,format:\"rgba\"}).map(function(Ge,nt){var ct=me?N(nt/255,me):Ge[3];return ct<1&&(Re=!0),[Ge[0],Ge[1],Ge[2],255*ct]})]);return d.divseq(ce,255),this.hasAlphaScale=Re,ce},G.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},G.isOpaque=function(){return!this.isTransparent()},G.pickSlots=1,G.setPickBase=function(Ce){this.pickId=Ce};function N(Ce,me){if(!me||!me.length)return 1;for(var Re=0;Re<me.length;++Re){if(me.length<2)return 1;if(me[Re][0]===Ce)return me[Re][1];if(me[Re][0]>Ce&&Re>0){var ce=(me[Re][0]-Ce)/(me[Re][0]-me[Re-1][0]);return me[Re][1]*(1-ce)+ce*me[Re-1][1]}}return 1}var W=[0,0,0],re={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 ae(Ce,me){var Re,ce,Ge,nt=me.axes&&me.axes.lastCubeProps.axis||W,ct=me.showSurface,qt=me.showContour;for(Re=0;Re<3;++Re)for(ct=ct||me.surfaceProject[Re],ce=0;ce<3;++ce)qt=qt||me.contourProject[Re][ce];for(Re=0;Re<3;++Re){var rt=re.projections[Re];for(ce=0;ce<16;++ce)rt[ce]=0;for(ce=0;ce<4;++ce)rt[5*ce]=1;rt[5*Re]=0,rt[12+Re]=me.axesBounds[+(nt[Re]>0)][Re],p(rt,Ce.model,rt);var ot=re.clipBounds[Re];for(Ge=0;Ge<2;++Ge)for(ce=0;ce<3;++ce)ot[Ge][ce]=Ce.clipBounds[Ge][ce];ot[0][Re]=-1e8,ot[1][Re]=1e8}return re.showSurface=ct,re.showContour=qt,re}var _e={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},Me=T.slice(),ke=[1,0,0,0,1,0,0,0,1];function ge(Ce,me){Ce=Ce||{};var Re=this.gl;Re.disable(Re.CULL_FACE),this._colorMap.bind(0);var ce=_e;ce.model=Ce.model||T,ce.view=Ce.view||T,ce.projection=Ce.projection||T,ce.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],ce.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],ce.objectOffset=this.objectOffset,ce.contourColor=this.contourColor[0],ce.inverseModel=E(ce.inverseModel,ce.model);for(var Ge=0;Ge<2;++Ge)for(var nt=ce.clipBounds[Ge],ct=0;ct<3;++ct)nt[ct]=Math.min(Math.max(this.clipBounds[Ge][ct],-1e8),1e8);ce.kambient=this.ambientLight,ce.kdiffuse=this.diffuseLight,ce.kspecular=this.specularLight,ce.roughness=this.roughness,ce.fresnel=this.fresnel,ce.opacity=this.opacity,ce.height=0,ce.permutation=ke,ce.vertexColor=this.vertexColor;var qt=Me;for(p(qt,ce.view,ce.model),p(qt,ce.projection,qt),E(qt,qt),Ge=0;Ge<3;++Ge)ce.eyePosition[Ge]=qt[12+Ge]/qt[15];var rt=qt[15];for(Ge=0;Ge<3;++Ge)rt+=this.lightPosition[Ge]*qt[4*Ge+3];for(Ge=0;Ge<3;++Ge){var ot=qt[12+Ge];for(ct=0;ct<3;++ct)ot+=qt[4*ct+Ge]*this.lightPosition[ct];ce.lightPosition[Ge]=ot/rt}var Rt=ae(ce,this);if(Rt.showSurface){for(this._shader.bind(),this._shader.uniforms=ce,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(Re.TRIANGLES,this._vertexCount),Ge=0;Ge<3;++Ge)!this.surfaceProject[Ge]||!this.vertexCount||(this._shader.uniforms.model=Rt.projections[Ge],this._shader.uniforms.clipBounds=Rt.clipBounds[Ge],this._vao.draw(Re.TRIANGLES,this._vertexCount));this._vao.unbind()}if(Rt.showContour){var kt=this._contourShader;ce.kambient=1,ce.kdiffuse=0,ce.kspecular=0,ce.opacity=1,kt.bind(),kt.uniforms=ce;var Ct=this._contourVAO;for(Ct.bind(),Ge=0;Ge<3;++Ge)for(kt.uniforms.permutation=q[Ge],Re.lineWidth(this.contourWidth[Ge]*this.pixelRatio),ct=0;ct<this.contourLevels[Ge].length;++ct)ct===this.highlightLevel[Ge]?(kt.uniforms.contourColor=this.highlightColor[Ge],kt.uniforms.contourTint=this.highlightTint[Ge]):(ct===0||ct-1===this.highlightLevel[Ge])&&(kt.uniforms.contourColor=this.contourColor[Ge],kt.uniforms.contourTint=this.contourTint[Ge]),this._contourCounts[Ge][ct]&&(kt.uniforms.height=this.contourLevels[Ge][ct],Ct.draw(Re.LINES,this._contourCounts[Ge][ct],this._contourOffsets[Ge][ct]));for(Ge=0;Ge<3;++Ge)for(kt.uniforms.model=Rt.projections[Ge],kt.uniforms.clipBounds=Rt.clipBounds[Ge],ct=0;ct<3;++ct)if(this.contourProject[Ge][ct]){kt.uniforms.permutation=q[ct],Re.lineWidth(this.contourWidth[ct]*this.pixelRatio);for(var Yt=0;Yt<this.contourLevels[ct].length;++Yt)Yt===this.highlightLevel[ct]?(kt.uniforms.contourColor=this.highlightColor[ct],kt.uniforms.contourTint=this.highlightTint[ct]):(Yt===0||Yt-1===this.highlightLevel[ct])&&(kt.uniforms.contourColor=this.contourColor[ct],kt.uniforms.contourTint=this.contourTint[ct]),this._contourCounts[ct][Yt]&&(kt.uniforms.height=this.contourLevels[ct][Yt],Ct.draw(Re.LINES,this._contourCounts[ct][Yt],this._contourOffsets[ct][Yt]))}for(Ct.unbind(),Ct=this._dynamicVAO,Ct.bind(),Ge=0;Ge<3;++Ge)if(this._dynamicCounts[Ge]!==0)for(kt.uniforms.model=ce.model,kt.uniforms.clipBounds=ce.clipBounds,kt.uniforms.permutation=q[Ge],Re.lineWidth(this.dynamicWidth[Ge]*this.pixelRatio),kt.uniforms.contourColor=this.dynamicColor[Ge],kt.uniforms.contourTint=this.dynamicTint[Ge],kt.uniforms.height=this.dynamicLevel[Ge],Ct.draw(Re.LINES,this._dynamicCounts[Ge],this._dynamicOffsets[Ge]),ct=0;ct<3;++ct)this.contourProject[ct][Ge]&&(kt.uniforms.model=Rt.projections[ct],kt.uniforms.clipBounds=Rt.clipBounds[ct],Ct.draw(Re.LINES,this._dynamicCounts[Ge],this._dynamicOffsets[Ge]));Ct.unbind()}}G.draw=function(Ce){return ge.call(this,Ce,!1)},G.drawTransparent=function(Ce){return ge.call(this,Ce,!0)};var ie={model:T,view:T,projection:T,inverseModel:T,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,objectOffset:[0,0,0],permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};G.drawPick=function(Ce){Ce=Ce||{};var me=this.gl;me.disable(me.CULL_FACE);var Re=ie;Re.model=Ce.model||T,Re.view=Ce.view||T,Re.projection=Ce.projection||T,Re.shape=this._field[2].shape,Re.pickId=this.pickId/255,Re.lowerBound=this.bounds[0],Re.upperBound=this.bounds[1],Re.objectOffset=this.objectOffset,Re.permutation=ke;for(var ce=0;ce<2;++ce)for(var Ge=Re.clipBounds[ce],nt=0;nt<3;++nt)Ge[nt]=Math.min(Math.max(this.clipBounds[ce][nt],-1e8),1e8);var ct=ae(Re,this);if(ct.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=Re,this._vao.bind(),this._vao.draw(me.TRIANGLES,this._vertexCount),ce=0;ce<3;++ce)this.surfaceProject[ce]&&(this._pickShader.uniforms.model=ct.projections[ce],this._pickShader.uniforms.clipBounds=ct.clipBounds[ce],this._vao.draw(me.TRIANGLES,this._vertexCount));this._vao.unbind()}if(ct.showContour){var qt=this._contourPickShader;qt.bind(),qt.uniforms=Re;var rt=this._contourVAO;for(rt.bind(),nt=0;nt<3;++nt)for(me.lineWidth(this.contourWidth[nt]*this.pixelRatio),qt.uniforms.permutation=q[nt],ce=0;ce<this.contourLevels[nt].length;++ce)this._contourCounts[nt][ce]&&(qt.uniforms.height=this.contourLevels[nt][ce],rt.draw(me.LINES,this._contourCounts[nt][ce],this._contourOffsets[nt][ce]));for(ce=0;ce<3;++ce)for(qt.uniforms.model=ct.projections[ce],qt.uniforms.clipBounds=ct.clipBounds[ce],nt=0;nt<3;++nt)if(this.contourProject[ce][nt]){qt.uniforms.permutation=q[nt],me.lineWidth(this.contourWidth[nt]*this.pixelRatio);for(var ot=0;ot<this.contourLevels[nt].length;++ot)this._contourCounts[nt][ot]&&(qt.uniforms.height=this.contourLevels[nt][ot],rt.draw(me.LINES,this._contourCounts[nt][ot],this._contourOffsets[nt][ot]))}rt.unbind()}},G.pick=function(Ce){if(!Ce||Ce.id!==this.pickId)return null;var me=this._field[2].shape,Re=this._pickResult,ce=me[0]*(Ce.value[0]+(Ce.value[2]>>4)/16)/255,Ge=Math.floor(ce),nt=ce-Ge,ct=me[1]*(Ce.value[1]+(Ce.value[2]&15)/16)/255,qt=Math.floor(ct),rt=ct-qt;Ge+=1,qt+=1;var ot=Re.position;ot[0]=ot[1]=ot[2]=0;for(var Rt=0;Rt<2;++Rt)for(var kt=Rt?nt:1-nt,Ct=0;Ct<2;++Ct)for(var Yt=Ct?rt:1-rt,xr=Ge+Rt,er=qt+Ct,Ke=kt*Yt,xt=0;xt<3;++xt)ot[xt]+=this._field[xt].get(xr,er)*Ke;for(var bt=this._pickResult.level,Lt=0;Lt<3;++Lt)if(bt[Lt]=k.le(this.contourLevels[Lt],ot[Lt]),bt[Lt]<0)this.contourLevels[Lt].length>0&&(bt[Lt]=0);else if(bt[Lt]<this.contourLevels[Lt].length-1){var St=this.contourLevels[Lt][bt[Lt]],Et=this.contourLevels[Lt][bt[Lt]+1];Math.abs(St-ot[Lt])>Math.abs(Et-ot[Lt])&&(bt[Lt]+=1)}for(Re.index[0]=nt<.5?Ge:Ge+1,Re.index[1]=rt<.5?qt:qt+1,Re.uv[0]=ce/me[0],Re.uv[1]=ct/me[1],xt=0;xt<3;++xt)Re.dataCoordinate[xt]=this._field[xt].get(Re.index[0],Re.index[1]);return Re},G.padField=function(Ce,me){var Re=me.shape.slice(),ce=Ce.shape.slice();d.assign(Ce.lo(1,1).hi(Re[0],Re[1]),me),d.assign(Ce.lo(1).hi(Re[0],1),me.hi(Re[0],1)),d.assign(Ce.lo(1,ce[1]-1).hi(Re[0],1),me.lo(0,Re[1]-1).hi(Re[0],1)),d.assign(Ce.lo(0,1).hi(1,Re[1]),me.hi(1)),d.assign(Ce.lo(ce[0]-1,1).hi(1,Re[1]),me.lo(Re[0]-1)),Ce.set(0,0,me.get(0,0)),Ce.set(0,ce[1]-1,me.get(0,Re[1]-1)),Ce.set(ce[0]-1,0,me.get(Re[0]-1,0)),Ce.set(ce[0]-1,ce[1]-1,me.get(Re[0]-1,Re[1]-1))};function Te(Ce,me){return Array.isArray(Ce)?[me(Ce[0]),me(Ce[1]),me(Ce[2])]:[me(Ce),me(Ce),me(Ce)]}function Ee(Ce){return Array.isArray(Ce)?Ce.length===3?[Ce[0],Ce[1],Ce[2],1]:[Ce[0],Ce[1],Ce[2],Ce[3]]:[0,0,0,1]}function Ae(Ce){if(Array.isArray(Ce)){if(Array.isArray(Ce))return[Ee(Ce[0]),Ee(Ce[1]),Ee(Ce[2])];var me=Ee(Ce);return[me.slice(),me.slice(),me.slice()]}}G.update=function(Ce){Ce=Ce||{},this.objectOffset=Ce.objectOffset||this.objectOffset,this.dirty=!0,\"contourWidth\"in Ce&&(this.contourWidth=Te(Ce.contourWidth,Number)),\"showContour\"in Ce&&(this.showContour=Te(Ce.showContour,Boolean)),\"showSurface\"in Ce&&(this.showSurface=!!Ce.showSurface),\"contourTint\"in Ce&&(this.contourTint=Te(Ce.contourTint,Boolean)),\"contourColor\"in Ce&&(this.contourColor=Ae(Ce.contourColor)),\"contourProject\"in Ce&&(this.contourProject=Te(Ce.contourProject,function(Gi){return Te(Gi,Boolean)})),\"surfaceProject\"in Ce&&(this.surfaceProject=Ce.surfaceProject),\"dynamicColor\"in Ce&&(this.dynamicColor=Ae(Ce.dynamicColor)),\"dynamicTint\"in Ce&&(this.dynamicTint=Te(Ce.dynamicTint,Number)),\"dynamicWidth\"in Ce&&(this.dynamicWidth=Te(Ce.dynamicWidth,Number)),\"opacity\"in Ce&&(this.opacity=Ce.opacity),\"opacityscale\"in Ce&&(this.opacityscale=Ce.opacityscale),\"colorBounds\"in Ce&&(this.colorBounds=Ce.colorBounds),\"vertexColor\"in Ce&&(this.vertexColor=Ce.vertexColor?1:0),\"colormap\"in Ce&&this._colorMap.setPixels(this.genColormap(Ce.colormap,this.opacityscale));var me=Ce.field||Ce.coords&&Ce.coords[2]||null,Re=!1;if(me||(this._field[2].shape[0]||this._field[2].shape[2]?me=this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):me=this._field[2].hi(0,0)),\"field\"in Ce||\"coords\"in Ce){var ce=(me.shape[0]+2)*(me.shape[1]+2);ce>this._field[2].data.length&&(f.freeFloat(this._field[2].data),this._field[2].data=f.mallocFloat(s.nextPow2(ce))),this._field[2]=x(this._field[2].data,[me.shape[0]+2,me.shape[1]+2]),this.padField(this._field[2],me),this.shape=me.shape.slice();for(var Ge=this.shape,nt=0;nt<2;++nt)this._field[2].size>this._field[nt].data.length&&(f.freeFloat(this._field[nt].data),this._field[nt].data=f.mallocFloat(this._field[2].size)),this._field[nt]=x(this._field[nt].data,[Ge[0]+2,Ge[1]+2]);if(Ce.coords){var ct=Ce.coords;if(!Array.isArray(ct)||ct.length!==3)throw new Error(\"gl-surface: invalid coordinates for x/y\");for(nt=0;nt<2;++nt){var qt=ct[nt];for(Ct=0;Ct<2;++Ct)if(qt.shape[Ct]!==Ge[Ct])throw new Error(\"gl-surface: coords have incorrect shape\");this.padField(this._field[nt],qt)}}else if(Ce.ticks){var rt=Ce.ticks;if(!Array.isArray(rt)||rt.length!==2)throw new Error(\"gl-surface: invalid ticks\");for(nt=0;nt<2;++nt){var ot=rt[nt];if((Array.isArray(ot)||ot.length)&&(ot=x(ot)),ot.shape[0]!==Ge[nt])throw new Error(\"gl-surface: invalid tick length\");var Rt=x(ot.data,Ge);Rt.stride[nt]=ot.stride[0],Rt.stride[nt^1]=0,this.padField(this._field[nt],Rt)}}else{for(nt=0;nt<2;++nt){var kt=[0,0];kt[nt]=1,this._field[nt]=x(this._field[nt].data,[Ge[0]+2,Ge[1]+2],kt,0)}this._field[0].set(0,0,0);for(var Ct=0;Ct<Ge[0];++Ct)this._field[0].set(Ct+1,0,Ct);for(this._field[0].set(Ge[0]+1,0,Ge[0]-1),this._field[1].set(0,0,0),Ct=0;Ct<Ge[1];++Ct)this._field[1].set(0,Ct+1,Ct);this._field[1].set(0,Ge[1]+1,Ge[1]-1)}var Yt=this._field,xr=x(f.mallocFloat(Yt[2].size*3*2),[3,Ge[0]+2,Ge[1]+2,2]);for(nt=0;nt<3;++nt)A(xr.pick(nt),Yt[nt],\"mirror\");var er=x(f.mallocFloat(Yt[2].size*3),[Ge[0]+2,Ge[1]+2,3]);for(nt=0;nt<Ge[0]+2;++nt)for(Ct=0;Ct<Ge[1]+2;++Ct){var Ke=xr.get(0,nt,Ct,0),xt=xr.get(0,nt,Ct,1),bt=xr.get(1,nt,Ct,0),Lt=xr.get(1,nt,Ct,1),St=xr.get(2,nt,Ct,0),Et=xr.get(2,nt,Ct,1),dt=bt*Et-Lt*St,Ht=St*xt-Et*Ke,$t=Ke*Lt-xt*bt,fr=Math.sqrt(dt*dt+Ht*Ht+$t*$t);fr<1e-8?(fr=Math.max(Math.abs(dt),Math.abs(Ht),Math.abs($t)),fr<1e-8?($t=1,Ht=dt=0,fr=1):fr=1/fr):fr=1/Math.sqrt(fr),er.set(nt,Ct,0,dt*fr),er.set(nt,Ct,1,Ht*fr),er.set(nt,Ct,2,$t*fr)}f.free(xr.data);var _r=[1/0,1/0,1/0],Br=[-1/0,-1/0,-1/0],Or=1/0,Nr=-1/0,ut=(Ge[0]-1)*(Ge[1]-1)*6,Ne=f.mallocFloat(s.nextPow2(10*ut)),Ye=0,Ve=0;for(nt=0;nt<Ge[0]-1;++nt)e:for(Ct=0;Ct<Ge[1]-1;++Ct){for(var Xe=0;Xe<2;++Xe)for(var ht=0;ht<2;++ht)for(var Le=0;Le<3;++Le){var xe=this._field[Le].get(1+nt+Xe,1+Ct+ht);if(isNaN(xe)||!isFinite(xe))continue e}for(Le=0;Le<6;++Le){var Se=nt+F[Le][0],lt=Ct+F[Le][1],Gt=this._field[0].get(Se+1,lt+1),Vt=this._field[1].get(Se+1,lt+1);xe=this._field[2].get(Se+1,lt+1),dt=er.get(Se+1,lt+1,0),Ht=er.get(Se+1,lt+1,1),$t=er.get(Se+1,lt+1,2),Ce.intensity&&(ar=Ce.intensity.get(Se,lt));var ar=Ce.intensity?Ce.intensity.get(Se,lt):xe+this.objectOffset[2];Ne[Ye++]=Se,Ne[Ye++]=lt,Ne[Ye++]=Gt,Ne[Ye++]=Vt,Ne[Ye++]=xe,Ne[Ye++]=0,Ne[Ye++]=ar,Ne[Ye++]=dt,Ne[Ye++]=Ht,Ne[Ye++]=$t,_r[0]=Math.min(_r[0],Gt+this.objectOffset[0]),_r[1]=Math.min(_r[1],Vt+this.objectOffset[1]),_r[2]=Math.min(_r[2],xe+this.objectOffset[2]),Or=Math.min(Or,ar),Br[0]=Math.max(Br[0],Gt+this.objectOffset[0]),Br[1]=Math.max(Br[1],Vt+this.objectOffset[1]),Br[2]=Math.max(Br[2],xe+this.objectOffset[2]),Nr=Math.max(Nr,ar),Ve+=1}}for(Ce.intensityBounds&&(Or=+Ce.intensityBounds[0],Nr=+Ce.intensityBounds[1]),nt=6;nt<Ye;nt+=10)Ne[nt]=(Ne[nt]-Or)/(Nr-Or);this._vertexCount=Ve,this._coordinateBuffer.update(Ne.subarray(0,Ye)),f.freeFloat(Ne),f.free(er.data),this.bounds=[_r,Br],this.intensity=Ce.intensity||this._field[2],(this.intensityBounds[0]!==Or||this.intensityBounds[1]!==Nr)&&(Re=!0),this.intensityBounds=[Or,Nr]}if(\"levels\"in Ce){var Qr=Ce.levels;for(Array.isArray(Qr[0])?Qr=Qr.slice():Qr=[[],[],Qr],nt=0;nt<3;++nt)Qr[nt]=Qr[nt].slice(),Qr[nt].sort(function(Gi,Ki){return Gi-Ki});for(nt=0;nt<3;++nt)for(Ct=0;Ct<Qr[nt].length;++Ct)Qr[nt][Ct]-=this.objectOffset[nt];e:for(nt=0;nt<3;++nt){if(Qr[nt].length!==this.contourLevels[nt].length){Re=!0;break}for(Ct=0;Ct<Qr[nt].length;++Ct)if(Qr[nt][Ct]!==this.contourLevels[nt][Ct]){Re=!0;break e}}this.contourLevels=Qr}if(Re){Yt=this._field,Ge=this.shape;for(var ai=[],jr=0;jr<3;++jr){var ri=this.contourLevels[jr],bi=[],nn=[],Wi=[0,0,0];for(nt=0;nt<ri.length;++nt){var Ni=b(this._field[jr],ri[nt]);bi.push(ai.length/5|0),Ve=0;e:for(Ct=0;Ct<Ni.cells.length;++Ct){var _n=Ni.cells[Ct];for(Le=0;Le<2;++Le){var $i=Ni.positions[_n[Le]],zn=$i[0],Wn=Math.floor(zn)|0,It=zn-Wn,ft=$i[1],jt=Math.floor(ft)|0,Zt=ft-jt,yr=!1;t:for(var Fr=0;Fr<3;++Fr){Wi[Fr]=0;var Zr=(jr+Fr+1)%3;for(Xe=0;Xe<2;++Xe){var Vr=Xe?It:1-It;for(Se=Math.min(Math.max(Wn+Xe,0),Ge[0])|0,ht=0;ht<2;++ht){var gi=ht?Zt:1-Zt;if(lt=Math.min(Math.max(jt+ht,0),Ge[1])|0,Fr<2?xe=this._field[Zr].get(Se,lt):xe=(this.intensity.get(Se,lt)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(xe)||isNaN(xe)){yr=!0;break t}var Si=Vr*gi;Wi[Fr]+=Si*xe}}}if(!yr)ai.push(Wi[0],Wi[1],$i[0],$i[1],Wi[2]),Ve+=1;else{if(Le>0){for(var Mi=0;Mi<5;++Mi)ai.pop();Ve-=1}continue e}}}nn.push(Ve)}this._contourOffsets[jr]=bi,this._contourCounts[jr]=nn}var Pi=f.mallocFloat(ai.length);for(nt=0;nt<ai.length;++nt)Pi[nt]=ai[nt];this._contourBuffer.update(Pi),f.freeFloat(Pi)}},G.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var Ce=0;Ce<3;++Ce)f.freeFloat(this._field[Ce].data)},G.highlight=function(Ce){var me;if(!Ce){this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],this.highlightLevel=[-1,-1,-1];return}for(me=0;me<3;++me)this.enableHighlight[me]?this.highlightLevel[me]=Ce.level[me]:this.highlightLevel[me]=-1;var Re;for(this.snapToData?Re=Ce.dataCoordinate:Re=Ce.position,me=0;me<3;++me)Re[me]-=this.objectOffset[me];if(!((!this.enableDynamic[0]||Re[0]===this.dynamicLevel[0])&&(!this.enableDynamic[1]||Re[1]===this.dynamicLevel[1])&&(!this.enableDynamic[2]||Re[2]===this.dynamicLevel[2]))){for(var ce=0,Ge=this.shape,nt=f.mallocFloat(12*Ge[0]*Ge[1]),ct=0;ct<3;++ct){if(!this.enableDynamic[ct]){this.dynamicLevel[ct]=NaN,this._dynamicCounts[ct]=0;continue}this.dynamicLevel[ct]=Re[ct];var qt=(ct+1)%3,rt=(ct+2)%3,ot=this._field[ct],Rt=this._field[qt],kt=this._field[rt],Ct=b(ot,Re[ct]),Yt=Ct.cells,xr=Ct.positions;for(this._dynamicOffsets[ct]=ce,me=0;me<Yt.length;++me)for(var er=Yt[me],Ke=0;Ke<2;++Ke){var xt=xr[er[Ke]],bt=+xt[0],Lt=bt|0,St=Math.min(Lt+1,Ge[0])|0,Et=bt-Lt,dt=1-Et,Ht=+xt[1],$t=Ht|0,fr=Math.min($t+1,Ge[1])|0,_r=Ht-$t,Br=1-_r,Or=dt*Br,Nr=dt*_r,ut=Et*Br,Ne=Et*_r,Ye=Or*Rt.get(Lt,$t)+Nr*Rt.get(Lt,fr)+ut*Rt.get(St,$t)+Ne*Rt.get(St,fr),Ve=Or*kt.get(Lt,$t)+Nr*kt.get(Lt,fr)+ut*kt.get(St,$t)+Ne*kt.get(St,fr);if(isNaN(Ye)||isNaN(Ve)){Ke&&(ce-=1);break}nt[2*ce+0]=Ye,nt[2*ce+1]=Ve,ce+=1}this._dynamicCounts[ct]=ce-this._dynamicOffsets[ct]}this._dynamicBuffer.update(nt.subarray(0,2*ce)),f.freeFloat(nt)}};function ze(Ce){var me=Ce.gl,Re=_(me),ce=M(me),Ge=C(me),nt=g(me),ct=l(me),qt=u(me,[{buffer:ct,size:4,stride:P,offset:0},{buffer:ct,size:3,stride:P,offset:16},{buffer:ct,size:3,stride:P,offset:28}]),rt=l(me),ot=u(me,[{buffer:rt,size:4,stride:20,offset:0},{buffer:rt,size:1,stride:20,offset:16}]),Rt=l(me),kt=u(me,[{buffer:Rt,size:2,type:me.FLOAT}]),Ct=c(me,1,H,me.RGBA,me.UNSIGNED_BYTE);Ct.minFilter=me.LINEAR,Ct.magFilter=me.LINEAR;var Yt=new X(me,[0,0],[[0,0,0],[0,0,0]],Re,ce,ct,qt,Ct,Ge,nt,rt,ot,Rt,kt,[0,0,0]),xr={levels:[[],[],[]]};for(var er in Ce)xr[er]=Ce[er];return xr.colormap=xr.colormap||\"jet\",Yt.update(xr),Yt}},7766:function(i,a,o){\"use strict\";var s=o(9618),l=o(5298),u=o(1888);i.exports=g;var c=null,f=null,h=null;function d(P){c=[P.LINEAR,P.NEAREST_MIPMAP_LINEAR,P.LINEAR_MIPMAP_NEAREST,P.LINEAR_MIPMAP_NEAREST],f=[P.NEAREST,P.LINEAR,P.NEAREST_MIPMAP_NEAREST,P.NEAREST_MIPMAP_LINEAR,P.LINEAR_MIPMAP_NEAREST,P.LINEAR_MIPMAP_LINEAR],h=[P.REPEAT,P.CLAMP_TO_EDGE,P.MIRRORED_REPEAT]}function v(P){return typeof HTMLCanvasElement!=\"undefined\"&&P instanceof HTMLCanvasElement||typeof HTMLImageElement!=\"undefined\"&&P instanceof HTMLImageElement||typeof HTMLVideoElement!=\"undefined\"&&P instanceof HTMLVideoElement||typeof ImageData!=\"undefined\"&&P instanceof ImageData}var x=function(P,T){l.muls(P,T,255)};function b(P,T,F){var q=P.gl,V=q.getParameter(q.MAX_TEXTURE_SIZE);if(T<0||T>V||F<0||F>V)throw new Error(\"gl-texture2d: Invalid texture size\");return P._shape=[T,F],P.bind(),q.texImage2D(q.TEXTURE_2D,0,P.format,T,F,0,P.format,P.type,null),P._mipLevels=[0],P}function p(P,T,F,q,V,H){this.gl=P,this.handle=T,this.format=V,this.type=H,this._shape=[F,q],this._mipLevels=[0],this._magFilter=P.NEAREST,this._minFilter=P.NEAREST,this._wrapS=P.CLAMP_TO_EDGE,this._wrapT=P.CLAMP_TO_EDGE,this._anisoSamples=1;var X=this,G=[this._wrapS,this._wrapT];Object.defineProperties(G,[{get:function(){return X._wrapS},set:function(W){return X.wrapS=W}},{get:function(){return X._wrapT},set:function(W){return X.wrapT=W}}]),this._wrapVector=G;var N=[this._shape[0],this._shape[1]];Object.defineProperties(N,[{get:function(){return X._shape[0]},set:function(W){return X.width=W}},{get:function(){return X._shape[1]},set:function(W){return X.height=W}}]),this._shapeVector=N}var E=p.prototype;Object.defineProperties(E,{minFilter:{get:function(){return this._minFilter},set:function(P){this.bind();var T=this.gl;if(this.type===T.FLOAT&&c.indexOf(P)>=0&&(T.getExtension(\"OES_texture_float_linear\")||(P=T.NEAREST)),f.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+P);return T.texParameteri(T.TEXTURE_2D,T.TEXTURE_MIN_FILTER,P),this._minFilter=P}},magFilter:{get:function(){return this._magFilter},set:function(P){this.bind();var T=this.gl;if(this.type===T.FLOAT&&c.indexOf(P)>=0&&(T.getExtension(\"OES_texture_float_linear\")||(P=T.NEAREST)),f.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+P);return T.texParameteri(T.TEXTURE_2D,T.TEXTURE_MAG_FILTER,P),this._magFilter=P}},mipSamples:{get:function(){return this._anisoSamples},set:function(P){var T=this._anisoSamples;if(this._anisoSamples=Math.max(P,1)|0,T!==this._anisoSamples){var F=this.gl.getExtension(\"EXT_texture_filter_anisotropic\");F&&this.gl.texParameterf(this.gl.TEXTURE_2D,F.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(P){if(this.bind(),h.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+P);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,P),this._wrapS=P}},wrapT:{get:function(){return this._wrapT},set:function(P){if(this.bind(),h.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+P);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,P),this._wrapT=P}},wrap:{get:function(){return this._wrapVector},set:function(P){if(Array.isArray(P)||(P=[P,P]),P.length!==2)throw new Error(\"gl-texture2d: Must specify wrap mode for rows and columns\");for(var T=0;T<2;++T)if(h.indexOf(P[T])<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+P);this._wrapS=P[0],this._wrapT=P[1];var F=this.gl;return this.bind(),F.texParameteri(F.TEXTURE_2D,F.TEXTURE_WRAP_S,this._wrapS),F.texParameteri(F.TEXTURE_2D,F.TEXTURE_WRAP_T,this._wrapT),P}},shape:{get:function(){return this._shapeVector},set:function(P){if(!Array.isArray(P))P=[P|0,P|0];else if(P.length!==2)throw new Error(\"gl-texture2d: Invalid texture shape\");return b(this,P[0]|0,P[1]|0),[P[0]|0,P[1]|0]}},width:{get:function(){return this._shape[0]},set:function(P){return P=P|0,b(this,P,this._shape[1]),P}},height:{get:function(){return this._shape[1]},set:function(P){return P=P|0,b(this,this._shape[0],P),P}}}),E.bind=function(P){var T=this.gl;return P!==void 0&&T.activeTexture(T.TEXTURE0+(P|0)),T.bindTexture(T.TEXTURE_2D,this.handle),P!==void 0?P|0:T.getParameter(T.ACTIVE_TEXTURE)-T.TEXTURE0},E.dispose=function(){this.gl.deleteTexture(this.handle)},E.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var P=Math.min(this._shape[0],this._shape[1]),T=0;P>0;++T,P>>>=1)this._mipLevels.indexOf(T)<0&&this._mipLevels.push(T)},E.setPixels=function(P,T,F,q){var V=this.gl;this.bind(),Array.isArray(T)?(q=F,F=T[1]|0,T=T[0]|0):(T=T||0,F=F||0),q=q||0;var H=v(P)?P:P.raw;if(H){var X=this._mipLevels.indexOf(q)<0;X?(V.texImage2D(V.TEXTURE_2D,0,this.format,this.format,this.type,H),this._mipLevels.push(q)):V.texSubImage2D(V.TEXTURE_2D,q,T,F,this.format,this.type,H)}else if(P.shape&&P.stride&&P.data){if(P.shape.length<2||T+P.shape[1]>this._shape[1]>>>q||F+P.shape[0]>this._shape[0]>>>q||T<0||F<0)throw new Error(\"gl-texture2d: Texture dimensions are out of bounds\");A(V,T,F,q,this.format,this.type,this._mipLevels,P)}else throw new Error(\"gl-texture2d: Unsupported data type\")};function k(P,T){return P.length===3?T[2]===1&&T[1]===P[0]*P[2]&&T[0]===P[2]:T[0]===1&&T[1]===P[0]}function A(P,T,F,q,V,H,X,G){var N=G.dtype,W=G.shape.slice();if(W.length<2||W.length>3)throw new Error(\"gl-texture2d: Invalid ndarray, must be 2d or 3d\");var re=0,ae=0,_e=k(W,G.stride.slice());N===\"float32\"?re=P.FLOAT:N===\"float64\"?(re=P.FLOAT,_e=!1,N=\"float32\"):N===\"uint8\"?re=P.UNSIGNED_BYTE:(re=P.UNSIGNED_BYTE,_e=!1,N=\"uint8\");var Me=1;if(W.length===2)ae=P.LUMINANCE,W=[W[0],W[1],1],G=s(G.data,W,[G.stride[0],G.stride[1],1],G.offset);else if(W.length===3){if(W[2]===1)ae=P.ALPHA;else if(W[2]===2)ae=P.LUMINANCE_ALPHA;else if(W[2]===3)ae=P.RGB;else if(W[2]===4)ae=P.RGBA;else throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");Me=W[2]}else throw new Error(\"gl-texture2d: Invalid shape for texture\");if((ae===P.LUMINANCE||ae===P.ALPHA)&&(V===P.LUMINANCE||V===P.ALPHA)&&(ae=V),ae!==V)throw new Error(\"gl-texture2d: Incompatible texture format for setPixels\");var ke=G.size,ge=X.indexOf(q)<0;if(ge&&X.push(q),re===H&&_e)G.offset===0&&G.data.length===ke?ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,G.data):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,G.data):ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,G.data.subarray(G.offset,G.offset+ke)):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,G.data.subarray(G.offset,G.offset+ke));else{var ie;H===P.FLOAT?ie=u.mallocFloat32(ke):ie=u.mallocUint8(ke);var Te=s(ie,W,[W[2],W[2]*W[0],1]);re===P.FLOAT&&H===P.UNSIGNED_BYTE?x(Te,G):l.assign(Te,G),ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,ie.subarray(0,ke)):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,ie.subarray(0,ke)),H===P.FLOAT?u.freeFloat32(ie):u.freeUint8(ie)}}function L(P){var T=P.createTexture();return P.bindTexture(P.TEXTURE_2D,T),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_MIN_FILTER,P.NEAREST),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_MAG_FILTER,P.NEAREST),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_WRAP_S,P.CLAMP_TO_EDGE),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_WRAP_T,P.CLAMP_TO_EDGE),T}function _(P,T,F,q,V){var H=P.getParameter(P.MAX_TEXTURE_SIZE);if(T<0||T>H||F<0||F>H)throw new Error(\"gl-texture2d: Invalid texture shape\");if(V===P.FLOAT&&!P.getExtension(\"OES_texture_float\"))throw new Error(\"gl-texture2d: Floating point textures not supported on this platform\");var X=L(P);return P.texImage2D(P.TEXTURE_2D,0,q,T,F,0,q,V,null),new p(P,X,T,F,q,V)}function C(P,T,F,q,V,H){var X=L(P);return P.texImage2D(P.TEXTURE_2D,0,V,V,H,T),new p(P,X,F,q,V,H)}function M(P,T){var F=T.dtype,q=T.shape.slice(),V=P.getParameter(P.MAX_TEXTURE_SIZE);if(q[0]<0||q[0]>V||q[1]<0||q[1]>V)throw new Error(\"gl-texture2d: Invalid texture size\");var H=k(q,T.stride.slice()),X=0;F===\"float32\"?X=P.FLOAT:F===\"float64\"?(X=P.FLOAT,H=!1,F=\"float32\"):F===\"uint8\"?X=P.UNSIGNED_BYTE:(X=P.UNSIGNED_BYTE,H=!1,F=\"uint8\");var G=0;if(q.length===2)G=P.LUMINANCE,q=[q[0],q[1],1],T=s(T.data,q,[T.stride[0],T.stride[1],1],T.offset);else if(q.length===3)if(q[2]===1)G=P.ALPHA;else if(q[2]===2)G=P.LUMINANCE_ALPHA;else if(q[2]===3)G=P.RGB;else if(q[2]===4)G=P.RGBA;else throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");else throw new Error(\"gl-texture2d: Invalid shape for texture\");X===P.FLOAT&&!P.getExtension(\"OES_texture_float\")&&(X=P.UNSIGNED_BYTE,H=!1);var N,W,re=T.size;if(H)T.offset===0&&T.data.length===re?N=T.data:N=T.data.subarray(T.offset,T.offset+re);else{var ae=[q[2],q[2]*q[0],1];W=u.malloc(re,F);var _e=s(W,q,ae,0);(F===\"float32\"||F===\"float64\")&&X===P.UNSIGNED_BYTE?x(_e,T):l.assign(_e,T),N=W.subarray(0,re)}var Me=L(P);return P.texImage2D(P.TEXTURE_2D,0,G,q[0],q[1],0,G,X,N),H||u.free(W),new p(P,Me,q[0],q[1],G,X)}function g(P){if(arguments.length<=1)throw new Error(\"gl-texture2d: Missing arguments for texture2d constructor\");if(c||d(P),typeof arguments[1]==\"number\")return _(P,arguments[1],arguments[2],arguments[3]||P.RGBA,arguments[4]||P.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return _(P,arguments[1][0]|0,arguments[1][1]|0,arguments[2]||P.RGBA,arguments[3]||P.UNSIGNED_BYTE);if(typeof arguments[1]==\"object\"){var T=arguments[1],F=v(T)?T:T.raw;if(F)return C(P,F,T.width|0,T.height|0,arguments[2]||P.RGBA,arguments[3]||P.UNSIGNED_BYTE);if(T.shape&&T.data&&T.stride)return M(P,T)}throw new Error(\"gl-texture2d: Invalid arguments for texture2d constructor\")}},1433:function(i){\"use strict\";function a(o,s,l){s?s.bind():o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,null);var u=o.getParameter(o.MAX_VERTEX_ATTRIBS)|0;if(l){if(l.length>u)throw new Error(\"gl-vao: Too many vertex attributes\");for(var c=0;c<l.length;++c){var f=l[c];if(f.buffer){var h=f.buffer,d=f.size||4,v=f.type||o.FLOAT,x=!!f.normalized,b=f.stride||0,p=f.offset||0;h.bind(),o.enableVertexAttribArray(c),o.vertexAttribPointer(c,d,v,x,b,p)}else{if(typeof f==\"number\")o.vertexAttrib1f(c,f);else if(f.length===1)o.vertexAttrib1f(c,f[0]);else if(f.length===2)o.vertexAttrib2f(c,f[0],f[1]);else if(f.length===3)o.vertexAttrib3f(c,f[0],f[1],f[2]);else if(f.length===4)o.vertexAttrib4f(c,f[0],f[1],f[2],f[3]);else throw new Error(\"gl-vao: Invalid vertex attribute\");o.disableVertexAttribArray(c)}}for(;c<u;++c)o.disableVertexAttribArray(c)}else{o.bindBuffer(o.ARRAY_BUFFER,null);for(var c=0;c<u;++c)o.disableVertexAttribArray(c)}}i.exports=a},870:function(i,a,o){\"use strict\";var s=o(1433);function l(c){this.gl=c,this._elements=null,this._attributes=null,this._elementsType=c.UNSIGNED_SHORT}l.prototype.bind=function(){s(this.gl,this._elements,this._attributes)},l.prototype.update=function(c,f,h){this._elements=f,this._attributes=c,this._elementsType=h||this.gl.UNSIGNED_SHORT},l.prototype.dispose=function(){},l.prototype.unbind=function(){},l.prototype.draw=function(c,f,h){h=h||0;var d=this.gl;this._elements?d.drawElements(c,f,this._elementsType,h):d.drawArrays(c,h,f)};function u(c){return new l(c)}i.exports=u},7518:function(i,a,o){\"use strict\";var s=o(1433);function l(f,h,d,v,x,b){this.location=f,this.dimension=h,this.a=d,this.b=v,this.c=x,this.d=b}l.prototype.bind=function(f){switch(this.dimension){case 1:f.vertexAttrib1f(this.location,this.a);break;case 2:f.vertexAttrib2f(this.location,this.a,this.b);break;case 3:f.vertexAttrib3f(this.location,this.a,this.b,this.c);break;case 4:f.vertexAttrib4f(this.location,this.a,this.b,this.c,this.d);break}};function u(f,h,d){this.gl=f,this._ext=h,this.handle=d,this._attribs=[],this._useElements=!1,this._elementsType=f.UNSIGNED_SHORT}u.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var f=0;f<this._attribs.length;++f)this._attribs[f].bind(this.gl)},u.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},u.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},u.prototype.update=function(f,h,d){if(this.bind(),s(this.gl,h,f),this.unbind(),this._attribs.length=0,f)for(var v=0;v<f.length;++v){var x=f[v];typeof x==\"number\"?this._attribs.push(new l(v,1,x)):Array.isArray(x)&&this._attribs.push(new l(v,x.length,x[0],x[1],x[2],x[3]))}this._useElements=!!h,this._elementsType=d||this.gl.UNSIGNED_SHORT},u.prototype.draw=function(f,h,d){d=d||0;var v=this.gl;this._useElements?v.drawElements(f,h,this._elementsType,d):v.drawArrays(f,d,h)};function c(f,h){return new u(f,h,h.createVertexArrayOES())}i.exports=c},8116:function(i,a,o){\"use strict\";var s=o(7518),l=o(870);function u(f){this.bindVertexArrayOES=f.bindVertexArray.bind(f),this.createVertexArrayOES=f.createVertexArray.bind(f),this.deleteVertexArrayOES=f.deleteVertexArray.bind(f)}function c(f,h,d,v){var x=f.createVertexArray?new u(f):f.getExtension(\"OES_vertex_array_object\"),b;return x?b=s(f,x):b=l(f),b.update(h,d,v),b}i.exports=c},5632:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]+l[0],o[1]=s[1]+l[1],o[2]=s[2]+l[2],o}},8192:function(i,a,o){i.exports=c;var s=o(2825),l=o(3536),u=o(244);function c(f,h){var d=s(f[0],f[1],f[2]),v=s(h[0],h[1],h[2]);l(d,d),l(v,v);var x=u(d,v);return x>1?0:Math.acos(x)}},9226:function(i){i.exports=a;function a(o,s){return o[0]=Math.ceil(s[0]),o[1]=Math.ceil(s[1]),o[2]=Math.ceil(s[2]),o}},3126:function(i){i.exports=a;function a(o){var s=new Float32Array(3);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s}},3990:function(i){i.exports=a;function a(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o}},1091:function(i){i.exports=a;function a(){var o=new Float32Array(3);return o[0]=0,o[1]=0,o[2]=0,o}},5911:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2];return o[0]=c*v-f*d,o[1]=f*h-u*v,o[2]=u*d-c*h,o}},5455:function(i,a,o){i.exports=o(7056)},7056:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2];return Math.sqrt(l*l+u*u+c*c)}},4008:function(i,a,o){i.exports=o(6690)},6690:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o}},244:function(i){i.exports=a;function a(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]}},2613:function(i){i.exports=1e-6},9922:function(i,a,o){i.exports=l;var s=o(2613);function l(u,c){var f=u[0],h=u[1],d=u[2],v=c[0],x=c[1],b=c[2];return Math.abs(f-v)<=s*Math.max(1,Math.abs(f),Math.abs(v))&&Math.abs(h-x)<=s*Math.max(1,Math.abs(h),Math.abs(x))&&Math.abs(d-b)<=s*Math.max(1,Math.abs(d),Math.abs(b))}},9265:function(i){i.exports=a;function a(o,s){return o[0]===s[0]&&o[1]===s[1]&&o[2]===s[2]}},2681:function(i){i.exports=a;function a(o,s){return o[0]=Math.floor(s[0]),o[1]=Math.floor(s[1]),o[2]=Math.floor(s[2]),o}},5137:function(i,a,o){i.exports=l;var s=o(1091)();function l(u,c,f,h,d,v){var x,b;for(c||(c=3),f||(f=0),h?b=Math.min(h*c+f,u.length):b=u.length,x=f;x<b;x+=c)s[0]=u[x],s[1]=u[x+1],s[2]=u[x+2],d(s,s,v),u[x]=s[0],u[x+1]=s[1],u[x+2]=s[2];return u}},2825:function(i){i.exports=a;function a(o,s,l){var u=new Float32Array(3);return u[0]=o,u[1]=s,u[2]=l,u}},2931:function(i,a,o){i.exports={EPSILON:o(2613),create:o(1091),clone:o(3126),angle:o(8192),fromValues:o(2825),copy:o(3990),set:o(1463),equals:o(9922),exactEquals:o(9265),add:o(5632),subtract:o(6843),sub:o(2229),multiply:o(5847),mul:o(4505),divide:o(6690),div:o(4008),min:o(8107),max:o(7417),floor:o(2681),ceil:o(9226),round:o(2447),scale:o(6621),scaleAndAdd:o(8489),distance:o(7056),dist:o(5455),squaredDistance:o(2953),sqrDist:o(6141),length:o(1387),len:o(868),squaredLength:o(3066),sqrLen:o(5486),negate:o(5093),inverse:o(811),normalize:o(3536),dot:o(244),cross:o(5911),lerp:o(6658),random:o(7636),transformMat4:o(5673),transformMat3:o(492),transformQuat:o(264),rotateX:o(6894),rotateY:o(109),rotateZ:o(8692),forEach:o(5137)}},811:function(i){i.exports=a;function a(o,s){return o[0]=1/s[0],o[1]=1/s[1],o[2]=1/s[2],o}},868:function(i,a,o){i.exports=o(1387)},1387:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2];return Math.sqrt(s*s+l*l+u*u)}},6658:function(i){i.exports=a;function a(o,s,l,u){var c=s[0],f=s[1],h=s[2];return o[0]=c+u*(l[0]-c),o[1]=f+u*(l[1]-f),o[2]=h+u*(l[2]-h),o}},7417:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.max(s[0],l[0]),o[1]=Math.max(s[1],l[1]),o[2]=Math.max(s[2],l[2]),o}},8107:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.min(s[0],l[0]),o[1]=Math.min(s[1],l[1]),o[2]=Math.min(s[2],l[2]),o}},4505:function(i,a,o){i.exports=o(5847)},5847:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l[0],o[1]=s[1]*l[1],o[2]=s[2]*l[2],o}},5093:function(i){i.exports=a;function a(o,s){return o[0]=-s[0],o[1]=-s[1],o[2]=-s[2],o}},3536:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=l*l+u*u+c*c;return f>0&&(f=1/Math.sqrt(f),o[0]=s[0]*f,o[1]=s[1]*f,o[2]=s[2]*f),o}},7636:function(i){i.exports=a;function a(o,s){s=s||1;var l=Math.random()*2*Math.PI,u=Math.random()*2-1,c=Math.sqrt(1-u*u)*s;return o[0]=Math.cos(l)*c,o[1]=Math.sin(l)*c,o[2]=u*s,o}},6894:function(i){i.exports=a;function a(o,s,l,u){var c=l[1],f=l[2],h=s[1]-c,d=s[2]-f,v=Math.sin(u),x=Math.cos(u);return o[0]=s[0],o[1]=c+h*x-d*v,o[2]=f+h*v+d*x,o}},109:function(i){i.exports=a;function a(o,s,l,u){var c=l[0],f=l[2],h=s[0]-c,d=s[2]-f,v=Math.sin(u),x=Math.cos(u);return o[0]=c+d*v+h*x,o[1]=s[1],o[2]=f+d*x-h*v,o}},8692:function(i){i.exports=a;function a(o,s,l,u){var c=l[0],f=l[1],h=s[0]-c,d=s[1]-f,v=Math.sin(u),x=Math.cos(u);return o[0]=c+h*x-d*v,o[1]=f+h*v+d*x,o[2]=s[2],o}},2447:function(i){i.exports=a;function a(o,s){return o[0]=Math.round(s[0]),o[1]=Math.round(s[1]),o[2]=Math.round(s[2]),o}},6621:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o}},8489:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o}},1463:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s,o[1]=l,o[2]=u,o}},6141:function(i,a,o){i.exports=o(2953)},5486:function(i,a,o){i.exports=o(3066)},2953:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2];return l*l+u*u+c*c}},3066:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2];return s*s+l*l+u*u}},2229:function(i,a,o){i.exports=o(6843)},6843:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o}},492:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2];return o[0]=u*l[0]+c*l[3]+f*l[6],o[1]=u*l[1]+c*l[4]+f*l[7],o[2]=u*l[2]+c*l[5]+f*l[8],o}},5673:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[3]*u+l[7]*c+l[11]*f+l[15];return h=h||1,o[0]=(l[0]*u+l[4]*c+l[8]*f+l[12])/h,o[1]=(l[1]*u+l[5]*c+l[9]*f+l[13])/h,o[2]=(l[2]*u+l[6]*c+l[10]*f+l[14])/h,o}},264:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2],x=l[3],b=x*u+d*f-v*c,p=x*c+v*u-h*f,E=x*f+h*c-d*u,k=-h*u-d*c-v*f;return o[0]=b*x+k*-h+p*-v-E*-d,o[1]=p*x+k*-d+E*-h-b*-v,o[2]=E*x+k*-v+b*-d-p*-h,o}},4361:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]+l[0],o[1]=s[1]+l[1],o[2]=s[2]+l[2],o[3]=s[3]+l[3],o}},2335:function(i){i.exports=a;function a(o){var s=new Float32Array(4);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s[3]=o[3],s}},2933:function(i){i.exports=a;function a(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o[3]=s[3],o}},7536:function(i){i.exports=a;function a(){var o=new Float32Array(4);return o[0]=0,o[1]=0,o[2]=0,o[3]=0,o}},4691:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2],f=s[3]-o[3];return Math.sqrt(l*l+u*u+c*c+f*f)}},1373:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o[3]=s[3]/l[3],o}},3750:function(i){i.exports=a;function a(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]+o[3]*s[3]}},3390:function(i){i.exports=a;function a(o,s,l,u){var c=new Float32Array(4);return c[0]=o,c[1]=s,c[2]=l,c[3]=u,c}},9970:function(i,a,o){i.exports={create:o(7536),clone:o(2335),fromValues:o(3390),copy:o(2933),set:o(4578),add:o(4361),subtract:o(6860),multiply:o(3576),divide:o(1373),min:o(2334),max:o(160),scale:o(9288),scaleAndAdd:o(4844),distance:o(4691),squaredDistance:o(7960),length:o(6808),squaredLength:o(483),negate:o(1498),inverse:o(4494),normalize:o(5177),dot:o(3750),lerp:o(2573),random:o(9131),transformMat4:o(5352),transformQuat:o(4041)}},4494:function(i){i.exports=a;function a(o,s){return o[0]=1/s[0],o[1]=1/s[1],o[2]=1/s[2],o[3]=1/s[3],o}},6808:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3];return Math.sqrt(s*s+l*l+u*u+c*c)}},2573:function(i){i.exports=a;function a(o,s,l,u){var c=s[0],f=s[1],h=s[2],d=s[3];return o[0]=c+u*(l[0]-c),o[1]=f+u*(l[1]-f),o[2]=h+u*(l[2]-h),o[3]=d+u*(l[3]-d),o}},160:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.max(s[0],l[0]),o[1]=Math.max(s[1],l[1]),o[2]=Math.max(s[2],l[2]),o[3]=Math.max(s[3],l[3]),o}},2334:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.min(s[0],l[0]),o[1]=Math.min(s[1],l[1]),o[2]=Math.min(s[2],l[2]),o[3]=Math.min(s[3],l[3]),o}},3576:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l[0],o[1]=s[1]*l[1],o[2]=s[2]*l[2],o[3]=s[3]*l[3],o}},1498:function(i){i.exports=a;function a(o,s){return o[0]=-s[0],o[1]=-s[1],o[2]=-s[2],o[3]=-s[3],o}},5177:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=s[3],h=l*l+u*u+c*c+f*f;return h>0&&(h=1/Math.sqrt(h),o[0]=l*h,o[1]=u*h,o[2]=c*h,o[3]=f*h),o}},9131:function(i,a,o){var s=o(5177),l=o(9288);i.exports=u;function u(c,f){return f=f||1,c[0]=Math.random(),c[1]=Math.random(),c[2]=Math.random(),c[3]=Math.random(),s(c,c),l(c,c,f),c}},9288:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o[3]=s[3]*l,o}},4844:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o[3]=s[3]+l[3]*u,o}},4578:function(i){i.exports=a;function a(o,s,l,u,c){return o[0]=s,o[1]=l,o[2]=u,o[3]=c,o}},7960:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2],f=s[3]-o[3];return l*l+u*u+c*c+f*f}},483:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3];return s*s+l*l+u*u+c*c}},6860:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o[3]=s[3]-l[3],o}},5352:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=s[3];return o[0]=l[0]*u+l[4]*c+l[8]*f+l[12]*h,o[1]=l[1]*u+l[5]*c+l[9]*f+l[13]*h,o[2]=l[2]*u+l[6]*c+l[10]*f+l[14]*h,o[3]=l[3]*u+l[7]*c+l[11]*f+l[15]*h,o}},4041:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2],x=l[3],b=x*u+d*f-v*c,p=x*c+v*u-h*f,E=x*f+h*c-d*u,k=-h*u-d*c-v*f;return o[0]=b*x+k*-h+p*-v-E*-d,o[1]=p*x+k*-d+E*-h-b*-v,o[2]=E*x+k*-v+b*-d-p*-h,o[3]=s[3],o}},1848:function(i,a,o){var s=o(4905),l=o(6468);i.exports=u;function u(c){for(var f=Array.isArray(c)?c:s(c),h=0;h<f.length;h++){var d=f[h];if(d.type===\"preprocessor\"){var v=d.data.match(/\\#define\\s+SHADER_NAME(_B64)?\\s+(.+)$/);if(v&&v[2]){var x=v[1],b=v[2];return(x?l(b):b).trim()}}}}},5874:function(i,a,o){i.exports=T;var s=o(620),l=o(7827),u=o(6852),c=o(7932),f=o(3508),h=999,d=9999,v=0,x=1,b=2,p=3,E=4,k=5,A=6,L=7,_=8,C=9,M=10,g=11,P=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"];function T(F){var q=0,V=0,H=h,X,G,N=[],W=[],re=0,ae=0,_e=1,Me=0,ke=0,ge=!1,ie=!1,Te=\"\",Ee;F=F||{};var Ae=u,ze=s;F.version===\"300 es\"&&(Ae=f,ze=c);for(var Ce={},me={},q=0;q<Ae.length;q++)Ce[Ae[q]]=!0;for(var q=0;q<ze.length;q++)me[ze[q]]=!0;return function(Ke){return W=[],Ke!==null?ce(Ke):Ge()};function Re(Ke){Ke.length&&W.push({type:P[H],data:Ke,position:ke,line:_e,column:Me})}function ce(Ke){q=0,Ke.toString&&(Ke=Ke.toString()),Te+=Ke.replace(/\\r\\n/g,`\n", - "`),Ee=Te.length;for(var xt;X=Te[q],q<Ee;){switch(xt=q,H){case v:q=ot();break;case x:q=rt();break;case b:q=qt();break;case p:q=Rt();break;case E:q=Yt();break;case g:q=Ct();break;case k:q=xr();break;case d:q=er();break;case C:q=ct();break;case h:q=nt();break}if(xt!==q)switch(Te[xt]){case`\n", - "`:Me=0,++_e;break;default:++Me;break}}return V+=q,Te=Te.slice(q),W}function Ge(Ke){return N.length&&Re(N.join(\"\")),H=M,Re(\"(eof)\"),W}function nt(){return N=N.length?[]:N,G===\"/\"&&X===\"*\"?(ke=V+q-1,H=v,G=X,q+1):G===\"/\"&&X===\"/\"?(ke=V+q-1,H=x,G=X,q+1):X===\"#\"?(H=b,ke=V+q,q):/\\s/.test(X)?(H=C,ke=V+q,q):(ge=/\\d/.test(X),ie=/[^\\w_]/.test(X),ke=V+q,H=ge?E:ie?p:d,q)}function ct(){return/[^\\s]/g.test(X)?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function qt(){return(X===\"\\r\"||X===`\n", - "`)&&G!==\"\\\\\"?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function rt(){return qt()}function ot(){return X===\"/\"&&G===\"*\"?(N.push(X),Re(N.join(\"\")),H=h,q+1):(N.push(X),G=X,q+1)}function Rt(){if(G===\".\"&&/\\d/.test(X))return H=k,q;if(G===\"/\"&&X===\"*\")return H=v,q;if(G===\"/\"&&X===\"/\")return H=x,q;if(X===\".\"&&N.length){for(;kt(N););return H=k,q}if(X===\";\"||X===\")\"||X===\"(\"){if(N.length)for(;kt(N););return Re(X),H=h,q+1}var Ke=N.length===2&&X!==\"=\";if(/[\\w_\\d\\s]/.test(X)||Ke){for(;kt(N););return H=h,q}return N.push(X),G=X,q+1}function kt(Ke){var xt=0,bt,Lt;do{if(bt=l.indexOf(Ke.slice(0,Ke.length+xt).join(\"\")),Lt=l[bt],bt===-1){if(xt--+Ke.length>0)continue;Lt=Ke.slice(0,1).join(\"\")}return Re(Lt),ke+=Lt.length,N=N.slice(Lt.length),N.length}while(!0)}function Ct(){return/[^a-fA-F0-9]/.test(X)?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function Yt(){return X===\".\"||/[eE]/.test(X)?(N.push(X),H=k,G=X,q+1):X===\"x\"&&N.length===1&&N[0]===\"0\"?(H=g,N.push(X),G=X,q+1):/[^\\d]/.test(X)?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function xr(){return X===\"f\"&&(N.push(X),G=X,q+=1),/[eE]/.test(X)||(X===\"-\"||X===\"+\")&&/[eE]/.test(G)?(N.push(X),G=X,q+1):/[^\\d]/.test(X)?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function er(){if(/[^\\d\\w_]/.test(X)){var Ke=N.join(\"\");return me[Ke]?H=_:Ce[Ke]?H=L:H=A,Re(N.join(\"\")),H=h,q}return N.push(X),G=X,q+1}}},3508:function(i,a,o){var s=o(6852);s=s.slice().filter(function(l){return!/^(gl\\_|texture)/.test(l)}),i.exports=s.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(i){i.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(i,a,o){var s=o(620);i.exports=s.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(i){i.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(i){i.exports=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"]},4905:function(i,a,o){var s=o(5874);i.exports=l;function l(u,c){var f=s(c),h=[];return h=h.concat(f(u)),h=h.concat(f(null)),h}},3236:function(i){i.exports=function(a){typeof a==\"string\"&&(a=[a]);for(var o=[].slice.call(arguments,1),s=[],l=0;l<a.length-1;l++)s.push(a[l],o[l]||\"\");return s.push(a[l]),s.join(\"\")}},7520:function(i,a,o){\"use strict\";var s=o(9507);function l(){var u=!1;try{var c=Object.defineProperty({},\"passive\",{get:function(){u=!0}});window.addEventListener(\"test\",null,c),window.removeEventListener(\"test\",null,c)}catch(f){u=!1}return u}i.exports=s&&l()},3778:function(i,a){a.read=function(o,s,l,u,c){var f,h,d=c*8-u-1,v=(1<<d)-1,x=v>>1,b=-7,p=l?c-1:0,E=l?-1:1,k=o[s+p];for(p+=E,f=k&(1<<-b)-1,k>>=-b,b+=d;b>0;f=f*256+o[s+p],p+=E,b-=8);for(h=f&(1<<-b)-1,f>>=-b,b+=u;b>0;h=h*256+o[s+p],p+=E,b-=8);if(f===0)f=1-x;else{if(f===v)return h?NaN:(k?-1:1)*(1/0);h=h+Math.pow(2,u),f=f-x}return(k?-1:1)*h*Math.pow(2,f-u)},a.write=function(o,s,l,u,c,f){var h,d,v,x=f*8-c-1,b=(1<<x)-1,p=b>>1,E=c===23?Math.pow(2,-24)-Math.pow(2,-77):0,k=u?0:f-1,A=u?1:-1,L=s<0||s===0&&1/s<0?1:0;for(s=Math.abs(s),isNaN(s)||s===1/0?(d=isNaN(s)?1:0,h=b):(h=Math.floor(Math.log(s)/Math.LN2),s*(v=Math.pow(2,-h))<1&&(h--,v*=2),h+p>=1?s+=E/v:s+=E*Math.pow(2,1-p),s*v>=2&&(h++,v/=2),h+p>=b?(d=0,h=b):h+p>=1?(d=(s*v-1)*Math.pow(2,c),h=h+p):(d=s*Math.pow(2,p-1)*Math.pow(2,c),h=0));c>=8;o[l+k]=d&255,k+=A,d/=256,c-=8);for(h=h<<c|d,x+=c;x>0;o[l+k]=h&255,k+=A,h/=256,x-=8);o[l+k-A]|=L*128}},8954:function(i,a,o){\"use strict\";i.exports=p;var s=o(3250),l=o(6803).Fw;function u(E,k,A){this.vertices=E,this.adjacent=k,this.boundary=A,this.lastVisited=-1}u.prototype.flip=function(){var E=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=E;var k=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=k};function c(E,k,A){this.vertices=E,this.cell=k,this.index=A}function f(E,k){return l(E.vertices,k.vertices)}function h(E){return function(){var k=this.tuple;return E.apply(this,k)}}function d(E){var k=s[E+1];return k||(k=s),h(k)}var v=[];function x(E,k,A){this.dimension=E,this.vertices=k,this.simplices=A,this.interior=A.filter(function(C){return!C.boundary}),this.tuple=new Array(E+1);for(var L=0;L<=E;++L)this.tuple[L]=this.vertices[L];var _=v[E];_||(_=v[E]=d(E)),this.orient=_}var b=x.prototype;b.handleBoundaryDegeneracy=function(E,k){var A=this.dimension,L=this.vertices.length-1,_=this.tuple,C=this.vertices,M=[E];for(E.lastVisited=-L;M.length>0;){E=M.pop();for(var g=E.adjacent,P=0;P<=A;++P){var T=g[P];if(!(!T.boundary||T.lastVisited<=-L)){for(var F=T.vertices,q=0;q<=A;++q){var V=F[q];V<0?_[q]=k:_[q]=C[V]}var H=this.orient();if(H>0)return T;T.lastVisited=-L,H===0&&M.push(T)}}}return null},b.walk=function(E,k){var A=this.vertices.length-1,L=this.dimension,_=this.vertices,C=this.tuple,M=k?this.interior.length*Math.random()|0:this.interior.length-1,g=this.interior[M];e:for(;!g.boundary;){for(var P=g.vertices,T=g.adjacent,F=0;F<=L;++F)C[F]=_[P[F]];g.lastVisited=A;for(var F=0;F<=L;++F){var q=T[F];if(!(q.lastVisited>=A)){var V=C[F];C[F]=E;var H=this.orient();if(C[F]=V,H<0){g=q;continue e}else q.boundary?q.lastVisited=-A:q.lastVisited=A}}return}return g},b.addPeaks=function(E,k){var A=this.vertices.length-1,L=this.dimension,_=this.vertices,C=this.tuple,M=this.interior,g=this.simplices,P=[k];k.lastVisited=A,k.vertices[k.vertices.indexOf(-1)]=A,k.boundary=!1,M.push(k);for(var T=[];P.length>0;){var k=P.pop(),F=k.vertices,q=k.adjacent,V=F.indexOf(A);if(!(V<0)){for(var H=0;H<=L;++H)if(H!==V){var X=q[H];if(!(!X.boundary||X.lastVisited>=A)){var G=X.vertices;if(X.lastVisited!==-A){for(var N=0,W=0;W<=L;++W)G[W]<0?(N=W,C[W]=E):C[W]=_[G[W]];var re=this.orient();if(re>0){G[N]=A,X.boundary=!1,M.push(X),P.push(X),X.lastVisited=A;continue}else X.lastVisited=-A}var ae=X.adjacent,_e=F.slice(),Me=q.slice(),ke=new u(_e,Me,!0);g.push(ke);var ge=ae.indexOf(k);if(!(ge<0)){ae[ge]=ke,Me[V]=X,_e[H]=-1,Me[H]=k,q[H]=ke,ke.flip();for(var W=0;W<=L;++W){var ie=_e[W];if(!(ie<0||ie===A)){for(var Te=new Array(L-1),Ee=0,Ae=0;Ae<=L;++Ae){var ze=_e[Ae];ze<0||Ae===W||(Te[Ee++]=ze)}T.push(new c(Te,ke,W))}}}}}}}T.sort(f);for(var H=0;H+1<T.length;H+=2){var Ce=T[H],me=T[H+1],Re=Ce.index,ce=me.index;Re<0||ce<0||(Ce.cell.adjacent[Ce.index]=me.cell,me.cell.adjacent[me.index]=Ce.cell)}},b.insert=function(E,k){var A=this.vertices;A.push(E);var L=this.walk(E,k);if(L){for(var _=this.dimension,C=this.tuple,M=0;M<=_;++M){var g=L.vertices[M];g<0?C[M]=E:C[M]=A[g]}var P=this.orient(C);P<0||P===0&&(L=this.handleBoundaryDegeneracy(L,E),!L)||this.addPeaks(E,L)}},b.boundary=function(){for(var E=this.dimension,k=[],A=this.simplices,L=A.length,_=0;_<L;++_){var C=A[_];if(C.boundary){for(var M=new Array(E),g=C.vertices,P=0,T=0,F=0;F<=E;++F)g[F]>=0?M[P++]=g[F]:T=F&1;if(T===(E&1)){var q=M[0];M[0]=M[1],M[1]=q}k.push(M)}}return k};function p(E,k){var A=E.length;if(A===0)throw new Error(\"Must have at least d+1 points\");var L=E[0].length;if(A<=L)throw new Error(\"Must input at least d+1 points\");var _=E.slice(0,L+1),C=s.apply(void 0,_);if(C===0)throw new Error(\"Input not in general position\");for(var M=new Array(L+1),g=0;g<=L;++g)M[g]=g;C<0&&(M[0]=1,M[1]=0);for(var P=new u(M,new Array(L+1),!1),T=P.adjacent,F=new Array(L+2),g=0;g<=L;++g){for(var q=M.slice(),V=0;V<=L;++V)V===g&&(q[V]=-1);var H=q[0];q[0]=q[1],q[1]=H;var X=new u(q,new Array(L+1),!0);T[g]=X,F[g]=X}F[L+1]=P;for(var g=0;g<=L;++g)for(var q=T[g].vertices,G=T[g].adjacent,V=0;V<=L;++V){var N=q[V];if(N<0){G[V]=P;continue}for(var W=0;W<=L;++W)T[W].vertices.indexOf(N)<0&&(G[V]=T[W])}for(var re=new x(L,_,F),ae=!!k,g=L+1;g<A;++g)re.insert(E[g],ae);return re.boundary()}},3352:function(i,a,o){\"use strict\";var s=o(2478),l=0,u=1,c=2;i.exports=P;function f(T,F,q,V,H){this.mid=T,this.left=F,this.right=q,this.leftPoints=V,this.rightPoints=H,this.count=(F?F.count:0)+(q?q.count:0)+V.length}var h=f.prototype;function d(T,F){T.mid=F.mid,T.left=F.left,T.right=F.right,T.leftPoints=F.leftPoints,T.rightPoints=F.rightPoints,T.count=F.count}function v(T,F){var q=C(F);T.mid=q.mid,T.left=q.left,T.right=q.right,T.leftPoints=q.leftPoints,T.rightPoints=q.rightPoints,T.count=q.count}function x(T,F){var q=T.intervals([]);q.push(F),v(T,q)}function b(T,F){var q=T.intervals([]),V=q.indexOf(F);return V<0?l:(q.splice(V,1),v(T,q),u)}h.intervals=function(T){return T.push.apply(T,this.leftPoints),this.left&&this.left.intervals(T),this.right&&this.right.intervals(T),T},h.insert=function(T){var F=this.count-this.leftPoints.length;if(this.count+=1,T[1]<this.mid)this.left?4*(this.left.count+1)>3*(F+1)?x(this,T):this.left.insert(T):this.left=C([T]);else if(T[0]>this.mid)this.right?4*(this.right.count+1)>3*(F+1)?x(this,T):this.right.insert(T):this.right=C([T]);else{var q=s.ge(this.leftPoints,T,L),V=s.ge(this.rightPoints,T,_);this.leftPoints.splice(q,0,T),this.rightPoints.splice(V,0,T)}},h.remove=function(T){var F=this.count-this.leftPoints;if(T[1]<this.mid){if(!this.left)return l;var q=this.right?this.right.count:0;if(4*q>3*(F-1))return b(this,T);var V=this.left.remove(T);return V===c?(this.left=null,this.count-=1,u):(V===u&&(this.count-=1),V)}else if(T[0]>this.mid){if(!this.right)return l;var H=this.left?this.left.count:0;if(4*H>3*(F-1))return b(this,T);var V=this.right.remove(T);return V===c?(this.right=null,this.count-=1,u):(V===u&&(this.count-=1),V)}else{if(this.count===1)return this.leftPoints[0]===T?c:l;if(this.leftPoints.length===1&&this.leftPoints[0]===T){if(this.left&&this.right){for(var X=this,G=this.left;G.right;)X=G,G=G.right;if(X===this)G.right=this.right;else{var N=this.left,V=this.right;X.count-=G.count,X.right=G.left,G.left=N,G.right=V}d(this,G),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?d(this,this.left):d(this,this.right);return u}for(var N=s.ge(this.leftPoints,T,L);N<this.leftPoints.length&&this.leftPoints[N][0]===T[0];++N)if(this.leftPoints[N]===T){this.count-=1,this.leftPoints.splice(N,1);for(var V=s.ge(this.rightPoints,T,_);V<this.rightPoints.length&&this.rightPoints[V][1]===T[1];++V)if(this.rightPoints[V]===T)return this.rightPoints.splice(V,1),u}return l}};function p(T,F,q){for(var V=0;V<T.length&&T[V][0]<=F;++V){var H=q(T[V]);if(H)return H}}function E(T,F,q){for(var V=T.length-1;V>=0&&T[V][1]>=F;--V){var H=q(T[V]);if(H)return H}}function k(T,F){for(var q=0;q<T.length;++q){var V=F(T[q]);if(V)return V}}h.queryPoint=function(T,F){if(T<this.mid){if(this.left){var q=this.left.queryPoint(T,F);if(q)return q}return p(this.leftPoints,T,F)}else if(T>this.mid){if(this.right){var q=this.right.queryPoint(T,F);if(q)return q}return E(this.rightPoints,T,F)}else return k(this.leftPoints,F)},h.queryInterval=function(T,F,q){if(T<this.mid&&this.left){var V=this.left.queryInterval(T,F,q);if(V)return V}if(F>this.mid&&this.right){var V=this.right.queryInterval(T,F,q);if(V)return V}return F<this.mid?p(this.leftPoints,F,q):T>this.mid?E(this.rightPoints,T,q):k(this.leftPoints,q)};function A(T,F){return T-F}function L(T,F){var q=T[0]-F[0];return q||T[1]-F[1]}function _(T,F){var q=T[1]-F[1];return q||T[0]-F[0]}function C(T){if(T.length===0)return null;for(var F=[],q=0;q<T.length;++q)F.push(T[q][0],T[q][1]);F.sort(A);for(var V=F[F.length>>1],H=[],X=[],G=[],q=0;q<T.length;++q){var N=T[q];N[1]<V?H.push(N):V<N[0]?X.push(N):G.push(N)}var W=G,re=G.slice();return W.sort(L),re.sort(_),new f(V,C(H),C(X),W,re)}function M(T){this.root=T}var g=M.prototype;g.insert=function(T){this.root?this.root.insert(T):this.root=new f(T[0],null,null,[T],[T])},g.remove=function(T){if(this.root){var F=this.root.remove(T);return F===c&&(this.root=null),F!==l}return!1},g.queryPoint=function(T,F){if(this.root)return this.root.queryPoint(T,F)},g.queryInterval=function(T,F,q){if(T<=F&&this.root)return this.root.queryInterval(T,F,q)},Object.defineProperty(g,\"count\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(g,\"intervals\",{get:function(){return this.root?this.root.intervals([]):[]}});function P(T){return!T||T.length===0?new M(null):new M(C(T))}},9507:function(i){i.exports=!0},7163:function(i){i.exports=function(s){return s!=null&&(a(s)||o(s)||!!s._isBuffer)};function a(s){return!!s.constructor&&typeof s.constructor.isBuffer==\"function\"&&s.constructor.isBuffer(s)}function o(s){return typeof s.readFloatLE==\"function\"&&typeof s.slice==\"function\"&&a(s.slice(0,0))}},5219:function(i){\"use strict\";i.exports=function(a){for(var o=a.length,s,l=0;l<o;l++)if(s=a.charCodeAt(l),(s<9||s>13)&&s!==32&&s!==133&&s!==160&&s!==5760&&s!==6158&&(s<8192||s>8205)&&s!==8232&&s!==8233&&s!==8239&&s!==8287&&s!==8288&&s!==12288&&s!==65279)return!1;return!0}},395:function(i){function a(o,s,l){return o*(1-l)+s*l}i.exports=a},2652:function(i,a,o){var s=o(4335),l=o(6864),u=o(1903),c=o(9921),f=o(7608),h=o(5665),d={length:o(1387),normalize:o(3536),dot:o(244),cross:o(5911)},v=l(),x=l(),b=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],E=[0,0,0];i.exports=function(C,M,g,P,T,F){if(M||(M=[0,0,0]),g||(g=[0,0,0]),P||(P=[0,0,0]),T||(T=[0,0,0,1]),F||(F=[0,0,0,1]),!s(v,C)||(u(x,v),x[3]=0,x[7]=0,x[11]=0,x[15]=1,Math.abs(c(x)<1e-8)))return!1;var q=v[3],V=v[7],H=v[11],X=v[12],G=v[13],N=v[14],W=v[15];if(q!==0||V!==0||H!==0){b[0]=q,b[1]=V,b[2]=H,b[3]=W;var re=f(x,x);if(!re)return!1;h(x,x),k(T,b,x)}else T[0]=T[1]=T[2]=0,T[3]=1;if(M[0]=X,M[1]=G,M[2]=N,A(p,v),g[0]=d.length(p[0]),d.normalize(p[0],p[0]),P[0]=d.dot(p[0],p[1]),L(p[1],p[1],p[0],1,-P[0]),g[1]=d.length(p[1]),d.normalize(p[1],p[1]),P[0]/=g[1],P[1]=d.dot(p[0],p[2]),L(p[2],p[2],p[0],1,-P[1]),P[2]=d.dot(p[1],p[2]),L(p[2],p[2],p[1],1,-P[2]),g[2]=d.length(p[2]),d.normalize(p[2],p[2]),P[1]/=g[2],P[2]/=g[2],d.cross(E,p[1],p[2]),d.dot(p[0],E)<0)for(var ae=0;ae<3;ae++)g[ae]*=-1,p[ae][0]*=-1,p[ae][1]*=-1,p[ae][2]*=-1;return F[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),F[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),F[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),F[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(F[0]=-F[0]),p[0][2]>p[2][0]&&(F[1]=-F[1]),p[1][0]>p[0][1]&&(F[2]=-F[2]),!0};function k(_,C,M){var g=C[0],P=C[1],T=C[2],F=C[3];return _[0]=M[0]*g+M[4]*P+M[8]*T+M[12]*F,_[1]=M[1]*g+M[5]*P+M[9]*T+M[13]*F,_[2]=M[2]*g+M[6]*P+M[10]*T+M[14]*F,_[3]=M[3]*g+M[7]*P+M[11]*T+M[15]*F,_}function A(_,C){_[0][0]=C[0],_[0][1]=C[1],_[0][2]=C[2],_[1][0]=C[4],_[1][1]=C[5],_[1][2]=C[6],_[2][0]=C[8],_[2][1]=C[9],_[2][2]=C[10]}function L(_,C,M,g,P){_[0]=C[0]*g+M[0]*P,_[1]=C[1]*g+M[1]*P,_[2]=C[2]*g+M[2]*P}},4335:function(i){i.exports=function(o,s){var l=s[15];if(l===0)return!1;for(var u=1/l,c=0;c<16;c++)o[c]=s[c]*u;return!0}},7442:function(i,a,o){var s=o(6658),l=o(7182),u=o(2652),c=o(9921),f=o(8648),h=b(),d=b(),v=b();i.exports=x;function x(k,A,L,_){if(c(A)===0||c(L)===0)return!1;var C=u(A,h.translate,h.scale,h.skew,h.perspective,h.quaternion),M=u(L,d.translate,d.scale,d.skew,d.perspective,d.quaternion);return!C||!M?!1:(s(v.translate,h.translate,d.translate,_),s(v.skew,h.skew,d.skew,_),s(v.scale,h.scale,d.scale,_),s(v.perspective,h.perspective,d.perspective,_),f(v.quaternion,h.quaternion,d.quaternion,_),l(k,v.translate,v.scale,v.skew,v.perspective,v.quaternion),!0)}function b(){return{translate:p(),scale:p(1),skew:p(),perspective:E(),quaternion:E()}}function p(k){return[k||0,k||0,k||0]}function E(){return[0,0,0,1]}},7182:function(i,a,o){var s={identity:o(7894),translate:o(7656),multiply:o(6760),create:o(6864),scale:o(2504),fromRotationTranslation:o(6743)},l=s.create(),u=s.create();i.exports=function(f,h,d,v,x,b){return s.identity(f),s.fromRotationTranslation(f,b,h),f[3]=x[0],f[7]=x[1],f[11]=x[2],f[15]=x[3],s.identity(u),v[2]!==0&&(u[9]=v[2],s.multiply(f,f,u)),v[1]!==0&&(u[9]=0,u[8]=v[1],s.multiply(f,f,u)),v[0]!==0&&(u[8]=0,u[4]=v[0],s.multiply(f,f,u)),s.scale(f,f,d),f}},1811:function(i,a,o){\"use strict\";var s=o(2478),l=o(7442),u=o(7608),c=o(5567),f=o(2408),h=o(7089),d=o(6582),v=o(7656),x=o(2504),b=o(3536),p=[0,0,0];i.exports=L;function E(_){this._components=_.slice(),this._time=[0],this.prevMatrix=_.slice(),this.nextMatrix=_.slice(),this.computedMatrix=_.slice(),this.computedInverse=_.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]}var k=E.prototype;k.recalcMatrix=function(_){var C=this._time,M=s.le(C,_),g=this.computedMatrix;if(!(M<0)){var P=this._components;if(M===C.length-1)for(var T=16*M,F=0;F<16;++F)g[F]=P[T++];else{for(var q=C[M+1]-C[M],T=16*M,V=this.prevMatrix,H=!0,F=0;F<16;++F)V[F]=P[T++];for(var X=this.nextMatrix,F=0;F<16;++F)X[F]=P[T++],H=H&&V[F]===X[F];if(q<1e-6||H)for(var F=0;F<16;++F)g[F]=V[F];else l(g,V,X,(_-C[M])/q)}var G=this.computedUp;G[0]=g[1],G[1]=g[5],G[2]=g[9],b(G,G);var N=this.computedInverse;u(N,g);var W=this.computedEye,re=N[15];W[0]=N[12]/re,W[1]=N[13]/re,W[2]=N[14]/re;for(var ae=this.computedCenter,_e=Math.exp(this.computedRadius[0]),F=0;F<3;++F)ae[F]=W[F]-g[2+4*F]*_e}},k.idle=function(_){if(!(_<this.lastT())){for(var C=this._components,M=C.length-16,g=0;g<16;++g)C.push(C[M++]);this._time.push(_)}},k.flush=function(_){var C=s.gt(this._time,_)-2;C<0||(this._time.splice(0,C),this._components.splice(0,16*C))},k.lastT=function(){return this._time[this._time.length-1]},k.lookAt=function(_,C,M,g){this.recalcMatrix(_),C=C||this.computedEye,M=M||p,g=g||this.computedUp,this.setMatrix(_,d(this.computedMatrix,C,M,g));for(var P=0,T=0;T<3;++T)P+=Math.pow(M[T]-C[T],2);P=Math.log(Math.sqrt(P)),this.computedRadius[0]=P},k.rotate=function(_,C,M,g){this.recalcMatrix(_);var P=this.computedInverse;C&&f(P,P,C),M&&c(P,P,M),g&&h(P,P,g),this.setMatrix(_,u(this.computedMatrix,P))};var A=[0,0,0];k.pan=function(_,C,M,g){A[0]=-(C||0),A[1]=-(M||0),A[2]=-(g||0),this.recalcMatrix(_);var P=this.computedInverse;v(P,P,A),this.setMatrix(_,u(P,P))},k.translate=function(_,C,M,g){A[0]=C||0,A[1]=M||0,A[2]=g||0,this.recalcMatrix(_);var P=this.computedMatrix;v(P,P,A),this.setMatrix(_,P)},k.setMatrix=function(_,C){if(!(_<this.lastT())){this._time.push(_);for(var M=0;M<16;++M)this._components.push(C[M])}},k.setDistance=function(_,C){this.computedRadius[0]=C},k.setDistanceLimits=function(_,C){var M=this._limits;M[0]=_,M[1]=C},k.getDistanceLimits=function(_){var C=this._limits;return _?(_[0]=C[0],_[1]=C[1],_):C};function L(_){_=_||{};var C=_.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return new E(C)}},3090:function(i,a,o){\"use strict\";i.exports=l;var s=o(3250)[3];function l(u){var c=u.length;if(c<3){for(var E=new Array(c),f=0;f<c;++f)E[f]=f;return c===2&&u[0][0]===u[1][0]&&u[0][1]===u[1][1]?[0]:E}for(var h=new Array(c),f=0;f<c;++f)h[f]=f;h.sort(function(_,C){var M=u[_][0]-u[C][0];return M||u[_][1]-u[C][1]});for(var d=[h[0],h[1]],v=[h[0],h[1]],f=2;f<c;++f){for(var x=h[f],b=u[x],p=d.length;p>1&&s(u[d[p-2]],u[d[p-1]],b)<=0;)p-=1,d.pop();for(d.push(x),p=v.length;p>1&&s(u[v[p-2]],u[v[p-1]],b)>=0;)p-=1,v.pop();v.push(x)}for(var E=new Array(v.length+d.length-2),k=0,f=0,A=d.length;f<A;++f)E[k++]=d[f];for(var L=v.length-2;L>0;--L)E[k++]=v[L];return E}},351:function(i,a,o){\"use strict\";i.exports=l;var s=o(4687);function l(u,c){c||(c=u,u=window);var f=0,h=0,d=0,v={shift:!1,alt:!1,control:!1,meta:!1},x=!1;function b(T){var F=!1;return\"altKey\"in T&&(F=F||T.altKey!==v.alt,v.alt=!!T.altKey),\"shiftKey\"in T&&(F=F||T.shiftKey!==v.shift,v.shift=!!T.shiftKey),\"ctrlKey\"in T&&(F=F||T.ctrlKey!==v.control,v.control=!!T.ctrlKey),\"metaKey\"in T&&(F=F||T.metaKey!==v.meta,v.meta=!!T.metaKey),F}function p(T,F){var q=s.x(F),V=s.y(F);\"buttons\"in F&&(T=F.buttons|0),(T!==f||q!==h||V!==d||b(F))&&(f=T|0,h=q||0,d=V||0,c&&c(f,h,d,v))}function E(T){p(0,T)}function k(){(f||h||d||v.shift||v.alt||v.meta||v.control)&&(h=d=0,f=0,v.shift=v.alt=v.control=v.meta=!1,c&&c(0,0,0,v))}function A(T){b(T)&&c&&c(f,h,d,v)}function L(T){s.buttons(T)===0?p(0,T):p(f,T)}function _(T){p(f|s.buttons(T),T)}function C(T){p(f&~s.buttons(T),T)}function M(){x||(x=!0,u.addEventListener(\"mousemove\",L),u.addEventListener(\"mousedown\",_),u.addEventListener(\"mouseup\",C),u.addEventListener(\"mouseleave\",E),u.addEventListener(\"mouseenter\",E),u.addEventListener(\"mouseout\",E),u.addEventListener(\"mouseover\",E),u.addEventListener(\"blur\",k),u.addEventListener(\"keyup\",A),u.addEventListener(\"keydown\",A),u.addEventListener(\"keypress\",A),u!==window&&(window.addEventListener(\"blur\",k),window.addEventListener(\"keyup\",A),window.addEventListener(\"keydown\",A),window.addEventListener(\"keypress\",A)))}function g(){x&&(x=!1,u.removeEventListener(\"mousemove\",L),u.removeEventListener(\"mousedown\",_),u.removeEventListener(\"mouseup\",C),u.removeEventListener(\"mouseleave\",E),u.removeEventListener(\"mouseenter\",E),u.removeEventListener(\"mouseout\",E),u.removeEventListener(\"mouseover\",E),u.removeEventListener(\"blur\",k),u.removeEventListener(\"keyup\",A),u.removeEventListener(\"keydown\",A),u.removeEventListener(\"keypress\",A),u!==window&&(window.removeEventListener(\"blur\",k),window.removeEventListener(\"keyup\",A),window.removeEventListener(\"keydown\",A),window.removeEventListener(\"keypress\",A)))}M();var P={element:u};return Object.defineProperties(P,{enabled:{get:function(){return x},set:function(T){T?M():g()},enumerable:!0},buttons:{get:function(){return f},enumerable:!0},x:{get:function(){return h},enumerable:!0},y:{get:function(){return d},enumerable:!0},mods:{get:function(){return v},enumerable:!0}}),P}},24:function(i){var a={left:0,top:0};i.exports=o;function o(l,u,c){u=u||l.currentTarget||l.srcElement,Array.isArray(c)||(c=[0,0]);var f=l.clientX||0,h=l.clientY||0,d=s(u);return c[0]=f-d.left,c[1]=h-d.top,c}function s(l){return l===window||l===document||l===document.body?a:l.getBoundingClientRect()}},4687:function(i,a){\"use strict\";function o(c){if(typeof c==\"object\"){if(\"buttons\"in c)return c.buttons;if(\"which\"in c){var f=c.which;if(f===2)return 4;if(f===3)return 2;if(f>0)return 1<<f-1}else if(\"button\"in c){var f=c.button;if(f===1)return 4;if(f===2)return 2;if(f>=0)return 1<<f}}return 0}a.buttons=o;function s(c){return c.target||c.srcElement||window}a.element=s;function l(c){if(typeof c==\"object\"){if(\"offsetX\"in c)return c.offsetX;var f=s(c),h=f.getBoundingClientRect();return c.clientX-h.left}return 0}a.x=l;function u(c){if(typeof c==\"object\"){if(\"offsetY\"in c)return c.offsetY;var f=s(c),h=f.getBoundingClientRect();return c.clientY-h.top}return 0}a.y=u},8512:function(i,a,o){\"use strict\";var s=o(665);i.exports=l;function l(u,c,f){typeof u==\"function\"&&(f=!!c,c=u,u=window);var h=s(\"ex\",u),d=function(v){f&&v.preventDefault();var x=v.deltaX||0,b=v.deltaY||0,p=v.deltaZ||0,E=v.deltaMode,k=1;switch(E){case 1:k=h;break;case 2:k=window.innerHeight;break}if(x*=k,b*=k,p*=k,x||b||p)return c(x,b,p,v)};return u.addEventListener(\"wheel\",d),d}},2640:function(i,a,o){\"use strict\";var s=o(1888);i.exports=c;var l={\"false,0,1\":function(h,d,v,x,b){return function(E,k,A,L){var _=E.shape[0]|0,C=E.shape[1]|0,M=E.data,g=E.offset|0,P=E.stride[0]|0,T=E.stride[1]|0,F=g,q,V=-P|0,H=0,X=-T|0,G=0,N=-P-T|0,W=0,re=P|0,ae=T-P*_|0,_e=0,Me=0,ke=0,ge=2*_|0,ie=x(ge),Te=x(ge),Ee=0,Ae=0,ze=-1,Ce=-1,me=0,Re=-_|0,ce=_|0,Ge=0,nt=-_-1|0,ct=_-1|0,qt=0,rt=0,ot=0;for(_e=0;_e<_;++_e)ie[Ee++]=v(M[F],k,A,L),F+=re;if(F+=ae,C>0){if(Me=1,ie[Ee++]=v(M[F],k,A,L),F+=re,_>0)for(_e=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++),Ee+=1,F+=re,_e=2;_e<_;++_e)q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++,qt!==me&&d(Te[Ee+ze],rt,W,H,qt,me,k,A,L)),Ee+=1,F+=re;for(F+=ae,Ee=0,ot=ze,ze=Ce,Ce=ot,ot=Re,Re=ce,ce=ot,ot=nt,nt=ct,ct=ot,Me=2;Me<C;++Me){if(ie[Ee++]=v(M[F],k,A,L),F+=re,_>0)for(_e=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++,qt!==Ge&&d(Te[Ee+Re],rt,G,W,Ge,qt,k,A,L)),Ee+=1,F+=re,_e=2;_e<_;++_e)q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++,qt!==Ge&&d(Te[Ee+Re],rt,G,W,Ge,qt,k,A,L),qt!==me&&d(Te[Ee+ze],rt,W,H,qt,me,k,A,L)),Ee+=1,F+=re;Me&1&&(Ee=0),ot=ze,ze=Ce,Ce=ot,ot=Re,Re=ce,ce=ot,ot=nt,nt=ct,ct=ot,F+=ae}}b(Te),b(ie)}},\"false,1,0\":function(h,d,v,x,b){return function(E,k,A,L){var _=E.shape[0]|0,C=E.shape[1]|0,M=E.data,g=E.offset|0,P=E.stride[0]|0,T=E.stride[1]|0,F=g,q,V=-P|0,H=0,X=-T|0,G=0,N=-P-T|0,W=0,re=T|0,ae=P-T*C|0,_e=0,Me=0,ke=0,ge=2*C|0,ie=x(ge),Te=x(ge),Ee=0,Ae=0,ze=-1,Ce=-1,me=0,Re=-C|0,ce=C|0,Ge=0,nt=-C-1|0,ct=C-1|0,qt=0,rt=0,ot=0;for(Me=0;Me<C;++Me)ie[Ee++]=v(M[F],k,A,L),F+=re;if(F+=ae,_>0){if(_e=1,ie[Ee++]=v(M[F],k,A,L),F+=re,C>0)for(Me=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++),Ee+=1,F+=re,Me=2;Me<C;++Me)q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++,qt!==me&&d(Te[Ee+ze],rt,G,W,me,qt,k,A,L)),Ee+=1,F+=re;for(F+=ae,Ee=0,ot=Re,Re=ce,ce=ot,ot=ze,ze=Ce,Ce=ot,ot=nt,nt=ct,ct=ot,_e=2;_e<_;++_e){if(ie[Ee++]=v(M[F],k,A,L),F+=re,C>0)for(Me=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++,qt!==Ge&&d(Te[Ee+Re],rt,W,H,qt,Ge,k,A,L)),Ee+=1,F+=re,Me=2;Me<C;++Me)q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++,qt!==me&&d(Te[Ee+ze],rt,G,W,me,qt,k,A,L),qt!==Ge&&d(Te[Ee+Re],rt,W,H,qt,Ge,k,A,L)),Ee+=1,F+=re;_e&1&&(Ee=0),ot=Re,Re=ce,ce=ot,ot=ze,ze=Ce,Ce=ot,ot=nt,nt=ct,ct=ot,F+=ae}}b(Te),b(ie)}}};function u(f,h,d,v,x,b){var p=[b,x].join(\",\"),E=l[p];return E(f,h,d,s.mallocUint32,s.freeUint32)}function c(f){function h(k){throw new Error(\"ndarray-extract-contour: \"+k)}typeof f!=\"object\"&&h(\"Must specify arguments\");var d=f.order;Array.isArray(d)||h(\"Must specify order\");var v=f.arrayArguments||1;v<1&&h(\"Must have at least one array argument\");var x=f.scalarArguments||0;x<0&&h(\"Scalar arg count must be > 0\"),typeof f.vertex!=\"function\"&&h(\"Must specify vertex creation function\"),typeof f.cell!=\"function\"&&h(\"Must specify cell creation function\"),typeof f.phase!=\"function\"&&h(\"Must specify phase function\");for(var b=f.getters||[],p=new Array(v),E=0;E<v;++E)b.indexOf(E)>=0?p[E]=!0:p[E]=!1;return u(f.vertex,f.cell,f.phase,x,d,p)}},6199:function(i,a,o){\"use strict\";var s=o(1338),l={zero:function(L,_,C,M){var g=L[0],P=C[0];M|=0;var T=0,F=P;for(T=0;T<g;++T)_[M]=0,M+=F},fdTemplate1:function(L,_,C,M,g,P,T){var F=L[0],q=C[0],V=P[0],H=-1*q,X=q;M|=0,T|=0;var G=0,N=q,W=V;for(G=0;G<F;++G)g[T]=.5*(_[M+H]-_[M+X]),M+=N,T+=W},fdTemplate2:function(L,_,C,M,g,P,T,F,q,V){var H=L[0],X=L[1],G=C[0],N=C[1],W=P[0],re=P[1],ae=q[0],_e=q[1],Me=-1*G,ke=G,ge=-1*N,ie=N;M|=0,T|=0,V|=0;var Te=0,Ee=0,Ae=N,ze=G-X*N,Ce=re,me=W-X*re,Re=_e,ce=ae-X*_e;for(Ee=0;Ee<H;++Ee){for(Te=0;Te<X;++Te)g[T]=.5*(_[M+Me]-_[M+ke]),F[V]=.5*(_[M+ge]-_[M+ie]),M+=Ae,T+=Ce,V+=Re;M+=ze,T+=me,V+=ce}}},u={cdiff:function(L){var _={};return function(M,g,P){var T=M.dtype,F=M.order,q=g.dtype,V=g.order,H=P.dtype,X=P.order,G=[T,F.join(),q,V.join(),H,X.join()].join(),N=_[G];return N||(_[G]=N=L([T,F,q,V,H,X])),N(M.shape.slice(0),M.data,M.stride,M.offset|0,g.data,g.stride,g.offset|0,P.data,P.stride,P.offset|0)}},zero:function(L){var _={};return function(M){var g=M.dtype,P=M.order,T=[g,P.join()].join(),F=_[T];return F||(_[T]=F=L([g,P])),F(M.shape.slice(0),M.data,M.stride,M.offset|0)}},fdTemplate1:function(L){var _={};return function(M,g){var P=M.dtype,T=M.order,F=g.dtype,q=g.order,V=[P,T.join(),F,q.join()].join(),H=_[V];return H||(_[V]=H=L([P,T,F,q])),H(M.shape.slice(0),M.data,M.stride,M.offset|0,g.data,g.stride,g.offset|0)}},fdTemplate2:function(L){var _={};return function(M,g,P){var T=M.dtype,F=M.order,q=g.dtype,V=g.order,H=P.dtype,X=P.order,G=[T,F.join(),q,V.join(),H,X.join()].join(),N=_[G];return N||(_[G]=N=L([T,F,q,V,H,X])),N(M.shape.slice(0),M.data,M.stride,M.offset|0,g.data,g.stride,g.offset|0,P.data,P.stride,P.offset|0)}}};function c(L){var _=u[L.funcName];return _(f.bind(void 0,L))}function f(L){return l[L.funcName]}function h(L){return c({funcName:L.funcName})}var d={},v={},x={body:\"\",args:[],thisVars:[],localVars:[]},b=h({funcName:\"cdiff\"}),p=h({funcName:\"zero\"});function E(L){return L in d?d[L]:d[L]=h({funcName:\"fdTemplate\"+L})}function k(L,_,C,M){return function(g,P){var T=P.shape.slice();return T[0]>2&&T[1]>2&&M(P.pick(-1,-1).lo(1,1).hi(T[0]-2,T[1]-2),g.pick(-1,-1,0).lo(1,1).hi(T[0]-2,T[1]-2),g.pick(-1,-1,1).lo(1,1).hi(T[0]-2,T[1]-2)),T[1]>2&&(C(P.pick(0,-1).lo(1).hi(T[1]-2),g.pick(0,-1,1).lo(1).hi(T[1]-2)),_(g.pick(0,-1,0).lo(1).hi(T[1]-2))),T[1]>2&&(C(P.pick(T[0]-1,-1).lo(1).hi(T[1]-2),g.pick(T[0]-1,-1,1).lo(1).hi(T[1]-2)),_(g.pick(T[0]-1,-1,0).lo(1).hi(T[1]-2))),T[0]>2&&(C(P.pick(-1,0).lo(1).hi(T[0]-2),g.pick(-1,0,0).lo(1).hi(T[0]-2)),_(g.pick(-1,0,1).lo(1).hi(T[0]-2))),T[0]>2&&(C(P.pick(-1,T[1]-1).lo(1).hi(T[0]-2),g.pick(-1,T[1]-1,0).lo(1).hi(T[0]-2)),_(g.pick(-1,T[1]-1,1).lo(1).hi(T[0]-2))),g.set(0,0,0,0),g.set(0,0,1,0),g.set(T[0]-1,0,0,0),g.set(T[0]-1,0,1,0),g.set(0,T[1]-1,0,0),g.set(0,T[1]-1,1,0),g.set(T[0]-1,T[1]-1,0,0),g.set(T[0]-1,T[1]-1,1,0),g}}function A(L){var _=L.join(),T=v[_];if(T)return T;for(var C=L.length,M=[b,p],g=1;g<=C;++g)M.push(E(g));var P=k,T=P.apply(void 0,M);return v[_]=T,T}i.exports=function(_,C,M){if(Array.isArray(M)||(typeof M==\"string\"?M=s(C.dimension,M):M=s(C.dimension,\"clamp\")),C.size===0)return _;if(C.dimension===0)return _.set(0),_;var g=A(M);return g(_,C)}},4317:function(i){\"use strict\";function a(c,f){var h=Math.floor(f),d=f-h,v=0<=h&&h<c.shape[0],x=0<=h+1&&h+1<c.shape[0],b=v?+c.get(h):0,p=x?+c.get(h+1):0;return(1-d)*b+d*p}function o(c,f,h){var d=Math.floor(f),v=f-d,x=0<=d&&d<c.shape[0],b=0<=d+1&&d+1<c.shape[0],p=Math.floor(h),E=h-p,k=0<=p&&p<c.shape[1],A=0<=p+1&&p+1<c.shape[1],L=x&&k?c.get(d,p):0,_=x&&A?c.get(d,p+1):0,C=b&&k?c.get(d+1,p):0,M=b&&A?c.get(d+1,p+1):0;return(1-E)*((1-v)*L+v*C)+E*((1-v)*_+v*M)}function s(c,f,h,d){var v=Math.floor(f),x=f-v,b=0<=v&&v<c.shape[0],p=0<=v+1&&v+1<c.shape[0],E=Math.floor(h),k=h-E,A=0<=E&&E<c.shape[1],L=0<=E+1&&E+1<c.shape[1],_=Math.floor(d),C=d-_,M=0<=_&&_<c.shape[2],g=0<=_+1&&_+1<c.shape[2],P=b&&A&&M?c.get(v,E,_):0,T=b&&L&&M?c.get(v,E+1,_):0,F=p&&A&&M?c.get(v+1,E,_):0,q=p&&L&&M?c.get(v+1,E+1,_):0,V=b&&A&&g?c.get(v,E,_+1):0,H=b&&L&&g?c.get(v,E+1,_+1):0,X=p&&A&&g?c.get(v+1,E,_+1):0,G=p&&L&&g?c.get(v+1,E+1,_+1):0;return(1-C)*((1-k)*((1-x)*P+x*F)+k*((1-x)*T+x*q))+C*((1-k)*((1-x)*V+x*X)+k*((1-x)*H+x*G))}function l(c){var f=c.shape.length|0,h=new Array(f),d=new Array(f),v=new Array(f),x=new Array(f),b,p;for(b=0;b<f;++b)p=+arguments[b+1],h[b]=Math.floor(p),d[b]=p-h[b],v[b]=0<=h[b]&&h[b]<c.shape[b],x[b]=0<=h[b]+1&&h[b]+1<c.shape[b];var E=0,k,A,L;e:for(b=0;b<1<<f;++b){for(A=1,L=c.offset,k=0;k<f;++k)if(b&1<<k){if(!x[k])continue e;A*=d[k],L+=c.stride[k]*(h[k]+1)}else{if(!v[k])continue e;A*=1-d[k],L+=c.stride[k]*h[k]}E+=A*c.data[L]}return E}function u(c,f,h,d){switch(c.shape.length){case 0:return 0;case 1:return a(c,f);case 2:return o(c,f,h);case 3:return s(c,f,h,d);default:return l.apply(void 0,arguments)}}i.exports=u,i.exports.d1=a,i.exports.d2=o,i.exports.d3=s},5298:function(i,a){\"use strict\";var o={\"float64,2,1,0\":function(){return function(v,x,b,p,E){var k=v[0],A=v[1],L=v[2],_=b[0],C=b[1],M=b[2];p|=0;var g=0,P=0,T=0,F=M,q=C-L*M,V=_-A*C;for(T=0;T<k;++T){for(P=0;P<A;++P){for(g=0;g<L;++g)x[p]/=E,p+=F;p+=q}p+=V}}},\"uint8,2,0,1,float64,2,1,0\":function(){return function(v,x,b,p,E,k,A,L){var _=v[0],C=v[1],M=v[2],g=b[0],P=b[1],T=b[2],F=k[0],q=k[1],V=k[2];p|=0,A|=0;for(var H=p,X=A,G=v[0]|0;G>0;){G<64?(_=G,G=0):(_=64,G-=64);for(var N=v[1]|0;N>0;){N<64?(C=N,N=0):(C=64,N-=64),p=H+G*g+N*P,A=X+G*F+N*q;var W=0,re=0,ae=0,_e=T,Me=g-M*T,ke=P-_*g,ge=V,ie=F-M*V,Te=q-_*F;for(ae=0;ae<C;++ae){for(re=0;re<_;++re){for(W=0;W<M;++W)x[p]=E[A]*L,p+=_e,A+=ge;p+=Me,A+=ie}p+=ke,A+=Te}}}}},\"float32,1,0,float32,1,0\":function(){return function(v,x,b,p,E,k,A){var L=v[0],_=v[1],C=b[0],M=b[1],g=k[0],P=k[1];p|=0,A|=0;var T=0,F=0,q=M,V=C-_*M,H=P,X=g-_*P;for(F=0;F<L;++F){for(T=0;T<_;++T)x[p]=E[A],p+=q,A+=H;p+=V,A+=X}}},\"float32,1,0,float32,0,1\":function(){return function(v,x,b,p,E,k,A){var L=v[0],_=v[1],C=b[0],M=b[1],g=k[0],P=k[1];p|=0,A|=0;for(var T=p,F=A,q=v[1]|0;q>0;){q<64?(_=q,q=0):(_=64,q-=64);for(var V=v[0]|0;V>0;){V<64?(L=V,V=0):(L=64,V-=64),p=T+q*M+V*C,A=F+q*P+V*g;var H=0,X=0,G=M,N=C-_*M,W=P,re=g-_*P;for(X=0;X<L;++X){for(H=0;H<_;++H)x[p]=E[A],p+=G,A+=W;p+=N,A+=re}}}}},\"uint8,2,0,1,uint8,1,2,0\":function(){return function(v,x,b,p,E,k,A){var L=v[0],_=v[1],C=v[2],M=b[0],g=b[1],P=b[2],T=k[0],F=k[1],q=k[2];p|=0,A|=0;for(var V=p,H=A,X=v[2]|0;X>0;){X<64?(C=X,X=0):(C=64,X-=64);for(var G=v[0]|0;G>0;){G<64?(L=G,G=0):(L=64,G-=64);for(var N=v[1]|0;N>0;){N<64?(_=N,N=0):(_=64,N-=64),p=V+X*P+G*M+N*g,A=H+X*q+G*T+N*F;var W=0,re=0,ae=0,_e=P,Me=M-C*P,ke=g-L*M,ge=q,ie=T-C*q,Te=F-L*T;for(ae=0;ae<_;++ae){for(re=0;re<L;++re){for(W=0;W<C;++W)x[p]=E[A],p+=_e,A+=ge;p+=Me,A+=ie}p+=ke,A+=Te}}}}}},\"uint8,2,0,1,array,2,0,1\":function(){return function(v,x,b,p,E,k,A){var L=v[0],_=v[1],C=v[2],M=b[0],g=b[1],P=b[2],T=k[0],F=k[1],q=k[2];p|=0,A|=0;var V=0,H=0,X=0,G=P,N=M-C*P,W=g-L*M,re=q,ae=T-C*q,_e=F-L*T;for(X=0;X<_;++X){for(H=0;H<L;++H){for(V=0;V<C;++V)x[p]=E[A],p+=G,A+=re;p+=N,A+=ae}p+=W,A+=_e}}}};function s(d,v){var x=v.join(\",\"),b=o[x];return b()}var l=s,u={mul:function(d){var v={};return function(b,p,E){var k=b.dtype,A=b.order,L=p.dtype,_=p.order,C=E.dtype,M=E.order,g=[k,A.join(),L,_.join(),C,M.join()].join(),P=v[g];return P||(v[g]=P=d([k,A,L,_,C,M])),P(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0,E.data,E.stride,E.offset|0)}},muls:function(d){var v={};return function(b,p,E){var k=b.dtype,A=b.order,L=p.dtype,_=p.order,C=[k,A.join(),L,_.join()].join(),M=v[C];return M||(v[C]=M=d([k,A,L,_])),M(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0,E)}},mulseq:function(d){var v={};return function(b,p){var E=b.dtype,k=b.order,A=[E,k.join()].join(),L=v[A];return L||(v[A]=L=d([E,k])),L(b.shape.slice(0),b.data,b.stride,b.offset|0,p)}},div:function(d){var v={};return function(b,p,E){var k=b.dtype,A=b.order,L=p.dtype,_=p.order,C=E.dtype,M=E.order,g=[k,A.join(),L,_.join(),C,M.join()].join(),P=v[g];return P||(v[g]=P=d([k,A,L,_,C,M])),P(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0,E.data,E.stride,E.offset|0)}},divs:function(d){var v={};return function(b,p,E){var k=b.dtype,A=b.order,L=p.dtype,_=p.order,C=[k,A.join(),L,_.join()].join(),M=v[C];return M||(v[C]=M=d([k,A,L,_])),M(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0,E)}},divseq:function(d){var v={};return function(b,p){var E=b.dtype,k=b.order,A=[E,k.join()].join(),L=v[A];return L||(v[A]=L=d([E,k])),L(b.shape.slice(0),b.data,b.stride,b.offset|0,p)}},assign:function(d){var v={};return function(b,p){var E=b.dtype,k=b.order,A=p.dtype,L=p.order,_=[E,k.join(),A,L.join()].join(),C=v[_];return C||(v[_]=C=d([E,k,A,L])),C(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0)}}};function c(d){var v=u[d.funcName];return v(l.bind(void 0,d))}function f(d){return c({funcName:d.funcName})}var h={mul:\"*\",div:\"/\"};(function(){for(var d in h)a[d]=f({funcName:d}),a[d+\"s\"]=f({funcName:d+\"s\"}),a[d+\"seq\"]=f({funcName:d+\"seq\"})})(),a.assign=f({funcName:\"assign\"})},9994:function(i,a,o){\"use strict\";var s=o(9618),l=o(8277);i.exports=function(c,f){for(var h=[],d=c,v=1;Array.isArray(d);)h.push(d.length),v*=d.length,d=d[0];return h.length===0?s():(f||(f=s(new Float64Array(v),h)),l(f,c),f)}},8277:function(i){\"use strict\";function a(){return function(f,h,d,v,x){var b=f[0],p=f[1],E=f[2],k=d[0],A=d[1],L=d[2],_=[0,0,0];v|=0;var C=0,M=0,g=0,P=L,T=A-E*L,F=k-p*A;for(g=0;g<b;++g){for(M=0;M<p;++M){for(C=0;C<E;++C){{var q=x,V;for(V=0;V<_.length-1;++V)q=q[_[V]];h[v]=q[_[_.length-1]]}v+=P,++_[2]}v+=T,_[2]-=E,++_[1]}v+=F,_[1]-=p,++_[0]}}}function o(){return a()}var s=o;function l(f){var h={};return function(v,x){var b=v.dtype,p=v.order,E=[b,p.join()].join(),k=h[E];return k||(h[E]=k=f([b,p])),k(v.shape.slice(0),v.data,v.stride,v.offset|0,x)}}function u(f){return l(s.bind(void 0,f))}function c(f){return u({funcName:f.funcName})}i.exports=c({funcName:\"convert\"})},7640:function(i,a,o){\"use strict\";var s=o(1888);function l(x){switch(x){case\"uint32\":return[s.mallocUint32,s.freeUint32];default:return null}}var u={\"uint32,1,0\":function(x,b){return function(E,k,A,L,_,C,M,g,P,T,F){var q,V,H,X=E*_+L,G,N=x(g),W,re,ae,_e;for(q=E+1;q<=k;++q){for(V=q,X+=_,H=X,W=0,re=X,G=0;G<g;++G)N[W++]=A[re],re+=P;e:for(;V-- >E;){W=0,re=H-_;t:for(G=0;G<g;++G){if(ae=A[re],_e=N[W],ae<_e)break e;if(ae>_e)break t;re+=T,W+=F}for(W=H,re=H-_,G=0;G<g;++G)A[W]=A[re],W+=P,re+=P;H-=_}for(W=H,re=0,G=0;G<g;++G)A[W]=N[re++],W+=P}b(N)}}};function c(x,b){var p=l(b),E=[b,x].join(\",\"),k=u[E];return p?k(p[0],p[1]):k()}var f={\"uint32,1,0\":function(x,b,p){return function E(k,A,L,_,C,M,g,P,T,F,q){var V=(A-k+1)/6|0,H=k+V,X=A-V,G=k+A>>1,N=G-V,W=G+V,re=H,ae=N,_e=G,Me=W,ke=X,ge=k+1,ie=A-1,Te=!0,Ee,Ae,ze,Ce,me,Re,ce,Ge,nt,ct=0,qt=0,rt=0,ot,Rt,kt,Ct,Yt,xr,er,Ke,xt,bt,Lt,St,Et,dt,Ht,$t,fr=P,_r=b(fr),Br=b(fr);Rt=C*re,kt=C*ae,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=re,re=ae,ae=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*Me,kt=C*ke,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=Me,Me=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*re,kt=C*_e,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=re,re=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*ae,kt=C*_e,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=ae,ae=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*re,kt=C*Me,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=re,re=Me,Me=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*_e,kt=C*Me,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=_e,_e=Me,Me=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*ae,kt=C*ke,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=ae,ae=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*ae,kt=C*_e,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=ae,ae=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*Me,kt=C*ke,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=Me,Me=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}for(Rt=C*re,kt=C*ae,Ct=C*_e,Yt=C*Me,xr=C*ke,er=C*H,Ke=C*G,xt=C*X,Ht=0,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,nt=Ct+$t,bt=Yt+$t,Lt=xr+$t,St=er+$t,Et=Ke+$t,dt=xt+$t,_r[Ht]=L[Ge],Br[Ht]=L[bt],Te=Te&&_r[Ht]===Br[Ht],ze=L[ce],Ce=L[nt],me=L[Lt],L[St]=ze,L[Et]=Ce,L[dt]=me,++Ht,$t+=T;for(Rt=C*N,kt=C*k,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,L[ce]=L[Ge],$t+=T;for(Rt=C*W,kt=C*A,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,L[ce]=L[Ge],$t+=T;if(Te)for(Re=ge;Re<=ie;++Re){ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-_r[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt!==0)if(rt<0){if(Re!==ge)for(Rt=C*Re,kt=C*ge,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;++ge}else for(;;){ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-_r[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt>0)ie--;else if(rt<0){for(Rt=C*Re,kt=C*ge,Ct=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,nt=Ct+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=L[nt],L[nt]=Ee,$t+=T;++ge,--ie;break}else{for(Rt=C*Re,kt=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;--ie;break}}}else for(Re=ge;Re<=ie;++Re){ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(ct=L[ce]-_r[Ht],ct!==0)break e;Ht+=q,ce+=F}if(ct<0){if(Re!==ge)for(Rt=C*Re,kt=C*ge,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;++ge}else{ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(qt=L[ce]-Br[Ht],qt!==0)break e;Ht+=q,ce+=F}if(qt>0)for(;;){ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-Br[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt>0){if(--ie<Re)break;continue}else{ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-_r[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt<0){for(Rt=C*Re,kt=C*ge,Ct=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,nt=Ct+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=L[nt],L[nt]=Ee,$t+=T;++ge,--ie}else{for(Rt=C*Re,kt=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;--ie}break}}}}for(Rt=C*k,kt=C*(ge-1),Ht=0,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,L[ce]=L[Ge],L[Ge]=_r[Ht],++Ht,$t+=T;for(Rt=C*A,kt=C*(ie+1),Ht=0,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,L[ce]=L[Ge],L[Ge]=Br[Ht],++Ht,$t+=T;if(ge-2-k<=32?x(k,ge-2,L,_,C,M,g,P,T,F,q):E(k,ge-2,L,_,C,M,g,P,T,F,q),A-(ie+2)<=32?x(ie+2,A,L,_,C,M,g,P,T,F,q):E(ie+2,A,L,_,C,M,g,P,T,F,q),Te){p(_r),p(Br);return}if(ge<H&&ie>X){e:for(;;){for(ce=_+ge*C,Ht=0,$t=_,ot=0;ot<P;++ot){if(L[ce]!==_r[Ht])break e;++Ht,ce+=T}++ge}e:for(;;){for(ce=_+ie*C,Ht=0,$t=_,ot=0;ot<P;++ot){if(L[ce]!==Br[Ht])break e;++Ht,ce+=T}--ie}for(Re=ge;Re<=ie;++Re){ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(ct=L[ce]-_r[Ht],ct!==0)break e;Ht+=q,ce+=F}if(ct===0){if(Re!==ge)for(Rt=C*Re,kt=C*ge,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;++ge}else{ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(qt=L[ce]-Br[Ht],qt!==0)break e;Ht+=q,ce+=F}if(qt===0)for(;;){ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-Br[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt===0){if(--ie<Re)break;continue}else{ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-_r[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt<0){for(Rt=C*Re,kt=C*ge,Ct=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,nt=Ct+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=L[nt],L[nt]=Ee,$t+=T;++ge,--ie}else{for(Rt=C*Re,kt=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;--ie}break}}}}}p(_r),p(Br),ie-ge<=32?x(ge,ie,L,_,C,M,g,P,T,F,q):E(ge,ie,L,_,C,M,g,P,T,F,q)}}};function h(x,b,p){var E=l(b),k=[b,x].join(\",\"),A=f[k];return x.length>1&&E?A(p,E[0],E[1]):A(p)}var d={\"uint32,1,0\":function(x,b){return function(p){var E=p.data,k=p.offset|0,A=p.shape,L=p.stride,_=L[0]|0,C=A[0]|0,M=L[1]|0,g=A[1]|0,P=M,T=M,F=1;C<=32?x(0,C-1,E,k,_,M,C,g,P,T,F):b(0,C-1,E,k,_,M,C,g,P,T,F)}}};function v(x,b){var p=[b,x].join(\",\"),E=d[p],k=c(x,b),A=h(x,b,k);return E(k,A)}i.exports=v},446:function(i,a,o){\"use strict\";var s=o(7640),l={};function u(c){var f=c.order,h=c.dtype,d=[f,h],v=d.join(\":\"),x=l[v];return x||(l[v]=x=s(f,h)),x(c),c}i.exports=u},9618:function(i,a,o){var s=o(7163),l=typeof Float64Array!=\"undefined\";function u(b,p){return b[0]-p[0]}function c(){var b=this.stride,p=new Array(b.length),E;for(E=0;E<p.length;++E)p[E]=[Math.abs(b[E]),E];p.sort(u);var k=new Array(p.length);for(E=0;E<k.length;++E)k[E]=p[E][1];return k}var f={T:function(b){function p(k){this.data=k}var E=p.prototype;return E.dtype=b,E.index=function(){return-1},E.size=0,E.dimension=-1,E.shape=E.stride=E.order=[],E.lo=E.hi=E.transpose=E.step=function(){return new p(this.data)},E.get=E.set=function(){},E.pick=function(){return null},function(A){return new p(A)}},0:function(b,p){function E(A,L){this.data=A,this.offset=L}var k=E.prototype;return k.dtype=b,k.index=function(){return this.offset},k.dimension=0,k.size=1,k.shape=k.stride=k.order=[],k.lo=k.hi=k.transpose=k.step=function(){return new E(this.data,this.offset)},k.pick=function(){return p(this.data)},k.valueOf=k.get=function(){return b===\"generic\"?this.data.get(this.offset):this.data[this.offset]},k.set=function(L){return b===\"generic\"?this.data.set(this.offset,L):this.data[this.offset]=L},function(L,_,C,M){return new E(L,M)}},1:function(b,p,E){function k(L,_,C,M){this.data=L,this.shape=[_],this.stride=[C],this.offset=M|0}var A=k.prototype;return A.dtype=b,A.dimension=1,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]}}),A.order=[0],A.set=function(_,C){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*_,C):this.data[this.offset+this.stride[0]*_]=C},A.get=function(_){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*_):this.data[this.offset+this.stride[0]*_]},A.index=function(_){return this.offset+this.stride[0]*_},A.hi=function(_){return new k(this.data,typeof _!=\"number\"||_<0?this.shape[0]:_|0,this.stride[0],this.offset)},A.lo=function(_){var C=this.offset,M=0,g=this.shape[0],P=this.stride[0];return typeof _==\"number\"&&_>=0&&(M=_|0,C+=P*M,g-=M),new k(this.data,g,P,C)},A.step=function(_){var C=this.shape[0],M=this.stride[0],g=this.offset,P=0,T=Math.ceil;return typeof _==\"number\"&&(P=_|0,P<0?(g+=M*(C-1),C=T(-C/P)):C=T(C/P),M*=P),new k(this.data,C,M,g)},A.transpose=function(_){_=_===void 0?0:_|0;var C=this.shape,M=this.stride;return new k(this.data,C[_],M[_],this.offset)},A.pick=function(_){var C=[],M=[],g=this.offset;typeof _==\"number\"&&_>=0?g=g+this.stride[0]*_|0:(C.push(this.shape[0]),M.push(this.stride[0]));var P=p[C.length+1];return P(this.data,C,M,g)},function(_,C,M,g){return new k(_,C[0],M[0],g)}},2:function(b,p,E){function k(L,_,C,M,g,P){this.data=L,this.shape=[_,C],this.stride=[M,g],this.offset=P|0}var A=k.prototype;return A.dtype=b,A.dimension=2,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(A,\"order\",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),A.set=function(_,C,M){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*_+this.stride[1]*C,M):this.data[this.offset+this.stride[0]*_+this.stride[1]*C]=M},A.get=function(_,C){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*_+this.stride[1]*C):this.data[this.offset+this.stride[0]*_+this.stride[1]*C]},A.index=function(_,C){return this.offset+this.stride[0]*_+this.stride[1]*C},A.hi=function(_,C){return new k(this.data,typeof _!=\"number\"||_<0?this.shape[0]:_|0,typeof C!=\"number\"||C<0?this.shape[1]:C|0,this.stride[0],this.stride[1],this.offset)},A.lo=function(_,C){var M=this.offset,g=0,P=this.shape[0],T=this.shape[1],F=this.stride[0],q=this.stride[1];return typeof _==\"number\"&&_>=0&&(g=_|0,M+=F*g,P-=g),typeof C==\"number\"&&C>=0&&(g=C|0,M+=q*g,T-=g),new k(this.data,P,T,F,q,M)},A.step=function(_,C){var M=this.shape[0],g=this.shape[1],P=this.stride[0],T=this.stride[1],F=this.offset,q=0,V=Math.ceil;return typeof _==\"number\"&&(q=_|0,q<0?(F+=P*(M-1),M=V(-M/q)):M=V(M/q),P*=q),typeof C==\"number\"&&(q=C|0,q<0?(F+=T*(g-1),g=V(-g/q)):g=V(g/q),T*=q),new k(this.data,M,g,P,T,F)},A.transpose=function(_,C){_=_===void 0?0:_|0,C=C===void 0?1:C|0;var M=this.shape,g=this.stride;return new k(this.data,M[_],M[C],g[_],g[C],this.offset)},A.pick=function(_,C){var M=[],g=[],P=this.offset;typeof _==\"number\"&&_>=0?P=P+this.stride[0]*_|0:(M.push(this.shape[0]),g.push(this.stride[0])),typeof C==\"number\"&&C>=0?P=P+this.stride[1]*C|0:(M.push(this.shape[1]),g.push(this.stride[1]));var T=p[M.length+1];return T(this.data,M,g,P)},function(_,C,M,g){return new k(_,C[0],C[1],M[0],M[1],g)}},3:function(b,p,E){function k(L,_,C,M,g,P,T,F){this.data=L,this.shape=[_,C,M],this.stride=[g,P,T],this.offset=F|0}var A=k.prototype;return A.dtype=b,A.dimension=3,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(A,\"order\",{get:function(){var _=Math.abs(this.stride[0]),C=Math.abs(this.stride[1]),M=Math.abs(this.stride[2]);return _>C?C>M?[2,1,0]:_>M?[1,2,0]:[1,0,2]:_>M?[2,0,1]:M>C?[0,1,2]:[0,2,1]}}),A.set=function(_,C,M,g){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M,g):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M]=g},A.get=function(_,C,M){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M]},A.index=function(_,C,M){return this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M},A.hi=function(_,C,M){return new k(this.data,typeof _!=\"number\"||_<0?this.shape[0]:_|0,typeof C!=\"number\"||C<0?this.shape[1]:C|0,typeof M!=\"number\"||M<0?this.shape[2]:M|0,this.stride[0],this.stride[1],this.stride[2],this.offset)},A.lo=function(_,C,M){var g=this.offset,P=0,T=this.shape[0],F=this.shape[1],q=this.shape[2],V=this.stride[0],H=this.stride[1],X=this.stride[2];return typeof _==\"number\"&&_>=0&&(P=_|0,g+=V*P,T-=P),typeof C==\"number\"&&C>=0&&(P=C|0,g+=H*P,F-=P),typeof M==\"number\"&&M>=0&&(P=M|0,g+=X*P,q-=P),new k(this.data,T,F,q,V,H,X,g)},A.step=function(_,C,M){var g=this.shape[0],P=this.shape[1],T=this.shape[2],F=this.stride[0],q=this.stride[1],V=this.stride[2],H=this.offset,X=0,G=Math.ceil;return typeof _==\"number\"&&(X=_|0,X<0?(H+=F*(g-1),g=G(-g/X)):g=G(g/X),F*=X),typeof C==\"number\"&&(X=C|0,X<0?(H+=q*(P-1),P=G(-P/X)):P=G(P/X),q*=X),typeof M==\"number\"&&(X=M|0,X<0?(H+=V*(T-1),T=G(-T/X)):T=G(T/X),V*=X),new k(this.data,g,P,T,F,q,V,H)},A.transpose=function(_,C,M){_=_===void 0?0:_|0,C=C===void 0?1:C|0,M=M===void 0?2:M|0;var g=this.shape,P=this.stride;return new k(this.data,g[_],g[C],g[M],P[_],P[C],P[M],this.offset)},A.pick=function(_,C,M){var g=[],P=[],T=this.offset;typeof _==\"number\"&&_>=0?T=T+this.stride[0]*_|0:(g.push(this.shape[0]),P.push(this.stride[0])),typeof C==\"number\"&&C>=0?T=T+this.stride[1]*C|0:(g.push(this.shape[1]),P.push(this.stride[1])),typeof M==\"number\"&&M>=0?T=T+this.stride[2]*M|0:(g.push(this.shape[2]),P.push(this.stride[2]));var F=p[g.length+1];return F(this.data,g,P,T)},function(_,C,M,g){return new k(_,C[0],C[1],C[2],M[0],M[1],M[2],g)}},4:function(b,p,E){function k(L,_,C,M,g,P,T,F,q,V){this.data=L,this.shape=[_,C,M,g],this.stride=[P,T,F,q],this.offset=V|0}var A=k.prototype;return A.dtype=b,A.dimension=4,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(A,\"order\",{get:E}),A.set=function(_,C,M,g,P){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g,P):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g]=P},A.get=function(_,C,M,g){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g]},A.index=function(_,C,M,g){return this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g},A.hi=function(_,C,M,g){return new k(this.data,typeof _!=\"number\"||_<0?this.shape[0]:_|0,typeof C!=\"number\"||C<0?this.shape[1]:C|0,typeof M!=\"number\"||M<0?this.shape[2]:M|0,typeof g!=\"number\"||g<0?this.shape[3]:g|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},A.lo=function(_,C,M,g){var P=this.offset,T=0,F=this.shape[0],q=this.shape[1],V=this.shape[2],H=this.shape[3],X=this.stride[0],G=this.stride[1],N=this.stride[2],W=this.stride[3];return typeof _==\"number\"&&_>=0&&(T=_|0,P+=X*T,F-=T),typeof C==\"number\"&&C>=0&&(T=C|0,P+=G*T,q-=T),typeof M==\"number\"&&M>=0&&(T=M|0,P+=N*T,V-=T),typeof g==\"number\"&&g>=0&&(T=g|0,P+=W*T,H-=T),new k(this.data,F,q,V,H,X,G,N,W,P)},A.step=function(_,C,M,g){var P=this.shape[0],T=this.shape[1],F=this.shape[2],q=this.shape[3],V=this.stride[0],H=this.stride[1],X=this.stride[2],G=this.stride[3],N=this.offset,W=0,re=Math.ceil;return typeof _==\"number\"&&(W=_|0,W<0?(N+=V*(P-1),P=re(-P/W)):P=re(P/W),V*=W),typeof C==\"number\"&&(W=C|0,W<0?(N+=H*(T-1),T=re(-T/W)):T=re(T/W),H*=W),typeof M==\"number\"&&(W=M|0,W<0?(N+=X*(F-1),F=re(-F/W)):F=re(F/W),X*=W),typeof g==\"number\"&&(W=g|0,W<0?(N+=G*(q-1),q=re(-q/W)):q=re(q/W),G*=W),new k(this.data,P,T,F,q,V,H,X,G,N)},A.transpose=function(_,C,M,g){_=_===void 0?0:_|0,C=C===void 0?1:C|0,M=M===void 0?2:M|0,g=g===void 0?3:g|0;var P=this.shape,T=this.stride;return new k(this.data,P[_],P[C],P[M],P[g],T[_],T[C],T[M],T[g],this.offset)},A.pick=function(_,C,M,g){var P=[],T=[],F=this.offset;typeof _==\"number\"&&_>=0?F=F+this.stride[0]*_|0:(P.push(this.shape[0]),T.push(this.stride[0])),typeof C==\"number\"&&C>=0?F=F+this.stride[1]*C|0:(P.push(this.shape[1]),T.push(this.stride[1])),typeof M==\"number\"&&M>=0?F=F+this.stride[2]*M|0:(P.push(this.shape[2]),T.push(this.stride[2])),typeof g==\"number\"&&g>=0?F=F+this.stride[3]*g|0:(P.push(this.shape[3]),T.push(this.stride[3]));var q=p[P.length+1];return q(this.data,P,T,F)},function(_,C,M,g){return new k(_,C[0],C[1],C[2],C[3],M[0],M[1],M[2],M[3],g)}},5:function(p,E,k){function A(_,C,M,g,P,T,F,q,V,H,X,G){this.data=_,this.shape=[C,M,g,P,T],this.stride=[F,q,V,H,X],this.offset=G|0}var L=A.prototype;return L.dtype=p,L.dimension=5,Object.defineProperty(L,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(L,\"order\",{get:k}),L.set=function(C,M,g,P,T,F){return p===\"generic\"?this.data.set(this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T,F):this.data[this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T]=F},L.get=function(C,M,g,P,T){return p===\"generic\"?this.data.get(this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T):this.data[this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T]},L.index=function(C,M,g,P,T){return this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T},L.hi=function(C,M,g,P,T){return new A(this.data,typeof C!=\"number\"||C<0?this.shape[0]:C|0,typeof M!=\"number\"||M<0?this.shape[1]:M|0,typeof g!=\"number\"||g<0?this.shape[2]:g|0,typeof P!=\"number\"||P<0?this.shape[3]:P|0,typeof T!=\"number\"||T<0?this.shape[4]:T|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},L.lo=function(C,M,g,P,T){var F=this.offset,q=0,V=this.shape[0],H=this.shape[1],X=this.shape[2],G=this.shape[3],N=this.shape[4],W=this.stride[0],re=this.stride[1],ae=this.stride[2],_e=this.stride[3],Me=this.stride[4];return typeof C==\"number\"&&C>=0&&(q=C|0,F+=W*q,V-=q),typeof M==\"number\"&&M>=0&&(q=M|0,F+=re*q,H-=q),typeof g==\"number\"&&g>=0&&(q=g|0,F+=ae*q,X-=q),typeof P==\"number\"&&P>=0&&(q=P|0,F+=_e*q,G-=q),typeof T==\"number\"&&T>=0&&(q=T|0,F+=Me*q,N-=q),new A(this.data,V,H,X,G,N,W,re,ae,_e,Me,F)},L.step=function(C,M,g,P,T){var F=this.shape[0],q=this.shape[1],V=this.shape[2],H=this.shape[3],X=this.shape[4],G=this.stride[0],N=this.stride[1],W=this.stride[2],re=this.stride[3],ae=this.stride[4],_e=this.offset,Me=0,ke=Math.ceil;return typeof C==\"number\"&&(Me=C|0,Me<0?(_e+=G*(F-1),F=ke(-F/Me)):F=ke(F/Me),G*=Me),typeof M==\"number\"&&(Me=M|0,Me<0?(_e+=N*(q-1),q=ke(-q/Me)):q=ke(q/Me),N*=Me),typeof g==\"number\"&&(Me=g|0,Me<0?(_e+=W*(V-1),V=ke(-V/Me)):V=ke(V/Me),W*=Me),typeof P==\"number\"&&(Me=P|0,Me<0?(_e+=re*(H-1),H=ke(-H/Me)):H=ke(H/Me),re*=Me),typeof T==\"number\"&&(Me=T|0,Me<0?(_e+=ae*(X-1),X=ke(-X/Me)):X=ke(X/Me),ae*=Me),new A(this.data,F,q,V,H,X,G,N,W,re,ae,_e)},L.transpose=function(C,M,g,P,T){C=C===void 0?0:C|0,M=M===void 0?1:M|0,g=g===void 0?2:g|0,P=P===void 0?3:P|0,T=T===void 0?4:T|0;var F=this.shape,q=this.stride;return new A(this.data,F[C],F[M],F[g],F[P],F[T],q[C],q[M],q[g],q[P],q[T],this.offset)},L.pick=function(C,M,g,P,T){var F=[],q=[],V=this.offset;typeof C==\"number\"&&C>=0?V=V+this.stride[0]*C|0:(F.push(this.shape[0]),q.push(this.stride[0])),typeof M==\"number\"&&M>=0?V=V+this.stride[1]*M|0:(F.push(this.shape[1]),q.push(this.stride[1])),typeof g==\"number\"&&g>=0?V=V+this.stride[2]*g|0:(F.push(this.shape[2]),q.push(this.stride[2])),typeof P==\"number\"&&P>=0?V=V+this.stride[3]*P|0:(F.push(this.shape[3]),q.push(this.stride[3])),typeof T==\"number\"&&T>=0?V=V+this.stride[4]*T|0:(F.push(this.shape[4]),q.push(this.stride[4]));var H=E[F.length+1];return H(this.data,F,q,V)},function(C,M,g,P){return new A(C,M[0],M[1],M[2],M[3],M[4],g[0],g[1],g[2],g[3],g[4],P)}}};function h(b,p){var E=p===-1?\"T\":String(p),k=f[E];return p===-1?k(b):p===0?k(b,v[b][0]):k(b,v[b],c)}function d(b){if(s(b))return\"buffer\";if(l)switch(Object.prototype.toString.call(b)){case\"[object Float64Array]\":return\"float64\";case\"[object Float32Array]\":return\"float32\";case\"[object Int8Array]\":return\"int8\";case\"[object Int16Array]\":return\"int16\";case\"[object Int32Array]\":return\"int32\";case\"[object Uint8ClampedArray]\":return\"uint8_clamped\";case\"[object Uint8Array]\":return\"uint8\";case\"[object Uint16Array]\":return\"uint16\";case\"[object Uint32Array]\":return\"uint32\";case\"[object BigInt64Array]\":return\"bigint64\";case\"[object BigUint64Array]\":return\"biguint64\"}return Array.isArray(b)?\"array\":\"generic\"}var v={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};function x(b,p,E,k){if(b===void 0){var g=v.array[0];return g([])}else typeof b==\"number\"&&(b=[b]);p===void 0&&(p=[b.length]);var A=p.length;if(E===void 0){E=new Array(A);for(var L=A-1,_=1;L>=0;--L)E[L]=_,_*=p[L]}if(k===void 0){k=0;for(var L=0;L<A;++L)E[L]<0&&(k-=(p[L]-1)*E[L])}for(var C=d(b),M=v[C];M.length<=A+1;)M.push(h(C,M.length-1));var g=M[A+1];return g(b,p,E,k)}i.exports=x},1278:function(i,a,o){\"use strict\";var s=o(2361),l=Math.pow(2,-1074),u=-1>>>0;i.exports=c;function c(f,h){if(isNaN(f)||isNaN(h))return NaN;if(f===h)return f;if(f===0)return h<0?-l:l;var d=s.hi(f),v=s.lo(f);return h>f==f>0?v===u?(d+=1,v=0):v+=1:v===0?(v=u,d-=1):v-=1,s.pack(v,d)}},8406:function(i,a){var o=1e-6,s=1e-6;a.vertexNormals=function(l,u,c){for(var f=u.length,h=new Array(f),d=c===void 0?o:c,v=0;v<f;++v)h[v]=[0,0,0];for(var v=0;v<l.length;++v)for(var x=l[v],b=0,p=x[x.length-1],E=x[0],k=0;k<x.length;++k){b=p,p=E,E=x[(k+1)%x.length];for(var A=u[b],L=u[p],_=u[E],C=new Array(3),M=0,g=new Array(3),P=0,T=0;T<3;++T)C[T]=A[T]-L[T],M+=C[T]*C[T],g[T]=_[T]-L[T],P+=g[T]*g[T];if(M*P>d)for(var F=h[p],q=1/Math.sqrt(M*P),T=0;T<3;++T){var V=(T+1)%3,H=(T+2)%3;F[T]+=q*(g[V]*C[H]-g[H]*C[V])}}for(var v=0;v<f;++v){for(var F=h[v],X=0,T=0;T<3;++T)X+=F[T]*F[T];if(X>d)for(var q=1/Math.sqrt(X),T=0;T<3;++T)F[T]*=q;else for(var T=0;T<3;++T)F[T]=0}return h},a.faceNormals=function(l,u,c){for(var f=l.length,h=new Array(f),d=c===void 0?s:c,v=0;v<f;++v){for(var x=l[v],b=new Array(3),p=0;p<3;++p)b[p]=u[x[p]];for(var E=new Array(3),k=new Array(3),p=0;p<3;++p)E[p]=b[1][p]-b[0][p],k[p]=b[2][p]-b[0][p];for(var A=new Array(3),L=0,p=0;p<3;++p){var _=(p+1)%3,C=(p+2)%3;A[p]=E[_]*k[C]-E[C]*k[_],L+=A[p]*A[p]}L>d?L=1/Math.sqrt(L):L=0;for(var p=0;p<3;++p)A[p]*=L;h[v]=A}return h}},4081:function(i){\"use strict\";i.exports=a;function a(o,s,l,u,c,f,h,d,v,x){var b=s+f+x;if(p>0){var p=Math.sqrt(b+1);o[0]=.5*(h-v)/p,o[1]=.5*(d-u)/p,o[2]=.5*(l-f)/p,o[3]=.5*p}else{var E=Math.max(s,f,x),p=Math.sqrt(2*E-b+1);s>=E?(o[0]=.5*p,o[1]=.5*(c+l)/p,o[2]=.5*(d+u)/p,o[3]=.5*(h-v)/p):f>=E?(o[0]=.5*(l+c)/p,o[1]=.5*p,o[2]=.5*(v+h)/p,o[3]=.5*(d-u)/p):(o[0]=.5*(u+d)/p,o[1]=.5*(h+v)/p,o[2]=.5*p,o[3]=.5*(l-c)/p)}return o}},9977:function(i,a,o){\"use strict\";i.exports=p;var s=o(9215),l=o(6582),u=o(7399),c=o(7608),f=o(4081);function h(E,k,A){return Math.sqrt(Math.pow(E,2)+Math.pow(k,2)+Math.pow(A,2))}function d(E,k,A,L){return Math.sqrt(Math.pow(E,2)+Math.pow(k,2)+Math.pow(A,2)+Math.pow(L,2))}function v(E,k){var A=k[0],L=k[1],_=k[2],C=k[3],M=d(A,L,_,C);M>1e-6?(E[0]=A/M,E[1]=L/M,E[2]=_/M,E[3]=C/M):(E[0]=E[1]=E[2]=0,E[3]=1)}function x(E,k,A){this.radius=s([A]),this.center=s(k),this.rotation=s(E),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var b=x.prototype;b.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},b.recalcMatrix=function(E){this.radius.curve(E),this.center.curve(E),this.rotation.curve(E);var k=this.computedRotation;v(k,k);var A=this.computedMatrix;u(A,k);var L=this.computedCenter,_=this.computedEye,C=this.computedUp,M=Math.exp(this.computedRadius[0]);_[0]=L[0]+M*A[2],_[1]=L[1]+M*A[6],_[2]=L[2]+M*A[10],C[0]=A[1],C[1]=A[5],C[2]=A[9];for(var g=0;g<3;++g){for(var P=0,T=0;T<3;++T)P+=A[g+4*T]*_[T];A[12+g]=-P}},b.getMatrix=function(E,k){this.recalcMatrix(E);var A=this.computedMatrix;if(k){for(var L=0;L<16;++L)k[L]=A[L];return k}return A},b.idle=function(E){this.center.idle(E),this.radius.idle(E),this.rotation.idle(E)},b.flush=function(E){this.center.flush(E),this.radius.flush(E),this.rotation.flush(E)},b.pan=function(E,k,A,L){k=k||0,A=A||0,L=L||0,this.recalcMatrix(E);var _=this.computedMatrix,C=_[1],M=_[5],g=_[9],P=h(C,M,g);C/=P,M/=P,g/=P;var T=_[0],F=_[4],q=_[8],V=T*C+F*M+q*g;T-=C*V,F-=M*V,q-=g*V;var H=h(T,F,q);T/=H,F/=H,q/=H;var X=_[2],G=_[6],N=_[10],W=X*C+G*M+N*g,re=X*T+G*F+N*q;X-=W*C+re*T,G-=W*M+re*F,N-=W*g+re*q;var ae=h(X,G,N);X/=ae,G/=ae,N/=ae;var _e=T*k+C*A,Me=F*k+M*A,ke=q*k+g*A;this.center.move(E,_e,Me,ke);var ge=Math.exp(this.computedRadius[0]);ge=Math.max(1e-4,ge+L),this.radius.set(E,Math.log(ge))},b.rotate=function(E,k,A,L){this.recalcMatrix(E),k=k||0,A=A||0;var _=this.computedMatrix,C=_[0],M=_[4],g=_[8],P=_[1],T=_[5],F=_[9],q=_[2],V=_[6],H=_[10],X=k*C+A*P,G=k*M+A*T,N=k*g+A*F,W=-(V*N-H*G),re=-(H*X-q*N),ae=-(q*G-V*X),_e=Math.sqrt(Math.max(0,1-Math.pow(W,2)-Math.pow(re,2)-Math.pow(ae,2))),Me=d(W,re,ae,_e);Me>1e-6?(W/=Me,re/=Me,ae/=Me,_e/=Me):(W=re=ae=0,_e=1);var ke=this.computedRotation,ge=ke[0],ie=ke[1],Te=ke[2],Ee=ke[3],Ae=ge*_e+Ee*W+ie*ae-Te*re,ze=ie*_e+Ee*re+Te*W-ge*ae,Ce=Te*_e+Ee*ae+ge*re-ie*W,me=Ee*_e-ge*W-ie*re-Te*ae;if(L){W=q,re=V,ae=H;var Re=Math.sin(L)/h(W,re,ae);W*=Re,re*=Re,ae*=Re,_e=Math.cos(k),Ae=Ae*_e+me*W+ze*ae-Ce*re,ze=ze*_e+me*re+Ce*W-Ae*ae,Ce=Ce*_e+me*ae+Ae*re-ze*W,me=me*_e-Ae*W-ze*re-Ce*ae}var ce=d(Ae,ze,Ce,me);ce>1e-6?(Ae/=ce,ze/=ce,Ce/=ce,me/=ce):(Ae=ze=Ce=0,me=1),this.rotation.set(E,Ae,ze,Ce,me)},b.lookAt=function(E,k,A,L){this.recalcMatrix(E),A=A||this.computedCenter,k=k||this.computedEye,L=L||this.computedUp;var _=this.computedMatrix;l(_,k,A,L);var C=this.computedRotation;f(C,_[0],_[1],_[2],_[4],_[5],_[6],_[8],_[9],_[10]),v(C,C),this.rotation.set(E,C[0],C[1],C[2],C[3]);for(var M=0,g=0;g<3;++g)M+=Math.pow(A[g]-k[g],2);this.radius.set(E,.5*Math.log(Math.max(M,1e-6))),this.center.set(E,A[0],A[1],A[2])},b.translate=function(E,k,A,L){this.center.move(E,k||0,A||0,L||0)},b.setMatrix=function(E,k){var A=this.computedRotation;f(A,k[0],k[1],k[2],k[4],k[5],k[6],k[8],k[9],k[10]),v(A,A),this.rotation.set(E,A[0],A[1],A[2],A[3]);var L=this.computedMatrix;c(L,k);var _=L[15];if(Math.abs(_)>1e-6){var C=L[12]/_,M=L[13]/_,g=L[14]/_;this.recalcMatrix(E);var P=Math.exp(this.computedRadius[0]);this.center.set(E,C-L[2]*P,M-L[6]*P,g-L[10]*P),this.radius.idle(E)}else this.center.idle(E),this.radius.idle(E)},b.setDistance=function(E,k){k>0&&this.radius.set(E,Math.log(k))},b.setDistanceLimits=function(E,k){E>0?E=Math.log(E):E=-1/0,k>0?k=Math.log(k):k=1/0,k=Math.max(k,E),this.radius.bounds[0][0]=E,this.radius.bounds[1][0]=k},b.getDistanceLimits=function(E){var k=this.radius.bounds;return E?(E[0]=Math.exp(k[0][0]),E[1]=Math.exp(k[1][0]),E):[Math.exp(k[0][0]),Math.exp(k[1][0])]},b.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]}},b.fromJSON=function(E){var k=this.lastT(),A=E.center;A&&this.center.set(k,A[0],A[1],A[2]);var L=E.rotation;L&&this.rotation.set(k,L[0],L[1],L[2],L[3]);var _=E.distance;_&&_>0&&this.radius.set(k,Math.log(_)),this.setDistanceLimits(E.zoomMin,E.zoomMax)};function p(E){E=E||{};var k=E.center||[0,0,0],A=E.rotation||[0,0,0,1],L=E.radius||1;k=[].slice.call(k,0,3),A=[].slice.call(A,0,4),v(A,A);var _=new x(A,k,Math.log(L));return _.setDistanceLimits(E.zoomMin,E.zoomMax),(\"eye\"in E||\"up\"in E)&&_.lookAt(0,E.eye,E.center,E.up),_}},1371:function(i,a,o){\"use strict\";var s=o(3233);i.exports=function(u,c,f){return f=typeof f!=\"undefined\"?f+\"\":\" \",s(f,c)+u}},3202:function(i){i.exports=function(o,s){s||(s=[0,\"\"]),o=String(o);var l=parseFloat(o,10);return s[0]=l,s[1]=o.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",s}},3088:function(i,a,o){\"use strict\";i.exports=l;var s=o(3140);function l(u,c){for(var f=c.length|0,h=u.length,d=[new Array(f),new Array(f)],v=0;v<f;++v)d[0][v]=[],d[1][v]=[];for(var v=0;v<h;++v){var x=u[v];d[0][x[0]].push(x),d[1][x[1]].push(x)}for(var b=[],v=0;v<f;++v)d[0][v].length+d[1][v].length===0&&b.push([v]);function p(g,P){var T=d[P][g[P]];T.splice(T.indexOf(g),1)}function E(g,P,T){for(var F,q,V,H=0;H<2;++H)if(d[H][P].length>0){F=d[H][P][0],V=H;break}q=F[V^1];for(var X=0;X<2;++X)for(var G=d[X][P],N=0;N<G.length;++N){var W=G[N],re=W[X^1],ae=s(c[g],c[P],c[q],c[re]);ae>0&&(F=W,q=re,V=X)}return T||F&&p(F,V),q}function k(g,P){var T=d[P][g][0],F=[g];p(T,P);for(var q=T[P^1],V=P;;){for(;q!==g;)F.push(q),q=E(F[F.length-2],q,!1);if(d[0][g].length+d[1][g].length===0)break;var H=F[F.length-1],X=g,G=F[1],N=E(H,X,!0);if(s(c[H],c[X],c[G],c[N])<0)break;F.push(g),q=E(H,X)}return F}function A(g,P){return P[1]===P[P.length-1]}for(var v=0;v<f;++v)for(var L=0;L<2;++L){for(var _=[];d[L][v].length>0;){var C=d[0][v].length,M=k(v,L);A(_,M)?_.push.apply(_,M):(_.length>0&&b.push(_),_=M)}_.length>0&&b.push(_)}return b}},5609:function(i,a,o){\"use strict\";i.exports=l;var s=o(3134);function l(u,c){for(var f=s(u,c.length),h=new Array(c.length),d=new Array(c.length),v=[],x=0;x<c.length;++x){var b=f[x].length;d[x]=b,h[x]=!0,b<=1&&v.push(x)}for(;v.length>0;){var p=v.pop();h[p]=!1;for(var E=f[p],x=0;x<E.length;++x){var k=E[x];--d[k]===0&&v.push(k)}}for(var A=new Array(c.length),L=[],x=0;x<c.length;++x)if(h[x]){var p=L.length;A[x]=p,L.push(c[x])}else A[x]=-1;for(var _=[],x=0;x<u.length;++x){var C=u[x];h[C[0]]&&h[C[1]]&&_.push([A[C[0]],A[C[1]]])}return[_,L]}},2095:function(i,a,o){\"use strict\";i.exports=b;var s=o(3134),l=o(3088),u=o(5085),c=o(5250),f=o(8210),h=o(1682),d=o(5609);function v(p,E){for(var k=new Array(p),A=0;A<p;++A)k[A]=E;return k}function x(p){for(var E=new Array(p),k=0;k<p;++k)E[k]=[];return E}function b(p,E){var Re=d(p,E);p=Re[0],E=Re[1];for(var k=E.length,A=p.length,L=s(p,E.length),_=0;_<k;++_)if(L[_].length%2===1)throw new Error(\"planar-graph-to-polyline: graph must be manifold\");var C=l(p,E);function M(ot){for(var Rt=ot.length,kt=[0],Ct=0;Ct<Rt;++Ct){var Yt=E[ot[Ct]],xr=E[ot[(Ct+1)%Rt]],er=c(-Yt[0],Yt[1]),Ke=c(-Yt[0],xr[1]),xt=c(xr[0],Yt[1]),bt=c(xr[0],xr[1]);kt=f(kt,f(f(er,Ke),f(xt,bt)))}return kt[kt.length-1]>0}C=C.filter(M);for(var g=C.length,P=new Array(g),T=new Array(g),_=0;_<g;++_){P[_]=_;var F=new Array(g),q=C[_].map(function(Rt){return E[Rt]}),V=u([q]),H=0;e:for(var X=0;X<g;++X)if(F[X]=0,_!==X){for(var G=C[X],N=G.length,W=0;W<N;++W){var re=V(E[G[W]]);if(re!==0){re<0&&(F[X]=1,H+=1);continue e}}F[X]=1,H+=1}T[_]=[H,_,F]}T.sort(function(ot,Rt){return Rt[0]-ot[0]});for(var _=0;_<g;++_)for(var F=T[_],ae=F[1],_e=F[2],X=0;X<g;++X)_e[X]&&(P[X]=ae);for(var Me=x(g),_=0;_<g;++_)Me[_].push(P[_]),Me[P[_]].push(_);for(var ke={},ge=v(k,!1),_=0;_<g;++_)for(var G=C[_],N=G.length,X=0;X<N;++X){var ie=G[X],Te=G[(X+1)%N],Ee=Math.min(ie,Te)+\":\"+Math.max(ie,Te);if(Ee in ke){var Ae=ke[Ee];Me[Ae].push(_),Me[_].push(Ae),ge[ie]=ge[Te]=!0}else ke[Ee]=_}function ze(ot){for(var Rt=ot.length,kt=0;kt<Rt;++kt)if(!ge[ot[kt]])return!1;return!0}for(var Ce=[],me=v(g,-1),_=0;_<g;++_)P[_]===_&&!ze(C[_])?(Ce.push(_),me[_]=0):me[_]=-1;for(var Re=[];Ce.length>0;){var ce=Ce.pop(),Ge=Me[ce];h(Ge,function(ot,Rt){return ot-Rt});var nt=Ge.length,ct=me[ce],qt;if(ct===0){var G=C[ce];qt=[G]}for(var _=0;_<nt;++_){var rt=Ge[_];if(!(me[rt]>=0)&&(me[rt]=ct^1,Ce.push(rt),ct===0)){var G=C[rt];ze(G)||(G.reverse(),qt.push(G))}}ct===0&&Re.push(qt)}return Re}},5085:function(i,a,o){i.exports=E;var s=o(3250)[3],l=o(4209),u=o(3352),c=o(2478);function f(){return!0}function h(k){return function(A,L){var _=k[A];return _?!!_.queryPoint(L,f):!1}}function d(k){for(var A={},L=0;L<k.length;++L){var _=k[L],C=_[0][0],M=_[0][1],g=_[1][1],P=[Math.min(M,g),Math.max(M,g)];C in A?A[C].push(P):A[C]=[P]}for(var T={},F=Object.keys(A),L=0;L<F.length;++L){var q=A[F[L]];T[F[L]]=u(q)}return h(T)}function v(k,A){return function(L){var _=c.le(A,L[0]);if(_<0)return 1;var C=k[_];if(!C)if(_>0&&A[_]===L[0])C=k[_-1];else return 1;for(var M=1;C;){var g=C.key,P=s(L,g[0],g[1]);if(g[0][0]<g[1][0])if(P<0)C=C.left;else if(P>0)M=-1,C=C.right;else return 0;else if(P>0)C=C.left;else if(P<0)M=1,C=C.right;else return 0}return M}}function x(k){return 1}function b(k){return function(L){return k(L[0],L[1])?0:1}}function p(k,A){return function(_){return k(_[0],_[1])?0:A(_)}}function E(k){for(var A=k.length,L=[],_=[],C=0,M=0;M<A;++M)for(var g=k[M],P=g.length,T=P-1,F=0;F<P;T=F++){var q=g[T],V=g[F];q[0]===V[0]?_.push([q,V]):L.push([q,V])}if(L.length===0)return _.length===0?x:b(d(_));var H=l(L),X=v(H.slabs,H.coordinates);return _.length===0?X:p(d(_),X)}},9346:function(i){\"use strict\";var a=new Float64Array(4),o=new Float64Array(4),s=new Float64Array(4);function l(u,c,f,h,d){a.length<h.length&&(a=new Float64Array(h.length),o=new Float64Array(h.length),s=new Float64Array(h.length));for(var v=0;v<h.length;++v)a[v]=u[v]-h[v],o[v]=c[v]-u[v],s[v]=f[v]-u[v];for(var x=0,b=0,p=0,E=0,k=0,A=0,v=0;v<h.length;++v){var L=o[v],_=s[v],C=a[v];x+=L*L,b+=L*_,p+=_*_,E+=C*L,k+=C*_,A+=C*C}var M=Math.abs(x*p-b*b),g=b*k-p*E,P=b*E-x*k,T;if(g+P<=M)if(g<0)P<0&&E<0?(P=0,-E>=x?(g=1,T=x+2*E+A):(g=-E/x,T=E*g+A)):(g=0,k>=0?(P=0,T=A):-k>=p?(P=1,T=p+2*k+A):(P=-k/p,T=k*P+A));else if(P<0)P=0,E>=0?(g=0,T=A):-E>=x?(g=1,T=x+2*E+A):(g=-E/x,T=E*g+A);else{var F=1/M;g*=F,P*=F,T=g*(x*g+b*P+2*E)+P*(b*g+p*P+2*k)+A}else{var q,V,H,X;g<0?(q=b+E,V=p+k,V>q?(H=V-q,X=x-2*b+p,H>=X?(g=1,P=0,T=x+2*E+A):(g=H/X,P=1-g,T=g*(x*g+b*P+2*E)+P*(b*g+p*P+2*k)+A)):(g=0,V<=0?(P=1,T=p+2*k+A):k>=0?(P=0,T=A):(P=-k/p,T=k*P+A))):P<0?(q=b+k,V=x+E,V>q?(H=V-q,X=x-2*b+p,H>=X?(P=1,g=0,T=p+2*k+A):(P=H/X,g=1-P,T=g*(x*g+b*P+2*E)+P*(b*g+p*P+2*k)+A)):(P=0,V<=0?(g=1,T=x+2*E+A):E>=0?(g=0,T=A):(g=-E/x,T=E*g+A))):(H=p+k-b-E,H<=0?(g=0,P=1,T=p+2*k+A):(X=x-2*b+p,H>=X?(g=1,P=0,T=x+2*E+A):(g=H/X,P=1-g,T=g*(x*g+b*P+2*E)+P*(b*g+p*P+2*k)+A)))}for(var G=1-g-P,v=0;v<h.length;++v)d[v]=G*u[v]+g*c[v]+P*f[v];return T<0?0:T}i.exports=l},8648:function(i,a,o){i.exports=o(783)},2653:function(i,a,o){\"use strict\";var s=o(3865);i.exports=l;function l(u,c){for(var f=u.length,h=new Array(f),d=0;d<f;++d)h[d]=s(u[d],c[d]);return h}},5838:function(i,a,o){\"use strict\";i.exports=l;var s=o(7842);function l(u){for(var c=new Array(u.length),f=0;f<u.length;++f)c[f]=s(u[f]);return c}},8987:function(i,a,o){\"use strict\";var s=o(7842),l=o(6504);i.exports=u;function u(c,f){for(var h=s(f),d=c.length,v=new Array(d),x=0;x<d;++x)v[x]=l(c[x],h);return v}},544:function(i,a,o){\"use strict\";var s=o(5572);i.exports=l;function l(u,c){for(var f=u.length,h=new Array(f),d=0;d<f;++d)h[d]=s(u[d],c[d]);return h}},5771:function(i,a,o){\"use strict\";var s=o(8507),l=o(3788),u=o(2419);i.exports=c;function c(f){f.sort(l);for(var h=f.length,d=0,v=0;v<h;++v){var x=f[v],b=u(x);if(b!==0){if(d>0){var p=f[d-1];if(s(x,p)===0&&u(p)!==b){d-=1;continue}}f[d++]=x}}return f.length=d,f}},3233:function(i){\"use strict\";var a=\"\",o;i.exports=s;function s(l,u){if(typeof l!=\"string\")throw new TypeError(\"expected a string\");if(u===1)return l;if(u===2)return l+l;var c=l.length*u;if(o!==l||typeof o==\"undefined\")o=l,a=\"\";else if(a.length>=c)return a.substr(0,c);for(;c>a.length&&u>1;)u&1&&(a+=l),u>>=1,l+=l;return a+=l,a=a.substr(0,c),a}},3025:function(i,a,o){i.exports=o.g.performance&&o.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(i){\"use strict\";i.exports=a;function a(o){for(var s=o.length,l=o[o.length-1],u=s,c=s-2;c>=0;--c){var f=l,h=o[c];l=f+h;var d=l-f,v=h-d;v&&(o[--u]=l,l=v)}for(var x=0,c=u;c<s;++c){var f=o[c],h=l;l=f+h;var d=l-f,v=h-d;v&&(o[x++]=v)}return o[x++]=l,o.length=x,o}},2962:function(i,a,o){\"use strict\";var s=o(5250),l=o(8210),u=o(3012),c=o(7004),f=6;function h(A,L,_,C){return function(g){return C(A(_(g[0][0],g[1][1]),_(-g[0][1],g[1][0])))}}function d(A,L,_,C){return function(g){return C(A(L(A(_(g[1][1],g[2][2]),_(-g[1][2],g[2][1])),g[0][0]),A(L(A(_(g[1][0],g[2][2]),_(-g[1][2],g[2][0])),-g[0][1]),L(A(_(g[1][0],g[2][1]),_(-g[1][1],g[2][0])),g[0][2]))))}}function v(A,L,_,C){return function(g){return C(A(A(L(A(L(A(_(g[2][2],g[3][3]),_(-g[2][3],g[3][2])),g[1][1]),A(L(A(_(g[2][1],g[3][3]),_(-g[2][3],g[3][1])),-g[1][2]),L(A(_(g[2][1],g[3][2]),_(-g[2][2],g[3][1])),g[1][3]))),g[0][0]),L(A(L(A(_(g[2][2],g[3][3]),_(-g[2][3],g[3][2])),g[1][0]),A(L(A(_(g[2][0],g[3][3]),_(-g[2][3],g[3][0])),-g[1][2]),L(A(_(g[2][0],g[3][2]),_(-g[2][2],g[3][0])),g[1][3]))),-g[0][1])),A(L(A(L(A(_(g[2][1],g[3][3]),_(-g[2][3],g[3][1])),g[1][0]),A(L(A(_(g[2][0],g[3][3]),_(-g[2][3],g[3][0])),-g[1][1]),L(A(_(g[2][0],g[3][1]),_(-g[2][1],g[3][0])),g[1][3]))),g[0][2]),L(A(L(A(_(g[2][1],g[3][2]),_(-g[2][2],g[3][1])),g[1][0]),A(L(A(_(g[2][0],g[3][2]),_(-g[2][2],g[3][0])),-g[1][1]),L(A(_(g[2][0],g[3][1]),_(-g[2][1],g[3][0])),g[1][2]))),-g[0][3]))))}}function x(A,L,_,C){return function(g){return C(A(A(L(A(A(L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][2]),A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),-g[2][3]),L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][4]))),g[1][1]),L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][1]),A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),-g[2][3]),L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),g[2][4]))),-g[1][2])),A(L(A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),g[2][1]),A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),-g[2][2]),L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][4]))),g[1][3]),L(A(L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][1]),A(L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),-g[2][2]),L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][3]))),-g[1][4]))),g[0][0]),L(A(A(L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][2]),A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),-g[2][3]),L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][4]))),g[1][0]),L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][3]),L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),g[2][4]))),-g[1][2])),A(L(A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][2]),L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),g[2][4]))),g[1][3]),L(A(L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][0]),A(L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),-g[2][2]),L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),g[2][3]))),-g[1][4]))),-g[0][1])),A(L(A(A(L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][1]),A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),-g[2][3]),L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),g[2][4]))),g[1][0]),L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][3]),L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),g[2][4]))),-g[1][1])),A(L(A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][4]))),g[1][3]),L(A(L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][3]))),-g[1][4]))),g[0][2]),A(L(A(A(L(A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),g[2][1]),A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),-g[2][2]),L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][4]))),g[1][0]),L(A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][2]),L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),g[2][4]))),-g[1][1])),A(L(A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][4]))),g[1][2]),L(A(L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][2]))),-g[1][4]))),-g[0][3]),L(A(A(L(A(L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][1]),A(L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),-g[2][2]),L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][3]))),g[1][0]),L(A(L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][0]),A(L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),-g[2][2]),L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),g[2][3]))),-g[1][1])),A(L(A(L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][3]))),g[1][2]),L(A(L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][2]))),-g[1][3]))),g[0][4])))))}}function b(A){var L=A===2?h:A===3?d:A===4?v:A===5?x:void 0;return L(l,u,s,c)}var p=[function(){return[0]},function(L){return[L[0][0]]}];function E(A,L,_,C,M,g,P,T){return function(q){switch(q.length){case 0:return A(q);case 1:return L(q);case 2:return _(q);case 3:return C(q);case 4:return M(q);case 5:return g(q)}var V=P[q.length];return V||(V=P[q.length]=T(q.length)),V(q)}}function k(){for(;p.length<f;)p.push(b(p.length));i.exports=E.apply(void 0,p.concat([p,b]));for(var A=0;A<p.length;++A)i.exports[A]=p[A]}k()},1944:function(i,a,o){\"use strict\";var s=o(5250),l=o(8210);i.exports=u;function u(c,f){for(var h=s(c[0],f[0]),d=1;d<c.length;++d)h=l(h,s(c[d],f[d]));return h}},2646:function(i,a,o){\"use strict\";var s=o(5250),l=o(8210),u=o(8545),c=o(3012),f=6;function h(M){var g=M===3?b:M===4?p:M===5?E:k;return g(l,u,s,c)}function d(){return 0}function v(){return 0}function x(){return 0}function b(M,g,P,T){function F(q,V,H){var X=P(q[0],q[0]),G=T(X,V[0]),N=T(X,H[0]),W=P(V[0],V[0]),re=T(W,q[0]),ae=T(W,H[0]),_e=P(H[0],H[0]),Me=T(_e,q[0]),ke=T(_e,V[0]),ge=M(g(ke,ae),g(re,G)),ie=g(Me,N),Te=g(ge,ie);return Te[Te.length-1]}return F}function p(M,g,P,T){function F(q,V,H,X){var G=M(P(q[0],q[0]),P(q[1],q[1])),N=T(G,V[0]),W=T(G,H[0]),re=T(G,X[0]),ae=M(P(V[0],V[0]),P(V[1],V[1])),_e=T(ae,q[0]),Me=T(ae,H[0]),ke=T(ae,X[0]),ge=M(P(H[0],H[0]),P(H[1],H[1])),ie=T(ge,q[0]),Te=T(ge,V[0]),Ee=T(ge,X[0]),Ae=M(P(X[0],X[0]),P(X[1],X[1])),ze=T(Ae,q[0]),Ce=T(Ae,V[0]),me=T(Ae,H[0]),Re=M(M(T(g(me,Ee),V[1]),M(T(g(Ce,ke),-H[1]),T(g(Te,Me),X[1]))),M(T(g(Ce,ke),q[1]),M(T(g(ze,re),-V[1]),T(g(_e,N),X[1])))),ce=M(M(T(g(me,Ee),q[1]),M(T(g(ze,re),-H[1]),T(g(ie,W),X[1]))),M(T(g(Te,Me),q[1]),M(T(g(ie,W),-V[1]),T(g(_e,N),H[1])))),Ge=g(Re,ce);return Ge[Ge.length-1]}return F}function E(M,g,P,T){function F(q,V,H,X,G){var N=M(P(q[0],q[0]),M(P(q[1],q[1]),P(q[2],q[2]))),W=T(N,V[0]),re=T(N,H[0]),ae=T(N,X[0]),_e=T(N,G[0]),Me=M(P(V[0],V[0]),M(P(V[1],V[1]),P(V[2],V[2]))),ke=T(Me,q[0]),ge=T(Me,H[0]),ie=T(Me,X[0]),Te=T(Me,G[0]),Ee=M(P(H[0],H[0]),M(P(H[1],H[1]),P(H[2],H[2]))),Ae=T(Ee,q[0]),ze=T(Ee,V[0]),Ce=T(Ee,X[0]),me=T(Ee,G[0]),Re=M(P(X[0],X[0]),M(P(X[1],X[1]),P(X[2],X[2]))),ce=T(Re,q[0]),Ge=T(Re,V[0]),nt=T(Re,H[0]),ct=T(Re,G[0]),qt=M(P(G[0],G[0]),M(P(G[1],G[1]),P(G[2],G[2]))),rt=T(qt,q[0]),ot=T(qt,V[0]),Rt=T(qt,H[0]),kt=T(qt,X[0]),Ct=M(M(M(T(M(T(g(kt,ct),H[1]),M(T(g(Rt,me),-X[1]),T(g(nt,Ce),G[1]))),V[2]),M(T(M(T(g(kt,ct),V[1]),M(T(g(ot,Te),-X[1]),T(g(Ge,ie),G[1]))),-H[2]),T(M(T(g(Rt,me),V[1]),M(T(g(ot,Te),-H[1]),T(g(ze,ge),G[1]))),X[2]))),M(T(M(T(g(nt,Ce),V[1]),M(T(g(Ge,ie),-H[1]),T(g(ze,ge),X[1]))),-G[2]),M(T(M(T(g(kt,ct),V[1]),M(T(g(ot,Te),-X[1]),T(g(Ge,ie),G[1]))),q[2]),T(M(T(g(kt,ct),q[1]),M(T(g(rt,_e),-X[1]),T(g(ce,ae),G[1]))),-V[2])))),M(M(T(M(T(g(ot,Te),q[1]),M(T(g(rt,_e),-V[1]),T(g(ke,W),G[1]))),X[2]),M(T(M(T(g(Ge,ie),q[1]),M(T(g(ce,ae),-V[1]),T(g(ke,W),X[1]))),-G[2]),T(M(T(g(nt,Ce),V[1]),M(T(g(Ge,ie),-H[1]),T(g(ze,ge),X[1]))),q[2]))),M(T(M(T(g(nt,Ce),q[1]),M(T(g(ce,ae),-H[1]),T(g(Ae,re),X[1]))),-V[2]),M(T(M(T(g(Ge,ie),q[1]),M(T(g(ce,ae),-V[1]),T(g(ke,W),X[1]))),H[2]),T(M(T(g(ze,ge),q[1]),M(T(g(Ae,re),-V[1]),T(g(ke,W),H[1]))),-X[2]))))),Yt=M(M(M(T(M(T(g(kt,ct),H[1]),M(T(g(Rt,me),-X[1]),T(g(nt,Ce),G[1]))),q[2]),T(M(T(g(kt,ct),q[1]),M(T(g(rt,_e),-X[1]),T(g(ce,ae),G[1]))),-H[2])),M(T(M(T(g(Rt,me),q[1]),M(T(g(rt,_e),-H[1]),T(g(Ae,re),G[1]))),X[2]),T(M(T(g(nt,Ce),q[1]),M(T(g(ce,ae),-H[1]),T(g(Ae,re),X[1]))),-G[2]))),M(M(T(M(T(g(Rt,me),V[1]),M(T(g(ot,Te),-H[1]),T(g(ze,ge),G[1]))),q[2]),T(M(T(g(Rt,me),q[1]),M(T(g(rt,_e),-H[1]),T(g(Ae,re),G[1]))),-V[2])),M(T(M(T(g(ot,Te),q[1]),M(T(g(rt,_e),-V[1]),T(g(ke,W),G[1]))),H[2]),T(M(T(g(ze,ge),q[1]),M(T(g(Ae,re),-V[1]),T(g(ke,W),H[1]))),-G[2])))),xr=g(Ct,Yt);return xr[xr.length-1]}return F}function k(M,g,P,T){function F(q,V,H,X,G,N){var W=M(M(P(q[0],q[0]),P(q[1],q[1])),M(P(q[2],q[2]),P(q[3],q[3]))),re=T(W,V[0]),ae=T(W,H[0]),_e=T(W,X[0]),Me=T(W,G[0]),ke=T(W,N[0]),ge=M(M(P(V[0],V[0]),P(V[1],V[1])),M(P(V[2],V[2]),P(V[3],V[3]))),ie=T(ge,q[0]),Te=T(ge,H[0]),Ee=T(ge,X[0]),Ae=T(ge,G[0]),ze=T(ge,N[0]),Ce=M(M(P(H[0],H[0]),P(H[1],H[1])),M(P(H[2],H[2]),P(H[3],H[3]))),me=T(Ce,q[0]),Re=T(Ce,V[0]),ce=T(Ce,X[0]),Ge=T(Ce,G[0]),nt=T(Ce,N[0]),ct=M(M(P(X[0],X[0]),P(X[1],X[1])),M(P(X[2],X[2]),P(X[3],X[3]))),qt=T(ct,q[0]),rt=T(ct,V[0]),ot=T(ct,H[0]),Rt=T(ct,G[0]),kt=T(ct,N[0]),Ct=M(M(P(G[0],G[0]),P(G[1],G[1])),M(P(G[2],G[2]),P(G[3],G[3]))),Yt=T(Ct,q[0]),xr=T(Ct,V[0]),er=T(Ct,H[0]),Ke=T(Ct,X[0]),xt=T(Ct,N[0]),bt=M(M(P(N[0],N[0]),P(N[1],N[1])),M(P(N[2],N[2]),P(N[3],N[3]))),Lt=T(bt,q[0]),St=T(bt,V[0]),Et=T(bt,H[0]),dt=T(bt,X[0]),Ht=T(bt,G[0]),$t=M(M(M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),H[2]),T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),-X[2])),M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),G[2]),T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),-N[2]))),V[3]),M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),V[2]),T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),-X[2])),M(T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),G[2]),T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),-N[2]))),-H[3]),T(M(M(T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),V[2]),T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),-H[2])),M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),G[2]),T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),-N[2]))),X[3]))),M(M(T(M(M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),V[2]),T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),-H[2])),M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),X[2]),T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),-N[2]))),-G[3]),T(M(M(T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),V[2]),T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),-H[2])),M(T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),X[2]),T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),-G[2]))),N[3])),M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),V[2]),T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),-X[2])),M(T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),G[2]),T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),-N[2]))),q[3]),T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-X[2])),M(T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),G[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-N[2]))),-V[3])))),M(M(M(T(M(M(T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),G[2]),T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),-N[2]))),X[3]),T(M(M(T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),q[2]),T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),X[2]),T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),-N[2]))),-G[3])),M(T(M(M(T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),q[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-V[2])),M(T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),X[2]),T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),-G[2]))),N[3]),T(M(M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),V[2]),T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),-H[2])),M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),X[2]),T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),-N[2]))),q[3]))),M(M(T(M(M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),q[2]),T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),-H[2])),M(T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),X[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-N[2]))),-V[3]),T(M(M(T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),q[2]),T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),X[2]),T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),-N[2]))),H[3])),M(T(M(M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),q[2]),T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-N[2]))),-X[3]),T(M(M(T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),q[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-V[2])),M(T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-X[2]))),N[3]))))),fr=M(M(M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),H[2]),T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),-X[2])),M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),G[2]),T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),-N[2]))),q[3]),M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-X[2])),M(T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),G[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-N[2]))),-H[3]),T(M(M(T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-H[2])),M(T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),G[2]),T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),-N[2]))),X[3]))),M(M(T(M(M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),q[2]),T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),-H[2])),M(T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),X[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-N[2]))),-G[3]),T(M(M(T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),q[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-H[2])),M(T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),X[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-G[2]))),N[3])),M(T(M(M(T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),V[2]),T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),-H[2])),M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),G[2]),T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),-N[2]))),q[3]),T(M(M(T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-H[2])),M(T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),G[2]),T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),-N[2]))),-V[3])))),M(M(M(T(M(M(T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),G[2]),T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),-N[2]))),H[3]),T(M(M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),q[2]),T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-N[2]))),-G[3])),M(T(M(M(T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),q[2]),T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),-V[2])),M(T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-G[2]))),N[3]),T(M(M(T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),V[2]),T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),-H[2])),M(T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),X[2]),T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),-G[2]))),q[3]))),M(M(T(M(M(T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),q[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-H[2])),M(T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),X[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-G[2]))),-V[3]),T(M(M(T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),q[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-V[2])),M(T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),X[2]),T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),-G[2]))),H[3])),M(T(M(M(T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),q[2]),T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),-V[2])),M(T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-G[2]))),-X[3]),T(M(M(T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),q[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-V[2])),M(T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-X[2]))),G[3]))))),_r=g($t,fr);return _r[_r.length-1]}return F}var A=[d,v,x];function L(M){var g=A[M.length];return g||(g=A[M.length]=h(M.length)),g.apply(void 0,M)}function _(M,g,P,T,F,q,V,H){function X(G,N,W,re,ae,_e){switch(arguments.length){case 0:case 1:return 0;case 2:return T(G,N);case 3:return F(G,N,W);case 4:return q(G,N,W,re);case 5:return V(G,N,W,re,ae);case 6:return H(G,N,W,re,ae,_e)}for(var Me=new Array(arguments.length),ke=0;ke<arguments.length;++ke)Me[ke]=arguments[ke];return M(Me)}return X}function C(){for(;A.length<=f;)A.push(h(A.length));i.exports=_.apply(void 0,[L].concat(A));for(var M=0;M<=f;++M)i.exports[M]=A[M]}C()},727:function(i,a,o){\"use strict\";var s=o(2962),l=6;function u(A){var L=A===2?h:A===3?d:A===4?v:A===5?x:b;return A<6?L(s[A]):L(s)}function c(){return[[0]]}function f(A,L){return[[L[0]],[A[0][0]]]}function h(A){return function(_,C){return[A([[+C[0],+_[0][1]],[+C[1],+_[1][1]]]),A([[+_[0][0],+C[0]],[+_[1][0],+C[1]]]),A(_)]}}function d(A){return function(_,C){return[A([[+C[0],+_[0][1],+_[0][2]],[+C[1],+_[1][1],+_[1][2]],[+C[2],+_[2][1],+_[2][2]]]),A([[+_[0][0],+C[0],+_[0][2]],[+_[1][0],+C[1],+_[1][2]],[+_[2][0],+C[2],+_[2][2]]]),A([[+_[0][0],+_[0][1],+C[0]],[+_[1][0],+_[1][1],+C[1]],[+_[2][0],+_[2][1],+C[2]]]),A(_)]}}function v(A){return function(_,C){return[A([[+C[0],+_[0][1],+_[0][2],+_[0][3]],[+C[1],+_[1][1],+_[1][2],+_[1][3]],[+C[2],+_[2][1],+_[2][2],+_[2][3]],[+C[3],+_[3][1],+_[3][2],+_[3][3]]]),A([[+_[0][0],+C[0],+_[0][2],+_[0][3]],[+_[1][0],+C[1],+_[1][2],+_[1][3]],[+_[2][0],+C[2],+_[2][2],+_[2][3]],[+_[3][0],+C[3],+_[3][2],+_[3][3]]]),A([[+_[0][0],+_[0][1],+C[0],+_[0][3]],[+_[1][0],+_[1][1],+C[1],+_[1][3]],[+_[2][0],+_[2][1],+C[2],+_[2][3]],[+_[3][0],+_[3][1],+C[3],+_[3][3]]]),A([[+_[0][0],+_[0][1],+_[0][2],+C[0]],[+_[1][0],+_[1][1],+_[1][2],+C[1]],[+_[2][0],+_[2][1],+_[2][2],+C[2]],[+_[3][0],+_[3][1],+_[3][2],+C[3]]]),A(_)]}}function x(A){return function(_,C){return[A([[+C[0],+_[0][1],+_[0][2],+_[0][3],+_[0][4]],[+C[1],+_[1][1],+_[1][2],+_[1][3],+_[1][4]],[+C[2],+_[2][1],+_[2][2],+_[2][3],+_[2][4]],[+C[3],+_[3][1],+_[3][2],+_[3][3],+_[3][4]],[+C[4],+_[4][1],+_[4][2],+_[4][3],+_[4][4]]]),A([[+_[0][0],+C[0],+_[0][2],+_[0][3],+_[0][4]],[+_[1][0],+C[1],+_[1][2],+_[1][3],+_[1][4]],[+_[2][0],+C[2],+_[2][2],+_[2][3],+_[2][4]],[+_[3][0],+C[3],+_[3][2],+_[3][3],+_[3][4]],[+_[4][0],+C[4],+_[4][2],+_[4][3],+_[4][4]]]),A([[+_[0][0],+_[0][1],+C[0],+_[0][3],+_[0][4]],[+_[1][0],+_[1][1],+C[1],+_[1][3],+_[1][4]],[+_[2][0],+_[2][1],+C[2],+_[2][3],+_[2][4]],[+_[3][0],+_[3][1],+C[3],+_[3][3],+_[3][4]],[+_[4][0],+_[4][1],+C[4],+_[4][3],+_[4][4]]]),A([[+_[0][0],+_[0][1],+_[0][2],+C[0],+_[0][4]],[+_[1][0],+_[1][1],+_[1][2],+C[1],+_[1][4]],[+_[2][0],+_[2][1],+_[2][2],+C[2],+_[2][4]],[+_[3][0],+_[3][1],+_[3][2],+C[3],+_[3][4]],[+_[4][0],+_[4][1],+_[4][2],+C[4],+_[4][4]]]),A([[+_[0][0],+_[0][1],+_[0][2],+_[0][3],+C[0]],[+_[1][0],+_[1][1],+_[1][2],+_[1][3],+C[1]],[+_[2][0],+_[2][1],+_[2][2],+_[2][3],+C[2]],[+_[3][0],+_[3][1],+_[3][2],+_[3][3],+C[3]],[+_[4][0],+_[4][1],+_[4][2],+_[4][3],+C[4]]]),A(_)]}}function b(A){return function(_,C){return[A([[+C[0],+_[0][1],+_[0][2],+_[0][3],+_[0][4],+_[0][5]],[+C[1],+_[1][1],+_[1][2],+_[1][3],+_[1][4],+_[1][5]],[+C[2],+_[2][1],+_[2][2],+_[2][3],+_[2][4],+_[2][5]],[+C[3],+_[3][1],+_[3][2],+_[3][3],+_[3][4],+_[3][5]],[+C[4],+_[4][1],+_[4][2],+_[4][3],+_[4][4],+_[4][5]],[+C[5],+_[5][1],+_[5][2],+_[5][3],+_[5][4],+_[5][5]]]),A([[+_[0][0],+C[0],+_[0][2],+_[0][3],+_[0][4],+_[0][5]],[+_[1][0],+C[1],+_[1][2],+_[1][3],+_[1][4],+_[1][5]],[+_[2][0],+C[2],+_[2][2],+_[2][3],+_[2][4],+_[2][5]],[+_[3][0],+C[3],+_[3][2],+_[3][3],+_[3][4],+_[3][5]],[+_[4][0],+C[4],+_[4][2],+_[4][3],+_[4][4],+_[4][5]],[+_[5][0],+C[5],+_[5][2],+_[5][3],+_[5][4],+_[5][5]]]),A([[+_[0][0],+_[0][1],+C[0],+_[0][3],+_[0][4],+_[0][5]],[+_[1][0],+_[1][1],+C[1],+_[1][3],+_[1][4],+_[1][5]],[+_[2][0],+_[2][1],+C[2],+_[2][3],+_[2][4],+_[2][5]],[+_[3][0],+_[3][1],+C[3],+_[3][3],+_[3][4],+_[3][5]],[+_[4][0],+_[4][1],+C[4],+_[4][3],+_[4][4],+_[4][5]],[+_[5][0],+_[5][1],+C[5],+_[5][3],+_[5][4],+_[5][5]]]),A([[+_[0][0],+_[0][1],+_[0][2],+C[0],+_[0][4],+_[0][5]],[+_[1][0],+_[1][1],+_[1][2],+C[1],+_[1][4],+_[1][5]],[+_[2][0],+_[2][1],+_[2][2],+C[2],+_[2][4],+_[2][5]],[+_[3][0],+_[3][1],+_[3][2],+C[3],+_[3][4],+_[3][5]],[+_[4][0],+_[4][1],+_[4][2],+C[4],+_[4][4],+_[4][5]],[+_[5][0],+_[5][1],+_[5][2],+C[5],+_[5][4],+_[5][5]]]),A([[+_[0][0],+_[0][1],+_[0][2],+_[0][3],+C[0],+_[0][5]],[+_[1][0],+_[1][1],+_[1][2],+_[1][3],+C[1],+_[1][5]],[+_[2][0],+_[2][1],+_[2][2],+_[2][3],+C[2],+_[2][5]],[+_[3][0],+_[3][1],+_[3][2],+_[3][3],+C[3],+_[3][5]],[+_[4][0],+_[4][1],+_[4][2],+_[4][3],+C[4],+_[4][5]],[+_[5][0],+_[5][1],+_[5][2],+_[5][3],+C[5],+_[5][5]]]),A([[+_[0][0],+_[0][1],+_[0][2],+_[0][3],+_[0][4],+C[0]],[+_[1][0],+_[1][1],+_[1][2],+_[1][3],+_[1][4],+C[1]],[+_[2][0],+_[2][1],+_[2][2],+_[2][3],+_[2][4],+C[2]],[+_[3][0],+_[3][1],+_[3][2],+_[3][3],+_[3][4],+C[3]],[+_[4][0],+_[4][1],+_[4][2],+_[4][3],+_[4][4],+C[4]],[+_[5][0],+_[5][1],+_[5][2],+_[5][3],+_[5][4],+C[5]]]),A(_)]}}var p=[c,f];function E(A,L,_,C,M,g,P,T){return function(q,V){switch(q.length){case 0:return A(q,V);case 1:return L(q,V);case 2:return _(q,V);case 3:return C(q,V);case 4:return M(q,V);case 5:return g(q,V)}var H=P[q.length];return H||(H=P[q.length]=T(q.length)),H(q,V)}}function k(){for(;p.length<l;)p.push(u(p.length));i.exports=E.apply(void 0,p.concat([p,u]));for(var A=0;A<l;++A)i.exports[A]=p[A]}k()},3250:function(i,a,o){\"use strict\";var s=o(5250),l=o(8210),u=o(3012),c=o(8545),f=5,h=11102230246251565e-32,d=(3+16*h)*h,v=(7+56*h)*h;function x(g,P,T,F){return function(V,H,X){var G=g(g(P(H[1],X[0]),P(-X[1],H[0])),g(P(V[1],H[0]),P(-H[1],V[0]))),N=g(P(V[1],X[0]),P(-X[1],V[0])),W=F(G,N);return W[W.length-1]}}function b(g,P,T,F){return function(V,H,X,G){var N=g(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),H[2]),g(T(g(P(H[1],G[0]),P(-G[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),G[2]))),g(T(g(P(H[1],G[0]),P(-G[1],H[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),G[2])))),W=g(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),G[2]))),g(T(g(P(H[1],X[0]),P(-X[1],H[0])),V[2]),g(T(g(P(V[1],X[0]),P(-X[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),X[2])))),re=F(N,W);return re[re.length-1]}}function p(g,P,T,F){return function(V,H,X,G,N){var W=g(g(g(T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),X[2]),g(T(g(P(X[1],N[0]),P(-N[1],X[0])),-G[2]),T(g(P(X[1],G[0]),P(-G[1],X[0])),N[2]))),H[3]),g(T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),H[2]),g(T(g(P(H[1],N[0]),P(-N[1],H[0])),-G[2]),T(g(P(H[1],G[0]),P(-G[1],H[0])),N[2]))),-X[3]),T(g(T(g(P(X[1],N[0]),P(-N[1],X[0])),H[2]),g(T(g(P(H[1],N[0]),P(-N[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),N[2]))),G[3]))),g(T(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),H[2]),g(T(g(P(H[1],G[0]),P(-G[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),G[2]))),-N[3]),g(T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),H[2]),g(T(g(P(H[1],N[0]),P(-N[1],H[0])),-G[2]),T(g(P(H[1],G[0]),P(-G[1],H[0])),N[2]))),V[3]),T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-G[2]),T(g(P(V[1],G[0]),P(-G[1],V[0])),N[2]))),-H[3])))),g(g(T(g(T(g(P(H[1],N[0]),P(-N[1],H[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),N[2]))),G[3]),g(T(g(T(g(P(H[1],G[0]),P(-G[1],H[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),G[2]))),-N[3]),T(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),H[2]),g(T(g(P(H[1],G[0]),P(-G[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),G[2]))),V[3]))),g(T(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),G[2]))),-H[3]),g(T(g(T(g(P(H[1],G[0]),P(-G[1],H[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),G[2]))),X[3]),T(g(T(g(P(H[1],X[0]),P(-X[1],H[0])),V[2]),g(T(g(P(V[1],X[0]),P(-X[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),X[2]))),-G[3]))))),re=g(g(g(T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),X[2]),g(T(g(P(X[1],N[0]),P(-N[1],X[0])),-G[2]),T(g(P(X[1],G[0]),P(-G[1],X[0])),N[2]))),V[3]),T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-G[2]),T(g(P(V[1],G[0]),P(-G[1],V[0])),N[2]))),-X[3])),g(T(g(T(g(P(X[1],N[0]),P(-N[1],X[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),N[2]))),G[3]),T(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),G[2]))),-N[3]))),g(g(T(g(T(g(P(X[1],N[0]),P(-N[1],X[0])),H[2]),g(T(g(P(H[1],N[0]),P(-N[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),N[2]))),V[3]),T(g(T(g(P(X[1],N[0]),P(-N[1],X[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),N[2]))),-H[3])),g(T(g(T(g(P(H[1],N[0]),P(-N[1],H[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),N[2]))),X[3]),T(g(T(g(P(H[1],X[0]),P(-X[1],H[0])),V[2]),g(T(g(P(V[1],X[0]),P(-X[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),X[2]))),-N[3])))),ae=F(W,re);return ae[ae.length-1]}}function E(g){var P=g===3?x:g===4?b:p;return P(l,s,u,c)}var k=E(3),A=E(4),L=[function(){return 0},function(){return 0},function(P,T){return T[0]-P[0]},function(P,T,F){var q=(P[1]-F[1])*(T[0]-F[0]),V=(P[0]-F[0])*(T[1]-F[1]),H=q-V,X;if(q>0){if(V<=0)return H;X=q+V}else if(q<0){if(V>=0)return H;X=-(q+V)}else return H;var G=d*X;return H>=G||H<=-G?H:k(P,T,F)},function(P,T,F,q){var V=P[0]-q[0],H=T[0]-q[0],X=F[0]-q[0],G=P[1]-q[1],N=T[1]-q[1],W=F[1]-q[1],re=P[2]-q[2],ae=T[2]-q[2],_e=F[2]-q[2],Me=H*W,ke=X*N,ge=X*G,ie=V*W,Te=V*N,Ee=H*G,Ae=re*(Me-ke)+ae*(ge-ie)+_e*(Te-Ee),ze=(Math.abs(Me)+Math.abs(ke))*Math.abs(re)+(Math.abs(ge)+Math.abs(ie))*Math.abs(ae)+(Math.abs(Te)+Math.abs(Ee))*Math.abs(_e),Ce=v*ze;return Ae>Ce||-Ae>Ce?Ae:A(P,T,F,q)}];function _(g){var P=L[g.length];return P||(P=L[g.length]=E(g.length)),P.apply(void 0,g)}function C(g,P,T,F,q,V,H){return function(G,N,W,re,ae){switch(arguments.length){case 0:case 1:return 0;case 2:return F(G,N);case 3:return q(G,N,W);case 4:return V(G,N,W,re);case 5:return H(G,N,W,re,ae)}for(var _e=new Array(arguments.length),Me=0;Me<arguments.length;++Me)_e[Me]=arguments[Me];return g(_e)}}function M(){for(;L.length<=f;)L.push(E(L.length));i.exports=C.apply(void 0,[_].concat(L));for(var g=0;g<=f;++g)i.exports[g]=L[g]}M()},5382:function(i,a,o){\"use strict\";var s=o(8210),l=o(3012);i.exports=u;function u(c,f){if(c.length===1)return l(f,c[0]);if(f.length===1)return l(c,f[0]);if(c.length===0||f.length===0)return[0];var h=[0];if(c.length<f.length)for(var d=0;d<c.length;++d)h=s(h,l(f,c[d]));else for(var d=0;d<f.length;++d)h=s(h,l(c,f[d]));return h}},3012:function(i,a,o){\"use strict\";var s=o(5250),l=o(9362);i.exports=u;function u(c,f){var h=c.length;if(h===1){var d=s(c[0],f);return d[0]?d:[d[1]]}var v=new Array(2*h),x=[.1,.1],b=[.1,.1],p=0;s(c[0],f,x),x[0]&&(v[p++]=x[0]);for(var E=1;E<h;++E){s(c[E],f,b);var k=x[1];l(k,b[0],x),x[0]&&(v[p++]=x[0]);var A=b[1],L=x[1],_=A+L,C=_-A,M=L-C;x[1]=_,M&&(v[p++]=M)}return x[1]&&(v[p++]=x[1]),p===0&&(v[p++]=0),v.length=p,v}},1125:function(i,a,o){\"use strict\";i.exports=u;var s=o(3250)[3];function l(c,f,h,d){for(var v=0;v<2;++v){var x=c[v],b=f[v],p=Math.min(x,b),E=Math.max(x,b),k=h[v],A=d[v],L=Math.min(k,A),_=Math.max(k,A);if(_<p||E<L)return!1}return!0}function u(c,f,h,d){var v=s(c,h,d),x=s(f,h,d);if(v>0&&x>0||v<0&&x<0)return!1;var b=s(h,c,f),p=s(d,c,f);return b>0&&p>0||b<0&&p<0?!1:v===0&&x===0&&b===0&&p===0?l(c,f,h,d):!0}},8545:function(i){\"use strict\";i.exports=o;function a(s,l){var u=s+l,c=u-s,f=u-c,h=l-c,d=s-f,v=d+h;return v?[v,u]:[u]}function o(s,l){var u=s.length|0,c=l.length|0;if(u===1&&c===1)return a(s[0],-l[0]);var f=u+c,h=new Array(f),d=0,v=0,x=0,b=Math.abs,p=s[v],E=b(p),k=-l[x],A=b(k),L,_;E<A?(_=p,v+=1,v<u&&(p=s[v],E=b(p))):(_=k,x+=1,x<c&&(k=-l[x],A=b(k))),v<u&&E<A||x>=c?(L=p,v+=1,v<u&&(p=s[v],E=b(p))):(L=k,x+=1,x<c&&(k=-l[x],A=b(k)));for(var C=L+_,M=C-L,g=_-M,P=g,T=C,F,q,V,H,X;v<u&&x<c;)E<A?(L=p,v+=1,v<u&&(p=s[v],E=b(p))):(L=k,x+=1,x<c&&(k=-l[x],A=b(k))),_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F;for(;v<u;)L=p,_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F,v+=1,v<u&&(p=s[v]);for(;x<c;)L=k,_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F,x+=1,x<c&&(k=-l[x]);return P&&(h[d++]=P),T&&(h[d++]=T),d||(h[d++]=0),h.length=d,h}},8210:function(i){\"use strict\";i.exports=o;function a(s,l){var u=s+l,c=u-s,f=u-c,h=l-c,d=s-f,v=d+h;return v?[v,u]:[u]}function o(s,l){var u=s.length|0,c=l.length|0;if(u===1&&c===1)return a(s[0],l[0]);var f=u+c,h=new Array(f),d=0,v=0,x=0,b=Math.abs,p=s[v],E=b(p),k=l[x],A=b(k),L,_;E<A?(_=p,v+=1,v<u&&(p=s[v],E=b(p))):(_=k,x+=1,x<c&&(k=l[x],A=b(k))),v<u&&E<A||x>=c?(L=p,v+=1,v<u&&(p=s[v],E=b(p))):(L=k,x+=1,x<c&&(k=l[x],A=b(k)));for(var C=L+_,M=C-L,g=_-M,P=g,T=C,F,q,V,H,X;v<u&&x<c;)E<A?(L=p,v+=1,v<u&&(p=s[v],E=b(p))):(L=k,x+=1,x<c&&(k=l[x],A=b(k))),_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F;for(;v<u;)L=p,_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F,v+=1,v<u&&(p=s[v]);for(;x<c;)L=k,_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F,x+=1,x<c&&(k=l[x]);return P&&(h[d++]=P),T&&(h[d++]=T),d||(h[d++]=0),h.length=d,h}},9127:function(i,a,o){\"use strict\";i.exports=u;var s=o(6204),l=o(5771);function u(c){return l(s(c))}},7765:function(i,a,o){\"use strict\";i.exports=p;var s=o(9618),l=o(1888),u=o(446),c=o(1570);function f(E){for(var k=E.length,A=0,L=0;L<k;++L)A=Math.max(A,E[L].length)|0;return A-1}function h(E,k){for(var A=E.length,L=l.mallocUint8(A),_=0;_<A;++_)L[_]=E[_]<k|0;return L}function d(E,k){for(var A=E.length,L=k*(k+1)/2*A|0,_=l.mallocUint32(L*2),C=0,M=0;M<A;++M)for(var g=E[M],k=g.length,P=0;P<k;++P)for(var T=0;T<P;++T){var F=g[T],q=g[P];_[C++]=Math.min(F,q)|0,_[C++]=Math.max(F,q)|0}var V=C/2|0;u(s(_,[V,2]));for(var H=2,M=2;M<C;M+=2)_[M-2]===_[M]&&_[M-1]===_[M+1]||(_[H++]=_[M],_[H++]=_[M+1]);return s(_,[H/2|0,2])}function v(E,k,A,L){for(var _=E.data,C=E.shape[0],M=l.mallocDouble(C),g=0,P=0;P<C;++P){var T=_[2*P],F=_[2*P+1];if(A[T]!==A[F]){var q=k[T],V=k[F];_[2*g]=T,_[2*g+1]=F,M[g++]=(V-L)/(V-q)}}return E.shape[0]=g,s(M,[g])}function x(E,k){var A=l.mallocInt32(k*2),L=E.shape[0],_=E.data;A[0]=0;for(var C=0,M=0;M<L;++M){var g=_[2*M];if(g!==C){for(A[2*C+1]=M;++C<g;)A[2*C]=M,A[2*C+1]=M;A[2*C]=M}}for(A[2*C+1]=L;++C<k;)A[2*C]=A[2*C+1]=L;return A}function b(E){for(var k=E.shape[0]|0,A=E.data,L=new Array(k),_=0;_<k;++_)L[_]=[A[2*_],A[2*_+1]];return L}function p(E,k,A,L){A=A||0,typeof L==\"undefined\"&&(L=f(E));var _=E.length;if(_===0||L<1)return{cells:[],vertexIds:[],vertexWeights:[]};var C=h(k,+A),M=d(E,L),g=v(M,k,C,+A),P=x(M,k.length|0),T=c(L)(E,M.data,P,C),F=b(M),q=[].slice.call(g.data,0,g.shape[0]);return l.free(C),l.free(M.data),l.free(g.data),l.free(P),{cells:T,vertexIds:F,vertexWeights:q}}},1570:function(i){\"use strict\";i.exports=o;var a=[function(){function l(c,f,h,d){for(var v=Math.min(h,d)|0,x=Math.max(h,d)|0,b=c[2*v],p=c[2*v+1];b<p;){var E=b+p>>1,k=f[2*E+1];if(k===x)return E;x<k?p=E:b=E+1}return b}function u(c,f,h,d){for(var v=c.length,x=[],b=0;b<v;++b)var p=c[b],E=p.length;return x}return u},function(){function l(c,f,h,d){for(var v=Math.min(h,d)|0,x=Math.max(h,d)|0,b=c[2*v],p=c[2*v+1];b<p;){var E=b+p>>1,k=f[2*E+1];if(k===x)return E;x<k?p=E:b=E+1}return b}function u(c,f,h,d){for(var v=c.length,x=[],b=0;b<v;++b){var p=c[b],E=p.length;if(E===2){var k=(d[p[0]]<<0)+(d[p[1]]<<1);if(k===0||k===3)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0])]);break;case 3:break}}}return x}return u},function(){function l(c,f,h,d){for(var v=Math.min(h,d)|0,x=Math.max(h,d)|0,b=c[2*v],p=c[2*v+1];b<p;){var E=b+p>>1,k=f[2*E+1];if(k===x)return E;x<k?p=E:b=E+1}return b}function u(c,f,h,d){for(var v=c.length,x=[],b=0;b<v;++b){var p=c[b],E=p.length;if(E===3){var k=(d[p[0]]<<0)+(d[p[1]]<<1)+(d[p[2]]<<2);if(k===0||k===7)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[2]),l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0]),l(h,f,p[1],p[2])]);break;case 3:x.push([l(h,f,p[0],p[2]),l(h,f,p[1],p[2])]);break;case 4:x.push([l(h,f,p[2],p[1]),l(h,f,p[2],p[0])]);break;case 5:x.push([l(h,f,p[2],p[1]),l(h,f,p[0],p[1])]);break;case 6:x.push([l(h,f,p[1],p[0]),l(h,f,p[2],p[0])]);break;case 7:break}}else if(E===2){var k=(d[p[0]]<<0)+(d[p[1]]<<1);if(k===0||k===3)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0])]);break;case 3:break}}}return x}return u},function(){function l(c,f,h,d){for(var v=Math.min(h,d)|0,x=Math.max(h,d)|0,b=c[2*v],p=c[2*v+1];b<p;){var E=b+p>>1,k=f[2*E+1];if(k===x)return E;x<k?p=E:b=E+1}return b}function u(c,f,h,d){for(var v=c.length,x=[],b=0;b<v;++b){var p=c[b],E=p.length;if(E===4){var k=(d[p[0]]<<0)+(d[p[1]]<<1)+(d[p[2]]<<2)+(d[p[3]]<<3);if(k===0||k===15)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[1]),l(h,f,p[0],p[2]),l(h,f,p[0],p[3])]);break;case 2:x.push([l(h,f,p[1],p[2]),l(h,f,p[1],p[0]),l(h,f,p[1],p[3])]);break;case 3:x.push([l(h,f,p[1],p[2]),l(h,f,p[0],p[2]),l(h,f,p[0],p[3])],[l(h,f,p[1],p[3]),l(h,f,p[1],p[2]),l(h,f,p[0],p[3])]);break;case 4:x.push([l(h,f,p[2],p[0]),l(h,f,p[2],p[1]),l(h,f,p[2],p[3])]);break;case 5:x.push([l(h,f,p[0],p[1]),l(h,f,p[2],p[1]),l(h,f,p[0],p[3])],[l(h,f,p[2],p[1]),l(h,f,p[2],p[3]),l(h,f,p[0],p[3])]);break;case 6:x.push([l(h,f,p[2],p[0]),l(h,f,p[1],p[0]),l(h,f,p[1],p[3])],[l(h,f,p[2],p[3]),l(h,f,p[2],p[0]),l(h,f,p[1],p[3])]);break;case 7:x.push([l(h,f,p[0],p[3]),l(h,f,p[1],p[3]),l(h,f,p[2],p[3])]);break;case 8:x.push([l(h,f,p[3],p[1]),l(h,f,p[3],p[0]),l(h,f,p[3],p[2])]);break;case 9:x.push([l(h,f,p[3],p[1]),l(h,f,p[0],p[1]),l(h,f,p[0],p[2])],[l(h,f,p[3],p[2]),l(h,f,p[3],p[1]),l(h,f,p[0],p[2])]);break;case 10:x.push([l(h,f,p[1],p[0]),l(h,f,p[3],p[0]),l(h,f,p[1],p[2])],[l(h,f,p[3],p[0]),l(h,f,p[3],p[2]),l(h,f,p[1],p[2])]);break;case 11:x.push([l(h,f,p[1],p[2]),l(h,f,p[0],p[2]),l(h,f,p[3],p[2])]);break;case 12:x.push([l(h,f,p[3],p[0]),l(h,f,p[2],p[0]),l(h,f,p[2],p[1])],[l(h,f,p[3],p[1]),l(h,f,p[3],p[0]),l(h,f,p[2],p[1])]);break;case 13:x.push([l(h,f,p[0],p[1]),l(h,f,p[2],p[1]),l(h,f,p[3],p[1])]);break;case 14:x.push([l(h,f,p[2],p[0]),l(h,f,p[1],p[0]),l(h,f,p[3],p[0])]);break;case 15:break}}else if(E===3){var k=(d[p[0]]<<0)+(d[p[1]]<<1)+(d[p[2]]<<2);if(k===0||k===7)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[2]),l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0]),l(h,f,p[1],p[2])]);break;case 3:x.push([l(h,f,p[0],p[2]),l(h,f,p[1],p[2])]);break;case 4:x.push([l(h,f,p[2],p[1]),l(h,f,p[2],p[0])]);break;case 5:x.push([l(h,f,p[2],p[1]),l(h,f,p[0],p[1])]);break;case 6:x.push([l(h,f,p[1],p[0]),l(h,f,p[2],p[0])]);break;case 7:break}}else if(E===2){var k=(d[p[0]]<<0)+(d[p[1]]<<1);if(k===0||k===3)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0])]);break;case 3:break}}}return x}return u}];function o(s){return a[s]()}},6803:function(i,a,o){\"use strict\";var s,l=o(8828),u=o(1755);function c(P){for(var T=0,F=Math.max,q=0,V=P.length;q<V;++q)T=F(T,P[q].length);return T-1}s=c;function f(P){for(var T=-1,F=Math.max,q=0,V=P.length;q<V;++q)for(var H=P[q],X=0,G=H.length;X<G;++X)T=F(T,H[X]);return T+1}s=f;function h(P){for(var T=new Array(P.length),F=0,q=P.length;F<q;++F)T[F]=P[F].slice(0);return T}s=h;function d(P,T){var F=P.length,q=P.length-T.length,V=Math.min;if(q)return q;switch(F){case 0:return 0;case 1:return P[0]-T[0];case 2:var W=P[0]+P[1]-T[0]-T[1];return W||V(P[0],P[1])-V(T[0],T[1]);case 3:var H=P[0]+P[1],X=T[0]+T[1];if(W=H+P[2]-(X+T[2]),W)return W;var G=V(P[0],P[1]),N=V(T[0],T[1]),W=V(G,P[2])-V(N,T[2]);return W||V(G+P[2],H)-V(N+T[2],X);default:var re=P.slice(0);re.sort();var ae=T.slice(0);ae.sort();for(var _e=0;_e<F;++_e)if(q=re[_e]-ae[_e],q)return q;return 0}}a.Fw=d;function v(P,T){return d(P[0],T[0])}function x(P,T){if(T){for(var F=P.length,q=new Array(F),V=0;V<F;++V)q[V]=[P[V],T[V]];q.sort(v);for(var V=0;V<F;++V)P[V]=q[V][0],T[V]=q[V][1];return P}else return P.sort(d),P}s=x;function b(P){if(P.length===0)return[];for(var T=1,F=P.length,q=1;q<F;++q){var V=P[q];if(d(V,P[q-1])){if(q===T){T++;continue}P[T++]=V}}return P.length=T,P}s=b;function p(P,T){for(var F=0,q=P.length-1,V=-1;F<=q;){var H=F+q>>1,X=d(P[H],T);X<=0?(X===0&&(V=H),F=H+1):X>0&&(q=H-1)}return V}s=p;function E(P,T){for(var F=new Array(P.length),q=0,V=F.length;q<V;++q)F[q]=[];for(var H=[],q=0,X=T.length;q<X;++q)for(var G=T[q],N=G.length,W=1,re=1<<N;W<re;++W){H.length=l.popCount(W);for(var ae=0,_e=0;_e<N;++_e)W&1<<_e&&(H[ae++]=G[_e]);var Me=p(P,H);if(!(Me<0))for(;F[Me++].push(q),!(Me>=P.length||d(P[Me],H)!==0););}return F}s=E;function k(P,T){if(!T)return E(b(L(P,0)),P,0);for(var F=new Array(T),q=0;q<T;++q)F[q]=[];for(var q=0,V=P.length;q<V;++q)for(var H=P[q],X=0,G=H.length;X<G;++X)F[H[X]].push(q);return F}s=k;function A(P){for(var T=[],F=0,q=P.length;F<q;++F)for(var V=P[F],H=V.length|0,X=1,G=1<<H;X<G;++X){for(var N=[],W=0;W<H;++W)X>>>W&1&&N.push(V[W]);T.push(N)}return x(T)}s=A;function L(P,T){if(T<0)return[];for(var F=[],q=(1<<T+1)-1,V=0;V<P.length;++V)for(var H=P[V],X=q;X<1<<H.length;X=l.nextCombination(X)){for(var G=new Array(T+1),N=0,W=0;W<H.length;++W)X&1<<W&&(G[N++]=H[W]);F.push(G)}return x(F)}s=L;function _(P){for(var T=[],F=0,q=P.length;F<q;++F)for(var V=P[F],H=0,X=V.length;H<X;++H){for(var G=new Array(V.length-1),N=0,W=0;N<X;++N)N!==H&&(G[W++]=V[N]);T.push(G)}return x(T)}s=_;function C(P,T){for(var F=new u(T),q=0;q<P.length;++q)for(var V=P[q],H=0;H<V.length;++H)for(var X=H+1;X<V.length;++X)F.link(V[H],V[X]);for(var G=[],N=F.ranks,q=0;q<N.length;++q)N[q]=-1;for(var q=0;q<P.length;++q){var W=F.find(P[q][0]);N[W]<0?(N[W]=G.length,G.push([P[q].slice(0)])):G[N[W]].push(P[q].slice(0))}return G}function M(P){for(var T=b(x(L(P,0))),F=new u(T.length),q=0;q<P.length;++q)for(var V=P[q],H=0;H<V.length;++H)for(var X=p(T,[V[H]]),G=H+1;G<V.length;++G)F.link(X,p(T,[V[G]]));for(var N=[],W=F.ranks,q=0;q<W.length;++q)W[q]=-1;for(var q=0;q<P.length;++q){var re=F.find(p(T,[P[q][0]]));W[re]<0?(W[re]=N.length,N.push([P[q].slice(0)])):N[W[re]].push(P[q].slice(0))}return N}function g(P,T){return T?C(P,T):M(P)}s=g},3105:function(i,a){\"use strict\";\"use restrict\";var o=32;a.INT_BITS=o,a.INT_MAX=2147483647,a.INT_MIN=-1<<o-1,a.sign=function(u){return(u>0)-(u<0)},a.abs=function(u){var c=u>>o-1;return(u^c)-c},a.min=function(u,c){return c^(u^c)&-(u<c)},a.max=function(u,c){return u^(u^c)&-(u<c)},a.isPow2=function(u){return!(u&u-1)&&!!u},a.log2=function(u){var c,f;return c=(u>65535)<<4,u>>>=c,f=(u>255)<<3,u>>>=f,c|=f,f=(u>15)<<2,u>>>=f,c|=f,f=(u>3)<<1,u>>>=f,c|=f,c|u>>1},a.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},a.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var c=32;return u&=-u,u&&c--,u&65535&&(c-=16),u&16711935&&(c-=8),u&252645135&&(c-=4),u&858993459&&(c-=2),u&1431655765&&(c-=1),c}a.countTrailingZeros=s,a.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},a.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},a.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var c=0;c<256;++c){var f=c,h=c,d=7;for(f>>>=1;f;f>>>=1)h<<=1,h|=f&1,--d;u[c]=h<<d&255}})(l),a.reverse=function(u){return l[u&255]<<24|l[u>>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},a.interleave2=function(u,c){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,c&=65535,c=(c|c<<8)&16711935,c=(c|c<<4)&252645135,c=(c|c<<2)&858993459,c=(c|c<<1)&1431655765,u|c<<1},a.deinterleave2=function(u,c){return u=u>>>c&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},a.interleave3=function(u,c,f){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|=c<<1,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|f<<2},a.deinterleave3=function(u,c){return u=u>>>c&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},a.nextCombination=function(u){var c=u|u-1;return c+1|(~c&-~c)-1>>>s(u)+1}},2014:function(i,a,o){\"use strict\";\"use restrict\";var s=o(3105),l=o(4623);function u(g){for(var P=0,T=Math.max,F=0,q=g.length;F<q;++F)P=T(P,g[F].length);return P-1}a.dimension=u;function c(g){for(var P=-1,T=Math.max,F=0,q=g.length;F<q;++F)for(var V=g[F],H=0,X=V.length;H<X;++H)P=T(P,V[H]);return P+1}a.countVertices=c;function f(g){for(var P=new Array(g.length),T=0,F=g.length;T<F;++T)P[T]=g[T].slice(0);return P}a.cloneCells=f;function h(g,P){var T=g.length,F=g.length-P.length,q=Math.min;if(F)return F;switch(T){case 0:return 0;case 1:return g[0]-P[0];case 2:var N=g[0]+g[1]-P[0]-P[1];return N||q(g[0],g[1])-q(P[0],P[1]);case 3:var V=g[0]+g[1],H=P[0]+P[1];if(N=V+g[2]-(H+P[2]),N)return N;var X=q(g[0],g[1]),G=q(P[0],P[1]),N=q(X,g[2])-q(G,P[2]);return N||q(X+g[2],V)-q(G+P[2],H);default:var W=g.slice(0);W.sort();var re=P.slice(0);re.sort();for(var ae=0;ae<T;++ae)if(F=W[ae]-re[ae],F)return F;return 0}}a.compareCells=h;function d(g,P){return h(g[0],P[0])}function v(g,P){if(P){for(var T=g.length,F=new Array(T),q=0;q<T;++q)F[q]=[g[q],P[q]];F.sort(d);for(var q=0;q<T;++q)g[q]=F[q][0],P[q]=F[q][1];return g}else return g.sort(h),g}a.normalize=v;function x(g){if(g.length===0)return[];for(var P=1,T=g.length,F=1;F<T;++F){var q=g[F];if(h(q,g[F-1])){if(F===P){P++;continue}g[P++]=q}}return g.length=P,g}a.unique=x;function b(g,P){for(var T=0,F=g.length-1,q=-1;T<=F;){var V=T+F>>1,H=h(g[V],P);H<=0?(H===0&&(q=V),T=V+1):H>0&&(F=V-1)}return q}a.findCell=b;function p(g,P){for(var T=new Array(g.length),F=0,q=T.length;F<q;++F)T[F]=[];for(var V=[],F=0,H=P.length;F<H;++F)for(var X=P[F],G=X.length,N=1,W=1<<G;N<W;++N){V.length=s.popCount(N);for(var re=0,ae=0;ae<G;++ae)N&1<<ae&&(V[re++]=X[ae]);var _e=b(g,V);if(!(_e<0))for(;T[_e++].push(F),!(_e>=g.length||h(g[_e],V)!==0););}return T}a.incidence=p;function E(g,P){if(!P)return p(x(A(g,0)),g,0);for(var T=new Array(P),F=0;F<P;++F)T[F]=[];for(var F=0,q=g.length;F<q;++F)for(var V=g[F],H=0,X=V.length;H<X;++H)T[V[H]].push(F);return T}a.dual=E;function k(g){for(var P=[],T=0,F=g.length;T<F;++T)for(var q=g[T],V=q.length|0,H=1,X=1<<V;H<X;++H){for(var G=[],N=0;N<V;++N)H>>>N&1&&G.push(q[N]);P.push(G)}return v(P)}a.explode=k;function A(g,P){if(P<0)return[];for(var T=[],F=(1<<P+1)-1,q=0;q<g.length;++q)for(var V=g[q],H=F;H<1<<V.length;H=s.nextCombination(H)){for(var X=new Array(P+1),G=0,N=0;N<V.length;++N)H&1<<N&&(X[G++]=V[N]);T.push(X)}return v(T)}a.skeleton=A;function L(g){for(var P=[],T=0,F=g.length;T<F;++T)for(var q=g[T],V=0,H=q.length;V<H;++V){for(var X=new Array(q.length-1),G=0,N=0;G<H;++G)G!==V&&(X[N++]=q[G]);P.push(X)}return v(P)}a.boundary=L;function _(g,P){for(var T=new l(P),F=0;F<g.length;++F)for(var q=g[F],V=0;V<q.length;++V)for(var H=V+1;H<q.length;++H)T.link(q[V],q[H]);for(var X=[],G=T.ranks,F=0;F<G.length;++F)G[F]=-1;for(var F=0;F<g.length;++F){var N=T.find(g[F][0]);G[N]<0?(G[N]=X.length,X.push([g[F].slice(0)])):X[G[N]].push(g[F].slice(0))}return X}function C(g){for(var P=x(v(A(g,0))),T=new l(P.length),F=0;F<g.length;++F)for(var q=g[F],V=0;V<q.length;++V)for(var H=b(P,[q[V]]),X=V+1;X<q.length;++X)T.link(H,b(P,[q[X]]));for(var G=[],N=T.ranks,F=0;F<N.length;++F)N[F]=-1;for(var F=0;F<g.length;++F){var W=T.find(b(P,[g[F][0]]));N[W]<0?(N[W]=G.length,G.push([g[F].slice(0)])):G[N[W]].push(g[F].slice(0))}return G}function M(g,P){return P?_(g,P):C(g)}a.connectedComponents=M},4623:function(i){\"use strict\";\"use restrict\";i.exports=a;function a(o){this.roots=new Array(o),this.ranks=new Array(o);for(var s=0;s<o;++s)this.roots[s]=s,this.ranks[s]=0}a.prototype.length=function(){return this.roots.length},a.prototype.makeSet=function(){var o=this.roots.length;return this.roots.push(o),this.ranks.push(0),o},a.prototype.find=function(o){for(var s=this.roots;s[o]!==o;){var l=s[o];s[o]=s[l],o=l}return o},a.prototype.link=function(o,s){var l=this.find(o),u=this.find(s);if(l!==u){var c=this.ranks,f=this.roots,h=c[l],d=c[u];h<d?f[l]=u:d<h?f[u]=l:(f[u]=l,++c[l])}}},5878:function(i,a,o){\"use strict\";i.exports=c;var s=o(3250),l=o(2014);function u(f,h,d){var v=Math.abs(s(f,h,d)),x=Math.sqrt(Math.pow(h[0]-d[0],2)+Math.pow(h[1]-d[1],2));return v/x}function c(f,h,d){for(var v=h.length,x=f.length,b=new Array(v),p=new Array(v),E=new Array(v),k=new Array(v),A=0;A<v;++A)b[A]=p[A]=-1,E[A]=1/0,k[A]=!1;for(var A=0;A<x;++A){var L=f[A];if(L.length!==2)throw new Error(\"Input must be a graph\");var _=L[1],C=L[0];p[C]!==-1?p[C]=-2:p[C]=_,b[_]!==-1?b[_]=-2:b[_]=C}function M(ie){if(k[ie])return 1/0;var Te=b[ie],Ee=p[ie];return Te<0||Ee<0?1/0:u(h[ie],h[Te],h[Ee])}function g(ie,Te){var Ee=G[ie],Ae=G[Te];G[ie]=Ae,G[Te]=Ee,N[Ee]=Te,N[Ae]=ie}function P(ie){return E[G[ie]]}function T(ie){return ie&1?ie-1>>1:(ie>>1)-1}function F(ie){for(var Te=P(ie);;){var Ee=Te,Ae=2*ie+1,ze=2*(ie+1),Ce=ie;if(Ae<re){var me=P(Ae);me<Ee&&(Ce=Ae,Ee=me)}if(ze<re){var Re=P(ze);Re<Ee&&(Ce=ze)}if(Ce===ie)return ie;g(ie,Ce),ie=Ce}}function q(ie){for(var Te=P(ie);ie>0;){var Ee=T(ie);if(Ee>=0){var Ae=P(Ee);if(Te<Ae){g(ie,Ee),ie=Ee;continue}}return ie}}function V(){if(re>0){var ie=G[0];return g(0,re-1),re-=1,F(0),ie}return-1}function H(ie,Te){var Ee=G[ie];return E[Ee]===Te?ie:(E[Ee]=-1/0,q(ie),V(),E[Ee]=Te,re+=1,q(re-1))}function X(ie){if(!k[ie]){k[ie]=!0;var Te=b[ie],Ee=p[ie];b[Ee]>=0&&(b[Ee]=Te),p[Te]>=0&&(p[Te]=Ee),N[Te]>=0&&H(N[Te],M(Te)),N[Ee]>=0&&H(N[Ee],M(Ee))}}for(var G=[],N=new Array(v),A=0;A<v;++A){var W=E[A]=M(A);W<1/0?(N[A]=G.length,G.push(A)):N[A]=-1}for(var re=G.length,A=re>>1;A>=0;--A)F(A);for(;;){var ae=V();if(ae<0||E[ae]>d)break;X(ae)}for(var _e=[],A=0;A<v;++A)k[A]||(N[A]=_e.length,_e.push(h[A].slice()));var Me=_e.length;function ke(ie,Te){if(ie[Te]<0)return Te;var Ee=Te,Ae=Te;do{var ze=ie[Ae];if(!k[Ae]||ze<0||ze===Ae||(Ae=ze,ze=ie[Ae],!k[Ae]||ze<0||ze===Ae))break;Ae=ze,Ee=ie[Ee]}while(Ee!==Ae);for(var Ce=Te;Ce!==Ae;Ce=ie[Ce])ie[Ce]=Ae;return Ae}var ge=[];return f.forEach(function(ie){var Te=ke(b,ie[0]),Ee=ke(p,ie[1]);if(Te>=0&&Ee>=0&&Te!==Ee){var Ae=N[Te],ze=N[Ee];Ae!==ze&&ge.push([Ae,ze])}}),l.unique(l.normalize(ge)),{positions:_e,edges:ge}}},1303:function(i,a,o){\"use strict\";i.exports=u;var s=o(3250);function l(c,f){var h,d;if(f[0][0]<f[1][0])h=f[0],d=f[1];else if(f[0][0]>f[1][0])h=f[1],d=f[0];else{var v=Math.min(c[0][1],c[1][1]),x=Math.max(c[0][1],c[1][1]),b=Math.min(f[0][1],f[1][1]),p=Math.max(f[0][1],f[1][1]);return x<b?x-b:v>p?v-p:x-p}var E,k;c[0][1]<c[1][1]?(E=c[0],k=c[1]):(E=c[1],k=c[0]);var A=s(d,h,E);return A||(A=s(d,h,k),A)?A:k-d}function u(c,f){var h,d;if(f[0][0]<f[1][0])h=f[0],d=f[1];else if(f[0][0]>f[1][0])h=f[1],d=f[0];else return l(f,c);var v,x;if(c[0][0]<c[1][0])v=c[0],x=c[1];else if(c[0][0]>c[1][0])v=c[1],x=c[0];else return-l(c,f);var b=s(h,d,x),p=s(h,d,v);if(b<0){if(p<=0)return b}else if(b>0){if(p>=0)return b}else if(p)return p;if(b=s(x,v,d),p=s(x,v,h),b<0){if(p<=0)return b}else if(b>0){if(p>=0)return b}else if(p)return p;return d[0]-x[0]}},4209:function(i,a,o){\"use strict\";i.exports=p;var s=o(2478),l=o(3840),u=o(3250),c=o(1303);function f(E,k,A){this.slabs=E,this.coordinates=k,this.horizontal=A}var h=f.prototype;function d(E,k){return E.y-k}function v(E,k){for(var A=null;E;){var L=E.key,_,C;L[0][0]<L[1][0]?(_=L[0],C=L[1]):(_=L[1],C=L[0]);var M=u(_,C,k);if(M<0)E=E.left;else if(M>0)if(k[0]!==L[1][0])A=E,E=E.right;else{var g=v(E.right,k);if(g)return g;E=E.left}else{if(k[0]!==L[1][0])return E;var g=v(E.right,k);if(g)return g;E=E.left}}return A}h.castUp=function(E){var k=s.le(this.coordinates,E[0]);if(k<0)return-1;var A=this.slabs[k],L=v(this.slabs[k],E),_=-1;if(L&&(_=L.value),this.coordinates[k]===E[0]){var C=null;if(L&&(C=L.key),k>0){var M=v(this.slabs[k-1],E);M&&(C?c(M.key,C)>0&&(C=M.key,_=M.value):(_=M.value,C=M.key))}var g=this.horizontal[k];if(g.length>0){var P=s.ge(g,E[1],d);if(P<g.length){var T=g[P];if(E[1]===T.y){if(T.closed)return T.index;for(;P<g.length-1&&g[P+1].y===E[1];)if(P=P+1,T=g[P],T.closed)return T.index;if(T.y===E[1]&&!T.start){if(P=P+1,P>=g.length)return _;T=g[P]}}if(T.start)if(C){var F=u(C[0],C[1],[E[0],T.y]);C[0][0]>C[1][0]&&(F=-F),F>0&&(_=T.index)}else _=T.index;else T.y!==E[1]&&(_=T.index)}}}return _};function x(E,k,A,L){this.y=E,this.index=k,this.start=A,this.closed=L}function b(E,k,A,L){this.x=E,this.segment=k,this.create=A,this.index=L}function p(E){for(var k=E.length,A=2*k,L=new Array(A),_=0;_<k;++_){var C=E[_],M=C[0][0]<C[1][0];L[2*_]=new b(C[0][0],C,M,_),L[2*_+1]=new b(C[1][0],C,!M,_)}L.sort(function(G,N){var W=G.x-N.x;return W||(W=G.create-N.create,W)?W:Math.min(G.segment[0][1],G.segment[1][1])-Math.min(N.segment[0][1],N.segment[1][1])});for(var g=l(c),P=[],T=[],F=[],q=-1/0,_=0;_<A;){for(var V=L[_].x,H=[];_<A;){var X=L[_];if(X.x!==V)break;_+=1,X.segment[0][0]===X.x&&X.segment[1][0]===X.x?X.create&&(X.segment[0][1]<X.segment[1][1]?(H.push(new x(X.segment[0][1],X.index,!0,!0)),H.push(new x(X.segment[1][1],X.index,!1,!1))):(H.push(new x(X.segment[1][1],X.index,!0,!1)),H.push(new x(X.segment[0][1],X.index,!1,!0)))):X.create?g=g.insert(X.segment,X.index):g=g.remove(X.segment)}P.push(g.root),T.push(V),F.push(H)}return new f(P,T,F)}},5202:function(i,a,o){\"use strict\";var s=o(1944),l=o(8210);i.exports=f,i.exports.positive=h,i.exports.negative=d;function u(v,x){var b=l(s(v,x),[x[x.length-1]]);return b[b.length-1]}function c(v,x,b,p){var E=p-x,k=-x/E;k<0?k=0:k>1&&(k=1);for(var A=1-k,L=v.length,_=new Array(L),C=0;C<L;++C)_[C]=k*v[C]+A*b[C];return _}function f(v,x){for(var b=[],p=[],E=u(v[v.length-1],x),k=v[v.length-1],A=v[0],L=0;L<v.length;++L,k=A){A=v[L];var _=u(A,x);if(E<0&&_>0||E>0&&_<0){var C=c(k,_,A,E);b.push(C),p.push(C.slice())}_<0?p.push(A.slice()):_>0?b.push(A.slice()):(b.push(A.slice()),p.push(A.slice())),E=_}return{positive:b,negative:p}}function h(v,x){for(var b=[],p=u(v[v.length-1],x),E=v[v.length-1],k=v[0],A=0;A<v.length;++A,E=k){k=v[A];var L=u(k,x);(p<0&&L>0||p>0&&L<0)&&b.push(c(E,L,k,p)),L>=0&&b.push(k.slice()),p=L}return b}function d(v,x){for(var b=[],p=u(v[v.length-1],x),E=v[v.length-1],k=v[0],A=0;A<v.length;++A,E=k){k=v[A];var L=u(k,x);(p<0&&L>0||p>0&&L<0)&&b.push(c(E,L,k,p)),L<=0&&b.push(k.slice()),p=L}return b}},3387:function(i,a,o){var s;(function(){\"use strict\";var l={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 u(v){return f(d(v),arguments)}function c(v,x){return u.apply(null,[v].concat(x||[]))}function f(v,x){var b=1,p=v.length,E,k=\"\",A,L,_,C,M,g,P,T;for(A=0;A<p;A++)if(typeof v[A]==\"string\")k+=v[A];else if(typeof v[A]==\"object\"){if(_=v[A],_.keys)for(E=x[b],L=0;L<_.keys.length;L++){if(E==null)throw new Error(u('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"',_.keys[L],_.keys[L-1]));E=E[_.keys[L]]}else _.param_no?E=x[_.param_no]:E=x[b++];if(l.not_type.test(_.type)&&l.not_primitive.test(_.type)&&E instanceof Function&&(E=E()),l.numeric_arg.test(_.type)&&typeof E!=\"number\"&&isNaN(E))throw new TypeError(u(\"[sprintf] expecting number but found %T\",E));switch(l.number.test(_.type)&&(P=E>=0),_.type){case\"b\":E=parseInt(E,10).toString(2);break;case\"c\":E=String.fromCharCode(parseInt(E,10));break;case\"d\":case\"i\":E=parseInt(E,10);break;case\"j\":E=JSON.stringify(E,null,_.width?parseInt(_.width):0);break;case\"e\":E=_.precision?parseFloat(E).toExponential(_.precision):parseFloat(E).toExponential();break;case\"f\":E=_.precision?parseFloat(E).toFixed(_.precision):parseFloat(E);break;case\"g\":E=_.precision?String(Number(E.toPrecision(_.precision))):parseFloat(E);break;case\"o\":E=(parseInt(E,10)>>>0).toString(8);break;case\"s\":E=String(E),E=_.precision?E.substring(0,_.precision):E;break;case\"t\":E=String(!!E),E=_.precision?E.substring(0,_.precision):E;break;case\"T\":E=Object.prototype.toString.call(E).slice(8,-1).toLowerCase(),E=_.precision?E.substring(0,_.precision):E;break;case\"u\":E=parseInt(E,10)>>>0;break;case\"v\":E=E.valueOf(),E=_.precision?E.substring(0,_.precision):E;break;case\"x\":E=(parseInt(E,10)>>>0).toString(16);break;case\"X\":E=(parseInt(E,10)>>>0).toString(16).toUpperCase();break}l.json.test(_.type)?k+=E:(l.number.test(_.type)&&(!P||_.sign)?(T=P?\"+\":\"-\",E=E.toString().replace(l.sign,\"\")):T=\"\",M=_.pad_char?_.pad_char===\"0\"?\"0\":_.pad_char.charAt(1):\" \",g=_.width-(T+E).length,C=_.width&&g>0?M.repeat(g):\"\",k+=_.align?T+E+C:M===\"0\"?T+C+E:C+T+E)}return k}var h=Object.create(null);function d(v){if(h[v])return h[v];for(var x=v,b,p=[],E=0;x;){if((b=l.text.exec(x))!==null)p.push(b[0]);else if((b=l.modulo.exec(x))!==null)p.push(\"%\");else if((b=l.placeholder.exec(x))!==null){if(b[2]){E|=1;var k=[],A=b[2],L=[];if((L=l.key.exec(A))!==null)for(k.push(L[1]);(A=A.substring(L[0].length))!==\"\";)if((L=l.key_access.exec(A))!==null)k.push(L[1]);else if((L=l.index_access.exec(A))!==null)k.push(L[1]);else throw new SyntaxError(\"[sprintf] failed to parse named argument key\");else throw new SyntaxError(\"[sprintf] failed to parse named argument key\");b[2]=k}else E|=2;if(E===3)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");p.push({placeholder:b[0],param_no:b[1],keys:b[2],sign:b[3],pad_char:b[4],align:b[5],width:b[6],precision:b[7],type:b[8]})}else throw new SyntaxError(\"[sprintf] unexpected placeholder\");x=x.substring(b[0].length)}return h[v]=p}a.sprintf=u,a.vsprintf=c,typeof window!=\"undefined\"&&(window.sprintf=u,window.vsprintf=c,s=function(){return{sprintf:u,vsprintf:c}}.call(a,o,a,i),s!==void 0&&(i.exports=s))})()},3711:function(i,a,o){\"use strict\";i.exports=d;var s=o(2640),l=o(781),u={\"2d\":function(v,x,b){var p=v({order:x,scalarArguments:3,getters:b===\"generic\"?[0]:void 0,phase:function(k,A,L,_){return k>_|0},vertex:function(k,A,L,_,C,M,g,P,T,F,q,V,H){var X=(g<<0)+(P<<1)+(T<<2)+(F<<3)|0;if(!(X===0||X===15))switch(X){case 0:q.push([k-.5,A-.5]);break;case 1:q.push([k-.25-.25*(_+L-2*H)/(L-_),A-.25-.25*(C+L-2*H)/(L-C)]);break;case 2:q.push([k-.75-.25*(-_-L+2*H)/(_-L),A-.25-.25*(M+_-2*H)/(_-M)]);break;case 3:q.push([k-.5,A-.5-.5*(C+L+M+_-4*H)/(L-C+_-M)]);break;case 4:q.push([k-.25-.25*(M+C-2*H)/(C-M),A-.75-.25*(-C-L+2*H)/(C-L)]);break;case 5:q.push([k-.5-.5*(_+L+M+C-4*H)/(L-_+C-M),A-.5]);break;case 6:q.push([k-.5-.25*(-_-L+M+C)/(_-L+C-M),A-.5-.25*(-C-L+M+_)/(C-L+_-M)]);break;case 7:q.push([k-.75-.25*(M+C-2*H)/(C-M),A-.75-.25*(M+_-2*H)/(_-M)]);break;case 8:q.push([k-.75-.25*(-M-C+2*H)/(M-C),A-.75-.25*(-M-_+2*H)/(M-_)]);break;case 9:q.push([k-.5-.25*(_+L+-M-C)/(L-_+M-C),A-.5-.25*(C+L+-M-_)/(L-C+M-_)]);break;case 10:q.push([k-.5-.5*(-_-L+-M-C+4*H)/(_-L+M-C),A-.5]);break;case 11:q.push([k-.25-.25*(-M-C+2*H)/(M-C),A-.75-.25*(C+L-2*H)/(L-C)]);break;case 12:q.push([k-.5,A-.5-.5*(-C-L+-M-_+4*H)/(C-L+M-_)]);break;case 13:q.push([k-.75-.25*(_+L-2*H)/(L-_),A-.25-.25*(-M-_+2*H)/(M-_)]);break;case 14:q.push([k-.25-.25*(-_-L+2*H)/(_-L),A-.25-.25*(-C-L+2*H)/(C-L)]);break;case 15:q.push([k-.5,A-.5]);break}},cell:function(k,A,L,_,C,M,g,P,T){C?P.push([k,A]):P.push([A,k])}});return function(E,k){var A=[],L=[];return p(E,A,L,k),{positions:A,cells:L}}}};function c(v,x){var b=v.length+\"d\",p=u[b];if(p)return p(s,v,x)}function f(v,x){for(var b=l(v,x),p=b.length,E=new Array(p),k=new Array(p),A=0;A<p;++A)E[A]=[b[A]],k[A]=[A];return{positions:E,cells:k}}var h={};function d(v,E){if(v.dimension<=0)return{positions:[],cells:[]};if(v.dimension===1)return f(v,E);var b=v.order.join()+\"-\"+v.dtype,p=h[b],E=+E||0;return p||(p=h[b]=c(v.order,v.dtype)),p(v,E)}},665:function(i,a,o){\"use strict\";var s=o(3202);i.exports=f;var l=96;function u(h,d){var v=s(getComputedStyle(h).getPropertyValue(d));return v[0]*f(v[1],h)}function c(h,d){var v=document.createElement(\"div\");v.style[\"font-size\"]=\"128\"+h,d.appendChild(v);var x=u(v,\"font-size\")/128;return d.removeChild(v),x}function f(h,d){switch(d=d||document.body,h=(h||\"px\").trim().toLowerCase(),(d===window||d===document)&&(d=document.body),h){case\"%\":return d.clientHeight/100;case\"ch\":case\"ex\":return c(h,d);case\"em\":return u(d,\"font-size\");case\"rem\":return u(document.body,\"font-size\");case\"vw\":return window.innerWidth/100;case\"vh\":return window.innerHeight/100;case\"vmin\":return Math.min(window.innerWidth,window.innerHeight)/100;case\"vmax\":return Math.max(window.innerWidth,window.innerHeight)/100;case\"in\":return l;case\"cm\":return l/2.54;case\"mm\":return l/25.4;case\"pt\":return l/72;case\"pc\":return l/6}return 1}},7261:function(i,a,o){\"use strict\";i.exports=k;var s=o(9215),l=o(7608),u=o(6079),c=o(5911),f=o(3536),h=o(244);function d(A,L,_){return Math.sqrt(Math.pow(A,2)+Math.pow(L,2)+Math.pow(_,2))}function v(A){return Math.min(1,Math.max(-1,A))}function x(A){var L=Math.abs(A[0]),_=Math.abs(A[1]),C=Math.abs(A[2]),M=[0,0,0];L>Math.max(_,C)?M[2]=1:_>Math.max(L,C)?M[0]=1:M[1]=1;for(var g=0,P=0,T=0;T<3;++T)g+=A[T]*A[T],P+=M[T]*A[T];for(var T=0;T<3;++T)M[T]-=P/g*A[T];return f(M,M),M}function b(A,L,_,C,M,g,P,T){this.center=s(_),this.up=s(C),this.right=s(M),this.radius=s([g]),this.angle=s([P,T]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(A,L),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 F=0;F<16;++F)this.computedMatrix[F]=.5;this.recalcMatrix(0)}var p=b.prototype;p.setDistanceLimits=function(A,L){A>0?A=Math.log(A):A=-1/0,L>0?L=Math.log(L):L=1/0,L=Math.max(L,A),this.radius.bounds[0][0]=A,this.radius.bounds[1][0]=L},p.getDistanceLimits=function(A){var L=this.radius.bounds[0];return A?(A[0]=Math.exp(L[0][0]),A[1]=Math.exp(L[1][0]),A):[Math.exp(L[0][0]),Math.exp(L[1][0])]},p.recalcMatrix=function(A){this.center.curve(A),this.up.curve(A),this.right.curve(A),this.radius.curve(A),this.angle.curve(A);for(var L=this.computedUp,_=this.computedRight,C=0,M=0,g=0;g<3;++g)M+=L[g]*_[g],C+=L[g]*L[g];for(var P=Math.sqrt(C),T=0,g=0;g<3;++g)_[g]-=L[g]*M/C,T+=_[g]*_[g],L[g]/=P;for(var F=Math.sqrt(T),g=0;g<3;++g)_[g]/=F;var q=this.computedToward;c(q,L,_),f(q,q);for(var V=Math.exp(this.computedRadius[0]),H=this.computedAngle[0],X=this.computedAngle[1],G=Math.cos(H),N=Math.sin(H),W=Math.cos(X),re=Math.sin(X),ae=this.computedCenter,_e=G*W,Me=N*W,ke=re,ge=-G*re,ie=-N*re,Te=W,Ee=this.computedEye,Ae=this.computedMatrix,g=0;g<3;++g){var ze=_e*_[g]+Me*q[g]+ke*L[g];Ae[4*g+1]=ge*_[g]+ie*q[g]+Te*L[g],Ae[4*g+2]=ze,Ae[4*g+3]=0}var Ce=Ae[1],me=Ae[5],Re=Ae[9],ce=Ae[2],Ge=Ae[6],nt=Ae[10],ct=me*nt-Re*Ge,qt=Re*ce-Ce*nt,rt=Ce*Ge-me*ce,ot=d(ct,qt,rt);ct/=ot,qt/=ot,rt/=ot,Ae[0]=ct,Ae[4]=qt,Ae[8]=rt;for(var g=0;g<3;++g)Ee[g]=ae[g]+Ae[2+4*g]*V;for(var g=0;g<3;++g){for(var T=0,Rt=0;Rt<3;++Rt)T+=Ae[g+4*Rt]*Ee[Rt];Ae[12+g]=-T}Ae[15]=1},p.getMatrix=function(A,L){this.recalcMatrix(A);var _=this.computedMatrix;if(L){for(var C=0;C<16;++C)L[C]=_[C];return L}return _};var E=[0,0,0];p.rotate=function(A,L,_,C){if(this.angle.move(A,L,_),C){this.recalcMatrix(A);var M=this.computedMatrix;E[0]=M[2],E[1]=M[6],E[2]=M[10];for(var g=this.computedUp,P=this.computedRight,T=this.computedToward,F=0;F<3;++F)M[4*F]=g[F],M[4*F+1]=P[F],M[4*F+2]=T[F];u(M,M,C,E);for(var F=0;F<3;++F)g[F]=M[4*F],P[F]=M[4*F+1];this.up.set(A,g[0],g[1],g[2]),this.right.set(A,P[0],P[1],P[2])}},p.pan=function(A,L,_,C){L=L||0,_=_||0,C=C||0,this.recalcMatrix(A);var M=this.computedMatrix,g=Math.exp(this.computedRadius[0]),P=M[1],T=M[5],F=M[9],q=d(P,T,F);P/=q,T/=q,F/=q;var V=M[0],H=M[4],X=M[8],G=V*P+H*T+X*F;V-=P*G,H-=T*G,X-=F*G;var N=d(V,H,X);V/=N,H/=N,X/=N;var W=V*L+P*_,re=H*L+T*_,ae=X*L+F*_;this.center.move(A,W,re,ae);var _e=Math.exp(this.computedRadius[0]);_e=Math.max(1e-4,_e+C),this.radius.set(A,Math.log(_e))},p.translate=function(A,L,_,C){this.center.move(A,L||0,_||0,C||0)},p.setMatrix=function(A,L,_,C){var M=1;typeof _==\"number\"&&(M=_|0),(M<0||M>3)&&(M=1);var g=(M+2)%3,P=(M+1)%3;L||(this.recalcMatrix(A),L=this.computedMatrix);var T=L[M],F=L[M+4],q=L[M+8];if(C){var H=Math.abs(T),X=Math.abs(F),G=Math.abs(q),N=Math.max(H,X,G);H===N?(T=T<0?-1:1,F=q=0):G===N?(q=q<0?-1:1,T=F=0):(F=F<0?-1:1,T=q=0)}else{var V=d(T,F,q);T/=V,F/=V,q/=V}var W=L[g],re=L[g+4],ae=L[g+8],_e=W*T+re*F+ae*q;W-=T*_e,re-=F*_e,ae-=q*_e;var Me=d(W,re,ae);W/=Me,re/=Me,ae/=Me;var ke=F*ae-q*re,ge=q*W-T*ae,ie=T*re-F*W,Te=d(ke,ge,ie);ke/=Te,ge/=Te,ie/=Te,this.center.jump(A,er,Ke,xt),this.radius.idle(A),this.up.jump(A,T,F,q),this.right.jump(A,W,re,ae);var Ee,Ae;if(M===2){var ze=L[1],Ce=L[5],me=L[9],Re=ze*W+Ce*re+me*ae,ce=ze*ke+Ce*ge+me*ie;qt<0?Ee=-Math.PI/2:Ee=Math.PI/2,Ae=Math.atan2(ce,Re)}else{var Ge=L[2],nt=L[6],ct=L[10],qt=Ge*T+nt*F+ct*q,rt=Ge*W+nt*re+ct*ae,ot=Ge*ke+nt*ge+ct*ie;Ee=Math.asin(v(qt)),Ae=Math.atan2(ot,rt)}this.angle.jump(A,Ae,Ee),this.recalcMatrix(A);var Rt=L[2],kt=L[6],Ct=L[10],Yt=this.computedMatrix;l(Yt,L);var xr=Yt[15],er=Yt[12]/xr,Ke=Yt[13]/xr,xt=Yt[14]/xr,bt=Math.exp(this.computedRadius[0]);this.center.jump(A,er-Rt*bt,Ke-kt*bt,xt-Ct*bt)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(A){this.center.idle(A),this.up.idle(A),this.right.idle(A),this.radius.idle(A),this.angle.idle(A)},p.flush=function(A){this.center.flush(A),this.up.flush(A),this.right.flush(A),this.radius.flush(A),this.angle.flush(A)},p.setDistance=function(A,L){L>0&&this.radius.set(A,Math.log(L))},p.lookAt=function(A,L,_,C){this.recalcMatrix(A),L=L||this.computedEye,_=_||this.computedCenter,C=C||this.computedUp;var M=C[0],g=C[1],P=C[2],T=d(M,g,P);if(!(T<1e-6)){M/=T,g/=T,P/=T;var F=L[0]-_[0],q=L[1]-_[1],V=L[2]-_[2],H=d(F,q,V);if(!(H<1e-6)){F/=H,q/=H,V/=H;var X=this.computedRight,G=X[0],N=X[1],W=X[2],re=M*G+g*N+P*W;G-=re*M,N-=re*g,W-=re*P;var ae=d(G,N,W);if(!(ae<.01&&(G=g*V-P*q,N=P*F-M*V,W=M*q-g*F,ae=d(G,N,W),ae<1e-6))){G/=ae,N/=ae,W/=ae,this.up.set(A,M,g,P),this.right.set(A,G,N,W),this.center.set(A,_[0],_[1],_[2]),this.radius.set(A,Math.log(H));var _e=g*W-P*N,Me=P*G-M*W,ke=M*N-g*G,ge=d(_e,Me,ke);_e/=ge,Me/=ge,ke/=ge;var ie=M*F+g*q+P*V,Te=G*F+N*q+W*V,Ee=_e*F+Me*q+ke*V,Ae=Math.asin(v(ie)),ze=Math.atan2(Ee,Te),Ce=this.angle._state,me=Ce[Ce.length-1],Re=Ce[Ce.length-2];me=me%(2*Math.PI);var ce=Math.abs(me+2*Math.PI-ze),Ge=Math.abs(me-ze),nt=Math.abs(me-2*Math.PI-ze);ce<Ge&&(me+=2*Math.PI),nt<Ge&&(me-=2*Math.PI),this.angle.jump(this.angle.lastT(),me,Re),this.angle.set(A,ze,Ae)}}}};function k(A){A=A||{};var L=A.center||[0,0,0],_=A.up||[0,1,0],C=A.right||x(_),M=A.radius||1,g=A.theta||0,P=A.phi||0;if(L=[].slice.call(L,0,3),_=[].slice.call(_,0,3),f(_,_),C=[].slice.call(C,0,3),f(C,C),\"eye\"in A){var T=A.eye,F=[T[0]-L[0],T[1]-L[1],T[2]-L[2]];c(C,F,_),d(C[0],C[1],C[2])<1e-6?C=x(_):f(C,C),M=d(F[0],F[1],F[2]);var q=h(_,F)/M,V=h(C,F)/M;P=Math.acos(q),g=Math.acos(V)}return M=Math.log(M),new b(A.zoomMin,A.zoomMax,L,_,C,M,g,P)}},5250:function(i){\"use strict\";i.exports=o;var a=+(Math.pow(2,27)+1);function o(s,l,u){var c=s*l,f=a*s,h=f-s,d=f-h,v=s-d,x=a*l,b=x-l,p=x-b,E=l-p,k=c-d*p,A=k-v*p,L=A-d*E,_=v*E-L;return u?(u[0]=_,u[1]=c,u):[_,c]}},9362:function(i){\"use strict\";i.exports=a;function a(o,s,l){var u=o+s,c=u-o,f=u-c,h=s-c,d=o-f;return l?(l[0]=d+h,l[1]=u,l):[d+h,u]}},1888:function(i,a,o){\"use strict\";var s=o(8828),l=o(1338),u=o(4793).hp;o.g.__TYPEDARRAY_POOL||(o.g.__TYPEDARRAY_POOL={UINT8:l([32,0]),UINT16:l([32,0]),UINT32:l([32,0]),BIGUINT64:l([32,0]),INT8:l([32,0]),INT16:l([32,0]),INT32:l([32,0]),BIGINT64:l([32,0]),FLOAT:l([32,0]),DOUBLE:l([32,0]),DATA:l([32,0]),UINT8C:l([32,0]),BUFFER:l([32,0])});var c=typeof Uint8ClampedArray!=\"undefined\",f=typeof BigUint64Array!=\"undefined\",h=typeof BigInt64Array!=\"undefined\",d=o.g.__TYPEDARRAY_POOL;d.UINT8C||(d.UINT8C=l([32,0])),d.BIGUINT64||(d.BIGUINT64=l([32,0])),d.BIGINT64||(d.BIGINT64=l([32,0])),d.BUFFER||(d.BUFFER=l([32,0]));var v=d.DATA,x=d.BUFFER;a.free=function(G){if(u.isBuffer(G))x[s.log2(G.length)].push(G);else{if(Object.prototype.toString.call(G)!==\"[object ArrayBuffer]\"&&(G=G.buffer),!G)return;var N=G.length||G.byteLength,W=s.log2(N)|0;v[W].push(G)}};function b(X){if(X){var G=X.length||X.byteLength,N=s.log2(G);v[N].push(X)}}function p(X){b(X.buffer)}a.freeUint8=a.freeUint16=a.freeUint32=a.freeBigUint64=a.freeInt8=a.freeInt16=a.freeInt32=a.freeBigInt64=a.freeFloat32=a.freeFloat=a.freeFloat64=a.freeDouble=a.freeUint8Clamped=a.freeDataView=p,a.freeArrayBuffer=b,a.freeBuffer=function(G){x[s.log2(G.length)].push(G)},a.malloc=function(G,N){if(N===void 0||N===\"arraybuffer\")return E(G);switch(N){case\"uint8\":return k(G);case\"uint16\":return A(G);case\"uint32\":return L(G);case\"int8\":return _(G);case\"int16\":return C(G);case\"int32\":return M(G);case\"float\":case\"float32\":return g(G);case\"double\":case\"float64\":return P(G);case\"uint8_clamped\":return T(G);case\"bigint64\":return q(G);case\"biguint64\":return F(G);case\"buffer\":return H(G);case\"data\":case\"dataview\":return V(G);default:return null}return null};function E(G){var G=s.nextPow2(G),N=s.log2(G),W=v[N];return W.length>0?W.pop():new ArrayBuffer(G)}a.mallocArrayBuffer=E;function k(X){return new Uint8Array(E(X),0,X)}a.mallocUint8=k;function A(X){return new Uint16Array(E(2*X),0,X)}a.mallocUint16=A;function L(X){return new Uint32Array(E(4*X),0,X)}a.mallocUint32=L;function _(X){return new Int8Array(E(X),0,X)}a.mallocInt8=_;function C(X){return new Int16Array(E(2*X),0,X)}a.mallocInt16=C;function M(X){return new Int32Array(E(4*X),0,X)}a.mallocInt32=M;function g(X){return new Float32Array(E(4*X),0,X)}a.mallocFloat32=a.mallocFloat=g;function P(X){return new Float64Array(E(8*X),0,X)}a.mallocFloat64=a.mallocDouble=P;function T(X){return c?new Uint8ClampedArray(E(X),0,X):k(X)}a.mallocUint8Clamped=T;function F(X){return f?new BigUint64Array(E(8*X),0,X):null}a.mallocBigUint64=F;function q(X){return h?new BigInt64Array(E(8*X),0,X):null}a.mallocBigInt64=q;function V(X){return new DataView(E(X),0,X)}a.mallocDataView=V;function H(X){X=s.nextPow2(X);var G=s.log2(X),N=x[G];return N.length>0?N.pop():new u(X)}a.mallocBuffer=H,a.clearCache=function(){for(var G=0;G<32;++G)d.UINT8[G].length=0,d.UINT16[G].length=0,d.UINT32[G].length=0,d.INT8[G].length=0,d.INT16[G].length=0,d.INT32[G].length=0,d.FLOAT[G].length=0,d.DOUBLE[G].length=0,d.BIGUINT64[G].length=0,d.BIGINT64[G].length=0,d.UINT8C[G].length=0,v[G].length=0,x[G].length=0}},1755:function(i){\"use strict\";\"use restrict\";i.exports=a;function a(s){this.roots=new Array(s),this.ranks=new Array(s);for(var l=0;l<s;++l)this.roots[l]=l,this.ranks[l]=0}var o=a.prototype;Object.defineProperty(o,\"length\",{get:function(){return this.roots.length}}),o.makeSet=function(){var s=this.roots.length;return this.roots.push(s),this.ranks.push(0),s},o.find=function(s){for(var l=s,u=this.roots;u[s]!==s;)s=u[s];for(;u[l]!==s;){var c=u[l];u[l]=s,l=c}return s},o.link=function(s,l){var u=this.find(s),c=this.find(l);if(u!==c){var f=this.ranks,h=this.roots,d=f[u],v=f[c];d<v?h[u]=c:v<d?h[c]=u:(h[c]=u,++f[u])}}},1682:function(i){\"use strict\";function a(l,u){for(var c=1,f=l.length,h=l[0],d=l[0],v=1;v<f;++v)if(d=h,h=l[v],u(h,d)){if(v===c){c++;continue}l[c++]=h}return l.length=c,l}function o(l){for(var u=1,c=l.length,f=l[0],h=l[0],d=1;d<c;++d,h=f)if(h=f,f=l[d],f!==h){if(d===u){u++;continue}l[u++]=f}return l.length=u,l}function s(l,u,c){return l.length===0?l:u?(c||l.sort(u),a(l,u)):(c||l.sort(),o(l))}i.exports=s},4359:function(i,a,o){\"use strict\";i.exports=c;var s=o(7718),l=null,u=null;typeof document!=\"undefined\"&&(l=document.createElement(\"canvas\"),l.width=8192,l.height=1024,u=l.getContext(\"2d\"));function c(f,h){return(typeof h!=\"object\"||h===null)&&(h={}),s(f,h.canvas||l,h.context||u,h)}},7718:function(i,a,o){i.exports=q,i.exports.processPixels=F;var s=o(3711),l=o(9618),u=o(5878),c=o(332),f=o(2538),h=o(2095),d=\"b\",v=\"b|\",x=\"i\",b=\"i|\",p=\"sup\",E=\"+\",k=\"+1\",A=\"sub\",L=\"-\",_=\"-1\";function C(V,H,X,G){for(var N=\"<\"+V+\">\",W=\"</\"+V+\">\",re=N.length,ae=W.length,_e=H[0]===E||H[0]===L,Me=0,ke=-ae;Me>-1&&(Me=X.indexOf(N,Me),!(Me===-1||(ke=X.indexOf(W,Me+re),ke===-1)||ke<=Me));){for(var ge=Me;ge<ke+ae;++ge)if(ge<Me+re||ge>=ke)G[ge]=null,X=X.substr(0,ge)+\" \"+X.substr(ge+1);else if(G[ge]!==null){var ie=G[ge].indexOf(H[0]);ie===-1?G[ge]+=H:_e&&(G[ge]=G[ge].substr(0,ie+1)+(1+parseInt(G[ge][ie+1]))+G[ge].substr(ie+2))}var Te=Me+re,Ee=X.substr(Te,ke-Te),Ae=Ee.indexOf(N);Ae!==-1?Me=Ae:Me=ke+ae}return G}function M(V,H,X){for(var G=H.textAlign||\"start\",N=H.textBaseline||\"alphabetic\",W=[1<<30,1<<30],re=[0,0],ae=V.length,_e=0;_e<ae;++_e)for(var Me=V[_e],ke=0;ke<2;++ke)W[ke]=Math.min(W[ke],Me[ke])|0,re[ke]=Math.max(re[ke],Me[ke])|0;var ge=0;switch(G){case\"center\":ge=-.5*(W[0]+re[0]);break;case\"right\":case\"end\":ge=-re[0];break;case\"left\":case\"start\":ge=-W[0];break;default:throw new Error(\"vectorize-text: Unrecognized textAlign: '\"+G+\"'\")}var ie=0;switch(N){case\"hanging\":case\"top\":ie=-W[1];break;case\"middle\":ie=-.5*(W[1]+re[1]);break;case\"alphabetic\":case\"ideographic\":ie=-3*X;break;case\"bottom\":ie=-re[1];break;default:throw new Error(\"vectorize-text: Unrecoginized textBaseline: '\"+N+\"'\")}var Te=1/X;return\"lineHeight\"in H?Te*=+H.lineHeight:\"width\"in H?Te=H.width/(re[0]-W[0]):\"height\"in H&&(Te=H.height/(re[1]-W[1])),V.map(function(Ee){return[Te*(Ee[0]+ge),Te*(Ee[1]+ie)]})}function g(V,H,X,G,N,W){X=X.replace(/\\n/g,\"\"),W.breaklines===!0?X=X.replace(/\\<br\\>/g,`\n", - "`):X=X.replace(/\\<br\\>/g,\" \");var re=\"\",ae=[];for(me=0;me<X.length;++me)ae[me]=re;W.bolds===!0&&(ae=C(d,v,X,ae)),W.italics===!0&&(ae=C(x,b,X,ae)),W.superscripts===!0&&(ae=C(p,k,X,ae)),W.subscripts===!0&&(ae=C(A,_,X,ae));var _e=[],Me=\"\";for(me=0;me<X.length;++me)ae[me]!==null&&(Me+=X[me],_e.push(ae[me]));var ke=Me.split(`\n", - "`),ge=ke.length,ie=Math.round(N*G),Te=G,Ee=G*2,Ae=0,ze=ge*ie+Ee;V.height<ze&&(V.height=ze),H.fillStyle=\"#000\",H.fillRect(0,0,V.width,V.height),H.fillStyle=\"#fff\";var Ce,me,Re,ce,Ge,nt=0,ct=\"\";function qt(){if(ct!==\"\"){var Ke=H.measureText(ct).width;H.fillText(ct,Te+Re,Ee+ce),Re+=Ke}}function rt(){return\"\"+Math.round(Ge)+\"px \"}function ot(Ke,xt){var bt=\"\"+H.font;if(W.subscripts===!0){var Lt=Ke.indexOf(L),St=xt.indexOf(L),Et=Lt>-1?parseInt(Ke[1+Lt]):0,dt=St>-1?parseInt(xt[1+St]):0;Et!==dt&&(bt=bt.replace(rt(),\"?px \"),Ge*=Math.pow(.75,dt-Et),bt=bt.replace(\"?px \",rt())),ce+=.25*ie*(dt-Et)}if(W.superscripts===!0){var Ht=Ke.indexOf(E),$t=xt.indexOf(E),fr=Ht>-1?parseInt(Ke[1+Ht]):0,_r=$t>-1?parseInt(xt[1+$t]):0;fr!==_r&&(bt=bt.replace(rt(),\"?px \"),Ge*=Math.pow(.75,_r-fr),bt=bt.replace(\"?px \",rt())),ce-=.25*ie*(_r-fr)}if(W.bolds===!0){var Br=Ke.indexOf(v)>-1,Or=xt.indexOf(v)>-1;!Br&&Or&&(Nr?bt=bt.replace(\"italic \",\"italic bold \"):bt=\"bold \"+bt),Br&&!Or&&(bt=bt.replace(\"bold \",\"\"))}if(W.italics===!0){var Nr=Ke.indexOf(b)>-1,ut=xt.indexOf(b)>-1;!Nr&&ut&&(bt=\"italic \"+bt),Nr&&!ut&&(bt=bt.replace(\"italic \",\"\"))}H.font=bt}for(Ce=0;Ce<ge;++Ce){var Rt=ke[Ce]+`\n", - "`;for(Re=0,ce=Ce*ie,Ge=G,ct=\"\",me=0;me<Rt.length;++me){var kt=me+nt<_e.length?_e[me+nt]:_e[_e.length-1];re===kt?ct+=Rt[me]:(qt(),ct=Rt[me],kt!==void 0&&(ot(re,kt),re=kt))}qt(),nt+=Rt.length;var Ct=Math.round(Re+2*Te)|0;Ae<Ct&&(Ae=Ct)}var Yt=Ae,xr=Ee+ie*ge,er=l(H.getImageData(0,0,Yt,xr).data,[xr,Yt,4]);return er.pick(-1,-1,0).transpose(1,0)}function P(V,H){var X=s(V,128);return H?u(X.cells,X.positions,.25):{edges:X.cells,positions:X.positions}}function T(V,H,X,G){var N=P(V,G),W=M(N.positions,H,X),re=N.edges,ae=H.orientation===\"ccw\";if(c(W,re),H.polygons||H.polygon||H.polyline){for(var _e=h(re,W),Me=new Array(_e.length),ke=0;ke<_e.length;++ke){for(var ge=_e[ke],ie=new Array(ge.length),Te=0;Te<ge.length;++Te){for(var Ee=ge[Te],Ae=new Array(Ee.length),ze=0;ze<Ee.length;++ze)Ae[ze]=W[Ee[ze]].slice();ae&&Ae.reverse(),ie[Te]=Ae}Me[ke]=ie}return Me}else return H.triangles||H.triangulate||H.triangle?{cells:f(W,re,{delaunay:!1,exterior:!1,interior:!0}),positions:W}:{edges:re,positions:W}}function F(V,H,X){try{return T(V,H,X,!0)}catch(G){}try{return T(V,H,X,!1)}catch(G){}return H.polygons||H.polyline||H.polygon?[]:H.triangles||H.triangulate||H.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}function q(V,H,X,G){var N=64,W=1.25,re={breaklines:!1,bolds:!1,italics:!1,subscripts:!1,superscripts:!1};G&&(G.size&&G.size>0&&(N=G.size),G.lineSpacing&&G.lineSpacing>0&&(W=G.lineSpacing),G.styletags&&G.styletags.breaklines&&(re.breaklines=!!G.styletags.breaklines),G.styletags&&G.styletags.bolds&&(re.bolds=!!G.styletags.bolds),G.styletags&&G.styletags.italics&&(re.italics=!!G.styletags.italics),G.styletags&&G.styletags.subscripts&&(re.subscripts=!!G.styletags.subscripts),G.styletags&&G.styletags.superscripts&&(re.superscripts=!!G.styletags.superscripts)),X.font=[G.fontStyle,G.fontVariant,G.fontWeight,N+\"px\",G.font].filter(function(_e){return _e}).join(\" \"),X.textAlign=\"start\",X.textBaseline=\"alphabetic\",X.direction=\"ltr\";var ae=g(H,X,V,N,W,re);return F(ae,G,N)}},1538:function(i){(function(){\"use strict\";if(typeof ses!=\"undefined\"&&ses.ok&&!ses.ok())return;function o(T){T.permitHostObjects___&&T.permitHostObjects___(o)}typeof ses!=\"undefined\"&&(ses.weakMapPermitHostObjects=o);var s=!1;if(typeof WeakMap==\"function\"){var l=WeakMap;if(!(typeof navigator!=\"undefined\"&&/Firefox/.test(navigator.userAgent))){var u=new l,c=Object.freeze({});if(u.set(c,1),u.get(c)!==1)s=!0;else{i.exports=WeakMap;return}}}var f=Object.prototype.hasOwnProperty,h=Object.getOwnPropertyNames,d=Object.defineProperty,v=Object.isExtensible,x=\"weakmap:\",b=x+\"ident:\"+Math.random()+\"___\";if(typeof crypto!=\"undefined\"&&typeof crypto.getRandomValues==\"function\"&&typeof ArrayBuffer==\"function\"&&typeof Uint8Array==\"function\"){var p=new ArrayBuffer(25),E=new Uint8Array(p);crypto.getRandomValues(E),b=x+\"rand:\"+Array.prototype.map.call(E,function(T){return(T%36).toString(36)}).join(\"\")+\"___\"}function k(T){return!(T.substr(0,x.length)==x&&T.substr(T.length-3)===\"___\")}if(d(Object,\"getOwnPropertyNames\",{value:function(F){return h(F).filter(k)}}),\"getPropertyNames\"in Object){var A=Object.getPropertyNames;d(Object,\"getPropertyNames\",{value:function(F){return A(F).filter(k)}})}function L(T){if(T!==Object(T))throw new TypeError(\"Not an object: \"+T);var F=T[b];if(F&&F.key===T)return F;if(v(T)){F={key:T};try{return d(T,b,{value:F,writable:!1,enumerable:!1,configurable:!1}),F}catch(q){return}}}(function(){var T=Object.freeze;d(Object,\"freeze\",{value:function(H){return L(H),T(H)}});var F=Object.seal;d(Object,\"seal\",{value:function(H){return L(H),F(H)}});var q=Object.preventExtensions;d(Object,\"preventExtensions\",{value:function(H){return L(H),q(H)}})})();function _(T){return T.prototype=null,Object.freeze(T)}var C=!1;function M(){!C&&typeof console!=\"undefined\"&&(C=!0,console.warn(\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\"))}var g=0,P=function(){this instanceof P||M();var T=[],F=[],q=g++;function V(N,W){var re,ae=L(N);return ae?q in ae?ae[q]:W:(re=T.indexOf(N),re>=0?F[re]:W)}function H(N){var W=L(N);return W?q in W:T.indexOf(N)>=0}function X(N,W){var re,ae=L(N);return ae?ae[q]=W:(re=T.indexOf(N),re>=0?F[re]=W:(re=T.length,F[re]=W,T[re]=N)),this}function G(N){var W=L(N),re,ae;return W?q in W&&delete W[q]:(re=T.indexOf(N),re<0?!1:(ae=T.length-1,T[re]=void 0,F[re]=F[ae],T[re]=T[ae],T.length=ae,F.length=ae,!0))}return Object.create(P.prototype,{get___:{value:_(V)},has___:{value:_(H)},set___:{value:_(X)},delete___:{value:_(G)}})};P.prototype=Object.create(Object.prototype,{get:{value:function(F,q){return this.get___(F,q)},writable:!0,configurable:!0},has:{value:function(F){return this.has___(F)},writable:!0,configurable:!0},set:{value:function(F,q){return this.set___(F,q)},writable:!0,configurable:!0},delete:{value:function(F){return this.delete___(F)},writable:!0,configurable:!0}}),typeof l==\"function\"?function(){s&&typeof Proxy!=\"undefined\"&&(Proxy=void 0);function T(){this instanceof P||M();var F=new l,q=void 0,V=!1;function H(W,re){return q?F.has(W)?F.get(W):q.get___(W,re):F.get(W,re)}function X(W){return F.has(W)||(q?q.has___(W):!1)}var G;s?G=function(W,re){return F.set(W,re),F.has(W)||(q||(q=new P),q.set(W,re)),this}:G=function(W,re){if(V)try{F.set(W,re)}catch(ae){q||(q=new P),q.set___(W,re)}else F.set(W,re);return this};function N(W){var re=!!F.delete(W);return q&&q.delete___(W)||re}return Object.create(P.prototype,{get___:{value:_(H)},has___:{value:_(X)},set___:{value:_(G)},delete___:{value:_(N)},permitHostObjects___:{value:_(function(W){if(W===o)V=!0;else throw new Error(\"bogus call to permitHostObjects___\")})}})}T.prototype=P.prototype,i.exports=T,Object.defineProperty(WeakMap.prototype,\"constructor\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(typeof Proxy!=\"undefined\"&&(Proxy=void 0),i.exports=P)})()},236:function(i,a,o){var s=o(8284);i.exports=l;function l(){var u={};return function(c){if((typeof c!=\"object\"||c===null)&&typeof c!=\"function\")throw new Error(\"Weakmap-shim: Key must be object\");var f=c.valueOf(u);return f&&f.identity===u?f:s(c,u)}}},8284:function(i){i.exports=a;function a(o,s){var l={identity:s},u=o.valueOf;return Object.defineProperty(o,\"valueOf\",{value:function(c){return c!==s?u.apply(this,arguments):l},writable:!0}),l}},606:function(i,a,o){var s=o(236);i.exports=l;function l(){var u=s();return{get:function(c,f){var h=u(c);return h.hasOwnProperty(\"value\")?h.value:f},set:function(c,f){return u(c).value=f,this},has:function(c){return\"value\"in u(c)},delete:function(c){return delete u(c).value}}}},3349:function(i){\"use strict\";function a(){return function(f,h,d,v,x,b){var p=f[0],E=d[0],k=[0],A=E;v|=0;var L=0,_=E;for(L=0;L<p;++L){{var C=h[v]-b,M=h[v+A]-b;C>=0!=M>=0&&x.push(k[0]+.5+.5*(C+M)/(C-M))}v+=_,++k[0]}}}function o(){return a()}var s=o;function l(f){var h={};return function(v,x,b){var p=v.dtype,E=v.order,k=[p,E.join()].join(),A=h[k];return A||(h[k]=A=f([p,E])),A(v.shape.slice(0),v.data,v.stride,v.offset|0,x,b)}}function u(f){return l(s.bind(void 0,f))}function c(f){return u({funcName:f.funcName})}i.exports=c({funcName:\"zeroCrossings\"})},781:function(i,a,o){\"use strict\";i.exports=l;var s=o(3349);function l(u,c){var f=[];return c=+c||0,s(u.hi(u.shape[0]-1),f,c),f}},7790:function(){}},t={};function r(i){var a=t[i];if(a!==void 0)return a.exports;var o=t[i]={id:i,loaded:!1,exports:{}};return e[i].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}(function(){r.g=function(){if(typeof globalThis==\"object\")return globalThis;try{return this||new Function(\"return this\")()}catch(i){if(typeof window==\"object\")return window}}()})(),function(){r.nmd=function(i){return i.paths=[],i.children||(i.children=[]),i}}();var n=r(1964);cLe.exports=n})()});var rZ=ye((ivr,fLe)=>{\"use strict\";fLe.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]}});var pLe=ye((nvr,vLe)=>{\"use strict\";var hLe=rZ();vLe.exports=lLt;var dLe={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function lLt(e){var t,r=[],n=1,i;if(typeof e==\"string\")if(e=e.toLowerCase(),hLe[e])r=hLe[e].slice(),i=\"rgb\";else if(e===\"transparent\")n=0,i=\"rgb\",r=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var a=e.slice(1),o=a.length,s=o<=4;n=1,s?(r=[parseInt(a[0]+a[0],16),parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16)],o===4&&(n=parseInt(a[3]+a[3],16)/255)):(r=[parseInt(a[0]+a[1],16),parseInt(a[2]+a[3],16),parseInt(a[4]+a[5],16)],o===8&&(n=parseInt(a[6]+a[7],16)/255)),r[0]||(r[0]=0),r[1]||(r[1]=0),r[2]||(r[2]=0),i=\"rgb\"}else if(t=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(e)){var l=t[1],u=l===\"rgb\",a=l.replace(/a$/,\"\");i=a;var o=a===\"cmyk\"?4:a===\"gray\"?1:3;r=t[2].trim().split(/\\s*[,\\/]\\s*|\\s+/).map(function(h,d){if(/%$/.test(h))return d===o?parseFloat(h)/100:a===\"rgb\"?parseFloat(h)*255/100:parseFloat(h);if(a[d]===\"h\"){if(/deg$/.test(h))return parseFloat(h);if(dLe[h]!==void 0)return dLe[h]}return parseFloat(h)}),l===a&&r.push(1),n=u||r[o]===void 0?1:r[o],r=r.slice(0,o)}else e.length>10&&/[0-9](?:\\s|\\/)/.test(e)&&(r=e.match(/([0-9]+)/g).map(function(c){return parseFloat(c)}),i=e.match(/([a-z])/ig).join(\"\").toLowerCase());else isNaN(e)?Array.isArray(e)||e.length?(r=[e[0],e[1],e[2]],i=\"rgb\",n=e.length===4?e[3]:1):e instanceof Object&&(e.r!=null||e.red!=null||e.R!=null?(i=\"rgb\",r=[e.r||e.red||e.R||0,e.g||e.green||e.G||0,e.b||e.blue||e.B||0]):(i=\"hsl\",r=[e.h||e.hue||e.H||0,e.s||e.saturation||e.S||0,e.l||e.lightness||e.L||e.b||e.brightness]),n=e.a||e.alpha||e.opacity||1,e.opacity!=null&&(n/=100)):(i=\"rgb\",r=[e>>>16,(e&65280)>>>8,e&255]);return{space:i,values:r,alpha:n}}});var mLe=ye((avr,gLe)=>{\"use strict\";var uLt=pLe();gLe.exports=function(t){Array.isArray(t)&&t.raw&&(t=String.raw.apply(null,arguments));var r,n,i,a=uLt(t);if(!a.space)return[];var o=[0,0,0],s=a.space[0]===\"h\"?[360,100,100]:[255,255,255];return r=Array(3),r[0]=Math.min(Math.max(a.values[0],o[0]),s[0]),r[1]=Math.min(Math.max(a.values[1],o[1]),s[1]),r[2]=Math.min(Math.max(a.values[2],o[2]),s[2]),a.space[0]===\"h\"&&(r=cLt(r)),r.push(Math.min(Math.max(a.alpha,0),1)),r};function cLt(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100,i,a,o,s,l,u=0;if(r===0)return l=n*255,[l,l,l];for(a=n<.5?n*(1+r):n+r-n*r,i=2*n-a,s=[0,0,0];u<3;)o=t+1/3*-(u-1),o<0?o++:o>1&&o--,l=6*o<1?i+(a-i)*6*o:2*o<1?a:3*o<2?i+(a-i)*(2/3-o)*6:i,s[u++]=l*255;return s}});var VE=ye((ovr,yLe)=>{yLe.exports=fLt;function fLt(e,t,r){return t<r?e<t?t:e>r?r:e:e<r?r:e>t?t:e}});var HD=ye((svr,_Le)=>{_Le.exports=function(e){switch(e){case\"int8\":return Int8Array;case\"int16\":return Int16Array;case\"int32\":return Int32Array;case\"uint8\":return Uint8Array;case\"uint16\":return Uint16Array;case\"uint32\":return Uint32Array;case\"float32\":return Float32Array;case\"float64\":return Float64Array;case\"array\":return Array;case\"uint8_clamped\":return Uint8ClampedArray}}});var $_=ye((lvr,xLe)=>{\"use strict\";var hLt=mLe(),GD=VE(),dLt=HD();xLe.exports=function(t,r){(r===\"float\"||!r)&&(r=\"array\"),r===\"uint\"&&(r=\"uint8\"),r===\"uint_clamped\"&&(r=\"uint8_clamped\");var n=dLt(r),i=new n(4),a=r!==\"uint8\"&&r!==\"uint8_clamped\";return(!t.length||typeof t==\"string\")&&(t=hLt(t),t[0]/=255,t[1]/=255,t[2]/=255),vLt(t)?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:255,a&&(i[0]/=255,i[1]/=255,i[2]/=255,i[3]/=255),i):(a?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:1):(i[0]=GD(Math.floor(t[0]*255),0,255),i[1]=GD(Math.floor(t[1]*255),0,255),i[2]=GD(Math.floor(t[2]*255),0,255),i[3]=t[3]==null?255:GD(Math.floor(t[3]*255),0,255)),i)};function vLt(e){return!!(e instanceof Uint8Array||e instanceof Uint8ClampedArray||Array.isArray(e)&&(e[0]>1||e[0]===0)&&(e[1]>1||e[1]===0)&&(e[2]>1||e[2]===0)&&(!e[3]||e[3]>1))}});var Jy=ye((uvr,bLe)=>{\"use strict\";var pLt=$_();function gLt(e){return e?pLt(e):[0,0,0,1]}bLe.exports=gLt});var $y=ye((cvr,kLe)=>{\"use strict\";var MLe=uo(),mLt=id(),jD=$_(),WD=Mu(),yLt=dh().defaultLine,wLe=vv().isArrayOrTypedArray,iZ=jD(yLt),ELe=1;function TLe(e,t){var r=e;return r[3]*=t,r}function ALe(e){if(MLe(e))return iZ;var t=jD(e);return t.length?t:iZ}function SLe(e){return MLe(e)?e:ELe}function _Lt(e,t,r){var n=e.color;n&&n._inputArray&&(n=n._inputArray);var i=wLe(n),a=wLe(t),o=WD.extractOpts(e),s=[],l,u,c,f,h;if(o.colorscale!==void 0?l=WD.makeColorScaleFuncFromTrace(e):l=ALe,i?u=function(v,x){return v[x]===void 0?iZ:jD(l(v[x]))}:u=ALe,a?c=function(v,x){return v[x]===void 0?ELe:SLe(v[x])}:c=SLe,i||a)for(var d=0;d<r;d++)f=u(n,d),h=c(t,d),s[d]=TLe(f,h);else s=TLe(jD(n),t);return s}function xLt(e){var t=WD.extractOpts(e),r=t.colorscale;return t.reversescale&&(r=WD.flipScale(t.colorscale)),r.map(function(n){var i=n[0],a=mLt(n[1]),o=a.toRgb();return{index:i,rgb:[o.r,o.g,o.b,o.a]}})}kLe.exports={formatColor:_Lt,parseColorScale:xLt}});var nZ=ye((fvr,CLe)=>{\"use strict\";CLe.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]}});var ZD=ye((hvr,LLe)=>{\"use strict\";LLe.exports={circle:\"\\u25CF\",\"circle-open\":\"\\u25CB\",square:\"\\u25A0\",\"square-open\":\"\\u25A1\",diamond:\"\\u25C6\",\"diamond-open\":\"\\u25C7\",cross:\"+\",x:\"\\u274C\"}});var ILe=ye((dvr,PLe)=>{\"use strict\";var bLt=ba();function aZ(e,t,r,n){if(!t||!t.visible)return null;for(var i=bLt.getComponentMethod(\"errorbars\",\"makeComputeError\")(t),a=new Array(e.length),o=0;o<e.length;o++){var s=i(+e[o],o);if(n.type===\"log\"){var l=n.c2l(e[o]),u=e[o]-s[0],c=e[o]+s[1];if(a[o]=[(n.c2l(u,!0)-l)*r,(n.c2l(c,!0)-l)*r],u>0){var f=n.c2l(u);n._lowerLogErrorBound||(n._lowerLogErrorBound=f),n._lowerErrorBound=Math.min(n._lowerLogErrorBound,f)}}else a[o]=[-s[0]*r,s[1]*r]}return a}function wLt(e){for(var t=0;t<e.length;t++)if(e[t])return e[t].length;return 0}function TLt(e,t,r){var n=[aZ(e.x,e.error_x,t[0],r.xaxis),aZ(e.y,e.error_y,t[1],r.yaxis),aZ(e.z,e.error_z,t[2],r.zaxis)],i=wLt(n);if(i===0)return null;for(var a=new Array(i),o=0;o<i;o++){for(var s=[[0,0,0],[0,0,0]],l=0;l<3;l++)if(n[l])for(var u=0;u<2;u++)s[u][l]=n[l][o][u];a[o]=s}return a}PLe.exports=TLt});var ULe=ye((vvr,NLe)=>{\"use strict\";var ALt=Rd().gl_line3d,RLe=Rd().gl_scatter3d,SLt=Rd().gl_error3d,MLt=Rd().gl_mesh3d,ELt=Rd().delaunay_triangulate,Qy=Mr(),OLe=Jy(),XD=$y().formatColor,kLt=S3(),oZ=nZ(),CLt=ZD(),LLt=Qa(),PLt=rp().appendArrayPointValue,ILt=ILe();function BLe(e,t){this.scene=e,this.uid=t,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode=\"\",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var lZ=BLe.prototype;lZ.handlePick=function(e){if(e.object&&(e.object===this.linePlot||e.object===this.delaunayMesh||e.object===this.textMarkers||e.object===this.scatterPlot)){var t=e.index=e.data.index;return e.object.highlight&&e.object.highlight(null),this.scatterPlot&&(e.object=this.scatterPlot,this.scatterPlot.highlight(e.data)),e.textLabel=\"\",this.textLabels&&(Qy.isArrayOrTypedArray(this.textLabels)?(this.textLabels[t]||this.textLabels[t]===0)&&(e.textLabel=this.textLabels[t]):e.textLabel=this.textLabels),e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]],!0}};function RLt(e,t,r){var n=(r+1)%3,i=(r+2)%3,a=[],o=[],s;for(s=0;s<e.length;++s){var l=e[s];isNaN(l[n])||!isFinite(l[n])||isNaN(l[i])||!isFinite(l[i])||(a.push([l[n],l[i]]),o.push(s))}var u=ELt(a);for(s=0;s<u.length;++s)for(var c=u[s],f=0;f<c.length;++f)c[f]=o[c[f]];return{positions:e,cells:u,meshColor:t}}function DLt(e){for(var t=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[1,1,1],i=0;i<3;i++){var a=e[i];a&&a.copy_zstyle!==!1&&e[2].visible!==!1&&(a=e[2]),!(!a||!a.visible)&&(t[i]=a.width/2,r[i]=OLe(a.color),n[i]=a.thickness)}return{capSize:t,color:r,lineWidth:n}}function DLe(e){return e==null?0:e.indexOf(\"left\")>-1?-1:e.indexOf(\"right\")>-1?1:0}function zLe(e){return e==null?0:e.indexOf(\"top\")>-1?-1:e.indexOf(\"bottom\")>-1?1:0}function zLt(e){var t=0,r=0,n=[t,r];if(Array.isArray(e))for(var i=0;i<e.length;i++)n[i]=[t,r],e[i]&&(n[i][0]=DLe(e[i]),n[i][1]=zLe(e[i]));else n[0]=DLe(e),n[1]=zLe(e);return n}function FLt(e,t){return t(e*4)}function qLt(e){return CLt[e]}function sZ(e,t,r,n,i){var a=null;if(Qy.isArrayOrTypedArray(e)){a=[];for(var o=0;o<t;o++)e[o]===void 0?a[o]=n:a[o]=r(e[o],i)}else a=r(e,Qy.identity);return a}function OLt(e,t){var r=[],n=e.fullSceneLayout,i=e.dataScale,a=n.xaxis,o=n.yaxis,s=n.zaxis,l=t.marker,u=t.line,c=t.x||[],f=t.y||[],h=t.z||[],d=c.length,v=t.xcalendar,x=t.ycalendar,b=t.zcalendar,p,E,k,A,L,_;for(L=0;L<d;L++)p=a.d2l(c[L],0,v)*i[0],E=o.d2l(f[L],0,x)*i[1],k=s.d2l(h[L],0,b)*i[2],r[L]=[p,E,k];if(Array.isArray(t.text))_=t.text;else if(Qy.isTypedArray(t.text))_=Array.from(t.text);else if(t.text!==void 0)for(_=new Array(d),L=0;L<d;L++)_[L]=t.text;function C(_e,Me){var ke=n[_e];return LLt.tickText(ke,ke.d2l(Me),!0).text}var M=t.texttemplate;if(M){var g=e.fullLayout,P=g._d3locale,T=Array.isArray(M),F=T?Math.min(M.length,d):d,q=T?function(_e){return M[_e]}:function(){return M};for(_=new Array(F),L=0;L<F;L++){var V={x:c[L],y:f[L],z:h[L]},H={xLabel:C(\"xaxis\",c[L]),yLabel:C(\"yaxis\",f[L]),zLabel:C(\"zaxis\",h[L])},X={};PLt(X,t,L);var G=t._meta||{};_[L]=Qy.texttemplateString(q(L),H,P,X,V,G)}}if(A={position:r,mode:t.mode,text:_},\"line\"in t&&(A.lineColor=XD(u,1,d),A.lineWidth=u.width,A.lineDashes=u.dash),\"marker\"in t){var N=kLt(t);A.scatterColor=XD(l,1,d),A.scatterSize=sZ(l.size,d,FLt,20,N),A.scatterMarker=sZ(l.symbol,d,qLt,\"\\u25CF\"),A.scatterLineWidth=l.line.width,A.scatterLineColor=XD(l.line,1,d),A.scatterAngle=0}\"textposition\"in t&&(A.textOffset=zLt(t.textposition),A.textColor=XD(t.textfont,1,d),A.textSize=sZ(t.textfont.size,d,Qy.identity,12),A.textFontFamily=t.textfont.family,A.textFontWeight=t.textfont.weight,A.textFontStyle=t.textfont.style,A.textFontVariant=t.textfont.variant,A.textAngle=0);var W=[\"x\",\"y\",\"z\"];for(A.project=[!1,!1,!1],A.projectScale=[1,1,1],A.projectOpacity=[1,1,1],L=0;L<3;++L){var re=t.projection[W[L]];(A.project[L]=re.show)&&(A.projectOpacity[L]=re.opacity,A.projectScale[L]=re.scale)}A.errorBounds=ILt(t,i,n);var ae=DLt([t.error_x,t.error_y,t.error_z]);return A.errorColor=ae.color,A.errorLineWidth=ae.lineWidth,A.errorCapSize=ae.capSize,A.delaunayAxis=t.surfaceaxis,A.delaunayColor=OLe(t.surfacecolor),A}function FLe(e){if(Qy.isArrayOrTypedArray(e)){var t=e[0];return Qy.isArrayOrTypedArray(t)&&(e=t),\"rgb(\"+e.slice(0,3).map(function(r){return Math.round(r*255)})+\")\"}return null}function qLe(e){return Qy.isArrayOrTypedArray(e)?e.length===4&&typeof e[0]==\"number\"?FLe(e):e.map(FLe):null}lZ.update=function(e){var t=this.scene.glplot.gl,r,n,i,a,o=oZ.solid;this.data=e;var s=OLt(this.scene,e);\"mode\"in s&&(this.mode=s.mode),\"lineDashes\"in s&&s.lineDashes in oZ&&(o=oZ[s.lineDashes]),this.color=qLe(s.scatterColor)||qLe(s.lineColor),this.dataPoints=s.position,r={gl:this.scene.glplot.gl,position:s.position,color:s.lineColor,lineWidth:s.lineWidth||1,dashes:o[0],dashScale:o[1],opacity:e.opacity,connectGaps:e.connectgaps},this.mode.indexOf(\"lines\")!==-1?this.linePlot?this.linePlot.update(r):(this.linePlot=ALt(r),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var l=e.opacity;if(e.marker&&e.marker.opacity!==void 0&&(l*=e.marker.opacity),n={gl:this.scene.glplot.gl,position:s.position,color:s.scatterColor,size:s.scatterSize,glyph:s.scatterMarker,opacity:l,orthographic:!0,lineWidth:s.scatterLineWidth,lineColor:s.scatterLineColor,project:s.project,projectScale:s.projectScale,projectOpacity:s.projectOpacity},this.mode.indexOf(\"markers\")!==-1?this.scatterPlot?this.scatterPlot.update(n):(this.scatterPlot=RLe(n),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),a={gl:this.scene.glplot.gl,position:s.position,glyph:s.text,color:s.textColor,size:s.textSize,angle:s.textAngle,alignment:s.textOffset,font:s.textFontFamily,fontWeight:s.textFontWeight,fontStyle:s.textFontStyle,fontVariant:s.textFontVariant,orthographic:!0,lineWidth:0,project:!1,opacity:e.opacity},this.textLabels=e.hovertext||e.text,this.mode.indexOf(\"text\")!==-1?this.textMarkers?this.textMarkers.update(a):(this.textMarkers=RLe(a),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),i={gl:this.scene.glplot.gl,position:s.position,color:s.errorColor,error:s.errorBounds,lineWidth:s.errorLineWidth,capSize:s.errorCapSize,opacity:e.opacity},this.errorBars?s.errorBounds?this.errorBars.update(i):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):s.errorBounds&&(this.errorBars=SLt(i),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),s.delaunayAxis>=0){var u=RLt(s.position,s.delaunayColor,s.delaunayAxis);u.opacity=e.opacity,this.delaunayMesh?this.delaunayMesh.update(u):(u.gl=t,this.delaunayMesh=MLt(u),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)};lZ.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())};function BLt(e,t){var r=new BLe(e,t.uid);return r.update(t),r}NLe.exports=BLt});var dZ=ye((pvr,GLe)=>{\"use strict\";var e1=Uc(),NLt=Su(),hZ=Jl(),uZ=Oc().axisHoverFormat,ULt=Wo().hovertemplateAttrs,VLt=Wo().texttemplateAttrs,VLe=vl(),HLt=nZ(),GLt=ZD(),Yg=no().extendFlat,jLt=Bu().overrideAll,HLe=Y1(),WLt=e1.line,N2=e1.marker,ZLt=N2.line,XLt=Yg({width:WLt.width,dash:{valType:\"enumerated\",values:HLe(HLt),dflt:\"solid\"}},hZ(\"line\"));function cZ(e){return{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}}}var fZ=GLe.exports=jLt({x:e1.x,y:e1.y,z:{valType:\"data_array\"},text:Yg({},e1.text,{}),texttemplate:VLt({},{}),hovertext:Yg({},e1.hovertext,{}),hovertemplate:ULt(),xhoverformat:uZ(\"x\"),yhoverformat:uZ(\"y\"),zhoverformat:uZ(\"z\"),mode:Yg({},e1.mode,{dflt:\"lines+markers\"}),surfaceaxis:{valType:\"enumerated\",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:\"color\"},projection:{x:cZ(\"x\"),y:cZ(\"y\"),z:cZ(\"z\")},connectgaps:e1.connectgaps,line:XLt,marker:Yg({symbol:{valType:\"enumerated\",values:HLe(GLt),dflt:\"circle\",arrayOk:!0},size:Yg({},N2.size,{dflt:8}),sizeref:N2.sizeref,sizemin:N2.sizemin,sizemode:N2.sizemode,opacity:Yg({},N2.opacity,{arrayOk:!1}),colorbar:N2.colorbar,line:Yg({width:Yg({},ZLt.width,{arrayOk:!1})},hZ(\"marker.line\"))},hZ(\"marker\")),textposition:Yg({},e1.textposition,{dflt:\"top center\"}),textfont:NLt({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:\"calc\",colorEditType:\"style\",arrayOk:!0,variantValues:[\"normal\",\"small-caps\"]}),opacity:VLe.opacity,hoverinfo:Yg({},VLe.hoverinfo)},\"calc\",\"nested\");fZ.x.editType=fZ.y.editType=fZ.z.editType=\"calc+clearAxisTypes\"});var ZLe=ye((gvr,WLe)=>{\"use strict\";var jLe=ba(),YLt=Mr(),vZ=lu(),KLt=$p(),JLt=R0(),$Lt=D0(),QLt=dZ();WLe.exports=function(t,r,n,i){function a(d,v){return YLt.coerce(t,r,QLt,d,v)}var o=ePt(t,r,a,i);if(!o){r.visible=!1;return}a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),a(\"mode\"),vZ.hasMarkers(r)&&KLt(t,r,n,i,a,{noSelect:!0,noAngle:!0}),vZ.hasLines(r)&&(a(\"connectgaps\"),JLt(t,r,n,i,a)),vZ.hasText(r)&&(a(\"texttemplate\"),$Lt(t,r,i,a,{noSelect:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}));var s=(r.line||{}).color,l=(r.marker||{}).color;a(\"surfaceaxis\")>=0&&a(\"surfacecolor\",s||l);for(var u=[\"x\",\"y\",\"z\"],c=0;c<3;++c){var f=\"projection.\"+u[c];a(f+\".show\")&&(a(f+\".opacity\"),a(f+\".scale\"))}var h=jLe.getComponentMethod(\"errorbars\",\"supplyDefaults\");h(t,r,s||l||n,{axis:\"z\"}),h(t,r,s||l||n,{axis:\"y\",inherit:\"z\"}),h(t,r,s||l||n,{axis:\"x\",inherit:\"z\"})};function ePt(e,t,r,n){var i=0,a=r(\"x\"),o=r(\"y\"),s=r(\"z\"),l=jLe.getComponentMethod(\"calendars\",\"handleTraceDefaults\");return l(e,t,[\"x\",\"y\",\"z\"],n),a&&o&&s&&(i=Math.min(a.length,o.length,s.length),t._length=t._xlength=t._ylength=t._zlength=i),i}});var YLe=ye((mvr,XLe)=>{\"use strict\";var tPt=km(),rPt=z0();XLe.exports=function(t,r){var n=[{x:!1,y:!1,trace:r,t:{}}];return tPt(n,r),rPt(t,r),n}});var JLe=ye((yvr,KLe)=>{KLe.exports=iPt;function iPt(e,t){if(typeof e!=\"string\")throw new TypeError(\"must specify type string\");if(t=t||{},typeof document==\"undefined\"&&!t.canvas)return null;var r=t.canvas||document.createElement(\"canvas\");typeof t.width==\"number\"&&(r.width=t.width),typeof t.height==\"number\"&&(r.height=t.height);var n=t,i;try{var a=[e];e.indexOf(\"webgl\")===0&&a.push(\"experimental-\"+e);for(var o=0;o<a.length;o++)if(i=r.getContext(a[o],n),i)return i}catch(s){i=null}return i||null}});var QLe=ye((_vr,$Le)=>{var nPt=JLe();$Le.exports=function(t){return nPt(\"webgl\",t)}});var pZ=ye((xvr,tPe)=>{\"use strict\";var ePe=va(),aPt=function(){};tPe.exports=function(t){for(var r in t)typeof t[r]==\"function\"&&(t[r]=aPt);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var n=document.createElement(\"div\");n.className=\"no-webgl\",n.style.cursor=\"pointer\",n.style.fontSize=\"24px\",n.style.color=ePe.defaults[0],n.style.position=\"absolute\",n.style.left=n.style.top=\"0px\",n.style.width=n.style.height=\"100%\",n.style[\"background-color\"]=ePe.lightLine,n.style[\"z-index\"]=30;var i=document.createElement(\"p\");return i.textContent=\"WebGL is not supported by your browser - visit https://get.webgl.org for more info\",i.style.position=\"relative\",i.style.top=\"50%\",i.style.left=\"50%\",i.style.height=\"30%\",i.style.width=\"50%\",i.style.margin=\"-15% 0 0 -25%\",n.appendChild(i),t.container.appendChild(n),t.container.style.background=\"#FFFFFF\",t.container.onclick=function(){window.open(\"https://get.webgl.org\")},!1}});var nPe=ye((bvr,iPe)=>{\"use strict\";var U2=Jy(),oPt=Mr(),sPt=[\"xaxis\",\"yaxis\",\"zaxis\"];function rPe(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickSize=[12,12,12],this.tickFontWeight=[\"normal\",\"normal\",\"normal\",\"normal\"],this.tickFontStyle=[\"normal\",\"normal\",\"normal\",\"normal\"],this.tickFontVariant=[\"normal\",\"normal\",\"normal\",\"normal\"],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=[\"Open Sans\",\"Open Sans\",\"Open Sans\"],this.labelSize=[20,20,20],this.labelFontWeight=[\"normal\",\"normal\",\"normal\",\"normal\"],this.labelFontStyle=[\"normal\",\"normal\",\"normal\",\"normal\"],this.labelFontVariant=[\"normal\",\"normal\",\"normal\",\"normal\"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}var lPt=rPe.prototype;lPt.merge=function(e,t){for(var r=this,n=0;n<3;++n){var i=t[sPt[n]];if(!i.visible){r.tickEnable[n]=!1,r.labelEnable[n]=!1,r.lineEnable[n]=!1,r.lineTickEnable[n]=!1,r.gridEnable[n]=!1,r.zeroEnable[n]=!1,r.backgroundEnable[n]=!1;continue}r.labels[n]=e._meta?oPt.templateString(i.title.text,e._meta):i.title.text,\"font\"in i.title&&(i.title.font.color&&(r.labelColor[n]=U2(i.title.font.color)),i.title.font.family&&(r.labelFont[n]=i.title.font.family),i.title.font.size&&(r.labelSize[n]=i.title.font.size),i.title.font.weight&&(r.labelFontWeight[n]=i.title.font.weight),i.title.font.style&&(r.labelFontStyle[n]=i.title.font.style),i.title.font.variant&&(r.labelFontVariant[n]=i.title.font.variant)),\"showline\"in i&&(r.lineEnable[n]=i.showline),\"linecolor\"in i&&(r.lineColor[n]=U2(i.linecolor)),\"linewidth\"in i&&(r.lineWidth[n]=i.linewidth),\"showgrid\"in i&&(r.gridEnable[n]=i.showgrid),\"gridcolor\"in i&&(r.gridColor[n]=U2(i.gridcolor)),\"gridwidth\"in i&&(r.gridWidth[n]=i.gridwidth),i.type===\"log\"?r.zeroEnable[n]=!1:\"zeroline\"in i&&(r.zeroEnable[n]=i.zeroline),\"zerolinecolor\"in i&&(r.zeroLineColor[n]=U2(i.zerolinecolor)),\"zerolinewidth\"in i&&(r.zeroLineWidth[n]=i.zerolinewidth),\"ticks\"in i&&i.ticks?r.lineTickEnable[n]=!0:r.lineTickEnable[n]=!1,\"ticklen\"in i&&(r.lineTickLength[n]=r._defaultLineTickLength[n]=i.ticklen),\"tickcolor\"in i&&(r.lineTickColor[n]=U2(i.tickcolor)),\"tickwidth\"in i&&(r.lineTickWidth[n]=i.tickwidth),\"tickangle\"in i&&(r.tickAngle[n]=i.tickangle===\"auto\"?-3600:Math.PI*-i.tickangle/180),\"showticklabels\"in i&&(r.tickEnable[n]=i.showticklabels),\"tickfont\"in i&&(i.tickfont.color&&(r.tickColor[n]=U2(i.tickfont.color)),i.tickfont.family&&(r.tickFont[n]=i.tickfont.family),i.tickfont.size&&(r.tickSize[n]=i.tickfont.size),i.tickfont.weight&&(r.tickFontWeight[n]=i.tickfont.weight),i.tickfont.style&&(r.tickFontStyle[n]=i.tickfont.style),i.tickfont.variant&&(r.tickFontVariant[n]=i.tickfont.variant)),\"mirror\"in i?[\"ticks\",\"all\",\"allticks\"].indexOf(i.mirror)!==-1?(r.lineTickMirror[n]=!0,r.lineMirror[n]=!0):i.mirror===!0?(r.lineTickMirror[n]=!1,r.lineMirror[n]=!0):(r.lineTickMirror[n]=!1,r.lineMirror[n]=!1):r.lineMirror[n]=!1,\"showbackground\"in i&&i.showbackground!==!1?(r.backgroundEnable[n]=!0,r.backgroundColor[n]=U2(i.backgroundcolor)):r.backgroundEnable[n]=!1}};function uPt(e,t){var r=new rPe;return r.merge(e,t),r}iPe.exports=uPt});var sPe=ye((wvr,oPe)=>{\"use strict\";var cPt=Jy(),fPt=[\"xaxis\",\"yaxis\",\"zaxis\"];function aPe(){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]}var hPt=aPe.prototype;hPt.merge=function(e){for(var t=0;t<3;++t){var r=e[fPt[t]];if(!r.visible){this.enabled[t]=!1,this.drawSides[t]=!1;continue}this.enabled[t]=r.showspikes,this.colors[t]=cPt(r.spikecolor),this.drawSides[t]=r.spikesides,this.lineWidth[t]=r.spikethickness}};function dPt(e){var t=new aPe;return t.merge(e),t}oPe.exports=dPt});var cPe=ye((Tvr,uPe)=>{\"use strict\";uPe.exports=yPt;var lPe=Qa(),vPt=Mr(),pPt=[\"xaxis\",\"yaxis\",\"zaxis\"],gPt=[0,0,0];function mPt(e){for(var t=new Array(3),r=0;r<3;++r){for(var n=e[r],i=new Array(n.length),a=0;a<n.length;++a)i[a]=n[a].x;t[r]=i}return t}function yPt(e){for(var t=e.axesOptions,r=e.glplot.axesPixels,n=e.fullSceneLayout,i=[[],[],[]],a=0;a<3;++a){var o=n[pPt[a]];if(o._length=(r[a].hi-r[a].lo)*r[a].pixelsPerDataUnit/e.dataScale[a],Math.abs(o._length)===1/0||isNaN(o._length))i[a]=[];else{o._input_range=o.range.slice(),o.range[0]=r[a].lo/e.dataScale[a],o.range[1]=r[a].hi/e.dataScale[a],o._m=1/(e.dataScale[a]*r[a].pixelsPerDataUnit),o.range[0]===o.range[1]&&(o.range[0]-=1,o.range[1]+=1);var s=o.tickmode;if(o.tickmode===\"auto\"){o.tickmode=\"linear\";var l=o.nticks||vPt.constrain(o._length/40,4,9);lPe.autoTicks(o,Math.abs(o.range[1]-o.range[0])/l)}for(var u=lPe.calcTicks(o,{msUTC:!0}),c=0;c<u.length;++c)u[c].x=u[c].x*e.dataScale[a],o.type===\"date\"&&(u[c].text=u[c].text.replace(/\\<br\\>/g,\" \"));i[a]=u,o.tickmode=s}}t.ticks=i;for(var a=0;a<3;++a){gPt[a]=.5*(e.glplot.bounds[0][a]+e.glplot.bounds[1][a]);for(var c=0;c<2;++c)t.bounds[c][a]=e.glplot.bounds[c][a]}e.contourLevels=mPt(i)}});var mPe=ye((Avr,gPe)=>{\"use strict\";var dPe=Rd().gl_plot3d,_Pt=dPe.createCamera,fPe=dPe.createScene,xPt=QLe(),bPt=kL(),JD=ba(),up=Mr(),KD=up.preserveDrawingBuffer(),$D=Qa(),Kg=Nc(),wPt=Jy(),TPt=pZ(),APt=DU(),SPt=nPe(),MPt=sPe(),EPt=cPe(),kPt=wg().applyAutorangeOptions,HE,YD,vPe=!1;function pPe(e,t){var r=document.createElement(\"div\"),n=e.container;this.graphDiv=e.graphDiv;var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");i.style.position=\"absolute\",i.style.top=i.style.left=\"0px\",i.style.width=i.style.height=\"100%\",i.style[\"z-index\"]=20,i.style[\"pointer-events\"]=\"none\",r.appendChild(i),this.svgContainer=i,r.id=e.id,r.style.position=\"absolute\",r.style.top=r.style.left=\"0px\",r.style.width=r.style.height=\"100%\",n.appendChild(r),this.fullLayout=t,this.id=e.id||\"scene\",this.fullSceneLayout=t[this.id],this.plotArgs=[[],{},{}],this.axesOptions=SPt(t,t[this.id]),this.spikeOptions=MPt(t[this.id]),this.container=r,this.staticMode=!!e.staticPlot,this.pixelRatio=this.pixelRatio||e.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=JD.getComponentMethod(\"annotations3d\",\"convert\"),this.drawAnnotations=JD.getComponentMethod(\"annotations3d\",\"draw\"),this.initializeGLPlot()}var wv=pPe.prototype;wv.prepareOptions=function(){var e=this,t={canvas:e.canvas,gl:e.gl,glOptions:{preserveDrawingBuffer:KD,premultipliedAlpha:!0,antialias:!0},container:e.container,axes:e.axesOptions,spikes:e.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:e.camera,pixelRatio:e.pixelRatio};if(e.staticMode){if(!YD&&(HE=document.createElement(\"canvas\"),YD=xPt({canvas:HE,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}),!YD))throw new Error(\"error creating static canvas/context for image server\");t.gl=YD,t.canvas=HE}return t};var hPe=!0;wv.tryCreatePlot=function(){var e=this,t=e.prepareOptions(),r=!0;try{e.glplot=fPe(t)}catch(n){if(e.staticMode||!hPe||KD)r=!1;else{up.warn([\"webgl setup failed possibly due to\",\"false preserveDrawingBuffer config.\",\"The mobile/tablet device may not be detected by is-mobile module.\",\"Enabling preserveDrawingBuffer in second attempt to create webgl scene...\"].join(\" \"));try{KD=t.glOptions.preserveDrawingBuffer=!0,e.glplot=fPe(t)}catch(i){KD=t.glOptions.preserveDrawingBuffer=!1,r=!1}}}return hPe=!1,r};wv.initializeGLCamera=function(){var e=this,t=e.fullSceneLayout.camera,r=t.projection.type===\"orthographic\";e.camera=_Pt(e.container,{center:[t.center.x,t.center.y,t.center.z],eye:[t.eye.x,t.eye.y,t.eye.z],up:[t.up.x,t.up.y,t.up.z],_ortho:r,zoomMin:.01,zoomMax:100,mode:\"orbit\"})};wv.initializeGLPlot=function(){var e=this;e.initializeGLCamera();var t=e.tryCreatePlot();if(!t)return TPt(e);e.traces={},e.make4thDimension();var r=e.graphDiv,n=r.layout,i=function(){var o={};return e.isCameraChanged(n)&&(o[e.id+\".camera\"]=e.getCamera()),e.isAspectChanged(n)&&(o[e.id+\".aspectratio\"]=e.glplot.getAspectratio(),n[e.id].aspectmode!==\"manual\"&&(e.fullSceneLayout.aspectmode=n[e.id].aspectmode=o[e.id+\".aspectmode\"]=\"manual\")),o},a=function(o){if(o.fullSceneLayout.dragmode!==!1){var s=i();o.saveLayout(n),o.graphDiv.emit(\"plotly_relayout\",s)}};return e.glplot.canvas&&(e.glplot.canvas.addEventListener(\"mouseup\",function(){a(e)}),e.glplot.canvas.addEventListener(\"touchstart\",function(){vPe=!0}),e.glplot.canvas.addEventListener(\"wheel\",function(o){if(r._context._scrollZoom.gl3d){if(e.camera._ortho){var s=o.deltaX>o.deltaY?1.1:.9090909090909091,l=e.glplot.getAspectratio();e.glplot.setAspectratio({x:s*l.x,y:s*l.y,z:s*l.z})}a(e)}},bPt?{passive:!1}:!1),e.glplot.canvas.addEventListener(\"mousemove\",function(){if(e.fullSceneLayout.dragmode!==!1&&e.camera.mouseListener.buttons!==0){var o=i();e.graphDiv.emit(\"plotly_relayouting\",o)}}),e.staticMode||e.glplot.canvas.addEventListener(\"webglcontextlost\",function(o){r&&r.emit&&r.emit(\"plotly_webglcontextlost\",{event:o,layer:e.id})},!1)),e.glplot.oncontextloss=function(){e.recoverContext()},e.glplot.onrender=function(){e.render()},!0};wv.render=function(){var e=this,t=e.graphDiv,r,n=e.svgContainer,i=e.container.getBoundingClientRect();t._fullLayout._calcInverseTransform(t);var a=t._fullLayout._invScaleX,o=t._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),EPt(e),e.glplot.axes.update(e.axesOptions);for(var u=Object.keys(e.traces),c=null,f=e.glplot.selection,h=0;h<u.length;++h)r=e.traces[u[h]],r.data.hoverinfo!==\"skip\"&&r.handlePick(f)&&(c=r),r.setContourLevels&&r.setContourLevels();function d(P,T,F){var q=e.fullSceneLayout[P+\"axis\"];return q.type!==\"log\"&&(T=q.d2l(T)),$D.hoverLabelText(q,T,F)}if(c!==null){var v=APt(e.glplot.cameraParams,f.dataCoordinate);r=c.data;var x=t._fullData[r.index],b=f.index,p={xLabel:d(\"x\",f.traceCoordinate[0],r.xhoverformat),yLabel:d(\"y\",f.traceCoordinate[1],r.yhoverformat),zLabel:d(\"z\",f.traceCoordinate[2],r.zhoverformat)},E=Kg.castHoverinfo(x,e.fullLayout,b),k=(E||\"\").split(\"+\"),A=E&&E===\"all\";!x.hovertemplate&&!A&&(k.indexOf(\"x\")===-1&&(p.xLabel=void 0),k.indexOf(\"y\")===-1&&(p.yLabel=void 0),k.indexOf(\"z\")===-1&&(p.zLabel=void 0),k.indexOf(\"text\")===-1&&(f.textLabel=void 0),k.indexOf(\"name\")===-1&&(c.name=void 0));var L,_=[];r.type===\"cone\"||r.type===\"streamtube\"?(p.uLabel=d(\"x\",f.traceCoordinate[3],r.uhoverformat),(A||k.indexOf(\"u\")!==-1)&&_.push(\"u: \"+p.uLabel),p.vLabel=d(\"y\",f.traceCoordinate[4],r.vhoverformat),(A||k.indexOf(\"v\")!==-1)&&_.push(\"v: \"+p.vLabel),p.wLabel=d(\"z\",f.traceCoordinate[5],r.whoverformat),(A||k.indexOf(\"w\")!==-1)&&_.push(\"w: \"+p.wLabel),p.normLabel=f.traceCoordinate[6].toPrecision(3),(A||k.indexOf(\"norm\")!==-1)&&_.push(\"norm: \"+p.normLabel),r.type===\"streamtube\"&&(p.divergenceLabel=f.traceCoordinate[7].toPrecision(3),(A||k.indexOf(\"divergence\")!==-1)&&_.push(\"divergence: \"+p.divergenceLabel)),f.textLabel&&_.push(f.textLabel),L=_.join(\"<br>\")):r.type===\"isosurface\"||r.type===\"volume\"?(p.valueLabel=$D.hoverLabelText(e._mockAxis,e._mockAxis.d2l(f.traceCoordinate[3]),r.valuehoverformat),_.push(\"value: \"+p.valueLabel),f.textLabel&&_.push(f.textLabel),L=_.join(\"<br>\")):L=f.textLabel;var C={x:f.traceCoordinate[0],y:f.traceCoordinate[1],z:f.traceCoordinate[2],data:x._input,fullData:x,curveNumber:x.index,pointNumber:b};Kg.appendArrayPointValue(C,x,b),r._module.eventData&&(C=x._module.eventData(C,f,x,{},b));var M={points:[C]};if(e.fullSceneLayout.hovermode){var g=[];Kg.loneHover({trace:x,x:(.5+.5*v[0]/v[3])*s,y:(.5-.5*v[1]/v[3])*l,xLabel:p.xLabel,yLabel:p.yLabel,zLabel:p.zLabel,text:L,name:c.name,color:Kg.castHoverOption(x,b,\"bgcolor\")||c.color,borderColor:Kg.castHoverOption(x,b,\"bordercolor\"),fontFamily:Kg.castHoverOption(x,b,\"font.family\"),fontSize:Kg.castHoverOption(x,b,\"font.size\"),fontColor:Kg.castHoverOption(x,b,\"font.color\"),nameLength:Kg.castHoverOption(x,b,\"namelength\"),textAlign:Kg.castHoverOption(x,b,\"align\"),hovertemplate:up.castOption(x,b,\"hovertemplate\"),hovertemplateLabels:up.extendFlat({},C,p),eventData:[C]},{container:n,gd:t,inOut_bbox:g}),C.bbox=g[0]}f.distance<5&&(f.buttons||vPe)?t.emit(\"plotly_click\",M):t.emit(\"plotly_hover\",M),this.oldEventData=M}else Kg.loneUnhover(n),this.oldEventData&&t.emit(\"plotly_unhover\",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)};wv.recoverContext=function(){var e=this;e.glplot.dispose();var t=function(){if(e.glplot.gl.isContextLost()){requestAnimationFrame(t);return}if(!e.initializeGLPlot()){up.error(\"Catastrophic and unrecoverable WebGL error. Context lost.\");return}e.plot.apply(e,e.plotArgs)};requestAnimationFrame(t)};var GE=[\"xaxis\",\"yaxis\",\"zaxis\"];function CPt(e,t,r){for(var n=e.fullSceneLayout,i=0;i<3;i++){var a=GE[i],o=a.charAt(0),s=n[a],l=t[o],u=t[o+\"calendar\"],c=t[\"_\"+o+\"length\"];if(!up.isArrayOrTypedArray(l))r[0][i]=Math.min(r[0][i],0),r[1][i]=Math.max(r[1][i],c-1);else for(var f,h=0;h<(c||l.length);h++)if(up.isArrayOrTypedArray(l[h]))for(var d=0;d<l[h].length;++d)f=s.d2l(l[h][d],0,u),!isNaN(f)&&isFinite(f)&&(r[0][i]=Math.min(r[0][i],f),r[1][i]=Math.max(r[1][i],f));else f=s.d2l(l[h],0,u),!isNaN(f)&&isFinite(f)&&(r[0][i]=Math.min(r[0][i],f),r[1][i]=Math.max(r[1][i],f))}}function LPt(e,t){for(var r=e.fullSceneLayout,n=r.annotations||[],i=0;i<3;i++)for(var a=GE[i],o=a.charAt(0),s=r[a],l=0;l<n.length;l++){var u=n[l];if(u.visible){var c=s.r2l(u[o]);!isNaN(c)&&isFinite(c)&&(t[0][i]=Math.min(t[0][i],c),t[1][i]=Math.max(t[1][i],c))}}}wv.plot=function(e,t,r){var n=this;if(n.plotArgs=[e,t,r],!n.glplot.contextLost){var i,a,o,s,l,u,c=t[n.id],f=r[n.id];n.fullLayout=t,n.fullSceneLayout=c,n.axesOptions.merge(t,c),n.spikeOptions.merge(c),n.setViewport(c),n.updateFx(c.dragmode,c.hovermode),n.camera.enableWheel=n.graphDiv._context._scrollZoom.gl3d,n.glplot.setClearColor(wPt(c.bgcolor)),n.setConvert(l),e?Array.isArray(e)||(e=[e]):e=[];var h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(o=0;o<e.length;++o)i=e[o],!(i.visible!==!0||i._length===0)&&CPt(this,i,h);LPt(this,h);var d=[1,1,1];for(s=0;s<3;++s)h[1][s]===h[0][s]?d[s]=1:d[s]=1/(h[1][s]-h[0][s]);for(n.dataScale=d,n.convertAnnotations(this),o=0;o<e.length;++o)i=e[o],!(i.visible!==!0||i._length===0)&&(a=n.traces[i.uid],a?a.data.type===i.type?a.update(i):(a.dispose(),a=i._module.plot(this,i),n.traces[i.uid]=a):(a=i._module.plot(this,i),n.traces[i.uid]=a),a.name=i.name);var v=Object.keys(n.traces);e:for(o=0;o<v.length;++o){for(s=0;s<e.length;++s)if(e[s].uid===v[o]&&e[s].visible===!0&&e[s]._length!==0)continue e;a=n.traces[v[o]],a.dispose(),delete n.traces[v[o]]}n.glplot.objects.sort(function(ae,_e){return ae._trace.data.index-_e._trace.data.index});var x=[[0,0,0],[0,0,0]],b=[],p={};for(o=0;o<3;++o){l=c[GE[o]],u=l.type,u in p?(p[u].acc*=d[o],p[u].count+=1):p[u]={acc:d[o],count:1};var E;if(l.autorange){x[0][o]=1/0,x[1][o]=-1/0;var k=n.glplot.objects,A=n.fullSceneLayout.annotations||[],L=l._name.charAt(0);for(s=0;s<k.length;s++){var _=k[s],C=_.bounds,M=_._trace.data._pad||0;_.constructor.name===\"ErrorBars\"&&l._lowerLogErrorBound?x[0][o]=Math.min(x[0][o],l._lowerLogErrorBound):x[0][o]=Math.min(x[0][o],C[0][o]/d[o]-M),x[1][o]=Math.max(x[1][o],C[1][o]/d[o]+M)}for(s=0;s<A.length;s++){var g=A[s];if(g.visible){var P=l.r2l(g[L]);x[0][o]=Math.min(x[0][o],P),x[1][o]=Math.max(x[1][o],P)}}if(\"rangemode\"in l&&l.rangemode===\"tozero\"&&(x[0][o]=Math.min(x[0][o],0),x[1][o]=Math.max(x[1][o],0)),x[0][o]>x[1][o])x[0][o]=-1,x[1][o]=1;else{var T=x[1][o]-x[0][o];x[0][o]-=T/32,x[1][o]+=T/32}if(E=[x[0][o],x[1][o]],E=kPt(E,l),x[0][o]=E[0],x[1][o]=E[1],l.isReversed()){var F=x[0][o];x[0][o]=x[1][o],x[1][o]=F}}else E=l.range,x[0][o]=l.r2l(E[0]),x[1][o]=l.r2l(E[1]);x[0][o]===x[1][o]&&(x[0][o]-=1,x[1][o]+=1),b[o]=x[1][o]-x[0][o],l.range=[x[0][o],x[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*d[o],max:l.range[1]*d[o]})}var q,V=c.aspectmode;if(V===\"cube\")q=[1,1,1];else if(V===\"manual\"){var H=c.aspectratio;q=[H.x,H.y,H.z]}else if(V===\"auto\"||V===\"data\"){var X=[1,1,1];for(o=0;o<3;++o){l=c[GE[o]],u=l.type;var G=p[u];X[o]=Math.pow(G.acc,1/G.count)/d[o]}V===\"data\"||Math.max.apply(null,X)/Math.min.apply(null,X)<=4?q=X:q=[1,1,1]}else throw new Error(\"scene.js aspectRatio was not one of the enumerated types\");c.aspectratio.x=f.aspectratio.x=q[0],c.aspectratio.y=f.aspectratio.y=q[1],c.aspectratio.z=f.aspectratio.z=q[2],n.glplot.setAspectratio(c.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=c.aspectmode);var N=c.domain||null,W=t._size||null;if(N&&W){var re=n.container.style;re.position=\"absolute\",re.left=W.l+N.x[0]*W.w+\"px\",re.top=W.t+(1-N.y[1])*W.h+\"px\",re.width=W.w*(N.x[1]-N.x[0])+\"px\",re.height=W.h*(N.y[1]-N.y[0])+\"px\"}n.glplot.redraw()}};wv.destroy=function(){var e=this;e.glplot&&(e.camera.mouseListener.enabled=!1,e.container.removeEventListener(\"wheel\",e.camera.wheelListener),e.camera=null,e.glplot.dispose(),e.container.parentNode.removeChild(e.container),e.glplot=null)};function PPt(e){return[[e.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]]}function IPt(e){return{up:{x:e.up[0],y:e.up[1],z:e.up[2]},center:{x:e.center[0],y:e.center[1],z:e.center[2]},eye:{x:e.eye[0],y:e.eye[1],z:e.eye[2]},projection:{type:e._ortho===!0?\"orthographic\":\"perspective\"}}}wv.getCamera=function(){var e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),IPt(e.camera)};wv.setViewport=function(e){var t=this,r=e.camera;t.camera.lookAt.apply(this,PPt(r)),t.glplot.setAspectratio(e.aspectratio);var n=r.projection.type===\"orthographic\",i=t.camera._ortho;n!==i&&(t.glplot.redraw(),t.glplot.clearRGBA(),t.glplot.dispose(),t.initializeGLPlot())};wv.isCameraChanged=function(e){var t=this,r=t.getCamera(),n=up.nestedProperty(e,t.id+\".camera\"),i=n.get();function a(u,c,f,h){var d=[\"up\",\"center\",\"eye\"],v=[\"x\",\"y\",\"z\"];return c[d[f]]&&u[d[f]][v[h]]===c[d[f]][v[h]]}var o=!1;if(i===void 0)o=!0;else{for(var s=0;s<3;s++)for(var l=0;l<3;l++)if(!a(r,i,s,l)){o=!0;break}(!i.projection||r.projection&&r.projection.type!==i.projection.type)&&(o=!0)}return o};wv.isAspectChanged=function(e){var t=this,r=t.glplot.getAspectratio(),n=up.nestedProperty(e,t.id+\".aspectratio\"),i=n.get();return i===void 0||i.x!==r.x||i.y!==r.y||i.z!==r.z};wv.saveLayout=function(e){var t=this,r=t.fullLayout,n,i,a,o,s,l,u=t.isCameraChanged(e),c=t.isAspectChanged(e),f=u||c;if(f){var h={};if(u&&(n=t.getCamera(),i=up.nestedProperty(e,t.id+\".camera\"),a=i.get(),h[t.id+\".camera\"]=a),c&&(o=t.glplot.getAspectratio(),s=up.nestedProperty(e,t.id+\".aspectratio\"),l=s.get(),h[t.id+\".aspectratio\"]=l),JD.call(\"_storeDirectGUIEdit\",e,r._preGUI,h),u){i.set(n);var d=up.nestedProperty(r,t.id+\".camera\");d.set(n)}if(c){s.set(o);var v=up.nestedProperty(r,t.id+\".aspectratio\");v.set(o),t.glplot.redraw()}}return f};wv.updateFx=function(e,t){var r=this,n=r.camera;if(n)if(e===\"orbit\")n.mode=\"orbit\",n.keyBindingMode=\"rotate\";else if(e===\"turntable\"){n.up=[0,0,1],n.mode=\"turntable\",n.keyBindingMode=\"rotate\";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,u=o.up.z;if(u/Math.sqrt(s*s+l*l+u*u)<.999){var c=r.id+\".camera.up\",f={x:0,y:0,z:1},h={};h[c]=f;var d=i.layout;JD.call(\"_storeDirectGUIEdit\",d,a._preGUI,h),o.up=f,up.nestedProperty(d,c).set(f)}}else n.keyBindingMode=e;r.fullSceneLayout.hovermode=t};function RPt(e,t,r){for(var n=0,i=r-1;n<i;++n,--i)for(var a=0;a<t;++a)for(var o=0;o<4;++o){var s=4*(t*n+a)+o,l=4*(t*i+a)+o,u=e[s];e[s]=e[l],e[l]=u}}function DPt(e,t,r){for(var n=0;n<r;++n)for(var i=0;i<t;++i){var a=4*(t*n+i),o=e[a+3];if(o>0)for(var s=255/o,l=0;l<3;++l)e[a+l]=Math.min(s*e[a+l],255)}}wv.toImage=function(e){var t=this;e||(e=\"png\"),t.staticMode&&t.container.appendChild(HE),t.glplot.redraw();var r=t.glplot.gl,n=r.drawingBufferWidth,i=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var a=new Uint8Array(n*i*4);r.readPixels(0,0,n,i,r.RGBA,r.UNSIGNED_BYTE,a),RPt(a,n,i),DPt(a,n,i);var o=document.createElement(\"canvas\");o.width=n,o.height=i;var s=o.getContext(\"2d\",{willReadFrequently:!0}),l=s.createImageData(n,i);l.data.set(a),s.putImageData(l,0,0);var u;switch(e){case\"jpeg\":u=o.toDataURL(\"image/jpeg\");break;case\"webp\":u=o.toDataURL(\"image/webp\");break;default:u=o.toDataURL(\"image/png\")}return t.staticMode&&t.container.removeChild(HE),u};wv.setConvert=function(){for(var e=this,t=0;t<3;t++){var r=e.fullSceneLayout[GE[t]];$D.setConvert(r,e.fullLayout),r.setScale=up.noop}};wv.make4thDimension=function(){var e=this,t=e.graphDiv,r=t._fullLayout;e._mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},$D.setConvert(e._mockAxis,r)};gPe.exports=pPe});var _Pe=ye((Svr,yPe)=>{\"use strict\";yPe.exports={scene:{valType:\"subplotid\",dflt:\"scene\",editType:\"calc+clearAxisTypes\"}}});var mZ=ye((Mvr,xPe)=>{\"use strict\";var zPt=va(),cs=Cd(),gZ=no().extendFlat,FPt=Bu().overrideAll;xPe.exports=FPt({visible:cs.visible,showspikes:{valType:\"boolean\",dflt:!0},spikesides:{valType:\"boolean\",dflt:!0},spikethickness:{valType:\"number\",min:0,dflt:2},spikecolor:{valType:\"color\",dflt:zPt.defaultLine},showbackground:{valType:\"boolean\",dflt:!1},backgroundcolor:{valType:\"color\",dflt:\"rgba(204, 204, 204, 0.5)\"},showaxeslabels:{valType:\"boolean\",dflt:!0},color:cs.color,categoryorder:cs.categoryorder,categoryarray:cs.categoryarray,title:{text:cs.title.text,font:cs.title.font},type:gZ({},cs.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autotypenumbers:cs.autotypenumbers,autorange:cs.autorange,autorangeoptions:{minallowed:cs.autorangeoptions.minallowed,maxallowed:cs.autorangeoptions.maxallowed,clipmin:cs.autorangeoptions.clipmin,clipmax:cs.autorangeoptions.clipmax,include:cs.autorangeoptions.include,editType:\"plot\"},rangemode:cs.rangemode,minallowed:cs.minallowed,maxallowed:cs.maxallowed,range:gZ({},cs.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],anim:!1}),tickmode:cs.minor.tickmode,nticks:cs.nticks,tick0:cs.tick0,dtick:cs.dtick,tickvals:cs.tickvals,ticktext:cs.ticktext,ticks:cs.ticks,mirror:cs.mirror,ticklen:cs.ticklen,tickwidth:cs.tickwidth,tickcolor:cs.tickcolor,showticklabels:cs.showticklabels,labelalias:cs.labelalias,tickfont:cs.tickfont,tickangle:cs.tickangle,tickprefix:cs.tickprefix,showtickprefix:cs.showtickprefix,ticksuffix:cs.ticksuffix,showticksuffix:cs.showticksuffix,showexponent:cs.showexponent,exponentformat:cs.exponentformat,minexponent:cs.minexponent,separatethousands:cs.separatethousands,tickformat:cs.tickformat,tickformatstops:cs.tickformatstops,hoverformat:cs.hoverformat,showline:cs.showline,linecolor:cs.linecolor,linewidth:cs.linewidth,showgrid:cs.showgrid,gridcolor:gZ({},cs.gridcolor,{dflt:\"rgb(204, 204, 204)\"}),gridwidth:cs.gridwidth,zeroline:cs.zeroline,zerolinecolor:cs.zerolinecolor,zerolinewidth:cs.zerolinewidth},\"plot\",\"from-root\")});var bZ=ye((Evr,bPe)=>{\"use strict\";var yZ=mZ(),qPt=Ju().attributes,_Z=no().extendFlat,OPt=Mr().counterRegex;function xZ(e,t,r){return{x:{valType:\"number\",dflt:e,editType:\"camera\"},y:{valType:\"number\",dflt:t,editType:\"camera\"},z:{valType:\"number\",dflt:r,editType:\"camera\"},editType:\"camera\"}}bPe.exports={_arrayAttrRegexps:[OPt(\"scene\",\".annotations\",!0)],bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"plot\"},camera:{up:_Z(xZ(0,0,1),{}),center:_Z(xZ(0,0,0),{}),eye:_Z(xZ(1.25,1.25,1.25),{}),projection:{type:{valType:\"enumerated\",values:[\"perspective\",\"orthographic\"],dflt:\"perspective\",editType:\"calc\"},editType:\"calc\"},editType:\"camera\"},domain:qPt({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:yZ,yaxis:yZ,zaxis:yZ,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\"}});var SPe=ye((kvr,APe)=>{\"use strict\";var BPt=id().mix,wPe=Mr(),NPt=Vs(),UPt=mZ(),VPt=yU(),HPt=JM(),TPe=[\"xaxis\",\"yaxis\",\"zaxis\"],GPt=100*136/187;APe.exports=function(t,r,n){var i,a;function o(u,c){return wPe.coerce(i,a,UPt,u,c)}for(var s=0;s<TPe.length;s++){var l=TPe[s];i=t[l]||{},a=NPt.newContainer(r,l),a._id=l[0]+n.scene,a._name=l,VPt(i,a,o,n),HPt(i,a,o,{font:n.font,letter:l[0],data:n.data,showGrid:!0,noAutotickangles:!0,noTicklabelindex:!0,noTickson:!0,noTicklabelmode:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,noTicklabelstep:!0,noTicklabelposition:!0,noTicklabeloverflow:!0,noInsiderange:!0,bgColor:n.bgColor,calendar:n.calendar},n.fullLayout),o(\"gridcolor\",BPt(a.color,n.bgColor,GPt).toRgbString()),o(\"title.text\",l[0]),a.setScale=wPe.noop,o(\"showspikes\")&&(o(\"spikesides\"),o(\"spikethickness\"),o(\"spikecolor\",a.color)),o(\"showaxeslabels\"),o(\"showbackground\")&&o(\"backgroundcolor\")}}});var CPe=ye((Cvr,kPe)=>{\"use strict\";var jPt=Mr(),WPt=va(),ZPt=ba(),XPt=C_(),YPt=SPe(),MPe=bZ(),KPt=kd().getSubplotData,EPe=\"gl3d\";kPe.exports=function(t,r,n){var i=r._basePlotModules.length>1;function a(o){if(!i){var s=jPt.validate(t[o],MPe[o]);if(s)return t[o]}}XPt(t,r,n,{type:EPe,attributes:MPe,handleDefaults:JPt,fullLayout:r,font:r.font,fullData:n,getDfltFromLayout:a,autotypenumbersDflt:r.autotypenumbers,paper_bgcolor:r.paper_bgcolor,calendar:r.calendar})};function JPt(e,t,r,n){for(var i=r(\"bgcolor\"),a=WPt.combine(i,n.paper_bgcolor),o=[\"up\",\"center\",\"eye\"],s=0;s<o.length;s++)r(\"camera.\"+o[s]+\".x\"),r(\"camera.\"+o[s]+\".y\"),r(\"camera.\"+o[s]+\".z\");r(\"camera.projection.type\");var l=!!r(\"aspectratio.x\")&&!!r(\"aspectratio.y\")&&!!r(\"aspectratio.z\"),u=l?\"manual\":\"auto\",c=r(\"aspectmode\",u);l||(e.aspectratio=t.aspectratio={x:1,y:1,z:1},c===\"manual\"&&(t.aspectmode=\"auto\"),e.aspectmode=t.aspectmode);var f=KPt(n.fullData,EPe,n.id);YPt(e,t,{font:n.font,scene:n.id,data:f,bgColor:a,calendar:n.calendar,autotypenumbersDflt:n.autotypenumbersDflt,fullLayout:n.fullLayout}),ZPt.getComponentMethod(\"annotations3d\",\"handleDefaults\")(e,t,n);var h=n.getDfltFromLayout(\"dragmode\");if(h!==!1&&!h)if(h=\"orbit\",e.camera&&e.camera.up){var d=e.camera.up.x,v=e.camera.up.y,x=e.camera.up.z;x!==0&&(!d||!v||!x||x/Math.sqrt(d*d+v*v+x*x)>.999)&&(h=\"turntable\")}else h=\"turntable\";r(\"dragmode\",h),r(\"hovermode\",n.getDfltFromLayout(\"hovermode\"))}});var Q_=ye(cp=>{\"use strict\";var $Pt=Bu().overrideAll,QPt=N1(),eIt=mPe(),tIt=kd().getSubplotData,rIt=Mr(),iIt=Zp(),O5=\"gl3d\",wZ=\"scene\";cp.name=O5;cp.attr=wZ;cp.idRoot=wZ;cp.idRegex=cp.attrRegex=rIt.counterRegex(\"scene\");cp.attributes=_Pe();cp.layoutAttributes=bZ();cp.baseLayoutAttrOverrides=$Pt({hoverlabel:QPt.hoverlabel},\"plot\",\"nested\");cp.supplyLayoutDefaults=CPe();cp.plot=function(t){for(var r=t._fullLayout,n=t._fullData,i=r._subplots[O5],a=0;a<i.length;a++){var o=i[a],s=tIt(n,O5,o),l=r[o],u=l.camera,c=l._scene;c||(c=new eIt({id:o,graphDiv:t,container:t.querySelector(\".gl-container\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio,camera:u},r),l._scene=c),c.viewInitial||(c.viewInitial={up:{x:u.up.x,y:u.up.y,z:u.up.z},eye:{x:u.eye.x,y:u.eye.y,z:u.eye.z},center:{x:u.center.x,y:u.center.y,z:u.center.z}}),c.plot(s,r,t.layout)}};cp.clean=function(e,t,r,n){for(var i=n._subplots[O5]||[],a=0;a<i.length;a++){var o=i[a];!t[o]&&n[o]._scene&&(n[o]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(\".annotation-\"+o).remove())}};cp.toSVG=function(e){for(var t=e._fullLayout,r=t._subplots[O5],n=t._size,i=0;i<r.length;i++){var a=t[r[i]],o=a.domain,s=a._scene,l=s.toImage(\"png\"),u=t._glimages.append(\"svg:image\");u.attr({xmlns:iIt.svg,\"xlink:href\":l,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"}),s.destroy()}};cp.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var r=t.substr(5);return r===\"1\"&&(r=\"\"),wZ+r}};cp.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[O5],n=0;n<r.length;n++){var i=t[r[n]]._scene;i.updateFx(t.dragmode,t.hovermode)}}});var PPe=ye((Pvr,LPe)=>{\"use strict\";LPe.exports={plot:ULe(),attributes:dZ(),markerSymbols:ZD(),supplyDefaults:ZLe(),colorbar:[{container:\"marker\",min:\"cmin\",max:\"cmax\"},{container:\"line\",min:\"cmin\",max:\"cmax\"}],calc:YLe(),moduleType:\"trace\",name:\"scatter3d\",basePlotModule:Q_(),categories:[\"gl3d\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var RPe=ye((Ivr,IPe)=>{\"use strict\";IPe.exports=PPe()});var jE=ye((Rvr,FPe)=>{\"use strict\";var DPe=va(),nIt=Jl(),TZ=Oc().axisHoverFormat,aIt=Wo().hovertemplateAttrs,zPe=vl(),AZ=no().extendFlat,oIt=Bu().overrideAll;function SZ(e){return{valType:\"boolean\",dflt:!1}}function MZ(e){return{show:{valType:\"boolean\",dflt:!1},start:{valType:\"number\",dflt:null,editType:\"plot\"},end:{valType:\"number\",dflt:null,editType:\"plot\"},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\"},project:{x:SZ(\"x\"),y:SZ(\"y\"),z:SZ(\"z\")},color:{valType:\"color\",dflt:DPe.defaultLine},usecolormap:{valType:\"boolean\",dflt:!1},width:{valType:\"number\",min:1,max:16,dflt:2},highlight:{valType:\"boolean\",dflt:!0},highlightcolor:{valType:\"color\",dflt:DPe.defaultLine},highlightwidth:{valType:\"number\",min:1,max:16,dflt:2}}}var EZ=FPe.exports=oIt(AZ({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:aIt(),xhoverformat:TZ(\"x\"),yhoverformat:TZ(\"y\"),zhoverformat:TZ(\"z\"),connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},surfacecolor:{valType:\"data_array\"}},nIt(\"\",{colorAttr:\"z or surfacecolor\",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:\"calc\"}),{contours:{x:MZ(\"x\"),y:MZ(\"y\"),z:MZ(\"z\")},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\"},hoverinfo:AZ({},zPe.hoverinfo),showlegend:AZ({},zPe.showlegend,{dflt:!1})}),\"calc\",\"nested\");EZ.x.editType=EZ.y.editType=EZ.z.editType=\"calc+clearAxisTypes\"});var CZ=ye((Dvr,BPe)=>{\"use strict\";var sIt=ba(),qPe=Mr(),lIt=Uh(),uIt=jE(),kZ=.1;function cIt(e,t){for(var r=[],n=32,i=0;i<n;i++){var a=i/(n-1),o=t+(1-t)*(1-Math.pow(Math.sin(e*a*Math.PI),2));r.push([a,Math.max(0,Math.min(1,o))])}return r}function fIt(e){var t=0;if(!Array.isArray(e)||e.length<2||!e[0]||!e[e.length-1]||+e[0][0]!=0||+e[e.length-1][0]!=1)return!1;for(var r=0;r<e.length;r++){var n=e[r];if(n.length!==2||+n[0]<t)return!1;t=+n[0]}return!0}function hIt(e,t,r,n){var i,a;function o(b,p){return qPe.coerce(e,t,uIt,b,p)}var s=o(\"x\"),l=o(\"y\"),u=o(\"z\");if(!u||!u.length||s&&s.length<1||l&&l.length<1){t.visible=!1;return}t._xlength=Array.isArray(s)&&qPe.isArrayOrTypedArray(s[0])?u.length:u[0].length,t._ylength=u.length;var c=sIt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");c(e,t,[\"x\",\"y\",\"z\"],n),o(\"text\"),o(\"hovertext\"),o(\"hovertemplate\"),o(\"xhoverformat\"),o(\"yhoverformat\"),o(\"zhoverformat\"),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"hidesurface\",\"connectgaps\",\"opacity\"].forEach(function(b){o(b)});var f=o(\"surfacecolor\"),h=[\"x\",\"y\",\"z\"];for(i=0;i<3;++i){var d=\"contours.\"+h[i],v=o(d+\".show\"),x=o(d+\".highlight\");if(v||x)for(a=0;a<3;++a)o(d+\".project.\"+h[a]);v&&(o(d+\".color\"),o(d+\".width\"),o(d+\".usecolormap\")),x&&(o(d+\".highlightcolor\"),o(d+\".highlightwidth\")),o(d+\".start\"),o(d+\".end\"),o(d+\".size\")}lIt(e,t,n,o,{prefix:\"\",cLetter:\"c\"}),OPe(e,t,n,o),t._length=null}function OPe(e,t,r,n){var i=n(\"opacityscale\");i===\"max\"?t.opacityscale=[[0,kZ],[1,1]]:i===\"min\"?t.opacityscale=[[0,1],[1,kZ]]:i===\"extremes\"?t.opacityscale=cIt(1,kZ):fIt(i)||(t.opacityscale=void 0)}BPe.exports={supplyDefaults:hIt,opacityscaleDefaults:OPe}});var VPe=ye((zvr,UPe)=>{\"use strict\";var NPe=zv();UPe.exports=function(t,r){r.surfacecolor?NPe(t,r,{vals:r.surfacecolor,containerStr:\"\",cLetter:\"c\"}):NPe(t,r,{vals:r.z,containerStr:\"\",cLetter:\"c\"})}});var XPe=ye((Fvr,ZPe)=>{\"use strict\";var dIt=Rd().gl_surface3d,B5=Rd().ndarray,vIt=Rd().ndarray_linear_interpolate.d2,pIt=e8(),gIt=t8(),WE=Mr().isArrayOrTypedArray,mIt=$y().parseColorScale,HPe=Jy(),yIt=Mu().extractOpts;function jPe(e,t,r){this.scene=e,this.uid=r,this.surface=t,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var Jg=jPe.prototype;Jg.getXat=function(e,t,r,n){var i=WE(this.data.x)?WE(this.data.x[0])?this.data.x[t][e]:this.data.x[e]:e;return r===void 0?i:n.d2l(i,0,r)};Jg.getYat=function(e,t,r,n){var i=WE(this.data.y)?WE(this.data.y[0])?this.data.y[t][e]:this.data.y[t]:t;return r===void 0?i:n.d2l(i,0,r)};Jg.getZat=function(e,t,r,n){var i=this.data.z[t][e];return i===null&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[t][e]),r===void 0?i:n.d2l(i,0,r)};Jg.handlePick=function(e){if(e.object===this.surface){var t=(e.data.index[0]-1)/this.dataScaleX-1,r=(e.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(t),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);e.index=[n,i],e.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],e.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){var o=e.dataCoordinate[a];o!=null&&(e.dataCoordinate[a]*=this.scene.dataScale[a])}var s=this.data.hovertext||this.data.text;return WE(s)&&s[i]&&s[i][n]!==void 0?e.textLabel=s[i][n]:s?e.textLabel=s:e.textLabel=\"\",e.data.dataCoordinate=e.dataCoordinate.slice(),this.surface.highlight(e.data),this.scene.glplot.spikes.position=e.dataCoordinate,!0}};function _It(e){var t=e[0].rgb,r=e[e.length-1].rgb;return t[0]===r[0]&&t[1]===r[1]&&t[2]===r[2]&&t[3]===r[3]}var N5=[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 xIt(e,t){if(e<t)return 0;for(var r=0;Math.floor(e%t)===0;)e/=t,r++;return r}function LZ(e){for(var t=[],r=0;r<N5.length;r++){var n=N5[r];t.push(xIt(e,n))}return t}function bIt(e){for(var t=LZ(e),r=e,n=0;n<N5.length;n++)if(t[n]>0){r=N5[n];break}return r}function wIt(e,t){if(!(e<1||t<1)){for(var r=LZ(e),n=LZ(t),i=1,a=0;a<N5.length;a++)i*=Math.pow(N5[a],Math.max(r[a],n[a]));return i}}function TIt(e){if(e.length!==0){for(var t=1,r=0;r<e.length;r++)t=wIt(t,e[r]);return t}}Jg.calcXnums=function(e){var t,r=[];for(t=1;t<e;t++){var n=this.getXat(t-1,0),i=this.getXat(t,0);i!==n&&n!==void 0&&n!==null&&i!==void 0&&i!==null?r[t-1]=Math.abs(i-n):r[t-1]=0}var a=0;for(t=1;t<e;t++)a+=r[t-1];for(t=1;t<e;t++)r[t-1]===0?r[t-1]=1:r[t-1]=Math.round(a/r[t-1]);return r};Jg.calcYnums=function(e){var t,r=[];for(t=1;t<e;t++){var n=this.getYat(0,t-1),i=this.getYat(0,t);i!==n&&n!==void 0&&n!==null&&i!==void 0&&i!==null?r[t-1]=Math.abs(i-n):r[t-1]=0}var a=0;for(t=1;t<e;t++)a+=r[t-1];for(t=1;t<e;t++)r[t-1]===0?r[t-1]=1:r[t-1]=Math.round(a/r[t-1]);return r};var WPe=[1,2,4,6,12,24,36,48,60,120,180,240,360,720,840,1260],GPe=WPe[9],QD=WPe[13];Jg.estimateScale=function(e,t){for(var r=t===0?this.calcXnums(e):this.calcYnums(e),n=1+TIt(r);n<GPe;)n*=2;for(;n>QD;)n--,n/=bIt(n),n++,n<GPe&&(n=QD);var i=Math.round(n/e);return i>1?i:1};function AIt(e,t,r){var n=r[8]+r[2]*t[0]+r[5]*t[1];return e[0]=(r[6]+r[0]*t[0]+r[3]*t[1])/n,e[1]=(r[7]+r[1]*t[0]+r[4]*t[1])/n,e}function SIt(e,t,r){return MIt(e,t,AIt,r),e}function MIt(e,t,r,n){for(var i=[0,0],a=e.shape[0],o=e.shape[1],s=0;s<a;s++)for(var l=0;l<o;l++)r(i,[s,l],n),e.set(s,l,vIt(t,i[0],i[1]));return e}Jg.refineCoords=function(e){for(var t=this.dataScaleX,r=this.dataScaleY,n=e[0].shape[0],i=e[0].shape[1],a=Math.floor(e[0].shape[0]*t+1)|0,o=Math.floor(e[0].shape[1]*r+1)|0,s=1+n+1,l=1+i+1,u=B5(new Float32Array(s*l),[s,l]),c=[1/t,0,0,0,1/r,0,0,0,1],f=0;f<e.length;++f){this.surface.padField(u,e[f]);var h=B5(new Float32Array(a*o),[a,o]);SIt(h,u,c),e[f]=h}};function EIt(e,t){for(var r=!1,n=0;n<e.length;n++)if(t===e[n]){r=!0;break}r===!1&&e.push(t)}Jg.setContourLevels=function(){var e=[[],[],[]],t=[!1,!1,!1],r=!1,n,i,a;for(n=0;n<3;++n)if(this.showContour[n]&&(r=!0,this.contourSize[n]>0&&this.contourStart[n]!==null&&this.contourEnd[n]!==null&&this.contourEnd[n]>this.contourStart[n]))for(t[n]=!0,i=this.contourStart[n];i<this.contourEnd[n];i+=this.contourSize[n])a=i*this.scene.dataScale[n],EIt(e[n],a);if(r){var o=[[],[],[]];for(n=0;n<3;++n)this.showContour[n]&&(o[n]=t[n]?e[n]:this.scene.contourLevels[n]);this.surface.update({levels:o})}};Jg.update=function(e){var t=this.scene,r=t.fullSceneLayout,n=this.surface,i=mIt(e),a=t.dataScale,o=e.z[0].length,s=e._ylength,l=t.contourLevels;this.data=e;var u,c,f,h,d=[];for(u=0;u<3;u++)for(d[u]=[],c=0;c<o;c++)d[u][c]=[];for(c=0;c<o;c++)for(f=0;f<s;f++)d[0][c][f]=this.getXat(c,f,e.xcalendar,r.xaxis),d[1][c][f]=this.getYat(c,f,e.ycalendar,r.yaxis),d[2][c][f]=this.getZat(c,f,e.zcalendar,r.zaxis);if(e.connectgaps)for(e._emptypoints=gIt(d[2]),pIt(d[2],e._emptypoints),e._interpolatedZ=[],c=0;c<o;c++)for(e._interpolatedZ[c]=[],f=0;f<s;f++)e._interpolatedZ[c][f]=d[2][c][f];for(u=0;u<3;u++)for(c=0;c<o;c++)for(f=0;f<s;f++)h=d[u][c][f],h==null?d[u][c][f]=NaN:h=d[u][c][f]*=a[u];for(u=0;u<3;u++)for(c=0;c<o;c++)for(f=0;f<s;f++)h=d[u][c][f],h!=null&&(this.minValues[u]>h&&(this.minValues[u]=h),this.maxValues[u]<h&&(this.maxValues[u]=h));for(u=0;u<3;u++)this.objectOffset[u]=.5*(this.minValues[u]+this.maxValues[u]);for(u=0;u<3;u++)for(c=0;c<o;c++)for(f=0;f<s;f++)h=d[u][c][f],h!=null&&(d[u][c][f]-=this.objectOffset[u]);var v=[B5(new Float32Array(o*s),[o,s]),B5(new Float32Array(o*s),[o,s]),B5(new Float32Array(o*s),[o,s])];for(u=0;u<3;u++)for(c=0;c<o;c++)for(f=0;f<s;f++)v[u].set(c,f,d[u][c][f]);d=[];var x={colormap:i,levels:[[],[],[]],showContour:[!0,!0,!0],showSurface:!e.hidesurface,contourProject:[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],contourWidth:[1,1,1],contourColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],contourTint:[1,1,1],dynamicColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],dynamicWidth:[1,1,1],dynamicTint:[1,1,1],opacityscale:e.opacityscale,opacity:e.opacity},b=yIt(e);if(x.intensityBounds=[b.min,b.max],e.surfacecolor){var p=B5(new Float32Array(o*s),[o,s]);for(c=0;c<o;c++)for(f=0;f<s;f++)p.set(c,f,e.surfacecolor[f][c]);v.push(p)}else x.intensityBounds[0]*=a[2],x.intensityBounds[1]*=a[2];(QD<v[0].shape[0]||QD<v[0].shape[1])&&(this.refineData=!1),this.refineData===!0&&(this.dataScaleX=this.estimateScale(v[0].shape[0],0),this.dataScaleY=this.estimateScale(v[0].shape[1],1),(this.dataScaleX!==1||this.dataScaleY!==1)&&this.refineCoords(v)),e.surfacecolor&&(x.intensity=v.pop());var E=[!0,!0,!0],k=[\"x\",\"y\",\"z\"];for(u=0;u<3;++u){var A=e.contours[k[u]];E[u]=A.highlight,x.showContour[u]=A.show||A.highlight,x.showContour[u]&&(x.contourProject[u]=[A.project.x,A.project.y,A.project.z],A.show?(this.showContour[u]=!0,x.levels[u]=l[u],n.highlightColor[u]=x.contourColor[u]=HPe(A.color),A.usecolormap?n.highlightTint[u]=x.contourTint[u]=0:n.highlightTint[u]=x.contourTint[u]=1,x.contourWidth[u]=A.width,this.contourStart[u]=A.start,this.contourEnd[u]=A.end,this.contourSize[u]=A.size):(this.showContour[u]=!1,this.contourStart[u]=null,this.contourEnd[u]=null,this.contourSize[u]=0),A.highlight&&(x.dynamicColor[u]=HPe(A.highlightcolor),x.dynamicWidth[u]=A.highlightwidth))}_It(i)&&(x.vertexColor=!0),x.objectOffset=this.objectOffset,x.coords=v,n.update(x),n.visible=e.visible,n.enableDynamic=E,n.enableHighlight=E,n.snapToData=!0,\"lighting\"in e&&(n.ambientLight=e.lighting.ambient,n.diffuseLight=e.lighting.diffuse,n.specularLight=e.lighting.specular,n.roughness=e.lighting.roughness,n.fresnel=e.lighting.fresnel),\"lightposition\"in e&&(n.lightPosition=[e.lightposition.x,e.lightposition.y,e.lightposition.z])};Jg.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()};function kIt(e,t){var r=e.glplot.gl,n=dIt({gl:r}),i=new jPe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}ZPe.exports=kIt});var KPe=ye((qvr,YPe)=>{\"use strict\";YPe.exports={attributes:jE(),supplyDefaults:CZ().supplyDefaults,colorbar:{min:\"cmin\",max:\"cmax\"},calc:VPe(),plot:XPe(),moduleType:\"trace\",name:\"surface\",basePlotModule:Q_(),categories:[\"gl3d\",\"2dMap\",\"showLegend\"],meta:{}}});var $Pe=ye((Ovr,JPe)=>{\"use strict\";JPe.exports=KPe()});var U5=ye((Bvr,eIe)=>{\"use strict\";var CIt=Jl(),PZ=Oc().axisHoverFormat,LIt=Wo().hovertemplateAttrs,ex=jE(),QPe=vl(),tx=no().extendFlat;eIe.exports=tx({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:LIt({editType:\"calc\"}),xhoverformat:PZ(\"x\"),yhoverformat:PZ(\"y\"),zhoverformat:PZ(\"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\"}},CIt(\"\",{colorAttr:\"`intensity`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:ex.opacity,flatshading:{valType:\"boolean\",dflt:!1,editType:\"calc\"},contour:{show:tx({},ex.contours.x.show,{}),color:ex.contours.x.color,width:ex.contours.x.width,editType:\"calc\"},lightposition:{x:tx({},ex.lightposition.x,{dflt:1e5}),y:tx({},ex.lightposition.y,{dflt:1e5}),z:tx({},ex.lightposition.z,{dflt:0}),editType:\"calc\"},lighting:tx({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\"},ex.lighting),hoverinfo:tx({},QPe.hoverinfo,{editType:\"calc\"}),showlegend:tx({},QPe.showlegend,{dflt:!1})})});var tz=ye((Nvr,rIe)=>{\"use strict\";var PIt=Jl(),ez=Oc().axisHoverFormat,IIt=Wo().hovertemplateAttrs,ZE=U5(),tIe=vl(),IZ=no().extendFlat,RIt=Bu().overrideAll;function RZ(e){return{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}}}function DZ(e){return{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}}}var V5=rIe.exports=RIt(IZ({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:RZ(\"x\"),y:RZ(\"y\"),z:RZ(\"z\")},caps:{x:DZ(\"x\"),y:DZ(\"y\"),z:DZ(\"z\")},text:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertemplate:IIt(),xhoverformat:ez(\"x\"),yhoverformat:ez(\"y\"),zhoverformat:ez(\"z\"),valuehoverformat:ez(\"value\",1),showlegend:IZ({},tIe.showlegend,{dflt:!1})},PIt(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:ZE.opacity,lightposition:ZE.lightposition,lighting:ZE.lighting,flatshading:ZE.flatshading,contour:ZE.contour,hoverinfo:IZ({},tIe.hoverinfo)}),\"calc\",\"nested\");V5.flatshading.dflt=!0;V5.lighting.facenormalsepsilon.dflt=0;V5.x.editType=V5.y.editType=V5.z.editType=V5.value.editType=\"calc+clearAxisTypes\"});var zZ=ye((Uvr,nIe)=>{\"use strict\";var DIt=Mr(),zIt=ba(),FIt=tz(),qIt=Uh();function OIt(e,t,r,n){function i(a,o){return DIt.coerce(e,t,FIt,a,o)}iIe(e,t,r,n,i)}function iIe(e,t,r,n,i){var a=i(\"isomin\"),o=i(\"isomax\");o!=null&&a!==void 0&&a!==null&&a>o&&(t.isomin=null,t.isomax=null);var s=i(\"x\"),l=i(\"y\"),u=i(\"z\"),c=i(\"value\");if(!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length){t.visible=!1;return}var f=zIt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");f(e,t,[\"x\",\"y\",\"z\"],n),i(\"valuehoverformat\"),[\"x\",\"y\",\"z\"].forEach(function(x){i(x+\"hoverformat\");var b=\"caps.\"+x,p=i(b+\".show\");p&&i(b+\".fill\");var E=\"slices.\"+x,k=i(E+\".show\");k&&(i(E+\".fill\"),i(E+\".locations\"))});var h=i(\"spaceframe.show\");h&&i(\"spaceframe.fill\");var d=i(\"surface.show\");d&&(i(\"surface.count\"),i(\"surface.fill\"),i(\"surface.pattern\"));var v=i(\"contour.show\");v&&(i(\"contour.color\"),i(\"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(x){i(x)}),qIt(e,t,n,i,{prefix:\"\",cLetter:\"c\"}),t._length=null}nIe.exports={supplyDefaults:OIt,supplyIsoDefaults:iIe}});var rz=ye((Vvr,oIe)=>{\"use strict\";var qZ=Mr(),BIt=zv();function NIt(e,t){t._len=Math.min(t.u.length,t.v.length,t.w.length,t.x.length,t.y.length,t.z.length),t._u=Gm(t.u,t._len),t._v=Gm(t.v,t._len),t._w=Gm(t.w,t._len),t._x=Gm(t.x,t._len),t._y=Gm(t.y,t._len),t._z=Gm(t.z,t._len);var r=aIe(t);t._gridFill=r.fill,t._Xs=r.Xs,t._Ys=r.Ys,t._Zs=r.Zs,t._len=r.len;var n=0,i,a,o;t.starts&&(i=Gm(t.starts.x||[]),a=Gm(t.starts.y||[]),o=Gm(t.starts.z||[]),n=Math.min(i.length,a.length,o.length)),t._startsX=i||[],t._startsY=a||[],t._startsZ=o||[];var s=0,l=1/0,u;for(u=0;u<t._len;u++){var c=t._u[u],f=t._v[u],h=t._w[u],d=Math.sqrt(c*c+f*f+h*h);s=Math.max(s,d),l=Math.min(l,d)}for(BIt(e,t,{vals:[l,s],containerStr:\"\",cLetter:\"c\"}),u=0;u<n;u++){var v=i[u];r.xMax=Math.max(r.xMax,v),r.xMin=Math.min(r.xMin,v);var x=a[u];r.yMax=Math.max(r.yMax,x),r.yMin=Math.min(r.yMin,x);var b=o[u];r.zMax=Math.max(r.zMax,b),r.zMin=Math.min(r.zMin,b)}t._slen=n,t._normMax=s,t._xbnds=[r.xMin,r.xMax],t._ybnds=[r.yMin,r.yMax],t._zbnds=[r.zMin,r.zMax]}function aIe(e){var t=e._x,r=e._y,n=e._z,i=e._len,a,o,s,l=-1/0,u=1/0,c=-1/0,f=1/0,h=-1/0,d=1/0,v=\"\",x,b,p,E,k,A,L,_,C;for(i&&(E=t[0],A=r[0],_=n[0]),i>1&&(k=t[i-1],L=r[i-1],C=n[i-1]),a=0;a<i;a++)l=Math.max(l,t[a]),u=Math.min(u,t[a]),c=Math.max(c,r[a]),f=Math.min(f,r[a]),h=Math.max(h,n[a]),d=Math.min(d,n[a]),!x&&t[a]!==E&&(x=!0,v+=\"x\"),!b&&r[a]!==A&&(b=!0,v+=\"y\"),!p&&n[a]!==_&&(p=!0,v+=\"z\");x||(v+=\"x\"),b||(v+=\"y\"),p||(v+=\"z\");var M=FZ(e._x),g=FZ(e._y),P=FZ(e._z);v=v.replace(\"x\",(E>k?\"-\":\"+\")+\"x\"),v=v.replace(\"y\",(A>L?\"-\":\"+\")+\"y\"),v=v.replace(\"z\",(_>C?\"-\":\"+\")+\"z\");var T=function(){i=0,M=[],g=[],P=[]};(!i||i<M.length*g.length*P.length)&&T();var F=function(ze){return ze===\"x\"?t:ze===\"y\"?r:n},q=function(ze){return ze===\"x\"?M:ze===\"y\"?g:P},V=function(ze){return ze[i-1]<ze[0]?-1:1},H=F(v[1]),X=F(v[3]),G=F(v[5]),N=q(v[1]).length,W=q(v[3]).length,re=q(v[5]).length,ae=!1,_e=function(ze,Ce,me){return N*(W*ze+Ce)+me},Me=V(F(v[1])),ke=V(F(v[3])),ge=V(F(v[5]));for(a=0;a<re-1;a++){for(o=0;o<W-1;o++){for(s=0;s<N-1;s++){var ie=_e(a,o,s),Te=_e(a,o,s+1),Ee=_e(a,o+1,s),Ae=_e(a+1,o,s);if((!(H[ie]*Me<H[Te]*Me)||!(X[ie]*ke<X[Ee]*ke)||!(G[ie]*ge<G[Ae]*ge))&&(ae=!0),ae)break}if(ae)break}if(ae)break}return ae&&(qZ.warn(\"Encountered arbitrary coordinates! Unable to input data grid.\"),T()),{xMin:u,yMin:f,zMin:d,xMax:l,yMax:c,zMax:h,Xs:M,Ys:g,Zs:P,len:i,fill:v}}function FZ(e){return qZ.distinctVals(e).vals}function Gm(e,t){if(t===void 0&&(t=e.length),qZ.isTypedArray(e))return e.subarray(0,t);for(var r=[],n=0;n<t;n++)r[n]=+e[n];return r}oIe.exports={calc:NIt,filter:Gm,processGrid:aIe}});var OZ=ye((Hvr,sIe)=>{\"use strict\";var UIt=zv(),VIt=rz().processGrid,iz=rz().filter;sIe.exports=function(t,r){r._len=Math.min(r.x.length,r.y.length,r.z.length,r.value.length),r._x=iz(r.x,r._len),r._y=iz(r.y,r._len),r._z=iz(r.z,r._len),r._value=iz(r.value,r._len);var n=VIt(r);r._gridFill=n.fill,r._Xs=n.Xs,r._Ys=n.Ys,r._Zs=n.Zs,r._len=n.len;for(var i=1/0,a=-1/0,o=0;o<r._len;o++){var s=r._value[o];i=Math.min(i,s),a=Math.max(a,s)}r._minValues=i,r._maxValues=a,r._vMin=r.isomin===void 0||r.isomin===null?i:r.isomin,r._vMax=r.isomax===void 0||r.isomax===null?a:r.isomax,UIt(t,r,{vals:[r._vMin,r._vMax],containerStr:\"\",cLetter:\"c\"})}});var H5=ye((Gvr,lIe)=>{\"use strict\";lIe.exports=function(t,r,n,i){i=i||t.length;for(var a=new Array(i),o=0;o<i;o++)a[o]=[t[o],r[o],n[o]];return a}});var nz=ye((jvr,hIe)=>{\"use strict\";var HIt=Rd().gl_mesh3d,GIt=$y().parseColorScale,jIt=Mr().isArrayOrTypedArray,WIt=Jy(),ZIt=Mu().extractOpts,uIe=H5(),XE=function(e,t){for(var r=t.length-1;r>0;r--){var n=Math.min(t[r],t[r-1]),i=Math.max(t[r],t[r-1]);if(i>n&&n<e&&e<=i)return{id:r,distRatio:(i-e)/(i-n)}}return{id:0,distRatio:0}};function cIe(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name=\"\",this.data=null,this.showContour=!1}var BZ=cIe.prototype;BZ.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],i=this.data._meshZ[t],a=this.data._Ys.length,o=this.data._Zs.length,s=XE(r,this.data._Xs).id,l=XE(n,this.data._Ys).id,u=XE(i,this.data._Zs).id,c=e.index=u+o*l+o*a*s;e.traceCoordinate=[this.data._meshX[c],this.data._meshY[c],this.data._meshZ[c],this.data._value[c]];var f=this.data.hovertext||this.data.text;return jIt(f)&&f[c]!==void 0?e.textLabel=f[c]:f&&(e.textLabel=f),!0}};BZ.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=fIe(e);function n(l,u,c,f){return u.map(function(h){return l.d2l(h,0,f)*c})}var i=uIe(n(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),n(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),n(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),a=uIe(e._meshI,e._meshJ,e._meshK),o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,contourEnable:e.contour.show,contourColor:WIt(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},s=ZIt(e);o.vertexIntensity=e._meshIntensity,o.vertexIntensityBounds=[s.min,s.max],o.colormap=GIt(e),this.mesh.update(o)};BZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};var XIt=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"];function fIe(e){e._meshI=[],e._meshJ=[],e._meshK=[];var t=e.surface.show,r=e.spaceframe.show,n=e.surface.fill,i=e.spaceframe.fill,a=!1,o=!1,s=0,l,u,c=e._Xs,f=e._Ys,h=e._Zs,d=c.length,v=f.length,x=h.length,b=XIt.indexOf(e._gridFill.replace(/-/g,\"\").replace(/\\+/g,\"\")),p=function(bt,Lt,St){switch(b){case 5:return St+x*Lt+x*v*bt;case 4:return St+x*bt+x*d*Lt;case 3:return Lt+v*St+v*x*bt;case 2:return Lt+v*bt+v*d*St;case 1:return bt+d*St+d*x*Lt;default:return bt+d*Lt+d*v*St}},E=e._minValues,k=e._maxValues,A=e._vMin,L=e._vMax,_,C,M,g;function P(bt,Lt,St){for(var Et=g.length,dt=u;dt<Et;dt++)if(bt===_[dt]&&Lt===C[dt]&&St===M[dt])return dt;return-1}function T(){u=l}function F(){_=[],C=[],M=[],g=[],l=0,T()}function q(bt,Lt,St,Et){return _.push(bt),C.push(Lt),M.push(St),g.push(Et),l++,l-1}function V(bt,Lt,St){return e._meshI.push(bt),e._meshJ.push(Lt),e._meshK.push(St),s++,s-1}function H(bt,Lt,St){for(var Et=[],dt=0;dt<bt.length;dt++)Et[dt]=(bt[dt]+Lt[dt]+St[dt])/3;return Et}function X(bt,Lt,St){for(var Et=[],dt=0;dt<bt.length;dt++)Et[dt]=bt[dt]*(1-St)+St*Lt[dt];return Et}var G;function N(bt){G=bt}function W(bt,Lt){var St=bt[0],Et=bt[1],dt=bt[2],Ht=H(St,Et,dt),$t=Math.sqrt(1-G),fr=X(Ht,St,$t),_r=X(Ht,Et,$t),Br=X(Ht,dt,$t),Or=Lt[0],Nr=Lt[1],ut=Lt[2];return{xyzv:[[St,Et,_r],[_r,fr,St],[Et,dt,Br],[Br,_r,Et],[dt,St,fr],[fr,Br,dt]],abc:[[Or,Nr,-1],[-1,-1,Or],[Nr,ut,-1],[-1,-1,Nr],[ut,Or,-1],[-1,-1,ut]]}}function re(bt,Lt){return bt===\"all\"||bt===null?!0:bt.indexOf(Lt)>-1}function ae(bt,Lt){return bt===null?Lt:bt}function _e(bt,Lt,St){T();var Et=[Lt],dt=[St];if(G>=1)Et=[Lt],dt=[St];else if(G>0){var Ht=W(Lt,St);Et=Ht.xyzv,dt=Ht.abc}for(var $t=0;$t<Et.length;$t++){Lt=Et[$t],St=dt[$t];for(var fr=[],_r=0;_r<3;_r++){var Br=Lt[_r][0],Or=Lt[_r][1],Nr=Lt[_r][2],ut=Lt[_r][3],Ne=St[_r]>-1?St[_r]:P(Br,Or,Nr);Ne>-1?fr[_r]=Ne:fr[_r]=q(Br,Or,Nr,ae(bt,ut))}V(fr[0],fr[1],fr[2])}}function Me(bt,Lt,St){var Et=function(dt,Ht,$t){_e(bt,[Lt[dt],Lt[Ht],Lt[$t]],[St[dt],St[Ht],St[$t]])};Et(0,1,2),Et(2,3,0)}function ke(bt,Lt,St){var Et=function(dt,Ht,$t){_e(bt,[Lt[dt],Lt[Ht],Lt[$t]],[St[dt],St[Ht],St[$t]])};Et(0,1,2),Et(3,0,1),Et(2,3,0),Et(1,2,3)}function ge(bt,Lt,St,Et){var dt=bt[3];dt<St&&(dt=St),dt>Et&&(dt=Et);for(var Ht=(bt[3]-dt)/(bt[3]-Lt[3]+1e-9),$t=[],fr=0;fr<4;fr++)$t[fr]=(1-Ht)*bt[fr]+Ht*Lt[fr];return $t}function ie(bt,Lt,St){return bt>=Lt&&bt<=St}function Te(bt){var Lt=.001*(L-A);return bt>=A-Lt&&bt<=L+Lt}function Ee(bt){for(var Lt=[],St=0;St<4;St++){var Et=bt[St];Lt.push([e._x[Et],e._y[Et],e._z[Et],e._value[Et]])}return Lt}var Ae=3;function ze(bt,Lt,St,Et,dt,Ht){Ht||(Ht=1),St=[-1,-1,-1];var $t=!1,fr=[ie(Lt[0][3],Et,dt),ie(Lt[1][3],Et,dt),ie(Lt[2][3],Et,dt)];if(!fr[0]&&!fr[1]&&!fr[2])return!1;var _r=function(Or,Nr,ut){return Te(Nr[0][3])&&Te(Nr[1][3])&&Te(Nr[2][3])?(_e(Or,Nr,ut),!0):Ht<Ae?ze(Or,Nr,ut,A,L,++Ht):!1};if(fr[0]&&fr[1]&&fr[2])return _r(bt,Lt,St)||$t;var Br=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach(function(Or){if(fr[Or[0]]&&fr[Or[1]]&&!fr[Or[2]]){var Nr=Lt[Or[0]],ut=Lt[Or[1]],Ne=Lt[Or[2]],Ye=ge(Ne,Nr,Et,dt),Ve=ge(Ne,ut,Et,dt);$t=_r(bt,[Ve,Ye,Nr],[-1,-1,St[Or[0]]])||$t,$t=_r(bt,[Nr,ut,Ve],[St[Or[0]],St[Or[1]],-1])||$t,Br=!0}}),Br||[[0,1,2],[1,2,0],[2,0,1]].forEach(function(Or){if(fr[Or[0]]&&!fr[Or[1]]&&!fr[Or[2]]){var Nr=Lt[Or[0]],ut=Lt[Or[1]],Ne=Lt[Or[2]],Ye=ge(ut,Nr,Et,dt),Ve=ge(Ne,Nr,Et,dt);$t=_r(bt,[Ve,Ye,Nr],[-1,-1,St[Or[0]]])||$t,Br=!0}}),$t}function Ce(bt,Lt,St,Et){var dt=!1,Ht=Ee(Lt),$t=[ie(Ht[0][3],St,Et),ie(Ht[1][3],St,Et),ie(Ht[2][3],St,Et),ie(Ht[3][3],St,Et)];if(!$t[0]&&!$t[1]&&!$t[2]&&!$t[3])return dt;if($t[0]&&$t[1]&&$t[2]&&$t[3])return o&&(dt=ke(bt,Ht,Lt)||dt),dt;var fr=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach(function(_r){if($t[_r[0]]&&$t[_r[1]]&&$t[_r[2]]&&!$t[_r[3]]){var Br=Ht[_r[0]],Or=Ht[_r[1]],Nr=Ht[_r[2]],ut=Ht[_r[3]];if(o)dt=_e(bt,[Br,Or,Nr],[Lt[_r[0]],Lt[_r[1]],Lt[_r[2]]])||dt;else{var Ne=ge(ut,Br,St,Et),Ye=ge(ut,Or,St,Et),Ve=ge(ut,Nr,St,Et);dt=_e(null,[Ne,Ye,Ve],[-1,-1,-1])||dt}fr=!0}}),fr||([[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(_r){if($t[_r[0]]&&$t[_r[1]]&&!$t[_r[2]]&&!$t[_r[3]]){var Br=Ht[_r[0]],Or=Ht[_r[1]],Nr=Ht[_r[2]],ut=Ht[_r[3]],Ne=ge(Nr,Br,St,Et),Ye=ge(Nr,Or,St,Et),Ve=ge(ut,Or,St,Et),Xe=ge(ut,Br,St,Et);o?(dt=_e(bt,[Br,Xe,Ne],[Lt[_r[0]],-1,-1])||dt,dt=_e(bt,[Or,Ye,Ve],[Lt[_r[1]],-1,-1])||dt):dt=Me(null,[Ne,Ye,Ve,Xe],[-1,-1,-1,-1])||dt,fr=!0}}),fr)||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach(function(_r){if($t[_r[0]]&&!$t[_r[1]]&&!$t[_r[2]]&&!$t[_r[3]]){var Br=Ht[_r[0]],Or=Ht[_r[1]],Nr=Ht[_r[2]],ut=Ht[_r[3]],Ne=ge(Or,Br,St,Et),Ye=ge(Nr,Br,St,Et),Ve=ge(ut,Br,St,Et);o?(dt=_e(bt,[Br,Ne,Ye],[Lt[_r[0]],-1,-1])||dt,dt=_e(bt,[Br,Ye,Ve],[Lt[_r[0]],-1,-1])||dt,dt=_e(bt,[Br,Ve,Ne],[Lt[_r[0]],-1,-1])||dt):dt=_e(null,[Ne,Ye,Ve],[-1,-1,-1])||dt,fr=!0}}),dt}function me(bt,Lt,St,Et,dt,Ht,$t,fr,_r,Br,Or){var Nr=!1;return a&&(re(bt,\"A\")&&(Nr=Ce(null,[Lt,St,Et,Ht],Br,Or)||Nr),re(bt,\"B\")&&(Nr=Ce(null,[St,Et,dt,_r],Br,Or)||Nr),re(bt,\"C\")&&(Nr=Ce(null,[St,Ht,$t,_r],Br,Or)||Nr),re(bt,\"D\")&&(Nr=Ce(null,[Et,Ht,fr,_r],Br,Or)||Nr),re(bt,\"E\")&&(Nr=Ce(null,[St,Et,Ht,_r],Br,Or)||Nr)),o&&(Nr=Ce(bt,[St,Et,Ht,_r],Br,Or)||Nr),Nr}function Re(bt,Lt,St,Et,dt,Ht,$t,fr){return[fr[0]===!0?!0:ze(bt,Ee([Lt,St,Et]),[Lt,St,Et],Ht,$t),fr[1]===!0?!0:ze(bt,Ee([Et,dt,Lt]),[Et,dt,Lt],Ht,$t)]}function ce(bt,Lt,St,Et,dt,Ht,$t,fr,_r){return fr?Re(bt,Lt,St,dt,Et,Ht,$t,_r):Re(bt,St,dt,Et,Lt,Ht,$t,_r)}function Ge(bt,Lt,St,Et,dt,Ht,$t){var fr=!1,_r,Br,Or,Nr,ut=function(){fr=ze(bt,[_r,Br,Or],[-1,-1,-1],dt,Ht)||fr,fr=ze(bt,[Or,Nr,_r],[-1,-1,-1],dt,Ht)||fr},Ne=$t[0],Ye=$t[1],Ve=$t[2];return Ne&&(_r=X(Ee([p(Lt,St-0,Et-0)])[0],Ee([p(Lt-1,St-0,Et-0)])[0],Ne),Br=X(Ee([p(Lt,St-0,Et-1)])[0],Ee([p(Lt-1,St-0,Et-1)])[0],Ne),Or=X(Ee([p(Lt,St-1,Et-1)])[0],Ee([p(Lt-1,St-1,Et-1)])[0],Ne),Nr=X(Ee([p(Lt,St-1,Et-0)])[0],Ee([p(Lt-1,St-1,Et-0)])[0],Ne),ut()),Ye&&(_r=X(Ee([p(Lt-0,St,Et-0)])[0],Ee([p(Lt-0,St-1,Et-0)])[0],Ye),Br=X(Ee([p(Lt-0,St,Et-1)])[0],Ee([p(Lt-0,St-1,Et-1)])[0],Ye),Or=X(Ee([p(Lt-1,St,Et-1)])[0],Ee([p(Lt-1,St-1,Et-1)])[0],Ye),Nr=X(Ee([p(Lt-1,St,Et-0)])[0],Ee([p(Lt-1,St-1,Et-0)])[0],Ye),ut()),Ve&&(_r=X(Ee([p(Lt-0,St-0,Et)])[0],Ee([p(Lt-0,St-0,Et-1)])[0],Ve),Br=X(Ee([p(Lt-0,St-1,Et)])[0],Ee([p(Lt-0,St-1,Et-1)])[0],Ve),Or=X(Ee([p(Lt-1,St-1,Et)])[0],Ee([p(Lt-1,St-1,Et-1)])[0],Ve),Nr=X(Ee([p(Lt-1,St-0,Et)])[0],Ee([p(Lt-1,St-0,Et-1)])[0],Ve),ut()),fr}function nt(bt,Lt,St,Et,dt,Ht,$t,fr,_r,Br,Or,Nr){var ut=bt;return Nr?(a&&bt===\"even\"&&(ut=null),me(ut,Lt,St,Et,dt,Ht,$t,fr,_r,Br,Or)):(a&&bt===\"odd\"&&(ut=null),me(ut,_r,fr,$t,Ht,dt,Et,St,Lt,Br,Or))}function ct(bt,Lt,St,Et,dt){for(var Ht=[],$t=0,fr=0;fr<Lt.length;fr++)for(var _r=Lt[fr],Br=1;Br<x;Br++)for(var Or=1;Or<v;Or++)Ht.push(ce(bt,p(_r,Or-1,Br-1),p(_r,Or-1,Br),p(_r,Or,Br-1),p(_r,Or,Br),St,Et,(_r+Or+Br)%2,dt&&dt[$t]?dt[$t]:[])),$t++;return Ht}function qt(bt,Lt,St,Et,dt){for(var Ht=[],$t=0,fr=0;fr<Lt.length;fr++)for(var _r=Lt[fr],Br=1;Br<d;Br++)for(var Or=1;Or<x;Or++)Ht.push(ce(bt,p(Br-1,_r,Or-1),p(Br,_r,Or-1),p(Br-1,_r,Or),p(Br,_r,Or),St,Et,(Br+_r+Or)%2,dt&&dt[$t]?dt[$t]:[])),$t++;return Ht}function rt(bt,Lt,St,Et,dt){for(var Ht=[],$t=0,fr=0;fr<Lt.length;fr++)for(var _r=Lt[fr],Br=1;Br<v;Br++)for(var Or=1;Or<d;Or++)Ht.push(ce(bt,p(Or-1,Br-1,_r),p(Or-1,Br,_r),p(Or,Br-1,_r),p(Or,Br,_r),St,Et,(Or+Br+_r)%2,dt&&dt[$t]?dt[$t]:[])),$t++;return Ht}function ot(bt,Lt,St){for(var Et=1;Et<x;Et++)for(var dt=1;dt<v;dt++)for(var Ht=1;Ht<d;Ht++)nt(bt,p(Ht-1,dt-1,Et-1),p(Ht-1,dt-1,Et),p(Ht-1,dt,Et-1),p(Ht-1,dt,Et),p(Ht,dt-1,Et-1),p(Ht,dt-1,Et),p(Ht,dt,Et-1),p(Ht,dt,Et),Lt,St,(Ht+dt+Et)%2)}function Rt(bt,Lt,St){o=!0,ot(bt,Lt,St),o=!1}function kt(bt,Lt,St){a=!0,ot(bt,Lt,St),a=!1}function Ct(bt,Lt,St,Et,dt,Ht){for(var $t=[],fr=0,_r=0;_r<Lt.length;_r++)for(var Br=Lt[_r],Or=1;Or<x;Or++)for(var Nr=1;Nr<v;Nr++)$t.push(Ge(bt,Br,Nr,Or,St,Et,dt[_r],Ht&&Ht[fr]?Ht[fr]:[])),fr++;return $t}function Yt(bt,Lt,St,Et,dt,Ht){for(var $t=[],fr=0,_r=0;_r<Lt.length;_r++)for(var Br=Lt[_r],Or=1;Or<d;Or++)for(var Nr=1;Nr<x;Nr++)$t.push(Ge(bt,Or,Br,Nr,St,Et,dt[_r],Ht&&Ht[fr]?Ht[fr]:[])),fr++;return $t}function xr(bt,Lt,St,Et,dt,Ht){for(var $t=[],fr=0,_r=0;_r<Lt.length;_r++)for(var Br=Lt[_r],Or=1;Or<v;Or++)for(var Nr=1;Nr<d;Nr++)$t.push(Ge(bt,Nr,Or,Br,St,Et,dt[_r],Ht&&Ht[fr]?Ht[fr]:[])),fr++;return $t}function er(bt,Lt){for(var St=[],Et=bt;Et<Lt;Et++)St.push(Et);return St}function Ke(){for(var bt=0;bt<d;bt++)for(var Lt=0;Lt<v;Lt++)for(var St=0;St<x;St++){var Et=p(bt,Lt,St);q(e._x[Et],e._y[Et],e._z[Et],e._value[Et])}}function xt(){F(),Ke();var bt=null;if(r&&i&&(N(i),Rt(bt,A,L)),t&&n){N(n);for(var Lt=e.surface.pattern,St=e.surface.count,Et=0;Et<St;Et++){var dt=St===1?.5:Et/(St-1),Ht=(1-dt)*A+dt*L,$t=Math.abs(Ht-E),fr=Math.abs(Ht-k),_r=$t>fr?[E,Ht]:[Ht,k];kt(Lt,_r[0],_r[1])}}var Br=[[Math.min(A,k),Math.max(A,k)],[Math.min(E,L),Math.max(E,L)]];[\"x\",\"y\",\"z\"].forEach(function(Or){for(var Nr=[],ut=0;ut<Br.length;ut++){var Ne=0,Ye=Br[ut][0],Ve=Br[ut][1],Xe=e.slices[Or];if(Xe.show&&Xe.fill){N(Xe.fill);var ht=[],Le=[],xe=[];if(Xe.locations.length)for(var Se=0;Se<Xe.locations.length;Se++){var lt=XE(Xe.locations[Se],Or===\"x\"?c:Or===\"y\"?f:h);lt.distRatio===0?ht.push(lt.id):lt.id>0&&(Le.push(lt.id),Or===\"x\"?xe.push([lt.distRatio,0,0]):Or===\"y\"?xe.push([0,lt.distRatio,0]):xe.push([0,0,lt.distRatio]))}else Or===\"x\"?ht=er(1,d-1):Or===\"y\"?ht=er(1,v-1):ht=er(1,x-1);Le.length>0&&(Or===\"x\"?Nr[Ne]=Ct(bt,Le,Ye,Ve,xe,Nr[Ne]):Or===\"y\"?Nr[Ne]=Yt(bt,Le,Ye,Ve,xe,Nr[Ne]):Nr[Ne]=xr(bt,Le,Ye,Ve,xe,Nr[Ne]),Ne++),ht.length>0&&(Or===\"x\"?Nr[Ne]=ct(bt,ht,Ye,Ve,Nr[Ne]):Or===\"y\"?Nr[Ne]=qt(bt,ht,Ye,Ve,Nr[Ne]):Nr[Ne]=rt(bt,ht,Ye,Ve,Nr[Ne]),Ne++)}var Gt=e.caps[Or];Gt.show&&Gt.fill&&(N(Gt.fill),Or===\"x\"?Nr[Ne]=ct(bt,[0,d-1],Ye,Ve,Nr[Ne]):Or===\"y\"?Nr[Ne]=qt(bt,[0,v-1],Ye,Ve,Nr[Ne]):Nr[Ne]=rt(bt,[0,x-1],Ye,Ve,Nr[Ne]),Ne++)}}),s===0&&F(),e._meshX=_,e._meshY=C,e._meshZ=M,e._meshIntensity=g,e._Xs=c,e._Ys=f,e._Zs=h}return xt(),e}function YIt(e,t){var r=e.glplot.gl,n=HIt({gl:r}),i=new cIe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}hIe.exports={findNearestOnAxis:XE,generateIsoMeshes:fIe,createIsosurfaceTrace:YIt}});var vIe=ye((Wvr,dIe)=>{\"use strict\";dIe.exports={attributes:tz(),supplyDefaults:zZ().supplyDefaults,calc:OZ(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:nz().createIsosurfaceTrace,moduleType:\"trace\",name:\"isosurface\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],meta:{}}});var gIe=ye((Zvr,pIe)=>{\"use strict\";pIe.exports=vIe()});var UZ=ye((Xvr,yIe)=>{\"use strict\";var KIt=Jl(),xh=tz(),JIt=jE(),mIe=vl(),NZ=no().extendFlat,$It=Bu().overrideAll,az=yIe.exports=$It(NZ({x:xh.x,y:xh.y,z:xh.z,value:xh.value,isomin:xh.isomin,isomax:xh.isomax,surface:xh.surface,spaceframe:{show:{valType:\"boolean\",dflt:!1},fill:{valType:\"number\",min:0,max:1,dflt:1}},slices:xh.slices,caps:xh.caps,text:xh.text,hovertext:xh.hovertext,xhoverformat:xh.xhoverformat,yhoverformat:xh.yhoverformat,zhoverformat:xh.zhoverformat,valuehoverformat:xh.valuehoverformat,hovertemplate:xh.hovertemplate},KIt(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{colorbar:xh.colorbar,opacity:xh.opacity,opacityscale:JIt.opacityscale,lightposition:xh.lightposition,lighting:xh.lighting,flatshading:xh.flatshading,contour:xh.contour,hoverinfo:NZ({},mIe.hoverinfo),showlegend:NZ({},mIe.showlegend,{dflt:!1})}),\"calc\",\"nested\");az.x.editType=az.y.editType=az.z.editType=az.value.editType=\"calc+clearAxisTypes\"});var xIe=ye((Yvr,_Ie)=>{\"use strict\";var QIt=Mr(),e8t=UZ(),t8t=zZ().supplyIsoDefaults,r8t=CZ().opacityscaleDefaults;_Ie.exports=function(t,r,n,i){function a(o,s){return QIt.coerce(t,r,e8t,o,s)}t8t(t,r,n,i,a),r8t(t,r,i,a)}});var AIe=ye((Kvr,TIe)=>{\"use strict\";var i8t=Rd().gl_mesh3d,n8t=$y().parseColorScale,a8t=Mr().isArrayOrTypedArray,o8t=Jy(),s8t=Mu().extractOpts,bIe=H5(),VZ=nz().findNearestOnAxis,l8t=nz().generateIsoMeshes;function wIe(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name=\"\",this.data=null,this.showContour=!1}var HZ=wIe.prototype;HZ.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],i=this.data._meshZ[t],a=this.data._Ys.length,o=this.data._Zs.length,s=VZ(r,this.data._Xs).id,l=VZ(n,this.data._Ys).id,u=VZ(i,this.data._Zs).id,c=e.index=u+o*l+o*a*s;e.traceCoordinate=[this.data._meshX[c],this.data._meshY[c],this.data._meshZ[c],this.data._value[c]];var f=this.data.hovertext||this.data.text;return a8t(f)&&f[c]!==void 0?e.textLabel=f[c]:f&&(e.textLabel=f),!0}};HZ.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=l8t(e);function n(l,u,c,f){return u.map(function(h){return l.d2l(h,0,f)*c})}var i=bIe(n(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),n(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),n(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),a=bIe(e._meshI,e._meshJ,e._meshK),o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,opacityscale:e.opacityscale,contourEnable:e.contour.show,contourColor:o8t(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},s=s8t(e);o.vertexIntensity=e._meshIntensity,o.vertexIntensityBounds=[s.min,s.max],o.colormap=n8t(e),this.mesh.update(o)};HZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function u8t(e,t){var r=e.glplot.gl,n=i8t({gl:r}),i=new wIe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}TIe.exports=u8t});var MIe=ye((Jvr,SIe)=>{\"use strict\";SIe.exports={attributes:UZ(),supplyDefaults:xIe(),calc:OZ(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:AIe(),moduleType:\"trace\",name:\"volume\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],meta:{}}});var kIe=ye(($vr,EIe)=>{\"use strict\";EIe.exports=MIe()});var PIe=ye((Qvr,LIe)=>{\"use strict\";var c8t=ba(),CIe=Mr(),f8t=Uh(),h8t=U5();LIe.exports=function(t,r,n,i){function a(c,f){return CIe.coerce(t,r,h8t,c,f)}function o(c){var f=c.map(function(h){var d=a(h);return d&&CIe.isArrayOrTypedArray(d)?d:null});return f.every(function(h){return h&&h.length===f[0].length})&&f}var s=o([\"x\",\"y\",\"z\"]);if(!s){r.visible=!1;return}if(o([\"i\",\"j\",\"k\"]),r.i&&(!r.j||!r.k)||r.j&&(!r.k||!r.i)||r.k&&(!r.i||!r.j)){r.visible=!1;return}var l=c8t.getComponentMethod(\"calendars\",\"handleTraceDefaults\");l(t,r,[\"x\",\"y\",\"z\"],i),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lighting.vertexnormalsepsilon\",\"lighting.facenormalsepsilon\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"flatshading\",\"alphahull\",\"delaunayaxis\",\"opacity\"].forEach(function(c){a(c)});var u=a(\"contour.show\");u&&(a(\"contour.color\"),a(\"contour.width\")),\"intensity\"in t?(a(\"intensity\"),a(\"intensitymode\"),f8t(t,r,i,a,{prefix:\"\",cLetter:\"c\"})):(r.showscale=!1,\"facecolor\"in t?a(\"facecolor\"):\"vertexcolor\"in t?a(\"vertexcolor\"):a(\"color\",n)),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),r._length=null}});var RIe=ye((epr,IIe)=>{\"use strict\";var d8t=zv();IIe.exports=function(t,r){r.intensity&&d8t(t,r,{vals:r.intensity,containerStr:\"\",cLetter:\"c\"})}});var OIe=ye((tpr,qIe)=>{\"use strict\";var v8t=Rd().gl_mesh3d,p8t=Rd().delaunay_triangulate,g8t=Rd().alpha_shape,m8t=Rd().convex_hull,y8t=$y().parseColorScale,_8t=Mr().isArrayOrTypedArray,ZZ=Jy(),x8t=Mu().extractOpts,DIe=H5();function FIe(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name=\"\",this.color=\"#fff\",this.data=null,this.showContour=!1}var XZ=FIe.prototype;XZ.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index;e.data._cellCenter?e.traceCoordinate=e.data.dataCoordinate:e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]];var r=this.data.hovertext||this.data.text;return _8t(r)&&r[t]!==void 0?e.textLabel=r[t]:r&&(e.textLabel=r),!0}};function zIe(e){for(var t=[],r=e.length,n=0;n<r;n++)t[n]=ZZ(e[n]);return t}function GZ(e,t,r,n){for(var i=[],a=t.length,o=0;o<a;o++)i[o]=e.d2l(t[o],0,n)*r;return i}function jZ(e){for(var t=[],r=e.length,n=0;n<r;n++)t[n]=Math.round(e[n]);return t}function b8t(e,t){for(var r=[\"x\",\"y\",\"z\"].indexOf(e),n=[],i=t.length,a=0;a<i;a++)n[a]=[t[a][(r+1)%3],t[a][(r+2)%3]];return p8t(n)}function WZ(e,t){for(var r=e.length,n=0;n<r;n++)if(e[n]<=-.5||e[n]>=t-.5)return!1;return!0}XZ.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=e;var n=e.x.length,i=DIe(GZ(r.xaxis,e.x,t.dataScale[0],e.xcalendar),GZ(r.yaxis,e.y,t.dataScale[1],e.ycalendar),GZ(r.zaxis,e.z,t.dataScale[2],e.zcalendar)),a;if(e.i&&e.j&&e.k){if(e.i.length!==e.j.length||e.j.length!==e.k.length||!WZ(e.i,n)||!WZ(e.j,n)||!WZ(e.k,n))return;a=DIe(jZ(e.i),jZ(e.j),jZ(e.k))}else e.alphahull===0?a=m8t(i):e.alphahull>0?a=g8t(e.alphahull,i):a=b8t(e.delaunayaxis,i);var o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,contourEnable:e.contour.show,contourColor:ZZ(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading};if(e.intensity){var s=x8t(e);this.color=\"#fff\";var l=e.intensitymode;o[l+\"Intensity\"]=e.intensity,o[l+\"IntensityBounds\"]=[s.min,s.max],o.colormap=y8t(e)}else e.vertexcolor?(this.color=e.vertexcolor[0],o.vertexColors=zIe(e.vertexcolor)):e.facecolor?(this.color=e.facecolor[0],o.cellColors=zIe(e.facecolor)):(this.color=e.color,o.meshColor=ZZ(e.color));this.mesh.update(o)};XZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function w8t(e,t){var r=e.glplot.gl,n=v8t({gl:r}),i=new FIe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}qIe.exports=w8t});var NIe=ye((rpr,BIe)=>{\"use strict\";BIe.exports={attributes:U5(),supplyDefaults:PIe(),calc:RIe(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:OIe(),moduleType:\"trace\",name:\"mesh3d\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],meta:{}}});var VIe=ye((ipr,UIe)=>{\"use strict\";UIe.exports=NIe()});var KZ=ye((npr,GIe)=>{\"use strict\";var T8t=Jl(),G5=Oc().axisHoverFormat,A8t=Wo().hovertemplateAttrs,S8t=U5(),HIe=vl(),YZ=no().extendFlat,oz={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:A8t({editType:\"calc\"},{keys:[\"norm\"]}),uhoverformat:G5(\"u\",1),vhoverformat:G5(\"v\",1),whoverformat:G5(\"w\",1),xhoverformat:G5(\"x\"),yhoverformat:G5(\"y\"),zhoverformat:G5(\"z\"),showlegend:YZ({},HIe.showlegend,{dflt:!1})};YZ(oz,T8t(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}));var M8t=[\"opacity\",\"lightposition\",\"lighting\"];M8t.forEach(function(e){oz[e]=S8t[e]});oz.hoverinfo=YZ({},HIe.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"});GIe.exports=oz});var WIe=ye((apr,jIe)=>{\"use strict\";var E8t=Mr(),k8t=Uh(),C8t=KZ();jIe.exports=function(t,r,n,i){function a(d,v){return E8t.coerce(t,r,C8t,d,v)}var o=a(\"u\"),s=a(\"v\"),l=a(\"w\"),u=a(\"x\"),c=a(\"y\"),f=a(\"z\");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length||!f||!f.length){r.visible=!1;return}var h=a(\"sizemode\");a(\"sizeref\",h===\"raw\"?1:.5),a(\"anchor\"),a(\"lighting.ambient\"),a(\"lighting.diffuse\"),a(\"lighting.specular\"),a(\"lighting.roughness\"),a(\"lighting.fresnel\"),a(\"lightposition.x\"),a(\"lightposition.y\"),a(\"lightposition.z\"),k8t(t,r,i,a,{prefix:\"\",cLetter:\"c\"}),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"uhoverformat\"),a(\"vhoverformat\"),a(\"whoverformat\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),r._length=null}});var XIe=ye((opr,ZIe)=>{\"use strict\";var L8t=zv();ZIe.exports=function(t,r){for(var n=r.u,i=r.v,a=r.w,o=Math.min(r.x.length,r.y.length,r.z.length,n.length,i.length,a.length),s=-1/0,l=1/0,u=0;u<o;u++){var c=n[u],f=i[u],h=a[u],d=Math.sqrt(c*c+f*f+h*h);s=Math.max(s,d),l=Math.min(l,d)}r._len=o,r._normMax=s,L8t(t,r,{vals:[l,s],containerStr:\"\",cLetter:\"c\"})}});var QIe=ye((spr,$Ie)=>{\"use strict\";var P8t=Rd().gl_cone3d,I8t=Rd().gl_cone3d.createConeMesh,R8t=Mr().simpleMap,D8t=$y().parseColorScale,z8t=Mu().extractOpts,F8t=Mr().isArrayOrTypedArray,YIe=H5();function KIe(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var JZ=KIe.prototype;JZ.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index,r=this.data.x[t],n=this.data.y[t],i=this.data.z[t],a=this.data.u[t],o=this.data.v[t],s=this.data.w[t];e.traceCoordinate=[r,n,i,a,o,s,Math.sqrt(a*a+o*o+s*s)];var l=this.data.hovertext||this.data.text;return F8t(l)&&l[t]!==void 0?e.textLabel=l[t]:l&&(e.textLabel=l),!0}};var q8t={xaxis:0,yaxis:1,zaxis:2},O8t={tip:1,tail:0,cm:.25,center:.5},B8t={tip:1,tail:1,cm:.75,center:.5};function JIe(e,t){var r=e.fullSceneLayout,n=e.dataScale,i={};function a(c,f){var h=r[f],d=n[q8t[f]];return R8t(c,function(v){return h.d2l(v)*d})}i.vectors=YIe(a(t.u,\"xaxis\"),a(t.v,\"yaxis\"),a(t.w,\"zaxis\"),t._len),i.positions=YIe(a(t.x,\"xaxis\"),a(t.y,\"yaxis\"),a(t.z,\"zaxis\"),t._len);var o=z8t(t);i.colormap=D8t(t),i.vertexIntensityBounds=[o.min/t._normMax,o.max/t._normMax],i.coneOffset=O8t[t.anchor];var s=t.sizemode;s===\"scaled\"?i.coneSize=t.sizeref||.5:s===\"absolute\"?i.coneSize=t.sizeref&&t._normMax?t.sizeref/t._normMax:.5:s===\"raw\"&&(i.coneSize=t.sizeref),i.coneSizemode=s;var l=P8t(i),u=t.lightposition;return l.lightPosition=[u.x,u.y,u.z],l.ambient=t.lighting.ambient,l.diffuse=t.lighting.diffuse,l.specular=t.lighting.specular,l.roughness=t.lighting.roughness,l.fresnel=t.lighting.fresnel,l.opacity=t.opacity,t._pad=B8t[t.anchor]*l.vectorScale*l.coneScale*t._normMax,l}JZ.update=function(e){this.data=e;var t=JIe(this.scene,e);this.mesh.update(t)};JZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function N8t(e,t){var r=e.glplot.gl,n=JIe(e,t),i=I8t(r,n),a=new KIe(e,t.uid);return a.mesh=i,a.data=t,i._trace=a,e.glplot.add(i),a}$Ie.exports=N8t});var t8e=ye((lpr,e8e)=>{\"use strict\";e8e.exports={moduleType:\"trace\",name:\"cone\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],attributes:KZ(),supplyDefaults:WIe(),colorbar:{min:\"cmin\",max:\"cmax\"},calc:XIe(),plot:QIe(),eventData:function(e,t){return e.norm=t.traceCoordinate[6],e},meta:{}}});var i8e=ye((upr,r8e)=>{\"use strict\";r8e.exports=t8e()});var QZ=ye((cpr,a8e)=>{\"use strict\";var U8t=Jl(),j5=Oc().axisHoverFormat,V8t=Wo().hovertemplateAttrs,H8t=U5(),n8e=vl(),$Z=no().extendFlat,sz={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},u:{valType:\"data_array\",editType:\"calc\"},v:{valType:\"data_array\",editType:\"calc\"},w:{valType:\"data_array\",editType:\"calc\"},starts:{x:{valType:\"data_array\",editType:\"calc\"},y:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},maxdisplayed:{valType:\"integer\",min:0,dflt:1e3,editType:\"calc\"},sizeref:{valType:\"number\",editType:\"calc\",min:0,dflt:1},text:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertemplate:V8t({editType:\"calc\"},{keys:[\"tubex\",\"tubey\",\"tubez\",\"tubeu\",\"tubev\",\"tubew\",\"norm\",\"divergence\"]}),uhoverformat:j5(\"u\",1),vhoverformat:j5(\"v\",1),whoverformat:j5(\"w\",1),xhoverformat:j5(\"x\"),yhoverformat:j5(\"y\"),zhoverformat:j5(\"z\"),showlegend:$Z({},n8e.showlegend,{dflt:!1})};$Z(sz,U8t(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}));var G8t=[\"opacity\",\"lightposition\",\"lighting\"];G8t.forEach(function(e){sz[e]=H8t[e]});sz.hoverinfo=$Z({},n8e.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"divergence\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"});a8e.exports=sz});var s8e=ye((fpr,o8e)=>{\"use strict\";var j8t=Mr(),W8t=Uh(),Z8t=QZ();o8e.exports=function(t,r,n,i){function a(h,d){return j8t.coerce(t,r,Z8t,h,d)}var o=a(\"u\"),s=a(\"v\"),l=a(\"w\"),u=a(\"x\"),c=a(\"y\"),f=a(\"z\");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length||!f||!f.length){r.visible=!1;return}a(\"starts.x\"),a(\"starts.y\"),a(\"starts.z\"),a(\"maxdisplayed\"),a(\"sizeref\"),a(\"lighting.ambient\"),a(\"lighting.diffuse\"),a(\"lighting.specular\"),a(\"lighting.roughness\"),a(\"lighting.fresnel\"),a(\"lightposition.x\"),a(\"lightposition.y\"),a(\"lightposition.z\"),W8t(t,r,i,a,{prefix:\"\",cLetter:\"c\"}),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"uhoverformat\"),a(\"vhoverformat\"),a(\"whoverformat\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),r._length=null}});var p8e=ye((hpr,v8e)=>{\"use strict\";var c8e=Rd().gl_streamtube3d,X8t=c8e.createTubeMesh,Y8t=Mr(),K8t=$y().parseColorScale,J8t=Mu().extractOpts,l8e=H5(),f8e={xaxis:0,yaxis:1,zaxis:2};function h8e(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var tX=h8e.prototype;tX.handlePick=function(e){var t=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(o,s){var l=t[s],u=r[f8e[s]];return l.l2c(o)/u}if(e.object===this.mesh){var i=e.data.position,a=e.data.velocity;return e.traceCoordinate=[n(i[0],\"xaxis\"),n(i[1],\"yaxis\"),n(i[2],\"zaxis\"),n(a[0],\"xaxis\"),n(a[1],\"yaxis\"),n(a[2],\"zaxis\"),e.data.intensity*this.data._normMax,e.data.divergence],e.textLabel=this.data.hovertext||this.data.text,!0}};function u8e(e){var t=e.length,r;return t>2?r=e.slice(1,t-1):t===2?r=[(e[0]+e[1])/2]:r=e,r}function eX(e){var t=e.length;return t===1?[.5,.5]:[e[1]-e[0],e[t-1]-e[t-2]]}function d8e(e,t){var r=e.fullSceneLayout,n=e.dataScale,i=t._len,a={};function o(F,q){var V=r[q],H=n[f8e[q]];return Y8t.simpleMap(F,function(X){return V.d2l(X)*H})}if(a.vectors=l8e(o(t._u,\"xaxis\"),o(t._v,\"yaxis\"),o(t._w,\"zaxis\"),i),!i)return{positions:[],cells:[]};var s=o(t._Xs,\"xaxis\"),l=o(t._Ys,\"yaxis\"),u=o(t._Zs,\"zaxis\");a.meshgrid=[s,l,u],a.gridFill=t._gridFill;var c=t._slen;if(c)a.startingPositions=l8e(o(t._startsX,\"xaxis\"),o(t._startsY,\"yaxis\"),o(t._startsZ,\"zaxis\"));else{for(var f=l[0],h=u8e(s),d=u8e(u),v=new Array(h.length*d.length),x=0,b=0;b<h.length;b++)for(var p=0;p<d.length;p++)v[x++]=[h[b],f,d[p]];a.startingPositions=v}a.colormap=K8t(t),a.tubeSize=t.sizeref,a.maxLength=t.maxdisplayed;var E=o(t._xbnds,\"xaxis\"),k=o(t._ybnds,\"yaxis\"),A=o(t._zbnds,\"zaxis\"),L=eX(s),_=eX(l),C=eX(u),M=[[E[0]-L[0],k[0]-_[0],A[0]-C[0]],[E[1]+L[1],k[1]+_[1],A[1]+C[1]]],g=c8e(a,M),P=J8t(t);g.vertexIntensityBounds=[P.min/t._normMax,P.max/t._normMax];var T=t.lightposition;return g.lightPosition=[T.x,T.y,T.z],g.ambient=t.lighting.ambient,g.diffuse=t.lighting.diffuse,g.specular=t.lighting.specular,g.roughness=t.lighting.roughness,g.fresnel=t.lighting.fresnel,g.opacity=t.opacity,t._pad=g.tubeScale*t.sizeref*2,g}tX.update=function(e){this.data=e;var t=d8e(this.scene,e);this.mesh.update(t)};tX.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function $8t(e,t){var r=e.glplot.gl,n=d8e(e,t),i=X8t(r,n),a=new h8e(e,t.uid);return a.mesh=i,a.data=t,i._trace=a,e.glplot.add(i),a}v8e.exports=$8t});var m8e=ye((dpr,g8e)=>{\"use strict\";g8e.exports={moduleType:\"trace\",name:\"streamtube\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],attributes:QZ(),supplyDefaults:s8e(),colorbar:{min:\"cmin\",max:\"cmax\"},calc:rz().calc,plot:p8e(),eventData:function(e,t){return e.tubex=e.x,e.tubey=e.y,e.tubez=e.z,e.tubeu=t.traceCoordinate[3],e.tubev=t.traceCoordinate[4],e.tubew=t.traceCoordinate[5],e.norm=t.traceCoordinate[6],e.divergence=t.traceCoordinate[7],delete e.x,delete e.y,delete e.z,e},meta:{}}});var _8e=ye((vpr,y8e)=>{\"use strict\";y8e.exports=m8e()});var H2=ye((ppr,w8e)=>{\"use strict\";var Q8t=Wo().hovertemplateAttrs,eRt=Wo().texttemplateAttrs,tRt=Eg(),jm=Uc(),rRt=vl(),x8e=Jl(),iRt=Ed().dash,V2=no().extendFlat,nRt=Bu().overrideAll,eg=jm.marker,b8e=jm.line,aRt=eg.line;w8e.exports=nRt({lon:{valType:\"data_array\"},lat:{valType:\"data_array\"},locations:{valType:\"data_array\"},locationmode:{valType:\"enumerated\",values:[\"ISO-3\",\"USA-states\",\"country names\",\"geojson-id\"],dflt:\"ISO-3\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:{valType:\"string\",editType:\"calc\",dflt:\"id\"},mode:V2({},jm.mode,{dflt:\"markers\"}),text:V2({},jm.text,{}),texttemplate:eRt({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"location\",\"text\"]}),hovertext:V2({},jm.hovertext,{}),textfont:jm.textfont,textposition:jm.textposition,line:{color:b8e.color,width:b8e.width,dash:iRt},connectgaps:jm.connectgaps,marker:V2({symbol:eg.symbol,opacity:eg.opacity,angle:eg.angle,angleref:V2({},eg.angleref,{values:[\"previous\",\"up\",\"north\"]}),standoff:eg.standoff,size:eg.size,sizeref:eg.sizeref,sizemin:eg.sizemin,sizemode:eg.sizemode,colorbar:eg.colorbar,line:V2({width:aRt.width},x8e(\"marker.line\")),gradient:eg.gradient},x8e(\"marker\")),fill:{valType:\"enumerated\",values:[\"none\",\"toself\"],dflt:\"none\"},fillcolor:tRt(),selected:jm.selected,unselected:jm.unselected,hoverinfo:V2({},rRt.hoverinfo,{flags:[\"lon\",\"lat\",\"location\",\"text\",\"name\"]}),hovertemplate:Q8t()},\"calc\",\"nested\")});var A8e=ye((gpr,T8e)=>{\"use strict\";var rX=Mr(),iX=lu(),oRt=$p(),sRt=R0(),lRt=D0(),uRt=Ig(),cRt=H2();T8e.exports=function(t,r,n,i){function a(d,v){return rX.coerce(t,r,cRt,d,v)}var o=a(\"locations\"),s;if(o&&o.length){var l=a(\"geojson\"),u;(typeof l==\"string\"&&l!==\"\"||rX.isPlainObject(l))&&(u=\"geojson-id\");var c=a(\"locationmode\",u);c===\"geojson-id\"&&a(\"featureidkey\"),s=o.length}else{var f=a(\"lon\")||[],h=a(\"lat\")||[];s=Math.min(f.length,h.length)}if(!s){r.visible=!1;return}r._length=s,a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"mode\"),iX.hasMarkers(r)&&oRt(t,r,n,i,a,{gradient:!0}),iX.hasLines(r)&&(sRt(t,r,n,i,a),a(\"connectgaps\")),iX.hasText(r)&&(a(\"texttemplate\"),lRt(t,r,i,a)),a(\"fill\"),r.fill!==\"none\"&&uRt(t,r,n,a),rX.coerceSelectionMarkerOpacity(r,a)}});var E8e=ye((mpr,M8e)=>{\"use strict\";var S8e=Qa();M8e.exports=function(t,r,n){var i={},a=n[r.geo]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=S8e.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=S8e.tickText(o,o.c2l(s[1]),!0).text,i}});var lz=ye((ypr,P8e)=>{\"use strict\";var nX=uo(),k8e=es().BADNUM,fRt=z0(),hRt=km(),dRt=F0(),vRt=Mr().isArrayOrTypedArray,C8e=Mr()._;function L8e(e){return e&&typeof e==\"string\"}P8e.exports=function(t,r){var n=vRt(r.locations),i=n?r.locations.length:r._length,a=new Array(i),o;r.geojson?o=function(h){return L8e(h)||nX(h)}:o=L8e;for(var s=0;s<i;s++){var l=a[s]={};if(n){var u=r.locations[s];l.loc=o(u)?u:null}else{var c=r.lon[s],f=r.lat[s];nX(c)&&nX(f)?l.lonlat=[+c,+f]:l.lonlat=[k8e,k8e]}}return hRt(a,r),fRt(t,r),dRt(a,r),i&&(a[0].t={labels:{lat:C8e(t,\"lat:\")+\" \",lon:C8e(t,\"lon:\")+\" \"}}),a}});var YE=ye(Tv=>{\"use strict\";Tv.projNames={airy:\"airy\",aitoff:\"aitoff\",\"albers usa\":\"albersUsa\",albers:\"albers\",august:\"august\",\"azimuthal equal area\":\"azimuthalEqualArea\",\"azimuthal equidistant\":\"azimuthalEquidistant\",baker:\"baker\",bertin1953:\"bertin1953\",boggs:\"boggs\",bonne:\"bonne\",bottomley:\"bottomley\",bromley:\"bromley\",collignon:\"collignon\",\"conic conformal\":\"conicConformal\",\"conic equal area\":\"conicEqualArea\",\"conic equidistant\":\"conicEquidistant\",craig:\"craig\",craster:\"craster\",\"cylindrical equal area\":\"cylindricalEqualArea\",\"cylindrical stereographic\":\"cylindricalStereographic\",eckert1:\"eckert1\",eckert2:\"eckert2\",eckert3:\"eckert3\",eckert4:\"eckert4\",eckert5:\"eckert5\",eckert6:\"eckert6\",eisenlohr:\"eisenlohr\",\"equal earth\":\"equalEarth\",equirectangular:\"equirectangular\",fahey:\"fahey\",\"foucaut sinusoidal\":\"foucautSinusoidal\",foucaut:\"foucaut\",ginzburg4:\"ginzburg4\",ginzburg5:\"ginzburg5\",ginzburg6:\"ginzburg6\",ginzburg8:\"ginzburg8\",ginzburg9:\"ginzburg9\",gnomonic:\"gnomonic\",\"gringorten quincuncial\":\"gringortenQuincuncial\",gringorten:\"gringorten\",guyou:\"guyou\",hammer:\"hammer\",hill:\"hill\",homolosine:\"homolosine\",hufnagel:\"hufnagel\",hyperelliptical:\"hyperelliptical\",kavrayskiy7:\"kavrayskiy7\",lagrange:\"lagrange\",larrivee:\"larrivee\",laskowski:\"laskowski\",loximuthal:\"loximuthal\",mercator:\"mercator\",miller:\"miller\",mollweide:\"mollweide\",\"mt flat polar parabolic\":\"mtFlatPolarParabolic\",\"mt flat polar quartic\":\"mtFlatPolarQuartic\",\"mt flat polar sinusoidal\":\"mtFlatPolarSinusoidal\",\"natural earth\":\"naturalEarth\",\"natural earth1\":\"naturalEarth1\",\"natural earth2\":\"naturalEarth2\",\"nell hammer\":\"nellHammer\",nicolosi:\"nicolosi\",orthographic:\"orthographic\",patterson:\"patterson\",\"peirce quincuncial\":\"peirceQuincuncial\",polyconic:\"polyconic\",\"rectangular polyconic\":\"rectangularPolyconic\",robinson:\"robinson\",satellite:\"satellite\",\"sinu mollweide\":\"sinuMollweide\",sinusoidal:\"sinusoidal\",stereographic:\"stereographic\",times:\"times\",\"transverse mercator\":\"transverseMercator\",\"van der grinten\":\"vanDerGrinten\",\"van der grinten2\":\"vanDerGrinten2\",\"van der grinten3\":\"vanDerGrinten3\",\"van der grinten4\":\"vanDerGrinten4\",wagner4:\"wagner4\",wagner6:\"wagner6\",wiechel:\"wiechel\",\"winkel tripel\":\"winkel3\",winkel3:\"winkel3\"};Tv.axesNames=[\"lonaxis\",\"lataxis\"];Tv.lonaxisSpan={orthographic:180,\"azimuthal equal area\":360,\"azimuthal equidistant\":360,\"conic conformal\":180,gnomonic:160,stereographic:180,\"transverse mercator\":180,\"*\":360};Tv.lataxisSpan={\"conic conformal\":150,stereographic:179.5,\"*\":180};Tv.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:\"equirectangular\",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:\"albers usa\"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:\"conic conformal\",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:\"mercator\",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:\"mercator\",projRotate:[0,0,0]},\"north america\":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:\"conic conformal\",projRotate:[-100,0,0],projParallels:[29.5,45.5]},\"south america\":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:\"mercator\",projRotate:[0,0,0]}};Tv.clipPad=.001;Tv.precision=.1;Tv.landColor=\"#F0DC82\";Tv.waterColor=\"#3399FF\";Tv.locationmodeToLayer={\"ISO-3\":\"countries\",\"USA-states\":\"subunits\",\"country names\":\"countries\"};Tv.sphereSVG={type:\"Sphere\"};Tv.fillLayers={ocean:1,land:1,lakes:1};Tv.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1};Tv.layers=[\"bg\",\"ocean\",\"land\",\"lakes\",\"subunits\",\"countries\",\"coastlines\",\"rivers\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"frontplot\"];Tv.layersForChoropleth=[\"bg\",\"ocean\",\"land\",\"subunits\",\"countries\",\"coastlines\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"rivers\",\"lakes\",\"frontplot\"];Tv.layerNameToAdjective={ocean:\"ocean\",land:\"land\",lakes:\"lake\",subunits:\"subunit\",countries:\"country\",coastlines:\"coastline\",rivers:\"river\",frame:\"frame\"}});var aX=ye((uz,I8e)=>{(function(e,t){typeof uz==\"object\"&&typeof I8e!=\"undefined\"?t(uz):(e=e||self,t(e.topojson=e.topojson||{}))})(uz,function(e){\"use strict\";function t(k){return k}function r(k){if(k==null)return t;var A,L,_=k.scale[0],C=k.scale[1],M=k.translate[0],g=k.translate[1];return function(P,T){T||(A=L=0);var F=2,q=P.length,V=new Array(q);for(V[0]=(A+=P[0])*_+M,V[1]=(L+=P[1])*C+g;F<q;)V[F]=P[F],++F;return V}}function n(k){var A=r(k.transform),L,_=1/0,C=_,M=-_,g=-_;function P(F){F=A(F),F[0]<_&&(_=F[0]),F[0]>M&&(M=F[0]),F[1]<C&&(C=F[1]),F[1]>g&&(g=F[1])}function T(F){switch(F.type){case\"GeometryCollection\":F.geometries.forEach(T);break;case\"Point\":P(F.coordinates);break;case\"MultiPoint\":F.coordinates.forEach(P);break}}k.arcs.forEach(function(F){for(var q=-1,V=F.length,H;++q<V;)H=A(F[q],q),H[0]<_&&(_=H[0]),H[0]>M&&(M=H[0]),H[1]<C&&(C=H[1]),H[1]>g&&(g=H[1])});for(L in k.objects)T(k.objects[L]);return[_,C,M,g]}function i(k,A){for(var L,_=k.length,C=_-A;C<--_;)L=k[C],k[C++]=k[_],k[_]=L}function a(k,A){return typeof A==\"string\"&&(A=k.objects[A]),A.type===\"GeometryCollection\"?{type:\"FeatureCollection\",features:A.geometries.map(function(L){return o(k,L)})}:o(k,A)}function o(k,A){var L=A.id,_=A.bbox,C=A.properties==null?{}:A.properties,M=s(k,A);return L==null&&_==null?{type:\"Feature\",properties:C,geometry:M}:_==null?{type:\"Feature\",id:L,properties:C,geometry:M}:{type:\"Feature\",id:L,bbox:_,properties:C,geometry:M}}function s(k,A){var L=r(k.transform),_=k.arcs;function C(q,V){V.length&&V.pop();for(var H=_[q<0?~q:q],X=0,G=H.length;X<G;++X)V.push(L(H[X],X));q<0&&i(V,G)}function M(q){return L(q)}function g(q){for(var V=[],H=0,X=q.length;H<X;++H)C(q[H],V);return V.length<2&&V.push(V[0]),V}function P(q){for(var V=g(q);V.length<4;)V.push(V[0]);return V}function T(q){return q.map(P)}function F(q){var V=q.type,H;switch(V){case\"GeometryCollection\":return{type:V,geometries:q.geometries.map(F)};case\"Point\":H=M(q.coordinates);break;case\"MultiPoint\":H=q.coordinates.map(M);break;case\"LineString\":H=g(q.arcs);break;case\"MultiLineString\":H=q.arcs.map(g);break;case\"Polygon\":H=T(q.arcs);break;case\"MultiPolygon\":H=q.arcs.map(T);break;default:return null}return{type:V,coordinates:H}}return F(A)}function l(k,A){var L={},_={},C={},M=[],g=-1;A.forEach(function(F,q){var V=k.arcs[F<0?~F:F],H;V.length<3&&!V[1][0]&&!V[1][1]&&(H=A[++g],A[g]=F,A[q]=H)}),A.forEach(function(F){var q=P(F),V=q[0],H=q[1],X,G;if(X=C[V])if(delete C[X.end],X.push(F),X.end=H,G=_[H]){delete _[G.start];var N=G===X?X:X.concat(G);_[N.start=X.start]=C[N.end=G.end]=N}else _[X.start]=C[X.end]=X;else if(X=_[H])if(delete _[X.start],X.unshift(F),X.start=V,G=C[V]){delete C[G.end];var W=G===X?X:G.concat(X);_[W.start=G.start]=C[W.end=X.end]=W}else _[X.start]=C[X.end]=X;else X=[F],_[X.start=V]=C[X.end=H]=X});function P(F){var q=k.arcs[F<0?~F:F],V=q[0],H;return k.transform?(H=[0,0],q.forEach(function(X){H[0]+=X[0],H[1]+=X[1]})):H=q[q.length-1],F<0?[H,V]:[V,H]}function T(F,q){for(var V in F){var H=F[V];delete q[H.start],delete H.start,delete H.end,H.forEach(function(X){L[X<0?~X:X]=1}),M.push(H)}}return T(C,_),T(_,C),A.forEach(function(F){L[F<0?~F:F]||M.push([F])}),M}function u(k){return s(k,c.apply(this,arguments))}function c(k,A,L){var _,C,M;if(arguments.length>1)_=f(k,A,L);else for(C=0,_=new Array(M=k.arcs.length);C<M;++C)_[C]=C;return{type:\"MultiLineString\",arcs:l(k,_)}}function f(k,A,L){var _=[],C=[],M;function g(V){var H=V<0?~V:V;(C[H]||(C[H]=[])).push({i:V,g:M})}function P(V){V.forEach(g)}function T(V){V.forEach(P)}function F(V){V.forEach(T)}function q(V){switch(M=V,V.type){case\"GeometryCollection\":V.geometries.forEach(q);break;case\"LineString\":P(V.arcs);break;case\"MultiLineString\":case\"Polygon\":T(V.arcs);break;case\"MultiPolygon\":F(V.arcs);break}}return q(A),C.forEach(L==null?function(V){_.push(V[0].i)}:function(V){L(V[0].g,V[V.length-1].g)&&_.push(V[0].i)}),_}function h(k){for(var A=-1,L=k.length,_,C=k[L-1],M=0;++A<L;)_=C,C=k[A],M+=_[0]*C[1]-_[1]*C[0];return Math.abs(M)}function d(k){return s(k,v.apply(this,arguments))}function v(k,A){var L={},_=[],C=[];A.forEach(M);function M(T){switch(T.type){case\"GeometryCollection\":T.geometries.forEach(M);break;case\"Polygon\":g(T.arcs);break;case\"MultiPolygon\":T.arcs.forEach(g);break}}function g(T){T.forEach(function(F){F.forEach(function(q){(L[q=q<0?~q:q]||(L[q]=[])).push(T)})}),_.push(T)}function P(T){return h(s(k,{type:\"Polygon\",arcs:[T]}).coordinates[0])}return _.forEach(function(T){if(!T._){var F=[],q=[T];for(T._=1,C.push(F);T=q.pop();)F.push(T),T.forEach(function(V){V.forEach(function(H){L[H<0?~H:H].forEach(function(X){X._||(X._=1,q.push(X))})})})}}),_.forEach(function(T){delete T._}),{type:\"MultiPolygon\",arcs:C.map(function(T){var F=[],q;if(T.forEach(function(N){N.forEach(function(W){W.forEach(function(re){L[re<0?~re:re].length<2&&F.push(re)})})}),F=l(k,F),(q=F.length)>1)for(var V=1,H=P(F[0]),X,G;V<q;++V)(X=P(F[V]))>H&&(G=F[0],F[0]=F[V],F[V]=G,H=X);return F}).filter(function(T){return T.length>0})}}function x(k,A){for(var L=0,_=k.length;L<_;){var C=L+_>>>1;k[C]<A?L=C+1:_=C}return L}function b(k){var A={},L=k.map(function(){return[]});function _(N,W){N.forEach(function(re){re<0&&(re=~re);var ae=A[re];ae?ae.push(W):A[re]=[W]})}function C(N,W){N.forEach(function(re){_(re,W)})}function M(N,W){N.type===\"GeometryCollection\"?N.geometries.forEach(function(re){M(re,W)}):N.type in g&&g[N.type](N.arcs,W)}var g={LineString:_,MultiLineString:C,Polygon:C,MultiPolygon:function(N,W){N.forEach(function(re){C(re,W)})}};k.forEach(M);for(var P in A)for(var T=A[P],F=T.length,q=0;q<F;++q)for(var V=q+1;V<F;++V){var H=T[q],X=T[V],G;(G=L[H])[P=x(G,X)]!==X&&G.splice(P,0,X),(G=L[X])[P=x(G,H)]!==H&&G.splice(P,0,H)}return L}function p(k){if(k==null)return t;var A,L,_=k.scale[0],C=k.scale[1],M=k.translate[0],g=k.translate[1];return function(P,T){T||(A=L=0);var F=2,q=P.length,V=new Array(q),H=Math.round((P[0]-M)/_),X=Math.round((P[1]-g)/C);for(V[0]=H-A,A=H,V[1]=X-L,L=X;F<q;)V[F]=P[F],++F;return V}}function E(k,A){if(k.transform)throw new Error(\"already quantized\");if(!A||!A.scale){if(!((g=Math.floor(A))>=2))throw new Error(\"n must be \\u22652\");T=k.bbox||n(k);var L=T[0],_=T[1],C=T[2],M=T[3],g;A={scale:[C-L?(C-L)/(g-1):1,M-_?(M-_)/(g-1):1],translate:[L,_]}}else T=k.bbox;var P=p(A),T,F,q=k.objects,V={};function H(N){return P(N)}function X(N){var W;switch(N.type){case\"GeometryCollection\":W={type:\"GeometryCollection\",geometries:N.geometries.map(X)};break;case\"Point\":W={type:\"Point\",coordinates:H(N.coordinates)};break;case\"MultiPoint\":W={type:\"MultiPoint\",coordinates:N.coordinates.map(H)};break;default:return N}return N.id!=null&&(W.id=N.id),N.bbox!=null&&(W.bbox=N.bbox),N.properties!=null&&(W.properties=N.properties),W}function G(N){var W=0,re=1,ae=N.length,_e,Me=new Array(ae);for(Me[0]=P(N[0],0);++W<ae;)((_e=P(N[W],W))[0]||_e[1])&&(Me[re++]=_e);return re===1&&(Me[re++]=[0,0]),Me.length=re,Me}for(F in q)V[F]=X(q[F]);return{type:\"Topology\",bbox:T,transform:A,objects:V,arcs:k.arcs.map(G)}}e.bbox=n,e.feature=a,e.merge=d,e.mergeArcs=v,e.mesh=u,e.meshArcs=c,e.neighbors=b,e.quantize=E,e.transform=r,e.untransform=p,Object.defineProperty(e,\"__esModule\",{value:!0})})});var cz=ye((xpr,R8e)=>{\"use strict\";var oX=R8e.exports={},pRt=YE().locationmodeToLayer,gRt=aX().feature;oX.getTopojsonName=function(e){return[e.scope.replace(/ /g,\"-\"),\"_\",e.resolution.toString(),\"m\"].join(\"\")};oX.getTopojsonPath=function(e,t){return e+t+\".json\"};oX.getTopojsonFeatures=function(e,t){var r=pRt[e.locationmode],n=t.objects[r];return gRt(t,n).features}});var rx=ye(KE=>{\"use strict\";var mRt=es().BADNUM;KE.calcTraceToLineCoords=function(e){for(var t=e[0].trace,r=t.connectgaps,n=[],i=[],a=0;a<e.length;a++){var o=e[a],s=o.lonlat;s[0]!==mRt?i.push(s):!r&&i.length>0&&(n.push(i),i=[])}return i.length>0&&n.push(i),n};KE.makeLine=function(e){return e.length===1?{type:\"LineString\",coordinates:e[0]}:{type:\"MultiLineString\",coordinates:e}};KE.makePolygon=function(e){if(e.length===1)return{type:\"Polygon\",coordinates:e};for(var t=new Array(e.length),r=0;r<e.length;r++)t[r]=[e[r]];return{type:\"MultiPolygon\",coordinates:t}};KE.makeBlank=function(){return{type:\"Point\",coordinates:[]}}});var z8e=ye((wpr,D8e)=>{D8e.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\"}});var dz=ye(ku=>{\"use strict\";Object.defineProperty(ku,\"__esModule\",{value:!0});var qp=63710088e-1,lX={centimeters:qp*100,centimetres:qp*100,degrees:360/(2*Math.PI),feet:qp*3.28084,inches:qp*39.37,kilometers:qp/1e3,kilometres:qp/1e3,meters:qp,metres:qp,miles:qp/1609.344,millimeters:qp*1e3,millimetres:qp*1e3,nauticalmiles:qp/1852,radians:1,yards:qp*1.0936},sX={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,nauticalmiles:29155334959812285e-23,millimeters:1e6,millimetres:1e6,yards:1.195990046};function ix(e,t,r={}){let n={type:\"Feature\"};return(r.id===0||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}function yRt(e,t,r={}){switch(e){case\"Point\":return uX(t).geometry;case\"LineString\":return fX(t).geometry;case\"Polygon\":return cX(t).geometry;case\"MultiPoint\":return q8e(t).geometry;case\"MultiLineString\":return F8e(t).geometry;case\"MultiPolygon\":return O8e(t).geometry;default:throw new Error(e+\" is invalid\")}}function uX(e,t,r={}){if(!e)throw new Error(\"coordinates is required\");if(!Array.isArray(e))throw new Error(\"coordinates must be an Array\");if(e.length<2)throw new Error(\"coordinates must be at least 2 numbers long\");if(!fz(e[0])||!fz(e[1]))throw new Error(\"coordinates must contain numbers\");return ix({type:\"Point\",coordinates:e},t,r)}function _Rt(e,t,r={}){return hz(e.map(n=>uX(n,t)),r)}function cX(e,t,r={}){for(let i of e){if(i.length<4)throw new Error(\"Each LinearRing of a Polygon must have 4 or more Positions.\");if(i[i.length-1].length!==i[0].length)throw new Error(\"First and last Position are not equivalent.\");for(let a=0;a<i[i.length-1].length;a++)if(i[i.length-1][a]!==i[0][a])throw new Error(\"First and last Position are not equivalent.\")}return ix({type:\"Polygon\",coordinates:e},t,r)}function xRt(e,t,r={}){return hz(e.map(n=>cX(n,t)),r)}function fX(e,t,r={}){if(e.length<2)throw new Error(\"coordinates must be an array of two or more positions\");return ix({type:\"LineString\",coordinates:e},t,r)}function bRt(e,t,r={}){return hz(e.map(n=>fX(n,t)),r)}function hz(e,t={}){let r={type:\"FeatureCollection\"};return t.id&&(r.id=t.id),t.bbox&&(r.bbox=t.bbox),r.features=e,r}function F8e(e,t,r={}){return ix({type:\"MultiLineString\",coordinates:e},t,r)}function q8e(e,t,r={}){return ix({type:\"MultiPoint\",coordinates:e},t,r)}function O8e(e,t,r={}){return ix({type:\"MultiPolygon\",coordinates:e},t,r)}function wRt(e,t,r={}){return ix({type:\"GeometryCollection\",geometries:e},t,r)}function TRt(e,t=0){if(t&&!(t>=0))throw new Error(\"precision must be a positive number\");let r=Math.pow(10,t||0);return Math.round(e*r)/r}function B8e(e,t=\"kilometers\"){let r=lX[t];if(!r)throw new Error(t+\" units is invalid\");return e*r}function hX(e,t=\"kilometers\"){let r=lX[t];if(!r)throw new Error(t+\" units is invalid\");return e/r}function ARt(e,t){return N8e(hX(e,t))}function SRt(e){let t=e%360;return t<0&&(t+=360),t}function MRt(e){return e=e%360,e>0?e>180?e-360:e:e<-180?e+360:e}function N8e(e){return e%(2*Math.PI)*180/Math.PI}function ERt(e){return e%360*Math.PI/180}function kRt(e,t=\"kilometers\",r=\"kilometers\"){if(!(e>=0))throw new Error(\"length must be a positive number\");return B8e(hX(e,t),r)}function CRt(e,t=\"meters\",r=\"kilometers\"){if(!(e>=0))throw new Error(\"area must be a positive number\");let n=sX[t];if(!n)throw new Error(\"invalid original units\");let i=sX[r];if(!i)throw new Error(\"invalid final units\");return e/n*i}function fz(e){return!isNaN(e)&&e!==null&&!Array.isArray(e)}function LRt(e){return e!==null&&typeof e==\"object\"&&!Array.isArray(e)}function PRt(e){if(!e)throw new Error(\"bbox is required\");if(!Array.isArray(e))throw new Error(\"bbox must be an Array\");if(e.length!==4&&e.length!==6)throw new Error(\"bbox must be an Array of 4 or 6 numbers\");e.forEach(t=>{if(!fz(t))throw new Error(\"bbox must only contain numbers\")})}function IRt(e){if(!e)throw new Error(\"id is required\");if([\"string\",\"number\"].indexOf(typeof e)===-1)throw new Error(\"id must be a number or a string\")}ku.areaFactors=sX;ku.azimuthToBearing=MRt;ku.bearingToAzimuth=SRt;ku.convertArea=CRt;ku.convertLength=kRt;ku.degreesToRadians=ERt;ku.earthRadius=qp;ku.factors=lX;ku.feature=ix;ku.featureCollection=hz;ku.geometry=yRt;ku.geometryCollection=wRt;ku.isNumber=fz;ku.isObject=LRt;ku.lengthToDegrees=ARt;ku.lengthToRadians=hX;ku.lineString=fX;ku.lineStrings=bRt;ku.multiLineString=F8e;ku.multiPoint=q8e;ku.multiPolygon=O8e;ku.point=uX;ku.points=_Rt;ku.polygon=cX;ku.polygons=xRt;ku.radiansToDegrees=N8e;ku.radiansToLength=B8e;ku.round=TRt;ku.validateBBox=PRt;ku.validateId=IRt});var pz=ye(Dd=>{\"use strict\";Object.defineProperty(Dd,\"__esModule\",{value:!0});var jv=dz();function JE(e,t,r){if(e!==null)for(var n,i,a,o,s,l,u,c=0,f=0,h,d=e.type,v=d===\"FeatureCollection\",x=d===\"Feature\",b=v?e.features.length:1,p=0;p<b;p++){u=v?e.features[p].geometry:x?e.geometry:e,h=u?u.type===\"GeometryCollection\":!1,s=h?u.geometries.length:1;for(var E=0;E<s;E++){var k=0,A=0;if(o=h?u.geometries[E]:u,o!==null){l=o.coordinates;var L=o.type;switch(c=r&&(L===\"Polygon\"||L===\"MultiPolygon\")?1:0,L){case null:break;case\"Point\":if(t(l,f,p,k,A)===!1)return!1;f++,k++;break;case\"LineString\":case\"MultiPoint\":for(n=0;n<l.length;n++){if(t(l[n],f,p,k,A)===!1)return!1;f++,L===\"MultiPoint\"&&k++}L===\"LineString\"&&k++;break;case\"Polygon\":case\"MultiLineString\":for(n=0;n<l.length;n++){for(i=0;i<l[n].length-c;i++){if(t(l[n][i],f,p,k,A)===!1)return!1;f++}L===\"MultiLineString\"&&k++,L===\"Polygon\"&&A++}L===\"Polygon\"&&k++;break;case\"MultiPolygon\":for(n=0;n<l.length;n++){for(A=0,i=0;i<l[n].length;i++){for(a=0;a<l[n][i].length-c;a++){if(t(l[n][i][a],f,p,k,A)===!1)return!1;f++}A++}k++}break;case\"GeometryCollection\":for(n=0;n<o.geometries.length;n++)if(JE(o.geometries[n],t,r)===!1)return!1;break;default:throw new Error(\"Unknown Geometry Type\")}}}}}function RRt(e,t,r,n){var i=r;return JE(e,function(a,o,s,l,u){o===0&&r===void 0?i=a:i=t(i,a,o,s,l,u)},n),i}function U8e(e,t){var r;switch(e.type){case\"FeatureCollection\":for(r=0;r<e.features.length&&t(e.features[r].properties,r)!==!1;r++);break;case\"Feature\":t(e.properties,0);break}}function DRt(e,t,r){var n=r;return U8e(e,function(i,a){a===0&&r===void 0?n=i:n=t(n,i,a)}),n}function V8e(e,t){if(e.type===\"Feature\")t(e,0);else if(e.type===\"FeatureCollection\")for(var r=0;r<e.features.length&&t(e.features[r],r)!==!1;r++);}function zRt(e,t,r){var n=r;return V8e(e,function(i,a){a===0&&r===void 0?n=i:n=t(n,i,a)}),n}function FRt(e){var t=[];return JE(e,function(r){t.push(r)}),t}function dX(e,t){var r,n,i,a,o,s,l,u,c,f,h=0,d=e.type===\"FeatureCollection\",v=e.type===\"Feature\",x=d?e.features.length:1;for(r=0;r<x;r++){for(s=d?e.features[r].geometry:v?e.geometry:e,u=d?e.features[r].properties:v?e.properties:{},c=d?e.features[r].bbox:v?e.bbox:void 0,f=d?e.features[r].id:v?e.id:void 0,l=s?s.type===\"GeometryCollection\":!1,o=l?s.geometries.length:1,i=0;i<o;i++){if(a=l?s.geometries[i]:s,a===null){if(t(null,h,u,c,f)===!1)return!1;continue}switch(a.type){case\"Point\":case\"LineString\":case\"MultiPoint\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":{if(t(a,h,u,c,f)===!1)return!1;break}case\"GeometryCollection\":{for(n=0;n<a.geometries.length;n++)if(t(a.geometries[n],h,u,c,f)===!1)return!1;break}default:throw new Error(\"Unknown Geometry Type\")}}h++}}function qRt(e,t,r){var n=r;return dX(e,function(i,a,o,s,l){a===0&&r===void 0?n=i:n=t(n,i,a,o,s,l)}),n}function vz(e,t){dX(e,function(r,n,i,a,o){var s=r===null?null:r.type;switch(s){case null:case\"Point\":case\"LineString\":case\"Polygon\":return t(jv.feature.call(void 0,r,i,{bbox:a,id:o}),n,0)===!1?!1:void 0}var l;switch(s){case\"MultiPoint\":l=\"Point\";break;case\"MultiLineString\":l=\"LineString\";break;case\"MultiPolygon\":l=\"Polygon\";break}for(var u=0;u<r.coordinates.length;u++){var c=r.coordinates[u],f={type:l,coordinates:c};if(t(jv.feature.call(void 0,f,i),n,u)===!1)return!1}})}function ORt(e,t,r){var n=r;return vz(e,function(i,a,o){a===0&&o===0&&r===void 0?n=i:n=t(n,i,a,o)}),n}function H8e(e,t){vz(e,function(r,n,i){var a=0;if(r.geometry){var o=r.geometry.type;if(!(o===\"Point\"||o===\"MultiPoint\")){var s,l=0,u=0,c=0;if(JE(r,function(f,h,d,v,x){if(s===void 0||n>l||v>u||x>c){s=f,l=n,u=v,c=x,a=0;return}var b=jv.lineString.call(void 0,[s,f],r.properties);if(t(b,n,i,x,a)===!1)return!1;a++,s=f})===!1)return!1}}})}function BRt(e,t,r){var n=r,i=!1;return H8e(e,function(a,o,s,l,u){i===!1&&r===void 0?n=a:n=t(n,a,o,s,l,u),i=!0}),n}function G8e(e,t){if(!e)throw new Error(\"geojson is required\");vz(e,function(r,n,i){if(r.geometry!==null){var a=r.geometry.type,o=r.geometry.coordinates;switch(a){case\"LineString\":if(t(r,n,i,0,0)===!1)return!1;break;case\"Polygon\":for(var s=0;s<o.length;s++)if(t(jv.lineString.call(void 0,o[s],r.properties),n,i,s)===!1)return!1;break}}})}function NRt(e,t,r){var n=r;return G8e(e,function(i,a,o,s){a===0&&r===void 0?n=i:n=t(n,i,a,o,s)}),n}function URt(e,t){if(t=t||{},!jv.isObject.call(void 0,t))throw new Error(\"options is invalid\");var r=t.featureIndex||0,n=t.multiFeatureIndex||0,i=t.geometryIndex||0,a=t.segmentIndex||0,o=t.properties,s;switch(e.type){case\"FeatureCollection\":r<0&&(r=e.features.length+r),o=o||e.features[r].properties,s=e.features[r].geometry;break;case\"Feature\":o=o||e.properties,s=e.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":s=e;break;default:throw new Error(\"geojson is invalid\")}if(s===null)return null;var l=s.coordinates;switch(s.type){case\"Point\":case\"MultiPoint\":return null;case\"LineString\":return a<0&&(a=l.length+a-1),jv.lineString.call(void 0,[l[a],l[a+1]],o,t);case\"Polygon\":return i<0&&(i=l.length+i),a<0&&(a=l[i].length+a-1),jv.lineString.call(void 0,[l[i][a],l[i][a+1]],o,t);case\"MultiLineString\":return n<0&&(n=l.length+n),a<0&&(a=l[n].length+a-1),jv.lineString.call(void 0,[l[n][a],l[n][a+1]],o,t);case\"MultiPolygon\":return n<0&&(n=l.length+n),i<0&&(i=l[n].length+i),a<0&&(a=l[n][i].length-a-1),jv.lineString.call(void 0,[l[n][i][a],l[n][i][a+1]],o,t)}throw new Error(\"geojson is invalid\")}function VRt(e,t){if(t=t||{},!jv.isObject.call(void 0,t))throw new Error(\"options is invalid\");var r=t.featureIndex||0,n=t.multiFeatureIndex||0,i=t.geometryIndex||0,a=t.coordIndex||0,o=t.properties,s;switch(e.type){case\"FeatureCollection\":r<0&&(r=e.features.length+r),o=o||e.features[r].properties,s=e.features[r].geometry;break;case\"Feature\":o=o||e.properties,s=e.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":s=e;break;default:throw new Error(\"geojson is invalid\")}if(s===null)return null;var l=s.coordinates;switch(s.type){case\"Point\":return jv.point.call(void 0,l,o,t);case\"MultiPoint\":return n<0&&(n=l.length+n),jv.point.call(void 0,l[n],o,t);case\"LineString\":return a<0&&(a=l.length+a),jv.point.call(void 0,l[a],o,t);case\"Polygon\":return i<0&&(i=l.length+i),a<0&&(a=l[i].length+a),jv.point.call(void 0,l[i][a],o,t);case\"MultiLineString\":return n<0&&(n=l.length+n),a<0&&(a=l[n].length+a),jv.point.call(void 0,l[n][a],o,t);case\"MultiPolygon\":return n<0&&(n=l.length+n),i<0&&(i=l[n].length+i),a<0&&(a=l[n][i].length-a),jv.point.call(void 0,l[n][i][a],o,t)}throw new Error(\"geojson is invalid\")}Dd.coordAll=FRt;Dd.coordEach=JE;Dd.coordReduce=RRt;Dd.featureEach=V8e;Dd.featureReduce=zRt;Dd.findPoint=VRt;Dd.findSegment=URt;Dd.flattenEach=vz;Dd.flattenReduce=ORt;Dd.geomEach=dX;Dd.geomReduce=qRt;Dd.lineEach=G8e;Dd.lineReduce=NRt;Dd.propEach=U8e;Dd.propReduce=DRt;Dd.segmentEach=H8e;Dd.segmentReduce=BRt});var Y8e=ye(gz=>{\"use strict\";Object.defineProperty(gz,\"__esModule\",{value:!0});var j8e=dz(),HRt=pz();function X8e(e){return HRt.geomReduce.call(void 0,e,(t,r)=>t+GRt(r),0)}function GRt(e){let t=0,r;switch(e.type){case\"Polygon\":return W8e(e.coordinates);case\"MultiPolygon\":for(r=0;r<e.coordinates.length;r++)t+=W8e(e.coordinates[r]);return t;case\"Point\":case\"MultiPoint\":case\"LineString\":case\"MultiLineString\":return 0}return 0}function W8e(e){let t=0;if(e&&e.length>0){t+=Math.abs(Z8e(e[0]));for(let r=1;r<e.length;r++)t-=Math.abs(Z8e(e[r]))}return t}var jRt=j8e.earthRadius*j8e.earthRadius/2,vX=Math.PI/180;function Z8e(e){let t=e.length-1;if(t<=2)return 0;let r=0,n=0;for(;n<t;){let i=e[n],a=e[n+1===t?0:n+1],o=e[n+2>=t?(n+2)%t:n+2],s=i[0]*vX,l=a[1]*vX,u=o[0]*vX;r+=(u-s)*Math.sin(l),n++}return r*jRt}var WRt=X8e;gz.area=X8e;gz.default=WRt});var J8e=ye(mz=>{\"use strict\";Object.defineProperty(mz,\"__esModule\",{value:!0});var ZRt=dz(),XRt=pz();function K8e(e,t={}){let r=0,n=0,i=0;return XRt.coordEach.call(void 0,e,function(a){r+=a[0],n+=a[1],i++},!0),ZRt.point.call(void 0,[r/i,n/i],t.properties)}var YRt=K8e;mz.centroid=K8e;mz.default=YRt});var Q8e=ye(yz=>{\"use strict\";Object.defineProperty(yz,\"__esModule\",{value:!0});var KRt=pz();function $8e(e,t={}){if(e.bbox!=null&&t.recompute!==!0)return e.bbox;let r=[1/0,1/0,-1/0,-1/0];return KRt.coordEach.call(void 0,e,n=>{r[0]>n[0]&&(r[0]=n[0]),r[1]>n[1]&&(r[1]=n[1]),r[2]<n[0]&&(r[2]=n[0]),r[3]<n[1]&&(r[3]=n[1])}),r}var JRt=$8e;yz.bbox=$8e;yz.default=JRt});var nx=ye((kpr,nRe)=>{\"use strict\";var $Rt=xa(),rRe=z8e(),{area:QRt}=Y8e(),{centroid:eDt}=J8e(),{bbox:tDt}=Q8e(),eRe=OS(),W5=G1(),rDt=gy(),iDt=ES(),_z=wM(),tRe=Object.keys(rRe),nDt={\"ISO-3\":eRe,\"USA-states\":eRe,\"country names\":aDt};function aDt(e){for(var t=0;t<tRe.length;t++){var r=tRe[t],n=new RegExp(rRe[r]);if(n.test(e.trim().toLowerCase()))return r}return W5.log(\"Unrecognized country name: \"+e+\".\"),!1}function oDt(e,t,r){if(!t||typeof t!=\"string\")return!1;var n=nDt[e](t),i,a,o;if(n){if(e===\"USA-states\")for(i=[],o=0;o<r.length;o++)a=r[o],a.properties&&a.properties.gu&&a.properties.gu===\"USA\"&&i.push(a);else i=r;for(o=0;o<i.length;o++)if(a=i[o],a.id===n)return a;W5.log([\"Location with id\",n,\"does not have a matching topojson feature at this resolution.\"].join(\" \"))}return!1}function sDt(e){var t=e.geometry,r=t.coordinates,n=e.id,i=[],a,o,s,l;function u(c){for(var f=0;f<c.length-1;f++)if(c[f][0]>0&&c[f+1][0]<0)return f;return null}switch(n===\"RUS\"||n===\"FJI\"?a=function(c){var f;if(u(c)===null)f=c;else for(f=new Array(c.length),l=0;l<c.length;l++)f[l]=[c[l][0]<0?c[l][0]+360:c[l][0],c[l][1]];i.push(_z.tester(f))}:n===\"ATA\"?a=function(c){var f=u(c);if(f===null)return i.push(_z.tester(c));var h=new Array(c.length+1),d=0;for(l=0;l<c.length;l++)l>f?h[d++]=[c[l][0]+360,c[l][1]]:l===f?(h[d++]=c[l],h[d++]=[c[l][0],-90]):h[d++]=c[l];var v=_z.tester(h);v.pts.pop(),i.push(v)}:a=function(c){i.push(_z.tester(c))},t.type){case\"MultiPolygon\":for(o=0;o<r.length;o++)for(s=0;s<r[o].length;s++)a(r[o][s]);break;case\"Polygon\":for(o=0;o<r.length;o++)a(r[o]);break}return i}function iRe(e){var t=e.geojson,r=window.PlotlyGeoAssets||{},n=typeof t==\"string\"?r[t]:t;return rDt(n)?n:(W5.error(\"Oops ... something went wrong when fetching \"+t),!1)}function lDt(e){var t=e[0].trace,r=iRe(t);if(!r)return!1;var n={},i=[],a;for(a=0;a<t._length;a++){var o=e[a];(o.loc||o.loc===0)&&(n[o.loc]=o)}function s(c){var f=iDt(c,t.featureidkey||\"id\").get(),h=n[f];if(h){var d=c.geometry;if(d.type===\"Polygon\"||d.type===\"MultiPolygon\"){var v={type:\"Feature\",id:f,geometry:d,properties:{}};v.geometry.coordinates.length>0?v.properties.ct=uDt(v):v.properties.ct=[NaN,NaN],h.fIn=c,h.fOut=v,i.push(v)}else W5.log([\"Location\",h.loc,\"does not have a valid GeoJSON geometry.\",\"Traces with locationmode *geojson-id* only support\",\"*Polygon* and *MultiPolygon* geometries.\"].join(\" \"))}delete n[f]}switch(r.type){case\"FeatureCollection\":var l=r.features;for(a=0;a<l.length;a++)s(l[a]);break;case\"Feature\":s(r);break;default:return W5.warn([\"Invalid GeoJSON type\",(r.type||\"none\")+\".\",\"Traces with locationmode *geojson-id* only support\",\"*FeatureCollection* and *Feature* types.\"].join(\" \")),!1}for(var u in n)W5.log([\"Location *\"+u+\"*\",\"does not have a matching feature with id-key\",\"*\"+t.featureidkey+\"*.\"].join(\" \"));return i}function uDt(e){var t=e.geometry,r;if(t.type===\"MultiPolygon\")for(var n=t.coordinates,i=0,a=0;a<n.length;a++){var o={type:\"Polygon\",coordinates:n[a]},s=QRt(o);s>i&&(i=s,r=o)}else r=t;return eDt(r).geometry.coordinates}function cDt(e){var t=window.PlotlyGeoAssets||{},r=[];function n(l){return new Promise(function(u,c){$Rt.json(l,function(f,h){if(f){delete t[l];var d=f.status===404?'GeoJSON at URL \"'+l+'\" does not exist.':\"Unexpected error while fetching from \"+l;return c(new Error(d))}return t[l]=h,u(h)})})}function i(l){return new Promise(function(u,c){var f=0,h=setInterval(function(){if(t[l]&&t[l]!==\"pending\")return clearInterval(h),u(t[l]);if(f>100)return clearInterval(h),c(\"Unexpected error while fetching from \"+l);f++},50)})}for(var a=0;a<e.length;a++){var o=e[a][0].trace,s=o.geojson;typeof s==\"string\"&&(t[s]?t[s]===\"pending\"&&r.push(i(s)):(t[s]=\"pending\",r.push(n(s))))}return r}function fDt(e){return tDt(e)}nRe.exports={locationToFeature:oDt,feature2polygons:sDt,getTraceGeojson:iRe,extractTraceFeature:lDt,fetchTraceGeoData:cDt,computeBbox:fDt}});var pX=ye((Cpr,sRe)=>{\"use strict\";var hDt=xa(),dDt=ao(),aRe=va(),oRe=op(),vDt=oRe.stylePoints,pDt=oRe.styleText;sRe.exports=function(t,r){r&&gDt(t,r)};function gDt(e,t){var r=t[0].trace,n=t[0].node3;n.style(\"opacity\",t[0].trace.opacity),vDt(n,r,e),pDt(n,r,e),n.selectAll(\"path.js-line\").style(\"fill\",\"none\").each(function(i){var a=hDt.select(this),o=i.trace,s=o.line||{};a.call(aRe.stroke,s.color).call(dDt.dashLine,s.dash||\"\",s.width||0),o.fill!==\"none\"&&a.call(aRe.fill,o.fillcolor)})}});var _X=ye((Lpr,cRe)=>{\"use strict\";var lRe=xa(),bz=Mr(),mDt=cz().getTopojsonFeatures,gX=rx(),xz=nx(),uRe=wg().findExtremes,yX=es().BADNUM,yDt=q0().calcMarkerSize,mX=lu(),_Dt=pX();function xDt(e,t,r){var n=t.layers.frontplot.select(\".scatterlayer\"),i=bz.makeTraceGroups(n,r,\"trace scattergeo\");function a(o,s){o.lonlat[0]===yX&&lRe.select(s).remove()}i.selectAll(\"*\").remove(),i.each(function(o){var s=lRe.select(this),l=o[0].trace;if(mX.hasLines(l)||l.fill!==\"none\"){var u=gX.calcTraceToLineCoords(o),c=l.fill!==\"none\"?gX.makePolygon(u):gX.makeLine(u);s.selectAll(\"path.js-line\").data([{geojson:c,trace:l}]).enter().append(\"path\").classed(\"js-line\",!0).style(\"stroke-miterlimit\",2)}mX.hasMarkers(l)&&s.selectAll(\"path.point\").data(bz.identity).enter().append(\"path\").classed(\"point\",!0).each(function(f){a(f,this)}),mX.hasText(l)&&s.selectAll(\"g\").data(bz.identity).enter().append(\"g\").append(\"text\").each(function(f){a(f,this)}),_Dt(e,o)})}function bDt(e,t){var r=e[0].trace,n=t[r.geo],i=n._subplot,a=r._length,o,s;if(bz.isArrayOrTypedArray(r.locations)){var l=r.locationmode,u=l===\"geojson-id\"?xz.extractTraceFeature(e):mDt(r,i.topojson);for(o=0;o<a;o++){s=e[o];var c=l===\"geojson-id\"?s.fOut:xz.locationToFeature(l,s.loc,u);s.lonlat=c?c.properties.ct:[yX,yX]}}var f={padded:!0},h,d;if(n.fitbounds===\"geojson\"&&r.locationmode===\"geojson-id\"){var v=xz.computeBbox(xz.getTraceGeojson(r));h=[v[0],v[2]],d=[v[1],v[3]]}else{for(h=new Array(a),d=new Array(a),o=0;o<a;o++)s=e[o],h[o]=s.lonlat[0],d[o]=s.lonlat[1];f.ppad=yDt(r,a)}r._extremes.lon=uRe(n.lonaxis._ax,h,f),r._extremes.lat=uRe(n.lataxis._ax,d,f)}cRe.exports={calcGeoJSON:bDt,plot:xDt}});var hRe=ye((Ppr,fRe)=>{\"use strict\";var wDt=Nc(),TDt=es().BADNUM,ADt=oT(),SDt=Mr().fillText,MDt=H2();fRe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.xa,s=t.ya,l=t.subplot,u=l.projection.isLonLatOverEdges,c=l.project;function f(E){var k=E.lonlat;if(k[0]===TDt||u(k))return 1/0;var A=c(k),L=c([r,n]),_=Math.abs(A[0]-L[0]),C=Math.abs(A[1]-L[1]),M=Math.max(3,E.mrc||0);return Math.max(Math.sqrt(_*_+C*C)-M,1-3/M)}if(wDt.getClosest(i,f,t),t.index!==!1){var h=i[t.index],d=h.lonlat,v=[o.c2p(d),s.c2p(d)],x=h.mrc||1;t.x0=v[0]-x,t.x1=v[0]+x,t.y0=v[1]-x,t.y1=v[1]+x,t.loc=h.loc,t.lon=d[0],t.lat=d[1];var b={};b[a.geo]={_subplot:l};var p=a._module.formatLabels(h,a,b);return t.lonLabel=p.lonLabel,t.latLabel=p.latLabel,t.color=ADt(a,h),t.extraText=EDt(a,h,t,i[0].t.labels),t.hovertemplate=a.hovertemplate,[t]}};function EDt(e,t,r,n){if(e.hovertemplate)return;var i=t.hi||e.hoverinfo,a=i===\"all\"?MDt.hoverinfo.flags:i.split(\"+\"),o=a.indexOf(\"location\")!==-1&&Array.isArray(e.locations),s=a.indexOf(\"lon\")!==-1,l=a.indexOf(\"lat\")!==-1,u=a.indexOf(\"text\")!==-1,c=[];function f(h){return h+\"\\xB0\"}return o?c.push(t.loc):s&&l?c.push(\"(\"+f(r.latLabel)+\", \"+f(r.lonLabel)+\")\"):s?c.push(n.lon+f(r.lonLabel)):l&&c.push(n.lat+f(r.latLabel)),u&&SDt(t,e,c),c.join(\"<br>\")}});var vRe=ye((Ipr,dRe)=>{\"use strict\";dRe.exports=function(t,r,n,i,a){t.lon=r.lon,t.lat=r.lat,t.location=r.loc?r.loc:null;var o=i[a];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t}});var mRe=ye((Rpr,gRe)=>{\"use strict\";var pRe=lu(),kDt=es().BADNUM;gRe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l,u,c,f,h,d=!pRe.hasMarkers(s)&&!pRe.hasText(s);if(d)return[];if(r===!1)for(h=0;h<n.length;h++)n[h].selected=0;else for(h=0;h<n.length;h++)l=n[h],u=l.lonlat,u[0]!==kDt&&(c=i.c2p(u),f=a.c2p(u),r.contains([c,f],null,h,t)?(o.push({pointNumber:h,lon:u[0],lat:u[1]}),l.selected=1):l.selected=0);return o}});var $E=ye((wz,yRe)=>{(function(e,t){t(typeof wz==\"object\"&&typeof yRe!=\"undefined\"?wz:e.d3=e.d3||{})})(wz,function(e){\"use strict\";function t(Ee,Ae){return Ee<Ae?-1:Ee>Ae?1:Ee>=Ae?0:NaN}function r(Ee){return Ee.length===1&&(Ee=n(Ee)),{left:function(Ae,ze,Ce,me){for(Ce==null&&(Ce=0),me==null&&(me=Ae.length);Ce<me;){var Re=Ce+me>>>1;Ee(Ae[Re],ze)<0?Ce=Re+1:me=Re}return Ce},right:function(Ae,ze,Ce,me){for(Ce==null&&(Ce=0),me==null&&(me=Ae.length);Ce<me;){var Re=Ce+me>>>1;Ee(Ae[Re],ze)>0?me=Re:Ce=Re+1}return Ce}}}function n(Ee){return function(Ae,ze){return t(Ee(Ae),ze)}}var i=r(t),a=i.right,o=i.left;function s(Ee,Ae){Ae==null&&(Ae=l);for(var ze=0,Ce=Ee.length-1,me=Ee[0],Re=new Array(Ce<0?0:Ce);ze<Ce;)Re[ze]=Ae(me,me=Ee[++ze]);return Re}function l(Ee,Ae){return[Ee,Ae]}function u(Ee,Ae,ze){var Ce=Ee.length,me=Ae.length,Re=new Array(Ce*me),ce,Ge,nt,ct;for(ze==null&&(ze=l),ce=nt=0;ce<Ce;++ce)for(ct=Ee[ce],Ge=0;Ge<me;++Ge,++nt)Re[nt]=ze(ct,Ae[Ge]);return Re}function c(Ee,Ae){return Ae<Ee?-1:Ae>Ee?1:Ae>=Ee?0:NaN}function f(Ee){return Ee===null?NaN:+Ee}function h(Ee,Ae){var ze=Ee.length,Ce=0,me=-1,Re=0,ce,Ge,nt=0;if(Ae==null)for(;++me<ze;)isNaN(ce=f(Ee[me]))||(Ge=ce-Re,Re+=Ge/++Ce,nt+=Ge*(ce-Re));else for(;++me<ze;)isNaN(ce=f(Ae(Ee[me],me,Ee)))||(Ge=ce-Re,Re+=Ge/++Ce,nt+=Ge*(ce-Re));if(Ce>1)return nt/(Ce-1)}function d(Ee,Ae){var ze=h(Ee,Ae);return ze&&Math.sqrt(ze)}function v(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re,ce;if(Ae==null){for(;++Ce<ze;)if((me=Ee[Ce])!=null&&me>=me)for(Re=ce=me;++Ce<ze;)(me=Ee[Ce])!=null&&(Re>me&&(Re=me),ce<me&&(ce=me))}else for(;++Ce<ze;)if((me=Ae(Ee[Ce],Ce,Ee))!=null&&me>=me)for(Re=ce=me;++Ce<ze;)(me=Ae(Ee[Ce],Ce,Ee))!=null&&(Re>me&&(Re=me),ce<me&&(ce=me));return[Re,ce]}var x=Array.prototype,b=x.slice,p=x.map;function E(Ee){return function(){return Ee}}function k(Ee){return Ee}function A(Ee,Ae,ze){Ee=+Ee,Ae=+Ae,ze=(me=arguments.length)<2?(Ae=Ee,Ee=0,1):me<3?1:+ze;for(var Ce=-1,me=Math.max(0,Math.ceil((Ae-Ee)/ze))|0,Re=new Array(me);++Ce<me;)Re[Ce]=Ee+Ce*ze;return Re}var L=Math.sqrt(50),_=Math.sqrt(10),C=Math.sqrt(2);function M(Ee,Ae,ze){var Ce,me=-1,Re,ce,Ge;if(Ae=+Ae,Ee=+Ee,ze=+ze,Ee===Ae&&ze>0)return[Ee];if((Ce=Ae<Ee)&&(Re=Ee,Ee=Ae,Ae=Re),(Ge=g(Ee,Ae,ze))===0||!isFinite(Ge))return[];if(Ge>0)for(Ee=Math.ceil(Ee/Ge),Ae=Math.floor(Ae/Ge),ce=new Array(Re=Math.ceil(Ae-Ee+1));++me<Re;)ce[me]=(Ee+me)*Ge;else for(Ee=Math.floor(Ee*Ge),Ae=Math.ceil(Ae*Ge),ce=new Array(Re=Math.ceil(Ee-Ae+1));++me<Re;)ce[me]=(Ee-me)/Ge;return Ce&&ce.reverse(),ce}function g(Ee,Ae,ze){var Ce=(Ae-Ee)/Math.max(0,ze),me=Math.floor(Math.log(Ce)/Math.LN10),Re=Ce/Math.pow(10,me);return me>=0?(Re>=L?10:Re>=_?5:Re>=C?2:1)*Math.pow(10,me):-Math.pow(10,-me)/(Re>=L?10:Re>=_?5:Re>=C?2:1)}function P(Ee,Ae,ze){var Ce=Math.abs(Ae-Ee)/Math.max(0,ze),me=Math.pow(10,Math.floor(Math.log(Ce)/Math.LN10)),Re=Ce/me;return Re>=L?me*=10:Re>=_?me*=5:Re>=C&&(me*=2),Ae<Ee?-me:me}function T(Ee){return Math.ceil(Math.log(Ee.length)/Math.LN2)+1}function F(){var Ee=k,Ae=v,ze=T;function Ce(me){var Re,ce=me.length,Ge,nt=new Array(ce);for(Re=0;Re<ce;++Re)nt[Re]=Ee(me[Re],Re,me);var ct=Ae(nt),qt=ct[0],rt=ct[1],ot=ze(nt,qt,rt);Array.isArray(ot)||(ot=P(qt,rt,ot),ot=A(Math.ceil(qt/ot)*ot,rt,ot));for(var Rt=ot.length;ot[0]<=qt;)ot.shift(),--Rt;for(;ot[Rt-1]>rt;)ot.pop(),--Rt;var kt=new Array(Rt+1),Ct;for(Re=0;Re<=Rt;++Re)Ct=kt[Re]=[],Ct.x0=Re>0?ot[Re-1]:qt,Ct.x1=Re<Rt?ot[Re]:rt;for(Re=0;Re<ce;++Re)Ge=nt[Re],qt<=Ge&&Ge<=rt&&kt[a(ot,Ge,0,Rt)].push(me[Re]);return kt}return Ce.value=function(me){return arguments.length?(Ee=typeof me==\"function\"?me:E(me),Ce):Ee},Ce.domain=function(me){return arguments.length?(Ae=typeof me==\"function\"?me:E([me[0],me[1]]),Ce):Ae},Ce.thresholds=function(me){return arguments.length?(ze=typeof me==\"function\"?me:Array.isArray(me)?E(b.call(me)):E(me),Ce):ze},Ce}function q(Ee,Ae,ze){if(ze==null&&(ze=f),!!(Ce=Ee.length)){if((Ae=+Ae)<=0||Ce<2)return+ze(Ee[0],0,Ee);if(Ae>=1)return+ze(Ee[Ce-1],Ce-1,Ee);var Ce,me=(Ce-1)*Ae,Re=Math.floor(me),ce=+ze(Ee[Re],Re,Ee),Ge=+ze(Ee[Re+1],Re+1,Ee);return ce+(Ge-ce)*(me-Re)}}function V(Ee,Ae,ze){return Ee=p.call(Ee,f).sort(t),Math.ceil((ze-Ae)/(2*(q(Ee,.75)-q(Ee,.25))*Math.pow(Ee.length,-1/3)))}function H(Ee,Ae,ze){return Math.ceil((ze-Ae)/(3.5*d(Ee)*Math.pow(Ee.length,-1/3)))}function X(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re;if(Ae==null){for(;++Ce<ze;)if((me=Ee[Ce])!=null&&me>=me)for(Re=me;++Ce<ze;)(me=Ee[Ce])!=null&&me>Re&&(Re=me)}else for(;++Ce<ze;)if((me=Ae(Ee[Ce],Ce,Ee))!=null&&me>=me)for(Re=me;++Ce<ze;)(me=Ae(Ee[Ce],Ce,Ee))!=null&&me>Re&&(Re=me);return Re}function G(Ee,Ae){var ze=Ee.length,Ce=ze,me=-1,Re,ce=0;if(Ae==null)for(;++me<ze;)isNaN(Re=f(Ee[me]))?--Ce:ce+=Re;else for(;++me<ze;)isNaN(Re=f(Ae(Ee[me],me,Ee)))?--Ce:ce+=Re;if(Ce)return ce/Ce}function N(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re=[];if(Ae==null)for(;++Ce<ze;)isNaN(me=f(Ee[Ce]))||Re.push(me);else for(;++Ce<ze;)isNaN(me=f(Ae(Ee[Ce],Ce,Ee)))||Re.push(me);return q(Re.sort(t),.5)}function W(Ee){for(var Ae=Ee.length,ze,Ce=-1,me=0,Re,ce;++Ce<Ae;)me+=Ee[Ce].length;for(Re=new Array(me);--Ae>=0;)for(ce=Ee[Ae],ze=ce.length;--ze>=0;)Re[--me]=ce[ze];return Re}function re(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re;if(Ae==null){for(;++Ce<ze;)if((me=Ee[Ce])!=null&&me>=me)for(Re=me;++Ce<ze;)(me=Ee[Ce])!=null&&Re>me&&(Re=me)}else for(;++Ce<ze;)if((me=Ae(Ee[Ce],Ce,Ee))!=null&&me>=me)for(Re=me;++Ce<ze;)(me=Ae(Ee[Ce],Ce,Ee))!=null&&Re>me&&(Re=me);return Re}function ae(Ee,Ae){for(var ze=Ae.length,Ce=new Array(ze);ze--;)Ce[ze]=Ee[Ae[ze]];return Ce}function _e(Ee,Ae){if(ze=Ee.length){var ze,Ce=0,me=0,Re,ce=Ee[me];for(Ae==null&&(Ae=t);++Ce<ze;)(Ae(Re=Ee[Ce],ce)<0||Ae(ce,ce)!==0)&&(ce=Re,me=Ce);if(Ae(ce,ce)===0)return me}}function Me(Ee,Ae,ze){for(var Ce=(ze==null?Ee.length:ze)-(Ae=Ae==null?0:+Ae),me,Re;Ce;)Re=Math.random()*Ce--|0,me=Ee[Ce+Ae],Ee[Ce+Ae]=Ee[Re+Ae],Ee[Re+Ae]=me;return Ee}function ke(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re=0;if(Ae==null)for(;++Ce<ze;)(me=+Ee[Ce])&&(Re+=me);else for(;++Ce<ze;)(me=+Ae(Ee[Ce],Ce,Ee))&&(Re+=me);return Re}function ge(Ee){if(!(Re=Ee.length))return[];for(var Ae=-1,ze=re(Ee,ie),Ce=new Array(ze);++Ae<ze;)for(var me=-1,Re,ce=Ce[Ae]=new Array(Re);++me<Re;)ce[me]=Ee[me][Ae];return Ce}function ie(Ee){return Ee.length}function Te(){return ge(arguments)}e.bisect=a,e.bisectRight=a,e.bisectLeft=o,e.ascending=t,e.bisector=r,e.cross=u,e.descending=c,e.deviation=d,e.extent=v,e.histogram=F,e.thresholdFreedmanDiaconis=V,e.thresholdScott=H,e.thresholdSturges=T,e.max=X,e.mean=G,e.median=N,e.merge=W,e.min=re,e.pairs=s,e.permute=ae,e.quantile=q,e.range=A,e.scan=_e,e.shuffle=Me,e.sum=ke,e.ticks=M,e.tickIncrement=g,e.tickStep=P,e.transpose=ge,e.variance=h,e.zip=Te,Object.defineProperty(e,\"__esModule\",{value:!0})})});var xX=ye((Tz,_Re)=>{(function(e,t){typeof Tz==\"object\"&&typeof _Re!=\"undefined\"?t(Tz,$E()):(e=e||self,t(e.d3=e.d3||{},e.d3))})(Tz,function(e,t){\"use strict\";function r(){return new n}function n(){this.reset()}n.prototype={constructor:n,reset:function(){this.s=this.t=0},add:function(gt){a(i,gt,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(gt,Bt,wr){var vr=gt.s=Bt+wr,Ur=vr-Bt,fi=vr-Ur;gt.t=Bt-fi+(wr-Ur)}var o=1e-6,s=1e-12,l=Math.PI,u=l/2,c=l/4,f=l*2,h=180/l,d=l/180,v=Math.abs,x=Math.atan,b=Math.atan2,p=Math.cos,E=Math.ceil,k=Math.exp,A=Math.log,L=Math.pow,_=Math.sin,C=Math.sign||function(gt){return gt>0?1:gt<0?-1:0},M=Math.sqrt,g=Math.tan;function P(gt){return gt>1?0:gt<-1?l:Math.acos(gt)}function T(gt){return gt>1?u:gt<-1?-u:Math.asin(gt)}function F(gt){return(gt=_(gt/2))*gt}function q(){}function V(gt,Bt){gt&&X.hasOwnProperty(gt.type)&&X[gt.type](gt,Bt)}var H={Feature:function(gt,Bt){V(gt.geometry,Bt)},FeatureCollection:function(gt,Bt){for(var wr=gt.features,vr=-1,Ur=wr.length;++vr<Ur;)V(wr[vr].geometry,Bt)}},X={Sphere:function(gt,Bt){Bt.sphere()},Point:function(gt,Bt){gt=gt.coordinates,Bt.point(gt[0],gt[1],gt[2])},MultiPoint:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)gt=wr[vr],Bt.point(gt[0],gt[1],gt[2])},LineString:function(gt,Bt){G(gt.coordinates,Bt,0)},MultiLineString:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)G(wr[vr],Bt,0)},Polygon:function(gt,Bt){N(gt.coordinates,Bt)},MultiPolygon:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)N(wr[vr],Bt)},GeometryCollection:function(gt,Bt){for(var wr=gt.geometries,vr=-1,Ur=wr.length;++vr<Ur;)V(wr[vr],Bt)}};function G(gt,Bt,wr){var vr=-1,Ur=gt.length-wr,fi;for(Bt.lineStart();++vr<Ur;)fi=gt[vr],Bt.point(fi[0],fi[1],fi[2]);Bt.lineEnd()}function N(gt,Bt){var wr=-1,vr=gt.length;for(Bt.polygonStart();++wr<vr;)G(gt[wr],Bt,1);Bt.polygonEnd()}function W(gt,Bt){gt&&H.hasOwnProperty(gt.type)?H[gt.type](gt,Bt):V(gt,Bt)}var re=r(),ae=r(),_e,Me,ke,ge,ie,Te={point:q,lineStart:q,lineEnd:q,polygonStart:function(){re.reset(),Te.lineStart=Ee,Te.lineEnd=Ae},polygonEnd:function(){var gt=+re;ae.add(gt<0?f+gt:gt),this.lineStart=this.lineEnd=this.point=q},sphere:function(){ae.add(f)}};function Ee(){Te.point=ze}function Ae(){Ce(_e,Me)}function ze(gt,Bt){Te.point=Ce,_e=gt,Me=Bt,gt*=d,Bt*=d,ke=gt,ge=p(Bt=Bt/2+c),ie=_(Bt)}function Ce(gt,Bt){gt*=d,Bt*=d,Bt=Bt/2+c;var wr=gt-ke,vr=wr>=0?1:-1,Ur=vr*wr,fi=p(Bt),xi=_(Bt),Fi=ie*xi,Xi=ge*fi+Fi*p(Ur),hn=Fi*vr*_(Ur);re.add(b(hn,Xi)),ke=gt,ge=fi,ie=xi}function me(gt){return ae.reset(),W(gt,Te),ae*2}function Re(gt){return[b(gt[1],gt[0]),T(gt[2])]}function ce(gt){var Bt=gt[0],wr=gt[1],vr=p(wr);return[vr*p(Bt),vr*_(Bt),_(wr)]}function Ge(gt,Bt){return gt[0]*Bt[0]+gt[1]*Bt[1]+gt[2]*Bt[2]}function nt(gt,Bt){return[gt[1]*Bt[2]-gt[2]*Bt[1],gt[2]*Bt[0]-gt[0]*Bt[2],gt[0]*Bt[1]-gt[1]*Bt[0]]}function ct(gt,Bt){gt[0]+=Bt[0],gt[1]+=Bt[1],gt[2]+=Bt[2]}function qt(gt,Bt){return[gt[0]*Bt,gt[1]*Bt,gt[2]*Bt]}function rt(gt){var Bt=M(gt[0]*gt[0]+gt[1]*gt[1]+gt[2]*gt[2]);gt[0]/=Bt,gt[1]/=Bt,gt[2]/=Bt}var ot,Rt,kt,Ct,Yt,xr,er,Ke,xt=r(),bt,Lt,St={point:Et,lineStart:Ht,lineEnd:$t,polygonStart:function(){St.point=fr,St.lineStart=_r,St.lineEnd=Br,xt.reset(),Te.polygonStart()},polygonEnd:function(){Te.polygonEnd(),St.point=Et,St.lineStart=Ht,St.lineEnd=$t,re<0?(ot=-(kt=180),Rt=-(Ct=90)):xt>o?Ct=90:xt<-o&&(Rt=-90),Lt[0]=ot,Lt[1]=kt},sphere:function(){ot=-(kt=180),Rt=-(Ct=90)}};function Et(gt,Bt){bt.push(Lt=[ot=gt,kt=gt]),Bt<Rt&&(Rt=Bt),Bt>Ct&&(Ct=Bt)}function dt(gt,Bt){var wr=ce([gt*d,Bt*d]);if(Ke){var vr=nt(Ke,wr),Ur=[vr[1],-vr[0],0],fi=nt(Ur,vr);rt(fi),fi=Re(fi);var xi=gt-Yt,Fi=xi>0?1:-1,Xi=fi[0]*h*Fi,hn,Ti=v(xi)>180;Ti^(Fi*Yt<Xi&&Xi<Fi*gt)?(hn=fi[1]*h,hn>Ct&&(Ct=hn)):(Xi=(Xi+360)%360-180,Ti^(Fi*Yt<Xi&&Xi<Fi*gt)?(hn=-fi[1]*h,hn<Rt&&(Rt=hn)):(Bt<Rt&&(Rt=Bt),Bt>Ct&&(Ct=Bt))),Ti?gt<Yt?Or(ot,gt)>Or(ot,kt)&&(kt=gt):Or(gt,kt)>Or(ot,kt)&&(ot=gt):kt>=ot?(gt<ot&&(ot=gt),gt>kt&&(kt=gt)):gt>Yt?Or(ot,gt)>Or(ot,kt)&&(kt=gt):Or(gt,kt)>Or(ot,kt)&&(ot=gt)}else bt.push(Lt=[ot=gt,kt=gt]);Bt<Rt&&(Rt=Bt),Bt>Ct&&(Ct=Bt),Ke=wr,Yt=gt}function Ht(){St.point=dt}function $t(){Lt[0]=ot,Lt[1]=kt,St.point=Et,Ke=null}function fr(gt,Bt){if(Ke){var wr=gt-Yt;xt.add(v(wr)>180?wr+(wr>0?360:-360):wr)}else xr=gt,er=Bt;Te.point(gt,Bt),dt(gt,Bt)}function _r(){Te.lineStart()}function Br(){fr(xr,er),Te.lineEnd(),v(xt)>o&&(ot=-(kt=180)),Lt[0]=ot,Lt[1]=kt,Ke=null}function Or(gt,Bt){return(Bt-=gt)<0?Bt+360:Bt}function Nr(gt,Bt){return gt[0]-Bt[0]}function ut(gt,Bt){return gt[0]<=gt[1]?gt[0]<=Bt&&Bt<=gt[1]:Bt<gt[0]||gt[1]<Bt}function Ne(gt){var Bt,wr,vr,Ur,fi,xi,Fi;if(Ct=kt=-(ot=Rt=1/0),bt=[],W(gt,St),wr=bt.length){for(bt.sort(Nr),Bt=1,vr=bt[0],fi=[vr];Bt<wr;++Bt)Ur=bt[Bt],ut(vr,Ur[0])||ut(vr,Ur[1])?(Or(vr[0],Ur[1])>Or(vr[0],vr[1])&&(vr[1]=Ur[1]),Or(Ur[0],vr[1])>Or(vr[0],vr[1])&&(vr[0]=Ur[0])):fi.push(vr=Ur);for(xi=-1/0,wr=fi.length-1,Bt=0,vr=fi[wr];Bt<=wr;vr=Ur,++Bt)Ur=fi[Bt],(Fi=Or(vr[1],Ur[0]))>xi&&(xi=Fi,ot=Ur[0],kt=vr[1])}return bt=Lt=null,ot===1/0||Rt===1/0?[[NaN,NaN],[NaN,NaN]]:[[ot,Rt],[kt,Ct]]}var Ye,Ve,Xe,ht,Le,xe,Se,lt,Gt,Vt,ar,Qr,ai,jr,ri,bi,nn={sphere:q,point:Wi,lineStart:_n,lineEnd:Wn,polygonStart:function(){nn.lineStart=It,nn.lineEnd=ft},polygonEnd:function(){nn.lineStart=_n,nn.lineEnd=Wn}};function Wi(gt,Bt){gt*=d,Bt*=d;var wr=p(Bt);Ni(wr*p(gt),wr*_(gt),_(Bt))}function Ni(gt,Bt,wr){++Ye,Xe+=(gt-Xe)/Ye,ht+=(Bt-ht)/Ye,Le+=(wr-Le)/Ye}function _n(){nn.point=$i}function $i(gt,Bt){gt*=d,Bt*=d;var wr=p(Bt);jr=wr*p(gt),ri=wr*_(gt),bi=_(Bt),nn.point=zn,Ni(jr,ri,bi)}function zn(gt,Bt){gt*=d,Bt*=d;var wr=p(Bt),vr=wr*p(gt),Ur=wr*_(gt),fi=_(Bt),xi=b(M((xi=ri*fi-bi*Ur)*xi+(xi=bi*vr-jr*fi)*xi+(xi=jr*Ur-ri*vr)*xi),jr*vr+ri*Ur+bi*fi);Ve+=xi,xe+=xi*(jr+(jr=vr)),Se+=xi*(ri+(ri=Ur)),lt+=xi*(bi+(bi=fi)),Ni(jr,ri,bi)}function Wn(){nn.point=Wi}function It(){nn.point=jt}function ft(){Zt(Qr,ai),nn.point=Wi}function jt(gt,Bt){Qr=gt,ai=Bt,gt*=d,Bt*=d,nn.point=Zt;var wr=p(Bt);jr=wr*p(gt),ri=wr*_(gt),bi=_(Bt),Ni(jr,ri,bi)}function Zt(gt,Bt){gt*=d,Bt*=d;var wr=p(Bt),vr=wr*p(gt),Ur=wr*_(gt),fi=_(Bt),xi=ri*fi-bi*Ur,Fi=bi*vr-jr*fi,Xi=jr*Ur-ri*vr,hn=M(xi*xi+Fi*Fi+Xi*Xi),Ti=T(hn),qi=hn&&-Ti/hn;Gt+=qi*xi,Vt+=qi*Fi,ar+=qi*Xi,Ve+=Ti,xe+=Ti*(jr+(jr=vr)),Se+=Ti*(ri+(ri=Ur)),lt+=Ti*(bi+(bi=fi)),Ni(jr,ri,bi)}function yr(gt){Ye=Ve=Xe=ht=Le=xe=Se=lt=Gt=Vt=ar=0,W(gt,nn);var Bt=Gt,wr=Vt,vr=ar,Ur=Bt*Bt+wr*wr+vr*vr;return Ur<s&&(Bt=xe,wr=Se,vr=lt,Ve<o&&(Bt=Xe,wr=ht,vr=Le),Ur=Bt*Bt+wr*wr+vr*vr,Ur<s)?[NaN,NaN]:[b(wr,Bt)*h,T(vr/M(Ur))*h]}function Fr(gt){return function(){return gt}}function Zr(gt,Bt){function wr(vr,Ur){return vr=gt(vr,Ur),Bt(vr[0],vr[1])}return gt.invert&&Bt.invert&&(wr.invert=function(vr,Ur){return vr=Bt.invert(vr,Ur),vr&>.invert(vr[0],vr[1])}),wr}function Vr(gt,Bt){return[v(gt)>l?gt+Math.round(-gt/f)*f:gt,Bt]}Vr.invert=Vr;function gi(gt,Bt,wr){return(gt%=f)?Bt||wr?Zr(Mi(gt),Pi(Bt,wr)):Mi(gt):Bt||wr?Pi(Bt,wr):Vr}function Si(gt){return function(Bt,wr){return Bt+=gt,[Bt>l?Bt-f:Bt<-l?Bt+f:Bt,wr]}}function Mi(gt){var Bt=Si(gt);return Bt.invert=Si(-gt),Bt}function Pi(gt,Bt){var wr=p(gt),vr=_(gt),Ur=p(Bt),fi=_(Bt);function xi(Fi,Xi){var hn=p(Xi),Ti=p(Fi)*hn,qi=_(Fi)*hn,Ii=_(Xi),mi=Ii*wr+Ti*vr;return[b(qi*Ur-mi*fi,Ti*wr-Ii*vr),T(mi*Ur+qi*fi)]}return xi.invert=function(Fi,Xi){var hn=p(Xi),Ti=p(Fi)*hn,qi=_(Fi)*hn,Ii=_(Xi),mi=Ii*Ur-qi*fi;return[b(qi*Ur+Ii*fi,Ti*wr+mi*vr),T(mi*wr-Ti*vr)]},xi}function Gi(gt){gt=gi(gt[0]*d,gt[1]*d,gt.length>2?gt[2]*d:0);function Bt(wr){return wr=gt(wr[0]*d,wr[1]*d),wr[0]*=h,wr[1]*=h,wr}return Bt.invert=function(wr){return wr=gt.invert(wr[0]*d,wr[1]*d),wr[0]*=h,wr[1]*=h,wr},Bt}function Ki(gt,Bt,wr,vr,Ur,fi){if(wr){var xi=p(Bt),Fi=_(Bt),Xi=vr*wr;Ur==null?(Ur=Bt+vr*f,fi=Bt-Xi/2):(Ur=ka(xi,Ur),fi=ka(xi,fi),(vr>0?Ur<fi:Ur>fi)&&(Ur+=vr*f));for(var hn,Ti=Ur;vr>0?Ti>fi:Ti<fi;Ti-=Xi)hn=Re([xi,-Fi*p(Ti),-Fi*_(Ti)]),gt.point(hn[0],hn[1])}}function ka(gt,Bt){Bt=ce(Bt),Bt[0]-=gt,rt(Bt);var wr=P(-Bt[1]);return((-Bt[2]<0?-wr:wr)+f-o)%f}function jn(){var gt=Fr([0,0]),Bt=Fr(90),wr=Fr(6),vr,Ur,fi={point:xi};function xi(Xi,hn){vr.push(Xi=Ur(Xi,hn)),Xi[0]*=h,Xi[1]*=h}function Fi(){var Xi=gt.apply(this,arguments),hn=Bt.apply(this,arguments)*d,Ti=wr.apply(this,arguments)*d;return vr=[],Ur=gi(-Xi[0]*d,-Xi[1]*d,0).invert,Ki(fi,hn,Ti,1),Xi={type:\"Polygon\",coordinates:[vr]},vr=Ur=null,Xi}return Fi.center=function(Xi){return arguments.length?(gt=typeof Xi==\"function\"?Xi:Fr([+Xi[0],+Xi[1]]),Fi):gt},Fi.radius=function(Xi){return arguments.length?(Bt=typeof Xi==\"function\"?Xi:Fr(+Xi),Fi):Bt},Fi.precision=function(Xi){return arguments.length?(wr=typeof Xi==\"function\"?Xi:Fr(+Xi),Fi):wr},Fi}function la(){var gt=[],Bt;return{point:function(wr,vr,Ur){Bt.push([wr,vr,Ur])},lineStart:function(){gt.push(Bt=[])},lineEnd:q,rejoin:function(){gt.length>1&>.push(gt.pop().concat(gt.shift()))},result:function(){var wr=gt;return gt=[],Bt=null,wr}}}function Fa(gt,Bt){return v(gt[0]-Bt[0])<o&&v(gt[1]-Bt[1])<o}function Ra(gt,Bt,wr,vr){this.x=gt,this.z=Bt,this.o=wr,this.e=vr,this.v=!1,this.n=this.p=null}function jo(gt,Bt,wr,vr,Ur){var fi=[],xi=[],Fi,Xi;if(gt.forEach(function(Pn){if(!((Ma=Pn.length-1)<=0)){var Ma,Ta=Pn[0],Ea=Pn[Ma],qa;if(Fa(Ta,Ea)){if(!Ta[2]&&!Ea[2]){for(Ur.lineStart(),Fi=0;Fi<Ma;++Fi)Ur.point((Ta=Pn[Fi])[0],Ta[1]);Ur.lineEnd();return}Ea[0]+=2*o}fi.push(qa=new Ra(Ta,Pn,null,!0)),xi.push(qa.o=new Ra(Ta,null,qa,!1)),fi.push(qa=new Ra(Ea,Pn,null,!1)),xi.push(qa.o=new Ra(Ea,null,qa,!0))}}),!!fi.length){for(xi.sort(Bt),oa(fi),oa(xi),Fi=0,Xi=xi.length;Fi<Xi;++Fi)xi[Fi].e=wr=!wr;for(var hn=fi[0],Ti,qi;;){for(var Ii=hn,mi=!0;Ii.v;)if((Ii=Ii.n)===hn)return;Ti=Ii.z,Ur.lineStart();do{if(Ii.v=Ii.o.v=!0,Ii.e){if(mi)for(Fi=0,Xi=Ti.length;Fi<Xi;++Fi)Ur.point((qi=Ti[Fi])[0],qi[1]);else vr(Ii.x,Ii.n.x,1,Ur);Ii=Ii.n}else{if(mi)for(Ti=Ii.p.z,Fi=Ti.length-1;Fi>=0;--Fi)Ur.point((qi=Ti[Fi])[0],qi[1]);else vr(Ii.x,Ii.p.x,-1,Ur);Ii=Ii.p}Ii=Ii.o,Ti=Ii.z,mi=!mi}while(!Ii.v);Ur.lineEnd()}}}function oa(gt){if(Bt=gt.length){for(var Bt,wr=0,vr=gt[0],Ur;++wr<Bt;)vr.n=Ur=gt[wr],Ur.p=vr,vr=Ur;vr.n=Ur=gt[0],Ur.p=vr}}var Sn=r();function Ha(gt){return v(gt[0])<=l?gt[0]:C(gt[0])*((v(gt[0])+l)%f-l)}function oo(gt,Bt){var wr=Ha(Bt),vr=Bt[1],Ur=_(vr),fi=[_(wr),-p(wr),0],xi=0,Fi=0;Sn.reset(),Ur===1?vr=u+o:Ur===-1&&(vr=-u-o);for(var Xi=0,hn=gt.length;Xi<hn;++Xi)if(qi=(Ti=gt[Xi]).length)for(var Ti,qi,Ii=Ti[qi-1],mi=Ha(Ii),Pn=Ii[1]/2+c,Ma=_(Pn),Ta=p(Pn),Ea=0;Ea<qi;++Ea,mi=Cn,Ma=Ua,Ta=mo,Ii=qa){var qa=Ti[Ea],Cn=Ha(qa),sn=qa[1]/2+c,Ua=_(sn),mo=p(sn),Xo=Cn-mi,Ts=Xo>=0?1:-1,Qo=Ts*Xo,ys=Qo>l,Bo=Ma*Ua;if(Sn.add(b(Bo*Ts*_(Qo),Ta*mo+Bo*p(Qo))),xi+=ys?Xo+Ts*f:Xo,ys^mi>=wr^Cn>=wr){var yl=nt(ce(Ii),ce(qa));rt(yl);var Gs=nt(fi,yl);rt(Gs);var Rs=(ys^Xo>=0?-1:1)*T(Gs[2]);(vr>Rs||vr===Rs&&(yl[0]||yl[1]))&&(Fi+=ys^Xo>=0?1:-1)}}return(xi<-o||xi<o&&Sn<-o)^Fi&1}function xn(gt,Bt,wr,vr){return function(Ur){var fi=Bt(Ur),xi=la(),Fi=Bt(xi),Xi=!1,hn,Ti,qi,Ii={point:mi,lineStart:Ma,lineEnd:Ta,polygonStart:function(){Ii.point=Ea,Ii.lineStart=qa,Ii.lineEnd=Cn,Ti=[],hn=[]},polygonEnd:function(){Ii.point=mi,Ii.lineStart=Ma,Ii.lineEnd=Ta,Ti=t.merge(Ti);var sn=oo(hn,vr);Ti.length?(Xi||(Ur.polygonStart(),Xi=!0),jo(Ti,br,sn,wr,Ur)):sn&&(Xi||(Ur.polygonStart(),Xi=!0),Ur.lineStart(),wr(null,null,1,Ur),Ur.lineEnd()),Xi&&(Ur.polygonEnd(),Xi=!1),Ti=hn=null},sphere:function(){Ur.polygonStart(),Ur.lineStart(),wr(null,null,1,Ur),Ur.lineEnd(),Ur.polygonEnd()}};function mi(sn,Ua){gt(sn,Ua)&&Ur.point(sn,Ua)}function Pn(sn,Ua){fi.point(sn,Ua)}function Ma(){Ii.point=Pn,fi.lineStart()}function Ta(){Ii.point=mi,fi.lineEnd()}function Ea(sn,Ua){qi.push([sn,Ua]),Fi.point(sn,Ua)}function qa(){Fi.lineStart(),qi=[]}function Cn(){Ea(qi[0][0],qi[0][1]),Fi.lineEnd();var sn=Fi.clean(),Ua=xi.result(),mo,Xo=Ua.length,Ts,Qo,ys;if(qi.pop(),hn.push(qi),qi=null,!!Xo){if(sn&1){if(Qo=Ua[0],(Ts=Qo.length-1)>0){for(Xi||(Ur.polygonStart(),Xi=!0),Ur.lineStart(),mo=0;mo<Ts;++mo)Ur.point((ys=Qo[mo])[0],ys[1]);Ur.lineEnd()}return}Xo>1&&sn&2&&Ua.push(Ua.pop().concat(Ua.shift())),Ti.push(Ua.filter(_t))}}return Ii}}function _t(gt){return gt.length>1}function br(gt,Bt){return((gt=gt.x)[0]<0?gt[1]-u-o:u-gt[1])-((Bt=Bt.x)[0]<0?Bt[1]-u-o:u-Bt[1])}var Hr=xn(function(){return!0},ti,Yi,[-l,-u]);function ti(gt){var Bt=NaN,wr=NaN,vr=NaN,Ur;return{lineStart:function(){gt.lineStart(),Ur=1},point:function(fi,xi){var Fi=fi>0?l:-l,Xi=v(fi-Bt);v(Xi-l)<o?(gt.point(Bt,wr=(wr+xi)/2>0?u:-u),gt.point(vr,wr),gt.lineEnd(),gt.lineStart(),gt.point(Fi,wr),gt.point(fi,wr),Ur=0):vr!==Fi&&Xi>=l&&(v(Bt-vr)<o&&(Bt-=vr*o),v(fi-Fi)<o&&(fi-=Fi*o),wr=zi(Bt,wr,fi,xi),gt.point(vr,wr),gt.lineEnd(),gt.lineStart(),gt.point(Fi,wr),Ur=0),gt.point(Bt=fi,wr=xi),vr=Fi},lineEnd:function(){gt.lineEnd(),Bt=wr=NaN},clean:function(){return 2-Ur}}}function zi(gt,Bt,wr,vr){var Ur,fi,xi=_(gt-wr);return v(xi)>o?x((_(Bt)*(fi=p(vr))*_(wr)-_(vr)*(Ur=p(Bt))*_(gt))/(Ur*fi*xi)):(Bt+vr)/2}function Yi(gt,Bt,wr,vr){var Ur;if(gt==null)Ur=wr*u,vr.point(-l,Ur),vr.point(0,Ur),vr.point(l,Ur),vr.point(l,0),vr.point(l,-Ur),vr.point(0,-Ur),vr.point(-l,-Ur),vr.point(-l,0),vr.point(-l,Ur);else if(v(gt[0]-Bt[0])>o){var fi=gt[0]<Bt[0]?l:-l;Ur=wr*fi/2,vr.point(-fi,Ur),vr.point(0,Ur),vr.point(fi,Ur)}else vr.point(Bt[0],Bt[1])}function an(gt){var Bt=p(gt),wr=6*d,vr=Bt>0,Ur=v(Bt)>o;function fi(Ti,qi,Ii,mi){Ki(mi,gt,wr,Ii,Ti,qi)}function xi(Ti,qi){return p(Ti)*p(qi)>Bt}function Fi(Ti){var qi,Ii,mi,Pn,Ma;return{lineStart:function(){Pn=mi=!1,Ma=1},point:function(Ta,Ea){var qa=[Ta,Ea],Cn,sn=xi(Ta,Ea),Ua=vr?sn?0:hn(Ta,Ea):sn?hn(Ta+(Ta<0?l:-l),Ea):0;if(!qi&&(Pn=mi=sn)&&Ti.lineStart(),sn!==mi&&(Cn=Xi(qi,qa),(!Cn||Fa(qi,Cn)||Fa(qa,Cn))&&(qa[2]=1)),sn!==mi)Ma=0,sn?(Ti.lineStart(),Cn=Xi(qa,qi),Ti.point(Cn[0],Cn[1])):(Cn=Xi(qi,qa),Ti.point(Cn[0],Cn[1],2),Ti.lineEnd()),qi=Cn;else if(Ur&&qi&&vr^sn){var mo;!(Ua&Ii)&&(mo=Xi(qa,qi,!0))&&(Ma=0,vr?(Ti.lineStart(),Ti.point(mo[0][0],mo[0][1]),Ti.point(mo[1][0],mo[1][1]),Ti.lineEnd()):(Ti.point(mo[1][0],mo[1][1]),Ti.lineEnd(),Ti.lineStart(),Ti.point(mo[0][0],mo[0][1],3)))}sn&&(!qi||!Fa(qi,qa))&&Ti.point(qa[0],qa[1]),qi=qa,mi=sn,Ii=Ua},lineEnd:function(){mi&&Ti.lineEnd(),qi=null},clean:function(){return Ma|(Pn&&mi)<<1}}}function Xi(Ti,qi,Ii){var mi=ce(Ti),Pn=ce(qi),Ma=[1,0,0],Ta=nt(mi,Pn),Ea=Ge(Ta,Ta),qa=Ta[0],Cn=Ea-qa*qa;if(!Cn)return!Ii&&Ti;var sn=Bt*Ea/Cn,Ua=-Bt*qa/Cn,mo=nt(Ma,Ta),Xo=qt(Ma,sn),Ts=qt(Ta,Ua);ct(Xo,Ts);var Qo=mo,ys=Ge(Xo,Qo),Bo=Ge(Qo,Qo),yl=ys*ys-Bo*(Ge(Xo,Xo)-1);if(!(yl<0)){var Gs=M(yl),Rs=qt(Qo,(-ys-Gs)/Bo);if(ct(Rs,Xo),Rs=Re(Rs),!Ii)return Rs;var ia=Ti[0],Ka=qi[0],vs=Ti[1],Ko=qi[1],nu;Ka<ia&&(nu=ia,ia=Ka,Ka=nu);var Ru=Ka-ia,ac=v(Ru-l)<o,mf=ac||Ru<o;if(!ac&&Ko<vs&&(nu=vs,vs=Ko,Ko=nu),mf?ac?vs+Ko>0^Rs[1]<(v(Rs[0]-ia)<o?vs:Ko):vs<=Rs[1]&&Rs[1]<=Ko:Ru>l^(ia<=Rs[0]&&Rs[0]<=Ka)){var bu=qt(Qo,(-ys+Gs)/Bo);return ct(bu,Xo),[Rs,Re(bu)]}}}function hn(Ti,qi){var Ii=vr?gt:l-gt,mi=0;return Ti<-Ii?mi|=1:Ti>Ii&&(mi|=2),qi<-Ii?mi|=4:qi>Ii&&(mi|=8),mi}return xn(xi,Fi,fi,vr?[0,-gt]:[-l,gt-l])}function hi(gt,Bt,wr,vr,Ur,fi){var xi=gt[0],Fi=gt[1],Xi=Bt[0],hn=Bt[1],Ti=0,qi=1,Ii=Xi-xi,mi=hn-Fi,Pn;if(Pn=wr-xi,!(!Ii&&Pn>0)){if(Pn/=Ii,Ii<0){if(Pn<Ti)return;Pn<qi&&(qi=Pn)}else if(Ii>0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}if(Pn=Ur-xi,!(!Ii&&Pn<0)){if(Pn/=Ii,Ii<0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}else if(Ii>0){if(Pn<Ti)return;Pn<qi&&(qi=Pn)}if(Pn=vr-Fi,!(!mi&&Pn>0)){if(Pn/=mi,mi<0){if(Pn<Ti)return;Pn<qi&&(qi=Pn)}else if(mi>0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}if(Pn=fi-Fi,!(!mi&&Pn<0)){if(Pn/=mi,mi<0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}else if(mi>0){if(Pn<Ti)return;Pn<qi&&(qi=Pn)}return Ti>0&&(gt[0]=xi+Ti*Ii,gt[1]=Fi+Ti*mi),qi<1&&(Bt[0]=xi+qi*Ii,Bt[1]=Fi+qi*mi),!0}}}}}var Ji=1e9,ua=-Ji;function Fn(gt,Bt,wr,vr){function Ur(hn,Ti){return gt<=hn&&hn<=wr&&Bt<=Ti&&Ti<=vr}function fi(hn,Ti,qi,Ii){var mi=0,Pn=0;if(hn==null||(mi=xi(hn,qi))!==(Pn=xi(Ti,qi))||Xi(hn,Ti)<0^qi>0)do Ii.point(mi===0||mi===3?gt:wr,mi>1?vr:Bt);while((mi=(mi+qi+4)%4)!==Pn);else Ii.point(Ti[0],Ti[1])}function xi(hn,Ti){return v(hn[0]-gt)<o?Ti>0?0:3:v(hn[0]-wr)<o?Ti>0?2:1:v(hn[1]-Bt)<o?Ti>0?1:0:Ti>0?3:2}function Fi(hn,Ti){return Xi(hn.x,Ti.x)}function Xi(hn,Ti){var qi=xi(hn,1),Ii=xi(Ti,1);return qi!==Ii?qi-Ii:qi===0?Ti[1]-hn[1]:qi===1?hn[0]-Ti[0]:qi===2?hn[1]-Ti[1]:Ti[0]-hn[0]}return function(hn){var Ti=hn,qi=la(),Ii,mi,Pn,Ma,Ta,Ea,qa,Cn,sn,Ua,mo,Xo={point:Ts,lineStart:yl,lineEnd:Gs,polygonStart:ys,polygonEnd:Bo};function Ts(ia,Ka){Ur(ia,Ka)&&Ti.point(ia,Ka)}function Qo(){for(var ia=0,Ka=0,vs=mi.length;Ka<vs;++Ka)for(var Ko=mi[Ka],nu=1,Ru=Ko.length,ac=Ko[0],mf,bu,Kc=ac[0],Du=ac[1];nu<Ru;++nu)mf=Kc,bu=Du,ac=Ko[nu],Kc=ac[0],Du=ac[1],bu<=vr?Du>vr&&(Kc-mf)*(vr-bu)>(Du-bu)*(gt-mf)&&++ia:Du<=vr&&(Kc-mf)*(vr-bu)<(Du-bu)*(gt-mf)&&--ia;return ia}function ys(){Ti=qi,Ii=[],mi=[],mo=!0}function Bo(){var ia=Qo(),Ka=mo&&ia,vs=(Ii=t.merge(Ii)).length;(Ka||vs)&&(hn.polygonStart(),Ka&&(hn.lineStart(),fi(null,null,1,hn),hn.lineEnd()),vs&&jo(Ii,Fi,ia,fi,hn),hn.polygonEnd()),Ti=hn,Ii=mi=Pn=null}function yl(){Xo.point=Rs,mi&&mi.push(Pn=[]),Ua=!0,sn=!1,qa=Cn=NaN}function Gs(){Ii&&(Rs(Ma,Ta),Ea&&sn&&qi.rejoin(),Ii.push(qi.result())),Xo.point=Ts,sn&&Ti.lineEnd()}function Rs(ia,Ka){var vs=Ur(ia,Ka);if(mi&&Pn.push([ia,Ka]),Ua)Ma=ia,Ta=Ka,Ea=vs,Ua=!1,vs&&(Ti.lineStart(),Ti.point(ia,Ka));else if(vs&&sn)Ti.point(ia,Ka);else{var Ko=[qa=Math.max(ua,Math.min(Ji,qa)),Cn=Math.max(ua,Math.min(Ji,Cn))],nu=[ia=Math.max(ua,Math.min(Ji,ia)),Ka=Math.max(ua,Math.min(Ji,Ka))];hi(Ko,nu,gt,Bt,wr,vr)?(sn||(Ti.lineStart(),Ti.point(Ko[0],Ko[1])),Ti.point(nu[0],nu[1]),vs||Ti.lineEnd(),mo=!1):vs&&(Ti.lineStart(),Ti.point(ia,Ka),mo=!1)}qa=ia,Cn=Ka,sn=vs}return Xo}}function Sa(){var gt=0,Bt=0,wr=960,vr=500,Ur,fi,xi;return xi={stream:function(Fi){return Ur&&fi===Fi?Ur:Ur=Fn(gt,Bt,wr,vr)(fi=Fi)},extent:function(Fi){return arguments.length?(gt=+Fi[0][0],Bt=+Fi[0][1],wr=+Fi[1][0],vr=+Fi[1][1],Ur=fi=null,xi):[[gt,Bt],[wr,vr]]}}}var go=r(),Oo,ho,Mo,xo={sphere:q,point:q,lineStart:zs,lineEnd:q,polygonStart:q,polygonEnd:q};function zs(){xo.point=Zs,xo.lineEnd=ks}function ks(){xo.point=xo.lineEnd=q}function Zs(gt,Bt){gt*=d,Bt*=d,Oo=gt,ho=_(Bt),Mo=p(Bt),xo.point=Xs}function Xs(gt,Bt){gt*=d,Bt*=d;var wr=_(Bt),vr=p(Bt),Ur=v(gt-Oo),fi=p(Ur),xi=_(Ur),Fi=vr*xi,Xi=Mo*wr-ho*vr*fi,hn=ho*wr+Mo*vr*fi;go.add(b(M(Fi*Fi+Xi*Xi),hn)),Oo=gt,ho=wr,Mo=vr}function wl(gt){return go.reset(),W(gt,xo),+go}var os=[null,null],cl={type:\"LineString\",coordinates:os};function Cs(gt,Bt){return os[0]=gt,os[1]=Bt,wl(cl)}var ml={Feature:function(gt,Bt){return Hs(gt.geometry,Bt)},FeatureCollection:function(gt,Bt){for(var wr=gt.features,vr=-1,Ur=wr.length;++vr<Ur;)if(Hs(wr[vr].geometry,Bt))return!0;return!1}},Ys={Sphere:function(){return!0},Point:function(gt,Bt){return Eo(gt.coordinates,Bt)},MultiPoint:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)if(Eo(wr[vr],Bt))return!0;return!1},LineString:function(gt,Bt){return fs(gt.coordinates,Bt)},MultiLineString:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)if(fs(wr[vr],Bt))return!0;return!1},Polygon:function(gt,Bt){return Ql(gt.coordinates,Bt)},MultiPolygon:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)if(Ql(wr[vr],Bt))return!0;return!1},GeometryCollection:function(gt,Bt){for(var wr=gt.geometries,vr=-1,Ur=wr.length;++vr<Ur;)if(Hs(wr[vr],Bt))return!0;return!1}};function Hs(gt,Bt){return gt&&Ys.hasOwnProperty(gt.type)?Ys[gt.type](gt,Bt):!1}function Eo(gt,Bt){return Cs(gt,Bt)===0}function fs(gt,Bt){for(var wr,vr,Ur,fi=0,xi=gt.length;fi<xi;fi++){if(vr=Cs(gt[fi],Bt),vr===0||fi>0&&(Ur=Cs(gt[fi],gt[fi-1]),Ur>0&&wr<=Ur&&vr<=Ur&&(wr+vr-Ur)*(1-Math.pow((wr-vr)/Ur,2))<s*Ur))return!0;wr=vr}return!1}function Ql(gt,Bt){return!!oo(gt.map(Hu),fc(Bt))}function Hu(gt){return gt=gt.map(fc),gt.pop(),gt}function fc(gt){return[gt[0]*d,gt[1]*d]}function ms(gt,Bt){return(gt&&ml.hasOwnProperty(gt.type)?ml[gt.type]:Hs)(gt,Bt)}function on(gt,Bt,wr){var vr=t.range(gt,Bt-o,wr).concat(Bt);return function(Ur){return vr.map(function(fi){return[Ur,fi]})}}function fa(gt,Bt,wr){var vr=t.range(gt,Bt-o,wr).concat(Bt);return function(Ur){return vr.map(function(fi){return[fi,Ur]})}}function Qu(){var gt,Bt,wr,vr,Ur,fi,xi,Fi,Xi=10,hn=Xi,Ti=90,qi=360,Ii,mi,Pn,Ma,Ta=2.5;function Ea(){return{type:\"MultiLineString\",coordinates:qa()}}function qa(){return t.range(E(vr/Ti)*Ti,wr,Ti).map(Pn).concat(t.range(E(Fi/qi)*qi,xi,qi).map(Ma)).concat(t.range(E(Bt/Xi)*Xi,gt,Xi).filter(function(Cn){return v(Cn%Ti)>o}).map(Ii)).concat(t.range(E(fi/hn)*hn,Ur,hn).filter(function(Cn){return v(Cn%qi)>o}).map(mi))}return Ea.lines=function(){return qa().map(function(Cn){return{type:\"LineString\",coordinates:Cn}})},Ea.outline=function(){return{type:\"Polygon\",coordinates:[Pn(vr).concat(Ma(xi).slice(1),Pn(wr).reverse().slice(1),Ma(Fi).reverse().slice(1))]}},Ea.extent=function(Cn){return arguments.length?Ea.extentMajor(Cn).extentMinor(Cn):Ea.extentMinor()},Ea.extentMajor=function(Cn){return arguments.length?(vr=+Cn[0][0],wr=+Cn[1][0],Fi=+Cn[0][1],xi=+Cn[1][1],vr>wr&&(Cn=vr,vr=wr,wr=Cn),Fi>xi&&(Cn=Fi,Fi=xi,xi=Cn),Ea.precision(Ta)):[[vr,Fi],[wr,xi]]},Ea.extentMinor=function(Cn){return arguments.length?(Bt=+Cn[0][0],gt=+Cn[1][0],fi=+Cn[0][1],Ur=+Cn[1][1],Bt>gt&&(Cn=Bt,Bt=gt,gt=Cn),fi>Ur&&(Cn=fi,fi=Ur,Ur=Cn),Ea.precision(Ta)):[[Bt,fi],[gt,Ur]]},Ea.step=function(Cn){return arguments.length?Ea.stepMajor(Cn).stepMinor(Cn):Ea.stepMinor()},Ea.stepMajor=function(Cn){return arguments.length?(Ti=+Cn[0],qi=+Cn[1],Ea):[Ti,qi]},Ea.stepMinor=function(Cn){return arguments.length?(Xi=+Cn[0],hn=+Cn[1],Ea):[Xi,hn]},Ea.precision=function(Cn){return arguments.length?(Ta=+Cn,Ii=on(fi,Ur,90),mi=fa(Bt,gt,Ta),Pn=on(Fi,xi,90),Ma=fa(vr,wr,Ta),Ea):Ta},Ea.extentMajor([[-180,-90+o],[180,90-o]]).extentMinor([[-180,-80-o],[180,80+o]])}function Rl(){return Qu()()}function vo(gt,Bt){var wr=gt[0]*d,vr=gt[1]*d,Ur=Bt[0]*d,fi=Bt[1]*d,xi=p(vr),Fi=_(vr),Xi=p(fi),hn=_(fi),Ti=xi*p(wr),qi=xi*_(wr),Ii=Xi*p(Ur),mi=Xi*_(Ur),Pn=2*T(M(F(fi-vr)+xi*Xi*F(Ur-wr))),Ma=_(Pn),Ta=Pn?function(Ea){var qa=_(Ea*=Pn)/Ma,Cn=_(Pn-Ea)/Ma,sn=Cn*Ti+qa*Ii,Ua=Cn*qi+qa*mi,mo=Cn*Fi+qa*hn;return[b(Ua,sn)*h,b(mo,M(sn*sn+Ua*Ua))*h]}:function(){return[wr*h,vr*h]};return Ta.distance=Pn,Ta}function Zl(gt){return gt}var Ks=r(),Xl=r(),Ec,Zn,ko,Co,Tl={point:q,lineStart:q,lineEnd:q,polygonStart:function(){Tl.lineStart=uf,Tl.lineEnd=rh},polygonEnd:function(){Tl.lineStart=Tl.lineEnd=Tl.point=q,Ks.add(v(Xl)),Xl.reset()},result:function(){var gt=Ks/2;return Ks.reset(),gt}};function uf(){Tl.point=So}function So(gt,Bt){Tl.point=cf,Ec=ko=gt,Zn=Co=Bt}function cf(gt,Bt){Xl.add(Co*gt-ko*Bt),ko=gt,Co=Bt}function rh(){cf(Ec,Zn)}var Al=1/0,Hc=Al,eu=-Al,Ls=eu,mu={point:kc,lineStart:q,lineEnd:q,polygonStart:q,polygonEnd:q,result:function(){var gt=[[Al,Hc],[eu,Ls]];return eu=Ls=-(Hc=Al=1/0),gt}};function kc(gt,Bt){gt<Al&&(Al=gt),gt>eu&&(eu=gt),Bt<Hc&&(Hc=Bt),Bt>Ls&&(Ls=Bt)}var Of=0,Gc=0,vd=0,Bf=0,ss=0,ff=0,ih=0,Vl=0,Js=0,hc,Cc,ws,$s,hs={point:Ms,lineStart:dc,lineEnd:Ps,polygonStart:function(){hs.lineStart=ov,hs.lineEnd=wo},polygonEnd:function(){hs.point=Ms,hs.lineStart=dc,hs.lineEnd=Ps},result:function(){var gt=Js?[ih/Js,Vl/Js]:ff?[Bf/ff,ss/ff]:vd?[Of/vd,Gc/vd]:[NaN,NaN];return Of=Gc=vd=Bf=ss=ff=ih=Vl=Js=0,gt}};function Ms(gt,Bt){Of+=gt,Gc+=Bt,++vd}function dc(){hs.point=Sl}function Sl(gt,Bt){hs.point=ec,Ms(ws=gt,$s=Bt)}function ec(gt,Bt){var wr=gt-ws,vr=Bt-$s,Ur=M(wr*wr+vr*vr);Bf+=Ur*(ws+gt)/2,ss+=Ur*($s+Bt)/2,ff+=Ur,Ms(ws=gt,$s=Bt)}function Ps(){hs.point=Ms}function ov(){hs.point=Od}function wo(){$o(hc,Cc)}function Od(gt,Bt){hs.point=$o,Ms(hc=ws=gt,Cc=$s=Bt)}function $o(gt,Bt){var wr=gt-ws,vr=Bt-$s,Ur=M(wr*wr+vr*vr);Bf+=Ur*(ws+gt)/2,ss+=Ur*($s+Bt)/2,ff+=Ur,Ur=$s*gt-ws*Bt,ih+=Ur*(ws+gt),Vl+=Ur*($s+Bt),Js+=Ur*3,Ms(ws=gt,$s=Bt)}function Ja(gt){this._context=gt}Ja.prototype={_radius:4.5,pointRadius:function(gt){return this._radius=gt,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(gt,Bt){switch(this._point){case 0:{this._context.moveTo(gt,Bt),this._point=1;break}case 1:{this._context.lineTo(gt,Bt);break}default:{this._context.moveTo(gt+this._radius,Bt),this._context.arc(gt,Bt,this._radius,0,f);break}}},result:q};var Ef=r(),tc,uu,Mh,jc,kf,Ml={point:q,lineStart:function(){Ml.point=Yh},lineEnd:function(){tc&&Eh(uu,Mh),Ml.point=q},polygonStart:function(){tc=!0},polygonEnd:function(){tc=null},result:function(){var gt=+Ef;return Ef.reset(),gt}};function Yh(gt,Bt){Ml.point=Eh,uu=jc=gt,Mh=kf=Bt}function Eh(gt,Bt){jc-=gt,kf-=Bt,Ef.add(M(jc*jc+kf*kf)),jc=gt,kf=Bt}function nh(){this._string=[]}nh.prototype={_radius:4.5,_circle:hf(4.5),pointRadius:function(gt){return(gt=+gt)!==this._radius&&(this._radius=gt,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._string.push(\"Z\"),this._point=NaN},point:function(gt,Bt){switch(this._point){case 0:{this._string.push(\"M\",gt,\",\",Bt),this._point=1;break}case 1:{this._string.push(\"L\",gt,\",\",Bt);break}default:{this._circle==null&&(this._circle=hf(this._radius)),this._string.push(\"M\",gt,\",\",Bt,this._circle);break}}},result:function(){if(this._string.length){var gt=this._string.join(\"\");return this._string=[],gt}else return null}};function hf(gt){return\"m0,\"+gt+\"a\"+gt+\",\"+gt+\" 0 1,1 0,\"+-2*gt+\"a\"+gt+\",\"+gt+\" 0 1,1 0,\"+2*gt+\"z\"}function kh(gt,Bt){var wr=4.5,vr,Ur;function fi(xi){return xi&&(typeof wr==\"function\"&&Ur.pointRadius(+wr.apply(this,arguments)),W(xi,vr(Ur))),Ur.result()}return fi.area=function(xi){return W(xi,vr(Tl)),Tl.result()},fi.measure=function(xi){return W(xi,vr(Ml)),Ml.result()},fi.bounds=function(xi){return W(xi,vr(mu)),mu.result()},fi.centroid=function(xi){return W(xi,vr(hs)),hs.result()},fi.projection=function(xi){return arguments.length?(vr=xi==null?(gt=null,Zl):(gt=xi).stream,fi):gt},fi.context=function(xi){return arguments.length?(Ur=xi==null?(Bt=null,new nh):new Ja(Bt=xi),typeof wr!=\"function\"&&Ur.pointRadius(wr),fi):Bt},fi.pointRadius=function(xi){return arguments.length?(wr=typeof xi==\"function\"?xi:(Ur.pointRadius(+xi),+xi),fi):wr},fi.projection(gt).context(Bt)}function Kh(gt){return{stream:rc(gt)}}function rc(gt){return function(Bt){var wr=new ah;for(var vr in gt)wr[vr]=gt[vr];return wr.stream=Bt,wr}}function ah(){}ah.prototype={constructor:ah,point:function(gt,Bt){this.stream.point(gt,Bt)},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()}};function Wc(gt,Bt,wr){var vr=gt.clipExtent&>.clipExtent();return gt.scale(150).translate([0,0]),vr!=null&>.clipExtent(null),W(wr,gt.stream(mu)),Bt(mu.result()),vr!=null&>.clipExtent(vr),gt}function df(gt,Bt,wr){return Wc(gt,function(vr){var Ur=Bt[1][0]-Bt[0][0],fi=Bt[1][1]-Bt[0][1],xi=Math.min(Ur/(vr[1][0]-vr[0][0]),fi/(vr[1][1]-vr[0][1])),Fi=+Bt[0][0]+(Ur-xi*(vr[1][0]+vr[0][0]))/2,Xi=+Bt[0][1]+(fi-xi*(vr[1][1]+vr[0][1]))/2;gt.scale(150*xi).translate([Fi,Xi])},wr)}function Cu(gt,Bt,wr){return df(gt,[[0,0],Bt],wr)}function Nf(gt,Bt,wr){return Wc(gt,function(vr){var Ur=+Bt,fi=Ur/(vr[1][0]-vr[0][0]),xi=(Ur-fi*(vr[1][0]+vr[0][0]))/2,Fi=-fi*vr[0][1];gt.scale(150*fi).translate([xi,Fi])},wr)}function Zc(gt,Bt,wr){return Wc(gt,function(vr){var Ur=+Bt,fi=Ur/(vr[1][1]-vr[0][1]),xi=-fi*vr[0][0],Fi=(Ur-fi*(vr[1][1]+vr[0][1]))/2;gt.scale(150*fi).translate([xi,Fi])},wr)}var ds=16,Ch=p(30*d);function Bd(gt,Bt){return+Bt?Cf(gt,Bt):Jh(gt)}function Jh(gt){return rc({point:function(Bt,wr){Bt=gt(Bt,wr),this.stream.point(Bt[0],Bt[1])}})}function Cf(gt,Bt){function wr(vr,Ur,fi,xi,Fi,Xi,hn,Ti,qi,Ii,mi,Pn,Ma,Ta){var Ea=hn-vr,qa=Ti-Ur,Cn=Ea*Ea+qa*qa;if(Cn>4*Bt&&Ma--){var sn=xi+Ii,Ua=Fi+mi,mo=Xi+Pn,Xo=M(sn*sn+Ua*Ua+mo*mo),Ts=T(mo/=Xo),Qo=v(v(mo)-1)<o||v(fi-qi)<o?(fi+qi)/2:b(Ua,sn),ys=gt(Qo,Ts),Bo=ys[0],yl=ys[1],Gs=Bo-vr,Rs=yl-Ur,ia=qa*Gs-Ea*Rs;(ia*ia/Cn>Bt||v((Ea*Gs+qa*Rs)/Cn-.5)>.3||xi*Ii+Fi*mi+Xi*Pn<Ch)&&(wr(vr,Ur,fi,xi,Fi,Xi,Bo,yl,Qo,sn/=Xo,Ua/=Xo,mo,Ma,Ta),Ta.point(Bo,yl),wr(Bo,yl,Qo,sn,Ua,mo,hn,Ti,qi,Ii,mi,Pn,Ma,Ta))}}return function(vr){var Ur,fi,xi,Fi,Xi,hn,Ti,qi,Ii,mi,Pn,Ma,Ta={point:Ea,lineStart:qa,lineEnd:sn,polygonStart:function(){vr.polygonStart(),Ta.lineStart=Ua},polygonEnd:function(){vr.polygonEnd(),Ta.lineStart=qa}};function Ea(Ts,Qo){Ts=gt(Ts,Qo),vr.point(Ts[0],Ts[1])}function qa(){qi=NaN,Ta.point=Cn,vr.lineStart()}function Cn(Ts,Qo){var ys=ce([Ts,Qo]),Bo=gt(Ts,Qo);wr(qi,Ii,Ti,mi,Pn,Ma,qi=Bo[0],Ii=Bo[1],Ti=Ts,mi=ys[0],Pn=ys[1],Ma=ys[2],ds,vr),vr.point(qi,Ii)}function sn(){Ta.point=Ea,vr.lineEnd()}function Ua(){qa(),Ta.point=mo,Ta.lineEnd=Xo}function mo(Ts,Qo){Cn(Ur=Ts,Qo),fi=qi,xi=Ii,Fi=mi,Xi=Pn,hn=Ma,Ta.point=Cn}function Xo(){wr(qi,Ii,Ti,mi,Pn,Ma,fi,xi,Ur,Fi,Xi,hn,ds,vr),Ta.lineEnd=sn,sn()}return Ta}}var pd=rc({point:function(gt,Bt){this.stream.point(gt*d,Bt*d)}});function Lu(gt){return rc({point:function(Bt,wr){var vr=gt(Bt,wr);return this.stream.point(vr[0],vr[1])}})}function $h(gt,Bt,wr,vr,Ur){function fi(xi,Fi){return xi*=vr,Fi*=Ur,[Bt+gt*xi,wr-gt*Fi]}return fi.invert=function(xi,Fi){return[(xi-Bt)/gt*vr,(wr-Fi)/gt*Ur]},fi}function tu(gt,Bt,wr,vr,Ur,fi){var xi=p(fi),Fi=_(fi),Xi=xi*gt,hn=Fi*gt,Ti=xi/gt,qi=Fi/gt,Ii=(Fi*wr-xi*Bt)/gt,mi=(Fi*Bt+xi*wr)/gt;function Pn(Ma,Ta){return Ma*=vr,Ta*=Ur,[Xi*Ma-hn*Ta+Bt,wr-hn*Ma-Xi*Ta]}return Pn.invert=function(Ma,Ta){return[vr*(Ti*Ma-qi*Ta+Ii),Ur*(mi-qi*Ma-Ti*Ta)]},Pn}function Pu(gt){return Lc(function(){return gt})()}function Lc(gt){var Bt,wr=150,vr=480,Ur=250,fi=0,xi=0,Fi=0,Xi=0,hn=0,Ti,qi=0,Ii=1,mi=1,Pn=null,Ma=Hr,Ta=null,Ea,qa,Cn,sn=Zl,Ua=.5,mo,Xo,Ts,Qo,ys;function Bo(ia){return Ts(ia[0]*d,ia[1]*d)}function yl(ia){return ia=Ts.invert(ia[0],ia[1]),ia&&[ia[0]*h,ia[1]*h]}Bo.stream=function(ia){return Qo&&ys===ia?Qo:Qo=pd(Lu(Ti)(Ma(mo(sn(ys=ia)))))},Bo.preclip=function(ia){return arguments.length?(Ma=ia,Pn=void 0,Rs()):Ma},Bo.postclip=function(ia){return arguments.length?(sn=ia,Ta=Ea=qa=Cn=null,Rs()):sn},Bo.clipAngle=function(ia){return arguments.length?(Ma=+ia?an(Pn=ia*d):(Pn=null,Hr),Rs()):Pn*h},Bo.clipExtent=function(ia){return arguments.length?(sn=ia==null?(Ta=Ea=qa=Cn=null,Zl):Fn(Ta=+ia[0][0],Ea=+ia[0][1],qa=+ia[1][0],Cn=+ia[1][1]),Rs()):Ta==null?null:[[Ta,Ea],[qa,Cn]]},Bo.scale=function(ia){return arguments.length?(wr=+ia,Gs()):wr},Bo.translate=function(ia){return arguments.length?(vr=+ia[0],Ur=+ia[1],Gs()):[vr,Ur]},Bo.center=function(ia){return arguments.length?(fi=ia[0]%360*d,xi=ia[1]%360*d,Gs()):[fi*h,xi*h]},Bo.rotate=function(ia){return arguments.length?(Fi=ia[0]%360*d,Xi=ia[1]%360*d,hn=ia.length>2?ia[2]%360*d:0,Gs()):[Fi*h,Xi*h,hn*h]},Bo.angle=function(ia){return arguments.length?(qi=ia%360*d,Gs()):qi*h},Bo.reflectX=function(ia){return arguments.length?(Ii=ia?-1:1,Gs()):Ii<0},Bo.reflectY=function(ia){return arguments.length?(mi=ia?-1:1,Gs()):mi<0},Bo.precision=function(ia){return arguments.length?(mo=Bd(Xo,Ua=ia*ia),Rs()):M(Ua)},Bo.fitExtent=function(ia,Ka){return df(Bo,ia,Ka)},Bo.fitSize=function(ia,Ka){return Cu(Bo,ia,Ka)},Bo.fitWidth=function(ia,Ka){return Nf(Bo,ia,Ka)},Bo.fitHeight=function(ia,Ka){return Zc(Bo,ia,Ka)};function Gs(){var ia=tu(wr,0,0,Ii,mi,qi).apply(null,Bt(fi,xi)),Ka=(qi?tu:$h)(wr,vr-ia[0],Ur-ia[1],Ii,mi,qi);return Ti=gi(Fi,Xi,hn),Xo=Zr(Bt,Ka),Ts=Zr(Ti,Xo),mo=Bd(Xo,Ua),Rs()}function Rs(){return Qo=ys=null,Bo}return function(){return Bt=gt.apply(this,arguments),Bo.invert=Bt.invert&&yl,Gs()}}function fl(gt){var Bt=0,wr=l/3,vr=Lc(gt),Ur=vr(Bt,wr);return Ur.parallels=function(fi){return arguments.length?vr(Bt=fi[0]*d,wr=fi[1]*d):[Bt*h,wr*h]},Ur}function Xc(gt){var Bt=p(gt);function wr(vr,Ur){return[vr*Bt,_(Ur)/Bt]}return wr.invert=function(vr,Ur){return[vr/Bt,T(Ur*Bt)]},wr}function ic(gt,Bt){var wr=_(gt),vr=(wr+_(Bt))/2;if(v(vr)<o)return Xc(gt);var Ur=1+wr*(2*vr-wr),fi=M(Ur)/vr;function xi(Fi,Xi){var hn=M(Ur-2*vr*_(Xi))/vr;return[hn*_(Fi*=vr),fi-hn*p(Fi)]}return xi.invert=function(Fi,Xi){var hn=fi-Xi,Ti=b(Fi,v(hn))*C(hn);return hn*vr<0&&(Ti-=l*C(Fi)*C(hn)),[Ti/vr,T((Ur-(Fi*Fi+hn*hn)*vr*vr)/(2*vr))]},xi}function yu(){return fl(ic).scale(155.424).center([0,33.6442])}function Qs(){return yu().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function Qh(gt){var Bt=gt.length;return{point:function(wr,vr){for(var Ur=-1;++Ur<Bt;)gt[Ur].point(wr,vr)},sphere:function(){for(var wr=-1;++wr<Bt;)gt[wr].sphere()},lineStart:function(){for(var wr=-1;++wr<Bt;)gt[wr].lineStart()},lineEnd:function(){for(var wr=-1;++wr<Bt;)gt[wr].lineEnd()},polygonStart:function(){for(var wr=-1;++wr<Bt;)gt[wr].polygonStart()},polygonEnd:function(){for(var wr=-1;++wr<Bt;)gt[wr].polygonEnd()}}}function gd(){var gt,Bt,wr=Qs(),vr,Ur=yu().rotate([154,0]).center([-2,58.5]).parallels([55,65]),fi,xi=yu().rotate([157,0]).center([-3,19.9]).parallels([8,18]),Fi,Xi,hn={point:function(Ii,mi){Xi=[Ii,mi]}};function Ti(Ii){var mi=Ii[0],Pn=Ii[1];return Xi=null,vr.point(mi,Pn),Xi||(fi.point(mi,Pn),Xi)||(Fi.point(mi,Pn),Xi)}Ti.invert=function(Ii){var mi=wr.scale(),Pn=wr.translate(),Ma=(Ii[0]-Pn[0])/mi,Ta=(Ii[1]-Pn[1])/mi;return(Ta>=.12&&Ta<.234&&Ma>=-.425&&Ma<-.214?Ur:Ta>=.166&&Ta<.234&&Ma>=-.214&&Ma<-.115?xi:wr).invert(Ii)},Ti.stream=function(Ii){return gt&&Bt===Ii?gt:gt=Qh([wr.stream(Bt=Ii),Ur.stream(Ii),xi.stream(Ii)])},Ti.precision=function(Ii){return arguments.length?(wr.precision(Ii),Ur.precision(Ii),xi.precision(Ii),qi()):wr.precision()},Ti.scale=function(Ii){return arguments.length?(wr.scale(Ii),Ur.scale(Ii*.35),xi.scale(Ii),Ti.translate(wr.translate())):wr.scale()},Ti.translate=function(Ii){if(!arguments.length)return wr.translate();var mi=wr.scale(),Pn=+Ii[0],Ma=+Ii[1];return vr=wr.translate(Ii).clipExtent([[Pn-.455*mi,Ma-.238*mi],[Pn+.455*mi,Ma+.238*mi]]).stream(hn),fi=Ur.translate([Pn-.307*mi,Ma+.201*mi]).clipExtent([[Pn-.425*mi+o,Ma+.12*mi+o],[Pn-.214*mi-o,Ma+.234*mi-o]]).stream(hn),Fi=xi.translate([Pn-.205*mi,Ma+.212*mi]).clipExtent([[Pn-.214*mi+o,Ma+.166*mi+o],[Pn-.115*mi-o,Ma+.234*mi-o]]).stream(hn),qi()},Ti.fitExtent=function(Ii,mi){return df(Ti,Ii,mi)},Ti.fitSize=function(Ii,mi){return Cu(Ti,Ii,mi)},Ti.fitWidth=function(Ii,mi){return Nf(Ti,Ii,mi)},Ti.fitHeight=function(Ii,mi){return Zc(Ti,Ii,mi)};function qi(){return gt=Bt=null,Ti}return Ti.scale(1070)}function Gu(gt){return function(Bt,wr){var vr=p(Bt),Ur=p(wr),fi=gt(vr*Ur);return[fi*Ur*_(Bt),fi*_(wr)]}}function Pc(gt){return function(Bt,wr){var vr=M(Bt*Bt+wr*wr),Ur=gt(vr),fi=_(Ur),xi=p(Ur);return[b(Bt*fi,vr*xi),T(vr&&wr*fi/vr)]}}var vc=Gu(function(gt){return M(2/(1+gt))});vc.invert=Pc(function(gt){return 2*T(gt/2)});function sv(){return Pu(vc).scale(124.75).clipAngle(180-.001)}var Lf=Gu(function(gt){return(gt=P(gt))&>/_(gt)});Lf.invert=Pc(function(gt){return gt});function Uf(){return Pu(Lf).scale(79.4188).clipAngle(180-.001)}function Iu(gt,Bt){return[gt,A(g((u+Bt)/2))]}Iu.invert=function(gt,Bt){return[gt,2*x(k(Bt))-u]};function oh(){return ru(Iu).scale(961/f)}function ru(gt){var Bt=Pu(gt),wr=Bt.center,vr=Bt.scale,Ur=Bt.translate,fi=Bt.clipExtent,xi=null,Fi,Xi,hn;Bt.scale=function(qi){return arguments.length?(vr(qi),Ti()):vr()},Bt.translate=function(qi){return arguments.length?(Ur(qi),Ti()):Ur()},Bt.center=function(qi){return arguments.length?(wr(qi),Ti()):wr()},Bt.clipExtent=function(qi){return arguments.length?(qi==null?xi=Fi=Xi=hn=null:(xi=+qi[0][0],Fi=+qi[0][1],Xi=+qi[1][0],hn=+qi[1][1]),Ti()):xi==null?null:[[xi,Fi],[Xi,hn]]};function Ti(){var qi=l*vr(),Ii=Bt(Gi(Bt.rotate()).invert([0,0]));return fi(xi==null?[[Ii[0]-qi,Ii[1]-qi],[Ii[0]+qi,Ii[1]+qi]]:gt===Iu?[[Math.max(Ii[0]-qi,xi),Fi],[Math.min(Ii[0]+qi,Xi),hn]]:[[xi,Math.max(Ii[1]-qi,Fi)],[Xi,Math.min(Ii[1]+qi,hn)]])}return Ti()}function vf(gt){return g((u+gt)/2)}function md(gt,Bt){var wr=p(gt),vr=gt===Bt?_(gt):A(wr/p(Bt))/A(vf(Bt)/vf(gt)),Ur=wr*L(vf(gt),vr)/vr;if(!vr)return Iu;function fi(xi,Fi){Ur>0?Fi<-u+o&&(Fi=-u+o):Fi>u-o&&(Fi=u-o);var Xi=Ur/L(vf(Fi),vr);return[Xi*_(vr*xi),Ur-Xi*p(vr*xi)]}return fi.invert=function(xi,Fi){var Xi=Ur-Fi,hn=C(vr)*M(xi*xi+Xi*Xi),Ti=b(xi,v(Xi))*C(Xi);return Xi*vr<0&&(Ti-=l*C(xi)*C(Xi)),[Ti/vr,2*x(L(Ur/hn,1/vr))-u]},fi}function sh(){return fl(md).scale(109.5).parallels([30,30])}function Fs(gt,Bt){return[gt,Bt]}Fs.invert=Fs;function _u(){return Pu(Fs).scale(152.63)}function xu(gt,Bt){var wr=p(gt),vr=gt===Bt?_(gt):(wr-p(Bt))/(Bt-gt),Ur=wr/vr+gt;if(v(vr)<o)return Fs;function fi(xi,Fi){var Xi=Ur-Fi,hn=vr*xi;return[Xi*_(hn),Ur-Xi*p(hn)]}return fi.invert=function(xi,Fi){var Xi=Ur-Fi,hn=b(xi,v(Xi))*C(Xi);return Xi*vr<0&&(hn-=l*C(xi)*C(Xi)),[hn/vr,Ur-C(vr)*M(xi*xi+Xi*Xi)]},fi}function Lh(){return fl(xu).scale(131.154).center([0,13.9389])}var Is=1.340264,Pf=-.081106,Ic=893e-6,ju=.003796,Vf=M(3)/2,pc=12;function pf(gt,Bt){var wr=T(Vf*_(Bt)),vr=wr*wr,Ur=vr*vr*vr;return[gt*p(wr)/(Vf*(Is+3*Pf*vr+Ur*(7*Ic+9*ju*vr))),wr*(Is+Pf*vr+Ur*(Ic+ju*vr))]}pf.invert=function(gt,Bt){for(var wr=Bt,vr=wr*wr,Ur=vr*vr*vr,fi=0,xi,Fi,Xi;fi<pc&&(Fi=wr*(Is+Pf*vr+Ur*(Ic+ju*vr))-Bt,Xi=Is+3*Pf*vr+Ur*(7*Ic+9*ju*vr),wr-=xi=Fi/Xi,vr=wr*wr,Ur=vr*vr*vr,!(v(xi)<s));++fi);return[Vf*gt*(Is+3*Pf*vr+Ur*(7*Ic+9*ju*vr))/p(wr),T(_(wr)/Vf)]};function Ph(){return Pu(pf).scale(177.158)}function Dl(gt,Bt){var wr=p(Bt),vr=p(gt)*wr;return[wr*_(gt)/vr,_(Bt)/vr]}Dl.invert=Pc(x);function Ih(){return Pu(Dl).scale(144.049).clipAngle(60)}function Wu(){var gt=1,Bt=0,wr=0,vr=1,Ur=1,fi=0,xi,Fi,Xi=null,hn,Ti,qi,Ii=1,mi=1,Pn=rc({point:function(sn,Ua){var mo=Cn([sn,Ua]);this.stream.point(mo[0],mo[1])}}),Ma=Zl,Ta,Ea;function qa(){return Ii=gt*vr,mi=gt*Ur,Ta=Ea=null,Cn}function Cn(sn){var Ua=sn[0]*Ii,mo=sn[1]*mi;if(fi){var Xo=mo*xi-Ua*Fi;Ua=Ua*xi+mo*Fi,mo=Xo}return[Ua+Bt,mo+wr]}return Cn.invert=function(sn){var Ua=sn[0]-Bt,mo=sn[1]-wr;if(fi){var Xo=mo*xi+Ua*Fi;Ua=Ua*xi-mo*Fi,mo=Xo}return[Ua/Ii,mo/mi]},Cn.stream=function(sn){return Ta&&Ea===sn?Ta:Ta=Pn(Ma(Ea=sn))},Cn.postclip=function(sn){return arguments.length?(Ma=sn,Xi=hn=Ti=qi=null,qa()):Ma},Cn.clipExtent=function(sn){return arguments.length?(Ma=sn==null?(Xi=hn=Ti=qi=null,Zl):Fn(Xi=+sn[0][0],hn=+sn[0][1],Ti=+sn[1][0],qi=+sn[1][1]),qa()):Xi==null?null:[[Xi,hn],[Ti,qi]]},Cn.scale=function(sn){return arguments.length?(gt=+sn,qa()):gt},Cn.translate=function(sn){return arguments.length?(Bt=+sn[0],wr=+sn[1],qa()):[Bt,wr]},Cn.angle=function(sn){return arguments.length?(fi=sn%360*d,Fi=_(fi),xi=p(fi),qa()):fi*h},Cn.reflectX=function(sn){return arguments.length?(vr=sn?-1:1,qa()):vr<0},Cn.reflectY=function(sn){return arguments.length?(Ur=sn?-1:1,qa()):Ur<0},Cn.fitExtent=function(sn,Ua){return df(Cn,sn,Ua)},Cn.fitSize=function(sn,Ua){return Cu(Cn,sn,Ua)},Cn.fitWidth=function(sn,Ua){return Nf(Cn,sn,Ua)},Cn.fitHeight=function(sn,Ua){return Zc(Cn,sn,Ua)},Cn}function Rc(gt,Bt){var wr=Bt*Bt,vr=wr*wr;return[gt*(.8707-.131979*wr+vr*(-.013791+vr*(.003971*wr-.001529*vr))),Bt*(1.007226+wr*(.015085+vr*(-.044475+.028874*wr-.005916*vr)))]}Rc.invert=function(gt,Bt){var wr=Bt,vr=25,Ur;do{var fi=wr*wr,xi=fi*fi;wr-=Ur=(wr*(1.007226+fi*(.015085+xi*(-.044475+.028874*fi-.005916*xi)))-Bt)/(1.007226+fi*(.015085*3+xi*(-.044475*7+.028874*9*fi-.005916*11*xi)))}while(v(Ur)>o&&--vr>0);return[gt/(.8707+(fi=wr*wr)*(-.131979+fi*(-.013791+fi*fi*fi*(.003971-.001529*fi)))),wr]};function gc(){return Pu(Rc).scale(175.295)}function hl(gt,Bt){return[p(Bt)*_(gt),_(Bt)]}hl.invert=Pc(T);function iu(){return Pu(hl).scale(249.5).clipAngle(90+o)}function mc(gt,Bt){var wr=p(Bt),vr=1+p(gt)*wr;return[wr*_(gt)/vr,_(Bt)/vr]}mc.invert=Pc(function(gt){return 2*x(gt)});function Yc(){return Pu(mc).scale(250).clipAngle(142)}function nc(gt,Bt){return[A(g((u+Bt)/2)),-gt]}nc.invert=function(gt,Bt){return[-Bt,2*x(k(gt))-u]};function gf(){var gt=ru(nc),Bt=gt.center,wr=gt.rotate;return gt.center=function(vr){return arguments.length?Bt([-vr[1],vr[0]]):(vr=Bt(),[vr[1],-vr[0]])},gt.rotate=function(vr){return arguments.length?wr([vr[0],vr[1],vr.length>2?vr[2]+90:90]):(vr=wr(),[vr[0],vr[1],vr[2]-90])},wr([0,0,90]).scale(159.155)}e.geoAlbers=Qs,e.geoAlbersUsa=gd,e.geoArea=me,e.geoAzimuthalEqualArea=sv,e.geoAzimuthalEqualAreaRaw=vc,e.geoAzimuthalEquidistant=Uf,e.geoAzimuthalEquidistantRaw=Lf,e.geoBounds=Ne,e.geoCentroid=yr,e.geoCircle=jn,e.geoClipAntimeridian=Hr,e.geoClipCircle=an,e.geoClipExtent=Sa,e.geoClipRectangle=Fn,e.geoConicConformal=sh,e.geoConicConformalRaw=md,e.geoConicEqualArea=yu,e.geoConicEqualAreaRaw=ic,e.geoConicEquidistant=Lh,e.geoConicEquidistantRaw=xu,e.geoContains=ms,e.geoDistance=Cs,e.geoEqualEarth=Ph,e.geoEqualEarthRaw=pf,e.geoEquirectangular=_u,e.geoEquirectangularRaw=Fs,e.geoGnomonic=Ih,e.geoGnomonicRaw=Dl,e.geoGraticule=Qu,e.geoGraticule10=Rl,e.geoIdentity=Wu,e.geoInterpolate=vo,e.geoLength=wl,e.geoMercator=oh,e.geoMercatorRaw=Iu,e.geoNaturalEarth1=gc,e.geoNaturalEarth1Raw=Rc,e.geoOrthographic=iu,e.geoOrthographicRaw=hl,e.geoPath=kh,e.geoProjection=Pu,e.geoProjectionMutator=Lc,e.geoRotation=Gi,e.geoStereographic=Yc,e.geoStereographicRaw=mc,e.geoStream=W,e.geoTransform=Kh,e.geoTransverseMercator=gf,e.geoTransverseMercatorRaw=nc,Object.defineProperty(e,\"__esModule\",{value:!0})})});var bRe=ye((Az,xRe)=>{(function(e,t){typeof Az==\"object\"&&typeof xRe!=\"undefined\"?t(Az,xX(),$E()):t(e.d3=e.d3||{},e.d3,e.d3)})(Az,function(e,t,r){\"use strict\";var n=Math.abs,i=Math.atan,a=Math.atan2,o=Math.cos,s=Math.exp,l=Math.floor,u=Math.log,c=Math.max,f=Math.min,h=Math.pow,d=Math.round,v=Math.sign||function(he){return he>0?1:he<0?-1:0},x=Math.sin,b=Math.tan,p=1e-6,E=1e-12,k=Math.PI,A=k/2,L=k/4,_=Math.SQRT1_2,C=H(2),M=H(k),g=k*2,P=180/k,T=k/180;function F(he){return he?he/Math.sin(he):1}function q(he){return he>1?A:he<-1?-A:Math.asin(he)}function V(he){return he>1?0:he<-1?k:Math.acos(he)}function H(he){return he>0?Math.sqrt(he):0}function X(he){return he=s(2*he),(he-1)/(he+1)}function G(he){return(s(he)-s(-he))/2}function N(he){return(s(he)+s(-he))/2}function W(he){return u(he+H(he*he+1))}function re(he){return u(he+H(he*he-1))}function ae(he){var be=b(he/2),Pe=2*u(o(he/2))/(be*be);function Oe(Je,He){var et=o(Je),Mt=o(He),Dt=x(He),Ut=Mt*et,tr=-((1-Ut?u((1+Ut)/2)/(1-Ut):-.5)+Pe/(1+Ut));return[tr*Mt*x(Je),tr*Dt]}return Oe.invert=function(Je,He){var et=H(Je*Je+He*He),Mt=-he/2,Dt=50,Ut;if(!et)return[0,0];do{var tr=Mt/2,mr=o(tr),Rr=x(tr),zr=Rr/mr,Xr=-u(n(mr));Mt-=Ut=(2/zr*Xr-Pe*zr-et)/(-Xr/(Rr*Rr)+1-Pe/(2*mr*mr))*(mr<0?.7:1)}while(n(Ut)>p&&--Dt>0);var di=x(Mt);return[a(Je*di,et*o(Mt)),q(He*di/et)]},Oe}function _e(){var he=A,be=t.geoProjectionMutator(ae),Pe=be(he);return Pe.radius=function(Oe){return arguments.length?be(he=Oe*T):he*P},Pe.scale(179.976).clipAngle(147)}function Me(he,be){var Pe=o(be),Oe=F(V(Pe*o(he/=2)));return[2*Pe*x(he)*Oe,x(be)*Oe]}Me.invert=function(he,be){if(!(he*he+4*be*be>k*k+p)){var Pe=he,Oe=be,Je=25;do{var He=x(Pe),et=x(Pe/2),Mt=o(Pe/2),Dt=x(Oe),Ut=o(Oe),tr=x(2*Oe),mr=Dt*Dt,Rr=Ut*Ut,zr=et*et,Xr=1-Rr*Mt*Mt,di=Xr?V(Ut*Mt)*H(Li=1/Xr):Li=0,Li,Ci=2*di*Ut*et-he,Qi=di*Dt-be,Mn=Li*(Rr*zr+di*Ut*Mt*mr),pa=Li*(.5*He*tr-di*2*Dt*et),ea=Li*.25*(tr*et-di*Dt*Rr*He),Ga=Li*(mr*Mt+di*zr*Ut),To=pa*ea-Ga*Mn;if(!To)break;var Wa=(Qi*pa-Ci*Ga)/To,co=(Ci*ea-Qi*Mn)/To;Pe-=Wa,Oe-=co}while((n(Wa)>p||n(co)>p)&&--Je>0);return[Pe,Oe]}};function ke(){return t.geoProjection(Me).scale(152.63)}function ge(he){var be=x(he),Pe=o(he),Oe=he>=0?1:-1,Je=b(Oe*he),He=(1+be-Pe)/2;function et(Mt,Dt){var Ut=o(Dt),tr=o(Mt/=2);return[(1+Ut)*x(Mt),(Oe*Dt>-a(tr,Je)-.001?0:-Oe*10)+He+x(Dt)*Pe-(1+Ut)*be*tr]}return et.invert=function(Mt,Dt){var Ut=0,tr=0,mr=50;do{var Rr=o(Ut),zr=x(Ut),Xr=o(tr),di=x(tr),Li=1+Xr,Ci=Li*zr-Mt,Qi=He+di*Pe-Li*be*Rr-Dt,Mn=Li*Rr/2,pa=-zr*di,ea=be*Li*zr/2,Ga=Pe*Xr+be*Rr*di,To=pa*ea-Ga*Mn,Wa=(Qi*pa-Ci*Ga)/To/2,co=(Ci*ea-Qi*Mn)/To;n(co)>2&&(co/=2),Ut-=Wa,tr-=co}while((n(Wa)>p||n(co)>p)&&--mr>0);return Oe*tr>-a(o(Ut),Je)-.001?[Ut*2,tr]:null},et}function ie(){var he=20*T,be=he>=0?1:-1,Pe=b(be*he),Oe=t.geoProjectionMutator(ge),Je=Oe(he),He=Je.stream;return Je.parallel=function(et){return arguments.length?(Pe=b((be=(he=et*T)>=0?1:-1)*he),Oe(he)):he*P},Je.stream=function(et){var Mt=Je.rotate(),Dt=He(et),Ut=(Je.rotate([0,0]),He(et)),tr=Je.precision();return Je.rotate(Mt),Dt.sphere=function(){Ut.polygonStart(),Ut.lineStart();for(var mr=be*-180;be*mr<180;mr+=be*90)Ut.point(mr,be*90);if(he)for(;be*(mr-=3*be*tr)>=-180;)Ut.point(mr,be*-a(o(mr*T/2),Pe)*P);Ut.lineEnd(),Ut.polygonEnd()},Dt},Je.scale(218.695).center([0,28.0974])}function Te(he,be){var Pe=b(be/2),Oe=H(1-Pe*Pe),Je=1+Oe*o(he/=2),He=x(he)*Oe/Je,et=Pe/Je,Mt=He*He,Dt=et*et;return[4/3*He*(3+Mt-3*Dt),4/3*et*(3+3*Mt-Dt)]}Te.invert=function(he,be){if(he*=3/8,be*=3/8,!he&&n(be)>1)return null;var Pe=he*he,Oe=be*be,Je=1+Pe+Oe,He=H((Je-H(Je*Je-4*be*be))/2),et=q(He)/3,Mt=He?re(n(be/He))/3:W(n(he))/3,Dt=o(et),Ut=N(Mt),tr=Ut*Ut-Dt*Dt;return[v(he)*2*a(G(Mt)*Dt,.25-tr),v(be)*2*a(Ut*x(et),.25+tr)]};function Ee(){return t.geoProjection(Te).scale(66.1603)}var Ae=H(8),ze=u(1+C);function Ce(he,be){var Pe=n(be);return Pe<L?[he,u(b(L+be/2))]:[he*o(Pe)*(2*C-1/x(Pe)),v(be)*(2*C*(Pe-L)-u(b(Pe/2)))]}Ce.invert=function(he,be){if((He=n(be))<ze)return[he,2*i(s(be))-A];var Pe=L,Oe=25,Je,He;do{var et=o(Pe/2),Mt=b(Pe/2);Pe-=Je=(Ae*(Pe-L)-u(Mt)-He)/(Ae-et*et/(2*Mt))}while(n(Je)>E&&--Oe>0);return[he/(o(Pe)*(Ae-1/x(Pe))),v(be)*Pe]};function me(){return t.geoProjection(Ce).scale(112.314)}function Re(he){var be=2*k/he;function Pe(Oe,Je){var He=t.geoAzimuthalEquidistantRaw(Oe,Je);if(n(Oe)>A){var et=a(He[1],He[0]),Mt=H(He[0]*He[0]+He[1]*He[1]),Dt=be*d((et-A)/be)+A,Ut=a(x(et-=Dt),2-o(et));et=Dt+q(k/Mt*x(Ut))-Ut,He[0]=Mt*o(et),He[1]=Mt*x(et)}return He}return Pe.invert=function(Oe,Je){var He=H(Oe*Oe+Je*Je);if(He>A){var et=a(Je,Oe),Mt=be*d((et-A)/be)+A,Dt=et>Mt?-1:1,Ut=He*o(Mt-et),tr=1/b(Dt*V((Ut-k)/H(k*(k-2*Ut)+He*He)));et=Mt+2*i((tr+Dt*H(tr*tr-3))/3),Oe=He*o(et),Je=He*x(et)}return t.geoAzimuthalEquidistantRaw.invert(Oe,Je)},Pe}function ce(){var he=5,be=t.geoProjectionMutator(Re),Pe=be(he),Oe=Pe.stream,Je=.01,He=-o(Je*T),et=x(Je*T);return Pe.lobes=function(Mt){return arguments.length?be(he=+Mt):he},Pe.stream=function(Mt){var Dt=Pe.rotate(),Ut=Oe(Mt),tr=(Pe.rotate([0,0]),Oe(Mt));return Pe.rotate(Dt),Ut.sphere=function(){tr.polygonStart(),tr.lineStart();for(var mr=0,Rr=360/he,zr=2*k/he,Xr=90-180/he,di=A;mr<he;++mr,Xr-=Rr,di-=zr)tr.point(a(et*o(di),He)*P,q(et*x(di))*P),Xr<-90?(tr.point(-90,-180-Xr-Je),tr.point(-90,-180-Xr+Je)):(tr.point(90,Xr+Je),tr.point(90,Xr-Je));tr.lineEnd(),tr.polygonEnd()},Ut},Pe.scale(87.8076).center([0,17.1875]).clipAngle(180-.001)}function Ge(he,be){if(arguments.length<2&&(be=he),be===1)return t.geoAzimuthalEqualAreaRaw;if(be===1/0)return nt;function Pe(Oe,Je){var He=t.geoAzimuthalEqualAreaRaw(Oe/be,Je);return He[0]*=he,He}return Pe.invert=function(Oe,Je){var He=t.geoAzimuthalEqualAreaRaw.invert(Oe/he,Je);return He[0]*=be,He},Pe}function nt(he,be){return[he*o(be)/o(be/=2),2*x(be)]}nt.invert=function(he,be){var Pe=2*q(be/2);return[he*o(Pe/2)/o(Pe),Pe]};function ct(){var he=2,be=t.geoProjectionMutator(Ge),Pe=be(he);return Pe.coefficient=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(169.529)}function qt(he,be,Pe){var Oe=100,Je,He,et;Pe=Pe===void 0?0:+Pe,be=+be;do He=he(Pe),et=he(Pe+p),He===et&&(et=He+p),Pe-=Je=-1*p*(He-be)/(He-et);while(Oe-- >0&&n(Je)>p);return Oe<0?NaN:Pe}function rt(he,be,Pe){return be===void 0&&(be=40),Pe===void 0&&(Pe=E),function(Oe,Je,He,et){var Mt,Dt,Ut;He=He===void 0?0:+He,et=et===void 0?0:+et;for(var tr=0;tr<be;tr++){var mr=he(He,et),Rr=mr[0]-Oe,zr=mr[1]-Je;if(n(Rr)<Pe&&n(zr)<Pe)break;var Xr=Rr*Rr+zr*zr;if(Xr>Mt){He-=Dt/=2,et-=Ut/=2;continue}Mt=Xr;var di=(He>0?-1:1)*Pe,Li=(et>0?-1:1)*Pe,Ci=he(He+di,et),Qi=he(He,et+Li),Mn=(Ci[0]-mr[0])/di,pa=(Ci[1]-mr[1])/di,ea=(Qi[0]-mr[0])/Li,Ga=(Qi[1]-mr[1])/Li,To=Ga*Mn-pa*ea,Wa=(n(To)<.5?.5:1)/To;if(Dt=(zr*ea-Rr*Ga)*Wa,Ut=(Rr*pa-zr*Mn)*Wa,He+=Dt,et+=Ut,n(Dt)<Pe&&n(Ut)<Pe)break}return[He,et]}}function ot(){var he=Ge(1.68,2),be=1.4,Pe=12;function Oe(Je,He){if(Je+He<-be){var et=(Je-He+1.6)*(Je+He+be)/8;Je+=et,He-=.8*et*x(He+k/2)}var Mt=he(Je,He),Dt=(1-o(Je*He))/Pe;return Mt[1]<0&&(Mt[0]*=1+Dt),Mt[1]>0&&(Mt[1]*=1+Dt/1.5*Mt[0]*Mt[0]),Mt}return Oe.invert=rt(Oe),Oe}function Rt(){return t.geoProjection(ot()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function kt(he,be){var Pe=he*x(be),Oe=30,Je;do be-=Je=(be+x(be)-Pe)/(1+o(be));while(n(Je)>p&&--Oe>0);return be/2}function Ct(he,be,Pe){function Oe(Je,He){return[he*Je*o(He=kt(Pe,He)),be*x(He)]}return Oe.invert=function(Je,He){return He=q(He/be),[Je/(he*o(He)),q((2*He+x(2*He))/Pe)]},Oe}var Yt=Ct(C/A,C,k);function xr(){return t.geoProjection(Yt).scale(169.529)}var er=2.00276,Ke=1.11072;function xt(he,be){var Pe=kt(k,be);return[er*he/(1/o(be)+Ke/o(Pe)),(be+C*x(Pe))/er]}xt.invert=function(he,be){var Pe=er*be,Oe=be<0?-L:L,Je=25,He,et;do et=Pe-C*x(Oe),Oe-=He=(x(2*Oe)+2*Oe-k*x(et))/(2*o(2*Oe)+2+k*o(et)*C*o(Oe));while(n(He)>p&&--Je>0);return et=Pe-C*x(Oe),[he*(1/o(et)+Ke/o(Oe))/er,et]};function bt(){return t.geoProjection(xt).scale(160.857)}function Lt(he){var be=0,Pe=t.geoProjectionMutator(he),Oe=Pe(be);return Oe.parallel=function(Je){return arguments.length?Pe(be=Je*T):be*P},Oe}function St(he,be){return[he*o(be),be]}St.invert=function(he,be){return[he/o(be),be]};function Et(){return t.geoProjection(St).scale(152.63)}function dt(he){if(!he)return St;var be=1/b(he);function Pe(Oe,Je){var He=be+he-Je,et=He&&Oe*o(Je)/He;return[He*x(et),be-He*o(et)]}return Pe.invert=function(Oe,Je){var He=H(Oe*Oe+(Je=be-Je)*Je),et=be+he-He;return[He/o(et)*a(Oe,Je),et]},Pe}function Ht(){return Lt(dt).scale(123.082).center([0,26.1441]).parallel(45)}function $t(he){function be(Pe,Oe){var Je=A-Oe,He=Je&&Pe*he*x(Je)/Je;return[Je*x(He)/he,A-Je*o(He)]}return be.invert=function(Pe,Oe){var Je=Pe*he,He=A-Oe,et=H(Je*Je+He*He),Mt=a(Je,He);return[(et?et/x(et):1)*Mt/he,A-et]},be}function fr(){var he=.5,be=t.geoProjectionMutator($t),Pe=be(he);return Pe.fraction=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(158.837)}var _r=Ct(1,4/k,k);function Br(){return t.geoProjection(_r).scale(152.63)}function Or(he,be,Pe,Oe,Je,He){var et=o(He),Mt;if(n(he)>1||n(He)>1)Mt=V(Pe*Je+be*Oe*et);else{var Dt=x(he/2),Ut=x(He/2);Mt=2*q(H(Dt*Dt+be*Oe*Ut*Ut))}return n(Mt)>p?[Mt,a(Oe*x(He),be*Je-Pe*Oe*et)]:[0,0]}function Nr(he,be,Pe){return V((he*he+be*be-Pe*Pe)/(2*he*be))}function ut(he){return he-2*k*l((he+k)/(2*k))}function Ne(he,be,Pe){for(var Oe=[[he[0],he[1],x(he[1]),o(he[1])],[be[0],be[1],x(be[1]),o(be[1])],[Pe[0],Pe[1],x(Pe[1]),o(Pe[1])]],Je=Oe[2],He,et=0;et<3;++et,Je=He)He=Oe[et],Je.v=Or(He[1]-Je[1],Je[3],Je[2],He[3],He[2],He[0]-Je[0]),Je.point=[0,0];var Mt=Nr(Oe[0].v[0],Oe[2].v[0],Oe[1].v[0]),Dt=Nr(Oe[0].v[0],Oe[1].v[0],Oe[2].v[0]),Ut=k-Mt;Oe[2].point[1]=0,Oe[0].point[0]=-(Oe[1].point[0]=Oe[0].v[0]/2);var tr=[Oe[2].point[0]=Oe[0].point[0]+Oe[2].v[0]*o(Mt),2*(Oe[0].point[1]=Oe[1].point[1]=Oe[2].v[0]*x(Mt))];function mr(Rr,zr){var Xr=x(zr),di=o(zr),Li=new Array(3),Ci;for(Ci=0;Ci<3;++Ci){var Qi=Oe[Ci];if(Li[Ci]=Or(zr-Qi[1],Qi[3],Qi[2],di,Xr,Rr-Qi[0]),!Li[Ci][0])return Qi.point;Li[Ci][1]=ut(Li[Ci][1]-Qi.v[1])}var Mn=tr.slice();for(Ci=0;Ci<3;++Ci){var pa=Ci==2?0:Ci+1,ea=Nr(Oe[Ci].v[0],Li[Ci][0],Li[pa][0]);Li[Ci][1]<0&&(ea=-ea),Ci?Ci==1?(ea=Dt-ea,Mn[0]-=Li[Ci][0]*o(ea),Mn[1]-=Li[Ci][0]*x(ea)):(ea=Ut-ea,Mn[0]+=Li[Ci][0]*o(ea),Mn[1]+=Li[Ci][0]*x(ea)):(Mn[0]+=Li[Ci][0]*o(ea),Mn[1]-=Li[Ci][0]*x(ea))}return Mn[0]/=3,Mn[1]/=3,Mn}return mr}function Ye(he){return he[0]*=T,he[1]*=T,he}function Ve(){return Xe([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Xe(he,be,Pe){var Oe=t.geoCentroid({type:\"MultiPoint\",coordinates:[he,be,Pe]}),Je=[-Oe[0],-Oe[1]],He=t.geoRotation(Je),et=Ne(Ye(He(he)),Ye(He(be)),Ye(He(Pe)));et.invert=rt(et);var Mt=t.geoProjection(et).rotate(Je),Dt=Mt.center;return delete Mt.rotate,Mt.center=function(Ut){return arguments.length?Dt(He(Ut)):He.invert(Dt())},Mt.clipAngle(90)}function ht(he,be){var Pe=H(1-x(be));return[2/M*he*Pe,M*(1-Pe)]}ht.invert=function(he,be){var Pe=(Pe=be/M-1)*Pe;return[Pe>0?he*H(k/Pe)/2:0,q(1-Pe)]};function Le(){return t.geoProjection(ht).scale(95.6464).center([0,30])}function xe(he){var be=b(he);function Pe(Oe,Je){return[Oe,(Oe?Oe/x(Oe):1)*(x(Je)*o(Oe)-be*o(Je))]}return Pe.invert=be?function(Oe,Je){Oe&&(Je*=x(Oe)/Oe);var He=o(Oe);return[Oe,2*a(H(He*He+be*be-Je*Je)-He,be-Je)]}:function(Oe,Je){return[Oe,q(Oe?Je*b(Oe)/Oe:Je)]},Pe}function Se(){return Lt(xe).scale(249.828).clipAngle(90)}var lt=H(3);function Gt(he,be){return[lt*he*(2*o(2*be/3)-1)/M,lt*M*x(be/3)]}Gt.invert=function(he,be){var Pe=3*q(be/(lt*M));return[M*he/(lt*(2*o(2*Pe/3)-1)),Pe]};function Vt(){return t.geoProjection(Gt).scale(156.19)}function ar(he){var be=o(he);function Pe(Oe,Je){return[Oe*be,x(Je)/be]}return Pe.invert=function(Oe,Je){return[Oe/be,q(Je*be)]},Pe}function Qr(){return Lt(ar).parallel(38.58).scale(195.044)}function ai(he){var be=o(he);function Pe(Oe,Je){return[Oe*be,(1+be)*b(Je/2)]}return Pe.invert=function(Oe,Je){return[Oe/be,i(Je/(1+be))*2]},Pe}function jr(){return Lt(ai).scale(124.75)}function ri(he,be){var Pe=H(8/(3*k));return[Pe*he*(1-n(be)/k),Pe*be]}ri.invert=function(he,be){var Pe=H(8/(3*k)),Oe=be/Pe;return[he/(Pe*(1-n(Oe)/k)),Oe]};function bi(){return t.geoProjection(ri).scale(165.664)}function nn(he,be){var Pe=H(4-3*x(n(be)));return[2/H(6*k)*he*Pe,v(be)*H(2*k/3)*(2-Pe)]}nn.invert=function(he,be){var Pe=2-n(be)/H(2*k/3);return[he*H(6*k)/(2*Pe),v(be)*q((4-Pe*Pe)/3)]};function Wi(){return t.geoProjection(nn).scale(165.664)}function Ni(he,be){var Pe=H(k*(4+k));return[2/Pe*he*(1+H(1-4*be*be/(k*k))),4/Pe*be]}Ni.invert=function(he,be){var Pe=H(k*(4+k))/2;return[he*Pe/(1+H(1-be*be*(4+k)/(4*k))),be*Pe/2]};function _n(){return t.geoProjection(Ni).scale(180.739)}function $i(he,be){var Pe=(2+A)*x(be);be/=2;for(var Oe=0,Je=1/0;Oe<10&&n(Je)>p;Oe++){var He=o(be);be-=Je=(be+x(be)*(He+2)-Pe)/(2*He*(1+He))}return[2/H(k*(4+k))*he*(1+o(be)),2*H(k/(4+k))*x(be)]}$i.invert=function(he,be){var Pe=be*H((4+k)/k)/2,Oe=q(Pe),Je=o(Oe);return[he/(2/H(k*(4+k))*(1+Je)),q((Oe+Pe*(Je+2))/(2+A))]};function zn(){return t.geoProjection($i).scale(180.739)}function Wn(he,be){return[he*(1+o(be))/H(2+k),2*be/H(2+k)]}Wn.invert=function(he,be){var Pe=H(2+k),Oe=be*Pe/2;return[Pe*he/(1+o(Oe)),Oe]};function It(){return t.geoProjection(Wn).scale(173.044)}function ft(he,be){for(var Pe=(1+A)*x(be),Oe=0,Je=1/0;Oe<10&&n(Je)>p;Oe++)be-=Je=(be+x(be)-Pe)/(1+o(be));return Pe=H(2+k),[he*(1+o(be))/Pe,2*be/Pe]}ft.invert=function(he,be){var Pe=1+A,Oe=H(Pe/2);return[he*2*Oe/(1+o(be*=Oe)),q((be+x(be))/Pe)]};function jt(){return t.geoProjection(ft).scale(173.044)}var Zt=3+2*C;function yr(he,be){var Pe=x(he/=2),Oe=o(he),Je=H(o(be)),He=o(be/=2),et=x(be)/(He+C*Oe*Je),Mt=H(2/(1+et*et)),Dt=H((C*He+(Oe+Pe)*Je)/(C*He+(Oe-Pe)*Je));return[Zt*(Mt*(Dt-1/Dt)-2*u(Dt)),Zt*(Mt*et*(Dt+1/Dt)-2*i(et))]}yr.invert=function(he,be){if(!(He=Te.invert(he/1.2,be*1.065)))return null;var Pe=He[0],Oe=He[1],Je=20,He;he/=Zt,be/=Zt;do{var et=Pe/2,Mt=Oe/2,Dt=x(et),Ut=o(et),tr=x(Mt),mr=o(Mt),Rr=o(Oe),zr=H(Rr),Xr=tr/(mr+C*Ut*zr),di=Xr*Xr,Li=H(2/(1+di)),Ci=C*mr+(Ut+Dt)*zr,Qi=C*mr+(Ut-Dt)*zr,Mn=Ci/Qi,pa=H(Mn),ea=pa-1/pa,Ga=pa+1/pa,To=Li*ea-2*u(pa)-he,Wa=Li*Xr*Ga-2*i(Xr)-be,co=tr&&_*zr*Dt*di/tr,Ro=(C*Ut*mr+zr)/(2*(mr+C*Ut*zr)*(mr+C*Ut*zr)*zr),Ds=-.5*Xr*Li*Li*Li,As=Ds*co,yo=Ds*Ro,po=(po=2*mr+C*zr*(Ut-Dt))*po*pa,_l=(C*Ut*mr*zr+Rr)/po,Hl=-(C*Dt*tr)/(zr*po),Zu=ea*As-2*_l/pa+Li*(_l+_l/Mn),cu=ea*yo-2*Hl/pa+Li*(Hl+Hl/Mn),el=Xr*Ga*As-2*co/(1+di)+Li*Ga*co+Li*Xr*(_l-_l/Mn),au=Xr*Ga*yo-2*Ro/(1+di)+Li*Ga*Ro+Li*Xr*(Hl-Hl/Mn),zc=cu*el-au*Zu;if(!zc)break;var zl=(Wa*cu-To*au)/zc,Fl=(To*el-Wa*Zu)/zc;Pe-=zl,Oe=c(-A,f(A,Oe-Fl))}while((n(zl)>p||n(Fl)>p)&&--Je>0);return n(n(Oe)-A)<p?[0,Oe]:Je&&[Pe,Oe]};function Fr(){return t.geoProjection(yr).scale(62.5271)}var Zr=o(35*T);function Vr(he,be){var Pe=b(be/2);return[he*Zr*H(1-Pe*Pe),(1+Zr)*Pe]}Vr.invert=function(he,be){var Pe=be/(1+Zr);return[he&&he/(Zr*H(1-Pe*Pe)),2*i(Pe)]};function gi(){return t.geoProjection(Vr).scale(137.152)}function Si(he,be){var Pe=be/2,Oe=o(Pe);return[2*he/M*o(be)*Oe*Oe,M*b(Pe)]}Si.invert=function(he,be){var Pe=i(be/M),Oe=o(Pe),Je=2*Pe;return[he*M/2/(o(Je)*Oe*Oe),Je]};function Mi(){return t.geoProjection(Si).scale(135.264)}function Pi(he){var be=1-he,Pe=He(k,0)[0]-He(-k,0)[0],Oe=He(0,A)[1]-He(0,-A)[1],Je=H(2*Oe/Pe);function He(Dt,Ut){var tr=o(Ut),mr=x(Ut);return[tr/(be+he*tr)*Dt,be*Ut+he*mr]}function et(Dt,Ut){var tr=He(Dt,Ut);return[tr[0]*Je,tr[1]/Je]}function Mt(Dt){return et(0,Dt)[1]}return et.invert=function(Dt,Ut){var tr=qt(Mt,Ut),mr=Dt/Je*(he+be/o(tr));return[mr,tr]},et}function Gi(){var he=.5,be=t.geoProjectionMutator(Pi),Pe=be(he);return Pe.alpha=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(168.725)}function Ki(he){return[he[0]/2,q(b(he[1]/2*T))*P]}function ka(he){return[he[0]*2,2*i(x(he[1]*T))*P]}function jn(he){he==null&&(he=t.geoOrthographic);var be=he(),Pe=t.geoEquirectangular().scale(P).precision(0).clipAngle(null).translate([0,0]);function Oe(He){return be(Ki(He))}be.invert&&(Oe.invert=function(He){return ka(be.invert(He))}),Oe.stream=function(He){var et=be.stream(He),Mt=Pe.stream({point:function(Dt,Ut){et.point(Dt/2,q(b(-Ut/2*T))*P)},lineStart:function(){et.lineStart()},lineEnd:function(){et.lineEnd()},polygonStart:function(){et.polygonStart()},polygonEnd:function(){et.polygonEnd()}});return Mt.sphere=et.sphere,Mt};function Je(He){Oe[He]=function(){return arguments.length?(be[He].apply(be,arguments),Oe):be[He]()}}return Oe.rotate=function(He){return arguments.length?(Pe.rotate(He),Oe):Pe.rotate()},Oe.center=function(He){return arguments.length?(be.center(Ki(He)),Oe):ka(be.center())},Je(\"angle\"),Je(\"clipAngle\"),Je(\"clipExtent\"),Je(\"fitExtent\"),Je(\"fitHeight\"),Je(\"fitSize\"),Je(\"fitWidth\"),Je(\"scale\"),Je(\"translate\"),Je(\"precision\"),Oe.scale(249.5)}function la(he,be){var Pe=2*k/be,Oe=he*he;function Je(He,et){var Mt=t.geoAzimuthalEquidistantRaw(He,et),Dt=Mt[0],Ut=Mt[1],tr=Dt*Dt+Ut*Ut;if(tr>Oe){var mr=H(tr),Rr=a(Ut,Dt),zr=Pe*d(Rr/Pe),Xr=Rr-zr,di=he*o(Xr),Li=(he*x(Xr)-Xr*x(di))/(A-di),Ci=Fa(Xr,Li),Qi=(k-he)/Ra(Ci,di,k);Dt=mr;var Mn=50,pa;do Dt-=pa=(he+Ra(Ci,di,Dt)*Qi-mr)/(Ci(Dt)*Qi);while(n(pa)>p&&--Mn>0);Ut=Xr*x(Dt),Dt<A&&(Ut-=Li*(Dt-A));var ea=x(zr),Ga=o(zr);Mt[0]=Dt*Ga-Ut*ea,Mt[1]=Dt*ea+Ut*Ga}return Mt}return Je.invert=function(He,et){var Mt=He*He+et*et;if(Mt>Oe){var Dt=H(Mt),Ut=a(et,He),tr=Pe*d(Ut/Pe),mr=Ut-tr;He=Dt*o(mr),et=Dt*x(mr);for(var Rr=He-A,zr=x(He),Xr=et/zr,di=He<A?1/0:0,Li=10;;){var Ci=he*x(Xr),Qi=he*o(Xr),Mn=x(Qi),pa=A-Qi,ea=(Ci-Xr*Mn)/pa,Ga=Fa(Xr,ea);if(n(di)<E||!--Li)break;Xr-=di=(Xr*zr-ea*Rr-et)/(zr-Rr*2*(pa*(Qi+Xr*Ci*o(Qi)-Mn)-Ci*(Ci-Xr*Mn))/(pa*pa))}Dt=he+Ra(Ga,Qi,He)*(k-he)/Ra(Ga,Qi,k),Ut=tr+Xr,He=Dt*o(Ut),et=Dt*x(Ut)}return t.geoAzimuthalEquidistantRaw.invert(He,et)},Je}function Fa(he,be){return function(Pe){var Oe=he*o(Pe);return Pe<A&&(Oe-=be),H(1+Oe*Oe)}}function Ra(he,be,Pe){for(var Oe=50,Je=(Pe-be)/Oe,He=he(be)+he(Pe),et=1,Mt=be;et<Oe;++et)He+=2*he(Mt+=Je);return He*.5*Je}function jo(){var he=6,be=30*T,Pe=o(be),Oe=x(be),Je=t.geoProjectionMutator(la),He=Je(be,he),et=He.stream,Mt=.01,Dt=-o(Mt*T),Ut=x(Mt*T);return He.radius=function(tr){return arguments.length?(Pe=o(be=tr*T),Oe=x(be),Je(be,he)):be*P},He.lobes=function(tr){return arguments.length?Je(be,he=+tr):he},He.stream=function(tr){var mr=He.rotate(),Rr=et(tr),zr=(He.rotate([0,0]),et(tr));return He.rotate(mr),Rr.sphere=function(){zr.polygonStart(),zr.lineStart();for(var Xr=0,di=2*k/he,Li=0;Xr<he;++Xr,Li-=di)zr.point(a(Ut*o(Li),Dt)*P,q(Ut*x(Li))*P),zr.point(a(Oe*o(Li-di/2),Pe)*P,q(Oe*x(Li-di/2))*P);zr.lineEnd(),zr.polygonEnd()},Rr},He.rotate([90,-40]).scale(91.7095).clipAngle(180-.001)}function oa(he,be,Pe,Oe,Je,He,et,Mt){arguments.length<8&&(Mt=0);function Dt(Ut,tr){if(!tr)return[he*Ut/k,0];var mr=tr*tr,Rr=he+mr*(be+mr*(Pe+mr*Oe)),zr=tr*(Je-1+mr*(He-Mt+mr*et)),Xr=(Rr*Rr+zr*zr)/(2*zr),di=Ut*q(Rr/Xr)/k;return[Xr*x(di),tr*(1+mr*Mt)+Xr*(1-o(di))]}return Dt.invert=function(Ut,tr){var mr=k*Ut/he,Rr=tr,zr,Xr,di=50;do{var Li=Rr*Rr,Ci=he+Li*(be+Li*(Pe+Li*Oe)),Qi=Rr*(Je-1+Li*(He-Mt+Li*et)),Mn=Ci*Ci+Qi*Qi,pa=2*Qi,ea=Mn/pa,Ga=ea*ea,To=q(Ci/ea)/k,Wa=mr*To,co=Ci*Ci,Ro=(2*be+Li*(4*Pe+Li*6*Oe))*Rr,Ds=Je+Li*(3*He+Li*5*et),As=2*(Ci*Ro+Qi*(Ds-1)),yo=2*(Ds-1),po=(As*pa-Mn*yo)/(pa*pa),_l=o(Wa),Hl=x(Wa),Zu=ea*_l,cu=ea*Hl,el=mr/k*(1/H(1-co/Ga))*(Ro*ea-Ci*po)/Ga,au=cu-Ut,zc=Rr*(1+Li*Mt)+ea-Zu-tr,zl=po*Hl+Zu*el,Fl=Zu*To,Z=1+po-(po*_l-cu*el),oe=cu*To,we=zl*oe-Z*Fl;if(!we)break;mr-=zr=(zc*zl-au*Z)/we,Rr-=Xr=(au*oe-zc*Fl)/we}while((n(zr)>p||n(Xr)>p)&&--di>0);return[mr,Rr]},Dt}var Sn=oa(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function Ha(){return t.geoProjection(Sn).scale(149.995)}var oo=oa(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function xn(){return t.geoProjection(oo).scale(153.93)}var _t=oa(5/6*k,-.62636,-.0344,0,1.3493,-.05524,0,.045);function br(){return t.geoProjection(_t).scale(130.945)}function Hr(he,be){var Pe=he*he,Oe=be*be;return[he*(1-.162388*Oe)*(.87-952426e-9*Pe*Pe),be*(1+Oe/12)]}Hr.invert=function(he,be){var Pe=he,Oe=be,Je=50,He;do{var et=Oe*Oe;Oe-=He=(Oe*(1+et/12)-be)/(1+et/4)}while(n(He)>p&&--Je>0);Je=50,he/=1-.162388*et;do{var Mt=(Mt=Pe*Pe)*Mt;Pe-=He=(Pe*(.87-952426e-9*Mt)-he)/(.87-.00476213*Mt)}while(n(He)>p&&--Je>0);return[Pe,Oe]};function ti(){return t.geoProjection(Hr).scale(131.747)}var zi=oa(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Yi(){return t.geoProjection(zi).scale(131.087)}function an(he){var be=he(A,0)[0]-he(-A,0)[0];function Pe(Oe,Je){var He=Oe>0?-.5:.5,et=he(Oe+He*k,Je);return et[0]-=He*be,et}return he.invert&&(Pe.invert=function(Oe,Je){var He=Oe>0?-.5:.5,et=he.invert(Oe+He*be,Je),Mt=et[0]-He*k;return Mt<-k?Mt+=2*k:Mt>k&&(Mt-=2*k),et[0]=Mt,et}),Pe}function hi(he,be){var Pe=v(he),Oe=v(be),Je=o(be),He=o(he)*Je,et=x(he)*Je,Mt=x(Oe*be);he=n(a(et,Mt)),be=q(He),n(he-A)>p&&(he%=A);var Dt=Ji(he>k/4?A-he:he,be);return he>k/4&&(Mt=Dt[0],Dt[0]=-Dt[1],Dt[1]=-Mt),Dt[0]*=Pe,Dt[1]*=-Oe,Dt}hi.invert=function(he,be){n(he)>1&&(he=v(he)*2-he),n(be)>1&&(be=v(be)*2-be);var Pe=v(he),Oe=v(be),Je=-Pe*he,He=-Oe*be,et=He/Je<1,Mt=ua(et?He:Je,et?Je:He),Dt=Mt[0],Ut=Mt[1],tr=o(Ut);return et&&(Dt=-A-Dt),[Pe*(a(x(Dt)*tr,-x(Ut))+k),Oe*q(o(Dt)*tr)]};function Ji(he,be){if(be===A)return[0,0];var Pe=x(be),Oe=Pe*Pe,Je=Oe*Oe,He=1+Je,et=1+3*Je,Mt=1-Je,Dt=q(1/H(He)),Ut=Mt+Oe*He*Dt,tr=(1-Pe)/Ut,mr=H(tr),Rr=tr*He,zr=H(Rr),Xr=mr*Mt,di,Li;if(he===0)return[0,-(Xr+Oe*zr)];var Ci=o(be),Qi=1/Ci,Mn=2*Pe*Ci,pa=(-3*Oe+Dt*et)*Mn,ea=(-Ut*Ci-(1-Pe)*pa)/(Ut*Ut),Ga=.5*ea/mr,To=Mt*Ga-2*Oe*mr*Mn,Wa=Oe*He*ea+tr*et*Mn,co=-Qi*Mn,Ro=-Qi*Wa,Ds=-2*Qi*To,As=4*he/k,yo;if(he>.222*k||be<k/4&&he>.175*k){if(di=(Xr+Oe*H(Rr*(1+Je)-Xr*Xr))/(1+Je),he>k/4)return[di,di];var po=di,_l=.5*di;di=.5*(_l+po),Li=50;do{var Hl=H(Rr-di*di),Zu=di*(Ds+co*Hl)+Ro*q(di/zr)-As;if(!Zu)break;Zu<0?_l=di:po=di,di=.5*(_l+po)}while(n(po-_l)>p&&--Li>0)}else{di=p,Li=25;do{var cu=di*di,el=H(Rr-cu),au=Ds+co*el,zc=di*au+Ro*q(di/zr)-As,zl=au+(Ro-co*cu)/el;di-=yo=el?zc/zl:0}while(n(yo)>p&&--Li>0)}return[di,-Xr-Oe*H(Rr-di*di)]}function ua(he,be){for(var Pe=0,Oe=1,Je=.5,He=50;;){var et=Je*Je,Mt=H(Je),Dt=q(1/H(1+et)),Ut=1-et+Je*(1+et)*Dt,tr=(1-Mt)/Ut,mr=H(tr),Rr=tr*(1+et),zr=mr*(1-et),Xr=Rr-he*he,di=H(Xr),Li=be+zr+Je*di;if(n(Oe-Pe)<E||--He===0||Li===0)break;Li>0?Pe=Je:Oe=Je,Je=.5*(Pe+Oe)}if(!He)return null;var Ci=q(Mt),Qi=o(Ci),Mn=1/Qi,pa=2*Mt*Qi,ea=(-3*Je+Dt*(1+3*et))*pa,Ga=(-Ut*Qi-(1-Mt)*ea)/(Ut*Ut),To=.5*Ga/mr,Wa=(1-et)*To-2*Je*mr*pa,co=-2*Mn*Wa,Ro=-Mn*pa,Ds=-Mn*(Je*(1+et)*Ga+tr*(1+3*et)*pa);return[k/4*(he*(co+Ro*di)+Ds*q(he/H(Rr))),Ci]}function Fn(){return t.geoProjection(an(hi)).scale(239.75)}function Sa(he,be,Pe){var Oe,Je,He;return he?(Oe=go(he,Pe),be?(Je=go(be,1-Pe),He=Je[1]*Je[1]+Pe*Oe[0]*Oe[0]*Je[0]*Je[0],[[Oe[0]*Je[2]/He,Oe[1]*Oe[2]*Je[0]*Je[1]/He],[Oe[1]*Je[1]/He,-Oe[0]*Oe[2]*Je[0]*Je[2]/He],[Oe[2]*Je[1]*Je[2]/He,-Pe*Oe[0]*Oe[1]*Je[0]/He]]):[[Oe[0],0],[Oe[1],0],[Oe[2],0]]):(Je=go(be,1-Pe),[[0,Je[0]/Je[1]],[1/Je[1],0],[Je[2]/Je[1],0]])}function go(he,be){var Pe,Oe,Je,He,et;if(be<p)return He=x(he),Oe=o(he),Pe=be*(he-He*Oe)/4,[He-Pe*Oe,Oe+Pe*He,1-be*He*He/2,he-Pe];if(be>=1-p)return Pe=(1-be)/4,Oe=N(he),He=X(he),Je=1/Oe,et=Oe*G(he),[He+Pe*(et-he)/(Oe*Oe),Je-Pe*He*Je*(et-he),Je+Pe*He*Je*(et+he),2*i(s(he))-A+Pe*(et-he)/Oe];var Mt=[1,0,0,0,0,0,0,0,0],Dt=[H(be),0,0,0,0,0,0,0,0],Ut=0;for(Oe=H(1-be),et=1;n(Dt[Ut]/Mt[Ut])>p&&Ut<8;)Pe=Mt[Ut++],Dt[Ut]=(Pe-Oe)/2,Mt[Ut]=(Pe+Oe)/2,Oe=H(Pe*Oe),et*=2;Je=et*Mt[Ut]*he;do He=Dt[Ut]*x(Oe=Je)/Mt[Ut],Je=(q(He)+Je)/2;while(--Ut);return[x(Je),He=o(Je),He/o(Je-Oe),Je]}function Oo(he,be,Pe){var Oe=n(he),Je=n(be),He=G(Je);if(Oe){var et=1/x(Oe),Mt=1/(b(Oe)*b(Oe)),Dt=-(Mt+Pe*(He*He*et*et)-1+Pe),Ut=(Pe-1)*Mt,tr=(-Dt+H(Dt*Dt-4*Ut))/2;return[ho(i(1/H(tr)),Pe)*v(he),ho(i(H((tr/Mt-1)/Pe)),1-Pe)*v(be)]}return[0,ho(i(He),1-Pe)*v(be)]}function ho(he,be){if(!be)return he;if(be===1)return u(b(he/2+L));for(var Pe=1,Oe=H(1-be),Je=H(be),He=0;n(Je)>p;He++){if(he%k){var et=i(Oe*b(he)/Pe);et<0&&(et+=k),he+=et+~~(he/k)*k}else he+=he;Je=(Pe+Oe)/2,Oe=H(Pe*Oe),Je=((Pe=Je)-Oe)/2}return he/(h(2,He)*Pe)}function Mo(he,be){var Pe=(C-1)/(C+1),Oe=H(1-Pe*Pe),Je=ho(A,Oe*Oe),He=-1,et=u(b(k/4+n(be)/2)),Mt=s(He*et)/H(Pe),Dt=xo(Mt*o(He*he),Mt*x(He*he)),Ut=Oo(Dt[0],Dt[1],Oe*Oe);return[-Ut[1],(be>=0?1:-1)*(.5*Je-Ut[0])]}function xo(he,be){var Pe=he*he,Oe=be+1,Je=1-Pe-be*be;return[.5*((he>=0?A:-A)-a(Je,2*he)),-.25*u(Je*Je+4*Pe)+.5*u(Oe*Oe+Pe)]}function zs(he,be){var Pe=be[0]*be[0]+be[1]*be[1];return[(he[0]*be[0]+he[1]*be[1])/Pe,(he[1]*be[0]-he[0]*be[1])/Pe]}Mo.invert=function(he,be){var Pe=(C-1)/(C+1),Oe=H(1-Pe*Pe),Je=ho(A,Oe*Oe),He=-1,et=Sa(.5*Je-be,-he,Oe*Oe),Mt=zs(et[0],et[1]),Dt=a(Mt[1],Mt[0])/He;return[Dt,2*i(s(.5/He*u(Pe*Mt[0]*Mt[0]+Pe*Mt[1]*Mt[1])))-A]};function ks(){return t.geoProjection(an(Mo)).scale(151.496)}function Zs(he){var be=x(he),Pe=o(he),Oe=Xs(he);Oe.invert=Xs(-he);function Je(He,et){var Mt=Oe(He,et);He=Mt[0],et=Mt[1];var Dt=x(et),Ut=o(et),tr=o(He),mr=V(be*Dt+Pe*Ut*tr),Rr=x(mr),zr=n(Rr)>p?mr/Rr:1;return[zr*Pe*x(He),(n(He)>A?zr:-zr)*(be*Ut-Pe*Dt*tr)]}return Je.invert=function(He,et){var Mt=H(He*He+et*et),Dt=-x(Mt),Ut=o(Mt),tr=Mt*Ut,mr=-et*Dt,Rr=Mt*be,zr=H(tr*tr+mr*mr-Rr*Rr),Xr=a(tr*Rr+mr*zr,mr*Rr-tr*zr),di=(Mt>A?-1:1)*a(He*Dt,Mt*o(Xr)*Ut+et*x(Xr)*Dt);return Oe.invert(di,Xr)},Je}function Xs(he){var be=x(he),Pe=o(he);return function(Oe,Je){var He=o(Je),et=o(Oe)*He,Mt=x(Oe)*He,Dt=x(Je);return[a(Mt,et*Pe-Dt*be),q(Dt*Pe+et*be)]}}function wl(){var he=0,be=t.geoProjectionMutator(Zs),Pe=be(he),Oe=Pe.rotate,Je=Pe.stream,He=t.geoCircle();return Pe.parallel=function(et){if(!arguments.length)return he*P;var Mt=Pe.rotate();return be(he=et*T).rotate(Mt)},Pe.rotate=function(et){return arguments.length?(Oe.call(Pe,[et[0],et[1]-he*P]),He.center([-et[0],-et[1]]),Pe):(et=Oe.call(Pe),et[1]+=he*P,et)},Pe.stream=function(et){return et=Je(et),et.sphere=function(){et.polygonStart();var Mt=.01,Dt=He.radius(90-Mt)().coordinates[0],Ut=Dt.length-1,tr=-1,mr;for(et.lineStart();++tr<Ut;)et.point((mr=Dt[tr])[0],mr[1]);for(et.lineEnd(),Dt=He.radius(90+Mt)().coordinates[0],Ut=Dt.length-1,et.lineStart();--tr>=0;)et.point((mr=Dt[tr])[0],mr[1]);et.lineEnd(),et.polygonEnd()},et},Pe.scale(79.4187).parallel(45).clipAngle(180-.001)}var os=3,cl=q(1-1/os)*P,Cs=ar(0);function ml(he){var be=cl*T,Pe=ht(k,be)[0]-ht(-k,be)[0],Oe=Cs(0,be)[1],Je=ht(0,be)[1],He=M-Je,et=g/he,Mt=4/g,Dt=Oe+He*He*4/g;function Ut(tr,mr){var Rr,zr=n(mr);if(zr>be){var Xr=f(he-1,c(0,l((tr+k)/et)));tr+=k*(he-1)/he-Xr*et,Rr=ht(tr,zr),Rr[0]=Rr[0]*g/Pe-g*(he-1)/(2*he)+Xr*g/he,Rr[1]=Oe+(Rr[1]-Je)*4*He/g,mr<0&&(Rr[1]=-Rr[1])}else Rr=Cs(tr,mr);return Rr[0]*=Mt,Rr[1]/=Dt,Rr}return Ut.invert=function(tr,mr){tr/=Mt,mr*=Dt;var Rr=n(mr);if(Rr>Oe){var zr=f(he-1,c(0,l((tr+k)/et)));tr=(tr+k*(he-1)/he-zr*et)*Pe/g;var Xr=ht.invert(tr,.25*(Rr-Oe)*g/He+Je);return Xr[0]-=k*(he-1)/he-zr*et,mr<0&&(Xr[1]=-Xr[1]),Xr}return Cs.invert(tr,mr)},Ut}function Ys(he,be){return[he,be&1?90-p:cl]}function Hs(he,be){return[he,be&1?-90+p:-cl]}function Eo(he){return[he[0]*(1-p),he[1]]}function fs(he){var be=[].concat(r.range(-180,180+he/2,he).map(Ys),r.range(180,-180-he/2,-he).map(Hs));return{type:\"Polygon\",coordinates:[he===180?be.map(Eo):be]}}function Ql(){var he=4,be=t.geoProjectionMutator(ml),Pe=be(he),Oe=Pe.stream;return Pe.lobes=function(Je){return arguments.length?be(he=+Je):he},Pe.stream=function(Je){var He=Pe.rotate(),et=Oe(Je),Mt=(Pe.rotate([0,0]),Oe(Je));return Pe.rotate(He),et.sphere=function(){t.geoStream(fs(180/he),Mt)},et},Pe.scale(239.75)}function Hu(he){var be=1+he,Pe=x(1/be),Oe=q(Pe),Je=2*H(k/(He=k+4*Oe*be)),He,et=.5*Je*(be+H(he*(2+he))),Mt=he*he,Dt=be*be;function Ut(tr,mr){var Rr=1-x(mr),zr,Xr;if(Rr&&Rr<2){var di=A-mr,Li=25,Ci;do{var Qi=x(di),Mn=o(di),pa=Oe+a(Qi,be-Mn),ea=1+Dt-2*be*Mn;di-=Ci=(di-Mt*Oe-be*Qi+ea*pa-.5*Rr*He)/(2*be*Qi*pa)}while(n(Ci)>E&&--Li>0);zr=Je*H(ea),Xr=tr*pa/k}else zr=Je*(he+Rr),Xr=tr*Oe/k;return[zr*x(Xr),et-zr*o(Xr)]}return Ut.invert=function(tr,mr){var Rr=tr*tr+(mr-=et)*mr,zr=(1+Dt-Rr/(Je*Je))/(2*be),Xr=V(zr),di=x(Xr),Li=Oe+a(di,be-zr);return[q(tr/H(Rr))*k/Li,q(1-2*(Xr-Mt*Oe-be*di+(1+Dt-2*be*zr)*Li)/He)]},Ut}function fc(){var he=1,be=t.geoProjectionMutator(Hu),Pe=be(he);return Pe.ratio=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(167.774).center([0,18.67])}var ms=.7109889596207567,on=.0528035274542;function fa(he,be){return be>-ms?(he=Yt(he,be),he[1]+=on,he):St(he,be)}fa.invert=function(he,be){return be>-ms?Yt.invert(he,be-on):St.invert(he,be)};function Qu(){return t.geoProjection(fa).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function Rl(he,be){return n(be)>ms?(he=Yt(he,be),he[1]-=be>0?on:-on,he):St(he,be)}Rl.invert=function(he,be){return n(be)>ms?Yt.invert(he,be+(be>0?on:-on)):St.invert(he,be)};function vo(){return t.geoProjection(Rl).scale(152.63)}function Zl(he,be,Pe,Oe){var Je=H(4*k/(2*Pe+(1+he-be/2)*x(2*Pe)+(he+be)/2*x(4*Pe)+be/2*x(6*Pe))),He=H(Oe*x(Pe)*H((1+he*o(2*Pe)+be*o(4*Pe))/(1+he+be))),et=Pe*Dt(1);function Mt(mr){return H(1+he*o(2*mr)+be*o(4*mr))}function Dt(mr){var Rr=mr*Pe;return(2*Rr+(1+he-be/2)*x(2*Rr)+(he+be)/2*x(4*Rr)+be/2*x(6*Rr))/Pe}function Ut(mr){return Mt(mr)*x(mr)}var tr=function(mr,Rr){var zr=Pe*qt(Dt,et*x(Rr)/Pe,Rr/k);isNaN(zr)&&(zr=Pe*v(Rr));var Xr=Je*Mt(zr);return[Xr*He*mr/k*o(zr),Xr/He*x(zr)]};return tr.invert=function(mr,Rr){var zr=qt(Ut,Rr*He/Je);return[mr*k/(o(zr)*Je*He*Mt(zr)),q(Pe*Dt(zr/Pe)/et)]},Pe===0&&(Je=H(Oe/k),tr=function(mr,Rr){return[mr*Je,x(Rr)/Je]},tr.invert=function(mr,Rr){return[mr/Je,q(Rr*Je)]}),tr}function Ks(){var he=1,be=0,Pe=45*T,Oe=2,Je=t.geoProjectionMutator(Zl),He=Je(he,be,Pe,Oe);return He.a=function(et){return arguments.length?Je(he=+et,be,Pe,Oe):he},He.b=function(et){return arguments.length?Je(he,be=+et,Pe,Oe):be},He.psiMax=function(et){return arguments.length?Je(he,be,Pe=+et*T,Oe):Pe*P},He.ratio=function(et){return arguments.length?Je(he,be,Pe,Oe=+et):Oe},He.scale(180.739)}function Xl(he,be,Pe,Oe,Je,He,et,Mt,Dt,Ut,tr){if(tr.nanEncountered)return NaN;var mr,Rr,zr,Xr,di,Li,Ci,Qi,Mn,pa;if(mr=Pe-be,Rr=he(be+mr*.25),zr=he(Pe-mr*.25),isNaN(Rr)){tr.nanEncountered=!0;return}if(isNaN(zr)){tr.nanEncountered=!0;return}return Xr=mr*(Oe+4*Rr+Je)/12,di=mr*(Je+4*zr+He)/12,Li=Xr+di,pa=(Li-et)/15,Ut>Dt?(tr.maxDepthCount++,Li+pa):Math.abs(pa)<Mt?Li+pa:(Ci=be+mr*.5,Qi=Xl(he,be,Ci,Oe,Rr,Je,Xr,Mt*.5,Dt,Ut+1,tr),isNaN(Qi)?(tr.nanEncountered=!0,NaN):(Mn=Xl(he,Ci,Pe,Je,zr,He,di,Mt*.5,Dt,Ut+1,tr),isNaN(Mn)?(tr.nanEncountered=!0,NaN):Qi+Mn))}function Ec(he,be,Pe,Oe,Je){var He={maxDepthCount:0,nanEncountered:!1};Oe===void 0&&(Oe=1e-8),Je===void 0&&(Je=20);var et=he(be),Mt=he(.5*(be+Pe)),Dt=he(Pe),Ut=(et+4*Mt+Dt)*(Pe-be)/6,tr=Xl(he,be,Pe,et,Mt,Dt,Ut,Oe,Je,1,He);return tr}function Zn(he,be,Pe){function Oe(zr){return he+(1-he)*h(1-h(zr,be),1/be)}function Je(zr){return Ec(Oe,0,zr,1e-4)}for(var He=1/Je(1),et=1e3,Mt=(1+1e-8)*He,Dt=[],Ut=0;Ut<=et;Ut++)Dt.push(Je(Ut/et)*Mt);function tr(zr){var Xr=0,di=et,Li=et>>1;do Dt[Li]>zr?di=Li:Xr=Li,Li=Xr+di>>1;while(Li>Xr);var Ci=Dt[Li+1]-Dt[Li];return Ci&&(Ci=(zr-Dt[Li+1])/Ci),(Li+1+Ci)/et}var mr=2*tr(1)/k*He/Pe,Rr=function(zr,Xr){var di=tr(n(x(Xr))),Li=Oe(di)*zr;return di/=mr,[Li,Xr>=0?di:-di]};return Rr.invert=function(zr,Xr){var di;return Xr*=mr,n(Xr)<1&&(di=v(Xr)*q(Je(n(Xr))*He)),[zr/Oe(n(Xr)),di]},Rr}function ko(){var he=0,be=2.5,Pe=1.183136,Oe=t.geoProjectionMutator(Zn),Je=Oe(he,be,Pe);return Je.alpha=function(He){return arguments.length?Oe(he=+He,be,Pe):he},Je.k=function(He){return arguments.length?Oe(he,be=+He,Pe):be},Je.gamma=function(He){return arguments.length?Oe(he,be,Pe=+He):Pe},Je.scale(152.63)}function Co(he,be){return n(he[0]-be[0])<p&&n(he[1]-be[1])<p}function Tl(he,be){for(var Pe=-1,Oe=he.length,Je=he[0],He,et,Mt,Dt=[];++Pe<Oe;){He=he[Pe],et=(He[0]-Je[0])/be,Mt=(He[1]-Je[1])/be;for(var Ut=0;Ut<be;++Ut)Dt.push([Je[0]+Ut*et,Je[1]+Ut*Mt]);Je=He}return Dt.push(He),Dt}function uf(he){var be=[],Pe,Oe,Je,He,et,Mt,Dt,Ut=he[0].length;for(Dt=0;Dt<Ut;++Dt)Pe=he[0][Dt],Oe=Pe[0][0],Je=Pe[0][1],He=Pe[1][1],et=Pe[2][0],Mt=Pe[2][1],be.push(Tl([[Oe+p,Je+p],[Oe+p,He-p],[et-p,He-p],[et-p,Mt+p]],30));for(Dt=he[1].length-1;Dt>=0;--Dt)Pe=he[1][Dt],Oe=Pe[0][0],Je=Pe[0][1],He=Pe[1][1],et=Pe[2][0],Mt=Pe[2][1],be.push(Tl([[et-p,Mt-p],[et-p,He+p],[Oe+p,He+p],[Oe+p,Je-p]],30));return{type:\"Polygon\",coordinates:[r.merge(be)]}}function So(he,be,Pe){var Oe,Je;function He(Dt,Ut){for(var tr=Ut<0?-1:1,mr=be[+(Ut<0)],Rr=0,zr=mr.length-1;Rr<zr&&Dt>mr[Rr][2][0];++Rr);var Xr=he(Dt-mr[Rr][1][0],Ut);return Xr[0]+=he(mr[Rr][1][0],tr*Ut>tr*mr[Rr][0][1]?mr[Rr][0][1]:Ut)[0],Xr}Pe?He.invert=Pe(He):he.invert&&(He.invert=function(Dt,Ut){for(var tr=Je[+(Ut<0)],mr=be[+(Ut<0)],Rr=0,zr=tr.length;Rr<zr;++Rr){var Xr=tr[Rr];if(Xr[0][0]<=Dt&&Dt<Xr[1][0]&&Xr[0][1]<=Ut&&Ut<Xr[1][1]){var di=he.invert(Dt-he(mr[Rr][1][0],0)[0],Ut);return di[0]+=mr[Rr][1][0],Co(He(di[0],di[1]),[Dt,Ut])?di:null}}});var et=t.geoProjection(He),Mt=et.stream;return et.stream=function(Dt){var Ut=et.rotate(),tr=Mt(Dt),mr=(et.rotate([0,0]),Mt(Dt));return et.rotate(Ut),tr.sphere=function(){t.geoStream(Oe,mr)},tr},et.lobes=function(Dt){return arguments.length?(Oe=uf(Dt),be=Dt.map(function(Ut){return Ut.map(function(tr){return[[tr[0][0]*T,tr[0][1]*T],[tr[1][0]*T,tr[1][1]*T],[tr[2][0]*T,tr[2][1]*T]]})}),Je=be.map(function(Ut){return Ut.map(function(tr){var mr=he(tr[0][0],tr[0][1])[0],Rr=he(tr[2][0],tr[2][1])[0],zr=he(tr[1][0],tr[0][1])[1],Xr=he(tr[1][0],tr[1][1])[1],di;return zr>Xr&&(di=zr,zr=Xr,Xr=di),[[mr,zr],[Rr,Xr]]})}),et):be.map(function(Ut){return Ut.map(function(tr){return[[tr[0][0]*P,tr[0][1]*P],[tr[1][0]*P,tr[1][1]*P],[tr[2][0]*P,tr[2][1]*P]]})})},be!=null&&et.lobes(be),et}var cf=[[[[-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 rh(){return So(xt,cf).scale(160.857)}var Al=[[[[-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 Hc(){return So(Rl,Al).scale(152.63)}var eu=[[[[-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 Ls(){return So(Yt,eu).scale(169.529)}var mu=[[[[-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 kc(){return So(Yt,mu).scale(169.529).rotate([20,0])}var Of=[[[[-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 Gc(){return So(fa,Of,rt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var vd=[[[[-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 Bf(){return So(St,vd).scale(152.63).rotate([-20,0])}function ss(he,be){return[3/g*he*H(k*k/3-be*be),be]}ss.invert=function(he,be){return[g/3*he/H(k*k/3-be*be),be]};function ff(){return t.geoProjection(ss).scale(158.837)}function ih(he){function be(Pe,Oe){if(n(n(Oe)-A)<p)return[0,Oe<0?-2:2];var Je=x(Oe),He=h((1+Je)/(1-Je),he/2),et=.5*(He+1/He)+o(Pe*=he);return[2*x(Pe)/et,(He-1/He)/et]}return be.invert=function(Pe,Oe){var Je=n(Oe);if(n(Je-2)<p)return Pe?null:[0,v(Oe)*A];if(Je>2)return null;Pe/=2,Oe/=2;var He=Pe*Pe,et=Oe*Oe,Mt=2*Oe/(1+He+et);return Mt=h((1+Mt)/(1-Mt),1/he),[a(2*Pe,1-He-et)/he,q((Mt-1)/(Mt+1))]},be}function Vl(){var he=.5,be=t.geoProjectionMutator(ih),Pe=be(he);return Pe.spacing=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(124.75)}var Js=k/C;function hc(he,be){return[he*(1+H(o(be)))/2,be/(o(be/2)*o(he/6))]}hc.invert=function(he,be){var Pe=n(he),Oe=n(be),Je=p,He=A;Oe<Js?He*=Oe/Js:Je+=6*V(Js/Oe);for(var et=0;et<25;et++){var Mt=x(He),Dt=H(o(He)),Ut=x(He/2),tr=o(He/2),mr=x(Je/6),Rr=o(Je/6),zr=.5*Je*(1+Dt)-Pe,Xr=He/(tr*Rr)-Oe,di=Dt?-.25*Je*Mt/Dt:0,Li=.5*(1+Dt),Ci=(1+.5*He*Ut/tr)/(tr*Rr),Qi=He/tr*(mr/6)/(Rr*Rr),Mn=di*Qi-Ci*Li,pa=(zr*Qi-Xr*Li)/Mn,ea=(Xr*di-zr*Ci)/Mn;if(He-=pa,Je-=ea,n(pa)<p&&n(ea)<p)break}return[he<0?-Je:Je,be<0?-He:He]};function Cc(){return t.geoProjection(hc).scale(97.2672)}function ws(he,be){var Pe=he*he,Oe=be*be;return[he*(.975534+Oe*(-.119161+Pe*-.0143059+Oe*-.0547009)),be*(1.00384+Pe*(.0802894+Oe*-.02855+Pe*199025e-9)+Oe*(.0998909+Oe*-.0491032))]}ws.invert=function(he,be){var Pe=v(he)*k,Oe=be/2,Je=50;do{var He=Pe*Pe,et=Oe*Oe,Mt=Pe*Oe,Dt=Pe*(.975534+et*(-.119161+He*-.0143059+et*-.0547009))-he,Ut=Oe*(1.00384+He*(.0802894+et*-.02855+He*199025e-9)+et*(.0998909+et*-.0491032))-be,tr=.975534-et*(.119161+3*He*.0143059+et*.0547009),mr=-Mt*(2*.119161+4*.0547009*et+2*.0143059*He),Rr=Mt*(2*.0802894+4*199025e-9*He+2*-.02855*et),zr=1.00384+He*(.0802894+199025e-9*He)+et*(3*(.0998909-.02855*He)-5*.0491032*et),Xr=mr*Rr-zr*tr,di=(Ut*mr-Dt*zr)/Xr,Li=(Dt*Rr-Ut*tr)/Xr;Pe-=di,Oe-=Li}while((n(di)>p||n(Li)>p)&&--Je>0);return Je&&[Pe,Oe]};function $s(){return t.geoProjection(ws).scale(139.98)}function hs(he,be){return[x(he)/o(be),b(be)*o(he)]}hs.invert=function(he,be){var Pe=he*he,Oe=be*be,Je=Oe+1,He=Pe+Je,et=he?_*H((He-H(He*He-4*Pe))/Pe):1/H(Je);return[q(he*et),v(be)*V(et)]};function Ms(){return t.geoProjection(hs).scale(144.049).clipAngle(90-.001)}function dc(he){var be=o(he),Pe=b(L+he/2);function Oe(Je,He){var et=He-he,Mt=n(et)<p?Je*be:n(Mt=L+He/2)<p||n(n(Mt)-A)<p?0:Je*et/u(b(Mt)/Pe);return[Mt,et]}return Oe.invert=function(Je,He){var et,Mt=He+he;return[n(He)<p?Je/be:n(et=L+Mt/2)<p||n(n(et)-A)<p?0:Je*u(b(et)/Pe)/He,Mt]},Oe}function Sl(){return Lt(dc).parallel(40).scale(158.837)}function ec(he,be){return[he,1.25*u(b(L+.4*be))]}ec.invert=function(he,be){return[he,2.5*i(s(.8*be))-.625*k]};function Ps(){return t.geoProjection(ec).scale(108.318)}function ov(he){var be=he.length-1;function Pe(Oe,Je){for(var He=o(Je),et=2/(1+He*o(Oe)),Mt=et*He*x(Oe),Dt=et*x(Je),Ut=be,tr=he[Ut],mr=tr[0],Rr=tr[1],zr;--Ut>=0;)tr=he[Ut],mr=tr[0]+Mt*(zr=mr)-Dt*Rr,Rr=tr[1]+Mt*Rr+Dt*zr;return mr=Mt*(zr=mr)-Dt*Rr,Rr=Mt*Rr+Dt*zr,[mr,Rr]}return Pe.invert=function(Oe,Je){var He=20,et=Oe,Mt=Je;do{for(var Dt=be,Ut=he[Dt],tr=Ut[0],mr=Ut[1],Rr=0,zr=0,Xr;--Dt>=0;)Ut=he[Dt],Rr=tr+et*(Xr=Rr)-Mt*zr,zr=mr+et*zr+Mt*Xr,tr=Ut[0]+et*(Xr=tr)-Mt*mr,mr=Ut[1]+et*mr+Mt*Xr;Rr=tr+et*(Xr=Rr)-Mt*zr,zr=mr+et*zr+Mt*Xr,tr=et*(Xr=tr)-Mt*mr-Oe,mr=et*mr+Mt*Xr-Je;var di=Rr*Rr+zr*zr,Li,Ci;et-=Li=(tr*Rr+mr*zr)/di,Mt-=Ci=(mr*Rr-tr*zr)/di}while(n(Li)+n(Ci)>p*p&&--He>0);if(He){var Qi=H(et*et+Mt*Mt),Mn=2*i(Qi*.5),pa=x(Mn);return[a(et*pa,Qi*o(Mn)),Qi?q(Mt*pa/Qi):0]}},Pe}var wo=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],Od=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],$o=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Ja=[[.9245,0],[0,0],[.01943,0]],Ef=[[.721316,0],[0,0],[-.00881625,-.00617325]];function tc(){return Ml(wo,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function uu(){return Ml(Od,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Mh(){return Ml($o,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function jc(){return Ml(Ja,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function kf(){return Ml(Ef,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Ml(he,be){var Pe=t.geoProjection(ov(he)).rotate(be).clipAngle(90),Oe=t.geoRotation(be),Je=Pe.center;return delete Pe.rotate,Pe.center=function(He){return arguments.length?Je(Oe(He)):Oe.invert(Je())},Pe}var Yh=H(6),Eh=H(7);function nh(he,be){var Pe=q(7*x(be)/(3*Yh));return[Yh*he*(2*o(2*Pe/3)-1)/Eh,9*x(Pe/3)/Eh]}nh.invert=function(he,be){var Pe=3*q(be*Eh/9);return[he*Eh/(Yh*(2*o(2*Pe/3)-1)),q(x(Pe)*3*Yh/7)]};function hf(){return t.geoProjection(nh).scale(164.859)}function kh(he,be){for(var Pe=(1+_)*x(be),Oe=be,Je=0,He;Je<25&&(Oe-=He=(x(Oe/2)+x(Oe)-Pe)/(.5*o(Oe/2)+o(Oe)),!(n(He)<p));Je++);return[he*(1+2*o(Oe)/o(Oe/2))/(3*C),2*H(3)*x(Oe/2)/H(2+C)]}kh.invert=function(he,be){var Pe=be*H(2+C)/(2*H(3)),Oe=2*q(Pe);return[3*C*he/(1+2*o(Oe)/o(Oe/2)),q((Pe+x(Oe))/(1+_))]};function Kh(){return t.geoProjection(kh).scale(188.209)}function rc(he,be){for(var Pe=H(6/(4+k)),Oe=(1+k/4)*x(be),Je=be/2,He=0,et;He<25&&(Je-=et=(Je/2+x(Je)-Oe)/(.5+o(Je)),!(n(et)<p));He++);return[Pe*(.5+o(Je))*he/1.5,Pe*Je]}rc.invert=function(he,be){var Pe=H(6/(4+k)),Oe=be/Pe;return n(n(Oe)-A)<p&&(Oe=Oe<0?-A:A),[1.5*he/(Pe*(.5+o(Oe))),q((Oe/2+x(Oe))/(1+k/4))]};function ah(){return t.geoProjection(rc).scale(166.518)}function Wc(he,be){var Pe=be*be,Oe=Pe*Pe,Je=Pe*Oe;return[he*(.84719-.13063*Pe+Je*Je*(-.04515+.05494*Pe-.02326*Oe+.00331*Je)),be*(1.01183+Oe*Oe*(-.02625+.01926*Pe-.00396*Oe))]}Wc.invert=function(he,be){var Pe=be,Oe=25,Je,He,et,Mt;do He=Pe*Pe,et=He*He,Pe-=Je=(Pe*(1.01183+et*et*(-.02625+.01926*He-.00396*et))-be)/(1.01183+et*et*(9*-.02625+11*.01926*He+13*-.00396*et));while(n(Je)>E&&--Oe>0);return He=Pe*Pe,et=He*He,Mt=He*et,[he/(.84719-.13063*He+Mt*Mt*(-.04515+.05494*He-.02326*et+.00331*Mt)),Pe]};function df(){return t.geoProjection(Wc).scale(175.295)}function Cu(he,be){return[he*(1+o(be))/2,2*(be-b(be/2))]}Cu.invert=function(he,be){for(var Pe=be/2,Oe=0,Je=1/0;Oe<10&&n(Je)>p;++Oe){var He=o(be/2);be-=Je=(be-b(be/2)-Pe)/(1-.5/(He*He))}return[2*he/(1+o(be)),be]};function Nf(){return t.geoProjection(Cu).scale(152.63)}var Zc=[[[[-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 ds(){return So(Ge(1/0),Zc).rotate([20,0]).scale(152.63)}function Ch(he,be){var Pe=x(be),Oe=o(be),Je=v(he);if(he===0||n(be)===A)return[0,be];if(be===0)return[he,0];if(n(he)===A)return[he*Oe,A*Pe];var He=k/(2*he)-2*he/k,et=2*be/k,Mt=(1-et*et)/(Pe-et),Dt=He*He,Ut=Mt*Mt,tr=1+Dt/Ut,mr=1+Ut/Dt,Rr=(He*Pe/Mt-He/2)/tr,zr=(Ut*Pe/Dt+Mt/2)/mr,Xr=Rr*Rr+Oe*Oe/tr,di=zr*zr-(Ut*Pe*Pe/Dt+Mt*Pe-1)/mr;return[A*(Rr+H(Xr)*Je),A*(zr+H(di<0?0:di)*v(-be*He)*Je)]}Ch.invert=function(he,be){he/=A,be/=A;var Pe=he*he,Oe=be*be,Je=Pe+Oe,He=k*k;return[he?(Je-1+H((1-Je)*(1-Je)+4*Pe))/(2*he)*A:0,qt(function(et){return Je*(k*x(et)-2*et)*k+4*et*et*(be-x(et))+2*k*et-He*be},0)]};function Bd(){return t.geoProjection(Ch).scale(127.267)}var Jh=1.0148,Cf=.23185,pd=-.14499,Lu=.02406,$h=Jh,tu=5*Cf,Pu=7*pd,Lc=9*Lu,fl=1.790857183;function Xc(he,be){var Pe=be*be;return[he,be*(Jh+Pe*Pe*(Cf+Pe*(pd+Lu*Pe)))]}Xc.invert=function(he,be){be>fl?be=fl:be<-fl&&(be=-fl);var Pe=be,Oe;do{var Je=Pe*Pe;Pe-=Oe=(Pe*(Jh+Je*Je*(Cf+Je*(pd+Lu*Je)))-be)/($h+Je*Je*(tu+Je*(Pu+Lc*Je)))}while(n(Oe)>p);return[he,Pe]};function ic(){return t.geoProjection(Xc).scale(139.319)}function yu(he,be){if(n(be)<p)return[he,0];var Pe=b(be),Oe=he*x(be);return[x(Oe)/Pe,be+(1-o(Oe))/Pe]}yu.invert=function(he,be){if(n(be)<p)return[he,0];var Pe=he*he+be*be,Oe=be*.5,Je=10,He;do{var et=b(Oe),Mt=1/o(Oe),Dt=Pe-2*be*Oe+Oe*Oe;Oe-=He=(et*Dt+2*(Oe-be))/(2+Dt*Mt*Mt+2*(Oe-be)*et)}while(n(He)>p&&--Je>0);return et=b(Oe),[(n(be)<n(Oe+1/et)?q(he*et):v(be)*v(he)*(V(n(he*et))+A))/x(Oe),Oe]};function Qs(){return t.geoProjection(yu).scale(103.74)}function Qh(he,be){var Pe=Pc(he[1],he[0]),Oe=Pc(be[1],be[0]),Je=sv(Pe,Oe),He=vc(Pe)/vc(Oe);return Gu([1,0,he[0][0],0,1,he[0][1]],Gu([He,0,0,0,He,0],Gu([o(Je),x(Je),0,-x(Je),o(Je),0],[1,0,-be[0][0],0,1,-be[0][1]])))}function gd(he){var be=1/(he[0]*he[4]-he[1]*he[3]);return[be*he[4],-be*he[1],be*(he[1]*he[5]-he[2]*he[4]),-be*he[3],be*he[0],be*(he[2]*he[3]-he[0]*he[5])]}function Gu(he,be){return[he[0]*be[0]+he[1]*be[3],he[0]*be[1]+he[1]*be[4],he[0]*be[2]+he[1]*be[5]+he[2],he[3]*be[0]+he[4]*be[3],he[3]*be[1]+he[4]*be[4],he[3]*be[2]+he[4]*be[5]+he[5]]}function Pc(he,be){return[he[0]-be[0],he[1]-be[1]]}function vc(he){return H(he[0]*he[0]+he[1]*he[1])}function sv(he,be){return a(he[0]*be[1]-he[1]*be[0],he[0]*be[0]+he[1]*be[1])}function Lf(he,be,Pe){Oe(he,{transform:null});function Oe(Ut,tr){if(Ut.edges=ru(Ut.face),tr.face){var mr=Ut.shared=oh(Ut.face,tr.face),Rr=Qh(mr.map(tr.project),mr.map(Ut.project));Ut.transform=tr.transform?Gu(tr.transform,Rr):Rr;for(var zr=tr.edges,Xr=0,di=zr.length;Xr<di;++Xr)Iu(mr[0],zr[Xr][1])&&Iu(mr[1],zr[Xr][0])&&(zr[Xr]=Ut),Iu(mr[0],zr[Xr][0])&&Iu(mr[1],zr[Xr][1])&&(zr[Xr]=Ut);for(zr=Ut.edges,Xr=0,di=zr.length;Xr<di;++Xr)Iu(mr[0],zr[Xr][0])&&Iu(mr[1],zr[Xr][1])&&(zr[Xr]=tr),Iu(mr[0],zr[Xr][1])&&Iu(mr[1],zr[Xr][0])&&(zr[Xr]=tr)}else Ut.transform=tr.transform;return Ut.children&&Ut.children.forEach(function(Li){Oe(Li,Ut)}),Ut}function Je(Ut,tr){var mr=be(Ut,tr),Rr=mr.project([Ut*P,tr*P]),zr;return(zr=mr.transform)?[zr[0]*Rr[0]+zr[1]*Rr[1]+zr[2],-(zr[3]*Rr[0]+zr[4]*Rr[1]+zr[5])]:(Rr[1]=-Rr[1],Rr)}vf(he)&&(Je.invert=function(Ut,tr){var mr=He(he,[Ut,-tr]);return mr&&(mr[0]*=T,mr[1]*=T,mr)});function He(Ut,tr){var mr=Ut.project.invert,Rr=Ut.transform,zr=tr;if(Rr&&(Rr=gd(Rr),zr=[Rr[0]*zr[0]+Rr[1]*zr[1]+Rr[2],Rr[3]*zr[0]+Rr[4]*zr[1]+Rr[5]]),mr&&Ut===et(Xr=mr(zr)))return Xr;for(var Xr,di=Ut.children,Li=0,Ci=di&&di.length;Li<Ci;++Li)if(Xr=He(di[Li],tr))return Xr}function et(Ut){return be(Ut[0]*T,Ut[1]*T)}var Mt=t.geoProjection(Je),Dt=Mt.stream;return Mt.stream=function(Ut){var tr=Mt.rotate(),mr=Dt(Ut),Rr=(Mt.rotate([0,0]),Dt(Ut));return Mt.rotate(tr),mr.sphere=function(){Rr.polygonStart(),Rr.lineStart(),Uf(Rr,he),Rr.lineEnd(),Rr.polygonEnd()},mr},Mt.angle(Pe==null?-30:Pe*P)}function Uf(he,be,Pe){var Oe,Je=be.edges,He=Je.length,et,Mt={type:\"MultiPoint\",coordinates:be.face},Dt=be.face.filter(function(di){return n(di[1])!==90}),Ut=t.geoBounds({type:\"MultiPoint\",coordinates:Dt}),tr=!1,mr=-1,Rr=Ut[1][0]-Ut[0][0],zr=Rr===180||Rr===360?[(Ut[0][0]+Ut[1][0])/2,(Ut[0][1]+Ut[1][1])/2]:t.geoCentroid(Mt);if(Pe)for(;++mr<He&&Je[mr]!==Pe;);++mr;for(var Xr=0;Xr<He;++Xr)et=Je[(Xr+mr)%He],Array.isArray(et)?(tr||(he.point((Oe=t.geoInterpolate(et[0],zr)(p))[0],Oe[1]),tr=!0),he.point((Oe=t.geoInterpolate(et[1],zr)(p))[0],Oe[1])):(tr=!1,et!==Pe&&Uf(he,et,be))}function Iu(he,be){return he&&be&&he[0]===be[0]&&he[1]===be[1]}function oh(he,be){for(var Pe,Oe,Je=he.length,He=null,et=0;et<Je;++et){Pe=he[et];for(var Mt=be.length;--Mt>=0;)if(Oe=be[Mt],Pe[0]===Oe[0]&&Pe[1]===Oe[1]){if(He)return[He,Pe];He=Pe}}}function ru(he){for(var be=he.length,Pe=[],Oe=he[be-1],Je=0;Je<be;++Je)Pe.push([Oe,Oe=he[Je]]);return Pe}function vf(he){return he.project.invert||he.children&&he.children.some(vf)}var md=[[0,90],[-90,0],[0,0],[90,0],[180,0],[0,-90]],sh=[[0,2,1],[0,3,2],[5,1,2],[5,2,3],[0,1,4],[0,4,3],[5,4,1],[5,3,4]].map(function(he){return he.map(function(be){return md[be]})});function Fs(he){he=he||function(Pe){var Oe=t.geoCentroid({type:\"MultiPoint\",coordinates:Pe});return t.geoGnomonic().scale(1).translate([0,0]).rotate([-Oe[0],-Oe[1]])};var be=sh.map(function(Pe){return{face:Pe,project:he(Pe)}});return[-1,0,0,1,0,1,4,5].forEach(function(Pe,Oe){var Je=be[Pe];Je&&(Je.children||(Je.children=[])).push(be[Oe])}),Lf(be[0],function(Pe,Oe){return be[Pe<-k/2?Oe<0?6:4:Pe<0?Oe<0?2:0:Pe<k/2?Oe<0?3:1:Oe<0?7:5]}).angle(-30).scale(101.858).center([0,45])}var _u=2/H(3);function xu(he,be){var Pe=ht(he,be);return[Pe[0]*_u,Pe[1]]}xu.invert=function(he,be){return ht.invert(he/_u,be)};function Lh(he){he=he||function(Pe){var Oe=t.geoCentroid({type:\"MultiPoint\",coordinates:Pe});return t.geoProjection(xu).translate([0,0]).scale(1).rotate(Oe[1]>0?[-Oe[0],0]:[180-Oe[0],180])};var be=sh.map(function(Pe){return{face:Pe,project:he(Pe)}});return[-1,0,0,1,0,1,4,5].forEach(function(Pe,Oe){var Je=be[Pe];Je&&(Je.children||(Je.children=[])).push(be[Oe])}),Lf(be[0],function(Pe,Oe){return be[Pe<-k/2?Oe<0?6:4:Pe<0?Oe<0?2:0:Pe<k/2?Oe<0?3:1:Oe<0?7:5]}).angle(-30).scale(121.906).center([0,48.5904])}function Is(he){he=he||function(et){var Mt=et.length===6?t.geoCentroid({type:\"MultiPoint\",coordinates:et}):et[0];return t.geoGnomonic().scale(1).translate([0,0]).rotate([-Mt[0],-Mt[1]])};var be=sh.map(function(et){for(var Mt=et.map(Vf),Dt=Mt.length,Ut=Mt[Dt-1],tr,mr=[],Rr=0;Rr<Dt;++Rr)tr=Mt[Rr],mr.push(ju([Ut[0]*.9486832980505138+tr[0]*.31622776601683794,Ut[1]*.9486832980505138+tr[1]*.31622776601683794,Ut[2]*.9486832980505138+tr[2]*.31622776601683794]),ju([tr[0]*.9486832980505138+Ut[0]*.31622776601683794,tr[1]*.9486832980505138+Ut[1]*.31622776601683794,tr[2]*.9486832980505138+Ut[2]*.31622776601683794])),Ut=tr;return mr}),Pe=[],Oe=[-1,0,0,1,0,1,4,5];be.forEach(function(et,Mt){for(var Dt=sh[Mt],Ut=Dt.length,tr=Pe[Mt]=[],mr=0;mr<Ut;++mr)be.push([Dt[mr],et[(mr*2+2)%(2*Ut)],et[(mr*2+1)%(2*Ut)]]),Oe.push(Mt),tr.push(Ic(Vf(et[(mr*2+2)%(2*Ut)]),Vf(et[(mr*2+1)%(2*Ut)])))});var Je=be.map(function(et){return{project:he(et),face:et}});Oe.forEach(function(et,Mt){var Dt=Je[et];Dt&&(Dt.children||(Dt.children=[])).push(Je[Mt])});function He(et,Mt){var Dt=o(Mt),Ut=[Dt*o(et),Dt*x(et),x(Mt)],tr=et<-k/2?Mt<0?6:4:et<0?Mt<0?2:0:et<k/2?Mt<0?3:1:Mt<0?7:5,mr=Pe[tr];return Je[Pf(mr[0],Ut)<0?8+3*tr:Pf(mr[1],Ut)<0?8+3*tr+1:Pf(mr[2],Ut)<0?8+3*tr+2:tr]}return Lf(Je[0],He).angle(-30).scale(110.625).center([0,45])}function Pf(he,be){for(var Pe=0,Oe=he.length,Je=0;Pe<Oe;++Pe)Je+=he[Pe]*be[Pe];return Je}function Ic(he,be){return[he[1]*be[2]-he[2]*be[1],he[2]*be[0]-he[0]*be[2],he[0]*be[1]-he[1]*be[0]]}function ju(he){return[a(he[1],he[0])*P,q(c(-1,f(1,he[2])))*P]}function Vf(he){var be=he[0]*T,Pe=he[1]*T,Oe=o(Pe);return[Oe*o(be),Oe*x(be),x(Pe)]}function pc(){}function pf(he){if((Pe=he.length)<4)return!1;for(var be=0,Pe,Oe=he[Pe-1][1]*he[0][0]-he[Pe-1][0]*he[0][1];++be<Pe;)Oe+=he[be-1][1]*he[be][0]-he[be-1][0]*he[be][1];return Oe<=0}function Ph(he,be){for(var Pe=be[0],Oe=be[1],Je=!1,He=0,et=he.length,Mt=et-1;He<et;Mt=He++){var Dt=he[He],Ut=Dt[0],tr=Dt[1],mr=he[Mt],Rr=mr[0],zr=mr[1];tr>Oe^zr>Oe&&Pe<(Rr-Ut)*(Oe-tr)/(zr-tr)+Ut&&(Je=!Je)}return Je}function Dl(he,be){var Pe=be.stream,Oe;if(!Pe)throw new Error(\"invalid projection\");switch(he&&he.type){case\"Feature\":Oe=Wu;break;case\"FeatureCollection\":Oe=Ih;break;default:Oe=gc;break}return Oe(he,Pe)}function Ih(he,be){return{type:\"FeatureCollection\",features:he.features.map(function(Pe){return Wu(Pe,be)})}}function Wu(he,be){return{type:\"Feature\",id:he.id,properties:he.properties,geometry:gc(he.geometry,be)}}function Rc(he,be){return{type:\"GeometryCollection\",geometries:he.geometries.map(function(Pe){return gc(Pe,be)})}}function gc(he,be){if(!he)return null;if(he.type===\"GeometryCollection\")return Rc(he,be);var Pe;switch(he.type){case\"Point\":Pe=mc;break;case\"MultiPoint\":Pe=mc;break;case\"LineString\":Pe=Yc;break;case\"MultiLineString\":Pe=Yc;break;case\"Polygon\":Pe=nc;break;case\"MultiPolygon\":Pe=nc;break;case\"Sphere\":Pe=nc;break;default:return null}return t.geoStream(he,be(Pe)),Pe.result()}var hl=[],iu=[],mc={point:function(he,be){hl.push([he,be])},result:function(){var he=hl.length?hl.length<2?{type:\"Point\",coordinates:hl[0]}:{type:\"MultiPoint\",coordinates:hl}:null;return hl=[],he}},Yc={lineStart:pc,point:function(he,be){hl.push([he,be])},lineEnd:function(){hl.length&&(iu.push(hl),hl=[])},result:function(){var he=iu.length?iu.length<2?{type:\"LineString\",coordinates:iu[0]}:{type:\"MultiLineString\",coordinates:iu}:null;return iu=[],he}},nc={polygonStart:pc,lineStart:pc,point:function(he,be){hl.push([he,be])},lineEnd:function(){var he=hl.length;if(he){do hl.push(hl[0].slice());while(++he<4);iu.push(hl),hl=[]}},polygonEnd:pc,result:function(){if(!iu.length)return null;var he=[],be=[];return iu.forEach(function(Pe){pf(Pe)?he.push([Pe]):be.push(Pe)}),be.forEach(function(Pe){var Oe=Pe[0];he.some(function(Je){if(Ph(Je[0],Oe))return Je.push(Pe),!0})||he.push([Pe])}),iu=[],he.length?he.length>1?{type:\"MultiPolygon\",coordinates:he}:{type:\"Polygon\",coordinates:he[0]}:null}};function gf(he){var be=he(A,0)[0]-he(-A,0)[0];function Pe(Oe,Je){var He=n(Oe)<A,et=he(He?Oe:Oe>0?Oe-k:Oe+k,Je),Mt=(et[0]-et[1])*_,Dt=(et[0]+et[1])*_;if(He)return[Mt,Dt];var Ut=be*_,tr=Mt>0^Dt>0?-1:1;return[tr*Mt-v(Dt)*Ut,tr*Dt-v(Mt)*Ut]}return he.invert&&(Pe.invert=function(Oe,Je){var He=(Oe+Je)*_,et=(Je-Oe)*_,Mt=n(He)<.5*be&&n(et)<.5*be;if(!Mt){var Dt=be*_,Ut=He>0^et>0?-1:1,tr=-Ut*Oe+(et>0?1:-1)*Dt,mr=-Ut*Je+(He>0?1:-1)*Dt;He=(-tr-mr)*_,et=(tr-mr)*_}var Rr=he.invert(He,et);return Mt||(Rr[0]+=He>0?k:-k),Rr}),t.geoProjection(Pe).rotate([-90,-90,45]).clipAngle(180-.001)}function gt(){return gf(hi).scale(176.423)}function Bt(){return gf(Mo).scale(111.48)}function wr(he,be){if(!(0<=(be=+be)&&be<=20))throw new Error(\"invalid digits\");function Pe(Ut){var tr=Ut.length,mr=2,Rr=new Array(tr);for(Rr[0]=+Ut[0].toFixed(be),Rr[1]=+Ut[1].toFixed(be);mr<tr;)Rr[mr]=Ut[mr],++mr;return Rr}function Oe(Ut){return Ut.map(Pe)}function Je(Ut){for(var tr=Pe(Ut[0]),mr=[tr],Rr=1;Rr<Ut.length;Rr++){var zr=Pe(Ut[Rr]);(zr.length>2||zr[0]!=tr[0]||zr[1]!=tr[1])&&(mr.push(zr),tr=zr)}return mr.length===1&&Ut.length>1&&mr.push(Pe(Ut[Ut.length-1])),mr}function He(Ut){return Ut.map(Je)}function et(Ut){if(Ut==null)return Ut;var tr;switch(Ut.type){case\"GeometryCollection\":tr={type:\"GeometryCollection\",geometries:Ut.geometries.map(et)};break;case\"Point\":tr={type:\"Point\",coordinates:Pe(Ut.coordinates)};break;case\"MultiPoint\":tr={type:Ut.type,coordinates:Oe(Ut.coordinates)};break;case\"LineString\":tr={type:Ut.type,coordinates:Je(Ut.coordinates)};break;case\"MultiLineString\":case\"Polygon\":tr={type:Ut.type,coordinates:He(Ut.coordinates)};break;case\"MultiPolygon\":tr={type:\"MultiPolygon\",coordinates:Ut.coordinates.map(He)};break;default:return Ut}return Ut.bbox!=null&&(tr.bbox=Ut.bbox),tr}function Mt(Ut){var tr={type:\"Feature\",properties:Ut.properties,geometry:et(Ut.geometry)};return Ut.id!=null&&(tr.id=Ut.id),Ut.bbox!=null&&(tr.bbox=Ut.bbox),tr}if(he!=null)switch(he.type){case\"Feature\":return Mt(he);case\"FeatureCollection\":{var Dt={type:\"FeatureCollection\",features:he.features.map(Mt)};return he.bbox!=null&&(Dt.bbox=he.bbox),Dt}default:return et(he)}return he}function vr(he){var be=x(he);function Pe(Oe,Je){var He=be?b(Oe*be/2)/be:Oe/2;if(!Je)return[2*He,-he];var et=2*i(He*x(Je)),Mt=1/b(Je);return[x(et)*Mt,Je+(1-o(et))*Mt-he]}return Pe.invert=function(Oe,Je){if(n(Je+=he)<p)return[be?2*i(be*Oe/2)/be:Oe,0];var He=Oe*Oe+Je*Je,et=0,Mt=10,Dt;do{var Ut=b(et),tr=1/o(et),mr=He-2*Je*et+et*et;et-=Dt=(Ut*mr+2*(et-Je))/(2+mr*tr*tr+2*(et-Je)*Ut)}while(n(Dt)>p&&--Mt>0);var Rr=Oe*(Ut=b(et)),zr=b(n(Je)<n(et+1/Ut)?q(Rr)*.5:V(Rr)*.5+k/4)/x(et);return[be?2*i(be*zr)/be:2*zr,et]},Pe}function Ur(){return Lt(vr).scale(131.215)}var fi=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];fi.forEach(function(he){he[1]*=1.0144});function xi(he,be){var Pe=f(18,n(be)*36/k),Oe=l(Pe),Je=Pe-Oe,He=(mr=fi[Oe])[0],et=mr[1],Mt=(mr=fi[++Oe])[0],Dt=mr[1],Ut=(mr=fi[f(19,++Oe)])[0],tr=mr[1],mr;return[he*(Mt+Je*(Ut-He)/2+Je*Je*(Ut-2*Mt+He)/2),(be>0?A:-A)*(Dt+Je*(tr-et)/2+Je*Je*(tr-2*Dt+et)/2)]}xi.invert=function(he,be){var Pe=be/A,Oe=Pe*90,Je=f(18,n(Oe/5)),He=c(0,l(Je));do{var et=fi[He][1],Mt=fi[He+1][1],Dt=fi[f(19,He+2)][1],Ut=Dt-et,tr=Dt-2*Mt+et,mr=2*(n(Pe)-Mt)/Ut,Rr=tr/Ut,zr=mr*(1-Rr*mr*(1-2*Rr*mr));if(zr>=0||He===1){Oe=(be>=0?5:-5)*(zr+Je);var Xr=50,di;do Je=f(18,n(Oe)/5),He=l(Je),zr=Je-He,et=fi[He][1],Mt=fi[He+1][1],Dt=fi[f(19,He+2)][1],Oe-=(di=(be>=0?A:-A)*(Mt+zr*(Dt-et)/2+zr*zr*(Dt-2*Mt+et)/2)-be)*P;while(n(di)>E&&--Xr>0);break}}while(--He>=0);var Li=fi[He][0],Ci=fi[He+1][0],Qi=fi[f(19,He+2)][0];return[he/(Ci+zr*(Qi-Li)/2+zr*zr*(Qi-2*Ci+Li)/2),Oe*T]};function Fi(){return t.geoProjection(xi).scale(152.63)}function Xi(he){function be(Pe,Oe){var Je=o(Oe),He=(he-1)/(he-Je*o(Pe));return[He*Je*x(Pe),He*x(Oe)]}return be.invert=function(Pe,Oe){var Je=Pe*Pe+Oe*Oe,He=H(Je),et=(he-H(1-Je*(he+1)/(he-1)))/((he-1)/He+He/(he-1));return[a(Pe*et,He*H(1-et*et)),He?q(Oe*et/He):0]},be}function hn(he,be){var Pe=Xi(he);if(!be)return Pe;var Oe=o(be),Je=x(be);function He(et,Mt){var Dt=Pe(et,Mt),Ut=Dt[1],tr=Ut*Je/(he-1)+Oe;return[Dt[0]*Oe/tr,Ut/tr]}return He.invert=function(et,Mt){var Dt=(he-1)/(he-1-Mt*Je);return Pe.invert(Dt*et,Dt*Mt*Oe)},He}function Ti(){var he=2,be=0,Pe=t.geoProjectionMutator(hn),Oe=Pe(he,be);return Oe.distance=function(Je){return arguments.length?Pe(he=+Je,be):he},Oe.tilt=function(Je){return arguments.length?Pe(he,be=Je*T):be*P},Oe.scale(432.147).clipAngle(V(1/he)*P-1e-6)}var qi=1e-4,Ii=1e4,mi=-180,Pn=mi+qi,Ma=180,Ta=Ma-qi,Ea=-90,qa=Ea+qi,Cn=90,sn=Cn-qi;function Ua(he){return he.length>0}function mo(he){return Math.floor(he*Ii)/Ii}function Xo(he){return he===Ea||he===Cn?[0,he]:[mi,mo(he)]}function Ts(he){var be=he[0],Pe=he[1],Oe=!1;return be<=Pn?(be=mi,Oe=!0):be>=Ta&&(be=Ma,Oe=!0),Pe<=qa?(Pe=Ea,Oe=!0):Pe>=sn&&(Pe=Cn,Oe=!0),Oe?[be,Pe]:he}function Qo(he){return he.map(Ts)}function ys(he,be,Pe){for(var Oe=0,Je=he.length;Oe<Je;++Oe){var He=he[Oe].slice();Pe.push({index:-1,polygon:be,ring:He});for(var et=0,Mt=He.length;et<Mt;++et){var Dt=He[et],Ut=Dt[0],tr=Dt[1];if(Ut<=Pn||Ut>=Ta||tr<=qa||tr>=sn){He[et]=Ts(Dt);for(var mr=et+1;mr<Mt;++mr){var Rr=He[mr],zr=Rr[0],Xr=Rr[1];if(zr>Pn&&zr<Ta&&Xr>qa&&Xr<sn)break}if(mr===et+1)continue;if(et){var di={index:-1,polygon:be,ring:He.slice(0,et+1)};di.ring[di.ring.length-1]=Xo(tr),Pe[Pe.length-1]=di}else Pe.pop();if(mr>=Mt)break;Pe.push({index:-1,polygon:be,ring:He=He.slice(mr-1)}),He[0]=Xo(He[0][1]),et=-1,Mt=He.length}}}}function Bo(he){var be,Pe=he.length,Oe={},Je={},He,et,Mt,Dt,Ut;for(be=0;be<Pe;++be){if(He=he[be],et=He.ring[0],Dt=He.ring[He.ring.length-1],et[0]===Dt[0]&&et[1]===Dt[1]){He.polygon.push(He.ring),he[be]=null;continue}He.index=be,Oe[et]=Je[Dt]=He}for(be=0;be<Pe;++be)if(He=he[be],He){if(et=He.ring[0],Dt=He.ring[He.ring.length-1],Mt=Je[et],Ut=Oe[Dt],delete Oe[et],delete Je[Dt],et[0]===Dt[0]&&et[1]===Dt[1]){He.polygon.push(He.ring);continue}Mt?(delete Je[et],delete Oe[Mt.ring[0]],Mt.ring.pop(),he[Mt.index]=null,He={index:-1,polygon:Mt.polygon,ring:Mt.ring.concat(He.ring)},Mt===Ut?He.polygon.push(He.ring):(He.index=Pe++,he.push(Oe[He.ring[0]]=Je[He.ring[He.ring.length-1]]=He))):Ut?(delete Oe[Dt],delete Je[Ut.ring[Ut.ring.length-1]],He.ring.pop(),He={index:Pe++,polygon:Ut.polygon,ring:He.ring.concat(Ut.ring)},he[Ut.index]=null,he.push(Oe[He.ring[0]]=Je[He.ring[He.ring.length-1]]=He)):(He.ring.push(He.ring[0]),He.polygon.push(He.ring))}}function yl(he){var be={type:\"Feature\",geometry:Gs(he.geometry)};return he.id!=null&&(be.id=he.id),he.bbox!=null&&(be.bbox=he.bbox),he.properties!=null&&(be.properties=he.properties),be}function Gs(he){if(he==null)return he;var be,Pe,Oe,Je;switch(he.type){case\"GeometryCollection\":be={type:\"GeometryCollection\",geometries:he.geometries.map(Gs)};break;case\"Point\":be={type:\"Point\",coordinates:Ts(he.coordinates)};break;case\"MultiPoint\":case\"LineString\":be={type:he.type,coordinates:Qo(he.coordinates)};break;case\"MultiLineString\":be={type:\"MultiLineString\",coordinates:he.coordinates.map(Qo)};break;case\"Polygon\":{var He=[];ys(he.coordinates,He,Pe=[]),Bo(Pe),be={type:\"Polygon\",coordinates:He};break}case\"MultiPolygon\":{Pe=[],Oe=-1,Je=he.coordinates.length;for(var et=new Array(Je);++Oe<Je;)ys(he.coordinates[Oe],et[Oe]=[],Pe);Bo(Pe),be={type:\"MultiPolygon\",coordinates:et.filter(Ua)};break}default:return he}return he.bbox!=null&&(be.bbox=he.bbox),be}function Rs(he){if(he==null)return he;switch(he.type){case\"Feature\":return yl(he);case\"FeatureCollection\":{var be={type:\"FeatureCollection\",features:he.features.map(yl)};return he.bbox!=null&&(be.bbox=he.bbox),be}default:return Gs(he)}}function ia(he,be){var Pe=b(be/2),Oe=x(L*Pe);return[he*(.74482-.34588*Oe*Oe),1.70711*Pe]}ia.invert=function(he,be){var Pe=be/1.70711,Oe=x(L*Pe);return[he/(.74482-.34588*Oe*Oe),2*i(Pe)]};function Ka(){return t.geoProjection(ia).scale(146.153)}function vs(he,be,Pe){var Oe=t.geoInterpolate(be,Pe),Je=Oe(.5),He=t.geoRotation([-Je[0],-Je[1]])(be),et=Oe.distance/2,Mt=-q(x(He[1]*T)/x(et)),Dt=[-Je[0],-Je[1],-(He[0]>0?k-Mt:Mt)*P],Ut=t.geoProjection(he(et)).rotate(Dt),tr=t.geoRotation(Dt),mr=Ut.center;return delete Ut.rotate,Ut.center=function(Rr){return arguments.length?mr(tr(Rr)):tr.invert(mr())},Ut.clipAngle(90)}function Ko(he){var be=o(he);function Pe(Oe,Je){var He=t.geoGnomonicRaw(Oe,Je);return He[0]*=be,He}return Pe.invert=function(Oe,Je){return t.geoGnomonicRaw.invert(Oe/be,Je)},Pe}function nu(){return Ru([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Ru(he,be){return vs(Ko,he,be)}function ac(he){if(!(he*=2))return t.geoAzimuthalEquidistantRaw;var be=-he/2,Pe=-be,Oe=he*he,Je=b(Pe),He=.5/x(Pe);function et(Mt,Dt){var Ut=V(o(Dt)*o(Mt-be)),tr=V(o(Dt)*o(Mt-Pe)),mr=Dt<0?-1:1;return Ut*=Ut,tr*=tr,[(Ut-tr)/(2*he),mr*H(4*Oe*tr-(Oe-Ut+tr)*(Oe-Ut+tr))/(2*he)]}return et.invert=function(Mt,Dt){var Ut=Dt*Dt,tr=o(H(Ut+(Rr=Mt+be)*Rr)),mr=o(H(Ut+(Rr=Mt+Pe)*Rr)),Rr,zr;return[a(zr=tr-mr,Rr=(tr+mr)*Je),(Dt<0?-1:1)*V(H(Rr*Rr+zr*zr)*He)]},et}function mf(){return bu([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function bu(he,be){return vs(ac,he,be)}function Kc(he,be){if(n(be)<p)return[he,0];var Pe=n(be/A),Oe=q(Pe);if(n(he)<p||n(n(be)-A)<p)return[0,v(be)*k*b(Oe/2)];var Je=o(Oe),He=n(k/he-he/k)/2,et=He*He,Mt=Je/(Pe+Je-1),Dt=Mt*(2/Pe-1),Ut=Dt*Dt,tr=Ut+et,mr=Mt-Ut,Rr=et+Mt;return[v(he)*k*(He*mr+H(et*mr*mr-tr*(Mt*Mt-Ut)))/tr,v(be)*k*(Dt*Rr-He*H((et+1)*tr-Rr*Rr))/tr]}Kc.invert=function(he,be){if(n(be)<p)return[he,0];if(n(he)<p)return[0,A*x(2*i(be/k))];var Pe=(he/=k)*he,Oe=(be/=k)*be,Je=Pe+Oe,He=Je*Je,et=-n(be)*(1+Je),Mt=et-2*Oe+Pe,Dt=-2*et+1+2*Oe+He,Ut=Oe/Dt+(2*Mt*Mt*Mt/(Dt*Dt*Dt)-9*et*Mt/(Dt*Dt))/27,tr=(et-Mt*Mt/(3*Dt))/Dt,mr=2*H(-tr/3),Rr=V(3*Ut/(tr*mr))/3;return[k*(Je-1+H(1+2*(Pe-Oe)+He))/(2*he),v(be)*k*(-mr*o(Rr+k/3)-Mt/(3*Dt))]};function Du(){return t.geoProjection(Kc).scale(79.4183)}function Dc(he,be){if(n(be)<p)return[he,0];var Pe=n(be/A),Oe=q(Pe);if(n(he)<p||n(n(be)-A)<p)return[0,v(be)*k*b(Oe/2)];var Je=o(Oe),He=n(k/he-he/k)/2,et=He*He,Mt=Je*(H(1+et)-He*Je)/(1+et*Pe*Pe);return[v(he)*k*Mt,v(be)*k*H(1-Mt*(2*He+Mt))]}Dc.invert=function(he,be){if(!he)return[0,A*x(2*i(be/k))];var Pe=n(he/k),Oe=(1-Pe*Pe-(be/=k)*be)/(2*Pe),Je=Oe*Oe,He=H(Je+1);return[v(he)*k*(He-Oe),v(be)*A*x(2*a(H((1-2*Oe*Pe)*(Oe+He)-Pe),H(He+Oe+Pe)))]};function Da(){return t.geoProjection(Dc).scale(79.4183)}function eo(he,be){if(n(be)<p)return[he,0];var Pe=be/A,Oe=q(Pe);if(n(he)<p||n(n(be)-A)<p)return[0,k*b(Oe/2)];var Je=(k/he-he/k)/2,He=Pe/(1+o(Oe));return[k*(v(he)*H(Je*Je+1-He*He)-Je),k*He]}eo.invert=function(he,be){if(!be)return[he,0];var Pe=be/k,Oe=(k*k*(1-Pe*Pe)-he*he)/(2*k*he);return[he?k*(v(he)*H(Oe*Oe+1)-Oe):0,A*x(2*i(Pe))]};function Jc(){return t.geoProjection(eo).scale(79.4183)}function yc(he,be){if(!be)return[he,0];var Pe=n(be);if(!he||Pe===A)return[0,be];var Oe=Pe/A,Je=Oe*Oe,He=(8*Oe-Je*(Je+2)-5)/(2*Je*(Oe-1)),et=He*He,Mt=Oe*He,Dt=Je+et+2*Mt,Ut=Oe+3*He,tr=he/A,mr=tr+1/tr,Rr=v(n(he)-A)*H(mr*mr-4),zr=Rr*Rr,Xr=Dt*(Je+et*zr-1)+(1-Je)*(Je*(Ut*Ut+4*et)+12*Mt*et+4*et*et),di=(Rr*(Dt+et-1)+2*H(Xr))/(4*Dt+zr);return[v(he)*A*di,v(be)*A*H(1+Rr*n(di)-di*di)]}yc.invert=function(he,be){var Pe;if(!he||!be)return[he,be];be/=k;var Oe=v(he)*he/A,Je=(Oe*Oe-1+4*be*be)/n(Oe),He=Je*Je,et=2*be,Mt=50;do{var Dt=et*et,Ut=(8*et-Dt*(Dt+2)-5)/(2*Dt*(et-1)),tr=(3*et-Dt*et-10)/(2*Dt*et),mr=Ut*Ut,Rr=et*Ut,zr=et+Ut,Xr=zr*zr,di=et+3*Ut,Li=Xr*(Dt+mr*He-1)+(1-Dt)*(Dt*(di*di+4*mr)+mr*(12*Rr+4*mr)),Ci=-2*zr*(4*Rr*mr+(1-4*Dt+3*Dt*Dt)*(1+tr)+mr*(-6+14*Dt-He+(-8+8*Dt-2*He)*tr)+Rr*(-8+12*Dt+(-10+10*Dt-He)*tr)),Qi=H(Li),Mn=Je*(Xr+mr-1)+2*Qi-Oe*(4*Xr+He),pa=Je*(2*Ut*tr+2*zr*(1+tr))+Ci/Qi-8*zr*(Je*(-1+mr+Xr)+2*Qi)*(1+tr)/(He+4*Xr);et-=Pe=Mn/pa}while(Pe>p&&--Mt>0);return[v(he)*(H(Je*Je+4)+Je)*k/4,A*et]};function _c(){return t.geoProjection(yc).scale(127.16)}function le(he,be,Pe,Oe,Je){function He(et,Mt){var Dt=Pe*x(Oe*Mt),Ut=H(1-Dt*Dt),tr=H(2/(1+Ut*o(et*=Je)));return[he*Ut*tr*x(et),be*Dt*tr]}return He.invert=function(et,Mt){var Dt=et/he,Ut=Mt/be,tr=H(Dt*Dt+Ut*Ut),mr=2*q(tr/2);return[a(et*b(mr),he*tr)/Je,tr&&q(Mt*x(mr)/(be*Pe*tr))/Oe]},He}function w(he,be,Pe,Oe){var Je=k/3;he=c(he,p),be=c(be,p),he=f(he,A),be=f(be,k-p),Pe=c(Pe,0),Pe=f(Pe,100-p),Oe=c(Oe,p);var He=Pe/100+1,et=Oe/100,Mt=V(He*o(Je))/Je,Dt=x(he)/x(Mt*A),Ut=be/k,tr=H(et*x(he/2)/x(be/2)),mr=tr/H(Ut*Dt*Mt),Rr=1/(tr*H(Ut*Dt*Mt));return le(mr,Rr,Dt,Mt,Ut)}function B(){var he=65*T,be=60*T,Pe=20,Oe=200,Je=t.geoProjectionMutator(w),He=Je(he,be,Pe,Oe);return He.poleline=function(et){return arguments.length?Je(he=+et*T,be,Pe,Oe):he*P},He.parallels=function(et){return arguments.length?Je(he,be=+et*T,Pe,Oe):be*P},He.inflation=function(et){return arguments.length?Je(he,be,Pe=+et,Oe):Pe},He.ratio=function(et){return arguments.length?Je(he,be,Pe,Oe=+et):Oe},He.scale(163.775)}function Q(){return B().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)}var ee=4*k+3*H(3),se=2*H(2*k*H(3)/ee),qe=Ct(se*H(3)/k,se,ee/6);function je(){return t.geoProjection(qe).scale(176.84)}function it(he,be){return[he*H(1-3*be*be/(k*k)),be]}it.invert=function(he,be){return[he/H(1-3*be*be/(k*k)),be]};function yt(){return t.geoProjection(it).scale(152.63)}function Ot(he,be){var Pe=o(be),Oe=o(he)*Pe,Je=1-Oe,He=o(he=a(x(he)*Pe,-x(be))),et=x(he);return Pe=H(1-Oe*Oe),[et*Pe-He*Je,-He*Pe-et*Je]}Ot.invert=function(he,be){var Pe=(he*he+be*be)/-2,Oe=H(-Pe*(2+Pe)),Je=be*Pe+he*Oe,He=he*Pe-be*Oe,et=H(He*He+Je*Je);return[a(Oe*Je,et*(1+Pe)),et?-q(Oe*He/et):0]};function Nt(){return t.geoProjection(Ot).rotate([0,-90,45]).scale(124.75).clipAngle(180-.001)}function hr(he,be){var Pe=Me(he,be);return[(Pe[0]+he/A)/2,(Pe[1]+be)/2]}hr.invert=function(he,be){var Pe=he,Oe=be,Je=25;do{var He=o(Oe),et=x(Oe),Mt=x(2*Oe),Dt=et*et,Ut=He*He,tr=x(Pe),mr=o(Pe/2),Rr=x(Pe/2),zr=Rr*Rr,Xr=1-Ut*mr*mr,di=Xr?V(He*mr)*H(Li=1/Xr):Li=0,Li,Ci=.5*(2*di*He*Rr+Pe/A)-he,Qi=.5*(di*et+Oe)-be,Mn=.5*Li*(Ut*zr+di*He*mr*Dt)+.5/A,pa=Li*(tr*Mt/4-di*et*Rr),ea=.125*Li*(Mt*Rr-di*et*Ut*tr),Ga=.5*Li*(Dt*mr+di*zr*He)+.5,To=pa*ea-Ga*Mn,Wa=(Qi*pa-Ci*Ga)/To,co=(Ci*ea-Qi*Mn)/To;Pe-=Wa,Oe-=co}while((n(Wa)>p||n(co)>p)&&--Je>0);return[Pe,Oe]};function Sr(){return t.geoProjection(hr).scale(158.837)}e.geoNaturalEarth=t.geoNaturalEarth1,e.geoNaturalEarthRaw=t.geoNaturalEarth1Raw,e.geoAiry=_e,e.geoAiryRaw=ae,e.geoAitoff=ke,e.geoAitoffRaw=Me,e.geoArmadillo=ie,e.geoArmadilloRaw=ge,e.geoAugust=Ee,e.geoAugustRaw=Te,e.geoBaker=me,e.geoBakerRaw=Ce,e.geoBerghaus=ce,e.geoBerghausRaw=Re,e.geoBertin1953=Rt,e.geoBertin1953Raw=ot,e.geoBoggs=bt,e.geoBoggsRaw=xt,e.geoBonne=Ht,e.geoBonneRaw=dt,e.geoBottomley=fr,e.geoBottomleyRaw=$t,e.geoBromley=Br,e.geoBromleyRaw=_r,e.geoChamberlin=Xe,e.geoChamberlinRaw=Ne,e.geoChamberlinAfrica=Ve,e.geoCollignon=Le,e.geoCollignonRaw=ht,e.geoCraig=Se,e.geoCraigRaw=xe,e.geoCraster=Vt,e.geoCrasterRaw=Gt,e.geoCylindricalEqualArea=Qr,e.geoCylindricalEqualAreaRaw=ar,e.geoCylindricalStereographic=jr,e.geoCylindricalStereographicRaw=ai,e.geoEckert1=bi,e.geoEckert1Raw=ri,e.geoEckert2=Wi,e.geoEckert2Raw=nn,e.geoEckert3=_n,e.geoEckert3Raw=Ni,e.geoEckert4=zn,e.geoEckert4Raw=$i,e.geoEckert5=It,e.geoEckert5Raw=Wn,e.geoEckert6=jt,e.geoEckert6Raw=ft,e.geoEisenlohr=Fr,e.geoEisenlohrRaw=yr,e.geoFahey=gi,e.geoFaheyRaw=Vr,e.geoFoucaut=Mi,e.geoFoucautRaw=Si,e.geoFoucautSinusoidal=Gi,e.geoFoucautSinusoidalRaw=Pi,e.geoGilbert=jn,e.geoGingery=jo,e.geoGingeryRaw=la,e.geoGinzburg4=Ha,e.geoGinzburg4Raw=Sn,e.geoGinzburg5=xn,e.geoGinzburg5Raw=oo,e.geoGinzburg6=br,e.geoGinzburg6Raw=_t,e.geoGinzburg8=ti,e.geoGinzburg8Raw=Hr,e.geoGinzburg9=Yi,e.geoGinzburg9Raw=zi,e.geoGringorten=Fn,e.geoGringortenRaw=hi,e.geoGuyou=ks,e.geoGuyouRaw=Mo,e.geoHammer=ct,e.geoHammerRaw=Ge,e.geoHammerRetroazimuthal=wl,e.geoHammerRetroazimuthalRaw=Zs,e.geoHealpix=Ql,e.geoHealpixRaw=ml,e.geoHill=fc,e.geoHillRaw=Hu,e.geoHomolosine=vo,e.geoHomolosineRaw=Rl,e.geoHufnagel=Ks,e.geoHufnagelRaw=Zl,e.geoHyperelliptical=ko,e.geoHyperellipticalRaw=Zn,e.geoInterrupt=So,e.geoInterruptedBoggs=rh,e.geoInterruptedHomolosine=Hc,e.geoInterruptedMollweide=Ls,e.geoInterruptedMollweideHemispheres=kc,e.geoInterruptedSinuMollweide=Gc,e.geoInterruptedSinusoidal=Bf,e.geoKavrayskiy7=ff,e.geoKavrayskiy7Raw=ss,e.geoLagrange=Vl,e.geoLagrangeRaw=ih,e.geoLarrivee=Cc,e.geoLarriveeRaw=hc,e.geoLaskowski=$s,e.geoLaskowskiRaw=ws,e.geoLittrow=Ms,e.geoLittrowRaw=hs,e.geoLoximuthal=Sl,e.geoLoximuthalRaw=dc,e.geoMiller=Ps,e.geoMillerRaw=ec,e.geoModifiedStereographic=Ml,e.geoModifiedStereographicRaw=ov,e.geoModifiedStereographicAlaska=tc,e.geoModifiedStereographicGs48=uu,e.geoModifiedStereographicGs50=Mh,e.geoModifiedStereographicMiller=jc,e.geoModifiedStereographicLee=kf,e.geoMollweide=xr,e.geoMollweideRaw=Yt,e.geoMtFlatPolarParabolic=hf,e.geoMtFlatPolarParabolicRaw=nh,e.geoMtFlatPolarQuartic=Kh,e.geoMtFlatPolarQuarticRaw=kh,e.geoMtFlatPolarSinusoidal=ah,e.geoMtFlatPolarSinusoidalRaw=rc,e.geoNaturalEarth2=df,e.geoNaturalEarth2Raw=Wc,e.geoNellHammer=Nf,e.geoNellHammerRaw=Cu,e.geoInterruptedQuarticAuthalic=ds,e.geoNicolosi=Bd,e.geoNicolosiRaw=Ch,e.geoPatterson=ic,e.geoPattersonRaw=Xc,e.geoPolyconic=Qs,e.geoPolyconicRaw=yu,e.geoPolyhedral=Lf,e.geoPolyhedralButterfly=Fs,e.geoPolyhedralCollignon=Lh,e.geoPolyhedralWaterman=Is,e.geoProject=Dl,e.geoGringortenQuincuncial=gt,e.geoPeirceQuincuncial=Bt,e.geoPierceQuincuncial=Bt,e.geoQuantize=wr,e.geoQuincuncial=gf,e.geoRectangularPolyconic=Ur,e.geoRectangularPolyconicRaw=vr,e.geoRobinson=Fi,e.geoRobinsonRaw=xi,e.geoSatellite=Ti,e.geoSatelliteRaw=hn,e.geoSinuMollweide=Qu,e.geoSinuMollweideRaw=fa,e.geoSinusoidal=Et,e.geoSinusoidalRaw=St,e.geoStitch=Rs,e.geoTimes=Ka,e.geoTimesRaw=ia,e.geoTwoPointAzimuthal=Ru,e.geoTwoPointAzimuthalRaw=Ko,e.geoTwoPointAzimuthalUsa=nu,e.geoTwoPointEquidistant=bu,e.geoTwoPointEquidistantRaw=ac,e.geoTwoPointEquidistantUsa=mf,e.geoVanDerGrinten=Du,e.geoVanDerGrintenRaw=Kc,e.geoVanDerGrinten2=Da,e.geoVanDerGrinten2Raw=Dc,e.geoVanDerGrinten3=Jc,e.geoVanDerGrinten3Raw=eo,e.geoVanDerGrinten4=_c,e.geoVanDerGrinten4Raw=yc,e.geoWagner=B,e.geoWagner7=Q,e.geoWagnerRaw=w,e.geoWagner4=je,e.geoWagner4Raw=qe,e.geoWagner6=yt,e.geoWagner6Raw=it,e.geoWiechel=Nt,e.geoWiechelRaw=Ot,e.geoWinkel3=Sr,e.geoWinkel3Raw=hr,Object.defineProperty(e,\"__esModule\",{value:!0})})});var MRe=ye((Dpr,SRe)=>{\"use strict\";var Zh=xa(),bX=Mr(),CDt=ba(),Z5=Math.PI/180,G2=180/Math.PI,TX={cursor:\"pointer\"},AX={cursor:\"auto\"};function LDt(e,t){var r=e.projection,n;return t._isScoped?n=PDt:t._isClipped?n=RDt:n=IDt,n(e,r)}SRe.exports=LDt;function SX(e,t){return Zh.behavior.zoom().translate(t.translate()).scale(t.scale())}function MX(e,t,r){var n=e.id,i=e.graphDiv,a=i.layout,o=a[n],s=i._fullLayout,l=s[n],u={},c={};function f(h,d){u[n+\".\"+h]=bX.nestedProperty(o,h).get(),CDt.call(\"_storeDirectGUIEdit\",a,s._preGUI,u);var v=bX.nestedProperty(l,h);v.get()!==d&&(v.set(d),bX.nestedProperty(o,h).set(d),c[n+\".\"+h]=d)}r(f),f(\"projection.scale\",t.scale()/e.fitScale),f(\"fitbounds\",!1),i.emit(\"plotly_relayout\",c)}function PDt(e,t){var r=SX(e,t);function n(){Zh.select(this).style(TX)}function i(){t.scale(Zh.event.scale).translate(Zh.event.translate),e.render(!0);var s=t.invert(e.midPt);e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.center.lon\":s[0],\"geo.center.lat\":s[1]})}function a(s){var l=t.invert(e.midPt);s(\"center.lon\",l[0]),s(\"center.lat\",l[1])}function o(){Zh.select(this).style(AX),MX(e,t,a)}return r.on(\"zoomstart\",n).on(\"zoom\",i).on(\"zoomend\",o),r}function IDt(e,t){var r=SX(e,t),n=2,i,a,o,s,l,u,c,f,h;function d(k){return t.invert(k)}function v(k){var A=d(k);if(!A)return!0;var L=t(A);return Math.abs(L[0]-k[0])>n||Math.abs(L[1]-k[1])>n}function x(){Zh.select(this).style(TX),i=Zh.mouse(this),a=t.rotate(),o=t.translate(),s=a,l=d(i)}function b(){if(u=Zh.mouse(this),v(i)){r.scale(t.scale()),r.translate(t.translate());return}t.scale(Zh.event.scale),t.translate([o[0],Zh.event.translate[1]]),l?d(u)&&(f=d(u),c=[s[0]+(f[0]-l[0]),a[1],a[2]],t.rotate(c),s=c):(i=u,l=d(i)),h=!0,e.render(!0);var k=t.rotate(),A=t.invert(e.midPt);e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.center.lon\":A[0],\"geo.center.lat\":A[1],\"geo.projection.rotation.lon\":-k[0]})}function p(){Zh.select(this).style(AX),h&&MX(e,t,E)}function E(k){var A=t.rotate(),L=t.invert(e.midPt);k(\"projection.rotation.lon\",-A[0]),k(\"center.lon\",L[0]),k(\"center.lat\",L[1])}return r.on(\"zoomstart\",x).on(\"zoom\",b).on(\"zoomend\",p),r}function RDt(e,t){var r={r:t.rotate(),k:t.scale()},n=SX(e,t),i=UDt(n,\"zoomstart\",\"zoom\",\"zoomend\"),a=0,o=n.on,s;n.on(\"zoomstart\",function(){Zh.select(this).style(TX);var h=Zh.mouse(this),d=t.rotate(),v=d,x=t.translate(),b=DDt(d);s=Sz(t,h),o.call(n,\"zoom\",function(){var p=Zh.mouse(this);if(t.scale(r.k=Zh.event.scale),!s)h=p,s=Sz(t,h);else if(Sz(t,p)){t.rotate(d).translate(x);var E=Sz(t,p),k=FDt(s,E),A=ODt(zDt(b,k)),L=r.r=qDt(A,s,v);(!isFinite(L[0])||!isFinite(L[1])||!isFinite(L[2]))&&(L=v),t.rotate(L),v=L}u(i.of(this,arguments))}),l(i.of(this,arguments))}).on(\"zoomend\",function(){Zh.select(this).style(AX),o.call(n,\"zoom\",null),c(i.of(this,arguments)),MX(e,t,f)}).on(\"zoom.redraw\",function(){e.render(!0);var h=t.rotate();e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.projection.rotation.lon\":-h[0],\"geo.projection.rotation.lat\":-h[1]})});function l(h){a++||h({type:\"zoomstart\"})}function u(h){h({type:\"zoom\"})}function c(h){--a||h({type:\"zoomend\"})}function f(h){var d=t.rotate();h(\"projection.rotation.lon\",-d[0]),h(\"projection.rotation.lat\",-d[1])}return Zh.rebind(n,i,\"on\")}function Sz(e,t){var r=e.invert(t);return r&&isFinite(r[0])&&isFinite(r[1])&&BDt(r)}function DDt(e){var t=.5*e[0]*Z5,r=.5*e[1]*Z5,n=.5*e[2]*Z5,i=Math.sin(t),a=Math.cos(t),o=Math.sin(r),s=Math.cos(r),l=Math.sin(n),u=Math.cos(n);return[a*s*u+i*o*l,i*s*u-a*o*l,a*o*u+i*s*l,a*s*l-i*o*u]}function zDt(e,t){var r=e[0],n=e[1],i=e[2],a=e[3],o=t[0],s=t[1],l=t[2],u=t[3];return[r*o-n*s-i*l-a*u,r*s+n*o+i*u-a*l,r*l-n*u+i*o+a*s,r*u+n*l-i*s+a*o]}function FDt(e,t){if(!(!e||!t)){var r=NDt(e,t),n=Math.sqrt(ARe(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,ARe(e,t)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}}function qDt(e,t,r){var n=wX(t,2,e[0]);n=wX(n,1,e[1]),n=wX(n,0,e[2]-r[2]);var i=t[0],a=t[1],o=t[2],s=n[0],l=n[1],u=n[2],c=Math.atan2(a,i)*G2,f=Math.sqrt(i*i+a*a),h,d;Math.abs(l)>f?(d=(l>0?90:-90)-c,h=0):(d=Math.asin(l/f)*G2-c,h=Math.sqrt(f*f-l*l));var v=180-d-2*c,x=(Math.atan2(u,s)-Math.atan2(o,h))*G2,b=(Math.atan2(u,s)-Math.atan2(o,-h))*G2,p=wRe(r[0],r[1],d,x),E=wRe(r[0],r[1],v,b);return p<=E?[d,x,r[2]]:[v,b,r[2]]}function wRe(e,t,r,n){var i=TRe(r-e),a=TRe(n-t);return Math.sqrt(i*i+a*a)}function TRe(e){return(e%360+540)%360-180}function wX(e,t,r){var n=r*Z5,i=e.slice(),a=t===0?1:0,o=t===2?1:2,s=Math.cos(n),l=Math.sin(n);return i[a]=e[a]*s-e[o]*l,i[o]=e[o]*s+e[a]*l,i}function ODt(e){return[Math.atan2(2*(e[0]*e[1]+e[2]*e[3]),1-2*(e[1]*e[1]+e[2]*e[2]))*G2,Math.asin(Math.max(-1,Math.min(1,2*(e[0]*e[2]-e[3]*e[1]))))*G2,Math.atan2(2*(e[0]*e[3]+e[1]*e[2]),1-2*(e[2]*e[2]+e[3]*e[3]))*G2]}function BDt(e){var t=e[0]*Z5,r=e[1]*Z5,n=Math.cos(r);return[n*Math.cos(t),n*Math.sin(t),Math.sin(r)]}function ARe(e,t){for(var r=0,n=0,i=e.length;n<i;++n)r+=e[n]*t[n];return r}function NDt(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function UDt(e){for(var t=0,r=arguments.length,n=[];++t<r;)n.push(arguments[t]);var i=Zh.dispatch.apply(null,n);return i.of=function(a,o){return function(s){var l;try{l=s.sourceEvent=Zh.event,s.target=e,Zh.event=s,i[s.type].apply(a,o)}finally{Zh.event=l}}},i}});var RRe=ye((zpr,IRe)=>{\"use strict\";var t1=xa(),CX=xX(),VDt=CX.geoPath,HDt=CX.geoDistance,GDt=bRe(),jDt=ba(),ek=Mr(),WDt=ek.strTranslate,Mz=va(),QE=ao(),ERe=Nc(),ZDt=Xu(),kX=Qa(),kRe=wg().getAutoRange,EX=gv(),XDt=wf().prepSelect,YDt=wf().clearOutline,KDt=wf().selectOnClick,JDt=MRe(),fp=YE(),$Dt=nx(),LRe=cz(),QDt=aX().feature;function PRe(e){this.id=e.id,this.graphDiv=e.graphDiv,this.container=e.container,this.topojsonURL=e.topojsonURL,this.isStatic=e.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.scope=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}var $g=PRe.prototype;IRe.exports=function(t){return new PRe(t)};$g.plot=function(e,t,r,n){var i=this;if(n)return i.update(e,t,!0);i._geoCalcData=e,i._fullLayout=t;var a=t[this.id],o=[],s=!1;for(var l in fp.layerNameToAdjective)if(l!==\"frame\"&&a[\"show\"+l]){s=!0;break}for(var u=!1,c=0;c<e.length;c++){var f=e[0][0].trace;f._geo=i,f.locationmode&&(s=!0);var h=f.marker;if(h){var d=h.angle,v=h.angleref;(d||v===\"north\"||v===\"previous\")&&(u=!0)}}if(this._hasMarkerAngles=u,s){var x=LRe.getTopojsonName(a);(i.topojson===null||x!==i.topojsonName)&&(i.topojsonName=x,PlotlyGeoAssets.topojson[i.topojsonName]===void 0&&o.push(i.fetchTopojson()))}o=o.concat($Dt.fetchTraceGeoData(e)),r.push(new Promise(function(b,p){Promise.all(o).then(function(){i.topojson=PlotlyGeoAssets.topojson[i.topojsonName],i.update(e,t),b()}).catch(p)}))};$g.fetchTopojson=function(){var e=this,t=LRe.getTopojsonPath(e.topojsonURL,e.topojsonName);return new Promise(function(r,n){t1.json(t,function(i,a){if(i)return i.status===404?n(new Error([\"plotly.js could not find topojson file at\",t+\".\",\"Make sure the *topojsonURL* plot config option\",\"is set properly.\"].join(\" \"))):n(new Error([\"unexpected error while fetching topojson file at\",t].join(\" \")));PlotlyGeoAssets.topojson[e.topojsonName]=a,r()})})};$g.update=function(e,t,r){var n=t[this.id];this.hasChoropleth=!1;for(var i=0;i<e.length;i++){var a=e[i],o=a[0].trace;o.type===\"choropleth\"&&(this.hasChoropleth=!0),o.visible===!0&&o._length>0&&o._module.calcGeoJSON(a,t)}if(!r){var s=this.updateProjection(e,t);if(s)return;(!this.viewInitial||this.scope!==n.scope)&&this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(t,n),this.updateDims(t,n),this.updateFx(t,n),ZDt.generalUpdatePerTraceModule(this.graphDiv,this,e,n);var l=this.layers.frontplot.select(\".scatterlayer\");this.dataPoints.point=l.selectAll(\".point\"),this.dataPoints.text=l.selectAll(\"text\"),this.dataPaths.line=l.selectAll(\".js-line\");var u=this.layers.backplot.select(\".choroplethlayer\");this.dataPaths.choropleth=u.selectAll(\"path\"),this._render()};$g.updateProjection=function(e,t){var r=this.graphDiv,n=t[this.id],i=t._size,a=n.domain,o=n.projection,s=n.lonaxis,l=n.lataxis,u=s._ax,c=l._ax,f=this.projection=ezt(n),h=[[i.l+i.w*a.x[0],i.t+i.h*(1-a.y[1])],[i.l+i.w*a.x[1],i.t+i.h*(1-a.y[0])]],d=n.center||{},v=o.rotation||{},x=s.range||[],b=l.range||[];if(n.fitbounds){u._length=h[1][0]-h[0][0],c._length=h[1][1]-h[0][1],u.range=kRe(r,u),c.range=kRe(r,c);var p=(u.range[0]+u.range[1])/2,E=(c.range[0]+c.range[1])/2;if(n._isScoped)d={lon:p,lat:E};else if(n._isClipped){d={lon:p,lat:E},v={lon:p,lat:E,roll:v.roll};var k=o.type,A=fp.lonaxisSpan[k]/2||180,L=fp.lataxisSpan[k]/2||90;x=[p-A,p+A],b=[E-L,E+L]}else d={lon:p,lat:E},v={lon:p,lat:v.lat,roll:v.roll}}f.center([d.lon-v.lon,d.lat-v.lat]).rotate([-v.lon,-v.lat,v.roll]).parallels(o.parallels);var _=CRe(x,b);f.fitExtent(h,_);var C=this.bounds=f.getBounds(_),M=this.fitScale=f.scale(),g=f.translate();if(n.fitbounds){var P=f.getBounds(CRe(u.range,c.range)),T=Math.min((C[1][0]-C[0][0])/(P[1][0]-P[0][0]),(C[1][1]-C[0][1])/(P[1][1]-P[0][1]));isFinite(T)?f.scale(T*M):ek.warn(\"Something went wrong during\"+this.id+\"fitbounds computations.\")}else f.scale(o.scale*M);var F=this.midPt=[(C[0][0]+C[1][0])/2,(C[0][1]+C[1][1])/2];if(f.translate([g[0]+(F[0]-g[0]),g[1]+(F[1]-g[1])]).clipExtent(C),n._isAlbersUsa){var q=f([d.lon,d.lat]),V=f.translate();f.translate([V[0]-(q[0]-V[0]),V[1]-(q[1]-V[1])])}};$g.updateBaseLayers=function(e,t){var r=this,n=r.topojson,i=r.layers,a=r.basePaths;function o(h){return h===\"lonaxis\"||h===\"lataxis\"}function s(h){return!!fp.lineLayers[h]}function l(h){return!!fp.fillLayers[h]}var u=this.hasChoropleth?fp.layersForChoropleth:fp.layers,c=u.filter(function(h){return s(h)||l(h)?t[\"show\"+h]:o(h)?t[h].showgrid:!0}),f=r.framework.selectAll(\".layer\").data(c,String);f.exit().each(function(h){delete i[h],delete a[h],t1.select(this).remove()}),f.enter().append(\"g\").attr(\"class\",function(h){return\"layer \"+h}).each(function(h){var d=i[h]=t1.select(this);h===\"bg\"?r.bgRect=d.append(\"rect\").style(\"pointer-events\",\"all\"):o(h)?a[h]=d.append(\"path\").style(\"fill\",\"none\"):h===\"backplot\"?d.append(\"g\").classed(\"choroplethlayer\",!0):h===\"frontplot\"?d.append(\"g\").classed(\"scatterlayer\",!0):s(h)?a[h]=d.append(\"path\").style(\"fill\",\"none\").style(\"stroke-miterlimit\",2):l(h)&&(a[h]=d.append(\"path\").style(\"stroke\",\"none\"))}),f.order(),f.each(function(h){var d=a[h],v=fp.layerNameToAdjective[h];h===\"frame\"?d.datum(fp.sphereSVG):s(h)||l(h)?d.datum(QDt(n,n.objects[h])):o(h)&&d.datum(tzt(h,t,e)).call(Mz.stroke,t[h].gridcolor).call(QE.dashLine,t[h].griddash,t[h].gridwidth),s(h)?d.call(Mz.stroke,t[v+\"color\"]).call(QE.dashLine,\"\",t[v+\"width\"]):l(h)&&d.call(Mz.fill,t[v+\"color\"])})};$g.updateDims=function(e,t){var r=this.bounds,n=(t.framewidth||0)/2,i=r[0][0]-n,a=r[0][1]-n,o=r[1][0]-i+n,s=r[1][1]-a+n;QE.setRect(this.clipRect,i,a,o,s),this.bgRect.call(QE.setRect,i,a,o,s).call(Mz.fill,t.bgcolor),this.xaxis._offset=i,this.xaxis._length=o,this.yaxis._offset=a,this.yaxis._length=s};$g.updateFx=function(e,t){var r=this,n=r.graphDiv,i=r.bgRect,a=e.dragmode,o=e.clickmode;if(r.isStatic)return;function s(){var f=r.viewInitial,h={};for(var d in f)h[r.id+\".\"+d]=f[d];jDt.call(\"_guiRelayout\",n,h),n.emit(\"plotly_doubleclick\",null)}function l(f){return r.projection.invert([f[0]+r.xaxis._offset,f[1]+r.yaxis._offset])}var u=function(f,h){if(h.isRect){var d=f.range={};d[r.id]=[l([h.xmin,h.ymin]),l([h.xmax,h.ymax])]}else{var v=f.lassoPoints={};v[r.id]=h.map(l)}},c={element:r.bgRect.node(),gd:n,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:u},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(f){f===2&&YDt(n)}};a===\"pan\"?(i.node().onmousedown=null,i.call(JDt(r,t)),i.on(\"dblclick.zoom\",s),n._context._scrollZoom.geo||i.on(\"wheel.zoom\",null)):(a===\"select\"||a===\"lasso\")&&(i.on(\".zoom\",null),c.prepFn=function(f,h,d){XDt(f,h,d,c,a)},EX.init(c)),i.on(\"mousemove\",function(){var f=r.projection.invert(ek.getPositionFromD3Event());if(!f)return EX.unhover(n,t1.event);r.xaxis.p2c=function(){return f[0]},r.yaxis.p2c=function(){return f[1]},ERe.hover(n,t1.event,r.id)}),i.on(\"mouseout\",function(){n._dragging||EX.unhover(n,t1.event)}),i.on(\"click\",function(){a!==\"select\"&&a!==\"lasso\"&&(o.indexOf(\"select\")>-1&&KDt(t1.event,n,[r.xaxis],[r.yaxis],r.id,c),o.indexOf(\"event\")>-1&&ERe.click(n,t1.event))})};$g.makeFramework=function(){var e=this,t=e.graphDiv,r=t._fullLayout,n=\"clip\"+r._uid+e.id;e.clipDef=r._clips.append(\"clipPath\").attr(\"id\",n),e.clipRect=e.clipDef.append(\"rect\"),e.framework=t1.select(e.container).append(\"g\").attr(\"class\",\"geo \"+e.id).call(QE.setClipUrl,n,t),e.project=function(i){var a=e.projection(i);return a?[a[0]-e.xaxis._offset,a[1]-e.yaxis._offset]:[null,null]},e.xaxis={_id:\"x\",c2p:function(i){return e.project(i)[0]}},e.yaxis={_id:\"y\",c2p:function(i){return e.project(i)[1]}},e.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},kX.setConvert(e.mockAxis,r)};$g.saveViewInitial=function(e){var t=e.center||{},r=e.projection,n=r.rotation||{};this.viewInitial={fitbounds:e.fitbounds,\"projection.scale\":r.scale};var i;e._isScoped?i={\"center.lon\":t.lon,\"center.lat\":t.lat}:e._isClipped?i={\"projection.rotation.lon\":n.lon,\"projection.rotation.lat\":n.lat}:i={\"center.lon\":t.lon,\"center.lat\":t.lat,\"projection.rotation.lon\":n.lon},ek.extendFlat(this.viewInitial,i)};$g.render=function(e){this._hasMarkerAngles&&e?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()};$g._render=function(){var e=this.projection,t=e.getPath(),r;function n(a){var o=e(a.lonlat);return o?WDt(o[0],o[1]):null}function i(a){return e.isLonLatOverEdges(a.lonlat)?\"none\":null}for(r in this.basePaths)this.basePaths[r].attr(\"d\",t);for(r in this.dataPaths)this.dataPaths[r].attr(\"d\",function(a){return t(a.geojson)});for(r in this.dataPoints)this.dataPoints[r].attr(\"display\",i).attr(\"transform\",n)};function ezt(e){var t=e.projection,r=t.type,n=fp.projNames[r];n=\"geo\"+ek.titleCase(n);for(var i=CX[n]||GDt[n],a=i(),o=e._isSatellite?Math.acos(1/t.distance)*180/Math.PI:e._isClipped?fp.lonaxisSpan[r]/2:null,s=[\"center\",\"rotate\",\"parallels\",\"clipExtent\"],l=function(f){return f?a:[]},u=0;u<s.length;u++){var c=s[u];typeof a[c]!=\"function\"&&(a[c]=l)}return a.isLonLatOverEdges=function(f){if(a(f)===null)return!0;if(o){var h=a.rotate(),d=HDt(f,[-h[0],-h[1]]),v=o*Math.PI/180;return d>v}else return!1},a.getPath=function(){return VDt().projection(a)},a.getBounds=function(f){return a.getPath().bounds(f)},a.precision(fp.precision),e._isSatellite&&a.tilt(t.tilt).distance(t.distance),o&&a.clipAngle(o-fp.clipPad),a}function tzt(e,t,r){var n=1e-6,i=2.5,a=t[e],o=fp.scopeDefaults[t.scope],s,l,u;e===\"lonaxis\"?(s=o.lonaxisRange,l=o.lataxisRange,u=function(E,k){return[E,k]}):e===\"lataxis\"&&(s=o.lataxisRange,l=o.lonaxisRange,u=function(E,k){return[k,E]});var c={type:\"linear\",range:[s[0],s[1]-n],tick0:a.tick0,dtick:a.dtick};kX.setConvert(c,r);var f=kX.calcTicks(c);!t.isScoped&&e===\"lonaxis\"&&f.pop();for(var h=f.length,d=new Array(h),v=0;v<h;v++)for(var x=f[v].x,b=d[v]=[],p=l[0];p<l[1]+i;p+=i)b.push(u(x,p));return{type:\"MultiLineString\",coordinates:d}}function CRe(e,t){var r=fp.clipPad,n=e[0]+r,i=e[1]-r,a=t[0]+r,o=t[1]-r;n>0&&i<0&&(i+=360);var s=(i-n)/4;return{type:\"Polygon\",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}});var LX=ye((Fpr,FRe)=>{\"use strict\";var Y5=dh(),rzt=Ju().attributes,izt=Ed().dash,X5=YE(),nzt=Bu().overrideAll,DRe=Y1(),zRe={range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},showgrid:{valType:\"boolean\",dflt:!1},tick0:{valType:\"number\",dflt:0},dtick:{valType:\"number\"},gridcolor:{valType:\"color\",dflt:Y5.lightLine},gridwidth:{valType:\"number\",min:0,dflt:1},griddash:izt},azt=FRe.exports=nzt({domain:rzt({name:\"geo\"},{}),fitbounds:{valType:\"enumerated\",values:[!1,\"locations\",\"geojson\"],dflt:!1,editType:\"plot\"},resolution:{valType:\"enumerated\",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:\"enumerated\",values:DRe(X5.scopeDefaults),dflt:\"world\"},projection:{type:{valType:\"enumerated\",values:DRe(X5.projNames)},rotation:{lon:{valType:\"number\"},lat:{valType:\"number\"},roll:{valType:\"number\"}},tilt:{valType:\"number\",dflt:0},distance:{valType:\"number\",min:1.001,dflt:2},parallels:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},scale:{valType:\"number\",min:0,dflt:1}},center:{lon:{valType:\"number\"},lat:{valType:\"number\"}},visible:{valType:\"boolean\",dflt:!0},showcoastlines:{valType:\"boolean\"},coastlinecolor:{valType:\"color\",dflt:Y5.defaultLine},coastlinewidth:{valType:\"number\",min:0,dflt:1},showland:{valType:\"boolean\",dflt:!1},landcolor:{valType:\"color\",dflt:X5.landColor},showocean:{valType:\"boolean\",dflt:!1},oceancolor:{valType:\"color\",dflt:X5.waterColor},showlakes:{valType:\"boolean\",dflt:!1},lakecolor:{valType:\"color\",dflt:X5.waterColor},showrivers:{valType:\"boolean\",dflt:!1},rivercolor:{valType:\"color\",dflt:X5.waterColor},riverwidth:{valType:\"number\",min:0,dflt:1},showcountries:{valType:\"boolean\"},countrycolor:{valType:\"color\",dflt:Y5.defaultLine},countrywidth:{valType:\"number\",min:0,dflt:1},showsubunits:{valType:\"boolean\"},subunitcolor:{valType:\"color\",dflt:Y5.defaultLine},subunitwidth:{valType:\"number\",min:0,dflt:1},showframe:{valType:\"boolean\"},framecolor:{valType:\"color\",dflt:Y5.defaultLine},framewidth:{valType:\"number\",min:0,dflt:1},bgcolor:{valType:\"color\",dflt:Y5.background},lonaxis:zRe,lataxis:zRe},\"plot\",\"from-root\");azt.uirevision={valType:\"any\",editType:\"none\"}});var BRe=ye((qpr,ORe)=>{\"use strict\";var Ez=Mr(),ozt=C_(),szt=kd().getSubplotData,kz=YE(),lzt=LX(),qRe=kz.axesNames;ORe.exports=function(t,r,n){ozt(t,r,n,{type:\"geo\",attributes:lzt,handleDefaults:uzt,fullData:n,partition:\"y\"})};function uzt(e,t,r,n){var i=szt(n.fullData,\"geo\",n.id),a=i.map(function(ae){return ae.index}),o=r(\"resolution\"),s=r(\"scope\"),l=kz.scopeDefaults[s],u=r(\"projection.type\",l.projType),c=t._isAlbersUsa=u===\"albers usa\";c&&(s=t.scope=\"usa\");var f=t._isScoped=s!==\"world\",h=t._isSatellite=u===\"satellite\",d=t._isConic=u.indexOf(\"conic\")!==-1||u===\"albers\",v=t._isClipped=!!kz.lonaxisSpan[u];if(e.visible===!1){var x=Ez.extendDeep({},t._template);x.showcoastlines=!1,x.showcountries=!1,x.showframe=!1,x.showlakes=!1,x.showland=!1,x.showocean=!1,x.showrivers=!1,x.showsubunits=!1,x.lonaxis&&(x.lonaxis.showgrid=!1),x.lataxis&&(x.lataxis.showgrid=!1),t._template=x}for(var b=r(\"visible\"),p,E=0;E<qRe.length;E++){var k=qRe[E],A=[30,10][E],L;if(f)L=l[k+\"Range\"];else{var _=kz[k+\"Span\"],C=(_[u]||_[\"*\"])/2,M=r(\"projection.rotation.\"+k.substr(0,3),l.projRotate[E]);L=[M-C,M+C]}var g=r(k+\".range\",L);r(k+\".tick0\"),r(k+\".dtick\",A),p=r(k+\".showgrid\",b?void 0:!1),p&&(r(k+\".gridcolor\"),r(k+\".gridwidth\"),r(k+\".griddash\")),t[k]._ax={type:\"linear\",_id:k.slice(0,3),_traceIndices:a,setScale:Ez.identity,c2l:Ez.identity,r2l:Ez.identity,autorange:!0,range:g.slice(),_m:1,_input:{}}}var P=t.lonaxis.range,T=t.lataxis.range,F=P[0],q=P[1];F>0&&q<0&&(q+=360);var V=(F+q)/2,H;if(!c){var X=f?l.projRotate:[V,0,0];H=r(\"projection.rotation.lon\",X[0]),r(\"projection.rotation.lat\",X[1]),r(\"projection.rotation.roll\",X[2]),p=r(\"showcoastlines\",!f&&b),p&&(r(\"coastlinecolor\"),r(\"coastlinewidth\")),p=r(\"showocean\",b?void 0:!1),p&&r(\"oceancolor\")}var G,N;if(c?(G=-96.6,N=38.7):(G=f?V:H,N=(T[0]+T[1])/2),r(\"center.lon\",G),r(\"center.lat\",N),h&&(r(\"projection.tilt\"),r(\"projection.distance\")),d){var W=l.projParallels||[0,60];r(\"projection.parallels\",W)}r(\"projection.scale\"),p=r(\"showland\",b?void 0:!1),p&&r(\"landcolor\"),p=r(\"showlakes\",b?void 0:!1),p&&r(\"lakecolor\"),p=r(\"showrivers\",b?void 0:!1),p&&(r(\"rivercolor\"),r(\"riverwidth\")),p=r(\"showcountries\",f&&s!==\"usa\"&&b),p&&(r(\"countrycolor\"),r(\"countrywidth\")),(s===\"usa\"||s===\"north america\"&&o===50)&&(r(\"showsubunits\",b),r(\"subunitcolor\"),r(\"subunitwidth\")),f||(p=r(\"showframe\",b),p&&(r(\"framecolor\"),r(\"framewidth\"))),r(\"bgcolor\");var re=r(\"fitbounds\");re&&(delete t.projection.scale,f?(delete t.center.lon,delete t.center.lat):v?(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon,delete t.projection.rotation.lat,delete t.lonaxis.range,delete t.lataxis.range):(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon))}});var PX=ye((Opr,VRe)=>{\"use strict\";var czt=kd().getSubplotCalcData,fzt=Mr().counterRegex,hzt=RRe(),Wm=\"geo\",NRe=fzt(Wm),URe={};URe[Wm]={valType:\"subplotid\",dflt:Wm,editType:\"calc\"};function dzt(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[Wm],i=0;i<n.length;i++){var a=n[i],o=czt(r,Wm,a),s=t[a],l=s._subplot;l||(l=hzt({id:a,graphDiv:e,container:t._geolayer.node(),topojsonURL:e._context.topojsonURL,staticPlot:e._context.staticPlot}),t[a]._subplot=l),l.plot(o,t,e._promises)}}function vzt(e,t,r,n){for(var i=n._subplots[Wm]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!t[o]&&s&&(s.framework.remove(),s.clipDef.remove())}}function pzt(e){for(var t=e._fullLayout,r=t._subplots[Wm],n=0;n<r.length;n++){var i=t[r[n]],a=i._subplot;a.updateFx(t,i)}}VRe.exports={attr:Wm,name:Wm,idRoot:Wm,idRegex:NRe,attrRegex:NRe,attributes:URe,layoutAttributes:LX(),supplyLayoutDefaults:BRe(),plot:dzt,updateFx:pzt,clean:vzt}});var GRe=ye((Bpr,HRe)=>{\"use strict\";HRe.exports={attributes:H2(),supplyDefaults:A8e(),colorbar:Kd(),formatLabels:E8e(),calc:lz(),calcGeoJSON:_X().calcGeoJSON,plot:_X().plot,style:pX(),styleOnSelect:op().styleOnSelect,hoverPoints:hRe(),eventData:vRe(),selectPoints:mRe(),moduleType:\"trace\",name:\"scattergeo\",basePlotModule:PX(),categories:[\"geo\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var WRe=ye((Npr,jRe)=>{\"use strict\";jRe.exports=GRe()});var K5=ye((Upr,YRe)=>{\"use strict\";var gzt=Wo().hovertemplateAttrs,ox=H2(),mzt=Jl(),ZRe=vl(),yzt=dh().defaultLine,ax=no().extendFlat,XRe=ox.marker.line;YRe.exports=ax({locations:{valType:\"data_array\",editType:\"calc\"},locationmode:ox.locationmode,z:{valType:\"data_array\",editType:\"calc\"},geojson:ax({},ox.geojson,{}),featureidkey:ox.featureidkey,text:ax({},ox.text,{}),hovertext:ax({},ox.hovertext,{}),marker:{line:{color:ax({},XRe.color,{dflt:yzt}),width:ax({},XRe.width,{dflt:1}),editType:\"calc\"},opacity:{valType:\"number\",arrayOk:!0,min:0,max:1,dflt:1,editType:\"style\"},editType:\"calc\"},selected:{marker:{opacity:ox.selected.marker.opacity,editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:ox.unselected.marker.opacity,editType:\"plot\"},editType:\"plot\"},hoverinfo:ax({},ZRe.hoverinfo,{editType:\"calc\",flags:[\"location\",\"z\",\"text\",\"name\"]}),hovertemplate:gzt(),showlegend:ax({},ZRe.showlegend,{dflt:!1})},mzt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var JRe=ye((Vpr,KRe)=>{\"use strict\";var Cz=Mr(),_zt=Uh(),xzt=K5();KRe.exports=function(t,r,n,i){function a(h,d){return Cz.coerce(t,r,xzt,h,d)}var o=a(\"locations\"),s=a(\"z\");if(!(o&&o.length&&Cz.isArrayOrTypedArray(s)&&s.length)){r.visible=!1;return}r._length=Math.min(o.length,s.length);var l=a(\"geojson\"),u;(typeof l==\"string\"&&l!==\"\"||Cz.isPlainObject(l))&&(u=\"geojson-id\");var c=a(\"locationmode\",u);c===\"geojson-id\"&&a(\"featureidkey\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\");var f=a(\"marker.line.width\");f&&a(\"marker.line.color\"),a(\"marker.opacity\"),_zt(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),Cz.coerceSelectionMarkerOpacity(r,a)}});var Lz=ye((Hpr,eDe)=>{\"use strict\";var $Re=uo(),bzt=es().BADNUM,wzt=zv(),Tzt=km(),Azt=F0();function QRe(e){return e&&typeof e==\"string\"}eDe.exports=function(t,r){var n=r._length,i=new Array(n),a;r.geojson?a=function(c){return QRe(c)||$Re(c)}:a=QRe;for(var o=0;o<n;o++){var s=i[o]={},l=r.locations[o],u=r.z[o];a(l)&&$Re(u)?(s.loc=l,s.z=u):(s.loc=null,s.z=bzt),s.index=o}return Tzt(i,r),wzt(t,r,{vals:r.z,containerStr:\"\",cLetter:\"z\"}),Azt(i,r),i}});var Pz=ye((Gpr,rDe)=>{\"use strict\";var Szt=xa(),Mzt=va(),IX=ao(),Ezt=Mu();function kzt(e,t){t&&tDe(e,t)}function tDe(e,t){var r=t[0].trace,n=t[0].node3,i=n.selectAll(\".choroplethlocation\"),a=r.marker||{},o=a.line||{},s=Ezt.makeColorScaleFuncFromTrace(r);i.each(function(l){Szt.select(this).attr(\"fill\",s(l.z)).call(Mzt.stroke,l.mlc||o.color).call(IX.dashLine,\"\",l.mlw||o.width||0).style(\"opacity\",a.opacity)}),IX.selectedPointStyle(i,r)}function Czt(e,t){var r=t[0].node3,n=t[0].trace;n.selectedpoints?IX.selectedPointStyle(r.selectAll(\".choroplethlocation\"),n):tDe(e,t)}rDe.exports={style:kzt,styleOnSelect:Czt}});var RX=ye((jpr,aDe)=>{\"use strict\";var Lzt=xa(),iDe=Mr(),J5=nx(),Pzt=cz().getTopojsonFeatures,nDe=wg().findExtremes,Izt=Pz().style;function Rzt(e,t,r){var n=t.layers.backplot.select(\".choroplethlayer\");iDe.makeTraceGroups(n,r,\"trace choropleth\").each(function(i){var a=Lzt.select(this),o=a.selectAll(\"path.choroplethlocation\").data(iDe.identity);o.enter().append(\"path\").classed(\"choroplethlocation\",!0),o.exit().remove(),Izt(e,i)})}function Dzt(e,t){for(var r=e[0].trace,n=t[r.geo],i=n._subplot,a=r.locationmode,o=r._length,s=a===\"geojson-id\"?J5.extractTraceFeature(e):Pzt(r,i.topojson),l=[],u=[],c=0;c<o;c++){var f=e[c],h=a===\"geojson-id\"?f.fOut:J5.locationToFeature(a,f.loc,s);if(h){f.geojson=h,f.ct=h.properties.ct,f._polygons=J5.feature2polygons(h);var d=J5.computeBbox(h);l.push(d[0],d[2]),u.push(d[1],d[3])}else f.geojson=null}if(n.fitbounds===\"geojson\"&&a===\"geojson-id\"){var v=J5.computeBbox(J5.getTraceGeojson(r));l=[v[0],v[2]],u=[v[1],v[3]]}var x={padded:!0};r._extremes.lon=nDe(n.lonaxis._ax,l,x),r._extremes.lat=nDe(n.lataxis._ax,u,x)}aDe.exports={calcGeoJSON:Dzt,plot:Rzt}});var Iz=ye((Wpr,oDe)=>{\"use strict\";var zzt=Qa(),Fzt=K5(),qzt=Mr().fillText;oDe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.subplot,s,l,u,c,f=[r,n],h=[r+360,n];for(l=0;l<i.length;l++)if(s=i[l],c=!1,s._polygons){for(u=0;u<s._polygons.length;u++)s._polygons[u].contains(f)&&(c=!c),s._polygons[u].contains(h)&&(c=!c);if(c)break}if(!(!c||!s))return t.x0=t.x1=t.xa.c2p(s.ct),t.y0=t.y1=t.ya.c2p(s.ct),t.index=s.index,t.location=s.loc,t.z=s.z,t.zLabel=zzt.tickText(o.mockAxis,o.mockAxis.c2l(s.z),\"hover\").text,t.hovertemplate=s.hovertemplate,Ozt(t,a,s),[t]};function Ozt(e,t,r){if(!t.hovertemplate){var n=r.hi||t.hoverinfo,i=String(r.loc),a=n===\"all\"?Fzt.hoverinfo.flags:n.split(\"+\"),o=a.indexOf(\"name\")!==-1,s=a.indexOf(\"location\")!==-1,l=a.indexOf(\"z\")!==-1,u=a.indexOf(\"text\")!==-1,c=!o&&s,f=[];c?e.nameOverride=i:(o&&(e.nameOverride=t.name),s&&f.push(i)),l&&f.push(e.zLabel),u&&qzt(r,t,f),e.extraText=f.join(\"<br>\")}}});var Rz=ye((Zpr,sDe)=>{\"use strict\";sDe.exports=function(t,r,n,i,a){t.location=r.location,t.z=r.z;var o=i[a];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t.ct=o.ct,t}});var Dz=ye((Xpr,lDe)=>{\"use strict\";lDe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l,u,c,f;if(r===!1)for(s=0;s<n.length;s++)n[s].selected=0;else for(s=0;s<n.length;s++)l=n[s],u=l.ct,u&&(c=i.c2p(u),f=a.c2p(u),r.contains([c,f],null,s,t)?(o.push({pointNumber:s,lon:u[0],lat:u[1]}),l.selected=1):l.selected=0);return o}});var cDe=ye((Ypr,uDe)=>{\"use strict\";uDe.exports={attributes:K5(),supplyDefaults:JRe(),colorbar:M_(),calc:Lz(),calcGeoJSON:RX().calcGeoJSON,plot:RX().plot,style:Pz().style,styleOnSelect:Pz().styleOnSelect,hoverPoints:Iz(),eventData:Rz(),selectPoints:Dz(),moduleType:\"trace\",name:\"choropleth\",basePlotModule:PX(),categories:[\"geo\",\"noOpacity\",\"showLegend\"],meta:{}}});var hDe=ye((Kpr,fDe)=>{\"use strict\";fDe.exports=cDe()});var zz=ye((Jpr,vDe)=>{\"use strict\";var Bzt=ba(),s0=Mr(),Nzt=oT();function Uzt(e,t,r,n){var i=e.cd,a=i[0].t,o=i[0].trace,s=e.xa,l=e.ya,u=a.x,c=a.y,f=s.c2p(t),h=l.c2p(r),d=e.distance,v;if(a.tree){var x=s.p2c(f-d),b=s.p2c(f+d),p=l.p2c(h-d),E=l.p2c(h+d);n===\"x\"?v=a.tree.range(Math.min(x,b),Math.min(l._rl[0],l._rl[1]),Math.max(x,b),Math.max(l._rl[0],l._rl[1])):v=a.tree.range(Math.min(x,b),Math.min(p,E),Math.max(x,b),Math.max(p,E))}else v=a.ids;var k,A,L,_,C,M,g,P,T,F=d;if(n===\"x\"){var q=!!o.xperiodalignment,V=!!o.yperiodalignment;for(C=0;C<v.length;C++){if(k=v[C],L=u[k],M=Math.abs(s.c2p(L)-f),q){var H=s.c2p(o._xStarts[k]),X=s.c2p(o._xEnds[k]);M=f>=Math.min(H,X)&&f<=Math.max(H,X)?0:1/0}if(M<F){if(F=M,_=c[k],g=l.c2p(_)-h,V){var G=l.c2p(o._yStarts[k]),N=l.c2p(o._yEnds[k]);g=h>=Math.min(G,N)&&h<=Math.max(G,N)?0:1/0}T=Math.sqrt(M*M+g*g),A=v[C]}}}else for(C=v.length-1;C>-1;C--)k=v[C],L=u[k],_=c[k],M=s.c2p(L)-f,g=l.c2p(_)-h,P=Math.sqrt(M*M+g*g),P<F&&(F=T=P,A=k);return e.index=A,e.distance=F,e.dxy=T,A===void 0?[e]:[dDe(e,u,c,o)]}function dDe(e,t,r,n){var i=e.xa,a=e.ya,o=e.distance,s=e.dxy,l=e.index,u={pointNumber:l,x:t[l],y:r[l]};u.tx=s0.isArrayOrTypedArray(n.text)?n.text[l]:n.text,u.htx=Array.isArray(n.hovertext)?n.hovertext[l]:n.hovertext,u.data=Array.isArray(n.customdata)?n.customdata[l]:n.customdata,u.tp=Array.isArray(n.textposition)?n.textposition[l]:n.textposition;var c=n.textfont;c&&(u.ts=s0.isArrayOrTypedArray(c.size)?c.size[l]:c.size,u.tc=s0.isArrayOrTypedArray(c.color)?c.color[l]:c.color,u.tf=Array.isArray(c.family)?c.family[l]:c.family,u.tw=Array.isArray(c.weight)?c.weight[l]:c.weight,u.ty=Array.isArray(c.style)?c.style[l]:c.style,u.tv=Array.isArray(c.variant)?c.variant[l]:c.variant);var f=n.marker;f&&(u.ms=s0.isArrayOrTypedArray(f.size)?f.size[l]:f.size,u.mo=s0.isArrayOrTypedArray(f.opacity)?f.opacity[l]:f.opacity,u.mx=s0.isArrayOrTypedArray(f.symbol)?f.symbol[l]:f.symbol,u.ma=s0.isArrayOrTypedArray(f.angle)?f.angle[l]:f.angle,u.mc=s0.isArrayOrTypedArray(f.color)?f.color[l]:f.color);var h=f&&f.line;h&&(u.mlc=Array.isArray(h.color)?h.color[l]:h.color,u.mlw=s0.isArrayOrTypedArray(h.width)?h.width[l]:h.width);var d=f&&f.gradient;d&&d.type!==\"none\"&&(u.mgt=Array.isArray(d.type)?d.type[l]:d.type,u.mgc=Array.isArray(d.color)?d.color[l]:d.color);var v=i.c2p(u.x,!0),x=a.c2p(u.y,!0),b=u.mrc||1,p=n.hoverlabel;p&&(u.hbg=Array.isArray(p.bgcolor)?p.bgcolor[l]:p.bgcolor,u.hbc=Array.isArray(p.bordercolor)?p.bordercolor[l]:p.bordercolor,u.hts=s0.isArrayOrTypedArray(p.font.size)?p.font.size[l]:p.font.size,u.htc=Array.isArray(p.font.color)?p.font.color[l]:p.font.color,u.htf=Array.isArray(p.font.family)?p.font.family[l]:p.font.family,u.hnl=s0.isArrayOrTypedArray(p.namelength)?p.namelength[l]:p.namelength);var E=n.hoverinfo;E&&(u.hi=Array.isArray(E)?E[l]:E);var k=n.hovertemplate;k&&(u.ht=Array.isArray(k)?k[l]:k);var A={};A[e.index]=u;var L=n._origX,_=n._origY,C=s0.extendFlat({},e,{color:Nzt(n,u),x0:v-b,x1:v+b,xLabelVal:L?L[l]:u.x,y0:x-b,y1:x+b,yLabelVal:_?_[l]:u.y,cd:A,distance:o,spikeDistance:s,hovertemplate:u.ht});return u.htx?C.text=u.htx:u.tx?C.text=u.tx:n.text&&(C.text=n.text),s0.fillText(u,n,C),Bzt.getComponentMethod(\"errorbars\",\"hoverInfo\")(u,n,C),C}vDe.exports={hoverPoints:Uzt,calcHover:dDe}});var sx=ye(($pr,gDe)=>{\"use strict\";var pDe=20;gDe.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:pDe,SYMBOL_STROKE:pDe/20,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]}}});var tk=ye((Qpr,xDe)=>{\"use strict\";var Vzt=vl(),Hzt=Su(),Gzt=Eg(),Af=Uc(),mDe=Oc().axisHoverFormat,yDe=Jl(),jzt=Y1(),DX=no().extendFlat,Wzt=Bu().overrideAll,Zzt=sx().DASHES,_De=Af.line,r1=Af.marker,Xzt=r1.line,$5=xDe.exports=Wzt({x:Af.x,x0:Af.x0,dx:Af.dx,y:Af.y,y0:Af.y0,dy:Af.dy,xperiod:Af.xperiod,yperiod:Af.yperiod,xperiod0:Af.xperiod0,yperiod0:Af.yperiod0,xperiodalignment:Af.xperiodalignment,yperiodalignment:Af.yperiodalignment,xhoverformat:mDe(\"x\"),yhoverformat:mDe(\"y\"),text:Af.text,hovertext:Af.hovertext,textposition:Af.textposition,textfont:Hzt({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:\"calc\",colorEditType:\"style\",arrayOk:!0,noNumericWeightValues:!0,variantValues:[\"normal\",\"small-caps\"]}),mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"]},line:{color:_De.color,width:_De.width,shape:{valType:\"enumerated\",values:[\"linear\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\",editType:\"plot\"},dash:{valType:\"enumerated\",values:jzt(Zzt),dflt:\"solid\"}},marker:DX({},yDe(\"marker\"),{symbol:r1.symbol,angle:r1.angle,size:r1.size,sizeref:r1.sizeref,sizemin:r1.sizemin,sizemode:r1.sizemode,opacity:r1.opacity,colorbar:r1.colorbar,line:DX({},yDe(\"marker.line\"),{width:Xzt.width})}),connectgaps:Af.connectgaps,fill:DX({},Af.fill,{dflt:\"none\"}),fillcolor:Gzt(),selected:{marker:Af.selected.marker,textfont:Af.selected.textfont},unselected:{marker:Af.unselected.marker,textfont:Af.unselected.textfont},opacity:Vzt.opacity},\"calc\",\"nested\");$5.x.editType=$5.y.editType=$5.x0.editType=$5.y0.editType=\"calc+clearAxisTypes\";$5.hovertemplate=Af.hovertemplate;$5.texttemplate=Af.texttemplate});var Fz=ye(zX=>{\"use strict\";var bDe=sx();zX.isOpenSymbol=function(e){return typeof e==\"string\"?bDe.OPEN_RE.test(e):e%200>100};zX.isDotSymbol=function(e){return typeof e==\"string\"?bDe.DOT_RE.test(e):e>200}});var ADe=ye((t0r,TDe)=>{\"use strict\";var wDe=Mr(),Yzt=ba(),Kzt=Fz(),Jzt=tk(),$zt=Sm(),qz=lu(),Qzt=K3(),eFt=Pg(),tFt=$p(),rFt=R0(),iFt=Ig(),nFt=D0();TDe.exports=function(t,r,n,i){function a(d,v){return wDe.coerce(t,r,Jzt,d,v)}var o=t.marker?Kzt.isOpenSymbol(t.marker.symbol):!1,s=qz.isBubble(t),l=Qzt(t,r,i,a);if(!l){r.visible=!1;return}eFt(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\");var u=l<$zt.PTS_LINESONLY?\"lines+markers\":\"lines\";a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"mode\",u),qz.hasMarkers(r)&&(tFt(t,r,n,i,a,{noAngleRef:!0,noStandOff:!0}),a(\"marker.line.width\",o||s?1:0)),qz.hasLines(r)&&(a(\"connectgaps\"),rFt(t,r,n,i,a),a(\"line.shape\")),qz.hasText(r)&&(a(\"texttemplate\"),nFt(t,r,i,a,{noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}));var c=(r.line||{}).color,f=(r.marker||{}).color;a(\"fill\"),r.fill!==\"none\"&&iFt(t,r,n,a);var h=Yzt.getComponentMethod(\"errorbars\",\"supplyDefaults\");h(t,r,c||f||n,{axis:\"y\"}),h(t,r,c||f||n,{axis:\"x\",inherit:\"y\"}),wDe.coerceSelectionMarkerOpacity(r,a)}});var MDe=ye((r0r,SDe)=>{\"use strict\";var aFt=$P();SDe.exports=function(t,r,n){var i=t.i;return\"x\"in t||(t.x=r._x[i]),\"y\"in t||(t.y=r._y[i]),aFt(t,r,n)}});var kDe=ye((i0r,EDe)=>{\"use strict\";function oFt(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>=0?(a=o,i=o-1):n=o+1}return a}function sFt(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>0?(a=o,i=o-1):n=o+1}return a}function lFt(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<0?(a=o,n=o+1):i=o-1}return a}function uFt(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<=0?(a=o,n=o+1):i=o-1}return a}function cFt(e,t,r,n,i){for(;n<=i;){var a=n+i>>>1,o=e[a],s=r!==void 0?r(o,t):o-t;if(s===0)return a;s<=0?n=a+1:i=a-1}return-1}function rk(e,t,r,n,i,a){return typeof r==\"function\"?a(e,t,r,n===void 0?0:n|0,i===void 0?e.length-1:i|0):a(e,t,void 0,r===void 0?0:r|0,n===void 0?e.length-1:n|0)}EDe.exports={ge:function(e,t,r,n,i){return rk(e,t,r,n,i,oFt)},gt:function(e,t,r,n,i){return rk(e,t,r,n,i,sFt)},lt:function(e,t,r,n,i){return rk(e,t,r,n,i,lFt)},le:function(e,t,r,n,i){return rk(e,t,r,n,i,uFt)},eq:function(e,t,r,n,i){return rk(e,t,r,n,i,cFt)}}});var Zm=ye((n0r,LDe)=>{\"use strict\";LDe.exports=function(t,r,n){var i={},a,o;if(typeof r==\"string\"&&(r=CDe(r)),Array.isArray(r)){var s={};for(o=0;o<r.length;o++)s[r[o]]=!0;r=s}for(a in r)r[a]=CDe(r[a]);var l={};for(a in r){var u=r[a];if(Array.isArray(u))for(o=0;o<u.length;o++){var c=u[o];if(n&&(l[c]=!0),c in t){if(i[a]=t[c],n)for(var f=o;f<u.length;f++)l[u[f]]=!0;break}}else a in t&&(r[a]&&(i[a]=t[a]),n&&(l[a]=!0))}if(n)for(a in t)l[a]||(i[a]=t[a]);return i};var FX={};function CDe(e){return FX[e]?FX[e]:(typeof e==\"string\"&&(e=FX[e]=e.split(/\\s*,\\s*|\\s+/)),e)}});var Q5=ye((a0r,PDe)=>{\"use strict\";var fFt=Zm();PDe.exports=hFt;function hFt(e){var t;return arguments.length>1&&(e=arguments),typeof e==\"string\"?e=e.split(/\\s/).map(parseFloat):typeof e==\"number\"&&(e=[e]),e.length&&typeof e[0]==\"number\"?e.length===1?t={width:e[0],height:e[0],x:0,y:0}:e.length===2?t={width:e[0],height:e[1],x:0,y:0}:t={x:e[0],y:e[1],width:e[2]-e[0]||0,height:e[3]-e[1]||0}:e&&(e=fFt(e,{left:\"x l left Left\",top:\"y t top Top\",width:\"w width W Width\",height:\"h height W Width\",bottom:\"b bottom Bottom\",right:\"r right Right\"}),t={x:e.left||0,y:e.top||0},e.width==null?e.right?t.width=e.right-t.x:t.width=0:t.width=e.width,e.height==null?e.bottom?t.height=e.bottom-t.y:t.height=0:t.height=e.height),t}});var j2=ye((o0r,IDe)=>{\"use strict\";IDe.exports=dFt;function dFt(e,t){if(!e||e.length==null)throw Error(\"Argument should be an array\");t==null?t=1:t=Math.floor(t);for(var r=Array(t*2),n=0;n<t;n++){for(var i=-1/0,a=1/0,o=n,s=e.length;o<s;o+=t)e[o]>i&&(i=e[o]),e[o]<a&&(a=e[o]);r[n]=a,r[t+n]=i}return r}});var DDe=ye((s0r,RDe)=>{RDe.exports=function(){for(var e=0;e<arguments.length;e++)if(arguments[e]!==void 0)return arguments[e]}});var W2=ye((l0r,FDe)=>{var zDe=HD();FDe.exports=vFt;function vFt(e,t,r){if(!e)throw new TypeError(\"must specify data as first parameter\");if(r=+(r||0)|0,Array.isArray(e)&&e[0]&&typeof e[0][0]==\"number\"){var n=e[0].length,i=e.length*n,a,o,s,l;(!t||typeof t==\"string\")&&(t=new(zDe(t||\"float32\"))(i+r));var u=t.length-r;if(i!==u)throw new Error(\"source length \"+i+\" (\"+n+\"x\"+e.length+\") does not match destination length \"+u);for(a=0,s=r;a<e.length;a++)for(o=0;o<n;o++)t[s++]=e[a][o]===null?NaN:e[a][o]}else if(!t||typeof t==\"string\"){var c=zDe(t||\"float32\");if(Array.isArray(e)||t===\"array\")for(t=new c(e.length+r),a=0,s=r,l=t.length;s<l;s++,a++)t[s]=e[a]===null?NaN:e[a];else r===0?t=new c(e):(t=new c(e.length+r),t.set(e,r))}else t.set(e,r);return t}});var ODe=ye((u0r,qDe)=>{\"use strict\";qDe.exports=function(e){var t=typeof e;return e!==null&&(t===\"object\"||t===\"function\")}});var NDe=ye((c0r,BDe)=>{\"use strict\";BDe.exports=Math.log2||function(e){return Math.log(e)*Math.LOG2E}});var ZDe=ye((f0r,WDe)=>{\"use strict\";var UDe=kDe(),VDe=VE(),pFt=Q5(),gFt=j2(),HDe=Zm(),qX=DDe(),mFt=W2(),yFt=ODe(),_Ft=HD(),GDe=NDe(),xFt=1073741824;WDe.exports=function(t,r){r||(r={}),t=mFt(t,\"float64\"),r=HDe(r,{bounds:\"range bounds dataBox databox\",maxDepth:\"depth maxDepth maxdepth level maxLevel maxlevel levels\",dtype:\"type dtype format out dst output destination\"});let n=qX(r.maxDepth,255),i=qX(r.bounds,gFt(t,2));i[0]===i[2]&&i[2]++,i[1]===i[3]&&i[3]++;let a=jDe(t,i),o=t.length>>>1,s;r.dtype||(r.dtype=\"array\"),typeof r.dtype==\"string\"?s=new(_Ft(r.dtype))(o):r.dtype&&(s=r.dtype,Array.isArray(s)&&(s.length=o));for(let p=0;p<o;++p)s[p]=p;let l=[],u=[],c=[],f=[];d(0,0,1,s,0,1);let h=0;for(let p=0;p<l.length;p++){let E=l[p];if(s.set)s.set(E,h);else for(let A=0,L=E.length;A<L;A++)s[A+h]=E[A];let k=h+l[p].length;f[p]=[h,k],h=k}return s.range=v,s;function d(p,E,k,A,L,_){if(!A.length)return null;let C=l[L]||(l[L]=[]),M=c[L]||(c[L]=[]),g=u[L]||(u[L]=[]),P=C.length;if(L++,L>n||_>xFt){for(let N=0;N<A.length;N++)C.push(A[N]),M.push(_),g.push(null,null,null,null);return P}if(C.push(A[0]),M.push(_),A.length<=1)return g.push(null,null,null,null),P;let T=k*.5,F=p+T,q=E+T,V=[],H=[],X=[],G=[];for(let N=1,W=A.length;N<W;N++){let re=A[N],ae=a[re*2],_e=a[re*2+1];ae<F?_e<q?V.push(re):H.push(re):_e<q?X.push(re):G.push(re)}return _<<=2,g.push(d(p,E,T,V,L,_),d(p,q,T,H,L,_+1),d(F,E,T,X,L,_+2),d(F,q,T,G,L,_+3)),P}function v(...p){let E;if(yFt(p[p.length-1])){let X=p.pop();!p.length&&(X.x!=null||X.l!=null||X.left!=null)&&(p=[X],E={}),E=HDe(X,{level:\"level maxLevel\",d:\"d diam diameter r radius px pxSize pixel pixelSize maxD size minSize\",lod:\"lod details ranges offsets\"})}else E={};p.length||(p=i);let k=pFt(...p),[A,L,_,C]=[Math.min(k.x,k.x+k.width),Math.min(k.y,k.y+k.height),Math.max(k.x,k.x+k.width),Math.max(k.y,k.y+k.height)],[M,g,P,T]=jDe([A,L,_,C],i),F=qX(E.level,l.length);if(E.d!=null){let X;typeof E.d==\"number\"?X=[E.d,E.d]:E.d.length&&(X=E.d),F=Math.min(Math.max(Math.ceil(-GDe(Math.abs(X[0])/(i[2]-i[0]))),Math.ceil(-GDe(Math.abs(X[1])/(i[3]-i[1])))),F)}if(F=Math.min(F,l.length),E.lod)return x(M,g,P,T,F);let q=[];V(0,0,1,0,0,1);function V(X,G,N,W,re,ae){if(re===null||ae===null)return;let _e=X+N,Me=G+N;if(M>_e||g>Me||P<X||T<G||W>=F||re===ae)return;let ke=l[W];ae===void 0&&(ae=ke.length);for(let Re=re;Re<ae;Re++){let ce=ke[Re],Ge=t[ce*2],nt=t[ce*2+1];Ge>=A&&Ge<=_&&nt>=L&&nt<=C&&q.push(ce)}let ge=u[W],ie=ge[re*4+0],Te=ge[re*4+1],Ee=ge[re*4+2],Ae=ge[re*4+3],ze=H(ge,re+1),Ce=N*.5,me=W+1;V(X,G,Ce,me,ie,Te||Ee||Ae||ze),V(X,G+Ce,Ce,me,Te,Ee||Ae||ze),V(X+Ce,G,Ce,me,Ee,Ae||ze),V(X+Ce,G+Ce,Ce,me,Ae,ze)}function H(X,G){let N=null,W=0;for(;N===null;)if(N=X[G*4+W],W++,W>X.length)return null;return N}return q}function x(p,E,k,A,L){let _=[];for(let C=0;C<L;C++){let M=c[C],g=f[C][0],P=b(p,E,C),T=b(k,A,C),F=UDe.ge(M,P),q=UDe.gt(M,T,F,M.length-1);_[C]=[F+g,q+g]}return _}function b(p,E,k){let A=1,L=.5,_=.5,C=.5;for(let M=0;M<k;M++)A<<=2,A+=p<L?E<_?0:1:E<_?2:3,C*=.5,L+=p<L?-C:C,_+=E<_?-C:C;return A}};function jDe(e,t){let[r,n,i,a]=t,o=1/(i-r),s=1/(a-n),l=new Array(e.length);for(let u=0,c=e.length/2;u<c;u++)l[2*u]=VDe((e[2*u]-r)*o,0,1),l[2*u+1]=VDe((e[2*u+1]-n)*s,0,1);return l}});var Oz=ye((h0r,XDe)=>{\"use strict\";XDe.exports=ZDe()});var OX=ye((d0r,YDe)=>{YDe.exports=bFt;function bFt(e){var t=0,r=0,n=0,i=0;return e.map(function(a){a=a.slice();var o=a[0],s=o.toUpperCase();if(o!=s)switch(a[0]=s,o){case\"a\":a[6]+=n,a[7]+=i;break;case\"v\":a[1]+=i;break;case\"h\":a[1]+=n;break;default:for(var l=1;l<a.length;)a[l++]+=n,a[l++]+=i}switch(s){case\"Z\":n=t,i=r;break;case\"H\":n=a[1];break;case\"V\":i=a[1];break;case\"M\":n=t=a[1],i=r=a[2];break;default:n=a[a.length-2],i=a[a.length-1]}return a})}});var $De=ye((Bz,JDe)=>{\"use strict\";Object.defineProperty(Bz,\"__esModule\",{value:!0});var wFt=function(){function e(t,r){var n=[],i=!0,a=!1,o=void 0;try{for(var s=t[Symbol.iterator](),l;!(i=(l=s.next()).done)&&(n.push(l.value),!(r&&n.length===r));i=!0);}catch(u){a=!0,o=u}finally{try{!i&&s.return&&s.return()}finally{if(a)throw o}}return n}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),ik=Math.PI*2,BX=function(t,r,n,i,a,o,s){var l=t.x,u=t.y;l*=r,u*=n;var c=i*l-a*u,f=a*l+i*u;return{x:c+o,y:f+s}},TFt=function(t,r){var n=r===1.5707963267948966?.551915024494:r===-1.5707963267948966?-.551915024494:1.3333333333333333*Math.tan(r/4),i=Math.cos(t),a=Math.sin(t),o=Math.cos(t+r),s=Math.sin(t+r);return[{x:i-a*n,y:a+i*n},{x:o+s*n,y:s-o*n},{x:o,y:s}]},KDe=function(t,r,n,i){var a=t*i-r*n<0?-1:1,o=t*n+r*i;return o>1&&(o=1),o<-1&&(o=-1),a*Math.acos(o)},AFt=function(t,r,n,i,a,o,s,l,u,c,f,h){var d=Math.pow(a,2),v=Math.pow(o,2),x=Math.pow(f,2),b=Math.pow(h,2),p=d*v-d*b-v*x;p<0&&(p=0),p/=d*b+v*x,p=Math.sqrt(p)*(s===l?-1:1);var E=p*a/o*h,k=p*-o/a*f,A=c*E-u*k+(t+n)/2,L=u*E+c*k+(r+i)/2,_=(f-E)/a,C=(h-k)/o,M=(-f-E)/a,g=(-h-k)/o,P=KDe(1,0,_,C),T=KDe(_,C,M,g);return l===0&&T>0&&(T-=ik),l===1&&T<0&&(T+=ik),[A,L,P,T]},SFt=function(t){var r=t.px,n=t.py,i=t.cx,a=t.cy,o=t.rx,s=t.ry,l=t.xAxisRotation,u=l===void 0?0:l,c=t.largeArcFlag,f=c===void 0?0:c,h=t.sweepFlag,d=h===void 0?0:h,v=[];if(o===0||s===0)return[];var x=Math.sin(u*ik/360),b=Math.cos(u*ik/360),p=b*(r-i)/2+x*(n-a)/2,E=-x*(r-i)/2+b*(n-a)/2;if(p===0&&E===0)return[];o=Math.abs(o),s=Math.abs(s);var k=Math.pow(p,2)/Math.pow(o,2)+Math.pow(E,2)/Math.pow(s,2);k>1&&(o*=Math.sqrt(k),s*=Math.sqrt(k));var A=AFt(r,n,i,a,o,s,f,d,x,b,p,E),L=wFt(A,4),_=L[0],C=L[1],M=L[2],g=L[3],P=Math.abs(g)/(ik/4);Math.abs(1-P)<1e-7&&(P=1);var T=Math.max(Math.ceil(P),1);g/=T;for(var F=0;F<T;F++)v.push(TFt(M,g)),M+=g;return v.map(function(q){var V=BX(q[0],o,s,b,x,_,C),H=V.x,X=V.y,G=BX(q[1],o,s,b,x,_,C),N=G.x,W=G.y,re=BX(q[2],o,s,b,x,_,C),ae=re.x,_e=re.y;return{x1:H,y1:X,x2:N,y2:W,x:ae,y:_e}})};Bz.default=SFt;JDe.exports=Bz.default});var tze=ye((v0r,eze)=>{\"use strict\";eze.exports=EFt;var MFt=$De();function EFt(e){for(var t,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,f=0,h=e.length;f<h;f++){var d=e[f],v=d[0];switch(v){case\"M\":a=d[1],o=d[2];break;case\"A\":var x=MFt({px:u,py:c,cx:d[6],cy:d[7],rx:d[1],ry:d[2],xAxisRotation:d[3],largeArcFlag:d[4],sweepFlag:d[5]});if(!x.length)continue;for(var b=0,p;b<x.length;b++)p=x[b],d=[\"C\",p.x1,p.y1,p.x2,p.y2,p.x,p.y],b<x.length-1&&r.push(d);break;case\"S\":var E=u,k=c;(t==\"C\"||t==\"S\")&&(E+=E-n,k+=k-i),d=[\"C\",E,k,d[1],d[2],d[3],d[4]];break;case\"T\":t==\"Q\"||t==\"T\"?(s=u*2-s,l=c*2-l):(s=u,l=c),d=QDe(u,c,s,l,d[1],d[2]);break;case\"Q\":s=d[1],l=d[2],d=QDe(u,c,d[1],d[2],d[3],d[4]);break;case\"L\":d=Nz(u,c,d[1],d[2]);break;case\"H\":d=Nz(u,c,d[1],c);break;case\"V\":d=Nz(u,c,u,d[1]);break;case\"Z\":d=Nz(u,c,a,o);break}t=v,u=d[d.length-2],c=d[d.length-1],d.length>4?(n=d[d.length-4],i=d[d.length-3]):(n=u,i=c),r.push(d)}return r}function Nz(e,t,r,n){return[\"C\",e,t,r,n,r,n]}function QDe(e,t,r,n,i,a){return[\"C\",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}});var NX=ye((p0r,rze)=>{\"use strict\";rze.exports=function(t){return typeof t!=\"string\"?!1:(t=t.trim(),!!(/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\\dz]$/i.test(t)&&t.length>4))}});var aze=ye((g0r,nze)=>{\"use strict\";var kFt=XS(),CFt=OX(),LFt=tze(),PFt=NX(),ize=tE();nze.exports=IFt;function IFt(e){if(Array.isArray(e)&&e.length===1&&typeof e[0]==\"string\"&&(e=e[0]),typeof e==\"string\"&&(ize(PFt(e),\"String is not an SVG path.\"),e=kFt(e)),ize(Array.isArray(e),\"Argument should be a string or an array of path segments.\"),e=CFt(e),e=LFt(e),!e.length)return[0,0,0,0];for(var t=[1/0,1/0,-1/0,-1/0],r=0,n=e.length;r<n;r++)for(var i=e[r].slice(1),a=0;a<i.length;a+=2)i[a+0]<t[0]&&(t[0]=i[a+0]),i[a+1]<t[1]&&(t[1]=i[a+1]),i[a+0]>t[2]&&(t[2]=i[a+0]),i[a+1]>t[3]&&(t[3]=i[a+1]);return t}});var fze=ye((m0r,cze)=>{var Z2=Math.PI,oze=uze(120);cze.exports=RFt;function RFt(e){for(var t,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,f=0,h=e.length;f<h;f++){var d=e[f],v=d[0];switch(v){case\"M\":a=d[1],o=d[2];break;case\"A\":d=lze(u,c,d[1],d[2],uze(d[3]),d[4],d[5],d[6],d[7]),d.unshift(\"C\"),d.length>7&&(r.push(d.splice(0,7)),d.unshift(\"C\"));break;case\"S\":var x=u,b=c;(t==\"C\"||t==\"S\")&&(x+=x-n,b+=b-i),d=[\"C\",x,b,d[1],d[2],d[3],d[4]];break;case\"T\":t==\"Q\"||t==\"T\"?(s=u*2-s,l=c*2-l):(s=u,l=c),d=sze(u,c,s,l,d[1],d[2]);break;case\"Q\":s=d[1],l=d[2],d=sze(u,c,d[1],d[2],d[3],d[4]);break;case\"L\":d=Uz(u,c,d[1],d[2]);break;case\"H\":d=Uz(u,c,d[1],c);break;case\"V\":d=Uz(u,c,u,d[1]);break;case\"Z\":d=Uz(u,c,a,o);break}t=v,u=d[d.length-2],c=d[d.length-1],d.length>4?(n=d[d.length-4],i=d[d.length-3]):(n=u,i=c),r.push(d)}return r}function Uz(e,t,r,n){return[\"C\",e,t,r,n,r,n]}function sze(e,t,r,n,i,a){return[\"C\",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function lze(e,t,r,n,i,a,o,s,l,u){if(u)k=u[0],A=u[1],p=u[2],E=u[3];else{var c=UX(e,t,-i);e=c.x,t=c.y,c=UX(s,l,-i),s=c.x,l=c.y;var f=(e-s)/2,h=(t-l)/2,d=f*f/(r*r)+h*h/(n*n);d>1&&(d=Math.sqrt(d),r=d*r,n=d*n);var v=r*r,x=n*n,b=(a==o?-1:1)*Math.sqrt(Math.abs((v*x-v*h*h-x*f*f)/(v*h*h+x*f*f)));b==1/0&&(b=1);var p=b*r*h/n+(e+s)/2,E=b*-n*f/r+(t+l)/2,k=Math.asin(((t-E)/n).toFixed(9)),A=Math.asin(((l-E)/n).toFixed(9));k=e<p?Z2-k:k,A=s<p?Z2-A:A,k<0&&(k=Z2*2+k),A<0&&(A=Z2*2+A),o&&k>A&&(k=k-Z2*2),!o&&A>k&&(A=A-Z2*2)}if(Math.abs(A-k)>oze){var L=A,_=s,C=l;A=k+oze*(o&&A>k?1:-1),s=p+r*Math.cos(A),l=E+n*Math.sin(A);var M=lze(s,l,r,n,i,0,o,_,C,[A,L,p,E])}var g=Math.tan((A-k)/4),P=4/3*r*g,T=4/3*n*g,F=[2*e-(e+P*Math.sin(k)),2*t-(t-T*Math.cos(k)),s+P*Math.sin(A),l-T*Math.cos(A),s,l];if(u)return F;M&&(F=F.concat(M));for(var q=0;q<F.length;){var V=UX(F[q],F[q+1],i);F[q++]=V.x,F[q++]=V.y}return F}function UX(e,t,r){return{x:e*Math.cos(r)-t*Math.sin(r),y:e*Math.sin(r)+t*Math.cos(r)}}function uze(e){return e*(Z2/180)}});var dze=ye((y0r,hze)=>{var DFt=OX(),zFt=fze(),FFt={M:\"moveTo\",C:\"bezierCurveTo\"};hze.exports=function(e,t){e.beginPath(),zFt(DFt(t)).forEach(function(r){var n=r[0],i=r.slice(1);e[FFt[n]].apply(e,i)}),e.closePath()}});var mze=ye((_0r,gze)=>{\"use strict\";var qFt=VE();gze.exports=OFt;var nk=1e20;function OFt(e,t){t||(t={});var r=t.cutoff==null?.25:t.cutoff,n=t.radius==null?8:t.radius,i=t.channel||0,a,o,s,l,u,c,f,h,d,v,x;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error(\"For raw data width and height should be provided by options\");a=t.width,o=t.height,l=e,t.stride?c=t.stride:c=Math.floor(e.length/a/o)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(h=e,f=h.getContext(\"2d\"),a=h.width,o=h.height,d=f.getImageData(0,0,a,o),l=d.data,c=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(h=e.canvas,f=e,a=h.width,o=h.height,d=f.getImageData(0,0,a,o),l=d.data,c=4):window.ImageData&&e instanceof window.ImageData&&(d=e,a=e.width,o=e.height,l=d.data,c=4);if(s=Math.max(a,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(u=l,l=Array(a*o),v=0,x=u.length;v<x;v++)l[v]=u[v*c+i]/255;else if(c!==1)throw Error(\"Raw data can have only 1 value per pixel\");var b=Array(a*o),p=Array(a*o),E=Array(s),k=Array(s),A=Array(s+1),L=Array(s);for(v=0,x=a*o;v<x;v++){var _=l[v];b[v]=_===1?0:_===0?nk:Math.pow(Math.max(0,.5-_),2),p[v]=_===1?nk:_===0?0:Math.pow(Math.max(0,_-.5),2)}vze(b,a,o,E,k,L,A),vze(p,a,o,E,k,L,A);var C=window.Float32Array?new Float32Array(a*o):new Array(a*o);for(v=0,x=a*o;v<x;v++)C[v]=qFt(1-((b[v]-p[v])/n+r),0,1);return C}function vze(e,t,r,n,i,a,o){for(var s=0;s<t;s++){for(var l=0;l<r;l++)n[l]=e[l*t+s];for(pze(n,i,a,o,r),l=0;l<r;l++)e[l*t+s]=i[l]}for(l=0;l<r;l++){for(s=0;s<t;s++)n[s]=e[l*t+s];for(pze(n,i,a,o,t),s=0;s<t;s++)e[l*t+s]=Math.sqrt(i[s])}}function pze(e,t,r,n,i){r[0]=0,n[0]=-nk,n[1]=+nk;for(var a=1,o=0;a<i;a++){for(var s=(e[a]+a*a-(e[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);s<=n[o];)o--,s=(e[a]+a*a-(e[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);o++,r[o]=a,n[o]=s,n[o+1]=+nk}for(a=0,o=0;a<i;a++){for(;n[o+1]<a;)o++;t[a]=(a-r[o])*(a-r[o])+e[r[o]]}}});var _ze=ye((x0r,yze)=>{\"use strict\";var BFt=aze(),NFt=XS(),UFt=dze(),VFt=NX(),HFt=mze(),VX=document.createElement(\"canvas\"),hp=VX.getContext(\"2d\");yze.exports=GFt;function GFt(e,t){if(!VFt(e))throw Error(\"Argument should be valid svg path string\");t||(t={});var r,n;t.shape?(r=t.shape[0],n=t.shape[1]):(r=VX.width=t.w||t.width||200,n=VX.height=t.h||t.height||200);var i=Math.min(r,n),a=t.stroke||0,o=t.viewbox||t.viewBox||BFt(e),s=[r/(o[2]-o[0]),n/(o[3]-o[1])],l=Math.min(s[0]||0,s[1]||0)/2;if(hp.fillStyle=\"black\",hp.fillRect(0,0,r,n),hp.fillStyle=\"white\",a&&(typeof a!=\"number\"&&(a=1),a>0?hp.strokeStyle=\"white\":hp.strokeStyle=\"black\",hp.lineWidth=Math.abs(a)),hp.translate(r*.5,n*.5),hp.scale(l,l),jFt()){var u=new Path2D(e);hp.fill(u),a&&hp.stroke(u)}else{var c=NFt(e);UFt(hp,c),hp.fill(),a&&hp.stroke()}hp.setTransform(1,0,0,1,0,0);var f=HFt(hp,{cutoff:t.cutoff!=null?t.cutoff:.5,radius:t.radius!=null?t.radius:i*.5});return f}var Vz;function jFt(){if(Vz!=null)return Vz;var e=document.createElement(\"canvas\").getContext(\"2d\");if(e.canvas.width=e.canvas.height=1,!window.Path2D)return Vz=!1;var t=new Path2D(\"M0,0h1v1h-1v-1Z\");e.fillStyle=\"black\",e.fill(t);var r=e.getImageData(0,0,1,1);return Vz=r&&r.data&&r.data[3]===255}});var Y2=ye((b0r,Lze)=>{\"use strict\";var Gz=uo(),WFt=_ze(),Hz=$_(),ZFt=ba(),rA=Mr(),Qf=rA.isArrayOrTypedArray,eA=ao(),xze=af(),bze=$y().formatColor,tA=lu(),XFt=S3(),GX=Fz(),ak=sx(),YFt=U1().DESELECTDIM,wze={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},KFt=rp().appendArrayPointValue;function JFt(e,t){var r,n={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0},i=e._context.plotGlPixelRatio;if(t.visible!==!0)return n;if(tA.hasText(t)&&(n.text=Cze(e,t),n.textSel=Aze(e,t,t.selected),n.textUnsel=Aze(e,t,t.unselected)),tA.hasMarkers(t)&&(n.marker=WX(e,t),n.markerSel=jX(e,t,t.selected),n.markerUnsel=jX(e,t,t.unselected),!t.unselected&&Qf(t.marker.opacity))){var a=t.marker.opacity;for(n.markerUnsel.opacity=new Array(a.length),r=0;r<a.length;r++)n.markerUnsel.opacity[r]=YFt*a[r]}if(tA.hasLines(t)){n.line={overlay:!0,thickness:t.line.width*i,color:t.line.color,opacity:t.opacity};var o=(ak.DASHES[t.line.dash]||[1]).slice();for(r=0;r<o.length;++r)o[r]*=t.line.width*i;n.line.dashes=o}return t.error_x&&t.error_x.visible&&(n.errorX=Sze(t,t.error_x,i)),t.error_y&&t.error_y.visible&&(n.errorY=Sze(t,t.error_y,i)),t.fill&&t.fill!==\"none\"&&(n.fill={closed:!0,fill:t.fillcolor,thickness:0}),n}function Cze(e,t){var r=e._fullLayout,n=t._length,i=t.textfont,a=t.textposition,o=Qf(a)?a:[a],s=i.color,l=i.size,u=i.family,c=i.weight,f=i.style,h=i.variant,d={},v,x=e._context.plotGlPixelRatio,b=t.texttemplate;if(b){d.text=[];var p=r._d3locale,E=Array.isArray(b),k=E?Math.min(b.length,n):n,A=E?function(T){return b[T]}:function(){return b};for(v=0;v<k;v++){var L={i:v},_=t._module.formatLabels(L,t,r),C={};KFt(C,t,v);var M=t._meta||{};d.text.push(rA.texttemplateString(A(v),_,p,C,L,M))}}else Qf(t.text)&&t.text.length<n?d.text=t.text.slice():d.text=t.text;if(Qf(d.text))for(v=d.text.length;v<n;v++)d.text[v]=\"\";for(d.opacity=t.opacity,d.font={},d.align=[],d.baseline=[],v=0;v<o.length;v++){var g=o[v].split(/\\s+/);switch(g[1]){case\"left\":d.align.push(\"right\");break;case\"right\":d.align.push(\"left\");break;default:d.align.push(g[1])}switch(g[0]){case\"top\":d.baseline.push(\"bottom\");break;case\"bottom\":d.baseline.push(\"top\");break;default:d.baseline.push(g[0])}}if(Qf(s))for(d.color=new Array(n),v=0;v<n;v++)d.color[v]=s[v];else d.color=s;if(Qf(l)||Array.isArray(u)||Qf(c)||Array.isArray(f)||Array.isArray(h))for(d.font=new Array(n),v=0;v<n;v++){var P=d.font[v]={};P.size=(rA.isTypedArray(l)?l[v]:Qf(l)?Gz(l[v])?l[v]:0:l)*x,P.family=Array.isArray(u)?u[v]:u,P.weight=Tze(Qf(c)?c[v]:c),P.style=Array.isArray(f)?f[v]:f,P.variant=Array.isArray(h)?h[v]:h}else d.font={size:l*x,family:u,weight:Tze(c),style:f,variant:h};return d}function Tze(e){return e<=1e3?e>500?\"bold\":\"normal\":e}function WX(e,t){var r=t._length,n=t.marker,i={},a,o=Qf(n.symbol),s=Qf(n.angle),l=Qf(n.color),u=Qf(n.line.color),c=Qf(n.opacity),f=Qf(n.size),h=Qf(n.line.width),d;if(o||(d=GX.isOpenSymbol(n.symbol)),o||l||u||c||s){i.symbols=new Array(r),i.angles=new Array(r),i.colors=new Array(r),i.borderColors=new Array(r);var v=n.symbol,x=n.angle,b=bze(n,n.opacity,r),p=bze(n.line,n.opacity,r);if(!Qf(p[0])){var E=p;for(p=Array(r),a=0;a<r;a++)p[a]=E}if(!Qf(b[0])){var k=b;for(b=Array(r),a=0;a<r;a++)b[a]=k}if(!Qf(v)){var A=v;for(v=Array(r),a=0;a<r;a++)v[a]=A}if(!Qf(x)){var L=x;for(x=Array(r),a=0;a<r;a++)x[a]=L}for(i.symbols=v,i.angles=x,i.colors=b,i.borderColors=p,a=0;a<r;a++)o&&(d=GX.isOpenSymbol(n.symbol[a])),d&&(p[a]=b[a].slice(),b[a]=b[a].slice(),b[a][3]=0);for(i.opacity=t.opacity,i.markers=new Array(r),a=0;a<r;a++)i.markers[a]=kze({mx:i.symbols[a],ma:i.angles[a]},t)}else d?(i.color=Hz(n.color,\"uint8\"),i.color[3]=0,i.borderColor=Hz(n.color,\"uint8\")):(i.color=Hz(n.color,\"uint8\"),i.borderColor=Hz(n.line.color,\"uint8\")),i.opacity=t.opacity*n.opacity,i.marker=kze({mx:n.symbol,ma:n.angle},t);var _=1,C=XFt(t,_),M;if(f||h){var g=i.sizes=new Array(r),P=i.borderSizes=new Array(r),T=0,F;if(f){for(a=0;a<r;a++)g[a]=C(n.size[a]),T+=g[a];F=T/r}else for(M=C(n.size),a=0;a<r;a++)g[a]=M;if(h)for(a=0;a<r;a++)P[a]=n.line.width[a];else for(M=n.line.width,a=0;a<r;a++)P[a]=M;i.sizeAvg=F}else i.size=C(n&&n.size||10),i.borderSizes=C(n.line.width);return i}function jX(e,t,r){var n=t.marker,i={};return r&&(r.marker&&r.marker.symbol?i=WX(e,rA.extendFlat({},n,r.marker)):r.marker&&(r.marker.size&&(i.size=r.marker.size),r.marker.color&&(i.colors=r.marker.color),r.marker.opacity!==void 0&&(i.opacity=r.marker.opacity))),i}function Aze(e,t,r){var n={};if(!r)return n;if(r.textfont){var i={opacity:1,text:t.text,texttemplate:t.texttemplate,textposition:t.textposition,textfont:rA.extendFlat({},t.textfont)};r.textfont&&rA.extendFlat(i.textfont,r.textfont),n=Cze(e,i)}return n}function Sze(e,t,r){var n={capSize:t.width*2*r,lineWidth:t.thickness*r,color:t.color};return t.copy_ystyle&&(n=e.error_y),n}var Mze=ak.SYMBOL_SDF_SIZE,X2=ak.SYMBOL_SIZE,Eze=ak.SYMBOL_STROKE,HX={},$Ft=eA.symbolFuncs[0](X2*.05);function kze(e,t){var r=e.mx;if(r===\"circle\")return null;var n,i,a=eA.symbolNumber(r),o=eA.symbolFuncs[a%100],s=!!eA.symbolNoDot[a%100],l=!!eA.symbolNoFill[a%100],u=GX.isDotSymbol(r);if(e.ma&&(r+=\"_\"+e.ma),HX[r])return HX[r];var c=eA.getMarkerAngle(e,t);return u&&!s?n=o(X2*1.1,c)+$Ft:n=o(X2,c),i=WFt(n,{w:Mze,h:Mze,viewBox:[-X2,-X2,X2,X2],stroke:l?Eze:-Eze}),HX[r]=i,i||null}function QFt(e,t,r){var n=r.length,i=n/2,a,o;if(tA.hasLines(t)&&i)if(t.line.shape===\"hv\"){for(a=[],o=0;o<i-1;o++)isNaN(r[o*2])||isNaN(r[o*2+1])?a.push(NaN,NaN,NaN,NaN):(a.push(r[o*2],r[o*2+1]),!isNaN(r[o*2+2])&&!isNaN(r[o*2+3])?a.push(r[o*2+2],r[o*2+1]):a.push(NaN,NaN));a.push(r[n-2],r[n-1])}else if(t.line.shape===\"hvh\"){for(a=[],o=0;o<i-1;o++)if(isNaN(r[o*2])||isNaN(r[o*2+1])||isNaN(r[o*2+2])||isNaN(r[o*2+3]))!isNaN(r[o*2])&&!isNaN(r[o*2+1])?a.push(r[o*2],r[o*2+1]):a.push(NaN,NaN),a.push(NaN,NaN);else{var s=(r[o*2]+r[o*2+2])/2;a.push(r[o*2],r[o*2+1],s,r[o*2+1],s,r[o*2+3])}a.push(r[n-2],r[n-1])}else if(t.line.shape===\"vhv\"){for(a=[],o=0;o<i-1;o++)if(isNaN(r[o*2])||isNaN(r[o*2+1])||isNaN(r[o*2+2])||isNaN(r[o*2+3]))!isNaN(r[o*2])&&!isNaN(r[o*2+1])?a.push(r[o*2],r[o*2+1]):a.push(NaN,NaN),a.push(NaN,NaN);else{var l=(r[o*2+1]+r[o*2+3])/2;a.push(r[o*2],r[o*2+1],r[o*2],l,r[o*2+2],l)}a.push(r[n-2],r[n-1])}else if(t.line.shape===\"vh\"){for(a=[],o=0;o<i-1;o++)isNaN(r[o*2])||isNaN(r[o*2+1])?a.push(NaN,NaN,NaN,NaN):(a.push(r[o*2],r[o*2+1]),!isNaN(r[o*2+2])&&!isNaN(r[o*2+3])?a.push(r[o*2],r[o*2+3]):a.push(NaN,NaN));a.push(r[n-2],r[n-1])}else a=r;var u=!1;for(o=0;o<a.length;o++)if(isNaN(a[o])){u=!0;break}var c=u||a.length>ak.TOO_MANY_POINTS||tA.hasMarkers(t)?\"rect\":\"round\";if(u&&t.connectgaps){var f=a[0],h=a[1];for(o=0;o<a.length;o+=2)isNaN(a[o])||isNaN(a[o+1])?(a[o]=f,a[o+1]=h):(f=a[o],h=a[o+1])}return{join:c,positions:a}}function e7t(e,t,r,n,i){var a=ZFt.getComponentMethod(\"errorbars\",\"makeComputeError\"),o=xze.getFromId(e,t.xaxis,\"x\"),s=xze.getFromId(e,t.yaxis,\"y\"),l=r.length/2,u={};function c(f,h){var d=h._id.charAt(0),v=t[\"error_\"+d];if(v&&v.visible&&(h.type===\"linear\"||h.type===\"log\")){for(var x=a(v),b={x:0,y:1}[d],p={x:[0,1,2,3],y:[2,3,0,1]}[d],E=new Float64Array(4*l),k=1/0,A=-1/0,L=0,_=0;L<l;L++,_+=4){var C=f[L];if(Gz(C)){var M=r[L*2+b],g=x(C,L),P=g[0],T=g[1];if(Gz(P)&&Gz(T)){var F=C-P,q=C+T;E[_+p[0]]=M-h.c2l(F),E[_+p[1]]=h.c2l(q)-M,E[_+p[2]]=0,E[_+p[3]]=0,k=Math.min(k,C-P),A=Math.max(A,C+T)}}}u[d]={positions:r,errors:E,_bnds:[k,A]}}}return c(n,o),c(i,s),u}function t7t(e,t,r,n){var i=t._length,a={},o;if(tA.hasMarkers(t)){var s=r.font,l=r.align,u=r.baseline;for(a.offset=new Array(i),o=0;o<i;o++){var c=n.sizes?n.sizes[o]:n.size,f=Qf(s)?s[o].size:s.size,h=Qf(l)?l.length>1?l[o]:l[0]:l,d=Qf(u)?u.length>1?u[o]:u[0]:u,v=wze[h],x=wze[d],b=c?c/.8+1:0,p=-x*b-x*.5;a.offset[o]=[v*b/f,p/f]}}return a}Lze.exports={style:JFt,markerStyle:WX,markerSelection:jX,linePositions:QFt,errorBarPositions:e7t,textPosition:t7t}});var ZX=ye((w0r,Pze)=>{\"use strict\";var jz=Mr();Pze.exports=function(t,r){var n=r._scene,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},a={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return r._scene||(n=r._scene={},n.init=function(){jz.extendFlat(n,a,i)},n.init(),n.update=function(s){var l=jz.repeat(s,n.count);if(n.fill2d&&n.fill2d.update(l),n.scatter2d&&n.scatter2d.update(l),n.line2d&&n.line2d.update(l),n.error2d&&n.error2d.update(l.concat(l)),n.select2d&&n.select2d.update(l),n.glText)for(var u=0;u<n.count;u++)n.glText[u].update(s)},n.draw=function(){for(var s=n.count,l=n.fill2d,u=n.error2d,c=n.line2d,f=n.scatter2d,h=n.glText,d=n.select2d,v=n.selectBatch,x=n.unselectBatch,b=0;b<s;b++){if(l&&n.fillOrder[b]&&l.draw(n.fillOrder[b]),c&&n.lineOptions[b]&&c.draw(b),u&&(n.errorXOptions[b]&&u.draw(b),n.errorYOptions[b]&&u.draw(b+s)),f&&n.markerOptions[b])if(x[b].length){var p=jz.repeat([],n.count);p[b]=x[b],f.draw(p)}else v[b].length||f.draw(b);h[b]&&n.textOptions[b]&&h[b].render()}d&&d.draw(v),n.dirty=!1},n.destroy=function(){n.fill2d&&n.fill2d.destroy&&n.fill2d.destroy(),n.scatter2d&&n.scatter2d.destroy&&n.scatter2d.destroy(),n.error2d&&n.error2d.destroy&&n.error2d.destroy(),n.line2d&&n.line2d.destroy&&n.line2d.destroy(),n.select2d&&n.select2d.destroy&&n.select2d.destroy(),n.glText&&n.glText.forEach(function(s){s.destroy&&s.destroy()}),n.lineOptions=null,n.fillOptions=null,n.markerOptions=null,n.markerSelectedOptions=null,n.markerUnselectedOptions=null,n.errorXOptions=null,n.errorYOptions=null,n.textOptions=null,n.textSelectedOptions=null,n.textUnselectedOptions=null,n.selectBatch=null,n.unselectBatch=null,r._scene=null}),n.dirty||jz.extendFlat(n,i),n}});var qze=ye((T0r,Fze)=>{\"use strict\";var r7t=Oz(),iA=Mr(),Ize=af(),i7t=wg().findExtremes,Rze=Rg(),XX=q0(),n7t=XX.calcMarkerSize,a7t=XX.calcAxisExpansion,o7t=XX.setFirstScatter,s7t=z0(),nA=Y2(),l7t=ZX(),Dze=es().BADNUM,u7t=sx().TOO_MANY_POINTS;Fze.exports=function(t,r){var n=t._fullLayout,i=r._xA=Ize.getFromId(t,r.xaxis,\"x\"),a=r._yA=Ize.getFromId(t,r.yaxis,\"y\"),o=n._plots[r.xaxis+r.yaxis],s=r._length,l=s>=u7t,u=s*2,c={},f,h=i.makeCalcdata(r,\"x\"),d=a.makeCalcdata(r,\"y\"),v=Rze(r,i,\"x\",h),x=Rze(r,a,\"y\",d),b=v.vals,p=x.vals;r._x=b,r._y=p,r.xperiodalignment&&(r._origX=h,r._xStarts=v.starts,r._xEnds=v.ends),r.yperiodalignment&&(r._origY=d,r._yStarts=x.starts,r._yEnds=x.ends);var E=new Array(u),k=new Array(s);for(f=0;f<s;f++)E[f*2]=b[f]===Dze?NaN:b[f],E[f*2+1]=p[f]===Dze?NaN:p[f],k[f]=f;if(i.type===\"log\")for(f=0;f<u;f+=2)E[f]=i.c2l(E[f]);if(a.type===\"log\")for(f=1;f<u;f+=2)E[f]=a.c2l(E[f]);l&&i.type!==\"log\"&&a.type!==\"log\"?c.tree=r7t(E):c.ids=k,s7t(t,r);var A=c7t(t,o,r,E,b,p),L=l7t(t,o);o7t(n,r);var _;return l?A.marker&&(_=A.marker.sizeAvg||Math.max(A.marker.size,3)):_=n7t(r,s),a7t(t,r,i,a,b,p,_),A.errorX&&zze(r,i,A.errorX),A.errorY&&zze(r,a,A.errorY),A.fill&&!L.fill2d&&(L.fill2d=!0),A.marker&&!L.scatter2d&&(L.scatter2d=!0),A.line&&!L.line2d&&(L.line2d=!0),(A.errorX||A.errorY)&&!L.error2d&&(L.error2d=!0),A.text&&!L.glText&&(L.glText=!0),A.marker&&(A.marker.snap=s),L.lineOptions.push(A.line),L.errorXOptions.push(A.errorX),L.errorYOptions.push(A.errorY),L.fillOptions.push(A.fill),L.markerOptions.push(A.marker),L.markerSelectedOptions.push(A.markerSel),L.markerUnselectedOptions.push(A.markerUnsel),L.textOptions.push(A.text),L.textSelectedOptions.push(A.textSel),L.textUnselectedOptions.push(A.textUnsel),L.selectBatch.push([]),L.unselectBatch.push([]),c._scene=L,c.index=L.count,c.x=b,c.y=p,c.positions=E,L.count++,[{x:!1,y:!1,t:c,trace:r}]};function zze(e,t,r){var n=e._extremes[t._id],i=i7t(t,r._bnds,{padded:!0});n.min=n.min.concat(i.min),n.max=n.max.concat(i.max)}function c7t(e,t,r,n,i,a){var o=nA.style(e,r);if(o.marker&&(o.marker.positions=n),o.line&&n.length>1&&iA.extendFlat(o.line,nA.linePositions(e,r,n)),o.errorX||o.errorY){var s=nA.errorBarPositions(e,r,n,i,a);o.errorX&&iA.extendFlat(o.errorX,s.x),o.errorY&&iA.extendFlat(o.errorY,s.y)}return o.text&&(iA.extendFlat(o.text,{positions:n},nA.textPosition(e,r,o.text,o.marker)),iA.extendFlat(o.textSel,{positions:n},nA.textPosition(e,r,o.text,o.markerSel)),iA.extendFlat(o.textUnsel,{positions:n},nA.textPosition(e,r,o.text,o.markerUnsel))),o}});var YX=ye((A0r,Bze)=>{\"use strict\";var Oze=Mr(),f7t=va(),h7t=U1().DESELECTDIM;function d7t(e){var t=e[0],r=t.trace,n=t.t,i=n._scene,a=n.index,o=i.selectBatch[a],s=i.unselectBatch[a],l=i.textOptions[a],u=i.textSelectedOptions[a]||{},c=i.textUnselectedOptions[a]||{},f=Oze.extendFlat({},l),h,d;if(o.length||s.length){var v=u.color,x=c.color,b=l.color,p=Oze.isArrayOrTypedArray(b);for(f.color=new Array(r._length),h=0;h<o.length;h++)d=o[h],f.color[d]=v||(p?b[d]:b);for(h=0;h<s.length;h++){d=s[h];var E=p?b[d]:b;f.color[d]=x||(v?E:f7t.addOpacity(E,h7t))}}i.glText[a].update(f)}Bze.exports={styleTextSelection:d7t}});var KX=ye((S0r,Uze)=>{\"use strict\";var Nze=lu(),v7t=YX().styleTextSelection;Uze.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l=n[0].t,u=s._length,c=l.x,f=l.y,h=l._scene,d=l.index;if(!h)return o;var v=Nze.hasText(s),x=Nze.hasMarkers(s),b=!x&&!v;if(s.visible!==!0||b)return o;var p=[],E=[];if(r!==!1&&!r.degenerate)for(var k=0;k<u;k++)r.contains([l.xpx[k],l.ypx[k]],!1,k,t)?(p.push(k),o.push({pointNumber:k,x:i.c2d(c[k]),y:a.c2d(f[k])})):E.push(k);if(x){var A=h.scatter2d;if(!p.length&&!E.length){var L=new Array(h.count);L[d]=h.markerOptions[d],A.update.apply(A,L)}else if(!h.selectBatch[d].length&&!h.unselectBatch[d].length){var _=new Array(h.count);_[d]=h.markerUnselectedOptions[d],A.update.apply(A,_)}}return h.selectBatch[d]=p,h.unselectBatch[d]=E,v&&v7t(n),o}});var Hze=ye((M0r,Vze)=>{\"use strict\";var p7t=zz();Vze.exports={moduleType:\"trace\",name:\"scattergl\",basePlotModule:Jf(),categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\"],attributes:tk(),supplyDefaults:ADe(),crossTraceDefaults:$N(),colorbar:Kd(),formatLabels:MDe(),calc:qze(),hoverPoints:p7t.hoverPoints,selectPoints:KX(),meta:{}}});var jze=ye((E0r,Zz)=>{\"use strict\";var Wz=VE();Zz.exports=Gze;Zz.exports.to=Gze;Zz.exports.from=g7t;function Gze(e,t){t==null&&(t=!0);var r=e[0],n=e[1],i=e[2],a=e[3];a==null&&(a=t?1:255),t&&(r*=255,n*=255,i*=255,a*=255),r=Wz(r,0,255)&255,n=Wz(n,0,255)&255,i=Wz(i,0,255)&255,a=Wz(a,0,255)&255;var o=r*16777216+(n<<16)+(i<<8)+a;return o}function g7t(e,t){e=+e;var r=e>>>24,n=(e&16711680)>>>16,i=(e&65280)>>>8,a=e&255;return t===!1?[r,n,i,a]:[r/255,n/255,i/255,a/255]}});var bh=ye((k0r,Zze)=>{\"use strict\";var Wze=Object.getOwnPropertySymbols,m7t=Object.prototype.hasOwnProperty,y7t=Object.prototype.propertyIsEnumerable;function _7t(e){if(e==null)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}function x7t(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",Object.getOwnPropertyNames(e)[0]===\"5\")return!1;for(var t={},r=0;r<10;r++)t[\"_\"+String.fromCharCode(r)]=r;var n=Object.getOwnPropertyNames(t).map(function(a){return t[a]});if(n.join(\"\")!==\"0123456789\")return!1;var i={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(a){i[a]=a}),Object.keys(Object.assign({},i)).join(\"\")===\"abcdefghijklmnopqrst\"}catch(a){return!1}}Zze.exports=x7t()?Object.assign:function(e,t){for(var r,n=_7t(e),i,a=1;a<arguments.length;a++){r=Object(arguments[a]);for(var o in r)m7t.call(r,o)&&(n[o]=r[o]);if(Wze){i=Wze(r);for(var s=0;s<i.length;s++)y7t.call(r,i[s])&&(n[i[s]]=r[i[s]])}}return n}});var Yze=ye((C0r,Xze)=>{Xze.exports=function(e){typeof e==\"string\"&&(e=[e]);for(var t=[].slice.call(arguments,1),r=[],n=0;n<e.length-1;n++)r.push(e[n],t[n]||\"\");return r.push(e[n]),r.join(\"\")}});var JX=ye((L0r,Kze)=>{\"use strict\";Kze.exports=function(t,r,n){Array.isArray(n)||(n=[].slice.call(arguments,2));for(var i=0,a=n.length;i<a;i++){var o=n[i];for(var s in o)if(!(r[s]!==void 0&&!Array.isArray(r[s])&&t[s]===r[s])&&s in r){var l;if(o[s]===!0)l=r[s];else{if(o[s]===!1)continue;if(typeof o[s]==\"function\"&&(l=o[s](r[s],t,r),l===void 0))continue}t[s]=l}}return t}});var $ze=ye((P0r,Jze)=>{\"use strict\";Jze.exports=typeof navigator!=\"undefined\"&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion))});var Xz=ye((I0r,aA)=>{\"use strict\";aA.exports=ok;aA.exports.float32=aA.exports.float=ok;aA.exports.fract32=aA.exports.fract=b7t;var Qze=new Float32Array(1);function b7t(e,t){if(e.length){if(e instanceof Float32Array)return new Float32Array(e.length);t instanceof Float32Array||(t=ok(e));for(var r=0,n=t.length;r<n;r++)t[r]=e[r]-t[r];return t}return ok(e-ok(e))}function ok(e){return e.length?e instanceof Float32Array?e:new Float32Array(e):(Qze[0]=e,Qze[0])}});var QX=ye((R0r,rFe)=>{\"use strict\";function w7t(e,t){var r=e==null?null:typeof Symbol!=\"undefined\"&&e[Symbol.iterator]||e[\"@@iterator\"];if(r!=null){var n,i,a,o,s=[],l=!0,u=!1;try{if(a=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(c){u=!0,i=c}finally{try{if(!l&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}function T7t(e,t){return M7t(e)||w7t(e,t)||tFe(e,t)||C7t()}function A7t(e){return S7t(e)||E7t(e)||tFe(e)||k7t()}function S7t(e){if(Array.isArray(e))return $X(e)}function M7t(e){if(Array.isArray(e))return e}function E7t(e){if(typeof Symbol!=\"undefined\"&&e[Symbol.iterator]!=null||e[\"@@iterator\"]!=null)return Array.from(e)}function tFe(e,t){if(e){if(typeof e==\"string\")return $X(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r===\"Object\"&&e.constructor&&(r=e.constructor.name),r===\"Map\"||r===\"Set\")return Array.from(e);if(r===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $X(e,t)}}function $X(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function k7t(){throw new TypeError(`Invalid attempt to spread non-iterable instance.\n", - "In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function C7t(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.\n", - "In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var L7t=$_(),P7t=j2(),I7t=jze(),R7t=Oz(),K2=bh(),Yz=Yze(),D7t=Zm(),z7t=JX(),F7t=W2(),eFe=$ze(),Kz=Xz(),q7t=Q5(),O7t=rv;function rv(e,t){var r=this;if(!(this instanceof rv))return new rv(e,t);typeof e==\"function\"?(t||(t={}),t.regl=e):(t=e,e=null),t&&t.length&&(t.positions=t),e=t.regl;var n=e._gl,i,a=[],o={},s=[],l=[null],u=[null],c=255,f=100;this.tooManyColors=eFe,i=e.texture({data:new Uint8Array(c*4),width:c,height:1,type:\"uint8\",format:\"rgba\",wrapS:\"clamp\",wrapT:\"clamp\",mag:\"nearest\",min:\"nearest\"}),K2(this,{regl:e,gl:n,groups:s,markerCache:u,markerTextures:l,palette:a,paletteIds:o,paletteTexture:i,maxColors:c,maxSize:f,canvas:n.canvas}),this.update(t);var h={uniforms:{constPointSize:!!t.constPointSize,opacity:e.prop(\"opacity\"),paletteSize:function(b,p){return[r.tooManyColors?0:c,i.height]},pixelRatio:e.context(\"pixelRatio\"),scale:e.prop(\"scale\"),scaleFract:e.prop(\"scaleFract\"),translate:e.prop(\"translate\"),translateFract:e.prop(\"translateFract\"),markerTexture:e.prop(\"markerTexture\"),paletteTexture:i},attributes:{x:function(b,p){return p.xAttr||{buffer:p.positionBuffer,stride:8,offset:0}},y:function(b,p){return p.yAttr||{buffer:p.positionBuffer,stride:8,offset:4}},xFract:function(b,p){return p.xAttr?{constant:[0,0]}:{buffer:p.positionFractBuffer,stride:8,offset:0}},yFract:function(b,p){return p.yAttr?{constant:[0,0]}:{buffer:p.positionFractBuffer,stride:8,offset:4}},size:function(b,p){return p.size.length?{buffer:p.sizeBuffer,stride:2,offset:0}:{constant:[Math.round(p.size*255/r.maxSize)]}},borderSize:function(b,p){return p.borderSize.length?{buffer:p.sizeBuffer,stride:2,offset:1}:{constant:[Math.round(p.borderSize*255/r.maxSize)]}},colorId:function(b,p){return p.color.length?{buffer:p.colorBuffer,stride:r.tooManyColors?8:4,offset:0}:{constant:r.tooManyColors?a.slice(p.color*4,p.color*4+4):[p.color]}},borderColorId:function(b,p){return p.borderColor.length?{buffer:p.colorBuffer,stride:r.tooManyColors?8:4,offset:r.tooManyColors?4:2}:{constant:r.tooManyColors?a.slice(p.borderColor*4,p.borderColor*4+4):[p.borderColor]}},isActive:function(b,p){return p.activation===!0?{constant:[1]}:p.activation?p.activation:{constant:[0]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},scissor:{enable:!0,box:e.prop(\"viewport\")},viewport:e.prop(\"viewport\"),stencil:{enable:!1},depth:{enable:!1},elements:e.prop(\"elements\"),count:e.prop(\"count\"),offset:e.prop(\"offset\"),primitive:\"points\"},d=K2({},h);d.frag=Yz([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform float opacity;\n", - "uniform sampler2D markerTexture;\n", - "\n", - "varying vec4 fragColor, fragBorderColor;\n", - "varying float fragWidth, fragBorderColorLevel, fragColorLevel;\n", - "\n", - "float smoothStep(float x, float y) {\n", - " return 1.0 / (1.0 + exp(50.0*(x - y)));\n", - "}\n", - "\n", - "void main() {\n", - " float dist = texture2D(markerTexture, gl_PointCoord).r, delta = fragWidth;\n", - "\n", - " // max-distance alpha\n", - " if (dist < 0.003) discard;\n", - "\n", - " // null-border case\n", - " if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) {\n", - " float colorAmt = smoothstep(.5 - delta, .5 + delta, dist);\n", - " gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a * opacity);\n", - " }\n", - " else {\n", - " float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist);\n", - " float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist);\n", - "\n", - " vec4 color = fragBorderColor;\n", - " color.a *= borderColorAmt;\n", - " color = mix(color, fragColor, colorAmt);\n", - " color.a *= opacity;\n", - "\n", - " gl_FragColor = color;\n", - " }\n", - "\n", - "}\n", - "`]),d.vert=Yz([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute float x, y, xFract, yFract;\n", - "attribute float size, borderSize;\n", - "attribute vec4 colorId, borderColorId;\n", - "attribute 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.\n", - "invariant gl_Position;\n", - "\n", - "uniform bool constPointSize;\n", - "uniform float pixelRatio;\n", - "uniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\n", - "uniform sampler2D paletteTexture;\n", - "\n", - "const float maxSize = 100.;\n", - "const float borderLevel = .5;\n", - "\n", - "varying vec4 fragColor, fragBorderColor;\n", - "varying float fragPointSize, fragBorderRadius, fragWidth, fragBorderColorLevel, fragColorLevel;\n", - "\n", - "float pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n", - "\n", - "bool isDirect = (paletteSize.x < 1.);\n", - "\n", - "vec4 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", - "\n", - "void main() {\n", - " // ignore inactive points\n", - " if (isActive == 0.) return;\n", - "\n", - " vec2 position = vec2(x, y);\n", - " vec2 positionFract = vec2(xFract, yFract);\n", - "\n", - " vec4 color = getColor(colorId);\n", - " vec4 borderColor = getColor(borderColorId);\n", - "\n", - " float size = size * maxSize / 255.;\n", - " float borderSize = borderSize * maxSize / 255.;\n", - "\n", - " gl_PointSize = 2. * size * pointSizeScale;\n", - " fragPointSize = size * pixelRatio;\n", - "\n", - " vec2 pos = (position + translate) * scale\n", - " + (positionFract + translateFract) * scale\n", - " + (position + translate) * scaleFract\n", - " + (positionFract + translateFract) * scaleFract;\n", - "\n", - " gl_Position = vec4(pos * 2. - 1., 0., 1.);\n", - "\n", - " fragColor = color;\n", - " fragBorderColor = borderColor;\n", - " fragWidth = 1. / gl_PointSize;\n", - "\n", - " fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.);\n", - " fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.);\n", - "}\n", - "`]),this.drawMarker=e(d);var v=K2({},h);v.frag=Yz([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "varying vec4 fragColor, fragBorderColor;\n", - "varying float fragBorderRadius, fragWidth;\n", - "\n", - "uniform float opacity;\n", - "\n", - "float smoothStep(float edge0, float edge1, float x) {\n", - "\tfloat t;\n", - "\tt = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n", - "\treturn t * t * (3.0 - 2.0 * t);\n", - "}\n", - "\n", - "void main() {\n", - "\tfloat radius, alpha = 1.0, delta = fragWidth;\n", - "\n", - "\tradius = length(2.0 * gl_PointCoord.xy - 1.0);\n", - "\n", - "\tif (radius > 1.0 + delta) {\n", - "\t\tdiscard;\n", - "\t}\n", - "\n", - "\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n", - "\n", - "\tfloat borderRadius = fragBorderRadius;\n", - "\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n", - "\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n", - "\tcolor.a *= alpha * opacity;\n", - "\tgl_FragColor = color;\n", - "}\n", - "`]),v.vert=Yz([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute float x, y, xFract, yFract;\n", - "attribute float size, borderSize;\n", - "attribute vec4 colorId, borderColorId;\n", - "attribute 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.\n", - "invariant gl_Position;\n", - "\n", - "uniform bool constPointSize;\n", - "uniform float pixelRatio;\n", - "uniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\n", - "uniform sampler2D paletteTexture;\n", - "\n", - "const float maxSize = 100.;\n", - "\n", - "varying vec4 fragColor, fragBorderColor;\n", - "varying float fragBorderRadius, fragWidth;\n", - "\n", - "float pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n", - "\n", - "bool isDirect = (paletteSize.x < 1.);\n", - "\n", - "vec4 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", - "\n", - "void 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", - "`]),eFe&&(v.frag=v.frag.replace(\"smoothstep\",\"smoothStep\"),d.frag=d.frag.replace(\"smoothstep\",\"smoothStep\")),this.drawCircle=e(v)}rv.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};rv.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this};rv.prototype.draw=function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];var i=this.groups;if(r.length===1&&Array.isArray(r[0])&&(r[0][0]===null||Array.isArray(r[0][0]))&&(r=r[0]),this.regl._refresh(),r.length)for(var a=0;a<r.length;a++)this.drawItem(a,r[a]);else i.forEach(function(o,s){e.drawItem(s)});return this};rv.prototype.drawItem=function(e,t){var r=this.groups,n=r[e];if(typeof t==\"number\"&&(e=t,n=r[t],t=null),!!(n&&n.count&&n.opacity)){n.activation[0]&&this.drawCircle(this.getMarkerDrawOptions(0,n,t));for(var i=[],a=1;a<n.activation.length;a++)!n.activation[a]||n.activation[a]!==!0&&!n.activation[a].data.length||i.push.apply(i,A7t(this.getMarkerDrawOptions(a,n,t)));i.length&&this.drawMarker(i)}};rv.prototype.getMarkerDrawOptions=function(e,t,r){var n=t.range,i=t.tree,a=t.viewport,o=t.activation,s=t.selectionBuffer,l=t.count,u=this.regl;if(!i)return r?[K2({},t,{markerTexture:this.markerTextures[e],activation:o[e],count:r.length,elements:r,offset:0})]:[K2({},t,{markerTexture:this.markerTextures[e],activation:o[e],offset:0})];var c=[],f=i.range(n,{lod:!0,px:[(n[2]-n[0])/a.width,(n[3]-n[1])/a.height]});if(r){for(var h=o[e],d=h.data,v=new Uint8Array(l),x=0;x<r.length;x++){var b=r[x];v[b]=d?d[b]:1}s.subdata(v)}for(var p=f.length;p--;){var E=T7t(f[p],2),k=E[0],A=E[1];c.push(K2({},t,{markerTexture:this.markerTextures[e],activation:r?s:o[e],offset:k,count:A-k}))}return c};rv.prototype.update=function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];if(r.length){r.length===1&&Array.isArray(r[0])&&(r=r[0]);var i=this.groups,a=this.gl,o=this.regl,s=this.maxSize,l=this.maxColors,u=this.palette;this.groups=i=r.map(function(c,f){var h=i[f];if(c===void 0)return h;c===null?c={positions:null}:typeof c==\"function\"?c={ondraw:c}:typeof c[0]==\"number\"&&(c={positions:c}),c=D7t(c,{positions:\"positions data points\",snap:\"snap cluster lod tree\",size:\"sizes size radius\",borderSize:\"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline\",color:\"colors color fill fill-color fillColor\",borderColor:\"borderColors borderColor stroke stroke-color strokeColor\",marker:\"markers marker shape\",range:\"range dataBox databox\",viewport:\"viewport viewPort viewBox viewbox\",opacity:\"opacity alpha transparency\",bounds:\"bound bounds boundaries limits\",tooManyColors:\"tooManyColors palette paletteMode optimizePalette enablePalette\"}),c.positions===null&&(c.positions=[]),c.tooManyColors!=null&&(e.tooManyColors=c.tooManyColors),h||(i[f]=h={id:f,scale:null,translate:null,scaleFract:null,translateFract:null,activation:[],selectionBuffer:o.buffer({data:new Uint8Array(0),usage:\"stream\",type:\"uint8\"}),sizeBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"uint8\"}),colorBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"uint8\"}),positionBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"float\"}),positionFractBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"float\"})},c=K2({},rv.defaults,c)),c.positions&&!(\"marker\"in c)&&(c.marker=h.marker,delete h.marker),c.marker&&!(\"positions\"in c)&&(c.positions=h.positions,delete h.positions);var d=0,v=0;if(z7t(h,c,[{snap:!0,size:function(G,N){return G==null&&(G=rv.defaults.size),d+=G&&G.length?1:0,G},borderSize:function(G,N){return G==null&&(G=rv.defaults.borderSize),d+=G&&G.length?1:0,G},opacity:parseFloat,color:function(G,N){return G==null&&(G=rv.defaults.color),G=e.updateColor(G),v++,G},borderColor:function(G,N){return G==null&&(G=rv.defaults.borderColor),G=e.updateColor(G),v++,G},bounds:function(G,N,W){return\"range\"in W||(W.range=null),G},positions:function(G,N,W){var re=N.snap,ae=N.positionBuffer,_e=N.positionFractBuffer,Me=N.selectionBuffer;if(G.x||G.y)return G.x.length?N.xAttr={buffer:o.buffer(G.x),offset:0,stride:4,count:G.x.length}:N.xAttr={buffer:G.x.buffer,offset:G.x.offset*4||0,stride:(G.x.stride||1)*4,count:G.x.count},G.y.length?N.yAttr={buffer:o.buffer(G.y),offset:0,stride:4,count:G.y.length}:N.yAttr={buffer:G.y.buffer,offset:G.y.offset*4||0,stride:(G.y.stride||1)*4,count:G.y.count},N.count=Math.max(N.xAttr.count,N.yAttr.count),G;G=F7t(G,\"float64\");var ke=N.count=Math.floor(G.length/2),ge=N.bounds=ke?P7t(G,2):null;if(!W.range&&!N.range&&(delete N.range,W.range=ge),!W.marker&&!N.marker&&(delete N.marker,W.marker=null),re&&(re===!0||ke>re)?N.tree=R7t(G,{bounds:ge}):re&&re.length&&(N.tree=re),N.tree){var ie={primitive:\"points\",usage:\"static\",data:N.tree,type:\"uint32\"};N.elements?N.elements(ie):N.elements=o.elements(ie)}var Te=Kz.float32(G);ae({data:Te,usage:\"dynamic\"});var Ee=Kz.fract32(G,Te);return _e({data:Ee,usage:\"dynamic\"}),Me({data:new Uint8Array(ke),type:\"uint8\",usage:\"stream\"}),G}},{marker:function(G,N,W){var re=N.activation;if(re.forEach(function(Ee){return Ee&&Ee.destroy&&Ee.destroy()}),re.length=0,!G||typeof G[0]==\"number\"){var ae=e.addMarker(G);re[ae]=!0}else{for(var _e=[],Me=0,ke=Math.min(G.length,N.count);Me<ke;Me++){var ge=e.addMarker(G[Me]);_e[ge]||(_e[ge]=new Uint8Array(N.count)),_e[ge][Me]=1}for(var ie=0;ie<_e.length;ie++)if(_e[ie]){var Te={data:_e[ie],type:\"uint8\",usage:\"static\"};re[ie]?re[ie](Te):re[ie]=o.buffer(Te),re[ie].data=_e[ie]}}return G},range:function(G,N,W){var re=N.bounds;if(re)return G||(G=re),N.scale=[1/(G[2]-G[0]),1/(G[3]-G[1])],N.translate=[-G[0],-G[1]],N.scaleFract=Kz.fract(N.scale),N.translateFract=Kz.fract(N.translate),G},viewport:function(G){var N=q7t(G||[a.drawingBufferWidth,a.drawingBufferHeight]);return N}}]),d){var x=h,b=x.count,p=x.size,E=x.borderSize,k=x.sizeBuffer,A=new Uint8Array(b*2);if(p.length||E.length)for(var L=0;L<b;L++)A[L*2]=Math.round((p[L]==null?p:p[L])*255/s),A[L*2+1]=Math.round((E[L]==null?E:E[L])*255/s);k({data:A,usage:\"dynamic\"})}if(v){var _=h,C=_.count,M=_.color,g=_.borderColor,P=_.colorBuffer,T;if(e.tooManyColors){if(M.length||g.length){T=new Uint8Array(C*8);for(var F=0;F<C;F++){var q=M[F];T[F*8]=u[q*4],T[F*8+1]=u[q*4+1],T[F*8+2]=u[q*4+2],T[F*8+3]=u[q*4+3];var V=g[F];T[F*8+4]=u[V*4],T[F*8+5]=u[V*4+1],T[F*8+6]=u[V*4+2],T[F*8+7]=u[V*4+3]}}}else if(M.length||g.length){T=new Uint8Array(C*4+2);for(var H=0;H<C;H++)M[H]!=null&&(T[H*4]=M[H]%l,T[H*4+1]=Math.floor(M[H]/l)),g[H]!=null&&(T[H*4+2]=g[H]%l,T[H*4+3]=Math.floor(g[H]/l))}P({data:T||new Uint8Array(0),type:\"uint8\",usage:\"dynamic\"})}return h})}};rv.prototype.addMarker=function(e){var t=this.markerTextures,r=this.regl,n=this.markerCache,i=e==null?0:n.indexOf(e);if(i>=0)return i;var a;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)a=e;else{a=new Uint8Array(e.length);for(var o=0,s=e.length;o<s;o++)a[o]=e[o]*255}var l=Math.floor(Math.sqrt(a.length));return i=t.length,n.push(e),t.push(r.texture({channels:1,data:a,radius:l,mag:\"linear\",min:\"linear\"})),i};rv.prototype.updateColor=function(e){var t=this.paletteIds,r=this.palette,n=this.maxColors;Array.isArray(e)||(e=[e]);var i=[];if(typeof e[0]==\"number\"){var a=[];if(Array.isArray(e))for(var o=0;o<e.length;o+=4)a.push(e.slice(o,o+4));else for(var s=0;s<e.length;s+=4)a.push(e.subarray(s,s+4));e=a}for(var l=0;l<e.length;l++){var u=e[l];u=L7t(u,\"uint8\");var c=I7t(u,!1);if(t[c]==null){var f=r.length;t[c]=Math.floor(f/4),r[f]=u[0],r[f+1]=u[1],r[f+2]=u[2],r[f+3]=u[3]}i[l]=t[c]}return!this.tooManyColors&&r.length>n*4&&(this.tooManyColors=!0),this.updatePalette(r),i.length===1?i[0]:i};rv.prototype.updatePalette=function(e){if(!this.tooManyColors){var t=this.maxColors,r=this.paletteTexture,n=Math.ceil(e.length*.25/t);if(n>1){e=e.slice();for(var i=e.length*.25%t;i<n*t;i++)e.push(0,0,0,0)}r.height<n&&r.resize(t,n),r.subimage({width:Math.min(e.length*.25,t),height:n,data:e},0,0)}};rv.prototype.destroy=function(){return this.groups.forEach(function(e){e.sizeBuffer.destroy(),e.positionBuffer.destroy(),e.positionFractBuffer.destroy(),e.colorBuffer.destroy(),e.activation.forEach(function(t){return t&&t.destroy&&t.destroy()}),e.selectionBuffer.destroy(),e.elements&&e.elements.destroy()}),this.groups.length=0,this.paletteTexture.destroy(),this.markerTextures.forEach(function(e){return e&&e.destroy&&e.destroy()}),this};var B7t=bh(),N7t=function(t,r){var n=new O7t(t,r),i=n.render.bind(n);return B7t(i,{render:i,update:n.update.bind(n),draw:n.draw.bind(n),destroy:n.destroy.bind(n),regl:n.regl,gl:n.gl,canvas:n.gl.canvas,groups:n.groups,markers:n.markerCache,palette:n.palette}),i};rFe.exports=N7t});var sFe=ye((D0r,iY)=>{\"use strict\";iY.exports=Qz;iY.exports.default=Qz;function Qz(e,t,r){r=r||2;var n=t&&t.length,i=n?t[0]*r:e.length,a=nFe(e,0,i,r,!0),o=[];if(!a||a.next===a.prev)return o;var s,l,u,c,f,h,d;if(n&&(a=j7t(e,t,a,r)),e.length>80*r){s=u=e[0],l=c=e[1];for(var v=r;v<i;v+=r)f=e[v],h=e[v+1],f<s&&(s=f),h<l&&(l=h),f>u&&(u=f),h>c&&(c=h);d=Math.max(u-s,c-l),d=d!==0?32767/d:0}return sk(a,o,r,s,l,d,0),o}function nFe(e,t,r,n,i){var a,o;if(i===rY(e,t,r,n)>0)for(a=t;a<r;a+=n)o=iFe(a,e[a],e[a+1],o);else for(a=r-n;a>=t;a-=n)o=iFe(a,e[a],e[a+1],o);return o&&eF(o,o.next)&&(uk(o),o=o.next),o}function J2(e,t){if(!e)return e;t||(t=e);var r=e,n;do if(n=!1,!r.steiner&&(eF(r,r.next)||eh(r.prev,r,r.next)===0)){if(uk(r),r=t=r.prev,r===r.next)break;n=!0}else r=r.next;while(n||r!==t);return t}function sk(e,t,r,n,i,a,o){if(e){!o&&a&&K7t(e,n,i,a);for(var s=e,l,u;e.prev!==e.next;){if(l=e.prev,u=e.next,a?V7t(e,n,i,a):U7t(e)){t.push(l.i/r|0),t.push(e.i/r|0),t.push(u.i/r|0),uk(e),e=u.next,s=u.next;continue}if(e=u,e===s){o?o===1?(e=H7t(J2(e),t,r),sk(e,t,r,n,i,a,2)):o===2&&G7t(e,t,r,n,i,a):sk(J2(e),t,r,n,i,a,1);break}}}}function U7t(e){var t=e.prev,r=e,n=e.next;if(eh(t,r,n)>=0)return!1;for(var i=t.x,a=r.x,o=n.x,s=t.y,l=r.y,u=n.y,c=i<a?i<o?i:o:a<o?a:o,f=s<l?s<u?s:u:l<u?l:u,h=i>a?i>o?i:o:a>o?a:o,d=s>l?s>u?s:u:l>u?l:u,v=n.next;v!==t;){if(v.x>=c&&v.x<=h&&v.y>=f&&v.y<=d&&oA(i,s,a,l,o,u,v.x,v.y)&&eh(v.prev,v,v.next)>=0)return!1;v=v.next}return!0}function V7t(e,t,r,n){var i=e.prev,a=e,o=e.next;if(eh(i,a,o)>=0)return!1;for(var s=i.x,l=a.x,u=o.x,c=i.y,f=a.y,h=o.y,d=s<l?s<u?s:u:l<u?l:u,v=c<f?c<h?c:h:f<h?f:h,x=s>l?s>u?s:u:l>u?l:u,b=c>f?c>h?c:h:f>h?f:h,p=eY(d,v,t,r,n),E=eY(x,b,t,r,n),k=e.prevZ,A=e.nextZ;k&&k.z>=p&&A&&A.z<=E;){if(k.x>=d&&k.x<=x&&k.y>=v&&k.y<=b&&k!==i&&k!==o&&oA(s,c,l,f,u,h,k.x,k.y)&&eh(k.prev,k,k.next)>=0||(k=k.prevZ,A.x>=d&&A.x<=x&&A.y>=v&&A.y<=b&&A!==i&&A!==o&&oA(s,c,l,f,u,h,A.x,A.y)&&eh(A.prev,A,A.next)>=0))return!1;A=A.nextZ}for(;k&&k.z>=p;){if(k.x>=d&&k.x<=x&&k.y>=v&&k.y<=b&&k!==i&&k!==o&&oA(s,c,l,f,u,h,k.x,k.y)&&eh(k.prev,k,k.next)>=0)return!1;k=k.prevZ}for(;A&&A.z<=E;){if(A.x>=d&&A.x<=x&&A.y>=v&&A.y<=b&&A!==i&&A!==o&&oA(s,c,l,f,u,h,A.x,A.y)&&eh(A.prev,A,A.next)>=0)return!1;A=A.nextZ}return!0}function H7t(e,t,r){var n=e;do{var i=n.prev,a=n.next.next;!eF(i,a)&&aFe(i,n,n.next,a)&&lk(i,a)&&lk(a,i)&&(t.push(i.i/r|0),t.push(n.i/r|0),t.push(a.i/r|0),uk(n),uk(n.next),n=e=a),n=n.next}while(n!==e);return J2(n)}function G7t(e,t,r,n,i,a){var o=e;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&Q7t(o,s)){var l=oFe(o,s);o=J2(o,o.next),l=J2(l,l.next),sk(o,t,r,n,i,a,0),sk(l,t,r,n,i,a,0);return}s=s.next}o=o.next}while(o!==e)}function j7t(e,t,r,n){var i=[],a,o,s,l,u;for(a=0,o=t.length;a<o;a++)s=t[a]*n,l=a<o-1?t[a+1]*n:e.length,u=nFe(e,s,l,n,!1),u===u.next&&(u.steiner=!0),i.push($7t(u));for(i.sort(W7t),a=0;a<i.length;a++)r=Z7t(i[a],r);return r}function W7t(e,t){return e.x-t.x}function Z7t(e,t){var r=X7t(e,t);if(!r)return t;var n=oFe(r,e);return J2(n,n.next),J2(r,r.next)}function X7t(e,t){var r=t,n=e.x,i=e.y,a=-1/0,o;do{if(i<=r.y&&i>=r.next.y&&r.next.y!==r.y){var s=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(s<=n&&s>a&&(a=s,o=r.x<r.next.x?r:r.next,s===n))return o}r=r.next}while(r!==t);if(!o)return null;var l=o,u=o.x,c=o.y,f=1/0,h;r=o;do n>=r.x&&r.x>=u&&n!==r.x&&oA(i<c?n:a,i,u,c,i<c?a:n,i,r.x,r.y)&&(h=Math.abs(i-r.y)/(n-r.x),lk(r,e)&&(h<f||h===f&&(r.x>o.x||r.x===o.x&&Y7t(o,r)))&&(o=r,f=h)),r=r.next;while(r!==l);return o}function Y7t(e,t){return eh(e.prev,e,t.prev)<0&&eh(t.next,e,e.next)<0}function K7t(e,t,r,n){var i=e;do i.z===0&&(i.z=eY(i.x,i.y,t,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,J7t(i)}function J7t(e){var t,r,n,i,a,o,s,l,u=1;do{for(r=e,e=null,a=null,o=0;r;){for(o++,n=r,s=0,t=0;t<u&&(s++,n=n.nextZ,!!n);t++);for(l=u;s>0||l>0&&n;)s!==0&&(l===0||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1);return e}function eY(e,t,r,n,i){return e=(e-r)*i|0,t=(t-n)*i|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function $7t(e){var t=e,r=e;do(t.x<r.x||t.x===r.x&&t.y<r.y)&&(r=t),t=t.next;while(t!==e);return r}function oA(e,t,r,n,i,a,o,s){return(i-o)*(t-s)>=(e-o)*(a-s)&&(e-o)*(n-s)>=(r-o)*(t-s)&&(r-o)*(a-s)>=(i-o)*(n-s)}function Q7t(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!e9t(e,t)&&(lk(e,t)&&lk(t,e)&&t9t(e,t)&&(eh(e.prev,e,t.prev)||eh(e,t.prev,t))||eF(e,t)&&eh(e.prev,e,e.next)>0&&eh(t.prev,t,t.next)>0)}function eh(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function eF(e,t){return e.x===t.x&&e.y===t.y}function aFe(e,t,r,n){var i=$z(eh(e,t,r)),a=$z(eh(e,t,n)),o=$z(eh(r,n,e)),s=$z(eh(r,n,t));return!!(i!==a&&o!==s||i===0&&Jz(e,r,t)||a===0&&Jz(e,n,t)||o===0&&Jz(r,e,n)||s===0&&Jz(r,t,n))}function Jz(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function $z(e){return e>0?1:e<0?-1:0}function e9t(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&aFe(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function lk(e,t){return eh(e.prev,e,e.next)<0?eh(e,t,e.next)>=0&&eh(e,e.prev,t)>=0:eh(e,t,e.prev)<0||eh(e,e.next,t)<0}function t9t(e,t){var r=e,n=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;while(r!==e);return n}function oFe(e,t){var r=new tY(e.i,e.x,e.y),n=new tY(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function iFe(e,t,r,n){var i=new tY(e,t,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function uk(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function tY(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}Qz.deviation=function(e,t,r,n){var i=t&&t.length,a=i?t[0]*r:e.length,o=Math.abs(rY(e,0,a,r));if(i)for(var s=0,l=t.length;s<l;s++){var u=t[s]*r,c=s<l-1?t[s+1]*r:e.length;o-=Math.abs(rY(e,u,c,r))}var f=0;for(s=0;s<n.length;s+=3){var h=n[s]*r,d=n[s+1]*r,v=n[s+2]*r;f+=Math.abs((e[h]-e[v])*(e[d+1]-e[h+1])-(e[h]-e[d])*(e[v+1]-e[h+1]))}return o===0&&f===0?0:Math.abs((f-o)/o)};function rY(e,t,r,n){for(var i=0,a=t,o=r-n;a<r;a+=n)i+=(e[o]-e[a])*(e[a+1]+e[o+1]),o=a;return i}Qz.flatten=function(e){for(var t=e[0][0].length,r={vertices:[],holes:[],dimensions:t},n=0,i=0;i<e.length;i++){for(var a=0;a<e[i].length;a++)for(var o=0;o<t;o++)r.vertices.push(e[i][a][o]);i>0&&(n+=e[i-1].length,r.holes.push(n))}return r}});var uFe=ye((z0r,lFe)=>{\"use strict\";var r9t=j2();lFe.exports=i9t;function i9t(e,t,r){if(!e||e.length==null)throw Error(\"Argument should be an array\");t==null&&(t=1),r==null&&(r=r9t(e,t));for(var n=0;n<t;n++){var i=r[t+n],a=r[n],o=n,s=e.length;if(i===1/0&&a===-1/0)for(o=n;o<s;o+=t)e[o]=e[o]===i?1:e[o]===a?0:.5;else if(i===1/0)for(o=n;o<s;o+=t)e[o]=e[o]===i?1:0;else if(a===-1/0)for(o=n;o<s;o+=t)e[o]=e[o]===a?0:1;else{var l=i-a;for(o=n;o<s;o+=t)isNaN(e[o])||(e[o]=l===0?.5:(e[o]-a)/l)}}return e}});var fFe=ye((F0r,cFe)=>{\"use strict\";cFe.exports=function(){var e,t;if(typeof WeakMap!=\"function\")return!1;try{e=new WeakMap([[t={},\"one\"],[{},\"two\"],[{},\"three\"]])}catch(r){return!1}return!(String(e)!==\"[object WeakMap]\"||typeof e.set!=\"function\"||e.set({},1)!==e||typeof e.delete!=\"function\"||typeof e.has!=\"function\"||e.get(t)!==\"one\")}});var dFe=ye((q0r,hFe)=>{\"use strict\";hFe.exports=function(){}});var lx=ye((O0r,vFe)=>{\"use strict\";var n9t=dFe()();vFe.exports=function(e){return e!==n9t&&e!==null}});var nY=ye((B0r,gFe)=>{\"use strict\";var a9t=Object.create,o9t=Object.getPrototypeOf,pFe={};gFe.exports=function(){var e=Object.setPrototypeOf,t=arguments[0]||a9t;return typeof e!=\"function\"?!1:o9t(e(t(null),pFe))===pFe}});var aY=ye((N0r,mFe)=>{\"use strict\";var s9t=lx(),l9t={function:!0,object:!0};mFe.exports=function(e){return s9t(e)&&l9t[typeof e]||!1}});var i1=ye((U0r,yFe)=>{\"use strict\";var u9t=lx();yFe.exports=function(e){if(!u9t(e))throw new TypeError(\"Cannot use null or undefined\");return e}});var xFe=ye((V0r,_Fe)=>{\"use strict\";var oY=Object.create,tF;nY()()||(tF=sY());_Fe.exports=function(){var e,t,r;return!tF||tF.level!==1?oY:(e={},t={},r={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(n){if(n===\"__proto__\"){t[n]={configurable:!0,enumerable:!1,writable:!0,value:void 0};return}t[n]=r}),Object.defineProperties(e,t),Object.defineProperty(tF,\"nullPolyfill\",{configurable:!1,enumerable:!1,writable:!1,value:e}),function(n,i){return oY(n===null?e:n,i)})}()});var sY=ye((H0r,bFe)=>{\"use strict\";var c9t=aY(),f9t=i1(),h9t=Object.prototype.isPrototypeOf,d9t=Object.defineProperty,v9t={configurable:!0,enumerable:!1,writable:!0,value:void 0},rF;rF=function(e,t){if(f9t(e),t===null||c9t(t))return e;throw new TypeError(\"Prototype must be null or an object\")};bFe.exports=function(e){var t,r;return e?(e.level===2?e.set?(r=e.set,t=function(n,i){return r.call(rF(n,i),i),n}):t=function(n,i){return rF(n,i).__proto__=i,n}:t=function n(i,a){var o;return rF(i,a),o=h9t.call(n.nullPolyfill,i),o&&delete n.nullPolyfill.__proto__,a===null&&(a=n.nullPolyfill),i.__proto__=a,o&&d9t(n.nullPolyfill,\"__proto__\",v9t),i},Object.defineProperty(t,\"level\",{configurable:!1,enumerable:!1,writable:!1,value:e.level})):null}(function(){var e=Object.create(null),t={},r,n=Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\");if(n){try{r=n.set,r.call(e,t)}catch(i){}if(Object.getPrototypeOf(e)===t)return{set:r,level:2}}return e.__proto__=t,Object.getPrototypeOf(e)===t?{level:2}:(e={},e.__proto__=t,Object.getPrototypeOf(e)===t?{level:1}:!1)}());xFe()});var iF=ye((G0r,wFe)=>{\"use strict\";wFe.exports=nY()()?Object.setPrototypeOf:sY()});var AFe=ye((j0r,TFe)=>{\"use strict\";var p9t=aY();TFe.exports=function(e){if(!p9t(e))throw new TypeError(e+\" is not an Object\");return e}});var MFe=ye((W0r,SFe)=>{\"use strict\";var g9t=Object.create(null),m9t=Math.random;SFe.exports=function(){var e;do e=m9t().toString(36).slice(2);while(g9t[e]);return e}});var $2=ye((Z0r,EFe)=>{\"use strict\";var y9t=void 0;EFe.exports=function(e){return e!==y9t&&e!==null}});var nF=ye((X0r,kFe)=>{\"use strict\";var _9t=$2(),x9t={object:!0,function:!0,undefined:!0};kFe.exports=function(e){return _9t(e)?hasOwnProperty.call(x9t,typeof e):!1}});var LFe=ye((Y0r,CFe)=>{\"use strict\";var b9t=nF();CFe.exports=function(e){if(!b9t(e))return!1;try{return e.constructor?e.constructor.prototype===e:!1}catch(t){return!1}}});var IFe=ye((K0r,PFe)=>{\"use strict\";var w9t=LFe();PFe.exports=function(e){if(typeof e!=\"function\"||!hasOwnProperty.call(e,\"length\"))return!1;try{if(typeof e.length!=\"number\"||typeof e.call!=\"function\"||typeof e.apply!=\"function\")return!1}catch(t){return!1}return!w9t(e)}});var lY=ye((J0r,RFe)=>{\"use strict\";var T9t=IFe(),A9t=/^\\s*class[\\s{/}]/,S9t=Function.prototype.toString;RFe.exports=function(e){return!(!T9t(e)||A9t.test(S9t.call(e)))}});var zFe=ye(($0r,DFe)=>{\"use strict\";DFe.exports=function(){var e=Object.assign,t;return typeof e!=\"function\"?!1:(t={foo:\"raz\"},e(t,{bar:\"dwa\"},{trzy:\"trzy\"}),t.foo+t.bar+t.trzy===\"razdwatrzy\")}});var qFe=ye((Q0r,FFe)=>{\"use strict\";FFe.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(e){return!1}}});var BFe=ye((egr,OFe)=>{\"use strict\";var M9t=lx(),E9t=Object.keys;OFe.exports=function(e){return E9t(M9t(e)?Object(e):e)}});var UFe=ye((tgr,NFe)=>{\"use strict\";NFe.exports=qFe()()?Object.keys:BFe()});var HFe=ye((rgr,VFe)=>{\"use strict\";var k9t=UFe(),C9t=i1(),L9t=Math.max;VFe.exports=function(e,t){var r,n,i=L9t(arguments.length,2),a;for(e=Object(C9t(e)),a=function(o){try{e[o]=t[o]}catch(s){r||(r=s)}},n=1;n<i;++n)t=arguments[n],k9t(t).forEach(a);if(r!==void 0)throw r;return e}});var aF=ye((igr,GFe)=>{\"use strict\";GFe.exports=zFe()()?Object.assign:HFe()});var uY=ye((ngr,jFe)=>{\"use strict\";var P9t=lx(),I9t=Array.prototype.forEach,R9t=Object.create,D9t=function(e,t){var r;for(r in e)t[r]=e[r]};jFe.exports=function(e){var t=R9t(null);return I9t.call(arguments,function(r){P9t(r)&&D9t(Object(r),t)}),t}});var ZFe=ye((agr,WFe)=>{\"use strict\";var cY=\"razdwatrzy\";WFe.exports=function(){return typeof cY.contains!=\"function\"?!1:cY.contains(\"dwa\")===!0&&cY.contains(\"foo\")===!1}});var YFe=ye((ogr,XFe)=>{\"use strict\";var z9t=String.prototype.indexOf;XFe.exports=function(e){return z9t.call(this,e,arguments[1])>-1}});var fY=ye((sgr,KFe)=>{\"use strict\";KFe.exports=ZFe()()?String.prototype.contains:YFe()});var n1=ye((lgr,e7e)=>{\"use strict\";var oF=$2(),JFe=lY(),$Fe=aF(),QFe=uY(),ck=fY(),F9t=e7e.exports=function(e,t){var r,n,i,a,o;return arguments.length<2||typeof e!=\"string\"?(a=t,t=e,e=null):a=arguments[2],oF(e)?(r=ck.call(e,\"c\"),n=ck.call(e,\"e\"),i=ck.call(e,\"w\")):(r=i=!0,n=!1),o={value:t,configurable:r,enumerable:n,writable:i},a?$Fe(QFe(a),o):o};F9t.gs=function(e,t,r){var n,i,a,o;return typeof e!=\"string\"?(a=r,r=t,t=e,e=null):a=arguments[3],oF(t)?JFe(t)?oF(r)?JFe(r)||(a=r,r=void 0):r=void 0:(a=t,t=r=void 0):t=void 0,oF(e)?(n=ck.call(e,\"c\"),i=ck.call(e,\"e\")):(n=!0,i=!1),o={get:t,set:r,configurable:n,enumerable:i},a?$Fe(QFe(a),o):o}});var fk=ye((ugr,r7e)=>{\"use strict\";var t7e=Object.prototype.toString,q9t=t7e.call(function(){return arguments}());r7e.exports=function(e){return t7e.call(e)===q9t}});var hk=ye((cgr,n7e)=>{\"use strict\";var i7e=Object.prototype.toString,O9t=i7e.call(\"\");n7e.exports=function(e){return typeof e==\"string\"||e&&typeof e==\"object\"&&(e instanceof String||i7e.call(e)===O9t)||!1}});var o7e=ye((fgr,a7e)=>{\"use strict\";a7e.exports=function(){return typeof globalThis!=\"object\"||!globalThis?!1:globalThis.Array===Array}});var u7e=ye((hgr,l7e)=>{var s7e=function(){if(typeof self==\"object\"&&self)return self;if(typeof window==\"object\"&&window)return window;throw new Error(\"Unable to resolve global `this`\")};l7e.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,\"__global__\",{get:function(){return this},configurable:!0})}catch(e){return s7e()}try{return __global__||s7e()}finally{delete Object.prototype.__global__}}()});var dk=ye((dgr,c7e)=>{\"use strict\";c7e.exports=o7e()()?globalThis:u7e()});var h7e=ye((vgr,f7e)=>{\"use strict\";var B9t=dk(),hY={object:!0,symbol:!0};f7e.exports=function(){var e=B9t.Symbol,t;if(typeof e!=\"function\")return!1;t=e(\"test symbol\");try{String(t)}catch(r){return!1}return!(!hY[typeof e.iterator]||!hY[typeof e.toPrimitive]||!hY[typeof e.toStringTag])}});var v7e=ye((pgr,d7e)=>{\"use strict\";d7e.exports=function(e){return e?typeof e==\"symbol\"?!0:!e.constructor||e.constructor.name!==\"Symbol\"?!1:e[e.constructor.toStringTag]===\"Symbol\":!1}});var dY=ye((ggr,p7e)=>{\"use strict\";var N9t=v7e();p7e.exports=function(e){if(!N9t(e))throw new TypeError(e+\" is not a symbol\");return e}});var x7e=ye((mgr,_7e)=>{\"use strict\";var g7e=n1(),U9t=Object.create,m7e=Object.defineProperty,V9t=Object.prototype,y7e=U9t(null);_7e.exports=function(e){for(var t=0,r,n;y7e[e+(t||\"\")];)++t;return e+=t||\"\",y7e[e]=!0,r=\"@@\"+e,m7e(V9t,r,g7e.gs(null,function(i){n||(n=!0,m7e(this,r,g7e(i)),n=!1)})),r}});var w7e=ye((ygr,b7e)=>{\"use strict\";var Qg=n1(),wh=dk().Symbol;b7e.exports=function(e){return Object.defineProperties(e,{hasInstance:Qg(\"\",wh&&wh.hasInstance||e(\"hasInstance\")),isConcatSpreadable:Qg(\"\",wh&&wh.isConcatSpreadable||e(\"isConcatSpreadable\")),iterator:Qg(\"\",wh&&wh.iterator||e(\"iterator\")),match:Qg(\"\",wh&&wh.match||e(\"match\")),replace:Qg(\"\",wh&&wh.replace||e(\"replace\")),search:Qg(\"\",wh&&wh.search||e(\"search\")),species:Qg(\"\",wh&&wh.species||e(\"species\")),split:Qg(\"\",wh&&wh.split||e(\"split\")),toPrimitive:Qg(\"\",wh&&wh.toPrimitive||e(\"toPrimitive\")),toStringTag:Qg(\"\",wh&&wh.toStringTag||e(\"toStringTag\")),unscopables:Qg(\"\",wh&&wh.unscopables||e(\"unscopables\"))})}});var S7e=ye((_gr,A7e)=>{\"use strict\";var T7e=n1(),H9t=dY(),vk=Object.create(null);A7e.exports=function(e){return Object.defineProperties(e,{for:T7e(function(t){return vk[t]?vk[t]:vk[t]=e(String(t))}),keyFor:T7e(function(t){var r;H9t(t);for(r in vk)if(vk[r]===t)return r})})}});var k7e=ye((xgr,E7e)=>{\"use strict\";var Xm=n1(),vY=dY(),sF=dk().Symbol,G9t=x7e(),j9t=w7e(),W9t=S7e(),Z9t=Object.create,pY=Object.defineProperties,lF=Object.defineProperty,Wv,sA,M7e;if(typeof sF==\"function\")try{String(sF()),M7e=!0}catch(e){}else sF=null;sA=function(t){if(this instanceof sA)throw new TypeError(\"Symbol is not a constructor\");return Wv(t)};E7e.exports=Wv=function e(t){var r;if(this instanceof e)throw new TypeError(\"Symbol is not a constructor\");return M7e?sF(t):(r=Z9t(sA.prototype),t=t===void 0?\"\":String(t),pY(r,{__description__:Xm(\"\",t),__name__:Xm(\"\",G9t(t))}))};j9t(Wv);W9t(Wv);pY(sA.prototype,{constructor:Xm(Wv),toString:Xm(\"\",function(){return this.__name__})});pY(Wv.prototype,{toString:Xm(function(){return\"Symbol (\"+vY(this).__description__+\")\"}),valueOf:Xm(function(){return vY(this)})});lF(Wv.prototype,Wv.toPrimitive,Xm(\"\",function(){var e=vY(this);return typeof e==\"symbol\"?e:e.toString()}));lF(Wv.prototype,Wv.toStringTag,Xm(\"c\",\"Symbol\"));lF(sA.prototype,Wv.toStringTag,Xm(\"c\",Wv.prototype[Wv.toStringTag]));lF(sA.prototype,Wv.toPrimitive,Xm(\"c\",Wv.prototype[Wv.toPrimitive]))});var ux=ye((bgr,C7e)=>{\"use strict\";C7e.exports=h7e()()?dk().Symbol:k7e()});var P7e=ye((wgr,L7e)=>{\"use strict\";var X9t=i1();L7e.exports=function(){return X9t(this).length=0,this}});var lA=ye((Tgr,I7e)=>{\"use strict\";I7e.exports=function(e){if(typeof e!=\"function\")throw new TypeError(e+\" is not a function\");return e}});var D7e=ye((Agr,R7e)=>{\"use strict\";var Y9t=$2(),K9t=nF(),J9t=Object.prototype.toString;R7e.exports=function(e){if(!Y9t(e))return null;if(K9t(e)){var t=e.toString;if(typeof t!=\"function\"||t===J9t)return null}try{return\"\"+e}catch(r){return null}}});var F7e=ye((Sgr,z7e)=>{\"use strict\";z7e.exports=function(e){try{return e.toString()}catch(t){try{return String(e)}catch(r){return null}}}});var O7e=ye((Mgr,q7e)=>{\"use strict\";var $9t=F7e(),Q9t=/[\\n\\r\\u2028\\u2029]/g;q7e.exports=function(e){var t=$9t(e);return t===null?\"<Non-coercible to string value>\":(t.length>100&&(t=t.slice(0,99)+\"\\u2026\"),t=t.replace(Q9t,function(r){switch(r){case`\n", - "`:return\"\\\\n\";case\"\\r\":return\"\\\\r\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw new Error(\"Unexpected character\")}}),t)}});var gY=ye((Egr,U7e)=>{\"use strict\";var B7e=$2(),eqt=nF(),tqt=D7e(),rqt=O7e(),N7e=function(e,t){return e.replace(\"%v\",rqt(t))};U7e.exports=function(e,t,r){if(!eqt(r))throw new TypeError(N7e(t,e));if(!B7e(e)){if(\"default\"in r)return r.default;if(r.isOptional)return null}var n=tqt(r.errorMessage);throw B7e(n)||(n=t),new TypeError(N7e(n,e))}});var H7e=ye((kgr,V7e)=>{\"use strict\";var iqt=gY(),nqt=$2();V7e.exports=function(e){return nqt(e)?e:iqt(e,\"Cannot use %v\",arguments[1])}});var j7e=ye((Cgr,G7e)=>{\"use strict\";var aqt=gY(),oqt=lY();G7e.exports=function(e){return oqt(e)?e:aqt(e,\"%v is not a plain function\",arguments[1])}});var Z7e=ye((Lgr,W7e)=>{\"use strict\";W7e.exports=function(){var e=Array.from,t,r;return typeof e!=\"function\"?!1:(t=[\"raz\",\"dwa\"],r=e(t),!!(r&&r!==t&&r[1]===\"dwa\"))}});var Y7e=ye((Pgr,X7e)=>{\"use strict\";var sqt=Object.prototype.toString,lqt=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);X7e.exports=function(e){return typeof e==\"function\"&&lqt(sqt.call(e))}});var J7e=ye((Igr,K7e)=>{\"use strict\";K7e.exports=function(){var e=Math.sign;return typeof e!=\"function\"?!1:e(10)===1&&e(-20)===-1}});var Q7e=ye((Rgr,$7e)=>{\"use strict\";$7e.exports=function(e){return e=Number(e),isNaN(e)||e===0?e:e>0?1:-1}});var t9e=ye((Dgr,e9e)=>{\"use strict\";e9e.exports=J7e()()?Math.sign:Q7e()});var i9e=ye((zgr,r9e)=>{\"use strict\";var uqt=t9e(),cqt=Math.abs,fqt=Math.floor;r9e.exports=function(e){return isNaN(e)?0:(e=Number(e),e===0||!isFinite(e)?e:uqt(e)*fqt(cqt(e)))}});var a9e=ye((Fgr,n9e)=>{\"use strict\";var hqt=i9e(),dqt=Math.max;n9e.exports=function(e){return dqt(0,hqt(e))}});var u9e=ye((qgr,l9e)=>{\"use strict\";var vqt=ux().iterator,pqt=fk(),gqt=Y7e(),mqt=a9e(),o9e=lA(),yqt=i1(),_qt=lx(),xqt=hk(),s9e=Array.isArray,mY=Function.prototype.call,Q2={configurable:!0,enumerable:!0,writable:!0,value:null},yY=Object.defineProperty;l9e.exports=function(e){var t=arguments[1],r=arguments[2],n,i,a,o,s,l,u,c,f,h;if(e=Object(yqt(e)),_qt(t)&&o9e(t),!this||this===Array||!gqt(this)){if(!t){if(pqt(e))return s=e.length,s!==1?Array.apply(null,e):(o=new Array(1),o[0]=e[0],o);if(s9e(e)){for(o=new Array(s=e.length),i=0;i<s;++i)o[i]=e[i];return o}}o=[]}else n=this;if(!s9e(e)){if((f=e[vqt])!==void 0){for(u=o9e(f).call(e),n&&(o=new n),c=u.next(),i=0;!c.done;)h=t?mY.call(t,r,c.value,i):c.value,n?(Q2.value=h,yY(o,i,Q2)):o[i]=h,c=u.next(),++i;s=i}else if(xqt(e)){for(s=e.length,n&&(o=new n),i=0,a=0;i<s;++i)h=e[i],i+1<s&&(l=h.charCodeAt(0),l>=55296&&l<=56319&&(h+=e[++i])),h=t?mY.call(t,r,h,a):h,n?(Q2.value=h,yY(o,a,Q2)):o[a]=h,++a;s=a}}if(s===void 0)for(s=mqt(e.length),n&&(o=new n(s)),i=0;i<s;++i)h=t?mY.call(t,r,e[i],i):e[i],n?(Q2.value=h,yY(o,i,Q2)):o[i]=h;return n&&(Q2.value=null,o.length=s),o}});var f9e=ye((Ogr,c9e)=>{\"use strict\";c9e.exports=Z7e()()?Array.from:u9e()});var d9e=ye((Bgr,h9e)=>{\"use strict\";var bqt=f9e(),wqt=aF(),Tqt=i1();h9e.exports=function(e){var t=Object(Tqt(e)),r=arguments[1],n=Object(arguments[2]);if(t!==e&&!r)return t;var i={};return r?bqt(r,function(a){(n.ensure||a in e)&&(i[a]=e[a])}):wqt(i,e),i}});var g9e=ye((Ngr,p9e)=>{\"use strict\";var Aqt=lA(),Sqt=i1(),Mqt=Function.prototype.bind,v9e=Function.prototype.call,Eqt=Object.keys,kqt=Object.prototype.propertyIsEnumerable;p9e.exports=function(e,t){return function(r,n){var i,a=arguments[2],o=arguments[3];return r=Object(Sqt(r)),Aqt(n),i=Eqt(r),o&&i.sort(typeof o==\"function\"?Mqt.call(o,r):void 0),typeof e!=\"function\"&&(e=i[e]),v9e.call(e,i,function(s,l){return kqt.call(r,s)?v9e.call(n,a,r[s],s,r,l):t})}}});var y9e=ye((Ugr,m9e)=>{\"use strict\";m9e.exports=g9e()(\"forEach\")});var x9e=ye((Vgr,_9e)=>{\"use strict\";var Cqt=lA(),Lqt=y9e(),Pqt=Function.prototype.call;_9e.exports=function(e,t){var r={},n=arguments[2];return Cqt(t),Lqt(e,function(i,a,o,s){r[a]=Pqt.call(t,n,i,a,o,s)}),r}});var A9e=ye((Hgr,T9e)=>{\"use strict\";var Iqt=$2(),Rqt=H7e(),b9e=j7e(),Dqt=d9e(),zqt=uY(),Fqt=x9e(),qqt=Function.prototype.bind,Oqt=Object.defineProperty,Bqt=Object.prototype.hasOwnProperty,w9e;w9e=function(e,t,r){var n=Rqt(t)&&b9e(t.value),i;return i=Dqt(t),delete i.writable,delete i.value,i.get=function(){return!r.overwriteDefinition&&Bqt.call(this,e)?n:(t.value=qqt.call(n,r.resolveContext?r.resolveContext(this):this),Oqt(this,e,t),this[e])},i};T9e.exports=function(e){var t=zqt(arguments[1]);return Iqt(t.resolveContext)&&b9e(t.resolveContext),Fqt(e,function(r,n){return w9e(n,r,t)})}});var _Y=ye((Ggr,k9e)=>{\"use strict\";var Nqt=P7e(),Uqt=aF(),Vqt=lA(),Hqt=i1(),Op=n1(),Gqt=A9e(),S9e=ux(),M9e=Object.defineProperty,E9e=Object.defineProperties,pk;k9e.exports=pk=function(e,t){if(!(this instanceof pk))throw new TypeError(\"Constructor requires 'new'\");E9e(this,{__list__:Op(\"w\",Hqt(e)),__context__:Op(\"w\",t),__nextIndex__:Op(\"w\",0)}),t&&(Vqt(t.on),t.on(\"_add\",this._onAdd),t.on(\"_delete\",this._onDelete),t.on(\"_clear\",this._onClear))};delete pk.prototype.constructor;E9e(pk.prototype,Uqt({_next:Op(function(){var e;if(this.__list__){if(this.__redo__&&(e=this.__redo__.shift(),e!==void 0))return e;if(this.__nextIndex__<this.__list__.length)return this.__nextIndex__++;this._unBind()}}),next:Op(function(){return this._createResult(this._next())}),_createResult:Op(function(e){return e===void 0?{done:!0,value:void 0}:{done:!1,value:this._resolve(e)}}),_resolve:Op(function(e){return this.__list__[e]}),_unBind:Op(function(){this.__list__=null,delete this.__redo__,this.__context__&&(this.__context__.off(\"_add\",this._onAdd),this.__context__.off(\"_delete\",this._onDelete),this.__context__.off(\"_clear\",this._onClear),this.__context__=null)}),toString:Op(function(){return\"[object \"+(this[S9e.toStringTag]||\"Object\")+\"]\"})},Gqt({_onAdd:Op(function(e){if(!(e>=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__){M9e(this,\"__redo__\",Op(\"c\",[e]));return}this.__redo__.forEach(function(t,r){t>=e&&(this.__redo__[r]=++t)},this),this.__redo__.push(e)}}),_onDelete:Op(function(e){var t;e>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(t=this.__redo__.indexOf(e),t!==-1&&this.__redo__.splice(t,1),this.__redo__.forEach(function(r,n){r>e&&(this.__redo__[n]=--r)},this)))}),_onClear:Op(function(){this.__redo__&&Nqt.call(this.__redo__),this.__nextIndex__=0})})));M9e(pk.prototype,S9e.iterator,Op(function(){return this}))});var R9e=ye((jgr,I9e)=>{\"use strict\";var C9e=iF(),L9e=fY(),xY=n1(),jqt=ux(),bY=_Y(),P9e=Object.defineProperty,uA;uA=I9e.exports=function(e,t){if(!(this instanceof uA))throw new TypeError(\"Constructor requires 'new'\");bY.call(this,e),t?L9e.call(t,\"key+value\")?t=\"key+value\":L9e.call(t,\"key\")?t=\"key\":t=\"value\":t=\"value\",P9e(this,\"__kind__\",xY(\"\",t))};C9e&&C9e(uA,bY);delete uA.prototype.constructor;uA.prototype=Object.create(bY.prototype,{_resolve:xY(function(e){return this.__kind__===\"value\"?this.__list__[e]:this.__kind__===\"key+value\"?[e,this.__list__[e]]:e})});P9e(uA.prototype,jqt.toStringTag,xY(\"c\",\"Array Iterator\"))});var q9e=ye((Wgr,F9e)=>{\"use strict\";var D9e=iF(),uF=n1(),Wqt=ux(),wY=_Y(),z9e=Object.defineProperty,cA;cA=F9e.exports=function(e){if(!(this instanceof cA))throw new TypeError(\"Constructor requires 'new'\");e=String(e),wY.call(this,e),z9e(this,\"__length__\",uF(\"\",e.length))};D9e&&D9e(cA,wY);delete cA.prototype.constructor;cA.prototype=Object.create(wY.prototype,{_next:uF(function(){if(this.__list__){if(this.__nextIndex__<this.__length__)return this.__nextIndex__++;this._unBind()}}),_resolve:uF(function(e){var t=this.__list__[e],r;return this.__nextIndex__===this.__length__?t:(r=t.charCodeAt(0),r>=55296&&r<=56319?t+this.__list__[this.__nextIndex__++]:t)})});z9e(cA.prototype,Wqt.toStringTag,uF(\"c\",\"String Iterator\"))});var B9e=ye((Zgr,O9e)=>{\"use strict\";var Zqt=fk(),Xqt=lx(),Yqt=hk(),Kqt=ux().iterator,Jqt=Array.isArray;O9e.exports=function(e){return Xqt(e)?Jqt(e)||Yqt(e)||Zqt(e)?!0:typeof e[Kqt]==\"function\":!1}});var U9e=ye((Xgr,N9e)=>{\"use strict\";var $qt=B9e();N9e.exports=function(e){if(!$qt(e))throw new TypeError(e+\" is not iterable\");return e}});var TY=ye((Ygr,G9e)=>{\"use strict\";var Qqt=fk(),eOt=hk(),V9e=R9e(),tOt=q9e(),rOt=U9e(),H9e=ux().iterator;G9e.exports=function(e){return typeof rOt(e)[H9e]==\"function\"?e[H9e]():Qqt(e)?new V9e(e):eOt(e)?new tOt(e):new V9e(e)}});var W9e=ye((Kgr,j9e)=>{\"use strict\";var iOt=fk(),nOt=lA(),aOt=hk(),oOt=TY(),sOt=Array.isArray,AY=Function.prototype.call,lOt=Array.prototype.some;j9e.exports=function(e,t){var r,n=arguments[2],i,a,o,s,l,u,c;if(sOt(e)||iOt(e)?r=\"array\":aOt(e)?r=\"string\":e=oOt(e),nOt(t),a=function(){o=!0},r===\"array\"){lOt.call(e,function(f){return AY.call(t,n,f,a),o});return}if(r===\"string\"){for(l=e.length,s=0;s<l&&(u=e[s],s+1<l&&(c=u.charCodeAt(0),c>=55296&&c<=56319&&(u+=e[++s])),AY.call(t,n,u,a),!o);++s);return}for(i=e.next();!i.done;){if(AY.call(t,n,i.value,a),o)return;i=e.next()}}});var X9e=ye((Jgr,Z9e)=>{\"use strict\";Z9e.exports=function(){return typeof WeakMap!=\"function\"?!1:Object.prototype.toString.call(new WeakMap)===\"[object WeakMap]\"}()});var J9e=ye(($gr,K9e)=>{\"use strict\";var uOt=lx(),fF=iF(),cF=AFe(),cOt=i1(),fOt=MFe(),a1=n1(),hOt=TY(),dOt=W9e(),vOt=ux().toStringTag,Y9e=X9e(),pOt=Array.isArray,MY=Object.defineProperty,SY=Object.prototype.hasOwnProperty,gOt=Object.getPrototypeOf,cx;K9e.exports=cx=function(){var e=arguments[0],t;if(!(this instanceof cx))throw new TypeError(\"Constructor requires 'new'\");return t=Y9e&&fF&&WeakMap!==cx?fF(new WeakMap,gOt(this)):this,uOt(e)&&(pOt(e)||(e=hOt(e))),MY(t,\"__weakMapData__\",a1(\"c\",\"$weakMap$\"+fOt())),e&&dOt(e,function(r){cOt(r),t.set(r[0],r[1])}),t};Y9e&&(fF&&fF(cx,WeakMap),cx.prototype=Object.create(WeakMap.prototype,{constructor:a1(cx)}));Object.defineProperties(cx.prototype,{delete:a1(function(e){return SY.call(cF(e),this.__weakMapData__)?(delete e[this.__weakMapData__],!0):!1}),get:a1(function(e){if(SY.call(cF(e),this.__weakMapData__))return e[this.__weakMapData__]}),has:a1(function(e){return SY.call(cF(e),this.__weakMapData__)}),set:a1(function(e,t){return MY(cF(e),this.__weakMapData__,a1(\"c\",t)),this}),toString:a1(function(){return\"[object WeakMap]\"})});MY(cx.prototype,vOt,a1(\"c\",\"WeakMap\"))});var EY=ye((Qgr,$9e)=>{\"use strict\";$9e.exports=fFe()()?WeakMap:J9e()});var eqe=ye((emr,Q9e)=>{\"use strict\";Q9e.exports=function(e,t,r){if(typeof Array.prototype.findIndex==\"function\")return e.findIndex(t,r);if(typeof t!=\"function\")throw new TypeError(\"predicate must be a function\");var n=Object(e),i=n.length;if(i===0)return-1;for(var a=0;a<i;a++)if(t.call(r,n[a],a,n))return a;return-1}});var LY=ye((tmr,iqe)=>{\"use strict\";var hF=$_(),mOt=j2(),CY=bh(),yOt=Zm(),_Ot=W2(),tqe=sFe(),xOt=uFe(),{float32:bOt,fract32:kY}=Xz(),wOt=EY(),rqe=Q5(),TOt=eqe(),AOt=`\n", - "precision highp float;\n", - "\n", - "attribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\n", - "attribute vec4 color;\n", - "attribute float lineEnd, lineTop;\n", - "\n", - "uniform vec2 scale, scaleFract, translate, translateFract;\n", - "uniform float thickness, pixelRatio, id, depth;\n", - "uniform vec4 viewport;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec2 tangent;\n", - "\n", - "vec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n", - "\t// the order is important\n", - "\treturn position * scale + translate\n", - " + positionFract * scale + translateFract\n", - " + position * scaleFract\n", - " + positionFract * scaleFract;\n", - "}\n", - "\n", - "void main() {\n", - "\tfloat lineStart = 1. - lineEnd;\n", - "\tfloat lineOffset = lineTop * 2. - 1.;\n", - "\n", - "\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n", - "\ttangent = normalize(diff * scale * viewport.zw);\n", - "\tvec2 normal = vec2(-tangent.y, tangent.x);\n", - "\n", - "\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\n", - "\t\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\n", - "\n", - "\t\t+ thickness * normal * .5 * lineOffset / viewport.zw;\n", - "\n", - "\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n", - "\n", - "\tfragColor = color / 255.;\n", - "}\n", - "`,SOt=`\n", - "precision highp float;\n", - "\n", - "uniform float dashLength, pixelRatio, thickness, opacity, id;\n", - "uniform sampler2D dashTexture;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec2 tangent;\n", - "\n", - "void main() {\n", - "\tfloat alpha = 1.;\n", - "\n", - "\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\n", - "\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\n", - "\n", - "\tgl_FragColor = fragColor;\n", - "\tgl_FragColor.a *= alpha * opacity * dash;\n", - "}\n", - "`,MOt=`\n", - "precision highp float;\n", - "\n", - "attribute vec2 position, positionFract;\n", - "\n", - "uniform vec4 color;\n", - "uniform vec2 scale, scaleFract, translate, translateFract;\n", - "uniform float pixelRatio, id;\n", - "uniform vec4 viewport;\n", - "uniform float opacity;\n", - "\n", - "varying vec4 fragColor;\n", - "\n", - "const float MAX_LINES = 256.;\n", - "\n", - "void 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", - "`,EOt=`\n", - "precision highp float;\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - "\tgl_FragColor = fragColor;\n", - "}\n", - "`,kOt=`\n", - "precision highp float;\n", - "\n", - "attribute vec2 aCoord, bCoord, nextCoord, prevCoord;\n", - "attribute vec4 aColor, bColor;\n", - "attribute float lineEnd, lineTop;\n", - "\n", - "uniform vec2 scale, translate;\n", - "uniform float thickness, pixelRatio, id, depth;\n", - "uniform vec4 viewport;\n", - "uniform float miterLimit, miterMode;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec4 startCutoff, endCutoff;\n", - "varying vec2 tangent;\n", - "varying vec2 startCoord, endCoord;\n", - "varying float enableStartMiter, enableEndMiter;\n", - "\n", - "const float REVERSE_THRESHOLD = -.875;\n", - "const float MIN_DIFF = 1e-6;\n", - "\n", - "// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\n", - "// TODO: precalculate dot products, normalize things beforehead etc.\n", - "// TODO: refactor to rectangular algorithm\n", - "\n", - "float 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", - "\n", - "bool isNaN( float val ){\n", - " return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\n", - "}\n", - "\n", - "void main() {\n", - "\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n", - "\n", - " vec2 adjustedScale;\n", - " adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x;\n", - " adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y;\n", - "\n", - " vec2 scaleRatio = adjustedScale * viewport.zw;\n", - "\tvec2 normalWidth = thickness / scaleRatio;\n", - "\n", - "\tfloat lineStart = 1. - lineEnd;\n", - "\tfloat lineBot = 1. - lineTop;\n", - "\n", - "\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\n", - "\n", - "\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\n", - "\n", - "\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\n", - "\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\n", - "\n", - "\n", - "\tvec2 prevDiff = aCoord - prevCoord;\n", - "\tvec2 currDiff = bCoord - aCoord;\n", - "\tvec2 nextDiff = nextCoord - bCoord;\n", - "\n", - "\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\n", - "\tvec2 currTangent = normalize(currDiff * scaleRatio);\n", - "\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\n", - "\n", - "\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\n", - "\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\n", - "\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\n", - "\n", - "\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\n", - "\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\n", - "\n", - "\t// collapsed/unidirectional segment cases\n", - "\t// FIXME: there should be more elegant solution\n", - "\tvec2 prevTanDiff = abs(prevTangent - currTangent);\n", - "\tvec2 nextTanDiff = abs(nextTangent - currTangent);\n", - "\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\n", - "\t\tstartJoinDirection = currNormal;\n", - "\t}\n", - "\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\n", - "\t\tendJoinDirection = currNormal;\n", - "\t}\n", - "\tif (aCoord == bCoord) {\n", - "\t\tendJoinDirection = startJoinDirection;\n", - "\t\tcurrNormal = prevNormal;\n", - "\t\tcurrTangent = prevTangent;\n", - "\t}\n", - "\n", - "\ttangent = currTangent;\n", - "\n", - "\t//calculate join shifts relative to normals\n", - "\tfloat startJoinShift = dot(currNormal, startJoinDirection);\n", - "\tfloat endJoinShift = dot(currNormal, endJoinDirection);\n", - "\n", - "\tfloat startMiterRatio = abs(1. / startJoinShift);\n", - "\tfloat endMiterRatio = abs(1. / endJoinShift);\n", - "\n", - "\tvec2 startJoin = startJoinDirection * startMiterRatio;\n", - "\tvec2 endJoin = endJoinDirection * endMiterRatio;\n", - "\n", - "\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\n", - "\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\n", - "\tstartBotJoin = -startTopJoin;\n", - "\n", - "\tendTopJoin = sign(endJoinShift) * endJoin * .5;\n", - "\tendBotJoin = -endTopJoin;\n", - "\n", - "\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\n", - "\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\n", - "\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\n", - "\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\n", - "\n", - "\t//miter anti-clipping\n", - "\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\n", - "\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\n", - "\n", - "\t//prevent close to reverse direction switch\n", - "\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) < length(normalWidth * currNormal);\n", - "\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) < length(normalWidth * currNormal);\n", - "\n", - "\tif (prevReverse) {\n", - "\t\t//make join rectangular\n", - "\t\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\n", - "\t\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\n", - "\t\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n", - "\t\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n", - "\t}\n", - "\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\n", - "\t\t//handle miter clipping\n", - "\t\tbTopCoord -= normalWidth * endTopJoin;\n", - "\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n", - "\t}\n", - "\n", - "\tif (nextReverse) {\n", - "\t\t//make join rectangular\n", - "\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n", - "\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n", - "\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n", - "\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n", - "\t}\n", - "\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n", - "\t\t//handle miter clipping\n", - "\t\taBotCoord -= normalWidth * startBotJoin;\n", - "\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n", - "\t}\n", - "\n", - "\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n", - "\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n", - "\n", - "\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n", - "\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n", - "\n", - "\t//position is normalized 0..1 coord on the screen\n", - "\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n", - "\n", - "\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n", - "\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n", - "\n", - "\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n", - "\n", - "\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n", - "\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n", - "\n", - "\t//bevel miter cutoffs\n", - "\tif (miterMode == 1.) {\n", - "\t\tif (enableStartMiter == 1.) {\n", - "\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n", - "\t\t\tstartCutoff = vec4(aCoord, aCoord);\n", - "\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n", - "\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", - "\t\t\tstartCutoff += viewport.xyxy;\n", - "\t\t\tstartCutoff += startMiterWidth.xyxy;\n", - "\t\t}\n", - "\n", - "\t\tif (enableEndMiter == 1.) {\n", - "\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n", - "\t\t\tendCutoff = vec4(bCoord, bCoord);\n", - "\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n", - "\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", - "\t\t\tendCutoff += viewport.xyxy;\n", - "\t\t\tendCutoff += endMiterWidth.xyxy;\n", - "\t\t}\n", - "\t}\n", - "\n", - "\t//round miter cutoffs\n", - "\telse if (miterMode == 2.) {\n", - "\t\tif (enableStartMiter == 1.) {\n", - "\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n", - "\t\t\tstartCutoff = vec4(aCoord, aCoord);\n", - "\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n", - "\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", - "\t\t\tstartCutoff += viewport.xyxy;\n", - "\t\t\tstartCutoff += startMiterWidth.xyxy;\n", - "\t\t}\n", - "\n", - "\t\tif (enableEndMiter == 1.) {\n", - "\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n", - "\t\t\tendCutoff = vec4(bCoord, bCoord);\n", - "\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n", - "\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", - "\t\t\tendCutoff += viewport.xyxy;\n", - "\t\t\tendCutoff += endMiterWidth.xyxy;\n", - "\t\t}\n", - "\t}\n", - "}\n", - "`,COt=`\n", - "precision highp float;\n", - "\n", - "uniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\n", - "uniform sampler2D dashTexture;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec2 tangent;\n", - "varying vec4 startCutoff, endCutoff;\n", - "varying vec2 startCoord, endCoord;\n", - "varying float enableStartMiter, enableEndMiter;\n", - "\n", - "float 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", - "\n", - "void 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", - "`;iqe.exports=uc;function uc(e,t){if(!(this instanceof uc))return new uc(e,t);if(typeof e==\"function\"?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),e=t.regl,!e.hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");this.gl=e._gl,this.regl=e,this.passes=[],this.shaders=uc.shaders.has(e)?uc.shaders.get(e):uc.shaders.set(e,uc.createShaders(e)).get(e),this.update(t)}uc.dashMult=2;uc.maxPatternLength=256;uc.precisionThreshold=3e6;uc.maxPoints=1e4;uc.maxLines=2048;uc.shaders=new wOt;uc.createShaders=function(e){let t=e.buffer({usage:\"static\",type:\"float\",data:[0,1,0,0,1,1,1,0]}),r={primitive:\"triangle strip\",instances:e.prop(\"count\"),count:4,offset:0,uniforms:{miterMode:(o,s)=>s.join===\"round\"?2:1,miterLimit:e.prop(\"miterLimit\"),scale:e.prop(\"scale\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),translate:e.prop(\"translate\"),thickness:e.prop(\"thickness\"),dashTexture:e.prop(\"dashTexture\"),opacity:e.prop(\"opacity\"),pixelRatio:e.context(\"pixelRatio\"),id:e.prop(\"id\"),dashLength:e.prop(\"dashLength\"),viewport:(o,s)=>[s.viewport.x,s.viewport.y,o.viewportWidth,o.viewportHeight],depth:e.prop(\"depth\")},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:(o,s)=>!s.overlay},stencil:{enable:!1},scissor:{enable:!0,box:e.prop(\"viewport\")},viewport:e.prop(\"viewport\")},n=e(CY({vert:AOt,frag:SOt,attributes:{lineEnd:{buffer:t,divisor:0,stride:8,offset:0},lineTop:{buffer:t,divisor:0,stride:8,offset:4},aCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:16,divisor:1},color:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1}}},r)),i;try{i=e(CY({cull:{enable:!0,face:\"back\"},vert:kOt,frag:COt,attributes:{lineEnd:{buffer:t,divisor:0,stride:8,offset:0},lineTop:{buffer:t,divisor:0,stride:8,offset:4},aColor:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1},bColor:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:4,divisor:1},prevCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:0,divisor:1},aCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},nextCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:24,divisor:1}}},r))}catch(o){i=n}return{fill:e({primitive:\"triangle\",elements:(o,s)=>s.triangles,offset:0,vert:MOt,frag:EOt,uniforms:{scale:e.prop(\"scale\"),color:e.prop(\"fill\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),translate:e.prop(\"translate\"),opacity:e.prop(\"opacity\"),pixelRatio:e.context(\"pixelRatio\"),id:e.prop(\"id\"),viewport:(o,s)=>[s.viewport.x,s.viewport.y,o.viewportWidth,o.viewportHeight]},attributes:{position:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8},positionFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:8}},blend:r.blend,depth:{enable:!1},scissor:r.scissor,stencil:r.stencil,viewport:r.viewport}),rect:n,miter:i}};uc.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};uc.prototype.render=function(...e){e.length&&this.update(...e),this.draw()};uc.prototype.draw=function(...e){return(e.length?e:this.passes).forEach((t,r)=>{if(t&&Array.isArray(t))return this.draw(...t);typeof t==\"number\"&&(t=this.passes[t]),t&&t.count>1&&t.opacity&&(this.regl._refresh(),t.fill&&t.triangles&&t.triangles.length>2&&this.shaders.fill(t),t.thickness&&(t.scale[0]*t.viewport.width>uc.precisionThreshold||t.scale[1]*t.viewport.height>uc.precisionThreshold?this.shaders.rect(t):t.join===\"rect\"||!t.join&&(t.thickness<=2||t.count>=uc.maxPoints)?this.shaders.rect(t):this.shaders.miter(t)))}),this};uc.prototype.update=function(e){if(!e)return;e.length!=null?typeof e[0]==\"number\"&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);let{regl:t,gl:r}=this;if(e.forEach((i,a)=>{let o=this.passes[a];if(i!==void 0){if(i===null){this.passes[a]=null;return}if(typeof i[0]==\"number\"&&(i={positions:i}),i=yOt(i,{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\"}),o||(this.passes[a]=o={id:a,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:t.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:\"linear\",min:\"linear\"}),colorBuffer:t.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array}),positionBuffer:t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),positionFractBuffer:t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array})},i=CY({},uc.defaults,i)),i.thickness!=null&&(o.thickness=parseFloat(i.thickness)),i.opacity!=null&&(o.opacity=parseFloat(i.opacity)),i.miterLimit!=null&&(o.miterLimit=parseFloat(i.miterLimit)),i.overlay!=null&&(o.overlay=!!i.overlay,a<uc.maxLines&&(o.depth=2*(uc.maxLines-1-a%uc.maxLines)/uc.maxLines-1)),i.join!=null&&(o.join=i.join),i.hole!=null&&(o.hole=i.hole),i.fill!=null&&(o.fill=i.fill?hF(i.fill,\"uint8\"):null),i.viewport!=null&&(o.viewport=rqe(i.viewport)),o.viewport||(o.viewport=rqe([r.drawingBufferWidth,r.drawingBufferHeight])),i.close!=null&&(o.close=i.close),i.positions===null&&(i.positions=[]),i.positions){let u,c;if(i.positions.x&&i.positions.y){let v=i.positions.x,x=i.positions.y;c=o.count=Math.max(v.length,x.length),u=new Float64Array(c*2);for(let b=0;b<c;b++)u[b*2]=v[b],u[b*2+1]=x[b]}else u=_Ot(i.positions,\"float64\"),c=o.count=Math.floor(u.length/2);let f=o.bounds=mOt(u,2);if(o.fill){let v=[],x={},b=0;for(let p=0,E=0,k=o.count;p<k;p++){let A=u[p*2],L=u[p*2+1];isNaN(A)||isNaN(L)||A==null||L==null?(A=u[b*2],L=u[b*2+1],x[p]=b):b=p,v[E++]=A,v[E++]=L}if(i.splitNull){o.count-1 in x||(x[o.count]=o.count-1);let p=Object.keys(x).map(Number).sort((L,_)=>L-_),E=[],k=0,A=o.hole!=null?o.hole[0]:null;if(A!=null){let L=TOt(p,_=>_>=A);p=p.slice(0,L),p.push(A)}for(let L=0;L<p.length;L++){let _=v.slice(k*2,p[L]*2).concat(A?v.slice(A*2):[]),C=(o.hole||[]).map(g=>g-A+(p[L]-k)),M=tqe(_,C);M=M.map(g=>g+k+(g+k<p[L]?0:A-p[L])),E.push(...M),k=p[L]+1}for(let L=0,_=E.length;L<_;L++)x[E[L]]!=null&&(E[L]=x[E[L]]);o.triangles=E}else{let p=tqe(v,o.hole||[]);for(let E=0,k=p.length;E<k;E++)x[p[E]]!=null&&(p[E]=x[p[E]]);o.triangles=p}}let h=new Float64Array(u);xOt(h,2,f);let d=new Float64Array(c*2+6);o.close?u[0]===u[c*2-2]&&u[1]===u[c*2-1]?(d[0]=h[c*2-4],d[1]=h[c*2-3]):(d[0]=h[c*2-2],d[1]=h[c*2-1]):(d[0]=h[0],d[1]=h[1]),d.set(h,2),o.close?u[0]===u[c*2-2]&&u[1]===u[c*2-1]?(d[c*2+2]=h[2],d[c*2+3]=h[3],o.count-=1):(d[c*2+2]=h[0],d[c*2+3]=h[1],d[c*2+4]=h[2],d[c*2+5]=h[3]):(d[c*2+2]=h[c*2-2],d[c*2+3]=h[c*2-1],d[c*2+4]=h[c*2-2],d[c*2+5]=h[c*2-1]);var s=bOt(d);o.positionBuffer(s);var l=kY(d,s);o.positionFractBuffer(l)}if(i.range?o.range=i.range:o.range||(o.range=o.bounds),(i.range||i.positions)&&o.count){let u=o.bounds,c=u[2]-u[0],f=u[3]-u[1],h=o.range[2]-o.range[0],d=o.range[3]-o.range[1];o.scale=[c/h,f/d],o.translate=[-o.range[0]/h+u[0]/h||0,-o.range[1]/d+u[1]/d||0],o.scaleFract=kY(o.scale),o.translateFract=kY(o.translate)}if(i.dashes){let u=0,c;if(!i.dashes||i.dashes.length<2)u=1,c=new Uint8Array([255,255,255,255,255,255,255,255]);else{u=0;for(let d=0;d<i.dashes.length;++d)u+=i.dashes[d];c=new Uint8Array(u*uc.dashMult);let f=0,h=255;for(let d=0;d<2;d++)for(let v=0;v<i.dashes.length;++v){for(let x=0,b=i.dashes[v]*uc.dashMult*.5;x<b;++x)c[f++]=h;h^=255}}o.dashLength=u,o.dashTexture({channels:1,data:c,width:c.length,height:1,mag:\"linear\",min:\"linear\"},0,0)}if(i.color){let u=o.count,c=i.color;c||(c=\"transparent\");let f=new Uint8Array(u*4+4);if(!Array.isArray(c)||typeof c[0]==\"number\"){let h=hF(c,\"uint8\");for(let d=0;d<u+1;d++)f.set(h,d*4)}else{for(let h=0;h<u;h++){let d=hF(c[h],\"uint8\");f.set(d,h*4)}f.set(hF(c[0],\"uint8\"),u*4)}o.colorBuffer({usage:\"dynamic\",type:\"uint8\",data:f})}}}),e.length<this.passes.length){for(let i=e.length;i<this.passes.length;i++){let a=this.passes[i];a&&(a.colorBuffer.destroy(),a.positionBuffer.destroy(),a.dashTexture.destroy())}this.passes.length=e.length}let n=[];for(let i=0;i<this.passes.length;i++)this.passes[i]!==null&&n.push(this.passes[i]);return this.passes=n,this};uc.prototype.destroy=function(){return this.passes.forEach(e=>{e.colorBuffer.destroy(),e.positionBuffer.destroy(),e.dashTexture.destroy()}),this.passes.length=0,this}});var lqe=ye((rmr,sqe)=>{\"use strict\";var LOt=j2(),POt=$_(),IOt=JX(),ROt=Zm(),nqe=bh(),aqe=W2(),{float32:DOt,fract32:PY}=Xz();sqe.exports=zOt;var oqe=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]];function zOt(e,t){if(typeof e==\"function\"?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),e=t.regl,!e.hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");let r=e._gl,n,i,a,o,s,l,u={color:\"black\",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},c=[];return o=e.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array(0)}),i=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),a=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),s=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),l=e.buffer({usage:\"static\",type:\"float\",data:oqe}),v(t),n=e({vert:`\n", - "\t\tprecision highp float;\n", - "\n", - "\t\tattribute vec2 position, positionFract;\n", - "\t\tattribute vec4 error;\n", - "\t\tattribute vec4 color;\n", - "\n", - "\t\tattribute vec2 direction, lineOffset, capOffset;\n", - "\n", - "\t\tuniform vec4 viewport;\n", - "\t\tuniform float lineWidth, capSize;\n", - "\t\tuniform vec2 scale, scaleFract, translate, translateFract;\n", - "\n", - "\t\tvarying vec4 fragColor;\n", - "\n", - "\t\tvoid main() {\n", - "\t\t\tfragColor = color / 255.;\n", - "\n", - "\t\t\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\n", - "\n", - "\t\t\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\n", - "\n", - "\t\t\tvec2 position = position + dxy;\n", - "\n", - "\t\t\tvec2 pos = (position + translate) * scale\n", - "\t\t\t\t+ (positionFract + translateFract) * scale\n", - "\t\t\t\t+ (position + translate) * scaleFract\n", - "\t\t\t\t+ (positionFract + translateFract) * scaleFract;\n", - "\n", - "\t\t\tpos += pixelOffset / viewport.zw;\n", - "\n", - "\t\t\tgl_Position = vec4(pos * 2. - 1., 0, 1);\n", - "\t\t}\n", - "\t\t`,frag:`\n", - "\t\tprecision highp float;\n", - "\n", - "\t\tvarying vec4 fragColor;\n", - "\n", - "\t\tuniform float opacity;\n", - "\n", - "\t\tvoid main() {\n", - "\t\t\tgl_FragColor = fragColor;\n", - "\t\t\tgl_FragColor.a *= opacity;\n", - "\t\t}\n", - "\t\t`,uniforms:{range:e.prop(\"range\"),lineWidth:e.prop(\"lineWidth\"),capSize:e.prop(\"capSize\"),opacity:e.prop(\"opacity\"),scale:e.prop(\"scale\"),translate:e.prop(\"translate\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),viewport:(b,p)=>[p.viewport.x,p.viewport.y,b.viewportWidth,b.viewportHeight]},attributes:{color:{buffer:o,offset:(b,p)=>p.offset*4,divisor:1},position:{buffer:i,offset:(b,p)=>p.offset*8,divisor:1},positionFract:{buffer:a,offset:(b,p)=>p.offset*8,divisor:1},error:{buffer:s,offset:(b,p)=>p.offset*16,divisor:1},direction:{buffer:l,stride:24,offset:0},lineOffset:{buffer:l,stride:24,offset:8},capOffset:{buffer:l,stride:24,offset:16}},primitive:\"triangles\",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:!1},scissor:{enable:!0,box:e.prop(\"viewport\")},viewport:e.prop(\"viewport\"),stencil:!1,instances:e.prop(\"count\"),count:oqe.length}),nqe(f,{update:v,draw:h,destroy:x,regl:e,gl:r,canvas:r.canvas,groups:c}),f;function f(b){b?v(b):b===null&&x(),h()}function h(b){if(typeof b==\"number\")return d(b);b&&!Array.isArray(b)&&(b=[b]),e._refresh(),c.forEach((p,E)=>{if(p){if(b&&(b[E]?p.draw=!0:p.draw=!1),!p.draw){p.draw=!0;return}d(E)}})}function d(b){typeof b==\"number\"&&(b=c[b]),b!=null&&b&&b.count&&b.color&&b.opacity&&b.positions&&b.positions.length>1&&(b.scaleRatio=[b.scale[0]*b.viewport.width,b.scale[1]*b.viewport.height],n(b),b.after&&b.after(b))}function v(b){if(!b)return;b.length!=null?typeof b[0]==\"number\"&&(b=[{positions:b}]):Array.isArray(b)||(b=[b]);let p=0,E=0;if(f.groups=c=b.map((L,_)=>{let C=c[_];if(L)typeof L==\"function\"?L={after:L}:typeof L[0]==\"number\"&&(L={positions:L});else return C;return L=ROt(L,{color:\"color colors fill\",capSize:\"capSize cap capsize cap-size\",lineWidth:\"lineWidth line-width width line thickness\",opacity:\"opacity alpha\",range:\"range dataBox\",viewport:\"viewport viewBox\",errors:\"errors error\",positions:\"positions position data points\"}),C||(c[_]=C={id:_,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},L=nqe({},u,L)),IOt(C,L,[{lineWidth:M=>+M*.5,capSize:M=>+M*.5,opacity:parseFloat,errors:M=>(M=aqe(M),E+=M.length,M),positions:(M,g)=>(M=aqe(M,\"float64\"),g.count=Math.floor(M.length/2),g.bounds=LOt(M,2),g.offset=p,p+=g.count,M)},{color:(M,g)=>{let P=g.count;if(M||(M=\"transparent\"),!Array.isArray(M)||typeof M[0]==\"number\"){let F=M;M=Array(P);for(let q=0;q<P;q++)M[q]=F}if(M.length<P)throw Error(\"Not enough colors\");let T=new Uint8Array(P*4);for(let F=0;F<P;F++){let q=POt(M[F],\"uint8\");T.set(q,F*4)}return T},range:(M,g,P)=>{let T=g.bounds;return M||(M=T),g.scale=[1/(M[2]-M[0]),1/(M[3]-M[1])],g.translate=[-M[0],-M[1]],g.scaleFract=PY(g.scale),g.translateFract=PY(g.translate),M},viewport:M=>{let g;return Array.isArray(M)?g={x:M[0],y:M[1],width:M[2]-M[0],height:M[3]-M[1]}:M?(g={x:M.x||M.left||0,y:M.y||M.top||0},M.right?g.width=M.right-g.x:g.width=M.w||M.width||0,M.bottom?g.height=M.bottom-g.y:g.height=M.h||M.height||0):g={x:0,y:0,width:r.drawingBufferWidth,height:r.drawingBufferHeight},g}}]),C}),p||E){let L=c.reduce((g,P,T)=>g+(P?P.count:0),0),_=new Float64Array(L*2),C=new Uint8Array(L*4),M=new Float32Array(L*4);c.forEach((g,P)=>{if(!g)return;let{positions:T,count:F,offset:q,color:V,errors:H}=g;F&&(C.set(V,q*4),M.set(H,q*4),_.set(T,q*2))});var k=DOt(_);i(k);var A=PY(_,k);a(A),o(C),s(M)}}function x(){i.destroy(),a.destroy(),o.destroy(),s.destroy(),l.destroy()}}});var fqe=ye((imr,cqe)=>{var uqe=/[\\'\\\"]/;cqe.exports=function(t){return t?(uqe.test(t.charAt(0))&&(t=t.substr(1)),uqe.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):\"\"}});var IY=ye(()=>{});var RY=ye(()=>{});var DY=ye(()=>{});var zY=ye(()=>{});var FY=ye(()=>{});var pqe=ye((vmr,vqe)=>{\"use strict\";function hqe(e,t){if(typeof e!=\"string\")return[e];var r=[e];typeof t==\"string\"||Array.isArray(t)?t={brackets:t}:t||(t={});var n=t.brackets?Array.isArray(t.brackets)?t.brackets:[t.brackets]:[\"{}\",\"[]\",\"()\"],i=t.escape||\"___\",a=!!t.flat;n.forEach(function(l){var u=new RegExp([\"\\\\\",l[0],\"[^\\\\\",l[0],\"\\\\\",l[1],\"]*\\\\\",l[1]].join(\"\")),c=[];function f(h,d,v){var x=r.push(h.slice(l[0].length,-l[1].length))-1;return c.push(x),i+x+i}r.forEach(function(h,d){for(var v,x=0;h!=v;)if(v=h,h=h.replace(u,f),x++>1e4)throw Error(\"References have circular dependency. Please, check them.\");r[d]=h}),c=c.reverse(),r=r.map(function(h){return c.forEach(function(d){h=h.replace(new RegExp(\"(\\\\\"+i+d+\"\\\\\"+i+\")\",\"g\"),l[0]+\"$1\"+l[1])}),h})});var o=new RegExp(\"\\\\\"+i+\"([0-9]+)\\\\\"+i);function s(l,u,c){for(var f=[],h,d=0;h=o.exec(l);){if(d++>1e4)throw Error(\"Circular references in parenthesis\");f.push(l.slice(0,h.index)),f.push(s(u[h[1]],u)),l=l.slice(h.index+h[0].length)}return f.push(l),f}return a?r:s(r[0],r)}function dqe(e,t){if(t&&t.flat){var r=t&&t.escape||\"___\",n=e[0],i;if(!n)return\"\";for(var a=new RegExp(\"\\\\\"+r+\"([0-9]+)\\\\\"+r),o=0;n!=i;){if(o++>1e4)throw Error(\"Circular references in \"+e);i=n,n=n.replace(a,s)}return n}return e.reduce(function l(u,c){return Array.isArray(c)&&(c=c.reduce(l,\"\")),u+c},\"\");function s(l,u){if(e[u]==null)throw Error(\"Reference \"+u+\"is undefined\");return e[u]}}function qY(e,t){return Array.isArray(e)?dqe(e,t):hqe(e,t)}qY.parse=hqe;qY.stringify=dqe;vqe.exports=qY});var yqe=ye((pmr,mqe)=>{\"use strict\";var gqe=pqe();mqe.exports=function(t,r,n){if(t==null)throw Error(\"First argument should be a string\");if(r==null)throw Error(\"Separator should be a string or a RegExp\");n?(typeof n==\"string\"||Array.isArray(n))&&(n={ignore:n}):n={},n.escape==null&&(n.escape=!0),n.ignore==null?n.ignore=[\"[]\",\"()\",\"{}\",\"<>\",'\"\"',\"''\",\"``\",\"\\u201C\\u201D\",\"\\xAB\\xBB\"]:(typeof n.ignore==\"string\"&&(n.ignore=[n.ignore]),n.ignore=n.ignore.map(function(f){return f.length===1&&(f=f+f),f}));var i=gqe.parse(t,{flat:!0,brackets:n.ignore}),a=i[0],o=a.split(r);if(n.escape){for(var s=[],l=0;l<o.length;l++){var u=o[l],c=o[l+1];u[u.length-1]===\"\\\\\"&&u[u.length-2]!==\"\\\\\"?(s.push(u+r+c),l++):s.push(u)}o=s}for(var l=0;l<o.length;l++)i[0]=o[l],o[l]=gqe.stringify(i,{flat:!0});return o}});var _qe=ye(()=>{});var OY=ye((ymr,xqe)=>{\"use strict\";var FOt=_qe();xqe.exports={isSize:function(t){return/^[\\d\\.]/.test(t)||t.indexOf(\"/\")!==-1||FOt.indexOf(t)!==-1}}});var Aqe=ye((_mr,Tqe)=>{\"use strict\";var qOt=fqe(),OOt=IY(),BOt=RY(),NOt=DY(),UOt=zY(),VOt=FY(),BY=yqe(),HOt=OY().isSize;Tqe.exports=wqe;var gk=wqe.cache={};function wqe(e){if(typeof e!=\"string\")throw new Error(\"Font argument must be a string.\");if(gk[e])return gk[e];if(e===\"\")throw new Error(\"Cannot parse an empty string.\");if(BOt.indexOf(e)!==-1)return gk[e]={system:e};for(var t={style:\"normal\",variant:\"normal\",weight:\"normal\",stretch:\"normal\",lineHeight:\"normal\",size:\"1rem\",family:[\"serif\"]},r=BY(e,/\\s+/),n;n=r.shift();){if(OOt.indexOf(n)!==-1)return[\"style\",\"variant\",\"weight\",\"stretch\"].forEach(function(a){t[a]=n}),gk[e]=t;if(UOt.indexOf(n)!==-1){t.style=n;continue}if(n===\"normal\"||n===\"small-caps\"){t.variant=n;continue}if(VOt.indexOf(n)!==-1){t.stretch=n;continue}if(NOt.indexOf(n)!==-1){t.weight=n;continue}if(HOt(n)){var i=BY(n,\"/\");if(t.size=i[0],i[1]!=null?t.lineHeight=bqe(i[1]):r[0]===\"/\"&&(r.shift(),t.lineHeight=bqe(r.shift())),!r.length)throw new Error(\"Missing required font-family.\");return t.family=BY(r.join(\" \"),/\\s*,\\s*/).map(qOt),gk[e]=t}throw new Error(\"Unknown or unsupported font token: \"+n)}throw new Error(\"Missing required font-size.\")}function bqe(e){var t=parseFloat(e);return t.toString()===e?t:e}});var UY=ye((xmr,Sqe)=>{\"use strict\";var GOt=Zm(),jOt=OY().isSize,WOt=yk(IY()),ZOt=yk(RY()),XOt=yk(DY()),YOt=yk(zY()),KOt=yk(FY()),JOt={normal:1,\"small-caps\":1},$Ot={serif:1,\"sans-serif\":1,monospace:1,cursive:1,fantasy:1,\"system-ui\":1},NY={style:\"normal\",variant:\"normal\",weight:\"normal\",stretch:\"normal\",size:\"1rem\",lineHeight:\"normal\",family:\"serif\"};Sqe.exports=function(t){if(t=GOt(t,{style:\"style fontstyle fontStyle font-style slope distinction\",variant:\"variant font-variant fontVariant fontvariant var capitalization\",weight:\"weight w font-weight fontWeight fontweight\",stretch:\"stretch font-stretch fontStretch fontstretch width\",size:\"size s font-size fontSize fontsize height em emSize\",lineHeight:\"lh line-height lineHeight lineheight leading\",family:\"font family fontFamily font-family fontfamily type typeface face\",system:\"system reserved default global\"}),t.system)return t.system&&mk(t.system,ZOt),t.system;if(mk(t.style,YOt),mk(t.variant,JOt),mk(t.weight,XOt),mk(t.stretch,KOt),t.size==null&&(t.size=NY.size),typeof t.size==\"number\"&&(t.size+=\"px\"),!jOt)throw Error(\"Bad size value `\"+t.size+\"`\");t.family||(t.family=NY.family),Array.isArray(t.family)&&(t.family.length||(t.family=[NY.family]),t.family=t.family.map(function(n){return $Ot[n]?n:'\"'+n+'\"'}).join(\", \"));var r=[];return r.push(t.style),t.variant!==t.style&&r.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&r.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&r.push(t.stretch),r.push(t.size+(t.lineHeight==null||t.lineHeight===\"normal\"||t.lineHeight+\"\"==\"1\"?\"\":\"/\"+t.lineHeight)),r.push(t.family),r.filter(Boolean).join(\" \")};function mk(e,t){if(e&&!t[e]&&!WOt[e])throw Error(\"Unknown keyword `\"+e+\"`\");return e}function yk(e){for(var t={},r=0;r<e.length;r++)t[e[r]]=1;return t}});var Eqe=ye((bmr,Mqe)=>{\"use strict\";Mqe.exports={parse:Aqe(),stringify:UY()}});var GY=ye((VY,HY)=>{(function(e,t){typeof VY==\"object\"&&typeof HY!=\"undefined\"?HY.exports=t():e.createREGL=t()})(VY,function(){\"use strict\";var e=function(At,Er){for(var Wr=Object.keys(Er),wi=0;wi<Wr.length;++wi)At[Wr[wi]]=Er[Wr[wi]];return At},t=0,r=0,n=5,i=6;function a(At,Er){this.id=t++,this.type=At,this.data=Er}function o(At){return At.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')}function s(At){if(At.length===0)return[];var Er=At.charAt(0),Wr=At.charAt(At.length-1);if(At.length>1&&Er===Wr&&(Er==='\"'||Er===\"'\"))return['\"'+o(At.substr(1,At.length-2))+'\"'];var wi=/\\[(false|true|null|\\d+|'[^']*'|\"[^\"]*\")\\]/.exec(At);if(wi)return s(At.substr(0,wi.index)).concat(s(wi[1])).concat(s(At.substr(wi.index+wi[0].length)));var Ui=At.split(\".\");if(Ui.length===1)return['\"'+o(At)+'\"'];for(var Oi=[],Bi=0;Bi<Ui.length;++Bi)Oi=Oi.concat(s(Ui[Bi]));return Oi}function l(At){return\"[\"+s(At).join(\"][\")+\"]\"}function u(At,Er){return new a(At,l(Er+\"\"))}function c(At){return typeof At==\"function\"&&!At._reglType||At instanceof a}function f(At,Er){if(typeof At==\"function\")return new a(r,At);if(typeof At==\"number\"||typeof At==\"boolean\")return new a(n,At);if(Array.isArray(At))return new a(i,At.map(function(Wr,wi){return f(Wr,Er+\"[\"+wi+\"]\")}));if(At instanceof a)return At}var h={DynamicVariable:a,define:u,isDynamic:c,unbox:f,accessor:l},d={next:typeof requestAnimationFrame==\"function\"?function(At){return requestAnimationFrame(At)}:function(At){return setTimeout(At,16)},cancel:typeof cancelAnimationFrame==\"function\"?function(At){return cancelAnimationFrame(At)}:clearTimeout},v=typeof performance!=\"undefined\"&&performance.now?function(){return performance.now()}:function(){return+new Date};function x(){var At={\"\":0},Er=[\"\"];return{id:function(Wr){var wi=At[Wr];return wi||(wi=At[Wr]=Er.length,Er.push(Wr),wi)},str:function(Wr){return Er[Wr]}}}function b(At,Er,Wr){var wi=document.createElement(\"canvas\");e(wi.style,{border:0,margin:0,padding:0,top:0,left:0,width:\"100%\",height:\"100%\"}),At.appendChild(wi),At===document.body&&(wi.style.position=\"absolute\",e(At.style,{margin:0,padding:0}));function Ui(){var cn=window.innerWidth,On=window.innerHeight;if(At!==document.body){var Bn=wi.getBoundingClientRect();cn=Bn.right-Bn.left,On=Bn.bottom-Bn.top}wi.width=Wr*cn,wi.height=Wr*On}var Oi;At!==document.body&&typeof ResizeObserver==\"function\"?(Oi=new ResizeObserver(function(){setTimeout(Ui)}),Oi.observe(At)):window.addEventListener(\"resize\",Ui,!1);function Bi(){Oi?Oi.disconnect():window.removeEventListener(\"resize\",Ui),At.removeChild(wi)}return Ui(),{canvas:wi,onDestroy:Bi}}function p(At,Er){function Wr(wi){try{return At.getContext(wi,Er)}catch(Ui){return null}}return Wr(\"webgl\")||Wr(\"experimental-webgl\")||Wr(\"webgl-experimental\")}function E(At){return typeof At.nodeName==\"string\"&&typeof At.appendChild==\"function\"&&typeof At.getBoundingClientRect==\"function\"}function k(At){return typeof At.drawArrays==\"function\"||typeof At.drawElements==\"function\"}function A(At){return typeof At==\"string\"?At.split():At}function L(At){return typeof At==\"string\"?document.querySelector(At):At}function _(At){var Er=At||{},Wr,wi,Ui,Oi,Bi={},cn=[],On=[],Bn=typeof window==\"undefined\"?1:window.devicePixelRatio,yn=!1,to={},Rn=function(Ai){},Dn=function(){};if(typeof Er==\"string\"?Wr=document.querySelector(Er):typeof Er==\"object\"&&(E(Er)?Wr=Er:k(Er)?(Oi=Er,Ui=Oi.canvas):(\"gl\"in Er?Oi=Er.gl:\"canvas\"in Er?Ui=L(Er.canvas):\"container\"in Er&&(wi=L(Er.container)),\"attributes\"in Er&&(Bi=Er.attributes),\"extensions\"in Er&&(cn=A(Er.extensions)),\"optionalExtensions\"in Er&&(On=A(Er.optionalExtensions)),\"onDone\"in Er&&(Rn=Er.onDone),\"profile\"in Er&&(yn=!!Er.profile),\"pixelRatio\"in Er&&(Bn=+Er.pixelRatio),\"cachedCode\"in Er&&(to=Er.cachedCode))),Wr&&(Wr.nodeName.toLowerCase()===\"canvas\"?Ui=Wr:wi=Wr),!Oi){if(!Ui){var fn=b(wi||document.body,Rn,Bn);if(!fn)return null;Ui=fn.canvas,Dn=fn.onDestroy}Bi.premultipliedAlpha===void 0&&(Bi.premultipliedAlpha=!0),Oi=p(Ui,Bi)}return Oi?{gl:Oi,canvas:Ui,container:wi,extensions:cn,optionalExtensions:On,pixelRatio:Bn,profile:yn,cachedCode:to,onDone:Rn,onDestroy:Dn}:(Dn(),Rn(\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\"),null)}function C(At,Er){var Wr={};function wi(Bi){var cn=Bi.toLowerCase(),On;try{On=Wr[cn]=At.getExtension(cn)}catch(Bn){}return!!On}for(var Ui=0;Ui<Er.extensions.length;++Ui){var Oi=Er.extensions[Ui];if(!wi(Oi))return Er.onDestroy(),Er.onDone('\"'+Oi+'\" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return Er.optionalExtensions.forEach(wi),{extensions:Wr,restore:function(){Object.keys(Wr).forEach(function(Bi){if(Wr[Bi]&&!wi(Bi))throw new Error(\"(regl): error restoring extension \"+Bi)})}}}function M(At,Er){for(var Wr=Array(At),wi=0;wi<At;++wi)Wr[wi]=Er(wi);return Wr}var g=5120,P=5121,T=5122,F=5123,q=5124,V=5125,H=5126;function X(At){for(var Er=16;Er<=1<<28;Er*=16)if(At<=Er)return Er;return 0}function G(At){var Er,Wr;return Er=(At>65535)<<4,At>>>=Er,Wr=(At>255)<<3,At>>>=Wr,Er|=Wr,Wr=(At>15)<<2,At>>>=Wr,Er|=Wr,Wr=(At>3)<<1,At>>>=Wr,Er|=Wr,Er|At>>1}function N(){var At=M(8,function(){return[]});function Er(Oi){var Bi=X(Oi),cn=At[G(Bi)>>2];return cn.length>0?cn.pop():new ArrayBuffer(Bi)}function Wr(Oi){At[G(Oi.byteLength)>>2].push(Oi)}function wi(Oi,Bi){var cn=null;switch(Oi){case g:cn=new Int8Array(Er(Bi),0,Bi);break;case P:cn=new Uint8Array(Er(Bi),0,Bi);break;case T:cn=new Int16Array(Er(2*Bi),0,Bi);break;case F:cn=new Uint16Array(Er(2*Bi),0,Bi);break;case q:cn=new Int32Array(Er(4*Bi),0,Bi);break;case V:cn=new Uint32Array(Er(4*Bi),0,Bi);break;case H:cn=new Float32Array(Er(4*Bi),0,Bi);break;default:return null}return cn.length!==Bi?cn.subarray(0,Bi):cn}function Ui(Oi){Wr(Oi.buffer)}return{alloc:Er,free:Wr,allocType:wi,freeType:Ui}}var W=N();W.zero=N();var re=3408,ae=3410,_e=3411,Me=3412,ke=3413,ge=3414,ie=3415,Te=33901,Ee=33902,Ae=3379,ze=3386,Ce=34921,me=36347,Re=36348,ce=35661,Ge=35660,nt=34930,ct=36349,qt=34076,rt=34024,ot=7936,Rt=7937,kt=7938,Ct=35724,Yt=34047,xr=36063,er=34852,Ke=3553,xt=34067,bt=34069,Lt=33984,St=6408,Et=5126,dt=5121,Ht=36160,$t=36053,fr=36064,_r=16384,Br=function(At,Er){var Wr=1;Er.ext_texture_filter_anisotropic&&(Wr=At.getParameter(Yt));var wi=1,Ui=1;Er.webgl_draw_buffers&&(wi=At.getParameter(er),Ui=At.getParameter(xr));var Oi=!!Er.oes_texture_float;if(Oi){var Bi=At.createTexture();At.bindTexture(Ke,Bi),At.texImage2D(Ke,0,St,1,1,0,St,Et,null);var cn=At.createFramebuffer();if(At.bindFramebuffer(Ht,cn),At.framebufferTexture2D(Ht,fr,Ke,Bi,0),At.bindTexture(Ke,null),At.checkFramebufferStatus(Ht)!==$t)Oi=!1;else{At.viewport(0,0,1,1),At.clearColor(1,0,0,1),At.clear(_r);var On=W.allocType(Et,4);At.readPixels(0,0,1,1,St,Et,On),At.getError()?Oi=!1:(At.deleteFramebuffer(cn),At.deleteTexture(Bi),Oi=On[0]===1),W.freeType(On)}}var Bn=typeof navigator!=\"undefined\"&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),yn=!0;if(!Bn){var to=At.createTexture(),Rn=W.allocType(dt,36);At.activeTexture(Lt),At.bindTexture(xt,to),At.texImage2D(bt,0,St,3,3,0,St,dt,Rn),W.freeType(Rn),At.bindTexture(xt,null),At.deleteTexture(to),yn=!At.getError()}return{colorBits:[At.getParameter(ae),At.getParameter(_e),At.getParameter(Me),At.getParameter(ke)],depthBits:At.getParameter(ge),stencilBits:At.getParameter(ie),subpixelBits:At.getParameter(re),extensions:Object.keys(Er).filter(function(Dn){return!!Er[Dn]}),maxAnisotropic:Wr,maxDrawbuffers:wi,maxColorAttachments:Ui,pointSizeDims:At.getParameter(Te),lineWidthDims:At.getParameter(Ee),maxViewportDims:At.getParameter(ze),maxCombinedTextureUnits:At.getParameter(ce),maxCubeMapSize:At.getParameter(qt),maxRenderbufferSize:At.getParameter(rt),maxTextureUnits:At.getParameter(nt),maxTextureSize:At.getParameter(Ae),maxAttributes:At.getParameter(Ce),maxVertexUniforms:At.getParameter(me),maxVertexTextureUnits:At.getParameter(Ge),maxVaryingVectors:At.getParameter(Re),maxFragmentUniforms:At.getParameter(ct),glsl:At.getParameter(Ct),renderer:At.getParameter(Rt),vendor:At.getParameter(ot),version:At.getParameter(kt),readFloat:Oi,npotTextureCube:yn}},Or=function(At){return At instanceof Uint8Array||At instanceof Uint16Array||At instanceof Uint32Array||At instanceof Int8Array||At instanceof Int16Array||At instanceof Int32Array||At instanceof Float32Array||At instanceof Float64Array||At instanceof Uint8ClampedArray};function Nr(At){return!!At&&typeof At==\"object\"&&Array.isArray(At.shape)&&Array.isArray(At.stride)&&typeof At.offset==\"number\"&&At.shape.length===At.stride.length&&(Array.isArray(At.data)||Or(At.data))}var ut=function(At){return Object.keys(At).map(function(Er){return At[Er]})},Ne={shape:xe,flatten:Le};function Ye(At,Er,Wr){for(var wi=0;wi<Er;++wi)Wr[wi]=At[wi]}function Ve(At,Er,Wr,wi){for(var Ui=0,Oi=0;Oi<Er;++Oi)for(var Bi=At[Oi],cn=0;cn<Wr;++cn)wi[Ui++]=Bi[cn]}function Xe(At,Er,Wr,wi,Ui,Oi){for(var Bi=Oi,cn=0;cn<Er;++cn)for(var On=At[cn],Bn=0;Bn<Wr;++Bn)for(var yn=On[Bn],to=0;to<wi;++to)Ui[Bi++]=yn[to]}function ht(At,Er,Wr,wi,Ui){for(var Oi=1,Bi=Wr+1;Bi<Er.length;++Bi)Oi*=Er[Bi];var cn=Er[Wr];if(Er.length-Wr===4){var On=Er[Wr+1],Bn=Er[Wr+2],yn=Er[Wr+3];for(Bi=0;Bi<cn;++Bi)Xe(At[Bi],On,Bn,yn,wi,Ui),Ui+=Oi}else for(Bi=0;Bi<cn;++Bi)ht(At[Bi],Er,Wr+1,wi,Ui),Ui+=Oi}function Le(At,Er,Wr,wi){var Ui=1;if(Er.length)for(var Oi=0;Oi<Er.length;++Oi)Ui*=Er[Oi];else Ui=0;var Bi=wi||W.allocType(Wr,Ui);switch(Er.length){case 0:break;case 1:Ye(At,Er[0],Bi);break;case 2:Ve(At,Er[0],Er[1],Bi);break;case 3:Xe(At,Er[0],Er[1],Er[2],Bi,0);break;default:ht(At,Er,0,Bi,0)}return Bi}function xe(At){for(var Er=[],Wr=At;Wr.length;Wr=Wr[0])Er.push(Wr.length);return Er}var Se={\"[object Int8Array]\":5120,\"[object Int16Array]\":5122,\"[object Int32Array]\":5124,\"[object Uint8Array]\":5121,\"[object Uint8ClampedArray]\":5121,\"[object Uint16Array]\":5123,\"[object Uint32Array]\":5125,\"[object Float32Array]\":5126,\"[object Float64Array]\":5121,\"[object ArrayBuffer]\":5121},lt=5120,Gt=5122,Vt=5124,ar=5121,Qr=5123,ai=5125,jr=5126,ri=5126,bi={int8:lt,int16:Gt,int32:Vt,uint8:ar,uint16:Qr,uint32:ai,float:jr,float32:ri},nn=35048,Wi=35040,Ni={dynamic:nn,stream:Wi,static:35044},_n=Ne.flatten,$i=Ne.shape,zn=35044,Wn=35040,It=5121,ft=5126,jt=[];jt[5120]=1,jt[5122]=2,jt[5124]=4,jt[5121]=1,jt[5123]=2,jt[5125]=4,jt[5126]=4;function Zt(At){return Se[Object.prototype.toString.call(At)]|0}function yr(At,Er){for(var Wr=0;Wr<Er.length;++Wr)At[Wr]=Er[Wr]}function Fr(At,Er,Wr,wi,Ui,Oi,Bi){for(var cn=0,On=0;On<Wr;++On)for(var Bn=0;Bn<wi;++Bn)At[cn++]=Er[Ui*On+Oi*Bn+Bi]}function Zr(At,Er,Wr,wi){var Ui=0,Oi={};function Bi(Ai){this.id=Ui++,this.buffer=At.createBuffer(),this.type=Ai,this.usage=zn,this.byteLength=0,this.dimension=1,this.dtype=It,this.persistentData=null,Wr.profile&&(this.stats={size:0})}Bi.prototype.bind=function(){At.bindBuffer(this.type,this.buffer)},Bi.prototype.destroy=function(){Rn(this)};var cn=[];function On(Ai,ji){var Ln=cn.pop();return Ln||(Ln=new Bi(Ai)),Ln.bind(),to(Ln,ji,Wn,0,1,!1),Ln}function Bn(Ai){cn.push(Ai)}function yn(Ai,ji,Ln){Ai.byteLength=ji.byteLength,At.bufferData(Ai.type,ji,Ln)}function to(Ai,ji,Ln,Un,gn,ca){var Kn;if(Ai.usage=Ln,Array.isArray(ji)){if(Ai.dtype=Un||ft,ji.length>0){var Za;if(Array.isArray(ji[0])){Kn=$i(ji);for(var wn=1,vn=1;vn<Kn.length;++vn)wn*=Kn[vn];Ai.dimension=wn,Za=_n(ji,Kn,Ai.dtype),yn(Ai,Za,Ln),ca?Ai.persistentData=Za:W.freeType(Za)}else if(typeof ji[0]==\"number\"){Ai.dimension=gn;var Aa=W.allocType(Ai.dtype,ji.length);yr(Aa,ji),yn(Ai,Aa,Ln),ca?Ai.persistentData=Aa:W.freeType(Aa)}else Or(ji[0])&&(Ai.dimension=ji[0].length,Ai.dtype=Un||Zt(ji[0])||ft,Za=_n(ji,[ji.length,ji[0].length],Ai.dtype),yn(Ai,Za,Ln),ca?Ai.persistentData=Za:W.freeType(Za))}}else if(Or(ji))Ai.dtype=Un||Zt(ji),Ai.dimension=gn,yn(Ai,ji,Ln),ca&&(Ai.persistentData=new Uint8Array(new Uint8Array(ji.buffer)));else if(Nr(ji)){Kn=ji.shape;var aa=ji.stride,Xn=ji.offset,Vn=0,ma=0,ro=0,Ao=0;Kn.length===1?(Vn=Kn[0],ma=1,ro=aa[0],Ao=0):Kn.length===2&&(Vn=Kn[0],ma=Kn[1],ro=aa[0],Ao=aa[1]),Ai.dtype=Un||Zt(ji.data)||ft,Ai.dimension=ma;var Jn=W.allocType(Ai.dtype,Vn*ma);Fr(Jn,ji.data,Vn,ma,ro,Ao,Xn),yn(Ai,Jn,Ln),ca?Ai.persistentData=Jn:W.freeType(Jn)}else ji instanceof ArrayBuffer&&(Ai.dtype=It,Ai.dimension=gn,yn(Ai,ji,Ln),ca&&(Ai.persistentData=new Uint8Array(new Uint8Array(ji))))}function Rn(Ai){Er.bufferCount--,wi(Ai);var ji=Ai.buffer;At.deleteBuffer(ji),Ai.buffer=null,delete Oi[Ai.id]}function Dn(Ai,ji,Ln,Un){Er.bufferCount++;var gn=new Bi(ji);Oi[gn.id]=gn;function ca(wn){var vn=zn,Aa=null,aa=0,Xn=0,Vn=1;return Array.isArray(wn)||Or(wn)||Nr(wn)||wn instanceof ArrayBuffer?Aa=wn:typeof wn==\"number\"?aa=wn|0:wn&&(\"data\"in wn&&(Aa=wn.data),\"usage\"in wn&&(vn=Ni[wn.usage]),\"type\"in wn&&(Xn=bi[wn.type]),\"dimension\"in wn&&(Vn=wn.dimension|0),\"length\"in wn&&(aa=wn.length|0)),gn.bind(),Aa?to(gn,Aa,vn,Xn,Vn,Un):(aa&&At.bufferData(gn.type,aa,vn),gn.dtype=Xn||It,gn.usage=vn,gn.dimension=Vn,gn.byteLength=aa),Wr.profile&&(gn.stats.size=gn.byteLength*jt[gn.dtype]),ca}function Kn(wn,vn){At.bufferSubData(gn.type,vn,wn)}function Za(wn,vn){var Aa=(vn||0)|0,aa;if(gn.bind(),Or(wn)||wn instanceof ArrayBuffer)Kn(wn,Aa);else if(Array.isArray(wn)){if(wn.length>0){if(typeof wn[0]==\"number\"){var Xn=W.allocType(gn.dtype,wn.length);yr(Xn,wn),Kn(Xn,Aa),W.freeType(Xn)}else if(Array.isArray(wn[0])||Or(wn[0])){aa=$i(wn);var Vn=_n(wn,aa,gn.dtype);Kn(Vn,Aa),W.freeType(Vn)}}}else if(Nr(wn)){aa=wn.shape;var ma=wn.stride,ro=0,Ao=0,Jn=0,Oa=0;aa.length===1?(ro=aa[0],Ao=1,Jn=ma[0],Oa=0):aa.length===2&&(ro=aa[0],Ao=aa[1],Jn=ma[0],Oa=ma[1]);var _o=Array.isArray(wn.data)?gn.dtype:Zt(wn.data),Po=W.allocType(_o,ro*Ao);Fr(Po,wn.data,ro,Ao,Jn,Oa,wn.offset),Kn(Po,Aa),W.freeType(Po)}return ca}return Ln||ca(Ai),ca._reglType=\"buffer\",ca._buffer=gn,ca.subdata=Za,Wr.profile&&(ca.stats=gn.stats),ca.destroy=function(){Rn(gn)},ca}function fn(){ut(Oi).forEach(function(Ai){Ai.buffer=At.createBuffer(),At.bindBuffer(Ai.type,Ai.buffer),At.bufferData(Ai.type,Ai.persistentData||Ai.byteLength,Ai.usage)})}return Wr.profile&&(Er.getTotalBufferSize=function(){var Ai=0;return Object.keys(Oi).forEach(function(ji){Ai+=Oi[ji].stats.size}),Ai}),{create:Dn,createStream:On,destroyStream:Bn,clear:function(){ut(Oi).forEach(Rn),cn.forEach(Rn)},getBuffer:function(Ai){return Ai&&Ai._buffer instanceof Bi?Ai._buffer:null},restore:fn,_initBuffer:to}}var Vr=0,gi=0,Si=1,Mi=1,Pi=4,Gi=4,Ki={points:Vr,point:gi,lines:Si,line:Mi,triangles:Pi,triangle:Gi,\"line loop\":2,\"line strip\":3,\"triangle strip\":5,\"triangle fan\":6},ka=0,jn=1,la=4,Fa=5120,Ra=5121,jo=5122,oa=5123,Sn=5124,Ha=5125,oo=34963,xn=35040,_t=35044;function br(At,Er,Wr,wi){var Ui={},Oi=0,Bi={uint8:Ra,uint16:oa};Er.oes_element_index_uint&&(Bi.uint32=Ha);function cn(fn){this.id=Oi++,Ui[this.id]=this,this.buffer=fn,this.primType=la,this.vertCount=0,this.type=0}cn.prototype.bind=function(){this.buffer.bind()};var On=[];function Bn(fn){var Ai=On.pop();return Ai||(Ai=new cn(Wr.create(null,oo,!0,!1)._buffer)),to(Ai,fn,xn,-1,-1,0,0),Ai}function yn(fn){On.push(fn)}function to(fn,Ai,ji,Ln,Un,gn,ca){fn.buffer.bind();var Kn;if(Ai){var Za=ca;!ca&&(!Or(Ai)||Nr(Ai)&&!Or(Ai.data))&&(Za=Er.oes_element_index_uint?Ha:oa),Wr._initBuffer(fn.buffer,Ai,ji,Za,3)}else At.bufferData(oo,gn,ji),fn.buffer.dtype=Kn||Ra,fn.buffer.usage=ji,fn.buffer.dimension=3,fn.buffer.byteLength=gn;if(Kn=ca,!ca){switch(fn.buffer.dtype){case Ra:case Fa:Kn=Ra;break;case oa:case jo:Kn=oa;break;case Ha:case Sn:Kn=Ha;break;default:}fn.buffer.dtype=Kn}fn.type=Kn;var wn=Un;wn<0&&(wn=fn.buffer.byteLength,Kn===oa?wn>>=1:Kn===Ha&&(wn>>=2)),fn.vertCount=wn;var vn=Ln;if(Ln<0){vn=la;var Aa=fn.buffer.dimension;Aa===1&&(vn=ka),Aa===2&&(vn=jn),Aa===3&&(vn=la)}fn.primType=vn}function Rn(fn){wi.elementsCount--,delete Ui[fn.id],fn.buffer.destroy(),fn.buffer=null}function Dn(fn,Ai){var ji=Wr.create(null,oo,!0),Ln=new cn(ji._buffer);wi.elementsCount++;function Un(gn){if(!gn)ji(),Ln.primType=la,Ln.vertCount=0,Ln.type=Ra;else if(typeof gn==\"number\")ji(gn),Ln.primType=la,Ln.vertCount=gn|0,Ln.type=Ra;else{var ca=null,Kn=_t,Za=-1,wn=-1,vn=0,Aa=0;Array.isArray(gn)||Or(gn)||Nr(gn)?ca=gn:(\"data\"in gn&&(ca=gn.data),\"usage\"in gn&&(Kn=Ni[gn.usage]),\"primitive\"in gn&&(Za=Ki[gn.primitive]),\"count\"in gn&&(wn=gn.count|0),\"type\"in gn&&(Aa=Bi[gn.type]),\"length\"in gn?vn=gn.length|0:(vn=wn,Aa===oa||Aa===jo?vn*=2:(Aa===Ha||Aa===Sn)&&(vn*=4))),to(Ln,ca,Kn,Za,wn,vn,Aa)}return Un}return Un(fn),Un._reglType=\"elements\",Un._elements=Ln,Un.subdata=function(gn,ca){return ji.subdata(gn,ca),Un},Un.destroy=function(){Rn(Ln)},Un}return{create:Dn,createStream:Bn,destroyStream:yn,getElements:function(fn){return typeof fn==\"function\"&&fn._elements instanceof cn?fn._elements:null},clear:function(){ut(Ui).forEach(Rn)}}}var Hr=new Float32Array(1),ti=new Uint32Array(Hr.buffer),zi=5123;function Yi(At){for(var Er=W.allocType(zi,At.length),Wr=0;Wr<At.length;++Wr)if(isNaN(At[Wr]))Er[Wr]=65535;else if(At[Wr]===1/0)Er[Wr]=31744;else if(At[Wr]===-1/0)Er[Wr]=64512;else{Hr[0]=At[Wr];var wi=ti[0],Ui=wi>>>31<<15,Oi=(wi<<1>>>24)-127,Bi=wi>>13&1023;if(Oi<-24)Er[Wr]=Ui;else if(Oi<-14){var cn=-14-Oi;Er[Wr]=Ui+(Bi+1024>>cn)}else Oi>15?Er[Wr]=Ui+31744:Er[Wr]=Ui+(Oi+15<<10)+Bi}return Er}function an(At){return Array.isArray(At)||Or(At)}var hi=34467,Ji=3553,ua=34067,Fn=34069,Sa=6408,go=6406,Oo=6407,ho=6409,Mo=6410,xo=32854,zs=32855,ks=36194,Zs=32819,Xs=32820,wl=33635,os=34042,cl=6402,Cs=34041,ml=35904,Ys=35906,Hs=36193,Eo=33776,fs=33777,Ql=33778,Hu=33779,fc=35986,ms=35987,on=34798,fa=35840,Qu=35841,Rl=35842,vo=35843,Zl=36196,Ks=5121,Xl=5123,Ec=5125,Zn=5126,ko=10242,Co=10243,Tl=10497,uf=33071,So=33648,cf=10240,rh=10241,Al=9728,Hc=9729,eu=9984,Ls=9985,mu=9986,kc=9987,Of=33170,Gc=4352,vd=4353,Bf=4354,ss=34046,ff=3317,ih=37440,Vl=37441,Js=37443,hc=37444,Cc=33984,ws=[eu,mu,Ls,kc],$s=[0,ho,Mo,Oo,Sa],hs={};hs[ho]=hs[go]=hs[cl]=1,hs[Cs]=hs[Mo]=2,hs[Oo]=hs[ml]=3,hs[Sa]=hs[Ys]=4;function Ms(At){return\"[object \"+At+\"]\"}var dc=Ms(\"HTMLCanvasElement\"),Sl=Ms(\"OffscreenCanvas\"),ec=Ms(\"CanvasRenderingContext2D\"),Ps=Ms(\"ImageBitmap\"),ov=Ms(\"HTMLImageElement\"),wo=Ms(\"HTMLVideoElement\"),Od=Object.keys(Se).concat([dc,Sl,ec,Ps,ov,wo]),$o=[];$o[Ks]=1,$o[Zn]=4,$o[Hs]=2,$o[Xl]=2,$o[Ec]=4;var Ja=[];Ja[xo]=2,Ja[zs]=2,Ja[ks]=2,Ja[Cs]=4,Ja[Eo]=.5,Ja[fs]=.5,Ja[Ql]=1,Ja[Hu]=1,Ja[fc]=.5,Ja[ms]=1,Ja[on]=1,Ja[fa]=.5,Ja[Qu]=.25,Ja[Rl]=.5,Ja[vo]=.25,Ja[Zl]=.5;function Ef(At){return Array.isArray(At)&&(At.length===0||typeof At[0]==\"number\")}function tc(At){if(!Array.isArray(At))return!1;var Er=At.length;return!(Er===0||!an(At[0]))}function uu(At){return Object.prototype.toString.call(At)}function Mh(At){return uu(At)===dc}function jc(At){return uu(At)===Sl}function kf(At){return uu(At)===ec}function Ml(At){return uu(At)===Ps}function Yh(At){return uu(At)===ov}function Eh(At){return uu(At)===wo}function nh(At){if(!At)return!1;var Er=uu(At);return Od.indexOf(Er)>=0?!0:Ef(At)||tc(At)||Nr(At)}function hf(At){return Se[Object.prototype.toString.call(At)]|0}function kh(At,Er){var Wr=Er.length;switch(At.type){case Ks:case Xl:case Ec:case Zn:var wi=W.allocType(At.type,Wr);wi.set(Er),At.data=wi;break;case Hs:At.data=Yi(Er);break;default:}}function Kh(At,Er){return W.allocType(At.type===Hs?Zn:At.type,Er)}function rc(At,Er){At.type===Hs?(At.data=Yi(Er),W.freeType(Er)):At.data=Er}function ah(At,Er,Wr,wi,Ui,Oi){for(var Bi=At.width,cn=At.height,On=At.channels,Bn=Bi*cn*On,yn=Kh(At,Bn),to=0,Rn=0;Rn<cn;++Rn)for(var Dn=0;Dn<Bi;++Dn)for(var fn=0;fn<On;++fn)yn[to++]=Er[Wr*Dn+wi*Rn+Ui*fn+Oi];rc(At,yn)}function Wc(At,Er,Wr,wi,Ui,Oi){var Bi;if(typeof Ja[At]!=\"undefined\"?Bi=Ja[At]:Bi=hs[At]*$o[Er],Oi&&(Bi*=6),Ui){for(var cn=0,On=Wr;On>=1;)cn+=Bi*On*On,On/=2;return cn}else return Bi*Wr*wi}function df(At,Er,Wr,wi,Ui,Oi,Bi){var cn={\"don't care\":Gc,\"dont care\":Gc,nice:Bf,fast:vd},On={repeat:Tl,clamp:uf,mirror:So},Bn={nearest:Al,linear:Hc},yn=e({mipmap:kc,\"nearest mipmap nearest\":eu,\"linear mipmap nearest\":Ls,\"nearest mipmap linear\":mu,\"linear mipmap linear\":kc},Bn),to={none:0,browser:hc},Rn={uint8:Ks,rgba4:Zs,rgb565:wl,\"rgb5 a1\":Xs},Dn={alpha:go,luminance:ho,\"luminance alpha\":Mo,rgb:Oo,rgba:Sa,rgba4:xo,\"rgb5 a1\":zs,rgb565:ks},fn={};Er.ext_srgb&&(Dn.srgb=ml,Dn.srgba=Ys),Er.oes_texture_float&&(Rn.float32=Rn.float=Zn),Er.oes_texture_half_float&&(Rn.float16=Rn[\"half float\"]=Hs),Er.webgl_depth_texture&&(e(Dn,{depth:cl,\"depth stencil\":Cs}),e(Rn,{uint16:Xl,uint32:Ec,\"depth stencil\":os})),Er.webgl_compressed_texture_s3tc&&e(fn,{\"rgb s3tc dxt1\":Eo,\"rgba s3tc dxt1\":fs,\"rgba s3tc dxt3\":Ql,\"rgba s3tc dxt5\":Hu}),Er.webgl_compressed_texture_atc&&e(fn,{\"rgb atc\":fc,\"rgba atc explicit alpha\":ms,\"rgba atc interpolated alpha\":on}),Er.webgl_compressed_texture_pvrtc&&e(fn,{\"rgb pvrtc 4bppv1\":fa,\"rgb pvrtc 2bppv1\":Qu,\"rgba pvrtc 4bppv1\":Rl,\"rgba pvrtc 2bppv1\":vo}),Er.webgl_compressed_texture_etc1&&(fn[\"rgb etc1\"]=Zl);var Ai=Array.prototype.slice.call(At.getParameter(hi));Object.keys(fn).forEach(function(de){var Ie=fn[de];Ai.indexOf(Ie)>=0&&(Dn[de]=Ie)});var ji=Object.keys(Dn);Wr.textureFormats=ji;var Ln=[];Object.keys(Dn).forEach(function(de){var Ie=Dn[de];Ln[Ie]=de});var Un=[];Object.keys(Rn).forEach(function(de){var Ie=Rn[de];Un[Ie]=de});var gn=[];Object.keys(Bn).forEach(function(de){var Ie=Bn[de];gn[Ie]=de});var ca=[];Object.keys(yn).forEach(function(de){var Ie=yn[de];ca[Ie]=de});var Kn=[];Object.keys(On).forEach(function(de){var Ie=On[de];Kn[Ie]=de});var Za=ji.reduce(function(de,Ie){var $e=Dn[Ie];return $e===ho||$e===go||$e===ho||$e===Mo||$e===cl||$e===Cs||Er.ext_srgb&&($e===ml||$e===Ys)?de[$e]=$e:$e===zs||Ie.indexOf(\"rgba\")>=0?de[$e]=Sa:de[$e]=Oo,de},{});function wn(){this.internalformat=Sa,this.format=Sa,this.type=Ks,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=hc,this.width=0,this.height=0,this.channels=0}function vn(de,Ie){de.internalformat=Ie.internalformat,de.format=Ie.format,de.type=Ie.type,de.compressed=Ie.compressed,de.premultiplyAlpha=Ie.premultiplyAlpha,de.flipY=Ie.flipY,de.unpackAlignment=Ie.unpackAlignment,de.colorSpace=Ie.colorSpace,de.width=Ie.width,de.height=Ie.height,de.channels=Ie.channels}function Aa(de,Ie){if(!(typeof Ie!=\"object\"||!Ie)){if(\"premultiplyAlpha\"in Ie&&(de.premultiplyAlpha=Ie.premultiplyAlpha),\"flipY\"in Ie&&(de.flipY=Ie.flipY),\"alignment\"in Ie&&(de.unpackAlignment=Ie.alignment),\"colorSpace\"in Ie&&(de.colorSpace=to[Ie.colorSpace]),\"type\"in Ie){var $e=Ie.type;de.type=Rn[$e]}var pt=de.width,Kt=de.height,ir=de.channels,Jt=!1;\"shape\"in Ie?(pt=Ie.shape[0],Kt=Ie.shape[1],Ie.shape.length===3&&(ir=Ie.shape[2],Jt=!0)):(\"radius\"in Ie&&(pt=Kt=Ie.radius),\"width\"in Ie&&(pt=Ie.width),\"height\"in Ie&&(Kt=Ie.height),\"channels\"in Ie&&(ir=Ie.channels,Jt=!0)),de.width=pt|0,de.height=Kt|0,de.channels=ir|0;var vt=!1;if(\"format\"in Ie){var Pt=Ie.format,Wt=de.internalformat=Dn[Pt];de.format=Za[Wt],Pt in Rn&&(\"type\"in Ie||(de.type=Rn[Pt])),Pt in fn&&(de.compressed=!0),vt=!0}!Jt&&vt?de.channels=hs[de.format]:Jt&&!vt&&de.channels!==$s[de.format]&&(de.format=de.internalformat=$s[de.channels])}}function aa(de){At.pixelStorei(ih,de.flipY),At.pixelStorei(Vl,de.premultiplyAlpha),At.pixelStorei(Js,de.colorSpace),At.pixelStorei(ff,de.unpackAlignment)}function Xn(){wn.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Vn(de,Ie){var $e=null;if(nh(Ie)?$e=Ie:Ie&&(Aa(de,Ie),\"x\"in Ie&&(de.xOffset=Ie.x|0),\"y\"in Ie&&(de.yOffset=Ie.y|0),nh(Ie.data)&&($e=Ie.data)),Ie.copy){var pt=Ui.viewportWidth,Kt=Ui.viewportHeight;de.width=de.width||pt-de.xOffset,de.height=de.height||Kt-de.yOffset,de.needsCopy=!0}else if(!$e)de.width=de.width||1,de.height=de.height||1,de.channels=de.channels||4;else if(Or($e))de.channels=de.channels||4,de.data=$e,!(\"type\"in Ie)&&de.type===Ks&&(de.type=hf($e));else if(Ef($e))de.channels=de.channels||4,kh(de,$e),de.alignment=1,de.needsFree=!0;else if(Nr($e)){var ir=$e.data;!Array.isArray(ir)&&de.type===Ks&&(de.type=hf(ir));var Jt=$e.shape,vt=$e.stride,Pt,Wt,rr,dr,pr,kr;Jt.length===3?(rr=Jt[2],kr=vt[2]):(rr=1,kr=1),Pt=Jt[0],Wt=Jt[1],dr=vt[0],pr=vt[1],de.alignment=1,de.width=Pt,de.height=Wt,de.channels=rr,de.format=de.internalformat=$s[rr],de.needsFree=!0,ah(de,ir,dr,pr,kr,$e.offset)}else if(Mh($e)||jc($e)||kf($e))Mh($e)||jc($e)?de.element=$e:de.element=$e.canvas,de.width=de.element.width,de.height=de.element.height,de.channels=4;else if(Ml($e))de.element=$e,de.width=$e.width,de.height=$e.height,de.channels=4;else if(Yh($e))de.element=$e,de.width=$e.naturalWidth,de.height=$e.naturalHeight,de.channels=4;else if(Eh($e))de.element=$e,de.width=$e.videoWidth,de.height=$e.videoHeight,de.channels=4;else if(tc($e)){var Ar=de.width||$e[0].length,gr=de.height||$e.length,Cr=de.channels;an($e[0][0])?Cr=Cr||$e[0][0].length:Cr=Cr||1;for(var cr=Ne.shape($e),Gr=1,ei=0;ei<cr.length;++ei)Gr*=cr[ei];var yi=Kh(de,Gr);Ne.flatten($e,cr,\"\",yi),rc(de,yi),de.alignment=1,de.width=Ar,de.height=gr,de.channels=Cr,de.format=de.internalformat=$s[Cr],de.needsFree=!0}de.type===Zn||de.type}function ma(de,Ie,$e){var pt=de.element,Kt=de.data,ir=de.internalformat,Jt=de.format,vt=de.type,Pt=de.width,Wt=de.height;aa(de),pt?At.texImage2D(Ie,$e,Jt,Jt,vt,pt):de.compressed?At.compressedTexImage2D(Ie,$e,ir,Pt,Wt,0,Kt):de.needsCopy?(wi(),At.copyTexImage2D(Ie,$e,Jt,de.xOffset,de.yOffset,Pt,Wt,0)):At.texImage2D(Ie,$e,Jt,Pt,Wt,0,Jt,vt,Kt||null)}function ro(de,Ie,$e,pt,Kt){var ir=de.element,Jt=de.data,vt=de.internalformat,Pt=de.format,Wt=de.type,rr=de.width,dr=de.height;aa(de),ir?At.texSubImage2D(Ie,Kt,$e,pt,Pt,Wt,ir):de.compressed?At.compressedTexSubImage2D(Ie,Kt,$e,pt,vt,rr,dr,Jt):de.needsCopy?(wi(),At.copyTexSubImage2D(Ie,Kt,$e,pt,de.xOffset,de.yOffset,rr,dr)):At.texSubImage2D(Ie,Kt,$e,pt,rr,dr,Pt,Wt,Jt)}var Ao=[];function Jn(){return Ao.pop()||new Xn}function Oa(de){de.needsFree&&W.freeType(de.data),Xn.call(de),Ao.push(de)}function _o(){wn.call(this),this.genMipmaps=!1,this.mipmapHint=Gc,this.mipmask=0,this.images=Array(16)}function Po(de,Ie,$e){var pt=de.images[0]=Jn();de.mipmask=1,pt.width=de.width=Ie,pt.height=de.height=$e,pt.channels=de.channels=4}function Jo(de,Ie){var $e=null;if(nh(Ie))$e=de.images[0]=Jn(),vn($e,de),Vn($e,Ie),de.mipmask=1;else if(Aa(de,Ie),Array.isArray(Ie.mipmap))for(var pt=Ie.mipmap,Kt=0;Kt<pt.length;++Kt)$e=de.images[Kt]=Jn(),vn($e,de),$e.width>>=Kt,$e.height>>=Kt,Vn($e,pt[Kt]),de.mipmask|=1<<Kt;else $e=de.images[0]=Jn(),vn($e,de),Vn($e,Ie),de.mipmask=1;vn(de,de.images[0]),de.compressed&&(de.internalformat===Eo||de.internalformat===fs||de.internalformat===Ql||de.internalformat)}function Yl(de,Ie){for(var $e=de.images,pt=0;pt<$e.length;++pt){if(!$e[pt])return;ma($e[pt],Ie,pt)}}var $c=[];function xs(){var de=$c.pop()||new _o;wn.call(de),de.mipmask=0;for(var Ie=0;Ie<16;++Ie)de.images[Ie]=null;return de}function Qc(de){for(var Ie=de.images,$e=0;$e<Ie.length;++$e)Ie[$e]&&Oa(Ie[$e]),Ie[$e]=null;$c.push(de)}function El(){this.minFilter=Al,this.magFilter=Al,this.wrapS=uf,this.wrapT=uf,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=Gc}function bc(de,Ie){if(\"min\"in Ie){var $e=Ie.min;de.minFilter=yn[$e],ws.indexOf(de.minFilter)>=0&&!(\"faces\"in Ie)&&(de.genMipmaps=!0)}if(\"mag\"in Ie){var pt=Ie.mag;de.magFilter=Bn[pt]}var Kt=de.wrapS,ir=de.wrapT;if(\"wrap\"in Ie){var Jt=Ie.wrap;typeof Jt==\"string\"?Kt=ir=On[Jt]:Array.isArray(Jt)&&(Kt=On[Jt[0]],ir=On[Jt[1]])}else{if(\"wrapS\"in Ie){var vt=Ie.wrapS;Kt=On[vt]}if(\"wrapT\"in Ie){var Pt=Ie.wrapT;ir=On[Pt]}}if(de.wrapS=Kt,de.wrapT=ir,\"anisotropic\"in Ie){var Wt=Ie.anisotropic;de.anisotropic=Ie.anisotropic}if(\"mipmap\"in Ie){var rr=!1;switch(typeof Ie.mipmap){case\"string\":de.mipmapHint=cn[Ie.mipmap],de.genMipmaps=!0,rr=!0;break;case\"boolean\":rr=de.genMipmaps=Ie.mipmap;break;case\"object\":de.genMipmaps=!1,rr=!0;break;default:}rr&&!(\"min\"in Ie)&&(de.minFilter=eu)}}function wc(de,Ie){At.texParameteri(Ie,rh,de.minFilter),At.texParameteri(Ie,cf,de.magFilter),At.texParameteri(Ie,ko,de.wrapS),At.texParameteri(Ie,Co,de.wrapT),Er.ext_texture_filter_anisotropic&&At.texParameteri(Ie,ss,de.anisotropic),de.genMipmaps&&(At.hint(Of,de.mipmapHint),At.generateMipmap(Ie))}var yf=0,Gl={},Fc=Wr.maxTextureUnits,ef=Array(Fc).map(function(){return null});function ls(de){wn.call(this),this.mipmask=0,this.internalformat=Sa,this.id=yf++,this.refCount=1,this.target=de,this.texture=At.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new El,Bi.profile&&(this.stats={size:0})}function _f(de){At.activeTexture(Cc),At.bindTexture(de.target,de.texture)}function ns(){var de=ef[0];de?At.bindTexture(de.target,de.texture):At.bindTexture(Ji,null)}function Y(de){var Ie=de.texture,$e=de.unit,pt=de.target;$e>=0&&(At.activeTexture(Cc+$e),At.bindTexture(pt,null),ef[$e]=null),At.deleteTexture(Ie),de.texture=null,de.params=null,de.pixels=null,de.refCount=0,delete Gl[de.id],Oi.textureCount--}e(ls.prototype,{bind:function(){var de=this;de.bindCount+=1;var Ie=de.unit;if(Ie<0){for(var $e=0;$e<Fc;++$e){var pt=ef[$e];if(pt){if(pt.bindCount>0)continue;pt.unit=-1}ef[$e]=de,Ie=$e;break}Ie>=Fc,Bi.profile&&Oi.maxTextureUnits<Ie+1&&(Oi.maxTextureUnits=Ie+1),de.unit=Ie,At.activeTexture(Cc+Ie),At.bindTexture(de.target,de.texture)}return Ie},unbind:function(){this.bindCount-=1},decRef:function(){--this.refCount<=0&&Y(this)}});function z(de,Ie){var $e=new ls(Ji);Gl[$e.id]=$e,Oi.textureCount++;function pt(Jt,vt){var Pt=$e.texInfo;El.call(Pt);var Wt=xs();return typeof Jt==\"number\"?typeof vt==\"number\"?Po(Wt,Jt|0,vt|0):Po(Wt,Jt|0,Jt|0):Jt?(bc(Pt,Jt),Jo(Wt,Jt)):Po(Wt,1,1),Pt.genMipmaps&&(Wt.mipmask=(Wt.width<<1)-1),$e.mipmask=Wt.mipmask,vn($e,Wt),$e.internalformat=Wt.internalformat,pt.width=Wt.width,pt.height=Wt.height,_f($e),Yl(Wt,Ji),wc(Pt,Ji),ns(),Qc(Wt),Bi.profile&&($e.stats.size=Wc($e.internalformat,$e.type,Wt.width,Wt.height,Pt.genMipmaps,!1)),pt.format=Ln[$e.internalformat],pt.type=Un[$e.type],pt.mag=gn[Pt.magFilter],pt.min=ca[Pt.minFilter],pt.wrapS=Kn[Pt.wrapS],pt.wrapT=Kn[Pt.wrapT],pt}function Kt(Jt,vt,Pt,Wt){var rr=vt|0,dr=Pt|0,pr=Wt|0,kr=Jn();return vn(kr,$e),kr.width=0,kr.height=0,Vn(kr,Jt),kr.width=kr.width||($e.width>>pr)-rr,kr.height=kr.height||($e.height>>pr)-dr,_f($e),ro(kr,Ji,rr,dr,pr),ns(),Oa(kr),pt}function ir(Jt,vt){var Pt=Jt|0,Wt=vt|0||Pt;if(Pt===$e.width&&Wt===$e.height)return pt;pt.width=$e.width=Pt,pt.height=$e.height=Wt,_f($e);for(var rr=0;$e.mipmask>>rr;++rr){var dr=Pt>>rr,pr=Wt>>rr;if(!dr||!pr)break;At.texImage2D(Ji,rr,$e.format,dr,pr,0,$e.format,$e.type,null)}return ns(),Bi.profile&&($e.stats.size=Wc($e.internalformat,$e.type,Pt,Wt,!1,!1)),pt}return pt(de,Ie),pt.subimage=Kt,pt.resize=ir,pt._reglType=\"texture2d\",pt._texture=$e,Bi.profile&&(pt.stats=$e.stats),pt.destroy=function(){$e.decRef()},pt}function K(de,Ie,$e,pt,Kt,ir){var Jt=new ls(ua);Gl[Jt.id]=Jt,Oi.cubeCount++;var vt=new Array(6);function Pt(dr,pr,kr,Ar,gr,Cr){var cr,Gr=Jt.texInfo;for(El.call(Gr),cr=0;cr<6;++cr)vt[cr]=xs();if(typeof dr==\"number\"||!dr){var ei=dr|0||1;for(cr=0;cr<6;++cr)Po(vt[cr],ei,ei)}else if(typeof dr==\"object\")if(pr)Jo(vt[0],dr),Jo(vt[1],pr),Jo(vt[2],kr),Jo(vt[3],Ar),Jo(vt[4],gr),Jo(vt[5],Cr);else if(bc(Gr,dr),Aa(Jt,dr),\"faces\"in dr){var yi=dr.faces;for(cr=0;cr<6;++cr)vn(vt[cr],Jt),Jo(vt[cr],yi[cr])}else for(cr=0;cr<6;++cr)Jo(vt[cr],dr);for(vn(Jt,vt[0]),Gr.genMipmaps?Jt.mipmask=(vt[0].width<<1)-1:Jt.mipmask=vt[0].mipmask,Jt.internalformat=vt[0].internalformat,Pt.width=vt[0].width,Pt.height=vt[0].height,_f(Jt),cr=0;cr<6;++cr)Yl(vt[cr],Fn+cr);for(wc(Gr,ua),ns(),Bi.profile&&(Jt.stats.size=Wc(Jt.internalformat,Jt.type,Pt.width,Pt.height,Gr.genMipmaps,!0)),Pt.format=Ln[Jt.internalformat],Pt.type=Un[Jt.type],Pt.mag=gn[Gr.magFilter],Pt.min=ca[Gr.minFilter],Pt.wrapS=Kn[Gr.wrapS],Pt.wrapT=Kn[Gr.wrapT],cr=0;cr<6;++cr)Qc(vt[cr]);return Pt}function Wt(dr,pr,kr,Ar,gr){var Cr=kr|0,cr=Ar|0,Gr=gr|0,ei=Jn();return vn(ei,Jt),ei.width=0,ei.height=0,Vn(ei,pr),ei.width=ei.width||(Jt.width>>Gr)-Cr,ei.height=ei.height||(Jt.height>>Gr)-cr,_f(Jt),ro(ei,Fn+dr,Cr,cr,Gr),ns(),Oa(ei),Pt}function rr(dr){var pr=dr|0;if(pr!==Jt.width){Pt.width=Jt.width=pr,Pt.height=Jt.height=pr,_f(Jt);for(var kr=0;kr<6;++kr)for(var Ar=0;Jt.mipmask>>Ar;++Ar)At.texImage2D(Fn+kr,Ar,Jt.format,pr>>Ar,pr>>Ar,0,Jt.format,Jt.type,null);return ns(),Bi.profile&&(Jt.stats.size=Wc(Jt.internalformat,Jt.type,Pt.width,Pt.height,!1,!0)),Pt}}return Pt(de,Ie,$e,pt,Kt,ir),Pt.subimage=Wt,Pt.resize=rr,Pt._reglType=\"textureCube\",Pt._texture=Jt,Bi.profile&&(Pt.stats=Jt.stats),Pt.destroy=function(){Jt.decRef()},Pt}function O(){for(var de=0;de<Fc;++de)At.activeTexture(Cc+de),At.bindTexture(Ji,null),ef[de]=null;ut(Gl).forEach(Y),Oi.cubeCount=0,Oi.textureCount=0}Bi.profile&&(Oi.getTotalTextureSize=function(){var de=0;return Object.keys(Gl).forEach(function(Ie){de+=Gl[Ie].stats.size}),de});function $(){for(var de=0;de<Fc;++de){var Ie=ef[de];Ie&&(Ie.bindCount=0,Ie.unit=-1,ef[de]=null)}ut(Gl).forEach(function($e){$e.texture=At.createTexture(),At.bindTexture($e.target,$e.texture);for(var pt=0;pt<32;++pt)if($e.mipmask&1<<pt)if($e.target===Ji)At.texImage2D(Ji,pt,$e.internalformat,$e.width>>pt,$e.height>>pt,0,$e.internalformat,$e.type,null);else for(var Kt=0;Kt<6;++Kt)At.texImage2D(Fn+Kt,pt,$e.internalformat,$e.width>>pt,$e.height>>pt,0,$e.internalformat,$e.type,null);wc($e.texInfo,$e.target)})}function pe(){for(var de=0;de<Fc;++de){var Ie=ef[de];Ie&&(Ie.bindCount=0,Ie.unit=-1,ef[de]=null),At.activeTexture(Cc+de),At.bindTexture(Ji,null),At.bindTexture(ua,null)}}return{create2D:z,createCube:K,clear:O,getTexture:function(de){return null},restore:$,refresh:pe}}var Cu=36161,Nf=32854,Zc=32855,ds=36194,Ch=33189,Bd=36168,Jh=34041,Cf=35907,pd=34836,Lu=34842,$h=34843,tu=[];tu[Nf]=2,tu[Zc]=2,tu[ds]=2,tu[Ch]=2,tu[Bd]=1,tu[Jh]=4,tu[Cf]=4,tu[pd]=16,tu[Lu]=8,tu[$h]=6;function Pu(At,Er,Wr){return tu[At]*Er*Wr}var Lc=function(At,Er,Wr,wi,Ui){var Oi={rgba4:Nf,rgb565:ds,\"rgb5 a1\":Zc,depth:Ch,stencil:Bd,\"depth stencil\":Jh};Er.ext_srgb&&(Oi.srgba=Cf),Er.ext_color_buffer_half_float&&(Oi.rgba16f=Lu,Oi.rgb16f=$h),Er.webgl_color_buffer_float&&(Oi.rgba32f=pd);var Bi=[];Object.keys(Oi).forEach(function(Dn){var fn=Oi[Dn];Bi[fn]=Dn});var cn=0,On={};function Bn(Dn){this.id=cn++,this.refCount=1,this.renderbuffer=Dn,this.format=Nf,this.width=0,this.height=0,Ui.profile&&(this.stats={size:0})}Bn.prototype.decRef=function(){--this.refCount<=0&&yn(this)};function yn(Dn){var fn=Dn.renderbuffer;At.bindRenderbuffer(Cu,null),At.deleteRenderbuffer(fn),Dn.renderbuffer=null,Dn.refCount=0,delete On[Dn.id],wi.renderbufferCount--}function to(Dn,fn){var Ai=new Bn(At.createRenderbuffer());On[Ai.id]=Ai,wi.renderbufferCount++;function ji(Un,gn){var ca=0,Kn=0,Za=Nf;if(typeof Un==\"object\"&&Un){var wn=Un;if(\"shape\"in wn){var vn=wn.shape;ca=vn[0]|0,Kn=vn[1]|0}else\"radius\"in wn&&(ca=Kn=wn.radius|0),\"width\"in wn&&(ca=wn.width|0),\"height\"in wn&&(Kn=wn.height|0);\"format\"in wn&&(Za=Oi[wn.format])}else typeof Un==\"number\"?(ca=Un|0,typeof gn==\"number\"?Kn=gn|0:Kn=ca):Un||(ca=Kn=1);if(!(ca===Ai.width&&Kn===Ai.height&&Za===Ai.format))return ji.width=Ai.width=ca,ji.height=Ai.height=Kn,Ai.format=Za,At.bindRenderbuffer(Cu,Ai.renderbuffer),At.renderbufferStorage(Cu,Za,ca,Kn),Ui.profile&&(Ai.stats.size=Pu(Ai.format,Ai.width,Ai.height)),ji.format=Bi[Ai.format],ji}function Ln(Un,gn){var ca=Un|0,Kn=gn|0||ca;return ca===Ai.width&&Kn===Ai.height||(ji.width=Ai.width=ca,ji.height=Ai.height=Kn,At.bindRenderbuffer(Cu,Ai.renderbuffer),At.renderbufferStorage(Cu,Ai.format,ca,Kn),Ui.profile&&(Ai.stats.size=Pu(Ai.format,Ai.width,Ai.height))),ji}return ji(Dn,fn),ji.resize=Ln,ji._reglType=\"renderbuffer\",ji._renderbuffer=Ai,Ui.profile&&(ji.stats=Ai.stats),ji.destroy=function(){Ai.decRef()},ji}Ui.profile&&(wi.getTotalRenderbufferSize=function(){var Dn=0;return Object.keys(On).forEach(function(fn){Dn+=On[fn].stats.size}),Dn});function Rn(){ut(On).forEach(function(Dn){Dn.renderbuffer=At.createRenderbuffer(),At.bindRenderbuffer(Cu,Dn.renderbuffer),At.renderbufferStorage(Cu,Dn.format,Dn.width,Dn.height)}),At.bindRenderbuffer(Cu,null)}return{create:to,clear:function(){ut(On).forEach(yn)},restore:Rn}},fl=36160,Xc=36161,ic=3553,yu=34069,Qs=36064,Qh=36096,gd=36128,Gu=33306,Pc=36053,vc=36193,sv=5121,Lf=5126,Uf=6407,Iu=6408,oh=[];oh[Iu]=4,oh[Uf]=3;var ru=[];ru[sv]=1,ru[Lf]=4,ru[vc]=2;function vf(At,Er,Wr,wi,Ui,Oi){var Bi={cur:null,next:null,dirty:!1,setFBO:null},cn=[\"rgba\"],On=[\"rgba4\",\"rgb565\",\"rgb5 a1\"];Er.ext_srgb&&On.push(\"srgba\"),Er.ext_color_buffer_half_float&&On.push(\"rgba16f\",\"rgb16f\"),Er.webgl_color_buffer_float&&On.push(\"rgba32f\");var Bn=[\"uint8\"];Er.oes_texture_half_float&&Bn.push(\"half float\",\"float16\"),Er.oes_texture_float&&Bn.push(\"float\",\"float32\");function yn(Xn,Vn,ma){this.target=Xn,this.texture=Vn,this.renderbuffer=ma;var ro=0,Ao=0;Vn?(ro=Vn.width,Ao=Vn.height):ma&&(ro=ma.width,Ao=ma.height),this.width=ro,this.height=Ao}function to(Xn){Xn&&(Xn.texture&&Xn.texture._texture.decRef(),Xn.renderbuffer&&Xn.renderbuffer._renderbuffer.decRef())}function Rn(Xn,Vn,ma){if(Xn)if(Xn.texture){var ro=Xn.texture._texture,Ao=Math.max(1,ro.width),Jn=Math.max(1,ro.height);ro.refCount+=1}else{var Oa=Xn.renderbuffer._renderbuffer;Oa.refCount+=1}}function Dn(Xn,Vn){Vn&&(Vn.texture?At.framebufferTexture2D(fl,Xn,Vn.target,Vn.texture._texture.texture,0):At.framebufferRenderbuffer(fl,Xn,Xc,Vn.renderbuffer._renderbuffer.renderbuffer))}function fn(Xn){var Vn=ic,ma=null,ro=null,Ao=Xn;typeof Xn==\"object\"&&(Ao=Xn.data,\"target\"in Xn&&(Vn=Xn.target|0));var Jn=Ao._reglType;return Jn===\"texture2d\"||Jn===\"textureCube\"?ma=Ao:Jn===\"renderbuffer\"&&(ro=Ao,Vn=Xc),new yn(Vn,ma,ro)}function Ai(Xn,Vn,ma,ro,Ao){if(ma){var Jn=wi.create2D({width:Xn,height:Vn,format:ro,type:Ao});return Jn._texture.refCount=0,new yn(ic,Jn,null)}else{var Oa=Ui.create({width:Xn,height:Vn,format:ro});return Oa._renderbuffer.refCount=0,new yn(Xc,null,Oa)}}function ji(Xn){return Xn&&(Xn.texture||Xn.renderbuffer)}function Ln(Xn,Vn,ma){Xn&&(Xn.texture?Xn.texture.resize(Vn,ma):Xn.renderbuffer&&Xn.renderbuffer.resize(Vn,ma),Xn.width=Vn,Xn.height=ma)}var Un=0,gn={};function ca(){this.id=Un++,gn[this.id]=this,this.framebuffer=At.createFramebuffer(),this.width=0,this.height=0,this.colorAttachments=[],this.depthAttachment=null,this.stencilAttachment=null,this.depthStencilAttachment=null}function Kn(Xn){Xn.colorAttachments.forEach(to),to(Xn.depthAttachment),to(Xn.stencilAttachment),to(Xn.depthStencilAttachment)}function Za(Xn){var Vn=Xn.framebuffer;At.deleteFramebuffer(Vn),Xn.framebuffer=null,Oi.framebufferCount--,delete gn[Xn.id]}function wn(Xn){var Vn;At.bindFramebuffer(fl,Xn.framebuffer);var ma=Xn.colorAttachments;for(Vn=0;Vn<ma.length;++Vn)Dn(Qs+Vn,ma[Vn]);for(Vn=ma.length;Vn<Wr.maxColorAttachments;++Vn)At.framebufferTexture2D(fl,Qs+Vn,ic,null,0);At.framebufferTexture2D(fl,Gu,ic,null,0),At.framebufferTexture2D(fl,Qh,ic,null,0),At.framebufferTexture2D(fl,gd,ic,null,0),Dn(Qh,Xn.depthAttachment),Dn(gd,Xn.stencilAttachment),Dn(Gu,Xn.depthStencilAttachment);var ro=At.checkFramebufferStatus(fl);At.isContextLost(),At.bindFramebuffer(fl,Bi.next?Bi.next.framebuffer:null),Bi.cur=Bi.next,At.getError()}function vn(Xn,Vn){var ma=new ca;Oi.framebufferCount++;function ro(Jn,Oa){var _o,Po=0,Jo=0,Yl=!0,$c=!0,xs=null,Qc=!0,El=\"rgba\",bc=\"uint8\",wc=1,yf=null,Gl=null,Fc=null,ef=!1;if(typeof Jn==\"number\")Po=Jn|0,Jo=Oa|0||Po;else if(!Jn)Po=Jo=1;else{var ls=Jn;if(\"shape\"in ls){var _f=ls.shape;Po=_f[0],Jo=_f[1]}else\"radius\"in ls&&(Po=Jo=ls.radius),\"width\"in ls&&(Po=ls.width),\"height\"in ls&&(Jo=ls.height);(\"color\"in ls||\"colors\"in ls)&&(xs=ls.color||ls.colors,Array.isArray(xs)),xs||(\"colorCount\"in ls&&(wc=ls.colorCount|0),\"colorTexture\"in ls&&(Qc=!!ls.colorTexture,El=\"rgba4\"),\"colorType\"in ls&&(bc=ls.colorType,Qc||(bc===\"half float\"||bc===\"float16\"?El=\"rgba16f\":(bc===\"float\"||bc===\"float32\")&&(El=\"rgba32f\"))),\"colorFormat\"in ls&&(El=ls.colorFormat,cn.indexOf(El)>=0?Qc=!0:On.indexOf(El)>=0&&(Qc=!1))),(\"depthTexture\"in ls||\"depthStencilTexture\"in ls)&&(ef=!!(ls.depthTexture||ls.depthStencilTexture)),\"depth\"in ls&&(typeof ls.depth==\"boolean\"?Yl=ls.depth:(yf=ls.depth,$c=!1)),\"stencil\"in ls&&(typeof ls.stencil==\"boolean\"?$c=ls.stencil:(Gl=ls.stencil,Yl=!1)),\"depthStencil\"in ls&&(typeof ls.depthStencil==\"boolean\"?Yl=$c=ls.depthStencil:(Fc=ls.depthStencil,Yl=!1,$c=!1))}var ns=null,Y=null,z=null,K=null;if(Array.isArray(xs))ns=xs.map(fn);else if(xs)ns=[fn(xs)];else for(ns=new Array(wc),_o=0;_o<wc;++_o)ns[_o]=Ai(Po,Jo,Qc,El,bc);Po=Po||ns[0].width,Jo=Jo||ns[0].height,yf?Y=fn(yf):Yl&&!$c&&(Y=Ai(Po,Jo,ef,\"depth\",\"uint32\")),Gl?z=fn(Gl):$c&&!Yl&&(z=Ai(Po,Jo,!1,\"stencil\",\"uint8\")),Fc?K=fn(Fc):!yf&&!Gl&&$c&&Yl&&(K=Ai(Po,Jo,ef,\"depth stencil\",\"depth stencil\"));var O=null;for(_o=0;_o<ns.length;++_o)if(Rn(ns[_o],Po,Jo),ns[_o]&&ns[_o].texture){var $=oh[ns[_o].texture._texture.format]*ru[ns[_o].texture._texture.type];O===null&&(O=$)}return Rn(Y,Po,Jo),Rn(z,Po,Jo),Rn(K,Po,Jo),Kn(ma),ma.width=Po,ma.height=Jo,ma.colorAttachments=ns,ma.depthAttachment=Y,ma.stencilAttachment=z,ma.depthStencilAttachment=K,ro.color=ns.map(ji),ro.depth=ji(Y),ro.stencil=ji(z),ro.depthStencil=ji(K),ro.width=ma.width,ro.height=ma.height,wn(ma),ro}function Ao(Jn,Oa){var _o=Math.max(Jn|0,1),Po=Math.max(Oa|0||_o,1);if(_o===ma.width&&Po===ma.height)return ro;for(var Jo=ma.colorAttachments,Yl=0;Yl<Jo.length;++Yl)Ln(Jo[Yl],_o,Po);return Ln(ma.depthAttachment,_o,Po),Ln(ma.stencilAttachment,_o,Po),Ln(ma.depthStencilAttachment,_o,Po),ma.width=ro.width=_o,ma.height=ro.height=Po,wn(ma),ro}return ro(Xn,Vn),e(ro,{resize:Ao,_reglType:\"framebuffer\",_framebuffer:ma,destroy:function(){Za(ma),Kn(ma)},use:function(Jn){Bi.setFBO({framebuffer:ro},Jn)}})}function Aa(Xn){var Vn=Array(6);function ma(Ao){var Jn,Oa={color:null},_o=0,Po=null,Jo=\"rgba\",Yl=\"uint8\",$c=1;if(typeof Ao==\"number\")_o=Ao|0;else if(!Ao)_o=1;else{var xs=Ao;if(\"shape\"in xs){var Qc=xs.shape;_o=Qc[0]}else\"radius\"in xs&&(_o=xs.radius|0),\"width\"in xs?(_o=xs.width|0,\"height\"in xs):\"height\"in xs&&(_o=xs.height|0);(\"color\"in xs||\"colors\"in xs)&&(Po=xs.color||xs.colors,Array.isArray(Po)),Po||(\"colorCount\"in xs&&($c=xs.colorCount|0),\"colorType\"in xs&&(Yl=xs.colorType),\"colorFormat\"in xs&&(Jo=xs.colorFormat)),\"depth\"in xs&&(Oa.depth=xs.depth),\"stencil\"in xs&&(Oa.stencil=xs.stencil),\"depthStencil\"in xs&&(Oa.depthStencil=xs.depthStencil)}var El;if(Po)if(Array.isArray(Po))for(El=[],Jn=0;Jn<Po.length;++Jn)El[Jn]=Po[Jn];else El=[Po];else{El=Array($c);var bc={radius:_o,format:Jo,type:Yl};for(Jn=0;Jn<$c;++Jn)El[Jn]=wi.createCube(bc)}for(Oa.color=Array(El.length),Jn=0;Jn<El.length;++Jn){var wc=El[Jn];_o=_o||wc.width,Oa.color[Jn]={target:yu,data:El[Jn]}}for(Jn=0;Jn<6;++Jn){for(var yf=0;yf<El.length;++yf)Oa.color[yf].target=yu+Jn;Jn>0&&(Oa.depth=Vn[0].depth,Oa.stencil=Vn[0].stencil,Oa.depthStencil=Vn[0].depthStencil),Vn[Jn]?Vn[Jn](Oa):Vn[Jn]=vn(Oa)}return e(ma,{width:_o,height:_o,color:El})}function ro(Ao){var Jn,Oa=Ao|0;if(Oa===ma.width)return ma;var _o=ma.color;for(Jn=0;Jn<_o.length;++Jn)_o[Jn].resize(Oa);for(Jn=0;Jn<6;++Jn)Vn[Jn].resize(Oa);return ma.width=ma.height=Oa,ma}return ma(Xn),e(ma,{faces:Vn,resize:ro,_reglType:\"framebufferCube\",destroy:function(){Vn.forEach(function(Ao){Ao.destroy()})}})}function aa(){Bi.cur=null,Bi.next=null,Bi.dirty=!0,ut(gn).forEach(function(Xn){Xn.framebuffer=At.createFramebuffer(),wn(Xn)})}return e(Bi,{getFramebuffer:function(Xn){if(typeof Xn==\"function\"&&Xn._reglType===\"framebuffer\"){var Vn=Xn._framebuffer;if(Vn instanceof ca)return Vn}return null},create:vn,createCube:Aa,clear:function(){ut(gn).forEach(Za)},restore:aa})}var md=5126,sh=34962,Fs=34963;function _u(){this.state=0,this.x=0,this.y=0,this.z=0,this.w=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=md,this.offset=0,this.stride=0,this.divisor=0}function xu(At,Er,Wr,wi,Ui,Oi,Bi){for(var cn=Wr.maxAttributes,On=new Array(cn),Bn=0;Bn<cn;++Bn)On[Bn]=new _u;var yn=0,to={},Rn={Record:_u,scope:{},state:On,currentVAO:null,targetVAO:null,restore:fn()?Kn:function(){},createVAO:Za,getVAO:ji,destroyBuffer:Dn,setVAO:fn()?Ln:Un,clear:fn()?gn:function(){}};function Dn(wn){for(var vn=0;vn<On.length;++vn){var Aa=On[vn];Aa.buffer===wn&&(At.disableVertexAttribArray(vn),Aa.buffer=null)}}function fn(){return Er.oes_vertex_array_object}function Ai(){return Er.angle_instanced_arrays}function ji(wn){return typeof wn==\"function\"&&wn._vao?wn._vao:null}function Ln(wn){if(wn!==Rn.currentVAO){var vn=fn();wn?vn.bindVertexArrayOES(wn.vao):vn.bindVertexArrayOES(null),Rn.currentVAO=wn}}function Un(wn){if(wn!==Rn.currentVAO){if(wn)wn.bindAttrs();else{for(var vn=Ai(),Aa=0;Aa<On.length;++Aa){var aa=On[Aa];aa.buffer?(At.enableVertexAttribArray(Aa),aa.buffer.bind(),At.vertexAttribPointer(Aa,aa.size,aa.type,aa.normalized,aa.stride,aa.offfset),vn&&aa.divisor&&vn.vertexAttribDivisorANGLE(Aa,aa.divisor)):(At.disableVertexAttribArray(Aa),At.vertexAttrib4f(Aa,aa.x,aa.y,aa.z,aa.w))}Bi.elements?At.bindBuffer(Fs,Bi.elements.buffer.buffer):At.bindBuffer(Fs,null)}Rn.currentVAO=wn}}function gn(){ut(to).forEach(function(wn){wn.destroy()})}function ca(){this.id=++yn,this.attributes=[],this.elements=null,this.ownsElements=!1,this.count=0,this.offset=0,this.instances=-1,this.primitive=4;var wn=fn();wn?this.vao=wn.createVertexArrayOES():this.vao=null,to[this.id]=this,this.buffers=[]}ca.prototype.bindAttrs=function(){for(var wn=Ai(),vn=this.attributes,Aa=0;Aa<vn.length;++Aa){var aa=vn[Aa];aa.buffer?(At.enableVertexAttribArray(Aa),At.bindBuffer(sh,aa.buffer.buffer),At.vertexAttribPointer(Aa,aa.size,aa.type,aa.normalized,aa.stride,aa.offset),wn&&aa.divisor&&wn.vertexAttribDivisorANGLE(Aa,aa.divisor)):(At.disableVertexAttribArray(Aa),At.vertexAttrib4f(Aa,aa.x,aa.y,aa.z,aa.w))}for(var Xn=vn.length;Xn<cn;++Xn)At.disableVertexAttribArray(Xn);var Vn=Oi.getElements(this.elements);Vn?At.bindBuffer(Fs,Vn.buffer.buffer):At.bindBuffer(Fs,null)},ca.prototype.refresh=function(){var wn=fn();wn&&(wn.bindVertexArrayOES(this.vao),this.bindAttrs(),Rn.currentVAO=null,wn.bindVertexArrayOES(null))},ca.prototype.destroy=function(){if(this.vao){var wn=fn();this===Rn.currentVAO&&(Rn.currentVAO=null,wn.bindVertexArrayOES(null)),wn.deleteVertexArrayOES(this.vao),this.vao=null}this.ownsElements&&(this.elements.destroy(),this.elements=null,this.ownsElements=!1),to[this.id]&&(delete to[this.id],wi.vaoCount-=1)};function Kn(){var wn=fn();wn&&ut(to).forEach(function(vn){vn.refresh()})}function Za(wn){var vn=new ca;wi.vaoCount+=1;function Aa(aa){var Xn;if(Array.isArray(aa))Xn=aa,vn.elements&&vn.ownsElements&&vn.elements.destroy(),vn.elements=null,vn.ownsElements=!1,vn.offset=0,vn.count=0,vn.instances=-1,vn.primitive=4;else{if(aa.elements){var Vn=aa.elements;vn.ownsElements?typeof Vn==\"function\"&&Vn._reglType===\"elements\"?(vn.elements.destroy(),vn.ownsElements=!1):(vn.elements(Vn),vn.ownsElements=!1):Oi.getElements(aa.elements)?(vn.elements=aa.elements,vn.ownsElements=!1):(vn.elements=Oi.create(aa.elements),vn.ownsElements=!0)}else vn.elements=null,vn.ownsElements=!1;Xn=aa.attributes,vn.offset=0,vn.count=-1,vn.instances=-1,vn.primitive=4,vn.elements&&(vn.count=vn.elements._elements.vertCount,vn.primitive=vn.elements._elements.primType),\"offset\"in aa&&(vn.offset=aa.offset|0),\"count\"in aa&&(vn.count=aa.count|0),\"instances\"in aa&&(vn.instances=aa.instances|0),\"primitive\"in aa&&(vn.primitive=Ki[aa.primitive])}var ma={},ro=vn.attributes;ro.length=Xn.length;for(var Ao=0;Ao<Xn.length;++Ao){var Jn=Xn[Ao],Oa=ro[Ao]=new _u,_o=Jn.data||Jn;if(Array.isArray(_o)||Or(_o)||Nr(_o)){var Po;vn.buffers[Ao]&&(Po=vn.buffers[Ao],Or(_o)&&Po._buffer.byteLength>=_o.byteLength?Po.subdata(_o):(Po.destroy(),vn.buffers[Ao]=null)),vn.buffers[Ao]||(Po=vn.buffers[Ao]=Ui.create(Jn,sh,!1,!0)),Oa.buffer=Ui.getBuffer(Po),Oa.size=Oa.buffer.dimension|0,Oa.normalized=!1,Oa.type=Oa.buffer.dtype,Oa.offset=0,Oa.stride=0,Oa.divisor=0,Oa.state=1,ma[Ao]=1}else Ui.getBuffer(Jn)?(Oa.buffer=Ui.getBuffer(Jn),Oa.size=Oa.buffer.dimension|0,Oa.normalized=!1,Oa.type=Oa.buffer.dtype,Oa.offset=0,Oa.stride=0,Oa.divisor=0,Oa.state=1):Ui.getBuffer(Jn.buffer)?(Oa.buffer=Ui.getBuffer(Jn.buffer),Oa.size=(+Jn.size||Oa.buffer.dimension)|0,Oa.normalized=!!Jn.normalized||!1,\"type\"in Jn?Oa.type=bi[Jn.type]:Oa.type=Oa.buffer.dtype,Oa.offset=(Jn.offset||0)|0,Oa.stride=(Jn.stride||0)|0,Oa.divisor=(Jn.divisor||0)|0,Oa.state=1):\"x\"in Jn&&(Oa.x=+Jn.x||0,Oa.y=+Jn.y||0,Oa.z=+Jn.z||0,Oa.w=+Jn.w||0,Oa.state=2)}for(var Jo=0;Jo<vn.buffers.length;++Jo)!ma[Jo]&&vn.buffers[Jo]&&(vn.buffers[Jo].destroy(),vn.buffers[Jo]=null);return vn.refresh(),Aa}return Aa.destroy=function(){for(var aa=0;aa<vn.buffers.length;++aa)vn.buffers[aa]&&vn.buffers[aa].destroy();vn.buffers.length=0,vn.ownsElements&&(vn.elements.destroy(),vn.elements=null,vn.ownsElements=!1),vn.destroy()},Aa._vao=vn,Aa._reglType=\"vao\",Aa(wn)}return Rn}var Lh=35632,Is=35633,Pf=35718,Ic=35721;function ju(At,Er,Wr,wi){var Ui={},Oi={};function Bi(Ai,ji,Ln,Un){this.name=Ai,this.id=ji,this.location=Ln,this.info=Un}function cn(Ai,ji){for(var Ln=0;Ln<Ai.length;++Ln)if(Ai[Ln].id===ji.id){Ai[Ln].location=ji.location;return}Ai.push(ji)}function On(Ai,ji,Ln){var Un=Ai===Lh?Ui:Oi,gn=Un[ji];if(!gn){var ca=Er.str(ji);gn=At.createShader(Ai),At.shaderSource(gn,ca),At.compileShader(gn),Un[ji]=gn}return gn}var Bn={},yn=[],to=0;function Rn(Ai,ji){this.id=to++,this.fragId=Ai,this.vertId=ji,this.program=null,this.uniforms=[],this.attributes=[],this.refCount=1,wi.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function Dn(Ai,ji,Ln){var Un,gn,ca=On(Lh,Ai.fragId),Kn=On(Is,Ai.vertId),Za=Ai.program=At.createProgram();if(At.attachShader(Za,ca),At.attachShader(Za,Kn),Ln)for(Un=0;Un<Ln.length;++Un){var wn=Ln[Un];At.bindAttribLocation(Za,wn[0],wn[1])}At.linkProgram(Za);var vn=At.getProgramParameter(Za,Pf);wi.profile&&(Ai.stats.uniformsCount=vn);var Aa=Ai.uniforms;for(Un=0;Un<vn;++Un)if(gn=At.getActiveUniform(Za,Un),gn)if(gn.size>1)for(var aa=0;aa<gn.size;++aa){var Xn=gn.name.replace(\"[0]\",\"[\"+aa+\"]\");cn(Aa,new Bi(Xn,Er.id(Xn),At.getUniformLocation(Za,Xn),gn))}else cn(Aa,new Bi(gn.name,Er.id(gn.name),At.getUniformLocation(Za,gn.name),gn));var Vn=At.getProgramParameter(Za,Ic);wi.profile&&(Ai.stats.attributesCount=Vn);var ma=Ai.attributes;for(Un=0;Un<Vn;++Un)gn=At.getActiveAttrib(Za,Un),gn&&cn(ma,new Bi(gn.name,Er.id(gn.name),At.getAttribLocation(Za,gn.name),gn))}wi.profile&&(Wr.getMaxUniformsCount=function(){var Ai=0;return yn.forEach(function(ji){ji.stats.uniformsCount>Ai&&(Ai=ji.stats.uniformsCount)}),Ai},Wr.getMaxAttributesCount=function(){var Ai=0;return yn.forEach(function(ji){ji.stats.attributesCount>Ai&&(Ai=ji.stats.attributesCount)}),Ai});function fn(){Ui={},Oi={};for(var Ai=0;Ai<yn.length;++Ai)Dn(yn[Ai],null,yn[Ai].attributes.map(function(ji){return[ji.location,ji.name]}))}return{clear:function(){var Ai=At.deleteShader.bind(At);ut(Ui).forEach(Ai),Ui={},ut(Oi).forEach(Ai),Oi={},yn.forEach(function(ji){At.deleteProgram(ji.program)}),yn.length=0,Bn={},Wr.shaderCount=0},program:function(Ai,ji,Ln,Un){var gn=Bn[ji];gn||(gn=Bn[ji]={});var ca=gn[Ai];if(ca&&(ca.refCount++,!Un))return ca;var Kn=new Rn(ji,Ai);return Wr.shaderCount++,Dn(Kn,Ln,Un),ca||(gn[Ai]=Kn),yn.push(Kn),e(Kn,{destroy:function(){if(Kn.refCount--,Kn.refCount<=0){At.deleteProgram(Kn.program);var Za=yn.indexOf(Kn);yn.splice(Za,1),Wr.shaderCount--}gn[Kn.vertId].refCount<=0&&(At.deleteShader(Oi[Kn.vertId]),delete Oi[Kn.vertId],delete Bn[Kn.fragId][Kn.vertId]),Object.keys(Bn[Kn.fragId]).length||(At.deleteShader(Ui[Kn.fragId]),delete Ui[Kn.fragId],delete Bn[Kn.fragId])}})},restore:fn,shader:On,frag:-1,vert:-1}}var Vf=6408,pc=5121,pf=3333,Ph=5126;function Dl(At,Er,Wr,wi,Ui,Oi,Bi){function cn(yn){var to;Er.next===null?to=pc:to=Er.next.colorAttachments[0].texture._texture.type;var Rn=0,Dn=0,fn=wi.framebufferWidth,Ai=wi.framebufferHeight,ji=null;Or(yn)?ji=yn:yn&&(Rn=yn.x|0,Dn=yn.y|0,fn=(yn.width||wi.framebufferWidth-Rn)|0,Ai=(yn.height||wi.framebufferHeight-Dn)|0,ji=yn.data||null),Wr();var Ln=fn*Ai*4;return ji||(to===pc?ji=new Uint8Array(Ln):to===Ph&&(ji=ji||new Float32Array(Ln))),At.pixelStorei(pf,4),At.readPixels(Rn,Dn,fn,Ai,Vf,to,ji),ji}function On(yn){var to;return Er.setFBO({framebuffer:yn.framebuffer},function(){to=cn(yn)}),to}function Bn(yn){return!yn||!(\"framebuffer\"in yn)?cn(yn):On(yn)}return Bn}var Ih=0,Wu=\"\";function Rc(At){return iu(gc(nc(At)))}function gc(At){return gt(Ti(gf(At),At.length*8))}function hl(At,Er){var Wr=gf(At);Wr.length>16&&(Wr=Ti(Wr,At.length*8));for(var wi=Array(16),Ui=Array(16),Oi=0;Oi<16;Oi++)wi[Oi]=Wr[Oi]^909522486,Ui[Oi]=Wr[Oi]^1549556828;var Bi=Ti(wi.concat(gf(Er)),512+Er.length*8);return gt(Ti(Ui.concat(Bi),768))}function iu(At){for(var Er=Ih?\"0123456789ABCDEF\":\"0123456789abcdef\",Wr=\"\",wi,Ui=0;Ui<At.length;Ui++)wi=At.charCodeAt(Ui),Wr+=Er.charAt(wi>>>4&15)+Er.charAt(wi&15);return Wr}function mc(At){for(var Er=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",Wr=\"\",wi=At.length,Ui=0;Ui<wi;Ui+=3)for(var Oi=At.charCodeAt(Ui)<<16|(Ui+1<wi?At.charCodeAt(Ui+1)<<8:0)|(Ui+2<wi?At.charCodeAt(Ui+2):0),Bi=0;Bi<4;Bi++)Ui*8+Bi*6>At.length*8?Wr+=Wu:Wr+=Er.charAt(Oi>>>6*(3-Bi)&63);return Wr}function Yc(At,Er){var Wr=Er.length,wi=Array(),Ui,Oi,Bi,cn,On=Array(Math.ceil(At.length/2));for(Ui=0;Ui<On.length;Ui++)On[Ui]=At.charCodeAt(Ui*2)<<8|At.charCodeAt(Ui*2+1);for(;On.length>0;){for(cn=Array(),Bi=0,Ui=0;Ui<On.length;Ui++)Bi=(Bi<<16)+On[Ui],Oi=Math.floor(Bi/Wr),Bi-=Oi*Wr,(cn.length>0||Oi>0)&&(cn[cn.length]=Oi);wi[wi.length]=Bi,On=cn}var Bn=\"\";for(Ui=wi.length-1;Ui>=0;Ui--)Bn+=Er.charAt(wi[Ui]);var yn=Math.ceil(At.length*8/(Math.log(Er.length)/Math.log(2)));for(Ui=Bn.length;Ui<yn;Ui++)Bn=Er[0]+Bn;return Bn}function nc(At){for(var Er=\"\",Wr=-1,wi,Ui;++Wr<At.length;)wi=At.charCodeAt(Wr),Ui=Wr+1<At.length?At.charCodeAt(Wr+1):0,55296<=wi&&wi<=56319&&56320<=Ui&&Ui<=57343&&(wi=65536+((wi&1023)<<10)+(Ui&1023),Wr++),wi<=127?Er+=String.fromCharCode(wi):wi<=2047?Er+=String.fromCharCode(192|wi>>>6&31,128|wi&63):wi<=65535?Er+=String.fromCharCode(224|wi>>>12&15,128|wi>>>6&63,128|wi&63):wi<=2097151&&(Er+=String.fromCharCode(240|wi>>>18&7,128|wi>>>12&63,128|wi>>>6&63,128|wi&63));return Er}function gf(At){for(var Er=Array(At.length>>2),Wr=0;Wr<Er.length;Wr++)Er[Wr]=0;for(var Wr=0;Wr<At.length*8;Wr+=8)Er[Wr>>5]|=(At.charCodeAt(Wr/8)&255)<<24-Wr%32;return Er}function gt(At){for(var Er=\"\",Wr=0;Wr<At.length*32;Wr+=8)Er+=String.fromCharCode(At[Wr>>5]>>>24-Wr%32&255);return Er}function Bt(At,Er){return At>>>Er|At<<32-Er}function wr(At,Er){return At>>>Er}function vr(At,Er,Wr){return At&Er^~At&Wr}function Ur(At,Er,Wr){return At&Er^At&Wr^Er&Wr}function fi(At){return Bt(At,2)^Bt(At,13)^Bt(At,22)}function xi(At){return Bt(At,6)^Bt(At,11)^Bt(At,25)}function Fi(At){return Bt(At,7)^Bt(At,18)^wr(At,3)}function Xi(At){return Bt(At,17)^Bt(At,19)^wr(At,10)}var hn=new Array(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);function Ti(At,Er){var Wr=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),wi=new Array(64),Ui,Oi,Bi,cn,On,Bn,yn,to,Rn,Dn,fn,Ai;for(At[Er>>5]|=128<<24-Er%32,At[(Er+64>>9<<4)+15]=Er,Rn=0;Rn<At.length;Rn+=16){for(Ui=Wr[0],Oi=Wr[1],Bi=Wr[2],cn=Wr[3],On=Wr[4],Bn=Wr[5],yn=Wr[6],to=Wr[7],Dn=0;Dn<64;Dn++)Dn<16?wi[Dn]=At[Dn+Rn]:wi[Dn]=qi(qi(qi(Xi(wi[Dn-2]),wi[Dn-7]),Fi(wi[Dn-15])),wi[Dn-16]),fn=qi(qi(qi(qi(to,xi(On)),vr(On,Bn,yn)),hn[Dn]),wi[Dn]),Ai=qi(fi(Ui),Ur(Ui,Oi,Bi)),to=yn,yn=Bn,Bn=On,On=qi(cn,fn),cn=Bi,Bi=Oi,Oi=Ui,Ui=qi(fn,Ai);Wr[0]=qi(Ui,Wr[0]),Wr[1]=qi(Oi,Wr[1]),Wr[2]=qi(Bi,Wr[2]),Wr[3]=qi(cn,Wr[3]),Wr[4]=qi(On,Wr[4]),Wr[5]=qi(Bn,Wr[5]),Wr[6]=qi(yn,Wr[6]),Wr[7]=qi(to,Wr[7])}return Wr}function qi(At,Er){var Wr=(At&65535)+(Er&65535),wi=(At>>16)+(Er>>16)+(Wr>>16);return wi<<16|Wr&65535}function Ii(At){return Array.prototype.slice.call(At)}function mi(At){return Ii(At).join(\"\")}function Pn(At){var Er=At&&At.cache,Wr=0,wi=[],Ui=[],Oi=[];function Bi(fn,Ai){var ji=Ai&&Ai.stable;if(!ji){for(var Ln=0;Ln<Ui.length;++Ln)if(Ui[Ln]===fn&&!Oi[Ln])return wi[Ln]}var Un=\"g\"+Wr++;return wi.push(Un),Ui.push(fn),Oi.push(ji),Un}function cn(){var fn=[];function Ai(){fn.push.apply(fn,Ii(arguments))}var ji=[];function Ln(){var Un=\"v\"+Wr++;return ji.push(Un),arguments.length>0&&(fn.push(Un,\"=\"),fn.push.apply(fn,Ii(arguments)),fn.push(\";\")),Un}return e(Ai,{def:Ln,toString:function(){return mi([ji.length>0?\"var \"+ji.join(\",\")+\";\":\"\",mi(fn)])}})}function On(){var fn=cn(),Ai=cn(),ji=fn.toString,Ln=Ai.toString;function Un(gn,ca){Ai(gn,ca,\"=\",fn.def(gn,ca),\";\")}return e(function(){fn.apply(fn,Ii(arguments))},{def:fn.def,entry:fn,exit:Ai,save:Un,set:function(gn,ca,Kn){Un(gn,ca),fn(gn,ca,\"=\",Kn,\";\")},toString:function(){return ji()+Ln()}})}function Bn(){var fn=mi(arguments),Ai=On(),ji=On(),Ln=Ai.toString,Un=ji.toString;return e(Ai,{then:function(){return Ai.apply(Ai,Ii(arguments)),this},else:function(){return ji.apply(ji,Ii(arguments)),this},toString:function(){var gn=Un();return gn&&(gn=\"else{\"+gn+\"}\"),mi([\"if(\",fn,\"){\",Ln(),\"}\",gn])}})}var yn=cn(),to={};function Rn(fn,Ai){var ji=[];function Ln(){var Za=\"a\"+ji.length;return ji.push(Za),Za}Ai=Ai||0;for(var Un=0;Un<Ai;++Un)Ln();var gn=On(),ca=gn.toString,Kn=to[fn]=e(gn,{arg:Ln,toString:function(){return mi([\"function(\",ji.join(),\"){\",ca(),\"}\"])}});return Kn}function Dn(){var fn=['\"use strict\";',yn,\"return {\"];Object.keys(to).forEach(function(Un){fn.push('\"',Un,'\":',to[Un].toString(),\",\")}),fn.push(\"}\");var Ai=mi(fn).replace(/;/g,`;\n", - "`).replace(/}/g,`}\n", - "`).replace(/{/g,`{\n", - "`),ji;if(Er&&(ji=Rc(Ai),Er[ji]))return Er[ji].apply(null,Ui);var Ln=Function.apply(null,wi.concat(Ai));return Er&&(Er[ji]=Ln),Ln.apply(null,Ui)}return{global:yn,link:Bi,block:cn,proc:Rn,scope:On,cond:Bn,compile:Dn}}var Ma=\"xyzw\".split(\"\"),Ta=5121,Ea=1,qa=2,Cn=0,sn=1,Ua=2,mo=3,Xo=4,Ts=5,Qo=6,ys=\"dither\",Bo=\"blend.enable\",yl=\"blend.color\",Gs=\"blend.equation\",Rs=\"blend.func\",ia=\"depth.enable\",Ka=\"depth.func\",vs=\"depth.range\",Ko=\"depth.mask\",nu=\"colorMask\",Ru=\"cull.enable\",ac=\"cull.face\",mf=\"frontFace\",bu=\"lineWidth\",Kc=\"polygonOffset.enable\",Du=\"polygonOffset.offset\",Dc=\"sample.alpha\",Da=\"sample.enable\",eo=\"sample.coverage\",Jc=\"stencil.enable\",yc=\"stencil.mask\",_c=\"stencil.func\",le=\"stencil.opFront\",w=\"stencil.opBack\",B=\"scissor.enable\",Q=\"scissor.box\",ee=\"viewport\",se=\"profile\",qe=\"framebuffer\",je=\"vert\",it=\"frag\",yt=\"elements\",Ot=\"primitive\",Nt=\"count\",hr=\"offset\",Sr=\"instances\",he=\"vao\",be=\"Width\",Pe=\"Height\",Oe=qe+be,Je=qe+Pe,He=ee+be,et=ee+Pe,Mt=\"drawingBuffer\",Dt=Mt+be,Ut=Mt+Pe,tr=[Rs,Gs,_c,le,w,eo,ee,Q,Du],mr=34962,Rr=34963,zr=2884,Xr=3042,di=3024,Li=2960,Ci=2929,Qi=3089,Mn=32823,pa=32926,ea=32928,Ga=5126,To=35664,Wa=35665,co=35666,Ro=5124,Ds=35667,As=35668,yo=35669,po=35670,_l=35671,Hl=35672,Zu=35673,cu=35674,el=35675,au=35676,zc=35678,zl=35680,Fl=4,Z=1028,oe=1029,we=2304,Be=2305,Ue=32775,We=32776,wt=519,tt=7680,zt=0,or=1,lr=32774,Dr=513,Ir=36160,oi=36064,ui={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},qr={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},Kr={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},ii={cw:we,ccw:Be};function vi(At){return Array.isArray(At)||Or(At)||Nr(At)}function ci(At){return At.sort(function(Er,Wr){return Er===ee?-1:Wr===ee?1:Er<Wr?-1:1})}function Jr(At,Er,Wr,wi){this.thisDep=At,this.contextDep=Er,this.propDep=Wr,this.append=wi}function un(At){return At&&!(At.thisDep||At.contextDep||At.propDep)}function dn(At){return new Jr(!1,!1,!1,At)}function En(At,Er){var Wr=At.type;if(Wr===Cn){var wi=At.data.length;return new Jr(!0,wi>=1,wi>=2,Er)}else if(Wr===Xo){var Ui=At.data;return new Jr(Ui.thisDep,Ui.contextDep,Ui.propDep,Er)}else{if(Wr===Ts)return new Jr(!1,!1,!1,Er);if(Wr===Qo){for(var Oi=!1,Bi=!1,cn=!1,On=0;On<At.data.length;++On){var Bn=At.data[On];if(Bn.type===sn)cn=!0;else if(Bn.type===Ua)Bi=!0;else if(Bn.type===mo)Oi=!0;else if(Bn.type===Cn){Oi=!0;var yn=Bn.data;yn>=1&&(Bi=!0),yn>=2&&(cn=!0)}else Bn.type===Xo&&(Oi=Oi||Bn.data.thisDep,Bi=Bi||Bn.data.contextDep,cn=cn||Bn.data.propDep)}return new Jr(Oi,Bi,cn,Er)}else return new Jr(Wr===mo,Wr===Ua,Wr===sn,Er)}}var Nn=new Jr(!1,!1,!1,function(){});function ga(At,Er,Wr,wi,Ui,Oi,Bi,cn,On,Bn,yn,to,Rn,Dn,fn,Ai){var ji=Bn.Record,Ln={add:32774,subtract:32778,\"reverse subtract\":32779};Wr.ext_blend_minmax&&(Ln.min=Ue,Ln.max=We);var Un=Wr.angle_instanced_arrays,gn=Wr.webgl_draw_buffers,ca=Wr.oes_vertex_array_object,Kn={dirty:!0,profile:Ai.profile},Za={},wn=[],vn={},Aa={};function aa(vt){return vt.replace(\".\",\"_\")}function Xn(vt,Pt,Wt){var rr=aa(vt);wn.push(vt),Za[rr]=Kn[rr]=!!Wt,vn[rr]=Pt}function Vn(vt,Pt,Wt){var rr=aa(vt);wn.push(vt),Array.isArray(Wt)?(Kn[rr]=Wt.slice(),Za[rr]=Wt.slice()):Kn[rr]=Za[rr]=Wt,Aa[rr]=Pt}function ma(vt){return!!isNaN(vt)}Xn(ys,di),Xn(Bo,Xr),Vn(yl,\"blendColor\",[0,0,0,0]),Vn(Gs,\"blendEquationSeparate\",[lr,lr]),Vn(Rs,\"blendFuncSeparate\",[or,zt,or,zt]),Xn(ia,Ci,!0),Vn(Ka,\"depthFunc\",Dr),Vn(vs,\"depthRange\",[0,1]),Vn(Ko,\"depthMask\",!0),Vn(nu,nu,[!0,!0,!0,!0]),Xn(Ru,zr),Vn(ac,\"cullFace\",oe),Vn(mf,mf,Be),Vn(bu,bu,1),Xn(Kc,Mn),Vn(Du,\"polygonOffset\",[0,0]),Xn(Dc,pa),Xn(Da,ea),Vn(eo,\"sampleCoverage\",[1,!1]),Xn(Jc,Li),Vn(yc,\"stencilMask\",-1),Vn(_c,\"stencilFunc\",[wt,0,-1]),Vn(le,\"stencilOpSeparate\",[Z,tt,tt,tt]),Vn(w,\"stencilOpSeparate\",[oe,tt,tt,tt]),Xn(B,Qi),Vn(Q,\"scissor\",[0,0,At.drawingBufferWidth,At.drawingBufferHeight]),Vn(ee,ee,[0,0,At.drawingBufferWidth,At.drawingBufferHeight]);var ro={gl:At,context:Rn,strings:Er,next:Za,current:Kn,draw:to,elements:Oi,buffer:Ui,shader:yn,attributes:Bn.state,vao:Bn,uniforms:On,framebuffer:cn,extensions:Wr,timer:Dn,isBufferArgs:vi},Ao={primTypes:Ki,compareFuncs:qr,blendFuncs:ui,blendEquations:Ln,stencilOps:Kr,glTypes:bi,orientationType:ii};gn&&(Ao.backBuffer=[oe],Ao.drawBuffer=M(wi.maxDrawbuffers,function(vt){return vt===0?[0]:M(vt,function(Pt){return oi+Pt})}));var Jn=0;function Oa(){var vt=Pn({cache:fn}),Pt=vt.link,Wt=vt.global;vt.id=Jn++,vt.batchId=\"0\";var rr=Pt(ro),dr=vt.shared={props:\"a0\"};Object.keys(ro).forEach(function(Cr){dr[Cr]=Wt.def(rr,\".\",Cr)});var pr=vt.next={},kr=vt.current={};Object.keys(Aa).forEach(function(Cr){Array.isArray(Kn[Cr])&&(pr[Cr]=Wt.def(dr.next,\".\",Cr),kr[Cr]=Wt.def(dr.current,\".\",Cr))});var Ar=vt.constants={};Object.keys(Ao).forEach(function(Cr){Ar[Cr]=Wt.def(JSON.stringify(Ao[Cr]))}),vt.invoke=function(Cr,cr){switch(cr.type){case Cn:var Gr=[\"this\",dr.context,dr.props,vt.batchId];return Cr.def(Pt(cr.data),\".call(\",Gr.slice(0,Math.max(cr.data.length+1,4)),\")\");case sn:return Cr.def(dr.props,cr.data);case Ua:return Cr.def(dr.context,cr.data);case mo:return Cr.def(\"this\",cr.data);case Xo:return cr.data.append(vt,Cr),cr.data.ref;case Ts:return cr.data.toString();case Qo:return cr.data.map(function(ei){return vt.invoke(Cr,ei)})}},vt.attribCache={};var gr={};return vt.scopeAttrib=function(Cr){var cr=Er.id(Cr);if(cr in gr)return gr[cr];var Gr=Bn.scope[cr];Gr||(Gr=Bn.scope[cr]=new ji);var ei=gr[cr]=Pt(Gr);return ei},vt}function _o(vt){var Pt=vt.static,Wt=vt.dynamic,rr;if(se in Pt){var dr=!!Pt[se];rr=dn(function(kr,Ar){return dr}),rr.enable=dr}else if(se in Wt){var pr=Wt[se];rr=En(pr,function(kr,Ar){return kr.invoke(Ar,pr)})}return rr}function Po(vt,Pt){var Wt=vt.static,rr=vt.dynamic;if(qe in Wt){var dr=Wt[qe];return dr?(dr=cn.getFramebuffer(dr),dn(function(kr,Ar){var gr=kr.link(dr),Cr=kr.shared;Ar.set(Cr.framebuffer,\".next\",gr);var cr=Cr.context;return Ar.set(cr,\".\"+Oe,gr+\".width\"),Ar.set(cr,\".\"+Je,gr+\".height\"),gr})):dn(function(kr,Ar){var gr=kr.shared;Ar.set(gr.framebuffer,\".next\",\"null\");var Cr=gr.context;return Ar.set(Cr,\".\"+Oe,Cr+\".\"+Dt),Ar.set(Cr,\".\"+Je,Cr+\".\"+Ut),\"null\"})}else if(qe in rr){var pr=rr[qe];return En(pr,function(kr,Ar){var gr=kr.invoke(Ar,pr),Cr=kr.shared,cr=Cr.framebuffer,Gr=Ar.def(cr,\".getFramebuffer(\",gr,\")\");Ar.set(cr,\".next\",Gr);var ei=Cr.context;return Ar.set(ei,\".\"+Oe,Gr+\"?\"+Gr+\".width:\"+ei+\".\"+Dt),Ar.set(ei,\".\"+Je,Gr+\"?\"+Gr+\".height:\"+ei+\".\"+Ut),Gr})}else return null}function Jo(vt,Pt,Wt){var rr=vt.static,dr=vt.dynamic;function pr(gr){if(gr in rr){var Cr=rr[gr],cr=!0,Gr=Cr.x|0,ei=Cr.y|0,yi,tn;return\"width\"in Cr?yi=Cr.width|0:cr=!1,\"height\"in Cr?tn=Cr.height|0:cr=!1,new Jr(!cr&&Pt&&Pt.thisDep,!cr&&Pt&&Pt.contextDep,!cr&&Pt&&Pt.propDep,function(Qn,qn){var rn=Qn.shared.context,bn=yi;\"width\"in Cr||(bn=qn.def(rn,\".\",Oe,\"-\",Gr));var mn=tn;return\"height\"in Cr||(mn=qn.def(rn,\".\",Je,\"-\",ei)),[Gr,ei,bn,mn]})}else if(gr in dr){var Ri=dr[gr],ln=En(Ri,function(Qn,qn){var rn=Qn.invoke(qn,Ri),bn=Qn.shared.context,mn=qn.def(rn,\".x|0\"),Gn=qn.def(rn,\".y|0\"),da=qn.def('\"width\" in ',rn,\"?\",rn,\".width|0:\",\"(\",bn,\".\",Oe,\"-\",mn,\")\"),No=qn.def('\"height\" in ',rn,\"?\",rn,\".height|0:\",\"(\",bn,\".\",Je,\"-\",Gn,\")\");return[mn,Gn,da,No]});return Pt&&(ln.thisDep=ln.thisDep||Pt.thisDep,ln.contextDep=ln.contextDep||Pt.contextDep,ln.propDep=ln.propDep||Pt.propDep),ln}else return Pt?new Jr(Pt.thisDep,Pt.contextDep,Pt.propDep,function(Qn,qn){var rn=Qn.shared.context;return[0,0,qn.def(rn,\".\",Oe),qn.def(rn,\".\",Je)]}):null}var kr=pr(ee);if(kr){var Ar=kr;kr=new Jr(kr.thisDep,kr.contextDep,kr.propDep,function(gr,Cr){var cr=Ar.append(gr,Cr),Gr=gr.shared.context;return Cr.set(Gr,\".\"+He,cr[2]),Cr.set(Gr,\".\"+et,cr[3]),cr})}return{viewport:kr,scissor_box:pr(Q)}}function Yl(vt,Pt){var Wt=vt.static,rr=typeof Wt[it]==\"string\"&&typeof Wt[je]==\"string\";if(rr){if(Object.keys(Pt.dynamic).length>0)return null;var dr=Pt.static,pr=Object.keys(dr);if(pr.length>0&&typeof dr[pr[0]]==\"number\"){for(var kr=[],Ar=0;Ar<pr.length;++Ar)kr.push([dr[pr[Ar]]|0,pr[Ar]]);return kr}}return null}function $c(vt,Pt,Wt){var rr=vt.static,dr=vt.dynamic;function pr(cr){if(cr in rr){var Gr=Er.id(rr[cr]),ei=dn(function(){return Gr});return ei.id=Gr,ei}else if(cr in dr){var yi=dr[cr];return En(yi,function(tn,Ri){var ln=tn.invoke(Ri,yi),Qn=Ri.def(tn.shared.strings,\".id(\",ln,\")\");return Qn})}return null}var kr=pr(it),Ar=pr(je),gr=null,Cr;return un(kr)&&un(Ar)?(gr=yn.program(Ar.id,kr.id,null,Wt),Cr=dn(function(cr,Gr){return cr.link(gr)})):Cr=new Jr(kr&&kr.thisDep||Ar&&Ar.thisDep,kr&&kr.contextDep||Ar&&Ar.contextDep,kr&&kr.propDep||Ar&&Ar.propDep,function(cr,Gr){var ei=cr.shared.shader,yi;kr?yi=kr.append(cr,Gr):yi=Gr.def(ei,\".\",it);var tn;Ar?tn=Ar.append(cr,Gr):tn=Gr.def(ei,\".\",je);var Ri=ei+\".program(\"+tn+\",\"+yi;return Gr.def(Ri+\")\")}),{frag:kr,vert:Ar,progVar:Cr,program:gr}}function xs(vt,Pt){var Wt=vt.static,rr=vt.dynamic,dr={},pr=!1;function kr(){if(he in Wt){var qn=Wt[he];return qn!==null&&Bn.getVAO(qn)===null&&(qn=Bn.createVAO(qn)),pr=!0,dr.vao=qn,dn(function(bn){var mn=Bn.getVAO(qn);return mn?bn.link(mn):\"null\"})}else if(he in rr){pr=!0;var rn=rr[he];return En(rn,function(bn,mn){var Gn=bn.invoke(mn,rn);return mn.def(bn.shared.vao+\".getVAO(\"+Gn+\")\")})}return null}var Ar=kr(),gr=!1;function Cr(){if(yt in Wt){var qn=Wt[yt];if(dr.elements=qn,vi(qn)){var rn=dr.elements=Oi.create(qn,!0);qn=Oi.getElements(rn),gr=!0}else qn&&(qn=Oi.getElements(qn),gr=!0);var bn=dn(function(Gn,da){if(qn){var No=Gn.link(qn);return Gn.ELEMENTS=No,No}return Gn.ELEMENTS=null,null});return bn.value=qn,bn}else if(yt in rr){gr=!0;var mn=rr[yt];return En(mn,function(Gn,da){var No=Gn.shared,Do=No.isBufferArgs,ps=No.elements,fo=Gn.invoke(da,mn),as=da.def(\"null\"),tl=da.def(Do,\"(\",fo,\")\"),zu=Gn.cond(tl).then(as,\"=\",ps,\".createStream(\",fo,\");\").else(as,\"=\",ps,\".getElements(\",fo,\");\");return da.entry(zu),da.exit(Gn.cond(tl).then(ps,\".destroyStream(\",as,\");\")),Gn.ELEMENTS=as,as})}else if(pr)return new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(Gn,da){return da.def(Gn.shared.vao+\".currentVAO?\"+Gn.shared.elements+\".getElements(\"+Gn.shared.vao+\".currentVAO.elements):null\")});return null}var cr=Cr();function Gr(){if(Ot in Wt){var qn=Wt[Ot];return dr.primitive=qn,dn(function(bn,mn){return Ki[qn]})}else if(Ot in rr){var rn=rr[Ot];return En(rn,function(bn,mn){var Gn=bn.constants.primTypes,da=bn.invoke(mn,rn);return mn.def(Gn,\"[\",da,\"]\")})}else{if(gr)return un(cr)?cr.value?dn(function(bn,mn){return mn.def(bn.ELEMENTS,\".primType\")}):dn(function(){return Fl}):new Jr(cr.thisDep,cr.contextDep,cr.propDep,function(bn,mn){var Gn=bn.ELEMENTS;return mn.def(Gn,\"?\",Gn,\".primType:\",Fl)});if(pr)return new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(bn,mn){return mn.def(bn.shared.vao+\".currentVAO?\"+bn.shared.vao+\".currentVAO.primitive:\"+Fl)})}return null}function ei(qn,rn){if(qn in Wt){var bn=Wt[qn]|0;return rn?dr.offset=bn:dr.instances=bn,dn(function(Gn,da){return rn&&(Gn.OFFSET=bn),bn})}else if(qn in rr){var mn=rr[qn];return En(mn,function(Gn,da){var No=Gn.invoke(da,mn);return rn&&(Gn.OFFSET=No),No})}else if(rn){if(gr)return dn(function(Gn,da){return Gn.OFFSET=0,0});if(pr)return new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(Gn,da){return da.def(Gn.shared.vao+\".currentVAO?\"+Gn.shared.vao+\".currentVAO.offset:0\")})}else if(pr)return new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(Gn,da){return da.def(Gn.shared.vao+\".currentVAO?\"+Gn.shared.vao+\".currentVAO.instances:-1\")});return null}var yi=ei(hr,!0);function tn(){if(Nt in Wt){var qn=Wt[Nt]|0;return dr.count=qn,dn(function(){return qn})}else if(Nt in rr){var rn=rr[Nt];return En(rn,function(da,No){var Do=da.invoke(No,rn);return Do})}else if(gr)if(un(cr)){if(cr)return yi?new Jr(yi.thisDep,yi.contextDep,yi.propDep,function(da,No){var Do=No.def(da.ELEMENTS,\".vertCount-\",da.OFFSET);return Do}):dn(function(da,No){return No.def(da.ELEMENTS,\".vertCount\")});var bn=dn(function(){return-1});return bn}else{var mn=new Jr(cr.thisDep||yi.thisDep,cr.contextDep||yi.contextDep,cr.propDep||yi.propDep,function(da,No){var Do=da.ELEMENTS;return da.OFFSET?No.def(Do,\"?\",Do,\".vertCount-\",da.OFFSET,\":-1\"):No.def(Do,\"?\",Do,\".vertCount:-1\")});return mn}else if(pr){var Gn=new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(da,No){return No.def(da.shared.vao,\".currentVAO?\",da.shared.vao,\".currentVAO.count:-1\")});return Gn}return null}var Ri=Gr(),ln=tn(),Qn=ei(Sr,!1);return{elements:cr,primitive:Ri,count:ln,instances:Qn,offset:yi,vao:Ar,vaoActive:pr,elementsActive:gr,static:dr}}function Qc(vt,Pt){var Wt=vt.static,rr=vt.dynamic,dr={};return wn.forEach(function(pr){var kr=aa(pr);function Ar(gr,Cr){if(pr in Wt){var cr=gr(Wt[pr]);dr[kr]=dn(function(){return cr})}else if(pr in rr){var Gr=rr[pr];dr[kr]=En(Gr,function(ei,yi){return Cr(ei,yi,ei.invoke(yi,Gr))})}}switch(pr){case Ru:case Bo:case ys:case Jc:case ia:case B:case Kc:case Dc:case Da:case Ko:return Ar(function(gr){return gr},function(gr,Cr,cr){return cr});case Ka:return Ar(function(gr){return qr[gr]},function(gr,Cr,cr){var Gr=gr.constants.compareFuncs;return Cr.def(Gr,\"[\",cr,\"]\")});case vs:return Ar(function(gr){return gr},function(gr,Cr,cr){var Gr=Cr.def(\"+\",cr,\"[0]\"),ei=Cr.def(\"+\",cr,\"[1]\");return[Gr,ei]});case Rs:return Ar(function(gr){var Cr=\"srcRGB\"in gr?gr.srcRGB:gr.src,cr=\"srcAlpha\"in gr?gr.srcAlpha:gr.src,Gr=\"dstRGB\"in gr?gr.dstRGB:gr.dst,ei=\"dstAlpha\"in gr?gr.dstAlpha:gr.dst;return[ui[Cr],ui[Gr],ui[cr],ui[ei]]},function(gr,Cr,cr){var Gr=gr.constants.blendFuncs;function ei(rn,bn){var mn=Cr.def('\"',rn,bn,'\" in ',cr,\"?\",cr,\".\",rn,bn,\":\",cr,\".\",rn);return mn}var yi=ei(\"src\",\"RGB\"),tn=ei(\"dst\",\"RGB\"),Ri=Cr.def(Gr,\"[\",yi,\"]\"),ln=Cr.def(Gr,\"[\",ei(\"src\",\"Alpha\"),\"]\"),Qn=Cr.def(Gr,\"[\",tn,\"]\"),qn=Cr.def(Gr,\"[\",ei(\"dst\",\"Alpha\"),\"]\");return[Ri,Qn,ln,qn]});case Gs:return Ar(function(gr){if(typeof gr==\"string\")return[Ln[gr],Ln[gr]];if(typeof gr==\"object\")return[Ln[gr.rgb],Ln[gr.alpha]]},function(gr,Cr,cr){var Gr=gr.constants.blendEquations,ei=Cr.def(),yi=Cr.def(),tn=gr.cond(\"typeof \",cr,'===\"string\"');return tn.then(ei,\"=\",yi,\"=\",Gr,\"[\",cr,\"];\"),tn.else(ei,\"=\",Gr,\"[\",cr,\".rgb];\",yi,\"=\",Gr,\"[\",cr,\".alpha];\"),Cr(tn),[ei,yi]});case yl:return Ar(function(gr){return M(4,function(Cr){return+gr[Cr]})},function(gr,Cr,cr){return M(4,function(Gr){return Cr.def(\"+\",cr,\"[\",Gr,\"]\")})});case yc:return Ar(function(gr){return gr|0},function(gr,Cr,cr){return Cr.def(cr,\"|0\")});case _c:return Ar(function(gr){var Cr=gr.cmp||\"keep\",cr=gr.ref||0,Gr=\"mask\"in gr?gr.mask:-1;return[qr[Cr],cr,Gr]},function(gr,Cr,cr){var Gr=gr.constants.compareFuncs,ei=Cr.def('\"cmp\" in ',cr,\"?\",Gr,\"[\",cr,\".cmp]\",\":\",tt),yi=Cr.def(cr,\".ref|0\"),tn=Cr.def('\"mask\" in ',cr,\"?\",cr,\".mask|0:-1\");return[ei,yi,tn]});case le:case w:return Ar(function(gr){var Cr=gr.fail||\"keep\",cr=gr.zfail||\"keep\",Gr=gr.zpass||\"keep\";return[pr===w?oe:Z,Kr[Cr],Kr[cr],Kr[Gr]]},function(gr,Cr,cr){var Gr=gr.constants.stencilOps;function ei(yi){return Cr.def('\"',yi,'\" in ',cr,\"?\",Gr,\"[\",cr,\".\",yi,\"]:\",tt)}return[pr===w?oe:Z,ei(\"fail\"),ei(\"zfail\"),ei(\"zpass\")]});case Du:return Ar(function(gr){var Cr=gr.factor|0,cr=gr.units|0;return[Cr,cr]},function(gr,Cr,cr){var Gr=Cr.def(cr,\".factor|0\"),ei=Cr.def(cr,\".units|0\");return[Gr,ei]});case ac:return Ar(function(gr){var Cr=0;return gr===\"front\"?Cr=Z:gr===\"back\"&&(Cr=oe),Cr},function(gr,Cr,cr){return Cr.def(cr,'===\"front\"?',Z,\":\",oe)});case bu:return Ar(function(gr){return gr},function(gr,Cr,cr){return cr});case mf:return Ar(function(gr){return ii[gr]},function(gr,Cr,cr){return Cr.def(cr+'===\"cw\"?'+we+\":\"+Be)});case nu:return Ar(function(gr){return gr.map(function(Cr){return!!Cr})},function(gr,Cr,cr){return M(4,function(Gr){return\"!!\"+cr+\"[\"+Gr+\"]\"})});case eo:return Ar(function(gr){var Cr=\"value\"in gr?gr.value:1,cr=!!gr.invert;return[Cr,cr]},function(gr,Cr,cr){var Gr=Cr.def('\"value\" in ',cr,\"?+\",cr,\".value:1\"),ei=Cr.def(\"!!\",cr,\".invert\");return[Gr,ei]})}}),dr}function El(vt,Pt){var Wt=vt.static,rr=vt.dynamic,dr={};return Object.keys(Wt).forEach(function(pr){var kr=Wt[pr],Ar;if(typeof kr==\"number\"||typeof kr==\"boolean\")Ar=dn(function(){return kr});else if(typeof kr==\"function\"){var gr=kr._reglType;gr===\"texture2d\"||gr===\"textureCube\"?Ar=dn(function(Cr){return Cr.link(kr)}):(gr===\"framebuffer\"||gr===\"framebufferCube\")&&(Ar=dn(function(Cr){return Cr.link(kr.color[0])}))}else an(kr)&&(Ar=dn(function(Cr){var cr=Cr.global.def(\"[\",M(kr.length,function(Gr){return kr[Gr]}),\"]\");return cr}));Ar.value=kr,dr[pr]=Ar}),Object.keys(rr).forEach(function(pr){var kr=rr[pr];dr[pr]=En(kr,function(Ar,gr){return Ar.invoke(gr,kr)})}),dr}function bc(vt,Pt){var Wt=vt.static,rr=vt.dynamic,dr={};return Object.keys(Wt).forEach(function(pr){var kr=Wt[pr],Ar=Er.id(pr),gr=new ji;if(vi(kr))gr.state=Ea,gr.buffer=Ui.getBuffer(Ui.create(kr,mr,!1,!0)),gr.type=0;else{var Cr=Ui.getBuffer(kr);if(Cr)gr.state=Ea,gr.buffer=Cr,gr.type=0;else if(\"constant\"in kr){var cr=kr.constant;gr.buffer=\"null\",gr.state=qa,typeof cr==\"number\"?gr.x=cr:Ma.forEach(function(Qn,qn){qn<cr.length&&(gr[Qn]=cr[qn])})}else{vi(kr.buffer)?Cr=Ui.getBuffer(Ui.create(kr.buffer,mr,!1,!0)):Cr=Ui.getBuffer(kr.buffer);var Gr=kr.offset|0,ei=kr.stride|0,yi=kr.size|0,tn=!!kr.normalized,Ri=0;\"type\"in kr&&(Ri=bi[kr.type]);var ln=kr.divisor|0;gr.buffer=Cr,gr.state=Ea,gr.size=yi,gr.normalized=tn,gr.type=Ri||Cr.dtype,gr.offset=Gr,gr.stride=ei,gr.divisor=ln}}dr[pr]=dn(function(Qn,qn){var rn=Qn.attribCache;if(Ar in rn)return rn[Ar];var bn={isStream:!1};return Object.keys(gr).forEach(function(mn){bn[mn]=gr[mn]}),gr.buffer&&(bn.buffer=Qn.link(gr.buffer),bn.type=bn.type||bn.buffer+\".dtype\"),rn[Ar]=bn,bn})}),Object.keys(rr).forEach(function(pr){var kr=rr[pr];function Ar(gr,Cr){var cr=gr.invoke(Cr,kr),Gr=gr.shared,ei=gr.constants,yi=Gr.isBufferArgs,tn=Gr.buffer,Ri={isStream:Cr.def(!1)},ln=new ji;ln.state=Ea,Object.keys(ln).forEach(function(bn){Ri[bn]=Cr.def(\"\"+ln[bn])});var Qn=Ri.buffer,qn=Ri.type;Cr(\"if(\",yi,\"(\",cr,\")){\",Ri.isStream,\"=true;\",Qn,\"=\",tn,\".createStream(\",mr,\",\",cr,\");\",qn,\"=\",Qn,\".dtype;\",\"}else{\",Qn,\"=\",tn,\".getBuffer(\",cr,\");\",\"if(\",Qn,\"){\",qn,\"=\",Qn,\".dtype;\",'}else if(\"constant\" in ',cr,\"){\",Ri.state,\"=\",qa,\";\",\"if(typeof \"+cr+'.constant === \"number\"){',Ri[Ma[0]],\"=\",cr,\".constant;\",Ma.slice(1).map(function(bn){return Ri[bn]}).join(\"=\"),\"=0;\",\"}else{\",Ma.map(function(bn,mn){return Ri[bn]+\"=\"+cr+\".constant.length>\"+mn+\"?\"+cr+\".constant[\"+mn+\"]:0;\"}).join(\"\"),\"}}else{\",\"if(\",yi,\"(\",cr,\".buffer)){\",Qn,\"=\",tn,\".createStream(\",mr,\",\",cr,\".buffer);\",\"}else{\",Qn,\"=\",tn,\".getBuffer(\",cr,\".buffer);\",\"}\",qn,'=\"type\" in ',cr,\"?\",ei.glTypes,\"[\",cr,\".type]:\",Qn,\".dtype;\",Ri.normalized,\"=!!\",cr,\".normalized;\");function rn(bn){Cr(Ri[bn],\"=\",cr,\".\",bn,\"|0;\")}return rn(\"size\"),rn(\"offset\"),rn(\"stride\"),rn(\"divisor\"),Cr(\"}}\"),Cr.exit(\"if(\",Ri.isStream,\"){\",tn,\".destroyStream(\",Qn,\");\",\"}\"),Ri}dr[pr]=En(kr,Ar)}),dr}function wc(vt){var Pt=vt.static,Wt=vt.dynamic,rr={};return Object.keys(Pt).forEach(function(dr){var pr=Pt[dr];rr[dr]=dn(function(kr,Ar){return typeof pr==\"number\"||typeof pr==\"boolean\"?\"\"+pr:kr.link(pr)})}),Object.keys(Wt).forEach(function(dr){var pr=Wt[dr];rr[dr]=En(pr,function(kr,Ar){return kr.invoke(Ar,pr)})}),rr}function yf(vt,Pt,Wt,rr,dr){var pr=vt.static,kr=vt.dynamic,Ar=Yl(vt,Pt),gr=Po(vt,dr),Cr=Jo(vt,gr,dr),cr=xs(vt,dr),Gr=Qc(vt,dr),ei=$c(vt,dr,Ar);function yi(rn){var bn=Cr[rn];bn&&(Gr[rn]=bn)}yi(ee),yi(aa(Q));var tn=Object.keys(Gr).length>0,Ri={framebuffer:gr,draw:cr,shader:ei,state:Gr,dirty:tn,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(Ri.profile=_o(vt,dr),Ri.uniforms=El(Wt,dr),Ri.drawVAO=Ri.scopeVAO=cr.vao,!Ri.drawVAO&&ei.program&&!Ar&&Wr.angle_instanced_arrays&&cr.static.elements){var ln=!0,Qn=ei.program.attributes.map(function(rn){var bn=Pt.static[rn];return ln=ln&&!!bn,bn});if(ln&&Qn.length>0){var qn=Bn.getVAO(Bn.createVAO({attributes:Qn,elements:cr.static.elements}));Ri.drawVAO=new Jr(null,null,null,function(rn,bn){return rn.link(qn)}),Ri.useVAO=!0}}return Ar?Ri.useVAO=!0:Ri.attributes=bc(Pt,dr),Ri.context=wc(rr,dr),Ri}function Gl(vt,Pt,Wt){var rr=vt.shared,dr=rr.context,pr=vt.scope();Object.keys(Wt).forEach(function(kr){Pt.save(dr,\".\"+kr);var Ar=Wt[kr],gr=Ar.append(vt,Pt);Array.isArray(gr)?pr(dr,\".\",kr,\"=[\",gr.join(),\"];\"):pr(dr,\".\",kr,\"=\",gr,\";\")}),Pt(pr)}function Fc(vt,Pt,Wt,rr){var dr=vt.shared,pr=dr.gl,kr=dr.framebuffer,Ar;gn&&(Ar=Pt.def(dr.extensions,\".webgl_draw_buffers\"));var gr=vt.constants,Cr=gr.drawBuffer,cr=gr.backBuffer,Gr;Wt?Gr=Wt.append(vt,Pt):Gr=Pt.def(kr,\".next\"),rr||Pt(\"if(\",Gr,\"!==\",kr,\".cur){\"),Pt(\"if(\",Gr,\"){\",pr,\".bindFramebuffer(\",Ir,\",\",Gr,\".framebuffer);\"),gn&&Pt(Ar,\".drawBuffersWEBGL(\",Cr,\"[\",Gr,\".colorAttachments.length]);\"),Pt(\"}else{\",pr,\".bindFramebuffer(\",Ir,\",null);\"),gn&&Pt(Ar,\".drawBuffersWEBGL(\",cr,\");\"),Pt(\"}\",kr,\".cur=\",Gr,\";\"),rr||Pt(\"}\")}function ef(vt,Pt,Wt){var rr=vt.shared,dr=rr.gl,pr=vt.current,kr=vt.next,Ar=rr.current,gr=rr.next,Cr=vt.cond(Ar,\".dirty\");wn.forEach(function(cr){var Gr=aa(cr);if(!(Gr in Wt.state)){var ei,yi;if(Gr in kr){ei=kr[Gr],yi=pr[Gr];var tn=M(Kn[Gr].length,function(ln){return Cr.def(ei,\"[\",ln,\"]\")});Cr(vt.cond(tn.map(function(ln,Qn){return ln+\"!==\"+yi+\"[\"+Qn+\"]\"}).join(\"||\")).then(dr,\".\",Aa[Gr],\"(\",tn,\");\",tn.map(function(ln,Qn){return yi+\"[\"+Qn+\"]=\"+ln}).join(\";\"),\";\"))}else{ei=Cr.def(gr,\".\",Gr);var Ri=vt.cond(ei,\"!==\",Ar,\".\",Gr);Cr(Ri),Gr in vn?Ri(vt.cond(ei).then(dr,\".enable(\",vn[Gr],\");\").else(dr,\".disable(\",vn[Gr],\");\"),Ar,\".\",Gr,\"=\",ei,\";\"):Ri(dr,\".\",Aa[Gr],\"(\",ei,\");\",Ar,\".\",Gr,\"=\",ei,\";\")}}}),Object.keys(Wt.state).length===0&&Cr(Ar,\".dirty=false;\"),Pt(Cr)}function ls(vt,Pt,Wt,rr){var dr=vt.shared,pr=vt.current,kr=dr.current,Ar=dr.gl,gr;ci(Object.keys(Wt)).forEach(function(Cr){var cr=Wt[Cr];if(!(rr&&!rr(cr))){var Gr=cr.append(vt,Pt);if(vn[Cr]){var ei=vn[Cr];un(cr)?(gr=vt.link(Gr,{stable:!0}),Pt(vt.cond(gr).then(Ar,\".enable(\",ei,\");\").else(Ar,\".disable(\",ei,\");\")),Pt(kr,\".\",Cr,\"=\",gr,\";\")):(Pt(vt.cond(Gr).then(Ar,\".enable(\",ei,\");\").else(Ar,\".disable(\",ei,\");\")),Pt(kr,\".\",Cr,\"=\",Gr,\";\"))}else if(an(Gr)){var yi=pr[Cr];Pt(Ar,\".\",Aa[Cr],\"(\",Gr,\");\",Gr.map(function(tn,Ri){return yi+\"[\"+Ri+\"]=\"+tn}).join(\";\"),\";\")}else un(cr)?(gr=vt.link(Gr,{stable:!0}),Pt(Ar,\".\",Aa[Cr],\"(\",gr,\");\",kr,\".\",Cr,\"=\",gr,\";\")):Pt(Ar,\".\",Aa[Cr],\"(\",Gr,\");\",kr,\".\",Cr,\"=\",Gr,\";\")}})}function _f(vt,Pt){Un&&(vt.instancing=Pt.def(vt.shared.extensions,\".angle_instanced_arrays\"))}function ns(vt,Pt,Wt,rr,dr){var pr=vt.shared,kr=vt.stats,Ar=pr.current,gr=pr.timer,Cr=Wt.profile;function cr(){return typeof performance==\"undefined\"?\"Date.now()\":\"performance.now()\"}var Gr,ei;function yi(rn){Gr=Pt.def(),rn(Gr,\"=\",cr(),\";\"),typeof dr==\"string\"?rn(kr,\".count+=\",dr,\";\"):rn(kr,\".count++;\"),Dn&&(rr?(ei=Pt.def(),rn(ei,\"=\",gr,\".getNumPendingQueries();\")):rn(gr,\".beginQuery(\",kr,\");\"))}function tn(rn){rn(kr,\".cpuTime+=\",cr(),\"-\",Gr,\";\"),Dn&&(rr?rn(gr,\".pushScopeStats(\",ei,\",\",gr,\".getNumPendingQueries(),\",kr,\");\"):rn(gr,\".endQuery();\"))}function Ri(rn){var bn=Pt.def(Ar,\".profile\");Pt(Ar,\".profile=\",rn,\";\"),Pt.exit(Ar,\".profile=\",bn,\";\")}var ln;if(Cr){if(un(Cr)){Cr.enable?(yi(Pt),tn(Pt.exit),Ri(\"true\")):Ri(\"false\");return}ln=Cr.append(vt,Pt),Ri(ln)}else ln=Pt.def(Ar,\".profile\");var Qn=vt.block();yi(Qn),Pt(\"if(\",ln,\"){\",Qn,\"}\");var qn=vt.block();tn(qn),Pt.exit(\"if(\",ln,\"){\",qn,\"}\")}function Y(vt,Pt,Wt,rr,dr){var pr=vt.shared;function kr(gr){switch(gr){case To:case Ds:case _l:return 2;case Wa:case As:case Hl:return 3;case co:case yo:case Zu:return 4;default:return 1}}function Ar(gr,Cr,cr){var Gr=pr.gl,ei=Pt.def(gr,\".location\"),yi=Pt.def(pr.attributes,\"[\",ei,\"]\"),tn=cr.state,Ri=cr.buffer,ln=[cr.x,cr.y,cr.z,cr.w],Qn=[\"buffer\",\"normalized\",\"offset\",\"stride\"];function qn(){Pt(\"if(!\",yi,\".buffer){\",Gr,\".enableVertexAttribArray(\",ei,\");}\");var bn=cr.type,mn;if(cr.size?mn=Pt.def(cr.size,\"||\",Cr):mn=Cr,Pt(\"if(\",yi,\".type!==\",bn,\"||\",yi,\".size!==\",mn,\"||\",Qn.map(function(da){return yi+\".\"+da+\"!==\"+cr[da]}).join(\"||\"),\"){\",Gr,\".bindBuffer(\",mr,\",\",Ri,\".buffer);\",Gr,\".vertexAttribPointer(\",[ei,mn,bn,cr.normalized,cr.stride,cr.offset],\");\",yi,\".type=\",bn,\";\",yi,\".size=\",mn,\";\",Qn.map(function(da){return yi+\".\"+da+\"=\"+cr[da]+\";\"}).join(\"\"),\"}\"),Un){var Gn=cr.divisor;Pt(\"if(\",yi,\".divisor!==\",Gn,\"){\",vt.instancing,\".vertexAttribDivisorANGLE(\",[ei,Gn],\");\",yi,\".divisor=\",Gn,\";}\")}}function rn(){Pt(\"if(\",yi,\".buffer){\",Gr,\".disableVertexAttribArray(\",ei,\");\",yi,\".buffer=null;\",\"}if(\",Ma.map(function(bn,mn){return yi+\".\"+bn+\"!==\"+ln[mn]}).join(\"||\"),\"){\",Gr,\".vertexAttrib4f(\",ei,\",\",ln,\");\",Ma.map(function(bn,mn){return yi+\".\"+bn+\"=\"+ln[mn]+\";\"}).join(\"\"),\"}\")}tn===Ea?qn():tn===qa?rn():(Pt(\"if(\",tn,\"===\",Ea,\"){\"),qn(),Pt(\"}else{\"),rn(),Pt(\"}\"))}rr.forEach(function(gr){var Cr=gr.name,cr=Wt.attributes[Cr],Gr;if(cr){if(!dr(cr))return;Gr=cr.append(vt,Pt)}else{if(!dr(Nn))return;var ei=vt.scopeAttrib(Cr);Gr={},Object.keys(new ji).forEach(function(yi){Gr[yi]=Pt.def(ei,\".\",yi)})}Ar(vt.link(gr),kr(gr.info.type),Gr)})}function z(vt,Pt,Wt,rr,dr,pr){for(var kr=vt.shared,Ar=kr.gl,gr,Cr=0;Cr<rr.length;++Cr){var cr=rr[Cr],Gr=cr.name,ei=cr.info.type,yi=Wt.uniforms[Gr],tn=vt.link(cr),Ri=tn+\".location\",ln;if(yi){if(!dr(yi))continue;if(un(yi)){var Qn=yi.value;if(ei===zc||ei===zl){var qn=vt.link(Qn._texture||Qn.color[0]._texture);Pt(Ar,\".uniform1i(\",Ri,\",\",qn+\".bind());\"),Pt.exit(qn,\".unbind();\")}else if(ei===cu||ei===el||ei===au){var rn=vt.global.def(\"new Float32Array([\"+Array.prototype.slice.call(Qn)+\"])\"),bn=2;ei===el?bn=3:ei===au&&(bn=4),Pt(Ar,\".uniformMatrix\",bn,\"fv(\",Ri,\",false,\",rn,\");\")}else{switch(ei){case Ga:gr=\"1f\";break;case To:gr=\"2f\";break;case Wa:gr=\"3f\";break;case co:gr=\"4f\";break;case po:gr=\"1i\";break;case Ro:gr=\"1i\";break;case _l:gr=\"2i\";break;case Ds:gr=\"2i\";break;case Hl:gr=\"3i\";break;case As:gr=\"3i\";break;case Zu:gr=\"4i\";break;case yo:gr=\"4i\";break}Pt(Ar,\".uniform\",gr,\"(\",Ri,\",\",an(Qn)?Array.prototype.slice.call(Qn):Qn,\");\")}continue}else ln=yi.append(vt,Pt)}else{if(!dr(Nn))continue;ln=Pt.def(kr.uniforms,\"[\",Er.id(Gr),\"]\")}ei===zc?Pt(\"if(\",ln,\"&&\",ln,'._reglType===\"framebuffer\"){',ln,\"=\",ln,\".color[0];\",\"}\"):ei===zl&&Pt(\"if(\",ln,\"&&\",ln,'._reglType===\"framebufferCube\"){',ln,\"=\",ln,\".color[0];\",\"}\");var mn=1;switch(ei){case zc:case zl:var Gn=Pt.def(ln,\"._texture\");Pt(Ar,\".uniform1i(\",Ri,\",\",Gn,\".bind());\"),Pt.exit(Gn,\".unbind();\");continue;case Ro:case po:gr=\"1i\";break;case Ds:case _l:gr=\"2i\",mn=2;break;case As:case Hl:gr=\"3i\",mn=3;break;case yo:case Zu:gr=\"4i\",mn=4;break;case Ga:gr=\"1f\";break;case To:gr=\"2f\",mn=2;break;case Wa:gr=\"3f\",mn=3;break;case co:gr=\"4f\",mn=4;break;case cu:gr=\"Matrix2fv\";break;case el:gr=\"Matrix3fv\";break;case au:gr=\"Matrix4fv\";break}if(gr.charAt(0)===\"M\"){Pt(Ar,\".uniform\",gr,\"(\",Ri,\",\");var da=Math.pow(ei-cu+2,2),No=vt.global.def(\"new Float32Array(\",da,\")\");Array.isArray(ln)?Pt(\"false,(\",M(da,function(tl){return No+\"[\"+tl+\"]=\"+ln[tl]}),\",\",No,\")\"):Pt(\"false,(Array.isArray(\",ln,\")||\",ln,\" instanceof Float32Array)?\",ln,\":(\",M(da,function(tl){return No+\"[\"+tl+\"]=\"+ln+\"[\"+tl+\"]\"}),\",\",No,\")\"),Pt(\");\")}else if(mn>1){for(var Do=[],ps=[],fo=0;fo<mn;++fo)Array.isArray(ln)?ps.push(ln[fo]):ps.push(Pt.def(ln+\"[\"+fo+\"]\")),pr&&Do.push(Pt.def());pr&&Pt(\"if(!\",vt.batchId,\"||\",Do.map(function(tl,zu){return tl+\"!==\"+ps[zu]}).join(\"||\"),\"){\",Do.map(function(tl,zu){return tl+\"=\"+ps[zu]+\";\"}).join(\"\")),Pt(Ar,\".uniform\",gr,\"(\",Ri,\",\",ps.join(\",\"),\");\"),pr&&Pt(\"}\")}else{if(pr){var as=Pt.def();Pt(\"if(!\",vt.batchId,\"||\",as,\"!==\",ln,\"){\",as,\"=\",ln,\";\")}Pt(Ar,\".uniform\",gr,\"(\",Ri,\",\",ln,\");\"),pr&&Pt(\"}\")}}}function K(vt,Pt,Wt,rr){var dr=vt.shared,pr=dr.gl,kr=dr.draw,Ar=rr.draw;function gr(){var mn=Ar.elements,Gn,da=Pt;return mn?((mn.contextDep&&rr.contextDynamic||mn.propDep)&&(da=Wt),Gn=mn.append(vt,da),Ar.elementsActive&&da(\"if(\"+Gn+\")\"+pr+\".bindBuffer(\"+Rr+\",\"+Gn+\".buffer.buffer);\")):(Gn=da.def(),da(Gn,\"=\",kr,\".\",yt,\";\",\"if(\",Gn,\"){\",pr,\".bindBuffer(\",Rr,\",\",Gn,\".buffer.buffer);}\",\"else if(\",dr.vao,\".currentVAO){\",Gn,\"=\",vt.shared.elements+\".getElements(\"+dr.vao,\".currentVAO.elements);\",ca?\"\":\"if(\"+Gn+\")\"+pr+\".bindBuffer(\"+Rr+\",\"+Gn+\".buffer.buffer);\",\"}\")),Gn}function Cr(){var mn=Ar.count,Gn,da=Pt;return mn?((mn.contextDep&&rr.contextDynamic||mn.propDep)&&(da=Wt),Gn=mn.append(vt,da)):Gn=da.def(kr,\".\",Nt),Gn}var cr=gr();function Gr(mn){var Gn=Ar[mn];return Gn?Gn.contextDep&&rr.contextDynamic||Gn.propDep?Gn.append(vt,Wt):Gn.append(vt,Pt):Pt.def(kr,\".\",mn)}var ei=Gr(Ot),yi=Gr(hr),tn=Cr();if(typeof tn==\"number\"){if(tn===0)return}else Wt(\"if(\",tn,\"){\"),Wt.exit(\"}\");var Ri,ln;Un&&(Ri=Gr(Sr),ln=vt.instancing);var Qn=cr+\".type\",qn=Ar.elements&&un(Ar.elements)&&!Ar.vaoActive;function rn(){function mn(){Wt(ln,\".drawElementsInstancedANGLE(\",[ei,tn,Qn,yi+\"<<((\"+Qn+\"-\"+Ta+\")>>1)\",Ri],\");\")}function Gn(){Wt(ln,\".drawArraysInstancedANGLE(\",[ei,yi,tn,Ri],\");\")}cr&&cr!==\"null\"?qn?mn():(Wt(\"if(\",cr,\"){\"),mn(),Wt(\"}else{\"),Gn(),Wt(\"}\")):Gn()}function bn(){function mn(){Wt(pr+\".drawElements(\"+[ei,tn,Qn,yi+\"<<((\"+Qn+\"-\"+Ta+\")>>1)\"]+\");\")}function Gn(){Wt(pr+\".drawArrays(\"+[ei,yi,tn]+\");\")}cr&&cr!==\"null\"?qn?mn():(Wt(\"if(\",cr,\"){\"),mn(),Wt(\"}else{\"),Gn(),Wt(\"}\")):Gn()}Un&&(typeof Ri!=\"number\"||Ri>=0)?typeof Ri==\"string\"?(Wt(\"if(\",Ri,\">0){\"),rn(),Wt(\"}else if(\",Ri,\"<0){\"),bn(),Wt(\"}\")):rn():bn()}function O(vt,Pt,Wt,rr,dr){var pr=Oa(),kr=pr.proc(\"body\",dr);return Un&&(pr.instancing=kr.def(pr.shared.extensions,\".angle_instanced_arrays\")),vt(pr,kr,Wt,rr),pr.compile().body}function $(vt,Pt,Wt,rr){_f(vt,Pt),Wt.useVAO?Wt.drawVAO?Pt(vt.shared.vao,\".setVAO(\",Wt.drawVAO.append(vt,Pt),\");\"):Pt(vt.shared.vao,\".setVAO(\",vt.shared.vao,\".targetVAO);\"):(Pt(vt.shared.vao,\".setVAO(null);\"),Y(vt,Pt,Wt,rr.attributes,function(){return!0})),z(vt,Pt,Wt,rr.uniforms,function(){return!0},!1),K(vt,Pt,Pt,Wt)}function pe(vt,Pt){var Wt=vt.proc(\"draw\",1);_f(vt,Wt),Gl(vt,Wt,Pt.context),Fc(vt,Wt,Pt.framebuffer),ef(vt,Wt,Pt),ls(vt,Wt,Pt.state),ns(vt,Wt,Pt,!1,!0);var rr=Pt.shader.progVar.append(vt,Wt);if(Wt(vt.shared.gl,\".useProgram(\",rr,\".program);\"),Pt.shader.program)$(vt,Wt,Pt,Pt.shader.program);else{Wt(vt.shared.vao,\".setVAO(null);\");var dr=vt.global.def(\"{}\"),pr=Wt.def(rr,\".id\"),kr=Wt.def(dr,\"[\",pr,\"]\");Wt(vt.cond(kr).then(kr,\".call(this,a0);\").else(kr,\"=\",dr,\"[\",pr,\"]=\",vt.link(function(Ar){return O($,vt,Pt,Ar,1)}),\"(\",rr,\");\",kr,\".call(this,a0);\"))}Object.keys(Pt.state).length>0&&Wt(vt.shared.current,\".dirty=true;\"),vt.shared.vao&&Wt(vt.shared.vao,\".setVAO(null);\")}function de(vt,Pt,Wt,rr){vt.batchId=\"a1\",_f(vt,Pt);function dr(){return!0}Y(vt,Pt,Wt,rr.attributes,dr),z(vt,Pt,Wt,rr.uniforms,dr,!1),K(vt,Pt,Pt,Wt)}function Ie(vt,Pt,Wt,rr){_f(vt,Pt);var dr=Wt.contextDep,pr=Pt.def(),kr=\"a0\",Ar=\"a1\",gr=Pt.def();vt.shared.props=gr,vt.batchId=pr;var Cr=vt.scope(),cr=vt.scope();Pt(Cr.entry,\"for(\",pr,\"=0;\",pr,\"<\",Ar,\";++\",pr,\"){\",gr,\"=\",kr,\"[\",pr,\"];\",cr,\"}\",Cr.exit);function Gr(Qn){return Qn.contextDep&&dr||Qn.propDep}function ei(Qn){return!Gr(Qn)}if(Wt.needsContext&&Gl(vt,cr,Wt.context),Wt.needsFramebuffer&&Fc(vt,cr,Wt.framebuffer),ls(vt,cr,Wt.state,Gr),Wt.profile&&Gr(Wt.profile)&&ns(vt,cr,Wt,!1,!0),rr)Wt.useVAO?Wt.drawVAO?Gr(Wt.drawVAO)?cr(vt.shared.vao,\".setVAO(\",Wt.drawVAO.append(vt,cr),\");\"):Cr(vt.shared.vao,\".setVAO(\",Wt.drawVAO.append(vt,Cr),\");\"):Cr(vt.shared.vao,\".setVAO(\",vt.shared.vao,\".targetVAO);\"):(Cr(vt.shared.vao,\".setVAO(null);\"),Y(vt,Cr,Wt,rr.attributes,ei),Y(vt,cr,Wt,rr.attributes,Gr)),z(vt,Cr,Wt,rr.uniforms,ei,!1),z(vt,cr,Wt,rr.uniforms,Gr,!0),K(vt,Cr,cr,Wt);else{var yi=vt.global.def(\"{}\"),tn=Wt.shader.progVar.append(vt,cr),Ri=cr.def(tn,\".id\"),ln=cr.def(yi,\"[\",Ri,\"]\");cr(vt.shared.gl,\".useProgram(\",tn,\".program);\",\"if(!\",ln,\"){\",ln,\"=\",yi,\"[\",Ri,\"]=\",vt.link(function(Qn){return O(de,vt,Wt,Qn,2)}),\"(\",tn,\");}\",ln,\".call(this,a0[\",pr,\"],\",pr,\");\")}}function $e(vt,Pt){var Wt=vt.proc(\"batch\",2);vt.batchId=\"0\",_f(vt,Wt);var rr=!1,dr=!0;Object.keys(Pt.context).forEach(function(yi){rr=rr||Pt.context[yi].propDep}),rr||(Gl(vt,Wt,Pt.context),dr=!1);var pr=Pt.framebuffer,kr=!1;pr?(pr.propDep?rr=kr=!0:pr.contextDep&&rr&&(kr=!0),kr||Fc(vt,Wt,pr)):Fc(vt,Wt,null),Pt.state.viewport&&Pt.state.viewport.propDep&&(rr=!0);function Ar(yi){return yi.contextDep&&rr||yi.propDep}ef(vt,Wt,Pt),ls(vt,Wt,Pt.state,function(yi){return!Ar(yi)}),(!Pt.profile||!Ar(Pt.profile))&&ns(vt,Wt,Pt,!1,\"a1\"),Pt.contextDep=rr,Pt.needsContext=dr,Pt.needsFramebuffer=kr;var gr=Pt.shader.progVar;if(gr.contextDep&&rr||gr.propDep)Ie(vt,Wt,Pt,null);else{var Cr=gr.append(vt,Wt);if(Wt(vt.shared.gl,\".useProgram(\",Cr,\".program);\"),Pt.shader.program)Ie(vt,Wt,Pt,Pt.shader.program);else{Wt(vt.shared.vao,\".setVAO(null);\");var cr=vt.global.def(\"{}\"),Gr=Wt.def(Cr,\".id\"),ei=Wt.def(cr,\"[\",Gr,\"]\");Wt(vt.cond(ei).then(ei,\".call(this,a0,a1);\").else(ei,\"=\",cr,\"[\",Gr,\"]=\",vt.link(function(yi){return O(Ie,vt,Pt,yi,2)}),\"(\",Cr,\");\",ei,\".call(this,a0,a1);\"))}}Object.keys(Pt.state).length>0&&Wt(vt.shared.current,\".dirty=true;\"),vt.shared.vao&&Wt(vt.shared.vao,\".setVAO(null);\")}function pt(vt,Pt){var Wt=vt.proc(\"scope\",3);vt.batchId=\"a2\";var rr=vt.shared,dr=rr.current;if(Gl(vt,Wt,Pt.context),Pt.framebuffer&&Pt.framebuffer.append(vt,Wt),ci(Object.keys(Pt.state)).forEach(function(Ar){var gr=Pt.state[Ar],Cr=gr.append(vt,Wt);an(Cr)?Cr.forEach(function(cr,Gr){ma(cr)?Wt.set(vt.next[Ar],\"[\"+Gr+\"]\",cr):Wt.set(vt.next[Ar],\"[\"+Gr+\"]\",vt.link(cr,{stable:!0}))}):un(gr)?Wt.set(rr.next,\".\"+Ar,vt.link(Cr,{stable:!0})):Wt.set(rr.next,\".\"+Ar,Cr)}),ns(vt,Wt,Pt,!0,!0),[yt,hr,Nt,Sr,Ot].forEach(function(Ar){var gr=Pt.draw[Ar];if(gr){var Cr=gr.append(vt,Wt);ma(Cr)?Wt.set(rr.draw,\".\"+Ar,Cr):Wt.set(rr.draw,\".\"+Ar,vt.link(Cr),{stable:!0})}}),Object.keys(Pt.uniforms).forEach(function(Ar){var gr=Pt.uniforms[Ar].append(vt,Wt);Array.isArray(gr)&&(gr=\"[\"+gr.map(function(Cr){return ma(Cr)?Cr:vt.link(Cr,{stable:!0})})+\"]\"),Wt.set(rr.uniforms,\"[\"+vt.link(Er.id(Ar),{stable:!0})+\"]\",gr)}),Object.keys(Pt.attributes).forEach(function(Ar){var gr=Pt.attributes[Ar].append(vt,Wt),Cr=vt.scopeAttrib(Ar);Object.keys(new ji).forEach(function(cr){Wt.set(Cr,\".\"+cr,gr[cr])})}),Pt.scopeVAO){var pr=Pt.scopeVAO.append(vt,Wt);ma(pr)?Wt.set(rr.vao,\".targetVAO\",pr):Wt.set(rr.vao,\".targetVAO\",vt.link(pr,{stable:!0}))}function kr(Ar){var gr=Pt.shader[Ar];if(gr){var Cr=gr.append(vt,Wt);ma(Cr)?Wt.set(rr.shader,\".\"+Ar,Cr):Wt.set(rr.shader,\".\"+Ar,vt.link(Cr,{stable:!0}))}}kr(je),kr(it),Object.keys(Pt.state).length>0&&(Wt(dr,\".dirty=true;\"),Wt.exit(dr,\".dirty=true;\")),Wt(\"a1(\",vt.shared.context,\",a0,\",vt.batchId,\");\")}function Kt(vt){if(!(typeof vt!=\"object\"||an(vt))){for(var Pt=Object.keys(vt),Wt=0;Wt<Pt.length;++Wt)if(h.isDynamic(vt[Pt[Wt]]))return!0;return!1}}function ir(vt,Pt,Wt){var rr=Pt.static[Wt];if(!rr||!Kt(rr))return;var dr=vt.global,pr=Object.keys(rr),kr=!1,Ar=!1,gr=!1,Cr=vt.global.def(\"{}\");pr.forEach(function(Gr){var ei=rr[Gr];if(h.isDynamic(ei)){typeof ei==\"function\"&&(ei=rr[Gr]=h.unbox(ei));var yi=En(ei,null);kr=kr||yi.thisDep,gr=gr||yi.propDep,Ar=Ar||yi.contextDep}else{switch(dr(Cr,\".\",Gr,\"=\"),typeof ei){case\"number\":dr(ei);break;case\"string\":dr('\"',ei,'\"');break;case\"object\":Array.isArray(ei)&&dr(\"[\",ei.join(),\"]\");break;default:dr(vt.link(ei));break}dr(\";\")}});function cr(Gr,ei){pr.forEach(function(yi){var tn=rr[yi];if(h.isDynamic(tn)){var Ri=Gr.invoke(ei,tn);ei(Cr,\".\",yi,\"=\",Ri,\";\")}})}Pt.dynamic[Wt]=new h.DynamicVariable(Xo,{thisDep:kr,contextDep:Ar,propDep:gr,ref:Cr,append:cr}),delete Pt.static[Wt]}function Jt(vt,Pt,Wt,rr,dr){var pr=Oa();pr.stats=pr.link(dr),Object.keys(Pt.static).forEach(function(Ar){ir(pr,Pt,Ar)}),tr.forEach(function(Ar){ir(pr,vt,Ar)});var kr=yf(vt,Pt,Wt,rr,pr);return kr.shader.program&&(kr.shader.program.attributes.sort(function(Ar,gr){return Ar.name<gr.name?-1:1}),kr.shader.program.uniforms.sort(function(Ar,gr){return Ar.name<gr.name?-1:1})),pe(pr,kr),pt(pr,kr),$e(pr,kr),e(pr.compile(),{destroy:function(){kr.shader.program.destroy()}})}return{next:Za,current:Kn,procs:function(){var vt=Oa(),Pt=vt.proc(\"poll\"),Wt=vt.proc(\"refresh\"),rr=vt.block();Pt(rr),Wt(rr);var dr=vt.shared,pr=dr.gl,kr=dr.next,Ar=dr.current;rr(Ar,\".dirty=false;\"),Fc(vt,Pt),Fc(vt,Wt,null,!0);var gr;Un&&(gr=vt.link(Un)),Wr.oes_vertex_array_object&&Wt(vt.link(Wr.oes_vertex_array_object),\".bindVertexArrayOES(null);\");var Cr=Wt.def(dr.attributes),cr=Wt.def(0),Gr=vt.cond(cr,\".buffer\");Gr.then(pr,\".enableVertexAttribArray(i);\",pr,\".bindBuffer(\",mr,\",\",cr,\".buffer.buffer);\",pr,\".vertexAttribPointer(i,\",cr,\".size,\",cr,\".type,\",cr,\".normalized,\",cr,\".stride,\",cr,\".offset);\").else(pr,\".disableVertexAttribArray(i);\",pr,\".vertexAttrib4f(i,\",cr,\".x,\",cr,\".y,\",cr,\".z,\",cr,\".w);\",cr,\".buffer=null;\");var ei=vt.link(wi.maxAttributes,{stable:!0});return Wt(\"for(var i=0;i<\",ei,\";++i){\",cr,\"=\",Cr,\"[i];\",Gr,\"}\"),Un&&Wt(\"for(var i=0;i<\",ei,\";++i){\",gr,\".vertexAttribDivisorANGLE(i,\",Cr,\"[i].divisor);\",\"}\"),Wt(vt.shared.vao,\".currentVAO=null;\",vt.shared.vao,\".setVAO(\",vt.shared.vao,\".targetVAO);\"),Object.keys(vn).forEach(function(yi){var tn=vn[yi],Ri=rr.def(kr,\".\",yi),ln=vt.block();ln(\"if(\",Ri,\"){\",pr,\".enable(\",tn,\")}else{\",pr,\".disable(\",tn,\")}\",Ar,\".\",yi,\"=\",Ri,\";\"),Wt(ln),Pt(\"if(\",Ri,\"!==\",Ar,\".\",yi,\"){\",ln,\"}\")}),Object.keys(Aa).forEach(function(yi){var tn=Aa[yi],Ri=Kn[yi],ln,Qn,qn=vt.block();if(qn(pr,\".\",tn,\"(\"),an(Ri)){var rn=Ri.length;ln=vt.global.def(kr,\".\",yi),Qn=vt.global.def(Ar,\".\",yi),qn(M(rn,function(bn){return ln+\"[\"+bn+\"]\"}),\");\",M(rn,function(bn){return Qn+\"[\"+bn+\"]=\"+ln+\"[\"+bn+\"];\"}).join(\"\")),Pt(\"if(\",M(rn,function(bn){return ln+\"[\"+bn+\"]!==\"+Qn+\"[\"+bn+\"]\"}).join(\"||\"),\"){\",qn,\"}\")}else ln=rr.def(kr,\".\",yi),Qn=rr.def(Ar,\".\",yi),qn(ln,\");\",Ar,\".\",yi,\"=\",ln,\";\"),Pt(\"if(\",ln,\"!==\",Qn,\"){\",qn,\"}\");Wt(qn)}),vt.compile()}(),compile:Jt}}function ya(){return{vaoCount:0,bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0}}var so=34918,wa=34919,io=35007,Ss=function(At,Er){if(!Er.ext_disjoint_timer_query)return null;var Wr=[];function wi(){return Wr.pop()||Er.ext_disjoint_timer_query.createQueryEXT()}function Ui(Ln){Wr.push(Ln)}var Oi=[];function Bi(Ln){var Un=wi();Er.ext_disjoint_timer_query.beginQueryEXT(io,Un),Oi.push(Un),Dn(Oi.length-1,Oi.length,Ln)}function cn(){Er.ext_disjoint_timer_query.endQueryEXT(io)}function On(){this.startQueryIndex=-1,this.endQueryIndex=-1,this.sum=0,this.stats=null}var Bn=[];function yn(){return Bn.pop()||new On}function to(Ln){Bn.push(Ln)}var Rn=[];function Dn(Ln,Un,gn){var ca=yn();ca.startQueryIndex=Ln,ca.endQueryIndex=Un,ca.sum=0,ca.stats=gn,Rn.push(ca)}var fn=[],Ai=[];function ji(){var Ln,Un,gn=Oi.length;if(gn!==0){Ai.length=Math.max(Ai.length,gn+1),fn.length=Math.max(fn.length,gn+1),fn[0]=0,Ai[0]=0;var ca=0;for(Ln=0,Un=0;Un<Oi.length;++Un){var Kn=Oi[Un];Er.ext_disjoint_timer_query.getQueryObjectEXT(Kn,wa)?(ca+=Er.ext_disjoint_timer_query.getQueryObjectEXT(Kn,so),Ui(Kn)):Oi[Ln++]=Kn,fn[Un+1]=ca,Ai[Un+1]=Ln}for(Oi.length=Ln,Ln=0,Un=0;Un<Rn.length;++Un){var Za=Rn[Un],wn=Za.startQueryIndex,vn=Za.endQueryIndex;Za.sum+=fn[vn]-fn[wn];var Aa=Ai[wn],aa=Ai[vn];aa===Aa?(Za.stats.gpuTime+=Za.sum/1e6,to(Za)):(Za.startQueryIndex=Aa,Za.endQueryIndex=aa,Rn[Ln++]=Za)}Rn.length=Ln}}return{beginQuery:Bi,endQuery:cn,pushScopeStats:Dn,update:ji,getNumPendingQueries:function(){return Oi.length},clear:function(){Wr.push.apply(Wr,Oi);for(var Ln=0;Ln<Wr.length;Ln++)Er.ext_disjoint_timer_query.deleteQueryEXT(Wr[Ln]);Oi.length=0,Wr.length=0},restore:function(){Oi.length=0,Wr.length=0}}},_s=16384,Ns=256,pn=1024,za=34962,Lo=\"webglcontextlost\",Fo=\"webglcontextrestored\",js=1,xl=2,fu=3;function dl(At,Er){for(var Wr=0;Wr<At.length;++Wr)if(At[Wr]===Er)return Wr;return-1}function xc(At){var Er=_(At);if(!Er)return null;var Wr=Er.gl,wi=Wr.getContextAttributes(),Ui=Wr.isContextLost(),Oi=C(Wr,Er);if(!Oi)return null;var Bi=x(),cn=ya(),On=Er.cachedCode||{},Bn=Oi.extensions,yn=Ss(Wr,Bn),to=v(),Rn=Wr.drawingBufferWidth,Dn=Wr.drawingBufferHeight,fn={tick:0,time:0,viewportWidth:Rn,viewportHeight:Dn,framebufferWidth:Rn,framebufferHeight:Dn,drawingBufferWidth:Rn,drawingBufferHeight:Dn,pixelRatio:Er.pixelRatio},Ai={},ji={elements:null,primitive:4,count:-1,offset:0,instances:-1},Ln=Br(Wr,Bn),Un=Zr(Wr,cn,Er,Kn),gn=br(Wr,Bn,Un,cn),ca=xu(Wr,Bn,Ln,cn,Un,gn,ji);function Kn(O){return ca.destroyBuffer(O)}var Za=ju(Wr,Bi,cn,Er),wn=df(Wr,Bn,Ln,function(){aa.procs.poll()},fn,cn,Er),vn=Lc(Wr,Bn,Ln,cn,Er),Aa=vf(Wr,Bn,Ln,wn,vn,cn),aa=ga(Wr,Bi,Bn,Ln,Un,gn,wn,Aa,Ai,ca,Za,ji,fn,yn,On,Er),Xn=Dl(Wr,Aa,aa.procs.poll,fn,wi,Bn,Ln),Vn=aa.next,ma=Wr.canvas,ro=[],Ao=[],Jn=[],Oa=[Er.onDestroy],_o=null;function Po(){if(ro.length===0){yn&&yn.update(),_o=null;return}_o=d.next(Po),ef();for(var O=ro.length-1;O>=0;--O){var $=ro[O];$&&$(fn,null,0)}Wr.flush(),yn&&yn.update()}function Jo(){!_o&&ro.length>0&&(_o=d.next(Po))}function Yl(){_o&&(d.cancel(Po),_o=null)}function $c(O){O.preventDefault(),Ui=!0,Yl(),Ao.forEach(function($){$()})}function xs(O){Wr.getError(),Ui=!1,Oi.restore(),Za.restore(),Un.restore(),wn.restore(),vn.restore(),Aa.restore(),ca.restore(),yn&&yn.restore(),aa.procs.refresh(),Jo(),Jn.forEach(function($){$()})}ma&&(ma.addEventListener(Lo,$c,!1),ma.addEventListener(Fo,xs,!1));function Qc(){ro.length=0,Yl(),ma&&(ma.removeEventListener(Lo,$c),ma.removeEventListener(Fo,xs)),Za.clear(),Aa.clear(),vn.clear(),ca.clear(),wn.clear(),gn.clear(),Un.clear(),yn&&yn.clear(),Oa.forEach(function(O){O()})}function El(O){function $(pr){var kr=e({},pr);delete kr.uniforms,delete kr.attributes,delete kr.context,delete kr.vao,\"stencil\"in kr&&kr.stencil.op&&(kr.stencil.opBack=kr.stencil.opFront=kr.stencil.op,delete kr.stencil.op);function Ar(gr){if(gr in kr){var Cr=kr[gr];delete kr[gr],Object.keys(Cr).forEach(function(cr){kr[gr+\".\"+cr]=Cr[cr]})}}return Ar(\"blend\"),Ar(\"depth\"),Ar(\"cull\"),Ar(\"stencil\"),Ar(\"polygonOffset\"),Ar(\"scissor\"),Ar(\"sample\"),\"vao\"in pr&&(kr.vao=pr.vao),kr}function pe(pr,kr){var Ar={},gr={};return Object.keys(pr).forEach(function(Cr){var cr=pr[Cr];if(h.isDynamic(cr)){gr[Cr]=h.unbox(cr,Cr);return}else if(kr&&Array.isArray(cr)){for(var Gr=0;Gr<cr.length;++Gr)if(h.isDynamic(cr[Gr])){gr[Cr]=h.unbox(cr,Cr);return}}Ar[Cr]=cr}),{dynamic:gr,static:Ar}}var de=pe(O.context||{},!0),Ie=pe(O.uniforms||{},!0),$e=pe(O.attributes||{},!1),pt=pe($(O),!1),Kt={gpuTime:0,cpuTime:0,count:0},ir=aa.compile(pt,$e,Ie,de,Kt),Jt=ir.draw,vt=ir.batch,Pt=ir.scope,Wt=[];function rr(pr){for(;Wt.length<pr;)Wt.push(null);return Wt}function dr(pr,kr){var Ar;if(typeof pr==\"function\")return Pt.call(this,null,pr,0);if(typeof kr==\"function\")if(typeof pr==\"number\")for(Ar=0;Ar<pr;++Ar)Pt.call(this,null,kr,Ar);else if(Array.isArray(pr))for(Ar=0;Ar<pr.length;++Ar)Pt.call(this,pr[Ar],kr,Ar);else return Pt.call(this,pr,kr,0);else if(typeof pr==\"number\"){if(pr>0)return vt.call(this,rr(pr|0),pr|0)}else if(Array.isArray(pr)){if(pr.length)return vt.call(this,pr,pr.length)}else return Jt.call(this,pr)}return e(dr,{stats:Kt,destroy:function(){ir.destroy()}})}var bc=Aa.setFBO=El({framebuffer:h.define.call(null,js,\"framebuffer\")});function wc(O,$){var pe=0;aa.procs.poll();var de=$.color;de&&(Wr.clearColor(+de[0]||0,+de[1]||0,+de[2]||0,+de[3]||0),pe|=_s),\"depth\"in $&&(Wr.clearDepth(+$.depth),pe|=Ns),\"stencil\"in $&&(Wr.clearStencil($.stencil|0),pe|=pn),Wr.clear(pe)}function yf(O){if(\"framebuffer\"in O)if(O.framebuffer&&O.framebuffer_reglType===\"framebufferCube\")for(var $=0;$<6;++$)bc(e({framebuffer:O.framebuffer.faces[$]},O),wc);else bc(O,wc);else wc(null,O)}function Gl(O){ro.push(O);function $(){var pe=dl(ro,O);function de(){var Ie=dl(ro,de);ro[Ie]=ro[ro.length-1],ro.length-=1,ro.length<=0&&Yl()}ro[pe]=de}return Jo(),{cancel:$}}function Fc(){var O=Vn.viewport,$=Vn.scissor_box;O[0]=O[1]=$[0]=$[1]=0,fn.viewportWidth=fn.framebufferWidth=fn.drawingBufferWidth=O[2]=$[2]=Wr.drawingBufferWidth,fn.viewportHeight=fn.framebufferHeight=fn.drawingBufferHeight=O[3]=$[3]=Wr.drawingBufferHeight}function ef(){fn.tick+=1,fn.time=_f(),Fc(),aa.procs.poll()}function ls(){wn.refresh(),Fc(),aa.procs.refresh(),yn&&yn.update()}function _f(){return(v()-to)/1e3}ls();function ns(O,$){var pe;switch(O){case\"frame\":return Gl($);case\"lost\":pe=Ao;break;case\"restore\":pe=Jn;break;case\"destroy\":pe=Oa;break;default:}return pe.push($),{cancel:function(){for(var de=0;de<pe.length;++de)if(pe[de]===$){pe[de]=pe[pe.length-1],pe.pop();return}}}}function Y(){return On}function z(O){Object.entries(O).forEach(function($){On[$[0]]=$[1]})}var K=e(El,{clear:yf,prop:h.define.bind(null,js),context:h.define.bind(null,xl),this:h.define.bind(null,fu),draw:El({}),buffer:function(O){return Un.create(O,za,!1,!1)},elements:function(O){return gn.create(O,!1)},texture:wn.create2D,cube:wn.createCube,renderbuffer:vn.create,framebuffer:Aa.create,framebufferCube:Aa.createCube,vao:ca.createVAO,attributes:wi,frame:Gl,on:ns,limits:Ln,hasExtension:function(O){return Ln.extensions.indexOf(O.toLowerCase())>=0},read:Xn,destroy:Qc,_gl:Wr,_refresh:ls,poll:function(){ef(),yn&&yn.update()},now:_f,stats:cn,getCachedCode:Y,preloadCachedCode:z});return Er.onDone(null,K),K}return xc})});var Iqe=ye((wmr,Pqe)=>{\"use strict\";var QOt=Zm();Pqe.exports=function(t){if(t?typeof t==\"string\"&&(t={container:t}):t={},Cqe(t)?t={container:t}:eBt(t)?t={container:t}:tBt(t)?t={gl:t}:t=QOt(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=window.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if(typeof t.container==\"string\"){var r=document.querySelector(t.container);if(!r)throw Error(\"Element \"+t.container+\" is not found\");t.container=r}Cqe(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=Lqe(),t.container.appendChild(t.canvas),kqe(t))}else if(!t.canvas)if(typeof document!=\"undefined\")t.container=document.body||document.documentElement,t.canvas=Lqe(),t.container.appendChild(t.canvas),kqe(t);else throw Error(\"Not DOM environment. Use headless-gl.\");return t.gl||[\"webgl\",\"experimental-webgl\",\"webgl-experimental\"].some(function(n){try{t.gl=t.canvas.getContext(n,t.attrs)}catch(i){}return t.gl}),t.gl};function kqe(e){if(e.container)if(e.container==document.body)document.body.style.width||(e.canvas.width=e.width||e.pixelRatio*window.innerWidth),document.body.style.height||(e.canvas.height=e.height||e.pixelRatio*window.innerHeight);else{var t=e.container.getBoundingClientRect();e.canvas.width=e.width||t.right-t.left,e.canvas.height=e.height||t.bottom-t.top}}function Cqe(e){return typeof e.getContext==\"function\"&&\"width\"in e&&\"height\"in e}function eBt(e){return typeof e.nodeName==\"string\"&&typeof e.appendChild==\"function\"&&typeof e.getBoundingClientRect==\"function\"}function tBt(e){return typeof e.drawArrays==\"function\"||typeof e.drawElements==\"function\"}function Lqe(){var e=document.createElement(\"canvas\");return e.style.position=\"absolute\",e.style.top=0,e.style.left=0,e}});var Dqe=ye((Tmr,Rqe)=>{\"use strict\";var rBt=UY(),iBt=[32,126];Rqe.exports=nBt;function nBt(e){e=e||{};var t=e.shape?e.shape:e.canvas?[e.canvas.width,e.canvas.height]:[512,512],r=e.canvas||document.createElement(\"canvas\"),n=e.font,i=typeof e.step==\"number\"?[e.step,e.step]:e.step||[32,32],a=e.chars||iBt;if(n&&typeof n!=\"string\"&&(n=rBt(n)),!Array.isArray(a))a=String(a).split(\"\");else if(a.length===2&&typeof a[0]==\"number\"&&typeof a[1]==\"number\"){for(var o=[],s=a[0],l=0;s<=a[1];s++)o[l++]=String.fromCharCode(s);a=o}t=t.slice(),r.width=t[0],r.height=t[1];var u=r.getContext(\"2d\");u.fillStyle=\"#000\",u.fillRect(0,0,r.width,r.height),u.font=n,u.textAlign=\"center\",u.textBaseline=\"middle\",u.fillStyle=\"#fff\";for(var c=i[0]/2,f=i[1]/2,s=0;s<a.length;s++)u.fillText(a[s],c,f),(c+=i[0])>t[0]-i[0]/2&&(c=i[0]/2,f+=i[1]);return r}});var WY=ye(Th=>{\"use strict\";\"use restrict\";var jY=32;Th.INT_BITS=jY;Th.INT_MAX=2147483647;Th.INT_MIN=-1<<jY-1;Th.sign=function(e){return(e>0)-(e<0)};Th.abs=function(e){var t=e>>jY-1;return(e^t)-t};Th.min=function(e,t){return t^(e^t)&-(e<t)};Th.max=function(e,t){return e^(e^t)&-(e<t)};Th.isPow2=function(e){return!(e&e-1)&&!!e};Th.log2=function(e){var t,r;return t=(e>65535)<<4,e>>>=t,r=(e>255)<<3,e>>>=r,t|=r,r=(e>15)<<2,e>>>=r,t|=r,r=(e>3)<<1,e>>>=r,t|=r,t|e>>1};Th.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0};Th.popCount=function(e){return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24};function zqe(e){var t=32;return e&=-e,e&&t--,e&65535&&(t-=16),e&16711935&&(t-=8),e&252645135&&(t-=4),e&858993459&&(t-=2),e&1431655765&&(t-=1),t}Th.countTrailingZeros=zqe;Th.nextPow2=function(e){return e+=e===0,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e+1};Th.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e-(e>>>1)};Th.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,e&=15,27030>>>e&1};var _k=new Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=r&1,--i;e[t]=n<<i&255}})(_k);Th.reverse=function(e){return _k[e&255]<<24|_k[e>>>8&255]<<16|_k[e>>>16&255]<<8|_k[e>>>24&255]};Th.interleave2=function(e,t){return e&=65535,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t&=65535,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1};Th.deinterleave2=function(e,t){return e=e>>>t&1431655765,e=(e|e>>>1)&858993459,e=(e|e>>>2)&252645135,e=(e|e>>>4)&16711935,e=(e|e>>>16)&65535,e<<16>>16};Th.interleave3=function(e,t,r){return e&=1023,e=(e|e<<16)&4278190335,e=(e|e<<8)&251719695,e=(e|e<<4)&3272356035,e=(e|e<<2)&1227133513,t&=1023,t=(t|t<<16)&4278190335,t=(t|t<<8)&251719695,t=(t|t<<4)&3272356035,t=(t|t<<2)&1227133513,e|=t<<1,r&=1023,r=(r|r<<16)&4278190335,r=(r|r<<8)&251719695,r=(r|r<<4)&3272356035,r=(r|r<<2)&1227133513,e|r<<2};Th.deinterleave3=function(e,t){return e=e>>>t&1227133513,e=(e|e>>>2)&3272356035,e=(e|e>>>4)&251719695,e=(e|e>>>8)&4278190335,e=(e|e>>>16)&1023,e<<22>>22};Th.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>zqe(e)+1}});var Oqe=ye((Smr,qqe)=>{\"use strict\";function Fqe(e,t,r){var n=e[r]|0;if(n<=0)return[];var i=new Array(n),a;if(r===e.length-1)for(a=0;a<n;++a)i[a]=t;else for(a=0;a<n;++a)i[a]=Fqe(e,t,r+1);return i}function aBt(e,t){var r,n;for(r=new Array(e),n=0;n<e;++n)r[n]=t;return r}function oBt(e,t){switch(typeof t==\"undefined\"&&(t=0),typeof e){case\"number\":if(e>0)return aBt(e|0,t);break;case\"object\":if(typeof e.length==\"number\")return Fqe(e,t,0);break}return[]}qqe.exports=oBt});var Qqe=ye(Wl=>{\"use strict\";var fx=WY(),Av=Oqe(),Bqe=u2().Buffer;window.__TYPEDARRAY_POOL||(window.__TYPEDARRAY_POOL={UINT8:Av([32,0]),UINT16:Av([32,0]),UINT32:Av([32,0]),BIGUINT64:Av([32,0]),INT8:Av([32,0]),INT16:Av([32,0]),INT32:Av([32,0]),BIGINT64:Av([32,0]),FLOAT:Av([32,0]),DOUBLE:Av([32,0]),DATA:Av([32,0]),UINT8C:Av([32,0]),BUFFER:Av([32,0])});var sBt=typeof Uint8ClampedArray!=\"undefined\",lBt=typeof BigUint64Array!=\"undefined\",uBt=typeof BigInt64Array!=\"undefined\",Xh=window.__TYPEDARRAY_POOL;Xh.UINT8C||(Xh.UINT8C=Av([32,0]));Xh.BIGUINT64||(Xh.BIGUINT64=Av([32,0]));Xh.BIGINT64||(Xh.BIGINT64=Av([32,0]));Xh.BUFFER||(Xh.BUFFER=Av([32,0]));var dF=Xh.DATA,vF=Xh.BUFFER;Wl.free=function(t){if(Bqe.isBuffer(t))vF[fx.log2(t.length)].push(t);else{if(Object.prototype.toString.call(t)!==\"[object ArrayBuffer]\"&&(t=t.buffer),!t)return;var r=t.length||t.byteLength,n=fx.log2(r)|0;dF[n].push(t)}};function Nqe(e){if(e){var t=e.length||e.byteLength,r=fx.log2(t);dF[r].push(e)}}function cBt(e){Nqe(e.buffer)}Wl.freeUint8=Wl.freeUint16=Wl.freeUint32=Wl.freeBigUint64=Wl.freeInt8=Wl.freeInt16=Wl.freeInt32=Wl.freeBigInt64=Wl.freeFloat32=Wl.freeFloat=Wl.freeFloat64=Wl.freeDouble=Wl.freeUint8Clamped=Wl.freeDataView=cBt;Wl.freeArrayBuffer=Nqe;Wl.freeBuffer=function(t){vF[fx.log2(t.length)].push(t)};Wl.malloc=function(t,r){if(r===void 0||r===\"arraybuffer\")return Bp(t);switch(r){case\"uint8\":return ZY(t);case\"uint16\":return Uqe(t);case\"uint32\":return Vqe(t);case\"int8\":return Hqe(t);case\"int16\":return Gqe(t);case\"int32\":return jqe(t);case\"float\":case\"float32\":return Wqe(t);case\"double\":case\"float64\":return Zqe(t);case\"uint8_clamped\":return Xqe(t);case\"bigint64\":return Kqe(t);case\"biguint64\":return Yqe(t);case\"buffer\":return $qe(t);case\"data\":case\"dataview\":return Jqe(t);default:return null}return null};function Bp(t){var t=fx.nextPow2(t),r=fx.log2(t),n=dF[r];return n.length>0?n.pop():new ArrayBuffer(t)}Wl.mallocArrayBuffer=Bp;function ZY(e){return new Uint8Array(Bp(e),0,e)}Wl.mallocUint8=ZY;function Uqe(e){return new Uint16Array(Bp(2*e),0,e)}Wl.mallocUint16=Uqe;function Vqe(e){return new Uint32Array(Bp(4*e),0,e)}Wl.mallocUint32=Vqe;function Hqe(e){return new Int8Array(Bp(e),0,e)}Wl.mallocInt8=Hqe;function Gqe(e){return new Int16Array(Bp(2*e),0,e)}Wl.mallocInt16=Gqe;function jqe(e){return new Int32Array(Bp(4*e),0,e)}Wl.mallocInt32=jqe;function Wqe(e){return new Float32Array(Bp(4*e),0,e)}Wl.mallocFloat32=Wl.mallocFloat=Wqe;function Zqe(e){return new Float64Array(Bp(8*e),0,e)}Wl.mallocFloat64=Wl.mallocDouble=Zqe;function Xqe(e){return sBt?new Uint8ClampedArray(Bp(e),0,e):ZY(e)}Wl.mallocUint8Clamped=Xqe;function Yqe(e){return lBt?new BigUint64Array(Bp(8*e),0,e):null}Wl.mallocBigUint64=Yqe;function Kqe(e){return uBt?new BigInt64Array(Bp(8*e),0,e):null}Wl.mallocBigInt64=Kqe;function Jqe(e){return new DataView(Bp(e),0,e)}Wl.mallocDataView=Jqe;function $qe(e){e=fx.nextPow2(e);var t=fx.log2(e),r=vF[t];return r.length>0?r.pop():new Bqe(e)}Wl.mallocBuffer=$qe;Wl.clearCache=function(){for(var t=0;t<32;++t)Xh.UINT8[t].length=0,Xh.UINT16[t].length=0,Xh.UINT32[t].length=0,Xh.INT8[t].length=0,Xh.INT16[t].length=0,Xh.INT32[t].length=0,Xh.FLOAT[t].length=0,Xh.DOUBLE[t].length=0,Xh.BIGUINT64[t].length=0,Xh.BIGINT64[t].length=0,Xh.UINT8C[t].length=0,dF[t].length=0,vF[t].length=0}});var tOe=ye((Emr,eOe)=>{\"use strict\";var fBt=Object.prototype.toString;eOe.exports=function(e){var t;return fBt.call(e)===\"[object Object]\"&&(t=Object.getPrototypeOf(e),t===null||t===Object.getPrototypeOf({}))}});var XY=ye((kmr,rOe)=>{rOe.exports=function(t,r){r||(r=[0,\"\"]),t=String(t);var n=parseFloat(t,10);return r[0]=n,r[1]=t.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",r}});var aOe=ye((Cmr,nOe)=>{\"use strict\";var hBt=XY();nOe.exports=iOe;var xk=96;function YY(e,t){var r=hBt(getComputedStyle(e).getPropertyValue(t));return r[0]*iOe(r[1],e)}function dBt(e,t){var r=document.createElement(\"div\");r.style[\"font-size\"]=\"128\"+e,t.appendChild(r);var n=YY(r,\"font-size\")/128;return t.removeChild(r),n}function iOe(e,t){switch(t=t||document.body,e=(e||\"px\").trim().toLowerCase(),(t===window||t===document)&&(t=document.body),e){case\"%\":return t.clientHeight/100;case\"ch\":case\"ex\":return dBt(e,t);case\"em\":return YY(t,\"font-size\");case\"rem\":return YY(document.body,\"font-size\");case\"vw\":return window.innerWidth/100;case\"vh\":return window.innerHeight/100;case\"vmin\":return Math.min(window.innerWidth,window.innerHeight)/100;case\"vmax\":return Math.max(window.innerWidth,window.innerHeight)/100;case\"in\":return xk;case\"cm\":return xk/2.54;case\"mm\":return xk/25.4;case\"pt\":return xk/72;case\"pc\":return xk/6}return 1}});var lOe=ye((Lmr,sOe)=>{\"use strict\";sOe.exports=mF;var vBt=mF.canvas=document.createElement(\"canvas\"),pF=vBt.getContext(\"2d\"),oOe=gF([32,126]);mF.createPairs=gF;mF.ascii=oOe;function mF(e,t){Array.isArray(e)&&(e=e.join(\", \"));var r={},n,i=16,a=.05;t&&(t.length===2&&typeof t[0]==\"number\"?n=gF(t):Array.isArray(t)?n=t:(t.o?n=gF(t.o):t.pairs&&(n=t.pairs),t.fontSize&&(i=t.fontSize),t.threshold!=null&&(a=t.threshold))),n||(n=oOe),pF.font=i+\"px \"+e;for(var o=0;o<n.length;o++){var s=n[o],l=pF.measureText(s[0]).width+pF.measureText(s[1]).width,u=pF.measureText(s).width;if(Math.abs(l-u)>i*a){var c=(u-l)/i;r[s]=c*1e3}}return r}function gF(e){for(var t=[],r=e[0];r<=e[1];r++)for(var n=String.fromCharCode(r),i=e[0];i<e[1];i++){var a=String.fromCharCode(i),o=n+a;t.push(o)}return t}});var hOe=ye((Pmr,fOe)=>{\"use strict\";fOe.exports=hx;hx.canvas=document.createElement(\"canvas\");hx.cache={};function hx(o,t){t||(t={}),(typeof o==\"string\"||Array.isArray(o))&&(t.family=o);var r=Array.isArray(t.family)?t.family.join(\", \"):t.family;if(!r)throw Error(\"`family` must be defined\");var n=t.size||t.fontSize||t.em||48,i=t.weight||t.fontWeight||\"\",a=t.style||t.fontStyle||\"\",o=[a,i,n].join(\" \")+\"px \"+r,s=t.origin||\"top\";if(hx.cache[r]&&n<=hx.cache[r].em)return uOe(hx.cache[r],s);var l=t.canvas||hx.canvas,u=l.getContext(\"2d\"),c={upper:t.upper!==void 0?t.upper:\"H\",lower:t.lower!==void 0?t.lower:\"x\",descent:t.descent!==void 0?t.descent:\"p\",ascent:t.ascent!==void 0?t.ascent:\"h\",tittle:t.tittle!==void 0?t.tittle:\"i\",overshoot:t.overshoot!==void 0?t.overshoot:\"O\"},f=Math.ceil(n*1.5);l.height=f,l.width=f*.5,u.font=o;var h=\"H\",d={top:0};u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillStyle=\"black\",u.fillText(h,0,0);var v=Ym(u.getImageData(0,0,f,f));u.clearRect(0,0,f,f),u.textBaseline=\"bottom\",u.fillText(h,0,f);var x=Ym(u.getImageData(0,0,f,f));d.lineHeight=d.bottom=f-x+v,u.clearRect(0,0,f,f),u.textBaseline=\"alphabetic\",u.fillText(h,0,f);var b=Ym(u.getImageData(0,0,f,f)),p=f-b-1+v;d.baseline=d.alphabetic=p,u.clearRect(0,0,f,f),u.textBaseline=\"middle\",u.fillText(h,0,f*.5);var E=Ym(u.getImageData(0,0,f,f));d.median=d.middle=f-E-1+v-f*.5,u.clearRect(0,0,f,f),u.textBaseline=\"hanging\",u.fillText(h,0,f*.5);var k=Ym(u.getImageData(0,0,f,f));d.hanging=f-k-1+v-f*.5,u.clearRect(0,0,f,f),u.textBaseline=\"ideographic\",u.fillText(h,0,f);var A=Ym(u.getImageData(0,0,f,f));if(d.ideographic=f-A-1+v,c.upper&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.upper,0,0),d.upper=Ym(u.getImageData(0,0,f,f)),d.capHeight=d.baseline-d.upper),c.lower&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.lower,0,0),d.lower=Ym(u.getImageData(0,0,f,f)),d.xHeight=d.baseline-d.lower),c.tittle&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.tittle,0,0),d.tittle=Ym(u.getImageData(0,0,f,f))),c.ascent&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.ascent,0,0),d.ascent=Ym(u.getImageData(0,0,f,f))),c.descent&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.descent,0,0),d.descent=cOe(u.getImageData(0,0,f,f))),c.overshoot){u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.overshoot,0,0);var L=cOe(u.getImageData(0,0,f,f));d.overshoot=L-p}for(var _ in d)d[_]/=n;return d.em=n,hx.cache[r]=d,uOe(d,s)}function uOe(e,t){var r={};typeof t==\"string\"&&(t=e[t]);for(var n in e)n!==\"em\"&&(r[n]=e[n]-t);return r}function Ym(e){for(var t=e.height,r=e.data,n=3;n<r.length;n+=4)if(r[n]!==0)return Math.floor((n-3)*.25/t)}function cOe(e){for(var t=e.height,r=e.data,n=r.length-1;n>0;n-=4)if(r[n]!==0)return Math.floor((n-3)*.25/t)}});var gOe=ye((Imr,pOe)=>{\"use strict\";var fA=Eqe(),pBt=Zm(),gBt=GY(),mBt=Iqe(),yBt=EY(),KY=$_(),_Bt=Dqe(),dx=Qqe(),xBt=Q5(),bBt=tOe(),wBt=XY(),TBt=aOe(),ABt=lOe(),SBt=bh(),MBt=hOe(),EBt=W2(),kBt=WY(),dOe=kBt.nextPow2,vOe=new yBt,_F=!1;document.body&&(yF=document.body.appendChild(document.createElement(\"div\")),yF.style.font=\"italic small-caps bold condensed 16px/2 cursive\",getComputedStyle(yF).fontStretch&&(_F=!0),document.body.removeChild(yF));var yF,Vu=function(t){CBt(t)?(t={regl:t},this.gl=t.regl._gl):this.gl=mBt(t),this.shader=vOe.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||gBt({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(),vOe.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(bBt(t)?t:{})};Vu.prototype.createShader=function(){var t=this.regl,r=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(i,a){return[a.atlas.width,a.atlas.height]},atlasDim:function(i,a){return[a.atlas.cols,a.atlas.rows]},atlas:function(i,a){return a.atlas.texture},charStep:function(i,a){return a.atlas.step},em:function(i,a){return a.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}`}),n={};return{regl:t,draw:r,atlas:n}};Vu.prototype.update=function(t){var r=this;if(typeof t==\"string\")t={text:t};else if(!t)return;t=pBt(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),t.opacity!=null&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map(function(ke){return parseFloat(ke)}):this.opacity=parseFloat(t.opacity)),t.viewport!=null&&(this.viewport=xBt(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),this.viewport==null&&(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]),t.kerning!=null&&(this.kerning=t.kerning),t.offset!=null&&(typeof t.offset==\"number\"&&(t.offset=[t.offset,0]),this.positionOffset=EBt(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=Vu.baseFontSize+\"px sans-serif\");var n=!1,i=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach(function(ke,ge){if(typeof ke==\"string\")try{ke=fA.parse(ke)}catch(Ge){ke=fA.parse(Vu.baseFontSize+\"px \"+ke)}else{var ie=ke.style,Te=ke.weight,Ee=ke.stretch,Ae=ke.variant;ke=fA.parse(fA.stringify(ke)),ie&&(ke.style=ie),Te&&(ke.weight=Te),Ee&&(ke.stretch=Ee),Ae&&(ke.variant=Ae)}var ze=fA.stringify({size:Vu.baseFontSize,family:ke.family,stretch:_F?ke.stretch:void 0,variant:ke.variant,weight:ke.weight,style:ke.style}),Ce=wBt(ke.size),me=Math.round(Ce[0]*TBt(Ce[1]));if(me!==r.fontSize[ge]&&(i=!0,r.fontSize[ge]=me),(!r.font[ge]||ze!=r.font[ge].baseString)&&(n=!0,r.font[ge]=Vu.fonts[ze],!r.font[ge])){var Re=ke.family.join(\", \"),ce=[ke.style];ke.style!=ke.variant&&ce.push(ke.variant),ke.variant!=ke.weight&&ce.push(ke.weight),_F&&ke.weight!=ke.stretch&&ce.push(ke.stretch),r.font[ge]={baseString:ze,family:Re,weight:ke.weight,stretch:ke.stretch,style:ke.style,variant:ke.variant,width:{},kerning:{},metrics:MBt(Re,{origin:\"top\",fontSize:Vu.baseFontSize,fontStyle:ce.join(\" \")})},Vu.fonts[ze]=r.font[ge]}}),(n||i)&&this.font.forEach(function(ke,ge){var ie=fA.stringify({size:r.fontSize[ge],family:ke.family,stretch:_F?ke.stretch:void 0,variant:ke.variant,weight:ke.weight,style:ke.style});if(r.fontAtlas[ge]=r.shader.atlas[ie],!r.fontAtlas[ge]){var Te=ke.metrics;r.shader.atlas[ie]=r.fontAtlas[ge]={fontString:ie,step:Math.ceil(r.fontSize[ge]*Te.bottom*.5)*2,em:r.fontSize[ge],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:r.regl.texture()}}t.text==null&&(t.text=r.text)}),typeof t.text==\"string\"&&t.position&&t.position.length>2){for(var a=Array(t.position.length*.5),o=0;o<a.length;o++)a[o]=t.text;t.text=a}var s;if(t.text!=null||n){if(this.textOffsets=[0],Array.isArray(t.text)){this.count=t.text[0].length,this.counts=[this.count];for(var l=1;l<t.text.length;l++)this.textOffsets[l]=this.textOffsets[l-1]+t.text[l-1].length,this.count+=t.text[l].length,this.counts.push(t.text[l].length);this.text=t.text.join(\"\")}else this.text=t.text,this.count=this.text.length,this.counts=[this.count];s=[],this.font.forEach(function(ke,ge){Vu.atlasContext.font=ke.baseString;for(var ie=r.fontAtlas[ge],Te=0;Te<r.text.length;Te++){var Ee=r.text.charAt(Te);if(ie.ids[Ee]==null&&(ie.ids[Ee]=ie.chars.length,ie.chars.push(Ee),s.push(Ee)),ke.width[Ee]==null&&(ke.width[Ee]=Vu.atlasContext.measureText(Ee).width/Vu.baseFontSize,r.kerning)){var Ae=[];for(var ze in ke.width)Ae.push(ze+Ee,Ee+ze);SBt(ke.kerning,ABt(ke.family,{pairs:Ae}))}}})}if(t.position)if(t.position.length>2){for(var u=!t.position[0].length,c=dx.mallocFloat(this.count*2),f=0,h=0;f<this.counts.length;f++){var d=this.counts[f];if(u)for(var v=0;v<d;v++)c[h++]=t.position[f*2],c[h++]=t.position[f*2+1];else for(var x=0;x<d;x++)c[h++]=t.position[f][0],c[h++]=t.position[f][1]}this.position.call?this.position({type:\"float\",data:c}):this.position=this.regl.buffer({type:\"float\",data:c}),dx.freeFloat(c)}else this.position.destroy&&this.position.destroy(),this.position={constant:t.position};if(t.text||n){var b=dx.mallocUint8(this.count),p=dx.mallocFloat(this.count*2);this.textWidth=[];for(var E=0,k=0;E<this.counts.length;E++){for(var A=this.counts[E],L=this.font[E]||this.font[0],_=this.fontAtlas[E]||this.fontAtlas[0],C=0;C<A;C++){var M=this.text.charAt(k),g=this.text.charAt(k-1);if(b[k]=_.ids[M],p[k*2]=L.width[M],C){var P=p[k*2-2],T=p[k*2],F=p[k*2-1],q=F+P*.5+T*.5;if(this.kerning){var V=L.kerning[g+M];V&&(q+=V*.001)}p[k*2+1]=q}else p[k*2+1]=p[k*2]*.5;k++}this.textWidth.push(p.length?p[k*2-2]*.5+p[k*2-1]:0)}t.align||(t.align=this.align),this.charBuffer({data:b,type:\"uint8\",usage:\"stream\"}),this.sizeBuffer({data:p,type:\"float\",usage:\"stream\"}),dx.freeUint8(b),dx.freeFloat(p),s.length&&this.font.forEach(function(ke,ge){var ie=r.fontAtlas[ge],Te=ie.step,Ee=Math.floor(Vu.maxAtlasSize/Te),Ae=Math.min(Ee,ie.chars.length),ze=Math.ceil(ie.chars.length/Ae),Ce=dOe(Ae*Te),me=dOe(ze*Te);ie.width=Ce,ie.height=me,ie.rows=ze,ie.cols=Ae,ie.em&&ie.texture({data:_Bt({canvas:Vu.atlasCanvas,font:ie.fontString,chars:ie.chars,shape:[Ce,me],step:[Te,Te]})})})}if(t.align&&(this.align=t.align,this.alignOffset=this.textWidth.map(function(ke,ge){var ie=Array.isArray(r.align)?r.align.length>1?r.align[ge]:r.align[0]:r.align;if(typeof ie==\"number\")return ie;switch(ie){case\"right\":case\"end\":return-ke;case\"center\":case\"centre\":case\"middle\":return-ke*.5}return 0})),this.baseline==null&&t.baseline==null&&(t.baseline=0),t.baseline!=null&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(ke,ge){var ie=(r.font[ge]||r.font[0]).metrics,Te=0;return Te+=ie.bottom*.5,typeof ke==\"number\"?Te+=ke-ie.baseline:Te+=-ie[ke],Te*=-1,Te})),t.color!=null)if(t.color||(t.color=\"transparent\"),typeof t.color==\"string\"||!isNaN(t.color))this.color=KY(t.color,\"uint8\");else{var H;if(typeof t.color[0]==\"number\"&&t.color.length>this.counts.length){var X=t.color.length;H=dx.mallocUint8(X);for(var G=(t.color.subarray||t.color.slice).bind(t.color),N=0;N<X;N+=4)H.set(KY(G(N,N+4),\"uint8\"),N)}else{var W=t.color.length;H=dx.mallocUint8(W*4);for(var re=0;re<W;re++)H.set(KY(t.color[re]||0,\"uint8\"),re*4)}this.color=H}if(t.position||t.text||t.color||t.baseline||t.align||t.font||t.offset||t.opacity){var ae=this.color.length>4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2;if(ae){var _e=Math.max(this.position.length*.5||0,this.color.length*.25||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,this.positionOffset.length*.5||0);this.batch=Array(_e);for(var Me=0;Me<this.batch.length;Me++)this.batch[Me]={count:this.counts.length>1?this.counts[Me]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[Me]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(Me*4,Me*4+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[Me]:this.opacity,baseline:this.baselineOffset[Me]!=null?this.baselineOffset[Me]:this.baselineOffset[0],align:this.align?this.alignOffset[Me]!=null?this.alignOffset[Me]:this.alignOffset[0]:0,atlas:this.fontAtlas[Me]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(Me*2,Me*2+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=[]}};Vu.prototype.destroy=function(){};Vu.prototype.kerning=!0;Vu.prototype.position={constant:new Float32Array(2)};Vu.prototype.translate=null;Vu.prototype.scale=null;Vu.prototype.font=null;Vu.prototype.text=\"\";Vu.prototype.positionOffset=[0,0];Vu.prototype.opacity=1;Vu.prototype.color=new Uint8Array([0,0,0,255]);Vu.prototype.alignOffset=[0,0];Vu.maxAtlasSize=1024;Vu.atlasCanvas=document.createElement(\"canvas\");Vu.atlasContext=Vu.atlasCanvas.getContext(\"2d\",{alpha:!1});Vu.baseFontSize=64;Vu.fonts={};function CBt(e){return typeof e==\"function\"&&e._gl&&e.prop&&e.texture&&e.buffer}pOe.exports=Vu});var xF=ye((Rmr,mOe)=>{\"use strict\";var LBt=pZ(),PBt=GY();mOe.exports=function(t,r,n){var i=t._fullLayout,a=!0;return i._glcanvas.each(function(o){if(o.regl){o.regl.preloadCachedCode(n);return}if(!(o.pick&&!i._has(\"parcoords\"))){try{o.regl=PBt({canvas:this,attributes:{antialias:!o.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||window.devicePixelRatio,extensions:r||[],cachedCode:n||{}})}catch(s){a=!1}o.regl||(a=!1),a&&this.addEventListener(\"webglcontextlost\",function(s){t&&t.emit&&t.emit(\"plotly_webglcontextlost\",{event:s,layer:o.key})},!1)}}),a||LBt({container:i._glcontainer.node()}),a}});var QY=ye(($Y,wOe)=>{\"use strict\";var yOe=QX(),_Oe=LY(),IBt=lqe(),xOe=gOe(),JY=Mr(),RBt=Sg().selectMode,DBt=xF(),zBt=lu(),FBt=hU(),qBt=YX().styleTextSelection,bOe={};function OBt(e,t,r,n){var i=e._size,a=e.width*n,o=e.height*n,s=i.l*n,l=i.b*n,u=i.r*n,c=i.t*n,f=i.w*n,h=i.h*n;return[s+t.domain[0]*f,l+r.domain[0]*h,a-u-(1-t.domain[1])*f,o-c-(1-r.domain[1])*h]}var $Y=wOe.exports=function(t,r,n){if(n.length){var i=t._fullLayout,a=r._scene,o=r.xaxis,s=r.yaxis,l,u;if(a){var c=DBt(t,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"],bOe);if(!c){a.init();return}var f=a.count,h=i._glcanvas.data()[0].regl;if(FBt(t,r,n),a.dirty){if((a.line2d||a.error2d)&&!(a.scatter2d||a.fill2d||a.glText)&&h.clear({}),a.error2d===!0&&(a.error2d=IBt(h)),a.line2d===!0&&(a.line2d=_Oe(h)),a.scatter2d===!0&&(a.scatter2d=yOe(h)),a.fill2d===!0&&(a.fill2d=_Oe(h)),a.glText===!0)for(a.glText=new Array(f),l=0;l<f;l++)a.glText[l]=new xOe(h);if(a.glText){if(f>a.glText.length){var d=f-a.glText.length;for(l=0;l<d;l++)a.glText.push(new xOe(h))}else if(f<a.glText.length){var v=a.glText.length-f,x=a.glText.splice(f,v);x.forEach(function(W){W.destroy()})}for(l=0;l<f;l++)a.glText[l].update(a.textOptions[l])}if(a.line2d&&(a.line2d.update(a.lineOptions),a.lineOptions=a.lineOptions.map(function(W){if(W&&W.positions){for(var re=W.positions,ae=0;ae<re.length&&(isNaN(re[ae])||isNaN(re[ae+1]));)ae+=2;for(var _e=re.length-2;_e>ae&&(isNaN(re[_e])||isNaN(re[_e+1]));)_e-=2;W.positions=re.slice(ae,_e+2)}return W}),a.line2d.update(a.lineOptions)),a.error2d){var b=(a.errorXOptions||[]).concat(a.errorYOptions||[]);a.error2d.update(b)}a.scatter2d&&a.scatter2d.update(a.markerOptions),a.fillOrder=JY.repeat(null,f),a.fill2d&&(a.fillOptions=a.fillOptions.map(function(W,re){var ae=n[re];if(!(!W||!ae||!ae[0]||!ae[0].trace)){var _e=ae[0],Me=_e.trace,ke=_e.t,ge=a.lineOptions[re],ie,Te,Ee=[];Me._ownfill&&Ee.push(re),Me._nexttrace&&Ee.push(re+1),Ee.length&&(a.fillOrder[re]=Ee);var Ae=[],ze=ge&&ge.positions||ke.positions,Ce,me;if(Me.fill===\"tozeroy\"){for(Ce=0;Ce<ze.length&&isNaN(ze[Ce+1]);)Ce+=2;for(me=ze.length-2;me>Ce&&isNaN(ze[me+1]);)me-=2;ze[Ce+1]!==0&&(Ae=[ze[Ce],0]),Ae=Ae.concat(ze.slice(Ce,me+2)),ze[me+1]!==0&&(Ae=Ae.concat([ze[me],0]))}else if(Me.fill===\"tozerox\"){for(Ce=0;Ce<ze.length&&isNaN(ze[Ce]);)Ce+=2;for(me=ze.length-2;me>Ce&&isNaN(ze[me]);)me-=2;ze[Ce]!==0&&(Ae=[0,ze[Ce+1]]),Ae=Ae.concat(ze.slice(Ce,me+2)),ze[me]!==0&&(Ae=Ae.concat([0,ze[me+1]]))}else if(Me.fill===\"toself\"||Me.fill===\"tonext\"){for(Ae=[],ie=0,W.splitNull=!0,Te=0;Te<ze.length;Te+=2)(isNaN(ze[Te])||isNaN(ze[Te+1]))&&(Ae=Ae.concat(ze.slice(ie,Te)),Ae.push(ze[ie],ze[ie+1]),Ae.push(null,null),ie=Te+2);Ae=Ae.concat(ze.slice(ie)),ie&&Ae.push(ze[ie],ze[ie+1])}else{var Re=Me._nexttrace;if(Re){var ce=a.lineOptions[re+1];if(ce){var Ge=ce.positions;if(Me.fill===\"tonexty\"){for(Ae=ze.slice(),re=Math.floor(Ge.length/2);re--;){var nt=Ge[re*2],ct=Ge[re*2+1];isNaN(nt)||isNaN(ct)||Ae.push(nt,ct)}W.fill=Re.fillcolor}}}}if(Me._prevtrace&&Me._prevtrace.fill===\"tonext\"){var qt=a.lineOptions[re-1].positions,rt=Ae.length/2;ie=rt;var ot=[ie];for(Te=0;Te<qt.length;Te+=2)(isNaN(qt[Te])||isNaN(qt[Te+1]))&&(ot.push(Te/2+rt+1),ie=Te+2);Ae=Ae.concat(qt),W.hole=ot}return W.fillmode=Me.fill,W.opacity=Me.opacity,W.positions=Ae,W}}),a.fill2d.update(a.fillOptions))}var p=i.dragmode,E=RBt(p),k=i.clickmode.indexOf(\"select\")>-1;for(l=0;l<f;l++){var A=n[l][0],L=A.trace,_=A.t,C=_.index,M=L._length,g=_.x,P=_.y;if(L.selectedpoints||E||k){if(E||(E=!0),L.selectedpoints){var T=a.selectBatch[C]=JY.selIndices2selPoints(L),F={};for(u=0;u<T.length;u++)F[T[u]]=1;var q=[];for(u=0;u<M;u++)F[u]||q.push(u);a.unselectBatch[C]=q}var V=_.xpx=new Array(M),H=_.ypx=new Array(M);for(u=0;u<M;u++)V[u]=o.c2p(g[u]),H[u]=s.c2p(P[u])}else _.xpx=_.ypx=null}if(E){if(a.select2d||(a.select2d=yOe(i._glcanvas.data()[1].regl)),a.scatter2d){var X=new Array(f);for(l=0;l<f;l++)X[l]=a.selectBatch[l].length||a.unselectBatch[l].length?a.markerUnselectedOptions[l]:{};a.scatter2d.update(X)}a.select2d&&(a.select2d.update(a.markerOptions),a.select2d.update(a.markerSelectedOptions)),a.glText&&n.forEach(function(W){var re=((W||[])[0]||{}).trace||{};zBt.hasText(re)&&qBt(W)})}else a.scatter2d&&a.scatter2d.update(a.markerOptions);var G={viewport:OBt(i,o,s,t._context.plotGlPixelRatio),range:[(o._rl||o.range)[0],(s._rl||s.range)[0],(o._rl||o.range)[1],(s._rl||s.range)[1]]},N=JY.repeat(G,a.count);a.fill2d&&a.fill2d.update(N),a.line2d&&a.line2d.update(N),a.error2d&&a.error2d.update(N.concat(N)),a.scatter2d&&a.scatter2d.update(N),a.select2d&&a.select2d.update(N),a.glText&&a.glText.forEach(function(W){W.update(G)})}}};$Y.reglPrecompiled=bOe});var SOe=ye((Dmr,AOe)=>{\"use strict\";var TOe=Hze();TOe.plot=QY();AOe.exports=TOe});var EOe=ye((zmr,MOe)=>{\"use strict\";MOe.exports=SOe()});var eK=ye((Fmr,POe)=>{\"use strict\";var BBt=Uc(),LOe=Jl(),kOe=Oc().axisHoverFormat,NBt=Wo().hovertemplateAttrs,bk=tk(),UBt=ad().idRegex,VBt=Vs().templatedArray,hA=no().extendFlat,o1=BBt.marker,HBt=o1.line,GBt=hA(LOe(\"marker.line\",{editTypeOverride:\"calc\"}),{width:hA({},HBt.width,{editType:\"calc\"}),editType:\"calc\"}),bF=hA(LOe(\"marker\"),{symbol:o1.symbol,angle:o1.angle,size:hA({},o1.size,{editType:\"markerSize\"}),sizeref:o1.sizeref,sizemin:o1.sizemin,sizemode:o1.sizemode,opacity:o1.opacity,colorbar:o1.colorbar,line:GBt,editType:\"calc\"});bF.color.editType=bF.cmin.editType=bF.cmax.editType=\"style\";function COe(e){return{valType:\"info_array\",freeLength:!0,editType:\"calc\",items:{valType:\"subplotid\",regex:UBt[e],editType:\"plot\"}}}POe.exports={dimensions:VBt(\"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:hA({},bk.text,{}),hovertext:hA({},bk.hovertext,{}),hovertemplate:NBt(),xhoverformat:kOe(\"x\"),yhoverformat:kOe(\"y\"),marker:bF,xaxes:COe(\"x\"),yaxes:COe(\"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:bk.selected.marker,editType:\"calc\"},unselected:{marker:bk.unselected.marker,editType:\"calc\"},opacity:bk.opacity}});var wF=ye((qmr,IOe)=>{\"use strict\";IOe.exports=function(e,t,r,n){n||(n=1/0);var i,a;for(i=0;i<t.length;i++)a=t[i],a.visible&&(n=Math.min(n,a[r].length));for(n===1/0&&(n=0),e._length=n,i=0;i<t.length;i++)a=t[i],a.visible&&(a._length=n);return n}});var zOe=ye((Omr,DOe)=>{\"use strict\";var tK=Mr(),jBt=Zd(),ROe=eK(),WBt=lu(),ZBt=$p(),XBt=wF(),YBt=Fz().isOpenSymbol;DOe.exports=function(t,r,n,i){function a(d,v){return tK.coerce(t,r,ROe,d,v)}var o=jBt(t,r,{name:\"dimensions\",handleItemDefaults:KBt}),s=a(\"diagonal.visible\"),l=a(\"showupperhalf\"),u=a(\"showlowerhalf\"),c=XBt(r,o,\"values\");if(!c||!s&&!l&&!u){r.visible=!1;return}a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\"),ZBt(t,r,n,i,a,{noAngleRef:!0,noStandOff:!0});var f=YBt(r.marker.symbol),h=WBt.isBubble(r);a(\"marker.line.width\",f||h?1:0),JBt(t,r,i,a),tK.coerceSelectionMarkerOpacity(r,a)};function KBt(e,t){function r(i,a){return tK.coerce(e,t,ROe.dimensions,i,a)}r(\"label\");var n=r(\"values\");n&&n.length?r(\"visible\"):t.visible=!1,r(\"axis.type\"),r(\"axis.matches\")}function JBt(e,t,r,n){var i=t.dimensions,a=i.length,o=t.showupperhalf,s=t.showlowerhalf,l=t.diagonal.visible,u,c,f=new Array(a),h=new Array(a);for(u=0;u<a;u++){var d=u?u+1:\"\";f[u]=\"x\"+d,h[u]=\"y\"+d}var v=n(\"xaxes\",f),x=n(\"yaxes\",h),b=t._diag=new Array(a);t._xaxes={},t._yaxes={};var p=[],E=[];function k(F,q,V,H){if(F){var X=F.charAt(0),G=r._splomAxes[X];if(t[\"_\"+X+\"axes\"][F]=1,H.push(F),!(F in G)){var N=G[F]={};V&&(N.label=V.label||\"\",V.visible&&V.axis&&(V.axis.type&&(N.type=V.axis.type),V.axis.matches&&(N.matches=q)))}}}var A=!l&&!s,L=!l&&!o;for(t._axesDim={},u=0;u<a;u++){var _=i[u],C=u===0,M=u===a-1,g=C&&A||M&&L?void 0:v[u],P=C&&L||M&&A?void 0:x[u];k(g,P,_,p),k(P,g,_,E),b[u]=[g,P],t._axesDim[g]=u,t._axesDim[P]=u}for(u=0;u<p.length;u++)for(c=0;c<E.length;c++){var T=p[u]+E[c];(u>c&&o||u<c&&s||u===c&&(l||!s||!o))&&(r._splomSubplots[T]=1)}(!s||!l&&o&&s)&&(r._splomGridDflt.xside=\"bottom\",r._splomGridDflt.yside=\"left\")}});var OOe=ye((Bmr,qOe)=>{\"use strict\";var FOe=Mr();qOe.exports=function(t,r){var n=t._fullLayout,i=r.uid,a=n._splomScenes;a||(a=n._splomScenes={});var o={dirty:!0,selectBatch:[],unselectBatch:[]},s={matrix:!1,selectBatch:[],unselectBatch:[]},l=a[r.uid];return l||(l=a[i]=FOe.extendFlat({},o,s),l.draw=function(){l.matrix&&l.matrix.draw&&(l.selectBatch.length||l.unselectBatch.length?l.matrix.draw(l.unselectBatch,l.selectBatch):l.matrix.draw()),l.dirty=!1},l.destroy=function(){l.matrix&&l.matrix.destroy&&l.matrix.destroy(),l.matrixOptions=null,l.selectBatch=null,l.unselectBatch=null,l=null}),l.dirty||FOe.extendFlat(l,o),l}});var UOe=ye((Nmr,NOe)=>{\"use strict\";var rK=Mr(),TF=af(),$Bt=q0().calcMarkerSize,QBt=q0().calcAxisExpansion,eNt=z0(),BOe=Y2().markerSelection,tNt=Y2().markerStyle,rNt=OOe(),iNt=es().BADNUM,nNt=sx().TOO_MANY_POINTS;NOe.exports=function(t,r){var n=r.dimensions,i=r._length,a={},o=a.cdata=[],s=a.data=[],l=r._visibleDims=[],u,c,f,h,d;function v(k,A){for(var L=k.makeCalcdata({v:A.values,vcalendar:r.calendar},\"v\"),_=0;_<L.length;_++)L[_]=L[_]===iNt?NaN:L[_];o.push(L),s.push(k.type===\"log\"?rK.simpleMap(L,k.c2l):L)}for(u=0;u<n.length;u++)if(f=n[u],f.visible){if(h=TF.getFromId(t,r._diag[u][0]),d=TF.getFromId(t,r._diag[u][1]),h&&d&&h.type!==d.type){rK.log(\"Skipping splom dimension \"+u+\" with conflicting axis types\");continue}h?(v(h,f),d&&d.type===\"category\"&&(d._categories=h._categories.slice())):v(d,f),l.push(u)}eNt(t,r),rK.extendFlat(a,tNt(t,r));var x=o.length,b=x*i>nNt,p;for(b?p=a.sizeAvg||Math.max(a.size,3):p=$Bt(r,i),c=0;c<l.length;c++)u=l[c],f=n[u],h=TF.getFromId(t,r._diag[u][0])||{},d=TF.getFromId(t,r._diag[u][1])||{},QBt(t,r,h,d,o[c],o[c],p);var E=rNt(t,r);return E.matrix||(E.matrix=!0),E.matrixOptions=a,E.selectedOptions=BOe(t,r,r.selected),E.unselectedOptions=BOe(t,r,r.unselected),[{x:!1,y:!1,t:{},trace:r}]}});var HOe=ye((VOe,wk)=>{(function(){var e,t,r,n,i,a;typeof performance!=\"undefined\"&&performance!==null&&performance.now?wk.exports=function(){return performance.now()}:typeof process!=\"undefined\"&&process!==null&&process.hrtime?(wk.exports=function(){return(e()-i)/1e6},t=process.hrtime,e=function(){var o;return o=t(),o[0]*1e9+o[1]},n=e(),a=process.uptime()*1e9,i=n-a):Date.now?(wk.exports=function(){return Date.now()-r},r=Date.now()):(wk.exports=function(){return new Date().getTime()-r},r=new Date().getTime())}).call(VOe)});var jOe=ye((Umr,MF)=>{var aNt=HOe(),s1=window,AF=[\"moz\",\"webkit\"],vA=\"AnimationFrame\",pA=s1[\"request\"+vA],Tk=s1[\"cancel\"+vA]||s1[\"cancelRequest\"+vA];for(dA=0;!pA&&dA<AF.length;dA++)pA=s1[AF[dA]+\"Request\"+vA],Tk=s1[AF[dA]+\"Cancel\"+vA]||s1[AF[dA]+\"CancelRequest\"+vA];var dA;(!pA||!Tk)&&(SF=0,iK=0,vx=[],GOe=1e3/60,pA=function(e){if(vx.length===0){var t=aNt(),r=Math.max(0,GOe-(t-SF));SF=r+t,setTimeout(function(){var n=vx.slice(0);vx.length=0;for(var i=0;i<n.length;i++)if(!n[i].cancelled)try{n[i].callback(SF)}catch(a){setTimeout(function(){throw a},0)}},Math.round(r))}return vx.push({handle:++iK,callback:e,cancelled:!1}),iK},Tk=function(e){for(var t=0;t<vx.length;t++)vx[t].handle===e&&(vx[t].cancelled=!0)});var SF,iK,vx,GOe;MF.exports=function(e){return pA.call(s1,e)};MF.exports.cancel=function(){Tk.apply(s1,arguments)};MF.exports.polyfill=function(e){e||(e=s1),e.requestAnimationFrame=pA,e.cancelAnimationFrame=Tk}});var ZOe=ye((Vmr,WOe)=>{WOe.exports=function(t,r){var n=typeof t==\"number\",i=typeof r==\"number\";n&&!i?(r=t,t=0):!n&&!i&&(t=0,r=0),t=t|0,r=r|0;var a=r-t;if(a<0)throw new Error(\"array length must be positive\");for(var o=new Array(a),s=0,l=t;s<a;s++,l++)o[s]=l;return o}});var JOe=ye((Hmr,KOe)=>{\"use strict\";var oNt=QX(),sNt=Zm(),lNt=j2(),XOe=jOe(),uNt=ZOe(),nK=Q5(),cNt=W2();KOe.exports=px;function px(e,t){if(!(this instanceof px))return new px(e,t);this.traces=[],this.passes={},this.regl=e,this.scatter=oNt(e),this.canvas=this.scatter.canvas}px.prototype.render=function(...e){return e.length&&this.update(...e),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?this.planned==null&&(this.planned=XOe(()=>{this.draw(),this.dirty=!0,this.planned=null})):(this.draw(),this.dirty=!0,XOe(()=>{this.dirty=!1})),this)};px.prototype.update=function(...e){if(!e.length)return;for(let n=0;n<e.length;n++)this.updateItem(n,e[n]);this.traces=this.traces.filter(Boolean);let t=[],r=0;for(let n=0;n<this.traces.length;n++){let i=this.traces[n],a=this.traces[n].passes;for(let o=0;o<a.length;o++)t.push(this.passes[a[o]]);i.passOffset=r,r+=i.passes.length}return this.scatter.update(...t),this};px.prototype.updateItem=function(e,t){let{regl:r}=this;if(t===null)return this.traces[e]=null,this;if(!t)return this;let n=sNt(t,{data:\"data items columns rows values dimensions samples x\",snap:\"snap cluster\",size:\"sizes size radius\",color:\"colors color fill fill-color fillColor\",opacity:\"opacity alpha transparency opaque\",borderSize:\"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline\",borderColor:\"borderColors borderColor bordercolor stroke stroke-color strokeColor\",marker:\"markers marker shape\",range:\"range ranges databox dataBox\",viewport:\"viewport viewBox viewbox\",domain:\"domain domains area areas\",padding:\"pad padding paddings pads margin margins\",transpose:\"transpose transposed\",diagonal:\"diagonal diag showDiagonal\",upper:\"upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf\",lower:\"lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower\"}),i=this.traces[e]||(this.traces[e]={id:e,buffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),color:\"black\",marker:null,size:12,borderColor:\"transparent\",borderSize:1,viewport:nK([r._gl.drawingBufferWidth,r._gl.drawingBufferHeight]),padding:[0,0,0,0],opacity:1,diagonal:!0,upper:!0,lower:!0});if(n.color!=null&&(i.color=n.color),n.size!=null&&(i.size=n.size),n.marker!=null&&(i.marker=n.marker),n.borderColor!=null&&(i.borderColor=n.borderColor),n.borderSize!=null&&(i.borderSize=n.borderSize),n.opacity!=null&&(i.opacity=n.opacity),n.viewport&&(i.viewport=nK(n.viewport)),n.diagonal!=null&&(i.diagonal=n.diagonal),n.upper!=null&&(i.upper=n.upper),n.lower!=null&&(i.lower=n.lower),n.data){i.buffer(cNt(n.data)),i.columns=n.data.length,i.count=n.data[0].length,i.bounds=[];for(let x=0;x<i.columns;x++)i.bounds[x]=lNt(n.data[x],1)}let a;n.range&&(i.range=n.range,a=i.range&&typeof i.range[0]!=\"number\"),n.domain&&(i.domain=n.domain);let o=!1;n.padding!=null&&(Array.isArray(n.padding)&&n.padding.length===i.columns&&typeof n.padding[n.padding.length-1]==\"number\"?(i.padding=n.padding.map(YOe),o=!0):i.padding=YOe(n.padding));let s=i.columns,l=i.count,u=i.viewport.width,c=i.viewport.height,f=i.viewport.x,h=i.viewport.y,d=u/s,v=c/s;i.passes=[];for(let x=0;x<s;x++)for(let b=0;b<s;b++){if(!i.diagonal&&b===x||!i.upper&&x>b||!i.lower&&x<b)continue;let p=fNt(i.id,x,b),E=this.passes[p]||(this.passes[p]={});if(n.data&&(n.transpose?E.positions={x:{buffer:i.buffer,offset:b,count:l,stride:s},y:{buffer:i.buffer,offset:x,count:l,stride:s}}:E.positions={x:{buffer:i.buffer,offset:b*l,count:l},y:{buffer:i.buffer,offset:x*l,count:l}},E.bounds=EF(i.bounds,x,b)),n.domain||n.viewport||n.data){let k=o?EF(i.padding,x,b):i.padding;if(i.domain){let[A,L,_,C]=EF(i.domain,x,b);E.viewport=[f+A*u+k[0],h+L*c+k[1],f+_*u-k[2],h+C*c-k[3]]}else E.viewport=[f+b*d+d*k[0],h+x*v+v*k[1],f+(b+1)*d-d*k[2],h+(x+1)*v-v*k[3]]}n.color&&(E.color=i.color),n.size&&(E.size=i.size),n.marker&&(E.marker=i.marker),n.borderSize&&(E.borderSize=i.borderSize),n.borderColor&&(E.borderColor=i.borderColor),n.opacity&&(E.opacity=i.opacity),n.range&&(E.range=a?EF(i.range,x,b):i.range||E.bounds),i.passes.push(p)}return this};px.prototype.draw=function(...e){if(!e.length)this.scatter.draw();else{let t=[];for(let r=0;r<e.length;r++)if(typeof e[r]==\"number\"){let{passes:n,passOffset:i}=this.traces[e[r]];t.push(...uNt(i,i+n.length))}else if(e[r].length){let n=e[r],{passes:i,passOffset:a}=this.traces[r];i=i.map((o,s)=>{t[a+s]=n})}this.scatter.draw(...t)}return this};px.prototype.destroy=function(){return this.traces.forEach(e=>{e.buffer&&e.buffer.destroy&&e.buffer.destroy()}),this.traces=null,this.passes=null,this.scatter.destroy(),this};function fNt(e,t,r){let n=e.id!=null?e.id:e,i=t,a=r;return n<<16|(i&255)<<8|a&255}function EF(e,t,r){let n,i,a,o,s,l,u,c,f=e[t],h=e[r];return f.length>2?(n=f[0],a=f[2],i=f[1],o=f[3]):f.length?(n=i=f[0],a=o=f[1]):(n=f.x,i=f.y,a=f.x+f.width,o=f.y+f.height),h.length>2?(s=h[0],u=h[2],l=h[1],c=h[3]):h.length?(s=l=h[0],u=c=h[1]):(s=h.x,l=h.y,u=h.x+h.width,c=h.y+h.height),[s,i,u,o]}function YOe(e){if(typeof e==\"number\")return[e,e,e,e];if(e.length===2)return[e[0],e[1],e[0],e[1]];{let t=nK(e);return[t.x,t.y,t.x+t.width,t.y+t.height]}}});var QOe=ye((Gmr,$Oe)=>{\"use strict\";var hNt=JOe(),aK=Mr(),kF=af(),dNt=Sg().selectMode;$Oe.exports=function(t,r,n){if(n.length)for(var i=0;i<n.length;i++)vNt(t,n[i][0])};function vNt(e,t){var r=e._fullLayout,n=r._size,i=t.trace,a=t.t,o=r._splomScenes[i.uid],s=o.matrixOptions,l=s.cdata,u=r._glcanvas.data()[0].regl,c=r.dragmode,f,h,d,v,x;if(l.length!==0){s.lower=i.showupperhalf,s.upper=i.showlowerhalf,s.diagonal=i.diagonal.visible;var b=i._visibleDims,p=l.length,E=o.viewOpts={};for(E.ranges=new Array(p),E.domains=new Array(p),x=0;x<b.length;x++){d=b[x];var k=E.ranges[x]=new Array(4),A=E.domains[x]=new Array(4);f=kF.getFromId(e,i._diag[d][0]),f&&(k[0]=f._rl[0],k[2]=f._rl[1],A[0]=f.domain[0],A[2]=f.domain[1]),h=kF.getFromId(e,i._diag[d][1]),h&&(k[1]=h._rl[0],k[3]=h._rl[1],A[1]=h.domain[0],A[3]=h.domain[1])}var L=e._context.plotGlPixelRatio,_=n.l*L,C=n.b*L,M=n.w*L,g=n.h*L;E.viewport=[_,C,M+_,g+C],o.matrix===!0&&(o.matrix=hNt(u));var P=r.clickmode.indexOf(\"select\")>-1,T=dNt(c)||!!i.selectedpoints||P,F=!0;if(T){var q=i._length;if(i.selectedpoints){o.selectBatch=i.selectedpoints;var V=i.selectedpoints,H={};for(d=0;d<V.length;d++)H[V[d]]=!0;var X=[];for(d=0;d<q;d++)H[d]||X.push(d);o.unselectBatch=X}var G=a.xpx=new Array(p),N=a.ypx=new Array(p);for(x=0;x<b.length;x++){if(d=b[x],f=kF.getFromId(e,i._diag[d][0]),f)for(G[x]=new Array(q),v=0;v<q;v++)G[x][v]=f.c2p(l[x][v]);if(h=kF.getFromId(e,i._diag[d][1]),h)for(N[x]=new Array(q),v=0;v<q;v++)N[x][v]=h.c2p(l[x][v])}if(o.selectBatch.length||o.unselectBatch.length){var W=aK.extendFlat({},s,o.unselectedOptions,E),re=aK.extendFlat({},s,o.selectedOptions,E);o.matrix.update(W,re),F=!1}}else a.xpx=a.ypx=null;if(F){var ae=aK.extendFlat({},s,E);o.matrix.update(ae,null)}}}});var oK=ye(eBe=>{\"use strict\";eBe.getDimIndex=function(t,r){for(var n=r._id,i=n.charAt(0),a={x:0,y:1}[i],o=t._visibleDims,s=0;s<o.length;s++){var l=o[s];if(t._diag[l][a]===n)return s}return!1}});var aBe=ye((Wmr,nBe)=>{\"use strict\";var tBe=oK(),pNt=zz().calcHover,rBe=Qa().getFromId,gNt=no().extendFlat;function mNt(e,t,r,n,i){i||(i={});var a=(n||\"\").charAt(0)===\"x\",o=(n||\"\").charAt(0)===\"y\",s=iBe(e,t,r);if((a||o)&&i.hoversubplots===\"axis\"&&s[0])for(var l=(a?e.xa:e.ya)._subplotsWith,u=i.gd,c=gNt({},e),f=0;f<l.length;f++){var h=l[f];if(h!==e.xa._id+e.ya._id){o?c.xa=rBe(u,h,\"x\"):c.ya=rBe(u,h,\"y\");var d=a||o,v=iBe(c,t,r,d);s=s.concat(v)}}return s}function iBe(e,t,r,n){var i=e.cd,a=i[0].trace,o=e.scene,s=o.matrixOptions.cdata,l=e.xa,u=e.ya,c=l.c2p(t),f=u.c2p(r),h=e.distance,d=tBe.getDimIndex(a,l),v=tBe.getDimIndex(a,u);if(d===!1||v===!1)return[e];for(var x=s[d],b=s[v],p,E,k=h,A=0;A<x.length;A++)if(!(n&&A!==e.index)){var L=x[A],_=b[A],C=l.c2p(L)-c,M=u.c2p(_)-f,g=Math.sqrt(C*C+M*M);(n||g<k)&&(k=E=g,p=A)}return e.index=p,e.distance=k,e.dxy=E,p===void 0?[e]:[pNt(e,x,b,a)]}nBe.exports={hoverPoints:mNt}});var fBe=ye((Zmr,cBe)=>{\"use strict\";var uBe=Mr(),oBe=uBe.pushUnique,sBe=lu(),lBe=oK();cBe.exports=function(t,r){var n=t.cd,i=n[0].trace,a=n[0].t,o=t.scene,s=o.matrixOptions.cdata,l=t.xaxis,u=t.yaxis,c=[];if(!o)return c;var f=!sBe.hasMarkers(i)&&!sBe.hasText(i);if(i.visible!==!0||f)return c;var h=lBe.getDimIndex(i,l),d=lBe.getDimIndex(i,u);if(h===!1||d===!1)return c;var v=a.xpx[h],x=a.ypx[d],b=s[h],p=s[d],E=(t.scene.selectBatch||[]).slice(),k=[];if(r!==!1&&!r.degenerate)for(var A=0;A<b.length;A++)r.contains([v[A],x[A]],null,A,t)?(c.push({pointNumber:A,x:b[A],y:p[A]}),oBe(E,A)):E.indexOf(A)!==-1?oBe(E,A):k.push(A);var L=o.matrixOptions;return!E.length&&!k.length?o.matrix.update(L,null):!o.selectBatch.length&&!o.unselectBatch.length&&o.matrix.update(o.unselectedOptions,uBe.extendFlat({},L,o.selectedOptions,o.viewOpts)),o.selectBatch=E,o.unselectBatch=k,c}});var vBe=ye((Xmr,dBe)=>{\"use strict\";var hBe=Mr(),yNt=z0(),_Nt=Y2().markerStyle;dBe.exports=function(t,r){var n=r.trace,i=t._fullLayout._splomScenes[n.uid];if(i){yNt(t,n),hBe.extendFlat(i.matrixOptions,_Nt(t,n));var a=hBe.extendFlat({},i.matrixOptions,i.viewOpts);i.matrix.update(a,null)}}});var gBe=ye((Ymr,pBe)=>{\"use strict\";var xNt=ba(),bNt=nV();pBe.exports={moduleType:\"trace\",name:\"splom\",categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:eK(),supplyDefaults:zOe(),colorbar:Kd(),calc:UOe(),plot:QOe(),hoverPoints:aBe().hoverPoints,selectPoints:fBe(),editStyle:vBe(),meta:{}};xNt.register(bNt)});var wBe=ye((Kmr,bBe)=>{\"use strict\";var wNt=LY(),TNt=ba(),ANt=xF(),SNt=kd().getModuleCalcData,gx=Jf(),mBe=af().getFromId,yBe=Qa().shouldShowZeroLine,_Be=\"splom\",xBe={};function MNt(e){var t=e._fullLayout,r=TNt.getModule(_Be),n=SNt(e.calcdata,r)[0],i=ANt(e,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"],xBe);i&&(t._hasOnlyLargeSploms&&sK(e),r.plot(e,{},n))}function ENt(e){var t=e.calcdata,r=e._fullLayout;r._hasOnlyLargeSploms&&sK(e);for(var n=0;n<t.length;n++){var i=t[n][0],a=i.trace,o=r._splomScenes[a.uid];a.type===\"splom\"&&o&&o.matrix&&kNt(e,a,o)}}function kNt(e,t,r){for(var n=r.matrixOptions.data.length,i=t._visibleDims,a=r.viewOpts.ranges=new Array(n),o=0;o<i.length;o++){var s=i[o],l=a[o]=new Array(4),u=mBe(e,t._diag[s][0]);u&&(l[0]=u.r2l(u.range[0]),l[2]=u.r2l(u.range[1]));var c=mBe(e,t._diag[s][1]);c&&(l[1]=c.r2l(c.range[0]),l[3]=c.r2l(c.range[1]))}r.selectBatch.length||r.unselectBatch.length?r.matrix.update({ranges:a},{ranges:a}):r.matrix.update({ranges:a})}function sK(e){var t=e._fullLayout,r=t._glcanvas.data()[0].regl,n=t._splomGrid;n||(n=t._splomGrid=wNt(r)),n.update(CNt(e))}function CNt(e){var t=e._context.plotGlPixelRatio,r=e._fullLayout,n=r._size,i=[0,0,r.width*t,r.height*t],a={},o;function s(_,C,M,g,P,T){M*=t,g*=t,P*=t,T*=t;var F=C[_+\"color\"],q=C[_+\"width\"],V=String(F+q);V in a?a[V].data.push(NaN,NaN,M,g,P,T):a[V]={data:[M,g,P,T],join:\"rect\",thickness:q*t,color:F,viewport:i,range:i,overlay:!1}}for(o in r._splomSubplots){var l=r._plots[o],u=l.xaxis,c=l.yaxis,f=u._gridVals,h=c._gridVals,d=u._offset,v=u._length,x=c._length,b=n.b+c.domain[0]*n.h,p=-c._m,E=-p*c.r2l(c.range[0],c.calendar),k,A;if(u.showgrid)for(o=0;o<f.length;o++)k=d+u.l2p(f[o].x),s(\"grid\",u,k,b,k,b+x);if(c.showgrid)for(o=0;o<h.length;o++)A=b+E+p*h[o].x,s(\"grid\",c,d,A,d+v,A);yBe(e,u,c)&&(k=d+u.l2p(0),s(\"zeroline\",u,k,b,k,b+x)),yBe(e,c,u)&&(A=b+E+0,s(\"zeroline\",c,d,A,d+v,A))}var L=[];for(o in a)L.push(a[o]);return L}function LNt(e,t,r,n){var i={},a;if(n._splomScenes){for(a=0;a<e.length;a++){var o=e[a];o.type===\"splom\"&&(i[o.uid]=1)}for(a=0;a<r.length;a++){var s=r[a];if(!i[s.uid]){var l=n._splomScenes[s.uid];l&&l.destroy&&l.destroy(),n._splomScenes[s.uid]=null,delete n._splomScenes[s.uid]}}}Object.keys(n._splomScenes||{}).length===0&&delete n._splomScenes,n._splomGrid&&!t._hasOnlyLargeSploms&&n._hasOnlyLargeSploms&&(n._splomGrid.destroy(),n._splomGrid=null,delete n._splomGrid),gx.clean(e,t,r,n)}bBe.exports={name:_Be,attr:gx.attr,attrRegex:gx.attrRegex,layoutAttributes:gx.layoutAttributes,supplyLayoutDefaults:gx.supplyLayoutDefaults,drawFramework:gx.drawFramework,plot:MNt,drag:ENt,updateGrid:sK,clean:LNt,updateFx:gx.updateFx,toSVG:gx.toSVG,reglPrecompiled:xBe}});var SBe=ye((Jmr,ABe)=>{\"use strict\";var TBe=gBe();TBe.basePlotModule=wBe(),ABe.exports=TBe});var EBe=ye(($mr,MBe)=>{\"use strict\";MBe.exports=SBe()});var cK=ye((Qmr,kBe)=>{\"use strict\";var PNt=Jl(),lK=Cd(),uK=Su(),INt=Ju().attributes,CF=no().extendFlat,RNt=Vs().templatedArray;kBe.exports={domain:INt({name:\"parcoords\",trace:!0,editType:\"plot\"}),labelangle:{valType:\"angle\",dflt:0,editType:\"plot\"},labelside:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},labelfont:uK({editType:\"plot\"}),tickfont:uK({autoShadowDflt:!0,editType:\"plot\"}),rangefont:uK({editType:\"plot\"}),dimensions:RNt(\"dimension\",{label:{valType:\"string\",editType:\"plot\"},tickvals:CF({},lK.tickvals,{editType:\"plot\"}),ticktext:CF({},lK.ticktext,{editType:\"plot\"}),tickformat:CF({},lK.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:CF({editType:\"calc\"},PNt(\"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\"}}});var Ak=ye((eyr,CBe)=>{\"use strict\";CBe.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:[\"contextLineLayer\",\"focusLineLayer\",\"pickLineLayer\"],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,captureWidth:10,fillColor:\"magenta\",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:\"axis-extent-text\",parcoordsLineLayers:\"parcoords-line-layers\",parcoordsLineLayer:\"parcoords-lines\",parcoords:\"parcoords\",parcoordsControlView:\"parcoords-control-view\",yAxis:\"y-axis\",axisOverlays:\"axis-overlays\",axis:\"axis\",axisHeading:\"axis-heading\",axisTitle:\"axis-title\",axisExtent:\"axis-extent\",axisExtentTop:\"axis-extent-top\",axisExtentTopText:\"axis-extent-top-text\",axisExtentBottom:\"axis-extent-bottom\",axisExtentBottomText:\"axis-extent-bottom-text\",axisBrush:\"axis-brush\"},id:{filterBarPattern:\"filter-bar-pattern\"}}});var Km=ye((tyr,PBe)=>{\"use strict\";var DNt=OS();function LBe(e){return[e]}PBe.exports={keyFun:function(e){return e.key},repeat:LBe,descend:DNt,wrap:LBe,unwrap:function(e){return e[0]}}});var dK=ye((ryr,VBe)=>{\"use strict\";var th=Ak(),em=xa(),zNt=Km().keyFun,LF=Km().repeat,gA=Mr().sorterAsc,FNt=Mr().strTranslate,IBe=th.bar.snapRatio;function RBe(e,t){return e*(1-IBe)+t*IBe}var DBe=th.bar.snapClose;function qNt(e,t){return e*(1-DBe)+t*DBe}function IF(e,t,r,n){if(ONt(r,n))return r;var i=e?-1:1,a=0,o=t.length-1;if(i<0){var s=a;a=o,o=s}for(var l=t[a],u=l,c=a;i*c<i*o;c+=i){var f=c+i,h=t[f];if(i*r<i*qNt(l,h))return RBe(l,u);if(i*r<i*h||f===o)return RBe(h,l);u=l,l=h}}function ONt(e,t){for(var r=0;r<t.length;r++)if(e>=t[r][0]&&e<=t[r][1])return!0;return!1}function BNt(e){e.attr(\"x\",-th.bar.captureWidth/2).attr(\"width\",th.bar.captureWidth)}function NNt(e){e.attr(\"visibility\",\"visible\").style(\"visibility\",\"visible\").attr(\"fill\",\"yellow\").attr(\"opacity\",0)}function UNt(e){if(!e.brush.filterSpecified)return\"0,\"+e.height;for(var t=zBe(e.brush.filter.getConsolidated(),e.height),r=[0],n,i,a,o=t.length?t[0][0]:null,s=0;s<t.length;s++)n=t[s],i=n[1]-n[0],r.push(o),r.push(i),a=s+1,a<t.length&&(o=t[a][0]-n[1]);return r.push(e.height),r}function zBe(e,t){return e.map(function(r){return r.map(function(n){return Math.max(0,n*t)}).sort(gA)})}function VNt(e,t){var r=th.bar.handleHeight;if(!(t>e[1]+r||t<e[0]-r))return t>=.9*e[1]+.1*e[0]?\"n\":t<=.9*e[0]+.1*e[1]?\"s\":\"ns\"}function FBe(){em.select(document.body).style(\"cursor\",null)}function hK(e){e.attr(\"stroke-dasharray\",UNt)}function PF(e,t){var r=em.select(e).selectAll(\".highlight, .highlight-shadow\"),n=t?r.transition().duration(th.bar.snapDuration).each(\"end\",t):r;hK(n)}function qBe(e,t){var r=e.brush,n=r.filterSpecified,i=NaN,a={},o;if(n){var s=e.height,l=r.filter.getConsolidated(),u=zBe(l,s),c=NaN,f=NaN,h=NaN;for(o=0;o<=u.length;o++){var d=u[o];if(d&&d[0]<=t&&t<=d[1]){c=o;break}else if(f=o?o-1:NaN,d&&d[0]>t){h=o;break}}if(i=c,isNaN(i)&&(isNaN(f)||isNaN(h)?i=isNaN(f)?h:f:i=t-u[f][1]<u[h][0]-t?f:h),!isNaN(i)){var v=u[i],x=VNt(v,t);x&&(a.interval=l[i],a.intervalPix=v,a.region=x)}}if(e.ordinal&&!a.region){var b=e.unitTickvals,p=e.unitToPaddedPx.invert(t);for(o=0;o<b.length;o++){var E=[b[Math.max(o-1,0)]*.25+b[o]*.75,b[Math.min(o+1,b.length-1)]*.25+b[o]*.75];if(p>=E[0]&&p<=E[1]){a.clickableOrdinalRange=E;break}}}return a}function HNt(e,t){em.event.sourceEvent.stopPropagation();var r=t.height-em.mouse(e)[1]-2*th.verticalPadding,n=t.unitToPaddedPx.invert(r),i=t.brush,a=qBe(t,r),o=a.interval,s=i.svgBrush;if(s.wasDragged=!1,s.grabbingBar=a.region===\"ns\",s.grabbingBar){var l=o.map(t.unitToPaddedPx);s.grabPoint=r-l[0]-th.verticalPadding,s.barLength=l[1]-l[0]}s.clickableOrdinalRange=a.clickableOrdinalRange,s.stayingIntervals=t.multiselect&&i.filterSpecified?i.filter.getConsolidated():[],o&&(s.stayingIntervals=s.stayingIntervals.filter(function(u){return u[0]!==o[0]&&u[1]!==o[1]})),s.startExtent=a.region?o[a.region===\"s\"?1:0]:n,t.parent.inBrushDrag=!0,s.brushStartCallback()}function OBe(e,t){em.event.sourceEvent.stopPropagation();var r=t.height-em.mouse(e)[1]-2*th.verticalPadding,n=t.brush.svgBrush;n.wasDragged=!0,n._dragging=!0,n.grabbingBar?n.newExtent=[r-n.grabPoint,r+n.barLength-n.grabPoint].map(t.unitToPaddedPx.invert):n.newExtent=[n.startExtent,t.unitToPaddedPx.invert(r)].sort(gA),t.brush.filterSpecified=!0,n.extent=n.stayingIntervals.concat([n.newExtent]),n.brushCallback(t),PF(e.parentNode)}function GNt(e,t){var r=t.brush,n=r.filter,i=r.svgBrush;i._dragging||(BBe(e,t),OBe(e,t),t.brush.svgBrush.wasDragged=!1),i._dragging=!1;var a=em.event;a.sourceEvent.stopPropagation();var o=i.grabbingBar;if(i.grabbingBar=!1,i.grabLocation=void 0,t.parent.inBrushDrag=!1,FBe(),!i.wasDragged){i.wasDragged=void 0,i.clickableOrdinalRange?r.filterSpecified&&t.multiselect?i.extent.push(i.clickableOrdinalRange):(i.extent=[i.clickableOrdinalRange],r.filterSpecified=!0):o?(i.extent=i.stayingIntervals,i.extent.length===0&&fK(r)):fK(r),i.brushCallback(t),PF(e.parentNode),i.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);return}var s=function(){n.set(n.getConsolidated())};if(t.ordinal){var l=t.unitTickvals;l[l.length-1]<l[0]&&l.reverse(),i.newExtent=[IF(0,l,i.newExtent[0],i.stayingIntervals),IF(1,l,i.newExtent[1],i.stayingIntervals)];var u=i.newExtent[1]>i.newExtent[0];i.extent=i.stayingIntervals.concat(u?[i.newExtent]:[]),i.extent.length||fK(r),i.brushCallback(t),u?PF(e.parentNode,s):(s(),PF(e.parentNode))}else s();i.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}function BBe(e,t){var r=t.height-em.mouse(e)[1]-2*th.verticalPadding,n=qBe(t,r),i=\"crosshair\";n.clickableOrdinalRange?i=\"pointer\":n.region&&(i=n.region+\"-resize\"),em.select(document.body).style(\"cursor\",i)}function jNt(e){e.on(\"mousemove\",function(t){em.event.preventDefault(),t.parent.inBrushDrag||BBe(this,t)}).on(\"mouseleave\",function(t){t.parent.inBrushDrag||FBe()}).call(em.behavior.drag().on(\"dragstart\",function(t){HNt(this,t)}).on(\"drag\",function(t){OBe(this,t)}).on(\"dragend\",function(t){GNt(this,t)}))}function NBe(e,t){return e[0]-t[0]}function WNt(e,t,r){var n=r._context.staticPlot,i=e.selectAll(\".background\").data(LF);i.enter().append(\"rect\").classed(\"background\",!0).call(BNt).call(NNt).style(\"pointer-events\",n?\"none\":\"auto\").attr(\"transform\",FNt(0,th.verticalPadding)),i.call(jNt).attr(\"height\",function(s){return s.height-th.verticalPadding});var a=e.selectAll(\".highlight-shadow\").data(LF);a.enter().append(\"line\").classed(\"highlight-shadow\",!0).attr(\"x\",-th.bar.width/2).attr(\"stroke-width\",th.bar.width+th.bar.strokeWidth).attr(\"stroke\",t).attr(\"opacity\",th.bar.strokeOpacity).attr(\"stroke-linecap\",\"butt\"),a.attr(\"y1\",function(s){return s.height}).call(hK);var o=e.selectAll(\".highlight\").data(LF);o.enter().append(\"line\").classed(\"highlight\",!0).attr(\"x\",-th.bar.width/2).attr(\"stroke-width\",th.bar.width-th.bar.strokeWidth).attr(\"stroke\",th.bar.fillColor).attr(\"opacity\",th.bar.fillOpacity).attr(\"stroke-linecap\",\"butt\"),o.attr(\"y1\",function(s){return s.height}).call(hK)}function ZNt(e,t,r){var n=e.selectAll(\".\"+th.cn.axisBrush).data(LF,zNt);n.enter().append(\"g\").classed(th.cn.axisBrush,!0),WNt(n,t,r)}function XNt(e){return e.svgBrush.extent.map(function(t){return t.slice()})}function fK(e){e.filterSpecified=!1,e.svgBrush.extent=[[-1/0,1/0]]}function YNt(e){return function(r){var n=r.brush,i=XNt(n),a=i.slice();n.filter.set(a),e()}}function UBe(e){for(var t=e.slice(),r=[],n,i=t.shift();i;){for(n=i.slice();(i=t.shift())&&i[0]<=n[1];)n[1]=Math.max(n[1],i[1]);r.push(n)}return r.length===1&&r[0][0]>r[0][1]&&(r=[]),r}function KNt(){var e=[],t,r;return{set:function(n){e=n.map(function(i){return i.slice().sort(gA)}).sort(NBe),e.length===1&&e[0][0]===-1/0&&e[0][1]===1/0&&(e=[[0,-1]]),t=UBe(e),r=e.reduce(function(i,a){return[Math.min(i[0],a[0]),Math.max(i[1],a[1])]},[1/0,-1/0])},get:function(){return e.slice()},getConsolidated:function(){return t},getBounds:function(){return r}}}function JNt(e,t,r,n,i,a){var o=KNt();return o.set(r),{filter:o,filterSpecified:t,svgBrush:{extent:[],brushStartCallback:n,brushCallback:YNt(i),brushEndCallback:a}}}function $Nt(e,t){if(Array.isArray(e[0])?(e=e.map(function(n){return n.sort(gA)}),t.multiselect?e=UBe(e.sort(NBe)):e=[e[0]]):e=[e.sort(gA)],t.tickvals){var r=t.tickvals.slice().sort(gA);if(e=e.map(function(n){var i=[IF(0,r,n[0],[]),IF(1,r,n[1],[])];if(i[1]>i[0])return i}).filter(function(n){return n}),!e.length)return}return e.length>1?e:e[0]}VBe.exports={makeBrush:JNt,ensureAxisBrush:ZNt,cleanRanges:$Nt}});var jBe=ye((iyr,GBe)=>{\"use strict\";var mx=Mr(),QNt=Dv().hasColorscale,eUt=Uh(),tUt=Ju().defaults,rUt=Zd(),iUt=Qa(),HBe=cK(),nUt=dK(),vK=Ak().maxDimensionCount,aUt=wF();function oUt(e,t,r,n,i){var a=i(\"line.color\",r);if(QNt(e,\"line\")&&mx.isArrayOrTypedArray(a)){if(a.length)return i(\"line.colorscale\"),eUt(e,t,n,i,{prefix:\"line.\",cLetter:\"c\"}),a.length;t.line.color=r}return 1/0}function sUt(e,t,r,n){function i(u,c){return mx.coerce(e,t,HBe.dimensions,u,c)}var a=i(\"values\"),o=i(\"visible\");if(a&&a.length||(o=t.visible=!1),o){i(\"label\"),i(\"tickvals\"),i(\"ticktext\"),i(\"tickformat\");var s=i(\"range\");t._ax={_id:\"y\",type:\"linear\",showexponent:\"all\",exponentformat:\"B\",range:s},iUt.setConvert(t._ax,n.layout),i(\"multiselect\");var l=i(\"constraintrange\");l&&(t.constraintrange=nUt.cleanRanges(l,t))}}GBe.exports=function(t,r,n,i){function a(c,f){return mx.coerce(t,r,HBe,c,f)}var o=t.dimensions;Array.isArray(o)&&o.length>vK&&(mx.log(\"parcoords traces support up to \"+vK+\" dimensions at the moment\"),o.splice(vK));var s=rUt(t,r,{name:\"dimensions\",layout:i,handleItemDefaults:sUt}),l=oUt(t,r,n,i,a);tUt(r,i,a),(!Array.isArray(s)||!s.length)&&(r.visible=!1),aUt(r,s,\"values\",l);var u=mx.extendFlat({},i.font,{size:Math.round(i.font.size/1.2)});mx.coerceFont(a,\"labelfont\",u),mx.coerceFont(a,\"tickfont\",u,{autoShadowDflt:!0}),mx.coerceFont(a,\"rangefont\",u),a(\"labelangle\"),a(\"labelside\"),a(\"unselected.line.color\"),a(\"unselected.line.opacity\")}});var ZBe=ye((nyr,WBe)=>{\"use strict\";var lUt=Mr().isArrayOrTypedArray,pK=Mu(),uUt=Km().wrap;WBe.exports=function(t,r){var n,i;return pK.hasColorscale(r,\"line\")&&lUt(r.line.color)?(n=r.line.color,i=pK.extractOpts(r.line).colorscale,pK.calc(t,r,{vals:n,containerStr:\"line\",cLetter:\"c\"})):(n=cUt(r._length),i=[[0,r.line.color],[1,r.line.color]]),uUt({lineColor:n,cscale:i})};function cUt(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=.5;return t}});function fUt(e){var c,f;var t,r=[],n=1,i;if(typeof e==\"number\")return{space:\"rgb\",values:[e>>>16,(e&65280)>>>8,e&255],alpha:1};if(typeof e==\"number\")return{space:\"rgb\",values:[e>>>16,(e&65280)>>>8,e&255],alpha:1};if(e=String(e).toLowerCase(),gK.default[e])r=gK.default[e].slice(),i=\"rgb\";else if(e===\"transparent\")n=0,i=\"rgb\",r=[0,0,0];else if(e[0]===\"#\"){var a=e.slice(1),o=a.length,s=o<=4;n=1,s?(r=[parseInt(a[0]+a[0],16),parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16)],o===4&&(n=parseInt(a[3]+a[3],16)/255)):(r=[parseInt(a[0]+a[1],16),parseInt(a[2]+a[3],16),parseInt(a[4]+a[5],16)],o===8&&(n=parseInt(a[6]+a[7],16)/255)),r[0]||(r[0]=0),r[1]||(r[1]=0),r[2]||(r[2]=0),i=\"rgb\"}else if(t=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\\s*\\(([^\\)]*)\\)/.exec(e)){var l=t[1];i=l.replace(/a$/,\"\");var u=i===\"cmyk\"?4:i===\"gray\"?1:3;r=t[2].trim().split(/\\s*[,\\/]\\s*|\\s+/),i===\"color\"&&(i=r.shift()),r=r.map(function(h,d){if(h[h.length-1]===\"%\")return h=parseFloat(h)/100,d===3?h:i===\"rgb\"?h*255:i[0]===\"h\"||i[0]===\"l\"&&!d?h*100:i===\"lab\"?h*125:i===\"lch\"?d<2?h*150:h*360:i[0]===\"o\"&&!d?h:i===\"oklab\"?h*.4:i===\"oklch\"?d<2?h*.4:h*360:h;if(i[d]===\"h\"||d===2&&i[i.length-1]===\"h\"){if(XBe[h]!==void 0)return XBe[h];if(h.endsWith(\"deg\"))return parseFloat(h);if(h.endsWith(\"turn\"))return parseFloat(h)*360;if(h.endsWith(\"grad\"))return parseFloat(h)*360/400;if(h.endsWith(\"rad\"))return parseFloat(h)*180/Math.PI}return h===\"none\"?0:parseFloat(h)}),n=r.length>u?r.pop():1}else/[0-9](?:\\s|\\/|,)/.test(e)&&(r=e.match(/([0-9]+)/g).map(function(h){return parseFloat(h)}),i=((f=(c=e.match(/([a-z])/ig))==null?void 0:c.join(\"\"))==null?void 0:f.toLowerCase())||\"rgb\");return{space:i,values:r,alpha:n}}var gK,YBe,XBe,KBe=Ll(()=>{gK=YQe(rZ(),1),YBe=fUt,XBe={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}});var Sk,mK=Ll(()=>{Sk={name:\"rgb\",min:[0,0,0],max:[255,255,255],channel:[\"red\",\"green\",\"blue\"],alias:[\"RGB\"]}});var RF,JBe=Ll(()=>{mK();RF={name:\"hsl\",min:[0,0,0],max:[360,100,100],channel:[\"hue\",\"saturation\",\"lightness\"],alias:[\"HSL\"],rgb:function(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100,i,a,o,s,l,u=0;if(r===0)return l=n*255,[l,l,l];for(a=n<.5?n*(1+r):n+r-n*r,i=2*n-a,s=[0,0,0];u<3;)o=t+1/3*-(u-1),o<0?o++:o>1&&o--,l=6*o<1?i+(a-i)*6*o:2*o<1?a:3*o<2?i+(a-i)*(2/3-o)*6:i,s[u++]=l*255;return s}};Sk.hsl=function(e){var t=e[0]/255,r=e[1]/255,n=e[2]/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=a-i,s,l,u;return a===i?s=0:t===a?s=(r-n)/o:r===a?s=2+(n-t)/o:n===a&&(s=4+(t-r)/o),s=Math.min(s*60,360),s<0&&(s+=360),u=(i+a)/2,a===i?l=0:u<=.5?l=o/(a+i):l=o/(2-a-i),[s,l*100,u*100]}});var QBe={};QQ(QBe,{default:()=>$Be});function $Be(e){Array.isArray(e)&&e.raw&&(e=String.raw(...arguments)),e instanceof Number&&(e=+e);var t,r,n,i=YBe(e);if(!i.space)return[];let a=i.space[0]===\"h\"?RF.min:Sk.min,o=i.space[0]===\"h\"?RF.max:Sk.max;return t=Array(3),t[0]=Math.min(Math.max(i.values[0],a[0]),o[0]),t[1]=Math.min(Math.max(i.values[1],a[1]),o[1]),t[2]=Math.min(Math.max(i.values[2],a[2]),o[2]),i.space[0]===\"h\"&&(t=RF.rgb(t)),t.push(Math.min(Math.max(i.alpha,0),1)),t}var eNe=Ll(()=>{KBe();mK();JBe()});var yK=ye(DF=>{\"use strict\";var hUt=Mr().isTypedArray;DF.convertTypedArray=function(e){return hUt(e)?Array.prototype.slice.call(e):e};DF.isOrdinal=function(e){return!!e.tickvals};DF.isVisible=function(e){return e.visible||!(\"visible\"in e)}});var cNe=ye((dyr,uNe)=>{\"use strict\";var dUt=[\"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", - "`),vUt=[\"precision highp float;\",\"\",\"varying vec4 fragColor;\",\"\",\"void main() {\",\" gl_FragColor = fragColor;\",\"}\"].join(`\n", - "`),Mk=Ak().maxDimensionCount,oNe=Mr(),tNe=1e-6,zF=2048,pUt=new Uint8Array(4),rNe=new Uint8Array(4),iNe={shape:[256,1],format:\"rgba\",type:\"uint8\",mag:\"nearest\",min:\"nearest\"};function gUt(e){e.read({x:0,y:0,width:1,height:1,data:pUt})}function sNe(e,t,r,n,i){var a=e._gl;a.enable(a.SCISSOR_TEST),a.scissor(t,r,n,i),e.clear({color:[0,0,0,0],depth:1})}function mUt(e,t,r,n,i,a){var o=a.key;function s(l){var u=Math.min(n,i-l*n);l===0&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],sNe(e,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),!r.clearOnly&&(a.count=2*u,a.offset=2*l*n,t(a),l*n+u<i&&(r.currentRafs[o]=window.requestAnimationFrame(function(){s(l+1)})),r.drawCompleted=!1)}r.drawCompleted||(gUt(e),r.drawCompleted=!0),s(0)}function yUt(e){return Math.max(tNe,Math.min(1-tNe,e))}function _Ut(e,t){for(var r=new Array(256),n=0;n<256;n++)r[n]=e(n/255).concat(t);return r}function _K(e,t){return(e>>>8*t)%256/255}function xUt(e,t,r){for(var n=new Array(e*(Mk+4)),i=0,a=0;a<e;a++){for(var o=0;o<Mk;o++)n[i++]=o<t.length?t[o].paddedUnitValues[a]:.5;n[i++]=_K(a,2),n[i++]=_K(a,1),n[i++]=_K(a,0),n[i++]=yUt(r[a])}return n}function bUt(e,t,r){for(var n=new Array(t*8),i=0,a=0;a<t;a++)for(var o=0;o<2;o++)for(var s=0;s<4;s++){var l=e*4+s,u=r[a*64+l];l===63&&o===0&&(u*=-1),n[i++]=u}return n}function nNe(e){var t=\"0\"+e;return t.substr(t.length-2)}function lNe(e){return e<Mk?\"p\"+nNe(e+1)+\"_\"+nNe(e+4):\"colors\"}function wUt(e,t,r){for(var n=0;n<=Mk;n+=4)e[lNe(n)](bUt(n/4,t,r))}function TUt(e){for(var t={},r=0;r<=Mk;r+=4)t[lNe(r)]=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)});return t}function AUt(e,t,r,n,i,a,o,s,l,u,c,f,h,d){for(var v=[[],[]],x=0;x<64;x++)v[0][x]=x===i?1:0,v[1][x]=x===a?1:0;o*=d,s*=d,l*=d,u*=d;var b=e.lines.canvasOverdrag*d,p=e.domain,E=e.canvasWidth*d,k=e.canvasHeight*d,A=e.pad.l*d,L=e.pad.b*d,_=e.layoutHeight*d,C=e.layoutWidth*d,M=e.deselectedLines.color,g=e.deselectedLines.opacity,P=oNe.extendFlat({key:c,resolution:[E,k],viewBoxPos:[o+b,s],viewBoxSize:[l,u],i0:i,i1:a,dim0A:v[0].slice(0,16),dim0B:v[0].slice(16,32),dim0C:v[0].slice(32,48),dim0D:v[0].slice(48,64),dim1A:v[1].slice(0,16),dim1B:v[1].slice(16,32),dim1C:v[1].slice(32,48),dim1D:v[1].slice(48,64),drwLayer:f,contextColor:[M[0]/255,M[1]/255,M[2]/255,g!==\"auto\"?M[3]*g:Math.max(1/255,Math.pow(1/e.lines.color.length,1/3))],scissorX:(n===t?0:o+b)+(A-b)+C*p.x[0],scissorWidth:(n===r?E-o+b:l+.5)+(n===t?o+b:0),scissorY:s+L+_*p.y[0],scissorHeight:u,viewportX:A-b+C*p.x[0],viewportY:L+_*p.y[0],viewportWidth:E,viewportHeight:k},h);return P}function aNe(e){var t=zF-1,r=Math.max(0,Math.floor(e[0]*t),0),n=Math.min(t,Math.ceil(e[1]*t),t);return[Math.min(r,n),Math.max(r,n)]}uNe.exports=function(e,t){var r=t.context,n=t.pick,i=t.regl,a=i._gl,o=a.getParameter(a.ALIASED_LINE_WIDTH_RANGE),s=Math.max(o[0],Math.min(o[1],t.viewModel.plotGlPixelRatio)),l={currentRafs:{},drawCompleted:!0,clearOnly:!1},u,c,f,h,d=TUt(i),v,x=i.texture(iNe),b=[];E(t);var p=i({profile:!1,blend:{enable:r,func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:1,dstAlpha:1},equation:{rgb:\"add\",alpha:\"add\"},color:[0,0,0,0]},depth:{enable:!r,mask:!0,func:\"less\",range:[0,1]},cull:{enable:!0,face:\"back\"},scissor:{enable:!0,box:{x:i.prop(\"scissorX\"),y:i.prop(\"scissorY\"),width:i.prop(\"scissorWidth\"),height:i.prop(\"scissorHeight\")}},viewport:{x:i.prop(\"viewportX\"),y:i.prop(\"viewportY\"),width:i.prop(\"viewportWidth\"),height:i.prop(\"viewportHeight\")},dither:!1,vert:dUt,frag:vUt,primitive:\"lines\",lineWidth:s,attributes:d,uniforms:{resolution:i.prop(\"resolution\"),viewBoxPos:i.prop(\"viewBoxPos\"),viewBoxSize:i.prop(\"viewBoxSize\"),dim0A:i.prop(\"dim0A\"),dim1A:i.prop(\"dim1A\"),dim0B:i.prop(\"dim0B\"),dim1B:i.prop(\"dim1B\"),dim0C:i.prop(\"dim0C\"),dim1C:i.prop(\"dim1C\"),dim0D:i.prop(\"dim0D\"),dim1D:i.prop(\"dim1D\"),loA:i.prop(\"loA\"),hiA:i.prop(\"hiA\"),loB:i.prop(\"loB\"),hiB:i.prop(\"hiB\"),loC:i.prop(\"loC\"),hiC:i.prop(\"hiC\"),loD:i.prop(\"loD\"),hiD:i.prop(\"hiD\"),palette:x,contextColor:i.prop(\"contextColor\"),maskTexture:i.prop(\"maskTexture\"),drwLayer:i.prop(\"drwLayer\"),maskHeight:i.prop(\"maskHeight\")},offset:i.prop(\"offset\"),count:i.prop(\"count\")});function E(M){u=M.model,c=M.viewModel,f=c.dimensions.slice(),h=f[0]?f[0].values.length:0;var g=u.lines,P=n?g.color.map(function(F,q){return q/g.color.length}):g.color,T=xUt(h,f,P);wUt(d,h,T),!r&&!n&&(x=i.texture(oNe.extendFlat({data:_Ut(u.unitToColor,255)},iNe)))}function k(M){var g,P,T,F=[[],[]];for(T=0;T<64;T++){var q=!M&&T<f.length?f[T].brush.filter.getBounds():[-1/0,1/0];F[0][T]=q[0],F[1][T]=q[1]}var V=zF*8,H=new Array(V);for(g=0;g<V;g++)H[g]=255;if(!M)for(g=0;g<f.length;g++){var X=g%8,G=(g-X)/8,N=Math.pow(2,X),W=f[g],re=W.brush.filter.get();if(!(re.length<2)){var ae=aNe(re[0])[1];for(P=1;P<re.length;P++){var _e=aNe(re[P]);for(T=ae+1;T<_e[0];T++)H[T*8+G]&=~N;ae=Math.max(ae,_e[1])}}}var Me={shape:[8,zF],format:\"alpha\",type:\"uint8\",mag:\"nearest\",min:\"nearest\",data:H};return v?v(Me):v=i.texture(Me),{maskTexture:v,maskHeight:zF,loA:F[0].slice(0,16),loB:F[0].slice(16,32),loC:F[0].slice(32,48),loD:F[0].slice(48,64),hiA:F[1].slice(0,16),hiB:F[1].slice(16,32),hiC:F[1].slice(32,48),hiD:F[1].slice(48,64)}}function A(M,g,P){var T=M.length,F,q,V,H=1/0,X=-1/0;for(F=0;F<T;F++)M[F].dim0.canvasX<H&&(H=M[F].dim0.canvasX,q=F),M[F].dim1.canvasX>X&&(X=M[F].dim1.canvasX,V=F);T===0&&sNe(i,0,0,u.canvasWidth,u.canvasHeight);var G=k(r);for(F=0;F<T;F++){var N=M[F],W=N.dim0.crossfilterDimensionIndex,re=N.dim1.crossfilterDimensionIndex,ae=N.canvasX,_e=N.canvasY,Me=ae+N.panelSizeX,ke=N.plotGlPixelRatio;if(g||!b[W]||b[W][0]!==ae||b[W][1]!==Me){b[W]=[ae,Me];var ge=AUt(u,q,V,F,W,re,ae,_e,N.panelSizeX,N.panelSizeY,N.dim0.crossfilterDimensionIndex,r?0:n?2:1,G,ke);l.clearOnly=P;var ie=g?u.lines.blockLineCount:h;mUt(i,p,l,ie,h,ge)}}}function L(M,g){return i.read({x:M,y:g,width:1,height:1,data:rNe}),rNe}function _(M,g,P,T){var F=new Uint8Array(4*P*T);return i.read({x:M,y:g,width:P,height:T,data:F}),F}function C(){e.style[\"pointer-events\"]=\"none\",x.destroy(),v&&v.destroy();for(var M in d)d[M].destroy()}return{render:A,readPixel:L,readPixels:_,destroy:C,update:E}}});var ANe=ye((vyr,TNe)=>{\"use strict\";var zd=xa(),l1=Mr(),xK=l1.isArrayOrTypedArray,gNe=l1.numberFormat,mNe=(eNe(),B1(QBe)).default,yNe=Qa(),SUt=l1.strRotate,Jm=l1.strTranslate,MUt=Pl(),FF=ao(),fNe=Mu(),TK=Km(),tg=TK.keyFun,$m=TK.repeat,_Ne=TK.unwrap,mA=yK(),ll=Ak(),xNe=dK(),EUt=cNe();function hNe(e,t,r){return l1.aggNums(e,null,t,r)}function bNe(e,t){return AK(hNe(Math.min,e,t),hNe(Math.max,e,t))}function qF(e){var t=e.range;return t?AK(t[0],t[1]):bNe(e.values,e._length)}function AK(e,t){return(isNaN(e)||!isFinite(e))&&(e=0),(isNaN(t)||!isFinite(t))&&(t=0),e===t&&(e===0?(e-=1,t+=1):(e*=.9,t*=1.1)),[e,t]}function kUt(e,t){return t?function(r,n){var i=t[n];return i==null?e(r):i}:e}function CUt(e,t,r,n,i){var a=qF(r);return n?zd.scale.ordinal().domain(n.map(kUt(gNe(r.tickformat),i))).range(n.map(function(o){var s=(o-a[0])/(a[1]-a[0]);return e-t+s*(2*t-e)})):zd.scale.linear().domain(a).range([e-t,t])}function LUt(e,t){return zd.scale.linear().range([t,e-t])}function PUt(e,t){return zd.scale.linear().domain(qF(e)).range([t,1-t])}function IUt(e){if(e.tickvals){var t=qF(e);return zd.scale.ordinal().domain(e.tickvals).range(e.tickvals.map(function(r){return(r-t[0])/(t[1]-t[0])}))}}function RUt(e){var t=e.map(function(a){return a[0]}),r=e.map(function(a){var o=mNe(a[1]);return zd.rgb(\"rgb(\"+o[0]+\",\"+o[1]+\",\"+o[2]+\")\")}),n=function(a){return function(o){return o[a]}},i=\"rgb\".split(\"\").map(function(a){return zd.scale.linear().clamp(!0).domain(t).range(r.map(n(a)))});return function(a){return i.map(function(o){return o(a)})}}function wK(e){return e.dimensions.some(function(t){return t.brush.filterSpecified})}function DUt(e,t,r){var n=_Ne(t),i=n.trace,a=mA.convertTypedArray(n.lineColor),o=i.line,s={color:mNe(i.unselected.line.color),opacity:i.unselected.line.opacity},l=fNe.extractOpts(o),u=l.reversescale?fNe.flipScale(n.cscale):n.cscale,c=i.domain,f=i.dimensions,h=e.width,d=i.labelangle,v=i.labelside,x=i.labelfont,b=i.tickfont,p=i.rangefont,E=l1.extendDeepNoArrays({},o,{color:a.map(zd.scale.linear().domain(qF({values:a,range:[l.min,l.max],_length:i._length}))),blockLineCount:ll.blockLineCount,canvasOverdrag:ll.overdrag*ll.canvasPixelRatio}),k=Math.floor(h*(c.x[1]-c.x[0])),A=Math.floor(e.height*(c.y[1]-c.y[0])),L=e.margin||{l:80,r:80,t:100,b:80},_=k,C=A;return{key:r,colCount:f.filter(mA.isVisible).length,dimensions:f,tickDistance:ll.tickDistance,unitToColor:RUt(u),lines:E,deselectedLines:s,labelAngle:d,labelSide:v,labelFont:x,tickFont:b,rangeFont:p,layoutWidth:h,layoutHeight:e.height,domain:c,translateX:c.x[0]*h,translateY:e.height-c.y[1]*e.height,pad:L,canvasWidth:_*ll.canvasPixelRatio+2*E.canvasOverdrag,canvasHeight:C*ll.canvasPixelRatio,width:_,height:C,canvasPixelRatio:ll.canvasPixelRatio}}function zUt(e,t,r){var n=r.width,i=r.height,a=r.dimensions,o=r.canvasPixelRatio,s=function(h){return n*h/Math.max(1,r.colCount-1)},l=ll.verticalPadding/i,u=LUt(i,ll.verticalPadding),c={key:r.key,xScale:s,model:r,inBrushDrag:!1},f={};return c.dimensions=a.filter(mA.isVisible).map(function(h,d){var v=PUt(h,l),x=f[h.label];f[h.label]=(x||0)+1;var b=h.label+(x?\"__\"+x:\"\"),p=h.constraintrange,E=p&&p.length;E&&!xK(p[0])&&(p=[p]);var k=E?p.map(function(q){return q.map(v)}):[[-1/0,1/0]],A=function(){var q=c;q.focusLayer&&q.focusLayer.render(q.panels,!0);var V=wK(q);!e.contextShown()&&V?(q.contextLayer&&q.contextLayer.render(q.panels,!0),e.contextShown(!0)):e.contextShown()&&!V&&(q.contextLayer&&q.contextLayer.render(q.panels,!0,!0),e.contextShown(!1))},L=h.values;L.length>h._length&&(L=L.slice(0,h._length));var _=h.tickvals,C;function M(q,V){return{val:q,text:C[V]}}function g(q,V){return q.val-V.val}if(xK(_)&&_.length){l1.isTypedArray(_)&&(_=Array.from(_)),C=h.ticktext,!xK(C)||!C.length?C=_.map(gNe(h.tickformat)):C.length>_.length?C=C.slice(0,_.length):_.length>C.length&&(_=_.slice(0,C.length));for(var P=1;P<_.length;P++)if(_[P]<_[P-1]){for(var T=_.map(M).sort(g),F=0;F<_.length;F++)_[F]=T[F].val,C[F]=T[F].text;break}}else _=void 0;return L=mA.convertTypedArray(L),{key:b,label:h.label,tickFormat:h.tickformat,tickvals:_,ticktext:C,ordinal:mA.isOrdinal(h),multiselect:h.multiselect,xIndex:d,crossfilterDimensionIndex:d,visibleIndex:h._index,height:i,values:L,paddedUnitValues:L.map(v),unitTickvals:_&&_.map(v),xScale:s,x:s(d),canvasX:s(d)*o,unitToPaddedPx:u,domainScale:CUt(i,ll.verticalPadding,h,_,C),ordinalScale:IUt(h),parent:c,model:r,brush:xNe.makeBrush(e,E,k,function(){e.linePickActive(!1)},A,function(q){if(c.focusLayer.render(c.panels,!0),c.pickLayer&&c.pickLayer.render(c.panels,!0),e.linePickActive(!0),t&&t.filterChanged){var V=v.invert,H=q.map(function(X){return X.map(V).sort(l1.sorterAsc)}).sort(function(X,G){return X[0]-G[0]});t.filterChanged(c.key,h._index,H)}})}}),c}function dNe(e){e.classed(ll.cn.axisExtentText,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"default\")}function FUt(){var e=!0,t=!1;return{linePickActive:function(r){return arguments.length?e=!!r:e},contextShown:function(r){return arguments.length?t=!!r:t}}}function vNe(e,t){var r=t===\"top\"?1:-1,n=e*Math.PI/180,i=Math.sin(n),a=Math.cos(n);return{dir:r,dx:i,dy:a,degrees:e}}function bK(e,t,r){for(var n=t.panels||(t.panels=[]),i=e.data(),a=0;a<i.length-1;a++){var o=n[a]||(n[a]={}),s=i[a],l=i[a+1];o.dim0=s,o.dim1=l,o.canvasX=s.canvasX,o.panelSizeX=l.canvasX-s.canvasX,o.panelSizeY=t.model.canvasHeight,o.y=0,o.canvasY=0,o.plotGlPixelRatio=r}}function qUt(e){for(var t=0;t<e.length;t++)for(var r=0;r<e[t].length;r++)for(var n=e[t][r].trace,i=n.dimensions,a=0;a<i.length;a++){var o=i[a].values,s=i[a]._ax;s&&(s.range?s.range=AK(s.range[0],s.range[1]):s.range=bNe(o,n._length),s.dtick||(s.dtick=.01*(Math.abs(s.range[1]-s.range[0])||1)),s.tickformat=i[a].tickformat,yNe.calcTicks(s),s.cleanRange())}}function wNe(e,t){return yNe.tickText(e._ax,t,!1).text}function pNe(e,t){if(e.ordinal)return\"\";var r=e.domainScale.domain(),n=r[t?r.length-1:0];return wNe(e.model.dimensions[e.visibleIndex],n)}TNe.exports=function(t,r,n,i){var a=t._context.staticPlot,o=t._fullLayout,s=o._toppaper,l=o._glcontainer,u=t._context.plotGlPixelRatio,c=t._fullLayout.paper_bgcolor;qUt(r);var f=FUt(),h=r.filter(function(F){return _Ne(F).trace.visible}).map(DUt.bind(0,n)).map(zUt.bind(0,f,i));l.each(function(F,q){return l1.extendFlat(F,h[q])});var d=l.selectAll(\".gl-canvas\").each(function(F){F.viewModel=h[0],F.viewModel.plotGlPixelRatio=u,F.viewModel.paperColor=c,F.model=F.viewModel?F.viewModel.model:null}),v=null,x=d.filter(function(F){return F.pick});x.style(\"pointer-events\",a?\"none\":\"auto\").on(\"mousemove\",function(F){if(f.linePickActive()&&F.lineLayer&&i&&i.hover){var q=zd.event,V=this.width,H=this.height,X=zd.mouse(this),G=X[0],N=X[1];if(G<0||N<0||G>=V||N>=H)return;var W=F.lineLayer.readPixel(G,H-1-N),re=W[3]!==0,ae=re?W[2]+256*(W[1]+256*W[0]):null,_e={x:G,y:N,clientX:q.clientX,clientY:q.clientY,dataIndex:F.model.key,curveNumber:ae};ae!==v&&(re?i.hover(_e):i.unhover&&i.unhover(_e),v=ae)}}),d.style(\"opacity\",function(F){return F.pick?0:1}),s.style(\"background\",\"rgba(255, 255, 255, 0)\");var b=s.selectAll(\".\"+ll.cn.parcoords).data(h,tg);b.exit().remove(),b.enter().append(\"g\").classed(ll.cn.parcoords,!0).style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"none\"),b.attr(\"transform\",function(F){return Jm(F.model.translateX,F.model.translateY)});var p=b.selectAll(\".\"+ll.cn.parcoordsControlView).data($m,tg);p.enter().append(\"g\").classed(ll.cn.parcoordsControlView,!0),p.attr(\"transform\",function(F){return Jm(F.model.pad.l,F.model.pad.t)});var E=p.selectAll(\".\"+ll.cn.yAxis).data(function(F){return F.dimensions},tg);E.enter().append(\"g\").classed(ll.cn.yAxis,!0),p.each(function(F){bK(E,F,u)}),d.each(function(F){if(F.viewModel){!F.lineLayer||i?F.lineLayer=EUt(this,F):F.lineLayer.update(F),(F.key||F.key===0)&&(F.viewModel[F.key]=F.lineLayer);var q=!F.context||i;F.lineLayer.render(F.viewModel.panels,q)}}),E.attr(\"transform\",function(F){return Jm(F.xScale(F.xIndex),0)}),E.call(zd.behavior.drag().origin(function(F){return F}).on(\"drag\",function(F){var q=F.parent;f.linePickActive(!1),F.x=Math.max(-ll.overdrag,Math.min(F.model.width+ll.overdrag,zd.event.x)),F.canvasX=F.x*F.model.canvasPixelRatio,E.sort(function(V,H){return V.x-H.x}).each(function(V,H){V.xIndex=H,V.x=F===V?V.x:V.xScale(V.xIndex),V.canvasX=V.x*V.model.canvasPixelRatio}),bK(E,q,u),E.filter(function(V){return Math.abs(F.xIndex-V.xIndex)!==0}).attr(\"transform\",function(V){return Jm(V.xScale(V.xIndex),0)}),zd.select(this).attr(\"transform\",Jm(F.x,0)),E.each(function(V,H,X){X===F.parent.key&&(q.dimensions[H]=V)}),q.contextLayer&&q.contextLayer.render(q.panels,!1,!wK(q)),q.focusLayer.render&&q.focusLayer.render(q.panels)}).on(\"dragend\",function(F){var q=F.parent;F.x=F.xScale(F.xIndex),F.canvasX=F.x*F.model.canvasPixelRatio,bK(E,q,u),zd.select(this).attr(\"transform\",function(V){return Jm(V.x,0)}),q.contextLayer&&q.contextLayer.render(q.panels,!1,!wK(q)),q.focusLayer&&q.focusLayer.render(q.panels),q.pickLayer&&q.pickLayer.render(q.panels,!0),f.linePickActive(!0),i&&i.axesMoved&&i.axesMoved(q.key,q.dimensions.map(function(V){return V.crossfilterDimensionIndex}))})),E.exit().remove();var k=E.selectAll(\".\"+ll.cn.axisOverlays).data($m,tg);k.enter().append(\"g\").classed(ll.cn.axisOverlays,!0),k.selectAll(\".\"+ll.cn.axis).remove();var A=k.selectAll(\".\"+ll.cn.axis).data($m,tg);A.enter().append(\"g\").classed(ll.cn.axis,!0),A.each(function(F){var q=F.model.height/F.model.tickDistance,V=F.domainScale,H=V.domain();zd.select(this).call(zd.svg.axis().orient(\"left\").tickSize(4).outerTickSize(2).ticks(q,F.tickFormat).tickValues(F.ordinal?H:null).tickFormat(function(X){return mA.isOrdinal(F)?X:wNe(F.model.dimensions[F.visibleIndex],X)}).scale(V)),FF.font(A.selectAll(\"text\"),F.model.tickFont)}),A.selectAll(\".domain, .tick>line\").attr(\"fill\",\"none\").attr(\"stroke\",\"black\").attr(\"stroke-opacity\",.25).attr(\"stroke-width\",\"1px\"),A.selectAll(\"text\").style(\"cursor\",\"default\");var L=k.selectAll(\".\"+ll.cn.axisHeading).data($m,tg);L.enter().append(\"g\").classed(ll.cn.axisHeading,!0);var _=L.selectAll(\".\"+ll.cn.axisTitle).data($m,tg);_.enter().append(\"text\").classed(ll.cn.axisTitle,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"ew-resize\").style(\"pointer-events\",a?\"none\":\"auto\"),_.text(function(F){return F.label}).each(function(F){var q=zd.select(this);FF.font(q,F.model.labelFont),MUt.convertToTspans(q,t)}).attr(\"transform\",function(F){var q=vNe(F.model.labelAngle,F.model.labelSide),V=ll.axisTitleOffset;return(q.dir>0?\"\":Jm(0,2*V+F.model.height))+SUt(q.degrees)+Jm(-V*q.dx,-V*q.dy)}).attr(\"text-anchor\",function(F){var q=vNe(F.model.labelAngle,F.model.labelSide),V=Math.abs(q.dx),H=Math.abs(q.dy);return 2*V>H?q.dir*q.dx<0?\"start\":\"end\":\"middle\"});var C=k.selectAll(\".\"+ll.cn.axisExtent).data($m,tg);C.enter().append(\"g\").classed(ll.cn.axisExtent,!0);var M=C.selectAll(\".\"+ll.cn.axisExtentTop).data($m,tg);M.enter().append(\"g\").classed(ll.cn.axisExtentTop,!0),M.attr(\"transform\",Jm(0,-ll.axisExtentOffset));var g=M.selectAll(\".\"+ll.cn.axisExtentTopText).data($m,tg);g.enter().append(\"text\").classed(ll.cn.axisExtentTopText,!0).call(dNe),g.text(function(F){return pNe(F,!0)}).each(function(F){FF.font(zd.select(this),F.model.rangeFont)});var P=C.selectAll(\".\"+ll.cn.axisExtentBottom).data($m,tg);P.enter().append(\"g\").classed(ll.cn.axisExtentBottom,!0),P.attr(\"transform\",function(F){return Jm(0,F.model.height+ll.axisExtentOffset)});var T=P.selectAll(\".\"+ll.cn.axisExtentBottomText).data($m,tg);T.enter().append(\"text\").classed(ll.cn.axisExtentBottomText,!0).attr(\"dy\",\"0.75em\").call(dNe),T.text(function(F){return pNe(F,!1)}).each(function(F){FF.font(zd.select(this),F.model.rangeFont)}),xNe.ensureAxisBrush(k,c,t)}});var MK=ye((SK,kNe)=>{\"use strict\";var OUt=ANe(),BUt=xF(),SNe=yK().isVisible,ENe={};function MNe(e,t,r){var n=t.indexOf(r),i=e.indexOf(n);return i===-1&&(i+=t.length),i}function NUt(e,t){return function(n,i){return MNe(e,t,n)-MNe(e,t,i)}}var SK=kNe.exports=function(t,r){var n=t._fullLayout,i=BUt(t,[],ENe);if(i){var a={},o={},s={},l={},u=n._size;r.forEach(function(v,x){var b=v[0].trace;s[x]=b.index;var p=l[x]=b.index;a[x]=t.data[p].dimensions,o[x]=t.data[p].dimensions.slice()});var c=function(v,x,b){var p=o[v][x],E=b.map(function(M){return M.slice()}),k=\"dimensions[\"+x+\"].constraintrange\",A=n._tracePreGUI[t._fullData[s[v]]._fullInput.uid];if(A[k]===void 0){var L=p.constraintrange;A[k]=L||null}var _=t._fullData[s[v]].dimensions[x];E.length?(E.length===1&&(E=E[0]),p.constraintrange=E,_.constraintrange=E.slice(),E=[E]):(delete p.constraintrange,delete _.constraintrange,E=null);var C={};C[k]=E,t.emit(\"plotly_restyle\",[C,[l[v]]])},f=function(v){t.emit(\"plotly_hover\",v)},h=function(v){t.emit(\"plotly_unhover\",v)},d=function(v,x){var b=NUt(x,o[v].filter(SNe));a[v].sort(b),o[v].filter(function(p){return!SNe(p)}).sort(function(p){return o[v].indexOf(p)}).forEach(function(p){a[v].splice(a[v].indexOf(p),1),a[v].splice(o[v].indexOf(p),0,p)}),t.emit(\"plotly_restyle\",[{dimensions:[a[v]]},[l[v]]])};OUt(t,r,{width:u.w,height:u.h,margin:{t:u.t,r:u.r,b:u.b,l:u.l}},{filterChanged:c,hover:f,unhover:h,axesMoved:d})}};SK.reglPrecompiled=ENe});var LNe=ye(Ek=>{\"use strict\";var CNe=xa(),UUt=kd().getModuleCalcData,VUt=MK(),HUt=Zp();Ek.name=\"parcoords\";Ek.plot=function(e){var t=UUt(e.calcdata,\"parcoords\")[0];t.length&&VUt(e,t)};Ek.clean=function(e,t,r,n){var i=n._has&&n._has(\"parcoords\"),a=t._has&&t._has(\"parcoords\");i&&!a&&(n._paperdiv.selectAll(\".parcoords\").remove(),n._glimages.selectAll(\"*\").remove())};Ek.toSVG=function(e){var t=e._fullLayout._glimages,r=CNe.select(e).selectAll(\".svg-container\"),n=r.filter(function(a,o){return o===r.size()-1}).selectAll(\".gl-canvas-context, .gl-canvas-focus\");function i(){var a=this,o=a.toDataURL(\"image/png\"),s=t.append(\"svg:image\");s.attr({xmlns:HUt.svg,\"xlink:href\":o,preserveAspectRatio:\"none\",x:0,y:0,width:a.style.width,height:a.style.height})}n.each(i),window.setTimeout(function(){CNe.selectAll(\"#filterBarPattern\").attr(\"id\",\"filterBarPattern\")},60)}});var INe=ye((gyr,PNe)=>{\"use strict\";PNe.exports={attributes:cK(),supplyDefaults:jBe(),calc:ZBe(),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcoords\",basePlotModule:LNe(),categories:[\"gl\",\"regl\",\"noOpacity\",\"noHover\"],meta:{}}});var zNe=ye((myr,DNe)=>{\"use strict\";var RNe=INe();RNe.plot=MK();DNe.exports=RNe});var qNe=ye((yyr,FNe)=>{\"use strict\";FNe.exports=zNe()});var EK=ye((_yr,UNe)=>{\"use strict\";var BNe=no().extendFlat,GUt=vl(),ONe=Su(),jUt=Jl(),NNe=Wo().hovertemplateAttrs,WUt=Ju().attributes,ZUt=BNe({editType:\"calc\"},jUt(\"line\",{editTypeOverride:\"calc\"}),{shape:{valType:\"enumerated\",values:[\"linear\",\"hspline\"],dflt:\"linear\",editType:\"plot\"},hovertemplate:NNe({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\"]})});UNe.exports={domain:WUt({name:\"parcats\",trace:!0,editType:\"calc\"}),hoverinfo:BNe({},GUt.hoverinfo,{flags:[\"count\",\"probability\"],editType:\"plot\",arrayOk:!1}),hoveron:{valType:\"enumerated\",values:[\"category\",\"color\",\"dimension\"],dflt:\"category\",editType:\"plot\"},hovertemplate:NNe({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\",\"category\",\"categorycount\",\"colorcount\",\"bandcolorcount\"]}),arrangement:{valType:\"enumerated\",values:[\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"perpendicular\",editType:\"plot\"},bundlecolors:{valType:\"boolean\",dflt:!0,editType:\"plot\"},sortpaths:{valType:\"enumerated\",values:[\"forward\",\"backward\"],dflt:\"forward\",editType:\"plot\"},labelfont:ONe({editType:\"calc\"}),tickfont:ONe({autoShadowDflt:!0,editType:\"calc\"}),dimensions:{_isLinkedToArray:\"dimension\",label:{valType:\"string\",editType:\"calc\"},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},values:{valType:\"data_array\",dflt:[],editType:\"calc\"},displayindex:{valType:\"integer\",editType:\"calc\"},editType:\"calc\",visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"}},line:ZUt,counts:{valType:\"number\",min:0,dflt:1,arrayOk:!0,editType:\"calc\"},customdata:void 0,hoverlabel:void 0,ids:void 0,legend:void 0,legendgroup:void 0,legendrank:void 0,opacity:void 0,selectedpoints:void 0,showlegend:void 0}});var GNe=ye((xyr,HNe)=>{\"use strict\";var yA=Mr(),XUt=Dv().hasColorscale,YUt=Uh(),KUt=Ju().defaults,JUt=Zd(),VNe=EK(),$Ut=wF(),QUt=vv().isTypedArraySpec;function eVt(e,t,r,n,i){i(\"line.shape\"),i(\"line.hovertemplate\");var a=i(\"line.color\",n.colorway[0]);if(XUt(e,\"line\")&&yA.isArrayOrTypedArray(a)){if(a.length)return i(\"line.colorscale\"),YUt(e,t,n,i,{prefix:\"line.\",cLetter:\"c\"}),a.length;t.line.color=r}return 1/0}function tVt(e,t){function r(u,c){return yA.coerce(e,t,VNe.dimensions,u,c)}var n=r(\"values\"),i=r(\"visible\");if(n&&n.length||(i=t.visible=!1),i){r(\"label\"),r(\"displayindex\",t._index);var a=e.categoryarray,o=yA.isArrayOrTypedArray(a)&&a.length>0||QUt(a),s;o&&(s=\"array\");var l=r(\"categoryorder\",s);l===\"array\"?(r(\"categoryarray\"),r(\"ticktext\")):(delete e.categoryarray,delete e.ticktext),!o&&l===\"array\"&&(t.categoryorder=\"trace\")}}HNe.exports=function(t,r,n,i){function a(u,c){return yA.coerce(t,r,VNe,u,c)}var o=JUt(t,r,{name:\"dimensions\",handleItemDefaults:tVt}),s=eVt(t,r,n,i,a);KUt(r,i,a),(!Array.isArray(o)||!o.length)&&(r.visible=!1),$Ut(r,o,\"values\",s),a(\"hoveron\"),a(\"hovertemplate\"),a(\"arrangement\"),a(\"bundlecolors\"),a(\"sortpaths\"),a(\"counts\");var l=i.font;yA.coerceFont(a,\"labelfont\",l,{overrideDflt:{size:Math.round(l.size)}}),yA.coerceFont(a,\"tickfont\",l,{autoShadowDflt:!0,overrideDflt:{size:Math.round(l.size/1.2)}})}});var WNe=ye((byr,jNe)=>{\"use strict\";var rVt=Km().wrap,iVt=Dv().hasColorscale,nVt=zv(),aVt=jq(),oVt=ao(),kk=Mr(),sVt=uo();jNe.exports=function(t,r){var n=kk.filterVisible(r.dimensions);if(n.length===0)return[];var i=n.map(function(g){var P;if(g.categoryorder===\"trace\")P=null;else if(g.categoryorder===\"array\")P=g.categoryarray;else{P=aVt(g.values);for(var T=!0,F=0;F<P.length;F++)if(!sVt(P[F])){T=!1;break}P.sort(T?kk.sorterAsc:void 0),g.categoryorder===\"category descending\"&&(P=P.reverse())}return vVt(g.values,P)}),a,o,s;kk.isArrayOrTypedArray(r.counts)?a=r.counts:a=[r.counts],pVt(n),n.forEach(function(g,P){gVt(g,i[P])});var l=r.line,u;l?(iVt(r,\"line\")&&nVt(t,r,{vals:r.line.color,containerStr:\"line\",cLetter:\"c\"}),u=oVt.tryColorscale(l)):u=kk.identity;function c(g){var P,T;return kk.isArrayOrTypedArray(l.color)?(P=l.color[g%l.color.length],T=P):P=l.color,{color:u(P),rawColor:T}}var f=n[0].values.length,h={},d=i.map(function(g){return g.inds});s=0;var v,x;for(v=0;v<f;v++){var b=[];for(x=0;x<d.length;x++)b.push(d[x][v]);o=a[v%a.length],s+=o;var p=c(v),E=b+\"-\"+p.rawColor;h[E]===void 0&&(h[E]=hVt(b,p.color,p.rawColor)),dVt(h[E],v,o)}var k=n.map(function(g,P){return uVt(P,g._index,g._displayindex,g.label,s)});for(v=0;v<f;v++)for(o=a[v%a.length],x=0;x<k.length;x++){var A=k[x].containerInd,L=i[x].inds[v],_=k[x].categories;if(_[L]===void 0){var C=r.dimensions[A]._categoryarray[L],M=r.dimensions[A]._ticktext[L];_[L]=cVt(x,L,C,M)}fVt(_[L],v,o)}return rVt(lVt(k,h,s))};function lVt(e,t,r){var n=e.map(function(i){return i.categories.length}).reduce(function(i,a){return Math.max(i,a)});return{dimensions:e,paths:t,trace:void 0,maxCats:n,count:r}}function uVt(e,t,r,n,i){return{dimensionInd:e,containerInd:t,displayInd:r,dimensionLabel:n,count:i,categories:[],dragX:null}}function cVt(e,t,r,n){return{dimensionInd:e,categoryInd:t,categoryValue:r,displayInd:t,categoryLabel:n,valueInds:[],count:0,dragY:null}}function fVt(e,t,r){e.valueInds.push(t),e.count+=r}function hVt(e,t,r){return{categoryInds:e,color:t,rawColor:r,valueInds:[],count:0}}function dVt(e,t,r){e.valueInds.push(t),e.count+=r}function vVt(e,t){t==null?t=[]:t=t.map(function(u){return u});var r={},n={},i=[];t.forEach(function(u,c){r[u]=0,n[u]=c});for(var a=0;a<e.length;a++){var o=e[a],s;r[o]===void 0?(r[o]=1,s=t.push(o)-1,n[o]=s):(r[o]++,s=n[o]),i.push(s)}var l=t.map(function(u){return r[u]});return{uniqueValues:t,uniqueCounts:l,inds:i}}function pVt(e){var t=e.map(function(n){return n.displayindex}),r;if(mVt(t))for(r=0;r<e.length;r++)e[r]._displayindex=e[r].displayindex;else for(r=0;r<e.length;r++)e[r]._displayindex=r}function gVt(e,t){e._categoryarray=t.uniqueValues,e.ticktext===null||e.ticktext===void 0?e._ticktext=[]:e._ticktext=e.ticktext.slice();for(var r=e._ticktext.length;r<t.uniqueValues.length;r++)e._ticktext.push(t.uniqueValues[r])}function mVt(e){for(var t=new Array(e.length),r=0;r<e.length;r++){if(e[r]<0||e[r]>=e.length||t[e[r]]!==void 0)return!1;t[e[r]]=!0}return!0}});var tUe=ye((wyr,eUe)=>{\"use strict\";var ul=xa(),yVt=(R2(),B1(I2)).interpolateNumber,_Vt=OP(),Pk=Nc(),yx=Mr(),Ck=yx.strTranslate,ZNe=ao(),kK=id(),xVt=Pl();function bVt(e,t,r,n){var i=t._context.staticPlot,a=e.map(FVt.bind(0,t,r)),o=n.selectAll(\"g.parcatslayer\").data([null]);o.enter().append(\"g\").attr(\"class\",\"parcatslayer\").style(\"pointer-events\",i?\"none\":\"all\");var s=o.selectAll(\"g.trace.parcats\").data(a,u1),l=s.enter().append(\"g\").attr(\"class\",\"trace parcats\");s.attr(\"transform\",function(E){return Ck(E.x,E.y)}),l.append(\"g\").attr(\"class\",\"paths\");var u=s.select(\"g.paths\"),c=u.selectAll(\"path.path\").data(function(E){return E.paths},u1);c.attr(\"fill\",function(E){return E.model.color});var f=c.enter().append(\"path\").attr(\"class\",\"path\").attr(\"stroke-opacity\",0).attr(\"fill\",function(E){return E.model.color}).attr(\"fill-opacity\",0);PK(f),c.attr(\"d\",function(E){return E.svgD}),f.empty()||c.sort(CK),c.exit().remove(),c.on(\"mouseover\",wVt).on(\"mouseout\",TVt).on(\"click\",AVt),l.append(\"g\").attr(\"class\",\"dimensions\");var h=s.select(\"g.dimensions\"),d=h.selectAll(\"g.dimension\").data(function(E){return E.dimensions},u1);d.enter().append(\"g\").attr(\"class\",\"dimension\"),d.attr(\"transform\",function(E){return Ck(E.x,0)}),d.exit().remove();var v=d.selectAll(\"g.category\").data(function(E){return E.categories},u1),x=v.enter().append(\"g\").attr(\"class\",\"category\");v.attr(\"transform\",function(E){return Ck(0,E.y)}),x.append(\"rect\").attr(\"class\",\"catrect\").attr(\"pointer-events\",\"none\"),v.select(\"rect.catrect\").attr(\"fill\",\"none\").attr(\"width\",function(E){return E.width}).attr(\"height\",function(E){return E.height}),YNe(x);var b=v.selectAll(\"rect.bandrect\").data(function(E){return E.bands},u1);b.each(function(){yx.raiseToTop(this)}),b.attr(\"fill\",function(E){return E.color});var p=b.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"stroke-opacity\",0).attr(\"fill\",function(E){return E.color}).attr(\"fill-opacity\",0);b.attr(\"fill\",function(E){return E.color}).attr(\"width\",function(E){return E.width}).attr(\"height\",function(E){return E.height}).attr(\"y\",function(E){return E.y}).attr(\"cursor\",function(E){return E.parcatsViewModel.arrangement===\"fixed\"?\"default\":E.parcatsViewModel.arrangement===\"perpendicular\"?\"ns-resize\":\"move\"}),RK(p),b.exit().remove(),x.append(\"text\").attr(\"class\",\"catlabel\").attr(\"pointer-events\",\"none\"),v.select(\"text.catlabel\").attr(\"text-anchor\",function(E){return Lk(E)?\"start\":\"end\"}).attr(\"alignment-baseline\",\"middle\").style(\"fill\",\"rgb(0, 0, 0)\").attr(\"x\",function(E){return Lk(E)?E.width+5:-5}).attr(\"y\",function(E){return E.height/2}).text(function(E){return E.model.categoryLabel}).each(function(E){ZNe.font(ul.select(this),E.parcatsViewModel.categorylabelfont),xVt.convertToTspans(ul.select(this),t)}),x.append(\"text\").attr(\"class\",\"dimlabel\"),v.select(\"text.dimlabel\").attr(\"text-anchor\",\"middle\").attr(\"alignment-baseline\",\"baseline\").attr(\"cursor\",function(E){return E.parcatsViewModel.arrangement===\"fixed\"?\"default\":\"ew-resize\"}).attr(\"x\",function(E){return E.width/2}).attr(\"y\",-5).text(function(E,k){return k===0?E.parcatsViewModel.model.dimensions[E.model.dimensionInd].dimensionLabel:null}).each(function(E){ZNe.font(ul.select(this),E.parcatsViewModel.labelfont)}),v.selectAll(\"rect.bandrect\").on(\"mouseover\",PVt).on(\"mouseout\",IVt),v.exit().remove(),d.call(ul.behavior.drag().origin(function(E){return{x:E.x,y:0}}).on(\"dragstart\",RVt).on(\"drag\",DVt).on(\"dragend\",zVt)),s.each(function(E){E.traceSelection=ul.select(this),E.pathSelection=ul.select(this).selectAll(\"g.paths\").selectAll(\"path.path\"),E.dimensionSelection=ul.select(this).selectAll(\"g.dimensions\").selectAll(\"g.dimension\")}),s.exit().remove()}eUe.exports=function(e,t,r,n){bVt(r,e,n,t)};function u1(e){return e.key}function Lk(e){var t=e.parcatsViewModel.dimensions.length,r=e.parcatsViewModel.dimensions[t-1].model.dimensionInd;return e.model.dimensionInd===r}function CK(e,t){return e.model.rawColor>t.model.rawColor?1:e.model.rawColor<t.model.rawColor?-1:0}function wVt(e){if(!e.parcatsViewModel.dragDimension&&e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1){yx.raiseToTop(this),IK(ul.select(this));var t=Ik(e),r=LK(e);if(e.parcatsViewModel.graphDiv.emit(\"plotly_hover\",{points:t,event:ul.event,constraints:r}),e.parcatsViewModel.hoverinfoItems.indexOf(\"none\")===-1){var n=ul.mouse(this)[0],i=e.parcatsViewModel.graphDiv,a=e.parcatsViewModel.trace,o=i._fullLayout,s=o._paperdiv.node().getBoundingClientRect(),l=e.parcatsViewModel.graphDiv.getBoundingClientRect(),u,c,f;for(f=0;f<e.leftXs.length-1;f++)if(e.leftXs[f]+e.dimWidths[f]-2<=n&&n<=e.leftXs[f+1]+2){var h=e.parcatsViewModel.dimensions[f],d=e.parcatsViewModel.dimensions[f+1];u=(h.x+h.width+d.x)/2,c=(e.topYs[f]+e.topYs[f+1]+e.height)/2;break}var v=e.parcatsViewModel.x+u,x=e.parcatsViewModel.y+c,b=kK.mostReadable(e.model.color,[\"black\",\"white\"]),p=e.model.count,E=p/e.parcatsViewModel.model.count,k={countLabel:p,probabilityLabel:E.toFixed(3)},A=[];e.parcatsViewModel.hoverinfoItems.indexOf(\"count\")!==-1&&A.push([\"Count:\",k.countLabel].join(\" \")),e.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")!==-1&&A.push([\"P:\",k.probabilityLabel].join(\" \"));var L=A.join(\"<br>\"),_=ul.mouse(i)[0];Pk.loneHover({trace:a,x:v-s.left+l.left,y:x-s.top+l.top,text:L,color:e.model.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:10,fontColor:b,idealAlign:_<v?\"right\":\"left\",hovertemplate:(a.line||{}).hovertemplate,hovertemplateLabels:k,eventData:[{data:a._input,fullData:a,count:p,probability:E}]},{container:o._hoverlayer.node(),outerContainer:o._paper.node(),gd:i})}}}function TVt(e){if(!e.parcatsViewModel.dragDimension&&(PK(ul.select(this)),Pk.loneUnhover(e.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()),e.parcatsViewModel.pathSelection.sort(CK),e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1)){var t=Ik(e),r=LK(e);e.parcatsViewModel.graphDiv.emit(\"plotly_unhover\",{points:t,event:ul.event,constraints:r})}}function Ik(e){for(var t=[],r=JNe(e.parcatsViewModel),n=0;n<e.model.valueInds.length;n++){var i=e.model.valueInds[n];t.push({curveNumber:r,pointNumber:i})}return t}function LK(e){for(var t={},r=e.parcatsViewModel.model.dimensions,n=0;n<r.length;n++){var i=r[n],a=i.categories[e.model.categoryInds[n]];t[i.containerInd]=a.categoryValue}return e.model.rawColor!==void 0&&(t.color=e.model.rawColor),t}function AVt(e){if(e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1){var t=Ik(e),r=LK(e);e.parcatsViewModel.graphDiv.emit(\"plotly_click\",{points:t,event:ul.event,constraints:r})}}function PK(e){e.attr(\"fill\",function(t){return t.model.color}).attr(\"fill-opacity\",.6).attr(\"stroke\",\"lightgray\").attr(\"stroke-width\",.2).attr(\"stroke-opacity\",1)}function IK(e){e.attr(\"fill-opacity\",.8).attr(\"stroke\",function(t){return kK.mostReadable(t.model.color,[\"black\",\"white\"])}).attr(\"stroke-width\",.3)}function SVt(e){e.select(\"rect.catrect\").attr(\"stroke\",\"black\").attr(\"stroke-width\",2.5)}function YNe(e){e.select(\"rect.catrect\").attr(\"stroke\",\"black\").attr(\"stroke-width\",1).attr(\"stroke-opacity\",1)}function MVt(e){e.attr(\"stroke\",\"black\").attr(\"stroke-width\",1.5)}function RK(e){e.attr(\"stroke\",\"black\").attr(\"stroke-width\",.2).attr(\"stroke-opacity\",1).attr(\"fill-opacity\",1)}function OF(e){var t=e.parcatsViewModel.pathSelection,r=e.categoryViewModel.model.dimensionInd,n=e.categoryViewModel.model.categoryInd;return t.filter(function(i){return i.model.categoryInds[r]===n&&i.model.color===e.color})}function EVt(e){var t=ul.select(e.parentNode).selectAll(\"rect.bandrect\");t.each(function(r){var n=OF(r);IK(n),n.each(function(){yx.raiseToTop(this)})}),SVt(ul.select(e.parentNode))}function kVt(e){var t=ul.select(e).datum(),r=OF(t);IK(r),r.each(function(){yx.raiseToTop(this)}),ul.select(e.parentNode).selectAll(\"rect.bandrect\").filter(function(n){return n.color===t.color}).each(function(){yx.raiseToTop(this),MVt(ul.select(this))})}function DK(e,t,r){var n=ul.select(e).datum(),i=n.categoryViewModel.model,a=n.parcatsViewModel.graphDiv,o=ul.select(e.parentNode).selectAll(\"rect.bandrect\"),s=[];o.each(function(u){var c=OF(u);c.each(function(f){Array.prototype.push.apply(s,Ik(f))})});var l={};l[i.dimensionInd]=i.categoryValue,a.emit(t,{points:s,event:r,constraints:l})}function zK(e,t,r){var n=ul.select(e).datum(),i=n.categoryViewModel.model,a=n.parcatsViewModel.graphDiv,o=OF(n),s=[];o.each(function(u){Array.prototype.push.apply(s,Ik(u))});var l={};l[i.dimensionInd]=i.categoryValue,n.rawColor!==void 0&&(l.color=n.rawColor),a.emit(t,{points:s,event:r,constraints:l})}function KNe(e,t,r){e._fullLayout._calcInverseTransform(e);var n=e._fullLayout._invScaleX,i=e._fullLayout._invScaleY,a=ul.select(r.parentNode).select(\"rect.catrect\"),o=a.node().getBoundingClientRect(),s=a.datum(),l=s.parcatsViewModel,u=l.model.dimensions[s.model.dimensionInd],c=l.trace,f=o.top+o.height/2,h,d;l.dimensions.length>1&&u.displayInd===l.dimensions.length-1?(h=o.left,d=\"left\"):(h=o.left+o.width,d=\"right\");var v=s.model.count,x=s.model.categoryLabel,b=v/s.parcatsViewModel.model.count,p={countLabel:v,categoryLabel:x,probabilityLabel:b.toFixed(3)},E=[];s.parcatsViewModel.hoverinfoItems.indexOf(\"count\")!==-1&&E.push([\"Count:\",p.countLabel].join(\" \")),s.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")!==-1&&E.push([\"P(\"+p.categoryLabel+\"):\",p.probabilityLabel].join(\" \"));var k=E.join(\"<br>\");return{trace:c,x:n*(h-t.left),y:i*(f-t.top),text:k,color:\"lightgray\",borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:12,fontColor:\"black\",idealAlign:d,hovertemplate:c.hovertemplate,hovertemplateLabels:p,eventData:[{data:c._input,fullData:c,count:v,category:x,probability:b}]}}function CVt(e,t,r){var n=[];return ul.select(r.parentNode.parentNode).selectAll(\"g.category\").select(\"rect.catrect\").each(function(){var i=this;n.push(KNe(e,t,i))}),n}function LVt(e,t,r){e._fullLayout._calcInverseTransform(e);var n=e._fullLayout._invScaleX,i=e._fullLayout._invScaleY,a=r.getBoundingClientRect(),o=ul.select(r).datum(),s=o.categoryViewModel,l=s.parcatsViewModel,u=l.model.dimensions[s.model.dimensionInd],c=l.trace,f=a.y+a.height/2,h,d;l.dimensions.length>1&&u.displayInd===l.dimensions.length-1?(h=a.left,d=\"left\"):(h=a.left+a.width,d=\"right\");var v=s.model.categoryLabel,x=o.parcatsViewModel.model.count,b=0;o.categoryViewModel.bands.forEach(function(P){P.color===o.color&&(b+=P.count)});var p=s.model.count,E=0;l.pathSelection.each(function(P){P.model.color===o.color&&(E+=P.model.count)});var k=b/x,A=b/E,L=b/p,_={countLabel:b,categoryLabel:v,probabilityLabel:k.toFixed(3)},C=[];s.parcatsViewModel.hoverinfoItems.indexOf(\"count\")!==-1&&C.push([\"Count:\",_.countLabel].join(\" \")),s.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")!==-1&&(C.push(\"P(color \\u2229 \"+v+\"): \"+_.probabilityLabel),C.push(\"P(\"+v+\" | color): \"+A.toFixed(3)),C.push(\"P(color | \"+v+\"): \"+L.toFixed(3)));var M=C.join(\"<br>\"),g=kK.mostReadable(o.color,[\"black\",\"white\"]);return{trace:c,x:n*(h-t.left),y:i*(f-t.top),text:M,color:o.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontColor:g,fontSize:10,idealAlign:d,hovertemplate:c.hovertemplate,hovertemplateLabels:_,eventData:[{data:c._input,fullData:c,category:v,count:x,probability:k,categorycount:p,colorcount:E,bandcolorcount:b}]}}function PVt(e){if(!e.parcatsViewModel.dragDimension&&e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1){var t=ul.mouse(this)[1];if(t<-1)return;var r=e.parcatsViewModel.graphDiv,n=r._fullLayout,i=n._paperdiv.node().getBoundingClientRect(),a=e.parcatsViewModel.hoveron,o=this;if(a===\"color\"?(kVt(o),zK(o,\"plotly_hover\",ul.event)):(EVt(o),DK(o,\"plotly_hover\",ul.event)),e.parcatsViewModel.hoverinfoItems.indexOf(\"none\")===-1){var s;a===\"category\"?s=KNe(r,i,o):a===\"color\"?s=LVt(r,i,o):a===\"dimension\"&&(s=CVt(r,i,o)),s&&Pk.loneHover(s,{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:r})}}}function IVt(e){var t=e.parcatsViewModel;if(!t.dragDimension&&(PK(t.pathSelection),YNe(t.dimensionSelection.selectAll(\"g.category\")),RK(t.dimensionSelection.selectAll(\"g.category\").selectAll(\"rect.bandrect\")),Pk.loneUnhover(t.graphDiv._fullLayout._hoverlayer.node()),t.pathSelection.sort(CK),t.hoverinfoItems.indexOf(\"skip\")===-1)){var r=e.parcatsViewModel.hoveron,n=this;r===\"color\"?zK(n,\"plotly_unhover\",ul.event):DK(n,\"plotly_unhover\",ul.event)}}function RVt(e){e.parcatsViewModel.arrangement!==\"fixed\"&&(e.dragDimensionDisplayInd=e.model.displayInd,e.initialDragDimensionDisplayInds=e.parcatsViewModel.model.dimensions.map(function(t){return t.displayInd}),e.dragHasMoved=!1,e.dragCategoryDisplayInd=null,ul.select(this).selectAll(\"g.category\").select(\"rect.catrect\").each(function(t){var r=ul.mouse(this)[0],n=ul.mouse(this)[1];-2<=r&&r<=t.width+2&&-2<=n&&n<=t.height+2&&(e.dragCategoryDisplayInd=t.model.displayInd,e.initialDragCategoryDisplayInds=e.model.categories.map(function(i){return i.displayInd}),t.model.dragY=t.y,yx.raiseToTop(this.parentNode),ul.select(this.parentNode).selectAll(\"rect.bandrect\").each(function(i){i.y<n&&n<=i.y+i.height&&(e.potentialClickBand=this)}))}),e.parcatsViewModel.dragDimension=e,Pk.loneUnhover(e.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()))}function DVt(e){if(e.parcatsViewModel.arrangement!==\"fixed\"&&(e.dragHasMoved=!0,e.dragDimensionDisplayInd!==null)){var t=e.dragDimensionDisplayInd,r=t-1,n=t+1,i=e.parcatsViewModel.dimensions[t];if(e.dragCategoryDisplayInd!==null){var a=i.categories[e.dragCategoryDisplayInd];a.model.dragY+=ul.event.dy;var o=a.model.dragY,s=a.model.displayInd,l=i.categories,u=l[s-1],c=l[s+1];u!==void 0&&o<u.y+u.height/2&&(a.model.displayInd=u.model.displayInd,u.model.displayInd=s),c!==void 0&&o+a.height>c.y+c.height/2&&(a.model.displayInd=c.model.displayInd,c.model.displayInd=s),e.dragCategoryDisplayInd=a.model.displayInd}if(e.dragCategoryDisplayInd===null||e.parcatsViewModel.arrangement===\"freeform\"){i.model.dragX=ul.event.x;var f=e.parcatsViewModel.dimensions[r],h=e.parcatsViewModel.dimensions[n];f!==void 0&&i.model.dragX<f.x+f.width&&(i.model.displayInd=f.model.displayInd,f.model.displayInd=t),h!==void 0&&i.model.dragX+i.width>h.x&&(i.model.displayInd=h.model.displayInd,h.model.displayInd=e.dragDimensionDisplayInd),e.dragDimensionDisplayInd=i.model.displayInd}qK(e.parcatsViewModel),FK(e.parcatsViewModel),QNe(e.parcatsViewModel),$Ne(e.parcatsViewModel)}}function zVt(e){if(e.parcatsViewModel.arrangement!==\"fixed\"&&e.dragDimensionDisplayInd!==null){ul.select(this).selectAll(\"text\").attr(\"font-weight\",\"normal\");var t={},r=JNe(e.parcatsViewModel),n=e.parcatsViewModel.model.dimensions.map(function(h){return h.displayInd}),i=e.initialDragDimensionDisplayInds.some(function(h,d){return h!==n[d]});i&&n.forEach(function(h,d){var v=e.parcatsViewModel.model.dimensions[d].containerInd;t[\"dimensions[\"+v+\"].displayindex\"]=h});var a=!1;if(e.dragCategoryDisplayInd!==null){var o=e.model.categories.map(function(h){return h.displayInd});if(a=e.initialDragCategoryDisplayInds.some(function(h,d){return h!==o[d]}),a){var s=e.model.categories.slice().sort(function(h,d){return h.displayInd-d.displayInd}),l=s.map(function(h){return h.categoryValue}),u=s.map(function(h){return h.categoryLabel});t[\"dimensions[\"+e.model.containerInd+\"].categoryarray\"]=[l],t[\"dimensions[\"+e.model.containerInd+\"].ticktext\"]=[u],t[\"dimensions[\"+e.model.containerInd+\"].categoryorder\"]=\"array\"}}if(e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1&&!e.dragHasMoved&&e.potentialClickBand&&(e.parcatsViewModel.hoveron===\"color\"?zK(e.potentialClickBand,\"plotly_click\",ul.event.sourceEvent):DK(e.potentialClickBand,\"plotly_click\",ul.event.sourceEvent)),e.model.dragX=null,e.dragCategoryDisplayInd!==null){var c=e.parcatsViewModel.dimensions[e.dragDimensionDisplayInd].categories[e.dragCategoryDisplayInd];c.model.dragY=null,e.dragCategoryDisplayInd=null}e.dragDimensionDisplayInd=null,e.parcatsViewModel.dragDimension=null,e.dragHasMoved=null,e.potentialClickBand=null,qK(e.parcatsViewModel),FK(e.parcatsViewModel);var f=ul.transition().duration(300).ease(\"cubic-in-out\");f.each(function(){QNe(e.parcatsViewModel,!0),$Ne(e.parcatsViewModel,!0)}).each(\"end\",function(){(i||a)&&_Vt.restyle(e.parcatsViewModel.graphDiv,t,[r])})}}function JNe(e){for(var t,r=e.graphDiv._fullData,n=0;n<r.length;n++)if(e.key===r[n].uid){t=n;break}return t}function $Ne(e,t){t===void 0&&(t=!1);function r(n){return t?n.transition():n}e.pathSelection.data(function(n){return n.paths},u1),r(e.pathSelection).attr(\"d\",function(n){return n.svgD})}function QNe(e,t){t===void 0&&(t=!1);function r(l){return t?l.transition():l}e.dimensionSelection.data(function(l){return l.dimensions},u1);var n=e.dimensionSelection.selectAll(\"g.category\").data(function(l){return l.categories},u1);r(e.dimensionSelection).attr(\"transform\",function(l){return Ck(l.x,0)}),r(n).attr(\"transform\",function(l){return Ck(0,l.y)});var i=n.select(\".dimlabel\");i.text(function(l,u){return u===0?l.parcatsViewModel.model.dimensions[l.model.dimensionInd].dimensionLabel:null});var a=n.select(\".catlabel\");a.attr(\"text-anchor\",function(l){return Lk(l)?\"start\":\"end\"}).attr(\"x\",function(l){return Lk(l)?l.width+5:-5}).each(function(l){var u,c;Lk(l)?(u=l.width+5,c=\"start\"):(u=-5,c=\"end\"),ul.select(this).selectAll(\"tspan\").attr(\"x\",u).attr(\"text-anchor\",c)});var o=n.selectAll(\"rect.bandrect\").data(function(l){return l.bands},u1),s=o.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"cursor\",\"move\").attr(\"stroke-opacity\",0).attr(\"fill\",function(l){return l.color}).attr(\"fill-opacity\",0);o.attr(\"fill\",function(l){return l.color}).attr(\"width\",function(l){return l.width}).attr(\"height\",function(l){return l.height}).attr(\"y\",function(l){return l.y}),RK(s),o.each(function(){yx.raiseToTop(this)}),o.exit().remove()}function FVt(e,t,r){var n=r[0],i=t.margin||{l:80,r:80,t:100,b:80},a=n.trace,o=a.domain,s=t.width,l=t.height,u=Math.floor(s*(o.x[1]-o.x[0])),c=Math.floor(l*(o.y[1]-o.y[0])),f=o.x[0]*s+i.l,h=t.height-o.y[1]*t.height+i.t,d=a.line.shape,v;a.hoverinfo===\"all\"?v=[\"count\",\"probability\"]:v=(a.hoverinfo||\"\").split(\"+\");var x={trace:a,key:a.uid,model:n,x:f,y:h,width:u,height:c,hoveron:a.hoveron,hoverinfoItems:v,arrangement:a.arrangement,bundlecolors:a.bundlecolors,sortpaths:a.sortpaths,labelfont:a.labelfont,categorylabelfont:a.tickfont,pathShape:d,dragDimension:null,margin:i,paths:[],dimensions:[],graphDiv:e,traceSelection:null,pathSelection:null,dimensionSelection:null};return n.dimensions&&(qK(x),FK(x)),x}function XNe(e,t,r,n,i){var a=[],o=[],s,l;for(l=0;l<r.length-1;l++)s=yVt(r[l]+e[l],e[l+1]),a.push(s(i)),o.push(s(1-i));var u=\"M \"+e[0]+\",\"+t[0];for(u+=\"l\"+r[0]+\",0 \",l=1;l<r.length;l++)u+=\"C\"+a[l-1]+\",\"+t[l-1]+\" \"+o[l-1]+\",\"+t[l]+\" \"+e[l]+\",\"+t[l],u+=\"l\"+r[l]+\",0 \";for(u+=\"l0,\"+n+\" \",u+=\"l -\"+r[r.length-1]+\",0 \",l=r.length-2;l>=0;l--)u+=\"C\"+o[l]+\",\"+(t[l+1]+n)+\" \"+a[l]+\",\"+(t[l]+n)+\" \"+(e[l]+r[l])+\",\"+(t[l]+n),u+=\"l-\"+r[l]+\",0 \";return u+=\"Z\",u}function FK(e){var t=e.dimensions,r=e.model,n=t.map(function(q){return q.categories.map(function(V){return V.y})}),i=e.model.dimensions.map(function(q){return q.categories.map(function(V){return V.displayInd})}),a=e.model.dimensions.map(function(q){return q.displayInd}),o=e.dimensions.map(function(q){return q.model.dimensionInd}),s=t.map(function(q){return q.x}),l=t.map(function(q){return q.width}),u=[];for(var c in r.paths)r.paths.hasOwnProperty(c)&&u.push(r.paths[c]);function f(q){var V=q.categoryInds.map(function(X,G){return i[G][X]}),H=o.map(function(X){return V[X]});return H}u.sort(function(q,V){var H=f(q),X=f(V);return e.sortpaths===\"backward\"&&(H.reverse(),X.reverse()),H.push(q.valueInds[0]),X.push(V.valueInds[0]),e.bundlecolors&&(H.unshift(q.rawColor),X.unshift(V.rawColor)),H<X?-1:H>X?1:0});for(var h=new Array(u.length),d=t[0].model.count,v=t[0].categories.map(function(q){return q.height}).reduce(function(q,V){return q+V}),x=0;x<u.length;x++){var b=u[x],p;d>0?p=v*(b.count/d):p=0;for(var E=new Array(n.length),k=0;k<b.categoryInds.length;k++){var A=b.categoryInds[k],L=i[k][A],_=a[k];E[_]=n[_][L],n[_][L]+=p;var C=e.dimensions[_].categories[L],M=C.bands.length,g=C.bands[M-1];if(g===void 0||b.rawColor!==g.rawColor){var P=g===void 0?0:g.y+g.height;C.bands.push({key:P,color:b.color,rawColor:b.rawColor,height:p,width:C.width,count:b.count,y:P,categoryViewModel:C,parcatsViewModel:e})}else{var T=C.bands[M-1];T.height+=p,T.count+=b.count}}var F;e.pathShape===\"hspline\"?F=XNe(s,E,l,p,.5):F=XNe(s,E,l,p,0),h[x]={key:b.valueInds[0],model:b,height:p,leftXs:s,topYs:E,dimWidths:l,svgD:F,parcatsViewModel:e}}e.paths=h}function qK(e){var t=e.model.dimensions.map(function(o){return{displayInd:o.displayInd,dimensionInd:o.dimensionInd}});t.sort(function(o,s){return o.displayInd-s.displayInd});var r=[];for(var n in t){var i=t[n].dimensionInd,a=e.model.dimensions[i];r.push(qVt(e,a))}e.dimensions=r}function qVt(e,t){var r=40,n=16,i=e.model.dimensions.length,a=t.displayInd,o,s,l;i>1?o=(e.width-2*r-n)/(i-1):o=0,s=r,l=s+o*a;var u=[],c=e.model.maxCats,f=t.categories.length,h=8,d=t.count,v=e.height-h*(c-1),x,b,p,E,k,A=(c-f)*h/2,L=t.categories.map(function(_){return{displayInd:_.displayInd,categoryInd:_.categoryInd}});for(L.sort(function(_,C){return _.displayInd-C.displayInd}),k=0;k<f;k++)E=L[k].categoryInd,b=t.categories[E],d>0?x=b.count/d*v:x=0,p={key:b.valueInds[0],model:b,width:n,height:x,y:b.dragY!==null?b.dragY:A,bands:[],parcatsViewModel:e},A=A+x+h,u.push(p);return{key:t.dimensionInd,x:t.dragX!==null?t.dragX:l,y:0,width:n,model:t,categories:u,parcatsViewModel:e,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}});var OK=ye((Tyr,rUe)=>{\"use strict\";var OVt=tUe();rUe.exports=function(t,r,n,i){var a=t._fullLayout,o=a._paper,s=a._size;OVt(t,o,r,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},n,i)}});var nUe=ye(BF=>{\"use strict\";var BVt=kd().getModuleCalcData,NVt=OK(),iUe=\"parcats\";BF.name=iUe;BF.plot=function(e,t,r,n){var i=BVt(e.calcdata,iUe);if(i.length){var a=i[0];NVt(e,a,r,n)}};BF.clean=function(e,t,r,n){var i=n._has&&n._has(\"parcats\"),a=t._has&&t._has(\"parcats\");i&&!a&&n._paperdiv.selectAll(\".parcats\").remove()}});var oUe=ye((Syr,aUe)=>{\"use strict\";aUe.exports={attributes:EK(),supplyDefaults:GNe(),calc:WNe(),plot:OK(),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcats\",basePlotModule:nUe(),categories:[\"noOpacity\"],meta:{}}});var lUe=ye((Myr,sUe)=>{\"use strict\";sUe.exports=oUe()});var c1=ye((Eyr,pUe)=>{\"use strict\";var UVt=Y1(),uUe=\"1.13.4\",dUe='\\xA9 <a target=\"_blank\" href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors',cUe=['\\xA9 <a target=\"_blank\" href=\"https://carto.com/\">Carto</a>',dUe].join(\" \"),fUe=['Map tiles by <a target=\"_blank\" href=\"https://stamen.com\">Stamen Design</a>','under <a target=\"_blank\" href=\"https://creativecommons.org/licenses/by/3.0\">CC BY 3.0</a>',\"|\",'Data by <a target=\"_blank\" href=\"https://openstreetmap.org\">OpenStreetMap</a> contributors','under <a target=\"_blank\" href=\"https://www.openstreetmap.org/copyright\">ODbL</a>'].join(\" \"),VVt=['Map tiles by <a target=\"_blank\" href=\"https://stamen.com\">Stamen Design</a>','under <a target=\"_blank\" href=\"https://creativecommons.org/licenses/by/3.0\">CC BY 3.0</a>',\"|\",'Data by <a target=\"_blank\" href=\"https://openstreetmap.org\">OpenStreetMap</a> contributors','under <a target=\"_blank\" href=\"https://creativecommons.org/licenses/by-sa/3.0\">CC BY SA</a>'].join(\" \"),vUe={\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:dUe,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:cUe,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:cUe,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:fUe,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:fUe,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:VVt,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\"}},hUe=UVt(vUe);pUe.exports={requiredVersion:uUe,styleUrlPrefix:\"mapbox://styles/mapbox/\",styleUrlSuffix:\"v9\",styleValuesMapbox:[\"basic\",\"streets\",\"outdoors\",\"light\",\"dark\",\"satellite\",\"satellite-streets\"],styleValueDflt:\"basic\",stylesNonMapbox:vUe,styleValuesNonMapbox:hUe,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@\"+uUe+\".\"].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:\",hUe.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')`}}});var Rk=ye((kyr,_Ue)=>{\"use strict\";var gUe=Mr(),mUe=va().defaultLine,HVt=Ju().attributes,GVt=Su(),jVt=Uc().textposition,WVt=Bu().overrideAll,ZVt=Vs().templatedArray,BK=c1(),yUe=GVt({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});yUe.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\";var XVt=_Ue.exports=WVt({_arrayAttrRegexps:[gUe.counterRegex(\"mapbox\",\".layers\",!0)],domain:HVt({name:\"mapbox\"}),accesstoken:{valType:\"string\",noBlank:!0,strict:!0},style:{valType:\"any\",values:BK.styleValuesMapbox.concat(BK.styleValuesNonMapbox),dflt:BK.styleValueDflt},center:{lon:{valType:\"number\",dflt:0},lat:{valType:\"number\",dflt:0}},zoom:{valType:\"number\",dflt:1},bearing:{valType:\"number\",dflt:0},pitch:{valType:\"number\",dflt:0},bounds:{west:{valType:\"number\"},east:{valType:\"number\"},south:{valType:\"number\"},north:{valType:\"number\"}},layers:ZVt(\"layer\",{visible:{valType:\"boolean\",dflt:!0},sourcetype:{valType:\"enumerated\",values:[\"geojson\",\"vector\",\"raster\",\"image\"],dflt:\"geojson\"},source:{valType:\"any\"},sourcelayer:{valType:\"string\",dflt:\"\"},sourceattribution:{valType:\"string\"},type:{valType:\"enumerated\",values:[\"circle\",\"line\",\"fill\",\"symbol\",\"raster\"],dflt:\"circle\"},coordinates:{valType:\"any\"},below:{valType:\"string\"},color:{valType:\"color\",dflt:mUe},opacity:{valType:\"number\",min:0,max:1,dflt:1},minzoom:{valType:\"number\",min:0,max:24,dflt:0},maxzoom:{valType:\"number\",min:0,max:24,dflt:24},circle:{radius:{valType:\"number\",dflt:15}},line:{width:{valType:\"number\",dflt:2},dash:{valType:\"data_array\"}},fill:{outlinecolor:{valType:\"color\",dflt:mUe}},symbol:{icon:{valType:\"string\",dflt:\"marker\"},iconsize:{valType:\"number\",dflt:10},text:{valType:\"string\",dflt:\"\"},placement:{valType:\"enumerated\",values:[\"point\",\"line\",\"line-center\"],dflt:\"point\"},textfont:yUe,textposition:gUe.extendFlat({},jVt,{arrayOk:!1})}})},\"plot\",\"from-root\");XVt.uirevision={valType:\"any\",editType:\"none\"}});var NF=ye((Cyr,wUe)=>{\"use strict\";var YVt=Wo().hovertemplateAttrs,KVt=Wo().texttemplateAttrs,JVt=Eg(),Dk=H2(),_A=Uc(),xUe=Rk(),$Vt=vl(),QVt=Jl(),ew=no().extendFlat,eHt=Bu().overrideAll,tHt=Rk(),bUe=Dk.line,xA=Dk.marker;wUe.exports=eHt({lon:Dk.lon,lat:Dk.lat,cluster:{enabled:{valType:\"boolean\"},maxzoom:ew({},tHt.layers.maxzoom,{}),step:{valType:\"number\",arrayOk:!0,dflt:-1,min:-1},size:{valType:\"number\",arrayOk:!0,dflt:20,min:0},color:{valType:\"color\",arrayOk:!0},opacity:ew({},xA.opacity,{dflt:1})},mode:ew({},_A.mode,{dflt:\"markers\"}),text:ew({},_A.text,{}),texttemplate:KVt({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"text\"]}),hovertext:ew({},_A.hovertext,{}),line:{color:bUe.color,width:bUe.width},connectgaps:_A.connectgaps,marker:ew({symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},angle:{valType:\"number\",dflt:\"auto\",arrayOk:!0},allowoverlap:{valType:\"boolean\",dflt:!1},opacity:xA.opacity,size:xA.size,sizeref:xA.sizeref,sizemin:xA.sizemin,sizemode:xA.sizemode},QVt(\"marker\")),fill:Dk.fill,fillcolor:JVt(),textfont:xUe.layers.symbol.textfont,textposition:xUe.layers.symbol.textposition,below:{valType:\"string\"},selected:{marker:_A.selected.marker},unselected:{marker:_A.unselected.marker},hoverinfo:ew({},$Vt.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]}),hovertemplate:YVt()},\"calc\",\"nested\")});var NK=ye((Lyr,TUe)=>{\"use strict\";var rHt=[\"Metropolis Black Italic\",\"Metropolis Black\",\"Metropolis Bold Italic\",\"Metropolis Bold\",\"Metropolis Extra Bold Italic\",\"Metropolis Extra Bold\",\"Metropolis Extra Light Italic\",\"Metropolis Extra Light\",\"Metropolis Light Italic\",\"Metropolis Light\",\"Metropolis Medium Italic\",\"Metropolis Medium\",\"Metropolis Regular Italic\",\"Metropolis Regular\",\"Metropolis Semi Bold Italic\",\"Metropolis Semi Bold\",\"Metropolis Thin Italic\",\"Metropolis Thin\",\"Open Sans Bold Italic\",\"Open Sans Bold\",\"Open Sans Extrabold Italic\",\"Open Sans Extrabold\",\"Open Sans Italic\",\"Open Sans Light Italic\",\"Open Sans Light\",\"Open Sans Regular\",\"Open Sans Semibold Italic\",\"Open Sans Semibold\",\"Klokantech Noto Sans Bold\",\"Klokantech Noto Sans CJK Bold\",\"Klokantech Noto Sans CJK Regular\",\"Klokantech Noto Sans Italic\",\"Klokantech Noto Sans Regular\"];TUe.exports={isSupportedFont:function(e){return rHt.indexOf(e)!==-1}}});var MUe=ye((Pyr,SUe)=>{\"use strict\";var zk=Mr(),UK=lu(),iHt=$p(),nHt=R0(),aHt=D0(),oHt=Ig(),AUe=NF(),sHt=NK().isSupportedFont;SUe.exports=function(t,r,n,i){function a(p,E){return zk.coerce(t,r,AUe,p,E)}function o(p,E){return zk.coerce2(t,r,AUe,p,E)}var s=lHt(t,r,a);if(!s){r.visible=!1;return}if(a(\"text\"),a(\"texttemplate\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"mode\"),a(\"below\"),UK.hasMarkers(r)){iHt(t,r,n,i,a,{noLine:!0,noAngle:!0}),a(\"marker.allowoverlap\"),a(\"marker.angle\");var l=r.marker;l.symbol!==\"circle\"&&(zk.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),zk.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}UK.hasLines(r)&&(nHt(t,r,n,i,a,{noDash:!0}),a(\"connectgaps\"));var u=o(\"cluster.maxzoom\"),c=o(\"cluster.step\"),f=o(\"cluster.color\",r.marker&&r.marker.color||n),h=o(\"cluster.size\"),d=o(\"cluster.opacity\"),v=u!==!1||c!==!1||f!==!1||h!==!1||d!==!1,x=a(\"cluster.enabled\",v);if(x||UK.hasText(r)){var b=i.font.family;aHt(t,r,i,a,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:sHt(b)?b:\"Open Sans Regular\",weight:i.font.weight,style:i.font.style,size:i.font.size,color:i.font.color}})}a(\"fill\"),r.fill!==\"none\"&&oHt(t,r,n,a),zk.coerceSelectionMarkerOpacity(r,a)};function lHt(e,t,r){var n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length);return t._length=a,a}});var VK=ye((Iyr,kUe)=>{\"use strict\";var EUe=Qa();kUe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=EUe.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=EUe.tickText(o,o.c2l(s[1]),!0).text,i}});var HK=ye((Ryr,LUe)=>{\"use strict\";var CUe=Mr();LUe.exports=function(t,r){var n=t.split(\" \"),i=n[0],a=n[1],o=CUe.isArrayOrTypedArray(r)?CUe.mean(r):r,s=.5+o/100,l=1.5+o/100,u=[\"\",\"\"],c=[0,0];switch(i){case\"top\":u[0]=\"top\",c[1]=-l;break;case\"bottom\":u[0]=\"bottom\",c[1]=l;break}switch(a){case\"left\":u[1]=\"right\",c[0]=-s;break;case\"right\":u[1]=\"left\",c[0]=s;break}var f;return u[0]&&u[1]?f=u.join(\"-\"):u[0]?f=u[0]:u[1]?f=u[1]:f=\"center\",{anchor:f,offset:c}}});var FUe=ye((Dyr,zUe)=>{\"use strict\";var RUe=uo(),iv=Mr(),uHt=es().BADNUM,VF=rx(),PUe=Mu(),cHt=ao(),fHt=S3(),HF=lu(),hHt=NK().isSupportedFont,dHt=HK(),vHt=rp().appendArrayPointValue,pHt=Pl().NEWLINES,gHt=Pl().BR_TAG_ALL;zUe.exports=function(t,r){var n=r[0].trace,i=n.visible===!0&&n._length!==0,a=n.fill!==\"none\",o=HF.hasLines(n),s=HF.hasMarkers(n),l=HF.hasText(n),u=s&&n.marker.symbol===\"circle\",c=s&&n.marker.symbol!==\"circle\",f=n.cluster&&n.cluster.enabled,h=UF(\"fill\"),d=UF(\"line\"),v=UF(\"circle\"),x=UF(\"symbol\"),b={fill:h,line:d,circle:v,symbol:x};if(!i)return b;var p;if((a||o)&&(p=VF.calcTraceToLineCoords(r)),a&&(h.geojson=VF.makePolygon(p),h.layout.visibility=\"visible\",iv.extendFlat(h.paint,{\"fill-color\":n.fillcolor})),o&&(d.geojson=VF.makeLine(p),d.layout.visibility=\"visible\",iv.extendFlat(d.paint,{\"line-width\":n.line.width,\"line-color\":n.line.color,\"line-opacity\":n.opacity})),u){var E=mHt(r);v.geojson=E.geojson,v.layout.visibility=\"visible\",f&&(v.filter=[\"!\",[\"has\",\"point_count\"]],b.cluster={type:\"circle\",filter:[\"has\",\"point_count\"],layout:{visibility:\"visible\"},paint:{\"circle-color\":jK(n.cluster.color,n.cluster.step),\"circle-radius\":jK(n.cluster.size,n.cluster.step),\"circle-opacity\":jK(n.cluster.opacity,n.cluster.step)}},b.clusterCount={type:\"symbol\",filter:[\"has\",\"point_count\"],paint:{},layout:{\"text-field\":\"{point_count_abbreviated}\",\"text-font\":IUe(n),\"text-size\":12}}),iv.extendFlat(v.paint,{\"circle-color\":E.mcc,\"circle-radius\":E.mrc,\"circle-opacity\":E.mo})}if(u&&f&&(v.filter=[\"!\",[\"has\",\"point_count\"]]),(c||l)&&(x.geojson=yHt(r,t),iv.extendFlat(x.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),c&&(iv.extendFlat(x.layout,{\"icon-size\":n.marker.size/10}),\"angle\"in n.marker&&n.marker.angle!==\"auto\"&&iv.extendFlat(x.layout,{\"icon-rotate\":{type:\"identity\",property:\"angle\"},\"icon-rotation-alignment\":\"map\"}),x.layout[\"icon-allow-overlap\"]=n.marker.allowoverlap,iv.extendFlat(x.paint,{\"icon-opacity\":n.opacity*n.marker.opacity,\"icon-color\":n.marker.color})),l)){var k=(n.marker||{}).size,A=dHt(n.textposition,k);iv.extendFlat(x.layout,{\"text-size\":n.textfont.size,\"text-anchor\":A.anchor,\"text-offset\":A.offset,\"text-font\":IUe(n)}),iv.extendFlat(x.paint,{\"text-color\":n.textfont.color,\"text-opacity\":n.opacity})}return b};function UF(e){return{type:e,geojson:VF.makeBlank(),layout:{visibility:\"none\"},filter:null,paint:{}}}function mHt(e){var t=e[0].trace,r=t.marker,n=t.selectedpoints,i=iv.isArrayOrTypedArray(r.color),a=iv.isArrayOrTypedArray(r.size),o=iv.isArrayOrTypedArray(r.opacity),s;function l(k){return t.opacity*k}function u(k){return k/2}var c;i&&(PUe.hasColorscale(t,\"marker\")?c=PUe.makeColorScaleFuncFromTrace(r):c=iv.identity);var f;a&&(f=fHt(t));var h;o&&(h=function(k){var A=RUe(k)?+iv.constrain(k,0,1):0;return l(A)});var d=[];for(s=0;s<e.length;s++){var v=e[s],x=v.lonlat;if(!DUe(x)){var b={};c&&(b.mcc=v.mcc=c(v.mc)),f&&(b.mrc=v.mrc=f(v.ms)),h&&(b.mo=h(v.mo)),n&&(b.selected=v.selected||0),d.push({type:\"Feature\",id:s+1,geometry:{type:\"Point\",coordinates:x},properties:b})}}var p;if(n)for(p=cHt.makeSelectedPointStyleFns(t),s=0;s<d.length;s++){var E=d[s].properties;p.selectedOpacityFn&&(E.mo=l(p.selectedOpacityFn(E))),p.selectedColorFn&&(E.mcc=p.selectedColorFn(E)),p.selectedSizeFn&&(E.mrc=p.selectedSizeFn(E))}return{geojson:{type:\"FeatureCollection\",features:d},mcc:i||p&&p.selectedColorFn?{type:\"identity\",property:\"mcc\"}:r.color,mrc:a||p&&p.selectedSizeFn?{type:\"identity\",property:\"mrc\"}:u(r.size),mo:o||p&&p.selectedOpacityFn?{type:\"identity\",property:\"mo\"}:l(r.opacity)}}function yHt(e,t){for(var r=t._fullLayout,n=e[0].trace,i=n.marker||{},a=i.symbol,o=i.angle,s=a!==\"circle\"?GK(a):GF,l=o!==\"auto\"?GK(o,!0):GF,u=HF.hasText(n)?GK(n.text):GF,c=[],f=0;f<e.length;f++){var h=e[f];if(!DUe(h.lonlat)){var d=n.texttemplate,v;if(d){var x=Array.isArray(d)?d[f]||\"\":d,b=n._module.formatLabels(h,n,r),p={};vHt(p,n,h.i);var E=n._meta||{};v=iv.texttemplateString(x,b,r._d3locale,p,h,E)}else v=u(f);v&&(v=v.replace(pHt,\"\").replace(gHt,`\n", - "`)),c.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:h.lonlat},properties:{symbol:s(f),angle:l(f),text:v}})}}return{type:\"FeatureCollection\",features:c}}function GK(e,t){return iv.isArrayOrTypedArray(e)?t?function(r){return RUe(e[r])?+e[r]:0}:function(r){return e[r]}:e?function(){return e}:GF}function GF(){return\"\"}function DUe(e){return e[0]===uHt}function jK(e,t){var r;if(iv.isArrayOrTypedArray(e)&&iv.isArrayOrTypedArray(t)){r=[\"step\",[\"get\",\"point_count\"],e[0]];for(var n=1;n<e.length;n++)r.push(t[n-1],e[n])}else r=e;return r}function IUe(e){var t=e.textfont,r=t.family,n=t.style,i=t.weight,a=r.split(\" \"),o=a[a.length-1]===\"Italic\";o&&a.pop(),o=o||n===\"italic\";var s=a.join(\" \");i===\"bold\"&&a.indexOf(\"Bold\")===-1?s+=\" Bold\":i<=1e3&&(a[0]===\"Metropolis\"?(s=\"Metropolis\",i>850?s+=\" Black\":i>750?s+=\" Extra Bold\":i>650?s+=\" Bold\":i>550?s+=\" Semi Bold\":i>450?s+=\" Medium\":i>350?s+=\" Regular\":i>250?s+=\" Light\":i>150?s+=\" Extra Light\":s+=\" Thin\"):a.slice(0,2).join(\" \")===\"Open Sans\"?(s=\"Open Sans\",i>750?s+=\" Extrabold\":i>650?s+=\" Bold\":i>550?s+=\" Semibold\":i>350?s+=\" Regular\":s+=\" Light\"):a.slice(0,3).join(\" \")===\"Klokantech Noto Sans\"&&(s=\"Klokantech Noto Sans\",a[3]===\"CJK\"&&(s+=\" CJK\"),s+=i>500?\" Bold\":\" Regular\")),o&&(s+=\" Italic\"),s===\"Open Sans Regular Italic\"?s=\"Open Sans Italic\":s===\"Open Sans Regular Bold\"?s=\"Open Sans Bold\":s===\"Open Sans Regular Bold Italic\"?s=\"Open Sans Bold Italic\":s===\"Klokantech Noto Sans Regular Italic\"&&(s=\"Klokantech Noto Sans Italic\"),hHt(s)||(s=r);var l=s.split(\", \");return l}});var NUe=ye((zyr,BUe)=>{\"use strict\";var _Ht=Mr(),qUe=FUe(),bA=c1().traceLayerPrefix,rg={cluster:[\"cluster\",\"clusterCount\",\"circle\"],nonCluster:[\"fill\",\"line\",\"circle\",\"symbol\"]};function OUe(e,t,r,n){this.type=\"scattermapbox\",this.subplot=e,this.uid=t,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:\"source-\"+t+\"-fill\",line:\"source-\"+t+\"-line\",circle:\"source-\"+t+\"-circle\",symbol:\"source-\"+t+\"-symbol\",cluster:\"source-\"+t+\"-circle\",clusterCount:\"source-\"+t+\"-circle\"},this.layerIds={fill:bA+t+\"-fill\",line:bA+t+\"-line\",circle:bA+t+\"-circle\",symbol:bA+t+\"-symbol\",cluster:bA+t+\"-cluster\",clusterCount:bA+t+\"-cluster-count\"},this.below=null}var Fk=OUe.prototype;Fk.addSource=function(e,t,r){var n={type:\"geojson\",data:t.geojson};r&&r.enabled&&_Ht.extendFlat(n,{cluster:!0,clusterMaxZoom:r.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[e]);i?i.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[e],n)};Fk.setSourceData=function(e,t){this.subplot.map.getSource(this.sourceIds[e]).setData(t.geojson)};Fk.addLayer=function(e,t,r){var n={type:t.type,id:this.layerIds[e],source:this.sourceIds[e],layout:t.layout,paint:t.paint};t.filter&&(n.filter=t.filter);for(var i=this.layerIds[e],a,o=this.subplot.getMapLayers(),s=0;s<o.length;s++)if(o[s].id===i){a=!0;break}a?(this.subplot.setOptions(i,\"setLayoutProperty\",n.layout),n.layout.visibility===\"visible\"&&this.subplot.setOptions(i,\"setPaintProperty\",n.paint)):this.subplot.addLayer(n,r)};Fk.update=function(t){var r=t[0].trace,n=this.subplot,i=n.map,a=qUe(n.gd,t),o=n.belowLookup[\"trace-\"+this.uid],s=!!(r.cluster&&r.cluster.enabled),l=!!this.clusterEnabled,u=this;function c(k){k||u.addSource(\"circle\",a.circle,r.cluster);for(var A=rg.cluster,L=0;L<A.length;L++){var _=A[L],C=a[_];u.addLayer(_,C,o)}}function f(k){for(var A=rg.cluster,L=A.length-1;L>=0;L--){var _=A[L];i.removeLayer(u.layerIds[_])}k||i.removeSource(u.sourceIds.circle)}function h(k){for(var A=rg.nonCluster,L=0;L<A.length;L++){var _=A[L],C=a[_];k||u.addSource(_,C),u.addLayer(_,C,o)}}function d(k){for(var A=rg.nonCluster,L=A.length-1;L>=0;L--){var _=A[L];i.removeLayer(u.layerIds[_]),k||i.removeSource(u.sourceIds[_])}}function v(k){l?f(k):d(k)}function x(k){s?c(k):h(k)}function b(){for(var k=s?rg.cluster:rg.nonCluster,A=0;A<k.length;A++){var L=k[A],_=a[L];_&&(n.setOptions(u.layerIds[L],\"setLayoutProperty\",_.layout),_.layout.visibility===\"visible\"&&(L!==\"cluster\"&&u.setSourceData(L,_),n.setOptions(u.layerIds[L],\"setPaintProperty\",_.paint)))}}var p=this.isHidden,E=r.visible!==!0;E?p||v():p?E||x():l!==s?(v(),x()):(this.below!==o&&(v(!0),x(!0)),b()),this.clusterEnabled=s,this.isHidden=E,this.below=o,t[0].trace._glTrace=this};Fk.dispose=function(){for(var t=this.subplot.map,r=this.clusterEnabled?rg.cluster:rg.nonCluster,n=r.length-1;n>=0;n--){var i=r[n];t.removeLayer(this.layerIds[i]),t.removeSource(this.sourceIds[i])}};BUe.exports=function(t,r){var n=r[0].trace,i=n.cluster&&n.cluster.enabled,a=n.visible!==!0,o=new OUe(t,n.uid,i,a),s=qUe(t.gd,r),l=o.below=t.belowLookup[\"trace-\"+n.uid],u,c,f;if(i)for(o.addSource(\"circle\",s.circle,n.cluster),u=0;u<rg.cluster.length;u++)c=rg.cluster[u],f=s[c],o.addLayer(c,f,l);else for(u=0;u<rg.nonCluster.length;u++)c=rg.nonCluster[u],f=s[c],o.addSource(c,f,n.cluster),o.addLayer(c,f,l);return r[0].trace._glTrace=o,o}});var jF=ye((Fyr,VUe)=>{\"use strict\";var xHt=Nc(),WK=Mr(),bHt=oT(),wHt=WK.fillText,THt=es().BADNUM,AHt=c1().traceLayerPrefix;function SHt(e,t,r){var n=e.cd,i=n[0].trace,a=e.xa,o=e.ya,s=e.subplot,l=[],u=AHt+i.uid+\"-circle\",c=i.cluster&&i.cluster.enabled;if(c){var f=s.map.queryRenderedFeatures(null,{layers:[u]});l=f.map(function(M){return M.id})}var h=t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360),d=h*360,v=t-d;function x(M){var g=M.lonlat;if(g[0]===THt||c&&l.indexOf(M.i+1)===-1)return 1/0;var P=WK.modHalf(g[0],360),T=g[1],F=s.project([P,T]),q=F.x-a.c2p([v,T]),V=F.y-o.c2p([P,r]),H=Math.max(3,M.mrc||0);return Math.max(Math.sqrt(q*q+V*V)-H,1-3/H)}if(xHt.getClosest(n,x,e),e.index!==!1){var b=n[e.index],p=b.lonlat,E=[WK.modHalf(p[0],360)+d,p[1]],k=a.c2p(E),A=o.c2p(E),L=b.mrc||1;e.x0=k-L,e.x1=k+L,e.y0=A-L,e.y1=A+L;var _={};_[i.subplot]={_subplot:s};var C=i._module.formatLabels(b,i,_);return e.lonLabel=C.lonLabel,e.latLabel=C.latLabel,e.color=bHt(i,b),e.extraText=UUe(i,b,n[0].t.labels),e.hovertemplate=i.hovertemplate,[e]}}function UUe(e,t,r){if(e.hovertemplate)return;var n=t.hi||e.hoverinfo,i=n.split(\"+\"),a=i.indexOf(\"all\")!==-1,o=i.indexOf(\"lon\")!==-1,s=i.indexOf(\"lat\")!==-1,l=t.lonlat,u=[];function c(f){return f+\"\\xB0\"}return a||o&&s?u.push(\"(\"+c(l[1])+\", \"+c(l[0])+\")\"):o?u.push(r.lon+c(l[0])):s&&u.push(r.lat+c(l[1])),(a||i.indexOf(\"text\")!==-1)&&wHt(t,e,u),u.join(\"<br>\")}VUe.exports={hoverPoints:SHt,getExtraText:UUe}});var GUe=ye((qyr,HUe)=>{\"use strict\";HUe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t}});var WUe=ye((Oyr,jUe)=>{\"use strict\";var MHt=Mr(),EHt=lu(),kHt=es().BADNUM;jUe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l;if(!EHt.hasMarkers(s))return[];if(r===!1)for(l=0;l<n.length;l++)n[l].selected=0;else for(l=0;l<n.length;l++){var u=n[l],c=u.lonlat;if(c[0]!==kHt){var f=[MHt.modHalf(c[0],360),c[1]],h=[i.c2p(f),a.c2p(f)];r.contains(h,null,l,t)?(o.push({pointNumber:l,lon:c[0],lat:c[1]}),u.selected=1):u.selected=0}}return o}});var YK=ye((ZK,XK)=>{(function(e,t){typeof ZK==\"object\"&&typeof XK!=\"undefined\"?XK.exports=t():(e=e||self,e.mapboxgl=t())})(ZK,function(){\"use strict\";var e,t,r;function n(i,a){if(!e)e=a;else if(!t)t=a;else{var o=\"var sharedChunk = {}; (\"+e+\")(sharedChunk); (\"+t+\")(sharedChunk);\",s={};e(s),r=a(s),typeof window!=\"undefined\"&&(r.workerUrl=window.URL.createObjectURL(new Blob([o],{type:\"text/javascript\"})))}}return n([\"exports\"],function(i){\"use strict\";function a(m,y){return y={exports:{}},m(y,y.exports),y.exports}var o=\"1.13.4\",s=l;function l(m,y,I,U){this.cx=3*m,this.bx=3*(I-m)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*y,this.by=3*(U-y)-this.cy,this.ay=1-this.cy-this.by,this.p1x=m,this.p1y=U,this.p2x=I,this.p2y=U}l.prototype.sampleCurveX=function(m){return((this.ax*m+this.bx)*m+this.cx)*m},l.prototype.sampleCurveY=function(m){return((this.ay*m+this.by)*m+this.cy)*m},l.prototype.sampleCurveDerivativeX=function(m){return(3*this.ax*m+2*this.bx)*m+this.cx},l.prototype.solveCurveX=function(m,y){typeof y==\"undefined\"&&(y=1e-6);var I,U,J,ne,fe;for(J=m,fe=0;fe<8;fe++){if(ne=this.sampleCurveX(J)-m,Math.abs(ne)<y)return J;var Fe=this.sampleCurveDerivativeX(J);if(Math.abs(Fe)<1e-6)break;J=J-ne/Fe}if(I=0,U=1,J=m,J<I)return I;if(J>U)return U;for(;I<U;){if(ne=this.sampleCurveX(J),Math.abs(ne-m)<y)return J;m>ne?I=J:U=J,J=(U-I)*.5+I}return J},l.prototype.solve=function(m,y){return this.sampleCurveY(this.solveCurveX(m,y))};var u=c;function c(m,y){this.x=m,this.y=y}c.prototype={clone:function(){return new c(this.x,this.y)},add:function(m){return this.clone()._add(m)},sub:function(m){return this.clone()._sub(m)},multByPoint:function(m){return this.clone()._multByPoint(m)},divByPoint:function(m){return this.clone()._divByPoint(m)},mult:function(m){return this.clone()._mult(m)},div:function(m){return this.clone()._div(m)},rotate:function(m){return this.clone()._rotate(m)},rotateAround:function(m,y){return this.clone()._rotateAround(m,y)},matMult:function(m){return this.clone()._matMult(m)},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(m){return this.x===m.x&&this.y===m.y},dist:function(m){return Math.sqrt(this.distSqr(m))},distSqr:function(m){var y=m.x-this.x,I=m.y-this.y;return y*y+I*I},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(m){return Math.atan2(this.y-m.y,this.x-m.x)},angleWith:function(m){return this.angleWithSep(m.x,m.y)},angleWithSep:function(m,y){return Math.atan2(this.x*y-this.y*m,this.x*m+this.y*y)},_matMult:function(m){var y=m[0]*this.x+m[1]*this.y,I=m[2]*this.x+m[3]*this.y;return this.x=y,this.y=I,this},_add:function(m){return this.x+=m.x,this.y+=m.y,this},_sub:function(m){return this.x-=m.x,this.y-=m.y,this},_mult:function(m){return this.x*=m,this.y*=m,this},_div:function(m){return this.x/=m,this.y/=m,this},_multByPoint:function(m){return this.x*=m.x,this.y*=m.y,this},_divByPoint:function(m){return this.x/=m.x,this.y/=m.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var m=this.y;return this.y=this.x,this.x=-m,this},_rotate:function(m){var y=Math.cos(m),I=Math.sin(m),U=y*this.x-I*this.y,J=I*this.x+y*this.y;return this.x=U,this.y=J,this},_rotateAround:function(m,y){var I=Math.cos(m),U=Math.sin(m),J=y.x+I*(this.x-y.x)-U*(this.y-y.y),ne=y.y+U*(this.x-y.x)+I*(this.y-y.y);return this.x=J,this.y=ne,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},c.convert=function(m){return m instanceof c?m:Array.isArray(m)?new c(m[0],m[1]):m};var f=typeof self!=\"undefined\"?self:{};function h(m,y){if(Array.isArray(m)){if(!Array.isArray(y)||m.length!==y.length)return!1;for(var I=0;I<m.length;I++)if(!h(m[I],y[I]))return!1;return!0}if(typeof m==\"object\"&&m!==null&&y!==null){if(typeof y!=\"object\")return!1;var U=Object.keys(m);if(U.length!==Object.keys(y).length)return!1;for(var J in m)if(!h(m[J],y[J]))return!1;return!0}return m===y}var d=Math.pow(2,53)-1;function v(m){if(m<=0)return 0;if(m>=1)return 1;var y=m*m,I=y*m;return 4*(m<.5?I:3*(m-y)+I-.75)}function x(m,y,I,U){var J=new s(m,y,I,U);return function(ne){return J.solve(ne)}}var b=x(.25,.1,.25,1);function p(m,y,I){return Math.min(I,Math.max(y,m))}function E(m,y,I){var U=I-y,J=((m-y)%U+U)%U+y;return J===y?I:J}function k(m,y,I){if(!m.length)return I(null,[]);var U=m.length,J=new Array(m.length),ne=null;m.forEach(function(fe,Fe){y(fe,function(Qe,st){Qe&&(ne=Qe),J[Fe]=st,--U===0&&I(ne,J)})})}function A(m){var y=[];for(var I in m)y.push(m[I]);return y}function L(m,y){var I=[];for(var U in m)U in y||I.push(U);return I}function _(m){for(var y=[],I=arguments.length-1;I-- >0;)y[I]=arguments[I+1];for(var U=0,J=y;U<J.length;U+=1){var ne=J[U];for(var fe in ne)m[fe]=ne[fe]}return m}function C(m,y){for(var I={},U=0;U<y.length;U++){var J=y[U];J in m&&(I[J]=m[J])}return I}var M=1;function g(){return M++}function P(){function m(y){return y?(y^Math.random()*16>>y/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,m)}return m()}function T(m){return m<=1?1:Math.pow(2,Math.ceil(Math.log(m)/Math.LN2))}function F(m){return m?/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(m):!1}function q(m,y){m.forEach(function(I){y[I]&&(y[I]=y[I].bind(y))})}function V(m,y){return m.indexOf(y,m.length-y.length)!==-1}function H(m,y,I){var U={};for(var J in m)U[J]=y.call(I||this,m[J],J,m);return U}function X(m,y,I){var U={};for(var J in m)y.call(I||this,m[J],J,m)&&(U[J]=m[J]);return U}function G(m){return Array.isArray(m)?m.map(G):typeof m==\"object\"&&m?H(m,G):m}function N(m,y){for(var I=0;I<m.length;I++)if(y.indexOf(m[I])>=0)return!0;return!1}var W={};function re(m){W[m]||(typeof console!=\"undefined\"&&console.warn(m),W[m]=!0)}function ae(m,y,I){return(I.y-m.y)*(y.x-m.x)>(y.y-m.y)*(I.x-m.x)}function _e(m){for(var y=0,I=0,U=m.length,J=U-1,ne=void 0,fe=void 0;I<U;J=I++)ne=m[I],fe=m[J],y+=(fe.x-ne.x)*(ne.y+fe.y);return y}function Me(m){var y=m[0],I=m[1],U=m[2];return I+=90,I*=Math.PI/180,U*=Math.PI/180,{x:y*Math.cos(I)*Math.sin(U),y:y*Math.sin(I)*Math.sin(U),z:y*Math.cos(U)}}function ke(){return typeof WorkerGlobalScope!=\"undefined\"&&typeof self!=\"undefined\"&&self instanceof WorkerGlobalScope}function ge(m){var y=/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,I={};if(m.replace(y,function(J,ne,fe,Fe){var Qe=fe||Fe;return I[ne]=Qe?Qe.toLowerCase():!0,\"\"}),I[\"max-age\"]){var U=parseInt(I[\"max-age\"],10);isNaN(U)?delete I[\"max-age\"]:I[\"max-age\"]=U}return I}var ie=null;function Te(m){if(ie==null){var y=m.navigator?m.navigator.userAgent:null;ie=!!m.safari||!!(y&&(/\\b(iPad|iPhone|iPod)\\b/.test(y)||y.match(\"Safari\")&&!y.match(\"Chrome\")))}return ie}function Ee(m){try{var y=f[m];return y.setItem(\"_mapbox_test_\",1),y.removeItem(\"_mapbox_test_\"),!0}catch(I){return!1}}function Ae(m){return f.btoa(encodeURIComponent(m).replace(/%([0-9A-F]{2})/g,function(y,I){return String.fromCharCode(+(\"0x\"+I))}))}function ze(m){return decodeURIComponent(f.atob(m).split(\"\").map(function(y){return\"%\"+(\"00\"+y.charCodeAt(0).toString(16)).slice(-2)}).join(\"\"))}var Ce=f.performance&&f.performance.now?f.performance.now.bind(f.performance):Date.now.bind(Date),me=f.requestAnimationFrame||f.mozRequestAnimationFrame||f.webkitRequestAnimationFrame||f.msRequestAnimationFrame,Re=f.cancelAnimationFrame||f.mozCancelAnimationFrame||f.webkitCancelAnimationFrame||f.msCancelAnimationFrame,ce,Ge,nt={now:Ce,frame:function(y){var I=me(y);return{cancel:function(){return Re(I)}}},getImageData:function(y,I){I===void 0&&(I=0);var U=f.document.createElement(\"canvas\"),J=U.getContext(\"2d\");if(!J)throw new Error(\"failed to create canvas 2d context\");return U.width=y.width,U.height=y.height,J.drawImage(y,0,0,y.width,y.height),J.getImageData(-I,-I,y.width+2*I,y.height+2*I)},resolveURL:function(y){return ce||(ce=f.document.createElement(\"a\")),ce.href=y,ce.href},hardwareConcurrency:f.navigator&&f.navigator.hardwareConcurrency||4,get devicePixelRatio(){return f.devicePixelRatio},get prefersReducedMotion(){return f.matchMedia?(Ge==null&&(Ge=f.matchMedia(\"(prefers-reduced-motion: reduce)\")),Ge.matches):!1}},ct={API_URL:\"https://api.mapbox.com\",get EVENTS_URL(){return this.API_URL?this.API_URL.indexOf(\"https://api.mapbox.cn\")===0?\"https://events.mapbox.cn/events/v2\":this.API_URL.indexOf(\"https://api.mapbox.com\")===0?\"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},qt={supported:!1,testSupport:Ct},rt,ot=!1,Rt,kt=!1;f.document&&(Rt=f.document.createElement(\"img\"),Rt.onload=function(){rt&&Yt(rt),rt=null,kt=!0},Rt.onerror=function(){ot=!0,rt=null},Rt.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\");function Ct(m){ot||!Rt||(kt?Yt(m):rt=m)}function Yt(m){var y=m.createTexture();m.bindTexture(m.TEXTURE_2D,y);try{if(m.texImage2D(m.TEXTURE_2D,0,m.RGBA,m.RGBA,m.UNSIGNED_BYTE,Rt),m.isContextLost())return;qt.supported=!0}catch(I){}m.deleteTexture(y),ot=!0}var xr=\"01\";function er(){for(var m=\"1\",y=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\",I=\"\",U=0;U<10;U++)I+=y[Math.floor(Math.random()*62)];var J=12*60*60*1e3,ne=[m,xr,I].join(\"\"),fe=Date.now()+J;return{token:ne,tokenExpiresAt:fe}}var Ke=function(y,I){this._transformRequestFn=y,this._customAccessToken=I,this._createSkuToken()};Ke.prototype._createSkuToken=function(){var y=er();this._skuToken=y.token,this._skuTokenExpiresAt=y.tokenExpiresAt},Ke.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},Ke.prototype.transformRequest=function(y,I){return this._transformRequestFn?this._transformRequestFn(y,I)||{url:y}:{url:y}},Ke.prototype.normalizeStyleURL=function(y,I){if(!xt(y))return y;var U=Ht(y);return U.path=\"/styles/v1\"+U.path,this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeGlyphsURL=function(y,I){if(!xt(y))return y;var U=Ht(y);return U.path=\"/fonts/v1\"+U.path,this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeSourceURL=function(y,I){if(!xt(y))return y;var U=Ht(y);return U.path=\"/v4/\"+U.authority+\".json\",U.params.push(\"secure\"),this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeSpriteURL=function(y,I,U,J){var ne=Ht(y);return xt(y)?(ne.path=\"/styles/v1\"+ne.path+\"/sprite\"+I+U,this._makeAPIURL(ne,this._customAccessToken||J)):(ne.path+=\"\"+I+U,$t(ne))},Ke.prototype.normalizeTileURL=function(y,I){if(this._isSkuTokenExpired()&&this._createSkuToken(),y&&!xt(y))return y;var U=Ht(y),J=/(\\.(png|jpg)\\d*)(?=$)/,ne=/^.+\\/v4\\//,fe=nt.devicePixelRatio>=2||I===512?\"@2x\":\"\",Fe=qt.supported?\".webp\":\"$1\";U.path=U.path.replace(J,\"\"+fe+Fe),U.path=U.path.replace(ne,\"/\"),U.path=\"/v4\"+U.path;var Qe=this._customAccessToken||Et(U.params)||ct.ACCESS_TOKEN;return ct.REQUIRE_ACCESS_TOKEN&&Qe&&this._skuToken&&U.params.push(\"sku=\"+this._skuToken),this._makeAPIURL(U,Qe)},Ke.prototype.canonicalizeTileURL=function(y,I){var U=\"/v4/\",J=/\\.[\\w]+$/,ne=Ht(y);if(!ne.path.match(/(^\\/v4\\/)/)||!ne.path.match(J))return y;var fe=\"mapbox://tiles/\";fe+=ne.path.replace(U,\"\");var Fe=ne.params;return I&&(Fe=Fe.filter(function(Qe){return!Qe.match(/^access_token=/)})),Fe.length&&(fe+=\"?\"+Fe.join(\"&\")),fe},Ke.prototype.canonicalizeTileset=function(y,I){for(var U=I?xt(I):!1,J=[],ne=0,fe=y.tiles||[];ne<fe.length;ne+=1){var Fe=fe[ne];Lt(Fe)?J.push(this.canonicalizeTileURL(Fe,U)):J.push(Fe)}return J},Ke.prototype._makeAPIURL=function(y,I){var U=\"See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\",J=Ht(ct.API_URL);if(y.protocol=J.protocol,y.authority=J.authority,y.protocol===\"http\"){var ne=y.params.indexOf(\"secure\");ne>=0&&y.params.splice(ne,1)}if(J.path!==\"/\"&&(y.path=\"\"+J.path+y.path),!ct.REQUIRE_ACCESS_TOKEN)return $t(y);if(I=I||ct.ACCESS_TOKEN,!I)throw new Error(\"An API access token is required to use Mapbox GL. \"+U);if(I[0]===\"s\")throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+U);return y.params=y.params.filter(function(fe){return fe.indexOf(\"access_token\")===-1}),y.params.push(\"access_token=\"+I),$t(y)};function xt(m){return m.indexOf(\"mapbox:\")===0}var bt=/^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/|\\?|$)/i;function Lt(m){return bt.test(m)}function St(m){return m.indexOf(\"sku=\")>0&&Lt(m)}function Et(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y],J=U.match(/^access_token=(.*)$/);if(J)return J[1]}return null}var dt=/^(\\w+):\\/\\/([^/?]*)(\\/[^?]+)?\\??(.+)?/;function Ht(m){var y=m.match(dt);if(!y)throw new Error(\"Unable to parse URL object\");return{protocol:y[1],authority:y[2],path:y[3]||\"/\",params:y[4]?y[4].split(\"&\"):[]}}function $t(m){var y=m.params.length?\"?\"+m.params.join(\"&\"):\"\";return m.protocol+\"://\"+m.authority+m.path+y}var fr=\"mapbox.eventData\";function _r(m){if(!m)return null;var y=m.split(\".\");if(!y||y.length!==3)return null;try{var I=JSON.parse(ze(y[1]));return I}catch(U){return null}}var Br=function(y){this.type=y,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};Br.prototype.getStorageKey=function(y){var I=_r(ct.ACCESS_TOKEN),U=\"\";return I&&I.u?U=Ae(I.u):U=ct.ACCESS_TOKEN||\"\",y?fr+\".\"+y+\":\"+U:fr+\":\"+U},Br.prototype.fetchEventData=function(){var y=Ee(\"localStorage\"),I=this.getStorageKey(),U=this.getStorageKey(\"uuid\");if(y)try{var J=f.localStorage.getItem(I);J&&(this.eventData=JSON.parse(J));var ne=f.localStorage.getItem(U);ne&&(this.anonId=ne)}catch(fe){re(\"Unable to read from LocalStorage\")}},Br.prototype.saveEventData=function(){var y=Ee(\"localStorage\"),I=this.getStorageKey(),U=this.getStorageKey(\"uuid\");if(y)try{f.localStorage.setItem(U,this.anonId),Object.keys(this.eventData).length>=1&&f.localStorage.setItem(I,JSON.stringify(this.eventData))}catch(J){re(\"Unable to write to LocalStorage\")}},Br.prototype.processRequests=function(y){},Br.prototype.postEvent=function(y,I,U,J){var ne=this;if(ct.EVENTS_URL){var fe=Ht(ct.EVENTS_URL);fe.params.push(\"access_token=\"+(J||ct.ACCESS_TOKEN||\"\"));var Fe={event:this.type,created:new Date(y).toISOString(),sdkIdentifier:\"mapbox-gl-js\",sdkVersion:o,skuId:xr,userId:this.anonId},Qe=I?_(Fe,I):Fe,st={url:$t(fe),headers:{\"Content-Type\":\"text/plain\"},body:JSON.stringify([Qe])};this.pendingRequest=Vr(st,function(mt){ne.pendingRequest=null,U(mt),ne.saveEventData(),ne.processRequests(J)})}},Br.prototype.queueRequest=function(y,I){this.queue.push(y),this.processRequests(I)};var Or=function(m){function y(){m.call(this,\"map.load\"),this.success={},this.skuToken=\"\"}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.postMapLoadEvent=function(U,J,ne,fe){this.skuToken=ne,(ct.EVENTS_URL&&fe||ct.ACCESS_TOKEN&&Array.isArray(U)&&U.some(function(Fe){return xt(Fe)||Lt(Fe)}))&&this.queueRequest({id:J,timestamp:Date.now()},fe)},y.prototype.processRequests=function(U){var J=this;if(!(this.pendingRequest||this.queue.length===0)){var ne=this.queue.shift(),fe=ne.id,Fe=ne.timestamp;fe&&this.success[fe]||(this.anonId||this.fetchEventData(),F(this.anonId)||(this.anonId=P()),this.postEvent(Fe,{skuToken:this.skuToken},function(Qe){Qe||fe&&(J.success[fe]=!0)},U))}},y}(Br),Nr=function(m){function y(I){m.call(this,\"appUserTurnstile\"),this._customAccessToken=I}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.postTurnstileEvent=function(U,J){ct.EVENTS_URL&&ct.ACCESS_TOKEN&&Array.isArray(U)&&U.some(function(ne){return xt(ne)||Lt(ne)})&&this.queueRequest(Date.now(),J)},y.prototype.processRequests=function(U){var J=this;if(!(this.pendingRequest||this.queue.length===0)){(!this.anonId||!this.eventData.lastSuccess||!this.eventData.tokenU)&&this.fetchEventData();var ne=_r(ct.ACCESS_TOKEN),fe=ne?ne.u:ct.ACCESS_TOKEN,Fe=fe!==this.eventData.tokenU;F(this.anonId)||(this.anonId=P(),Fe=!0);var Qe=this.queue.shift();if(this.eventData.lastSuccess){var st=new Date(this.eventData.lastSuccess),mt=new Date(Qe),Xt=(Qe-this.eventData.lastSuccess)/(24*60*60*1e3);Fe=Fe||Xt>=1||Xt<-1||st.getDate()!==mt.getDate()}else Fe=!0;if(!Fe)return this.processRequests();this.postEvent(Qe,{\"enabled.telemetry\":!1},function(ur){ur||(J.eventData.lastSuccess=Qe,J.eventData.tokenU=fe)},U)}},y}(Br),ut=new Nr,Ne=ut.postTurnstileEvent.bind(ut),Ye=new Or,Ve=Ye.postMapLoadEvent.bind(Ye),Xe=\"mapbox-tiles\",ht=500,Le=50,xe=1e3*60*7,Se;function lt(){f.caches&&!Se&&(Se=f.caches.open(Xe))}var Gt;function Vt(m,y){if(Gt===void 0)try{new Response(new ReadableStream),Gt=!0}catch(I){Gt=!1}Gt?y(m.body):m.blob().then(y)}function ar(m,y,I){if(lt(),!!Se){var U={status:y.status,statusText:y.statusText,headers:new f.Headers};y.headers.forEach(function(fe,Fe){return U.headers.set(Fe,fe)});var J=ge(y.headers.get(\"Cache-Control\")||\"\");if(!J[\"no-store\"]){J[\"max-age\"]&&U.headers.set(\"Expires\",new Date(I+J[\"max-age\"]*1e3).toUTCString());var ne=new Date(U.headers.get(\"Expires\")).getTime()-I;ne<xe||Vt(y,function(fe){var Fe=new f.Response(fe,U);lt(),Se&&Se.then(function(Qe){return Qe.put(Qr(m.url),Fe)}).catch(function(Qe){return re(Qe.message)})})}}}function Qr(m){var y=m.indexOf(\"?\");return y<0?m:m.slice(0,y)}function ai(m,y){if(lt(),!Se)return y(null);var I=Qr(m.url);Se.then(function(U){U.match(I).then(function(J){var ne=jr(J);U.delete(I),ne&&U.put(I,J.clone()),y(null,J,ne)}).catch(y)}).catch(y)}function jr(m){if(!m)return!1;var y=new Date(m.headers.get(\"Expires\")||0),I=ge(m.headers.get(\"Cache-Control\")||\"\");return y>Date.now()&&!I[\"no-cache\"]}var ri=1/0;function bi(m){ri++,ri>Le&&(m.getActor().send(\"enforceCacheSizeLimit\",ht),ri=0)}function nn(m){lt(),Se&&Se.then(function(y){y.keys().then(function(I){for(var U=0;U<I.length-m;U++)y.delete(I[U])})})}function Wi(m){var y=f.caches.delete(Xe);m&&y.catch(m).then(function(){return m()})}function Ni(m,y){ht=m,Le=y}var _n;function $i(){return _n==null&&(_n=f.OffscreenCanvas&&new f.OffscreenCanvas(1,1).getContext(\"2d\")&&typeof f.createImageBitmap==\"function\"),_n}var zn={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};typeof Object.freeze==\"function\"&&Object.freeze(zn);var Wn=function(m){function y(I,U,J){U===401&&Lt(J)&&(I+=\": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\"),m.call(this,I),this.status=U,this.url=J,this.name=this.constructor.name,this.message=I}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.toString=function(){return this.name+\": \"+this.message+\" (\"+this.status+\"): \"+this.url},y}(Error),It=ke()?function(){return self.worker&&self.worker.referrer}:function(){return(f.location.protocol===\"blob:\"?f.parent:f).location.href},ft=function(m){return/^file:/.test(m)||/^file:/.test(It())&&!/^\\w+:/.test(m)};function jt(m,y){var I=new f.AbortController,U=new f.Request(m.url,{method:m.method||\"GET\",body:m.body,credentials:m.credentials,headers:m.headers,referrer:It(),signal:I.signal}),J=!1,ne=!1,fe=St(U.url);m.type===\"json\"&&U.headers.set(\"Accept\",\"application/json\");var Fe=function(st,mt,Xt){if(!ne){if(st&&st.message!==\"SecurityError\"&&re(st),mt&&Xt)return Qe(mt);var ur=Date.now();f.fetch(U).then(function(nr){if(nr.ok){var Lr=fe?nr.clone():null;return Qe(nr,Lr,ur)}else return y(new Wn(nr.statusText,nr.status,m.url))}).catch(function(nr){nr.code!==20&&y(new Error(nr.message))})}},Qe=function(st,mt,Xt){(m.type===\"arrayBuffer\"?st.arrayBuffer():m.type===\"json\"?st.json():st.text()).then(function(ur){ne||(mt&&Xt&&ar(U,mt,Xt),J=!0,y(null,ur,st.headers.get(\"Cache-Control\"),st.headers.get(\"Expires\")))}).catch(function(ur){ne||y(new Error(ur.message))})};return fe?ai(U,Fe):Fe(null,null),{cancel:function(){ne=!0,J||I.abort()}}}function Zt(m,y){var I=new f.XMLHttpRequest;I.open(m.method||\"GET\",m.url,!0),m.type===\"arrayBuffer\"&&(I.responseType=\"arraybuffer\");for(var U in m.headers)I.setRequestHeader(U,m.headers[U]);return m.type===\"json\"&&(I.responseType=\"text\",I.setRequestHeader(\"Accept\",\"application/json\")),I.withCredentials=m.credentials===\"include\",I.onerror=function(){y(new Error(I.statusText))},I.onload=function(){if((I.status>=200&&I.status<300||I.status===0)&&I.response!==null){var J=I.response;if(m.type===\"json\")try{J=JSON.parse(I.response)}catch(ne){return y(ne)}y(null,J,I.getResponseHeader(\"Cache-Control\"),I.getResponseHeader(\"Expires\"))}else y(new Wn(I.statusText,I.status,m.url))},I.send(m.body),{cancel:function(){return I.abort()}}}var yr=function(m,y){if(!ft(m.url)){if(f.fetch&&f.Request&&f.AbortController&&f.Request.prototype.hasOwnProperty(\"signal\"))return jt(m,y);if(ke()&&self.worker&&self.worker.actor){var I=!0;return self.worker.actor.send(\"getResource\",m,y,void 0,I)}}return Zt(m,y)},Fr=function(m,y){return yr(_(m,{type:\"json\"}),y)},Zr=function(m,y){return yr(_(m,{type:\"arrayBuffer\"}),y)},Vr=function(m,y){return yr(_(m,{method:\"POST\"}),y)};function gi(m){var y=f.document.createElement(\"a\");return y.href=m,y.protocol===f.document.location.protocol&&y.host===f.document.location.host}var Si=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";function Mi(m,y,I,U){var J=new f.Image,ne=f.URL;J.onload=function(){y(null,J),ne.revokeObjectURL(J.src),J.onload=null,f.requestAnimationFrame(function(){J.src=Si})},J.onerror=function(){return y(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))};var fe=new f.Blob([new Uint8Array(m)],{type:\"image/png\"});J.cacheControl=I,J.expires=U,J.src=m.byteLength?ne.createObjectURL(fe):Si}function Pi(m,y){var I=new f.Blob([new Uint8Array(m)],{type:\"image/png\"});f.createImageBitmap(I).then(function(U){y(null,U)}).catch(function(U){y(new Error(\"Could not load image because of \"+U.message+\". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))})}var Gi,Ki,ka=function(){Gi=[],Ki=0};ka();var jn=function(m,y){if(qt.supported&&(m.headers||(m.headers={}),m.headers.accept=\"image/webp,*/*\"),Ki>=ct.MAX_PARALLEL_IMAGE_REQUESTS){var I={requestParameters:m,callback:y,cancelled:!1,cancel:function(){this.cancelled=!0}};return Gi.push(I),I}Ki++;var U=!1,J=function(){if(!U)for(U=!0,Ki--;Gi.length&&Ki<ct.MAX_PARALLEL_IMAGE_REQUESTS;){var fe=Gi.shift(),Fe=fe.requestParameters,Qe=fe.callback,st=fe.cancelled;st||(fe.cancel=jn(Fe,Qe).cancel)}},ne=Zr(m,function(fe,Fe,Qe,st){J(),fe?y(fe):Fe&&($i()?Pi(Fe,y):Mi(Fe,y,Qe,st))});return{cancel:function(){ne.cancel(),J()}}},la=function(m,y){var I=f.document.createElement(\"video\");I.muted=!0,I.onloadstart=function(){y(null,I)};for(var U=0;U<m.length;U++){var J=f.document.createElement(\"source\");gi(m[U])||(I.crossOrigin=\"Anonymous\"),J.src=m[U],I.appendChild(J)}return{cancel:function(){}}};function Fa(m,y,I){var U=I[m]&&I[m].indexOf(y)!==-1;U||(I[m]=I[m]||[],I[m].push(y))}function Ra(m,y,I){if(I&&I[m]){var U=I[m].indexOf(y);U!==-1&&I[m].splice(U,1)}}var jo=function(y,I){I===void 0&&(I={}),_(this,I),this.type=y},oa=function(m){function y(I,U){U===void 0&&(U={}),m.call(this,\"error\",_({error:I},U))}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(jo),Sn=function(){};Sn.prototype.on=function(y,I){return this._listeners=this._listeners||{},Fa(y,I,this._listeners),this},Sn.prototype.off=function(y,I){return Ra(y,I,this._listeners),Ra(y,I,this._oneTimeListeners),this},Sn.prototype.once=function(y,I){return this._oneTimeListeners=this._oneTimeListeners||{},Fa(y,I,this._oneTimeListeners),this},Sn.prototype.fire=function(y,I){typeof y==\"string\"&&(y=new jo(y,I||{}));var U=y.type;if(this.listens(U)){y.target=this;for(var J=this._listeners&&this._listeners[U]?this._listeners[U].slice():[],ne=0,fe=J;ne<fe.length;ne+=1){var Fe=fe[ne];Fe.call(this,y)}for(var Qe=this._oneTimeListeners&&this._oneTimeListeners[U]?this._oneTimeListeners[U].slice():[],st=0,mt=Qe;st<mt.length;st+=1){var Xt=mt[st];Ra(U,Xt,this._oneTimeListeners),Xt.call(this,y)}var ur=this._eventedParent;ur&&(_(y,typeof this._eventedParentData==\"function\"?this._eventedParentData():this._eventedParentData),ur.fire(y))}else y instanceof oa&&console.error(y.error);return this},Sn.prototype.listens=function(y){return this._listeners&&this._listeners[y]&&this._listeners[y].length>0||this._oneTimeListeners&&this._oneTimeListeners[y]&&this._oneTimeListeners[y].length>0||this._eventedParent&&this._eventedParent.listens(y)},Sn.prototype.setEventedParent=function(y,I){return this._eventedParent=y,this._eventedParentData=I,this};var Ha=8,oo={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\"}},xn={\"*\":{type:\"source\"}},_t=[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],br={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:\"*\"}},Hr={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:\"*\"}},ti={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:\"*\"}},zi={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\"}},Yi={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\"}}},an={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\"}}},hi={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\"}},Ji=[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],ua={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},Fn={\"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\"}},Sa={\"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\"}},go={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},Oo={\"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\"}},ho={\"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\"}},Mo={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},xo={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},zs={type:\"array\",value:\"*\"},ks={type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{},within:{}}},Zs={type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},Xs={type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},wl={type:\"array\",value:\"*\",minimum:1},os={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}},cl=[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],Cs={\"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\"}},ml={\"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\"}},Ys={\"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\"}},Hs={\"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\"}},Eo={\"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\"}},fs={\"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\"}},Ql={\"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\"}},Hu={\"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\"}},fc={duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},ms={\"*\":{type:\"string\"}},on={$version:Ha,$root:oo,sources:xn,source:_t,source_vector:br,source_raster:Hr,source_raster_dem:ti,source_geojson:zi,source_video:Yi,source_image:an,layer:hi,layout:Ji,layout_background:ua,layout_fill:Fn,layout_circle:Sa,layout_heatmap:go,\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:Oo,layout_symbol:ho,layout_raster:Mo,layout_hillshade:xo,filter:zs,filter_operator:ks,geometry_type:Zs,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:Xs,expression:wl,light:os,paint:cl,paint_fill:Cs,\"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:ml,paint_circle:Ys,paint_heatmap:Hs,paint_symbol:Eo,paint_raster:fs,paint_hillshade:Ql,paint_background:Hu,transition:fc,\"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:ms},fa=function(y,I,U,J){this.message=(y?y+\": \":\"\")+U,J&&(this.identifier=J),I!=null&&I.__line__&&(this.line=I.__line__)};function Qu(m){var y=m.key,I=m.value;return I?[new fa(y,I,\"constants have been deprecated as of v8\")]:[]}function Rl(m){for(var y=[],I=arguments.length-1;I-- >0;)y[I]=arguments[I+1];for(var U=0,J=y;U<J.length;U+=1){var ne=J[U];for(var fe in ne)m[fe]=ne[fe]}return m}function vo(m){return m instanceof Number||m instanceof String||m instanceof Boolean?m.valueOf():m}function Zl(m){if(Array.isArray(m))return m.map(Zl);if(m instanceof Object&&!(m instanceof Number||m instanceof String||m instanceof Boolean)){var y={};for(var I in m)y[I]=Zl(m[I]);return y}return vo(m)}var Ks=function(m){function y(I,U){m.call(this,U),this.message=U,this.key=I}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(Error),Xl=function(y,I){I===void 0&&(I=[]),this.parent=y,this.bindings={};for(var U=0,J=I;U<J.length;U+=1){var ne=J[U],fe=ne[0],Fe=ne[1];this.bindings[fe]=Fe}};Xl.prototype.concat=function(y){return new Xl(this,y)},Xl.prototype.get=function(y){if(this.bindings[y])return this.bindings[y];if(this.parent)return this.parent.get(y);throw new Error(y+\" not found in scope.\")},Xl.prototype.has=function(y){return this.bindings[y]?!0:this.parent?this.parent.has(y):!1};var Ec={kind:\"null\"},Zn={kind:\"number\"},ko={kind:\"string\"},Co={kind:\"boolean\"},Tl={kind:\"color\"},uf={kind:\"object\"},So={kind:\"value\"},cf={kind:\"error\"},rh={kind:\"collator\"},Al={kind:\"formatted\"},Hc={kind:\"resolvedImage\"};function eu(m,y){return{kind:\"array\",itemType:m,N:y}}function Ls(m){if(m.kind===\"array\"){var y=Ls(m.itemType);return typeof m.N==\"number\"?\"array<\"+y+\", \"+m.N+\">\":m.itemType.kind===\"value\"?\"array\":\"array<\"+y+\">\"}else return m.kind}var mu=[Ec,Zn,ko,Co,Tl,Al,uf,eu(So),Hc];function kc(m,y){if(y.kind===\"error\")return null;if(m.kind===\"array\"){if(y.kind===\"array\"&&(y.N===0&&y.itemType.kind===\"value\"||!kc(m.itemType,y.itemType))&&(typeof m.N!=\"number\"||m.N===y.N))return null}else{if(m.kind===y.kind)return null;if(m.kind===\"value\")for(var I=0,U=mu;I<U.length;I+=1){var J=U[I];if(!kc(J,y))return null}}return\"Expected \"+Ls(m)+\" but found \"+Ls(y)+\" instead.\"}function Of(m,y){return y.some(function(I){return I.kind===m.kind})}function Gc(m,y){return y.some(function(I){return I===\"null\"?m===null:I===\"array\"?Array.isArray(m):I===\"object\"?m&&!Array.isArray(m)&&typeof m==\"object\":I===typeof m})}var vd=a(function(m,y){var I={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function U(st){return st=Math.round(st),st<0?0:st>255?255:st}function J(st){return st<0?0:st>1?1:st}function ne(st){return st[st.length-1]===\"%\"?U(parseFloat(st)/100*255):U(parseInt(st))}function fe(st){return st[st.length-1]===\"%\"?J(parseFloat(st)/100):J(parseFloat(st))}function Fe(st,mt,Xt){return Xt<0?Xt+=1:Xt>1&&(Xt-=1),Xt*6<1?st+(mt-st)*Xt*6:Xt*2<1?mt:Xt*3<2?st+(mt-st)*(2/3-Xt)*6:st}function Qe(st){var mt=st.replace(/ /g,\"\").toLowerCase();if(mt in I)return I[mt].slice();if(mt[0]===\"#\"){if(mt.length===4){var Xt=parseInt(mt.substr(1),16);return Xt>=0&&Xt<=4095?[(Xt&3840)>>4|(Xt&3840)>>8,Xt&240|(Xt&240)>>4,Xt&15|(Xt&15)<<4,1]:null}else if(mt.length===7){var Xt=parseInt(mt.substr(1),16);return Xt>=0&&Xt<=16777215?[(Xt&16711680)>>16,(Xt&65280)>>8,Xt&255,1]:null}return null}var ur=mt.indexOf(\"(\"),nr=mt.indexOf(\")\");if(ur!==-1&&nr+1===mt.length){var Lr=mt.substr(0,ur),Yr=mt.substr(ur+1,nr-(ur+1)).split(\",\"),_i=1;switch(Lr){case\"rgba\":if(Yr.length!==4)return null;_i=fe(Yr.pop());case\"rgb\":return Yr.length!==3?null:[ne(Yr[0]),ne(Yr[1]),ne(Yr[2]),_i];case\"hsla\":if(Yr.length!==4)return null;_i=fe(Yr.pop());case\"hsl\":if(Yr.length!==3)return null;var si=(parseFloat(Yr[0])%360+360)%360/360,Hi=fe(Yr[1]),Ei=fe(Yr[2]),Vi=Ei<=.5?Ei*(Hi+1):Ei+Hi-Ei*Hi,en=Ei*2-Vi;return[U(Fe(en,Vi,si+1/3)*255),U(Fe(en,Vi,si)*255),U(Fe(en,Vi,si-1/3)*255),_i];default:return null}}return null}try{y.parseCSSColor=Qe}catch(st){}}),Bf=vd.parseCSSColor,ss=function(y,I,U,J){J===void 0&&(J=1),this.r=y,this.g=I,this.b=U,this.a=J};ss.parse=function(y){if(y){if(y instanceof ss)return y;if(typeof y==\"string\"){var I=Bf(y);if(I)return new ss(I[0]/255*I[3],I[1]/255*I[3],I[2]/255*I[3],I[3])}}},ss.prototype.toString=function(){var y=this.toArray(),I=y[0],U=y[1],J=y[2],ne=y[3];return\"rgba(\"+Math.round(I)+\",\"+Math.round(U)+\",\"+Math.round(J)+\",\"+ne+\")\"},ss.prototype.toArray=function(){var y=this,I=y.r,U=y.g,J=y.b,ne=y.a;return ne===0?[0,0,0,0]:[I*255/ne,U*255/ne,J*255/ne,ne]},ss.black=new ss(0,0,0,1),ss.white=new ss(1,1,1,1),ss.transparent=new ss(0,0,0,0),ss.red=new ss(1,0,0,1);var ff=function(y,I,U){y?this.sensitivity=I?\"variant\":\"case\":this.sensitivity=I?\"accent\":\"base\",this.locale=U,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})};ff.prototype.compare=function(y,I){return this.collator.compare(y,I)},ff.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var ih=function(y,I,U,J,ne){this.text=y,this.image=I,this.scale=U,this.fontStack=J,this.textColor=ne},Vl=function(y){this.sections=y};Vl.fromString=function(y){return new Vl([new ih(y,null,null,null,null)])},Vl.prototype.isEmpty=function(){return this.sections.length===0?!0:!this.sections.some(function(y){return y.text.length!==0||y.image&&y.image.name.length!==0})},Vl.factory=function(y){return y instanceof Vl?y:Vl.fromString(y)},Vl.prototype.toString=function(){return this.sections.length===0?\"\":this.sections.map(function(y){return y.text}).join(\"\")},Vl.prototype.serialize=function(){for(var y=[\"format\"],I=0,U=this.sections;I<U.length;I+=1){var J=U[I];if(J.image){y.push([\"image\",J.image.name]);continue}y.push(J.text);var ne={};J.fontStack&&(ne[\"text-font\"]=[\"literal\",J.fontStack.split(\",\")]),J.scale&&(ne[\"font-scale\"]=J.scale),J.textColor&&(ne[\"text-color\"]=[\"rgba\"].concat(J.textColor.toArray())),y.push(ne)}return y};var Js=function(y){this.name=y.name,this.available=y.available};Js.prototype.toString=function(){return this.name},Js.fromString=function(y){return y?new Js({name:y,available:!1}):null},Js.prototype.serialize=function(){return[\"image\",this.name]};function hc(m,y,I,U){if(!(typeof m==\"number\"&&m>=0&&m<=255&&typeof y==\"number\"&&y>=0&&y<=255&&typeof I==\"number\"&&I>=0&&I<=255)){var J=typeof U==\"number\"?[m,y,I,U]:[m,y,I];return\"Invalid rgba value [\"+J.join(\", \")+\"]: 'r', 'g', and 'b' must be between 0 and 255.\"}return typeof U==\"undefined\"||typeof U==\"number\"&&U>=0&&U<=1?null:\"Invalid rgba value [\"+[m,y,I,U].join(\", \")+\"]: 'a' must be between 0 and 1.\"}function Cc(m){if(m===null)return!0;if(typeof m==\"string\")return!0;if(typeof m==\"boolean\")return!0;if(typeof m==\"number\")return!0;if(m instanceof ss)return!0;if(m instanceof ff)return!0;if(m instanceof Vl)return!0;if(m instanceof Js)return!0;if(Array.isArray(m)){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(!Cc(U))return!1}return!0}else if(typeof m==\"object\"){for(var J in m)if(!Cc(m[J]))return!1;return!0}else return!1}function ws(m){if(m===null)return Ec;if(typeof m==\"string\")return ko;if(typeof m==\"boolean\")return Co;if(typeof m==\"number\")return Zn;if(m instanceof ss)return Tl;if(m instanceof ff)return rh;if(m instanceof Vl)return Al;if(m instanceof Js)return Hc;if(Array.isArray(m)){for(var y=m.length,I,U=0,J=m;U<J.length;U+=1){var ne=J[U],fe=ws(ne);if(!I)I=fe;else{if(I===fe)continue;I=So;break}}return eu(I||So,y)}else return uf}function $s(m){var y=typeof m;return m===null?\"\":y===\"string\"||y===\"number\"||y===\"boolean\"?String(m):m instanceof ss||m instanceof Vl||m instanceof Js?m.toString():JSON.stringify(m)}var hs=function(y,I){this.type=y,this.value=I};hs.parse=function(y,I){if(y.length!==2)return I.error(\"'literal' expression requires exactly one argument, but found \"+(y.length-1)+\" instead.\");if(!Cc(y[1]))return I.error(\"invalid value\");var U=y[1],J=ws(U),ne=I.expectedType;return J.kind===\"array\"&&J.N===0&&ne&&ne.kind===\"array\"&&(typeof ne.N!=\"number\"||ne.N===0)&&(J=ne),new hs(J,U)},hs.prototype.evaluate=function(){return this.value},hs.prototype.eachChild=function(){},hs.prototype.outputDefined=function(){return!0},hs.prototype.serialize=function(){return this.type.kind===\"array\"||this.type.kind===\"object\"?[\"literal\",this.value]:this.value instanceof ss?[\"rgba\"].concat(this.value.toArray()):this.value instanceof Vl?this.value.serialize():this.value};var Ms=function(y){this.name=\"ExpressionEvaluationError\",this.message=y};Ms.prototype.toJSON=function(){return this.message};var dc={string:ko,number:Zn,boolean:Co,object:uf},Sl=function(y,I){this.type=y,this.args=I};Sl.parse=function(y,I){if(y.length<2)return I.error(\"Expected at least one argument.\");var U=1,J,ne=y[0];if(ne===\"array\"){var fe;if(y.length>2){var Fe=y[1];if(typeof Fe!=\"string\"||!(Fe in dc)||Fe===\"object\")return I.error('The item type argument of \"array\" must be one of string, number, boolean',1);fe=dc[Fe],U++}else fe=So;var Qe;if(y.length>3){if(y[2]!==null&&(typeof y[2]!=\"number\"||y[2]<0||y[2]!==Math.floor(y[2])))return I.error('The length argument to \"array\" must be a positive integer literal',2);Qe=y[2],U++}J=eu(fe,Qe)}else J=dc[ne];for(var st=[];U<y.length;U++){var mt=I.parse(y[U],U,So);if(!mt)return null;st.push(mt)}return new Sl(J,st)},Sl.prototype.evaluate=function(y){for(var I=0;I<this.args.length;I++){var U=this.args[I].evaluate(y),J=kc(this.type,ws(U));if(J){if(I===this.args.length-1)throw new Ms(\"Expected value to be of type \"+Ls(this.type)+\", but found \"+Ls(ws(U))+\" instead.\")}else return U}return null},Sl.prototype.eachChild=function(y){this.args.forEach(y)},Sl.prototype.outputDefined=function(){return this.args.every(function(y){return y.outputDefined()})},Sl.prototype.serialize=function(){var y=this.type,I=[y.kind];if(y.kind===\"array\"){var U=y.itemType;if(U.kind===\"string\"||U.kind===\"number\"||U.kind===\"boolean\"){I.push(U.kind);var J=y.N;(typeof J==\"number\"||this.args.length>1)&&I.push(J)}}return I.concat(this.args.map(function(ne){return ne.serialize()}))};var ec=function(y){this.type=Al,this.sections=y};ec.parse=function(y,I){if(y.length<2)return I.error(\"Expected at least one argument.\");var U=y[1];if(!Array.isArray(U)&&typeof U==\"object\")return I.error(\"First argument must be an image or text section.\");for(var J=[],ne=!1,fe=1;fe<=y.length-1;++fe){var Fe=y[fe];if(ne&&typeof Fe==\"object\"&&!Array.isArray(Fe)){ne=!1;var Qe=null;if(Fe[\"font-scale\"]&&(Qe=I.parse(Fe[\"font-scale\"],1,Zn),!Qe))return null;var st=null;if(Fe[\"text-font\"]&&(st=I.parse(Fe[\"text-font\"],1,eu(ko)),!st))return null;var mt=null;if(Fe[\"text-color\"]&&(mt=I.parse(Fe[\"text-color\"],1,Tl),!mt))return null;var Xt=J[J.length-1];Xt.scale=Qe,Xt.font=st,Xt.textColor=mt}else{var ur=I.parse(y[fe],1,So);if(!ur)return null;var nr=ur.type.kind;if(nr!==\"string\"&&nr!==\"value\"&&nr!==\"null\"&&nr!==\"resolvedImage\")return I.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");ne=!0,J.push({content:ur,scale:null,font:null,textColor:null})}}return new ec(J)},ec.prototype.evaluate=function(y){var I=function(U){var J=U.content.evaluate(y);return ws(J)===Hc?new ih(\"\",J,null,null,null):new ih($s(J),null,U.scale?U.scale.evaluate(y):null,U.font?U.font.evaluate(y).join(\",\"):null,U.textColor?U.textColor.evaluate(y):null)};return new Vl(this.sections.map(I))},ec.prototype.eachChild=function(y){for(var I=0,U=this.sections;I<U.length;I+=1){var J=U[I];y(J.content),J.scale&&y(J.scale),J.font&&y(J.font),J.textColor&&y(J.textColor)}},ec.prototype.outputDefined=function(){return!1},ec.prototype.serialize=function(){for(var y=[\"format\"],I=0,U=this.sections;I<U.length;I+=1){var J=U[I];y.push(J.content.serialize());var ne={};J.scale&&(ne[\"font-scale\"]=J.scale.serialize()),J.font&&(ne[\"text-font\"]=J.font.serialize()),J.textColor&&(ne[\"text-color\"]=J.textColor.serialize()),y.push(ne)}return y};var Ps=function(y){this.type=Hc,this.input=y};Ps.parse=function(y,I){if(y.length!==2)return I.error(\"Expected two arguments.\");var U=I.parse(y[1],1,ko);return U?new Ps(U):I.error(\"No image name provided.\")},Ps.prototype.evaluate=function(y){var I=this.input.evaluate(y),U=Js.fromString(I);return U&&y.availableImages&&(U.available=y.availableImages.indexOf(I)>-1),U},Ps.prototype.eachChild=function(y){y(this.input)},Ps.prototype.outputDefined=function(){return!1},Ps.prototype.serialize=function(){return[\"image\",this.input.serialize()]};var ov={\"to-boolean\":Co,\"to-color\":Tl,\"to-number\":Zn,\"to-string\":ko},wo=function(y,I){this.type=y,this.args=I};wo.parse=function(y,I){if(y.length<2)return I.error(\"Expected at least one argument.\");var U=y[0];if((U===\"to-boolean\"||U===\"to-string\")&&y.length!==2)return I.error(\"Expected one argument.\");for(var J=ov[U],ne=[],fe=1;fe<y.length;fe++){var Fe=I.parse(y[fe],fe,So);if(!Fe)return null;ne.push(Fe)}return new wo(J,ne)},wo.prototype.evaluate=function(y){if(this.type.kind===\"boolean\")return!!this.args[0].evaluate(y);if(this.type.kind===\"color\"){for(var I,U,J=0,ne=this.args;J<ne.length;J+=1){var fe=ne[J];if(I=fe.evaluate(y),U=null,I instanceof ss)return I;if(typeof I==\"string\"){var Fe=y.parseColor(I);if(Fe)return Fe}else if(Array.isArray(I)&&(I.length<3||I.length>4?U=\"Invalid rbga value \"+JSON.stringify(I)+\": expected an array containing either three or four numeric values.\":U=hc(I[0],I[1],I[2],I[3]),!U))return new ss(I[0]/255,I[1]/255,I[2]/255,I[3])}throw new Ms(U||\"Could not parse color from value '\"+(typeof I==\"string\"?I:String(JSON.stringify(I)))+\"'\")}else if(this.type.kind===\"number\"){for(var Qe=null,st=0,mt=this.args;st<mt.length;st+=1){var Xt=mt[st];if(Qe=Xt.evaluate(y),Qe===null)return 0;var ur=Number(Qe);if(!isNaN(ur))return ur}throw new Ms(\"Could not convert \"+JSON.stringify(Qe)+\" to number.\")}else return this.type.kind===\"formatted\"?Vl.fromString($s(this.args[0].evaluate(y))):this.type.kind===\"resolvedImage\"?Js.fromString($s(this.args[0].evaluate(y))):$s(this.args[0].evaluate(y))},wo.prototype.eachChild=function(y){this.args.forEach(y)},wo.prototype.outputDefined=function(){return this.args.every(function(y){return y.outputDefined()})},wo.prototype.serialize=function(){if(this.type.kind===\"formatted\")return new ec([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if(this.type.kind===\"resolvedImage\")return new Ps(this.args[0]).serialize();var y=[\"to-\"+this.type.kind];return this.eachChild(function(I){y.push(I.serialize())}),y};var Od=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],$o=function(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null};$o.prototype.id=function(){return this.feature&&\"id\"in this.feature?this.feature.id:null},$o.prototype.geometryType=function(){return this.feature?typeof this.feature.type==\"number\"?Od[this.feature.type]:this.feature.type:null},$o.prototype.geometry=function(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null},$o.prototype.canonicalID=function(){return this.canonical},$o.prototype.properties=function(){return this.feature&&this.feature.properties||{}},$o.prototype.parseColor=function(y){var I=this._parseColorCache[y];return I||(I=this._parseColorCache[y]=ss.parse(y)),I};var Ja=function(y,I,U,J){this.name=y,this.type=I,this._evaluate=U,this.args=J};Ja.prototype.evaluate=function(y){return this._evaluate(y,this.args)},Ja.prototype.eachChild=function(y){this.args.forEach(y)},Ja.prototype.outputDefined=function(){return!1},Ja.prototype.serialize=function(){return[this.name].concat(this.args.map(function(y){return y.serialize()}))},Ja.parse=function(y,I){var U,J=y[0],ne=Ja.definitions[J];if(!ne)return I.error('Unknown expression \"'+J+'\". If you wanted a literal array, use [\"literal\", [...]].',0);for(var fe=Array.isArray(ne)?ne[0]:ne.type,Fe=Array.isArray(ne)?[[ne[1],ne[2]]]:ne.overloads,Qe=Fe.filter(function(Na){var ja=Na[0];return!Array.isArray(ja)||ja.length===y.length-1}),st=null,mt=0,Xt=Qe;mt<Xt.length;mt+=1){var ur=Xt[mt],nr=ur[0],Lr=ur[1];st=new fl(I.registry,I.path,null,I.scope);for(var Yr=[],_i=!1,si=1;si<y.length;si++){var Hi=y[si],Ei=Array.isArray(nr)?nr[si-1]:nr.type,Vi=st.parse(Hi,1+Yr.length,Ei);if(!Vi){_i=!0;break}Yr.push(Vi)}if(!_i){if(Array.isArray(nr)&&nr.length!==Yr.length){st.error(\"Expected \"+nr.length+\" arguments, but found \"+Yr.length+\" instead.\");continue}for(var en=0;en<Yr.length;en++){var An=Array.isArray(nr)?nr[en]:nr.type,ra=Yr[en];st.concat(en+1).checkSubtype(An,ra.type)}if(st.errors.length===0)return new Ja(J,fe,Lr,Yr)}}if(Qe.length===1)(U=I.errors).push.apply(U,st.errors);else{for(var $n=Qe.length?Qe:Fe,Ba=$n.map(function(Na){var ja=Na[0];return Ef(ja)}).join(\" | \"),_a=[],Pa=1;Pa<y.length;Pa++){var qo=I.parse(y[Pa],1+_a.length);if(!qo)return null;_a.push(Ls(qo.type))}I.error(\"Expected arguments of type \"+Ba+\", but found (\"+_a.join(\", \")+\") instead.\")}return null},Ja.register=function(y,I){Ja.definitions=I;for(var U in I)y[U]=Ja};function Ef(m){return Array.isArray(m)?\"(\"+m.map(Ls).join(\", \")+\")\":\"(\"+Ls(m.type)+\"...)\"}var tc=function(y,I,U){this.type=rh,this.locale=U,this.caseSensitive=y,this.diacriticSensitive=I};tc.parse=function(y,I){if(y.length!==2)return I.error(\"Expected one argument.\");var U=y[1];if(typeof U!=\"object\"||Array.isArray(U))return I.error(\"Collator options argument must be an object.\");var J=I.parse(U[\"case-sensitive\"]===void 0?!1:U[\"case-sensitive\"],1,Co);if(!J)return null;var ne=I.parse(U[\"diacritic-sensitive\"]===void 0?!1:U[\"diacritic-sensitive\"],1,Co);if(!ne)return null;var fe=null;return U.locale&&(fe=I.parse(U.locale,1,ko),!fe)?null:new tc(J,ne,fe)},tc.prototype.evaluate=function(y){return new ff(this.caseSensitive.evaluate(y),this.diacriticSensitive.evaluate(y),this.locale?this.locale.evaluate(y):null)},tc.prototype.eachChild=function(y){y(this.caseSensitive),y(this.diacriticSensitive),this.locale&&y(this.locale)},tc.prototype.outputDefined=function(){return!1},tc.prototype.serialize=function(){var y={};return y[\"case-sensitive\"]=this.caseSensitive.serialize(),y[\"diacritic-sensitive\"]=this.diacriticSensitive.serialize(),this.locale&&(y.locale=this.locale.serialize()),[\"collator\",y]};var uu=8192;function Mh(m,y){m[0]=Math.min(m[0],y[0]),m[1]=Math.min(m[1],y[1]),m[2]=Math.max(m[2],y[0]),m[3]=Math.max(m[3],y[1])}function jc(m){return(180+m)/360}function kf(m){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+m*Math.PI/360)))/360}function Ml(m,y){return!(m[0]<=y[0]||m[2]>=y[2]||m[1]<=y[1]||m[3]>=y[3])}function Yh(m,y){var I=jc(m[0]),U=kf(m[1]),J=Math.pow(2,y.z);return[Math.round(I*J*uu),Math.round(U*J*uu)]}function Eh(m,y,I){var U=m[0]-y[0],J=m[1]-y[1],ne=m[0]-I[0],fe=m[1]-I[1];return U*fe-ne*J===0&&U*ne<=0&&J*fe<=0}function nh(m,y,I){return y[1]>m[1]!=I[1]>m[1]&&m[0]<(I[0]-y[0])*(m[1]-y[1])/(I[1]-y[1])+y[0]}function hf(m,y){for(var I=!1,U=0,J=y.length;U<J;U++)for(var ne=y[U],fe=0,Fe=ne.length;fe<Fe-1;fe++){if(Eh(m,ne[fe],ne[fe+1]))return!1;nh(m,ne[fe],ne[fe+1])&&(I=!I)}return I}function kh(m,y){for(var I=0;I<y.length;I++)if(hf(m,y[I]))return!0;return!1}function Kh(m,y){return m[0]*y[1]-m[1]*y[0]}function rc(m,y,I,U){var J=m[0]-I[0],ne=m[1]-I[1],fe=y[0]-I[0],Fe=y[1]-I[1],Qe=U[0]-I[0],st=U[1]-I[1],mt=J*st-Qe*ne,Xt=fe*st-Qe*Fe;return mt>0&&Xt<0||mt<0&&Xt>0}function ah(m,y,I,U){var J=[y[0]-m[0],y[1]-m[1]],ne=[U[0]-I[0],U[1]-I[1]];return Kh(ne,J)===0?!1:!!(rc(m,y,I,U)&&rc(I,U,m,y))}function Wc(m,y,I){for(var U=0,J=I;U<J.length;U+=1)for(var ne=J[U],fe=0;fe<ne.length-1;++fe)if(ah(m,y,ne[fe],ne[fe+1]))return!0;return!1}function df(m,y){for(var I=0;I<m.length;++I)if(!hf(m[I],y))return!1;for(var U=0;U<m.length-1;++U)if(Wc(m[U],m[U+1],y))return!1;return!0}function Cu(m,y){for(var I=0;I<y.length;I++)if(df(m,y[I]))return!0;return!1}function Nf(m,y,I){for(var U=[],J=0;J<m.length;J++){for(var ne=[],fe=0;fe<m[J].length;fe++){var Fe=Yh(m[J][fe],I);Mh(y,Fe),ne.push(Fe)}U.push(ne)}return U}function Zc(m,y,I){for(var U=[],J=0;J<m.length;J++){var ne=Nf(m[J],y,I);U.push(ne)}return U}function ds(m,y,I,U){if(m[0]<I[0]||m[0]>I[2]){var J=U*.5,ne=m[0]-I[0]>J?-U:I[0]-m[0]>J?U:0;ne===0&&(ne=m[0]-I[2]>J?-U:I[2]-m[0]>J?U:0),m[0]+=ne}Mh(y,m)}function Ch(m){m[0]=m[1]=1/0,m[2]=m[3]=-1/0}function Bd(m,y,I,U){for(var J=Math.pow(2,U.z)*uu,ne=[U.x*uu,U.y*uu],fe=[],Fe=0,Qe=m;Fe<Qe.length;Fe+=1)for(var st=Qe[Fe],mt=0,Xt=st;mt<Xt.length;mt+=1){var ur=Xt[mt],nr=[ur.x+ne[0],ur.y+ne[1]];ds(nr,y,I,J),fe.push(nr)}return fe}function Jh(m,y,I,U){for(var J=Math.pow(2,U.z)*uu,ne=[U.x*uu,U.y*uu],fe=[],Fe=0,Qe=m;Fe<Qe.length;Fe+=1){for(var st=Qe[Fe],mt=[],Xt=0,ur=st;Xt<ur.length;Xt+=1){var nr=ur[Xt],Lr=[nr.x+ne[0],nr.y+ne[1]];Mh(y,Lr),mt.push(Lr)}fe.push(mt)}if(y[2]-y[0]<=J/2){Ch(y);for(var Yr=0,_i=fe;Yr<_i.length;Yr+=1)for(var si=_i[Yr],Hi=0,Ei=si;Hi<Ei.length;Hi+=1){var Vi=Ei[Hi];ds(Vi,y,I,J)}}return fe}function Cf(m,y){var I=[1/0,1/0,-1/0,-1/0],U=[1/0,1/0,-1/0,-1/0],J=m.canonicalID();if(y.type===\"Polygon\"){var ne=Nf(y.coordinates,U,J),fe=Bd(m.geometry(),I,U,J);if(!Ml(I,U))return!1;for(var Fe=0,Qe=fe;Fe<Qe.length;Fe+=1){var st=Qe[Fe];if(!hf(st,ne))return!1}}if(y.type===\"MultiPolygon\"){var mt=Zc(y.coordinates,U,J),Xt=Bd(m.geometry(),I,U,J);if(!Ml(I,U))return!1;for(var ur=0,nr=Xt;ur<nr.length;ur+=1){var Lr=nr[ur];if(!kh(Lr,mt))return!1}}return!0}function pd(m,y){var I=[1/0,1/0,-1/0,-1/0],U=[1/0,1/0,-1/0,-1/0],J=m.canonicalID();if(y.type===\"Polygon\"){var ne=Nf(y.coordinates,U,J),fe=Jh(m.geometry(),I,U,J);if(!Ml(I,U))return!1;for(var Fe=0,Qe=fe;Fe<Qe.length;Fe+=1){var st=Qe[Fe];if(!df(st,ne))return!1}}if(y.type===\"MultiPolygon\"){var mt=Zc(y.coordinates,U,J),Xt=Jh(m.geometry(),I,U,J);if(!Ml(I,U))return!1;for(var ur=0,nr=Xt;ur<nr.length;ur+=1){var Lr=nr[ur];if(!Cu(Lr,mt))return!1}}return!0}var Lu=function(y,I){this.type=Co,this.geojson=y,this.geometries=I};Lu.parse=function(y,I){if(y.length!==2)return I.error(\"'within' expression requires exactly one argument, but found \"+(y.length-1)+\" instead.\");if(Cc(y[1])){var U=y[1];if(U.type===\"FeatureCollection\")for(var J=0;J<U.features.length;++J){var ne=U.features[J].geometry.type;if(ne===\"Polygon\"||ne===\"MultiPolygon\")return new Lu(U,U.features[J].geometry)}else if(U.type===\"Feature\"){var fe=U.geometry.type;if(fe===\"Polygon\"||fe===\"MultiPolygon\")return new Lu(U,U.geometry)}else if(U.type===\"Polygon\"||U.type===\"MultiPolygon\")return new Lu(U,U)}return I.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")},Lu.prototype.evaluate=function(y){if(y.geometry()!=null&&y.canonicalID()!=null){if(y.geometryType()===\"Point\")return Cf(y,this.geometries);if(y.geometryType()===\"LineString\")return pd(y,this.geometries)}return!1},Lu.prototype.eachChild=function(){},Lu.prototype.outputDefined=function(){return!0},Lu.prototype.serialize=function(){return[\"within\",this.geojson]};function $h(m){if(m instanceof Ja){if(m.name===\"get\"&&m.args.length===1)return!1;if(m.name===\"feature-state\")return!1;if(m.name===\"has\"&&m.args.length===1)return!1;if(m.name===\"properties\"||m.name===\"geometry-type\"||m.name===\"id\")return!1;if(/^filter-/.test(m.name))return!1}if(m instanceof Lu)return!1;var y=!0;return m.eachChild(function(I){y&&!$h(I)&&(y=!1)}),y}function tu(m){if(m instanceof Ja&&m.name===\"feature-state\")return!1;var y=!0;return m.eachChild(function(I){y&&!tu(I)&&(y=!1)}),y}function Pu(m,y){if(m instanceof Ja&&y.indexOf(m.name)>=0)return!1;var I=!0;return m.eachChild(function(U){I&&!Pu(U,y)&&(I=!1)}),I}var Lc=function(y,I){this.type=I.type,this.name=y,this.boundExpression=I};Lc.parse=function(y,I){if(y.length!==2||typeof y[1]!=\"string\")return I.error(\"'var' expression requires exactly one string literal argument.\");var U=y[1];return I.scope.has(U)?new Lc(U,I.scope.get(U)):I.error('Unknown variable \"'+U+'\". Make sure \"'+U+'\" has been bound in an enclosing \"let\" expression before using it.',1)},Lc.prototype.evaluate=function(y){return this.boundExpression.evaluate(y)},Lc.prototype.eachChild=function(){},Lc.prototype.outputDefined=function(){return!1},Lc.prototype.serialize=function(){return[\"var\",this.name]};var fl=function(y,I,U,J,ne){I===void 0&&(I=[]),J===void 0&&(J=new Xl),ne===void 0&&(ne=[]),this.registry=y,this.path=I,this.key=I.map(function(fe){return\"[\"+fe+\"]\"}).join(\"\"),this.scope=J,this.errors=ne,this.expectedType=U};fl.prototype.parse=function(y,I,U,J,ne){return ne===void 0&&(ne={}),I?this.concat(I,U,J)._parse(y,ne):this._parse(y,ne)},fl.prototype._parse=function(y,I){(y===null||typeof y==\"string\"||typeof y==\"boolean\"||typeof y==\"number\")&&(y=[\"literal\",y]);function U(mt,Xt,ur){return ur===\"assert\"?new Sl(Xt,[mt]):ur===\"coerce\"?new wo(Xt,[mt]):mt}if(Array.isArray(y)){if(y.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');var J=y[0];if(typeof J!=\"string\")return this.error(\"Expression name must be a string, but found \"+typeof J+' instead. If you wanted a literal array, use [\"literal\", [...]].',0),null;var ne=this.registry[J];if(ne){var fe=ne.parse(y,this);if(!fe)return null;if(this.expectedType){var Fe=this.expectedType,Qe=fe.type;if((Fe.kind===\"string\"||Fe.kind===\"number\"||Fe.kind===\"boolean\"||Fe.kind===\"object\"||Fe.kind===\"array\")&&Qe.kind===\"value\")fe=U(fe,Fe,I.typeAnnotation||\"assert\");else if((Fe.kind===\"color\"||Fe.kind===\"formatted\"||Fe.kind===\"resolvedImage\")&&(Qe.kind===\"value\"||Qe.kind===\"string\"))fe=U(fe,Fe,I.typeAnnotation||\"coerce\");else if(this.checkSubtype(Fe,Qe))return null}if(!(fe instanceof hs)&&fe.type.kind!==\"resolvedImage\"&&Xc(fe)){var st=new $o;try{fe=new hs(fe.type,fe.evaluate(st))}catch(mt){return this.error(mt.message),null}}return fe}return this.error('Unknown expression \"'+J+'\". If you wanted a literal array, use [\"literal\", [...]].',0)}else return typeof y==\"undefined\"?this.error(\"'undefined' value invalid. Use null instead.\"):typeof y==\"object\"?this.error('Bare objects invalid. Use [\"literal\", {...}] instead.'):this.error(\"Expected an array, but found \"+typeof y+\" instead.\")},fl.prototype.concat=function(y,I,U){var J=typeof y==\"number\"?this.path.concat(y):this.path,ne=U?this.scope.concat(U):this.scope;return new fl(this.registry,J,I||null,ne,this.errors)},fl.prototype.error=function(y){for(var I=[],U=arguments.length-1;U-- >0;)I[U]=arguments[U+1];var J=\"\"+this.key+I.map(function(ne){return\"[\"+ne+\"]\"}).join(\"\");this.errors.push(new Ks(J,y))},fl.prototype.checkSubtype=function(y,I){var U=kc(y,I);return U&&this.error(U),U};function Xc(m){if(m instanceof Lc)return Xc(m.boundExpression);if(m instanceof Ja&&m.name===\"error\")return!1;if(m instanceof tc)return!1;if(m instanceof Lu)return!1;var y=m instanceof wo||m instanceof Sl,I=!0;return m.eachChild(function(U){y?I=I&&Xc(U):I=I&&U instanceof hs}),I?$h(m)&&Pu(m,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"]):!1}function ic(m,y){for(var I=m.length-1,U=0,J=I,ne=0,fe,Fe;U<=J;)if(ne=Math.floor((U+J)/2),fe=m[ne],Fe=m[ne+1],fe<=y){if(ne===I||y<Fe)return ne;U=ne+1}else if(fe>y)J=ne-1;else throw new Ms(\"Input is not a number.\");return 0}var yu=function(y,I,U){this.type=y,this.input=I,this.labels=[],this.outputs=[];for(var J=0,ne=U;J<ne.length;J+=1){var fe=ne[J],Fe=fe[0],Qe=fe[1];this.labels.push(Fe),this.outputs.push(Qe)}};yu.parse=function(y,I){if(y.length-1<4)return I.error(\"Expected at least 4 arguments, but found only \"+(y.length-1)+\".\");if((y.length-1)%2!==0)return I.error(\"Expected an even number of arguments.\");var U=I.parse(y[1],1,Zn);if(!U)return null;var J=[],ne=null;I.expectedType&&I.expectedType.kind!==\"value\"&&(ne=I.expectedType);for(var fe=1;fe<y.length;fe+=2){var Fe=fe===1?-1/0:y[fe],Qe=y[fe+1],st=fe,mt=fe+1;if(typeof Fe!=\"number\")return I.error('Input/output pairs for \"step\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',st);if(J.length&&J[J.length-1][0]>=Fe)return I.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',st);var Xt=I.parse(Qe,mt,ne);if(!Xt)return null;ne=ne||Xt.type,J.push([Fe,Xt])}return new yu(ne,U,J)},yu.prototype.evaluate=function(y){var I=this.labels,U=this.outputs;if(I.length===1)return U[0].evaluate(y);var J=this.input.evaluate(y);if(J<=I[0])return U[0].evaluate(y);var ne=I.length;if(J>=I[ne-1])return U[ne-1].evaluate(y);var fe=ic(I,J);return U[fe].evaluate(y)},yu.prototype.eachChild=function(y){y(this.input);for(var I=0,U=this.outputs;I<U.length;I+=1){var J=U[I];y(J)}},yu.prototype.outputDefined=function(){return this.outputs.every(function(y){return y.outputDefined()})},yu.prototype.serialize=function(){for(var y=[\"step\",this.input.serialize()],I=0;I<this.labels.length;I++)I>0&&y.push(this.labels[I]),y.push(this.outputs[I].serialize());return y};function Qs(m,y,I){return m*(1-I)+y*I}function Qh(m,y,I){return new ss(Qs(m.r,y.r,I),Qs(m.g,y.g,I),Qs(m.b,y.b,I),Qs(m.a,y.a,I))}function gd(m,y,I){return m.map(function(U,J){return Qs(U,y[J],I)})}var Gu=Object.freeze({__proto__:null,number:Qs,color:Qh,array:gd}),Pc=.95047,vc=1,sv=1.08883,Lf=4/29,Uf=6/29,Iu=3*Uf*Uf,oh=Uf*Uf*Uf,ru=Math.PI/180,vf=180/Math.PI;function md(m){return m>oh?Math.pow(m,1/3):m/Iu+Lf}function sh(m){return m>Uf?m*m*m:Iu*(m-Lf)}function Fs(m){return 255*(m<=.0031308?12.92*m:1.055*Math.pow(m,1/2.4)-.055)}function _u(m){return m/=255,m<=.04045?m/12.92:Math.pow((m+.055)/1.055,2.4)}function xu(m){var y=_u(m.r),I=_u(m.g),U=_u(m.b),J=md((.4124564*y+.3575761*I+.1804375*U)/Pc),ne=md((.2126729*y+.7151522*I+.072175*U)/vc),fe=md((.0193339*y+.119192*I+.9503041*U)/sv);return{l:116*ne-16,a:500*(J-ne),b:200*(ne-fe),alpha:m.a}}function Lh(m){var y=(m.l+16)/116,I=isNaN(m.a)?y:y+m.a/500,U=isNaN(m.b)?y:y-m.b/200;return y=vc*sh(y),I=Pc*sh(I),U=sv*sh(U),new ss(Fs(3.2404542*I-1.5371385*y-.4985314*U),Fs(-.969266*I+1.8760108*y+.041556*U),Fs(.0556434*I-.2040259*y+1.0572252*U),m.alpha)}function Is(m,y,I){return{l:Qs(m.l,y.l,I),a:Qs(m.a,y.a,I),b:Qs(m.b,y.b,I),alpha:Qs(m.alpha,y.alpha,I)}}function Pf(m){var y=xu(m),I=y.l,U=y.a,J=y.b,ne=Math.atan2(J,U)*vf;return{h:ne<0?ne+360:ne,c:Math.sqrt(U*U+J*J),l:I,alpha:m.a}}function Ic(m){var y=m.h*ru,I=m.c,U=m.l;return Lh({l:U,a:Math.cos(y)*I,b:Math.sin(y)*I,alpha:m.alpha})}function ju(m,y,I){var U=y-m;return m+I*(U>180||U<-180?U-360*Math.round(U/360):U)}function Vf(m,y,I){return{h:ju(m.h,y.h,I),c:Qs(m.c,y.c,I),l:Qs(m.l,y.l,I),alpha:Qs(m.alpha,y.alpha,I)}}var pc={forward:xu,reverse:Lh,interpolate:Is},pf={forward:Pf,reverse:Ic,interpolate:Vf},Ph=Object.freeze({__proto__:null,lab:pc,hcl:pf}),Dl=function(y,I,U,J,ne){this.type=y,this.operator=I,this.interpolation=U,this.input=J,this.labels=[],this.outputs=[];for(var fe=0,Fe=ne;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=Qe[0],mt=Qe[1];this.labels.push(st),this.outputs.push(mt)}};Dl.interpolationFactor=function(y,I,U,J){var ne=0;if(y.name===\"exponential\")ne=Ih(I,y.base,U,J);else if(y.name===\"linear\")ne=Ih(I,1,U,J);else if(y.name===\"cubic-bezier\"){var fe=y.controlPoints,Fe=new s(fe[0],fe[1],fe[2],fe[3]);ne=Fe.solve(Ih(I,1,U,J))}return ne},Dl.parse=function(y,I){var U=y[0],J=y[1],ne=y[2],fe=y.slice(3);if(!Array.isArray(J)||J.length===0)return I.error(\"Expected an interpolation type expression.\",1);if(J[0]===\"linear\")J={name:\"linear\"};else if(J[0]===\"exponential\"){var Fe=J[1];if(typeof Fe!=\"number\")return I.error(\"Exponential interpolation requires a numeric base.\",1,1);J={name:\"exponential\",base:Fe}}else if(J[0]===\"cubic-bezier\"){var Qe=J.slice(1);if(Qe.length!==4||Qe.some(function(si){return typeof si!=\"number\"||si<0||si>1}))return I.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);J={name:\"cubic-bezier\",controlPoints:Qe}}else return I.error(\"Unknown interpolation type \"+String(J[0]),1,0);if(y.length-1<4)return I.error(\"Expected at least 4 arguments, but found only \"+(y.length-1)+\".\");if((y.length-1)%2!==0)return I.error(\"Expected an even number of arguments.\");if(ne=I.parse(ne,2,Zn),!ne)return null;var st=[],mt=null;U===\"interpolate-hcl\"||U===\"interpolate-lab\"?mt=Tl:I.expectedType&&I.expectedType.kind!==\"value\"&&(mt=I.expectedType);for(var Xt=0;Xt<fe.length;Xt+=2){var ur=fe[Xt],nr=fe[Xt+1],Lr=Xt+3,Yr=Xt+4;if(typeof ur!=\"number\")return I.error('Input/output pairs for \"interpolate\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',Lr);if(st.length&&st[st.length-1][0]>=ur)return I.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',Lr);var _i=I.parse(nr,Yr,mt);if(!_i)return null;mt=mt||_i.type,st.push([ur,_i])}return mt.kind!==\"number\"&&mt.kind!==\"color\"&&!(mt.kind===\"array\"&&mt.itemType.kind===\"number\"&&typeof mt.N==\"number\")?I.error(\"Type \"+Ls(mt)+\" is not interpolatable.\"):new Dl(mt,U,J,ne,st)},Dl.prototype.evaluate=function(y){var I=this.labels,U=this.outputs;if(I.length===1)return U[0].evaluate(y);var J=this.input.evaluate(y);if(J<=I[0])return U[0].evaluate(y);var ne=I.length;if(J>=I[ne-1])return U[ne-1].evaluate(y);var fe=ic(I,J),Fe=I[fe],Qe=I[fe+1],st=Dl.interpolationFactor(this.interpolation,J,Fe,Qe),mt=U[fe].evaluate(y),Xt=U[fe+1].evaluate(y);return this.operator===\"interpolate\"?Gu[this.type.kind.toLowerCase()](mt,Xt,st):this.operator===\"interpolate-hcl\"?pf.reverse(pf.interpolate(pf.forward(mt),pf.forward(Xt),st)):pc.reverse(pc.interpolate(pc.forward(mt),pc.forward(Xt),st))},Dl.prototype.eachChild=function(y){y(this.input);for(var I=0,U=this.outputs;I<U.length;I+=1){var J=U[I];y(J)}},Dl.prototype.outputDefined=function(){return this.outputs.every(function(y){return y.outputDefined()})},Dl.prototype.serialize=function(){var y;this.interpolation.name===\"linear\"?y=[\"linear\"]:this.interpolation.name===\"exponential\"?this.interpolation.base===1?y=[\"linear\"]:y=[\"exponential\",this.interpolation.base]:y=[\"cubic-bezier\"].concat(this.interpolation.controlPoints);for(var I=[this.operator,y,this.input.serialize()],U=0;U<this.labels.length;U++)I.push(this.labels[U],this.outputs[U].serialize());return I};function Ih(m,y,I,U){var J=U-I,ne=m-I;return J===0?0:y===1?ne/J:(Math.pow(y,ne)-1)/(Math.pow(y,J)-1)}var Wu=function(y,I){this.type=y,this.args=I};Wu.parse=function(y,I){if(y.length<2)return I.error(\"Expectected at least one argument.\");var U=null,J=I.expectedType;J&&J.kind!==\"value\"&&(U=J);for(var ne=[],fe=0,Fe=y.slice(1);fe<Fe.length;fe+=1){var Qe=Fe[fe],st=I.parse(Qe,1+ne.length,U,void 0,{typeAnnotation:\"omit\"});if(!st)return null;U=U||st.type,ne.push(st)}var mt=J&&ne.some(function(Xt){return kc(J,Xt.type)});return mt?new Wu(So,ne):new Wu(U,ne)},Wu.prototype.evaluate=function(y){for(var I=null,U=0,J,ne=0,fe=this.args;ne<fe.length;ne+=1){var Fe=fe[ne];if(U++,I=Fe.evaluate(y),I&&I instanceof Js&&!I.available&&(J||(J=I.name),I=null,U===this.args.length&&(I=J)),I!==null)break}return I},Wu.prototype.eachChild=function(y){this.args.forEach(y)},Wu.prototype.outputDefined=function(){return this.args.every(function(y){return y.outputDefined()})},Wu.prototype.serialize=function(){var y=[\"coalesce\"];return this.eachChild(function(I){y.push(I.serialize())}),y};var Rc=function(y,I){this.type=I.type,this.bindings=[].concat(y),this.result=I};Rc.prototype.evaluate=function(y){return this.result.evaluate(y)},Rc.prototype.eachChild=function(y){for(var I=0,U=this.bindings;I<U.length;I+=1){var J=U[I];y(J[1])}y(this.result)},Rc.parse=function(y,I){if(y.length<4)return I.error(\"Expected at least 3 arguments, but found \"+(y.length-1)+\" instead.\");for(var U=[],J=1;J<y.length-1;J+=2){var ne=y[J];if(typeof ne!=\"string\")return I.error(\"Expected string, but found \"+typeof ne+\" instead.\",J);if(/[^a-zA-Z0-9_]/.test(ne))return I.error(\"Variable names must contain only alphanumeric characters or '_'.\",J);var fe=I.parse(y[J+1],J+1);if(!fe)return null;U.push([ne,fe])}var Fe=I.parse(y[y.length-1],y.length-1,I.expectedType,U);return Fe?new Rc(U,Fe):null},Rc.prototype.outputDefined=function(){return this.result.outputDefined()},Rc.prototype.serialize=function(){for(var y=[\"let\"],I=0,U=this.bindings;I<U.length;I+=1){var J=U[I],ne=J[0],fe=J[1];y.push(ne,fe.serialize())}return y.push(this.result.serialize()),y};var gc=function(y,I,U){this.type=y,this.index=I,this.input=U};gc.parse=function(y,I){if(y.length!==3)return I.error(\"Expected 2 arguments, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1,Zn),J=I.parse(y[2],2,eu(I.expectedType||So));if(!U||!J)return null;var ne=J.type;return new gc(ne.itemType,U,J)},gc.prototype.evaluate=function(y){var I=this.index.evaluate(y),U=this.input.evaluate(y);if(I<0)throw new Ms(\"Array index out of bounds: \"+I+\" < 0.\");if(I>=U.length)throw new Ms(\"Array index out of bounds: \"+I+\" > \"+(U.length-1)+\".\");if(I!==Math.floor(I))throw new Ms(\"Array index must be an integer, but found \"+I+\" instead.\");return U[I]},gc.prototype.eachChild=function(y){y(this.index),y(this.input)},gc.prototype.outputDefined=function(){return!1},gc.prototype.serialize=function(){return[\"at\",this.index.serialize(),this.input.serialize()]};var hl=function(y,I){this.type=Co,this.needle=y,this.haystack=I};hl.parse=function(y,I){if(y.length!==3)return I.error(\"Expected 2 arguments, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,So);return!U||!J?null:Of(U.type,[Co,ko,Zn,Ec,So])?new hl(U,J):I.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(U.type)+\" instead\")},hl.prototype.evaluate=function(y){var I=this.needle.evaluate(y),U=this.haystack.evaluate(y);if(!U)return!1;if(!Gc(I,[\"boolean\",\"string\",\"number\",\"null\"]))throw new Ms(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(ws(I))+\" instead.\");if(!Gc(U,[\"string\",\"array\"]))throw new Ms(\"Expected second argument to be of type array or string, but found \"+Ls(ws(U))+\" instead.\");return U.indexOf(I)>=0},hl.prototype.eachChild=function(y){y(this.needle),y(this.haystack)},hl.prototype.outputDefined=function(){return!0},hl.prototype.serialize=function(){return[\"in\",this.needle.serialize(),this.haystack.serialize()]};var iu=function(y,I,U){this.type=Zn,this.needle=y,this.haystack=I,this.fromIndex=U};iu.parse=function(y,I){if(y.length<=2||y.length>=5)return I.error(\"Expected 3 or 4 arguments, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,So);if(!U||!J)return null;if(!Of(U.type,[Co,ko,Zn,Ec,So]))return I.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(U.type)+\" instead\");if(y.length===4){var ne=I.parse(y[3],3,Zn);return ne?new iu(U,J,ne):null}else return new iu(U,J)},iu.prototype.evaluate=function(y){var I=this.needle.evaluate(y),U=this.haystack.evaluate(y);if(!Gc(I,[\"boolean\",\"string\",\"number\",\"null\"]))throw new Ms(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(ws(I))+\" instead.\");if(!Gc(U,[\"string\",\"array\"]))throw new Ms(\"Expected second argument to be of type array or string, but found \"+Ls(ws(U))+\" instead.\");if(this.fromIndex){var J=this.fromIndex.evaluate(y);return U.indexOf(I,J)}return U.indexOf(I)},iu.prototype.eachChild=function(y){y(this.needle),y(this.haystack),this.fromIndex&&y(this.fromIndex)},iu.prototype.outputDefined=function(){return!1},iu.prototype.serialize=function(){if(this.fromIndex!=null&&this.fromIndex!==void 0){var y=this.fromIndex.serialize();return[\"index-of\",this.needle.serialize(),this.haystack.serialize(),y]}return[\"index-of\",this.needle.serialize(),this.haystack.serialize()]};var mc=function(y,I,U,J,ne,fe){this.inputType=y,this.type=I,this.input=U,this.cases=J,this.outputs=ne,this.otherwise=fe};mc.parse=function(y,I){if(y.length<5)return I.error(\"Expected at least 4 arguments, but found only \"+(y.length-1)+\".\");if(y.length%2!==1)return I.error(\"Expected an even number of arguments.\");var U,J;I.expectedType&&I.expectedType.kind!==\"value\"&&(J=I.expectedType);for(var ne={},fe=[],Fe=2;Fe<y.length-1;Fe+=2){var Qe=y[Fe],st=y[Fe+1];Array.isArray(Qe)||(Qe=[Qe]);var mt=I.concat(Fe);if(Qe.length===0)return mt.error(\"Expected at least one branch label.\");for(var Xt=0,ur=Qe;Xt<ur.length;Xt+=1){var nr=ur[Xt];if(typeof nr!=\"number\"&&typeof nr!=\"string\")return mt.error(\"Branch labels must be numbers or strings.\");if(typeof nr==\"number\"&&Math.abs(nr)>Number.MAX_SAFE_INTEGER)return mt.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\");if(typeof nr==\"number\"&&Math.floor(nr)!==nr)return mt.error(\"Numeric branch labels must be integer values.\");if(!U)U=ws(nr);else if(mt.checkSubtype(U,ws(nr)))return null;if(typeof ne[String(nr)]!=\"undefined\")return mt.error(\"Branch labels must be unique.\");ne[String(nr)]=fe.length}var Lr=I.parse(st,Fe,J);if(!Lr)return null;J=J||Lr.type,fe.push(Lr)}var Yr=I.parse(y[1],1,So);if(!Yr)return null;var _i=I.parse(y[y.length-1],y.length-1,J);return!_i||Yr.type.kind!==\"value\"&&I.concat(1).checkSubtype(U,Yr.type)?null:new mc(U,J,Yr,ne,fe,_i)},mc.prototype.evaluate=function(y){var I=this.input.evaluate(y),U=ws(I)===this.inputType&&this.outputs[this.cases[I]]||this.otherwise;return U.evaluate(y)},mc.prototype.eachChild=function(y){y(this.input),this.outputs.forEach(y),y(this.otherwise)},mc.prototype.outputDefined=function(){return this.outputs.every(function(y){return y.outputDefined()})&&this.otherwise.outputDefined()},mc.prototype.serialize=function(){for(var y=this,I=[\"match\",this.input.serialize()],U=Object.keys(this.cases).sort(),J=[],ne={},fe=0,Fe=U;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=ne[this.cases[Qe]];st===void 0?(ne[this.cases[Qe]]=J.length,J.push([this.cases[Qe],[Qe]])):J[st][1].push(Qe)}for(var mt=function(Yr){return y.inputType.kind===\"number\"?Number(Yr):Yr},Xt=0,ur=J;Xt<ur.length;Xt+=1){var nr=ur[Xt],st=nr[0],Lr=nr[1];Lr.length===1?I.push(mt(Lr[0])):I.push(Lr.map(mt)),I.push(this.outputs[outputIndex$1].serialize())}return I.push(this.otherwise.serialize()),I};var Yc=function(y,I,U){this.type=y,this.branches=I,this.otherwise=U};Yc.parse=function(y,I){if(y.length<4)return I.error(\"Expected at least 3 arguments, but found only \"+(y.length-1)+\".\");if(y.length%2!==0)return I.error(\"Expected an odd number of arguments.\");var U;I.expectedType&&I.expectedType.kind!==\"value\"&&(U=I.expectedType);for(var J=[],ne=1;ne<y.length-1;ne+=2){var fe=I.parse(y[ne],ne,Co);if(!fe)return null;var Fe=I.parse(y[ne+1],ne+1,U);if(!Fe)return null;J.push([fe,Fe]),U=U||Fe.type}var Qe=I.parse(y[y.length-1],y.length-1,U);return Qe?new Yc(U,J,Qe):null},Yc.prototype.evaluate=function(y){for(var I=0,U=this.branches;I<U.length;I+=1){var J=U[I],ne=J[0],fe=J[1];if(ne.evaluate(y))return fe.evaluate(y)}return this.otherwise.evaluate(y)},Yc.prototype.eachChild=function(y){for(var I=0,U=this.branches;I<U.length;I+=1){var J=U[I],ne=J[0],fe=J[1];y(ne),y(fe)}y(this.otherwise)},Yc.prototype.outputDefined=function(){return this.branches.every(function(y){var I=y[0],U=y[1];return U.outputDefined()})&&this.otherwise.outputDefined()},Yc.prototype.serialize=function(){var y=[\"case\"];return this.eachChild(function(I){y.push(I.serialize())}),y};var nc=function(y,I,U,J){this.type=y,this.input=I,this.beginIndex=U,this.endIndex=J};nc.parse=function(y,I){if(y.length<=2||y.length>=5)return I.error(\"Expected 3 or 4 arguments, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,Zn);if(!U||!J)return null;if(!Of(U.type,[eu(So),ko,So]))return I.error(\"Expected first argument to be of type array or string, but found \"+Ls(U.type)+\" instead\");if(y.length===4){var ne=I.parse(y[3],3,Zn);return ne?new nc(U.type,U,J,ne):null}else return new nc(U.type,U,J)},nc.prototype.evaluate=function(y){var I=this.input.evaluate(y),U=this.beginIndex.evaluate(y);if(!Gc(I,[\"string\",\"array\"]))throw new Ms(\"Expected first argument to be of type array or string, but found \"+Ls(ws(I))+\" instead.\");if(this.endIndex){var J=this.endIndex.evaluate(y);return I.slice(U,J)}return I.slice(U)},nc.prototype.eachChild=function(y){y(this.input),y(this.beginIndex),this.endIndex&&y(this.endIndex)},nc.prototype.outputDefined=function(){return!1},nc.prototype.serialize=function(){if(this.endIndex!=null&&this.endIndex!==void 0){var y=this.endIndex.serialize();return[\"slice\",this.input.serialize(),this.beginIndex.serialize(),y]}return[\"slice\",this.input.serialize(),this.beginIndex.serialize()]};function gf(m,y){return m===\"==\"||m===\"!=\"?y.kind===\"boolean\"||y.kind===\"string\"||y.kind===\"number\"||y.kind===\"null\"||y.kind===\"value\":y.kind===\"string\"||y.kind===\"number\"||y.kind===\"value\"}function gt(m,y,I){return y===I}function Bt(m,y,I){return y!==I}function wr(m,y,I){return y<I}function vr(m,y,I){return y>I}function Ur(m,y,I){return y<=I}function fi(m,y,I){return y>=I}function xi(m,y,I,U){return U.compare(y,I)===0}function Fi(m,y,I,U){return!xi(m,y,I,U)}function Xi(m,y,I,U){return U.compare(y,I)<0}function hn(m,y,I,U){return U.compare(y,I)>0}function Ti(m,y,I,U){return U.compare(y,I)<=0}function qi(m,y,I,U){return U.compare(y,I)>=0}function Ii(m,y,I){var U=m!==\"==\"&&m!==\"!=\";return function(){function J(ne,fe,Fe){this.type=Co,this.lhs=ne,this.rhs=fe,this.collator=Fe,this.hasUntypedArgument=ne.type.kind===\"value\"||fe.type.kind===\"value\"}return J.parse=function(fe,Fe){if(fe.length!==3&&fe.length!==4)return Fe.error(\"Expected two or three arguments.\");var Qe=fe[0],st=Fe.parse(fe[1],1,So);if(!st)return null;if(!gf(Qe,st.type))return Fe.concat(1).error('\"'+Qe+`\" comparisons are not supported for type '`+Ls(st.type)+\"'.\");var mt=Fe.parse(fe[2],2,So);if(!mt)return null;if(!gf(Qe,mt.type))return Fe.concat(2).error('\"'+Qe+`\" comparisons are not supported for type '`+Ls(mt.type)+\"'.\");if(st.type.kind!==mt.type.kind&&st.type.kind!==\"value\"&&mt.type.kind!==\"value\")return Fe.error(\"Cannot compare types '\"+Ls(st.type)+\"' and '\"+Ls(mt.type)+\"'.\");U&&(st.type.kind===\"value\"&&mt.type.kind!==\"value\"?st=new Sl(mt.type,[st]):st.type.kind!==\"value\"&&mt.type.kind===\"value\"&&(mt=new Sl(st.type,[mt])));var Xt=null;if(fe.length===4){if(st.type.kind!==\"string\"&&mt.type.kind!==\"string\"&&st.type.kind!==\"value\"&&mt.type.kind!==\"value\")return Fe.error(\"Cannot use collator to compare non-string types.\");if(Xt=Fe.parse(fe[3],3,rh),!Xt)return null}return new J(st,mt,Xt)},J.prototype.evaluate=function(fe){var Fe=this.lhs.evaluate(fe),Qe=this.rhs.evaluate(fe);if(U&&this.hasUntypedArgument){var st=ws(Fe),mt=ws(Qe);if(st.kind!==mt.kind||!(st.kind===\"string\"||st.kind===\"number\"))throw new Ms('Expected arguments for \"'+m+'\" to be (string, string) or (number, number), but found ('+st.kind+\", \"+mt.kind+\") instead.\")}if(this.collator&&!U&&this.hasUntypedArgument){var Xt=ws(Fe),ur=ws(Qe);if(Xt.kind!==\"string\"||ur.kind!==\"string\")return y(fe,Fe,Qe)}return this.collator?I(fe,Fe,Qe,this.collator.evaluate(fe)):y(fe,Fe,Qe)},J.prototype.eachChild=function(fe){fe(this.lhs),fe(this.rhs),this.collator&&fe(this.collator)},J.prototype.outputDefined=function(){return!0},J.prototype.serialize=function(){var fe=[m];return this.eachChild(function(Fe){fe.push(Fe.serialize())}),fe},J}()}var mi=Ii(\"==\",gt,xi),Pn=Ii(\"!=\",Bt,Fi),Ma=Ii(\"<\",wr,Xi),Ta=Ii(\">\",vr,hn),Ea=Ii(\"<=\",Ur,Ti),qa=Ii(\">=\",fi,qi),Cn=function(y,I,U,J,ne){this.type=ko,this.number=y,this.locale=I,this.currency=U,this.minFractionDigits=J,this.maxFractionDigits=ne};Cn.parse=function(y,I){if(y.length!==3)return I.error(\"Expected two arguments.\");var U=I.parse(y[1],1,Zn);if(!U)return null;var J=y[2];if(typeof J!=\"object\"||Array.isArray(J))return I.error(\"NumberFormat options argument must be an object.\");var ne=null;if(J.locale&&(ne=I.parse(J.locale,1,ko),!ne))return null;var fe=null;if(J.currency&&(fe=I.parse(J.currency,1,ko),!fe))return null;var Fe=null;if(J[\"min-fraction-digits\"]&&(Fe=I.parse(J[\"min-fraction-digits\"],1,Zn),!Fe))return null;var Qe=null;return J[\"max-fraction-digits\"]&&(Qe=I.parse(J[\"max-fraction-digits\"],1,Zn),!Qe)?null:new Cn(U,ne,fe,Fe,Qe)},Cn.prototype.evaluate=function(y){return new Intl.NumberFormat(this.locale?this.locale.evaluate(y):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(y):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(y):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(y):void 0}).format(this.number.evaluate(y))},Cn.prototype.eachChild=function(y){y(this.number),this.locale&&y(this.locale),this.currency&&y(this.currency),this.minFractionDigits&&y(this.minFractionDigits),this.maxFractionDigits&&y(this.maxFractionDigits)},Cn.prototype.outputDefined=function(){return!1},Cn.prototype.serialize=function(){var y={};return this.locale&&(y.locale=this.locale.serialize()),this.currency&&(y.currency=this.currency.serialize()),this.minFractionDigits&&(y[\"min-fraction-digits\"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(y[\"max-fraction-digits\"]=this.maxFractionDigits.serialize()),[\"number-format\",this.number.serialize(),y]};var sn=function(y){this.type=Zn,this.input=y};sn.parse=function(y,I){if(y.length!==2)return I.error(\"Expected 1 argument, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1);return U?U.type.kind!==\"array\"&&U.type.kind!==\"string\"&&U.type.kind!==\"value\"?I.error(\"Expected argument of type string or array, but found \"+Ls(U.type)+\" instead.\"):new sn(U):null},sn.prototype.evaluate=function(y){var I=this.input.evaluate(y);if(typeof I==\"string\")return I.length;if(Array.isArray(I))return I.length;throw new Ms(\"Expected value to be of type string or array, but found \"+Ls(ws(I))+\" instead.\")},sn.prototype.eachChild=function(y){y(this.input)},sn.prototype.outputDefined=function(){return!1},sn.prototype.serialize=function(){var y=[\"length\"];return this.eachChild(function(I){y.push(I.serialize())}),y};var Ua={\"==\":mi,\"!=\":Pn,\">\":Ta,\"<\":Ma,\">=\":qa,\"<=\":Ea,array:Sl,at:gc,boolean:Sl,case:Yc,coalesce:Wu,collator:tc,format:ec,image:Ps,in:hl,\"index-of\":iu,interpolate:Dl,\"interpolate-hcl\":Dl,\"interpolate-lab\":Dl,length:sn,let:Rc,literal:hs,match:mc,number:Sl,\"number-format\":Cn,object:Sl,slice:nc,step:yu,string:Sl,\"to-boolean\":wo,\"to-color\":wo,\"to-number\":wo,\"to-string\":wo,var:Lc,within:Lu};function mo(m,y){var I=y[0],U=y[1],J=y[2],ne=y[3];I=I.evaluate(m),U=U.evaluate(m),J=J.evaluate(m);var fe=ne?ne.evaluate(m):1,Fe=hc(I,U,J,fe);if(Fe)throw new Ms(Fe);return new ss(I/255*fe,U/255*fe,J/255*fe,fe)}function Xo(m,y){return m in y}function Ts(m,y){var I=y[m];return typeof I==\"undefined\"?null:I}function Qo(m,y,I,U){for(;I<=U;){var J=I+U>>1;if(y[J]===m)return!0;y[J]>m?U=J-1:I=J+1}return!1}function ys(m){return{type:m}}Ja.register(Ua,{error:[cf,[ko],function(m,y){var I=y[0];throw new Ms(I.evaluate(m))}],typeof:[ko,[So],function(m,y){var I=y[0];return Ls(ws(I.evaluate(m)))}],\"to-rgba\":[eu(Zn,4),[Tl],function(m,y){var I=y[0];return I.evaluate(m).toArray()}],rgb:[Tl,[Zn,Zn,Zn],mo],rgba:[Tl,[Zn,Zn,Zn,Zn],mo],has:{type:Co,overloads:[[[ko],function(m,y){var I=y[0];return Xo(I.evaluate(m),m.properties())}],[[ko,uf],function(m,y){var I=y[0],U=y[1];return Xo(I.evaluate(m),U.evaluate(m))}]]},get:{type:So,overloads:[[[ko],function(m,y){var I=y[0];return Ts(I.evaluate(m),m.properties())}],[[ko,uf],function(m,y){var I=y[0],U=y[1];return Ts(I.evaluate(m),U.evaluate(m))}]]},\"feature-state\":[So,[ko],function(m,y){var I=y[0];return Ts(I.evaluate(m),m.featureState||{})}],properties:[uf,[],function(m){return m.properties()}],\"geometry-type\":[ko,[],function(m){return m.geometryType()}],id:[So,[],function(m){return m.id()}],zoom:[Zn,[],function(m){return m.globals.zoom}],\"heatmap-density\":[Zn,[],function(m){return m.globals.heatmapDensity||0}],\"line-progress\":[Zn,[],function(m){return m.globals.lineProgress||0}],accumulated:[So,[],function(m){return m.globals.accumulated===void 0?null:m.globals.accumulated}],\"+\":[Zn,ys(Zn),function(m,y){for(var I=0,U=0,J=y;U<J.length;U+=1){var ne=J[U];I+=ne.evaluate(m)}return I}],\"*\":[Zn,ys(Zn),function(m,y){for(var I=1,U=0,J=y;U<J.length;U+=1){var ne=J[U];I*=ne.evaluate(m)}return I}],\"-\":{type:Zn,overloads:[[[Zn,Zn],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)-U.evaluate(m)}],[[Zn],function(m,y){var I=y[0];return-I.evaluate(m)}]]},\"/\":[Zn,[Zn,Zn],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)/U.evaluate(m)}],\"%\":[Zn,[Zn,Zn],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)%U.evaluate(m)}],ln2:[Zn,[],function(){return Math.LN2}],pi:[Zn,[],function(){return Math.PI}],e:[Zn,[],function(){return Math.E}],\"^\":[Zn,[Zn,Zn],function(m,y){var I=y[0],U=y[1];return Math.pow(I.evaluate(m),U.evaluate(m))}],sqrt:[Zn,[Zn],function(m,y){var I=y[0];return Math.sqrt(I.evaluate(m))}],log10:[Zn,[Zn],function(m,y){var I=y[0];return Math.log(I.evaluate(m))/Math.LN10}],ln:[Zn,[Zn],function(m,y){var I=y[0];return Math.log(I.evaluate(m))}],log2:[Zn,[Zn],function(m,y){var I=y[0];return Math.log(I.evaluate(m))/Math.LN2}],sin:[Zn,[Zn],function(m,y){var I=y[0];return Math.sin(I.evaluate(m))}],cos:[Zn,[Zn],function(m,y){var I=y[0];return Math.cos(I.evaluate(m))}],tan:[Zn,[Zn],function(m,y){var I=y[0];return Math.tan(I.evaluate(m))}],asin:[Zn,[Zn],function(m,y){var I=y[0];return Math.asin(I.evaluate(m))}],acos:[Zn,[Zn],function(m,y){var I=y[0];return Math.acos(I.evaluate(m))}],atan:[Zn,[Zn],function(m,y){var I=y[0];return Math.atan(I.evaluate(m))}],min:[Zn,ys(Zn),function(m,y){return Math.min.apply(Math,y.map(function(I){return I.evaluate(m)}))}],max:[Zn,ys(Zn),function(m,y){return Math.max.apply(Math,y.map(function(I){return I.evaluate(m)}))}],abs:[Zn,[Zn],function(m,y){var I=y[0];return Math.abs(I.evaluate(m))}],round:[Zn,[Zn],function(m,y){var I=y[0],U=I.evaluate(m);return U<0?-Math.round(-U):Math.round(U)}],floor:[Zn,[Zn],function(m,y){var I=y[0];return Math.floor(I.evaluate(m))}],ceil:[Zn,[Zn],function(m,y){var I=y[0];return Math.ceil(I.evaluate(m))}],\"filter-==\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1];return m.properties()[I.value]===U.value}],\"filter-id-==\":[Co,[So],function(m,y){var I=y[0];return m.id()===I.value}],\"filter-type-==\":[Co,[ko],function(m,y){var I=y[0];return m.geometryType()===I.value}],\"filter-<\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J<ne}],\"filter-id-<\":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U<J}],\"filter->\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J>ne}],\"filter-id->\":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U>J}],\"filter-<=\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J<=ne}],\"filter-id-<=\":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U<=J}],\"filter->=\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J>=ne}],\"filter-id->=\":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U>=J}],\"filter-has\":[Co,[So],function(m,y){var I=y[0];return I.value in m.properties()}],\"filter-has-id\":[Co,[],function(m){return m.id()!==null&&m.id()!==void 0}],\"filter-type-in\":[Co,[eu(ko)],function(m,y){var I=y[0];return I.value.indexOf(m.geometryType())>=0}],\"filter-id-in\":[Co,[eu(So)],function(m,y){var I=y[0];return I.value.indexOf(m.id())>=0}],\"filter-in-small\":[Co,[ko,eu(So)],function(m,y){var I=y[0],U=y[1];return U.value.indexOf(m.properties()[I.value])>=0}],\"filter-in-large\":[Co,[ko,eu(So)],function(m,y){var I=y[0],U=y[1];return Qo(m.properties()[I.value],U.value,0,U.value.length-1)}],all:{type:Co,overloads:[[[Co,Co],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)&&U.evaluate(m)}],[ys(Co),function(m,y){for(var I=0,U=y;I<U.length;I+=1){var J=U[I];if(!J.evaluate(m))return!1}return!0}]]},any:{type:Co,overloads:[[[Co,Co],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)||U.evaluate(m)}],[ys(Co),function(m,y){for(var I=0,U=y;I<U.length;I+=1){var J=U[I];if(J.evaluate(m))return!0}return!1}]]},\"!\":[Co,[Co],function(m,y){var I=y[0];return!I.evaluate(m)}],\"is-supported-script\":[Co,[ko],function(m,y){var I=y[0],U=m.globals&&m.globals.isSupportedScript;return U?U(I.evaluate(m)):!0}],upcase:[ko,[ko],function(m,y){var I=y[0];return I.evaluate(m).toUpperCase()}],downcase:[ko,[ko],function(m,y){var I=y[0];return I.evaluate(m).toLowerCase()}],concat:[ko,ys(So),function(m,y){return y.map(function(I){return $s(I.evaluate(m))}).join(\"\")}],\"resolved-locale\":[ko,[rh],function(m,y){var I=y[0];return I.evaluate(m).resolvedLocale()}]});function Bo(m){return{result:\"success\",value:m}}function yl(m){return{result:\"error\",value:m}}function Gs(m){return m[\"property-type\"]===\"data-driven\"||m[\"property-type\"]===\"cross-faded-data-driven\"}function Rs(m){return!!m.expression&&m.expression.parameters.indexOf(\"zoom\")>-1}function ia(m){return!!m.expression&&m.expression.interpolated}function Ka(m){return m instanceof Number?\"number\":m instanceof String?\"string\":m instanceof Boolean?\"boolean\":Array.isArray(m)?\"array\":m===null?\"null\":typeof m}function vs(m){return typeof m==\"object\"&&m!==null&&!Array.isArray(m)}function Ko(m){return m}function nu(m,y){var I=y.type===\"color\",U=m.stops&&typeof m.stops[0][0]==\"object\",J=U||m.property!==void 0,ne=U||!J,fe=m.type||(ia(y)?\"exponential\":\"interval\");if(I&&(m=Rl({},m),m.stops&&(m.stops=m.stops.map(function($n){return[$n[0],ss.parse($n[1])]})),m.default?m.default=ss.parse(m.default):m.default=ss.parse(y.default)),m.colorSpace&&m.colorSpace!==\"rgb\"&&!Ph[m.colorSpace])throw new Error(\"Unknown color space: \"+m.colorSpace);var Fe,Qe,st;if(fe===\"exponential\")Fe=bu;else if(fe===\"interval\")Fe=mf;else if(fe===\"categorical\"){Fe=ac,Qe=Object.create(null);for(var mt=0,Xt=m.stops;mt<Xt.length;mt+=1){var ur=Xt[mt];Qe[ur[0]]=ur[1]}st=typeof m.stops[0][0]}else if(fe===\"identity\")Fe=Kc;else throw new Error('Unknown function type \"'+fe+'\"');if(U){for(var nr={},Lr=[],Yr=0;Yr<m.stops.length;Yr++){var _i=m.stops[Yr],si=_i[0].zoom;nr[si]===void 0&&(nr[si]={zoom:si,type:m.type,property:m.property,default:m.default,stops:[]},Lr.push(si)),nr[si].stops.push([_i[0].value,_i[1]])}for(var Hi=[],Ei=0,Vi=Lr;Ei<Vi.length;Ei+=1){var en=Vi[Ei];Hi.push([nr[en].zoom,nu(nr[en],y)])}var An={name:\"linear\"};return{kind:\"composite\",interpolationType:An,interpolationFactor:Dl.interpolationFactor.bind(void 0,An),zoomStops:Hi.map(function($n){return $n[0]}),evaluate:function(Ba,_a){var Pa=Ba.zoom;return bu({stops:Hi,base:m.base},y,Pa).evaluate(Pa,_a)}}}else if(ne){var ra=fe===\"exponential\"?{name:\"exponential\",base:m.base!==void 0?m.base:1}:null;return{kind:\"camera\",interpolationType:ra,interpolationFactor:Dl.interpolationFactor.bind(void 0,ra),zoomStops:m.stops.map(function($n){return $n[0]}),evaluate:function($n){var Ba=$n.zoom;return Fe(m,y,Ba,Qe,st)}}}else return{kind:\"source\",evaluate:function(Ba,_a){var Pa=_a&&_a.properties?_a.properties[m.property]:void 0;return Pa===void 0?Ru(m.default,y.default):Fe(m,y,Pa,Qe,st)}}}function Ru(m,y,I){if(m!==void 0)return m;if(y!==void 0)return y;if(I!==void 0)return I}function ac(m,y,I,U,J){var ne=typeof I===J?U[I]:void 0;return Ru(ne,m.default,y.default)}function mf(m,y,I){if(Ka(I)!==\"number\")return Ru(m.default,y.default);var U=m.stops.length;if(U===1||I<=m.stops[0][0])return m.stops[0][1];if(I>=m.stops[U-1][0])return m.stops[U-1][1];var J=ic(m.stops.map(function(ne){return ne[0]}),I);return m.stops[J][1]}function bu(m,y,I){var U=m.base!==void 0?m.base:1;if(Ka(I)!==\"number\")return Ru(m.default,y.default);var J=m.stops.length;if(J===1||I<=m.stops[0][0])return m.stops[0][1];if(I>=m.stops[J-1][0])return m.stops[J-1][1];var ne=ic(m.stops.map(function(Xt){return Xt[0]}),I),fe=Du(I,U,m.stops[ne][0],m.stops[ne+1][0]),Fe=m.stops[ne][1],Qe=m.stops[ne+1][1],st=Gu[y.type]||Ko;if(m.colorSpace&&m.colorSpace!==\"rgb\"){var mt=Ph[m.colorSpace];st=function(Xt,ur){return mt.reverse(mt.interpolate(mt.forward(Xt),mt.forward(ur),fe))}}return typeof Fe.evaluate==\"function\"?{evaluate:function(){for(var ur=[],nr=arguments.length;nr--;)ur[nr]=arguments[nr];var Lr=Fe.evaluate.apply(void 0,ur),Yr=Qe.evaluate.apply(void 0,ur);if(!(Lr===void 0||Yr===void 0))return st(Lr,Yr,fe)}}:st(Fe,Qe,fe)}function Kc(m,y,I){return y.type===\"color\"?I=ss.parse(I):y.type===\"formatted\"?I=Vl.fromString(I.toString()):y.type===\"resolvedImage\"?I=Js.fromString(I.toString()):Ka(I)!==y.type&&(y.type!==\"enum\"||!y.values[I])&&(I=void 0),Ru(I,m.default,y.default)}function Du(m,y,I,U){var J=U-I,ne=m-I;return J===0?0:y===1?ne/J:(Math.pow(y,ne)-1)/(Math.pow(y,J)-1)}var Dc=function(y,I){this.expression=y,this._warningHistory={},this._evaluator=new $o,this._defaultValue=I?ee(I):null,this._enumValues=I&&I.type===\"enum\"?I.values:null};Dc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._evaluator.globals=y,this._evaluator.feature=I,this._evaluator.featureState=U,this._evaluator.canonical=J,this._evaluator.availableImages=ne||null,this._evaluator.formattedSection=fe,this.expression.evaluate(this._evaluator)},Dc.prototype.evaluate=function(y,I,U,J,ne,fe){this._evaluator.globals=y,this._evaluator.feature=I||null,this._evaluator.featureState=U||null,this._evaluator.canonical=J,this._evaluator.availableImages=ne||null,this._evaluator.formattedSection=fe||null;try{var Fe=this.expression.evaluate(this._evaluator);if(Fe==null||typeof Fe==\"number\"&&Fe!==Fe)return this._defaultValue;if(this._enumValues&&!(Fe in this._enumValues))throw new Ms(\"Expected value to be one of \"+Object.keys(this._enumValues).map(function(Qe){return JSON.stringify(Qe)}).join(\", \")+\", but found \"+JSON.stringify(Fe)+\" instead.\");return Fe}catch(Qe){return this._warningHistory[Qe.message]||(this._warningHistory[Qe.message]=!0,typeof console!=\"undefined\"&&console.warn(Qe.message)),this._defaultValue}};function Da(m){return Array.isArray(m)&&m.length>0&&typeof m[0]==\"string\"&&m[0]in Ua}function eo(m,y){var I=new fl(Ua,[],y?Q(y):void 0),U=I.parse(m,void 0,void 0,void 0,y&&y.type===\"string\"?{typeAnnotation:\"coerce\"}:void 0);return U?Bo(new Dc(U,y)):yl(I.errors)}var Jc=function(y,I){this.kind=y,this._styleExpression=I,this.isStateDependent=y!==\"constant\"&&!tu(I.expression)};Jc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._styleExpression.evaluateWithoutErrorHandling(y,I,U,J,ne,fe)},Jc.prototype.evaluate=function(y,I,U,J,ne,fe){return this._styleExpression.evaluate(y,I,U,J,ne,fe)};var yc=function(y,I,U,J){this.kind=y,this.zoomStops=U,this._styleExpression=I,this.isStateDependent=y!==\"camera\"&&!tu(I.expression),this.interpolationType=J};yc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._styleExpression.evaluateWithoutErrorHandling(y,I,U,J,ne,fe)},yc.prototype.evaluate=function(y,I,U,J,ne,fe){return this._styleExpression.evaluate(y,I,U,J,ne,fe)},yc.prototype.interpolationFactor=function(y,I,U){return this.interpolationType?Dl.interpolationFactor(this.interpolationType,y,I,U):0};function _c(m,y){if(m=eo(m,y),m.result===\"error\")return m;var I=m.value.expression,U=$h(I);if(!U&&!Gs(y))return yl([new Ks(\"\",\"data expressions not supported\")]);var J=Pu(I,[\"zoom\"]);if(!J&&!Rs(y))return yl([new Ks(\"\",\"zoom expressions not supported\")]);var ne=B(I);if(!ne&&!J)return yl([new Ks(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')]);if(ne instanceof Ks)return yl([ne]);if(ne instanceof Dl&&!ia(y))return yl([new Ks(\"\",'\"interpolate\" expressions cannot be used with this property')]);if(!ne)return Bo(U?new Jc(\"constant\",m.value):new Jc(\"source\",m.value));var fe=ne instanceof Dl?ne.interpolation:void 0;return Bo(U?new yc(\"camera\",m.value,ne.labels,fe):new yc(\"composite\",m.value,ne.labels,fe))}var le=function(y,I){this._parameters=y,this._specification=I,Rl(this,nu(this._parameters,this._specification))};le.deserialize=function(y){return new le(y._parameters,y._specification)},le.serialize=function(y){return{_parameters:y._parameters,_specification:y._specification}};function w(m,y){if(vs(m))return new le(m,y);if(Da(m)){var I=_c(m,y);if(I.result===\"error\")throw new Error(I.value.map(function(J){return J.key+\": \"+J.message}).join(\", \"));return I.value}else{var U=m;return typeof m==\"string\"&&y.type===\"color\"&&(U=ss.parse(m)),{kind:\"constant\",evaluate:function(){return U}}}}function B(m){var y=null;if(m instanceof Rc)y=B(m.result);else if(m instanceof Wu)for(var I=0,U=m.args;I<U.length;I+=1){var J=U[I];if(y=B(J),y)break}else(m instanceof yu||m instanceof Dl)&&m.input instanceof Ja&&m.input.name===\"zoom\"&&(y=m);return y instanceof Ks||m.eachChild(function(ne){var fe=B(ne);fe instanceof Ks?y=fe:!y&&fe?y=new Ks(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):y&&fe&&y!==fe&&(y=new Ks(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))}),y}function Q(m){var y={color:Tl,string:ko,number:Zn,enum:ko,boolean:Co,formatted:Al,resolvedImage:Hc};return m.type===\"array\"?eu(y[m.value]||So,m.length):y[m.type]}function ee(m){return m.type===\"color\"&&vs(m.default)?new ss(0,0,0,0):m.type===\"color\"?ss.parse(m.default)||null:m.default===void 0?null:m.default}function se(m){var y=m.key,I=m.value,U=m.valueSpec||{},J=m.objectElementValidators||{},ne=m.style,fe=m.styleSpec,Fe=[],Qe=Ka(I);if(Qe!==\"object\")return[new fa(y,I,\"object expected, \"+Qe+\" found\")];for(var st in I){var mt=st.split(\".\")[0],Xt=U[mt]||U[\"*\"],ur=void 0;if(J[mt])ur=J[mt];else if(U[mt])ur=Wa;else if(J[\"*\"])ur=J[\"*\"];else if(U[\"*\"])ur=Wa;else{Fe.push(new fa(y,I[st],'unknown property \"'+st+'\"'));continue}Fe=Fe.concat(ur({key:(y&&y+\".\")+st,value:I[st],valueSpec:Xt,style:ne,styleSpec:fe,object:I,objectKey:st},I))}for(var nr in U)J[nr]||U[nr].required&&U[nr].default===void 0&&I[nr]===void 0&&Fe.push(new fa(y,I,'missing required property \"'+nr+'\"'));return Fe}function qe(m){var y=m.value,I=m.valueSpec,U=m.style,J=m.styleSpec,ne=m.key,fe=m.arrayElementValidator||Wa;if(Ka(y)!==\"array\")return[new fa(ne,y,\"array expected, \"+Ka(y)+\" found\")];if(I.length&&y.length!==I.length)return[new fa(ne,y,\"array length \"+I.length+\" expected, length \"+y.length+\" found\")];if(I[\"min-length\"]&&y.length<I[\"min-length\"])return[new fa(ne,y,\"array length at least \"+I[\"min-length\"]+\" expected, length \"+y.length+\" found\")];var Fe={type:I.value,values:I.values};J.$version<7&&(Fe.function=I.function),Ka(I.value)===\"object\"&&(Fe=I.value);for(var Qe=[],st=0;st<y.length;st++)Qe=Qe.concat(fe({array:y,arrayIndex:st,value:y[st],valueSpec:Fe,style:U,styleSpec:J,key:ne+\"[\"+st+\"]\"}));return Qe}function je(m){var y=m.key,I=m.value,U=m.valueSpec,J=Ka(I);return J===\"number\"&&I!==I&&(J=\"NaN\"),J!==\"number\"?[new fa(y,I,\"number expected, \"+J+\" found\")]:\"minimum\"in U&&I<U.minimum?[new fa(y,I,I+\" is less than the minimum value \"+U.minimum)]:\"maximum\"in U&&I>U.maximum?[new fa(y,I,I+\" is greater than the maximum value \"+U.maximum)]:[]}function it(m){var y=m.valueSpec,I=vo(m.value.type),U,J={},ne,fe,Fe=I!==\"categorical\"&&m.value.property===void 0,Qe=!Fe,st=Ka(m.value.stops)===\"array\"&&Ka(m.value.stops[0])===\"array\"&&Ka(m.value.stops[0][0])===\"object\",mt=se({key:m.key,value:m.value,valueSpec:m.styleSpec.function,style:m.style,styleSpec:m.styleSpec,objectElementValidators:{stops:Xt,default:Lr}});return I===\"identity\"&&Fe&&mt.push(new fa(m.key,m.value,'missing required property \"property\"')),I!==\"identity\"&&!m.value.stops&&mt.push(new fa(m.key,m.value,'missing required property \"stops\"')),I===\"exponential\"&&m.valueSpec.expression&&!ia(m.valueSpec)&&mt.push(new fa(m.key,m.value,\"exponential functions not supported\")),m.styleSpec.$version>=8&&(Qe&&!Gs(m.valueSpec)?mt.push(new fa(m.key,m.value,\"property functions not supported\")):Fe&&!Rs(m.valueSpec)&&mt.push(new fa(m.key,m.value,\"zoom functions not supported\"))),(I===\"categorical\"||st)&&m.value.property===void 0&&mt.push(new fa(m.key,m.value,'\"property\" property is required')),mt;function Xt(Yr){if(I===\"identity\")return[new fa(Yr.key,Yr.value,'identity function may not have a \"stops\" property')];var _i=[],si=Yr.value;return _i=_i.concat(qe({key:Yr.key,value:si,valueSpec:Yr.valueSpec,style:Yr.style,styleSpec:Yr.styleSpec,arrayElementValidator:ur})),Ka(si)===\"array\"&&si.length===0&&_i.push(new fa(Yr.key,si,\"array must have at least one stop\")),_i}function ur(Yr){var _i=[],si=Yr.value,Hi=Yr.key;if(Ka(si)!==\"array\")return[new fa(Hi,si,\"array expected, \"+Ka(si)+\" found\")];if(si.length!==2)return[new fa(Hi,si,\"array length 2 expected, length \"+si.length+\" found\")];if(st){if(Ka(si[0])!==\"object\")return[new fa(Hi,si,\"object expected, \"+Ka(si[0])+\" found\")];if(si[0].zoom===void 0)return[new fa(Hi,si,\"object stop key must have zoom\")];if(si[0].value===void 0)return[new fa(Hi,si,\"object stop key must have value\")];if(fe&&fe>vo(si[0].zoom))return[new fa(Hi,si[0].zoom,\"stop zoom values must appear in ascending order\")];vo(si[0].zoom)!==fe&&(fe=vo(si[0].zoom),ne=void 0,J={}),_i=_i.concat(se({key:Hi+\"[0]\",value:si[0],valueSpec:{zoom:{}},style:Yr.style,styleSpec:Yr.styleSpec,objectElementValidators:{zoom:je,value:nr}}))}else _i=_i.concat(nr({key:Hi+\"[0]\",value:si[0],valueSpec:{},style:Yr.style,styleSpec:Yr.styleSpec},si));return Da(Zl(si[1]))?_i.concat([new fa(Hi+\"[1]\",si[1],\"expressions are not allowed in function stops.\")]):_i.concat(Wa({key:Hi+\"[1]\",value:si[1],valueSpec:y,style:Yr.style,styleSpec:Yr.styleSpec}))}function nr(Yr,_i){var si=Ka(Yr.value),Hi=vo(Yr.value),Ei=Yr.value!==null?Yr.value:_i;if(!U)U=si;else if(si!==U)return[new fa(Yr.key,Ei,si+\" stop domain type must match previous stop domain type \"+U)];if(si!==\"number\"&&si!==\"string\"&&si!==\"boolean\")return[new fa(Yr.key,Ei,\"stop domain value must be a number, string, or boolean\")];if(si!==\"number\"&&I!==\"categorical\"){var Vi=\"number expected, \"+si+\" found\";return Gs(y)&&I===void 0&&(Vi+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new fa(Yr.key,Ei,Vi)]}return I===\"categorical\"&&si===\"number\"&&(!isFinite(Hi)||Math.floor(Hi)!==Hi)?[new fa(Yr.key,Ei,\"integer expected, found \"+Hi)]:I!==\"categorical\"&&si===\"number\"&&ne!==void 0&&Hi<ne?[new fa(Yr.key,Ei,\"stop domain values must appear in ascending order\")]:(ne=Hi,I===\"categorical\"&&Hi in J?[new fa(Yr.key,Ei,\"stop domain values must be unique\")]:(J[Hi]=!0,[]))}function Lr(Yr){return Wa({key:Yr.key,value:Yr.value,valueSpec:y,style:Yr.style,styleSpec:Yr.styleSpec})}}function yt(m){var y=(m.expressionContext===\"property\"?_c:eo)(Zl(m.value),m.valueSpec);if(y.result===\"error\")return y.value.map(function(U){return new fa(\"\"+m.key+U.key,m.value,U.message)});var I=y.value.expression||y.value._styleExpression.expression;if(m.expressionContext===\"property\"&&m.propertyKey===\"text-font\"&&!I.outputDefined())return[new fa(m.key,m.value,'Invalid data expression for \"'+m.propertyKey+'\". Output values must be contained as literals within the expression.')];if(m.expressionContext===\"property\"&&m.propertyType===\"layout\"&&!tu(I))return[new fa(m.key,m.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(m.expressionContext===\"filter\"&&!tu(I))return[new fa(m.key,m.value,'\"feature-state\" data expressions are not supported with filters.')];if(m.expressionContext&&m.expressionContext.indexOf(\"cluster\")===0){if(!Pu(I,[\"zoom\",\"feature-state\"]))return[new fa(m.key,m.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(m.expressionContext===\"cluster-initial\"&&!$h(I))return[new fa(m.key,m.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function Ot(m){var y=m.value,I=m.key,U=Ka(y);return U!==\"boolean\"?[new fa(I,y,\"boolean expected, \"+U+\" found\")]:[]}function Nt(m){var y=m.key,I=m.value,U=Ka(I);return U!==\"string\"?[new fa(y,I,\"color expected, \"+U+\" found\")]:Bf(I)===null?[new fa(y,I,'color expected, \"'+I+'\" found')]:[]}function hr(m){var y=m.key,I=m.value,U=m.valueSpec,J=[];return Array.isArray(U.values)?U.values.indexOf(vo(I))===-1&&J.push(new fa(y,I,\"expected one of [\"+U.values.join(\", \")+\"], \"+JSON.stringify(I)+\" found\")):Object.keys(U.values).indexOf(vo(I))===-1&&J.push(new fa(y,I,\"expected one of [\"+Object.keys(U.values).join(\", \")+\"], \"+JSON.stringify(I)+\" found\")),J}function Sr(m){if(m===!0||m===!1)return!0;if(!Array.isArray(m)||m.length===0)return!1;switch(m[0]){case\"has\":return m.length>=2&&m[1]!==\"$id\"&&m[1]!==\"$type\";case\"in\":return m.length>=3&&(typeof m[1]!=\"string\"||Array.isArray(m[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return m.length!==3||Array.isArray(m[1])||Array.isArray(m[2]);case\"any\":case\"all\":for(var y=0,I=m.slice(1);y<I.length;y+=1){var U=I[y];if(!Sr(U)&&typeof U!=\"boolean\")return!1}return!0;default:return!0}}var he={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function be(m){if(m==null)return{filter:function(){return!0},needGeometry:!1};Sr(m)||(m=Je(m));var y=eo(m,he);if(y.result===\"error\")throw new Error(y.value.map(function(U){return U.key+\": \"+U.message}).join(\", \"));var I=Oe(m);return{filter:function(U,J,ne){return y.value.evaluate(U,J,{},ne)},needGeometry:I}}function Pe(m,y){return m<y?-1:m>y?1:0}function Oe(m){if(!Array.isArray(m))return!1;if(m[0]===\"within\")return!0;for(var y=1;y<m.length;y++)if(Oe(m[y]))return!0;return!1}function Je(m){if(!m)return!0;var y=m[0];if(m.length<=1)return y!==\"any\";var I=y===\"==\"?He(m[1],m[2],\"==\"):y===\"!=\"?Ut(He(m[1],m[2],\"==\")):y===\"<\"||y===\">\"||y===\"<=\"||y===\">=\"?He(m[1],m[2],y):y===\"any\"?et(m.slice(1)):y===\"all\"?[\"all\"].concat(m.slice(1).map(Je)):y===\"none\"?[\"all\"].concat(m.slice(1).map(Je).map(Ut)):y===\"in\"?Mt(m[1],m.slice(2)):y===\"!in\"?Ut(Mt(m[1],m.slice(2))):y===\"has\"?Dt(m[1]):y===\"!has\"?Ut(Dt(m[1])):y===\"within\"?m:!0;return I}function He(m,y,I){switch(m){case\"$type\":return[\"filter-type-\"+I,y];case\"$id\":return[\"filter-id-\"+I,y];default:return[\"filter-\"+I,m,y]}}function et(m){return[\"any\"].concat(m.map(Je))}function Mt(m,y){if(y.length===0)return!1;switch(m){case\"$type\":return[\"filter-type-in\",[\"literal\",y]];case\"$id\":return[\"filter-id-in\",[\"literal\",y]];default:return y.length>200&&!y.some(function(I){return typeof I!=typeof y[0]})?[\"filter-in-large\",m,[\"literal\",y.sort(Pe)]]:[\"filter-in-small\",m,[\"literal\",y]]}}function Dt(m){switch(m){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",m]}}function Ut(m){return[\"!\",m]}function tr(m){return Sr(Zl(m.value))?yt(Rl({},m,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):mr(m)}function mr(m){var y=m.value,I=m.key;if(Ka(y)!==\"array\")return[new fa(I,y,\"array expected, \"+Ka(y)+\" found\")];var U=m.styleSpec,J,ne=[];if(y.length<1)return[new fa(I,y,\"filter array must have at least 1 element\")];switch(ne=ne.concat(hr({key:I+\"[0]\",value:y[0],valueSpec:U.filter_operator,style:m.style,styleSpec:m.styleSpec})),vo(y[0])){case\"<\":case\"<=\":case\">\":case\">=\":y.length>=2&&vo(y[1])===\"$type\"&&ne.push(new fa(I,y,'\"$type\" cannot be use with operator \"'+y[0]+'\"'));case\"==\":case\"!=\":y.length!==3&&ne.push(new fa(I,y,'filter array for operator \"'+y[0]+'\" must have 3 elements'));case\"in\":case\"!in\":y.length>=2&&(J=Ka(y[1]),J!==\"string\"&&ne.push(new fa(I+\"[1]\",y[1],\"string expected, \"+J+\" found\")));for(var fe=2;fe<y.length;fe++)J=Ka(y[fe]),vo(y[1])===\"$type\"?ne=ne.concat(hr({key:I+\"[\"+fe+\"]\",value:y[fe],valueSpec:U.geometry_type,style:m.style,styleSpec:m.styleSpec})):J!==\"string\"&&J!==\"number\"&&J!==\"boolean\"&&ne.push(new fa(I+\"[\"+fe+\"]\",y[fe],\"string, number, or boolean expected, \"+J+\" found\"));break;case\"any\":case\"all\":case\"none\":for(var Fe=1;Fe<y.length;Fe++)ne=ne.concat(mr({key:I+\"[\"+Fe+\"]\",value:y[Fe],style:m.style,styleSpec:m.styleSpec}));break;case\"has\":case\"!has\":J=Ka(y[1]),y.length!==2?ne.push(new fa(I,y,'filter array for \"'+y[0]+'\" operator must have 2 elements')):J!==\"string\"&&ne.push(new fa(I+\"[1]\",y[1],\"string expected, \"+J+\" found\"));break;case\"within\":J=Ka(y[1]),y.length!==2?ne.push(new fa(I,y,'filter array for \"'+y[0]+'\" operator must have 2 elements')):J!==\"object\"&&ne.push(new fa(I+\"[1]\",y[1],\"object expected, \"+J+\" found\"));break}return ne}function Rr(m,y){var I=m.key,U=m.style,J=m.styleSpec,ne=m.value,fe=m.objectKey,Fe=J[y+\"_\"+m.layerType];if(!Fe)return[];var Qe=fe.match(/^(.*)-transition$/);if(y===\"paint\"&&Qe&&Fe[Qe[1]]&&Fe[Qe[1]].transition)return Wa({key:I,value:ne,valueSpec:J.transition,style:U,styleSpec:J});var st=m.valueSpec||Fe[fe];if(!st)return[new fa(I,ne,'unknown property \"'+fe+'\"')];var mt;if(Ka(ne)===\"string\"&&Gs(st)&&!st.tokens&&(mt=/^{([^}]+)}$/.exec(ne)))return[new fa(I,ne,'\"'+fe+'\" does not support interpolation syntax\\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": '+JSON.stringify(mt[1])+\" }`.\")];var Xt=[];return m.layerType===\"symbol\"&&(fe===\"text-field\"&&U&&!U.glyphs&&Xt.push(new fa(I,ne,'use of \"text-field\" requires a style \"glyphs\" property')),fe===\"text-font\"&&vs(Zl(ne))&&vo(ne.type)===\"identity\"&&Xt.push(new fa(I,ne,'\"text-font\" does not support identity functions'))),Xt.concat(Wa({key:m.key,value:ne,valueSpec:st,style:U,styleSpec:J,expressionContext:\"property\",propertyType:y,propertyKey:fe}))}function zr(m){return Rr(m,\"paint\")}function Xr(m){return Rr(m,\"layout\")}function di(m){var y=[],I=m.value,U=m.key,J=m.style,ne=m.styleSpec;!I.type&&!I.ref&&y.push(new fa(U,I,'either \"type\" or \"ref\" is required'));var fe=vo(I.type),Fe=vo(I.ref);if(I.id)for(var Qe=vo(I.id),st=0;st<m.arrayIndex;st++){var mt=J.layers[st];vo(mt.id)===Qe&&y.push(new fa(U,I.id,'duplicate layer id \"'+I.id+'\", previously used at line '+mt.id.__line__))}if(\"ref\"in I){[\"type\",\"source\",\"source-layer\",\"filter\",\"layout\"].forEach(function(Lr){Lr in I&&y.push(new fa(U,I[Lr],'\"'+Lr+'\" is prohibited for ref layers'))});var Xt;J.layers.forEach(function(Lr){vo(Lr.id)===Fe&&(Xt=Lr)}),Xt?Xt.ref?y.push(new fa(U,I.ref,\"ref cannot reference another ref layer\")):fe=vo(Xt.type):y.push(new fa(U,I.ref,'ref layer \"'+Fe+'\" not found'))}else if(fe!==\"background\")if(!I.source)y.push(new fa(U,I,'missing required property \"source\"'));else{var ur=J.sources&&J.sources[I.source],nr=ur&&vo(ur.type);ur?nr===\"vector\"&&fe===\"raster\"?y.push(new fa(U,I.source,'layer \"'+I.id+'\" requires a raster source')):nr===\"raster\"&&fe!==\"raster\"?y.push(new fa(U,I.source,'layer \"'+I.id+'\" requires a vector source')):nr===\"vector\"&&!I[\"source-layer\"]?y.push(new fa(U,I,'layer \"'+I.id+'\" must specify a \"source-layer\"')):nr===\"raster-dem\"&&fe!==\"hillshade\"?y.push(new fa(U,I.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):fe===\"line\"&&I.paint&&I.paint[\"line-gradient\"]&&(nr!==\"geojson\"||!ur.lineMetrics)&&y.push(new fa(U,I,'layer \"'+I.id+'\" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.')):y.push(new fa(U,I.source,'source \"'+I.source+'\" not found'))}return y=y.concat(se({key:U,value:I,valueSpec:ne.layer,style:m.style,styleSpec:m.styleSpec,objectElementValidators:{\"*\":function(){return[]},type:function(){return Wa({key:U+\".type\",value:I.type,valueSpec:ne.layer.type,style:m.style,styleSpec:m.styleSpec,object:I,objectKey:\"type\"})},filter:tr,layout:function(Yr){return se({layer:I,key:Yr.key,value:Yr.value,style:Yr.style,styleSpec:Yr.styleSpec,objectElementValidators:{\"*\":function(si){return Xr(Rl({layerType:fe},si))}}})},paint:function(Yr){return se({layer:I,key:Yr.key,value:Yr.value,style:Yr.style,styleSpec:Yr.styleSpec,objectElementValidators:{\"*\":function(si){return zr(Rl({layerType:fe},si))}}})}}})),y}function Li(m){var y=m.value,I=m.key,U=Ka(y);return U!==\"string\"?[new fa(I,y,\"string expected, \"+U+\" found\")]:[]}var Ci={promoteId:Mn};function Qi(m){var y=m.value,I=m.key,U=m.styleSpec,J=m.style;if(!y.type)return[new fa(I,y,'\"type\" is required')];var ne=vo(y.type),fe;switch(ne){case\"vector\":case\"raster\":case\"raster-dem\":return fe=se({key:I,value:y,valueSpec:U[\"source_\"+ne.replace(\"-\",\"_\")],style:m.style,styleSpec:U,objectElementValidators:Ci}),fe;case\"geojson\":if(fe=se({key:I,value:y,valueSpec:U.source_geojson,style:J,styleSpec:U,objectElementValidators:Ci}),y.cluster)for(var Fe in y.clusterProperties){var Qe=y.clusterProperties[Fe],st=Qe[0],mt=Qe[1],Xt=typeof st==\"string\"?[st,[\"accumulated\"],[\"get\",Fe]]:st;fe.push.apply(fe,yt({key:I+\".\"+Fe+\".map\",value:mt,expressionContext:\"cluster-map\"})),fe.push.apply(fe,yt({key:I+\".\"+Fe+\".reduce\",value:Xt,expressionContext:\"cluster-reduce\"}))}return fe;case\"video\":return se({key:I,value:y,valueSpec:U.source_video,style:J,styleSpec:U});case\"image\":return se({key:I,value:y,valueSpec:U.source_image,style:J,styleSpec:U});case\"canvas\":return[new fa(I,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return hr({key:I+\".type\",value:y.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:J,styleSpec:U})}}function Mn(m){var y=m.key,I=m.value;if(Ka(I)===\"string\")return Li({key:y,value:I});var U=[];for(var J in I)U.push.apply(U,Li({key:y+\".\"+J,value:I[J]}));return U}function pa(m){var y=m.value,I=m.styleSpec,U=I.light,J=m.style,ne=[],fe=Ka(y);if(y===void 0)return ne;if(fe!==\"object\")return ne=ne.concat([new fa(\"light\",y,\"object expected, \"+fe+\" found\")]),ne;for(var Fe in y){var Qe=Fe.match(/^(.*)-transition$/);Qe&&U[Qe[1]]&&U[Qe[1]].transition?ne=ne.concat(Wa({key:Fe,value:y[Fe],valueSpec:I.transition,style:J,styleSpec:I})):U[Fe]?ne=ne.concat(Wa({key:Fe,value:y[Fe],valueSpec:U[Fe],style:J,styleSpec:I})):ne=ne.concat([new fa(Fe,y[Fe],'unknown property \"'+Fe+'\"')])}return ne}function ea(m){return Li(m).length===0?[]:yt(m)}function Ga(m){return Li(m).length===0?[]:yt(m)}var To={\"*\":function(){return[]},array:qe,boolean:Ot,number:je,color:Nt,constants:Qu,enum:hr,filter:tr,function:it,layer:di,object:se,source:Qi,light:pa,string:Li,formatted:ea,resolvedImage:Ga};function Wa(m){var y=m.value,I=m.valueSpec,U=m.styleSpec;if(I.expression&&vs(vo(y)))return it(m);if(I.expression&&Da(Zl(y)))return yt(m);if(I.type&&To[I.type])return To[I.type](m);var J=se(Rl({},m,{valueSpec:I.type?U[I.type]:I}));return J}function co(m){var y=m.value,I=m.key,U=Li(m);return U.length||(y.indexOf(\"{fontstack}\")===-1&&U.push(new fa(I,y,'\"glyphs\" url must include a \"{fontstack}\" token')),y.indexOf(\"{range}\")===-1&&U.push(new fa(I,y,'\"glyphs\" url must include a \"{range}\" token'))),U}function Ro(m,y){y===void 0&&(y=on);var I=[];return I=I.concat(Wa({key:\"\",value:m,valueSpec:y.$root,styleSpec:y,style:m,objectElementValidators:{glyphs:co,\"*\":function(){return[]}}})),m.constants&&(I=I.concat(Qu({key:\"constants\",value:m.constants,style:m,styleSpec:y}))),Ds(I)}Ro.source=As(Qi),Ro.light=As(pa),Ro.layer=As(di),Ro.filter=As(tr),Ro.paintProperty=As(zr),Ro.layoutProperty=As(Xr);function Ds(m){return[].concat(m).sort(function(y,I){return y.line-I.line})}function As(m){return function(){for(var y=[],I=arguments.length;I--;)y[I]=arguments[I];return Ds(m.apply(this,y))}}var yo=Ro,po=yo.light,_l=yo.paintProperty,Hl=yo.layoutProperty;function Zu(m,y){var I=!1;if(y&&y.length)for(var U=0,J=y;U<J.length;U+=1){var ne=J[U];m.fire(new oa(new Error(ne.message))),I=!0}return I}var cu=au,el=3;function au(m,y,I){var U=this.cells=[];if(m instanceof ArrayBuffer){this.arrayBuffer=m;var J=new Int32Array(this.arrayBuffer);m=J[0],y=J[1],I=J[2],this.d=y+2*I;for(var ne=0;ne<this.d*this.d;ne++){var fe=J[el+ne],Fe=J[el+ne+1];U.push(fe===Fe?null:J.subarray(fe,Fe))}var Qe=J[el+U.length],st=J[el+U.length+1];this.keys=J.subarray(Qe,st),this.bboxes=J.subarray(st),this.insert=this._insertReadonly}else{this.d=y+2*I;for(var mt=0;mt<this.d*this.d;mt++)U.push([]);this.keys=[],this.bboxes=[]}this.n=y,this.extent=m,this.padding=I,this.scale=y/m,this.uid=0;var Xt=I/y*m;this.min=-Xt,this.max=m+Xt}au.prototype.insert=function(m,y,I,U,J){this._forEachCell(y,I,U,J,this._insertCell,this.uid++),this.keys.push(m),this.bboxes.push(y),this.bboxes.push(I),this.bboxes.push(U),this.bboxes.push(J)},au.prototype._insertReadonly=function(){throw\"Cannot insert into a GridIndex created from an ArrayBuffer.\"},au.prototype._insertCell=function(m,y,I,U,J,ne){this.cells[J].push(ne)},au.prototype.query=function(m,y,I,U,J){var ne=this.min,fe=this.max;if(m<=ne&&y<=ne&&fe<=I&&fe<=U&&!J)return Array.prototype.slice.call(this.keys);var Fe=[],Qe={};return this._forEachCell(m,y,I,U,this._queryCell,Fe,Qe,J),Fe},au.prototype._queryCell=function(m,y,I,U,J,ne,fe,Fe){var Qe=this.cells[J];if(Qe!==null)for(var st=this.keys,mt=this.bboxes,Xt=0;Xt<Qe.length;Xt++){var ur=Qe[Xt];if(fe[ur]===void 0){var nr=ur*4;(Fe?Fe(mt[nr+0],mt[nr+1],mt[nr+2],mt[nr+3]):m<=mt[nr+2]&&y<=mt[nr+3]&&I>=mt[nr+0]&&U>=mt[nr+1])?(fe[ur]=!0,ne.push(st[ur])):fe[ur]=!1}}},au.prototype._forEachCell=function(m,y,I,U,J,ne,fe,Fe){for(var Qe=this._convertToCellCoord(m),st=this._convertToCellCoord(y),mt=this._convertToCellCoord(I),Xt=this._convertToCellCoord(U),ur=Qe;ur<=mt;ur++)for(var nr=st;nr<=Xt;nr++){var Lr=this.d*nr+ur;if(!(Fe&&!Fe(this._convertFromCellCoord(ur),this._convertFromCellCoord(nr),this._convertFromCellCoord(ur+1),this._convertFromCellCoord(nr+1)))&&J.call(this,m,y,I,U,Lr,ne,fe,Fe))return}},au.prototype._convertFromCellCoord=function(m){return(m-this.padding)/this.scale},au.prototype._convertToCellCoord=function(m){return Math.max(0,Math.min(this.d-1,Math.floor(m*this.scale)+this.padding))},au.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var m=this.cells,y=el+this.cells.length+1+1,I=0,U=0;U<this.cells.length;U++)I+=this.cells[U].length;var J=new Int32Array(y+I+this.keys.length+this.bboxes.length);J[0]=this.extent,J[1]=this.n,J[2]=this.padding;for(var ne=y,fe=0;fe<m.length;fe++){var Fe=m[fe];J[el+fe]=ne,J.set(Fe,ne),ne+=Fe.length}return J[el+m.length]=ne,J.set(this.keys,ne),ne+=this.keys.length,J[el+m.length+1]=ne,J.set(this.bboxes,ne),ne+=this.bboxes.length,J.buffer};var zc=f.ImageData,zl=f.ImageBitmap,Fl={};function Z(m,y,I){I===void 0&&(I={}),Object.defineProperty(y,\"_classRegistryKey\",{value:m,writeable:!1}),Fl[m]={klass:y,omit:I.omit||[],shallow:I.shallow||[]}}Z(\"Object\",Object),cu.serialize=function(y,I){var U=y.toArrayBuffer();return I&&I.push(U),{buffer:U}},cu.deserialize=function(y){return new cu(y.buffer)},Z(\"Grid\",cu),Z(\"Color\",ss),Z(\"Error\",Error),Z(\"ResolvedImage\",Js),Z(\"StylePropertyFunction\",le),Z(\"StyleExpression\",Dc,{omit:[\"_evaluator\"]}),Z(\"ZoomDependentExpression\",yc),Z(\"ZoomConstantExpression\",Jc),Z(\"CompoundExpression\",Ja,{omit:[\"_evaluate\"]});for(var oe in Ua)Ua[oe]._classRegistryKey||Z(\"Expression_\"+oe,Ua[oe]);function we(m){return m&&typeof ArrayBuffer!=\"undefined\"&&(m instanceof ArrayBuffer||m.constructor&&m.constructor.name===\"ArrayBuffer\")}function Be(m){return zl&&m instanceof zl}function Ue(m,y){if(m==null||typeof m==\"boolean\"||typeof m==\"number\"||typeof m==\"string\"||m instanceof Boolean||m instanceof Number||m instanceof String||m instanceof Date||m instanceof RegExp)return m;if(we(m)||Be(m))return y&&y.push(m),m;if(ArrayBuffer.isView(m)){var I=m;return y&&y.push(I.buffer),I}if(m instanceof zc)return y&&y.push(m.data.buffer),m;if(Array.isArray(m)){for(var U=[],J=0,ne=m;J<ne.length;J+=1){var fe=ne[J];U.push(Ue(fe,y))}return U}if(typeof m==\"object\"){var Fe=m.constructor,Qe=Fe._classRegistryKey;if(!Qe)throw new Error(\"can't serialize object of unregistered class\");var st=Fe.serialize?Fe.serialize(m,y):{};if(!Fe.serialize){for(var mt in m)if(m.hasOwnProperty(mt)&&!(Fl[Qe].omit.indexOf(mt)>=0)){var Xt=m[mt];st[mt]=Fl[Qe].shallow.indexOf(mt)>=0?Xt:Ue(Xt,y)}m instanceof Error&&(st.message=m.message)}if(st.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return Qe!==\"Object\"&&(st.$name=Qe),st}throw new Error(\"can't serialize object of type \"+typeof m)}function We(m){if(m==null||typeof m==\"boolean\"||typeof m==\"number\"||typeof m==\"string\"||m instanceof Boolean||m instanceof Number||m instanceof String||m instanceof Date||m instanceof RegExp||we(m)||Be(m)||ArrayBuffer.isView(m)||m instanceof zc)return m;if(Array.isArray(m))return m.map(We);if(typeof m==\"object\"){var y=m.$name||\"Object\",I=Fl[y],U=I.klass;if(!U)throw new Error(\"can't deserialize unregistered class \"+y);if(U.deserialize)return U.deserialize(m);for(var J=Object.create(U.prototype),ne=0,fe=Object.keys(m);ne<fe.length;ne+=1){var Fe=fe[ne];if(Fe!==\"$name\"){var Qe=m[Fe];J[Fe]=Fl[y].shallow.indexOf(Fe)>=0?Qe:We(Qe)}}return J}throw new Error(\"can't deserialize object of type \"+typeof m)}var wt=function(){this.first=!0};wt.prototype.update=function(y,I){var U=Math.floor(y);return this.first?(this.first=!1,this.lastIntegerZoom=U,this.lastIntegerZoomTime=0,this.lastZoom=y,this.lastFloorZoom=U,!0):(this.lastFloorZoom>U?(this.lastIntegerZoom=U+1,this.lastIntegerZoomTime=I):this.lastFloorZoom<U&&(this.lastIntegerZoom=U,this.lastIntegerZoomTime=I),y!==this.lastZoom?(this.lastZoom=y,this.lastFloorZoom=U,!0):!1)};var tt={\"Latin-1 Supplement\":function(m){return m>=128&&m<=255},Arabic:function(m){return m>=1536&&m<=1791},\"Arabic Supplement\":function(m){return m>=1872&&m<=1919},\"Arabic Extended-A\":function(m){return m>=2208&&m<=2303},\"Hangul Jamo\":function(m){return m>=4352&&m<=4607},\"Unified Canadian Aboriginal Syllabics\":function(m){return m>=5120&&m<=5759},Khmer:function(m){return m>=6016&&m<=6143},\"Unified Canadian Aboriginal Syllabics Extended\":function(m){return m>=6320&&m<=6399},\"General Punctuation\":function(m){return m>=8192&&m<=8303},\"Letterlike Symbols\":function(m){return m>=8448&&m<=8527},\"Number Forms\":function(m){return m>=8528&&m<=8591},\"Miscellaneous Technical\":function(m){return m>=8960&&m<=9215},\"Control Pictures\":function(m){return m>=9216&&m<=9279},\"Optical Character Recognition\":function(m){return m>=9280&&m<=9311},\"Enclosed Alphanumerics\":function(m){return m>=9312&&m<=9471},\"Geometric Shapes\":function(m){return m>=9632&&m<=9727},\"Miscellaneous Symbols\":function(m){return m>=9728&&m<=9983},\"Miscellaneous Symbols and Arrows\":function(m){return m>=11008&&m<=11263},\"CJK Radicals Supplement\":function(m){return m>=11904&&m<=12031},\"Kangxi Radicals\":function(m){return m>=12032&&m<=12255},\"Ideographic Description Characters\":function(m){return m>=12272&&m<=12287},\"CJK Symbols and Punctuation\":function(m){return m>=12288&&m<=12351},Hiragana:function(m){return m>=12352&&m<=12447},Katakana:function(m){return m>=12448&&m<=12543},Bopomofo:function(m){return m>=12544&&m<=12591},\"Hangul Compatibility Jamo\":function(m){return m>=12592&&m<=12687},Kanbun:function(m){return m>=12688&&m<=12703},\"Bopomofo Extended\":function(m){return m>=12704&&m<=12735},\"CJK Strokes\":function(m){return m>=12736&&m<=12783},\"Katakana Phonetic Extensions\":function(m){return m>=12784&&m<=12799},\"Enclosed CJK Letters and Months\":function(m){return m>=12800&&m<=13055},\"CJK Compatibility\":function(m){return m>=13056&&m<=13311},\"CJK Unified Ideographs Extension A\":function(m){return m>=13312&&m<=19903},\"Yijing Hexagram Symbols\":function(m){return m>=19904&&m<=19967},\"CJK Unified Ideographs\":function(m){return m>=19968&&m<=40959},\"Yi Syllables\":function(m){return m>=40960&&m<=42127},\"Yi Radicals\":function(m){return m>=42128&&m<=42191},\"Hangul Jamo Extended-A\":function(m){return m>=43360&&m<=43391},\"Hangul Syllables\":function(m){return m>=44032&&m<=55215},\"Hangul Jamo Extended-B\":function(m){return m>=55216&&m<=55295},\"Private Use Area\":function(m){return m>=57344&&m<=63743},\"CJK Compatibility Ideographs\":function(m){return m>=63744&&m<=64255},\"Arabic Presentation Forms-A\":function(m){return m>=64336&&m<=65023},\"Vertical Forms\":function(m){return m>=65040&&m<=65055},\"CJK Compatibility Forms\":function(m){return m>=65072&&m<=65103},\"Small Form Variants\":function(m){return m>=65104&&m<=65135},\"Arabic Presentation Forms-B\":function(m){return m>=65136&&m<=65279},\"Halfwidth and Fullwidth Forms\":function(m){return m>=65280&&m<=65519}};function zt(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(Ir(U.charCodeAt(0)))return!0}return!1}function or(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(!lr(U.charCodeAt(0)))return!1}return!0}function lr(m){return!(tt.Arabic(m)||tt[\"Arabic Supplement\"](m)||tt[\"Arabic Extended-A\"](m)||tt[\"Arabic Presentation Forms-A\"](m)||tt[\"Arabic Presentation Forms-B\"](m))}function Dr(m){return m<11904?!1:!!(tt[\"Bopomofo Extended\"](m)||tt.Bopomofo(m)||tt[\"CJK Compatibility Forms\"](m)||tt[\"CJK Compatibility Ideographs\"](m)||tt[\"CJK Compatibility\"](m)||tt[\"CJK Radicals Supplement\"](m)||tt[\"CJK Strokes\"](m)||tt[\"CJK Symbols and Punctuation\"](m)||tt[\"CJK Unified Ideographs Extension A\"](m)||tt[\"CJK Unified Ideographs\"](m)||tt[\"Enclosed CJK Letters and Months\"](m)||tt[\"Halfwidth and Fullwidth Forms\"](m)||tt.Hiragana(m)||tt[\"Ideographic Description Characters\"](m)||tt[\"Kangxi Radicals\"](m)||tt[\"Katakana Phonetic Extensions\"](m)||tt.Katakana(m)||tt[\"Vertical Forms\"](m)||tt[\"Yi Radicals\"](m)||tt[\"Yi Syllables\"](m))}function Ir(m){return m===746||m===747?!0:m<4352?!1:!!(tt[\"Bopomofo Extended\"](m)||tt.Bopomofo(m)||tt[\"CJK Compatibility Forms\"](m)&&!(m>=65097&&m<=65103)||tt[\"CJK Compatibility Ideographs\"](m)||tt[\"CJK Compatibility\"](m)||tt[\"CJK Radicals Supplement\"](m)||tt[\"CJK Strokes\"](m)||tt[\"CJK Symbols and Punctuation\"](m)&&!(m>=12296&&m<=12305)&&!(m>=12308&&m<=12319)&&m!==12336||tt[\"CJK Unified Ideographs Extension A\"](m)||tt[\"CJK Unified Ideographs\"](m)||tt[\"Enclosed CJK Letters and Months\"](m)||tt[\"Hangul Compatibility Jamo\"](m)||tt[\"Hangul Jamo Extended-A\"](m)||tt[\"Hangul Jamo Extended-B\"](m)||tt[\"Hangul Jamo\"](m)||tt[\"Hangul Syllables\"](m)||tt.Hiragana(m)||tt[\"Ideographic Description Characters\"](m)||tt.Kanbun(m)||tt[\"Kangxi Radicals\"](m)||tt[\"Katakana Phonetic Extensions\"](m)||tt.Katakana(m)&&m!==12540||tt[\"Halfwidth and Fullwidth Forms\"](m)&&m!==65288&&m!==65289&&m!==65293&&!(m>=65306&&m<=65310)&&m!==65339&&m!==65341&&m!==65343&&!(m>=65371&&m<=65503)&&m!==65507&&!(m>=65512&&m<=65519)||tt[\"Small Form Variants\"](m)&&!(m>=65112&&m<=65118)&&!(m>=65123&&m<=65126)||tt[\"Unified Canadian Aboriginal Syllabics\"](m)||tt[\"Unified Canadian Aboriginal Syllabics Extended\"](m)||tt[\"Vertical Forms\"](m)||tt[\"Yijing Hexagram Symbols\"](m)||tt[\"Yi Syllables\"](m)||tt[\"Yi Radicals\"](m))}function oi(m){return!!(tt[\"Latin-1 Supplement\"](m)&&(m===167||m===169||m===174||m===177||m===188||m===189||m===190||m===215||m===247)||tt[\"General Punctuation\"](m)&&(m===8214||m===8224||m===8225||m===8240||m===8241||m===8251||m===8252||m===8258||m===8263||m===8264||m===8265||m===8273)||tt[\"Letterlike Symbols\"](m)||tt[\"Number Forms\"](m)||tt[\"Miscellaneous Technical\"](m)&&(m>=8960&&m<=8967||m>=8972&&m<=8991||m>=8996&&m<=9e3||m===9003||m>=9085&&m<=9114||m>=9150&&m<=9165||m===9167||m>=9169&&m<=9179||m>=9186&&m<=9215)||tt[\"Control Pictures\"](m)&&m!==9251||tt[\"Optical Character Recognition\"](m)||tt[\"Enclosed Alphanumerics\"](m)||tt[\"Geometric Shapes\"](m)||tt[\"Miscellaneous Symbols\"](m)&&!(m>=9754&&m<=9759)||tt[\"Miscellaneous Symbols and Arrows\"](m)&&(m>=11026&&m<=11055||m>=11088&&m<=11097||m>=11192&&m<=11243)||tt[\"CJK Symbols and Punctuation\"](m)||tt.Katakana(m)||tt[\"Private Use Area\"](m)||tt[\"CJK Compatibility Forms\"](m)||tt[\"Small Form Variants\"](m)||tt[\"Halfwidth and Fullwidth Forms\"](m)||m===8734||m===8756||m===8757||m>=9984&&m<=10087||m>=10102&&m<=10131||m===65532||m===65533)}function ui(m){return!(Ir(m)||oi(m))}function qr(m){return tt.Arabic(m)||tt[\"Arabic Supplement\"](m)||tt[\"Arabic Extended-A\"](m)||tt[\"Arabic Presentation Forms-A\"](m)||tt[\"Arabic Presentation Forms-B\"](m)}function Kr(m){return m>=1424&&m<=2303||tt[\"Arabic Presentation Forms-A\"](m)||tt[\"Arabic Presentation Forms-B\"](m)}function ii(m,y){return!(!y&&Kr(m)||m>=2304&&m<=3583||m>=3840&&m<=4255||tt.Khmer(m))}function vi(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(Kr(U.charCodeAt(0)))return!0}return!1}function ci(m,y){for(var I=0,U=m;I<U.length;I+=1){var J=U[I];if(!ii(J.charCodeAt(0),y))return!1}return!0}var Jr={unavailable:\"unavailable\",deferred:\"deferred\",loading:\"loading\",loaded:\"loaded\",error:\"error\"},un=null,dn=Jr.unavailable,En=null,Nn=function(m){m&&typeof m==\"string\"&&m.indexOf(\"NetworkError\")>-1&&(dn=Jr.error),un&&un(m)};function ga(){ya.fire(new jo(\"pluginStateChange\",{pluginStatus:dn,pluginURL:En}))}var ya=new Sn,so=function(){return dn},wa=function(m){return m({pluginStatus:dn,pluginURL:En}),ya.on(\"pluginStateChange\",m),m},io=function(m,y,I){if(I===void 0&&(I=!1),dn===Jr.deferred||dn===Jr.loading||dn===Jr.loaded)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");En=nt.resolveURL(m),dn=Jr.deferred,un=y,ga(),I||Ss()},Ss=function(){if(dn!==Jr.deferred||!En)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");dn=Jr.loading,ga(),En&&Zr({url:En},function(m){m?Nn(m):(dn=Jr.loaded,ga())})},_s={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return dn===Jr.loaded||_s.applyArabicShaping!=null},isLoading:function(){return dn===Jr.loading},setState:function(y){dn=y.pluginStatus,En=y.pluginURL},isParsed:function(){return _s.applyArabicShaping!=null&&_s.processBidirectionalText!=null&&_s.processStyledBidirectionalText!=null},getPluginURL:function(){return En}},Ns=function(){!_s.isLoading()&&!_s.isLoaded()&&so()===\"deferred\"&&Ss()},pn=function(y,I){this.zoom=y,I?(this.now=I.now,this.fadeDuration=I.fadeDuration,this.zoomHistory=I.zoomHistory,this.transition=I.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new wt,this.transition={})};pn.prototype.isSupportedScript=function(y){return ci(y,_s.isLoaded())},pn.prototype.crossFadingFactor=function(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},pn.prototype.getCrossfadeParameters=function(){var y=this.zoom,I=y-Math.floor(y),U=this.crossFadingFactor();return y>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:I+(1-I)*U}:{fromScale:.5,toScale:1,t:1-(1-U)*I}};var za=function(y,I){this.property=y,this.value=I,this.expression=w(I===void 0?y.specification.default:I,y.specification)};za.prototype.isDataDriven=function(){return this.expression.kind===\"source\"||this.expression.kind===\"composite\"},za.prototype.possiblyEvaluate=function(y,I,U){return this.property.possiblyEvaluate(this,y,I,U)};var Lo=function(y){this.property=y,this.value=new za(y,void 0)};Lo.prototype.transitioned=function(y,I){return new js(this.property,this.value,I,_({},y.transition,this.transition),y.now)},Lo.prototype.untransitioned=function(){return new js(this.property,this.value,null,{},0)};var Fo=function(y){this._properties=y,this._values=Object.create(y.defaultTransitionablePropertyValues)};Fo.prototype.getValue=function(y){return G(this._values[y].value.value)},Fo.prototype.setValue=function(y,I){this._values.hasOwnProperty(y)||(this._values[y]=new Lo(this._values[y].property)),this._values[y].value=new za(this._values[y].property,I===null?void 0:G(I))},Fo.prototype.getTransition=function(y){return G(this._values[y].transition)},Fo.prototype.setTransition=function(y,I){this._values.hasOwnProperty(y)||(this._values[y]=new Lo(this._values[y].property)),this._values[y].transition=G(I)||void 0},Fo.prototype.serialize=function(){for(var y={},I=0,U=Object.keys(this._values);I<U.length;I+=1){var J=U[I],ne=this.getValue(J);ne!==void 0&&(y[J]=ne);var fe=this.getTransition(J);fe!==void 0&&(y[J+\"-transition\"]=fe)}return y},Fo.prototype.transitioned=function(y,I){for(var U=new xl(this._properties),J=0,ne=Object.keys(this._values);J<ne.length;J+=1){var fe=ne[J];U._values[fe]=this._values[fe].transitioned(y,I._values[fe])}return U},Fo.prototype.untransitioned=function(){for(var y=new xl(this._properties),I=0,U=Object.keys(this._values);I<U.length;I+=1){var J=U[I];y._values[J]=this._values[J].untransitioned()}return y};var js=function(y,I,U,J,ne){this.property=y,this.value=I,this.begin=ne+J.delay||0,this.end=this.begin+J.duration||0,y.specification.transition&&(J.delay||J.duration)&&(this.prior=U)};js.prototype.possiblyEvaluate=function(y,I,U){var J=y.now||0,ne=this.value.possiblyEvaluate(y,I,U),fe=this.prior;if(fe){if(J>this.end)return this.prior=null,ne;if(this.value.isDataDriven())return this.prior=null,ne;if(J<this.begin)return fe.possiblyEvaluate(y,I,U);var Fe=(J-this.begin)/(this.end-this.begin);return this.property.interpolate(fe.possiblyEvaluate(y,I,U),ne,v(Fe))}else return ne};var xl=function(y){this._properties=y,this._values=Object.create(y.defaultTransitioningPropertyValues)};xl.prototype.possiblyEvaluate=function(y,I,U){for(var J=new xc(this._properties),ne=0,fe=Object.keys(this._values);ne<fe.length;ne+=1){var Fe=fe[ne];J._values[Fe]=this._values[Fe].possiblyEvaluate(y,I,U)}return J},xl.prototype.hasTransition=function(){for(var y=0,I=Object.keys(this._values);y<I.length;y+=1){var U=I[y];if(this._values[U].prior)return!0}return!1};var fu=function(y){this._properties=y,this._values=Object.create(y.defaultPropertyValues)};fu.prototype.getValue=function(y){return G(this._values[y].value)},fu.prototype.setValue=function(y,I){this._values[y]=new za(this._values[y].property,I===null?void 0:G(I))},fu.prototype.serialize=function(){for(var y={},I=0,U=Object.keys(this._values);I<U.length;I+=1){var J=U[I],ne=this.getValue(J);ne!==void 0&&(y[J]=ne)}return y},fu.prototype.possiblyEvaluate=function(y,I,U){for(var J=new xc(this._properties),ne=0,fe=Object.keys(this._values);ne<fe.length;ne+=1){var Fe=fe[ne];J._values[Fe]=this._values[Fe].possiblyEvaluate(y,I,U)}return J};var dl=function(y,I,U){this.property=y,this.value=I,this.parameters=U};dl.prototype.isConstant=function(){return this.value.kind===\"constant\"},dl.prototype.constantOr=function(y){return this.value.kind===\"constant\"?this.value.value:y},dl.prototype.evaluate=function(y,I,U,J){return this.property.evaluate(this.value,this.parameters,y,I,U,J)};var xc=function(y){this._properties=y,this._values=Object.create(y.defaultPossiblyEvaluatedValues)};xc.prototype.get=function(y){return this._values[y]};var At=function(y){this.specification=y};At.prototype.possiblyEvaluate=function(y,I){return y.expression.evaluate(I)},At.prototype.interpolate=function(y,I,U){var J=Gu[this.specification.type];return J?J(y,I,U):y};var Er=function(y,I){this.specification=y,this.overrides=I};Er.prototype.possiblyEvaluate=function(y,I,U,J){return y.expression.kind===\"constant\"||y.expression.kind===\"camera\"?new dl(this,{kind:\"constant\",value:y.expression.evaluate(I,null,{},U,J)},I):new dl(this,y.expression,I)},Er.prototype.interpolate=function(y,I,U){if(y.value.kind!==\"constant\"||I.value.kind!==\"constant\")return y;if(y.value.value===void 0||I.value.value===void 0)return new dl(this,{kind:\"constant\",value:void 0},y.parameters);var J=Gu[this.specification.type];return J?new dl(this,{kind:\"constant\",value:J(y.value.value,I.value.value,U)},y.parameters):y},Er.prototype.evaluate=function(y,I,U,J,ne,fe){return y.kind===\"constant\"?y.value:y.evaluate(I,U,J,ne,fe)};var Wr=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.possiblyEvaluate=function(U,J,ne,fe){if(U.value===void 0)return new dl(this,{kind:\"constant\",value:void 0},J);if(U.expression.kind===\"constant\"){var Fe=U.expression.evaluate(J,null,{},ne,fe),Qe=U.property.specification.type===\"resolvedImage\",st=Qe&&typeof Fe!=\"string\"?Fe.name:Fe,mt=this._calculate(st,st,st,J);return new dl(this,{kind:\"constant\",value:mt},J)}else if(U.expression.kind===\"camera\"){var Xt=this._calculate(U.expression.evaluate({zoom:J.zoom-1}),U.expression.evaluate({zoom:J.zoom}),U.expression.evaluate({zoom:J.zoom+1}),J);return new dl(this,{kind:\"constant\",value:Xt},J)}else return new dl(this,U.expression,J)},y.prototype.evaluate=function(U,J,ne,fe,Fe,Qe){if(U.kind===\"source\"){var st=U.evaluate(J,ne,fe,Fe,Qe);return this._calculate(st,st,st,J)}else return U.kind===\"composite\"?this._calculate(U.evaluate({zoom:Math.floor(J.zoom)-1},ne,fe),U.evaluate({zoom:Math.floor(J.zoom)},ne,fe),U.evaluate({zoom:Math.floor(J.zoom)+1},ne,fe),J):U.value},y.prototype._calculate=function(U,J,ne,fe){var Fe=fe.zoom;return Fe>fe.zoomHistory.lastIntegerZoom?{from:U,to:J}:{from:ne,to:J}},y.prototype.interpolate=function(U){return U},y}(Er),wi=function(y){this.specification=y};wi.prototype.possiblyEvaluate=function(y,I,U,J){if(y.value!==void 0)if(y.expression.kind===\"constant\"){var ne=y.expression.evaluate(I,null,{},U,J);return this._calculate(ne,ne,ne,I)}else return this._calculate(y.expression.evaluate(new pn(Math.floor(I.zoom-1),I)),y.expression.evaluate(new pn(Math.floor(I.zoom),I)),y.expression.evaluate(new pn(Math.floor(I.zoom+1),I)),I)},wi.prototype._calculate=function(y,I,U,J){var ne=J.zoom;return ne>J.zoomHistory.lastIntegerZoom?{from:y,to:I}:{from:U,to:I}},wi.prototype.interpolate=function(y){return y};var Ui=function(y){this.specification=y};Ui.prototype.possiblyEvaluate=function(y,I,U,J){return!!y.expression.evaluate(I,null,{},U,J)},Ui.prototype.interpolate=function(){return!1};var Oi=function(y){this.properties=y,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(var I in y){var U=y[I];U.specification.overridable&&this.overridableProperties.push(I);var J=this.defaultPropertyValues[I]=new za(U,void 0),ne=this.defaultTransitionablePropertyValues[I]=new Lo(U);this.defaultTransitioningPropertyValues[I]=ne.untransitioned(),this.defaultPossiblyEvaluatedValues[I]=J.possiblyEvaluate({})}};Z(\"DataDrivenProperty\",Er),Z(\"DataConstantProperty\",At),Z(\"CrossFadedDataDrivenProperty\",Wr),Z(\"CrossFadedProperty\",wi),Z(\"ColorRampProperty\",Ui);var Bi=\"-transition\",cn=function(m){function y(I,U){if(m.call(this),this.id=I.id,this.type=I.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},I.type!==\"custom\"&&(I=I,this.metadata=I.metadata,this.minzoom=I.minzoom,this.maxzoom=I.maxzoom,I.type!==\"background\"&&(this.source=I.source,this.sourceLayer=I[\"source-layer\"],this.filter=I.filter),U.layout&&(this._unevaluatedLayout=new fu(U.layout)),U.paint)){this._transitionablePaint=new Fo(U.paint);for(var J in I.paint)this.setPaintProperty(J,I.paint[J],{validate:!1});for(var ne in I.layout)this.setLayoutProperty(ne,I.layout[ne],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new xc(U.paint)}}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},y.prototype.getLayoutProperty=function(U){return U===\"visibility\"?this.visibility:this._unevaluatedLayout.getValue(U)},y.prototype.setLayoutProperty=function(U,J,ne){if(ne===void 0&&(ne={}),J!=null){var fe=\"layers.\"+this.id+\".layout.\"+U;if(this._validate(Hl,fe,U,J,ne))return}if(U===\"visibility\"){this.visibility=J;return}this._unevaluatedLayout.setValue(U,J)},y.prototype.getPaintProperty=function(U){return V(U,Bi)?this._transitionablePaint.getTransition(U.slice(0,-Bi.length)):this._transitionablePaint.getValue(U)},y.prototype.setPaintProperty=function(U,J,ne){if(ne===void 0&&(ne={}),J!=null){var fe=\"layers.\"+this.id+\".paint.\"+U;if(this._validate(_l,fe,U,J,ne))return!1}if(V(U,Bi))return this._transitionablePaint.setTransition(U.slice(0,-Bi.length),J||void 0),!1;var Fe=this._transitionablePaint._values[U],Qe=Fe.property.specification[\"property-type\"]===\"cross-faded-data-driven\",st=Fe.value.isDataDriven(),mt=Fe.value;this._transitionablePaint.setValue(U,J),this._handleSpecialPaintPropertyUpdate(U);var Xt=this._transitionablePaint._values[U].value,ur=Xt.isDataDriven();return ur||st||Qe||this._handleOverridablePaintPropertyUpdate(U,mt,Xt)},y.prototype._handleSpecialPaintPropertyUpdate=function(U){},y.prototype._handleOverridablePaintPropertyUpdate=function(U,J,ne){return!1},y.prototype.isHidden=function(U){return this.minzoom&&U<this.minzoom||this.maxzoom&&U>=this.maxzoom?!0:this.visibility===\"none\"},y.prototype.updateTransitions=function(U){this._transitioningPaint=this._transitionablePaint.transitioned(U,this._transitioningPaint)},y.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},y.prototype.recalculate=function(U,J){U.getCrossfadeParameters&&(this._crossfadeParameters=U.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(U,void 0,J)),this.paint=this._transitioningPaint.possiblyEvaluate(U,void 0,J)},y.prototype.serialize=function(){var U={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&&(U.layout=U.layout||{},U.layout.visibility=this.visibility),X(U,function(J,ne){return J!==void 0&&!(ne===\"layout\"&&!Object.keys(J).length)&&!(ne===\"paint\"&&!Object.keys(J).length)})},y.prototype._validate=function(U,J,ne,fe,Fe){return Fe===void 0&&(Fe={}),Fe&&Fe.validate===!1?!1:Zu(this,U.call(yo,{key:J,layerType:this.type,objectKey:ne,value:fe,styleSpec:on,style:{glyphs:!0,sprite:!0}}))},y.prototype.is3D=function(){return!1},y.prototype.isTileClipped=function(){return!1},y.prototype.hasOffscreenPass=function(){return!1},y.prototype.resize=function(){},y.prototype.isStateDependent=function(){for(var U in this.paint._values){var J=this.paint.get(U);if(!(!(J instanceof dl)||!Gs(J.property.specification))&&(J.value.kind===\"source\"||J.value.kind===\"composite\")&&J.value.isStateDependent)return!0}return!1},y}(Sn),On={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Bn=function(y,I){this._structArray=y,this._pos1=I*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},yn=128,to=5,Rn=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};Rn.serialize=function(y,I){return y._trim(),I&&(y.isTransferred=!0,I.push(y.arrayBuffer)),{length:y.length,arrayBuffer:y.arrayBuffer}},Rn.deserialize=function(y){var I=Object.create(this.prototype);return I.arrayBuffer=y.arrayBuffer,I.length=y.length,I.capacity=y.arrayBuffer.byteLength/I.bytesPerElement,I._refreshViews(),I},Rn.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Rn.prototype.clear=function(){this.length=0},Rn.prototype.resize=function(y){this.reserve(y),this.length=y},Rn.prototype.reserve=function(y){if(y>this.capacity){this.capacity=Math.max(y,Math.floor(this.capacity*to),yn),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var I=this.uint8;this._refreshViews(),I&&this.uint8.set(I)}},Rn.prototype._refreshViews=function(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")};function Dn(m,y){y===void 0&&(y=1);var I=0,U=0,J=m.map(function(fe){var Fe=fn(fe.type),Qe=I=Ai(I,Math.max(y,Fe)),st=fe.components||1;return U=Math.max(U,Fe),I+=Fe*st,{name:fe.name,type:fe.type,components:st,offset:Qe}}),ne=Ai(I,Math.max(U,y));return{members:J,size:ne,alignment:y}}function fn(m){return On[m].BYTES_PER_ELEMENT}function Ai(m,y){return Math.ceil(m/y)*y}var ji=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.int16[fe+0]=J,this.int16[fe+1]=ne,U},y}(Rn);ji.prototype.bytesPerElement=4,Z(\"StructArrayLayout2i4\",ji);var Ln=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*4;return this.int16[Qe+0]=J,this.int16[Qe+1]=ne,this.int16[Qe+2]=fe,this.int16[Qe+3]=Fe,U},y}(Rn);Ln.prototype.bytesPerElement=8,Z(\"StructArrayLayout4i8\",Ln);var Un=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*6;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.int16[mt+2]=fe,this.int16[mt+3]=Fe,this.int16[mt+4]=Qe,this.int16[mt+5]=st,U},y}(Rn);Un.prototype.bytesPerElement=12,Z(\"StructArrayLayout2i4i12\",Un);var gn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*4,Xt=U*8;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.uint8[Xt+4]=fe,this.uint8[Xt+5]=Fe,this.uint8[Xt+6]=Qe,this.uint8[Xt+7]=st,U},y}(Rn);gn.prototype.bytesPerElement=8,Z(\"StructArrayLayout2i4ub8\",gn);var ca=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.float32[fe+0]=J,this.float32[fe+1]=ne,U},y}(Rn);ca.prototype.bytesPerElement=8,Z(\"StructArrayLayout2f8\",ca);var Kn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){var nr=this.length;return this.resize(nr+1),this.emplace(nr,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr){var Lr=U*10;return this.uint16[Lr+0]=J,this.uint16[Lr+1]=ne,this.uint16[Lr+2]=fe,this.uint16[Lr+3]=Fe,this.uint16[Lr+4]=Qe,this.uint16[Lr+5]=st,this.uint16[Lr+6]=mt,this.uint16[Lr+7]=Xt,this.uint16[Lr+8]=ur,this.uint16[Lr+9]=nr,U},y}(Rn);Kn.prototype.bytesPerElement=20,Z(\"StructArrayLayout10ui20\",Kn);var Za=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr){var Yr=this.length;return this.resize(Yr+1),this.emplace(Yr,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr){var _i=U*12;return this.int16[_i+0]=J,this.int16[_i+1]=ne,this.int16[_i+2]=fe,this.int16[_i+3]=Fe,this.uint16[_i+4]=Qe,this.uint16[_i+5]=st,this.uint16[_i+6]=mt,this.uint16[_i+7]=Xt,this.int16[_i+8]=ur,this.int16[_i+9]=nr,this.int16[_i+10]=Lr,this.int16[_i+11]=Yr,U},y}(Rn);Za.prototype.bytesPerElement=24,Z(\"StructArrayLayout4i4ui4i24\",Za);var wn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.float32[Fe+0]=J,this.float32[Fe+1]=ne,this.float32[Fe+2]=fe,U},y}(Rn);wn.prototype.bytesPerElement=12,Z(\"StructArrayLayout3f12\",wn);var vn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.uint32[ne+0]=J,U},y}(Rn);vn.prototype.bytesPerElement=4,Z(\"StructArrayLayout1ul4\",vn);var Aa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.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)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt){var ur=this.length;return this.resize(ur+1),this.emplace(ur,U,J,ne,fe,Fe,Qe,st,mt,Xt)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){var nr=U*10,Lr=U*5;return this.int16[nr+0]=J,this.int16[nr+1]=ne,this.int16[nr+2]=fe,this.int16[nr+3]=Fe,this.int16[nr+4]=Qe,this.int16[nr+5]=st,this.uint32[Lr+3]=mt,this.uint16[nr+8]=Xt,this.uint16[nr+9]=ur,U},y}(Rn);Aa.prototype.bytesPerElement=20,Z(\"StructArrayLayout6i1ul2ui20\",Aa);var aa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*6;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.int16[mt+2]=fe,this.int16[mt+3]=Fe,this.int16[mt+4]=Qe,this.int16[mt+5]=st,U},y}(Rn);aa.prototype.bytesPerElement=12,Z(\"StructArrayLayout2i2i2i12\",aa);var Xn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe){var Qe=this.length;return this.resize(Qe+1),this.emplace(Qe,U,J,ne,fe,Fe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe){var st=U*4,mt=U*8;return this.float32[st+0]=J,this.float32[st+1]=ne,this.float32[st+2]=fe,this.int16[mt+6]=Fe,this.int16[mt+7]=Qe,U},y}(Rn);Xn.prototype.bytesPerElement=16,Z(\"StructArrayLayout2f1f2i16\",Xn);var Vn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*12,st=U*3;return this.uint8[Qe+0]=J,this.uint8[Qe+1]=ne,this.float32[st+1]=fe,this.float32[st+2]=Fe,U},y}(Rn);Vn.prototype.bytesPerElement=12,Z(\"StructArrayLayout2ub2f12\",Vn);var ma=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.uint16[Fe+0]=J,this.uint16[Fe+1]=ne,this.uint16[Fe+2]=fe,U},y}(Rn);ma.prototype.bytesPerElement=6,Z(\"StructArrayLayout3ui6\",ma);var ro=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.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)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei){var Vi=this.length;return this.resize(Vi+1),this.emplace(Vi,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi){var en=U*24,An=U*12,ra=U*48;return this.int16[en+0]=J,this.int16[en+1]=ne,this.uint16[en+2]=fe,this.uint16[en+3]=Fe,this.uint32[An+2]=Qe,this.uint32[An+3]=st,this.uint32[An+4]=mt,this.uint16[en+10]=Xt,this.uint16[en+11]=ur,this.uint16[en+12]=nr,this.float32[An+7]=Lr,this.float32[An+8]=Yr,this.uint8[ra+36]=_i,this.uint8[ra+37]=si,this.uint8[ra+38]=Hi,this.uint32[An+10]=Ei,this.int16[en+22]=Vi,U},y}(Rn);ro.prototype.bytesPerElement=48,Z(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",ro);var Ao=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.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)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,_a,Pa,qo,Na,ja){var us=this.length;return this.resize(us+1),this.emplace(us,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,_a,Pa,qo,Na,ja)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,_a,Pa,qo,Na,ja,us){var zo=U*34,rl=U*17;return this.int16[zo+0]=J,this.int16[zo+1]=ne,this.int16[zo+2]=fe,this.int16[zo+3]=Fe,this.int16[zo+4]=Qe,this.int16[zo+5]=st,this.int16[zo+6]=mt,this.int16[zo+7]=Xt,this.uint16[zo+8]=ur,this.uint16[zo+9]=nr,this.uint16[zo+10]=Lr,this.uint16[zo+11]=Yr,this.uint16[zo+12]=_i,this.uint16[zo+13]=si,this.uint16[zo+14]=Hi,this.uint16[zo+15]=Ei,this.uint16[zo+16]=Vi,this.uint16[zo+17]=en,this.uint16[zo+18]=An,this.uint16[zo+19]=ra,this.uint16[zo+20]=$n,this.uint16[zo+21]=Ba,this.uint16[zo+22]=_a,this.uint32[rl+12]=Pa,this.float32[rl+13]=qo,this.float32[rl+14]=Na,this.float32[rl+15]=ja,this.float32[rl+16]=us,U},y}(Rn);Ao.prototype.bytesPerElement=68,Z(\"StructArrayLayout8i15ui1ul4f68\",Ao);var Jn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.float32[ne+0]=J,U},y}(Rn);Jn.prototype.bytesPerElement=4,Z(\"StructArrayLayout1f4\",Jn);var Oa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.int16[Fe+0]=J,this.int16[Fe+1]=ne,this.int16[Fe+2]=fe,U},y}(Rn);Oa.prototype.bytesPerElement=6,Z(\"StructArrayLayout3i6\",Oa);var _o=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*2,Qe=U*4;return this.uint32[Fe+0]=J,this.uint16[Qe+2]=ne,this.uint16[Qe+3]=fe,U},y}(Rn);_o.prototype.bytesPerElement=8,Z(\"StructArrayLayout1ul2ui8\",_o);var Po=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.uint16[fe+0]=J,this.uint16[fe+1]=ne,U},y}(Rn);Po.prototype.bytesPerElement=4,Z(\"StructArrayLayout2ui4\",Po);var Jo=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.uint16[ne+0]=J,U},y}(Rn);Jo.prototype.bytesPerElement=2,Z(\"StructArrayLayout1ui2\",Jo);var Yl=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*4;return this.float32[Qe+0]=J,this.float32[Qe+1]=ne,this.float32[Qe+2]=fe,this.float32[Qe+3]=Fe,U},y}(Rn);Yl.prototype.bytesPerElement=16,Z(\"StructArrayLayout4f16\",Yl);var $c=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={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 I.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},I.x1.get=function(){return this._structArray.int16[this._pos2+2]},I.y1.get=function(){return this._structArray.int16[this._pos2+3]},I.x2.get=function(){return this._structArray.int16[this._pos2+4]},I.y2.get=function(){return this._structArray.int16[this._pos2+5]},I.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},I.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},I.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},I.anchorPoint.get=function(){return new u(this.anchorPointX,this.anchorPointY)},Object.defineProperties(y.prototype,I),y}(Bn);$c.prototype.size=20;var xs=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new $c(this,U)},y}(Aa);Z(\"CollisionBoxArray\",xs);var Qc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={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 I.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},I.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},I.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},I.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},I.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},I.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},I.segment.get=function(){return this._structArray.uint16[this._pos2+10]},I.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},I.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},I.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},I.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},I.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},I.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},I.placedOrientation.set=function(U){this._structArray.uint8[this._pos1+37]=U},I.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},I.hidden.set=function(U){this._structArray.uint8[this._pos1+38]=U},I.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},I.crossTileID.set=function(U){this._structArray.uint32[this._pos4+10]=U},I.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(y.prototype,I),y}(Bn);Qc.prototype.size=48;var El=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new Qc(this,U)},y}(ro);Z(\"PlacedSymbolArray\",El);var bc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={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 I.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},I.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},I.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},I.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},I.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},I.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},I.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},I.key.get=function(){return this._structArray.uint16[this._pos2+8]},I.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},I.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},I.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},I.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},I.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},I.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},I.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},I.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},I.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},I.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},I.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},I.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},I.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},I.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},I.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},I.crossTileID.set=function(U){this._structArray.uint32[this._pos4+12]=U},I.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},I.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},I.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},I.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(y.prototype,I),y}(Bn);bc.prototype.size=68;var wc=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new bc(this,U)},y}(Ao);Z(\"SymbolInstanceArray\",wc);var yf=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getoffsetX=function(U){return this.float32[U*1+0]},y}(Jn);Z(\"GlyphOffsetArray\",yf);var Gl=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getx=function(U){return this.int16[U*3+0]},y.prototype.gety=function(U){return this.int16[U*3+1]},y.prototype.gettileUnitDistanceFromAnchor=function(U){return this.int16[U*3+2]},y}(Oa);Z(\"SymbolLineVertexArray\",Gl);var Fc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return I.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},I.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},I.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(y.prototype,I),y}(Bn);Fc.prototype.size=8;var ef=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new Fc(this,U)},y}(_o);Z(\"FeatureIndexArray\",ef);var ls=Dn([{name:\"a_pos\",components:2,type:\"Int16\"}],4),_f=ls.members,ns=function(y){y===void 0&&(y=[]),this.segments=y};ns.prototype.prepareSegment=function(y,I,U,J){var ne=this.segments[this.segments.length-1];return y>ns.MAX_VERTEX_ARRAY_LENGTH&&re(\"Max vertices per segment is \"+ns.MAX_VERTEX_ARRAY_LENGTH+\": bucket requested \"+y),(!ne||ne.vertexLength+y>ns.MAX_VERTEX_ARRAY_LENGTH||ne.sortKey!==J)&&(ne={vertexOffset:I.length,primitiveOffset:U.length,vertexLength:0,primitiveLength:0},J!==void 0&&(ne.sortKey=J),this.segments.push(ne)),ne},ns.prototype.get=function(){return this.segments},ns.prototype.destroy=function(){for(var y=0,I=this.segments;y<I.length;y+=1){var U=I[y];for(var J in U.vaos)U.vaos[J].destroy()}},ns.simpleSegment=function(y,I,U,J){return new ns([{vertexOffset:y,primitiveOffset:I,vertexLength:U,primitiveLength:J,vaos:{},sortKey:0}])},ns.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Z(\"SegmentVector\",ns);function Y(m,y){return m=p(Math.floor(m),0,255),y=p(Math.floor(y),0,255),256*m+y}var z=Dn([{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\"}]),K=a(function(m){function y(I,U){var J,ne,fe,Fe,Qe,st,mt,Xt;for(J=I.length&3,ne=I.length-J,fe=U,Qe=3432918353,st=461845907,Xt=0;Xt<ne;)mt=I.charCodeAt(Xt)&255|(I.charCodeAt(++Xt)&255)<<8|(I.charCodeAt(++Xt)&255)<<16|(I.charCodeAt(++Xt)&255)<<24,++Xt,mt=(mt&65535)*Qe+(((mt>>>16)*Qe&65535)<<16)&4294967295,mt=mt<<15|mt>>>17,mt=(mt&65535)*st+(((mt>>>16)*st&65535)<<16)&4294967295,fe^=mt,fe=fe<<13|fe>>>19,Fe=(fe&65535)*5+(((fe>>>16)*5&65535)<<16)&4294967295,fe=(Fe&65535)+27492+(((Fe>>>16)+58964&65535)<<16);switch(mt=0,J){case 3:mt^=(I.charCodeAt(Xt+2)&255)<<16;case 2:mt^=(I.charCodeAt(Xt+1)&255)<<8;case 1:mt^=I.charCodeAt(Xt)&255,mt=(mt&65535)*Qe+(((mt>>>16)*Qe&65535)<<16)&4294967295,mt=mt<<15|mt>>>17,mt=(mt&65535)*st+(((mt>>>16)*st&65535)<<16)&4294967295,fe^=mt}return fe^=I.length,fe^=fe>>>16,fe=(fe&65535)*2246822507+(((fe>>>16)*2246822507&65535)<<16)&4294967295,fe^=fe>>>13,fe=(fe&65535)*3266489909+(((fe>>>16)*3266489909&65535)<<16)&4294967295,fe^=fe>>>16,fe>>>0}m.exports=y}),O=a(function(m){function y(I,U){for(var J=I.length,ne=U^J,fe=0,Fe;J>=4;)Fe=I.charCodeAt(fe)&255|(I.charCodeAt(++fe)&255)<<8|(I.charCodeAt(++fe)&255)<<16|(I.charCodeAt(++fe)&255)<<24,Fe=(Fe&65535)*1540483477+(((Fe>>>16)*1540483477&65535)<<16),Fe^=Fe>>>24,Fe=(Fe&65535)*1540483477+(((Fe>>>16)*1540483477&65535)<<16),ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16)^Fe,J-=4,++fe;switch(J){case 3:ne^=(I.charCodeAt(fe+2)&255)<<16;case 2:ne^=(I.charCodeAt(fe+1)&255)<<8;case 1:ne^=I.charCodeAt(fe)&255,ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16)}return ne^=ne>>>13,ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16),ne^=ne>>>15,ne>>>0}m.exports=y}),$=K,pe=K,de=O;$.murmur3=pe,$.murmur2=de;var Ie=function(){this.ids=[],this.positions=[],this.indexed=!1};Ie.prototype.add=function(y,I,U,J){this.ids.push(pt(y)),this.positions.push(I,U,J)},Ie.prototype.getPositions=function(y){for(var I=pt(y),U=0,J=this.ids.length-1;U<J;){var ne=U+J>>1;this.ids[ne]>=I?J=ne:U=ne+1}for(var fe=[];this.ids[U]===I;){var Fe=this.positions[3*U],Qe=this.positions[3*U+1],st=this.positions[3*U+2];fe.push({index:Fe,start:Qe,end:st}),U++}return fe},Ie.serialize=function(y,I){var U=new Float64Array(y.ids),J=new Uint32Array(y.positions);return Kt(U,J,0,U.length-1),I&&I.push(U.buffer,J.buffer),{ids:U,positions:J}},Ie.deserialize=function(y){var I=new Ie;return I.ids=y.ids,I.positions=y.positions,I.indexed=!0,I};var $e=Math.pow(2,53)-1;function pt(m){var y=+m;return!isNaN(y)&&y<=$e?y:$(String(m))}function Kt(m,y,I,U){for(;I<U;){for(var J=m[I+U>>1],ne=I-1,fe=U+1;;){do ne++;while(m[ne]<J);do fe--;while(m[fe]>J);if(ne>=fe)break;ir(m,ne,fe),ir(y,3*ne,3*fe),ir(y,3*ne+1,3*fe+1),ir(y,3*ne+2,3*fe+2)}fe-I<U-fe?(Kt(m,y,I,fe),I=fe+1):(Kt(m,y,fe+1,U),U=fe)}}function ir(m,y,I){var U=m[y];m[y]=m[I],m[I]=U}Z(\"FeaturePositionMap\",Ie);var Jt=function(y,I){this.gl=y.gl,this.location=I},vt=function(m){function y(I,U){m.call(this,I,U),this.current=0}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){this.current!==U&&(this.current=U,this.gl.uniform1i(this.location,U))},y}(Jt),Pt=function(m){function y(I,U){m.call(this,I,U),this.current=0}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){this.current!==U&&(this.current=U,this.gl.uniform1f(this.location,U))},y}(Jt),Wt=function(m){function y(I,U){m.call(this,I,U),this.current=[0,0]}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){(U[0]!==this.current[0]||U[1]!==this.current[1])&&(this.current=U,this.gl.uniform2f(this.location,U[0],U[1]))},y}(Jt),rr=function(m){function y(I,U){m.call(this,I,U),this.current=[0,0,0]}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){(U[0]!==this.current[0]||U[1]!==this.current[1]||U[2]!==this.current[2])&&(this.current=U,this.gl.uniform3f(this.location,U[0],U[1],U[2]))},y}(Jt),dr=function(m){function y(I,U){m.call(this,I,U),this.current=[0,0,0,0]}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){(U[0]!==this.current[0]||U[1]!==this.current[1]||U[2]!==this.current[2]||U[3]!==this.current[3])&&(this.current=U,this.gl.uniform4f(this.location,U[0],U[1],U[2],U[3]))},y}(Jt),pr=function(m){function y(I,U){m.call(this,I,U),this.current=ss.transparent}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){(U.r!==this.current.r||U.g!==this.current.g||U.b!==this.current.b||U.a!==this.current.a)&&(this.current=U,this.gl.uniform4f(this.location,U.r,U.g,U.b,U.a))},y}(Jt),kr=new Float32Array(16),Ar=function(m){function y(I,U){m.call(this,I,U),this.current=kr}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){if(U[12]!==this.current[12]||U[0]!==this.current[0]){this.current=U,this.gl.uniformMatrix4fv(this.location,!1,U);return}for(var J=1;J<16;J++)if(U[J]!==this.current[J]){this.current=U,this.gl.uniformMatrix4fv(this.location,!1,U);break}},y}(Jt);function gr(m){return[Y(255*m.r,255*m.g),Y(255*m.b,255*m.a)]}var Cr=function(y,I,U){this.value=y,this.uniformNames=I.map(function(J){return\"u_\"+J}),this.type=U};Cr.prototype.setUniform=function(y,I,U){y.set(U.constantOr(this.value))},Cr.prototype.getBinding=function(y,I,U){return this.type===\"color\"?new pr(y,I):new Pt(y,I)};var cr=function(y,I){this.uniformNames=I.map(function(U){return\"u_\"+U}),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1};cr.prototype.setConstantPatternPositions=function(y,I){this.pixelRatioFrom=I.pixelRatio,this.pixelRatioTo=y.pixelRatio,this.patternFrom=I.tlbr,this.patternTo=y.tlbr},cr.prototype.setUniform=function(y,I,U,J){var ne=J===\"u_pattern_to\"?this.patternTo:J===\"u_pattern_from\"?this.patternFrom:J===\"u_pixel_ratio_to\"?this.pixelRatioTo:J===\"u_pixel_ratio_from\"?this.pixelRatioFrom:null;ne&&y.set(ne)},cr.prototype.getBinding=function(y,I,U){return U.substr(0,9)===\"u_pattern\"?new dr(y,I):new Pt(y,I)};var Gr=function(y,I,U,J){this.expression=y,this.type=U,this.maxValue=0,this.paintVertexAttributes=I.map(function(ne){return{name:\"a_\"+ne,type:\"Float32\",components:U===\"color\"?2:1,offset:0}}),this.paintVertexArray=new J};Gr.prototype.populatePaintArray=function(y,I,U,J,ne){var fe=this.paintVertexArray.length,Fe=this.expression.evaluate(new pn(0),I,{},J,[],ne);this.paintVertexArray.resize(y),this._setPaintValue(fe,y,Fe)},Gr.prototype.updatePaintArray=function(y,I,U,J){var ne=this.expression.evaluate({zoom:0},U,J);this._setPaintValue(y,I,ne)},Gr.prototype._setPaintValue=function(y,I,U){if(this.type===\"color\")for(var J=gr(U),ne=y;ne<I;ne++)this.paintVertexArray.emplace(ne,J[0],J[1]);else{for(var fe=y;fe<I;fe++)this.paintVertexArray.emplace(fe,U);this.maxValue=Math.max(this.maxValue,Math.abs(U))}},Gr.prototype.upload=function(y){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=y.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},Gr.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()};var ei=function(y,I,U,J,ne,fe){this.expression=y,this.uniformNames=I.map(function(Fe){return\"u_\"+Fe+\"_t\"}),this.type=U,this.useIntegerZoom=J,this.zoom=ne,this.maxValue=0,this.paintVertexAttributes=I.map(function(Fe){return{name:\"a_\"+Fe,type:\"Float32\",components:U===\"color\"?4:2,offset:0}}),this.paintVertexArray=new fe};ei.prototype.populatePaintArray=function(y,I,U,J,ne){var fe=this.expression.evaluate(new pn(this.zoom),I,{},J,[],ne),Fe=this.expression.evaluate(new pn(this.zoom+1),I,{},J,[],ne),Qe=this.paintVertexArray.length;this.paintVertexArray.resize(y),this._setPaintValue(Qe,y,fe,Fe)},ei.prototype.updatePaintArray=function(y,I,U,J){var ne=this.expression.evaluate({zoom:this.zoom},U,J),fe=this.expression.evaluate({zoom:this.zoom+1},U,J);this._setPaintValue(y,I,ne,fe)},ei.prototype._setPaintValue=function(y,I,U,J){if(this.type===\"color\")for(var ne=gr(U),fe=gr(J),Fe=y;Fe<I;Fe++)this.paintVertexArray.emplace(Fe,ne[0],ne[1],fe[0],fe[1]);else{for(var Qe=y;Qe<I;Qe++)this.paintVertexArray.emplace(Qe,U,J);this.maxValue=Math.max(this.maxValue,Math.abs(U),Math.abs(J))}},ei.prototype.upload=function(y){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=y.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},ei.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},ei.prototype.setUniform=function(y,I){var U=this.useIntegerZoom?Math.floor(I.zoom):I.zoom,J=p(this.expression.interpolationFactor(U,this.zoom,this.zoom+1),0,1);y.set(J)},ei.prototype.getBinding=function(y,I,U){return new Pt(y,I)};var yi=function(y,I,U,J,ne,fe){this.expression=y,this.type=I,this.useIntegerZoom=U,this.zoom=J,this.layerId=fe,this.zoomInPaintVertexArray=new ne,this.zoomOutPaintVertexArray=new ne};yi.prototype.populatePaintArray=function(y,I,U){var J=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(y),this.zoomOutPaintVertexArray.resize(y),this._setPaintValues(J,y,I.patterns&&I.patterns[this.layerId],U)},yi.prototype.updatePaintArray=function(y,I,U,J,ne){this._setPaintValues(y,I,U.patterns&&U.patterns[this.layerId],ne)},yi.prototype._setPaintValues=function(y,I,U,J){if(!(!J||!U)){var ne=U.min,fe=U.mid,Fe=U.max,Qe=J[ne],st=J[fe],mt=J[Fe];if(!(!Qe||!st||!mt))for(var Xt=y;Xt<I;Xt++)this.zoomInPaintVertexArray.emplace(Xt,st.tl[0],st.tl[1],st.br[0],st.br[1],Qe.tl[0],Qe.tl[1],Qe.br[0],Qe.br[1],st.pixelRatio,Qe.pixelRatio),this.zoomOutPaintVertexArray.emplace(Xt,st.tl[0],st.tl[1],st.br[0],st.br[1],mt.tl[0],mt.tl[1],mt.br[0],mt.br[1],st.pixelRatio,mt.pixelRatio)}},yi.prototype.upload=function(y){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=y.createVertexBuffer(this.zoomInPaintVertexArray,z.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=y.createVertexBuffer(this.zoomOutPaintVertexArray,z.members,this.expression.isStateDependent))},yi.prototype.destroy=function(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()};var tn=function(y,I,U){this.binders={},this._buffers=[];var J=[];for(var ne in y.paint._values)if(U(ne)){var fe=y.paint.get(ne);if(!(!(fe instanceof dl)||!Gs(fe.property.specification))){var Fe=ln(ne,y.type),Qe=fe.value,st=fe.property.specification.type,mt=fe.property.useIntegerZoom,Xt=fe.property.specification[\"property-type\"],ur=Xt===\"cross-faded\"||Xt===\"cross-faded-data-driven\";if(Qe.kind===\"constant\")this.binders[ne]=ur?new cr(Qe.value,Fe):new Cr(Qe.value,Fe,st),J.push(\"/u_\"+ne);else if(Qe.kind===\"source\"||ur){var nr=qn(ne,st,\"source\");this.binders[ne]=ur?new yi(Qe,st,mt,I,nr,y.id):new Gr(Qe,Fe,st,nr),J.push(\"/a_\"+ne)}else{var Lr=qn(ne,st,\"composite\");this.binders[ne]=new ei(Qe,Fe,st,mt,I,Lr),J.push(\"/z_\"+ne)}}}this.cacheKey=J.sort().join(\"\")};tn.prototype.getMaxValue=function(y){var I=this.binders[y];return I instanceof Gr||I instanceof ei?I.maxValue:0},tn.prototype.populatePaintArrays=function(y,I,U,J,ne){for(var fe in this.binders){var Fe=this.binders[fe];(Fe instanceof Gr||Fe instanceof ei||Fe instanceof yi)&&Fe.populatePaintArray(y,I,U,J,ne)}},tn.prototype.setConstantPatternPositions=function(y,I){for(var U in this.binders){var J=this.binders[U];J instanceof cr&&J.setConstantPatternPositions(y,I)}},tn.prototype.updatePaintArrays=function(y,I,U,J,ne){var fe=!1;for(var Fe in y)for(var Qe=I.getPositions(Fe),st=0,mt=Qe;st<mt.length;st+=1){var Xt=mt[st],ur=U.feature(Xt.index);for(var nr in this.binders){var Lr=this.binders[nr];if((Lr instanceof Gr||Lr instanceof ei||Lr instanceof yi)&&Lr.expression.isStateDependent===!0){var Yr=J.paint.get(nr);Lr.expression=Yr.value,Lr.updatePaintArray(Xt.start,Xt.end,ur,y[Fe],ne),fe=!0}}}return fe},tn.prototype.defines=function(){var y=[];for(var I in this.binders){var U=this.binders[I];(U instanceof Cr||U instanceof cr)&&y.push.apply(y,U.uniformNames.map(function(J){return\"#define HAS_UNIFORM_\"+J}))}return y},tn.prototype.getBinderAttributes=function(){var y=[];for(var I in this.binders){var U=this.binders[I];if(U instanceof Gr||U instanceof ei)for(var J=0;J<U.paintVertexAttributes.length;J++)y.push(U.paintVertexAttributes[J].name);else if(U instanceof yi)for(var ne=0;ne<z.members.length;ne++)y.push(z.members[ne].name)}return y},tn.prototype.getBinderUniforms=function(){var y=[];for(var I in this.binders){var U=this.binders[I];if(U instanceof Cr||U instanceof cr||U instanceof ei)for(var J=0,ne=U.uniformNames;J<ne.length;J+=1){var fe=ne[J];y.push(fe)}}return y},tn.prototype.getPaintVertexBuffers=function(){return this._buffers},tn.prototype.getUniforms=function(y,I){var U=[];for(var J in this.binders){var ne=this.binders[J];if(ne instanceof Cr||ne instanceof cr||ne instanceof ei)for(var fe=0,Fe=ne.uniformNames;fe<Fe.length;fe+=1){var Qe=Fe[fe];if(I[Qe]){var st=ne.getBinding(y,I[Qe],Qe);U.push({name:Qe,property:J,binding:st})}}}return U},tn.prototype.setUniforms=function(y,I,U,J){for(var ne=0,fe=I;ne<fe.length;ne+=1){var Fe=fe[ne],Qe=Fe.name,st=Fe.property,mt=Fe.binding;this.binders[st].setUniform(mt,J,U.get(st),Qe)}},tn.prototype.updatePaintBuffers=function(y){this._buffers=[];for(var I in this.binders){var U=this.binders[I];if(y&&U instanceof yi){var J=y.fromScale===2?U.zoomInPaintVertexBuffer:U.zoomOutPaintVertexBuffer;J&&this._buffers.push(J)}else(U instanceof Gr||U instanceof ei)&&U.paintVertexBuffer&&this._buffers.push(U.paintVertexBuffer)}},tn.prototype.upload=function(y){for(var I in this.binders){var U=this.binders[I];(U instanceof Gr||U instanceof ei||U instanceof yi)&&U.upload(y)}this.updatePaintBuffers()},tn.prototype.destroy=function(){for(var y in this.binders){var I=this.binders[y];(I instanceof Gr||I instanceof ei||I instanceof yi)&&I.destroy()}};var Ri=function(y,I,U){U===void 0&&(U=function(){return!0}),this.programConfigurations={};for(var J=0,ne=y;J<ne.length;J+=1){var fe=ne[J];this.programConfigurations[fe.id]=new tn(fe,I,U)}this.needsUpload=!1,this._featureMap=new Ie,this._bufferOffset=0};Ri.prototype.populatePaintArrays=function(y,I,U,J,ne,fe){for(var Fe in this.programConfigurations)this.programConfigurations[Fe].populatePaintArrays(y,I,J,ne,fe);I.id!==void 0&&this._featureMap.add(I.id,U,this._bufferOffset,y),this._bufferOffset=y,this.needsUpload=!0},Ri.prototype.updatePaintArrays=function(y,I,U,J){for(var ne=0,fe=U;ne<fe.length;ne+=1){var Fe=fe[ne];this.needsUpload=this.programConfigurations[Fe.id].updatePaintArrays(y,this._featureMap,I,Fe,J)||this.needsUpload}},Ri.prototype.get=function(y){return this.programConfigurations[y]},Ri.prototype.upload=function(y){if(this.needsUpload){for(var I in this.programConfigurations)this.programConfigurations[I].upload(y);this.needsUpload=!1}},Ri.prototype.destroy=function(){for(var y in this.programConfigurations)this.programConfigurations[y].destroy()};function ln(m,y){var I={\"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\"]};return I[m]||[m.replace(y+\"-\",\"\").replace(/-/g,\"_\")]}function Qn(m){var y={\"line-pattern\":{source:Kn,composite:Kn},\"fill-pattern\":{source:Kn,composite:Kn},\"fill-extrusion-pattern\":{source:Kn,composite:Kn}};return y[m]}function qn(m,y,I){var U={color:{source:ca,composite:Yl},number:{source:Jn,composite:ca}},J=Qn(m);return J&&J[I]||U[y][I]}Z(\"ConstantBinder\",Cr),Z(\"CrossFadedConstantBinder\",cr),Z(\"SourceExpressionBinder\",Gr),Z(\"CrossFadedCompositeBinder\",yi),Z(\"CompositeExpressionBinder\",ei),Z(\"ProgramConfiguration\",tn,{omit:[\"_buffers\"]}),Z(\"ProgramConfigurationSet\",Ri);var rn=8192,bn=15,mn=Math.pow(2,bn-1)-1,Gn=-mn-1;function da(m){for(var y=rn/m.extent,I=m.loadGeometry(),U=0;U<I.length;U++)for(var J=I[U],ne=0;ne<J.length;ne++){var fe=J[ne],Fe=Math.round(fe.x*y),Qe=Math.round(fe.y*y);fe.x=p(Fe,Gn,mn),fe.y=p(Qe,Gn,mn),(Fe<fe.x||Fe>fe.x+1||Qe<fe.y||Qe>fe.y+1)&&re(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return I}function No(m,y){return{type:m.type,id:m.id,properties:m.properties,geometry:y?da(m):[]}}function Do(m,y,I,U,J){m.emplaceBack(y*2+(U+1)/2,I*2+(J+1)/2)}var ps=function(y){this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=y.index,this.hasPattern=!1,this.layoutVertexArray=new ji,this.indexArray=new ma,this.segments=new ns,this.programConfigurations=new Ri(y.layers,y.zoom),this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};ps.prototype.populate=function(y,I,U){var J=this.layers[0],ne=[],fe=null;J.type===\"circle\"&&(fe=J.layout.get(\"circle-sort-key\"));for(var Fe=0,Qe=y;Fe<Qe.length;Fe+=1){var st=Qe[Fe],mt=st.feature,Xt=st.id,ur=st.index,nr=st.sourceLayerIndex,Lr=this.layers[0]._featureFilter.needGeometry,Yr=No(mt,Lr);if(this.layers[0]._featureFilter.filter(new pn(this.zoom),Yr,U)){var _i=fe?fe.evaluate(Yr,{},U):void 0,si={id:Xt,properties:mt.properties,type:mt.type,sourceLayerIndex:nr,index:ur,geometry:Lr?Yr.geometry:da(mt),patterns:{},sortKey:_i};ne.push(si)}}fe&&ne.sort(function(_a,Pa){return _a.sortKey-Pa.sortKey});for(var Hi=0,Ei=ne;Hi<Ei.length;Hi+=1){var Vi=Ei[Hi],en=Vi,An=en.geometry,ra=en.index,$n=en.sourceLayerIndex,Ba=y[ra].feature;this.addFeature(Vi,An,ra,U),I.featureIndex.insert(Ba,An,ra,$n,this.index)}},ps.prototype.update=function(y,I,U){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(y,I,this.stateDependentLayers,U)},ps.prototype.isEmpty=function(){return this.layoutVertexArray.length===0},ps.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},ps.prototype.upload=function(y){this.uploaded||(this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,_f),this.indexBuffer=y.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(y),this.uploaded=!0},ps.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},ps.prototype.addFeature=function(y,I,U,J){for(var ne=0,fe=I;ne<fe.length;ne+=1)for(var Fe=fe[ne],Qe=0,st=Fe;Qe<st.length;Qe+=1){var mt=st[Qe],Xt=mt.x,ur=mt.y;if(!(Xt<0||Xt>=rn||ur<0||ur>=rn)){var nr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,y.sortKey),Lr=nr.vertexLength;Do(this.layoutVertexArray,Xt,ur,-1,-1),Do(this.layoutVertexArray,Xt,ur,1,-1),Do(this.layoutVertexArray,Xt,ur,1,1),Do(this.layoutVertexArray,Xt,ur,-1,1),this.indexArray.emplaceBack(Lr,Lr+1,Lr+2),this.indexArray.emplaceBack(Lr,Lr+3,Lr+2),nr.vertexLength+=4,nr.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,y,U,{},J)},Z(\"CircleBucket\",ps,{omit:[\"layers\"]});function fo(m,y){for(var I=0;I<m.length;I++)if(_d(y,m[I]))return!0;for(var U=0;U<y.length;U++)if(_d(m,y[U]))return!0;return!!Ev(m,y)}function as(m,y,I){return!!(_d(m,y)||Yv(y,m,I))}function tl(m,y){if(m.length===1)return vp(y,m[0]);for(var I=0;I<y.length;I++)for(var U=y[I],J=0;J<U.length;J++)if(_d(m,U[J]))return!0;for(var ne=0;ne<m.length;ne++)if(vp(y,m[ne]))return!0;for(var fe=0;fe<y.length;fe++)if(Ev(m,y[fe]))return!0;return!1}function zu(m,y,I){for(var U=0;U<y.length;U++){var J=y[U];if(m.length>=3){for(var ne=0;ne<J.length;ne++)if(_d(m,J[ne]))return!0}if(Mv(m,J,I))return!0}return!1}function Mv(m,y,I){if(m.length>1){if(Ev(m,y))return!0;for(var U=0;U<y.length;U++)if(Yv(y[U],m,I))return!0}for(var J=0;J<m.length;J++)if(Yv(m[J],y,I))return!0;return!1}function Ev(m,y){if(m.length===0||y.length===0)return!1;for(var I=0;I<m.length-1;I++)for(var U=m[I],J=m[I+1],ne=0;ne<y.length-1;ne++){var fe=y[ne],Fe=y[ne+1];if(yd(U,J,fe,Fe))return!0}return!1}function yd(m,y,I,U){return ae(m,I,U)!==ae(y,I,U)&&ae(m,y,I)!==ae(m,y,U)}function Yv(m,y,I){var U=I*I;if(y.length===1)return m.distSqr(y[0])<U;for(var J=1;J<y.length;J++){var ne=y[J-1],fe=y[J];if(cg(m,ne,fe)<U)return!0}return!1}function cg(m,y,I){var U=y.distSqr(I);if(U===0)return m.distSqr(y);var J=((m.x-y.x)*(I.x-y.x)+(m.y-y.y)*(I.y-y.y))/U;return J<0?m.distSqr(y):J>1?m.distSqr(I):m.distSqr(I.sub(y)._mult(J)._add(y))}function vp(m,y){for(var I=!1,U,J,ne,fe=0;fe<m.length;fe++){U=m[fe];for(var Fe=0,Qe=U.length-1;Fe<U.length;Qe=Fe++)J=U[Fe],ne=U[Qe],J.y>y.y!=ne.y>y.y&&y.x<(ne.x-J.x)*(y.y-J.y)/(ne.y-J.y)+J.x&&(I=!I)}return I}function _d(m,y){for(var I=!1,U=0,J=m.length-1;U<m.length;J=U++){var ne=m[U],fe=m[J];ne.y>y.y!=fe.y>y.y&&y.x<(fe.x-ne.x)*(y.y-ne.y)/(fe.y-ne.y)+ne.x&&(I=!I)}return I}function pp(m,y,I,U,J){for(var ne=0,fe=m;ne<fe.length;ne+=1){var Fe=fe[ne];if(y<=Fe.x&&I<=Fe.y&&U>=Fe.x&&J>=Fe.y)return!0}var Qe=[new u(y,I),new u(y,J),new u(U,J),new u(U,I)];if(m.length>2)for(var st=0,mt=Qe;st<mt.length;st+=1){var Xt=mt[st];if(_d(m,Xt))return!0}for(var ur=0;ur<m.length-1;ur++){var nr=m[ur],Lr=m[ur+1];if(Nd(nr,Lr,Qe))return!0}return!1}function Nd(m,y,I){var U=I[0],J=I[2];if(m.x<U.x&&y.x<U.x||m.x>J.x&&y.x>J.x||m.y<U.y&&y.y<U.y||m.y>J.y&&y.y>J.y)return!1;var ne=ae(m,y,I[0]);return ne!==ae(m,y,I[1])||ne!==ae(m,y,I[2])||ne!==ae(m,y,I[3])}function xd(m,y,I){var U=y.paint.get(m).value;return U.kind===\"constant\"?U.value:I.programConfigurations.get(y.id).getMaxValue(m)}function kv(m){return Math.sqrt(m[0]*m[0]+m[1]*m[1])}function Kv(m,y,I,U,J){if(!y[0]&&!y[1])return m;var ne=u.convert(y)._mult(J);I===\"viewport\"&&ne._rotate(-U);for(var fe=[],Fe=0;Fe<m.length;Fe++){var Qe=m[Fe];fe.push(Qe.sub(ne))}return fe}var Cv=new Oi({\"circle-sort-key\":new Er(on.layout_circle[\"circle-sort-key\"])}),ny=new Oi({\"circle-radius\":new Er(on.paint_circle[\"circle-radius\"]),\"circle-color\":new Er(on.paint_circle[\"circle-color\"]),\"circle-blur\":new Er(on.paint_circle[\"circle-blur\"]),\"circle-opacity\":new Er(on.paint_circle[\"circle-opacity\"]),\"circle-translate\":new At(on.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new At(on.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new At(on.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new At(on.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new Er(on.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new Er(on.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new Er(on.paint_circle[\"circle-stroke-opacity\"])}),fg={paint:ny,layout:Cv},Hf=typeof Float32Array!=\"undefined\"?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var m=arguments,y=0,I=arguments.length;I--;)y+=m[I]*m[I];return Math.sqrt(y)});function hg(){var m=new Hf(4);return Hf!=Float32Array&&(m[1]=0,m[2]=0),m[0]=1,m[3]=1,m}function ay(m,y,I){var U=y[0],J=y[1],ne=y[2],fe=y[3],Fe=Math.sin(I),Qe=Math.cos(I);return m[0]=U*Qe+ne*Fe,m[1]=J*Qe+fe*Fe,m[2]=U*-Fe+ne*Qe,m[3]=J*-Fe+fe*Qe,m}function Rh(){var m=new Hf(9);return Hf!=Float32Array&&(m[1]=0,m[2]=0,m[3]=0,m[5]=0,m[6]=0,m[7]=0),m[0]=1,m[4]=1,m[8]=1,m}function rm(m,y){var I=Math.sin(y),U=Math.cos(y);return m[0]=U,m[1]=I,m[2]=0,m[3]=-I,m[4]=U,m[5]=0,m[6]=0,m[7]=0,m[8]=1,m}function w1(){var m=new Hf(16);return Hf!=Float32Array&&(m[1]=0,m[2]=0,m[3]=0,m[4]=0,m[6]=0,m[7]=0,m[8]=0,m[9]=0,m[11]=0,m[12]=0,m[13]=0,m[14]=0),m[0]=1,m[5]=1,m[10]=1,m[15]=1,m}function T1(m){var y=new Hf(16);return y[0]=m[0],y[1]=m[1],y[2]=m[2],y[3]=m[3],y[4]=m[4],y[5]=m[5],y[6]=m[6],y[7]=m[7],y[8]=m[8],y[9]=m[9],y[10]=m[10],y[11]=m[11],y[12]=m[12],y[13]=m[13],y[14]=m[14],y[15]=m[15],y}function oy(m){return m[0]=1,m[1]=0,m[2]=0,m[3]=0,m[4]=0,m[5]=1,m[6]=0,m[7]=0,m[8]=0,m[9]=0,m[10]=1,m[11]=0,m[12]=0,m[13]=0,m[14]=0,m[15]=1,m}function im(m,y){var I=y[0],U=y[1],J=y[2],ne=y[3],fe=y[4],Fe=y[5],Qe=y[6],st=y[7],mt=y[8],Xt=y[9],ur=y[10],nr=y[11],Lr=y[12],Yr=y[13],_i=y[14],si=y[15],Hi=I*Fe-U*fe,Ei=I*Qe-J*fe,Vi=I*st-ne*fe,en=U*Qe-J*Fe,An=U*st-ne*Fe,ra=J*st-ne*Qe,$n=mt*Yr-Xt*Lr,Ba=mt*_i-ur*Lr,_a=mt*si-nr*Lr,Pa=Xt*_i-ur*Yr,qo=Xt*si-nr*Yr,Na=ur*si-nr*_i,ja=Hi*Na-Ei*qo+Vi*Pa+en*_a-An*Ba+ra*$n;return ja?(ja=1/ja,m[0]=(Fe*Na-Qe*qo+st*Pa)*ja,m[1]=(J*qo-U*Na-ne*Pa)*ja,m[2]=(Yr*ra-_i*An+si*en)*ja,m[3]=(ur*An-Xt*ra-nr*en)*ja,m[4]=(Qe*_a-fe*Na-st*Ba)*ja,m[5]=(I*Na-J*_a+ne*Ba)*ja,m[6]=(_i*Vi-Lr*ra-si*Ei)*ja,m[7]=(mt*ra-ur*Vi+nr*Ei)*ja,m[8]=(fe*qo-Fe*_a+st*$n)*ja,m[9]=(U*_a-I*qo-ne*$n)*ja,m[10]=(Lr*An-Yr*Vi+si*Hi)*ja,m[11]=(Xt*Vi-mt*An-nr*Hi)*ja,m[12]=(Fe*Ba-fe*Pa-Qe*$n)*ja,m[13]=(I*Pa-U*Ba+J*$n)*ja,m[14]=(Yr*Ei-Lr*en-_i*Hi)*ja,m[15]=(mt*en-Xt*Ei+ur*Hi)*ja,m):null}function nm(m,y,I){var U=y[0],J=y[1],ne=y[2],fe=y[3],Fe=y[4],Qe=y[5],st=y[6],mt=y[7],Xt=y[8],ur=y[9],nr=y[10],Lr=y[11],Yr=y[12],_i=y[13],si=y[14],Hi=y[15],Ei=I[0],Vi=I[1],en=I[2],An=I[3];return m[0]=Ei*U+Vi*Fe+en*Xt+An*Yr,m[1]=Ei*J+Vi*Qe+en*ur+An*_i,m[2]=Ei*ne+Vi*st+en*nr+An*si,m[3]=Ei*fe+Vi*mt+en*Lr+An*Hi,Ei=I[4],Vi=I[5],en=I[6],An=I[7],m[4]=Ei*U+Vi*Fe+en*Xt+An*Yr,m[5]=Ei*J+Vi*Qe+en*ur+An*_i,m[6]=Ei*ne+Vi*st+en*nr+An*si,m[7]=Ei*fe+Vi*mt+en*Lr+An*Hi,Ei=I[8],Vi=I[9],en=I[10],An=I[11],m[8]=Ei*U+Vi*Fe+en*Xt+An*Yr,m[9]=Ei*J+Vi*Qe+en*ur+An*_i,m[10]=Ei*ne+Vi*st+en*nr+An*si,m[11]=Ei*fe+Vi*mt+en*Lr+An*Hi,Ei=I[12],Vi=I[13],en=I[14],An=I[15],m[12]=Ei*U+Vi*Fe+en*Xt+An*Yr,m[13]=Ei*J+Vi*Qe+en*ur+An*_i,m[14]=Ei*ne+Vi*st+en*nr+An*si,m[15]=Ei*fe+Vi*mt+en*Lr+An*Hi,m}function Fu(m,y,I){var U=I[0],J=I[1],ne=I[2],fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si;return y===m?(m[12]=y[0]*U+y[4]*J+y[8]*ne+y[12],m[13]=y[1]*U+y[5]*J+y[9]*ne+y[13],m[14]=y[2]*U+y[6]*J+y[10]*ne+y[14],m[15]=y[3]*U+y[7]*J+y[11]*ne+y[15]):(fe=y[0],Fe=y[1],Qe=y[2],st=y[3],mt=y[4],Xt=y[5],ur=y[6],nr=y[7],Lr=y[8],Yr=y[9],_i=y[10],si=y[11],m[0]=fe,m[1]=Fe,m[2]=Qe,m[3]=st,m[4]=mt,m[5]=Xt,m[6]=ur,m[7]=nr,m[8]=Lr,m[9]=Yr,m[10]=_i,m[11]=si,m[12]=fe*U+mt*J+Lr*ne+y[12],m[13]=Fe*U+Xt*J+Yr*ne+y[13],m[14]=Qe*U+ur*J+_i*ne+y[14],m[15]=st*U+nr*J+si*ne+y[15]),m}function kl(m,y,I){var U=I[0],J=I[1],ne=I[2];return m[0]=y[0]*U,m[1]=y[1]*U,m[2]=y[2]*U,m[3]=y[3]*U,m[4]=y[4]*J,m[5]=y[5]*J,m[6]=y[6]*J,m[7]=y[7]*J,m[8]=y[8]*ne,m[9]=y[9]*ne,m[10]=y[10]*ne,m[11]=y[11]*ne,m[12]=y[12],m[13]=y[13],m[14]=y[14],m[15]=y[15],m}function bd(m,y,I){var U=Math.sin(I),J=Math.cos(I),ne=y[4],fe=y[5],Fe=y[6],Qe=y[7],st=y[8],mt=y[9],Xt=y[10],ur=y[11];return y!==m&&(m[0]=y[0],m[1]=y[1],m[2]=y[2],m[3]=y[3],m[12]=y[12],m[13]=y[13],m[14]=y[14],m[15]=y[15]),m[4]=ne*J+st*U,m[5]=fe*J+mt*U,m[6]=Fe*J+Xt*U,m[7]=Qe*J+ur*U,m[8]=st*J-ne*U,m[9]=mt*J-fe*U,m[10]=Xt*J-Fe*U,m[11]=ur*J-Qe*U,m}function sy(m,y,I){var U=Math.sin(I),J=Math.cos(I),ne=y[0],fe=y[1],Fe=y[2],Qe=y[3],st=y[4],mt=y[5],Xt=y[6],ur=y[7];return y!==m&&(m[8]=y[8],m[9]=y[9],m[10]=y[10],m[11]=y[11],m[12]=y[12],m[13]=y[13],m[14]=y[14],m[15]=y[15]),m[0]=ne*J+st*U,m[1]=fe*J+mt*U,m[2]=Fe*J+Xt*U,m[3]=Qe*J+ur*U,m[4]=st*J-ne*U,m[5]=mt*J-fe*U,m[6]=Xt*J-Fe*U,m[7]=ur*J-Qe*U,m}function A1(m,y,I,U,J){var ne=1/Math.tan(y/2),fe;return m[0]=ne/I,m[1]=0,m[2]=0,m[3]=0,m[4]=0,m[5]=ne,m[6]=0,m[7]=0,m[8]=0,m[9]=0,m[11]=-1,m[12]=0,m[13]=0,m[15]=0,J!=null&&J!==1/0?(fe=1/(U-J),m[10]=(J+U)*fe,m[14]=2*J*U*fe):(m[10]=-1,m[14]=-2*U),m}function Kl(m,y,I,U,J,ne,fe){var Fe=1/(y-I),Qe=1/(U-J),st=1/(ne-fe);return m[0]=-2*Fe,m[1]=0,m[2]=0,m[3]=0,m[4]=0,m[5]=-2*Qe,m[6]=0,m[7]=0,m[8]=0,m[9]=0,m[10]=2*st,m[11]=0,m[12]=(y+I)*Fe,m[13]=(J+U)*Qe,m[14]=(fe+ne)*st,m[15]=1,m}var Nx=nm;function am(){var m=new Hf(3);return Hf!=Float32Array&&(m[0]=0,m[1]=0,m[2]=0),m}function Mw(m){var y=new Hf(3);return y[0]=m[0],y[1]=m[1],y[2]=m[2],y}function Lv(m,y,I){return m[0]=y[0]+I[0],m[1]=y[1]+I[1],m[2]=y[2]+I[2],m}function om(m,y,I){return m[0]=y[0]-I[0],m[1]=y[1]-I[1],m[2]=y[2]-I[2],m}function Ew(m,y,I){return m[0]=y[0]*I,m[1]=y[1]*I,m[2]=y[2]*I,m}function Ux(m,y){var I=y[0],U=y[1],J=y[2],ne=I*I+U*U+J*J;return ne>0&&(ne=1/Math.sqrt(ne)),m[0]=y[0]*ne,m[1]=y[1]*ne,m[2]=y[2]*ne,m}function P9(m,y){return m[0]*y[0]+m[1]*y[1]+m[2]*y[2]}function I9(m,y,I){var U=y[0],J=y[1],ne=y[2],fe=I[0],Fe=I[1],Qe=I[2];return m[0]=J*Qe-ne*Fe,m[1]=ne*fe-U*Qe,m[2]=U*Fe-J*fe,m}function R9(m,y,I){var U=y[0],J=y[1],ne=y[2];return m[0]=U*I[0]+J*I[3]+ne*I[6],m[1]=U*I[1]+J*I[4]+ne*I[7],m[2]=U*I[2]+J*I[5]+ne*I[8],m}var D9=om,mQ=function(){var m=am();return function(y,I,U,J,ne,fe){var Fe,Qe;for(I||(I=3),U||(U=0),J?Qe=Math.min(J*I+U,y.length):Qe=y.length,Fe=U;Fe<Qe;Fe+=I)m[0]=y[Fe],m[1]=y[Fe+1],m[2]=y[Fe+2],ne(m,m,fe),y[Fe]=m[0],y[Fe+1]=m[1],y[Fe+2]=m[2];return y}}();function z9(){var m=new Hf(4);return Hf!=Float32Array&&(m[0]=0,m[1]=0,m[2]=0,m[3]=0),m}function F9(m,y,I){return m[0]=y[0]*I,m[1]=y[1]*I,m[2]=y[2]*I,m[3]=y[3]*I,m}function q9(m,y){return m[0]*y[0]+m[1]*y[1]+m[2]*y[2]+m[3]*y[3]}function ly(m,y,I){var U=y[0],J=y[1],ne=y[2],fe=y[3];return m[0]=I[0]*U+I[4]*J+I[8]*ne+I[12]*fe,m[1]=I[1]*U+I[5]*J+I[9]*ne+I[13]*fe,m[2]=I[2]*U+I[6]*J+I[10]*ne+I[14]*fe,m[3]=I[3]*U+I[7]*J+I[11]*ne+I[15]*fe,m}var Vx=function(){var m=z9();return function(y,I,U,J,ne,fe){var Fe,Qe;for(I||(I=4),U||(U=0),J?Qe=Math.min(J*I+U,y.length):Qe=y.length,Fe=U;Fe<Qe;Fe+=I)m[0]=y[Fe],m[1]=y[Fe+1],m[2]=y[Fe+2],m[3]=y[Fe+3],ne(m,m,fe),y[Fe]=m[0],y[Fe+1]=m[1],y[Fe+2]=m[2],y[Fe+3]=m[3];return y}}();function cC(){var m=new Hf(2);return Hf!=Float32Array&&(m[0]=0,m[1]=0),m}function eS(m){var y=m[0],I=m[1];return y*y+I*I}var tS=eS,yQ=function(){var m=cC();return function(y,I,U,J,ne,fe){var Fe,Qe;for(I||(I=2),U||(U=0),J?Qe=Math.min(J*I+U,y.length):Qe=y.length,Fe=U;Fe<Qe;Fe+=I)m[0]=y[Fe],m[1]=y[Fe+1],ne(m,m,fe),y[Fe]=m[0],y[Fe+1]=m[1];return y}}(),O9=function(m){function y(I){m.call(this,I,fg)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.createBucket=function(U){return new ps(U)},y.prototype.queryRadius=function(U){var J=U;return xd(\"circle-radius\",this,J)+xd(\"circle-stroke-width\",this,J)+kv(this.paint.get(\"circle-translate\"))},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st,mt){for(var Xt=Kv(U,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),Qe.angle,st),ur=this.paint.get(\"circle-radius\").evaluate(J,ne),nr=this.paint.get(\"circle-stroke-width\").evaluate(J,ne),Lr=ur+nr,Yr=this.paint.get(\"circle-pitch-alignment\")===\"map\",_i=Yr?Xt:hC(Xt,mt),si=Yr?Lr*st:Lr,Hi=0,Ei=fe;Hi<Ei.length;Hi+=1)for(var Vi=Ei[Hi],en=0,An=Vi;en<An.length;en+=1){var ra=An[en],$n=Yr?ra:fC(ra,mt),Ba=si,_a=ly([],[ra.x,ra.y,0,1],mt);if(this.paint.get(\"circle-pitch-scale\")===\"viewport\"&&this.paint.get(\"circle-pitch-alignment\")===\"map\"?Ba*=_a[3]/Qe.cameraToCenterDistance:this.paint.get(\"circle-pitch-scale\")===\"map\"&&this.paint.get(\"circle-pitch-alignment\")===\"viewport\"&&(Ba*=Qe.cameraToCenterDistance/_a[3]),as(_i,$n,Ba))return!0}return!1},y}(cn);function fC(m,y){var I=ly([],[m.x,m.y,0,1],y);return new u(I[0]/I[3],I[1]/I[3])}function hC(m,y){return m.map(function(I){return fC(I,y)})}var rS=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(ps);Z(\"HeatmapBucket\",rS,{omit:[\"layers\"]});function wd(m,y,I,U){var J=y.width,ne=y.height;if(!U)U=new Uint8Array(J*ne*I);else if(U instanceof Uint8ClampedArray)U=new Uint8Array(U.buffer);else if(U.length!==J*ne*I)throw new RangeError(\"mismatched image size\");return m.width=J,m.height=ne,m.data=U,m}function kw(m,y,I){var U=y.width,J=y.height;if(!(U===m.width&&J===m.height)){var ne=wd({},{width:U,height:J},I);Cw(m,ne,{x:0,y:0},{x:0,y:0},{width:Math.min(m.width,U),height:Math.min(m.height,J)},I),m.width=U,m.height=J,m.data=ne.data}}function Cw(m,y,I,U,J,ne){if(J.width===0||J.height===0)return y;if(J.width>m.width||J.height>m.height||I.x>m.width-J.width||I.y>m.height-J.height)throw new RangeError(\"out of range source coordinates for image copy\");if(J.width>y.width||J.height>y.height||U.x>y.width-J.width||U.y>y.height-J.height)throw new RangeError(\"out of range destination coordinates for image copy\");for(var fe=m.data,Fe=y.data,Qe=0;Qe<J.height;Qe++)for(var st=((I.y+Qe)*m.width+I.x)*ne,mt=((U.y+Qe)*y.width+U.x)*ne,Xt=0;Xt<J.width*ne;Xt++)Fe[mt+Xt]=fe[st+Xt];return y}var Pv=function(y,I){wd(this,y,1,I)};Pv.prototype.resize=function(y){kw(this,y,1)},Pv.prototype.clone=function(){return new Pv({width:this.width,height:this.height},new Uint8Array(this.data))},Pv.copy=function(y,I,U,J,ne){Cw(y,I,U,J,ne,1)};var lh=function(y,I){wd(this,y,4,I)};lh.prototype.resize=function(y){kw(this,y,4)},lh.prototype.replace=function(y,I){I?this.data.set(y):y instanceof Uint8ClampedArray?this.data=new Uint8Array(y.buffer):this.data=y},lh.prototype.clone=function(){return new lh({width:this.width,height:this.height},new Uint8Array(this.data))},lh.copy=function(y,I,U,J,ne){Cw(y,I,U,J,ne,4)},Z(\"AlphaImage\",Pv),Z(\"RGBAImage\",lh);var Hx=new Oi({\"heatmap-radius\":new Er(on.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new Er(on.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new At(on.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new Ui(on.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new At(on.paint_heatmap[\"heatmap-opacity\"])}),S1={paint:Hx};function Gx(m){var y={},I=m.resolution||256,U=m.clips?m.clips.length:1,J=m.image||new lh({width:I,height:U}),ne=function(Hi,Ei,Vi){y[m.evaluationKey]=Vi;var en=m.expression.evaluate(y);J.data[Hi+Ei+0]=Math.floor(en.r*255/en.a),J.data[Hi+Ei+1]=Math.floor(en.g*255/en.a),J.data[Hi+Ei+2]=Math.floor(en.b*255/en.a),J.data[Hi+Ei+3]=Math.floor(en.a*255)};if(m.clips)for(var st=0,mt=0;st<U;++st,mt+=I*4)for(var Xt=0,ur=0;Xt<I;Xt++,ur+=4){var nr=Xt/(I-1),Lr=m.clips[st],Yr=Lr.start,_i=Lr.end,si=Yr*(1-nr)+_i*nr;ne(mt,ur,si)}else for(var fe=0,Fe=0;fe<I;fe++,Fe+=4){var Qe=fe/(I-1);ne(0,Fe,Qe)}return J}var Lw=function(m){function y(I){m.call(this,I,S1),this._updateColorRamp()}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.createBucket=function(U){return new rS(U)},y.prototype._handleSpecialPaintPropertyUpdate=function(U){U===\"heatmap-color\"&&this._updateColorRamp()},y.prototype._updateColorRamp=function(){var U=this._transitionablePaint._values[\"heatmap-color\"].value.expression;this.colorRamp=Gx({expression:U,evaluationKey:\"heatmapDensity\",image:this.colorRamp}),this.colorRampTexture=null},y.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)},y.prototype.queryRadius=function(){return 0},y.prototype.queryIntersectsFeature=function(){return!1},y.prototype.hasOffscreenPass=function(){return this.paint.get(\"heatmap-opacity\")!==0&&this.visibility!==\"none\"},y}(cn),B9=new Oi({\"hillshade-illumination-direction\":new At(on.paint_hillshade[\"hillshade-illumination-direction\"]),\"hillshade-illumination-anchor\":new At(on.paint_hillshade[\"hillshade-illumination-anchor\"]),\"hillshade-exaggeration\":new At(on.paint_hillshade[\"hillshade-exaggeration\"]),\"hillshade-shadow-color\":new At(on.paint_hillshade[\"hillshade-shadow-color\"]),\"hillshade-highlight-color\":new At(on.paint_hillshade[\"hillshade-highlight-color\"]),\"hillshade-accent-color\":new At(on.paint_hillshade[\"hillshade-accent-color\"])}),N9={paint:B9},dC=function(m){function y(I){m.call(this,I,N9)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.hasOffscreenPass=function(){return this.paint.get(\"hillshade-exaggeration\")!==0&&this.visibility!==\"none\"},y}(cn),vC=Dn([{name:\"a_pos\",components:2,type:\"Int16\"}],4),U9=vC.members,Pw=M1,pC=M1;function M1(m,y,I){I=I||2;var U=y&&y.length,J=U?y[0]*I:m.length,ne=Iw(m,0,J,I,!0),fe=[];if(!ne||ne.next===ne.prev)return fe;var Fe,Qe,st,mt,Xt,ur,nr;if(U&&(ne=lm(m,y,ne,I)),m.length>80*I){Fe=st=m[0],Qe=mt=m[1];for(var Lr=I;Lr<J;Lr+=I)Xt=m[Lr],ur=m[Lr+1],Xt<Fe&&(Fe=Xt),ur<Qe&&(Qe=ur),Xt>st&&(st=Xt),ur>mt&&(mt=ur);nr=Math.max(st-Fe,mt-Qe),nr=nr!==0?1/nr:0}return jx(ne,fe,I,Fe,Qe,nr),fe}function Iw(m,y,I,U,J){var ne,fe;if(J===uS(m,y,I,U)>0)for(ne=y;ne<I;ne+=U)fe=xC(ne,m[ne],m[ne+1],fe);else for(ne=I-U;ne>=y;ne-=U)fe=xC(ne,m[ne],m[ne+1],fe);return fe&&Zx(fe,fe.next)&&(Kx(fe),fe=fe.next),fe}function sm(m,y){if(!m)return m;y||(y=m);var I=m,U;do if(U=!1,!I.steiner&&(Zx(I,I.next)||tf(I.prev,I,I.next)===0)){if(Kx(I),I=y=I.prev,I===I.next)break;U=!0}else I=I.next;while(U||I!==y);return y}function jx(m,y,I,U,J,ne,fe){if(m){!fe&&ne&&Rw(m,U,J,ne);for(var Fe=m,Qe,st;m.prev!==m.next;){if(Qe=m.prev,st=m.next,ne?mC(m,U,J,ne):gC(m)){y.push(Qe.i/I),y.push(m.i/I),y.push(st.i/I),Kx(m),m=st.next,Fe=st.next;continue}if(m=st,m===Fe){fe?fe===1?(m=Wx(sm(m),y,I),jx(m,y,I,U,J,ne,2)):fe===2&&v0(m,y,I,U,J,ne):jx(sm(m),y,I,U,J,ne,1);break}}}}function gC(m){var y=m.prev,I=m,U=m.next;if(tf(y,I,U)>=0)return!1;for(var J=m.next.next;J!==m.prev;){if(um(y.x,y.y,I.x,I.y,U.x,U.y,J.x,J.y)&&tf(J.prev,J,J.next)>=0)return!1;J=J.next}return!0}function mC(m,y,I,U){var J=m.prev,ne=m,fe=m.next;if(tf(J,ne,fe)>=0)return!1;for(var Fe=J.x<ne.x?J.x<fe.x?J.x:fe.x:ne.x<fe.x?ne.x:fe.x,Qe=J.y<ne.y?J.y<fe.y?J.y:fe.y:ne.y<fe.y?ne.y:fe.y,st=J.x>ne.x?J.x>fe.x?J.x:fe.x:ne.x>fe.x?ne.x:fe.x,mt=J.y>ne.y?J.y>fe.y?J.y:fe.y:ne.y>fe.y?ne.y:fe.y,Xt=aS(Fe,Qe,y,I,U),ur=aS(st,mt,y,I,U),nr=m.prevZ,Lr=m.nextZ;nr&&nr.z>=Xt&&Lr&&Lr.z<=ur;){if(nr!==m.prev&&nr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,nr.x,nr.y)&&tf(nr.prev,nr,nr.next)>=0||(nr=nr.prevZ,Lr!==m.prev&&Lr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,Lr.x,Lr.y)&&tf(Lr.prev,Lr,Lr.next)>=0))return!1;Lr=Lr.nextZ}for(;nr&&nr.z>=Xt;){if(nr!==m.prev&&nr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,nr.x,nr.y)&&tf(nr.prev,nr,nr.next)>=0)return!1;nr=nr.prevZ}for(;Lr&&Lr.z<=ur;){if(Lr!==m.prev&&Lr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,Lr.x,Lr.y)&&tf(Lr.prev,Lr,Lr.next)>=0)return!1;Lr=Lr.nextZ}return!0}function Wx(m,y,I){var U=m;do{var J=U.prev,ne=U.next.next;!Zx(J,ne)&&Dw(J,U,U.next,ne)&&Yx(J,ne)&&Yx(ne,J)&&(y.push(J.i/I),y.push(U.i/I),y.push(ne.i/I),Kx(U),Kx(U.next),U=m=ne),U=U.next}while(U!==m);return sm(U)}function v0(m,y,I,U,J,ne){var fe=m;do{for(var Fe=fe.next.next;Fe!==fe.prev;){if(fe.i!==Fe.i&&E1(fe,Fe)){var Qe=sS(fe,Fe);fe=sm(fe,fe.next),Qe=sm(Qe,Qe.next),jx(fe,y,I,U,J,ne),jx(Qe,y,I,U,J,ne);return}Fe=Fe.next}fe=fe.next}while(fe!==m)}function lm(m,y,I,U){var J=[],ne,fe,Fe,Qe,st;for(ne=0,fe=y.length;ne<fe;ne++)Fe=y[ne]*U,Qe=ne<fe-1?y[ne+1]*U:m.length,st=Iw(m,Fe,Qe,U,!1),st===st.next&&(st.steiner=!0),J.push(oS(st));for(J.sort(yC),ne=0;ne<J.length;ne++)iS(J[ne],I),I=sm(I,I.next);return I}function yC(m,y){return m.x-y.x}function iS(m,y){if(y=V9(m,y),y){var I=sS(y,m);sm(y,y.next),sm(I,I.next)}}function V9(m,y){var I=y,U=m.x,J=m.y,ne=-1/0,fe;do{if(J<=I.y&&J>=I.next.y&&I.next.y!==I.y){var Fe=I.x+(J-I.y)*(I.next.x-I.x)/(I.next.y-I.y);if(Fe<=U&&Fe>ne){if(ne=Fe,Fe===U){if(J===I.y)return I;if(J===I.next.y)return I.next}fe=I.x<I.next.x?I:I.next}}I=I.next}while(I!==y);if(!fe)return null;if(U===ne)return fe;var Qe=fe,st=fe.x,mt=fe.y,Xt=1/0,ur;I=fe;do U>=I.x&&I.x>=st&&U!==I.x&&um(J<mt?U:ne,J,st,mt,J<mt?ne:U,J,I.x,I.y)&&(ur=Math.abs(J-I.y)/(U-I.x),Yx(I,m)&&(ur<Xt||ur===Xt&&(I.x>fe.x||I.x===fe.x&&H9(fe,I)))&&(fe=I,Xt=ur)),I=I.next;while(I!==Qe);return fe}function H9(m,y){return tf(m.prev,m,y.prev)<0&&tf(y.next,m,m.next)<0}function Rw(m,y,I,U){var J=m;do J.z===null&&(J.z=aS(J.x,J.y,y,I,U)),J.prevZ=J.prev,J.nextZ=J.next,J=J.next;while(J!==m);J.prevZ.nextZ=null,J.prevZ=null,nS(J)}function nS(m){var y,I,U,J,ne,fe,Fe,Qe,st=1;do{for(I=m,m=null,ne=null,fe=0;I;){for(fe++,U=I,Fe=0,y=0;y<st&&(Fe++,U=U.nextZ,!!U);y++);for(Qe=st;Fe>0||Qe>0&&U;)Fe!==0&&(Qe===0||!U||I.z<=U.z)?(J=I,I=I.nextZ,Fe--):(J=U,U=U.nextZ,Qe--),ne?ne.nextZ=J:m=J,J.prevZ=ne,ne=J;I=U}ne.nextZ=null,st*=2}while(fe>1);return m}function aS(m,y,I,U,J){return m=32767*(m-I)*J,y=32767*(y-U)*J,m=(m|m<<8)&16711935,m=(m|m<<4)&252645135,m=(m|m<<2)&858993459,m=(m|m<<1)&1431655765,y=(y|y<<8)&16711935,y=(y|y<<4)&252645135,y=(y|y<<2)&858993459,y=(y|y<<1)&1431655765,m|y<<1}function oS(m){var y=m,I=m;do(y.x<I.x||y.x===I.x&&y.y<I.y)&&(I=y),y=y.next;while(y!==m);return I}function um(m,y,I,U,J,ne,fe,Fe){return(J-fe)*(y-Fe)-(m-fe)*(ne-Fe)>=0&&(m-fe)*(U-Fe)-(I-fe)*(y-Fe)>=0&&(I-fe)*(ne-Fe)-(J-fe)*(U-Fe)>=0}function E1(m,y){return m.next.i!==y.i&&m.prev.i!==y.i&&!_C(m,y)&&(Yx(m,y)&&Yx(y,m)&&G9(m,y)&&(tf(m.prev,m,y.prev)||tf(m,y.prev,y))||Zx(m,y)&&tf(m.prev,m,m.next)>0&&tf(y.prev,y,y.next)>0)}function tf(m,y,I){return(y.y-m.y)*(I.x-y.x)-(y.x-m.x)*(I.y-y.y)}function Zx(m,y){return m.x===y.x&&m.y===y.y}function Dw(m,y,I,U){var J=uy(tf(m,y,I)),ne=uy(tf(m,y,U)),fe=uy(tf(I,U,m)),Fe=uy(tf(I,U,y));return!!(J!==ne&&fe!==Fe||J===0&&Xx(m,I,y)||ne===0&&Xx(m,U,y)||fe===0&&Xx(I,m,U)||Fe===0&&Xx(I,y,U))}function Xx(m,y,I){return y.x<=Math.max(m.x,I.x)&&y.x>=Math.min(m.x,I.x)&&y.y<=Math.max(m.y,I.y)&&y.y>=Math.min(m.y,I.y)}function uy(m){return m>0?1:m<0?-1:0}function _C(m,y){var I=m;do{if(I.i!==m.i&&I.next.i!==m.i&&I.i!==y.i&&I.next.i!==y.i&&Dw(I,I.next,m,y))return!0;I=I.next}while(I!==m);return!1}function Yx(m,y){return tf(m.prev,m,m.next)<0?tf(m,y,m.next)>=0&&tf(m,m.prev,y)>=0:tf(m,y,m.prev)<0||tf(m,m.next,y)<0}function G9(m,y){var I=m,U=!1,J=(m.x+y.x)/2,ne=(m.y+y.y)/2;do I.y>ne!=I.next.y>ne&&I.next.y!==I.y&&J<(I.next.x-I.x)*(ne-I.y)/(I.next.y-I.y)+I.x&&(U=!U),I=I.next;while(I!==m);return U}function sS(m,y){var I=new lS(m.i,m.x,m.y),U=new lS(y.i,y.x,y.y),J=m.next,ne=y.prev;return m.next=y,y.prev=m,I.next=J,J.prev=I,U.next=I,I.prev=U,ne.next=U,U.prev=ne,U}function xC(m,y,I,U){var J=new lS(m,y,I);return U?(J.next=U.next,J.prev=U,U.next.prev=J,U.next=J):(J.prev=J,J.next=J),J}function Kx(m){m.next.prev=m.prev,m.prev.next=m.next,m.prevZ&&(m.prevZ.nextZ=m.nextZ),m.nextZ&&(m.nextZ.prevZ=m.prevZ)}function lS(m,y,I){this.i=m,this.x=y,this.y=I,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}M1.deviation=function(m,y,I,U){var J=y&&y.length,ne=J?y[0]*I:m.length,fe=Math.abs(uS(m,0,ne,I));if(J)for(var Fe=0,Qe=y.length;Fe<Qe;Fe++){var st=y[Fe]*I,mt=Fe<Qe-1?y[Fe+1]*I:m.length;fe-=Math.abs(uS(m,st,mt,I))}var Xt=0;for(Fe=0;Fe<U.length;Fe+=3){var ur=U[Fe]*I,nr=U[Fe+1]*I,Lr=U[Fe+2]*I;Xt+=Math.abs((m[ur]-m[Lr])*(m[nr+1]-m[ur+1])-(m[ur]-m[nr])*(m[Lr+1]-m[ur+1]))}return fe===0&&Xt===0?0:Math.abs((Xt-fe)/fe)};function uS(m,y,I,U){for(var J=0,ne=y,fe=I-U;ne<I;ne+=U)J+=(m[fe]-m[ne])*(m[ne+1]+m[fe+1]),fe=ne;return J}M1.flatten=function(m){for(var y=m[0][0].length,I={vertices:[],holes:[],dimensions:y},U=0,J=0;J<m.length;J++){for(var ne=0;ne<m[J].length;ne++)for(var fe=0;fe<y;fe++)I.vertices.push(m[J][ne][fe]);J>0&&(U+=m[J-1].length,I.holes.push(U))}return I},Pw.default=pC;function cS(m,y,I,U,J){dg(m,y,I||0,U||m.length-1,J||bC)}function dg(m,y,I,U,J){for(;U>I;){if(U-I>600){var ne=U-I+1,fe=y-I+1,Fe=Math.log(ne),Qe=.5*Math.exp(2*Fe/3),st=.5*Math.sqrt(Fe*Qe*(ne-Qe)/ne)*(fe-ne/2<0?-1:1),mt=Math.max(I,Math.floor(y-fe*Qe/ne+st)),Xt=Math.min(U,Math.floor(y+(ne-fe)*Qe/ne+st));dg(m,y,mt,Xt,J)}var ur=m[y],nr=I,Lr=U;for(k1(m,I,y),J(m[U],ur)>0&&k1(m,I,U);nr<Lr;){for(k1(m,nr,Lr),nr++,Lr--;J(m[nr],ur)<0;)nr++;for(;J(m[Lr],ur)>0;)Lr--}J(m[I],ur)===0?k1(m,I,Lr):(Lr++,k1(m,Lr,U)),Lr<=y&&(I=Lr+1),y<=Lr&&(U=Lr-1)}}function k1(m,y,I){var U=m[y];m[y]=m[I],m[I]=U}function bC(m,y){return m<y?-1:m>y?1:0}function zw(m,y){var I=m.length;if(I<=1)return[m];for(var U=[],J,ne,fe=0;fe<I;fe++){var Fe=_e(m[fe]);Fe!==0&&(m[fe].area=Math.abs(Fe),ne===void 0&&(ne=Fe<0),ne===Fe<0?(J&&U.push(J),J=[m[fe]]):J.push(m[fe]))}if(J&&U.push(J),y>1)for(var Qe=0;Qe<U.length;Qe++)U[Qe].length<=y||(cS(U[Qe],y,1,U[Qe].length-1,wC),U[Qe]=U[Qe].slice(0,y));return U}function wC(m,y){return y.area-m.area}function Fw(m,y,I){for(var U=I.patternDependencies,J=!1,ne=0,fe=y;ne<fe.length;ne+=1){var Fe=fe[ne],Qe=Fe.paint.get(m+\"-pattern\");Qe.isConstant()||(J=!0);var st=Qe.constantOr(null);st&&(J=!0,U[st.to]=!0,U[st.from]=!0)}return J}function Jx(m,y,I,U,J){for(var ne=J.patternDependencies,fe=0,Fe=y;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=Qe.paint.get(m+\"-pattern\"),mt=st.value;if(mt.kind!==\"constant\"){var Xt=mt.evaluate({zoom:U-1},I,{},J.availableImages),ur=mt.evaluate({zoom:U},I,{},J.availableImages),nr=mt.evaluate({zoom:U+1},I,{},J.availableImages);Xt=Xt&&Xt.name?Xt.name:Xt,ur=ur&&ur.name?ur.name:ur,nr=nr&&nr.name?nr.name:nr,ne[Xt]=!0,ne[ur]=!0,ne[nr]=!0,I.patterns[Qe.id]={min:Xt,mid:ur,max:nr}}}return I}var $x=500,gp=function(y){this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=y.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ji,this.indexArray=new ma,this.indexArray2=new Po,this.programConfigurations=new Ri(y.layers,y.zoom),this.segments=new ns,this.segments2=new ns,this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};gp.prototype.populate=function(y,I,U){this.hasPattern=Fw(\"fill\",this.layers,I);for(var J=this.layers[0].layout.get(\"fill-sort-key\"),ne=[],fe=0,Fe=y;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=Qe.feature,mt=Qe.id,Xt=Qe.index,ur=Qe.sourceLayerIndex,nr=this.layers[0]._featureFilter.needGeometry,Lr=No(st,nr);if(this.layers[0]._featureFilter.filter(new pn(this.zoom),Lr,U)){var Yr=J?J.evaluate(Lr,{},U,I.availableImages):void 0,_i={id:mt,properties:st.properties,type:st.type,sourceLayerIndex:ur,index:Xt,geometry:nr?Lr.geometry:da(st),patterns:{},sortKey:Yr};ne.push(_i)}}J&&ne.sort(function(_a,Pa){return _a.sortKey-Pa.sortKey});for(var si=0,Hi=ne;si<Hi.length;si+=1){var Ei=Hi[si],Vi=Ei,en=Vi.geometry,An=Vi.index,ra=Vi.sourceLayerIndex;if(this.hasPattern){var $n=Jx(\"fill\",this.layers,Ei,this.zoom,I);this.patternFeatures.push($n)}else this.addFeature(Ei,en,An,U,{});var Ba=y[An].feature;I.featureIndex.insert(Ba,en,An,ra,this.index)}},gp.prototype.update=function(y,I,U){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(y,I,this.stateDependentLayers,U)},gp.prototype.addFeatures=function(y,I,U){for(var J=0,ne=this.patternFeatures;J<ne.length;J+=1){var fe=ne[J];this.addFeature(fe,fe.geometry,fe.index,I,U)}},gp.prototype.isEmpty=function(){return this.layoutVertexArray.length===0},gp.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},gp.prototype.upload=function(y){this.uploaded||(this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,U9),this.indexBuffer=y.createIndexBuffer(this.indexArray),this.indexBuffer2=y.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(y),this.uploaded=!0},gp.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())},gp.prototype.addFeature=function(y,I,U,J,ne){for(var fe=0,Fe=zw(I,$x);fe<Fe.length;fe+=1){for(var Qe=Fe[fe],st=0,mt=0,Xt=Qe;mt<Xt.length;mt+=1){var ur=Xt[mt];st+=ur.length}for(var nr=this.segments.prepareSegment(st,this.layoutVertexArray,this.indexArray),Lr=nr.vertexLength,Yr=[],_i=[],si=0,Hi=Qe;si<Hi.length;si+=1){var Ei=Hi[si];if(Ei.length!==0){Ei!==Qe[0]&&_i.push(Yr.length/2);var Vi=this.segments2.prepareSegment(Ei.length,this.layoutVertexArray,this.indexArray2),en=Vi.vertexLength;this.layoutVertexArray.emplaceBack(Ei[0].x,Ei[0].y),this.indexArray2.emplaceBack(en+Ei.length-1,en),Yr.push(Ei[0].x),Yr.push(Ei[0].y);for(var An=1;An<Ei.length;An++)this.layoutVertexArray.emplaceBack(Ei[An].x,Ei[An].y),this.indexArray2.emplaceBack(en+An-1,en+An),Yr.push(Ei[An].x),Yr.push(Ei[An].y);Vi.vertexLength+=Ei.length,Vi.primitiveLength+=Ei.length}}for(var ra=Pw(Yr,_i),$n=0;$n<ra.length;$n+=3)this.indexArray.emplaceBack(Lr+ra[$n],Lr+ra[$n+1],Lr+ra[$n+2]);nr.vertexLength+=st,nr.primitiveLength+=ra.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,y,U,ne,J)},Z(\"FillBucket\",gp,{omit:[\"layers\",\"patternFeatures\"]});var fS=new Oi({\"fill-sort-key\":new Er(on.layout_fill[\"fill-sort-key\"])}),TC=new Oi({\"fill-antialias\":new At(on.paint_fill[\"fill-antialias\"]),\"fill-opacity\":new Er(on.paint_fill[\"fill-opacity\"]),\"fill-color\":new Er(on.paint_fill[\"fill-color\"]),\"fill-outline-color\":new Er(on.paint_fill[\"fill-outline-color\"]),\"fill-translate\":new At(on.paint_fill[\"fill-translate\"]),\"fill-translate-anchor\":new At(on.paint_fill[\"fill-translate-anchor\"]),\"fill-pattern\":new Wr(on.paint_fill[\"fill-pattern\"])}),Jv={paint:TC,layout:fS},Qx=function(m){function y(I){m.call(this,I,Jv)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.recalculate=function(U,J){m.prototype.recalculate.call(this,U,J);var ne=this.paint._values[\"fill-outline-color\"];ne.value.kind===\"constant\"&&ne.value.value===void 0&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"])},y.prototype.createBucket=function(U){return new gp(U)},y.prototype.queryRadius=function(){return kv(this.paint.get(\"fill-translate\"))},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st){var mt=Kv(U,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),Qe.angle,st);return tl(mt,fe)},y.prototype.isTileClipped=function(){return!0},y}(cn),AC=Dn([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal_ed\",components:4,type:\"Int16\"}],4),SC=AC.members,hS=cy;function cy(m,y,I,U,J){this.properties={},this.extent=I,this.type=0,this._pbf=m,this._geometry=-1,this._keys=U,this._values=J,m.readFields(MC,this,y)}function MC(m,y,I){m==1?y.id=I.readVarint():m==2?EC(I,y):m==3?y.type=I.readVarint():m==4&&(y._geometry=I.pos)}function EC(m,y){for(var I=m.readVarint()+m.pos;m.pos<I;){var U=y._keys[m.readVarint()],J=y._values[m.readVarint()];y.properties[U]=J}}cy.types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],cy.prototype.loadGeometry=function(){var m=this._pbf;m.pos=this._geometry;for(var y=m.readVarint()+m.pos,I=1,U=0,J=0,ne=0,fe=[],Fe;m.pos<y;){if(U<=0){var Qe=m.readVarint();I=Qe&7,U=Qe>>3}if(U--,I===1||I===2)J+=m.readSVarint(),ne+=m.readSVarint(),I===1&&(Fe&&fe.push(Fe),Fe=[]),Fe.push(new u(J,ne));else if(I===7)Fe&&Fe.push(Fe[0].clone());else throw new Error(\"unknown command \"+I)}return Fe&&fe.push(Fe),fe},cy.prototype.bbox=function(){var m=this._pbf;m.pos=this._geometry;for(var y=m.readVarint()+m.pos,I=1,U=0,J=0,ne=0,fe=1/0,Fe=-1/0,Qe=1/0,st=-1/0;m.pos<y;){if(U<=0){var mt=m.readVarint();I=mt&7,U=mt>>3}if(U--,I===1||I===2)J+=m.readSVarint(),ne+=m.readSVarint(),J<fe&&(fe=J),J>Fe&&(Fe=J),ne<Qe&&(Qe=ne),ne>st&&(st=ne);else if(I!==7)throw new Error(\"unknown command \"+I)}return[fe,Qe,Fe,st]},cy.prototype.toGeoJSON=function(m,y,I){var U=this.extent*Math.pow(2,I),J=this.extent*m,ne=this.extent*y,fe=this.loadGeometry(),Fe=cy.types[this.type],Qe,st;function mt(nr){for(var Lr=0;Lr<nr.length;Lr++){var Yr=nr[Lr],_i=180-(Yr.y+ne)*360/U;nr[Lr]=[(Yr.x+J)*360/U-180,360/Math.PI*Math.atan(Math.exp(_i*Math.PI/180))-90]}}switch(this.type){case 1:var Xt=[];for(Qe=0;Qe<fe.length;Qe++)Xt[Qe]=fe[Qe][0];fe=Xt,mt(fe);break;case 2:for(Qe=0;Qe<fe.length;Qe++)mt(fe[Qe]);break;case 3:for(fe=j9(fe),Qe=0;Qe<fe.length;Qe++)for(st=0;st<fe[Qe].length;st++)mt(fe[Qe][st]);break}fe.length===1?fe=fe[0]:Fe=\"Multi\"+Fe;var ur={type:\"Feature\",geometry:{type:Fe,coordinates:fe},properties:this.properties};return\"id\"in this&&(ur.id=this.id),ur};function j9(m){var y=m.length;if(y<=1)return[m];for(var I=[],U,J,ne=0;ne<y;ne++){var fe=kC(m[ne]);fe!==0&&(J===void 0&&(J=fe<0),J===fe<0?(U&&I.push(U),U=[m[ne]]):U.push(m[ne]))}return U&&I.push(U),I}function kC(m){for(var y=0,I=0,U=m.length,J=U-1,ne,fe;I<U;J=I++)ne=m[I],fe=m[J],y+=(fe.x-ne.x)*(ne.y+fe.y);return y}var vg=dS;function dS(m,y){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=m,this._keys=[],this._values=[],this._features=[],m.readFields(CC,this,y),this.length=this._features.length}function CC(m,y,I){m===15?y.version=I.readVarint():m===1?y.name=I.readString():m===5?y.extent=I.readVarint():m===2?y._features.push(I.pos):m===3?y._keys.push(I.readString()):m===4&&y._values.push(LC(I))}function LC(m){for(var y=null,I=m.readVarint()+m.pos;m.pos<I;){var U=m.readVarint()>>3;y=U===1?m.readString():U===2?m.readFloat():U===3?m.readDouble():U===4?m.readVarint64():U===5?m.readVarint():U===6?m.readSVarint():U===7?m.readBoolean():null}return y}dS.prototype.feature=function(m){if(m<0||m>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[m];var y=this._pbf.readVarint()+this._pbf.pos;return new hS(this._pbf,y,this.extent,this._keys,this._values)};var PC=W9;function W9(m,y){this.layers=m.readFields(Z9,{},y)}function Z9(m,y,I){if(m===3){var U=new vg(I,I.readVarint()+I.pos);U.length&&(y[U.name]=U)}}var IC=PC,C1=hS,RC=vg,pg={VectorTile:IC,VectorTileFeature:C1,VectorTileLayer:RC},DC=pg.VectorTileFeature.types,qw=500,L1=Math.pow(2,13);function cm(m,y,I,U,J,ne,fe,Fe){m.emplaceBack(y,I,Math.floor(U*L1)*2+fe,J*L1*2,ne*L1*2,Math.round(Fe))}var Hp=function(y){this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=y.index,this.hasPattern=!1,this.layoutVertexArray=new Un,this.indexArray=new ma,this.programConfigurations=new Ri(y.layers,y.zoom),this.segments=new ns,this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};Hp.prototype.populate=function(y,I,U){this.features=[],this.hasPattern=Fw(\"fill-extrusion\",this.layers,I);for(var J=0,ne=y;J<ne.length;J+=1){var fe=ne[J],Fe=fe.feature,Qe=fe.id,st=fe.index,mt=fe.sourceLayerIndex,Xt=this.layers[0]._featureFilter.needGeometry,ur=No(Fe,Xt);if(this.layers[0]._featureFilter.filter(new pn(this.zoom),ur,U)){var nr={id:Qe,sourceLayerIndex:mt,index:st,geometry:Xt?ur.geometry:da(Fe),properties:Fe.properties,type:Fe.type,patterns:{}};this.hasPattern?this.features.push(Jx(\"fill-extrusion\",this.layers,nr,this.zoom,I)):this.addFeature(nr,nr.geometry,st,U,{}),I.featureIndex.insert(Fe,nr.geometry,st,mt,this.index,!0)}}},Hp.prototype.addFeatures=function(y,I,U){for(var J=0,ne=this.features;J<ne.length;J+=1){var fe=ne[J],Fe=fe.geometry;this.addFeature(fe,Fe,fe.index,I,U)}},Hp.prototype.update=function(y,I,U){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(y,I,this.stateDependentLayers,U)},Hp.prototype.isEmpty=function(){return this.layoutVertexArray.length===0},Hp.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Hp.prototype.upload=function(y){this.uploaded||(this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,SC),this.indexBuffer=y.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(y),this.uploaded=!0},Hp.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Hp.prototype.addFeature=function(y,I,U,J,ne){for(var fe=0,Fe=zw(I,qw);fe<Fe.length;fe+=1){for(var Qe=Fe[fe],st=0,mt=0,Xt=Qe;mt<Xt.length;mt+=1){var ur=Xt[mt];st+=ur.length}for(var nr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),Lr=0,Yr=Qe;Lr<Yr.length;Lr+=1){var _i=Yr[Lr];if(_i.length!==0&&!Y9(_i))for(var si=0,Hi=0;Hi<_i.length;Hi++){var Ei=_i[Hi];if(Hi>=1){var Vi=_i[Hi-1];if(!X9(Ei,Vi)){nr.vertexLength+4>ns.MAX_VERTEX_ARRAY_LENGTH&&(nr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var en=Ei.sub(Vi)._perp()._unit(),An=Vi.dist(Ei);si+An>32768&&(si=0),cm(this.layoutVertexArray,Ei.x,Ei.y,en.x,en.y,0,0,si),cm(this.layoutVertexArray,Ei.x,Ei.y,en.x,en.y,0,1,si),si+=An,cm(this.layoutVertexArray,Vi.x,Vi.y,en.x,en.y,0,0,si),cm(this.layoutVertexArray,Vi.x,Vi.y,en.x,en.y,0,1,si);var ra=nr.vertexLength;this.indexArray.emplaceBack(ra,ra+2,ra+1),this.indexArray.emplaceBack(ra+1,ra+2,ra+3),nr.vertexLength+=4,nr.primitiveLength+=2}}}}if(nr.vertexLength+st>ns.MAX_VERTEX_ARRAY_LENGTH&&(nr=this.segments.prepareSegment(st,this.layoutVertexArray,this.indexArray)),DC[y.type]===\"Polygon\"){for(var $n=[],Ba=[],_a=nr.vertexLength,Pa=0,qo=Qe;Pa<qo.length;Pa+=1){var Na=qo[Pa];if(Na.length!==0){Na!==Qe[0]&&Ba.push($n.length/2);for(var ja=0;ja<Na.length;ja++){var us=Na[ja];cm(this.layoutVertexArray,us.x,us.y,0,0,1,1,0),$n.push(us.x),$n.push(us.y)}}}for(var zo=Pw($n,Ba),rl=0;rl<zo.length;rl+=3)this.indexArray.emplaceBack(_a+zo[rl],_a+zo[rl+2],_a+zo[rl+1]);nr.primitiveLength+=zo.length/3,nr.vertexLength+=st}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,y,U,ne,J)},Z(\"FillExtrusionBucket\",Hp,{omit:[\"layers\",\"features\"]});function X9(m,y){return m.x===y.x&&(m.x<0||m.x>rn)||m.y===y.y&&(m.y<0||m.y>rn)}function Y9(m){return m.every(function(y){return y.x<0})||m.every(function(y){return y.x>rn})||m.every(function(y){return y.y<0})||m.every(function(y){return y.y>rn})}var P1=new Oi({\"fill-extrusion-opacity\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new Er(on[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Wr(on[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new Er(on[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new Er(on[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])}),ed={paint:P1},fm=function(m){function y(I){m.call(this,I,ed)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.createBucket=function(U){return new Hp(U)},y.prototype.queryRadius=function(){return kv(this.paint.get(\"fill-extrusion-translate\"))},y.prototype.is3D=function(){return!0},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st,mt){var Xt=Kv(U,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),Qe.angle,st),ur=this.paint.get(\"fill-extrusion-height\").evaluate(J,ne),nr=this.paint.get(\"fill-extrusion-base\").evaluate(J,ne),Lr=K9(Xt,mt,Qe,0),Yr=pS(fe,nr,ur,mt),_i=Yr[0],si=Yr[1];return zC(_i,si,Lr)},y}(cn);function fy(m,y){return m.x*y.x+m.y*y.y}function vS(m,y){if(m.length===1){for(var I=0,U=y[I++],J;!J||U.equals(J);)if(J=y[I++],!J)return 1/0;for(;I<y.length;I++){var ne=y[I],fe=m[0],Fe=J.sub(U),Qe=ne.sub(U),st=fe.sub(U),mt=fy(Fe,Fe),Xt=fy(Fe,Qe),ur=fy(Qe,Qe),nr=fy(st,Fe),Lr=fy(st,Qe),Yr=mt*ur-Xt*Xt,_i=(ur*nr-Xt*Lr)/Yr,si=(mt*Lr-Xt*nr)/Yr,Hi=1-_i-si,Ei=U.z*Hi+J.z*_i+ne.z*si;if(isFinite(Ei))return Ei}return 1/0}else{for(var Vi=1/0,en=0,An=y;en<An.length;en+=1){var ra=An[en];Vi=Math.min(Vi,ra.z)}return Vi}}function zC(m,y,I){var U=1/0;tl(I,y)&&(U=vS(I,y[0]));for(var J=0;J<y.length;J++)for(var ne=y[J],fe=m[J],Fe=0;Fe<ne.length-1;Fe++){var Qe=ne[Fe],st=ne[Fe+1],mt=fe[Fe],Xt=fe[Fe+1],ur=[Qe,st,Xt,mt,Qe];fo(I,ur)&&(U=Math.min(U,vS(I,ur)))}return U===1/0?!1:U}function pS(m,y,I,U){for(var J=[],ne=[],fe=U[8]*y,Fe=U[9]*y,Qe=U[10]*y,st=U[11]*y,mt=U[8]*I,Xt=U[9]*I,ur=U[10]*I,nr=U[11]*I,Lr=0,Yr=m;Lr<Yr.length;Lr+=1){for(var _i=Yr[Lr],si=[],Hi=[],Ei=0,Vi=_i;Ei<Vi.length;Ei+=1){var en=Vi[Ei],An=en.x,ra=en.y,$n=U[0]*An+U[4]*ra+U[12],Ba=U[1]*An+U[5]*ra+U[13],_a=U[2]*An+U[6]*ra+U[14],Pa=U[3]*An+U[7]*ra+U[15],qo=$n+fe,Na=Ba+Fe,ja=_a+Qe,us=Pa+st,zo=$n+mt,rl=Ba+Xt,su=_a+ur,il=Pa+nr,nl=new u(qo/us,Na/us);nl.z=ja/us,si.push(nl);var Ws=new u(zo/il,rl/il);Ws.z=su/il,Hi.push(Ws)}J.push(si),ne.push(Hi)}return[J,ne]}function K9(m,y,I,U){for(var J=[],ne=0,fe=m;ne<fe.length;ne+=1){var Fe=fe[ne],Qe=[Fe.x,Fe.y,U,1];ly(Qe,Qe,y),J.push(new u(Qe[0]/Qe[3],Qe[1]/Qe[3]))}return J}var FC=Dn([{name:\"a_pos_normal\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}],4),qC=FC.members,J9=Dn([{name:\"a_uv_x\",components:1,type:\"Float32\"},{name:\"a_split_index\",components:1,type:\"Float32\"}]),OC=J9.members,gS=pg.VectorTileFeature.types,Ow=63,BC=Math.cos(75/2*(Math.PI/180)),eb=15,mS=20,NC=15,Bw=1/2,tb=Math.pow(2,NC-1)/Bw,Gf=function(y){var I=this;this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(U){return U.id}),this.index=y.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(function(U){I.gradients[U.id]={}}),this.layoutVertexArray=new gn,this.layoutVertexArray2=new ca,this.indexArray=new ma,this.programConfigurations=new Ri(y.layers,y.zoom),this.segments=new ns,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(function(U){return U.isStateDependent()}).map(function(U){return U.id})};Gf.prototype.populate=function(y,I,U){this.hasPattern=Fw(\"line\",this.layers,I);for(var J=this.layers[0].layout.get(\"line-sort-key\"),ne=[],fe=0,Fe=y;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=Qe.feature,mt=Qe.id,Xt=Qe.index,ur=Qe.sourceLayerIndex,nr=this.layers[0]._featureFilter.needGeometry,Lr=No(st,nr);if(this.layers[0]._featureFilter.filter(new pn(this.zoom),Lr,U)){var Yr=J?J.evaluate(Lr,{},U):void 0,_i={id:mt,properties:st.properties,type:st.type,sourceLayerIndex:ur,index:Xt,geometry:nr?Lr.geometry:da(st),patterns:{},sortKey:Yr};ne.push(_i)}}J&&ne.sort(function(_a,Pa){return _a.sortKey-Pa.sortKey});for(var si=0,Hi=ne;si<Hi.length;si+=1){var Ei=Hi[si],Vi=Ei,en=Vi.geometry,An=Vi.index,ra=Vi.sourceLayerIndex;if(this.hasPattern){var $n=Jx(\"line\",this.layers,Ei,this.zoom,I);this.patternFeatures.push($n)}else this.addFeature(Ei,en,An,U,{});var Ba=y[An].feature;I.featureIndex.insert(Ba,en,An,ra,this.index)}},Gf.prototype.update=function(y,I,U){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(y,I,this.stateDependentLayers,U)},Gf.prototype.addFeatures=function(y,I,U){for(var J=0,ne=this.patternFeatures;J<ne.length;J+=1){var fe=ne[J];this.addFeature(fe,fe.geometry,fe.index,I,U)}},Gf.prototype.isEmpty=function(){return this.layoutVertexArray.length===0},Gf.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Gf.prototype.upload=function(y){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=y.createVertexBuffer(this.layoutVertexArray2,OC)),this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,qC),this.indexBuffer=y.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(y),this.uploaded=!0},Gf.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Gf.prototype.lineFeatureClips=function(y){if(y.properties&&y.properties.hasOwnProperty(\"mapbox_clip_start\")&&y.properties.hasOwnProperty(\"mapbox_clip_end\")){var I=+y.properties.mapbox_clip_start,U=+y.properties.mapbox_clip_end;return{start:I,end:U}}},Gf.prototype.addFeature=function(y,I,U,J,ne){var fe=this.layers[0].layout,Fe=fe.get(\"line-join\").evaluate(y,{}),Qe=fe.get(\"line-cap\"),st=fe.get(\"line-miter-limit\"),mt=fe.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(y);for(var Xt=0,ur=I;Xt<ur.length;Xt+=1){var nr=ur[Xt];this.addLine(nr,y,Fe,Qe,st,mt)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,y,U,ne,J)},Gf.prototype.addLine=function(y,I,U,J,ne,fe){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(var Fe=0;Fe<y.length-1;Fe++)this.totalDistance+=y[Fe].dist(y[Fe+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}for(var Qe=gS[I.type]===\"Polygon\",st=y.length;st>=2&&y[st-1].equals(y[st-2]);)st--;for(var mt=0;mt<st-1&&y[mt].equals(y[mt+1]);)mt++;if(!(st<(Qe?3:2))){U===\"bevel\"&&(ne=1.05);var Xt=this.overscaling<=16?eb*rn/(512*this.overscaling):0,ur=this.segments.prepareSegment(st*10,this.layoutVertexArray,this.indexArray),nr,Lr=void 0,Yr=void 0,_i=void 0,si=void 0;this.e1=this.e2=-1,Qe&&(nr=y[st-2],si=y[mt].sub(nr)._unit()._perp());for(var Hi=mt;Hi<st;Hi++)if(Yr=Hi===st-1?Qe?y[mt+1]:void 0:y[Hi+1],!(Yr&&y[Hi].equals(Yr))){si&&(_i=si),nr&&(Lr=nr),nr=y[Hi],si=Yr?Yr.sub(nr)._unit()._perp():_i,_i=_i||si;var Ei=_i.add(si);(Ei.x!==0||Ei.y!==0)&&Ei._unit();var Vi=_i.x*si.x+_i.y*si.y,en=Ei.x*si.x+Ei.y*si.y,An=en!==0?1/en:1/0,ra=2*Math.sqrt(2-2*en),$n=en<BC&&Lr&&Yr,Ba=_i.x*si.y-_i.y*si.x>0;if($n&&Hi>mt){var _a=nr.dist(Lr);if(_a>2*Xt){var Pa=nr.sub(nr.sub(Lr)._mult(Xt/_a)._round());this.updateDistance(Lr,Pa),this.addCurrentVertex(Pa,_i,0,0,ur),Lr=Pa}}var qo=Lr&&Yr,Na=qo?U:Qe?\"butt\":J;if(qo&&Na===\"round\"&&(An<fe?Na=\"miter\":An<=2&&(Na=\"fakeround\")),Na===\"miter\"&&An>ne&&(Na=\"bevel\"),Na===\"bevel\"&&(An>2&&(Na=\"flipbevel\"),An<ne&&(Na=\"miter\")),Lr&&this.updateDistance(Lr,nr),Na===\"miter\")Ei._mult(An),this.addCurrentVertex(nr,Ei,0,0,ur);else if(Na===\"flipbevel\"){if(An>100)Ei=si.mult(-1);else{var ja=An*_i.add(si).mag()/_i.sub(si).mag();Ei._perp()._mult(ja*(Ba?-1:1))}this.addCurrentVertex(nr,Ei,0,0,ur),this.addCurrentVertex(nr,Ei.mult(-1),0,0,ur)}else if(Na===\"bevel\"||Na===\"fakeround\"){var us=-Math.sqrt(An*An-1),zo=Ba?us:0,rl=Ba?0:us;if(Lr&&this.addCurrentVertex(nr,_i,zo,rl,ur),Na===\"fakeround\")for(var su=Math.round(ra*180/Math.PI/mS),il=1;il<su;il++){var nl=il/su;if(nl!==.5){var Ws=nl-.5,Au=1.0904+Vi*(-3.2452+Vi*(3.55645-Vi*1.43519)),Ou=.848013+Vi*(-1.06021+Vi*.215638);nl=nl+nl*Ws*(nl-1)*(Au*Ws*Ws+Ou)}var nf=si.sub(_i)._mult(nl)._add(_i)._unit()._mult(Ba?-1:1);this.addHalfVertex(nr,nf.x,nf.y,!1,Ba,0,ur)}Yr&&this.addCurrentVertex(nr,si,-zo,-rl,ur)}else if(Na===\"butt\")this.addCurrentVertex(nr,Ei,0,0,ur);else if(Na===\"square\"){var bf=Lr?1:-1;this.addCurrentVertex(nr,Ei,bf,bf,ur)}else Na===\"round\"&&(Lr&&(this.addCurrentVertex(nr,_i,0,0,ur),this.addCurrentVertex(nr,_i,1,1,ur,!0)),Yr&&(this.addCurrentVertex(nr,si,-1,-1,ur,!0),this.addCurrentVertex(nr,si,0,0,ur)));if($n&&Hi<st-1){var qh=nr.dist(Yr);if(qh>2*Xt){var Zf=nr.add(Yr.sub(nr)._mult(Xt/qh)._round());this.updateDistance(nr,Zf),this.addCurrentVertex(Zf,si,0,0,ur),nr=Zf}}}}},Gf.prototype.addCurrentVertex=function(y,I,U,J,ne,fe){fe===void 0&&(fe=!1);var Fe=I.x+I.y*U,Qe=I.y-I.x*U,st=-I.x+I.y*J,mt=-I.y-I.x*J;this.addHalfVertex(y,Fe,Qe,fe,!1,U,ne),this.addHalfVertex(y,st,mt,fe,!0,-J,ne),this.distance>tb/2&&this.totalDistance===0&&(this.distance=0,this.addCurrentVertex(y,I,U,J,ne,fe))},Gf.prototype.addHalfVertex=function(y,I,U,J,ne,fe,Fe){var Qe=y.x,st=y.y,mt=this.lineClips?this.scaledDistance*(tb-1):this.scaledDistance,Xt=mt*Bw;if(this.layoutVertexArray.emplaceBack((Qe<<1)+(J?1:0),(st<<1)+(ne?1:0),Math.round(Ow*I)+128,Math.round(Ow*U)+128,(fe===0?0:fe<0?-1:1)+1|(Xt&63)<<2,Xt>>6),this.lineClips){var ur=this.scaledDistance-this.lineClips.start,nr=this.lineClips.end-this.lineClips.start,Lr=ur/nr;this.layoutVertexArray2.emplaceBack(Lr,this.lineClipsArray.length)}var Yr=Fe.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Yr),Fe.primitiveLength++),ne?this.e2=Yr:this.e1=Yr},Gf.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},Gf.prototype.updateDistance=function(y,I){this.distance+=y.dist(I),this.updateScaledDistance()},Z(\"LineBucket\",Gf,{omit:[\"layers\",\"patternFeatures\"]});var yS=new Oi({\"line-cap\":new At(on.layout_line[\"line-cap\"]),\"line-join\":new Er(on.layout_line[\"line-join\"]),\"line-miter-limit\":new At(on.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new At(on.layout_line[\"line-round-limit\"]),\"line-sort-key\":new Er(on.layout_line[\"line-sort-key\"])}),_S=new Oi({\"line-opacity\":new Er(on.paint_line[\"line-opacity\"]),\"line-color\":new Er(on.paint_line[\"line-color\"]),\"line-translate\":new At(on.paint_line[\"line-translate\"]),\"line-translate-anchor\":new At(on.paint_line[\"line-translate-anchor\"]),\"line-width\":new Er(on.paint_line[\"line-width\"]),\"line-gap-width\":new Er(on.paint_line[\"line-gap-width\"]),\"line-offset\":new Er(on.paint_line[\"line-offset\"]),\"line-blur\":new Er(on.paint_line[\"line-blur\"]),\"line-dasharray\":new wi(on.paint_line[\"line-dasharray\"]),\"line-pattern\":new Wr(on.paint_line[\"line-pattern\"]),\"line-gradient\":new Ui(on.paint_line[\"line-gradient\"])}),Nw={paint:_S,layout:yS},$9=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.possiblyEvaluate=function(U,J){return J=new pn(Math.floor(J.zoom),{now:J.now,fadeDuration:J.fadeDuration,zoomHistory:J.zoomHistory,transition:J.transition}),m.prototype.possiblyEvaluate.call(this,U,J)},y.prototype.evaluate=function(U,J,ne,fe){return J=_({},J,{zoom:Math.floor(J.zoom)}),m.prototype.evaluate.call(this,U,J,ne,fe)},y}(Er),R=new $9(Nw.paint.properties[\"line-width\"].specification);R.useIntegerZoom=!0;var S=function(m){function y(I){m.call(this,I,Nw),this.gradientVersion=0}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._handleSpecialPaintPropertyUpdate=function(U){if(U===\"line-gradient\"){var J=this._transitionablePaint._values[\"line-gradient\"].value.expression;this.stepInterpolant=J._styleExpression.expression instanceof yu,this.gradientVersion=(this.gradientVersion+1)%d}},y.prototype.gradientExpression=function(){return this._transitionablePaint._values[\"line-gradient\"].value.expression},y.prototype.recalculate=function(U,J){m.prototype.recalculate.call(this,U,J),this.paint._values[\"line-floorwidth\"]=R.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,U)},y.prototype.createBucket=function(U){return new Gf(U)},y.prototype.queryRadius=function(U){var J=U,ne=D(xd(\"line-width\",this,J),xd(\"line-gap-width\",this,J)),fe=xd(\"line-offset\",this,J);return ne/2+Math.abs(fe)+kv(this.paint.get(\"line-translate\"))},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st){var mt=Kv(U,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),Qe.angle,st),Xt=st/2*D(this.paint.get(\"line-width\").evaluate(J,ne),this.paint.get(\"line-gap-width\").evaluate(J,ne)),ur=this.paint.get(\"line-offset\").evaluate(J,ne);return ur&&(fe=j(fe,ur*st)),zu(mt,fe,Xt)},y.prototype.isTileClipped=function(){return!0},y}(cn);function D(m,y){return y>0?y+2*m:m}function j(m,y){for(var I=[],U=new u(0,0),J=0;J<m.length;J++){for(var ne=m[J],fe=[],Fe=0;Fe<ne.length;Fe++){var Qe=ne[Fe-1],st=ne[Fe],mt=ne[Fe+1],Xt=Fe===0?U:st.sub(Qe)._unit()._perp(),ur=Fe===ne.length-1?U:mt.sub(st)._unit()._perp(),nr=Xt._add(ur)._unit(),Lr=nr.x*ur.x+nr.y*ur.y;nr._mult(1/Lr),fe.push(nr._mult(y)._add(st))}I.push(fe)}return I}var te=Dn([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),ue=Dn([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4),ve=Dn([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4),De=Dn([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}]),Ze=Dn([{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\"}]),at=Dn([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),Tt=Dn([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4),Ft=Dn([{name:\"triangle\",components:3,type:\"Uint16\"}]),Qt=Dn([{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\"}]),sr=Dn([{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\"}]),Tr=Dn([{type:\"Float32\",name:\"offsetX\"}]),Pr=Dn([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]);function $r(m,y,I){var U=y.layout.get(\"text-transform\").evaluate(I,{});return U===\"uppercase\"?m=m.toLocaleUpperCase():U===\"lowercase\"&&(m=m.toLocaleLowerCase()),_s.applyArabicShaping&&(m=_s.applyArabicShaping(m)),m}function ni(m,y,I){return m.sections.forEach(function(U){U.text=$r(U.text,y,I)}),m}function Di(m){var y={},I={},U=[],J=0;function ne(si){U.push(m[si]),J++}function fe(si,Hi,Ei){var Vi=I[si];return delete I[si],I[Hi]=Vi,U[Vi].geometry[0].pop(),U[Vi].geometry[0]=U[Vi].geometry[0].concat(Ei[0]),Vi}function Fe(si,Hi,Ei){var Vi=y[Hi];return delete y[Hi],y[si]=Vi,U[Vi].geometry[0].shift(),U[Vi].geometry[0]=Ei[0].concat(U[Vi].geometry[0]),Vi}function Qe(si,Hi,Ei){var Vi=Ei?Hi[0][Hi[0].length-1]:Hi[0][0];return si+\":\"+Vi.x+\":\"+Vi.y}for(var st=0;st<m.length;st++){var mt=m[st],Xt=mt.geometry,ur=mt.text?mt.text.toString():null;if(!ur){ne(st);continue}var nr=Qe(ur,Xt),Lr=Qe(ur,Xt,!0);if(nr in I&&Lr in y&&I[nr]!==y[Lr]){var Yr=Fe(nr,Lr,Xt),_i=fe(nr,Lr,U[Yr].geometry);delete y[nr],delete I[Lr],I[Qe(ur,U[_i].geometry,!0)]=_i,U[Yr].geometry=null}else nr in I?fe(nr,Lr,Xt):Lr in y?Fe(nr,Lr,Xt):(ne(st),y[nr]=J-1,I[Lr]=J-1)}return U.filter(function(si){return si.geometry})}var pi={\"!\":\"\\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\"};function ki(m){for(var y=\"\",I=0;I<m.length;I++){var U=m.charCodeAt(I+1)||null,J=m.charCodeAt(I-1)||null,ne=(!U||!ui(U)||pi[m[I+1]])&&(!J||!ui(J)||pi[m[I-1]]);ne&&pi[m[I]]?y+=pi[m[I]]:y+=m[I]}return y}var Zi=24,ta=function(m,y,I,U,J){var ne,fe,Fe=J*8-U-1,Qe=(1<<Fe)-1,st=Qe>>1,mt=-7,Xt=I?J-1:0,ur=I?-1:1,nr=m[y+Xt];for(Xt+=ur,ne=nr&(1<<-mt)-1,nr>>=-mt,mt+=Fe;mt>0;ne=ne*256+m[y+Xt],Xt+=ur,mt-=8);for(fe=ne&(1<<-mt)-1,ne>>=-mt,mt+=U;mt>0;fe=fe*256+m[y+Xt],Xt+=ur,mt-=8);if(ne===0)ne=1-st;else{if(ne===Qe)return fe?NaN:(nr?-1:1)*(1/0);fe=fe+Math.pow(2,U),ne=ne-st}return(nr?-1:1)*fe*Math.pow(2,ne-U)},Va=function(m,y,I,U,J,ne){var fe,Fe,Qe,st=ne*8-J-1,mt=(1<<st)-1,Xt=mt>>1,ur=J===23?Math.pow(2,-24)-Math.pow(2,-77):0,nr=U?0:ne-1,Lr=U?1:-1,Yr=y<0||y===0&&1/y<0?1:0;for(y=Math.abs(y),isNaN(y)||y===1/0?(Fe=isNaN(y)?1:0,fe=mt):(fe=Math.floor(Math.log(y)/Math.LN2),y*(Qe=Math.pow(2,-fe))<1&&(fe--,Qe*=2),fe+Xt>=1?y+=ur/Qe:y+=ur*Math.pow(2,1-Xt),y*Qe>=2&&(fe++,Qe/=2),fe+Xt>=mt?(Fe=0,fe=mt):fe+Xt>=1?(Fe=(y*Qe-1)*Math.pow(2,J),fe=fe+Xt):(Fe=y*Math.pow(2,Xt-1)*Math.pow(2,J),fe=0));J>=8;m[I+nr]=Fe&255,nr+=Lr,Fe/=256,J-=8);for(fe=fe<<J|Fe,st+=J;st>0;m[I+nr]=fe&255,nr+=Lr,fe/=256,st-=8);m[I+nr-Lr]|=Yr*128},Io={read:ta,write:Va},La=Hn;function Hn(m){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(m)?m:new Uint8Array(m||0),this.pos=0,this.type=0,this.length=this.buf.length}Hn.Varint=0,Hn.Fixed64=1,Hn.Bytes=2,Hn.Fixed32=5;var lo=65536*65536,$a=1/lo,Xa=12,Tn=typeof TextDecoder==\"undefined\"?null:new TextDecoder(\"utf8\");Hn.prototype={destroy:function(){this.buf=null},readFields:function(m,y,I){for(I=I||this.length;this.pos<I;){var U=this.readVarint(),J=U>>3,ne=this.pos;this.type=U&7,m(J,y,this),this.pos===ne&&this.skip(U)}return y},readMessage:function(m,y){return this.readFields(m,y,this.readVarint()+this.pos)},readFixed32:function(){var m=Dh(this.buf,this.pos);return this.pos+=4,m},readSFixed32:function(){var m=Iv(this.buf,this.pos);return this.pos+=4,m},readFixed64:function(){var m=Dh(this.buf,this.pos)+Dh(this.buf,this.pos+4)*lo;return this.pos+=8,m},readSFixed64:function(){var m=Dh(this.buf,this.pos)+Iv(this.buf,this.pos+4)*lo;return this.pos+=8,m},readFloat:function(){var m=Io.read(this.buf,this.pos,!0,23,4);return this.pos+=4,m},readDouble:function(){var m=Io.read(this.buf,this.pos,!0,52,8);return this.pos+=8,m},readVarint:function(m){var y=this.buf,I,U;return U=y[this.pos++],I=U&127,U<128||(U=y[this.pos++],I|=(U&127)<<7,U<128)||(U=y[this.pos++],I|=(U&127)<<14,U<128)||(U=y[this.pos++],I|=(U&127)<<21,U<128)?I:(U=y[this.pos],I|=(U&15)<<28,bo(I,m,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var m=this.readVarint();return m%2===1?(m+1)/-2:m/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var m=this.readVarint()+this.pos,y=this.pos;return this.pos=m,m-y>=Xa&&Tn?Cl(this.buf,y,m):lv(this.buf,y,m)},readBytes:function(){var m=this.readVarint()+this.pos,y=this.buf.subarray(this.pos,m);return this.pos=m,y},readPackedVarint:function(m,y){if(this.type!==Hn.Bytes)return m.push(this.readVarint(y));var I=Ya(this);for(m=m||[];this.pos<I;)m.push(this.readVarint(y));return m},readPackedSVarint:function(m){if(this.type!==Hn.Bytes)return m.push(this.readSVarint());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readSVarint());return m},readPackedBoolean:function(m){if(this.type!==Hn.Bytes)return m.push(this.readBoolean());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readBoolean());return m},readPackedFloat:function(m){if(this.type!==Hn.Bytes)return m.push(this.readFloat());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readFloat());return m},readPackedDouble:function(m){if(this.type!==Hn.Bytes)return m.push(this.readDouble());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readDouble());return m},readPackedFixed32:function(m){if(this.type!==Hn.Bytes)return m.push(this.readFixed32());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readFixed32());return m},readPackedSFixed32:function(m){if(this.type!==Hn.Bytes)return m.push(this.readSFixed32());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readSFixed32());return m},readPackedFixed64:function(m){if(this.type!==Hn.Bytes)return m.push(this.readFixed64());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readFixed64());return m},readPackedSFixed64:function(m){if(this.type!==Hn.Bytes)return m.push(this.readSFixed64());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readSFixed64());return m},skip:function(m){var y=m&7;if(y===Hn.Varint)for(;this.buf[this.pos++]>127;);else if(y===Hn.Bytes)this.pos=this.readVarint()+this.pos;else if(y===Hn.Fixed32)this.pos+=4;else if(y===Hn.Fixed64)this.pos+=8;else throw new Error(\"Unimplemented type: \"+y)},writeTag:function(m,y){this.writeVarint(m<<3|y)},realloc:function(m){for(var y=this.length||16;y<this.pos+m;)y*=2;if(y!==this.length){var I=new Uint8Array(y);I.set(this.buf),this.buf=I,this.length=y}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(m){this.realloc(4),xf(this.buf,m,this.pos),this.pos+=4},writeSFixed32:function(m){this.realloc(4),xf(this.buf,m,this.pos),this.pos+=4},writeFixed64:function(m){this.realloc(8),xf(this.buf,m&-1,this.pos),xf(this.buf,Math.floor(m*$a),this.pos+4),this.pos+=8},writeSFixed64:function(m){this.realloc(8),xf(this.buf,m&-1,this.pos),xf(this.buf,Math.floor(m*$a),this.pos+4),this.pos+=8},writeVarint:function(m){if(m=+m||0,m>268435455||m<0){wu(m,this);return}this.realloc(4),this.buf[this.pos++]=m&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=(m>>>=7)&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=(m>>>=7)&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=m>>>7&127)))},writeSVarint:function(m){this.writeVarint(m<0?-m*2-1:m*2)},writeBoolean:function(m){this.writeVarint(!!m)},writeString:function(m){m=String(m),this.realloc(m.length*4),this.pos++;var y=this.pos;this.pos=qu(this.buf,m,this.pos);var I=this.pos-y;I>=128&&$v(y,I,this),this.pos=y-1,this.writeVarint(I),this.pos+=I},writeFloat:function(m){this.realloc(4),Io.write(this.buf,m,this.pos,!0,23,4),this.pos+=4},writeDouble:function(m){this.realloc(8),Io.write(this.buf,m,this.pos,!0,52,8),this.pos+=8},writeBytes:function(m){var y=m.length;this.writeVarint(y),this.realloc(y);for(var I=0;I<y;I++)this.buf[this.pos++]=m[I]},writeRawMessage:function(m,y){this.pos++;var I=this.pos;m(y,this);var U=this.pos-I;U>=128&&$v(I,U,this),this.pos=I-1,this.writeVarint(U),this.pos+=U},writeMessage:function(m,y,I){this.writeTag(m,Hn.Bytes),this.writeRawMessage(y,I)},writePackedVarint:function(m,y){y.length&&this.writeMessage(m,td,y)},writePackedSVarint:function(m,y){y.length&&this.writeMessage(m,ch,y)},writePackedBoolean:function(m,y){y.length&&this.writeMessage(m,Hd,y)},writePackedFloat:function(m,y){y.length&&this.writeMessage(m,Ud,y)},writePackedDouble:function(m,y){y.length&&this.writeMessage(m,Vd,y)},writePackedFixed32:function(m,y){y.length&&this.writeMessage(m,rf,y)},writePackedSFixed32:function(m,y){y.length&&this.writeMessage(m,fh,y)},writePackedFixed64:function(m,y){y.length&&this.writeMessage(m,Td,y)},writePackedSFixed64:function(m,y){y.length&&this.writeMessage(m,rd,y)},writeBytesField:function(m,y){this.writeTag(m,Hn.Bytes),this.writeBytes(y)},writeFixed32Field:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeFixed32(y)},writeSFixed32Field:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeSFixed32(y)},writeFixed64Field:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeFixed64(y)},writeSFixed64Field:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeSFixed64(y)},writeVarintField:function(m,y){this.writeTag(m,Hn.Varint),this.writeVarint(y)},writeSVarintField:function(m,y){this.writeTag(m,Hn.Varint),this.writeSVarint(y)},writeStringField:function(m,y){this.writeTag(m,Hn.Bytes),this.writeString(y)},writeFloatField:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeFloat(y)},writeDoubleField:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeDouble(y)},writeBooleanField:function(m,y){this.writeVarintField(m,!!y)}};function bo(m,y,I){var U=I.buf,J,ne;if(ne=U[I.pos++],J=(ne&112)>>4,ne<128||(ne=U[I.pos++],J|=(ne&127)<<3,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<10,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<17,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<24,ne<128)||(ne=U[I.pos++],J|=(ne&1)<<31,ne<128))return Uo(m,J,y);throw new Error(\"Expected varint not more than 10 bytes\")}function Ya(m){return m.type===Hn.Bytes?m.readVarint()+m.pos:m.pos+1}function Uo(m,y,I){return I?y*4294967296+(m>>>0):(y>>>0)*4294967296+(m>>>0)}function wu(m,y){var I,U;if(m>=0?(I=m%4294967296|0,U=m/4294967296|0):(I=~(-m%4294967296),U=~(-m/4294967296),I^4294967295?I=I+1|0:(I=0,U=U+1|0)),m>=18446744073709552e3||m<-18446744073709552e3)throw new Error(\"Given varint doesn't fit into 10 bytes\");y.realloc(10),hu(I,U,y),uh(U,y)}function hu(m,y,I){I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos]=m&127}function uh(m,y){var I=(m&7)<<4;y.buf[y.pos++]|=I|((m>>>=3)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127)))))}function $v(m,y,I){var U=y<=16383?1:y<=2097151?2:y<=268435455?3:Math.floor(Math.log(y)/(Math.LN2*7));I.realloc(U);for(var J=I.pos-1;J>=m;J--)I.buf[J+U]=I.buf[J]}function td(m,y){for(var I=0;I<m.length;I++)y.writeVarint(m[I])}function ch(m,y){for(var I=0;I<m.length;I++)y.writeSVarint(m[I])}function Ud(m,y){for(var I=0;I<m.length;I++)y.writeFloat(m[I])}function Vd(m,y){for(var I=0;I<m.length;I++)y.writeDouble(m[I])}function Hd(m,y){for(var I=0;I<m.length;I++)y.writeBoolean(m[I])}function rf(m,y){for(var I=0;I<m.length;I++)y.writeFixed32(m[I])}function fh(m,y){for(var I=0;I<m.length;I++)y.writeSFixed32(m[I])}function Td(m,y){for(var I=0;I<m.length;I++)y.writeFixed64(m[I])}function rd(m,y){for(var I=0;I<m.length;I++)y.writeSFixed64(m[I])}function Dh(m,y){return(m[y]|m[y+1]<<8|m[y+2]<<16)+m[y+3]*16777216}function xf(m,y,I){m[I]=y,m[I+1]=y>>>8,m[I+2]=y>>>16,m[I+3]=y>>>24}function Iv(m,y){return(m[y]|m[y+1]<<8|m[y+2]<<16)+(m[y+3]<<24)}function lv(m,y,I){for(var U=\"\",J=y;J<I;){var ne=m[J],fe=null,Fe=ne>239?4:ne>223?3:ne>191?2:1;if(J+Fe>I)break;var Qe,st,mt;Fe===1?ne<128&&(fe=ne):Fe===2?(Qe=m[J+1],(Qe&192)===128&&(fe=(ne&31)<<6|Qe&63,fe<=127&&(fe=null))):Fe===3?(Qe=m[J+1],st=m[J+2],(Qe&192)===128&&(st&192)===128&&(fe=(ne&15)<<12|(Qe&63)<<6|st&63,(fe<=2047||fe>=55296&&fe<=57343)&&(fe=null))):Fe===4&&(Qe=m[J+1],st=m[J+2],mt=m[J+3],(Qe&192)===128&&(st&192)===128&&(mt&192)===128&&(fe=(ne&15)<<18|(Qe&63)<<12|(st&63)<<6|mt&63,(fe<=65535||fe>=1114112)&&(fe=null))),fe===null?(fe=65533,Fe=1):fe>65535&&(fe-=65536,U+=String.fromCharCode(fe>>>10&1023|55296),fe=56320|fe&1023),U+=String.fromCharCode(fe),J+=Fe}return U}function Cl(m,y,I){return Tn.decode(m.subarray(y,I))}function qu(m,y,I){for(var U=0,J,ne;U<y.length;U++){if(J=y.charCodeAt(U),J>55295&&J<57344)if(ne)if(J<56320){m[I++]=239,m[I++]=191,m[I++]=189,ne=J;continue}else J=ne-55296<<10|J-56320|65536,ne=null;else{J>56319||U+1===y.length?(m[I++]=239,m[I++]=191,m[I++]=189):ne=J;continue}else ne&&(m[I++]=239,m[I++]=191,m[I++]=189,ne=null);J<128?m[I++]=J:(J<2048?m[I++]=J>>6|192:(J<65536?m[I++]=J>>12|224:(m[I++]=J>>18|240,m[I++]=J>>12&63|128),m[I++]=J>>6&63|128),m[I++]=J&63|128)}return I}var Tu=3;function Rv(m,y,I){m===1&&I.readMessage(qc,y)}function qc(m,y,I){if(m===3){var U=I.readMessage(I1,{}),J=U.id,ne=U.bitmap,fe=U.width,Fe=U.height,Qe=U.left,st=U.top,mt=U.advance;y.push({id:J,bitmap:new Pv({width:fe+2*Tu,height:Fe+2*Tu},ne),metrics:{width:fe,height:Fe,left:Qe,top:st,advance:mt}})}}function I1(m,y,I){m===1?y.id=I.readVarint():m===2?y.bitmap=I.readBytes():m===3?y.width=I.readVarint():m===4?y.height=I.readVarint():m===5?y.left=I.readSVarint():m===6?y.top=I.readSVarint():m===7&&(y.advance=I.readVarint())}function p0(m){return new La(m).readFields(Rv,[])}var Gp=Tu;function Qv(m){for(var y=0,I=0,U=0,J=m;U<J.length;U+=1){var ne=J[U];y+=ne.w*ne.h,I=Math.max(I,ne.w)}m.sort(function(_i,si){return si.h-_i.h});for(var fe=Math.max(Math.ceil(Math.sqrt(y/.95)),I),Fe=[{x:0,y:0,w:fe,h:1/0}],Qe=0,st=0,mt=0,Xt=m;mt<Xt.length;mt+=1)for(var ur=Xt[mt],nr=Fe.length-1;nr>=0;nr--){var Lr=Fe[nr];if(!(ur.w>Lr.w||ur.h>Lr.h)){if(ur.x=Lr.x,ur.y=Lr.y,st=Math.max(st,ur.y+ur.h),Qe=Math.max(Qe,ur.x+ur.w),ur.w===Lr.w&&ur.h===Lr.h){var Yr=Fe.pop();nr<Fe.length&&(Fe[nr]=Yr)}else ur.h===Lr.h?(Lr.x+=ur.w,Lr.w-=ur.w):ur.w===Lr.w?(Lr.y+=ur.h,Lr.h-=ur.h):(Fe.push({x:Lr.x+ur.w,y:Lr.y,w:Lr.w-ur.w,h:ur.h}),Lr.y+=ur.h,Lr.h-=ur.h);break}}return{w:Qe,h:st,fill:y/(Qe*st)||0}}var oc=1,If=function(y,I){var U=I.pixelRatio,J=I.version,ne=I.stretchX,fe=I.stretchY,Fe=I.content;this.paddedRect=y,this.pixelRatio=U,this.stretchX=ne,this.stretchY=fe,this.content=Fe,this.version=J},ep={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};ep.tl.get=function(){return[this.paddedRect.x+oc,this.paddedRect.y+oc]},ep.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-oc,this.paddedRect.y+this.paddedRect.h-oc]},ep.tlbr.get=function(){return this.tl.concat(this.br)},ep.displaySize.get=function(){return[(this.paddedRect.w-oc*2)/this.pixelRatio,(this.paddedRect.h-oc*2)/this.pixelRatio]},Object.defineProperties(If.prototype,ep);var gg=function(y,I){var U={},J={};this.haveRenderCallbacks=[];var ne=[];this.addImages(y,U,ne),this.addImages(I,J,ne);var fe=Qv(ne),Fe=fe.w,Qe=fe.h,st=new lh({width:Fe||1,height:Qe||1});for(var mt in y){var Xt=y[mt],ur=U[mt].paddedRect;lh.copy(Xt.data,st,{x:0,y:0},{x:ur.x+oc,y:ur.y+oc},Xt.data)}for(var nr in I){var Lr=I[nr],Yr=J[nr].paddedRect,_i=Yr.x+oc,si=Yr.y+oc,Hi=Lr.data.width,Ei=Lr.data.height;lh.copy(Lr.data,st,{x:0,y:0},{x:_i,y:si},Lr.data),lh.copy(Lr.data,st,{x:0,y:Ei-1},{x:_i,y:si-1},{width:Hi,height:1}),lh.copy(Lr.data,st,{x:0,y:0},{x:_i,y:si+Ei},{width:Hi,height:1}),lh.copy(Lr.data,st,{x:Hi-1,y:0},{x:_i-1,y:si},{width:1,height:Ei}),lh.copy(Lr.data,st,{x:0,y:0},{x:_i+Hi,y:si},{width:1,height:Ei})}this.image=st,this.iconPositions=U,this.patternPositions=J};gg.prototype.addImages=function(y,I,U){for(var J in y){var ne=y[J],fe={x:0,y:0,w:ne.data.width+2*oc,h:ne.data.height+2*oc};U.push(fe),I[J]=new If(fe,ne),ne.hasRenderCallback&&this.haveRenderCallbacks.push(J)}},gg.prototype.patchUpdatedImages=function(y,I){y.dispatchRenderCallbacks(this.haveRenderCallbacks);for(var U in y.updatedImages)this.patchUpdatedImage(this.iconPositions[U],y.getImage(U),I),this.patchUpdatedImage(this.patternPositions[U],y.getImage(U),I)},gg.prototype.patchUpdatedImage=function(y,I,U){if(!(!y||!I)&&y.version!==I.version){y.version=I.version;var J=y.tl,ne=J[0],fe=J[1];U.update(I.data,void 0,{x:ne,y:fe})}},Z(\"ImagePosition\",If),Z(\"ImageAtlas\",gg);var uv={horizontal:1,vertical:2,horizontalOnly:3},R1=-17;function xS(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(U.positionedGlyphs.length!==0)return!1}return!0}var Uw=57344,g0=63743,hy=function(){this.scale=1,this.fontStack=\"\",this.imageName=null};hy.forText=function(y,I){var U=new hy;return U.scale=y||1,U.fontStack=I,U},hy.forImage=function(y){var I=new hy;return I.imageName=y,I};var zh=function(){this.text=\"\",this.sectionIndex=[],this.sections=[],this.imageSectionID=null};zh.fromFeature=function(y,I){for(var U=new zh,J=0;J<y.sections.length;J++){var ne=y.sections[J];ne.image?U.addImageSection(ne):U.addTextSection(ne,I)}return U},zh.prototype.length=function(){return this.text.length},zh.prototype.getSection=function(y){return this.sections[this.sectionIndex[y]]},zh.prototype.getSectionIndex=function(y){return this.sectionIndex[y]},zh.prototype.getCharCode=function(y){return this.text.charCodeAt(y)},zh.prototype.verticalizePunctuation=function(){this.text=ki(this.text)},zh.prototype.trim=function(){for(var y=0,I=0;I<this.text.length&&m0[this.text.charCodeAt(I)];I++)y++;for(var U=this.text.length,J=this.text.length-1;J>=0&&J>=y&&m0[this.text.charCodeAt(J)];J--)U--;this.text=this.text.substring(y,U),this.sectionIndex=this.sectionIndex.slice(y,U)},zh.prototype.substring=function(y,I){var U=new zh;return U.text=this.text.substring(y,I),U.sectionIndex=this.sectionIndex.slice(y,I),U.sections=this.sections,U},zh.prototype.toString=function(){return this.text},zh.prototype.getMaxScale=function(){var y=this;return this.sectionIndex.reduce(function(I,U){return Math.max(I,y.sections[U].scale)},0)},zh.prototype.addTextSection=function(y,I){this.text+=y.text,this.sections.push(hy.forText(y.scale,y.fontStack||I));for(var U=this.sections.length-1,J=0;J<y.text.length;++J)this.sectionIndex.push(U)},zh.prototype.addImageSection=function(y){var I=y.image?y.image.name:\"\";if(I.length===0){re(\"Can't add FormattedSection with an empty image.\");return}var U=this.getNextImageSectionCharCode();if(!U){re(\"Reached maximum number of images \"+(g0-Uw+2));return}this.text+=String.fromCharCode(U),this.sections.push(hy.forImage(I)),this.sectionIndex.push(this.sections.length-1)},zh.prototype.getNextImageSectionCharCode=function(){return this.imageSectionID?this.imageSectionID>=g0?null:++this.imageSectionID:(this.imageSectionID=Uw,this.imageSectionID)};function Q9(m,y){for(var I=[],U=m.text,J=0,ne=0,fe=y;ne<fe.length;ne+=1){var Fe=fe[ne];I.push(m.substring(J,Fe)),J=Fe}return J<U.length&&I.push(m.substring(J,U.length)),I}function Vw(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr){var _i=zh.fromFeature(m,J);Xt===uv.vertical&&_i.verticalizePunctuation();var si,Hi=_s.processBidirectionalText,Ei=_s.processStyledBidirectionalText;if(Hi&&_i.sections.length===1){si=[];for(var Vi=Hi(_i.toString(),Hw(_i,st,ne,y,U,nr,Lr)),en=0,An=Vi;en<An.length;en+=1){var ra=An[en],$n=new zh;$n.text=ra,$n.sections=_i.sections;for(var Ba=0;Ba<ra.length;Ba++)$n.sectionIndex.push(0);si.push($n)}}else if(Ei){si=[];for(var _a=Ei(_i.text,_i.sectionIndex,Hw(_i,st,ne,y,U,nr,Lr)),Pa=0,qo=_a;Pa<qo.length;Pa+=1){var Na=qo[Pa],ja=new zh;ja.text=Na[0],ja.sectionIndex=Na[1],ja.sections=_i.sections,si.push(ja)}}else si=Q9(_i,Hw(_i,st,ne,y,U,nr,Lr));var us=[],zo={positionedLines:us,text:_i.toString(),top:mt[1],bottom:mt[1],left:mt[0],right:mt[0],writingMode:Xt,iconsInText:!1,verticalizable:!1};return rq(zo,y,I,U,si,fe,Fe,Qe,Xt,st,ur,Yr),xS(us)?!1:zo}var m0={};m0[9]=!0,m0[10]=!0,m0[11]=!0,m0[12]=!0,m0[13]=!0,m0[32]=!0;var cv={};cv[10]=!0,cv[32]=!0,cv[38]=!0,cv[40]=!0,cv[41]=!0,cv[43]=!0,cv[45]=!0,cv[47]=!0,cv[173]=!0,cv[183]=!0,cv[8203]=!0,cv[8208]=!0,cv[8211]=!0,cv[8231]=!0;function UC(m,y,I,U,J,ne){if(y.imageName){var Qe=U[y.imageName];return Qe?Qe.displaySize[0]*y.scale*Zi/ne+J:0}else{var fe=I[y.fontStack],Fe=fe&&fe[m];return Fe?Fe.metrics.advance*y.scale+J:0}}function eq(m,y,I,U,J,ne){for(var fe=0,Fe=0;Fe<m.length();Fe++){var Qe=m.getSection(Fe);fe+=UC(m.getCharCode(Fe),Qe,U,J,y,ne)}var st=Math.max(1,Math.ceil(fe/I));return fe/st}function VC(m,y,I,U){var J=Math.pow(m-y,2);return U?m<y?J/2:J*2:J+Math.abs(I)*I}function tq(m,y,I){var U=0;return m===10&&(U-=1e4),I&&(U+=150),(m===40||m===65288)&&(U+=50),(y===41||y===65289)&&(U+=50),U}function mp(m,y,I,U,J,ne){for(var fe=null,Fe=VC(y,I,J,ne),Qe=0,st=U;Qe<st.length;Qe+=1){var mt=st[Qe],Xt=y-mt.x,ur=VC(Xt,I,J,ne)+mt.badness;ur<=Fe&&(fe=mt,Fe=ur)}return{index:m,x:y,priorBreak:fe,badness:Fe}}function rb(m){return m?rb(m.priorBreak).concat(m.index):[]}function Hw(m,y,I,U,J,ne,fe){if(ne!==\"point\")return[];if(!m)return[];for(var Fe=[],Qe=eq(m,y,I,U,J,fe),st=m.text.indexOf(\"\\u200B\")>=0,mt=0,Xt=0;Xt<m.length();Xt++){var ur=m.getSection(Xt),nr=m.getCharCode(Xt);if(m0[nr]||(mt+=UC(nr,ur,U,J,y,fe)),Xt<m.length()-1){var Lr=Dr(nr);(cv[nr]||Lr||ur.imageName)&&Fe.push(mp(Xt+1,mt,Qe,Fe,tq(nr,m.getCharCode(Xt+1),Lr&&st),!1))}}return rb(mp(m.length(),mt,Qe,Fe,0,!0))}function bS(m){var y=.5,I=.5;switch(m){case\"right\":case\"top-right\":case\"bottom-right\":y=1;break;case\"left\":case\"top-left\":case\"bottom-left\":y=0;break}switch(m){case\"bottom\":case\"bottom-right\":case\"bottom-left\":I=1;break;case\"top\":case\"top-right\":case\"top-left\":I=0;break}return{horizontalAlign:y,verticalAlign:I}}function rq(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt){for(var ur=0,nr=R1,Lr=0,Yr=0,_i=Fe===\"right\"?1:Fe===\"left\"?0:.5,si=0,Hi=0,Ei=J;Hi<Ei.length;Hi+=1){var Vi=Ei[Hi];Vi.trim();var en=Vi.getMaxScale(),An=(en-1)*Zi,ra={positionedGlyphs:[],lineOffset:0};m.positionedLines[si]=ra;var $n=ra.positionedGlyphs,Ba=0;if(!Vi.length()){nr+=ne,++si;continue}for(var _a=0;_a<Vi.length();_a++){var Pa=Vi.getSection(_a),qo=Vi.getSectionIndex(_a),Na=Vi.getCharCode(_a),ja=0,us=null,zo=null,rl=null,su=Zi,il=!(Qe===uv.horizontal||!mt&&!Ir(Na)||mt&&(m0[Na]||qr(Na)));if(Pa.imageName){var nf=U[Pa.imageName];if(!nf)continue;rl=Pa.imageName,m.iconsInText=m.iconsInText||!0,zo=nf.paddedRect;var bf=nf.displaySize;Pa.scale=Pa.scale*Zi/Xt,us={width:bf[0],height:bf[1],left:oc,top:-Gp,advance:il?bf[1]:bf[0]};var qh=Zi-bf[1]*Pa.scale;ja=An+qh,su=us.advance;var Zf=il?bf[0]*Pa.scale-Zi*en:bf[1]*Pa.scale-Zi*en;Zf>0&&Zf>Ba&&(Ba=Zf)}else{var nl=I[Pa.fontStack],Ws=nl&&nl[Na];if(Ws&&Ws.rect)zo=Ws.rect,us=Ws.metrics;else{var Au=y[Pa.fontStack],Ou=Au&&Au[Na];if(!Ou)continue;us=Ou.metrics}ja=(en-Pa.scale)*Zi}il?(m.verticalizable=!0,$n.push({glyph:Na,imageName:rl,x:ur,y:nr+ja,vertical:il,scale:Pa.scale,fontStack:Pa.fontStack,sectionIndex:qo,metrics:us,rect:zo}),ur+=su*Pa.scale+st):($n.push({glyph:Na,imageName:rl,x:ur,y:nr+ja,vertical:il,scale:Pa.scale,fontStack:Pa.fontStack,sectionIndex:qo,metrics:us,rect:zo}),ur+=us.advance*Pa.scale+st)}if($n.length!==0){var jd=ur-st;Lr=Math.max(jd,Lr),iq($n,0,$n.length-1,_i,Ba)}ur=0;var Wd=ne*en+Ba;ra.lineOffset=Math.max(Ba,An),nr+=Wd,Yr=Math.max(Wd,Yr),++si}var Oh=nr-R1,fv=bS(fe),hv=fv.horizontalAlign,hh=fv.verticalAlign;Ad(m.positionedLines,_i,hv,hh,Lr,Yr,ne,Oh,J.length),m.top+=-hh*Oh,m.bottom=m.top+Oh,m.left+=-hv*Lr,m.right=m.left+Lr}function iq(m,y,I,U,J){if(!(!U&&!J))for(var ne=m[I],fe=ne.metrics.advance*ne.scale,Fe=(m[I].x+fe)*U,Qe=y;Qe<=I;Qe++)m[Qe].x-=Fe,m[Qe].y+=J}function Ad(m,y,I,U,J,ne,fe,Fe,Qe){var st=(y-I)*J,mt=0;ne!==fe?mt=-Fe*U-R1:mt=(-U*Qe+.5)*fe;for(var Xt=0,ur=m;Xt<ur.length;Xt+=1)for(var nr=ur[Xt],Lr=0,Yr=nr.positionedGlyphs;Lr<Yr.length;Lr+=1){var _i=Yr[Lr];_i.x+=st,_i.y+=mt}}function tp(m,y,I){var U=bS(I),J=U.horizontalAlign,ne=U.verticalAlign,fe=y[0],Fe=y[1],Qe=fe-m.displaySize[0]*J,st=Qe+m.displaySize[0],mt=Fe-m.displaySize[1]*ne,Xt=mt+m.displaySize[1];return{image:m,top:mt,bottom:Xt,left:Qe,right:st}}function hm(m,y,I,U,J,ne){var fe=m.image,Fe;if(fe.content){var Qe=fe.content,st=fe.pixelRatio||1;Fe=[Qe[0]/st,Qe[1]/st,fe.displaySize[0]-Qe[2]/st,fe.displaySize[1]-Qe[3]/st]}var mt=y.left*ne,Xt=y.right*ne,ur,nr,Lr,Yr;I===\"width\"||I===\"both\"?(Yr=J[0]+mt-U[3],nr=J[0]+Xt+U[1]):(Yr=J[0]+(mt+Xt-fe.displaySize[0])/2,nr=Yr+fe.displaySize[0]);var _i=y.top*ne,si=y.bottom*ne;return I===\"height\"||I===\"both\"?(ur=J[1]+_i-U[0],Lr=J[1]+si+U[2]):(ur=J[1]+(_i+si-fe.displaySize[1])/2,Lr=ur+fe.displaySize[1]),{image:fe,top:ur,right:nr,bottom:Lr,left:Yr,collisionPadding:Fe}}var Gd=function(m){function y(I,U,J,ne){m.call(this,I,U),this.angle=J,ne!==void 0&&(this.segment=ne)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.clone=function(){return new y(this.x,this.y,this.angle,this.segment)},y}(u);Z(\"Anchor\",Gd);var Sd=128;function yp(m,y){var I=y.expression;if(I.kind===\"constant\"){var U=I.evaluate(new pn(m+1));return{kind:\"constant\",layoutSize:U}}else{if(I.kind===\"source\")return{kind:\"source\"};for(var J=I.zoomStops,ne=I.interpolationType,fe=0;fe<J.length&&J[fe]<=m;)fe++;fe=Math.max(0,fe-1);for(var Fe=fe;Fe<J.length&&J[Fe]<m+1;)Fe++;Fe=Math.min(J.length-1,Fe);var Qe=J[fe],st=J[Fe];if(I.kind===\"composite\")return{kind:\"composite\",minZoom:Qe,maxZoom:st,interpolationType:ne};var mt=I.evaluate(new pn(Qe)),Xt=I.evaluate(new pn(st));return{kind:\"camera\",minZoom:Qe,maxZoom:st,minSize:mt,maxSize:Xt,interpolationType:ne}}}function _Q(m,y,I){var U=y.uSize,J=y.uSizeT,ne=I.lowerSize,fe=I.upperSize;return m.kind===\"source\"?ne/Sd:m.kind===\"composite\"?Qs(ne/Sd,fe/Sd,J):U}function xQ(m,y){var I=0,U=0;if(m.kind===\"constant\")U=m.layoutSize;else if(m.kind!==\"source\"){var J=m.interpolationType,ne=m.minZoom,fe=m.maxZoom,Fe=J?p(Dl.interpolationFactor(J,y,ne,fe),0,1):0;m.kind===\"camera\"?U=Qs(m.minSize,m.maxSize,Fe):I=Fe}return{uSizeT:I,uSize:U}}var iQe=Object.freeze({__proto__:null,getSizeData:yp,evaluateSizeForFeature:_Q,evaluateSizeForZoom:xQ,SIZE_PACK_FACTOR:Sd});function bQ(m,y,I,U,J){if(y.segment===void 0)return!0;for(var ne=y,fe=y.segment+1,Fe=0;Fe>-I/2;){if(fe--,fe<0)return!1;Fe-=m[fe].dist(ne),ne=m[fe]}Fe+=m[fe].dist(m[fe+1]),fe++;for(var Qe=[],st=0;Fe<I/2;){var mt=m[fe-1],Xt=m[fe],ur=m[fe+1];if(!ur)return!1;var nr=mt.angleTo(Xt)-Xt.angleTo(ur);for(nr=Math.abs((nr+3*Math.PI)%(Math.PI*2)-Math.PI),Qe.push({distance:Fe,angleDelta:nr}),st+=nr;Fe-Qe[0].distance>U;)st-=Qe.shift().angleDelta;if(st>J)return!1;fe++,Fe+=Xt.dist(ur)}return!0}function wQ(m){for(var y=0,I=0;I<m.length-1;I++)y+=m[I].dist(m[I+1]);return y}function TQ(m,y,I){return m?3/5*y*I:0}function AQ(m,y){return Math.max(m?m.right-m.left:0,y?y.right-y.left:0)}function nQe(m,y,I,U,J,ne){for(var fe=TQ(I,J,ne),Fe=AQ(I,U)*ne,Qe=0,st=wQ(m)/2,mt=0;mt<m.length-1;mt++){var Xt=m[mt],ur=m[mt+1],nr=Xt.dist(ur);if(Qe+nr>st){var Lr=(st-Qe)/nr,Yr=Qs(Xt.x,ur.x,Lr),_i=Qs(Xt.y,ur.y,Lr),si=new Gd(Yr,_i,ur.angleTo(Xt),mt);return si._round(),!fe||bQ(m,si,Fe,fe,y)?si:void 0}Qe+=nr}}function aQe(m,y,I,U,J,ne,fe,Fe,Qe){var st=TQ(U,ne,fe),mt=AQ(U,J),Xt=mt*fe,ur=m[0].x===0||m[0].x===Qe||m[0].y===0||m[0].y===Qe;y-Xt<y/4&&(y=Xt+y/4);var nr=ne*2,Lr=ur?y/2*Fe%y:(mt/2+nr)*fe*Fe%y;return SQ(m,Lr,y,st,I,Xt,ur,!1,Qe)}function SQ(m,y,I,U,J,ne,fe,Fe,Qe){for(var st=ne/2,mt=wQ(m),Xt=0,ur=y-I,nr=[],Lr=0;Lr<m.length-1;Lr++){for(var Yr=m[Lr],_i=m[Lr+1],si=Yr.dist(_i),Hi=_i.angleTo(Yr);ur+I<Xt+si;){ur+=I;var Ei=(ur-Xt)/si,Vi=Qs(Yr.x,_i.x,Ei),en=Qs(Yr.y,_i.y,Ei);if(Vi>=0&&Vi<Qe&&en>=0&&en<Qe&&ur-st>=0&&ur+st<=mt){var An=new Gd(Vi,en,Hi,Lr);An._round(),(!U||bQ(m,An,ne,U,J))&&nr.push(An)}}Xt+=si}return!Fe&&!nr.length&&!fe&&(nr=SQ(m,Xt/2,I,U,J,ne,fe,!0,Qe)),nr}function MQ(m,y,I,U,J){for(var ne=[],fe=0;fe<m.length;fe++)for(var Fe=m[fe],Qe=void 0,st=0;st<Fe.length-1;st++){var mt=Fe[st],Xt=Fe[st+1];mt.x<y&&Xt.x<y||(mt.x<y?mt=new u(y,mt.y+(Xt.y-mt.y)*((y-mt.x)/(Xt.x-mt.x)))._round():Xt.x<y&&(Xt=new u(y,mt.y+(Xt.y-mt.y)*((y-mt.x)/(Xt.x-mt.x)))._round()),!(mt.y<I&&Xt.y<I)&&(mt.y<I?mt=new u(mt.x+(Xt.x-mt.x)*((I-mt.y)/(Xt.y-mt.y)),I)._round():Xt.y<I&&(Xt=new u(mt.x+(Xt.x-mt.x)*((I-mt.y)/(Xt.y-mt.y)),I)._round()),!(mt.x>=U&&Xt.x>=U)&&(mt.x>=U?mt=new u(U,mt.y+(Xt.y-mt.y)*((U-mt.x)/(Xt.x-mt.x)))._round():Xt.x>=U&&(Xt=new u(U,mt.y+(Xt.y-mt.y)*((U-mt.x)/(Xt.x-mt.x)))._round()),!(mt.y>=J&&Xt.y>=J)&&(mt.y>=J?mt=new u(mt.x+(Xt.x-mt.x)*((J-mt.y)/(Xt.y-mt.y)),J)._round():Xt.y>=J&&(Xt=new u(mt.x+(Xt.x-mt.x)*((J-mt.y)/(Xt.y-mt.y)),J)._round()),(!Qe||!mt.equals(Qe[Qe.length-1]))&&(Qe=[mt],ne.push(Qe)),Qe.push(Xt)))))}return ne}var Gw=oc;function EQ(m,y,I,U){var J=[],ne=m.image,fe=ne.pixelRatio,Fe=ne.paddedRect.w-2*Gw,Qe=ne.paddedRect.h-2*Gw,st=m.right-m.left,mt=m.bottom-m.top,Xt=ne.stretchX||[[0,Fe]],ur=ne.stretchY||[[0,Qe]],nr=function(nl,Ws){return nl+Ws[1]-Ws[0]},Lr=Xt.reduce(nr,0),Yr=ur.reduce(nr,0),_i=Fe-Lr,si=Qe-Yr,Hi=0,Ei=Lr,Vi=0,en=Yr,An=0,ra=_i,$n=0,Ba=si;if(ne.content&&U){var _a=ne.content;Hi=HC(Xt,0,_a[0]),Vi=HC(ur,0,_a[1]),Ei=HC(Xt,_a[0],_a[2]),en=HC(ur,_a[1],_a[3]),An=_a[0]-Hi,$n=_a[1]-Vi,ra=_a[2]-_a[0]-Ei,Ba=_a[3]-_a[1]-en}var Pa=function(nl,Ws,Au,Ou){var nf=GC(nl.stretch-Hi,Ei,st,m.left),bf=jC(nl.fixed-An,ra,nl.stretch,Lr),qh=GC(Ws.stretch-Vi,en,mt,m.top),Zf=jC(Ws.fixed-$n,Ba,Ws.stretch,Yr),jd=GC(Au.stretch-Hi,Ei,st,m.left),Wd=jC(Au.fixed-An,ra,Au.stretch,Lr),Oh=GC(Ou.stretch-Vi,en,mt,m.top),fv=jC(Ou.fixed-$n,Ba,Ou.stretch,Yr),hv=new u(nf,qh),hh=new u(jd,qh),dv=new u(jd,Oh),_p=new u(nf,Oh),py=new u(bf/fe,Zf/fe),F1=new u(Wd/fe,fv/fe),q1=y*Math.PI/180;if(q1){var O1=Math.sin(q1),$w=Math.cos(q1),y0=[$w,-O1,O1,$w];hv._matMult(y0),hh._matMult(y0),_p._matMult(y0),dv._matMult(y0)}var JC=nl.stretch+nl.fixed,fq=Au.stretch+Au.fixed,$C=Ws.stretch+Ws.fixed,hq=Ou.stretch+Ou.fixed,jp={x:ne.paddedRect.x+Gw+JC,y:ne.paddedRect.y+Gw+$C,w:fq-JC,h:hq-$C},Qw=ra/fe/st,QC=Ba/fe/mt;return{tl:hv,tr:hh,bl:_p,br:dv,tex:jp,writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:py,pixelOffsetBR:F1,minFontScaleX:Qw,minFontScaleY:QC,isSDF:I}};if(!U||!ne.stretchX&&!ne.stretchY)J.push(Pa({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:Fe+1},{fixed:0,stretch:Qe+1}));else for(var qo=kQ(Xt,_i,Lr),Na=kQ(ur,si,Yr),ja=0;ja<qo.length-1;ja++)for(var us=qo[ja],zo=qo[ja+1],rl=0;rl<Na.length-1;rl++){var su=Na[rl],il=Na[rl+1];J.push(Pa(us,su,zo,il))}return J}function HC(m,y,I){for(var U=0,J=0,ne=m;J<ne.length;J+=1){var fe=ne[J];U+=Math.max(y,Math.min(I,fe[1]))-Math.max(y,Math.min(I,fe[0]))}return U}function kQ(m,y,I){for(var U=[{fixed:-Gw,stretch:0}],J=0,ne=m;J<ne.length;J+=1){var fe=ne[J],Fe=fe[0],Qe=fe[1],st=U[U.length-1];U.push({fixed:Fe-st.stretch,stretch:st.stretch}),U.push({fixed:Fe-st.stretch,stretch:st.stretch+(Qe-Fe)})}return U.push({fixed:y+Gw,stretch:I}),U}function GC(m,y,I,U){return m/y*I+U}function jC(m,y,I,U){return m-y*I/U}function oQe(m,y,I,U,J,ne,fe,Fe){for(var Qe=U.layout.get(\"text-rotate\").evaluate(ne,{})*Math.PI/180,st=[],mt=0,Xt=y.positionedLines;mt<Xt.length;mt+=1)for(var ur=Xt[mt],nr=0,Lr=ur.positionedGlyphs;nr<Lr.length;nr+=1){var Yr=Lr[nr];if(Yr.rect){var _i=Yr.rect||{},si=1,Hi=Gp+si,Ei=!0,Vi=1,en=0,An=(J||Fe)&&Yr.vertical,ra=Yr.metrics.advance*Yr.scale/2;if(Fe&&y.verticalizable){var $n=(Yr.scale-1)*Zi,Ba=(Zi-Yr.metrics.width*Yr.scale)/2;en=ur.lineOffset/2-(Yr.imageName?-Ba:$n)}if(Yr.imageName){var _a=fe[Yr.imageName];Ei=_a.sdf,Vi=_a.pixelRatio,Hi=oc/Vi}var Pa=J?[Yr.x+ra,Yr.y]:[0,0],qo=J?[0,0]:[Yr.x+ra+I[0],Yr.y+I[1]-en],Na=[0,0];An&&(Na=qo,qo=[0,0]);var ja=(Yr.metrics.left-Hi)*Yr.scale-ra+qo[0],us=(-Yr.metrics.top-Hi)*Yr.scale+qo[1],zo=ja+_i.w*Yr.scale/Vi,rl=us+_i.h*Yr.scale/Vi,su=new u(ja,us),il=new u(zo,us),nl=new u(ja,rl),Ws=new u(zo,rl);if(An){var Au=new u(-ra,ra-R1),Ou=-Math.PI/2,nf=Zi/2-ra,bf=Yr.imageName?nf:0,qh=new u(5-R1-nf,-bf),Zf=new(Function.prototype.bind.apply(u,[null].concat(Na)));su._rotateAround(Ou,Au)._add(qh)._add(Zf),il._rotateAround(Ou,Au)._add(qh)._add(Zf),nl._rotateAround(Ou,Au)._add(qh)._add(Zf),Ws._rotateAround(Ou,Au)._add(qh)._add(Zf)}if(Qe){var jd=Math.sin(Qe),Wd=Math.cos(Qe),Oh=[Wd,-jd,jd,Wd];su._matMult(Oh),il._matMult(Oh),nl._matMult(Oh),Ws._matMult(Oh)}var fv=new u(0,0),hv=new u(0,0),hh=0,dv=0;st.push({tl:su,tr:il,bl:nl,br:Ws,tex:_i,writingMode:y.writingMode,glyphOffset:Pa,sectionIndex:Yr.sectionIndex,isSDF:Ei,pixelOffsetTL:fv,pixelOffsetBR:hv,minFontScaleX:hh,minFontScaleY:dv})}}return st}var WC=function(y,I,U,J,ne,fe,Fe,Qe,st,mt){if(this.boxStartIndex=y.length,st){var Xt=fe.top,ur=fe.bottom,nr=fe.collisionPadding;nr&&(Xt-=nr[1],ur+=nr[3]);var Lr=ur-Xt;Lr>0&&(Lr=Math.max(10,Lr),this.circleDiameter=Lr)}else{var Yr=fe.top*Fe-Qe,_i=fe.bottom*Fe+Qe,si=fe.left*Fe-Qe,Hi=fe.right*Fe+Qe,Ei=fe.collisionPadding;if(Ei&&(si-=Ei[0]*Fe,Yr-=Ei[1]*Fe,Hi+=Ei[2]*Fe,_i+=Ei[3]*Fe),mt){var Vi=new u(si,Yr),en=new u(Hi,Yr),An=new u(si,_i),ra=new u(Hi,_i),$n=mt*Math.PI/180;Vi._rotate($n),en._rotate($n),An._rotate($n),ra._rotate($n),si=Math.min(Vi.x,en.x,An.x,ra.x),Hi=Math.max(Vi.x,en.x,An.x,ra.x),Yr=Math.min(Vi.y,en.y,An.y,ra.y),_i=Math.max(Vi.y,en.y,An.y,ra.y)}y.emplaceBack(I.x,I.y,si,Yr,Hi,_i,U,J,ne)}this.boxEndIndex=y.length},jw=function(y,I){if(y===void 0&&(y=[]),I===void 0&&(I=sQe),this.data=y,this.length=this.data.length,this.compare=I,this.length>0)for(var U=(this.length>>1)-1;U>=0;U--)this._down(U)};jw.prototype.push=function(y){this.data.push(y),this.length++,this._up(this.length-1)},jw.prototype.pop=function(){if(this.length!==0){var y=this.data[0],I=this.data.pop();return this.length--,this.length>0&&(this.data[0]=I,this._down(0)),y}},jw.prototype.peek=function(){return this.data[0]},jw.prototype._up=function(y){for(var I=this,U=I.data,J=I.compare,ne=U[y];y>0;){var fe=y-1>>1,Fe=U[fe];if(J(ne,Fe)>=0)break;U[y]=Fe,y=fe}U[y]=ne},jw.prototype._down=function(y){for(var I=this,U=I.data,J=I.compare,ne=this.length>>1,fe=U[y];y<ne;){var Fe=(y<<1)+1,Qe=U[Fe],st=Fe+1;if(st<this.length&&J(U[st],Qe)<0&&(Fe=st,Qe=U[st]),J(Qe,fe)>=0)break;U[y]=Qe,y=Fe}U[y]=fe};function sQe(m,y){return m<y?-1:m>y?1:0}function lQe(m,y,I){y===void 0&&(y=1),I===void 0&&(I=!1);for(var U=1/0,J=1/0,ne=-1/0,fe=-1/0,Fe=m[0],Qe=0;Qe<Fe.length;Qe++){var st=Fe[Qe];(!Qe||st.x<U)&&(U=st.x),(!Qe||st.y<J)&&(J=st.y),(!Qe||st.x>ne)&&(ne=st.x),(!Qe||st.y>fe)&&(fe=st.y)}var mt=ne-U,Xt=fe-J,ur=Math.min(mt,Xt),nr=ur/2,Lr=new jw([],uQe);if(ur===0)return new u(U,J);for(var Yr=U;Yr<ne;Yr+=ur)for(var _i=J;_i<fe;_i+=ur)Lr.push(new Ww(Yr+nr,_i+nr,nr,m));for(var si=fQe(m),Hi=Lr.length;Lr.length;){var Ei=Lr.pop();(Ei.d>si.d||!si.d)&&(si=Ei,I&&console.log(\"found best %d after %d probes\",Math.round(1e4*Ei.d)/1e4,Hi)),!(Ei.max-si.d<=y)&&(nr=Ei.h/2,Lr.push(new Ww(Ei.p.x-nr,Ei.p.y-nr,nr,m)),Lr.push(new Ww(Ei.p.x+nr,Ei.p.y-nr,nr,m)),Lr.push(new Ww(Ei.p.x-nr,Ei.p.y+nr,nr,m)),Lr.push(new Ww(Ei.p.x+nr,Ei.p.y+nr,nr,m)),Hi+=4)}return I&&(console.log(\"num probes: \"+Hi),console.log(\"best distance: \"+si.d)),si.p}function uQe(m,y){return y.max-m.max}function Ww(m,y,I,U){this.p=new u(m,y),this.h=I,this.d=cQe(this.p,U),this.max=this.d+this.h*Math.SQRT2}function cQe(m,y){for(var I=!1,U=1/0,J=0;J<y.length;J++)for(var ne=y[J],fe=0,Fe=ne.length,Qe=Fe-1;fe<Fe;Qe=fe++){var st=ne[fe],mt=ne[Qe];st.y>m.y!=mt.y>m.y&&m.x<(mt.x-st.x)*(m.y-st.y)/(mt.y-st.y)+st.x&&(I=!I),U=Math.min(U,cg(m,st,mt))}return(I?1:-1)*Math.sqrt(U)}function fQe(m){for(var y=0,I=0,U=0,J=m[0],ne=0,fe=J.length,Fe=fe-1;ne<fe;Fe=ne++){var Qe=J[ne],st=J[Fe],mt=Qe.x*st.y-st.x*Qe.y;I+=(Qe.x+st.x)*mt,U+=(Qe.y+st.y)*mt,y+=mt*3}return new Ww(I/y,U/y,0,m)}var Zw=7,nq=Number.POSITIVE_INFINITY;function CQ(m,y){function I(J,ne){var fe=0,Fe=0;ne<0&&(ne=0);var Qe=ne/Math.sqrt(2);switch(J){case\"top-right\":case\"top-left\":Fe=Qe-Zw;break;case\"bottom-right\":case\"bottom-left\":Fe=-Qe+Zw;break;case\"bottom\":Fe=-ne+Zw;break;case\"top\":Fe=ne-Zw;break}switch(J){case\"top-right\":case\"bottom-right\":fe=-Qe;break;case\"top-left\":case\"bottom-left\":fe=Qe;break;case\"left\":fe=ne;break;case\"right\":fe=-ne;break}return[fe,Fe]}function U(J,ne,fe){var Fe=0,Qe=0;switch(ne=Math.abs(ne),fe=Math.abs(fe),J){case\"top-right\":case\"top-left\":case\"top\":Qe=fe-Zw;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":Qe=-fe+Zw;break}switch(J){case\"top-right\":case\"bottom-right\":case\"right\":Fe=-ne;break;case\"top-left\":case\"bottom-left\":case\"left\":Fe=ne;break}return[Fe,Qe]}return y[1]!==nq?U(m,y[0],y[1]):I(m,y[0])}function hQe(m,y,I,U,J,ne,fe){m.createArrays();var Fe=512*m.overscaling;m.tilePixelRatio=rn/Fe,m.compareText={},m.iconsNeedLinear=!1;var Qe=m.layers[0].layout,st=m.layers[0]._unevaluatedLayout._values,mt={};if(m.textSizeData.kind===\"composite\"){var Xt=m.textSizeData,ur=Xt.minZoom,nr=Xt.maxZoom;mt.compositeTextSizes=[st[\"text-size\"].possiblyEvaluate(new pn(ur),fe),st[\"text-size\"].possiblyEvaluate(new pn(nr),fe)]}if(m.iconSizeData.kind===\"composite\"){var Lr=m.iconSizeData,Yr=Lr.minZoom,_i=Lr.maxZoom;mt.compositeIconSizes=[st[\"icon-size\"].possiblyEvaluate(new pn(Yr),fe),st[\"icon-size\"].possiblyEvaluate(new pn(_i),fe)]}mt.layoutTextSize=st[\"text-size\"].possiblyEvaluate(new pn(m.zoom+1),fe),mt.layoutIconSize=st[\"icon-size\"].possiblyEvaluate(new pn(m.zoom+1),fe),mt.textMaxSize=st[\"text-size\"].possiblyEvaluate(new pn(18));for(var si=Qe.get(\"text-line-height\")*Zi,Hi=Qe.get(\"text-rotation-alignment\")===\"map\"&&Qe.get(\"symbol-placement\")!==\"point\",Ei=Qe.get(\"text-keep-upright\"),Vi=Qe.get(\"text-size\"),en=function(){var $n=ra[An],Ba=Qe.get(\"text-font\").evaluate($n,{},fe).join(\",\"),_a=Vi.evaluate($n,{},fe),Pa=mt.layoutTextSize.evaluate($n,{},fe),qo=mt.layoutIconSize.evaluate($n,{},fe),Na={horizontal:{},vertical:void 0},ja=$n.text,us=[0,0];if(ja){var zo=ja.toString(),rl=Qe.get(\"text-letter-spacing\").evaluate($n,{},fe)*Zi,su=or(zo)?rl:0,il=Qe.get(\"text-anchor\").evaluate($n,{},fe),nl=Qe.get(\"text-variable-anchor\");if(!nl){var Ws=Qe.get(\"text-radial-offset\").evaluate($n,{},fe);Ws?us=CQ(il,[Ws*Zi,nq]):us=Qe.get(\"text-offset\").evaluate($n,{},fe).map(function(py){return py*Zi})}var Au=Hi?\"center\":Qe.get(\"text-justify\").evaluate($n,{},fe),Ou=Qe.get(\"symbol-placement\"),nf=Ou===\"point\"?Qe.get(\"text-max-width\").evaluate($n,{},fe)*Zi:0,bf=function(){m.allowVerticalPlacement&&zt(zo)&&(Na.vertical=Vw(ja,y,I,J,Ba,nf,si,il,\"left\",su,us,uv.vertical,!0,Ou,Pa,_a))};if(!Hi&&nl){for(var qh=Au===\"auto\"?nl.map(function(py){return aq(py)}):[Au],Zf=!1,jd=0;jd<qh.length;jd++){var Wd=qh[jd];if(!Na.horizontal[Wd])if(Zf)Na.horizontal[Wd]=Na.horizontal[0];else{var Oh=Vw(ja,y,I,J,Ba,nf,si,\"center\",Wd,su,us,uv.horizontal,!1,Ou,Pa,_a);Oh&&(Na.horizontal[Wd]=Oh,Zf=Oh.positionedLines.length===1)}}bf()}else{Au===\"auto\"&&(Au=aq(il));var fv=Vw(ja,y,I,J,Ba,nf,si,il,Au,su,us,uv.horizontal,!1,Ou,Pa,_a);fv&&(Na.horizontal[Au]=fv),bf(),zt(zo)&&Hi&&Ei&&(Na.vertical=Vw(ja,y,I,J,Ba,nf,si,il,Au,su,us,uv.vertical,!1,Ou,Pa,_a))}}var hv=void 0,hh=!1;if($n.icon&&$n.icon.name){var dv=U[$n.icon.name];dv&&(hv=tp(J[$n.icon.name],Qe.get(\"icon-offset\").evaluate($n,{},fe),Qe.get(\"icon-anchor\").evaluate($n,{},fe)),hh=dv.sdf,m.sdfIcons===void 0?m.sdfIcons=dv.sdf:m.sdfIcons!==dv.sdf&&re(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),(dv.pixelRatio!==m.pixelRatio||Qe.get(\"icon-rotate\").constantOr(1)!==0)&&(m.iconsNeedLinear=!0))}var _p=PQ(Na.horizontal)||Na.vertical;m.iconsInText=_p?_p.iconsInText:!1,(_p||hv)&&dQe(m,$n,Na,hv,U,mt,Pa,qo,us,hh,fe)},An=0,ra=m.features;An<ra.length;An+=1)en();ne&&m.generateCollisionDebugBuffers()}function aq(m){switch(m){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function dQe(m,y,I,U,J,ne,fe,Fe,Qe,st,mt){var Xt=ne.textMaxSize.evaluate(y,{});Xt===void 0&&(Xt=fe);var ur=m.layers[0].layout,nr=ur.get(\"icon-offset\").evaluate(y,{},mt),Lr=PQ(I.horizontal),Yr=24,_i=fe/Yr,si=m.tilePixelRatio*_i,Hi=m.tilePixelRatio*Xt/Yr,Ei=m.tilePixelRatio*Fe,Vi=m.tilePixelRatio*ur.get(\"symbol-spacing\"),en=ur.get(\"text-padding\")*m.tilePixelRatio,An=ur.get(\"icon-padding\")*m.tilePixelRatio,ra=ur.get(\"text-max-angle\")/180*Math.PI,$n=ur.get(\"text-rotation-alignment\")===\"map\"&&ur.get(\"symbol-placement\")!==\"point\",Ba=ur.get(\"icon-rotation-alignment\")===\"map\"&&ur.get(\"symbol-placement\")!==\"point\",_a=ur.get(\"symbol-placement\"),Pa=Vi/2,qo=ur.get(\"icon-text-fit\"),Na;U&&qo!==\"none\"&&(m.allowVerticalPlacement&&I.vertical&&(Na=hm(U,I.vertical,qo,ur.get(\"icon-text-fit-padding\"),nr,_i)),Lr&&(U=hm(U,Lr,qo,ur.get(\"icon-text-fit-padding\"),nr,_i)));var ja=function($w,y0){y0.x<0||y0.x>=rn||y0.y<0||y0.y>=rn||vQe(m,y0,$w,I,U,J,Na,m.layers[0],m.collisionBoxArray,y.index,y.sourceLayerIndex,m.index,si,en,$n,Qe,Ei,An,Ba,nr,y,ne,st,mt,fe)};if(_a===\"line\")for(var us=0,zo=MQ(y.geometry,0,0,rn,rn);us<zo.length;us+=1)for(var rl=zo[us],su=aQe(rl,Vi,ra,I.vertical||Lr,U,Yr,Hi,m.overscaling,rn),il=0,nl=su;il<nl.length;il+=1){var Ws=nl[il],Au=Lr;(!Au||!pQe(m,Au.text,Pa,Ws))&&ja(rl,Ws)}else if(_a===\"line-center\")for(var Ou=0,nf=y.geometry;Ou<nf.length;Ou+=1){var bf=nf[Ou];if(bf.length>1){var qh=nQe(bf,ra,I.vertical||Lr,U,Yr,Hi);qh&&ja(bf,qh)}}else if(y.type===\"Polygon\")for(var Zf=0,jd=zw(y.geometry,0);Zf<jd.length;Zf+=1){var Wd=jd[Zf],Oh=lQe(Wd,16);ja(Wd[0],new Gd(Oh.x,Oh.y,0))}else if(y.type===\"LineString\")for(var fv=0,hv=y.geometry;fv<hv.length;fv+=1){var hh=hv[fv];ja(hh,new Gd(hh[0].x,hh[0].y,0))}else if(y.type===\"Point\")for(var dv=0,_p=y.geometry;dv<_p.length;dv+=1)for(var py=_p[dv],F1=0,q1=py;F1<q1.length;F1+=1){var O1=q1[F1];ja([O1],new Gd(O1.x,O1.y,0))}}var wS=255,D1=wS*Sd;function LQ(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr){var Yr=oQe(y,I,Fe,J,ne,fe,U,m.allowVerticalPlacement),_i=m.textSizeData,si=null;_i.kind===\"source\"?(si=[Sd*J.layout.get(\"text-size\").evaluate(fe,{})],si[0]>D1&&re(m.layerIds[0]+': Value for \"text-size\" is >= '+wS+'. Reduce your \"text-size\".')):_i.kind===\"composite\"&&(si=[Sd*nr.compositeTextSizes[0].evaluate(fe,{},Lr),Sd*nr.compositeTextSizes[1].evaluate(fe,{},Lr)],(si[0]>D1||si[1]>D1)&&re(m.layerIds[0]+': Value for \"text-size\" is >= '+wS+'. Reduce your \"text-size\".')),m.addSymbols(m.text,Yr,si,Fe,ne,fe,st,y,Qe.lineStartIndex,Qe.lineLength,ur,Lr);for(var Hi=0,Ei=mt;Hi<Ei.length;Hi+=1){var Vi=Ei[Hi];Xt[Vi]=m.text.placedSymbolArray.length-1}return Yr.length*4}function PQ(m){for(var y in m)return m[y];return null}function vQe(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n){var Ba,_a=m.addToLineVertexArray(y,I),Pa,qo,Na,ja,us=0,zo=0,rl=0,su=0,il=-1,nl=-1,Ws={},Au=$(\"\"),Ou=0,nf=0;if(Fe._unevaluatedLayout.getValue(\"text-radial-offset\")===void 0?(Ba=Fe.layout.get(\"text-offset\").evaluate(Vi,{},ra).map(function(SS){return SS*Zi}),Ou=Ba[0],nf=Ba[1]):(Ou=Fe.layout.get(\"text-radial-offset\").evaluate(Vi,{},ra)*Zi,nf=nq),m.allowVerticalPlacement&&U.vertical){var bf=Fe.layout.get(\"text-rotate\").evaluate(Vi,{},ra),qh=bf+90,Zf=U.vertical;Na=new WC(Qe,y,st,mt,Xt,Zf,ur,nr,Lr,qh),fe&&(ja=new WC(Qe,y,st,mt,Xt,fe,_i,si,Lr,qh))}if(J){var jd=Fe.layout.get(\"icon-rotate\").evaluate(Vi,{}),Wd=Fe.layout.get(\"icon-text-fit\")!==\"none\",Oh=EQ(J,jd,An,Wd),fv=fe?EQ(fe,jd,An,Wd):void 0;qo=new WC(Qe,y,st,mt,Xt,J,_i,si,!1,jd),us=Oh.length*4;var hv=m.iconSizeData,hh=null;hv.kind===\"source\"?(hh=[Sd*Fe.layout.get(\"icon-size\").evaluate(Vi,{})],hh[0]>D1&&re(m.layerIds[0]+': Value for \"icon-size\" is >= '+wS+'. Reduce your \"icon-size\".')):hv.kind===\"composite\"&&(hh=[Sd*en.compositeIconSizes[0].evaluate(Vi,{},ra),Sd*en.compositeIconSizes[1].evaluate(Vi,{},ra)],(hh[0]>D1||hh[1]>D1)&&re(m.layerIds[0]+': Value for \"icon-size\" is >= '+wS+'. Reduce your \"icon-size\".')),m.addSymbols(m.icon,Oh,hh,Ei,Hi,Vi,!1,y,_a.lineStartIndex,_a.lineLength,-1,ra),il=m.icon.placedSymbolArray.length-1,fv&&(zo=fv.length*4,m.addSymbols(m.icon,fv,hh,Ei,Hi,Vi,uv.vertical,y,_a.lineStartIndex,_a.lineLength,-1,ra),nl=m.icon.placedSymbolArray.length-1)}for(var dv in U.horizontal){var _p=U.horizontal[dv];if(!Pa){Au=$(_p.text);var py=Fe.layout.get(\"text-rotate\").evaluate(Vi,{},ra);Pa=new WC(Qe,y,st,mt,Xt,_p,ur,nr,Lr,py)}var F1=_p.positionedLines.length===1;if(rl+=LQ(m,y,_p,ne,Fe,Lr,Vi,Yr,_a,U.vertical?uv.horizontal:uv.horizontalOnly,F1?Object.keys(U.horizontal):[dv],Ws,il,en,ra),F1)break}U.vertical&&(su+=LQ(m,y,U.vertical,ne,Fe,Lr,Vi,Yr,_a,uv.vertical,[\"vertical\"],Ws,nl,en,ra));var q1=Pa?Pa.boxStartIndex:m.collisionBoxArray.length,O1=Pa?Pa.boxEndIndex:m.collisionBoxArray.length,$w=Na?Na.boxStartIndex:m.collisionBoxArray.length,y0=Na?Na.boxEndIndex:m.collisionBoxArray.length,JC=qo?qo.boxStartIndex:m.collisionBoxArray.length,fq=qo?qo.boxEndIndex:m.collisionBoxArray.length,$C=ja?ja.boxStartIndex:m.collisionBoxArray.length,hq=ja?ja.boxEndIndex:m.collisionBoxArray.length,jp=-1,Qw=function(SS,ZQ){return SS&&SS.circleDiameter?Math.max(SS.circleDiameter,ZQ):ZQ};jp=Qw(Pa,jp),jp=Qw(Na,jp),jp=Qw(qo,jp),jp=Qw(ja,jp);var QC=jp>-1?1:0;QC&&(jp*=$n/Zi),m.glyphOffsetArray.length>=ou.MAX_GLYPHS&&re(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),Vi.sortKey!==void 0&&m.addToSortKeyRanges(m.symbolInstances.length,Vi.sortKey),m.symbolInstances.emplaceBack(y.x,y.y,Ws.right>=0?Ws.right:-1,Ws.center>=0?Ws.center:-1,Ws.left>=0?Ws.left:-1,Ws.vertical||-1,il,nl,Au,q1,O1,$w,y0,JC,fq,$C,hq,st,rl,su,us,zo,QC,0,ur,Ou,nf,jp)}function pQe(m,y,I,U){var J=m.compareText;if(!(y in J))J[y]=[];else for(var ne=J[y],fe=ne.length-1;fe>=0;fe--)if(U.dist(ne[fe])<I)return!0;return J[y].push(U),!1}var gQe=pg.VectorTileFeature.types,mQe=[{name:\"a_fade_opacity\",components:1,type:\"Uint8\",offset:0}];function ZC(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){var nr=Fe?Math.min(D1,Math.round(Fe[0])):0,Lr=Fe?Math.min(D1,Math.round(Fe[1])):0;m.emplaceBack(y,I,Math.round(U*32),Math.round(J*32),ne,fe,(nr<<1)+(Qe?1:0),Lr,st*16,mt*16,Xt*256,ur*256)}function oq(m,y,I){m.emplaceBack(y.x,y.y,I),m.emplaceBack(y.x,y.y,I),m.emplaceBack(y.x,y.y,I),m.emplaceBack(y.x,y.y,I)}function yQe(m){for(var y=0,I=m.sections;y<I.length;y+=1){var U=I[y];if(vi(U.text))return!0}return!1}var Xw=function(y){this.layoutVertexArray=new Za,this.indexArray=new ma,this.programConfigurations=y,this.segments=new ns,this.dynamicLayoutVertexArray=new wn,this.opacityVertexArray=new vn,this.placedSymbolArray=new El};Xw.prototype.isEmpty=function(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0},Xw.prototype.upload=function(y,I,U,J){this.isEmpty()||(U&&(this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,te.members),this.indexBuffer=y.createIndexBuffer(this.indexArray,I),this.dynamicLayoutVertexBuffer=y.createVertexBuffer(this.dynamicLayoutVertexArray,ue.members,!0),this.opacityVertexBuffer=y.createVertexBuffer(this.opacityVertexArray,mQe,!0),this.opacityVertexBuffer.itemSize=1),(U||J)&&this.programConfigurations.upload(y))},Xw.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},Z(\"SymbolBuffers\",Xw);var TS=function(y,I,U){this.layoutVertexArray=new y,this.layoutAttributes=I,this.indexArray=new U,this.segments=new ns,this.collisionVertexArray=new Vn};TS.prototype.upload=function(y){this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=y.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=y.createVertexBuffer(this.collisionVertexArray,De.members,!0)},TS.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},Z(\"CollisionBuffers\",TS);var ou=function(y){this.collisionBoxArray=y.collisionBoxArray,this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(Qe){return Qe.id}),this.index=y.index,this.pixelRatio=y.pixelRatio,this.sourceLayerIndex=y.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=oy([]),this.placementViewportMatrix=oy([]);var I=this.layers[0],U=I._unevaluatedLayout._values;this.textSizeData=yp(this.zoom,U[\"text-size\"]),this.iconSizeData=yp(this.zoom,U[\"icon-size\"]);var J=this.layers[0].layout,ne=J.get(\"symbol-sort-key\"),fe=J.get(\"symbol-z-order\");this.canOverlap=J.get(\"text-allow-overlap\")||J.get(\"icon-allow-overlap\")||J.get(\"text-ignore-placement\")||J.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=fe!==\"viewport-y\"&&ne.constantOr(1)!==void 0;var Fe=fe===\"viewport-y\"||fe===\"auto\"&&!this.sortFeaturesByKey;this.sortFeaturesByY=Fe&&this.canOverlap,J.get(\"symbol-placement\")===\"point\"&&(this.writingModes=J.get(\"text-writing-mode\").map(function(Qe){return uv[Qe]})),this.stateDependentLayerIds=this.layers.filter(function(Qe){return Qe.isStateDependent()}).map(function(Qe){return Qe.id}),this.sourceID=y.sourceID};ou.prototype.createArrays=function(){this.text=new Xw(new Ri(this.layers,this.zoom,function(y){return/^text/.test(y)})),this.icon=new Xw(new Ri(this.layers,this.zoom,function(y){return/^icon/.test(y)})),this.glyphOffsetArray=new yf,this.lineVertexArray=new Gl,this.symbolInstances=new wc},ou.prototype.calculateGlyphDependencies=function(y,I,U,J,ne){for(var fe=0;fe<y.length;fe++)if(I[y.charCodeAt(fe)]=!0,(U||J)&&ne){var Fe=pi[y.charAt(fe)];Fe&&(I[Fe.charCodeAt(0)]=!0)}},ou.prototype.populate=function(y,I,U){var J=this.layers[0],ne=J.layout,fe=ne.get(\"text-font\"),Fe=ne.get(\"text-field\"),Qe=ne.get(\"icon-image\"),st=(Fe.value.kind!==\"constant\"||Fe.value.value instanceof Vl&&!Fe.value.value.isEmpty()||Fe.value.value.toString().length>0)&&(fe.value.kind!==\"constant\"||fe.value.value.length>0),mt=Qe.value.kind!==\"constant\"||!!Qe.value.value||Object.keys(Qe.parameters).length>0,Xt=ne.get(\"symbol-sort-key\");if(this.features=[],!(!st&&!mt)){for(var ur=I.iconDependencies,nr=I.glyphDependencies,Lr=I.availableImages,Yr=new pn(this.zoom),_i=0,si=y;_i<si.length;_i+=1){var Hi=si[_i],Ei=Hi.feature,Vi=Hi.id,en=Hi.index,An=Hi.sourceLayerIndex,ra=J._featureFilter.needGeometry,$n=No(Ei,ra);if(J._featureFilter.filter(Yr,$n,U)){ra||($n.geometry=da(Ei));var Ba=void 0;if(st){var _a=J.getValueAndResolveTokens(\"text-field\",$n,U,Lr),Pa=Vl.factory(_a);yQe(Pa)&&(this.hasRTLText=!0),(!this.hasRTLText||so()===\"unavailable\"||this.hasRTLText&&_s.isParsed())&&(Ba=ni(Pa,J,$n))}var qo=void 0;if(mt){var Na=J.getValueAndResolveTokens(\"icon-image\",$n,U,Lr);Na instanceof Js?qo=Na:qo=Js.fromString(Na)}if(!(!Ba&&!qo)){var ja=this.sortFeaturesByKey?Xt.evaluate($n,{},U):void 0,us={id:Vi,text:Ba,icon:qo,index:en,sourceLayerIndex:An,geometry:$n.geometry,properties:Ei.properties,type:gQe[Ei.type],sortKey:ja};if(this.features.push(us),qo&&(ur[qo.name]=!0),Ba){var zo=fe.evaluate($n,{},U).join(\",\"),rl=ne.get(\"text-rotation-alignment\")===\"map\"&&ne.get(\"symbol-placement\")!==\"point\";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(uv.vertical)>=0;for(var su=0,il=Ba.sections;su<il.length;su+=1){var nl=il[su];if(nl.image)ur[nl.image.name]=!0;else{var Ws=zt(Ba.toString()),Au=nl.fontStack||zo,Ou=nr[Au]=nr[Au]||{};this.calculateGlyphDependencies(nl.text,Ou,rl,this.allowVerticalPlacement,Ws)}}}}}}ne.get(\"symbol-placement\")===\"line\"&&(this.features=Di(this.features)),this.sortFeaturesByKey&&this.features.sort(function(nf,bf){return nf.sortKey-bf.sortKey})}},ou.prototype.update=function(y,I,U){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(y,I,this.layers,U),this.icon.programConfigurations.updatePaintArrays(y,I,this.layers,U))},ou.prototype.isEmpty=function(){return this.symbolInstances.length===0&&!this.hasRTLText},ou.prototype.uploadPending=function(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload},ou.prototype.upload=function(y){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(y),this.iconCollisionBox.upload(y)),this.text.upload(y,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(y,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0},ou.prototype.destroyDebugData=function(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()},ou.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()},ou.prototype.addToLineVertexArray=function(y,I){var U=this.lineVertexArray.length;if(y.segment!==void 0){for(var J=y.dist(I[y.segment+1]),ne=y.dist(I[y.segment]),fe={},Fe=y.segment+1;Fe<I.length;Fe++)fe[Fe]={x:I[Fe].x,y:I[Fe].y,tileUnitDistanceFromAnchor:J},Fe<I.length-1&&(J+=I[Fe+1].dist(I[Fe]));for(var Qe=y.segment||0;Qe>=0;Qe--)fe[Qe]={x:I[Qe].x,y:I[Qe].y,tileUnitDistanceFromAnchor:ne},Qe>0&&(ne+=I[Qe-1].dist(I[Qe]));for(var st=0;st<I.length;st++){var mt=fe[st];this.lineVertexArray.emplaceBack(mt.x,mt.y,mt.tileUnitDistanceFromAnchor)}}return{lineStartIndex:U,lineLength:this.lineVertexArray.length-U}},ou.prototype.addSymbols=function(y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){for(var nr=y.indexArray,Lr=y.layoutVertexArray,Yr=y.segments.prepareSegment(4*I.length,Lr,nr,this.canOverlap?fe.sortKey:void 0),_i=this.glyphOffsetArray.length,si=Yr.vertexLength,Hi=this.allowVerticalPlacement&&Fe===uv.vertical?Math.PI/2:0,Ei=fe.text&&fe.text.sections,Vi=0;Vi<I.length;Vi++){var en=I[Vi],An=en.tl,ra=en.tr,$n=en.bl,Ba=en.br,_a=en.tex,Pa=en.pixelOffsetTL,qo=en.pixelOffsetBR,Na=en.minFontScaleX,ja=en.minFontScaleY,us=en.glyphOffset,zo=en.isSDF,rl=en.sectionIndex,su=Yr.vertexLength,il=us[1];ZC(Lr,Qe.x,Qe.y,An.x,il+An.y,_a.x,_a.y,U,zo,Pa.x,Pa.y,Na,ja),ZC(Lr,Qe.x,Qe.y,ra.x,il+ra.y,_a.x+_a.w,_a.y,U,zo,qo.x,Pa.y,Na,ja),ZC(Lr,Qe.x,Qe.y,$n.x,il+$n.y,_a.x,_a.y+_a.h,U,zo,Pa.x,qo.y,Na,ja),ZC(Lr,Qe.x,Qe.y,Ba.x,il+Ba.y,_a.x+_a.w,_a.y+_a.h,U,zo,qo.x,qo.y,Na,ja),oq(y.dynamicLayoutVertexArray,Qe,Hi),nr.emplaceBack(su,su+1,su+2),nr.emplaceBack(su+1,su+2,su+3),Yr.vertexLength+=4,Yr.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(us[0]),(Vi===I.length-1||rl!==I[Vi+1].sectionIndex)&&y.programConfigurations.populatePaintArrays(Lr.length,fe,fe.index,{},ur,Ei&&Ei[rl])}y.placedSymbolArray.emplaceBack(Qe.x,Qe.y,_i,this.glyphOffsetArray.length-_i,si,st,mt,Qe.segment,U?U[0]:0,U?U[1]:0,J[0],J[1],Fe,0,!1,0,Xt)},ou.prototype._addCollisionDebugVertex=function(y,I,U,J,ne,fe){return I.emplaceBack(0,0),y.emplaceBack(U.x,U.y,J,ne,Math.round(fe.x),Math.round(fe.y))},ou.prototype.addCollisionDebugVertices=function(y,I,U,J,ne,fe,Fe){var Qe=ne.segments.prepareSegment(4,ne.layoutVertexArray,ne.indexArray),st=Qe.vertexLength,mt=ne.layoutVertexArray,Xt=ne.collisionVertexArray,ur=Fe.anchorX,nr=Fe.anchorY;this._addCollisionDebugVertex(mt,Xt,fe,ur,nr,new u(y,I)),this._addCollisionDebugVertex(mt,Xt,fe,ur,nr,new u(U,I)),this._addCollisionDebugVertex(mt,Xt,fe,ur,nr,new u(U,J)),this._addCollisionDebugVertex(mt,Xt,fe,ur,nr,new u(y,J)),Qe.vertexLength+=4;var Lr=ne.indexArray;Lr.emplaceBack(st,st+1),Lr.emplaceBack(st+1,st+2),Lr.emplaceBack(st+2,st+3),Lr.emplaceBack(st+3,st),Qe.primitiveLength+=4},ou.prototype.addDebugCollisionBoxes=function(y,I,U,J){for(var ne=y;ne<I;ne++){var fe=this.collisionBoxArray.get(ne),Fe=fe.x1,Qe=fe.y1,st=fe.x2,mt=fe.y2;this.addCollisionDebugVertices(Fe,Qe,st,mt,J?this.textCollisionBox:this.iconCollisionBox,fe.anchorPoint,U)}},ou.prototype.generateCollisionDebugBuffers=function(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new TS(aa,at.members,Po),this.iconCollisionBox=new TS(aa,at.members,Po);for(var y=0;y<this.symbolInstances.length;y++){var I=this.symbolInstances.get(y);this.addDebugCollisionBoxes(I.textBoxStartIndex,I.textBoxEndIndex,I,!0),this.addDebugCollisionBoxes(I.verticalTextBoxStartIndex,I.verticalTextBoxEndIndex,I,!0),this.addDebugCollisionBoxes(I.iconBoxStartIndex,I.iconBoxEndIndex,I,!1),this.addDebugCollisionBoxes(I.verticalIconBoxStartIndex,I.verticalIconBoxEndIndex,I,!1)}},ou.prototype._deserializeCollisionBoxesForSymbol=function(y,I,U,J,ne,fe,Fe,Qe,st){for(var mt={},Xt=I;Xt<U;Xt++){var ur=y.get(Xt);mt.textBox={x1:ur.x1,y1:ur.y1,x2:ur.x2,y2:ur.y2,anchorPointX:ur.anchorPointX,anchorPointY:ur.anchorPointY},mt.textFeatureIndex=ur.featureIndex;break}for(var nr=J;nr<ne;nr++){var Lr=y.get(nr);mt.verticalTextBox={x1:Lr.x1,y1:Lr.y1,x2:Lr.x2,y2:Lr.y2,anchorPointX:Lr.anchorPointX,anchorPointY:Lr.anchorPointY},mt.verticalTextFeatureIndex=Lr.featureIndex;break}for(var Yr=fe;Yr<Fe;Yr++){var _i=y.get(Yr);mt.iconBox={x1:_i.x1,y1:_i.y1,x2:_i.x2,y2:_i.y2,anchorPointX:_i.anchorPointX,anchorPointY:_i.anchorPointY},mt.iconFeatureIndex=_i.featureIndex;break}for(var si=Qe;si<st;si++){var Hi=y.get(si);mt.verticalIconBox={x1:Hi.x1,y1:Hi.y1,x2:Hi.x2,y2:Hi.y2,anchorPointX:Hi.anchorPointX,anchorPointY:Hi.anchorPointY},mt.verticalIconFeatureIndex=Hi.featureIndex;break}return mt},ou.prototype.deserializeCollisionBoxes=function(y){this.collisionArrays=[];for(var I=0;I<this.symbolInstances.length;I++){var U=this.symbolInstances.get(I);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(y,U.textBoxStartIndex,U.textBoxEndIndex,U.verticalTextBoxStartIndex,U.verticalTextBoxEndIndex,U.iconBoxStartIndex,U.iconBoxEndIndex,U.verticalIconBoxStartIndex,U.verticalIconBoxEndIndex))}},ou.prototype.hasTextData=function(){return this.text.segments.get().length>0},ou.prototype.hasIconData=function(){return this.icon.segments.get().length>0},ou.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},ou.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},ou.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},ou.prototype.addIndicesForPlacedSymbol=function(y,I){for(var U=y.placedSymbolArray.get(I),J=U.vertexStartIndex+U.numGlyphs*4,ne=U.vertexStartIndex;ne<J;ne+=4)y.indexArray.emplaceBack(ne,ne+1,ne+2),y.indexArray.emplaceBack(ne+1,ne+2,ne+3)},ou.prototype.getSortedSymbolIndexes=function(y){if(this.sortedAngle===y&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;for(var I=Math.sin(y),U=Math.cos(y),J=[],ne=[],fe=[],Fe=0;Fe<this.symbolInstances.length;++Fe){fe.push(Fe);var Qe=this.symbolInstances.get(Fe);J.push(Math.round(I*Qe.anchorX+U*Qe.anchorY)|0),ne.push(Qe.featureIndex)}return fe.sort(function(st,mt){return J[st]-J[mt]||ne[mt]-ne[st]}),fe},ou.prototype.addToSortKeyRanges=function(y,I){var U=this.sortKeyRanges[this.sortKeyRanges.length-1];U&&U.sortKey===I?U.symbolInstanceEnd=y+1:this.sortKeyRanges.push({sortKey:I,symbolInstanceStart:y,symbolInstanceEnd:y+1})},ou.prototype.sortFeatures=function(y){var I=this;if(this.sortFeaturesByY&&this.sortedAngle!==y&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(y),this.sortedAngle=y,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var U=0,J=this.symbolInstanceIndexes;U<J.length;U+=1){var ne=J[U],fe=this.symbolInstances.get(ne);this.featureSortOrder.push(fe.featureIndex),[fe.rightJustifiedTextSymbolIndex,fe.centerJustifiedTextSymbolIndex,fe.leftJustifiedTextSymbolIndex].forEach(function(Fe,Qe,st){Fe>=0&&st.indexOf(Fe)===Qe&&I.addIndicesForPlacedSymbol(I.text,Fe)}),fe.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,fe.verticalPlacedTextSymbolIndex),fe.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,fe.placedIconSymbolIndex),fe.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,fe.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},Z(\"SymbolBucket\",ou,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),ou.MAX_GLYPHS=65535,ou.addDynamicAttributes=oq;function _Qe(m,y){return y.replace(/{([^{}]+)}/g,function(I,U){return U in m?String(m[U]):\"\"})}var xQe=new Oi({\"symbol-placement\":new At(on.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new At(on.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new At(on.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new Er(on.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new At(on.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new At(on.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new At(on.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new At(on.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new At(on.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new Er(on.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new At(on.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new At(on.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new Er(on.layout_symbol[\"icon-image\"]),\"icon-rotate\":new Er(on.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new At(on.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new At(on.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new Er(on.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new Er(on.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new At(on.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new At(on.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new At(on.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new Er(on.layout_symbol[\"text-field\"]),\"text-font\":new Er(on.layout_symbol[\"text-font\"]),\"text-size\":new Er(on.layout_symbol[\"text-size\"]),\"text-max-width\":new Er(on.layout_symbol[\"text-max-width\"]),\"text-line-height\":new At(on.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new Er(on.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new Er(on.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new Er(on.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new At(on.layout_symbol[\"text-variable-anchor\"]),\"text-anchor\":new Er(on.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new At(on.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new At(on.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new Er(on.layout_symbol[\"text-rotate\"]),\"text-padding\":new At(on.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new At(on.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new Er(on.layout_symbol[\"text-transform\"]),\"text-offset\":new Er(on.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new At(on.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new At(on.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new At(on.layout_symbol[\"text-optional\"])}),bQe=new Oi({\"icon-opacity\":new Er(on.paint_symbol[\"icon-opacity\"]),\"icon-color\":new Er(on.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new Er(on.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new Er(on.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new Er(on.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new At(on.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new At(on.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new Er(on.paint_symbol[\"text-opacity\"]),\"text-color\":new Er(on.paint_symbol[\"text-color\"],{runtimeType:Tl,getOverride:function(m){return m.textColor},hasOverride:function(m){return!!m.textColor}}),\"text-halo-color\":new Er(on.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new Er(on.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new Er(on.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new At(on.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new At(on.paint_symbol[\"text-translate-anchor\"])}),sq={paint:bQe,layout:xQe},Yw=function(y){this.type=y.property.overrides?y.property.overrides.runtimeType:Ec,this.defaultValue=y};Yw.prototype.evaluate=function(y){if(y.formattedSection){var I=this.defaultValue.property.overrides;if(I&&I.hasOverride(y.formattedSection))return I.getOverride(y.formattedSection)}return y.feature&&y.featureState?this.defaultValue.evaluate(y.feature,y.featureState):this.defaultValue.property.specification.default},Yw.prototype.eachChild=function(y){if(!this.defaultValue.isConstant()){var I=this.defaultValue.value;y(I._styleExpression.expression)}},Yw.prototype.outputDefined=function(){return!1},Yw.prototype.serialize=function(){return null},Z(\"FormatSectionOverride\",Yw,{omit:[\"defaultValue\"]});var wQe=function(m){function y(I){m.call(this,I,sq)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.recalculate=function(U,J){if(m.prototype.recalculate.call(this,U,J),this.layout.get(\"icon-rotation-alignment\")===\"auto\"&&(this.layout.get(\"symbol-placement\")!==\"point\"?this.layout._values[\"icon-rotation-alignment\"]=\"map\":this.layout._values[\"icon-rotation-alignment\"]=\"viewport\"),this.layout.get(\"text-rotation-alignment\")===\"auto\"&&(this.layout.get(\"symbol-placement\")!==\"point\"?this.layout._values[\"text-rotation-alignment\"]=\"map\":this.layout._values[\"text-rotation-alignment\"]=\"viewport\"),this.layout.get(\"text-pitch-alignment\")===\"auto\"&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")),this.layout.get(\"icon-pitch-alignment\")===\"auto\"&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),this.layout.get(\"symbol-placement\")===\"point\"){var ne=this.layout.get(\"text-writing-mode\");if(ne){for(var fe=[],Fe=0,Qe=ne;Fe<Qe.length;Fe+=1){var st=Qe[Fe];fe.indexOf(st)<0&&fe.push(st)}this.layout._values[\"text-writing-mode\"]=fe}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]}this._setPaintOverrides()},y.prototype.getValueAndResolveTokens=function(U,J,ne,fe){var Fe=this.layout.get(U).evaluate(J,{},ne,fe),Qe=this._unevaluatedLayout._values[U];return!Qe.isDataDriven()&&!Da(Qe.value)&&Fe?_Qe(J.properties,Fe):Fe},y.prototype.createBucket=function(U){return new ou(U)},y.prototype.queryRadius=function(){return 0},y.prototype.queryIntersectsFeature=function(){return!1},y.prototype._setPaintOverrides=function(){for(var U=0,J=sq.paint.overridableProperties;U<J.length;U+=1){var ne=J[U];if(y.hasPaintOverride(this.layout,ne)){var fe=this.paint.get(ne),Fe=new Yw(fe),Qe=new Dc(Fe,fe.property.specification),st=null;fe.value.kind===\"constant\"||fe.value.kind===\"source\"?st=new Jc(\"source\",Qe):st=new yc(\"composite\",Qe,fe.value.zoomStops,fe.value._interpolationType),this.paint._values[ne]=new dl(fe.property,st,fe.parameters)}}},y.prototype._handleOverridablePaintPropertyUpdate=function(U,J,ne){return!this.layout||J.isDataDriven()||ne.isDataDriven()?!1:y.hasPaintOverride(this.layout,U)},y.hasPaintOverride=function(U,J){var ne=U.get(\"text-field\"),fe=sq.paint.properties[J],Fe=!1,Qe=function(Xt){for(var ur=0,nr=Xt;ur<nr.length;ur+=1){var Lr=nr[ur];if(fe.overrides&&fe.overrides.hasOverride(Lr)){Fe=!0;return}}};if(ne.value.kind===\"constant\"&&ne.value.value instanceof Vl)Qe(ne.value.value.sections);else if(ne.value.kind===\"source\"){var st=function(Xt){if(!Fe)if(Xt instanceof hs&&ws(Xt.value)===Al){var ur=Xt.value;Qe(ur.sections)}else Xt instanceof ec?Qe(Xt.sections):Xt.eachChild(st)},mt=ne.value;mt._styleExpression&&st(mt._styleExpression.expression)}return Fe},y}(cn),TQe=new Oi({\"background-color\":new At(on.paint_background[\"background-color\"]),\"background-pattern\":new wi(on.paint_background[\"background-pattern\"]),\"background-opacity\":new At(on.paint_background[\"background-opacity\"])}),AQe={paint:TQe},SQe=function(m){function y(I){m.call(this,I,AQe)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(cn),MQe=new Oi({\"raster-opacity\":new At(on.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new At(on.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new At(on.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new At(on.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new At(on.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new At(on.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new At(on.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new At(on.paint_raster[\"raster-fade-duration\"])}),EQe={paint:MQe},kQe=function(m){function y(I){m.call(this,I,EQe)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(cn);function CQe(m){var y=[],I=m.id;return I===void 0&&y.push({message:\"layers.\"+I+': missing required property \"id\"'}),m.render===void 0&&y.push({message:\"layers.\"+I+': missing required method \"render\"'}),m.renderingMode&&m.renderingMode!==\"2d\"&&m.renderingMode!==\"3d\"&&y.push({message:\"layers.\"+I+': property \"renderingMode\" must be either \"2d\" or \"3d\"'}),y}var LQe=function(m){function y(I){m.call(this,I,{}),this.implementation=I}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.is3D=function(){return this.implementation.renderingMode===\"3d\"},y.prototype.hasOffscreenPass=function(){return this.implementation.prerender!==void 0},y.prototype.recalculate=function(){},y.prototype.updateTransitions=function(){},y.prototype.hasTransition=function(){},y.prototype.serialize=function(){},y.prototype.onAdd=function(U){this.implementation.onAdd&&this.implementation.onAdd(U,U.painter.context.gl)},y.prototype.onRemove=function(U){this.implementation.onRemove&&this.implementation.onRemove(U,U.painter.context.gl)},y}(cn),PQe={circle:O9,heatmap:Lw,hillshade:dC,fill:Qx,\"fill-extrusion\":fm,line:S,symbol:wQe,background:SQe,raster:kQe};function IQe(m){return m.type===\"custom\"?new LQe(m):new PQe[m.type](m)}var IQ=f.HTMLImageElement,RQ=f.HTMLCanvasElement,DQ=f.HTMLVideoElement,zQ=f.ImageData,XC=f.ImageBitmap,ib=function(y,I,U,J){this.context=y,this.format=U,this.texture=y.gl.createTexture(),this.update(I,J)};ib.prototype.update=function(y,I,U){var J=y.width,ne=y.height,fe=(!this.size||this.size[0]!==J||this.size[1]!==ne)&&!U,Fe=this,Qe=Fe.context,st=Qe.gl;if(this.useMipmap=!!(I&&I.useMipmap),st.bindTexture(st.TEXTURE_2D,this.texture),Qe.pixelStoreUnpackFlipY.set(!1),Qe.pixelStoreUnpack.set(1),Qe.pixelStoreUnpackPremultiplyAlpha.set(this.format===st.RGBA&&(!I||I.premultiply!==!1)),fe)this.size=[J,ne],y instanceof IQ||y instanceof RQ||y instanceof DQ||y instanceof zQ||XC&&y instanceof XC?st.texImage2D(st.TEXTURE_2D,0,this.format,this.format,st.UNSIGNED_BYTE,y):st.texImage2D(st.TEXTURE_2D,0,this.format,J,ne,0,this.format,st.UNSIGNED_BYTE,y.data);else{var mt=U||{x:0,y:0},Xt=mt.x,ur=mt.y;y instanceof IQ||y instanceof RQ||y instanceof DQ||y instanceof zQ||XC&&y instanceof XC?st.texSubImage2D(st.TEXTURE_2D,0,Xt,ur,st.RGBA,st.UNSIGNED_BYTE,y):st.texSubImage2D(st.TEXTURE_2D,0,Xt,ur,J,ne,st.RGBA,st.UNSIGNED_BYTE,y.data)}this.useMipmap&&this.isSizePowerOfTwo()&&st.generateMipmap(st.TEXTURE_2D)},ib.prototype.bind=function(y,I,U){var J=this,ne=J.context,fe=ne.gl;fe.bindTexture(fe.TEXTURE_2D,this.texture),U===fe.LINEAR_MIPMAP_NEAREST&&!this.isSizePowerOfTwo()&&(U=fe.LINEAR),y!==this.filter&&(fe.texParameteri(fe.TEXTURE_2D,fe.TEXTURE_MAG_FILTER,y),fe.texParameteri(fe.TEXTURE_2D,fe.TEXTURE_MIN_FILTER,U||y),this.filter=y),I!==this.wrap&&(fe.texParameteri(fe.TEXTURE_2D,fe.TEXTURE_WRAP_S,I),fe.texParameteri(fe.TEXTURE_2D,fe.TEXTURE_WRAP_T,I),this.wrap=I)},ib.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1===0},ib.prototype.destroy=function(){var y=this.context,I=y.gl;I.deleteTexture(this.texture),this.texture=null};var lq=function(y){var I=this;this._callback=y,this._triggered=!1,typeof MessageChannel!=\"undefined\"&&(this._channel=new MessageChannel,this._channel.port2.onmessage=function(){I._triggered=!1,I._callback()})};lq.prototype.trigger=function(){var y=this;this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(function(){y._triggered=!1,y._callback()},0))},lq.prototype.remove=function(){delete this._channel,this._callback=function(){}};var Kw=function(y,I,U){this.target=y,this.parent=I,this.mapId=U,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},q([\"receive\",\"process\"],this),this.invoker=new lq(this.process),this.target.addEventListener(\"message\",this.receive,!1),this.globalScope=ke()?y:f};Kw.prototype.send=function(y,I,U,J,ne){var fe=this;ne===void 0&&(ne=!1);var Fe=Math.round(Math.random()*1e18).toString(36).substring(0,10);U&&(this.callbacks[Fe]=U);var Qe=Te(this.globalScope)?void 0:[];return this.target.postMessage({id:Fe,type:y,hasCallback:!!U,targetMapId:J,mustQueue:ne,sourceMapId:this.mapId,data:Ue(I,Qe)},Qe),{cancel:function(){U&&delete fe.callbacks[Fe],fe.target.postMessage({id:Fe,type:\"<cancel>\",targetMapId:J,sourceMapId:fe.mapId})}}},Kw.prototype.receive=function(y){var I=y.data,U=I.id;if(U&&!(I.targetMapId&&this.mapId!==I.targetMapId))if(I.type===\"<cancel>\"){delete this.tasks[U];var J=this.cancelCallbacks[U];delete this.cancelCallbacks[U],J&&J()}else ke()||I.mustQueue?(this.tasks[U]=I,this.taskQueue.push(U),this.invoker.trigger()):this.processTask(U,I)},Kw.prototype.process=function(){if(this.taskQueue.length){var y=this.taskQueue.shift(),I=this.tasks[y];delete this.tasks[y],this.taskQueue.length&&this.invoker.trigger(),I&&this.processTask(y,I)}},Kw.prototype.processTask=function(y,I){var U=this;if(I.type===\"<response>\"){var J=this.callbacks[y];delete this.callbacks[y],J&&(I.error?J(We(I.error)):J(null,We(I.data)))}else{var ne=!1,fe=Te(this.globalScope)?void 0:[],Fe=I.hasCallback?function(ur,nr){ne=!0,delete U.cancelCallbacks[y],U.target.postMessage({id:y,type:\"<response>\",sourceMapId:U.mapId,error:ur?Ue(ur):null,data:Ue(nr,fe)},fe)}:function(ur){ne=!0},Qe=null,st=We(I.data);if(this.parent[I.type])Qe=this.parent[I.type](I.sourceMapId,st,Fe);else if(this.parent.getWorkerSource){var mt=I.type.split(\".\"),Xt=this.parent.getWorkerSource(I.sourceMapId,mt[0],st.source);Qe=Xt[mt[1]](st,Fe)}else Fe(new Error(\"Could not find function \"+I.type));!ne&&Qe&&Qe.cancel&&(this.cancelCallbacks[y]=Qe.cancel)}},Kw.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1)};function RQe(m,y,I){y=Math.pow(2,I)-y-1;var U=FQ(m*256,y*256,I),J=FQ((m+1)*256,(y+1)*256,I);return U[0]+\",\"+U[1]+\",\"+J[0]+\",\"+J[1]}function FQ(m,y,I){var U=2*Math.PI*6378137/256/Math.pow(2,I),J=m*U-2*Math.PI*6378137/2,ne=y*U-2*Math.PI*6378137/2;return[J,ne]}var jf=function(y,I){y&&(I?this.setSouthWest(y).setNorthEast(I):y.length===4?this.setSouthWest([y[0],y[1]]).setNorthEast([y[2],y[3]]):this.setSouthWest(y[0]).setNorthEast(y[1]))};jf.prototype.setNorthEast=function(y){return this._ne=y instanceof sc?new sc(y.lng,y.lat):sc.convert(y),this},jf.prototype.setSouthWest=function(y){return this._sw=y instanceof sc?new sc(y.lng,y.lat):sc.convert(y),this},jf.prototype.extend=function(y){var I=this._sw,U=this._ne,J,ne;if(y instanceof sc)J=y,ne=y;else if(y instanceof jf){if(J=y._sw,ne=y._ne,!J||!ne)return this}else{if(Array.isArray(y))if(y.length===4||y.every(Array.isArray)){var fe=y;return this.extend(jf.convert(fe))}else{var Fe=y;return this.extend(sc.convert(Fe))}return this}return!I&&!U?(this._sw=new sc(J.lng,J.lat),this._ne=new sc(ne.lng,ne.lat)):(I.lng=Math.min(J.lng,I.lng),I.lat=Math.min(J.lat,I.lat),U.lng=Math.max(ne.lng,U.lng),U.lat=Math.max(ne.lat,U.lat)),this},jf.prototype.getCenter=function(){return new sc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},jf.prototype.getSouthWest=function(){return this._sw},jf.prototype.getNorthEast=function(){return this._ne},jf.prototype.getNorthWest=function(){return new sc(this.getWest(),this.getNorth())},jf.prototype.getSouthEast=function(){return new sc(this.getEast(),this.getSouth())},jf.prototype.getWest=function(){return this._sw.lng},jf.prototype.getSouth=function(){return this._sw.lat},jf.prototype.getEast=function(){return this._ne.lng},jf.prototype.getNorth=function(){return this._ne.lat},jf.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},jf.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},jf.prototype.isEmpty=function(){return!(this._sw&&this._ne)},jf.prototype.contains=function(y){var I=sc.convert(y),U=I.lng,J=I.lat,ne=this._sw.lat<=J&&J<=this._ne.lat,fe=this._sw.lng<=U&&U<=this._ne.lng;return this._sw.lng>this._ne.lng&&(fe=this._sw.lng>=U&&U>=this._ne.lng),ne&&fe},jf.convert=function(y){return!y||y instanceof jf?y:new jf(y)};var qQ=63710088e-1,sc=function(y,I){if(isNaN(y)||isNaN(I))throw new Error(\"Invalid LngLat object: (\"+y+\", \"+I+\")\");if(this.lng=+y,this.lat=+I,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};sc.prototype.wrap=function(){return new sc(E(this.lng,-180,180),this.lat)},sc.prototype.toArray=function(){return[this.lng,this.lat]},sc.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},sc.prototype.distanceTo=function(y){var I=Math.PI/180,U=this.lat*I,J=y.lat*I,ne=Math.sin(U)*Math.sin(J)+Math.cos(U)*Math.cos(J)*Math.cos((y.lng-this.lng)*I),fe=qQ*Math.acos(Math.min(ne,1));return fe},sc.prototype.toBounds=function(y){y===void 0&&(y=0);var I=40075017,U=360*y/I,J=U/Math.cos(Math.PI/180*this.lat);return new jf(new sc(this.lng-J,this.lat-U),new sc(this.lng+J,this.lat+U))},sc.convert=function(y){if(y instanceof sc)return y;if(Array.isArray(y)&&(y.length===2||y.length===3))return new sc(Number(y[0]),Number(y[1]));if(!Array.isArray(y)&&typeof y==\"object\"&&y!==null)return new sc(Number(\"lng\"in y?y.lng:y.lon),Number(y.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\")};var OQ=2*Math.PI*qQ;function BQ(m){return OQ*Math.cos(m*Math.PI/180)}function NQ(m){return(180+m)/360}function UQ(m){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+m*Math.PI/360)))/360}function VQ(m,y){return m/BQ(y)}function DQe(m){return m*360-180}function uq(m){var y=180-m*360;return 360/Math.PI*Math.atan(Math.exp(y*Math.PI/180))-90}function zQe(m,y){return m*BQ(uq(y))}function FQe(m){return 1/Math.cos(m*Math.PI/180)}var nb=function(y,I,U){U===void 0&&(U=0),this.x=+y,this.y=+I,this.z=+U};nb.fromLngLat=function(y,I){I===void 0&&(I=0);var U=sc.convert(y);return new nb(NQ(U.lng),UQ(U.lat),VQ(I,U.lat))},nb.prototype.toLngLat=function(){return new sc(DQe(this.x),uq(this.y))},nb.prototype.toAltitude=function(){return zQe(this.z,this.y)},nb.prototype.meterInMercatorCoordinateUnits=function(){return 1/OQ*FQe(uq(this.y))};var ab=function(y,I,U){this.z=y,this.x=I,this.y=U,this.key=AS(0,y,y,I,U)};ab.prototype.equals=function(y){return this.z===y.z&&this.x===y.x&&this.y===y.y},ab.prototype.url=function(y,I){var U=RQe(this.x,this.y,this.z),J=qQe(this.z,this.x,this.y);return y[(this.x+this.y)%y.length].replace(\"{prefix}\",(this.x%16).toString(16)+(this.y%16).toString(16)).replace(\"{z}\",String(this.z)).replace(\"{x}\",String(this.x)).replace(\"{y}\",String(I===\"tms\"?Math.pow(2,this.z)-this.y-1:this.y)).replace(\"{quadkey}\",J).replace(\"{bbox-epsg-3857}\",U)},ab.prototype.getTilePoint=function(y){var I=Math.pow(2,this.z);return new u((y.x*I-this.x)*rn,(y.y*I-this.y)*rn)},ab.prototype.toString=function(){return this.z+\"/\"+this.x+\"/\"+this.y};var HQ=function(y,I){this.wrap=y,this.canonical=I,this.key=AS(y,I.z,I.z,I.x,I.y)},Wf=function(y,I,U,J,ne){this.overscaledZ=y,this.wrap=I,this.canonical=new ab(U,+J,+ne),this.key=AS(I,y,U,J,ne)};Wf.prototype.equals=function(y){return this.overscaledZ===y.overscaledZ&&this.wrap===y.wrap&&this.canonical.equals(y.canonical)},Wf.prototype.scaledTo=function(y){var I=this.canonical.z-y;return y>this.canonical.z?new Wf(y,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Wf(y,this.wrap,y,this.canonical.x>>I,this.canonical.y>>I)},Wf.prototype.calculateScaledKey=function(y,I){var U=this.canonical.z-y;return y>this.canonical.z?AS(this.wrap*+I,y,this.canonical.z,this.canonical.x,this.canonical.y):AS(this.wrap*+I,y,y,this.canonical.x>>U,this.canonical.y>>U)},Wf.prototype.isChildOf=function(y){if(y.wrap!==this.wrap)return!1;var I=this.canonical.z-y.canonical.z;return y.overscaledZ===0||y.overscaledZ<this.overscaledZ&&y.canonical.x===this.canonical.x>>I&&y.canonical.y===this.canonical.y>>I},Wf.prototype.children=function(y){if(this.overscaledZ>=y)return[new Wf(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var I=this.canonical.z+1,U=this.canonical.x*2,J=this.canonical.y*2;return[new Wf(I,this.wrap,I,U,J),new Wf(I,this.wrap,I,U+1,J),new Wf(I,this.wrap,I,U,J+1),new Wf(I,this.wrap,I,U+1,J+1)]},Wf.prototype.isLessThan=function(y){return this.wrap<y.wrap?!0:this.wrap>y.wrap?!1:this.overscaledZ<y.overscaledZ?!0:this.overscaledZ>y.overscaledZ?!1:this.canonical.x<y.canonical.x?!0:this.canonical.x>y.canonical.x?!1:this.canonical.y<y.canonical.y},Wf.prototype.wrapped=function(){return new Wf(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},Wf.prototype.unwrapTo=function(y){return new Wf(this.overscaledZ,y,this.canonical.z,this.canonical.x,this.canonical.y)},Wf.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},Wf.prototype.toUnwrapped=function(){return new HQ(this.wrap,this.canonical)},Wf.prototype.toString=function(){return this.overscaledZ+\"/\"+this.canonical.x+\"/\"+this.canonical.y},Wf.prototype.getTilePoint=function(y){return this.canonical.getTilePoint(new nb(y.x-this.wrap,y.y))};function AS(m,y,I,U,J){m*=2,m<0&&(m=m*-1-1);var ne=1<<I;return(ne*ne*m+ne*J+U).toString(36)+I.toString(36)+y.toString(36)}function qQe(m,y,I){for(var U=\"\",J,ne=m;ne>0;ne--)J=1<<ne-1,U+=(y&J?1:0)+(I&J?2:0);return U}Z(\"CanonicalTileID\",ab),Z(\"OverscaledTileID\",Wf,{omit:[\"posMatrix\"]});var dy=function(y,I,U){if(this.uid=y,I.height!==I.width)throw new RangeError(\"DEM tiles must be square\");if(U&&U!==\"mapbox\"&&U!==\"terrarium\")return re('\"'+U+'\" is not a valid encoding type. Valid types include \"mapbox\" and \"terrarium\".');this.stride=I.height;var J=this.dim=I.height-2;this.data=new Uint32Array(I.data.buffer),this.encoding=U||\"mapbox\";for(var ne=0;ne<J;ne++)this.data[this._idx(-1,ne)]=this.data[this._idx(0,ne)],this.data[this._idx(J,ne)]=this.data[this._idx(J-1,ne)],this.data[this._idx(ne,-1)]=this.data[this._idx(ne,0)],this.data[this._idx(ne,J)]=this.data[this._idx(ne,J-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(J,-1)]=this.data[this._idx(J-1,0)],this.data[this._idx(-1,J)]=this.data[this._idx(0,J-1)],this.data[this._idx(J,J)]=this.data[this._idx(J-1,J-1)]};dy.prototype.get=function(y,I){var U=new Uint8Array(this.data.buffer),J=this._idx(y,I)*4,ne=this.encoding===\"terrarium\"?this._unpackTerrarium:this._unpackMapbox;return ne(U[J],U[J+1],U[J+2])},dy.prototype.getUnpackVector=function(){return this.encoding===\"terrarium\"?[256,1,1/256,32768]:[6553.6,25.6,.1,1e4]},dy.prototype._idx=function(y,I){if(y<-1||y>=this.dim+1||I<-1||I>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(I+1)*this.stride+(y+1)},dy.prototype._unpackMapbox=function(y,I,U){return(y*256*256+I*256+U)/10-1e4},dy.prototype._unpackTerrarium=function(y,I,U){return y*256+I+U/256-32768},dy.prototype.getPixels=function(){return new lh({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},dy.prototype.backfillBorder=function(y,I,U){if(this.dim!==y.dim)throw new Error(\"dem dimension mismatch\");var J=I*this.dim,ne=I*this.dim+this.dim,fe=U*this.dim,Fe=U*this.dim+this.dim;switch(I){case-1:J=ne-1;break;case 1:ne=J+1;break}switch(U){case-1:fe=Fe-1;break;case 1:Fe=fe+1;break}for(var Qe=-I*this.dim,st=-U*this.dim,mt=fe;mt<Fe;mt++)for(var Xt=J;Xt<ne;Xt++)this.data[this._idx(Xt,mt)]=y.data[this._idx(Xt+Qe,mt+st)]},Z(\"DEMData\",dy);function OQe(m,y){var I={};if(!y)return I;for(var U=function(){var fe=ne[J],Fe=fe.layerIds.map(function(Xt){return y.getLayer(Xt)}).filter(Boolean);if(Fe.length!==0){fe.layers=Fe,fe.stateDependentLayerIds&&(fe.stateDependentLayers=fe.stateDependentLayerIds.map(function(Xt){return Fe.filter(function(ur){return ur.id===Xt})[0]}));for(var Qe=0,st=Fe;Qe<st.length;Qe+=1){var mt=st[Qe];I[mt.id]=fe}}},J=0,ne=m;J<ne.length;J+=1)U();return I}var YC=function(y){this._stringToNumber={},this._numberToString=[];for(var I=0;I<y.length;I++){var U=y[I];this._stringToNumber[U]=I,this._numberToString[I]=U}};YC.prototype.encode=function(y){return this._stringToNumber[y]},YC.prototype.decode=function(y){return this._numberToString[y]};var KC=function(y,I,U,J,ne){this.type=\"Feature\",this._vectorTileFeature=y,y._z=I,y._x=U,y._y=J,this.properties=y.properties,this.id=ne},cq={geometry:{configurable:!0}};cq.geometry.get=function(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},cq.geometry.set=function(m){this._geometry=m},KC.prototype.toJSON=function(){var y={geometry:this.geometry};for(var I in this)I===\"_geometry\"||I===\"_vectorTileFeature\"||(y[I]=this[I]);return y},Object.defineProperties(KC.prototype,cq);var Jw=function(){this.state={},this.stateChanges={},this.deletedStates={}};Jw.prototype.updateState=function(y,I,U){var J=String(I);if(this.stateChanges[y]=this.stateChanges[y]||{},this.stateChanges[y][J]=this.stateChanges[y][J]||{},_(this.stateChanges[y][J],U),this.deletedStates[y]===null){this.deletedStates[y]={};for(var ne in this.state[y])ne!==J&&(this.deletedStates[y][ne]=null)}else{var fe=this.deletedStates[y]&&this.deletedStates[y][J]===null;if(fe){this.deletedStates[y][J]={};for(var Fe in this.state[y][J])U[Fe]||(this.deletedStates[y][J][Fe]=null)}else for(var Qe in U){var st=this.deletedStates[y]&&this.deletedStates[y][J]&&this.deletedStates[y][J][Qe]===null;st&&delete this.deletedStates[y][J][Qe]}}},Jw.prototype.removeFeatureState=function(y,I,U){var J=this.deletedStates[y]===null;if(!J){var ne=String(I);if(this.deletedStates[y]=this.deletedStates[y]||{},U&&I!==void 0)this.deletedStates[y][ne]!==null&&(this.deletedStates[y][ne]=this.deletedStates[y][ne]||{},this.deletedStates[y][ne][U]=null);else if(I!==void 0){var fe=this.stateChanges[y]&&this.stateChanges[y][ne];if(fe){this.deletedStates[y][ne]={};for(U in this.stateChanges[y][ne])this.deletedStates[y][ne][U]=null}else this.deletedStates[y][ne]=null}else this.deletedStates[y]=null}},Jw.prototype.getState=function(y,I){var U=String(I),J=this.state[y]||{},ne=this.stateChanges[y]||{},fe=_({},J[U],ne[U]);if(this.deletedStates[y]===null)return{};if(this.deletedStates[y]){var Fe=this.deletedStates[y][I];if(Fe===null)return{};for(var Qe in Fe)delete fe[Qe]}return fe},Jw.prototype.initializeTileState=function(y,I){y.setFeatureState(this.state,I)},Jw.prototype.coalesceChanges=function(y,I){var U={};for(var J in this.stateChanges){this.state[J]=this.state[J]||{};var ne={};for(var fe in this.stateChanges[J])this.state[J][fe]||(this.state[J][fe]={}),_(this.state[J][fe],this.stateChanges[J][fe]),ne[fe]=this.state[J][fe];U[J]=ne}for(var Fe in this.deletedStates){this.state[Fe]=this.state[Fe]||{};var Qe={};if(this.deletedStates[Fe]===null)for(var st in this.state[Fe])Qe[st]={},this.state[Fe][st]={};else for(var mt in this.deletedStates[Fe]){var Xt=this.deletedStates[Fe][mt]===null;if(Xt)this.state[Fe][mt]={};else for(var ur=0,nr=Object.keys(this.deletedStates[Fe][mt]);ur<nr.length;ur+=1){var Lr=nr[ur];delete this.state[Fe][mt][Lr]}Qe[mt]=this.state[Fe][mt]}U[Fe]=U[Fe]||{},_(U[Fe],Qe)}if(this.stateChanges={},this.deletedStates={},Object.keys(U).length!==0)for(var Yr in y){var _i=y[Yr];_i.setFeatureState(U,I)}};var vy=function(y,I){this.tileID=y,this.x=y.canonical.x,this.y=y.canonical.y,this.z=y.canonical.z,this.grid=new cu(rn,16,0),this.grid3D=new cu(rn,16,0),this.featureIndexArray=new ef,this.promoteId=I};vy.prototype.insert=function(y,I,U,J,ne,fe){var Fe=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(U,J,ne);for(var Qe=fe?this.grid3D:this.grid,st=0;st<I.length;st++){for(var mt=I[st],Xt=[1/0,1/0,-1/0,-1/0],ur=0;ur<mt.length;ur++){var nr=mt[ur];Xt[0]=Math.min(Xt[0],nr.x),Xt[1]=Math.min(Xt[1],nr.y),Xt[2]=Math.max(Xt[2],nr.x),Xt[3]=Math.max(Xt[3],nr.y)}Xt[0]<rn&&Xt[1]<rn&&Xt[2]>=0&&Xt[3]>=0&&Qe.insert(Fe,Xt[0],Xt[1],Xt[2],Xt[3])}},vy.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new pg.VectorTile(new La(this.rawTileData)).layers,this.sourceLayerCoder=new YC(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers},vy.prototype.query=function(y,I,U,J){var ne=this;this.loadVTLayers();for(var fe=y.params||{},Fe=rn/y.tileSize/y.scale,Qe=be(fe.filter),st=y.queryGeometry,mt=y.queryPadding*Fe,Xt=jQ(st),ur=this.grid.query(Xt.minX-mt,Xt.minY-mt,Xt.maxX+mt,Xt.maxY+mt),nr=jQ(y.cameraQueryGeometry),Lr=this.grid3D.query(nr.minX-mt,nr.minY-mt,nr.maxX+mt,nr.maxY+mt,function(An,ra,$n,Ba){return pp(y.cameraQueryGeometry,An-mt,ra-mt,$n+mt,Ba+mt)}),Yr=0,_i=Lr;Yr<_i.length;Yr+=1){var si=_i[Yr];ur.push(si)}ur.sort(BQe);for(var Hi={},Ei,Vi=function(An){var ra=ur[An];if(ra!==Ei){Ei=ra;var $n=ne.featureIndexArray.get(ra),Ba=null;ne.loadMatchingFeature(Hi,$n.bucketIndex,$n.sourceLayerIndex,$n.featureIndex,Qe,fe.layers,fe.availableImages,I,U,J,function(_a,Pa,qo){return Ba||(Ba=da(_a)),Pa.queryIntersectsFeature(st,_a,qo,Ba,ne.z,y.transform,Fe,y.pixelPosMatrix)})}},en=0;en<ur.length;en++)Vi(en);return Hi},vy.prototype.loadMatchingFeature=function(y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt){var ur=this.bucketLayerIDs[I];if(!(fe&&!N(fe,ur))){var nr=this.sourceLayerCoder.decode(U),Lr=this.vtLayers[nr],Yr=Lr.feature(J);if(ne.needGeometry){var _i=No(Yr,!0);if(!ne.filter(new pn(this.tileID.overscaledZ),_i,this.tileID.canonical))return}else if(!ne.filter(new pn(this.tileID.overscaledZ),Yr))return;for(var si=this.getId(Yr,nr),Hi=0;Hi<ur.length;Hi++){var Ei=ur[Hi];if(!(fe&&fe.indexOf(Ei)<0)){var Vi=Qe[Ei];if(Vi){var en={};si!==void 0&&mt&&(en=mt.getState(Vi.sourceLayer||\"_geojsonTileLayer\",si));var An=_({},st[Ei]);An.paint=GQ(An.paint,Vi.paint,Yr,en,Fe),An.layout=GQ(An.layout,Vi.layout,Yr,en,Fe);var ra=!Xt||Xt(Yr,Vi,en);if(ra){var $n=new KC(Yr,this.z,this.x,this.y,si);$n.layer=An;var Ba=y[Ei];Ba===void 0&&(Ba=y[Ei]=[]),Ba.push({featureIndex:J,feature:$n,intersectionZ:ra})}}}}}},vy.prototype.lookupSymbolFeatures=function(y,I,U,J,ne,fe,Fe,Qe){var st={};this.loadVTLayers();for(var mt=be(ne),Xt=0,ur=y;Xt<ur.length;Xt+=1){var nr=ur[Xt];this.loadMatchingFeature(st,U,J,nr,mt,fe,Fe,Qe,I)}return st},vy.prototype.hasLayer=function(y){for(var I=0,U=this.bucketLayerIDs;I<U.length;I+=1)for(var J=U[I],ne=0,fe=J;ne<fe.length;ne+=1){var Fe=fe[ne];if(y===Fe)return!0}return!1},vy.prototype.getId=function(y,I){var U=y.id;if(this.promoteId){var J=typeof this.promoteId==\"string\"?this.promoteId:this.promoteId[I];U=y.properties[J],typeof U==\"boolean\"&&(U=Number(U))}return U},Z(\"FeatureIndex\",vy,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});function GQ(m,y,I,U,J){return H(m,function(ne,fe){var Fe=y instanceof xc?y.get(fe):null;return Fe&&Fe.evaluate?Fe.evaluate(I,U,J):Fe})}function jQ(m){for(var y=1/0,I=1/0,U=-1/0,J=-1/0,ne=0,fe=m;ne<fe.length;ne+=1){var Fe=fe[ne];y=Math.min(y,Fe.x),I=Math.min(I,Fe.y),U=Math.max(U,Fe.x),J=Math.max(J,Fe.y)}return{minX:y,minY:I,maxX:U,maxY:J}}function BQe(m,y){return y-m}var NQe=3e4,Fh=function(y,I){this.tileID=y,this.uid=g(),this.uses=0,this.tileSize=I,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.expiredRequestCount=0,this.state=\"loading\"};Fh.prototype.registerFadeDuration=function(y){var I=y+this.timeAdded;I<nt.now()||this.fadeEndTime&&I<this.fadeEndTime||(this.fadeEndTime=I)},Fh.prototype.wasRequested=function(){return this.state===\"errored\"||this.state===\"loaded\"||this.state===\"reloading\"},Fh.prototype.loadVectorData=function(y,I,U){if(this.hasData()&&this.unloadVectorData(),this.state=\"loaded\",!y){this.collisionBoxArray=new xs;return}y.featureIndex&&(this.latestFeatureIndex=y.featureIndex,y.rawTileData?(this.latestRawTileData=y.rawTileData,this.latestFeatureIndex.rawTileData=y.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=y.collisionBoxArray,this.buckets=OQe(y.buckets,I.style),this.hasSymbolBuckets=!1;for(var J in this.buckets){var ne=this.buckets[J];if(ne instanceof ou)if(this.hasSymbolBuckets=!0,U)ne.justReloaded=!0;else break}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(var fe in this.buckets){var Fe=this.buckets[fe];if(Fe instanceof ou&&Fe.hasRTLText){this.hasRTLText=!0,Ns();break}}this.queryPadding=0;for(var Qe in this.buckets){var st=this.buckets[Qe];this.queryPadding=Math.max(this.queryPadding,I.style.getLayer(Qe).queryRadius(st))}y.imageAtlas&&(this.imageAtlas=y.imageAtlas),y.glyphAtlasImage&&(this.glyphAtlasImage=y.glyphAtlasImage)},Fh.prototype.unloadVectorData=function(){for(var y in this.buckets)this.buckets[y].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\"},Fh.prototype.getBucket=function(y){return this.buckets[y.id]},Fh.prototype.upload=function(y){for(var I in this.buckets){var U=this.buckets[I];U.uploadPending()&&U.upload(y)}var J=y.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new ib(y,this.imageAtlas.image,J.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new ib(y,this.glyphAtlasImage,J.ALPHA),this.glyphAtlasImage=null)},Fh.prototype.prepare=function(y){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(y,this.imageAtlasTexture)},Fh.prototype.queryRenderedFeatures=function(y,I,U,J,ne,fe,Fe,Qe,st,mt){return!this.latestFeatureIndex||!this.latestFeatureIndex.rawTileData?{}:this.latestFeatureIndex.query({queryGeometry:J,cameraQueryGeometry:ne,scale:fe,tileSize:this.tileSize,pixelPosMatrix:mt,transform:Qe,params:Fe,queryPadding:this.queryPadding*st},y,I,U)},Fh.prototype.querySourceFeatures=function(y,I){var U=this.latestFeatureIndex;if(!(!U||!U.rawTileData)){var J=U.loadVTLayers(),ne=I?I.sourceLayer:\"\",fe=J._geojsonTileLayer||J[ne];if(fe)for(var Fe=be(I&&I.filter),Qe=this.tileID.canonical,st=Qe.z,mt=Qe.x,Xt=Qe.y,ur={z:st,x:mt,y:Xt},nr=0;nr<fe.length;nr++){var Lr=fe.feature(nr);if(Fe.needGeometry){var Yr=No(Lr,!0);if(!Fe.filter(new pn(this.tileID.overscaledZ),Yr,this.tileID.canonical))continue}else if(!Fe.filter(new pn(this.tileID.overscaledZ),Lr))continue;var _i=U.getId(Lr,ne),si=new KC(Lr,st,mt,Xt,_i);si.tile=ur,y.push(si)}}},Fh.prototype.hasData=function(){return this.state===\"loaded\"||this.state===\"reloading\"||this.state===\"expired\"},Fh.prototype.patternsLoaded=function(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length},Fh.prototype.setExpiryData=function(y){var I=this.expirationTime;if(y.cacheControl){var U=ge(y.cacheControl);U[\"max-age\"]&&(this.expirationTime=Date.now()+U[\"max-age\"]*1e3)}else y.expires&&(this.expirationTime=new Date(y.expires).getTime());if(this.expirationTime){var J=Date.now(),ne=!1;if(this.expirationTime>J)ne=!1;else if(!I)ne=!0;else if(this.expirationTime<I)ne=!0;else{var fe=this.expirationTime-I;fe?this.expirationTime=J+Math.max(fe,NQe):ne=!0}ne?(this.expiredRequestCount++,this.state=\"expired\"):this.expiredRequestCount=0}},Fh.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-new Date().getTime(),Math.pow(2,31)-1)},Fh.prototype.setFeatureState=function(y,I){if(!(!this.latestFeatureIndex||!this.latestFeatureIndex.rawTileData||Object.keys(y).length===0)){var U=this.latestFeatureIndex.loadVTLayers();for(var J in this.buckets)if(I.style.hasLayer(J)){var ne=this.buckets[J],fe=ne.layers[0].sourceLayer||\"_geojsonTileLayer\",Fe=U[fe],Qe=y[fe];if(!(!Fe||!Qe||Object.keys(Qe).length===0)){ne.update(Qe,Fe,this.imageAtlas&&this.imageAtlas.patternPositions||{});var st=I&&I.style&&I.style.getLayer(J);st&&(this.queryPadding=Math.max(this.queryPadding,st.queryRadius(ne)))}}}},Fh.prototype.holdingForFade=function(){return this.symbolFadeHoldUntil!==void 0},Fh.prototype.symbolFadeFinished=function(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<nt.now()},Fh.prototype.clearFadeHold=function(){this.symbolFadeHoldUntil=void 0},Fh.prototype.setHoldDuration=function(y){this.symbolFadeHoldUntil=nt.now()+y},Fh.prototype.setDependencies=function(y,I){for(var U={},J=0,ne=I;J<ne.length;J+=1){var fe=ne[J];U[fe]=!0}this.dependencies[y]=U},Fh.prototype.hasDependency=function(y,I){for(var U=0,J=y;U<J.length;U+=1){var ne=J[U],fe=this.dependencies[ne];if(fe)for(var Fe=0,Qe=I;Fe<Qe.length;Fe+=1){var st=Qe[Fe];if(fe[st])return!0}}return!1};var UQe=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"],z1=f.performance,WQ=function(y){this._marks={start:[y.url,\"start\"].join(\"#\"),end:[y.url,\"end\"].join(\"#\"),measure:y.url.toString()},z1.mark(this._marks.start)};WQ.prototype.finish=function(){z1.mark(this._marks.end);var y=z1.getEntriesByName(this._marks.measure);return y.length===0&&(z1.measure(this._marks.measure,this._marks.start,this._marks.end),y=z1.getEntriesByName(this._marks.measure),z1.clearMarks(this._marks.start),z1.clearMarks(this._marks.end),z1.clearMeasures(this._marks.measure)),y},i.Actor=Kw,i.AlphaImage=Pv,i.CanonicalTileID=ab,i.CollisionBoxArray=xs,i.Color=ss,i.DEMData=dy,i.DataConstantProperty=At,i.DictionaryCoder=YC,i.EXTENT=rn,i.ErrorEvent=oa,i.EvaluationParameters=pn,i.Event=jo,i.Evented=Sn,i.FeatureIndex=vy,i.FillBucket=gp,i.FillExtrusionBucket=Hp,i.ImageAtlas=gg,i.ImagePosition=If,i.LineBucket=Gf,i.LngLat=sc,i.LngLatBounds=jf,i.MercatorCoordinate=nb,i.ONE_EM=Zi,i.OverscaledTileID=Wf,i.Point=u,i.Point$1=u,i.Properties=Oi,i.Protobuf=La,i.RGBAImage=lh,i.RequestManager=Ke,i.RequestPerformance=WQ,i.ResourceType=zn,i.SegmentVector=ns,i.SourceFeatureState=Jw,i.StructArrayLayout1ui2=Jo,i.StructArrayLayout2f1f2i16=Xn,i.StructArrayLayout2i4=ji,i.StructArrayLayout3ui6=ma,i.StructArrayLayout4i8=Ln,i.SymbolBucket=ou,i.Texture=ib,i.Tile=Fh,i.Transitionable=Fo,i.Uniform1f=Pt,i.Uniform1i=vt,i.Uniform2f=Wt,i.Uniform3f=rr,i.Uniform4f=dr,i.UniformColor=pr,i.UniformMatrix4f=Ar,i.UnwrappedTileID=HQ,i.ValidationError=fa,i.WritingMode=uv,i.ZoomHistory=wt,i.add=Lv,i.addDynamicAttributes=oq,i.asyncAll=k,i.bezier=x,i.bindAll=q,i.browser=nt,i.cacheEntryPossiblyAdded=bi,i.clamp=p,i.clearTileCache=Wi,i.clipLine=MQ,i.clone=T1,i.clone$1=G,i.clone$2=Mw,i.collisionCircleLayout=Tt,i.config=ct,i.create=w1,i.create$1=Rh,i.create$2=hg,i.createCommonjsModule=a,i.createExpression=eo,i.createLayout=Dn,i.createStyleLayer=IQe,i.cross=I9,i.deepEqual=h,i.dot=P9,i.dot$1=q9,i.ease=b,i.emitValidationErrors=Zu,i.endsWith=V,i.enforceCacheSizeLimit=nn,i.evaluateSizeForFeature=_Q,i.evaluateSizeForZoom=xQ,i.evaluateVariableOffset=CQ,i.evented=ya,i.extend=_,i.featureFilter=be,i.filterObject=X,i.fromRotation=rm,i.getAnchorAlignment=bS,i.getAnchorJustification=aq,i.getArrayBuffer=Zr,i.getImage=jn,i.getJSON=Fr,i.getRTLTextPluginStatus=so,i.getReferrer=It,i.getVideo=la,i.identity=oy,i.invert=im,i.isChar=tt,i.isMapboxURL=xt,i.keysDifference=L,i.makeRequest=yr,i.mapObject=H,i.mercatorXfromLng=NQ,i.mercatorYfromLat=UQ,i.mercatorZfromAltitude=VQ,i.mul=Nx,i.multiply=nm,i.mvt=pg,i.nextPowerOfTwo=T,i.normalize=Ux,i.number=Qs,i.offscreenCanvasSupported=$i,i.ortho=Kl,i.parseGlyphPBF=p0,i.pbf=La,i.performSymbolLayout=hQe,i.perspective=A1,i.pick=C,i.plugin=_s,i.polygonIntersectsPolygon=fo,i.postMapLoadEvent=Ve,i.postTurnstileEvent=Ne,i.potpack=Qv,i.refProperties=UQe,i.register=Z,i.registerForPluginStateChange=wa,i.renderColorRamp=Gx,i.rotate=ay,i.rotateX=bd,i.rotateZ=sy,i.scale=kl,i.scale$1=F9,i.scale$2=Ew,i.setCacheLimits=Ni,i.setRTLTextPlugin=io,i.sphericalToCartesian=Me,i.sqrLen=tS,i.styleSpec=on,i.sub=D9,i.symbolSize=iQe,i.transformMat3=R9,i.transformMat4=ly,i.translate=Fu,i.triggerPluginCompletionEvent=Nn,i.uniqueId=g,i.validateCustomStyleLayer=CQe,i.validateLight=po,i.validateStyle=yo,i.values=A,i.vectorTile=pg,i.version=o,i.warnOnce=re,i.webpSupported=qt,i.window=f,i.wrap=E}),n([\"./shared\"],function(i){\"use strict\";function a(It){var ft=typeof It;if(ft===\"number\"||ft===\"boolean\"||ft===\"string\"||It===void 0||It===null)return JSON.stringify(It);if(Array.isArray(It)){for(var jt=\"[\",Zt=0,yr=It;Zt<yr.length;Zt+=1){var Fr=yr[Zt];jt+=a(Fr)+\",\"}return jt+\"]\"}for(var Zr=Object.keys(It).sort(),Vr=\"{\",gi=0;gi<Zr.length;gi++)Vr+=JSON.stringify(Zr[gi])+\":\"+a(It[Zr[gi]])+\",\";return Vr+\"}\"}function o(It){for(var ft=\"\",jt=0,Zt=i.refProperties;jt<Zt.length;jt+=1){var yr=Zt[jt];ft+=\"/\"+a(It[yr])}return ft}function s(It,ft){for(var jt={},Zt=0;Zt<It.length;Zt++){var yr=ft&&ft[It[Zt].id]||o(It[Zt]);ft&&(ft[It[Zt].id]=yr);var Fr=jt[yr];Fr||(Fr=jt[yr]=[]),Fr.push(It[Zt])}var Zr=[];for(var Vr in jt)Zr.push(jt[Vr]);return Zr}var l=function(ft){this.keyCache={},ft&&this.replace(ft)};l.prototype.replace=function(ft){this._layerConfigs={},this._layers={},this.update(ft,[])},l.prototype.update=function(ft,jt){for(var Zt=this,yr=0,Fr=ft;yr<Fr.length;yr+=1){var Zr=Fr[yr];this._layerConfigs[Zr.id]=Zr;var Vr=this._layers[Zr.id]=i.createStyleLayer(Zr);Vr._featureFilter=i.featureFilter(Vr.filter),this.keyCache[Zr.id]&&delete this.keyCache[Zr.id]}for(var gi=0,Si=jt;gi<Si.length;gi+=1){var Mi=Si[gi];delete this.keyCache[Mi],delete this._layerConfigs[Mi],delete this._layers[Mi]}this.familiesBySource={};for(var Pi=s(i.values(this._layerConfigs),this.keyCache),Gi=0,Ki=Pi;Gi<Ki.length;Gi+=1){var ka=Ki[Gi],jn=ka.map(function(Sn){return Zt._layers[Sn.id]}),la=jn[0];if(la.visibility!==\"none\"){var Fa=la.source||\"\",Ra=this.familiesBySource[Fa];Ra||(Ra=this.familiesBySource[Fa]={});var jo=la.sourceLayer||\"_geojsonTileLayer\",oa=Ra[jo];oa||(oa=Ra[jo]=[]),oa.push(jn)}}};var u=1,c=function(ft){var jt={},Zt=[];for(var yr in ft){var Fr=ft[yr],Zr=jt[yr]={};for(var Vr in Fr){var gi=Fr[+Vr];if(!(!gi||gi.bitmap.width===0||gi.bitmap.height===0)){var Si={x:0,y:0,w:gi.bitmap.width+2*u,h:gi.bitmap.height+2*u};Zt.push(Si),Zr[Vr]={rect:Si,metrics:gi.metrics}}}}var Mi=i.potpack(Zt),Pi=Mi.w,Gi=Mi.h,Ki=new i.AlphaImage({width:Pi||1,height:Gi||1});for(var ka in ft){var jn=ft[ka];for(var la in jn){var Fa=jn[+la];if(!(!Fa||Fa.bitmap.width===0||Fa.bitmap.height===0)){var Ra=jt[ka][la].rect;i.AlphaImage.copy(Fa.bitmap,Ki,{x:0,y:0},{x:Ra.x+u,y:Ra.y+u},Fa.bitmap)}}}this.image=Ki,this.positions=jt};i.register(\"GlyphAtlas\",c);var f=function(ft){this.tileID=new i.OverscaledTileID(ft.tileID.overscaledZ,ft.tileID.wrap,ft.tileID.canonical.z,ft.tileID.canonical.x,ft.tileID.canonical.y),this.uid=ft.uid,this.zoom=ft.zoom,this.pixelRatio=ft.pixelRatio,this.tileSize=ft.tileSize,this.source=ft.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=ft.showCollisionBoxes,this.collectResourceTiming=!!ft.collectResourceTiming,this.returnDependencies=!!ft.returnDependencies,this.promoteId=ft.promoteId};f.prototype.parse=function(ft,jt,Zt,yr,Fr){var Zr=this;this.status=\"parsing\",this.data=ft,this.collisionBoxArray=new i.CollisionBoxArray;var Vr=new i.DictionaryCoder(Object.keys(ft.layers).sort()),gi=new i.FeatureIndex(this.tileID,this.promoteId);gi.bucketLayerIDs=[];var Si={},Mi={featureIndex:gi,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:Zt},Pi=jt.familiesBySource[this.source];for(var Gi in Pi){var Ki=ft.layers[Gi];if(Ki){Ki.version===1&&i.warnOnce('Vector tile source \"'+this.source+'\" layer \"'+Gi+'\" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var ka=Vr.encode(Gi),jn=[],la=0;la<Ki.length;la++){var Fa=Ki.feature(la),Ra=gi.getId(Fa,Gi);jn.push({feature:Fa,id:Ra,index:la,sourceLayerIndex:ka})}for(var jo=0,oa=Pi[Gi];jo<oa.length;jo+=1){var Sn=oa[jo],Ha=Sn[0];if(!(Ha.minzoom&&this.zoom<Math.floor(Ha.minzoom))&&!(Ha.maxzoom&&this.zoom>=Ha.maxzoom)&&Ha.visibility!==\"none\"){h(Sn,this.zoom,Zt);var oo=Si[Ha.id]=Ha.createBucket({index:gi.bucketLayerIDs.length,layers:Sn,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:ka,sourceID:this.source});oo.populate(jn,Mi,this.tileID.canonical),gi.bucketLayerIDs.push(Sn.map(function(hi){return hi.id}))}}}}var xn,_t,br,Hr,ti=i.mapObject(Mi.glyphDependencies,function(hi){return Object.keys(hi).map(Number)});Object.keys(ti).length?yr.send(\"getGlyphs\",{uid:this.uid,stacks:ti},function(hi,Ji){xn||(xn=hi,_t=Ji,an.call(Zr))}):_t={};var zi=Object.keys(Mi.iconDependencies);zi.length?yr.send(\"getImages\",{icons:zi,source:this.source,tileID:this.tileID,type:\"icons\"},function(hi,Ji){xn||(xn=hi,br=Ji,an.call(Zr))}):br={};var Yi=Object.keys(Mi.patternDependencies);Yi.length?yr.send(\"getImages\",{icons:Yi,source:this.source,tileID:this.tileID,type:\"patterns\"},function(hi,Ji){xn||(xn=hi,Hr=Ji,an.call(Zr))}):Hr={},an.call(this);function an(){if(xn)return Fr(xn);if(_t&&br&&Hr){var hi=new c(_t),Ji=new i.ImageAtlas(br,Hr);for(var ua in Si){var Fn=Si[ua];Fn instanceof i.SymbolBucket?(h(Fn.layers,this.zoom,Zt),i.performSymbolLayout(Fn,_t,hi.positions,br,Ji.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):Fn.hasPattern&&(Fn instanceof i.LineBucket||Fn instanceof i.FillBucket||Fn instanceof i.FillExtrusionBucket)&&(h(Fn.layers,this.zoom,Zt),Fn.addFeatures(Mi,this.tileID.canonical,Ji.patternPositions))}this.status=\"done\",Fr(null,{buckets:i.values(Si).filter(function(Sa){return!Sa.isEmpty()}),featureIndex:gi,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:hi.image,imageAtlas:Ji,glyphMap:this.returnDependencies?_t:null,iconMap:this.returnDependencies?br:null,glyphPositions:this.returnDependencies?hi.positions:null})}}};function h(It,ft,jt){for(var Zt=new i.EvaluationParameters(ft),yr=0,Fr=It;yr<Fr.length;yr+=1){var Zr=Fr[yr];Zr.recalculate(Zt,jt)}}function d(It,ft){var jt=i.getArrayBuffer(It.request,function(Zt,yr,Fr,Zr){Zt?ft(Zt):yr&&ft(null,{vectorTile:new i.vectorTile.VectorTile(new i.pbf(yr)),rawData:yr,cacheControl:Fr,expires:Zr})});return function(){jt.cancel(),ft()}}var v=function(ft,jt,Zt,yr){this.actor=ft,this.layerIndex=jt,this.availableImages=Zt,this.loadVectorData=yr||d,this.loading={},this.loaded={}};v.prototype.loadTile=function(ft,jt){var Zt=this,yr=ft.uid;this.loading||(this.loading={});var Fr=ft&&ft.request&&ft.request.collectResourceTiming?new i.RequestPerformance(ft.request):!1,Zr=this.loading[yr]=new f(ft);Zr.abort=this.loadVectorData(ft,function(Vr,gi){if(delete Zt.loading[yr],Vr||!gi)return Zr.status=\"done\",Zt.loaded[yr]=Zr,jt(Vr);var Si=gi.rawData,Mi={};gi.expires&&(Mi.expires=gi.expires),gi.cacheControl&&(Mi.cacheControl=gi.cacheControl);var Pi={};if(Fr){var Gi=Fr.finish();Gi&&(Pi.resourceTiming=JSON.parse(JSON.stringify(Gi)))}Zr.vectorTile=gi.vectorTile,Zr.parse(gi.vectorTile,Zt.layerIndex,Zt.availableImages,Zt.actor,function(Ki,ka){if(Ki||!ka)return jt(Ki);jt(null,i.extend({rawTileData:Si.slice(0)},ka,Mi,Pi))}),Zt.loaded=Zt.loaded||{},Zt.loaded[yr]=Zr})},v.prototype.reloadTile=function(ft,jt){var Zt=this,yr=this.loaded,Fr=ft.uid,Zr=this;if(yr&&yr[Fr]){var Vr=yr[Fr];Vr.showCollisionBoxes=ft.showCollisionBoxes;var gi=function(Si,Mi){var Pi=Vr.reloadCallback;Pi&&(delete Vr.reloadCallback,Vr.parse(Vr.vectorTile,Zr.layerIndex,Zt.availableImages,Zr.actor,Pi)),jt(Si,Mi)};Vr.status===\"parsing\"?Vr.reloadCallback=gi:Vr.status===\"done\"&&(Vr.vectorTile?Vr.parse(Vr.vectorTile,this.layerIndex,this.availableImages,this.actor,gi):gi())}},v.prototype.abortTile=function(ft,jt){var Zt=this.loading,yr=ft.uid;Zt&&Zt[yr]&&Zt[yr].abort&&(Zt[yr].abort(),delete Zt[yr]),jt()},v.prototype.removeTile=function(ft,jt){var Zt=this.loaded,yr=ft.uid;Zt&&Zt[yr]&&delete Zt[yr],jt()};var x=i.window.ImageBitmap,b=function(){this.loaded={}};b.prototype.loadTile=function(ft,jt){var Zt=ft.uid,yr=ft.encoding,Fr=ft.rawImageData,Zr=x&&Fr instanceof x?this.getImageData(Fr):Fr,Vr=new i.DEMData(Zt,Zr,yr);this.loaded=this.loaded||{},this.loaded[Zt]=Vr,jt(null,Vr)},b.prototype.getImageData=function(ft){(!this.offscreenCanvas||!this.offscreenCanvasContext)&&(this.offscreenCanvas=new OffscreenCanvas(ft.width,ft.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext(\"2d\")),this.offscreenCanvas.width=ft.width,this.offscreenCanvas.height=ft.height,this.offscreenCanvasContext.drawImage(ft,0,0,ft.width,ft.height);var jt=this.offscreenCanvasContext.getImageData(-1,-1,ft.width+2,ft.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new i.RGBAImage({width:jt.width,height:jt.height},jt.data)},b.prototype.removeTile=function(ft){var jt=this.loaded,Zt=ft.uid;jt&&jt[Zt]&&delete jt[Zt]};var p=E;function E(It,ft){var jt=It&&It.type,Zt;if(jt===\"FeatureCollection\")for(Zt=0;Zt<It.features.length;Zt++)E(It.features[Zt],ft);else if(jt===\"GeometryCollection\")for(Zt=0;Zt<It.geometries.length;Zt++)E(It.geometries[Zt],ft);else if(jt===\"Feature\")E(It.geometry,ft);else if(jt===\"Polygon\")k(It.coordinates,ft);else if(jt===\"MultiPolygon\")for(Zt=0;Zt<It.coordinates.length;Zt++)k(It.coordinates[Zt],ft);return It}function k(It,ft){if(It.length!==0){A(It[0],ft);for(var jt=1;jt<It.length;jt++)A(It[jt],!ft)}}function A(It,ft){for(var jt=0,Zt=0,yr=It.length,Fr=yr-1;Zt<yr;Fr=Zt++)jt+=(It[Zt][0]-It[Fr][0])*(It[Fr][1]+It[Zt][1]);jt>=0!=!!ft&&It.reverse()}var L=i.vectorTile.VectorTileFeature.prototype.toGeoJSON,_=function(ft){this._feature=ft,this.extent=i.EXTENT,this.type=ft.type,this.properties=ft.tags,\"id\"in ft&&!isNaN(ft.id)&&(this.id=parseInt(ft.id,10))};_.prototype.loadGeometry=function(){if(this._feature.type===1){for(var ft=[],jt=0,Zt=this._feature.geometry;jt<Zt.length;jt+=1){var yr=Zt[jt];ft.push([new i.Point$1(yr[0],yr[1])])}return ft}else{for(var Fr=[],Zr=0,Vr=this._feature.geometry;Zr<Vr.length;Zr+=1){for(var gi=Vr[Zr],Si=[],Mi=0,Pi=gi;Mi<Pi.length;Mi+=1){var Gi=Pi[Mi];Si.push(new i.Point$1(Gi[0],Gi[1]))}Fr.push(Si)}return Fr}},_.prototype.toGeoJSON=function(ft,jt,Zt){return L.call(this,ft,jt,Zt)};var C=function(ft){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=i.EXTENT,this.length=ft.length,this._features=ft};C.prototype.feature=function(ft){return new _(this._features[ft])};var M=i.vectorTile.VectorTileFeature,g=P;function P(It,ft){this.options=ft||{},this.features=It,this.length=It.length}P.prototype.feature=function(It){return new T(this.features[It],this.options.extent)};function T(It,ft){this.id=typeof It.id==\"number\"?It.id:void 0,this.type=It.type,this.rawGeometry=It.type===1?[It.geometry]:It.geometry,this.properties=It.tags,this.extent=ft||4096}T.prototype.loadGeometry=function(){var It=this.rawGeometry;this.geometry=[];for(var ft=0;ft<It.length;ft++){for(var jt=It[ft],Zt=[],yr=0;yr<jt.length;yr++)Zt.push(new i.Point$1(jt[yr][0],jt[yr][1]));this.geometry.push(Zt)}return this.geometry},T.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var It=this.geometry,ft=1/0,jt=-1/0,Zt=1/0,yr=-1/0,Fr=0;Fr<It.length;Fr++)for(var Zr=It[Fr],Vr=0;Vr<Zr.length;Vr++){var gi=Zr[Vr];ft=Math.min(ft,gi.x),jt=Math.max(jt,gi.x),Zt=Math.min(Zt,gi.y),yr=Math.max(yr,gi.y)}return[ft,Zt,jt,yr]},T.prototype.toGeoJSON=M.prototype.toGeoJSON;var F=X,q=X,V=G,H=g;function X(It){var ft=new i.pbf;return N(It,ft),ft.finish()}function G(It,ft){ft=ft||{};var jt={};for(var Zt in It)jt[Zt]=new g(It[Zt].features,ft),jt[Zt].name=Zt,jt[Zt].version=ft.version,jt[Zt].extent=ft.extent;return X({layers:jt})}function N(It,ft){for(var jt in It.layers)ft.writeMessage(3,W,It.layers[jt])}function W(It,ft){ft.writeVarintField(15,It.version||1),ft.writeStringField(1,It.name||\"\"),ft.writeVarintField(5,It.extent||4096);var jt,Zt={keys:[],values:[],keycache:{},valuecache:{}};for(jt=0;jt<It.length;jt++)Zt.feature=It.feature(jt),ft.writeMessage(2,re,Zt);var yr=Zt.keys;for(jt=0;jt<yr.length;jt++)ft.writeStringField(3,yr[jt]);var Fr=Zt.values;for(jt=0;jt<Fr.length;jt++)ft.writeMessage(4,ge,Fr[jt])}function re(It,ft){var jt=It.feature;jt.id!==void 0&&ft.writeVarintField(1,jt.id),ft.writeMessage(2,ae,It),ft.writeVarintField(3,jt.type),ft.writeMessage(4,ke,jt)}function ae(It,ft){var jt=It.feature,Zt=It.keys,yr=It.values,Fr=It.keycache,Zr=It.valuecache;for(var Vr in jt.properties){var gi=Fr[Vr];typeof gi==\"undefined\"&&(Zt.push(Vr),gi=Zt.length-1,Fr[Vr]=gi),ft.writeVarint(gi);var Si=jt.properties[Vr],Mi=typeof Si;Mi!==\"string\"&&Mi!==\"boolean\"&&Mi!==\"number\"&&(Si=JSON.stringify(Si));var Pi=Mi+\":\"+Si,Gi=Zr[Pi];typeof Gi==\"undefined\"&&(yr.push(Si),Gi=yr.length-1,Zr[Pi]=Gi),ft.writeVarint(Gi)}}function _e(It,ft){return(ft<<3)+(It&7)}function Me(It){return It<<1^It>>31}function ke(It,ft){for(var jt=It.loadGeometry(),Zt=It.type,yr=0,Fr=0,Zr=jt.length,Vr=0;Vr<Zr;Vr++){var gi=jt[Vr],Si=1;Zt===1&&(Si=gi.length),ft.writeVarint(_e(1,Si));for(var Mi=Zt===3?gi.length-1:gi.length,Pi=0;Pi<Mi;Pi++){Pi===1&&Zt!==1&&ft.writeVarint(_e(2,Mi-1));var Gi=gi[Pi].x-yr,Ki=gi[Pi].y-Fr;ft.writeVarint(Me(Gi)),ft.writeVarint(Me(Ki)),yr+=Gi,Fr+=Ki}Zt===3&&ft.writeVarint(_e(7,1))}}function ge(It,ft){var jt=typeof It;jt===\"string\"?ft.writeStringField(1,It):jt===\"boolean\"?ft.writeBooleanField(7,It):jt===\"number\"&&(It%1!==0?ft.writeDoubleField(3,It):It<0?ft.writeSVarintField(6,It):ft.writeVarintField(5,It))}F.fromVectorTileJs=q,F.fromGeojsonVt=V,F.GeoJSONWrapper=H;function ie(It,ft,jt,Zt,yr,Fr){if(!(yr-Zt<=jt)){var Zr=Zt+yr>>1;Te(It,ft,Zr,Zt,yr,Fr%2),ie(It,ft,jt,Zt,Zr-1,Fr+1),ie(It,ft,jt,Zr+1,yr,Fr+1)}}function Te(It,ft,jt,Zt,yr,Fr){for(;yr>Zt;){if(yr-Zt>600){var Zr=yr-Zt+1,Vr=jt-Zt+1,gi=Math.log(Zr),Si=.5*Math.exp(2*gi/3),Mi=.5*Math.sqrt(gi*Si*(Zr-Si)/Zr)*(Vr-Zr/2<0?-1:1),Pi=Math.max(Zt,Math.floor(jt-Vr*Si/Zr+Mi)),Gi=Math.min(yr,Math.floor(jt+(Zr-Vr)*Si/Zr+Mi));Te(It,ft,jt,Pi,Gi,Fr)}var Ki=ft[2*jt+Fr],ka=Zt,jn=yr;for(Ee(It,ft,Zt,jt),ft[2*yr+Fr]>Ki&&Ee(It,ft,Zt,yr);ka<jn;){for(Ee(It,ft,ka,jn),ka++,jn--;ft[2*ka+Fr]<Ki;)ka++;for(;ft[2*jn+Fr]>Ki;)jn--}ft[2*Zt+Fr]===Ki?Ee(It,ft,Zt,jn):(jn++,Ee(It,ft,jn,yr)),jn<=jt&&(Zt=jn+1),jt<=jn&&(yr=jn-1)}}function Ee(It,ft,jt,Zt){Ae(It,jt,Zt),Ae(ft,2*jt,2*Zt),Ae(ft,2*jt+1,2*Zt+1)}function Ae(It,ft,jt){var Zt=It[ft];It[ft]=It[jt],It[jt]=Zt}function ze(It,ft,jt,Zt,yr,Fr,Zr){for(var Vr=[0,It.length-1,0],gi=[],Si,Mi;Vr.length;){var Pi=Vr.pop(),Gi=Vr.pop(),Ki=Vr.pop();if(Gi-Ki<=Zr){for(var ka=Ki;ka<=Gi;ka++)Si=ft[2*ka],Mi=ft[2*ka+1],Si>=jt&&Si<=yr&&Mi>=Zt&&Mi<=Fr&&gi.push(It[ka]);continue}var jn=Math.floor((Ki+Gi)/2);Si=ft[2*jn],Mi=ft[2*jn+1],Si>=jt&&Si<=yr&&Mi>=Zt&&Mi<=Fr&&gi.push(It[jn]);var la=(Pi+1)%2;(Pi===0?jt<=Si:Zt<=Mi)&&(Vr.push(Ki),Vr.push(jn-1),Vr.push(la)),(Pi===0?yr>=Si:Fr>=Mi)&&(Vr.push(jn+1),Vr.push(Gi),Vr.push(la))}return gi}function Ce(It,ft,jt,Zt,yr,Fr){for(var Zr=[0,It.length-1,0],Vr=[],gi=yr*yr;Zr.length;){var Si=Zr.pop(),Mi=Zr.pop(),Pi=Zr.pop();if(Mi-Pi<=Fr){for(var Gi=Pi;Gi<=Mi;Gi++)me(ft[2*Gi],ft[2*Gi+1],jt,Zt)<=gi&&Vr.push(It[Gi]);continue}var Ki=Math.floor((Pi+Mi)/2),ka=ft[2*Ki],jn=ft[2*Ki+1];me(ka,jn,jt,Zt)<=gi&&Vr.push(It[Ki]);var la=(Si+1)%2;(Si===0?jt-yr<=ka:Zt-yr<=jn)&&(Zr.push(Pi),Zr.push(Ki-1),Zr.push(la)),(Si===0?jt+yr>=ka:Zt+yr>=jn)&&(Zr.push(Ki+1),Zr.push(Mi),Zr.push(la))}return Vr}function me(It,ft,jt,Zt){var yr=It-jt,Fr=ft-Zt;return yr*yr+Fr*Fr}var Re=function(It){return It[0]},ce=function(It){return It[1]},Ge=function(ft,jt,Zt,yr,Fr){jt===void 0&&(jt=Re),Zt===void 0&&(Zt=ce),yr===void 0&&(yr=64),Fr===void 0&&(Fr=Float64Array),this.nodeSize=yr,this.points=ft;for(var Zr=ft.length<65536?Uint16Array:Uint32Array,Vr=this.ids=new Zr(ft.length),gi=this.coords=new Fr(ft.length*2),Si=0;Si<ft.length;Si++)Vr[Si]=Si,gi[2*Si]=jt(ft[Si]),gi[2*Si+1]=Zt(ft[Si]);ie(Vr,gi,yr,0,Vr.length-1,0)};Ge.prototype.range=function(ft,jt,Zt,yr){return ze(this.ids,this.coords,ft,jt,Zt,yr,this.nodeSize)},Ge.prototype.within=function(ft,jt,Zt){return Ce(this.ids,this.coords,ft,jt,Zt,this.nodeSize)};var nt={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(It){return It}},ct=function(ft){this.options=er(Object.create(nt),ft),this.trees=new Array(this.options.maxZoom+1)};ct.prototype.load=function(ft){var jt=this.options,Zt=jt.log,yr=jt.minZoom,Fr=jt.maxZoom,Zr=jt.nodeSize;Zt&&console.time(\"total time\");var Vr=\"prepare \"+ft.length+\" points\";Zt&&console.time(Vr),this.points=ft;for(var gi=[],Si=0;Si<ft.length;Si++)ft[Si].geometry&&gi.push(rt(ft[Si],Si));this.trees[Fr+1]=new Ge(gi,Ke,xt,Zr,Float32Array),Zt&&console.timeEnd(Vr);for(var Mi=Fr;Mi>=yr;Mi--){var Pi=+Date.now();gi=this._cluster(gi,Mi),this.trees[Mi]=new Ge(gi,Ke,xt,Zr,Float32Array),Zt&&console.log(\"z%d: %d clusters in %dms\",Mi,gi.length,+Date.now()-Pi)}return Zt&&console.timeEnd(\"total time\"),this},ct.prototype.getClusters=function(ft,jt){var Zt=((ft[0]+180)%360+360)%360-180,yr=Math.max(-90,Math.min(90,ft[1])),Fr=ft[2]===180?180:((ft[2]+180)%360+360)%360-180,Zr=Math.max(-90,Math.min(90,ft[3]));if(ft[2]-ft[0]>=360)Zt=-180,Fr=180;else if(Zt>Fr){var Vr=this.getClusters([Zt,yr,180,Zr],jt),gi=this.getClusters([-180,yr,Fr,Zr],jt);return Vr.concat(gi)}for(var Si=this.trees[this._limitZoom(jt)],Mi=Si.range(kt(Zt),Ct(Zr),kt(Fr),Ct(yr)),Pi=[],Gi=0,Ki=Mi;Gi<Ki.length;Gi+=1){var ka=Ki[Gi],jn=Si.points[ka];Pi.push(jn.numPoints?ot(jn):this.points[jn.index])}return Pi},ct.prototype.getChildren=function(ft){var jt=this._getOriginId(ft),Zt=this._getOriginZoom(ft),yr=\"No cluster with the specified id.\",Fr=this.trees[Zt];if(!Fr)throw new Error(yr);var Zr=Fr.points[jt];if(!Zr)throw new Error(yr);for(var Vr=this.options.radius/(this.options.extent*Math.pow(2,Zt-1)),gi=Fr.within(Zr.x,Zr.y,Vr),Si=[],Mi=0,Pi=gi;Mi<Pi.length;Mi+=1){var Gi=Pi[Mi],Ki=Fr.points[Gi];Ki.parentId===ft&&Si.push(Ki.numPoints?ot(Ki):this.points[Ki.index])}if(Si.length===0)throw new Error(yr);return Si},ct.prototype.getLeaves=function(ft,jt,Zt){jt=jt||10,Zt=Zt||0;var yr=[];return this._appendLeaves(yr,ft,jt,Zt,0),yr},ct.prototype.getTile=function(ft,jt,Zt){var yr=this.trees[this._limitZoom(ft)],Fr=Math.pow(2,ft),Zr=this.options,Vr=Zr.extent,gi=Zr.radius,Si=gi/Vr,Mi=(Zt-Si)/Fr,Pi=(Zt+1+Si)/Fr,Gi={features:[]};return this._addTileFeatures(yr.range((jt-Si)/Fr,Mi,(jt+1+Si)/Fr,Pi),yr.points,jt,Zt,Fr,Gi),jt===0&&this._addTileFeatures(yr.range(1-Si/Fr,Mi,1,Pi),yr.points,Fr,Zt,Fr,Gi),jt===Fr-1&&this._addTileFeatures(yr.range(0,Mi,Si/Fr,Pi),yr.points,-1,Zt,Fr,Gi),Gi.features.length?Gi:null},ct.prototype.getClusterExpansionZoom=function(ft){for(var jt=this._getOriginZoom(ft)-1;jt<=this.options.maxZoom;){var Zt=this.getChildren(ft);if(jt++,Zt.length!==1)break;ft=Zt[0].properties.cluster_id}return jt},ct.prototype._appendLeaves=function(ft,jt,Zt,yr,Fr){for(var Zr=this.getChildren(jt),Vr=0,gi=Zr;Vr<gi.length;Vr+=1){var Si=gi[Vr],Mi=Si.properties;if(Mi&&Mi.cluster?Fr+Mi.point_count<=yr?Fr+=Mi.point_count:Fr=this._appendLeaves(ft,Mi.cluster_id,Zt,yr,Fr):Fr<yr?Fr++:ft.push(Si),ft.length===Zt)break}return Fr},ct.prototype._addTileFeatures=function(ft,jt,Zt,yr,Fr,Zr){for(var Vr=0,gi=ft;Vr<gi.length;Vr+=1){var Si=gi[Vr],Mi=jt[Si],Pi=Mi.numPoints,Gi={type:1,geometry:[[Math.round(this.options.extent*(Mi.x*Fr-Zt)),Math.round(this.options.extent*(Mi.y*Fr-yr))]],tags:Pi?Rt(Mi):this.points[Mi.index].properties},Ki=void 0;Pi?Ki=Mi.id:this.options.generateId?Ki=Mi.index:this.points[Mi.index].id&&(Ki=this.points[Mi.index].id),Ki!==void 0&&(Gi.id=Ki),Zr.features.push(Gi)}},ct.prototype._limitZoom=function(ft){return Math.max(this.options.minZoom,Math.min(+ft,this.options.maxZoom+1))},ct.prototype._cluster=function(ft,jt){for(var Zt=[],yr=this.options,Fr=yr.radius,Zr=yr.extent,Vr=yr.reduce,gi=yr.minPoints,Si=Fr/(Zr*Math.pow(2,jt)),Mi=0;Mi<ft.length;Mi++){var Pi=ft[Mi];if(!(Pi.zoom<=jt)){Pi.zoom=jt;for(var Gi=this.trees[jt+1],Ki=Gi.within(Pi.x,Pi.y,Si),ka=Pi.numPoints||1,jn=ka,la=0,Fa=Ki;la<Fa.length;la+=1){var Ra=Fa[la],jo=Gi.points[Ra];jo.zoom>jt&&(jn+=jo.numPoints||1)}if(jn>=gi){for(var oa=Pi.x*ka,Sn=Pi.y*ka,Ha=Vr&&ka>1?this._map(Pi,!0):null,oo=(Mi<<5)+(jt+1)+this.points.length,xn=0,_t=Ki;xn<_t.length;xn+=1){var br=_t[xn],Hr=Gi.points[br];if(!(Hr.zoom<=jt)){Hr.zoom=jt;var ti=Hr.numPoints||1;oa+=Hr.x*ti,Sn+=Hr.y*ti,Hr.parentId=oo,Vr&&(Ha||(Ha=this._map(Pi,!0)),Vr(Ha,this._map(Hr)))}}Pi.parentId=oo,Zt.push(qt(oa/jn,Sn/jn,oo,jn,Ha))}else if(Zt.push(Pi),jn>1)for(var zi=0,Yi=Ki;zi<Yi.length;zi+=1){var an=Yi[zi],hi=Gi.points[an];hi.zoom<=jt||(hi.zoom=jt,Zt.push(hi))}}}return Zt},ct.prototype._getOriginId=function(ft){return ft-this.points.length>>5},ct.prototype._getOriginZoom=function(ft){return(ft-this.points.length)%32},ct.prototype._map=function(ft,jt){if(ft.numPoints)return jt?er({},ft.properties):ft.properties;var Zt=this.points[ft.index].properties,yr=this.options.map(Zt);return jt&&yr===Zt?er({},yr):yr};function qt(It,ft,jt,Zt,yr){return{x:It,y:ft,zoom:1/0,id:jt,parentId:-1,numPoints:Zt,properties:yr}}function rt(It,ft){var jt=It.geometry.coordinates,Zt=jt[0],yr=jt[1];return{x:kt(Zt),y:Ct(yr),zoom:1/0,index:ft,parentId:-1}}function ot(It){return{type:\"Feature\",id:It.id,properties:Rt(It),geometry:{type:\"Point\",coordinates:[Yt(It.x),xr(It.y)]}}}function Rt(It){var ft=It.numPoints,jt=ft>=1e4?Math.round(ft/1e3)+\"k\":ft>=1e3?Math.round(ft/100)/10+\"k\":ft;return er(er({},It.properties),{cluster:!0,cluster_id:It.id,point_count:ft,point_count_abbreviated:jt})}function kt(It){return It/360+.5}function Ct(It){var ft=Math.sin(It*Math.PI/180),jt=.5-.25*Math.log((1+ft)/(1-ft))/Math.PI;return jt<0?0:jt>1?1:jt}function Yt(It){return(It-.5)*360}function xr(It){var ft=(180-It*360)*Math.PI/180;return 360*Math.atan(Math.exp(ft))/Math.PI-90}function er(It,ft){for(var jt in ft)It[jt]=ft[jt];return It}function Ke(It){return It.x}function xt(It){return It.y}function bt(It,ft,jt,Zt){for(var yr=Zt,Fr=jt-ft>>1,Zr=jt-ft,Vr,gi=It[ft],Si=It[ft+1],Mi=It[jt],Pi=It[jt+1],Gi=ft+3;Gi<jt;Gi+=3){var Ki=Lt(It[Gi],It[Gi+1],gi,Si,Mi,Pi);if(Ki>yr)Vr=Gi,yr=Ki;else if(Ki===yr){var ka=Math.abs(Gi-Fr);ka<Zr&&(Vr=Gi,Zr=ka)}}yr>Zt&&(Vr-ft>3&&bt(It,ft,Vr,Zt),It[Vr+2]=yr,jt-Vr>3&&bt(It,Vr,jt,Zt))}function Lt(It,ft,jt,Zt,yr,Fr){var Zr=yr-jt,Vr=Fr-Zt;if(Zr!==0||Vr!==0){var gi=((It-jt)*Zr+(ft-Zt)*Vr)/(Zr*Zr+Vr*Vr);gi>1?(jt=yr,Zt=Fr):gi>0&&(jt+=Zr*gi,Zt+=Vr*gi)}return Zr=It-jt,Vr=ft-Zt,Zr*Zr+Vr*Vr}function St(It,ft,jt,Zt){var yr={id:typeof It==\"undefined\"?null:It,type:ft,geometry:jt,tags:Zt,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return Et(yr),yr}function Et(It){var ft=It.geometry,jt=It.type;if(jt===\"Point\"||jt===\"MultiPoint\"||jt===\"LineString\")dt(It,ft);else if(jt===\"Polygon\"||jt===\"MultiLineString\")for(var Zt=0;Zt<ft.length;Zt++)dt(It,ft[Zt]);else if(jt===\"MultiPolygon\")for(Zt=0;Zt<ft.length;Zt++)for(var yr=0;yr<ft[Zt].length;yr++)dt(It,ft[Zt][yr])}function dt(It,ft){for(var jt=0;jt<ft.length;jt+=3)It.minX=Math.min(It.minX,ft[jt]),It.minY=Math.min(It.minY,ft[jt+1]),It.maxX=Math.max(It.maxX,ft[jt]),It.maxY=Math.max(It.maxY,ft[jt+1])}function Ht(It,ft){var jt=[];if(It.type===\"FeatureCollection\")for(var Zt=0;Zt<It.features.length;Zt++)$t(jt,It.features[Zt],ft,Zt);else It.type===\"Feature\"?$t(jt,It,ft):$t(jt,{geometry:It},ft);return jt}function $t(It,ft,jt,Zt){if(ft.geometry){var yr=ft.geometry.coordinates,Fr=ft.geometry.type,Zr=Math.pow(jt.tolerance/((1<<jt.maxZoom)*jt.extent),2),Vr=[],gi=ft.id;if(jt.promoteId?gi=ft.properties[jt.promoteId]:jt.generateId&&(gi=Zt||0),Fr===\"Point\")fr(yr,Vr);else if(Fr===\"MultiPoint\")for(var Si=0;Si<yr.length;Si++)fr(yr[Si],Vr);else if(Fr===\"LineString\")_r(yr,Vr,Zr,!1);else if(Fr===\"MultiLineString\")if(jt.lineMetrics){for(Si=0;Si<yr.length;Si++)Vr=[],_r(yr[Si],Vr,Zr,!1),It.push(St(gi,\"LineString\",Vr,ft.properties));return}else Br(yr,Vr,Zr,!1);else if(Fr===\"Polygon\")Br(yr,Vr,Zr,!0);else if(Fr===\"MultiPolygon\")for(Si=0;Si<yr.length;Si++){var Mi=[];Br(yr[Si],Mi,Zr,!0),Vr.push(Mi)}else if(Fr===\"GeometryCollection\"){for(Si=0;Si<ft.geometry.geometries.length;Si++)$t(It,{id:gi,geometry:ft.geometry.geometries[Si],properties:ft.properties},jt,Zt);return}else throw new Error(\"Input data is not a valid GeoJSON object.\");It.push(St(gi,Fr,Vr,ft.properties))}}function fr(It,ft){ft.push(Or(It[0])),ft.push(Nr(It[1])),ft.push(0)}function _r(It,ft,jt,Zt){for(var yr,Fr,Zr=0,Vr=0;Vr<It.length;Vr++){var gi=Or(It[Vr][0]),Si=Nr(It[Vr][1]);ft.push(gi),ft.push(Si),ft.push(0),Vr>0&&(Zt?Zr+=(yr*Si-gi*Fr)/2:Zr+=Math.sqrt(Math.pow(gi-yr,2)+Math.pow(Si-Fr,2))),yr=gi,Fr=Si}var Mi=ft.length-3;ft[2]=1,bt(ft,0,Mi,jt),ft[Mi+2]=1,ft.size=Math.abs(Zr),ft.start=0,ft.end=ft.size}function Br(It,ft,jt,Zt){for(var yr=0;yr<It.length;yr++){var Fr=[];_r(It[yr],Fr,jt,Zt),ft.push(Fr)}}function Or(It){return It/360+.5}function Nr(It){var ft=Math.sin(It*Math.PI/180),jt=.5-.25*Math.log((1+ft)/(1-ft))/Math.PI;return jt<0?0:jt>1?1:jt}function ut(It,ft,jt,Zt,yr,Fr,Zr,Vr){if(jt/=ft,Zt/=ft,Fr>=jt&&Zr<Zt)return It;if(Zr<jt||Fr>=Zt)return null;for(var gi=[],Si=0;Si<It.length;Si++){var Mi=It[Si],Pi=Mi.geometry,Gi=Mi.type,Ki=yr===0?Mi.minX:Mi.minY,ka=yr===0?Mi.maxX:Mi.maxY;if(Ki>=jt&&ka<Zt){gi.push(Mi);continue}else if(ka<jt||Ki>=Zt)continue;var jn=[];if(Gi===\"Point\"||Gi===\"MultiPoint\")Ne(Pi,jn,jt,Zt,yr);else if(Gi===\"LineString\")Ye(Pi,jn,jt,Zt,yr,!1,Vr.lineMetrics);else if(Gi===\"MultiLineString\")Xe(Pi,jn,jt,Zt,yr,!1);else if(Gi===\"Polygon\")Xe(Pi,jn,jt,Zt,yr,!0);else if(Gi===\"MultiPolygon\")for(var la=0;la<Pi.length;la++){var Fa=[];Xe(Pi[la],Fa,jt,Zt,yr,!0),Fa.length&&jn.push(Fa)}if(jn.length){if(Vr.lineMetrics&&Gi===\"LineString\"){for(la=0;la<jn.length;la++)gi.push(St(Mi.id,Gi,jn[la],Mi.tags));continue}(Gi===\"LineString\"||Gi===\"MultiLineString\")&&(jn.length===1?(Gi=\"LineString\",jn=jn[0]):Gi=\"MultiLineString\"),(Gi===\"Point\"||Gi===\"MultiPoint\")&&(Gi=jn.length===3?\"Point\":\"MultiPoint\"),gi.push(St(Mi.id,Gi,jn,Mi.tags))}}return gi.length?gi:null}function Ne(It,ft,jt,Zt,yr){for(var Fr=0;Fr<It.length;Fr+=3){var Zr=It[Fr+yr];Zr>=jt&&Zr<=Zt&&(ft.push(It[Fr]),ft.push(It[Fr+1]),ft.push(It[Fr+2]))}}function Ye(It,ft,jt,Zt,yr,Fr,Zr){for(var Vr=Ve(It),gi=yr===0?Le:xe,Si=It.start,Mi,Pi,Gi=0;Gi<It.length-3;Gi+=3){var Ki=It[Gi],ka=It[Gi+1],jn=It[Gi+2],la=It[Gi+3],Fa=It[Gi+4],Ra=yr===0?Ki:ka,jo=yr===0?la:Fa,oa=!1;Zr&&(Mi=Math.sqrt(Math.pow(Ki-la,2)+Math.pow(ka-Fa,2))),Ra<jt?jo>jt&&(Pi=gi(Vr,Ki,ka,la,Fa,jt),Zr&&(Vr.start=Si+Mi*Pi)):Ra>Zt?jo<Zt&&(Pi=gi(Vr,Ki,ka,la,Fa,Zt),Zr&&(Vr.start=Si+Mi*Pi)):ht(Vr,Ki,ka,jn),jo<jt&&Ra>=jt&&(Pi=gi(Vr,Ki,ka,la,Fa,jt),oa=!0),jo>Zt&&Ra<=Zt&&(Pi=gi(Vr,Ki,ka,la,Fa,Zt),oa=!0),!Fr&&oa&&(Zr&&(Vr.end=Si+Mi*Pi),ft.push(Vr),Vr=Ve(It)),Zr&&(Si+=Mi)}var Sn=It.length-3;Ki=It[Sn],ka=It[Sn+1],jn=It[Sn+2],Ra=yr===0?Ki:ka,Ra>=jt&&Ra<=Zt&&ht(Vr,Ki,ka,jn),Sn=Vr.length-3,Fr&&Sn>=3&&(Vr[Sn]!==Vr[0]||Vr[Sn+1]!==Vr[1])&&ht(Vr,Vr[0],Vr[1],Vr[2]),Vr.length&&ft.push(Vr)}function Ve(It){var ft=[];return ft.size=It.size,ft.start=It.start,ft.end=It.end,ft}function Xe(It,ft,jt,Zt,yr,Fr){for(var Zr=0;Zr<It.length;Zr++)Ye(It[Zr],ft,jt,Zt,yr,Fr,!1)}function ht(It,ft,jt,Zt){It.push(ft),It.push(jt),It.push(Zt)}function Le(It,ft,jt,Zt,yr,Fr){var Zr=(Fr-ft)/(Zt-ft);return It.push(Fr),It.push(jt+(yr-jt)*Zr),It.push(1),Zr}function xe(It,ft,jt,Zt,yr,Fr){var Zr=(Fr-jt)/(yr-jt);return It.push(ft+(Zt-ft)*Zr),It.push(Fr),It.push(1),Zr}function Se(It,ft){var jt=ft.buffer/ft.extent,Zt=It,yr=ut(It,1,-1-jt,jt,0,-1,2,ft),Fr=ut(It,1,1-jt,2+jt,0,-1,2,ft);return(yr||Fr)&&(Zt=ut(It,1,-jt,1+jt,0,-1,2,ft)||[],yr&&(Zt=lt(yr,1).concat(Zt)),Fr&&(Zt=Zt.concat(lt(Fr,-1)))),Zt}function lt(It,ft){for(var jt=[],Zt=0;Zt<It.length;Zt++){var yr=It[Zt],Fr=yr.type,Zr;if(Fr===\"Point\"||Fr===\"MultiPoint\"||Fr===\"LineString\")Zr=Gt(yr.geometry,ft);else if(Fr===\"MultiLineString\"||Fr===\"Polygon\"){Zr=[];for(var Vr=0;Vr<yr.geometry.length;Vr++)Zr.push(Gt(yr.geometry[Vr],ft))}else if(Fr===\"MultiPolygon\")for(Zr=[],Vr=0;Vr<yr.geometry.length;Vr++){for(var gi=[],Si=0;Si<yr.geometry[Vr].length;Si++)gi.push(Gt(yr.geometry[Vr][Si],ft));Zr.push(gi)}jt.push(St(yr.id,Fr,Zr,yr.tags))}return jt}function Gt(It,ft){var jt=[];jt.size=It.size,It.start!==void 0&&(jt.start=It.start,jt.end=It.end);for(var Zt=0;Zt<It.length;Zt+=3)jt.push(It[Zt]+ft,It[Zt+1],It[Zt+2]);return jt}function Vt(It,ft){if(It.transformed)return It;var jt=1<<It.z,Zt=It.x,yr=It.y,Fr,Zr,Vr;for(Fr=0;Fr<It.features.length;Fr++){var gi=It.features[Fr],Si=gi.geometry,Mi=gi.type;if(gi.geometry=[],Mi===1)for(Zr=0;Zr<Si.length;Zr+=2)gi.geometry.push(ar(Si[Zr],Si[Zr+1],ft,jt,Zt,yr));else for(Zr=0;Zr<Si.length;Zr++){var Pi=[];for(Vr=0;Vr<Si[Zr].length;Vr+=2)Pi.push(ar(Si[Zr][Vr],Si[Zr][Vr+1],ft,jt,Zt,yr));gi.geometry.push(Pi)}}return It.transformed=!0,It}function ar(It,ft,jt,Zt,yr,Fr){return[Math.round(jt*(It*Zt-yr)),Math.round(jt*(ft*Zt-Fr))]}function Qr(It,ft,jt,Zt,yr){for(var Fr=ft===yr.maxZoom?0:yr.tolerance/((1<<ft)*yr.extent),Zr={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:jt,y:Zt,z:ft,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},Vr=0;Vr<It.length;Vr++){Zr.numFeatures++,ai(Zr,It[Vr],Fr,yr);var gi=It[Vr].minX,Si=It[Vr].minY,Mi=It[Vr].maxX,Pi=It[Vr].maxY;gi<Zr.minX&&(Zr.minX=gi),Si<Zr.minY&&(Zr.minY=Si),Mi>Zr.maxX&&(Zr.maxX=Mi),Pi>Zr.maxY&&(Zr.maxY=Pi)}return Zr}function ai(It,ft,jt,Zt){var yr=ft.geometry,Fr=ft.type,Zr=[];if(Fr===\"Point\"||Fr===\"MultiPoint\")for(var Vr=0;Vr<yr.length;Vr+=3)Zr.push(yr[Vr]),Zr.push(yr[Vr+1]),It.numPoints++,It.numSimplified++;else if(Fr===\"LineString\")jr(Zr,yr,It,jt,!1,!1);else if(Fr===\"MultiLineString\"||Fr===\"Polygon\")for(Vr=0;Vr<yr.length;Vr++)jr(Zr,yr[Vr],It,jt,Fr===\"Polygon\",Vr===0);else if(Fr===\"MultiPolygon\")for(var gi=0;gi<yr.length;gi++){var Si=yr[gi];for(Vr=0;Vr<Si.length;Vr++)jr(Zr,Si[Vr],It,jt,!0,Vr===0)}if(Zr.length){var Mi=ft.tags||null;if(Fr===\"LineString\"&&Zt.lineMetrics){Mi={};for(var Pi in ft.tags)Mi[Pi]=ft.tags[Pi];Mi.mapbox_clip_start=yr.start/yr.size,Mi.mapbox_clip_end=yr.end/yr.size}var Gi={geometry:Zr,type:Fr===\"Polygon\"||Fr===\"MultiPolygon\"?3:Fr===\"LineString\"||Fr===\"MultiLineString\"?2:1,tags:Mi};ft.id!==null&&(Gi.id=ft.id),It.features.push(Gi)}}function jr(It,ft,jt,Zt,yr,Fr){var Zr=Zt*Zt;if(Zt>0&&ft.size<(yr?Zr:Zt)){jt.numPoints+=ft.length/3;return}for(var Vr=[],gi=0;gi<ft.length;gi+=3)(Zt===0||ft[gi+2]>Zr)&&(jt.numSimplified++,Vr.push(ft[gi]),Vr.push(ft[gi+1])),jt.numPoints++;yr&&ri(Vr,Fr),It.push(Vr)}function ri(It,ft){for(var jt=0,Zt=0,yr=It.length,Fr=yr-2;Zt<yr;Fr=Zt,Zt+=2)jt+=(It[Zt]-It[Fr])*(It[Zt+1]+It[Fr+1]);if(jt>0===ft)for(Zt=0,yr=It.length;Zt<yr/2;Zt+=2){var Zr=It[Zt],Vr=It[Zt+1];It[Zt]=It[yr-2-Zt],It[Zt+1]=It[yr-1-Zt],It[yr-2-Zt]=Zr,It[yr-1-Zt]=Vr}}function bi(It,ft){return new nn(It,ft)}function nn(It,ft){ft=this.options=Ni(Object.create(this.options),ft);var jt=ft.debug;if(jt&&console.time(\"preprocess data\"),ft.maxZoom<0||ft.maxZoom>24)throw new Error(\"maxZoom should be in the 0-24 range\");if(ft.promoteId&&ft.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var Zt=Ht(It,ft);this.tiles={},this.tileCoords=[],jt&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",ft.indexMaxZoom,ft.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),Zt=Se(Zt,ft),Zt.length&&this.splitTile(Zt,0,0,0),jt&&(Zt.length&&console.log(\"features: %d, points: %d\",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(\"generate tiles\"),console.log(\"tiles generated:\",this.total,JSON.stringify(this.stats)))}nn.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},nn.prototype.splitTile=function(It,ft,jt,Zt,yr,Fr,Zr){for(var Vr=[It,ft,jt,Zt],gi=this.options,Si=gi.debug;Vr.length;){Zt=Vr.pop(),jt=Vr.pop(),ft=Vr.pop(),It=Vr.pop();var Mi=1<<ft,Pi=Wi(ft,jt,Zt),Gi=this.tiles[Pi];if(!Gi&&(Si>1&&console.time(\"creation\"),Gi=this.tiles[Pi]=Qr(It,ft,jt,Zt,gi),this.tileCoords.push({z:ft,x:jt,y:Zt}),Si)){Si>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",ft,jt,Zt,Gi.numFeatures,Gi.numPoints,Gi.numSimplified),console.timeEnd(\"creation\"));var Ki=\"z\"+ft;this.stats[Ki]=(this.stats[Ki]||0)+1,this.total++}if(Gi.source=It,yr){if(ft===gi.maxZoom||ft===yr)continue;var ka=1<<yr-ft;if(jt!==Math.floor(Fr/ka)||Zt!==Math.floor(Zr/ka))continue}else if(ft===gi.indexMaxZoom||Gi.numPoints<=gi.indexMaxPoints)continue;if(Gi.source=null,It.length!==0){Si>1&&console.time(\"clipping\");var jn=.5*gi.buffer/gi.extent,la=.5-jn,Fa=.5+jn,Ra=1+jn,jo,oa,Sn,Ha,oo,xn;jo=oa=Sn=Ha=null,oo=ut(It,Mi,jt-jn,jt+Fa,0,Gi.minX,Gi.maxX,gi),xn=ut(It,Mi,jt+la,jt+Ra,0,Gi.minX,Gi.maxX,gi),It=null,oo&&(jo=ut(oo,Mi,Zt-jn,Zt+Fa,1,Gi.minY,Gi.maxY,gi),oa=ut(oo,Mi,Zt+la,Zt+Ra,1,Gi.minY,Gi.maxY,gi),oo=null),xn&&(Sn=ut(xn,Mi,Zt-jn,Zt+Fa,1,Gi.minY,Gi.maxY,gi),Ha=ut(xn,Mi,Zt+la,Zt+Ra,1,Gi.minY,Gi.maxY,gi),xn=null),Si>1&&console.timeEnd(\"clipping\"),Vr.push(jo||[],ft+1,jt*2,Zt*2),Vr.push(oa||[],ft+1,jt*2,Zt*2+1),Vr.push(Sn||[],ft+1,jt*2+1,Zt*2),Vr.push(Ha||[],ft+1,jt*2+1,Zt*2+1)}}},nn.prototype.getTile=function(It,ft,jt){var Zt=this.options,yr=Zt.extent,Fr=Zt.debug;if(It<0||It>24)return null;var Zr=1<<It;ft=(ft%Zr+Zr)%Zr;var Vr=Wi(It,ft,jt);if(this.tiles[Vr])return Vt(this.tiles[Vr],yr);Fr>1&&console.log(\"drilling down to z%d-%d-%d\",It,ft,jt);for(var gi=It,Si=ft,Mi=jt,Pi;!Pi&&gi>0;)gi--,Si=Math.floor(Si/2),Mi=Math.floor(Mi/2),Pi=this.tiles[Wi(gi,Si,Mi)];return!Pi||!Pi.source?null:(Fr>1&&console.log(\"found parent tile z%d-%d-%d\",gi,Si,Mi),Fr>1&&console.time(\"drilling down\"),this.splitTile(Pi.source,gi,Si,Mi,It,ft,jt),Fr>1&&console.timeEnd(\"drilling down\"),this.tiles[Vr]?Vt(this.tiles[Vr],yr):null)};function Wi(It,ft,jt){return((1<<It)*jt+ft)*32+It}function Ni(It,ft){for(var jt in ft)It[jt]=ft[jt];return It}function _n(It,ft){var jt=It.tileID.canonical;if(!this._geoJSONIndex)return ft(null,null);var Zt=this._geoJSONIndex.getTile(jt.z,jt.x,jt.y);if(!Zt)return ft(null,null);var yr=new C(Zt.features),Fr=F(yr);(Fr.byteOffset!==0||Fr.byteLength!==Fr.buffer.byteLength)&&(Fr=new Uint8Array(Fr)),ft(null,{vectorTile:yr,rawData:Fr.buffer})}var $i=function(It){function ft(jt,Zt,yr,Fr){It.call(this,jt,Zt,yr,_n),Fr&&(this.loadGeoJSON=Fr)}return It&&(ft.__proto__=It),ft.prototype=Object.create(It&&It.prototype),ft.prototype.constructor=ft,ft.prototype.loadData=function(Zt,yr){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=yr,this._pendingLoadDataParams=Zt,this._state&&this._state!==\"Idle\"?this._state=\"NeedsLoadData\":(this._state=\"Coalescing\",this._loadData())},ft.prototype._loadData=function(){var Zt=this;if(!(!this._pendingCallback||!this._pendingLoadDataParams)){var yr=this._pendingCallback,Fr=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var Zr=Fr&&Fr.request&&Fr.request.collectResourceTiming?new i.RequestPerformance(Fr.request):!1;this.loadGeoJSON(Fr,function(Vr,gi){if(Vr||!gi)return yr(Vr);if(typeof gi!=\"object\")return yr(new Error(\"Input data given to '\"+Fr.source+\"' is not a valid GeoJSON object.\"));p(gi,!0);try{if(Fr.filter){var Si=i.createExpression(Fr.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(Si.result===\"error\")throw new Error(Si.value.map(function(Ki){return Ki.key+\": \"+Ki.message}).join(\", \"));var Mi=gi.features.filter(function(Ki){return Si.value.evaluate({zoom:0},Ki)});gi={type:\"FeatureCollection\",features:Mi}}Zt._geoJSONIndex=Fr.cluster?new ct(zn(Fr)).load(gi.features):bi(gi,Fr.geojsonVtOptions)}catch(Ki){return yr(Ki)}Zt.loaded={};var Pi={};if(Zr){var Gi=Zr.finish();Gi&&(Pi.resourceTiming={},Pi.resourceTiming[Fr.source]=JSON.parse(JSON.stringify(Gi)))}yr(null,Pi)})}},ft.prototype.coalesce=function(){this._state===\"Coalescing\"?this._state=\"Idle\":this._state===\"NeedsLoadData\"&&(this._state=\"Coalescing\",this._loadData())},ft.prototype.reloadTile=function(Zt,yr){var Fr=this.loaded,Zr=Zt.uid;return Fr&&Fr[Zr]?It.prototype.reloadTile.call(this,Zt,yr):this.loadTile(Zt,yr)},ft.prototype.loadGeoJSON=function(Zt,yr){if(Zt.request)i.getJSON(Zt.request,yr);else if(typeof Zt.data==\"string\")try{return yr(null,JSON.parse(Zt.data))}catch(Fr){return yr(new Error(\"Input data given to '\"+Zt.source+\"' is not a valid GeoJSON object.\"))}else return yr(new Error(\"Input data given to '\"+Zt.source+\"' is not a valid GeoJSON object.\"))},ft.prototype.removeSource=function(Zt,yr){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),yr()},ft.prototype.getClusterExpansionZoom=function(Zt,yr){try{yr(null,this._geoJSONIndex.getClusterExpansionZoom(Zt.clusterId))}catch(Fr){yr(Fr)}},ft.prototype.getClusterChildren=function(Zt,yr){try{yr(null,this._geoJSONIndex.getChildren(Zt.clusterId))}catch(Fr){yr(Fr)}},ft.prototype.getClusterLeaves=function(Zt,yr){try{yr(null,this._geoJSONIndex.getLeaves(Zt.clusterId,Zt.limit,Zt.offset))}catch(Fr){yr(Fr)}},ft}(v);function zn(It){var ft=It.superclusterOptions,jt=It.clusterProperties;if(!jt||!ft)return ft;for(var Zt={},yr={},Fr={accumulated:null,zoom:0},Zr={properties:null},Vr=Object.keys(jt),gi=0,Si=Vr;gi<Si.length;gi+=1){var Mi=Si[gi],Pi=jt[Mi],Gi=Pi[0],Ki=Pi[1],ka=i.createExpression(Ki),jn=i.createExpression(typeof Gi==\"string\"?[Gi,[\"accumulated\"],[\"get\",Mi]]:Gi);Zt[Mi]=ka.value,yr[Mi]=jn.value}return ft.map=function(la){Zr.properties=la;for(var Fa={},Ra=0,jo=Vr;Ra<jo.length;Ra+=1){var oa=jo[Ra];Fa[oa]=Zt[oa].evaluate(Fr,Zr)}return Fa},ft.reduce=function(la,Fa){Zr.properties=Fa;for(var Ra=0,jo=Vr;Ra<jo.length;Ra+=1){var oa=jo[Ra];Fr.accumulated=la[oa],la[oa]=yr[oa].evaluate(Fr,Zr)}},ft}var Wn=function(ft){var jt=this;this.self=ft,this.actor=new i.Actor(ft,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:v,geojson:$i},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(Zt,yr){if(jt.workerSourceTypes[Zt])throw new Error('Worker source with name \"'+Zt+'\" already registered.');jt.workerSourceTypes[Zt]=yr},this.self.registerRTLTextPlugin=function(Zt){if(i.plugin.isParsed())throw new Error(\"RTL text plugin already registered.\");i.plugin.applyArabicShaping=Zt.applyArabicShaping,i.plugin.processBidirectionalText=Zt.processBidirectionalText,i.plugin.processStyledBidirectionalText=Zt.processStyledBidirectionalText}};return Wn.prototype.setReferrer=function(ft,jt){this.referrer=jt},Wn.prototype.setImages=function(ft,jt,Zt){this.availableImages[ft]=jt;for(var yr in this.workerSources[ft]){var Fr=this.workerSources[ft][yr];for(var Zr in Fr)Fr[Zr].availableImages=jt}Zt()},Wn.prototype.setLayers=function(ft,jt,Zt){this.getLayerIndex(ft).replace(jt),Zt()},Wn.prototype.updateLayers=function(ft,jt,Zt){this.getLayerIndex(ft).update(jt.layers,jt.removedIds),Zt()},Wn.prototype.loadTile=function(ft,jt,Zt){this.getWorkerSource(ft,jt.type,jt.source).loadTile(jt,Zt)},Wn.prototype.loadDEMTile=function(ft,jt,Zt){this.getDEMWorkerSource(ft,jt.source).loadTile(jt,Zt)},Wn.prototype.reloadTile=function(ft,jt,Zt){this.getWorkerSource(ft,jt.type,jt.source).reloadTile(jt,Zt)},Wn.prototype.abortTile=function(ft,jt,Zt){this.getWorkerSource(ft,jt.type,jt.source).abortTile(jt,Zt)},Wn.prototype.removeTile=function(ft,jt,Zt){this.getWorkerSource(ft,jt.type,jt.source).removeTile(jt,Zt)},Wn.prototype.removeDEMTile=function(ft,jt){this.getDEMWorkerSource(ft,jt.source).removeTile(jt)},Wn.prototype.removeSource=function(ft,jt,Zt){if(!(!this.workerSources[ft]||!this.workerSources[ft][jt.type]||!this.workerSources[ft][jt.type][jt.source])){var yr=this.workerSources[ft][jt.type][jt.source];delete this.workerSources[ft][jt.type][jt.source],yr.removeSource!==void 0?yr.removeSource(jt,Zt):Zt()}},Wn.prototype.loadWorkerSource=function(ft,jt,Zt){try{this.self.importScripts(jt.url),Zt()}catch(yr){Zt(yr.toString())}},Wn.prototype.syncRTLPluginState=function(ft,jt,Zt){try{i.plugin.setState(jt);var yr=i.plugin.getPluginURL();if(i.plugin.isLoaded()&&!i.plugin.isParsed()&&yr!=null){this.self.importScripts(yr);var Fr=i.plugin.isParsed(),Zr=Fr?void 0:new Error(\"RTL Text Plugin failed to import scripts from \"+yr);Zt(Zr,Fr)}}catch(Vr){Zt(Vr.toString())}},Wn.prototype.getAvailableImages=function(ft){var jt=this.availableImages[ft];return jt||(jt=[]),jt},Wn.prototype.getLayerIndex=function(ft){var jt=this.layerIndexes[ft];return jt||(jt=this.layerIndexes[ft]=new l),jt},Wn.prototype.getWorkerSource=function(ft,jt,Zt){var yr=this;if(this.workerSources[ft]||(this.workerSources[ft]={}),this.workerSources[ft][jt]||(this.workerSources[ft][jt]={}),!this.workerSources[ft][jt][Zt]){var Fr={send:function(Zr,Vr,gi){yr.actor.send(Zr,Vr,gi,ft)}};this.workerSources[ft][jt][Zt]=new this.workerSourceTypes[jt](Fr,this.getLayerIndex(ft),this.getAvailableImages(ft))}return this.workerSources[ft][jt][Zt]},Wn.prototype.getDEMWorkerSource=function(ft,jt){return this.demWorkerSources[ft]||(this.demWorkerSources[ft]={}),this.demWorkerSources[ft][jt]||(this.demWorkerSources[ft][jt]=new b),this.demWorkerSources[ft][jt]},Wn.prototype.enforceCacheSizeLimit=function(ft,jt){i.enforceCacheSizeLimit(jt)},typeof WorkerGlobalScope!=\"undefined\"&&typeof self!=\"undefined\"&&self instanceof WorkerGlobalScope&&(self.worker=new Wn(self)),Wn}),n([\"./shared\"],function(i){\"use strict\";var a=i.createCommonjsModule(function(Y){Y.exports?Y.exports=z:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=z,window.mapboxgl.notSupportedReason=K);function z(rr){return!K(rr)}function K(rr){if(!O())return\"not a browser\";if(!$())return\"insufficent Array support\";if(!pe())return\"insufficient Function support\";if(!de())return\"insufficient Object support\";if(!Ie())return\"insufficient JSON support\";if(!$e())return\"insufficient worker support\";if(!pt())return\"insufficient Uint8ClampedArray support\";if(!Kt())return\"insufficient ArrayBuffer support\";if(!ir())return\"insufficient Canvas/getImageData support\";if(!vt(rr&&rr.failIfMajorPerformanceCaveat))return\"insufficient WebGL support\"}function O(){return typeof window!=\"undefined\"&&typeof document!=\"undefined\"}function $(){return Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray}function pe(){return Function.prototype&&Function.prototype.bind}function de(){return Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions}function Ie(){return\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON}function $e(){if(!(\"Worker\"in window&&\"Blob\"in window&&\"URL\"in window))return!1;var rr=new Blob([\"\"],{type:\"text/javascript\"}),dr=URL.createObjectURL(rr),pr,kr;try{kr=new Worker(dr),pr=!0}catch(Ar){pr=!1}return kr&&kr.terminate(),URL.revokeObjectURL(dr),pr}function pt(){return\"Uint8ClampedArray\"in window}function Kt(){return ArrayBuffer.isView}function ir(){var rr=document.createElement(\"canvas\");rr.width=rr.height=1;var dr=rr.getContext(\"2d\");if(!dr)return!1;var pr=dr.getImageData(0,0,1,1);return pr&&pr.width===rr.width}var Jt={};function vt(rr){return Jt[rr]===void 0&&(Jt[rr]=Wt(rr)),Jt[rr]}z.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0};function Pt(rr){var dr=document.createElement(\"canvas\"),pr=Object.create(z.webGLContextAttributes);return pr.failIfMajorPerformanceCaveat=rr,dr.probablySupportsContext?dr.probablySupportsContext(\"webgl\",pr)||dr.probablySupportsContext(\"experimental-webgl\",pr):dr.supportsContext?dr.supportsContext(\"webgl\",pr)||dr.supportsContext(\"experimental-webgl\",pr):dr.getContext(\"webgl\",pr)||dr.getContext(\"experimental-webgl\",pr)}function Wt(rr){var dr=Pt(rr);if(!dr)return!1;var pr=dr.createShader(dr.VERTEX_SHADER);return!pr||dr.isContextLost()?!1:(dr.shaderSource(pr,\"void main() {}\"),dr.compileShader(pr),dr.getShaderParameter(pr,dr.COMPILE_STATUS)===!0)}}),o={};o.create=function(Y,z,K){var O=i.window.document.createElement(Y);return z!==void 0&&(O.className=z),K&&K.appendChild(O),O},o.createNS=function(Y,z){var K=i.window.document.createElementNS(Y,z);return K};var s=i.window.document&&i.window.document.documentElement.style;function l(Y){if(!s)return Y[0];for(var z=0;z<Y.length;z++)if(Y[z]in s)return Y[z];return Y[0]}var u=l([\"userSelect\",\"MozUserSelect\",\"WebkitUserSelect\",\"msUserSelect\"]),c;o.disableDrag=function(){s&&u&&(c=s[u],s[u]=\"none\")},o.enableDrag=function(){s&&u&&(s[u]=c)};var f=l([\"transform\",\"WebkitTransform\"]);o.setTransform=function(Y,z){Y.style[f]=z};var h=!1;try{var d=Object.defineProperty({},\"passive\",{get:function(){h=!0}});i.window.addEventListener(\"test\",d,d),i.window.removeEventListener(\"test\",d,d)}catch(Y){h=!1}o.addEventListener=function(Y,z,K,O){O===void 0&&(O={}),\"passive\"in O&&h?Y.addEventListener(z,K,O):Y.addEventListener(z,K,O.capture)},o.removeEventListener=function(Y,z,K,O){O===void 0&&(O={}),\"passive\"in O&&h?Y.removeEventListener(z,K,O):Y.removeEventListener(z,K,O.capture)};var v=function(Y){Y.preventDefault(),Y.stopPropagation(),i.window.removeEventListener(\"click\",v,!0)};o.suppressClick=function(){i.window.addEventListener(\"click\",v,!0),i.window.setTimeout(function(){i.window.removeEventListener(\"click\",v,!0)},0)},o.mousePos=function(Y,z){var K=Y.getBoundingClientRect();return new i.Point(z.clientX-K.left-Y.clientLeft,z.clientY-K.top-Y.clientTop)},o.touchPos=function(Y,z){for(var K=Y.getBoundingClientRect(),O=[],$=0;$<z.length;$++)O.push(new i.Point(z[$].clientX-K.left-Y.clientLeft,z[$].clientY-K.top-Y.clientTop));return O},o.mouseButton=function(Y){return typeof i.window.InstallTrigger!=\"undefined\"&&Y.button===2&&Y.ctrlKey&&i.window.navigator.platform.toUpperCase().indexOf(\"MAC\")>=0?0:Y.button},o.remove=function(Y){Y.parentNode&&Y.parentNode.removeChild(Y)};function x(Y,z,K){var O,$,pe,de=i.browser.devicePixelRatio>1?\"@2x\":\"\",Ie=i.getJSON(z.transformRequest(z.normalizeSpriteURL(Y,de,\".json\"),i.ResourceType.SpriteJSON),function(Kt,ir){Ie=null,pe||(pe=Kt,O=ir,pt())}),$e=i.getImage(z.transformRequest(z.normalizeSpriteURL(Y,de,\".png\"),i.ResourceType.SpriteImage),function(Kt,ir){$e=null,pe||(pe=Kt,$=ir,pt())});function pt(){if(pe)K(pe);else if(O&&$){var Kt=i.browser.getImageData($),ir={};for(var Jt in O){var vt=O[Jt],Pt=vt.width,Wt=vt.height,rr=vt.x,dr=vt.y,pr=vt.sdf,kr=vt.pixelRatio,Ar=vt.stretchX,gr=vt.stretchY,Cr=vt.content,cr=new i.RGBAImage({width:Pt,height:Wt});i.RGBAImage.copy(Kt,cr,{x:rr,y:dr},{x:0,y:0},{width:Pt,height:Wt}),ir[Jt]={data:cr,pixelRatio:kr,sdf:pr,stretchX:Ar,stretchY:gr,content:Cr}}K(null,ir)}}return{cancel:function(){Ie&&(Ie.cancel(),Ie=null),$e&&($e.cancel(),$e=null)}}}function b(Y){var z=Y.userImage;if(z&&z.render){var K=z.render();if(K)return Y.data.replace(new Uint8Array(z.data.buffer)),!0}return!1}var p=1,E=function(Y){function z(){Y.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new i.RGBAImage({width:1,height:1}),this.dirty=!0}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.isLoaded=function(){return this.loaded},z.prototype.setLoaded=function(O){if(this.loaded!==O&&(this.loaded=O,O)){for(var $=0,pe=this.requestors;$<pe.length;$+=1){var de=pe[$],Ie=de.ids,$e=de.callback;this._notify(Ie,$e)}this.requestors=[]}},z.prototype.getImage=function(O){return this.images[O]},z.prototype.addImage=function(O,$){this._validate(O,$)&&(this.images[O]=$)},z.prototype._validate=function(O,$){var pe=!0;return this._validateStretch($.stretchX,$.data&&$.data.width)||(this.fire(new i.ErrorEvent(new Error('Image \"'+O+'\" has invalid \"stretchX\" value'))),pe=!1),this._validateStretch($.stretchY,$.data&&$.data.height)||(this.fire(new i.ErrorEvent(new Error('Image \"'+O+'\" has invalid \"stretchY\" value'))),pe=!1),this._validateContent($.content,$)||(this.fire(new i.ErrorEvent(new Error('Image \"'+O+'\" has invalid \"content\" value'))),pe=!1),pe},z.prototype._validateStretch=function(O,$){if(!O)return!0;for(var pe=0,de=0,Ie=O;de<Ie.length;de+=1){var $e=Ie[de];if($e[0]<pe||$e[1]<$e[0]||$<$e[1])return!1;pe=$e[1]}return!0},z.prototype._validateContent=function(O,$){return O?!(O.length!==4||O[0]<0||$.data.width<O[0]||O[1]<0||$.data.height<O[1]||O[2]<0||$.data.width<O[2]||O[3]<0||$.data.height<O[3]||O[2]<O[0]||O[3]<O[1]):!0},z.prototype.updateImage=function(O,$){var pe=this.images[O];$.version=pe.version+1,this.images[O]=$,this.updatedImages[O]=!0},z.prototype.removeImage=function(O){var $=this.images[O];delete this.images[O],delete this.patterns[O],$.userImage&&$.userImage.onRemove&&$.userImage.onRemove()},z.prototype.listImages=function(){return Object.keys(this.images)},z.prototype.getImages=function(O,$){var pe=!0;if(!this.isLoaded())for(var de=0,Ie=O;de<Ie.length;de+=1){var $e=Ie[de];this.images[$e]||(pe=!1)}this.isLoaded()||pe?this._notify(O,$):this.requestors.push({ids:O,callback:$})},z.prototype._notify=function(O,$){for(var pe={},de=0,Ie=O;de<Ie.length;de+=1){var $e=Ie[de];this.images[$e]||this.fire(new i.Event(\"styleimagemissing\",{id:$e}));var pt=this.images[$e];pt?pe[$e]={data:pt.data.clone(),pixelRatio:pt.pixelRatio,sdf:pt.sdf,version:pt.version,stretchX:pt.stretchX,stretchY:pt.stretchY,content:pt.content,hasRenderCallback:!!(pt.userImage&&pt.userImage.render)}:i.warnOnce('Image \"'+$e+'\" 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.')}$(null,pe)},z.prototype.getPixelSize=function(){var O=this.atlasImage,$=O.width,pe=O.height;return{width:$,height:pe}},z.prototype.getPattern=function(O){var $=this.patterns[O],pe=this.getImage(O);if(!pe)return null;if($&&$.position.version===pe.version)return $.position;if($)$.position.version=pe.version;else{var de=pe.data.width+p*2,Ie=pe.data.height+p*2,$e={w:de,h:Ie,x:0,y:0},pt=new i.ImagePosition($e,pe);this.patterns[O]={bin:$e,position:pt}}return this._updatePatternAtlas(),this.patterns[O].position},z.prototype.bind=function(O){var $=O.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new i.Texture(O,this.atlasImage,$.RGBA),this.atlasTexture.bind($.LINEAR,$.CLAMP_TO_EDGE)},z.prototype._updatePatternAtlas=function(){var O=[];for(var $ in this.patterns)O.push(this.patterns[$].bin);var pe=i.potpack(O),de=pe.w,Ie=pe.h,$e=this.atlasImage;$e.resize({width:de||1,height:Ie||1});for(var pt in this.patterns){var Kt=this.patterns[pt],ir=Kt.bin,Jt=ir.x+p,vt=ir.y+p,Pt=this.images[pt].data,Wt=Pt.width,rr=Pt.height;i.RGBAImage.copy(Pt,$e,{x:0,y:0},{x:Jt,y:vt},{width:Wt,height:rr}),i.RGBAImage.copy(Pt,$e,{x:0,y:rr-1},{x:Jt,y:vt-1},{width:Wt,height:1}),i.RGBAImage.copy(Pt,$e,{x:0,y:0},{x:Jt,y:vt+rr},{width:Wt,height:1}),i.RGBAImage.copy(Pt,$e,{x:Wt-1,y:0},{x:Jt-1,y:vt},{width:1,height:rr}),i.RGBAImage.copy(Pt,$e,{x:0,y:0},{x:Jt+Wt,y:vt},{width:1,height:rr})}this.dirty=!0},z.prototype.beginFrame=function(){this.callbackDispatchedThisFrame={}},z.prototype.dispatchRenderCallbacks=function(O){for(var $=0,pe=O;$<pe.length;$+=1){var de=pe[$];if(!this.callbackDispatchedThisFrame[de]){this.callbackDispatchedThisFrame[de]=!0;var Ie=this.images[de],$e=b(Ie);$e&&this.updateImage(de,Ie)}}},z}(i.Evented);function k(Y,z,K,O,$){var pe=z*256,de=pe+255,Ie=O.transformRequest(O.normalizeGlyphsURL(K).replace(\"{fontstack}\",Y).replace(\"{range}\",pe+\"-\"+de),i.ResourceType.Glyphs);i.getArrayBuffer(Ie,function($e,pt){if($e)$($e);else if(pt){for(var Kt={},ir=0,Jt=i.parseGlyphPBF(pt);ir<Jt.length;ir+=1){var vt=Jt[ir];Kt[vt.id]=vt}$(null,Kt)}})}var A=C,L=C,_=1e20;function C(Y,z,K,O,$,pe){this.fontSize=Y||24,this.buffer=z===void 0?3:z,this.cutoff=O||.25,this.fontFamily=$||\"sans-serif\",this.fontWeight=pe||\"normal\",this.radius=K||8;var de=this.size=this.fontSize+this.buffer*2;this.canvas=document.createElement(\"canvas\"),this.canvas.width=this.canvas.height=de,this.ctx=this.canvas.getContext(\"2d\"),this.ctx.font=this.fontWeight+\" \"+this.fontSize+\"px \"+this.fontFamily,this.ctx.textBaseline=\"middle\",this.ctx.fillStyle=\"black\",this.gridOuter=new Float64Array(de*de),this.gridInner=new Float64Array(de*de),this.f=new Float64Array(de),this.d=new Float64Array(de),this.z=new Float64Array(de+1),this.v=new Int16Array(de),this.middle=Math.round(de/2*(navigator.userAgent.indexOf(\"Gecko/\")>=0?1.2:1))}C.prototype.draw=function(Y){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(Y,this.buffer,this.middle);for(var z=this.ctx.getImageData(0,0,this.size,this.size),K=new Uint8ClampedArray(this.size*this.size),O=0;O<this.size*this.size;O++){var $=z.data[O*4+3]/255;this.gridOuter[O]=$===1?0:$===0?_:Math.pow(Math.max(0,.5-$),2),this.gridInner[O]=$===1?_:$===0?0:Math.pow(Math.max(0,$-.5),2)}for(M(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),M(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),O=0;O<this.size*this.size;O++){var pe=this.gridOuter[O]-this.gridInner[O];K[O]=Math.max(0,Math.min(255,Math.round(255-255*(pe/this.radius+this.cutoff))))}return K};function M(Y,z,K,O,$,pe,de){for(var Ie=0;Ie<z;Ie++){for(var $e=0;$e<K;$e++)O[$e]=Y[$e*z+Ie];for(g(O,$,pe,de,K),$e=0;$e<K;$e++)Y[$e*z+Ie]=$[$e]}for($e=0;$e<K;$e++){for(Ie=0;Ie<z;Ie++)O[Ie]=Y[$e*z+Ie];for(g(O,$,pe,de,z),Ie=0;Ie<z;Ie++)Y[$e*z+Ie]=Math.sqrt($[Ie])}}function g(Y,z,K,O,$){K[0]=0,O[0]=-_,O[1]=+_;for(var pe=1,de=0;pe<$;pe++){for(var Ie=(Y[pe]+pe*pe-(Y[K[de]]+K[de]*K[de]))/(2*pe-2*K[de]);Ie<=O[de];)de--,Ie=(Y[pe]+pe*pe-(Y[K[de]]+K[de]*K[de]))/(2*pe-2*K[de]);de++,K[de]=pe,O[de]=Ie,O[de+1]=+_}for(pe=0,de=0;pe<$;pe++){for(;O[de+1]<pe;)de++;z[pe]=(pe-K[de])*(pe-K[de])+Y[K[de]]}}A.default=L;var P=function(z,K){this.requestManager=z,this.localIdeographFontFamily=K,this.entries={}};P.prototype.setURL=function(z){this.url=z},P.prototype.getGlyphs=function(z,K){var O=this,$=[];for(var pe in z)for(var de=0,Ie=z[pe];de<Ie.length;de+=1){var $e=Ie[de];$.push({stack:pe,id:$e})}i.asyncAll($,function(pt,Kt){var ir=pt.stack,Jt=pt.id,vt=O.entries[ir];vt||(vt=O.entries[ir]={glyphs:{},requests:{},ranges:{}});var Pt=vt.glyphs[Jt];if(Pt!==void 0){Kt(null,{stack:ir,id:Jt,glyph:Pt});return}if(Pt=O._tinySDF(vt,ir,Jt),Pt){vt.glyphs[Jt]=Pt,Kt(null,{stack:ir,id:Jt,glyph:Pt});return}var Wt=Math.floor(Jt/256);if(Wt*256>65535){Kt(new Error(\"glyphs > 65535 not supported\"));return}if(vt.ranges[Wt]){Kt(null,{stack:ir,id:Jt,glyph:Pt});return}var rr=vt.requests[Wt];rr||(rr=vt.requests[Wt]=[],P.loadGlyphRange(ir,Wt,O.url,O.requestManager,function(dr,pr){if(pr){for(var kr in pr)O._doesCharSupportLocalGlyph(+kr)||(vt.glyphs[+kr]=pr[+kr]);vt.ranges[Wt]=!0}for(var Ar=0,gr=rr;Ar<gr.length;Ar+=1){var Cr=gr[Ar];Cr(dr,pr)}delete vt.requests[Wt]})),rr.push(function(dr,pr){dr?Kt(dr):pr&&Kt(null,{stack:ir,id:Jt,glyph:pr[Jt]||null})})},function(pt,Kt){if(pt)K(pt);else if(Kt){for(var ir={},Jt=0,vt=Kt;Jt<vt.length;Jt+=1){var Pt=vt[Jt],Wt=Pt.stack,rr=Pt.id,dr=Pt.glyph;(ir[Wt]||(ir[Wt]={}))[rr]=dr&&{id:dr.id,bitmap:dr.bitmap.clone(),metrics:dr.metrics}}K(null,ir)}})},P.prototype._doesCharSupportLocalGlyph=function(z){return!!this.localIdeographFontFamily&&(i.isChar[\"CJK Unified Ideographs\"](z)||i.isChar[\"Hangul Syllables\"](z)||i.isChar.Hiragana(z)||i.isChar.Katakana(z))},P.prototype._tinySDF=function(z,K,O){var $=this.localIdeographFontFamily;if($&&this._doesCharSupportLocalGlyph(O)){var pe=z.tinySDF;if(!pe){var de=\"400\";/bold/i.test(K)?de=\"900\":/medium/i.test(K)?de=\"500\":/light/i.test(K)&&(de=\"200\"),pe=z.tinySDF=new P.TinySDF(24,3,8,.25,$,de)}return{id:O,bitmap:new i.AlphaImage({width:30,height:30},pe.draw(String.fromCharCode(O))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},P.loadGlyphRange=k,P.TinySDF=A;var T=function(){this.specification=i.styleSpec.light.position};T.prototype.possiblyEvaluate=function(z,K){return i.sphericalToCartesian(z.expression.evaluate(K))},T.prototype.interpolate=function(z,K,O){return{x:i.number(z.x,K.x,O),y:i.number(z.y,K.y,O),z:i.number(z.z,K.z,O)}};var F=new i.Properties({anchor:new i.DataConstantProperty(i.styleSpec.light.anchor),position:new T,color:new i.DataConstantProperty(i.styleSpec.light.color),intensity:new i.DataConstantProperty(i.styleSpec.light.intensity)}),q=\"-transition\",V=function(Y){function z(K){Y.call(this),this._transitionable=new i.Transitionable(F),this.setLight(K),this._transitioning=this._transitionable.untransitioned()}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getLight=function(){return this._transitionable.serialize()},z.prototype.setLight=function(O,$){if($===void 0&&($={}),!this._validate(i.validateLight,O,$))for(var pe in O){var de=O[pe];i.endsWith(pe,q)?this._transitionable.setTransition(pe.slice(0,-q.length),de):this._transitionable.setValue(pe,de)}},z.prototype.updateTransitions=function(O){this._transitioning=this._transitionable.transitioned(O,this._transitioning)},z.prototype.hasTransition=function(){return this._transitioning.hasTransition()},z.prototype.recalculate=function(O){this.properties=this._transitioning.possiblyEvaluate(O)},z.prototype._validate=function(O,$,pe){return pe&&pe.validate===!1?!1:i.emitValidationErrors(this,O.call(i.validateStyle,i.extend({value:$,style:{glyphs:!0,sprite:!0},styleSpec:i.styleSpec})))},z}(i.Evented),H=function(z,K){this.width=z,this.height=K,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}};H.prototype.getDash=function(z,K){var O=z.join(\",\")+String(K);return this.dashEntry[O]||(this.dashEntry[O]=this.addDash(z,K)),this.dashEntry[O]},H.prototype.getDashRanges=function(z,K,O){var $=z.length%2===1,pe=[],de=$?-z[z.length-1]*O:0,Ie=z[0]*O,$e=!0;pe.push({left:de,right:Ie,isDash:$e,zeroLength:z[0]===0});for(var pt=z[0],Kt=1;Kt<z.length;Kt++){$e=!$e;var ir=z[Kt];de=pt*O,pt+=ir,Ie=pt*O,pe.push({left:de,right:Ie,isDash:$e,zeroLength:ir===0})}return pe},H.prototype.addRoundDash=function(z,K,O){for(var $=K/2,pe=-O;pe<=O;pe++)for(var de=this.nextRow+O+pe,Ie=this.width*de,$e=0,pt=z[$e],Kt=0;Kt<this.width;Kt++){Kt/pt.right>1&&(pt=z[++$e]);var ir=Math.abs(Kt-pt.left),Jt=Math.abs(Kt-pt.right),vt=Math.min(ir,Jt),Pt=void 0,Wt=pe/O*($+1);if(pt.isDash){var rr=$-Math.abs(Wt);Pt=Math.sqrt(vt*vt+rr*rr)}else Pt=$-Math.sqrt(vt*vt+Wt*Wt);this.data[Ie+Kt]=Math.max(0,Math.min(255,Pt+128))}},H.prototype.addRegularDash=function(z){for(var K=z.length-1;K>=0;--K){var O=z[K],$=z[K+1];O.zeroLength?z.splice(K,1):$&&$.isDash===O.isDash&&($.left=O.left,z.splice(K,1))}var pe=z[0],de=z[z.length-1];pe.isDash===de.isDash&&(pe.left=de.left-this.width,de.right=pe.right+this.width);for(var Ie=this.width*this.nextRow,$e=0,pt=z[$e],Kt=0;Kt<this.width;Kt++){Kt/pt.right>1&&(pt=z[++$e]);var ir=Math.abs(Kt-pt.left),Jt=Math.abs(Kt-pt.right),vt=Math.min(ir,Jt),Pt=pt.isDash?vt:-vt;this.data[Ie+Kt]=Math.max(0,Math.min(255,Pt+128))}},H.prototype.addDash=function(z,K){var O=K?7:0,$=2*O+1;if(this.nextRow+$>this.height)return i.warnOnce(\"LineAtlas out of space\"),null;for(var pe=0,de=0;de<z.length;de++)pe+=z[de];if(pe!==0){var Ie=this.width/pe,$e=this.getDashRanges(z,this.width,Ie);K?this.addRoundDash($e,Ie,O):this.addRegularDash($e)}var pt={y:(this.nextRow+O+.5)/this.height,height:2*O/this.height,width:pe};return this.nextRow+=$,this.dirty=!0,pt},H.prototype.bind=function(z){var K=z.gl;this.texture?(K.bindTexture(K.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,K.texSubImage2D(K.TEXTURE_2D,0,0,0,this.width,this.height,K.ALPHA,K.UNSIGNED_BYTE,this.data))):(this.texture=K.createTexture(),K.bindTexture(K.TEXTURE_2D,this.texture),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_WRAP_S,K.REPEAT),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_WRAP_T,K.REPEAT),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_MIN_FILTER,K.LINEAR),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_MAG_FILTER,K.LINEAR),K.texImage2D(K.TEXTURE_2D,0,K.ALPHA,this.width,this.height,0,K.ALPHA,K.UNSIGNED_BYTE,this.data))};var X=function Y(z,K){this.workerPool=z,this.actors=[],this.currentActor=0,this.id=i.uniqueId();for(var O=this.workerPool.acquire(this.id),$=0;$<O.length;$++){var pe=O[$],de=new Y.Actor(pe,K,this.id);de.name=\"Worker \"+$,this.actors.push(de)}};X.prototype.broadcast=function(z,K,O){O=O||function(){},i.asyncAll(this.actors,function($,pe){$.send(z,K,pe)},O)},X.prototype.getActor=function(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]},X.prototype.remove=function(){this.actors.forEach(function(z){z.remove()}),this.actors=[],this.workerPool.release(this.id)},X.Actor=i.Actor;function G(Y,z,K){var O=function($,pe){if($)return K($);if(pe){var de=i.pick(i.extend(pe,Y),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"mapbox_logo\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);pe.vector_layers&&(de.vectorLayers=pe.vector_layers,de.vectorLayerIds=de.vectorLayers.map(function(Ie){return Ie.id})),de.tiles=z.canonicalizeTileset(de,Y.url),K(null,de)}};return Y.url?i.getJSON(z.transformRequest(z.normalizeSourceURL(Y.url),i.ResourceType.Source),O):i.browser.frame(function(){return O(null,Y)})}var N=function(z,K,O){this.bounds=i.LngLatBounds.convert(this.validateBounds(z)),this.minzoom=K||0,this.maxzoom=O||24};N.prototype.validateBounds=function(z){return!Array.isArray(z)||z.length!==4?[-180,-90,180,90]:[Math.max(-180,z[0]),Math.max(-90,z[1]),Math.min(180,z[2]),Math.min(90,z[3])]},N.prototype.contains=function(z){var K=Math.pow(2,z.z),O={minX:Math.floor(i.mercatorXfromLng(this.bounds.getWest())*K),minY:Math.floor(i.mercatorYfromLat(this.bounds.getNorth())*K),maxX:Math.ceil(i.mercatorXfromLng(this.bounds.getEast())*K),maxY:Math.ceil(i.mercatorYfromLat(this.bounds.getSouth())*K)},$=z.x>=O.minX&&z.x<O.maxX&&z.y>=O.minY&&z.y<O.maxY;return $};var W=function(Y){function z(K,O,$,pe){if(Y.call(this),this.id=K,this.dispatcher=$,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,i.extend(this,i.pick(O,[\"url\",\"scheme\",\"tileSize\",\"promoteId\"])),this._options=i.extend({type:\"vector\"},O),this._collectResourceTiming=O.collectResourceTiming,this.tileSize!==512)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(pe)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){var O=this;this._loaded=!1,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=G(this._options,this.map._requestManager,function($,pe){O._tileJSONRequest=null,O._loaded=!0,$?O.fire(new i.ErrorEvent($)):pe&&(i.extend(O,pe),pe.bounds&&(O.tileBounds=new N(pe.bounds,O.minzoom,O.maxzoom)),i.postTurnstileEvent(pe.tiles,O.map._requestManager._customAccessToken),i.postMapLoadEvent(pe.tiles,O.map._getMapId(),O.map._requestManager._skuToken,O.map._requestManager._customAccessToken),O.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),O.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})},z.prototype.loaded=function(){return this._loaded},z.prototype.hasTile=function(O){return!this.tileBounds||this.tileBounds.contains(O.canonical)},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.setSourceProperty=function(O){this._tileJSONRequest&&this._tileJSONRequest.cancel(),O();var $=this.map.style.sourceCaches[this.id];$.clearTiles(),this.load()},z.prototype.setTiles=function(O){var $=this;return this.setSourceProperty(function(){$._options.tiles=O}),this},z.prototype.setUrl=function(O){var $=this;return this.setSourceProperty(function(){$.url=O,$._options.url=O}),this},z.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},z.prototype.serialize=function(){return i.extend({},this._options)},z.prototype.loadTile=function(O,$){var pe=this.map._requestManager.normalizeTileURL(O.tileID.canonical.url(this.tiles,this.scheme)),de={request:this.map._requestManager.transformRequest(pe,i.ResourceType.Tile),uid:O.uid,tileID:O.tileID,zoom:O.tileID.overscaledZ,tileSize:this.tileSize*O.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:i.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};de.request.collectResourceTiming=this._collectResourceTiming,!O.actor||O.state===\"expired\"?(O.actor=this.dispatcher.getActor(),O.request=O.actor.send(\"loadTile\",de,Ie.bind(this))):O.state===\"loading\"?O.reloadCallback=$:O.request=O.actor.send(\"reloadTile\",de,Ie.bind(this));function Ie($e,pt){if(delete O.request,O.aborted)return $(null);if($e&&$e.status!==404)return $($e);pt&&pt.resourceTiming&&(O.resourceTiming=pt.resourceTiming),this.map._refreshExpiredTiles&&pt&&O.setExpiryData(pt),O.loadVectorData(pt,this.map.painter),i.cacheEntryPossiblyAdded(this.dispatcher),$(null),O.reloadCallback&&(this.loadTile(O,O.reloadCallback),O.reloadCallback=null)}},z.prototype.abortTile=function(O){O.request&&(O.request.cancel(),delete O.request),O.actor&&O.actor.send(\"abortTile\",{uid:O.uid,type:this.type,source:this.id},void 0)},z.prototype.unloadTile=function(O){O.unloadVectorData(),O.actor&&O.actor.send(\"removeTile\",{uid:O.uid,type:this.type,source:this.id},void 0)},z.prototype.hasTransition=function(){return!1},z}(i.Evented),re=function(Y){function z(K,O,$,pe){Y.call(this),this.id=K,this.dispatcher=$,this.setEventedParent(pe),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=i.extend({type:\"raster\"},O),i.extend(this,i.pick(O,[\"url\",\"scheme\",\"tileSize\"]))}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){var O=this;this._loaded=!1,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=G(this._options,this.map._requestManager,function($,pe){O._tileJSONRequest=null,O._loaded=!0,$?O.fire(new i.ErrorEvent($)):pe&&(i.extend(O,pe),pe.bounds&&(O.tileBounds=new N(pe.bounds,O.minzoom,O.maxzoom)),i.postTurnstileEvent(pe.tiles),i.postMapLoadEvent(pe.tiles,O.map._getMapId(),O.map._requestManager._skuToken),O.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),O.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})},z.prototype.loaded=function(){return this._loaded},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},z.prototype.serialize=function(){return i.extend({},this._options)},z.prototype.hasTile=function(O){return!this.tileBounds||this.tileBounds.contains(O.canonical)},z.prototype.loadTile=function(O,$){var pe=this,de=this.map._requestManager.normalizeTileURL(O.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);O.request=i.getImage(this.map._requestManager.transformRequest(de,i.ResourceType.Tile),function(Ie,$e){if(delete O.request,O.aborted)O.state=\"unloaded\",$(null);else if(Ie)O.state=\"errored\",$(Ie);else if($e){pe.map._refreshExpiredTiles&&O.setExpiryData($e),delete $e.cacheControl,delete $e.expires;var pt=pe.map.painter.context,Kt=pt.gl;O.texture=pe.map.painter.getTileTexture($e.width),O.texture?O.texture.update($e,{useMipmap:!0}):(O.texture=new i.Texture(pt,$e,Kt.RGBA,{useMipmap:!0}),O.texture.bind(Kt.LINEAR,Kt.CLAMP_TO_EDGE,Kt.LINEAR_MIPMAP_NEAREST),pt.extTextureFilterAnisotropic&&Kt.texParameterf(Kt.TEXTURE_2D,pt.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,pt.extTextureFilterAnisotropicMax)),O.state=\"loaded\",i.cacheEntryPossiblyAdded(pe.dispatcher),$(null)}})},z.prototype.abortTile=function(O,$){O.request&&(O.request.cancel(),delete O.request),$()},z.prototype.unloadTile=function(O,$){O.texture&&this.map.painter.saveTileTexture(O.texture),$()},z.prototype.hasTransition=function(){return!1},z}(i.Evented),ae=function(Y){function z(K,O,$,pe){Y.call(this,K,O,$,pe),this.type=\"raster-dem\",this.maxzoom=22,this._options=i.extend({type:\"raster-dem\"},O),this.encoding=O.encoding||\"mapbox\"}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.serialize=function(){return{type:\"raster-dem\",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}},z.prototype.loadTile=function(O,$){var pe=this.map._requestManager.normalizeTileURL(O.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);O.request=i.getImage(this.map._requestManager.transformRequest(pe,i.ResourceType.Tile),de.bind(this)),O.neighboringTiles=this._getNeighboringTiles(O.tileID);function de($e,pt){if(delete O.request,O.aborted)O.state=\"unloaded\",$(null);else if($e)O.state=\"errored\",$($e);else if(pt){this.map._refreshExpiredTiles&&O.setExpiryData(pt),delete pt.cacheControl,delete pt.expires;var Kt=i.window.ImageBitmap&&pt instanceof i.window.ImageBitmap&&i.offscreenCanvasSupported(),ir=Kt?pt:i.browser.getImageData(pt,1),Jt={uid:O.uid,coord:O.tileID,source:this.id,rawImageData:ir,encoding:this.encoding};(!O.actor||O.state===\"expired\")&&(O.actor=this.dispatcher.getActor(),O.actor.send(\"loadDEMTile\",Jt,Ie.bind(this)))}}function Ie($e,pt){$e&&(O.state=\"errored\",$($e)),pt&&(O.dem=pt,O.needsHillshadePrepare=!0,O.state=\"loaded\",$(null))}},z.prototype._getNeighboringTiles=function(O){var $=O.canonical,pe=Math.pow(2,$.z),de=($.x-1+pe)%pe,Ie=$.x===0?O.wrap-1:O.wrap,$e=($.x+1+pe)%pe,pt=$.x+1===pe?O.wrap+1:O.wrap,Kt={};return Kt[new i.OverscaledTileID(O.overscaledZ,Ie,$.z,de,$.y).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,pt,$.z,$e,$.y).key]={backfilled:!1},$.y>0&&(Kt[new i.OverscaledTileID(O.overscaledZ,Ie,$.z,de,$.y-1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,O.wrap,$.z,$.x,$.y-1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,pt,$.z,$e,$.y-1).key]={backfilled:!1}),$.y+1<pe&&(Kt[new i.OverscaledTileID(O.overscaledZ,Ie,$.z,de,$.y+1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,O.wrap,$.z,$.x,$.y+1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,pt,$.z,$e,$.y+1).key]={backfilled:!1}),Kt},z.prototype.unloadTile=function(O){O.demTexture&&this.map.painter.saveTileTexture(O.demTexture),O.fbo&&(O.fbo.destroy(),delete O.fbo),O.dem&&delete O.dem,delete O.neighboringTiles,O.state=\"unloaded\",O.actor&&O.actor.send(\"removeDEMTile\",{uid:O.uid,source:this.id})},z}(re),_e=function(Y){function z(K,O,$,pe){Y.call(this),this.id=K,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._loaded=!1,this.actor=$.getActor(),this.setEventedParent(pe),this._data=O.data,this._options=i.extend({},O),this._collectResourceTiming=O.collectResourceTiming,this._resourceTiming=[],O.maxzoom!==void 0&&(this.maxzoom=O.maxzoom),O.type&&(this.type=O.type),O.attribution&&(this.attribution=O.attribution),this.promoteId=O.promoteId;var de=i.EXTENT/this.tileSize;this.workerOptions=i.extend({source:this.id,cluster:O.cluster||!1,geojsonVtOptions:{buffer:(O.buffer!==void 0?O.buffer:128)*de,tolerance:(O.tolerance!==void 0?O.tolerance:.375)*de,extent:i.EXTENT,maxZoom:this.maxzoom,lineMetrics:O.lineMetrics||!1,generateId:O.generateId||!1},superclusterOptions:{maxZoom:O.clusterMaxZoom!==void 0?Math.min(O.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,minPoints:Math.max(2,O.clusterMinPoints||2),extent:i.EXTENT,radius:(O.clusterRadius||50)*de,log:!1,generateId:O.generateId||!1},clusterProperties:O.clusterProperties,filter:O.filter},O.workerOptions)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){var O=this;this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData(function($){if($){O.fire(new i.ErrorEvent($));return}var pe={dataType:\"source\",sourceDataType:\"metadata\"};O._collectResourceTiming&&O._resourceTiming&&O._resourceTiming.length>0&&(pe.resourceTiming=O._resourceTiming,O._resourceTiming=[]),O.fire(new i.Event(\"data\",pe))})},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.setData=function(O){var $=this;return this._data=O,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData(function(pe){if(pe){$.fire(new i.ErrorEvent(pe));return}var de={dataType:\"source\",sourceDataType:\"content\"};$._collectResourceTiming&&$._resourceTiming&&$._resourceTiming.length>0&&(de.resourceTiming=$._resourceTiming,$._resourceTiming=[]),$.fire(new i.Event(\"data\",de))}),this},z.prototype.getClusterExpansionZoom=function(O,$){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:O,source:this.id},$),this},z.prototype.getClusterChildren=function(O,$){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:O,source:this.id},$),this},z.prototype.getClusterLeaves=function(O,$,pe,de){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:O,limit:$,offset:pe},de),this},z.prototype._updateWorkerData=function(O){var $=this;this._loaded=!1;var pe=i.extend({},this.workerOptions),de=this._data;typeof de==\"string\"?(pe.request=this.map._requestManager.transformRequest(i.browser.resolveURL(de),i.ResourceType.Source),pe.request.collectResourceTiming=this._collectResourceTiming):pe.data=JSON.stringify(de),this.actor.send(this.type+\".loadData\",pe,function(Ie,$e){$._removed||$e&&$e.abandoned||($._loaded=!0,$e&&$e.resourceTiming&&$e.resourceTiming[$.id]&&($._resourceTiming=$e.resourceTiming[$.id].slice(0)),$.actor.send($.type+\".coalesce\",{source:pe.source},null),O(Ie))})},z.prototype.loaded=function(){return this._loaded},z.prototype.loadTile=function(O,$){var pe=this,de=O.actor?\"reloadTile\":\"loadTile\";O.actor=this.actor;var Ie={type:this.type,uid:O.uid,tileID:O.tileID,zoom:O.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:i.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};O.request=this.actor.send(de,Ie,function($e,pt){return delete O.request,O.unloadVectorData(),O.aborted?$(null):$e?$($e):(O.loadVectorData(pt,pe.map.painter,de===\"reloadTile\"),$(null))})},z.prototype.abortTile=function(O){O.request&&(O.request.cancel(),delete O.request),O.aborted=!0},z.prototype.unloadTile=function(O){O.unloadVectorData(),this.actor.send(\"removeTile\",{uid:O.uid,type:this.type,source:this.id})},z.prototype.onRemove=function(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id})},z.prototype.serialize=function(){return i.extend({},this._options,{type:this.type,data:this._data})},z.prototype.hasTransition=function(){return!1},z}(i.Evented),Me=i.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]),ke=function(Y){function z(K,O,$,pe){Y.call(this),this.id=K,this.dispatcher=$,this.coordinates=O.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(pe),this.options=O}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(O,$){var pe=this;this._loaded=!1,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,i.getImage(this.map._requestManager.transformRequest(this.url,i.ResourceType.Image),function(de,Ie){pe._loaded=!0,de?pe.fire(new i.ErrorEvent(de)):Ie&&(pe.image=Ie,O&&(pe.coordinates=O),$&&$(),pe._finishLoading())})},z.prototype.loaded=function(){return this._loaded},z.prototype.updateImage=function(O){var $=this;return!this.image||!O.url?this:(this.options.url=O.url,this.load(O.coordinates,function(){$.texture=null}),this)},z.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.setCoordinates=function(O){var $=this;this.coordinates=O;var pe=O.map(i.MercatorCoordinate.fromLngLat);this.tileID=ge(pe),this.minzoom=this.maxzoom=this.tileID.z;var de=pe.map(function(Ie){return $.tileID.getTilePoint(Ie)._round()});return this._boundsArray=new i.StructArrayLayout4i8,this._boundsArray.emplaceBack(de[0].x,de[0].y,0,0),this._boundsArray.emplaceBack(de[1].x,de[1].y,i.EXTENT,0),this._boundsArray.emplaceBack(de[3].x,de[3].y,0,i.EXTENT),this._boundsArray.emplaceBack(de[2].x,de[2].y,i.EXTENT,i.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this},z.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||!this.image)){var O=this.map.painter.context,$=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new i.Texture(O,this.image,$.RGBA),this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE));for(var pe in this.tiles){var de=this.tiles[pe];de.state!==\"loaded\"&&(de.state=\"loaded\",de.texture=this.texture)}}},z.prototype.loadTile=function(O,$){this.tileID&&this.tileID.equals(O.tileID.canonical)?(this.tiles[String(O.tileID.wrap)]=O,O.buckets={},$(null)):(O.state=\"errored\",$(null))},z.prototype.serialize=function(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}},z.prototype.hasTransition=function(){return!1},z}(i.Evented);function ge(Y){for(var z=1/0,K=1/0,O=-1/0,$=-1/0,pe=0,de=Y;pe<de.length;pe+=1){var Ie=de[pe];z=Math.min(z,Ie.x),K=Math.min(K,Ie.y),O=Math.max(O,Ie.x),$=Math.max($,Ie.y)}var $e=O-z,pt=$-K,Kt=Math.max($e,pt),ir=Math.max(0,Math.floor(-Math.log(Kt)/Math.LN2)),Jt=Math.pow(2,ir);return new i.CanonicalTileID(ir,Math.floor((z+O)/2*Jt),Math.floor((K+$)/2*Jt))}var ie=function(Y){function z(K,O,$,pe){Y.call(this,K,O,$,pe),this.roundZoom=!0,this.type=\"video\",this.options=O}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){var O=this;this._loaded=!1;var $=this.options;this.urls=[];for(var pe=0,de=$.urls;pe<de.length;pe+=1){var Ie=de[pe];this.urls.push(this.map._requestManager.transformRequest(Ie,i.ResourceType.Source).url)}i.getVideo(this.urls,function($e,pt){O._loaded=!0,$e?O.fire(new i.ErrorEvent($e)):pt&&(O.video=pt,O.video.loop=!0,O.video.addEventListener(\"playing\",function(){O.map.triggerRepaint()}),O.map&&O.video.play(),O._finishLoading())})},z.prototype.pause=function(){this.video&&this.video.pause()},z.prototype.play=function(){this.video&&this.video.play()},z.prototype.seek=function(O){if(this.video){var $=this.video.seekable;O<$.start(0)||O>$.end(0)?this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+this.id,null,\"Playback for this video can be set only between the \"+$.start(0)+\" and \"+$.end(0)+\"-second mark.\"))):this.video.currentTime=O}},z.prototype.getVideo=function(){return this.video},z.prototype.onAdd=function(O){this.map||(this.map=O,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},z.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||this.video.readyState<2)){var O=this.map.painter.context,$=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE),$.texSubImage2D($.TEXTURE_2D,0,0,0,$.RGBA,$.UNSIGNED_BYTE,this.video)):(this.texture=new i.Texture(O,this.video,$.RGBA),this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE));for(var pe in this.tiles){var de=this.tiles[pe];de.state!==\"loaded\"&&(de.state=\"loaded\",de.texture=this.texture)}}},z.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},z.prototype.hasTransition=function(){return this.video&&!this.video.paused},z}(ke),Te=function(Y){function z(K,O,$,pe){Y.call(this,K,O,$,pe),O.coordinates?(!Array.isArray(O.coordinates)||O.coordinates.length!==4||O.coordinates.some(function(de){return!Array.isArray(de)||de.length!==2||de.some(function(Ie){return typeof Ie!=\"number\"})}))&&this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'missing required property \"coordinates\"'))),O.animate&&typeof O.animate!=\"boolean\"&&this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'optional \"animate\" property must be a boolean value'))),O.canvas?typeof O.canvas!=\"string\"&&!(O.canvas instanceof i.window.HTMLCanvasElement)&&this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,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 i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'missing required property \"canvas\"'))),this.options=O,this.animate=O.animate!==void 0?O.animate:!0}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){if(this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof i.window.HTMLCanvasElement?this.options.canvas:i.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()){this.fire(new i.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\")));return}this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading()},z.prototype.getCanvas=function(){return this.canvas},z.prototype.onAdd=function(O){this.map=O,this.load(),this.canvas&&this.animate&&this.play()},z.prototype.onRemove=function(){this.pause()},z.prototype.prepare=function(){var O=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,O=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,O=!0),!this._hasInvalidDimensions()&&Object.keys(this.tiles).length!==0){var $=this.map.painter.context,pe=$.gl;this.boundsBuffer||(this.boundsBuffer=$.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(O||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new i.Texture($,this.canvas,pe.RGBA,{premultiply:!0});for(var de in this.tiles){var Ie=this.tiles[de];Ie.state!==\"loaded\"&&(Ie.state=\"loaded\",Ie.texture=this.texture)}}},z.prototype.serialize=function(){return{type:\"canvas\",coordinates:this.coordinates}},z.prototype.hasTransition=function(){return this._playing},z.prototype._hasInvalidDimensions=function(){for(var O=0,$=[this.canvas.width,this.canvas.height];O<$.length;O+=1){var pe=$[O];if(isNaN(pe)||pe<=0)return!0}return!1},z}(ke),Ee={vector:W,raster:re,\"raster-dem\":ae,geojson:_e,video:ie,image:ke,canvas:Te},Ae=function(Y,z,K,O){var $=new Ee[z.type](Y,z,K,O);if($.id!==Y)throw new Error(\"Expected Source id to be \"+Y+\" instead of \"+$.id);return i.bindAll([\"load\",\"abort\",\"unload\",\"serialize\",\"prepare\"],$),$},ze=function(Y){return Ee[Y]},Ce=function(Y,z){Ee[Y]=z};function me(Y,z){var K=i.identity([]);return i.translate(K,K,[1,1,0]),i.scale(K,K,[Y.width*.5,Y.height*.5,1]),i.multiply(K,K,Y.calculatePosMatrix(z.toUnwrapped()))}function Re(Y,z,K){if(Y)for(var O=0,$=Y;O<$.length;O+=1){var pe=$[O],de=z[pe];if(de&&de.source===K&&de.type===\"fill-extrusion\")return!0}else for(var Ie in z){var $e=z[Ie];if($e.source===K&&$e.type===\"fill-extrusion\")return!0}return!1}function ce(Y,z,K,O,$,pe){var de=Re($&&$.layers,z,Y.id),Ie=pe.maxPitchScaleFactor(),$e=Y.tilesIn(O,Ie,de);$e.sort(ct);for(var pt=[],Kt=0,ir=$e;Kt<ir.length;Kt+=1){var Jt=ir[Kt];pt.push({wrappedTileID:Jt.tileID.wrapped().key,queryResults:Jt.tile.queryRenderedFeatures(z,K,Y._state,Jt.queryGeometry,Jt.cameraQueryGeometry,Jt.scale,$,pe,Ie,me(Y.transform,Jt.tileID))})}var vt=qt(pt);for(var Pt in vt)vt[Pt].forEach(function(Wt){var rr=Wt.feature,dr=Y.getFeatureState(rr.layer[\"source-layer\"],rr.id);rr.source=rr.layer.source,rr.layer[\"source-layer\"]&&(rr.sourceLayer=rr.layer[\"source-layer\"]),rr.state=dr});return vt}function Ge(Y,z,K,O,$,pe,de){for(var Ie={},$e=pe.queryRenderedSymbols(O),pt=[],Kt=0,ir=Object.keys($e).map(Number);Kt<ir.length;Kt+=1){var Jt=ir[Kt];pt.push(de[Jt])}pt.sort(ct);for(var vt=function(){var pr=Wt[Pt],kr=pr.featureIndex.lookupSymbolFeatures($e[pr.bucketInstanceId],z,pr.bucketIndex,pr.sourceLayerIndex,$.filter,$.layers,$.availableImages,Y);for(var Ar in kr){var gr=Ie[Ar]=Ie[Ar]||[],Cr=kr[Ar];Cr.sort(function(yi,tn){var Ri=pr.featureSortOrder;if(Ri){var ln=Ri.indexOf(yi.featureIndex),Qn=Ri.indexOf(tn.featureIndex);return Qn-ln}else return tn.featureIndex-yi.featureIndex});for(var cr=0,Gr=Cr;cr<Gr.length;cr+=1){var ei=Gr[cr];gr.push(ei)}}},Pt=0,Wt=pt;Pt<Wt.length;Pt+=1)vt();var rr=function(pr){Ie[pr].forEach(function(kr){var Ar=kr.feature,gr=Y[pr],Cr=K[gr.source],cr=Cr.getFeatureState(Ar.layer[\"source-layer\"],Ar.id);Ar.source=Ar.layer.source,Ar.layer[\"source-layer\"]&&(Ar.sourceLayer=Ar.layer[\"source-layer\"]),Ar.state=cr})};for(var dr in Ie)rr(dr);return Ie}function nt(Y,z){for(var K=Y.getRenderableIds().map(function($e){return Y.getTileByID($e)}),O=[],$={},pe=0;pe<K.length;pe++){var de=K[pe],Ie=de.tileID.canonical.key;$[Ie]||($[Ie]=!0,de.querySourceFeatures(O,z))}return O}function ct(Y,z){var K=Y.tileID,O=z.tileID;return K.overscaledZ-O.overscaledZ||K.canonical.y-O.canonical.y||K.wrap-O.wrap||K.canonical.x-O.canonical.x}function qt(Y){for(var z={},K={},O=0,$=Y;O<$.length;O+=1){var pe=$[O],de=pe.queryResults,Ie=pe.wrappedTileID,$e=K[Ie]=K[Ie]||{};for(var pt in de)for(var Kt=de[pt],ir=$e[pt]=$e[pt]||{},Jt=z[pt]=z[pt]||[],vt=0,Pt=Kt;vt<Pt.length;vt+=1){var Wt=Pt[vt];ir[Wt.featureIndex]||(ir[Wt.featureIndex]=!0,Jt.push(Wt))}}return z}var rt=function(z,K){this.max=z,this.onRemove=K,this.reset()};rt.prototype.reset=function(){for(var z in this.data)for(var K=0,O=this.data[z];K<O.length;K+=1){var $=O[K];$.timeout&&clearTimeout($.timeout),this.onRemove($.value)}return this.data={},this.order=[],this},rt.prototype.add=function(z,K,O){var $=this,pe=z.wrapped().key;this.data[pe]===void 0&&(this.data[pe]=[]);var de={value:K,timeout:void 0};if(O!==void 0&&(de.timeout=setTimeout(function(){$.remove(z,de)},O)),this.data[pe].push(de),this.order.push(pe),this.order.length>this.max){var Ie=this._getAndRemoveByKey(this.order[0]);Ie&&this.onRemove(Ie)}return this},rt.prototype.has=function(z){return z.wrapped().key in this.data},rt.prototype.getAndRemove=function(z){return this.has(z)?this._getAndRemoveByKey(z.wrapped().key):null},rt.prototype._getAndRemoveByKey=function(z){var K=this.data[z].shift();return K.timeout&&clearTimeout(K.timeout),this.data[z].length===0&&delete this.data[z],this.order.splice(this.order.indexOf(z),1),K.value},rt.prototype.getByKey=function(z){var K=this.data[z];return K?K[0].value:null},rt.prototype.get=function(z){if(!this.has(z))return null;var K=this.data[z.wrapped().key][0];return K.value},rt.prototype.remove=function(z,K){if(!this.has(z))return this;var O=z.wrapped().key,$=K===void 0?0:this.data[O].indexOf(K),pe=this.data[O][$];return this.data[O].splice($,1),pe.timeout&&clearTimeout(pe.timeout),this.data[O].length===0&&delete this.data[O],this.onRemove(pe.value),this.order.splice(this.order.indexOf(O),1),this},rt.prototype.setMaxSize=function(z){for(this.max=z;this.order.length>this.max;){var K=this._getAndRemoveByKey(this.order[0]);K&&this.onRemove(K)}return this},rt.prototype.filter=function(z){var K=[];for(var O in this.data)for(var $=0,pe=this.data[O];$<pe.length;$+=1){var de=pe[$];z(de.value)||K.push(de)}for(var Ie=0,$e=K;Ie<$e.length;Ie+=1){var pt=$e[Ie];this.remove(pt.value.tileID,pt)}};var ot=function(z,K,O){this.context=z;var $=z.gl;this.buffer=$.createBuffer(),this.dynamicDraw=!!O,this.context.unbindVAO(),z.bindElementBuffer.set(this.buffer),$.bufferData($.ELEMENT_ARRAY_BUFFER,K.arrayBuffer,this.dynamicDraw?$.DYNAMIC_DRAW:$.STATIC_DRAW),this.dynamicDraw||delete K.arrayBuffer};ot.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},ot.prototype.updateData=function(z){var K=this.context.gl;this.context.unbindVAO(),this.bind(),K.bufferSubData(K.ELEMENT_ARRAY_BUFFER,0,z.arrayBuffer)},ot.prototype.destroy=function(){var z=this.context.gl;this.buffer&&(z.deleteBuffer(this.buffer),delete this.buffer)};var Rt={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"},kt=function(z,K,O,$){this.length=K.length,this.attributes=O,this.itemSize=K.bytesPerElement,this.dynamicDraw=$,this.context=z;var pe=z.gl;this.buffer=pe.createBuffer(),z.bindVertexBuffer.set(this.buffer),pe.bufferData(pe.ARRAY_BUFFER,K.arrayBuffer,this.dynamicDraw?pe.DYNAMIC_DRAW:pe.STATIC_DRAW),this.dynamicDraw||delete K.arrayBuffer};kt.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},kt.prototype.updateData=function(z){var K=this.context.gl;this.bind(),K.bufferSubData(K.ARRAY_BUFFER,0,z.arrayBuffer)},kt.prototype.enableAttributes=function(z,K){for(var O=0;O<this.attributes.length;O++){var $=this.attributes[O],pe=K.attributes[$.name];pe!==void 0&&z.enableVertexAttribArray(pe)}},kt.prototype.setVertexAttribPointers=function(z,K,O){for(var $=0;$<this.attributes.length;$++){var pe=this.attributes[$],de=K.attributes[pe.name];de!==void 0&&z.vertexAttribPointer(de,pe.components,z[Rt[pe.type]],!1,this.itemSize,pe.offset+this.itemSize*(O||0))}},kt.prototype.destroy=function(){var z=this.context.gl;this.buffer&&(z.deleteBuffer(this.buffer),delete this.buffer)};var Ct=function(z){this.gl=z.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1};Ct.prototype.get=function(){return this.current},Ct.prototype.set=function(z){},Ct.prototype.getDefault=function(){return this.default},Ct.prototype.setDefault=function(){this.set(this.default)};var Yt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return i.Color.transparent},z.prototype.set=function(O){var $=this.current;O.r===$.r&&O.g===$.g&&O.b===$.b&&O.a===$.a&&!this.dirty||(this.gl.clearColor(O.r,O.g,O.b,O.a),this.current=O,this.dirty=!1)},z}(Ct),xr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return 1},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.clearDepth(O),this.current=O,this.dirty=!1)},z}(Ct),er=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return 0},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.clearStencil(O),this.current=O,this.dirty=!1)},z}(Ct),Ke=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return[!0,!0,!0,!0]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&O[2]===$[2]&&O[3]===$[3]&&!this.dirty||(this.gl.colorMask(O[0],O[1],O[2],O[3]),this.current=O,this.dirty=!1)},z}(Ct),xt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!0},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.depthMask(O),this.current=O,this.dirty=!1)},z}(Ct),bt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return 255},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.stencilMask(O),this.current=O,this.dirty=!1)},z}(Ct),Lt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return{func:this.gl.ALWAYS,ref:0,mask:255}},z.prototype.set=function(O){var $=this.current;O.func===$.func&&O.ref===$.ref&&O.mask===$.mask&&!this.dirty||(this.gl.stencilFunc(O.func,O.ref,O.mask),this.current=O,this.dirty=!1)},z}(Ct),St=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){var O=this.gl;return[O.KEEP,O.KEEP,O.KEEP]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&O[2]===$[2]&&!this.dirty||(this.gl.stencilOp(O[0],O[1],O[2]),this.current=O,this.dirty=!1)},z}(Ct),Et=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;O?$.enable($.STENCIL_TEST):$.disable($.STENCIL_TEST),this.current=O,this.dirty=!1}},z}(Ct),dt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return[0,1]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&!this.dirty||(this.gl.depthRange(O[0],O[1]),this.current=O,this.dirty=!1)},z}(Ct),Ht=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;O?$.enable($.DEPTH_TEST):$.disable($.DEPTH_TEST),this.current=O,this.dirty=!1}},z}(Ct),$t=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.LESS},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.depthFunc(O),this.current=O,this.dirty=!1)},z}(Ct),fr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;O?$.enable($.BLEND):$.disable($.BLEND),this.current=O,this.dirty=!1}},z}(Ct),_r=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){var O=this.gl;return[O.ONE,O.ZERO]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&!this.dirty||(this.gl.blendFunc(O[0],O[1]),this.current=O,this.dirty=!1)},z}(Ct),Br=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return i.Color.transparent},z.prototype.set=function(O){var $=this.current;O.r===$.r&&O.g===$.g&&O.b===$.b&&O.a===$.a&&!this.dirty||(this.gl.blendColor(O.r,O.g,O.b,O.a),this.current=O,this.dirty=!1)},z}(Ct),Or=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.FUNC_ADD},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.blendEquation(O),this.current=O,this.dirty=!1)},z}(Ct),Nr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;O?$.enable($.CULL_FACE):$.disable($.CULL_FACE),this.current=O,this.dirty=!1}},z}(Ct),ut=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.BACK},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.cullFace(O),this.current=O,this.dirty=!1)},z}(Ct),Ne=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.CCW},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.frontFace(O),this.current=O,this.dirty=!1)},z}(Ct),Ye=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.useProgram(O),this.current=O,this.dirty=!1)},z}(Ct),Ve=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.TEXTURE0},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.activeTexture(O),this.current=O,this.dirty=!1)},z}(Ct),Xe=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){var O=this.gl;return[0,0,O.drawingBufferWidth,O.drawingBufferHeight]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&O[2]===$[2]&&O[3]===$[3]&&!this.dirty||(this.gl.viewport(O[0],O[1],O[2],O[3]),this.current=O,this.dirty=!1)},z}(Ct),ht=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.bindFramebuffer($.FRAMEBUFFER,O),this.current=O,this.dirty=!1}},z}(Ct),Le=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.bindRenderbuffer($.RENDERBUFFER,O),this.current=O,this.dirty=!1}},z}(Ct),xe=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.bindTexture($.TEXTURE_2D,O),this.current=O,this.dirty=!1}},z}(Ct),Se=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.bindBuffer($.ARRAY_BUFFER,O),this.current=O,this.dirty=!1}},z}(Ct),lt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){var $=this.gl;$.bindBuffer($.ELEMENT_ARRAY_BUFFER,O),this.current=O,this.dirty=!1},z}(Ct),Gt=function(Y){function z(K){Y.call(this,K),this.vao=K.extVertexArrayObject}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){!this.vao||O===this.current&&!this.dirty||(this.vao.bindVertexArrayOES(O),this.current=O,this.dirty=!1)},z}(Ct),Vt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return 4},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.pixelStorei($.UNPACK_ALIGNMENT,O),this.current=O,this.dirty=!1}},z}(Ct),ar=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.pixelStorei($.UNPACK_PREMULTIPLY_ALPHA_WEBGL,O),this.current=O,this.dirty=!1}},z}(Ct),Qr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.pixelStorei($.UNPACK_FLIP_Y_WEBGL,O),this.current=O,this.dirty=!1}},z}(Ct),ai=function(Y){function z(K,O){Y.call(this,K),this.context=K,this.parent=O}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z}(Ct),jr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.setDirty=function(){this.dirty=!0},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){this.context.bindFramebuffer.set(this.parent);var $=this.gl;$.framebufferTexture2D($.FRAMEBUFFER,$.COLOR_ATTACHMENT0,$.TEXTURE_2D,O,0),this.current=O,this.dirty=!1}},z}(ai),ri=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){this.context.bindFramebuffer.set(this.parent);var $=this.gl;$.framebufferRenderbuffer($.FRAMEBUFFER,$.DEPTH_ATTACHMENT,$.RENDERBUFFER,O),this.current=O,this.dirty=!1}},z}(ai),bi=function(z,K,O,$){this.context=z,this.width=K,this.height=O;var pe=z.gl,de=this.framebuffer=pe.createFramebuffer();this.colorAttachment=new jr(z,de),$&&(this.depthAttachment=new ri(z,de))};bi.prototype.destroy=function(){var z=this.context.gl,K=this.colorAttachment.get();if(K&&z.deleteTexture(K),this.depthAttachment){var O=this.depthAttachment.get();O&&z.deleteRenderbuffer(O)}z.deleteFramebuffer(this.framebuffer)};var nn=519,Wi=function(z,K,O){this.func=z,this.mask=K,this.range=O};Wi.ReadOnly=!1,Wi.ReadWrite=!0,Wi.disabled=new Wi(nn,Wi.ReadOnly,[0,1]);var Ni=519,_n=7680,$i=function(z,K,O,$,pe,de){this.test=z,this.ref=K,this.mask=O,this.fail=$,this.depthFail=pe,this.pass=de};$i.disabled=new $i({func:Ni,mask:0},0,0,_n,_n,_n);var zn=0,Wn=1,It=771,ft=function(z,K,O){this.blendFunction=z,this.blendColor=K,this.mask=O};ft.Replace=[Wn,zn],ft.disabled=new ft(ft.Replace,i.Color.transparent,[!1,!1,!1,!1]),ft.unblended=new ft(ft.Replace,i.Color.transparent,[!0,!0,!0,!0]),ft.alphaBlended=new ft([Wn,It],i.Color.transparent,[!0,!0,!0,!0]);var jt=1029,Zt=2305,yr=function(z,K,O){this.enable=z,this.mode=K,this.frontFace=O};yr.disabled=new yr(!1,jt,Zt),yr.backCCW=new yr(!0,jt,Zt);var Fr=function(z){this.gl=z,this.extVertexArrayObject=this.gl.getExtension(\"OES_vertex_array_object\"),this.clearColor=new Yt(this),this.clearDepth=new xr(this),this.clearStencil=new er(this),this.colorMask=new Ke(this),this.depthMask=new xt(this),this.stencilMask=new bt(this),this.stencilFunc=new Lt(this),this.stencilOp=new St(this),this.stencilTest=new Et(this),this.depthRange=new dt(this),this.depthTest=new Ht(this),this.depthFunc=new $t(this),this.blend=new fr(this),this.blendFunc=new _r(this),this.blendColor=new Br(this),this.blendEquation=new Or(this),this.cullFace=new Nr(this),this.cullFaceSide=new ut(this),this.frontFace=new Ne(this),this.program=new Ye(this),this.activeTexture=new Ve(this),this.viewport=new Xe(this),this.bindFramebuffer=new ht(this),this.bindRenderbuffer=new Le(this),this.bindTexture=new xe(this),this.bindVertexBuffer=new Se(this),this.bindElementBuffer=new lt(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new Gt(this),this.pixelStoreUnpack=new Vt(this),this.pixelStoreUnpackPremultiplyAlpha=new ar(this),this.pixelStoreUnpackFlipY=new Qr(this),this.extTextureFilterAnisotropic=z.getExtension(\"EXT_texture_filter_anisotropic\")||z.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||z.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=z.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=z.getExtension(\"OES_texture_half_float\"),this.extTextureHalfFloat&&(z.getExtension(\"OES_texture_half_float_linear\"),this.extRenderToTextureHalfFloat=z.getExtension(\"EXT_color_buffer_half_float\")),this.extTimerQuery=z.getExtension(\"EXT_disjoint_timer_query\"),this.maxTextureSize=z.getParameter(z.MAX_TEXTURE_SIZE)};Fr.prototype.setDefault=function(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()},Fr.prototype.setDirty=function(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.extVertexArrayObject&&(this.bindVertexArrayOES.dirty=!0),this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0},Fr.prototype.createIndexBuffer=function(z,K){return new ot(this,z,K)},Fr.prototype.createVertexBuffer=function(z,K,O){return new kt(this,z,K,O)},Fr.prototype.createRenderbuffer=function(z,K,O){var $=this.gl,pe=$.createRenderbuffer();return this.bindRenderbuffer.set(pe),$.renderbufferStorage($.RENDERBUFFER,z,K,O),this.bindRenderbuffer.set(null),pe},Fr.prototype.createFramebuffer=function(z,K,O){return new bi(this,z,K,O)},Fr.prototype.clear=function(z){var K=z.color,O=z.depth,$=this.gl,pe=0;K&&(pe|=$.COLOR_BUFFER_BIT,this.clearColor.set(K),this.colorMask.set([!0,!0,!0,!0])),typeof O!=\"undefined\"&&(pe|=$.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(O),this.depthMask.set(!0)),$.clear(pe)},Fr.prototype.setCullFace=function(z){z.enable===!1?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(z.mode),this.frontFace.set(z.frontFace))},Fr.prototype.setDepthMode=function(z){z.func===this.gl.ALWAYS&&!z.mask?this.depthTest.set(!1):(this.depthTest.set(!0),this.depthFunc.set(z.func),this.depthMask.set(z.mask),this.depthRange.set(z.range))},Fr.prototype.setStencilMode=function(z){z.test.func===this.gl.ALWAYS&&!z.mask?this.stencilTest.set(!1):(this.stencilTest.set(!0),this.stencilMask.set(z.mask),this.stencilOp.set([z.fail,z.depthFail,z.pass]),this.stencilFunc.set({func:z.test.func,ref:z.ref,mask:z.test.mask}))},Fr.prototype.setColorMode=function(z){i.deepEqual(z.blendFunction,ft.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(z.blendFunction),this.blendColor.set(z.blendColor)),this.colorMask.set(z.mask)},Fr.prototype.unbindVAO=function(){this.extVertexArrayObject&&this.bindVertexArrayOES.set(null)};var Zr=function(Y){function z(K,O,$){var pe=this;Y.call(this),this.id=K,this.dispatcher=$,this.on(\"data\",function(de){de.dataType===\"source\"&&de.sourceDataType===\"metadata\"&&(pe._sourceLoaded=!0),pe._sourceLoaded&&!pe._paused&&de.dataType===\"source\"&&de.sourceDataType===\"content\"&&(pe.reload(),pe.transform&&pe.update(pe.transform))}),this.on(\"error\",function(){pe._sourceErrored=!0}),this._source=Ae(K,O,$,this),this._tiles={},this._cache=new rt(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new i.SourceFeatureState}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.onAdd=function(O){this.map=O,this._maxTileCacheSize=O?O._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(O)},z.prototype.onRemove=function(O){this._source&&this._source.onRemove&&this._source.onRemove(O)},z.prototype.loaded=function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;for(var O in this._tiles){var $=this._tiles[O];if($.state!==\"loaded\"&&$.state!==\"errored\")return!1}return!0},z.prototype.getSource=function(){return this._source},z.prototype.pause=function(){this._paused=!0},z.prototype.resume=function(){if(this._paused){var O=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,O&&this.reload(),this.transform&&this.update(this.transform)}},z.prototype._loadTile=function(O,$){return this._source.loadTile(O,$)},z.prototype._unloadTile=function(O){if(this._source.unloadTile)return this._source.unloadTile(O,function(){})},z.prototype._abortTile=function(O){if(this._source.abortTile)return this._source.abortTile(O,function(){})},z.prototype.serialize=function(){return this._source.serialize()},z.prototype.prepare=function(O){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(var $ in this._tiles){var pe=this._tiles[$];pe.upload(O),pe.prepare(this.map.style.imageManager)}},z.prototype.getIds=function(){return i.values(this._tiles).map(function(O){return O.tileID}).sort(Vr).map(function(O){return O.key})},z.prototype.getRenderableIds=function(O){var $=this,pe=[];for(var de in this._tiles)this._isIdRenderable(de,O)&&pe.push(this._tiles[de]);return O?pe.sort(function(Ie,$e){var pt=Ie.tileID,Kt=$e.tileID,ir=new i.Point(pt.canonical.x,pt.canonical.y)._rotate($.transform.angle),Jt=new i.Point(Kt.canonical.x,Kt.canonical.y)._rotate($.transform.angle);return pt.overscaledZ-Kt.overscaledZ||Jt.y-ir.y||Jt.x-ir.x}).map(function(Ie){return Ie.tileID.key}):pe.map(function(Ie){return Ie.tileID}).sort(Vr).map(function(Ie){return Ie.key})},z.prototype.hasRenderableParent=function(O){var $=this.findLoadedParent(O,0);return $?this._isIdRenderable($.tileID.key):!1},z.prototype._isIdRenderable=function(O,$){return this._tiles[O]&&this._tiles[O].hasData()&&!this._coveredTiles[O]&&($||!this._tiles[O].holdingForFade())},z.prototype.reload=function(){if(this._paused){this._shouldReloadOnResume=!0;return}this._cache.reset();for(var O in this._tiles)this._tiles[O].state!==\"errored\"&&this._reloadTile(O,\"reloading\")},z.prototype._reloadTile=function(O,$){var pe=this._tiles[O];pe&&(pe.state!==\"loading\"&&(pe.state=$),this._loadTile(pe,this._tileLoaded.bind(this,pe,O,$)))},z.prototype._tileLoaded=function(O,$,pe,de){if(de){O.state=\"errored\",de.status!==404?this._source.fire(new i.ErrorEvent(de,{tile:O})):this.update(this.transform);return}O.timeAdded=i.browser.now(),pe===\"expired\"&&(O.refreshedUponExpiration=!0),this._setTileReloadTimer($,O),this.getSource().type===\"raster-dem\"&&O.dem&&this._backfillDEM(O),this._state.initializeTileState(O,this.map?this.map.painter:null),this._source.fire(new i.Event(\"data\",{dataType:\"source\",tile:O,coord:O.tileID}))},z.prototype._backfillDEM=function(O){for(var $=this.getRenderableIds(),pe=0;pe<$.length;pe++){var de=$[pe];if(O.neighboringTiles&&O.neighboringTiles[de]){var Ie=this.getTileByID(de);$e(O,Ie),$e(Ie,O)}}function $e(pt,Kt){pt.needsHillshadePrepare=!0;var ir=Kt.tileID.canonical.x-pt.tileID.canonical.x,Jt=Kt.tileID.canonical.y-pt.tileID.canonical.y,vt=Math.pow(2,pt.tileID.canonical.z),Pt=Kt.tileID.key;ir===0&&Jt===0||Math.abs(Jt)>1||(Math.abs(ir)>1&&(Math.abs(ir+vt)===1?ir+=vt:Math.abs(ir-vt)===1&&(ir-=vt)),!(!Kt.dem||!pt.dem)&&(pt.dem.backfillBorder(Kt.dem,ir,Jt),pt.neighboringTiles&&pt.neighboringTiles[Pt]&&(pt.neighboringTiles[Pt].backfilled=!0)))}},z.prototype.getTile=function(O){return this.getTileByID(O.key)},z.prototype.getTileByID=function(O){return this._tiles[O]},z.prototype._retainLoadedChildren=function(O,$,pe,de){for(var Ie in this._tiles){var $e=this._tiles[Ie];if(!(de[Ie]||!$e.hasData()||$e.tileID.overscaledZ<=$||$e.tileID.overscaledZ>pe)){for(var pt=$e.tileID;$e&&$e.tileID.overscaledZ>$+1;){var Kt=$e.tileID.scaledTo($e.tileID.overscaledZ-1);$e=this._tiles[Kt.key],$e&&$e.hasData()&&(pt=Kt)}for(var ir=pt;ir.overscaledZ>$;)if(ir=ir.scaledTo(ir.overscaledZ-1),O[ir.key]){de[pt.key]=pt;break}}}},z.prototype.findLoadedParent=function(O,$){if(O.key in this._loadedParentTiles){var pe=this._loadedParentTiles[O.key];return pe&&pe.tileID.overscaledZ>=$?pe:null}for(var de=O.overscaledZ-1;de>=$;de--){var Ie=O.scaledTo(de),$e=this._getLoadedTile(Ie);if($e)return $e}},z.prototype._getLoadedTile=function(O){var $=this._tiles[O.key];if($&&$.hasData())return $;var pe=this._cache.getByKey(O.wrapped().key);return pe},z.prototype.updateCacheSize=function(O){var $=Math.ceil(O.width/this._source.tileSize)+1,pe=Math.ceil(O.height/this._source.tileSize)+1,de=$*pe,Ie=5,$e=Math.floor(de*Ie),pt=typeof this._maxTileCacheSize==\"number\"?Math.min(this._maxTileCacheSize,$e):$e;this._cache.setMaxSize(pt)},z.prototype.handleWrapJump=function(O){var $=this._prevLng===void 0?O:this._prevLng,pe=O-$,de=pe/360,Ie=Math.round(de);if(this._prevLng=O,Ie){var $e={};for(var pt in this._tiles){var Kt=this._tiles[pt];Kt.tileID=Kt.tileID.unwrapTo(Kt.tileID.wrap+Ie),$e[Kt.tileID.key]=Kt}this._tiles=$e;for(var ir in this._timers)clearTimeout(this._timers[ir]),delete this._timers[ir];for(var Jt in this._tiles){var vt=this._tiles[Jt];this._setTileReloadTimer(Jt,vt)}}},z.prototype.update=function(O){var $=this;if(this.transform=O,!(!this._sourceLoaded||this._paused)){this.updateCacheSize(O),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={};var pe;this.used?this._source.tileID?pe=O.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(yi){return new i.OverscaledTileID(yi.canonical.z,yi.wrap,yi.canonical.z,yi.canonical.x,yi.canonical.y)}):(pe=O.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(pe=pe.filter(function(yi){return $._source.hasTile(yi)}))):pe=[];var de=O.coveringZoomLevel(this._source),Ie=Math.max(de-z.maxOverzooming,this._source.minzoom),$e=Math.max(de+z.maxUnderzooming,this._source.minzoom),pt=this._updateRetainedTiles(pe,de);if(gi(this._source.type)){for(var Kt={},ir={},Jt=Object.keys(pt),vt=0,Pt=Jt;vt<Pt.length;vt+=1){var Wt=Pt[vt],rr=pt[Wt],dr=this._tiles[Wt];if(!(!dr||dr.fadeEndTime&&dr.fadeEndTime<=i.browser.now())){var pr=this.findLoadedParent(rr,Ie);pr&&(this._addTile(pr.tileID),Kt[pr.tileID.key]=pr.tileID),ir[Wt]=rr}}this._retainLoadedChildren(ir,de,$e,pt);for(var kr in Kt)pt[kr]||(this._coveredTiles[kr]=!0,pt[kr]=Kt[kr])}for(var Ar in pt)this._tiles[Ar].clearFadeHold();for(var gr=i.keysDifference(this._tiles,pt),Cr=0,cr=gr;Cr<cr.length;Cr+=1){var Gr=cr[Cr],ei=this._tiles[Gr];ei.hasSymbolBuckets&&!ei.holdingForFade()?ei.setHoldDuration(this.map._fadeDuration):(!ei.hasSymbolBuckets||ei.symbolFadeFinished())&&this._removeTile(Gr)}this._updateLoadedParentTileCache()}},z.prototype.releaseSymbolFadeTiles=function(){for(var O in this._tiles)this._tiles[O].holdingForFade()&&this._removeTile(O)},z.prototype._updateRetainedTiles=function(O,$){for(var pe={},de={},Ie=Math.max($-z.maxOverzooming,this._source.minzoom),$e=Math.max($+z.maxUnderzooming,this._source.minzoom),pt={},Kt=0,ir=O;Kt<ir.length;Kt+=1){var Jt=ir[Kt],vt=this._addTile(Jt);pe[Jt.key]=Jt,!vt.hasData()&&$<this._source.maxzoom&&(pt[Jt.key]=Jt)}this._retainLoadedChildren(pt,$,$e,pe);for(var Pt=0,Wt=O;Pt<Wt.length;Pt+=1){var rr=Wt[Pt],dr=this._tiles[rr.key];if(!dr.hasData()){if($+1>this._source.maxzoom){var pr=rr.children(this._source.maxzoom)[0],kr=this.getTile(pr);if(kr&&kr.hasData()){pe[pr.key]=pr;continue}}else{var Ar=rr.children(this._source.maxzoom);if(pe[Ar[0].key]&&pe[Ar[1].key]&&pe[Ar[2].key]&&pe[Ar[3].key])continue}for(var gr=dr.wasRequested(),Cr=rr.overscaledZ-1;Cr>=Ie;--Cr){var cr=rr.scaledTo(Cr);if(de[cr.key]||(de[cr.key]=!0,dr=this.getTile(cr),!dr&&gr&&(dr=this._addTile(cr)),dr&&(pe[cr.key]=cr,gr=dr.wasRequested(),dr.hasData())))break}}}return pe},z.prototype._updateLoadedParentTileCache=function(){this._loadedParentTiles={};for(var O in this._tiles){for(var $=[],pe=void 0,de=this._tiles[O].tileID;de.overscaledZ>0;){if(de.key in this._loadedParentTiles){pe=this._loadedParentTiles[de.key];break}$.push(de.key);var Ie=de.scaledTo(de.overscaledZ-1);if(pe=this._getLoadedTile(Ie),pe)break;de=Ie}for(var $e=0,pt=$;$e<pt.length;$e+=1){var Kt=pt[$e];this._loadedParentTiles[Kt]=pe}}},z.prototype._addTile=function(O){var $=this._tiles[O.key];if($)return $;$=this._cache.getAndRemove(O),$&&(this._setTileReloadTimer(O.key,$),$.tileID=O,this._state.initializeTileState($,this.map?this.map.painter:null),this._cacheTimers[O.key]&&(clearTimeout(this._cacheTimers[O.key]),delete this._cacheTimers[O.key],this._setTileReloadTimer(O.key,$)));var pe=!!$;return pe||($=new i.Tile(O,this._source.tileSize*O.overscaleFactor()),this._loadTile($,this._tileLoaded.bind(this,$,O.key,$.state))),$?($.uses++,this._tiles[O.key]=$,pe||this._source.fire(new i.Event(\"dataloading\",{tile:$,coord:$.tileID,dataType:\"source\"})),$):null},z.prototype._setTileReloadTimer=function(O,$){var pe=this;O in this._timers&&(clearTimeout(this._timers[O]),delete this._timers[O]);var de=$.getExpiryTimeout();de&&(this._timers[O]=setTimeout(function(){pe._reloadTile(O,\"expired\"),delete pe._timers[O]},de))},z.prototype._removeTile=function(O){var $=this._tiles[O];$&&($.uses--,delete this._tiles[O],this._timers[O]&&(clearTimeout(this._timers[O]),delete this._timers[O]),!($.uses>0)&&($.hasData()&&$.state!==\"reloading\"?this._cache.add($.tileID,$,$.getExpiryTimeout()):($.aborted=!0,this._abortTile($),this._unloadTile($))))},z.prototype.clearTiles=function(){this._shouldReloadOnResume=!1,this._paused=!1;for(var O in this._tiles)this._removeTile(O);this._cache.reset()},z.prototype.tilesIn=function(O,$,pe){var de=this,Ie=[],$e=this.transform;if(!$e)return Ie;for(var pt=pe?$e.getCameraQueryGeometry(O):O,Kt=O.map(function(Cr){return $e.pointCoordinate(Cr)}),ir=pt.map(function(Cr){return $e.pointCoordinate(Cr)}),Jt=this.getIds(),vt=1/0,Pt=1/0,Wt=-1/0,rr=-1/0,dr=0,pr=ir;dr<pr.length;dr+=1){var kr=pr[dr];vt=Math.min(vt,kr.x),Pt=Math.min(Pt,kr.y),Wt=Math.max(Wt,kr.x),rr=Math.max(rr,kr.y)}for(var Ar=function(Cr){var cr=de._tiles[Jt[Cr]];if(!cr.holdingForFade()){var Gr=cr.tileID,ei=Math.pow(2,$e.zoom-cr.tileID.overscaledZ),yi=$*cr.queryPadding*i.EXTENT/cr.tileSize/ei,tn=[Gr.getTilePoint(new i.MercatorCoordinate(vt,Pt)),Gr.getTilePoint(new i.MercatorCoordinate(Wt,rr))];if(tn[0].x-yi<i.EXTENT&&tn[0].y-yi<i.EXTENT&&tn[1].x+yi>=0&&tn[1].y+yi>=0){var Ri=Kt.map(function(Qn){return Gr.getTilePoint(Qn)}),ln=ir.map(function(Qn){return Gr.getTilePoint(Qn)});Ie.push({tile:cr,tileID:Gr,queryGeometry:Ri,cameraQueryGeometry:ln,scale:ei})}}},gr=0;gr<Jt.length;gr++)Ar(gr);return Ie},z.prototype.getVisibleCoordinates=function(O){for(var $=this,pe=this.getRenderableIds(O).map(function(pt){return $._tiles[pt].tileID}),de=0,Ie=pe;de<Ie.length;de+=1){var $e=Ie[de];$e.posMatrix=this.transform.calculatePosMatrix($e.toUnwrapped())}return pe},z.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(gi(this._source.type))for(var O in this._tiles){var $=this._tiles[O];if($.fadeEndTime!==void 0&&$.fadeEndTime>=i.browser.now())return!0}return!1},z.prototype.setFeatureState=function(O,$,pe){O=O||\"_geojsonTileLayer\",this._state.updateState(O,$,pe)},z.prototype.removeFeatureState=function(O,$,pe){O=O||\"_geojsonTileLayer\",this._state.removeFeatureState(O,$,pe)},z.prototype.getFeatureState=function(O,$){return O=O||\"_geojsonTileLayer\",this._state.getState(O,$)},z.prototype.setDependencies=function(O,$,pe){var de=this._tiles[O];de&&de.setDependencies($,pe)},z.prototype.reloadTilesForDependencies=function(O,$){for(var pe in this._tiles){var de=this._tiles[pe];de.hasDependency(O,$)&&this._reloadTile(pe,\"reloading\")}this._cache.filter(function(Ie){return!Ie.hasDependency(O,$)})},z}(i.Evented);Zr.maxOverzooming=10,Zr.maxUnderzooming=3;function Vr(Y,z){var K=Math.abs(Y.wrap*2)-+(Y.wrap<0),O=Math.abs(z.wrap*2)-+(z.wrap<0);return Y.overscaledZ-z.overscaledZ||O-K||z.canonical.y-Y.canonical.y||z.canonical.x-Y.canonical.x}function gi(Y){return Y===\"raster\"||Y===\"image\"||Y===\"video\"}function Si(){return new i.window.Worker(ns.workerUrl)}var Mi=\"mapboxgl_preloaded_worker_pool\",Pi=function(){this.active={}};Pi.prototype.acquire=function(z){if(!this.workers)for(this.workers=[];this.workers.length<Pi.workerCount;)this.workers.push(new Si);return this.active[z]=!0,this.workers.slice()},Pi.prototype.release=function(z){delete this.active[z],this.numActive()===0&&(this.workers.forEach(function(K){K.terminate()}),this.workers=null)},Pi.prototype.isPreloaded=function(){return!!this.active[Mi]},Pi.prototype.numActive=function(){return Object.keys(this.active).length};var Gi=Math.floor(i.browser.hardwareConcurrency/2);Pi.workerCount=Math.max(Math.min(Gi,6),1);var Ki;function ka(){return Ki||(Ki=new Pi),Ki}function jn(){var Y=ka();Y.acquire(Mi)}function la(){var Y=Ki;Y&&(Y.isPreloaded()&&Y.numActive()===1?(Y.release(Mi),Ki=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()\"))}function Fa(Y,z){var K={};for(var O in Y)O!==\"ref\"&&(K[O]=Y[O]);return i.refProperties.forEach(function($){$ in z&&(K[$]=z[$])}),K}function Ra(Y){Y=Y.slice();for(var z=Object.create(null),K=0;K<Y.length;K++)z[Y[K].id]=Y[K];for(var O=0;O<Y.length;O++)\"ref\"in Y[O]&&(Y[O]=Fa(Y[O],z[Y[O].ref]));return Y}function jo(){var Y={},z=i.styleSpec.$version;for(var K in i.styleSpec.$root){var O=i.styleSpec.$root[K];if(O.required){var $=null;K===\"version\"?$=z:O.type===\"array\"?$=[]:$={},$!=null&&(Y[K]=$)}}return Y}var oa={setStyle:\"setStyle\",addLayer:\"addLayer\",removeLayer:\"removeLayer\",setPaintProperty:\"setPaintProperty\",setLayoutProperty:\"setLayoutProperty\",setFilter:\"setFilter\",addSource:\"addSource\",removeSource:\"removeSource\",setGeoJSONSourceData:\"setGeoJSONSourceData\",setLayerZoomRange:\"setLayerZoomRange\",setLayerProperty:\"setLayerProperty\",setCenter:\"setCenter\",setZoom:\"setZoom\",setBearing:\"setBearing\",setPitch:\"setPitch\",setSprite:\"setSprite\",setGlyphs:\"setGlyphs\",setTransition:\"setTransition\",setLight:\"setLight\"};function Sn(Y,z,K){K.push({command:oa.addSource,args:[Y,z[Y]]})}function Ha(Y,z,K){z.push({command:oa.removeSource,args:[Y]}),K[Y]=!0}function oo(Y,z,K,O){Ha(Y,K,O),Sn(Y,z,K)}function xn(Y,z,K){var O;for(O in Y[K])if(Y[K].hasOwnProperty(O)&&O!==\"data\"&&!i.deepEqual(Y[K][O],z[K][O]))return!1;for(O in z[K])if(z[K].hasOwnProperty(O)&&O!==\"data\"&&!i.deepEqual(Y[K][O],z[K][O]))return!1;return!0}function _t(Y,z,K,O){Y=Y||{},z=z||{};var $;for($ in Y)Y.hasOwnProperty($)&&(z.hasOwnProperty($)||Ha($,K,O));for($ in z)z.hasOwnProperty($)&&(Y.hasOwnProperty($)?i.deepEqual(Y[$],z[$])||(Y[$].type===\"geojson\"&&z[$].type===\"geojson\"&&xn(Y,z,$)?K.push({command:oa.setGeoJSONSourceData,args:[$,z[$].data]}):oo($,z,K,O)):Sn($,z,K))}function br(Y,z,K,O,$,pe){Y=Y||{},z=z||{};var de;for(de in Y)Y.hasOwnProperty(de)&&(i.deepEqual(Y[de],z[de])||K.push({command:pe,args:[O,de,z[de],$]}));for(de in z)!z.hasOwnProperty(de)||Y.hasOwnProperty(de)||i.deepEqual(Y[de],z[de])||K.push({command:pe,args:[O,de,z[de],$]})}function Hr(Y){return Y.id}function ti(Y,z){return Y[z.id]=z,Y}function zi(Y,z,K){Y=Y||[],z=z||[];var O=Y.map(Hr),$=z.map(Hr),pe=Y.reduce(ti,{}),de=z.reduce(ti,{}),Ie=O.slice(),$e=Object.create(null),pt,Kt,ir,Jt,vt,Pt,Wt;for(pt=0,Kt=0;pt<O.length;pt++)ir=O[pt],de.hasOwnProperty(ir)?Kt++:(K.push({command:oa.removeLayer,args:[ir]}),Ie.splice(Ie.indexOf(ir,Kt),1));for(pt=0,Kt=0;pt<$.length;pt++)ir=$[$.length-1-pt],Ie[Ie.length-1-pt]!==ir&&(pe.hasOwnProperty(ir)?(K.push({command:oa.removeLayer,args:[ir]}),Ie.splice(Ie.lastIndexOf(ir,Ie.length-Kt),1)):Kt++,Pt=Ie[Ie.length-pt],K.push({command:oa.addLayer,args:[de[ir],Pt]}),Ie.splice(Ie.length-pt,0,ir),$e[ir]=!0);for(pt=0;pt<$.length;pt++)if(ir=$[pt],Jt=pe[ir],vt=de[ir],!($e[ir]||i.deepEqual(Jt,vt))){if(!i.deepEqual(Jt.source,vt.source)||!i.deepEqual(Jt[\"source-layer\"],vt[\"source-layer\"])||!i.deepEqual(Jt.type,vt.type)){K.push({command:oa.removeLayer,args:[ir]}),Pt=Ie[Ie.lastIndexOf(ir)+1],K.push({command:oa.addLayer,args:[vt,Pt]});continue}br(Jt.layout,vt.layout,K,ir,null,oa.setLayoutProperty),br(Jt.paint,vt.paint,K,ir,null,oa.setPaintProperty),i.deepEqual(Jt.filter,vt.filter)||K.push({command:oa.setFilter,args:[ir,vt.filter]}),(!i.deepEqual(Jt.minzoom,vt.minzoom)||!i.deepEqual(Jt.maxzoom,vt.maxzoom))&&K.push({command:oa.setLayerZoomRange,args:[ir,vt.minzoom,vt.maxzoom]});for(Wt in Jt)Jt.hasOwnProperty(Wt)&&(Wt===\"layout\"||Wt===\"paint\"||Wt===\"filter\"||Wt===\"metadata\"||Wt===\"minzoom\"||Wt===\"maxzoom\"||(Wt.indexOf(\"paint.\")===0?br(Jt[Wt],vt[Wt],K,ir,Wt.slice(6),oa.setPaintProperty):i.deepEqual(Jt[Wt],vt[Wt])||K.push({command:oa.setLayerProperty,args:[ir,Wt,vt[Wt]]})));for(Wt in vt)!vt.hasOwnProperty(Wt)||Jt.hasOwnProperty(Wt)||Wt===\"layout\"||Wt===\"paint\"||Wt===\"filter\"||Wt===\"metadata\"||Wt===\"minzoom\"||Wt===\"maxzoom\"||(Wt.indexOf(\"paint.\")===0?br(Jt[Wt],vt[Wt],K,ir,Wt.slice(6),oa.setPaintProperty):i.deepEqual(Jt[Wt],vt[Wt])||K.push({command:oa.setLayerProperty,args:[ir,Wt,vt[Wt]]}))}}function Yi(Y,z){if(!Y)return[{command:oa.setStyle,args:[z]}];var K=[];try{if(!i.deepEqual(Y.version,z.version))return[{command:oa.setStyle,args:[z]}];i.deepEqual(Y.center,z.center)||K.push({command:oa.setCenter,args:[z.center]}),i.deepEqual(Y.zoom,z.zoom)||K.push({command:oa.setZoom,args:[z.zoom]}),i.deepEqual(Y.bearing,z.bearing)||K.push({command:oa.setBearing,args:[z.bearing]}),i.deepEqual(Y.pitch,z.pitch)||K.push({command:oa.setPitch,args:[z.pitch]}),i.deepEqual(Y.sprite,z.sprite)||K.push({command:oa.setSprite,args:[z.sprite]}),i.deepEqual(Y.glyphs,z.glyphs)||K.push({command:oa.setGlyphs,args:[z.glyphs]}),i.deepEqual(Y.transition,z.transition)||K.push({command:oa.setTransition,args:[z.transition]}),i.deepEqual(Y.light,z.light)||K.push({command:oa.setLight,args:[z.light]});var O={},$=[];_t(Y.sources,z.sources,$,O);var pe=[];Y.layers&&Y.layers.forEach(function(de){O[de.source]?K.push({command:oa.removeLayer,args:[de.id]}):pe.push(de)}),K=K.concat($),zi(pe,z.layers,K)}catch(de){console.warn(\"Unable to compute style diff:\",de),K=[{command:oa.setStyle,args:[z]}]}return K}var an=function(z,K){this.reset(z,K)};an.prototype.reset=function(z,K){this.points=z||[],this._distances=[0];for(var O=1;O<this.points.length;O++)this._distances[O]=this._distances[O-1]+this.points[O].dist(this.points[O-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(K||0,this.length*.5),this.paddedLength=this.length-this.padding*2},an.prototype.lerp=function(z){if(this.points.length===1)return this.points[0];z=i.clamp(z,0,1);for(var K=1,O=this._distances[K],$=z*this.paddedLength+this.padding;O<$&&K<this._distances.length;)O=this._distances[++K];var pe=K-1,de=this._distances[pe],Ie=O-de,$e=Ie>0?($-de)/Ie:0;return this.points[pe].mult(1-$e).add(this.points[K].mult($e))};var hi=function(z,K,O){var $=this.boxCells=[],pe=this.circleCells=[];this.xCellCount=Math.ceil(z/O),this.yCellCount=Math.ceil(K/O);for(var de=0;de<this.xCellCount*this.yCellCount;de++)$.push([]),pe.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=z,this.height=K,this.xScale=this.xCellCount/z,this.yScale=this.yCellCount/K,this.boxUid=0,this.circleUid=0};hi.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},hi.prototype.insert=function(z,K,O,$,pe){this._forEachCell(K,O,$,pe,this._insertBoxCell,this.boxUid++),this.boxKeys.push(z),this.bboxes.push(K),this.bboxes.push(O),this.bboxes.push($),this.bboxes.push(pe)},hi.prototype.insertCircle=function(z,K,O,$){this._forEachCell(K-$,O-$,K+$,O+$,this._insertCircleCell,this.circleUid++),this.circleKeys.push(z),this.circles.push(K),this.circles.push(O),this.circles.push($)},hi.prototype._insertBoxCell=function(z,K,O,$,pe,de){this.boxCells[pe].push(de)},hi.prototype._insertCircleCell=function(z,K,O,$,pe,de){this.circleCells[pe].push(de)},hi.prototype._query=function(z,K,O,$,pe,de){if(O<0||z>this.width||$<0||K>this.height)return pe?!1:[];var Ie=[];if(z<=0&&K<=0&&this.width<=O&&this.height<=$){if(pe)return!0;for(var $e=0;$e<this.boxKeys.length;$e++)Ie.push({key:this.boxKeys[$e],x1:this.bboxes[$e*4],y1:this.bboxes[$e*4+1],x2:this.bboxes[$e*4+2],y2:this.bboxes[$e*4+3]});for(var pt=0;pt<this.circleKeys.length;pt++){var Kt=this.circles[pt*3],ir=this.circles[pt*3+1],Jt=this.circles[pt*3+2];Ie.push({key:this.circleKeys[pt],x1:Kt-Jt,y1:ir-Jt,x2:Kt+Jt,y2:ir+Jt})}return de?Ie.filter(de):Ie}else{var vt={hitTest:pe,seenUids:{box:{},circle:{}}};return this._forEachCell(z,K,O,$,this._queryCell,Ie,vt,de),pe?Ie.length>0:Ie}},hi.prototype._queryCircle=function(z,K,O,$,pe){var de=z-O,Ie=z+O,$e=K-O,pt=K+O;if(Ie<0||de>this.width||pt<0||$e>this.height)return $?!1:[];var Kt=[],ir={hitTest:$,circle:{x:z,y:K,radius:O},seenUids:{box:{},circle:{}}};return this._forEachCell(de,$e,Ie,pt,this._queryCellCircle,Kt,ir,pe),$?Kt.length>0:Kt},hi.prototype.query=function(z,K,O,$,pe){return this._query(z,K,O,$,!1,pe)},hi.prototype.hitTest=function(z,K,O,$,pe){return this._query(z,K,O,$,!0,pe)},hi.prototype.hitTestCircle=function(z,K,O,$){return this._queryCircle(z,K,O,!0,$)},hi.prototype._queryCell=function(z,K,O,$,pe,de,Ie,$e){var pt=Ie.seenUids,Kt=this.boxCells[pe];if(Kt!==null)for(var ir=this.bboxes,Jt=0,vt=Kt;Jt<vt.length;Jt+=1){var Pt=vt[Jt];if(!pt.box[Pt]){pt.box[Pt]=!0;var Wt=Pt*4;if(z<=ir[Wt+2]&&K<=ir[Wt+3]&&O>=ir[Wt+0]&&$>=ir[Wt+1]&&(!$e||$e(this.boxKeys[Pt]))){if(Ie.hitTest)return de.push(!0),!0;de.push({key:this.boxKeys[Pt],x1:ir[Wt],y1:ir[Wt+1],x2:ir[Wt+2],y2:ir[Wt+3]})}}}var rr=this.circleCells[pe];if(rr!==null)for(var dr=this.circles,pr=0,kr=rr;pr<kr.length;pr+=1){var Ar=kr[pr];if(!pt.circle[Ar]){pt.circle[Ar]=!0;var gr=Ar*3;if(this._circleAndRectCollide(dr[gr],dr[gr+1],dr[gr+2],z,K,O,$)&&(!$e||$e(this.circleKeys[Ar]))){if(Ie.hitTest)return de.push(!0),!0;var Cr=dr[gr],cr=dr[gr+1],Gr=dr[gr+2];de.push({key:this.circleKeys[Ar],x1:Cr-Gr,y1:cr-Gr,x2:Cr+Gr,y2:cr+Gr})}}}},hi.prototype._queryCellCircle=function(z,K,O,$,pe,de,Ie,$e){var pt=Ie.circle,Kt=Ie.seenUids,ir=this.boxCells[pe];if(ir!==null)for(var Jt=this.bboxes,vt=0,Pt=ir;vt<Pt.length;vt+=1){var Wt=Pt[vt];if(!Kt.box[Wt]){Kt.box[Wt]=!0;var rr=Wt*4;if(this._circleAndRectCollide(pt.x,pt.y,pt.radius,Jt[rr+0],Jt[rr+1],Jt[rr+2],Jt[rr+3])&&(!$e||$e(this.boxKeys[Wt])))return de.push(!0),!0}}var dr=this.circleCells[pe];if(dr!==null)for(var pr=this.circles,kr=0,Ar=dr;kr<Ar.length;kr+=1){var gr=Ar[kr];if(!Kt.circle[gr]){Kt.circle[gr]=!0;var Cr=gr*3;if(this._circlesCollide(pr[Cr],pr[Cr+1],pr[Cr+2],pt.x,pt.y,pt.radius)&&(!$e||$e(this.circleKeys[gr])))return de.push(!0),!0}}},hi.prototype._forEachCell=function(z,K,O,$,pe,de,Ie,$e){for(var pt=this._convertToXCellCoord(z),Kt=this._convertToYCellCoord(K),ir=this._convertToXCellCoord(O),Jt=this._convertToYCellCoord($),vt=pt;vt<=ir;vt++)for(var Pt=Kt;Pt<=Jt;Pt++){var Wt=this.xCellCount*Pt+vt;if(pe.call(this,z,K,O,$,Wt,de,Ie,$e))return}},hi.prototype._convertToXCellCoord=function(z){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(z*this.xScale)))},hi.prototype._convertToYCellCoord=function(z){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(z*this.yScale)))},hi.prototype._circlesCollide=function(z,K,O,$,pe,de){var Ie=$-z,$e=pe-K,pt=O+de;return pt*pt>Ie*Ie+$e*$e},hi.prototype._circleAndRectCollide=function(z,K,O,$,pe,de,Ie){var $e=(de-$)/2,pt=Math.abs(z-($+$e));if(pt>$e+O)return!1;var Kt=(Ie-pe)/2,ir=Math.abs(K-(pe+Kt));if(ir>Kt+O)return!1;if(pt<=$e||ir<=Kt)return!0;var Jt=pt-$e,vt=ir-Kt;return Jt*Jt+vt*vt<=O*O};function Ji(Y,z,K,O,$){var pe=i.create();return z?(i.scale(pe,pe,[1/$,1/$,1]),K||i.rotateZ(pe,pe,O.angle)):i.multiply(pe,O.labelPlaneMatrix,Y),pe}function ua(Y,z,K,O,$){if(z){var pe=i.clone(Y);return i.scale(pe,pe,[$,$,1]),K||i.rotateZ(pe,pe,-O.angle),pe}else return O.glCoordMatrix}function Fn(Y,z){var K=[Y.x,Y.y,0,1];wl(K,K,z);var O=K[3];return{point:new i.Point(K[0]/O,K[1]/O),signedDistanceFromCamera:O}}function Sa(Y,z){return .5+.5*(Y/z)}function go(Y,z){var K=Y[0]/Y[3],O=Y[1]/Y[3],$=K>=-z[0]&&K<=z[0]&&O>=-z[1]&&O<=z[1];return $}function Oo(Y,z,K,O,$,pe,de,Ie){var $e=O?Y.textSizeData:Y.iconSizeData,pt=i.evaluateSizeForZoom($e,K.transform.zoom),Kt=[256/K.width*2+1,256/K.height*2+1],ir=O?Y.text.dynamicLayoutVertexArray:Y.icon.dynamicLayoutVertexArray;ir.clear();for(var Jt=Y.lineVertexArray,vt=O?Y.text.placedSymbolArray:Y.icon.placedSymbolArray,Pt=K.transform.width/K.transform.height,Wt=!1,rr=0;rr<vt.length;rr++){var dr=vt.get(rr);if(dr.hidden||dr.writingMode===i.WritingMode.vertical&&!Wt){Xs(dr.numGlyphs,ir);continue}Wt=!1;var pr=[dr.anchorX,dr.anchorY,0,1];if(i.transformMat4(pr,pr,z),!go(pr,Kt)){Xs(dr.numGlyphs,ir);continue}var kr=pr[3],Ar=Sa(K.transform.cameraToCenterDistance,kr),gr=i.evaluateSizeForFeature($e,pt,dr),Cr=de?gr/Ar:gr*Ar,cr=new i.Point(dr.anchorX,dr.anchorY),Gr=Fn(cr,$).point,ei={},yi=xo(dr,Cr,!1,Ie,z,$,pe,Y.glyphOffsetArray,Jt,ir,Gr,cr,ei,Pt);Wt=yi.useVertical,(yi.notEnoughRoom||Wt||yi.needsFlipping&&xo(dr,Cr,!0,Ie,z,$,pe,Y.glyphOffsetArray,Jt,ir,Gr,cr,ei,Pt).notEnoughRoom)&&Xs(dr.numGlyphs,ir)}O?Y.text.dynamicLayoutVertexBuffer.updateData(ir):Y.icon.dynamicLayoutVertexBuffer.updateData(ir)}function ho(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt){var ir=Ie.glyphStartIndex+Ie.numGlyphs,Jt=Ie.lineStartIndex,vt=Ie.lineStartIndex+Ie.lineLength,Pt=z.getoffsetX(Ie.glyphStartIndex),Wt=z.getoffsetX(ir-1),rr=ks(Y*Pt,K,O,$,pe,de,Ie.segment,Jt,vt,$e,pt,Kt);if(!rr)return null;var dr=ks(Y*Wt,K,O,$,pe,de,Ie.segment,Jt,vt,$e,pt,Kt);return dr?{first:rr,last:dr}:null}function Mo(Y,z,K,O){if(Y===i.WritingMode.horizontal){var $=Math.abs(K.y-z.y),pe=Math.abs(K.x-z.x)*O;if($>pe)return{useVertical:!0}}return(Y===i.WritingMode.vertical?z.y<K.y:z.x>K.x)?{needsFlipping:!0}:null}function xo(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt,ir,Jt,vt){var Pt=z/24,Wt=Y.lineOffsetX*Pt,rr=Y.lineOffsetY*Pt,dr;if(Y.numGlyphs>1){var pr=Y.glyphStartIndex+Y.numGlyphs,kr=Y.lineStartIndex,Ar=Y.lineStartIndex+Y.lineLength,gr=ho(Pt,Ie,Wt,rr,K,Kt,ir,Y,$e,pe,Jt);if(!gr)return{notEnoughRoom:!0};var Cr=Fn(gr.first.point,de).point,cr=Fn(gr.last.point,de).point;if(O&&!K){var Gr=Mo(Y.writingMode,Cr,cr,vt);if(Gr)return Gr}dr=[gr.first];for(var ei=Y.glyphStartIndex+1;ei<pr-1;ei++)dr.push(ks(Pt*Ie.getoffsetX(ei),Wt,rr,K,Kt,ir,Y.segment,kr,Ar,$e,pe,Jt));dr.push(gr.last)}else{if(O&&!K){var yi=Fn(ir,$).point,tn=Y.lineStartIndex+Y.segment+1,Ri=new i.Point($e.getx(tn),$e.gety(tn)),ln=Fn(Ri,$),Qn=ln.signedDistanceFromCamera>0?ln.point:zs(ir,Ri,yi,1,$),qn=Mo(Y.writingMode,yi,Qn,vt);if(qn)return qn}var rn=ks(Pt*Ie.getoffsetX(Y.glyphStartIndex),Wt,rr,K,Kt,ir,Y.segment,Y.lineStartIndex,Y.lineStartIndex+Y.lineLength,$e,pe,Jt);if(!rn)return{notEnoughRoom:!0};dr=[rn]}for(var bn=0,mn=dr;bn<mn.length;bn+=1){var Gn=mn[bn];i.addDynamicAttributes(pt,Gn.point,Gn.angle)}return{}}function zs(Y,z,K,O,$){var pe=Fn(Y.add(Y.sub(z)._unit()),$).point,de=K.sub(pe);return K.add(de._mult(O/de.mag()))}function ks(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt,ir){var Jt=O?Y-z:Y+z,vt=Jt>0?1:-1,Pt=0;O&&(vt*=-1,Pt=Math.PI),vt<0&&(Pt+=Math.PI);for(var Wt=vt>0?Ie+de:Ie+de+1,rr=$,dr=$,pr=0,kr=0,Ar=Math.abs(Jt),gr=[];pr+kr<=Ar;){if(Wt+=vt,Wt<Ie||Wt>=$e)return null;if(dr=rr,gr.push(rr),rr=ir[Wt],rr===void 0){var Cr=new i.Point(pt.getx(Wt),pt.gety(Wt)),cr=Fn(Cr,Kt);if(cr.signedDistanceFromCamera>0)rr=ir[Wt]=cr.point;else{var Gr=Wt-vt,ei=pr===0?pe:new i.Point(pt.getx(Gr),pt.gety(Gr));rr=zs(ei,Cr,dr,Ar-pr+1,Kt)}}pr+=kr,kr=dr.dist(rr)}var yi=(Ar-pr)/kr,tn=rr.sub(dr),Ri=tn.mult(yi)._add(dr);Ri._add(tn._unit()._perp()._mult(K*vt));var ln=Pt+Math.atan2(rr.y-dr.y,rr.x-dr.x);return gr.push(Ri),{point:Ri,angle:ln,path:gr}}var Zs=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Xs(Y,z){for(var K=0;K<Y;K++){var O=z.length;z.resize(O+4),z.float32.set(Zs,O*3)}}function wl(Y,z,K){var O=z[0],$=z[1];return Y[0]=K[0]*O+K[4]*$+K[12],Y[1]=K[1]*O+K[5]*$+K[13],Y[3]=K[3]*O+K[7]*$+K[15],Y}var os=100,cl=function(z,K,O){K===void 0&&(K=new hi(z.width+2*os,z.height+2*os,25)),O===void 0&&(O=new hi(z.width+2*os,z.height+2*os,25)),this.transform=z,this.grid=K,this.ignoredGrid=O,this.pitchfactor=Math.cos(z._pitch)*z.cameraToCenterDistance,this.screenRightBoundary=z.width+os,this.screenBottomBoundary=z.height+os,this.gridRightBoundary=z.width+2*os,this.gridBottomBoundary=z.height+2*os};cl.prototype.placeCollisionBox=function(z,K,O,$,pe){var de=this.projectAndGetPerspectiveRatio($,z.anchorPointX,z.anchorPointY),Ie=O*de.perspectiveRatio,$e=z.x1*Ie+de.point.x,pt=z.y1*Ie+de.point.y,Kt=z.x2*Ie+de.point.x,ir=z.y2*Ie+de.point.y;return!this.isInsideGrid($e,pt,Kt,ir)||!K&&this.grid.hitTest($e,pt,Kt,ir,pe)?{box:[],offscreen:!1}:{box:[$e,pt,Kt,ir],offscreen:this.isOffscreen($e,pt,Kt,ir)}},cl.prototype.placeCollisionCircles=function(z,K,O,$,pe,de,Ie,$e,pt,Kt,ir,Jt,vt){var Pt=[],Wt=new i.Point(K.anchorX,K.anchorY),rr=Fn(Wt,de),dr=Sa(this.transform.cameraToCenterDistance,rr.signedDistanceFromCamera),pr=Kt?pe/dr:pe*dr,kr=pr/i.ONE_EM,Ar=Fn(Wt,Ie).point,gr={},Cr=K.lineOffsetX*kr,cr=K.lineOffsetY*kr,Gr=ho(kr,$,Cr,cr,!1,Ar,Wt,K,O,Ie,gr),ei=!1,yi=!1,tn=!0;if(Gr){for(var Ri=Jt*.5*dr+vt,ln=new i.Point(-os,-os),Qn=new i.Point(this.screenRightBoundary,this.screenBottomBoundary),qn=new an,rn=Gr.first,bn=Gr.last,mn=[],Gn=rn.path.length-1;Gn>=1;Gn--)mn.push(rn.path[Gn]);for(var da=1;da<bn.path.length;da++)mn.push(bn.path[da]);var No=Ri*2.5;if($e){var Do=mn.map(function(Cv){return Fn(Cv,$e)});Do.some(function(Cv){return Cv.signedDistanceFromCamera<=0})?mn=[]:mn=Do.map(function(Cv){return Cv.point})}var ps=[];if(mn.length>0){for(var fo=mn[0].clone(),as=mn[0].clone(),tl=1;tl<mn.length;tl++)fo.x=Math.min(fo.x,mn[tl].x),fo.y=Math.min(fo.y,mn[tl].y),as.x=Math.max(as.x,mn[tl].x),as.y=Math.max(as.y,mn[tl].y);fo.x>=ln.x&&as.x<=Qn.x&&fo.y>=ln.y&&as.y<=Qn.y?ps=[mn]:as.x<ln.x||fo.x>Qn.x||as.y<ln.y||fo.y>Qn.y?ps=[]:ps=i.clipLine([mn],ln.x,ln.y,Qn.x,Qn.y)}for(var zu=0,Mv=ps;zu<Mv.length;zu+=1){var Ev=Mv[zu];qn.reset(Ev,Ri*.25);var yd=0;qn.length<=.5*Ri?yd=1:yd=Math.ceil(qn.paddedLength/No)+1;for(var Yv=0;Yv<yd;Yv++){var cg=Yv/Math.max(yd-1,1),vp=qn.lerp(cg),_d=vp.x+os,pp=vp.y+os;Pt.push(_d,pp,Ri,0);var Nd=_d-Ri,xd=pp-Ri,kv=_d+Ri,Kv=pp+Ri;if(tn=tn&&this.isOffscreen(Nd,xd,kv,Kv),yi=yi||this.isInsideGrid(Nd,xd,kv,Kv),!z&&this.grid.hitTestCircle(_d,pp,Ri,ir)&&(ei=!0,!pt))return{circles:[],offscreen:!1,collisionDetected:ei}}}}return{circles:!pt&&ei||!yi?[]:Pt,offscreen:tn,collisionDetected:ei}},cl.prototype.queryRenderedSymbols=function(z){if(z.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};for(var K=[],O=1/0,$=1/0,pe=-1/0,de=-1/0,Ie=0,$e=z;Ie<$e.length;Ie+=1){var pt=$e[Ie],Kt=new i.Point(pt.x+os,pt.y+os);O=Math.min(O,Kt.x),$=Math.min($,Kt.y),pe=Math.max(pe,Kt.x),de=Math.max(de,Kt.y),K.push(Kt)}for(var ir=this.grid.query(O,$,pe,de).concat(this.ignoredGrid.query(O,$,pe,de)),Jt={},vt={},Pt=0,Wt=ir;Pt<Wt.length;Pt+=1){var rr=Wt[Pt],dr=rr.key;if(Jt[dr.bucketInstanceId]===void 0&&(Jt[dr.bucketInstanceId]={}),!Jt[dr.bucketInstanceId][dr.featureIndex]){var pr=[new i.Point(rr.x1,rr.y1),new i.Point(rr.x2,rr.y1),new i.Point(rr.x2,rr.y2),new i.Point(rr.x1,rr.y2)];i.polygonIntersectsPolygon(K,pr)&&(Jt[dr.bucketInstanceId][dr.featureIndex]=!0,vt[dr.bucketInstanceId]===void 0&&(vt[dr.bucketInstanceId]=[]),vt[dr.bucketInstanceId].push(dr.featureIndex))}}return vt},cl.prototype.insertCollisionBox=function(z,K,O,$,pe){var de=K?this.ignoredGrid:this.grid,Ie={bucketInstanceId:O,featureIndex:$,collisionGroupID:pe};de.insert(Ie,z[0],z[1],z[2],z[3])},cl.prototype.insertCollisionCircles=function(z,K,O,$,pe){for(var de=K?this.ignoredGrid:this.grid,Ie={bucketInstanceId:O,featureIndex:$,collisionGroupID:pe},$e=0;$e<z.length;$e+=4)de.insertCircle(Ie,z[$e],z[$e+1],z[$e+2])},cl.prototype.projectAndGetPerspectiveRatio=function(z,K,O){var $=[K,O,0,1];wl($,$,z);var pe=new i.Point(($[0]/$[3]+1)/2*this.transform.width+os,(-$[1]/$[3]+1)/2*this.transform.height+os);return{point:pe,perspectiveRatio:.5+.5*(this.transform.cameraToCenterDistance/$[3])}},cl.prototype.isOffscreen=function(z,K,O,$){return O<os||z>=this.screenRightBoundary||$<os||K>this.screenBottomBoundary},cl.prototype.isInsideGrid=function(z,K,O,$){return O>=0&&z<this.gridRightBoundary&&$>=0&&K<this.gridBottomBoundary},cl.prototype.getViewportMatrix=function(){var z=i.identity([]);return i.translate(z,z,[-os,-os,0]),z};function Cs(Y,z,K){return z*(i.EXTENT/(Y.tileSize*Math.pow(2,K-Y.tileID.overscaledZ)))}var ml=function(z,K,O,$){z?this.opacity=Math.max(0,Math.min(1,z.opacity+(z.placed?K:-K))):this.opacity=$&&O?1:0,this.placed=O};ml.prototype.isHidden=function(){return this.opacity===0&&!this.placed};var Ys=function(z,K,O,$,pe){this.text=new ml(z?z.text:null,K,O,pe),this.icon=new ml(z?z.icon:null,K,$,pe)};Ys.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var Hs=function(z,K,O){this.text=z,this.icon=K,this.skipFade=O},Eo=function(){this.invProjMatrix=i.create(),this.viewportMatrix=i.create(),this.circles=[]},fs=function(z,K,O,$,pe){this.bucketInstanceId=z,this.featureIndex=K,this.sourceLayerIndex=O,this.bucketIndex=$,this.tileID=pe},Ql=function(z){this.crossSourceCollisions=z,this.maxGroupID=0,this.collisionGroups={}};Ql.prototype.get=function(z){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[z]){var K=++this.maxGroupID;this.collisionGroups[z]={ID:K,predicate:function(O){return O.collisionGroupID===K}}}return this.collisionGroups[z]};function Hu(Y,z,K,O,$){var pe=i.getAnchorAlignment(Y),de=pe.horizontalAlign,Ie=pe.verticalAlign,$e=-(de-.5)*z,pt=-(Ie-.5)*K,Kt=i.evaluateVariableOffset(Y,O);return new i.Point($e+Kt[0]*$,pt+Kt[1]*$)}function fc(Y,z,K,O,$,pe){var de=Y.x1,Ie=Y.x2,$e=Y.y1,pt=Y.y2,Kt=Y.anchorPointX,ir=Y.anchorPointY,Jt=new i.Point(z,K);return O&&Jt._rotate($?pe:-pe),{x1:de+Jt.x,y1:$e+Jt.y,x2:Ie+Jt.x,y2:pt+Jt.y,anchorPointX:Kt,anchorPointY:ir}}var ms=function(z,K,O,$){this.transform=z.clone(),this.collisionIndex=new cl(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=K,this.retainedQueryData={},this.collisionGroups=new Ql(O),this.collisionCircleArrays={},this.prevPlacement=$,$&&($.prevPlacement=void 0),this.placedOrientations={}};ms.prototype.getBucketParts=function(z,K,O,$){var pe=O.getBucket(K),de=O.latestFeatureIndex;if(!(!pe||!de||K.id!==pe.layerIds[0])){var Ie=O.collisionBoxArray,$e=pe.layers[0].layout,pt=Math.pow(2,this.transform.zoom-O.tileID.overscaledZ),Kt=O.tileSize/i.EXTENT,ir=this.transform.calculatePosMatrix(O.tileID.toUnwrapped()),Jt=$e.get(\"text-pitch-alignment\")===\"map\",vt=$e.get(\"text-rotation-alignment\")===\"map\",Pt=Cs(O,1,this.transform.zoom),Wt=Ji(ir,Jt,vt,this.transform,Pt),rr=null;if(Jt){var dr=ua(ir,Jt,vt,this.transform,Pt);rr=i.multiply([],this.transform.labelPlaneMatrix,dr)}this.retainedQueryData[pe.bucketInstanceId]=new fs(pe.bucketInstanceId,de,pe.sourceLayerIndex,pe.index,O.tileID);var pr={bucket:pe,layout:$e,posMatrix:ir,textLabelPlaneMatrix:Wt,labelToScreenMatrix:rr,scale:pt,textPixelRatio:Kt,holdingForFade:O.holdingForFade(),collisionBoxArray:Ie,partiallyEvaluatedTextSize:i.evaluateSizeForZoom(pe.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(pe.sourceID)};if($)for(var kr=0,Ar=pe.sortKeyRanges;kr<Ar.length;kr+=1){var gr=Ar[kr],Cr=gr.sortKey,cr=gr.symbolInstanceStart,Gr=gr.symbolInstanceEnd;z.push({sortKey:Cr,symbolInstanceStart:cr,symbolInstanceEnd:Gr,parameters:pr})}else z.push({symbolInstanceStart:0,symbolInstanceEnd:pe.symbolInstances.length,parameters:pr})}},ms.prototype.attemptAnchorPlacement=function(z,K,O,$,pe,de,Ie,$e,pt,Kt,ir,Jt,vt,Pt,Wt){var rr=[Jt.textOffset0,Jt.textOffset1],dr=Hu(z,O,$,rr,pe),pr=this.collisionIndex.placeCollisionBox(fc(K,dr.x,dr.y,de,Ie,this.transform.angle),ir,$e,pt,Kt.predicate);if(Wt){var kr=this.collisionIndex.placeCollisionBox(fc(Wt,dr.x,dr.y,de,Ie,this.transform.angle),ir,$e,pt,Kt.predicate);if(kr.box.length===0)return}if(pr.box.length>0){var Ar;return this.prevPlacement&&this.prevPlacement.variableOffsets[Jt.crossTileID]&&this.prevPlacement.placements[Jt.crossTileID]&&this.prevPlacement.placements[Jt.crossTileID].text&&(Ar=this.prevPlacement.variableOffsets[Jt.crossTileID].anchor),this.variableOffsets[Jt.crossTileID]={textOffset:rr,width:O,height:$,anchor:z,textBoxScale:pe,prevAnchor:Ar},this.markUsedJustification(vt,z,Jt,Pt),vt.allowVerticalPlacement&&(this.markUsedOrientation(vt,Pt,Jt),this.placedOrientations[Jt.crossTileID]=Pt),{shift:dr,placedGlyphBoxes:pr}}},ms.prototype.placeLayerBucketPart=function(z,K,O){var $=this,pe=z.parameters,de=pe.bucket,Ie=pe.layout,$e=pe.posMatrix,pt=pe.textLabelPlaneMatrix,Kt=pe.labelToScreenMatrix,ir=pe.textPixelRatio,Jt=pe.holdingForFade,vt=pe.collisionBoxArray,Pt=pe.partiallyEvaluatedTextSize,Wt=pe.collisionGroup,rr=Ie.get(\"text-optional\"),dr=Ie.get(\"icon-optional\"),pr=Ie.get(\"text-allow-overlap\"),kr=Ie.get(\"icon-allow-overlap\"),Ar=Ie.get(\"text-rotation-alignment\")===\"map\",gr=Ie.get(\"text-pitch-alignment\")===\"map\",Cr=Ie.get(\"icon-text-fit\")!==\"none\",cr=Ie.get(\"symbol-z-order\")===\"viewport-y\",Gr=pr&&(kr||!de.hasIconData()||dr),ei=kr&&(pr||!de.hasTextData()||rr);!de.collisionArrays&&vt&&de.deserializeCollisionBoxes(vt);var yi=function(rn,bn){if(!K[rn.crossTileID]){if(Jt){$.placements[rn.crossTileID]=new Hs(!1,!1,!1);return}var mn=!1,Gn=!1,da=!0,No=null,Do={box:null,offscreen:null},ps={box:null,offscreen:null},fo=null,as=null,tl=null,zu=0,Mv=0,Ev=0;bn.textFeatureIndex?zu=bn.textFeatureIndex:rn.useRuntimeCollisionCircles&&(zu=rn.featureIndex),bn.verticalTextFeatureIndex&&(Mv=bn.verticalTextFeatureIndex);var yd=bn.textBox;if(yd){var Yv=function(Fu){var kl=i.WritingMode.horizontal;if(de.allowVerticalPlacement&&!Fu&&$.prevPlacement){var bd=$.prevPlacement.placedOrientations[rn.crossTileID];bd&&($.placedOrientations[rn.crossTileID]=bd,kl=bd,$.markUsedOrientation(de,kl,rn))}return kl},cg=function(Fu,kl){if(de.allowVerticalPlacement&&rn.numVerticalGlyphVertices>0&&bn.verticalTextBox)for(var bd=0,sy=de.writingModes;bd<sy.length;bd+=1){var A1=sy[bd];if(A1===i.WritingMode.vertical?(Do=kl(),ps=Do):Do=Fu(),Do&&Do.box&&Do.box.length)break}else Do=Fu()};if(Ie.get(\"text-variable-anchor\")){var Nd=Ie.get(\"text-variable-anchor\");if($.prevPlacement&&$.prevPlacement.variableOffsets[rn.crossTileID]){var xd=$.prevPlacement.variableOffsets[rn.crossTileID];Nd.indexOf(xd.anchor)>0&&(Nd=Nd.filter(function(Fu){return Fu!==xd.anchor}),Nd.unshift(xd.anchor))}var kv=function(Fu,kl,bd){for(var sy=Fu.x2-Fu.x1,A1=Fu.y2-Fu.y1,Kl=rn.textBoxScale,Nx=Cr&&!kr?kl:null,am={box:[],offscreen:!1},Mw=pr?Nd.length*2:Nd.length,Lv=0;Lv<Mw;++Lv){var om=Nd[Lv%Nd.length],Ew=Lv>=Nd.length,Ux=$.attemptAnchorPlacement(om,Fu,sy,A1,Kl,Ar,gr,ir,$e,Wt,Ew,rn,de,bd,Nx);if(Ux&&(am=Ux.placedGlyphBoxes,am&&am.box&&am.box.length)){mn=!0,No=Ux.shift;break}}return am},Kv=function(){return kv(yd,bn.iconBox,i.WritingMode.horizontal)},Cv=function(){var Fu=bn.verticalTextBox,kl=Do&&Do.box&&Do.box.length;return de.allowVerticalPlacement&&!kl&&rn.numVerticalGlyphVertices>0&&Fu?kv(Fu,bn.verticalIconBox,i.WritingMode.vertical):{box:null,offscreen:null}};cg(Kv,Cv),Do&&(mn=Do.box,da=Do.offscreen);var ny=Yv(Do&&Do.box);if(!mn&&$.prevPlacement){var fg=$.prevPlacement.variableOffsets[rn.crossTileID];fg&&($.variableOffsets[rn.crossTileID]=fg,$.markUsedJustification(de,fg.anchor,rn,ny))}}else{var vp=function(Fu,kl){var bd=$.collisionIndex.placeCollisionBox(Fu,pr,ir,$e,Wt.predicate);return bd&&bd.box&&bd.box.length&&($.markUsedOrientation(de,kl,rn),$.placedOrientations[rn.crossTileID]=kl),bd},_d=function(){return vp(yd,i.WritingMode.horizontal)},pp=function(){var Fu=bn.verticalTextBox;return de.allowVerticalPlacement&&rn.numVerticalGlyphVertices>0&&Fu?vp(Fu,i.WritingMode.vertical):{box:null,offscreen:null}};cg(_d,pp),Yv(Do&&Do.box&&Do.box.length)}}if(fo=Do,mn=fo&&fo.box&&fo.box.length>0,da=fo&&fo.offscreen,rn.useRuntimeCollisionCircles){var Hf=de.text.placedSymbolArray.get(rn.centerJustifiedTextSymbolIndex),hg=i.evaluateSizeForFeature(de.textSizeData,Pt,Hf),ay=Ie.get(\"text-padding\"),Rh=rn.collisionCircleDiameter;as=$.collisionIndex.placeCollisionCircles(pr,Hf,de.lineVertexArray,de.glyphOffsetArray,hg,$e,pt,Kt,O,gr,Wt.predicate,Rh,ay),mn=pr||as.circles.length>0&&!as.collisionDetected,da=da&&as.offscreen}if(bn.iconFeatureIndex&&(Ev=bn.iconFeatureIndex),bn.iconBox){var rm=function(Fu){var kl=Cr&&No?fc(Fu,No.x,No.y,Ar,gr,$.transform.angle):Fu;return $.collisionIndex.placeCollisionBox(kl,kr,ir,$e,Wt.predicate)};ps&&ps.box&&ps.box.length&&bn.verticalIconBox?(tl=rm(bn.verticalIconBox),Gn=tl.box.length>0):(tl=rm(bn.iconBox),Gn=tl.box.length>0),da=da&&tl.offscreen}var w1=rr||rn.numHorizontalGlyphVertices===0&&rn.numVerticalGlyphVertices===0,T1=dr||rn.numIconVertices===0;if(!w1&&!T1?Gn=mn=Gn&&mn:T1?w1||(Gn=Gn&&mn):mn=Gn&&mn,mn&&fo&&fo.box&&(ps&&ps.box&&Mv?$.collisionIndex.insertCollisionBox(fo.box,Ie.get(\"text-ignore-placement\"),de.bucketInstanceId,Mv,Wt.ID):$.collisionIndex.insertCollisionBox(fo.box,Ie.get(\"text-ignore-placement\"),de.bucketInstanceId,zu,Wt.ID)),Gn&&tl&&$.collisionIndex.insertCollisionBox(tl.box,Ie.get(\"icon-ignore-placement\"),de.bucketInstanceId,Ev,Wt.ID),as&&(mn&&$.collisionIndex.insertCollisionCircles(as.circles,Ie.get(\"text-ignore-placement\"),de.bucketInstanceId,zu,Wt.ID),O)){var oy=de.bucketInstanceId,im=$.collisionCircleArrays[oy];im===void 0&&(im=$.collisionCircleArrays[oy]=new Eo);for(var nm=0;nm<as.circles.length;nm+=4)im.circles.push(as.circles[nm+0]),im.circles.push(as.circles[nm+1]),im.circles.push(as.circles[nm+2]),im.circles.push(as.collisionDetected?1:0)}$.placements[rn.crossTileID]=new Hs(mn||Gr,Gn||ei,da||de.justReloaded),K[rn.crossTileID]=!0}};if(cr)for(var tn=de.getSortedSymbolIndexes(this.transform.angle),Ri=tn.length-1;Ri>=0;--Ri){var ln=tn[Ri];yi(de.symbolInstances.get(ln),de.collisionArrays[ln])}else for(var Qn=z.symbolInstanceStart;Qn<z.symbolInstanceEnd;Qn++)yi(de.symbolInstances.get(Qn),de.collisionArrays[Qn]);if(O&&de.bucketInstanceId in this.collisionCircleArrays){var qn=this.collisionCircleArrays[de.bucketInstanceId];i.invert(qn.invProjMatrix,$e),qn.viewportMatrix=this.collisionIndex.getViewportMatrix()}de.justReloaded=!1},ms.prototype.markUsedJustification=function(z,K,O,$){var pe={left:O.leftJustifiedTextSymbolIndex,center:O.centerJustifiedTextSymbolIndex,right:O.rightJustifiedTextSymbolIndex},de;$===i.WritingMode.vertical?de=O.verticalPlacedTextSymbolIndex:de=pe[i.getAnchorJustification(K)];for(var Ie=[O.leftJustifiedTextSymbolIndex,O.centerJustifiedTextSymbolIndex,O.rightJustifiedTextSymbolIndex,O.verticalPlacedTextSymbolIndex],$e=0,pt=Ie;$e<pt.length;$e+=1){var Kt=pt[$e];Kt>=0&&(de>=0&&Kt!==de?z.text.placedSymbolArray.get(Kt).crossTileID=0:z.text.placedSymbolArray.get(Kt).crossTileID=O.crossTileID)}},ms.prototype.markUsedOrientation=function(z,K,O){for(var $=K===i.WritingMode.horizontal||K===i.WritingMode.horizontalOnly?K:0,pe=K===i.WritingMode.vertical?K:0,de=[O.leftJustifiedTextSymbolIndex,O.centerJustifiedTextSymbolIndex,O.rightJustifiedTextSymbolIndex],Ie=0,$e=de;Ie<$e.length;Ie+=1){var pt=$e[Ie];z.text.placedSymbolArray.get(pt).placedOrientation=$}O.verticalPlacedTextSymbolIndex&&(z.text.placedSymbolArray.get(O.verticalPlacedTextSymbolIndex).placedOrientation=pe)},ms.prototype.commit=function(z){this.commitTime=z,this.zoomAtLastRecencyCheck=this.transform.zoom;var K=this.prevPlacement,O=!1;this.prevZoomAdjustment=K?K.zoomAdjustment(this.transform.zoom):0;var $=K?K.symbolFadeChange(z):1,pe=K?K.opacities:{},de=K?K.variableOffsets:{},Ie=K?K.placedOrientations:{};for(var $e in this.placements){var pt=this.placements[$e],Kt=pe[$e];Kt?(this.opacities[$e]=new Ys(Kt,$,pt.text,pt.icon),O=O||pt.text!==Kt.text.placed||pt.icon!==Kt.icon.placed):(this.opacities[$e]=new Ys(null,$,pt.text,pt.icon,pt.skipFade),O=O||pt.text||pt.icon)}for(var ir in pe){var Jt=pe[ir];if(!this.opacities[ir]){var vt=new Ys(Jt,$,!1,!1);vt.isHidden()||(this.opacities[ir]=vt,O=O||Jt.text.placed||Jt.icon.placed)}}for(var Pt in de)!this.variableOffsets[Pt]&&this.opacities[Pt]&&!this.opacities[Pt].isHidden()&&(this.variableOffsets[Pt]=de[Pt]);for(var Wt in Ie)!this.placedOrientations[Wt]&&this.opacities[Wt]&&!this.opacities[Wt].isHidden()&&(this.placedOrientations[Wt]=Ie[Wt]);O?this.lastPlacementChangeTime=z:typeof this.lastPlacementChangeTime!=\"number\"&&(this.lastPlacementChangeTime=K?K.lastPlacementChangeTime:z)},ms.prototype.updateLayerOpacities=function(z,K){for(var O={},$=0,pe=K;$<pe.length;$+=1){var de=pe[$],Ie=de.getBucket(z);Ie&&de.latestFeatureIndex&&z.id===Ie.layerIds[0]&&this.updateBucketOpacities(Ie,O,de.collisionBoxArray)}},ms.prototype.updateBucketOpacities=function(z,K,O){var $=this;z.hasTextData()&&z.text.opacityVertexArray.clear(),z.hasIconData()&&z.icon.opacityVertexArray.clear(),z.hasIconCollisionBoxData()&&z.iconCollisionBox.collisionVertexArray.clear(),z.hasTextCollisionBoxData()&&z.textCollisionBox.collisionVertexArray.clear();var pe=z.layers[0].layout,de=new Ys(null,0,!1,!1,!0),Ie=pe.get(\"text-allow-overlap\"),$e=pe.get(\"icon-allow-overlap\"),pt=pe.get(\"text-variable-anchor\"),Kt=pe.get(\"text-rotation-alignment\")===\"map\",ir=pe.get(\"text-pitch-alignment\")===\"map\",Jt=pe.get(\"icon-text-fit\")!==\"none\",vt=new Ys(null,0,Ie&&($e||!z.hasIconData()||pe.get(\"icon-optional\")),$e&&(Ie||!z.hasTextData()||pe.get(\"text-optional\")),!0);!z.collisionArrays&&O&&(z.hasIconCollisionBoxData()||z.hasTextCollisionBoxData())&&z.deserializeCollisionBoxes(O);for(var Pt=function(pr,kr,Ar){for(var gr=0;gr<kr/4;gr++)pr.opacityVertexArray.emplaceBack(Ar)},Wt=function(pr){var kr=z.symbolInstances.get(pr),Ar=kr.numHorizontalGlyphVertices,gr=kr.numVerticalGlyphVertices,Cr=kr.crossTileID,cr=K[Cr],Gr=$.opacities[Cr];cr?Gr=de:Gr||(Gr=vt,$.opacities[Cr]=Gr),K[Cr]=!0;var ei=Ar>0||gr>0,yi=kr.numIconVertices>0,tn=$.placedOrientations[kr.crossTileID],Ri=tn===i.WritingMode.vertical,ln=tn===i.WritingMode.horizontal||tn===i.WritingMode.horizontalOnly;if(ei){var Qn=Ec(Gr.text),qn=Ri?Zn:Qn;Pt(z.text,Ar,qn);var rn=ln?Zn:Qn;Pt(z.text,gr,rn);var bn=Gr.text.isHidden();[kr.rightJustifiedTextSymbolIndex,kr.centerJustifiedTextSymbolIndex,kr.leftJustifiedTextSymbolIndex].forEach(function(Ev){Ev>=0&&(z.text.placedSymbolArray.get(Ev).hidden=bn||Ri?1:0)}),kr.verticalPlacedTextSymbolIndex>=0&&(z.text.placedSymbolArray.get(kr.verticalPlacedTextSymbolIndex).hidden=bn||ln?1:0);var mn=$.variableOffsets[kr.crossTileID];mn&&$.markUsedJustification(z,mn.anchor,kr,tn);var Gn=$.placedOrientations[kr.crossTileID];Gn&&($.markUsedJustification(z,\"left\",kr,Gn),$.markUsedOrientation(z,Gn,kr))}if(yi){var da=Ec(Gr.icon),No=!(Jt&&kr.verticalPlacedIconSymbolIndex&&Ri);if(kr.placedIconSymbolIndex>=0){var Do=No?da:Zn;Pt(z.icon,kr.numIconVertices,Do),z.icon.placedSymbolArray.get(kr.placedIconSymbolIndex).hidden=Gr.icon.isHidden()}if(kr.verticalPlacedIconSymbolIndex>=0){var ps=No?Zn:da;Pt(z.icon,kr.numVerticalIconVertices,ps),z.icon.placedSymbolArray.get(kr.verticalPlacedIconSymbolIndex).hidden=Gr.icon.isHidden()}}if(z.hasIconCollisionBoxData()||z.hasTextCollisionBoxData()){var fo=z.collisionArrays[pr];if(fo){var as=new i.Point(0,0);if(fo.textBox||fo.verticalTextBox){var tl=!0;if(pt){var zu=$.variableOffsets[Cr];zu?(as=Hu(zu.anchor,zu.width,zu.height,zu.textOffset,zu.textBoxScale),Kt&&as._rotate(ir?$.transform.angle:-$.transform.angle)):tl=!1}fo.textBox&&on(z.textCollisionBox.collisionVertexArray,Gr.text.placed,!tl||Ri,as.x,as.y),fo.verticalTextBox&&on(z.textCollisionBox.collisionVertexArray,Gr.text.placed,!tl||ln,as.x,as.y)}var Mv=!!(!ln&&fo.verticalIconBox);fo.iconBox&&on(z.iconCollisionBox.collisionVertexArray,Gr.icon.placed,Mv,Jt?as.x:0,Jt?as.y:0),fo.verticalIconBox&&on(z.iconCollisionBox.collisionVertexArray,Gr.icon.placed,!Mv,Jt?as.x:0,Jt?as.y:0)}}},rr=0;rr<z.symbolInstances.length;rr++)Wt(rr);if(z.sortFeatures(this.transform.angle),this.retainedQueryData[z.bucketInstanceId]&&(this.retainedQueryData[z.bucketInstanceId].featureSortOrder=z.featureSortOrder),z.hasTextData()&&z.text.opacityVertexBuffer&&z.text.opacityVertexBuffer.updateData(z.text.opacityVertexArray),z.hasIconData()&&z.icon.opacityVertexBuffer&&z.icon.opacityVertexBuffer.updateData(z.icon.opacityVertexArray),z.hasIconCollisionBoxData()&&z.iconCollisionBox.collisionVertexBuffer&&z.iconCollisionBox.collisionVertexBuffer.updateData(z.iconCollisionBox.collisionVertexArray),z.hasTextCollisionBoxData()&&z.textCollisionBox.collisionVertexBuffer&&z.textCollisionBox.collisionVertexBuffer.updateData(z.textCollisionBox.collisionVertexArray),z.bucketInstanceId in this.collisionCircleArrays){var dr=this.collisionCircleArrays[z.bucketInstanceId];z.placementInvProjMatrix=dr.invProjMatrix,z.placementViewportMatrix=dr.viewportMatrix,z.collisionCircleArray=dr.circles,delete this.collisionCircleArrays[z.bucketInstanceId]}},ms.prototype.symbolFadeChange=function(z){return this.fadeDuration===0?1:(z-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment},ms.prototype.zoomAdjustment=function(z){return Math.max(0,(this.transform.zoom-z)/1.5)},ms.prototype.hasTransitions=function(z){return this.stale||z-this.lastPlacementChangeTime<this.fadeDuration},ms.prototype.stillRecent=function(z,K){var O=this.zoomAtLastRecencyCheck===K?1-this.zoomAdjustment(K):1;return this.zoomAtLastRecencyCheck=K,this.commitTime+this.fadeDuration*O>z},ms.prototype.setStale=function(){this.stale=!0};function on(Y,z,K,O,$){Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0)}var fa=Math.pow(2,25),Qu=Math.pow(2,24),Rl=Math.pow(2,17),vo=Math.pow(2,16),Zl=Math.pow(2,9),Ks=Math.pow(2,8),Xl=Math.pow(2,1);function Ec(Y){if(Y.opacity===0&&!Y.placed)return 0;if(Y.opacity===1&&Y.placed)return 4294967295;var z=Y.placed?1:0,K=Math.floor(Y.opacity*127);return K*fa+z*Qu+K*Rl+z*vo+K*Zl+z*Ks+K*Xl+z}var Zn=0,ko=function(z){this._sortAcrossTiles=z.layout.get(\"symbol-z-order\")!==\"viewport-y\"&&z.layout.get(\"symbol-sort-key\").constantOr(1)!==void 0,this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};ko.prototype.continuePlacement=function(z,K,O,$,pe){for(var de=this._bucketParts;this._currentTileIndex<z.length;){var Ie=z[this._currentTileIndex];if(K.getBucketParts(de,$,Ie,this._sortAcrossTiles),this._currentTileIndex++,pe())return!0}for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,de.sort(function(pt,Kt){return pt.sortKey-Kt.sortKey}));this._currentPartIndex<de.length;){var $e=de[this._currentPartIndex];if(K.placeLayerBucketPart($e,this._seenCrossTileIDs,O),this._currentPartIndex++,pe())return!0}return!1};var Co=function(z,K,O,$,pe,de,Ie){this.placement=new ms(z,pe,de,Ie),this._currentPlacementIndex=K.length-1,this._forceFullPlacement=O,this._showCollisionBoxes=$,this._done=!1};Co.prototype.isDone=function(){return this._done},Co.prototype.continuePlacement=function(z,K,O){for(var $=this,pe=i.browser.now(),de=function(){var ir=i.browser.now()-pe;return $._forceFullPlacement?!1:ir>2};this._currentPlacementIndex>=0;){var Ie=z[this._currentPlacementIndex],$e=K[Ie],pt=this.placement.collisionIndex.transform.zoom;if($e.type===\"symbol\"&&(!$e.minzoom||$e.minzoom<=pt)&&(!$e.maxzoom||$e.maxzoom>pt)){this._inProgressLayer||(this._inProgressLayer=new ko($e));var Kt=this._inProgressLayer.continuePlacement(O[$e.source],this.placement,this._showCollisionBoxes,$e,de);if(Kt)return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Co.prototype.commit=function(z){return this.placement.commit(z),this.placement};var Tl=512/i.EXTENT/2,uf=function(z,K,O){this.tileID=z,this.indexedSymbolInstances={},this.bucketInstanceId=O;for(var $=0;$<K.length;$++){var pe=K.get($),de=pe.key;this.indexedSymbolInstances[de]||(this.indexedSymbolInstances[de]=[]),this.indexedSymbolInstances[de].push({crossTileID:pe.crossTileID,coord:this.getScaledCoordinates(pe,z)})}};uf.prototype.getScaledCoordinates=function(z,K){var O=K.canonical.z-this.tileID.canonical.z,$=Tl/Math.pow(2,O);return{x:Math.floor((K.canonical.x*i.EXTENT+z.anchorX)*$),y:Math.floor((K.canonical.y*i.EXTENT+z.anchorY)*$)}},uf.prototype.findMatches=function(z,K,O){for(var $=this.tileID.canonical.z<K.canonical.z?1:Math.pow(2,this.tileID.canonical.z-K.canonical.z),pe=0;pe<z.length;pe++){var de=z.get(pe);if(!de.crossTileID){var Ie=this.indexedSymbolInstances[de.key];if(Ie)for(var $e=this.getScaledCoordinates(de,K),pt=0,Kt=Ie;pt<Kt.length;pt+=1){var ir=Kt[pt];if(Math.abs(ir.coord.x-$e.x)<=$&&Math.abs(ir.coord.y-$e.y)<=$&&!O[ir.crossTileID]){O[ir.crossTileID]=!0,de.crossTileID=ir.crossTileID;break}}}}};var So=function(){this.maxCrossTileID=0};So.prototype.generate=function(){return++this.maxCrossTileID};var cf=function(){this.indexes={},this.usedCrossTileIDs={},this.lng=0};cf.prototype.handleWrapJump=function(z){var K=Math.round((z-this.lng)/360);if(K!==0)for(var O in this.indexes){var $=this.indexes[O],pe={};for(var de in $){var Ie=$[de];Ie.tileID=Ie.tileID.unwrapTo(Ie.tileID.wrap+K),pe[Ie.tileID.key]=Ie}this.indexes[O]=pe}this.lng=z},cf.prototype.addBucket=function(z,K,O){if(this.indexes[z.overscaledZ]&&this.indexes[z.overscaledZ][z.key]){if(this.indexes[z.overscaledZ][z.key].bucketInstanceId===K.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(z.overscaledZ,this.indexes[z.overscaledZ][z.key])}for(var $=0;$<K.symbolInstances.length;$++){var pe=K.symbolInstances.get($);pe.crossTileID=0}this.usedCrossTileIDs[z.overscaledZ]||(this.usedCrossTileIDs[z.overscaledZ]={});var de=this.usedCrossTileIDs[z.overscaledZ];for(var Ie in this.indexes){var $e=this.indexes[Ie];if(Number(Ie)>z.overscaledZ)for(var pt in $e){var Kt=$e[pt];Kt.tileID.isChildOf(z)&&Kt.findMatches(K.symbolInstances,z,de)}else{var ir=z.scaledTo(Number(Ie)),Jt=$e[ir.key];Jt&&Jt.findMatches(K.symbolInstances,z,de)}}for(var vt=0;vt<K.symbolInstances.length;vt++){var Pt=K.symbolInstances.get(vt);Pt.crossTileID||(Pt.crossTileID=O.generate(),de[Pt.crossTileID]=!0)}return this.indexes[z.overscaledZ]===void 0&&(this.indexes[z.overscaledZ]={}),this.indexes[z.overscaledZ][z.key]=new uf(z,K.symbolInstances,K.bucketInstanceId),!0},cf.prototype.removeBucketCrossTileIDs=function(z,K){for(var O in K.indexedSymbolInstances)for(var $=0,pe=K.indexedSymbolInstances[O];$<pe.length;$+=1){var de=pe[$];delete this.usedCrossTileIDs[z][de.crossTileID]}},cf.prototype.removeStaleBuckets=function(z){var K=!1;for(var O in this.indexes){var $=this.indexes[O];for(var pe in $)z[$[pe].bucketInstanceId]||(this.removeBucketCrossTileIDs(O,$[pe]),delete $[pe],K=!0)}return K};var rh=function(){this.layerIndexes={},this.crossTileIDs=new So,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}};rh.prototype.addLayer=function(z,K,O){var $=this.layerIndexes[z.id];$===void 0&&($=this.layerIndexes[z.id]=new cf);var pe=!1,de={};$.handleWrapJump(O);for(var Ie=0,$e=K;Ie<$e.length;Ie+=1){var pt=$e[Ie],Kt=pt.getBucket(z);!Kt||z.id!==Kt.layerIds[0]||(Kt.bucketInstanceId||(Kt.bucketInstanceId=++this.maxBucketInstanceId),$.addBucket(pt.tileID,Kt,this.crossTileIDs)&&(pe=!0),de[Kt.bucketInstanceId]=!0)}return $.removeStaleBuckets(de)&&(pe=!0),pe},rh.prototype.pruneUnusedLayers=function(z){var K={};z.forEach(function($){K[$]=!0});for(var O in this.layerIndexes)K[O]||delete this.layerIndexes[O]};var Al=function(Y,z){return i.emitValidationErrors(Y,z&&z.filter(function(K){return K.identifier!==\"source.canvas\"}))},Hc=i.pick(oa,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\"]),eu=i.pick(oa,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),Ls=jo(),mu=function(Y){function z(K,O){var $=this;O===void 0&&(O={}),Y.call(this),this.map=K,this.dispatcher=new X(ka(),this),this.imageManager=new E,this.imageManager.setEventedParent(this),this.glyphManager=new P(K._requestManager,O.localIdeographFontFamily),this.lineAtlas=new H(256,512),this.crossTileSymbolIndex=new rh,this._layers={},this._serializedLayers={},this._order=[],this.sourceCaches={},this.zoomHistory=new i.ZoomHistory,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"setReferrer\",i.getReferrer());var pe=this;this._rtlTextPluginCallback=z.registerForPluginStateChange(function(de){var Ie={pluginStatus:de.pluginStatus,pluginURL:de.pluginURL};pe.dispatcher.broadcast(\"syncRTLPluginState\",Ie,function($e,pt){if(i.triggerPluginCompletionEvent($e),pt){var Kt=pt.every(function(Jt){return Jt});if(Kt)for(var ir in pe.sourceCaches)pe.sourceCaches[ir].reload()}})}),this.on(\"data\",function(de){if(!(de.dataType!==\"source\"||de.sourceDataType!==\"metadata\")){var Ie=$.sourceCaches[de.sourceId];if(Ie){var $e=Ie.getSource();if(!(!$e||!$e.vectorLayerIds))for(var pt in $._layers){var Kt=$._layers[pt];Kt.source===$e.id&&$._validateLayer(Kt)}}}})}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.loadURL=function(O,$){var pe=this;$===void 0&&($={}),this.fire(new i.Event(\"dataloading\",{dataType:\"style\"}));var de=typeof $.validate==\"boolean\"?$.validate:!i.isMapboxURL(O);O=this.map._requestManager.normalizeStyleURL(O,$.accessToken);var Ie=this.map._requestManager.transformRequest(O,i.ResourceType.Style);this._request=i.getJSON(Ie,function($e,pt){pe._request=null,$e?pe.fire(new i.ErrorEvent($e)):pt&&pe._load(pt,de)})},z.prototype.loadJSON=function(O,$){var pe=this;$===void 0&&($={}),this.fire(new i.Event(\"dataloading\",{dataType:\"style\"})),this._request=i.browser.frame(function(){pe._request=null,pe._load(O,$.validate!==!1)})},z.prototype.loadEmpty=function(){this.fire(new i.Event(\"dataloading\",{dataType:\"style\"})),this._load(Ls,!1)},z.prototype._load=function(O,$){if(!($&&Al(this,i.validateStyle(O)))){this._loaded=!0,this.stylesheet=O;for(var pe in O.sources)this.addSource(pe,O.sources[pe],{validate:!1});O.sprite?this._loadSprite(O.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(O.glyphs);var de=Ra(this.stylesheet.layers);this._order=de.map(function(Kt){return Kt.id}),this._layers={},this._serializedLayers={};for(var Ie=0,$e=de;Ie<$e.length;Ie+=1){var pt=$e[Ie];pt=i.createStyleLayer(pt),pt.setEventedParent(this,{layer:{id:pt.id}}),this._layers[pt.id]=pt,this._serializedLayers[pt.id]=pt.serialize()}this.dispatcher.broadcast(\"setLayers\",this._serializeLayers(this._order)),this.light=new V(this.stylesheet.light),this.fire(new i.Event(\"data\",{dataType:\"style\"})),this.fire(new i.Event(\"style.load\"))}},z.prototype._loadSprite=function(O){var $=this;this._spriteRequest=x(O,this.map._requestManager,function(pe,de){if($._spriteRequest=null,pe)$.fire(new i.ErrorEvent(pe));else if(de)for(var Ie in de)$.imageManager.addImage(Ie,de[Ie]);$.imageManager.setLoaded(!0),$._availableImages=$.imageManager.listImages(),$.dispatcher.broadcast(\"setImages\",$._availableImages),$.fire(new i.Event(\"data\",{dataType:\"style\"}))})},z.prototype._validateLayer=function(O){var $=this.sourceCaches[O.source];if($){var pe=O.sourceLayer;if(pe){var de=$.getSource();(de.type===\"geojson\"||de.vectorLayerIds&&de.vectorLayerIds.indexOf(pe)===-1)&&this.fire(new i.ErrorEvent(new Error('Source layer \"'+pe+'\" does not exist on source \"'+de.id+'\" as specified by style layer \"'+O.id+'\"')))}}},z.prototype.loaded=function(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(var O in this.sourceCaches)if(!this.sourceCaches[O].loaded())return!1;return!!this.imageManager.isLoaded()},z.prototype._serializeLayers=function(O){for(var $=[],pe=0,de=O;pe<de.length;pe+=1){var Ie=de[pe],$e=this._layers[Ie];$e.type!==\"custom\"&&$.push($e.serialize())}return $},z.prototype.hasTransitions=function(){if(this.light&&this.light.hasTransition())return!0;for(var O in this.sourceCaches)if(this.sourceCaches[O].hasTransition())return!0;for(var $ in this._layers)if(this._layers[$].hasTransition())return!0;return!1},z.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\"Style is not done loading\")},z.prototype.update=function(O){if(this._loaded){var $=this._changed;if(this._changed){var pe=Object.keys(this._updatedLayers),de=Object.keys(this._removedLayers);(pe.length||de.length)&&this._updateWorkerLayers(pe,de);for(var Ie in this._updatedSources){var $e=this._updatedSources[Ie];$e===\"reload\"?this._reloadSource(Ie):$e===\"clear\"&&this._clearSource(Ie)}this._updateTilesForChangedImages();for(var pt in this._updatedPaintProps)this._layers[pt].updateTransitions(O);this.light.updateTransitions(O),this._resetUpdates()}var Kt={};for(var ir in this.sourceCaches){var Jt=this.sourceCaches[ir];Kt[ir]=Jt.used,Jt.used=!1}for(var vt=0,Pt=this._order;vt<Pt.length;vt+=1){var Wt=Pt[vt],rr=this._layers[Wt];rr.recalculate(O,this._availableImages),!rr.isHidden(O.zoom)&&rr.source&&(this.sourceCaches[rr.source].used=!0)}for(var dr in Kt){var pr=this.sourceCaches[dr];Kt[dr]!==pr.used&&pr.fire(new i.Event(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:dr}))}this.light.recalculate(O),this.z=O.zoom,$&&this.fire(new i.Event(\"data\",{dataType:\"style\"}))}},z.prototype._updateTilesForChangedImages=function(){var O=Object.keys(this._changedImages);if(O.length){for(var $ in this.sourceCaches)this.sourceCaches[$].reloadTilesForDependencies([\"icons\",\"patterns\"],O);this._changedImages={}}},z.prototype._updateWorkerLayers=function(O,$){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(O),removedIds:$})},z.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={}},z.prototype.setState=function(O){var $=this;if(this._checkLoaded(),Al(this,i.validateStyle(O)))return!1;O=i.clone$1(O),O.layers=Ra(O.layers);var pe=Yi(this.serialize(),O).filter(function(Ie){return!(Ie.command in eu)});if(pe.length===0)return!1;var de=pe.filter(function(Ie){return!(Ie.command in Hc)});if(de.length>0)throw new Error(\"Unimplemented: \"+de.map(function(Ie){return Ie.command}).join(\", \")+\".\");return pe.forEach(function(Ie){Ie.command!==\"setTransition\"&&$[Ie.command].apply($,Ie.args)}),this.stylesheet=O,!0},z.prototype.addImage=function(O,$){if(this.getImage(O))return this.fire(new i.ErrorEvent(new Error(\"An image with this name already exists.\")));this.imageManager.addImage(O,$),this._afterImageUpdated(O)},z.prototype.updateImage=function(O,$){this.imageManager.updateImage(O,$)},z.prototype.getImage=function(O){return this.imageManager.getImage(O)},z.prototype.removeImage=function(O){if(!this.getImage(O))return this.fire(new i.ErrorEvent(new Error(\"No image with this name exists.\")));this.imageManager.removeImage(O),this._afterImageUpdated(O)},z.prototype._afterImageUpdated=function(O){this._availableImages=this.imageManager.listImages(),this._changedImages[O]=!0,this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new i.Event(\"data\",{dataType:\"style\"}))},z.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},z.prototype.addSource=function(O,$,pe){var de=this;if(pe===void 0&&(pe={}),this._checkLoaded(),this.sourceCaches[O]!==void 0)throw new Error(\"There is already a source with this ID\");if(!$.type)throw new Error(\"The type property must be defined, but only the following properties were given: \"+Object.keys($).join(\", \")+\".\");var Ie=[\"vector\",\"raster\",\"geojson\",\"video\",\"image\"],$e=Ie.indexOf($.type)>=0;if(!($e&&this._validate(i.validateStyle.source,\"sources.\"+O,$,null,pe))){this.map&&this.map._collectResourceTiming&&($.collectResourceTiming=!0);var pt=this.sourceCaches[O]=new Zr(O,$,this.dispatcher);pt.style=this,pt.setEventedParent(this,function(){return{isSourceLoaded:de.loaded(),source:pt.serialize(),sourceId:O}}),pt.onAdd(this.map),this._changed=!0}},z.prototype.removeSource=function(O){if(this._checkLoaded(),this.sourceCaches[O]===void 0)throw new Error(\"There is no source with this ID\");for(var $ in this._layers)if(this._layers[$].source===O)return this.fire(new i.ErrorEvent(new Error('Source \"'+O+'\" cannot be removed while layer \"'+$+'\" is using it.')));var pe=this.sourceCaches[O];delete this.sourceCaches[O],delete this._updatedSources[O],pe.fire(new i.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:O})),pe.setEventedParent(null),pe.clearTiles(),pe.onRemove&&pe.onRemove(this.map),this._changed=!0},z.prototype.setGeoJSONSourceData=function(O,$){this._checkLoaded();var pe=this.sourceCaches[O].getSource();pe.setData($),this._changed=!0},z.prototype.getSource=function(O){return this.sourceCaches[O]&&this.sourceCaches[O].getSource()},z.prototype.addLayer=function(O,$,pe){pe===void 0&&(pe={}),this._checkLoaded();var de=O.id;if(this.getLayer(de)){this.fire(new i.ErrorEvent(new Error('Layer with id \"'+de+'\" already exists on this map')));return}var Ie;if(O.type===\"custom\"){if(Al(this,i.validateCustomStyleLayer(O)))return;Ie=i.createStyleLayer(O)}else{if(typeof O.source==\"object\"&&(this.addSource(de,O.source),O=i.clone$1(O),O=i.extend(O,{source:de})),this._validate(i.validateStyle.layer,\"layers.\"+de,O,{arrayIndex:-1},pe))return;Ie=i.createStyleLayer(O),this._validateLayer(Ie),Ie.setEventedParent(this,{layer:{id:de}}),this._serializedLayers[Ie.id]=Ie.serialize()}var $e=$?this._order.indexOf($):this._order.length;if($&&$e===-1){this.fire(new i.ErrorEvent(new Error('Layer with id \"'+$+'\" does not exist on this map.')));return}if(this._order.splice($e,0,de),this._layerOrderChanged=!0,this._layers[de]=Ie,this._removedLayers[de]&&Ie.source&&Ie.type!==\"custom\"){var pt=this._removedLayers[de];delete this._removedLayers[de],pt.type!==Ie.type?this._updatedSources[Ie.source]=\"clear\":(this._updatedSources[Ie.source]=\"reload\",this.sourceCaches[Ie.source].pause())}this._updateLayer(Ie),Ie.onAdd&&Ie.onAdd(this.map)},z.prototype.moveLayer=function(O,$){this._checkLoaded(),this._changed=!0;var pe=this._layers[O];if(!pe){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be moved.\")));return}if(O!==$){var de=this._order.indexOf(O);this._order.splice(de,1);var Ie=$?this._order.indexOf($):this._order.length;if($&&Ie===-1){this.fire(new i.ErrorEvent(new Error('Layer with id \"'+$+'\" does not exist on this map.')));return}this._order.splice(Ie,0,O),this._layerOrderChanged=!0}},z.prototype.removeLayer=function(O){this._checkLoaded();var $=this._layers[O];if(!$){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be removed.\")));return}$.setEventedParent(null);var pe=this._order.indexOf(O);this._order.splice(pe,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[O]=$,delete this._layers[O],delete this._serializedLayers[O],delete this._updatedLayers[O],delete this._updatedPaintProps[O],$.onRemove&&$.onRemove(this.map)},z.prototype.getLayer=function(O){return this._layers[O]},z.prototype.hasLayer=function(O){return O in this._layers},z.prototype.setLayerZoomRange=function(O,$,pe){this._checkLoaded();var de=this.getLayer(O);if(!de){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot have zoom extent.\")));return}de.minzoom===$&&de.maxzoom===pe||($!=null&&(de.minzoom=$),pe!=null&&(de.maxzoom=pe),this._updateLayer(de))},z.prototype.setFilter=function(O,$,pe){pe===void 0&&(pe={}),this._checkLoaded();var de=this.getLayer(O);if(!de){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be filtered.\")));return}if(!i.deepEqual(de.filter,$)){if($==null){de.filter=void 0,this._updateLayer(de);return}this._validate(i.validateStyle.filter,\"layers.\"+de.id+\".filter\",$,null,pe)||(de.filter=i.clone$1($),this._updateLayer(de))}},z.prototype.getFilter=function(O){return i.clone$1(this.getLayer(O).filter)},z.prototype.setLayoutProperty=function(O,$,pe,de){de===void 0&&(de={}),this._checkLoaded();var Ie=this.getLayer(O);if(!Ie){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be styled.\")));return}i.deepEqual(Ie.getLayoutProperty($),pe)||(Ie.setLayoutProperty($,pe,de),this._updateLayer(Ie))},z.prototype.getLayoutProperty=function(O,$){var pe=this.getLayer(O);if(!pe){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style.\")));return}return pe.getLayoutProperty($)},z.prototype.setPaintProperty=function(O,$,pe,de){de===void 0&&(de={}),this._checkLoaded();var Ie=this.getLayer(O);if(!Ie){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be styled.\")));return}if(!i.deepEqual(Ie.getPaintProperty($),pe)){var $e=Ie.setPaintProperty($,pe,de);$e&&this._updateLayer(Ie),this._changed=!0,this._updatedPaintProps[O]=!0}},z.prototype.getPaintProperty=function(O,$){return this.getLayer(O).getPaintProperty($)},z.prototype.setFeatureState=function(O,$){this._checkLoaded();var pe=O.source,de=O.sourceLayer,Ie=this.sourceCaches[pe];if(Ie===void 0){this.fire(new i.ErrorEvent(new Error(\"The source '\"+pe+\"' does not exist in the map's style.\")));return}var $e=Ie.getSource().type;if($e===\"geojson\"&&de){this.fire(new i.ErrorEvent(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\")));return}if($e===\"vector\"&&!de){this.fire(new i.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}O.id===void 0&&this.fire(new i.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),Ie.setFeatureState(de,O.id,$)},z.prototype.removeFeatureState=function(O,$){this._checkLoaded();var pe=O.source,de=this.sourceCaches[pe];if(de===void 0){this.fire(new i.ErrorEvent(new Error(\"The source '\"+pe+\"' does not exist in the map's style.\")));return}var Ie=de.getSource().type,$e=Ie===\"vector\"?O.sourceLayer:void 0;if(Ie===\"vector\"&&!$e){this.fire(new i.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}if($&&typeof O.id!=\"string\"&&typeof O.id!=\"number\"){this.fire(new i.ErrorEvent(new Error(\"A feature id is required to remove its specific state property.\")));return}de.removeFeatureState($e,O.id,$)},z.prototype.getFeatureState=function(O){this._checkLoaded();var $=O.source,pe=O.sourceLayer,de=this.sourceCaches[$];if(de===void 0){this.fire(new i.ErrorEvent(new Error(\"The source '\"+$+\"' does not exist in the map's style.\")));return}var Ie=de.getSource().type;if(Ie===\"vector\"&&!pe){this.fire(new i.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}return O.id===void 0&&this.fire(new i.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),de.getFeatureState(pe,O.id)},z.prototype.getTransition=function(){return i.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},z.prototype.serialize=function(){return i.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:i.mapObject(this.sourceCaches,function(O){return O.serialize()}),layers:this._serializeLayers(this._order)},function(O){return O!==void 0})},z.prototype._updateLayer=function(O){this._updatedLayers[O.id]=!0,O.source&&!this._updatedSources[O.source]&&this.sourceCaches[O.source].getSource().type!==\"raster\"&&(this._updatedSources[O.source]=\"reload\",this.sourceCaches[O.source].pause()),this._changed=!0},z.prototype._flattenAndSortRenderedFeatures=function(O){for(var $=this,pe=function(ln){return $._layers[ln].type===\"fill-extrusion\"},de={},Ie=[],$e=this._order.length-1;$e>=0;$e--){var pt=this._order[$e];if(pe(pt)){de[pt]=$e;for(var Kt=0,ir=O;Kt<ir.length;Kt+=1){var Jt=ir[Kt],vt=Jt[pt];if(vt)for(var Pt=0,Wt=vt;Pt<Wt.length;Pt+=1){var rr=Wt[Pt];Ie.push(rr)}}}}Ie.sort(function(ln,Qn){return Qn.intersectionZ-ln.intersectionZ});for(var dr=[],pr=this._order.length-1;pr>=0;pr--){var kr=this._order[pr];if(pe(kr))for(var Ar=Ie.length-1;Ar>=0;Ar--){var gr=Ie[Ar].feature;if(de[gr.layer.id]<pr)break;dr.push(gr),Ie.pop()}else for(var Cr=0,cr=O;Cr<cr.length;Cr+=1){var Gr=cr[Cr],ei=Gr[kr];if(ei)for(var yi=0,tn=ei;yi<tn.length;yi+=1){var Ri=tn[yi];dr.push(Ri.feature)}}}return dr},z.prototype.queryRenderedFeatures=function(O,$,pe){$&&$.filter&&this._validate(i.validateStyle.filter,\"queryRenderedFeatures.filter\",$.filter,null,$);var de={};if($&&$.layers){if(!Array.isArray($.layers))return this.fire(new i.ErrorEvent(new Error(\"parameters.layers must be an Array.\"))),[];for(var Ie=0,$e=$.layers;Ie<$e.length;Ie+=1){var pt=$e[Ie],Kt=this._layers[pt];if(!Kt)return this.fire(new i.ErrorEvent(new Error(\"The layer '\"+pt+\"' does not exist in the map's style and cannot be queried for features.\"))),[];de[Kt.source]=!0}}var ir=[];$.availableImages=this._availableImages;for(var Jt in this.sourceCaches)$.layers&&!de[Jt]||ir.push(ce(this.sourceCaches[Jt],this._layers,this._serializedLayers,O,$,pe));return this.placement&&ir.push(Ge(this._layers,this._serializedLayers,this.sourceCaches,O,$,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(ir)},z.prototype.querySourceFeatures=function(O,$){$&&$.filter&&this._validate(i.validateStyle.filter,\"querySourceFeatures.filter\",$.filter,null,$);var pe=this.sourceCaches[O];return pe?nt(pe,$):[]},z.prototype.addSourceType=function(O,$,pe){if(z.getSourceType(O))return pe(new Error('A source type called \"'+O+'\" already exists.'));if(z.setSourceType(O,$),!$.workerSourceURL)return pe(null,null);this.dispatcher.broadcast(\"loadWorkerSource\",{name:O,url:$.workerSourceURL},pe)},z.prototype.getLight=function(){return this.light.getLight()},z.prototype.setLight=function(O,$){$===void 0&&($={}),this._checkLoaded();var pe=this.light.getLight(),de=!1;for(var Ie in O)if(!i.deepEqual(O[Ie],pe[Ie])){de=!0;break}if(de){var $e={now:i.browser.now(),transition:i.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(O,$),this.light.updateTransitions($e)}},z.prototype._validate=function(O,$,pe,de,Ie){return Ie===void 0&&(Ie={}),Ie&&Ie.validate===!1?!1:Al(this,O.call(i.validateStyle,i.extend({key:$,style:this.serialize(),value:pe,styleSpec:i.styleSpec},de)))},z.prototype._remove=function(){this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),i.evented.off(\"pluginStateChange\",this._rtlTextPluginCallback);for(var O in this._layers){var $=this._layers[O];$.setEventedParent(null)}for(var pe in this.sourceCaches)this.sourceCaches[pe].clearTiles(),this.sourceCaches[pe].setEventedParent(null);this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove()},z.prototype._clearSource=function(O){this.sourceCaches[O].clearTiles()},z.prototype._reloadSource=function(O){this.sourceCaches[O].resume(),this.sourceCaches[O].reload()},z.prototype._updateSources=function(O){for(var $ in this.sourceCaches)this.sourceCaches[$].update(O)},z.prototype._generateCollisionBoxes=function(){for(var O in this.sourceCaches)this._reloadSource(O)},z.prototype._updatePlacement=function(O,$,pe,de,Ie){Ie===void 0&&(Ie=!1);for(var $e=!1,pt=!1,Kt={},ir=0,Jt=this._order;ir<Jt.length;ir+=1){var vt=Jt[ir],Pt=this._layers[vt];if(Pt.type===\"symbol\"){if(!Kt[Pt.source]){var Wt=this.sourceCaches[Pt.source];Kt[Pt.source]=Wt.getRenderableIds(!0).map(function(Cr){return Wt.getTileByID(Cr)}).sort(function(Cr,cr){return cr.tileID.overscaledZ-Cr.tileID.overscaledZ||(Cr.tileID.isLessThan(cr.tileID)?-1:1)})}var rr=this.crossTileSymbolIndex.addLayer(Pt,Kt[Pt.source],O.center.lng);$e=$e||rr}}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),Ie=Ie||this._layerOrderChanged||pe===0,(Ie||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(i.browser.now(),O.zoom))&&(this.pauseablePlacement=new Co(O,this._order,Ie,$,pe,de,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,Kt),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(i.browser.now()),pt=!0),$e&&this.pauseablePlacement.placement.setStale()),pt||$e)for(var dr=0,pr=this._order;dr<pr.length;dr+=1){var kr=pr[dr],Ar=this._layers[kr];Ar.type===\"symbol\"&&this.placement.updateLayerOpacities(Ar,Kt[Ar.source])}var gr=!this.pauseablePlacement.isDone()||this.placement.hasTransitions(i.browser.now());return gr},z.prototype._releaseSymbolFadeTiles=function(){for(var O in this.sourceCaches)this.sourceCaches[O].releaseSymbolFadeTiles()},z.prototype.getImages=function(O,$,pe){this.imageManager.getImages($.icons,pe),this._updateTilesForChangedImages();var de=this.sourceCaches[$.source];de&&de.setDependencies($.tileID.key,$.type,$.icons)},z.prototype.getGlyphs=function(O,$,pe){this.glyphManager.getGlyphs($.stacks,pe)},z.prototype.getResource=function(O,$,pe){return i.makeRequest($,pe)},z}(i.Evented);mu.getSourceType=ze,mu.setSourceType=Ce,mu.registerForPluginStateChange=i.registerForPluginStateChange;var kc=i.createLayout([{name:\"a_pos\",type:\"Int16\",components:2}]),Of=`#ifdef GL_ES\n", - "precision 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`,Gc=`#ifdef GL_ES\n", - "precision 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\n", - "vec2 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;}`,vd=`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Bf=\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\",ss=`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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,ff=\"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);}\",ih=`varying vec3 v_data;\n", - "#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define mediump float radius\n", - "#pragma mapbox: define lowp float blur\n", - "#pragma mapbox: define lowp float opacity\n", - "#pragma mapbox: define highp vec4 stroke_color\n", - "#pragma mapbox: define mediump float stroke_width\n", - "#pragma mapbox: define lowp float stroke_opacity\n", - "void 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\n", - "vec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Vl=`uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;\n", - "#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define mediump float radius\n", - "#pragma mapbox: define lowp float blur\n", - "#pragma mapbox: define lowp float opacity\n", - "#pragma mapbox: define highp vec4 stroke_color\n", - "#pragma mapbox: define mediump float stroke_width\n", - "#pragma mapbox: define lowp float stroke_opacity\n", - "void 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\n", - "vec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`,Js=\"void main() {gl_FragColor=vec4(1.0);}\",hc=\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\",Cc=`uniform highp float u_intensity;varying vec2 v_extrude;\n", - "#pragma mapbox: define highp float weight\n", - "#define GAUSS_COEF 0.3989422804014327\n", - "void main() {\n", - "#pragma mapbox: initialize highp float weight\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,ws=`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\n", - "const highp float ZERO=1.0/255.0/16.0;\n", - "#define GAUSS_COEF 0.3989422804014327\n", - "void main(void) {\n", - "#pragma mapbox: initialize highp float weight\n", - "#pragma mapbox: initialize mediump float radius\n", - "vec2 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;}`,$s=`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\n", - "gl_FragColor=vec4(0.0);\n", - "#endif\n", - "}`,hs=\"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;}\",Ms=\"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;}}\",dc=\"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;}\",Sl=\"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;}\",ec=\"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);}\",Ps=\"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);}\",ov=\"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);}\",wo=`#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_FragColor=color*opacity;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Od=`attribute vec2 a_pos;uniform mat4 u_matrix;\n", - "#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_Position=u_matrix*vec4(a_pos,0,1);}`,$o=`varying vec2 v_pos;\n", - "#pragma mapbox: define highp vec4 outline_color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 outline_color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Ja=`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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 outline_color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`,Ef=`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\n", - "void 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", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,tc=`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\n", - "void 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\n", - "vec2 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;}`,uu=`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\n", - "void 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", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Mh=`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\n", - "void 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\n", - "vec2 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);}`,jc=`varying vec4 v_color;void main() {gl_FragColor=v_color;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,kf=`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\n", - "void main() {\n", - "#pragma mapbox: initialize highp float base\n", - "#pragma mapbox: initialize highp float height\n", - "#pragma mapbox: initialize highp vec4 color\n", - "vec3 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;}`,Ml=`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\n", - "void 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\n", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Yh=`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\n", - "void 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\n", - "vec2 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;}`,Eh=`#ifdef GL_ES\n", - "precision highp float;\n", - "#endif\n", - "uniform 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,nh=\"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;}\",hf=`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\n", - "void 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,kh=\"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;}\",Kh=`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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float blur\n", - "#pragma mapbox: initialize lowp float opacity\n", - "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);gl_FragColor=color*(alpha*opacity);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,rc=`\n", - "#define scale 0.015873016\n", - "attribute 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\n", - "void 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", - "float 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);}`,ah=`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\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float blur\n", - "#pragma mapbox: initialize lowp float opacity\n", - "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);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Wc=`\n", - "#define scale 0.015873016\n", - "attribute 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\n", - "void 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\n", - "float 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);}`,df=`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\n", - "void 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\n", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Cu=`\n", - "#define scale 0.015873016\n", - "#define LINE_DISTANCE_SCALE 2.0\n", - "attribute 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\n", - "void 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\n", - "float 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;}`,Nf=`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\n", - "void 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\n", - "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 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Zc=`\n", - "#define scale 0.015873016\n", - "#define LINE_DISTANCE_SCALE 2.0\n", - "attribute 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\n", - "void 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\n", - "float 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);}`,ds=`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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Ch=\"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;}\",Bd=`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float opacity\n", - "lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Jh=`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\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float opacity\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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));}`,Cf=`#define SDF_PX 8.0\n", - "uniform 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\n", - "void 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\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,pd=`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\n", - "void 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\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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);}`,Lu=`#define SDF_PX 8.0\n", - "#define SDF 1.0\n", - "#define ICON 0.0\n", - "uniform 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\n", - "void 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\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "return;}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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,$h=`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\n", - "void 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\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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);}`,tu=Is(Of,Gc),Pu=Is(vd,Bf),Lc=Is(ss,ff),fl=Is(ih,Vl),Xc=Is(Js,hc),ic=Is(Cc,ws),yu=Is($s,hs),Qs=Is(Ms,dc),Qh=Is(Sl,ec),gd=Is(Ps,ov),Gu=Is(wo,Od),Pc=Is($o,Ja),vc=Is(Ef,tc),sv=Is(uu,Mh),Lf=Is(jc,kf),Uf=Is(Ml,Yh),Iu=Is(Eh,nh),oh=Is(hf,kh),ru=Is(Kh,rc),vf=Is(ah,Wc),md=Is(df,Cu),sh=Is(Nf,Zc),Fs=Is(ds,Ch),_u=Is(Bd,Jh),xu=Is(Cf,pd),Lh=Is(Lu,$h);function Is(Y,z){var K=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,O=z.match(/attribute ([\\w]+) ([\\w]+)/g),$=Y.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),pe=z.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),de=pe?pe.concat($):$,Ie={};return Y=Y.replace(K,function($e,pt,Kt,ir,Jt){return Ie[Jt]=!0,pt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - "varying `+Kt+\" \"+ir+\" \"+Jt+`;\n", - "#else\n", - "uniform `+Kt+\" \"+ir+\" u_\"+Jt+`;\n", - "#endif\n", - "`:`\n", - "#ifdef HAS_UNIFORM_u_`+Jt+`\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`}),z=z.replace(K,function($e,pt,Kt,ir,Jt){var vt=ir===\"float\"?\"vec2\":\"vec4\",Pt=Jt.match(/color/)?\"color\":vt;return Ie[Jt]?pt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - "uniform lowp float u_`+Jt+`_t;\n", - "attribute `+Kt+\" \"+vt+\" a_\"+Jt+`;\n", - "varying `+Kt+\" \"+ir+\" \"+Jt+`;\n", - "#else\n", - "uniform `+Kt+\" \"+ir+\" u_\"+Jt+`;\n", - "#endif\n", - "`:Pt===\"vec4\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - " `+Jt+\" = a_\"+Jt+`;\n", - "#else\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`:`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - " `+Jt+\" = unpack_mix_\"+Pt+\"(a_\"+Jt+\", u_\"+Jt+`_t);\n", - "#else\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`:pt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - "uniform lowp float u_`+Jt+`_t;\n", - "attribute `+Kt+\" \"+vt+\" a_\"+Jt+`;\n", - "#else\n", - "uniform `+Kt+\" \"+ir+\" u_\"+Jt+`;\n", - "#endif\n", - "`:Pt===\"vec4\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = a_\"+Jt+`;\n", - "#else\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`:`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = unpack_mix_\"+Pt+\"(a_\"+Jt+\", u_\"+Jt+`_t);\n", - "#else\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`}),{fragmentSource:Y,vertexSource:z,staticAttributes:O,staticUniforms:de}}var Pf=Object.freeze({__proto__:null,prelude:tu,background:Pu,backgroundPattern:Lc,circle:fl,clippingMask:Xc,heatmap:ic,heatmapTexture:yu,collisionBox:Qs,collisionCircle:Qh,debug:gd,fill:Gu,fillOutline:Pc,fillOutlinePattern:vc,fillPattern:sv,fillExtrusion:Lf,fillExtrusionPattern:Uf,hillshadePrepare:Iu,hillshade:oh,line:ru,lineGradient:vf,linePattern:md,lineSDF:sh,raster:Fs,symbolIcon:_u,symbolSDF:xu,symbolTextAndIcon:Lh}),Ic=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};Ic.prototype.bind=function(z,K,O,$,pe,de,Ie,$e){this.context=z;for(var pt=this.boundPaintVertexBuffers.length!==$.length,Kt=0;!pt&&Kt<$.length;Kt++)this.boundPaintVertexBuffers[Kt]!==$[Kt]&&(pt=!0);var ir=!this.vao||this.boundProgram!==K||this.boundLayoutVertexBuffer!==O||pt||this.boundIndexBuffer!==pe||this.boundVertexOffset!==de||this.boundDynamicVertexBuffer!==Ie||this.boundDynamicVertexBuffer2!==$e;!z.extVertexArrayObject||ir?this.freshBind(K,O,$,pe,de,Ie,$e):(z.bindVertexArrayOES.set(this.vao),Ie&&Ie.bind(),pe&&pe.dynamicDraw&&pe.bind(),$e&&$e.bind())},Ic.prototype.freshBind=function(z,K,O,$,pe,de,Ie){var $e,pt=z.numAttributes,Kt=this.context,ir=Kt.gl;if(Kt.extVertexArrayObject)this.vao&&this.destroy(),this.vao=Kt.extVertexArrayObject.createVertexArrayOES(),Kt.bindVertexArrayOES.set(this.vao),$e=0,this.boundProgram=z,this.boundLayoutVertexBuffer=K,this.boundPaintVertexBuffers=O,this.boundIndexBuffer=$,this.boundVertexOffset=pe,this.boundDynamicVertexBuffer=de,this.boundDynamicVertexBuffer2=Ie;else{$e=Kt.currentNumAttributes||0;for(var Jt=pt;Jt<$e;Jt++)ir.disableVertexAttribArray(Jt)}K.enableAttributes(ir,z);for(var vt=0,Pt=O;vt<Pt.length;vt+=1){var Wt=Pt[vt];Wt.enableAttributes(ir,z)}de&&de.enableAttributes(ir,z),Ie&&Ie.enableAttributes(ir,z),K.bind(),K.setVertexAttribPointers(ir,z,pe);for(var rr=0,dr=O;rr<dr.length;rr+=1){var pr=dr[rr];pr.bind(),pr.setVertexAttribPointers(ir,z,pe)}de&&(de.bind(),de.setVertexAttribPointers(ir,z,pe)),$&&$.bind(),Ie&&(Ie.bind(),Ie.setVertexAttribPointers(ir,z,pe)),Kt.currentNumAttributes=pt},Ic.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)};function ju(Y){for(var z=[],K=0;K<Y.length;K++)if(Y[K]!==null){var O=Y[K].split(\" \");z.push(O.pop())}return z}var Vf=function(z,K,O,$,pe,de){var Ie=z.gl;this.program=Ie.createProgram();for(var $e=ju(O.staticAttributes),pt=$?$.getBinderAttributes():[],Kt=$e.concat(pt),ir=O.staticUniforms?ju(O.staticUniforms):[],Jt=$?$.getBinderUniforms():[],vt=ir.concat(Jt),Pt=[],Wt=0,rr=vt;Wt<rr.length;Wt+=1){var dr=rr[Wt];Pt.indexOf(dr)<0&&Pt.push(dr)}var pr=$?$.defines():[];de&&pr.push(\"#define OVERDRAW_INSPECTOR;\");var kr=pr.concat(tu.fragmentSource,O.fragmentSource).join(`\n", - "`),Ar=pr.concat(tu.vertexSource,O.vertexSource).join(`\n", - "`),gr=Ie.createShader(Ie.FRAGMENT_SHADER);if(Ie.isContextLost()){this.failedToCreate=!0;return}Ie.shaderSource(gr,kr),Ie.compileShader(gr),Ie.attachShader(this.program,gr);var Cr=Ie.createShader(Ie.VERTEX_SHADER);if(Ie.isContextLost()){this.failedToCreate=!0;return}Ie.shaderSource(Cr,Ar),Ie.compileShader(Cr),Ie.attachShader(this.program,Cr),this.attributes={};var cr={};this.numAttributes=Kt.length;for(var Gr=0;Gr<this.numAttributes;Gr++)Kt[Gr]&&(Ie.bindAttribLocation(this.program,Gr,Kt[Gr]),this.attributes[Kt[Gr]]=Gr);Ie.linkProgram(this.program),Ie.deleteShader(Cr),Ie.deleteShader(gr);for(var ei=0;ei<Pt.length;ei++){var yi=Pt[ei];if(yi&&!cr[yi]){var tn=Ie.getUniformLocation(this.program,yi);tn&&(cr[yi]=tn)}}this.fixedUniforms=pe(z,cr),this.binderUniforms=$?$.getUniforms(z,cr):[]};Vf.prototype.draw=function(z,K,O,$,pe,de,Ie,$e,pt,Kt,ir,Jt,vt,Pt,Wt,rr){var dr,pr=z.gl;if(!this.failedToCreate){z.program.set(this.program),z.setDepthMode(O),z.setStencilMode($),z.setColorMode(pe),z.setCullFace(de);for(var kr in this.fixedUniforms)this.fixedUniforms[kr].set(Ie[kr]);Pt&&Pt.setUniforms(z,this.binderUniforms,Jt,{zoom:vt});for(var Ar=(dr={},dr[pr.LINES]=2,dr[pr.TRIANGLES]=3,dr[pr.LINE_STRIP]=1,dr)[K],gr=0,Cr=ir.get();gr<Cr.length;gr+=1){var cr=Cr[gr],Gr=cr.vaos||(cr.vaos={}),ei=Gr[$e]||(Gr[$e]=new Ic);ei.bind(z,this,pt,Pt?Pt.getPaintVertexBuffers():[],Kt,cr.vertexOffset,Wt,rr),pr.drawElements(K,cr.primitiveLength*Ar,pr.UNSIGNED_SHORT,cr.primitiveOffset*Ar*2)}}};function pc(Y,z,K){var O=1/Cs(K,1,z.transform.tileZoom),$=Math.pow(2,K.tileID.overscaledZ),pe=K.tileSize*Math.pow(2,z.transform.tileZoom)/$,de=pe*(K.tileID.canonical.x+K.tileID.wrap*$),Ie=pe*K.tileID.canonical.y;return{u_image:0,u_texsize:K.imageAtlasTexture.size,u_scale:[O,Y.fromScale,Y.toScale],u_fade:Y.t,u_pixel_coord_upper:[de>>16,Ie>>16],u_pixel_coord_lower:[de&65535,Ie&65535]}}function pf(Y,z,K,O){var $=K.imageManager.getPattern(Y.from.toString()),pe=K.imageManager.getPattern(Y.to.toString()),de=K.imageManager.getPixelSize(),Ie=de.width,$e=de.height,pt=Math.pow(2,O.tileID.overscaledZ),Kt=O.tileSize*Math.pow(2,K.transform.tileZoom)/pt,ir=Kt*(O.tileID.canonical.x+O.tileID.wrap*pt),Jt=Kt*O.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:$.tl,u_pattern_br_a:$.br,u_pattern_tl_b:pe.tl,u_pattern_br_b:pe.br,u_texsize:[Ie,$e],u_mix:z.t,u_pattern_size_a:$.displaySize,u_pattern_size_b:pe.displaySize,u_scale_a:z.fromScale,u_scale_b:z.toScale,u_tile_units_to_pixels:1/Cs(O,1,K.transform.tileZoom),u_pixel_coord_upper:[ir>>16,Jt>>16],u_pixel_coord_lower:[ir&65535,Jt&65535]}}var Ph=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_lightpos:new i.Uniform3f(Y,z.u_lightpos),u_lightintensity:new i.Uniform1f(Y,z.u_lightintensity),u_lightcolor:new i.Uniform3f(Y,z.u_lightcolor),u_vertical_gradient:new i.Uniform1f(Y,z.u_vertical_gradient),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},Dl=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_lightpos:new i.Uniform3f(Y,z.u_lightpos),u_lightintensity:new i.Uniform1f(Y,z.u_lightintensity),u_lightcolor:new i.Uniform3f(Y,z.u_lightcolor),u_vertical_gradient:new i.Uniform1f(Y,z.u_vertical_gradient),u_height_factor:new i.Uniform1f(Y,z.u_height_factor),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},Ih=function(Y,z,K,O){var $=z.style.light,pe=$.properties.get(\"position\"),de=[pe.x,pe.y,pe.z],Ie=i.create$1();$.properties.get(\"anchor\")===\"viewport\"&&i.fromRotation(Ie,-z.transform.angle),i.transformMat3(de,de,Ie);var $e=$.properties.get(\"color\");return{u_matrix:Y,u_lightpos:de,u_lightintensity:$.properties.get(\"intensity\"),u_lightcolor:[$e.r,$e.g,$e.b],u_vertical_gradient:+K,u_opacity:O}},Wu=function(Y,z,K,O,$,pe,de){return i.extend(Ih(Y,z,K,O),pc(pe,z,de),{u_height_factor:-Math.pow(2,$.overscaledZ)/de.tileSize/8})},Rc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},gc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},hl=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world)}},iu=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},mc=function(Y){return{u_matrix:Y}},Yc=function(Y,z,K,O){return i.extend(mc(Y),pc(K,z,O))},nc=function(Y,z){return{u_matrix:Y,u_world:z}},gf=function(Y,z,K,O,$){return i.extend(Yc(Y,z,K,O),{u_world:$})},gt=function(Y,z){return{u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_scale_with_map:new i.Uniform1i(Y,z.u_scale_with_map),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_extrude_scale:new i.Uniform2f(Y,z.u_extrude_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},Bt=function(Y,z,K,O){var $=Y.transform,pe,de;if(O.paint.get(\"circle-pitch-alignment\")===\"map\"){var Ie=Cs(K,1,$.zoom);pe=!0,de=[Ie,Ie]}else pe=!1,de=$.pixelsToGLUnits;return{u_camera_to_center_distance:$.cameraToCenterDistance,u_scale_with_map:+(O.paint.get(\"circle-pitch-scale\")===\"map\"),u_matrix:Y.translatePosMatrix(z.posMatrix,K,O.paint.get(\"circle-translate\"),O.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+pe,u_device_pixel_ratio:i.browser.devicePixelRatio,u_extrude_scale:de}},wr=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pixels_to_tile_units:new i.Uniform1f(Y,z.u_pixels_to_tile_units),u_extrude_scale:new i.Uniform2f(Y,z.u_extrude_scale),u_overscale_factor:new i.Uniform1f(Y,z.u_overscale_factor)}},vr=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_inv_matrix:new i.UniformMatrix4f(Y,z.u_inv_matrix),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_viewport_size:new i.Uniform2f(Y,z.u_viewport_size)}},Ur=function(Y,z,K){var O=Cs(K,1,z.zoom),$=Math.pow(2,z.zoom-K.tileID.overscaledZ),pe=K.tileID.overscaleFactor();return{u_matrix:Y,u_camera_to_center_distance:z.cameraToCenterDistance,u_pixels_to_tile_units:O,u_extrude_scale:[z.pixelsToGLUnits[0]/(O*$),z.pixelsToGLUnits[1]/(O*$)],u_overscale_factor:pe}},fi=function(Y,z,K){return{u_matrix:Y,u_inv_matrix:z,u_camera_to_center_distance:K.cameraToCenterDistance,u_viewport_size:[K.width,K.height]}},xi=function(Y,z){return{u_color:new i.UniformColor(Y,z.u_color),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_overlay:new i.Uniform1i(Y,z.u_overlay),u_overlay_scale:new i.Uniform1f(Y,z.u_overlay_scale)}},Fi=function(Y,z,K){return K===void 0&&(K=1),{u_matrix:Y,u_color:z,u_overlay:0,u_overlay_scale:K}},Xi=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},hn=function(Y){return{u_matrix:Y}},Ti=function(Y,z){return{u_extrude_scale:new i.Uniform1f(Y,z.u_extrude_scale),u_intensity:new i.Uniform1f(Y,z.u_intensity),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},qi=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world),u_image:new i.Uniform1i(Y,z.u_image),u_color_ramp:new i.Uniform1i(Y,z.u_color_ramp),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},Ii=function(Y,z,K,O){return{u_matrix:Y,u_extrude_scale:Cs(z,1,K),u_intensity:O}},mi=function(Y,z,K,O){var $=i.create();i.ortho($,0,Y.width,Y.height,0,0,1);var pe=Y.context.gl;return{u_matrix:$,u_world:[pe.drawingBufferWidth,pe.drawingBufferHeight],u_image:K,u_color_ramp:O,u_opacity:z.paint.get(\"heatmap-opacity\")}},Pn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_latrange:new i.Uniform2f(Y,z.u_latrange),u_light:new i.Uniform2f(Y,z.u_light),u_shadow:new i.UniformColor(Y,z.u_shadow),u_highlight:new i.UniformColor(Y,z.u_highlight),u_accent:new i.UniformColor(Y,z.u_accent)}},Ma=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_dimension:new i.Uniform2f(Y,z.u_dimension),u_zoom:new i.Uniform1f(Y,z.u_zoom),u_unpack:new i.Uniform4f(Y,z.u_unpack)}},Ta=function(Y,z,K){var O=K.paint.get(\"hillshade-shadow-color\"),$=K.paint.get(\"hillshade-highlight-color\"),pe=K.paint.get(\"hillshade-accent-color\"),de=K.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);K.paint.get(\"hillshade-illumination-anchor\")===\"viewport\"&&(de-=Y.transform.angle);var Ie=!Y.options.moving;return{u_matrix:Y.transform.calculatePosMatrix(z.tileID.toUnwrapped(),Ie),u_image:0,u_latrange:qa(Y,z.tileID),u_light:[K.paint.get(\"hillshade-exaggeration\"),de],u_shadow:O,u_highlight:$,u_accent:pe}},Ea=function(Y,z){var K=z.stride,O=i.create();return i.ortho(O,0,i.EXTENT,-i.EXTENT,0,0,1),i.translate(O,O,[0,-i.EXTENT,0]),{u_matrix:O,u_image:1,u_dimension:[K,K],u_zoom:Y.overscaledZ,u_unpack:z.getUnpackVector()}};function qa(Y,z){var K=Math.pow(2,z.canonical.z),O=z.canonical.y;return[new i.MercatorCoordinate(0,O/K).toLngLat().lat,new i.MercatorCoordinate(0,(O+1)/K).toLngLat().lat]}var Cn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels)}},sn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_image:new i.Uniform1i(Y,z.u_image),u_image_height:new i.Uniform1f(Y,z.u_image_height)}},Ua=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_image:new i.Uniform1i(Y,z.u_image),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},mo=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_patternscale_a:new i.Uniform2f(Y,z.u_patternscale_a),u_patternscale_b:new i.Uniform2f(Y,z.u_patternscale_b),u_sdfgamma:new i.Uniform1f(Y,z.u_sdfgamma),u_image:new i.Uniform1i(Y,z.u_image),u_tex_y_a:new i.Uniform1f(Y,z.u_tex_y_a),u_tex_y_b:new i.Uniform1f(Y,z.u_tex_y_b),u_mix:new i.Uniform1f(Y,z.u_mix)}},Xo=function(Y,z,K){var O=Y.transform;return{u_matrix:yl(Y,z,K),u_ratio:1/Cs(z,1,O.zoom),u_device_pixel_ratio:i.browser.devicePixelRatio,u_units_to_pixels:[1/O.pixelsToGLUnits[0],1/O.pixelsToGLUnits[1]]}},Ts=function(Y,z,K,O){return i.extend(Xo(Y,z,K),{u_image:0,u_image_height:O})},Qo=function(Y,z,K,O){var $=Y.transform,pe=Bo(z,$);return{u_matrix:yl(Y,z,K),u_texsize:z.imageAtlasTexture.size,u_ratio:1/Cs(z,1,$.zoom),u_device_pixel_ratio:i.browser.devicePixelRatio,u_image:0,u_scale:[pe,O.fromScale,O.toScale],u_fade:O.t,u_units_to_pixels:[1/$.pixelsToGLUnits[0],1/$.pixelsToGLUnits[1]]}},ys=function(Y,z,K,O,$){var pe=Y.transform,de=Y.lineAtlas,Ie=Bo(z,pe),$e=K.layout.get(\"line-cap\")===\"round\",pt=de.getDash(O.from,$e),Kt=de.getDash(O.to,$e),ir=pt.width*$.fromScale,Jt=Kt.width*$.toScale;return i.extend(Xo(Y,z,K),{u_patternscale_a:[Ie/ir,-pt.height/2],u_patternscale_b:[Ie/Jt,-Kt.height/2],u_sdfgamma:de.width/(Math.min(ir,Jt)*256*i.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:pt.y,u_tex_y_b:Kt.y,u_mix:$.t})};function Bo(Y,z){return 1/Cs(Y,1,z.tileZoom)}function yl(Y,z,K){return Y.translatePosMatrix(z.tileID.posMatrix,z,K.paint.get(\"line-translate\"),K.paint.get(\"line-translate-anchor\"))}var Gs=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_tl_parent:new i.Uniform2f(Y,z.u_tl_parent),u_scale_parent:new i.Uniform1f(Y,z.u_scale_parent),u_buffer_scale:new i.Uniform1f(Y,z.u_buffer_scale),u_fade_t:new i.Uniform1f(Y,z.u_fade_t),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_image0:new i.Uniform1i(Y,z.u_image0),u_image1:new i.Uniform1i(Y,z.u_image1),u_brightness_low:new i.Uniform1f(Y,z.u_brightness_low),u_brightness_high:new i.Uniform1f(Y,z.u_brightness_high),u_saturation_factor:new i.Uniform1f(Y,z.u_saturation_factor),u_contrast_factor:new i.Uniform1f(Y,z.u_contrast_factor),u_spin_weights:new i.Uniform3f(Y,z.u_spin_weights)}},Rs=function(Y,z,K,O,$){return{u_matrix:Y,u_tl_parent:z,u_scale_parent:K,u_buffer_scale:1,u_fade_t:O.mix,u_opacity:O.opacity*$.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:$.paint.get(\"raster-brightness-min\"),u_brightness_high:$.paint.get(\"raster-brightness-max\"),u_saturation_factor:vs($.paint.get(\"raster-saturation\")),u_contrast_factor:Ka($.paint.get(\"raster-contrast\")),u_spin_weights:ia($.paint.get(\"raster-hue-rotate\"))}};function ia(Y){Y*=Math.PI/180;var z=Math.sin(Y),K=Math.cos(Y);return[(2*K+1)/3,(-Math.sqrt(3)*z-K+1)/3,(Math.sqrt(3)*z-K+1)/3]}function Ka(Y){return Y>0?1/(1-Y):1+Y}function vs(Y){return Y>0?1-1/(1.001-Y):-Y}var Ko=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texture:new i.Uniform1i(Y,z.u_texture)}},nu=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texture:new i.Uniform1i(Y,z.u_texture),u_gamma_scale:new i.Uniform1f(Y,z.u_gamma_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_is_halo:new i.Uniform1i(Y,z.u_is_halo)}},Ru=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texsize_icon:new i.Uniform2f(Y,z.u_texsize_icon),u_texture:new i.Uniform1i(Y,z.u_texture),u_texture_icon:new i.Uniform1i(Y,z.u_texture_icon),u_gamma_scale:new i.Uniform1f(Y,z.u_gamma_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_is_halo:new i.Uniform1i(Y,z.u_is_halo)}},ac=function(Y,z,K,O,$,pe,de,Ie,$e,pt){var Kt=$.transform;return{u_is_size_zoom_constant:+(Y===\"constant\"||Y===\"source\"),u_is_size_feature_constant:+(Y===\"constant\"||Y===\"camera\"),u_size_t:z?z.uSizeT:0,u_size:z?z.uSize:0,u_camera_to_center_distance:Kt.cameraToCenterDistance,u_pitch:Kt.pitch/360*2*Math.PI,u_rotate_symbol:+K,u_aspect_ratio:Kt.width/Kt.height,u_fade_change:$.options.fadeDuration?$.symbolFadeChange:1,u_matrix:pe,u_label_plane_matrix:de,u_coord_matrix:Ie,u_is_text:+$e,u_pitch_with_map:+O,u_texsize:pt,u_texture:0}},mf=function(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt){var ir=$.transform;return i.extend(ac(Y,z,K,O,$,pe,de,Ie,$e,pt),{u_gamma_scale:O?Math.cos(ir._pitch)*ir.cameraToCenterDistance:1,u_device_pixel_ratio:i.browser.devicePixelRatio,u_is_halo:+Kt})},bu=function(Y,z,K,O,$,pe,de,Ie,$e,pt){return i.extend(mf(Y,z,K,O,$,pe,de,Ie,!0,$e,!0),{u_texsize_icon:pt,u_texture_icon:1})},Kc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_color:new i.UniformColor(Y,z.u_color)}},Du=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_image:new i.Uniform1i(Y,z.u_image),u_pattern_tl_a:new i.Uniform2f(Y,z.u_pattern_tl_a),u_pattern_br_a:new i.Uniform2f(Y,z.u_pattern_br_a),u_pattern_tl_b:new i.Uniform2f(Y,z.u_pattern_tl_b),u_pattern_br_b:new i.Uniform2f(Y,z.u_pattern_br_b),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_mix:new i.Uniform1f(Y,z.u_mix),u_pattern_size_a:new i.Uniform2f(Y,z.u_pattern_size_a),u_pattern_size_b:new i.Uniform2f(Y,z.u_pattern_size_b),u_scale_a:new i.Uniform1f(Y,z.u_scale_a),u_scale_b:new i.Uniform1f(Y,z.u_scale_b),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_tile_units_to_pixels:new i.Uniform1f(Y,z.u_tile_units_to_pixels)}},Dc=function(Y,z,K){return{u_matrix:Y,u_opacity:z,u_color:K}},Da=function(Y,z,K,O,$,pe){return i.extend(pf(O,pe,K,$),{u_matrix:Y,u_opacity:z})},eo={fillExtrusion:Ph,fillExtrusionPattern:Dl,fill:Rc,fillPattern:gc,fillOutline:hl,fillOutlinePattern:iu,circle:gt,collisionBox:wr,collisionCircle:vr,debug:xi,clippingMask:Xi,heatmap:Ti,heatmapTexture:qi,hillshade:Pn,hillshadePrepare:Ma,line:Cn,lineGradient:sn,linePattern:Ua,lineSDF:mo,raster:Gs,symbolIcon:Ko,symbolSDF:nu,symbolTextAndIcon:Ru,background:Kc,backgroundPattern:Du},Jc;function yc(Y,z,K,O,$,pe,de){for(var Ie=Y.context,$e=Ie.gl,pt=Y.useProgram(\"collisionBox\"),Kt=[],ir=0,Jt=0,vt=0;vt<O.length;vt++){var Pt=O[vt],Wt=z.getTile(Pt),rr=Wt.getBucket(K);if(rr){var dr=Pt.posMatrix;($[0]!==0||$[1]!==0)&&(dr=Y.translatePosMatrix(Pt.posMatrix,Wt,$,pe));var pr=de?rr.textCollisionBox:rr.iconCollisionBox,kr=rr.collisionCircleArray;if(kr.length>0){var Ar=i.create(),gr=dr;i.mul(Ar,rr.placementInvProjMatrix,Y.transform.glCoordMatrix),i.mul(Ar,Ar,rr.placementViewportMatrix),Kt.push({circleArray:kr,circleOffset:Jt,transform:gr,invTransform:Ar}),ir+=kr.length/4,Jt=ir}pr&&pt.draw(Ie,$e.LINES,Wi.disabled,$i.disabled,Y.colorModeForRenderPass(),yr.disabled,Ur(dr,Y.transform,Wt),K.id,pr.layoutVertexBuffer,pr.indexBuffer,pr.segments,null,Y.transform.zoom,null,null,pr.collisionVertexBuffer)}}if(!(!de||!Kt.length)){var Cr=Y.useProgram(\"collisionCircle\"),cr=new i.StructArrayLayout2f1f2i16;cr.resize(ir*4),cr._trim();for(var Gr=0,ei=0,yi=Kt;ei<yi.length;ei+=1)for(var tn=yi[ei],Ri=0;Ri<tn.circleArray.length/4;Ri++){var ln=Ri*4,Qn=tn.circleArray[ln+0],qn=tn.circleArray[ln+1],rn=tn.circleArray[ln+2],bn=tn.circleArray[ln+3];cr.emplace(Gr++,Qn,qn,rn,bn,0),cr.emplace(Gr++,Qn,qn,rn,bn,1),cr.emplace(Gr++,Qn,qn,rn,bn,2),cr.emplace(Gr++,Qn,qn,rn,bn,3)}(!Jc||Jc.length<ir*2)&&(Jc=_c(ir));for(var mn=Ie.createIndexBuffer(Jc,!0),Gn=Ie.createVertexBuffer(cr,i.collisionCircleLayout.members,!0),da=0,No=Kt;da<No.length;da+=1){var Do=No[da],ps=fi(Do.transform,Do.invTransform,Y.transform);Cr.draw(Ie,$e.TRIANGLES,Wi.disabled,$i.disabled,Y.colorModeForRenderPass(),yr.disabled,ps,K.id,Gn,mn,i.SegmentVector.simpleSegment(0,Do.circleOffset*2,Do.circleArray.length,Do.circleArray.length/2),null,Y.transform.zoom,null,null,null)}Gn.destroy(),mn.destroy()}}function _c(Y){var z=Y*2,K=new i.StructArrayLayout3ui6;K.resize(z),K._trim();for(var O=0;O<z;O++){var $=O*6;K.uint16[$+0]=O*4+0,K.uint16[$+1]=O*4+1,K.uint16[$+2]=O*4+2,K.uint16[$+3]=O*4+2,K.uint16[$+4]=O*4+3,K.uint16[$+5]=O*4+0}return K}var le=i.identity(new Float32Array(16));function w(Y,z,K,O,$){if(Y.renderPass===\"translucent\"){var pe=$i.disabled,de=Y.colorModeForRenderPass(),Ie=K.layout.get(\"text-variable-anchor\");Ie&&Q(O,Y,K,z,K.layout.get(\"text-rotation-alignment\"),K.layout.get(\"text-pitch-alignment\"),$),K.paint.get(\"icon-opacity\").constantOr(1)!==0&&qe(Y,z,K,O,!1,K.paint.get(\"icon-translate\"),K.paint.get(\"icon-translate-anchor\"),K.layout.get(\"icon-rotation-alignment\"),K.layout.get(\"icon-pitch-alignment\"),K.layout.get(\"icon-keep-upright\"),pe,de),K.paint.get(\"text-opacity\").constantOr(1)!==0&&qe(Y,z,K,O,!0,K.paint.get(\"text-translate\"),K.paint.get(\"text-translate-anchor\"),K.layout.get(\"text-rotation-alignment\"),K.layout.get(\"text-pitch-alignment\"),K.layout.get(\"text-keep-upright\"),pe,de),z.map.showCollisionBoxes&&(yc(Y,z,K,O,K.paint.get(\"text-translate\"),K.paint.get(\"text-translate-anchor\"),!0),yc(Y,z,K,O,K.paint.get(\"icon-translate\"),K.paint.get(\"icon-translate-anchor\"),!1))}}function B(Y,z,K,O,$,pe){var de=i.getAnchorAlignment(Y),Ie=de.horizontalAlign,$e=de.verticalAlign,pt=-(Ie-.5)*z,Kt=-($e-.5)*K,ir=i.evaluateVariableOffset(Y,O);return new i.Point((pt/$+ir[0])*pe,(Kt/$+ir[1])*pe)}function Q(Y,z,K,O,$,pe,de){for(var Ie=z.transform,$e=$===\"map\",pt=pe===\"map\",Kt=0,ir=Y;Kt<ir.length;Kt+=1){var Jt=ir[Kt],vt=O.getTile(Jt),Pt=vt.getBucket(K);if(!(!Pt||!Pt.text||!Pt.text.segments.get().length)){var Wt=Pt.textSizeData,rr=i.evaluateSizeForZoom(Wt,Ie.zoom),dr=Cs(vt,1,z.transform.zoom),pr=Ji(Jt.posMatrix,pt,$e,z.transform,dr),kr=K.layout.get(\"icon-text-fit\")!==\"none\"&&Pt.hasIconData();if(rr){var Ar=Math.pow(2,Ie.zoom-vt.tileID.overscaledZ);ee(Pt,$e,pt,de,i.symbolSize,Ie,pr,Jt.posMatrix,Ar,rr,kr)}}}}function ee(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt){var ir=Y.text.placedSymbolArray,Jt=Y.text.dynamicLayoutVertexArray,vt=Y.icon.dynamicLayoutVertexArray,Pt={};Jt.clear();for(var Wt=0;Wt<ir.length;Wt++){var rr=ir.get(Wt),dr=Y.allowVerticalPlacement&&!rr.placedOrientation,pr=!rr.hidden&&rr.crossTileID&&!dr?O[rr.crossTileID]:null;if(!pr)Xs(rr.numGlyphs,Jt);else{var kr=new i.Point(rr.anchorX,rr.anchorY),Ar=Fn(kr,K?Ie:de),gr=Sa(pe.cameraToCenterDistance,Ar.signedDistanceFromCamera),Cr=$.evaluateSizeForFeature(Y.textSizeData,pt,rr)*gr/i.ONE_EM;K&&(Cr*=Y.tilePixelRatio/$e);for(var cr=pr.width,Gr=pr.height,ei=pr.anchor,yi=pr.textOffset,tn=pr.textBoxScale,Ri=B(ei,cr,Gr,yi,tn,Cr),ln=K?Fn(kr.add(Ri),de).point:Ar.point.add(z?Ri.rotate(-pe.angle):Ri),Qn=Y.allowVerticalPlacement&&rr.placedOrientation===i.WritingMode.vertical?Math.PI/2:0,qn=0;qn<rr.numGlyphs;qn++)i.addDynamicAttributes(Jt,ln,Qn);Kt&&rr.associatedIconIndex>=0&&(Pt[rr.associatedIconIndex]={shiftedAnchor:ln,angle:Qn})}}if(Kt){vt.clear();for(var rn=Y.icon.placedSymbolArray,bn=0;bn<rn.length;bn++){var mn=rn.get(bn);if(mn.hidden)Xs(mn.numGlyphs,vt);else{var Gn=Pt[bn];if(!Gn)Xs(mn.numGlyphs,vt);else for(var da=0;da<mn.numGlyphs;da++)i.addDynamicAttributes(vt,Gn.shiftedAnchor,Gn.angle)}}Y.icon.dynamicLayoutVertexBuffer.updateData(vt)}Y.text.dynamicLayoutVertexBuffer.updateData(Jt)}function se(Y,z,K){return K.iconsInText&&z?\"symbolTextAndIcon\":Y?\"symbolSDF\":\"symbolIcon\"}function qe(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt,ir){for(var Jt=Y.context,vt=Jt.gl,Pt=Y.transform,Wt=Ie===\"map\",rr=$e===\"map\",dr=Wt&&K.layout.get(\"symbol-placement\")!==\"point\",pr=Wt&&!rr&&!dr,kr=K.layout.get(\"symbol-sort-key\").constantOr(1)!==void 0,Ar=!1,gr=Y.depthModeForSublayer(0,Wi.ReadOnly),Cr=K.layout.get(\"text-variable-anchor\"),cr=[],Gr=0,ei=O;Gr<ei.length;Gr+=1){var yi=ei[Gr],tn=z.getTile(yi),Ri=tn.getBucket(K);if(Ri){var ln=$?Ri.text:Ri.icon;if(!(!ln||!ln.segments.get().length)){var Qn=ln.programConfigurations.get(K.id),qn=$||Ri.sdfIcons,rn=$?Ri.textSizeData:Ri.iconSizeData,bn=rr||Pt.pitch!==0,mn=Y.useProgram(se(qn,$,Ri),Qn),Gn=i.evaluateSizeForZoom(rn,Pt.zoom),da=void 0,No=[0,0],Do=void 0,ps=void 0,fo=null,as=void 0;if($){if(Do=tn.glyphAtlasTexture,ps=vt.LINEAR,da=tn.glyphAtlasTexture.size,Ri.iconsInText){No=tn.imageAtlasTexture.size,fo=tn.imageAtlasTexture;var tl=rn.kind===\"composite\"||rn.kind===\"camera\";as=bn||Y.options.rotating||Y.options.zooming||tl?vt.LINEAR:vt.NEAREST}}else{var zu=K.layout.get(\"icon-size\").constantOr(0)!==1||Ri.iconsNeedLinear;Do=tn.imageAtlasTexture,ps=qn||Y.options.rotating||Y.options.zooming||zu||bn?vt.LINEAR:vt.NEAREST,da=tn.imageAtlasTexture.size}var Mv=Cs(tn,1,Y.transform.zoom),Ev=Ji(yi.posMatrix,rr,Wt,Y.transform,Mv),yd=ua(yi.posMatrix,rr,Wt,Y.transform,Mv),Yv=Cr&&Ri.hasTextData(),cg=K.layout.get(\"icon-text-fit\")!==\"none\"&&Yv&&Ri.hasIconData();dr&&Oo(Ri,yi.posMatrix,Y,$,Ev,yd,rr,pt);var vp=Y.translatePosMatrix(yi.posMatrix,tn,pe,de),_d=dr||$&&Cr||cg?le:Ev,pp=Y.translatePosMatrix(yd,tn,pe,de,!0),Nd=qn&&K.paint.get($?\"text-halo-width\":\"icon-halo-width\").constantOr(1)!==0,xd=void 0;qn?Ri.iconsInText?xd=bu(rn.kind,Gn,pr,rr,Y,vp,_d,pp,da,No):xd=mf(rn.kind,Gn,pr,rr,Y,vp,_d,pp,$,da,!0):xd=ac(rn.kind,Gn,pr,rr,Y,vp,_d,pp,$,da);var kv={program:mn,buffers:ln,uniformValues:xd,atlasTexture:Do,atlasTextureIcon:fo,atlasInterpolation:ps,atlasInterpolationIcon:as,isSDF:qn,hasHalo:Nd};if(kr&&Ri.canOverlap){Ar=!0;for(var Kv=ln.segments.get(),Cv=0,ny=Kv;Cv<ny.length;Cv+=1){var fg=ny[Cv];cr.push({segments:new i.SegmentVector([fg]),sortKey:fg.sortKey,state:kv})}}else cr.push({segments:ln.segments,sortKey:0,state:kv})}}}Ar&&cr.sort(function(w1,T1){return w1.sortKey-T1.sortKey});for(var Hf=0,hg=cr;Hf<hg.length;Hf+=1){var ay=hg[Hf],Rh=ay.state;if(Jt.activeTexture.set(vt.TEXTURE0),Rh.atlasTexture.bind(Rh.atlasInterpolation,vt.CLAMP_TO_EDGE),Rh.atlasTextureIcon&&(Jt.activeTexture.set(vt.TEXTURE1),Rh.atlasTextureIcon&&Rh.atlasTextureIcon.bind(Rh.atlasInterpolationIcon,vt.CLAMP_TO_EDGE)),Rh.isSDF){var rm=Rh.uniformValues;Rh.hasHalo&&(rm.u_is_halo=1,je(Rh.buffers,ay.segments,K,Y,Rh.program,gr,Kt,ir,rm)),rm.u_is_halo=0}je(Rh.buffers,ay.segments,K,Y,Rh.program,gr,Kt,ir,Rh.uniformValues)}}function je(Y,z,K,O,$,pe,de,Ie,$e){var pt=O.context,Kt=pt.gl;$.draw(pt,Kt.TRIANGLES,pe,de,Ie,yr.disabled,$e,K.id,Y.layoutVertexBuffer,Y.indexBuffer,z,K.paint,O.transform.zoom,Y.programConfigurations.get(K.id),Y.dynamicLayoutVertexBuffer,Y.opacityVertexBuffer)}function it(Y,z,K,O){if(Y.renderPass===\"translucent\"){var $=K.paint.get(\"circle-opacity\"),pe=K.paint.get(\"circle-stroke-width\"),de=K.paint.get(\"circle-stroke-opacity\"),Ie=K.layout.get(\"circle-sort-key\").constantOr(1)!==void 0;if(!($.constantOr(1)===0&&(pe.constantOr(1)===0||de.constantOr(1)===0))){for(var $e=Y.context,pt=$e.gl,Kt=Y.depthModeForSublayer(0,Wi.ReadOnly),ir=$i.disabled,Jt=Y.colorModeForRenderPass(),vt=[],Pt=0;Pt<O.length;Pt++){var Wt=O[Pt],rr=z.getTile(Wt),dr=rr.getBucket(K);if(dr){var pr=dr.programConfigurations.get(K.id),kr=Y.useProgram(\"circle\",pr),Ar=dr.layoutVertexBuffer,gr=dr.indexBuffer,Cr=Bt(Y,Wt,rr,K),cr={programConfiguration:pr,program:kr,layoutVertexBuffer:Ar,indexBuffer:gr,uniformValues:Cr};if(Ie)for(var Gr=dr.segments.get(),ei=0,yi=Gr;ei<yi.length;ei+=1){var tn=yi[ei];vt.push({segments:new i.SegmentVector([tn]),sortKey:tn.sortKey,state:cr})}else vt.push({segments:dr.segments,sortKey:0,state:cr})}}Ie&&vt.sort(function(Do,ps){return Do.sortKey-ps.sortKey});for(var Ri=0,ln=vt;Ri<ln.length;Ri+=1){var Qn=ln[Ri],qn=Qn.state,rn=qn.programConfiguration,bn=qn.program,mn=qn.layoutVertexBuffer,Gn=qn.indexBuffer,da=qn.uniformValues,No=Qn.segments;bn.draw($e,pt.TRIANGLES,Kt,ir,Jt,yr.disabled,da,K.id,mn,Gn,No,K.paint,Y.transform.zoom,rn)}}}}function yt(Y,z,K,O){if(K.paint.get(\"heatmap-opacity\")!==0)if(Y.renderPass===\"offscreen\"){var $=Y.context,pe=$.gl,de=$i.disabled,Ie=new ft([pe.ONE,pe.ONE],i.Color.transparent,[!0,!0,!0,!0]);Ot($,Y,K),$.clear({color:i.Color.transparent});for(var $e=0;$e<O.length;$e++){var pt=O[$e];if(!z.hasRenderableParent(pt)){var Kt=z.getTile(pt),ir=Kt.getBucket(K);if(ir){var Jt=ir.programConfigurations.get(K.id),vt=Y.useProgram(\"heatmap\",Jt),Pt=Y.transform,Wt=Pt.zoom;vt.draw($,pe.TRIANGLES,Wi.disabled,de,Ie,yr.disabled,Ii(pt.posMatrix,Kt,Wt,K.paint.get(\"heatmap-intensity\")),K.id,ir.layoutVertexBuffer,ir.indexBuffer,ir.segments,K.paint,Y.transform.zoom,Jt)}}}$.viewport.set([0,0,Y.width,Y.height])}else Y.renderPass===\"translucent\"&&(Y.context.setColorMode(Y.colorModeForRenderPass()),hr(Y,K))}function Ot(Y,z,K){var O=Y.gl;Y.activeTexture.set(O.TEXTURE1),Y.viewport.set([0,0,z.width/4,z.height/4]);var $=K.heatmapFbo;if($)O.bindTexture(O.TEXTURE_2D,$.colorAttachment.get()),Y.bindFramebuffer.set($.framebuffer);else{var pe=O.createTexture();O.bindTexture(O.TEXTURE_2D,pe),O.texParameteri(O.TEXTURE_2D,O.TEXTURE_WRAP_S,O.CLAMP_TO_EDGE),O.texParameteri(O.TEXTURE_2D,O.TEXTURE_WRAP_T,O.CLAMP_TO_EDGE),O.texParameteri(O.TEXTURE_2D,O.TEXTURE_MIN_FILTER,O.LINEAR),O.texParameteri(O.TEXTURE_2D,O.TEXTURE_MAG_FILTER,O.LINEAR),$=K.heatmapFbo=Y.createFramebuffer(z.width/4,z.height/4,!1),Nt(Y,z,pe,$)}}function Nt(Y,z,K,O){var $=Y.gl,pe=Y.extRenderToTextureHalfFloat?Y.extTextureHalfFloat.HALF_FLOAT_OES:$.UNSIGNED_BYTE;$.texImage2D($.TEXTURE_2D,0,$.RGBA,z.width/4,z.height/4,0,$.RGBA,pe,null),O.colorAttachment.set(K)}function hr(Y,z){var K=Y.context,O=K.gl,$=z.heatmapFbo;if($){K.activeTexture.set(O.TEXTURE0),O.bindTexture(O.TEXTURE_2D,$.colorAttachment.get()),K.activeTexture.set(O.TEXTURE1);var pe=z.colorRampTexture;pe||(pe=z.colorRampTexture=new i.Texture(K,z.colorRamp,O.RGBA)),pe.bind(O.LINEAR,O.CLAMP_TO_EDGE),Y.useProgram(\"heatmapTexture\").draw(K,O.TRIANGLES,Wi.disabled,$i.disabled,Y.colorModeForRenderPass(),yr.disabled,mi(Y,z,0,1),z.id,Y.viewportBuffer,Y.quadTriangleIndexBuffer,Y.viewportSegments,z.paint,Y.transform.zoom)}}function Sr(Y,z,K,O){if(Y.renderPass===\"translucent\"){var $=K.paint.get(\"line-opacity\"),pe=K.paint.get(\"line-width\");if(!($.constantOr(1)===0||pe.constantOr(1)===0))for(var de=Y.depthModeForSublayer(0,Wi.ReadOnly),Ie=Y.colorModeForRenderPass(),$e=K.paint.get(\"line-dasharray\"),pt=K.paint.get(\"line-pattern\"),Kt=pt.constantOr(1),ir=K.paint.get(\"line-gradient\"),Jt=K.getCrossfadeParameters(),vt=Kt?\"linePattern\":$e?\"lineSDF\":ir?\"lineGradient\":\"line\",Pt=Y.context,Wt=Pt.gl,rr=!0,dr=0,pr=O;dr<pr.length;dr+=1){var kr=pr[dr],Ar=z.getTile(kr);if(!(Kt&&!Ar.patternsLoaded())){var gr=Ar.getBucket(K);if(gr){var Cr=gr.programConfigurations.get(K.id),cr=Y.context.program.get(),Gr=Y.useProgram(vt,Cr),ei=rr||Gr.program!==cr,yi=pt.constantOr(null);if(yi&&Ar.imageAtlas){var tn=Ar.imageAtlas,Ri=tn.patternPositions[yi.to.toString()],ln=tn.patternPositions[yi.from.toString()];Ri&&ln&&Cr.setConstantPatternPositions(Ri,ln)}var Qn=Kt?Qo(Y,Ar,K,Jt):$e?ys(Y,Ar,K,$e,Jt):ir?Ts(Y,Ar,K,gr.lineClipsArray.length):Xo(Y,Ar,K);if(Kt)Pt.activeTexture.set(Wt.TEXTURE0),Ar.imageAtlasTexture.bind(Wt.LINEAR,Wt.CLAMP_TO_EDGE),Cr.updatePaintBuffers(Jt);else if($e&&(ei||Y.lineAtlas.dirty))Pt.activeTexture.set(Wt.TEXTURE0),Y.lineAtlas.bind(Pt);else if(ir){var qn=gr.gradients[K.id],rn=qn.texture;if(K.gradientVersion!==qn.version){var bn=256;if(K.stepInterpolant){var mn=z.getSource().maxzoom,Gn=kr.canonical.z===mn?Math.ceil(1<<Y.transform.maxZoom-kr.canonical.z):1,da=gr.maxLineLength/i.EXTENT,No=1024,Do=da*No*Gn;bn=i.clamp(i.nextPowerOfTwo(Do),256,Pt.maxTextureSize)}qn.gradient=i.renderColorRamp({expression:K.gradientExpression(),evaluationKey:\"lineProgress\",resolution:bn,image:qn.gradient||void 0,clips:gr.lineClipsArray}),qn.texture?qn.texture.update(qn.gradient):qn.texture=new i.Texture(Pt,qn.gradient,Wt.RGBA),qn.version=K.gradientVersion,rn=qn.texture}Pt.activeTexture.set(Wt.TEXTURE0),rn.bind(K.stepInterpolant?Wt.NEAREST:Wt.LINEAR,Wt.CLAMP_TO_EDGE)}Gr.draw(Pt,Wt.TRIANGLES,de,Y.stencilModeForClipping(kr),Ie,yr.disabled,Qn,K.id,gr.layoutVertexBuffer,gr.indexBuffer,gr.segments,K.paint,Y.transform.zoom,Cr,gr.layoutVertexBuffer2),rr=!1}}}}}function he(Y,z,K,O){var $=K.paint.get(\"fill-color\"),pe=K.paint.get(\"fill-opacity\");if(pe.constantOr(1)!==0){var de=Y.colorModeForRenderPass(),Ie=K.paint.get(\"fill-pattern\"),$e=Y.opaquePassEnabledForLayer()&&!Ie.constantOr(1)&&$.constantOr(i.Color.transparent).a===1&&pe.constantOr(0)===1?\"opaque\":\"translucent\";if(Y.renderPass===$e){var pt=Y.depthModeForSublayer(1,Y.renderPass===\"opaque\"?Wi.ReadWrite:Wi.ReadOnly);be(Y,z,K,O,pt,de,!1)}if(Y.renderPass===\"translucent\"&&K.paint.get(\"fill-antialias\")){var Kt=Y.depthModeForSublayer(K.getPaintProperty(\"fill-outline-color\")?2:0,Wi.ReadOnly);be(Y,z,K,O,Kt,de,!0)}}}function be(Y,z,K,O,$,pe,de){var Ie=Y.context.gl,$e=K.paint.get(\"fill-pattern\"),pt=$e&&$e.constantOr(1),Kt=K.getCrossfadeParameters(),ir,Jt,vt,Pt,Wt;de?(Jt=pt&&!K.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",ir=Ie.LINES):(Jt=pt?\"fillPattern\":\"fill\",ir=Ie.TRIANGLES);for(var rr=0,dr=O;rr<dr.length;rr+=1){var pr=dr[rr],kr=z.getTile(pr);if(!(pt&&!kr.patternsLoaded())){var Ar=kr.getBucket(K);if(Ar){var gr=Ar.programConfigurations.get(K.id),Cr=Y.useProgram(Jt,gr);pt&&(Y.context.activeTexture.set(Ie.TEXTURE0),kr.imageAtlasTexture.bind(Ie.LINEAR,Ie.CLAMP_TO_EDGE),gr.updatePaintBuffers(Kt));var cr=$e.constantOr(null);if(cr&&kr.imageAtlas){var Gr=kr.imageAtlas,ei=Gr.patternPositions[cr.to.toString()],yi=Gr.patternPositions[cr.from.toString()];ei&&yi&&gr.setConstantPatternPositions(ei,yi)}var tn=Y.translatePosMatrix(pr.posMatrix,kr,K.paint.get(\"fill-translate\"),K.paint.get(\"fill-translate-anchor\"));if(!de)Pt=Ar.indexBuffer,Wt=Ar.segments,vt=pt?Yc(tn,Y,Kt,kr):mc(tn);else{Pt=Ar.indexBuffer2,Wt=Ar.segments2;var Ri=[Ie.drawingBufferWidth,Ie.drawingBufferHeight];vt=Jt===\"fillOutlinePattern\"&&pt?gf(tn,Y,Kt,kr,Ri):nc(tn,Ri)}Cr.draw(Y.context,ir,$,Y.stencilModeForClipping(pr),pe,yr.disabled,vt,K.id,Ar.layoutVertexBuffer,Pt,Wt,K.paint,Y.transform.zoom,gr)}}}}function Pe(Y,z,K,O){var $=K.paint.get(\"fill-extrusion-opacity\");if($!==0&&Y.renderPass===\"translucent\"){var pe=new Wi(Y.context.gl.LEQUAL,Wi.ReadWrite,Y.depthRangeFor3D);if($===1&&!K.paint.get(\"fill-extrusion-pattern\").constantOr(1)){var de=Y.colorModeForRenderPass();Oe(Y,z,K,O,pe,$i.disabled,de)}else Oe(Y,z,K,O,pe,$i.disabled,ft.disabled),Oe(Y,z,K,O,pe,Y.stencilModeFor3D(),Y.colorModeForRenderPass())}}function Oe(Y,z,K,O,$,pe,de){for(var Ie=Y.context,$e=Ie.gl,pt=K.paint.get(\"fill-extrusion-pattern\"),Kt=pt.constantOr(1),ir=K.getCrossfadeParameters(),Jt=K.paint.get(\"fill-extrusion-opacity\"),vt=0,Pt=O;vt<Pt.length;vt+=1){var Wt=Pt[vt],rr=z.getTile(Wt),dr=rr.getBucket(K);if(dr){var pr=dr.programConfigurations.get(K.id),kr=Y.useProgram(Kt?\"fillExtrusionPattern\":\"fillExtrusion\",pr);Kt&&(Y.context.activeTexture.set($e.TEXTURE0),rr.imageAtlasTexture.bind($e.LINEAR,$e.CLAMP_TO_EDGE),pr.updatePaintBuffers(ir));var Ar=pt.constantOr(null);if(Ar&&rr.imageAtlas){var gr=rr.imageAtlas,Cr=gr.patternPositions[Ar.to.toString()],cr=gr.patternPositions[Ar.from.toString()];Cr&&cr&&pr.setConstantPatternPositions(Cr,cr)}var Gr=Y.translatePosMatrix(Wt.posMatrix,rr,K.paint.get(\"fill-extrusion-translate\"),K.paint.get(\"fill-extrusion-translate-anchor\")),ei=K.paint.get(\"fill-extrusion-vertical-gradient\"),yi=Kt?Wu(Gr,Y,ei,Jt,Wt,ir,rr):Ih(Gr,Y,ei,Jt);kr.draw(Ie,Ie.gl.TRIANGLES,$,pe,de,yr.backCCW,yi,K.id,dr.layoutVertexBuffer,dr.indexBuffer,dr.segments,K.paint,Y.transform.zoom,pr)}}}function Je(Y,z,K,O){if(!(Y.renderPass!==\"offscreen\"&&Y.renderPass!==\"translucent\")){for(var $=Y.context,pe=Y.depthModeForSublayer(0,Wi.ReadOnly),de=Y.colorModeForRenderPass(),Ie=Y.renderPass===\"translucent\"?Y.stencilConfigForOverlap(O):[{},O],$e=Ie[0],pt=Ie[1],Kt=0,ir=pt;Kt<ir.length;Kt+=1){var Jt=ir[Kt],vt=z.getTile(Jt);vt.needsHillshadePrepare&&Y.renderPass===\"offscreen\"?et(Y,vt,K,pe,$i.disabled,de):Y.renderPass===\"translucent\"&&He(Y,vt,K,pe,$e[Jt.overscaledZ],de)}$.viewport.set([0,0,Y.width,Y.height])}}function He(Y,z,K,O,$,pe){var de=Y.context,Ie=de.gl,$e=z.fbo;if($e){var pt=Y.useProgram(\"hillshade\");de.activeTexture.set(Ie.TEXTURE0),Ie.bindTexture(Ie.TEXTURE_2D,$e.colorAttachment.get());var Kt=Ta(Y,z,K);pt.draw(de,Ie.TRIANGLES,O,$,pe,yr.disabled,Kt,K.id,Y.rasterBoundsBuffer,Y.quadTriangleIndexBuffer,Y.rasterBoundsSegments)}}function et(Y,z,K,O,$,pe){var de=Y.context,Ie=de.gl,$e=z.dem;if($e&&$e.data){var pt=$e.dim,Kt=$e.stride,ir=$e.getPixels();if(de.activeTexture.set(Ie.TEXTURE1),de.pixelStoreUnpackPremultiplyAlpha.set(!1),z.demTexture=z.demTexture||Y.getTileTexture(Kt),z.demTexture){var Jt=z.demTexture;Jt.update(ir,{premultiply:!1}),Jt.bind(Ie.NEAREST,Ie.CLAMP_TO_EDGE)}else z.demTexture=new i.Texture(de,ir,Ie.RGBA,{premultiply:!1}),z.demTexture.bind(Ie.NEAREST,Ie.CLAMP_TO_EDGE);de.activeTexture.set(Ie.TEXTURE0);var vt=z.fbo;if(!vt){var Pt=new i.Texture(de,{width:pt,height:pt,data:null},Ie.RGBA);Pt.bind(Ie.LINEAR,Ie.CLAMP_TO_EDGE),vt=z.fbo=de.createFramebuffer(pt,pt,!0),vt.colorAttachment.set(Pt.texture)}de.bindFramebuffer.set(vt.framebuffer),de.viewport.set([0,0,pt,pt]),Y.useProgram(\"hillshadePrepare\").draw(de,Ie.TRIANGLES,O,$,pe,yr.disabled,Ea(z.tileID,$e),K.id,Y.rasterBoundsBuffer,Y.quadTriangleIndexBuffer,Y.rasterBoundsSegments),z.needsHillshadePrepare=!1}}function Mt(Y,z,K,O){if(Y.renderPass===\"translucent\"&&K.paint.get(\"raster-opacity\")!==0&&O.length)for(var $=Y.context,pe=$.gl,de=z.getSource(),Ie=Y.useProgram(\"raster\"),$e=Y.colorModeForRenderPass(),pt=de instanceof ke?[{},O]:Y.stencilConfigForOverlap(O),Kt=pt[0],ir=pt[1],Jt=ir[ir.length-1].overscaledZ,vt=!Y.options.moving,Pt=0,Wt=ir;Pt<Wt.length;Pt+=1){var rr=Wt[Pt],dr=Y.depthModeForSublayer(rr.overscaledZ-Jt,K.paint.get(\"raster-opacity\")===1?Wi.ReadWrite:Wi.ReadOnly,pe.LESS),pr=z.getTile(rr),kr=Y.transform.calculatePosMatrix(rr.toUnwrapped(),vt);pr.registerFadeDuration(K.paint.get(\"raster-fade-duration\"));var Ar=z.findLoadedParent(rr,0),gr=Dt(pr,Ar,z,K,Y.transform),Cr=void 0,cr=void 0,Gr=K.paint.get(\"raster-resampling\")===\"nearest\"?pe.NEAREST:pe.LINEAR;$.activeTexture.set(pe.TEXTURE0),pr.texture.bind(Gr,pe.CLAMP_TO_EDGE,pe.LINEAR_MIPMAP_NEAREST),$.activeTexture.set(pe.TEXTURE1),Ar?(Ar.texture.bind(Gr,pe.CLAMP_TO_EDGE,pe.LINEAR_MIPMAP_NEAREST),Cr=Math.pow(2,Ar.tileID.overscaledZ-pr.tileID.overscaledZ),cr=[pr.tileID.canonical.x*Cr%1,pr.tileID.canonical.y*Cr%1]):pr.texture.bind(Gr,pe.CLAMP_TO_EDGE,pe.LINEAR_MIPMAP_NEAREST);var ei=Rs(kr,cr||[0,0],Cr||1,gr,K);de instanceof ke?Ie.draw($,pe.TRIANGLES,dr,$i.disabled,$e,yr.disabled,ei,K.id,de.boundsBuffer,Y.quadTriangleIndexBuffer,de.boundsSegments):Ie.draw($,pe.TRIANGLES,dr,Kt[rr.overscaledZ],$e,yr.disabled,ei,K.id,Y.rasterBoundsBuffer,Y.quadTriangleIndexBuffer,Y.rasterBoundsSegments)}}function Dt(Y,z,K,O,$){var pe=O.paint.get(\"raster-fade-duration\");if(pe>0){var de=i.browser.now(),Ie=(de-Y.timeAdded)/pe,$e=z?(de-z.timeAdded)/pe:-1,pt=K.getSource(),Kt=$.coveringZoomLevel({tileSize:pt.tileSize,roundZoom:pt.roundZoom}),ir=!z||Math.abs(z.tileID.overscaledZ-Kt)>Math.abs(Y.tileID.overscaledZ-Kt),Jt=ir&&Y.refreshedUponExpiration?1:i.clamp(ir?Ie:1-$e,0,1);return Y.refreshedUponExpiration&&Ie>=1&&(Y.refreshedUponExpiration=!1),z?{opacity:1,mix:1-Jt}:{opacity:Jt,mix:0}}else return{opacity:1,mix:0}}function Ut(Y,z,K){var O=K.paint.get(\"background-color\"),$=K.paint.get(\"background-opacity\");if($!==0){var pe=Y.context,de=pe.gl,Ie=Y.transform,$e=Ie.tileSize,pt=K.paint.get(\"background-pattern\");if(!Y.isPatternMissing(pt)){var Kt=!pt&&O.a===1&&$===1&&Y.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(Y.renderPass===Kt){var ir=$i.disabled,Jt=Y.depthModeForSublayer(0,Kt===\"opaque\"?Wi.ReadWrite:Wi.ReadOnly),vt=Y.colorModeForRenderPass(),Pt=Y.useProgram(pt?\"backgroundPattern\":\"background\"),Wt=Ie.coveringTiles({tileSize:$e});pt&&(pe.activeTexture.set(de.TEXTURE0),Y.imageManager.bind(Y.context));for(var rr=K.getCrossfadeParameters(),dr=0,pr=Wt;dr<pr.length;dr+=1){var kr=pr[dr],Ar=Y.transform.calculatePosMatrix(kr.toUnwrapped()),gr=pt?Da(Ar,$,Y,pt,{tileID:kr,tileSize:$e},rr):Dc(Ar,$,O);Pt.draw(pe,de.TRIANGLES,Jt,ir,vt,yr.disabled,gr,K.id,Y.tileExtentBuffer,Y.quadTriangleIndexBuffer,Y.tileExtentSegments)}}}}}var tr=new i.Color(1,0,0,1),mr=new i.Color(0,1,0,1),Rr=new i.Color(0,0,1,1),zr=new i.Color(1,0,1,1),Xr=new i.Color(0,1,1,1);function di(Y){var z=Y.transform.padding,K=3;Ci(Y,Y.transform.height-(z.top||0),K,tr),Ci(Y,z.bottom||0,K,mr),Qi(Y,z.left||0,K,Rr),Qi(Y,Y.transform.width-(z.right||0),K,zr);var O=Y.transform.centerPoint;Li(Y,O.x,Y.transform.height-O.y,Xr)}function Li(Y,z,K,O){var $=20,pe=2;Mn(Y,z-pe/2,K-$/2,pe,$,O),Mn(Y,z-$/2,K-pe/2,$,pe,O)}function Ci(Y,z,K,O){Mn(Y,0,z+K/2,Y.transform.width,K,O)}function Qi(Y,z,K,O){Mn(Y,z-K/2,0,K,Y.transform.height,O)}function Mn(Y,z,K,O,$,pe){var de=Y.context,Ie=de.gl;Ie.enable(Ie.SCISSOR_TEST),Ie.scissor(z*i.browser.devicePixelRatio,K*i.browser.devicePixelRatio,O*i.browser.devicePixelRatio,$*i.browser.devicePixelRatio),de.clear({color:pe}),Ie.disable(Ie.SCISSOR_TEST)}function pa(Y,z,K){for(var O=0;O<K.length;O++)ea(Y,z,K[O])}function ea(Y,z,K){var O=Y.context,$=O.gl,pe=K.posMatrix,de=Y.useProgram(\"debug\"),Ie=Wi.disabled,$e=$i.disabled,pt=Y.colorModeForRenderPass(),Kt=\"$debug\";O.activeTexture.set($.TEXTURE0),Y.emptyTexture.bind($.LINEAR,$.CLAMP_TO_EDGE),de.draw(O,$.LINE_STRIP,Ie,$e,pt,yr.disabled,Fi(pe,i.Color.red),Kt,Y.debugBuffer,Y.tileBorderIndexBuffer,Y.debugSegments);var ir=z.getTileByID(K.key).latestRawTileData,Jt=ir&&ir.byteLength||0,vt=Math.floor(Jt/1024),Pt=z.getTile(K).tileSize,Wt=512/Math.min(Pt,512)*(K.overscaledZ/Y.transform.zoom)*.5,rr=K.canonical.toString();K.overscaledZ!==K.canonical.z&&(rr+=\" => \"+K.overscaledZ);var dr=rr+\" \"+vt+\"kb\";Ga(Y,dr),de.draw(O,$.TRIANGLES,Ie,$e,ft.alphaBlended,yr.disabled,Fi(pe,i.Color.transparent,Wt),Kt,Y.debugBuffer,Y.quadTriangleIndexBuffer,Y.debugSegments)}function Ga(Y,z){Y.initDebugOverlayCanvas();var K=Y.debugOverlayCanvas,O=Y.context.gl,$=Y.debugOverlayCanvas.getContext(\"2d\");$.clearRect(0,0,K.width,K.height),$.shadowColor=\"white\",$.shadowBlur=2,$.lineWidth=1.5,$.strokeStyle=\"white\",$.textBaseline=\"top\",$.font=\"bold 36px Open Sans, sans-serif\",$.fillText(z,5,5),$.strokeText(z,5,5),Y.debugOverlayTexture.update(K),Y.debugOverlayTexture.bind(O.LINEAR,O.CLAMP_TO_EDGE)}function To(Y,z,K){var O=Y.context,$=K.implementation;if(Y.renderPass===\"offscreen\"){var pe=$.prerender;pe&&(Y.setCustomLayerDefaults(),O.setColorMode(Y.colorModeForRenderPass()),pe.call($,O.gl,Y.transform.customLayerMatrix()),O.setDirty(),Y.setBaseState())}else if(Y.renderPass===\"translucent\"){Y.setCustomLayerDefaults(),O.setColorMode(Y.colorModeForRenderPass()),O.setStencilMode($i.disabled);var de=$.renderingMode===\"3d\"?new Wi(Y.context.gl.LEQUAL,Wi.ReadWrite,Y.depthRangeFor3D):Y.depthModeForSublayer(0,Wi.ReadOnly);O.setDepthMode(de),$.render(O.gl,Y.transform.customLayerMatrix()),O.setDirty(),Y.setBaseState(),O.bindFramebuffer.set(null)}}var Wa={symbol:w,circle:it,heatmap:yt,line:Sr,fill:he,\"fill-extrusion\":Pe,hillshade:Je,raster:Mt,background:Ut,debug:pa,custom:To},co=function(z,K){this.context=new Fr(z),this.transform=K,this._tileTextures={},this.setup(),this.numSublayers=Zr.maxUnderzooming+Zr.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new rh,this.gpuTimers={}};co.prototype.resize=function(z,K){if(this.width=z*i.browser.devicePixelRatio,this.height=K*i.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var O=0,$=this.style._order;O<$.length;O+=1){var pe=$[O];this.style._layers[pe].resize()}},co.prototype.setup=function(){var z=this.context,K=new i.StructArrayLayout2i4;K.emplaceBack(0,0),K.emplaceBack(i.EXTENT,0),K.emplaceBack(0,i.EXTENT),K.emplaceBack(i.EXTENT,i.EXTENT),this.tileExtentBuffer=z.createVertexBuffer(K,kc.members),this.tileExtentSegments=i.SegmentVector.simpleSegment(0,0,4,2);var O=new i.StructArrayLayout2i4;O.emplaceBack(0,0),O.emplaceBack(i.EXTENT,0),O.emplaceBack(0,i.EXTENT),O.emplaceBack(i.EXTENT,i.EXTENT),this.debugBuffer=z.createVertexBuffer(O,kc.members),this.debugSegments=i.SegmentVector.simpleSegment(0,0,4,5);var $=new i.StructArrayLayout4i8;$.emplaceBack(0,0,0,0),$.emplaceBack(i.EXTENT,0,i.EXTENT,0),$.emplaceBack(0,i.EXTENT,0,i.EXTENT),$.emplaceBack(i.EXTENT,i.EXTENT,i.EXTENT,i.EXTENT),this.rasterBoundsBuffer=z.createVertexBuffer($,Me.members),this.rasterBoundsSegments=i.SegmentVector.simpleSegment(0,0,4,2);var pe=new i.StructArrayLayout2i4;pe.emplaceBack(0,0),pe.emplaceBack(1,0),pe.emplaceBack(0,1),pe.emplaceBack(1,1),this.viewportBuffer=z.createVertexBuffer(pe,kc.members),this.viewportSegments=i.SegmentVector.simpleSegment(0,0,4,2);var de=new i.StructArrayLayout1ui2;de.emplaceBack(0),de.emplaceBack(1),de.emplaceBack(3),de.emplaceBack(2),de.emplaceBack(0),this.tileBorderIndexBuffer=z.createIndexBuffer(de);var Ie=new i.StructArrayLayout3ui6;Ie.emplaceBack(0,1,2),Ie.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=z.createIndexBuffer(Ie),this.emptyTexture=new i.Texture(z,{width:1,height:1,data:new Uint8Array([0,0,0,0])},z.gl.RGBA);var $e=this.context.gl;this.stencilClearMode=new $i({func:$e.ALWAYS,mask:0},0,255,$e.ZERO,$e.ZERO,$e.ZERO)},co.prototype.clearStencil=function(){var z=this.context,K=z.gl;this.nextStencilID=1,this.currentStencilSource=void 0;var O=i.create();i.ortho(O,0,this.width,this.height,0,0,1),i.scale(O,O,[K.drawingBufferWidth,K.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(z,K.TRIANGLES,Wi.disabled,this.stencilClearMode,ft.disabled,yr.disabled,hn(O),\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)},co.prototype._renderTileClippingMasks=function(z,K){if(!(this.currentStencilSource===z.source||!z.isTileClipped()||!K||!K.length)){this.currentStencilSource=z.source;var O=this.context,$=O.gl;this.nextStencilID+K.length>256&&this.clearStencil(),O.setColorMode(ft.disabled),O.setDepthMode(Wi.disabled);var pe=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(var de=0,Ie=K;de<Ie.length;de+=1){var $e=Ie[de],pt=this._tileClippingMaskIDs[$e.key]=this.nextStencilID++;pe.draw(O,$.TRIANGLES,Wi.disabled,new $i({func:$.ALWAYS,mask:0},pt,255,$.KEEP,$.KEEP,$.REPLACE),ft.disabled,yr.disabled,hn($e.posMatrix),\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}},co.prototype.stencilModeFor3D=function(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();var z=this.nextStencilID++,K=this.context.gl;return new $i({func:K.NOTEQUAL,mask:255},z,255,K.KEEP,K.KEEP,K.REPLACE)},co.prototype.stencilModeForClipping=function(z){var K=this.context.gl;return new $i({func:K.EQUAL,mask:255},this._tileClippingMaskIDs[z.key],0,K.KEEP,K.KEEP,K.REPLACE)},co.prototype.stencilConfigForOverlap=function(z){var K,O=this.context.gl,$=z.sort(function(pt,Kt){return Kt.overscaledZ-pt.overscaledZ}),pe=$[$.length-1].overscaledZ,de=$[0].overscaledZ-pe+1;if(de>1){this.currentStencilSource=void 0,this.nextStencilID+de>256&&this.clearStencil();for(var Ie={},$e=0;$e<de;$e++)Ie[$e+pe]=new $i({func:O.GEQUAL,mask:255},$e+this.nextStencilID,255,O.KEEP,O.KEEP,O.REPLACE);return this.nextStencilID+=de,[Ie,$]}return[(K={},K[pe]=$i.disabled,K),$]},co.prototype.colorModeForRenderPass=function(){var z=this.context.gl;if(this._showOverdrawInspector){var K=8,O=1/K;return new ft([z.CONSTANT_COLOR,z.ONE],new i.Color(O,O,O,0),[!0,!0,!0,!0])}else return this.renderPass===\"opaque\"?ft.unblended:ft.alphaBlended},co.prototype.depthModeForSublayer=function(z,K,O){if(!this.opaquePassEnabledForLayer())return Wi.disabled;var $=1-((1+this.currentLayer)*this.numSublayers+z)*this.depthEpsilon;return new Wi(O||this.context.gl.LEQUAL,K,[$,$])},co.prototype.opaquePassEnabledForLayer=function(){return this.currentLayer<this.opaquePassCutoff},co.prototype.render=function(z,K){var O=this;this.style=z,this.options=K,this.lineAtlas=z.lineAtlas,this.imageManager=z.imageManager,this.glyphManager=z.glyphManager,this.symbolFadeChange=z.placement.symbolFadeChange(i.browser.now()),this.imageManager.beginFrame();var $=this.style._order,pe=this.style.sourceCaches;for(var de in pe){var Ie=pe[de];Ie.used&&Ie.prepare(this.context)}var $e={},pt={},Kt={};for(var ir in pe){var Jt=pe[ir];$e[ir]=Jt.getVisibleCoordinates(),pt[ir]=$e[ir].slice().reverse(),Kt[ir]=Jt.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(var vt=0;vt<$.length;vt++){var Pt=$[vt];if(this.style._layers[Pt].is3D()){this.opaquePassCutoff=vt;break}}this.renderPass=\"offscreen\";for(var Wt=0,rr=$;Wt<rr.length;Wt+=1){var dr=rr[Wt],pr=this.style._layers[dr];if(!(!pr.hasOffscreenPass()||pr.isHidden(this.transform.zoom))){var kr=pt[pr.source];pr.type!==\"custom\"&&!kr.length||this.renderLayer(this,pe[pr.source],pr,kr)}}for(this.context.bindFramebuffer.set(null),this.context.clear({color:K.showOverdrawInspector?i.Color.black:i.Color.transparent,depth:1}),this.clearStencil(),this._showOverdrawInspector=K.showOverdrawInspector,this.depthRangeFor3D=[0,1-(z._order.length+2)*this.numSublayers*this.depthEpsilon],this.renderPass=\"opaque\",this.currentLayer=$.length-1;this.currentLayer>=0;this.currentLayer--){var Ar=this.style._layers[$[this.currentLayer]],gr=pe[Ar.source],Cr=$e[Ar.source];this._renderTileClippingMasks(Ar,Cr),this.renderLayer(this,gr,Ar,Cr)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer<$.length;this.currentLayer++){var cr=this.style._layers[$[this.currentLayer]],Gr=pe[cr.source],ei=(cr.type===\"symbol\"?Kt:pt)[cr.source];this._renderTileClippingMasks(cr,$e[cr.source]),this.renderLayer(this,Gr,cr,ei)}if(this.options.showTileBoundaries){var yi,tn,Ri=i.values(this.style._layers);Ri.forEach(function(ln){ln.source&&!ln.isHidden(O.transform.zoom)&&(ln.source!==(tn&&tn.id)&&(tn=O.style.sourceCaches[ln.source]),(!yi||yi.getSource().maxzoom<tn.getSource().maxzoom)&&(yi=tn))}),yi&&Wa.debug(this,yi,yi.getVisibleCoordinates())}this.options.showPadding&&di(this),this.context.setDefault()},co.prototype.renderLayer=function(z,K,O,$){O.isHidden(this.transform.zoom)||O.type!==\"background\"&&O.type!==\"custom\"&&!$.length||(this.id=O.id,this.gpuTimingStart(O),Wa[O.type](z,K,O,$,this.style.placement.variableOffsets),this.gpuTimingEnd())},co.prototype.gpuTimingStart=function(z){if(this.options.gpuTiming){var K=this.context.extTimerQuery,O=this.gpuTimers[z.id];O||(O=this.gpuTimers[z.id]={calls:0,cpuTime:0,query:K.createQueryEXT()}),O.calls++,K.beginQueryEXT(K.TIME_ELAPSED_EXT,O.query)}},co.prototype.gpuTimingEnd=function(){if(this.options.gpuTiming){var z=this.context.extTimerQuery;z.endQueryEXT(z.TIME_ELAPSED_EXT)}},co.prototype.collectGpuTimers=function(){var z=this.gpuTimers;return this.gpuTimers={},z},co.prototype.queryGpuTimers=function(z){var K={};for(var O in z){var $=z[O],pe=this.context.extTimerQuery,de=pe.getQueryObjectEXT($.query,pe.QUERY_RESULT_EXT)/(1e3*1e3);pe.deleteQueryEXT($.query),K[O]=de}return K},co.prototype.translatePosMatrix=function(z,K,O,$,pe){if(!O[0]&&!O[1])return z;var de=pe?$===\"map\"?this.transform.angle:0:$===\"viewport\"?-this.transform.angle:0;if(de){var Ie=Math.sin(de),$e=Math.cos(de);O=[O[0]*$e-O[1]*Ie,O[0]*Ie+O[1]*$e]}var pt=[pe?O[0]:Cs(K,O[0],this.transform.zoom),pe?O[1]:Cs(K,O[1],this.transform.zoom),0],Kt=new Float32Array(16);return i.translate(Kt,z,pt),Kt},co.prototype.saveTileTexture=function(z){var K=this._tileTextures[z.size[0]];K?K.push(z):this._tileTextures[z.size[0]]=[z]},co.prototype.getTileTexture=function(z){var K=this._tileTextures[z];return K&&K.length>0?K.pop():null},co.prototype.isPatternMissing=function(z){if(!z)return!1;if(!z.from||!z.to)return!0;var K=this.imageManager.getPattern(z.from.toString()),O=this.imageManager.getPattern(z.to.toString());return!K||!O},co.prototype.useProgram=function(z,K){this.cache=this.cache||{};var O=\"\"+z+(K?K.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\");return this.cache[O]||(this.cache[O]=new Vf(this.context,z,Pf[z],K,eo[z],this._showOverdrawInspector)),this.cache[O]},co.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()},co.prototype.setBaseState=function(){var z=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(z.FUNC_ADD)},co.prototype.initDebugOverlayCanvas=function(){if(this.debugOverlayCanvas==null){this.debugOverlayCanvas=i.window.document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var z=this.context.gl;this.debugOverlayTexture=new i.Texture(this.context,this.debugOverlayCanvas,z.RGBA)}},co.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var Ro=function(z,K){this.points=z,this.planes=K};Ro.fromInvProjectionMatrix=function(z,K,O){var $=[[-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]],pe=Math.pow(2,O),de=$.map(function(pt){return i.transformMat4([],pt,z)}).map(function(pt){return i.scale$1([],pt,1/pt[3]/K*pe)}),Ie=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]],$e=Ie.map(function(pt){var Kt=i.sub([],de[pt[0]],de[pt[1]]),ir=i.sub([],de[pt[2]],de[pt[1]]),Jt=i.normalize([],i.cross([],Kt,ir)),vt=-i.dot(Jt,de[pt[1]]);return Jt.concat(vt)});return new Ro(de,$e)};var Ds=function(z,K){this.min=z,this.max=K,this.center=i.scale$2([],i.add([],this.min,this.max),.5)};Ds.prototype.quadrant=function(z){for(var K=[z%2===0,z<2],O=i.clone$2(this.min),$=i.clone$2(this.max),pe=0;pe<K.length;pe++)O[pe]=K[pe]?this.min[pe]:this.center[pe],$[pe]=K[pe]?this.center[pe]:this.max[pe];return $[2]=this.max[2],new Ds(O,$)},Ds.prototype.distanceX=function(z){var K=Math.max(Math.min(this.max[0],z[0]),this.min[0]);return K-z[0]},Ds.prototype.distanceY=function(z){var K=Math.max(Math.min(this.max[1],z[1]),this.min[1]);return K-z[1]},Ds.prototype.intersects=function(z){for(var K=[[this.min[0],this.min[1],0,1],[this.max[0],this.min[1],0,1],[this.max[0],this.max[1],0,1],[this.min[0],this.max[1],0,1]],O=!0,$=0;$<z.planes.length;$++){for(var pe=z.planes[$],de=0,Ie=0;Ie<K.length;Ie++)de+=i.dot$1(pe,K[Ie])>=0;if(de===0)return 0;de!==K.length&&(O=!1)}if(O)return 2;for(var $e=0;$e<3;$e++){for(var pt=Number.MAX_VALUE,Kt=-Number.MAX_VALUE,ir=0;ir<z.points.length;ir++){var Jt=z.points[ir][$e]-this.min[$e];pt=Math.min(pt,Jt),Kt=Math.max(Kt,Jt)}if(Kt<0||pt>this.max[$e]-this.min[$e])return 0}return 1};var As=function(z,K,O,$){if(z===void 0&&(z=0),K===void 0&&(K=0),O===void 0&&(O=0),$===void 0&&($=0),isNaN(z)||z<0||isNaN(K)||K<0||isNaN(O)||O<0||isNaN($)||$<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=z,this.bottom=K,this.left=O,this.right=$};As.prototype.interpolate=function(z,K,O){return K.top!=null&&z.top!=null&&(this.top=i.number(z.top,K.top,O)),K.bottom!=null&&z.bottom!=null&&(this.bottom=i.number(z.bottom,K.bottom,O)),K.left!=null&&z.left!=null&&(this.left=i.number(z.left,K.left,O)),K.right!=null&&z.right!=null&&(this.right=i.number(z.right,K.right,O)),this},As.prototype.getCenter=function(z,K){var O=i.clamp((this.left+z-this.right)/2,0,z),$=i.clamp((this.top+K-this.bottom)/2,0,K);return new i.Point(O,$)},As.prototype.equals=function(z){return this.top===z.top&&this.bottom===z.bottom&&this.left===z.left&&this.right===z.right},As.prototype.clone=function(){return new As(this.top,this.bottom,this.left,this.right)},As.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var yo=function(z,K,O,$,pe){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=pe===void 0?!0:pe,this._minZoom=z||0,this._maxZoom=K||22,this._minPitch=O==null?0:O,this._maxPitch=$==null?60:$,this.setMaxBounds(),this.width=0,this.height=0,this._center=new i.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new As,this._posMatrixCache={},this._alignedPosMatrixCache={}},po={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}};yo.prototype.clone=function(){var z=new yo(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return z.tileSize=this.tileSize,z.latRange=this.latRange,z.width=this.width,z.height=this.height,z._center=this._center,z.zoom=this.zoom,z.angle=this.angle,z._fov=this._fov,z._pitch=this._pitch,z._unmodified=this._unmodified,z._edgeInsets=this._edgeInsets.clone(),z._calcMatrices(),z},po.minZoom.get=function(){return this._minZoom},po.minZoom.set=function(Y){this._minZoom!==Y&&(this._minZoom=Y,this.zoom=Math.max(this.zoom,Y))},po.maxZoom.get=function(){return this._maxZoom},po.maxZoom.set=function(Y){this._maxZoom!==Y&&(this._maxZoom=Y,this.zoom=Math.min(this.zoom,Y))},po.minPitch.get=function(){return this._minPitch},po.minPitch.set=function(Y){this._minPitch!==Y&&(this._minPitch=Y,this.pitch=Math.max(this.pitch,Y))},po.maxPitch.get=function(){return this._maxPitch},po.maxPitch.set=function(Y){this._maxPitch!==Y&&(this._maxPitch=Y,this.pitch=Math.min(this.pitch,Y))},po.renderWorldCopies.get=function(){return this._renderWorldCopies},po.renderWorldCopies.set=function(Y){Y===void 0?Y=!0:Y===null&&(Y=!1),this._renderWorldCopies=Y},po.worldSize.get=function(){return this.tileSize*this.scale},po.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},po.size.get=function(){return new i.Point(this.width,this.height)},po.bearing.get=function(){return-this.angle/Math.PI*180},po.bearing.set=function(Y){var z=-i.wrap(Y,-180,180)*Math.PI/180;this.angle!==z&&(this._unmodified=!1,this.angle=z,this._calcMatrices(),this.rotationMatrix=i.create$2(),i.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},po.pitch.get=function(){return this._pitch/Math.PI*180},po.pitch.set=function(Y){var z=i.clamp(Y,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==z&&(this._unmodified=!1,this._pitch=z,this._calcMatrices())},po.fov.get=function(){return this._fov/Math.PI*180},po.fov.set=function(Y){Y=Math.max(.01,Math.min(60,Y)),this._fov!==Y&&(this._unmodified=!1,this._fov=Y/180*Math.PI,this._calcMatrices())},po.zoom.get=function(){return this._zoom},po.zoom.set=function(Y){var z=Math.min(Math.max(Y,this.minZoom),this.maxZoom);this._zoom!==z&&(this._unmodified=!1,this._zoom=z,this.scale=this.zoomScale(z),this.tileZoom=Math.floor(z),this.zoomFraction=z-this.tileZoom,this._constrain(),this._calcMatrices())},po.center.get=function(){return this._center},po.center.set=function(Y){Y.lat===this._center.lat&&Y.lng===this._center.lng||(this._unmodified=!1,this._center=Y,this._constrain(),this._calcMatrices())},po.padding.get=function(){return this._edgeInsets.toJSON()},po.padding.set=function(Y){this._edgeInsets.equals(Y)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,Y,1),this._calcMatrices())},po.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},yo.prototype.isPaddingEqual=function(z){return this._edgeInsets.equals(z)},yo.prototype.interpolatePadding=function(z,K,O){this._unmodified=!1,this._edgeInsets.interpolate(z,K,O),this._constrain(),this._calcMatrices()},yo.prototype.coveringZoomLevel=function(z){var K=(z.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/z.tileSize));return Math.max(0,K)},yo.prototype.getVisibleUnwrappedCoordinates=function(z){var K=[new i.UnwrappedTileID(0,z)];if(this._renderWorldCopies)for(var O=this.pointCoordinate(new i.Point(0,0)),$=this.pointCoordinate(new i.Point(this.width,0)),pe=this.pointCoordinate(new i.Point(this.width,this.height)),de=this.pointCoordinate(new i.Point(0,this.height)),Ie=Math.floor(Math.min(O.x,$.x,pe.x,de.x)),$e=Math.floor(Math.max(O.x,$.x,pe.x,de.x)),pt=1,Kt=Ie-pt;Kt<=$e+pt;Kt++)Kt!==0&&K.push(new i.UnwrappedTileID(Kt,z));return K},yo.prototype.coveringTiles=function(z){var K=this.coveringZoomLevel(z),O=K;if(z.minzoom!==void 0&&K<z.minzoom)return[];z.maxzoom!==void 0&&K>z.maxzoom&&(K=z.maxzoom);var $=i.MercatorCoordinate.fromLngLat(this.center),pe=Math.pow(2,K),de=[pe*$.x,pe*$.y,0],Ie=Ro.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,K),$e=z.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&($e=K);var pt=3,Kt=function(Ri){return{aabb:new Ds([Ri*pe,0,0],[(Ri+1)*pe,pe,0]),zoom:0,x:0,y:0,wrap:Ri,fullyVisible:!1}},ir=[],Jt=[],vt=K,Pt=z.reparseOverscaled?O:K;if(this._renderWorldCopies)for(var Wt=1;Wt<=3;Wt++)ir.push(Kt(-Wt)),ir.push(Kt(Wt));for(ir.push(Kt(0));ir.length>0;){var rr=ir.pop(),dr=rr.x,pr=rr.y,kr=rr.fullyVisible;if(!kr){var Ar=rr.aabb.intersects(Ie);if(Ar===0)continue;kr=Ar===2}var gr=rr.aabb.distanceX(de),Cr=rr.aabb.distanceY(de),cr=Math.max(Math.abs(gr),Math.abs(Cr)),Gr=pt+(1<<vt-rr.zoom)-2;if(rr.zoom===vt||cr>Gr&&rr.zoom>=$e){Jt.push({tileID:new i.OverscaledTileID(rr.zoom===vt?Pt:rr.zoom,rr.wrap,rr.zoom,dr,pr),distanceSq:i.sqrLen([de[0]-.5-dr,de[1]-.5-pr])});continue}for(var ei=0;ei<4;ei++){var yi=(dr<<1)+ei%2,tn=(pr<<1)+(ei>>1);ir.push({aabb:rr.aabb.quadrant(ei),zoom:rr.zoom+1,x:yi,y:tn,wrap:rr.wrap,fullyVisible:kr})}}return Jt.sort(function(Ri,ln){return Ri.distanceSq-ln.distanceSq}).map(function(Ri){return Ri.tileID})},yo.prototype.resize=function(z,K){this.width=z,this.height=K,this.pixelsToGLUnits=[2/z,-2/K],this._constrain(),this._calcMatrices()},po.unmodified.get=function(){return this._unmodified},yo.prototype.zoomScale=function(z){return Math.pow(2,z)},yo.prototype.scaleZoom=function(z){return Math.log(z)/Math.LN2},yo.prototype.project=function(z){var K=i.clamp(z.lat,-this.maxValidLatitude,this.maxValidLatitude);return new i.Point(i.mercatorXfromLng(z.lng)*this.worldSize,i.mercatorYfromLat(K)*this.worldSize)},yo.prototype.unproject=function(z){return new i.MercatorCoordinate(z.x/this.worldSize,z.y/this.worldSize).toLngLat()},po.point.get=function(){return this.project(this.center)},yo.prototype.setLocationAtPoint=function(z,K){var O=this.pointCoordinate(K),$=this.pointCoordinate(this.centerPoint),pe=this.locationCoordinate(z),de=new i.MercatorCoordinate(pe.x-(O.x-$.x),pe.y-(O.y-$.y));this.center=this.coordinateLocation(de),this._renderWorldCopies&&(this.center=this.center.wrap())},yo.prototype.locationPoint=function(z){return this.coordinatePoint(this.locationCoordinate(z))},yo.prototype.pointLocation=function(z){return this.coordinateLocation(this.pointCoordinate(z))},yo.prototype.locationCoordinate=function(z){return i.MercatorCoordinate.fromLngLat(z)},yo.prototype.coordinateLocation=function(z){return z.toLngLat()},yo.prototype.pointCoordinate=function(z){var K=0,O=[z.x,z.y,0,1],$=[z.x,z.y,1,1];i.transformMat4(O,O,this.pixelMatrixInverse),i.transformMat4($,$,this.pixelMatrixInverse);var pe=O[3],de=$[3],Ie=O[0]/pe,$e=$[0]/de,pt=O[1]/pe,Kt=$[1]/de,ir=O[2]/pe,Jt=$[2]/de,vt=ir===Jt?0:(K-ir)/(Jt-ir);return new i.MercatorCoordinate(i.number(Ie,$e,vt)/this.worldSize,i.number(pt,Kt,vt)/this.worldSize)},yo.prototype.coordinatePoint=function(z){var K=[z.x*this.worldSize,z.y*this.worldSize,0,1];return i.transformMat4(K,K,this.pixelMatrix),new i.Point(K[0]/K[3],K[1]/K[3])},yo.prototype.getBounds=function(){return new i.LngLatBounds().extend(this.pointLocation(new i.Point(0,0))).extend(this.pointLocation(new i.Point(this.width,0))).extend(this.pointLocation(new i.Point(this.width,this.height))).extend(this.pointLocation(new i.Point(0,this.height)))},yo.prototype.getMaxBounds=function(){return!this.latRange||this.latRange.length!==2||!this.lngRange||this.lngRange.length!==2?null:new i.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]])},yo.prototype.setMaxBounds=function(z){z?(this.lngRange=[z.getWest(),z.getEast()],this.latRange=[z.getSouth(),z.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},yo.prototype.calculatePosMatrix=function(z,K){K===void 0&&(K=!1);var O=z.key,$=K?this._alignedPosMatrixCache:this._posMatrixCache;if($[O])return $[O];var pe=z.canonical,de=this.worldSize/this.zoomScale(pe.z),Ie=pe.x+Math.pow(2,pe.z)*z.wrap,$e=i.identity(new Float64Array(16));return i.translate($e,$e,[Ie*de,pe.y*de,0]),i.scale($e,$e,[de/i.EXTENT,de/i.EXTENT,1]),i.multiply($e,K?this.alignedProjMatrix:this.projMatrix,$e),$[O]=new Float32Array($e),$[O]},yo.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},yo.prototype._constrain=function(){if(!(!this.center||!this.width||!this.height||this._constraining)){this._constraining=!0;var z=-90,K=90,O=-180,$=180,pe,de,Ie,$e,pt=this.size,Kt=this._unmodified;if(this.latRange){var ir=this.latRange;z=i.mercatorYfromLat(ir[1])*this.worldSize,K=i.mercatorYfromLat(ir[0])*this.worldSize,pe=K-z<pt.y?pt.y/(K-z):0}if(this.lngRange){var Jt=this.lngRange;O=i.mercatorXfromLng(Jt[0])*this.worldSize,$=i.mercatorXfromLng(Jt[1])*this.worldSize,de=$-O<pt.x?pt.x/($-O):0}var vt=this.point,Pt=Math.max(de||0,pe||0);if(Pt){this.center=this.unproject(new i.Point(de?($+O)/2:vt.x,pe?(K+z)/2:vt.y)),this.zoom+=this.scaleZoom(Pt),this._unmodified=Kt,this._constraining=!1;return}if(this.latRange){var Wt=vt.y,rr=pt.y/2;Wt-rr<z&&($e=z+rr),Wt+rr>K&&($e=K-rr)}if(this.lngRange){var dr=vt.x,pr=pt.x/2;dr-pr<O&&(Ie=O+pr),dr+pr>$&&(Ie=$-pr)}(Ie!==void 0||$e!==void 0)&&(this.center=this.unproject(new i.Point(Ie!==void 0?Ie:vt.x,$e!==void 0?$e:vt.y))),this._unmodified=Kt,this._constraining=!1}},yo.prototype._calcMatrices=function(){if(this.height){var z=this._fov/2,K=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(z)*this.height;var O=Math.PI/2+this._pitch,$=this._fov*(.5+K.y/this.height),pe=Math.sin($)*this.cameraToCenterDistance/Math.sin(i.clamp(Math.PI-O-$,.01,Math.PI-.01)),de=this.point,Ie=de.x,$e=de.y,pt=Math.cos(Math.PI/2-this._pitch)*pe+this.cameraToCenterDistance,Kt=pt*1.01,ir=this.height/50,Jt=new Float64Array(16);i.perspective(Jt,this._fov,this.width/this.height,ir,Kt),Jt[8]=-K.x*2/this.width,Jt[9]=K.y*2/this.height,i.scale(Jt,Jt,[1,-1,1]),i.translate(Jt,Jt,[0,0,-this.cameraToCenterDistance]),i.rotateX(Jt,Jt,this._pitch),i.rotateZ(Jt,Jt,this.angle),i.translate(Jt,Jt,[-Ie,-$e,0]),this.mercatorMatrix=i.scale([],Jt,[this.worldSize,this.worldSize,this.worldSize]),i.scale(Jt,Jt,[1,1,i.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=Jt,this.invProjMatrix=i.invert([],this.projMatrix);var vt=this.width%2/2,Pt=this.height%2/2,Wt=Math.cos(this.angle),rr=Math.sin(this.angle),dr=Ie-Math.round(Ie)+Wt*vt+rr*Pt,pr=$e-Math.round($e)+Wt*Pt+rr*vt,kr=new Float64Array(Jt);if(i.translate(kr,kr,[dr>.5?dr-1:dr,pr>.5?pr-1:pr,0]),this.alignedProjMatrix=kr,Jt=i.create(),i.scale(Jt,Jt,[this.width/2,-this.height/2,1]),i.translate(Jt,Jt,[1,-1,0]),this.labelPlaneMatrix=Jt,Jt=i.create(),i.scale(Jt,Jt,[1,-1,1]),i.translate(Jt,Jt,[-1,-1,0]),i.scale(Jt,Jt,[2/this.width,2/this.height,1]),this.glCoordMatrix=Jt,this.pixelMatrix=i.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),Jt=i.invert(new Float64Array(16),this.pixelMatrix),!Jt)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=Jt,this._posMatrixCache={},this._alignedPosMatrixCache={}}},yo.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var z=this.pointCoordinate(new i.Point(0,0)),K=[z.x*this.worldSize,z.y*this.worldSize,0,1],O=i.transformMat4(K,K,this.pixelMatrix);return O[3]/this.cameraToCenterDistance},yo.prototype.getCameraPoint=function(){var z=this._pitch,K=Math.tan(z)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new i.Point(0,K))},yo.prototype.getCameraQueryGeometry=function(z){var K=this.getCameraPoint();if(z.length===1)return[z[0],K];for(var O=K.x,$=K.y,pe=K.x,de=K.y,Ie=0,$e=z;Ie<$e.length;Ie+=1){var pt=$e[Ie];O=Math.min(O,pt.x),$=Math.min($,pt.y),pe=Math.max(pe,pt.x),de=Math.max(de,pt.y)}return[new i.Point(O,$),new i.Point(pe,$),new i.Point(pe,de),new i.Point(O,de),new i.Point(O,$)]},Object.defineProperties(yo.prototype,po);function _l(Y,z){var K=!1,O=null,$=function(){O=null,K&&(Y(),O=setTimeout($,z),K=!1)};return function(){return K=!0,O||$(),O}}var Hl=function(z){this._hashName=z&&encodeURIComponent(z),i.bindAll([\"_getCurrentHash\",\"_onHashChange\",\"_updateHash\"],this),this._updateHash=_l(this._updateHashUnthrottled.bind(this),30*1e3/100)};Hl.prototype.addTo=function(z){return this._map=z,i.window.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},Hl.prototype.remove=function(){return i.window.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},Hl.prototype.getHashString=function(z){var K=this._map.getCenter(),O=Math.round(this._map.getZoom()*100)/100,$=Math.ceil((O*Math.LN2+Math.log(512/360/.5))/Math.LN10),pe=Math.pow(10,$),de=Math.round(K.lng*pe)/pe,Ie=Math.round(K.lat*pe)/pe,$e=this._map.getBearing(),pt=this._map.getPitch(),Kt=\"\";if(z?Kt+=\"/\"+de+\"/\"+Ie+\"/\"+O:Kt+=O+\"/\"+Ie+\"/\"+de,($e||pt)&&(Kt+=\"/\"+Math.round($e*10)/10),pt&&(Kt+=\"/\"+Math.round(pt)),this._hashName){var ir=this._hashName,Jt=!1,vt=i.window.location.hash.slice(1).split(\"&\").map(function(Pt){var Wt=Pt.split(\"=\")[0];return Wt===ir?(Jt=!0,Wt+\"=\"+Kt):Pt}).filter(function(Pt){return Pt});return Jt||vt.push(ir+\"=\"+Kt),\"#\"+vt.join(\"&\")}return\"#\"+Kt},Hl.prototype._getCurrentHash=function(){var z=this,K=i.window.location.hash.replace(\"#\",\"\");if(this._hashName){var O;return K.split(\"&\").map(function($){return $.split(\"=\")}).forEach(function($){$[0]===z._hashName&&(O=$)}),(O&&O[1]||\"\").split(\"/\")}return K.split(\"/\")},Hl.prototype._onHashChange=function(){var z=this._getCurrentHash();if(z.length>=3&&!z.some(function(O){return isNaN(O)})){var K=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(z[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+z[2],+z[1]],zoom:+z[0],bearing:K,pitch:+(z[4]||0)}),!0}return!1},Hl.prototype._updateHashUnthrottled=function(){var z=i.window.location.href.replace(/(#.+)?$/,this.getHashString());try{i.window.history.replaceState(i.window.history.state,null,z)}catch(K){}};var Zu={linearity:.3,easing:i.bezier(0,0,.3,1)},cu=i.extend({deceleration:2500,maxSpeed:1400},Zu),el=i.extend({deceleration:20,maxSpeed:1400},Zu),au=i.extend({deceleration:1e3,maxSpeed:360},Zu),zc=i.extend({deceleration:1e3,maxSpeed:90},Zu),zl=function(z){this._map=z,this.clear()};zl.prototype.clear=function(){this._inertiaBuffer=[]},zl.prototype.record=function(z){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:i.browser.now(),settings:z})},zl.prototype._drainInertiaBuffer=function(){for(var z=this._inertiaBuffer,K=i.browser.now(),O=160;z.length>0&&K-z[0].time>O;)z.shift()},zl.prototype._onMoveEnd=function(z){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var K={zoom:0,bearing:0,pitch:0,pan:new i.Point(0,0),pinchAround:void 0,around:void 0},O=0,$=this._inertiaBuffer;O<$.length;O+=1){var pe=$[O],de=pe.settings;K.zoom+=de.zoomDelta||0,K.bearing+=de.bearingDelta||0,K.pitch+=de.pitchDelta||0,de.panDelta&&K.pan._add(de.panDelta),de.around&&(K.around=de.around),de.pinchAround&&(K.pinchAround=de.pinchAround)}var Ie=this._inertiaBuffer[this._inertiaBuffer.length-1],$e=Ie.time-this._inertiaBuffer[0].time,pt={};if(K.pan.mag()){var Kt=Z(K.pan.mag(),$e,i.extend({},cu,z||{}));pt.offset=K.pan.mult(Kt.amount/K.pan.mag()),pt.center=this._map.transform.center,Fl(pt,Kt)}if(K.zoom){var ir=Z(K.zoom,$e,el);pt.zoom=this._map.transform.zoom+ir.amount,Fl(pt,ir)}if(K.bearing){var Jt=Z(K.bearing,$e,au);pt.bearing=this._map.transform.bearing+i.clamp(Jt.amount,-179,179),Fl(pt,Jt)}if(K.pitch){var vt=Z(K.pitch,$e,zc);pt.pitch=this._map.transform.pitch+vt.amount,Fl(pt,vt)}if(pt.zoom||pt.bearing){var Pt=K.pinchAround===void 0?K.around:K.pinchAround;pt.around=Pt?this._map.unproject(Pt):this._map.getCenter()}return this.clear(),i.extend(pt,{noMoveStart:!0})}};function Fl(Y,z){(!Y.duration||Y.duration<z.duration)&&(Y.duration=z.duration,Y.easing=z.easing)}function Z(Y,z,K){var O=K.maxSpeed,$=K.linearity,pe=K.deceleration,de=i.clamp(Y*$/(z/1e3),-O,O),Ie=Math.abs(de)/(pe*$);return{easing:K.easing,duration:Ie*1e3,amount:de*(Ie/2)}}var oe=function(Y){function z(O,$,pe,de){de===void 0&&(de={});var Ie=o.mousePos($.getCanvasContainer(),pe),$e=$.unproject(Ie);Y.call(this,O,i.extend({point:Ie,lngLat:$e,originalEvent:pe},de)),this._defaultPrevented=!1,this.target=$}Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z;var K={defaultPrevented:{configurable:!0}};return z.prototype.preventDefault=function(){this._defaultPrevented=!0},K.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(z.prototype,K),z}(i.Event),we=function(Y){function z(O,$,pe){var de=O===\"touchend\"?pe.changedTouches:pe.touches,Ie=o.touchPos($.getCanvasContainer(),de),$e=Ie.map(function(ir){return $.unproject(ir)}),pt=Ie.reduce(function(ir,Jt,vt,Pt){return ir.add(Jt.div(Pt.length))},new i.Point(0,0)),Kt=$.unproject(pt);Y.call(this,O,{points:Ie,point:pt,lngLats:$e,lngLat:Kt,originalEvent:pe}),this._defaultPrevented=!1}Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z;var K={defaultPrevented:{configurable:!0}};return z.prototype.preventDefault=function(){this._defaultPrevented=!0},K.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(z.prototype,K),z}(i.Event),Be=function(Y){function z(O,$,pe){Y.call(this,O,{originalEvent:pe}),this._defaultPrevented=!1}Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z;var K={defaultPrevented:{configurable:!0}};return z.prototype.preventDefault=function(){this._defaultPrevented=!0},K.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(z.prototype,K),z}(i.Event),Ue=function(z,K){this._map=z,this._clickTolerance=K.clickTolerance};Ue.prototype.reset=function(){delete this._mousedownPos},Ue.prototype.wheel=function(z){return this._firePreventable(new Be(z.type,this._map,z))},Ue.prototype.mousedown=function(z,K){return this._mousedownPos=K,this._firePreventable(new oe(z.type,this._map,z))},Ue.prototype.mouseup=function(z){this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.click=function(z,K){this._mousedownPos&&this._mousedownPos.dist(K)>=this._clickTolerance||this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.dblclick=function(z){return this._firePreventable(new oe(z.type,this._map,z))},Ue.prototype.mouseover=function(z){this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.mouseout=function(z){this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.touchstart=function(z){return this._firePreventable(new we(z.type,this._map,z))},Ue.prototype.touchmove=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype.touchend=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype.touchcancel=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype._firePreventable=function(z){if(this._map.fire(z),z.defaultPrevented)return{}},Ue.prototype.isEnabled=function(){return!0},Ue.prototype.isActive=function(){return!1},Ue.prototype.enable=function(){},Ue.prototype.disable=function(){};var We=function(z){this._map=z};We.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},We.prototype.mousemove=function(z){this._map.fire(new oe(z.type,this._map,z))},We.prototype.mousedown=function(){this._delayContextMenu=!0},We.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new oe(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},We.prototype.contextmenu=function(z){this._delayContextMenu?this._contextMenuEvent=z:this._map.fire(new oe(z.type,this._map,z)),this._map.listens(\"contextmenu\")&&z.preventDefault()},We.prototype.isEnabled=function(){return!0},We.prototype.isActive=function(){return!1},We.prototype.enable=function(){},We.prototype.disable=function(){};var wt=function(z,K){this._map=z,this._el=z.getCanvasContainer(),this._container=z.getContainer(),this._clickTolerance=K.clickTolerance||1};wt.prototype.isEnabled=function(){return!!this._enabled},wt.prototype.isActive=function(){return!!this._active},wt.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},wt.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},wt.prototype.mousedown=function(z,K){this.isEnabled()&&z.shiftKey&&z.button===0&&(o.disableDrag(),this._startPos=this._lastPos=K,this._active=!0)},wt.prototype.mousemoveWindow=function(z,K){if(this._active){var O=K;if(!(this._lastPos.equals(O)||!this._box&&O.dist(this._startPos)<this._clickTolerance)){var $=this._startPos;this._lastPos=O,this._box||(this._box=o.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",z));var pe=Math.min($.x,O.x),de=Math.max($.x,O.x),Ie=Math.min($.y,O.y),$e=Math.max($.y,O.y);o.setTransform(this._box,\"translate(\"+pe+\"px,\"+Ie+\"px)\"),this._box.style.width=de-pe+\"px\",this._box.style.height=$e-Ie+\"px\"}}},wt.prototype.mouseupWindow=function(z,K){var O=this;if(this._active&&z.button===0){var $=this._startPos,pe=K;if(this.reset(),o.suppressClick(),$.x===pe.x&&$.y===pe.y)this._fireEvent(\"boxzoomcancel\",z);else return this._map.fire(new i.Event(\"boxzoomend\",{originalEvent:z})),{cameraAnimation:function(de){return de.fitScreenCoordinates($,pe,O._map.getBearing(),{linear:!0})}}}},wt.prototype.keydown=function(z){this._active&&z.keyCode===27&&(this.reset(),this._fireEvent(\"boxzoomcancel\",z))},wt.prototype.reset=function(){this._active=!1,this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(o.remove(this._box),this._box=null),o.enableDrag(),delete this._startPos,delete this._lastPos},wt.prototype._fireEvent=function(z,K){return this._map.fire(new i.Event(z,{originalEvent:K}))};function tt(Y,z){for(var K={},O=0;O<Y.length;O++)K[Y[O].identifier]=z[O];return K}function zt(Y){for(var z=new i.Point(0,0),K=0,O=Y;K<O.length;K+=1){var $=O[K];z._add($)}return z.div(Y.length)}var or=500,lr=500,Dr=30,Ir=function(z){this.reset(),this.numTouches=z.numTouches};Ir.prototype.reset=function(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1},Ir.prototype.touchstart=function(z,K,O){(this.centroid||O.length>this.numTouches)&&(this.aborted=!0),!this.aborted&&(this.startTime===void 0&&(this.startTime=z.timeStamp),O.length===this.numTouches&&(this.centroid=zt(K),this.touches=tt(O,K)))},Ir.prototype.touchmove=function(z,K,O){if(!(this.aborted||!this.centroid)){var $=tt(O,K);for(var pe in this.touches){var de=this.touches[pe],Ie=$[pe];(!Ie||Ie.dist(de)>Dr)&&(this.aborted=!0)}}},Ir.prototype.touchend=function(z,K,O){if((!this.centroid||z.timeStamp-this.startTime>lr)&&(this.aborted=!0),O.length===0){var $=!this.aborted&&this.centroid;if(this.reset(),$)return $}};var oi=function(z){this.singleTap=new Ir(z),this.numTaps=z.numTaps,this.reset()};oi.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},oi.prototype.touchstart=function(z,K,O){this.singleTap.touchstart(z,K,O)},oi.prototype.touchmove=function(z,K,O){this.singleTap.touchmove(z,K,O)},oi.prototype.touchend=function(z,K,O){var $=this.singleTap.touchend(z,K,O);if($){var pe=z.timeStamp-this.lastTime<or,de=!this.lastTap||this.lastTap.dist($)<Dr;if((!pe||!de)&&this.reset(),this.count++,this.lastTime=z.timeStamp,this.lastTap=$,this.count===this.numTaps)return this.reset(),$}};var ui=function(){this._zoomIn=new oi({numTouches:1,numTaps:2}),this._zoomOut=new oi({numTouches:2,numTaps:1}),this.reset()};ui.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},ui.prototype.touchstart=function(z,K,O){this._zoomIn.touchstart(z,K,O),this._zoomOut.touchstart(z,K,O)},ui.prototype.touchmove=function(z,K,O){this._zoomIn.touchmove(z,K,O),this._zoomOut.touchmove(z,K,O)},ui.prototype.touchend=function(z,K,O){var $=this,pe=this._zoomIn.touchend(z,K,O),de=this._zoomOut.touchend(z,K,O);if(pe)return this._active=!0,z.preventDefault(),setTimeout(function(){return $.reset()},0),{cameraAnimation:function(Ie){return Ie.easeTo({duration:300,zoom:Ie.getZoom()+1,around:Ie.unproject(pe)},{originalEvent:z})}};if(de)return this._active=!0,z.preventDefault(),setTimeout(function(){return $.reset()},0),{cameraAnimation:function(Ie){return Ie.easeTo({duration:300,zoom:Ie.getZoom()-1,around:Ie.unproject(de)},{originalEvent:z})}}},ui.prototype.touchcancel=function(){this.reset()},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 qr=0,Kr=2,ii={};ii[qr]=1,ii[Kr]=2;function vi(Y,z){var K=ii[z];return Y.buttons===void 0||(Y.buttons&K)!==K}var ci=function(z){this.reset(),this._clickTolerance=z.clickTolerance||1};ci.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},ci.prototype._correctButton=function(z,K){return!1},ci.prototype._move=function(z,K){return{}},ci.prototype.mousedown=function(z,K){if(!this._lastPoint){var O=o.mouseButton(z);this._correctButton(z,O)&&(this._lastPoint=K,this._eventButton=O)}},ci.prototype.mousemoveWindow=function(z,K){var O=this._lastPoint;if(O){if(z.preventDefault(),vi(z,this._eventButton)){this.reset();return}if(!(!this._moved&&K.dist(O)<this._clickTolerance))return this._moved=!0,this._lastPoint=K,this._move(O,K)}},ci.prototype.mouseupWindow=function(z){if(this._lastPoint){var K=o.mouseButton(z);K===this._eventButton&&(this._moved&&o.suppressClick(),this.reset())}},ci.prototype.enable=function(){this._enabled=!0},ci.prototype.disable=function(){this._enabled=!1,this.reset()},ci.prototype.isEnabled=function(){return this._enabled},ci.prototype.isActive=function(){return this._active};var Jr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.mousedown=function(O,$){Y.prototype.mousedown.call(this,O,$),this._lastPoint&&(this._active=!0)},z.prototype._correctButton=function(O,$){return $===qr&&!O.ctrlKey},z.prototype._move=function(O,$){return{around:$,panDelta:$.sub(O)}},z}(ci),un=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype._correctButton=function(O,$){return $===qr&&O.ctrlKey||$===Kr},z.prototype._move=function(O,$){var pe=.8,de=($.x-O.x)*pe;if(de)return this._active=!0,{bearingDelta:de}},z.prototype.contextmenu=function(O){O.preventDefault()},z}(ci),dn=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype._correctButton=function(O,$){return $===qr&&O.ctrlKey||$===Kr},z.prototype._move=function(O,$){var pe=-.5,de=($.y-O.y)*pe;if(de)return this._active=!0,{pitchDelta:de}},z.prototype.contextmenu=function(O){O.preventDefault()},z}(ci),En=function(z){this._minTouches=1,this._clickTolerance=z.clickTolerance||1,this.reset()};En.prototype.reset=function(){this._active=!1,this._touches={},this._sum=new i.Point(0,0)},En.prototype.touchstart=function(z,K,O){return this._calculateTransform(z,K,O)},En.prototype.touchmove=function(z,K,O){if(!(!this._active||O.length<this._minTouches))return z.preventDefault(),this._calculateTransform(z,K,O)},En.prototype.touchend=function(z,K,O){this._calculateTransform(z,K,O),this._active&&O.length<this._minTouches&&this.reset()},En.prototype.touchcancel=function(){this.reset()},En.prototype._calculateTransform=function(z,K,O){O.length>0&&(this._active=!0);var $=tt(O,K),pe=new i.Point(0,0),de=new i.Point(0,0),Ie=0;for(var $e in $){var pt=$[$e],Kt=this._touches[$e];Kt&&(pe._add(pt),de._add(pt.sub(Kt)),Ie++,$[$e]=pt)}if(this._touches=$,!(Ie<this._minTouches||!de.mag())){var ir=de.div(Ie);if(this._sum._add(ir),!(this._sum.mag()<this._clickTolerance)){var Jt=pe.div(Ie);return{around:Jt,panDelta:ir}}}},En.prototype.enable=function(){this._enabled=!0},En.prototype.disable=function(){this._enabled=!1,this.reset()},En.prototype.isEnabled=function(){return this._enabled},En.prototype.isActive=function(){return this._active};var Nn=function(){this.reset()};Nn.prototype.reset=function(){this._active=!1,delete this._firstTwoTouches},Nn.prototype._start=function(z){},Nn.prototype._move=function(z,K,O){return{}},Nn.prototype.touchstart=function(z,K,O){this._firstTwoTouches||O.length<2||(this._firstTwoTouches=[O[0].identifier,O[1].identifier],this._start([K[0],K[1]]))},Nn.prototype.touchmove=function(z,K,O){if(this._firstTwoTouches){z.preventDefault();var $=this._firstTwoTouches,pe=$[0],de=$[1],Ie=ga(O,K,pe),$e=ga(O,K,de);if(!(!Ie||!$e)){var pt=this._aroundCenter?null:Ie.add($e).div(2);return this._move([Ie,$e],pt,z)}}},Nn.prototype.touchend=function(z,K,O){if(this._firstTwoTouches){var $=this._firstTwoTouches,pe=$[0],de=$[1],Ie=ga(O,K,pe),$e=ga(O,K,de);Ie&&$e||(this._active&&o.suppressClick(),this.reset())}},Nn.prototype.touchcancel=function(){this.reset()},Nn.prototype.enable=function(z){this._enabled=!0,this._aroundCenter=!!z&&z.around===\"center\"},Nn.prototype.disable=function(){this._enabled=!1,this.reset()},Nn.prototype.isEnabled=function(){return this._enabled},Nn.prototype.isActive=function(){return this._active};function ga(Y,z,K){for(var O=0;O<Y.length;O++)if(Y[O].identifier===K)return z[O]}var ya=.1;function so(Y,z){return Math.log(Y/z)/Math.LN2}var wa=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.reset=function(){Y.prototype.reset.call(this),delete this._distance,delete this._startDistance},z.prototype._start=function(O){this._startDistance=this._distance=O[0].dist(O[1])},z.prototype._move=function(O,$){var pe=this._distance;if(this._distance=O[0].dist(O[1]),!(!this._active&&Math.abs(so(this._distance,this._startDistance))<ya))return this._active=!0,{zoomDelta:so(this._distance,pe),pinchAround:$}},z}(Nn),io=25;function Ss(Y,z){return Y.angleWith(z)*180/Math.PI}var _s=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.reset=function(){Y.prototype.reset.call(this),delete this._minDiameter,delete this._startVector,delete this._vector},z.prototype._start=function(O){this._startVector=this._vector=O[0].sub(O[1]),this._minDiameter=O[0].dist(O[1])},z.prototype._move=function(O,$){var pe=this._vector;if(this._vector=O[0].sub(O[1]),!(!this._active&&this._isBelowThreshold(this._vector)))return this._active=!0,{bearingDelta:Ss(this._vector,pe),pinchAround:$}},z.prototype._isBelowThreshold=function(O){this._minDiameter=Math.min(this._minDiameter,O.mag());var $=Math.PI*this._minDiameter,pe=io/$*360,de=Ss(O,this._startVector);return Math.abs(de)<pe},z}(Nn);function Ns(Y){return Math.abs(Y.y)>Math.abs(Y.x)}var pn=100,za=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.reset=function(){Y.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},z.prototype._start=function(O){this._lastPoints=O,Ns(O[0].sub(O[1]))&&(this._valid=!1)},z.prototype._move=function(O,$,pe){var de=O[0].sub(this._lastPoints[0]),Ie=O[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(de,Ie,pe.timeStamp),!!this._valid){this._lastPoints=O,this._active=!0;var $e=(de.y+Ie.y)/2,pt=-.5;return{pitchDelta:$e*pt}}},z.prototype.gestureBeginsVertically=function(O,$,pe){if(this._valid!==void 0)return this._valid;var de=2,Ie=O.mag()>=de,$e=$.mag()>=de;if(!(!Ie&&!$e)){if(!Ie||!$e)return this._firstMove===void 0&&(this._firstMove=pe),pe-this._firstMove<pn?void 0:!1;var pt=O.y>0==$.y>0;return Ns(O)&&Ns($)&&pt}},z}(Nn),Lo={panStep:100,bearingStep:15,pitchStep:10},Fo=function(){var z=Lo;this._panStep=z.panStep,this._bearingStep=z.bearingStep,this._pitchStep=z.pitchStep,this._rotationDisabled=!1};Fo.prototype.reset=function(){this._active=!1},Fo.prototype.keydown=function(z){var K=this;if(!(z.altKey||z.ctrlKey||z.metaKey)){var O=0,$=0,pe=0,de=0,Ie=0;switch(z.keyCode){case 61:case 107:case 171:case 187:O=1;break;case 189:case 109:case 173:O=-1;break;case 37:z.shiftKey?$=-1:(z.preventDefault(),de=-1);break;case 39:z.shiftKey?$=1:(z.preventDefault(),de=1);break;case 38:z.shiftKey?pe=1:(z.preventDefault(),Ie=-1);break;case 40:z.shiftKey?pe=-1:(z.preventDefault(),Ie=1);break;default:return}return this._rotationDisabled&&($=0,pe=0),{cameraAnimation:function($e){var pt=$e.getZoom();$e.easeTo({duration:300,easeId:\"keyboardHandler\",easing:js,zoom:O?Math.round(pt)+O*(z.shiftKey?2:1):pt,bearing:$e.getBearing()+$*K._bearingStep,pitch:$e.getPitch()+pe*K._pitchStep,offset:[-de*K._panStep,-Ie*K._panStep],center:$e.getCenter()},{originalEvent:z})}}}},Fo.prototype.enable=function(){this._enabled=!0},Fo.prototype.disable=function(){this._enabled=!1,this.reset()},Fo.prototype.isEnabled=function(){return this._enabled},Fo.prototype.isActive=function(){return this._active},Fo.prototype.disableRotation=function(){this._rotationDisabled=!0},Fo.prototype.enableRotation=function(){this._rotationDisabled=!1};function js(Y){return Y*(2-Y)}var xl=4.000244140625,fu=1/100,dl=1/450,xc=2,At=function(z,K){this._map=z,this._el=z.getCanvasContainer(),this._handler=K,this._delta=0,this._defaultZoomRate=fu,this._wheelZoomRate=dl,i.bindAll([\"_onTimeout\"],this)};At.prototype.setZoomRate=function(z){this._defaultZoomRate=z},At.prototype.setWheelZoomRate=function(z){this._wheelZoomRate=z},At.prototype.isEnabled=function(){return!!this._enabled},At.prototype.isActive=function(){return!!this._active||this._finishTimeout!==void 0},At.prototype.isZooming=function(){return!!this._zooming},At.prototype.enable=function(z){this.isEnabled()||(this._enabled=!0,this._aroundCenter=z&&z.around===\"center\")},At.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},At.prototype.wheel=function(z){if(this.isEnabled()){var K=z.deltaMode===i.window.WheelEvent.DOM_DELTA_LINE?z.deltaY*40:z.deltaY,O=i.browser.now(),$=O-(this._lastWheelEventTime||0);this._lastWheelEventTime=O,K!==0&&K%xl===0?this._type=\"wheel\":K!==0&&Math.abs(K)<4?this._type=\"trackpad\":$>400?(this._type=null,this._lastValue=K,this._timeout=setTimeout(this._onTimeout,40,z)):this._type||(this._type=Math.abs($*K)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,K+=this._lastValue)),z.shiftKey&&K&&(K=K/4),this._type&&(this._lastWheelEvent=z,this._delta-=K,this._active||this._start(z)),z.preventDefault()}},At.prototype._onTimeout=function(z){this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(z)},At.prototype._start=function(z){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 K=o.mousePos(this._el,z);this._around=i.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(K)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},At.prototype.renderFrame=function(){var z=this;if(this._frameId&&(this._frameId=null,!!this.isActive())){var K=this._map.transform;if(this._delta!==0){var O=this._type===\"wheel\"&&Math.abs(this._delta)>xl?this._wheelZoomRate:this._defaultZoomRate,$=xc/(1+Math.exp(-Math.abs(this._delta*O)));this._delta<0&&$!==0&&($=1/$);var pe=typeof this._targetZoom==\"number\"?K.zoomScale(this._targetZoom):K.scale;this._targetZoom=Math.min(K.maxZoom,Math.max(K.minZoom,K.scaleZoom(pe*$))),this._type===\"wheel\"&&(this._startZoom=K.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var de=typeof this._targetZoom==\"number\"?this._targetZoom:K.zoom,Ie=this._startZoom,$e=this._easing,pt=!1,Kt;if(this._type===\"wheel\"&&Ie&&$e){var ir=Math.min((i.browser.now()-this._lastWheelEventTime)/200,1),Jt=$e(ir);Kt=i.number(Ie,de,Jt),ir<1?this._frameId||(this._frameId=!0):pt=!0}else Kt=de,pt=!0;return this._active=!0,pt&&(this._active=!1,this._finishTimeout=setTimeout(function(){z._zooming=!1,z._handler._triggerRenderFrame(),delete z._targetZoom,delete z._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!pt,zoomDelta:Kt-K.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},At.prototype._smoothOutEasing=function(z){var K=i.ease;if(this._prevEase){var O=this._prevEase,$=(i.browser.now()-O.start)/O.duration,pe=O.easing($+.01)-O.easing($),de=.27/Math.sqrt(pe*pe+1e-4)*.01,Ie=Math.sqrt(.27*.27-de*de);K=i.bezier(de,Ie,.25,1)}return this._prevEase={start:i.browser.now(),duration:z,easing:K},K},At.prototype.reset=function(){this._active=!1};var Er=function(z,K){this._clickZoom=z,this._tapZoom=K};Er.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},Er.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},Er.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},Er.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var Wr=function(){this.reset()};Wr.prototype.reset=function(){this._active=!1},Wr.prototype.dblclick=function(z,K){return z.preventDefault(),{cameraAnimation:function(O){O.easeTo({duration:300,zoom:O.getZoom()+(z.shiftKey?-1:1),around:O.unproject(K)},{originalEvent:z})}}},Wr.prototype.enable=function(){this._enabled=!0},Wr.prototype.disable=function(){this._enabled=!1,this.reset()},Wr.prototype.isEnabled=function(){return this._enabled},Wr.prototype.isActive=function(){return this._active};var wi=function(){this._tap=new oi({numTouches:1,numTaps:1}),this.reset()};wi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},wi.prototype.touchstart=function(z,K,O){this._swipePoint||(this._tapTime&&z.timeStamp-this._tapTime>or&&this.reset(),this._tapTime?O.length>0&&(this._swipePoint=K[0],this._swipeTouch=O[0].identifier):this._tap.touchstart(z,K,O))},wi.prototype.touchmove=function(z,K,O){if(!this._tapTime)this._tap.touchmove(z,K,O);else if(this._swipePoint){if(O[0].identifier!==this._swipeTouch)return;var $=K[0],pe=$.y-this._swipePoint.y;return this._swipePoint=$,z.preventDefault(),this._active=!0,{zoomDelta:pe/128}}},wi.prototype.touchend=function(z,K,O){if(this._tapTime)this._swipePoint&&O.length===0&&this.reset();else{var $=this._tap.touchend(z,K,O);$&&(this._tapTime=z.timeStamp)}},wi.prototype.touchcancel=function(){this.reset()},wi.prototype.enable=function(){this._enabled=!0},wi.prototype.disable=function(){this._enabled=!1,this.reset()},wi.prototype.isEnabled=function(){return this._enabled},wi.prototype.isActive=function(){return this._active};var Ui=function(z,K,O){this._el=z,this._mousePan=K,this._touchPan=O};Ui.prototype.enable=function(z){this._inertiaOptions=z||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"mapboxgl-touch-drag-pan\")},Ui.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"mapboxgl-touch-drag-pan\")},Ui.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},Ui.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var Oi=function(z,K,O){this._pitchWithRotate=z.pitchWithRotate,this._mouseRotate=K,this._mousePitch=O};Oi.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},Oi.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},Oi.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},Oi.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var Bi=function(z,K,O,$){this._el=z,this._touchZoom=K,this._touchRotate=O,this._tapDragZoom=$,this._rotationDisabled=!1,this._enabled=!0};Bi.prototype.enable=function(z){this._touchZoom.enable(z),this._rotationDisabled||this._touchRotate.enable(z),this._tapDragZoom.enable(),this._el.classList.add(\"mapboxgl-touch-zoom-rotate\")},Bi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\")},Bi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},Bi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},Bi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},Bi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var cn=function(Y){return Y.zoom||Y.drag||Y.pitch||Y.rotate},On=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z}(i.Event);function Bn(Y){return Y.panDelta&&Y.panDelta.mag()||Y.zoomDelta||Y.bearingDelta||Y.pitchDelta}var yn=function(z,K){this._map=z,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new zl(z),this._bearingSnap=K.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(K),i.bindAll([\"handleEvent\",\"handleWindowEvent\"],this);var O=this._el;this._listeners=[[O,\"touchstart\",{passive:!0}],[O,\"touchmove\",{passive:!1}],[O,\"touchend\",void 0],[O,\"touchcancel\",void 0],[O,\"mousedown\",void 0],[O,\"mousemove\",void 0],[O,\"mouseup\",void 0],[i.window.document,\"mousemove\",{capture:!0}],[i.window.document,\"mouseup\",void 0],[O,\"mouseover\",void 0],[O,\"mouseout\",void 0],[O,\"dblclick\",void 0],[O,\"click\",void 0],[O,\"keydown\",{capture:!1}],[O,\"keyup\",void 0],[O,\"wheel\",{passive:!1}],[O,\"contextmenu\",void 0],[i.window,\"blur\",void 0]];for(var $=0,pe=this._listeners;$<pe.length;$+=1){var de=pe[$],Ie=de[0],$e=de[1],pt=de[2];o.addEventListener(Ie,$e,Ie===i.window.document?this.handleWindowEvent:this.handleEvent,pt)}};yn.prototype.destroy=function(){for(var z=0,K=this._listeners;z<K.length;z+=1){var O=K[z],$=O[0],pe=O[1],de=O[2];o.removeEventListener($,pe,$===i.window.document?this.handleWindowEvent:this.handleEvent,de)}},yn.prototype._addDefaultHandlers=function(z){var K=this._map,O=K.getCanvasContainer();this._add(\"mapEvent\",new Ue(K,z));var $=K.boxZoom=new wt(K,z);this._add(\"boxZoom\",$);var pe=new ui,de=new Wr;K.doubleClickZoom=new Er(de,pe),this._add(\"tapZoom\",pe),this._add(\"clickZoom\",de);var Ie=new wi;this._add(\"tapDragZoom\",Ie);var $e=K.touchPitch=new za;this._add(\"touchPitch\",$e);var pt=new un(z),Kt=new dn(z);K.dragRotate=new Oi(z,pt,Kt),this._add(\"mouseRotate\",pt,[\"mousePitch\"]),this._add(\"mousePitch\",Kt,[\"mouseRotate\"]);var ir=new Jr(z),Jt=new En(z);K.dragPan=new Ui(O,ir,Jt),this._add(\"mousePan\",ir),this._add(\"touchPan\",Jt,[\"touchZoom\",\"touchRotate\"]);var vt=new _s,Pt=new wa;K.touchZoomRotate=new Bi(O,Pt,vt,Ie),this._add(\"touchRotate\",vt,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",Pt,[\"touchPan\",\"touchRotate\"]);var Wt=K.scrollZoom=new At(K,this);this._add(\"scrollZoom\",Wt,[\"mousePan\"]);var rr=K.keyboard=new Fo;this._add(\"keyboard\",rr),this._add(\"blockableMapEvent\",new We(K));for(var dr=0,pr=[\"boxZoom\",\"doubleClickZoom\",\"tapDragZoom\",\"touchPitch\",\"dragRotate\",\"dragPan\",\"touchZoomRotate\",\"scrollZoom\",\"keyboard\"];dr<pr.length;dr+=1){var kr=pr[dr];z.interactive&&z[kr]&&K[kr].enable(z[kr])}},yn.prototype._add=function(z,K,O){this._handlers.push({handlerName:z,handler:K,allowed:O}),this._handlersById[z]=K},yn.prototype.stop=function(z){if(!this._updatingCamera){for(var K=0,O=this._handlers;K<O.length;K+=1){var $=O[K],pe=$.handler;pe.reset()}this._inertia.clear(),this._fireEvents({},{},z),this._changes=[]}},yn.prototype.isActive=function(){for(var z=0,K=this._handlers;z<K.length;z+=1){var O=K[z],$=O.handler;if($.isActive())return!0}return!1},yn.prototype.isZooming=function(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()},yn.prototype.isRotating=function(){return!!this._eventsInProgress.rotate},yn.prototype.isMoving=function(){return!!cn(this._eventsInProgress)||this.isZooming()},yn.prototype._blockedByActive=function(z,K,O){for(var $ in z)if($!==O&&(!K||K.indexOf($)<0))return!0;return!1},yn.prototype.handleWindowEvent=function(z){this.handleEvent(z,z.type+\"Window\")},yn.prototype._getMapTouches=function(z){for(var K=[],O=0,$=z;O<$.length;O+=1){var pe=$[O],de=pe.target;this._el.contains(de)&&K.push(pe)}return K},yn.prototype.handleEvent=function(z,K){if(z.type===\"blur\"){this.stop(!0);return}this._updatingCamera=!0;for(var O=z.type===\"renderFrame\"?void 0:z,$={needsRenderFrame:!1},pe={},de={},Ie=z.touches?this._getMapTouches(z.touches):void 0,$e=Ie?o.touchPos(this._el,Ie):o.mousePos(this._el,z),pt=0,Kt=this._handlers;pt<Kt.length;pt+=1){var ir=Kt[pt],Jt=ir.handlerName,vt=ir.handler,Pt=ir.allowed;if(vt.isEnabled()){var Wt=void 0;this._blockedByActive(de,Pt,Jt)?vt.reset():vt[K||z.type]&&(Wt=vt[K||z.type](z,$e,Ie),this.mergeHandlerResult($,pe,Wt,Jt,O),Wt&&Wt.needsRenderFrame&&this._triggerRenderFrame()),(Wt||vt.isActive())&&(de[Jt]=vt)}}var rr={};for(var dr in this._previousActiveHandlers)de[dr]||(rr[dr]=O);this._previousActiveHandlers=de,(Object.keys(rr).length||Bn($))&&(this._changes.push([$,pe,rr]),this._triggerRenderFrame()),(Object.keys(de).length||Bn($))&&this._map._stop(!0),this._updatingCamera=!1;var pr=$.cameraAnimation;pr&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],pr(this._map))},yn.prototype.mergeHandlerResult=function(z,K,O,$,pe){if(O){i.extend(z,O);var de={handlerName:$,originalEvent:O.originalEvent||pe};O.zoomDelta!==void 0&&(K.zoom=de),O.panDelta!==void 0&&(K.drag=de),O.pitchDelta!==void 0&&(K.pitch=de),O.bearingDelta!==void 0&&(K.rotate=de)}},yn.prototype._applyChanges=function(){for(var z={},K={},O={},$=0,pe=this._changes;$<pe.length;$+=1){var de=pe[$],Ie=de[0],$e=de[1],pt=de[2];Ie.panDelta&&(z.panDelta=(z.panDelta||new i.Point(0,0))._add(Ie.panDelta)),Ie.zoomDelta&&(z.zoomDelta=(z.zoomDelta||0)+Ie.zoomDelta),Ie.bearingDelta&&(z.bearingDelta=(z.bearingDelta||0)+Ie.bearingDelta),Ie.pitchDelta&&(z.pitchDelta=(z.pitchDelta||0)+Ie.pitchDelta),Ie.around!==void 0&&(z.around=Ie.around),Ie.pinchAround!==void 0&&(z.pinchAround=Ie.pinchAround),Ie.noInertia&&(z.noInertia=Ie.noInertia),i.extend(K,$e),i.extend(O,pt)}this._updateMapTransform(z,K,O),this._changes=[]},yn.prototype._updateMapTransform=function(z,K,O){var $=this._map,pe=$.transform;if(!Bn(z))return this._fireEvents(K,O,!0);var de=z.panDelta,Ie=z.zoomDelta,$e=z.bearingDelta,pt=z.pitchDelta,Kt=z.around,ir=z.pinchAround;ir!==void 0&&(Kt=ir),$._stop(!0),Kt=Kt||$.transform.centerPoint;var Jt=pe.pointLocation(de?Kt.sub(de):Kt);$e&&(pe.bearing+=$e),pt&&(pe.pitch+=pt),Ie&&(pe.zoom+=Ie),pe.setLocationAtPoint(Jt,Kt),this._map._update(),z.noInertia||this._inertia.record(z),this._fireEvents(K,O,!0)},yn.prototype._fireEvents=function(z,K,O){var $=this,pe=cn(this._eventsInProgress),de=cn(z),Ie={};for(var $e in z){var pt=z[$e],Kt=pt.originalEvent;this._eventsInProgress[$e]||(Ie[$e+\"start\"]=Kt),this._eventsInProgress[$e]=z[$e]}!pe&&de&&this._fireEvent(\"movestart\",de.originalEvent);for(var ir in Ie)this._fireEvent(ir,Ie[ir]);de&&this._fireEvent(\"move\",de.originalEvent);for(var Jt in z){var vt=z[Jt],Pt=vt.originalEvent;this._fireEvent(Jt,Pt)}var Wt={},rr;for(var dr in this._eventsInProgress){var pr=this._eventsInProgress[dr],kr=pr.handlerName,Ar=pr.originalEvent;this._handlersById[kr].isActive()||(delete this._eventsInProgress[dr],rr=K[kr]||Ar,Wt[dr+\"end\"]=rr)}for(var gr in Wt)this._fireEvent(gr,Wt[gr]);var Cr=cn(this._eventsInProgress);if(O&&(pe||de)&&!Cr){this._updatingCamera=!0;var cr=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),Gr=function(ei){return ei!==0&&-$._bearingSnap<ei&&ei<$._bearingSnap};cr?(Gr(cr.bearing||this._map.getBearing())&&(cr.bearing=0),this._map.easeTo(cr,{originalEvent:rr})):(this._map.fire(new i.Event(\"moveend\",{originalEvent:rr})),Gr(this._map.getBearing())&&this._map.resetNorth()),this._updatingCamera=!1}},yn.prototype._fireEvent=function(z,K){this._map.fire(new i.Event(z,K?{originalEvent:K}:{}))},yn.prototype._requestFrame=function(){var z=this;return this._map.triggerRepaint(),this._map._renderTaskQueue.add(function(K){delete z._frameId,z.handleEvent(new On(\"renderFrame\",{timeStamp:K})),z._applyChanges()})},yn.prototype._triggerRenderFrame=function(){this._frameId===void 0&&(this._frameId=this._requestFrame())};var to=function(Y){function z(K,O){Y.call(this),this._moving=!1,this._zooming=!1,this.transform=K,this._bearingSnap=O.bearingSnap,i.bindAll([\"_renderFrameCallback\"],this)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getCenter=function(){return new i.LngLat(this.transform.center.lng,this.transform.center.lat)},z.prototype.setCenter=function(O,$){return this.jumpTo({center:O},$)},z.prototype.panBy=function(O,$,pe){return O=i.Point.convert(O).mult(-1),this.panTo(this.transform.center,i.extend({offset:O},$),pe)},z.prototype.panTo=function(O,$,pe){return this.easeTo(i.extend({center:O},$),pe)},z.prototype.getZoom=function(){return this.transform.zoom},z.prototype.setZoom=function(O,$){return this.jumpTo({zoom:O},$),this},z.prototype.zoomTo=function(O,$,pe){return this.easeTo(i.extend({zoom:O},$),pe)},z.prototype.zoomIn=function(O,$){return this.zoomTo(this.getZoom()+1,O,$),this},z.prototype.zoomOut=function(O,$){return this.zoomTo(this.getZoom()-1,O,$),this},z.prototype.getBearing=function(){return this.transform.bearing},z.prototype.setBearing=function(O,$){return this.jumpTo({bearing:O},$),this},z.prototype.getPadding=function(){return this.transform.padding},z.prototype.setPadding=function(O,$){return this.jumpTo({padding:O},$),this},z.prototype.rotateTo=function(O,$,pe){return this.easeTo(i.extend({bearing:O},$),pe)},z.prototype.resetNorth=function(O,$){return this.rotateTo(0,i.extend({duration:1e3},O),$),this},z.prototype.resetNorthPitch=function(O,$){return this.easeTo(i.extend({bearing:0,pitch:0,duration:1e3},O),$),this},z.prototype.snapToNorth=function(O,$){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(O,$):this},z.prototype.getPitch=function(){return this.transform.pitch},z.prototype.setPitch=function(O,$){return this.jumpTo({pitch:O},$),this},z.prototype.cameraForBounds=function(O,$){O=i.LngLatBounds.convert(O);var pe=$&&$.bearing||0;return this._cameraForBoxAndBearing(O.getNorthWest(),O.getSouthEast(),pe,$)},z.prototype._cameraForBoxAndBearing=function(O,$,pe,de){var Ie={top:0,bottom:0,right:0,left:0};if(de=i.extend({padding:Ie,offset:[0,0],maxZoom:this.transform.maxZoom},de),typeof de.padding==\"number\"){var $e=de.padding;de.padding={top:$e,bottom:$e,right:$e,left:$e}}de.padding=i.extend(Ie,de.padding);var pt=this.transform,Kt=pt.padding,ir=pt.project(i.LngLat.convert(O)),Jt=pt.project(i.LngLat.convert($)),vt=ir.rotate(-pe*Math.PI/180),Pt=Jt.rotate(-pe*Math.PI/180),Wt=new i.Point(Math.max(vt.x,Pt.x),Math.max(vt.y,Pt.y)),rr=new i.Point(Math.min(vt.x,Pt.x),Math.min(vt.y,Pt.y)),dr=Wt.sub(rr),pr=(pt.width-(Kt.left+Kt.right+de.padding.left+de.padding.right))/dr.x,kr=(pt.height-(Kt.top+Kt.bottom+de.padding.top+de.padding.bottom))/dr.y;if(kr<0||pr<0){i.warnOnce(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\");return}var Ar=Math.min(pt.scaleZoom(pt.scale*Math.min(pr,kr)),de.maxZoom),gr=typeof de.offset.x==\"number\"?new i.Point(de.offset.x,de.offset.y):i.Point.convert(de.offset),Cr=(de.padding.left-de.padding.right)/2,cr=(de.padding.top-de.padding.bottom)/2,Gr=new i.Point(Cr,cr),ei=Gr.rotate(pe*Math.PI/180),yi=gr.add(ei),tn=yi.mult(pt.scale/pt.zoomScale(Ar)),Ri=pt.unproject(ir.add(Jt).div(2).sub(tn));return{center:Ri,zoom:Ar,bearing:pe}},z.prototype.fitBounds=function(O,$,pe){return this._fitInternal(this.cameraForBounds(O,$),$,pe)},z.prototype.fitScreenCoordinates=function(O,$,pe,de,Ie){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(i.Point.convert(O)),this.transform.pointLocation(i.Point.convert($)),pe,de),de,Ie)},z.prototype._fitInternal=function(O,$,pe){return O?($=i.extend(O,$),delete $.padding,$.linear?this.easeTo($,pe):this.flyTo($,pe)):this},z.prototype.jumpTo=function(O,$){this.stop();var pe=this.transform,de=!1,Ie=!1,$e=!1;return\"zoom\"in O&&pe.zoom!==+O.zoom&&(de=!0,pe.zoom=+O.zoom),O.center!==void 0&&(pe.center=i.LngLat.convert(O.center)),\"bearing\"in O&&pe.bearing!==+O.bearing&&(Ie=!0,pe.bearing=+O.bearing),\"pitch\"in O&&pe.pitch!==+O.pitch&&($e=!0,pe.pitch=+O.pitch),O.padding!=null&&!pe.isPaddingEqual(O.padding)&&(pe.padding=O.padding),this.fire(new i.Event(\"movestart\",$)).fire(new i.Event(\"move\",$)),de&&this.fire(new i.Event(\"zoomstart\",$)).fire(new i.Event(\"zoom\",$)).fire(new i.Event(\"zoomend\",$)),Ie&&this.fire(new i.Event(\"rotatestart\",$)).fire(new i.Event(\"rotate\",$)).fire(new i.Event(\"rotateend\",$)),$e&&this.fire(new i.Event(\"pitchstart\",$)).fire(new i.Event(\"pitch\",$)).fire(new i.Event(\"pitchend\",$)),this.fire(new i.Event(\"moveend\",$))},z.prototype.easeTo=function(O,$){var pe=this;this._stop(!1,O.easeId),O=i.extend({offset:[0,0],duration:500,easing:i.ease},O),(O.animate===!1||!O.essential&&i.browser.prefersReducedMotion)&&(O.duration=0);var de=this.transform,Ie=this.getZoom(),$e=this.getBearing(),pt=this.getPitch(),Kt=this.getPadding(),ir=\"zoom\"in O?+O.zoom:Ie,Jt=\"bearing\"in O?this._normalizeBearing(O.bearing,$e):$e,vt=\"pitch\"in O?+O.pitch:pt,Pt=\"padding\"in O?O.padding:de.padding,Wt=i.Point.convert(O.offset),rr=de.centerPoint.add(Wt),dr=de.pointLocation(rr),pr=i.LngLat.convert(O.center||dr);this._normalizeCenter(pr);var kr=de.project(dr),Ar=de.project(pr).sub(kr),gr=de.zoomScale(ir-Ie),Cr,cr;O.around&&(Cr=i.LngLat.convert(O.around),cr=de.locationPoint(Cr));var Gr={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=this._zooming||ir!==Ie,this._rotating=this._rotating||$e!==Jt,this._pitching=this._pitching||vt!==pt,this._padding=!de.isPaddingEqual(Pt),this._easeId=O.easeId,this._prepareEase($,O.noMoveStart,Gr),this._ease(function(ei){if(pe._zooming&&(de.zoom=i.number(Ie,ir,ei)),pe._rotating&&(de.bearing=i.number($e,Jt,ei)),pe._pitching&&(de.pitch=i.number(pt,vt,ei)),pe._padding&&(de.interpolatePadding(Kt,Pt,ei),rr=de.centerPoint.add(Wt)),Cr)de.setLocationAtPoint(Cr,cr);else{var yi=de.zoomScale(de.zoom-Ie),tn=ir>Ie?Math.min(2,gr):Math.max(.5,gr),Ri=Math.pow(tn,1-ei),ln=de.unproject(kr.add(Ar.mult(ei*Ri)).mult(yi));de.setLocationAtPoint(de.renderWorldCopies?ln.wrap():ln,rr)}pe._fireMoveEvents($)},function(ei){pe._afterEase($,ei)},O),this},z.prototype._prepareEase=function(O,$,pe){pe===void 0&&(pe={}),this._moving=!0,!$&&!pe.moving&&this.fire(new i.Event(\"movestart\",O)),this._zooming&&!pe.zooming&&this.fire(new i.Event(\"zoomstart\",O)),this._rotating&&!pe.rotating&&this.fire(new i.Event(\"rotatestart\",O)),this._pitching&&!pe.pitching&&this.fire(new i.Event(\"pitchstart\",O))},z.prototype._fireMoveEvents=function(O){this.fire(new i.Event(\"move\",O)),this._zooming&&this.fire(new i.Event(\"zoom\",O)),this._rotating&&this.fire(new i.Event(\"rotate\",O)),this._pitching&&this.fire(new i.Event(\"pitch\",O))},z.prototype._afterEase=function(O,$){if(!(this._easeId&&$&&this._easeId===$)){delete this._easeId;var pe=this._zooming,de=this._rotating,Ie=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,pe&&this.fire(new i.Event(\"zoomend\",O)),de&&this.fire(new i.Event(\"rotateend\",O)),Ie&&this.fire(new i.Event(\"pitchend\",O)),this.fire(new i.Event(\"moveend\",O))}},z.prototype.flyTo=function(O,$){var pe=this;if(!O.essential&&i.browser.prefersReducedMotion){var de=i.pick(O,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(de,$)}this.stop(),O=i.extend({offset:[0,0],speed:1.2,curve:1.42,easing:i.ease},O);var Ie=this.transform,$e=this.getZoom(),pt=this.getBearing(),Kt=this.getPitch(),ir=this.getPadding(),Jt=\"zoom\"in O?i.clamp(+O.zoom,Ie.minZoom,Ie.maxZoom):$e,vt=\"bearing\"in O?this._normalizeBearing(O.bearing,pt):pt,Pt=\"pitch\"in O?+O.pitch:Kt,Wt=\"padding\"in O?O.padding:Ie.padding,rr=Ie.zoomScale(Jt-$e),dr=i.Point.convert(O.offset),pr=Ie.centerPoint.add(dr),kr=Ie.pointLocation(pr),Ar=i.LngLat.convert(O.center||kr);this._normalizeCenter(Ar);var gr=Ie.project(kr),Cr=Ie.project(Ar).sub(gr),cr=O.curve,Gr=Math.max(Ie.width,Ie.height),ei=Gr/rr,yi=Cr.mag();if(\"minZoom\"in O){var tn=i.clamp(Math.min(O.minZoom,$e,Jt),Ie.minZoom,Ie.maxZoom),Ri=Gr/Ie.zoomScale(tn-$e);cr=Math.sqrt(Ri/yi*2)}var ln=cr*cr;function Qn(fo){var as=(ei*ei-Gr*Gr+(fo?-1:1)*ln*ln*yi*yi)/(2*(fo?ei:Gr)*ln*yi);return Math.log(Math.sqrt(as*as+1)-as)}function qn(fo){return(Math.exp(fo)-Math.exp(-fo))/2}function rn(fo){return(Math.exp(fo)+Math.exp(-fo))/2}function bn(fo){return qn(fo)/rn(fo)}var mn=Qn(0),Gn=function(fo){return rn(mn)/rn(mn+cr*fo)},da=function(fo){return Gr*((rn(mn)*bn(mn+cr*fo)-qn(mn))/ln)/yi},No=(Qn(1)-mn)/cr;if(Math.abs(yi)<1e-6||!isFinite(No)){if(Math.abs(Gr-ei)<1e-6)return this.easeTo(O,$);var Do=ei<Gr?-1:1;No=Math.abs(Math.log(ei/Gr))/cr,da=function(){return 0},Gn=function(fo){return Math.exp(Do*cr*fo)}}if(\"duration\"in O)O.duration=+O.duration;else{var ps=\"screenSpeed\"in O?+O.screenSpeed/cr:+O.speed;O.duration=1e3*No/ps}return O.maxDuration&&O.duration>O.maxDuration&&(O.duration=0),this._zooming=!0,this._rotating=pt!==vt,this._pitching=Pt!==Kt,this._padding=!Ie.isPaddingEqual(Wt),this._prepareEase($,!1),this._ease(function(fo){var as=fo*No,tl=1/Gn(as);Ie.zoom=fo===1?Jt:$e+Ie.scaleZoom(tl),pe._rotating&&(Ie.bearing=i.number(pt,vt,fo)),pe._pitching&&(Ie.pitch=i.number(Kt,Pt,fo)),pe._padding&&(Ie.interpolatePadding(ir,Wt,fo),pr=Ie.centerPoint.add(dr));var zu=fo===1?Ar:Ie.unproject(gr.add(Cr.mult(da(as))).mult(tl));Ie.setLocationAtPoint(Ie.renderWorldCopies?zu.wrap():zu,pr),pe._fireMoveEvents($)},function(){return pe._afterEase($)},O),this},z.prototype.isEasing=function(){return!!this._easeFrameId},z.prototype.stop=function(){return this._stop()},z.prototype._stop=function(O,$){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var pe=this._onEaseEnd;delete this._onEaseEnd,pe.call(this,$)}if(!O){var de=this.handlers;de&&de.stop(!1)}return this},z.prototype._ease=function(O,$,pe){pe.animate===!1||pe.duration===0?(O(1),$()):(this._easeStart=i.browser.now(),this._easeOptions=pe,this._onEaseFrame=O,this._onEaseEnd=$,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},z.prototype._renderFrameCallback=function(){var O=Math.min((i.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(O)),O<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},z.prototype._normalizeBearing=function(O,$){O=i.wrap(O,-180,180);var pe=Math.abs(O-$);return Math.abs(O-360-$)<pe&&(O-=360),Math.abs(O+360-$)<pe&&(O+=360),O},z.prototype._normalizeCenter=function(O){var $=this.transform;if(!(!$.renderWorldCopies||$.lngRange)){var pe=O.lng-$.center.lng;O.lng+=pe>180?-360:pe<-180?360:0}},z}(i.Evented),Rn=function(z){z===void 0&&(z={}),this.options=z,i.bindAll([\"_toggleAttribution\",\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this)};Rn.prototype.getDefaultPosition=function(){return\"bottom-right\"},Rn.prototype.onAdd=function(z){var K=this.options&&this.options.compact;return this._map=z,this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),this._compactButton=o.create(\"button\",\"mapboxgl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=o.create(\"div\",\"mapboxgl-ctrl-attrib-inner\",this._container),this._innerContainer.setAttribute(\"role\",\"list\"),K&&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),K===void 0&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},Rn.prototype.onRemove=function(){o.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},Rn.prototype._setElementTitle=function(z,K){var O=this._map._getUIString(\"AttributionControl.\"+K);z.title=O,z.setAttribute(\"aria-label\",O)},Rn.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\"))},Rn.prototype._updateEditLink=function(){var z=this._editLink;z||(z=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));var K=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:this._map._requestManager._customAccessToken||i.config.ACCESS_TOKEN}];if(z){var O=K.reduce(function($,pe,de){return pe.value&&($+=pe.key+\"=\"+pe.value+(de<K.length-1?\"&\":\"\")),$},\"?\");z.href=i.config.FEEDBACK_URL+\"/\"+O+(this._map._hash?this._map._hash.getHashString(!0):\"\"),z.rel=\"noopener nofollow\",this._setElementTitle(z,\"MapFeedback\")}},Rn.prototype._updateData=function(z){z&&(z.sourceDataType===\"metadata\"||z.sourceDataType===\"visibility\"||z.dataType===\"style\")&&(this._updateAttributions(),this._updateEditLink())},Rn.prototype._updateAttributions=function(){if(this._map.style){var z=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?z=z.concat(this.options.customAttribution.map(function($e){return typeof $e!=\"string\"?\"\":$e})):typeof this.options.customAttribution==\"string\"&&z.push(this.options.customAttribution)),this._map.style.stylesheet){var K=this._map.style.stylesheet;this.styleOwner=K.owner,this.styleId=K.id}var O=this._map.style.sourceCaches;for(var $ in O){var pe=O[$];if(pe.used){var de=pe.getSource();de.attribution&&z.indexOf(de.attribution)<0&&z.push(de.attribution)}}z.sort(function($e,pt){return $e.length-pt.length}),z=z.filter(function($e,pt){for(var Kt=pt+1;Kt<z.length;Kt++)if(z[Kt].indexOf($e)>=0)return!1;return!0});var Ie=z.join(\" | \");Ie!==this._attribHTML&&(this._attribHTML=Ie,z.length?(this._innerContainer.innerHTML=Ie,this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null)}},Rn.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\",\"mapboxgl-compact-show\")};var Dn=function(){i.bindAll([\"_updateLogo\"],this),i.bindAll([\"_updateCompact\"],this)};Dn.prototype.onAdd=function(z){this._map=z,this._container=o.create(\"div\",\"mapboxgl-ctrl\");var K=o.create(\"a\",\"mapboxgl-ctrl-logo\");return K.target=\"_blank\",K.rel=\"noopener nofollow\",K.href=\"https://www.mapbox.com/\",K.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),K.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(K),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container},Dn.prototype.onRemove=function(){o.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo),this._map.off(\"resize\",this._updateCompact)},Dn.prototype.getDefaultPosition=function(){return\"bottom-left\"},Dn.prototype._updateLogo=function(z){(!z||z.sourceDataType===\"metadata\")&&(this._container.style.display=this._logoRequired()?\"block\":\"none\")},Dn.prototype._logoRequired=function(){if(this._map.style){var z=this._map.style.sourceCaches;for(var K in z){var O=z[K].getSource();if(O.mapbox_logo)return!0}return!1}},Dn.prototype._updateCompact=function(){var z=this._container.children;if(z.length){var K=z[0];this._map.getCanvasContainer().offsetWidth<250?K.classList.add(\"mapboxgl-compact\"):K.classList.remove(\"mapboxgl-compact\")}};var fn=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};fn.prototype.add=function(z){var K=++this._id,O=this._queue;return O.push({callback:z,id:K,cancelled:!1}),K},fn.prototype.remove=function(z){for(var K=this._currentlyRunning,O=K?this._queue.concat(K):this._queue,$=0,pe=O;$<pe.length;$+=1){var de=pe[$];if(de.id===z){de.cancelled=!0;return}}},fn.prototype.run=function(z){z===void 0&&(z=0);var K=this._currentlyRunning=this._queue;this._queue=[];for(var O=0,$=K;O<$.length;O+=1){var pe=$[O];if(!pe.cancelled&&(pe.callback(z),this._cleared))break}this._cleared=!1,this._currentlyRunning=!1},fn.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]};var Ai={\"AttributionControl.ToggleAttribution\":\"Toggle attribution\",\"AttributionControl.MapFeedback\":\"Map feedback\",\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"Mapbox logo\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"ScaleControl.Feet\":\"ft\",\"ScaleControl.Meters\":\"m\",\"ScaleControl.Kilometers\":\"km\",\"ScaleControl.Miles\":\"mi\",\"ScaleControl.NauticalMiles\":\"nm\"},ji=i.window.HTMLImageElement,Ln=i.window.HTMLElement,Un=i.window.ImageBitmap,gn=-2,ca=22,Kn=0,Za=60,wn={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:gn,maxZoom:ca,minPitch:Kn,maxPitch:Za,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:\"sans-serif\",transformRequest:null,accessToken:null,fadeDuration:300,crossSourceCollisions:!0},vn=function(Y){function z(O){var $=this;if(O=i.extend({},wn,O),O.minZoom!=null&&O.maxZoom!=null&&O.minZoom>O.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(O.minPitch!=null&&O.maxPitch!=null&&O.minPitch>O.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(O.minPitch!=null&&O.minPitch<Kn)throw new Error(\"minPitch must be greater than or equal to \"+Kn);if(O.maxPitch!=null&&O.maxPitch>Za)throw new Error(\"maxPitch must be less than or equal to \"+Za);var pe=new yo(O.minZoom,O.maxZoom,O.minPitch,O.maxPitch,O.renderWorldCopies);if(Y.call(this,pe,O),this._interactive=O.interactive,this._maxTileCacheSize=O.maxTileCacheSize,this._failIfMajorPerformanceCaveat=O.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=O.preserveDrawingBuffer,this._antialias=O.antialias,this._trackResize=O.trackResize,this._bearingSnap=O.bearingSnap,this._refreshExpiredTiles=O.refreshExpiredTiles,this._fadeDuration=O.fadeDuration,this._crossSourceCollisions=O.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=O.collectResourceTiming,this._renderTaskQueue=new fn,this._controls=[],this._mapId=i.uniqueId(),this._locale=i.extend({},Ai,O.locale),this._clickTolerance=O.clickTolerance,this._requestManager=new i.RequestManager(O.transformRequest,O.accessToken),typeof O.container==\"string\"){if(this._container=i.window.document.getElementById(O.container),!this._container)throw new Error(\"Container '\"+O.container+\"' not found.\")}else if(O.container instanceof Ln)this._container=O.container;else throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");if(O.maxBounds&&this.setMaxBounds(O.maxBounds),i.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_onMapScroll\",\"_contextLost\",\"_contextRestored\"],this),this._setupContainer(),this._setupPainter(),this.painter===void 0)throw new Error(\"Failed to initialize WebGL.\");this.on(\"move\",function(){return $._update(!1)}),this.on(\"moveend\",function(){return $._update(!1)}),this.on(\"zoom\",function(){return $._update(!0)}),typeof i.window!=\"undefined\"&&(i.window.addEventListener(\"online\",this._onWindowOnline,!1),i.window.addEventListener(\"resize\",this._onWindowResize,!1),i.window.addEventListener(\"orientationchange\",this._onWindowResize,!1)),this.handlers=new yn(this,O);var de=typeof O.hash==\"string\"&&O.hash||void 0;this._hash=O.hash&&new Hl(de).addTo(this),(!this._hash||!this._hash._onHashChange())&&(this.jumpTo({center:O.center,zoom:O.zoom,bearing:O.bearing,pitch:O.pitch}),O.bounds&&(this.resize(),this.fitBounds(O.bounds,i.extend({},O.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=O.localIdeographFontFamily,O.style&&this.setStyle(O.style,{localIdeographFontFamily:O.localIdeographFontFamily}),O.attributionControl&&this.addControl(new Rn({customAttribution:O.customAttribution})),this.addControl(new Dn,O.logoPosition),this.on(\"style.load\",function(){$.transform.unmodified&&$.jumpTo($.style.stylesheet)}),this.on(\"data\",function(Ie){$._update(Ie.dataType===\"style\"),$.fire(new i.Event(Ie.dataType+\"data\",Ie))}),this.on(\"dataloading\",function(Ie){$.fire(new i.Event(Ie.dataType+\"dataloading\",Ie))})}Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z;var K={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return z.prototype._getMapId=function(){return this._mapId},z.prototype.addControl=function($,pe){if(pe===void 0&&($.getDefaultPosition?pe=$.getDefaultPosition():pe=\"top-right\"),!$||!$.onAdd)return this.fire(new i.ErrorEvent(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));var de=$.onAdd(this);this._controls.push($);var Ie=this._controlPositions[pe];return pe.indexOf(\"bottom\")!==-1?Ie.insertBefore(de,Ie.firstChild):Ie.appendChild(de),this},z.prototype.removeControl=function($){if(!$||!$.onRemove)return this.fire(new i.ErrorEvent(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));var pe=this._controls.indexOf($);return pe>-1&&this._controls.splice(pe,1),$.onRemove(this),this},z.prototype.hasControl=function($){return this._controls.indexOf($)>-1},z.prototype.resize=function($){var pe=this._containerDimensions(),de=pe[0],Ie=pe[1];this._resizeCanvas(de,Ie),this.transform.resize(de,Ie),this.painter.resize(de,Ie);var $e=!this._moving;return $e&&(this.stop(),this.fire(new i.Event(\"movestart\",$)).fire(new i.Event(\"move\",$))),this.fire(new i.Event(\"resize\",$)),$e&&this.fire(new i.Event(\"moveend\",$)),this},z.prototype.getBounds=function(){return this.transform.getBounds()},z.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},z.prototype.setMaxBounds=function($){return this.transform.setMaxBounds(i.LngLatBounds.convert($)),this._update()},z.prototype.setMinZoom=function($){if($=$==null?gn:$,$>=gn&&$<=this.transform.maxZoom)return this.transform.minZoom=$,this._update(),this.getZoom()<$&&this.setZoom($),this;throw new Error(\"minZoom must be between \"+gn+\" and the current maxZoom, inclusive\")},z.prototype.getMinZoom=function(){return this.transform.minZoom},z.prototype.setMaxZoom=function($){if($=$==null?ca:$,$>=this.transform.minZoom)return this.transform.maxZoom=$,this._update(),this.getZoom()>$&&this.setZoom($),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},z.prototype.getMaxZoom=function(){return this.transform.maxZoom},z.prototype.setMinPitch=function($){if($=$==null?Kn:$,$<Kn)throw new Error(\"minPitch must be greater than or equal to \"+Kn);if($>=Kn&&$<=this.transform.maxPitch)return this.transform.minPitch=$,this._update(),this.getPitch()<$&&this.setPitch($),this;throw new Error(\"minPitch must be between \"+Kn+\" and the current maxPitch, inclusive\")},z.prototype.getMinPitch=function(){return this.transform.minPitch},z.prototype.setMaxPitch=function($){if($=$==null?Za:$,$>Za)throw new Error(\"maxPitch must be less than or equal to \"+Za);if($>=this.transform.minPitch)return this.transform.maxPitch=$,this._update(),this.getPitch()>$&&this.setPitch($),this;throw new Error(\"maxPitch must be greater than the current minPitch\")},z.prototype.getMaxPitch=function(){return this.transform.maxPitch},z.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},z.prototype.setRenderWorldCopies=function($){return this.transform.renderWorldCopies=$,this._update()},z.prototype.project=function($){return this.transform.locationPoint(i.LngLat.convert($))},z.prototype.unproject=function($){return this.transform.pointLocation(i.Point.convert($))},z.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},z.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},z.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},z.prototype._createDelegatedListener=function($,pe,de){var Ie=this,$e;if($===\"mouseenter\"||$===\"mouseover\"){var pt=!1,Kt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length?pt||(pt=!0,de.call(Ie,new oe($,Ie,rr.originalEvent,{features:dr}))):pt=!1},ir=function(){pt=!1};return{layer:pe,listener:de,delegates:{mousemove:Kt,mouseout:ir}}}else if($===\"mouseleave\"||$===\"mouseout\"){var Jt=!1,vt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length?Jt=!0:Jt&&(Jt=!1,de.call(Ie,new oe($,Ie,rr.originalEvent)))},Pt=function(rr){Jt&&(Jt=!1,de.call(Ie,new oe($,Ie,rr.originalEvent)))};return{layer:pe,listener:de,delegates:{mousemove:vt,mouseout:Pt}}}else{var Wt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length&&(rr.features=dr,de.call(Ie,rr),delete rr.features)};return{layer:pe,listener:de,delegates:($e={},$e[$]=Wt,$e)}}},z.prototype.on=function($,pe,de){if(de===void 0)return Y.prototype.on.call(this,$,pe);var Ie=this._createDelegatedListener($,pe,de);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[$]=this._delegatedListeners[$]||[],this._delegatedListeners[$].push(Ie);for(var $e in Ie.delegates)this.on($e,Ie.delegates[$e]);return this},z.prototype.once=function($,pe,de){if(de===void 0)return Y.prototype.once.call(this,$,pe);var Ie=this._createDelegatedListener($,pe,de);for(var $e in Ie.delegates)this.once($e,Ie.delegates[$e]);return this},z.prototype.off=function($,pe,de){var Ie=this;if(de===void 0)return Y.prototype.off.call(this,$,pe);var $e=function(pt){for(var Kt=pt[$],ir=0;ir<Kt.length;ir++){var Jt=Kt[ir];if(Jt.layer===pe&&Jt.listener===de){for(var vt in Jt.delegates)Ie.off(vt,Jt.delegates[vt]);return Kt.splice(ir,1),Ie}}};return this._delegatedListeners&&this._delegatedListeners[$]&&$e(this._delegatedListeners),this},z.prototype.queryRenderedFeatures=function($,pe){if(!this.style)return[];pe===void 0&&$!==void 0&&!($ instanceof i.Point)&&!Array.isArray($)&&(pe=$,$=void 0),pe=pe||{},$=$||[[0,0],[this.transform.width,this.transform.height]];var de;if($ instanceof i.Point||typeof $[0]==\"number\")de=[i.Point.convert($)];else{var Ie=i.Point.convert($[0]),$e=i.Point.convert($[1]);de=[Ie,new i.Point($e.x,Ie.y),$e,new i.Point(Ie.x,$e.y),Ie]}return this.style.queryRenderedFeatures(de,pe,this.transform)},z.prototype.querySourceFeatures=function($,pe){return this.style.querySourceFeatures($,pe)},z.prototype.setStyle=function($,pe){return pe=i.extend({},{localIdeographFontFamily:this._localIdeographFontFamily},pe),pe.diff!==!1&&pe.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&$?(this._diffStyle($,pe),this):(this._localIdeographFontFamily=pe.localIdeographFontFamily,this._updateStyle($,pe))},z.prototype._getUIString=function($){var pe=this._locale[$];if(pe==null)throw new Error(\"Missing UI string '\"+$+\"'\");return pe},z.prototype._updateStyle=function($,pe){if(this.style&&(this.style.setEventedParent(null),this.style._remove()),$)this.style=new mu(this,pe||{});else return delete this.style,this;return this.style.setEventedParent(this,{style:this.style}),typeof $==\"string\"?this.style.loadURL($):this.style.loadJSON($),this},z.prototype._lazyInitEmptyStyle=function(){this.style||(this.style=new mu(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())},z.prototype._diffStyle=function($,pe){var de=this;if(typeof $==\"string\"){var Ie=this._requestManager.normalizeStyleURL($),$e=this._requestManager.transformRequest(Ie,i.ResourceType.Style);i.getJSON($e,function(pt,Kt){pt?de.fire(new i.ErrorEvent(pt)):Kt&&de._updateDiff(Kt,pe)})}else typeof $==\"object\"&&this._updateDiff($,pe)},z.prototype._updateDiff=function($,pe){try{this.style.setState($)&&this._update(!0)}catch(de){i.warnOnce(\"Unable to perform style diff: \"+(de.message||de.error||de)+\". Rebuilding the style from scratch.\"),this._updateStyle($,pe)}},z.prototype.getStyle=function(){if(this.style)return this.style.serialize()},z.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():i.warnOnce(\"There is no style added to the map.\")},z.prototype.addSource=function($,pe){return this._lazyInitEmptyStyle(),this.style.addSource($,pe),this._update(!0)},z.prototype.isSourceLoaded=function($){var pe=this.style&&this.style.sourceCaches[$];if(pe===void 0){this.fire(new i.ErrorEvent(new Error(\"There is no source with ID '\"+$+\"'\")));return}return pe.loaded()},z.prototype.areTilesLoaded=function(){var $=this.style&&this.style.sourceCaches;for(var pe in $){var de=$[pe],Ie=de._tiles;for(var $e in Ie){var pt=Ie[$e];if(!(pt.state===\"loaded\"||pt.state===\"errored\"))return!1}}return!0},z.prototype.addSourceType=function($,pe,de){return this._lazyInitEmptyStyle(),this.style.addSourceType($,pe,de)},z.prototype.removeSource=function($){return this.style.removeSource($),this._update(!0)},z.prototype.getSource=function($){return this.style.getSource($)},z.prototype.addImage=function($,pe,de){de===void 0&&(de={});var Ie=de.pixelRatio;Ie===void 0&&(Ie=1);var $e=de.sdf;$e===void 0&&($e=!1);var pt=de.stretchX,Kt=de.stretchY,ir=de.content;this._lazyInitEmptyStyle();var Jt=0;if(pe instanceof ji||Un&&pe instanceof Un){var vt=i.browser.getImageData(pe),Pt=vt.width,Wt=vt.height,rr=vt.data;this.style.addImage($,{data:new i.RGBAImage({width:Pt,height:Wt},rr),pixelRatio:Ie,stretchX:pt,stretchY:Kt,content:ir,sdf:$e,version:Jt})}else{if(pe.width===void 0||pe.height===void 0)return this.fire(new i.ErrorEvent(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));var dr=pe.width,pr=pe.height,kr=pe.data,Ar=pe;this.style.addImage($,{data:new i.RGBAImage({width:dr,height:pr},new Uint8Array(kr)),pixelRatio:Ie,stretchX:pt,stretchY:Kt,content:ir,sdf:$e,version:Jt,userImage:Ar}),Ar.onAdd&&Ar.onAdd(this,$)}},z.prototype.updateImage=function($,pe){var de=this.style.getImage($);if(!de)return this.fire(new i.ErrorEvent(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));var Ie=pe instanceof ji||Un&&pe instanceof Un?i.browser.getImageData(pe):pe,$e=Ie.width,pt=Ie.height,Kt=Ie.data;if($e===void 0||pt===void 0)return this.fire(new i.ErrorEvent(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));if($e!==de.data.width||pt!==de.data.height)return this.fire(new i.ErrorEvent(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));var ir=!(pe instanceof ji||Un&&pe instanceof Un);de.data.replace(Kt,ir),this.style.updateImage($,de)},z.prototype.hasImage=function($){return $?!!this.style.getImage($):(this.fire(new i.ErrorEvent(new Error(\"Missing required image id\"))),!1)},z.prototype.removeImage=function($){this.style.removeImage($)},z.prototype.loadImage=function($,pe){i.getImage(this._requestManager.transformRequest($,i.ResourceType.Image),pe)},z.prototype.listImages=function(){return this.style.listImages()},z.prototype.addLayer=function($,pe){return this._lazyInitEmptyStyle(),this.style.addLayer($,pe),this._update(!0)},z.prototype.moveLayer=function($,pe){return this.style.moveLayer($,pe),this._update(!0)},z.prototype.removeLayer=function($){return this.style.removeLayer($),this._update(!0)},z.prototype.getLayer=function($){return this.style.getLayer($)},z.prototype.setLayerZoomRange=function($,pe,de){return this.style.setLayerZoomRange($,pe,de),this._update(!0)},z.prototype.setFilter=function($,pe,de){return de===void 0&&(de={}),this.style.setFilter($,pe,de),this._update(!0)},z.prototype.getFilter=function($){return this.style.getFilter($)},z.prototype.setPaintProperty=function($,pe,de,Ie){return Ie===void 0&&(Ie={}),this.style.setPaintProperty($,pe,de,Ie),this._update(!0)},z.prototype.getPaintProperty=function($,pe){return this.style.getPaintProperty($,pe)},z.prototype.setLayoutProperty=function($,pe,de,Ie){return Ie===void 0&&(Ie={}),this.style.setLayoutProperty($,pe,de,Ie),this._update(!0)},z.prototype.getLayoutProperty=function($,pe){return this.style.getLayoutProperty($,pe)},z.prototype.setLight=function($,pe){return pe===void 0&&(pe={}),this._lazyInitEmptyStyle(),this.style.setLight($,pe),this._update(!0)},z.prototype.getLight=function(){return this.style.getLight()},z.prototype.setFeatureState=function($,pe){return this.style.setFeatureState($,pe),this._update()},z.prototype.removeFeatureState=function($,pe){return this.style.removeFeatureState($,pe),this._update()},z.prototype.getFeatureState=function($){return this.style.getFeatureState($)},z.prototype.getContainer=function(){return this._container},z.prototype.getCanvasContainer=function(){return this._canvasContainer},z.prototype.getCanvas=function(){return this._canvas},z.prototype._containerDimensions=function(){var $=0,pe=0;return this._container&&($=this._container.clientWidth||400,pe=this._container.clientHeight||300),[$,pe]},z.prototype._detectMissingCSS=function(){var $=i.window.getComputedStyle(this._missingCSSCanary).getPropertyValue(\"background-color\");$!==\"rgb(250, 128, 114)\"&&i.warnOnce(\"This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.\")},z.prototype._setupContainer=function(){var $=this._container;$.classList.add(\"mapboxgl-map\");var pe=this._missingCSSCanary=o.create(\"div\",\"mapboxgl-canary\",$);pe.style.visibility=\"hidden\",this._detectMissingCSS();var de=this._canvasContainer=o.create(\"div\",\"mapboxgl-canvas-container\",$);this._interactive&&de.classList.add(\"mapboxgl-interactive\"),this._canvas=o.create(\"canvas\",\"mapboxgl-canvas\",de),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",\"Map\"),this._canvas.setAttribute(\"role\",\"region\");var Ie=this._containerDimensions();this._resizeCanvas(Ie[0],Ie[1]);var $e=this._controlContainer=o.create(\"div\",\"mapboxgl-control-container\",$),pt=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(function(Kt){pt[Kt]=o.create(\"div\",\"mapboxgl-ctrl-\"+Kt,$e)}),this._container.addEventListener(\"scroll\",this._onMapScroll,!1)},z.prototype._resizeCanvas=function($,pe){var de=i.browser.devicePixelRatio||1;this._canvas.width=de*$,this._canvas.height=de*pe,this._canvas.style.width=$+\"px\",this._canvas.style.height=pe+\"px\"},z.prototype._setupPainter=function(){var $=i.extend({},a.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),pe=this._canvas.getContext(\"webgl\",$)||this._canvas.getContext(\"experimental-webgl\",$);if(!pe){this.fire(new i.ErrorEvent(new Error(\"Failed to initialize WebGL\")));return}this.painter=new co(pe,this.transform),i.webpSupported.testSupport(pe)},z.prototype._contextLost=function($){$.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new i.Event(\"webglcontextlost\",{originalEvent:$}))},z.prototype._contextRestored=function($){this._setupPainter(),this.resize(),this._update(),this.fire(new i.Event(\"webglcontextrestored\",{originalEvent:$}))},z.prototype._onMapScroll=function($){if($.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},z.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()},z.prototype._update=function($){return this.style?(this._styleDirty=this._styleDirty||$,this._sourcesDirty=!0,this.triggerRepaint(),this):this},z.prototype._requestRenderFrame=function($){return this._update(),this._renderTaskQueue.add($)},z.prototype._cancelRenderFrame=function($){this._renderTaskQueue.remove($)},z.prototype._render=function($){var pe=this,de,Ie=0,$e=this.painter.context.extTimerQuery;if(this.listens(\"gpu-timing-frame\")&&(de=$e.createQueryEXT(),$e.beginQueryEXT($e.TIME_ELAPSED_EXT,de),Ie=i.browser.now()),this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run($),!this._removed){var pt=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var Kt=this.transform.zoom,ir=i.browser.now();this.style.zoomHistory.update(Kt,ir);var Jt=new i.EvaluationParameters(Kt,{now:ir,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),vt=Jt.crossFadingFactor();(vt!==1||vt!==this._crossFadingFactor)&&(pt=!0,this._crossFadingFactor=vt),this.style.update(Jt)}if(this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration,showPadding:this.showPadding,gpuTiming:!!this.listens(\"gpu-timing-layer\")}),this.fire(new i.Event(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new i.Event(\"load\"))),this.style&&(this.style.hasTransitions()||pt)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this.listens(\"gpu-timing-frame\")){var Pt=i.browser.now()-Ie;$e.endQueryEXT($e.TIME_ELAPSED_EXT,de),setTimeout(function(){var dr=$e.getQueryObjectEXT(de,$e.QUERY_RESULT_EXT)/1e6;$e.deleteQueryEXT(de),pe.fire(new i.Event(\"gpu-timing-frame\",{cpuTime:Pt,gpuTime:dr}))},50)}if(this.listens(\"gpu-timing-layer\")){var Wt=this.painter.collectGpuTimers();setTimeout(function(){var dr=pe.painter.queryGpuTimers(Wt);pe.fire(new i.Event(\"gpu-timing-layer\",{layerTimes:dr}))},50)}var rr=this._sourcesDirty||this._styleDirty||this._placementDirty;return rr||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new i.Event(\"idle\")),this._loaded&&!this._fullyLoaded&&!rr&&(this._fullyLoaded=!0),this}},z.prototype.remove=function(){this._hash&&this._hash.remove();for(var $=0,pe=this._controls;$<pe.length;$+=1){var de=pe[$];de.onRemove(this)}this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof i.window!=\"undefined\"&&(i.window.removeEventListener(\"resize\",this._onWindowResize,!1),i.window.removeEventListener(\"orientationchange\",this._onWindowResize,!1),i.window.removeEventListener(\"online\",this._onWindowOnline,!1));var Ie=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");Ie&&Ie.loseContext&&Ie.loseContext(),Aa(this._canvasContainer),Aa(this._controlContainer),Aa(this._missingCSSCanary),this._container.classList.remove(\"mapboxgl-map\"),this._removed=!0,this.fire(new i.Event(\"remove\"))},z.prototype.triggerRepaint=function(){var $=this;this.style&&!this._frame&&(this._frame=i.browser.frame(function(pe){$._frame=null,$._render(pe)}))},z.prototype._onWindowOnline=function(){this._update()},z.prototype._onWindowResize=function($){this._trackResize&&this.resize({originalEvent:$})._update()},K.showTileBoundaries.get=function(){return!!this._showTileBoundaries},K.showTileBoundaries.set=function(O){this._showTileBoundaries!==O&&(this._showTileBoundaries=O,this._update())},K.showPadding.get=function(){return!!this._showPadding},K.showPadding.set=function(O){this._showPadding!==O&&(this._showPadding=O,this._update())},K.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},K.showCollisionBoxes.set=function(O){this._showCollisionBoxes!==O&&(this._showCollisionBoxes=O,O?this.style._generateCollisionBoxes():this._update())},K.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},K.showOverdrawInspector.set=function(O){this._showOverdrawInspector!==O&&(this._showOverdrawInspector=O,this._update())},K.repaint.get=function(){return!!this._repaint},K.repaint.set=function(O){this._repaint!==O&&(this._repaint=O,this.triggerRepaint())},K.vertices.get=function(){return!!this._vertices},K.vertices.set=function(O){this._vertices=O,this._update()},z.prototype._setCacheLimits=function($,pe){i.setCacheLimits($,pe)},K.version.get=function(){return i.version},Object.defineProperties(z.prototype,K),z}(to);function Aa(Y){Y.parentNode&&Y.parentNode.removeChild(Y)}var aa={showCompass:!0,showZoom:!0,visualizePitch:!1},Xn=function(z){var K=this;this.options=i.extend({},aa,z),this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",function(O){return O.preventDefault()}),this.options.showZoom&&(i.bindAll([\"_setButtonTitle\",\"_updateZoomButtons\"],this),this._zoomInButton=this._createButton(\"mapboxgl-ctrl-zoom-in\",function(O){return K._map.zoomIn({},{originalEvent:O})}),o.create(\"span\",\"mapboxgl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",!0),this._zoomOutButton=this._createButton(\"mapboxgl-ctrl-zoom-out\",function(O){return K._map.zoomOut({},{originalEvent:O})}),o.create(\"span\",\"mapboxgl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",!0)),this.options.showCompass&&(i.bindAll([\"_rotateCompassArrow\"],this),this._compass=this._createButton(\"mapboxgl-ctrl-compass\",function(O){K.options.visualizePitch?K._map.resetNorthPitch({},{originalEvent:O}):K._map.resetNorth({},{originalEvent:O})}),this._compassIcon=o.create(\"span\",\"mapboxgl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",!0))};Xn.prototype._updateZoomButtons=function(){var z=this._map.getZoom(),K=z===this._map.getMaxZoom(),O=z===this._map.getMinZoom();this._zoomInButton.disabled=K,this._zoomOutButton.disabled=O,this._zoomInButton.setAttribute(\"aria-disabled\",K.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",O.toString())},Xn.prototype._rotateCompassArrow=function(){var z=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=z},Xn.prototype.onAdd=function(z){return this._map=z,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 Vn(this._map,this._compass,this.options.visualizePitch)),this._container},Xn.prototype.onRemove=function(){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},Xn.prototype._createButton=function(z,K){var O=o.create(\"button\",z,this._container);return O.type=\"button\",O.addEventListener(\"click\",K),O},Xn.prototype._setButtonTitle=function(z,K){var O=this._map._getUIString(\"NavigationControl.\"+K);z.title=O,z.setAttribute(\"aria-label\",O)};var Vn=function(z,K,O){O===void 0&&(O=!1),this._clickTolerance=10,this.element=K,this.mouseRotate=new un({clickTolerance:z.dragRotate._mouseRotate._clickTolerance}),this.map=z,O&&(this.mousePitch=new dn({clickTolerance:z.dragRotate._mousePitch._clickTolerance})),i.bindAll([\"mousedown\",\"mousemove\",\"mouseup\",\"touchstart\",\"touchmove\",\"touchend\",\"reset\"],this),o.addEventListener(K,\"mousedown\",this.mousedown),o.addEventListener(K,\"touchstart\",this.touchstart,{passive:!1}),o.addEventListener(K,\"touchmove\",this.touchmove),o.addEventListener(K,\"touchend\",this.touchend),o.addEventListener(K,\"touchcancel\",this.reset)};Vn.prototype.down=function(z,K){this.mouseRotate.mousedown(z,K),this.mousePitch&&this.mousePitch.mousedown(z,K),o.disableDrag()},Vn.prototype.move=function(z,K){var O=this.map,$=this.mouseRotate.mousemoveWindow(z,K);if($&&$.bearingDelta&&O.setBearing(O.getBearing()+$.bearingDelta),this.mousePitch){var pe=this.mousePitch.mousemoveWindow(z,K);pe&&pe.pitchDelta&&O.setPitch(O.getPitch()+pe.pitchDelta)}},Vn.prototype.off=function(){var z=this.element;o.removeEventListener(z,\"mousedown\",this.mousedown),o.removeEventListener(z,\"touchstart\",this.touchstart,{passive:!1}),o.removeEventListener(z,\"touchmove\",this.touchmove),o.removeEventListener(z,\"touchend\",this.touchend),o.removeEventListener(z,\"touchcancel\",this.reset),this.offTemp()},Vn.prototype.offTemp=function(){o.enableDrag(),o.removeEventListener(i.window,\"mousemove\",this.mousemove),o.removeEventListener(i.window,\"mouseup\",this.mouseup)},Vn.prototype.mousedown=function(z){this.down(i.extend({},z,{ctrlKey:!0,preventDefault:function(){return z.preventDefault()}}),o.mousePos(this.element,z)),o.addEventListener(i.window,\"mousemove\",this.mousemove),o.addEventListener(i.window,\"mouseup\",this.mouseup)},Vn.prototype.mousemove=function(z){this.move(z,o.mousePos(this.element,z))},Vn.prototype.mouseup=function(z){this.mouseRotate.mouseupWindow(z),this.mousePitch&&this.mousePitch.mouseupWindow(z),this.offTemp()},Vn.prototype.touchstart=function(z){z.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=o.touchPos(this.element,z.targetTouches)[0],this.down({type:\"mousedown\",button:0,ctrlKey:!0,preventDefault:function(){return z.preventDefault()}},this._startPos))},Vn.prototype.touchmove=function(z){z.targetTouches.length!==1?this.reset():(this._lastPos=o.touchPos(this.element,z.targetTouches)[0],this.move({preventDefault:function(){return z.preventDefault()}},this._lastPos))},Vn.prototype.touchend=function(z){z.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),this.reset()},Vn.prototype.reset=function(){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()};function ma(Y,z,K){if(Y=new i.LngLat(Y.lng,Y.lat),z){var O=new i.LngLat(Y.lng-360,Y.lat),$=new i.LngLat(Y.lng+360,Y.lat),pe=K.locationPoint(Y).distSqr(z);K.locationPoint(O).distSqr(z)<pe?Y=O:K.locationPoint($).distSqr(z)<pe&&(Y=$)}for(;Math.abs(Y.lng-K.center.lng)>180;){var de=K.locationPoint(Y);if(de.x>=0&&de.y>=0&&de.x<=K.width&&de.y<=K.height)break;Y.lng>K.center.lng?Y.lng-=360:Y.lng+=360}return Y}var ro={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 Ao(Y,z,K){var O=Y.classList;for(var $ in ro)O.remove(\"mapboxgl-\"+K+\"-anchor-\"+$);O.add(\"mapboxgl-\"+K+\"-anchor-\"+z)}var Jn=function(Y){function z(K,O){if(Y.call(this),(K instanceof i.window.HTMLElement||O)&&(K=i.extend({element:K},O)),i.bindAll([\"_update\",\"_onMove\",\"_onUp\",\"_addDragHandler\",\"_onMapClick\",\"_onKeyPress\"],this),this._anchor=K&&K.anchor||\"center\",this._color=K&&K.color||\"#3FB1CE\",this._scale=K&&K.scale||1,this._draggable=K&&K.draggable||!1,this._clickTolerance=K&&K.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=K&&K.rotation||0,this._rotationAlignment=K&&K.rotationAlignment||\"auto\",this._pitchAlignment=K&&K.pitchAlignment&&K.pitchAlignment!==\"auto\"?K.pitchAlignment:this._rotationAlignment,!K||!K.element){this._defaultMarker=!0,this._element=o.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");var $=o.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),pe=41,de=27;$.setAttributeNS(null,\"display\",\"block\"),$.setAttributeNS(null,\"height\",pe+\"px\"),$.setAttributeNS(null,\"width\",de+\"px\"),$.setAttributeNS(null,\"viewBox\",\"0 0 \"+de+\" \"+pe);var Ie=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");Ie.setAttributeNS(null,\"stroke\",\"none\"),Ie.setAttributeNS(null,\"stroke-width\",\"1\"),Ie.setAttributeNS(null,\"fill\",\"none\"),Ie.setAttributeNS(null,\"fill-rule\",\"evenodd\");var $e=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");$e.setAttributeNS(null,\"fill-rule\",\"nonzero\");var pt=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");pt.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),pt.setAttributeNS(null,\"fill\",\"#000000\");for(var Kt=[{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\"}],ir=0,Jt=Kt;ir<Jt.length;ir+=1){var vt=Jt[ir],Pt=o.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");Pt.setAttributeNS(null,\"opacity\",\"0.04\"),Pt.setAttributeNS(null,\"cx\",\"10.5\"),Pt.setAttributeNS(null,\"cy\",\"5.80029008\"),Pt.setAttributeNS(null,\"rx\",vt.rx),Pt.setAttributeNS(null,\"ry\",vt.ry),pt.appendChild(Pt)}var Wt=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");Wt.setAttributeNS(null,\"fill\",this._color);var rr=o.createNS(\"http://www.w3.org/2000/svg\",\"path\");rr.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\"),Wt.appendChild(rr);var dr=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");dr.setAttributeNS(null,\"opacity\",\"0.25\"),dr.setAttributeNS(null,\"fill\",\"#000000\");var pr=o.createNS(\"http://www.w3.org/2000/svg\",\"path\");pr.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\"),dr.appendChild(pr);var kr=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");kr.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),kr.setAttributeNS(null,\"fill\",\"#FFFFFF\");var Ar=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");Ar.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");var gr=o.createNS(\"http://www.w3.org/2000/svg\",\"circle\");gr.setAttributeNS(null,\"fill\",\"#000000\"),gr.setAttributeNS(null,\"opacity\",\"0.25\"),gr.setAttributeNS(null,\"cx\",\"5.5\"),gr.setAttributeNS(null,\"cy\",\"5.5\"),gr.setAttributeNS(null,\"r\",\"5.4999962\");var Cr=o.createNS(\"http://www.w3.org/2000/svg\",\"circle\");Cr.setAttributeNS(null,\"fill\",\"#FFFFFF\"),Cr.setAttributeNS(null,\"cx\",\"5.5\"),Cr.setAttributeNS(null,\"cy\",\"5.5\"),Cr.setAttributeNS(null,\"r\",\"5.4999962\"),Ar.appendChild(gr),Ar.appendChild(Cr),$e.appendChild(pt),$e.appendChild(Wt),$e.appendChild(dr),$e.appendChild(kr),$e.appendChild(Ar),$.appendChild($e),$.setAttributeNS(null,\"height\",pe*this._scale+\"px\"),$.setAttributeNS(null,\"width\",de*this._scale+\"px\"),this._element.appendChild($),this._offset=i.Point.convert(K&&K.offset||[0,-14])}else this._element=K.element,this._offset=i.Point.convert(K&&K.offset||[0,0]);this._element.classList.add(\"mapboxgl-marker\"),this._element.addEventListener(\"dragstart\",function(cr){cr.preventDefault()}),this._element.addEventListener(\"mousedown\",function(cr){cr.preventDefault()}),Ao(this._element,this._anchor,\"marker\"),this._popup=null}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.addTo=function(O){return this.remove(),this._map=O,O.getCanvasContainer().appendChild(this._element),O.on(\"move\",this._update),O.on(\"moveend\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this},z.prototype.remove=function(){return this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler),this._map.off(\"mouseup\",this._onUp),this._map.off(\"touchend\",this._onUp),this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),delete this._map),o.remove(this._element),this._popup&&this._popup.remove(),this},z.prototype.getLngLat=function(){return this._lngLat},z.prototype.setLngLat=function(O){return this._lngLat=i.LngLat.convert(O),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},z.prototype.getElement=function(){return this._element},z.prototype.setPopup=function(O){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),O){if(!(\"offset\"in O.options)){var $=38.1,pe=13.5,de=Math.sqrt(Math.pow(pe,2)/2);O.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-$],\"bottom-left\":[de,($-pe+de)*-1],\"bottom-right\":[-de,($-pe+de)*-1],left:[pe,($-pe)*-1],right:[-pe,($-pe)*-1]}:this._offset}this._popup=O,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress)}return this},z.prototype._onKeyPress=function(O){var $=O.code,pe=O.charCode||O.keyCode;($===\"Space\"||$===\"Enter\"||pe===32||pe===13)&&this.togglePopup()},z.prototype._onMapClick=function(O){var $=O.originalEvent.target,pe=this._element;this._popup&&($===pe||pe.contains($))&&this.togglePopup()},z.prototype.getPopup=function(){return this._popup},z.prototype.togglePopup=function(){var O=this._popup;if(O)O.isOpen()?O.remove():O.addTo(this._map);else return this;return this},z.prototype._update=function(O){if(this._map){this._map.transform.renderWorldCopies&&(this._lngLat=ma(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);var $=\"\";this._rotationAlignment===\"viewport\"||this._rotationAlignment===\"auto\"?$=\"rotateZ(\"+this._rotation+\"deg)\":this._rotationAlignment===\"map\"&&($=\"rotateZ(\"+(this._rotation-this._map.getBearing())+\"deg)\");var pe=\"\";this._pitchAlignment===\"viewport\"||this._pitchAlignment===\"auto\"?pe=\"rotateX(0deg)\":this._pitchAlignment===\"map\"&&(pe=\"rotateX(\"+this._map.getPitch()+\"deg)\"),(!O||O.type===\"moveend\")&&(this._pos=this._pos.round()),o.setTransform(this._element,ro[this._anchor]+\" translate(\"+this._pos.x+\"px, \"+this._pos.y+\"px) \"+pe+\" \"+$)}},z.prototype.getOffset=function(){return this._offset},z.prototype.setOffset=function(O){return this._offset=i.Point.convert(O),this._update(),this},z.prototype._onMove=function(O){if(!this._isDragging){var $=this._clickTolerance||this._map._clickTolerance;this._isDragging=O.point.dist(this._pointerdownPos)>=$}this._isDragging&&(this._pos=O.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",this._state===\"pending\"&&(this._state=\"active\",this.fire(new i.Event(\"dragstart\"))),this.fire(new i.Event(\"drag\")))},z.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),this._state===\"active\"&&this.fire(new i.Event(\"dragend\")),this._state=\"inactive\"},z.prototype._addDragHandler=function(O){this._element.contains(O.originalEvent.target)&&(O.preventDefault(),this._positionDelta=O.point.sub(this._pos).add(this._offset),this._pointerdownPos=O.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))},z.prototype.setDraggable=function(O){return this._draggable=!!O,this._map&&(O?(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},z.prototype.isDraggable=function(){return this._draggable},z.prototype.setRotation=function(O){return this._rotation=O||0,this._update(),this},z.prototype.getRotation=function(){return this._rotation},z.prototype.setRotationAlignment=function(O){return this._rotationAlignment=O||\"auto\",this._update(),this},z.prototype.getRotationAlignment=function(){return this._rotationAlignment},z.prototype.setPitchAlignment=function(O){return this._pitchAlignment=O&&O!==\"auto\"?O:this._rotationAlignment,this._update(),this},z.prototype.getPitchAlignment=function(){return this._pitchAlignment},z}(i.Evented),Oa={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},_o;function Po(Y){_o!==void 0?Y(_o):i.window.navigator.permissions!==void 0?i.window.navigator.permissions.query({name:\"geolocation\"}).then(function(z){_o=z.state!==\"denied\",Y(_o)}):(_o=!!i.window.navigator.geolocation,Y(_o))}var Jo=0,Yl=!1,$c=function(Y){function z(K){Y.call(this),this.options=i.extend({},Oa,K),i.bindAll([\"_onSuccess\",\"_onError\",\"_onZoom\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\"],this)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.onAdd=function(O){return this._map=O,this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),Po(this._setupUI),this._container},z.prototype.onRemove=function(){this._geolocationWatchID!==void 0&&(i.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,Jo=0,Yl=!1},z.prototype._isOutOfMapMaxBounds=function(O){var $=this._map.getMaxBounds(),pe=O.coords;return $&&(pe.longitude<$.getWest()||pe.longitude>$.getEast()||pe.latitude<$.getSouth()||pe.latitude>$.getNorth())},z.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\");break}},z.prototype._onSuccess=function(O){if(this._map){if(this._isOutOfMapMaxBounds(O)){this._setErrorState(),this.fire(new i.Event(\"outofmaxbounds\",O)),this._updateMarker(),this._finish();return}if(this.options.trackUserLocation)switch(this._lastKnownPosition=O,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\");break}this.options.showUserLocation&&this._watchState!==\"OFF\"&&this._updateMarker(O),(!this.options.trackUserLocation||this._watchState===\"ACTIVE_LOCK\")&&this._updateCamera(O),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(new i.Event(\"geolocate\",O)),this._finish()}},z.prototype._updateCamera=function(O){var $=new i.LngLat(O.coords.longitude,O.coords.latitude),pe=O.coords.accuracy,de=this._map.getBearing(),Ie=i.extend({bearing:de},this.options.fitBoundsOptions);this._map.fitBounds($.toBounds(pe),Ie,{geolocateSource:!0})},z.prototype._updateMarker=function(O){if(O){var $=new i.LngLat(O.coords.longitude,O.coords.latitude);this._accuracyCircleMarker.setLngLat($).addTo(this._map),this._userLocationDotMarker.setLngLat($).addTo(this._map),this._accuracy=O.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},z.prototype._updateCircleRadius=function(){var O=this._map._container.clientHeight/2,$=this._map.unproject([0,O]),pe=this._map.unproject([1,O]),de=$.distanceTo(pe),Ie=Math.ceil(2*this._accuracy/de);this._circleElement.style.width=Ie+\"px\",this._circleElement.style.height=Ie+\"px\"},z.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},z.prototype._onError=function(O){if(this._map){if(this.options.trackUserLocation)if(O.code===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._geolocateButton.disabled=!0;var $=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=$,this._geolocateButton.setAttribute(\"aria-label\",$),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(O.code===3&&Yl)return;this._setErrorState()}this._watchState!==\"OFF\"&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(new i.Event(\"error\",O)),this._finish()}},z.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},z.prototype._setupUI=function(O){var $=this;if(this._container.addEventListener(\"contextmenu\",function(Ie){return Ie.preventDefault()}),this._geolocateButton=o.create(\"button\",\"mapboxgl-ctrl-geolocate\",this._container),o.create(\"span\",\"mapboxgl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",!0),this._geolocateButton.type=\"button\",O===!1){i.warnOnce(\"Geolocation support is not available so the GeolocateControl will be disabled.\");var pe=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=pe,this._geolocateButton.setAttribute(\"aria-label\",pe)}else{var de=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=de,this._geolocateButton.setAttribute(\"aria-label\",de)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=o.create(\"div\",\"mapboxgl-user-location-dot\"),this._userLocationDotMarker=new Jn(this._dotElement),this._circleElement=o.create(\"div\",\"mapboxgl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Jn({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(Ie){var $e=Ie.originalEvent&&Ie.originalEvent.type===\"resize\";!Ie.geolocateSource&&$._watchState===\"ACTIVE_LOCK\"&&!$e&&($._watchState=\"BACKGROUND\",$._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),$._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),$.fire(new i.Event(\"trackuserlocationend\")))})},z.prototype.trigger=function(){if(!this._setup)return i.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 i.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":Jo--,Yl=!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 i.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 i.Event(\"trackuserlocationstart\"));break}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\");break}if(this._watchState===\"OFF\"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),Jo++;var O;Jo>1?(O={maximumAge:6e5,timeout:0},Yl=!0):(O=this.options.positionOptions,Yl=!1),this._geolocationWatchID=i.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,O)}}else i.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},z.prototype._clearWatch=function(){i.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)},z}(i.Evented),xs={maxWidth:100,unit:\"metric\"},Qc=function(z){this.options=i.extend({},xs,z),i.bindAll([\"_onMove\",\"setUnit\"],this)};Qc.prototype.getDefaultPosition=function(){return\"bottom-left\"},Qc.prototype._onMove=function(){El(this._map,this._container,this.options)},Qc.prototype.onAdd=function(z){return this._map=z,this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",z.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},Qc.prototype.onRemove=function(){o.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},Qc.prototype.setUnit=function(z){this.options.unit=z,El(this._map,this._container,this.options)};function El(Y,z,K){var O=K&&K.maxWidth||100,$=Y._container.clientHeight/2,pe=Y.unproject([0,$]),de=Y.unproject([O,$]),Ie=pe.distanceTo(de);if(K&&K.unit===\"imperial\"){var $e=3.2808*Ie;if($e>5280){var pt=$e/5280;bc(z,O,pt,Y._getUIString(\"ScaleControl.Miles\"))}else bc(z,O,$e,Y._getUIString(\"ScaleControl.Feet\"))}else if(K&&K.unit===\"nautical\"){var Kt=Ie/1852;bc(z,O,Kt,Y._getUIString(\"ScaleControl.NauticalMiles\"))}else Ie>=1e3?bc(z,O,Ie/1e3,Y._getUIString(\"ScaleControl.Kilometers\")):bc(z,O,Ie,Y._getUIString(\"ScaleControl.Meters\"))}function bc(Y,z,K,O){var $=yf(K),pe=$/K;Y.style.width=z*pe+\"px\",Y.innerHTML=$+\" \"+O}function wc(Y){var z=Math.pow(10,Math.ceil(-Math.log(Y)/Math.LN10));return Math.round(Y*z)/z}function yf(Y){var z=Math.pow(10,(\"\"+Math.floor(Y)).length-1),K=Y/z;return K=K>=10?10:K>=5?5:K>=3?3:K>=2?2:K>=1?1:wc(K),z*K}var Gl=function(z){this._fullscreen=!1,z&&z.container&&(z.container instanceof i.window.HTMLElement?this._container=z.container:i.warnOnce(\"Full screen control 'container' must be a DOM element.\")),i.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in i.window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in i.window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in i.window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in i.window.document&&(this._fullscreenchange=\"MSFullscreenChange\")};Gl.prototype.onAdd=function(z){return this._map=z,this._container||(this._container=this._map.getContainer()),this._controlContainer=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display=\"none\",i.warnOnce(\"This device does not support fullscreen mode.\")),this._controlContainer},Gl.prototype.onRemove=function(){o.remove(this._controlContainer),this._map=null,i.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Gl.prototype._checkFullscreenSupport=function(){return!!(i.window.document.fullscreenEnabled||i.window.document.mozFullScreenEnabled||i.window.document.msFullscreenEnabled||i.window.document.webkitFullscreenEnabled)},Gl.prototype._setupUI=function(){var z=this._fullscreenButton=o.create(\"button\",\"mapboxgl-ctrl-fullscreen\",this._controlContainer);o.create(\"span\",\"mapboxgl-ctrl-icon\",z).setAttribute(\"aria-hidden\",!0),z.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),i.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},Gl.prototype._updateTitle=function(){var z=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",z),this._fullscreenButton.title=z},Gl.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")},Gl.prototype._isFullscreen=function(){return this._fullscreen},Gl.prototype._changeIcon=function(){var z=i.window.document.fullscreenElement||i.window.document.mozFullScreenElement||i.window.document.webkitFullscreenElement||i.window.document.msFullscreenElement;z===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-fullscreen\"),this._updateTitle())},Gl.prototype._onClickFullscreen=function(){this._isFullscreen()?i.window.document.exitFullscreen?i.window.document.exitFullscreen():i.window.document.mozCancelFullScreen?i.window.document.mozCancelFullScreen():i.window.document.msExitFullscreen?i.window.document.msExitFullscreen():i.window.document.webkitCancelFullScreen&&i.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 Fc={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\"},ef=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \"),ls=function(Y){function z(K){Y.call(this),this.options=i.extend(Object.create(Fc),K),i.bindAll([\"_update\",\"_onClose\",\"remove\",\"_onMouseMove\",\"_onMouseUp\",\"_onDrag\"],this)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.addTo=function(O){return this._map&&this.remove(),this._map=O,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 i.Event(\"open\")),this},z.prototype.isOpen=function(){return!!this._map},z.prototype.remove=function(){return 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),delete this._map),this.fire(new i.Event(\"close\")),this},z.prototype.getLngLat=function(){return this._lngLat},z.prototype.setLngLat=function(O){return this._lngLat=i.LngLat.convert(O),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},z.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},z.prototype.getElement=function(){return this._container},z.prototype.setText=function(O){return this.setDOMContent(i.window.document.createTextNode(O))},z.prototype.setHTML=function(O){var $=i.window.document.createDocumentFragment(),pe=i.window.document.createElement(\"body\"),de;for(pe.innerHTML=O;de=pe.firstChild,!!de;)$.appendChild(de);return this.setDOMContent($)},z.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},z.prototype.setMaxWidth=function(O){return this.options.maxWidth=O,this._update(),this},z.prototype.setDOMContent=function(O){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=o.create(\"div\",\"mapboxgl-popup-content\",this._container);return this._content.appendChild(O),this._createCloseButton(),this._update(),this._focusFirstElement(),this},z.prototype.addClassName=function(O){this._container&&this._container.classList.add(O)},z.prototype.removeClassName=function(O){this._container&&this._container.classList.remove(O)},z.prototype.setOffset=function(O){return this.options.offset=O,this._update(),this},z.prototype.toggleClassName=function(O){if(this._container)return this._container.classList.toggle(O)},z.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=o.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))},z.prototype._onMouseUp=function(O){this._update(O.point)},z.prototype._onMouseMove=function(O){this._update(O.point)},z.prototype._onDrag=function(O){this._update(O.point)},z.prototype._update=function(O){var $=this,pe=this._lngLat||this._trackPointer;if(!(!this._map||!pe||!this._content)&&(this._container||(this._container=o.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=o.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(\" \").forEach(function(vt){return $._container.classList.add(vt)}),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=ma(this._lngLat,this._pos,this._map.transform)),!(this._trackPointer&&!O))){var de=this._pos=this._trackPointer&&O?O:this._map.project(this._lngLat),Ie=this.options.anchor,$e=_f(this.options.offset);if(!Ie){var pt=this._container.offsetWidth,Kt=this._container.offsetHeight,ir;de.y+$e.bottom.y<Kt?ir=[\"top\"]:de.y>this._map.transform.height-Kt?ir=[\"bottom\"]:ir=[],de.x<pt/2?ir.push(\"left\"):de.x>this._map.transform.width-pt/2&&ir.push(\"right\"),ir.length===0?Ie=\"bottom\":Ie=ir.join(\"-\")}var Jt=de.add($e[Ie]).round();o.setTransform(this._container,ro[Ie]+\" translate(\"+Jt.x+\"px,\"+Jt.y+\"px)\"),Ao(this._container,Ie,\"popup\")}},z.prototype._focusFirstElement=function(){if(!(!this.options.focusAfterOpen||!this._container)){var O=this._container.querySelector(ef);O&&O.focus()}},z.prototype._onClose=function(){this.remove()},z}(i.Evented);function _f(Y){if(Y)if(typeof Y==\"number\"){var z=Math.round(Math.sqrt(.5*Math.pow(Y,2)));return{center:new i.Point(0,0),top:new i.Point(0,Y),\"top-left\":new i.Point(z,z),\"top-right\":new i.Point(-z,z),bottom:new i.Point(0,-Y),\"bottom-left\":new i.Point(z,-z),\"bottom-right\":new i.Point(-z,-z),left:new i.Point(Y,0),right:new i.Point(-Y,0)}}else if(Y instanceof i.Point||Array.isArray(Y)){var K=i.Point.convert(Y);return{center:K,top:K,\"top-left\":K,\"top-right\":K,bottom:K,\"bottom-left\":K,\"bottom-right\":K,left:K,right:K}}else return{center:i.Point.convert(Y.center||[0,0]),top:i.Point.convert(Y.top||[0,0]),\"top-left\":i.Point.convert(Y[\"top-left\"]||[0,0]),\"top-right\":i.Point.convert(Y[\"top-right\"]||[0,0]),bottom:i.Point.convert(Y.bottom||[0,0]),\"bottom-left\":i.Point.convert(Y[\"bottom-left\"]||[0,0]),\"bottom-right\":i.Point.convert(Y[\"bottom-right\"]||[0,0]),left:i.Point.convert(Y.left||[0,0]),right:i.Point.convert(Y.right||[0,0])};else return _f(new i.Point(0,0))}var ns={version:i.version,supported:a,setRTLTextPlugin:i.setRTLTextPlugin,getRTLTextPluginStatus:i.getRTLTextPluginStatus,Map:vn,NavigationControl:Xn,GeolocateControl:$c,AttributionControl:Rn,ScaleControl:Qc,FullscreenControl:Gl,Popup:ls,Marker:Jn,Style:mu,LngLat:i.LngLat,LngLatBounds:i.LngLatBounds,Point:i.Point,MercatorCoordinate:i.MercatorCoordinate,Evented:i.Evented,config:i.config,prewarm:jn,clearPrewarmedResources:la,get accessToken(){return i.config.ACCESS_TOKEN},set accessToken(Y){i.config.ACCESS_TOKEN=Y},get baseApiUrl(){return i.config.API_URL},set baseApiUrl(Y){i.config.API_URL=Y},get workerCount(){return Pi.workerCount},set workerCount(Y){Pi.workerCount=Y},get maxParallelImageRequests(){return i.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(Y){i.config.MAX_PARALLEL_IMAGE_REQUESTS=Y},clearStorage:function(z){i.clearTileCache(z)},workerUrl:\"\"};return ns}),r})});var JUe=ye((Byr,KUe)=>{\"use strict\";var tw=Mr(),CHt=Pl().sanitizeHTML,LHt=HK(),ZUe=c1();function XUe(e,t){this.subplot=e,this.uid=e.uid+\"-\"+t,this.index=t,this.idSource=\"source-\"+this.uid,this.idLayer=ZUe.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var ig=XUe.prototype;ig.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=WF(t)};ig.needsNewImage=function(e){var t=this.subplot.map;return t.getSource(this.idSource)&&this.sourceType===\"image\"&&e.sourcetype===\"image\"&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))};ig.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type};ig.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]};ig.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]};ig.updateImage=function(e){var t=this.subplot.map;t.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var r=this.findFollowingMapboxLayerId(this.lookupBelow());r!==null&&this.subplot.map.moveLayer(this.idLayer,r)};ig.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,!!WF(e)){var r=PHt(e);t.addSource(this.idSource,r)}};ig.findFollowingMapboxLayerId=function(e){if(e===\"traces\")for(var t=this.subplot.getMapLayers(),r=0;r<t.length;r++){var n=t[r].id;if(typeof n==\"string\"&&n.indexOf(ZUe.traceLayerPrefix)===0){e=n;break}}return e};ig.updateLayer=function(e){var t=this.subplot,r=YUe(e),n=this.lookupBelow(),i=this.findFollowingMapboxLayerId(n);this.removeLayer(),WF(e)&&t.addLayer({id:this.idLayer,source:this.idSource,\"source-layer\":e.sourcelayer||\"\",type:e.type,minzoom:e.minzoom,maxzoom:e.maxzoom,layout:r.layout,paint:r.paint},i),this.layerType=e.type,this.below=n};ig.updateStyle=function(e){if(WF(e)){var t=YUe(e);this.subplot.setOptions(this.idLayer,\"setLayoutProperty\",t.layout),this.subplot.setOptions(this.idLayer,\"setPaintProperty\",t.paint)}};ig.removeLayer=function(){var e=this.subplot.map;e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer)};ig.dispose=function(){var e=this.subplot.map;e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer),e.getSource(this.idSource)&&e.removeSource(this.idSource)};function WF(e){if(!e.visible)return!1;var t=e.source;if(Array.isArray(t)&&t.length>0){for(var r=0;r<t.length;r++)if(typeof t[r]!=\"string\"||t[r].length===0)return!1;return!0}return tw.isPlainObject(t)||typeof t==\"string\"&&t.length>0}function YUe(e){var t={},r={};switch(e.type){case\"circle\":tw.extendFlat(r,{\"circle-radius\":e.circle.radius,\"circle-color\":e.color,\"circle-opacity\":e.opacity});break;case\"line\":tw.extendFlat(r,{\"line-width\":e.line.width,\"line-color\":e.color,\"line-opacity\":e.opacity,\"line-dasharray\":e.line.dash});break;case\"fill\":tw.extendFlat(r,{\"fill-color\":e.color,\"fill-outline-color\":e.fill.outlinecolor,\"fill-opacity\":e.opacity});break;case\"symbol\":var n=e.symbol,i=LHt(n.textposition,n.iconsize);tw.extendFlat(t,{\"icon-image\":n.icon+\"-15\",\"icon-size\":n.iconsize/10,\"text-field\":n.text,\"text-size\":n.textfont.size,\"text-anchor\":i.anchor,\"text-offset\":i.offset,\"symbol-placement\":n.placement}),tw.extendFlat(r,{\"icon-color\":e.color,\"text-color\":n.textfont.color,\"text-opacity\":e.opacity});break;case\"raster\":tw.extendFlat(r,{\"raster-fade-duration\":0,\"raster-opacity\":e.opacity});break}return{layout:t,paint:r}}function PHt(e){var t=e.sourcetype,r=e.source,n={type:t},i;return t===\"geojson\"?i=\"data\":t===\"vector\"?i=typeof r==\"string\"?\"url\":\"tiles\":t===\"raster\"?(i=\"tiles\",n.tileSize=256):t===\"image\"&&(i=\"url\",n.coordinates=e.coordinates),n[i]=r,e.sourceattribution&&(n.attribution=CHt(e.sourceattribution)),n}KUe.exports=function(t,r,n){var i=new XUe(t,r);return i.update(n),i}});var oVe=ye((Nyr,aVe)=>{\"use strict\";var KK=YK(),JK=Mr(),tVe=nx(),$Ue=ba(),IHt=Qa(),RHt=gv(),ZF=Nc(),rVe=Sg(),DHt=rVe.drawMode,zHt=rVe.selectMode,FHt=wf().prepSelect,qHt=wf().clearOutline,OHt=wf().clearSelectionsCache,BHt=wf().selectOnClick,_x=c1(),NHt=JUe();function iVe(e,t){this.id=t,this.gd=e;var r=e._fullLayout,n=e._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+\"-\"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var Ah=iVe.prototype;Ah.plot=function(e,t,r){var n=this,i=t[n.id];n.map&&i.accesstoken!==n.accessToken&&(n.map.remove(),n.map=null,n.styleObj=null,n.traceHash={},n.layerList=[]);var a;n.map?a=new Promise(function(o,s){n.updateMap(e,t,o,s)}):a=new Promise(function(o,s){n.createMap(e,t,o,s)}),r.push(a)};Ah.createMap=function(e,t,r,n){var i=this,a=t[i.id],o=i.styleObj=nVe(a.style,t);i.accessToken=a.accesstoken;var s=a.bounds,l=s?[[s.west,s.south],[s.east,s.north]]:null,u=i.map=new KK.Map({container:i.div,style:o.style,center:$K(a.center),zoom:a.zoom,bearing:a.bearing,pitch:a.pitch,maxBounds:l,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new KK.AttributionControl({compact:!0}));u._canvas.style.left=\"0px\",u._canvas.style.top=\"0px\",i.rejectOnError(n),i.isStatic||i.initFx(e,t);var c=[];c.push(new Promise(function(f){u.once(\"load\",f)})),c=c.concat(tVe.fetchTraceGeoData(e)),Promise.all(c).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Ah.updateMap=function(e,t,r,n){var i=this,a=i.map,o=t[this.id];i.rejectOnError(n);var s=[],l=nVe(o.style,t);JSON.stringify(i.styleObj)!==JSON.stringify(l)&&(i.styleObj=l,a.setStyle(l.style),i.traceHash={},s.push(new Promise(function(u){a.once(\"styledata\",u)}))),s=s.concat(tVe.fetchTraceGeoData(e)),Promise.all(s).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Ah.fillBelowLookup=function(e,t){var r=t[this.id],n=r.layers,i,a,o=this.belowLookup={},s=!1;for(i=0;i<e.length;i++){var l=e[i][0].trace,u=l._module;typeof l.below==\"string\"?a=l.below:u.getBelow&&(a=u.getBelow(l,this)),a===\"\"&&(s=!0),o[\"trace-\"+l.uid]=a||\"\"}for(i=0;i<n.length;i++){var c=n[i];typeof c.below==\"string\"?a=c.below:s?a=\"traces\":a=\"\",o[\"layout-\"+i]=a}var f={},h,d;for(h in o)a=o[h],f[a]?f[a].push(h):f[a]=[h];for(a in f){var v=f[a];if(v.length>1)for(i=0;i<v.length;i++)h=v[i],h.indexOf(\"trace-\")===0?(d=h.split(\"trace-\")[1],this.traceHash[d]&&(this.traceHash[d].below=null)):h.indexOf(\"layout-\")===0&&(d=h.split(\"layout-\")[1],this.layerList[d]&&(this.layerList[d].below=null))}};var QUe={choroplethmapbox:0,densitymapbox:1,scattermapbox:2};Ah.updateData=function(e){var t=this.traceHash,r,n,i,a,o=e.slice().sort(function(f,h){return QUe[f[0].trace.type]-QUe[h[0].trace.type]});for(i=0;i<o.length;i++){var s=o[i];n=s[0].trace,r=t[n.uid];var l=!1;r&&(r.type===n.type?(r.update(s),l=!0):r.dispose()),!l&&n._module&&(t[n.uid]=n._module.plot(this,s))}var u=Object.keys(t);e:for(i=0;i<u.length;i++){var c=u[i];for(a=0;a<e.length;a++)if(n=e[a][0].trace,c===n.uid)continue e;r=t[c],r.dispose(),delete t[c]}};Ah.updateLayout=function(e){var t=this.map,r=e[this.id];!this.dragging&&!this.wheeling&&(t.setCenter($K(r.center)),t.setZoom(r.zoom),t.setBearing(r.bearing),t.setPitch(r.pitch)),this.updateLayers(e),this.updateFramework(e),this.updateFx(e),this.map.resize(),this.gd._context._scrollZoom.mapbox?t.scrollZoom.enable():t.scrollZoom.disable()};Ah.resolveOnRender=function(e){var t=this.map;t.on(\"render\",function r(){t.loaded()&&(t.off(\"render\",r),setTimeout(e,10))})};Ah.rejectOnError=function(e){var t=this.map;function r(){e(new Error(_x.mapOnErrorMsg))}t.once(\"error\",r),t.once(\"style.error\",r),t.once(\"source.error\",r),t.once(\"tile.error\",r),t.once(\"layer.error\",r)};Ah.createFramework=function(e){var t=this,r=t.div=document.createElement(\"div\");r.id=t.uid,r.style.position=\"absolute\",t.container.appendChild(r),t.xaxis={_id:\"x\",c2p:function(n){return t.project(n).x}},t.yaxis={_id:\"y\",c2p:function(n){return t.project(n).y}},t.updateFramework(e),t.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},IHt.setConvert(t.mockAxis,e)};Ah.initFx=function(e,t){var r=this,n=r.gd,i=r.map;i.on(\"moveend\",function(s){if(r.map){var l=n._fullLayout;if(s.originalEvent||r.wheeling){var u=l[r.id];$Ue.call(\"_storeDirectGUIEdit\",n.layout,l._preGUI,r.getViewEdits(u));var c=r.getView();u._input.center=u.center=c.center,u._input.zoom=u.zoom=c.zoom,u._input.bearing=u.bearing=c.bearing,u._input.pitch=u.pitch=c.pitch,n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(c))}s.originalEvent&&s.originalEvent.type===\"mouseup\"?r.dragging=!1:r.wheeling&&(r.wheeling=!1),l._rehover&&l._rehover()}}),i.on(\"wheel\",function(){r.wheeling=!0}),i.on(\"mousemove\",function(s){var l=r.div.getBoundingClientRect(),u=[s.originalEvent.offsetX,s.originalEvent.offsetY];s.target.getBoundingClientRect=function(){return l},r.xaxis.p2c=function(){return i.unproject(u).lng},r.yaxis.p2c=function(){return i.unproject(u).lat},n._fullLayout._rehover=function(){n._fullLayout._hoversubplot===r.id&&n._fullLayout[r.id]&&ZF.hover(n,s,r.id)},ZF.hover(n,s,r.id),n._fullLayout._hoversubplot=r.id});function a(){ZF.loneUnhover(t._hoverlayer)}i.on(\"dragstart\",function(){r.dragging=!0,a()}),i.on(\"zoomstart\",a),i.on(\"mouseout\",function(){n._fullLayout._hoversubplot=null});function o(){var s=r.getView();n.emit(\"plotly_relayouting\",r.getViewEditsWithDerived(s))}i.on(\"drag\",o),i.on(\"zoom\",o),i.on(\"dblclick\",function(){var s=n._fullLayout[r.id];$Ue.call(\"_storeDirectGUIEdit\",n.layout,n._fullLayout._preGUI,r.getViewEdits(s));var l=r.viewInitial;i.setCenter($K(l.center)),i.setZoom(l.zoom),i.setBearing(l.bearing),i.setPitch(l.pitch);var u=r.getView();s._input.center=s.center=u.center,s._input.zoom=s.zoom=u.zoom,s._input.bearing=s.bearing=u.bearing,s._input.pitch=s.pitch=u.pitch,n.emit(\"plotly_doubleclick\",null),n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(u))}),r.clearOutline=function(){OHt(r.dragOptions),qHt(r.dragOptions.gd)},r.onClickInPanFn=function(s){return function(l){var u=n._fullLayout.clickmode;u.indexOf(\"select\")>-1&&BHt(l.originalEvent,n,[r.xaxis],[r.yaxis],r.id,s),u.indexOf(\"event\")>-1&&ZF.click(n,l.originalEvent)}}};Ah.updateFx=function(e){var t=this,r=t.map,n=t.gd;if(t.isStatic)return;function i(l){var u=t.map.unproject(l);return[u.lng,u.lat]}var a=e.dragmode,o;o=function(l,u){if(u.isRect){var c=l.range={};c[t.id]=[i([u.xmin,u.ymin]),i([u.xmax,u.ymax])]}else{var f=l.lassoPoints={};f[t.id]=u.map(i)}};var s=t.dragOptions;t.dragOptions=JK.extendDeep(s||{},{dragmode:e.dragmode,element:t.div,gd:n,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:o},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off(\"click\",t.onClickInPanHandler),zHt(a)||DHt(a)?(r.dragPan.disable(),r.on(\"zoomstart\",t.clearOutline),t.dragOptions.prepFn=function(l,u,c){FHt(l,u,c,t.dragOptions,a)},RHt.init(t.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener(\"touchstart\",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on(\"click\",t.onClickInPanHandler))};Ah.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+\"px\",n.height=r.h*(t.y[1]-t.y[0])+\"px\",n.left=r.l+t.x[0]*r.w+\"px\",n.top=r.t+(1-t.y[1])*r.h+\"px\",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])};Ah.updateLayers=function(e){var t=e[this.id],r=t.layers,n=this.layerList,i;if(r.length!==n.length){for(i=0;i<n.length;i++)n[i].dispose();for(n=this.layerList=[],i=0;i<r.length;i++)n.push(NHt(this,i,r[i]))}else for(i=0;i<r.length;i++)n[i].update(r[i])};Ah.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))};Ah.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()};Ah.setOptions=function(e,t,r){for(var n in r)this.map[t](e,n,r[n])};Ah.getMapLayers=function(){return this.map.getStyle().layers};Ah.addLayer=function(e,t){var r=this.map;if(typeof t==\"string\"){if(t===\"\"){r.addLayer(e,t);return}for(var n=this.getMapLayers(),i=0;i<n.length;i++)if(t===n[i].id){r.addLayer(e,t);return}JK.warn([\"Trying to add layer with *below* value\",t,\"referencing a layer that does not exist\",\"or that does not yet exist.\"].join(\" \"))}r.addLayer(e)};Ah.project=function(e){return this.map.project(new KK.LngLat(e[0],e[1]))};Ah.getView=function(){var e=this.map,t=e.getCenter(),r=t.lng,n=t.lat,i={lon:r,lat:n},a=e.getCanvas(),o=parseInt(a.style.width),s=parseInt(a.style.height);return{center:i,zoom:e.getZoom(),bearing:e.getBearing(),pitch:e.getPitch(),_derived:{coordinates:[e.unproject([0,0]).toArray(),e.unproject([o,0]).toArray(),e.unproject([o,s]).toArray(),e.unproject([0,s]).toArray()]}}};Ah.getViewEdits=function(e){for(var t=this.id,r=[\"center\",\"zoom\",\"bearing\",\"pitch\"],n={},i=0;i<r.length;i++){var a=r[i];n[t+\".\"+a]=e[a]}return n};Ah.getViewEditsWithDerived=function(e){var t=this.id,r=this.getViewEdits(e);return r[t+\"._derived\"]=e._derived,r};function nVe(e,t){var r={};if(JK.isPlainObject(e))r.id=e.id,r.style=e;else if(typeof e==\"string\")if(r.id=e,_x.styleValuesMapbox.indexOf(e)!==-1)r.style=eVe(e);else if(_x.stylesNonMapbox[e]){r.style=_x.stylesNonMapbox[e];var n=r.style.sources[\"plotly-\"+e],i=n?n.tiles:void 0;i&&i[0]&&i[0].slice(-9)===\"?api_key=\"&&(i[0]+=t._mapboxAccessToken)}else r.style=e;else r.id=_x.styleValueDflt,r.style=eVe(_x.styleValueDflt);return r.transition={duration:0,delay:0},r}function eVe(e){return _x.styleUrlPrefix+e+\"-\"+_x.styleUrlSuffix}function $K(e){return[e.lon,e.lat]}aVe.exports=iVe});var uVe=ye((Uyr,lVe)=>{\"use strict\";var QK=Mr(),UHt=C_(),VHt=Zd(),sVe=Rk();lVe.exports=function(t,r,n){UHt(t,r,n,{type:\"mapbox\",attributes:sVe,handleDefaults:HHt,partition:\"y\",accessToken:r._mapboxAccessToken})};function HHt(e,t,r,n){r(\"accesstoken\",n.accessToken),r(\"style\"),r(\"center.lon\"),r(\"center.lat\"),r(\"zoom\"),r(\"bearing\"),r(\"pitch\");var i=r(\"bounds.west\"),a=r(\"bounds.east\"),o=r(\"bounds.south\"),s=r(\"bounds.north\");(i===void 0||a===void 0||o===void 0||s===void 0)&&delete t.bounds,VHt(e,t,{name:\"layers\",handleItemDefaults:GHt}),t._input=e}function GHt(e,t){function r(l,u){return QK.coerce(e,t,sVe.layers,l,u)}var n=r(\"visible\");if(n){var i=r(\"sourcetype\"),a=i===\"raster\"||i===\"image\";r(\"source\"),r(\"sourceattribution\"),i===\"vector\"&&r(\"sourcelayer\"),i===\"image\"&&r(\"coordinates\");var o;a&&(o=\"raster\");var s=r(\"type\",o);a&&s!==\"raster\"&&(s=t.type=\"raster\",QK.log(\"Source types *raster* and *image* must drawn *raster* layer type.\")),r(\"below\"),r(\"color\"),r(\"opacity\"),r(\"minzoom\"),r(\"maxzoom\"),s===\"circle\"&&r(\"circle.radius\"),s===\"line\"&&(r(\"line.width\"),r(\"line.dash\")),s===\"fill\"&&r(\"fill.outlinecolor\"),s===\"symbol\"&&(r(\"symbol.icon\"),r(\"symbol.iconsize\"),r(\"symbol.text\"),QK.coerceFont(r,\"symbol.textfont\",void 0,{noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}),r(\"symbol.textposition\"),r(\"symbol.placement\"))}}});var XF=ye(Np=>{\"use strict\";var cVe=YK(),tm=Mr(),eJ=tm.strTranslate,jHt=tm.strScale,WHt=kd().getSubplotCalcData,ZHt=Zp(),XHt=xa(),fVe=ao(),YHt=Pl(),KHt=oVe(),xx=\"mapbox\",Qm=Np.constants=c1();Np.name=xx;Np.attr=\"subplot\";Np.idRoot=xx;Np.idRegex=Np.attrRegex=tm.counterRegex(xx);var JHt=[\"mapbox subplots and traces are deprecated!\",\"Please consider switching to `map` subplots and traces.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");Np.attributes={subplot:{valType:\"subplotid\",dflt:\"mapbox\",editType:\"calc\"}};Np.layoutAttributes=Rk();Np.supplyLayoutDefaults=uVe();var hVe=!0;Np.plot=function(t){hVe&&(hVe=!1,tm.warn(JHt));var r=t._fullLayout,n=t.calcdata,i=r._subplots[xx];if(cVe.version!==Qm.requiredVersion)throw new Error(Qm.wrongVersionErrorMsg);var a=$Ht(t,i);cVe.accessToken=a;for(var o=0;o<i.length;o++){var s=i[o],l=WHt(n,xx,s),u=r[s],c=u._subplot;c||(c=new KHt(t,s),r[s]._subplot=c),c.viewInitial||(c.viewInitial={center:tm.extendFlat({},u.center),zoom:u.zoom,bearing:u.bearing,pitch:u.pitch}),c.plot(l,r,t._promises)}};Np.clean=function(e,t,r,n){for(var i=n._subplots[xx]||[],a=0;a<i.length;a++){var o=i[a];!t[o]&&n[o]._subplot&&n[o]._subplot.destroy()}};Np.toSVG=function(e){for(var t=e._fullLayout,r=t._subplots[xx],n=t._size,i=0;i<r.length;i++){var a=t[r[i]],o=a.domain,s=a._subplot,l=s.toImage(\"png\"),u=t._glimages.append(\"svg:image\");u.attr({xmlns:ZHt.svg,\"xlink:href\":l,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"});var c=XHt.select(a._subplot.div),f=c.select(\".mapboxgl-ctrl-logo\").node().offsetParent===null;if(!f){var h=t._glimages.append(\"g\");h.attr(\"transform\",eJ(n.l+n.w*o.x[0]+10,n.t+n.h*(1-o.y[0])-31)),h.append(\"path\").attr(\"d\",Qm.mapboxLogo.path0).style({opacity:.9,fill:\"#ffffff\",\"enable-background\":\"new\"}),h.append(\"path\").attr(\"d\",Qm.mapboxLogo.path1).style(\"opacity\",.35).style(\"enable-background\",\"new\"),h.append(\"path\").attr(\"d\",Qm.mapboxLogo.path2).style(\"opacity\",.35).style(\"enable-background\",\"new\"),h.append(\"polygon\").attr(\"points\",Qm.mapboxLogo.polygon).style({opacity:.9,fill:\"#ffffff\",\"enable-background\":\"new\"})}var d=c.select(\".mapboxgl-ctrl-attrib\").text().replace(\"Improve this map\",\"\"),v=t._glimages.append(\"g\"),x=v.append(\"text\");x.text(d).classed(\"static-attribution\",!0).attr({\"font-size\":12,\"font-family\":\"Arial\",color:\"rgba(0, 0, 0, 0.75)\",\"text-anchor\":\"end\",\"data-unformatted\":d});var b=fVe.bBox(x.node()),p=n.w*(o.x[1]-o.x[0]);if(b.width>p/2){var E=d.split(\"|\").join(\"<br>\");x.text(E).attr(\"data-unformatted\",E).call(YHt.convertToTspans,e),b=fVe.bBox(x.node())}x.attr(\"transform\",eJ(-3,-b.height+8)),v.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>p&&(k=p/(b.width+6));var A=[n.l+n.w*o.x[1],n.t+n.h*(1-o.y[0])];v.attr(\"transform\",eJ(A[0],A[1])+jHt(k))}};function $Ht(e,t){var r=e._fullLayout,n=e._context;if(n.mapboxAccessToken===\"\")return\"\";for(var i=[],a=[],o=!1,s=!1,l=0;l<t.length;l++){var u=r[t[l]],c=u.accesstoken;dVe(u.style)&&(c?tm.pushUnique(i,c):(dVe(u._input.style)&&(tm.error(\"Uses Mapbox map style, but did not set an access token.\"),o=!0),s=!0)),c&&tm.pushUnique(a,c)}if(s){var f=o?Qm.noAccessTokenErrorMsg:Qm.missingStyleErrorMsg;throw tm.error(f),new Error(f)}return i.length?(i.length>1&&tm.warn(Qm.multipleTokensErrorMsg),i[0]):(a.length&&tm.log([\"Listed mapbox access token(s)\",a.join(\",\"),\"but did not use a Mapbox map style, ignoring token(s).\"].join(\" \")),\"\")}function dVe(e){return typeof e==\"string\"&&(Qm.styleValuesMapbox.indexOf(e)!==-1||e.indexOf(\"mapbox://\")===0||e.indexOf(\"stamen\")===0)}Np.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[xx],n=0;n<r.length;n++){var i=t[r[n]]._subplot;i.updateFx(t)}}});var pVe=ye((Gyr,vVe)=>{\"use strict\";var Hyr=[\"*scattermapbox* trace is deprecated!\",\"Please consider switching to the *scattermap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");vVe.exports={attributes:NF(),supplyDefaults:MUe(),colorbar:Kd(),formatLabels:VK(),calc:lz(),plot:NUe(),hoverPoints:jF().hoverPoints,eventData:GUe(),selectPoints:WUe(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.update(t)}},moduleType:\"trace\",name:\"scattermapbox\",basePlotModule:XF(),categories:[\"mapbox\",\"gl\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var mVe=ye((jyr,gVe)=>{\"use strict\";gVe.exports=pVe()});var tJ=ye((Wyr,yVe)=>{\"use strict\";var f1=K5(),QHt=Jl(),eGt=Wo().hovertemplateAttrs,tGt=vl(),bx=no().extendFlat;yVe.exports=bx({locations:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:bx({},f1.featureidkey,{}),below:{valType:\"string\",editType:\"plot\"},text:f1.text,hovertext:f1.hovertext,marker:{line:{color:bx({},f1.marker.line.color,{editType:\"plot\"}),width:bx({},f1.marker.line.width,{editType:\"plot\"}),editType:\"calc\"},opacity:bx({},f1.marker.opacity,{editType:\"plot\"}),editType:\"calc\"},selected:{marker:{opacity:bx({},f1.selected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:bx({},f1.unselected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},hoverinfo:f1.hoverinfo,hovertemplate:eGt({},{keys:[\"properties\"]}),showlegend:bx({},tGt.showlegend,{dflt:!1})},QHt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var xVe=ye((Zyr,_Ve)=>{\"use strict\";var qk=Mr(),rGt=Uh(),iGt=tJ();_Ve.exports=function(t,r,n,i){function a(c,f){return qk.coerce(t,r,iGt,c,f)}var o=a(\"locations\"),s=a(\"z\"),l=a(\"geojson\");if(!qk.isArrayOrTypedArray(o)||!o.length||!qk.isArrayOrTypedArray(s)||!s.length||!(typeof l==\"string\"&&l!==\"\"||qk.isPlainObject(l))){r.visible=!1;return}a(\"featureidkey\"),r._length=Math.min(o.length,s.length),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\");var u=a(\"marker.line.width\");u&&a(\"marker.line.color\"),a(\"marker.opacity\"),rGt(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),qk.coerceSelectionMarkerOpacity(r,a)}});var rJ=ye((Xyr,TVe)=>{\"use strict\";var nGt=uo(),h1=Mr(),aGt=Mu(),oGt=ao(),sGt=rx().makeBlank,bVe=nx();function lGt(e){var t=e[0].trace,r=t.visible===!0&&t._length!==0,n={layout:{visibility:\"none\"},paint:{}},i={layout:{visibility:\"none\"},paint:{}},a=t._opts={fill:n,line:i,geojson:sGt()};if(!r)return a;var o=bVe.extractTraceFeature(e);if(!o)return a;var s=aGt.makeColorScaleFuncFromTrace(t),l=t.marker,u=l.line||{},c;h1.isArrayOrTypedArray(l.opacity)&&(c=function(E){var k=E.mo;return nGt(k)?+h1.constrain(k,0,1):0});var f;h1.isArrayOrTypedArray(u.color)&&(f=function(E){return E.mlc});var h;h1.isArrayOrTypedArray(u.width)&&(h=function(E){return E.mlw});for(var d=0;d<e.length;d++){var v=e[d],x=v.fOut;if(x){var b=x.properties;b.fc=s(v.z),c&&(b.mo=c(v)),f&&(b.mlc=f(v)),h&&(b.mlw=h(v)),v.ct=b.ct,v._polygons=bVe.feature2polygons(x)}}var p=c?{type:\"identity\",property:\"mo\"}:l.opacity;return h1.extendFlat(n.paint,{\"fill-color\":{type:\"identity\",property:\"fc\"},\"fill-opacity\":p}),h1.extendFlat(i.paint,{\"line-color\":f?{type:\"identity\",property:\"mlc\"}:u.color,\"line-width\":h?{type:\"identity\",property:\"mlw\"}:u.width,\"line-opacity\":p}),n.layout.visibility=\"visible\",i.layout.visibility=\"visible\",a.geojson={type:\"FeatureCollection\",features:o},wVe(e),a}function wVe(e){var t=e[0].trace,r=t._opts,n;if(t.selectedpoints){for(var i=oGt.makeSelectedPointStyleFns(t),a=0;a<e.length;a++){var o=e[a];o.fOut&&(o.fOut.properties.mo2=i.selectedOpacityFn(o))}n={type:\"identity\",property:\"mo2\"}}else n=h1.isArrayOrTypedArray(t.marker.opacity)?{type:\"identity\",property:\"mo\"}:t.marker.opacity;return h1.extendFlat(r.fill.paint,{\"fill-opacity\":n}),h1.extendFlat(r.line.paint,{\"line-opacity\":n}),r}TVe.exports={convert:lGt,convertOnSelect:wVe}});var kVe=ye((Yyr,EVe)=>{\"use strict\";var SVe=rJ().convert,uGt=rJ().convertOnSelect,AVe=c1().traceLayerPrefix;function MVe(e,t){this.type=\"choroplethmapbox\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"fill\",AVe+t+\"-fill\"],[\"line\",AVe+t+\"-line\"]],this.below=null}var wA=MVe.prototype;wA.update=function(e){this._update(SVe(e)),e[0].trace._glTrace=this};wA.updateOnSelect=function(e){this._update(uGt(e))};wA._update=function(e){var t=this.subplot,r=this.layerList,n=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(e.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(e,n),this.below=n);for(var i=0;i<r.length;i++){var a=r[i],o=a[0],s=a[1],l=e[o];t.setOptions(s,\"setLayoutProperty\",l.layout),l.layout.visibility===\"visible\"&&t.setOptions(s,\"setPaintProperty\",l.paint)}};wA._addLayers=function(e,t){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=e[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},t)}};wA._removeLayers=function(){for(var e=this.subplot.map,t=this.layerList,r=t.length-1;r>=0;r--)e.removeLayer(t[r][1])};wA.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};EVe.exports=function(t,r){var n=r[0].trace,i=new MVe(t,n.uid),a=i.sourceId,o=SVe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),r[0].trace._glTrace=i,i}});var LVe=ye((Jyr,CVe)=>{\"use strict\";var Kyr=[\"*choroplethmapbox* trace is deprecated!\",\"Please consider switching to the *choroplethmap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");CVe.exports={attributes:tJ(),supplyDefaults:xVe(),colorbar:M_(),calc:Lz(),plot:kVe(),hoverPoints:Iz(),eventData:Rz(),selectPoints:Dz(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.updateOnSelect(t)}},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if(typeof i==\"string\"&&i.indexOf(\"water\")===0){for(var a=n+1;a<r.length;a++)if(i=r[a].id,typeof i==\"string\"&&i.indexOf(\"plotly-\")===-1)return i}}},moduleType:\"trace\",name:\"choroplethmapbox\",basePlotModule:XF(),categories:[\"mapbox\",\"gl\",\"noOpacity\",\"showLegend\"],meta:{hr_name:\"choropleth_mapbox\"}}});var IVe=ye(($yr,PVe)=>{\"use strict\";PVe.exports=LVe()});var nJ=ye((Qyr,DVe)=>{\"use strict\";var cGt=Jl(),fGt=Wo().hovertemplateAttrs,RVe=vl(),YF=NF(),iJ=no().extendFlat;DVe.exports=iJ({lon:YF.lon,lat:YF.lat,z:{valType:\"data_array\",editType:\"calc\"},radius:{valType:\"number\",editType:\"plot\",arrayOk:!0,min:1,dflt:30},below:{valType:\"string\",editType:\"plot\"},text:YF.text,hovertext:YF.hovertext,hoverinfo:iJ({},RVe.hoverinfo,{flags:[\"lon\",\"lat\",\"z\",\"text\",\"name\"]}),hovertemplate:fGt(),showlegend:iJ({},RVe.showlegend,{dflt:!1})},cGt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var FVe=ye((e1r,zVe)=>{\"use strict\";var hGt=Mr(),dGt=Uh(),vGt=nJ();zVe.exports=function(t,r,n,i){function a(u,c){return hGt.coerce(t,r,vGt,u,c)}var o=a(\"lon\")||[],s=a(\"lat\")||[],l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a(\"z\"),a(\"radius\"),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),dGt(t,r,i,a,{prefix:\"\",cLetter:\"z\"})}});var BVe=ye((t1r,OVe)=>{\"use strict\";var aJ=uo(),pGt=Mr().isArrayOrTypedArray,oJ=es().BADNUM,gGt=zv(),qVe=Mr()._;OVe.exports=function(t,r){for(var n=r._length,i=new Array(n),a=r.z,o=pGt(a)&&a.length,s=0;s<n;s++){var l=i[s]={},u=r.lon[s],c=r.lat[s];if(l.lonlat=aJ(u)&&aJ(c)?[+u,+c]:[oJ,oJ],o){var f=a[s];l.z=aJ(f)?f:oJ}}return gGt(t,r,{vals:o?a:[0,1],containerStr:\"\",cLetter:\"z\"}),n&&(i[0].t={labels:{lat:qVe(t,\"lat:\")+\" \",lon:qVe(t,\"lon:\")+\" \"}}),i}});var GVe=ye((r1r,HVe)=>{\"use strict\";var mGt=uo(),sJ=Mr(),NVe=va(),UVe=Mu(),VVe=es().BADNUM,yGt=rx().makeBlank;HVe.exports=function(t){var r=t[0].trace,n=r.visible===!0&&r._length!==0,i={layout:{visibility:\"none\"},paint:{}},a=r._opts={heatmap:i,geojson:yGt()};if(!n)return a;var o=[],s,l=r.z,u=r.radius,c=sJ.isArrayOrTypedArray(l)&&l.length,f=sJ.isArrayOrTypedArray(u);for(s=0;s<t.length;s++){var h=t[s],d=h.lonlat;if(d[0]!==VVe){var v={};if(c){var x=h.z;v.z=x!==VVe?x:0}f&&(v.r=mGt(u[s])&&u[s]>0?+u[s]:0),o.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:d},properties:v})}}var b=UVe.extractOpts(r),p=b.reversescale?UVe.flipScale(b.colorscale):b.colorscale,E=p[0][1],k=NVe.opacity(E)<1?E:NVe.addOpacity(E,0),A=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,k];for(s=1;s<p.length;s++)A.push(p[s][0],p[s][1]);var L=[\"interpolate\",[\"linear\"],[\"get\",\"z\"],b.min,0,b.max,1];return sJ.extendFlat(a.heatmap.paint,{\"heatmap-weight\":c?L:1/(b.max-b.min),\"heatmap-color\":A,\"heatmap-radius\":f?{type:\"identity\",property:\"r\"}:r.radius,\"heatmap-opacity\":r.opacity}),a.geojson={type:\"FeatureCollection\",features:o},a.heatmap.layout.visibility=\"visible\",a}});var XVe=ye((i1r,ZVe)=>{\"use strict\";var jVe=GVe(),_Gt=c1().traceLayerPrefix;function WVe(e,t){this.type=\"densitymapbox\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"heatmap\",_Gt+t+\"-heatmap\"]],this.below=null}var KF=WVe.prototype;KF.update=function(e){var t=this.subplot,r=this.layerList,n=jVe(e),i=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(n.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(n,i),this.below=i);for(var a=0;a<r.length;a++){var o=r[a],s=o[0],l=o[1],u=n[s];t.setOptions(l,\"setLayoutProperty\",u.layout),u.layout.visibility===\"visible\"&&t.setOptions(l,\"setPaintProperty\",u.paint)}};KF._addLayers=function(e,t){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=e[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},t)}};KF._removeLayers=function(){for(var e=this.subplot.map,t=this.layerList,r=t.length-1;r>=0;r--)e.removeLayer(t[r][1])};KF.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};ZVe.exports=function(t,r){var n=r[0].trace,i=new WVe(t,n.uid),a=i.sourceId,o=jVe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),i}});var KVe=ye((n1r,YVe)=>{\"use strict\";var xGt=Qa(),bGt=jF().hoverPoints,wGt=jF().getExtraText;YVe.exports=function(t,r,n){var i=bGt(t,r,n);if(i){var a=i[0],o=a.cd,s=o[0].trace,l=o[a.index];if(delete a.color,\"z\"in l){var u=a.subplot.mockAxis;a.z=l.z,a.zLabel=xGt.tickText(u,u.c2l(l.z),\"hover\").text}return a.extraText=wGt(s,l,o[0].t.labels),[a]}}});var $Ve=ye((a1r,JVe)=>{\"use strict\";JVe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t.z=r.z,t}});var eHe=ye((s1r,QVe)=>{\"use strict\";var o1r=[\"*densitymapbox* trace is deprecated!\",\"Please consider switching to the *densitymap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");QVe.exports={attributes:nJ(),supplyDefaults:FVe(),colorbar:M_(),formatLabels:VK(),calc:BVe(),plot:XVe(),hoverPoints:KVe(),eventData:$Ve(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n<r.length;n++){var i=r[n],a=i.id;if(i.type===\"symbol\"&&typeof a==\"string\"&&a.indexOf(\"plotly-\")===-1)return a}},moduleType:\"trace\",name:\"densitymapbox\",basePlotModule:XF(),categories:[\"mapbox\",\"gl\",\"showLegend\"],meta:{hr_name:\"density_mapbox\"}}});var rHe=ye((l1r,tHe)=>{\"use strict\";tHe.exports=eHe()});var nHe=ye((u1r,iHe)=>{iHe.exports={version:8,name:\"orto\",metadata:{\"maputnik:renderer\":\"mlgljs\"},center:[1.537786,41.837539],zoom:12,bearing:0,pitch:0,light:{anchor:\"viewport\",color:\"white\",intensity:.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 © <a href='http://www.esri.com'>ESRI</a>\"},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,.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,.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,.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,.8],[20,4]]},\"line-opacity\":.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,.9],[10,.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\":[.5,.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,.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,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.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\":[.5,.25],\"line-width\":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.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,.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,.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,.5],[20,18]]},\"line-opacity\":.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,.5],[20,18]]},\"line-opacity\":.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,.4],[15,.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,.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\":.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,.6]]},\"line-width\":{base:1.2,stops:[[7,0],[8,.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,.5]]},\"line-width\":{base:1.2,stops:[[5,0],[6,.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,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":{stops:[[4,0],[5,.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,.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\":.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,.5],[20,13]]},\"line-opacity\":.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,.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,.5],[20,18]]},\"line-opacity\":.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,.5],[20,18]]},\"line-opacity\":.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,.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\":[.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,.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\":[.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,.4],[15,.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\":[.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,.4],[6,.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,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.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,.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,.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,.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,.5],[20,18]]},\"line-opacity\":.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,.4],[15,.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\":[.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,.4],[5,1],[12,3]]},\"line-opacity\":.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,.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,.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,.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\":.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\":.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\":.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\":.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,.6],\"text-size\":12,\"text-max-width\":9},paint:{\"text-halo-blur\":.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,.6],\"text-size\":12,\"text-max-width\":9},paint:{\"text-halo-blur\":.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,.6],\"text-size\":11,\"text-max-width\":9},paint:{\"text-halo-blur\":.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,.6],\"text-size\":12,\"text-max-width\":9,\"icon-optional\":!1,\"icon-ignore-placement\":!1,\"icon-allow-overlap\":!1,\"text-ignore-placement\":!1,\"text-allow-overlap\":!1,\"text-optional\":!0},paint:{\"text-halo-blur\":.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,.5],[19,1]]}},paint:{\"icon-opacity\":.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,.5],[19,1]]}},paint:{\"icon-opacity\":.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\":.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\":.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\":.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\":.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\":.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\":[.4,0],\"icon-size\":.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\"}});var oHe=ye((c1r,aHe)=>{aHe.exports={version:8,name:\"orto\",metadata:{},center:[1.537786,41.837539],zoom:12,bearing:0,pitch:0,light:{anchor:\"viewport\",color:\"white\",intensity:.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 © <a href='http://www.esri.com'>ESRI</a>\"},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\"}}]}});var wx=ye((f1r,fHe)=>{\"use strict\";var TGt=Y1(),AGt=nHe(),SGt=oHe(),MGt='\\xA9 <a target=\"_blank\" href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors',sHe=\"https://basemaps.cartocdn.com/gl/positron-gl-style/style.json\",lHe=\"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json\",JF=\"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json\",EGt=\"https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json\",kGt=\"https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json\",CGt=\"https://basemaps.cartocdn.com/gl/voyager-nolabels-gl-style/style.json\",cHe={basic:JF,streets:JF,outdoors:JF,light:sHe,dark:lHe,satellite:SGt,\"satellite-streets\":AGt,\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:MGt,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\":sHe,\"carto-darkmatter\":lHe,\"carto-voyager\":JF,\"carto-positron-nolabels\":EGt,\"carto-darkmatter-nolabels\":kGt,\"carto-voyager-nolabels\":CGt},uHe=TGt(cHe);fHe.exports={styleValueDflt:\"basic\",stylesMap:cHe,styleValuesMap:uHe,traceLayerPrefix:\"plotly-trace-layer-\",layoutLayerPrefix:\"plotly-layout-layer-\",missingStyleErrorMsg:[\"No valid maplibre style found, please set `map.style` to one of:\",uHe.join(\", \"),\"or use a tile service.\"].join(`\n", - "`),mapOnErrorMsg:\"Map error.\"}});var Ok=ye((h1r,gHe)=>{\"use strict\";var hHe=Mr(),dHe=va().defaultLine,LGt=Ju().attributes,PGt=Su(),IGt=Uc().textposition,RGt=Bu().overrideAll,DGt=Vs().templatedArray,vHe=wx(),pHe=PGt({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});pHe.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\";var zGt=gHe.exports=RGt({_arrayAttrRegexps:[hHe.counterRegex(\"map\",\".layers\",!0)],domain:LGt({name:\"map\"}),style:{valType:\"any\",values:vHe.styleValuesMap,dflt:vHe.styleValueDflt},center:{lon:{valType:\"number\",dflt:0},lat:{valType:\"number\",dflt:0}},zoom:{valType:\"number\",dflt:1},bearing:{valType:\"number\",dflt:0},pitch:{valType:\"number\",dflt:0},bounds:{west:{valType:\"number\"},east:{valType:\"number\"},south:{valType:\"number\"},north:{valType:\"number\"}},layers:DGt(\"layer\",{visible:{valType:\"boolean\",dflt:!0},sourcetype:{valType:\"enumerated\",values:[\"geojson\",\"vector\",\"raster\",\"image\"],dflt:\"geojson\"},source:{valType:\"any\"},sourcelayer:{valType:\"string\",dflt:\"\"},sourceattribution:{valType:\"string\"},type:{valType:\"enumerated\",values:[\"circle\",\"line\",\"fill\",\"symbol\",\"raster\"],dflt:\"circle\"},coordinates:{valType:\"any\"},below:{valType:\"string\"},color:{valType:\"color\",dflt:dHe},opacity:{valType:\"number\",min:0,max:1,dflt:1},minzoom:{valType:\"number\",min:0,max:24,dflt:0},maxzoom:{valType:\"number\",min:0,max:24,dflt:24},circle:{radius:{valType:\"number\",dflt:15}},line:{width:{valType:\"number\",dflt:2},dash:{valType:\"data_array\"}},fill:{outlinecolor:{valType:\"color\",dflt:dHe}},symbol:{icon:{valType:\"string\",dflt:\"marker\"},iconsize:{valType:\"number\",dflt:10},text:{valType:\"string\",dflt:\"\"},placement:{valType:\"enumerated\",values:[\"point\",\"line\",\"line-center\"],dflt:\"point\"},textfont:pHe,textposition:hHe.extendFlat({},IGt,{arrayOk:!1})}})},\"plot\",\"from-root\");zGt.uirevision={valType:\"any\",editType:\"none\"}});var $F=ye((d1r,_He)=>{\"use strict\";var FGt=Wo().hovertemplateAttrs,qGt=Wo().texttemplateAttrs,OGt=Eg(),Bk=H2(),TA=Uc(),mHe=Ok(),BGt=vl(),NGt=Jl(),rw=no().extendFlat,UGt=Bu().overrideAll,VGt=Ok(),yHe=Bk.line,AA=Bk.marker;_He.exports=UGt({lon:Bk.lon,lat:Bk.lat,cluster:{enabled:{valType:\"boolean\"},maxzoom:rw({},VGt.layers.maxzoom,{}),step:{valType:\"number\",arrayOk:!0,dflt:-1,min:-1},size:{valType:\"number\",arrayOk:!0,dflt:20,min:0},color:{valType:\"color\",arrayOk:!0},opacity:rw({},AA.opacity,{dflt:1})},mode:rw({},TA.mode,{dflt:\"markers\"}),text:rw({},TA.text,{}),texttemplate:qGt({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"text\"]}),hovertext:rw({},TA.hovertext,{}),line:{color:yHe.color,width:yHe.width},connectgaps:TA.connectgaps,marker:rw({symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},angle:{valType:\"number\",dflt:\"auto\",arrayOk:!0},allowoverlap:{valType:\"boolean\",dflt:!1},opacity:AA.opacity,size:AA.size,sizeref:AA.sizeref,sizemin:AA.sizemin,sizemode:AA.sizemode},NGt(\"marker\")),fill:Bk.fill,fillcolor:OGt(),textfont:mHe.layers.symbol.textfont,textposition:mHe.layers.symbol.textposition,below:{valType:\"string\"},selected:{marker:TA.selected.marker},unselected:{marker:TA.unselected.marker},hoverinfo:rw({},BGt.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]}),hovertemplate:FGt()},\"calc\",\"nested\")});var lJ=ye((v1r,xHe)=>{\"use strict\";var HGt=[\"Metropolis Black Italic\",\"Metropolis Black\",\"Metropolis Bold Italic\",\"Metropolis Bold\",\"Metropolis Extra Bold Italic\",\"Metropolis Extra Bold\",\"Metropolis Extra Light Italic\",\"Metropolis Extra Light\",\"Metropolis Light Italic\",\"Metropolis Light\",\"Metropolis Medium Italic\",\"Metropolis Medium\",\"Metropolis Regular Italic\",\"Metropolis Regular\",\"Metropolis Semi Bold Italic\",\"Metropolis Semi Bold\",\"Metropolis Thin Italic\",\"Metropolis Thin\",\"Open Sans Bold Italic\",\"Open Sans Bold\",\"Open Sans Extrabold Italic\",\"Open Sans Extrabold\",\"Open Sans Italic\",\"Open Sans Light Italic\",\"Open Sans Light\",\"Open Sans Regular\",\"Open Sans Semibold Italic\",\"Open Sans Semibold\",\"Klokantech Noto Sans Bold\",\"Klokantech Noto Sans CJK Bold\",\"Klokantech Noto Sans CJK Regular\",\"Klokantech Noto Sans Italic\",\"Klokantech Noto Sans Regular\"];xHe.exports={isSupportedFont:function(e){return HGt.indexOf(e)!==-1}}});var THe=ye((p1r,wHe)=>{\"use strict\";var Nk=Mr(),uJ=lu(),GGt=$p(),jGt=R0(),WGt=D0(),ZGt=Ig(),bHe=$F(),XGt=lJ().isSupportedFont;wHe.exports=function(t,r,n,i){function a(p,E){return Nk.coerce(t,r,bHe,p,E)}function o(p,E){return Nk.coerce2(t,r,bHe,p,E)}var s=YGt(t,r,a);if(!s){r.visible=!1;return}if(a(\"text\"),a(\"texttemplate\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"mode\"),a(\"below\"),uJ.hasMarkers(r)){GGt(t,r,n,i,a,{noLine:!0,noAngle:!0}),a(\"marker.allowoverlap\"),a(\"marker.angle\");var l=r.marker;l.symbol!==\"circle\"&&(Nk.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),Nk.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}uJ.hasLines(r)&&(jGt(t,r,n,i,a,{noDash:!0}),a(\"connectgaps\"));var u=o(\"cluster.maxzoom\"),c=o(\"cluster.step\"),f=o(\"cluster.color\",r.marker&&r.marker.color||n),h=o(\"cluster.size\"),d=o(\"cluster.opacity\"),v=u!==!1||c!==!1||f!==!1||h!==!1||d!==!1,x=a(\"cluster.enabled\",v);if(x||uJ.hasText(r)){var b=i.font.family;WGt(t,r,i,a,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:XGt(b)?b:\"Open Sans Regular\",weight:i.font.weight,style:i.font.style,size:i.font.size,color:i.font.color}})}a(\"fill\"),r.fill!==\"none\"&&ZGt(t,r,n,a),Nk.coerceSelectionMarkerOpacity(r,a)};function YGt(e,t,r){var n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length);return t._length=a,a}});var cJ=ye((g1r,SHe)=>{\"use strict\";var AHe=Qa();SHe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=AHe.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=AHe.tickText(o,o.c2l(s[1]),!0).text,i}});var fJ=ye((m1r,EHe)=>{\"use strict\";var MHe=Mr();EHe.exports=function(t,r){var n=t.split(\" \"),i=n[0],a=n[1],o=MHe.isArrayOrTypedArray(r)?MHe.mean(r):r,s=.5+o/100,l=1.5+o/100,u=[\"\",\"\"],c=[0,0];switch(i){case\"top\":u[0]=\"top\",c[1]=-l;break;case\"bottom\":u[0]=\"bottom\",c[1]=l;break}switch(a){case\"left\":u[1]=\"right\",c[0]=-s;break;case\"right\":u[1]=\"left\",c[0]=s;break}var f;return u[0]&&u[1]?f=u.join(\"-\"):u[0]?f=u[0]:u[1]?f=u[1]:f=\"center\",{anchor:f,offset:c}}});var RHe=ye((y1r,IHe)=>{\"use strict\";var LHe=uo(),nv=Mr(),KGt=es().BADNUM,e7=rx(),kHe=Mu(),JGt=ao(),$Gt=S3(),t7=lu(),QGt=lJ().isSupportedFont,ejt=fJ(),tjt=rp().appendArrayPointValue,rjt=Pl().NEWLINES,ijt=Pl().BR_TAG_ALL;IHe.exports=function(t,r){var n=r[0].trace,i=n.visible===!0&&n._length!==0,a=n.fill!==\"none\",o=t7.hasLines(n),s=t7.hasMarkers(n),l=t7.hasText(n),u=s&&n.marker.symbol===\"circle\",c=s&&n.marker.symbol!==\"circle\",f=n.cluster&&n.cluster.enabled,h=QF(\"fill\"),d=QF(\"line\"),v=QF(\"circle\"),x=QF(\"symbol\"),b={fill:h,line:d,circle:v,symbol:x};if(!i)return b;var p;if((a||o)&&(p=e7.calcTraceToLineCoords(r)),a&&(h.geojson=e7.makePolygon(p),h.layout.visibility=\"visible\",nv.extendFlat(h.paint,{\"fill-color\":n.fillcolor})),o&&(d.geojson=e7.makeLine(p),d.layout.visibility=\"visible\",nv.extendFlat(d.paint,{\"line-width\":n.line.width,\"line-color\":n.line.color,\"line-opacity\":n.opacity})),u){var E=njt(r);v.geojson=E.geojson,v.layout.visibility=\"visible\",f&&(v.filter=[\"!\",[\"has\",\"point_count\"]],b.cluster={type:\"circle\",filter:[\"has\",\"point_count\"],layout:{visibility:\"visible\"},paint:{\"circle-color\":dJ(n.cluster.color,n.cluster.step),\"circle-radius\":dJ(n.cluster.size,n.cluster.step),\"circle-opacity\":dJ(n.cluster.opacity,n.cluster.step)}},b.clusterCount={type:\"symbol\",filter:[\"has\",\"point_count\"],paint:{},layout:{\"text-field\":\"{point_count_abbreviated}\",\"text-font\":CHe(n),\"text-size\":12}}),nv.extendFlat(v.paint,{\"circle-color\":E.mcc,\"circle-radius\":E.mrc,\"circle-opacity\":E.mo})}if(u&&f&&(v.filter=[\"!\",[\"has\",\"point_count\"]]),(c||l)&&(x.geojson=ajt(r,t),nv.extendFlat(x.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),c&&(nv.extendFlat(x.layout,{\"icon-size\":n.marker.size/10}),\"angle\"in n.marker&&n.marker.angle!==\"auto\"&&nv.extendFlat(x.layout,{\"icon-rotate\":{type:\"identity\",property:\"angle\"},\"icon-rotation-alignment\":\"map\"}),x.layout[\"icon-allow-overlap\"]=n.marker.allowoverlap,nv.extendFlat(x.paint,{\"icon-opacity\":n.opacity*n.marker.opacity,\"icon-color\":n.marker.color})),l)){var k=(n.marker||{}).size,A=ejt(n.textposition,k);nv.extendFlat(x.layout,{\"text-size\":n.textfont.size,\"text-anchor\":A.anchor,\"text-offset\":A.offset,\"text-font\":CHe(n)}),nv.extendFlat(x.paint,{\"text-color\":n.textfont.color,\"text-opacity\":n.opacity})}return b};function QF(e){return{type:e,geojson:e7.makeBlank(),layout:{visibility:\"none\"},filter:null,paint:{}}}function njt(e){var t=e[0].trace,r=t.marker,n=t.selectedpoints,i=nv.isArrayOrTypedArray(r.color),a=nv.isArrayOrTypedArray(r.size),o=nv.isArrayOrTypedArray(r.opacity),s;function l(k){return t.opacity*k}function u(k){return k/2}var c;i&&(kHe.hasColorscale(t,\"marker\")?c=kHe.makeColorScaleFuncFromTrace(r):c=nv.identity);var f;a&&(f=$Gt(t));var h;o&&(h=function(k){var A=LHe(k)?+nv.constrain(k,0,1):0;return l(A)});var d=[];for(s=0;s<e.length;s++){var v=e[s],x=v.lonlat;if(!PHe(x)){var b={};c&&(b.mcc=v.mcc=c(v.mc)),f&&(b.mrc=v.mrc=f(v.ms)),h&&(b.mo=h(v.mo)),n&&(b.selected=v.selected||0),d.push({type:\"Feature\",id:s+1,geometry:{type:\"Point\",coordinates:x},properties:b})}}var p;if(n)for(p=JGt.makeSelectedPointStyleFns(t),s=0;s<d.length;s++){var E=d[s].properties;p.selectedOpacityFn&&(E.mo=l(p.selectedOpacityFn(E))),p.selectedColorFn&&(E.mcc=p.selectedColorFn(E)),p.selectedSizeFn&&(E.mrc=p.selectedSizeFn(E))}return{geojson:{type:\"FeatureCollection\",features:d},mcc:i||p&&p.selectedColorFn?{type:\"identity\",property:\"mcc\"}:r.color,mrc:a||p&&p.selectedSizeFn?{type:\"identity\",property:\"mrc\"}:u(r.size),mo:o||p&&p.selectedOpacityFn?{type:\"identity\",property:\"mo\"}:l(r.opacity)}}function ajt(e,t){for(var r=t._fullLayout,n=e[0].trace,i=n.marker||{},a=i.symbol,o=i.angle,s=a!==\"circle\"?hJ(a):r7,l=o!==\"auto\"?hJ(o,!0):r7,u=t7.hasText(n)?hJ(n.text):r7,c=[],f=0;f<e.length;f++){var h=e[f];if(!PHe(h.lonlat)){var d=n.texttemplate,v;if(d){var x=Array.isArray(d)?d[f]||\"\":d,b=n._module.formatLabels(h,n,r),p={};tjt(p,n,h.i);var E=n._meta||{};v=nv.texttemplateString(x,b,r._d3locale,p,h,E)}else v=u(f);v&&(v=v.replace(rjt,\"\").replace(ijt,`\n", - "`)),c.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:h.lonlat},properties:{symbol:s(f),angle:l(f),text:v}})}}return{type:\"FeatureCollection\",features:c}}function hJ(e,t){return nv.isArrayOrTypedArray(e)?t?function(r){return LHe(e[r])?+e[r]:0}:function(r){return e[r]}:e?function(){return e}:r7}function r7(){return\"\"}function PHe(e){return e[0]===KGt}function dJ(e,t){var r;if(nv.isArrayOrTypedArray(e)&&nv.isArrayOrTypedArray(t)){r=[\"step\",[\"get\",\"point_count\"],e[0]];for(var n=1;n<e.length;n++)r.push(t[n-1],e[n])}else r=e;return r}function CHe(e){var t=e.textfont,r=t.family,n=t.style,i=t.weight,a=r.split(\" \"),o=a[a.length-1]===\"Italic\";o&&a.pop(),o=o||n===\"italic\";var s=a.join(\" \");i===\"bold\"&&a.indexOf(\"Bold\")===-1?s+=\" Bold\":i<=1e3&&(a[0]===\"Metropolis\"?(s=\"Metropolis\",i>850?s+=\" Black\":i>750?s+=\" Extra Bold\":i>650?s+=\" Bold\":i>550?s+=\" Semi Bold\":i>450?s+=\" Medium\":i>350?s+=\" Regular\":i>250?s+=\" Light\":i>150?s+=\" Extra Light\":s+=\" Thin\"):a.slice(0,2).join(\" \")===\"Open Sans\"?(s=\"Open Sans\",i>750?s+=\" Extrabold\":i>650?s+=\" Bold\":i>550?s+=\" Semibold\":i>350?s+=\" Regular\":s+=\" Light\"):a.slice(0,3).join(\" \")===\"Klokantech Noto Sans\"&&(s=\"Klokantech Noto Sans\",a[3]===\"CJK\"&&(s+=\" CJK\"),s+=i>500?\" Bold\":\" Regular\")),o&&(s+=\" Italic\"),s===\"Open Sans Regular Italic\"?s=\"Open Sans Italic\":s===\"Open Sans Regular Bold\"?s=\"Open Sans Bold\":s===\"Open Sans Regular Bold Italic\"?s=\"Open Sans Bold Italic\":s===\"Klokantech Noto Sans Regular Italic\"&&(s=\"Klokantech Noto Sans Italic\"),QGt(s)||(s=r);var l=s.split(\", \");return l}});var qHe=ye((_1r,FHe)=>{\"use strict\";var ojt=Mr(),DHe=RHe(),SA=wx().traceLayerPrefix,ng={cluster:[\"cluster\",\"clusterCount\",\"circle\"],nonCluster:[\"fill\",\"line\",\"circle\",\"symbol\"]};function zHe(e,t,r,n){this.type=\"scattermap\",this.subplot=e,this.uid=t,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:\"source-\"+t+\"-fill\",line:\"source-\"+t+\"-line\",circle:\"source-\"+t+\"-circle\",symbol:\"source-\"+t+\"-symbol\",cluster:\"source-\"+t+\"-circle\",clusterCount:\"source-\"+t+\"-circle\"},this.layerIds={fill:SA+t+\"-fill\",line:SA+t+\"-line\",circle:SA+t+\"-circle\",symbol:SA+t+\"-symbol\",cluster:SA+t+\"-cluster\",clusterCount:SA+t+\"-cluster-count\"},this.below=null}var Uk=zHe.prototype;Uk.addSource=function(e,t,r){var n={type:\"geojson\",data:t.geojson};r&&r.enabled&&ojt.extendFlat(n,{cluster:!0,clusterMaxZoom:r.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[e]);i?i.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[e],n)};Uk.setSourceData=function(e,t){this.subplot.map.getSource(this.sourceIds[e]).setData(t.geojson)};Uk.addLayer=function(e,t,r){var n={type:t.type,id:this.layerIds[e],source:this.sourceIds[e],layout:t.layout,paint:t.paint};t.filter&&(n.filter=t.filter);for(var i=this.layerIds[e],a,o=this.subplot.getMapLayers(),s=0;s<o.length;s++)if(o[s].id===i){a=!0;break}a?(this.subplot.setOptions(i,\"setLayoutProperty\",n.layout),n.layout.visibility===\"visible\"&&this.subplot.setOptions(i,\"setPaintProperty\",n.paint)):this.subplot.addLayer(n,r)};Uk.update=function(t){var r=t[0].trace,n=this.subplot,i=n.map,a=DHe(n.gd,t),o=n.belowLookup[\"trace-\"+this.uid],s=!!(r.cluster&&r.cluster.enabled),l=!!this.clusterEnabled,u=this;function c(k){k||u.addSource(\"circle\",a.circle,r.cluster);for(var A=ng.cluster,L=0;L<A.length;L++){var _=A[L],C=a[_];u.addLayer(_,C,o)}}function f(k){for(var A=ng.cluster,L=A.length-1;L>=0;L--){var _=A[L];i.removeLayer(u.layerIds[_])}k||i.removeSource(u.sourceIds.circle)}function h(k){for(var A=ng.nonCluster,L=0;L<A.length;L++){var _=A[L],C=a[_];k||u.addSource(_,C),u.addLayer(_,C,o)}}function d(k){for(var A=ng.nonCluster,L=A.length-1;L>=0;L--){var _=A[L];i.removeLayer(u.layerIds[_]),k||i.removeSource(u.sourceIds[_])}}function v(k){l?f(k):d(k)}function x(k){s?c(k):h(k)}function b(){for(var k=s?ng.cluster:ng.nonCluster,A=0;A<k.length;A++){var L=k[A],_=a[L];_&&(n.setOptions(u.layerIds[L],\"setLayoutProperty\",_.layout),_.layout.visibility===\"visible\"&&(L!==\"cluster\"&&u.setSourceData(L,_),n.setOptions(u.layerIds[L],\"setPaintProperty\",_.paint)))}}var p=this.isHidden,E=r.visible!==!0;E?p||v():p?E||x():l!==s?(v(),x()):(this.below!==o&&(v(!0),x(!0)),b()),this.clusterEnabled=s,this.isHidden=E,this.below=o,t[0].trace._glTrace=this};Uk.dispose=function(){for(var t=this.subplot.map,r=this.clusterEnabled?ng.cluster:ng.nonCluster,n=r.length-1;n>=0;n--){var i=r[n];t.removeLayer(this.layerIds[i]),t.removeSource(this.sourceIds[i])}};FHe.exports=function(t,r){var n=r[0].trace,i=n.cluster&&n.cluster.enabled,a=n.visible!==!0,o=new zHe(t,n.uid,i,a),s=DHe(t.gd,r),l=o.below=t.belowLookup[\"trace-\"+n.uid],u,c,f;if(i)for(o.addSource(\"circle\",s.circle,n.cluster),u=0;u<ng.cluster.length;u++)c=ng.cluster[u],f=s[c],o.addLayer(c,f,l);else for(u=0;u<ng.nonCluster.length;u++)c=ng.nonCluster[u],f=s[c],o.addSource(c,f,n.cluster),o.addLayer(c,f,l);return r[0].trace._glTrace=o,o}});var i7=ye((x1r,BHe)=>{\"use strict\";var sjt=Nc(),vJ=Mr(),ljt=oT(),ujt=vJ.fillText,cjt=es().BADNUM,fjt=wx().traceLayerPrefix;function hjt(e,t,r){var n=e.cd,i=n[0].trace,a=e.xa,o=e.ya,s=e.subplot,l=[],u=fjt+i.uid+\"-circle\",c=i.cluster&&i.cluster.enabled;if(c){var f=s.map.queryRenderedFeatures(null,{layers:[u]});l=f.map(function(M){return M.id})}var h=t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360),d=h*360,v=t-d;function x(M){var g=M.lonlat;if(g[0]===cjt||c&&l.indexOf(M.i+1)===-1)return 1/0;var P=vJ.modHalf(g[0],360),T=g[1],F=s.project([P,T]),q=F.x-a.c2p([v,T]),V=F.y-o.c2p([P,r]),H=Math.max(3,M.mrc||0);return Math.max(Math.sqrt(q*q+V*V)-H,1-3/H)}if(sjt.getClosest(n,x,e),e.index!==!1){var b=n[e.index],p=b.lonlat,E=[vJ.modHalf(p[0],360)+d,p[1]],k=a.c2p(E),A=o.c2p(E),L=b.mrc||1;e.x0=k-L,e.x1=k+L,e.y0=A-L,e.y1=A+L;var _={};_[i.subplot]={_subplot:s};var C=i._module.formatLabels(b,i,_);return e.lonLabel=C.lonLabel,e.latLabel=C.latLabel,e.color=ljt(i,b),e.extraText=OHe(i,b,n[0].t.labels),e.hovertemplate=i.hovertemplate,[e]}}function OHe(e,t,r){if(e.hovertemplate)return;var n=t.hi||e.hoverinfo,i=n.split(\"+\"),a=i.indexOf(\"all\")!==-1,o=i.indexOf(\"lon\")!==-1,s=i.indexOf(\"lat\")!==-1,l=t.lonlat,u=[];function c(f){return f+\"\\xB0\"}return a||o&&s?u.push(\"(\"+c(l[1])+\", \"+c(l[0])+\")\"):o?u.push(r.lon+c(l[0])):s&&u.push(r.lat+c(l[1])),(a||i.indexOf(\"text\")!==-1)&&ujt(t,e,u),u.join(\"<br>\")}BHe.exports={hoverPoints:hjt,getExtraText:OHe}});var UHe=ye((b1r,NHe)=>{\"use strict\";NHe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t}});var HHe=ye((w1r,VHe)=>{\"use strict\";var djt=Mr(),vjt=lu(),pjt=es().BADNUM;VHe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l;if(!vjt.hasMarkers(s))return[];if(r===!1)for(l=0;l<n.length;l++)n[l].selected=0;else for(l=0;l<n.length;l++){var u=n[l],c=u.lonlat;if(c[0]!==pjt){var f=[djt.modHalf(c[0],360),c[1]],h=[i.c2p(f),a.c2p(f)];r.contains(h,null,l,t)?(o.push({pointNumber:l,lon:c[0],lat:c[1]}),u.selected=1):u.selected=0}}return o}});var jHe=ye((pJ,gJ)=>{(function(e,t){typeof pJ==\"object\"&&typeof gJ!=\"undefined\"?gJ.exports=t():(e=typeof globalThis!=\"undefined\"?globalThis:e||self,e.maplibregl=t())})(pJ,function(){\"use strict\";var e={},t={};function r(i,a,o){if(t[i]=o,i===\"index\"){var s=\"var sharedModule = {}; (\"+t.shared+\")(sharedModule); (\"+t.worker+\")(sharedModule);\",l={};return t.shared(l),t.index(e,l),typeof window!=\"undefined\"&&e.setWorkerUrl(window.URL.createObjectURL(new Blob([s],{type:\"text/javascript\"}))),e}}r(\"shared\",[\"exports\"],function(i){\"use strict\";function a(R,S,D,j){return new(D||(D=Promise))(function(te,ue){function ve(at){try{Ze(j.next(at))}catch(Tt){ue(Tt)}}function De(at){try{Ze(j.throw(at))}catch(Tt){ue(Tt)}}function Ze(at){var Tt;at.done?te(at.value):(Tt=at.value,Tt instanceof D?Tt:new D(function(Ft){Ft(Tt)})).then(ve,De)}Ze((j=j.apply(R,S||[])).next())})}function o(R){return R&&R.__esModule&&Object.prototype.hasOwnProperty.call(R,\"default\")?R.default:R}typeof SuppressedError==\"function\"&&SuppressedError;var s=l;function l(R,S){this.x=R,this.y=S}l.prototype={clone:function(){return new l(this.x,this.y)},add:function(R){return this.clone()._add(R)},sub:function(R){return this.clone()._sub(R)},multByPoint:function(R){return this.clone()._multByPoint(R)},divByPoint:function(R){return this.clone()._divByPoint(R)},mult:function(R){return this.clone()._mult(R)},div:function(R){return this.clone()._div(R)},rotate:function(R){return this.clone()._rotate(R)},rotateAround:function(R,S){return this.clone()._rotateAround(R,S)},matMult:function(R){return this.clone()._matMult(R)},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(R){return this.x===R.x&&this.y===R.y},dist:function(R){return Math.sqrt(this.distSqr(R))},distSqr:function(R){var S=R.x-this.x,D=R.y-this.y;return S*S+D*D},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(R){return Math.atan2(this.y-R.y,this.x-R.x)},angleWith:function(R){return this.angleWithSep(R.x,R.y)},angleWithSep:function(R,S){return Math.atan2(this.x*S-this.y*R,this.x*R+this.y*S)},_matMult:function(R){var S=R[2]*this.x+R[3]*this.y;return this.x=R[0]*this.x+R[1]*this.y,this.y=S,this},_add:function(R){return this.x+=R.x,this.y+=R.y,this},_sub:function(R){return this.x-=R.x,this.y-=R.y,this},_mult:function(R){return this.x*=R,this.y*=R,this},_div:function(R){return this.x/=R,this.y/=R,this},_multByPoint:function(R){return this.x*=R.x,this.y*=R.y,this},_divByPoint:function(R){return this.x/=R.x,this.y/=R.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var R=this.y;return this.y=this.x,this.x=-R,this},_rotate:function(R){var S=Math.cos(R),D=Math.sin(R),j=D*this.x+S*this.y;return this.x=S*this.x-D*this.y,this.y=j,this},_rotateAround:function(R,S){var D=Math.cos(R),j=Math.sin(R),te=S.y+j*(this.x-S.x)+D*(this.y-S.y);return this.x=S.x+D*(this.x-S.x)-j*(this.y-S.y),this.y=te,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},l.convert=function(R){return R instanceof l?R:Array.isArray(R)?new l(R[0],R[1]):R};var u=o(s),c=f;function f(R,S,D,j){this.cx=3*R,this.bx=3*(D-R)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*S,this.by=3*(j-S)-this.cy,this.ay=1-this.cy-this.by,this.p1x=R,this.p1y=S,this.p2x=D,this.p2y=j}f.prototype={sampleCurveX:function(R){return((this.ax*R+this.bx)*R+this.cx)*R},sampleCurveY:function(R){return((this.ay*R+this.by)*R+this.cy)*R},sampleCurveDerivativeX:function(R){return(3*this.ax*R+2*this.bx)*R+this.cx},solveCurveX:function(R,S){if(S===void 0&&(S=1e-6),R<0)return 0;if(R>1)return 1;for(var D=R,j=0;j<8;j++){var te=this.sampleCurveX(D)-R;if(Math.abs(te)<S)return D;var ue=this.sampleCurveDerivativeX(D);if(Math.abs(ue)<1e-6)break;D-=te/ue}var ve=0,De=1;for(D=R,j=0;j<20&&(te=this.sampleCurveX(D),!(Math.abs(te-R)<S));j++)R>te?ve=D:De=D,D=.5*(De-ve)+ve;return D},solve:function(R,S){return this.sampleCurveY(this.solveCurveX(R,S))}};var h=o(c);let d,v;function x(){return d==null&&(d=typeof OffscreenCanvas!=\"undefined\"&&new OffscreenCanvas(1,1).getContext(\"2d\")&&typeof createImageBitmap==\"function\"),d}function b(){if(v==null&&(v=!1,x())){let S=new OffscreenCanvas(5,5).getContext(\"2d\",{willReadFrequently:!0});if(S){for(let j=0;j<5*5;j++){let te=4*j;S.fillStyle=`rgb(${te},${te+1},${te+2})`,S.fillRect(j%5,Math.floor(j/5),1,1)}let D=S.getImageData(0,0,5,5).data;for(let j=0;j<5*5*4;j++)if(j%4!=3&&D[j]!==j){v=!0;break}}}return v||!1}function p(R,S,D,j){let te=new h(R,S,D,j);return ue=>te.solve(ue)}let E=p(.25,.1,.25,1);function k(R,S,D){return Math.min(D,Math.max(S,R))}function A(R,S,D){let j=D-S,te=((R-S)%j+j)%j+S;return te===S?D:te}function L(R,...S){for(let D of S)for(let j in D)R[j]=D[j];return R}let _=1;function C(R,S,D){let j={};for(let te in R)j[te]=S.call(this,R[te],te,R);return j}function M(R,S,D){let j={};for(let te in R)S.call(this,R[te],te,R)&&(j[te]=R[te]);return j}function g(R){return Array.isArray(R)?R.map(g):typeof R==\"object\"&&R?C(R,g):R}let P={};function T(R){P[R]||(typeof console!=\"undefined\"&&console.warn(R),P[R]=!0)}function F(R,S,D){return(D.y-R.y)*(S.x-R.x)>(S.y-R.y)*(D.x-R.x)}function q(R){return typeof WorkerGlobalScope!=\"undefined\"&&R!==void 0&&R instanceof WorkerGlobalScope}let V=null;function H(R){return typeof ImageBitmap!=\"undefined\"&&R instanceof ImageBitmap}let X=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";function G(R,S,D,j,te){return a(this,void 0,void 0,function*(){if(typeof VideoFrame==\"undefined\")throw new Error(\"VideoFrame not supported\");let ue=new VideoFrame(R,{timestamp:0});try{let ve=ue==null?void 0:ue.format;if(!ve||!ve.startsWith(\"BGR\")&&!ve.startsWith(\"RGB\"))throw new Error(`Unrecognized format ${ve}`);let De=ve.startsWith(\"BGR\"),Ze=new Uint8ClampedArray(j*te*4);if(yield ue.copyTo(Ze,function(at,Tt,Ft,Qt,sr){let Tr=4*Math.max(-Tt,0),Pr=(Math.max(0,Ft)-Ft)*Qt*4+Tr,$r=4*Qt,ni=Math.max(0,Tt),Di=Math.max(0,Ft);return{rect:{x:ni,y:Di,width:Math.min(at.width,Tt+Qt)-ni,height:Math.min(at.height,Ft+sr)-Di},layout:[{offset:Pr,stride:$r}]}}(R,S,D,j,te)),De)for(let at=0;at<Ze.length;at+=4){let Tt=Ze[at];Ze[at]=Ze[at+2],Ze[at+2]=Tt}return Ze}finally{ue.close()}})}let N,W,re=\"AbortError\";function ae(){return new Error(re)}let _e={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:\"\"};function Me(R){return _e.REGISTERED_PROTOCOLS[R.substring(0,R.indexOf(\"://\"))]}let ke=\"global-dispatcher\";class ge extends Error{constructor(S,D,j,te){super(`AJAXError: ${D} (${S}): ${j}`),this.status=S,this.statusText=D,this.url=j,this.body=te}}let ie=()=>q(self)?self.worker&&self.worker.referrer:(window.location.protocol===\"blob:\"?window.parent:window).location.href,Te=function(R,S){if(/:\\/\\//.test(R.url)&&!/^https?:|^file:/.test(R.url)){let j=Me(R.url);if(j)return j(R,S);if(q(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:R,targetMapId:ke},S)}if(!(/^file:/.test(D=R.url)||/^file:/.test(ie())&&!/^\\w+:/.test(D))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,\"signal\"))return function(j,te){return a(this,void 0,void 0,function*(){let ue=new Request(j.url,{method:j.method||\"GET\",body:j.body,credentials:j.credentials,headers:j.headers,cache:j.cache,referrer:ie(),signal:te.signal});j.type!==\"json\"||ue.headers.has(\"Accept\")||ue.headers.set(\"Accept\",\"application/json\");let ve=yield fetch(ue);if(!ve.ok){let at=yield ve.blob();throw new ge(ve.status,ve.statusText,j.url,at)}let De;De=j.type===\"arrayBuffer\"||j.type===\"image\"?ve.arrayBuffer():j.type===\"json\"?ve.json():ve.text();let Ze=yield De;if(te.signal.aborted)throw ae();return{data:Ze,cacheControl:ve.headers.get(\"Cache-Control\"),expires:ve.headers.get(\"Expires\")}})}(R,S);if(q(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:R,mustQueue:!0,targetMapId:ke},S)}var D;return function(j,te){return new Promise((ue,ve)=>{var De;let Ze=new XMLHttpRequest;Ze.open(j.method||\"GET\",j.url,!0),j.type!==\"arrayBuffer\"&&j.type!==\"image\"||(Ze.responseType=\"arraybuffer\");for(let at in j.headers)Ze.setRequestHeader(at,j.headers[at]);j.type===\"json\"&&(Ze.responseType=\"text\",!((De=j.headers)===null||De===void 0)&&De.Accept||Ze.setRequestHeader(\"Accept\",\"application/json\")),Ze.withCredentials=j.credentials===\"include\",Ze.onerror=()=>{ve(new Error(Ze.statusText))},Ze.onload=()=>{if(!te.signal.aborted)if((Ze.status>=200&&Ze.status<300||Ze.status===0)&&Ze.response!==null){let at=Ze.response;if(j.type===\"json\")try{at=JSON.parse(Ze.response)}catch(Tt){return void ve(Tt)}ue({data:at,cacheControl:Ze.getResponseHeader(\"Cache-Control\"),expires:Ze.getResponseHeader(\"Expires\")})}else{let at=new Blob([Ze.response],{type:Ze.getResponseHeader(\"Content-Type\")});ve(new ge(Ze.status,Ze.statusText,j.url,at))}},te.signal.addEventListener(\"abort\",()=>{Ze.abort(),ve(ae())}),Ze.send(j.body)})}(R,S)};function Ee(R){if(!R||R.indexOf(\"://\")<=0||R.indexOf(\"data:image/\")===0||R.indexOf(\"blob:\")===0)return!0;let S=new URL(R),D=window.location;return S.protocol===D.protocol&&S.host===D.host}function Ae(R,S,D){D[R]&&D[R].indexOf(S)!==-1||(D[R]=D[R]||[],D[R].push(S))}function ze(R,S,D){if(D&&D[R]){let j=D[R].indexOf(S);j!==-1&&D[R].splice(j,1)}}class Ce{constructor(S,D={}){L(this,D),this.type=S}}class me extends Ce{constructor(S,D={}){super(\"error\",L({error:S},D))}}class Re{on(S,D){return this._listeners=this._listeners||{},Ae(S,D,this._listeners),this}off(S,D){return ze(S,D,this._listeners),ze(S,D,this._oneTimeListeners),this}once(S,D){return D?(this._oneTimeListeners=this._oneTimeListeners||{},Ae(S,D,this._oneTimeListeners),this):new Promise(j=>this.once(S,j))}fire(S,D){typeof S==\"string\"&&(S=new Ce(S,D||{}));let j=S.type;if(this.listens(j)){S.target=this;let te=this._listeners&&this._listeners[j]?this._listeners[j].slice():[];for(let De of te)De.call(this,S);let ue=this._oneTimeListeners&&this._oneTimeListeners[j]?this._oneTimeListeners[j].slice():[];for(let De of ue)ze(j,De,this._oneTimeListeners),De.call(this,S);let ve=this._eventedParent;ve&&(L(S,typeof this._eventedParentData==\"function\"?this._eventedParentData():this._eventedParentData),ve.fire(S))}else S instanceof me&&console.error(S.error);return this}listens(S){return this._listeners&&this._listeners[S]&&this._listeners[S].length>0||this._oneTimeListeners&&this._oneTimeListeners[S]&&this._oneTimeListeners[S].length>0||this._eventedParent&&this._eventedParent.listens(S)}setEventedParent(S,D){return this._eventedParent=S,this._eventedParentData=D,this}}var ce={$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\"}}};let Ge=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"];function nt(R,S){let D={};for(let j in R)j!==\"ref\"&&(D[j]=R[j]);return Ge.forEach(j=>{j in S&&(D[j]=S[j])}),D}function ct(R,S){if(Array.isArray(R)){if(!Array.isArray(S)||R.length!==S.length)return!1;for(let D=0;D<R.length;D++)if(!ct(R[D],S[D]))return!1;return!0}if(typeof R==\"object\"&&R!==null&&S!==null){if(typeof S!=\"object\"||Object.keys(R).length!==Object.keys(S).length)return!1;for(let D in R)if(!ct(R[D],S[D]))return!1;return!0}return R===S}function qt(R,S){R.push(S)}function rt(R,S,D){qt(D,{command:\"addSource\",args:[R,S[R]]})}function ot(R,S,D){qt(S,{command:\"removeSource\",args:[R]}),D[R]=!0}function Rt(R,S,D,j){ot(R,D,j),rt(R,S,D)}function kt(R,S,D){let j;for(j in R[D])if(Object.prototype.hasOwnProperty.call(R[D],j)&&j!==\"data\"&&!ct(R[D][j],S[D][j]))return!1;for(j in S[D])if(Object.prototype.hasOwnProperty.call(S[D],j)&&j!==\"data\"&&!ct(R[D][j],S[D][j]))return!1;return!0}function Ct(R,S,D,j,te,ue){R=R||{},S=S||{};for(let ve in R)Object.prototype.hasOwnProperty.call(R,ve)&&(ct(R[ve],S[ve])||D.push({command:ue,args:[j,ve,S[ve],te]}));for(let ve in S)Object.prototype.hasOwnProperty.call(S,ve)&&!Object.prototype.hasOwnProperty.call(R,ve)&&(ct(R[ve],S[ve])||D.push({command:ue,args:[j,ve,S[ve],te]}))}function Yt(R){return R.id}function xr(R,S){return R[S.id]=S,R}class er{constructor(S,D,j,te){this.message=(S?`${S}: `:\"\")+j,te&&(this.identifier=te),D!=null&&D.__line__&&(this.line=D.__line__)}}function Ke(R,...S){for(let D of S)for(let j in D)R[j]=D[j];return R}class xt extends Error{constructor(S,D){super(D),this.message=D,this.key=S}}class bt{constructor(S,D=[]){this.parent=S,this.bindings={};for(let[j,te]of D)this.bindings[j]=te}concat(S){return new bt(this,S)}get(S){if(this.bindings[S])return this.bindings[S];if(this.parent)return this.parent.get(S);throw new Error(`${S} not found in scope.`)}has(S){return!!this.bindings[S]||!!this.parent&&this.parent.has(S)}}let Lt={kind:\"null\"},St={kind:\"number\"},Et={kind:\"string\"},dt={kind:\"boolean\"},Ht={kind:\"color\"},$t={kind:\"object\"},fr={kind:\"value\"},_r={kind:\"collator\"},Br={kind:\"formatted\"},Or={kind:\"padding\"},Nr={kind:\"resolvedImage\"},ut={kind:\"variableAnchorOffsetCollection\"};function Ne(R,S){return{kind:\"array\",itemType:R,N:S}}function Ye(R){if(R.kind===\"array\"){let S=Ye(R.itemType);return typeof R.N==\"number\"?`array<${S}, ${R.N}>`:R.itemType.kind===\"value\"?\"array\":`array<${S}>`}return R.kind}let Ve=[Lt,St,Et,dt,Ht,Br,$t,Ne(fr),Or,Nr,ut];function Xe(R,S){if(S.kind===\"error\")return null;if(R.kind===\"array\"){if(S.kind===\"array\"&&(S.N===0&&S.itemType.kind===\"value\"||!Xe(R.itemType,S.itemType))&&(typeof R.N!=\"number\"||R.N===S.N))return null}else{if(R.kind===S.kind)return null;if(R.kind===\"value\"){for(let D of Ve)if(!Xe(D,S))return null}}return`Expected ${Ye(R)} but found ${Ye(S)} instead.`}function ht(R,S){return S.some(D=>D.kind===R.kind)}function Le(R,S){return S.some(D=>D===\"null\"?R===null:D===\"array\"?Array.isArray(R):D===\"object\"?R&&!Array.isArray(R)&&typeof R==\"object\":D===typeof R)}function xe(R,S){return R.kind===\"array\"&&S.kind===\"array\"?R.itemType.kind===S.itemType.kind&&typeof R.N==\"number\":R.kind===S.kind}let Se=.96422,lt=.82521,Gt=4/29,Vt=6/29,ar=3*Vt*Vt,Qr=Vt*Vt*Vt,ai=Math.PI/180,jr=180/Math.PI;function ri(R){return(R%=360)<0&&(R+=360),R}function bi([R,S,D,j]){let te,ue,ve=Wi((.2225045*(R=nn(R))+.7168786*(S=nn(S))+.0606169*(D=nn(D)))/1);R===S&&S===D?te=ue=ve:(te=Wi((.4360747*R+.3850649*S+.1430804*D)/Se),ue=Wi((.0139322*R+.0971045*S+.7141733*D)/lt));let De=116*ve-16;return[De<0?0:De,500*(te-ve),200*(ve-ue),j]}function nn(R){return R<=.04045?R/12.92:Math.pow((R+.055)/1.055,2.4)}function Wi(R){return R>Qr?Math.pow(R,1/3):R/ar+Gt}function Ni([R,S,D,j]){let te=(R+16)/116,ue=isNaN(S)?te:te+S/500,ve=isNaN(D)?te:te-D/200;return te=1*$i(te),ue=Se*$i(ue),ve=lt*$i(ve),[_n(3.1338561*ue-1.6168667*te-.4906146*ve),_n(-.9787684*ue+1.9161415*te+.033454*ve),_n(.0719453*ue-.2289914*te+1.4052427*ve),j]}function _n(R){return(R=R<=.00304?12.92*R:1.055*Math.pow(R,1/2.4)-.055)<0?0:R>1?1:R}function $i(R){return R>Vt?R*R*R:ar*(R-Gt)}function zn(R){return parseInt(R.padEnd(2,R),16)/255}function Wn(R,S){return It(S?R/100:R,0,1)}function It(R,S,D){return Math.min(Math.max(S,R),D)}function ft(R){return!R.some(Number.isNaN)}let jt={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 Zt{constructor(S,D,j,te=1,ue=!0){this.r=S,this.g=D,this.b=j,this.a=te,ue||(this.r*=te,this.g*=te,this.b*=te,te||this.overwriteGetter(\"rgb\",[S,D,j,te]))}static parse(S){if(S instanceof Zt)return S;if(typeof S!=\"string\")return;let D=function(j){if((j=j.toLowerCase().trim())===\"transparent\")return[0,0,0,0];let te=jt[j];if(te){let[ve,De,Ze]=te;return[ve/255,De/255,Ze/255,1]}if(j.startsWith(\"#\")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(j)){let ve=j.length<6?1:2,De=1;return[zn(j.slice(De,De+=ve)),zn(j.slice(De,De+=ve)),zn(j.slice(De,De+=ve)),zn(j.slice(De,De+ve)||\"ff\")]}if(j.startsWith(\"rgb\")){let ve=j.match(/^rgba?\\(\\s*([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(ve){let[De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di]=ve,pi=[Tt||\" \",sr||\" \",$r].join(\"\");if(pi===\" \"||pi===\" /\"||pi===\",,\"||pi===\",,,\"){let ki=[at,Qt,Pr].join(\"\"),Zi=ki===\"%%%\"?100:ki===\"\"?255:0;if(Zi){let ta=[It(+Ze/Zi,0,1),It(+Ft/Zi,0,1),It(+Tr/Zi,0,1),ni?Wn(+ni,Di):1];if(ft(ta))return ta}}return}}let ue=j.match(/^hsla?\\(\\s*([\\de.+-]+)(?:deg)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(ue){let[ve,De,Ze,at,Tt,Ft,Qt,sr,Tr]=ue,Pr=[Ze||\" \",Tt||\" \",Qt].join(\"\");if(Pr===\" \"||Pr===\" /\"||Pr===\",,\"||Pr===\",,,\"){let $r=[+De,It(+at,0,100),It(+Ft,0,100),sr?Wn(+sr,Tr):1];if(ft($r))return function([ni,Di,pi,ki]){function Zi(ta){let Va=(ta+ni/30)%12,Io=Di*Math.min(pi,1-pi);return pi-Io*Math.max(-1,Math.min(Va-3,9-Va,1))}return ni=ri(ni),Di/=100,pi/=100,[Zi(0),Zi(8),Zi(4),ki]}($r)}}}(S);return D?new Zt(...D,!1):void 0}get rgb(){let{r:S,g:D,b:j,a:te}=this,ue=te||1/0;return this.overwriteGetter(\"rgb\",[S/ue,D/ue,j/ue,te])}get hcl(){return this.overwriteGetter(\"hcl\",function(S){let[D,j,te,ue]=bi(S),ve=Math.sqrt(j*j+te*te);return[Math.round(1e4*ve)?ri(Math.atan2(te,j)*jr):NaN,ve,D,ue]}(this.rgb))}get lab(){return this.overwriteGetter(\"lab\",bi(this.rgb))}overwriteGetter(S,D){return Object.defineProperty(this,S,{value:D}),D}toString(){let[S,D,j,te]=this.rgb;return`rgba(${[S,D,j].map(ue=>Math.round(255*ue)).join(\",\")},${te})`}}Zt.black=new Zt(0,0,0,1),Zt.white=new Zt(1,1,1,1),Zt.transparent=new Zt(0,0,0,0),Zt.red=new Zt(1,0,0,1);class yr{constructor(S,D,j){this.sensitivity=S?D?\"variant\":\"case\":D?\"accent\":\"base\",this.locale=j,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})}compare(S,D){return this.collator.compare(S,D)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Fr{constructor(S,D,j,te,ue){this.text=S,this.image=D,this.scale=j,this.fontStack=te,this.textColor=ue}}class Zr{constructor(S){this.sections=S}static fromString(S){return new Zr([new Fr(S,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(S=>S.text.length!==0||S.image&&S.image.name.length!==0)}static factory(S){return S instanceof Zr?S:Zr.fromString(S)}toString(){return this.sections.length===0?\"\":this.sections.map(S=>S.text).join(\"\")}}class Vr{constructor(S){this.values=S.slice()}static parse(S){if(S instanceof Vr)return S;if(typeof S==\"number\")return new Vr([S,S,S,S]);if(Array.isArray(S)&&!(S.length<1||S.length>4)){for(let D of S)if(typeof D!=\"number\")return;switch(S.length){case 1:S=[S[0],S[0],S[0],S[0]];break;case 2:S=[S[0],S[1],S[0],S[1]];break;case 3:S=[S[0],S[1],S[2],S[1]]}return new Vr(S)}}toString(){return JSON.stringify(this.values)}}let gi=new Set([\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"]);class Si{constructor(S){this.values=S.slice()}static parse(S){if(S instanceof Si)return S;if(Array.isArray(S)&&!(S.length<1)&&S.length%2==0){for(let D=0;D<S.length;D+=2){let j=S[D],te=S[D+1];if(typeof j!=\"string\"||!gi.has(j)||!Array.isArray(te)||te.length!==2||typeof te[0]!=\"number\"||typeof te[1]!=\"number\")return}return new Si(S)}}toString(){return JSON.stringify(this.values)}}class Mi{constructor(S){this.name=S.name,this.available=S.available}toString(){return this.name}static fromString(S){return S?new Mi({name:S,available:!1}):null}}function Pi(R,S,D,j){return typeof R==\"number\"&&R>=0&&R<=255&&typeof S==\"number\"&&S>=0&&S<=255&&typeof D==\"number\"&&D>=0&&D<=255?j===void 0||typeof j==\"number\"&&j>=0&&j<=1?null:`Invalid rgba value [${[R,S,D,j].join(\", \")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof j==\"number\"?[R,S,D,j]:[R,S,D]).join(\", \")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Gi(R){if(R===null||typeof R==\"string\"||typeof R==\"boolean\"||typeof R==\"number\"||R instanceof Zt||R instanceof yr||R instanceof Zr||R instanceof Vr||R instanceof Si||R instanceof Mi)return!0;if(Array.isArray(R)){for(let S of R)if(!Gi(S))return!1;return!0}if(typeof R==\"object\"){for(let S in R)if(!Gi(R[S]))return!1;return!0}return!1}function Ki(R){if(R===null)return Lt;if(typeof R==\"string\")return Et;if(typeof R==\"boolean\")return dt;if(typeof R==\"number\")return St;if(R instanceof Zt)return Ht;if(R instanceof yr)return _r;if(R instanceof Zr)return Br;if(R instanceof Vr)return Or;if(R instanceof Si)return ut;if(R instanceof Mi)return Nr;if(Array.isArray(R)){let S=R.length,D;for(let j of R){let te=Ki(j);if(D){if(D===te)continue;D=fr;break}D=te}return Ne(D||fr,S)}return $t}function ka(R){let S=typeof R;return R===null?\"\":S===\"string\"||S===\"number\"||S===\"boolean\"?String(R):R instanceof Zt||R instanceof Zr||R instanceof Vr||R instanceof Si||R instanceof Mi?R.toString():JSON.stringify(R)}class jn{constructor(S,D){this.type=S,this.value=D}static parse(S,D){if(S.length!==2)return D.error(`'literal' expression requires exactly one argument, but found ${S.length-1} instead.`);if(!Gi(S[1]))return D.error(\"invalid value\");let j=S[1],te=Ki(j),ue=D.expectedType;return te.kind!==\"array\"||te.N!==0||!ue||ue.kind!==\"array\"||typeof ue.N==\"number\"&&ue.N!==0||(te=ue),new jn(te,j)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class la{constructor(S){this.name=\"ExpressionEvaluationError\",this.message=S}toJSON(){return this.message}}let Fa={string:Et,number:St,boolean:dt,object:$t};class Ra{constructor(S,D){this.type=S,this.args=D}static parse(S,D){if(S.length<2)return D.error(\"Expected at least one argument.\");let j,te=1,ue=S[0];if(ue===\"array\"){let De,Ze;if(S.length>2){let at=S[1];if(typeof at!=\"string\"||!(at in Fa)||at===\"object\")return D.error('The item type argument of \"array\" must be one of string, number, boolean',1);De=Fa[at],te++}else De=fr;if(S.length>3){if(S[2]!==null&&(typeof S[2]!=\"number\"||S[2]<0||S[2]!==Math.floor(S[2])))return D.error('The length argument to \"array\" must be a positive integer literal',2);Ze=S[2],te++}j=Ne(De,Ze)}else{if(!Fa[ue])throw new Error(`Types doesn't contain name = ${ue}`);j=Fa[ue]}let ve=[];for(;te<S.length;te++){let De=D.parse(S[te],te,fr);if(!De)return null;ve.push(De)}return new Ra(j,ve)}evaluate(S){for(let D=0;D<this.args.length;D++){let j=this.args[D].evaluate(S);if(!Xe(this.type,Ki(j)))return j;if(D===this.args.length-1)throw new la(`Expected value to be of type ${Ye(this.type)}, but found ${Ye(Ki(j))} instead.`)}throw new Error}eachChild(S){this.args.forEach(S)}outputDefined(){return this.args.every(S=>S.outputDefined())}}let jo={\"to-boolean\":dt,\"to-color\":Ht,\"to-number\":St,\"to-string\":Et};class oa{constructor(S,D){this.type=S,this.args=D}static parse(S,D){if(S.length<2)return D.error(\"Expected at least one argument.\");let j=S[0];if(!jo[j])throw new Error(`Can't parse ${j} as it is not part of the known types`);if((j===\"to-boolean\"||j===\"to-string\")&&S.length!==2)return D.error(\"Expected one argument.\");let te=jo[j],ue=[];for(let ve=1;ve<S.length;ve++){let De=D.parse(S[ve],ve,fr);if(!De)return null;ue.push(De)}return new oa(te,ue)}evaluate(S){switch(this.type.kind){case\"boolean\":return!!this.args[0].evaluate(S);case\"color\":{let D,j;for(let te of this.args){if(D=te.evaluate(S),j=null,D instanceof Zt)return D;if(typeof D==\"string\"){let ue=S.parseColor(D);if(ue)return ue}else if(Array.isArray(D)&&(j=D.length<3||D.length>4?`Invalid rbga value ${JSON.stringify(D)}: expected an array containing either three or four numeric values.`:Pi(D[0],D[1],D[2],D[3]),!j))return new Zt(D[0]/255,D[1]/255,D[2]/255,D[3])}throw new la(j||`Could not parse color from value '${typeof D==\"string\"?D:JSON.stringify(D)}'`)}case\"padding\":{let D;for(let j of this.args){D=j.evaluate(S);let te=Vr.parse(D);if(te)return te}throw new la(`Could not parse padding from value '${typeof D==\"string\"?D:JSON.stringify(D)}'`)}case\"variableAnchorOffsetCollection\":{let D;for(let j of this.args){D=j.evaluate(S);let te=Si.parse(D);if(te)return te}throw new la(`Could not parse variableAnchorOffsetCollection from value '${typeof D==\"string\"?D:JSON.stringify(D)}'`)}case\"number\":{let D=null;for(let j of this.args){if(D=j.evaluate(S),D===null)return 0;let te=Number(D);if(!isNaN(te))return te}throw new la(`Could not convert ${JSON.stringify(D)} to number.`)}case\"formatted\":return Zr.fromString(ka(this.args[0].evaluate(S)));case\"resolvedImage\":return Mi.fromString(ka(this.args[0].evaluate(S)));default:return ka(this.args[0].evaluate(S))}}eachChild(S){this.args.forEach(S)}outputDefined(){return this.args.every(S=>S.outputDefined())}}let Sn=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];class Ha{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?typeof this.feature.type==\"number\"?Sn[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(S){let D=this._parseColorCache[S];return D||(D=this._parseColorCache[S]=Zt.parse(S)),D}}class oo{constructor(S,D,j=[],te,ue=new bt,ve=[]){this.registry=S,this.path=j,this.key=j.map(De=>`[${De}]`).join(\"\"),this.scope=ue,this.errors=ve,this.expectedType=te,this._isConstant=D}parse(S,D,j,te,ue={}){return D?this.concat(D,j,te)._parse(S,ue):this._parse(S,ue)}_parse(S,D){function j(te,ue,ve){return ve===\"assert\"?new Ra(ue,[te]):ve===\"coerce\"?new oa(ue,[te]):te}if(S!==null&&typeof S!=\"string\"&&typeof S!=\"boolean\"&&typeof S!=\"number\"||(S=[\"literal\",S]),Array.isArray(S)){if(S.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');let te=S[0];if(typeof te!=\"string\")return this.error(`Expression name must be a string, but found ${typeof te} instead. If you wanted a literal array, use [\"literal\", [...]].`,0),null;let ue=this.registry[te];if(ue){let ve=ue.parse(S,this);if(!ve)return null;if(this.expectedType){let De=this.expectedType,Ze=ve.type;if(De.kind!==\"string\"&&De.kind!==\"number\"&&De.kind!==\"boolean\"&&De.kind!==\"object\"&&De.kind!==\"array\"||Ze.kind!==\"value\")if(De.kind!==\"color\"&&De.kind!==\"formatted\"&&De.kind!==\"resolvedImage\"||Ze.kind!==\"value\"&&Ze.kind!==\"string\")if(De.kind!==\"padding\"||Ze.kind!==\"value\"&&Ze.kind!==\"number\"&&Ze.kind!==\"array\")if(De.kind!==\"variableAnchorOffsetCollection\"||Ze.kind!==\"value\"&&Ze.kind!==\"array\"){if(this.checkSubtype(De,Ze))return null}else ve=j(ve,De,D.typeAnnotation||\"coerce\");else ve=j(ve,De,D.typeAnnotation||\"coerce\");else ve=j(ve,De,D.typeAnnotation||\"coerce\");else ve=j(ve,De,D.typeAnnotation||\"assert\")}if(!(ve instanceof jn)&&ve.type.kind!==\"resolvedImage\"&&this._isConstant(ve)){let De=new Ha;try{ve=new jn(ve.type,ve.evaluate(De))}catch(Ze){return this.error(Ze.message),null}}return ve}return this.error(`Unknown expression \"${te}\". If you wanted a literal array, use [\"literal\", [...]].`,0)}return this.error(S===void 0?\"'undefined' value invalid. Use null instead.\":typeof S==\"object\"?'Bare objects invalid. Use [\"literal\", {...}] instead.':`Expected an array, but found ${typeof S} instead.`)}concat(S,D,j){let te=typeof S==\"number\"?this.path.concat(S):this.path,ue=j?this.scope.concat(j):this.scope;return new oo(this.registry,this._isConstant,te,D||null,ue,this.errors)}error(S,...D){let j=`${this.key}${D.map(te=>`[${te}]`).join(\"\")}`;this.errors.push(new xt(j,S))}checkSubtype(S,D){let j=Xe(S,D);return j&&this.error(j),j}}class xn{constructor(S,D){this.type=D.type,this.bindings=[].concat(S),this.result=D}evaluate(S){return this.result.evaluate(S)}eachChild(S){for(let D of this.bindings)S(D[1]);S(this.result)}static parse(S,D){if(S.length<4)return D.error(`Expected at least 3 arguments, but found ${S.length-1} instead.`);let j=[];for(let ue=1;ue<S.length-1;ue+=2){let ve=S[ue];if(typeof ve!=\"string\")return D.error(`Expected string, but found ${typeof ve} instead.`,ue);if(/[^a-zA-Z0-9_]/.test(ve))return D.error(\"Variable names must contain only alphanumeric characters or '_'.\",ue);let De=D.parse(S[ue+1],ue+1);if(!De)return null;j.push([ve,De])}let te=D.parse(S[S.length-1],S.length-1,D.expectedType,j);return te?new xn(j,te):null}outputDefined(){return this.result.outputDefined()}}class _t{constructor(S,D){this.type=D.type,this.name=S,this.boundExpression=D}static parse(S,D){if(S.length!==2||typeof S[1]!=\"string\")return D.error(\"'var' expression requires exactly one string literal argument.\");let j=S[1];return D.scope.has(j)?new _t(j,D.scope.get(j)):D.error(`Unknown variable \"${j}\". Make sure \"${j}\" has been bound in an enclosing \"let\" expression before using it.`,1)}evaluate(S){return this.boundExpression.evaluate(S)}eachChild(){}outputDefined(){return!1}}class br{constructor(S,D,j){this.type=S,this.index=D,this.input=j}static parse(S,D){if(S.length!==3)return D.error(`Expected 2 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,St),te=D.parse(S[2],2,Ne(D.expectedType||fr));return j&&te?new br(te.type.itemType,j,te):null}evaluate(S){let D=this.index.evaluate(S),j=this.input.evaluate(S);if(D<0)throw new la(`Array index out of bounds: ${D} < 0.`);if(D>=j.length)throw new la(`Array index out of bounds: ${D} > ${j.length-1}.`);if(D!==Math.floor(D))throw new la(`Array index must be an integer, but found ${D} instead.`);return j[D]}eachChild(S){S(this.index),S(this.input)}outputDefined(){return!1}}class Hr{constructor(S,D){this.type=dt,this.needle=S,this.haystack=D}static parse(S,D){if(S.length!==3)return D.error(`Expected 2 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,fr),te=D.parse(S[2],2,fr);return j&&te?ht(j.type,[dt,Et,St,Lt,fr])?new Hr(j,te):D.error(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(j.type)} instead`):null}evaluate(S){let D=this.needle.evaluate(S),j=this.haystack.evaluate(S);if(!j)return!1;if(!Le(D,[\"boolean\",\"string\",\"number\",\"null\"]))throw new la(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(Ki(D))} instead.`);if(!Le(j,[\"string\",\"array\"]))throw new la(`Expected second argument to be of type array or string, but found ${Ye(Ki(j))} instead.`);return j.indexOf(D)>=0}eachChild(S){S(this.needle),S(this.haystack)}outputDefined(){return!0}}class ti{constructor(S,D,j){this.type=St,this.needle=S,this.haystack=D,this.fromIndex=j}static parse(S,D){if(S.length<=2||S.length>=5)return D.error(`Expected 3 or 4 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,fr),te=D.parse(S[2],2,fr);if(!j||!te)return null;if(!ht(j.type,[dt,Et,St,Lt,fr]))return D.error(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(j.type)} instead`);if(S.length===4){let ue=D.parse(S[3],3,St);return ue?new ti(j,te,ue):null}return new ti(j,te)}evaluate(S){let D=this.needle.evaluate(S),j=this.haystack.evaluate(S);if(!Le(D,[\"boolean\",\"string\",\"number\",\"null\"]))throw new la(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(Ki(D))} instead.`);let te;if(this.fromIndex&&(te=this.fromIndex.evaluate(S)),Le(j,[\"string\"])){let ue=j.indexOf(D,te);return ue===-1?-1:[...j.slice(0,ue)].length}if(Le(j,[\"array\"]))return j.indexOf(D,te);throw new la(`Expected second argument to be of type array or string, but found ${Ye(Ki(j))} instead.`)}eachChild(S){S(this.needle),S(this.haystack),this.fromIndex&&S(this.fromIndex)}outputDefined(){return!1}}class zi{constructor(S,D,j,te,ue,ve){this.inputType=S,this.type=D,this.input=j,this.cases=te,this.outputs=ue,this.otherwise=ve}static parse(S,D){if(S.length<5)return D.error(`Expected at least 4 arguments, but found only ${S.length-1}.`);if(S.length%2!=1)return D.error(\"Expected an even number of arguments.\");let j,te;D.expectedType&&D.expectedType.kind!==\"value\"&&(te=D.expectedType);let ue={},ve=[];for(let at=2;at<S.length-1;at+=2){let Tt=S[at],Ft=S[at+1];Array.isArray(Tt)||(Tt=[Tt]);let Qt=D.concat(at);if(Tt.length===0)return Qt.error(\"Expected at least one branch label.\");for(let Tr of Tt){if(typeof Tr!=\"number\"&&typeof Tr!=\"string\")return Qt.error(\"Branch labels must be numbers or strings.\");if(typeof Tr==\"number\"&&Math.abs(Tr)>Number.MAX_SAFE_INTEGER)return Qt.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof Tr==\"number\"&&Math.floor(Tr)!==Tr)return Qt.error(\"Numeric branch labels must be integer values.\");if(j){if(Qt.checkSubtype(j,Ki(Tr)))return null}else j=Ki(Tr);if(ue[String(Tr)]!==void 0)return Qt.error(\"Branch labels must be unique.\");ue[String(Tr)]=ve.length}let sr=D.parse(Ft,at,te);if(!sr)return null;te=te||sr.type,ve.push(sr)}let De=D.parse(S[1],1,fr);if(!De)return null;let Ze=D.parse(S[S.length-1],S.length-1,te);return Ze?De.type.kind!==\"value\"&&D.concat(1).checkSubtype(j,De.type)?null:new zi(j,te,De,ue,ve,Ze):null}evaluate(S){let D=this.input.evaluate(S);return(Ki(D)===this.inputType&&this.outputs[this.cases[D]]||this.otherwise).evaluate(S)}eachChild(S){S(this.input),this.outputs.forEach(S),S(this.otherwise)}outputDefined(){return this.outputs.every(S=>S.outputDefined())&&this.otherwise.outputDefined()}}class Yi{constructor(S,D,j){this.type=S,this.branches=D,this.otherwise=j}static parse(S,D){if(S.length<4)return D.error(`Expected at least 3 arguments, but found only ${S.length-1}.`);if(S.length%2!=0)return D.error(\"Expected an odd number of arguments.\");let j;D.expectedType&&D.expectedType.kind!==\"value\"&&(j=D.expectedType);let te=[];for(let ve=1;ve<S.length-1;ve+=2){let De=D.parse(S[ve],ve,dt);if(!De)return null;let Ze=D.parse(S[ve+1],ve+1,j);if(!Ze)return null;te.push([De,Ze]),j=j||Ze.type}let ue=D.parse(S[S.length-1],S.length-1,j);if(!ue)return null;if(!j)throw new Error(\"Can't infer output type\");return new Yi(j,te,ue)}evaluate(S){for(let[D,j]of this.branches)if(D.evaluate(S))return j.evaluate(S);return this.otherwise.evaluate(S)}eachChild(S){for(let[D,j]of this.branches)S(D),S(j);S(this.otherwise)}outputDefined(){return this.branches.every(([S,D])=>D.outputDefined())&&this.otherwise.outputDefined()}}class an{constructor(S,D,j,te){this.type=S,this.input=D,this.beginIndex=j,this.endIndex=te}static parse(S,D){if(S.length<=2||S.length>=5)return D.error(`Expected 3 or 4 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,fr),te=D.parse(S[2],2,St);if(!j||!te)return null;if(!ht(j.type,[Ne(fr),Et,fr]))return D.error(`Expected first argument to be of type array or string, but found ${Ye(j.type)} instead`);if(S.length===4){let ue=D.parse(S[3],3,St);return ue?new an(j.type,j,te,ue):null}return new an(j.type,j,te)}evaluate(S){let D=this.input.evaluate(S),j=this.beginIndex.evaluate(S),te;if(this.endIndex&&(te=this.endIndex.evaluate(S)),Le(D,[\"string\"]))return[...D].slice(j,te).join(\"\");if(Le(D,[\"array\"]))return D.slice(j,te);throw new la(`Expected first argument to be of type array or string, but found ${Ye(Ki(D))} instead.`)}eachChild(S){S(this.input),S(this.beginIndex),this.endIndex&&S(this.endIndex)}outputDefined(){return!1}}function hi(R,S){let D=R.length-1,j,te,ue=0,ve=D,De=0;for(;ue<=ve;)if(De=Math.floor((ue+ve)/2),j=R[De],te=R[De+1],j<=S){if(De===D||S<te)return De;ue=De+1}else{if(!(j>S))throw new la(\"Input is not a number.\");ve=De-1}return 0}class Ji{constructor(S,D,j){this.type=S,this.input=D,this.labels=[],this.outputs=[];for(let[te,ue]of j)this.labels.push(te),this.outputs.push(ue)}static parse(S,D){if(S.length-1<4)return D.error(`Expected at least 4 arguments, but found only ${S.length-1}.`);if((S.length-1)%2!=0)return D.error(\"Expected an even number of arguments.\");let j=D.parse(S[1],1,St);if(!j)return null;let te=[],ue=null;D.expectedType&&D.expectedType.kind!==\"value\"&&(ue=D.expectedType);for(let ve=1;ve<S.length;ve+=2){let De=ve===1?-1/0:S[ve],Ze=S[ve+1],at=ve,Tt=ve+1;if(typeof De!=\"number\")return D.error('Input/output pairs for \"step\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',at);if(te.length&&te[te.length-1][0]>=De)return D.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',at);let Ft=D.parse(Ze,Tt,ue);if(!Ft)return null;ue=ue||Ft.type,te.push([De,Ft])}return new Ji(ue,j,te)}evaluate(S){let D=this.labels,j=this.outputs;if(D.length===1)return j[0].evaluate(S);let te=this.input.evaluate(S);if(te<=D[0])return j[0].evaluate(S);let ue=D.length;return te>=D[ue-1]?j[ue-1].evaluate(S):j[hi(D,te)].evaluate(S)}eachChild(S){S(this.input);for(let D of this.outputs)S(D)}outputDefined(){return this.outputs.every(S=>S.outputDefined())}}function ua(R){return R&&R.__esModule&&Object.prototype.hasOwnProperty.call(R,\"default\")?R.default:R}var Fn=Sa;function Sa(R,S,D,j){this.cx=3*R,this.bx=3*(D-R)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*S,this.by=3*(j-S)-this.cy,this.ay=1-this.cy-this.by,this.p1x=R,this.p1y=S,this.p2x=D,this.p2y=j}Sa.prototype={sampleCurveX:function(R){return((this.ax*R+this.bx)*R+this.cx)*R},sampleCurveY:function(R){return((this.ay*R+this.by)*R+this.cy)*R},sampleCurveDerivativeX:function(R){return(3*this.ax*R+2*this.bx)*R+this.cx},solveCurveX:function(R,S){if(S===void 0&&(S=1e-6),R<0)return 0;if(R>1)return 1;for(var D=R,j=0;j<8;j++){var te=this.sampleCurveX(D)-R;if(Math.abs(te)<S)return D;var ue=this.sampleCurveDerivativeX(D);if(Math.abs(ue)<1e-6)break;D-=te/ue}var ve=0,De=1;for(D=R,j=0;j<20&&(te=this.sampleCurveX(D),!(Math.abs(te-R)<S));j++)R>te?ve=D:De=D,D=.5*(De-ve)+ve;return D},solve:function(R,S){return this.sampleCurveY(this.solveCurveX(R,S))}};var go=ua(Fn);function Oo(R,S,D){return R+D*(S-R)}function ho(R,S,D){return R.map((j,te)=>Oo(j,S[te],D))}let Mo={number:Oo,color:function(R,S,D,j=\"rgb\"){switch(j){case\"rgb\":{let[te,ue,ve,De]=ho(R.rgb,S.rgb,D);return new Zt(te,ue,ve,De,!1)}case\"hcl\":{let[te,ue,ve,De]=R.hcl,[Ze,at,Tt,Ft]=S.hcl,Qt,sr;if(isNaN(te)||isNaN(Ze))isNaN(te)?isNaN(Ze)?Qt=NaN:(Qt=Ze,ve!==1&&ve!==0||(sr=at)):(Qt=te,Tt!==1&&Tt!==0||(sr=ue));else{let Di=Ze-te;Ze>te&&Di>180?Di-=360:Ze<te&&te-Ze>180&&(Di+=360),Qt=te+D*Di}let[Tr,Pr,$r,ni]=function([Di,pi,ki,Zi]){return Di=isNaN(Di)?0:Di*ai,Ni([ki,Math.cos(Di)*pi,Math.sin(Di)*pi,Zi])}([Qt,sr!=null?sr:Oo(ue,at,D),Oo(ve,Tt,D),Oo(De,Ft,D)]);return new Zt(Tr,Pr,$r,ni,!1)}case\"lab\":{let[te,ue,ve,De]=Ni(ho(R.lab,S.lab,D));return new Zt(te,ue,ve,De,!1)}}},array:ho,padding:function(R,S,D){return new Vr(ho(R.values,S.values,D))},variableAnchorOffsetCollection:function(R,S,D){let j=R.values,te=S.values;if(j.length!==te.length)throw new la(`Cannot interpolate values of different length. from: ${R.toString()}, to: ${S.toString()}`);let ue=[];for(let ve=0;ve<j.length;ve+=2){if(j[ve]!==te[ve])throw new la(`Cannot interpolate values containing mismatched anchors. from[${ve}]: ${j[ve]}, to[${ve}]: ${te[ve]}`);ue.push(j[ve]);let[De,Ze]=j[ve+1],[at,Tt]=te[ve+1];ue.push([Oo(De,at,D),Oo(Ze,Tt,D)])}return new Si(ue)}};class xo{constructor(S,D,j,te,ue){this.type=S,this.operator=D,this.interpolation=j,this.input=te,this.labels=[],this.outputs=[];for(let[ve,De]of ue)this.labels.push(ve),this.outputs.push(De)}static interpolationFactor(S,D,j,te){let ue=0;if(S.name===\"exponential\")ue=zs(D,S.base,j,te);else if(S.name===\"linear\")ue=zs(D,1,j,te);else if(S.name===\"cubic-bezier\"){let ve=S.controlPoints;ue=new go(ve[0],ve[1],ve[2],ve[3]).solve(zs(D,1,j,te))}return ue}static parse(S,D){let[j,te,ue,...ve]=S;if(!Array.isArray(te)||te.length===0)return D.error(\"Expected an interpolation type expression.\",1);if(te[0]===\"linear\")te={name:\"linear\"};else if(te[0]===\"exponential\"){let at=te[1];if(typeof at!=\"number\")return D.error(\"Exponential interpolation requires a numeric base.\",1,1);te={name:\"exponential\",base:at}}else{if(te[0]!==\"cubic-bezier\")return D.error(`Unknown interpolation type ${String(te[0])}`,1,0);{let at=te.slice(1);if(at.length!==4||at.some(Tt=>typeof Tt!=\"number\"||Tt<0||Tt>1))return D.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);te={name:\"cubic-bezier\",controlPoints:at}}}if(S.length-1<4)return D.error(`Expected at least 4 arguments, but found only ${S.length-1}.`);if((S.length-1)%2!=0)return D.error(\"Expected an even number of arguments.\");if(ue=D.parse(ue,2,St),!ue)return null;let De=[],Ze=null;j===\"interpolate-hcl\"||j===\"interpolate-lab\"?Ze=Ht:D.expectedType&&D.expectedType.kind!==\"value\"&&(Ze=D.expectedType);for(let at=0;at<ve.length;at+=2){let Tt=ve[at],Ft=ve[at+1],Qt=at+3,sr=at+4;if(typeof Tt!=\"number\")return D.error('Input/output pairs for \"interpolate\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',Qt);if(De.length&&De[De.length-1][0]>=Tt)return D.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',Qt);let Tr=D.parse(Ft,sr,Ze);if(!Tr)return null;Ze=Ze||Tr.type,De.push([Tt,Tr])}return xe(Ze,St)||xe(Ze,Ht)||xe(Ze,Or)||xe(Ze,ut)||xe(Ze,Ne(St))?new xo(Ze,j,te,ue,De):D.error(`Type ${Ye(Ze)} is not interpolatable.`)}evaluate(S){let D=this.labels,j=this.outputs;if(D.length===1)return j[0].evaluate(S);let te=this.input.evaluate(S);if(te<=D[0])return j[0].evaluate(S);let ue=D.length;if(te>=D[ue-1])return j[ue-1].evaluate(S);let ve=hi(D,te),De=xo.interpolationFactor(this.interpolation,te,D[ve],D[ve+1]),Ze=j[ve].evaluate(S),at=j[ve+1].evaluate(S);switch(this.operator){case\"interpolate\":return Mo[this.type.kind](Ze,at,De);case\"interpolate-hcl\":return Mo.color(Ze,at,De,\"hcl\");case\"interpolate-lab\":return Mo.color(Ze,at,De,\"lab\")}}eachChild(S){S(this.input);for(let D of this.outputs)S(D)}outputDefined(){return this.outputs.every(S=>S.outputDefined())}}function zs(R,S,D,j){let te=j-D,ue=R-D;return te===0?0:S===1?ue/te:(Math.pow(S,ue)-1)/(Math.pow(S,te)-1)}class ks{constructor(S,D){this.type=S,this.args=D}static parse(S,D){if(S.length<2)return D.error(\"Expectected at least one argument.\");let j=null,te=D.expectedType;te&&te.kind!==\"value\"&&(j=te);let ue=[];for(let De of S.slice(1)){let Ze=D.parse(De,1+ue.length,j,void 0,{typeAnnotation:\"omit\"});if(!Ze)return null;j=j||Ze.type,ue.push(Ze)}if(!j)throw new Error(\"No output type\");let ve=te&&ue.some(De=>Xe(te,De.type));return new ks(ve?fr:j,ue)}evaluate(S){let D,j=null,te=0;for(let ue of this.args)if(te++,j=ue.evaluate(S),j&&j instanceof Mi&&!j.available&&(D||(D=j.name),j=null,te===this.args.length&&(j=D)),j!==null)break;return j}eachChild(S){this.args.forEach(S)}outputDefined(){return this.args.every(S=>S.outputDefined())}}function Zs(R,S){return R===\"==\"||R===\"!=\"?S.kind===\"boolean\"||S.kind===\"string\"||S.kind===\"number\"||S.kind===\"null\"||S.kind===\"value\":S.kind===\"string\"||S.kind===\"number\"||S.kind===\"value\"}function Xs(R,S,D,j){return j.compare(S,D)===0}function wl(R,S,D){let j=R!==\"==\"&&R!==\"!=\";return class GHe{constructor(ue,ve,De){this.type=dt,this.lhs=ue,this.rhs=ve,this.collator=De,this.hasUntypedArgument=ue.type.kind===\"value\"||ve.type.kind===\"value\"}static parse(ue,ve){if(ue.length!==3&&ue.length!==4)return ve.error(\"Expected two or three arguments.\");let De=ue[0],Ze=ve.parse(ue[1],1,fr);if(!Ze)return null;if(!Zs(De,Ze.type))return ve.concat(1).error(`\"${De}\" comparisons are not supported for type '${Ye(Ze.type)}'.`);let at=ve.parse(ue[2],2,fr);if(!at)return null;if(!Zs(De,at.type))return ve.concat(2).error(`\"${De}\" comparisons are not supported for type '${Ye(at.type)}'.`);if(Ze.type.kind!==at.type.kind&&Ze.type.kind!==\"value\"&&at.type.kind!==\"value\")return ve.error(`Cannot compare types '${Ye(Ze.type)}' and '${Ye(at.type)}'.`);j&&(Ze.type.kind===\"value\"&&at.type.kind!==\"value\"?Ze=new Ra(at.type,[Ze]):Ze.type.kind!==\"value\"&&at.type.kind===\"value\"&&(at=new Ra(Ze.type,[at])));let Tt=null;if(ue.length===4){if(Ze.type.kind!==\"string\"&&at.type.kind!==\"string\"&&Ze.type.kind!==\"value\"&&at.type.kind!==\"value\")return ve.error(\"Cannot use collator to compare non-string types.\");if(Tt=ve.parse(ue[3],3,_r),!Tt)return null}return new GHe(Ze,at,Tt)}evaluate(ue){let ve=this.lhs.evaluate(ue),De=this.rhs.evaluate(ue);if(j&&this.hasUntypedArgument){let Ze=Ki(ve),at=Ki(De);if(Ze.kind!==at.kind||Ze.kind!==\"string\"&&Ze.kind!==\"number\")throw new la(`Expected arguments for \"${R}\" to be (string, string) or (number, number), but found (${Ze.kind}, ${at.kind}) instead.`)}if(this.collator&&!j&&this.hasUntypedArgument){let Ze=Ki(ve),at=Ki(De);if(Ze.kind!==\"string\"||at.kind!==\"string\")return S(ue,ve,De)}return this.collator?D(ue,ve,De,this.collator.evaluate(ue)):S(ue,ve,De)}eachChild(ue){ue(this.lhs),ue(this.rhs),this.collator&&ue(this.collator)}outputDefined(){return!0}}}let os=wl(\"==\",function(R,S,D){return S===D},Xs),cl=wl(\"!=\",function(R,S,D){return S!==D},function(R,S,D,j){return!Xs(0,S,D,j)}),Cs=wl(\"<\",function(R,S,D){return S<D},function(R,S,D,j){return j.compare(S,D)<0}),ml=wl(\">\",function(R,S,D){return S>D},function(R,S,D,j){return j.compare(S,D)>0}),Ys=wl(\"<=\",function(R,S,D){return S<=D},function(R,S,D,j){return j.compare(S,D)<=0}),Hs=wl(\">=\",function(R,S,D){return S>=D},function(R,S,D,j){return j.compare(S,D)>=0});class Eo{constructor(S,D,j){this.type=_r,this.locale=j,this.caseSensitive=S,this.diacriticSensitive=D}static parse(S,D){if(S.length!==2)return D.error(\"Expected one argument.\");let j=S[1];if(typeof j!=\"object\"||Array.isArray(j))return D.error(\"Collator options argument must be an object.\");let te=D.parse(j[\"case-sensitive\"]!==void 0&&j[\"case-sensitive\"],1,dt);if(!te)return null;let ue=D.parse(j[\"diacritic-sensitive\"]!==void 0&&j[\"diacritic-sensitive\"],1,dt);if(!ue)return null;let ve=null;return j.locale&&(ve=D.parse(j.locale,1,Et),!ve)?null:new Eo(te,ue,ve)}evaluate(S){return new yr(this.caseSensitive.evaluate(S),this.diacriticSensitive.evaluate(S),this.locale?this.locale.evaluate(S):null)}eachChild(S){S(this.caseSensitive),S(this.diacriticSensitive),this.locale&&S(this.locale)}outputDefined(){return!1}}class fs{constructor(S,D,j,te,ue){this.type=Et,this.number=S,this.locale=D,this.currency=j,this.minFractionDigits=te,this.maxFractionDigits=ue}static parse(S,D){if(S.length!==3)return D.error(\"Expected two arguments.\");let j=D.parse(S[1],1,St);if(!j)return null;let te=S[2];if(typeof te!=\"object\"||Array.isArray(te))return D.error(\"NumberFormat options argument must be an object.\");let ue=null;if(te.locale&&(ue=D.parse(te.locale,1,Et),!ue))return null;let ve=null;if(te.currency&&(ve=D.parse(te.currency,1,Et),!ve))return null;let De=null;if(te[\"min-fraction-digits\"]&&(De=D.parse(te[\"min-fraction-digits\"],1,St),!De))return null;let Ze=null;return te[\"max-fraction-digits\"]&&(Ze=D.parse(te[\"max-fraction-digits\"],1,St),!Ze)?null:new fs(j,ue,ve,De,Ze)}evaluate(S){return new Intl.NumberFormat(this.locale?this.locale.evaluate(S):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(S):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(S):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(S):void 0}).format(this.number.evaluate(S))}eachChild(S){S(this.number),this.locale&&S(this.locale),this.currency&&S(this.currency),this.minFractionDigits&&S(this.minFractionDigits),this.maxFractionDigits&&S(this.maxFractionDigits)}outputDefined(){return!1}}class Ql{constructor(S){this.type=Br,this.sections=S}static parse(S,D){if(S.length<2)return D.error(\"Expected at least one argument.\");let j=S[1];if(!Array.isArray(j)&&typeof j==\"object\")return D.error(\"First argument must be an image or text section.\");let te=[],ue=!1;for(let ve=1;ve<=S.length-1;++ve){let De=S[ve];if(ue&&typeof De==\"object\"&&!Array.isArray(De)){ue=!1;let Ze=null;if(De[\"font-scale\"]&&(Ze=D.parse(De[\"font-scale\"],1,St),!Ze))return null;let at=null;if(De[\"text-font\"]&&(at=D.parse(De[\"text-font\"],1,Ne(Et)),!at))return null;let Tt=null;if(De[\"text-color\"]&&(Tt=D.parse(De[\"text-color\"],1,Ht),!Tt))return null;let Ft=te[te.length-1];Ft.scale=Ze,Ft.font=at,Ft.textColor=Tt}else{let Ze=D.parse(S[ve],1,fr);if(!Ze)return null;let at=Ze.type.kind;if(at!==\"string\"&&at!==\"value\"&&at!==\"null\"&&at!==\"resolvedImage\")return D.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");ue=!0,te.push({content:Ze,scale:null,font:null,textColor:null})}}return new Ql(te)}evaluate(S){return new Zr(this.sections.map(D=>{let j=D.content.evaluate(S);return Ki(j)===Nr?new Fr(\"\",j,null,null,null):new Fr(ka(j),null,D.scale?D.scale.evaluate(S):null,D.font?D.font.evaluate(S).join(\",\"):null,D.textColor?D.textColor.evaluate(S):null)}))}eachChild(S){for(let D of this.sections)S(D.content),D.scale&&S(D.scale),D.font&&S(D.font),D.textColor&&S(D.textColor)}outputDefined(){return!1}}class Hu{constructor(S){this.type=Nr,this.input=S}static parse(S,D){if(S.length!==2)return D.error(\"Expected two arguments.\");let j=D.parse(S[1],1,Et);return j?new Hu(j):D.error(\"No image name provided.\")}evaluate(S){let D=this.input.evaluate(S),j=Mi.fromString(D);return j&&S.availableImages&&(j.available=S.availableImages.indexOf(D)>-1),j}eachChild(S){S(this.input)}outputDefined(){return!1}}class fc{constructor(S){this.type=St,this.input=S}static parse(S,D){if(S.length!==2)return D.error(`Expected 1 argument, but found ${S.length-1} instead.`);let j=D.parse(S[1],1);return j?j.type.kind!==\"array\"&&j.type.kind!==\"string\"&&j.type.kind!==\"value\"?D.error(`Expected argument of type string or array, but found ${Ye(j.type)} instead.`):new fc(j):null}evaluate(S){let D=this.input.evaluate(S);if(typeof D==\"string\")return[...D].length;if(Array.isArray(D))return D.length;throw new la(`Expected value to be of type string or array, but found ${Ye(Ki(D))} instead.`)}eachChild(S){S(this.input)}outputDefined(){return!1}}let ms=8192;function on(R,S){let D=(180+R[0])/360,j=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+R[1]*Math.PI/360)))/360,te=Math.pow(2,S.z);return[Math.round(D*te*ms),Math.round(j*te*ms)]}function fa(R,S){let D=Math.pow(2,S.z);return[(te=(R[0]/ms+S.x)/D,360*te-180),(j=(R[1]/ms+S.y)/D,360/Math.PI*Math.atan(Math.exp((180-360*j)*Math.PI/180))-90)];var j,te}function Qu(R,S){R[0]=Math.min(R[0],S[0]),R[1]=Math.min(R[1],S[1]),R[2]=Math.max(R[2],S[0]),R[3]=Math.max(R[3],S[1])}function Rl(R,S){return!(R[0]<=S[0]||R[2]>=S[2]||R[1]<=S[1]||R[3]>=S[3])}function vo(R,S,D){let j=R[0]-S[0],te=R[1]-S[1],ue=R[0]-D[0],ve=R[1]-D[1];return j*ve-ue*te==0&&j*ue<=0&&te*ve<=0}function Zl(R,S,D,j){return(te=[j[0]-D[0],j[1]-D[1]])[0]*(ue=[S[0]-R[0],S[1]-R[1]])[1]-te[1]*ue[0]!=0&&!(!Co(R,S,D,j)||!Co(D,j,R,S));var te,ue}function Ks(R,S,D){for(let j of D)for(let te=0;te<j.length-1;++te)if(Zl(R,S,j[te],j[te+1]))return!0;return!1}function Xl(R,S,D=!1){let j=!1;for(let De of S)for(let Ze=0;Ze<De.length-1;Ze++){if(vo(R,De[Ze],De[Ze+1]))return D;(ue=De[Ze])[1]>(te=R)[1]!=(ve=De[Ze+1])[1]>te[1]&&te[0]<(ve[0]-ue[0])*(te[1]-ue[1])/(ve[1]-ue[1])+ue[0]&&(j=!j)}var te,ue,ve;return j}function Ec(R,S){for(let D of S)if(Xl(R,D))return!0;return!1}function Zn(R,S){for(let D of R)if(!Xl(D,S))return!1;for(let D=0;D<R.length-1;++D)if(Ks(R[D],R[D+1],S))return!1;return!0}function ko(R,S){for(let D of S)if(Zn(R,D))return!0;return!1}function Co(R,S,D,j){let te=j[0]-D[0],ue=j[1]-D[1],ve=(R[0]-D[0])*ue-te*(R[1]-D[1]),De=(S[0]-D[0])*ue-te*(S[1]-D[1]);return ve>0&&De<0||ve<0&&De>0}function Tl(R,S,D){let j=[];for(let te=0;te<R.length;te++){let ue=[];for(let ve=0;ve<R[te].length;ve++){let De=on(R[te][ve],D);Qu(S,De),ue.push(De)}j.push(ue)}return j}function uf(R,S,D){let j=[];for(let te=0;te<R.length;te++){let ue=Tl(R[te],S,D);j.push(ue)}return j}function So(R,S,D,j){if(R[0]<D[0]||R[0]>D[2]){let te=.5*j,ue=R[0]-D[0]>te?-j:D[0]-R[0]>te?j:0;ue===0&&(ue=R[0]-D[2]>te?-j:D[2]-R[0]>te?j:0),R[0]+=ue}Qu(S,R)}function cf(R,S,D,j){let te=Math.pow(2,j.z)*ms,ue=[j.x*ms,j.y*ms],ve=[];for(let De of R)for(let Ze of De){let at=[Ze.x+ue[0],Ze.y+ue[1]];So(at,S,D,te),ve.push(at)}return ve}function rh(R,S,D,j){let te=Math.pow(2,j.z)*ms,ue=[j.x*ms,j.y*ms],ve=[];for(let Ze of R){let at=[];for(let Tt of Ze){let Ft=[Tt.x+ue[0],Tt.y+ue[1]];Qu(S,Ft),at.push(Ft)}ve.push(at)}if(S[2]-S[0]<=te/2){(De=S)[0]=De[1]=1/0,De[2]=De[3]=-1/0;for(let Ze of ve)for(let at of Ze)So(at,S,D,te)}var De;return ve}class Al{constructor(S,D){this.type=dt,this.geojson=S,this.geometries=D}static parse(S,D){if(S.length!==2)return D.error(`'within' expression requires exactly one argument, but found ${S.length-1} instead.`);if(Gi(S[1])){let j=S[1];if(j.type===\"FeatureCollection\"){let te=[];for(let ue of j.features){let{type:ve,coordinates:De}=ue.geometry;ve===\"Polygon\"&&te.push(De),ve===\"MultiPolygon\"&&te.push(...De)}if(te.length)return new Al(j,{type:\"MultiPolygon\",coordinates:te})}else if(j.type===\"Feature\"){let te=j.geometry.type;if(te===\"Polygon\"||te===\"MultiPolygon\")return new Al(j,j.geometry)}else if(j.type===\"Polygon\"||j.type===\"MultiPolygon\")return new Al(j,j)}return D.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(S){if(S.geometry()!=null&&S.canonicalID()!=null){if(S.geometryType()===\"Point\")return function(D,j){let te=[1/0,1/0,-1/0,-1/0],ue=[1/0,1/0,-1/0,-1/0],ve=D.canonicalID();if(j.type===\"Polygon\"){let De=Tl(j.coordinates,ue,ve),Ze=cf(D.geometry(),te,ue,ve);if(!Rl(te,ue))return!1;for(let at of Ze)if(!Xl(at,De))return!1}if(j.type===\"MultiPolygon\"){let De=uf(j.coordinates,ue,ve),Ze=cf(D.geometry(),te,ue,ve);if(!Rl(te,ue))return!1;for(let at of Ze)if(!Ec(at,De))return!1}return!0}(S,this.geometries);if(S.geometryType()===\"LineString\")return function(D,j){let te=[1/0,1/0,-1/0,-1/0],ue=[1/0,1/0,-1/0,-1/0],ve=D.canonicalID();if(j.type===\"Polygon\"){let De=Tl(j.coordinates,ue,ve),Ze=rh(D.geometry(),te,ue,ve);if(!Rl(te,ue))return!1;for(let at of Ze)if(!Zn(at,De))return!1}if(j.type===\"MultiPolygon\"){let De=uf(j.coordinates,ue,ve),Ze=rh(D.geometry(),te,ue,ve);if(!Rl(te,ue))return!1;for(let at of Ze)if(!ko(at,De))return!1}return!0}(S,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let Hc=class{constructor(R=[],S=(D,j)=>D<j?-1:D>j?1:0){if(this.data=R,this.length=this.data.length,this.compare=S,this.length>0)for(let D=(this.length>>1)-1;D>=0;D--)this._down(D)}push(R){this.data.push(R),this._up(this.length++)}pop(){if(this.length===0)return;let R=this.data[0],S=this.data.pop();return--this.length>0&&(this.data[0]=S,this._down(0)),R}peek(){return this.data[0]}_up(R){let{data:S,compare:D}=this,j=S[R];for(;R>0;){let te=R-1>>1,ue=S[te];if(D(j,ue)>=0)break;S[R]=ue,R=te}S[R]=j}_down(R){let{data:S,compare:D}=this,j=this.length>>1,te=S[R];for(;R<j;){let ue=1+(R<<1),ve=ue+1;if(ve<this.length&&D(S[ve],S[ue])<0&&(ue=ve),D(S[ue],te)>=0)break;S[R]=S[ue],R=ue}S[R]=te}};function eu(R,S,D,j,te){Ls(R,S,D,j||R.length-1,te||kc)}function Ls(R,S,D,j,te){for(;j>D;){if(j-D>600){var ue=j-D+1,ve=S-D+1,De=Math.log(ue),Ze=.5*Math.exp(2*De/3),at=.5*Math.sqrt(De*Ze*(ue-Ze)/ue)*(ve-ue/2<0?-1:1);Ls(R,S,Math.max(D,Math.floor(S-ve*Ze/ue+at)),Math.min(j,Math.floor(S+(ue-ve)*Ze/ue+at)),te)}var Tt=R[S],Ft=D,Qt=j;for(mu(R,D,S),te(R[j],Tt)>0&&mu(R,D,j);Ft<Qt;){for(mu(R,Ft,Qt),Ft++,Qt--;te(R[Ft],Tt)<0;)Ft++;for(;te(R[Qt],Tt)>0;)Qt--}te(R[D],Tt)===0?mu(R,D,Qt):mu(R,++Qt,j),Qt<=S&&(D=Qt+1),S<=Qt&&(j=Qt-1)}}function mu(R,S,D){var j=R[S];R[S]=R[D],R[D]=j}function kc(R,S){return R<S?-1:R>S?1:0}function Of(R,S){if(R.length<=1)return[R];let D=[],j,te;for(let ue of R){let ve=vd(ue);ve!==0&&(ue.area=Math.abs(ve),te===void 0&&(te=ve<0),te===ve<0?(j&&D.push(j),j=[ue]):j.push(ue))}if(j&&D.push(j),S>1)for(let ue=0;ue<D.length;ue++)D[ue].length<=S||(eu(D[ue],S,1,D[ue].length-1,Gc),D[ue]=D[ue].slice(0,S));return D}function Gc(R,S){return S.area-R.area}function vd(R){let S=0;for(let D,j,te=0,ue=R.length,ve=ue-1;te<ue;ve=te++)D=R[te],j=R[ve],S+=(j.x-D.x)*(D.y+j.y);return S}let Bf=1/298.257223563,ss=Bf*(2-Bf),ff=Math.PI/180;class ih{constructor(S){let D=6378.137*ff*1e3,j=Math.cos(S*ff),te=1/(1-ss*(1-j*j)),ue=Math.sqrt(te);this.kx=D*ue*j,this.ky=D*ue*te*(1-ss)}distance(S,D){let j=this.wrap(S[0]-D[0])*this.kx,te=(S[1]-D[1])*this.ky;return Math.sqrt(j*j+te*te)}pointOnLine(S,D){let j,te,ue,ve,De=1/0;for(let Ze=0;Ze<S.length-1;Ze++){let at=S[Ze][0],Tt=S[Ze][1],Ft=this.wrap(S[Ze+1][0]-at)*this.kx,Qt=(S[Ze+1][1]-Tt)*this.ky,sr=0;Ft===0&&Qt===0||(sr=(this.wrap(D[0]-at)*this.kx*Ft+(D[1]-Tt)*this.ky*Qt)/(Ft*Ft+Qt*Qt),sr>1?(at=S[Ze+1][0],Tt=S[Ze+1][1]):sr>0&&(at+=Ft/this.kx*sr,Tt+=Qt/this.ky*sr)),Ft=this.wrap(D[0]-at)*this.kx,Qt=(D[1]-Tt)*this.ky;let Tr=Ft*Ft+Qt*Qt;Tr<De&&(De=Tr,j=at,te=Tt,ue=Ze,ve=sr)}return{point:[j,te],index:ue,t:Math.max(0,Math.min(1,ve))}}wrap(S){for(;S<-180;)S+=360;for(;S>180;)S-=360;return S}}function Vl(R,S){return S[0]-R[0]}function Js(R){return R[1]-R[0]+1}function hc(R,S){return R[1]>=R[0]&&R[1]<S}function Cc(R,S){if(R[0]>R[1])return[null,null];let D=Js(R);if(S){if(D===2)return[R,null];let te=Math.floor(D/2);return[[R[0],R[0]+te],[R[0]+te,R[1]]]}if(D===1)return[R,null];let j=Math.floor(D/2)-1;return[[R[0],R[0]+j],[R[0]+j+1,R[1]]]}function ws(R,S){if(!hc(S,R.length))return[1/0,1/0,-1/0,-1/0];let D=[1/0,1/0,-1/0,-1/0];for(let j=S[0];j<=S[1];++j)Qu(D,R[j]);return D}function $s(R){let S=[1/0,1/0,-1/0,-1/0];for(let D of R)for(let j of D)Qu(S,j);return S}function hs(R){return R[0]!==-1/0&&R[1]!==-1/0&&R[2]!==1/0&&R[3]!==1/0}function Ms(R,S,D){if(!hs(R)||!hs(S))return NaN;let j=0,te=0;return R[2]<S[0]&&(j=S[0]-R[2]),R[0]>S[2]&&(j=R[0]-S[2]),R[1]>S[3]&&(te=R[1]-S[3]),R[3]<S[1]&&(te=S[1]-R[3]),D.distance([0,0],[j,te])}function dc(R,S,D){let j=D.pointOnLine(S,R);return D.distance(R,j.point)}function Sl(R,S,D,j,te){let ue=Math.min(dc(R,[D,j],te),dc(S,[D,j],te)),ve=Math.min(dc(D,[R,S],te),dc(j,[R,S],te));return Math.min(ue,ve)}function ec(R,S,D,j,te){if(!hc(S,R.length)||!hc(j,D.length))return 1/0;let ue=1/0;for(let ve=S[0];ve<S[1];++ve){let De=R[ve],Ze=R[ve+1];for(let at=j[0];at<j[1];++at){let Tt=D[at],Ft=D[at+1];if(Zl(De,Ze,Tt,Ft))return 0;ue=Math.min(ue,Sl(De,Ze,Tt,Ft,te))}}return ue}function Ps(R,S,D,j,te){if(!hc(S,R.length)||!hc(j,D.length))return NaN;let ue=1/0;for(let ve=S[0];ve<=S[1];++ve)for(let De=j[0];De<=j[1];++De)if(ue=Math.min(ue,te.distance(R[ve],D[De])),ue===0)return ue;return ue}function ov(R,S,D){if(Xl(R,S,!0))return 0;let j=1/0;for(let te of S){let ue=te[0],ve=te[te.length-1];if(ue!==ve&&(j=Math.min(j,dc(R,[ve,ue],D)),j===0))return j;let De=D.pointOnLine(te,R);if(j=Math.min(j,D.distance(R,De.point)),j===0)return j}return j}function wo(R,S,D,j){if(!hc(S,R.length))return NaN;for(let ue=S[0];ue<=S[1];++ue)if(Xl(R[ue],D,!0))return 0;let te=1/0;for(let ue=S[0];ue<S[1];++ue){let ve=R[ue],De=R[ue+1];for(let Ze of D)for(let at=0,Tt=Ze.length,Ft=Tt-1;at<Tt;Ft=at++){let Qt=Ze[Ft],sr=Ze[at];if(Zl(ve,De,Qt,sr))return 0;te=Math.min(te,Sl(ve,De,Qt,sr,j))}}return te}function Od(R,S){for(let D of R)for(let j of D)if(Xl(j,S,!0))return!0;return!1}function $o(R,S,D,j=1/0){let te=$s(R),ue=$s(S);if(j!==1/0&&Ms(te,ue,D)>=j)return j;if(Rl(te,ue)){if(Od(R,S))return 0}else if(Od(S,R))return 0;let ve=1/0;for(let De of R)for(let Ze=0,at=De.length,Tt=at-1;Ze<at;Tt=Ze++){let Ft=De[Tt],Qt=De[Ze];for(let sr of S)for(let Tr=0,Pr=sr.length,$r=Pr-1;Tr<Pr;$r=Tr++){let ni=sr[$r],Di=sr[Tr];if(Zl(Ft,Qt,ni,Di))return 0;ve=Math.min(ve,Sl(Ft,Qt,ni,Di,D))}}return ve}function Ja(R,S,D,j,te,ue){if(!ue)return;let ve=Ms(ws(j,ue),te,D);ve<S&&R.push([ve,ue,[0,0]])}function Ef(R,S,D,j,te,ue,ve){if(!ue||!ve)return;let De=Ms(ws(j,ue),ws(te,ve),D);De<S&&R.push([De,ue,ve])}function tc(R,S,D,j,te=1/0){let ue=Math.min(j.distance(R[0],D[0][0]),te);if(ue===0)return ue;let ve=new Hc([[0,[0,R.length-1],[0,0]]],Vl),De=$s(D);for(;ve.length>0;){let Ze=ve.pop();if(Ze[0]>=ue)continue;let at=Ze[1],Tt=S?50:100;if(Js(at)<=Tt){if(!hc(at,R.length))return NaN;if(S){let Ft=wo(R,at,D,j);if(isNaN(Ft)||Ft===0)return Ft;ue=Math.min(ue,Ft)}else for(let Ft=at[0];Ft<=at[1];++Ft){let Qt=ov(R[Ft],D,j);if(ue=Math.min(ue,Qt),ue===0)return 0}}else{let Ft=Cc(at,S);Ja(ve,ue,j,R,De,Ft[0]),Ja(ve,ue,j,R,De,Ft[1])}}return ue}function uu(R,S,D,j,te,ue=1/0){let ve=Math.min(ue,te.distance(R[0],D[0]));if(ve===0)return ve;let De=new Hc([[0,[0,R.length-1],[0,D.length-1]]],Vl);for(;De.length>0;){let Ze=De.pop();if(Ze[0]>=ve)continue;let at=Ze[1],Tt=Ze[2],Ft=S?50:100,Qt=j?50:100;if(Js(at)<=Ft&&Js(Tt)<=Qt){if(!hc(at,R.length)&&hc(Tt,D.length))return NaN;let sr;if(S&&j)sr=ec(R,at,D,Tt,te),ve=Math.min(ve,sr);else if(S&&!j){let Tr=R.slice(at[0],at[1]+1);for(let Pr=Tt[0];Pr<=Tt[1];++Pr)if(sr=dc(D[Pr],Tr,te),ve=Math.min(ve,sr),ve===0)return ve}else if(!S&&j){let Tr=D.slice(Tt[0],Tt[1]+1);for(let Pr=at[0];Pr<=at[1];++Pr)if(sr=dc(R[Pr],Tr,te),ve=Math.min(ve,sr),ve===0)return ve}else sr=Ps(R,at,D,Tt,te),ve=Math.min(ve,sr)}else{let sr=Cc(at,S),Tr=Cc(Tt,j);Ef(De,ve,te,R,D,sr[0],Tr[0]),Ef(De,ve,te,R,D,sr[0],Tr[1]),Ef(De,ve,te,R,D,sr[1],Tr[0]),Ef(De,ve,te,R,D,sr[1],Tr[1])}}return ve}function Mh(R){return R.type===\"MultiPolygon\"?R.coordinates.map(S=>({type:\"Polygon\",coordinates:S})):R.type===\"MultiLineString\"?R.coordinates.map(S=>({type:\"LineString\",coordinates:S})):R.type===\"MultiPoint\"?R.coordinates.map(S=>({type:\"Point\",coordinates:S})):[R]}class jc{constructor(S,D){this.type=St,this.geojson=S,this.geometries=D}static parse(S,D){if(S.length!==2)return D.error(`'distance' expression requires exactly one argument, but found ${S.length-1} instead.`);if(Gi(S[1])){let j=S[1];if(j.type===\"FeatureCollection\")return new jc(j,j.features.map(te=>Mh(te.geometry)).flat());if(j.type===\"Feature\")return new jc(j,Mh(j.geometry));if(\"type\"in j&&\"coordinates\"in j)return new jc(j,Mh(j))}return D.error(\"'distance' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(S){if(S.geometry()!=null&&S.canonicalID()!=null){if(S.geometryType()===\"Point\")return function(D,j){let te=D.geometry(),ue=te.flat().map(Ze=>fa([Ze.x,Ze.y],D.canonical));if(te.length===0)return NaN;let ve=new ih(ue[0][1]),De=1/0;for(let Ze of j){switch(Ze.type){case\"Point\":De=Math.min(De,uu(ue,!1,[Ze.coordinates],!1,ve,De));break;case\"LineString\":De=Math.min(De,uu(ue,!1,Ze.coordinates,!0,ve,De));break;case\"Polygon\":De=Math.min(De,tc(ue,!1,Ze.coordinates,ve,De))}if(De===0)return De}return De}(S,this.geometries);if(S.geometryType()===\"LineString\")return function(D,j){let te=D.geometry(),ue=te.flat().map(Ze=>fa([Ze.x,Ze.y],D.canonical));if(te.length===0)return NaN;let ve=new ih(ue[0][1]),De=1/0;for(let Ze of j){switch(Ze.type){case\"Point\":De=Math.min(De,uu(ue,!0,[Ze.coordinates],!1,ve,De));break;case\"LineString\":De=Math.min(De,uu(ue,!0,Ze.coordinates,!0,ve,De));break;case\"Polygon\":De=Math.min(De,tc(ue,!0,Ze.coordinates,ve,De))}if(De===0)return De}return De}(S,this.geometries);if(S.geometryType()===\"Polygon\")return function(D,j){let te=D.geometry();if(te.length===0||te[0].length===0)return NaN;let ue=Of(te,0).map(Ze=>Ze.map(at=>at.map(Tt=>fa([Tt.x,Tt.y],D.canonical)))),ve=new ih(ue[0][0][0][1]),De=1/0;for(let Ze of j)for(let at of ue){switch(Ze.type){case\"Point\":De=Math.min(De,tc([Ze.coordinates],!1,at,ve,De));break;case\"LineString\":De=Math.min(De,tc(Ze.coordinates,!0,at,ve,De));break;case\"Polygon\":De=Math.min(De,$o(at,Ze.coordinates,ve,De))}if(De===0)return De}return De}(S,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}let kf={\"==\":os,\"!=\":cl,\">\":ml,\"<\":Cs,\">=\":Hs,\"<=\":Ys,array:Ra,at:br,boolean:Ra,case:Yi,coalesce:ks,collator:Eo,format:Ql,image:Hu,in:Hr,\"index-of\":ti,interpolate:xo,\"interpolate-hcl\":xo,\"interpolate-lab\":xo,length:fc,let:xn,literal:jn,match:zi,number:Ra,\"number-format\":fs,object:Ra,slice:an,step:Ji,string:Ra,\"to-boolean\":oa,\"to-color\":oa,\"to-number\":oa,\"to-string\":oa,var:_t,within:Al,distance:jc};class Ml{constructor(S,D,j,te){this.name=S,this.type=D,this._evaluate=j,this.args=te}evaluate(S){return this._evaluate(S,this.args)}eachChild(S){this.args.forEach(S)}outputDefined(){return!1}static parse(S,D){let j=S[0],te=Ml.definitions[j];if(!te)return D.error(`Unknown expression \"${j}\". If you wanted a literal array, use [\"literal\", [...]].`,0);let ue=Array.isArray(te)?te[0]:te.type,ve=Array.isArray(te)?[[te[1],te[2]]]:te.overloads,De=ve.filter(([at])=>!Array.isArray(at)||at.length===S.length-1),Ze=null;for(let[at,Tt]of De){Ze=new oo(D.registry,kh,D.path,null,D.scope);let Ft=[],Qt=!1;for(let sr=1;sr<S.length;sr++){let Tr=S[sr],Pr=Array.isArray(at)?at[sr-1]:at.type,$r=Ze.parse(Tr,1+Ft.length,Pr);if(!$r){Qt=!0;break}Ft.push($r)}if(!Qt)if(Array.isArray(at)&&at.length!==Ft.length)Ze.error(`Expected ${at.length} arguments, but found ${Ft.length} instead.`);else{for(let sr=0;sr<Ft.length;sr++){let Tr=Array.isArray(at)?at[sr]:at.type,Pr=Ft[sr];Ze.concat(sr+1).checkSubtype(Tr,Pr.type)}if(Ze.errors.length===0)return new Ml(j,ue,Tt,Ft)}}if(De.length===1)D.errors.push(...Ze.errors);else{let at=(De.length?De:ve).map(([Ft])=>{return Qt=Ft,Array.isArray(Qt)?`(${Qt.map(Ye).join(\", \")})`:`(${Ye(Qt.type)}...)`;var Qt}).join(\" | \"),Tt=[];for(let Ft=1;Ft<S.length;Ft++){let Qt=D.parse(S[Ft],1+Tt.length);if(!Qt)return null;Tt.push(Ye(Qt.type))}D.error(`Expected arguments of type ${at}, but found (${Tt.join(\", \")}) instead.`)}return null}static register(S,D){Ml.definitions=D;for(let j in D)S[j]=Ml}}function Yh(R,[S,D,j,te]){S=S.evaluate(R),D=D.evaluate(R),j=j.evaluate(R);let ue=te?te.evaluate(R):1,ve=Pi(S,D,j,ue);if(ve)throw new la(ve);return new Zt(S/255,D/255,j/255,ue,!1)}function Eh(R,S){return R in S}function nh(R,S){let D=S[R];return D===void 0?null:D}function hf(R){return{type:R}}function kh(R){if(R instanceof _t)return kh(R.boundExpression);if(R instanceof Ml&&R.name===\"error\"||R instanceof Eo||R instanceof Al||R instanceof jc)return!1;let S=R instanceof oa||R instanceof Ra,D=!0;return R.eachChild(j=>{D=S?D&&kh(j):D&&j instanceof jn}),!!D&&Kh(R)&&ah(R,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}function Kh(R){if(R instanceof Ml&&(R.name===\"get\"&&R.args.length===1||R.name===\"feature-state\"||R.name===\"has\"&&R.args.length===1||R.name===\"properties\"||R.name===\"geometry-type\"||R.name===\"id\"||/^filter-/.test(R.name))||R instanceof Al||R instanceof jc)return!1;let S=!0;return R.eachChild(D=>{S&&!Kh(D)&&(S=!1)}),S}function rc(R){if(R instanceof Ml&&R.name===\"feature-state\")return!1;let S=!0;return R.eachChild(D=>{S&&!rc(D)&&(S=!1)}),S}function ah(R,S){if(R instanceof Ml&&S.indexOf(R.name)>=0)return!1;let D=!0;return R.eachChild(j=>{D&&!ah(j,S)&&(D=!1)}),D}function Wc(R){return{result:\"success\",value:R}}function df(R){return{result:\"error\",value:R}}function Cu(R){return R[\"property-type\"]===\"data-driven\"||R[\"property-type\"]===\"cross-faded-data-driven\"}function Nf(R){return!!R.expression&&R.expression.parameters.indexOf(\"zoom\")>-1}function Zc(R){return!!R.expression&&R.expression.interpolated}function ds(R){return R instanceof Number?\"number\":R instanceof String?\"string\":R instanceof Boolean?\"boolean\":Array.isArray(R)?\"array\":R===null?\"null\":typeof R}function Ch(R){return typeof R==\"object\"&&R!==null&&!Array.isArray(R)}function Bd(R){return R}function Jh(R,S){let D=S.type===\"color\",j=R.stops&&typeof R.stops[0][0]==\"object\",te=j||!(j||R.property!==void 0),ue=R.type||(Zc(S)?\"exponential\":\"interval\");if(D||S.type===\"padding\"){let Tt=D?Zt.parse:Vr.parse;(R=Ke({},R)).stops&&(R.stops=R.stops.map(Ft=>[Ft[0],Tt(Ft[1])])),R.default=Tt(R.default?R.default:S.default)}if(R.colorSpace&&(ve=R.colorSpace)!==\"rgb\"&&ve!==\"hcl\"&&ve!==\"lab\")throw new Error(`Unknown color space: \"${R.colorSpace}\"`);var ve;let De,Ze,at;if(ue===\"exponential\")De=$h;else if(ue===\"interval\")De=Lu;else if(ue===\"categorical\"){De=pd,Ze=Object.create(null);for(let Tt of R.stops)Ze[Tt[0]]=Tt[1];at=typeof R.stops[0][0]}else{if(ue!==\"identity\")throw new Error(`Unknown function type \"${ue}\"`);De=tu}if(j){let Tt={},Ft=[];for(let Tr=0;Tr<R.stops.length;Tr++){let Pr=R.stops[Tr],$r=Pr[0].zoom;Tt[$r]===void 0&&(Tt[$r]={zoom:$r,type:R.type,property:R.property,default:R.default,stops:[]},Ft.push($r)),Tt[$r].stops.push([Pr[0].value,Pr[1]])}let Qt=[];for(let Tr of Ft)Qt.push([Tt[Tr].zoom,Jh(Tt[Tr],S)]);let sr={name:\"linear\"};return{kind:\"composite\",interpolationType:sr,interpolationFactor:xo.interpolationFactor.bind(void 0,sr),zoomStops:Qt.map(Tr=>Tr[0]),evaluate:({zoom:Tr},Pr)=>$h({stops:Qt,base:R.base},S,Tr).evaluate(Tr,Pr)}}if(te){let Tt=ue===\"exponential\"?{name:\"exponential\",base:R.base!==void 0?R.base:1}:null;return{kind:\"camera\",interpolationType:Tt,interpolationFactor:xo.interpolationFactor.bind(void 0,Tt),zoomStops:R.stops.map(Ft=>Ft[0]),evaluate:({zoom:Ft})=>De(R,S,Ft,Ze,at)}}return{kind:\"source\",evaluate(Tt,Ft){let Qt=Ft&&Ft.properties?Ft.properties[R.property]:void 0;return Qt===void 0?Cf(R.default,S.default):De(R,S,Qt,Ze,at)}}}function Cf(R,S,D){return R!==void 0?R:S!==void 0?S:D!==void 0?D:void 0}function pd(R,S,D,j,te){return Cf(typeof D===te?j[D]:void 0,R.default,S.default)}function Lu(R,S,D){if(ds(D)!==\"number\")return Cf(R.default,S.default);let j=R.stops.length;if(j===1||D<=R.stops[0][0])return R.stops[0][1];if(D>=R.stops[j-1][0])return R.stops[j-1][1];let te=hi(R.stops.map(ue=>ue[0]),D);return R.stops[te][1]}function $h(R,S,D){let j=R.base!==void 0?R.base:1;if(ds(D)!==\"number\")return Cf(R.default,S.default);let te=R.stops.length;if(te===1||D<=R.stops[0][0])return R.stops[0][1];if(D>=R.stops[te-1][0])return R.stops[te-1][1];let ue=hi(R.stops.map(Tt=>Tt[0]),D),ve=function(Tt,Ft,Qt,sr){let Tr=sr-Qt,Pr=Tt-Qt;return Tr===0?0:Ft===1?Pr/Tr:(Math.pow(Ft,Pr)-1)/(Math.pow(Ft,Tr)-1)}(D,j,R.stops[ue][0],R.stops[ue+1][0]),De=R.stops[ue][1],Ze=R.stops[ue+1][1],at=Mo[S.type]||Bd;return typeof De.evaluate==\"function\"?{evaluate(...Tt){let Ft=De.evaluate.apply(void 0,Tt),Qt=Ze.evaluate.apply(void 0,Tt);if(Ft!==void 0&&Qt!==void 0)return at(Ft,Qt,ve,R.colorSpace)}}:at(De,Ze,ve,R.colorSpace)}function tu(R,S,D){switch(S.type){case\"color\":D=Zt.parse(D);break;case\"formatted\":D=Zr.fromString(D.toString());break;case\"resolvedImage\":D=Mi.fromString(D.toString());break;case\"padding\":D=Vr.parse(D);break;default:ds(D)===S.type||S.type===\"enum\"&&S.values[D]||(D=void 0)}return Cf(D,R.default,S.default)}Ml.register(kf,{error:[{kind:\"error\"},[Et],(R,[S])=>{throw new la(S.evaluate(R))}],typeof:[Et,[fr],(R,[S])=>Ye(Ki(S.evaluate(R)))],\"to-rgba\":[Ne(St,4),[Ht],(R,[S])=>{let[D,j,te,ue]=S.evaluate(R).rgb;return[255*D,255*j,255*te,ue]}],rgb:[Ht,[St,St,St],Yh],rgba:[Ht,[St,St,St,St],Yh],has:{type:dt,overloads:[[[Et],(R,[S])=>Eh(S.evaluate(R),R.properties())],[[Et,$t],(R,[S,D])=>Eh(S.evaluate(R),D.evaluate(R))]]},get:{type:fr,overloads:[[[Et],(R,[S])=>nh(S.evaluate(R),R.properties())],[[Et,$t],(R,[S,D])=>nh(S.evaluate(R),D.evaluate(R))]]},\"feature-state\":[fr,[Et],(R,[S])=>nh(S.evaluate(R),R.featureState||{})],properties:[$t,[],R=>R.properties()],\"geometry-type\":[Et,[],R=>R.geometryType()],id:[fr,[],R=>R.id()],zoom:[St,[],R=>R.globals.zoom],\"heatmap-density\":[St,[],R=>R.globals.heatmapDensity||0],\"line-progress\":[St,[],R=>R.globals.lineProgress||0],accumulated:[fr,[],R=>R.globals.accumulated===void 0?null:R.globals.accumulated],\"+\":[St,hf(St),(R,S)=>{let D=0;for(let j of S)D+=j.evaluate(R);return D}],\"*\":[St,hf(St),(R,S)=>{let D=1;for(let j of S)D*=j.evaluate(R);return D}],\"-\":{type:St,overloads:[[[St,St],(R,[S,D])=>S.evaluate(R)-D.evaluate(R)],[[St],(R,[S])=>-S.evaluate(R)]]},\"/\":[St,[St,St],(R,[S,D])=>S.evaluate(R)/D.evaluate(R)],\"%\":[St,[St,St],(R,[S,D])=>S.evaluate(R)%D.evaluate(R)],ln2:[St,[],()=>Math.LN2],pi:[St,[],()=>Math.PI],e:[St,[],()=>Math.E],\"^\":[St,[St,St],(R,[S,D])=>Math.pow(S.evaluate(R),D.evaluate(R))],sqrt:[St,[St],(R,[S])=>Math.sqrt(S.evaluate(R))],log10:[St,[St],(R,[S])=>Math.log(S.evaluate(R))/Math.LN10],ln:[St,[St],(R,[S])=>Math.log(S.evaluate(R))],log2:[St,[St],(R,[S])=>Math.log(S.evaluate(R))/Math.LN2],sin:[St,[St],(R,[S])=>Math.sin(S.evaluate(R))],cos:[St,[St],(R,[S])=>Math.cos(S.evaluate(R))],tan:[St,[St],(R,[S])=>Math.tan(S.evaluate(R))],asin:[St,[St],(R,[S])=>Math.asin(S.evaluate(R))],acos:[St,[St],(R,[S])=>Math.acos(S.evaluate(R))],atan:[St,[St],(R,[S])=>Math.atan(S.evaluate(R))],min:[St,hf(St),(R,S)=>Math.min(...S.map(D=>D.evaluate(R)))],max:[St,hf(St),(R,S)=>Math.max(...S.map(D=>D.evaluate(R)))],abs:[St,[St],(R,[S])=>Math.abs(S.evaluate(R))],round:[St,[St],(R,[S])=>{let D=S.evaluate(R);return D<0?-Math.round(-D):Math.round(D)}],floor:[St,[St],(R,[S])=>Math.floor(S.evaluate(R))],ceil:[St,[St],(R,[S])=>Math.ceil(S.evaluate(R))],\"filter-==\":[dt,[Et,fr],(R,[S,D])=>R.properties()[S.value]===D.value],\"filter-id-==\":[dt,[fr],(R,[S])=>R.id()===S.value],\"filter-type-==\":[dt,[Et],(R,[S])=>R.geometryType()===S.value],\"filter-<\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j<te}],\"filter-id-<\":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D<j}],\"filter->\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j>te}],\"filter-id->\":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D>j}],\"filter-<=\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j<=te}],\"filter-id-<=\":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D<=j}],\"filter->=\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j>=te}],\"filter-id->=\":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D>=j}],\"filter-has\":[dt,[fr],(R,[S])=>S.value in R.properties()],\"filter-has-id\":[dt,[],R=>R.id()!==null&&R.id()!==void 0],\"filter-type-in\":[dt,[Ne(Et)],(R,[S])=>S.value.indexOf(R.geometryType())>=0],\"filter-id-in\":[dt,[Ne(fr)],(R,[S])=>S.value.indexOf(R.id())>=0],\"filter-in-small\":[dt,[Et,Ne(fr)],(R,[S,D])=>D.value.indexOf(R.properties()[S.value])>=0],\"filter-in-large\":[dt,[Et,Ne(fr)],(R,[S,D])=>function(j,te,ue,ve){for(;ue<=ve;){let De=ue+ve>>1;if(te[De]===j)return!0;te[De]>j?ve=De-1:ue=De+1}return!1}(R.properties()[S.value],D.value,0,D.value.length-1)],all:{type:dt,overloads:[[[dt,dt],(R,[S,D])=>S.evaluate(R)&&D.evaluate(R)],[hf(dt),(R,S)=>{for(let D of S)if(!D.evaluate(R))return!1;return!0}]]},any:{type:dt,overloads:[[[dt,dt],(R,[S,D])=>S.evaluate(R)||D.evaluate(R)],[hf(dt),(R,S)=>{for(let D of S)if(D.evaluate(R))return!0;return!1}]]},\"!\":[dt,[dt],(R,[S])=>!S.evaluate(R)],\"is-supported-script\":[dt,[Et],(R,[S])=>{let D=R.globals&&R.globals.isSupportedScript;return!D||D(S.evaluate(R))}],upcase:[Et,[Et],(R,[S])=>S.evaluate(R).toUpperCase()],downcase:[Et,[Et],(R,[S])=>S.evaluate(R).toLowerCase()],concat:[Et,hf(fr),(R,S)=>S.map(D=>ka(D.evaluate(R))).join(\"\")],\"resolved-locale\":[Et,[_r],(R,[S])=>S.evaluate(R).resolvedLocale()]});class Pu{constructor(S,D){var j;this.expression=S,this._warningHistory={},this._evaluator=new Ha,this._defaultValue=D?(j=D).type===\"color\"&&Ch(j.default)?new Zt(0,0,0,0):j.type===\"color\"?Zt.parse(j.default)||null:j.type===\"padding\"?Vr.parse(j.default)||null:j.type===\"variableAnchorOffsetCollection\"?Si.parse(j.default)||null:j.default===void 0?null:j.default:null,this._enumValues=D&&D.type===\"enum\"?D.values:null}evaluateWithoutErrorHandling(S,D,j,te,ue,ve){return this._evaluator.globals=S,this._evaluator.feature=D,this._evaluator.featureState=j,this._evaluator.canonical=te,this._evaluator.availableImages=ue||null,this._evaluator.formattedSection=ve,this.expression.evaluate(this._evaluator)}evaluate(S,D,j,te,ue,ve){this._evaluator.globals=S,this._evaluator.feature=D||null,this._evaluator.featureState=j||null,this._evaluator.canonical=te,this._evaluator.availableImages=ue||null,this._evaluator.formattedSection=ve||null;try{let De=this.expression.evaluate(this._evaluator);if(De==null||typeof De==\"number\"&&De!=De)return this._defaultValue;if(this._enumValues&&!(De in this._enumValues))throw new la(`Expected value to be one of ${Object.keys(this._enumValues).map(Ze=>JSON.stringify(Ze)).join(\", \")}, but found ${JSON.stringify(De)} instead.`);return De}catch(De){return this._warningHistory[De.message]||(this._warningHistory[De.message]=!0,typeof console!=\"undefined\"&&console.warn(De.message)),this._defaultValue}}}function Lc(R){return Array.isArray(R)&&R.length>0&&typeof R[0]==\"string\"&&R[0]in kf}function fl(R,S){let D=new oo(kf,kh,[],S?function(te){let ue={color:Ht,string:Et,number:St,enum:Et,boolean:dt,formatted:Br,padding:Or,resolvedImage:Nr,variableAnchorOffsetCollection:ut};return te.type===\"array\"?Ne(ue[te.value]||fr,te.length):ue[te.type]}(S):void 0),j=D.parse(R,void 0,void 0,void 0,S&&S.type===\"string\"?{typeAnnotation:\"coerce\"}:void 0);return j?Wc(new Pu(j,S)):df(D.errors)}class Xc{constructor(S,D){this.kind=S,this._styleExpression=D,this.isStateDependent=S!==\"constant\"&&!rc(D.expression)}evaluateWithoutErrorHandling(S,D,j,te,ue,ve){return this._styleExpression.evaluateWithoutErrorHandling(S,D,j,te,ue,ve)}evaluate(S,D,j,te,ue,ve){return this._styleExpression.evaluate(S,D,j,te,ue,ve)}}class ic{constructor(S,D,j,te){this.kind=S,this.zoomStops=j,this._styleExpression=D,this.isStateDependent=S!==\"camera\"&&!rc(D.expression),this.interpolationType=te}evaluateWithoutErrorHandling(S,D,j,te,ue,ve){return this._styleExpression.evaluateWithoutErrorHandling(S,D,j,te,ue,ve)}evaluate(S,D,j,te,ue,ve){return this._styleExpression.evaluate(S,D,j,te,ue,ve)}interpolationFactor(S,D,j){return this.interpolationType?xo.interpolationFactor(this.interpolationType,S,D,j):0}}function yu(R,S){let D=fl(R,S);if(D.result===\"error\")return D;let j=D.value.expression,te=Kh(j);if(!te&&!Cu(S))return df([new xt(\"\",\"data expressions not supported\")]);let ue=ah(j,[\"zoom\"]);if(!ue&&!Nf(S))return df([new xt(\"\",\"zoom expressions not supported\")]);let ve=Qh(j);return ve||ue?ve instanceof xt?df([ve]):ve instanceof xo&&!Zc(S)?df([new xt(\"\",'\"interpolate\" expressions cannot be used with this property')]):Wc(ve?new ic(te?\"camera\":\"composite\",D.value,ve.labels,ve instanceof xo?ve.interpolation:void 0):new Xc(te?\"constant\":\"source\",D.value)):df([new xt(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}class Qs{constructor(S,D){this._parameters=S,this._specification=D,Ke(this,Jh(this._parameters,this._specification))}static deserialize(S){return new Qs(S._parameters,S._specification)}static serialize(S){return{_parameters:S._parameters,_specification:S._specification}}}function Qh(R){let S=null;if(R instanceof xn)S=Qh(R.result);else if(R instanceof ks){for(let D of R.args)if(S=Qh(D),S)break}else(R instanceof Ji||R instanceof xo)&&R.input instanceof Ml&&R.input.name===\"zoom\"&&(S=R);return S instanceof xt||R.eachChild(D=>{let j=Qh(D);j instanceof xt?S=j:!S&&j?S=new xt(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):S&&j&&S!==j&&(S=new xt(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))}),S}function gd(R){if(R===!0||R===!1)return!0;if(!Array.isArray(R)||R.length===0)return!1;switch(R[0]){case\"has\":return R.length>=2&&R[1]!==\"$id\"&&R[1]!==\"$type\";case\"in\":return R.length>=3&&(typeof R[1]!=\"string\"||Array.isArray(R[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return R.length!==3||Array.isArray(R[1])||Array.isArray(R[2]);case\"any\":case\"all\":for(let S of R.slice(1))if(!gd(S)&&typeof S!=\"boolean\")return!1;return!0;default:return!0}}let Gu={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function Pc(R){if(R==null)return{filter:()=>!0,needGeometry:!1};gd(R)||(R=Lf(R));let S=fl(R,Gu);if(S.result===\"error\")throw new Error(S.value.map(D=>`${D.key}: ${D.message}`).join(\", \"));return{filter:(D,j,te)=>S.value.evaluate(D,j,{},te),needGeometry:sv(R)}}function vc(R,S){return R<S?-1:R>S?1:0}function sv(R){if(!Array.isArray(R))return!1;if(R[0]===\"within\"||R[0]===\"distance\")return!0;for(let S=1;S<R.length;S++)if(sv(R[S]))return!0;return!1}function Lf(R){if(!R)return!0;let S=R[0];return R.length<=1?S!==\"any\":S===\"==\"?Uf(R[1],R[2],\"==\"):S===\"!=\"?ru(Uf(R[1],R[2],\"==\")):S===\"<\"||S===\">\"||S===\"<=\"||S===\">=\"?Uf(R[1],R[2],S):S===\"any\"?(D=R.slice(1),[\"any\"].concat(D.map(Lf))):S===\"all\"?[\"all\"].concat(R.slice(1).map(Lf)):S===\"none\"?[\"all\"].concat(R.slice(1).map(Lf).map(ru)):S===\"in\"?Iu(R[1],R.slice(2)):S===\"!in\"?ru(Iu(R[1],R.slice(2))):S===\"has\"?oh(R[1]):S!==\"!has\"||ru(oh(R[1]));var D}function Uf(R,S,D){switch(R){case\"$type\":return[`filter-type-${D}`,S];case\"$id\":return[`filter-id-${D}`,S];default:return[`filter-${D}`,R,S]}}function Iu(R,S){if(S.length===0)return!1;switch(R){case\"$type\":return[\"filter-type-in\",[\"literal\",S]];case\"$id\":return[\"filter-id-in\",[\"literal\",S]];default:return S.length>200&&!S.some(D=>typeof D!=typeof S[0])?[\"filter-in-large\",R,[\"literal\",S.sort(vc)]]:[\"filter-in-small\",R,[\"literal\",S]]}}function oh(R){switch(R){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",R]}}function ru(R){return[\"!\",R]}function vf(R){let S=typeof R;if(S===\"number\"||S===\"boolean\"||S===\"string\"||R==null)return JSON.stringify(R);if(Array.isArray(R)){let te=\"[\";for(let ue of R)te+=`${vf(ue)},`;return`${te}]`}let D=Object.keys(R).sort(),j=\"{\";for(let te=0;te<D.length;te++)j+=`${JSON.stringify(D[te])}:${vf(R[D[te]])},`;return`${j}}`}function md(R){let S=\"\";for(let D of Ge)S+=`/${vf(R[D])}`;return S}function sh(R){let S=R.value;return S?[new er(R.key,S,\"constants have been deprecated as of v8\")]:[]}function Fs(R){return R instanceof Number||R instanceof String||R instanceof Boolean?R.valueOf():R}function _u(R){if(Array.isArray(R))return R.map(_u);if(R instanceof Object&&!(R instanceof Number||R instanceof String||R instanceof Boolean)){let S={};for(let D in R)S[D]=_u(R[D]);return S}return Fs(R)}function xu(R){let S=R.key,D=R.value,j=R.valueSpec||{},te=R.objectElementValidators||{},ue=R.style,ve=R.styleSpec,De=R.validateSpec,Ze=[],at=ds(D);if(at!==\"object\")return[new er(S,D,`object expected, ${at} found`)];for(let Tt in D){let Ft=Tt.split(\".\")[0],Qt=j[Ft]||j[\"*\"],sr;if(te[Ft])sr=te[Ft];else if(j[Ft])sr=De;else if(te[\"*\"])sr=te[\"*\"];else{if(!j[\"*\"]){Ze.push(new er(S,D[Tt],`unknown property \"${Tt}\"`));continue}sr=De}Ze=Ze.concat(sr({key:(S&&`${S}.`)+Tt,value:D[Tt],valueSpec:Qt,style:ue,styleSpec:ve,object:D,objectKey:Tt,validateSpec:De},D))}for(let Tt in j)te[Tt]||j[Tt].required&&j[Tt].default===void 0&&D[Tt]===void 0&&Ze.push(new er(S,D,`missing required property \"${Tt}\"`));return Ze}function Lh(R){let S=R.value,D=R.valueSpec,j=R.style,te=R.styleSpec,ue=R.key,ve=R.arrayElementValidator||R.validateSpec;if(ds(S)!==\"array\")return[new er(ue,S,`array expected, ${ds(S)} found`)];if(D.length&&S.length!==D.length)return[new er(ue,S,`array length ${D.length} expected, length ${S.length} found`)];if(D[\"min-length\"]&&S.length<D[\"min-length\"])return[new er(ue,S,`array length at least ${D[\"min-length\"]} expected, length ${S.length} found`)];let De={type:D.value,values:D.values};te.$version<7&&(De.function=D.function),ds(D.value)===\"object\"&&(De=D.value);let Ze=[];for(let at=0;at<S.length;at++)Ze=Ze.concat(ve({array:S,arrayIndex:at,value:S[at],valueSpec:De,validateSpec:R.validateSpec,style:j,styleSpec:te,key:`${ue}[${at}]`}));return Ze}function Is(R){let S=R.key,D=R.value,j=R.valueSpec,te=ds(D);return te===\"number\"&&D!=D&&(te=\"NaN\"),te!==\"number\"?[new er(S,D,`number expected, ${te} found`)]:\"minimum\"in j&&D<j.minimum?[new er(S,D,`${D} is less than the minimum value ${j.minimum}`)]:\"maximum\"in j&&D>j.maximum?[new er(S,D,`${D} is greater than the maximum value ${j.maximum}`)]:[]}function Pf(R){let S=R.valueSpec,D=Fs(R.value.type),j,te,ue,ve={},De=D!==\"categorical\"&&R.value.property===void 0,Ze=!De,at=ds(R.value.stops)===\"array\"&&ds(R.value.stops[0])===\"array\"&&ds(R.value.stops[0][0])===\"object\",Tt=xu({key:R.key,value:R.value,valueSpec:R.styleSpec.function,validateSpec:R.validateSpec,style:R.style,styleSpec:R.styleSpec,objectElementValidators:{stops:function(sr){if(D===\"identity\")return[new er(sr.key,sr.value,'identity function may not have a \"stops\" property')];let Tr=[],Pr=sr.value;return Tr=Tr.concat(Lh({key:sr.key,value:Pr,valueSpec:sr.valueSpec,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec,arrayElementValidator:Ft})),ds(Pr)===\"array\"&&Pr.length===0&&Tr.push(new er(sr.key,Pr,\"array must have at least one stop\")),Tr},default:function(sr){return sr.validateSpec({key:sr.key,value:sr.value,valueSpec:S,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec})}}});return D===\"identity\"&&De&&Tt.push(new er(R.key,R.value,'missing required property \"property\"')),D===\"identity\"||R.value.stops||Tt.push(new er(R.key,R.value,'missing required property \"stops\"')),D===\"exponential\"&&R.valueSpec.expression&&!Zc(R.valueSpec)&&Tt.push(new er(R.key,R.value,\"exponential functions not supported\")),R.styleSpec.$version>=8&&(Ze&&!Cu(R.valueSpec)?Tt.push(new er(R.key,R.value,\"property functions not supported\")):De&&!Nf(R.valueSpec)&&Tt.push(new er(R.key,R.value,\"zoom functions not supported\"))),D!==\"categorical\"&&!at||R.value.property!==void 0||Tt.push(new er(R.key,R.value,'\"property\" property is required')),Tt;function Ft(sr){let Tr=[],Pr=sr.value,$r=sr.key;if(ds(Pr)!==\"array\")return[new er($r,Pr,`array expected, ${ds(Pr)} found`)];if(Pr.length!==2)return[new er($r,Pr,`array length 2 expected, length ${Pr.length} found`)];if(at){if(ds(Pr[0])!==\"object\")return[new er($r,Pr,`object expected, ${ds(Pr[0])} found`)];if(Pr[0].zoom===void 0)return[new er($r,Pr,\"object stop key must have zoom\")];if(Pr[0].value===void 0)return[new er($r,Pr,\"object stop key must have value\")];if(ue&&ue>Fs(Pr[0].zoom))return[new er($r,Pr[0].zoom,\"stop zoom values must appear in ascending order\")];Fs(Pr[0].zoom)!==ue&&(ue=Fs(Pr[0].zoom),te=void 0,ve={}),Tr=Tr.concat(xu({key:`${$r}[0]`,value:Pr[0],valueSpec:{zoom:{}},validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec,objectElementValidators:{zoom:Is,value:Qt}}))}else Tr=Tr.concat(Qt({key:`${$r}[0]`,value:Pr[0],valueSpec:{},validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec},Pr));return Lc(_u(Pr[1]))?Tr.concat([new er(`${$r}[1]`,Pr[1],\"expressions are not allowed in function stops.\")]):Tr.concat(sr.validateSpec({key:`${$r}[1]`,value:Pr[1],valueSpec:S,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec}))}function Qt(sr,Tr){let Pr=ds(sr.value),$r=Fs(sr.value),ni=sr.value!==null?sr.value:Tr;if(j){if(Pr!==j)return[new er(sr.key,ni,`${Pr} stop domain type must match previous stop domain type ${j}`)]}else j=Pr;if(Pr!==\"number\"&&Pr!==\"string\"&&Pr!==\"boolean\")return[new er(sr.key,ni,\"stop domain value must be a number, string, or boolean\")];if(Pr!==\"number\"&&D!==\"categorical\"){let Di=`number expected, ${Pr} found`;return Cu(S)&&D===void 0&&(Di+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new er(sr.key,ni,Di)]}return D!==\"categorical\"||Pr!==\"number\"||isFinite($r)&&Math.floor($r)===$r?D!==\"categorical\"&&Pr===\"number\"&&te!==void 0&&$r<te?[new er(sr.key,ni,\"stop domain values must appear in ascending order\")]:(te=$r,D===\"categorical\"&&$r in ve?[new er(sr.key,ni,\"stop domain values must be unique\")]:(ve[$r]=!0,[])):[new er(sr.key,ni,`integer expected, found ${$r}`)]}}function Ic(R){let S=(R.expressionContext===\"property\"?yu:fl)(_u(R.value),R.valueSpec);if(S.result===\"error\")return S.value.map(j=>new er(`${R.key}${j.key}`,R.value,j.message));let D=S.value.expression||S.value._styleExpression.expression;if(R.expressionContext===\"property\"&&R.propertyKey===\"text-font\"&&!D.outputDefined())return[new er(R.key,R.value,`Invalid data expression for \"${R.propertyKey}\". Output values must be contained as literals within the expression.`)];if(R.expressionContext===\"property\"&&R.propertyType===\"layout\"&&!rc(D))return[new er(R.key,R.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(R.expressionContext===\"filter\"&&!rc(D))return[new er(R.key,R.value,'\"feature-state\" data expressions are not supported with filters.')];if(R.expressionContext&&R.expressionContext.indexOf(\"cluster\")===0){if(!ah(D,[\"zoom\",\"feature-state\"]))return[new er(R.key,R.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(R.expressionContext===\"cluster-initial\"&&!Kh(D))return[new er(R.key,R.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function ju(R){let S=R.key,D=R.value,j=R.valueSpec,te=[];return Array.isArray(j.values)?j.values.indexOf(Fs(D))===-1&&te.push(new er(S,D,`expected one of [${j.values.join(\", \")}], ${JSON.stringify(D)} found`)):Object.keys(j.values).indexOf(Fs(D))===-1&&te.push(new er(S,D,`expected one of [${Object.keys(j.values).join(\", \")}], ${JSON.stringify(D)} found`)),te}function Vf(R){return gd(_u(R.value))?Ic(Ke({},R,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):pc(R)}function pc(R){let S=R.value,D=R.key;if(ds(S)!==\"array\")return[new er(D,S,`array expected, ${ds(S)} found`)];let j=R.styleSpec,te,ue=[];if(S.length<1)return[new er(D,S,\"filter array must have at least 1 element\")];switch(ue=ue.concat(ju({key:`${D}[0]`,value:S[0],valueSpec:j.filter_operator,style:R.style,styleSpec:R.styleSpec})),Fs(S[0])){case\"<\":case\"<=\":case\">\":case\">=\":S.length>=2&&Fs(S[1])===\"$type\"&&ue.push(new er(D,S,`\"$type\" cannot be use with operator \"${S[0]}\"`));case\"==\":case\"!=\":S.length!==3&&ue.push(new er(D,S,`filter array for operator \"${S[0]}\" must have 3 elements`));case\"in\":case\"!in\":S.length>=2&&(te=ds(S[1]),te!==\"string\"&&ue.push(new er(`${D}[1]`,S[1],`string expected, ${te} found`)));for(let ve=2;ve<S.length;ve++)te=ds(S[ve]),Fs(S[1])===\"$type\"?ue=ue.concat(ju({key:`${D}[${ve}]`,value:S[ve],valueSpec:j.geometry_type,style:R.style,styleSpec:R.styleSpec})):te!==\"string\"&&te!==\"number\"&&te!==\"boolean\"&&ue.push(new er(`${D}[${ve}]`,S[ve],`string, number, or boolean expected, ${te} found`));break;case\"any\":case\"all\":case\"none\":for(let ve=1;ve<S.length;ve++)ue=ue.concat(pc({key:`${D}[${ve}]`,value:S[ve],style:R.style,styleSpec:R.styleSpec}));break;case\"has\":case\"!has\":te=ds(S[1]),S.length!==2?ue.push(new er(D,S,`filter array for \"${S[0]}\" operator must have 2 elements`)):te!==\"string\"&&ue.push(new er(`${D}[1]`,S[1],`string expected, ${te} found`))}return ue}function pf(R,S){let D=R.key,j=R.validateSpec,te=R.style,ue=R.styleSpec,ve=R.value,De=R.objectKey,Ze=ue[`${S}_${R.layerType}`];if(!Ze)return[];let at=De.match(/^(.*)-transition$/);if(S===\"paint\"&&at&&Ze[at[1]]&&Ze[at[1]].transition)return j({key:D,value:ve,valueSpec:ue.transition,style:te,styleSpec:ue});let Tt=R.valueSpec||Ze[De];if(!Tt)return[new er(D,ve,`unknown property \"${De}\"`)];let Ft;if(ds(ve)===\"string\"&&Cu(Tt)&&!Tt.tokens&&(Ft=/^{([^}]+)}$/.exec(ve)))return[new er(D,ve,`\"${De}\" does not support interpolation syntax\n", - "Use an identity property function instead: \\`{ \"type\": \"identity\", \"property\": ${JSON.stringify(Ft[1])} }\\`.`)];let Qt=[];return R.layerType===\"symbol\"&&(De===\"text-field\"&&te&&!te.glyphs&&Qt.push(new er(D,ve,'use of \"text-field\" requires a style \"glyphs\" property')),De===\"text-font\"&&Ch(_u(ve))&&Fs(ve.type)===\"identity\"&&Qt.push(new er(D,ve,'\"text-font\" does not support identity functions'))),Qt.concat(j({key:R.key,value:ve,valueSpec:Tt,style:te,styleSpec:ue,expressionContext:\"property\",propertyType:S,propertyKey:De}))}function Ph(R){return pf(R,\"paint\")}function Dl(R){return pf(R,\"layout\")}function Ih(R){let S=[],D=R.value,j=R.key,te=R.style,ue=R.styleSpec;D.type||D.ref||S.push(new er(j,D,'either \"type\" or \"ref\" is required'));let ve=Fs(D.type),De=Fs(D.ref);if(D.id){let Ze=Fs(D.id);for(let at=0;at<R.arrayIndex;at++){let Tt=te.layers[at];Fs(Tt.id)===Ze&&S.push(new er(j,D.id,`duplicate layer id \"${D.id}\", previously used at line ${Tt.id.__line__}`))}}if(\"ref\"in D){let Ze;[\"type\",\"source\",\"source-layer\",\"filter\",\"layout\"].forEach(at=>{at in D&&S.push(new er(j,D[at],`\"${at}\" is prohibited for ref layers`))}),te.layers.forEach(at=>{Fs(at.id)===De&&(Ze=at)}),Ze?Ze.ref?S.push(new er(j,D.ref,\"ref cannot reference another ref layer\")):ve=Fs(Ze.type):S.push(new er(j,D.ref,`ref layer \"${De}\" not found`))}else if(ve!==\"background\")if(D.source){let Ze=te.sources&&te.sources[D.source],at=Ze&&Fs(Ze.type);Ze?at===\"vector\"&&ve===\"raster\"?S.push(new er(j,D.source,`layer \"${D.id}\" requires a raster source`)):at!==\"raster-dem\"&&ve===\"hillshade\"?S.push(new er(j,D.source,`layer \"${D.id}\" requires a raster-dem source`)):at===\"raster\"&&ve!==\"raster\"?S.push(new er(j,D.source,`layer \"${D.id}\" requires a vector source`)):at!==\"vector\"||D[\"source-layer\"]?at===\"raster-dem\"&&ve!==\"hillshade\"?S.push(new er(j,D.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):ve!==\"line\"||!D.paint||!D.paint[\"line-gradient\"]||at===\"geojson\"&&Ze.lineMetrics||S.push(new er(j,D,`layer \"${D.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):S.push(new er(j,D,`layer \"${D.id}\" must specify a \"source-layer\"`)):S.push(new er(j,D.source,`source \"${D.source}\" not found`))}else S.push(new er(j,D,'missing required property \"source\"'));return S=S.concat(xu({key:j,value:D,valueSpec:ue.layer,style:R.style,styleSpec:R.styleSpec,validateSpec:R.validateSpec,objectElementValidators:{\"*\":()=>[],type:()=>R.validateSpec({key:`${j}.type`,value:D.type,valueSpec:ue.layer.type,style:R.style,styleSpec:R.styleSpec,validateSpec:R.validateSpec,object:D,objectKey:\"type\"}),filter:Vf,layout:Ze=>xu({layer:D,key:Ze.key,value:Ze.value,style:Ze.style,styleSpec:Ze.styleSpec,validateSpec:Ze.validateSpec,objectElementValidators:{\"*\":at=>Dl(Ke({layerType:ve},at))}}),paint:Ze=>xu({layer:D,key:Ze.key,value:Ze.value,style:Ze.style,styleSpec:Ze.styleSpec,validateSpec:Ze.validateSpec,objectElementValidators:{\"*\":at=>Ph(Ke({layerType:ve},at))}})}})),S}function Wu(R){let S=R.value,D=R.key,j=ds(S);return j!==\"string\"?[new er(D,S,`string expected, ${j} found`)]:[]}let Rc={promoteId:function({key:R,value:S}){if(ds(S)===\"string\")return Wu({key:R,value:S});{let D=[];for(let j in S)D.push(...Wu({key:`${R}.${j}`,value:S[j]}));return D}}};function gc(R){let S=R.value,D=R.key,j=R.styleSpec,te=R.style,ue=R.validateSpec;if(!S.type)return[new er(D,S,'\"type\" is required')];let ve=Fs(S.type),De;switch(ve){case\"vector\":case\"raster\":return De=xu({key:D,value:S,valueSpec:j[`source_${ve.replace(\"-\",\"_\")}`],style:R.style,styleSpec:j,objectElementValidators:Rc,validateSpec:ue}),De;case\"raster-dem\":return De=function(Ze){var at;let Tt=(at=Ze.sourceName)!==null&&at!==void 0?at:\"\",Ft=Ze.value,Qt=Ze.styleSpec,sr=Qt.source_raster_dem,Tr=Ze.style,Pr=[],$r=ds(Ft);if(Ft===void 0)return Pr;if($r!==\"object\")return Pr.push(new er(\"source_raster_dem\",Ft,`object expected, ${$r} found`)),Pr;let ni=Fs(Ft.encoding)===\"custom\",Di=[\"redFactor\",\"greenFactor\",\"blueFactor\",\"baseShift\"],pi=Ze.value.encoding?`\"${Ze.value.encoding}\"`:\"Default\";for(let ki in Ft)!ni&&Di.includes(ki)?Pr.push(new er(ki,Ft[ki],`In \"${Tt}\": \"${ki}\" is only valid when \"encoding\" is set to \"custom\". ${pi} encoding found`)):sr[ki]?Pr=Pr.concat(Ze.validateSpec({key:ki,value:Ft[ki],valueSpec:sr[ki],validateSpec:Ze.validateSpec,style:Tr,styleSpec:Qt})):Pr.push(new er(ki,Ft[ki],`unknown property \"${ki}\"`));return Pr}({sourceName:D,value:S,style:R.style,styleSpec:j,validateSpec:ue}),De;case\"geojson\":if(De=xu({key:D,value:S,valueSpec:j.source_geojson,style:te,styleSpec:j,validateSpec:ue,objectElementValidators:Rc}),S.cluster)for(let Ze in S.clusterProperties){let[at,Tt]=S.clusterProperties[Ze],Ft=typeof at==\"string\"?[at,[\"accumulated\"],[\"get\",Ze]]:at;De.push(...Ic({key:`${D}.${Ze}.map`,value:Tt,validateSpec:ue,expressionContext:\"cluster-map\"})),De.push(...Ic({key:`${D}.${Ze}.reduce`,value:Ft,validateSpec:ue,expressionContext:\"cluster-reduce\"}))}return De;case\"video\":return xu({key:D,value:S,valueSpec:j.source_video,style:te,validateSpec:ue,styleSpec:j});case\"image\":return xu({key:D,value:S,valueSpec:j.source_image,style:te,validateSpec:ue,styleSpec:j});case\"canvas\":return[new er(D,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return ju({key:`${D}.type`,value:S.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:te,validateSpec:ue,styleSpec:j})}}function hl(R){let S=R.value,D=R.styleSpec,j=D.light,te=R.style,ue=[],ve=ds(S);if(S===void 0)return ue;if(ve!==\"object\")return ue=ue.concat([new er(\"light\",S,`object expected, ${ve} found`)]),ue;for(let De in S){let Ze=De.match(/^(.*)-transition$/);ue=ue.concat(Ze&&j[Ze[1]]&&j[Ze[1]].transition?R.validateSpec({key:De,value:S[De],valueSpec:D.transition,validateSpec:R.validateSpec,style:te,styleSpec:D}):j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],validateSpec:R.validateSpec,style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)])}return ue}function iu(R){let S=R.value,D=R.styleSpec,j=D.sky,te=R.style,ue=ds(S);if(S===void 0)return[];if(ue!==\"object\")return[new er(\"sky\",S,`object expected, ${ue} found`)];let ve=[];for(let De in S)ve=ve.concat(j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)]);return ve}function mc(R){let S=R.value,D=R.styleSpec,j=D.terrain,te=R.style,ue=[],ve=ds(S);if(S===void 0)return ue;if(ve!==\"object\")return ue=ue.concat([new er(\"terrain\",S,`object expected, ${ve} found`)]),ue;for(let De in S)ue=ue.concat(j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],validateSpec:R.validateSpec,style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)]);return ue}function Yc(R){let S=[],D=R.value,j=R.key;if(Array.isArray(D)){let te=[],ue=[];for(let ve in D)D[ve].id&&te.includes(D[ve].id)&&S.push(new er(j,D,`all the sprites' ids must be unique, but ${D[ve].id} is duplicated`)),te.push(D[ve].id),D[ve].url&&ue.includes(D[ve].url)&&S.push(new er(j,D,`all the sprites' URLs must be unique, but ${D[ve].url} is duplicated`)),ue.push(D[ve].url),S=S.concat(xu({key:`${j}[${ve}]`,value:D[ve],valueSpec:{id:{type:\"string\",required:!0},url:{type:\"string\",required:!0}},validateSpec:R.validateSpec}));return S}return Wu({key:j,value:D})}let nc={\"*\":()=>[],array:Lh,boolean:function(R){let S=R.value,D=R.key,j=ds(S);return j!==\"boolean\"?[new er(D,S,`boolean expected, ${j} found`)]:[]},number:Is,color:function(R){let S=R.key,D=R.value,j=ds(D);return j!==\"string\"?[new er(S,D,`color expected, ${j} found`)]:Zt.parse(String(D))?[]:[new er(S,D,`color expected, \"${D}\" found`)]},constants:sh,enum:ju,filter:Vf,function:Pf,layer:Ih,object:xu,source:gc,light:hl,sky:iu,terrain:mc,projection:function(R){let S=R.value,D=R.styleSpec,j=D.projection,te=R.style,ue=ds(S);if(S===void 0)return[];if(ue!==\"object\")return[new er(\"projection\",S,`object expected, ${ue} found`)];let ve=[];for(let De in S)ve=ve.concat(j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)]);return ve},string:Wu,formatted:function(R){return Wu(R).length===0?[]:Ic(R)},resolvedImage:function(R){return Wu(R).length===0?[]:Ic(R)},padding:function(R){let S=R.key,D=R.value;if(ds(D)===\"array\"){if(D.length<1||D.length>4)return[new er(S,D,`padding requires 1 to 4 values; ${D.length} values found`)];let j={type:\"number\"},te=[];for(let ue=0;ue<D.length;ue++)te=te.concat(R.validateSpec({key:`${S}[${ue}]`,value:D[ue],validateSpec:R.validateSpec,valueSpec:j}));return te}return Is({key:S,value:D,valueSpec:{}})},variableAnchorOffsetCollection:function(R){let S=R.key,D=R.value,j=ds(D),te=R.styleSpec;if(j!==\"array\"||D.length<1||D.length%2!=0)return[new er(S,D,\"variableAnchorOffsetCollection requires a non-empty array of even length\")];let ue=[];for(let ve=0;ve<D.length;ve+=2)ue=ue.concat(ju({key:`${S}[${ve}]`,value:D[ve],valueSpec:te.layout_symbol[\"text-anchor\"]})),ue=ue.concat(Lh({key:`${S}[${ve+1}]`,value:D[ve+1],valueSpec:{length:2,value:\"number\"},validateSpec:R.validateSpec,style:R.style,styleSpec:te}));return ue},sprite:Yc};function gf(R){let S=R.value,D=R.valueSpec,j=R.styleSpec;return R.validateSpec=gf,D.expression&&Ch(Fs(S))?Pf(R):D.expression&&Lc(_u(S))?Ic(R):D.type&&nc[D.type]?nc[D.type](R):xu(Ke({},R,{valueSpec:D.type?j[D.type]:D}))}function gt(R){let S=R.value,D=R.key,j=Wu(R);return j.length||(S.indexOf(\"{fontstack}\")===-1&&j.push(new er(D,S,'\"glyphs\" url must include a \"{fontstack}\" token')),S.indexOf(\"{range}\")===-1&&j.push(new er(D,S,'\"glyphs\" url must include a \"{range}\" token'))),j}function Bt(R,S=ce){let D=[];return D=D.concat(gf({key:\"\",value:R,valueSpec:S.$root,styleSpec:S,style:R,validateSpec:gf,objectElementValidators:{glyphs:gt,\"*\":()=>[]}})),R.constants&&(D=D.concat(sh({key:\"constants\",value:R.constants,style:R,styleSpec:S,validateSpec:gf}))),vr(D)}function wr(R){return function(S){return R($Q(JQ({},S),{validateSpec:gf}))}}function vr(R){return[].concat(R).sort((S,D)=>S.line-D.line)}function Ur(R){return function(...S){return vr(R.apply(this,S))}}Bt.source=Ur(wr(gc)),Bt.sprite=Ur(wr(Yc)),Bt.glyphs=Ur(wr(gt)),Bt.light=Ur(wr(hl)),Bt.sky=Ur(wr(iu)),Bt.terrain=Ur(wr(mc)),Bt.layer=Ur(wr(Ih)),Bt.filter=Ur(wr(Vf)),Bt.paintProperty=Ur(wr(Ph)),Bt.layoutProperty=Ur(wr(Dl));let fi=Bt,xi=fi.light,Fi=fi.sky,Xi=fi.paintProperty,hn=fi.layoutProperty;function Ti(R,S){let D=!1;if(S&&S.length)for(let j of S)R.fire(new me(new Error(j.message))),D=!0;return D}class qi{constructor(S,D,j){let te=this.cells=[];if(S instanceof ArrayBuffer){this.arrayBuffer=S;let ve=new Int32Array(this.arrayBuffer);S=ve[0],this.d=(D=ve[1])+2*(j=ve[2]);for(let Ze=0;Ze<this.d*this.d;Ze++){let at=ve[3+Ze],Tt=ve[3+Ze+1];te.push(at===Tt?null:ve.subarray(at,Tt))}let De=ve[3+te.length+1];this.keys=ve.subarray(ve[3+te.length],De),this.bboxes=ve.subarray(De),this.insert=this._insertReadonly}else{this.d=D+2*j;for(let ve=0;ve<this.d*this.d;ve++)te.push([]);this.keys=[],this.bboxes=[]}this.n=D,this.extent=S,this.padding=j,this.scale=D/S,this.uid=0;let ue=j/D*S;this.min=-ue,this.max=S+ue}insert(S,D,j,te,ue){this._forEachCell(D,j,te,ue,this._insertCell,this.uid++,void 0,void 0),this.keys.push(S),this.bboxes.push(D),this.bboxes.push(j),this.bboxes.push(te),this.bboxes.push(ue)}_insertReadonly(){throw new Error(\"Cannot insert into a GridIndex created from an ArrayBuffer.\")}_insertCell(S,D,j,te,ue,ve){this.cells[ue].push(ve)}query(S,D,j,te,ue){let ve=this.min,De=this.max;if(S<=ve&&D<=ve&&De<=j&&De<=te&&!ue)return Array.prototype.slice.call(this.keys);{let Ze=[];return this._forEachCell(S,D,j,te,this._queryCell,Ze,{},ue),Ze}}_queryCell(S,D,j,te,ue,ve,De,Ze){let at=this.cells[ue];if(at!==null){let Tt=this.keys,Ft=this.bboxes;for(let Qt=0;Qt<at.length;Qt++){let sr=at[Qt];if(De[sr]===void 0){let Tr=4*sr;(Ze?Ze(Ft[Tr+0],Ft[Tr+1],Ft[Tr+2],Ft[Tr+3]):S<=Ft[Tr+2]&&D<=Ft[Tr+3]&&j>=Ft[Tr+0]&&te>=Ft[Tr+1])?(De[sr]=!0,ve.push(Tt[sr])):De[sr]=!1}}}}_forEachCell(S,D,j,te,ue,ve,De,Ze){let at=this._convertToCellCoord(S),Tt=this._convertToCellCoord(D),Ft=this._convertToCellCoord(j),Qt=this._convertToCellCoord(te);for(let sr=at;sr<=Ft;sr++)for(let Tr=Tt;Tr<=Qt;Tr++){let Pr=this.d*Tr+sr;if((!Ze||Ze(this._convertFromCellCoord(sr),this._convertFromCellCoord(Tr),this._convertFromCellCoord(sr+1),this._convertFromCellCoord(Tr+1)))&&ue.call(this,S,D,j,te,Pr,ve,De,Ze))return}}_convertFromCellCoord(S){return(S-this.padding)/this.scale}_convertToCellCoord(S){return Math.max(0,Math.min(this.d-1,Math.floor(S*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let S=this.cells,D=3+this.cells.length+1+1,j=0;for(let ve=0;ve<this.cells.length;ve++)j+=this.cells[ve].length;let te=new Int32Array(D+j+this.keys.length+this.bboxes.length);te[0]=this.extent,te[1]=this.n,te[2]=this.padding;let ue=D;for(let ve=0;ve<S.length;ve++){let De=S[ve];te[3+ve]=ue,te.set(De,ue),ue+=De.length}return te[3+S.length]=ue,te.set(this.keys,ue),ue+=this.keys.length,te[3+S.length+1]=ue,te.set(this.bboxes,ue),ue+=this.bboxes.length,te.buffer}static serialize(S,D){let j=S.toArrayBuffer();return D&&D.push(j),{buffer:j}}static deserialize(S){return new qi(S.buffer)}}let Ii={};function mi(R,S,D={}){if(Ii[R])throw new Error(`${R} is already registered.`);Object.defineProperty(S,\"_classRegistryKey\",{value:R,writeable:!1}),Ii[R]={klass:S,omit:D.omit||[],shallow:D.shallow||[]}}mi(\"Object\",Object),mi(\"TransferableGridIndex\",qi),mi(\"Color\",Zt),mi(\"Error\",Error),mi(\"AJAXError\",ge),mi(\"ResolvedImage\",Mi),mi(\"StylePropertyFunction\",Qs),mi(\"StyleExpression\",Pu,{omit:[\"_evaluator\"]}),mi(\"ZoomDependentExpression\",ic),mi(\"ZoomConstantExpression\",Xc),mi(\"CompoundExpression\",Ml,{omit:[\"_evaluate\"]});for(let R in kf)kf[R]._classRegistryKey||mi(`Expression_${R}`,kf[R]);function Pn(R){return R&&typeof ArrayBuffer!=\"undefined\"&&(R instanceof ArrayBuffer||R.constructor&&R.constructor.name===\"ArrayBuffer\")}function Ma(R){return R.$name||R.constructor._classRegistryKey}function Ta(R){return!function(S){if(S===null||typeof S!=\"object\")return!1;let D=Ma(S);return!(!D||D===\"Object\")}(R)&&(R==null||typeof R==\"boolean\"||typeof R==\"number\"||typeof R==\"string\"||R instanceof Boolean||R instanceof Number||R instanceof String||R instanceof Date||R instanceof RegExp||R instanceof Blob||R instanceof Error||Pn(R)||H(R)||ArrayBuffer.isView(R)||R instanceof ImageData)}function Ea(R,S){if(Ta(R))return(Pn(R)||H(R))&&S&&S.push(R),ArrayBuffer.isView(R)&&S&&S.push(R.buffer),R instanceof ImageData&&S&&S.push(R.data.buffer),R;if(Array.isArray(R)){let ue=[];for(let ve of R)ue.push(Ea(ve,S));return ue}if(typeof R!=\"object\")throw new Error(\"can't serialize object of type \"+typeof R);let D=Ma(R);if(!D)throw new Error(`can't serialize object of unregistered class ${R.constructor.name}`);if(!Ii[D])throw new Error(`${D} is not registered.`);let{klass:j}=Ii[D],te=j.serialize?j.serialize(R,S):{};if(j.serialize){if(S&&te===S[S.length-1])throw new Error(\"statically serialized object won't survive transfer of $name property\")}else{for(let ue in R){if(!R.hasOwnProperty(ue)||Ii[D].omit.indexOf(ue)>=0)continue;let ve=R[ue];te[ue]=Ii[D].shallow.indexOf(ue)>=0?ve:Ea(ve,S)}R instanceof Error&&(te.message=R.message)}if(te.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return D!==\"Object\"&&(te.$name=D),te}function qa(R){if(Ta(R))return R;if(Array.isArray(R))return R.map(qa);if(typeof R!=\"object\")throw new Error(\"can't deserialize object of type \"+typeof R);let S=Ma(R)||\"Object\";if(!Ii[S])throw new Error(`can't deserialize unregistered class ${S}`);let{klass:D}=Ii[S];if(!D)throw new Error(`can't deserialize unregistered class ${S}`);if(D.deserialize)return D.deserialize(R);let j=Object.create(D.prototype);for(let te of Object.keys(R)){if(te===\"$name\")continue;let ue=R[te];j[te]=Ii[S].shallow.indexOf(te)>=0?ue:qa(ue)}return j}class Cn{constructor(){this.first=!0}update(S,D){let j=Math.floor(S);return this.first?(this.first=!1,this.lastIntegerZoom=j,this.lastIntegerZoomTime=0,this.lastZoom=S,this.lastFloorZoom=j,!0):(this.lastFloorZoom>j?(this.lastIntegerZoom=j+1,this.lastIntegerZoomTime=D):this.lastFloorZoom<j&&(this.lastIntegerZoom=j,this.lastIntegerZoomTime=D),S!==this.lastZoom&&(this.lastZoom=S,this.lastFloorZoom=j,!0))}}let sn={\"Latin-1 Supplement\":R=>R>=128&&R<=255,\"Hangul Jamo\":R=>R>=4352&&R<=4607,Khmer:R=>R>=6016&&R<=6143,\"General Punctuation\":R=>R>=8192&&R<=8303,\"Letterlike Symbols\":R=>R>=8448&&R<=8527,\"Number Forms\":R=>R>=8528&&R<=8591,\"Miscellaneous Technical\":R=>R>=8960&&R<=9215,\"Control Pictures\":R=>R>=9216&&R<=9279,\"Optical Character Recognition\":R=>R>=9280&&R<=9311,\"Enclosed Alphanumerics\":R=>R>=9312&&R<=9471,\"Geometric Shapes\":R=>R>=9632&&R<=9727,\"Miscellaneous Symbols\":R=>R>=9728&&R<=9983,\"Miscellaneous Symbols and Arrows\":R=>R>=11008&&R<=11263,\"Ideographic Description Characters\":R=>R>=12272&&R<=12287,\"CJK Symbols and Punctuation\":R=>R>=12288&&R<=12351,Katakana:R=>R>=12448&&R<=12543,Kanbun:R=>R>=12688&&R<=12703,\"CJK Strokes\":R=>R>=12736&&R<=12783,\"Enclosed CJK Letters and Months\":R=>R>=12800&&R<=13055,\"CJK Compatibility\":R=>R>=13056&&R<=13311,\"Yijing Hexagram Symbols\":R=>R>=19904&&R<=19967,\"Private Use Area\":R=>R>=57344&&R<=63743,\"Vertical Forms\":R=>R>=65040&&R<=65055,\"CJK Compatibility Forms\":R=>R>=65072&&R<=65103,\"Small Form Variants\":R=>R>=65104&&R<=65135,\"Halfwidth and Fullwidth Forms\":R=>R>=65280&&R<=65519};function Ua(R){for(let S of R)if(Bo(S.charCodeAt(0)))return!0;return!1}function mo(R){for(let S of R)if(!Qo(S.charCodeAt(0)))return!1;return!0}function Xo(R){let S=R.map(D=>{try{return new RegExp(`\\\\p{sc=${D}}`,\"u\").source}catch(j){return null}}).filter(D=>D);return new RegExp(S.join(\"|\"),\"u\")}let Ts=Xo([\"Arab\",\"Dupl\",\"Mong\",\"Ougr\",\"Syrc\"]);function Qo(R){return!Ts.test(String.fromCodePoint(R))}let ys=Xo([\"Bopo\",\"Hani\",\"Hira\",\"Kana\",\"Kits\",\"Nshu\",\"Tang\",\"Yiii\"]);function Bo(R){return!(R!==746&&R!==747&&(R<4352||!(sn[\"CJK Compatibility Forms\"](R)&&!(R>=65097&&R<=65103)||sn[\"CJK Compatibility\"](R)||sn[\"CJK Strokes\"](R)||!(!sn[\"CJK Symbols and Punctuation\"](R)||R>=12296&&R<=12305||R>=12308&&R<=12319||R===12336)||sn[\"Enclosed CJK Letters and Months\"](R)||sn[\"Ideographic Description Characters\"](R)||sn.Kanbun(R)||sn.Katakana(R)&&R!==12540||!(!sn[\"Halfwidth and Fullwidth Forms\"](R)||R===65288||R===65289||R===65293||R>=65306&&R<=65310||R===65339||R===65341||R===65343||R>=65371&&R<=65503||R===65507||R>=65512&&R<=65519)||!(!sn[\"Small Form Variants\"](R)||R>=65112&&R<=65118||R>=65123&&R<=65126)||sn[\"Vertical Forms\"](R)||sn[\"Yijing Hexagram Symbols\"](R)||new RegExp(\"\\\\p{sc=Cans}\",\"u\").test(String.fromCodePoint(R))||new RegExp(\"\\\\p{sc=Hang}\",\"u\").test(String.fromCodePoint(R))||ys.test(String.fromCodePoint(R)))))}function yl(R){return!(Bo(R)||function(S){return!!(sn[\"Latin-1 Supplement\"](S)&&(S===167||S===169||S===174||S===177||S===188||S===189||S===190||S===215||S===247)||sn[\"General Punctuation\"](S)&&(S===8214||S===8224||S===8225||S===8240||S===8241||S===8251||S===8252||S===8258||S===8263||S===8264||S===8265||S===8273)||sn[\"Letterlike Symbols\"](S)||sn[\"Number Forms\"](S)||sn[\"Miscellaneous Technical\"](S)&&(S>=8960&&S<=8967||S>=8972&&S<=8991||S>=8996&&S<=9e3||S===9003||S>=9085&&S<=9114||S>=9150&&S<=9165||S===9167||S>=9169&&S<=9179||S>=9186&&S<=9215)||sn[\"Control Pictures\"](S)&&S!==9251||sn[\"Optical Character Recognition\"](S)||sn[\"Enclosed Alphanumerics\"](S)||sn[\"Geometric Shapes\"](S)||sn[\"Miscellaneous Symbols\"](S)&&!(S>=9754&&S<=9759)||sn[\"Miscellaneous Symbols and Arrows\"](S)&&(S>=11026&&S<=11055||S>=11088&&S<=11097||S>=11192&&S<=11243)||sn[\"CJK Symbols and Punctuation\"](S)||sn.Katakana(S)||sn[\"Private Use Area\"](S)||sn[\"CJK Compatibility Forms\"](S)||sn[\"Small Form Variants\"](S)||sn[\"Halfwidth and Fullwidth Forms\"](S)||S===8734||S===8756||S===8757||S>=9984&&S<=10087||S>=10102&&S<=10131||S===65532||S===65533)}(R))}let Gs=Xo([\"Adlm\",\"Arab\",\"Armi\",\"Avst\",\"Chrs\",\"Cprt\",\"Egyp\",\"Elym\",\"Gara\",\"Hatr\",\"Hebr\",\"Hung\",\"Khar\",\"Lydi\",\"Mand\",\"Mani\",\"Mend\",\"Merc\",\"Mero\",\"Narb\",\"Nbat\",\"Nkoo\",\"Orkh\",\"Palm\",\"Phli\",\"Phlp\",\"Phnx\",\"Prti\",\"Rohg\",\"Samr\",\"Sarb\",\"Sogo\",\"Syrc\",\"Thaa\",\"Todr\",\"Yezi\"]);function Rs(R){return Gs.test(String.fromCodePoint(R))}function ia(R,S){return!(!S&&Rs(R)||R>=2304&&R<=3583||R>=3840&&R<=4255||sn.Khmer(R))}function Ka(R){for(let S of R)if(Rs(S.charCodeAt(0)))return!0;return!1}let vs=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus=\"unavailable\",this.pluginURL=null}setState(R){this.pluginStatus=R.pluginStatus,this.pluginURL=R.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(R){this.applyArabicShaping=R.applyArabicShaping,this.processBidirectionalText=R.processBidirectionalText,this.processStyledBidirectionalText=R.processStyledBidirectionalText}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Ko{constructor(S,D){this.zoom=S,D?(this.now=D.now,this.fadeDuration=D.fadeDuration,this.zoomHistory=D.zoomHistory,this.transition=D.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Cn,this.transition={})}isSupportedScript(S){return function(D,j){for(let te of D)if(!ia(te.charCodeAt(0),j))return!1;return!0}(S,vs.getRTLTextPluginStatus()===\"loaded\")}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let S=this.zoom,D=S-Math.floor(S),j=this.crossFadingFactor();return S>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:D+(1-D)*j}:{fromScale:.5,toScale:1,t:1-(1-j)*D}}}class nu{constructor(S,D){this.property=S,this.value=D,this.expression=function(j,te){if(Ch(j))return new Qs(j,te);if(Lc(j)){let ue=yu(j,te);if(ue.result===\"error\")throw new Error(ue.value.map(ve=>`${ve.key}: ${ve.message}`).join(\", \"));return ue.value}{let ue=j;return te.type===\"color\"&&typeof j==\"string\"?ue=Zt.parse(j):te.type!==\"padding\"||typeof j!=\"number\"&&!Array.isArray(j)?te.type===\"variableAnchorOffsetCollection\"&&Array.isArray(j)&&(ue=Si.parse(j)):ue=Vr.parse(j),{kind:\"constant\",evaluate:()=>ue}}}(D===void 0?S.specification.default:D,S.specification)}isDataDriven(){return this.expression.kind===\"source\"||this.expression.kind===\"composite\"}possiblyEvaluate(S,D,j){return this.property.possiblyEvaluate(this,S,D,j)}}class Ru{constructor(S){this.property=S,this.value=new nu(S,void 0)}transitioned(S,D){return new mf(this.property,this.value,D,L({},S.transition,this.transition),S.now)}untransitioned(){return new mf(this.property,this.value,null,{},0)}}class ac{constructor(S){this._properties=S,this._values=Object.create(S.defaultTransitionablePropertyValues)}getValue(S){return g(this._values[S].value.value)}setValue(S,D){Object.prototype.hasOwnProperty.call(this._values,S)||(this._values[S]=new Ru(this._values[S].property)),this._values[S].value=new nu(this._values[S].property,D===null?void 0:g(D))}getTransition(S){return g(this._values[S].transition)}setTransition(S,D){Object.prototype.hasOwnProperty.call(this._values,S)||(this._values[S]=new Ru(this._values[S].property)),this._values[S].transition=g(D)||void 0}serialize(){let S={};for(let D of Object.keys(this._values)){let j=this.getValue(D);j!==void 0&&(S[D]=j);let te=this.getTransition(D);te!==void 0&&(S[`${D}-transition`]=te)}return S}transitioned(S,D){let j=new bu(this._properties);for(let te of Object.keys(this._values))j._values[te]=this._values[te].transitioned(S,D._values[te]);return j}untransitioned(){let S=new bu(this._properties);for(let D of Object.keys(this._values))S._values[D]=this._values[D].untransitioned();return S}}class mf{constructor(S,D,j,te,ue){this.property=S,this.value=D,this.begin=ue+te.delay||0,this.end=this.begin+te.duration||0,S.specification.transition&&(te.delay||te.duration)&&(this.prior=j)}possiblyEvaluate(S,D,j){let te=S.now||0,ue=this.value.possiblyEvaluate(S,D,j),ve=this.prior;if(ve){if(te>this.end)return this.prior=null,ue;if(this.value.isDataDriven())return this.prior=null,ue;if(te<this.begin)return ve.possiblyEvaluate(S,D,j);{let De=(te-this.begin)/(this.end-this.begin);return this.property.interpolate(ve.possiblyEvaluate(S,D,j),ue,function(Ze){if(Ze<=0)return 0;if(Ze>=1)return 1;let at=Ze*Ze,Tt=at*Ze;return 4*(Ze<.5?Tt:3*(Ze-at)+Tt-.75)}(De))}}return ue}}class bu{constructor(S){this._properties=S,this._values=Object.create(S.defaultTransitioningPropertyValues)}possiblyEvaluate(S,D,j){let te=new Dc(this._properties);for(let ue of Object.keys(this._values))te._values[ue]=this._values[ue].possiblyEvaluate(S,D,j);return te}hasTransition(){for(let S of Object.keys(this._values))if(this._values[S].prior)return!0;return!1}}class Kc{constructor(S){this._properties=S,this._values=Object.create(S.defaultPropertyValues)}hasValue(S){return this._values[S].value!==void 0}getValue(S){return g(this._values[S].value)}setValue(S,D){this._values[S]=new nu(this._values[S].property,D===null?void 0:g(D))}serialize(){let S={};for(let D of Object.keys(this._values)){let j=this.getValue(D);j!==void 0&&(S[D]=j)}return S}possiblyEvaluate(S,D,j){let te=new Dc(this._properties);for(let ue of Object.keys(this._values))te._values[ue]=this._values[ue].possiblyEvaluate(S,D,j);return te}}class Du{constructor(S,D,j){this.property=S,this.value=D,this.parameters=j}isConstant(){return this.value.kind===\"constant\"}constantOr(S){return this.value.kind===\"constant\"?this.value.value:S}evaluate(S,D,j,te){return this.property.evaluate(this.value,this.parameters,S,D,j,te)}}class Dc{constructor(S){this._properties=S,this._values=Object.create(S.defaultPossiblyEvaluatedValues)}get(S){return this._values[S]}}class Da{constructor(S){this.specification=S}possiblyEvaluate(S,D){if(S.isDataDriven())throw new Error(\"Value should not be data driven\");return S.expression.evaluate(D)}interpolate(S,D,j){let te=Mo[this.specification.type];return te?te(S,D,j):S}}class eo{constructor(S,D){this.specification=S,this.overrides=D}possiblyEvaluate(S,D,j,te){return new Du(this,S.expression.kind===\"constant\"||S.expression.kind===\"camera\"?{kind:\"constant\",value:S.expression.evaluate(D,null,{},j,te)}:S.expression,D)}interpolate(S,D,j){if(S.value.kind!==\"constant\"||D.value.kind!==\"constant\")return S;if(S.value.value===void 0||D.value.value===void 0)return new Du(this,{kind:\"constant\",value:void 0},S.parameters);let te=Mo[this.specification.type];if(te){let ue=te(S.value.value,D.value.value,j);return new Du(this,{kind:\"constant\",value:ue},S.parameters)}return S}evaluate(S,D,j,te,ue,ve){return S.kind===\"constant\"?S.value:S.evaluate(D,j,te,ue,ve)}}class Jc extends eo{possiblyEvaluate(S,D,j,te){if(S.value===void 0)return new Du(this,{kind:\"constant\",value:void 0},D);if(S.expression.kind===\"constant\"){let ue=S.expression.evaluate(D,null,{},j,te),ve=S.property.specification.type===\"resolvedImage\"&&typeof ue!=\"string\"?ue.name:ue,De=this._calculate(ve,ve,ve,D);return new Du(this,{kind:\"constant\",value:De},D)}if(S.expression.kind===\"camera\"){let ue=this._calculate(S.expression.evaluate({zoom:D.zoom-1}),S.expression.evaluate({zoom:D.zoom}),S.expression.evaluate({zoom:D.zoom+1}),D);return new Du(this,{kind:\"constant\",value:ue},D)}return new Du(this,S.expression,D)}evaluate(S,D,j,te,ue,ve){if(S.kind===\"source\"){let De=S.evaluate(D,j,te,ue,ve);return this._calculate(De,De,De,D)}return S.kind===\"composite\"?this._calculate(S.evaluate({zoom:Math.floor(D.zoom)-1},j,te),S.evaluate({zoom:Math.floor(D.zoom)},j,te),S.evaluate({zoom:Math.floor(D.zoom)+1},j,te),D):S.value}_calculate(S,D,j,te){return te.zoom>te.zoomHistory.lastIntegerZoom?{from:S,to:D}:{from:j,to:D}}interpolate(S){return S}}class yc{constructor(S){this.specification=S}possiblyEvaluate(S,D,j,te){if(S.value!==void 0){if(S.expression.kind===\"constant\"){let ue=S.expression.evaluate(D,null,{},j,te);return this._calculate(ue,ue,ue,D)}return this._calculate(S.expression.evaluate(new Ko(Math.floor(D.zoom-1),D)),S.expression.evaluate(new Ko(Math.floor(D.zoom),D)),S.expression.evaluate(new Ko(Math.floor(D.zoom+1),D)),D)}}_calculate(S,D,j,te){return te.zoom>te.zoomHistory.lastIntegerZoom?{from:S,to:D}:{from:j,to:D}}interpolate(S){return S}}class _c{constructor(S){this.specification=S}possiblyEvaluate(S,D,j,te){return!!S.expression.evaluate(D,null,{},j,te)}interpolate(){return!1}}class le{constructor(S){this.properties=S,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let D in S){let j=S[D];j.specification.overridable&&this.overridableProperties.push(D);let te=this.defaultPropertyValues[D]=new nu(j,void 0),ue=this.defaultTransitionablePropertyValues[D]=new Ru(j);this.defaultTransitioningPropertyValues[D]=ue.untransitioned(),this.defaultPossiblyEvaluatedValues[D]=te.possiblyEvaluate({})}}}mi(\"DataDrivenProperty\",eo),mi(\"DataConstantProperty\",Da),mi(\"CrossFadedDataDrivenProperty\",Jc),mi(\"CrossFadedProperty\",yc),mi(\"ColorRampProperty\",_c);let w=\"-transition\";class B extends Re{constructor(S,D){if(super(),this.id=S.id,this.type=S.type,this._featureFilter={filter:()=>!0,needGeometry:!1},S.type!==\"custom\"&&(this.metadata=S.metadata,this.minzoom=S.minzoom,this.maxzoom=S.maxzoom,S.type!==\"background\"&&(this.source=S.source,this.sourceLayer=S[\"source-layer\"],this.filter=S.filter),D.layout&&(this._unevaluatedLayout=new Kc(D.layout)),D.paint)){this._transitionablePaint=new ac(D.paint);for(let j in S.paint)this.setPaintProperty(j,S.paint[j],{validate:!1});for(let j in S.layout)this.setLayoutProperty(j,S.layout[j],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Dc(D.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(S){return S===\"visibility\"?this.visibility:this._unevaluatedLayout.getValue(S)}setLayoutProperty(S,D,j={}){D!=null&&this._validate(hn,`layers.${this.id}.layout.${S}`,S,D,j)||(S!==\"visibility\"?this._unevaluatedLayout.setValue(S,D):this.visibility=D)}getPaintProperty(S){return S.endsWith(w)?this._transitionablePaint.getTransition(S.slice(0,-11)):this._transitionablePaint.getValue(S)}setPaintProperty(S,D,j={}){if(D!=null&&this._validate(Xi,`layers.${this.id}.paint.${S}`,S,D,j))return!1;if(S.endsWith(w))return this._transitionablePaint.setTransition(S.slice(0,-11),D||void 0),!1;{let te=this._transitionablePaint._values[S],ue=te.property.specification[\"property-type\"]===\"cross-faded-data-driven\",ve=te.value.isDataDriven(),De=te.value;this._transitionablePaint.setValue(S,D),this._handleSpecialPaintPropertyUpdate(S);let Ze=this._transitionablePaint._values[S].value;return Ze.isDataDriven()||ve||ue||this._handleOverridablePaintPropertyUpdate(S,De,Ze)}}_handleSpecialPaintPropertyUpdate(S){}_handleOverridablePaintPropertyUpdate(S,D,j){return!1}isHidden(S){return!!(this.minzoom&&S<this.minzoom)||!!(this.maxzoom&&S>=this.maxzoom)||this.visibility===\"none\"}updateTransitions(S){this._transitioningPaint=this._transitionablePaint.transitioned(S,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(S,D){S.getCrossfadeParameters&&(this._crossfadeParameters=S.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(S,void 0,D)),this.paint=this._transitioningPaint.possiblyEvaluate(S,void 0,D)}serialize(){let S={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&&(S.layout=S.layout||{},S.layout.visibility=this.visibility),M(S,(D,j)=>!(D===void 0||j===\"layout\"&&!Object.keys(D).length||j===\"paint\"&&!Object.keys(D).length))}_validate(S,D,j,te,ue={}){return(!ue||ue.validate!==!1)&&Ti(this,S.call(fi,{key:D,layerType:this.type,objectKey:j,value:te,styleSpec:ce,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let S in this.paint._values){let D=this.paint.get(S);if(D instanceof Du&&Cu(D.property.specification)&&(D.value.kind===\"source\"||D.value.kind===\"composite\")&&D.value.isStateDependent)return!0}return!1}}let Q={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class ee{constructor(S,D){this._structArray=S,this._pos1=D*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class se{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(S,D){return S._trim(),D&&(S.isTransferred=!0,D.push(S.arrayBuffer)),{length:S.length,arrayBuffer:S.arrayBuffer}}static deserialize(S){let D=Object.create(this.prototype);return D.arrayBuffer=S.arrayBuffer,D.length=S.length,D.capacity=S.arrayBuffer.byteLength/D.bytesPerElement,D._refreshViews(),D}_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(S){this.reserve(S),this.length=S}reserve(S){if(S>this.capacity){this.capacity=Math.max(S,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let D=this.uint8;this._refreshViews(),D&&this.uint8.set(D)}}_refreshViews(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")}}function qe(R,S=1){let D=0,j=0;return{members:R.map(te=>{let ue=Q[te.type].BYTES_PER_ELEMENT,ve=D=je(D,Math.max(S,ue)),De=te.components||1;return j=Math.max(j,ue),D+=ue*De,{name:te.name,type:te.type,components:De,offset:ve}}),size:je(D,Math.max(j,S)),alignment:S}}function je(R,S){return Math.ceil(R/S)*S}class it extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D){let j=this.length;return this.resize(j+1),this.emplace(j,S,D)}emplace(S,D,j){let te=2*S;return this.int16[te+0]=D,this.int16[te+1]=j,S}}it.prototype.bytesPerElement=4,mi(\"StructArrayLayout2i4\",it);class yt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.int16[ue+0]=D,this.int16[ue+1]=j,this.int16[ue+2]=te,S}}yt.prototype.bytesPerElement=6,mi(\"StructArrayLayout3i6\",yt);class Ot extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te){let ue=this.length;return this.resize(ue+1),this.emplace(ue,S,D,j,te)}emplace(S,D,j,te,ue){let ve=4*S;return this.int16[ve+0]=D,this.int16[ve+1]=j,this.int16[ve+2]=te,this.int16[ve+3]=ue,S}}Ot.prototype.bytesPerElement=8,mi(\"StructArrayLayout4i8\",Ot);class Nt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=6*S;return this.int16[Ze+0]=D,this.int16[Ze+1]=j,this.int16[Ze+2]=te,this.int16[Ze+3]=ue,this.int16[Ze+4]=ve,this.int16[Ze+5]=De,S}}Nt.prototype.bytesPerElement=12,mi(\"StructArrayLayout2i4i12\",Nt);class hr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=4*S,at=8*S;return this.int16[Ze+0]=D,this.int16[Ze+1]=j,this.uint8[at+4]=te,this.uint8[at+5]=ue,this.uint8[at+6]=ve,this.uint8[at+7]=De,S}}hr.prototype.bytesPerElement=8,mi(\"StructArrayLayout2i4ub8\",hr);class Sr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D){let j=this.length;return this.resize(j+1),this.emplace(j,S,D)}emplace(S,D,j){let te=2*S;return this.float32[te+0]=D,this.float32[te+1]=j,S}}Sr.prototype.bytesPerElement=8,mi(\"StructArrayLayout2f8\",Sr);class he extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve,De,Ze,at,Tt){let Ft=this.length;return this.resize(Ft+1),this.emplace(Ft,S,D,j,te,ue,ve,De,Ze,at,Tt)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft){let Qt=10*S;return this.uint16[Qt+0]=D,this.uint16[Qt+1]=j,this.uint16[Qt+2]=te,this.uint16[Qt+3]=ue,this.uint16[Qt+4]=ve,this.uint16[Qt+5]=De,this.uint16[Qt+6]=Ze,this.uint16[Qt+7]=at,this.uint16[Qt+8]=Tt,this.uint16[Qt+9]=Ft,S}}he.prototype.bytesPerElement=20,mi(\"StructArrayLayout10ui20\",he);class be extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt){let sr=this.length;return this.resize(sr+1),this.emplace(sr,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr){let Tr=12*S;return this.int16[Tr+0]=D,this.int16[Tr+1]=j,this.int16[Tr+2]=te,this.int16[Tr+3]=ue,this.uint16[Tr+4]=ve,this.uint16[Tr+5]=De,this.uint16[Tr+6]=Ze,this.uint16[Tr+7]=at,this.int16[Tr+8]=Tt,this.int16[Tr+9]=Ft,this.int16[Tr+10]=Qt,this.int16[Tr+11]=sr,S}}be.prototype.bytesPerElement=24,mi(\"StructArrayLayout4i4ui4i24\",be);class Pe extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.float32[ue+0]=D,this.float32[ue+1]=j,this.float32[ue+2]=te,S}}Pe.prototype.bytesPerElement=12,mi(\"StructArrayLayout3f12\",Pe);class Oe extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(S){let D=this.length;return this.resize(D+1),this.emplace(D,S)}emplace(S,D){return this.uint32[1*S+0]=D,S}}Oe.prototype.bytesPerElement=4,mi(\"StructArrayLayout1ul4\",Oe);class Je extends se{_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(S,D,j,te,ue,ve,De,Ze,at){let Tt=this.length;return this.resize(Tt+1),this.emplace(Tt,S,D,j,te,ue,ve,De,Ze,at)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt){let Ft=10*S,Qt=5*S;return this.int16[Ft+0]=D,this.int16[Ft+1]=j,this.int16[Ft+2]=te,this.int16[Ft+3]=ue,this.int16[Ft+4]=ve,this.int16[Ft+5]=De,this.uint32[Qt+3]=Ze,this.uint16[Ft+8]=at,this.uint16[Ft+9]=Tt,S}}Je.prototype.bytesPerElement=20,mi(\"StructArrayLayout6i1ul2ui20\",Je);class He extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=6*S;return this.int16[Ze+0]=D,this.int16[Ze+1]=j,this.int16[Ze+2]=te,this.int16[Ze+3]=ue,this.int16[Ze+4]=ve,this.int16[Ze+5]=De,S}}He.prototype.bytesPerElement=12,mi(\"StructArrayLayout2i2i2i12\",He);class et extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue){let ve=this.length;return this.resize(ve+1),this.emplace(ve,S,D,j,te,ue)}emplace(S,D,j,te,ue,ve){let De=4*S,Ze=8*S;return this.float32[De+0]=D,this.float32[De+1]=j,this.float32[De+2]=te,this.int16[Ze+6]=ue,this.int16[Ze+7]=ve,S}}et.prototype.bytesPerElement=16,mi(\"StructArrayLayout2f1f2i16\",et);class Mt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=16*S,at=4*S,Tt=8*S;return this.uint8[Ze+0]=D,this.uint8[Ze+1]=j,this.float32[at+1]=te,this.float32[at+2]=ue,this.int16[Tt+6]=ve,this.int16[Tt+7]=De,S}}Mt.prototype.bytesPerElement=16,mi(\"StructArrayLayout2ub2f2i16\",Mt);class Dt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.uint16[ue+0]=D,this.uint16[ue+1]=j,this.uint16[ue+2]=te,S}}Dt.prototype.bytesPerElement=6,mi(\"StructArrayLayout3ui6\",Dt);class Ut extends se{_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(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni){let Di=this.length;return this.resize(Di+1),this.emplace(Di,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di){let pi=24*S,ki=12*S,Zi=48*S;return this.int16[pi+0]=D,this.int16[pi+1]=j,this.uint16[pi+2]=te,this.uint16[pi+3]=ue,this.uint32[ki+2]=ve,this.uint32[ki+3]=De,this.uint32[ki+4]=Ze,this.uint16[pi+10]=at,this.uint16[pi+11]=Tt,this.uint16[pi+12]=Ft,this.float32[ki+7]=Qt,this.float32[ki+8]=sr,this.uint8[Zi+36]=Tr,this.uint8[Zi+37]=Pr,this.uint8[Zi+38]=$r,this.uint32[ki+10]=ni,this.int16[pi+22]=Di,S}}Ut.prototype.bytesPerElement=48,mi(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",Ut);class tr extends se{_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(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di,pi,ki,Zi,ta,Va,Io,La,Hn,lo,$a){let Xa=this.length;return this.resize(Xa+1),this.emplace(Xa,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di,pi,ki,Zi,ta,Va,Io,La,Hn,lo,$a)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di,pi,ki,Zi,ta,Va,Io,La,Hn,lo,$a,Xa){let Tn=32*S,bo=16*S;return this.int16[Tn+0]=D,this.int16[Tn+1]=j,this.int16[Tn+2]=te,this.int16[Tn+3]=ue,this.int16[Tn+4]=ve,this.int16[Tn+5]=De,this.int16[Tn+6]=Ze,this.int16[Tn+7]=at,this.uint16[Tn+8]=Tt,this.uint16[Tn+9]=Ft,this.uint16[Tn+10]=Qt,this.uint16[Tn+11]=sr,this.uint16[Tn+12]=Tr,this.uint16[Tn+13]=Pr,this.uint16[Tn+14]=$r,this.uint16[Tn+15]=ni,this.uint16[Tn+16]=Di,this.uint16[Tn+17]=pi,this.uint16[Tn+18]=ki,this.uint16[Tn+19]=Zi,this.uint16[Tn+20]=ta,this.uint16[Tn+21]=Va,this.uint16[Tn+22]=Io,this.uint32[bo+12]=La,this.float32[bo+13]=Hn,this.float32[bo+14]=lo,this.uint16[Tn+30]=$a,this.uint16[Tn+31]=Xa,S}}tr.prototype.bytesPerElement=64,mi(\"StructArrayLayout8i15ui1ul2f2ui64\",tr);class mr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S){let D=this.length;return this.resize(D+1),this.emplace(D,S)}emplace(S,D){return this.float32[1*S+0]=D,S}}mr.prototype.bytesPerElement=4,mi(\"StructArrayLayout1f4\",mr);class Rr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.uint16[6*S+0]=D,this.float32[ue+1]=j,this.float32[ue+2]=te,S}}Rr.prototype.bytesPerElement=12,mi(\"StructArrayLayout1ui2f12\",Rr);class zr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=4*S;return this.uint32[2*S+0]=D,this.uint16[ue+2]=j,this.uint16[ue+3]=te,S}}zr.prototype.bytesPerElement=8,mi(\"StructArrayLayout1ul2ui8\",zr);class Xr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D){let j=this.length;return this.resize(j+1),this.emplace(j,S,D)}emplace(S,D,j){let te=2*S;return this.uint16[te+0]=D,this.uint16[te+1]=j,S}}Xr.prototype.bytesPerElement=4,mi(\"StructArrayLayout2ui4\",Xr);class di extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S){let D=this.length;return this.resize(D+1),this.emplace(D,S)}emplace(S,D){return this.uint16[1*S+0]=D,S}}di.prototype.bytesPerElement=2,mi(\"StructArrayLayout1ui2\",di);class Li extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j,te){let ue=this.length;return this.resize(ue+1),this.emplace(ue,S,D,j,te)}emplace(S,D,j,te,ue){let ve=4*S;return this.float32[ve+0]=D,this.float32[ve+1]=j,this.float32[ve+2]=te,this.float32[ve+3]=ue,S}}Li.prototype.bytesPerElement=16,mi(\"StructArrayLayout4f16\",Li);class Ci extends ee{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 u(this.anchorPointX,this.anchorPointY)}}Ci.prototype.size=20;class Qi extends Je{get(S){return new Ci(this,S)}}mi(\"CollisionBoxArray\",Qi);class Mn extends ee{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(S){this._structArray.uint8[this._pos1+37]=S}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(S){this._structArray.uint8[this._pos1+38]=S}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(S){this._structArray.uint32[this._pos4+10]=S}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Mn.prototype.size=48;class pa extends Ut{get(S){return new Mn(this,S)}}mi(\"PlacedSymbolArray\",pa);class ea extends ee{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(S){this._structArray.uint32[this._pos4+12]=S}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]}}ea.prototype.size=64;class Ga extends tr{get(S){return new ea(this,S)}}mi(\"SymbolInstanceArray\",Ga);class To extends mr{getoffsetX(S){return this.float32[1*S+0]}}mi(\"GlyphOffsetArray\",To);class Wa extends yt{getx(S){return this.int16[3*S+0]}gety(S){return this.int16[3*S+1]}gettileUnitDistanceFromAnchor(S){return this.int16[3*S+2]}}mi(\"SymbolLineVertexArray\",Wa);class co extends ee{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]}}co.prototype.size=12;class Ro extends Rr{get(S){return new co(this,S)}}mi(\"TextAnchorOffsetArray\",Ro);class Ds extends ee{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]}}Ds.prototype.size=8;class As extends zr{get(S){return new Ds(this,S)}}mi(\"FeatureIndexArray\",As);class yo extends it{}class po extends it{}class _l extends it{}class Hl extends Nt{}class Zu extends hr{}class cu extends Sr{}class el extends he{}class au extends be{}class zc extends Pe{}class zl extends Oe{}class Fl extends He{}class Z extends Mt{}class oe extends Dt{}class we extends Xr{}let Be=qe([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:Ue}=Be;class We{constructor(S=[]){this.segments=S}prepareSegment(S,D,j,te){let ue=this.segments[this.segments.length-1];return S>We.MAX_VERTEX_ARRAY_LENGTH&&T(`Max vertices per segment is ${We.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${S}`),(!ue||ue.vertexLength+S>We.MAX_VERTEX_ARRAY_LENGTH||ue.sortKey!==te)&&(ue={vertexOffset:D.length,primitiveOffset:j.length,vertexLength:0,primitiveLength:0},te!==void 0&&(ue.sortKey=te),this.segments.push(ue)),ue}get(){return this.segments}destroy(){for(let S of this.segments)for(let D in S.vaos)S.vaos[D].destroy()}static simpleSegment(S,D,j,te){return new We([{vertexOffset:S,primitiveOffset:D,vertexLength:j,primitiveLength:te,vaos:{},sortKey:0}])}}function wt(R,S){return 256*(R=k(Math.floor(R),0,255))+k(Math.floor(S),0,255)}We.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,mi(\"SegmentVector\",We);let tt=qe([{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 zt={exports:{}},or={exports:{}};or.exports=function(R,S){var D,j,te,ue,ve,De,Ze,at;for(j=R.length-(D=3&R.length),te=S,ve=3432918353,De=461845907,at=0;at<j;)Ze=255&R.charCodeAt(at)|(255&R.charCodeAt(++at))<<8|(255&R.charCodeAt(++at))<<16|(255&R.charCodeAt(++at))<<24,++at,te=27492+(65535&(ue=5*(65535&(te=(te^=Ze=(65535&(Ze=(Ze=(65535&Ze)*ve+(((Ze>>>16)*ve&65535)<<16)&4294967295)<<15|Ze>>>17))*De+(((Ze>>>16)*De&65535)<<16)&4294967295)<<13|te>>>19))+((5*(te>>>16)&65535)<<16)&4294967295))+((58964+(ue>>>16)&65535)<<16);switch(Ze=0,D){case 3:Ze^=(255&R.charCodeAt(at+2))<<16;case 2:Ze^=(255&R.charCodeAt(at+1))<<8;case 1:te^=Ze=(65535&(Ze=(Ze=(65535&(Ze^=255&R.charCodeAt(at)))*ve+(((Ze>>>16)*ve&65535)<<16)&4294967295)<<15|Ze>>>17))*De+(((Ze>>>16)*De&65535)<<16)&4294967295}return te^=R.length,te=2246822507*(65535&(te^=te>>>16))+((2246822507*(te>>>16)&65535)<<16)&4294967295,te=3266489909*(65535&(te^=te>>>13))+((3266489909*(te>>>16)&65535)<<16)&4294967295,(te^=te>>>16)>>>0};var lr=or.exports,Dr={exports:{}};Dr.exports=function(R,S){for(var D,j=R.length,te=S^j,ue=0;j>=4;)D=1540483477*(65535&(D=255&R.charCodeAt(ue)|(255&R.charCodeAt(++ue))<<8|(255&R.charCodeAt(++ue))<<16|(255&R.charCodeAt(++ue))<<24))+((1540483477*(D>>>16)&65535)<<16),te=1540483477*(65535&te)+((1540483477*(te>>>16)&65535)<<16)^(D=1540483477*(65535&(D^=D>>>24))+((1540483477*(D>>>16)&65535)<<16)),j-=4,++ue;switch(j){case 3:te^=(255&R.charCodeAt(ue+2))<<16;case 2:te^=(255&R.charCodeAt(ue+1))<<8;case 1:te=1540483477*(65535&(te^=255&R.charCodeAt(ue)))+((1540483477*(te>>>16)&65535)<<16)}return te=1540483477*(65535&(te^=te>>>13))+((1540483477*(te>>>16)&65535)<<16),(te^=te>>>15)>>>0};var Ir=lr,oi=Dr.exports;zt.exports=Ir,zt.exports.murmur3=Ir,zt.exports.murmur2=oi;var ui=o(zt.exports);class qr{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(S,D,j,te){this.ids.push(Kr(S)),this.positions.push(D,j,te)}getPositions(S){if(!this.indexed)throw new Error(\"Trying to get index, but feature positions are not indexed\");let D=Kr(S),j=0,te=this.ids.length-1;for(;j<te;){let ve=j+te>>1;this.ids[ve]>=D?te=ve:j=ve+1}let ue=[];for(;this.ids[j]===D;)ue.push({index:this.positions[3*j],start:this.positions[3*j+1],end:this.positions[3*j+2]}),j++;return ue}static serialize(S,D){let j=new Float64Array(S.ids),te=new Uint32Array(S.positions);return ii(j,te,0,j.length-1),D&&D.push(j.buffer,te.buffer),{ids:j,positions:te}}static deserialize(S){let D=new qr;return D.ids=S.ids,D.positions=S.positions,D.indexed=!0,D}}function Kr(R){let S=+R;return!isNaN(S)&&S<=Number.MAX_SAFE_INTEGER?S:ui(String(R))}function ii(R,S,D,j){for(;D<j;){let te=R[D+j>>1],ue=D-1,ve=j+1;for(;;){do ue++;while(R[ue]<te);do ve--;while(R[ve]>te);if(ue>=ve)break;vi(R,ue,ve),vi(S,3*ue,3*ve),vi(S,3*ue+1,3*ve+1),vi(S,3*ue+2,3*ve+2)}ve-D<j-ve?(ii(R,S,D,ve),D=ve+1):(ii(R,S,ve+1,j),j=ve)}}function vi(R,S,D){let j=R[S];R[S]=R[D],R[D]=j}mi(\"FeaturePositionMap\",qr);class ci{constructor(S,D){this.gl=S.gl,this.location=D}}class Jr extends ci{constructor(S,D){super(S,D),this.current=0}set(S){this.current!==S&&(this.current=S,this.gl.uniform1f(this.location,S))}}class un extends ci{constructor(S,D){super(S,D),this.current=[0,0,0,0]}set(S){S[0]===this.current[0]&&S[1]===this.current[1]&&S[2]===this.current[2]&&S[3]===this.current[3]||(this.current=S,this.gl.uniform4f(this.location,S[0],S[1],S[2],S[3]))}}class dn extends ci{constructor(S,D){super(S,D),this.current=Zt.transparent}set(S){S.r===this.current.r&&S.g===this.current.g&&S.b===this.current.b&&S.a===this.current.a||(this.current=S,this.gl.uniform4f(this.location,S.r,S.g,S.b,S.a))}}let En=new Float32Array(16);function Nn(R){return[wt(255*R.r,255*R.g),wt(255*R.b,255*R.a)]}class ga{constructor(S,D,j){this.value=S,this.uniformNames=D.map(te=>`u_${te}`),this.type=j}setUniform(S,D,j){S.set(j.constantOr(this.value))}getBinding(S,D,j){return this.type===\"color\"?new dn(S,D):new Jr(S,D)}}class ya{constructor(S,D){this.uniformNames=D.map(j=>`u_${j}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(S,D){this.pixelRatioFrom=D.pixelRatio,this.pixelRatioTo=S.pixelRatio,this.patternFrom=D.tlbr,this.patternTo=S.tlbr}setUniform(S,D,j,te){let ue=te===\"u_pattern_to\"?this.patternTo:te===\"u_pattern_from\"?this.patternFrom:te===\"u_pixel_ratio_to\"?this.pixelRatioTo:te===\"u_pixel_ratio_from\"?this.pixelRatioFrom:null;ue&&S.set(ue)}getBinding(S,D,j){return j.substr(0,9)===\"u_pattern\"?new un(S,D):new Jr(S,D)}}class so{constructor(S,D,j,te){this.expression=S,this.type=j,this.maxValue=0,this.paintVertexAttributes=D.map(ue=>({name:`a_${ue}`,type:\"Float32\",components:j===\"color\"?2:1,offset:0})),this.paintVertexArray=new te}populatePaintArray(S,D,j,te,ue){let ve=this.paintVertexArray.length,De=this.expression.evaluate(new Ko(0),D,{},te,[],ue);this.paintVertexArray.resize(S),this._setPaintValue(ve,S,De)}updatePaintArray(S,D,j,te){let ue=this.expression.evaluate({zoom:0},j,te);this._setPaintValue(S,D,ue)}_setPaintValue(S,D,j){if(this.type===\"color\"){let te=Nn(j);for(let ue=S;ue<D;ue++)this.paintVertexArray.emplace(ue,te[0],te[1])}else{for(let te=S;te<D;te++)this.paintVertexArray.emplace(te,j);this.maxValue=Math.max(this.maxValue,Math.abs(j))}}upload(S){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=S.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}}class wa{constructor(S,D,j,te,ue,ve){this.expression=S,this.uniformNames=D.map(De=>`u_${De}_t`),this.type=j,this.useIntegerZoom=te,this.zoom=ue,this.maxValue=0,this.paintVertexAttributes=D.map(De=>({name:`a_${De}`,type:\"Float32\",components:j===\"color\"?4:2,offset:0})),this.paintVertexArray=new ve}populatePaintArray(S,D,j,te,ue){let ve=this.expression.evaluate(new Ko(this.zoom),D,{},te,[],ue),De=this.expression.evaluate(new Ko(this.zoom+1),D,{},te,[],ue),Ze=this.paintVertexArray.length;this.paintVertexArray.resize(S),this._setPaintValue(Ze,S,ve,De)}updatePaintArray(S,D,j,te){let ue=this.expression.evaluate({zoom:this.zoom},j,te),ve=this.expression.evaluate({zoom:this.zoom+1},j,te);this._setPaintValue(S,D,ue,ve)}_setPaintValue(S,D,j,te){if(this.type===\"color\"){let ue=Nn(j),ve=Nn(te);for(let De=S;De<D;De++)this.paintVertexArray.emplace(De,ue[0],ue[1],ve[0],ve[1])}else{for(let ue=S;ue<D;ue++)this.paintVertexArray.emplace(ue,j,te);this.maxValue=Math.max(this.maxValue,Math.abs(j),Math.abs(te))}}upload(S){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=S.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}setUniform(S,D){let j=this.useIntegerZoom?Math.floor(D.zoom):D.zoom,te=k(this.expression.interpolationFactor(j,this.zoom,this.zoom+1),0,1);S.set(te)}getBinding(S,D,j){return new Jr(S,D)}}class io{constructor(S,D,j,te,ue,ve){this.expression=S,this.type=D,this.useIntegerZoom=j,this.zoom=te,this.layerId=ve,this.zoomInPaintVertexArray=new ue,this.zoomOutPaintVertexArray=new ue}populatePaintArray(S,D,j){let te=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(S),this.zoomOutPaintVertexArray.resize(S),this._setPaintValues(te,S,D.patterns&&D.patterns[this.layerId],j)}updatePaintArray(S,D,j,te,ue){this._setPaintValues(S,D,j.patterns&&j.patterns[this.layerId],ue)}_setPaintValues(S,D,j,te){if(!te||!j)return;let{min:ue,mid:ve,max:De}=j,Ze=te[ue],at=te[ve],Tt=te[De];if(Ze&&at&&Tt)for(let Ft=S;Ft<D;Ft++)this.zoomInPaintVertexArray.emplace(Ft,at.tl[0],at.tl[1],at.br[0],at.br[1],Ze.tl[0],Ze.tl[1],Ze.br[0],Ze.br[1],at.pixelRatio,Ze.pixelRatio),this.zoomOutPaintVertexArray.emplace(Ft,at.tl[0],at.tl[1],at.br[0],at.br[1],Tt.tl[0],Tt.tl[1],Tt.br[0],Tt.br[1],at.pixelRatio,Tt.pixelRatio)}upload(S){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=S.createVertexBuffer(this.zoomInPaintVertexArray,tt.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=S.createVertexBuffer(this.zoomOutPaintVertexArray,tt.members,this.expression.isStateDependent))}destroy(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()}}class Ss{constructor(S,D,j){this.binders={},this._buffers=[];let te=[];for(let ue in S.paint._values){if(!j(ue))continue;let ve=S.paint.get(ue);if(!(ve instanceof Du&&Cu(ve.property.specification)))continue;let De=Ns(ue,S.type),Ze=ve.value,at=ve.property.specification.type,Tt=ve.property.useIntegerZoom,Ft=ve.property.specification[\"property-type\"],Qt=Ft===\"cross-faded\"||Ft===\"cross-faded-data-driven\";if(Ze.kind===\"constant\")this.binders[ue]=Qt?new ya(Ze.value,De):new ga(Ze.value,De,at),te.push(`/u_${ue}`);else if(Ze.kind===\"source\"||Qt){let sr=pn(ue,at,\"source\");this.binders[ue]=Qt?new io(Ze,at,Tt,D,sr,S.id):new so(Ze,De,at,sr),te.push(`/a_${ue}`)}else{let sr=pn(ue,at,\"composite\");this.binders[ue]=new wa(Ze,De,at,Tt,D,sr),te.push(`/z_${ue}`)}}this.cacheKey=te.sort().join(\"\")}getMaxValue(S){let D=this.binders[S];return D instanceof so||D instanceof wa?D.maxValue:0}populatePaintArrays(S,D,j,te,ue){for(let ve in this.binders){let De=this.binders[ve];(De instanceof so||De instanceof wa||De instanceof io)&&De.populatePaintArray(S,D,j,te,ue)}}setConstantPatternPositions(S,D){for(let j in this.binders){let te=this.binders[j];te instanceof ya&&te.setConstantPatternPositions(S,D)}}updatePaintArrays(S,D,j,te,ue){let ve=!1;for(let De in S){let Ze=D.getPositions(De);for(let at of Ze){let Tt=j.feature(at.index);for(let Ft in this.binders){let Qt=this.binders[Ft];if((Qt instanceof so||Qt instanceof wa||Qt instanceof io)&&Qt.expression.isStateDependent===!0){let sr=te.paint.get(Ft);Qt.expression=sr.value,Qt.updatePaintArray(at.start,at.end,Tt,S[De],ue),ve=!0}}}}return ve}defines(){let S=[];for(let D in this.binders){let j=this.binders[D];(j instanceof ga||j instanceof ya)&&S.push(...j.uniformNames.map(te=>`#define HAS_UNIFORM_${te}`))}return S}getBinderAttributes(){let S=[];for(let D in this.binders){let j=this.binders[D];if(j instanceof so||j instanceof wa)for(let te=0;te<j.paintVertexAttributes.length;te++)S.push(j.paintVertexAttributes[te].name);else if(j instanceof io)for(let te=0;te<tt.members.length;te++)S.push(tt.members[te].name)}return S}getBinderUniforms(){let S=[];for(let D in this.binders){let j=this.binders[D];if(j instanceof ga||j instanceof ya||j instanceof wa)for(let te of j.uniformNames)S.push(te)}return S}getPaintVertexBuffers(){return this._buffers}getUniforms(S,D){let j=[];for(let te in this.binders){let ue=this.binders[te];if(ue instanceof ga||ue instanceof ya||ue instanceof wa){for(let ve of ue.uniformNames)if(D[ve]){let De=ue.getBinding(S,D[ve],ve);j.push({name:ve,property:te,binding:De})}}}return j}setUniforms(S,D,j,te){for(let{name:ue,property:ve,binding:De}of D)this.binders[ve].setUniform(De,te,j.get(ve),ue)}updatePaintBuffers(S){this._buffers=[];for(let D in this.binders){let j=this.binders[D];if(S&&j instanceof io){let te=S.fromScale===2?j.zoomInPaintVertexBuffer:j.zoomOutPaintVertexBuffer;te&&this._buffers.push(te)}else(j instanceof so||j instanceof wa)&&j.paintVertexBuffer&&this._buffers.push(j.paintVertexBuffer)}}upload(S){for(let D in this.binders){let j=this.binders[D];(j instanceof so||j instanceof wa||j instanceof io)&&j.upload(S)}this.updatePaintBuffers()}destroy(){for(let S in this.binders){let D=this.binders[S];(D instanceof so||D instanceof wa||D instanceof io)&&D.destroy()}}}class _s{constructor(S,D,j=()=>!0){this.programConfigurations={};for(let te of S)this.programConfigurations[te.id]=new Ss(te,D,j);this.needsUpload=!1,this._featureMap=new qr,this._bufferOffset=0}populatePaintArrays(S,D,j,te,ue,ve){for(let De in this.programConfigurations)this.programConfigurations[De].populatePaintArrays(S,D,te,ue,ve);D.id!==void 0&&this._featureMap.add(D.id,j,this._bufferOffset,S),this._bufferOffset=S,this.needsUpload=!0}updatePaintArrays(S,D,j,te){for(let ue of j)this.needsUpload=this.programConfigurations[ue.id].updatePaintArrays(S,this._featureMap,D,ue,te)||this.needsUpload}get(S){return this.programConfigurations[S]}upload(S){if(this.needsUpload){for(let D in this.programConfigurations)this.programConfigurations[D].upload(S);this.needsUpload=!1}}destroy(){for(let S in this.programConfigurations)this.programConfigurations[S].destroy()}}function Ns(R,S){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\"]}[R]||[R.replace(`${S}-`,\"\").replace(/-/g,\"_\")]}function pn(R,S,D){let j={color:{source:Sr,composite:Li},number:{source:mr,composite:Sr}},te=function(ue){return{\"line-pattern\":{source:el,composite:el},\"fill-pattern\":{source:el,composite:el},\"fill-extrusion-pattern\":{source:el,composite:el}}[ue]}(R);return te&&te[D]||j[S][D]}mi(\"ConstantBinder\",ga),mi(\"CrossFadedConstantBinder\",ya),mi(\"SourceExpressionBinder\",so),mi(\"CrossFadedCompositeBinder\",io),mi(\"CompositeExpressionBinder\",wa),mi(\"ProgramConfiguration\",Ss,{omit:[\"_buffers\"]}),mi(\"ProgramConfigurationSet\",_s);let za=8192,Lo=Math.pow(2,14)-1,Fo=-Lo-1;function js(R){let S=za/R.extent,D=R.loadGeometry();for(let j=0;j<D.length;j++){let te=D[j];for(let ue=0;ue<te.length;ue++){let ve=te[ue],De=Math.round(ve.x*S),Ze=Math.round(ve.y*S);ve.x=k(De,Fo,Lo),ve.y=k(Ze,Fo,Lo),(De<ve.x||De>ve.x+1||Ze<ve.y||Ze>ve.y+1)&&T(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}}return D}function xl(R,S){return{type:R.type,id:R.id,properties:R.properties,geometry:S?js(R):[]}}function fu(R,S,D,j,te){R.emplaceBack(2*S+(j+1)/2,2*D+(te+1)/2)}class dl{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.layoutVertexArray=new po,this.indexArray=new oe,this.segments=new We,this.programConfigurations=new _s(S.layers,S.zoom),this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){let te=this.layers[0],ue=[],ve=null,De=!1;te.type===\"circle\"&&(ve=te.layout.get(\"circle-sort-key\"),De=!ve.isConstant());for(let{feature:Ze,id:at,index:Tt,sourceLayerIndex:Ft}of S){let Qt=this.layers[0]._featureFilter.needGeometry,sr=xl(Ze,Qt);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),sr,j))continue;let Tr=De?ve.evaluate(sr,{},j):void 0,Pr={id:at,properties:Ze.properties,type:Ze.type,sourceLayerIndex:Ft,index:Tt,geometry:Qt?sr.geometry:js(Ze),patterns:{},sortKey:Tr};ue.push(Pr)}De&&ue.sort((Ze,at)=>Ze.sortKey-at.sortKey);for(let Ze of ue){let{geometry:at,index:Tt,sourceLayerIndex:Ft}=Ze,Qt=S[Tt].feature;this.addFeature(Ze,at,Tt,j),D.featureIndex.insert(Qt,at,Tt,Ft,this.index)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,Ue),this.indexBuffer=S.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(S),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(S,D,j,te){for(let ue of D)for(let ve of ue){let De=ve.x,Ze=ve.y;if(De<0||De>=za||Ze<0||Ze>=za)continue;let at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,S.sortKey),Tt=at.vertexLength;fu(this.layoutVertexArray,De,Ze,-1,-1),fu(this.layoutVertexArray,De,Ze,1,-1),fu(this.layoutVertexArray,De,Ze,1,1),fu(this.layoutVertexArray,De,Ze,-1,1),this.indexArray.emplaceBack(Tt,Tt+1,Tt+2),this.indexArray.emplaceBack(Tt,Tt+3,Tt+2),at.vertexLength+=4,at.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,{},te)}}function xc(R,S){for(let D=0;D<R.length;D++)if(On(S,R[D]))return!0;for(let D=0;D<S.length;D++)if(On(R,S[D]))return!0;return!!wi(R,S)}function At(R,S,D){return!!On(R,S)||!!Oi(S,R,D)}function Er(R,S){if(R.length===1)return cn(S,R[0]);for(let D=0;D<S.length;D++){let j=S[D];for(let te=0;te<j.length;te++)if(On(R,j[te]))return!0}for(let D=0;D<R.length;D++)if(cn(S,R[D]))return!0;for(let D=0;D<S.length;D++)if(wi(R,S[D]))return!0;return!1}function Wr(R,S,D){if(R.length>1){if(wi(R,S))return!0;for(let j=0;j<S.length;j++)if(Oi(S[j],R,D))return!0}for(let j=0;j<R.length;j++)if(Oi(R[j],S,D))return!0;return!1}function wi(R,S){if(R.length===0||S.length===0)return!1;for(let D=0;D<R.length-1;D++){let j=R[D],te=R[D+1];for(let ue=0;ue<S.length-1;ue++)if(Ui(j,te,S[ue],S[ue+1]))return!0}return!1}function Ui(R,S,D,j){return F(R,D,j)!==F(S,D,j)&&F(R,S,D)!==F(R,S,j)}function Oi(R,S,D){let j=D*D;if(S.length===1)return R.distSqr(S[0])<j;for(let te=1;te<S.length;te++)if(Bi(R,S[te-1],S[te])<j)return!0;return!1}function Bi(R,S,D){let j=S.distSqr(D);if(j===0)return R.distSqr(S);let te=((R.x-S.x)*(D.x-S.x)+(R.y-S.y)*(D.y-S.y))/j;return R.distSqr(te<0?S:te>1?D:D.sub(S)._mult(te)._add(S))}function cn(R,S){let D,j,te,ue=!1;for(let ve=0;ve<R.length;ve++){D=R[ve];for(let De=0,Ze=D.length-1;De<D.length;Ze=De++)j=D[De],te=D[Ze],j.y>S.y!=te.y>S.y&&S.x<(te.x-j.x)*(S.y-j.y)/(te.y-j.y)+j.x&&(ue=!ue)}return ue}function On(R,S){let D=!1;for(let j=0,te=R.length-1;j<R.length;te=j++){let ue=R[j],ve=R[te];ue.y>S.y!=ve.y>S.y&&S.x<(ve.x-ue.x)*(S.y-ue.y)/(ve.y-ue.y)+ue.x&&(D=!D)}return D}function Bn(R,S,D){let j=D[0],te=D[2];if(R.x<j.x&&S.x<j.x||R.x>te.x&&S.x>te.x||R.y<j.y&&S.y<j.y||R.y>te.y&&S.y>te.y)return!1;let ue=F(R,S,D[0]);return ue!==F(R,S,D[1])||ue!==F(R,S,D[2])||ue!==F(R,S,D[3])}function yn(R,S,D){let j=S.paint.get(R).value;return j.kind===\"constant\"?j.value:D.programConfigurations.get(S.id).getMaxValue(R)}function to(R){return Math.sqrt(R[0]*R[0]+R[1]*R[1])}function Rn(R,S,D,j,te){if(!S[0]&&!S[1])return R;let ue=u.convert(S)._mult(te);D===\"viewport\"&&ue._rotate(-j);let ve=[];for(let De=0;De<R.length;De++)ve.push(R[De].sub(ue));return ve}let Dn,fn;mi(\"CircleBucket\",dl,{omit:[\"layers\"]});var Ai={get paint(){return fn=fn||new le({\"circle-radius\":new eo(ce.paint_circle[\"circle-radius\"]),\"circle-color\":new eo(ce.paint_circle[\"circle-color\"]),\"circle-blur\":new eo(ce.paint_circle[\"circle-blur\"]),\"circle-opacity\":new eo(ce.paint_circle[\"circle-opacity\"]),\"circle-translate\":new Da(ce.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new Da(ce.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new Da(ce.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new Da(ce.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new eo(ce.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new eo(ce.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new eo(ce.paint_circle[\"circle-stroke-opacity\"])})},get layout(){return Dn=Dn||new le({\"circle-sort-key\":new eo(ce.layout_circle[\"circle-sort-key\"])})}},ji=1e-6,Ln=typeof Float32Array!=\"undefined\"?Float32Array:Array;function Un(R){return R[0]=1,R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=1,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[10]=1,R[11]=0,R[12]=0,R[13]=0,R[14]=0,R[15]=1,R}function gn(R,S,D){var j=S[0],te=S[1],ue=S[2],ve=S[3],De=S[4],Ze=S[5],at=S[6],Tt=S[7],Ft=S[8],Qt=S[9],sr=S[10],Tr=S[11],Pr=S[12],$r=S[13],ni=S[14],Di=S[15],pi=D[0],ki=D[1],Zi=D[2],ta=D[3];return R[0]=pi*j+ki*De+Zi*Ft+ta*Pr,R[1]=pi*te+ki*Ze+Zi*Qt+ta*$r,R[2]=pi*ue+ki*at+Zi*sr+ta*ni,R[3]=pi*ve+ki*Tt+Zi*Tr+ta*Di,R[4]=(pi=D[4])*j+(ki=D[5])*De+(Zi=D[6])*Ft+(ta=D[7])*Pr,R[5]=pi*te+ki*Ze+Zi*Qt+ta*$r,R[6]=pi*ue+ki*at+Zi*sr+ta*ni,R[7]=pi*ve+ki*Tt+Zi*Tr+ta*Di,R[8]=(pi=D[8])*j+(ki=D[9])*De+(Zi=D[10])*Ft+(ta=D[11])*Pr,R[9]=pi*te+ki*Ze+Zi*Qt+ta*$r,R[10]=pi*ue+ki*at+Zi*sr+ta*ni,R[11]=pi*ve+ki*Tt+Zi*Tr+ta*Di,R[12]=(pi=D[12])*j+(ki=D[13])*De+(Zi=D[14])*Ft+(ta=D[15])*Pr,R[13]=pi*te+ki*Ze+Zi*Qt+ta*$r,R[14]=pi*ue+ki*at+Zi*sr+ta*ni,R[15]=pi*ve+ki*Tt+Zi*Tr+ta*Di,R}Math.hypot||(Math.hypot=function(){for(var R=0,S=arguments.length;S--;)R+=arguments[S]*arguments[S];return Math.sqrt(R)});var ca,Kn=gn;function Za(R,S,D){var j=S[0],te=S[1],ue=S[2],ve=S[3];return R[0]=D[0]*j+D[4]*te+D[8]*ue+D[12]*ve,R[1]=D[1]*j+D[5]*te+D[9]*ue+D[13]*ve,R[2]=D[2]*j+D[6]*te+D[10]*ue+D[14]*ve,R[3]=D[3]*j+D[7]*te+D[11]*ue+D[15]*ve,R}ca=new Ln(4),Ln!=Float32Array&&(ca[0]=0,ca[1]=0,ca[2]=0,ca[3]=0);class wn extends B{constructor(S){super(S,Ai)}createBucket(S){return new dl(S)}queryRadius(S){let D=S;return yn(\"circle-radius\",this,D)+yn(\"circle-stroke-width\",this,D)+to(this.paint.get(\"circle-translate\"))}queryIntersectsFeature(S,D,j,te,ue,ve,De,Ze){let at=Rn(S,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),ve.angle,De),Tt=this.paint.get(\"circle-radius\").evaluate(D,j)+this.paint.get(\"circle-stroke-width\").evaluate(D,j),Ft=this.paint.get(\"circle-pitch-alignment\")===\"map\",Qt=Ft?at:function(Tr,Pr){return Tr.map($r=>vn($r,Pr))}(at,Ze),sr=Ft?Tt*De:Tt;for(let Tr of te)for(let Pr of Tr){let $r=Ft?Pr:vn(Pr,Ze),ni=sr,Di=Za([],[Pr.x,Pr.y,0,1],Ze);if(this.paint.get(\"circle-pitch-scale\")===\"viewport\"&&this.paint.get(\"circle-pitch-alignment\")===\"map\"?ni*=Di[3]/ve.cameraToCenterDistance:this.paint.get(\"circle-pitch-scale\")===\"map\"&&this.paint.get(\"circle-pitch-alignment\")===\"viewport\"&&(ni*=ve.cameraToCenterDistance/Di[3]),At(Qt,$r,ni))return!0}return!1}}function vn(R,S){let D=Za([],[R.x,R.y,0,1],S);return new u(D[0]/D[3],D[1]/D[3])}class Aa extends dl{}let aa;mi(\"HeatmapBucket\",Aa,{omit:[\"layers\"]});var Xn={get paint(){return aa=aa||new le({\"heatmap-radius\":new eo(ce.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new eo(ce.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new Da(ce.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new _c(ce.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new Da(ce.paint_heatmap[\"heatmap-opacity\"])})}};function Vn(R,{width:S,height:D},j,te){if(te){if(te instanceof Uint8ClampedArray)te=new Uint8Array(te.buffer);else if(te.length!==S*D*j)throw new RangeError(`mismatched image size. expected: ${te.length} but got: ${S*D*j}`)}else te=new Uint8Array(S*D*j);return R.width=S,R.height=D,R.data=te,R}function ma(R,{width:S,height:D},j){if(S===R.width&&D===R.height)return;let te=Vn({},{width:S,height:D},j);ro(R,te,{x:0,y:0},{x:0,y:0},{width:Math.min(R.width,S),height:Math.min(R.height,D)},j),R.width=S,R.height=D,R.data=te.data}function ro(R,S,D,j,te,ue){if(te.width===0||te.height===0)return S;if(te.width>R.width||te.height>R.height||D.x>R.width-te.width||D.y>R.height-te.height)throw new RangeError(\"out of range source coordinates for image copy\");if(te.width>S.width||te.height>S.height||j.x>S.width-te.width||j.y>S.height-te.height)throw new RangeError(\"out of range destination coordinates for image copy\");let ve=R.data,De=S.data;if(ve===De)throw new Error(\"srcData equals dstData, so image is already copied\");for(let Ze=0;Ze<te.height;Ze++){let at=((D.y+Ze)*R.width+D.x)*ue,Tt=((j.y+Ze)*S.width+j.x)*ue;for(let Ft=0;Ft<te.width*ue;Ft++)De[Tt+Ft]=ve[at+Ft]}return S}class Ao{constructor(S,D){Vn(this,S,1,D)}resize(S){ma(this,S,1)}clone(){return new Ao({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(S,D,j,te,ue){ro(S,D,j,te,ue,1)}}class Jn{constructor(S,D){Vn(this,S,4,D)}resize(S){ma(this,S,4)}replace(S,D){D?this.data.set(S):this.data=S instanceof Uint8ClampedArray?new Uint8Array(S.buffer):S}clone(){return new Jn({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(S,D,j,te,ue){ro(S,D,j,te,ue,4)}}function Oa(R){let S={},D=R.resolution||256,j=R.clips?R.clips.length:1,te=R.image||new Jn({width:D,height:j});if(Math.log(D)/Math.LN2%1!=0)throw new Error(`width is not a power of 2 - ${D}`);let ue=(ve,De,Ze)=>{S[R.evaluationKey]=Ze;let at=R.expression.evaluate(S);te.data[ve+De+0]=Math.floor(255*at.r/at.a),te.data[ve+De+1]=Math.floor(255*at.g/at.a),te.data[ve+De+2]=Math.floor(255*at.b/at.a),te.data[ve+De+3]=Math.floor(255*at.a)};if(R.clips)for(let ve=0,De=0;ve<j;++ve,De+=4*D)for(let Ze=0,at=0;Ze<D;Ze++,at+=4){let Tt=Ze/(D-1),{start:Ft,end:Qt}=R.clips[ve];ue(De,at,Ft*(1-Tt)+Qt*Tt)}else for(let ve=0,De=0;ve<D;ve++,De+=4)ue(0,De,ve/(D-1));return te}mi(\"AlphaImage\",Ao),mi(\"RGBAImage\",Jn);let _o=\"big-fb\";class Po extends B{createBucket(S){return new Aa(S)}constructor(S){super(S,Xn),this.heatmapFbos=new Map,this._updateColorRamp()}_handleSpecialPaintPropertyUpdate(S){S===\"heatmap-color\"&&this._updateColorRamp()}_updateColorRamp(){this.colorRamp=Oa({expression:this._transitionablePaint._values[\"heatmap-color\"].value.expression,evaluationKey:\"heatmapDensity\",image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbos.has(_o)&&this.heatmapFbos.delete(_o)}queryRadius(){return 0}queryIntersectsFeature(){return!1}hasOffscreenPass(){return this.paint.get(\"heatmap-opacity\")!==0&&this.visibility!==\"none\"}}let Jo;var Yl={get paint(){return Jo=Jo||new le({\"hillshade-illumination-direction\":new Da(ce.paint_hillshade[\"hillshade-illumination-direction\"]),\"hillshade-illumination-anchor\":new Da(ce.paint_hillshade[\"hillshade-illumination-anchor\"]),\"hillshade-exaggeration\":new Da(ce.paint_hillshade[\"hillshade-exaggeration\"]),\"hillshade-shadow-color\":new Da(ce.paint_hillshade[\"hillshade-shadow-color\"]),\"hillshade-highlight-color\":new Da(ce.paint_hillshade[\"hillshade-highlight-color\"]),\"hillshade-accent-color\":new Da(ce.paint_hillshade[\"hillshade-accent-color\"])})}};class $c extends B{constructor(S){super(S,Yl)}hasOffscreenPass(){return this.paint.get(\"hillshade-exaggeration\")!==0&&this.visibility!==\"none\"}}let xs=qe([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:Qc}=xs;function El(R,S,D=2){let j=S&&S.length,te=j?S[0]*D:R.length,ue=bc(R,0,te,D,!0),ve=[];if(!ue||ue.next===ue.prev)return ve;let De,Ze,at;if(j&&(ue=function(Tt,Ft,Qt,sr){let Tr=[];for(let Pr=0,$r=Ft.length;Pr<$r;Pr++){let ni=bc(Tt,Ft[Pr]*sr,Pr<$r-1?Ft[Pr+1]*sr:Tt.length,sr,!1);ni===ni.next&&(ni.steiner=!0),Tr.push(K(ni))}Tr.sort(_f);for(let Pr=0;Pr<Tr.length;Pr++)Qt=ns(Tr[Pr],Qt);return Qt}(R,S,ue,D)),R.length>80*D){De=1/0,Ze=1/0;let Tt=-1/0,Ft=-1/0;for(let Qt=D;Qt<te;Qt+=D){let sr=R[Qt],Tr=R[Qt+1];sr<De&&(De=sr),Tr<Ze&&(Ze=Tr),sr>Tt&&(Tt=sr),Tr>Ft&&(Ft=Tr)}at=Math.max(Tt-De,Ft-Ze),at=at!==0?32767/at:0}return yf(ue,ve,D,De,Ze,at,0),ve}function bc(R,S,D,j,te){let ue;if(te===function(ve,De,Ze,at){let Tt=0;for(let Ft=De,Qt=Ze-at;Ft<Ze;Ft+=at)Tt+=(ve[Qt]-ve[Ft])*(ve[Ft+1]+ve[Qt+1]),Qt=Ft;return Tt}(R,S,D,j)>0)for(let ve=S;ve<D;ve+=j)ue=Jt(ve/j|0,R[ve],R[ve+1],ue);else for(let ve=D-j;ve>=S;ve-=j)ue=Jt(ve/j|0,R[ve],R[ve+1],ue);return ue&&de(ue,ue.next)&&(vt(ue),ue=ue.next),ue}function wc(R,S){if(!R)return R;S||(S=R);let D,j=R;do if(D=!1,j.steiner||!de(j,j.next)&&pe(j.prev,j,j.next)!==0)j=j.next;else{if(vt(j),j=S=j.prev,j===j.next)break;D=!0}while(D||j!==S);return S}function yf(R,S,D,j,te,ue,ve){if(!R)return;!ve&&ue&&function(Ze,at,Tt,Ft){let Qt=Ze;do Qt.z===0&&(Qt.z=z(Qt.x,Qt.y,at,Tt,Ft)),Qt.prevZ=Qt.prev,Qt.nextZ=Qt.next,Qt=Qt.next;while(Qt!==Ze);Qt.prevZ.nextZ=null,Qt.prevZ=null,function(sr){let Tr,Pr=1;do{let $r,ni=sr;sr=null;let Di=null;for(Tr=0;ni;){Tr++;let pi=ni,ki=0;for(let ta=0;ta<Pr&&(ki++,pi=pi.nextZ,pi);ta++);let Zi=Pr;for(;ki>0||Zi>0&π)ki!==0&&(Zi===0||!pi||ni.z<=pi.z)?($r=ni,ni=ni.nextZ,ki--):($r=pi,pi=pi.nextZ,Zi--),Di?Di.nextZ=$r:sr=$r,$r.prevZ=Di,Di=$r;ni=pi}Di.nextZ=null,Pr*=2}while(Tr>1)}(Qt)}(R,j,te,ue);let De=R;for(;R.prev!==R.next;){let Ze=R.prev,at=R.next;if(ue?Fc(R,j,te,ue):Gl(R))S.push(Ze.i,R.i,at.i),vt(R),R=at.next,De=at.next;else if((R=at)===De){ve?ve===1?yf(R=ef(wc(R),S),S,D,j,te,ue,2):ve===2&&ls(R,S,D,j,te,ue):yf(wc(R),S,D,j,te,ue,1);break}}}function Gl(R){let S=R.prev,D=R,j=R.next;if(pe(S,D,j)>=0)return!1;let te=S.x,ue=D.x,ve=j.x,De=S.y,Ze=D.y,at=j.y,Tt=te<ue?te<ve?te:ve:ue<ve?ue:ve,Ft=De<Ze?De<at?De:at:Ze<at?Ze:at,Qt=te>ue?te>ve?te:ve:ue>ve?ue:ve,sr=De>Ze?De>at?De:at:Ze>at?Ze:at,Tr=j.next;for(;Tr!==S;){if(Tr.x>=Tt&&Tr.x<=Qt&&Tr.y>=Ft&&Tr.y<=sr&&O(te,De,ue,Ze,ve,at,Tr.x,Tr.y)&&pe(Tr.prev,Tr,Tr.next)>=0)return!1;Tr=Tr.next}return!0}function Fc(R,S,D,j){let te=R.prev,ue=R,ve=R.next;if(pe(te,ue,ve)>=0)return!1;let De=te.x,Ze=ue.x,at=ve.x,Tt=te.y,Ft=ue.y,Qt=ve.y,sr=De<Ze?De<at?De:at:Ze<at?Ze:at,Tr=Tt<Ft?Tt<Qt?Tt:Qt:Ft<Qt?Ft:Qt,Pr=De>Ze?De>at?De:at:Ze>at?Ze:at,$r=Tt>Ft?Tt>Qt?Tt:Qt:Ft>Qt?Ft:Qt,ni=z(sr,Tr,S,D,j),Di=z(Pr,$r,S,D,j),pi=R.prevZ,ki=R.nextZ;for(;pi&&pi.z>=ni&&ki&&ki.z<=Di;){if(pi.x>=sr&&pi.x<=Pr&&pi.y>=Tr&&pi.y<=$r&&pi!==te&&pi!==ve&&O(De,Tt,Ze,Ft,at,Qt,pi.x,pi.y)&&pe(pi.prev,pi,pi.next)>=0||(pi=pi.prevZ,ki.x>=sr&&ki.x<=Pr&&ki.y>=Tr&&ki.y<=$r&&ki!==te&&ki!==ve&&O(De,Tt,Ze,Ft,at,Qt,ki.x,ki.y)&&pe(ki.prev,ki,ki.next)>=0))return!1;ki=ki.nextZ}for(;pi&&pi.z>=ni;){if(pi.x>=sr&&pi.x<=Pr&&pi.y>=Tr&&pi.y<=$r&&pi!==te&&pi!==ve&&O(De,Tt,Ze,Ft,at,Qt,pi.x,pi.y)&&pe(pi.prev,pi,pi.next)>=0)return!1;pi=pi.prevZ}for(;ki&&ki.z<=Di;){if(ki.x>=sr&&ki.x<=Pr&&ki.y>=Tr&&ki.y<=$r&&ki!==te&&ki!==ve&&O(De,Tt,Ze,Ft,at,Qt,ki.x,ki.y)&&pe(ki.prev,ki,ki.next)>=0)return!1;ki=ki.nextZ}return!0}function ef(R,S){let D=R;do{let j=D.prev,te=D.next.next;!de(j,te)&&Ie(j,D,D.next,te)&&Kt(j,te)&&Kt(te,j)&&(S.push(j.i,D.i,te.i),vt(D),vt(D.next),D=R=te),D=D.next}while(D!==R);return wc(D)}function ls(R,S,D,j,te,ue){let ve=R;do{let De=ve.next.next;for(;De!==ve.prev;){if(ve.i!==De.i&&$(ve,De)){let Ze=ir(ve,De);return ve=wc(ve,ve.next),Ze=wc(Ze,Ze.next),yf(ve,S,D,j,te,ue,0),void yf(Ze,S,D,j,te,ue,0)}De=De.next}ve=ve.next}while(ve!==R)}function _f(R,S){return R.x-S.x}function ns(R,S){let D=function(te,ue){let ve=ue,De=te.x,Ze=te.y,at,Tt=-1/0;do{if(Ze<=ve.y&&Ze>=ve.next.y&&ve.next.y!==ve.y){let Pr=ve.x+(Ze-ve.y)*(ve.next.x-ve.x)/(ve.next.y-ve.y);if(Pr<=De&&Pr>Tt&&(Tt=Pr,at=ve.x<ve.next.x?ve:ve.next,Pr===De))return at}ve=ve.next}while(ve!==ue);if(!at)return null;let Ft=at,Qt=at.x,sr=at.y,Tr=1/0;ve=at;do{if(De>=ve.x&&ve.x>=Qt&&De!==ve.x&&O(Ze<sr?De:Tt,Ze,Qt,sr,Ze<sr?Tt:De,Ze,ve.x,ve.y)){let Pr=Math.abs(Ze-ve.y)/(De-ve.x);Kt(ve,te)&&(Pr<Tr||Pr===Tr&&(ve.x>at.x||ve.x===at.x&&Y(at,ve)))&&(at=ve,Tr=Pr)}ve=ve.next}while(ve!==Ft);return at}(R,S);if(!D)return S;let j=ir(D,R);return wc(j,j.next),wc(D,D.next)}function Y(R,S){return pe(R.prev,R,S.prev)<0&&pe(S.next,R,R.next)<0}function z(R,S,D,j,te){return(R=1431655765&((R=858993459&((R=252645135&((R=16711935&((R=(R-D)*te|0)|R<<8))|R<<4))|R<<2))|R<<1))|(S=1431655765&((S=858993459&((S=252645135&((S=16711935&((S=(S-j)*te|0)|S<<8))|S<<4))|S<<2))|S<<1))<<1}function K(R){let S=R,D=R;do(S.x<D.x||S.x===D.x&&S.y<D.y)&&(D=S),S=S.next;while(S!==R);return D}function O(R,S,D,j,te,ue,ve,De){return(te-ve)*(S-De)>=(R-ve)*(ue-De)&&(R-ve)*(j-De)>=(D-ve)*(S-De)&&(D-ve)*(ue-De)>=(te-ve)*(j-De)}function $(R,S){return R.next.i!==S.i&&R.prev.i!==S.i&&!function(D,j){let te=D;do{if(te.i!==D.i&&te.next.i!==D.i&&te.i!==j.i&&te.next.i!==j.i&&Ie(te,te.next,D,j))return!0;te=te.next}while(te!==D);return!1}(R,S)&&(Kt(R,S)&&Kt(S,R)&&function(D,j){let te=D,ue=!1,ve=(D.x+j.x)/2,De=(D.y+j.y)/2;do te.y>De!=te.next.y>De&&te.next.y!==te.y&&ve<(te.next.x-te.x)*(De-te.y)/(te.next.y-te.y)+te.x&&(ue=!ue),te=te.next;while(te!==D);return ue}(R,S)&&(pe(R.prev,R,S.prev)||pe(R,S.prev,S))||de(R,S)&&pe(R.prev,R,R.next)>0&&pe(S.prev,S,S.next)>0)}function pe(R,S,D){return(S.y-R.y)*(D.x-S.x)-(S.x-R.x)*(D.y-S.y)}function de(R,S){return R.x===S.x&&R.y===S.y}function Ie(R,S,D,j){let te=pt(pe(R,S,D)),ue=pt(pe(R,S,j)),ve=pt(pe(D,j,R)),De=pt(pe(D,j,S));return te!==ue&&ve!==De||!(te!==0||!$e(R,D,S))||!(ue!==0||!$e(R,j,S))||!(ve!==0||!$e(D,R,j))||!(De!==0||!$e(D,S,j))}function $e(R,S,D){return S.x<=Math.max(R.x,D.x)&&S.x>=Math.min(R.x,D.x)&&S.y<=Math.max(R.y,D.y)&&S.y>=Math.min(R.y,D.y)}function pt(R){return R>0?1:R<0?-1:0}function Kt(R,S){return pe(R.prev,R,R.next)<0?pe(R,S,R.next)>=0&&pe(R,R.prev,S)>=0:pe(R,S,R.prev)<0||pe(R,R.next,S)<0}function ir(R,S){let D=Pt(R.i,R.x,R.y),j=Pt(S.i,S.x,S.y),te=R.next,ue=S.prev;return R.next=S,S.prev=R,D.next=te,te.prev=D,j.next=D,D.prev=j,ue.next=j,j.prev=ue,j}function Jt(R,S,D,j){let te=Pt(R,S,D);return j?(te.next=j.next,te.prev=j,j.next.prev=te,j.next=te):(te.prev=te,te.next=te),te}function vt(R){R.next.prev=R.prev,R.prev.next=R.next,R.prevZ&&(R.prevZ.nextZ=R.nextZ),R.nextZ&&(R.nextZ.prevZ=R.prevZ)}function Pt(R,S,D){return{i:R,x:S,y:D,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function Wt(R,S,D){let j=D.patternDependencies,te=!1;for(let ue of S){let ve=ue.paint.get(`${R}-pattern`);ve.isConstant()||(te=!0);let De=ve.constantOr(null);De&&(te=!0,j[De.to]=!0,j[De.from]=!0)}return te}function rr(R,S,D,j,te){let ue=te.patternDependencies;for(let ve of S){let De=ve.paint.get(`${R}-pattern`).value;if(De.kind!==\"constant\"){let Ze=De.evaluate({zoom:j-1},D,{},te.availableImages),at=De.evaluate({zoom:j},D,{},te.availableImages),Tt=De.evaluate({zoom:j+1},D,{},te.availableImages);Ze=Ze&&Ze.name?Ze.name:Ze,at=at&&at.name?at.name:at,Tt=Tt&&Tt.name?Tt.name:Tt,ue[Ze]=!0,ue[at]=!0,ue[Tt]=!0,D.patterns[ve.id]={min:Ze,mid:at,max:Tt}}}return D}class dr{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new _l,this.indexArray=new oe,this.indexArray2=new we,this.programConfigurations=new _s(S.layers,S.zoom),this.segments=new We,this.segments2=new We,this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){this.hasPattern=Wt(\"fill\",this.layers,D);let te=this.layers[0].layout.get(\"fill-sort-key\"),ue=!te.isConstant(),ve=[];for(let{feature:De,id:Ze,index:at,sourceLayerIndex:Tt}of S){let Ft=this.layers[0]._featureFilter.needGeometry,Qt=xl(De,Ft);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),Qt,j))continue;let sr=ue?te.evaluate(Qt,{},j,D.availableImages):void 0,Tr={id:Ze,properties:De.properties,type:De.type,sourceLayerIndex:Tt,index:at,geometry:Ft?Qt.geometry:js(De),patterns:{},sortKey:sr};ve.push(Tr)}ue&&ve.sort((De,Ze)=>De.sortKey-Ze.sortKey);for(let De of ve){let{geometry:Ze,index:at,sourceLayerIndex:Tt}=De;if(this.hasPattern){let Ft=rr(\"fill\",this.layers,De,this.zoom,D);this.patternFeatures.push(Ft)}else this.addFeature(De,Ze,at,j,{});D.featureIndex.insert(S[at].feature,Ze,at,Tt,this.index)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}addFeatures(S,D,j){for(let te of this.patternFeatures)this.addFeature(te,te.geometry,te.index,D,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,Qc),this.indexBuffer=S.createIndexBuffer(this.indexArray),this.indexBuffer2=S.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(S),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(S,D,j,te,ue){for(let ve of Of(D,500)){let De=0;for(let sr of ve)De+=sr.length;let Ze=this.segments.prepareSegment(De,this.layoutVertexArray,this.indexArray),at=Ze.vertexLength,Tt=[],Ft=[];for(let sr of ve){if(sr.length===0)continue;sr!==ve[0]&&Ft.push(Tt.length/2);let Tr=this.segments2.prepareSegment(sr.length,this.layoutVertexArray,this.indexArray2),Pr=Tr.vertexLength;this.layoutVertexArray.emplaceBack(sr[0].x,sr[0].y),this.indexArray2.emplaceBack(Pr+sr.length-1,Pr),Tt.push(sr[0].x),Tt.push(sr[0].y);for(let $r=1;$r<sr.length;$r++)this.layoutVertexArray.emplaceBack(sr[$r].x,sr[$r].y),this.indexArray2.emplaceBack(Pr+$r-1,Pr+$r),Tt.push(sr[$r].x),Tt.push(sr[$r].y);Tr.vertexLength+=sr.length,Tr.primitiveLength+=sr.length}let Qt=El(Tt,Ft);for(let sr=0;sr<Qt.length;sr+=3)this.indexArray.emplaceBack(at+Qt[sr],at+Qt[sr+1],at+Qt[sr+2]);Ze.vertexLength+=De,Ze.primitiveLength+=Qt.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,ue,te)}}let pr,kr;mi(\"FillBucket\",dr,{omit:[\"layers\",\"patternFeatures\"]});var Ar={get paint(){return kr=kr||new le({\"fill-antialias\":new Da(ce.paint_fill[\"fill-antialias\"]),\"fill-opacity\":new eo(ce.paint_fill[\"fill-opacity\"]),\"fill-color\":new eo(ce.paint_fill[\"fill-color\"]),\"fill-outline-color\":new eo(ce.paint_fill[\"fill-outline-color\"]),\"fill-translate\":new Da(ce.paint_fill[\"fill-translate\"]),\"fill-translate-anchor\":new Da(ce.paint_fill[\"fill-translate-anchor\"]),\"fill-pattern\":new Jc(ce.paint_fill[\"fill-pattern\"])})},get layout(){return pr=pr||new le({\"fill-sort-key\":new eo(ce.layout_fill[\"fill-sort-key\"])})}};class gr extends B{constructor(S){super(S,Ar)}recalculate(S,D){super.recalculate(S,D);let j=this.paint._values[\"fill-outline-color\"];j.value.kind===\"constant\"&&j.value.value===void 0&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"])}createBucket(S){return new dr(S)}queryRadius(){return to(this.paint.get(\"fill-translate\"))}queryIntersectsFeature(S,D,j,te,ue,ve,De){return Er(Rn(S,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),ve.angle,De),te)}isTileClipped(){return!0}}let Cr=qe([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal_ed\",components:4,type:\"Int16\"}],4),cr=qe([{name:\"a_centroid\",components:2,type:\"Int16\"}],4),{members:Gr}=Cr;var ei={},yi=s,tn=Ri;function Ri(R,S,D,j,te){this.properties={},this.extent=D,this.type=0,this._pbf=R,this._geometry=-1,this._keys=j,this._values=te,R.readFields(ln,this,S)}function ln(R,S,D){R==1?S.id=D.readVarint():R==2?function(j,te){for(var ue=j.readVarint()+j.pos;j.pos<ue;){var ve=te._keys[j.readVarint()],De=te._values[j.readVarint()];te.properties[ve]=De}}(D,S):R==3?S.type=D.readVarint():R==4&&(S._geometry=D.pos)}function Qn(R){for(var S,D,j=0,te=0,ue=R.length,ve=ue-1;te<ue;ve=te++)j+=((D=R[ve]).x-(S=R[te]).x)*(S.y+D.y);return j}Ri.types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],Ri.prototype.loadGeometry=function(){var R=this._pbf;R.pos=this._geometry;for(var S,D=R.readVarint()+R.pos,j=1,te=0,ue=0,ve=0,De=[];R.pos<D;){if(te<=0){var Ze=R.readVarint();j=7&Ze,te=Ze>>3}if(te--,j===1||j===2)ue+=R.readSVarint(),ve+=R.readSVarint(),j===1&&(S&&De.push(S),S=[]),S.push(new yi(ue,ve));else{if(j!==7)throw new Error(\"unknown command \"+j);S&&S.push(S[0].clone())}}return S&&De.push(S),De},Ri.prototype.bbox=function(){var R=this._pbf;R.pos=this._geometry;for(var S=R.readVarint()+R.pos,D=1,j=0,te=0,ue=0,ve=1/0,De=-1/0,Ze=1/0,at=-1/0;R.pos<S;){if(j<=0){var Tt=R.readVarint();D=7&Tt,j=Tt>>3}if(j--,D===1||D===2)(te+=R.readSVarint())<ve&&(ve=te),te>De&&(De=te),(ue+=R.readSVarint())<Ze&&(Ze=ue),ue>at&&(at=ue);else if(D!==7)throw new Error(\"unknown command \"+D)}return[ve,Ze,De,at]},Ri.prototype.toGeoJSON=function(R,S,D){var j,te,ue=this.extent*Math.pow(2,D),ve=this.extent*R,De=this.extent*S,Ze=this.loadGeometry(),at=Ri.types[this.type];function Tt(sr){for(var Tr=0;Tr<sr.length;Tr++){var Pr=sr[Tr];sr[Tr]=[360*(Pr.x+ve)/ue-180,360/Math.PI*Math.atan(Math.exp((180-360*(Pr.y+De)/ue)*Math.PI/180))-90]}}switch(this.type){case 1:var Ft=[];for(j=0;j<Ze.length;j++)Ft[j]=Ze[j][0];Tt(Ze=Ft);break;case 2:for(j=0;j<Ze.length;j++)Tt(Ze[j]);break;case 3:for(Ze=function(sr){var Tr=sr.length;if(Tr<=1)return[sr];for(var Pr,$r,ni=[],Di=0;Di<Tr;Di++){var pi=Qn(sr[Di]);pi!==0&&($r===void 0&&($r=pi<0),$r===pi<0?(Pr&&ni.push(Pr),Pr=[sr[Di]]):Pr.push(sr[Di]))}return Pr&&ni.push(Pr),ni}(Ze),j=0;j<Ze.length;j++)for(te=0;te<Ze[j].length;te++)Tt(Ze[j][te])}Ze.length===1?Ze=Ze[0]:at=\"Multi\"+at;var Qt={type:\"Feature\",geometry:{type:at,coordinates:Ze},properties:this.properties};return\"id\"in this&&(Qt.id=this.id),Qt};var qn=tn,rn=bn;function bn(R,S){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=R,this._keys=[],this._values=[],this._features=[],R.readFields(mn,this,S),this.length=this._features.length}function mn(R,S,D){R===15?S.version=D.readVarint():R===1?S.name=D.readString():R===5?S.extent=D.readVarint():R===2?S._features.push(D.pos):R===3?S._keys.push(D.readString()):R===4&&S._values.push(function(j){for(var te=null,ue=j.readVarint()+j.pos;j.pos<ue;){var ve=j.readVarint()>>3;te=ve===1?j.readString():ve===2?j.readFloat():ve===3?j.readDouble():ve===4?j.readVarint64():ve===5?j.readVarint():ve===6?j.readSVarint():ve===7?j.readBoolean():null}return te}(D))}bn.prototype.feature=function(R){if(R<0||R>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[R];var S=this._pbf.readVarint()+this._pbf.pos;return new qn(this._pbf,S,this.extent,this._keys,this._values)};var Gn=rn;function da(R,S,D){if(R===3){var j=new Gn(D,D.readVarint()+D.pos);j.length&&(S[j.name]=j)}}ei.VectorTile=function(R,S){this.layers=R.readFields(da,{},S)},ei.VectorTileFeature=tn,ei.VectorTileLayer=rn;let No=ei.VectorTileFeature.types,Do=Math.pow(2,13);function ps(R,S,D,j,te,ue,ve,De){R.emplaceBack(S,D,2*Math.floor(j*Do)+ve,te*Do*2,ue*Do*2,Math.round(De))}class fo{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.layoutVertexArray=new Hl,this.centroidVertexArray=new yo,this.indexArray=new oe,this.programConfigurations=new _s(S.layers,S.zoom),this.segments=new We,this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){this.features=[],this.hasPattern=Wt(\"fill-extrusion\",this.layers,D);for(let{feature:te,id:ue,index:ve,sourceLayerIndex:De}of S){let Ze=this.layers[0]._featureFilter.needGeometry,at=xl(te,Ze);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),at,j))continue;let Tt={id:ue,sourceLayerIndex:De,index:ve,geometry:Ze?at.geometry:js(te),properties:te.properties,type:te.type,patterns:{}};this.hasPattern?this.features.push(rr(\"fill-extrusion\",this.layers,Tt,this.zoom,D)):this.addFeature(Tt,Tt.geometry,ve,j,{}),D.featureIndex.insert(te,Tt.geometry,ve,De,this.index,!0)}}addFeatures(S,D,j){for(let te of this.features){let{geometry:ue}=te;this.addFeature(te,ue,te.index,D,j)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,Gr),this.centroidVertexBuffer=S.createVertexBuffer(this.centroidVertexArray,cr.members,!0),this.indexBuffer=S.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(S),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(S,D,j,te,ue){for(let ve of Of(D,500)){let De={x:0,y:0,vertexCount:0},Ze=0;for(let Tr of ve)Ze+=Tr.length;let at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let Tr of ve){if(Tr.length===0||tl(Tr))continue;let Pr=0;for(let $r=0;$r<Tr.length;$r++){let ni=Tr[$r];if($r>=1){let Di=Tr[$r-1];if(!as(ni,Di)){at.vertexLength+4>We.MAX_VERTEX_ARRAY_LENGTH&&(at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let pi=ni.sub(Di)._perp()._unit(),ki=Di.dist(ni);Pr+ki>32768&&(Pr=0),ps(this.layoutVertexArray,ni.x,ni.y,pi.x,pi.y,0,0,Pr),ps(this.layoutVertexArray,ni.x,ni.y,pi.x,pi.y,0,1,Pr),De.x+=2*ni.x,De.y+=2*ni.y,De.vertexCount+=2,Pr+=ki,ps(this.layoutVertexArray,Di.x,Di.y,pi.x,pi.y,0,0,Pr),ps(this.layoutVertexArray,Di.x,Di.y,pi.x,pi.y,0,1,Pr),De.x+=2*Di.x,De.y+=2*Di.y,De.vertexCount+=2;let Zi=at.vertexLength;this.indexArray.emplaceBack(Zi,Zi+2,Zi+1),this.indexArray.emplaceBack(Zi+1,Zi+2,Zi+3),at.vertexLength+=4,at.primitiveLength+=2}}}}if(at.vertexLength+Ze>We.MAX_VERTEX_ARRAY_LENGTH&&(at=this.segments.prepareSegment(Ze,this.layoutVertexArray,this.indexArray)),No[S.type]!==\"Polygon\")continue;let Tt=[],Ft=[],Qt=at.vertexLength;for(let Tr of ve)if(Tr.length!==0){Tr!==ve[0]&&Ft.push(Tt.length/2);for(let Pr=0;Pr<Tr.length;Pr++){let $r=Tr[Pr];ps(this.layoutVertexArray,$r.x,$r.y,0,0,1,1,0),De.x+=$r.x,De.y+=$r.y,De.vertexCount+=1,Tt.push($r.x),Tt.push($r.y)}}let sr=El(Tt,Ft);for(let Tr=0;Tr<sr.length;Tr+=3)this.indexArray.emplaceBack(Qt+sr[Tr],Qt+sr[Tr+2],Qt+sr[Tr+1]);at.primitiveLength+=sr.length/3,at.vertexLength+=Ze;for(let Tr=0;Tr<De.vertexCount;Tr++){let Pr=Math.floor(De.x/De.vertexCount),$r=Math.floor(De.y/De.vertexCount);this.centroidVertexArray.emplaceBack(Pr,$r)}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,ue,te)}}function as(R,S){return R.x===S.x&&(R.x<0||R.x>za)||R.y===S.y&&(R.y<0||R.y>za)}function tl(R){return R.every(S=>S.x<0)||R.every(S=>S.x>za)||R.every(S=>S.y<0)||R.every(S=>S.y>za)}let zu;mi(\"FillExtrusionBucket\",fo,{omit:[\"layers\",\"features\"]});var Mv={get paint(){return zu=zu||new le({\"fill-extrusion-opacity\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new eo(ce[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Jc(ce[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new eo(ce[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new eo(ce[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})}};class Ev extends B{constructor(S){super(S,Mv)}createBucket(S){return new fo(S)}queryRadius(){return to(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return!0}queryIntersectsFeature(S,D,j,te,ue,ve,De,Ze){let at=Rn(S,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),ve.angle,De),Tt=this.paint.get(\"fill-extrusion-height\").evaluate(D,j),Ft=this.paint.get(\"fill-extrusion-base\").evaluate(D,j),Qt=function(Tr,Pr,$r,ni){let Di=[];for(let pi of Tr){let ki=[pi.x,pi.y,0,1];Za(ki,ki,Pr),Di.push(new u(ki[0]/ki[3],ki[1]/ki[3]))}return Di}(at,Ze),sr=function(Tr,Pr,$r,ni){let Di=[],pi=[],ki=ni[8]*Pr,Zi=ni[9]*Pr,ta=ni[10]*Pr,Va=ni[11]*Pr,Io=ni[8]*$r,La=ni[9]*$r,Hn=ni[10]*$r,lo=ni[11]*$r;for(let $a of Tr){let Xa=[],Tn=[];for(let bo of $a){let Ya=bo.x,Uo=bo.y,wu=ni[0]*Ya+ni[4]*Uo+ni[12],hu=ni[1]*Ya+ni[5]*Uo+ni[13],uh=ni[2]*Ya+ni[6]*Uo+ni[14],$v=ni[3]*Ya+ni[7]*Uo+ni[15],td=uh+ta,ch=$v+Va,Ud=wu+Io,Vd=hu+La,Hd=uh+Hn,rf=$v+lo,fh=new u((wu+ki)/ch,(hu+Zi)/ch);fh.z=td/ch,Xa.push(fh);let Td=new u(Ud/rf,Vd/rf);Td.z=Hd/rf,Tn.push(Td)}Di.push(Xa),pi.push(Tn)}return[Di,pi]}(te,Ft,Tt,Ze);return function(Tr,Pr,$r){let ni=1/0;Er($r,Pr)&&(ni=Yv($r,Pr[0]));for(let Di=0;Di<Pr.length;Di++){let pi=Pr[Di],ki=Tr[Di];for(let Zi=0;Zi<pi.length-1;Zi++){let ta=pi[Zi],Va=[ta,pi[Zi+1],ki[Zi+1],ki[Zi],ta];xc($r,Va)&&(ni=Math.min(ni,Yv($r,Va)))}}return ni!==1/0&&ni}(sr[0],sr[1],Qt)}}function yd(R,S){return R.x*S.x+R.y*S.y}function Yv(R,S){if(R.length===1){let D=0,j=S[D++],te;for(;!te||j.equals(te);)if(te=S[D++],!te)return 1/0;for(;D<S.length;D++){let ue=S[D],ve=R[0],De=te.sub(j),Ze=ue.sub(j),at=ve.sub(j),Tt=yd(De,De),Ft=yd(De,Ze),Qt=yd(Ze,Ze),sr=yd(at,De),Tr=yd(at,Ze),Pr=Tt*Qt-Ft*Ft,$r=(Qt*sr-Ft*Tr)/Pr,ni=(Tt*Tr-Ft*sr)/Pr,Di=j.z*(1-$r-ni)+te.z*$r+ue.z*ni;if(isFinite(Di))return Di}return 1/0}{let D=1/0;for(let j of S)D=Math.min(D,j.z);return D}}let cg=qe([{name:\"a_pos_normal\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}],4),{members:vp}=cg,_d=qe([{name:\"a_uv_x\",components:1,type:\"Float32\"},{name:\"a_split_index\",components:1,type:\"Float32\"}]),{members:pp}=_d,Nd=ei.VectorTileFeature.types,xd=Math.cos(Math.PI/180*37.5),kv=Math.pow(2,14)/.5;class Kv{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(D=>{this.gradients[D.id]={}}),this.layoutVertexArray=new Zu,this.layoutVertexArray2=new cu,this.indexArray=new oe,this.programConfigurations=new _s(S.layers,S.zoom),this.segments=new We,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){this.hasPattern=Wt(\"line\",this.layers,D);let te=this.layers[0].layout.get(\"line-sort-key\"),ue=!te.isConstant(),ve=[];for(let{feature:De,id:Ze,index:at,sourceLayerIndex:Tt}of S){let Ft=this.layers[0]._featureFilter.needGeometry,Qt=xl(De,Ft);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),Qt,j))continue;let sr=ue?te.evaluate(Qt,{},j):void 0,Tr={id:Ze,properties:De.properties,type:De.type,sourceLayerIndex:Tt,index:at,geometry:Ft?Qt.geometry:js(De),patterns:{},sortKey:sr};ve.push(Tr)}ue&&ve.sort((De,Ze)=>De.sortKey-Ze.sortKey);for(let De of ve){let{geometry:Ze,index:at,sourceLayerIndex:Tt}=De;if(this.hasPattern){let Ft=rr(\"line\",this.layers,De,this.zoom,D);this.patternFeatures.push(Ft)}else this.addFeature(De,Ze,at,j,{});D.featureIndex.insert(S[at].feature,Ze,at,Tt,this.index)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}addFeatures(S,D,j){for(let te of this.patternFeatures)this.addFeature(te,te.geometry,te.index,D,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=S.createVertexBuffer(this.layoutVertexArray2,pp)),this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,vp),this.indexBuffer=S.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(S),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(S){if(S.properties&&Object.prototype.hasOwnProperty.call(S.properties,\"mapbox_clip_start\")&&Object.prototype.hasOwnProperty.call(S.properties,\"mapbox_clip_end\"))return{start:+S.properties.mapbox_clip_start,end:+S.properties.mapbox_clip_end}}addFeature(S,D,j,te,ue){let ve=this.layers[0].layout,De=ve.get(\"line-join\").evaluate(S,{}),Ze=ve.get(\"line-cap\"),at=ve.get(\"line-miter-limit\"),Tt=ve.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(S);for(let Ft of D)this.addLine(Ft,S,De,Ze,at,Tt);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,ue,te)}addLine(S,D,j,te,ue,ve){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let ni=0;ni<S.length-1;ni++)this.totalDistance+=S[ni].dist(S[ni+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}let De=Nd[D.type]===\"Polygon\",Ze=S.length;for(;Ze>=2&&S[Ze-1].equals(S[Ze-2]);)Ze--;let at=0;for(;at<Ze-1&&S[at].equals(S[at+1]);)at++;if(Ze<(De?3:2))return;j===\"bevel\"&&(ue=1.05);let Tt=this.overscaling<=16?15*za/(512*this.overscaling):0,Ft=this.segments.prepareSegment(10*Ze,this.layoutVertexArray,this.indexArray),Qt,sr,Tr,Pr,$r;this.e1=this.e2=-1,De&&(Qt=S[Ze-2],$r=S[at].sub(Qt)._unit()._perp());for(let ni=at;ni<Ze;ni++){if(Tr=ni===Ze-1?De?S[at+1]:void 0:S[ni+1],Tr&&S[ni].equals(Tr))continue;$r&&(Pr=$r),Qt&&(sr=Qt),Qt=S[ni],$r=Tr?Tr.sub(Qt)._unit()._perp():Pr,Pr=Pr||$r;let Di=Pr.add($r);Di.x===0&&Di.y===0||Di._unit();let pi=Pr.x*$r.x+Pr.y*$r.y,ki=Di.x*$r.x+Di.y*$r.y,Zi=ki!==0?1/ki:1/0,ta=2*Math.sqrt(2-2*ki),Va=ki<xd&&sr&&Tr,Io=Pr.x*$r.y-Pr.y*$r.x>0;if(Va&&ni>at){let lo=Qt.dist(sr);if(lo>2*Tt){let $a=Qt.sub(Qt.sub(sr)._mult(Tt/lo)._round());this.updateDistance(sr,$a),this.addCurrentVertex($a,Pr,0,0,Ft),sr=$a}}let La=sr&&Tr,Hn=La?j:De?\"butt\":te;if(La&&Hn===\"round\"&&(Zi<ve?Hn=\"miter\":Zi<=2&&(Hn=\"fakeround\")),Hn===\"miter\"&&Zi>ue&&(Hn=\"bevel\"),Hn===\"bevel\"&&(Zi>2&&(Hn=\"flipbevel\"),Zi<ue&&(Hn=\"miter\")),sr&&this.updateDistance(sr,Qt),Hn===\"miter\")Di._mult(Zi),this.addCurrentVertex(Qt,Di,0,0,Ft);else if(Hn===\"flipbevel\"){if(Zi>100)Di=$r.mult(-1);else{let lo=Zi*Pr.add($r).mag()/Pr.sub($r).mag();Di._perp()._mult(lo*(Io?-1:1))}this.addCurrentVertex(Qt,Di,0,0,Ft),this.addCurrentVertex(Qt,Di.mult(-1),0,0,Ft)}else if(Hn===\"bevel\"||Hn===\"fakeround\"){let lo=-Math.sqrt(Zi*Zi-1),$a=Io?lo:0,Xa=Io?0:lo;if(sr&&this.addCurrentVertex(Qt,Pr,$a,Xa,Ft),Hn===\"fakeround\"){let Tn=Math.round(180*ta/Math.PI/20);for(let bo=1;bo<Tn;bo++){let Ya=bo/Tn;if(Ya!==.5){let wu=Ya-.5;Ya+=Ya*wu*(Ya-1)*((1.0904+pi*(pi*(3.55645-1.43519*pi)-3.2452))*wu*wu+(.848013+pi*(.215638*pi-1.06021)))}let Uo=$r.sub(Pr)._mult(Ya)._add(Pr)._unit()._mult(Io?-1:1);this.addHalfVertex(Qt,Uo.x,Uo.y,!1,Io,0,Ft)}}Tr&&this.addCurrentVertex(Qt,$r,-$a,-Xa,Ft)}else if(Hn===\"butt\")this.addCurrentVertex(Qt,Di,0,0,Ft);else if(Hn===\"square\"){let lo=sr?1:-1;this.addCurrentVertex(Qt,Di,lo,lo,Ft)}else Hn===\"round\"&&(sr&&(this.addCurrentVertex(Qt,Pr,0,0,Ft),this.addCurrentVertex(Qt,Pr,1,1,Ft,!0)),Tr&&(this.addCurrentVertex(Qt,$r,-1,-1,Ft,!0),this.addCurrentVertex(Qt,$r,0,0,Ft)));if(Va&&ni<Ze-1){let lo=Qt.dist(Tr);if(lo>2*Tt){let $a=Qt.add(Tr.sub(Qt)._mult(Tt/lo)._round());this.updateDistance(Qt,$a),this.addCurrentVertex($a,$r,0,0,Ft),Qt=$a}}}}addCurrentVertex(S,D,j,te,ue,ve=!1){let De=D.y*te-D.x,Ze=-D.y-D.x*te;this.addHalfVertex(S,D.x+D.y*j,D.y-D.x*j,ve,!1,j,ue),this.addHalfVertex(S,De,Ze,ve,!0,-te,ue),this.distance>kv/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(S,D,j,te,ue,ve))}addHalfVertex({x:S,y:D},j,te,ue,ve,De,Ze){let at=.5*(this.lineClips?this.scaledDistance*(kv-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((S<<1)+(ue?1:0),(D<<1)+(ve?1:0),Math.round(63*j)+128,Math.round(63*te)+128,1+(De===0?0:De<0?-1:1)|(63&at)<<2,at>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let Tt=Ze.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Tt),Ze.primitiveLength++),ve?this.e2=Tt:this.e1=Tt}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(S,D){this.distance+=S.dist(D),this.updateScaledDistance()}}let Cv,ny;mi(\"LineBucket\",Kv,{omit:[\"layers\",\"patternFeatures\"]});var fg={get paint(){return ny=ny||new le({\"line-opacity\":new eo(ce.paint_line[\"line-opacity\"]),\"line-color\":new eo(ce.paint_line[\"line-color\"]),\"line-translate\":new Da(ce.paint_line[\"line-translate\"]),\"line-translate-anchor\":new Da(ce.paint_line[\"line-translate-anchor\"]),\"line-width\":new eo(ce.paint_line[\"line-width\"]),\"line-gap-width\":new eo(ce.paint_line[\"line-gap-width\"]),\"line-offset\":new eo(ce.paint_line[\"line-offset\"]),\"line-blur\":new eo(ce.paint_line[\"line-blur\"]),\"line-dasharray\":new yc(ce.paint_line[\"line-dasharray\"]),\"line-pattern\":new Jc(ce.paint_line[\"line-pattern\"]),\"line-gradient\":new _c(ce.paint_line[\"line-gradient\"])})},get layout(){return Cv=Cv||new le({\"line-cap\":new Da(ce.layout_line[\"line-cap\"]),\"line-join\":new eo(ce.layout_line[\"line-join\"]),\"line-miter-limit\":new Da(ce.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new Da(ce.layout_line[\"line-round-limit\"]),\"line-sort-key\":new eo(ce.layout_line[\"line-sort-key\"])})}};class Hf extends eo{possiblyEvaluate(S,D){return D=new Ko(Math.floor(D.zoom),{now:D.now,fadeDuration:D.fadeDuration,zoomHistory:D.zoomHistory,transition:D.transition}),super.possiblyEvaluate(S,D)}evaluate(S,D,j,te){return D=L({},D,{zoom:Math.floor(D.zoom)}),super.evaluate(S,D,j,te)}}let hg;class ay extends B{constructor(S){super(S,fg),this.gradientVersion=0,hg||(hg=new Hf(fg.paint.properties[\"line-width\"].specification),hg.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(S){if(S===\"line-gradient\"){let D=this.gradientExpression();this.stepInterpolant=!!function(j){return j._styleExpression!==void 0}(D)&&D._styleExpression.expression instanceof Ji,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values[\"line-gradient\"].value.expression}recalculate(S,D){super.recalculate(S,D),this.paint._values[\"line-floorwidth\"]=hg.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,S)}createBucket(S){return new Kv(S)}queryRadius(S){let D=S,j=Rh(yn(\"line-width\",this,D),yn(\"line-gap-width\",this,D)),te=yn(\"line-offset\",this,D);return j/2+Math.abs(te)+to(this.paint.get(\"line-translate\"))}queryIntersectsFeature(S,D,j,te,ue,ve,De){let Ze=Rn(S,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),ve.angle,De),at=De/2*Rh(this.paint.get(\"line-width\").evaluate(D,j),this.paint.get(\"line-gap-width\").evaluate(D,j)),Tt=this.paint.get(\"line-offset\").evaluate(D,j);return Tt&&(te=function(Ft,Qt){let sr=[];for(let Tr=0;Tr<Ft.length;Tr++){let Pr=Ft[Tr],$r=[];for(let ni=0;ni<Pr.length;ni++){let Di=Pr[ni-1],pi=Pr[ni],ki=Pr[ni+1],Zi=ni===0?new u(0,0):pi.sub(Di)._unit()._perp(),ta=ni===Pr.length-1?new u(0,0):ki.sub(pi)._unit()._perp(),Va=Zi._add(ta)._unit(),Io=Va.x*ta.x+Va.y*ta.y;Io!==0&&Va._mult(1/Io),$r.push(Va._mult(Qt)._add(pi))}sr.push($r)}return sr}(te,Tt*De)),function(Ft,Qt,sr){for(let Tr=0;Tr<Qt.length;Tr++){let Pr=Qt[Tr];if(Ft.length>=3){for(let $r=0;$r<Pr.length;$r++)if(On(Ft,Pr[$r]))return!0}if(Wr(Ft,Pr,sr))return!0}return!1}(Ze,te,at)}isTileClipped(){return!0}}function Rh(R,S){return S>0?S+2*R:R}let rm=qe([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),w1=qe([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4);qe([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);let T1=qe([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"},{name:\"a_box_real\",components:2,type:\"Int16\"}]);qe([{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\"}]);let oy=qe([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),im=qe([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function nm(R,S,D){return R.sections.forEach(j=>{j.text=function(te,ue,ve){let De=ue.layout.get(\"text-transform\").evaluate(ve,{});return De===\"uppercase\"?te=te.toLocaleUpperCase():De===\"lowercase\"&&(te=te.toLocaleLowerCase()),vs.applyArabicShaping&&(te=vs.applyArabicShaping(te)),te}(j.text,S,D)}),R}qe([{name:\"triangle\",components:3,type:\"Uint16\"}]),qe([{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\"}]),qe([{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\"}]),qe([{type:\"Float32\",name:\"offsetX\"}]),qe([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]),qe([{type:\"Uint16\",name:\"textAnchor\"},{type:\"Float32\",components:2,name:\"textOffset\"}]);let Fu={\"!\":\"\\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 kl=24,bd=Kl,sy=function(R,S,D,j,te){var ue,ve,De=8*te-j-1,Ze=(1<<De)-1,at=Ze>>1,Tt=-7,Ft=D?te-1:0,Qt=D?-1:1,sr=R[S+Ft];for(Ft+=Qt,ue=sr&(1<<-Tt)-1,sr>>=-Tt,Tt+=De;Tt>0;ue=256*ue+R[S+Ft],Ft+=Qt,Tt-=8);for(ve=ue&(1<<-Tt)-1,ue>>=-Tt,Tt+=j;Tt>0;ve=256*ve+R[S+Ft],Ft+=Qt,Tt-=8);if(ue===0)ue=1-at;else{if(ue===Ze)return ve?NaN:1/0*(sr?-1:1);ve+=Math.pow(2,j),ue-=at}return(sr?-1:1)*ve*Math.pow(2,ue-j)},A1=function(R,S,D,j,te,ue){var ve,De,Ze,at=8*ue-te-1,Tt=(1<<at)-1,Ft=Tt>>1,Qt=te===23?Math.pow(2,-24)-Math.pow(2,-77):0,sr=j?0:ue-1,Tr=j?1:-1,Pr=S<0||S===0&&1/S<0?1:0;for(S=Math.abs(S),isNaN(S)||S===1/0?(De=isNaN(S)?1:0,ve=Tt):(ve=Math.floor(Math.log(S)/Math.LN2),S*(Ze=Math.pow(2,-ve))<1&&(ve--,Ze*=2),(S+=ve+Ft>=1?Qt/Ze:Qt*Math.pow(2,1-Ft))*Ze>=2&&(ve++,Ze/=2),ve+Ft>=Tt?(De=0,ve=Tt):ve+Ft>=1?(De=(S*Ze-1)*Math.pow(2,te),ve+=Ft):(De=S*Math.pow(2,Ft-1)*Math.pow(2,te),ve=0));te>=8;R[D+sr]=255&De,sr+=Tr,De/=256,te-=8);for(ve=ve<<te|De,at+=te;at>0;R[D+sr]=255&ve,sr+=Tr,ve/=256,at-=8);R[D+sr-Tr]|=128*Pr};function Kl(R){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(R)?R:new Uint8Array(R||0),this.pos=0,this.type=0,this.length=this.buf.length}Kl.Varint=0,Kl.Fixed64=1,Kl.Bytes=2,Kl.Fixed32=5;var Nx=4294967296,am=1/Nx,Mw=typeof TextDecoder==\"undefined\"?null:new TextDecoder(\"utf-8\");function Lv(R){return R.type===Kl.Bytes?R.readVarint()+R.pos:R.pos+1}function om(R,S,D){return D?4294967296*S+(R>>>0):4294967296*(S>>>0)+(R>>>0)}function Ew(R,S,D){var j=S<=16383?1:S<=2097151?2:S<=268435455?3:Math.floor(Math.log(S)/(7*Math.LN2));D.realloc(j);for(var te=D.pos-1;te>=R;te--)D.buf[te+j]=D.buf[te]}function Ux(R,S){for(var D=0;D<R.length;D++)S.writeVarint(R[D])}function P9(R,S){for(var D=0;D<R.length;D++)S.writeSVarint(R[D])}function I9(R,S){for(var D=0;D<R.length;D++)S.writeFloat(R[D])}function R9(R,S){for(var D=0;D<R.length;D++)S.writeDouble(R[D])}function D9(R,S){for(var D=0;D<R.length;D++)S.writeBoolean(R[D])}function mQ(R,S){for(var D=0;D<R.length;D++)S.writeFixed32(R[D])}function z9(R,S){for(var D=0;D<R.length;D++)S.writeSFixed32(R[D])}function F9(R,S){for(var D=0;D<R.length;D++)S.writeFixed64(R[D])}function q9(R,S){for(var D=0;D<R.length;D++)S.writeSFixed64(R[D])}function ly(R,S){return(R[S]|R[S+1]<<8|R[S+2]<<16)+16777216*R[S+3]}function Vx(R,S,D){R[D]=S,R[D+1]=S>>>8,R[D+2]=S>>>16,R[D+3]=S>>>24}function cC(R,S){return(R[S]|R[S+1]<<8|R[S+2]<<16)+(R[S+3]<<24)}Kl.prototype={destroy:function(){this.buf=null},readFields:function(R,S,D){for(D=D||this.length;this.pos<D;){var j=this.readVarint(),te=j>>3,ue=this.pos;this.type=7&j,R(te,S,this),this.pos===ue&&this.skip(j)}return S},readMessage:function(R,S){return this.readFields(R,S,this.readVarint()+this.pos)},readFixed32:function(){var R=ly(this.buf,this.pos);return this.pos+=4,R},readSFixed32:function(){var R=cC(this.buf,this.pos);return this.pos+=4,R},readFixed64:function(){var R=ly(this.buf,this.pos)+ly(this.buf,this.pos+4)*Nx;return this.pos+=8,R},readSFixed64:function(){var R=ly(this.buf,this.pos)+cC(this.buf,this.pos+4)*Nx;return this.pos+=8,R},readFloat:function(){var R=sy(this.buf,this.pos,!0,23,4);return this.pos+=4,R},readDouble:function(){var R=sy(this.buf,this.pos,!0,52,8);return this.pos+=8,R},readVarint:function(R){var S,D,j=this.buf;return S=127&(D=j[this.pos++]),D<128?S:(S|=(127&(D=j[this.pos++]))<<7,D<128?S:(S|=(127&(D=j[this.pos++]))<<14,D<128?S:(S|=(127&(D=j[this.pos++]))<<21,D<128?S:function(te,ue,ve){var De,Ze,at=ve.buf;if(De=(112&(Ze=at[ve.pos++]))>>4,Ze<128||(De|=(127&(Ze=at[ve.pos++]))<<3,Ze<128)||(De|=(127&(Ze=at[ve.pos++]))<<10,Ze<128)||(De|=(127&(Ze=at[ve.pos++]))<<17,Ze<128)||(De|=(127&(Ze=at[ve.pos++]))<<24,Ze<128)||(De|=(1&(Ze=at[ve.pos++]))<<31,Ze<128))return om(te,De,ue);throw new Error(\"Expected varint not more than 10 bytes\")}(S|=(15&(D=j[this.pos]))<<28,R,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var R=this.readVarint();return R%2==1?(R+1)/-2:R/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var R=this.readVarint()+this.pos,S=this.pos;return this.pos=R,R-S>=12&&Mw?function(D,j,te){return Mw.decode(D.subarray(j,te))}(this.buf,S,R):function(D,j,te){for(var ue=\"\",ve=j;ve<te;){var De,Ze,at,Tt=D[ve],Ft=null,Qt=Tt>239?4:Tt>223?3:Tt>191?2:1;if(ve+Qt>te)break;Qt===1?Tt<128&&(Ft=Tt):Qt===2?(192&(De=D[ve+1]))==128&&(Ft=(31&Tt)<<6|63&De)<=127&&(Ft=null):Qt===3?(Ze=D[ve+2],(192&(De=D[ve+1]))==128&&(192&Ze)==128&&((Ft=(15&Tt)<<12|(63&De)<<6|63&Ze)<=2047||Ft>=55296&&Ft<=57343)&&(Ft=null)):Qt===4&&(Ze=D[ve+2],at=D[ve+3],(192&(De=D[ve+1]))==128&&(192&Ze)==128&&(192&at)==128&&((Ft=(15&Tt)<<18|(63&De)<<12|(63&Ze)<<6|63&at)<=65535||Ft>=1114112)&&(Ft=null)),Ft===null?(Ft=65533,Qt=1):Ft>65535&&(Ft-=65536,ue+=String.fromCharCode(Ft>>>10&1023|55296),Ft=56320|1023&Ft),ue+=String.fromCharCode(Ft),ve+=Qt}return ue}(this.buf,S,R)},readBytes:function(){var R=this.readVarint()+this.pos,S=this.buf.subarray(this.pos,R);return this.pos=R,S},readPackedVarint:function(R,S){if(this.type!==Kl.Bytes)return R.push(this.readVarint(S));var D=Lv(this);for(R=R||[];this.pos<D;)R.push(this.readVarint(S));return R},readPackedSVarint:function(R){if(this.type!==Kl.Bytes)return R.push(this.readSVarint());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readSVarint());return R},readPackedBoolean:function(R){if(this.type!==Kl.Bytes)return R.push(this.readBoolean());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readBoolean());return R},readPackedFloat:function(R){if(this.type!==Kl.Bytes)return R.push(this.readFloat());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readFloat());return R},readPackedDouble:function(R){if(this.type!==Kl.Bytes)return R.push(this.readDouble());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readDouble());return R},readPackedFixed32:function(R){if(this.type!==Kl.Bytes)return R.push(this.readFixed32());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readFixed32());return R},readPackedSFixed32:function(R){if(this.type!==Kl.Bytes)return R.push(this.readSFixed32());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readSFixed32());return R},readPackedFixed64:function(R){if(this.type!==Kl.Bytes)return R.push(this.readFixed64());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readFixed64());return R},readPackedSFixed64:function(R){if(this.type!==Kl.Bytes)return R.push(this.readSFixed64());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readSFixed64());return R},skip:function(R){var S=7&R;if(S===Kl.Varint)for(;this.buf[this.pos++]>127;);else if(S===Kl.Bytes)this.pos=this.readVarint()+this.pos;else if(S===Kl.Fixed32)this.pos+=4;else{if(S!==Kl.Fixed64)throw new Error(\"Unimplemented type: \"+S);this.pos+=8}},writeTag:function(R,S){this.writeVarint(R<<3|S)},realloc:function(R){for(var S=this.length||16;S<this.pos+R;)S*=2;if(S!==this.length){var D=new Uint8Array(S);D.set(this.buf),this.buf=D,this.length=S}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(R){this.realloc(4),Vx(this.buf,R,this.pos),this.pos+=4},writeSFixed32:function(R){this.realloc(4),Vx(this.buf,R,this.pos),this.pos+=4},writeFixed64:function(R){this.realloc(8),Vx(this.buf,-1&R,this.pos),Vx(this.buf,Math.floor(R*am),this.pos+4),this.pos+=8},writeSFixed64:function(R){this.realloc(8),Vx(this.buf,-1&R,this.pos),Vx(this.buf,Math.floor(R*am),this.pos+4),this.pos+=8},writeVarint:function(R){(R=+R||0)>268435455||R<0?function(S,D){var j,te;if(S>=0?(j=S%4294967296|0,te=S/4294967296|0):(te=~(-S/4294967296),4294967295^(j=~(-S%4294967296))?j=j+1|0:(j=0,te=te+1|0)),S>=18446744073709552e3||S<-18446744073709552e3)throw new Error(\"Given varint doesn't fit into 10 bytes\");D.realloc(10),function(ue,ve,De){De.buf[De.pos++]=127&ue|128,ue>>>=7,De.buf[De.pos++]=127&ue|128,ue>>>=7,De.buf[De.pos++]=127&ue|128,ue>>>=7,De.buf[De.pos++]=127&ue|128,De.buf[De.pos]=127&(ue>>>=7)}(j,0,D),function(ue,ve){var De=(7&ue)<<4;ve.buf[ve.pos++]|=De|((ue>>>=3)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue)))))}(te,D)}(R,this):(this.realloc(4),this.buf[this.pos++]=127&R|(R>127?128:0),R<=127||(this.buf[this.pos++]=127&(R>>>=7)|(R>127?128:0),R<=127||(this.buf[this.pos++]=127&(R>>>=7)|(R>127?128:0),R<=127||(this.buf[this.pos++]=R>>>7&127))))},writeSVarint:function(R){this.writeVarint(R<0?2*-R-1:2*R)},writeBoolean:function(R){this.writeVarint(!!R)},writeString:function(R){R=String(R),this.realloc(4*R.length),this.pos++;var S=this.pos;this.pos=function(j,te,ue){for(var ve,De,Ze=0;Ze<te.length;Ze++){if((ve=te.charCodeAt(Ze))>55295&&ve<57344){if(!De){ve>56319||Ze+1===te.length?(j[ue++]=239,j[ue++]=191,j[ue++]=189):De=ve;continue}if(ve<56320){j[ue++]=239,j[ue++]=191,j[ue++]=189,De=ve;continue}ve=De-55296<<10|ve-56320|65536,De=null}else De&&(j[ue++]=239,j[ue++]=191,j[ue++]=189,De=null);ve<128?j[ue++]=ve:(ve<2048?j[ue++]=ve>>6|192:(ve<65536?j[ue++]=ve>>12|224:(j[ue++]=ve>>18|240,j[ue++]=ve>>12&63|128),j[ue++]=ve>>6&63|128),j[ue++]=63&ve|128)}return ue}(this.buf,R,this.pos);var D=this.pos-S;D>=128&&Ew(S,D,this),this.pos=S-1,this.writeVarint(D),this.pos+=D},writeFloat:function(R){this.realloc(4),A1(this.buf,R,this.pos,!0,23,4),this.pos+=4},writeDouble:function(R){this.realloc(8),A1(this.buf,R,this.pos,!0,52,8),this.pos+=8},writeBytes:function(R){var S=R.length;this.writeVarint(S),this.realloc(S);for(var D=0;D<S;D++)this.buf[this.pos++]=R[D]},writeRawMessage:function(R,S){this.pos++;var D=this.pos;R(S,this);var j=this.pos-D;j>=128&&Ew(D,j,this),this.pos=D-1,this.writeVarint(j),this.pos+=j},writeMessage:function(R,S,D){this.writeTag(R,Kl.Bytes),this.writeRawMessage(S,D)},writePackedVarint:function(R,S){S.length&&this.writeMessage(R,Ux,S)},writePackedSVarint:function(R,S){S.length&&this.writeMessage(R,P9,S)},writePackedBoolean:function(R,S){S.length&&this.writeMessage(R,D9,S)},writePackedFloat:function(R,S){S.length&&this.writeMessage(R,I9,S)},writePackedDouble:function(R,S){S.length&&this.writeMessage(R,R9,S)},writePackedFixed32:function(R,S){S.length&&this.writeMessage(R,mQ,S)},writePackedSFixed32:function(R,S){S.length&&this.writeMessage(R,z9,S)},writePackedFixed64:function(R,S){S.length&&this.writeMessage(R,F9,S)},writePackedSFixed64:function(R,S){S.length&&this.writeMessage(R,q9,S)},writeBytesField:function(R,S){this.writeTag(R,Kl.Bytes),this.writeBytes(S)},writeFixed32Field:function(R,S){this.writeTag(R,Kl.Fixed32),this.writeFixed32(S)},writeSFixed32Field:function(R,S){this.writeTag(R,Kl.Fixed32),this.writeSFixed32(S)},writeFixed64Field:function(R,S){this.writeTag(R,Kl.Fixed64),this.writeFixed64(S)},writeSFixed64Field:function(R,S){this.writeTag(R,Kl.Fixed64),this.writeSFixed64(S)},writeVarintField:function(R,S){this.writeTag(R,Kl.Varint),this.writeVarint(S)},writeSVarintField:function(R,S){this.writeTag(R,Kl.Varint),this.writeSVarint(S)},writeStringField:function(R,S){this.writeTag(R,Kl.Bytes),this.writeString(S)},writeFloatField:function(R,S){this.writeTag(R,Kl.Fixed32),this.writeFloat(S)},writeDoubleField:function(R,S){this.writeTag(R,Kl.Fixed64),this.writeDouble(S)},writeBooleanField:function(R,S){this.writeVarintField(R,!!S)}};var eS=o(bd);let tS=3;function yQ(R,S,D){R===1&&D.readMessage(O9,S)}function O9(R,S,D){if(R===3){let{id:j,bitmap:te,width:ue,height:ve,left:De,top:Ze,advance:at}=D.readMessage(fC,{});S.push({id:j,bitmap:new Ao({width:ue+2*tS,height:ve+2*tS},te),metrics:{width:ue,height:ve,left:De,top:Ze,advance:at}})}}function fC(R,S,D){R===1?S.id=D.readVarint():R===2?S.bitmap=D.readBytes():R===3?S.width=D.readVarint():R===4?S.height=D.readVarint():R===5?S.left=D.readSVarint():R===6?S.top=D.readSVarint():R===7&&(S.advance=D.readVarint())}let hC=tS;function rS(R){let S=0,D=0;for(let ve of R)S+=ve.w*ve.h,D=Math.max(D,ve.w);R.sort((ve,De)=>De.h-ve.h);let j=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(S/.95)),D),h:1/0}],te=0,ue=0;for(let ve of R)for(let De=j.length-1;De>=0;De--){let Ze=j[De];if(!(ve.w>Ze.w||ve.h>Ze.h)){if(ve.x=Ze.x,ve.y=Ze.y,ue=Math.max(ue,ve.y+ve.h),te=Math.max(te,ve.x+ve.w),ve.w===Ze.w&&ve.h===Ze.h){let at=j.pop();De<j.length&&(j[De]=at)}else ve.h===Ze.h?(Ze.x+=ve.w,Ze.w-=ve.w):ve.w===Ze.w?(Ze.y+=ve.h,Ze.h-=ve.h):(j.push({x:Ze.x+ve.w,y:Ze.y,w:Ze.w-ve.w,h:ve.h}),Ze.y+=ve.h,Ze.h-=ve.h);break}}return{w:te,h:ue,fill:S/(te*ue)||0}}let wd=1;class kw{constructor(S,{pixelRatio:D,version:j,stretchX:te,stretchY:ue,content:ve,textFitWidth:De,textFitHeight:Ze}){this.paddedRect=S,this.pixelRatio=D,this.stretchX=te,this.stretchY=ue,this.content=ve,this.version=j,this.textFitWidth=De,this.textFitHeight=Ze}get tl(){return[this.paddedRect.x+wd,this.paddedRect.y+wd]}get br(){return[this.paddedRect.x+this.paddedRect.w-wd,this.paddedRect.y+this.paddedRect.h-wd]}get tlbr(){return this.tl.concat(this.br)}get displaySize(){return[(this.paddedRect.w-2*wd)/this.pixelRatio,(this.paddedRect.h-2*wd)/this.pixelRatio]}}class Cw{constructor(S,D){let j={},te={};this.haveRenderCallbacks=[];let ue=[];this.addImages(S,j,ue),this.addImages(D,te,ue);let{w:ve,h:De}=rS(ue),Ze=new Jn({width:ve||1,height:De||1});for(let at in S){let Tt=S[at],Ft=j[at].paddedRect;Jn.copy(Tt.data,Ze,{x:0,y:0},{x:Ft.x+wd,y:Ft.y+wd},Tt.data)}for(let at in D){let Tt=D[at],Ft=te[at].paddedRect,Qt=Ft.x+wd,sr=Ft.y+wd,Tr=Tt.data.width,Pr=Tt.data.height;Jn.copy(Tt.data,Ze,{x:0,y:0},{x:Qt,y:sr},Tt.data),Jn.copy(Tt.data,Ze,{x:0,y:Pr-1},{x:Qt,y:sr-1},{width:Tr,height:1}),Jn.copy(Tt.data,Ze,{x:0,y:0},{x:Qt,y:sr+Pr},{width:Tr,height:1}),Jn.copy(Tt.data,Ze,{x:Tr-1,y:0},{x:Qt-1,y:sr},{width:1,height:Pr}),Jn.copy(Tt.data,Ze,{x:0,y:0},{x:Qt+Tr,y:sr},{width:1,height:Pr})}this.image=Ze,this.iconPositions=j,this.patternPositions=te}addImages(S,D,j){for(let te in S){let ue=S[te],ve={x:0,y:0,w:ue.data.width+2*wd,h:ue.data.height+2*wd};j.push(ve),D[te]=new kw(ve,ue),ue.hasRenderCallback&&this.haveRenderCallbacks.push(te)}}patchUpdatedImages(S,D){S.dispatchRenderCallbacks(this.haveRenderCallbacks);for(let j in S.updatedImages)this.patchUpdatedImage(this.iconPositions[j],S.getImage(j),D),this.patchUpdatedImage(this.patternPositions[j],S.getImage(j),D)}patchUpdatedImage(S,D,j){if(!S||!D||S.version===D.version)return;S.version=D.version;let[te,ue]=S.tl;j.update(D.data,void 0,{x:te,y:ue})}}var Pv;mi(\"ImagePosition\",kw),mi(\"ImageAtlas\",Cw),i.ah=void 0,(Pv=i.ah||(i.ah={}))[Pv.none=0]=\"none\",Pv[Pv.horizontal=1]=\"horizontal\",Pv[Pv.vertical=2]=\"vertical\",Pv[Pv.horizontalOnly=3]=\"horizontalOnly\";let lh=-17;class Hx{constructor(){this.scale=1,this.fontStack=\"\",this.imageName=null}static forText(S,D){let j=new Hx;return j.scale=S||1,j.fontStack=D,j}static forImage(S){let D=new Hx;return D.imageName=S,D}}class S1{constructor(){this.text=\"\",this.sectionIndex=[],this.sections=[],this.imageSectionID=null}static fromFeature(S,D){let j=new S1;for(let te=0;te<S.sections.length;te++){let ue=S.sections[te];ue.image?j.addImageSection(ue):j.addTextSection(ue,D)}return j}length(){return this.text.length}getSection(S){return this.sections[this.sectionIndex[S]]}getSectionIndex(S){return this.sectionIndex[S]}getCharCode(S){return this.text.charCodeAt(S)}verticalizePunctuation(){this.text=function(S){let D=\"\";for(let j=0;j<S.length;j++){let te=S.charCodeAt(j+1)||null,ue=S.charCodeAt(j-1)||null;D+=te&&yl(te)&&!Fu[S[j+1]]||ue&&yl(ue)&&!Fu[S[j-1]]||!Fu[S[j]]?S[j]:Fu[S[j]]}return D}(this.text)}trim(){let S=0;for(let j=0;j<this.text.length&&Lw[this.text.charCodeAt(j)];j++)S++;let D=this.text.length;for(let j=this.text.length-1;j>=0&&j>=S&&Lw[this.text.charCodeAt(j)];j--)D--;this.text=this.text.substring(S,D),this.sectionIndex=this.sectionIndex.slice(S,D)}substring(S,D){let j=new S1;return j.text=this.text.substring(S,D),j.sectionIndex=this.sectionIndex.slice(S,D),j.sections=this.sections,j}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((S,D)=>Math.max(S,this.sections[D].scale),0)}addTextSection(S,D){this.text+=S.text,this.sections.push(Hx.forText(S.scale,S.fontStack||D));let j=this.sections.length-1;for(let te=0;te<S.text.length;++te)this.sectionIndex.push(j)}addImageSection(S){let D=S.image?S.image.name:\"\";if(D.length===0)return void T(\"Can't add FormattedSection with an empty image.\");let j=this.getNextImageSectionCharCode();j?(this.text+=String.fromCharCode(j),this.sections.push(Hx.forImage(D)),this.sectionIndex.push(this.sections.length-1)):T(\"Reached maximum number of images 6401\")}getNextImageSectionCharCode(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Gx(R,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr){let Pr=S1.fromFeature(R,te),$r;Ft===i.ah.vertical&&Pr.verticalizePunctuation();let{processBidirectionalText:ni,processStyledBidirectionalText:Di}=vs;if(ni&&Pr.sections.length===1){$r=[];let Zi=ni(Pr.toString(),M1(Pr,at,ue,S,j,sr));for(let ta of Zi){let Va=new S1;Va.text=ta,Va.sections=Pr.sections;for(let Io=0;Io<ta.length;Io++)Va.sectionIndex.push(0);$r.push(Va)}}else if(Di){$r=[];let Zi=Di(Pr.text,Pr.sectionIndex,M1(Pr,at,ue,S,j,sr));for(let ta of Zi){let Va=new S1;Va.text=ta[0],Va.sectionIndex=ta[1],Va.sections=Pr.sections,$r.push(Va)}}else $r=function(Zi,ta){let Va=[],Io=Zi.text,La=0;for(let Hn of ta)Va.push(Zi.substring(La,Hn)),La=Hn;return La<Io.length&&Va.push(Zi.substring(La,Io.length)),Va}(Pr,M1(Pr,at,ue,S,j,sr));let pi=[],ki={positionedLines:pi,text:Pr.toString(),top:Tt[1],bottom:Tt[1],left:Tt[0],right:Tt[0],writingMode:Ft,iconsInText:!1,verticalizable:!1};return function(Zi,ta,Va,Io,La,Hn,lo,$a,Xa,Tn,bo,Ya){let Uo=0,wu=lh,hu=0,uh=0,$v=$a===\"right\"?1:$a===\"left\"?0:.5,td=0;for(let rf of La){rf.trim();let fh=rf.getMaxScale(),Td=(fh-1)*kl,rd={positionedGlyphs:[],lineOffset:0};Zi.positionedLines[td]=rd;let Dh=rd.positionedGlyphs,xf=0;if(!rf.length()){wu+=Hn,++td;continue}for(let lv=0;lv<rf.length();lv++){let Cl=rf.getSection(lv),qu=rf.getSectionIndex(lv),Tu=rf.getCharCode(lv),Rv=0,qc=null,I1=null,p0=null,Gp=kl,Qv=!(Xa===i.ah.horizontal||!bo&&!Bo(Tu)||bo&&(Lw[Tu]||(ch=Tu,new RegExp(\"\\\\p{sc=Arab}\",\"u\").test(String.fromCodePoint(ch)))));if(Cl.imageName){let oc=Io[Cl.imageName];if(!oc)continue;p0=Cl.imageName,Zi.iconsInText=Zi.iconsInText||!0,I1=oc.paddedRect;let If=oc.displaySize;Cl.scale=Cl.scale*kl/Ya,qc={width:If[0],height:If[1],left:wd,top:-hC,advance:Qv?If[1]:If[0]},Rv=Td+(kl-If[1]*Cl.scale),Gp=qc.advance;let ep=Qv?If[0]*Cl.scale-kl*fh:If[1]*Cl.scale-kl*fh;ep>0&&ep>xf&&(xf=ep)}else{let oc=Va[Cl.fontStack],If=oc&&oc[Tu];if(If&&If.rect)I1=If.rect,qc=If.metrics;else{let ep=ta[Cl.fontStack],gg=ep&&ep[Tu];if(!gg)continue;qc=gg.metrics}Rv=(fh-Cl.scale)*kl}Qv?(Zi.verticalizable=!0,Dh.push({glyph:Tu,imageName:p0,x:Uo,y:wu+Rv,vertical:Qv,scale:Cl.scale,fontStack:Cl.fontStack,sectionIndex:qu,metrics:qc,rect:I1}),Uo+=Gp*Cl.scale+Tn):(Dh.push({glyph:Tu,imageName:p0,x:Uo,y:wu+Rv,vertical:Qv,scale:Cl.scale,fontStack:Cl.fontStack,sectionIndex:qu,metrics:qc,rect:I1}),Uo+=qc.advance*Cl.scale+Tn)}Dh.length!==0&&(hu=Math.max(Uo-Tn,hu),sm(Dh,0,Dh.length-1,$v,xf)),Uo=0;let Iv=Hn*fh+xf;rd.lineOffset=Math.max(xf,Td),wu+=Iv,uh=Math.max(Iv,uh),++td}var ch;let Ud=wu-lh,{horizontalAlign:Vd,verticalAlign:Hd}=Iw(lo);(function(rf,fh,Td,rd,Dh,xf,Iv,lv,Cl){let qu=(fh-Td)*Dh,Tu=0;Tu=xf!==Iv?-lv*rd-lh:(-rd*Cl+.5)*Iv;for(let Rv of rf)for(let qc of Rv.positionedGlyphs)qc.x+=qu,qc.y+=Tu})(Zi.positionedLines,$v,Vd,Hd,hu,uh,Hn,Ud,La.length),Zi.top+=-Hd*Ud,Zi.bottom=Zi.top+Ud,Zi.left+=-Vd*hu,Zi.right=Zi.left+hu}(ki,S,D,j,$r,ve,De,Ze,Ft,at,Qt,Tr),!function(Zi){for(let ta of Zi)if(ta.positionedGlyphs.length!==0)return!1;return!0}(pi)&&ki}let Lw={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},B9={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},N9={40:!0};function dC(R,S,D,j,te,ue){if(S.imageName){let ve=j[S.imageName];return ve?ve.displaySize[0]*S.scale*kl/ue+te:0}{let ve=D[S.fontStack],De=ve&&ve[R];return De?De.metrics.advance*S.scale+te:0}}function vC(R,S,D,j){let te=Math.pow(R-S,2);return j?R<S?te/2:2*te:te+Math.abs(D)*D}function U9(R,S,D){let j=0;return R===10&&(j-=1e4),D&&(j+=150),R!==40&&R!==65288||(j+=50),S!==41&&S!==65289||(j+=50),j}function Pw(R,S,D,j,te,ue){let ve=null,De=vC(S,D,te,ue);for(let Ze of j){let at=vC(S-Ze.x,D,te,ue)+Ze.badness;at<=De&&(ve=Ze,De=at)}return{index:R,x:S,priorBreak:ve,badness:De}}function pC(R){return R?pC(R.priorBreak).concat(R.index):[]}function M1(R,S,D,j,te,ue){if(!R)return[];let ve=[],De=function(Ft,Qt,sr,Tr,Pr,$r){let ni=0;for(let Di=0;Di<Ft.length();Di++){let pi=Ft.getSection(Di);ni+=dC(Ft.getCharCode(Di),pi,Tr,Pr,Qt,$r)}return ni/Math.max(1,Math.ceil(ni/sr))}(R,S,D,j,te,ue),Ze=R.text.indexOf(\"\\u200B\")>=0,at=0;for(let Ft=0;Ft<R.length();Ft++){let Qt=R.getSection(Ft),sr=R.getCharCode(Ft);if(Lw[sr]||(at+=dC(sr,Qt,j,te,S,ue)),Ft<R.length()-1){let Tr=!((Tt=sr)<11904)&&(!!sn[\"CJK Compatibility Forms\"](Tt)||!!sn[\"CJK Compatibility\"](Tt)||!!sn[\"CJK Strokes\"](Tt)||!!sn[\"CJK Symbols and Punctuation\"](Tt)||!!sn[\"Enclosed CJK Letters and Months\"](Tt)||!!sn[\"Halfwidth and Fullwidth Forms\"](Tt)||!!sn[\"Ideographic Description Characters\"](Tt)||!!sn[\"Vertical Forms\"](Tt)||ys.test(String.fromCodePoint(Tt)));(B9[sr]||Tr||Qt.imageName||Ft!==R.length()-2&&N9[R.getCharCode(Ft+1)])&&ve.push(Pw(Ft+1,at,De,ve,U9(sr,R.getCharCode(Ft+1),Tr&&Ze),!1))}}var Tt;return pC(Pw(R.length(),at,De,ve,0,!0))}function Iw(R){let S=.5,D=.5;switch(R){case\"right\":case\"top-right\":case\"bottom-right\":S=1;break;case\"left\":case\"top-left\":case\"bottom-left\":S=0}switch(R){case\"bottom\":case\"bottom-right\":case\"bottom-left\":D=1;break;case\"top\":case\"top-right\":case\"top-left\":D=0}return{horizontalAlign:S,verticalAlign:D}}function sm(R,S,D,j,te){if(!j&&!te)return;let ue=R[D],ve=(R[D].x+ue.metrics.advance*ue.scale)*j;for(let De=S;De<=D;De++)R[De].x-=ve,R[De].y+=te}function jx(R,S,D){let{horizontalAlign:j,verticalAlign:te}=Iw(D),ue=S[0]-R.displaySize[0]*j,ve=S[1]-R.displaySize[1]*te;return{image:R,top:ve,bottom:ve+R.displaySize[1],left:ue,right:ue+R.displaySize[0]}}function gC(R){var S,D;let j=R.left,te=R.top,ue=R.right-j,ve=R.bottom-te,De=(S=R.image.textFitWidth)!==null&&S!==void 0?S:\"stretchOrShrink\",Ze=(D=R.image.textFitHeight)!==null&&D!==void 0?D:\"stretchOrShrink\",at=(R.image.content[2]-R.image.content[0])/(R.image.content[3]-R.image.content[1]);if(Ze===\"proportional\"){if(De===\"stretchOnly\"&&ue/ve<at||De===\"proportional\"){let Tt=Math.ceil(ve*at);j*=Tt/ue,ue=Tt}}else if(De===\"proportional\"&&Ze===\"stretchOnly\"&&at!==0&&ue/ve>at){let Tt=Math.ceil(ue/at);te*=Tt/ve,ve=Tt}return{x1:j,y1:te,x2:j+ue,y2:te+ve}}function mC(R,S,D,j,te,ue){let ve=R.image,De;if(ve.content){let $r=ve.content,ni=ve.pixelRatio||1;De=[$r[0]/ni,$r[1]/ni,ve.displaySize[0]-$r[2]/ni,ve.displaySize[1]-$r[3]/ni]}let Ze=S.left*ue,at=S.right*ue,Tt,Ft,Qt,sr;D===\"width\"||D===\"both\"?(sr=te[0]+Ze-j[3],Ft=te[0]+at+j[1]):(sr=te[0]+(Ze+at-ve.displaySize[0])/2,Ft=sr+ve.displaySize[0]);let Tr=S.top*ue,Pr=S.bottom*ue;return D===\"height\"||D===\"both\"?(Tt=te[1]+Tr-j[0],Qt=te[1]+Pr+j[2]):(Tt=te[1]+(Tr+Pr-ve.displaySize[1])/2,Qt=Tt+ve.displaySize[1]),{image:ve,top:Tt,right:Ft,bottom:Qt,left:sr,collisionPadding:De}}let Wx=255,v0=128,lm=Wx*v0;function yC(R,S){let{expression:D}=S;if(D.kind===\"constant\")return{kind:\"constant\",layoutSize:D.evaluate(new Ko(R+1))};if(D.kind===\"source\")return{kind:\"source\"};{let{zoomStops:j,interpolationType:te}=D,ue=0;for(;ue<j.length&&j[ue]<=R;)ue++;ue=Math.max(0,ue-1);let ve=ue;for(;ve<j.length&&j[ve]<R+1;)ve++;ve=Math.min(j.length-1,ve);let De=j[ue],Ze=j[ve];return D.kind===\"composite\"?{kind:\"composite\",minZoom:De,maxZoom:Ze,interpolationType:te}:{kind:\"camera\",minZoom:De,maxZoom:Ze,minSize:D.evaluate(new Ko(De)),maxSize:D.evaluate(new Ko(Ze)),interpolationType:te}}}function iS(R,S,D){let j=\"never\",te=R.get(S);return te?j=te:R.get(D)&&(j=\"always\"),j}let V9=ei.VectorTileFeature.types,H9=[{name:\"a_fade_opacity\",components:1,type:\"Uint8\",offset:0}];function Rw(R,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt){let sr=De?Math.min(lm,Math.round(De[0])):0,Tr=De?Math.min(lm,Math.round(De[1])):0;R.emplaceBack(S,D,Math.round(32*j),Math.round(32*te),ue,ve,(sr<<1)+(Ze?1:0),Tr,16*at,16*Tt,256*Ft,256*Qt)}function nS(R,S,D){R.emplaceBack(S.x,S.y,D),R.emplaceBack(S.x,S.y,D),R.emplaceBack(S.x,S.y,D),R.emplaceBack(S.x,S.y,D)}function aS(R){for(let S of R.sections)if(Ka(S.text))return!0;return!1}class oS{constructor(S){this.layoutVertexArray=new au,this.indexArray=new oe,this.programConfigurations=S,this.segments=new We,this.dynamicLayoutVertexArray=new zc,this.opacityVertexArray=new zl,this.hasVisibleVertices=!1,this.placedSymbolArray=new pa}isEmpty(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0}upload(S,D,j,te){this.isEmpty()||(j&&(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,rm.members),this.indexBuffer=S.createIndexBuffer(this.indexArray,D),this.dynamicLayoutVertexBuffer=S.createVertexBuffer(this.dynamicLayoutVertexArray,w1.members,!0),this.opacityVertexBuffer=S.createVertexBuffer(this.opacityVertexArray,H9,!0),this.opacityVertexBuffer.itemSize=1),(j||te)&&this.programConfigurations.upload(S))}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())}}mi(\"SymbolBuffers\",oS);class um{constructor(S,D,j){this.layoutVertexArray=new S,this.layoutAttributes=D,this.indexArray=new j,this.segments=new We,this.collisionVertexArray=new Z}upload(S){this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=S.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=S.createVertexBuffer(this.collisionVertexArray,T1.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())}}mi(\"CollisionBuffers\",um);class E1{constructor(S){this.collisionBoxArray=S.collisionBoxArray,this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(ve=>ve.id),this.index=S.index,this.pixelRatio=S.pixelRatio,this.sourceLayerIndex=S.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=Un([]),this.placementViewportMatrix=Un([]);let D=this.layers[0]._unevaluatedLayout._values;this.textSizeData=yC(this.zoom,D[\"text-size\"]),this.iconSizeData=yC(this.zoom,D[\"icon-size\"]);let j=this.layers[0].layout,te=j.get(\"symbol-sort-key\"),ue=j.get(\"symbol-z-order\");this.canOverlap=iS(j,\"text-overlap\",\"text-allow-overlap\")!==\"never\"||iS(j,\"icon-overlap\",\"icon-allow-overlap\")!==\"never\"||j.get(\"text-ignore-placement\")||j.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=ue!==\"viewport-y\"&&!te.isConstant(),this.sortFeaturesByY=(ue===\"viewport-y\"||ue===\"auto\"&&!this.sortFeaturesByKey)&&this.canOverlap,j.get(\"symbol-placement\")===\"point\"&&(this.writingModes=j.get(\"text-writing-mode\").map(ve=>i.ah[ve])),this.stateDependentLayerIds=this.layers.filter(ve=>ve.isStateDependent()).map(ve=>ve.id),this.sourceID=S.sourceID}createArrays(){this.text=new oS(new _s(this.layers,this.zoom,S=>/^text/.test(S))),this.icon=new oS(new _s(this.layers,this.zoom,S=>/^icon/.test(S))),this.glyphOffsetArray=new To,this.lineVertexArray=new Wa,this.symbolInstances=new Ga,this.textAnchorOffsets=new Ro}calculateGlyphDependencies(S,D,j,te,ue){for(let ve=0;ve<S.length;ve++)if(D[S.charCodeAt(ve)]=!0,(j||te)&&ue){let De=Fu[S.charAt(ve)];De&&(D[De.charCodeAt(0)]=!0)}}populate(S,D,j){let te=this.layers[0],ue=te.layout,ve=ue.get(\"text-font\"),De=ue.get(\"text-field\"),Ze=ue.get(\"icon-image\"),at=(De.value.kind!==\"constant\"||De.value.value instanceof Zr&&!De.value.value.isEmpty()||De.value.value.toString().length>0)&&(ve.value.kind!==\"constant\"||ve.value.value.length>0),Tt=Ze.value.kind!==\"constant\"||!!Ze.value.value||Object.keys(Ze.parameters).length>0,Ft=ue.get(\"symbol-sort-key\");if(this.features=[],!at&&!Tt)return;let Qt=D.iconDependencies,sr=D.glyphDependencies,Tr=D.availableImages,Pr=new Ko(this.zoom);for(let{feature:$r,id:ni,index:Di,sourceLayerIndex:pi}of S){let ki=te._featureFilter.needGeometry,Zi=xl($r,ki);if(!te._featureFilter.filter(Pr,Zi,j))continue;let ta,Va;if(ki||(Zi.geometry=js($r)),at){let La=te.getValueAndResolveTokens(\"text-field\",Zi,j,Tr),Hn=Zr.factory(La),lo=this.hasRTLText=this.hasRTLText||aS(Hn);(!lo||vs.getRTLTextPluginStatus()===\"unavailable\"||lo&&vs.isParsed())&&(ta=nm(Hn,te,Zi))}if(Tt){let La=te.getValueAndResolveTokens(\"icon-image\",Zi,j,Tr);Va=La instanceof Mi?La:Mi.fromString(La)}if(!ta&&!Va)continue;let Io=this.sortFeaturesByKey?Ft.evaluate(Zi,{},j):void 0;if(this.features.push({id:ni,text:ta,icon:Va,index:Di,sourceLayerIndex:pi,geometry:Zi.geometry,properties:$r.properties,type:V9[$r.type],sortKey:Io}),Va&&(Qt[Va.name]=!0),ta){let La=ve.evaluate(Zi,{},j).join(\",\"),Hn=ue.get(\"text-rotation-alignment\")!==\"viewport\"&&ue.get(\"symbol-placement\")!==\"point\";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(i.ah.vertical)>=0;for(let lo of ta.sections)if(lo.image)Qt[lo.image.name]=!0;else{let $a=Ua(ta.toString()),Xa=lo.fontStack||La,Tn=sr[Xa]=sr[Xa]||{};this.calculateGlyphDependencies(lo.text,Tn,Hn,this.allowVerticalPlacement,$a)}}}ue.get(\"symbol-placement\")===\"line\"&&(this.features=function($r){let ni={},Di={},pi=[],ki=0;function Zi(La){pi.push($r[La]),ki++}function ta(La,Hn,lo){let $a=Di[La];return delete Di[La],Di[Hn]=$a,pi[$a].geometry[0].pop(),pi[$a].geometry[0]=pi[$a].geometry[0].concat(lo[0]),$a}function Va(La,Hn,lo){let $a=ni[Hn];return delete ni[Hn],ni[La]=$a,pi[$a].geometry[0].shift(),pi[$a].geometry[0]=lo[0].concat(pi[$a].geometry[0]),$a}function Io(La,Hn,lo){let $a=lo?Hn[0][Hn[0].length-1]:Hn[0][0];return`${La}:${$a.x}:${$a.y}`}for(let La=0;La<$r.length;La++){let Hn=$r[La],lo=Hn.geometry,$a=Hn.text?Hn.text.toString():null;if(!$a){Zi(La);continue}let Xa=Io($a,lo),Tn=Io($a,lo,!0);if(Xa in Di&&Tn in ni&&Di[Xa]!==ni[Tn]){let bo=Va(Xa,Tn,lo),Ya=ta(Xa,Tn,pi[bo].geometry);delete ni[Xa],delete Di[Tn],Di[Io($a,pi[Ya].geometry,!0)]=Ya,pi[bo].geometry=null}else Xa in Di?ta(Xa,Tn,lo):Tn in ni?Va(Xa,Tn,lo):(Zi(La),ni[Xa]=ki-1,Di[Tn]=ki-1)}return pi.filter(La=>La.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort(($r,ni)=>$r.sortKey-ni.sortKey)}update(S,D,j){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(S,D,this.layers,j),this.icon.programConfigurations.updatePaintArrays(S,D,this.layers,j))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(S){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(S),this.iconCollisionBox.upload(S)),this.text.upload(S,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(S,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(S,D){let j=this.lineVertexArray.length;if(S.segment!==void 0){let te=S.dist(D[S.segment+1]),ue=S.dist(D[S.segment]),ve={};for(let De=S.segment+1;De<D.length;De++)ve[De]={x:D[De].x,y:D[De].y,tileUnitDistanceFromAnchor:te},De<D.length-1&&(te+=D[De+1].dist(D[De]));for(let De=S.segment||0;De>=0;De--)ve[De]={x:D[De].x,y:D[De].y,tileUnitDistanceFromAnchor:ue},De>0&&(ue+=D[De-1].dist(D[De]));for(let De=0;De<D.length;De++){let Ze=ve[De];this.lineVertexArray.emplaceBack(Ze.x,Ze.y,Ze.tileUnitDistanceFromAnchor)}}return{lineStartIndex:j,lineLength:this.lineVertexArray.length-j}}addSymbols(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt){let sr=S.indexArray,Tr=S.layoutVertexArray,Pr=S.segments.prepareSegment(4*D.length,Tr,sr,this.canOverlap?ve.sortKey:void 0),$r=this.glyphOffsetArray.length,ni=Pr.vertexLength,Di=this.allowVerticalPlacement&&De===i.ah.vertical?Math.PI/2:0,pi=ve.text&&ve.text.sections;for(let ki=0;ki<D.length;ki++){let{tl:Zi,tr:ta,bl:Va,br:Io,tex:La,pixelOffsetTL:Hn,pixelOffsetBR:lo,minFontScaleX:$a,minFontScaleY:Xa,glyphOffset:Tn,isSDF:bo,sectionIndex:Ya}=D[ki],Uo=Pr.vertexLength,wu=Tn[1];Rw(Tr,Ze.x,Ze.y,Zi.x,wu+Zi.y,La.x,La.y,j,bo,Hn.x,Hn.y,$a,Xa),Rw(Tr,Ze.x,Ze.y,ta.x,wu+ta.y,La.x+La.w,La.y,j,bo,lo.x,Hn.y,$a,Xa),Rw(Tr,Ze.x,Ze.y,Va.x,wu+Va.y,La.x,La.y+La.h,j,bo,Hn.x,lo.y,$a,Xa),Rw(Tr,Ze.x,Ze.y,Io.x,wu+Io.y,La.x+La.w,La.y+La.h,j,bo,lo.x,lo.y,$a,Xa),nS(S.dynamicLayoutVertexArray,Ze,Di),sr.emplaceBack(Uo,Uo+1,Uo+2),sr.emplaceBack(Uo+1,Uo+2,Uo+3),Pr.vertexLength+=4,Pr.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(Tn[0]),ki!==D.length-1&&Ya===D[ki+1].sectionIndex||S.programConfigurations.populatePaintArrays(Tr.length,ve,ve.index,{},Qt,pi&&pi[Ya])}S.placedSymbolArray.emplaceBack(Ze.x,Ze.y,$r,this.glyphOffsetArray.length-$r,ni,at,Tt,Ze.segment,j?j[0]:0,j?j[1]:0,te[0],te[1],De,0,!1,0,Ft)}_addCollisionDebugVertex(S,D,j,te,ue,ve){return D.emplaceBack(0,0),S.emplaceBack(j.x,j.y,te,ue,Math.round(ve.x),Math.round(ve.y))}addCollisionDebugVertices(S,D,j,te,ue,ve,De){let Ze=ue.segments.prepareSegment(4,ue.layoutVertexArray,ue.indexArray),at=Ze.vertexLength,Tt=ue.layoutVertexArray,Ft=ue.collisionVertexArray,Qt=De.anchorX,sr=De.anchorY;this._addCollisionDebugVertex(Tt,Ft,ve,Qt,sr,new u(S,D)),this._addCollisionDebugVertex(Tt,Ft,ve,Qt,sr,new u(j,D)),this._addCollisionDebugVertex(Tt,Ft,ve,Qt,sr,new u(j,te)),this._addCollisionDebugVertex(Tt,Ft,ve,Qt,sr,new u(S,te)),Ze.vertexLength+=4;let Tr=ue.indexArray;Tr.emplaceBack(at,at+1),Tr.emplaceBack(at+1,at+2),Tr.emplaceBack(at+2,at+3),Tr.emplaceBack(at+3,at),Ze.primitiveLength+=4}addDebugCollisionBoxes(S,D,j,te){for(let ue=S;ue<D;ue++){let ve=this.collisionBoxArray.get(ue);this.addCollisionDebugVertices(ve.x1,ve.y1,ve.x2,ve.y2,te?this.textCollisionBox:this.iconCollisionBox,ve.anchorPoint,j)}}generateCollisionDebugBuffers(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new um(Fl,oy.members,we),this.iconCollisionBox=new um(Fl,oy.members,we);for(let S=0;S<this.symbolInstances.length;S++){let D=this.symbolInstances.get(S);this.addDebugCollisionBoxes(D.textBoxStartIndex,D.textBoxEndIndex,D,!0),this.addDebugCollisionBoxes(D.verticalTextBoxStartIndex,D.verticalTextBoxEndIndex,D,!0),this.addDebugCollisionBoxes(D.iconBoxStartIndex,D.iconBoxEndIndex,D,!1),this.addDebugCollisionBoxes(D.verticalIconBoxStartIndex,D.verticalIconBoxEndIndex,D,!1)}}_deserializeCollisionBoxesForSymbol(S,D,j,te,ue,ve,De,Ze,at){let Tt={};for(let Ft=D;Ft<j;Ft++){let Qt=S.get(Ft);Tt.textBox={x1:Qt.x1,y1:Qt.y1,x2:Qt.x2,y2:Qt.y2,anchorPointX:Qt.anchorPointX,anchorPointY:Qt.anchorPointY},Tt.textFeatureIndex=Qt.featureIndex;break}for(let Ft=te;Ft<ue;Ft++){let Qt=S.get(Ft);Tt.verticalTextBox={x1:Qt.x1,y1:Qt.y1,x2:Qt.x2,y2:Qt.y2,anchorPointX:Qt.anchorPointX,anchorPointY:Qt.anchorPointY},Tt.verticalTextFeatureIndex=Qt.featureIndex;break}for(let Ft=ve;Ft<De;Ft++){let Qt=S.get(Ft);Tt.iconBox={x1:Qt.x1,y1:Qt.y1,x2:Qt.x2,y2:Qt.y2,anchorPointX:Qt.anchorPointX,anchorPointY:Qt.anchorPointY},Tt.iconFeatureIndex=Qt.featureIndex;break}for(let Ft=Ze;Ft<at;Ft++){let Qt=S.get(Ft);Tt.verticalIconBox={x1:Qt.x1,y1:Qt.y1,x2:Qt.x2,y2:Qt.y2,anchorPointX:Qt.anchorPointX,anchorPointY:Qt.anchorPointY},Tt.verticalIconFeatureIndex=Qt.featureIndex;break}return Tt}deserializeCollisionBoxes(S){this.collisionArrays=[];for(let D=0;D<this.symbolInstances.length;D++){let j=this.symbolInstances.get(D);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(S,j.textBoxStartIndex,j.textBoxEndIndex,j.verticalTextBoxStartIndex,j.verticalTextBoxEndIndex,j.iconBoxStartIndex,j.iconBoxEndIndex,j.verticalIconBoxStartIndex,j.verticalIconBoxEndIndex))}}hasTextData(){return this.text.segments.get().length>0}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(S,D){let j=S.placedSymbolArray.get(D),te=j.vertexStartIndex+4*j.numGlyphs;for(let ue=j.vertexStartIndex;ue<te;ue+=4)S.indexArray.emplaceBack(ue,ue+1,ue+2),S.indexArray.emplaceBack(ue+1,ue+2,ue+3)}getSortedSymbolIndexes(S){if(this.sortedAngle===S&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;let D=Math.sin(S),j=Math.cos(S),te=[],ue=[],ve=[];for(let De=0;De<this.symbolInstances.length;++De){ve.push(De);let Ze=this.symbolInstances.get(De);te.push(0|Math.round(D*Ze.anchorX+j*Ze.anchorY)),ue.push(Ze.featureIndex)}return ve.sort((De,Ze)=>te[De]-te[Ze]||ue[Ze]-ue[De]),ve}addToSortKeyRanges(S,D){let j=this.sortKeyRanges[this.sortKeyRanges.length-1];j&&j.sortKey===D?j.symbolInstanceEnd=S+1:this.sortKeyRanges.push({sortKey:D,symbolInstanceStart:S,symbolInstanceEnd:S+1})}sortFeatures(S){if(this.sortFeaturesByY&&this.sortedAngle!==S&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(S),this.sortedAngle=S,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let D of this.symbolInstanceIndexes){let j=this.symbolInstances.get(D);this.featureSortOrder.push(j.featureIndex),[j.rightJustifiedTextSymbolIndex,j.centerJustifiedTextSymbolIndex,j.leftJustifiedTextSymbolIndex].forEach((te,ue,ve)=>{te>=0&&ve.indexOf(te)===ue&&this.addIndicesForPlacedSymbol(this.text,te)}),j.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,j.verticalPlacedTextSymbolIndex),j.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,j.placedIconSymbolIndex),j.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,j.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let tf,Zx;mi(\"SymbolBucket\",E1,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),E1.MAX_GLYPHS=65535,E1.addDynamicAttributes=nS;var Dw={get paint(){return Zx=Zx||new le({\"icon-opacity\":new eo(ce.paint_symbol[\"icon-opacity\"]),\"icon-color\":new eo(ce.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new eo(ce.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new eo(ce.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new eo(ce.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new Da(ce.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new Da(ce.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new eo(ce.paint_symbol[\"text-opacity\"]),\"text-color\":new eo(ce.paint_symbol[\"text-color\"],{runtimeType:Ht,getOverride:R=>R.textColor,hasOverride:R=>!!R.textColor}),\"text-halo-color\":new eo(ce.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new eo(ce.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new eo(ce.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new Da(ce.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new Da(ce.paint_symbol[\"text-translate-anchor\"])})},get layout(){return tf=tf||new le({\"symbol-placement\":new Da(ce.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new Da(ce.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new Da(ce.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new eo(ce.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new Da(ce.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new Da(ce.layout_symbol[\"icon-allow-overlap\"]),\"icon-overlap\":new Da(ce.layout_symbol[\"icon-overlap\"]),\"icon-ignore-placement\":new Da(ce.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new Da(ce.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new Da(ce.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new eo(ce.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new Da(ce.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new Da(ce.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new eo(ce.layout_symbol[\"icon-image\"]),\"icon-rotate\":new eo(ce.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new eo(ce.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new Da(ce.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new eo(ce.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new eo(ce.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new Da(ce.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new Da(ce.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new Da(ce.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new eo(ce.layout_symbol[\"text-field\"]),\"text-font\":new eo(ce.layout_symbol[\"text-font\"]),\"text-size\":new eo(ce.layout_symbol[\"text-size\"]),\"text-max-width\":new eo(ce.layout_symbol[\"text-max-width\"]),\"text-line-height\":new Da(ce.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new eo(ce.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new eo(ce.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new eo(ce.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new Da(ce.layout_symbol[\"text-variable-anchor\"]),\"text-variable-anchor-offset\":new eo(ce.layout_symbol[\"text-variable-anchor-offset\"]),\"text-anchor\":new eo(ce.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new Da(ce.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new Da(ce.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new eo(ce.layout_symbol[\"text-rotate\"]),\"text-padding\":new Da(ce.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new Da(ce.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new eo(ce.layout_symbol[\"text-transform\"]),\"text-offset\":new eo(ce.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new Da(ce.layout_symbol[\"text-allow-overlap\"]),\"text-overlap\":new Da(ce.layout_symbol[\"text-overlap\"]),\"text-ignore-placement\":new Da(ce.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new Da(ce.layout_symbol[\"text-optional\"])})}};class Xx{constructor(S){if(S.property.overrides===void 0)throw new Error(\"overrides must be provided to instantiate FormatSectionOverride class\");this.type=S.property.overrides?S.property.overrides.runtimeType:Lt,this.defaultValue=S}evaluate(S){if(S.formattedSection){let D=this.defaultValue.property.overrides;if(D&&D.hasOverride(S.formattedSection))return D.getOverride(S.formattedSection)}return S.feature&&S.featureState?this.defaultValue.evaluate(S.feature,S.featureState):this.defaultValue.property.specification.default}eachChild(S){this.defaultValue.isConstant()||S(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}mi(\"FormatSectionOverride\",Xx,{omit:[\"defaultValue\"]});class uy extends B{constructor(S){super(S,Dw)}recalculate(S,D){if(super.recalculate(S,D),this.layout.get(\"icon-rotation-alignment\")===\"auto\"&&(this.layout._values[\"icon-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-rotation-alignment\")===\"auto\"&&(this.layout._values[\"text-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-pitch-alignment\")===\"auto\"&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")===\"map\"?\"map\":\"viewport\"),this.layout.get(\"icon-pitch-alignment\")===\"auto\"&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),this.layout.get(\"symbol-placement\")===\"point\"){let j=this.layout.get(\"text-writing-mode\");if(j){let te=[];for(let ue of j)te.indexOf(ue)<0&&te.push(ue);this.layout._values[\"text-writing-mode\"]=te}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]}this._setPaintOverrides()}getValueAndResolveTokens(S,D,j,te){let ue=this.layout.get(S).evaluate(D,{},j,te),ve=this._unevaluatedLayout._values[S];return ve.isDataDriven()||Lc(ve.value)||!ue?ue:function(De,Ze){return Ze.replace(/{([^{}]+)}/g,(at,Tt)=>De&&Tt in De?String(De[Tt]):\"\")}(D.properties,ue)}createBucket(S){return new E1(S)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error(\"Should take a different path in FeatureIndex\")}_setPaintOverrides(){for(let S of Dw.paint.overridableProperties){if(!uy.hasPaintOverride(this.layout,S))continue;let D=this.paint.get(S),j=new Xx(D),te=new Pu(j,D.property.specification),ue=null;ue=D.value.kind===\"constant\"||D.value.kind===\"source\"?new Xc(\"source\",te):new ic(\"composite\",te,D.value.zoomStops),this.paint._values[S]=new Du(D.property,ue,D.parameters)}}_handleOverridablePaintPropertyUpdate(S,D,j){return!(!this.layout||D.isDataDriven()||j.isDataDriven())&&uy.hasPaintOverride(this.layout,S)}static hasPaintOverride(S,D){let j=S.get(\"text-field\"),te=Dw.paint.properties[D],ue=!1,ve=De=>{for(let Ze of De)if(te.overrides&&te.overrides.hasOverride(Ze))return void(ue=!0)};if(j.value.kind===\"constant\"&&j.value.value instanceof Zr)ve(j.value.value.sections);else if(j.value.kind===\"source\"){let De=at=>{ue||(at instanceof jn&&Ki(at.value)===Br?ve(at.value.sections):at instanceof Ql?ve(at.sections):at.eachChild(De))},Ze=j.value;Ze._styleExpression&&De(Ze._styleExpression.expression)}return ue}}let _C;var Yx={get paint(){return _C=_C||new le({\"background-color\":new Da(ce.paint_background[\"background-color\"]),\"background-pattern\":new yc(ce.paint_background[\"background-pattern\"]),\"background-opacity\":new Da(ce.paint_background[\"background-opacity\"])})}};class G9 extends B{constructor(S){super(S,Yx)}}let sS;var xC={get paint(){return sS=sS||new le({\"raster-opacity\":new Da(ce.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new Da(ce.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new Da(ce.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new Da(ce.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new Da(ce.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new Da(ce.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new Da(ce.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new Da(ce.paint_raster[\"raster-fade-duration\"])})}};class Kx extends B{constructor(S){super(S,xC)}}class lS extends B{constructor(S){super(S,{}),this.onAdd=D=>{this.implementation.onAdd&&this.implementation.onAdd(D,D.painter.context.gl)},this.onRemove=D=>{this.implementation.onRemove&&this.implementation.onRemove(D,D.painter.context.gl)},this.implementation=S}is3D(){return this.implementation.renderingMode===\"3d\"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error(\"Custom layers cannot be serialized\")}}class uS{constructor(S){this._methodToThrottle=S,this._triggered=!1,typeof MessageChannel!=\"undefined\"&&(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=()=>{}}}let cS=63710088e-1;class dg{constructor(S,D){if(isNaN(S)||isNaN(D))throw new Error(`Invalid LngLat object: (${S}, ${D})`);if(this.lng=+S,this.lat=+D,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")}wrap(){return new dg(A(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(S){let D=Math.PI/180,j=this.lat*D,te=S.lat*D,ue=Math.sin(j)*Math.sin(te)+Math.cos(j)*Math.cos(te)*Math.cos((S.lng-this.lng)*D);return cS*Math.acos(Math.min(ue,1))}static convert(S){if(S instanceof dg)return S;if(Array.isArray(S)&&(S.length===2||S.length===3))return new dg(Number(S[0]),Number(S[1]));if(!Array.isArray(S)&&typeof S==\"object\"&&S!==null)return new dg(Number(\"lng\"in S?S.lng:S.lon),Number(S.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\")}}let k1=2*Math.PI*cS;function bC(R){return k1*Math.cos(R*Math.PI/180)}function zw(R){return(180+R)/360}function wC(R){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+R*Math.PI/360)))/360}function Fw(R,S){return R/bC(S)}function Jx(R){return 360/Math.PI*Math.atan(Math.exp((180-360*R)*Math.PI/180))-90}class $x{constructor(S,D,j=0){this.x=+S,this.y=+D,this.z=+j}static fromLngLat(S,D=0){let j=dg.convert(S);return new $x(zw(j.lng),wC(j.lat),Fw(D,j.lat))}toLngLat(){return new dg(360*this.x-180,Jx(this.y))}toAltitude(){return this.z*bC(Jx(this.y))}meterInMercatorCoordinateUnits(){return 1/k1*(S=Jx(this.y),1/Math.cos(S*Math.PI/180));var S}}function gp(R,S,D){var j=2*Math.PI*6378137/256/Math.pow(2,D);return[R*j-2*Math.PI*6378137/2,S*j-2*Math.PI*6378137/2]}class fS{constructor(S,D,j){if(!function(te,ue,ve){return!(te<0||te>25||ve<0||ve>=Math.pow(2,te)||ue<0||ue>=Math.pow(2,te))}(S,D,j))throw new Error(`x=${D}, y=${j}, z=${S} outside of bounds. 0<=x<${Math.pow(2,S)}, 0<=y<${Math.pow(2,S)} 0<=z<=25 `);this.z=S,this.x=D,this.y=j,this.key=Qx(0,S,S,D,j)}equals(S){return this.z===S.z&&this.x===S.x&&this.y===S.y}url(S,D,j){let te=(ve=this.y,De=this.z,Ze=gp(256*(ue=this.x),256*(ve=Math.pow(2,De)-ve-1),De),at=gp(256*(ue+1),256*(ve+1),De),Ze[0]+\",\"+Ze[1]+\",\"+at[0]+\",\"+at[1]);var ue,ve,De,Ze,at;let Tt=function(Ft,Qt,sr){let Tr,Pr=\"\";for(let $r=Ft;$r>0;$r--)Tr=1<<$r-1,Pr+=(Qt&Tr?1:0)+(sr&Tr?2:0);return Pr}(this.z,this.x,this.y);return S[(this.x+this.y)%S.length].replace(/{prefix}/g,(this.x%16).toString(16)+(this.y%16).toString(16)).replace(/{z}/g,String(this.z)).replace(/{x}/g,String(this.x)).replace(/{y}/g,String(j===\"tms\"?Math.pow(2,this.z)-this.y-1:this.y)).replace(/{ratio}/g,D>1?\"@2x\":\"\").replace(/{quadkey}/g,Tt).replace(/{bbox-epsg-3857}/g,te)}isChildOf(S){let D=this.z-S.z;return D>0&&S.x===this.x>>D&&S.y===this.y>>D}getTilePoint(S){let D=Math.pow(2,this.z);return new u((S.x*D-this.x)*za,(S.y*D-this.y)*za)}toString(){return`${this.z}/${this.x}/${this.y}`}}class TC{constructor(S,D){this.wrap=S,this.canonical=D,this.key=Qx(S,D.z,D.z,D.x,D.y)}}class Jv{constructor(S,D,j,te,ue){if(S<j)throw new Error(`overscaledZ should be >= z; overscaledZ = ${S}; z = ${j}`);this.overscaledZ=S,this.wrap=D,this.canonical=new fS(j,+te,+ue),this.key=Qx(D,S,j,te,ue)}clone(){return new Jv(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(S){return this.overscaledZ===S.overscaledZ&&this.wrap===S.wrap&&this.canonical.equals(S.canonical)}scaledTo(S){if(S>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${S}; overscaledZ = ${this.overscaledZ}`);let D=this.canonical.z-S;return S>this.canonical.z?new Jv(S,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Jv(S,this.wrap,S,this.canonical.x>>D,this.canonical.y>>D)}calculateScaledKey(S,D){if(S>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${S}; overscaledZ = ${this.overscaledZ}`);let j=this.canonical.z-S;return S>this.canonical.z?Qx(this.wrap*+D,S,this.canonical.z,this.canonical.x,this.canonical.y):Qx(this.wrap*+D,S,S,this.canonical.x>>j,this.canonical.y>>j)}isChildOf(S){if(S.wrap!==this.wrap)return!1;let D=this.canonical.z-S.canonical.z;return S.overscaledZ===0||S.overscaledZ<this.overscaledZ&&S.canonical.x===this.canonical.x>>D&&S.canonical.y===this.canonical.y>>D}children(S){if(this.overscaledZ>=S)return[new Jv(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let D=this.canonical.z+1,j=2*this.canonical.x,te=2*this.canonical.y;return[new Jv(D,this.wrap,D,j,te),new Jv(D,this.wrap,D,j+1,te),new Jv(D,this.wrap,D,j,te+1),new Jv(D,this.wrap,D,j+1,te+1)]}isLessThan(S){return this.wrap<S.wrap||!(this.wrap>S.wrap)&&(this.overscaledZ<S.overscaledZ||!(this.overscaledZ>S.overscaledZ)&&(this.canonical.x<S.canonical.x||!(this.canonical.x>S.canonical.x)&&this.canonical.y<S.canonical.y))}wrapped(){return new Jv(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)}unwrapTo(S){return new Jv(this.overscaledZ,S,this.canonical.z,this.canonical.x,this.canonical.y)}overscaleFactor(){return Math.pow(2,this.overscaledZ-this.canonical.z)}toUnwrapped(){return new TC(this.wrap,this.canonical)}toString(){return`${this.overscaledZ}/${this.canonical.x}/${this.canonical.y}`}getTilePoint(S){return this.canonical.getTilePoint(new $x(S.x-this.wrap,S.y))}}function Qx(R,S,D,j,te){(R*=2)<0&&(R=-1*R-1);let ue=1<<D;return(ue*ue*R+ue*te+j).toString(36)+D.toString(36)+S.toString(36)}mi(\"CanonicalTileID\",fS),mi(\"OverscaledTileID\",Jv,{omit:[\"posMatrix\"]});class AC{constructor(S,D,j,te=1,ue=1,ve=1,De=0){if(this.uid=S,D.height!==D.width)throw new RangeError(\"DEM tiles must be square\");if(j&&![\"mapbox\",\"terrarium\",\"custom\"].includes(j))return void T(`\"${j}\" is not a valid encoding type. Valid types include \"mapbox\", \"terrarium\" and \"custom\".`);this.stride=D.height;let Ze=this.dim=D.height-2;switch(this.data=new Uint32Array(D.data.buffer),j){case\"terrarium\":this.redFactor=256,this.greenFactor=1,this.blueFactor=1/256,this.baseShift=32768;break;case\"custom\":this.redFactor=te,this.greenFactor=ue,this.blueFactor=ve,this.baseShift=De;break;default:this.redFactor=6553.6,this.greenFactor=25.6,this.blueFactor=.1,this.baseShift=1e4}for(let at=0;at<Ze;at++)this.data[this._idx(-1,at)]=this.data[this._idx(0,at)],this.data[this._idx(Ze,at)]=this.data[this._idx(Ze-1,at)],this.data[this._idx(at,-1)]=this.data[this._idx(at,0)],this.data[this._idx(at,Ze)]=this.data[this._idx(at,Ze-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(Ze,-1)]=this.data[this._idx(Ze-1,0)],this.data[this._idx(-1,Ze)]=this.data[this._idx(0,Ze-1)],this.data[this._idx(Ze,Ze)]=this.data[this._idx(Ze-1,Ze-1)],this.min=Number.MAX_SAFE_INTEGER,this.max=Number.MIN_SAFE_INTEGER;for(let at=0;at<Ze;at++)for(let Tt=0;Tt<Ze;Tt++){let Ft=this.get(at,Tt);Ft>this.max&&(this.max=Ft),Ft<this.min&&(this.min=Ft)}}get(S,D){let j=new Uint8Array(this.data.buffer),te=4*this._idx(S,D);return this.unpack(j[te],j[te+1],j[te+2])}getUnpackVector(){return[this.redFactor,this.greenFactor,this.blueFactor,this.baseShift]}_idx(S,D){if(S<-1||S>=this.dim+1||D<-1||D>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(D+1)*this.stride+(S+1)}unpack(S,D,j){return S*this.redFactor+D*this.greenFactor+j*this.blueFactor-this.baseShift}getPixels(){return new Jn({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(S,D,j){if(this.dim!==S.dim)throw new Error(\"dem dimension mismatch\");let te=D*this.dim,ue=D*this.dim+this.dim,ve=j*this.dim,De=j*this.dim+this.dim;switch(D){case-1:te=ue-1;break;case 1:ue=te+1}switch(j){case-1:ve=De-1;break;case 1:De=ve+1}let Ze=-D*this.dim,at=-j*this.dim;for(let Tt=ve;Tt<De;Tt++)for(let Ft=te;Ft<ue;Ft++)this.data[this._idx(Ft,Tt)]=S.data[this._idx(Ft+Ze,Tt+at)]}}mi(\"DEMData\",AC);class SC{constructor(S){this._stringToNumber={},this._numberToString=[];for(let D=0;D<S.length;D++){let j=S[D];this._stringToNumber[j]=D,this._numberToString[D]=j}}encode(S){return this._stringToNumber[S]}decode(S){if(S>=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${S} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[S]}}class hS{constructor(S,D,j,te,ue){this.type=\"Feature\",this._vectorTileFeature=S,S._z=D,S._x=j,S._y=te,this.properties=S.properties,this.id=ue}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(S){this._geometry=S}toJSON(){let S={geometry:this.geometry};for(let D in this)D!==\"_geometry\"&&D!==\"_vectorTileFeature\"&&(S[D]=this[D]);return S}}class cy{constructor(S,D){this.tileID=S,this.x=S.canonical.x,this.y=S.canonical.y,this.z=S.canonical.z,this.grid=new qi(za,16,0),this.grid3D=new qi(za,16,0),this.featureIndexArray=new As,this.promoteId=D}insert(S,D,j,te,ue,ve){let De=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(j,te,ue);let Ze=ve?this.grid3D:this.grid;for(let at=0;at<D.length;at++){let Tt=D[at],Ft=[1/0,1/0,-1/0,-1/0];for(let Qt=0;Qt<Tt.length;Qt++){let sr=Tt[Qt];Ft[0]=Math.min(Ft[0],sr.x),Ft[1]=Math.min(Ft[1],sr.y),Ft[2]=Math.max(Ft[2],sr.x),Ft[3]=Math.max(Ft[3],sr.y)}Ft[0]<za&&Ft[1]<za&&Ft[2]>=0&&Ft[3]>=0&&Ze.insert(De,Ft[0],Ft[1],Ft[2],Ft[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new ei.VectorTile(new eS(this.rawTileData)).layers,this.sourceLayerCoder=new SC(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers}query(S,D,j,te){this.loadVTLayers();let ue=S.params||{},ve=za/S.tileSize/S.scale,De=Pc(ue.filter),Ze=S.queryGeometry,at=S.queryPadding*ve,Tt=EC(Ze),Ft=this.grid.query(Tt.minX-at,Tt.minY-at,Tt.maxX+at,Tt.maxY+at),Qt=EC(S.cameraQueryGeometry),sr=this.grid3D.query(Qt.minX-at,Qt.minY-at,Qt.maxX+at,Qt.maxY+at,($r,ni,Di,pi)=>function(ki,Zi,ta,Va,Io){for(let Hn of ki)if(Zi<=Hn.x&&ta<=Hn.y&&Va>=Hn.x&&Io>=Hn.y)return!0;let La=[new u(Zi,ta),new u(Zi,Io),new u(Va,Io),new u(Va,ta)];if(ki.length>2){for(let Hn of La)if(On(ki,Hn))return!0}for(let Hn=0;Hn<ki.length-1;Hn++)if(Bn(ki[Hn],ki[Hn+1],La))return!0;return!1}(S.cameraQueryGeometry,$r-at,ni-at,Di+at,pi+at));for(let $r of sr)Ft.push($r);Ft.sort(j9);let Tr={},Pr;for(let $r=0;$r<Ft.length;$r++){let ni=Ft[$r];if(ni===Pr)continue;Pr=ni;let Di=this.featureIndexArray.get(ni),pi=null;this.loadMatchingFeature(Tr,Di.bucketIndex,Di.sourceLayerIndex,Di.featureIndex,De,ue.layers,ue.availableImages,D,j,te,(ki,Zi,ta)=>(pi||(pi=js(ki)),Zi.queryIntersectsFeature(Ze,ki,ta,pi,this.z,S.transform,ve,S.pixelPosMatrix)))}return Tr}loadMatchingFeature(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft){let Qt=this.bucketLayerIDs[D];if(ve&&!function($r,ni){for(let Di=0;Di<$r.length;Di++)if(ni.indexOf($r[Di])>=0)return!0;return!1}(ve,Qt))return;let sr=this.sourceLayerCoder.decode(j),Tr=this.vtLayers[sr].feature(te);if(ue.needGeometry){let $r=xl(Tr,!0);if(!ue.filter(new Ko(this.tileID.overscaledZ),$r,this.tileID.canonical))return}else if(!ue.filter(new Ko(this.tileID.overscaledZ),Tr))return;let Pr=this.getId(Tr,sr);for(let $r=0;$r<Qt.length;$r++){let ni=Qt[$r];if(ve&&ve.indexOf(ni)<0)continue;let Di=Ze[ni];if(!Di)continue;let pi={};Pr&&Tt&&(pi=Tt.getState(Di.sourceLayer||\"_geojsonTileLayer\",Pr));let ki=L({},at[ni]);ki.paint=MC(ki.paint,Di.paint,Tr,pi,De),ki.layout=MC(ki.layout,Di.layout,Tr,pi,De);let Zi=!Ft||Ft(Tr,Di,pi);if(!Zi)continue;let ta=new hS(Tr,this.z,this.x,this.y,Pr);ta.layer=ki;let Va=S[ni];Va===void 0&&(Va=S[ni]=[]),Va.push({featureIndex:te,feature:ta,intersectionZ:Zi})}}lookupSymbolFeatures(S,D,j,te,ue,ve,De,Ze){let at={};this.loadVTLayers();let Tt=Pc(ue);for(let Ft of S)this.loadMatchingFeature(at,j,te,Ft,Tt,ve,De,Ze,D);return at}hasLayer(S){for(let D of this.bucketLayerIDs)for(let j of D)if(S===j)return!0;return!1}getId(S,D){let j=S.id;return this.promoteId&&(j=S.properties[typeof this.promoteId==\"string\"?this.promoteId:this.promoteId[D]],typeof j==\"boolean\"&&(j=Number(j))),j}}function MC(R,S,D,j,te){return C(R,(ue,ve)=>{let De=S instanceof Dc?S.get(ve):null;return De&&De.evaluate?De.evaluate(D,j,te):De})}function EC(R){let S=1/0,D=1/0,j=-1/0,te=-1/0;for(let ue of R)S=Math.min(S,ue.x),D=Math.min(D,ue.y),j=Math.max(j,ue.x),te=Math.max(te,ue.y);return{minX:S,minY:D,maxX:j,maxY:te}}function j9(R,S){return S-R}function kC(R,S,D,j,te){let ue=[];for(let ve=0;ve<R.length;ve++){let De=R[ve],Ze;for(let at=0;at<De.length-1;at++){let Tt=De[at],Ft=De[at+1];Tt.x<S&&Ft.x<S||(Tt.x<S?Tt=new u(S,Tt.y+(S-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round():Ft.x<S&&(Ft=new u(S,Tt.y+(S-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round()),Tt.y<D&&Ft.y<D||(Tt.y<D?Tt=new u(Tt.x+(D-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),D)._round():Ft.y<D&&(Ft=new u(Tt.x+(D-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),D)._round()),Tt.x>=j&&Ft.x>=j||(Tt.x>=j?Tt=new u(j,Tt.y+(j-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round():Ft.x>=j&&(Ft=new u(j,Tt.y+(j-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round()),Tt.y>=te&&Ft.y>=te||(Tt.y>=te?Tt=new u(Tt.x+(te-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),te)._round():Ft.y>=te&&(Ft=new u(Tt.x+(te-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),te)._round()),Ze&&Tt.equals(Ze[Ze.length-1])||(Ze=[Tt],ue.push(Ze)),Ze.push(Ft)))))}}return ue}mi(\"FeatureIndex\",cy,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});class vg extends u{constructor(S,D,j,te){super(S,D),this.angle=j,te!==void 0&&(this.segment=te)}clone(){return new vg(this.x,this.y,this.angle,this.segment)}}function dS(R,S,D,j,te){if(S.segment===void 0||D===0)return!0;let ue=S,ve=S.segment+1,De=0;for(;De>-D/2;){if(ve--,ve<0)return!1;De-=R[ve].dist(ue),ue=R[ve]}De+=R[ve].dist(R[ve+1]),ve++;let Ze=[],at=0;for(;De<D/2;){let Tt=R[ve],Ft=R[ve+1];if(!Ft)return!1;let Qt=R[ve-1].angleTo(Tt)-Tt.angleTo(Ft);for(Qt=Math.abs((Qt+3*Math.PI)%(2*Math.PI)-Math.PI),Ze.push({distance:De,angleDelta:Qt}),at+=Qt;De-Ze[0].distance>j;)at-=Ze.shift().angleDelta;if(at>te)return!1;ve++,De+=Tt.dist(Ft)}return!0}function CC(R){let S=0;for(let D=0;D<R.length-1;D++)S+=R[D].dist(R[D+1]);return S}function LC(R,S,D){return R?.6*S*D:0}function PC(R,S){return Math.max(R?R.right-R.left:0,S?S.right-S.left:0)}function W9(R,S,D,j,te,ue){let ve=LC(D,te,ue),De=PC(D,j)*ue,Ze=0,at=CC(R)/2;for(let Tt=0;Tt<R.length-1;Tt++){let Ft=R[Tt],Qt=R[Tt+1],sr=Ft.dist(Qt);if(Ze+sr>at){let Tr=(at-Ze)/sr,Pr=Mo.number(Ft.x,Qt.x,Tr),$r=Mo.number(Ft.y,Qt.y,Tr),ni=new vg(Pr,$r,Qt.angleTo(Ft),Tt);return ni._round(),!ve||dS(R,ni,De,ve,S)?ni:void 0}Ze+=sr}}function Z9(R,S,D,j,te,ue,ve,De,Ze){let at=LC(j,ue,ve),Tt=PC(j,te),Ft=Tt*ve,Qt=R[0].x===0||R[0].x===Ze||R[0].y===0||R[0].y===Ze;return S-Ft<S/4&&(S=Ft+S/4),IC(R,Qt?S/2*De%S:(Tt/2+2*ue)*ve*De%S,S,at,D,Ft,Qt,!1,Ze)}function IC(R,S,D,j,te,ue,ve,De,Ze){let at=ue/2,Tt=CC(R),Ft=0,Qt=S-D,sr=[];for(let Tr=0;Tr<R.length-1;Tr++){let Pr=R[Tr],$r=R[Tr+1],ni=Pr.dist($r),Di=$r.angleTo(Pr);for(;Qt+D<Ft+ni;){Qt+=D;let pi=(Qt-Ft)/ni,ki=Mo.number(Pr.x,$r.x,pi),Zi=Mo.number(Pr.y,$r.y,pi);if(ki>=0&&ki<Ze&&Zi>=0&&Zi<Ze&&Qt-at>=0&&Qt+at<=Tt){let ta=new vg(ki,Zi,Di,Tr);ta._round(),j&&!dS(R,ta,ue,j,te)||sr.push(ta)}}Ft+=ni}return De||sr.length||ve||(sr=IC(R,Ft/2,D,j,te,ue,ve,!0,Ze)),sr}mi(\"Anchor\",vg);let C1=wd;function RC(R,S,D,j){let te=[],ue=R.image,ve=ue.pixelRatio,De=ue.paddedRect.w-2*C1,Ze=ue.paddedRect.h-2*C1,at={x1:R.left,y1:R.top,x2:R.right,y2:R.bottom},Tt=ue.stretchX||[[0,De]],Ft=ue.stretchY||[[0,Ze]],Qt=(Tn,bo)=>Tn+bo[1]-bo[0],sr=Tt.reduce(Qt,0),Tr=Ft.reduce(Qt,0),Pr=De-sr,$r=Ze-Tr,ni=0,Di=sr,pi=0,ki=Tr,Zi=0,ta=Pr,Va=0,Io=$r;if(ue.content&&j){let Tn=ue.content,bo=Tn[2]-Tn[0],Ya=Tn[3]-Tn[1];(ue.textFitWidth||ue.textFitHeight)&&(at=gC(R)),ni=pg(Tt,0,Tn[0]),pi=pg(Ft,0,Tn[1]),Di=pg(Tt,Tn[0],Tn[2]),ki=pg(Ft,Tn[1],Tn[3]),Zi=Tn[0]-ni,Va=Tn[1]-pi,ta=bo-Di,Io=Ya-ki}let La=at.x1,Hn=at.y1,lo=at.x2-La,$a=at.y2-Hn,Xa=(Tn,bo,Ya,Uo)=>{let wu=qw(Tn.stretch-ni,Di,lo,La),hu=L1(Tn.fixed-Zi,ta,Tn.stretch,sr),uh=qw(bo.stretch-pi,ki,$a,Hn),$v=L1(bo.fixed-Va,Io,bo.stretch,Tr),td=qw(Ya.stretch-ni,Di,lo,La),ch=L1(Ya.fixed-Zi,ta,Ya.stretch,sr),Ud=qw(Uo.stretch-pi,ki,$a,Hn),Vd=L1(Uo.fixed-Va,Io,Uo.stretch,Tr),Hd=new u(wu,uh),rf=new u(td,uh),fh=new u(td,Ud),Td=new u(wu,Ud),rd=new u(hu/ve,$v/ve),Dh=new u(ch/ve,Vd/ve),xf=S*Math.PI/180;if(xf){let Cl=Math.sin(xf),qu=Math.cos(xf),Tu=[qu,-Cl,Cl,qu];Hd._matMult(Tu),rf._matMult(Tu),Td._matMult(Tu),fh._matMult(Tu)}let Iv=Tn.stretch+Tn.fixed,lv=bo.stretch+bo.fixed;return{tl:Hd,tr:rf,bl:Td,br:fh,tex:{x:ue.paddedRect.x+C1+Iv,y:ue.paddedRect.y+C1+lv,w:Ya.stretch+Ya.fixed-Iv,h:Uo.stretch+Uo.fixed-lv},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:rd,pixelOffsetBR:Dh,minFontScaleX:ta/ve/lo,minFontScaleY:Io/ve/$a,isSDF:D}};if(j&&(ue.stretchX||ue.stretchY)){let Tn=DC(Tt,Pr,sr),bo=DC(Ft,$r,Tr);for(let Ya=0;Ya<Tn.length-1;Ya++){let Uo=Tn[Ya],wu=Tn[Ya+1];for(let hu=0;hu<bo.length-1;hu++)te.push(Xa(Uo,bo[hu],wu,bo[hu+1]))}}else te.push(Xa({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:De+1},{fixed:0,stretch:Ze+1}));return te}function pg(R,S,D){let j=0;for(let te of R)j+=Math.max(S,Math.min(D,te[1]))-Math.max(S,Math.min(D,te[0]));return j}function DC(R,S,D){let j=[{fixed:-C1,stretch:0}];for(let[te,ue]of R){let ve=j[j.length-1];j.push({fixed:te-ve.stretch,stretch:ve.stretch}),j.push({fixed:te-ve.stretch,stretch:ve.stretch+(ue-te)})}return j.push({fixed:S+C1,stretch:D}),j}function qw(R,S,D,j){return R/S*D+j}function L1(R,S,D,j){return R-S*D/j}class cm{constructor(S,D,j,te,ue,ve,De,Ze,at,Tt){var Ft;if(this.boxStartIndex=S.length,at){let Qt=ve.top,sr=ve.bottom,Tr=ve.collisionPadding;Tr&&(Qt-=Tr[1],sr+=Tr[3]);let Pr=sr-Qt;Pr>0&&(Pr=Math.max(10,Pr),this.circleDiameter=Pr)}else{let Qt=!((Ft=ve.image)===null||Ft===void 0)&&Ft.content&&(ve.image.textFitWidth||ve.image.textFitHeight)?gC(ve):{x1:ve.left,y1:ve.top,x2:ve.right,y2:ve.bottom};Qt.y1=Qt.y1*De-Ze[0],Qt.y2=Qt.y2*De+Ze[2],Qt.x1=Qt.x1*De-Ze[3],Qt.x2=Qt.x2*De+Ze[1];let sr=ve.collisionPadding;if(sr&&(Qt.x1-=sr[0]*De,Qt.y1-=sr[1]*De,Qt.x2+=sr[2]*De,Qt.y2+=sr[3]*De),Tt){let Tr=new u(Qt.x1,Qt.y1),Pr=new u(Qt.x2,Qt.y1),$r=new u(Qt.x1,Qt.y2),ni=new u(Qt.x2,Qt.y2),Di=Tt*Math.PI/180;Tr._rotate(Di),Pr._rotate(Di),$r._rotate(Di),ni._rotate(Di),Qt.x1=Math.min(Tr.x,Pr.x,$r.x,ni.x),Qt.x2=Math.max(Tr.x,Pr.x,$r.x,ni.x),Qt.y1=Math.min(Tr.y,Pr.y,$r.y,ni.y),Qt.y2=Math.max(Tr.y,Pr.y,$r.y,ni.y)}S.emplaceBack(D.x,D.y,Qt.x1,Qt.y1,Qt.x2,Qt.y2,j,te,ue)}this.boxEndIndex=S.length}}class Hp{constructor(S=[],D=(j,te)=>j<te?-1:j>te?1:0){if(this.data=S,this.length=this.data.length,this.compare=D,this.length>0)for(let j=(this.length>>1)-1;j>=0;j--)this._down(j)}push(S){this.data.push(S),this._up(this.length++)}pop(){if(this.length===0)return;let S=this.data[0],D=this.data.pop();return--this.length>0&&(this.data[0]=D,this._down(0)),S}peek(){return this.data[0]}_up(S){let{data:D,compare:j}=this,te=D[S];for(;S>0;){let ue=S-1>>1,ve=D[ue];if(j(te,ve)>=0)break;D[S]=ve,S=ue}D[S]=te}_down(S){let{data:D,compare:j}=this,te=this.length>>1,ue=D[S];for(;S<te;){let ve=1+(S<<1),De=ve+1;if(De<this.length&&j(D[De],D[ve])<0&&(ve=De),j(D[ve],ue)>=0)break;D[S]=D[ve],S=ve}D[S]=ue}}function X9(R,S=1,D=!1){let j=1/0,te=1/0,ue=-1/0,ve=-1/0,De=R[0];for(let sr=0;sr<De.length;sr++){let Tr=De[sr];(!sr||Tr.x<j)&&(j=Tr.x),(!sr||Tr.y<te)&&(te=Tr.y),(!sr||Tr.x>ue)&&(ue=Tr.x),(!sr||Tr.y>ve)&&(ve=Tr.y)}let Ze=Math.min(ue-j,ve-te),at=Ze/2,Tt=new Hp([],Y9);if(Ze===0)return new u(j,te);for(let sr=j;sr<ue;sr+=Ze)for(let Tr=te;Tr<ve;Tr+=Ze)Tt.push(new P1(sr+at,Tr+at,at,R));let Ft=function(sr){let Tr=0,Pr=0,$r=0,ni=sr[0];for(let Di=0,pi=ni.length,ki=pi-1;Di<pi;ki=Di++){let Zi=ni[Di],ta=ni[ki],Va=Zi.x*ta.y-ta.x*Zi.y;Pr+=(Zi.x+ta.x)*Va,$r+=(Zi.y+ta.y)*Va,Tr+=3*Va}return new P1(Pr/Tr,$r/Tr,0,sr)}(R),Qt=Tt.length;for(;Tt.length;){let sr=Tt.pop();(sr.d>Ft.d||!Ft.d)&&(Ft=sr,D&&console.log(\"found best %d after %d probes\",Math.round(1e4*sr.d)/1e4,Qt)),sr.max-Ft.d<=S||(at=sr.h/2,Tt.push(new P1(sr.p.x-at,sr.p.y-at,at,R)),Tt.push(new P1(sr.p.x+at,sr.p.y-at,at,R)),Tt.push(new P1(sr.p.x-at,sr.p.y+at,at,R)),Tt.push(new P1(sr.p.x+at,sr.p.y+at,at,R)),Qt+=4)}return D&&(console.log(`num probes: ${Qt}`),console.log(`best distance: ${Ft.d}`)),Ft.p}function Y9(R,S){return S.max-R.max}function P1(R,S,D,j){this.p=new u(R,S),this.h=D,this.d=function(te,ue){let ve=!1,De=1/0;for(let Ze=0;Ze<ue.length;Ze++){let at=ue[Ze];for(let Tt=0,Ft=at.length,Qt=Ft-1;Tt<Ft;Qt=Tt++){let sr=at[Tt],Tr=at[Qt];sr.y>te.y!=Tr.y>te.y&&te.x<(Tr.x-sr.x)*(te.y-sr.y)/(Tr.y-sr.y)+sr.x&&(ve=!ve),De=Math.min(De,Bi(te,sr,Tr))}}return(ve?1:-1)*Math.sqrt(De)}(this.p,j),this.max=this.d+this.h*Math.SQRT2}var ed;i.aq=void 0,(ed=i.aq||(i.aq={}))[ed.center=1]=\"center\",ed[ed.left=2]=\"left\",ed[ed.right=3]=\"right\",ed[ed.top=4]=\"top\",ed[ed.bottom=5]=\"bottom\",ed[ed[\"top-left\"]=6]=\"top-left\",ed[ed[\"top-right\"]=7]=\"top-right\",ed[ed[\"bottom-left\"]=8]=\"bottom-left\",ed[ed[\"bottom-right\"]=9]=\"bottom-right\";let fm=7,fy=Number.POSITIVE_INFINITY;function vS(R,S){return S[1]!==fy?function(D,j,te){let ue=0,ve=0;switch(j=Math.abs(j),te=Math.abs(te),D){case\"top-right\":case\"top-left\":case\"top\":ve=te-fm;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":ve=-te+fm}switch(D){case\"top-right\":case\"bottom-right\":case\"right\":ue=-j;break;case\"top-left\":case\"bottom-left\":case\"left\":ue=j}return[ue,ve]}(R,S[0],S[1]):function(D,j){let te=0,ue=0;j<0&&(j=0);let ve=j/Math.SQRT2;switch(D){case\"top-right\":case\"top-left\":ue=ve-fm;break;case\"bottom-right\":case\"bottom-left\":ue=-ve+fm;break;case\"bottom\":ue=-j+fm;break;case\"top\":ue=j-fm}switch(D){case\"top-right\":case\"bottom-right\":te=-ve;break;case\"top-left\":case\"bottom-left\":te=ve;break;case\"left\":te=j;break;case\"right\":te=-j}return[te,ue]}(R,S[0])}function zC(R,S,D){var j;let te=R.layout,ue=(j=te.get(\"text-variable-anchor-offset\"))===null||j===void 0?void 0:j.evaluate(S,{},D);if(ue){let De=ue.values,Ze=[];for(let at=0;at<De.length;at+=2){let Tt=Ze[at]=De[at],Ft=De[at+1].map(Qt=>Qt*kl);Tt.startsWith(\"top\")?Ft[1]-=fm:Tt.startsWith(\"bottom\")&&(Ft[1]+=fm),Ze[at+1]=Ft}return new Si(Ze)}let ve=te.get(\"text-variable-anchor\");if(ve){let De;De=R._unevaluatedLayout.getValue(\"text-radial-offset\")!==void 0?[te.get(\"text-radial-offset\").evaluate(S,{},D)*kl,fy]:te.get(\"text-offset\").evaluate(S,{},D).map(at=>at*kl);let Ze=[];for(let at of ve)Ze.push(at,vS(at,De));return new Si(Ze)}return null}function pS(R){switch(R){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function K9(R,S,D,j,te,ue,ve,De,Ze,at,Tt){let Ft=ue.textMaxSize.evaluate(S,{});Ft===void 0&&(Ft=ve);let Qt=R.layers[0].layout,sr=Qt.get(\"icon-offset\").evaluate(S,{},Tt),Tr=qC(D.horizontal),Pr=ve/24,$r=R.tilePixelRatio*Pr,ni=R.tilePixelRatio*Ft/24,Di=R.tilePixelRatio*De,pi=R.tilePixelRatio*Qt.get(\"symbol-spacing\"),ki=Qt.get(\"text-padding\")*R.tilePixelRatio,Zi=function(Tn,bo,Ya,Uo=1){let wu=Tn.get(\"icon-padding\").evaluate(bo,{},Ya),hu=wu&&wu.values;return[hu[0]*Uo,hu[1]*Uo,hu[2]*Uo,hu[3]*Uo]}(Qt,S,Tt,R.tilePixelRatio),ta=Qt.get(\"text-max-angle\")/180*Math.PI,Va=Qt.get(\"text-rotation-alignment\")!==\"viewport\"&&Qt.get(\"symbol-placement\")!==\"point\",Io=Qt.get(\"icon-rotation-alignment\")===\"map\"&&Qt.get(\"symbol-placement\")!==\"point\",La=Qt.get(\"symbol-placement\"),Hn=pi/2,lo=Qt.get(\"icon-text-fit\"),$a;j&&lo!==\"none\"&&(R.allowVerticalPlacement&&D.vertical&&($a=mC(j,D.vertical,lo,Qt.get(\"icon-text-fit-padding\"),sr,Pr)),Tr&&(j=mC(j,Tr,lo,Qt.get(\"icon-text-fit-padding\"),sr,Pr)));let Xa=(Tn,bo)=>{bo.x<0||bo.x>=za||bo.y<0||bo.y>=za||function(Ya,Uo,wu,hu,uh,$v,td,ch,Ud,Vd,Hd,rf,fh,Td,rd,Dh,xf,Iv,lv,Cl,qu,Tu,Rv,qc,I1){let p0=Ya.addToLineVertexArray(Uo,wu),Gp,Qv,oc,If,ep=0,gg=0,uv=0,R1=0,xS=-1,Uw=-1,g0={},hy=ui(\"\");if(Ya.allowVerticalPlacement&&hu.vertical){let Ad=ch.layout.get(\"text-rotate\").evaluate(qu,{},qc)+90;oc=new cm(Ud,Uo,Vd,Hd,rf,hu.vertical,fh,Td,rd,Ad),td&&(If=new cm(Ud,Uo,Vd,Hd,rf,td,xf,Iv,rd,Ad))}if(uh){let Ad=ch.layout.get(\"icon-rotate\").evaluate(qu,{}),tp=ch.layout.get(\"icon-text-fit\")!==\"none\",hm=RC(uh,Ad,Rv,tp),Gd=td?RC(td,Ad,Rv,tp):void 0;Qv=new cm(Ud,Uo,Vd,Hd,rf,uh,xf,Iv,!1,Ad),ep=4*hm.length;let Sd=Ya.iconSizeData,yp=null;Sd.kind===\"source\"?(yp=[v0*ch.layout.get(\"icon-size\").evaluate(qu,{})],yp[0]>lm&&T(`${Ya.layerIds[0]}: Value for \"icon-size\" is >= ${Wx}. Reduce your \"icon-size\".`)):Sd.kind===\"composite\"&&(yp=[v0*Tu.compositeIconSizes[0].evaluate(qu,{},qc),v0*Tu.compositeIconSizes[1].evaluate(qu,{},qc)],(yp[0]>lm||yp[1]>lm)&&T(`${Ya.layerIds[0]}: Value for \"icon-size\" is >= ${Wx}. Reduce your \"icon-size\".`)),Ya.addSymbols(Ya.icon,hm,yp,Cl,lv,qu,i.ah.none,Uo,p0.lineStartIndex,p0.lineLength,-1,qc),xS=Ya.icon.placedSymbolArray.length-1,Gd&&(gg=4*Gd.length,Ya.addSymbols(Ya.icon,Gd,yp,Cl,lv,qu,i.ah.vertical,Uo,p0.lineStartIndex,p0.lineLength,-1,qc),Uw=Ya.icon.placedSymbolArray.length-1)}let zh=Object.keys(hu.horizontal);for(let Ad of zh){let tp=hu.horizontal[Ad];if(!Gp){hy=ui(tp.text);let Gd=ch.layout.get(\"text-rotate\").evaluate(qu,{},qc);Gp=new cm(Ud,Uo,Vd,Hd,rf,tp,fh,Td,rd,Gd)}let hm=tp.positionedLines.length===1;if(uv+=FC(Ya,Uo,tp,$v,ch,rd,qu,Dh,p0,hu.vertical?i.ah.horizontal:i.ah.horizontalOnly,hm?zh:[Ad],g0,xS,Tu,qc),hm)break}hu.vertical&&(R1+=FC(Ya,Uo,hu.vertical,$v,ch,rd,qu,Dh,p0,i.ah.vertical,[\"vertical\"],g0,Uw,Tu,qc));let Q9=Gp?Gp.boxStartIndex:Ya.collisionBoxArray.length,Vw=Gp?Gp.boxEndIndex:Ya.collisionBoxArray.length,m0=oc?oc.boxStartIndex:Ya.collisionBoxArray.length,cv=oc?oc.boxEndIndex:Ya.collisionBoxArray.length,UC=Qv?Qv.boxStartIndex:Ya.collisionBoxArray.length,eq=Qv?Qv.boxEndIndex:Ya.collisionBoxArray.length,VC=If?If.boxStartIndex:Ya.collisionBoxArray.length,tq=If?If.boxEndIndex:Ya.collisionBoxArray.length,mp=-1,rb=(Ad,tp)=>Ad&&Ad.circleDiameter?Math.max(Ad.circleDiameter,tp):tp;mp=rb(Gp,mp),mp=rb(oc,mp),mp=rb(Qv,mp),mp=rb(If,mp);let Hw=mp>-1?1:0;Hw&&(mp*=I1/kl),Ya.glyphOffsetArray.length>=E1.MAX_GLYPHS&&T(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),qu.sortKey!==void 0&&Ya.addToSortKeyRanges(Ya.symbolInstances.length,qu.sortKey);let bS=zC(ch,qu,qc),[rq,iq]=function(Ad,tp){let hm=Ad.length,Gd=tp==null?void 0:tp.values;if((Gd==null?void 0:Gd.length)>0)for(let Sd=0;Sd<Gd.length;Sd+=2){let yp=Gd[Sd+1];Ad.emplaceBack(i.aq[Gd[Sd]],yp[0],yp[1])}return[hm,Ad.length]}(Ya.textAnchorOffsets,bS);Ya.symbolInstances.emplaceBack(Uo.x,Uo.y,g0.right>=0?g0.right:-1,g0.center>=0?g0.center:-1,g0.left>=0?g0.left:-1,g0.vertical||-1,xS,Uw,hy,Q9,Vw,m0,cv,UC,eq,VC,tq,Vd,uv,R1,ep,gg,Hw,0,fh,mp,rq,iq)}(R,bo,Tn,D,j,te,$a,R.layers[0],R.collisionBoxArray,S.index,S.sourceLayerIndex,R.index,$r,[ki,ki,ki,ki],Va,Ze,Di,Zi,Io,sr,S,ue,at,Tt,ve)};if(La===\"line\")for(let Tn of kC(S.geometry,0,0,za,za)){let bo=Z9(Tn,pi,ta,D.vertical||Tr,j,24,ni,R.overscaling,za);for(let Ya of bo)Tr&&J9(R,Tr.text,Hn,Ya)||Xa(Tn,Ya)}else if(La===\"line-center\"){for(let Tn of S.geometry)if(Tn.length>1){let bo=W9(Tn,ta,D.vertical||Tr,j,24,ni);bo&&Xa(Tn,bo)}}else if(S.type===\"Polygon\")for(let Tn of Of(S.geometry,0)){let bo=X9(Tn,16);Xa(Tn[0],new vg(bo.x,bo.y,0))}else if(S.type===\"LineString\")for(let Tn of S.geometry)Xa(Tn,new vg(Tn[0].x,Tn[0].y,0));else if(S.type===\"Point\")for(let Tn of S.geometry)for(let bo of Tn)Xa([bo],new vg(bo.x,bo.y,0))}function FC(R,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr){let Pr=function(Di,pi,ki,Zi,ta,Va,Io,La){let Hn=Zi.layout.get(\"text-rotate\").evaluate(Va,{})*Math.PI/180,lo=[];for(let $a of pi.positionedLines)for(let Xa of $a.positionedGlyphs){if(!Xa.rect)continue;let Tn=Xa.rect||{},bo=hC+1,Ya=!0,Uo=1,wu=0,hu=(ta||La)&&Xa.vertical,uh=Xa.metrics.advance*Xa.scale/2;if(La&&pi.verticalizable&&(wu=$a.lineOffset/2-(Xa.imageName?-(kl-Xa.metrics.width*Xa.scale)/2:(Xa.scale-1)*kl)),Xa.imageName){let Cl=Io[Xa.imageName];Ya=Cl.sdf,Uo=Cl.pixelRatio,bo=wd/Uo}let $v=ta?[Xa.x+uh,Xa.y]:[0,0],td=ta?[0,0]:[Xa.x+uh+ki[0],Xa.y+ki[1]-wu],ch=[0,0];hu&&(ch=td,td=[0,0]);let Ud=Xa.metrics.isDoubleResolution?2:1,Vd=(Xa.metrics.left-bo)*Xa.scale-uh+td[0],Hd=(-Xa.metrics.top-bo)*Xa.scale+td[1],rf=Vd+Tn.w/Ud*Xa.scale/Uo,fh=Hd+Tn.h/Ud*Xa.scale/Uo,Td=new u(Vd,Hd),rd=new u(rf,Hd),Dh=new u(Vd,fh),xf=new u(rf,fh);if(hu){let Cl=new u(-uh,uh-lh),qu=-Math.PI/2,Tu=kl/2-uh,Rv=new u(5-lh-Tu,-(Xa.imageName?Tu:0)),qc=new u(...ch);Td._rotateAround(qu,Cl)._add(Rv)._add(qc),rd._rotateAround(qu,Cl)._add(Rv)._add(qc),Dh._rotateAround(qu,Cl)._add(Rv)._add(qc),xf._rotateAround(qu,Cl)._add(Rv)._add(qc)}if(Hn){let Cl=Math.sin(Hn),qu=Math.cos(Hn),Tu=[qu,-Cl,Cl,qu];Td._matMult(Tu),rd._matMult(Tu),Dh._matMult(Tu),xf._matMult(Tu)}let Iv=new u(0,0),lv=new u(0,0);lo.push({tl:Td,tr:rd,bl:Dh,br:xf,tex:Tn,writingMode:pi.writingMode,glyphOffset:$v,sectionIndex:Xa.sectionIndex,isSDF:Ya,pixelOffsetTL:Iv,pixelOffsetBR:lv,minFontScaleX:0,minFontScaleY:0})}return lo}(0,D,De,te,ue,ve,j,R.allowVerticalPlacement),$r=R.textSizeData,ni=null;$r.kind===\"source\"?(ni=[v0*te.layout.get(\"text-size\").evaluate(ve,{})],ni[0]>lm&&T(`${R.layerIds[0]}: Value for \"text-size\" is >= ${Wx}. Reduce your \"text-size\".`)):$r.kind===\"composite\"&&(ni=[v0*sr.compositeTextSizes[0].evaluate(ve,{},Tr),v0*sr.compositeTextSizes[1].evaluate(ve,{},Tr)],(ni[0]>lm||ni[1]>lm)&&T(`${R.layerIds[0]}: Value for \"text-size\" is >= ${Wx}. Reduce your \"text-size\".`)),R.addSymbols(R.text,Pr,ni,De,ue,ve,at,S,Ze.lineStartIndex,Ze.lineLength,Qt,Tr);for(let Di of Tt)Ft[Di]=R.text.placedSymbolArray.length-1;return 4*Pr.length}function qC(R){for(let S in R)return R[S];return null}function J9(R,S,D,j){let te=R.compareText;if(S in te){let ue=te[S];for(let ve=ue.length-1;ve>=0;ve--)if(j.dist(ue[ve])<D)return!0}else te[S]=[];return te[S].push(j),!1}let OC=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class gS{static from(S){if(!(S instanceof ArrayBuffer))throw new Error(\"Data must be an instance of ArrayBuffer.\");let[D,j]=new Uint8Array(S,0,2);if(D!==219)throw new Error(\"Data does not appear to be in a KDBush format.\");let te=j>>4;if(te!==1)throw new Error(`Got v${te} data when expected v1.`);let ue=OC[15&j];if(!ue)throw new Error(\"Unrecognized array type.\");let[ve]=new Uint16Array(S,2,1),[De]=new Uint32Array(S,4,1);return new gS(De,ve,ue,S)}constructor(S,D=64,j=Float64Array,te){if(isNaN(S)||S<0)throw new Error(`Unpexpected numItems value: ${S}.`);this.numItems=+S,this.nodeSize=Math.min(Math.max(+D,2),65535),this.ArrayType=j,this.IndexArrayType=S<65536?Uint16Array:Uint32Array;let ue=OC.indexOf(this.ArrayType),ve=2*S*this.ArrayType.BYTES_PER_ELEMENT,De=S*this.IndexArrayType.BYTES_PER_ELEMENT,Ze=(8-De%8)%8;if(ue<0)throw new Error(`Unexpected typed array class: ${j}.`);te&&te instanceof ArrayBuffer?(this.data=te,this.ids=new this.IndexArrayType(this.data,8,S),this.coords=new this.ArrayType(this.data,8+De+Ze,2*S),this._pos=2*S,this._finished=!0):(this.data=new ArrayBuffer(8+ve+De+Ze),this.ids=new this.IndexArrayType(this.data,8,S),this.coords=new this.ArrayType(this.data,8+De+Ze,2*S),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+ue]),new Uint16Array(this.data,2,1)[0]=D,new Uint32Array(this.data,4,1)[0]=S)}add(S,D){let j=this._pos>>1;return this.ids[j]=j,this.coords[this._pos++]=S,this.coords[this._pos++]=D,j}finish(){let S=this._pos>>1;if(S!==this.numItems)throw new Error(`Added ${S} items when expected ${this.numItems}.`);return Ow(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(S,D,j,te){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:ue,coords:ve,nodeSize:De}=this,Ze=[0,ue.length-1,0],at=[];for(;Ze.length;){let Tt=Ze.pop()||0,Ft=Ze.pop()||0,Qt=Ze.pop()||0;if(Ft-Qt<=De){for(let $r=Qt;$r<=Ft;$r++){let ni=ve[2*$r],Di=ve[2*$r+1];ni>=S&&ni<=j&&Di>=D&&Di<=te&&at.push(ue[$r])}continue}let sr=Qt+Ft>>1,Tr=ve[2*sr],Pr=ve[2*sr+1];Tr>=S&&Tr<=j&&Pr>=D&&Pr<=te&&at.push(ue[sr]),(Tt===0?S<=Tr:D<=Pr)&&(Ze.push(Qt),Ze.push(sr-1),Ze.push(1-Tt)),(Tt===0?j>=Tr:te>=Pr)&&(Ze.push(sr+1),Ze.push(Ft),Ze.push(1-Tt))}return at}within(S,D,j){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:te,coords:ue,nodeSize:ve}=this,De=[0,te.length-1,0],Ze=[],at=j*j;for(;De.length;){let Tt=De.pop()||0,Ft=De.pop()||0,Qt=De.pop()||0;if(Ft-Qt<=ve){for(let $r=Qt;$r<=Ft;$r++)NC(ue[2*$r],ue[2*$r+1],S,D)<=at&&Ze.push(te[$r]);continue}let sr=Qt+Ft>>1,Tr=ue[2*sr],Pr=ue[2*sr+1];NC(Tr,Pr,S,D)<=at&&Ze.push(te[sr]),(Tt===0?S-j<=Tr:D-j<=Pr)&&(De.push(Qt),De.push(sr-1),De.push(1-Tt)),(Tt===0?S+j>=Tr:D+j>=Pr)&&(De.push(sr+1),De.push(Ft),De.push(1-Tt))}return Ze}}function Ow(R,S,D,j,te,ue){if(te-j<=D)return;let ve=j+te>>1;BC(R,S,ve,j,te,ue),Ow(R,S,D,j,ve-1,1-ue),Ow(R,S,D,ve+1,te,1-ue)}function BC(R,S,D,j,te,ue){for(;te>j;){if(te-j>600){let at=te-j+1,Tt=D-j+1,Ft=Math.log(at),Qt=.5*Math.exp(2*Ft/3),sr=.5*Math.sqrt(Ft*Qt*(at-Qt)/at)*(Tt-at/2<0?-1:1);BC(R,S,D,Math.max(j,Math.floor(D-Tt*Qt/at+sr)),Math.min(te,Math.floor(D+(at-Tt)*Qt/at+sr)),ue)}let ve=S[2*D+ue],De=j,Ze=te;for(eb(R,S,j,D),S[2*te+ue]>ve&&eb(R,S,j,te);De<Ze;){for(eb(R,S,De,Ze),De++,Ze--;S[2*De+ue]<ve;)De++;for(;S[2*Ze+ue]>ve;)Ze--}S[2*j+ue]===ve?eb(R,S,j,Ze):(Ze++,eb(R,S,Ze,te)),Ze<=D&&(j=Ze+1),D<=Ze&&(te=Ze-1)}}function eb(R,S,D,j){mS(R,D,j),mS(S,2*D,2*j),mS(S,2*D+1,2*j+1)}function mS(R,S,D){let j=R[S];R[S]=R[D],R[D]=j}function NC(R,S,D,j){let te=R-D,ue=S-j;return te*te+ue*ue}var Bw;i.bg=void 0,(Bw=i.bg||(i.bg={})).create=\"create\",Bw.load=\"load\",Bw.fullLoad=\"fullLoad\";let tb=null,Gf=[],yS=1e3/60,_S=\"loadTime\",Nw=\"fullLoadTime\",$9={mark(R){performance.mark(R)},frame(R){let S=R;tb!=null&&Gf.push(S-tb),tb=S},clearMetrics(){tb=null,Gf=[],performance.clearMeasures(_S),performance.clearMeasures(Nw);for(let R in i.bg)performance.clearMarks(i.bg[R])},getPerformanceMetrics(){performance.measure(_S,i.bg.create,i.bg.load),performance.measure(Nw,i.bg.create,i.bg.fullLoad);let R=performance.getEntriesByName(_S)[0].duration,S=performance.getEntriesByName(Nw)[0].duration,D=Gf.length,j=1/(Gf.reduce((ue,ve)=>ue+ve,0)/D/1e3),te=Gf.filter(ue=>ue>yS).reduce((ue,ve)=>ue+(ve-yS)/yS,0);return{loadTime:R,fullLoadTime:S,fps:j,percentDroppedFrames:te/(D+te)*100,totalFrames:D}}};i.$=class extends Ot{},i.A=Ln,i.B=Fi,i.C=function(R){if(V==null){let S=R.navigator?R.navigator.userAgent:null;V=!!R.safari||!(!S||!(/\\b(iPad|iPhone|iPod)\\b/.test(S)||S.match(\"Safari\")&&!S.match(\"Chrome\")))}return V},i.D=Da,i.E=Re,i.F=class{constructor(R,S){this.target=R,this.mapId=S,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new uS(()=>this.process()),this.subscription=function(D,j,te,ue){return D.addEventListener(j,te,!1),{unsubscribe:()=>{D.removeEventListener(j,te,!1)}}}(this.target,\"message\",D=>this.receive(D)),this.globalScope=q(self)?R:window}registerMessageHandler(R,S){this.messageHandlers[R]=S}sendAsync(R,S){return new Promise((D,j)=>{let te=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[te]={resolve:D,reject:j},S&&S.signal.addEventListener(\"abort\",()=>{delete this.resolveRejects[te];let De={id:te,type:\"<cancel>\",origin:location.origin,targetMapId:R.targetMapId,sourceMapId:this.mapId};this.target.postMessage(De)},{once:!0});let ue=[],ve=Object.assign(Object.assign({},R),{id:te,sourceMapId:this.mapId,origin:location.origin,data:Ea(R.data,ue)});this.target.postMessage(ve,{transfer:ue})})}receive(R){let S=R.data,D=S.id;if(!(S.origin!==\"file://\"&&location.origin!==\"file://\"&&S.origin!==\"resource://android\"&&location.origin!==\"resource://android\"&&S.origin!==location.origin||S.targetMapId&&this.mapId!==S.targetMapId)){if(S.type===\"<cancel>\"){delete this.tasks[D];let j=this.abortControllers[D];return delete this.abortControllers[D],void(j&&j.abort())}if(q(self)||S.mustQueue)return this.tasks[D]=S,this.taskQueue.push(D),void this.invoker.trigger();this.processTask(D,S)}}process(){if(this.taskQueue.length===0)return;let R=this.taskQueue.shift(),S=this.tasks[R];delete this.tasks[R],this.taskQueue.length>0&&this.invoker.trigger(),S&&this.processTask(R,S)}processTask(R,S){return a(this,void 0,void 0,function*(){if(S.type===\"<response>\"){let te=this.resolveRejects[R];return delete this.resolveRejects[R],te?void(S.error?te.reject(qa(S.error)):te.resolve(qa(S.data))):void 0}if(!this.messageHandlers[S.type])return void this.completeTask(R,new Error(`Could not find a registered handler for ${S.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(\", \")}`));let D=qa(S.data),j=new AbortController;this.abortControllers[R]=j;try{let te=yield this.messageHandlers[S.type](S.sourceMapId,D,j);this.completeTask(R,null,te)}catch(te){this.completeTask(R,te)}})}completeTask(R,S,D){let j=[];delete this.abortControllers[R];let te={id:R,type:\"<response>\",sourceMapId:this.mapId,origin:location.origin,error:S?Ea(S):null,data:Ea(D,j)};this.target.postMessage(te,{transfer:j})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},i.G=ke,i.H=function(){var R=new Ln(16);return Ln!=Float32Array&&(R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[11]=0,R[12]=0,R[13]=0,R[14]=0),R[0]=1,R[5]=1,R[10]=1,R[15]=1,R},i.I=kw,i.J=function(R,S,D){var j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr=D[0],$r=D[1],ni=D[2];return S===R?(R[12]=S[0]*Pr+S[4]*$r+S[8]*ni+S[12],R[13]=S[1]*Pr+S[5]*$r+S[9]*ni+S[13],R[14]=S[2]*Pr+S[6]*$r+S[10]*ni+S[14],R[15]=S[3]*Pr+S[7]*$r+S[11]*ni+S[15]):(te=S[1],ue=S[2],ve=S[3],De=S[4],Ze=S[5],at=S[6],Tt=S[7],Ft=S[8],Qt=S[9],sr=S[10],Tr=S[11],R[0]=j=S[0],R[1]=te,R[2]=ue,R[3]=ve,R[4]=De,R[5]=Ze,R[6]=at,R[7]=Tt,R[8]=Ft,R[9]=Qt,R[10]=sr,R[11]=Tr,R[12]=j*Pr+De*$r+Ft*ni+S[12],R[13]=te*Pr+Ze*$r+Qt*ni+S[13],R[14]=ue*Pr+at*$r+sr*ni+S[14],R[15]=ve*Pr+Tt*$r+Tr*ni+S[15]),R},i.K=function(R,S,D){var j=D[0],te=D[1],ue=D[2];return R[0]=S[0]*j,R[1]=S[1]*j,R[2]=S[2]*j,R[3]=S[3]*j,R[4]=S[4]*te,R[5]=S[5]*te,R[6]=S[6]*te,R[7]=S[7]*te,R[8]=S[8]*ue,R[9]=S[9]*ue,R[10]=S[10]*ue,R[11]=S[11]*ue,R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15],R},i.L=gn,i.M=function(R,S){let D={};for(let j=0;j<S.length;j++){let te=S[j];te in R&&(D[te]=R[te])}return D},i.N=dg,i.O=zw,i.P=u,i.Q=wC,i.R=Jn,i.S=Jv,i.T=ac,i.U=x,i.V=b,i.W=G,i.X=za,i.Y=qe,i.Z=$x,i._=a,i.a=_e,i.a$=function(R,S){var D=R[0],j=R[1],te=R[2],ue=R[3],ve=R[4],De=R[5],Ze=R[6],at=R[7],Tt=R[8],Ft=R[9],Qt=R[10],sr=R[11],Tr=R[12],Pr=R[13],$r=R[14],ni=R[15],Di=S[0],pi=S[1],ki=S[2],Zi=S[3],ta=S[4],Va=S[5],Io=S[6],La=S[7],Hn=S[8],lo=S[9],$a=S[10],Xa=S[11],Tn=S[12],bo=S[13],Ya=S[14],Uo=S[15];return Math.abs(D-Di)<=ji*Math.max(1,Math.abs(D),Math.abs(Di))&&Math.abs(j-pi)<=ji*Math.max(1,Math.abs(j),Math.abs(pi))&&Math.abs(te-ki)<=ji*Math.max(1,Math.abs(te),Math.abs(ki))&&Math.abs(ue-Zi)<=ji*Math.max(1,Math.abs(ue),Math.abs(Zi))&&Math.abs(ve-ta)<=ji*Math.max(1,Math.abs(ve),Math.abs(ta))&&Math.abs(De-Va)<=ji*Math.max(1,Math.abs(De),Math.abs(Va))&&Math.abs(Ze-Io)<=ji*Math.max(1,Math.abs(Ze),Math.abs(Io))&&Math.abs(at-La)<=ji*Math.max(1,Math.abs(at),Math.abs(La))&&Math.abs(Tt-Hn)<=ji*Math.max(1,Math.abs(Tt),Math.abs(Hn))&&Math.abs(Ft-lo)<=ji*Math.max(1,Math.abs(Ft),Math.abs(lo))&&Math.abs(Qt-$a)<=ji*Math.max(1,Math.abs(Qt),Math.abs($a))&&Math.abs(sr-Xa)<=ji*Math.max(1,Math.abs(sr),Math.abs(Xa))&&Math.abs(Tr-Tn)<=ji*Math.max(1,Math.abs(Tr),Math.abs(Tn))&&Math.abs(Pr-bo)<=ji*Math.max(1,Math.abs(Pr),Math.abs(bo))&&Math.abs($r-Ya)<=ji*Math.max(1,Math.abs($r),Math.abs(Ya))&&Math.abs(ni-Uo)<=ji*Math.max(1,Math.abs(ni),Math.abs(Uo))},i.a0=We,i.a1=fS,i.a2=er,i.a3=R=>{let S=window.document.createElement(\"video\");return S.muted=!0,new Promise(D=>{S.onloadstart=()=>{D(S)};for(let j of R){let te=window.document.createElement(\"source\");Ee(j)||(S.crossOrigin=\"Anonymous\"),te.src=j,S.appendChild(te)}})},i.a4=function(){return _++},i.a5=Qi,i.a6=E1,i.a7=Pc,i.a8=xl,i.a9=hS,i.aA=function(R){if(R.type===\"custom\")return new lS(R);switch(R.type){case\"background\":return new G9(R);case\"circle\":return new wn(R);case\"fill\":return new gr(R);case\"fill-extrusion\":return new Ev(R);case\"heatmap\":return new Po(R);case\"hillshade\":return new $c(R);case\"line\":return new ay(R);case\"raster\":return new Kx(R);case\"symbol\":return new uy(R)}},i.aB=g,i.aC=function(R,S){if(!R)return[{command:\"setStyle\",args:[S]}];let D=[];try{if(!ct(R.version,S.version))return[{command:\"setStyle\",args:[S]}];ct(R.center,S.center)||D.push({command:\"setCenter\",args:[S.center]}),ct(R.zoom,S.zoom)||D.push({command:\"setZoom\",args:[S.zoom]}),ct(R.bearing,S.bearing)||D.push({command:\"setBearing\",args:[S.bearing]}),ct(R.pitch,S.pitch)||D.push({command:\"setPitch\",args:[S.pitch]}),ct(R.sprite,S.sprite)||D.push({command:\"setSprite\",args:[S.sprite]}),ct(R.glyphs,S.glyphs)||D.push({command:\"setGlyphs\",args:[S.glyphs]}),ct(R.transition,S.transition)||D.push({command:\"setTransition\",args:[S.transition]}),ct(R.light,S.light)||D.push({command:\"setLight\",args:[S.light]}),ct(R.terrain,S.terrain)||D.push({command:\"setTerrain\",args:[S.terrain]}),ct(R.sky,S.sky)||D.push({command:\"setSky\",args:[S.sky]}),ct(R.projection,S.projection)||D.push({command:\"setProjection\",args:[S.projection]});let j={},te=[];(function(ve,De,Ze,at){let Tt;for(Tt in De=De||{},ve=ve||{})Object.prototype.hasOwnProperty.call(ve,Tt)&&(Object.prototype.hasOwnProperty.call(De,Tt)||ot(Tt,Ze,at));for(Tt in De)Object.prototype.hasOwnProperty.call(De,Tt)&&(Object.prototype.hasOwnProperty.call(ve,Tt)?ct(ve[Tt],De[Tt])||(ve[Tt].type===\"geojson\"&&De[Tt].type===\"geojson\"&&kt(ve,De,Tt)?qt(Ze,{command:\"setGeoJSONSourceData\",args:[Tt,De[Tt].data]}):Rt(Tt,De,Ze,at)):rt(Tt,De,Ze))})(R.sources,S.sources,te,j);let ue=[];R.layers&&R.layers.forEach(ve=>{\"source\"in ve&&j[ve.source]?D.push({command:\"removeLayer\",args:[ve.id]}):ue.push(ve)}),D=D.concat(te),function(ve,De,Ze){De=De||[];let at=(ve=ve||[]).map(Yt),Tt=De.map(Yt),Ft=ve.reduce(xr,{}),Qt=De.reduce(xr,{}),sr=at.slice(),Tr=Object.create(null),Pr,$r,ni,Di,pi;for(let ki=0,Zi=0;ki<at.length;ki++)Pr=at[ki],Object.prototype.hasOwnProperty.call(Qt,Pr)?Zi++:(qt(Ze,{command:\"removeLayer\",args:[Pr]}),sr.splice(sr.indexOf(Pr,Zi),1));for(let ki=0,Zi=0;ki<Tt.length;ki++)Pr=Tt[Tt.length-1-ki],sr[sr.length-1-ki]!==Pr&&(Object.prototype.hasOwnProperty.call(Ft,Pr)?(qt(Ze,{command:\"removeLayer\",args:[Pr]}),sr.splice(sr.lastIndexOf(Pr,sr.length-Zi),1)):Zi++,Di=sr[sr.length-ki],qt(Ze,{command:\"addLayer\",args:[Qt[Pr],Di]}),sr.splice(sr.length-ki,0,Pr),Tr[Pr]=!0);for(let ki=0;ki<Tt.length;ki++)if(Pr=Tt[ki],$r=Ft[Pr],ni=Qt[Pr],!Tr[Pr]&&!ct($r,ni))if(ct($r.source,ni.source)&&ct($r[\"source-layer\"],ni[\"source-layer\"])&&ct($r.type,ni.type)){for(pi in Ct($r.layout,ni.layout,Ze,Pr,null,\"setLayoutProperty\"),Ct($r.paint,ni.paint,Ze,Pr,null,\"setPaintProperty\"),ct($r.filter,ni.filter)||qt(Ze,{command:\"setFilter\",args:[Pr,ni.filter]}),ct($r.minzoom,ni.minzoom)&&ct($r.maxzoom,ni.maxzoom)||qt(Ze,{command:\"setLayerZoomRange\",args:[Pr,ni.minzoom,ni.maxzoom]}),$r)Object.prototype.hasOwnProperty.call($r,pi)&&pi!==\"layout\"&&pi!==\"paint\"&&pi!==\"filter\"&&pi!==\"metadata\"&&pi!==\"minzoom\"&&pi!==\"maxzoom\"&&(pi.indexOf(\"paint.\")===0?Ct($r[pi],ni[pi],Ze,Pr,pi.slice(6),\"setPaintProperty\"):ct($r[pi],ni[pi])||qt(Ze,{command:\"setLayerProperty\",args:[Pr,pi,ni[pi]]}));for(pi in ni)Object.prototype.hasOwnProperty.call(ni,pi)&&!Object.prototype.hasOwnProperty.call($r,pi)&&pi!==\"layout\"&&pi!==\"paint\"&&pi!==\"filter\"&&pi!==\"metadata\"&&pi!==\"minzoom\"&&pi!==\"maxzoom\"&&(pi.indexOf(\"paint.\")===0?Ct($r[pi],ni[pi],Ze,Pr,pi.slice(6),\"setPaintProperty\"):ct($r[pi],ni[pi])||qt(Ze,{command:\"setLayerProperty\",args:[Pr,pi,ni[pi]]}))}else qt(Ze,{command:\"removeLayer\",args:[Pr]}),Di=sr[sr.lastIndexOf(Pr)+1],qt(Ze,{command:\"addLayer\",args:[ni,Di]})}(ue,S.layers,D)}catch(j){console.warn(\"Unable to compute style diff:\",j),D=[{command:\"setStyle\",args:[S]}]}return D},i.aD=function(R){let S=[],D=R.id;return D===void 0&&S.push({message:`layers.${D}: missing required property \"id\"`}),R.render===void 0&&S.push({message:`layers.${D}: missing required method \"render\"`}),R.renderingMode&&R.renderingMode!==\"2d\"&&R.renderingMode!==\"3d\"&&S.push({message:`layers.${D}: property \"renderingMode\" must be either \"2d\" or \"3d\"`}),S},i.aE=function R(S,D){if(Array.isArray(S)){if(!Array.isArray(D)||S.length!==D.length)return!1;for(let j=0;j<S.length;j++)if(!R(S[j],D[j]))return!1;return!0}if(typeof S==\"object\"&&S!==null&&D!==null){if(typeof D!=\"object\"||Object.keys(S).length!==Object.keys(D).length)return!1;for(let j in S)if(!R(S[j],D[j]))return!1;return!0}return S===D},i.aF=C,i.aG=M,i.aH=class extends ci{constructor(R,S){super(R,S),this.current=0}set(R){this.current!==R&&(this.current=R,this.gl.uniform1i(this.location,R))}},i.aI=Jr,i.aJ=class extends ci{constructor(R,S){super(R,S),this.current=En}set(R){if(R[12]!==this.current[12]||R[0]!==this.current[0])return this.current=R,void this.gl.uniformMatrix4fv(this.location,!1,R);for(let S=1;S<16;S++)if(R[S]!==this.current[S]){this.current=R,this.gl.uniformMatrix4fv(this.location,!1,R);break}}},i.aK=un,i.aL=dn,i.aM=Zt,i.aN=class extends ci{constructor(R,S){super(R,S),this.current=[0,0,0]}set(R){R[0]===this.current[0]&&R[1]===this.current[1]&&R[2]===this.current[2]||(this.current=R,this.gl.uniform3f(this.location,R[0],R[1],R[2]))}},i.aO=class extends ci{constructor(R,S){super(R,S),this.current=[0,0]}set(R){R[0]===this.current[0]&&R[1]===this.current[1]||(this.current=R,this.gl.uniform2f(this.location,R[0],R[1]))}},i.aP=function(R,S,D,j,te,ue,ve){var De=1/(S-D),Ze=1/(j-te),at=1/(ue-ve);return R[0]=-2*De,R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=-2*Ze,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[10]=2*at,R[11]=0,R[12]=(S+D)*De,R[13]=(te+j)*Ze,R[14]=(ve+ue)*at,R[15]=1,R},i.aQ=Kn,i.aR=class extends et{},i.aS=im,i.aT=class extends Dt{},i.aU=_o,i.aV=function(R){return R<=1?1:Math.pow(2,Math.ceil(Math.log(R)/Math.LN2))},i.aW=Oa,i.aX=yo,i.aY=oe,i.aZ=class extends di{},i.a_=function(R,S){return R[0]===S[0]&&R[1]===S[1]&&R[2]===S[2]&&R[3]===S[3]&&R[4]===S[4]&&R[5]===S[5]&&R[6]===S[6]&&R[7]===S[7]&&R[8]===S[8]&&R[9]===S[9]&&R[10]===S[10]&&R[11]===S[11]&&R[12]===S[12]&&R[13]===S[13]&&R[14]===S[14]&&R[15]===S[15]},i.aa=function(R){let S={};if(R.replace(/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,(D,j,te,ue)=>{let ve=te||ue;return S[j]=!ve||ve.toLowerCase(),\"\"}),S[\"max-age\"]){let D=parseInt(S[\"max-age\"],10);isNaN(D)?delete S[\"max-age\"]:S[\"max-age\"]=D}return S},i.ab=function(R,S){let D=[];for(let j in R)j in S||D.push(j);return D},i.ac=k,i.ad=function(R,S,D){var j=Math.sin(D),te=Math.cos(D),ue=S[0],ve=S[1],De=S[2],Ze=S[3],at=S[4],Tt=S[5],Ft=S[6],Qt=S[7];return S!==R&&(R[8]=S[8],R[9]=S[9],R[10]=S[10],R[11]=S[11],R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15]),R[0]=ue*te+at*j,R[1]=ve*te+Tt*j,R[2]=De*te+Ft*j,R[3]=Ze*te+Qt*j,R[4]=at*te-ue*j,R[5]=Tt*te-ve*j,R[6]=Ft*te-De*j,R[7]=Qt*te-Ze*j,R},i.ae=function(R){var S=new Ln(16);return S[0]=R[0],S[1]=R[1],S[2]=R[2],S[3]=R[3],S[4]=R[4],S[5]=R[5],S[6]=R[6],S[7]=R[7],S[8]=R[8],S[9]=R[9],S[10]=R[10],S[11]=R[11],S[12]=R[12],S[13]=R[13],S[14]=R[14],S[15]=R[15],S},i.af=Za,i.ag=function(R,S){let D=0,j=0;if(R.kind===\"constant\")j=R.layoutSize;else if(R.kind!==\"source\"){let{interpolationType:te,minZoom:ue,maxZoom:ve}=R,De=te?k(xo.interpolationFactor(te,S,ue,ve),0,1):0;R.kind===\"camera\"?j=Mo.number(R.minSize,R.maxSize,De):D=De}return{uSizeT:D,uSize:j}},i.ai=function(R,{uSize:S,uSizeT:D},{lowerSize:j,upperSize:te}){return R.kind===\"source\"?j/v0:R.kind===\"composite\"?Mo.number(j/v0,te/v0,D):S},i.aj=nS,i.ak=function(R,S,D,j){let te=S.y-R.y,ue=S.x-R.x,ve=j.y-D.y,De=j.x-D.x,Ze=ve*ue-De*te;if(Ze===0)return null;let at=(De*(R.y-D.y)-ve*(R.x-D.x))/Ze;return new u(R.x+at*ue,R.y+at*te)},i.al=kC,i.am=xc,i.an=Un,i.ao=function(R){let S=1/0,D=1/0,j=-1/0,te=-1/0;for(let ue of R)S=Math.min(S,ue.x),D=Math.min(D,ue.y),j=Math.max(j,ue.x),te=Math.max(te,ue.y);return[S,D,j,te]},i.ap=kl,i.ar=iS,i.as=function(R,S){var D=S[0],j=S[1],te=S[2],ue=S[3],ve=S[4],De=S[5],Ze=S[6],at=S[7],Tt=S[8],Ft=S[9],Qt=S[10],sr=S[11],Tr=S[12],Pr=S[13],$r=S[14],ni=S[15],Di=D*De-j*ve,pi=D*Ze-te*ve,ki=D*at-ue*ve,Zi=j*Ze-te*De,ta=j*at-ue*De,Va=te*at-ue*Ze,Io=Tt*Pr-Ft*Tr,La=Tt*$r-Qt*Tr,Hn=Tt*ni-sr*Tr,lo=Ft*$r-Qt*Pr,$a=Ft*ni-sr*Pr,Xa=Qt*ni-sr*$r,Tn=Di*Xa-pi*$a+ki*lo+Zi*Hn-ta*La+Va*Io;return Tn?(R[0]=(De*Xa-Ze*$a+at*lo)*(Tn=1/Tn),R[1]=(te*$a-j*Xa-ue*lo)*Tn,R[2]=(Pr*Va-$r*ta+ni*Zi)*Tn,R[3]=(Qt*ta-Ft*Va-sr*Zi)*Tn,R[4]=(Ze*Hn-ve*Xa-at*La)*Tn,R[5]=(D*Xa-te*Hn+ue*La)*Tn,R[6]=($r*ki-Tr*Va-ni*pi)*Tn,R[7]=(Tt*Va-Qt*ki+sr*pi)*Tn,R[8]=(ve*$a-De*Hn+at*Io)*Tn,R[9]=(j*Hn-D*$a-ue*Io)*Tn,R[10]=(Tr*ta-Pr*ki+ni*Di)*Tn,R[11]=(Ft*ki-Tt*ta-sr*Di)*Tn,R[12]=(De*La-ve*lo-Ze*Io)*Tn,R[13]=(D*lo-j*La+te*Io)*Tn,R[14]=(Pr*pi-Tr*Zi-$r*Di)*Tn,R[15]=(Tt*Zi-Ft*pi+Qt*Di)*Tn,R):null},i.at=pS,i.au=Iw,i.av=gS,i.aw=function(){let R={},S=ce.$version;for(let D in ce.$root){let j=ce.$root[D];if(j.required){let te=null;te=D===\"version\"?S:j.type===\"array\"?[]:{},te!=null&&(R[D]=te)}}return R},i.ax=Cn,i.ay=ie,i.az=function(R){R=R.slice();let S=Object.create(null);for(let D=0;D<R.length;D++)S[R[D].id]=R[D];for(let D=0;D<R.length;D++)\"ref\"in R[D]&&(R[D]=nt(R[D],S[R[D].ref]));return R},i.b=H,i.b0=function(R,S){return R[0]=S[0],R[1]=S[1],R[2]=S[2],R[3]=S[3],R[4]=S[4],R[5]=S[5],R[6]=S[6],R[7]=S[7],R[8]=S[8],R[9]=S[9],R[10]=S[10],R[11]=S[11],R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15],R},i.b1=function(R,S,D){return R[0]=S[0]*D[0],R[1]=S[1]*D[1],R[2]=S[2]*D[2],R[3]=S[3]*D[3],R},i.b2=function(R,S){return R[0]*S[0]+R[1]*S[1]+R[2]*S[2]+R[3]*S[3]},i.b3=A,i.b4=TC,i.b5=Fw,i.b6=function(R,S,D,j,te){var ue,ve=1/Math.tan(S/2);return R[0]=ve/D,R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=ve,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[11]=-1,R[12]=0,R[13]=0,R[15]=0,te!=null&&te!==1/0?(R[10]=(te+j)*(ue=1/(j-te)),R[14]=2*te*j*ue):(R[10]=-1,R[14]=-2*j),R},i.b7=function(R,S,D){var j=Math.sin(D),te=Math.cos(D),ue=S[4],ve=S[5],De=S[6],Ze=S[7],at=S[8],Tt=S[9],Ft=S[10],Qt=S[11];return S!==R&&(R[0]=S[0],R[1]=S[1],R[2]=S[2],R[3]=S[3],R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15]),R[4]=ue*te+at*j,R[5]=ve*te+Tt*j,R[6]=De*te+Ft*j,R[7]=Ze*te+Qt*j,R[8]=at*te-ue*j,R[9]=Tt*te-ve*j,R[10]=Ft*te-De*j,R[11]=Qt*te-Ze*j,R},i.b8=p,i.b9=E,i.bA=bd,i.bB=function(R){return R.message===re},i.bC=fl,i.bD=vs,i.ba=function(R){return R*Math.PI/180},i.bb=function(R,S){let{x:D,y:j}=$x.fromLngLat(S);return!(R<0||R>25||j<0||j>=1||D<0||D>=1)},i.bc=function(R,S){return R[0]=S[0],R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=S[1],R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[10]=S[2],R[11]=0,R[12]=0,R[13]=0,R[14]=0,R[15]=1,R},i.bd=class extends yt{},i.be=cS,i.bf=$9,i.bh=ge,i.bi=function(R,S){_e.REGISTERED_PROTOCOLS[R]=S},i.bj=function(R){delete _e.REGISTERED_PROTOCOLS[R]},i.bk=function(R,S){let D={};for(let te=0;te<R.length;te++){let ue=S&&S[R[te].id]||md(R[te]);S&&(S[R[te].id]=ue);let ve=D[ue];ve||(ve=D[ue]=[]),ve.push(R[te])}let j=[];for(let te in D)j.push(D[te]);return j},i.bl=mi,i.bm=SC,i.bn=cy,i.bo=Cw,i.bp=function(R){R.bucket.createArrays(),R.bucket.tilePixelRatio=za/(512*R.bucket.overscaling),R.bucket.compareText={},R.bucket.iconsNeedLinear=!1;let S=R.bucket.layers[0],D=S.layout,j=S._unevaluatedLayout._values,te={layoutIconSize:j[\"icon-size\"].possiblyEvaluate(new Ko(R.bucket.zoom+1),R.canonical),layoutTextSize:j[\"text-size\"].possiblyEvaluate(new Ko(R.bucket.zoom+1),R.canonical),textMaxSize:j[\"text-size\"].possiblyEvaluate(new Ko(18))};if(R.bucket.textSizeData.kind===\"composite\"){let{minZoom:at,maxZoom:Tt}=R.bucket.textSizeData;te.compositeTextSizes=[j[\"text-size\"].possiblyEvaluate(new Ko(at),R.canonical),j[\"text-size\"].possiblyEvaluate(new Ko(Tt),R.canonical)]}if(R.bucket.iconSizeData.kind===\"composite\"){let{minZoom:at,maxZoom:Tt}=R.bucket.iconSizeData;te.compositeIconSizes=[j[\"icon-size\"].possiblyEvaluate(new Ko(at),R.canonical),j[\"icon-size\"].possiblyEvaluate(new Ko(Tt),R.canonical)]}let ue=D.get(\"text-line-height\")*kl,ve=D.get(\"text-rotation-alignment\")!==\"viewport\"&&D.get(\"symbol-placement\")!==\"point\",De=D.get(\"text-keep-upright\"),Ze=D.get(\"text-size\");for(let at of R.bucket.features){let Tt=D.get(\"text-font\").evaluate(at,{},R.canonical).join(\",\"),Ft=Ze.evaluate(at,{},R.canonical),Qt=te.layoutTextSize.evaluate(at,{},R.canonical),sr=te.layoutIconSize.evaluate(at,{},R.canonical),Tr={horizontal:{},vertical:void 0},Pr=at.text,$r,ni=[0,0];if(Pr){let ki=Pr.toString(),Zi=D.get(\"text-letter-spacing\").evaluate(at,{},R.canonical)*kl,ta=mo(ki)?Zi:0,Va=D.get(\"text-anchor\").evaluate(at,{},R.canonical),Io=zC(S,at,R.canonical);if(!Io){let $a=D.get(\"text-radial-offset\").evaluate(at,{},R.canonical);ni=$a?vS(Va,[$a*kl,fy]):D.get(\"text-offset\").evaluate(at,{},R.canonical).map(Xa=>Xa*kl)}let La=ve?\"center\":D.get(\"text-justify\").evaluate(at,{},R.canonical),Hn=D.get(\"symbol-placement\")===\"point\"?D.get(\"text-max-width\").evaluate(at,{},R.canonical)*kl:1/0,lo=()=>{R.bucket.allowVerticalPlacement&&Ua(ki)&&(Tr.vertical=Gx(Pr,R.glyphMap,R.glyphPositions,R.imagePositions,Tt,Hn,ue,Va,\"left\",ta,ni,i.ah.vertical,!0,Qt,Ft))};if(!ve&&Io){let $a=new Set;if(La===\"auto\")for(let Tn=0;Tn<Io.values.length;Tn+=2)$a.add(pS(Io.values[Tn]));else $a.add(La);let Xa=!1;for(let Tn of $a)if(!Tr.horizontal[Tn])if(Xa)Tr.horizontal[Tn]=Tr.horizontal[0];else{let bo=Gx(Pr,R.glyphMap,R.glyphPositions,R.imagePositions,Tt,Hn,ue,\"center\",Tn,ta,ni,i.ah.horizontal,!1,Qt,Ft);bo&&(Tr.horizontal[Tn]=bo,Xa=bo.positionedLines.length===1)}lo()}else{La===\"auto\"&&(La=pS(Va));let $a=Gx(Pr,R.glyphMap,R.glyphPositions,R.imagePositions,Tt,Hn,ue,Va,La,ta,ni,i.ah.horizontal,!1,Qt,Ft);$a&&(Tr.horizontal[La]=$a),lo(),Ua(ki)&&ve&&De&&(Tr.vertical=Gx(Pr,R.glyphMap,R.glyphPositions,R.imagePositions,Tt,Hn,ue,Va,La,ta,ni,i.ah.vertical,!1,Qt,Ft))}}let Di=!1;if(at.icon&&at.icon.name){let ki=R.imageMap[at.icon.name];ki&&($r=jx(R.imagePositions[at.icon.name],D.get(\"icon-offset\").evaluate(at,{},R.canonical),D.get(\"icon-anchor\").evaluate(at,{},R.canonical)),Di=!!ki.sdf,R.bucket.sdfIcons===void 0?R.bucket.sdfIcons=Di:R.bucket.sdfIcons!==Di&&T(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),(ki.pixelRatio!==R.bucket.pixelRatio||D.get(\"icon-rotate\").constantOr(1)!==0)&&(R.bucket.iconsNeedLinear=!0))}let pi=qC(Tr.horizontal)||Tr.vertical;R.bucket.iconsInText=!!pi&&pi.iconsInText,(pi||$r)&&K9(R.bucket,at,Tr,$r,R.imageMap,te,Qt,sr,ni,Di,R.canonical)}R.showCollisionBoxes&&R.bucket.generateCollisionDebugBuffers()},i.bq=Kv,i.br=dr,i.bs=fo,i.bt=ei,i.bu=eS,i.bv=class{constructor(R){this._marks={start:[R.url,\"start\"].join(\"#\"),end:[R.url,\"end\"].join(\"#\"),measure:R.url.toString()},performance.mark(this._marks.start)}finish(){performance.mark(this._marks.end);let R=performance.getEntriesByName(this._marks.measure);return R.length===0&&(performance.measure(this._marks.measure,this._marks.start,this._marks.end),R=performance.getEntriesByName(this._marks.measure),performance.clearMarks(this._marks.start),performance.clearMarks(this._marks.end),performance.clearMeasures(this._marks.measure)),R}},i.bw=function(R,S,D,j,te){return a(this,void 0,void 0,function*(){if(b())try{return yield G(R,S,D,j,te)}catch(ue){}return function(ue,ve,De,Ze,at){let Tt=ue.width,Ft=ue.height;N&&W||(N=new OffscreenCanvas(Tt,Ft),W=N.getContext(\"2d\",{willReadFrequently:!0})),N.width=Tt,N.height=Ft,W.drawImage(ue,0,0,Tt,Ft);let Qt=W.getImageData(ve,De,Ze,at);return W.clearRect(0,0,Tt,Ft),Qt.data}(R,S,D,j,te)})},i.bx=AC,i.by=o,i.bz=s,i.c=ae,i.d=R=>a(void 0,void 0,void 0,function*(){if(R.byteLength===0)return createImageBitmap(new ImageData(1,1));let S=new Blob([new Uint8Array(R)],{type:\"image/png\"});try{return createImageBitmap(S)}catch(D){throw new Error(`Could not load image because of ${D.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),i.e=L,i.f=R=>new Promise((S,D)=>{let j=new Image;j.onload=()=>{S(j),URL.revokeObjectURL(j.src),j.onload=null,window.requestAnimationFrame(()=>{j.src=X})},j.onerror=()=>D(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.\"));let te=new Blob([new Uint8Array(R)],{type:\"image/png\"});j.src=R.byteLength?URL.createObjectURL(te):X}),i.g=Me,i.h=(R,S)=>Te(L(R,{type:\"json\"}),S),i.i=q,i.j=me,i.k=Ce,i.l=(R,S)=>Te(L(R,{type:\"arrayBuffer\"}),S),i.m=Te,i.n=function(R){return new eS(R).readFields(yQ,[])},i.o=Ao,i.p=rS,i.q=le,i.r=xi,i.s=Ee,i.t=Ti,i.u=fi,i.v=ce,i.w=T,i.x=function([R,S,D]){return S+=90,S*=Math.PI/180,D*=Math.PI/180,{x:R*Math.cos(S)*Math.sin(D),y:R*Math.sin(S)*Math.sin(D),z:R*Math.cos(D)}},i.y=Mo,i.z=Ko}),r(\"worker\",[\"./shared\"],function(i){\"use strict\";class a{constructor(Ne){this.keyCache={},Ne&&this.replace(Ne)}replace(Ne){this._layerConfigs={},this._layers={},this.update(Ne,[])}update(Ne,Ye){for(let Xe of Ne){this._layerConfigs[Xe.id]=Xe;let ht=this._layers[Xe.id]=i.aA(Xe);ht._featureFilter=i.a7(ht.filter),this.keyCache[Xe.id]&&delete this.keyCache[Xe.id]}for(let Xe of Ye)delete this.keyCache[Xe],delete this._layerConfigs[Xe],delete this._layers[Xe];this.familiesBySource={};let Ve=i.bk(Object.values(this._layerConfigs),this.keyCache);for(let Xe of Ve){let ht=Xe.map(Vt=>this._layers[Vt.id]),Le=ht[0];if(Le.visibility===\"none\")continue;let xe=Le.source||\"\",Se=this.familiesBySource[xe];Se||(Se=this.familiesBySource[xe]={});let lt=Le.sourceLayer||\"_geojsonTileLayer\",Gt=Se[lt];Gt||(Gt=Se[lt]=[]),Gt.push(ht)}}}class o{constructor(Ne){let Ye={},Ve=[];for(let xe in Ne){let Se=Ne[xe],lt=Ye[xe]={};for(let Gt in Se){let Vt=Se[+Gt];if(!Vt||Vt.bitmap.width===0||Vt.bitmap.height===0)continue;let ar={x:0,y:0,w:Vt.bitmap.width+2,h:Vt.bitmap.height+2};Ve.push(ar),lt[Gt]={rect:ar,metrics:Vt.metrics}}}let{w:Xe,h:ht}=i.p(Ve),Le=new i.o({width:Xe||1,height:ht||1});for(let xe in Ne){let Se=Ne[xe];for(let lt in Se){let Gt=Se[+lt];if(!Gt||Gt.bitmap.width===0||Gt.bitmap.height===0)continue;let Vt=Ye[xe][lt].rect;i.o.copy(Gt.bitmap,Le,{x:0,y:0},{x:Vt.x+1,y:Vt.y+1},Gt.bitmap)}}this.image=Le,this.positions=Ye}}i.bl(\"GlyphAtlas\",o);class s{constructor(Ne){this.tileID=new i.S(Ne.tileID.overscaledZ,Ne.tileID.wrap,Ne.tileID.canonical.z,Ne.tileID.canonical.x,Ne.tileID.canonical.y),this.uid=Ne.uid,this.zoom=Ne.zoom,this.pixelRatio=Ne.pixelRatio,this.tileSize=Ne.tileSize,this.source=Ne.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=Ne.showCollisionBoxes,this.collectResourceTiming=!!Ne.collectResourceTiming,this.returnDependencies=!!Ne.returnDependencies,this.promoteId=Ne.promoteId,this.inFlightDependencies=[]}parse(Ne,Ye,Ve,Xe){return i._(this,void 0,void 0,function*(){this.status=\"parsing\",this.data=Ne,this.collisionBoxArray=new i.a5;let ht=new i.bm(Object.keys(Ne.layers).sort()),Le=new i.bn(this.tileID,this.promoteId);Le.bucketLayerIDs=[];let xe={},Se={featureIndex:Le,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:Ve},lt=Ye.familiesBySource[this.source];for(let _n in lt){let $i=Ne.layers[_n];if(!$i)continue;$i.version===1&&i.w(`Vector tile source \"${this.source}\" layer \"${_n}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);let zn=ht.encode(_n),Wn=[];for(let It=0;It<$i.length;It++){let ft=$i.feature(It),jt=Le.getId(ft,_n);Wn.push({feature:ft,id:jt,index:It,sourceLayerIndex:zn})}for(let It of lt[_n]){let ft=It[0];ft.source!==this.source&&i.w(`layer.source = ${ft.source} does not equal this.source = ${this.source}`),ft.minzoom&&this.zoom<Math.floor(ft.minzoom)||ft.maxzoom&&this.zoom>=ft.maxzoom||ft.visibility!==\"none\"&&(l(It,this.zoom,Ve),(xe[ft.id]=ft.createBucket({index:Le.bucketLayerIDs.length,layers:It,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:zn,sourceID:this.source})).populate(Wn,Se,this.tileID.canonical),Le.bucketLayerIDs.push(It.map(jt=>jt.id)))}}let Gt=i.aF(Se.glyphDependencies,_n=>Object.keys(_n).map(Number));this.inFlightDependencies.forEach(_n=>_n==null?void 0:_n.abort()),this.inFlightDependencies=[];let Vt=Promise.resolve({});if(Object.keys(Gt).length){let _n=new AbortController;this.inFlightDependencies.push(_n),Vt=Xe.sendAsync({type:\"GG\",data:{stacks:Gt,source:this.source,tileID:this.tileID,type:\"glyphs\"}},_n)}let ar=Object.keys(Se.iconDependencies),Qr=Promise.resolve({});if(ar.length){let _n=new AbortController;this.inFlightDependencies.push(_n),Qr=Xe.sendAsync({type:\"GI\",data:{icons:ar,source:this.source,tileID:this.tileID,type:\"icons\"}},_n)}let ai=Object.keys(Se.patternDependencies),jr=Promise.resolve({});if(ai.length){let _n=new AbortController;this.inFlightDependencies.push(_n),jr=Xe.sendAsync({type:\"GI\",data:{icons:ai,source:this.source,tileID:this.tileID,type:\"patterns\"}},_n)}let[ri,bi,nn]=yield Promise.all([Vt,Qr,jr]),Wi=new o(ri),Ni=new i.bo(bi,nn);for(let _n in xe){let $i=xe[_n];$i instanceof i.a6?(l($i.layers,this.zoom,Ve),i.bp({bucket:$i,glyphMap:ri,glyphPositions:Wi.positions,imageMap:bi,imagePositions:Ni.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):$i.hasPattern&&($i instanceof i.bq||$i instanceof i.br||$i instanceof i.bs)&&(l($i.layers,this.zoom,Ve),$i.addFeatures(Se,this.tileID.canonical,Ni.patternPositions))}return this.status=\"done\",{buckets:Object.values(xe).filter(_n=>!_n.isEmpty()),featureIndex:Le,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:Wi.image,imageAtlas:Ni,glyphMap:this.returnDependencies?ri:null,iconMap:this.returnDependencies?bi:null,glyphPositions:this.returnDependencies?Wi.positions:null}})}}function l(ut,Ne,Ye){let Ve=new i.z(Ne);for(let Xe of ut)Xe.recalculate(Ve,Ye)}class u{constructor(Ne,Ye,Ve){this.actor=Ne,this.layerIndex=Ye,this.availableImages=Ve,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(Ne,Ye){return i._(this,void 0,void 0,function*(){let Ve=yield i.l(Ne.request,Ye);try{return{vectorTile:new i.bt.VectorTile(new i.bu(Ve.data)),rawData:Ve.data,cacheControl:Ve.cacheControl,expires:Ve.expires}}catch(Xe){let ht=new Uint8Array(Ve.data),Le=`Unable to parse the tile at ${Ne.request.url}, `;throw Le+=ht[0]===31&&ht[1]===139?\"please make sure the data is not gzipped and that you have configured the relevant header in the server\":`got error: ${Xe.message}`,new Error(Le)}})}loadTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=Ne.uid,Ve=!!(Ne&&Ne.request&&Ne.request.collectResourceTiming)&&new i.bv(Ne.request),Xe=new s(Ne);this.loading[Ye]=Xe;let ht=new AbortController;Xe.abort=ht;try{let Le=yield this.loadVectorTile(Ne,ht);if(delete this.loading[Ye],!Le)return null;let xe=Le.rawData,Se={};Le.expires&&(Se.expires=Le.expires),Le.cacheControl&&(Se.cacheControl=Le.cacheControl);let lt={};if(Ve){let Vt=Ve.finish();Vt&&(lt.resourceTiming=JSON.parse(JSON.stringify(Vt)))}Xe.vectorTile=Le.vectorTile;let Gt=Xe.parse(Le.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[Ye]=Xe,this.fetching[Ye]={rawTileData:xe,cacheControl:Se,resourceTiming:lt};try{let Vt=yield Gt;return i.e({rawTileData:xe.slice(0)},Vt,Se,lt)}finally{delete this.fetching[Ye]}}catch(Le){throw delete this.loading[Ye],Xe.status=\"done\",this.loaded[Ye]=Xe,Le}})}reloadTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=Ne.uid;if(!this.loaded||!this.loaded[Ye])throw new Error(\"Should not be trying to reload a tile that was never loaded or has been removed\");let Ve=this.loaded[Ye];if(Ve.showCollisionBoxes=Ne.showCollisionBoxes,Ve.status===\"parsing\"){let Xe=yield Ve.parse(Ve.vectorTile,this.layerIndex,this.availableImages,this.actor),ht;if(this.fetching[Ye]){let{rawTileData:Le,cacheControl:xe,resourceTiming:Se}=this.fetching[Ye];delete this.fetching[Ye],ht=i.e({rawTileData:Le.slice(0)},Xe,xe,Se)}else ht=Xe;return ht}if(Ve.status===\"done\"&&Ve.vectorTile)return Ve.parse(Ve.vectorTile,this.layerIndex,this.availableImages,this.actor)})}abortTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=this.loading,Ve=Ne.uid;Ye&&Ye[Ve]&&Ye[Ve].abort&&(Ye[Ve].abort.abort(),delete Ye[Ve])})}removeTile(Ne){return i._(this,void 0,void 0,function*(){this.loaded&&this.loaded[Ne.uid]&&delete this.loaded[Ne.uid]})}}class c{constructor(){this.loaded={}}loadTile(Ne){return i._(this,void 0,void 0,function*(){let{uid:Ye,encoding:Ve,rawImageData:Xe,redFactor:ht,greenFactor:Le,blueFactor:xe,baseShift:Se}=Ne,lt=Xe.width+2,Gt=Xe.height+2,Vt=i.b(Xe)?new i.R({width:lt,height:Gt},yield i.bw(Xe,-1,-1,lt,Gt)):Xe,ar=new i.bx(Ye,Vt,Ve,ht,Le,xe,Se);return this.loaded=this.loaded||{},this.loaded[Ye]=ar,ar})}removeTile(Ne){let Ye=this.loaded,Ve=Ne.uid;Ye&&Ye[Ve]&&delete Ye[Ve]}}function f(ut,Ne){if(ut.length!==0){h(ut[0],Ne);for(var Ye=1;Ye<ut.length;Ye++)h(ut[Ye],!Ne)}}function h(ut,Ne){for(var Ye=0,Ve=0,Xe=0,ht=ut.length,Le=ht-1;Xe<ht;Le=Xe++){var xe=(ut[Xe][0]-ut[Le][0])*(ut[Le][1]+ut[Xe][1]),Se=Ye+xe;Ve+=Math.abs(Ye)>=Math.abs(xe)?Ye-Se+xe:xe-Se+Ye,Ye=Se}Ye+Ve>=0!=!!Ne&&ut.reverse()}var d=i.by(function ut(Ne,Ye){var Ve,Xe=Ne&&Ne.type;if(Xe===\"FeatureCollection\")for(Ve=0;Ve<Ne.features.length;Ve++)ut(Ne.features[Ve],Ye);else if(Xe===\"GeometryCollection\")for(Ve=0;Ve<Ne.geometries.length;Ve++)ut(Ne.geometries[Ve],Ye);else if(Xe===\"Feature\")ut(Ne.geometry,Ye);else if(Xe===\"Polygon\")f(Ne.coordinates,Ye);else if(Xe===\"MultiPolygon\")for(Ve=0;Ve<Ne.coordinates.length;Ve++)f(Ne.coordinates[Ve],Ye);return Ne});let v=i.bt.VectorTileFeature.prototype.toGeoJSON;var x={exports:{}},b=i.bz,p=i.bt.VectorTileFeature,E=k;function k(ut,Ne){this.options=Ne||{},this.features=ut,this.length=ut.length}function A(ut,Ne){this.id=typeof ut.id==\"number\"?ut.id:void 0,this.type=ut.type,this.rawGeometry=ut.type===1?[ut.geometry]:ut.geometry,this.properties=ut.tags,this.extent=Ne||4096}k.prototype.feature=function(ut){return new A(this.features[ut],this.options.extent)},A.prototype.loadGeometry=function(){var ut=this.rawGeometry;this.geometry=[];for(var Ne=0;Ne<ut.length;Ne++){for(var Ye=ut[Ne],Ve=[],Xe=0;Xe<Ye.length;Xe++)Ve.push(new b(Ye[Xe][0],Ye[Xe][1]));this.geometry.push(Ve)}return this.geometry},A.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var ut=this.geometry,Ne=1/0,Ye=-1/0,Ve=1/0,Xe=-1/0,ht=0;ht<ut.length;ht++)for(var Le=ut[ht],xe=0;xe<Le.length;xe++){var Se=Le[xe];Ne=Math.min(Ne,Se.x),Ye=Math.max(Ye,Se.x),Ve=Math.min(Ve,Se.y),Xe=Math.max(Xe,Se.y)}return[Ne,Ve,Ye,Xe]},A.prototype.toGeoJSON=p.prototype.toGeoJSON;var L=i.bA,_=E;function C(ut){var Ne=new L;return function(Ye,Ve){for(var Xe in Ye.layers)Ve.writeMessage(3,M,Ye.layers[Xe])}(ut,Ne),Ne.finish()}function M(ut,Ne){var Ye;Ne.writeVarintField(15,ut.version||1),Ne.writeStringField(1,ut.name||\"\"),Ne.writeVarintField(5,ut.extent||4096);var Ve={keys:[],values:[],keycache:{},valuecache:{}};for(Ye=0;Ye<ut.length;Ye++)Ve.feature=ut.feature(Ye),Ne.writeMessage(2,g,Ve);var Xe=Ve.keys;for(Ye=0;Ye<Xe.length;Ye++)Ne.writeStringField(3,Xe[Ye]);var ht=Ve.values;for(Ye=0;Ye<ht.length;Ye++)Ne.writeMessage(4,V,ht[Ye])}function g(ut,Ne){var Ye=ut.feature;Ye.id!==void 0&&Ne.writeVarintField(1,Ye.id),Ne.writeMessage(2,P,ut),Ne.writeVarintField(3,Ye.type),Ne.writeMessage(4,q,Ye)}function P(ut,Ne){var Ye=ut.feature,Ve=ut.keys,Xe=ut.values,ht=ut.keycache,Le=ut.valuecache;for(var xe in Ye.properties){var Se=Ye.properties[xe],lt=ht[xe];if(Se!==null){lt===void 0&&(Ve.push(xe),ht[xe]=lt=Ve.length-1),Ne.writeVarint(lt);var Gt=typeof Se;Gt!==\"string\"&&Gt!==\"boolean\"&&Gt!==\"number\"&&(Se=JSON.stringify(Se));var Vt=Gt+\":\"+Se,ar=Le[Vt];ar===void 0&&(Xe.push(Se),Le[Vt]=ar=Xe.length-1),Ne.writeVarint(ar)}}}function T(ut,Ne){return(Ne<<3)+(7&ut)}function F(ut){return ut<<1^ut>>31}function q(ut,Ne){for(var Ye=ut.loadGeometry(),Ve=ut.type,Xe=0,ht=0,Le=Ye.length,xe=0;xe<Le;xe++){var Se=Ye[xe],lt=1;Ve===1&&(lt=Se.length),Ne.writeVarint(T(1,lt));for(var Gt=Ve===3?Se.length-1:Se.length,Vt=0;Vt<Gt;Vt++){Vt===1&&Ve!==1&&Ne.writeVarint(T(2,Gt-1));var ar=Se[Vt].x-Xe,Qr=Se[Vt].y-ht;Ne.writeVarint(F(ar)),Ne.writeVarint(F(Qr)),Xe+=ar,ht+=Qr}Ve===3&&Ne.writeVarint(T(7,1))}}function V(ut,Ne){var Ye=typeof ut;Ye===\"string\"?Ne.writeStringField(1,ut):Ye===\"boolean\"?Ne.writeBooleanField(7,ut):Ye===\"number\"&&(ut%1!=0?Ne.writeDoubleField(3,ut):ut<0?Ne.writeSVarintField(6,ut):Ne.writeVarintField(5,ut))}x.exports=C,x.exports.fromVectorTileJs=C,x.exports.fromGeojsonVt=function(ut,Ne){Ne=Ne||{};var Ye={};for(var Ve in ut)Ye[Ve]=new _(ut[Ve].features,Ne),Ye[Ve].name=Ve,Ye[Ve].version=Ne.version,Ye[Ve].extent=Ne.extent;return C({layers:Ye})},x.exports.GeoJSONWrapper=_;var H=i.by(x.exports);let X={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:ut=>ut},G=Math.fround||(N=new Float32Array(1),ut=>(N[0]=+ut,N[0]));var N;let W=3,re=5,ae=6;class _e{constructor(Ne){this.options=Object.assign(Object.create(X),Ne),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(Ne){let{log:Ye,minZoom:Ve,maxZoom:Xe}=this.options;Ye&&console.time(\"total time\");let ht=`prepare ${Ne.length} points`;Ye&&console.time(ht),this.points=Ne;let Le=[];for(let Se=0;Se<Ne.length;Se++){let lt=Ne[Se];if(!lt.geometry)continue;let[Gt,Vt]=lt.geometry.coordinates,ar=G(ge(Gt)),Qr=G(ie(Vt));Le.push(ar,Qr,1/0,Se,-1,1),this.options.reduce&&Le.push(0)}let xe=this.trees[Xe+1]=this._createTree(Le);Ye&&console.timeEnd(ht);for(let Se=Xe;Se>=Ve;Se--){let lt=+Date.now();xe=this.trees[Se]=this._createTree(this._cluster(xe,Se)),Ye&&console.log(\"z%d: %d clusters in %dms\",Se,xe.numItems,+Date.now()-lt)}return Ye&&console.timeEnd(\"total time\"),this}getClusters(Ne,Ye){let Ve=((Ne[0]+180)%360+360)%360-180,Xe=Math.max(-90,Math.min(90,Ne[1])),ht=Ne[2]===180?180:((Ne[2]+180)%360+360)%360-180,Le=Math.max(-90,Math.min(90,Ne[3]));if(Ne[2]-Ne[0]>=360)Ve=-180,ht=180;else if(Ve>ht){let Vt=this.getClusters([Ve,Xe,180,Le],Ye),ar=this.getClusters([-180,Xe,ht,Le],Ye);return Vt.concat(ar)}let xe=this.trees[this._limitZoom(Ye)],Se=xe.range(ge(Ve),ie(Le),ge(ht),ie(Xe)),lt=xe.data,Gt=[];for(let Vt of Se){let ar=this.stride*Vt;Gt.push(lt[ar+re]>1?Me(lt,ar,this.clusterProps):this.points[lt[ar+W]])}return Gt}getChildren(Ne){let Ye=this._getOriginId(Ne),Ve=this._getOriginZoom(Ne),Xe=\"No cluster with the specified id.\",ht=this.trees[Ve];if(!ht)throw new Error(Xe);let Le=ht.data;if(Ye*this.stride>=Le.length)throw new Error(Xe);let xe=this.options.radius/(this.options.extent*Math.pow(2,Ve-1)),Se=ht.within(Le[Ye*this.stride],Le[Ye*this.stride+1],xe),lt=[];for(let Gt of Se){let Vt=Gt*this.stride;Le[Vt+4]===Ne&<.push(Le[Vt+re]>1?Me(Le,Vt,this.clusterProps):this.points[Le[Vt+W]])}if(lt.length===0)throw new Error(Xe);return lt}getLeaves(Ne,Ye,Ve){let Xe=[];return this._appendLeaves(Xe,Ne,Ye=Ye||10,Ve=Ve||0,0),Xe}getTile(Ne,Ye,Ve){let Xe=this.trees[this._limitZoom(Ne)],ht=Math.pow(2,Ne),{extent:Le,radius:xe}=this.options,Se=xe/Le,lt=(Ve-Se)/ht,Gt=(Ve+1+Se)/ht,Vt={features:[]};return this._addTileFeatures(Xe.range((Ye-Se)/ht,lt,(Ye+1+Se)/ht,Gt),Xe.data,Ye,Ve,ht,Vt),Ye===0&&this._addTileFeatures(Xe.range(1-Se/ht,lt,1,Gt),Xe.data,ht,Ve,ht,Vt),Ye===ht-1&&this._addTileFeatures(Xe.range(0,lt,Se/ht,Gt),Xe.data,-1,Ve,ht,Vt),Vt.features.length?Vt:null}getClusterExpansionZoom(Ne){let Ye=this._getOriginZoom(Ne)-1;for(;Ye<=this.options.maxZoom;){let Ve=this.getChildren(Ne);if(Ye++,Ve.length!==1)break;Ne=Ve[0].properties.cluster_id}return Ye}_appendLeaves(Ne,Ye,Ve,Xe,ht){let Le=this.getChildren(Ye);for(let xe of Le){let Se=xe.properties;if(Se&&Se.cluster?ht+Se.point_count<=Xe?ht+=Se.point_count:ht=this._appendLeaves(Ne,Se.cluster_id,Ve,Xe,ht):ht<Xe?ht++:Ne.push(xe),Ne.length===Ve)break}return ht}_createTree(Ne){let Ye=new i.av(Ne.length/this.stride|0,this.options.nodeSize,Float32Array);for(let Ve=0;Ve<Ne.length;Ve+=this.stride)Ye.add(Ne[Ve],Ne[Ve+1]);return Ye.finish(),Ye.data=Ne,Ye}_addTileFeatures(Ne,Ye,Ve,Xe,ht,Le){for(let xe of Ne){let Se=xe*this.stride,lt=Ye[Se+re]>1,Gt,Vt,ar;if(lt)Gt=ke(Ye,Se,this.clusterProps),Vt=Ye[Se],ar=Ye[Se+1];else{let jr=this.points[Ye[Se+W]];Gt=jr.properties;let[ri,bi]=jr.geometry.coordinates;Vt=ge(ri),ar=ie(bi)}let Qr={type:1,geometry:[[Math.round(this.options.extent*(Vt*ht-Ve)),Math.round(this.options.extent*(ar*ht-Xe))]],tags:Gt},ai;ai=lt||this.options.generateId?Ye[Se+W]:this.points[Ye[Se+W]].id,ai!==void 0&&(Qr.id=ai),Le.features.push(Qr)}}_limitZoom(Ne){return Math.max(this.options.minZoom,Math.min(Math.floor(+Ne),this.options.maxZoom+1))}_cluster(Ne,Ye){let{radius:Ve,extent:Xe,reduce:ht,minPoints:Le}=this.options,xe=Ve/(Xe*Math.pow(2,Ye)),Se=Ne.data,lt=[],Gt=this.stride;for(let Vt=0;Vt<Se.length;Vt+=Gt){if(Se[Vt+2]<=Ye)continue;Se[Vt+2]=Ye;let ar=Se[Vt],Qr=Se[Vt+1],ai=Ne.within(Se[Vt],Se[Vt+1],xe),jr=Se[Vt+re],ri=jr;for(let bi of ai){let nn=bi*Gt;Se[nn+2]>Ye&&(ri+=Se[nn+re])}if(ri>jr&&ri>=Le){let bi,nn=ar*jr,Wi=Qr*jr,Ni=-1,_n=((Vt/Gt|0)<<5)+(Ye+1)+this.points.length;for(let $i of ai){let zn=$i*Gt;if(Se[zn+2]<=Ye)continue;Se[zn+2]=Ye;let Wn=Se[zn+re];nn+=Se[zn]*Wn,Wi+=Se[zn+1]*Wn,Se[zn+4]=_n,ht&&(bi||(bi=this._map(Se,Vt,!0),Ni=this.clusterProps.length,this.clusterProps.push(bi)),ht(bi,this._map(Se,zn)))}Se[Vt+4]=_n,lt.push(nn/ri,Wi/ri,1/0,_n,-1,ri),ht&<.push(Ni)}else{for(let bi=0;bi<Gt;bi++)lt.push(Se[Vt+bi]);if(ri>1)for(let bi of ai){let nn=bi*Gt;if(!(Se[nn+2]<=Ye)){Se[nn+2]=Ye;for(let Wi=0;Wi<Gt;Wi++)lt.push(Se[nn+Wi])}}}}return lt}_getOriginId(Ne){return Ne-this.points.length>>5}_getOriginZoom(Ne){return(Ne-this.points.length)%32}_map(Ne,Ye,Ve){if(Ne[Ye+re]>1){let Le=this.clusterProps[Ne[Ye+ae]];return Ve?Object.assign({},Le):Le}let Xe=this.points[Ne[Ye+W]].properties,ht=this.options.map(Xe);return Ve&&ht===Xe?Object.assign({},ht):ht}}function Me(ut,Ne,Ye){return{type:\"Feature\",id:ut[Ne+W],properties:ke(ut,Ne,Ye),geometry:{type:\"Point\",coordinates:[(Ve=ut[Ne],360*(Ve-.5)),Te(ut[Ne+1])]}};var Ve}function ke(ut,Ne,Ye){let Ve=ut[Ne+re],Xe=Ve>=1e4?`${Math.round(Ve/1e3)}k`:Ve>=1e3?Math.round(Ve/100)/10+\"k\":Ve,ht=ut[Ne+ae],Le=ht===-1?{}:Object.assign({},Ye[ht]);return Object.assign(Le,{cluster:!0,cluster_id:ut[Ne+W],point_count:Ve,point_count_abbreviated:Xe})}function ge(ut){return ut/360+.5}function ie(ut){let Ne=Math.sin(ut*Math.PI/180),Ye=.5-.25*Math.log((1+Ne)/(1-Ne))/Math.PI;return Ye<0?0:Ye>1?1:Ye}function Te(ut){let Ne=(180-360*ut)*Math.PI/180;return 360*Math.atan(Math.exp(Ne))/Math.PI-90}function Ee(ut,Ne,Ye,Ve){let Xe=Ve,ht=Ne+(Ye-Ne>>1),Le,xe=Ye-Ne,Se=ut[Ne],lt=ut[Ne+1],Gt=ut[Ye],Vt=ut[Ye+1];for(let ar=Ne+3;ar<Ye;ar+=3){let Qr=Ae(ut[ar],ut[ar+1],Se,lt,Gt,Vt);if(Qr>Xe)Le=ar,Xe=Qr;else if(Qr===Xe){let ai=Math.abs(ar-ht);ai<xe&&(Le=ar,xe=ai)}}Xe>Ve&&(Le-Ne>3&&Ee(ut,Ne,Le,Ve),ut[Le+2]=Xe,Ye-Le>3&&Ee(ut,Le,Ye,Ve))}function Ae(ut,Ne,Ye,Ve,Xe,ht){let Le=Xe-Ye,xe=ht-Ve;if(Le!==0||xe!==0){let Se=((ut-Ye)*Le+(Ne-Ve)*xe)/(Le*Le+xe*xe);Se>1?(Ye=Xe,Ve=ht):Se>0&&(Ye+=Le*Se,Ve+=xe*Se)}return Le=ut-Ye,xe=Ne-Ve,Le*Le+xe*xe}function ze(ut,Ne,Ye,Ve){let Xe={id:ut==null?null:ut,type:Ne,geometry:Ye,tags:Ve,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(Ne===\"Point\"||Ne===\"MultiPoint\"||Ne===\"LineString\")Ce(Xe,Ye);else if(Ne===\"Polygon\")Ce(Xe,Ye[0]);else if(Ne===\"MultiLineString\")for(let ht of Ye)Ce(Xe,ht);else if(Ne===\"MultiPolygon\")for(let ht of Ye)Ce(Xe,ht[0]);return Xe}function Ce(ut,Ne){for(let Ye=0;Ye<Ne.length;Ye+=3)ut.minX=Math.min(ut.minX,Ne[Ye]),ut.minY=Math.min(ut.minY,Ne[Ye+1]),ut.maxX=Math.max(ut.maxX,Ne[Ye]),ut.maxY=Math.max(ut.maxY,Ne[Ye+1])}function me(ut,Ne,Ye,Ve){if(!Ne.geometry)return;let Xe=Ne.geometry.coordinates;if(Xe&&Xe.length===0)return;let ht=Ne.geometry.type,Le=Math.pow(Ye.tolerance/((1<<Ye.maxZoom)*Ye.extent),2),xe=[],Se=Ne.id;if(Ye.promoteId?Se=Ne.properties[Ye.promoteId]:Ye.generateId&&(Se=Ve||0),ht===\"Point\")Re(Xe,xe);else if(ht===\"MultiPoint\")for(let lt of Xe)Re(lt,xe);else if(ht===\"LineString\")ce(Xe,xe,Le,!1);else if(ht===\"MultiLineString\"){if(Ye.lineMetrics){for(let lt of Xe)xe=[],ce(lt,xe,Le,!1),ut.push(ze(Se,\"LineString\",xe,Ne.properties));return}Ge(Xe,xe,Le,!1)}else if(ht===\"Polygon\")Ge(Xe,xe,Le,!0);else{if(ht!==\"MultiPolygon\"){if(ht===\"GeometryCollection\"){for(let lt of Ne.geometry.geometries)me(ut,{id:Se,geometry:lt,properties:Ne.properties},Ye,Ve);return}throw new Error(\"Input data is not a valid GeoJSON object.\")}for(let lt of Xe){let Gt=[];Ge(lt,Gt,Le,!0),xe.push(Gt)}}ut.push(ze(Se,ht,xe,Ne.properties))}function Re(ut,Ne){Ne.push(nt(ut[0]),ct(ut[1]),0)}function ce(ut,Ne,Ye,Ve){let Xe,ht,Le=0;for(let Se=0;Se<ut.length;Se++){let lt=nt(ut[Se][0]),Gt=ct(ut[Se][1]);Ne.push(lt,Gt,0),Se>0&&(Le+=Ve?(Xe*Gt-lt*ht)/2:Math.sqrt(Math.pow(lt-Xe,2)+Math.pow(Gt-ht,2))),Xe=lt,ht=Gt}let xe=Ne.length-3;Ne[2]=1,Ee(Ne,0,xe,Ye),Ne[xe+2]=1,Ne.size=Math.abs(Le),Ne.start=0,Ne.end=Ne.size}function Ge(ut,Ne,Ye,Ve){for(let Xe=0;Xe<ut.length;Xe++){let ht=[];ce(ut[Xe],ht,Ye,Ve),Ne.push(ht)}}function nt(ut){return ut/360+.5}function ct(ut){let Ne=Math.sin(ut*Math.PI/180),Ye=.5-.25*Math.log((1+Ne)/(1-Ne))/Math.PI;return Ye<0?0:Ye>1?1:Ye}function qt(ut,Ne,Ye,Ve,Xe,ht,Le,xe){if(Ve/=Ne,ht>=(Ye/=Ne)&&Le<Ve)return ut;if(Le<Ye||ht>=Ve)return null;let Se=[];for(let lt of ut){let Gt=lt.geometry,Vt=lt.type,ar=Xe===0?lt.minX:lt.minY,Qr=Xe===0?lt.maxX:lt.maxY;if(ar>=Ye&&Qr<Ve){Se.push(lt);continue}if(Qr<Ye||ar>=Ve)continue;let ai=[];if(Vt===\"Point\"||Vt===\"MultiPoint\")rt(Gt,ai,Ye,Ve,Xe);else if(Vt===\"LineString\")ot(Gt,ai,Ye,Ve,Xe,!1,xe.lineMetrics);else if(Vt===\"MultiLineString\")kt(Gt,ai,Ye,Ve,Xe,!1);else if(Vt===\"Polygon\")kt(Gt,ai,Ye,Ve,Xe,!0);else if(Vt===\"MultiPolygon\")for(let jr of Gt){let ri=[];kt(jr,ri,Ye,Ve,Xe,!0),ri.length&&ai.push(ri)}if(ai.length){if(xe.lineMetrics&&Vt===\"LineString\"){for(let jr of ai)Se.push(ze(lt.id,Vt,jr,lt.tags));continue}Vt!==\"LineString\"&&Vt!==\"MultiLineString\"||(ai.length===1?(Vt=\"LineString\",ai=ai[0]):Vt=\"MultiLineString\"),Vt!==\"Point\"&&Vt!==\"MultiPoint\"||(Vt=ai.length===3?\"Point\":\"MultiPoint\"),Se.push(ze(lt.id,Vt,ai,lt.tags))}}return Se.length?Se:null}function rt(ut,Ne,Ye,Ve,Xe){for(let ht=0;ht<ut.length;ht+=3){let Le=ut[ht+Xe];Le>=Ye&&Le<=Ve&&Ct(Ne,ut[ht],ut[ht+1],ut[ht+2])}}function ot(ut,Ne,Ye,Ve,Xe,ht,Le){let xe=Rt(ut),Se=Xe===0?Yt:xr,lt,Gt,Vt=ut.start;for(let ri=0;ri<ut.length-3;ri+=3){let bi=ut[ri],nn=ut[ri+1],Wi=ut[ri+2],Ni=ut[ri+3],_n=ut[ri+4],$i=Xe===0?bi:nn,zn=Xe===0?Ni:_n,Wn=!1;Le&&(lt=Math.sqrt(Math.pow(bi-Ni,2)+Math.pow(nn-_n,2))),$i<Ye?zn>Ye&&(Gt=Se(xe,bi,nn,Ni,_n,Ye),Le&&(xe.start=Vt+lt*Gt)):$i>Ve?zn<Ve&&(Gt=Se(xe,bi,nn,Ni,_n,Ve),Le&&(xe.start=Vt+lt*Gt)):Ct(xe,bi,nn,Wi),zn<Ye&&$i>=Ye&&(Gt=Se(xe,bi,nn,Ni,_n,Ye),Wn=!0),zn>Ve&&$i<=Ve&&(Gt=Se(xe,bi,nn,Ni,_n,Ve),Wn=!0),!ht&&Wn&&(Le&&(xe.end=Vt+lt*Gt),Ne.push(xe),xe=Rt(ut)),Le&&(Vt+=lt)}let ar=ut.length-3,Qr=ut[ar],ai=ut[ar+1],jr=Xe===0?Qr:ai;jr>=Ye&&jr<=Ve&&Ct(xe,Qr,ai,ut[ar+2]),ar=xe.length-3,ht&&ar>=3&&(xe[ar]!==xe[0]||xe[ar+1]!==xe[1])&&Ct(xe,xe[0],xe[1],xe[2]),xe.length&&Ne.push(xe)}function Rt(ut){let Ne=[];return Ne.size=ut.size,Ne.start=ut.start,Ne.end=ut.end,Ne}function kt(ut,Ne,Ye,Ve,Xe,ht){for(let Le of ut)ot(Le,Ne,Ye,Ve,Xe,ht,!1)}function Ct(ut,Ne,Ye,Ve){ut.push(Ne,Ye,Ve)}function Yt(ut,Ne,Ye,Ve,Xe,ht){let Le=(ht-Ne)/(Ve-Ne);return Ct(ut,ht,Ye+(Xe-Ye)*Le,1),Le}function xr(ut,Ne,Ye,Ve,Xe,ht){let Le=(ht-Ye)/(Xe-Ye);return Ct(ut,Ne+(Ve-Ne)*Le,ht,1),Le}function er(ut,Ne){let Ye=[];for(let Ve=0;Ve<ut.length;Ve++){let Xe=ut[Ve],ht=Xe.type,Le;if(ht===\"Point\"||ht===\"MultiPoint\"||ht===\"LineString\")Le=Ke(Xe.geometry,Ne);else if(ht===\"MultiLineString\"||ht===\"Polygon\"){Le=[];for(let xe of Xe.geometry)Le.push(Ke(xe,Ne))}else if(ht===\"MultiPolygon\"){Le=[];for(let xe of Xe.geometry){let Se=[];for(let lt of xe)Se.push(Ke(lt,Ne));Le.push(Se)}}Ye.push(ze(Xe.id,ht,Le,Xe.tags))}return Ye}function Ke(ut,Ne){let Ye=[];Ye.size=ut.size,ut.start!==void 0&&(Ye.start=ut.start,Ye.end=ut.end);for(let Ve=0;Ve<ut.length;Ve+=3)Ye.push(ut[Ve]+Ne,ut[Ve+1],ut[Ve+2]);return Ye}function xt(ut,Ne){if(ut.transformed)return ut;let Ye=1<<ut.z,Ve=ut.x,Xe=ut.y;for(let ht of ut.features){let Le=ht.geometry,xe=ht.type;if(ht.geometry=[],xe===1)for(let Se=0;Se<Le.length;Se+=2)ht.geometry.push(bt(Le[Se],Le[Se+1],Ne,Ye,Ve,Xe));else for(let Se=0;Se<Le.length;Se++){let lt=[];for(let Gt=0;Gt<Le[Se].length;Gt+=2)lt.push(bt(Le[Se][Gt],Le[Se][Gt+1],Ne,Ye,Ve,Xe));ht.geometry.push(lt)}}return ut.transformed=!0,ut}function bt(ut,Ne,Ye,Ve,Xe,ht){return[Math.round(Ye*(ut*Ve-Xe)),Math.round(Ye*(Ne*Ve-ht))]}function Lt(ut,Ne,Ye,Ve,Xe){let ht=Ne===Xe.maxZoom?0:Xe.tolerance/((1<<Ne)*Xe.extent),Le={features:[],numPoints:0,numSimplified:0,numFeatures:ut.length,source:null,x:Ye,y:Ve,z:Ne,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0};for(let xe of ut)St(Le,xe,ht,Xe);return Le}function St(ut,Ne,Ye,Ve){let Xe=Ne.geometry,ht=Ne.type,Le=[];if(ut.minX=Math.min(ut.minX,Ne.minX),ut.minY=Math.min(ut.minY,Ne.minY),ut.maxX=Math.max(ut.maxX,Ne.maxX),ut.maxY=Math.max(ut.maxY,Ne.maxY),ht===\"Point\"||ht===\"MultiPoint\")for(let xe=0;xe<Xe.length;xe+=3)Le.push(Xe[xe],Xe[xe+1]),ut.numPoints++,ut.numSimplified++;else if(ht===\"LineString\")Et(Le,Xe,ut,Ye,!1,!1);else if(ht===\"MultiLineString\"||ht===\"Polygon\")for(let xe=0;xe<Xe.length;xe++)Et(Le,Xe[xe],ut,Ye,ht===\"Polygon\",xe===0);else if(ht===\"MultiPolygon\")for(let xe=0;xe<Xe.length;xe++){let Se=Xe[xe];for(let lt=0;lt<Se.length;lt++)Et(Le,Se[lt],ut,Ye,!0,lt===0)}if(Le.length){let xe=Ne.tags||null;if(ht===\"LineString\"&&Ve.lineMetrics){xe={};for(let lt in Ne.tags)xe[lt]=Ne.tags[lt];xe.mapbox_clip_start=Xe.start/Xe.size,xe.mapbox_clip_end=Xe.end/Xe.size}let Se={geometry:Le,type:ht===\"Polygon\"||ht===\"MultiPolygon\"?3:ht===\"LineString\"||ht===\"MultiLineString\"?2:1,tags:xe};Ne.id!==null&&(Se.id=Ne.id),ut.features.push(Se)}}function Et(ut,Ne,Ye,Ve,Xe,ht){let Le=Ve*Ve;if(Ve>0&&Ne.size<(Xe?Le:Ve))return void(Ye.numPoints+=Ne.length/3);let xe=[];for(let Se=0;Se<Ne.length;Se+=3)(Ve===0||Ne[Se+2]>Le)&&(Ye.numSimplified++,xe.push(Ne[Se],Ne[Se+1])),Ye.numPoints++;Xe&&function(Se,lt){let Gt=0;for(let Vt=0,ar=Se.length,Qr=ar-2;Vt<ar;Qr=Vt,Vt+=2)Gt+=(Se[Vt]-Se[Qr])*(Se[Vt+1]+Se[Qr+1]);if(Gt>0===lt)for(let Vt=0,ar=Se.length;Vt<ar/2;Vt+=2){let Qr=Se[Vt],ai=Se[Vt+1];Se[Vt]=Se[ar-2-Vt],Se[Vt+1]=Se[ar-1-Vt],Se[ar-2-Vt]=Qr,Se[ar-1-Vt]=ai}}(xe,ht),ut.push(xe)}let dt={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0};class Ht{constructor(Ne,Ye){let Ve=(Ye=this.options=function(ht,Le){for(let xe in Le)ht[xe]=Le[xe];return ht}(Object.create(dt),Ye)).debug;if(Ve&&console.time(\"preprocess data\"),Ye.maxZoom<0||Ye.maxZoom>24)throw new Error(\"maxZoom should be in the 0-24 range\");if(Ye.promoteId&&Ye.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");let Xe=function(ht,Le){let xe=[];if(ht.type===\"FeatureCollection\")for(let Se=0;Se<ht.features.length;Se++)me(xe,ht.features[Se],Le,Se);else me(xe,ht.type===\"Feature\"?ht:{geometry:ht},Le);return xe}(Ne,Ye);this.tiles={},this.tileCoords=[],Ve&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",Ye.indexMaxZoom,Ye.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),Xe=function(ht,Le){let xe=Le.buffer/Le.extent,Se=ht,lt=qt(ht,1,-1-xe,xe,0,-1,2,Le),Gt=qt(ht,1,1-xe,2+xe,0,-1,2,Le);return(lt||Gt)&&(Se=qt(ht,1,-xe,1+xe,0,-1,2,Le)||[],lt&&(Se=er(lt,1).concat(Se)),Gt&&(Se=Se.concat(er(Gt,-1)))),Se}(Xe,Ye),Xe.length&&this.splitTile(Xe,0,0,0),Ve&&(Xe.length&&console.log(\"features: %d, points: %d\",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(\"generate tiles\"),console.log(\"tiles generated:\",this.total,JSON.stringify(this.stats)))}splitTile(Ne,Ye,Ve,Xe,ht,Le,xe){let Se=[Ne,Ye,Ve,Xe],lt=this.options,Gt=lt.debug;for(;Se.length;){Xe=Se.pop(),Ve=Se.pop(),Ye=Se.pop(),Ne=Se.pop();let Vt=1<<Ye,ar=$t(Ye,Ve,Xe),Qr=this.tiles[ar];if(!Qr&&(Gt>1&&console.time(\"creation\"),Qr=this.tiles[ar]=Lt(Ne,Ye,Ve,Xe,lt),this.tileCoords.push({z:Ye,x:Ve,y:Xe}),Gt)){Gt>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",Ye,Ve,Xe,Qr.numFeatures,Qr.numPoints,Qr.numSimplified),console.timeEnd(\"creation\"));let Wn=`z${Ye}`;this.stats[Wn]=(this.stats[Wn]||0)+1,this.total++}if(Qr.source=Ne,ht==null){if(Ye===lt.indexMaxZoom||Qr.numPoints<=lt.indexMaxPoints)continue}else{if(Ye===lt.maxZoom||Ye===ht)continue;if(ht!=null){let Wn=ht-Ye;if(Ve!==Le>>Wn||Xe!==xe>>Wn)continue}}if(Qr.source=null,Ne.length===0)continue;Gt>1&&console.time(\"clipping\");let ai=.5*lt.buffer/lt.extent,jr=.5-ai,ri=.5+ai,bi=1+ai,nn=null,Wi=null,Ni=null,_n=null,$i=qt(Ne,Vt,Ve-ai,Ve+ri,0,Qr.minX,Qr.maxX,lt),zn=qt(Ne,Vt,Ve+jr,Ve+bi,0,Qr.minX,Qr.maxX,lt);Ne=null,$i&&(nn=qt($i,Vt,Xe-ai,Xe+ri,1,Qr.minY,Qr.maxY,lt),Wi=qt($i,Vt,Xe+jr,Xe+bi,1,Qr.minY,Qr.maxY,lt),$i=null),zn&&(Ni=qt(zn,Vt,Xe-ai,Xe+ri,1,Qr.minY,Qr.maxY,lt),_n=qt(zn,Vt,Xe+jr,Xe+bi,1,Qr.minY,Qr.maxY,lt),zn=null),Gt>1&&console.timeEnd(\"clipping\"),Se.push(nn||[],Ye+1,2*Ve,2*Xe),Se.push(Wi||[],Ye+1,2*Ve,2*Xe+1),Se.push(Ni||[],Ye+1,2*Ve+1,2*Xe),Se.push(_n||[],Ye+1,2*Ve+1,2*Xe+1)}}getTile(Ne,Ye,Ve){Ne=+Ne,Ye=+Ye,Ve=+Ve;let Xe=this.options,{extent:ht,debug:Le}=Xe;if(Ne<0||Ne>24)return null;let xe=1<<Ne,Se=$t(Ne,Ye=Ye+xe&xe-1,Ve);if(this.tiles[Se])return xt(this.tiles[Se],ht);Le>1&&console.log(\"drilling down to z%d-%d-%d\",Ne,Ye,Ve);let lt,Gt=Ne,Vt=Ye,ar=Ve;for(;!lt&&Gt>0;)Gt--,Vt>>=1,ar>>=1,lt=this.tiles[$t(Gt,Vt,ar)];return lt&<.source?(Le>1&&(console.log(\"found parent tile z%d-%d-%d\",Gt,Vt,ar),console.time(\"drilling down\")),this.splitTile(lt.source,Gt,Vt,ar,Ne,Ye,Ve),Le>1&&console.timeEnd(\"drilling down\"),this.tiles[Se]?xt(this.tiles[Se],ht):null):null}}function $t(ut,Ne,Ye){return 32*((1<<ut)*Ye+Ne)+ut}function fr(ut,Ne){return Ne?ut.properties[Ne]:ut.id}function _r(ut,Ne){if(ut==null)return!0;if(ut.type===\"Feature\")return fr(ut,Ne)!=null;if(ut.type===\"FeatureCollection\"){let Ye=new Set;for(let Ve of ut.features){let Xe=fr(Ve,Ne);if(Xe==null||Ye.has(Xe))return!1;Ye.add(Xe)}return!0}return!1}function Br(ut,Ne){let Ye=new Map;if(ut!=null)if(ut.type===\"Feature\")Ye.set(fr(ut,Ne),ut);else for(let Ve of ut.features)Ye.set(fr(Ve,Ne),Ve);return Ye}class Or extends u{constructor(){super(...arguments),this._dataUpdateable=new Map}loadVectorTile(Ne,Ye){return i._(this,void 0,void 0,function*(){let Ve=Ne.tileID.canonical;if(!this._geoJSONIndex)throw new Error(\"Unable to parse the data into a cluster or geojson\");let Xe=this._geoJSONIndex.getTile(Ve.z,Ve.x,Ve.y);if(!Xe)return null;let ht=new class{constructor(xe){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=i.X,this.length=xe.length,this._features=xe}feature(xe){return new class{constructor(Se){this._feature=Se,this.extent=i.X,this.type=Se.type,this.properties=Se.tags,\"id\"in Se&&!isNaN(Se.id)&&(this.id=parseInt(Se.id,10))}loadGeometry(){if(this._feature.type===1){let Se=[];for(let lt of this._feature.geometry)Se.push([new i.P(lt[0],lt[1])]);return Se}{let Se=[];for(let lt of this._feature.geometry){let Gt=[];for(let Vt of lt)Gt.push(new i.P(Vt[0],Vt[1]));Se.push(Gt)}return Se}}toGeoJSON(Se,lt,Gt){return v.call(this,Se,lt,Gt)}}(this._features[xe])}}(Xe.features),Le=H(ht);return Le.byteOffset===0&&Le.byteLength===Le.buffer.byteLength||(Le=new Uint8Array(Le)),{vectorTile:ht,rawData:Le.buffer}})}loadData(Ne){return i._(this,void 0,void 0,function*(){var Ye;(Ye=this._pendingRequest)===null||Ye===void 0||Ye.abort();let Ve=!!(Ne&&Ne.request&&Ne.request.collectResourceTiming)&&new i.bv(Ne.request);this._pendingRequest=new AbortController;try{this._pendingData=this.loadAndProcessGeoJSON(Ne,this._pendingRequest),this._geoJSONIndex=Ne.cluster?new _e(function({superclusterOptions:Le,clusterProperties:xe}){if(!xe||!Le)return Le;let Se={},lt={},Gt={accumulated:null,zoom:0},Vt={properties:null},ar=Object.keys(xe);for(let Qr of ar){let[ai,jr]=xe[Qr],ri=i.bC(jr),bi=i.bC(typeof ai==\"string\"?[ai,[\"accumulated\"],[\"get\",Qr]]:ai);Se[Qr]=ri.value,lt[Qr]=bi.value}return Le.map=Qr=>{Vt.properties=Qr;let ai={};for(let jr of ar)ai[jr]=Se[jr].evaluate(Gt,Vt);return ai},Le.reduce=(Qr,ai)=>{Vt.properties=ai;for(let jr of ar)Gt.accumulated=Qr[jr],Qr[jr]=lt[jr].evaluate(Gt,Vt)},Le}(Ne)).load((yield this._pendingData).features):(Xe=yield this._pendingData,new Ht(Xe,Ne.geojsonVtOptions)),this.loaded={};let ht={};if(Ve){let Le=Ve.finish();Le&&(ht.resourceTiming={},ht.resourceTiming[Ne.source]=JSON.parse(JSON.stringify(Le)))}return ht}catch(ht){if(delete this._pendingRequest,i.bB(ht))return{abandoned:!0};throw ht}var Xe})}getData(){return i._(this,void 0,void 0,function*(){return this._pendingData})}reloadTile(Ne){let Ye=this.loaded;return Ye&&Ye[Ne.uid]?super.reloadTile(Ne):this.loadTile(Ne)}loadAndProcessGeoJSON(Ne,Ye){return i._(this,void 0,void 0,function*(){let Ve=yield this.loadGeoJSON(Ne,Ye);if(delete this._pendingRequest,typeof Ve!=\"object\")throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`);if(d(Ve,!0),Ne.filter){let Xe=i.bC(Ne.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(Xe.result===\"error\")throw new Error(Xe.value.map(Le=>`${Le.key}: ${Le.message}`).join(\", \"));Ve={type:\"FeatureCollection\",features:Ve.features.filter(Le=>Xe.value.evaluate({zoom:0},Le))}}return Ve})}loadGeoJSON(Ne,Ye){return i._(this,void 0,void 0,function*(){let{promoteId:Ve}=Ne;if(Ne.request){let Xe=yield i.h(Ne.request,Ye);return this._dataUpdateable=_r(Xe.data,Ve)?Br(Xe.data,Ve):void 0,Xe.data}if(typeof Ne.data==\"string\")try{let Xe=JSON.parse(Ne.data);return this._dataUpdateable=_r(Xe,Ve)?Br(Xe,Ve):void 0,Xe}catch(Xe){throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`)}if(!Ne.dataDiff)throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${Ne.source}`);return function(Xe,ht,Le){var xe,Se,lt,Gt;if(ht.removeAll&&Xe.clear(),ht.remove)for(let Vt of ht.remove)Xe.delete(Vt);if(ht.add)for(let Vt of ht.add){let ar=fr(Vt,Le);ar!=null&&Xe.set(ar,Vt)}if(ht.update)for(let Vt of ht.update){let ar=Xe.get(Vt.id);if(ar==null)continue;let Qr=!Vt.removeAllProperties&&(((xe=Vt.removeProperties)===null||xe===void 0?void 0:xe.length)>0||((Se=Vt.addOrUpdateProperties)===null||Se===void 0?void 0:Se.length)>0);if((Vt.newGeometry||Vt.removeAllProperties||Qr)&&(ar=Object.assign({},ar),Xe.set(Vt.id,ar),Qr&&(ar.properties=Object.assign({},ar.properties))),Vt.newGeometry&&(ar.geometry=Vt.newGeometry),Vt.removeAllProperties)ar.properties={};else if(((lt=Vt.removeProperties)===null||lt===void 0?void 0:lt.length)>0)for(let ai of Vt.removeProperties)Object.prototype.hasOwnProperty.call(ar.properties,ai)&&delete ar.properties[ai];if(((Gt=Vt.addOrUpdateProperties)===null||Gt===void 0?void 0:Gt.length)>0)for(let{key:ai,value:jr}of Vt.addOrUpdateProperties)ar.properties[ai]=jr}}(this._dataUpdateable,Ne.dataDiff,Ve),{type:\"FeatureCollection\",features:Array.from(this._dataUpdateable.values())}})}removeSource(Ne){return i._(this,void 0,void 0,function*(){this._pendingRequest&&this._pendingRequest.abort()})}getClusterExpansionZoom(Ne){return this._geoJSONIndex.getClusterExpansionZoom(Ne.clusterId)}getClusterChildren(Ne){return this._geoJSONIndex.getChildren(Ne.clusterId)}getClusterLeaves(Ne){return this._geoJSONIndex.getLeaves(Ne.clusterId,Ne.limit,Ne.offset)}}class Nr{constructor(Ne){this.self=Ne,this.actor=new i.F(Ne),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(Ye,Ve)=>{if(this.externalWorkerSourceTypes[Ye])throw new Error(`Worker source with name \"${Ye}\" already registered.`);this.externalWorkerSourceTypes[Ye]=Ve},this.self.addProtocol=i.bi,this.self.removeProtocol=i.bj,this.self.registerRTLTextPlugin=Ye=>{if(i.bD.isParsed())throw new Error(\"RTL text plugin already registered.\");i.bD.setMethods(Ye)},this.actor.registerMessageHandler(\"LDT\",(Ye,Ve)=>this._getDEMWorkerSource(Ye,Ve.source).loadTile(Ve)),this.actor.registerMessageHandler(\"RDT\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getDEMWorkerSource(Ye,Ve.source).removeTile(Ve)})),this.actor.registerMessageHandler(\"GCEZ\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterExpansionZoom(Ve)})),this.actor.registerMessageHandler(\"GCC\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterChildren(Ve)})),this.actor.registerMessageHandler(\"GCL\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterLeaves(Ve)})),this.actor.registerMessageHandler(\"LD\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).loadData(Ve)),this.actor.registerMessageHandler(\"GD\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).getData()),this.actor.registerMessageHandler(\"LT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).loadTile(Ve)),this.actor.registerMessageHandler(\"RT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).reloadTile(Ve)),this.actor.registerMessageHandler(\"AT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).abortTile(Ve)),this.actor.registerMessageHandler(\"RMT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).removeTile(Ve)),this.actor.registerMessageHandler(\"RS\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){if(!this.workerSources[Ye]||!this.workerSources[Ye][Ve.type]||!this.workerSources[Ye][Ve.type][Ve.source])return;let Xe=this.workerSources[Ye][Ve.type][Ve.source];delete this.workerSources[Ye][Ve.type][Ve.source],Xe.removeSource!==void 0&&Xe.removeSource(Ve)})),this.actor.registerMessageHandler(\"RM\",Ye=>i._(this,void 0,void 0,function*(){delete this.layerIndexes[Ye],delete this.availableImages[Ye],delete this.workerSources[Ye],delete this.demWorkerSources[Ye]})),this.actor.registerMessageHandler(\"SR\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this.referrer=Ve})),this.actor.registerMessageHandler(\"SRPS\",(Ye,Ve)=>this._syncRTLPluginState(Ye,Ve)),this.actor.registerMessageHandler(\"IS\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this.self.importScripts(Ve)})),this.actor.registerMessageHandler(\"SI\",(Ye,Ve)=>this._setImages(Ye,Ve)),this.actor.registerMessageHandler(\"UL\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getLayerIndex(Ye).update(Ve.layers,Ve.removedIds)})),this.actor.registerMessageHandler(\"SL\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getLayerIndex(Ye).replace(Ve)}))}_setImages(Ne,Ye){return i._(this,void 0,void 0,function*(){this.availableImages[Ne]=Ye;for(let Ve in this.workerSources[Ne]){let Xe=this.workerSources[Ne][Ve];for(let ht in Xe)Xe[ht].availableImages=Ye}})}_syncRTLPluginState(Ne,Ye){return i._(this,void 0,void 0,function*(){if(i.bD.isParsed())return i.bD.getState();if(Ye.pluginStatus!==\"loading\")return i.bD.setState(Ye),Ye;let Ve=Ye.pluginURL;if(this.self.importScripts(Ve),i.bD.isParsed()){let Xe={pluginStatus:\"loaded\",pluginURL:Ve};return i.bD.setState(Xe),Xe}throw i.bD.setState({pluginStatus:\"error\",pluginURL:\"\"}),new Error(`RTL Text Plugin failed to import scripts from ${Ve}`)})}_getAvailableImages(Ne){let Ye=this.availableImages[Ne];return Ye||(Ye=[]),Ye}_getLayerIndex(Ne){let Ye=this.layerIndexes[Ne];return Ye||(Ye=this.layerIndexes[Ne]=new a),Ye}_getWorkerSource(Ne,Ye,Ve){if(this.workerSources[Ne]||(this.workerSources[Ne]={}),this.workerSources[Ne][Ye]||(this.workerSources[Ne][Ye]={}),!this.workerSources[Ne][Ye][Ve]){let Xe={sendAsync:(ht,Le)=>(ht.targetMapId=Ne,this.actor.sendAsync(ht,Le))};switch(Ye){case\"vector\":this.workerSources[Ne][Ye][Ve]=new u(Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne));break;case\"geojson\":this.workerSources[Ne][Ye][Ve]=new Or(Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne));break;default:this.workerSources[Ne][Ye][Ve]=new this.externalWorkerSourceTypes[Ye](Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne))}}return this.workerSources[Ne][Ye][Ve]}_getDEMWorkerSource(Ne,Ye){return this.demWorkerSources[Ne]||(this.demWorkerSources[Ne]={}),this.demWorkerSources[Ne][Ye]||(this.demWorkerSources[Ne][Ye]=new c),this.demWorkerSources[Ne][Ye]}}return i.i(self)&&(self.worker=new Nr(self)),Nr}),r(\"index\",[\"exports\",\"./shared\"],function(i,a){\"use strict\";var o=\"4.7.1\";let s,l,u={now:typeof performance!=\"undefined\"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:le=>new Promise((w,B)=>{let Q=requestAnimationFrame(w);le.signal.addEventListener(\"abort\",()=>{cancelAnimationFrame(Q),B(a.c())})}),getImageData(le,w=0){return this.getImageCanvasContext(le).getImageData(-w,-w,le.width+2*w,le.height+2*w)},getImageCanvasContext(le){let w=window.document.createElement(\"canvas\"),B=w.getContext(\"2d\",{willReadFrequently:!0});if(!B)throw new Error(\"failed to create canvas 2d context\");return w.width=le.width,w.height=le.height,B.drawImage(le,0,0,le.width,le.height),B},resolveURL:le=>(s||(s=document.createElement(\"a\")),s.href=le,s.href),hardwareConcurrency:typeof navigator!=\"undefined\"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(l==null&&(l=matchMedia(\"(prefers-reduced-motion: reduce)\")),l.matches)}};class c{static testProp(w){if(!c.docStyle)return w[0];for(let B=0;B<w.length;B++)if(w[B]in c.docStyle)return w[B];return w[0]}static create(w,B,Q){let ee=window.document.createElement(w);return B!==void 0&&(ee.className=B),Q&&Q.appendChild(ee),ee}static createNS(w,B){return window.document.createElementNS(w,B)}static disableDrag(){c.docStyle&&c.selectProp&&(c.userSelect=c.docStyle[c.selectProp],c.docStyle[c.selectProp]=\"none\")}static enableDrag(){c.docStyle&&c.selectProp&&(c.docStyle[c.selectProp]=c.userSelect)}static setTransform(w,B){w.style[c.transformProp]=B}static addEventListener(w,B,Q,ee={}){w.addEventListener(B,Q,\"passive\"in ee?ee:ee.capture)}static removeEventListener(w,B,Q,ee={}){w.removeEventListener(B,Q,\"passive\"in ee?ee:ee.capture)}static suppressClickInternal(w){w.preventDefault(),w.stopPropagation(),window.removeEventListener(\"click\",c.suppressClickInternal,!0)}static suppressClick(){window.addEventListener(\"click\",c.suppressClickInternal,!0),window.setTimeout(()=>{window.removeEventListener(\"click\",c.suppressClickInternal,!0)},0)}static getScale(w){let B=w.getBoundingClientRect();return{x:B.width/w.offsetWidth||1,y:B.height/w.offsetHeight||1,boundingClientRect:B}}static getPoint(w,B,Q){let ee=B.boundingClientRect;return new a.P((Q.clientX-ee.left)/B.x-w.clientLeft,(Q.clientY-ee.top)/B.y-w.clientTop)}static mousePos(w,B){let Q=c.getScale(w);return c.getPoint(w,Q,B)}static touchPos(w,B){let Q=[],ee=c.getScale(w);for(let se=0;se<B.length;se++)Q.push(c.getPoint(w,ee,B[se]));return Q}static mouseButton(w){return w.button}static remove(w){w.parentNode&&w.parentNode.removeChild(w)}}c.docStyle=typeof window!=\"undefined\"&&window.document&&window.document.documentElement.style,c.selectProp=c.testProp([\"userSelect\",\"MozUserSelect\",\"WebkitUserSelect\",\"msUserSelect\"]),c.transformProp=c.testProp([\"transform\",\"WebkitTransform\"]);let f={supported:!1,testSupport:function(le){!v&&d&&(x?b(le):h=le)}},h,d,v=!1,x=!1;function b(le){let w=le.createTexture();le.bindTexture(le.TEXTURE_2D,w);try{if(le.texImage2D(le.TEXTURE_2D,0,le.RGBA,le.RGBA,le.UNSIGNED_BYTE,d),le.isContextLost())return;f.supported=!0}catch(B){}le.deleteTexture(w),v=!0}var p;typeof document!=\"undefined\"&&(d=document.createElement(\"img\"),d.onload=()=>{h&&b(h),h=null,x=!0},d.onerror=()=>{v=!0,h=null},d.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\"),function(le){let w,B,Q,ee;le.resetRequestQueue=()=>{w=[],B=0,Q=0,ee={}},le.addThrottleControl=it=>{let yt=Q++;return ee[yt]=it,yt},le.removeThrottleControl=it=>{delete ee[it],qe()},le.getImage=(it,yt,Ot=!0)=>new Promise((Nt,hr)=>{f.supported&&(it.headers||(it.headers={}),it.headers.accept=\"image/webp,*/*\"),a.e(it,{type:\"image\"}),w.push({abortController:yt,requestParameters:it,supportImageRefresh:Ot,state:\"queued\",onError:Sr=>{hr(Sr)},onSuccess:Sr=>{Nt(Sr)}}),qe()});let se=it=>a._(this,void 0,void 0,function*(){it.state=\"running\";let{requestParameters:yt,supportImageRefresh:Ot,onError:Nt,onSuccess:hr,abortController:Sr}=it,he=Ot===!1&&!a.i(self)&&!a.g(yt.url)&&(!yt.headers||Object.keys(yt.headers).reduce((Oe,Je)=>Oe&&Je===\"accept\",!0));B++;let be=he?je(yt,Sr):a.m(yt,Sr);try{let Oe=yield be;delete it.abortController,it.state=\"completed\",Oe.data instanceof HTMLImageElement||a.b(Oe.data)?hr(Oe):Oe.data&&hr({data:yield(Pe=Oe.data,typeof createImageBitmap==\"function\"?a.d(Pe):a.f(Pe)),cacheControl:Oe.cacheControl,expires:Oe.expires})}catch(Oe){delete it.abortController,Nt(Oe)}finally{B--,qe()}var Pe}),qe=()=>{let it=(()=>{for(let yt of Object.keys(ee))if(ee[yt]())return!0;return!1})()?a.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:a.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let yt=B;yt<it&&w.length>0;yt++){let Ot=w.shift();Ot.abortController.signal.aborted?yt--:se(Ot)}},je=(it,yt)=>new Promise((Ot,Nt)=>{let hr=new Image,Sr=it.url,he=it.credentials;he&&he===\"include\"?hr.crossOrigin=\"use-credentials\":(he&&he===\"same-origin\"||!a.s(Sr))&&(hr.crossOrigin=\"anonymous\"),yt.signal.addEventListener(\"abort\",()=>{hr.src=\"\",Nt(a.c())}),hr.fetchPriority=\"high\",hr.onload=()=>{hr.onerror=hr.onload=null,Ot({data:hr})},hr.onerror=()=>{hr.onerror=hr.onload=null,yt.signal.aborted||Nt(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.\"))},hr.src=Sr})}(p||(p={})),p.resetRequestQueue();class E{constructor(w){this._transformRequestFn=w}transformRequest(w,B){return this._transformRequestFn&&this._transformRequestFn(w,B)||{url:w}}setTransformRequest(w){this._transformRequestFn=w}}function k(le){var w=new a.A(3);return w[0]=le[0],w[1]=le[1],w[2]=le[2],w}var A,L=function(le,w,B){return le[0]=w[0]-B[0],le[1]=w[1]-B[1],le[2]=w[2]-B[2],le};A=new a.A(3),a.A!=Float32Array&&(A[0]=0,A[1]=0,A[2]=0);var _=function(le){var w=le[0],B=le[1];return w*w+B*B};function C(le){let w=[];if(typeof le==\"string\")w.push({id:\"default\",url:le});else if(le&&le.length>0){let B=[];for(let{id:Q,url:ee}of le){let se=`${Q}${ee}`;B.indexOf(se)===-1&&(B.push(se),w.push({id:Q,url:ee}))}}return w}function M(le,w,B){let Q=le.split(\"?\");return Q[0]+=`${w}${B}`,Q.join(\"?\")}(function(){var le=new a.A(2);a.A!=Float32Array&&(le[0]=0,le[1]=0)})();class g{constructor(w,B,Q,ee){this.context=w,this.format=Q,this.texture=w.gl.createTexture(),this.update(B,ee)}update(w,B,Q){let{width:ee,height:se}=w,qe=!(this.size&&this.size[0]===ee&&this.size[1]===se||Q),{context:je}=this,{gl:it}=je;if(this.useMipmap=!!(B&&B.useMipmap),it.bindTexture(it.TEXTURE_2D,this.texture),je.pixelStoreUnpackFlipY.set(!1),je.pixelStoreUnpack.set(1),je.pixelStoreUnpackPremultiplyAlpha.set(this.format===it.RGBA&&(!B||B.premultiply!==!1)),qe)this.size=[ee,se],w instanceof HTMLImageElement||w instanceof HTMLCanvasElement||w instanceof HTMLVideoElement||w instanceof ImageData||a.b(w)?it.texImage2D(it.TEXTURE_2D,0,this.format,this.format,it.UNSIGNED_BYTE,w):it.texImage2D(it.TEXTURE_2D,0,this.format,ee,se,0,this.format,it.UNSIGNED_BYTE,w.data);else{let{x:yt,y:Ot}=Q||{x:0,y:0};w instanceof HTMLImageElement||w instanceof HTMLCanvasElement||w instanceof HTMLVideoElement||w instanceof ImageData||a.b(w)?it.texSubImage2D(it.TEXTURE_2D,0,yt,Ot,it.RGBA,it.UNSIGNED_BYTE,w):it.texSubImage2D(it.TEXTURE_2D,0,yt,Ot,ee,se,it.RGBA,it.UNSIGNED_BYTE,w.data)}this.useMipmap&&this.isSizePowerOfTwo()&&it.generateMipmap(it.TEXTURE_2D)}bind(w,B,Q){let{context:ee}=this,{gl:se}=ee;se.bindTexture(se.TEXTURE_2D,this.texture),Q!==se.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(Q=se.LINEAR),w!==this.filter&&(se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MAG_FILTER,w),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MIN_FILTER,Q||w),this.filter=w),B!==this.wrap&&(se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_S,B),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_T,B),this.wrap=B)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:w}=this.context;w.deleteTexture(this.texture),this.texture=null}}function P(le){let{userImage:w}=le;return!!(w&&w.render&&w.render())&&(le.data.replace(new Uint8Array(w.data.buffer)),!0)}class T extends a.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new a.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(w){if(this.loaded!==w&&(this.loaded=w,w)){for(let{ids:B,promiseResolve:Q}of this.requestors)Q(this._getImagesForIds(B));this.requestors=[]}}getImage(w){let B=this.images[w];if(B&&!B.data&&B.spriteData){let Q=B.spriteData;B.data=new a.R({width:Q.width,height:Q.height},Q.context.getImageData(Q.x,Q.y,Q.width,Q.height).data),B.spriteData=null}return B}addImage(w,B){if(this.images[w])throw new Error(`Image id ${w} already exist, use updateImage instead`);this._validate(w,B)&&(this.images[w]=B)}_validate(w,B){let Q=!0,ee=B.data||B.spriteData;return this._validateStretch(B.stretchX,ee&&ee.width)||(this.fire(new a.j(new Error(`Image \"${w}\" has invalid \"stretchX\" value`))),Q=!1),this._validateStretch(B.stretchY,ee&&ee.height)||(this.fire(new a.j(new Error(`Image \"${w}\" has invalid \"stretchY\" value`))),Q=!1),this._validateContent(B.content,B)||(this.fire(new a.j(new Error(`Image \"${w}\" has invalid \"content\" value`))),Q=!1),Q}_validateStretch(w,B){if(!w)return!0;let Q=0;for(let ee of w){if(ee[0]<Q||ee[1]<ee[0]||B<ee[1])return!1;Q=ee[1]}return!0}_validateContent(w,B){if(!w)return!0;if(w.length!==4)return!1;let Q=B.spriteData,ee=Q&&Q.width||B.data.width,se=Q&&Q.height||B.data.height;return!(w[0]<0||ee<w[0]||w[1]<0||se<w[1]||w[2]<0||ee<w[2]||w[3]<0||se<w[3]||w[2]<w[0]||w[3]<w[1])}updateImage(w,B,Q=!0){let ee=this.getImage(w);if(Q&&(ee.data.width!==B.data.width||ee.data.height!==B.data.height))throw new Error(`size mismatch between old image (${ee.data.width}x${ee.data.height}) and new image (${B.data.width}x${B.data.height}).`);B.version=ee.version+1,this.images[w]=B,this.updatedImages[w]=!0}removeImage(w){let B=this.images[w];delete this.images[w],delete this.patterns[w],B.userImage&&B.userImage.onRemove&&B.userImage.onRemove()}listImages(){return Object.keys(this.images)}getImages(w){return new Promise((B,Q)=>{let ee=!0;if(!this.isLoaded())for(let se of w)this.images[se]||(ee=!1);this.isLoaded()||ee?B(this._getImagesForIds(w)):this.requestors.push({ids:w,promiseResolve:B})})}_getImagesForIds(w){let B={};for(let Q of w){let ee=this.getImage(Q);ee||(this.fire(new a.k(\"styleimagemissing\",{id:Q})),ee=this.getImage(Q)),ee?B[Q]={data:ee.data.clone(),pixelRatio:ee.pixelRatio,sdf:ee.sdf,version:ee.version,stretchX:ee.stretchX,stretchY:ee.stretchY,content:ee.content,textFitWidth:ee.textFitWidth,textFitHeight:ee.textFitHeight,hasRenderCallback:!!(ee.userImage&&ee.userImage.render)}:a.w(`Image \"${Q}\" 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 B}getPixelSize(){let{width:w,height:B}=this.atlasImage;return{width:w,height:B}}getPattern(w){let B=this.patterns[w],Q=this.getImage(w);if(!Q)return null;if(B&&B.position.version===Q.version)return B.position;if(B)B.position.version=Q.version;else{let ee={w:Q.data.width+2,h:Q.data.height+2,x:0,y:0},se=new a.I(ee,Q);this.patterns[w]={bin:ee,position:se}}return this._updatePatternAtlas(),this.patterns[w].position}bind(w){let B=w.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new g(w,this.atlasImage,B.RGBA),this.atlasTexture.bind(B.LINEAR,B.CLAMP_TO_EDGE)}_updatePatternAtlas(){let w=[];for(let se in this.patterns)w.push(this.patterns[se].bin);let{w:B,h:Q}=a.p(w),ee=this.atlasImage;ee.resize({width:B||1,height:Q||1});for(let se in this.patterns){let{bin:qe}=this.patterns[se],je=qe.x+1,it=qe.y+1,yt=this.getImage(se).data,Ot=yt.width,Nt=yt.height;a.R.copy(yt,ee,{x:0,y:0},{x:je,y:it},{width:Ot,height:Nt}),a.R.copy(yt,ee,{x:0,y:Nt-1},{x:je,y:it-1},{width:Ot,height:1}),a.R.copy(yt,ee,{x:0,y:0},{x:je,y:it+Nt},{width:Ot,height:1}),a.R.copy(yt,ee,{x:Ot-1,y:0},{x:je-1,y:it},{width:1,height:Nt}),a.R.copy(yt,ee,{x:0,y:0},{x:je+Ot,y:it},{width:1,height:Nt})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(w){for(let B of w){if(this.callbackDispatchedThisFrame[B])continue;this.callbackDispatchedThisFrame[B]=!0;let Q=this.getImage(B);Q||a.w(`Image with ID: \"${B}\" was not found`),P(Q)&&this.updateImage(B,Q)}}}let F=1e20;function q(le,w,B,Q,ee,se,qe,je,it){for(let yt=w;yt<w+Q;yt++)V(le,B*se+yt,se,ee,qe,je,it);for(let yt=B;yt<B+ee;yt++)V(le,yt*se+w,1,Q,qe,je,it)}function V(le,w,B,Q,ee,se,qe){se[0]=0,qe[0]=-F,qe[1]=F,ee[0]=le[w];for(let je=1,it=0,yt=0;je<Q;je++){ee[je]=le[w+je*B];let Ot=je*je;do{let Nt=se[it];yt=(ee[je]-ee[Nt]+Ot-Nt*Nt)/(je-Nt)/2}while(yt<=qe[it]&&--it>-1);it++,se[it]=je,qe[it]=yt,qe[it+1]=F}for(let je=0,it=0;je<Q;je++){for(;qe[it+1]<je;)it++;let yt=se[it],Ot=je-yt;le[w+je*B]=ee[yt]+Ot*Ot}}class H{constructor(w,B){this.requestManager=w,this.localIdeographFontFamily=B,this.entries={}}setURL(w){this.url=w}getGlyphs(w){return a._(this,void 0,void 0,function*(){let B=[];for(let se in w)for(let qe of w[se])B.push(this._getAndCacheGlyphsPromise(se,qe));let Q=yield Promise.all(B),ee={};for(let{stack:se,id:qe,glyph:je}of Q)ee[se]||(ee[se]={}),ee[se][qe]=je&&{id:je.id,bitmap:je.bitmap.clone(),metrics:je.metrics};return ee})}_getAndCacheGlyphsPromise(w,B){return a._(this,void 0,void 0,function*(){let Q=this.entries[w];Q||(Q=this.entries[w]={glyphs:{},requests:{},ranges:{}});let ee=Q.glyphs[B];if(ee!==void 0)return{stack:w,id:B,glyph:ee};if(ee=this._tinySDF(Q,w,B),ee)return Q.glyphs[B]=ee,{stack:w,id:B,glyph:ee};let se=Math.floor(B/256);if(256*se>65535)throw new Error(\"glyphs > 65535 not supported\");if(Q.ranges[se])return{stack:w,id:B,glyph:ee};if(!this.url)throw new Error(\"glyphsUrl is not set\");if(!Q.requests[se]){let je=H.loadGlyphRange(w,se,this.url,this.requestManager);Q.requests[se]=je}let qe=yield Q.requests[se];for(let je in qe)this._doesCharSupportLocalGlyph(+je)||(Q.glyphs[+je]=qe[+je]);return Q.ranges[se]=!0,{stack:w,id:B,glyph:qe[B]||null}})}_doesCharSupportLocalGlyph(w){return!!this.localIdeographFontFamily&&new RegExp(\"\\\\p{Ideo}|\\\\p{sc=Hang}|\\\\p{sc=Hira}|\\\\p{sc=Kana}\",\"u\").test(String.fromCodePoint(w))}_tinySDF(w,B,Q){let ee=this.localIdeographFontFamily;if(!ee||!this._doesCharSupportLocalGlyph(Q))return;let se=w.tinySDF;if(!se){let je=\"400\";/bold/i.test(B)?je=\"900\":/medium/i.test(B)?je=\"500\":/light/i.test(B)&&(je=\"200\"),se=w.tinySDF=new H.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:ee,fontWeight:je})}let qe=se.draw(String.fromCharCode(Q));return{id:Q,bitmap:new a.o({width:qe.width||60,height:qe.height||60},qe.data),metrics:{width:qe.glyphWidth/2||24,height:qe.glyphHeight/2||24,left:qe.glyphLeft/2+.5||0,top:qe.glyphTop/2-27.5||-8,advance:qe.glyphAdvance/2||24,isDoubleResolution:!0}}}}H.loadGlyphRange=function(le,w,B,Q){return a._(this,void 0,void 0,function*(){let ee=256*w,se=ee+255,qe=Q.transformRequest(B.replace(\"{fontstack}\",le).replace(\"{range}\",`${ee}-${se}`),\"Glyphs\"),je=yield a.l(qe,new AbortController);if(!je||!je.data)throw new Error(`Could not load glyph range. range: ${w}, ${ee}-${se}`);let it={};for(let yt of a.n(je.data))it[yt.id]=yt;return it})},H.TinySDF=class{constructor({fontSize:le=24,buffer:w=3,radius:B=8,cutoff:Q=.25,fontFamily:ee=\"sans-serif\",fontWeight:se=\"normal\",fontStyle:qe=\"normal\"}={}){this.buffer=w,this.cutoff=Q,this.radius=B;let je=this.size=le+4*w,it=this._createCanvas(je),yt=this.ctx=it.getContext(\"2d\",{willReadFrequently:!0});yt.font=`${qe} ${se} ${le}px ${ee}`,yt.textBaseline=\"alphabetic\",yt.textAlign=\"left\",yt.fillStyle=\"black\",this.gridOuter=new Float64Array(je*je),this.gridInner=new Float64Array(je*je),this.f=new Float64Array(je),this.z=new Float64Array(je+1),this.v=new Uint16Array(je)}_createCanvas(le){let w=document.createElement(\"canvas\");return w.width=w.height=le,w}draw(le){let{width:w,actualBoundingBoxAscent:B,actualBoundingBoxDescent:Q,actualBoundingBoxLeft:ee,actualBoundingBoxRight:se}=this.ctx.measureText(le),qe=Math.ceil(B),je=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(se-ee))),it=Math.min(this.size-this.buffer,qe+Math.ceil(Q)),yt=je+2*this.buffer,Ot=it+2*this.buffer,Nt=Math.max(yt*Ot,0),hr=new Uint8ClampedArray(Nt),Sr={data:hr,width:yt,height:Ot,glyphWidth:je,glyphHeight:it,glyphTop:qe,glyphLeft:0,glyphAdvance:w};if(je===0||it===0)return Sr;let{ctx:he,buffer:be,gridInner:Pe,gridOuter:Oe}=this;he.clearRect(be,be,je,it),he.fillText(le,be,be+qe);let Je=he.getImageData(be,be,je,it);Oe.fill(F,0,Nt),Pe.fill(0,0,Nt);for(let He=0;He<it;He++)for(let et=0;et<je;et++){let Mt=Je.data[4*(He*je+et)+3]/255;if(Mt===0)continue;let Dt=(He+be)*yt+et+be;if(Mt===1)Oe[Dt]=0,Pe[Dt]=F;else{let Ut=.5-Mt;Oe[Dt]=Ut>0?Ut*Ut:0,Pe[Dt]=Ut<0?Ut*Ut:0}}q(Oe,0,0,yt,Ot,yt,this.f,this.v,this.z),q(Pe,be,be,je,it,yt,this.f,this.v,this.z);for(let He=0;He<Nt;He++){let et=Math.sqrt(Oe[He])-Math.sqrt(Pe[He]);hr[He]=Math.round(255-255*(et/this.radius+this.cutoff))}return Sr}};class X{constructor(){this.specification=a.v.light.position}possiblyEvaluate(w,B){return a.x(w.expression.evaluate(B))}interpolate(w,B,Q){return{x:a.y.number(w.x,B.x,Q),y:a.y.number(w.y,B.y,Q),z:a.y.number(w.z,B.z,Q)}}}let G;class N extends a.E{constructor(w){super(),G=G||new a.q({anchor:new a.D(a.v.light.anchor),position:new X,color:new a.D(a.v.light.color),intensity:new a.D(a.v.light.intensity)}),this._transitionable=new a.T(G),this.setLight(w),this._transitioning=this._transitionable.untransitioned()}getLight(){return this._transitionable.serialize()}setLight(w,B={}){if(!this._validate(a.r,w,B))for(let Q in w){let ee=w[Q];Q.endsWith(\"-transition\")?this._transitionable.setTransition(Q.slice(0,-11),ee):this._transitionable.setValue(Q,ee)}}updateTransitions(w){this._transitioning=this._transitionable.transitioned(w,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(w){this.properties=this._transitioning.possiblyEvaluate(w)}_validate(w,B,Q){return(!Q||Q.validate!==!1)&&a.t(this,w.call(a.u,{value:B,style:{glyphs:!0,sprite:!0},styleSpec:a.v}))}}let W=new a.q({\"sky-color\":new a.D(a.v.sky[\"sky-color\"]),\"horizon-color\":new a.D(a.v.sky[\"horizon-color\"]),\"fog-color\":new a.D(a.v.sky[\"fog-color\"]),\"fog-ground-blend\":new a.D(a.v.sky[\"fog-ground-blend\"]),\"horizon-fog-blend\":new a.D(a.v.sky[\"horizon-fog-blend\"]),\"sky-horizon-blend\":new a.D(a.v.sky[\"sky-horizon-blend\"]),\"atmosphere-blend\":new a.D(a.v.sky[\"atmosphere-blend\"])});class re extends a.E{constructor(w){super(),this._transitionable=new a.T(W),this.setSky(w),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new a.z(0))}setSky(w,B={}){if(!this._validate(a.B,w,B)){w||(w={\"sky-color\":\"transparent\",\"horizon-color\":\"transparent\",\"fog-color\":\"transparent\",\"fog-ground-blend\":1,\"atmosphere-blend\":0});for(let Q in w){let ee=w[Q];Q.endsWith(\"-transition\")?this._transitionable.setTransition(Q.slice(0,-11),ee):this._transitionable.setValue(Q,ee)}}}getSky(){return this._transitionable.serialize()}updateTransitions(w){this._transitioning=this._transitionable.transitioned(w,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(w){this.properties=this._transitioning.possiblyEvaluate(w)}_validate(w,B,Q={}){return(Q==null?void 0:Q.validate)!==!1&&a.t(this,w.call(a.u,a.e({value:B,style:{glyphs:!0,sprite:!0},styleSpec:a.v})))}calculateFogBlendOpacity(w){return w<60?0:w<70?(w-60)/10:1}}class ae{constructor(w,B){this.width=w,this.height=B,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}}getDash(w,B){let Q=w.join(\",\")+String(B);return this.dashEntry[Q]||(this.dashEntry[Q]=this.addDash(w,B)),this.dashEntry[Q]}getDashRanges(w,B,Q){let ee=[],se=w.length%2==1?-w[w.length-1]*Q:0,qe=w[0]*Q,je=!0;ee.push({left:se,right:qe,isDash:je,zeroLength:w[0]===0});let it=w[0];for(let yt=1;yt<w.length;yt++){je=!je;let Ot=w[yt];se=it*Q,it+=Ot,qe=it*Q,ee.push({left:se,right:qe,isDash:je,zeroLength:Ot===0})}return ee}addRoundDash(w,B,Q){let ee=B/2;for(let se=-Q;se<=Q;se++){let qe=this.width*(this.nextRow+Q+se),je=0,it=w[je];for(let yt=0;yt<this.width;yt++){yt/it.right>1&&(it=w[++je]);let Ot=Math.abs(yt-it.left),Nt=Math.abs(yt-it.right),hr=Math.min(Ot,Nt),Sr,he=se/Q*(ee+1);if(it.isDash){let be=ee-Math.abs(he);Sr=Math.sqrt(hr*hr+be*be)}else Sr=ee-Math.sqrt(hr*hr+he*he);this.data[qe+yt]=Math.max(0,Math.min(255,Sr+128))}}}addRegularDash(w){for(let je=w.length-1;je>=0;--je){let it=w[je],yt=w[je+1];it.zeroLength?w.splice(je,1):yt&&yt.isDash===it.isDash&&(yt.left=it.left,w.splice(je,1))}let B=w[0],Q=w[w.length-1];B.isDash===Q.isDash&&(B.left=Q.left-this.width,Q.right=B.right+this.width);let ee=this.width*this.nextRow,se=0,qe=w[se];for(let je=0;je<this.width;je++){je/qe.right>1&&(qe=w[++se]);let it=Math.abs(je-qe.left),yt=Math.abs(je-qe.right),Ot=Math.min(it,yt);this.data[ee+je]=Math.max(0,Math.min(255,(qe.isDash?Ot:-Ot)+128))}}addDash(w,B){let Q=B?7:0,ee=2*Q+1;if(this.nextRow+ee>this.height)return a.w(\"LineAtlas out of space\"),null;let se=0;for(let je=0;je<w.length;je++)se+=w[je];if(se!==0){let je=this.width/se,it=this.getDashRanges(w,this.width,je);B?this.addRoundDash(it,je,Q):this.addRegularDash(it)}let qe={y:(this.nextRow+Q+.5)/this.height,height:2*Q/this.height,width:se};return this.nextRow+=ee,this.dirty=!0,qe}bind(w){let B=w.gl;this.texture?(B.bindTexture(B.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,B.texSubImage2D(B.TEXTURE_2D,0,0,0,this.width,this.height,B.ALPHA,B.UNSIGNED_BYTE,this.data))):(this.texture=B.createTexture(),B.bindTexture(B.TEXTURE_2D,this.texture),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_S,B.REPEAT),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_T,B.REPEAT),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MIN_FILTER,B.LINEAR),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MAG_FILTER,B.LINEAR),B.texImage2D(B.TEXTURE_2D,0,B.ALPHA,this.width,this.height,0,B.ALPHA,B.UNSIGNED_BYTE,this.data))}}let _e=\"maplibre_preloaded_worker_pool\";class Me{constructor(){this.active={}}acquire(w){if(!this.workers)for(this.workers=[];this.workers.length<Me.workerCount;)this.workers.push(new Worker(a.a.WORKER_URL));return this.active[w]=!0,this.workers.slice()}release(w){delete this.active[w],this.numActive()===0&&(this.workers.forEach(B=>{B.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[_e]}numActive(){return Object.keys(this.active).length}}let ke=Math.floor(u.hardwareConcurrency/2),ge,ie;function Te(){return ge||(ge=new Me),ge}Me.workerCount=a.C(globalThis)?Math.max(Math.min(ke,3),1):1;class Ee{constructor(w,B){this.workerPool=w,this.actors=[],this.currentActor=0,this.id=B;let Q=this.workerPool.acquire(B);for(let ee=0;ee<Q.length;ee++){let se=new a.F(Q[ee],B);se.name=`Worker ${ee}`,this.actors.push(se)}if(!this.actors.length)throw new Error(\"No actors found\")}broadcast(w,B){let Q=[];for(let ee of this.actors)Q.push(ee.sendAsync({type:w,data:B}));return Promise.all(Q)}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(w=!0){this.actors.forEach(B=>{B.remove()}),this.actors=[],w&&this.workerPool.release(this.id)}registerMessageHandler(w,B){for(let Q of this.actors)Q.registerMessageHandler(w,B)}}function Ae(){return ie||(ie=new Ee(Te(),a.G),ie.registerMessageHandler(\"GR\",(le,w,B)=>a.m(w,B))),ie}function ze(le,w){let B=a.H();return a.J(B,B,[1,1,0]),a.K(B,B,[.5*le.width,.5*le.height,1]),a.L(B,B,le.calculatePosMatrix(w.toUnwrapped()))}function Ce(le,w,B,Q,ee,se){let qe=function(Nt,hr,Sr){if(Nt)for(let he of Nt){let be=hr[he];if(be&&be.source===Sr&&be.type===\"fill-extrusion\")return!0}else for(let he in hr){let be=hr[he];if(be.source===Sr&&be.type===\"fill-extrusion\")return!0}return!1}(ee&&ee.layers,w,le.id),je=se.maxPitchScaleFactor(),it=le.tilesIn(Q,je,qe);it.sort(me);let yt=[];for(let Nt of it)yt.push({wrappedTileID:Nt.tileID.wrapped().key,queryResults:Nt.tile.queryRenderedFeatures(w,B,le._state,Nt.queryGeometry,Nt.cameraQueryGeometry,Nt.scale,ee,se,je,ze(le.transform,Nt.tileID))});let Ot=function(Nt){let hr={},Sr={};for(let he of Nt){let be=he.queryResults,Pe=he.wrappedTileID,Oe=Sr[Pe]=Sr[Pe]||{};for(let Je in be){let He=be[Je],et=Oe[Je]=Oe[Je]||{},Mt=hr[Je]=hr[Je]||[];for(let Dt of He)et[Dt.featureIndex]||(et[Dt.featureIndex]=!0,Mt.push(Dt))}}return hr}(yt);for(let Nt in Ot)Ot[Nt].forEach(hr=>{let Sr=hr.feature,he=le.getFeatureState(Sr.layer[\"source-layer\"],Sr.id);Sr.source=Sr.layer.source,Sr.layer[\"source-layer\"]&&(Sr.sourceLayer=Sr.layer[\"source-layer\"]),Sr.state=he});return Ot}function me(le,w){let B=le.tileID,Q=w.tileID;return B.overscaledZ-Q.overscaledZ||B.canonical.y-Q.canonical.y||B.wrap-Q.wrap||B.canonical.x-Q.canonical.x}function Re(le,w,B){return a._(this,void 0,void 0,function*(){let Q=le;if(le.url?Q=(yield a.h(w.transformRequest(le.url,\"Source\"),B)).data:yield u.frameAsync(B),!Q)return null;let ee=a.M(a.e(Q,le),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);return\"vector_layers\"in Q&&Q.vector_layers&&(ee.vectorLayerIds=Q.vector_layers.map(se=>se.id)),ee})}class ce{constructor(w,B){w&&(B?this.setSouthWest(w).setNorthEast(B):Array.isArray(w)&&(w.length===4?this.setSouthWest([w[0],w[1]]).setNorthEast([w[2],w[3]]):this.setSouthWest(w[0]).setNorthEast(w[1])))}setNorthEast(w){return this._ne=w instanceof a.N?new a.N(w.lng,w.lat):a.N.convert(w),this}setSouthWest(w){return this._sw=w instanceof a.N?new a.N(w.lng,w.lat):a.N.convert(w),this}extend(w){let B=this._sw,Q=this._ne,ee,se;if(w instanceof a.N)ee=w,se=w;else{if(!(w instanceof ce))return Array.isArray(w)?w.length===4||w.every(Array.isArray)?this.extend(ce.convert(w)):this.extend(a.N.convert(w)):w&&(\"lng\"in w||\"lon\"in w)&&\"lat\"in w?this.extend(a.N.convert(w)):this;if(ee=w._sw,se=w._ne,!ee||!se)return this}return B||Q?(B.lng=Math.min(ee.lng,B.lng),B.lat=Math.min(ee.lat,B.lat),Q.lng=Math.max(se.lng,Q.lng),Q.lat=Math.max(se.lat,Q.lat)):(this._sw=new a.N(ee.lng,ee.lat),this._ne=new a.N(se.lng,se.lat)),this}getCenter(){return new a.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 a.N(this.getWest(),this.getNorth())}getSouthEast(){return new a.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(w){let{lng:B,lat:Q}=a.N.convert(w),ee=this._sw.lng<=B&&B<=this._ne.lng;return this._sw.lng>this._ne.lng&&(ee=this._sw.lng>=B&&B>=this._ne.lng),this._sw.lat<=Q&&Q<=this._ne.lat&&ee}static convert(w){return w instanceof ce?w:w&&new ce(w)}static fromLngLat(w,B=0){let Q=360*B/40075017,ee=Q/Math.cos(Math.PI/180*w.lat);return new ce(new a.N(w.lng-ee,w.lat-Q),new a.N(w.lng+ee,w.lat+Q))}adjustAntiMeridian(){let w=new a.N(this._sw.lng,this._sw.lat),B=new a.N(this._ne.lng,this._ne.lat);return new ce(w,w.lng>B.lng?new a.N(B.lng+360,B.lat):B)}}class Ge{constructor(w,B,Q){this.bounds=ce.convert(this.validateBounds(w)),this.minzoom=B||0,this.maxzoom=Q||24}validateBounds(w){return Array.isArray(w)&&w.length===4?[Math.max(-180,w[0]),Math.max(-90,w[1]),Math.min(180,w[2]),Math.min(90,w[3])]:[-180,-90,180,90]}contains(w){let B=Math.pow(2,w.z),Q=Math.floor(a.O(this.bounds.getWest())*B),ee=Math.floor(a.Q(this.bounds.getNorth())*B),se=Math.ceil(a.O(this.bounds.getEast())*B),qe=Math.ceil(a.Q(this.bounds.getSouth())*B);return w.x>=Q&&w.x<se&&w.y>=ee&&w.y<qe}}class nt extends a.E{constructor(w,B,Q,ee){if(super(),this.id=w,this.dispatcher=Q,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,a.e(this,a.M(B,[\"url\",\"scheme\",\"tileSize\",\"promoteId\"])),this._options=a.e({type:\"vector\"},B),this._collectResourceTiming=B.collectResourceTiming,this.tileSize!==512)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(ee)}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=new AbortController;try{let w=yield Re(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,this.map.style.sourceCaches[this.id].clearTiles(),w&&(a.e(this,w),w.bounds&&(this.tileBounds=new Ge(w.bounds,this.minzoom,this.maxzoom)),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))}catch(w){this._tileJSONRequest=null,this.fire(new a.j(w))}})}loaded(){return this._loaded}hasTile(w){return!this.tileBounds||this.tileBounds.contains(w.canonical)}onAdd(w){this.map=w,this.load()}setSourceProperty(w){this._tileJSONRequest&&this._tileJSONRequest.abort(),w(),this.load()}setTiles(w){return this.setSourceProperty(()=>{this._options.tiles=w}),this}setUrl(w){return this.setSourceProperty(()=>{this.url=w,this._options.url=w}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return a.e({},this._options)}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),Q={request:this.map._requestManager.transformRequest(B,\"Tile\"),uid:w.uid,tileID:w.tileID,zoom:w.tileID.overscaledZ,tileSize:this.tileSize*w.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};Q.request.collectResourceTiming=this._collectResourceTiming;let ee=\"RT\";if(w.actor&&w.state!==\"expired\"){if(w.state===\"loading\")return new Promise((se,qe)=>{w.reloadPromise={resolve:se,reject:qe}})}else w.actor=this.dispatcher.getActor(),ee=\"LT\";w.abortController=new AbortController;try{let se=yield w.actor.sendAsync({type:ee,data:Q},w.abortController);if(delete w.abortController,w.aborted)return;this._afterTileLoadWorkerResponse(w,se)}catch(se){if(delete w.abortController,w.aborted)return;if(se&&se.status!==404)throw se;this._afterTileLoadWorkerResponse(w,null)}})}_afterTileLoadWorkerResponse(w,B){if(B&&B.resourceTiming&&(w.resourceTiming=B.resourceTiming),B&&this.map._refreshExpiredTiles&&w.setExpiryData(B),w.loadVectorData(B,this.map.painter),w.reloadPromise){let Q=w.reloadPromise;w.reloadPromise=null,this.loadTile(w).then(Q.resolve).catch(Q.reject)}}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController),w.actor&&(yield w.actor.sendAsync({type:\"AT\",data:{uid:w.uid,type:this.type,source:this.id}}))})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.unloadVectorData(),w.actor&&(yield w.actor.sendAsync({type:\"RMT\",data:{uid:w.uid,type:this.type,source:this.id}}))})}hasTransition(){return!1}}class ct extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.dispatcher=Q,this.setEventedParent(ee),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=a.e({type:\"raster\"},B),a.e(this,a.M(B,[\"url\",\"scheme\",\"tileSize\"]))}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=new AbortController;try{let w=yield Re(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,w&&(a.e(this,w),w.bounds&&(this.tileBounds=new Ge(w.bounds,this.minzoom,this.maxzoom)),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))}catch(w){this._tileJSONRequest=null,this.fire(new a.j(w))}})}loaded(){return this._loaded}onAdd(w){this.map=w,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(w){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),w(),this.load()}setTiles(w){return this.setSourceProperty(()=>{this._options.tiles=w}),this}setUrl(w){return this.setSourceProperty(()=>{this.url=w,this._options.url=w}),this}serialize(){return a.e({},this._options)}hasTile(w){return!this.tileBounds||this.tileBounds.contains(w.canonical)}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);w.abortController=new AbortController;try{let Q=yield p.getImage(this.map._requestManager.transformRequest(B,\"Tile\"),w.abortController,this.map._refreshExpiredTiles);if(delete w.abortController,w.aborted)return void(w.state=\"unloaded\");if(Q&&Q.data){this.map._refreshExpiredTiles&&Q.cacheControl&&Q.expires&&w.setExpiryData({cacheControl:Q.cacheControl,expires:Q.expires});let ee=this.map.painter.context,se=ee.gl,qe=Q.data;w.texture=this.map.painter.getTileTexture(qe.width),w.texture?w.texture.update(qe,{useMipmap:!0}):(w.texture=new g(ee,qe,se.RGBA,{useMipmap:!0}),w.texture.bind(se.LINEAR,se.CLAMP_TO_EDGE,se.LINEAR_MIPMAP_NEAREST)),w.state=\"loaded\"}}catch(Q){if(delete w.abortController,w.aborted)w.state=\"unloaded\";else if(Q)throw w.state=\"errored\",Q}})}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController)})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.texture&&this.map.painter.saveTileTexture(w.texture)})}hasTransition(){return!1}}class qt extends ct{constructor(w,B,Q,ee){super(w,B,Q,ee),this.type=\"raster-dem\",this.maxzoom=22,this._options=a.e({type:\"raster-dem\"},B),this.encoding=B.encoding||\"mapbox\",this.redFactor=B.redFactor,this.greenFactor=B.greenFactor,this.blueFactor=B.blueFactor,this.baseShift=B.baseShift}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),Q=this.map._requestManager.transformRequest(B,\"Tile\");w.neighboringTiles=this._getNeighboringTiles(w.tileID),w.abortController=new AbortController;try{let ee=yield p.getImage(Q,w.abortController,this.map._refreshExpiredTiles);if(delete w.abortController,w.aborted)return void(w.state=\"unloaded\");if(ee&&ee.data){let se=ee.data;this.map._refreshExpiredTiles&&ee.cacheControl&&ee.expires&&w.setExpiryData({cacheControl:ee.cacheControl,expires:ee.expires});let qe=a.b(se)&&a.U()?se:yield this.readImageNow(se),je={type:this.type,uid:w.uid,source:this.id,rawImageData:qe,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!w.actor||w.state===\"expired\"){w.actor=this.dispatcher.getActor();let it=yield w.actor.sendAsync({type:\"LDT\",data:je});w.dem=it,w.needsHillshadePrepare=!0,w.needsTerrainPrepare=!0,w.state=\"loaded\"}}}catch(ee){if(delete w.abortController,w.aborted)w.state=\"unloaded\";else if(ee)throw w.state=\"errored\",ee}})}readImageNow(w){return a._(this,void 0,void 0,function*(){if(typeof VideoFrame!=\"undefined\"&&a.V()){let B=w.width+2,Q=w.height+2;try{return new a.R({width:B,height:Q},yield a.W(w,-1,-1,B,Q))}catch(ee){}}return u.getImageData(w,1)})}_getNeighboringTiles(w){let B=w.canonical,Q=Math.pow(2,B.z),ee=(B.x-1+Q)%Q,se=B.x===0?w.wrap-1:w.wrap,qe=(B.x+1+Q)%Q,je=B.x+1===Q?w.wrap+1:w.wrap,it={};return it[new a.S(w.overscaledZ,se,B.z,ee,B.y).key]={backfilled:!1},it[new a.S(w.overscaledZ,je,B.z,qe,B.y).key]={backfilled:!1},B.y>0&&(it[new a.S(w.overscaledZ,se,B.z,ee,B.y-1).key]={backfilled:!1},it[new a.S(w.overscaledZ,w.wrap,B.z,B.x,B.y-1).key]={backfilled:!1},it[new a.S(w.overscaledZ,je,B.z,qe,B.y-1).key]={backfilled:!1}),B.y+1<Q&&(it[new a.S(w.overscaledZ,se,B.z,ee,B.y+1).key]={backfilled:!1},it[new a.S(w.overscaledZ,w.wrap,B.z,B.x,B.y+1).key]={backfilled:!1},it[new a.S(w.overscaledZ,je,B.z,qe,B.y+1).key]={backfilled:!1}),it}unloadTile(w){return a._(this,void 0,void 0,function*(){w.demTexture&&this.map.painter.saveTileTexture(w.demTexture),w.fbo&&(w.fbo.destroy(),delete w.fbo),w.dem&&delete w.dem,delete w.neighboringTiles,w.state=\"unloaded\",w.actor&&(yield w.actor.sendAsync({type:\"RDT\",data:{type:this.type,uid:w.uid,source:this.id}}))})}}class rt extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._pendingLoads=0,this.actor=Q.getActor(),this.setEventedParent(ee),this._data=B.data,this._options=a.e({},B),this._collectResourceTiming=B.collectResourceTiming,B.maxzoom!==void 0&&(this.maxzoom=B.maxzoom),B.type&&(this.type=B.type),B.attribution&&(this.attribution=B.attribution),this.promoteId=B.promoteId;let se=a.X/this.tileSize;B.clusterMaxZoom!==void 0&&this.maxzoom<=B.clusterMaxZoom&&a.w(`The maxzoom value \"${this.maxzoom}\" is expected to be greater than the clusterMaxZoom value \"${B.clusterMaxZoom}\".`),this.workerOptions=a.e({source:this.id,cluster:B.cluster||!1,geojsonVtOptions:{buffer:(B.buffer!==void 0?B.buffer:128)*se,tolerance:(B.tolerance!==void 0?B.tolerance:.375)*se,extent:a.X,maxZoom:this.maxzoom,lineMetrics:B.lineMetrics||!1,generateId:B.generateId||!1},superclusterOptions:{maxZoom:B.clusterMaxZoom!==void 0?B.clusterMaxZoom:this.maxzoom-1,minPoints:Math.max(2,B.clusterMinPoints||2),extent:a.X,radius:(B.clusterRadius||50)*se,log:!1,generateId:B.generateId||!1},clusterProperties:B.clusterProperties,filter:B.filter},B.workerOptions),typeof this.promoteId==\"string\"&&(this.workerOptions.promoteId=this.promoteId)}load(){return a._(this,void 0,void 0,function*(){yield this._updateWorkerData()})}onAdd(w){this.map=w,this.load()}setData(w){return this._data=w,this._updateWorkerData(),this}updateData(w){return this._updateWorkerData(w),this}getData(){return a._(this,void 0,void 0,function*(){let w=a.e({type:this.type},this.workerOptions);return this.actor.sendAsync({type:\"GD\",data:w})})}setClusterOptions(w){return this.workerOptions.cluster=w.cluster,w&&(w.clusterRadius!==void 0&&(this.workerOptions.superclusterOptions.radius=w.clusterRadius),w.clusterMaxZoom!==void 0&&(this.workerOptions.superclusterOptions.maxZoom=w.clusterMaxZoom)),this._updateWorkerData(),this}getClusterExpansionZoom(w){return this.actor.sendAsync({type:\"GCEZ\",data:{type:this.type,clusterId:w,source:this.id}})}getClusterChildren(w){return this.actor.sendAsync({type:\"GCC\",data:{type:this.type,clusterId:w,source:this.id}})}getClusterLeaves(w,B,Q){return this.actor.sendAsync({type:\"GCL\",data:{type:this.type,source:this.id,clusterId:w,limit:B,offset:Q}})}_updateWorkerData(w){return a._(this,void 0,void 0,function*(){let B=a.e({type:this.type},this.workerOptions);w?B.dataDiff=w:typeof this._data==\"string\"?(B.request=this.map._requestManager.transformRequest(u.resolveURL(this._data),\"Source\"),B.request.collectResourceTiming=this._collectResourceTiming):B.data=JSON.stringify(this._data),this._pendingLoads++,this.fire(new a.k(\"dataloading\",{dataType:\"source\"}));try{let Q=yield this.actor.sendAsync({type:\"LD\",data:B});if(this._pendingLoads--,this._removed||Q.abandoned)return void this.fire(new a.k(\"dataabort\",{dataType:\"source\"}));let ee=null;Q.resourceTiming&&Q.resourceTiming[this.id]&&(ee=Q.resourceTiming[this.id].slice(0));let se={dataType:\"source\"};this._collectResourceTiming&&ee&&ee.length>0&&a.e(se,{resourceTiming:ee}),this.fire(new a.k(\"data\",Object.assign(Object.assign({},se),{sourceDataType:\"metadata\"}))),this.fire(new a.k(\"data\",Object.assign(Object.assign({},se),{sourceDataType:\"content\"})))}catch(Q){if(this._pendingLoads--,this._removed)return void this.fire(new a.k(\"dataabort\",{dataType:\"source\"}));this.fire(new a.j(Q))}})}loaded(){return this._pendingLoads===0}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.actor?\"RT\":\"LT\";w.actor=this.actor;let Q={type:this.type,uid:w.uid,tileID:w.tileID,zoom:w.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};w.abortController=new AbortController;let ee=yield this.actor.sendAsync({type:B,data:Q},w.abortController);delete w.abortController,w.unloadVectorData(),w.aborted||w.loadVectorData(ee,this.map.painter,B===\"RT\")})}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController),w.aborted=!0})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.unloadVectorData(),yield this.actor.sendAsync({type:\"RMT\",data:{uid:w.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 a.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var ot=a.Y([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);class Rt extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.dispatcher=Q,this.coordinates=B.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(ee),this.options=B}load(w){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,this._request=new AbortController;try{let B=yield p.getImage(this.map._requestManager.transformRequest(this.url,\"Image\"),this._request);this._request=null,this._loaded=!0,B&&B.data&&(this.image=B.data,w&&(this.coordinates=w),this._finishLoading())}catch(B){this._request=null,this._loaded=!0,this.fire(new a.j(B))}})}loaded(){return this._loaded}updateImage(w){return w.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=w.url,this.load(w.coordinates).finally(()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))}onAdd(w){this.map=w,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(w){this.coordinates=w;let B=w.map(a.Z.fromLngLat);this.tileID=function(ee){let se=1/0,qe=1/0,je=-1/0,it=-1/0;for(let hr of ee)se=Math.min(se,hr.x),qe=Math.min(qe,hr.y),je=Math.max(je,hr.x),it=Math.max(it,hr.y);let yt=Math.max(je-se,it-qe),Ot=Math.max(0,Math.floor(-Math.log(yt)/Math.LN2)),Nt=Math.pow(2,Ot);return new a.a1(Ot,Math.floor((se+je)/2*Nt),Math.floor((qe+it)/2*Nt))}(B),this.minzoom=this.maxzoom=this.tileID.z;let Q=B.map(ee=>this.tileID.getTilePoint(ee)._round());return this._boundsArray=new a.$,this._boundsArray.emplaceBack(Q[0].x,Q[0].y,0,0),this._boundsArray.emplaceBack(Q[1].x,Q[1].y,a.X,0),this._boundsArray.emplaceBack(Q[3].x,Q[3].y,0,a.X),this._boundsArray.emplaceBack(Q[2].x,Q[2].y,a.X,a.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let w=this.map.painter.context,B=w.gl;this.boundsBuffer||(this.boundsBuffer=w.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new g(w,this.image,B.RGBA),this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE));let Q=!1;for(let ee in this.tiles){let se=this.tiles[ee];se.state!==\"loaded\"&&(se.state=\"loaded\",se.texture=this.texture,Q=!0)}Q&&this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}loadTile(w){return a._(this,void 0,void 0,function*(){this.tileID&&this.tileID.equals(w.tileID.canonical)?(this.tiles[String(w.tileID.wrap)]=w,w.buckets={}):w.state=\"errored\"})}serialize(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class kt extends Rt{constructor(w,B,Q,ee){super(w,B,Q,ee),this.roundZoom=!0,this.type=\"video\",this.options=B}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1;let w=this.options;this.urls=[];for(let B of w.urls)this.urls.push(this.map._requestManager.transformRequest(B,\"Source\").url);try{let B=yield a.a3(this.urls);if(this._loaded=!0,!B)return;this.video=B,this.video.loop=!0,this.video.addEventListener(\"playing\",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading()}catch(B){this.fire(new a.j(B))}})}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(w){if(this.video){let B=this.video.seekable;w<B.start(0)||w>B.end(0)?this.fire(new a.j(new a.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${B.start(0)} and ${B.end(0)}-second mark.`))):this.video.currentTime=w}}getVideo(){return this.video}onAdd(w){this.map||(this.map=w,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let w=this.map.painter.context,B=w.gl;this.boundsBuffer||(this.boundsBuffer=w.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE),B.texSubImage2D(B.TEXTURE_2D,0,0,0,B.RGBA,B.UNSIGNED_BYTE,this.video)):(this.texture=new g(w,this.video,B.RGBA),this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE));let Q=!1;for(let ee in this.tiles){let se=this.tiles[ee];se.state!==\"loaded\"&&(se.state=\"loaded\",se.texture=this.texture,Q=!0)}Q&&this.fire(new a.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 Ct extends Rt{constructor(w,B,Q,ee){super(w,B,Q,ee),B.coordinates?Array.isArray(B.coordinates)&&B.coordinates.length===4&&!B.coordinates.some(se=>!Array.isArray(se)||se.length!==2||se.some(qe=>typeof qe!=\"number\"))||this.fire(new a.j(new a.a2(`sources.${w}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new a.j(new a.a2(`sources.${w}`,null,'missing required property \"coordinates\"'))),B.animate&&typeof B.animate!=\"boolean\"&&this.fire(new a.j(new a.a2(`sources.${w}`,null,'optional \"animate\" property must be a boolean value'))),B.canvas?typeof B.canvas==\"string\"||B.canvas instanceof HTMLCanvasElement||this.fire(new a.j(new a.a2(`sources.${w}`,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 a.j(new a.a2(`sources.${w}`,null,'missing required property \"canvas\"'))),this.options=B,this.animate=B.animate===void 0||B.animate}load(){return a._(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 a.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(w){this.map=w,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let w=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,w=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,w=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let B=this.map.painter.context,Q=B.gl;this.boundsBuffer||(this.boundsBuffer=B.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture?(w||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new g(B,this.canvas,Q.RGBA,{premultiply:!0});let ee=!1;for(let se in this.tiles){let qe=this.tiles[se];qe.state!==\"loaded\"&&(qe.state=\"loaded\",qe.texture=this.texture,ee=!0)}ee&&this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}serialize(){return{type:\"canvas\",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let w of[this.canvas.width,this.canvas.height])if(isNaN(w)||w<=0)return!0;return!1}}let Yt={},xr=le=>{switch(le){case\"geojson\":return rt;case\"image\":return Rt;case\"raster\":return ct;case\"raster-dem\":return qt;case\"vector\":return nt;case\"video\":return kt;case\"canvas\":return Ct}return Yt[le]},er=\"RTLPluginLoaded\";class Ke extends a.E{constructor(){super(...arguments),this.status=\"unavailable\",this.url=null,this.dispatcher=Ae()}_syncState(w){return this.status=w,this.dispatcher.broadcast(\"SRPS\",{pluginStatus:w,pluginURL:this.url}).catch(B=>{throw this.status=\"error\",B})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status=\"unavailable\",this.url=null}setRTLTextPlugin(w){return a._(this,arguments,void 0,function*(B,Q=!1){if(this.url)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");if(this.url=u.resolveURL(B),!this.url)throw new Error(`requested url ${B} is invalid`);if(this.status===\"unavailable\"){if(!Q)return this._requestImport();this.status=\"deferred\",this._syncState(this.status)}else if(this.status===\"requested\")return this._requestImport()})}_requestImport(){return a._(this,void 0,void 0,function*(){yield this._syncState(\"loading\"),this.status=\"loaded\",this.fire(new a.k(er))})}lazyLoad(){this.status===\"unavailable\"?this.status=\"requested\":this.status===\"deferred\"&&this._requestImport()}}let xt=null;function bt(){return xt||(xt=new Ke),xt}class Lt{constructor(w,B){this.timeAdded=0,this.fadeEndTime=0,this.tileID=w,this.uid=a.a4(),this.uses=0,this.tileSize=B,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(w){let B=w+this.timeAdded;B<this.fadeEndTime||(this.fadeEndTime=B)}wasRequested(){return this.state===\"errored\"||this.state===\"loaded\"||this.state===\"reloading\"}clearTextures(w){this.demTexture&&w.saveTileTexture(this.demTexture),this.demTexture=null}loadVectorData(w,B,Q){if(this.hasData()&&this.unloadVectorData(),this.state=\"loaded\",w){w.featureIndex&&(this.latestFeatureIndex=w.featureIndex,w.rawTileData?(this.latestRawTileData=w.rawTileData,this.latestFeatureIndex.rawTileData=w.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=w.collisionBoxArray,this.buckets=function(ee,se){let qe={};if(!se)return qe;for(let je of ee){let it=je.layerIds.map(yt=>se.getLayer(yt)).filter(Boolean);if(it.length!==0){je.layers=it,je.stateDependentLayerIds&&(je.stateDependentLayers=je.stateDependentLayerIds.map(yt=>it.filter(Ot=>Ot.id===yt)[0]));for(let yt of it)qe[yt.id]=je}}return qe}(w.buckets,B.style),this.hasSymbolBuckets=!1;for(let ee in this.buckets){let se=this.buckets[ee];if(se instanceof a.a6){if(this.hasSymbolBuckets=!0,!Q)break;se.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let ee in this.buckets){let se=this.buckets[ee];if(se instanceof a.a6&&se.hasRTLText){this.hasRTLText=!0,bt().lazyLoad();break}}this.queryPadding=0;for(let ee in this.buckets){let se=this.buckets[ee];this.queryPadding=Math.max(this.queryPadding,B.style.getLayer(ee).queryRadius(se))}w.imageAtlas&&(this.imageAtlas=w.imageAtlas),w.glyphAtlasImage&&(this.glyphAtlasImage=w.glyphAtlasImage)}else this.collisionBoxArray=new a.a5}unloadVectorData(){for(let w in this.buckets)this.buckets[w].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(w){return this.buckets[w.id]}upload(w){for(let Q in this.buckets){let ee=this.buckets[Q];ee.uploadPending()&&ee.upload(w)}let B=w.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new g(w,this.imageAtlas.image,B.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new g(w,this.glyphAtlasImage,B.ALPHA),this.glyphAtlasImage=null)}prepare(w){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(w,this.imageAtlasTexture)}queryRenderedFeatures(w,B,Q,ee,se,qe,je,it,yt,Ot){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:ee,cameraQueryGeometry:se,scale:qe,tileSize:this.tileSize,pixelPosMatrix:Ot,transform:it,params:je,queryPadding:this.queryPadding*yt},w,B,Q):{}}querySourceFeatures(w,B){let Q=this.latestFeatureIndex;if(!Q||!Q.rawTileData)return;let ee=Q.loadVTLayers(),se=B&&B.sourceLayer?B.sourceLayer:\"\",qe=ee._geojsonTileLayer||ee[se];if(!qe)return;let je=a.a7(B&&B.filter),{z:it,x:yt,y:Ot}=this.tileID.canonical,Nt={z:it,x:yt,y:Ot};for(let hr=0;hr<qe.length;hr++){let Sr=qe.feature(hr);if(je.needGeometry){let Pe=a.a8(Sr,!0);if(!je.filter(new a.z(this.tileID.overscaledZ),Pe,this.tileID.canonical))continue}else if(!je.filter(new a.z(this.tileID.overscaledZ),Sr))continue;let he=Q.getId(Sr,se),be=new a.a9(Sr,it,yt,Ot,he);be.tile=Nt,w.push(be)}}hasData(){return this.state===\"loaded\"||this.state===\"reloading\"||this.state===\"expired\"}patternsLoaded(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length}setExpiryData(w){let B=this.expirationTime;if(w.cacheControl){let Q=a.aa(w.cacheControl);Q[\"max-age\"]&&(this.expirationTime=Date.now()+1e3*Q[\"max-age\"])}else w.expires&&(this.expirationTime=new Date(w.expires).getTime());if(this.expirationTime){let Q=Date.now(),ee=!1;if(this.expirationTime>Q)ee=!1;else if(B)if(this.expirationTime<B)ee=!0;else{let se=this.expirationTime-B;se?this.expirationTime=Q+Math.max(se,3e4):ee=!0}else ee=!0;ee?(this.expiredRequestCount++,this.state=\"expired\"):this.expiredRequestCount=0}}getExpiryTimeout(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-new Date().getTime(),Math.pow(2,31)-1)}setFeatureState(w,B){if(!this.latestFeatureIndex||!this.latestFeatureIndex.rawTileData||Object.keys(w).length===0)return;let Q=this.latestFeatureIndex.loadVTLayers();for(let ee in this.buckets){if(!B.style.hasLayer(ee))continue;let se=this.buckets[ee],qe=se.layers[0].sourceLayer||\"_geojsonTileLayer\",je=Q[qe],it=w[qe];if(!je||!it||Object.keys(it).length===0)continue;se.update(it,je,this.imageAtlas&&this.imageAtlas.patternPositions||{});let yt=B&&B.style&&B.style.getLayer(ee);yt&&(this.queryPadding=Math.max(this.queryPadding,yt.queryRadius(se)))}}holdingForFade(){return this.symbolFadeHoldUntil!==void 0}symbolFadeFinished(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<u.now()}clearFadeHold(){this.symbolFadeHoldUntil=void 0}setHoldDuration(w){this.symbolFadeHoldUntil=u.now()+w}setDependencies(w,B){let Q={};for(let ee of B)Q[ee]=!0;this.dependencies[w]=Q}hasDependency(w,B){for(let Q of w){let ee=this.dependencies[Q];if(ee){for(let se of B)if(ee[se])return!0}}return!1}}class St{constructor(w,B){this.max=w,this.onRemove=B,this.reset()}reset(){for(let w in this.data)for(let B of this.data[w])B.timeout&&clearTimeout(B.timeout),this.onRemove(B.value);return this.data={},this.order=[],this}add(w,B,Q){let ee=w.wrapped().key;this.data[ee]===void 0&&(this.data[ee]=[]);let se={value:B,timeout:void 0};if(Q!==void 0&&(se.timeout=setTimeout(()=>{this.remove(w,se)},Q)),this.data[ee].push(se),this.order.push(ee),this.order.length>this.max){let qe=this._getAndRemoveByKey(this.order[0]);qe&&this.onRemove(qe)}return this}has(w){return w.wrapped().key in this.data}getAndRemove(w){return this.has(w)?this._getAndRemoveByKey(w.wrapped().key):null}_getAndRemoveByKey(w){let B=this.data[w].shift();return B.timeout&&clearTimeout(B.timeout),this.data[w].length===0&&delete this.data[w],this.order.splice(this.order.indexOf(w),1),B.value}getByKey(w){let B=this.data[w];return B?B[0].value:null}get(w){return this.has(w)?this.data[w.wrapped().key][0].value:null}remove(w,B){if(!this.has(w))return this;let Q=w.wrapped().key,ee=B===void 0?0:this.data[Q].indexOf(B),se=this.data[Q][ee];return this.data[Q].splice(ee,1),se.timeout&&clearTimeout(se.timeout),this.data[Q].length===0&&delete this.data[Q],this.onRemove(se.value),this.order.splice(this.order.indexOf(Q),1),this}setMaxSize(w){for(this.max=w;this.order.length>this.max;){let B=this._getAndRemoveByKey(this.order[0]);B&&this.onRemove(B)}return this}filter(w){let B=[];for(let Q in this.data)for(let ee of this.data[Q])w(ee.value)||B.push(ee);for(let Q of B)this.remove(Q.value.tileID,Q)}}class Et{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(w,B,Q){let ee=String(B);if(this.stateChanges[w]=this.stateChanges[w]||{},this.stateChanges[w][ee]=this.stateChanges[w][ee]||{},a.e(this.stateChanges[w][ee],Q),this.deletedStates[w]===null){this.deletedStates[w]={};for(let se in this.state[w])se!==ee&&(this.deletedStates[w][se]=null)}else if(this.deletedStates[w]&&this.deletedStates[w][ee]===null){this.deletedStates[w][ee]={};for(let se in this.state[w][ee])Q[se]||(this.deletedStates[w][ee][se]=null)}else for(let se in Q)this.deletedStates[w]&&this.deletedStates[w][ee]&&this.deletedStates[w][ee][se]===null&&delete this.deletedStates[w][ee][se]}removeFeatureState(w,B,Q){if(this.deletedStates[w]===null)return;let ee=String(B);if(this.deletedStates[w]=this.deletedStates[w]||{},Q&&B!==void 0)this.deletedStates[w][ee]!==null&&(this.deletedStates[w][ee]=this.deletedStates[w][ee]||{},this.deletedStates[w][ee][Q]=null);else if(B!==void 0)if(this.stateChanges[w]&&this.stateChanges[w][ee])for(Q in this.deletedStates[w][ee]={},this.stateChanges[w][ee])this.deletedStates[w][ee][Q]=null;else this.deletedStates[w][ee]=null;else this.deletedStates[w]=null}getState(w,B){let Q=String(B),ee=a.e({},(this.state[w]||{})[Q],(this.stateChanges[w]||{})[Q]);if(this.deletedStates[w]===null)return{};if(this.deletedStates[w]){let se=this.deletedStates[w][B];if(se===null)return{};for(let qe in se)delete ee[qe]}return ee}initializeTileState(w,B){w.setFeatureState(this.state,B)}coalesceChanges(w,B){let Q={};for(let ee in this.stateChanges){this.state[ee]=this.state[ee]||{};let se={};for(let qe in this.stateChanges[ee])this.state[ee][qe]||(this.state[ee][qe]={}),a.e(this.state[ee][qe],this.stateChanges[ee][qe]),se[qe]=this.state[ee][qe];Q[ee]=se}for(let ee in this.deletedStates){this.state[ee]=this.state[ee]||{};let se={};if(this.deletedStates[ee]===null)for(let qe in this.state[ee])se[qe]={},this.state[ee][qe]={};else for(let qe in this.deletedStates[ee]){if(this.deletedStates[ee][qe]===null)this.state[ee][qe]={};else for(let je of Object.keys(this.deletedStates[ee][qe]))delete this.state[ee][qe][je];se[qe]=this.state[ee][qe]}Q[ee]=Q[ee]||{},a.e(Q[ee],se)}if(this.stateChanges={},this.deletedStates={},Object.keys(Q).length!==0)for(let ee in w)w[ee].setFeatureState(Q,B)}}class dt extends a.E{constructor(w,B,Q){super(),this.id=w,this.dispatcher=Q,this.on(\"data\",ee=>this._dataHandler(ee)),this.on(\"dataloading\",()=>{this._sourceErrored=!1}),this.on(\"error\",()=>{this._sourceErrored=this._source.loaded()}),this._source=((ee,se,qe,je)=>{let it=new(xr(se.type))(ee,se,qe,je);if(it.id!==ee)throw new Error(`Expected Source id to be ${ee} instead of ${it.id}`);return it})(w,B,Q,this),this._tiles={},this._cache=new St(0,ee=>this._unloadTile(ee)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new Et,this._didEmitContent=!1,this._updated=!1}onAdd(w){this.map=w,this._maxTileCacheSize=w?w._maxTileCacheSize:null,this._maxTileCacheZoomLevels=w?w._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(w)}onRemove(w){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(w)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let w in this._tiles){let B=this._tiles[w];if(B.state!==\"loaded\"&&B.state!==\"errored\")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let w=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,w&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(w,B,Q){return a._(this,void 0,void 0,function*(){try{yield this._source.loadTile(w),this._tileLoaded(w,B,Q)}catch(ee){w.state=\"errored\",ee.status!==404?this._source.fire(new a.j(ee,{tile:w})):this.update(this.transform,this.terrain)}})}_unloadTile(w){this._source.unloadTile&&this._source.unloadTile(w)}_abortTile(w){this._source.abortTile&&this._source.abortTile(w),this._source.fire(new a.k(\"dataabort\",{tile:w,coord:w.tileID,dataType:\"source\"}))}serialize(){return this._source.serialize()}prepare(w){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let B in this._tiles){let Q=this._tiles[B];Q.upload(w),Q.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(w=>w.tileID).sort(Ht).map(w=>w.key)}getRenderableIds(w){let B=[];for(let Q in this._tiles)this._isIdRenderable(Q,w)&&B.push(this._tiles[Q]);return w?B.sort((Q,ee)=>{let se=Q.tileID,qe=ee.tileID,je=new a.P(se.canonical.x,se.canonical.y)._rotate(this.transform.angle),it=new a.P(qe.canonical.x,qe.canonical.y)._rotate(this.transform.angle);return se.overscaledZ-qe.overscaledZ||it.y-je.y||it.x-je.x}).map(Q=>Q.tileID.key):B.map(Q=>Q.tileID).sort(Ht).map(Q=>Q.key)}hasRenderableParent(w){let B=this.findLoadedParent(w,0);return!!B&&this._isIdRenderable(B.tileID.key)}_isIdRenderable(w,B){return this._tiles[w]&&this._tiles[w].hasData()&&!this._coveredTiles[w]&&(B||!this._tiles[w].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let w in this._tiles)this._tiles[w].state!==\"errored\"&&this._reloadTile(w,\"reloading\")}}_reloadTile(w,B){return a._(this,void 0,void 0,function*(){let Q=this._tiles[w];Q&&(Q.state!==\"loading\"&&(Q.state=B),yield this._loadTile(Q,w,B))})}_tileLoaded(w,B,Q){w.timeAdded=u.now(),Q===\"expired\"&&(w.refreshedUponExpiration=!0),this._setTileReloadTimer(B,w),this.getSource().type===\"raster-dem\"&&w.dem&&this._backfillDEM(w),this._state.initializeTileState(w,this.map?this.map.painter:null),w.aborted||this._source.fire(new a.k(\"data\",{dataType:\"source\",tile:w,coord:w.tileID}))}_backfillDEM(w){let B=this.getRenderableIds();for(let ee=0;ee<B.length;ee++){let se=B[ee];if(w.neighboringTiles&&w.neighboringTiles[se]){let qe=this.getTileByID(se);Q(w,qe),Q(qe,w)}}function Q(ee,se){ee.needsHillshadePrepare=!0,ee.needsTerrainPrepare=!0;let qe=se.tileID.canonical.x-ee.tileID.canonical.x,je=se.tileID.canonical.y-ee.tileID.canonical.y,it=Math.pow(2,ee.tileID.canonical.z),yt=se.tileID.key;qe===0&&je===0||Math.abs(je)>1||(Math.abs(qe)>1&&(Math.abs(qe+it)===1?qe+=it:Math.abs(qe-it)===1&&(qe-=it)),se.dem&&ee.dem&&(ee.dem.backfillBorder(se.dem,qe,je),ee.neighboringTiles&&ee.neighboringTiles[yt]&&(ee.neighboringTiles[yt].backfilled=!0)))}}getTile(w){return this.getTileByID(w.key)}getTileByID(w){return this._tiles[w]}_retainLoadedChildren(w,B,Q,ee){for(let se in this._tiles){let qe=this._tiles[se];if(ee[se]||!qe.hasData()||qe.tileID.overscaledZ<=B||qe.tileID.overscaledZ>Q)continue;let je=qe.tileID;for(;qe&&qe.tileID.overscaledZ>B+1;){let yt=qe.tileID.scaledTo(qe.tileID.overscaledZ-1);qe=this._tiles[yt.key],qe&&qe.hasData()&&(je=yt)}let it=je;for(;it.overscaledZ>B;)if(it=it.scaledTo(it.overscaledZ-1),w[it.key]){ee[je.key]=je;break}}}findLoadedParent(w,B){if(w.key in this._loadedParentTiles){let Q=this._loadedParentTiles[w.key];return Q&&Q.tileID.overscaledZ>=B?Q:null}for(let Q=w.overscaledZ-1;Q>=B;Q--){let ee=w.scaledTo(Q),se=this._getLoadedTile(ee);if(se)return se}}findLoadedSibling(w){return this._getLoadedTile(w)}_getLoadedTile(w){let B=this._tiles[w.key];return B&&B.hasData()?B:this._cache.getByKey(w.wrapped().key)}updateCacheSize(w){let B=Math.ceil(w.width/this._source.tileSize)+1,Q=Math.ceil(w.height/this._source.tileSize)+1,ee=Math.floor(B*Q*(this._maxTileCacheZoomLevels===null?a.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),se=typeof this._maxTileCacheSize==\"number\"?Math.min(this._maxTileCacheSize,ee):ee;this._cache.setMaxSize(se)}handleWrapJump(w){let B=Math.round((w-(this._prevLng===void 0?w:this._prevLng))/360);if(this._prevLng=w,B){let Q={};for(let ee in this._tiles){let se=this._tiles[ee];se.tileID=se.tileID.unwrapTo(se.tileID.wrap+B),Q[se.tileID.key]=se}this._tiles=Q;for(let ee in this._timers)clearTimeout(this._timers[ee]),delete this._timers[ee];for(let ee in this._tiles)this._setTileReloadTimer(ee,this._tiles[ee])}}_updateCoveredAndRetainedTiles(w,B,Q,ee,se,qe){let je={},it={},yt=Object.keys(w),Ot=u.now();for(let Nt of yt){let hr=w[Nt],Sr=this._tiles[Nt];if(!Sr||Sr.fadeEndTime!==0&&Sr.fadeEndTime<=Ot)continue;let he=this.findLoadedParent(hr,B),be=this.findLoadedSibling(hr),Pe=he||be||null;Pe&&(this._addTile(Pe.tileID),je[Pe.tileID.key]=Pe.tileID),it[Nt]=hr}this._retainLoadedChildren(it,ee,Q,w);for(let Nt in je)w[Nt]||(this._coveredTiles[Nt]=!0,w[Nt]=je[Nt]);if(qe){let Nt={},hr={};for(let Sr of se)this._tiles[Sr.key].hasData()?Nt[Sr.key]=Sr:hr[Sr.key]=Sr;for(let Sr in hr){let he=hr[Sr].children(this._source.maxzoom);this._tiles[he[0].key]&&this._tiles[he[1].key]&&this._tiles[he[2].key]&&this._tiles[he[3].key]&&(Nt[he[0].key]=w[he[0].key]=he[0],Nt[he[1].key]=w[he[1].key]=he[1],Nt[he[2].key]=w[he[2].key]=he[2],Nt[he[3].key]=w[he[3].key]=he[3],delete hr[Sr])}for(let Sr in hr){let he=hr[Sr],be=this.findLoadedParent(he,this._source.minzoom),Pe=this.findLoadedSibling(he),Oe=be||Pe||null;if(Oe){Nt[Oe.tileID.key]=w[Oe.tileID.key]=Oe.tileID;for(let Je in Nt)Nt[Je].isChildOf(Oe.tileID)&&delete Nt[Je]}}for(let Sr in this._tiles)Nt[Sr]||(this._coveredTiles[Sr]=!0)}}update(w,B){if(!this._sourceLoaded||this._paused)return;let Q;this.transform=w,this.terrain=B,this.updateCacheSize(w),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?Q=w.getVisibleUnwrappedCoordinates(this._source.tileID).map(Ot=>new a.S(Ot.canonical.z,Ot.wrap,Ot.canonical.z,Ot.canonical.x,Ot.canonical.y)):(Q=w.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:B}),this._source.hasTile&&(Q=Q.filter(Ot=>this._source.hasTile(Ot)))):Q=[];let ee=w.coveringZoomLevel(this._source),se=Math.max(ee-dt.maxOverzooming,this._source.minzoom),qe=Math.max(ee+dt.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let Ot={};for(let Nt of Q)if(Nt.canonical.z>this._source.minzoom){let hr=Nt.scaledTo(Nt.canonical.z-1);Ot[hr.key]=hr;let Sr=Nt.scaledTo(Math.max(this._source.minzoom,Math.min(Nt.canonical.z,5)));Ot[Sr.key]=Sr}Q=Q.concat(Object.values(Ot))}let je=Q.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,je&&this.fire(new a.k(\"data\",{sourceDataType:\"idle\",dataType:\"source\",sourceId:this.id}));let it=this._updateRetainedTiles(Q,ee);$t(this._source.type)&&this._updateCoveredAndRetainedTiles(it,se,qe,ee,Q,B);for(let Ot in it)this._tiles[Ot].clearFadeHold();let yt=a.ab(this._tiles,it);for(let Ot of yt){let Nt=this._tiles[Ot];Nt.hasSymbolBuckets&&!Nt.holdingForFade()?Nt.setHoldDuration(this.map._fadeDuration):Nt.hasSymbolBuckets&&!Nt.symbolFadeFinished()||this._removeTile(Ot)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(let w in this._tiles)this._tiles[w].holdingForFade()&&this._removeTile(w)}_updateRetainedTiles(w,B){var Q;let ee={},se={},qe=Math.max(B-dt.maxOverzooming,this._source.minzoom),je=Math.max(B+dt.maxUnderzooming,this._source.minzoom),it={};for(let yt of w){let Ot=this._addTile(yt);ee[yt.key]=yt,Ot.hasData()||B<this._source.maxzoom&&(it[yt.key]=yt)}this._retainLoadedChildren(it,B,je,ee);for(let yt of w){let Ot=this._tiles[yt.key];if(Ot.hasData())continue;if(B+1>this._source.maxzoom){let hr=yt.children(this._source.maxzoom)[0],Sr=this.getTile(hr);if(Sr&&Sr.hasData()){ee[hr.key]=hr;continue}}else{let hr=yt.children(this._source.maxzoom);if(ee[hr[0].key]&&ee[hr[1].key]&&ee[hr[2].key]&&ee[hr[3].key])continue}let Nt=Ot.wasRequested();for(let hr=yt.overscaledZ-1;hr>=qe;--hr){let Sr=yt.scaledTo(hr);if(se[Sr.key])break;if(se[Sr.key]=!0,Ot=this.getTile(Sr),!Ot&&Nt&&(Ot=this._addTile(Sr)),Ot){let he=Ot.hasData();if((he||!(!((Q=this.map)===null||Q===void 0)&&Q.cancelPendingTileRequestsWhileZooming)||Nt)&&(ee[Sr.key]=Sr),Nt=Ot.wasRequested(),he)break}}}return ee}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let w in this._tiles){let B=[],Q,ee=this._tiles[w].tileID;for(;ee.overscaledZ>0;){if(ee.key in this._loadedParentTiles){Q=this._loadedParentTiles[ee.key];break}B.push(ee.key);let se=ee.scaledTo(ee.overscaledZ-1);if(Q=this._getLoadedTile(se),Q)break;ee=se}for(let se of B)this._loadedParentTiles[se]=Q}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(let w in this._tiles){let B=this._tiles[w].tileID,Q=this._getLoadedTile(B);this._loadedSiblingTiles[B.key]=Q}}_addTile(w){let B=this._tiles[w.key];if(B)return B;B=this._cache.getAndRemove(w),B&&(this._setTileReloadTimer(w.key,B),B.tileID=w,this._state.initializeTileState(B,this.map?this.map.painter:null),this._cacheTimers[w.key]&&(clearTimeout(this._cacheTimers[w.key]),delete this._cacheTimers[w.key],this._setTileReloadTimer(w.key,B)));let Q=B;return B||(B=new Lt(w,this._source.tileSize*w.overscaleFactor()),this._loadTile(B,w.key,B.state)),B.uses++,this._tiles[w.key]=B,Q||this._source.fire(new a.k(\"dataloading\",{tile:B,coord:B.tileID,dataType:\"source\"})),B}_setTileReloadTimer(w,B){w in this._timers&&(clearTimeout(this._timers[w]),delete this._timers[w]);let Q=B.getExpiryTimeout();Q&&(this._timers[w]=setTimeout(()=>{this._reloadTile(w,\"expired\"),delete this._timers[w]},Q))}_removeTile(w){let B=this._tiles[w];B&&(B.uses--,delete this._tiles[w],this._timers[w]&&(clearTimeout(this._timers[w]),delete this._timers[w]),B.uses>0||(B.hasData()&&B.state!==\"reloading\"?this._cache.add(B.tileID,B,B.getExpiryTimeout()):(B.aborted=!0,this._abortTile(B),this._unloadTile(B))))}_dataHandler(w){let B=w.sourceDataType;w.dataType===\"source\"&&B===\"metadata\"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&w.dataType===\"source\"&&B===\"content\"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let w in this._tiles)this._removeTile(w);this._cache.reset()}tilesIn(w,B,Q){let ee=[],se=this.transform;if(!se)return ee;let qe=Q?se.getCameraQueryGeometry(w):w,je=w.map(he=>se.pointCoordinate(he,this.terrain)),it=qe.map(he=>se.pointCoordinate(he,this.terrain)),yt=this.getIds(),Ot=1/0,Nt=1/0,hr=-1/0,Sr=-1/0;for(let he of it)Ot=Math.min(Ot,he.x),Nt=Math.min(Nt,he.y),hr=Math.max(hr,he.x),Sr=Math.max(Sr,he.y);for(let he=0;he<yt.length;he++){let be=this._tiles[yt[he]];if(be.holdingForFade())continue;let Pe=be.tileID,Oe=Math.pow(2,se.zoom-be.tileID.overscaledZ),Je=B*be.queryPadding*a.X/be.tileSize/Oe,He=[Pe.getTilePoint(new a.Z(Ot,Nt)),Pe.getTilePoint(new a.Z(hr,Sr))];if(He[0].x-Je<a.X&&He[0].y-Je<a.X&&He[1].x+Je>=0&&He[1].y+Je>=0){let et=je.map(Dt=>Pe.getTilePoint(Dt)),Mt=it.map(Dt=>Pe.getTilePoint(Dt));ee.push({tile:be,tileID:Pe,queryGeometry:et,cameraQueryGeometry:Mt,scale:Oe})}}return ee}getVisibleCoordinates(w){let B=this.getRenderableIds(w).map(Q=>this._tiles[Q].tileID);for(let Q of B)Q.posMatrix=this.transform.calculatePosMatrix(Q.toUnwrapped());return B}hasTransition(){if(this._source.hasTransition())return!0;if($t(this._source.type)){let w=u.now();for(let B in this._tiles)if(this._tiles[B].fadeEndTime>=w)return!0}return!1}setFeatureState(w,B,Q){this._state.updateState(w=w||\"_geojsonTileLayer\",B,Q)}removeFeatureState(w,B,Q){this._state.removeFeatureState(w=w||\"_geojsonTileLayer\",B,Q)}getFeatureState(w,B){return this._state.getState(w=w||\"_geojsonTileLayer\",B)}setDependencies(w,B,Q){let ee=this._tiles[w];ee&&ee.setDependencies(B,Q)}reloadTilesForDependencies(w,B){for(let Q in this._tiles)this._tiles[Q].hasDependency(w,B)&&this._reloadTile(Q,\"reloading\");this._cache.filter(Q=>!Q.hasDependency(w,B))}}function Ht(le,w){let B=Math.abs(2*le.wrap)-+(le.wrap<0),Q=Math.abs(2*w.wrap)-+(w.wrap<0);return le.overscaledZ-w.overscaledZ||Q-B||w.canonical.y-le.canonical.y||w.canonical.x-le.canonical.x}function $t(le){return le===\"raster\"||le===\"image\"||le===\"video\"}dt.maxOverzooming=10,dt.maxUnderzooming=3;class fr{constructor(w,B){this.reset(w,B)}reset(w,B){this.points=w||[],this._distances=[0];for(let Q=1;Q<this.points.length;Q++)this._distances[Q]=this._distances[Q-1]+this.points[Q].dist(this.points[Q-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(B||0,.5*this.length),this.paddedLength=this.length-2*this.padding}lerp(w){if(this.points.length===1)return this.points[0];w=a.ac(w,0,1);let B=1,Q=this._distances[B],ee=w*this.paddedLength+this.padding;for(;Q<ee&&B<this._distances.length;)Q=this._distances[++B];let se=B-1,qe=this._distances[se],je=Q-qe,it=je>0?(ee-qe)/je:0;return this.points[se].mult(1-it).add(this.points[B].mult(it))}}function _r(le,w){let B=!0;return le===\"always\"||le!==\"never\"&&w!==\"never\"||(B=!1),B}class Br{constructor(w,B,Q){let ee=this.boxCells=[],se=this.circleCells=[];this.xCellCount=Math.ceil(w/Q),this.yCellCount=Math.ceil(B/Q);for(let qe=0;qe<this.xCellCount*this.yCellCount;qe++)ee.push([]),se.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=w,this.height=B,this.xScale=this.xCellCount/w,this.yScale=this.yCellCount/B,this.boxUid=0,this.circleUid=0}keysLength(){return this.boxKeys.length+this.circleKeys.length}insert(w,B,Q,ee,se){this._forEachCell(B,Q,ee,se,this._insertBoxCell,this.boxUid++),this.boxKeys.push(w),this.bboxes.push(B),this.bboxes.push(Q),this.bboxes.push(ee),this.bboxes.push(se)}insertCircle(w,B,Q,ee){this._forEachCell(B-ee,Q-ee,B+ee,Q+ee,this._insertCircleCell,this.circleUid++),this.circleKeys.push(w),this.circles.push(B),this.circles.push(Q),this.circles.push(ee)}_insertBoxCell(w,B,Q,ee,se,qe){this.boxCells[se].push(qe)}_insertCircleCell(w,B,Q,ee,se,qe){this.circleCells[se].push(qe)}_query(w,B,Q,ee,se,qe,je){if(Q<0||w>this.width||ee<0||B>this.height)return[];let it=[];if(w<=0&&B<=0&&this.width<=Q&&this.height<=ee){if(se)return[{key:null,x1:w,y1:B,x2:Q,y2:ee}];for(let yt=0;yt<this.boxKeys.length;yt++)it.push({key:this.boxKeys[yt],x1:this.bboxes[4*yt],y1:this.bboxes[4*yt+1],x2:this.bboxes[4*yt+2],y2:this.bboxes[4*yt+3]});for(let yt=0;yt<this.circleKeys.length;yt++){let Ot=this.circles[3*yt],Nt=this.circles[3*yt+1],hr=this.circles[3*yt+2];it.push({key:this.circleKeys[yt],x1:Ot-hr,y1:Nt-hr,x2:Ot+hr,y2:Nt+hr})}}else this._forEachCell(w,B,Q,ee,this._queryCell,it,{hitTest:se,overlapMode:qe,seenUids:{box:{},circle:{}}},je);return it}query(w,B,Q,ee){return this._query(w,B,Q,ee,!1,null)}hitTest(w,B,Q,ee,se,qe){return this._query(w,B,Q,ee,!0,se,qe).length>0}hitTestCircle(w,B,Q,ee,se){let qe=w-Q,je=w+Q,it=B-Q,yt=B+Q;if(je<0||qe>this.width||yt<0||it>this.height)return!1;let Ot=[];return this._forEachCell(qe,it,je,yt,this._queryCellCircle,Ot,{hitTest:!0,overlapMode:ee,circle:{x:w,y:B,radius:Q},seenUids:{box:{},circle:{}}},se),Ot.length>0}_queryCell(w,B,Q,ee,se,qe,je,it){let{seenUids:yt,hitTest:Ot,overlapMode:Nt}=je,hr=this.boxCells[se];if(hr!==null){let he=this.bboxes;for(let be of hr)if(!yt.box[be]){yt.box[be]=!0;let Pe=4*be,Oe=this.boxKeys[be];if(w<=he[Pe+2]&&B<=he[Pe+3]&&Q>=he[Pe+0]&&ee>=he[Pe+1]&&(!it||it(Oe))&&(!Ot||!_r(Nt,Oe.overlapMode))&&(qe.push({key:Oe,x1:he[Pe],y1:he[Pe+1],x2:he[Pe+2],y2:he[Pe+3]}),Ot))return!0}}let Sr=this.circleCells[se];if(Sr!==null){let he=this.circles;for(let be of Sr)if(!yt.circle[be]){yt.circle[be]=!0;let Pe=3*be,Oe=this.circleKeys[be];if(this._circleAndRectCollide(he[Pe],he[Pe+1],he[Pe+2],w,B,Q,ee)&&(!it||it(Oe))&&(!Ot||!_r(Nt,Oe.overlapMode))){let Je=he[Pe],He=he[Pe+1],et=he[Pe+2];if(qe.push({key:Oe,x1:Je-et,y1:He-et,x2:Je+et,y2:He+et}),Ot)return!0}}}return!1}_queryCellCircle(w,B,Q,ee,se,qe,je,it){let{circle:yt,seenUids:Ot,overlapMode:Nt}=je,hr=this.boxCells[se];if(hr!==null){let he=this.bboxes;for(let be of hr)if(!Ot.box[be]){Ot.box[be]=!0;let Pe=4*be,Oe=this.boxKeys[be];if(this._circleAndRectCollide(yt.x,yt.y,yt.radius,he[Pe+0],he[Pe+1],he[Pe+2],he[Pe+3])&&(!it||it(Oe))&&!_r(Nt,Oe.overlapMode))return qe.push(!0),!0}}let Sr=this.circleCells[se];if(Sr!==null){let he=this.circles;for(let be of Sr)if(!Ot.circle[be]){Ot.circle[be]=!0;let Pe=3*be,Oe=this.circleKeys[be];if(this._circlesCollide(he[Pe],he[Pe+1],he[Pe+2],yt.x,yt.y,yt.radius)&&(!it||it(Oe))&&!_r(Nt,Oe.overlapMode))return qe.push(!0),!0}}}_forEachCell(w,B,Q,ee,se,qe,je,it){let yt=this._convertToXCellCoord(w),Ot=this._convertToYCellCoord(B),Nt=this._convertToXCellCoord(Q),hr=this._convertToYCellCoord(ee);for(let Sr=yt;Sr<=Nt;Sr++)for(let he=Ot;he<=hr;he++)if(se.call(this,w,B,Q,ee,this.xCellCount*he+Sr,qe,je,it))return}_convertToXCellCoord(w){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(w*this.xScale)))}_convertToYCellCoord(w){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(w*this.yScale)))}_circlesCollide(w,B,Q,ee,se,qe){let je=ee-w,it=se-B,yt=Q+qe;return yt*yt>je*je+it*it}_circleAndRectCollide(w,B,Q,ee,se,qe,je){let it=(qe-ee)/2,yt=Math.abs(w-(ee+it));if(yt>it+Q)return!1;let Ot=(je-se)/2,Nt=Math.abs(B-(se+Ot));if(Nt>Ot+Q)return!1;if(yt<=it||Nt<=Ot)return!0;let hr=yt-it,Sr=Nt-Ot;return hr*hr+Sr*Sr<=Q*Q}}function Or(le,w,B,Q,ee){let se=a.H();return w?(a.K(se,se,[1/ee,1/ee,1]),B||a.ad(se,se,Q.angle)):a.L(se,Q.labelPlaneMatrix,le),se}function Nr(le,w,B,Q,ee){if(w){let se=a.ae(le);return a.K(se,se,[ee,ee,1]),B||a.ad(se,se,-Q.angle),se}return Q.glCoordMatrix}function ut(le,w,B,Q){let ee;Q?(ee=[le,w,Q(le,w),1],a.af(ee,ee,B)):(ee=[le,w,0,1],jr(ee,ee,B));let se=ee[3];return{point:new a.P(ee[0]/se,ee[1]/se),signedDistanceFromCamera:se,isOccluded:!1}}function Ne(le,w){return .5+le/w*.5}function Ye(le,w){return le.x>=-w[0]&&le.x<=w[0]&&le.y>=-w[1]&&le.y<=w[1]}function Ve(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he){let be=Q?le.textSizeData:le.iconSizeData,Pe=a.ag(be,B.transform.zoom),Oe=[256/B.width*2+1,256/B.height*2+1],Je=Q?le.text.dynamicLayoutVertexArray:le.icon.dynamicLayoutVertexArray;Je.clear();let He=le.lineVertexArray,et=Q?le.text.placedSymbolArray:le.icon.placedSymbolArray,Mt=B.transform.width/B.transform.height,Dt=!1;for(let Ut=0;Ut<et.length;Ut++){let tr=et.get(Ut);if(tr.hidden||tr.writingMode===a.ah.vertical&&!Dt){ai(tr.numGlyphs,Je);continue}Dt=!1;let mr=ut(tr.anchorX,tr.anchorY,w,he);if(!Ye(mr.point,Oe)){ai(tr.numGlyphs,Je);continue}let Rr=Ne(B.transform.cameraToCenterDistance,mr.signedDistanceFromCamera),zr=a.ai(be,Pe,tr),Xr=qe?zr/Rr:zr*Rr,di={getElevation:he,labelPlaneMatrix:ee,lineVertexArray:He,pitchWithMap:qe,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},projection:yt,tileAnchorPoint:new a.P(tr.anchorX,tr.anchorY),unwrappedTileID:Ot,width:Nt,height:hr,translation:Sr},Li=Le(di,tr,Xr,!1,je,w,se,le.glyphOffsetArray,Je,Mt,it);Dt=Li.useVertical,(Li.notEnoughRoom||Dt||Li.needsFlipping&&Le(di,tr,Xr,!0,je,w,se,le.glyphOffsetArray,Je,Mt,it).notEnoughRoom)&&ai(tr.numGlyphs,Je)}Q?le.text.dynamicLayoutVertexBuffer.updateData(Je):le.icon.dynamicLayoutVertexBuffer.updateData(Je)}function Xe(le,w,B,Q,ee,se,qe,je){let it=se.glyphStartIndex+se.numGlyphs,yt=se.lineStartIndex,Ot=se.lineStartIndex+se.lineLength,Nt=w.getoffsetX(se.glyphStartIndex),hr=w.getoffsetX(it-1),Sr=ar(le*Nt,B,Q,ee,se.segment,yt,Ot,je,qe);if(!Sr)return null;let he=ar(le*hr,B,Q,ee,se.segment,yt,Ot,je,qe);return he?je.projectionCache.anyProjectionOccluded?null:{first:Sr,last:he}:null}function ht(le,w,B,Q){return le===a.ah.horizontal&&Math.abs(B.y-w.y)>Math.abs(B.x-w.x)*Q?{useVertical:!0}:(le===a.ah.vertical?w.y<B.y:w.x>B.x)?{needsFlipping:!0}:null}function Le(le,w,B,Q,ee,se,qe,je,it,yt,Ot){let Nt=B/24,hr=w.lineOffsetX*Nt,Sr=w.lineOffsetY*Nt,he;if(w.numGlyphs>1){let be=w.glyphStartIndex+w.numGlyphs,Pe=w.lineStartIndex,Oe=w.lineStartIndex+w.lineLength,Je=Xe(Nt,je,hr,Sr,Q,w,Ot,le);if(!Je)return{notEnoughRoom:!0};let He=ut(Je.first.point.x,Je.first.point.y,qe,le.getElevation).point,et=ut(Je.last.point.x,Je.last.point.y,qe,le.getElevation).point;if(ee&&!Q){let Mt=ht(w.writingMode,He,et,yt);if(Mt)return Mt}he=[Je.first];for(let Mt=w.glyphStartIndex+1;Mt<be-1;Mt++)he.push(ar(Nt*je.getoffsetX(Mt),hr,Sr,Q,w.segment,Pe,Oe,le,Ot));he.push(Je.last)}else{if(ee&&!Q){let Pe=ut(le.tileAnchorPoint.x,le.tileAnchorPoint.y,se,le.getElevation).point,Oe=w.lineStartIndex+w.segment+1,Je=new a.P(le.lineVertexArray.getx(Oe),le.lineVertexArray.gety(Oe)),He=ut(Je.x,Je.y,se,le.getElevation),et=He.signedDistanceFromCamera>0?He.point:function(Dt,Ut,tr,mr,Rr,zr){return xe(Dt,Ut,tr,1,Rr,zr)}(le.tileAnchorPoint,Je,Pe,0,se,le),Mt=ht(w.writingMode,Pe,et,yt);if(Mt)return Mt}let be=ar(Nt*je.getoffsetX(w.glyphStartIndex),hr,Sr,Q,w.segment,w.lineStartIndex,w.lineStartIndex+w.lineLength,le,Ot);if(!be||le.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};he=[be]}for(let be of he)a.aj(it,be.point,be.angle);return{}}function xe(le,w,B,Q,ee,se){let qe=le.add(le.sub(w)._unit()),je=ee!==void 0?ut(qe.x,qe.y,ee,se.getElevation).point:lt(qe.x,qe.y,se).point,it=B.sub(je);return B.add(it._mult(Q/it.mag()))}function Se(le,w,B){let Q=w.projectionCache;if(Q.projections[le])return Q.projections[le];let ee=new a.P(w.lineVertexArray.getx(le),w.lineVertexArray.gety(le)),se=lt(ee.x,ee.y,w);if(se.signedDistanceFromCamera>0)return Q.projections[le]=se.point,Q.anyProjectionOccluded=Q.anyProjectionOccluded||se.isOccluded,se.point;let qe=le-B.direction;return function(je,it,yt,Ot,Nt){return xe(je,it,yt,Ot,void 0,Nt)}(B.distanceFromAnchor===0?w.tileAnchorPoint:new a.P(w.lineVertexArray.getx(qe),w.lineVertexArray.gety(qe)),ee,B.previousVertex,B.absOffsetX-B.distanceFromAnchor+1,w)}function lt(le,w,B){let Q=le+B.translation[0],ee=w+B.translation[1],se;return!B.pitchWithMap&&B.projection.useSpecialProjectionForSymbols?(se=B.projection.projectTileCoordinates(Q,ee,B.unwrappedTileID,B.getElevation),se.point.x=(.5*se.point.x+.5)*B.width,se.point.y=(.5*-se.point.y+.5)*B.height):(se=ut(Q,ee,B.labelPlaneMatrix,B.getElevation),se.isOccluded=!1),se}function Gt(le,w,B){return le._unit()._perp()._mult(w*B)}function Vt(le,w,B,Q,ee,se,qe,je,it){if(je.projectionCache.offsets[le])return je.projectionCache.offsets[le];let yt=B.add(w);if(le+it.direction<Q||le+it.direction>=ee)return je.projectionCache.offsets[le]=yt,yt;let Ot=Se(le+it.direction,je,it),Nt=Gt(Ot.sub(B),qe,it.direction),hr=B.add(Nt),Sr=Ot.add(Nt);return je.projectionCache.offsets[le]=a.ak(se,yt,hr,Sr)||yt,je.projectionCache.offsets[le]}function ar(le,w,B,Q,ee,se,qe,je,it){let yt=Q?le-w:le+w,Ot=yt>0?1:-1,Nt=0;Q&&(Ot*=-1,Nt=Math.PI),Ot<0&&(Nt+=Math.PI);let hr,Sr=Ot>0?se+ee:se+ee+1;je.projectionCache.cachedAnchorPoint?hr=je.projectionCache.cachedAnchorPoint:(hr=lt(je.tileAnchorPoint.x,je.tileAnchorPoint.y,je).point,je.projectionCache.cachedAnchorPoint=hr);let he,be,Pe=hr,Oe=hr,Je=0,He=0,et=Math.abs(yt),Mt=[],Dt;for(;Je+He<=et;){if(Sr+=Ot,Sr<se||Sr>=qe)return null;Je+=He,Oe=Pe,be=he;let mr={absOffsetX:et,direction:Ot,distanceFromAnchor:Je,previousVertex:Oe};if(Pe=Se(Sr,je,mr),B===0)Mt.push(Oe),Dt=Pe.sub(Oe);else{let Rr,zr=Pe.sub(Oe);Rr=zr.mag()===0?Gt(Se(Sr+Ot,je,mr).sub(Pe),B,Ot):Gt(zr,B,Ot),be||(be=Oe.add(Rr)),he=Vt(Sr,Rr,Pe,se,qe,be,B,je,mr),Mt.push(be),Dt=he.sub(be)}He=Dt.mag()}let Ut=Dt._mult((et-Je)/He)._add(be||Oe),tr=Nt+Math.atan2(Pe.y-Oe.y,Pe.x-Oe.x);return Mt.push(Ut),{point:Ut,angle:it?tr:0,path:Mt}}let Qr=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ai(le,w){for(let B=0;B<le;B++){let Q=w.length;w.resize(Q+4),w.float32.set(Qr,3*Q)}}function jr(le,w,B){let Q=w[0],ee=w[1];return le[0]=B[0]*Q+B[4]*ee+B[12],le[1]=B[1]*Q+B[5]*ee+B[13],le[3]=B[3]*Q+B[7]*ee+B[15],le}let ri=100;class bi{constructor(w,B,Q=new Br(w.width+200,w.height+200,25),ee=new Br(w.width+200,w.height+200,25)){this.transform=w,this.mapProjection=B,this.grid=Q,this.ignoredGrid=ee,this.pitchFactor=Math.cos(w._pitch)*w.cameraToCenterDistance,this.screenRightBoundary=w.width+ri,this.screenBottomBoundary=w.height+ri,this.gridRightBoundary=w.width+200,this.gridBottomBoundary=w.height+200,this.perspectiveRatioCutoff=.6}placeCollisionBox(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt){let hr=w.anchorPointX+it[0],Sr=w.anchorPointY+it[1],he=this.projectAndGetPerspectiveRatio(ee,hr,Sr,se,Ot),be=Q*he.perspectiveRatio,Pe;if(qe||je)Pe=this._projectCollisionBox(w,be,ee,se,qe,je,it,he,Ot,Nt);else{let Mt=he.point.x+(Nt?Nt.x*be:0),Dt=he.point.y+(Nt?Nt.y*be:0);Pe={allPointsOccluded:!1,box:[Mt+w.x1*be,Dt+w.y1*be,Mt+w.x2*be,Dt+w.y2*be]}}let[Oe,Je,He,et]=Pe.box;return this.mapProjection.useSpecialProjectionForSymbols&&(qe?Pe.allPointsOccluded:this.mapProjection.isOccluded(hr,Sr,se))||he.perspectiveRatio<this.perspectiveRatioCutoff||!this.isInsideGrid(Oe,Je,He,et)||B!==\"always\"&&this.grid.hitTest(Oe,Je,He,et,B,yt)?{box:[Oe,Je,He,et],placeable:!1,offscreen:!1}:{box:[Oe,Je,He,et],placeable:!0,offscreen:this.isOffscreen(Oe,Je,He,et)}}placeCollisionCircles(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he,be,Pe){let Oe=[],Je=new a.P(B.anchorX,B.anchorY),He=this.getPerspectiveRatio(qe,Je.x,Je.y,je,Pe),et=(Nt?se/He:se*He)/a.ap,Mt={getElevation:Pe,labelPlaneMatrix:it,lineVertexArray:Q,pitchWithMap:Nt,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},projection:this.mapProjection,tileAnchorPoint:Je,unwrappedTileID:je,width:this.transform.width,height:this.transform.height,translation:be},Dt=Xe(et,ee,B.lineOffsetX*et,B.lineOffsetY*et,!1,B,!1,Mt),Ut=!1,tr=!1,mr=!0;if(Dt){let Rr=.5*Sr*He+he,zr=new a.P(-100,-100),Xr=new a.P(this.screenRightBoundary,this.screenBottomBoundary),di=new fr,Li=Dt.first,Ci=Dt.last,Qi=[];for(let ea=Li.path.length-1;ea>=1;ea--)Qi.push(Li.path[ea]);for(let ea=1;ea<Ci.path.length;ea++)Qi.push(Ci.path[ea]);let Mn=2.5*Rr;if(yt){let ea=this.projectPathToScreenSpace(Qi,Mt,yt);Qi=ea.some(Ga=>Ga.signedDistanceFromCamera<=0)?[]:ea.map(Ga=>Ga.point)}let pa=[];if(Qi.length>0){let ea=Qi[0].clone(),Ga=Qi[0].clone();for(let To=1;To<Qi.length;To++)ea.x=Math.min(ea.x,Qi[To].x),ea.y=Math.min(ea.y,Qi[To].y),Ga.x=Math.max(Ga.x,Qi[To].x),Ga.y=Math.max(Ga.y,Qi[To].y);pa=ea.x>=zr.x&&Ga.x<=Xr.x&&ea.y>=zr.y&&Ga.y<=Xr.y?[Qi]:Ga.x<zr.x||ea.x>Xr.x||Ga.y<zr.y||ea.y>Xr.y?[]:a.al([Qi],zr.x,zr.y,Xr.x,Xr.y)}for(let ea of pa){di.reset(ea,.25*Rr);let Ga=0;Ga=di.length<=.5*Rr?1:Math.ceil(di.paddedLength/Mn)+1;for(let To=0;To<Ga;To++){let Wa=To/Math.max(Ga-1,1),co=di.lerp(Wa),Ro=co.x+ri,Ds=co.y+ri;Oe.push(Ro,Ds,Rr,0);let As=Ro-Rr,yo=Ds-Rr,po=Ro+Rr,_l=Ds+Rr;if(mr=mr&&this.isOffscreen(As,yo,po,_l),tr=tr||this.isInsideGrid(As,yo,po,_l),w!==\"always\"&&this.grid.hitTestCircle(Ro,Ds,Rr,w,hr)&&(Ut=!0,!Ot))return{circles:[],offscreen:!1,collisionDetected:Ut}}}}return{circles:!Ot&&Ut||!tr||He<this.perspectiveRatioCutoff?[]:Oe,offscreen:mr,collisionDetected:Ut}}projectPathToScreenSpace(w,B,Q){return w.map(ee=>ut(ee.x,ee.y,Q,B.getElevation))}queryRenderedSymbols(w){if(w.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let B=[],Q=1/0,ee=1/0,se=-1/0,qe=-1/0;for(let Ot of w){let Nt=new a.P(Ot.x+ri,Ot.y+ri);Q=Math.min(Q,Nt.x),ee=Math.min(ee,Nt.y),se=Math.max(se,Nt.x),qe=Math.max(qe,Nt.y),B.push(Nt)}let je=this.grid.query(Q,ee,se,qe).concat(this.ignoredGrid.query(Q,ee,se,qe)),it={},yt={};for(let Ot of je){let Nt=Ot.key;if(it[Nt.bucketInstanceId]===void 0&&(it[Nt.bucketInstanceId]={}),it[Nt.bucketInstanceId][Nt.featureIndex])continue;let hr=[new a.P(Ot.x1,Ot.y1),new a.P(Ot.x2,Ot.y1),new a.P(Ot.x2,Ot.y2),new a.P(Ot.x1,Ot.y2)];a.am(B,hr)&&(it[Nt.bucketInstanceId][Nt.featureIndex]=!0,yt[Nt.bucketInstanceId]===void 0&&(yt[Nt.bucketInstanceId]=[]),yt[Nt.bucketInstanceId].push(Nt.featureIndex))}return yt}insertCollisionBox(w,B,Q,ee,se,qe){(Q?this.ignoredGrid:this.grid).insert({bucketInstanceId:ee,featureIndex:se,collisionGroupID:qe,overlapMode:B},w[0],w[1],w[2],w[3])}insertCollisionCircles(w,B,Q,ee,se,qe){let je=Q?this.ignoredGrid:this.grid,it={bucketInstanceId:ee,featureIndex:se,collisionGroupID:qe,overlapMode:B};for(let yt=0;yt<w.length;yt+=4)je.insertCircle(it,w[yt],w[yt+1],w[yt+2])}projectAndGetPerspectiveRatio(w,B,Q,ee,se){let qe;se?(qe=[B,Q,se(B,Q),1],a.af(qe,qe,w)):(qe=[B,Q,0,1],jr(qe,qe,w));let je=qe[3];return{point:new a.P((qe[0]/je+1)/2*this.transform.width+ri,(-qe[1]/je+1)/2*this.transform.height+ri),perspectiveRatio:.5+this.transform.cameraToCenterDistance/je*.5,isOccluded:!1,signedDistanceFromCamera:je}}getPerspectiveRatio(w,B,Q,ee,se){let qe=this.mapProjection.useSpecialProjectionForSymbols?this.mapProjection.projectTileCoordinates(B,Q,ee,se):ut(B,Q,w,se);return .5+this.transform.cameraToCenterDistance/qe.signedDistanceFromCamera*.5}isOffscreen(w,B,Q,ee){return Q<ri||w>=this.screenRightBoundary||ee<ri||B>this.screenBottomBoundary}isInsideGrid(w,B,Q,ee){return Q>=0&&w<this.gridRightBoundary&&ee>=0&&B<this.gridBottomBoundary}getViewportMatrix(){let w=a.an([]);return a.J(w,w,[-100,-100,0]),w}_projectCollisionBox(w,B,Q,ee,se,qe,je,it,yt,Ot){let Nt=new a.P(1,0),hr=new a.P(0,1),Sr=new a.P(w.anchorPointX+je[0],w.anchorPointY+je[1]);if(qe&&!se){let mr=this.projectAndGetPerspectiveRatio(Q,Sr.x+1,Sr.y,ee,yt).point.sub(it.point).unit(),Rr=Math.atan(mr.y/mr.x)+(mr.x<0?Math.PI:0),zr=Math.sin(Rr),Xr=Math.cos(Rr);Nt=new a.P(Xr,zr),hr=new a.P(-zr,Xr)}else if(!qe&&se){let mr=-this.transform.angle,Rr=Math.sin(mr),zr=Math.cos(mr);Nt=new a.P(zr,Rr),hr=new a.P(-Rr,zr)}let he=it.point,be=B;if(se){he=Sr;let mr=this.transform.zoom-Math.floor(this.transform.zoom);be=Math.pow(2,-mr),be*=this.mapProjection.getPitchedTextCorrection(this.transform,Sr,ee),Ot||(be*=a.ac(.5+it.signedDistanceFromCamera/this.transform.cameraToCenterDistance*.5,0,4))}Ot&&(he=he.add(Nt.mult(Ot.x*be)).add(hr.mult(Ot.y*be)));let Pe=w.x1*be,Oe=w.x2*be,Je=(Pe+Oe)/2,He=w.y1*be,et=w.y2*be,Mt=(He+et)/2,Dt=[{offsetX:Pe,offsetY:He},{offsetX:Je,offsetY:He},{offsetX:Oe,offsetY:He},{offsetX:Oe,offsetY:Mt},{offsetX:Oe,offsetY:et},{offsetX:Je,offsetY:et},{offsetX:Pe,offsetY:et},{offsetX:Pe,offsetY:Mt}],Ut=[];for(let{offsetX:mr,offsetY:Rr}of Dt)Ut.push(new a.P(he.x+Nt.x*mr+hr.x*Rr,he.y+Nt.y*mr+hr.y*Rr));let tr=!1;if(se){let mr=Ut.map(Rr=>this.projectAndGetPerspectiveRatio(Q,Rr.x,Rr.y,ee,yt));tr=mr.some(Rr=>!Rr.isOccluded),Ut=mr.map(Rr=>Rr.point)}else tr=!0;return{box:a.ao(Ut),allPointsOccluded:!tr}}}function nn(le,w,B){return w*(a.X/(le.tileSize*Math.pow(2,B-le.tileID.overscaledZ)))}class Wi{constructor(w,B,Q,ee){this.opacity=w?Math.max(0,Math.min(1,w.opacity+(w.placed?B:-B))):ee&&Q?1:0,this.placed=Q}isHidden(){return this.opacity===0&&!this.placed}}class Ni{constructor(w,B,Q,ee,se){this.text=new Wi(w?w.text:null,B,Q,se),this.icon=new Wi(w?w.icon:null,B,ee,se)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class _n{constructor(w,B,Q){this.text=w,this.icon=B,this.skipFade=Q}}class $i{constructor(){this.invProjMatrix=a.H(),this.viewportMatrix=a.H(),this.circles=[]}}class zn{constructor(w,B,Q,ee,se){this.bucketInstanceId=w,this.featureIndex=B,this.sourceLayerIndex=Q,this.bucketIndex=ee,this.tileID=se}}class Wn{constructor(w){this.crossSourceCollisions=w,this.maxGroupID=0,this.collisionGroups={}}get(w){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[w]){let B=++this.maxGroupID;this.collisionGroups[w]={ID:B,predicate:Q=>Q.collisionGroupID===B}}return this.collisionGroups[w]}}function It(le,w,B,Q,ee){let{horizontalAlign:se,verticalAlign:qe}=a.au(le);return new a.P(-(se-.5)*w+Q[0]*ee,-(qe-.5)*B+Q[1]*ee)}class ft{constructor(w,B,Q,ee,se,qe){this.transform=w.clone(),this.terrain=Q,this.collisionIndex=new bi(this.transform,B),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=ee,this.retainedQueryData={},this.collisionGroups=new Wn(se),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=qe,qe&&(qe.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(w){let B=this.terrain;return B?(Q,ee)=>B.getElevation(w,Q,ee):null}getBucketParts(w,B,Q,ee){let se=Q.getBucket(B),qe=Q.latestFeatureIndex;if(!se||!qe||B.id!==se.layerIds[0])return;let je=Q.collisionBoxArray,it=se.layers[0].layout,yt=se.layers[0].paint,Ot=Math.pow(2,this.transform.zoom-Q.tileID.overscaledZ),Nt=Q.tileSize/a.X,hr=Q.tileID.toUnwrapped(),Sr=this.transform.calculatePosMatrix(hr),he=it.get(\"text-pitch-alignment\")===\"map\",be=it.get(\"text-rotation-alignment\")===\"map\",Pe=nn(Q,1,this.transform.zoom),Oe=this.collisionIndex.mapProjection.translatePosition(this.transform,Q,yt.get(\"text-translate\"),yt.get(\"text-translate-anchor\")),Je=this.collisionIndex.mapProjection.translatePosition(this.transform,Q,yt.get(\"icon-translate\"),yt.get(\"icon-translate-anchor\")),He=Or(Sr,he,be,this.transform,Pe),et=null;if(he){let Dt=Nr(Sr,he,be,this.transform,Pe);et=a.L([],this.transform.labelPlaneMatrix,Dt)}this.retainedQueryData[se.bucketInstanceId]=new zn(se.bucketInstanceId,qe,se.sourceLayerIndex,se.index,Q.tileID);let Mt={bucket:se,layout:it,translationText:Oe,translationIcon:Je,posMatrix:Sr,unwrappedTileID:hr,textLabelPlaneMatrix:He,labelToScreenMatrix:et,scale:Ot,textPixelRatio:Nt,holdingForFade:Q.holdingForFade(),collisionBoxArray:je,partiallyEvaluatedTextSize:a.ag(se.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(se.sourceID)};if(ee)for(let Dt of se.sortKeyRanges){let{sortKey:Ut,symbolInstanceStart:tr,symbolInstanceEnd:mr}=Dt;w.push({sortKey:Ut,symbolInstanceStart:tr,symbolInstanceEnd:mr,parameters:Mt})}else w.push({symbolInstanceStart:0,symbolInstanceEnd:se.symbolInstances.length,parameters:Mt})}attemptAnchorPlacement(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he,be,Pe,Oe,Je,He){let et=a.aq[w.textAnchor],Mt=[w.textOffset0,w.textOffset1],Dt=It(et,Q,ee,Mt,se),Ut=this.collisionIndex.placeCollisionBox(B,hr,it,yt,Ot,je,qe,Pe,Nt.predicate,He,Dt);if((!Je||this.collisionIndex.placeCollisionBox(Je,hr,it,yt,Ot,je,qe,Oe,Nt.predicate,He,Dt).placeable)&&Ut.placeable){let tr;if(this.prevPlacement&&this.prevPlacement.variableOffsets[Sr.crossTileID]&&this.prevPlacement.placements[Sr.crossTileID]&&this.prevPlacement.placements[Sr.crossTileID].text&&(tr=this.prevPlacement.variableOffsets[Sr.crossTileID].anchor),Sr.crossTileID===0)throw new Error(\"symbolInstance.crossTileID can't be 0\");return this.variableOffsets[Sr.crossTileID]={textOffset:Mt,width:Q,height:ee,anchor:et,textBoxScale:se,prevAnchor:tr},this.markUsedJustification(he,et,Sr,be),he.allowVerticalPlacement&&(this.markUsedOrientation(he,be,Sr),this.placedOrientations[Sr.crossTileID]=be),{shift:Dt,placedGlyphBoxes:Ut}}}placeLayerBucketPart(w,B,Q){let{bucket:ee,layout:se,translationText:qe,translationIcon:je,posMatrix:it,unwrappedTileID:yt,textLabelPlaneMatrix:Ot,labelToScreenMatrix:Nt,textPixelRatio:hr,holdingForFade:Sr,collisionBoxArray:he,partiallyEvaluatedTextSize:be,collisionGroup:Pe}=w.parameters,Oe=se.get(\"text-optional\"),Je=se.get(\"icon-optional\"),He=a.ar(se,\"text-overlap\",\"text-allow-overlap\"),et=He===\"always\",Mt=a.ar(se,\"icon-overlap\",\"icon-allow-overlap\"),Dt=Mt===\"always\",Ut=se.get(\"text-rotation-alignment\")===\"map\",tr=se.get(\"text-pitch-alignment\")===\"map\",mr=se.get(\"icon-text-fit\")!==\"none\",Rr=se.get(\"symbol-z-order\")===\"viewport-y\",zr=et&&(Dt||!ee.hasIconData()||Je),Xr=Dt&&(et||!ee.hasTextData()||Oe);!ee.collisionArrays&&he&&ee.deserializeCollisionBoxes(he);let di=this._getTerrainElevationFunc(this.retainedQueryData[ee.bucketInstanceId].tileID),Li=(Ci,Qi,Mn)=>{var pa,ea;if(B[Ci.crossTileID])return;if(Sr)return void(this.placements[Ci.crossTileID]=new _n(!1,!1,!1));let Ga=!1,To=!1,Wa=!0,co=null,Ro={box:null,placeable:!1,offscreen:null},Ds={box:null,placeable:!1,offscreen:null},As=null,yo=null,po=null,_l=0,Hl=0,Zu=0;Qi.textFeatureIndex?_l=Qi.textFeatureIndex:Ci.useRuntimeCollisionCircles&&(_l=Ci.featureIndex),Qi.verticalTextFeatureIndex&&(Hl=Qi.verticalTextFeatureIndex);let cu=Qi.textBox;if(cu){let zl=we=>{let Be=a.ah.horizontal;if(ee.allowVerticalPlacement&&!we&&this.prevPlacement){let Ue=this.prevPlacement.placedOrientations[Ci.crossTileID];Ue&&(this.placedOrientations[Ci.crossTileID]=Ue,Be=Ue,this.markUsedOrientation(ee,Be,Ci))}return Be},Fl=(we,Be)=>{if(ee.allowVerticalPlacement&&Ci.numVerticalGlyphVertices>0&&Qi.verticalTextBox){for(let Ue of ee.writingModes)if(Ue===a.ah.vertical?(Ro=Be(),Ds=Ro):Ro=we(),Ro&&Ro.placeable)break}else Ro=we()},Z=Ci.textAnchorOffsetStartIndex,oe=Ci.textAnchorOffsetEndIndex;if(oe===Z){let we=(Be,Ue)=>{let We=this.collisionIndex.placeCollisionBox(Be,He,hr,it,yt,tr,Ut,qe,Pe.predicate,di);return We&&We.placeable&&(this.markUsedOrientation(ee,Ue,Ci),this.placedOrientations[Ci.crossTileID]=Ue),We};Fl(()=>we(cu,a.ah.horizontal),()=>{let Be=Qi.verticalTextBox;return ee.allowVerticalPlacement&&Ci.numVerticalGlyphVertices>0&&Be?we(Be,a.ah.vertical):{box:null,offscreen:null}}),zl(Ro&&Ro.placeable)}else{let we=a.aq[(ea=(pa=this.prevPlacement)===null||pa===void 0?void 0:pa.variableOffsets[Ci.crossTileID])===null||ea===void 0?void 0:ea.anchor],Be=(We,wt,tt)=>{let zt=We.x2-We.x1,or=We.y2-We.y1,lr=Ci.textBoxScale,Dr=mr&&Mt===\"never\"?wt:null,Ir=null,oi=He===\"never\"?1:2,ui=\"never\";we&&oi++;for(let qr=0;qr<oi;qr++){for(let Kr=Z;Kr<oe;Kr++){let ii=ee.textAnchorOffsets.get(Kr);if(we&&ii.textAnchor!==we)continue;let vi=this.attemptAnchorPlacement(ii,We,zt,or,lr,Ut,tr,hr,it,yt,Pe,ui,Ci,ee,tt,qe,je,Dr,di);if(vi&&(Ir=vi.placedGlyphBoxes,Ir&&Ir.placeable))return Ga=!0,co=vi.shift,Ir}we?we=null:ui=He}return Q&&!Ir&&(Ir={box:this.collisionIndex.placeCollisionBox(cu,\"always\",hr,it,yt,tr,Ut,qe,Pe.predicate,di,new a.P(0,0)).box,offscreen:!1,placeable:!1}),Ir};Fl(()=>Be(cu,Qi.iconBox,a.ah.horizontal),()=>{let We=Qi.verticalTextBox;return ee.allowVerticalPlacement&&(!Ro||!Ro.placeable)&&Ci.numVerticalGlyphVertices>0&&We?Be(We,Qi.verticalIconBox,a.ah.vertical):{box:null,occluded:!0,offscreen:null}}),Ro&&(Ga=Ro.placeable,Wa=Ro.offscreen);let Ue=zl(Ro&&Ro.placeable);if(!Ga&&this.prevPlacement){let We=this.prevPlacement.variableOffsets[Ci.crossTileID];We&&(this.variableOffsets[Ci.crossTileID]=We,this.markUsedJustification(ee,We.anchor,Ci,Ue))}}}if(As=Ro,Ga=As&&As.placeable,Wa=As&&As.offscreen,Ci.useRuntimeCollisionCircles){let zl=ee.text.placedSymbolArray.get(Ci.centerJustifiedTextSymbolIndex),Fl=a.ai(ee.textSizeData,be,zl),Z=se.get(\"text-padding\");yo=this.collisionIndex.placeCollisionCircles(He,zl,ee.lineVertexArray,ee.glyphOffsetArray,Fl,it,yt,Ot,Nt,Q,tr,Pe.predicate,Ci.collisionCircleDiameter,Z,qe,di),yo.circles.length&&yo.collisionDetected&&!Q&&a.w(\"Collisions detected, but collision boxes are not shown\"),Ga=et||yo.circles.length>0&&!yo.collisionDetected,Wa=Wa&&yo.offscreen}if(Qi.iconFeatureIndex&&(Zu=Qi.iconFeatureIndex),Qi.iconBox){let zl=Fl=>this.collisionIndex.placeCollisionBox(Fl,Mt,hr,it,yt,tr,Ut,je,Pe.predicate,di,mr&&co?co:void 0);Ds&&Ds.placeable&&Qi.verticalIconBox?(po=zl(Qi.verticalIconBox),To=po.placeable):(po=zl(Qi.iconBox),To=po.placeable),Wa=Wa&&po.offscreen}let el=Oe||Ci.numHorizontalGlyphVertices===0&&Ci.numVerticalGlyphVertices===0,au=Je||Ci.numIconVertices===0;el||au?au?el||(To=To&&Ga):Ga=To&&Ga:To=Ga=To&&Ga;let zc=To&&po.placeable;if(Ga&&As.placeable&&this.collisionIndex.insertCollisionBox(As.box,He,se.get(\"text-ignore-placement\"),ee.bucketInstanceId,Ds&&Ds.placeable&&Hl?Hl:_l,Pe.ID),zc&&this.collisionIndex.insertCollisionBox(po.box,Mt,se.get(\"icon-ignore-placement\"),ee.bucketInstanceId,Zu,Pe.ID),yo&&Ga&&this.collisionIndex.insertCollisionCircles(yo.circles,He,se.get(\"text-ignore-placement\"),ee.bucketInstanceId,_l,Pe.ID),Q&&this.storeCollisionData(ee.bucketInstanceId,Mn,Qi,As,po,yo),Ci.crossTileID===0)throw new Error(\"symbolInstance.crossTileID can't be 0\");if(ee.bucketInstanceId===0)throw new Error(\"bucket.bucketInstanceId can't be 0\");this.placements[Ci.crossTileID]=new _n(Ga||zr,To||Xr,Wa||ee.justReloaded),B[Ci.crossTileID]=!0};if(Rr){if(w.symbolInstanceStart!==0)throw new Error(\"bucket.bucketInstanceId should be 0\");let Ci=ee.getSortedSymbolIndexes(this.transform.angle);for(let Qi=Ci.length-1;Qi>=0;--Qi){let Mn=Ci[Qi];Li(ee.symbolInstances.get(Mn),ee.collisionArrays[Mn],Mn)}}else for(let Ci=w.symbolInstanceStart;Ci<w.symbolInstanceEnd;Ci++)Li(ee.symbolInstances.get(Ci),ee.collisionArrays[Ci],Ci);if(Q&&ee.bucketInstanceId in this.collisionCircleArrays){let Ci=this.collisionCircleArrays[ee.bucketInstanceId];a.as(Ci.invProjMatrix,it),Ci.viewportMatrix=this.collisionIndex.getViewportMatrix()}ee.justReloaded=!1}storeCollisionData(w,B,Q,ee,se,qe){if(Q.textBox||Q.iconBox){let je,it;this.collisionBoxArrays.has(w)?je=this.collisionBoxArrays.get(w):(je=new Map,this.collisionBoxArrays.set(w,je)),je.has(B)?it=je.get(B):(it={text:null,icon:null},je.set(B,it)),Q.textBox&&(it.text=ee.box),Q.iconBox&&(it.icon=se.box)}if(qe){let je=this.collisionCircleArrays[w];je===void 0&&(je=this.collisionCircleArrays[w]=new $i);for(let it=0;it<qe.circles.length;it+=4)je.circles.push(qe.circles[it+0]),je.circles.push(qe.circles[it+1]),je.circles.push(qe.circles[it+2]),je.circles.push(qe.collisionDetected?1:0)}}markUsedJustification(w,B,Q,ee){let se;se=ee===a.ah.vertical?Q.verticalPlacedTextSymbolIndex:{left:Q.leftJustifiedTextSymbolIndex,center:Q.centerJustifiedTextSymbolIndex,right:Q.rightJustifiedTextSymbolIndex}[a.at(B)];let qe=[Q.leftJustifiedTextSymbolIndex,Q.centerJustifiedTextSymbolIndex,Q.rightJustifiedTextSymbolIndex,Q.verticalPlacedTextSymbolIndex];for(let je of qe)je>=0&&(w.text.placedSymbolArray.get(je).crossTileID=se>=0&&je!==se?0:Q.crossTileID)}markUsedOrientation(w,B,Q){let ee=B===a.ah.horizontal||B===a.ah.horizontalOnly?B:0,se=B===a.ah.vertical?B:0,qe=[Q.leftJustifiedTextSymbolIndex,Q.centerJustifiedTextSymbolIndex,Q.rightJustifiedTextSymbolIndex];for(let je of qe)w.text.placedSymbolArray.get(je).placedOrientation=ee;Q.verticalPlacedTextSymbolIndex&&(w.text.placedSymbolArray.get(Q.verticalPlacedTextSymbolIndex).placedOrientation=se)}commit(w){this.commitTime=w,this.zoomAtLastRecencyCheck=this.transform.zoom;let B=this.prevPlacement,Q=!1;this.prevZoomAdjustment=B?B.zoomAdjustment(this.transform.zoom):0;let ee=B?B.symbolFadeChange(w):1,se=B?B.opacities:{},qe=B?B.variableOffsets:{},je=B?B.placedOrientations:{};for(let it in this.placements){let yt=this.placements[it],Ot=se[it];Ot?(this.opacities[it]=new Ni(Ot,ee,yt.text,yt.icon),Q=Q||yt.text!==Ot.text.placed||yt.icon!==Ot.icon.placed):(this.opacities[it]=new Ni(null,ee,yt.text,yt.icon,yt.skipFade),Q=Q||yt.text||yt.icon)}for(let it in se){let yt=se[it];if(!this.opacities[it]){let Ot=new Ni(yt,ee,!1,!1);Ot.isHidden()||(this.opacities[it]=Ot,Q=Q||yt.text.placed||yt.icon.placed)}}for(let it in qe)this.variableOffsets[it]||!this.opacities[it]||this.opacities[it].isHidden()||(this.variableOffsets[it]=qe[it]);for(let it in je)this.placedOrientations[it]||!this.opacities[it]||this.opacities[it].isHidden()||(this.placedOrientations[it]=je[it]);if(B&&B.lastPlacementChangeTime===void 0)throw new Error(\"Last placement time for previous placement is not defined\");Q?this.lastPlacementChangeTime=w:typeof this.lastPlacementChangeTime!=\"number\"&&(this.lastPlacementChangeTime=B?B.lastPlacementChangeTime:w)}updateLayerOpacities(w,B){let Q={};for(let ee of B){let se=ee.getBucket(w);se&&ee.latestFeatureIndex&&w.id===se.layerIds[0]&&this.updateBucketOpacities(se,ee.tileID,Q,ee.collisionBoxArray)}}updateBucketOpacities(w,B,Q,ee){w.hasTextData()&&(w.text.opacityVertexArray.clear(),w.text.hasVisibleVertices=!1),w.hasIconData()&&(w.icon.opacityVertexArray.clear(),w.icon.hasVisibleVertices=!1),w.hasIconCollisionBoxData()&&w.iconCollisionBox.collisionVertexArray.clear(),w.hasTextCollisionBoxData()&&w.textCollisionBox.collisionVertexArray.clear();let se=w.layers[0],qe=se.layout,je=new Ni(null,0,!1,!1,!0),it=qe.get(\"text-allow-overlap\"),yt=qe.get(\"icon-allow-overlap\"),Ot=se._unevaluatedLayout.hasValue(\"text-variable-anchor\")||se._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),Nt=qe.get(\"text-rotation-alignment\")===\"map\",hr=qe.get(\"text-pitch-alignment\")===\"map\",Sr=qe.get(\"icon-text-fit\")!==\"none\",he=new Ni(null,0,it&&(yt||!w.hasIconData()||qe.get(\"icon-optional\")),yt&&(it||!w.hasTextData()||qe.get(\"text-optional\")),!0);!w.collisionArrays&&ee&&(w.hasIconCollisionBoxData()||w.hasTextCollisionBoxData())&&w.deserializeCollisionBoxes(ee);let be=(Oe,Je,He)=>{for(let et=0;et<Je/4;et++)Oe.opacityVertexArray.emplaceBack(He);Oe.hasVisibleVertices=Oe.hasVisibleVertices||He!==Pi},Pe=this.collisionBoxArrays.get(w.bucketInstanceId);for(let Oe=0;Oe<w.symbolInstances.length;Oe++){let Je=w.symbolInstances.get(Oe),{numHorizontalGlyphVertices:He,numVerticalGlyphVertices:et,crossTileID:Mt}=Je,Dt=this.opacities[Mt];Q[Mt]?Dt=je:Dt||(Dt=he,this.opacities[Mt]=Dt),Q[Mt]=!0;let Ut=Je.numIconVertices>0,tr=this.placedOrientations[Je.crossTileID],mr=tr===a.ah.vertical,Rr=tr===a.ah.horizontal||tr===a.ah.horizontalOnly;if(He>0||et>0){let Xr=Mi(Dt.text);be(w.text,He,mr?Pi:Xr),be(w.text,et,Rr?Pi:Xr);let di=Dt.text.isHidden();[Je.rightJustifiedTextSymbolIndex,Je.centerJustifiedTextSymbolIndex,Je.leftJustifiedTextSymbolIndex].forEach(Qi=>{Qi>=0&&(w.text.placedSymbolArray.get(Qi).hidden=di||mr?1:0)}),Je.verticalPlacedTextSymbolIndex>=0&&(w.text.placedSymbolArray.get(Je.verticalPlacedTextSymbolIndex).hidden=di||Rr?1:0);let Li=this.variableOffsets[Je.crossTileID];Li&&this.markUsedJustification(w,Li.anchor,Je,tr);let Ci=this.placedOrientations[Je.crossTileID];Ci&&(this.markUsedJustification(w,\"left\",Je,Ci),this.markUsedOrientation(w,Ci,Je))}if(Ut){let Xr=Mi(Dt.icon),di=!(Sr&&Je.verticalPlacedIconSymbolIndex&&mr);Je.placedIconSymbolIndex>=0&&(be(w.icon,Je.numIconVertices,di?Xr:Pi),w.icon.placedSymbolArray.get(Je.placedIconSymbolIndex).hidden=Dt.icon.isHidden()),Je.verticalPlacedIconSymbolIndex>=0&&(be(w.icon,Je.numVerticalIconVertices,di?Pi:Xr),w.icon.placedSymbolArray.get(Je.verticalPlacedIconSymbolIndex).hidden=Dt.icon.isHidden())}let zr=Pe&&Pe.has(Oe)?Pe.get(Oe):{text:null,icon:null};if(w.hasIconCollisionBoxData()||w.hasTextCollisionBoxData()){let Xr=w.collisionArrays[Oe];if(Xr){let di=new a.P(0,0);if(Xr.textBox||Xr.verticalTextBox){let Li=!0;if(Ot){let Ci=this.variableOffsets[Mt];Ci?(di=It(Ci.anchor,Ci.width,Ci.height,Ci.textOffset,Ci.textBoxScale),Nt&&di._rotate(hr?this.transform.angle:-this.transform.angle)):Li=!1}if(Xr.textBox||Xr.verticalTextBox){let Ci;Xr.textBox&&(Ci=mr),Xr.verticalTextBox&&(Ci=Rr),jt(w.textCollisionBox.collisionVertexArray,Dt.text.placed,!Li||Ci,zr.text,di.x,di.y)}}if(Xr.iconBox||Xr.verticalIconBox){let Li=!!(!Rr&&Xr.verticalIconBox),Ci;Xr.iconBox&&(Ci=Li),Xr.verticalIconBox&&(Ci=!Li),jt(w.iconCollisionBox.collisionVertexArray,Dt.icon.placed,Ci,zr.icon,Sr?di.x:0,Sr?di.y:0)}}}}if(w.sortFeatures(this.transform.angle),this.retainedQueryData[w.bucketInstanceId]&&(this.retainedQueryData[w.bucketInstanceId].featureSortOrder=w.featureSortOrder),w.hasTextData()&&w.text.opacityVertexBuffer&&w.text.opacityVertexBuffer.updateData(w.text.opacityVertexArray),w.hasIconData()&&w.icon.opacityVertexBuffer&&w.icon.opacityVertexBuffer.updateData(w.icon.opacityVertexArray),w.hasIconCollisionBoxData()&&w.iconCollisionBox.collisionVertexBuffer&&w.iconCollisionBox.collisionVertexBuffer.updateData(w.iconCollisionBox.collisionVertexArray),w.hasTextCollisionBoxData()&&w.textCollisionBox.collisionVertexBuffer&&w.textCollisionBox.collisionVertexBuffer.updateData(w.textCollisionBox.collisionVertexArray),w.text.opacityVertexArray.length!==w.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${w.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${w.text.layoutVertexArray.length}) / 4`);if(w.icon.opacityVertexArray.length!==w.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${w.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${w.icon.layoutVertexArray.length}) / 4`);if(w.bucketInstanceId in this.collisionCircleArrays){let Oe=this.collisionCircleArrays[w.bucketInstanceId];w.placementInvProjMatrix=Oe.invProjMatrix,w.placementViewportMatrix=Oe.viewportMatrix,w.collisionCircleArray=Oe.circles,delete this.collisionCircleArrays[w.bucketInstanceId]}}symbolFadeChange(w){return this.fadeDuration===0?1:(w-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(w){return Math.max(0,(this.transform.zoom-w)/1.5)}hasTransitions(w){return this.stale||w-this.lastPlacementChangeTime<this.fadeDuration}stillRecent(w,B){let Q=this.zoomAtLastRecencyCheck===B?1-this.zoomAdjustment(B):1;return this.zoomAtLastRecencyCheck=B,this.commitTime+this.fadeDuration*Q>w}setStale(){this.stale=!0}}function jt(le,w,B,Q,ee,se){Q&&Q.length!==0||(Q=[0,0,0,0]);let qe=Q[0]-ri,je=Q[1]-ri,it=Q[2]-ri,yt=Q[3]-ri;le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,qe,je),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,it,je),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,it,yt),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,qe,yt)}let Zt=Math.pow(2,25),yr=Math.pow(2,24),Fr=Math.pow(2,17),Zr=Math.pow(2,16),Vr=Math.pow(2,9),gi=Math.pow(2,8),Si=Math.pow(2,1);function Mi(le){if(le.opacity===0&&!le.placed)return 0;if(le.opacity===1&&le.placed)return 4294967295;let w=le.placed?1:0,B=Math.floor(127*le.opacity);return B*Zt+w*yr+B*Fr+w*Zr+B*Vr+w*gi+B*Si+w}let Pi=0;function Gi(){return{isOccluded:(le,w,B)=>!1,getPitchedTextCorrection:(le,w,B)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(le,w,B,Q){throw new Error(\"Not implemented.\")},translatePosition:(le,w,B,Q)=>function(ee,se,qe,je,it=!1){if(!qe[0]&&!qe[1])return[0,0];let yt=it?je===\"map\"?ee.angle:0:je===\"viewport\"?-ee.angle:0;if(yt){let Ot=Math.sin(yt),Nt=Math.cos(yt);qe=[qe[0]*Nt-qe[1]*Ot,qe[0]*Ot+qe[1]*Nt]}return[it?qe[0]:nn(se,qe[0],ee.zoom),it?qe[1]:nn(se,qe[1],ee.zoom)]}(le,w,B,Q),getCircleRadiusCorrection:le=>1}}class Ki{constructor(w){this._sortAcrossTiles=w.layout.get(\"symbol-z-order\")!==\"viewport-y\"&&!w.layout.get(\"symbol-sort-key\").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(w,B,Q,ee,se){let qe=this._bucketParts;for(;this._currentTileIndex<w.length;)if(B.getBucketParts(qe,ee,w[this._currentTileIndex],this._sortAcrossTiles),this._currentTileIndex++,se())return!0;for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,qe.sort((je,it)=>je.sortKey-it.sortKey));this._currentPartIndex<qe.length;)if(B.placeLayerBucketPart(qe[this._currentPartIndex],this._seenCrossTileIDs,Q),this._currentPartIndex++,se())return!0;return!1}}class ka{constructor(w,B,Q,ee,se,qe,je,it){this.placement=new ft(w,Gi(),B,qe,je,it),this._currentPlacementIndex=Q.length-1,this._forceFullPlacement=ee,this._showCollisionBoxes=se,this._done=!1}isDone(){return this._done}continuePlacement(w,B,Q){let ee=u.now(),se=()=>!this._forceFullPlacement&&u.now()-ee>2;for(;this._currentPlacementIndex>=0;){let qe=B[w[this._currentPlacementIndex]],je=this.placement.collisionIndex.transform.zoom;if(qe.type===\"symbol\"&&(!qe.minzoom||qe.minzoom<=je)&&(!qe.maxzoom||qe.maxzoom>je)){if(this._inProgressLayer||(this._inProgressLayer=new Ki(qe)),this._inProgressLayer.continuePlacement(Q[qe.source],this.placement,this._showCollisionBoxes,qe,se))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(w){return this.placement.commit(w),this.placement}}let jn=512/a.X/2;class la{constructor(w,B,Q){this.tileID=w,this.bucketInstanceId=Q,this._symbolsByKey={};let ee=new Map;for(let se=0;se<B.length;se++){let qe=B.get(se),je=qe.key,it=ee.get(je);it?it.push(qe):ee.set(je,[qe])}for(let[se,qe]of ee){let je={positions:qe.map(it=>({x:Math.floor(it.anchorX*jn),y:Math.floor(it.anchorY*jn)})),crossTileIDs:qe.map(it=>it.crossTileID)};if(je.positions.length>128){let it=new a.av(je.positions.length,16,Uint16Array);for(let{x:yt,y:Ot}of je.positions)it.add(yt,Ot);it.finish(),delete je.positions,je.index=it}this._symbolsByKey[se]=je}}getScaledCoordinates(w,B){let{x:Q,y:ee,z:se}=this.tileID.canonical,{x:qe,y:je,z:it}=B.canonical,yt=jn/Math.pow(2,it-se),Ot=(je*a.X+w.anchorY)*yt,Nt=ee*a.X*jn;return{x:Math.floor((qe*a.X+w.anchorX)*yt-Q*a.X*jn),y:Math.floor(Ot-Nt)}}findMatches(w,B,Q){let ee=this.tileID.canonical.z<B.canonical.z?1:Math.pow(2,this.tileID.canonical.z-B.canonical.z);for(let se=0;se<w.length;se++){let qe=w.get(se);if(qe.crossTileID)continue;let je=this._symbolsByKey[qe.key];if(!je)continue;let it=this.getScaledCoordinates(qe,B);if(je.index){let yt=je.index.range(it.x-ee,it.y-ee,it.x+ee,it.y+ee).sort();for(let Ot of yt){let Nt=je.crossTileIDs[Ot];if(!Q[Nt]){Q[Nt]=!0,qe.crossTileID=Nt;break}}}else if(je.positions)for(let yt=0;yt<je.positions.length;yt++){let Ot=je.positions[yt],Nt=je.crossTileIDs[yt];if(Math.abs(Ot.x-it.x)<=ee&&Math.abs(Ot.y-it.y)<=ee&&!Q[Nt]){Q[Nt]=!0,qe.crossTileID=Nt;break}}}}getCrossTileIDsLists(){return Object.values(this._symbolsByKey).map(({crossTileIDs:w})=>w)}}class Fa{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class Ra{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(w){let B=Math.round((w-this.lng)/360);if(B!==0)for(let Q in this.indexes){let ee=this.indexes[Q],se={};for(let qe in ee){let je=ee[qe];je.tileID=je.tileID.unwrapTo(je.tileID.wrap+B),se[je.tileID.key]=je}this.indexes[Q]=se}this.lng=w}addBucket(w,B,Q){if(this.indexes[w.overscaledZ]&&this.indexes[w.overscaledZ][w.key]){if(this.indexes[w.overscaledZ][w.key].bucketInstanceId===B.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(w.overscaledZ,this.indexes[w.overscaledZ][w.key])}for(let se=0;se<B.symbolInstances.length;se++)B.symbolInstances.get(se).crossTileID=0;this.usedCrossTileIDs[w.overscaledZ]||(this.usedCrossTileIDs[w.overscaledZ]={});let ee=this.usedCrossTileIDs[w.overscaledZ];for(let se in this.indexes){let qe=this.indexes[se];if(Number(se)>w.overscaledZ)for(let je in qe){let it=qe[je];it.tileID.isChildOf(w)&&it.findMatches(B.symbolInstances,w,ee)}else{let je=qe[w.scaledTo(Number(se)).key];je&&je.findMatches(B.symbolInstances,w,ee)}}for(let se=0;se<B.symbolInstances.length;se++){let qe=B.symbolInstances.get(se);qe.crossTileID||(qe.crossTileID=Q.generate(),ee[qe.crossTileID]=!0)}return this.indexes[w.overscaledZ]===void 0&&(this.indexes[w.overscaledZ]={}),this.indexes[w.overscaledZ][w.key]=new la(w,B.symbolInstances,B.bucketInstanceId),!0}removeBucketCrossTileIDs(w,B){for(let Q of B.getCrossTileIDsLists())for(let ee of Q)delete this.usedCrossTileIDs[w][ee]}removeStaleBuckets(w){let B=!1;for(let Q in this.indexes){let ee=this.indexes[Q];for(let se in ee)w[ee[se].bucketInstanceId]||(this.removeBucketCrossTileIDs(Q,ee[se]),delete ee[se],B=!0)}return B}}class jo{constructor(){this.layerIndexes={},this.crossTileIDs=new Fa,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}}addLayer(w,B,Q){let ee=this.layerIndexes[w.id];ee===void 0&&(ee=this.layerIndexes[w.id]=new Ra);let se=!1,qe={};ee.handleWrapJump(Q);for(let je of B){let it=je.getBucket(w);it&&w.id===it.layerIds[0]&&(it.bucketInstanceId||(it.bucketInstanceId=++this.maxBucketInstanceId),ee.addBucket(je.tileID,it,this.crossTileIDs)&&(se=!0),qe[it.bucketInstanceId]=!0)}return ee.removeStaleBuckets(qe)&&(se=!0),se}pruneUnusedLayers(w){let B={};w.forEach(Q=>{B[Q]=!0});for(let Q in this.layerIndexes)B[Q]||delete this.layerIndexes[Q]}}let oa=(le,w)=>a.t(le,w&&w.filter(B=>B.identifier!==\"source.canvas\")),Sn=a.aw();class Ha extends a.E{constructor(w,B={}){super(),this._rtlPluginLoaded=()=>{for(let Q in this.sourceCaches){let ee=this.sourceCaches[Q].getSource().type;ee!==\"vector\"&&ee!==\"geojson\"||this.sourceCaches[Q].reload()}},this.map=w,this.dispatcher=new Ee(Te(),w._getMapId()),this.dispatcher.registerMessageHandler(\"GG\",(Q,ee)=>this.getGlyphs(Q,ee)),this.dispatcher.registerMessageHandler(\"GI\",(Q,ee)=>this.getImages(Q,ee)),this.imageManager=new T,this.imageManager.setEventedParent(this),this.glyphManager=new H(w._requestManager,B.localIdeographFontFamily),this.lineAtlas=new ae(256,512),this.crossTileSymbolIndex=new jo,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new a.ax,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"SR\",a.ay()),bt().on(er,this._rtlPluginLoaded),this.on(\"data\",Q=>{if(Q.dataType!==\"source\"||Q.sourceDataType!==\"metadata\")return;let ee=this.sourceCaches[Q.sourceId];if(!ee)return;let se=ee.getSource();if(se&&se.vectorLayerIds)for(let qe in this._layers){let je=this._layers[qe];je.source===se.id&&this._validateLayer(je)}})}loadURL(w,B={},Q){this.fire(new a.k(\"dataloading\",{dataType:\"style\"})),B.validate=typeof B.validate!=\"boolean\"||B.validate;let ee=this.map._requestManager.transformRequest(w,\"Style\");this._loadStyleRequest=new AbortController;let se=this._loadStyleRequest;a.h(ee,this._loadStyleRequest).then(qe=>{this._loadStyleRequest=null,this._load(qe.data,B,Q)}).catch(qe=>{this._loadStyleRequest=null,qe&&!se.signal.aborted&&this.fire(new a.j(qe))})}loadJSON(w,B={},Q){this.fire(new a.k(\"dataloading\",{dataType:\"style\"})),this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then(()=>{this._frameRequest=null,B.validate=B.validate!==!1,this._load(w,B,Q)}).catch(()=>{})}loadEmpty(){this.fire(new a.k(\"dataloading\",{dataType:\"style\"})),this._load(Sn,{validate:!1})}_load(w,B,Q){var ee;let se=B.transformStyle?B.transformStyle(Q,w):w;if(!B.validate||!oa(this,a.u(se))){this._loaded=!0,this.stylesheet=se;for(let qe in se.sources)this.addSource(qe,se.sources[qe],{validate:!1});se.sprite?this._loadSprite(se.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(se.glyphs),this._createLayers(),this.light=new N(this.stylesheet.light),this.sky=new re(this.stylesheet.sky),this.map.setTerrain((ee=this.stylesheet.terrain)!==null&&ee!==void 0?ee:null),this.fire(new a.k(\"data\",{dataType:\"style\"})),this.fire(new a.k(\"style.load\"))}}_createLayers(){let w=a.az(this.stylesheet.layers);this.dispatcher.broadcast(\"SL\",w),this._order=w.map(B=>B.id),this._layers={},this._serializedLayers=null;for(let B of w){let Q=a.aA(B);Q.setEventedParent(this,{layer:{id:B.id}}),this._layers[B.id]=Q}}_loadSprite(w,B=!1,Q=void 0){let ee;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(se,qe,je,it){return a._(this,void 0,void 0,function*(){let yt=C(se),Ot=je>1?\"@2x\":\"\",Nt={},hr={};for(let{id:Sr,url:he}of yt){let be=qe.transformRequest(M(he,Ot,\".json\"),\"SpriteJSON\");Nt[Sr]=a.h(be,it);let Pe=qe.transformRequest(M(he,Ot,\".png\"),\"SpriteImage\");hr[Sr]=p.getImage(Pe,it)}return yield Promise.all([...Object.values(Nt),...Object.values(hr)]),function(Sr,he){return a._(this,void 0,void 0,function*(){let be={};for(let Pe in Sr){be[Pe]={};let Oe=u.getImageCanvasContext((yield he[Pe]).data),Je=(yield Sr[Pe]).data;for(let He in Je){let{width:et,height:Mt,x:Dt,y:Ut,sdf:tr,pixelRatio:mr,stretchX:Rr,stretchY:zr,content:Xr,textFitWidth:di,textFitHeight:Li}=Je[He];be[Pe][He]={data:null,pixelRatio:mr,sdf:tr,stretchX:Rr,stretchY:zr,content:Xr,textFitWidth:di,textFitHeight:Li,spriteData:{width:et,height:Mt,x:Dt,y:Ut,context:Oe}}}}return be})}(Nt,hr)})}(w,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then(se=>{if(this._spriteRequest=null,se)for(let qe in se){this._spritesImagesIds[qe]=[];let je=this._spritesImagesIds[qe]?this._spritesImagesIds[qe].filter(it=>!(it in se)):[];for(let it of je)this.imageManager.removeImage(it),this._changedImages[it]=!0;for(let it in se[qe]){let yt=qe===\"default\"?it:`${qe}:${it}`;this._spritesImagesIds[qe].push(yt),yt in this.imageManager.images?this.imageManager.updateImage(yt,se[qe][it],!1):this.imageManager.addImage(yt,se[qe][it]),B&&(this._changedImages[yt]=!0)}}}).catch(se=>{this._spriteRequest=null,ee=se,this.fire(new a.j(ee))}).finally(()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),B&&(this._changed=!0),this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"})),Q&&Q(ee)})}_unloadSprite(){for(let w of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(w),this._changedImages[w]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"}))}_validateLayer(w){let B=this.sourceCaches[w.source];if(!B)return;let Q=w.sourceLayer;if(!Q)return;let ee=B.getSource();(ee.type===\"geojson\"||ee.vectorLayerIds&&ee.vectorLayerIds.indexOf(Q)===-1)&&this.fire(new a.j(new Error(`Source layer \"${Q}\" does not exist on source \"${ee.id}\" as specified by style layer \"${w.id}\".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let w in this.sourceCaches)if(!this.sourceCaches[w].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(w,B=!1){let Q=this._serializedAllLayers();if(!w||w.length===0)return Object.values(B?a.aB(Q):Q);let ee=[];for(let se of w)if(Q[se]){let qe=B?a.aB(Q[se]):Q[se];ee.push(qe)}return ee}_serializedAllLayers(){let w=this._serializedLayers;if(w)return w;w=this._serializedLayers={};let B=Object.keys(this._layers);for(let Q of B){let ee=this._layers[Q];ee.type!==\"custom\"&&(w[Q]=ee.serialize())}return w}hasTransitions(){if(this.light&&this.light.hasTransition()||this.sky&&this.sky.hasTransition())return!0;for(let w in this.sourceCaches)if(this.sourceCaches[w].hasTransition())return!0;for(let w in this._layers)if(this._layers[w].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error(\"Style is not done loading.\")}update(w){if(!this._loaded)return;let B=this._changed;if(B){let ee=Object.keys(this._updatedLayers),se=Object.keys(this._removedLayers);(ee.length||se.length)&&this._updateWorkerLayers(ee,se);for(let qe in this._updatedSources){let je=this._updatedSources[qe];if(je===\"reload\")this._reloadSource(qe);else{if(je!==\"clear\")throw new Error(`Invalid action ${je}`);this._clearSource(qe)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let qe in this._updatedPaintProps)this._layers[qe].updateTransitions(w);this.light.updateTransitions(w),this.sky.updateTransitions(w),this._resetUpdates()}let Q={};for(let ee in this.sourceCaches){let se=this.sourceCaches[ee];Q[ee]=se.used,se.used=!1}for(let ee of this._order){let se=this._layers[ee];se.recalculate(w,this._availableImages),!se.isHidden(w.zoom)&&se.source&&(this.sourceCaches[se.source].used=!0)}for(let ee in Q){let se=this.sourceCaches[ee];!!Q[ee]!=!!se.used&&se.fire(new a.k(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:ee}))}this.light.recalculate(w),this.sky.recalculate(w),this.z=w.zoom,B&&this.fire(new a.k(\"data\",{dataType:\"style\"}))}_updateTilesForChangedImages(){let w=Object.keys(this._changedImages);if(w.length){for(let B in this.sourceCaches)this.sourceCaches[B].reloadTilesForDependencies([\"icons\",\"patterns\"],w);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let w in this.sourceCaches)this.sourceCaches[w].reloadTilesForDependencies([\"glyphs\"],[\"\"]);this._glyphsDidChange=!1}}_updateWorkerLayers(w,B){this.dispatcher.broadcast(\"UL\",{layers:this._serializeByIds(w,!1),removedIds:B})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(w,B={}){var Q;this._checkLoaded();let ee=this.serialize();if(w=B.transformStyle?B.transformStyle(ee,w):w,((Q=B.validate)===null||Q===void 0||Q)&&oa(this,a.u(w)))return!1;(w=a.aB(w)).layers=a.az(w.layers);let se=a.aC(ee,w),qe=this._getOperationsToPerform(se);if(qe.unimplemented.length>0)throw new Error(`Unimplemented: ${qe.unimplemented.join(\", \")}.`);if(qe.operations.length===0)return!1;for(let je of qe.operations)je();return this.stylesheet=w,this._serializedLayers=null,!0}_getOperationsToPerform(w){let B=[],Q=[];for(let ee of w)switch(ee.command){case\"setCenter\":case\"setZoom\":case\"setBearing\":case\"setPitch\":continue;case\"addLayer\":B.push(()=>this.addLayer.apply(this,ee.args));break;case\"removeLayer\":B.push(()=>this.removeLayer.apply(this,ee.args));break;case\"setPaintProperty\":B.push(()=>this.setPaintProperty.apply(this,ee.args));break;case\"setLayoutProperty\":B.push(()=>this.setLayoutProperty.apply(this,ee.args));break;case\"setFilter\":B.push(()=>this.setFilter.apply(this,ee.args));break;case\"addSource\":B.push(()=>this.addSource.apply(this,ee.args));break;case\"removeSource\":B.push(()=>this.removeSource.apply(this,ee.args));break;case\"setLayerZoomRange\":B.push(()=>this.setLayerZoomRange.apply(this,ee.args));break;case\"setLight\":B.push(()=>this.setLight.apply(this,ee.args));break;case\"setGeoJSONSourceData\":B.push(()=>this.setGeoJSONSourceData.apply(this,ee.args));break;case\"setGlyphs\":B.push(()=>this.setGlyphs.apply(this,ee.args));break;case\"setSprite\":B.push(()=>this.setSprite.apply(this,ee.args));break;case\"setSky\":B.push(()=>this.setSky.apply(this,ee.args));break;case\"setTerrain\":B.push(()=>this.map.setTerrain.apply(this,ee.args));break;case\"setTransition\":B.push(()=>{});break;default:Q.push(ee.command)}return{operations:B,unimplemented:Q}}addImage(w,B){if(this.getImage(w))return this.fire(new a.j(new Error(`An image named \"${w}\" already exists.`)));this.imageManager.addImage(w,B),this._afterImageUpdated(w)}updateImage(w,B){this.imageManager.updateImage(w,B)}getImage(w){return this.imageManager.getImage(w)}removeImage(w){if(!this.getImage(w))return this.fire(new a.j(new Error(`An image named \"${w}\" does not exist.`)));this.imageManager.removeImage(w),this._afterImageUpdated(w)}_afterImageUpdated(w){this._availableImages=this.imageManager.listImages(),this._changedImages[w]=!0,this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(w,B,Q={}){if(this._checkLoaded(),this.sourceCaches[w]!==void 0)throw new Error(`Source \"${w}\" already exists.`);if(!B.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(B).join(\", \")}.`);if([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(B.type)>=0&&this._validate(a.u.source,`sources.${w}`,B,null,Q))return;this.map&&this.map._collectResourceTiming&&(B.collectResourceTiming=!0);let ee=this.sourceCaches[w]=new dt(w,B,this.dispatcher);ee.style=this,ee.setEventedParent(this,()=>({isSourceLoaded:ee.loaded(),source:ee.serialize(),sourceId:w})),ee.onAdd(this.map),this._changed=!0}removeSource(w){if(this._checkLoaded(),this.sourceCaches[w]===void 0)throw new Error(\"There is no source with this ID\");for(let Q in this._layers)if(this._layers[Q].source===w)return this.fire(new a.j(new Error(`Source \"${w}\" cannot be removed while layer \"${Q}\" is using it.`)));let B=this.sourceCaches[w];delete this.sourceCaches[w],delete this._updatedSources[w],B.fire(new a.k(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:w})),B.setEventedParent(null),B.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(w,B){if(this._checkLoaded(),this.sourceCaches[w]===void 0)throw new Error(`There is no source with this ID=${w}`);let Q=this.sourceCaches[w].getSource();if(Q.type!==\"geojson\")throw new Error(`geojsonSource.type is ${Q.type}, which is !== 'geojson`);Q.setData(B),this._changed=!0}getSource(w){return this.sourceCaches[w]&&this.sourceCaches[w].getSource()}addLayer(w,B,Q={}){this._checkLoaded();let ee=w.id;if(this.getLayer(ee))return void this.fire(new a.j(new Error(`Layer \"${ee}\" already exists on this map.`)));let se;if(w.type===\"custom\"){if(oa(this,a.aD(w)))return;se=a.aA(w)}else{if(\"source\"in w&&typeof w.source==\"object\"&&(this.addSource(ee,w.source),w=a.aB(w),w=a.e(w,{source:ee})),this._validate(a.u.layer,`layers.${ee}`,w,{arrayIndex:-1},Q))return;se=a.aA(w),this._validateLayer(se),se.setEventedParent(this,{layer:{id:ee}})}let qe=B?this._order.indexOf(B):this._order.length;if(B&&qe===-1)this.fire(new a.j(new Error(`Cannot add layer \"${ee}\" before non-existing layer \"${B}\".`)));else{if(this._order.splice(qe,0,ee),this._layerOrderChanged=!0,this._layers[ee]=se,this._removedLayers[ee]&&se.source&&se.type!==\"custom\"){let je=this._removedLayers[ee];delete this._removedLayers[ee],je.type!==se.type?this._updatedSources[se.source]=\"clear\":(this._updatedSources[se.source]=\"reload\",this.sourceCaches[se.source].pause())}this._updateLayer(se),se.onAdd&&se.onAdd(this.map)}}moveLayer(w,B){if(this._checkLoaded(),this._changed=!0,!this._layers[w])return void this.fire(new a.j(new Error(`The layer '${w}' does not exist in the map's style and cannot be moved.`)));if(w===B)return;let Q=this._order.indexOf(w);this._order.splice(Q,1);let ee=B?this._order.indexOf(B):this._order.length;B&&ee===-1?this.fire(new a.j(new Error(`Cannot move layer \"${w}\" before non-existing layer \"${B}\".`))):(this._order.splice(ee,0,w),this._layerOrderChanged=!0)}removeLayer(w){this._checkLoaded();let B=this._layers[w];if(!B)return void this.fire(new a.j(new Error(`Cannot remove non-existing layer \"${w}\".`)));B.setEventedParent(null);let Q=this._order.indexOf(w);this._order.splice(Q,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[w]=B,delete this._layers[w],this._serializedLayers&&delete this._serializedLayers[w],delete this._updatedLayers[w],delete this._updatedPaintProps[w],B.onRemove&&B.onRemove(this.map)}getLayer(w){return this._layers[w]}getLayersOrder(){return[...this._order]}hasLayer(w){return w in this._layers}setLayerZoomRange(w,B,Q){this._checkLoaded();let ee=this.getLayer(w);ee?ee.minzoom===B&&ee.maxzoom===Q||(B!=null&&(ee.minzoom=B),Q!=null&&(ee.maxzoom=Q),this._updateLayer(ee)):this.fire(new a.j(new Error(`Cannot set the zoom range of non-existing layer \"${w}\".`)))}setFilter(w,B,Q={}){this._checkLoaded();let ee=this.getLayer(w);if(ee){if(!a.aE(ee.filter,B))return B==null?(ee.filter=void 0,void this._updateLayer(ee)):void(this._validate(a.u.filter,`layers.${ee.id}.filter`,B,null,Q)||(ee.filter=a.aB(B),this._updateLayer(ee)))}else this.fire(new a.j(new Error(`Cannot filter non-existing layer \"${w}\".`)))}getFilter(w){return a.aB(this.getLayer(w).filter)}setLayoutProperty(w,B,Q,ee={}){this._checkLoaded();let se=this.getLayer(w);se?a.aE(se.getLayoutProperty(B),Q)||(se.setLayoutProperty(B,Q,ee),this._updateLayer(se)):this.fire(new a.j(new Error(`Cannot style non-existing layer \"${w}\".`)))}getLayoutProperty(w,B){let Q=this.getLayer(w);if(Q)return Q.getLayoutProperty(B);this.fire(new a.j(new Error(`Cannot get style of non-existing layer \"${w}\".`)))}setPaintProperty(w,B,Q,ee={}){this._checkLoaded();let se=this.getLayer(w);se?a.aE(se.getPaintProperty(B),Q)||(se.setPaintProperty(B,Q,ee)&&this._updateLayer(se),this._changed=!0,this._updatedPaintProps[w]=!0,this._serializedLayers=null):this.fire(new a.j(new Error(`Cannot style non-existing layer \"${w}\".`)))}getPaintProperty(w,B){return this.getLayer(w).getPaintProperty(B)}setFeatureState(w,B){this._checkLoaded();let Q=w.source,ee=w.sourceLayer,se=this.sourceCaches[Q];if(se===void 0)return void this.fire(new a.j(new Error(`The source '${Q}' does not exist in the map's style.`)));let qe=se.getSource().type;qe===\"geojson\"&&ee?this.fire(new a.j(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):qe!==\"vector\"||ee?(w.id===void 0&&this.fire(new a.j(new Error(\"The feature id parameter must be provided.\"))),se.setFeatureState(ee,w.id,B)):this.fire(new a.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}removeFeatureState(w,B){this._checkLoaded();let Q=w.source,ee=this.sourceCaches[Q];if(ee===void 0)return void this.fire(new a.j(new Error(`The source '${Q}' does not exist in the map's style.`)));let se=ee.getSource().type,qe=se===\"vector\"?w.sourceLayer:void 0;se!==\"vector\"||qe?B&&typeof w.id!=\"string\"&&typeof w.id!=\"number\"?this.fire(new a.j(new Error(\"A feature id is required to remove its specific state property.\"))):ee.removeFeatureState(qe,w.id,B):this.fire(new a.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}getFeatureState(w){this._checkLoaded();let B=w.source,Q=w.sourceLayer,ee=this.sourceCaches[B];if(ee!==void 0)return ee.getSource().type!==\"vector\"||Q?(w.id===void 0&&this.fire(new a.j(new Error(\"The feature id parameter must be provided.\"))),ee.getFeatureState(Q,w.id)):void this.fire(new a.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));this.fire(new a.j(new Error(`The source '${B}' does not exist in the map's style.`)))}getTransition(){return a.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let w=a.aF(this.sourceCaches,se=>se.serialize()),B=this._serializeByIds(this._order,!0),Q=this.map.getTerrain()||void 0,ee=this.stylesheet;return a.aG({version:ee.version,name:ee.name,metadata:ee.metadata,light:ee.light,sky:ee.sky,center:ee.center,zoom:ee.zoom,bearing:ee.bearing,pitch:ee.pitch,sprite:ee.sprite,glyphs:ee.glyphs,transition:ee.transition,sources:w,layers:B,terrain:Q},se=>se!==void 0)}_updateLayer(w){this._updatedLayers[w.id]=!0,w.source&&!this._updatedSources[w.source]&&this.sourceCaches[w.source].getSource().type!==\"raster\"&&(this._updatedSources[w.source]=\"reload\",this.sourceCaches[w.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(w){let B=qe=>this._layers[qe].type===\"fill-extrusion\",Q={},ee=[];for(let qe=this._order.length-1;qe>=0;qe--){let je=this._order[qe];if(B(je)){Q[je]=qe;for(let it of w){let yt=it[je];if(yt)for(let Ot of yt)ee.push(Ot)}}}ee.sort((qe,je)=>je.intersectionZ-qe.intersectionZ);let se=[];for(let qe=this._order.length-1;qe>=0;qe--){let je=this._order[qe];if(B(je))for(let it=ee.length-1;it>=0;it--){let yt=ee[it].feature;if(Q[yt.layer.id]<qe)break;se.push(yt),ee.pop()}else for(let it of w){let yt=it[je];if(yt)for(let Ot of yt)se.push(Ot.feature)}}return se}queryRenderedFeatures(w,B,Q){B&&B.filter&&this._validate(a.u.filter,\"queryRenderedFeatures.filter\",B.filter,null,B);let ee={};if(B&&B.layers){if(!Array.isArray(B.layers))return this.fire(new a.j(new Error(\"parameters.layers must be an Array.\"))),[];for(let je of B.layers){let it=this._layers[je];if(!it)return this.fire(new a.j(new Error(`The layer '${je}' does not exist in the map's style and cannot be queried for features.`))),[];ee[it.source]=!0}}let se=[];B.availableImages=this._availableImages;let qe=this._serializedAllLayers();for(let je in this.sourceCaches)B.layers&&!ee[je]||se.push(Ce(this.sourceCaches[je],this._layers,qe,w,B,Q));return this.placement&&se.push(function(je,it,yt,Ot,Nt,hr,Sr){let he={},be=hr.queryRenderedSymbols(Ot),Pe=[];for(let Oe of Object.keys(be).map(Number))Pe.push(Sr[Oe]);Pe.sort(me);for(let Oe of Pe){let Je=Oe.featureIndex.lookupSymbolFeatures(be[Oe.bucketInstanceId],it,Oe.bucketIndex,Oe.sourceLayerIndex,Nt.filter,Nt.layers,Nt.availableImages,je);for(let He in Je){let et=he[He]=he[He]||[],Mt=Je[He];Mt.sort((Dt,Ut)=>{let tr=Oe.featureSortOrder;if(tr){let mr=tr.indexOf(Dt.featureIndex);return tr.indexOf(Ut.featureIndex)-mr}return Ut.featureIndex-Dt.featureIndex});for(let Dt of Mt)et.push(Dt)}}for(let Oe in he)he[Oe].forEach(Je=>{let He=Je.feature,et=yt[je[Oe].source].getFeatureState(He.layer[\"source-layer\"],He.id);He.source=He.layer.source,He.layer[\"source-layer\"]&&(He.sourceLayer=He.layer[\"source-layer\"]),He.state=et});return he}(this._layers,qe,this.sourceCaches,w,B,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(se)}querySourceFeatures(w,B){B&&B.filter&&this._validate(a.u.filter,\"querySourceFeatures.filter\",B.filter,null,B);let Q=this.sourceCaches[w];return Q?function(ee,se){let qe=ee.getRenderableIds().map(yt=>ee.getTileByID(yt)),je=[],it={};for(let yt=0;yt<qe.length;yt++){let Ot=qe[yt],Nt=Ot.tileID.canonical.key;it[Nt]||(it[Nt]=!0,Ot.querySourceFeatures(je,se))}return je}(Q,B):[]}getLight(){return this.light.getLight()}setLight(w,B={}){this._checkLoaded();let Q=this.light.getLight(),ee=!1;for(let qe in w)if(!a.aE(w[qe],Q[qe])){ee=!0;break}if(!ee)return;let se={now:u.now(),transition:a.e({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(w,B),this.light.updateTransitions(se)}getSky(){var w;return(w=this.stylesheet)===null||w===void 0?void 0:w.sky}setSky(w,B={}){let Q=this.getSky(),ee=!1;if(!w&&!Q)return;if(w&&!Q)ee=!0;else if(!w&&Q)ee=!0;else for(let qe in w)if(!a.aE(w[qe],Q[qe])){ee=!0;break}if(!ee)return;let se={now:u.now(),transition:a.e({duration:300,delay:0},this.stylesheet.transition)};this.stylesheet.sky=w,this.sky.setSky(w,B),this.sky.updateTransitions(se)}_validate(w,B,Q,ee,se={}){return(!se||se.validate!==!1)&&oa(this,w.call(a.u,a.e({key:B,style:this.serialize(),value:Q,styleSpec:a.v},ee)))}_remove(w=!0){this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._loadStyleRequest&&(this._loadStyleRequest.abort(),this._loadStyleRequest=null),this._spriteRequest&&(this._spriteRequest.abort(),this._spriteRequest=null),bt().off(er,this._rtlPluginLoaded);for(let B in this._layers)this._layers[B].setEventedParent(null);for(let B in this.sourceCaches){let Q=this.sourceCaches[B];Q.setEventedParent(null),Q.onRemove(this.map)}this.imageManager.setEventedParent(null),this.setEventedParent(null),w&&this.dispatcher.broadcast(\"RM\",void 0),this.dispatcher.remove(w)}_clearSource(w){this.sourceCaches[w].clearTiles()}_reloadSource(w){this.sourceCaches[w].resume(),this.sourceCaches[w].reload()}_updateSources(w){for(let B in this.sourceCaches)this.sourceCaches[B].update(w,this.map.terrain)}_generateCollisionBoxes(){for(let w in this.sourceCaches)this._reloadSource(w)}_updatePlacement(w,B,Q,ee,se=!1){let qe=!1,je=!1,it={};for(let yt of this._order){let Ot=this._layers[yt];if(Ot.type!==\"symbol\")continue;if(!it[Ot.source]){let hr=this.sourceCaches[Ot.source];it[Ot.source]=hr.getRenderableIds(!0).map(Sr=>hr.getTileByID(Sr)).sort((Sr,he)=>he.tileID.overscaledZ-Sr.tileID.overscaledZ||(Sr.tileID.isLessThan(he.tileID)?-1:1))}let Nt=this.crossTileSymbolIndex.addLayer(Ot,it[Ot.source],w.center.lng);qe=qe||Nt}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((se=se||this._layerOrderChanged||Q===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(u.now(),w.zoom))&&(this.pauseablePlacement=new ka(w,this.map.terrain,this._order,se,B,Q,ee,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,it),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(u.now()),je=!0),qe&&this.pauseablePlacement.placement.setStale()),je||qe)for(let yt of this._order){let Ot=this._layers[yt];Ot.type===\"symbol\"&&this.placement.updateLayerOpacities(Ot,it[Ot.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(u.now())}_releaseSymbolFadeTiles(){for(let w in this.sourceCaches)this.sourceCaches[w].releaseSymbolFadeTiles()}getImages(w,B){return a._(this,void 0,void 0,function*(){let Q=yield this.imageManager.getImages(B.icons);this._updateTilesForChangedImages();let ee=this.sourceCaches[B.source];return ee&&ee.setDependencies(B.tileID.key,B.type,B.icons),Q})}getGlyphs(w,B){return a._(this,void 0,void 0,function*(){let Q=yield this.glyphManager.getGlyphs(B.stacks),ee=this.sourceCaches[B.source];return ee&&ee.setDependencies(B.tileID.key,B.type,[\"\"]),Q})}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(w,B={}){this._checkLoaded(),w&&this._validate(a.u.glyphs,\"glyphs\",w,null,B)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=w,this.glyphManager.entries={},this.glyphManager.setURL(w))}addSprite(w,B,Q={},ee){this._checkLoaded();let se=[{id:w,url:B}],qe=[...C(this.stylesheet.sprite),...se];this._validate(a.u.sprite,\"sprite\",qe,null,Q)||(this.stylesheet.sprite=qe,this._loadSprite(se,!0,ee))}removeSprite(w){this._checkLoaded();let B=C(this.stylesheet.sprite);if(B.find(Q=>Q.id===w)){if(this._spritesImagesIds[w])for(let Q of this._spritesImagesIds[w])this.imageManager.removeImage(Q),this._changedImages[Q]=!0;B.splice(B.findIndex(Q=>Q.id===w),1),this.stylesheet.sprite=B.length>0?B:void 0,delete this._spritesImagesIds[w],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"}))}else this.fire(new a.j(new Error(`Sprite \"${w}\" doesn't exists on this map.`)))}getSprite(){return C(this.stylesheet.sprite)}setSprite(w,B={},Q){this._checkLoaded(),w&&this._validate(a.u.sprite,\"sprite\",w,null,B)||(this.stylesheet.sprite=w,w?this._loadSprite(w,!0,Q):(this._unloadSprite(),Q&&Q(null)))}}var oo=a.Y([{name:\"a_pos\",type:\"Int16\",components:2}]);let xn={prelude:_t(`#ifdef GL_ES\n", - "precision 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\n", - "precision 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\n", - "vec2 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\n", - "uniform 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\n", - "const 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\n", - "highp 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\n", - "return 1.0;\n", - "#endif\n", - "}float calculate_visibility(vec4 pos) {\n", - "#ifdef TERRAIN3D\n", - "vec3 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\n", - "return 1.0;\n", - "#endif\n", - "}float ele(vec2 pos) {\n", - "#ifdef TERRAIN3D\n", - "vec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n", - "#else\n", - "return 0.0;\n", - "#endif\n", - "}float get_elevation(vec2 pos) {\n", - "#ifdef TERRAIN3D\n", - "vec2 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\n", - "return 0.0;\n", - "#endif\n", - "}`),background:_t(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_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:_t(`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\n", - "gl_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:_t(`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\n", - "void 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\n", - "vec2 extrude=v_data.xy;float extrude_length=length(extrude);float antialiased_blur=v_data.z;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\n", - "gl_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\n", - "void 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\n", - "vec2 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;}}float antialiasblur=-max(1.0/u_device_pixel_ratio/(radius+stroke_width),blur);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:_t(\"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:_t(`uniform highp float u_intensity;varying vec2 v_extrude;\n", - "#pragma mapbox: define highp float weight\n", - "#define GAUSS_COEF 0.3989422804014327\n", - "void main() {\n", - "#pragma mapbox: initialize highp float weight\n", - "float 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\n", - "gl_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\n", - "const highp float ZERO=1.0/255.0/16.0;\n", - "#define GAUSS_COEF 0.3989422804014327\n", - "void main(void) {\n", - "#pragma mapbox: initialize highp float weight\n", - "#pragma mapbox: initialize mediump float radius\n", - "vec2 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,get_elevation(floor(a_pos*0.5)),1);gl_Position=u_matrix*pos;}`),heatmapTexture:_t(`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\n", - "gl_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:_t(\"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:_t(\"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:_t(\"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:_t(`#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_FragColor=color*opacity;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:_t(`varying vec2 v_pos;\n", - "#pragma mapbox: define highp vec4 outline_color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 outline_color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "float 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\n", - "gl_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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 outline_color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:_t(`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\n", - "void 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", - "vec2 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\n", - "gl_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\n", - "void 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\n", - "vec2 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:_t(`#ifdef GL_ES\n", - "precision highp float;\n", - "#endif\n", - "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\n", - "void 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", - "vec2 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\n", - "gl_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\n", - "void 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\n", - "vec2 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:_t(`varying vec4 v_color;void main() {gl_FragColor=v_color;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_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\n", - "attribute vec2 a_centroid;\n", - "#endif\n", - "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\n", - "void main() {\n", - "#pragma mapbox: initialize highp float base\n", - "#pragma mapbox: initialize highp float height\n", - "#pragma mapbox: initialize highp vec4 color\n", - "vec3 normal=a_normal_ed.xyz;\n", - "#ifdef TERRAIN3D\n", - "float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n", - "#else\n", - "float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n", - "#endif\n", - "base=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:_t(`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\n", - "void 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\n", - "vec2 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\n", - "gl_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\n", - "attribute vec2 a_centroid;\n", - "#endif\n", - "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\n", - "void 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\n", - "vec2 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\n", - "float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n", - "#else\n", - "float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n", - "#endif\n", - "base=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:_t(`#ifdef GL_ES\n", - "precision highp float;\n", - "#endif\n", - "uniform 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\n", - "gl_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:_t(`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\n", - "void 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\n", - "gl_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:_t(`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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float blur\n", - "#pragma mapbox: initialize lowp float opacity\n", - "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);gl_FragColor=color*(alpha*opacity);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,`\n", - "#define scale 0.015873016\n", - "attribute 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\n", - "void 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", - "float 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\n", - "v_gamma_scale=1.0;\n", - "#else\n", - "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;\n", - "#endif\n", - "v_width2=vec2(outset,inset);}`),lineGradient:_t(`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\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float blur\n", - "#pragma mapbox: initialize lowp float opacity\n", - "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);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,`\n", - "#define scale 0.015873016\n", - "attribute 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\n", - "void 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\n", - "float 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\n", - "v_gamma_scale=1.0;\n", - "#else\n", - "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;\n", - "#endif\n", - "v_width2=vec2(outset,inset);}`),linePattern:_t(`#ifdef GL_ES\n", - "precision highp float;\n", - "#endif\n", - "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\n", - "void 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\n", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,`\n", - "#define scale 0.015873016\n", - "#define LINE_DISTANCE_SCALE 2.0\n", - "attribute 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\n", - "void 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\n", - "float 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\n", - "v_gamma_scale=1.0;\n", - "#else\n", - "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;\n", - "#endif\n", - "v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:_t(`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\n", - "void 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\n", - "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 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,`\n", - "#define scale 0.015873016\n", - "#define LINE_DISTANCE_SCALE 2.0\n", - "attribute 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\n", - "void 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\n", - "float 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\n", - "v_gamma_scale=1.0;\n", - "#else\n", - "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;\n", - "#endif\n", - "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);}`),raster:_t(`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\n", - "gl_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:_t(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float opacity\n", - "lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_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\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float opacity\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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:_t(`#define SDF_PX 8.0\n", - "uniform 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\n", - "void 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\n", - "float 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\n", - "gl_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\n", - "void 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\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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:_t(`#define SDF_PX 8.0\n", - "#define SDF 1.0\n", - "#define ICON 0.0\n", - "uniform 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\n", - "void 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\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "return;}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\n", - "gl_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\n", - "void 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\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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:_t(\"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:_t(\"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:_t(\"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:_t(\"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 _t(le,w){let B=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,Q=w.match(/attribute ([\\w]+) ([\\w]+)/g),ee=le.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),se=w.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),qe=se?se.concat(ee):ee,je={};return{fragmentSource:le=le.replace(B,(it,yt,Ot,Nt,hr)=>(je[hr]=!0,yt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - "varying ${Ot} ${Nt} ${hr};\n", - "#else\n", - "uniform ${Ot} ${Nt} u_${hr};\n", - "#endif\n", - "`:`\n", - "#ifdef HAS_UNIFORM_u_${hr}\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`)),vertexSource:w=w.replace(B,(it,yt,Ot,Nt,hr)=>{let Sr=Nt===\"float\"?\"vec2\":\"vec4\",he=hr.match(/color/)?\"color\":Sr;return je[hr]?yt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - "uniform lowp float u_${hr}_t;\n", - "attribute ${Ot} ${Sr} a_${hr};\n", - "varying ${Ot} ${Nt} ${hr};\n", - "#else\n", - "uniform ${Ot} ${Nt} u_${hr};\n", - "#endif\n", - "`:he===\"vec4\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - " ${hr} = a_${hr};\n", - "#else\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`:`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - " ${hr} = unpack_mix_${he}(a_${hr}, u_${hr}_t);\n", - "#else\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`:yt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - "uniform lowp float u_${hr}_t;\n", - "attribute ${Ot} ${Sr} a_${hr};\n", - "#else\n", - "uniform ${Ot} ${Nt} u_${hr};\n", - "#endif\n", - "`:he===\"vec4\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - " ${Ot} ${Nt} ${hr} = a_${hr};\n", - "#else\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`:`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - " ${Ot} ${Nt} ${hr} = unpack_mix_${he}(a_${hr}, u_${hr}_t);\n", - "#else\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`}),staticAttributes:Q,staticUniforms:qe}}class br{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(w,B,Q,ee,se,qe,je,it,yt){this.context=w;let Ot=this.boundPaintVertexBuffers.length!==ee.length;for(let Nt=0;!Ot&&Nt<ee.length;Nt++)this.boundPaintVertexBuffers[Nt]!==ee[Nt]&&(Ot=!0);!this.vao||this.boundProgram!==B||this.boundLayoutVertexBuffer!==Q||Ot||this.boundIndexBuffer!==se||this.boundVertexOffset!==qe||this.boundDynamicVertexBuffer!==je||this.boundDynamicVertexBuffer2!==it||this.boundDynamicVertexBuffer3!==yt?this.freshBind(B,Q,ee,se,qe,je,it,yt):(w.bindVertexArray.set(this.vao),je&&je.bind(),se&&se.dynamicDraw&&se.bind(),it&&it.bind(),yt&&yt.bind())}freshBind(w,B,Q,ee,se,qe,je,it){let yt=w.numAttributes,Ot=this.context,Nt=Ot.gl;this.vao&&this.destroy(),this.vao=Ot.createVertexArray(),Ot.bindVertexArray.set(this.vao),this.boundProgram=w,this.boundLayoutVertexBuffer=B,this.boundPaintVertexBuffers=Q,this.boundIndexBuffer=ee,this.boundVertexOffset=se,this.boundDynamicVertexBuffer=qe,this.boundDynamicVertexBuffer2=je,this.boundDynamicVertexBuffer3=it,B.enableAttributes(Nt,w);for(let hr of Q)hr.enableAttributes(Nt,w);qe&&qe.enableAttributes(Nt,w),je&&je.enableAttributes(Nt,w),it&&it.enableAttributes(Nt,w),B.bind(),B.setVertexAttribPointers(Nt,w,se);for(let hr of Q)hr.bind(),hr.setVertexAttribPointers(Nt,w,se);qe&&(qe.bind(),qe.setVertexAttribPointers(Nt,w,se)),ee&&ee.bind(),je&&(je.bind(),je.setVertexAttribPointers(Nt,w,se)),it&&(it.bind(),it.setVertexAttribPointers(Nt,w,se)),Ot.currentNumAttributes=yt}destroy(){this.vao&&(this.context.deleteVertexArray(this.vao),this.vao=null)}}let Hr=(le,w,B,Q,ee)=>({u_matrix:le,u_texture:0,u_ele_delta:w,u_fog_matrix:B,u_fog_color:Q?Q.properties.get(\"fog-color\"):a.aM.white,u_fog_ground_blend:Q?Q.properties.get(\"fog-ground-blend\"):1,u_fog_ground_blend_opacity:Q?Q.calculateFogBlendOpacity(ee):0,u_horizon_color:Q?Q.properties.get(\"horizon-color\"):a.aM.white,u_horizon_fog_blend:Q?Q.properties.get(\"horizon-fog-blend\"):1});function ti(le){let w=[];for(let B=0;B<le.length;B++){if(le[B]===null)continue;let Q=le[B].split(\" \");w.push(Q.pop())}return w}class zi{constructor(w,B,Q,ee,se,qe){let je=w.gl;this.program=je.createProgram();let it=ti(B.staticAttributes),yt=Q?Q.getBinderAttributes():[],Ot=it.concat(yt),Nt=xn.prelude.staticUniforms?ti(xn.prelude.staticUniforms):[],hr=B.staticUniforms?ti(B.staticUniforms):[],Sr=Q?Q.getBinderUniforms():[],he=Nt.concat(hr).concat(Sr),be=[];for(let Dt of he)be.indexOf(Dt)<0&&be.push(Dt);let Pe=Q?Q.defines():[];se&&Pe.push(\"#define OVERDRAW_INSPECTOR;\"),qe&&Pe.push(\"#define TERRAIN3D;\");let Oe=Pe.concat(xn.prelude.fragmentSource,B.fragmentSource).join(`\n", - "`),Je=Pe.concat(xn.prelude.vertexSource,B.vertexSource).join(`\n", - "`),He=je.createShader(je.FRAGMENT_SHADER);if(je.isContextLost())return void(this.failedToCreate=!0);if(je.shaderSource(He,Oe),je.compileShader(He),!je.getShaderParameter(He,je.COMPILE_STATUS))throw new Error(`Could not compile fragment shader: ${je.getShaderInfoLog(He)}`);je.attachShader(this.program,He);let et=je.createShader(je.VERTEX_SHADER);if(je.isContextLost())return void(this.failedToCreate=!0);if(je.shaderSource(et,Je),je.compileShader(et),!je.getShaderParameter(et,je.COMPILE_STATUS))throw new Error(`Could not compile vertex shader: ${je.getShaderInfoLog(et)}`);je.attachShader(this.program,et),this.attributes={};let Mt={};this.numAttributes=Ot.length;for(let Dt=0;Dt<this.numAttributes;Dt++)Ot[Dt]&&(je.bindAttribLocation(this.program,Dt,Ot[Dt]),this.attributes[Ot[Dt]]=Dt);if(je.linkProgram(this.program),!je.getProgramParameter(this.program,je.LINK_STATUS))throw new Error(`Program failed to link: ${je.getProgramInfoLog(this.program)}`);je.deleteShader(et),je.deleteShader(He);for(let Dt=0;Dt<be.length;Dt++){let Ut=be[Dt];if(Ut&&!Mt[Ut]){let tr=je.getUniformLocation(this.program,Ut);tr&&(Mt[Ut]=tr)}}this.fixedUniforms=ee(w,Mt),this.terrainUniforms=((Dt,Ut)=>({u_depth:new a.aH(Dt,Ut.u_depth),u_terrain:new a.aH(Dt,Ut.u_terrain),u_terrain_dim:new a.aI(Dt,Ut.u_terrain_dim),u_terrain_matrix:new a.aJ(Dt,Ut.u_terrain_matrix),u_terrain_unpack:new a.aK(Dt,Ut.u_terrain_unpack),u_terrain_exaggeration:new a.aI(Dt,Ut.u_terrain_exaggeration)}))(w,Mt),this.binderUniforms=Q?Q.getUniforms(w,Mt):[]}draw(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he,be,Pe,Oe,Je){let He=w.gl;if(this.failedToCreate)return;if(w.program.set(this.program),w.setDepthMode(Q),w.setStencilMode(ee),w.setColorMode(se),w.setCullFace(qe),it){w.activeTexture.set(He.TEXTURE2),He.bindTexture(He.TEXTURE_2D,it.depthTexture),w.activeTexture.set(He.TEXTURE3),He.bindTexture(He.TEXTURE_2D,it.texture);for(let Mt in this.terrainUniforms)this.terrainUniforms[Mt].set(it[Mt])}for(let Mt in this.fixedUniforms)this.fixedUniforms[Mt].set(je[Mt]);be&&be.setUniforms(w,this.binderUniforms,Sr,{zoom:he});let et=0;switch(B){case He.LINES:et=2;break;case He.TRIANGLES:et=3;break;case He.LINE_STRIP:et=1}for(let Mt of hr.get()){let Dt=Mt.vaos||(Mt.vaos={});(Dt[yt]||(Dt[yt]=new br)).bind(w,this,Ot,be?be.getPaintVertexBuffers():[],Nt,Mt.vertexOffset,Pe,Oe,Je),He.drawElements(B,Mt.primitiveLength*et,He.UNSIGNED_SHORT,Mt.primitiveOffset*et*2)}}}function Yi(le,w,B){let Q=1/nn(B,1,w.transform.tileZoom),ee=Math.pow(2,B.tileID.overscaledZ),se=B.tileSize*Math.pow(2,w.transform.tileZoom)/ee,qe=se*(B.tileID.canonical.x+B.tileID.wrap*ee),je=se*B.tileID.canonical.y;return{u_image:0,u_texsize:B.imageAtlasTexture.size,u_scale:[Q,le.fromScale,le.toScale],u_fade:le.t,u_pixel_coord_upper:[qe>>16,je>>16],u_pixel_coord_lower:[65535&qe,65535&je]}}let an=(le,w,B,Q)=>{let ee=w.style.light,se=ee.properties.get(\"position\"),qe=[se.x,se.y,se.z],je=function(){var yt=new a.A(9);return a.A!=Float32Array&&(yt[1]=0,yt[2]=0,yt[3]=0,yt[5]=0,yt[6]=0,yt[7]=0),yt[0]=1,yt[4]=1,yt[8]=1,yt}();ee.properties.get(\"anchor\")===\"viewport\"&&function(yt,Ot){var Nt=Math.sin(Ot),hr=Math.cos(Ot);yt[0]=hr,yt[1]=Nt,yt[2]=0,yt[3]=-Nt,yt[4]=hr,yt[5]=0,yt[6]=0,yt[7]=0,yt[8]=1}(je,-w.transform.angle),function(yt,Ot,Nt){var hr=Ot[0],Sr=Ot[1],he=Ot[2];yt[0]=hr*Nt[0]+Sr*Nt[3]+he*Nt[6],yt[1]=hr*Nt[1]+Sr*Nt[4]+he*Nt[7],yt[2]=hr*Nt[2]+Sr*Nt[5]+he*Nt[8]}(qe,qe,je);let it=ee.properties.get(\"color\");return{u_matrix:le,u_lightpos:qe,u_lightintensity:ee.properties.get(\"intensity\"),u_lightcolor:[it.r,it.g,it.b],u_vertical_gradient:+B,u_opacity:Q}},hi=(le,w,B,Q,ee,se,qe)=>a.e(an(le,w,B,Q),Yi(se,w,qe),{u_height_factor:-Math.pow(2,ee.overscaledZ)/qe.tileSize/8}),Ji=le=>({u_matrix:le}),ua=(le,w,B,Q)=>a.e(Ji(le),Yi(B,w,Q)),Fn=(le,w)=>({u_matrix:le,u_world:w}),Sa=(le,w,B,Q,ee)=>a.e(ua(le,w,B,Q),{u_world:ee}),go=(le,w,B,Q)=>{let ee=le.transform,se,qe;if(Q.paint.get(\"circle-pitch-alignment\")===\"map\"){let je=nn(B,1,ee.zoom);se=!0,qe=[je,je]}else se=!1,qe=ee.pixelsToGLUnits;return{u_camera_to_center_distance:ee.cameraToCenterDistance,u_scale_with_map:+(Q.paint.get(\"circle-pitch-scale\")===\"map\"),u_matrix:le.translatePosMatrix(w.posMatrix,B,Q.paint.get(\"circle-translate\"),Q.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+se,u_device_pixel_ratio:le.pixelRatio,u_extrude_scale:qe}},Oo=(le,w,B)=>({u_matrix:le,u_inv_matrix:w,u_camera_to_center_distance:B.cameraToCenterDistance,u_viewport_size:[B.width,B.height]}),ho=(le,w,B=1)=>({u_matrix:le,u_color:w,u_overlay:0,u_overlay_scale:B}),Mo=le=>({u_matrix:le}),xo=(le,w,B,Q)=>({u_matrix:le,u_extrude_scale:nn(w,1,B),u_intensity:Q}),zs=(le,w,B,Q)=>{let ee=a.H();a.aP(ee,0,le.width,le.height,0,0,1);let se=le.context.gl;return{u_matrix:ee,u_world:[se.drawingBufferWidth,se.drawingBufferHeight],u_image:B,u_color_ramp:Q,u_opacity:w.paint.get(\"heatmap-opacity\")}};function ks(le,w){let B=Math.pow(2,w.canonical.z),Q=w.canonical.y;return[new a.Z(0,Q/B).toLngLat().lat,new a.Z(0,(Q+1)/B).toLngLat().lat]}let Zs=(le,w,B,Q)=>{let ee=le.transform;return{u_matrix:Cs(le,w,B,Q),u_ratio:1/nn(w,1,ee.zoom),u_device_pixel_ratio:le.pixelRatio,u_units_to_pixels:[1/ee.pixelsToGLUnits[0],1/ee.pixelsToGLUnits[1]]}},Xs=(le,w,B,Q,ee)=>a.e(Zs(le,w,B,ee),{u_image:0,u_image_height:Q}),wl=(le,w,B,Q,ee)=>{let se=le.transform,qe=cl(w,se);return{u_matrix:Cs(le,w,B,ee),u_texsize:w.imageAtlasTexture.size,u_ratio:1/nn(w,1,se.zoom),u_device_pixel_ratio:le.pixelRatio,u_image:0,u_scale:[qe,Q.fromScale,Q.toScale],u_fade:Q.t,u_units_to_pixels:[1/se.pixelsToGLUnits[0],1/se.pixelsToGLUnits[1]]}},os=(le,w,B,Q,ee,se)=>{let qe=le.lineAtlas,je=cl(w,le.transform),it=B.layout.get(\"line-cap\")===\"round\",yt=qe.getDash(Q.from,it),Ot=qe.getDash(Q.to,it),Nt=yt.width*ee.fromScale,hr=Ot.width*ee.toScale;return a.e(Zs(le,w,B,se),{u_patternscale_a:[je/Nt,-yt.height/2],u_patternscale_b:[je/hr,-Ot.height/2],u_sdfgamma:qe.width/(256*Math.min(Nt,hr)*le.pixelRatio)/2,u_image:0,u_tex_y_a:yt.y,u_tex_y_b:Ot.y,u_mix:ee.t})};function cl(le,w){return 1/nn(le,1,w.tileZoom)}function Cs(le,w,B,Q){return le.translatePosMatrix(Q?Q.posMatrix:w.tileID.posMatrix,w,B.paint.get(\"line-translate\"),B.paint.get(\"line-translate-anchor\"))}let ml=(le,w,B,Q,ee)=>{return{u_matrix:le,u_tl_parent:w,u_scale_parent:B,u_buffer_scale:1,u_fade_t:Q.mix,u_opacity:Q.opacity*ee.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:ee.paint.get(\"raster-brightness-min\"),u_brightness_high:ee.paint.get(\"raster-brightness-max\"),u_saturation_factor:(qe=ee.paint.get(\"raster-saturation\"),qe>0?1-1/(1.001-qe):-qe),u_contrast_factor:(se=ee.paint.get(\"raster-contrast\"),se>0?1/(1-se):1+se),u_spin_weights:Ys(ee.paint.get(\"raster-hue-rotate\"))};var se,qe};function Ys(le){le*=Math.PI/180;let w=Math.sin(le),B=Math.cos(le);return[(2*B+1)/3,(-Math.sqrt(3)*w-B+1)/3,(Math.sqrt(3)*w-B+1)/3]}let Hs=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr)=>{let he=qe.transform;return{u_is_size_zoom_constant:+(le===\"constant\"||le===\"source\"),u_is_size_feature_constant:+(le===\"constant\"||le===\"camera\"),u_size_t:w?w.uSizeT:0,u_size:w?w.uSize:0,u_camera_to_center_distance:he.cameraToCenterDistance,u_pitch:he.pitch/360*2*Math.PI,u_rotate_symbol:+B,u_aspect_ratio:he.width/he.height,u_fade_change:qe.options.fadeDuration?qe.symbolFadeChange:1,u_matrix:je,u_label_plane_matrix:it,u_coord_matrix:yt,u_is_text:+Nt,u_pitch_with_map:+Q,u_is_along_line:ee,u_is_variable_anchor:se,u_texsize:hr,u_texture:0,u_translation:Ot,u_pitched_scale:Sr}},Eo=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he)=>{let be=qe.transform;return a.e(Hs(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,he),{u_gamma_scale:Q?Math.cos(be._pitch)*be.cameraToCenterDistance:1,u_device_pixel_ratio:qe.pixelRatio,u_is_halo:+Sr})},fs=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr)=>a.e(Eo(le,w,B,Q,ee,se,qe,je,it,yt,Ot,!0,Nt,!0,Sr),{u_texsize_icon:hr,u_texture_icon:1}),Ql=(le,w,B)=>({u_matrix:le,u_opacity:w,u_color:B}),Hu=(le,w,B,Q,ee,se)=>a.e(function(qe,je,it,yt){let Ot=it.imageManager.getPattern(qe.from.toString()),Nt=it.imageManager.getPattern(qe.to.toString()),{width:hr,height:Sr}=it.imageManager.getPixelSize(),he=Math.pow(2,yt.tileID.overscaledZ),be=yt.tileSize*Math.pow(2,it.transform.tileZoom)/he,Pe=be*(yt.tileID.canonical.x+yt.tileID.wrap*he),Oe=be*yt.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:Ot.tl,u_pattern_br_a:Ot.br,u_pattern_tl_b:Nt.tl,u_pattern_br_b:Nt.br,u_texsize:[hr,Sr],u_mix:je.t,u_pattern_size_a:Ot.displaySize,u_pattern_size_b:Nt.displaySize,u_scale_a:je.fromScale,u_scale_b:je.toScale,u_tile_units_to_pixels:1/nn(yt,1,it.transform.tileZoom),u_pixel_coord_upper:[Pe>>16,Oe>>16],u_pixel_coord_lower:[65535&Pe,65535&Oe]}}(Q,se,B,ee),{u_matrix:le,u_opacity:w}),fc={fillExtrusion:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_lightpos:new a.aN(le,w.u_lightpos),u_lightintensity:new a.aI(le,w.u_lightintensity),u_lightcolor:new a.aN(le,w.u_lightcolor),u_vertical_gradient:new a.aI(le,w.u_vertical_gradient),u_opacity:new a.aI(le,w.u_opacity)}),fillExtrusionPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_lightpos:new a.aN(le,w.u_lightpos),u_lightintensity:new a.aI(le,w.u_lightintensity),u_lightcolor:new a.aN(le,w.u_lightcolor),u_vertical_gradient:new a.aI(le,w.u_vertical_gradient),u_height_factor:new a.aI(le,w.u_height_factor),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade),u_opacity:new a.aI(le,w.u_opacity)}),fill:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix)}),fillPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),fillOutline:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world)}),fillOutlinePattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),circle:(le,w)=>({u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_scale_with_map:new a.aH(le,w.u_scale_with_map),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_extrude_scale:new a.aO(le,w.u_extrude_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_matrix:new a.aJ(le,w.u_matrix)}),collisionBox:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_pixel_extrude_scale:new a.aO(le,w.u_pixel_extrude_scale)}),collisionCircle:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_inv_matrix:new a.aJ(le,w.u_inv_matrix),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_viewport_size:new a.aO(le,w.u_viewport_size)}),debug:(le,w)=>({u_color:new a.aL(le,w.u_color),u_matrix:new a.aJ(le,w.u_matrix),u_overlay:new a.aH(le,w.u_overlay),u_overlay_scale:new a.aI(le,w.u_overlay_scale)}),clippingMask:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix)}),heatmap:(le,w)=>({u_extrude_scale:new a.aI(le,w.u_extrude_scale),u_intensity:new a.aI(le,w.u_intensity),u_matrix:new a.aJ(le,w.u_matrix)}),heatmapTexture:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world),u_image:new a.aH(le,w.u_image),u_color_ramp:new a.aH(le,w.u_color_ramp),u_opacity:new a.aI(le,w.u_opacity)}),hillshade:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_latrange:new a.aO(le,w.u_latrange),u_light:new a.aO(le,w.u_light),u_shadow:new a.aL(le,w.u_shadow),u_highlight:new a.aL(le,w.u_highlight),u_accent:new a.aL(le,w.u_accent)}),hillshadePrepare:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_dimension:new a.aO(le,w.u_dimension),u_zoom:new a.aI(le,w.u_zoom),u_unpack:new a.aK(le,w.u_unpack)}),line:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels)}),lineGradient:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_image:new a.aH(le,w.u_image),u_image_height:new a.aI(le,w.u_image_height)}),linePattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texsize:new a.aO(le,w.u_texsize),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_image:new a.aH(le,w.u_image),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),lineSDF:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_patternscale_a:new a.aO(le,w.u_patternscale_a),u_patternscale_b:new a.aO(le,w.u_patternscale_b),u_sdfgamma:new a.aI(le,w.u_sdfgamma),u_image:new a.aH(le,w.u_image),u_tex_y_a:new a.aI(le,w.u_tex_y_a),u_tex_y_b:new a.aI(le,w.u_tex_y_b),u_mix:new a.aI(le,w.u_mix)}),raster:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_tl_parent:new a.aO(le,w.u_tl_parent),u_scale_parent:new a.aI(le,w.u_scale_parent),u_buffer_scale:new a.aI(le,w.u_buffer_scale),u_fade_t:new a.aI(le,w.u_fade_t),u_opacity:new a.aI(le,w.u_opacity),u_image0:new a.aH(le,w.u_image0),u_image1:new a.aH(le,w.u_image1),u_brightness_low:new a.aI(le,w.u_brightness_low),u_brightness_high:new a.aI(le,w.u_brightness_high),u_saturation_factor:new a.aI(le,w.u_saturation_factor),u_contrast_factor:new a.aI(le,w.u_contrast_factor),u_spin_weights:new a.aN(le,w.u_spin_weights)}),symbolIcon:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texture:new a.aH(le,w.u_texture),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),symbolSDF:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texture:new a.aH(le,w.u_texture),u_gamma_scale:new a.aI(le,w.u_gamma_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_is_halo:new a.aH(le,w.u_is_halo),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),symbolTextAndIcon:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texsize_icon:new a.aO(le,w.u_texsize_icon),u_texture:new a.aH(le,w.u_texture),u_texture_icon:new a.aH(le,w.u_texture_icon),u_gamma_scale:new a.aI(le,w.u_gamma_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_is_halo:new a.aH(le,w.u_is_halo),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),background:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_opacity:new a.aI(le,w.u_opacity),u_color:new a.aL(le,w.u_color)}),backgroundPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_opacity:new a.aI(le,w.u_opacity),u_image:new a.aH(le,w.u_image),u_pattern_tl_a:new a.aO(le,w.u_pattern_tl_a),u_pattern_br_a:new a.aO(le,w.u_pattern_br_a),u_pattern_tl_b:new a.aO(le,w.u_pattern_tl_b),u_pattern_br_b:new a.aO(le,w.u_pattern_br_b),u_texsize:new a.aO(le,w.u_texsize),u_mix:new a.aI(le,w.u_mix),u_pattern_size_a:new a.aO(le,w.u_pattern_size_a),u_pattern_size_b:new a.aO(le,w.u_pattern_size_b),u_scale_a:new a.aI(le,w.u_scale_a),u_scale_b:new a.aI(le,w.u_scale_b),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_tile_units_to_pixels:new a.aI(le,w.u_tile_units_to_pixels)}),terrain:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texture:new a.aH(le,w.u_texture),u_ele_delta:new a.aI(le,w.u_ele_delta),u_fog_matrix:new a.aJ(le,w.u_fog_matrix),u_fog_color:new a.aL(le,w.u_fog_color),u_fog_ground_blend:new a.aI(le,w.u_fog_ground_blend),u_fog_ground_blend_opacity:new a.aI(le,w.u_fog_ground_blend_opacity),u_horizon_color:new a.aL(le,w.u_horizon_color),u_horizon_fog_blend:new a.aI(le,w.u_horizon_fog_blend)}),terrainDepth:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ele_delta:new a.aI(le,w.u_ele_delta)}),terrainCoords:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texture:new a.aH(le,w.u_texture),u_terrain_coords_id:new a.aI(le,w.u_terrain_coords_id),u_ele_delta:new a.aI(le,w.u_ele_delta)}),sky:(le,w)=>({u_sky_color:new a.aL(le,w.u_sky_color),u_horizon_color:new a.aL(le,w.u_horizon_color),u_horizon:new a.aI(le,w.u_horizon),u_sky_horizon_blend:new a.aI(le,w.u_sky_horizon_blend)})};class ms{constructor(w,B,Q){this.context=w;let ee=w.gl;this.buffer=ee.createBuffer(),this.dynamicDraw=!!Q,this.context.unbindVAO(),w.bindElementBuffer.set(this.buffer),ee.bufferData(ee.ELEMENT_ARRAY_BUFFER,B.arrayBuffer,this.dynamicDraw?ee.DYNAMIC_DRAW:ee.STATIC_DRAW),this.dynamicDraw||delete B.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(w){let B=this.context.gl;if(!this.dynamicDraw)throw new Error(\"Attempted to update data while not in dynamic mode.\");this.context.unbindVAO(),this.bind(),B.bufferSubData(B.ELEMENT_ARRAY_BUFFER,0,w.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let on={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"};class fa{constructor(w,B,Q,ee){this.length=B.length,this.attributes=Q,this.itemSize=B.bytesPerElement,this.dynamicDraw=ee,this.context=w;let se=w.gl;this.buffer=se.createBuffer(),w.bindVertexBuffer.set(this.buffer),se.bufferData(se.ARRAY_BUFFER,B.arrayBuffer,this.dynamicDraw?se.DYNAMIC_DRAW:se.STATIC_DRAW),this.dynamicDraw||delete B.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(w){if(w.length!==this.length)throw new Error(`Length of new data is ${w.length}, which doesn't match current length of ${this.length}`);let B=this.context.gl;this.bind(),B.bufferSubData(B.ARRAY_BUFFER,0,w.arrayBuffer)}enableAttributes(w,B){for(let Q=0;Q<this.attributes.length;Q++){let ee=B.attributes[this.attributes[Q].name];ee!==void 0&&w.enableVertexAttribArray(ee)}}setVertexAttribPointers(w,B,Q){for(let ee=0;ee<this.attributes.length;ee++){let se=this.attributes[ee],qe=B.attributes[se.name];qe!==void 0&&w.vertexAttribPointer(qe,se.components,w[on[se.type]],!1,this.itemSize,se.offset+this.itemSize*(Q||0))}}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let Qu=new WeakMap;function Rl(le){var w;if(Qu.has(le))return Qu.get(le);{let B=(w=le.getParameter(le.VERSION))===null||w===void 0?void 0:w.startsWith(\"WebGL 2.0\");return Qu.set(le,B),B}}class vo{constructor(w){this.gl=w.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1}get(){return this.current}set(w){}getDefault(){return this.default}setDefault(){this.set(this.default)}}class Zl extends vo{getDefault(){return a.aM.transparent}set(w){let B=this.current;(w.r!==B.r||w.g!==B.g||w.b!==B.b||w.a!==B.a||this.dirty)&&(this.gl.clearColor(w.r,w.g,w.b,w.a),this.current=w,this.dirty=!1)}}class Ks extends vo{getDefault(){return 1}set(w){(w!==this.current||this.dirty)&&(this.gl.clearDepth(w),this.current=w,this.dirty=!1)}}class Xl extends vo{getDefault(){return 0}set(w){(w!==this.current||this.dirty)&&(this.gl.clearStencil(w),this.current=w,this.dirty=!1)}}class Ec extends vo{getDefault(){return[!0,!0,!0,!0]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||w[2]!==B[2]||w[3]!==B[3]||this.dirty)&&(this.gl.colorMask(w[0],w[1],w[2],w[3]),this.current=w,this.dirty=!1)}}class Zn extends vo{getDefault(){return!0}set(w){(w!==this.current||this.dirty)&&(this.gl.depthMask(w),this.current=w,this.dirty=!1)}}class ko extends vo{getDefault(){return 255}set(w){(w!==this.current||this.dirty)&&(this.gl.stencilMask(w),this.current=w,this.dirty=!1)}}class Co extends vo{getDefault(){return{func:this.gl.ALWAYS,ref:0,mask:255}}set(w){let B=this.current;(w.func!==B.func||w.ref!==B.ref||w.mask!==B.mask||this.dirty)&&(this.gl.stencilFunc(w.func,w.ref,w.mask),this.current=w,this.dirty=!1)}}class Tl extends vo{getDefault(){let w=this.gl;return[w.KEEP,w.KEEP,w.KEEP]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||w[2]!==B[2]||this.dirty)&&(this.gl.stencilOp(w[0],w[1],w[2]),this.current=w,this.dirty=!1)}}class uf extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;w?B.enable(B.STENCIL_TEST):B.disable(B.STENCIL_TEST),this.current=w,this.dirty=!1}}class So extends vo{getDefault(){return[0,1]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||this.dirty)&&(this.gl.depthRange(w[0],w[1]),this.current=w,this.dirty=!1)}}class cf extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;w?B.enable(B.DEPTH_TEST):B.disable(B.DEPTH_TEST),this.current=w,this.dirty=!1}}class rh extends vo{getDefault(){return this.gl.LESS}set(w){(w!==this.current||this.dirty)&&(this.gl.depthFunc(w),this.current=w,this.dirty=!1)}}class Al extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;w?B.enable(B.BLEND):B.disable(B.BLEND),this.current=w,this.dirty=!1}}class Hc extends vo{getDefault(){let w=this.gl;return[w.ONE,w.ZERO]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||this.dirty)&&(this.gl.blendFunc(w[0],w[1]),this.current=w,this.dirty=!1)}}class eu extends vo{getDefault(){return a.aM.transparent}set(w){let B=this.current;(w.r!==B.r||w.g!==B.g||w.b!==B.b||w.a!==B.a||this.dirty)&&(this.gl.blendColor(w.r,w.g,w.b,w.a),this.current=w,this.dirty=!1)}}class Ls extends vo{getDefault(){return this.gl.FUNC_ADD}set(w){(w!==this.current||this.dirty)&&(this.gl.blendEquation(w),this.current=w,this.dirty=!1)}}class mu extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;w?B.enable(B.CULL_FACE):B.disable(B.CULL_FACE),this.current=w,this.dirty=!1}}class kc extends vo{getDefault(){return this.gl.BACK}set(w){(w!==this.current||this.dirty)&&(this.gl.cullFace(w),this.current=w,this.dirty=!1)}}class Of extends vo{getDefault(){return this.gl.CCW}set(w){(w!==this.current||this.dirty)&&(this.gl.frontFace(w),this.current=w,this.dirty=!1)}}class Gc extends vo{getDefault(){return null}set(w){(w!==this.current||this.dirty)&&(this.gl.useProgram(w),this.current=w,this.dirty=!1)}}class vd extends vo{getDefault(){return this.gl.TEXTURE0}set(w){(w!==this.current||this.dirty)&&(this.gl.activeTexture(w),this.current=w,this.dirty=!1)}}class Bf extends vo{getDefault(){let w=this.gl;return[0,0,w.drawingBufferWidth,w.drawingBufferHeight]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||w[2]!==B[2]||w[3]!==B[3]||this.dirty)&&(this.gl.viewport(w[0],w[1],w[2],w[3]),this.current=w,this.dirty=!1)}}class ss extends vo{getDefault(){return null}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.bindFramebuffer(B.FRAMEBUFFER,w),this.current=w,this.dirty=!1}}class ff extends vo{getDefault(){return null}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.bindRenderbuffer(B.RENDERBUFFER,w),this.current=w,this.dirty=!1}}class ih extends vo{getDefault(){return null}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.bindTexture(B.TEXTURE_2D,w),this.current=w,this.dirty=!1}}class Vl extends vo{getDefault(){return null}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.bindBuffer(B.ARRAY_BUFFER,w),this.current=w,this.dirty=!1}}class Js extends vo{getDefault(){return null}set(w){let B=this.gl;B.bindBuffer(B.ELEMENT_ARRAY_BUFFER,w),this.current=w,this.dirty=!1}}class hc extends vo{getDefault(){return null}set(w){var B;if(w===this.current&&!this.dirty)return;let Q=this.gl;Rl(Q)?Q.bindVertexArray(w):(B=Q.getExtension(\"OES_vertex_array_object\"))===null||B===void 0||B.bindVertexArrayOES(w),this.current=w,this.dirty=!1}}class Cc extends vo{getDefault(){return 4}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.pixelStorei(B.UNPACK_ALIGNMENT,w),this.current=w,this.dirty=!1}}class ws extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.pixelStorei(B.UNPACK_PREMULTIPLY_ALPHA_WEBGL,w),this.current=w,this.dirty=!1}}class $s extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.pixelStorei(B.UNPACK_FLIP_Y_WEBGL,w),this.current=w,this.dirty=!1}}class hs extends vo{constructor(w,B){super(w),this.context=w,this.parent=B}getDefault(){return null}}class Ms extends hs{setDirty(){this.dirty=!0}set(w){if(w===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let B=this.gl;B.framebufferTexture2D(B.FRAMEBUFFER,B.COLOR_ATTACHMENT0,B.TEXTURE_2D,w,0),this.current=w,this.dirty=!1}}class dc extends hs{set(w){if(w===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let B=this.gl;B.framebufferRenderbuffer(B.FRAMEBUFFER,B.DEPTH_ATTACHMENT,B.RENDERBUFFER,w),this.current=w,this.dirty=!1}}class Sl extends hs{set(w){if(w===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let B=this.gl;B.framebufferRenderbuffer(B.FRAMEBUFFER,B.DEPTH_STENCIL_ATTACHMENT,B.RENDERBUFFER,w),this.current=w,this.dirty=!1}}class ec{constructor(w,B,Q,ee,se){this.context=w,this.width=B,this.height=Q;let qe=w.gl,je=this.framebuffer=qe.createFramebuffer();if(this.colorAttachment=new Ms(w,je),ee)this.depthAttachment=se?new Sl(w,je):new dc(w,je);else if(se)throw new Error(\"Stencil cannot be set without depth\");if(qe.checkFramebufferStatus(qe.FRAMEBUFFER)!==qe.FRAMEBUFFER_COMPLETE)throw new Error(\"Framebuffer is not complete\")}destroy(){let w=this.context.gl,B=this.colorAttachment.get();if(B&&w.deleteTexture(B),this.depthAttachment){let Q=this.depthAttachment.get();Q&&w.deleteRenderbuffer(Q)}w.deleteFramebuffer(this.framebuffer)}}class Ps{constructor(w,B,Q){this.blendFunction=w,this.blendColor=B,this.mask=Q}}Ps.Replace=[1,0],Ps.disabled=new Ps(Ps.Replace,a.aM.transparent,[!1,!1,!1,!1]),Ps.unblended=new Ps(Ps.Replace,a.aM.transparent,[!0,!0,!0,!0]),Ps.alphaBlended=new Ps([1,771],a.aM.transparent,[!0,!0,!0,!0]);class ov{constructor(w){var B,Q;if(this.gl=w,this.clearColor=new Zl(this),this.clearDepth=new Ks(this),this.clearStencil=new Xl(this),this.colorMask=new Ec(this),this.depthMask=new Zn(this),this.stencilMask=new ko(this),this.stencilFunc=new Co(this),this.stencilOp=new Tl(this),this.stencilTest=new uf(this),this.depthRange=new So(this),this.depthTest=new cf(this),this.depthFunc=new rh(this),this.blend=new Al(this),this.blendFunc=new Hc(this),this.blendColor=new eu(this),this.blendEquation=new Ls(this),this.cullFace=new mu(this),this.cullFaceSide=new kc(this),this.frontFace=new Of(this),this.program=new Gc(this),this.activeTexture=new vd(this),this.viewport=new Bf(this),this.bindFramebuffer=new ss(this),this.bindRenderbuffer=new ff(this),this.bindTexture=new ih(this),this.bindVertexBuffer=new Vl(this),this.bindElementBuffer=new Js(this),this.bindVertexArray=new hc(this),this.pixelStoreUnpack=new Cc(this),this.pixelStoreUnpackPremultiplyAlpha=new ws(this),this.pixelStoreUnpackFlipY=new $s(this),this.extTextureFilterAnisotropic=w.getExtension(\"EXT_texture_filter_anisotropic\")||w.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||w.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=w.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.maxTextureSize=w.getParameter(w.MAX_TEXTURE_SIZE),Rl(w)){this.HALF_FLOAT=w.HALF_FLOAT;let ee=w.getExtension(\"EXT_color_buffer_half_float\");this.RGBA16F=(B=w.RGBA16F)!==null&&B!==void 0?B:ee==null?void 0:ee.RGBA16F_EXT,this.RGB16F=(Q=w.RGB16F)!==null&&Q!==void 0?Q:ee==null?void 0:ee.RGB16F_EXT,w.getExtension(\"EXT_color_buffer_float\")}else{w.getExtension(\"EXT_color_buffer_half_float\"),w.getExtension(\"OES_texture_half_float_linear\");let ee=w.getExtension(\"OES_texture_half_float\");this.HALF_FLOAT=ee==null?void 0:ee.HALF_FLOAT_OES}}setDefault(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()}setDirty(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.bindVertexArray.dirty=!0,this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0}createIndexBuffer(w,B){return new ms(this,w,B)}createVertexBuffer(w,B,Q){return new fa(this,w,B,Q)}createRenderbuffer(w,B,Q){let ee=this.gl,se=ee.createRenderbuffer();return this.bindRenderbuffer.set(se),ee.renderbufferStorage(ee.RENDERBUFFER,w,B,Q),this.bindRenderbuffer.set(null),se}createFramebuffer(w,B,Q,ee){return new ec(this,w,B,Q,ee)}clear({color:w,depth:B,stencil:Q}){let ee=this.gl,se=0;w&&(se|=ee.COLOR_BUFFER_BIT,this.clearColor.set(w),this.colorMask.set([!0,!0,!0,!0])),B!==void 0&&(se|=ee.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(B),this.depthMask.set(!0)),Q!==void 0&&(se|=ee.STENCIL_BUFFER_BIT,this.clearStencil.set(Q),this.stencilMask.set(255)),ee.clear(se)}setCullFace(w){w.enable===!1?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(w.mode),this.frontFace.set(w.frontFace))}setDepthMode(w){w.func!==this.gl.ALWAYS||w.mask?(this.depthTest.set(!0),this.depthFunc.set(w.func),this.depthMask.set(w.mask),this.depthRange.set(w.range)):this.depthTest.set(!1)}setStencilMode(w){w.test.func!==this.gl.ALWAYS||w.mask?(this.stencilTest.set(!0),this.stencilMask.set(w.mask),this.stencilOp.set([w.fail,w.depthFail,w.pass]),this.stencilFunc.set({func:w.test.func,ref:w.ref,mask:w.test.mask})):this.stencilTest.set(!1)}setColorMode(w){a.aE(w.blendFunction,Ps.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(w.blendFunction),this.blendColor.set(w.blendColor)),this.colorMask.set(w.mask)}createVertexArray(){var w;return Rl(this.gl)?this.gl.createVertexArray():(w=this.gl.getExtension(\"OES_vertex_array_object\"))===null||w===void 0?void 0:w.createVertexArrayOES()}deleteVertexArray(w){var B;return Rl(this.gl)?this.gl.deleteVertexArray(w):(B=this.gl.getExtension(\"OES_vertex_array_object\"))===null||B===void 0?void 0:B.deleteVertexArrayOES(w)}unbindVAO(){this.bindVertexArray.set(null)}}class wo{constructor(w,B,Q){this.func=w,this.mask=B,this.range=Q}}wo.ReadOnly=!1,wo.ReadWrite=!0,wo.disabled=new wo(519,wo.ReadOnly,[0,1]);let Od=7680;class $o{constructor(w,B,Q,ee,se,qe){this.test=w,this.ref=B,this.mask=Q,this.fail=ee,this.depthFail=se,this.pass=qe}}$o.disabled=new $o({func:519,mask:0},0,0,Od,Od,Od);class Ja{constructor(w,B,Q){this.enable=w,this.mode=B,this.frontFace=Q}}let Ef;function tc(le,w,B,Q,ee){let se=le.context,qe=se.gl,je=le.useProgram(\"collisionBox\"),it=[],yt=0,Ot=0;for(let Oe=0;Oe<Q.length;Oe++){let Je=Q[Oe],He=w.getTile(Je).getBucket(B);if(!He)continue;let et=ee?He.textCollisionBox:He.iconCollisionBox,Mt=He.collisionCircleArray;if(Mt.length>0){let Dt=a.H();a.aQ(Dt,He.placementInvProjMatrix,le.transform.glCoordMatrix),a.aQ(Dt,Dt,He.placementViewportMatrix),it.push({circleArray:Mt,circleOffset:Ot,transform:Je.posMatrix,invTransform:Dt,coord:Je}),yt+=Mt.length/4,Ot=yt}et&&je.draw(se,qe.LINES,wo.disabled,$o.disabled,le.colorModeForRenderPass(),Ja.disabled,{u_matrix:Je.posMatrix,u_pixel_extrude_scale:[1/(Nt=le.transform).width,1/Nt.height]},le.style.map.terrain&&le.style.map.terrain.getTerrainData(Je),B.id,et.layoutVertexBuffer,et.indexBuffer,et.segments,null,le.transform.zoom,null,null,et.collisionVertexBuffer)}var Nt;if(!ee||!it.length)return;let hr=le.useProgram(\"collisionCircle\"),Sr=new a.aR;Sr.resize(4*yt),Sr._trim();let he=0;for(let Oe of it)for(let Je=0;Je<Oe.circleArray.length/4;Je++){let He=4*Je,et=Oe.circleArray[He+0],Mt=Oe.circleArray[He+1],Dt=Oe.circleArray[He+2],Ut=Oe.circleArray[He+3];Sr.emplace(he++,et,Mt,Dt,Ut,0),Sr.emplace(he++,et,Mt,Dt,Ut,1),Sr.emplace(he++,et,Mt,Dt,Ut,2),Sr.emplace(he++,et,Mt,Dt,Ut,3)}(!Ef||Ef.length<2*yt)&&(Ef=function(Oe){let Je=2*Oe,He=new a.aT;He.resize(Je),He._trim();for(let et=0;et<Je;et++){let Mt=6*et;He.uint16[Mt+0]=4*et+0,He.uint16[Mt+1]=4*et+1,He.uint16[Mt+2]=4*et+2,He.uint16[Mt+3]=4*et+2,He.uint16[Mt+4]=4*et+3,He.uint16[Mt+5]=4*et+0}return He}(yt));let be=se.createIndexBuffer(Ef,!0),Pe=se.createVertexBuffer(Sr,a.aS.members,!0);for(let Oe of it){let Je=Oo(Oe.transform,Oe.invTransform,le.transform);hr.draw(se,qe.TRIANGLES,wo.disabled,$o.disabled,le.colorModeForRenderPass(),Ja.disabled,Je,le.style.map.terrain&&le.style.map.terrain.getTerrainData(Oe.coord),B.id,Pe,be,a.a0.simpleSegment(0,2*Oe.circleOffset,Oe.circleArray.length,Oe.circleArray.length/2),null,le.transform.zoom,null,null,null)}Pe.destroy(),be.destroy()}Ja.disabled=new Ja(!1,1029,2305),Ja.backCCW=new Ja(!0,1029,2305);let uu=a.an(new Float32Array(16));function Mh(le,w,B,Q,ee,se){let{horizontalAlign:qe,verticalAlign:je}=a.au(le);return new a.P((-(qe-.5)*w/ee+Q[0])*se,(-(je-.5)*B/ee+Q[1])*se)}function jc(le,w,B,Q,ee,se){let qe=w.tileAnchorPoint.add(new a.P(w.translation[0],w.translation[1]));if(w.pitchWithMap){let je=Q.mult(se);B||(je=je.rotate(-ee));let it=qe.add(je);return ut(it.x,it.y,w.labelPlaneMatrix,w.getElevation).point}if(B){let je=lt(w.tileAnchorPoint.x+1,w.tileAnchorPoint.y,w).point.sub(le),it=Math.atan(je.y/je.x)+(je.x<0?Math.PI:0);return le.add(Q.rotate(it))}return le.add(Q)}function kf(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr){let he=le.text.placedSymbolArray,be=le.text.dynamicLayoutVertexArray,Pe=le.icon.dynamicLayoutVertexArray,Oe={};be.clear();for(let Je=0;Je<he.length;Je++){let He=he.get(Je),et=He.hidden||!He.crossTileID||le.allowVerticalPlacement&&!He.placedOrientation?null:Q[He.crossTileID];if(et){let Mt=new a.P(He.anchorX,He.anchorY),Dt={getElevation:Sr,width:ee.width,height:ee.height,labelPlaneMatrix:se,lineVertexArray:null,pitchWithMap:B,projection:Ot,projectionCache:null,tileAnchorPoint:Mt,translation:Nt,unwrappedTileID:hr},Ut=B?ut(Mt.x,Mt.y,qe,Sr):lt(Mt.x,Mt.y,Dt),tr=Ne(ee.cameraToCenterDistance,Ut.signedDistanceFromCamera),mr=a.ai(le.textSizeData,it,He)*tr/a.ap;B&&(mr*=le.tilePixelRatio/je);let{width:Rr,height:zr,anchor:Xr,textOffset:di,textBoxScale:Li}=et,Ci=Mh(Xr,Rr,zr,di,Li,mr),Qi=Ot.getPitchedTextCorrection(ee,Mt.add(new a.P(Nt[0],Nt[1])),hr),Mn=jc(Ut.point,Dt,w,Ci,ee.angle,Qi),pa=le.allowVerticalPlacement&&He.placedOrientation===a.ah.vertical?Math.PI/2:0;for(let ea=0;ea<He.numGlyphs;ea++)a.aj(be,Mn,pa);yt&&He.associatedIconIndex>=0&&(Oe[He.associatedIconIndex]={shiftedAnchor:Mn,angle:pa})}else ai(He.numGlyphs,be)}if(yt){Pe.clear();let Je=le.icon.placedSymbolArray;for(let He=0;He<Je.length;He++){let et=Je.get(He);if(et.hidden)ai(et.numGlyphs,Pe);else{let Mt=Oe[He];if(Mt)for(let Dt=0;Dt<et.numGlyphs;Dt++)a.aj(Pe,Mt.shiftedAnchor,Mt.angle);else ai(et.numGlyphs,Pe)}}le.icon.dynamicLayoutVertexBuffer.updateData(Pe)}le.text.dynamicLayoutVertexBuffer.updateData(be)}function Ml(le,w,B){return B.iconsInText&&w?\"symbolTextAndIcon\":le?\"symbolSDF\":\"symbolIcon\"}function Yh(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt){let hr=le.context,Sr=hr.gl,he=le.transform,be=Gi(),Pe=je===\"map\",Oe=it===\"map\",Je=je!==\"viewport\"&&B.layout.get(\"symbol-placement\")!==\"point\",He=Pe&&!Oe&&!Je,et=!Oe&&Je,Mt=!B.layout.get(\"symbol-sort-key\").isConstant(),Dt=!1,Ut=le.depthModeForSublayer(0,wo.ReadOnly),tr=B._unevaluatedLayout.hasValue(\"text-variable-anchor\")||B._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),mr=[],Rr=be.getCircleRadiusCorrection(he);for(let zr of Q){let Xr=w.getTile(zr),di=Xr.getBucket(B);if(!di)continue;let Li=ee?di.text:di.icon;if(!Li||!Li.segments.get().length||!Li.hasVisibleVertices)continue;let Ci=Li.programConfigurations.get(B.id),Qi=ee||di.sdfIcons,Mn=ee?di.textSizeData:di.iconSizeData,pa=Oe||he.pitch!==0,ea=le.useProgram(Ml(Qi,ee,di),Ci),Ga=a.ag(Mn,he.zoom),To=le.style.map.terrain&&le.style.map.terrain.getTerrainData(zr),Wa,co,Ro,Ds,As=[0,0],yo=null;if(ee)co=Xr.glyphAtlasTexture,Ro=Sr.LINEAR,Wa=Xr.glyphAtlasTexture.size,di.iconsInText&&(As=Xr.imageAtlasTexture.size,yo=Xr.imageAtlasTexture,Ds=pa||le.options.rotating||le.options.zooming||Mn.kind===\"composite\"||Mn.kind===\"camera\"?Sr.LINEAR:Sr.NEAREST);else{let We=B.layout.get(\"icon-size\").constantOr(0)!==1||di.iconsNeedLinear;co=Xr.imageAtlasTexture,Ro=Qi||le.options.rotating||le.options.zooming||We||pa?Sr.LINEAR:Sr.NEAREST,Wa=Xr.imageAtlasTexture.size}let po=nn(Xr,1,le.transform.zoom),_l=et?zr.posMatrix:uu,Hl=Or(_l,Oe,Pe,le.transform,po),Zu=Nr(_l,Oe,Pe,le.transform,po),cu=Nr(zr.posMatrix,Oe,Pe,le.transform,po),el=be.translatePosition(le.transform,Xr,se,qe),au=tr&&di.hasTextData(),zc=B.layout.get(\"icon-text-fit\")!==\"none\"&&au&&di.hasIconData();if(Je){let We=le.style.map.terrain?(tt,zt)=>le.style.map.terrain.getElevation(zr,tt,zt):null,wt=B.layout.get(\"text-rotation-alignment\")===\"map\";Ve(di,zr.posMatrix,le,ee,Hl,cu,Oe,yt,wt,be,zr.toUnwrapped(),he.width,he.height,el,We)}let zl=zr.posMatrix,Fl=ee&&tr||zc,Z=Je||Fl?uu:Hl,oe=Zu,we=Qi&&B.paint.get(ee?\"text-halo-width\":\"icon-halo-width\").constantOr(1)!==0,Be;Be=Qi?di.iconsInText?fs(Mn.kind,Ga,He,Oe,Je,Fl,le,zl,Z,oe,el,Wa,As,Rr):Eo(Mn.kind,Ga,He,Oe,Je,Fl,le,zl,Z,oe,el,ee,Wa,!0,Rr):Hs(Mn.kind,Ga,He,Oe,Je,Fl,le,zl,Z,oe,el,ee,Wa,Rr);let Ue={program:ea,buffers:Li,uniformValues:Be,atlasTexture:co,atlasTextureIcon:yo,atlasInterpolation:Ro,atlasInterpolationIcon:Ds,isSDF:Qi,hasHalo:we};if(Mt&&di.canOverlap){Dt=!0;let We=Li.segments.get();for(let wt of We)mr.push({segments:new a.a0([wt]),sortKey:wt.sortKey,state:Ue,terrainData:To})}else mr.push({segments:Li.segments,sortKey:0,state:Ue,terrainData:To})}Dt&&mr.sort((zr,Xr)=>zr.sortKey-Xr.sortKey);for(let zr of mr){let Xr=zr.state;if(hr.activeTexture.set(Sr.TEXTURE0),Xr.atlasTexture.bind(Xr.atlasInterpolation,Sr.CLAMP_TO_EDGE),Xr.atlasTextureIcon&&(hr.activeTexture.set(Sr.TEXTURE1),Xr.atlasTextureIcon&&Xr.atlasTextureIcon.bind(Xr.atlasInterpolationIcon,Sr.CLAMP_TO_EDGE)),Xr.isSDF){let di=Xr.uniformValues;Xr.hasHalo&&(di.u_is_halo=1,Eh(Xr.buffers,zr.segments,B,le,Xr.program,Ut,Ot,Nt,di,zr.terrainData)),di.u_is_halo=0}Eh(Xr.buffers,zr.segments,B,le,Xr.program,Ut,Ot,Nt,Xr.uniformValues,zr.terrainData)}}function Eh(le,w,B,Q,ee,se,qe,je,it,yt){let Ot=Q.context;ee.draw(Ot,Ot.gl.TRIANGLES,se,qe,je,Ja.disabled,it,yt,B.id,le.layoutVertexBuffer,le.indexBuffer,w,B.paint,Q.transform.zoom,le.programConfigurations.get(B.id),le.dynamicLayoutVertexBuffer,le.opacityVertexBuffer)}function nh(le,w,B,Q){let ee=le.context,se=ee.gl,qe=$o.disabled,je=new Ps([se.ONE,se.ONE],a.aM.transparent,[!0,!0,!0,!0]),it=w.getBucket(B);if(!it)return;let yt=Q.key,Ot=B.heatmapFbos.get(yt);Ot||(Ot=kh(ee,w.tileSize,w.tileSize),B.heatmapFbos.set(yt,Ot)),ee.bindFramebuffer.set(Ot.framebuffer),ee.viewport.set([0,0,w.tileSize,w.tileSize]),ee.clear({color:a.aM.transparent});let Nt=it.programConfigurations.get(B.id),hr=le.useProgram(\"heatmap\",Nt),Sr=le.style.map.terrain.getTerrainData(Q);hr.draw(ee,se.TRIANGLES,wo.disabled,qe,je,Ja.disabled,xo(Q.posMatrix,w,le.transform.zoom,B.paint.get(\"heatmap-intensity\")),Sr,B.id,it.layoutVertexBuffer,it.indexBuffer,it.segments,B.paint,le.transform.zoom,Nt)}function hf(le,w,B){let Q=le.context,ee=Q.gl;Q.setColorMode(le.colorModeForRenderPass());let se=Kh(Q,w),qe=B.key,je=w.heatmapFbos.get(qe);je&&(Q.activeTexture.set(ee.TEXTURE0),ee.bindTexture(ee.TEXTURE_2D,je.colorAttachment.get()),Q.activeTexture.set(ee.TEXTURE1),se.bind(ee.LINEAR,ee.CLAMP_TO_EDGE),le.useProgram(\"heatmapTexture\").draw(Q,ee.TRIANGLES,wo.disabled,$o.disabled,le.colorModeForRenderPass(),Ja.disabled,zs(le,w,0,1),null,w.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments,w.paint,le.transform.zoom),je.destroy(),w.heatmapFbos.delete(qe))}function kh(le,w,B){var Q,ee;let se=le.gl,qe=se.createTexture();se.bindTexture(se.TEXTURE_2D,qe),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_S,se.CLAMP_TO_EDGE),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_T,se.CLAMP_TO_EDGE),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MIN_FILTER,se.LINEAR),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MAG_FILTER,se.LINEAR);let je=(Q=le.HALF_FLOAT)!==null&&Q!==void 0?Q:se.UNSIGNED_BYTE,it=(ee=le.RGBA16F)!==null&&ee!==void 0?ee:se.RGBA;se.texImage2D(se.TEXTURE_2D,0,it,w,B,0,se.RGBA,je,null);let yt=le.createFramebuffer(w,B,!1,!1);return yt.colorAttachment.set(qe),yt}function Kh(le,w){return w.colorRampTexture||(w.colorRampTexture=new g(le,w.colorRamp,le.gl.RGBA)),w.colorRampTexture}function rc(le,w,B,Q,ee){if(!B||!Q||!Q.imageAtlas)return;let se=Q.imageAtlas.patternPositions,qe=se[B.to.toString()],je=se[B.from.toString()];if(!qe&&je&&(qe=je),!je&&qe&&(je=qe),!qe||!je){let it=ee.getPaintProperty(w);qe=se[it],je=se[it]}qe&&je&&le.setConstantPatternPositions(qe,je)}function ah(le,w,B,Q,ee,se,qe){let je=le.context.gl,it=\"fill-pattern\",yt=B.paint.get(it),Ot=yt&&yt.constantOr(1),Nt=B.getCrossfadeParameters(),hr,Sr,he,be,Pe;qe?(Sr=Ot&&!B.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",hr=je.LINES):(Sr=Ot?\"fillPattern\":\"fill\",hr=je.TRIANGLES);let Oe=yt.constantOr(null);for(let Je of Q){let He=w.getTile(Je);if(Ot&&!He.patternsLoaded())continue;let et=He.getBucket(B);if(!et)continue;let Mt=et.programConfigurations.get(B.id),Dt=le.useProgram(Sr,Mt),Ut=le.style.map.terrain&&le.style.map.terrain.getTerrainData(Je);Ot&&(le.context.activeTexture.set(je.TEXTURE0),He.imageAtlasTexture.bind(je.LINEAR,je.CLAMP_TO_EDGE),Mt.updatePaintBuffers(Nt)),rc(Mt,it,Oe,He,B);let tr=Ut?Je:null,mr=le.translatePosMatrix(tr?tr.posMatrix:Je.posMatrix,He,B.paint.get(\"fill-translate\"),B.paint.get(\"fill-translate-anchor\"));if(qe){be=et.indexBuffer2,Pe=et.segments2;let Rr=[je.drawingBufferWidth,je.drawingBufferHeight];he=Sr===\"fillOutlinePattern\"&&Ot?Sa(mr,le,Nt,He,Rr):Fn(mr,Rr)}else be=et.indexBuffer,Pe=et.segments,he=Ot?ua(mr,le,Nt,He):Ji(mr);Dt.draw(le.context,hr,ee,le.stencilModeForClipping(Je),se,Ja.disabled,he,Ut,B.id,et.layoutVertexBuffer,be,Pe,B.paint,le.transform.zoom,Mt)}}function Wc(le,w,B,Q,ee,se,qe){let je=le.context,it=je.gl,yt=\"fill-extrusion-pattern\",Ot=B.paint.get(yt),Nt=Ot.constantOr(1),hr=B.getCrossfadeParameters(),Sr=B.paint.get(\"fill-extrusion-opacity\"),he=Ot.constantOr(null);for(let be of Q){let Pe=w.getTile(be),Oe=Pe.getBucket(B);if(!Oe)continue;let Je=le.style.map.terrain&&le.style.map.terrain.getTerrainData(be),He=Oe.programConfigurations.get(B.id),et=le.useProgram(Nt?\"fillExtrusionPattern\":\"fillExtrusion\",He);Nt&&(le.context.activeTexture.set(it.TEXTURE0),Pe.imageAtlasTexture.bind(it.LINEAR,it.CLAMP_TO_EDGE),He.updatePaintBuffers(hr)),rc(He,yt,he,Pe,B);let Mt=le.translatePosMatrix(be.posMatrix,Pe,B.paint.get(\"fill-extrusion-translate\"),B.paint.get(\"fill-extrusion-translate-anchor\")),Dt=B.paint.get(\"fill-extrusion-vertical-gradient\"),Ut=Nt?hi(Mt,le,Dt,Sr,be,hr,Pe):an(Mt,le,Dt,Sr);et.draw(je,je.gl.TRIANGLES,ee,se,qe,Ja.backCCW,Ut,Je,B.id,Oe.layoutVertexBuffer,Oe.indexBuffer,Oe.segments,B.paint,le.transform.zoom,He,le.style.map.terrain&&Oe.centroidVertexBuffer)}}function df(le,w,B,Q,ee,se,qe){let je=le.context,it=je.gl,yt=B.fbo;if(!yt)return;let Ot=le.useProgram(\"hillshade\"),Nt=le.style.map.terrain&&le.style.map.terrain.getTerrainData(w);je.activeTexture.set(it.TEXTURE0),it.bindTexture(it.TEXTURE_2D,yt.colorAttachment.get()),Ot.draw(je,it.TRIANGLES,ee,se,qe,Ja.disabled,((hr,Sr,he,be)=>{let Pe=he.paint.get(\"hillshade-shadow-color\"),Oe=he.paint.get(\"hillshade-highlight-color\"),Je=he.paint.get(\"hillshade-accent-color\"),He=he.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);he.paint.get(\"hillshade-illumination-anchor\")===\"viewport\"&&(He-=hr.transform.angle);let et=!hr.options.moving;return{u_matrix:be?be.posMatrix:hr.transform.calculatePosMatrix(Sr.tileID.toUnwrapped(),et),u_image:0,u_latrange:ks(0,Sr.tileID),u_light:[he.paint.get(\"hillshade-exaggeration\"),He],u_shadow:Pe,u_highlight:Oe,u_accent:Je}})(le,B,Q,Nt?w:null),Nt,Q.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments)}function Cu(le,w,B,Q,ee,se){let qe=le.context,je=qe.gl,it=w.dem;if(it&&it.data){let yt=it.dim,Ot=it.stride,Nt=it.getPixels();if(qe.activeTexture.set(je.TEXTURE1),qe.pixelStoreUnpackPremultiplyAlpha.set(!1),w.demTexture=w.demTexture||le.getTileTexture(Ot),w.demTexture){let Sr=w.demTexture;Sr.update(Nt,{premultiply:!1}),Sr.bind(je.NEAREST,je.CLAMP_TO_EDGE)}else w.demTexture=new g(qe,Nt,je.RGBA,{premultiply:!1}),w.demTexture.bind(je.NEAREST,je.CLAMP_TO_EDGE);qe.activeTexture.set(je.TEXTURE0);let hr=w.fbo;if(!hr){let Sr=new g(qe,{width:yt,height:yt,data:null},je.RGBA);Sr.bind(je.LINEAR,je.CLAMP_TO_EDGE),hr=w.fbo=qe.createFramebuffer(yt,yt,!0,!1),hr.colorAttachment.set(Sr.texture)}qe.bindFramebuffer.set(hr.framebuffer),qe.viewport.set([0,0,yt,yt]),le.useProgram(\"hillshadePrepare\").draw(qe,je.TRIANGLES,Q,ee,se,Ja.disabled,((Sr,he)=>{let be=he.stride,Pe=a.H();return a.aP(Pe,0,a.X,-a.X,0,0,1),a.J(Pe,Pe,[0,-a.X,0]),{u_matrix:Pe,u_image:1,u_dimension:[be,be],u_zoom:Sr.overscaledZ,u_unpack:he.getUnpackVector()}})(w.tileID,it),null,B.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments),w.needsHillshadePrepare=!1}}function Nf(le,w,B,Q,ee,se){let qe=Q.paint.get(\"raster-fade-duration\");if(!se&&qe>0){let je=u.now(),it=(je-le.timeAdded)/qe,yt=w?(je-w.timeAdded)/qe:-1,Ot=B.getSource(),Nt=ee.coveringZoomLevel({tileSize:Ot.tileSize,roundZoom:Ot.roundZoom}),hr=!w||Math.abs(w.tileID.overscaledZ-Nt)>Math.abs(le.tileID.overscaledZ-Nt),Sr=hr&&le.refreshedUponExpiration?1:a.ac(hr?it:1-yt,0,1);return le.refreshedUponExpiration&&it>=1&&(le.refreshedUponExpiration=!1),w?{opacity:1,mix:1-Sr}:{opacity:Sr,mix:0}}return{opacity:1,mix:0}}let Zc=new a.aM(1,0,0,1),ds=new a.aM(0,1,0,1),Ch=new a.aM(0,0,1,1),Bd=new a.aM(1,0,1,1),Jh=new a.aM(0,1,1,1);function Cf(le,w,B,Q){Lu(le,0,w+B/2,le.transform.width,B,Q)}function pd(le,w,B,Q){Lu(le,w-B/2,0,B,le.transform.height,Q)}function Lu(le,w,B,Q,ee,se){let qe=le.context,je=qe.gl;je.enable(je.SCISSOR_TEST),je.scissor(w*le.pixelRatio,B*le.pixelRatio,Q*le.pixelRatio,ee*le.pixelRatio),qe.clear({color:se}),je.disable(je.SCISSOR_TEST)}function $h(le,w,B){let Q=le.context,ee=Q.gl,se=B.posMatrix,qe=le.useProgram(\"debug\"),je=wo.disabled,it=$o.disabled,yt=le.colorModeForRenderPass(),Ot=\"$debug\",Nt=le.style.map.terrain&&le.style.map.terrain.getTerrainData(B);Q.activeTexture.set(ee.TEXTURE0);let hr=w.getTileByID(B.key).latestRawTileData,Sr=Math.floor((hr&&hr.byteLength||0)/1024),he=w.getTile(B).tileSize,be=512/Math.min(he,512)*(B.overscaledZ/le.transform.zoom)*.5,Pe=B.canonical.toString();B.overscaledZ!==B.canonical.z&&(Pe+=` => ${B.overscaledZ}`),function(Oe,Je){Oe.initDebugOverlayCanvas();let He=Oe.debugOverlayCanvas,et=Oe.context.gl,Mt=Oe.debugOverlayCanvas.getContext(\"2d\");Mt.clearRect(0,0,He.width,He.height),Mt.shadowColor=\"white\",Mt.shadowBlur=2,Mt.lineWidth=1.5,Mt.strokeStyle=\"white\",Mt.textBaseline=\"top\",Mt.font=\"bold 36px Open Sans, sans-serif\",Mt.fillText(Je,5,5),Mt.strokeText(Je,5,5),Oe.debugOverlayTexture.update(He),Oe.debugOverlayTexture.bind(et.LINEAR,et.CLAMP_TO_EDGE)}(le,`${Pe} ${Sr}kB`),qe.draw(Q,ee.TRIANGLES,je,it,Ps.alphaBlended,Ja.disabled,ho(se,a.aM.transparent,be),null,Ot,le.debugBuffer,le.quadTriangleIndexBuffer,le.debugSegments),qe.draw(Q,ee.LINE_STRIP,je,it,yt,Ja.disabled,ho(se,a.aM.red),Nt,Ot,le.debugBuffer,le.tileBorderIndexBuffer,le.debugSegments)}function tu(le,w,B){let Q=le.context,ee=Q.gl,se=le.colorModeForRenderPass(),qe=new wo(ee.LEQUAL,wo.ReadWrite,le.depthRangeFor3D),je=le.useProgram(\"terrain\"),it=w.getTerrainMesh();Q.bindFramebuffer.set(null),Q.viewport.set([0,0,le.width,le.height]);for(let yt of B){let Ot=le.renderToTexture.getTexture(yt),Nt=w.getTerrainData(yt.tileID);Q.activeTexture.set(ee.TEXTURE0),ee.bindTexture(ee.TEXTURE_2D,Ot.texture);let hr=le.transform.calculatePosMatrix(yt.tileID.toUnwrapped()),Sr=w.getMeshFrameDelta(le.transform.zoom),he=le.transform.calculateFogMatrix(yt.tileID.toUnwrapped()),be=Hr(hr,Sr,he,le.style.sky,le.transform.pitch);je.draw(Q,ee.TRIANGLES,qe,$o.disabled,se,Ja.backCCW,be,Nt,\"terrain\",it.vertexBuffer,it.indexBuffer,it.segments)}}class Pu{constructor(w,B,Q){this.vertexBuffer=w,this.indexBuffer=B,this.segments=Q}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class Lc{constructor(w,B){this.context=new ov(w),this.transform=B,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:a.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=dt.maxUnderzooming+dt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new jo}resize(w,B,Q){if(this.width=Math.floor(w*Q),this.height=Math.floor(B*Q),this.pixelRatio=Q,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let ee of this.style._order)this.style._layers[ee].resize()}setup(){let w=this.context,B=new a.aX;B.emplaceBack(0,0),B.emplaceBack(a.X,0),B.emplaceBack(0,a.X),B.emplaceBack(a.X,a.X),this.tileExtentBuffer=w.createVertexBuffer(B,oo.members),this.tileExtentSegments=a.a0.simpleSegment(0,0,4,2);let Q=new a.aX;Q.emplaceBack(0,0),Q.emplaceBack(a.X,0),Q.emplaceBack(0,a.X),Q.emplaceBack(a.X,a.X),this.debugBuffer=w.createVertexBuffer(Q,oo.members),this.debugSegments=a.a0.simpleSegment(0,0,4,5);let ee=new a.$;ee.emplaceBack(0,0,0,0),ee.emplaceBack(a.X,0,a.X,0),ee.emplaceBack(0,a.X,0,a.X),ee.emplaceBack(a.X,a.X,a.X,a.X),this.rasterBoundsBuffer=w.createVertexBuffer(ee,ot.members),this.rasterBoundsSegments=a.a0.simpleSegment(0,0,4,2);let se=new a.aX;se.emplaceBack(0,0),se.emplaceBack(1,0),se.emplaceBack(0,1),se.emplaceBack(1,1),this.viewportBuffer=w.createVertexBuffer(se,oo.members),this.viewportSegments=a.a0.simpleSegment(0,0,4,2);let qe=new a.aZ;qe.emplaceBack(0),qe.emplaceBack(1),qe.emplaceBack(3),qe.emplaceBack(2),qe.emplaceBack(0),this.tileBorderIndexBuffer=w.createIndexBuffer(qe);let je=new a.aY;je.emplaceBack(0,1,2),je.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=w.createIndexBuffer(je);let it=this.context.gl;this.stencilClearMode=new $o({func:it.ALWAYS,mask:0},0,255,it.ZERO,it.ZERO,it.ZERO)}clearStencil(){let w=this.context,B=w.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let Q=a.H();a.aP(Q,0,this.width,this.height,0,0,1),a.K(Q,Q,[B.drawingBufferWidth,B.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(w,B.TRIANGLES,wo.disabled,this.stencilClearMode,Ps.disabled,Ja.disabled,Mo(Q),null,\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(w,B){if(this.currentStencilSource===w.source||!w.isTileClipped()||!B||!B.length)return;this.currentStencilSource=w.source;let Q=this.context,ee=Q.gl;this.nextStencilID+B.length>256&&this.clearStencil(),Q.setColorMode(Ps.disabled),Q.setDepthMode(wo.disabled);let se=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(let qe of B){let je=this._tileClippingMaskIDs[qe.key]=this.nextStencilID++,it=this.style.map.terrain&&this.style.map.terrain.getTerrainData(qe);se.draw(Q,ee.TRIANGLES,wo.disabled,new $o({func:ee.ALWAYS,mask:0},je,255,ee.KEEP,ee.KEEP,ee.REPLACE),Ps.disabled,Ja.disabled,Mo(qe.posMatrix),it,\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let w=this.nextStencilID++,B=this.context.gl;return new $o({func:B.NOTEQUAL,mask:255},w,255,B.KEEP,B.KEEP,B.REPLACE)}stencilModeForClipping(w){let B=this.context.gl;return new $o({func:B.EQUAL,mask:255},this._tileClippingMaskIDs[w.key],0,B.KEEP,B.KEEP,B.REPLACE)}stencilConfigForOverlap(w){let B=this.context.gl,Q=w.sort((qe,je)=>je.overscaledZ-qe.overscaledZ),ee=Q[Q.length-1].overscaledZ,se=Q[0].overscaledZ-ee+1;if(se>1){this.currentStencilSource=void 0,this.nextStencilID+se>256&&this.clearStencil();let qe={};for(let je=0;je<se;je++)qe[je+ee]=new $o({func:B.GEQUAL,mask:255},je+this.nextStencilID,255,B.KEEP,B.KEEP,B.REPLACE);return this.nextStencilID+=se,[qe,Q]}return[{[ee]:$o.disabled},Q]}colorModeForRenderPass(){let w=this.context.gl;return this._showOverdrawInspector?new Ps([w.CONSTANT_COLOR,w.ONE],new a.aM(.125,.125,.125,0),[!0,!0,!0,!0]):this.renderPass===\"opaque\"?Ps.unblended:Ps.alphaBlended}depthModeForSublayer(w,B,Q){if(!this.opaquePassEnabledForLayer())return wo.disabled;let ee=1-((1+this.currentLayer)*this.numSublayers+w)*this.depthEpsilon;return new wo(Q||this.context.gl.LEQUAL,B,[ee,ee])}opaquePassEnabledForLayer(){return this.currentLayer<this.opaquePassCutoff}render(w,B){this.style=w,this.options=B,this.lineAtlas=w.lineAtlas,this.imageManager=w.imageManager,this.glyphManager=w.glyphManager,this.symbolFadeChange=w.placement.symbolFadeChange(u.now()),this.imageManager.beginFrame();let Q=this.style._order,ee=this.style.sourceCaches,se={},qe={},je={};for(let it in ee){let yt=ee[it];yt.used&&yt.prepare(this.context),se[it]=yt.getVisibleCoordinates(),qe[it]=se[it].slice().reverse(),je[it]=yt.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(let it=0;it<Q.length;it++)if(this.style._layers[Q[it]].is3D()){this.opaquePassCutoff=it;break}this.maybeDrawDepthAndCoords(!1),this.renderToTexture&&(this.renderToTexture.prepareForRender(this.style,this.transform.zoom),this.opaquePassCutoff=0),this.renderPass=\"offscreen\";for(let it of Q){let yt=this.style._layers[it];if(!yt.hasOffscreenPass()||yt.isHidden(this.transform.zoom))continue;let Ot=qe[yt.source];(yt.type===\"custom\"||Ot.length)&&this.renderLayer(this,ee[yt.source],yt,Ot)}if(this.context.bindFramebuffer.set(null),this.context.clear({color:B.showOverdrawInspector?a.aM.black:a.aM.transparent,depth:1}),this.clearStencil(),this.style.sky&&function(it,yt){let Ot=it.context,Nt=Ot.gl,hr=((Oe,Je,He)=>({u_sky_color:Oe.properties.get(\"sky-color\"),u_horizon_color:Oe.properties.get(\"horizon-color\"),u_horizon:(Je.height/2+Je.getHorizon())*He,u_sky_horizon_blend:Oe.properties.get(\"sky-horizon-blend\")*Je.height/2*He}))(yt,it.style.map.transform,it.pixelRatio),Sr=new wo(Nt.LEQUAL,wo.ReadWrite,[0,1]),he=$o.disabled,be=it.colorModeForRenderPass(),Pe=it.useProgram(\"sky\");if(!yt.mesh){let Oe=new a.aX;Oe.emplaceBack(-1,-1),Oe.emplaceBack(1,-1),Oe.emplaceBack(1,1),Oe.emplaceBack(-1,1);let Je=new a.aY;Je.emplaceBack(0,1,2),Je.emplaceBack(0,2,3),yt.mesh=new Pu(Ot.createVertexBuffer(Oe,oo.members),Ot.createIndexBuffer(Je),a.a0.simpleSegment(0,0,Oe.length,Je.length))}Pe.draw(Ot,Nt.TRIANGLES,Sr,he,be,Ja.disabled,hr,void 0,\"sky\",yt.mesh.vertexBuffer,yt.mesh.indexBuffer,yt.mesh.segments)}(this,this.style.sky),this._showOverdrawInspector=B.showOverdrawInspector,this.depthRangeFor3D=[0,1-(w._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass=\"opaque\",this.currentLayer=Q.length-1;this.currentLayer>=0;this.currentLayer--){let it=this.style._layers[Q[this.currentLayer]],yt=ee[it.source],Ot=se[it.source];this._renderTileClippingMasks(it,Ot),this.renderLayer(this,yt,it,Ot)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer<Q.length;this.currentLayer++){let it=this.style._layers[Q[this.currentLayer]],yt=ee[it.source];if(this.renderToTexture&&this.renderToTexture.renderLayer(it))continue;let Ot=(it.type===\"symbol\"?je:qe)[it.source];this._renderTileClippingMasks(it,se[it.source]),this.renderLayer(this,yt,it,Ot)}if(this.options.showTileBoundaries){let it=function(yt,Ot){let Nt=null,hr=Object.values(yt._layers).flatMap(Pe=>Pe.source&&!Pe.isHidden(Ot)?[yt.sourceCaches[Pe.source]]:[]),Sr=hr.filter(Pe=>Pe.getSource().type===\"vector\"),he=hr.filter(Pe=>Pe.getSource().type!==\"vector\"),be=Pe=>{(!Nt||Nt.getSource().maxzoom<Pe.getSource().maxzoom)&&(Nt=Pe)};return Sr.forEach(Pe=>be(Pe)),Nt||he.forEach(Pe=>be(Pe)),Nt}(this.style,this.transform.zoom);it&&function(yt,Ot,Nt){for(let hr=0;hr<Nt.length;hr++)$h(yt,Ot,Nt[hr])}(this,it,it.getVisibleCoordinates())}this.options.showPadding&&function(it){let yt=it.transform.padding;Cf(it,it.transform.height-(yt.top||0),3,Zc),Cf(it,yt.bottom||0,3,ds),pd(it,yt.left||0,3,Ch),pd(it,it.transform.width-(yt.right||0),3,Bd);let Ot=it.transform.centerPoint;(function(Nt,hr,Sr,he){Lu(Nt,hr-1,Sr-10,2,20,he),Lu(Nt,hr-10,Sr-1,20,2,he)})(it,Ot.x,it.transform.height-Ot.y,Jh)}(this),this.context.setDefault()}maybeDrawDepthAndCoords(w){if(!this.style||!this.style.map||!this.style.map.terrain)return;let B=this.terrainFacilitator.matrix,Q=this.transform.modelViewProjectionMatrix,ee=this.terrainFacilitator.dirty;ee||(ee=w?!a.a_(B,Q):!a.a$(B,Q)),ee||(ee=this.style.map.terrain.sourceCache.tilesAfterTime(this.terrainFacilitator.renderTime).length>0),ee&&(a.b0(B,Q),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(se,qe){let je=se.context,it=je.gl,yt=Ps.unblended,Ot=new wo(it.LEQUAL,wo.ReadWrite,[0,1]),Nt=qe.getTerrainMesh(),hr=qe.sourceCache.getRenderableTiles(),Sr=se.useProgram(\"terrainDepth\");je.bindFramebuffer.set(qe.getFramebuffer(\"depth\").framebuffer),je.viewport.set([0,0,se.width/devicePixelRatio,se.height/devicePixelRatio]),je.clear({color:a.aM.transparent,depth:1});for(let he of hr){let be=qe.getTerrainData(he.tileID),Pe={u_matrix:se.transform.calculatePosMatrix(he.tileID.toUnwrapped()),u_ele_delta:qe.getMeshFrameDelta(se.transform.zoom)};Sr.draw(je,it.TRIANGLES,Ot,$o.disabled,yt,Ja.backCCW,Pe,be,\"terrain\",Nt.vertexBuffer,Nt.indexBuffer,Nt.segments)}je.bindFramebuffer.set(null),je.viewport.set([0,0,se.width,se.height])}(this,this.style.map.terrain),function(se,qe){let je=se.context,it=je.gl,yt=Ps.unblended,Ot=new wo(it.LEQUAL,wo.ReadWrite,[0,1]),Nt=qe.getTerrainMesh(),hr=qe.getCoordsTexture(),Sr=qe.sourceCache.getRenderableTiles(),he=se.useProgram(\"terrainCoords\");je.bindFramebuffer.set(qe.getFramebuffer(\"coords\").framebuffer),je.viewport.set([0,0,se.width/devicePixelRatio,se.height/devicePixelRatio]),je.clear({color:a.aM.transparent,depth:1}),qe.coordsIndex=[];for(let be of Sr){let Pe=qe.getTerrainData(be.tileID);je.activeTexture.set(it.TEXTURE0),it.bindTexture(it.TEXTURE_2D,hr.texture);let Oe={u_matrix:se.transform.calculatePosMatrix(be.tileID.toUnwrapped()),u_terrain_coords_id:(255-qe.coordsIndex.length)/255,u_texture:0,u_ele_delta:qe.getMeshFrameDelta(se.transform.zoom)};he.draw(je,it.TRIANGLES,Ot,$o.disabled,yt,Ja.backCCW,Oe,Pe,\"terrain\",Nt.vertexBuffer,Nt.indexBuffer,Nt.segments),qe.coordsIndex.push(be.tileID.key)}je.bindFramebuffer.set(null),je.viewport.set([0,0,se.width,se.height])}(this,this.style.map.terrain))}renderLayer(w,B,Q,ee){if(!Q.isHidden(this.transform.zoom)&&(Q.type===\"background\"||Q.type===\"custom\"||(ee||[]).length))switch(this.id=Q.id,Q.type){case\"symbol\":(function(se,qe,je,it,yt){if(se.renderPass!==\"translucent\")return;let Ot=$o.disabled,Nt=se.colorModeForRenderPass();(je._unevaluatedLayout.hasValue(\"text-variable-anchor\")||je._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"))&&function(hr,Sr,he,be,Pe,Oe,Je,He,et){let Mt=Sr.transform,Dt=Gi(),Ut=Pe===\"map\",tr=Oe===\"map\";for(let mr of hr){let Rr=be.getTile(mr),zr=Rr.getBucket(he);if(!zr||!zr.text||!zr.text.segments.get().length)continue;let Xr=a.ag(zr.textSizeData,Mt.zoom),di=nn(Rr,1,Sr.transform.zoom),Li=Or(mr.posMatrix,tr,Ut,Sr.transform,di),Ci=he.layout.get(\"icon-text-fit\")!==\"none\"&&zr.hasIconData();if(Xr){let Qi=Math.pow(2,Mt.zoom-Rr.tileID.overscaledZ),Mn=Sr.style.map.terrain?(ea,Ga)=>Sr.style.map.terrain.getElevation(mr,ea,Ga):null,pa=Dt.translatePosition(Mt,Rr,Je,He);kf(zr,Ut,tr,et,Mt,Li,mr.posMatrix,Qi,Xr,Ci,Dt,pa,mr.toUnwrapped(),Mn)}}}(it,se,je,qe,je.layout.get(\"text-rotation-alignment\"),je.layout.get(\"text-pitch-alignment\"),je.paint.get(\"text-translate\"),je.paint.get(\"text-translate-anchor\"),yt),je.paint.get(\"icon-opacity\").constantOr(1)!==0&&Yh(se,qe,je,it,!1,je.paint.get(\"icon-translate\"),je.paint.get(\"icon-translate-anchor\"),je.layout.get(\"icon-rotation-alignment\"),je.layout.get(\"icon-pitch-alignment\"),je.layout.get(\"icon-keep-upright\"),Ot,Nt),je.paint.get(\"text-opacity\").constantOr(1)!==0&&Yh(se,qe,je,it,!0,je.paint.get(\"text-translate\"),je.paint.get(\"text-translate-anchor\"),je.layout.get(\"text-rotation-alignment\"),je.layout.get(\"text-pitch-alignment\"),je.layout.get(\"text-keep-upright\"),Ot,Nt),qe.map.showCollisionBoxes&&(tc(se,qe,je,it,!0),tc(se,qe,je,it,!1))})(w,B,Q,ee,this.style.placement.variableOffsets);break;case\"circle\":(function(se,qe,je,it){if(se.renderPass!==\"translucent\")return;let yt=je.paint.get(\"circle-opacity\"),Ot=je.paint.get(\"circle-stroke-width\"),Nt=je.paint.get(\"circle-stroke-opacity\"),hr=!je.layout.get(\"circle-sort-key\").isConstant();if(yt.constantOr(1)===0&&(Ot.constantOr(1)===0||Nt.constantOr(1)===0))return;let Sr=se.context,he=Sr.gl,be=se.depthModeForSublayer(0,wo.ReadOnly),Pe=$o.disabled,Oe=se.colorModeForRenderPass(),Je=[];for(let He=0;He<it.length;He++){let et=it[He],Mt=qe.getTile(et),Dt=Mt.getBucket(je);if(!Dt)continue;let Ut=Dt.programConfigurations.get(je.id),tr=se.useProgram(\"circle\",Ut),mr=Dt.layoutVertexBuffer,Rr=Dt.indexBuffer,zr=se.style.map.terrain&&se.style.map.terrain.getTerrainData(et),Xr={programConfiguration:Ut,program:tr,layoutVertexBuffer:mr,indexBuffer:Rr,uniformValues:go(se,et,Mt,je),terrainData:zr};if(hr){let di=Dt.segments.get();for(let Li of di)Je.push({segments:new a.a0([Li]),sortKey:Li.sortKey,state:Xr})}else Je.push({segments:Dt.segments,sortKey:0,state:Xr})}hr&&Je.sort((He,et)=>He.sortKey-et.sortKey);for(let He of Je){let{programConfiguration:et,program:Mt,layoutVertexBuffer:Dt,indexBuffer:Ut,uniformValues:tr,terrainData:mr}=He.state;Mt.draw(Sr,he.TRIANGLES,be,Pe,Oe,Ja.disabled,tr,mr,je.id,Dt,Ut,He.segments,je.paint,se.transform.zoom,et)}})(w,B,Q,ee);break;case\"heatmap\":(function(se,qe,je,it){if(je.paint.get(\"heatmap-opacity\")===0)return;let yt=se.context;if(se.style.map.terrain){for(let Ot of it){let Nt=qe.getTile(Ot);qe.hasRenderableParent(Ot)||(se.renderPass===\"offscreen\"?nh(se,Nt,je,Ot):se.renderPass===\"translucent\"&&hf(se,je,Ot))}yt.viewport.set([0,0,se.width,se.height])}else se.renderPass===\"offscreen\"?function(Ot,Nt,hr,Sr){let he=Ot.context,be=he.gl,Pe=$o.disabled,Oe=new Ps([be.ONE,be.ONE],a.aM.transparent,[!0,!0,!0,!0]);(function(Je,He,et){let Mt=Je.gl;Je.activeTexture.set(Mt.TEXTURE1),Je.viewport.set([0,0,He.width/4,He.height/4]);let Dt=et.heatmapFbos.get(a.aU);Dt?(Mt.bindTexture(Mt.TEXTURE_2D,Dt.colorAttachment.get()),Je.bindFramebuffer.set(Dt.framebuffer)):(Dt=kh(Je,He.width/4,He.height/4),et.heatmapFbos.set(a.aU,Dt))})(he,Ot,hr),he.clear({color:a.aM.transparent});for(let Je=0;Je<Sr.length;Je++){let He=Sr[Je];if(Nt.hasRenderableParent(He))continue;let et=Nt.getTile(He),Mt=et.getBucket(hr);if(!Mt)continue;let Dt=Mt.programConfigurations.get(hr.id),Ut=Ot.useProgram(\"heatmap\",Dt),{zoom:tr}=Ot.transform;Ut.draw(he,be.TRIANGLES,wo.disabled,Pe,Oe,Ja.disabled,xo(He.posMatrix,et,tr,hr.paint.get(\"heatmap-intensity\")),null,hr.id,Mt.layoutVertexBuffer,Mt.indexBuffer,Mt.segments,hr.paint,Ot.transform.zoom,Dt)}he.viewport.set([0,0,Ot.width,Ot.height])}(se,qe,je,it):se.renderPass===\"translucent\"&&function(Ot,Nt){let hr=Ot.context,Sr=hr.gl;hr.setColorMode(Ot.colorModeForRenderPass());let he=Nt.heatmapFbos.get(a.aU);he&&(hr.activeTexture.set(Sr.TEXTURE0),Sr.bindTexture(Sr.TEXTURE_2D,he.colorAttachment.get()),hr.activeTexture.set(Sr.TEXTURE1),Kh(hr,Nt).bind(Sr.LINEAR,Sr.CLAMP_TO_EDGE),Ot.useProgram(\"heatmapTexture\").draw(hr,Sr.TRIANGLES,wo.disabled,$o.disabled,Ot.colorModeForRenderPass(),Ja.disabled,zs(Ot,Nt,0,1),null,Nt.id,Ot.viewportBuffer,Ot.quadTriangleIndexBuffer,Ot.viewportSegments,Nt.paint,Ot.transform.zoom))}(se,je)})(w,B,Q,ee);break;case\"line\":(function(se,qe,je,it){if(se.renderPass!==\"translucent\")return;let yt=je.paint.get(\"line-opacity\"),Ot=je.paint.get(\"line-width\");if(yt.constantOr(1)===0||Ot.constantOr(1)===0)return;let Nt=se.depthModeForSublayer(0,wo.ReadOnly),hr=se.colorModeForRenderPass(),Sr=je.paint.get(\"line-dasharray\"),he=je.paint.get(\"line-pattern\"),be=he.constantOr(1),Pe=je.paint.get(\"line-gradient\"),Oe=je.getCrossfadeParameters(),Je=be?\"linePattern\":Sr?\"lineSDF\":Pe?\"lineGradient\":\"line\",He=se.context,et=He.gl,Mt=!0;for(let Dt of it){let Ut=qe.getTile(Dt);if(be&&!Ut.patternsLoaded())continue;let tr=Ut.getBucket(je);if(!tr)continue;let mr=tr.programConfigurations.get(je.id),Rr=se.context.program.get(),zr=se.useProgram(Je,mr),Xr=Mt||zr.program!==Rr,di=se.style.map.terrain&&se.style.map.terrain.getTerrainData(Dt),Li=he.constantOr(null);if(Li&&Ut.imageAtlas){let Mn=Ut.imageAtlas,pa=Mn.patternPositions[Li.to.toString()],ea=Mn.patternPositions[Li.from.toString()];pa&&ea&&mr.setConstantPatternPositions(pa,ea)}let Ci=di?Dt:null,Qi=be?wl(se,Ut,je,Oe,Ci):Sr?os(se,Ut,je,Sr,Oe,Ci):Pe?Xs(se,Ut,je,tr.lineClipsArray.length,Ci):Zs(se,Ut,je,Ci);if(be)He.activeTexture.set(et.TEXTURE0),Ut.imageAtlasTexture.bind(et.LINEAR,et.CLAMP_TO_EDGE),mr.updatePaintBuffers(Oe);else if(Sr&&(Xr||se.lineAtlas.dirty))He.activeTexture.set(et.TEXTURE0),se.lineAtlas.bind(He);else if(Pe){let Mn=tr.gradients[je.id],pa=Mn.texture;if(je.gradientVersion!==Mn.version){let ea=256;if(je.stepInterpolant){let Ga=qe.getSource().maxzoom,To=Dt.canonical.z===Ga?Math.ceil(1<<se.transform.maxZoom-Dt.canonical.z):1;ea=a.ac(a.aV(tr.maxLineLength/a.X*1024*To),256,He.maxTextureSize)}Mn.gradient=a.aW({expression:je.gradientExpression(),evaluationKey:\"lineProgress\",resolution:ea,image:Mn.gradient||void 0,clips:tr.lineClipsArray}),Mn.texture?Mn.texture.update(Mn.gradient):Mn.texture=new g(He,Mn.gradient,et.RGBA),Mn.version=je.gradientVersion,pa=Mn.texture}He.activeTexture.set(et.TEXTURE0),pa.bind(je.stepInterpolant?et.NEAREST:et.LINEAR,et.CLAMP_TO_EDGE)}zr.draw(He,et.TRIANGLES,Nt,se.stencilModeForClipping(Dt),hr,Ja.disabled,Qi,di,je.id,tr.layoutVertexBuffer,tr.indexBuffer,tr.segments,je.paint,se.transform.zoom,mr,tr.layoutVertexBuffer2),Mt=!1}})(w,B,Q,ee);break;case\"fill\":(function(se,qe,je,it){let yt=je.paint.get(\"fill-color\"),Ot=je.paint.get(\"fill-opacity\");if(Ot.constantOr(1)===0)return;let Nt=se.colorModeForRenderPass(),hr=je.paint.get(\"fill-pattern\"),Sr=se.opaquePassEnabledForLayer()&&!hr.constantOr(1)&&yt.constantOr(a.aM.transparent).a===1&&Ot.constantOr(0)===1?\"opaque\":\"translucent\";if(se.renderPass===Sr){let he=se.depthModeForSublayer(1,se.renderPass===\"opaque\"?wo.ReadWrite:wo.ReadOnly);ah(se,qe,je,it,he,Nt,!1)}if(se.renderPass===\"translucent\"&&je.paint.get(\"fill-antialias\")){let he=se.depthModeForSublayer(je.getPaintProperty(\"fill-outline-color\")?2:0,wo.ReadOnly);ah(se,qe,je,it,he,Nt,!0)}})(w,B,Q,ee);break;case\"fill-extrusion\":(function(se,qe,je,it){let yt=je.paint.get(\"fill-extrusion-opacity\");if(yt!==0&&se.renderPass===\"translucent\"){let Ot=new wo(se.context.gl.LEQUAL,wo.ReadWrite,se.depthRangeFor3D);if(yt!==1||je.paint.get(\"fill-extrusion-pattern\").constantOr(1))Wc(se,qe,je,it,Ot,$o.disabled,Ps.disabled),Wc(se,qe,je,it,Ot,se.stencilModeFor3D(),se.colorModeForRenderPass());else{let Nt=se.colorModeForRenderPass();Wc(se,qe,je,it,Ot,$o.disabled,Nt)}}})(w,B,Q,ee);break;case\"hillshade\":(function(se,qe,je,it){if(se.renderPass!==\"offscreen\"&&se.renderPass!==\"translucent\")return;let yt=se.context,Ot=se.depthModeForSublayer(0,wo.ReadOnly),Nt=se.colorModeForRenderPass(),[hr,Sr]=se.renderPass===\"translucent\"?se.stencilConfigForOverlap(it):[{},it];for(let he of Sr){let be=qe.getTile(he);be.needsHillshadePrepare!==void 0&&be.needsHillshadePrepare&&se.renderPass===\"offscreen\"?Cu(se,be,je,Ot,$o.disabled,Nt):se.renderPass===\"translucent\"&&df(se,he,be,je,Ot,hr[he.overscaledZ],Nt)}yt.viewport.set([0,0,se.width,se.height])})(w,B,Q,ee);break;case\"raster\":(function(se,qe,je,it){if(se.renderPass!==\"translucent\"||je.paint.get(\"raster-opacity\")===0||!it.length)return;let yt=se.context,Ot=yt.gl,Nt=qe.getSource(),hr=se.useProgram(\"raster\"),Sr=se.colorModeForRenderPass(),[he,be]=Nt instanceof Rt?[{},it]:se.stencilConfigForOverlap(it),Pe=be[be.length-1].overscaledZ,Oe=!se.options.moving;for(let Je of be){let He=se.depthModeForSublayer(Je.overscaledZ-Pe,je.paint.get(\"raster-opacity\")===1?wo.ReadWrite:wo.ReadOnly,Ot.LESS),et=qe.getTile(Je);et.registerFadeDuration(je.paint.get(\"raster-fade-duration\"));let Mt=qe.findLoadedParent(Je,0),Dt=qe.findLoadedSibling(Je),Ut=Nf(et,Mt||Dt||null,qe,je,se.transform,se.style.map.terrain),tr,mr,Rr=je.paint.get(\"raster-resampling\")===\"nearest\"?Ot.NEAREST:Ot.LINEAR;yt.activeTexture.set(Ot.TEXTURE0),et.texture.bind(Rr,Ot.CLAMP_TO_EDGE,Ot.LINEAR_MIPMAP_NEAREST),yt.activeTexture.set(Ot.TEXTURE1),Mt?(Mt.texture.bind(Rr,Ot.CLAMP_TO_EDGE,Ot.LINEAR_MIPMAP_NEAREST),tr=Math.pow(2,Mt.tileID.overscaledZ-et.tileID.overscaledZ),mr=[et.tileID.canonical.x*tr%1,et.tileID.canonical.y*tr%1]):et.texture.bind(Rr,Ot.CLAMP_TO_EDGE,Ot.LINEAR_MIPMAP_NEAREST),et.texture.useMipmap&&yt.extTextureFilterAnisotropic&&se.transform.pitch>20&&Ot.texParameterf(Ot.TEXTURE_2D,yt.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,yt.extTextureFilterAnisotropicMax);let zr=se.style.map.terrain&&se.style.map.terrain.getTerrainData(Je),Xr=zr?Je:null,di=Xr?Xr.posMatrix:se.transform.calculatePosMatrix(Je.toUnwrapped(),Oe),Li=ml(di,mr||[0,0],tr||1,Ut,je);Nt instanceof Rt?hr.draw(yt,Ot.TRIANGLES,He,$o.disabled,Sr,Ja.disabled,Li,zr,je.id,Nt.boundsBuffer,se.quadTriangleIndexBuffer,Nt.boundsSegments):hr.draw(yt,Ot.TRIANGLES,He,he[Je.overscaledZ],Sr,Ja.disabled,Li,zr,je.id,se.rasterBoundsBuffer,se.quadTriangleIndexBuffer,se.rasterBoundsSegments)}})(w,B,Q,ee);break;case\"background\":(function(se,qe,je,it){let yt=je.paint.get(\"background-color\"),Ot=je.paint.get(\"background-opacity\");if(Ot===0)return;let Nt=se.context,hr=Nt.gl,Sr=se.transform,he=Sr.tileSize,be=je.paint.get(\"background-pattern\");if(se.isPatternMissing(be))return;let Pe=!be&&yt.a===1&&Ot===1&&se.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(se.renderPass!==Pe)return;let Oe=$o.disabled,Je=se.depthModeForSublayer(0,Pe===\"opaque\"?wo.ReadWrite:wo.ReadOnly),He=se.colorModeForRenderPass(),et=se.useProgram(be?\"backgroundPattern\":\"background\"),Mt=it||Sr.coveringTiles({tileSize:he,terrain:se.style.map.terrain});be&&(Nt.activeTexture.set(hr.TEXTURE0),se.imageManager.bind(se.context));let Dt=je.getCrossfadeParameters();for(let Ut of Mt){let tr=it?Ut.posMatrix:se.transform.calculatePosMatrix(Ut.toUnwrapped()),mr=be?Hu(tr,Ot,se,be,{tileID:Ut,tileSize:he},Dt):Ql(tr,Ot,yt),Rr=se.style.map.terrain&&se.style.map.terrain.getTerrainData(Ut);et.draw(Nt,hr.TRIANGLES,Je,Oe,He,Ja.disabled,mr,Rr,je.id,se.tileExtentBuffer,se.quadTriangleIndexBuffer,se.tileExtentSegments)}})(w,0,Q,ee);break;case\"custom\":(function(se,qe,je){let it=se.context,yt=je.implementation;if(se.renderPass===\"offscreen\"){let Ot=yt.prerender;Ot&&(se.setCustomLayerDefaults(),it.setColorMode(se.colorModeForRenderPass()),Ot.call(yt,it.gl,se.transform.customLayerMatrix()),it.setDirty(),se.setBaseState())}else if(se.renderPass===\"translucent\"){se.setCustomLayerDefaults(),it.setColorMode(se.colorModeForRenderPass()),it.setStencilMode($o.disabled);let Ot=yt.renderingMode===\"3d\"?new wo(se.context.gl.LEQUAL,wo.ReadWrite,se.depthRangeFor3D):se.depthModeForSublayer(0,wo.ReadOnly);it.setDepthMode(Ot),yt.render(it.gl,se.transform.customLayerMatrix(),{farZ:se.transform.farZ,nearZ:se.transform.nearZ,fov:se.transform._fov,modelViewProjectionMatrix:se.transform.modelViewProjectionMatrix,projectionMatrix:se.transform.projectionMatrix}),it.setDirty(),se.setBaseState(),it.bindFramebuffer.set(null)}})(w,0,Q)}}translatePosMatrix(w,B,Q,ee,se){if(!Q[0]&&!Q[1])return w;let qe=se?ee===\"map\"?this.transform.angle:0:ee===\"viewport\"?-this.transform.angle:0;if(qe){let yt=Math.sin(qe),Ot=Math.cos(qe);Q=[Q[0]*Ot-Q[1]*yt,Q[0]*yt+Q[1]*Ot]}let je=[se?Q[0]:nn(B,Q[0],this.transform.zoom),se?Q[1]:nn(B,Q[1],this.transform.zoom),0],it=new Float32Array(16);return a.J(it,w,je),it}saveTileTexture(w){let B=this._tileTextures[w.size[0]];B?B.push(w):this._tileTextures[w.size[0]]=[w]}getTileTexture(w){let B=this._tileTextures[w];return B&&B.length>0?B.pop():null}isPatternMissing(w){if(!w)return!1;if(!w.from||!w.to)return!0;let B=this.imageManager.getPattern(w.from.toString()),Q=this.imageManager.getPattern(w.to.toString());return!B||!Q}useProgram(w,B){this.cache=this.cache||{};let Q=w+(B?B.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\")+(this.style.map.terrain?\"/terrain\":\"\");return this.cache[Q]||(this.cache[Q]=new zi(this.context,xn[w],B,fc[w],this._showOverdrawInspector,this.style.map.terrain)),this.cache[Q]}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(){let w=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(w.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new g(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:w,drawingBufferHeight:B}=this.context.gl;return this.width!==w||this.height!==B}}class fl{constructor(w,B){this.points=w,this.planes=B}static fromInvProjectionMatrix(w,B,Q){let ee=Math.pow(2,Q),se=[[-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(je=>{let it=1/(je=a.af([],je,w))[3]/B*ee;return a.b1(je,je,[it,it,1/je[3],it])}),qe=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(je=>{let it=function(hr,Sr){var he=Sr[0],be=Sr[1],Pe=Sr[2],Oe=he*he+be*be+Pe*Pe;return Oe>0&&(Oe=1/Math.sqrt(Oe)),hr[0]=Sr[0]*Oe,hr[1]=Sr[1]*Oe,hr[2]=Sr[2]*Oe,hr}([],function(hr,Sr,he){var be=Sr[0],Pe=Sr[1],Oe=Sr[2],Je=he[0],He=he[1],et=he[2];return hr[0]=Pe*et-Oe*He,hr[1]=Oe*Je-be*et,hr[2]=be*He-Pe*Je,hr}([],L([],se[je[0]],se[je[1]]),L([],se[je[2]],se[je[1]]))),yt=-((Ot=it)[0]*(Nt=se[je[1]])[0]+Ot[1]*Nt[1]+Ot[2]*Nt[2]);var Ot,Nt;return it.concat(yt)});return new fl(se,qe)}}class Xc{constructor(w,B){this.min=w,this.max=B,this.center=function(Q,ee,se){return Q[0]=.5*ee[0],Q[1]=.5*ee[1],Q[2]=.5*ee[2],Q}([],function(Q,ee,se){return Q[0]=ee[0]+se[0],Q[1]=ee[1]+se[1],Q[2]=ee[2]+se[2],Q}([],this.min,this.max))}quadrant(w){let B=[w%2==0,w<2],Q=k(this.min),ee=k(this.max);for(let se=0;se<B.length;se++)Q[se]=B[se]?this.min[se]:this.center[se],ee[se]=B[se]?this.center[se]:this.max[se];return ee[2]=this.max[2],new Xc(Q,ee)}distanceX(w){return Math.max(Math.min(this.max[0],w[0]),this.min[0])-w[0]}distanceY(w){return Math.max(Math.min(this.max[1],w[1]),this.min[1])-w[1]}intersects(w){let B=[[this.min[0],this.min[1],this.min[2],1],[this.max[0],this.min[1],this.min[2],1],[this.max[0],this.max[1],this.min[2],1],[this.min[0],this.max[1],this.min[2],1],[this.min[0],this.min[1],this.max[2],1],[this.max[0],this.min[1],this.max[2],1],[this.max[0],this.max[1],this.max[2],1],[this.min[0],this.max[1],this.max[2],1]],Q=!0;for(let ee=0;ee<w.planes.length;ee++){let se=w.planes[ee],qe=0;for(let je=0;je<B.length;je++)a.b2(se,B[je])>=0&&qe++;if(qe===0)return 0;qe!==B.length&&(Q=!1)}if(Q)return 2;for(let ee=0;ee<3;ee++){let se=Number.MAX_VALUE,qe=-Number.MAX_VALUE;for(let je=0;je<w.points.length;je++){let it=w.points[je][ee]-this.min[ee];se=Math.min(se,it),qe=Math.max(qe,it)}if(qe<0||se>this.max[ee]-this.min[ee])return 0}return 1}}class ic{constructor(w=0,B=0,Q=0,ee=0){if(isNaN(w)||w<0||isNaN(B)||B<0||isNaN(Q)||Q<0||isNaN(ee)||ee<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=w,this.bottom=B,this.left=Q,this.right=ee}interpolate(w,B,Q){return B.top!=null&&w.top!=null&&(this.top=a.y.number(w.top,B.top,Q)),B.bottom!=null&&w.bottom!=null&&(this.bottom=a.y.number(w.bottom,B.bottom,Q)),B.left!=null&&w.left!=null&&(this.left=a.y.number(w.left,B.left,Q)),B.right!=null&&w.right!=null&&(this.right=a.y.number(w.right,B.right,Q)),this}getCenter(w,B){let Q=a.ac((this.left+w-this.right)/2,0,w),ee=a.ac((this.top+B-this.bottom)/2,0,B);return new a.P(Q,ee)}equals(w){return this.top===w.top&&this.bottom===w.bottom&&this.left===w.left&&this.right===w.right}clone(){return new ic(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}let yu=85.051129;class Qs{constructor(w,B,Q,ee,se){this.tileSize=512,this._renderWorldCopies=se===void 0||!!se,this._minZoom=w||0,this._maxZoom=B||22,this._minPitch=Q==null?0:Q,this._maxPitch=ee==null?60:ee,this.setMaxBounds(),this.width=0,this.height=0,this._center=new a.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new ic,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){let w=new Qs(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return w.apply(this),w}apply(w){this.tileSize=w.tileSize,this.latRange=w.latRange,this.lngRange=w.lngRange,this.width=w.width,this.height=w.height,this._center=w._center,this._elevation=w._elevation,this.minElevationForCurrentTile=w.minElevationForCurrentTile,this.zoom=w.zoom,this.angle=w.angle,this._fov=w._fov,this._pitch=w._pitch,this._unmodified=w._unmodified,this._edgeInsets=w._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(w){this._minZoom!==w&&(this._minZoom=w,this.zoom=Math.max(this.zoom,w))}get maxZoom(){return this._maxZoom}set maxZoom(w){this._maxZoom!==w&&(this._maxZoom=w,this.zoom=Math.min(this.zoom,w))}get minPitch(){return this._minPitch}set minPitch(w){this._minPitch!==w&&(this._minPitch=w,this.pitch=Math.max(this.pitch,w))}get maxPitch(){return this._maxPitch}set maxPitch(w){this._maxPitch!==w&&(this._maxPitch=w,this.pitch=Math.min(this.pitch,w))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(w){w===void 0?w=!0:w===null&&(w=!1),this._renderWorldCopies=w}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new a.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(w){let B=-a.b3(w,-180,180)*Math.PI/180;this.angle!==B&&(this._unmodified=!1,this.angle=B,this._calcMatrices(),this.rotationMatrix=function(){var Q=new a.A(4);return a.A!=Float32Array&&(Q[1]=0,Q[2]=0),Q[0]=1,Q[3]=1,Q}(),function(Q,ee,se){var qe=ee[0],je=ee[1],it=ee[2],yt=ee[3],Ot=Math.sin(se),Nt=Math.cos(se);Q[0]=qe*Nt+it*Ot,Q[1]=je*Nt+yt*Ot,Q[2]=qe*-Ot+it*Nt,Q[3]=je*-Ot+yt*Nt}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(w){let B=a.ac(w,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==B&&(this._unmodified=!1,this._pitch=B,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(w){w=Math.max(.01,Math.min(60,w)),this._fov!==w&&(this._unmodified=!1,this._fov=w/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(w){let B=Math.min(Math.max(w,this.minZoom),this.maxZoom);this._zoom!==B&&(this._unmodified=!1,this._zoom=B,this.tileZoom=Math.max(0,Math.floor(B)),this.scale=this.zoomScale(B),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(w){w.lat===this._center.lat&&w.lng===this._center.lng||(this._unmodified=!1,this._center=w,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(w){w!==this._elevation&&(this._elevation=w,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(w){this._edgeInsets.equals(w)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,w,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(w){return this._edgeInsets.equals(w)}interpolatePadding(w,B,Q){this._unmodified=!1,this._edgeInsets.interpolate(w,B,Q),this._constrain(),this._calcMatrices()}coveringZoomLevel(w){let B=(w.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/w.tileSize));return Math.max(0,B)}getVisibleUnwrappedCoordinates(w){let B=[new a.b4(0,w)];if(this._renderWorldCopies){let Q=this.pointCoordinate(new a.P(0,0)),ee=this.pointCoordinate(new a.P(this.width,0)),se=this.pointCoordinate(new a.P(this.width,this.height)),qe=this.pointCoordinate(new a.P(0,this.height)),je=Math.floor(Math.min(Q.x,ee.x,se.x,qe.x)),it=Math.floor(Math.max(Q.x,ee.x,se.x,qe.x)),yt=1;for(let Ot=je-yt;Ot<=it+yt;Ot++)Ot!==0&&B.push(new a.b4(Ot,w))}return B}coveringTiles(w){var B,Q;let ee=this.coveringZoomLevel(w),se=ee;if(w.minzoom!==void 0&&ee<w.minzoom)return[];w.maxzoom!==void 0&&ee>w.maxzoom&&(ee=w.maxzoom);let qe=this.pointCoordinate(this.getCameraPoint()),je=a.Z.fromLngLat(this.center),it=Math.pow(2,ee),yt=[it*qe.x,it*qe.y,0],Ot=[it*je.x,it*je.y,0],Nt=fl.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,ee),hr=w.minzoom||0;!w.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(hr=ee);let Sr=w.terrain?2/Math.min(this.tileSize,w.tileSize)*this.tileSize:3,he=He=>({aabb:new Xc([He*it,0,0],[(He+1)*it,it,0]),zoom:0,x:0,y:0,wrap:He,fullyVisible:!1}),be=[],Pe=[],Oe=ee,Je=w.reparseOverscaled?se:ee;if(this._renderWorldCopies)for(let He=1;He<=3;He++)be.push(he(-He)),be.push(he(He));for(be.push(he(0));be.length>0;){let He=be.pop(),et=He.x,Mt=He.y,Dt=He.fullyVisible;if(!Dt){let zr=He.aabb.intersects(Nt);if(zr===0)continue;Dt=zr===2}let Ut=w.terrain?yt:Ot,tr=He.aabb.distanceX(Ut),mr=He.aabb.distanceY(Ut),Rr=Math.max(Math.abs(tr),Math.abs(mr));if(He.zoom===Oe||Rr>Sr+(1<<Oe-He.zoom)-2&&He.zoom>=hr){let zr=Oe-He.zoom,Xr=yt[0]-.5-(et<<zr),di=yt[1]-.5-(Mt<<zr);Pe.push({tileID:new a.S(He.zoom===Oe?Je:He.zoom,He.wrap,He.zoom,et,Mt),distanceSq:_([Ot[0]-.5-et,Ot[1]-.5-Mt]),tileDistanceToCamera:Math.sqrt(Xr*Xr+di*di)})}else for(let zr=0;zr<4;zr++){let Xr=(et<<1)+zr%2,di=(Mt<<1)+(zr>>1),Li=He.zoom+1,Ci=He.aabb.quadrant(zr);if(w.terrain){let Qi=new a.S(Li,He.wrap,Li,Xr,di),Mn=w.terrain.getMinMaxElevation(Qi),pa=(B=Mn.minElevation)!==null&&B!==void 0?B:this.elevation,ea=(Q=Mn.maxElevation)!==null&&Q!==void 0?Q:this.elevation;Ci=new Xc([Ci.min[0],Ci.min[1],pa],[Ci.max[0],Ci.max[1],ea])}be.push({aabb:Ci,zoom:Li,x:Xr,y:di,wrap:He.wrap,fullyVisible:Dt})}}return Pe.sort((He,et)=>He.distanceSq-et.distanceSq).map(He=>He.tileID)}resize(w,B){this.width=w,this.height=B,this.pixelsToGLUnits=[2/w,-2/B],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(w){return Math.pow(2,w)}scaleZoom(w){return Math.log(w)/Math.LN2}project(w){let B=a.ac(w.lat,-85.051129,yu);return new a.P(a.O(w.lng)*this.worldSize,a.Q(B)*this.worldSize)}unproject(w){return new a.Z(w.x/this.worldSize,w.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(w){let B=this.elevation,Q=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,ee=this.pointLocation(this.centerPoint,w),se=w.getElevationForLngLatZoom(ee,this.tileZoom);if(!(this.elevation-se))return;let qe=Q+B-se,je=Math.cos(this._pitch)*this.cameraToCenterDistance/qe/a.b5(1,ee.lat),it=this.scaleZoom(je/this.tileSize);this._elevation=se,this._center=ee,this.zoom=it}setLocationAtPoint(w,B){let Q=this.pointCoordinate(B),ee=this.pointCoordinate(this.centerPoint),se=this.locationCoordinate(w),qe=new a.Z(se.x-(Q.x-ee.x),se.y-(Q.y-ee.y));this.center=this.coordinateLocation(qe),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(w,B){return B?this.coordinatePoint(this.locationCoordinate(w),B.getElevationForLngLatZoom(w,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(w))}pointLocation(w,B){return this.coordinateLocation(this.pointCoordinate(w,B))}locationCoordinate(w){return a.Z.fromLngLat(w)}coordinateLocation(w){return w&&w.toLngLat()}pointCoordinate(w,B){if(B){let hr=B.pointCoordinate(w);if(hr!=null)return hr}let Q=[w.x,w.y,0,1],ee=[w.x,w.y,1,1];a.af(Q,Q,this.pixelMatrixInverse),a.af(ee,ee,this.pixelMatrixInverse);let se=Q[3],qe=ee[3],je=Q[1]/se,it=ee[1]/qe,yt=Q[2]/se,Ot=ee[2]/qe,Nt=yt===Ot?0:(0-yt)/(Ot-yt);return new a.Z(a.y.number(Q[0]/se,ee[0]/qe,Nt)/this.worldSize,a.y.number(je,it,Nt)/this.worldSize)}coordinatePoint(w,B=0,Q=this.pixelMatrix){let ee=[w.x*this.worldSize,w.y*this.worldSize,B,1];return a.af(ee,ee,Q),new a.P(ee[0]/ee[3],ee[1]/ee[3])}getBounds(){let w=Math.max(0,this.height/2-this.getHorizon());return new ce().extend(this.pointLocation(new a.P(0,w))).extend(this.pointLocation(new a.P(this.width,w))).extend(this.pointLocation(new a.P(this.width,this.height))).extend(this.pointLocation(new a.P(0,this.height)))}getMaxBounds(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new ce([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(w){w?(this.lngRange=[w.getWest(),w.getEast()],this.latRange=[w.getSouth(),w.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,yu])}calculateTileMatrix(w){let B=w.canonical,Q=this.worldSize/this.zoomScale(B.z),ee=B.x+Math.pow(2,B.z)*w.wrap,se=a.an(new Float64Array(16));return a.J(se,se,[ee*Q,B.y*Q,0]),a.K(se,se,[Q/a.X,Q/a.X,1]),se}calculatePosMatrix(w,B=!1){let Q=w.key,ee=B?this._alignedPosMatrixCache:this._posMatrixCache;if(ee[Q])return ee[Q];let se=this.calculateTileMatrix(w);return a.L(se,B?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,se),ee[Q]=new Float32Array(se),ee[Q]}calculateFogMatrix(w){let B=w.key,Q=this._fogMatrixCache;if(Q[B])return Q[B];let ee=this.calculateTileMatrix(w);return a.L(ee,this.fogMatrix,ee),Q[B]=new Float32Array(ee),Q[B]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(w,B){B=a.ac(+B,this.minZoom,this.maxZoom);let Q={center:new a.N(w.lng,w.lat),zoom:B},ee=this.lngRange;if(!this._renderWorldCopies&&ee===null){let He=179.9999999999;ee=[-He,He]}let se=this.tileSize*this.zoomScale(Q.zoom),qe=0,je=se,it=0,yt=se,Ot=0,Nt=0,{x:hr,y:Sr}=this.size;if(this.latRange){let He=this.latRange;qe=a.Q(He[1])*se,je=a.Q(He[0])*se,je-qe<Sr&&(Ot=Sr/(je-qe))}ee&&(it=a.b3(a.O(ee[0])*se,0,se),yt=a.b3(a.O(ee[1])*se,0,se),yt<it&&(yt+=se),yt-it<hr&&(Nt=hr/(yt-it)));let{x:he,y:be}=this.project.call({worldSize:se},w),Pe,Oe,Je=Math.max(Nt||0,Ot||0);if(Je){let He=new a.P(Nt?(yt+it)/2:he,Ot?(je+qe)/2:be);return Q.center=this.unproject.call({worldSize:se},He).wrap(),Q.zoom+=this.scaleZoom(Je),Q}if(this.latRange){let He=Sr/2;be-He<qe&&(Oe=qe+He),be+He>je&&(Oe=je-He)}if(ee){let He=(it+yt)/2,et=he;this._renderWorldCopies&&(et=a.b3(he,He-se/2,He+se/2));let Mt=hr/2;et-Mt<it&&(Pe=it+Mt),et+Mt>yt&&(Pe=yt-Mt)}if(Pe!==void 0||Oe!==void 0){let He=new a.P(Pe!=null?Pe:he,Oe!=null?Oe:be);Q.center=this.unproject.call({worldSize:se},He).wrap()}return Q}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let w=this._unmodified,{center:B,zoom:Q}=this.getConstrained(this.center,this.zoom);this.center=B,this.zoom=Q,this._unmodified=w,this._constraining=!1}_calcMatrices(){if(!this.height)return;let w=this.centerOffset,B=this.point.x,Q=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=a.b5(1,this.center.lat)*this.worldSize;let ee=a.an(new Float64Array(16));a.K(ee,ee,[this.width/2,-this.height/2,1]),a.J(ee,ee,[1,-1,0]),this.labelPlaneMatrix=ee,ee=a.an(new Float64Array(16)),a.K(ee,ee,[1,-1,1]),a.J(ee,ee,[-1,-1,0]),a.K(ee,ee,[2/this.width,2/this.height,1]),this.glCoordMatrix=ee;let se=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),qe=Math.min(this.elevation,this.minElevationForCurrentTile),je=se-qe*this._pixelPerMeter/Math.cos(this._pitch),it=qe<0?je:se,yt=Math.PI/2+this._pitch,Ot=this._fov*(.5+w.y/this.height),Nt=Math.sin(Ot)*it/Math.sin(a.ac(Math.PI-yt-Ot,.01,Math.PI-.01)),hr=this.getHorizon(),Sr=2*Math.atan(hr/this.cameraToCenterDistance)*(.5+w.y/(2*hr)),he=Math.sin(Sr)*it/Math.sin(a.ac(Math.PI-yt-Sr,.01,Math.PI-.01)),be=Math.min(Nt,he);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*be+it),this.nearZ=this.height/50,ee=new Float64Array(16),a.b6(ee,this._fov,this.width/this.height,this.nearZ,this.farZ),ee[8]=2*-w.x/this.width,ee[9]=2*w.y/this.height,this.projectionMatrix=a.ae(ee),a.K(ee,ee,[1,-1,1]),a.J(ee,ee,[0,0,-this.cameraToCenterDistance]),a.b7(ee,ee,this._pitch),a.ad(ee,ee,this.angle),a.J(ee,ee,[-B,-Q,0]),this.mercatorMatrix=a.K([],ee,[this.worldSize,this.worldSize,this.worldSize]),a.K(ee,ee,[1,1,this._pixelPerMeter]),this.pixelMatrix=a.L(new Float64Array(16),this.labelPlaneMatrix,ee),a.J(ee,ee,[0,0,-this.elevation]),this.modelViewProjectionMatrix=ee,this.invModelViewProjectionMatrix=a.as([],ee),this.fogMatrix=new Float64Array(16),a.b6(this.fogMatrix,this._fov,this.width/this.height,se,this.farZ),this.fogMatrix[8]=2*-w.x/this.width,this.fogMatrix[9]=2*w.y/this.height,a.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),a.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),a.b7(this.fogMatrix,this.fogMatrix,this._pitch),a.ad(this.fogMatrix,this.fogMatrix,this.angle),a.J(this.fogMatrix,this.fogMatrix,[-B,-Q,0]),a.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),a.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=a.L(new Float64Array(16),this.labelPlaneMatrix,ee);let Pe=this.width%2/2,Oe=this.height%2/2,Je=Math.cos(this.angle),He=Math.sin(this.angle),et=B-Math.round(B)+Je*Pe+He*Oe,Mt=Q-Math.round(Q)+Je*Oe+He*Pe,Dt=new Float64Array(ee);if(a.J(Dt,Dt,[et>.5?et-1:et,Mt>.5?Mt-1:Mt,0]),this.alignedModelViewProjectionMatrix=Dt,ee=a.as(new Float64Array(16),this.pixelMatrix),!ee)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=ee,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let w=this.pointCoordinate(new a.P(0,0)),B=[w.x*this.worldSize,w.y*this.worldSize,0,1];return a.af(B,B,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let w=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new a.P(0,w))}getCameraQueryGeometry(w){let B=this.getCameraPoint();if(w.length===1)return[w[0],B];{let Q=B.x,ee=B.y,se=B.x,qe=B.y;for(let je of w)Q=Math.min(Q,je.x),ee=Math.min(ee,je.y),se=Math.max(se,je.x),qe=Math.max(qe,je.y);return[new a.P(Q,ee),new a.P(se,ee),new a.P(se,qe),new a.P(Q,qe),new a.P(Q,ee)]}}lngLatToCameraDepth(w,B){let Q=this.locationCoordinate(w),ee=[Q.x*this.worldSize,Q.y*this.worldSize,B,1];return a.af(ee,ee,this.modelViewProjectionMatrix),ee[2]/ee[3]}}function Qh(le,w){let B,Q=!1,ee=null,se=null,qe=()=>{ee=null,Q&&(le.apply(se,B),ee=setTimeout(qe,w),Q=!1)};return(...je)=>(Q=!0,se=this,B=je,ee||qe(),ee)}class gd{constructor(w){this._getCurrentHash=()=>{let B=window.location.hash.replace(\"#\",\"\");if(this._hashName){let Q;return B.split(\"&\").map(ee=>ee.split(\"=\")).forEach(ee=>{ee[0]===this._hashName&&(Q=ee)}),(Q&&Q[1]||\"\").split(\"/\")}return B.split(\"/\")},this._onHashChange=()=>{let B=this._getCurrentHash();if(B.length>=3&&!B.some(Q=>isNaN(Q))){let Q=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(B[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+B[2],+B[1]],zoom:+B[0],bearing:Q,pitch:+(B[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let B=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,B)},this._removeHash=()=>{let B=this._getCurrentHash();if(B.length===0)return;let Q=B.join(\"/\"),ee=Q;ee.split(\"&\").length>0&&(ee=ee.split(\"&\")[0]),this._hashName&&(ee=`${this._hashName}=${Q}`);let se=window.location.hash.replace(ee,\"\");se.startsWith(\"#&\")?se=se.slice(0,1)+se.slice(2):se===\"#\"&&(se=\"\");let qe=window.location.href.replace(/(#.+)?$/,se);qe=qe.replace(\"&&\",\"&\"),window.history.replaceState(window.history.state,null,qe)},this._updateHash=Qh(this._updateHashUnthrottled,300),this._hashName=w&&encodeURIComponent(w)}addTo(w){return this._map=w,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(w){let B=this._map.getCenter(),Q=Math.round(100*this._map.getZoom())/100,ee=Math.ceil((Q*Math.LN2+Math.log(512/360/.5))/Math.LN10),se=Math.pow(10,ee),qe=Math.round(B.lng*se)/se,je=Math.round(B.lat*se)/se,it=this._map.getBearing(),yt=this._map.getPitch(),Ot=\"\";if(Ot+=w?`/${qe}/${je}/${Q}`:`${Q}/${je}/${qe}`,(it||yt)&&(Ot+=\"/\"+Math.round(10*it)/10),yt&&(Ot+=`/${Math.round(yt)}`),this._hashName){let Nt=this._hashName,hr=!1,Sr=window.location.hash.slice(1).split(\"&\").map(he=>{let be=he.split(\"=\")[0];return be===Nt?(hr=!0,`${be}=${Ot}`):he}).filter(he=>he);return hr||Sr.push(`${Nt}=${Ot}`),`#${Sr.join(\"&\")}`}return`#${Ot}`}}let Gu={linearity:.3,easing:a.b8(0,0,.3,1)},Pc=a.e({deceleration:2500,maxSpeed:1400},Gu),vc=a.e({deceleration:20,maxSpeed:1400},Gu),sv=a.e({deceleration:1e3,maxSpeed:360},Gu),Lf=a.e({deceleration:1e3,maxSpeed:90},Gu);class Uf{constructor(w){this._map=w,this.clear()}clear(){this._inertiaBuffer=[]}record(w){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:u.now(),settings:w})}_drainInertiaBuffer(){let w=this._inertiaBuffer,B=u.now();for(;w.length>0&&B-w[0].time>160;)w.shift()}_onMoveEnd(w){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let B={zoom:0,bearing:0,pitch:0,pan:new a.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:se}of this._inertiaBuffer)B.zoom+=se.zoomDelta||0,B.bearing+=se.bearingDelta||0,B.pitch+=se.pitchDelta||0,se.panDelta&&B.pan._add(se.panDelta),se.around&&(B.around=se.around),se.pinchAround&&(B.pinchAround=se.pinchAround);let Q=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,ee={};if(B.pan.mag()){let se=oh(B.pan.mag(),Q,a.e({},Pc,w||{}));ee.offset=B.pan.mult(se.amount/B.pan.mag()),ee.center=this._map.transform.center,Iu(ee,se)}if(B.zoom){let se=oh(B.zoom,Q,vc);ee.zoom=this._map.transform.zoom+se.amount,Iu(ee,se)}if(B.bearing){let se=oh(B.bearing,Q,sv);ee.bearing=this._map.transform.bearing+a.ac(se.amount,-179,179),Iu(ee,se)}if(B.pitch){let se=oh(B.pitch,Q,Lf);ee.pitch=this._map.transform.pitch+se.amount,Iu(ee,se)}if(ee.zoom||ee.bearing){let se=B.pinchAround===void 0?B.around:B.pinchAround;ee.around=se?this._map.unproject(se):this._map.getCenter()}return this.clear(),a.e(ee,{noMoveStart:!0})}}function Iu(le,w){(!le.duration||le.duration<w.duration)&&(le.duration=w.duration,le.easing=w.easing)}function oh(le,w,B){let{maxSpeed:Q,linearity:ee,deceleration:se}=B,qe=a.ac(le*ee/(w/1e3),-Q,Q),je=Math.abs(qe)/(se*ee);return{easing:B.easing,duration:1e3*je,amount:qe*(je/2)}}class ru extends a.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(w,B,Q,ee={}){let se=c.mousePos(B.getCanvas(),Q),qe=B.unproject(se);super(w,a.e({point:se,lngLat:qe,originalEvent:Q},ee)),this._defaultPrevented=!1,this.target=B}}class vf extends a.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(w,B,Q){let ee=w===\"touchend\"?Q.changedTouches:Q.touches,se=c.touchPos(B.getCanvasContainer(),ee),qe=se.map(it=>B.unproject(it)),je=se.reduce((it,yt,Ot,Nt)=>it.add(yt.div(Nt.length)),new a.P(0,0));super(w,{points:se,point:je,lngLats:qe,lngLat:B.unproject(je),originalEvent:Q}),this._defaultPrevented=!1}}class md extends a.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(w,B,Q){super(w,{originalEvent:Q}),this._defaultPrevented=!1}}class sh{constructor(w,B){this._map=w,this._clickTolerance=B.clickTolerance}reset(){delete this._mousedownPos}wheel(w){return this._firePreventable(new md(w.type,this._map,w))}mousedown(w,B){return this._mousedownPos=B,this._firePreventable(new ru(w.type,this._map,w))}mouseup(w){this._map.fire(new ru(w.type,this._map,w))}click(w,B){this._mousedownPos&&this._mousedownPos.dist(B)>=this._clickTolerance||this._map.fire(new ru(w.type,this._map,w))}dblclick(w){return this._firePreventable(new ru(w.type,this._map,w))}mouseover(w){this._map.fire(new ru(w.type,this._map,w))}mouseout(w){this._map.fire(new ru(w.type,this._map,w))}touchstart(w){return this._firePreventable(new vf(w.type,this._map,w))}touchmove(w){this._map.fire(new vf(w.type,this._map,w))}touchend(w){this._map.fire(new vf(w.type,this._map,w))}touchcancel(w){this._map.fire(new vf(w.type,this._map,w))}_firePreventable(w){if(this._map.fire(w),w.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Fs{constructor(w){this._map=w}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(w){this._map.fire(new ru(w.type,this._map,w))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new ru(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(w){this._delayContextMenu?this._contextMenuEvent=w:this._ignoreContextMenu||this._map.fire(new ru(w.type,this._map,w)),this._map.listens(\"contextmenu\")&&w.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class _u{constructor(w){this._map=w}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(w){return this.transform.pointLocation(a.P.convert(w),this._map.terrain)}}class xu{constructor(w,B){this._map=w,this._tr=new _u(w),this._el=w.getCanvasContainer(),this._container=w.getContainer(),this._clickTolerance=B.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(w,B){this.isEnabled()&&w.shiftKey&&w.button===0&&(c.disableDrag(),this._startPos=this._lastPos=B,this._active=!0)}mousemoveWindow(w,B){if(!this._active)return;let Q=B;if(this._lastPos.equals(Q)||!this._box&&Q.dist(this._startPos)<this._clickTolerance)return;let ee=this._startPos;this._lastPos=Q,this._box||(this._box=c.create(\"div\",\"maplibregl-boxzoom\",this._container),this._container.classList.add(\"maplibregl-crosshair\"),this._fireEvent(\"boxzoomstart\",w));let se=Math.min(ee.x,Q.x),qe=Math.max(ee.x,Q.x),je=Math.min(ee.y,Q.y),it=Math.max(ee.y,Q.y);c.setTransform(this._box,`translate(${se}px,${je}px)`),this._box.style.width=qe-se+\"px\",this._box.style.height=it-je+\"px\"}mouseupWindow(w,B){if(!this._active||w.button!==0)return;let Q=this._startPos,ee=B;if(this.reset(),c.suppressClick(),Q.x!==ee.x||Q.y!==ee.y)return this._map.fire(new a.k(\"boxzoomend\",{originalEvent:w})),{cameraAnimation:se=>se.fitScreenCoordinates(Q,ee,this._tr.bearing,{linear:!0})};this._fireEvent(\"boxzoomcancel\",w)}keydown(w){this._active&&w.keyCode===27&&(this.reset(),this._fireEvent(\"boxzoomcancel\",w))}reset(){this._active=!1,this._container.classList.remove(\"maplibregl-crosshair\"),this._box&&(c.remove(this._box),this._box=null),c.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(w,B){return this._map.fire(new a.k(w,{originalEvent:B}))}}function Lh(le,w){if(le.length!==w.length)throw new Error(`The number of touches and points are not equal - touches ${le.length}, points ${w.length}`);let B={};for(let Q=0;Q<le.length;Q++)B[le[Q].identifier]=w[Q];return B}class Is{constructor(w){this.reset(),this.numTouches=w.numTouches}reset(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1}touchstart(w,B,Q){(this.centroid||Q.length>this.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=w.timeStamp),Q.length===this.numTouches&&(this.centroid=function(ee){let se=new a.P(0,0);for(let qe of ee)se._add(qe);return se.div(ee.length)}(B),this.touches=Lh(Q,B)))}touchmove(w,B,Q){if(this.aborted||!this.centroid)return;let ee=Lh(Q,B);for(let se in this.touches){let qe=ee[se];(!qe||qe.dist(this.touches[se])>30)&&(this.aborted=!0)}}touchend(w,B,Q){if((!this.centroid||w.timeStamp-this.startTime>500)&&(this.aborted=!0),Q.length===0){let ee=!this.aborted&&this.centroid;if(this.reset(),ee)return ee}}}class Pf{constructor(w){this.singleTap=new Is(w),this.numTaps=w.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(w,B,Q){this.singleTap.touchstart(w,B,Q)}touchmove(w,B,Q){this.singleTap.touchmove(w,B,Q)}touchend(w,B,Q){let ee=this.singleTap.touchend(w,B,Q);if(ee){let se=w.timeStamp-this.lastTime<500,qe=!this.lastTap||this.lastTap.dist(ee)<30;if(se&&qe||this.reset(),this.count++,this.lastTime=w.timeStamp,this.lastTap=ee,this.count===this.numTaps)return this.reset(),ee}}}class Ic{constructor(w){this._tr=new _u(w),this._zoomIn=new Pf({numTouches:1,numTaps:2}),this._zoomOut=new Pf({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(w,B,Q){this._zoomIn.touchstart(w,B,Q),this._zoomOut.touchstart(w,B,Q)}touchmove(w,B,Q){this._zoomIn.touchmove(w,B,Q),this._zoomOut.touchmove(w,B,Q)}touchend(w,B,Q){let ee=this._zoomIn.touchend(w,B,Q),se=this._zoomOut.touchend(w,B,Q),qe=this._tr;return ee?(this._active=!0,w.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:je=>je.easeTo({duration:300,zoom:qe.zoom+1,around:qe.unproject(ee)},{originalEvent:w})}):se?(this._active=!0,w.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:je=>je.easeTo({duration:300,zoom:qe.zoom-1,around:qe.unproject(se)},{originalEvent:w})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class ju{constructor(w){this._enabled=!!w.enable,this._moveStateManager=w.moveStateManager,this._clickTolerance=w.clickTolerance||1,this._moveFunction=w.move,this._activateOnStart=!!w.activateOnStart,w.assignEvents(this),this.reset()}reset(w){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(w)}_move(...w){let B=this._moveFunction(...w);if(B.bearingDelta||B.pitchDelta||B.around||B.panDelta)return this._active=!0,B}dragStart(w,B){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(w)&&(this._moveStateManager.startMove(w),this._lastPoint=B.length?B[0]:B,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(w,B){if(!this.isEnabled())return;let Q=this._lastPoint;if(!Q)return;if(w.preventDefault(),!this._moveStateManager.isValidMoveEvent(w))return void this.reset(w);let ee=B.length?B[0]:B;return!this._moved&&ee.dist(Q)<this._clickTolerance?void 0:(this._moved=!0,this._lastPoint=ee,this._move(Q,ee))}dragEnd(w){this.isEnabled()&&this._lastPoint&&this._moveStateManager.isValidEndEvent(w)&&(this._moved&&c.suppressClick(),this.reset(w))}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}getClickTolerance(){return this._clickTolerance}}let Vf={0:1,2:2};class pc{constructor(w){this._correctEvent=w.checkCorrectEvent}startMove(w){let B=c.mouseButton(w);this._eventButton=B}endMove(w){delete this._eventButton}isValidStartEvent(w){return this._correctEvent(w)}isValidMoveEvent(w){return!function(B,Q){let ee=Vf[Q];return B.buttons===void 0||(B.buttons&ee)!==ee}(w,this._eventButton)}isValidEndEvent(w){return c.mouseButton(w)===this._eventButton}}class pf{constructor(){this._firstTouch=void 0}_isOneFingerTouch(w){return w.targetTouches.length===1}_isSameTouchEvent(w){return w.targetTouches[0].identifier===this._firstTouch}startMove(w){this._firstTouch=w.targetTouches[0].identifier}endMove(w){delete this._firstTouch}isValidStartEvent(w){return this._isOneFingerTouch(w)}isValidMoveEvent(w){return this._isOneFingerTouch(w)&&this._isSameTouchEvent(w)}isValidEndEvent(w){return this._isOneFingerTouch(w)&&this._isSameTouchEvent(w)}}let Ph=le=>{le.mousedown=le.dragStart,le.mousemoveWindow=le.dragMove,le.mouseup=le.dragEnd,le.contextmenu=w=>{w.preventDefault()}},Dl=({enable:le,clickTolerance:w,bearingDegreesPerPixelMoved:B=.8})=>{let Q=new pc({checkCorrectEvent:ee=>c.mouseButton(ee)===0&&ee.ctrlKey||c.mouseButton(ee)===2});return new ju({clickTolerance:w,move:(ee,se)=>({bearingDelta:(se.x-ee.x)*B}),moveStateManager:Q,enable:le,assignEvents:Ph})},Ih=({enable:le,clickTolerance:w,pitchDegreesPerPixelMoved:B=-.5})=>{let Q=new pc({checkCorrectEvent:ee=>c.mouseButton(ee)===0&&ee.ctrlKey||c.mouseButton(ee)===2});return new ju({clickTolerance:w,move:(ee,se)=>({pitchDelta:(se.y-ee.y)*B}),moveStateManager:Q,enable:le,assignEvents:Ph})};class Wu{constructor(w,B){this._clickTolerance=w.clickTolerance||1,this._map=B,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new a.P(0,0)}_shouldBePrevented(w){return w<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(w,B,Q){return this._calculateTransform(w,B,Q)}touchmove(w,B,Q){if(this._active){if(!this._shouldBePrevented(Q.length))return w.preventDefault(),this._calculateTransform(w,B,Q);this._map.cooperativeGestures.notifyGestureBlocked(\"touch_pan\",w)}}touchend(w,B,Q){this._calculateTransform(w,B,Q),this._active&&this._shouldBePrevented(Q.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(w,B,Q){Q.length>0&&(this._active=!0);let ee=Lh(Q,B),se=new a.P(0,0),qe=new a.P(0,0),je=0;for(let yt in ee){let Ot=ee[yt],Nt=this._touches[yt];Nt&&(se._add(Ot),qe._add(Ot.sub(Nt)),je++,ee[yt]=Ot)}if(this._touches=ee,this._shouldBePrevented(je)||!qe.mag())return;let it=qe.div(je);return this._sum._add(it),this._sum.mag()<this._clickTolerance?void 0:{around:se.div(je),panDelta:it}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Rc{constructor(){this.reset()}reset(){this._active=!1,delete this._firstTwoTouches}touchstart(w,B,Q){this._firstTwoTouches||Q.length<2||(this._firstTwoTouches=[Q[0].identifier,Q[1].identifier],this._start([B[0],B[1]]))}touchmove(w,B,Q){if(!this._firstTwoTouches)return;w.preventDefault();let[ee,se]=this._firstTwoTouches,qe=gc(Q,B,ee),je=gc(Q,B,se);if(!qe||!je)return;let it=this._aroundCenter?null:qe.add(je).div(2);return this._move([qe,je],it,w)}touchend(w,B,Q){if(!this._firstTwoTouches)return;let[ee,se]=this._firstTwoTouches,qe=gc(Q,B,ee),je=gc(Q,B,se);qe&&je||(this._active&&c.suppressClick(),this.reset())}touchcancel(){this.reset()}enable(w){this._enabled=!0,this._aroundCenter=!!w&&w.around===\"center\"}disable(){this._enabled=!1,this.reset()}isEnabled(){return!!this._enabled}isActive(){return!!this._active}}function gc(le,w,B){for(let Q=0;Q<le.length;Q++)if(le[Q].identifier===B)return w[Q]}function hl(le,w){return Math.log(le/w)/Math.LN2}class iu extends Rc{reset(){super.reset(),delete this._distance,delete this._startDistance}_start(w){this._startDistance=this._distance=w[0].dist(w[1])}_move(w,B){let Q=this._distance;if(this._distance=w[0].dist(w[1]),this._active||!(Math.abs(hl(this._distance,this._startDistance))<.1))return this._active=!0,{zoomDelta:hl(this._distance,Q),pinchAround:B}}}function mc(le,w){return 180*le.angleWith(w)/Math.PI}class Yc extends Rc{reset(){super.reset(),delete this._minDiameter,delete this._startVector,delete this._vector}_start(w){this._startVector=this._vector=w[0].sub(w[1]),this._minDiameter=w[0].dist(w[1])}_move(w,B,Q){let ee=this._vector;if(this._vector=w[0].sub(w[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:mc(this._vector,ee),pinchAround:B}}_isBelowThreshold(w){this._minDiameter=Math.min(this._minDiameter,w.mag());let B=25/(Math.PI*this._minDiameter)*360,Q=mc(w,this._startVector);return Math.abs(Q)<B}}function nc(le){return Math.abs(le.y)>Math.abs(le.x)}class gf extends Rc{constructor(w){super(),this._currentTouchCount=0,this._map=w}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(w,B,Q){super.touchstart(w,B,Q),this._currentTouchCount=Q.length}_start(w){this._lastPoints=w,nc(w[0].sub(w[1]))&&(this._valid=!1)}_move(w,B,Q){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let ee=w[0].sub(this._lastPoints[0]),se=w[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(ee,se,Q.timeStamp),this._valid?(this._lastPoints=w,this._active=!0,{pitchDelta:(ee.y+se.y)/2*-.5}):void 0}gestureBeginsVertically(w,B,Q){if(this._valid!==void 0)return this._valid;let ee=w.mag()>=2,se=B.mag()>=2;if(!ee&&!se)return;if(!ee||!se)return this._firstMove===void 0&&(this._firstMove=Q),Q-this._firstMove<100&&void 0;let qe=w.y>0==B.y>0;return nc(w)&&nc(B)&&qe}}let gt={panStep:100,bearingStep:15,pitchStep:10};class Bt{constructor(w){this._tr=new _u(w);let B=gt;this._panStep=B.panStep,this._bearingStep=B.bearingStep,this._pitchStep=B.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(w){if(w.altKey||w.ctrlKey||w.metaKey)return;let B=0,Q=0,ee=0,se=0,qe=0;switch(w.keyCode){case 61:case 107:case 171:case 187:B=1;break;case 189:case 109:case 173:B=-1;break;case 37:w.shiftKey?Q=-1:(w.preventDefault(),se=-1);break;case 39:w.shiftKey?Q=1:(w.preventDefault(),se=1);break;case 38:w.shiftKey?ee=1:(w.preventDefault(),qe=-1);break;case 40:w.shiftKey?ee=-1:(w.preventDefault(),qe=1);break;default:return}return this._rotationDisabled&&(Q=0,ee=0),{cameraAnimation:je=>{let it=this._tr;je.easeTo({duration:300,easeId:\"keyboardHandler\",easing:wr,zoom:B?Math.round(it.zoom)+B*(w.shiftKey?2:1):it.zoom,bearing:it.bearing+Q*this._bearingStep,pitch:it.pitch+ee*this._pitchStep,offset:[-se*this._panStep,-qe*this._panStep],center:it.center},{originalEvent:w})}}}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 wr(le){return le*(2-le)}let vr=4.000244140625;class Ur{constructor(w,B){this._onTimeout=Q=>{this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(Q)},this._map=w,this._tr=new _u(w),this._triggerRenderFrame=B,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(w){this._defaultZoomRate=w}setWheelZoomRate(w){this._wheelZoomRate=w}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(w){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!w&&w.around===\"center\")}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(w){return!!this._map.cooperativeGestures.isEnabled()&&!(w.ctrlKey||this._map.cooperativeGestures.isBypassed(w))}wheel(w){if(!this.isEnabled())return;if(this._shouldBePrevented(w))return void this._map.cooperativeGestures.notifyGestureBlocked(\"wheel_zoom\",w);let B=w.deltaMode===WheelEvent.DOM_DELTA_LINE?40*w.deltaY:w.deltaY,Q=u.now(),ee=Q-(this._lastWheelEventTime||0);this._lastWheelEventTime=Q,B!==0&&B%vr==0?this._type=\"wheel\":B!==0&&Math.abs(B)<4?this._type=\"trackpad\":ee>400?(this._type=null,this._lastValue=B,this._timeout=setTimeout(this._onTimeout,40,w)):this._type||(this._type=Math.abs(ee*B)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,B+=this._lastValue)),w.shiftKey&&B&&(B/=4),this._type&&(this._lastWheelEvent=w,this._delta-=B,this._active||this._start(w)),w.preventDefault()}_start(w){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);let B=c.mousePos(this._map.getCanvas(),w),Q=this._tr;this._around=B.y>Q.transform.height/2-Q.transform.getHorizon()?a.N.convert(this._aroundCenter?Q.center:Q.unproject(B)):a.N.convert(Q.center),this._aroundPoint=Q.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let w=this._tr.transform;if(this._delta!==0){let it=this._type===\"wheel\"&&Math.abs(this._delta)>vr?this._wheelZoomRate:this._defaultZoomRate,yt=2/(1+Math.exp(-Math.abs(this._delta*it)));this._delta<0&&yt!==0&&(yt=1/yt);let Ot=typeof this._targetZoom==\"number\"?w.zoomScale(this._targetZoom):w.scale;this._targetZoom=Math.min(w.maxZoom,Math.max(w.minZoom,w.scaleZoom(Ot*yt))),this._type===\"wheel\"&&(this._startZoom=w.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let B=typeof this._targetZoom==\"number\"?this._targetZoom:w.zoom,Q=this._startZoom,ee=this._easing,se,qe=!1,je=u.now()-this._lastWheelEventTime;if(this._type===\"wheel\"&&Q&&ee&&je){let it=Math.min(je/200,1),yt=ee(it);se=a.y.number(Q,B,yt),it<1?this._frameId||(this._frameId=!0):qe=!0}else se=B,qe=!0;return this._active=!0,qe&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!qe,zoomDelta:se-w.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(w){let B=a.b9;if(this._prevEase){let Q=this._prevEase,ee=(u.now()-Q.start)/Q.duration,se=Q.easing(ee+.01)-Q.easing(ee),qe=.27/Math.sqrt(se*se+1e-4)*.01,je=Math.sqrt(.0729-qe*qe);B=a.b8(qe,je,.25,1)}return this._prevEase={start:u.now(),duration:w,easing:B},B}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class fi{constructor(w,B){this._clickZoom=w,this._tapZoom=B}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 xi{constructor(w){this._tr=new _u(w),this.reset()}reset(){this._active=!1}dblclick(w,B){return w.preventDefault(),{cameraAnimation:Q=>{Q.easeTo({duration:300,zoom:this._tr.zoom+(w.shiftKey?-1:1),around:this._tr.unproject(B)},{originalEvent:w})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Fi{constructor(){this._tap=new Pf({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(w,B,Q){if(!this._swipePoint)if(this._tapTime){let ee=B[0],se=w.timeStamp-this._tapTime<500,qe=this._tapPoint.dist(ee)<30;se&&qe?Q.length>0&&(this._swipePoint=ee,this._swipeTouch=Q[0].identifier):this.reset()}else this._tap.touchstart(w,B,Q)}touchmove(w,B,Q){if(this._tapTime){if(this._swipePoint){if(Q[0].identifier!==this._swipeTouch)return;let ee=B[0],se=ee.y-this._swipePoint.y;return this._swipePoint=ee,w.preventDefault(),this._active=!0,{zoomDelta:se/128}}}else this._tap.touchmove(w,B,Q)}touchend(w,B,Q){if(this._tapTime)this._swipePoint&&Q.length===0&&this.reset();else{let ee=this._tap.touchend(w,B,Q);ee&&(this._tapTime=w.timeStamp,this._tapPoint=ee)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Xi{constructor(w,B,Q){this._el=w,this._mousePan=B,this._touchPan=Q}enable(w){this._inertiaOptions=w||{},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 hn{constructor(w,B,Q){this._pitchWithRotate=w.pitchWithRotate,this._mouseRotate=B,this._mousePitch=Q}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 Ti{constructor(w,B,Q,ee){this._el=w,this._touchZoom=B,this._touchRotate=Q,this._tapDragZoom=ee,this._rotationDisabled=!1,this._enabled=!0}enable(w){this._touchZoom.enable(w),this._rotationDisabled||this._touchRotate.enable(w),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 qi{constructor(w,B){this._bypassKey=navigator.userAgent.indexOf(\"Mac\")!==-1?\"metaKey\":\"ctrlKey\",this._map=w,this._options=B,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let w=this._map.getCanvasContainer();w.classList.add(\"maplibregl-cooperative-gestures\"),this._container=c.create(\"div\",\"maplibregl-cooperative-gesture-screen\",w);let B=this._map._getUIString(\"CooperativeGesturesHandler.WindowsHelpText\");this._bypassKey===\"metaKey\"&&(B=this._map._getUIString(\"CooperativeGesturesHandler.MacHelpText\"));let Q=this._map._getUIString(\"CooperativeGesturesHandler.MobileHelpText\"),ee=document.createElement(\"div\");ee.className=\"maplibregl-desktop-message\",ee.textContent=B,this._container.appendChild(ee);let se=document.createElement(\"div\");se.className=\"maplibregl-mobile-message\",se.textContent=Q,this._container.appendChild(se),this._container.setAttribute(\"aria-hidden\",\"true\")}_destroyUI(){this._container&&(c.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(w){return w[this._bypassKey]}notifyGestureBlocked(w,B){this._enabled&&(this._map.fire(new a.k(\"cooperativegestureprevented\",{gestureType:w,originalEvent:B})),this._container.classList.add(\"maplibregl-show\"),setTimeout(()=>{this._container.classList.remove(\"maplibregl-show\")},100))}}let Ii=le=>le.zoom||le.drag||le.pitch||le.rotate;class mi extends a.k{}function Pn(le){return le.panDelta&&le.panDelta.mag()||le.zoomDelta||le.bearingDelta||le.pitchDelta}class Ma{constructor(w,B){this.handleWindowEvent=ee=>{this.handleEvent(ee,`${ee.type}Window`)},this.handleEvent=(ee,se)=>{if(ee.type===\"blur\")return void this.stop(!0);this._updatingCamera=!0;let qe=ee.type===\"renderFrame\"?void 0:ee,je={needsRenderFrame:!1},it={},yt={},Ot=ee.touches,Nt=Ot?this._getMapTouches(Ot):void 0,hr=Nt?c.touchPos(this._map.getCanvas(),Nt):c.mousePos(this._map.getCanvas(),ee);for(let{handlerName:be,handler:Pe,allowed:Oe}of this._handlers){if(!Pe.isEnabled())continue;let Je;this._blockedByActive(yt,Oe,be)?Pe.reset():Pe[se||ee.type]&&(Je=Pe[se||ee.type](ee,hr,Nt),this.mergeHandlerResult(je,it,Je,be,qe),Je&&Je.needsRenderFrame&&this._triggerRenderFrame()),(Je||Pe.isActive())&&(yt[be]=Pe)}let Sr={};for(let be in this._previousActiveHandlers)yt[be]||(Sr[be]=qe);this._previousActiveHandlers=yt,(Object.keys(Sr).length||Pn(je))&&(this._changes.push([je,it,Sr]),this._triggerRenderFrame()),(Object.keys(yt).length||Pn(je))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:he}=je;he&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],he(this._map))},this._map=w,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Uf(w),this._bearingSnap=B.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(B);let Q=this._el;this._listeners=[[Q,\"touchstart\",{passive:!0}],[Q,\"touchmove\",{passive:!1}],[Q,\"touchend\",void 0],[Q,\"touchcancel\",void 0],[Q,\"mousedown\",void 0],[Q,\"mousemove\",void 0],[Q,\"mouseup\",void 0],[document,\"mousemove\",{capture:!0}],[document,\"mouseup\",void 0],[Q,\"mouseover\",void 0],[Q,\"mouseout\",void 0],[Q,\"dblclick\",void 0],[Q,\"click\",void 0],[Q,\"keydown\",{capture:!1}],[Q,\"keyup\",void 0],[Q,\"wheel\",{passive:!1}],[Q,\"contextmenu\",void 0],[window,\"blur\",void 0]];for(let[ee,se,qe]of this._listeners)c.addEventListener(ee,se,ee===document?this.handleWindowEvent:this.handleEvent,qe)}destroy(){for(let[w,B,Q]of this._listeners)c.removeEventListener(w,B,w===document?this.handleWindowEvent:this.handleEvent,Q)}_addDefaultHandlers(w){let B=this._map,Q=B.getCanvasContainer();this._add(\"mapEvent\",new sh(B,w));let ee=B.boxZoom=new xu(B,w);this._add(\"boxZoom\",ee),w.interactive&&w.boxZoom&&ee.enable();let se=B.cooperativeGestures=new qi(B,w.cooperativeGestures);this._add(\"cooperativeGestures\",se),w.cooperativeGestures&&se.enable();let qe=new Ic(B),je=new xi(B);B.doubleClickZoom=new fi(je,qe),this._add(\"tapZoom\",qe),this._add(\"clickZoom\",je),w.interactive&&w.doubleClickZoom&&B.doubleClickZoom.enable();let it=new Fi;this._add(\"tapDragZoom\",it);let yt=B.touchPitch=new gf(B);this._add(\"touchPitch\",yt),w.interactive&&w.touchPitch&&B.touchPitch.enable(w.touchPitch);let Ot=Dl(w),Nt=Ih(w);B.dragRotate=new hn(w,Ot,Nt),this._add(\"mouseRotate\",Ot,[\"mousePitch\"]),this._add(\"mousePitch\",Nt,[\"mouseRotate\"]),w.interactive&&w.dragRotate&&B.dragRotate.enable();let hr=(({enable:Je,clickTolerance:He})=>{let et=new pc({checkCorrectEvent:Mt=>c.mouseButton(Mt)===0&&!Mt.ctrlKey});return new ju({clickTolerance:He,move:(Mt,Dt)=>({around:Dt,panDelta:Dt.sub(Mt)}),activateOnStart:!0,moveStateManager:et,enable:Je,assignEvents:Ph})})(w),Sr=new Wu(w,B);B.dragPan=new Xi(Q,hr,Sr),this._add(\"mousePan\",hr),this._add(\"touchPan\",Sr,[\"touchZoom\",\"touchRotate\"]),w.interactive&&w.dragPan&&B.dragPan.enable(w.dragPan);let he=new Yc,be=new iu;B.touchZoomRotate=new Ti(Q,be,he,it),this._add(\"touchRotate\",he,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",be,[\"touchPan\",\"touchRotate\"]),w.interactive&&w.touchZoomRotate&&B.touchZoomRotate.enable(w.touchZoomRotate);let Pe=B.scrollZoom=new Ur(B,()=>this._triggerRenderFrame());this._add(\"scrollZoom\",Pe,[\"mousePan\"]),w.interactive&&w.scrollZoom&&B.scrollZoom.enable(w.scrollZoom);let Oe=B.keyboard=new Bt(B);this._add(\"keyboard\",Oe),w.interactive&&w.keyboard&&B.keyboard.enable(),this._add(\"blockableMapEvent\",new Fs(B))}_add(w,B,Q){this._handlers.push({handlerName:w,handler:B,allowed:Q}),this._handlersById[w]=B}stop(w){if(!this._updatingCamera){for(let{handler:B}of this._handlers)B.reset();this._inertia.clear(),this._fireEvents({},{},w),this._changes=[]}}isActive(){for(let{handler:w}of this._handlers)if(w.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Ii(this._eventsInProgress)||this.isZooming()}_blockedByActive(w,B,Q){for(let ee in w)if(ee!==Q&&(!B||B.indexOf(ee)<0))return!0;return!1}_getMapTouches(w){let B=[];for(let Q of w)this._el.contains(Q.target)&&B.push(Q);return B}mergeHandlerResult(w,B,Q,ee,se){if(!Q)return;a.e(w,Q);let qe={handlerName:ee,originalEvent:Q.originalEvent||se};Q.zoomDelta!==void 0&&(B.zoom=qe),Q.panDelta!==void 0&&(B.drag=qe),Q.pitchDelta!==void 0&&(B.pitch=qe),Q.bearingDelta!==void 0&&(B.rotate=qe)}_applyChanges(){let w={},B={},Q={};for(let[ee,se,qe]of this._changes)ee.panDelta&&(w.panDelta=(w.panDelta||new a.P(0,0))._add(ee.panDelta)),ee.zoomDelta&&(w.zoomDelta=(w.zoomDelta||0)+ee.zoomDelta),ee.bearingDelta&&(w.bearingDelta=(w.bearingDelta||0)+ee.bearingDelta),ee.pitchDelta&&(w.pitchDelta=(w.pitchDelta||0)+ee.pitchDelta),ee.around!==void 0&&(w.around=ee.around),ee.pinchAround!==void 0&&(w.pinchAround=ee.pinchAround),ee.noInertia&&(w.noInertia=ee.noInertia),a.e(B,se),a.e(Q,qe);this._updateMapTransform(w,B,Q),this._changes=[]}_updateMapTransform(w,B,Q){let ee=this._map,se=ee._getTransformForUpdate(),qe=ee.terrain;if(!(Pn(w)||qe&&this._terrainMovement))return this._fireEvents(B,Q,!0);let{panDelta:je,zoomDelta:it,bearingDelta:yt,pitchDelta:Ot,around:Nt,pinchAround:hr}=w;hr!==void 0&&(Nt=hr),ee._stop(!0),Nt=Nt||ee.transform.centerPoint;let Sr=se.pointLocation(je?Nt.sub(je):Nt);yt&&(se.bearing+=yt),Ot&&(se.pitch+=Ot),it&&(se.zoom+=it),qe?this._terrainMovement||!B.drag&&!B.zoom?B.drag&&this._terrainMovement?se.center=se.pointLocation(se.centerPoint.sub(je)):se.setLocationAtPoint(Sr,Nt):(this._terrainMovement=!0,this._map._elevationFreeze=!0,se.setLocationAtPoint(Sr,Nt)):se.setLocationAtPoint(Sr,Nt),ee._applyUpdatedTransform(se),this._map._update(),w.noInertia||this._inertia.record(w),this._fireEvents(B,Q,!0)}_fireEvents(w,B,Q){let ee=Ii(this._eventsInProgress),se=Ii(w),qe={};for(let Nt in w){let{originalEvent:hr}=w[Nt];this._eventsInProgress[Nt]||(qe[`${Nt}start`]=hr),this._eventsInProgress[Nt]=w[Nt]}!ee&&se&&this._fireEvent(\"movestart\",se.originalEvent);for(let Nt in qe)this._fireEvent(Nt,qe[Nt]);se&&this._fireEvent(\"move\",se.originalEvent);for(let Nt in w){let{originalEvent:hr}=w[Nt];this._fireEvent(Nt,hr)}let je={},it;for(let Nt in this._eventsInProgress){let{handlerName:hr,originalEvent:Sr}=this._eventsInProgress[Nt];this._handlersById[hr].isActive()||(delete this._eventsInProgress[Nt],it=B[hr]||Sr,je[`${Nt}end`]=it)}for(let Nt in je)this._fireEvent(Nt,je[Nt]);let yt=Ii(this._eventsInProgress),Ot=(ee||se)&&!yt;if(Ot&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;let Nt=this._map._getTransformForUpdate();Nt.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(Nt)}if(Q&&Ot){this._updatingCamera=!0;let Nt=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),hr=Sr=>Sr!==0&&-this._bearingSnap<Sr&&Sr<this._bearingSnap;!Nt||!Nt.essential&&u.prefersReducedMotion?(this._map.fire(new a.k(\"moveend\",{originalEvent:it})),hr(this._map.getBearing())&&this._map.resetNorth()):(hr(Nt.bearing||this._map.getBearing())&&(Nt.bearing=0),Nt.freezeElevation=!0,this._map.easeTo(Nt,{originalEvent:it})),this._updatingCamera=!1}}_fireEvent(w,B){this._map.fire(new a.k(w,B?{originalEvent:B}:{}))}_requestFrame(){return this._map.triggerRepaint(),this._map._renderTaskQueue.add(w=>{delete this._frameId,this.handleEvent(new mi(\"renderFrame\",{timeStamp:w})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class Ta extends a.E{constructor(w,B){super(),this._renderFrameCallback=()=>{let Q=Math.min((u.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(Q)),Q<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=w,this._bearingSnap=B.bearingSnap,this.on(\"moveend\",()=>{delete this._requestedCameraState})}getCenter(){return new a.N(this.transform.center.lng,this.transform.center.lat)}setCenter(w,B){return this.jumpTo({center:w},B)}panBy(w,B,Q){return w=a.P.convert(w).mult(-1),this.panTo(this.transform.center,a.e({offset:w},B),Q)}panTo(w,B,Q){return this.easeTo(a.e({center:w},B),Q)}getZoom(){return this.transform.zoom}setZoom(w,B){return this.jumpTo({zoom:w},B),this}zoomTo(w,B,Q){return this.easeTo(a.e({zoom:w},B),Q)}zoomIn(w,B){return this.zoomTo(this.getZoom()+1,w,B),this}zoomOut(w,B){return this.zoomTo(this.getZoom()-1,w,B),this}getBearing(){return this.transform.bearing}setBearing(w,B){return this.jumpTo({bearing:w},B),this}getPadding(){return this.transform.padding}setPadding(w,B){return this.jumpTo({padding:w},B),this}rotateTo(w,B,Q){return this.easeTo(a.e({bearing:w},B),Q)}resetNorth(w,B){return this.rotateTo(0,a.e({duration:1e3},w),B),this}resetNorthPitch(w,B){return this.easeTo(a.e({bearing:0,pitch:0,duration:1e3},w),B),this}snapToNorth(w,B){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(w,B):this}getPitch(){return this.transform.pitch}setPitch(w,B){return this.jumpTo({pitch:w},B),this}cameraForBounds(w,B){w=ce.convert(w).adjustAntiMeridian();let Q=B&&B.bearing||0;return this._cameraForBoxAndBearing(w.getNorthWest(),w.getSouthEast(),Q,B)}_cameraForBoxAndBearing(w,B,Q,ee){let se={top:0,bottom:0,right:0,left:0};if(typeof(ee=a.e({padding:se,offset:[0,0],maxZoom:this.transform.maxZoom},ee)).padding==\"number\"){let zr=ee.padding;ee.padding={top:zr,bottom:zr,right:zr,left:zr}}ee.padding=a.e(se,ee.padding);let qe=this.transform,je=qe.padding,it=new ce(w,B),yt=qe.project(it.getNorthWest()),Ot=qe.project(it.getNorthEast()),Nt=qe.project(it.getSouthEast()),hr=qe.project(it.getSouthWest()),Sr=a.ba(-Q),he=yt.rotate(Sr),be=Ot.rotate(Sr),Pe=Nt.rotate(Sr),Oe=hr.rotate(Sr),Je=new a.P(Math.max(he.x,be.x,Oe.x,Pe.x),Math.max(he.y,be.y,Oe.y,Pe.y)),He=new a.P(Math.min(he.x,be.x,Oe.x,Pe.x),Math.min(he.y,be.y,Oe.y,Pe.y)),et=Je.sub(He),Mt=(qe.width-(je.left+je.right+ee.padding.left+ee.padding.right))/et.x,Dt=(qe.height-(je.top+je.bottom+ee.padding.top+ee.padding.bottom))/et.y;if(Dt<0||Mt<0)return void a.w(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\");let Ut=Math.min(qe.scaleZoom(qe.scale*Math.min(Mt,Dt)),ee.maxZoom),tr=a.P.convert(ee.offset),mr=new a.P((ee.padding.left-ee.padding.right)/2,(ee.padding.top-ee.padding.bottom)/2).rotate(a.ba(Q)),Rr=tr.add(mr).mult(qe.scale/qe.zoomScale(Ut));return{center:qe.unproject(yt.add(Nt).div(2).sub(Rr)),zoom:Ut,bearing:Q}}fitBounds(w,B,Q){return this._fitInternal(this.cameraForBounds(w,B),B,Q)}fitScreenCoordinates(w,B,Q,ee,se){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(a.P.convert(w)),this.transform.pointLocation(a.P.convert(B)),Q,ee),ee,se)}_fitInternal(w,B,Q){return w?(delete(B=a.e(w,B)).padding,B.linear?this.easeTo(B,Q):this.flyTo(B,Q)):this}jumpTo(w,B){this.stop();let Q=this._getTransformForUpdate(),ee=!1,se=!1,qe=!1;return\"zoom\"in w&&Q.zoom!==+w.zoom&&(ee=!0,Q.zoom=+w.zoom),w.center!==void 0&&(Q.center=a.N.convert(w.center)),\"bearing\"in w&&Q.bearing!==+w.bearing&&(se=!0,Q.bearing=+w.bearing),\"pitch\"in w&&Q.pitch!==+w.pitch&&(qe=!0,Q.pitch=+w.pitch),w.padding==null||Q.isPaddingEqual(w.padding)||(Q.padding=w.padding),this._applyUpdatedTransform(Q),this.fire(new a.k(\"movestart\",B)).fire(new a.k(\"move\",B)),ee&&this.fire(new a.k(\"zoomstart\",B)).fire(new a.k(\"zoom\",B)).fire(new a.k(\"zoomend\",B)),se&&this.fire(new a.k(\"rotatestart\",B)).fire(new a.k(\"rotate\",B)).fire(new a.k(\"rotateend\",B)),qe&&this.fire(new a.k(\"pitchstart\",B)).fire(new a.k(\"pitch\",B)).fire(new a.k(\"pitchend\",B)),this.fire(new a.k(\"moveend\",B))}calculateCameraOptionsFromTo(w,B,Q,ee=0){let se=a.Z.fromLngLat(w,B),qe=a.Z.fromLngLat(Q,ee),je=qe.x-se.x,it=qe.y-se.y,yt=qe.z-se.z,Ot=Math.hypot(je,it,yt);if(Ot===0)throw new Error(\"Can't calculate camera options with same From and To\");let Nt=Math.hypot(je,it),hr=this.transform.scaleZoom(this.transform.cameraToCenterDistance/Ot/this.transform.tileSize),Sr=180*Math.atan2(je,-it)/Math.PI,he=180*Math.acos(Nt/Ot)/Math.PI;return he=yt<0?90-he:90+he,{center:qe.toLngLat(),zoom:hr,pitch:he,bearing:Sr}}easeTo(w,B){var Q;this._stop(!1,w.easeId),((w=a.e({offset:[0,0],duration:500,easing:a.b9},w)).animate===!1||!w.essential&&u.prefersReducedMotion)&&(w.duration=0);let ee=this._getTransformForUpdate(),se=ee.zoom,qe=ee.bearing,je=ee.pitch,it=ee.padding,yt=\"bearing\"in w?this._normalizeBearing(w.bearing,qe):qe,Ot=\"pitch\"in w?+w.pitch:je,Nt=\"padding\"in w?w.padding:ee.padding,hr=a.P.convert(w.offset),Sr=ee.centerPoint.add(hr),he=ee.pointLocation(Sr),{center:be,zoom:Pe}=ee.getConstrained(a.N.convert(w.center||he),(Q=w.zoom)!==null&&Q!==void 0?Q:se);this._normalizeCenter(be,ee);let Oe=ee.project(he),Je=ee.project(be).sub(Oe),He=ee.zoomScale(Pe-se),et,Mt;w.around&&(et=a.N.convert(w.around),Mt=ee.locationPoint(et));let Dt={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=this._zooming||Pe!==se,this._rotating=this._rotating||qe!==yt,this._pitching=this._pitching||Ot!==je,this._padding=!ee.isPaddingEqual(Nt),this._easeId=w.easeId,this._prepareEase(B,w.noMoveStart,Dt),this.terrain&&this._prepareElevation(be),this._ease(Ut=>{if(this._zooming&&(ee.zoom=a.y.number(se,Pe,Ut)),this._rotating&&(ee.bearing=a.y.number(qe,yt,Ut)),this._pitching&&(ee.pitch=a.y.number(je,Ot,Ut)),this._padding&&(ee.interpolatePadding(it,Nt,Ut),Sr=ee.centerPoint.add(hr)),this.terrain&&!w.freezeElevation&&this._updateElevation(Ut),et)ee.setLocationAtPoint(et,Mt);else{let tr=ee.zoomScale(ee.zoom-se),mr=Pe>se?Math.min(2,He):Math.max(.5,He),Rr=Math.pow(mr,1-Ut),zr=ee.unproject(Oe.add(Je.mult(Ut*Rr)).mult(tr));ee.setLocationAtPoint(ee.renderWorldCopies?zr.wrap():zr,Sr)}this._applyUpdatedTransform(ee),this._fireMoveEvents(B)},Ut=>{this.terrain&&w.freezeElevation&&this._finalizeElevation(),this._afterEase(B,Ut)},w),this}_prepareEase(w,B,Q={}){this._moving=!0,B||Q.moving||this.fire(new a.k(\"movestart\",w)),this._zooming&&!Q.zooming&&this.fire(new a.k(\"zoomstart\",w)),this._rotating&&!Q.rotating&&this.fire(new a.k(\"rotatestart\",w)),this._pitching&&!Q.pitching&&this.fire(new a.k(\"pitchstart\",w))}_prepareElevation(w){this._elevationCenter=w,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(w,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(w){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let B=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(w<1&&B!==this._elevationTarget){let Q=this._elevationTarget-this._elevationStart;this._elevationStart+=w*(Q-(B-(Q*w+this._elevationStart))/(1-w)),this._elevationTarget=B}this.transform.elevation=a.y.number(this._elevationStart,this._elevationTarget,w)}_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(w){let B=w.getCameraPosition(),Q=this.terrain.getElevationForLngLatZoom(B.lngLat,w.zoom);if(B.altitude<Q){let ee=this.calculateCameraOptionsFromTo(B.lngLat,Q,w.center,w.elevation);return{pitch:ee.pitch,zoom:ee.zoom}}return{}}_applyUpdatedTransform(w){let B=[];if(this.terrain&&B.push(ee=>this._elevateCameraIfInsideTerrain(ee)),this.transformCameraUpdate&&B.push(ee=>this.transformCameraUpdate(ee)),!B.length)return;let Q=w.clone();for(let ee of B){let se=Q.clone(),{center:qe,zoom:je,pitch:it,bearing:yt,elevation:Ot}=ee(se);qe&&(se.center=qe),je!==void 0&&(se.zoom=je),it!==void 0&&(se.pitch=it),yt!==void 0&&(se.bearing=yt),Ot!==void 0&&(se.elevation=Ot),Q.apply(se)}this.transform.apply(Q)}_fireMoveEvents(w){this.fire(new a.k(\"move\",w)),this._zooming&&this.fire(new a.k(\"zoom\",w)),this._rotating&&this.fire(new a.k(\"rotate\",w)),this._pitching&&this.fire(new a.k(\"pitch\",w))}_afterEase(w,B){if(this._easeId&&B&&this._easeId===B)return;delete this._easeId;let Q=this._zooming,ee=this._rotating,se=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,Q&&this.fire(new a.k(\"zoomend\",w)),ee&&this.fire(new a.k(\"rotateend\",w)),se&&this.fire(new a.k(\"pitchend\",w)),this.fire(new a.k(\"moveend\",w))}flyTo(w,B){var Q;if(!w.essential&&u.prefersReducedMotion){let Qi=a.M(w,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(Qi,B)}this.stop(),w=a.e({offset:[0,0],speed:1.2,curve:1.42,easing:a.b9},w);let ee=this._getTransformForUpdate(),se=ee.zoom,qe=ee.bearing,je=ee.pitch,it=ee.padding,yt=\"bearing\"in w?this._normalizeBearing(w.bearing,qe):qe,Ot=\"pitch\"in w?+w.pitch:je,Nt=\"padding\"in w?w.padding:ee.padding,hr=a.P.convert(w.offset),Sr=ee.centerPoint.add(hr),he=ee.pointLocation(Sr),{center:be,zoom:Pe}=ee.getConstrained(a.N.convert(w.center||he),(Q=w.zoom)!==null&&Q!==void 0?Q:se);this._normalizeCenter(be,ee);let Oe=ee.zoomScale(Pe-se),Je=ee.project(he),He=ee.project(be).sub(Je),et=w.curve,Mt=Math.max(ee.width,ee.height),Dt=Mt/Oe,Ut=He.mag();if(\"minZoom\"in w){let Qi=a.ac(Math.min(w.minZoom,se,Pe),ee.minZoom,ee.maxZoom),Mn=Mt/ee.zoomScale(Qi-se);et=Math.sqrt(Mn/Ut*2)}let tr=et*et;function mr(Qi){let Mn=(Dt*Dt-Mt*Mt+(Qi?-1:1)*tr*tr*Ut*Ut)/(2*(Qi?Dt:Mt)*tr*Ut);return Math.log(Math.sqrt(Mn*Mn+1)-Mn)}function Rr(Qi){return(Math.exp(Qi)-Math.exp(-Qi))/2}function zr(Qi){return(Math.exp(Qi)+Math.exp(-Qi))/2}let Xr=mr(!1),di=function(Qi){return zr(Xr)/zr(Xr+et*Qi)},Li=function(Qi){return Mt*((zr(Xr)*(Rr(Mn=Xr+et*Qi)/zr(Mn))-Rr(Xr))/tr)/Ut;var Mn},Ci=(mr(!0)-Xr)/et;if(Math.abs(Ut)<1e-6||!isFinite(Ci)){if(Math.abs(Mt-Dt)<1e-6)return this.easeTo(w,B);let Qi=Dt<Mt?-1:1;Ci=Math.abs(Math.log(Dt/Mt))/et,Li=()=>0,di=Mn=>Math.exp(Qi*et*Mn)}return w.duration=\"duration\"in w?+w.duration:1e3*Ci/(\"screenSpeed\"in w?+w.screenSpeed/et:+w.speed),w.maxDuration&&w.duration>w.maxDuration&&(w.duration=0),this._zooming=!0,this._rotating=qe!==yt,this._pitching=Ot!==je,this._padding=!ee.isPaddingEqual(Nt),this._prepareEase(B,!1),this.terrain&&this._prepareElevation(be),this._ease(Qi=>{let Mn=Qi*Ci,pa=1/di(Mn);ee.zoom=Qi===1?Pe:se+ee.scaleZoom(pa),this._rotating&&(ee.bearing=a.y.number(qe,yt,Qi)),this._pitching&&(ee.pitch=a.y.number(je,Ot,Qi)),this._padding&&(ee.interpolatePadding(it,Nt,Qi),Sr=ee.centerPoint.add(hr)),this.terrain&&!w.freezeElevation&&this._updateElevation(Qi);let ea=Qi===1?be:ee.unproject(Je.add(He.mult(Li(Mn))).mult(pa));ee.setLocationAtPoint(ee.renderWorldCopies?ea.wrap():ea,Sr),this._applyUpdatedTransform(ee),this._fireMoveEvents(B)},()=>{this.terrain&&w.freezeElevation&&this._finalizeElevation(),this._afterEase(B)},w),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(w,B){var Q;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let ee=this._onEaseEnd;delete this._onEaseEnd,ee.call(this,B)}return w||(Q=this.handlers)===null||Q===void 0||Q.stop(!1),this}_ease(w,B,Q){Q.animate===!1||Q.duration===0?(w(1),B()):(this._easeStart=u.now(),this._easeOptions=Q,this._onEaseFrame=w,this._onEaseEnd=B,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(w,B){w=a.b3(w,-180,180);let Q=Math.abs(w-B);return Math.abs(w-360-B)<Q&&(w-=360),Math.abs(w+360-B)<Q&&(w+=360),w}_normalizeCenter(w,B){if(!B.renderWorldCopies||B.lngRange)return;let Q=w.lng-B.center.lng;w.lng+=Q>180?-360:Q<-180?360:0}queryTerrainElevation(w){return this.terrain?this.terrain.getElevationForLngLatZoom(a.N.convert(w),this.transform.tileZoom)-this.transform.elevation:null}}let Ea={compact:!0,customAttribution:'<a href=\"https://maplibre.org/\" target=\"_blank\">MapLibre</a>'};class qa{constructor(w=Ea){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=B=>{!B||B.sourceDataType!==\"metadata\"&&B.sourceDataType!==\"visibility\"&&B.dataType!==\"style\"&&B.type!==\"terrain\"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?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=w}getDefaultPosition(){return\"bottom-right\"}onAdd(w){return this._map=w,this._compact=this.options.compact,this._container=c.create(\"details\",\"maplibregl-ctrl maplibregl-ctrl-attrib\"),this._compactButton=c.create(\"summary\",\"maplibregl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=c.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(){c.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(w,B){let Q=this._map._getUIString(`AttributionControl.${B}`);w.title=Q,w.setAttribute(\"aria-label\",Q)}_updateAttributions(){if(!this._map.style)return;let w=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?w=w.concat(this.options.customAttribution.map(ee=>typeof ee!=\"string\"?\"\":ee)):typeof this.options.customAttribution==\"string\"&&w.push(this.options.customAttribution)),this._map.style.stylesheet){let ee=this._map.style.stylesheet;this.styleOwner=ee.owner,this.styleId=ee.id}let B=this._map.style.sourceCaches;for(let ee in B){let se=B[ee];if(se.used||se.usedForTerrain){let qe=se.getSource();qe.attribution&&w.indexOf(qe.attribution)<0&&w.push(qe.attribution)}}w=w.filter(ee=>String(ee).trim()),w.sort((ee,se)=>ee.length-se.length),w=w.filter((ee,se)=>{for(let qe=se+1;qe<w.length;qe++)if(w[qe].indexOf(ee)>=0)return!1;return!0});let Q=w.join(\" | \");Q!==this._attribHTML&&(this._attribHTML=Q,w.length?(this._innerContainer.innerHTML=Q,this._container.classList.remove(\"maplibregl-attrib-empty\")):this._container.classList.add(\"maplibregl-attrib-empty\"),this._updateCompact(),this._editLink=null)}}class Cn{constructor(w={}){this._updateCompact=()=>{let B=this._container.children;if(B.length){let Q=B[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&Q.classList.add(\"maplibregl-compact\"):Q.classList.remove(\"maplibregl-compact\")}},this.options=w}getDefaultPosition(){return\"bottom-left\"}onAdd(w){this._map=w,this._compact=this.options&&this.options.compact,this._container=c.create(\"div\",\"maplibregl-ctrl\");let B=c.create(\"a\",\"maplibregl-ctrl-logo\");return B.target=\"_blank\",B.rel=\"noopener nofollow\",B.href=\"https://maplibre.org/\",B.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),B.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(B),this._container.style.display=\"block\",this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container}onRemove(){c.remove(this._container),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._compact=void 0}}class sn{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(w){let B=++this._id;return this._queue.push({callback:w,id:B,cancelled:!1}),B}remove(w){let B=this._currentlyRunning,Q=B?this._queue.concat(B):this._queue;for(let ee of Q)if(ee.id===w)return void(ee.cancelled=!0)}run(w=0){if(this._currentlyRunning)throw new Error(\"Attempting to run(), but is already running.\");let B=this._currentlyRunning=this._queue;this._queue=[];for(let Q of B)if(!Q.cancelled&&(Q.callback(w),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var Ua=a.Y([{name:\"a_pos3d\",type:\"Int16\",components:3}]);class mo extends a.E{constructor(w){super(),this.sourceCache=w,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,w.usedForTerrain=!0,w.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(w,B){this.sourceCache.update(w,B),this._renderableTilesKeys=[];let Q={};for(let ee of w.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:B}))Q[ee.key]=!0,this._renderableTilesKeys.push(ee.key),this._tiles[ee.key]||(ee.posMatrix=new Float64Array(16),a.aP(ee.posMatrix,0,a.X,0,a.X,0,1),this._tiles[ee.key]=new Lt(ee,this.tileSize));for(let ee in this._tiles)Q[ee]||delete this._tiles[ee]}freeRtt(w){for(let B in this._tiles){let Q=this._tiles[B];(!w||Q.tileID.equals(w)||Q.tileID.isChildOf(w)||w.isChildOf(Q.tileID))&&(Q.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(w=>this.getTileByID(w))}getTileByID(w){return this._tiles[w]}getTerrainCoords(w){let B={};for(let Q of this._renderableTilesKeys){let ee=this._tiles[Q].tileID;if(ee.canonical.equals(w.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16),a.aP(se.posMatrix,0,a.X,0,a.X,0,1),B[Q]=se}else if(ee.canonical.isChildOf(w.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16);let qe=ee.canonical.z-w.canonical.z,je=ee.canonical.x-(ee.canonical.x>>qe<<qe),it=ee.canonical.y-(ee.canonical.y>>qe<<qe),yt=a.X>>qe;a.aP(se.posMatrix,0,yt,0,yt,0,1),a.J(se.posMatrix,se.posMatrix,[-je*yt,-it*yt,0]),B[Q]=se}else if(w.canonical.isChildOf(ee.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16);let qe=w.canonical.z-ee.canonical.z,je=w.canonical.x-(w.canonical.x>>qe<<qe),it=w.canonical.y-(w.canonical.y>>qe<<qe),yt=a.X>>qe;a.aP(se.posMatrix,0,a.X,0,a.X,0,1),a.J(se.posMatrix,se.posMatrix,[je*yt,it*yt,0]),a.K(se.posMatrix,se.posMatrix,[1/2**qe,1/2**qe,0]),B[Q]=se}}return B}getSourceTile(w,B){let Q=this.sourceCache._source,ee=w.overscaledZ-this.deltaZoom;if(ee>Q.maxzoom&&(ee=Q.maxzoom),ee<Q.minzoom)return null;this._sourceTileCache[w.key]||(this._sourceTileCache[w.key]=w.scaledTo(ee).key);let se=this.sourceCache.getTileByID(this._sourceTileCache[w.key]);if((!se||!se.dem)&&B)for(;ee>=Q.minzoom&&(!se||!se.dem);)se=this.sourceCache.getTileByID(w.scaledTo(ee--).key);return se}tilesAfterTime(w=Date.now()){return Object.values(this._tiles).filter(B=>B.timeAdded>=w)}}class Xo{constructor(w,B,Q){this.painter=w,this.sourceCache=new mo(B),this.options=Q,this.exaggeration=typeof Q.exaggeration==\"number\"?Q.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(w,B,Q,ee=a.X){var se;if(!(B>=0&&B<ee&&Q>=0&&Q<ee))return 0;let qe=this.getTerrainData(w),je=(se=qe.tile)===null||se===void 0?void 0:se.dem;if(!je)return 0;let it=function(he,be,Pe){var Oe=be[0],Je=be[1];return he[0]=Pe[0]*Oe+Pe[4]*Je+Pe[12],he[1]=Pe[1]*Oe+Pe[5]*Je+Pe[13],he}([],[B/ee*a.X,Q/ee*a.X],qe.u_terrain_matrix),yt=[it[0]*je.dim,it[1]*je.dim],Ot=Math.floor(yt[0]),Nt=Math.floor(yt[1]),hr=yt[0]-Ot,Sr=yt[1]-Nt;return je.get(Ot,Nt)*(1-hr)*(1-Sr)+je.get(Ot+1,Nt)*hr*(1-Sr)+je.get(Ot,Nt+1)*(1-hr)*Sr+je.get(Ot+1,Nt+1)*hr*Sr}getElevationForLngLatZoom(w,B){if(!a.bb(B,w.wrap()))return 0;let{tileID:Q,mercatorX:ee,mercatorY:se}=this._getOverscaledTileIDFromLngLatZoom(w,B);return this.getElevation(Q,ee%a.X,se%a.X,a.X)}getElevation(w,B,Q,ee=a.X){return this.getDEMElevation(w,B,Q,ee)*this.exaggeration}getTerrainData(w){if(!this._emptyDemTexture){let ee=this.painter.context,se=new a.R({width:1,height:1},new Uint8Array(4));this._emptyDepthTexture=new g(ee,se,ee.gl.RGBA,{premultiply:!1}),this._emptyDemUnpack=[0,0,0,0],this._emptyDemTexture=new g(ee,new a.R({width:1,height:1}),ee.gl.RGBA,{premultiply:!1}),this._emptyDemTexture.bind(ee.gl.NEAREST,ee.gl.CLAMP_TO_EDGE),this._emptyDemMatrix=a.an([])}let B=this.sourceCache.getSourceTile(w,!0);if(B&&B.dem&&(!B.demTexture||B.needsTerrainPrepare)){let ee=this.painter.context;B.demTexture=this.painter.getTileTexture(B.dem.stride),B.demTexture?B.demTexture.update(B.dem.getPixels(),{premultiply:!1}):B.demTexture=new g(ee,B.dem.getPixels(),ee.gl.RGBA,{premultiply:!1}),B.demTexture.bind(ee.gl.NEAREST,ee.gl.CLAMP_TO_EDGE),B.needsTerrainPrepare=!1}let Q=B&&B+B.tileID.key+w.key;if(Q&&!this._demMatrixCache[Q]){let ee=this.sourceCache.sourceCache._source.maxzoom,se=w.canonical.z-B.tileID.canonical.z;w.overscaledZ>w.canonical.z&&(w.canonical.z>=ee?se=w.canonical.z-ee:a.w(\"cannot calculate elevation if elevation maxzoom > source.maxzoom\"));let qe=w.canonical.x-(w.canonical.x>>se<<se),je=w.canonical.y-(w.canonical.y>>se<<se),it=a.bc(new Float64Array(16),[1/(a.X<<se),1/(a.X<<se),0]);a.J(it,it,[qe*a.X,je*a.X,0]),this._demMatrixCache[w.key]={matrix:it,coord:w}}return{u_depth:2,u_terrain:3,u_terrain_dim:B&&B.dem&&B.dem.dim||1,u_terrain_matrix:Q?this._demMatrixCache[w.key].matrix:this._emptyDemMatrix,u_terrain_unpack:B&&B.dem&&B.dem.getUnpackVector()||this._emptyDemUnpack,u_terrain_exaggeration:this.exaggeration,texture:(B&&B.demTexture||this._emptyDemTexture).texture,depthTexture:(this._fboDepthTexture||this._emptyDepthTexture).texture,tile:B}}getFramebuffer(w){let B=this.painter,Q=B.width/devicePixelRatio,ee=B.height/devicePixelRatio;return!this._fbo||this._fbo.width===Q&&this._fbo.height===ee||(this._fbo.destroy(),this._fboCoordsTexture.destroy(),this._fboDepthTexture.destroy(),delete this._fbo,delete this._fboDepthTexture,delete this._fboCoordsTexture),this._fboCoordsTexture||(this._fboCoordsTexture=new g(B.context,{width:Q,height:ee,data:null},B.context.gl.RGBA,{premultiply:!1}),this._fboCoordsTexture.bind(B.context.gl.NEAREST,B.context.gl.CLAMP_TO_EDGE)),this._fboDepthTexture||(this._fboDepthTexture=new g(B.context,{width:Q,height:ee,data:null},B.context.gl.RGBA,{premultiply:!1}),this._fboDepthTexture.bind(B.context.gl.NEAREST,B.context.gl.CLAMP_TO_EDGE)),this._fbo||(this._fbo=B.context.createFramebuffer(Q,ee,!0,!1),this._fbo.depthAttachment.set(B.context.createRenderbuffer(B.context.gl.DEPTH_COMPONENT16,Q,ee))),this._fbo.colorAttachment.set(w===\"coords\"?this._fboCoordsTexture.texture:this._fboDepthTexture.texture),this._fbo}getCoordsTexture(){let w=this.painter.context;if(this._coordsTexture)return this._coordsTexture;let B=new Uint8Array(this._coordsTextureSize*this._coordsTextureSize*4);for(let se=0,qe=0;se<this._coordsTextureSize;se++)for(let je=0;je<this._coordsTextureSize;je++,qe+=4)B[qe+0]=255&je,B[qe+1]=255&se,B[qe+2]=je>>8<<4|se>>8,B[qe+3]=0;let Q=new a.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(B.buffer)),ee=new g(w,Q,w.gl.RGBA,{premultiply:!1});return ee.bind(w.gl.NEAREST,w.gl.CLAMP_TO_EDGE),this._coordsTexture=ee,ee}pointCoordinate(w){this.painter.maybeDrawDepthAndCoords(!0);let B=new Uint8Array(4),Q=this.painter.context,ee=Q.gl,se=Math.round(w.x*this.painter.pixelRatio/devicePixelRatio),qe=Math.round(w.y*this.painter.pixelRatio/devicePixelRatio),je=Math.round(this.painter.height/devicePixelRatio);Q.bindFramebuffer.set(this.getFramebuffer(\"coords\").framebuffer),ee.readPixels(se,je-qe-1,1,1,ee.RGBA,ee.UNSIGNED_BYTE,B),Q.bindFramebuffer.set(null);let it=B[0]+(B[2]>>4<<8),yt=B[1]+((15&B[2])<<8),Ot=this.coordsIndex[255-B[3]],Nt=Ot&&this.sourceCache.getTileByID(Ot);if(!Nt)return null;let hr=this._coordsTextureSize,Sr=(1<<Nt.tileID.canonical.z)*hr;return new a.Z((Nt.tileID.canonical.x*hr+it)/Sr+Nt.tileID.wrap,(Nt.tileID.canonical.y*hr+yt)/Sr,this.getElevation(Nt.tileID,it,yt,hr))}depthAtPoint(w){let B=new Uint8Array(4),Q=this.painter.context,ee=Q.gl;return Q.bindFramebuffer.set(this.getFramebuffer(\"depth\").framebuffer),ee.readPixels(w.x,this.painter.height/devicePixelRatio-w.y-1,1,1,ee.RGBA,ee.UNSIGNED_BYTE,B),Q.bindFramebuffer.set(null),(B[0]/16777216+B[1]/65536+B[2]/256+B[3])/256}getTerrainMesh(){if(this._mesh)return this._mesh;let w=this.painter.context,B=new a.bd,Q=new a.aY,ee=this.meshSize,se=a.X/ee,qe=ee*ee;for(let Nt=0;Nt<=ee;Nt++)for(let hr=0;hr<=ee;hr++)B.emplaceBack(hr*se,Nt*se,0);for(let Nt=0;Nt<qe;Nt+=ee+1)for(let hr=0;hr<ee;hr++)Q.emplaceBack(hr+Nt,ee+hr+Nt+1,ee+hr+Nt+2),Q.emplaceBack(hr+Nt,ee+hr+Nt+2,hr+Nt+1);let je=B.length,it=je+2*(ee+1);for(let Nt of[0,1])for(let hr=0;hr<=ee;hr++)for(let Sr of[0,1])B.emplaceBack(hr*se,Nt*a.X,Sr);for(let Nt=0;Nt<2*ee;Nt+=2)Q.emplaceBack(it+Nt,it+Nt+1,it+Nt+3),Q.emplaceBack(it+Nt,it+Nt+3,it+Nt+2),Q.emplaceBack(je+Nt,je+Nt+3,je+Nt+1),Q.emplaceBack(je+Nt,je+Nt+2,je+Nt+3);let yt=B.length,Ot=yt+2*(ee+1);for(let Nt of[0,1])for(let hr=0;hr<=ee;hr++)for(let Sr of[0,1])B.emplaceBack(Nt*a.X,hr*se,Sr);for(let Nt=0;Nt<2*ee;Nt+=2)Q.emplaceBack(yt+Nt,yt+Nt+1,yt+Nt+3),Q.emplaceBack(yt+Nt,yt+Nt+3,yt+Nt+2),Q.emplaceBack(Ot+Nt,Ot+Nt+3,Ot+Nt+1),Q.emplaceBack(Ot+Nt,Ot+Nt+2,Ot+Nt+3);return this._mesh=new Pu(w.createVertexBuffer(B,Ua.members),w.createIndexBuffer(Q),a.a0.simpleSegment(0,0,B.length,Q.length)),this._mesh}getMeshFrameDelta(w){return 2*Math.PI*a.be/Math.pow(2,w)/5}getMinTileElevationForLngLatZoom(w,B){var Q;let{tileID:ee}=this._getOverscaledTileIDFromLngLatZoom(w,B);return(Q=this.getMinMaxElevation(ee).minElevation)!==null&&Q!==void 0?Q:0}getMinMaxElevation(w){let B=this.getTerrainData(w).tile,Q={minElevation:null,maxElevation:null};return B&&B.dem&&(Q.minElevation=B.dem.min*this.exaggeration,Q.maxElevation=B.dem.max*this.exaggeration),Q}_getOverscaledTileIDFromLngLatZoom(w,B){let Q=a.Z.fromLngLat(w.wrap()),ee=(1<<B)*a.X,se=Q.x*ee,qe=Q.y*ee,je=Math.floor(se/a.X),it=Math.floor(qe/a.X);return{tileID:new a.S(B,0,B,je,it),mercatorX:se,mercatorY:qe}}}class Ts{constructor(w,B,Q){this._context=w,this._size=B,this._tileSize=Q,this._objects=[],this._recentlyUsed=[],this._stamp=0}destruct(){for(let w of this._objects)w.texture.destroy(),w.fbo.destroy()}_createObject(w){let B=this._context.createFramebuffer(this._tileSize,this._tileSize,!0,!0),Q=new g(this._context,{width:this._tileSize,height:this._tileSize,data:null},this._context.gl.RGBA);return Q.bind(this._context.gl.LINEAR,this._context.gl.CLAMP_TO_EDGE),B.depthAttachment.set(this._context.createRenderbuffer(this._context.gl.DEPTH_STENCIL,this._tileSize,this._tileSize)),B.colorAttachment.set(Q.texture),{id:w,fbo:B,texture:Q,stamp:-1,inUse:!1}}getObjectForId(w){return this._objects[w]}useObject(w){w.inUse=!0,this._recentlyUsed=this._recentlyUsed.filter(B=>w.id!==B),this._recentlyUsed.push(w.id)}stampObject(w){w.stamp=++this._stamp}getOrCreateFreeObject(){for(let B of this._recentlyUsed)if(!this._objects[B].inUse)return this._objects[B];if(this._objects.length>=this._size)throw new Error(\"No free RenderPool available, call freeAllObjects() required!\");let w=this._createObject(this._objects.length);return this._objects.push(w),w}freeObject(w){w.inUse=!1}freeAllObjects(){for(let w of this._objects)this.freeObject(w)}isFull(){return!(this._objects.length<this._size)&&this._objects.some(w=>!w.inUse)===!1}}let Qo={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class ys{constructor(w,B){this.painter=w,this.terrain=B,this.pool=new Ts(w.context,30,B.sourceCache.tileSize*B.qualityFactor)}destruct(){this.pool.destruct()}getTexture(w){return this.pool.getObjectForId(w.rtt[this._stacks.length-1].id).texture}prepareForRender(w,B){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=w._order.filter(Q=>!w._layers[Q].isHidden(B)),this._coordsDescendingInv={};for(let Q in w.sourceCaches){this._coordsDescendingInv[Q]={};let ee=w.sourceCaches[Q].getVisibleCoordinates();for(let se of ee){let qe=this.terrain.sourceCache.getTerrainCoords(se);for(let je in qe)this._coordsDescendingInv[Q][je]||(this._coordsDescendingInv[Q][je]=[]),this._coordsDescendingInv[Q][je].push(qe[je])}}this._coordsDescendingInvStr={};for(let Q of w._order){let ee=w._layers[Q],se=ee.source;if(Qo[ee.type]&&!this._coordsDescendingInvStr[se]){this._coordsDescendingInvStr[se]={};for(let qe in this._coordsDescendingInv[se])this._coordsDescendingInvStr[se][qe]=this._coordsDescendingInv[se][qe].map(je=>je.key).sort().join()}}for(let Q of this._renderableTiles)for(let ee in this._coordsDescendingInvStr){let se=this._coordsDescendingInvStr[ee][Q.tileID.key];se&&se!==Q.rttCoords[ee]&&(Q.rtt=[])}}renderLayer(w){if(w.isHidden(this.painter.transform.zoom))return!1;let B=w.type,Q=this.painter,ee=this._renderableLayerIds[this._renderableLayerIds.length-1]===w.id;if(Qo[B]&&(this._prevType&&Qo[this._prevType]||this._stacks.push([]),this._prevType=B,this._stacks[this._stacks.length-1].push(w.id),!ee))return!0;if(Qo[this._prevType]||Qo[B]&&ee){this._prevType=B;let se=this._stacks.length-1,qe=this._stacks[se]||[];for(let je of this._renderableTiles){if(this.pool.isFull()&&(tu(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(je),je.rtt[se]){let yt=this.pool.getObjectForId(je.rtt[se].id);if(yt.stamp===je.rtt[se].stamp){this.pool.useObject(yt);continue}}let it=this.pool.getOrCreateFreeObject();this.pool.useObject(it),this.pool.stampObject(it),je.rtt[se]={id:it.id,stamp:it.stamp},Q.context.bindFramebuffer.set(it.fbo.framebuffer),Q.context.clear({color:a.aM.transparent,stencil:0}),Q.currentStencilSource=void 0;for(let yt=0;yt<qe.length;yt++){let Ot=Q.style._layers[qe[yt]],Nt=Ot.source?this._coordsDescendingInv[Ot.source][je.tileID.key]:[je.tileID];Q.context.viewport.set([0,0,it.fbo.width,it.fbo.height]),Q._renderTileClippingMasks(Ot,Nt),Q.renderLayer(Q,Q.style.sourceCaches[Ot.source],Ot,Nt),Ot.source&&(je.rttCoords[Ot.source]=this._coordsDescendingInvStr[Ot.source][je.tileID.key])}}return tu(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects(),Qo[B]}return!1}}let Bo={\"AttributionControl.ToggleAttribution\":\"Toggle attribution\",\"AttributionControl.MapFeedback\":\"Map feedback\",\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"MapLibre logo\",\"Map.Title\":\"Map\",\"Marker.Title\":\"Map marker\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"Popup.Close\":\"Close popup\",\"ScaleControl.Feet\":\"ft\",\"ScaleControl.Meters\":\"m\",\"ScaleControl.Kilometers\":\"km\",\"ScaleControl.Miles\":\"mi\",\"ScaleControl.NauticalMiles\":\"nm\",\"TerrainControl.Enable\":\"Enable terrain\",\"TerrainControl.Disable\":\"Disable terrain\",\"CooperativeGesturesHandler.WindowsHelpText\":\"Use Ctrl + scroll to zoom the map\",\"CooperativeGesturesHandler.MacHelpText\":\"Use \\u2318 + scroll to zoom the map\",\"CooperativeGesturesHandler.MobileHelpText\":\"Use two fingers to move the map\"},yl=o,Gs={hash:!1,interactive:!0,bearingSnap:7,attributionControl:Ea,maplibreLogo:!1,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,refreshExpiredTiles:!0,scrollZoom:!0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:!1,trackResize:!0,center:[0,0],zoom:0,bearing:0,pitch:0,renderWorldCopies:!0,maxTileCacheSize:null,maxTileCacheZoomLevels:a.a.MAX_TILE_CACHE_ZOOM_LEVELS,transformRequest:null,transformCameraUpdate:null,fadeDuration:300,crossSourceCollisions:!0,clickTolerance:3,localIdeographFontFamily:\"sans-serif\",pitchWithRotate:!0,validateStyle:!0,maxCanvasSize:[4096,4096],cancelPendingTileRequestsWhileZooming:!0},Rs=le=>{le.touchstart=le.dragStart,le.touchmoveWindow=le.dragMove,le.touchend=le.dragEnd},ia={showCompass:!0,showZoom:!0,visualizePitch:!1};class Ka{constructor(w,B,Q=!1){this.mousedown=qe=>{this.startMouse(a.e({},qe,{ctrlKey:!0,preventDefault:()=>qe.preventDefault()}),c.mousePos(this.element,qe)),c.addEventListener(window,\"mousemove\",this.mousemove),c.addEventListener(window,\"mouseup\",this.mouseup)},this.mousemove=qe=>{this.moveMouse(qe,c.mousePos(this.element,qe))},this.mouseup=qe=>{this.mouseRotate.dragEnd(qe),this.mousePitch&&this.mousePitch.dragEnd(qe),this.offTemp()},this.touchstart=qe=>{qe.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=c.touchPos(this.element,qe.targetTouches)[0],this.startTouch(qe,this._startPos),c.addEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.addEventListener(window,\"touchend\",this.touchend))},this.touchmove=qe=>{qe.targetTouches.length!==1?this.reset():(this._lastPos=c.touchPos(this.element,qe.targetTouches)[0],this.moveTouch(qe,this._lastPos))},this.touchend=qe=>{qe.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),delete this._startPos,delete this._lastPos,this.offTemp()},this.reset=()=>{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;let ee=w.dragRotate._mouseRotate.getClickTolerance(),se=w.dragRotate._mousePitch.getClickTolerance();this.element=B,this.mouseRotate=Dl({clickTolerance:ee,enable:!0}),this.touchRotate=(({enable:qe,clickTolerance:je,bearingDegreesPerPixelMoved:it=.8})=>{let yt=new pf;return new ju({clickTolerance:je,move:(Ot,Nt)=>({bearingDelta:(Nt.x-Ot.x)*it}),moveStateManager:yt,enable:qe,assignEvents:Rs})})({clickTolerance:ee,enable:!0}),this.map=w,Q&&(this.mousePitch=Ih({clickTolerance:se,enable:!0}),this.touchPitch=(({enable:qe,clickTolerance:je,pitchDegreesPerPixelMoved:it=-.5})=>{let yt=new pf;return new ju({clickTolerance:je,move:(Ot,Nt)=>({pitchDelta:(Nt.y-Ot.y)*it}),moveStateManager:yt,enable:qe,assignEvents:Rs})})({clickTolerance:se,enable:!0})),c.addEventListener(B,\"mousedown\",this.mousedown),c.addEventListener(B,\"touchstart\",this.touchstart,{passive:!1}),c.addEventListener(B,\"touchcancel\",this.reset)}startMouse(w,B){this.mouseRotate.dragStart(w,B),this.mousePitch&&this.mousePitch.dragStart(w,B),c.disableDrag()}startTouch(w,B){this.touchRotate.dragStart(w,B),this.touchPitch&&this.touchPitch.dragStart(w,B),c.disableDrag()}moveMouse(w,B){let Q=this.map,{bearingDelta:ee}=this.mouseRotate.dragMove(w,B)||{};if(ee&&Q.setBearing(Q.getBearing()+ee),this.mousePitch){let{pitchDelta:se}=this.mousePitch.dragMove(w,B)||{};se&&Q.setPitch(Q.getPitch()+se)}}moveTouch(w,B){let Q=this.map,{bearingDelta:ee}=this.touchRotate.dragMove(w,B)||{};if(ee&&Q.setBearing(Q.getBearing()+ee),this.touchPitch){let{pitchDelta:se}=this.touchPitch.dragMove(w,B)||{};se&&Q.setPitch(Q.getPitch()+se)}}off(){let w=this.element;c.removeEventListener(w,\"mousedown\",this.mousedown),c.removeEventListener(w,\"touchstart\",this.touchstart,{passive:!1}),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend),c.removeEventListener(w,\"touchcancel\",this.reset),this.offTemp()}offTemp(){c.enableDrag(),c.removeEventListener(window,\"mousemove\",this.mousemove),c.removeEventListener(window,\"mouseup\",this.mouseup),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend)}}let vs;function Ko(le,w,B){let Q=new a.N(le.lng,le.lat);if(le=new a.N(le.lng,le.lat),w){let ee=new a.N(le.lng-360,le.lat),se=new a.N(le.lng+360,le.lat),qe=B.locationPoint(le).distSqr(w);B.locationPoint(ee).distSqr(w)<qe?le=ee:B.locationPoint(se).distSqr(w)<qe&&(le=se)}for(;Math.abs(le.lng-B.center.lng)>180;){let ee=B.locationPoint(le);if(ee.x>=0&&ee.y>=0&&ee.x<=B.width&&ee.y<=B.height)break;le.lng>B.center.lng?le.lng-=360:le.lng+=360}return le.lng!==Q.lng&&B.locationPoint(le).y>B.height/2-B.getHorizon()?le:Q}let nu={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 Ru(le,w,B){let Q=le.classList;for(let ee in nu)Q.remove(`maplibregl-${B}-anchor-${ee}`);Q.add(`maplibregl-${B}-anchor-${w}`)}class ac extends a.E{constructor(w){if(super(),this._onKeyPress=B=>{let Q=B.code,ee=B.charCode||B.keyCode;Q!==\"Space\"&&Q!==\"Enter\"&&ee!==32&&ee!==13||this.togglePopup()},this._onMapClick=B=>{let Q=B.originalEvent.target,ee=this._element;this._popup&&(Q===ee||ee.contains(Q))&&this.togglePopup()},this._update=B=>{var Q;if(!this._map)return;let ee=this._map.loaded()&&!this._map.isMoving();((B==null?void 0:B.type)===\"terrain\"||(B==null?void 0:B.type)===\"render\"&&!ee)&&this._map.once(\"render\",this._update),this._lngLat=this._map.transform.renderWorldCopies?Ko(this._lngLat,this._flatPos,this._map.transform):(Q=this._lngLat)===null||Q===void 0?void 0:Q.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 se=\"\";this._rotationAlignment===\"viewport\"||this._rotationAlignment===\"auto\"?se=`rotateZ(${this._rotation}deg)`:this._rotationAlignment===\"map\"&&(se=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let qe=\"\";this._pitchAlignment===\"viewport\"||this._pitchAlignment===\"auto\"?qe=\"rotateX(0deg)\":this._pitchAlignment===\"map\"&&(qe=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||B&&B.type!==\"moveend\"||(this._pos=this._pos.round()),c.setTransform(this._element,`${nu[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${qe} ${se}`),u.frameAsync(new AbortController).then(()=>{this._updateOpacity(B&&B.type===\"moveend\")}).catch(()=>{})},this._onMove=B=>{if(!this._isDragging){let Q=this._clickTolerance||this._map._clickTolerance;this._isDragging=B.point.dist(this._pointerdownPos)>=Q}this._isDragging&&(this._pos=B.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",this._state===\"pending\"&&(this._state=\"active\",this.fire(new a.k(\"dragstart\"))),this.fire(new a.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),this._state===\"active\"&&this.fire(new a.k(\"dragend\")),this._state=\"inactive\"},this._addDragHandler=B=>{this._element.contains(B.originalEvent.target)&&(B.preventDefault(),this._positionDelta=B.point.sub(this._pos).add(this._offset),this._pointerdownPos=B.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=w&&w.anchor||\"center\",this._color=w&&w.color||\"#3FB1CE\",this._scale=w&&w.scale||1,this._draggable=w&&w.draggable||!1,this._clickTolerance=w&&w.clickTolerance||0,this._subpixelPositioning=w&&w.subpixelPositioning||!1,this._isDragging=!1,this._state=\"inactive\",this._rotation=w&&w.rotation||0,this._rotationAlignment=w&&w.rotationAlignment||\"auto\",this._pitchAlignment=w&&w.pitchAlignment&&w.pitchAlignment!==\"auto\"?w.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(w==null?void 0:w.opacity,w==null?void 0:w.opacityWhenCovered),w&&w.element)this._element=w.element,this._offset=a.P.convert(w&&w.offset||[0,0]);else{this._defaultMarker=!0,this._element=c.create(\"div\");let B=c.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),Q=41,ee=27;B.setAttributeNS(null,\"display\",\"block\"),B.setAttributeNS(null,\"height\",`${Q}px`),B.setAttributeNS(null,\"width\",`${ee}px`),B.setAttributeNS(null,\"viewBox\",`0 0 ${ee} ${Q}`);let se=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");se.setAttributeNS(null,\"stroke\",\"none\"),se.setAttributeNS(null,\"stroke-width\",\"1\"),se.setAttributeNS(null,\"fill\",\"none\"),se.setAttributeNS(null,\"fill-rule\",\"evenodd\");let qe=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");qe.setAttributeNS(null,\"fill-rule\",\"nonzero\");let je=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");je.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),je.setAttributeNS(null,\"fill\",\"#000000\");let it=[{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(let Oe of it){let Je=c.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");Je.setAttributeNS(null,\"opacity\",\"0.04\"),Je.setAttributeNS(null,\"cx\",\"10.5\"),Je.setAttributeNS(null,\"cy\",\"5.80029008\"),Je.setAttributeNS(null,\"rx\",Oe.rx),Je.setAttributeNS(null,\"ry\",Oe.ry),je.appendChild(Je)}let yt=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");yt.setAttributeNS(null,\"fill\",this._color);let Ot=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");Ot.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\"),yt.appendChild(Ot);let Nt=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");Nt.setAttributeNS(null,\"opacity\",\"0.25\"),Nt.setAttributeNS(null,\"fill\",\"#000000\");let hr=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");hr.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\"),Nt.appendChild(hr);let Sr=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");Sr.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),Sr.setAttributeNS(null,\"fill\",\"#FFFFFF\");let he=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");he.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");let be=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");be.setAttributeNS(null,\"fill\",\"#000000\"),be.setAttributeNS(null,\"opacity\",\"0.25\"),be.setAttributeNS(null,\"cx\",\"5.5\"),be.setAttributeNS(null,\"cy\",\"5.5\"),be.setAttributeNS(null,\"r\",\"5.4999962\");let Pe=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");Pe.setAttributeNS(null,\"fill\",\"#FFFFFF\"),Pe.setAttributeNS(null,\"cx\",\"5.5\"),Pe.setAttributeNS(null,\"cy\",\"5.5\"),Pe.setAttributeNS(null,\"r\",\"5.4999962\"),he.appendChild(be),he.appendChild(Pe),qe.appendChild(je),qe.appendChild(yt),qe.appendChild(Nt),qe.appendChild(Sr),qe.appendChild(he),B.appendChild(qe),B.setAttributeNS(null,\"height\",Q*this._scale+\"px\"),B.setAttributeNS(null,\"width\",ee*this._scale+\"px\"),this._element.appendChild(B),this._offset=a.P.convert(w&&w.offset||[0,-14])}if(this._element.classList.add(\"maplibregl-marker\"),this._element.addEventListener(\"dragstart\",B=>{B.preventDefault()}),this._element.addEventListener(\"mousedown\",B=>{B.preventDefault()}),Ru(this._element,this._anchor,\"marker\"),w&&w.className)for(let B of w.className.split(\" \"))this._element.classList.add(B);this._popup=null}addTo(w){return this.remove(),this._map=w,this._element.setAttribute(\"aria-label\",w._getUIString(\"Marker.Title\")),w.getCanvasContainer().appendChild(this._element),w.on(\"move\",this._update),w.on(\"moveend\",this._update),w.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),c.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(w){return this._lngLat=a.N.convert(w),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(w){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),w){if(!(\"offset\"in w.options)){let ee=Math.abs(13.5)/Math.SQRT2;w.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-38.1],\"bottom-left\":[ee,-1*(38.1-13.5+ee)],\"bottom-right\":[-ee,-1*(38.1-13.5+ee)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=w,this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress)}return this}setSubpixelPositioning(w){return this._subpixelPositioning=w,this}getPopup(){return this._popup}togglePopup(){let w=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:w?(w.isOpen()?w.remove():(w.setLngLat(this._lngLat),w.addTo(this._map)),this):this}_updateOpacity(w=!1){var B,Q;if(!(!((B=this._map)===null||B===void 0)&&B.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(w)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}let ee=this._map,se=ee.terrain.depthAtPoint(this._pos),qe=ee.terrain.getElevationForLngLatZoom(this._lngLat,ee.transform.tileZoom);if(ee.transform.lngLatToCameraDepth(this._lngLat,qe)-se<.006)return void(this._element.style.opacity=this._opacity);let je=-this._offset.y/ee.transform._pixelPerMeter,it=Math.sin(ee.getPitch()*Math.PI/180)*je,yt=ee.terrain.depthAtPoint(new a.P(this._pos.x,this._pos.y-this._offset.y)),Ot=ee.transform.lngLatToCameraDepth(this._lngLat,qe+it)-yt>.006;!((Q=this._popup)===null||Q===void 0)&&Q.isOpen()&&Ot&&this._popup.remove(),this._element.style.opacity=Ot?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(w){return this._offset=a.P.convert(w),this._update(),this}addClassName(w){this._element.classList.add(w)}removeClassName(w){this._element.classList.remove(w)}toggleClassName(w){return this._element.classList.toggle(w)}setDraggable(w){return this._draggable=!!w,this._map&&(w?(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(w){return this._rotation=w||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(w){return this._rotationAlignment=w||\"auto\",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(w){return this._pitchAlignment=w&&w!==\"auto\"?w:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(w,B){return w===void 0&&B===void 0&&(this._opacity=\"1\",this._opacityWhenCovered=\"0.2\"),w!==void 0&&(this._opacity=w),B!==void 0&&(this._opacityWhenCovered=B),this._map&&this._updateOpacity(!0),this}}let mf={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},bu=0,Kc=!1,Du={maxWidth:100,unit:\"metric\"};function Dc(le,w,B){let Q=B&&B.maxWidth||100,ee=le._container.clientHeight/2,se=le.unproject([0,ee]),qe=le.unproject([Q,ee]),je=se.distanceTo(qe);if(B&&B.unit===\"imperial\"){let it=3.2808*je;it>5280?Da(w,Q,it/5280,le._getUIString(\"ScaleControl.Miles\")):Da(w,Q,it,le._getUIString(\"ScaleControl.Feet\"))}else B&&B.unit===\"nautical\"?Da(w,Q,je/1852,le._getUIString(\"ScaleControl.NauticalMiles\")):je>=1e3?Da(w,Q,je/1e3,le._getUIString(\"ScaleControl.Kilometers\")):Da(w,Q,je,le._getUIString(\"ScaleControl.Meters\"))}function Da(le,w,B,Q){let ee=function(se){let qe=Math.pow(10,`${Math.floor(se)}`.length-1),je=se/qe;return je=je>=10?10:je>=5?5:je>=3?3:je>=2?2:je>=1?1:function(it){let yt=Math.pow(10,Math.ceil(-Math.log(it)/Math.LN10));return Math.round(it*yt)/yt}(je),qe*je}(B);le.style.width=w*(ee/B)+\"px\",le.innerHTML=`${ee} ${Q}`}let eo={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\",subpixelPositioning:!1},Jc=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \");function yc(le){if(le){if(typeof le==\"number\"){let w=Math.round(Math.abs(le)/Math.SQRT2);return{center:new a.P(0,0),top:new a.P(0,le),\"top-left\":new a.P(w,w),\"top-right\":new a.P(-w,w),bottom:new a.P(0,-le),\"bottom-left\":new a.P(w,-w),\"bottom-right\":new a.P(-w,-w),left:new a.P(le,0),right:new a.P(-le,0)}}if(le instanceof a.P||Array.isArray(le)){let w=a.P.convert(le);return{center:w,top:w,\"top-left\":w,\"top-right\":w,bottom:w,\"bottom-left\":w,\"bottom-right\":w,left:w,right:w}}return{center:a.P.convert(le.center||[0,0]),top:a.P.convert(le.top||[0,0]),\"top-left\":a.P.convert(le[\"top-left\"]||[0,0]),\"top-right\":a.P.convert(le[\"top-right\"]||[0,0]),bottom:a.P.convert(le.bottom||[0,0]),\"bottom-left\":a.P.convert(le[\"bottom-left\"]||[0,0]),\"bottom-right\":a.P.convert(le[\"bottom-right\"]||[0,0]),left:a.P.convert(le.left||[0,0]),right:a.P.convert(le.right||[0,0])}}return yc(new a.P(0,0))}let _c=o;i.AJAXError=a.bh,i.Evented=a.E,i.LngLat=a.N,i.MercatorCoordinate=a.Z,i.Point=a.P,i.addProtocol=a.bi,i.config=a.a,i.removeProtocol=a.bj,i.AttributionControl=qa,i.BoxZoomHandler=xu,i.CanvasSource=Ct,i.CooperativeGesturesHandler=qi,i.DoubleClickZoomHandler=fi,i.DragPanHandler=Xi,i.DragRotateHandler=hn,i.EdgeInsets=ic,i.FullscreenControl=class extends a.E{constructor(le={}){super(),this._onFullscreenChange=()=>{var w;let B=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;!((w=B==null?void 0:B.shadowRoot)===null||w===void 0)&&w.fullscreenElement;)B=B.shadowRoot.fullscreenElement;B===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,le&&le.container&&(le.container instanceof HTMLElement?this._container=le.container:a.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(le){return this._map=le,this._container||(this._container=this._map.getContainer()),this._controlContainer=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),this._controlContainer}onRemove(){c.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let le=this._fullscreenButton=c.create(\"button\",\"maplibregl-ctrl-fullscreen\",this._controlContainer);c.create(\"span\",\"maplibregl-ctrl-icon\",le).setAttribute(\"aria-hidden\",\"true\"),le.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let le=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",le),this._fullscreenButton.title=le}_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 a.k(\"fullscreenstart\")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new a.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()}},i.GeoJSONSource=rt,i.GeolocateControl=class extends a.E{constructor(le){super(),this._onSuccess=w=>{if(this._map){if(this._isOutOfMapMaxBounds(w))return this._setErrorState(),this.fire(new a.k(\"outofmaxbounds\",w)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=w,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&&this._watchState!==\"OFF\"&&this._updateMarker(w),this.options.trackUserLocation&&this._watchState!==\"ACTIVE_LOCK\"||this._updateCamera(w),this.options.showUserLocation&&this._dotElement.classList.remove(\"maplibregl-user-location-dot-stale\"),this.fire(new a.k(\"geolocate\",w)),this._finish()}},this._updateCamera=w=>{let B=new a.N(w.coords.longitude,w.coords.latitude),Q=w.coords.accuracy,ee=this._map.getBearing(),se=a.e({bearing:ee},this.options.fitBoundsOptions),qe=ce.fromLngLat(B,Q);this._map.fitBounds(qe,se,{geolocateSource:!0})},this._updateMarker=w=>{if(w){let B=new a.N(w.coords.longitude,w.coords.latitude);this._accuracyCircleMarker.setLngLat(B).addTo(this._map),this._userLocationDotMarker.setLngLat(B).addTo(this._map),this._accuracy=w.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=w=>{if(this._map){if(this.options.trackUserLocation)if(w.code===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._geolocateButton.disabled=!0;let B=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=B,this._geolocateButton.setAttribute(\"aria-label\",B),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(w.code===3&&Kc)return;this._setErrorState()}this._watchState!==\"OFF\"&&this.options.showUserLocation&&this._dotElement.classList.add(\"maplibregl-user-location-dot-stale\"),this.fire(new a.k(\"error\",w)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener(\"contextmenu\",w=>w.preventDefault()),this._geolocateButton=c.create(\"button\",\"maplibregl-ctrl-geolocate\",this._container),c.create(\"span\",\"maplibregl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",this._geolocateButton.disabled=!0)},this._finishSetupUI=w=>{if(this._map){if(w===!1){a.w(\"Geolocation support is not available so the GeolocateControl will be disabled.\");let B=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=B,this._geolocateButton.setAttribute(\"aria-label\",B)}else{let B=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.disabled=!1,this._geolocateButton.title=B,this._geolocateButton.setAttribute(\"aria-label\",B)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=c.create(\"div\",\"maplibregl-user-location-dot\"),this._userLocationDotMarker=new ac({element:this._dotElement}),this._circleElement=c.create(\"div\",\"maplibregl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new ac({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\",B=>{B.geolocateSource||this._watchState!==\"ACTIVE_LOCK\"||B.originalEvent&&B.originalEvent.type===\"resize\"||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this.fire(new a.k(\"trackuserlocationend\")),this.fire(new a.k(\"userlocationlostfocus\")))})}},this.options=a.e({},mf,le)}onAdd(le){return this._map=le,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),function(){return a._(this,arguments,void 0,function*(w=!1){if(vs!==void 0&&!w)return vs;if(window.navigator.permissions===void 0)return vs=!!window.navigator.geolocation,vs;try{vs=(yield window.navigator.permissions.query({name:\"geolocation\"})).state!==\"denied\"}catch(B){vs=!!window.navigator.geolocation}return vs})}().then(w=>this._finishSetupUI(w)),this._container}onRemove(){this._geolocationWatchID!==void 0&&(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(),c.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,bu=0,Kc=!1}_isOutOfMapMaxBounds(le){let w=this._map.getMaxBounds(),B=le.coords;return w&&(B.longitude<w.getWest()||B.longitude>w.getEast()||B.latitude<w.getSouth()||B.latitude>w.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(){let le=this._map.getBounds(),w=le.getSouthEast(),B=le.getNorthEast(),Q=w.distanceTo(B),ee=Math.ceil(this._accuracy/(Q/this._map._container.clientHeight)*2);this._circleElement.style.width=`${ee}px`,this._circleElement.style.height=`${ee}px`}trigger(){if(!this._setup)return a.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 a.k(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":bu--,Kc=!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 a.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 a.k(\"trackuserlocationstart\")),this.fire(new a.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(this._watchState===\"OFF\"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let le;this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),bu++,bu>1?(le={maximumAge:6e5,timeout:0},Kc=!0):(le=this.options.positionOptions,Kc=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,le)}}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)}},i.Hash=gd,i.ImageSource=Rt,i.KeyboardHandler=Bt,i.LngLatBounds=ce,i.LogoControl=Cn,i.Map=class extends Ta{constructor(le){a.bf.mark(a.bg.create);let w=Object.assign(Object.assign({},Gs),le);if(w.minZoom!=null&&w.maxZoom!=null&&w.minZoom>w.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(w.minPitch!=null&&w.maxPitch!=null&&w.minPitch>w.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(w.minPitch!=null&&w.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(w.maxPitch!=null&&w.maxPitch>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(super(new Qs(w.minZoom,w.maxZoom,w.minPitch,w.maxPitch,w.renderWorldCopies),{bearingSnap:w.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new sn,this._controls=[],this._mapId=a.a4(),this._contextLost=B=>{B.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new a.k(\"webglcontextlost\",{originalEvent:B}))},this._contextRestored=B=>{this._setupPainter(),this.resize(),this._update(),this.fire(new a.k(\"webglcontextrestored\",{originalEvent:B}))},this._onMapScroll=B=>{if(B.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=w.interactive,this._maxTileCacheSize=w.maxTileCacheSize,this._maxTileCacheZoomLevels=w.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=w.failIfMajorPerformanceCaveat===!0,this._preserveDrawingBuffer=w.preserveDrawingBuffer===!0,this._antialias=w.antialias===!0,this._trackResize=w.trackResize===!0,this._bearingSnap=w.bearingSnap,this._refreshExpiredTiles=w.refreshExpiredTiles===!0,this._fadeDuration=w.fadeDuration,this._crossSourceCollisions=w.crossSourceCollisions===!0,this._collectResourceTiming=w.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},Bo),w.locale),this._clickTolerance=w.clickTolerance,this._overridePixelRatio=w.pixelRatio,this._maxCanvasSize=w.maxCanvasSize,this.transformCameraUpdate=w.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=w.cancelPendingTileRequestsWhileZooming===!0,this._imageQueueHandle=p.addThrottleControl(()=>this.isMoving()),this._requestManager=new E(w.transformRequest),typeof w.container==\"string\"){if(this._container=document.getElementById(w.container),!this._container)throw new Error(`Container '${w.container}' not found.`)}else{if(!(w.container instanceof HTMLElement))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=w.container}if(w.maxBounds&&this.setMaxBounds(w.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}),typeof window!=\"undefined\"){addEventListener(\"online\",this._onWindowOnline,!1);let B=!1,Q=Qh(ee=>{this._trackResize&&!this._removed&&(this.resize(ee),this.redraw())},50);this._resizeObserver=new ResizeObserver(ee=>{B?Q(ee):B=!0}),this._resizeObserver.observe(this._container)}this.handlers=new Ma(this,w),this._hash=w.hash&&new gd(typeof w.hash==\"string\"&&w.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:w.center,zoom:w.zoom,bearing:w.bearing,pitch:w.pitch}),w.bounds&&(this.resize(),this.fitBounds(w.bounds,a.e({},w.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=w.localIdeographFontFamily,this._validateStyle=w.validateStyle,w.style&&this.setStyle(w.style,{localIdeographFontFamily:w.localIdeographFontFamily}),w.attributionControl&&this.addControl(new qa(typeof w.attributionControl==\"boolean\"?void 0:w.attributionControl)),w.maplibreLogo&&this.addControl(new Cn,w.logoPosition),this.on(\"style.load\",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on(\"data\",B=>{this._update(B.dataType===\"style\"),this.fire(new a.k(`${B.dataType}data`,B))}),this.on(\"dataloading\",B=>{this.fire(new a.k(`${B.dataType}dataloading`,B))}),this.on(\"dataabort\",B=>{this.fire(new a.k(\"sourcedataabort\",B))})}_getMapId(){return this._mapId}addControl(le,w){if(w===void 0&&(w=le.getDefaultPosition?le.getDefaultPosition():\"top-right\"),!le||!le.onAdd)return this.fire(new a.j(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));let B=le.onAdd(this);this._controls.push(le);let Q=this._controlPositions[w];return w.indexOf(\"bottom\")!==-1?Q.insertBefore(B,Q.firstChild):Q.appendChild(B),this}removeControl(le){if(!le||!le.onRemove)return this.fire(new a.j(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));let w=this._controls.indexOf(le);return w>-1&&this._controls.splice(w,1),le.onRemove(this),this}hasControl(le){return this._controls.indexOf(le)>-1}calculateCameraOptionsFromTo(le,w,B,Q){return Q==null&&this.terrain&&(Q=this.terrain.getElevationForLngLatZoom(B,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(le,w,B,Q)}resize(le){var w;let B=this._containerDimensions(),Q=B[0],ee=B[1],se=this._getClampedPixelRatio(Q,ee);if(this._resizeCanvas(Q,ee,se),this.painter.resize(Q,ee,se),this.painter.overLimit()){let je=this.painter.context.gl;this._maxCanvasSize=[je.drawingBufferWidth,je.drawingBufferHeight];let it=this._getClampedPixelRatio(Q,ee);this._resizeCanvas(Q,ee,it),this.painter.resize(Q,ee,it)}this.transform.resize(Q,ee),(w=this._requestedCameraState)===null||w===void 0||w.resize(Q,ee);let qe=!this._moving;return qe&&(this.stop(),this.fire(new a.k(\"movestart\",le)).fire(new a.k(\"move\",le))),this.fire(new a.k(\"resize\",le)),qe&&this.fire(new a.k(\"moveend\",le)),this}_getClampedPixelRatio(le,w){let{0:B,1:Q}=this._maxCanvasSize,ee=this.getPixelRatio(),se=le*ee,qe=w*ee;return Math.min(se>B?B/se:1,qe>Q?Q/qe:1)*ee}getPixelRatio(){var le;return(le=this._overridePixelRatio)!==null&&le!==void 0?le:devicePixelRatio}setPixelRatio(le){this._overridePixelRatio=le,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(le){return this.transform.setMaxBounds(ce.convert(le)),this._update()}setMinZoom(le){if((le=le==null?-2:le)>=-2&&le<=this.transform.maxZoom)return this.transform.minZoom=le,this._update(),this.getZoom()<le&&this.setZoom(le),this;throw new Error(\"minZoom must be between -2 and the current maxZoom, inclusive\")}getMinZoom(){return this.transform.minZoom}setMaxZoom(le){if((le=le==null?22:le)>=this.transform.minZoom)return this.transform.maxZoom=le,this._update(),this.getZoom()>le&&this.setZoom(le),this;throw new Error(\"maxZoom must be greater than the current minZoom\")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(le){if((le=le==null?0:le)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(le>=0&&le<=this.transform.maxPitch)return this.transform.minPitch=le,this._update(),this.getPitch()<le&&this.setPitch(le),this;throw new Error(\"minPitch must be between 0 and the current maxPitch, inclusive\")}getMinPitch(){return this.transform.minPitch}setMaxPitch(le){if((le=le==null?60:le)>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(le>=this.transform.minPitch)return this.transform.maxPitch=le,this._update(),this.getPitch()>le&&this.setPitch(le),this;throw new Error(\"maxPitch must be greater than the current minPitch\")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(le){return this.transform.renderWorldCopies=le,this._update()}project(le){return this.transform.locationPoint(a.N.convert(le),this.style&&this.terrain)}unproject(le){return this.transform.pointLocation(a.P.convert(le),this.terrain)}isMoving(){var le;return this._moving||((le=this.handlers)===null||le===void 0?void 0:le.isMoving())}isZooming(){var le;return this._zooming||((le=this.handlers)===null||le===void 0?void 0:le.isZooming())}isRotating(){var le;return this._rotating||((le=this.handlers)===null||le===void 0?void 0:le.isRotating())}_createDelegatedListener(le,w,B){if(le===\"mouseenter\"||le===\"mouseover\"){let Q=!1;return{layers:w,listener:B,delegates:{mousemove:se=>{let qe=w.filter(it=>this.getLayer(it)),je=qe.length!==0?this.queryRenderedFeatures(se.point,{layers:qe}):[];je.length?Q||(Q=!0,B.call(this,new ru(le,this,se.originalEvent,{features:je}))):Q=!1},mouseout:()=>{Q=!1}}}}if(le===\"mouseleave\"||le===\"mouseout\"){let Q=!1;return{layers:w,listener:B,delegates:{mousemove:qe=>{let je=w.filter(it=>this.getLayer(it));(je.length!==0?this.queryRenderedFeatures(qe.point,{layers:je}):[]).length?Q=!0:Q&&(Q=!1,B.call(this,new ru(le,this,qe.originalEvent)))},mouseout:qe=>{Q&&(Q=!1,B.call(this,new ru(le,this,qe.originalEvent)))}}}}{let Q=ee=>{let se=w.filter(je=>this.getLayer(je)),qe=se.length!==0?this.queryRenderedFeatures(ee.point,{layers:se}):[];qe.length&&(ee.features=qe,B.call(this,ee),delete ee.features)};return{layers:w,listener:B,delegates:{[le]:Q}}}}_saveDelegatedListener(le,w){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[le]=this._delegatedListeners[le]||[],this._delegatedListeners[le].push(w)}_removeDelegatedListener(le,w,B){if(!this._delegatedListeners||!this._delegatedListeners[le])return;let Q=this._delegatedListeners[le];for(let ee=0;ee<Q.length;ee++){let se=Q[ee];if(se.listener===B&&se.layers.length===w.length&&se.layers.every(qe=>w.includes(qe))){for(let qe in se.delegates)this.off(qe,se.delegates[qe]);return void Q.splice(ee,1)}}}on(le,w,B){if(B===void 0)return super.on(le,w);let Q=this._createDelegatedListener(le,typeof w==\"string\"?[w]:w,B);this._saveDelegatedListener(le,Q);for(let ee in Q.delegates)this.on(ee,Q.delegates[ee]);return this}once(le,w,B){if(B===void 0)return super.once(le,w);let Q=typeof w==\"string\"?[w]:w,ee=this._createDelegatedListener(le,Q,B);for(let se in ee.delegates){let qe=ee.delegates[se];ee.delegates[se]=(...je)=>{this._removeDelegatedListener(le,Q,B),qe(...je)}}this._saveDelegatedListener(le,ee);for(let se in ee.delegates)this.once(se,ee.delegates[se]);return this}off(le,w,B){return B===void 0?super.off(le,w):(this._removeDelegatedListener(le,typeof w==\"string\"?[w]:w,B),this)}queryRenderedFeatures(le,w){if(!this.style)return[];let B,Q=le instanceof a.P||Array.isArray(le),ee=Q?le:[[0,0],[this.transform.width,this.transform.height]];if(w=w||(Q?{}:le)||{},ee instanceof a.P||typeof ee[0]==\"number\")B=[a.P.convert(ee)];else{let se=a.P.convert(ee[0]),qe=a.P.convert(ee[1]);B=[se,new a.P(qe.x,se.y),qe,new a.P(se.x,qe.y),se]}return this.style.queryRenderedFeatures(B,w,this.transform)}querySourceFeatures(le,w){return this.style.querySourceFeatures(le,w)}setStyle(le,w){return(w=a.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},w)).diff!==!1&&w.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&le?(this._diffStyle(le,w),this):(this._localIdeographFontFamily=w.localIdeographFontFamily,this._updateStyle(le,w))}setTransformRequest(le){return this._requestManager.setTransformRequest(le),this}_getUIString(le){let w=this._locale[le];if(w==null)throw new Error(`Missing UI string '${le}'`);return w}_updateStyle(le,w){if(w.transformStyle&&this.style&&!this.style._loaded)return void this.style.once(\"style.load\",()=>this._updateStyle(le,w));let B=this.style&&w.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!le)),le?(this.style=new Ha(this,w||{}),this.style.setEventedParent(this,{style:this.style}),typeof le==\"string\"?this.style.loadURL(le,w,B):this.style.loadJSON(le,w,B),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new Ha(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(le,w){if(typeof le==\"string\"){let B=this._requestManager.transformRequest(le,\"Style\");a.h(B,new AbortController).then(Q=>{this._updateDiff(Q.data,w)}).catch(Q=>{Q&&this.fire(new a.j(Q))})}else typeof le==\"object\"&&this._updateDiff(le,w)}_updateDiff(le,w){try{this.style.setState(le,w)&&this._update(!0)}catch(B){a.w(`Unable to perform style diff: ${B.message||B.error||B}. Rebuilding the style from scratch.`),this._updateStyle(le,w)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():a.w(\"There is no style added to the map.\")}addSource(le,w){return this._lazyInitEmptyStyle(),this.style.addSource(le,w),this._update(!0)}isSourceLoaded(le){let w=this.style&&this.style.sourceCaches[le];if(w!==void 0)return w.loaded();this.fire(new a.j(new Error(`There is no source with ID '${le}'`)))}setTerrain(le){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off(\"data\",this._terrainDataCallback),le){let w=this.style.sourceCaches[le.source];if(!w)throw new Error(`cannot load terrain, because there exists no source with ID: ${le.source}`);this.terrain===null&&w.reload();for(let B in this.style._layers){let Q=this.style._layers[B];Q.type===\"hillshade\"&&Q.source===le.source&&a.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 Xo(this.painter,w,le),this.painter.renderToTexture=new ys(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=B=>{B.dataType===\"style\"?this.terrain.sourceCache.freeRtt():B.dataType===\"source\"&&B.tile&&(B.sourceId!==le.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(B.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 a.k(\"terrain\",{terrain:le})),this}getTerrain(){var le,w;return(w=(le=this.terrain)===null||le===void 0?void 0:le.options)!==null&&w!==void 0?w:null}areTilesLoaded(){let le=this.style&&this.style.sourceCaches;for(let w in le){let B=le[w]._tiles;for(let Q in B){let ee=B[Q];if(ee.state!==\"loaded\"&&ee.state!==\"errored\")return!1}}return!0}removeSource(le){return this.style.removeSource(le),this._update(!0)}getSource(le){return this.style.getSource(le)}addImage(le,w,B={}){let{pixelRatio:Q=1,sdf:ee=!1,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt}=B;if(this._lazyInitEmptyStyle(),!(w instanceof HTMLImageElement||a.b(w))){if(w.width===void 0||w.height===void 0)return this.fire(new a.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`\")));{let{width:Ot,height:Nt,data:hr}=w,Sr=w;return this.style.addImage(le,{data:new a.R({width:Ot,height:Nt},new Uint8Array(hr)),pixelRatio:Q,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt,sdf:ee,version:0,userImage:Sr}),Sr.onAdd&&Sr.onAdd(this,le),this}}{let{width:Ot,height:Nt,data:hr}=u.getImageData(w);this.style.addImage(le,{data:new a.R({width:Ot,height:Nt},hr),pixelRatio:Q,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt,sdf:ee,version:0})}}updateImage(le,w){let B=this.style.getImage(le);if(!B)return this.fire(new a.j(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));let Q=w instanceof HTMLImageElement||a.b(w)?u.getImageData(w):w,{width:ee,height:se,data:qe}=Q;if(ee===void 0||se===void 0)return this.fire(new a.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(ee!==B.data.width||se!==B.data.height)return this.fire(new a.j(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));let je=!(w instanceof HTMLImageElement||a.b(w));return B.data.replace(qe,je),this.style.updateImage(le,B),this}getImage(le){return this.style.getImage(le)}hasImage(le){return le?!!this.style.getImage(le):(this.fire(new a.j(new Error(\"Missing required image id\"))),!1)}removeImage(le){this.style.removeImage(le)}loadImage(le){return p.getImage(this._requestManager.transformRequest(le,\"Image\"),new AbortController)}listImages(){return this.style.listImages()}addLayer(le,w){return this._lazyInitEmptyStyle(),this.style.addLayer(le,w),this._update(!0)}moveLayer(le,w){return this.style.moveLayer(le,w),this._update(!0)}removeLayer(le){return this.style.removeLayer(le),this._update(!0)}getLayer(le){return this.style.getLayer(le)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(le,w,B){return this.style.setLayerZoomRange(le,w,B),this._update(!0)}setFilter(le,w,B={}){return this.style.setFilter(le,w,B),this._update(!0)}getFilter(le){return this.style.getFilter(le)}setPaintProperty(le,w,B,Q={}){return this.style.setPaintProperty(le,w,B,Q),this._update(!0)}getPaintProperty(le,w){return this.style.getPaintProperty(le,w)}setLayoutProperty(le,w,B,Q={}){return this.style.setLayoutProperty(le,w,B,Q),this._update(!0)}getLayoutProperty(le,w){return this.style.getLayoutProperty(le,w)}setGlyphs(le,w={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(le,w),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(le,w,B={}){return this._lazyInitEmptyStyle(),this.style.addSprite(le,w,B,Q=>{Q||this._update(!0)}),this}removeSprite(le){return this._lazyInitEmptyStyle(),this.style.removeSprite(le),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(le,w={}){return this._lazyInitEmptyStyle(),this.style.setSprite(le,w,B=>{B||this._update(!0)}),this}setLight(le,w={}){return this._lazyInitEmptyStyle(),this.style.setLight(le,w),this._update(!0)}getLight(){return this.style.getLight()}setSky(le){return this._lazyInitEmptyStyle(),this.style.setSky(le),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(le,w){return this.style.setFeatureState(le,w),this._update()}removeFeatureState(le,w){return this.style.removeFeatureState(le,w),this._update()}getFeatureState(le){return this.style.getFeatureState(le)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let le=0,w=0;return this._container&&(le=this._container.clientWidth||400,w=this._container.clientHeight||300),[le,w]}_setupContainer(){let le=this._container;le.classList.add(\"maplibregl-map\");let w=this._canvasContainer=c.create(\"div\",\"maplibregl-canvas-container\",le);this._interactive&&w.classList.add(\"maplibregl-interactive\"),this._canvas=c.create(\"canvas\",\"maplibregl-canvas\",w),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\");let B=this._containerDimensions(),Q=this._getClampedPixelRatio(B[0],B[1]);this._resizeCanvas(B[0],B[1],Q);let ee=this._controlContainer=c.create(\"div\",\"maplibregl-control-container\",le),se=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(qe=>{se[qe]=c.create(\"div\",`maplibregl-ctrl-${qe} `,ee)}),this._container.addEventListener(\"scroll\",this._onMapScroll,!1)}_resizeCanvas(le,w,B){this._canvas.width=Math.floor(B*le),this._canvas.height=Math.floor(B*w),this._canvas.style.width=`${le}px`,this._canvas.style.height=`${w}px`}_setupPainter(){let le={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},w=null;this._canvas.addEventListener(\"webglcontextcreationerror\",Q=>{w={requestedAttributes:le},Q&&(w.statusMessage=Q.statusMessage,w.type=Q.type)},{once:!0});let B=this._canvas.getContext(\"webgl2\",le)||this._canvas.getContext(\"webgl\",le);if(!B){let Q=\"Failed to initialize WebGL\";throw w?(w.message=Q,new Error(JSON.stringify(w))):new Error(Q)}this.painter=new Lc(B,this.transform),f.testSupport(B)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(le){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||le,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(le){return this._update(),this._renderTaskQueue.add(le)}_cancelRenderFrame(le){this._renderTaskQueue.remove(le)}_render(le){let w=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(le),this._removed)return;let B=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let ee=this.transform.zoom,se=u.now();this.style.zoomHistory.update(ee,se);let qe=new a.z(ee,{now:se,fadeDuration:w,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),je=qe.crossFadingFactor();je===1&&je===this._crossFadingFactor||(B=!0,this._crossFadingFactor=je),this.style.update(qe)}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,w,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:w,showPadding:this.showPadding}),this.fire(new a.k(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,a.bf.mark(a.bg.load),this.fire(new a.k(\"load\"))),this.style&&(this.style.hasTransitions()||B)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let Q=this._sourcesDirty||this._styleDirty||this._placementDirty;return Q||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new a.k(\"idle\")),!this._loaded||this._fullyLoaded||Q||(this._fullyLoaded=!0,a.bf.mark(a.bg.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var le;this._hash&&this._hash.remove();for(let B of this._controls)B.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),typeof window!=\"undefined\"&&removeEventListener(\"online\",this._onWindowOnline,!1),p.removeThrottleControl(this._imageQueueHandle),(le=this._resizeObserver)===null||le===void 0||le.disconnect();let w=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");w!=null&&w.loseContext&&w.loseContext(),this._canvas.removeEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.removeEventListener(\"webglcontextlost\",this._contextLost,!1),c.remove(this._canvasContainer),c.remove(this._controlContainer),this._container.classList.remove(\"maplibregl-map\"),a.bf.clearMetrics(),this._removed=!0,this.fire(new a.k(\"remove\"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then(le=>{a.bf.frame(le),this._frameRequest=null,this._render(le)}).catch(()=>{}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(le){this._showTileBoundaries!==le&&(this._showTileBoundaries=le,this._update())}get showPadding(){return!!this._showPadding}set showPadding(le){this._showPadding!==le&&(this._showPadding=le,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(le){this._showCollisionBoxes!==le&&(this._showCollisionBoxes=le,le?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(le){this._showOverdrawInspector!==le&&(this._showOverdrawInspector=le,this._update())}get repaint(){return!!this._repaint}set repaint(le){this._repaint!==le&&(this._repaint=le,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(le){this._vertices=le,this._update()}get version(){return yl}getCameraTargetElevation(){return this.transform.elevation}},i.MapMouseEvent=ru,i.MapTouchEvent=vf,i.MapWheelEvent=md,i.Marker=ac,i.NavigationControl=class{constructor(le){this._updateZoomButtons=()=>{let w=this._map.getZoom(),B=w===this._map.getMaxZoom(),Q=w===this._map.getMinZoom();this._zoomInButton.disabled=B,this._zoomOutButton.disabled=Q,this._zoomInButton.setAttribute(\"aria-disabled\",B.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",Q.toString())},this._rotateCompassArrow=()=>{let w=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=w},this._setButtonTitle=(w,B)=>{let Q=this._map._getUIString(`NavigationControl.${B}`);w.title=Q,w.setAttribute(\"aria-label\",Q)},this.options=a.e({},ia,le),this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",w=>w.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton(\"maplibregl-ctrl-zoom-in\",w=>this._map.zoomIn({},{originalEvent:w})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",\"true\"),this._zoomOutButton=this._createButton(\"maplibregl-ctrl-zoom-out\",w=>this._map.zoomOut({},{originalEvent:w})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",\"true\")),this.options.showCompass&&(this._compass=this._createButton(\"maplibregl-ctrl-compass\",w=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:w}):this._map.resetNorth({},{originalEvent:w})}),this._compassIcon=c.create(\"span\",\"maplibregl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",\"true\"))}onAdd(le){return this._map=le,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 Ka(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){c.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(le,w){let B=c.create(\"button\",le,this._container);return B.type=\"button\",B.addEventListener(\"click\",w),B}},i.Popup=class extends a.E{constructor(le){super(),this.remove=()=>(this._content&&c.remove(this._content),this._container&&(c.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 a.k(\"close\"))),this),this._onMouseUp=w=>{this._update(w.point)},this._onMouseMove=w=>{this._update(w.point)},this._onDrag=w=>{this._update(w.point)},this._update=w=>{var B;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=c.create(\"div\",\"maplibregl-popup\",this._map.getContainer()),this._tip=c.create(\"div\",\"maplibregl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className)for(let je of this.options.className.split(\" \"))this._container.classList.add(je);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._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?Ko(this._lngLat,this._flatPos,this._map.transform):(B=this._lngLat)===null||B===void 0?void 0:B.wrap(),this._trackPointer&&!w)return;let Q=this._flatPos=this._pos=this._trackPointer&&w?w:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&w?w:this._map.transform.locationPoint(this._lngLat));let ee=this.options.anchor,se=yc(this.options.offset);if(!ee){let je=this._container.offsetWidth,it=this._container.offsetHeight,yt;yt=Q.y+se.bottom.y<it?[\"top\"]:Q.y>this._map.transform.height-it?[\"bottom\"]:[],Q.x<je/2?yt.push(\"left\"):Q.x>this._map.transform.width-je/2&&yt.push(\"right\"),ee=yt.length===0?\"bottom\":yt.join(\"-\")}let qe=Q.add(se[ee]);this.options.subpixelPositioning||(qe=qe.round()),c.setTransform(this._container,`${nu[ee]} translate(${qe.x}px,${qe.y}px)`),Ru(this._container,ee,\"popup\")},this._onClose=()=>{this.remove()},this.options=a.e(Object.create(eo),le)}addTo(le){return this._map&&this.remove(),this._map=le,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 a.k(\"open\")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(le){return this._lngLat=a.N.convert(le),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(le){return this.setDOMContent(document.createTextNode(le))}setHTML(le){let w=document.createDocumentFragment(),B=document.createElement(\"body\"),Q;for(B.innerHTML=le;Q=B.firstChild,Q;)w.appendChild(Q);return this.setDOMContent(w)}getMaxWidth(){var le;return(le=this._container)===null||le===void 0?void 0:le.style.maxWidth}setMaxWidth(le){return this.options.maxWidth=le,this._update(),this}setDOMContent(le){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=c.create(\"div\",\"maplibregl-popup-content\",this._container);return this._content.appendChild(le),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(le){return this._container&&this._container.classList.add(le),this}removeClassName(le){return this._container&&this._container.classList.remove(le),this}setOffset(le){return this.options.offset=le,this._update(),this}toggleClassName(le){if(this._container)return this._container.classList.toggle(le)}setSubpixelPositioning(le){this.options.subpixelPositioning=le}_createCloseButton(){this.options.closeButton&&(this._closeButton=c.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;let le=this._container.querySelector(Jc);le&&le.focus()}},i.RasterDEMTileSource=qt,i.RasterTileSource=ct,i.ScaleControl=class{constructor(le){this._onMove=()=>{Dc(this._map,this._container,this.options)},this.setUnit=w=>{this.options.unit=w,Dc(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},Du),le)}getDefaultPosition(){return\"bottom-left\"}onAdd(le){return this._map=le,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-scale\",le.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container}onRemove(){c.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0}},i.ScrollZoomHandler=Ur,i.Style=Ha,i.TerrainControl=class{constructor(le){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=le}onAdd(le){return this._map=le,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._terrainButton=c.create(\"button\",\"maplibregl-ctrl-terrain\",this._container),c.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(){c.remove(this._container),this._map.off(\"terrain\",this._updateTerrainIcon),this._map=void 0}},i.TwoFingersTouchPitchHandler=gf,i.TwoFingersTouchRotateHandler=Yc,i.TwoFingersTouchZoomHandler=iu,i.TwoFingersTouchZoomRotateHandler=Ti,i.VectorTileSource=nt,i.VideoSource=kt,i.addSourceType=(le,w)=>a._(void 0,void 0,void 0,function*(){if(xr(le))throw new Error(`A source type called \"${le}\" already exists.`);((B,Q)=>{Yt[B]=Q})(le,w)}),i.clearPrewarmedResources=function(){let le=ge;le&&(le.isPreloaded()&&le.numActive()===1?(le.release(_e),ge=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()\"))},i.getMaxParallelImageRequests=function(){return a.a.MAX_PARALLEL_IMAGE_REQUESTS},i.getRTLTextPluginStatus=function(){return bt().getRTLTextPluginStatus()},i.getVersion=function(){return _c},i.getWorkerCount=function(){return Me.workerCount},i.getWorkerUrl=function(){return a.a.WORKER_URL},i.importScriptInWorkers=function(le){return Ae().broadcast(\"IS\",le)},i.prewarm=function(){Te().acquire(_e)},i.setMaxParallelImageRequests=function(le){a.a.MAX_PARALLEL_IMAGE_REQUESTS=le},i.setRTLTextPlugin=function(le,w){return bt().setRTLTextPlugin(le,w)},i.setWorkerCount=function(le){Me.workerCount=le},i.setWorkerUrl=function(le){a.a.WORKER_URL=le}});var n=e;return n})});var KHe=ye((Z1r,YHe)=>{\"use strict\";var iw=Mr(),gjt=Pl().sanitizeHTML,mjt=fJ(),WHe=wx();function ZHe(e,t){this.subplot=e,this.uid=e.uid+\"-\"+t,this.index=t,this.idSource=\"source-\"+this.uid,this.idLayer=WHe.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var ag=ZHe.prototype;ag.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=n7(t)};ag.needsNewImage=function(e){var t=this.subplot.map;return t.getSource(this.idSource)&&this.sourceType===\"image\"&&e.sourcetype===\"image\"&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))};ag.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type};ag.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]};ag.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]};ag.updateImage=function(e){var t=this.subplot.map;t.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var r=this.findFollowingMapLayerId(this.lookupBelow());r!==null&&this.subplot.map.moveLayer(this.idLayer,r)};ag.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,!!n7(e)){var r=yjt(e);t.addSource(this.idSource,r)}};ag.findFollowingMapLayerId=function(e){if(e===\"traces\")for(var t=this.subplot.getMapLayers(),r=0;r<t.length;r++){var n=t[r].id;if(typeof n==\"string\"&&n.indexOf(WHe.traceLayerPrefix)===0){e=n;break}}return e};ag.updateLayer=function(e){var t=this.subplot,r=XHe(e),n=this.lookupBelow(),i=this.findFollowingMapLayerId(n);this.removeLayer(),n7(e)&&t.addLayer({id:this.idLayer,source:this.idSource,\"source-layer\":e.sourcelayer||\"\",type:e.type,minzoom:e.minzoom,maxzoom:e.maxzoom,layout:r.layout,paint:r.paint},i),this.layerType=e.type,this.below=n};ag.updateStyle=function(e){if(n7(e)){var t=XHe(e);this.subplot.setOptions(this.idLayer,\"setLayoutProperty\",t.layout),this.subplot.setOptions(this.idLayer,\"setPaintProperty\",t.paint)}};ag.removeLayer=function(){var e=this.subplot.map;e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer)};ag.dispose=function(){var e=this.subplot.map;e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer),e.getSource(this.idSource)&&e.removeSource(this.idSource)};function n7(e){if(!e.visible)return!1;var t=e.source;if(Array.isArray(t)&&t.length>0){for(var r=0;r<t.length;r++)if(typeof t[r]!=\"string\"||t[r].length===0)return!1;return!0}return iw.isPlainObject(t)||typeof t==\"string\"&&t.length>0}function XHe(e){var t={},r={};switch(e.type){case\"circle\":iw.extendFlat(r,{\"circle-radius\":e.circle.radius,\"circle-color\":e.color,\"circle-opacity\":e.opacity});break;case\"line\":iw.extendFlat(r,{\"line-width\":e.line.width,\"line-color\":e.color,\"line-opacity\":e.opacity,\"line-dasharray\":e.line.dash});break;case\"fill\":iw.extendFlat(r,{\"fill-color\":e.color,\"fill-outline-color\":e.fill.outlinecolor,\"fill-opacity\":e.opacity});break;case\"symbol\":var n=e.symbol,i=mjt(n.textposition,n.iconsize);iw.extendFlat(t,{\"icon-image\":n.icon+\"-15\",\"icon-size\":n.iconsize/10,\"text-field\":n.text,\"text-size\":n.textfont.size,\"text-anchor\":i.anchor,\"text-offset\":i.offset,\"symbol-placement\":n.placement}),iw.extendFlat(r,{\"icon-color\":e.color,\"text-color\":n.textfont.color,\"text-opacity\":e.opacity});break;case\"raster\":iw.extendFlat(r,{\"raster-fade-duration\":0,\"raster-opacity\":e.opacity});break}return{layout:t,paint:r}}function yjt(e){var t=e.sourcetype,r=e.source,n={type:t},i;return t===\"geojson\"?i=\"data\":t===\"vector\"?i=typeof r==\"string\"?\"url\":\"tiles\":t===\"raster\"?(i=\"tiles\",n.tileSize=256):t===\"image\"&&(i=\"url\",n.coordinates=e.coordinates),n[i]=r,e.sourceattribution&&(n.attribution=gjt(e.sourceattribution)),n}YHe.exports=function(t,r,n){var i=new ZHe(t,r);return i.update(n),i}});var nGe=ye((X1r,iGe)=>{\"use strict\";var mJ=jHe(),yJ=Mr(),QHe=nx(),JHe=ba(),_jt=Qa(),xjt=gv(),a7=Nc(),eGe=Sg(),bjt=eGe.drawMode,wjt=eGe.selectMode,Tjt=wf().prepSelect,Ajt=wf().clearOutline,Sjt=wf().clearSelectionsCache,Mjt=wf().selectOnClick,nw=wx(),Ejt=KHe();function tGe(e,t){this.id=t,this.gd=e;var r=e._fullLayout,n=e._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+\"-\"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var Sh=tGe.prototype;Sh.plot=function(e,t,r){var n=this,i;n.map?i=new Promise(function(a,o){n.updateMap(e,t,a,o)}):i=new Promise(function(a,o){n.createMap(e,t,a,o)}),r.push(i)};Sh.createMap=function(e,t,r,n){var i=this,a=t[i.id],o=i.styleObj=rGe(a.style),s=a.bounds,l=s?[[s.west,s.south],[s.east,s.north]]:null,u=i.map=new mJ.Map({container:i.div,style:o.style,center:_J(a.center),zoom:a.zoom,bearing:a.bearing,pitch:a.pitch,maxBounds:l,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new mJ.AttributionControl({compact:!0})),c={};u.on(\"styleimagemissing\",function(h){var d=h.id;if(!c[d]&&d.includes(\"-15\")){c[d]=!0;var v=new Image(15,15);v.onload=function(){u.addImage(d,v)},v.crossOrigin=\"Anonymous\",v.src=\"https://unpkg.com/maki@2.1.0/icons/\"+d+\".svg\"}}),u.setTransformRequest(function(h){return h=h.replace(\"https://fonts.openmaptiles.org/Open Sans Extrabold\",\"https://fonts.openmaptiles.org/Open Sans Extra Bold\"),h=h.replace(\"https://tiles.basemaps.cartocdn.com/fonts/Open Sans Extrabold\",\"https://fonts.openmaptiles.org/Open Sans Extra Bold\"),h=h.replace(\"https://fonts.openmaptiles.org/Open Sans Regular,Arial Unicode MS Regular\",\"https://fonts.openmaptiles.org/Klokantech Noto Sans Regular\"),{url:h}}),u._canvas.style.left=\"0px\",u._canvas.style.top=\"0px\",i.rejectOnError(n),i.isStatic||i.initFx(e,t);var f=[];f.push(new Promise(function(h){u.once(\"load\",h)})),f=f.concat(QHe.fetchTraceGeoData(e)),Promise.all(f).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Sh.updateMap=function(e,t,r,n){var i=this,a=i.map,o=t[this.id];i.rejectOnError(n);var s=[],l=rGe(o.style);JSON.stringify(i.styleObj)!==JSON.stringify(l)&&(i.styleObj=l,a.setStyle(l.style),i.traceHash={},s.push(new Promise(function(u){a.once(\"styledata\",u)}))),s=s.concat(QHe.fetchTraceGeoData(e)),Promise.all(s).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Sh.fillBelowLookup=function(e,t){var r=t[this.id],n=r.layers,i,a,o=this.belowLookup={},s=!1;for(i=0;i<e.length;i++){var l=e[i][0].trace,u=l._module;typeof l.below==\"string\"?a=l.below:u.getBelow&&(a=u.getBelow(l,this)),a===\"\"&&(s=!0),o[\"trace-\"+l.uid]=a||\"\"}for(i=0;i<n.length;i++){var c=n[i];typeof c.below==\"string\"?a=c.below:s?a=\"traces\":a=\"\",o[\"layout-\"+i]=a}var f={},h,d;for(h in o)a=o[h],f[a]?f[a].push(h):f[a]=[h];for(a in f){var v=f[a];if(v.length>1)for(i=0;i<v.length;i++)h=v[i],h.indexOf(\"trace-\")===0?(d=h.split(\"trace-\")[1],this.traceHash[d]&&(this.traceHash[d].below=null)):h.indexOf(\"layout-\")===0&&(d=h.split(\"layout-\")[1],this.layerList[d]&&(this.layerList[d].below=null))}};var $He={choroplethmap:0,densitymap:1,scattermap:2};Sh.updateData=function(e){var t=this.traceHash,r,n,i,a,o=e.slice().sort(function(f,h){return $He[f[0].trace.type]-$He[h[0].trace.type]});for(i=0;i<o.length;i++){var s=o[i];n=s[0].trace,r=t[n.uid];var l=!1;r&&(r.type===n.type?(r.update(s),l=!0):r.dispose()),!l&&n._module&&(t[n.uid]=n._module.plot(this,s))}var u=Object.keys(t);e:for(i=0;i<u.length;i++){var c=u[i];for(a=0;a<e.length;a++)if(n=e[a][0].trace,c===n.uid)continue e;r=t[c],r.dispose(),delete t[c]}};Sh.updateLayout=function(e){var t=this.map,r=e[this.id];!this.dragging&&!this.wheeling&&(t.setCenter(_J(r.center)),t.setZoom(r.zoom),t.setBearing(r.bearing),t.setPitch(r.pitch)),this.updateLayers(e),this.updateFramework(e),this.updateFx(e),this.map.resize(),this.gd._context._scrollZoom.map?t.scrollZoom.enable():t.scrollZoom.disable()};Sh.resolveOnRender=function(e){var t=this.map;t.on(\"render\",function r(){t.loaded()&&(t.off(\"render\",r),setTimeout(e,10))})};Sh.rejectOnError=function(e){var t=this.map;function r(){e(new Error(nw.mapOnErrorMsg))}t.once(\"error\",r),t.once(\"style.error\",r),t.once(\"source.error\",r),t.once(\"tile.error\",r),t.once(\"layer.error\",r)};Sh.createFramework=function(e){var t=this,r=t.div=document.createElement(\"div\");r.id=t.uid,r.style.position=\"absolute\",t.container.appendChild(r),t.xaxis={_id:\"x\",c2p:function(n){return t.project(n).x}},t.yaxis={_id:\"y\",c2p:function(n){return t.project(n).y}},t.updateFramework(e),t.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},_jt.setConvert(t.mockAxis,e)};Sh.initFx=function(e,t){var r=this,n=r.gd,i=r.map;i.on(\"moveend\",function(s){if(r.map){var l=n._fullLayout;if(s.originalEvent||r.wheeling){var u=l[r.id];JHe.call(\"_storeDirectGUIEdit\",n.layout,l._preGUI,r.getViewEdits(u));var c=r.getView();u._input.center=u.center=c.center,u._input.zoom=u.zoom=c.zoom,u._input.bearing=u.bearing=c.bearing,u._input.pitch=u.pitch=c.pitch,n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(c))}s.originalEvent&&s.originalEvent.type===\"mouseup\"?r.dragging=!1:r.wheeling&&(r.wheeling=!1),l&&l._rehover&&l._rehover()}}),i.on(\"wheel\",function(){r.wheeling=!0}),i.on(\"mousemove\",function(s){var l=r.div.getBoundingClientRect(),u=[s.originalEvent.offsetX,s.originalEvent.offsetY];s.target.getBoundingClientRect=function(){return l},r.xaxis.p2c=function(){return i.unproject(u).lng},r.yaxis.p2c=function(){return i.unproject(u).lat},n._fullLayout._rehover=function(){n._fullLayout._hoversubplot===r.id&&n._fullLayout[r.id]&&a7.hover(n,s,r.id)},a7.hover(n,s,r.id),n._fullLayout._hoversubplot=r.id});function a(){a7.loneUnhover(t._hoverlayer)}i.on(\"dragstart\",function(){r.dragging=!0,a()}),i.on(\"zoomstart\",a),i.on(\"mouseout\",function(){n._fullLayout._hoversubplot=null});function o(){var s=r.getView();n.emit(\"plotly_relayouting\",r.getViewEditsWithDerived(s))}i.on(\"drag\",o),i.on(\"zoom\",o),i.on(\"dblclick\",function(){var s=n._fullLayout[r.id];JHe.call(\"_storeDirectGUIEdit\",n.layout,n._fullLayout._preGUI,r.getViewEdits(s));var l=r.viewInitial;i.setCenter(_J(l.center)),i.setZoom(l.zoom),i.setBearing(l.bearing),i.setPitch(l.pitch);var u=r.getView();s._input.center=s.center=u.center,s._input.zoom=s.zoom=u.zoom,s._input.bearing=s.bearing=u.bearing,s._input.pitch=s.pitch=u.pitch,n.emit(\"plotly_doubleclick\",null),n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(u))}),r.clearOutline=function(){Sjt(r.dragOptions),Ajt(r.dragOptions.gd)},r.onClickInPanFn=function(s){return function(l){var u=n._fullLayout.clickmode;u.indexOf(\"select\")>-1&&Mjt(l.originalEvent,n,[r.xaxis],[r.yaxis],r.id,s),u.indexOf(\"event\")>-1&&a7.click(n,l.originalEvent)}}};Sh.updateFx=function(e){var t=this,r=t.map,n=t.gd;if(t.isStatic)return;function i(l){var u=t.map.unproject(l);return[u.lng,u.lat]}var a=e.dragmode,o;o=function(l,u){if(u.isRect){var c=l.range={};c[t.id]=[i([u.xmin,u.ymin]),i([u.xmax,u.ymax])]}else{var f=l.lassoPoints={};f[t.id]=u.map(i)}};var s=t.dragOptions;t.dragOptions=yJ.extendDeep(s||{},{dragmode:e.dragmode,element:t.div,gd:n,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:o},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off(\"click\",t.onClickInPanHandler),wjt(a)||bjt(a)?(r.dragPan.disable(),r.on(\"zoomstart\",t.clearOutline),t.dragOptions.prepFn=function(l,u,c){Tjt(l,u,c,t.dragOptions,a)},xjt.init(t.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener(\"touchstart\",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on(\"click\",t.onClickInPanHandler))};Sh.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+\"px\",n.height=r.h*(t.y[1]-t.y[0])+\"px\",n.left=r.l+t.x[0]*r.w+\"px\",n.top=r.t+(1-t.y[1])*r.h+\"px\",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])};Sh.updateLayers=function(e){var t=e[this.id],r=t.layers,n=this.layerList,i;if(r.length!==n.length){for(i=0;i<n.length;i++)n[i].dispose();for(n=this.layerList=[],i=0;i<r.length;i++)n.push(Ejt(this,i,r[i]))}else for(i=0;i<r.length;i++)n[i].update(r[i])};Sh.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))};Sh.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()};Sh.setOptions=function(e,t,r){for(var n in r)this.map[t](e,n,r[n])};Sh.getMapLayers=function(){return this.map.getStyle().layers};Sh.addLayer=function(e,t){var r=this.map;if(typeof t==\"string\"){if(t===\"\"){r.addLayer(e,t);return}for(var n=this.getMapLayers(),i=0;i<n.length;i++)if(t===n[i].id){r.addLayer(e,t);return}yJ.warn([\"Trying to add layer with *below* value\",t,\"referencing a layer that does not exist\",\"or that does not yet exist.\"].join(\" \"))}r.addLayer(e)};Sh.project=function(e){return this.map.project(new mJ.LngLat(e[0],e[1]))};Sh.getView=function(){var e=this.map,t=e.getCenter(),r=t.lng,n=t.lat,i={lon:r,lat:n},a=e.getCanvas(),o=parseInt(a.style.width),s=parseInt(a.style.height);return{center:i,zoom:e.getZoom(),bearing:e.getBearing(),pitch:e.getPitch(),_derived:{coordinates:[e.unproject([0,0]).toArray(),e.unproject([o,0]).toArray(),e.unproject([o,s]).toArray(),e.unproject([0,s]).toArray()]}}};Sh.getViewEdits=function(e){for(var t=this.id,r=[\"center\",\"zoom\",\"bearing\",\"pitch\"],n={},i=0;i<r.length;i++){var a=r[i];n[t+\".\"+a]=e[a]}return n};Sh.getViewEditsWithDerived=function(e){var t=this.id,r=this.getViewEdits(e);return r[t+\"._derived\"]=e._derived,r};function rGe(e){var t={};return yJ.isPlainObject(e)?(t.id=e.id,t.style=e):typeof e==\"string\"?(t.id=e,nw.stylesMap[e]?t.style=nw.stylesMap[e]:t.style=e):(t.id=nw.styleValueDflt,t.style=kjt(nw.styleValueDflt)),t.transition={duration:0,delay:0},t}function kjt(e){return nw.styleUrlPrefix+e+\"-\"+nw.styleUrlSuffix}function _J(e){return[e.lon,e.lat]}iGe.exports=tGe});var sGe=ye((Y1r,oGe)=>{\"use strict\";var xJ=Mr(),Cjt=C_(),Ljt=Zd(),aGe=Ok();oGe.exports=function(t,r,n){Cjt(t,r,n,{type:\"map\",attributes:aGe,handleDefaults:Pjt,partition:\"y\"})};function Pjt(e,t,r){r(\"style\"),r(\"center.lon\"),r(\"center.lat\"),r(\"zoom\"),r(\"bearing\"),r(\"pitch\");var n=r(\"bounds.west\"),i=r(\"bounds.east\"),a=r(\"bounds.south\"),o=r(\"bounds.north\");(n===void 0||i===void 0||a===void 0||o===void 0)&&delete t.bounds,Ljt(e,t,{name:\"layers\",handleItemDefaults:Ijt}),t._input=e}function Ijt(e,t){function r(l,u){return xJ.coerce(e,t,aGe.layers,l,u)}var n=r(\"visible\");if(n){var i=r(\"sourcetype\"),a=i===\"raster\"||i===\"image\";r(\"source\"),r(\"sourceattribution\"),i===\"vector\"&&r(\"sourcelayer\"),i===\"image\"&&r(\"coordinates\");var o;a&&(o=\"raster\");var s=r(\"type\",o);a&&s!==\"raster\"&&(s=t.type=\"raster\",xJ.log(\"Source types *raster* and *image* must drawn *raster* layer type.\")),r(\"below\"),r(\"color\"),r(\"opacity\"),r(\"minzoom\"),r(\"maxzoom\"),s===\"circle\"&&r(\"circle.radius\"),s===\"line\"&&(r(\"line.width\"),r(\"line.dash\")),s===\"fill\"&&r(\"fill.outlinecolor\"),s===\"symbol\"&&(r(\"symbol.icon\"),r(\"symbol.iconsize\"),r(\"symbol.text\"),xJ.coerceFont(r,\"symbol.textfont\",void 0,{noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}),r(\"symbol.textposition\"),r(\"symbol.placement\"))}}});var s7=ye(l0=>{\"use strict\";var o7=Mr(),lGe=o7.strTranslate,Rjt=o7.strScale,Djt=kd().getSubplotCalcData,zjt=Zp(),Fjt=xa(),uGe=ao(),qjt=Pl(),Ojt=nGe(),Tx=\"map\";l0.name=Tx;l0.attr=\"subplot\";l0.idRoot=Tx;l0.idRegex=l0.attrRegex=o7.counterRegex(Tx);l0.attributes={subplot:{valType:\"subplotid\",dflt:\"map\",editType:\"calc\"}};l0.layoutAttributes=Ok();l0.supplyLayoutDefaults=sGe();l0.plot=function(t){for(var r=t._fullLayout,n=t.calcdata,i=r._subplots[Tx],a=0;a<i.length;a++){var o=i[a],s=Djt(n,Tx,o),l=r[o],u=l._subplot;u||(u=new Ojt(t,o),r[o]._subplot=u),u.viewInitial||(u.viewInitial={center:o7.extendFlat({},l.center),zoom:l.zoom,bearing:l.bearing,pitch:l.pitch}),u.plot(s,r,t._promises)}};l0.clean=function(e,t,r,n){for(var i=n._subplots[Tx]||[],a=0;a<i.length;a++){var o=i[a];!t[o]&&n[o]._subplot&&n[o]._subplot.destroy()}};l0.toSVG=function(e){for(var t=e._fullLayout,r=t._subplots[Tx],n=t._size,i=0;i<r.length;i++){var a=t[r[i]],o=a.domain,s=a._subplot,l=s.toImage(\"png\"),u=t._glimages.append(\"svg:image\");u.attr({xmlns:zjt.svg,\"xlink:href\":l,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"});var c=Fjt.select(a._subplot.div),f=c.select(\".maplibregl-ctrl-attrib\").text().replace(\"Improve this map\",\"\"),h=t._glimages.append(\"g\"),d=h.append(\"text\");d.text(f).classed(\"static-attribution\",!0).attr({\"font-size\":12,\"font-family\":\"Arial\",color:\"rgba(0, 0, 0, 0.75)\",\"text-anchor\":\"end\",\"data-unformatted\":f});var v=uGe.bBox(d.node()),x=n.w*(o.x[1]-o.x[0]);if(v.width>x/2){var b=f.split(\"|\").join(\"<br>\");d.text(b).attr(\"data-unformatted\",b).call(qjt.convertToTspans,e),v=uGe.bBox(d.node())}d.attr(\"transform\",lGe(-3,-v.height+8)),h.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 p=1;v.width+6>x&&(p=x/(v.width+6));var E=[n.l+n.w*o.x[1],n.t+n.h*(1-o.y[0])];h.attr(\"transform\",lGe(E[0],E[1])+Rjt(p))}};l0.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[Tx],n=0;n<r.length;n++){var i=t[r[n]]._subplot;i.updateFx(t)}}});var fGe=ye((J1r,cGe)=>{\"use strict\";cGe.exports={attributes:$F(),supplyDefaults:THe(),colorbar:Kd(),formatLabels:cJ(),calc:lz(),plot:qHe(),hoverPoints:i7().hoverPoints,eventData:UHe(),selectPoints:HHe(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.update(t)}},moduleType:\"trace\",name:\"scattermap\",basePlotModule:s7(),categories:[\"map\",\"gl\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var dGe=ye(($1r,hGe)=>{\"use strict\";hGe.exports=fGe()});var bJ=ye((Q1r,vGe)=>{\"use strict\";var d1=K5(),Bjt=Jl(),Njt=Wo().hovertemplateAttrs,Ujt=vl(),Ax=no().extendFlat;vGe.exports=Ax({locations:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:Ax({},d1.featureidkey,{}),below:{valType:\"string\",editType:\"plot\"},text:d1.text,hovertext:d1.hovertext,marker:{line:{color:Ax({},d1.marker.line.color,{editType:\"plot\"}),width:Ax({},d1.marker.line.width,{editType:\"plot\"}),editType:\"calc\"},opacity:Ax({},d1.marker.opacity,{editType:\"plot\"}),editType:\"calc\"},selected:{marker:{opacity:Ax({},d1.selected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:Ax({},d1.unselected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},hoverinfo:d1.hoverinfo,hovertemplate:Njt({},{keys:[\"properties\"]}),showlegend:Ax({},Ujt.showlegend,{dflt:!1})},Bjt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var gGe=ye((e_r,pGe)=>{\"use strict\";var Vk=Mr(),Vjt=Uh(),Hjt=bJ();pGe.exports=function(t,r,n,i){function a(c,f){return Vk.coerce(t,r,Hjt,c,f)}var o=a(\"locations\"),s=a(\"z\"),l=a(\"geojson\");if(!Vk.isArrayOrTypedArray(o)||!o.length||!Vk.isArrayOrTypedArray(s)||!s.length||!(typeof l==\"string\"&&l!==\"\"||Vk.isPlainObject(l))){r.visible=!1;return}a(\"featureidkey\"),r._length=Math.min(o.length,s.length),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\");var u=a(\"marker.line.width\");u&&a(\"marker.line.color\"),a(\"marker.opacity\"),Vjt(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),Vk.coerceSelectionMarkerOpacity(r,a)}});var wJ=ye((t_r,_Ge)=>{\"use strict\";var Gjt=uo(),v1=Mr(),jjt=Mu(),Wjt=ao(),Zjt=rx().makeBlank,mGe=nx();function Xjt(e){var t=e[0].trace,r=t.visible===!0&&t._length!==0,n={layout:{visibility:\"none\"},paint:{}},i={layout:{visibility:\"none\"},paint:{}},a=t._opts={fill:n,line:i,geojson:Zjt()};if(!r)return a;var o=mGe.extractTraceFeature(e);if(!o)return a;var s=jjt.makeColorScaleFuncFromTrace(t),l=t.marker,u=l.line||{},c;v1.isArrayOrTypedArray(l.opacity)&&(c=function(E){var k=E.mo;return Gjt(k)?+v1.constrain(k,0,1):0});var f;v1.isArrayOrTypedArray(u.color)&&(f=function(E){return E.mlc});var h;v1.isArrayOrTypedArray(u.width)&&(h=function(E){return E.mlw});for(var d=0;d<e.length;d++){var v=e[d],x=v.fOut;if(x){var b=x.properties;b.fc=s(v.z),c&&(b.mo=c(v)),f&&(b.mlc=f(v)),h&&(b.mlw=h(v)),v.ct=b.ct,v._polygons=mGe.feature2polygons(x)}}var p=c?{type:\"identity\",property:\"mo\"}:l.opacity;return v1.extendFlat(n.paint,{\"fill-color\":{type:\"identity\",property:\"fc\"},\"fill-opacity\":p}),v1.extendFlat(i.paint,{\"line-color\":f?{type:\"identity\",property:\"mlc\"}:u.color,\"line-width\":h?{type:\"identity\",property:\"mlw\"}:u.width,\"line-opacity\":p}),n.layout.visibility=\"visible\",i.layout.visibility=\"visible\",a.geojson={type:\"FeatureCollection\",features:o},yGe(e),a}function yGe(e){var t=e[0].trace,r=t._opts,n;if(t.selectedpoints){for(var i=Wjt.makeSelectedPointStyleFns(t),a=0;a<e.length;a++){var o=e[a];o.fOut&&(o.fOut.properties.mo2=i.selectedOpacityFn(o))}n={type:\"identity\",property:\"mo2\"}}else n=v1.isArrayOrTypedArray(t.marker.opacity)?{type:\"identity\",property:\"mo\"}:t.marker.opacity;return v1.extendFlat(r.fill.paint,{\"fill-opacity\":n}),v1.extendFlat(r.line.paint,{\"line-opacity\":n}),r}_Ge.exports={convert:Xjt,convertOnSelect:yGe}});var AGe=ye((r_r,TGe)=>{\"use strict\";var bGe=wJ().convert,Yjt=wJ().convertOnSelect,xGe=wx().traceLayerPrefix;function wGe(e,t){this.type=\"choroplethmap\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"fill\",xGe+t+\"-fill\"],[\"line\",xGe+t+\"-line\"]],this.below=null}var MA=wGe.prototype;MA.update=function(e){this._update(bGe(e)),e[0].trace._glTrace=this};MA.updateOnSelect=function(e){this._update(Yjt(e))};MA._update=function(e){var t=this.subplot,r=this.layerList,n=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(e.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(e,n),this.below=n);for(var i=0;i<r.length;i++){var a=r[i],o=a[0],s=a[1],l=e[o];t.setOptions(s,\"setLayoutProperty\",l.layout),l.layout.visibility===\"visible\"&&t.setOptions(s,\"setPaintProperty\",l.paint)}};MA._addLayers=function(e,t){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=e[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},t)}};MA._removeLayers=function(){for(var e=this.subplot.map,t=this.layerList,r=t.length-1;r>=0;r--)e.removeLayer(t[r][1])};MA.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};TGe.exports=function(t,r){var n=r[0].trace,i=new wGe(t,n.uid),a=i.sourceId,o=bGe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),r[0].trace._glTrace=i,i}});var MGe=ye((i_r,SGe)=>{\"use strict\";SGe.exports={attributes:bJ(),supplyDefaults:gGe(),colorbar:M_(),calc:Lz(),plot:AGe(),hoverPoints:Iz(),eventData:Rz(),selectPoints:Dz(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.updateOnSelect(t)}},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if(typeof i==\"string\"&&i.indexOf(\"water\")===0){for(var a=n+1;a<r.length;a++)if(i=r[a].id,typeof i==\"string\"&&i.indexOf(\"plotly-\")===-1)return i}}},moduleType:\"trace\",name:\"choroplethmap\",basePlotModule:s7(),categories:[\"map\",\"gl\",\"noOpacity\",\"showLegend\"],meta:{hr_name:\"choropleth_map\"}}});var kGe=ye((n_r,EGe)=>{\"use strict\";EGe.exports=MGe()});var AJ=ye((a_r,LGe)=>{\"use strict\";var Kjt=Jl(),Jjt=Wo().hovertemplateAttrs,CGe=vl(),l7=$F(),TJ=no().extendFlat;LGe.exports=TJ({lon:l7.lon,lat:l7.lat,z:{valType:\"data_array\",editType:\"calc\"},radius:{valType:\"number\",editType:\"plot\",arrayOk:!0,min:1,dflt:30},below:{valType:\"string\",editType:\"plot\"},text:l7.text,hovertext:l7.hovertext,hoverinfo:TJ({},CGe.hoverinfo,{flags:[\"lon\",\"lat\",\"z\",\"text\",\"name\"]}),hovertemplate:Jjt(),showlegend:TJ({},CGe.showlegend,{dflt:!1})},Kjt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var IGe=ye((o_r,PGe)=>{\"use strict\";var $jt=Mr(),Qjt=Uh(),eWt=AJ();PGe.exports=function(t,r,n,i){function a(u,c){return $jt.coerce(t,r,eWt,u,c)}var o=a(\"lon\")||[],s=a(\"lat\")||[],l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a(\"z\"),a(\"radius\"),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),Qjt(t,r,i,a,{prefix:\"\",cLetter:\"z\"})}});var zGe=ye((s_r,DGe)=>{\"use strict\";var SJ=uo(),tWt=Mr().isArrayOrTypedArray,MJ=es().BADNUM,rWt=zv(),RGe=Mr()._;DGe.exports=function(t,r){for(var n=r._length,i=new Array(n),a=r.z,o=tWt(a)&&a.length,s=0;s<n;s++){var l=i[s]={},u=r.lon[s],c=r.lat[s];if(l.lonlat=SJ(u)&&SJ(c)?[+u,+c]:[MJ,MJ],o){var f=a[s];l.z=SJ(f)?f:MJ}}return rWt(t,r,{vals:o?a:[0,1],containerStr:\"\",cLetter:\"z\"}),n&&(i[0].t={labels:{lat:RGe(t,\"lat:\")+\" \",lon:RGe(t,\"lon:\")+\" \"}}),i}});var NGe=ye((l_r,BGe)=>{\"use strict\";var iWt=uo(),EJ=Mr(),FGe=va(),qGe=Mu(),OGe=es().BADNUM,nWt=rx().makeBlank;BGe.exports=function(t){var r=t[0].trace,n=r.visible===!0&&r._length!==0,i={layout:{visibility:\"none\"},paint:{}},a=r._opts={heatmap:i,geojson:nWt()};if(!n)return a;var o=[],s,l=r.z,u=r.radius,c=EJ.isArrayOrTypedArray(l)&&l.length,f=EJ.isArrayOrTypedArray(u);for(s=0;s<t.length;s++){var h=t[s],d=h.lonlat;if(d[0]!==OGe){var v={};if(c){var x=h.z;v.z=x!==OGe?x:0}f&&(v.r=iWt(u[s])&&u[s]>0?+u[s]:0),o.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:d},properties:v})}}var b=qGe.extractOpts(r),p=b.reversescale?qGe.flipScale(b.colorscale):b.colorscale,E=p[0][1],k=FGe.opacity(E)<1?E:FGe.addOpacity(E,0),A=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,k];for(s=1;s<p.length;s++)A.push(p[s][0],p[s][1]);var L=[\"interpolate\",[\"linear\"],[\"get\",\"z\"],b.min,0,b.max,1];return EJ.extendFlat(a.heatmap.paint,{\"heatmap-weight\":c?L:1/(b.max-b.min),\"heatmap-color\":A,\"heatmap-radius\":f?{type:\"identity\",property:\"r\"}:r.radius,\"heatmap-opacity\":r.opacity}),a.geojson={type:\"FeatureCollection\",features:o},a.heatmap.layout.visibility=\"visible\",a}});var GGe=ye((u_r,HGe)=>{\"use strict\";var UGe=NGe(),aWt=wx().traceLayerPrefix;function VGe(e,t){this.type=\"densitymap\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"heatmap\",aWt+t+\"-heatmap\"]],this.below=null}var u7=VGe.prototype;u7.update=function(e){var t=this.subplot,r=this.layerList,n=UGe(e),i=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(n.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(n,i),this.below=i);for(var a=0;a<r.length;a++){var o=r[a],s=o[0],l=o[1],u=n[s];t.setOptions(l,\"setLayoutProperty\",u.layout),u.layout.visibility===\"visible\"&&t.setOptions(l,\"setPaintProperty\",u.paint)}};u7._addLayers=function(e,t){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=e[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},t)}};u7._removeLayers=function(){for(var e=this.subplot.map,t=this.layerList,r=t.length-1;r>=0;r--)e.removeLayer(t[r][1])};u7.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};HGe.exports=function(t,r){var n=r[0].trace,i=new VGe(t,n.uid),a=i.sourceId,o=UGe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),i}});var WGe=ye((c_r,jGe)=>{\"use strict\";var oWt=Qa(),sWt=i7().hoverPoints,lWt=i7().getExtraText;jGe.exports=function(t,r,n){var i=sWt(t,r,n);if(i){var a=i[0],o=a.cd,s=o[0].trace,l=o[a.index];if(delete a.color,\"z\"in l){var u=a.subplot.mockAxis;a.z=l.z,a.zLabel=oWt.tickText(u,u.c2l(l.z),\"hover\").text}return a.extraText=lWt(s,l,o[0].t.labels),[a]}}});var XGe=ye((f_r,ZGe)=>{\"use strict\";ZGe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t.z=r.z,t}});var KGe=ye((h_r,YGe)=>{\"use strict\";YGe.exports={attributes:AJ(),supplyDefaults:IGe(),colorbar:M_(),formatLabels:cJ(),calc:zGe(),plot:GGe(),hoverPoints:WGe(),eventData:XGe(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n<r.length;n++){var i=r[n],a=i.id;if(i.type===\"symbol\"&&typeof a==\"string\"&&a.indexOf(\"plotly-\")===-1)return a}},moduleType:\"trace\",name:\"densitymap\",basePlotModule:s7(),categories:[\"map\",\"gl\",\"showLegend\"],meta:{hr_name:\"density_map\"}}});var $Ge=ye((d_r,JGe)=>{\"use strict\";JGe.exports=KGe()});var CJ=ye((p_r,rje)=>{\"use strict\";var uWt=Su(),cWt=vl(),QGe=dh(),kJ=i3(),fWt=Ju().attributes,eje=Wo().hovertemplateAttrs,hWt=Jl(),dWt=Vs().templatedArray,vWt=Oc().descriptionOnlyNumbers,tje=no().extendFlat,pWt=Bu().overrideAll,v_r=rje.exports=pWt({hoverinfo:tje({},cWt.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:kJ.hoverlabel,domain:fWt({name:\"sankey\",trace:!0}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\"},valueformat:{valType:\"string\",dflt:\".3s\",description:vWt(\"value\")},valuesuffix:{valType:\"string\",dflt:\"\"},arrangement:{valType:\"enumerated\",values:[\"snap\",\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"snap\"},textfont:uWt({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:QGe.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:kJ.hoverlabel,hovertemplate:eje({},{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:QGe.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:kJ.hoverlabel,hovertemplate:eje({},{keys:[\"value\",\"label\"]}),colorscales:dWt(\"concentrationscales\",{editType:\"calc\",label:{valType:\"string\",editType:\"calc\",dflt:\"\"},cmax:{valType:\"number\",editType:\"calc\",dflt:1},cmin:{valType:\"number\",editType:\"calc\",dflt:0},colorscale:tje(hWt().colorscale,{dflt:[[0,\"white\"],[1,\"black\"]]})})}},\"calc\",\"nested\")});var sje=ye((g_r,oje)=>{\"use strict\";var EA=Mr(),c7=CJ(),gWt=va(),ije=id(),mWt=Ju().defaults,nje=oM(),aje=Vs(),yWt=Zd();oje.exports=function(t,r,n,i){function a(A,L){return EA.coerce(t,r,c7,A,L)}var o=EA.extendDeep(i.hoverlabel,t.hoverlabel),s=t.node,l=aje.newContainer(r,\"node\");function u(A,L){return EA.coerce(s,l,c7.node,A,L)}u(\"label\"),u(\"groups\"),u(\"x\"),u(\"y\"),u(\"pad\"),u(\"thickness\"),u(\"line.color\"),u(\"line.width\"),u(\"hoverinfo\",t.hoverinfo),nje(s,l,u,o),u(\"hovertemplate\"),u(\"align\");var c=i.colorway,f=function(A){return c[A%c.length]};u(\"color\",l.label.map(function(A,L){return gWt.addOpacity(f(L),.8)})),u(\"customdata\");var h=t.link||{},d=aje.newContainer(r,\"link\");function v(A,L){return EA.coerce(h,d,c7.link,A,L)}v(\"label\"),v(\"arrowlen\"),v(\"source\"),v(\"target\"),v(\"value\"),v(\"line.color\"),v(\"line.width\"),v(\"hoverinfo\",t.hoverinfo),nje(h,d,v,o),v(\"hovertemplate\");var x=ije(i.paper_bgcolor).getLuminance()<.333,b=x?\"rgba(255, 255, 255, 0.6)\":\"rgba(0, 0, 0, 0.2)\",p=v(\"color\",b);function E(A){var L=ije(A);if(!L.isValid())return A;var _=L.getAlpha();return _<=.8?L.setAlpha(_+.2):L=x?L.brighten():L.darken(),L.toRgbString()}v(\"hovercolor\",Array.isArray(p)?p.map(E):E(p)),v(\"customdata\"),yWt(h,d,{name:\"colorscales\",handleItemDefaults:_Wt}),mWt(r,i,a),a(\"orientation\"),a(\"valueformat\"),a(\"valuesuffix\");var k;l.x.length&&l.y.length&&(k=\"freeform\"),a(\"arrangement\",k),EA.coerceFont(a,\"textfont\",i.font,{autoShadowDflt:!0}),r._length=null};function _Wt(e,t){function r(n,i){return EA.coerce(e,t,c7.link.colorscales,n,i)}r(\"label\"),r(\"cmin\"),r(\"cmax\"),r(\"colorscale\")}});var LJ=ye((m_r,lje)=>{\"use strict\";lje.exports=xWt;function xWt(e){for(var t=e.length,r=new Array(t),n=new Array(t),i=new Array(t),a=new Array(t),o=new Array(t),s=new Array(t),l=0;l<t;++l)r[l]=-1,n[l]=0,i[l]=!1,a[l]=0,o[l]=-1,s[l]=[];var u=0,c=[],f=[];function h(b){var p=[b],E=[b];for(r[b]=n[b]=u,i[b]=!0,u+=1;E.length>0;){b=E[E.length-1];var k=e[b];if(a[b]<k.length){for(var A=a[b];A<k.length;++A){var L=k[A];if(r[L]<0){r[L]=n[L]=u,i[L]=!0,u+=1,p.push(L),E.push(L);break}else i[L]&&(n[b]=Math.min(n[b],n[L])|0);o[L]>=0&&s[b].push(o[L])}a[b]=A}else{if(n[b]===r[b]){for(var _=[],C=[],M=0,A=p.length-1;A>=0;--A){var g=p[A];if(i[g]=!1,_.push(g),C.push(s[g]),M+=s[g].length,o[g]=c.length,g===b){p.length=A;break}}c.push(_);for(var P=new Array(M),A=0;A<C.length;A++)for(var T=0;T<C[A].length;T++)P[--M]=C[A][T];f.push(P)}E.pop()}}}for(var l=0;l<t;++l)r[l]<0&&h(l);for(var d,l=0;l<f.length;l++){var v=f[l];if(v.length!==0){v.sort(function(p,E){return p-E}),d=[v[0]];for(var x=1;x<v.length;x++)v[x]!==v[x-1]&&d.push(v[x]);f[l]=d}}return{components:c,adjacencyList:f}}});var hje=ye((y_r,fje)=>{\"use strict\";var bWt=LJ(),kA=Mr(),wWt=Km().wrap,Hk=kA.isArrayOrTypedArray,uje=kA.isIndex,cje=Mu();function TWt(e){var t=e.node,r=e.link,n=[],i=Hk(r.color),a=Hk(r.hovercolor),o=Hk(r.customdata),s={},l={},u=r.colorscales.length,c;for(c=0;c<u;c++){var f=r.colorscales[c],h=cje.extractScale(f,{cLetter:\"c\"}),d=cje.makeColorScaleFunc(h);l[f.label]=d}var v=0;for(c=0;c<r.value.length;c++)r.source[c]>v&&(v=r.source[c]),r.target[c]>v&&(v=r.target[c]);var x=v+1;e.node._count=x;var b,p=e.node.groups,E={};for(c=0;c<p.length;c++){var k=p[c];for(b=0;b<k.length;b++){var A=k[b],L=x+c;E.hasOwnProperty(A)?kA.warn(\"Node \"+A+\" is already part of a group.\"):E[A]=L}}var _={source:[],target:[]};for(c=0;c<r.value.length;c++){var C=r.value[c],M=r.source[c],g=r.target[c];if(C>0&&uje(M,x)&&uje(g,x)&&!(E.hasOwnProperty(M)&&E.hasOwnProperty(g)&&E[M]===E[g])){E.hasOwnProperty(g)&&(g=E[g]),E.hasOwnProperty(M)&&(M=E[M]),M=+M,g=+g,s[M]=s[g]=!0;var P=\"\";r.label&&r.label[c]&&(P=r.label[c]);var T=null;P&&l.hasOwnProperty(P)&&(T=l[P]),n.push({pointNumber:c,label:P,color:i?r.color[c]:r.color,hovercolor:a?r.hovercolor[c]:r.hovercolor,customdata:o?r.customdata[c]:r.customdata,concentrationscale:T,source:M,target:g,value:+C}),_.source.push(M),_.target.push(g)}}var F=x+p.length,q=Hk(t.color),V=Hk(t.customdata),H=[];for(c=0;c<F;c++)if(s[c]){var X=t.label[c];H.push({group:c>x-1,childrenNodes:[],pointNumber:c,label:X,color:q?t.color[c]:t.color,customdata:V?t.customdata[c]:t.customdata})}var G=!1;return AWt(F,_.source,_.target)&&(G=!0),{circular:G,links:n,nodes:H,groups:p,groupLookup:E}}function AWt(e,t,r){for(var n=kA.init2dArray(e,0),i=0;i<Math.min(t.length,r.length);i++)if(kA.isIndex(t[i],e)&&kA.isIndex(r[i],e)){if(t[i]===r[i])return!0;n[t[i]].push(r[i])}var a=bWt(n);return a.components.some(function(o){return o.length>1})}fje.exports=function(t,r){var n=TWt(r);return wWt({circular:n.circular,_nodes:n.nodes,_links:n.links,_groups:n.groups,_groupLookup:n.groupLookup})}});var vje=ye((f7,dje)=>{(function(e,t){typeof f7==\"object\"&&typeof dje!=\"undefined\"?t(f7):(e=e||self,t(e.d3=e.d3||{}))})(f7,function(e){\"use strict\";function t(C){var M=+this._x.call(null,C),g=+this._y.call(null,C);return r(this.cover(M,g),M,g,C)}function r(C,M,g,P){if(isNaN(M)||isNaN(g))return C;var T,F=C._root,q={data:P},V=C._x0,H=C._y0,X=C._x1,G=C._y1,N,W,re,ae,_e,Me,ke,ge;if(!F)return C._root=q,C;for(;F.length;)if((_e=M>=(N=(V+X)/2))?V=N:X=N,(Me=g>=(W=(H+G)/2))?H=W:G=W,T=F,!(F=F[ke=Me<<1|_e]))return T[ke]=q,C;if(re=+C._x.call(null,F.data),ae=+C._y.call(null,F.data),M===re&&g===ae)return q.next=F,T?T[ke]=q:C._root=q,C;do T=T?T[ke]=new Array(4):C._root=new Array(4),(_e=M>=(N=(V+X)/2))?V=N:X=N,(Me=g>=(W=(H+G)/2))?H=W:G=W;while((ke=Me<<1|_e)===(ge=(ae>=W)<<1|re>=N));return T[ge]=F,T[ke]=q,C}function n(C){var M,g,P=C.length,T,F,q=new Array(P),V=new Array(P),H=1/0,X=1/0,G=-1/0,N=-1/0;for(g=0;g<P;++g)isNaN(T=+this._x.call(null,M=C[g]))||isNaN(F=+this._y.call(null,M))||(q[g]=T,V[g]=F,T<H&&(H=T),T>G&&(G=T),F<X&&(X=F),F>N&&(N=F));if(H>G||X>N)return this;for(this.cover(H,X).cover(G,N),g=0;g<P;++g)r(this,q[g],V[g],C[g]);return this}function i(C,M){if(isNaN(C=+C)||isNaN(M=+M))return this;var g=this._x0,P=this._y0,T=this._x1,F=this._y1;if(isNaN(g))T=(g=Math.floor(C))+1,F=(P=Math.floor(M))+1;else{for(var q=T-g,V=this._root,H,X;g>C||C>=T||P>M||M>=F;)switch(X=(M<P)<<1|C<g,H=new Array(4),H[X]=V,V=H,q*=2,X){case 0:T=g+q,F=P+q;break;case 1:g=T-q,F=P+q;break;case 2:T=g+q,P=F-q;break;case 3:g=T-q,P=F-q;break}this._root&&this._root.length&&(this._root=V)}return this._x0=g,this._y0=P,this._x1=T,this._y1=F,this}function a(){var C=[];return this.visit(function(M){if(!M.length)do C.push(M.data);while(M=M.next)}),C}function o(C){return arguments.length?this.cover(+C[0][0],+C[0][1]).cover(+C[1][0],+C[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function s(C,M,g,P,T){this.node=C,this.x0=M,this.y0=g,this.x1=P,this.y1=T}function l(C,M,g){var P,T=this._x0,F=this._y0,q,V,H,X,G=this._x1,N=this._y1,W=[],re=this._root,ae,_e;for(re&&W.push(new s(re,T,F,G,N)),g==null?g=1/0:(T=C-g,F=M-g,G=C+g,N=M+g,g*=g);ae=W.pop();)if(!(!(re=ae.node)||(q=ae.x0)>G||(V=ae.y0)>N||(H=ae.x1)<T||(X=ae.y1)<F))if(re.length){var Me=(q+H)/2,ke=(V+X)/2;W.push(new s(re[3],Me,ke,H,X),new s(re[2],q,ke,Me,X),new s(re[1],Me,V,H,ke),new s(re[0],q,V,Me,ke)),(_e=(M>=ke)<<1|C>=Me)&&(ae=W[W.length-1],W[W.length-1]=W[W.length-1-_e],W[W.length-1-_e]=ae)}else{var ge=C-+this._x.call(null,re.data),ie=M-+this._y.call(null,re.data),Te=ge*ge+ie*ie;if(Te<g){var Ee=Math.sqrt(g=Te);T=C-Ee,F=M-Ee,G=C+Ee,N=M+Ee,P=re.data}}return P}function u(C){if(isNaN(G=+this._x.call(null,C))||isNaN(N=+this._y.call(null,C)))return this;var M,g=this._root,P,T,F,q=this._x0,V=this._y0,H=this._x1,X=this._y1,G,N,W,re,ae,_e,Me,ke;if(!g)return this;if(g.length)for(;;){if((ae=G>=(W=(q+H)/2))?q=W:H=W,(_e=N>=(re=(V+X)/2))?V=re:X=re,M=g,!(g=g[Me=_e<<1|ae]))return this;if(!g.length)break;(M[Me+1&3]||M[Me+2&3]||M[Me+3&3])&&(P=M,ke=Me)}for(;g.data!==C;)if(T=g,!(g=g.next))return this;return(F=g.next)&&delete g.next,T?(F?T.next=F:delete T.next,this):M?(F?M[Me]=F:delete M[Me],(g=M[0]||M[1]||M[2]||M[3])&&g===(M[3]||M[2]||M[1]||M[0])&&!g.length&&(P?P[ke]=g:this._root=g),this):(this._root=F,this)}function c(C){for(var M=0,g=C.length;M<g;++M)this.remove(C[M]);return this}function f(){return this._root}function h(){var C=0;return this.visit(function(M){if(!M.length)do++C;while(M=M.next)}),C}function d(C){var M=[],g,P=this._root,T,F,q,V,H;for(P&&M.push(new s(P,this._x0,this._y0,this._x1,this._y1));g=M.pop();)if(!C(P=g.node,F=g.x0,q=g.y0,V=g.x1,H=g.y1)&&P.length){var X=(F+V)/2,G=(q+H)/2;(T=P[3])&&M.push(new s(T,X,G,V,H)),(T=P[2])&&M.push(new s(T,F,G,X,H)),(T=P[1])&&M.push(new s(T,X,q,V,G)),(T=P[0])&&M.push(new s(T,F,q,X,G))}return this}function v(C){var M=[],g=[],P;for(this._root&&M.push(new s(this._root,this._x0,this._y0,this._x1,this._y1));P=M.pop();){var T=P.node;if(T.length){var F,q=P.x0,V=P.y0,H=P.x1,X=P.y1,G=(q+H)/2,N=(V+X)/2;(F=T[0])&&M.push(new s(F,q,V,G,N)),(F=T[1])&&M.push(new s(F,G,V,H,N)),(F=T[2])&&M.push(new s(F,q,N,G,X)),(F=T[3])&&M.push(new s(F,G,N,H,X))}g.push(P)}for(;P=g.pop();)C(P.node,P.x0,P.y0,P.x1,P.y1);return this}function x(C){return C[0]}function b(C){return arguments.length?(this._x=C,this):this._x}function p(C){return C[1]}function E(C){return arguments.length?(this._y=C,this):this._y}function k(C,M,g){var P=new A(M==null?x:M,g==null?p:g,NaN,NaN,NaN,NaN);return C==null?P:P.addAll(C)}function A(C,M,g,P,T,F){this._x=C,this._y=M,this._x0=g,this._y0=P,this._x1=T,this._y1=F,this._root=void 0}function L(C){for(var M={data:C.data},g=M;C=C.next;)g=g.next={data:C.data};return M}var _=k.prototype=A.prototype;_.copy=function(){var C=new A(this._x,this._y,this._x0,this._y0,this._x1,this._y1),M=this._root,g,P;if(!M)return C;if(!M.length)return C._root=L(M),C;for(g=[{source:M,target:C._root=new Array(4)}];M=g.pop();)for(var T=0;T<4;++T)(P=M.source[T])&&(P.length?g.push({source:P,target:M.target[T]=new Array(4)}):M.target[T]=L(P));return C},_.add=t,_.addAll=n,_.cover=i,_.data=a,_.extent=o,_.find=l,_.remove=u,_.removeAll=c,_.root=f,_.size=h,_.visit=d,_.visitAfter=v,_.x=b,_.y=E,e.quadtree=k,Object.defineProperty(e,\"__esModule\",{value:!0})})});var d7=ye((h7,pje)=>{(function(e,t){t(typeof h7==\"object\"&&typeof pje!=\"undefined\"?h7:e.d3=e.d3||{})})(h7,function(e){\"use strict\";var t=\"$\";function r(){}r.prototype=n.prototype={constructor:r,has:function(x){return t+x in this},get:function(x){return this[t+x]},set:function(x,b){return this[t+x]=b,this},remove:function(x){var b=t+x;return b in this&&delete this[b]},clear:function(){for(var x in this)x[0]===t&&delete this[x]},keys:function(){var x=[];for(var b in this)b[0]===t&&x.push(b.slice(1));return x},values:function(){var x=[];for(var b in this)b[0]===t&&x.push(this[b]);return x},entries:function(){var x=[];for(var b in this)b[0]===t&&x.push({key:b.slice(1),value:this[b]});return x},size:function(){var x=0;for(var b in this)b[0]===t&&++x;return x},empty:function(){for(var x in this)if(x[0]===t)return!1;return!0},each:function(x){for(var b in this)b[0]===t&&x(this[b],b.slice(1),this)}};function n(x,b){var p=new r;if(x instanceof r)x.each(function(_,C){p.set(C,_)});else if(Array.isArray(x)){var E=-1,k=x.length,A;if(b==null)for(;++E<k;)p.set(E,x[E]);else for(;++E<k;)p.set(b(A=x[E],E,x),A)}else if(x)for(var L in x)p.set(L,x[L]);return p}function i(){var x=[],b=[],p,E,k;function A(_,C,M,g){if(C>=x.length)return p!=null&&_.sort(p),E!=null?E(_):_;for(var P=-1,T=_.length,F=x[C++],q,V,H=n(),X,G=M();++P<T;)(X=H.get(q=F(V=_[P])+\"\"))?X.push(V):H.set(q,[V]);return H.each(function(N,W){g(G,W,A(N,C,M,g))}),G}function L(_,C){if(++C>x.length)return _;var M,g=b[C-1];return E!=null&&C>=x.length?M=_.entries():(M=[],_.each(function(P,T){M.push({key:T,values:L(P,C)})})),g!=null?M.sort(function(P,T){return g(P.key,T.key)}):M}return k={object:function(_){return A(_,0,a,o)},map:function(_){return A(_,0,s,l)},entries:function(_){return L(A(_,0,s,l),0)},key:function(_){return x.push(_),k},sortKeys:function(_){return b[x.length-1]=_,k},sortValues:function(_){return p=_,k},rollup:function(_){return E=_,k}}}function a(){return{}}function o(x,b,p){x[b]=p}function s(){return n()}function l(x,b,p){x.set(b,p)}function u(){}var c=n.prototype;u.prototype=f.prototype={constructor:u,has:c.has,add:function(x){return x+=\"\",this[t+x]=x,this},remove:c.remove,clear:c.clear,values:c.keys,size:c.size,empty:c.empty,each:c.each};function f(x,b){var p=new u;if(x instanceof u)x.each(function(A){p.add(A)});else if(x){var E=-1,k=x.length;if(b==null)for(;++E<k;)p.add(x[E]);else for(;++E<k;)p.add(b(x[E],E,x))}return p}function h(x){var b=[];for(var p in x)b.push(p);return b}function d(x){var b=[];for(var p in x)b.push(x[p]);return b}function v(x){var b=[];for(var p in x)b.push({key:p,value:x[p]});return b}e.nest=i,e.set=f,e.map=n,e.keys=h,e.values=d,e.entries=v,Object.defineProperty(e,\"__esModule\",{value:!0})})});var mje=ye((v7,gje)=>{(function(e,t){typeof v7==\"object\"&&typeof gje!=\"undefined\"?t(v7):(e=e||self,t(e.d3=e.d3||{}))})(v7,function(e){\"use strict\";var t={value:function(){}};function r(){for(var s=0,l=arguments.length,u={},c;s<l;++s){if(!(c=arguments[s]+\"\")||c in u||/[\\s.]/.test(c))throw new Error(\"illegal type: \"+c);u[c]=[]}return new n(u)}function n(s){this._=s}function i(s,l){return s.trim().split(/^|\\s+/).map(function(u){var c=\"\",f=u.indexOf(\".\");if(f>=0&&(c=u.slice(f+1),u=u.slice(0,f)),u&&!l.hasOwnProperty(u))throw new Error(\"unknown type: \"+u);return{type:u,name:c}})}n.prototype=r.prototype={constructor:n,on:function(s,l){var u=this._,c=i(s+\"\",u),f,h=-1,d=c.length;if(arguments.length<2){for(;++h<d;)if((f=(s=c[h]).type)&&(f=a(u[f],s.name)))return f;return}if(l!=null&&typeof l!=\"function\")throw new Error(\"invalid callback: \"+l);for(;++h<d;)if(f=(s=c[h]).type)u[f]=o(u[f],s.name,l);else if(l==null)for(f in u)u[f]=o(u[f],s.name,null);return this},copy:function(){var s={},l=this._;for(var u in l)s[u]=l[u].slice();return new n(s)},call:function(s,l){if((f=arguments.length-2)>0)for(var u=new Array(f),c=0,f,h;c<f;++c)u[c]=arguments[c+2];if(!this._.hasOwnProperty(s))throw new Error(\"unknown type: \"+s);for(h=this._[s],c=0,f=h.length;c<f;++c)h[c].value.apply(l,u)},apply:function(s,l,u){if(!this._.hasOwnProperty(s))throw new Error(\"unknown type: \"+s);for(var c=this._[s],f=0,h=c.length;f<h;++f)c[f].value.apply(l,u)}};function a(s,l){for(var u=0,c=s.length,f;u<c;++u)if((f=s[u]).name===l)return f.value}function o(s,l,u){for(var c=0,f=s.length;c<f;++c)if(s[c].name===l){s[c]=t,s=s.slice(0,c).concat(s.slice(c+1));break}return u!=null&&s.push({name:l,value:u}),s}e.dispatch=r,Object.defineProperty(e,\"__esModule\",{value:!0})})});var _je=ye((p7,yje)=>{(function(e,t){typeof p7==\"object\"&&typeof yje!=\"undefined\"?t(p7):(e=e||self,t(e.d3=e.d3||{}))})(p7,function(e){\"use strict\";var t=0,r=0,n=0,i=1e3,a,o,s=0,l=0,u=0,c=typeof performance==\"object\"&&performance.now?performance:Date,f=typeof window==\"object\"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(C){setTimeout(C,17)};function h(){return l||(f(d),l=c.now()+u)}function d(){l=0}function v(){this._call=this._time=this._next=null}v.prototype=x.prototype={constructor:v,restart:function(C,M,g){if(typeof C!=\"function\")throw new TypeError(\"callback is not a function\");g=(g==null?h():+g)+(M==null?0:+M),!this._next&&o!==this&&(o?o._next=this:a=this,o=this),this._call=C,this._time=g,A()},stop:function(){this._call&&(this._call=null,this._time=1/0,A())}};function x(C,M,g){var P=new v;return P.restart(C,M,g),P}function b(){h(),++t;for(var C=a,M;C;)(M=l-C._time)>=0&&C._call.call(null,M),C=C._next;--t}function p(){l=(s=c.now())+u,t=r=0;try{b()}finally{t=0,k(),l=0}}function E(){var C=c.now(),M=C-s;M>i&&(u-=M,s=C)}function k(){for(var C,M=a,g,P=1/0;M;)M._call?(P>M._time&&(P=M._time),C=M,M=M._next):(g=M._next,M._next=null,M=C?C._next=g:a=g);o=C,A(P)}function A(C){if(!t){r&&(r=clearTimeout(r));var M=C-l;M>24?(C<1/0&&(r=setTimeout(p,C-c.now()-u)),n&&(n=clearInterval(n))):(n||(s=c.now(),n=setInterval(E,i)),t=1,f(p))}}function L(C,M,g){var P=new v;return M=M==null?0:+M,P.restart(function(T){P.stop(),C(T+M)},M,g),P}function _(C,M,g){var P=new v,T=M;return M==null?(P.restart(C,M,g),P):(M=+M,g=g==null?h():+g,P.restart(function F(q){q+=T,P.restart(F,T+=M,g),C(q)},M,g),P)}e.interval=_,e.now=h,e.timeout=L,e.timer=x,e.timerFlush=b,Object.defineProperty(e,\"__esModule\",{value:!0})})});var bje=ye((g7,xje)=>{(function(e,t){typeof g7==\"object\"&&typeof xje!=\"undefined\"?t(g7,vje(),d7(),mje(),_je()):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,e.d3)})(g7,function(e,t,r,n,i){\"use strict\";function a(C,M){var g;C==null&&(C=0),M==null&&(M=0);function P(){var T,F=g.length,q,V=0,H=0;for(T=0;T<F;++T)q=g[T],V+=q.x,H+=q.y;for(V=V/F-C,H=H/F-M,T=0;T<F;++T)q=g[T],q.x-=V,q.y-=H}return P.initialize=function(T){g=T},P.x=function(T){return arguments.length?(C=+T,P):C},P.y=function(T){return arguments.length?(M=+T,P):M},P}function o(C){return function(){return C}}function s(){return(Math.random()-.5)*1e-6}function l(C){return C.x+C.vx}function u(C){return C.y+C.vy}function c(C){var M,g,P=1,T=1;typeof C!=\"function\"&&(C=o(C==null?1:+C));function F(){for(var H,X=M.length,G,N,W,re,ae,_e,Me=0;Me<T;++Me)for(G=t.quadtree(M,l,u).visitAfter(q),H=0;H<X;++H)N=M[H],ae=g[N.index],_e=ae*ae,W=N.x+N.vx,re=N.y+N.vy,G.visit(ke);function ke(ge,ie,Te,Ee,Ae){var ze=ge.data,Ce=ge.r,me=ae+Ce;if(ze){if(ze.index>N.index){var Re=W-ze.x-ze.vx,ce=re-ze.y-ze.vy,Ge=Re*Re+ce*ce;Ge<me*me&&(Re===0&&(Re=s(),Ge+=Re*Re),ce===0&&(ce=s(),Ge+=ce*ce),Ge=(me-(Ge=Math.sqrt(Ge)))/Ge*P,N.vx+=(Re*=Ge)*(me=(Ce*=Ce)/(_e+Ce)),N.vy+=(ce*=Ge)*me,ze.vx-=Re*(me=1-me),ze.vy-=ce*me)}return}return ie>W+me||Ee<W-me||Te>re+me||Ae<re-me}}function q(H){if(H.data)return H.r=g[H.data.index];for(var X=H.r=0;X<4;++X)H[X]&&H[X].r>H.r&&(H.r=H[X].r)}function V(){if(M){var H,X=M.length,G;for(g=new Array(X),H=0;H<X;++H)G=M[H],g[G.index]=+C(G,H,M)}}return F.initialize=function(H){M=H,V()},F.iterations=function(H){return arguments.length?(T=+H,F):T},F.strength=function(H){return arguments.length?(P=+H,F):P},F.radius=function(H){return arguments.length?(C=typeof H==\"function\"?H:o(+H),V(),F):C},F}function f(C){return C.index}function h(C,M){var g=C.get(M);if(!g)throw new Error(\"missing: \"+M);return g}function d(C){var M=f,g=G,P,T=o(30),F,q,V,H,X=1;C==null&&(C=[]);function G(_e){return 1/Math.min(V[_e.source.index],V[_e.target.index])}function N(_e){for(var Me=0,ke=C.length;Me<X;++Me)for(var ge=0,ie,Te,Ee,Ae,ze,Ce,me;ge<ke;++ge)ie=C[ge],Te=ie.source,Ee=ie.target,Ae=Ee.x+Ee.vx-Te.x-Te.vx||s(),ze=Ee.y+Ee.vy-Te.y-Te.vy||s(),Ce=Math.sqrt(Ae*Ae+ze*ze),Ce=(Ce-F[ge])/Ce*_e*P[ge],Ae*=Ce,ze*=Ce,Ee.vx-=Ae*(me=H[ge]),Ee.vy-=ze*me,Te.vx+=Ae*(me=1-me),Te.vy+=ze*me}function W(){if(q){var _e,Me=q.length,ke=C.length,ge=r.map(q,M),ie;for(_e=0,V=new Array(Me);_e<ke;++_e)ie=C[_e],ie.index=_e,typeof ie.source!=\"object\"&&(ie.source=h(ge,ie.source)),typeof ie.target!=\"object\"&&(ie.target=h(ge,ie.target)),V[ie.source.index]=(V[ie.source.index]||0)+1,V[ie.target.index]=(V[ie.target.index]||0)+1;for(_e=0,H=new Array(ke);_e<ke;++_e)ie=C[_e],H[_e]=V[ie.source.index]/(V[ie.source.index]+V[ie.target.index]);P=new Array(ke),re(),F=new Array(ke),ae()}}function re(){if(q)for(var _e=0,Me=C.length;_e<Me;++_e)P[_e]=+g(C[_e],_e,C)}function ae(){if(q)for(var _e=0,Me=C.length;_e<Me;++_e)F[_e]=+T(C[_e],_e,C)}return N.initialize=function(_e){q=_e,W()},N.links=function(_e){return arguments.length?(C=_e,W(),N):C},N.id=function(_e){return arguments.length?(M=_e,N):M},N.iterations=function(_e){return arguments.length?(X=+_e,N):X},N.strength=function(_e){return arguments.length?(g=typeof _e==\"function\"?_e:o(+_e),re(),N):g},N.distance=function(_e){return arguments.length?(T=typeof _e==\"function\"?_e:o(+_e),ae(),N):T},N}function v(C){return C.x}function x(C){return C.y}var b=10,p=Math.PI*(3-Math.sqrt(5));function E(C){var M,g=1,P=.001,T=1-Math.pow(P,1/300),F=0,q=.6,V=r.map(),H=i.timer(G),X=n.dispatch(\"tick\",\"end\");C==null&&(C=[]);function G(){N(),X.call(\"tick\",M),g<P&&(H.stop(),X.call(\"end\",M))}function N(ae){var _e,Me=C.length,ke;ae===void 0&&(ae=1);for(var ge=0;ge<ae;++ge)for(g+=(F-g)*T,V.each(function(ie){ie(g)}),_e=0;_e<Me;++_e)ke=C[_e],ke.fx==null?ke.x+=ke.vx*=q:(ke.x=ke.fx,ke.vx=0),ke.fy==null?ke.y+=ke.vy*=q:(ke.y=ke.fy,ke.vy=0);return M}function W(){for(var ae=0,_e=C.length,Me;ae<_e;++ae){if(Me=C[ae],Me.index=ae,Me.fx!=null&&(Me.x=Me.fx),Me.fy!=null&&(Me.y=Me.fy),isNaN(Me.x)||isNaN(Me.y)){var ke=b*Math.sqrt(ae),ge=ae*p;Me.x=ke*Math.cos(ge),Me.y=ke*Math.sin(ge)}(isNaN(Me.vx)||isNaN(Me.vy))&&(Me.vx=Me.vy=0)}}function re(ae){return ae.initialize&&ae.initialize(C),ae}return W(),M={tick:N,restart:function(){return H.restart(G),M},stop:function(){return H.stop(),M},nodes:function(ae){return arguments.length?(C=ae,W(),V.each(re),M):C},alpha:function(ae){return arguments.length?(g=+ae,M):g},alphaMin:function(ae){return arguments.length?(P=+ae,M):P},alphaDecay:function(ae){return arguments.length?(T=+ae,M):+T},alphaTarget:function(ae){return arguments.length?(F=+ae,M):F},velocityDecay:function(ae){return arguments.length?(q=1-ae,M):1-q},force:function(ae,_e){return arguments.length>1?(_e==null?V.remove(ae):V.set(ae,re(_e)),M):V.get(ae)},find:function(ae,_e,Me){var ke=0,ge=C.length,ie,Te,Ee,Ae,ze;for(Me==null?Me=1/0:Me*=Me,ke=0;ke<ge;++ke)Ae=C[ke],ie=ae-Ae.x,Te=_e-Ae.y,Ee=ie*ie+Te*Te,Ee<Me&&(ze=Ae,Me=Ee);return ze},on:function(ae,_e){return arguments.length>1?(X.on(ae,_e),M):X.on(ae)}}}function k(){var C,M,g,P=o(-30),T,F=1,q=1/0,V=.81;function H(W){var re,ae=C.length,_e=t.quadtree(C,v,x).visitAfter(G);for(g=W,re=0;re<ae;++re)M=C[re],_e.visit(N)}function X(){if(C){var W,re=C.length,ae;for(T=new Array(re),W=0;W<re;++W)ae=C[W],T[ae.index]=+P(ae,W,C)}}function G(W){var re=0,ae,_e,Me=0,ke,ge,ie;if(W.length){for(ke=ge=ie=0;ie<4;++ie)(ae=W[ie])&&(_e=Math.abs(ae.value))&&(re+=ae.value,Me+=_e,ke+=_e*ae.x,ge+=_e*ae.y);W.x=ke/Me,W.y=ge/Me}else{ae=W,ae.x=ae.data.x,ae.y=ae.data.y;do re+=T[ae.data.index];while(ae=ae.next)}W.value=re}function N(W,re,ae,_e){if(!W.value)return!0;var Me=W.x-M.x,ke=W.y-M.y,ge=_e-re,ie=Me*Me+ke*ke;if(ge*ge/V<ie)return ie<q&&(Me===0&&(Me=s(),ie+=Me*Me),ke===0&&(ke=s(),ie+=ke*ke),ie<F&&(ie=Math.sqrt(F*ie)),M.vx+=Me*W.value*g/ie,M.vy+=ke*W.value*g/ie),!0;if(W.length||ie>=q)return;(W.data!==M||W.next)&&(Me===0&&(Me=s(),ie+=Me*Me),ke===0&&(ke=s(),ie+=ke*ke),ie<F&&(ie=Math.sqrt(F*ie)));do W.data!==M&&(ge=T[W.data.index]*g/ie,M.vx+=Me*ge,M.vy+=ke*ge);while(W=W.next)}return H.initialize=function(W){C=W,X()},H.strength=function(W){return arguments.length?(P=typeof W==\"function\"?W:o(+W),X(),H):P},H.distanceMin=function(W){return arguments.length?(F=W*W,H):Math.sqrt(F)},H.distanceMax=function(W){return arguments.length?(q=W*W,H):Math.sqrt(q)},H.theta=function(W){return arguments.length?(V=W*W,H):Math.sqrt(V)},H}function A(C,M,g){var P,T=o(.1),F,q;typeof C!=\"function\"&&(C=o(+C)),M==null&&(M=0),g==null&&(g=0);function V(X){for(var G=0,N=P.length;G<N;++G){var W=P[G],re=W.x-M||1e-6,ae=W.y-g||1e-6,_e=Math.sqrt(re*re+ae*ae),Me=(q[G]-_e)*F[G]*X/_e;W.vx+=re*Me,W.vy+=ae*Me}}function H(){if(P){var X,G=P.length;for(F=new Array(G),q=new Array(G),X=0;X<G;++X)q[X]=+C(P[X],X,P),F[X]=isNaN(q[X])?0:+T(P[X],X,P)}}return V.initialize=function(X){P=X,H()},V.strength=function(X){return arguments.length?(T=typeof X==\"function\"?X:o(+X),H(),V):T},V.radius=function(X){return arguments.length?(C=typeof X==\"function\"?X:o(+X),H(),V):C},V.x=function(X){return arguments.length?(M=+X,V):M},V.y=function(X){return arguments.length?(g=+X,V):g},V}function L(C){var M=o(.1),g,P,T;typeof C!=\"function\"&&(C=o(C==null?0:+C));function F(V){for(var H=0,X=g.length,G;H<X;++H)G=g[H],G.vx+=(T[H]-G.x)*P[H]*V}function q(){if(g){var V,H=g.length;for(P=new Array(H),T=new Array(H),V=0;V<H;++V)P[V]=isNaN(T[V]=+C(g[V],V,g))?0:+M(g[V],V,g)}}return F.initialize=function(V){g=V,q()},F.strength=function(V){return arguments.length?(M=typeof V==\"function\"?V:o(+V),q(),F):M},F.x=function(V){return arguments.length?(C=typeof V==\"function\"?V:o(+V),q(),F):C},F}function _(C){var M=o(.1),g,P,T;typeof C!=\"function\"&&(C=o(C==null?0:+C));function F(V){for(var H=0,X=g.length,G;H<X;++H)G=g[H],G.vy+=(T[H]-G.y)*P[H]*V}function q(){if(g){var V,H=g.length;for(P=new Array(H),T=new Array(H),V=0;V<H;++V)P[V]=isNaN(T[V]=+C(g[V],V,g))?0:+M(g[V],V,g)}}return F.initialize=function(V){g=V,q()},F.strength=function(V){return arguments.length?(M=typeof V==\"function\"?V:o(+V),q(),F):M},F.y=function(V){return arguments.length?(C=typeof V==\"function\"?V:o(+V),q(),F):C},F}e.forceCenter=a,e.forceCollide=c,e.forceLink=d,e.forceManyBody=k,e.forceRadial=A,e.forceSimulation=E,e.forceX=L,e.forceY=_,Object.defineProperty(e,\"__esModule\",{value:!0})})});var Tje=ye((m7,wje)=>{(function(e,t){typeof m7==\"object\"&&typeof wje!=\"undefined\"?t(m7):(e=e||self,t(e.d3=e.d3||{}))})(m7,function(e){\"use strict\";var t=Math.PI,r=2*t,n=1e-6,i=r-n;function a(){this._x0=this._y0=this._x1=this._y1=null,this._=\"\"}function o(){return new a}a.prototype=o.prototype={constructor:a,moveTo:function(s,l){this._+=\"M\"+(this._x0=this._x1=+s)+\",\"+(this._y0=this._y1=+l)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+=\"Z\")},lineTo:function(s,l){this._+=\"L\"+(this._x1=+s)+\",\"+(this._y1=+l)},quadraticCurveTo:function(s,l,u,c){this._+=\"Q\"+ +s+\",\"+ +l+\",\"+(this._x1=+u)+\",\"+(this._y1=+c)},bezierCurveTo:function(s,l,u,c,f,h){this._+=\"C\"+ +s+\",\"+ +l+\",\"+ +u+\",\"+ +c+\",\"+(this._x1=+f)+\",\"+(this._y1=+h)},arcTo:function(s,l,u,c,f){s=+s,l=+l,u=+u,c=+c,f=+f;var h=this._x1,d=this._y1,v=u-s,x=c-l,b=h-s,p=d-l,E=b*b+p*p;if(f<0)throw new Error(\"negative radius: \"+f);if(this._x1===null)this._+=\"M\"+(this._x1=s)+\",\"+(this._y1=l);else if(E>n)if(!(Math.abs(p*v-x*b)>n)||!f)this._+=\"L\"+(this._x1=s)+\",\"+(this._y1=l);else{var k=u-h,A=c-d,L=v*v+x*x,_=k*k+A*A,C=Math.sqrt(L),M=Math.sqrt(E),g=f*Math.tan((t-Math.acos((L+E-_)/(2*C*M)))/2),P=g/M,T=g/C;Math.abs(P-1)>n&&(this._+=\"L\"+(s+P*b)+\",\"+(l+P*p)),this._+=\"A\"+f+\",\"+f+\",0,0,\"+ +(p*k>b*A)+\",\"+(this._x1=s+T*v)+\",\"+(this._y1=l+T*x)}},arc:function(s,l,u,c,f,h){s=+s,l=+l,u=+u,h=!!h;var d=u*Math.cos(c),v=u*Math.sin(c),x=s+d,b=l+v,p=1^h,E=h?c-f:f-c;if(u<0)throw new Error(\"negative radius: \"+u);this._x1===null?this._+=\"M\"+x+\",\"+b:(Math.abs(this._x1-x)>n||Math.abs(this._y1-b)>n)&&(this._+=\"L\"+x+\",\"+b),u&&(E<0&&(E=E%r+r),E>i?this._+=\"A\"+u+\",\"+u+\",0,1,\"+p+\",\"+(s-d)+\",\"+(l-v)+\"A\"+u+\",\"+u+\",0,1,\"+p+\",\"+(this._x1=x)+\",\"+(this._y1=b):E>n&&(this._+=\"A\"+u+\",\"+u+\",0,\"+ +(E>=t)+\",\"+p+\",\"+(this._x1=s+u*Math.cos(f))+\",\"+(this._y1=l+u*Math.sin(f))))},rect:function(s,l,u,c){this._+=\"M\"+(this._x0=this._x1=+s)+\",\"+(this._y0=this._y1=+l)+\"h\"+ +u+\"v\"+ +c+\"h\"+-u+\"Z\"},toString:function(){return this._}},e.path=o,Object.defineProperty(e,\"__esModule\",{value:!0})})});var PJ=ye((y7,Aje)=>{(function(e,t){typeof y7==\"object\"&&typeof Aje!=\"undefined\"?t(y7,Tje()):(e=e||self,t(e.d3=e.d3||{},e.d3))})(y7,function(e,t){\"use strict\";function r(_t){return function(){return _t}}var n=Math.abs,i=Math.atan2,a=Math.cos,o=Math.max,s=Math.min,l=Math.sin,u=Math.sqrt,c=1e-12,f=Math.PI,h=f/2,d=2*f;function v(_t){return _t>1?0:_t<-1?f:Math.acos(_t)}function x(_t){return _t>=1?h:_t<=-1?-h:Math.asin(_t)}function b(_t){return _t.innerRadius}function p(_t){return _t.outerRadius}function E(_t){return _t.startAngle}function k(_t){return _t.endAngle}function A(_t){return _t&&_t.padAngle}function L(_t,br,Hr,ti,zi,Yi,an,hi){var Ji=Hr-_t,ua=ti-br,Fn=an-zi,Sa=hi-Yi,go=Sa*Ji-Fn*ua;if(!(go*go<c))return go=(Fn*(br-Yi)-Sa*(_t-zi))/go,[_t+go*Ji,br+go*ua]}function _(_t,br,Hr,ti,zi,Yi,an){var hi=_t-Hr,Ji=br-ti,ua=(an?Yi:-Yi)/u(hi*hi+Ji*Ji),Fn=ua*Ji,Sa=-ua*hi,go=_t+Fn,Oo=br+Sa,ho=Hr+Fn,Mo=ti+Sa,xo=(go+ho)/2,zs=(Oo+Mo)/2,ks=ho-go,Zs=Mo-Oo,Xs=ks*ks+Zs*Zs,wl=zi-Yi,os=go*Mo-ho*Oo,cl=(Zs<0?-1:1)*u(o(0,wl*wl*Xs-os*os)),Cs=(os*Zs-ks*cl)/Xs,ml=(-os*ks-Zs*cl)/Xs,Ys=(os*Zs+ks*cl)/Xs,Hs=(-os*ks+Zs*cl)/Xs,Eo=Cs-xo,fs=ml-zs,Ql=Ys-xo,Hu=Hs-zs;return Eo*Eo+fs*fs>Ql*Ql+Hu*Hu&&(Cs=Ys,ml=Hs),{cx:Cs,cy:ml,x01:-Fn,y01:-Sa,x11:Cs*(zi/wl-1),y11:ml*(zi/wl-1)}}function C(){var _t=b,br=p,Hr=r(0),ti=null,zi=E,Yi=k,an=A,hi=null;function Ji(){var ua,Fn,Sa=+_t.apply(this,arguments),go=+br.apply(this,arguments),Oo=zi.apply(this,arguments)-h,ho=Yi.apply(this,arguments)-h,Mo=n(ho-Oo),xo=ho>Oo;if(hi||(hi=ua=t.path()),go<Sa&&(Fn=go,go=Sa,Sa=Fn),!(go>c))hi.moveTo(0,0);else if(Mo>d-c)hi.moveTo(go*a(Oo),go*l(Oo)),hi.arc(0,0,go,Oo,ho,!xo),Sa>c&&(hi.moveTo(Sa*a(ho),Sa*l(ho)),hi.arc(0,0,Sa,ho,Oo,xo));else{var zs=Oo,ks=ho,Zs=Oo,Xs=ho,wl=Mo,os=Mo,cl=an.apply(this,arguments)/2,Cs=cl>c&&(ti?+ti.apply(this,arguments):u(Sa*Sa+go*go)),ml=s(n(go-Sa)/2,+Hr.apply(this,arguments)),Ys=ml,Hs=ml,Eo,fs;if(Cs>c){var Ql=x(Cs/Sa*l(cl)),Hu=x(Cs/go*l(cl));(wl-=Ql*2)>c?(Ql*=xo?1:-1,Zs+=Ql,Xs-=Ql):(wl=0,Zs=Xs=(Oo+ho)/2),(os-=Hu*2)>c?(Hu*=xo?1:-1,zs+=Hu,ks-=Hu):(os=0,zs=ks=(Oo+ho)/2)}var fc=go*a(zs),ms=go*l(zs),on=Sa*a(Xs),fa=Sa*l(Xs);if(ml>c){var Qu=go*a(ks),Rl=go*l(ks),vo=Sa*a(Zs),Zl=Sa*l(Zs),Ks;if(Mo<f&&(Ks=L(fc,ms,vo,Zl,Qu,Rl,on,fa))){var Xl=fc-Ks[0],Ec=ms-Ks[1],Zn=Qu-Ks[0],ko=Rl-Ks[1],Co=1/l(v((Xl*Zn+Ec*ko)/(u(Xl*Xl+Ec*Ec)*u(Zn*Zn+ko*ko)))/2),Tl=u(Ks[0]*Ks[0]+Ks[1]*Ks[1]);Ys=s(ml,(Sa-Tl)/(Co-1)),Hs=s(ml,(go-Tl)/(Co+1))}}os>c?Hs>c?(Eo=_(vo,Zl,fc,ms,go,Hs,xo),fs=_(Qu,Rl,on,fa,go,Hs,xo),hi.moveTo(Eo.cx+Eo.x01,Eo.cy+Eo.y01),Hs<ml?hi.arc(Eo.cx,Eo.cy,Hs,i(Eo.y01,Eo.x01),i(fs.y01,fs.x01),!xo):(hi.arc(Eo.cx,Eo.cy,Hs,i(Eo.y01,Eo.x01),i(Eo.y11,Eo.x11),!xo),hi.arc(0,0,go,i(Eo.cy+Eo.y11,Eo.cx+Eo.x11),i(fs.cy+fs.y11,fs.cx+fs.x11),!xo),hi.arc(fs.cx,fs.cy,Hs,i(fs.y11,fs.x11),i(fs.y01,fs.x01),!xo))):(hi.moveTo(fc,ms),hi.arc(0,0,go,zs,ks,!xo)):hi.moveTo(fc,ms),!(Sa>c)||!(wl>c)?hi.lineTo(on,fa):Ys>c?(Eo=_(on,fa,Qu,Rl,Sa,-Ys,xo),fs=_(fc,ms,vo,Zl,Sa,-Ys,xo),hi.lineTo(Eo.cx+Eo.x01,Eo.cy+Eo.y01),Ys<ml?hi.arc(Eo.cx,Eo.cy,Ys,i(Eo.y01,Eo.x01),i(fs.y01,fs.x01),!xo):(hi.arc(Eo.cx,Eo.cy,Ys,i(Eo.y01,Eo.x01),i(Eo.y11,Eo.x11),!xo),hi.arc(0,0,Sa,i(Eo.cy+Eo.y11,Eo.cx+Eo.x11),i(fs.cy+fs.y11,fs.cx+fs.x11),xo),hi.arc(fs.cx,fs.cy,Ys,i(fs.y11,fs.x11),i(fs.y01,fs.x01),!xo))):hi.arc(0,0,Sa,Xs,Zs,xo)}if(hi.closePath(),ua)return hi=null,ua+\"\"||null}return Ji.centroid=function(){var ua=(+_t.apply(this,arguments)+ +br.apply(this,arguments))/2,Fn=(+zi.apply(this,arguments)+ +Yi.apply(this,arguments))/2-f/2;return[a(Fn)*ua,l(Fn)*ua]},Ji.innerRadius=function(ua){return arguments.length?(_t=typeof ua==\"function\"?ua:r(+ua),Ji):_t},Ji.outerRadius=function(ua){return arguments.length?(br=typeof ua==\"function\"?ua:r(+ua),Ji):br},Ji.cornerRadius=function(ua){return arguments.length?(Hr=typeof ua==\"function\"?ua:r(+ua),Ji):Hr},Ji.padRadius=function(ua){return arguments.length?(ti=ua==null?null:typeof ua==\"function\"?ua:r(+ua),Ji):ti},Ji.startAngle=function(ua){return arguments.length?(zi=typeof ua==\"function\"?ua:r(+ua),Ji):zi},Ji.endAngle=function(ua){return arguments.length?(Yi=typeof ua==\"function\"?ua:r(+ua),Ji):Yi},Ji.padAngle=function(ua){return arguments.length?(an=typeof ua==\"function\"?ua:r(+ua),Ji):an},Ji.context=function(ua){return arguments.length?(hi=ua==null?null:ua,Ji):hi},Ji}function M(_t){this._context=_t}M.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;default:this._context.lineTo(_t,br);break}}};function g(_t){return new M(_t)}function P(_t){return _t[0]}function T(_t){return _t[1]}function F(){var _t=P,br=T,Hr=r(!0),ti=null,zi=g,Yi=null;function an(hi){var Ji,ua=hi.length,Fn,Sa=!1,go;for(ti==null&&(Yi=zi(go=t.path())),Ji=0;Ji<=ua;++Ji)!(Ji<ua&&Hr(Fn=hi[Ji],Ji,hi))===Sa&&((Sa=!Sa)?Yi.lineStart():Yi.lineEnd()),Sa&&Yi.point(+_t(Fn,Ji,hi),+br(Fn,Ji,hi));if(go)return Yi=null,go+\"\"||null}return an.x=function(hi){return arguments.length?(_t=typeof hi==\"function\"?hi:r(+hi),an):_t},an.y=function(hi){return arguments.length?(br=typeof hi==\"function\"?hi:r(+hi),an):br},an.defined=function(hi){return arguments.length?(Hr=typeof hi==\"function\"?hi:r(!!hi),an):Hr},an.curve=function(hi){return arguments.length?(zi=hi,ti!=null&&(Yi=zi(ti)),an):zi},an.context=function(hi){return arguments.length?(hi==null?ti=Yi=null:Yi=zi(ti=hi),an):ti},an}function q(){var _t=P,br=null,Hr=r(0),ti=T,zi=r(!0),Yi=null,an=g,hi=null;function Ji(Fn){var Sa,go,Oo,ho=Fn.length,Mo,xo=!1,zs,ks=new Array(ho),Zs=new Array(ho);for(Yi==null&&(hi=an(zs=t.path())),Sa=0;Sa<=ho;++Sa){if(!(Sa<ho&&zi(Mo=Fn[Sa],Sa,Fn))===xo)if(xo=!xo)go=Sa,hi.areaStart(),hi.lineStart();else{for(hi.lineEnd(),hi.lineStart(),Oo=Sa-1;Oo>=go;--Oo)hi.point(ks[Oo],Zs[Oo]);hi.lineEnd(),hi.areaEnd()}xo&&(ks[Sa]=+_t(Mo,Sa,Fn),Zs[Sa]=+Hr(Mo,Sa,Fn),hi.point(br?+br(Mo,Sa,Fn):ks[Sa],ti?+ti(Mo,Sa,Fn):Zs[Sa]))}if(zs)return hi=null,zs+\"\"||null}function ua(){return F().defined(zi).curve(an).context(Yi)}return Ji.x=function(Fn){return arguments.length?(_t=typeof Fn==\"function\"?Fn:r(+Fn),br=null,Ji):_t},Ji.x0=function(Fn){return arguments.length?(_t=typeof Fn==\"function\"?Fn:r(+Fn),Ji):_t},Ji.x1=function(Fn){return arguments.length?(br=Fn==null?null:typeof Fn==\"function\"?Fn:r(+Fn),Ji):br},Ji.y=function(Fn){return arguments.length?(Hr=typeof Fn==\"function\"?Fn:r(+Fn),ti=null,Ji):Hr},Ji.y0=function(Fn){return arguments.length?(Hr=typeof Fn==\"function\"?Fn:r(+Fn),Ji):Hr},Ji.y1=function(Fn){return arguments.length?(ti=Fn==null?null:typeof Fn==\"function\"?Fn:r(+Fn),Ji):ti},Ji.lineX0=Ji.lineY0=function(){return ua().x(_t).y(Hr)},Ji.lineY1=function(){return ua().x(_t).y(ti)},Ji.lineX1=function(){return ua().x(br).y(Hr)},Ji.defined=function(Fn){return arguments.length?(zi=typeof Fn==\"function\"?Fn:r(!!Fn),Ji):zi},Ji.curve=function(Fn){return arguments.length?(an=Fn,Yi!=null&&(hi=an(Yi)),Ji):an},Ji.context=function(Fn){return arguments.length?(Fn==null?Yi=hi=null:hi=an(Yi=Fn),Ji):Yi},Ji}function V(_t,br){return br<_t?-1:br>_t?1:br>=_t?0:NaN}function H(_t){return _t}function X(){var _t=H,br=V,Hr=null,ti=r(0),zi=r(d),Yi=r(0);function an(hi){var Ji,ua=hi.length,Fn,Sa,go=0,Oo=new Array(ua),ho=new Array(ua),Mo=+ti.apply(this,arguments),xo=Math.min(d,Math.max(-d,zi.apply(this,arguments)-Mo)),zs,ks=Math.min(Math.abs(xo)/ua,Yi.apply(this,arguments)),Zs=ks*(xo<0?-1:1),Xs;for(Ji=0;Ji<ua;++Ji)(Xs=ho[Oo[Ji]=Ji]=+_t(hi[Ji],Ji,hi))>0&&(go+=Xs);for(br!=null?Oo.sort(function(wl,os){return br(ho[wl],ho[os])}):Hr!=null&&Oo.sort(function(wl,os){return Hr(hi[wl],hi[os])}),Ji=0,Sa=go?(xo-ua*Zs)/go:0;Ji<ua;++Ji,Mo=zs)Fn=Oo[Ji],Xs=ho[Fn],zs=Mo+(Xs>0?Xs*Sa:0)+Zs,ho[Fn]={data:hi[Fn],index:Ji,value:Xs,startAngle:Mo,endAngle:zs,padAngle:ks};return ho}return an.value=function(hi){return arguments.length?(_t=typeof hi==\"function\"?hi:r(+hi),an):_t},an.sortValues=function(hi){return arguments.length?(br=hi,Hr=null,an):br},an.sort=function(hi){return arguments.length?(Hr=hi,br=null,an):Hr},an.startAngle=function(hi){return arguments.length?(ti=typeof hi==\"function\"?hi:r(+hi),an):ti},an.endAngle=function(hi){return arguments.length?(zi=typeof hi==\"function\"?hi:r(+hi),an):zi},an.padAngle=function(hi){return arguments.length?(Yi=typeof hi==\"function\"?hi:r(+hi),an):Yi},an}var G=W(g);function N(_t){this._curve=_t}N.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(_t,br){this._curve.point(br*Math.sin(_t),br*-Math.cos(_t))}};function W(_t){function br(Hr){return new N(_t(Hr))}return br._curve=_t,br}function re(_t){var br=_t.curve;return _t.angle=_t.x,delete _t.x,_t.radius=_t.y,delete _t.y,_t.curve=function(Hr){return arguments.length?br(W(Hr)):br()._curve},_t}function ae(){return re(F().curve(G))}function _e(){var _t=q().curve(G),br=_t.curve,Hr=_t.lineX0,ti=_t.lineX1,zi=_t.lineY0,Yi=_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 re(Hr())},delete _t.lineX0,_t.lineEndAngle=function(){return re(ti())},delete _t.lineX1,_t.lineInnerRadius=function(){return re(zi())},delete _t.lineY0,_t.lineOuterRadius=function(){return re(Yi())},delete _t.lineY1,_t.curve=function(an){return arguments.length?br(W(an)):br()._curve},_t}function Me(_t,br){return[(br=+br)*Math.cos(_t-=Math.PI/2),br*Math.sin(_t)]}var ke=Array.prototype.slice;function ge(_t){return _t.source}function ie(_t){return _t.target}function Te(_t){var br=ge,Hr=ie,ti=P,zi=T,Yi=null;function an(){var hi,Ji=ke.call(arguments),ua=br.apply(this,Ji),Fn=Hr.apply(this,Ji);if(Yi||(Yi=hi=t.path()),_t(Yi,+ti.apply(this,(Ji[0]=ua,Ji)),+zi.apply(this,Ji),+ti.apply(this,(Ji[0]=Fn,Ji)),+zi.apply(this,Ji)),hi)return Yi=null,hi+\"\"||null}return an.source=function(hi){return arguments.length?(br=hi,an):br},an.target=function(hi){return arguments.length?(Hr=hi,an):Hr},an.x=function(hi){return arguments.length?(ti=typeof hi==\"function\"?hi:r(+hi),an):ti},an.y=function(hi){return arguments.length?(zi=typeof hi==\"function\"?hi:r(+hi),an):zi},an.context=function(hi){return arguments.length?(Yi=hi==null?null:hi,an):Yi},an}function Ee(_t,br,Hr,ti,zi){_t.moveTo(br,Hr),_t.bezierCurveTo(br=(br+ti)/2,Hr,br,zi,ti,zi)}function Ae(_t,br,Hr,ti,zi){_t.moveTo(br,Hr),_t.bezierCurveTo(br,Hr=(Hr+zi)/2,ti,Hr,ti,zi)}function ze(_t,br,Hr,ti,zi){var Yi=Me(br,Hr),an=Me(br,Hr=(Hr+zi)/2),hi=Me(ti,Hr),Ji=Me(ti,zi);_t.moveTo(Yi[0],Yi[1]),_t.bezierCurveTo(an[0],an[1],hi[0],hi[1],Ji[0],Ji[1])}function Ce(){return Te(Ee)}function me(){return Te(Ae)}function Re(){var _t=Te(ze);return _t.angle=_t.x,delete _t.x,_t.radius=_t.y,delete _t.y,_t}var ce={draw:function(_t,br){var Hr=Math.sqrt(br/f);_t.moveTo(Hr,0),_t.arc(0,0,Hr,0,d)}},Ge={draw:function(_t,br){var Hr=Math.sqrt(br/5)/2;_t.moveTo(-3*Hr,-Hr),_t.lineTo(-Hr,-Hr),_t.lineTo(-Hr,-3*Hr),_t.lineTo(Hr,-3*Hr),_t.lineTo(Hr,-Hr),_t.lineTo(3*Hr,-Hr),_t.lineTo(3*Hr,Hr),_t.lineTo(Hr,Hr),_t.lineTo(Hr,3*Hr),_t.lineTo(-Hr,3*Hr),_t.lineTo(-Hr,Hr),_t.lineTo(-3*Hr,Hr),_t.closePath()}},nt=Math.sqrt(1/3),ct=nt*2,qt={draw:function(_t,br){var Hr=Math.sqrt(br/ct),ti=Hr*nt;_t.moveTo(0,-Hr),_t.lineTo(ti,0),_t.lineTo(0,Hr),_t.lineTo(-ti,0),_t.closePath()}},rt=.8908130915292852,ot=Math.sin(f/10)/Math.sin(7*f/10),Rt=Math.sin(d/10)*ot,kt=-Math.cos(d/10)*ot,Ct={draw:function(_t,br){var Hr=Math.sqrt(br*rt),ti=Rt*Hr,zi=kt*Hr;_t.moveTo(0,-Hr),_t.lineTo(ti,zi);for(var Yi=1;Yi<5;++Yi){var an=d*Yi/5,hi=Math.cos(an),Ji=Math.sin(an);_t.lineTo(Ji*Hr,-hi*Hr),_t.lineTo(hi*ti-Ji*zi,Ji*ti+hi*zi)}_t.closePath()}},Yt={draw:function(_t,br){var Hr=Math.sqrt(br),ti=-Hr/2;_t.rect(ti,ti,Hr,Hr)}},xr=Math.sqrt(3),er={draw:function(_t,br){var Hr=-Math.sqrt(br/(xr*3));_t.moveTo(0,Hr*2),_t.lineTo(-xr*Hr,-Hr),_t.lineTo(xr*Hr,-Hr),_t.closePath()}},Ke=-.5,xt=Math.sqrt(3)/2,bt=1/Math.sqrt(12),Lt=(bt/2+1)*3,St={draw:function(_t,br){var Hr=Math.sqrt(br/Lt),ti=Hr/2,zi=Hr*bt,Yi=ti,an=Hr*bt+Hr,hi=-Yi,Ji=an;_t.moveTo(ti,zi),_t.lineTo(Yi,an),_t.lineTo(hi,Ji),_t.lineTo(Ke*ti-xt*zi,xt*ti+Ke*zi),_t.lineTo(Ke*Yi-xt*an,xt*Yi+Ke*an),_t.lineTo(Ke*hi-xt*Ji,xt*hi+Ke*Ji),_t.lineTo(Ke*ti+xt*zi,Ke*zi-xt*ti),_t.lineTo(Ke*Yi+xt*an,Ke*an-xt*Yi),_t.lineTo(Ke*hi+xt*Ji,Ke*Ji-xt*hi),_t.closePath()}},Et=[ce,Ge,qt,Yt,Ct,er,St];function dt(){var _t=r(ce),br=r(64),Hr=null;function ti(){var zi;if(Hr||(Hr=zi=t.path()),_t.apply(this,arguments).draw(Hr,+br.apply(this,arguments)),zi)return Hr=null,zi+\"\"||null}return ti.type=function(zi){return arguments.length?(_t=typeof zi==\"function\"?zi:r(zi),ti):_t},ti.size=function(zi){return arguments.length?(br=typeof zi==\"function\"?zi:r(+zi),ti):br},ti.context=function(zi){return arguments.length?(Hr=zi==null?null:zi,ti):Hr},ti}function Ht(){}function $t(_t,br,Hr){_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+br)/6,(_t._y0+4*_t._y1+Hr)/6)}function fr(_t){this._context=_t}fr.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:$t(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);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:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function _r(_t){return new fr(_t)}function Br(_t){this._context=_t}Br.prototype={areaStart:Ht,areaEnd:Ht,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);break}}},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._x2=_t,this._y2=br;break;case 1:this._point=2,this._x3=_t,this._y3=br;break;case 2:this._point=3,this._x4=_t,this._y4=br,this._context.moveTo((this._x0+4*this._x1+_t)/6,(this._y0+4*this._y1+br)/6);break;default:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function Or(_t){return new Br(_t)}function Nr(_t){this._context=_t}Nr.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var Hr=(this._x0+4*this._x1+_t)/6,ti=(this._y0+4*this._y1+br)/6;this._line?this._context.lineTo(Hr,ti):this._context.moveTo(Hr,ti);break;case 3:this._point=4;default:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function ut(_t){return new Nr(_t)}function Ne(_t,br){this._basis=new fr(_t),this._beta=br}Ne.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var _t=this._x,br=this._y,Hr=_t.length-1;if(Hr>0)for(var ti=_t[0],zi=br[0],Yi=_t[Hr]-ti,an=br[Hr]-zi,hi=-1,Ji;++hi<=Hr;)Ji=hi/Hr,this._basis.point(this._beta*_t[hi]+(1-this._beta)*(ti+Ji*Yi),this._beta*br[hi]+(1-this._beta)*(zi+Ji*an));this._x=this._y=null,this._basis.lineEnd()},point:function(_t,br){this._x.push(+_t),this._y.push(+br)}};var Ye=function _t(br){function Hr(ti){return br===1?new fr(ti):new Ne(ti,br)}return Hr.beta=function(ti){return _t(+ti)},Hr}(.85);function Ve(_t,br,Hr){_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-br),_t._y2+_t._k*(_t._y1-Hr),_t._x2,_t._y2)}function Xe(_t,br){this._context=_t,this._k=(1-br)/6}Xe.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:Ve(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2,this._x1=_t,this._y1=br;break;case 2:this._point=3;default:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var ht=function _t(br){function Hr(ti){return new Xe(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Le(_t,br){this._context=_t,this._k=(1-br)/6}Le.prototype={areaStart:Ht,areaEnd:Ht,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);break}}},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._x3=_t,this._y3=br;break;case 1:this._point=2,this._context.moveTo(this._x4=_t,this._y4=br);break;case 2:this._point=3,this._x5=_t,this._y5=br;break;default:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var xe=function _t(br){function Hr(ti){return new Le(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Se(_t,br){this._context=_t,this._k=(1-br)/6}Se.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,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:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var lt=function _t(br){function Hr(ti){return new Se(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Gt(_t,br,Hr){var ti=_t._x1,zi=_t._y1,Yi=_t._x2,an=_t._y2;if(_t._l01_a>c){var hi=2*_t._l01_2a+3*_t._l01_a*_t._l12_a+_t._l12_2a,Ji=3*_t._l01_a*(_t._l01_a+_t._l12_a);ti=(ti*hi-_t._x0*_t._l12_2a+_t._x2*_t._l01_2a)/Ji,zi=(zi*hi-_t._y0*_t._l12_2a+_t._y2*_t._l01_2a)/Ji}if(_t._l23_a>c){var ua=2*_t._l23_2a+3*_t._l23_a*_t._l12_a+_t._l12_2a,Fn=3*_t._l23_a*(_t._l23_a+_t._l12_a);Yi=(Yi*ua+_t._x1*_t._l23_2a-br*_t._l12_2a)/Fn,an=(an*ua+_t._y1*_t._l23_2a-Hr*_t._l12_2a)/Fn}_t._context.bezierCurveTo(ti,zi,Yi,an,_t._x2,_t._y2)}function Vt(_t,br){this._context=_t,this._alpha=br}Vt.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);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;break;case 2:this._point=3;default:Gt(this,_t,br);break}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=br}};var ar=function _t(br){function Hr(ti){return br?new Vt(ti,br):new Xe(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function Qr(_t,br){this._context=_t,this._alpha=br}Qr.prototype={areaStart:Ht,areaEnd:Ht,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);break}}},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=_t,this._y3=br;break;case 1:this._point=2,this._context.moveTo(this._x4=_t,this._y4=br);break;case 2:this._point=3,this._x5=_t,this._y5=br;break;default:Gt(this,_t,br);break}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=br}};var ai=function _t(br){function Hr(ti){return br?new Qr(ti,br):new Le(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function jr(_t,br){this._context=_t,this._alpha=br}jr.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,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:Gt(this,_t,br);break}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=br}};var ri=function _t(br){function Hr(ti){return br?new jr(ti,br):new Se(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function bi(_t){this._context=_t}bi.prototype={areaStart:Ht,areaEnd:Ht,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(_t,br){_t=+_t,br=+br,this._point?this._context.lineTo(_t,br):(this._point=1,this._context.moveTo(_t,br))}};function nn(_t){return new bi(_t)}function Wi(_t){return _t<0?-1:1}function Ni(_t,br,Hr){var ti=_t._x1-_t._x0,zi=br-_t._x1,Yi=(_t._y1-_t._y0)/(ti||zi<0&&-0),an=(Hr-_t._y1)/(zi||ti<0&&-0),hi=(Yi*zi+an*ti)/(ti+zi);return(Wi(Yi)+Wi(an))*Math.min(Math.abs(Yi),Math.abs(an),.5*Math.abs(hi))||0}function _n(_t,br){var Hr=_t._x1-_t._x0;return Hr?(3*(_t._y1-_t._y0)/Hr-br)/2:br}function $i(_t,br,Hr){var ti=_t._x0,zi=_t._y0,Yi=_t._x1,an=_t._y1,hi=(Yi-ti)/3;_t._context.bezierCurveTo(ti+hi,zi+hi*br,Yi-hi,an-hi*Hr,Yi,an)}function zn(_t){this._context=_t}zn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:$i(this,this._t0,_n(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){var Hr=NaN;if(_t=+_t,br=+br,!(_t===this._x1&&br===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;break;case 2:this._point=3,$i(this,_n(this,Hr=Ni(this,_t,br)),Hr);break;default:$i(this,this._t0,Hr=Ni(this,_t,br));break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br,this._t0=Hr}}};function Wn(_t){this._context=new It(_t)}(Wn.prototype=Object.create(zn.prototype)).point=function(_t,br){zn.prototype.point.call(this,br,_t)};function It(_t){this._context=_t}It.prototype={moveTo:function(_t,br){this._context.moveTo(br,_t)},closePath:function(){this._context.closePath()},lineTo:function(_t,br){this._context.lineTo(br,_t)},bezierCurveTo:function(_t,br,Hr,ti,zi,Yi){this._context.bezierCurveTo(br,_t,ti,Hr,Yi,zi)}};function ft(_t){return new zn(_t)}function jt(_t){return new Wn(_t)}function Zt(_t){this._context=_t}Zt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var _t=this._x,br=this._y,Hr=_t.length;if(Hr)if(this._line?this._context.lineTo(_t[0],br[0]):this._context.moveTo(_t[0],br[0]),Hr===2)this._context.lineTo(_t[1],br[1]);else for(var ti=yr(_t),zi=yr(br),Yi=0,an=1;an<Hr;++Yi,++an)this._context.bezierCurveTo(ti[0][Yi],zi[0][Yi],ti[1][Yi],zi[1][Yi],_t[an],br[an]);(this._line||this._line!==0&&Hr===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(_t,br){this._x.push(+_t),this._y.push(+br)}};function yr(_t){var br,Hr=_t.length-1,ti,zi=new Array(Hr),Yi=new Array(Hr),an=new Array(Hr);for(zi[0]=0,Yi[0]=2,an[0]=_t[0]+2*_t[1],br=1;br<Hr-1;++br)zi[br]=1,Yi[br]=4,an[br]=4*_t[br]+2*_t[br+1];for(zi[Hr-1]=2,Yi[Hr-1]=7,an[Hr-1]=8*_t[Hr-1]+_t[Hr],br=1;br<Hr;++br)ti=zi[br]/Yi[br-1],Yi[br]-=ti,an[br]-=ti*an[br-1];for(zi[Hr-1]=an[Hr-1]/Yi[Hr-1],br=Hr-2;br>=0;--br)zi[br]=(an[br]-zi[br+1])/Yi[br];for(Yi[Hr-1]=(_t[Hr]+zi[Hr-1])/2,br=0;br<Hr-1;++br)Yi[br]=2*_t[br+1]-zi[br+1];return[zi,Yi]}function Fr(_t){return new Zt(_t)}function Zr(_t,br){this._context=_t,this._t=br}Zr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,br),this._context.lineTo(_t,br);else{var Hr=this._x*(1-this._t)+_t*this._t;this._context.lineTo(Hr,this._y),this._context.lineTo(Hr,br)}break}}this._x=_t,this._y=br}};function Vr(_t){return new Zr(_t,.5)}function gi(_t){return new Zr(_t,0)}function Si(_t){return new Zr(_t,1)}function Mi(_t,br){if((an=_t.length)>1)for(var Hr=1,ti,zi,Yi=_t[br[0]],an,hi=Yi.length;Hr<an;++Hr)for(zi=Yi,Yi=_t[br[Hr]],ti=0;ti<hi;++ti)Yi[ti][1]+=Yi[ti][0]=isNaN(zi[ti][1])?zi[ti][0]:zi[ti][1]}function Pi(_t){for(var br=_t.length,Hr=new Array(br);--br>=0;)Hr[br]=br;return Hr}function Gi(_t,br){return _t[br]}function Ki(){var _t=r([]),br=Pi,Hr=Mi,ti=Gi;function zi(Yi){var an=_t.apply(this,arguments),hi,Ji=Yi.length,ua=an.length,Fn=new Array(ua),Sa;for(hi=0;hi<ua;++hi){for(var go=an[hi],Oo=Fn[hi]=new Array(Ji),ho=0,Mo;ho<Ji;++ho)Oo[ho]=Mo=[0,+ti(Yi[ho],go,ho,Yi)],Mo.data=Yi[ho];Oo.key=go}for(hi=0,Sa=br(Fn);hi<ua;++hi)Fn[Sa[hi]].index=hi;return Hr(Fn,Sa),Fn}return zi.keys=function(Yi){return arguments.length?(_t=typeof Yi==\"function\"?Yi:r(ke.call(Yi)),zi):_t},zi.value=function(Yi){return arguments.length?(ti=typeof Yi==\"function\"?Yi:r(+Yi),zi):ti},zi.order=function(Yi){return arguments.length?(br=Yi==null?Pi:typeof Yi==\"function\"?Yi:r(ke.call(Yi)),zi):br},zi.offset=function(Yi){return arguments.length?(Hr=Yi==null?Mi:Yi,zi):Hr},zi}function ka(_t,br){if((ti=_t.length)>0){for(var Hr,ti,zi=0,Yi=_t[0].length,an;zi<Yi;++zi){for(an=Hr=0;Hr<ti;++Hr)an+=_t[Hr][zi][1]||0;if(an)for(Hr=0;Hr<ti;++Hr)_t[Hr][zi][1]/=an}Mi(_t,br)}}function jn(_t,br){if((Ji=_t.length)>0)for(var Hr,ti=0,zi,Yi,an,hi,Ji,ua=_t[br[0]].length;ti<ua;++ti)for(an=hi=0,Hr=0;Hr<Ji;++Hr)(Yi=(zi=_t[br[Hr]][ti])[1]-zi[0])>0?(zi[0]=an,zi[1]=an+=Yi):Yi<0?(zi[1]=hi,zi[0]=hi+=Yi):(zi[0]=0,zi[1]=Yi)}function la(_t,br){if((zi=_t.length)>0){for(var Hr=0,ti=_t[br[0]],zi,Yi=ti.length;Hr<Yi;++Hr){for(var an=0,hi=0;an<zi;++an)hi+=_t[an][Hr][1]||0;ti[Hr][1]+=ti[Hr][0]=-hi/2}Mi(_t,br)}}function Fa(_t,br){if(!(!((an=_t.length)>0)||!((Yi=(zi=_t[br[0]]).length)>0))){for(var Hr=0,ti=1,zi,Yi,an;ti<Yi;++ti){for(var hi=0,Ji=0,ua=0;hi<an;++hi){for(var Fn=_t[br[hi]],Sa=Fn[ti][1]||0,go=Fn[ti-1][1]||0,Oo=(Sa-go)/2,ho=0;ho<hi;++ho){var Mo=_t[br[ho]],xo=Mo[ti][1]||0,zs=Mo[ti-1][1]||0;Oo+=xo-zs}Ji+=Sa,ua+=Oo*Sa}zi[ti-1][1]+=zi[ti-1][0]=Hr,Ji&&(Hr-=ua/Ji)}zi[ti-1][1]+=zi[ti-1][0]=Hr,Mi(_t,br)}}function Ra(_t){var br=_t.map(jo);return Pi(_t).sort(function(Hr,ti){return br[Hr]-br[ti]})}function jo(_t){for(var br=-1,Hr=0,ti=_t.length,zi,Yi=-1/0;++br<ti;)(zi=+_t[br][1])>Yi&&(Yi=zi,Hr=br);return Hr}function oa(_t){var br=_t.map(Sn);return Pi(_t).sort(function(Hr,ti){return br[Hr]-br[ti]})}function Sn(_t){for(var br=0,Hr=-1,ti=_t.length,zi;++Hr<ti;)(zi=+_t[Hr][1])&&(br+=zi);return br}function Ha(_t){return oa(_t).reverse()}function oo(_t){var br=_t.length,Hr,ti,zi=_t.map(Sn),Yi=Ra(_t),an=0,hi=0,Ji=[],ua=[];for(Hr=0;Hr<br;++Hr)ti=Yi[Hr],an<hi?(an+=zi[ti],Ji.push(ti)):(hi+=zi[ti],ua.push(ti));return ua.reverse().concat(Ji)}function xn(_t){return Pi(_t).reverse()}e.arc=C,e.area=q,e.areaRadial=_e,e.curveBasis=_r,e.curveBasisClosed=Or,e.curveBasisOpen=ut,e.curveBundle=Ye,e.curveCardinal=ht,e.curveCardinalClosed=xe,e.curveCardinalOpen=lt,e.curveCatmullRom=ar,e.curveCatmullRomClosed=ai,e.curveCatmullRomOpen=ri,e.curveLinear=g,e.curveLinearClosed=nn,e.curveMonotoneX=ft,e.curveMonotoneY=jt,e.curveNatural=Fr,e.curveStep=Vr,e.curveStepAfter=Si,e.curveStepBefore=gi,e.line=F,e.lineRadial=ae,e.linkHorizontal=Ce,e.linkRadial=Re,e.linkVertical=me,e.pie=X,e.pointRadial=Me,e.radialArea=_e,e.radialLine=ae,e.stack=Ki,e.stackOffsetDiverging=jn,e.stackOffsetExpand=ka,e.stackOffsetNone=Mi,e.stackOffsetSilhouette=la,e.stackOffsetWiggle=Fa,e.stackOrderAppearance=Ra,e.stackOrderAscending=oa,e.stackOrderDescending=Ha,e.stackOrderInsideOut=oo,e.stackOrderNone=Pi,e.stackOrderReverse=xn,e.symbol=dt,e.symbolCircle=ce,e.symbolCross=Ge,e.symbolDiamond=qt,e.symbolSquare=Yt,e.symbolStar=Ct,e.symbolTriangle=er,e.symbolWye=St,e.symbols=Et,Object.defineProperty(e,\"__esModule\",{value:!0})})});var Mje=ye((_7,Sje)=>{(function(e,t){typeof _7==\"object\"&&typeof Sje!=\"undefined\"?t(_7,$E(),d7(),PJ()):t(e.d3=e.d3||{},e.d3,e.d3,e.d3)})(_7,function(e,t,r,n){\"use strict\";function i(g){return g.target.depth}function a(g){return g.depth}function o(g,P){return P-1-g.height}function s(g,P){return g.sourceLinks.length?g.depth:P-1}function l(g){return g.targetLinks.length?g.depth:g.sourceLinks.length?t.min(g.sourceLinks,i)-1:0}function u(g){return function(){return g}}function c(g,P){return h(g.source,P.source)||g.index-P.index}function f(g,P){return h(g.target,P.target)||g.index-P.index}function h(g,P){return g.y0-P.y0}function d(g){return g.value}function v(g){return(g.y0+g.y1)/2}function x(g){return v(g.source)*g.value}function b(g){return v(g.target)*g.value}function p(g){return g.index}function E(g){return g.nodes}function k(g){return g.links}function A(g,P){var T=g.get(P);if(!T)throw new Error(\"missing: \"+P);return T}var L=function(){var g=0,P=0,T=1,F=1,q=24,V=8,H=p,X=s,G=E,N=k,W=32,re=2/3;function ae(){var Te={nodes:G.apply(null,arguments),links:N.apply(null,arguments)};return _e(Te),Me(Te),ke(Te),ge(Te,W),ie(Te),Te}ae.update=function(Te){return ie(Te),Te},ae.nodeId=function(Te){return arguments.length?(H=typeof Te==\"function\"?Te:u(Te),ae):H},ae.nodeAlign=function(Te){return arguments.length?(X=typeof Te==\"function\"?Te:u(Te),ae):X},ae.nodeWidth=function(Te){return arguments.length?(q=+Te,ae):q},ae.nodePadding=function(Te){return arguments.length?(V=+Te,ae):V},ae.nodes=function(Te){return arguments.length?(G=typeof Te==\"function\"?Te:u(Te),ae):G},ae.links=function(Te){return arguments.length?(N=typeof Te==\"function\"?Te:u(Te),ae):N},ae.size=function(Te){return arguments.length?(g=P=0,T=+Te[0],F=+Te[1],ae):[T-g,F-P]},ae.extent=function(Te){return arguments.length?(g=+Te[0][0],T=+Te[1][0],P=+Te[0][1],F=+Te[1][1],ae):[[g,P],[T,F]]},ae.iterations=function(Te){return arguments.length?(W=+Te,ae):W};function _e(Te){Te.nodes.forEach(function(Ae,ze){Ae.index=ze,Ae.sourceLinks=[],Ae.targetLinks=[]});var Ee=r.map(Te.nodes,H);Te.links.forEach(function(Ae,ze){Ae.index=ze;var Ce=Ae.source,me=Ae.target;typeof Ce!=\"object\"&&(Ce=Ae.source=A(Ee,Ce)),typeof me!=\"object\"&&(me=Ae.target=A(Ee,me)),Ce.sourceLinks.push(Ae),me.targetLinks.push(Ae)})}function Me(Te){Te.nodes.forEach(function(Ee){Ee.value=Math.max(t.sum(Ee.sourceLinks,d),t.sum(Ee.targetLinks,d))})}function ke(Te){var Ee,Ae,ze;for(Ee=Te.nodes,Ae=[],ze=0;Ee.length;++ze,Ee=Ae,Ae=[])Ee.forEach(function(me){me.depth=ze,me.sourceLinks.forEach(function(Re){Ae.indexOf(Re.target)<0&&Ae.push(Re.target)})});for(Ee=Te.nodes,Ae=[],ze=0;Ee.length;++ze,Ee=Ae,Ae=[])Ee.forEach(function(me){me.height=ze,me.targetLinks.forEach(function(Re){Ae.indexOf(Re.source)<0&&Ae.push(Re.source)})});var Ce=(T-g-q)/(ze-1);Te.nodes.forEach(function(me){me.x1=(me.x0=g+Math.max(0,Math.min(ze-1,Math.floor(X.call(null,me,ze))))*Ce)+q})}function ge(Te){var Ee=r.nest().key(function(Ge){return Ge.x0}).sortKeys(t.ascending).entries(Te.nodes).map(function(Ge){return Ge.values});Ce(),ce();for(var Ae=1,ze=W;ze>0;--ze)Re(Ae*=.99),ce(),me(Ae),ce();function Ce(){var Ge=t.max(Ee,function(qt){return qt.length}),nt=re*(F-P)/(Ge-1);V>nt&&(V=nt);var ct=t.min(Ee,function(qt){return(F-P-(qt.length-1)*V)/t.sum(qt,d)});Ee.forEach(function(qt){qt.forEach(function(rt,ot){rt.y1=(rt.y0=ot)+rt.value*ct})}),Te.links.forEach(function(qt){qt.width=qt.value*ct})}function me(Ge){Ee.forEach(function(nt){nt.forEach(function(ct){if(ct.targetLinks.length){var qt=(t.sum(ct.targetLinks,x)/t.sum(ct.targetLinks,d)-v(ct))*Ge;ct.y0+=qt,ct.y1+=qt}})})}function Re(Ge){Ee.slice().reverse().forEach(function(nt){nt.forEach(function(ct){if(ct.sourceLinks.length){var qt=(t.sum(ct.sourceLinks,b)/t.sum(ct.sourceLinks,d)-v(ct))*Ge;ct.y0+=qt,ct.y1+=qt}})})}function ce(){Ee.forEach(function(Ge){var nt,ct,qt=P,rt=Ge.length,ot;for(Ge.sort(h),ot=0;ot<rt;++ot)nt=Ge[ot],ct=qt-nt.y0,ct>0&&(nt.y0+=ct,nt.y1+=ct),qt=nt.y1+V;if(ct=qt-V-F,ct>0)for(qt=nt.y0-=ct,nt.y1-=ct,ot=rt-2;ot>=0;--ot)nt=Ge[ot],ct=nt.y1+V-qt,ct>0&&(nt.y0-=ct,nt.y1-=ct),qt=nt.y0})}}function ie(Te){Te.nodes.forEach(function(Ee){Ee.sourceLinks.sort(f),Ee.targetLinks.sort(c)}),Te.nodes.forEach(function(Ee){var Ae=Ee.y0,ze=Ae;Ee.sourceLinks.forEach(function(Ce){Ce.y0=Ae+Ce.width/2,Ae+=Ce.width}),Ee.targetLinks.forEach(function(Ce){Ce.y1=ze+Ce.width/2,ze+=Ce.width})})}return ae};function _(g){return[g.source.x1,g.y0]}function C(g){return[g.target.x0,g.y1]}var M=function(){return n.linkHorizontal().source(_).target(C)};e.sankey=L,e.sankeyCenter=l,e.sankeyLeft=a,e.sankeyRight=o,e.sankeyJustify=s,e.sankeyLinkHorizontal=M,Object.defineProperty(e,\"__esModule\",{value:!0})})});var kje=ye((__r,Eje)=>{var SWt=LJ();Eje.exports=function(t,r){var n=[],i=[],a=[],o={},s=[],l;function u(k){a[k]=!1,o.hasOwnProperty(k)&&Object.keys(o[k]).forEach(function(A){delete o[k][A],a[A]&&u(A)})}function c(k){var A=!1;i.push(k),a[k]=!0;var L,_;for(L=0;L<s[k].length;L++)_=s[k][L],_===l?(f(l,i),A=!0):a[_]||(A=c(_));if(A)u(k);else for(L=0;L<s[k].length;L++){_=s[k][L];var C=o[_];C||(C={},o[_]=C),C[_]=!0}return i.pop(),A}function f(k,A){var L=[].concat(A).concat(k);r?r(c):n.push(L)}function h(k){for(var A=0;A<t.length;A++)A<k&&(t[A]=[]),t[A]=t[A].filter(function(L){return L>=k})}function d(k){h(k);for(var A=t,L=SWt(A),_=L.components.filter(function(q){return q.length>1}),C=1/0,M,g=0;g<_.length;g++)for(var P=0;P<_[g].length;P++)_[g][P]<C&&(C=_[g][P],M=g);var T=_[M];if(!T)return!1;var F=t.map(function(q,V){return T.indexOf(V)===-1?[]:q.filter(function(H){return T.indexOf(H)!==-1})});return{leastVertex:C,adjList:F}}l=0;for(var v=t.length;l<v;){var x=d(l);if(l=x.leastVertex,s=x.adjList,s){for(var b=0;b<s.length;b++)for(var p=0;p<s[b].length;p++){var E=s[b][p];a[+E]=!1,o[E]={}}c(l),l=l+1}else l=v}if(!r)return n}});var Lje=ye((x7,Cje)=>{(function(e,t){typeof x7==\"object\"&&typeof Cje!=\"undefined\"?t(x7,$E(),d7(),PJ(),kje()):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,null)})(x7,function(e,t,r,n,i){\"use strict\";i=i&&i.hasOwnProperty(\"default\")?i.default:i;function a(rt){return rt.target.depth}function o(rt){return rt.depth}function s(rt,ot){return ot-1-rt.height}function l(rt,ot){return rt.sourceLinks.length?rt.depth:ot-1}function u(rt){return rt.targetLinks.length?rt.depth:rt.sourceLinks.length?t.min(rt.sourceLinks,a)-1:0}function c(rt){return function(){return rt}}var f=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(rt){return typeof rt}:function(rt){return rt&&typeof Symbol==\"function\"&&rt.constructor===Symbol&&rt!==Symbol.prototype?\"symbol\":typeof rt};function h(rt,ot){return v(rt.source,ot.source)||rt.index-ot.index}function d(rt,ot){return v(rt.target,ot.target)||rt.index-ot.index}function v(rt,ot){return rt.partOfCycle===ot.partOfCycle?rt.y0-ot.y0:rt.circularLinkType===\"top\"||ot.circularLinkType===\"bottom\"?-1:1}function x(rt){return rt.value}function b(rt){return(rt.y0+rt.y1)/2}function p(rt){return b(rt.source)}function E(rt){return b(rt.target)}function k(rt){return rt.index}function A(rt){return rt.nodes}function L(rt){return rt.links}function _(rt,ot){var Rt=rt.get(ot);if(!Rt)throw new Error(\"missing: \"+ot);return Rt}function C(rt,ot){return ot(rt)}var M=25,g=10,P=.3;function T(){var rt=0,ot=0,Rt=1,kt=1,Ct=24,Yt,xr=k,er=l,Ke=A,xt=L,bt=32,Lt=2,St,Et=null;function dt(){var ut={nodes:Ke.apply(null,arguments),links:xt.apply(null,arguments)};Ht(ut),F(ut,xr,Et),$t(ut),Br(ut),q(ut,xr),Or(ut,bt,xr),Nr(ut);for(var Ne=4,Ye=0;Ye<Ne;Ye++)Re(ut,kt,xr),ce(ut,kt,xr),ze(ut,ot,kt,xr),Re(ut,kt,xr),ce(ut,kt,xr);return qt(ut,ot,kt),W(ut,Lt,kt,xr),ut}dt.nodeId=function(ut){return arguments.length?(xr=typeof ut==\"function\"?ut:c(ut),dt):xr},dt.nodeAlign=function(ut){return arguments.length?(er=typeof ut==\"function\"?ut:c(ut),dt):er},dt.nodeWidth=function(ut){return arguments.length?(Ct=+ut,dt):Ct},dt.nodePadding=function(ut){return arguments.length?(Yt=+ut,dt):Yt},dt.nodes=function(ut){return arguments.length?(Ke=typeof ut==\"function\"?ut:c(ut),dt):Ke},dt.links=function(ut){return arguments.length?(xt=typeof ut==\"function\"?ut:c(ut),dt):xt},dt.size=function(ut){return arguments.length?(rt=ot=0,Rt=+ut[0],kt=+ut[1],dt):[Rt-rt,kt-ot]},dt.extent=function(ut){return arguments.length?(rt=+ut[0][0],Rt=+ut[1][0],ot=+ut[0][1],kt=+ut[1][1],dt):[[rt,ot],[Rt,kt]]},dt.iterations=function(ut){return arguments.length?(bt=+ut,dt):bt},dt.circularLinkGap=function(ut){return arguments.length?(Lt=+ut,dt):Lt},dt.nodePaddingRatio=function(ut){return arguments.length?(St=+ut,dt):St},dt.sortNodes=function(ut){return arguments.length?(Et=ut,dt):Et},dt.update=function(ut){return q(ut,xr),Nr(ut),ut.links.forEach(function(Ne){Ne.circular&&(Ne.circularLinkType=Ne.y0+Ne.y1<kt?\"top\":\"bottom\",Ne.source.circularLinkType=Ne.circularLinkType,Ne.target.circularLinkType=Ne.circularLinkType)}),Re(ut,kt,xr,!1),ce(ut,kt,xr),W(ut,Lt,kt,xr),ut};function Ht(ut){ut.nodes.forEach(function(Ye,Ve){Ye.index=Ve,Ye.sourceLinks=[],Ye.targetLinks=[]});var Ne=r.map(ut.nodes,xr);return ut.links.forEach(function(Ye,Ve){Ye.index=Ve;var Xe=Ye.source,ht=Ye.target;(typeof Xe==\"undefined\"?\"undefined\":f(Xe))!==\"object\"&&(Xe=Ye.source=_(Ne,Xe)),(typeof ht==\"undefined\"?\"undefined\":f(ht))!==\"object\"&&(ht=Ye.target=_(Ne,ht)),Xe.sourceLinks.push(Ye),ht.targetLinks.push(Ye)}),ut}function $t(ut){ut.nodes.forEach(function(Ne){Ne.partOfCycle=!1,Ne.value=Math.max(t.sum(Ne.sourceLinks,x),t.sum(Ne.targetLinks,x)),Ne.sourceLinks.forEach(function(Ye){Ye.circular&&(Ne.partOfCycle=!0,Ne.circularLinkType=Ye.circularLinkType)}),Ne.targetLinks.forEach(function(Ye){Ye.circular&&(Ne.partOfCycle=!0,Ne.circularLinkType=Ye.circularLinkType)})})}function fr(ut){var Ne=0,Ye=0,Ve=0,Xe=0,ht=t.max(ut.nodes,function(Le){return Le.column});return ut.links.forEach(function(Le){Le.circular&&(Le.circularLinkType==\"top\"?Ne=Ne+Le.width:Ye=Ye+Le.width,Le.target.column==0&&(Xe=Xe+Le.width),Le.source.column==ht&&(Ve=Ve+Le.width))}),Ne=Ne>0?Ne+M+g:Ne,Ye=Ye>0?Ye+M+g:Ye,Ve=Ve>0?Ve+M+g:Ve,Xe=Xe>0?Xe+M+g:Xe,{top:Ne,bottom:Ye,left:Xe,right:Ve}}function _r(ut,Ne){var Ye=t.max(ut.nodes,function(lt){return lt.column}),Ve=Rt-rt,Xe=kt-ot,ht=Ve+Ne.right+Ne.left,Le=Xe+Ne.top+Ne.bottom,xe=Ve/ht,Se=Xe/Le;return rt=rt*xe+Ne.left,Rt=Ne.right==0?Rt:Rt*xe,ot=ot*Se+Ne.top,kt=kt*Se,ut.nodes.forEach(function(lt){lt.x0=rt+lt.column*((Rt-rt-Ct)/Ye),lt.x1=lt.x0+Ct}),Se}function Br(ut){var Ne,Ye,Ve;for(Ne=ut.nodes,Ye=[],Ve=0;Ne.length;++Ve,Ne=Ye,Ye=[])Ne.forEach(function(Xe){Xe.depth=Ve,Xe.sourceLinks.forEach(function(ht){Ye.indexOf(ht.target)<0&&!ht.circular&&Ye.push(ht.target)})});for(Ne=ut.nodes,Ye=[],Ve=0;Ne.length;++Ve,Ne=Ye,Ye=[])Ne.forEach(function(Xe){Xe.height=Ve,Xe.targetLinks.forEach(function(ht){Ye.indexOf(ht.source)<0&&!ht.circular&&Ye.push(ht.source)})});ut.nodes.forEach(function(Xe){Xe.column=Math.floor(er.call(null,Xe,Ve))})}function Or(ut,Ne,Ye){var Ve=r.nest().key(function(lt){return lt.column}).sortKeys(t.ascending).entries(ut.nodes).map(function(lt){return lt.values});Le(Ye),Se();for(var Xe=1,ht=Ne;ht>0;--ht)xe(Xe*=.99,Ye),Se();function Le(lt){if(St){var Gt=1/0;Ve.forEach(function(ai){var jr=kt*St/(ai.length+1);Gt=jr<Gt?jr:Gt}),Yt=Gt}var Vt=t.min(Ve,function(ai){return(kt-ot-(ai.length-1)*Yt)/t.sum(ai,x)});Vt=Vt*P,ut.links.forEach(function(ai){ai.width=ai.value*Vt});var ar=fr(ut),Qr=_r(ut,ar);Vt=Vt*Qr,ut.links.forEach(function(ai){ai.width=ai.value*Vt}),Ve.forEach(function(ai){var jr=ai.length;ai.forEach(function(ri,bi){ri.depth==Ve.length-1&&jr==1||ri.depth==0&&jr==1?(ri.y0=kt/2-ri.value*Vt,ri.y1=ri.y0+ri.value*Vt):ri.partOfCycle?X(ri,lt)==0?(ri.y0=kt/2+bi,ri.y1=ri.y0+ri.value*Vt):ri.circularLinkType==\"top\"?(ri.y0=ot+bi,ri.y1=ri.y0+ri.value*Vt):(ri.y0=kt-ri.value*Vt-bi,ri.y1=ri.y0+ri.value*Vt):ar.top==0||ar.bottom==0?(ri.y0=(kt-ot)/jr*bi,ri.y1=ri.y0+ri.value*Vt):(ri.y0=(kt-ot)/2-jr/2+bi,ri.y1=ri.y0+ri.value*Vt)})})}function xe(lt,Gt){var Vt=Ve.length;Ve.forEach(function(ar){var Qr=ar.length,ai=ar[0].depth;ar.forEach(function(jr){var ri;if((jr.sourceLinks.length||jr.targetLinks.length)&&!(jr.partOfCycle&&X(jr,Gt)>0))if(ai==0&&Qr==1)ri=jr.y1-jr.y0,jr.y0=kt/2-ri/2,jr.y1=kt/2+ri/2;else if(ai==Vt-1&&Qr==1)ri=jr.y1-jr.y0,jr.y0=kt/2-ri/2,jr.y1=kt/2+ri/2;else{var bi=0,nn=t.mean(jr.sourceLinks,E),Wi=t.mean(jr.targetLinks,p);nn&&Wi?bi=(nn+Wi)/2:bi=nn||Wi;var Ni=(bi-b(jr))*lt;jr.y0+=Ni,jr.y1+=Ni}})})}function Se(){Ve.forEach(function(lt){var Gt,Vt,ar=ot,Qr=lt.length,ai;for(lt.sort(v),ai=0;ai<Qr;++ai)Gt=lt[ai],Vt=ar-Gt.y0,Vt>0&&(Gt.y0+=Vt,Gt.y1+=Vt),ar=Gt.y1+Yt;if(Vt=ar-Yt-kt,Vt>0)for(ar=Gt.y0-=Vt,Gt.y1-=Vt,ai=Qr-2;ai>=0;--ai)Gt=lt[ai],Vt=Gt.y1+Yt-ar,Vt>0&&(Gt.y0-=Vt,Gt.y1-=Vt),ar=Gt.y0})}}function Nr(ut){ut.nodes.forEach(function(Ne){Ne.sourceLinks.sort(d),Ne.targetLinks.sort(h)}),ut.nodes.forEach(function(Ne){var Ye=Ne.y0,Ve=Ye,Xe=Ne.y1,ht=Xe;Ne.sourceLinks.forEach(function(Le){Le.circular?(Le.y0=Xe-Le.width/2,Xe=Xe-Le.width):(Le.y0=Ye+Le.width/2,Ye+=Le.width)}),Ne.targetLinks.forEach(function(Le){Le.circular?(Le.y1=ht-Le.width/2,ht=ht-Le.width):(Le.y1=Ve+Le.width/2,Ve+=Le.width)})})}return dt}function F(rt,ot,Rt){var kt=0;if(Rt===null){for(var Ct=[],Yt=0;Yt<rt.links.length;Yt++){var xr=rt.links[Yt],er=xr.source.index,Ke=xr.target.index;Ct[er]||(Ct[er]=[]),Ct[Ke]||(Ct[Ke]=[]),Ct[er].indexOf(Ke)===-1&&Ct[er].push(Ke)}var xt=i(Ct);xt.sort(function(Et,dt){return Et.length-dt.length});var bt={};for(Yt=0;Yt<xt.length;Yt++){var Lt=xt[Yt],St=Lt.slice(-2);bt[St[0]]||(bt[St[0]]={}),bt[St[0]][St[1]]=!0}rt.links.forEach(function(Et){var dt=Et.target.index,Ht=Et.source.index;dt===Ht||bt[Ht]&&bt[Ht][dt]?(Et.circular=!0,Et.circularLinkID=kt,kt=kt+1):Et.circular=!1})}else rt.links.forEach(function(Et){Et.source[Rt]<Et.target[Rt]?Et.circular=!1:(Et.circular=!0,Et.circularLinkID=kt,kt=kt+1)})}function q(rt,ot){var Rt=0,kt=0;rt.links.forEach(function(Ct){Ct.circular&&(Ct.source.circularLinkType||Ct.target.circularLinkType?Ct.circularLinkType=Ct.source.circularLinkType?Ct.source.circularLinkType:Ct.target.circularLinkType:Ct.circularLinkType=Rt<kt?\"top\":\"bottom\",Ct.circularLinkType==\"top\"?Rt=Rt+1:kt=kt+1,rt.nodes.forEach(function(Yt){(C(Yt,ot)==C(Ct.source,ot)||C(Yt,ot)==C(Ct.target,ot))&&(Yt.circularLinkType=Ct.circularLinkType)}))}),rt.links.forEach(function(Ct){Ct.circular&&(Ct.source.circularLinkType==Ct.target.circularLinkType&&(Ct.circularLinkType=Ct.source.circularLinkType),ct(Ct,ot)&&(Ct.circularLinkType=Ct.source.circularLinkType))})}function V(rt){var ot=Math.abs(rt.y1-rt.y0),Rt=Math.abs(rt.target.x0-rt.source.x1);return Math.atan(Rt/ot)}function H(rt,ot){return rt.source.column<ot.target.column?!1:!(rt.target.column>ot.source.column)}function X(rt,ot){var Rt=0;rt.sourceLinks.forEach(function(Ct){Rt=Ct.circular&&!ct(Ct,ot)?Rt+1:Rt});var kt=0;return rt.targetLinks.forEach(function(Ct){kt=Ct.circular&&!ct(Ct,ot)?kt+1:kt}),Rt+kt}function G(rt){var ot=rt.source.sourceLinks,Rt=0;ot.forEach(function(Yt){Rt=Yt.circular?Rt+1:Rt});var kt=rt.target.targetLinks,Ct=0;return kt.forEach(function(Yt){Ct=Yt.circular?Ct+1:Ct}),!(Rt>1||Ct>1)}function N(rt,ot,Rt){return rt.sort(ae),rt.forEach(function(kt,Ct){var Yt=0;if(ct(kt,Rt)&&G(kt))kt.circularPathData.verticalBuffer=Yt+kt.width/2;else{var xr=0;for(xr;xr<Ct;xr++)if(H(rt[Ct],rt[xr])){var er=rt[xr].circularPathData.verticalBuffer+rt[xr].width/2+ot;Yt=er>Yt?er:Yt}kt.circularPathData.verticalBuffer=Yt+kt.width/2}}),rt}function W(rt,ot,Rt,kt){var Ct=5,Yt=t.min(rt.links,function(Ke){return Ke.source.y0});rt.links.forEach(function(Ke){Ke.circular&&(Ke.circularPathData={})});var xr=rt.links.filter(function(Ke){return Ke.circularLinkType==\"top\"});N(xr,ot,kt);var er=rt.links.filter(function(Ke){return Ke.circularLinkType==\"bottom\"});N(er,ot,kt),rt.links.forEach(function(Ke){if(Ke.circular){if(Ke.circularPathData.arcRadius=Ke.width+g,Ke.circularPathData.leftNodeBuffer=Ct,Ke.circularPathData.rightNodeBuffer=Ct,Ke.circularPathData.sourceWidth=Ke.source.x1-Ke.source.x0,Ke.circularPathData.sourceX=Ke.source.x0+Ke.circularPathData.sourceWidth,Ke.circularPathData.targetX=Ke.target.x0,Ke.circularPathData.sourceY=Ke.y0,Ke.circularPathData.targetY=Ke.y1,ct(Ke,kt)&&G(Ke))Ke.circularPathData.leftSmallArcRadius=g+Ke.width/2,Ke.circularPathData.leftLargeArcRadius=g+Ke.width/2,Ke.circularPathData.rightSmallArcRadius=g+Ke.width/2,Ke.circularPathData.rightLargeArcRadius=g+Ke.width/2,Ke.circularLinkType==\"bottom\"?(Ke.circularPathData.verticalFullExtent=Ke.source.y1+M+Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.rightLargeArcRadius):(Ke.circularPathData.verticalFullExtent=Ke.source.y0-M-Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.rightLargeArcRadius);else{var xt=Ke.source.column,bt=Ke.circularLinkType,Lt=rt.links.filter(function(dt){return dt.source.column==xt&&dt.circularLinkType==bt});Ke.circularLinkType==\"bottom\"?Lt.sort(Me):Lt.sort(_e);var St=0;Lt.forEach(function(dt,Ht){dt.circularLinkID==Ke.circularLinkID&&(Ke.circularPathData.leftSmallArcRadius=g+Ke.width/2+St,Ke.circularPathData.leftLargeArcRadius=g+Ke.width/2+Ht*ot+St),St=St+dt.width}),xt=Ke.target.column,Lt=rt.links.filter(function(dt){return dt.target.column==xt&&dt.circularLinkType==bt}),Ke.circularLinkType==\"bottom\"?Lt.sort(ge):Lt.sort(ke),St=0,Lt.forEach(function(dt,Ht){dt.circularLinkID==Ke.circularLinkID&&(Ke.circularPathData.rightSmallArcRadius=g+Ke.width/2+St,Ke.circularPathData.rightLargeArcRadius=g+Ke.width/2+Ht*ot+St),St=St+dt.width}),Ke.circularLinkType==\"bottom\"?(Ke.circularPathData.verticalFullExtent=Math.max(Rt,Ke.source.y1,Ke.target.y1)+M+Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.rightLargeArcRadius):(Ke.circularPathData.verticalFullExtent=Yt-M-Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.rightLargeArcRadius)}Ke.circularPathData.leftInnerExtent=Ke.circularPathData.sourceX+Ke.circularPathData.leftNodeBuffer,Ke.circularPathData.rightInnerExtent=Ke.circularPathData.targetX-Ke.circularPathData.rightNodeBuffer,Ke.circularPathData.leftFullExtent=Ke.circularPathData.sourceX+Ke.circularPathData.leftLargeArcRadius+Ke.circularPathData.leftNodeBuffer,Ke.circularPathData.rightFullExtent=Ke.circularPathData.targetX-Ke.circularPathData.rightLargeArcRadius-Ke.circularPathData.rightNodeBuffer}if(Ke.circular)Ke.path=re(Ke);else{var Et=n.linkHorizontal().source(function(dt){var Ht=dt.source.x0+(dt.source.x1-dt.source.x0),$t=dt.y0;return[Ht,$t]}).target(function(dt){var Ht=dt.target.x0,$t=dt.y1;return[Ht,$t]});Ke.path=Et(Ke)}})}function re(rt){var ot=\"\";return rt.circularLinkType==\"top\"?ot=\"M\"+rt.circularPathData.sourceX+\" \"+rt.circularPathData.sourceY+\" L\"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.sourceY+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftSmallArcRadius+\" 0 0 0 \"+rt.circularPathData.leftFullExtent+\" \"+(rt.circularPathData.sourceY-rt.circularPathData.leftSmallArcRadius)+\" L\"+rt.circularPathData.leftFullExtent+\" \"+rt.circularPathData.verticalLeftInnerExtent+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftLargeArcRadius+\" 0 0 0 \"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" L\"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightLargeArcRadius+\" 0 0 0 \"+rt.circularPathData.rightFullExtent+\" \"+rt.circularPathData.verticalRightInnerExtent+\" L\"+rt.circularPathData.rightFullExtent+\" \"+(rt.circularPathData.targetY-rt.circularPathData.rightSmallArcRadius)+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightSmallArcRadius+\" 0 0 0 \"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.targetY+\" L\"+rt.circularPathData.targetX+\" \"+rt.circularPathData.targetY:ot=\"M\"+rt.circularPathData.sourceX+\" \"+rt.circularPathData.sourceY+\" L\"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.sourceY+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftSmallArcRadius+\" 0 0 1 \"+rt.circularPathData.leftFullExtent+\" \"+(rt.circularPathData.sourceY+rt.circularPathData.leftSmallArcRadius)+\" L\"+rt.circularPathData.leftFullExtent+\" \"+rt.circularPathData.verticalLeftInnerExtent+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftLargeArcRadius+\" 0 0 1 \"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" L\"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightLargeArcRadius+\" 0 0 1 \"+rt.circularPathData.rightFullExtent+\" \"+rt.circularPathData.verticalRightInnerExtent+\" L\"+rt.circularPathData.rightFullExtent+\" \"+(rt.circularPathData.targetY+rt.circularPathData.rightSmallArcRadius)+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightSmallArcRadius+\" 0 0 1 \"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.targetY+\" L\"+rt.circularPathData.targetX+\" \"+rt.circularPathData.targetY,ot}function ae(rt,ot){return ie(rt)==ie(ot)?rt.circularLinkType==\"bottom\"?Me(rt,ot):_e(rt,ot):ie(ot)-ie(rt)}function _e(rt,ot){return rt.y0-ot.y0}function Me(rt,ot){return ot.y0-rt.y0}function ke(rt,ot){return rt.y1-ot.y1}function ge(rt,ot){return ot.y1-rt.y1}function ie(rt){return rt.target.column-rt.source.column}function Te(rt){return rt.target.x0-rt.source.x1}function Ee(rt,ot){var Rt=V(rt),kt=Te(ot)/Math.tan(Rt),Ct=nt(rt)==\"up\"?rt.y1+kt:rt.y1-kt;return Ct}function Ae(rt,ot){var Rt=V(rt),kt=Te(ot)/Math.tan(Rt),Ct=nt(rt)==\"up\"?rt.y1-kt:rt.y1+kt;return Ct}function ze(rt,ot,Rt,kt){rt.links.forEach(function(Ct){if(!Ct.circular&&Ct.target.column-Ct.source.column>1){var Yt=Ct.source.column+1,xr=Ct.target.column-1,er=1,Ke=xr-Yt+1;for(er=1;Yt<=xr;Yt++,er++)rt.nodes.forEach(function(xt){if(xt.column==Yt){var bt=er/(Ke+1),Lt=Math.pow(1-bt,3),St=3*bt*Math.pow(1-bt,2),Et=3*Math.pow(bt,2)*(1-bt),dt=Math.pow(bt,3),Ht=Lt*Ct.y0+St*Ct.y0+Et*Ct.y1+dt*Ct.y1,$t=Ht-Ct.width/2,fr=Ht+Ct.width/2,_r;$t>xt.y0&&$t<xt.y1?(_r=xt.y1-$t+10,_r=xt.circularLinkType==\"bottom\"?_r:-_r,xt=me(xt,_r,ot,Rt),rt.nodes.forEach(function(Br){C(Br,kt)==C(xt,kt)||Br.column!=xt.column||Ce(xt,Br)&&me(Br,_r,ot,Rt)})):fr>xt.y0&&fr<xt.y1?(_r=fr-xt.y0+10,xt=me(xt,_r,ot,Rt),rt.nodes.forEach(function(Br){C(Br,kt)==C(xt,kt)||Br.column!=xt.column||Br.y0<xt.y1&&Br.y1>xt.y1&&me(Br,_r,ot,Rt)})):$t<xt.y0&&fr>xt.y1&&(_r=fr-xt.y0+10,xt=me(xt,_r,ot,Rt),rt.nodes.forEach(function(Br){C(Br,kt)==C(xt,kt)||Br.column!=xt.column||Br.y0<xt.y1&&Br.y1>xt.y1&&me(Br,_r,ot,Rt)}))}})}})}function Ce(rt,ot){return rt.y0>ot.y0&&rt.y0<ot.y1||rt.y1>ot.y0&&rt.y1<ot.y1?!0:rt.y0<ot.y0&&rt.y1>ot.y1}function me(rt,ot,Rt,kt){return rt.y0+ot>=Rt&&rt.y1+ot<=kt&&(rt.y0=rt.y0+ot,rt.y1=rt.y1+ot,rt.targetLinks.forEach(function(Ct){Ct.y1=Ct.y1+ot}),rt.sourceLinks.forEach(function(Ct){Ct.y0=Ct.y0+ot})),rt}function Re(rt,ot,Rt,kt){rt.nodes.forEach(function(Ct){kt&&Ct.y+(Ct.y1-Ct.y0)>ot&&(Ct.y=Ct.y-(Ct.y+(Ct.y1-Ct.y0)-ot));var Yt=rt.links.filter(function(Ke){return C(Ke.source,Rt)==C(Ct,Rt)}),xr=Yt.length;xr>1&&Yt.sort(function(Ke,xt){if(!Ke.circular&&!xt.circular){if(Ke.target.column==xt.target.column)return Ke.y1-xt.y1;if(Ge(Ke,xt)){if(Ke.target.column>xt.target.column){var bt=Ae(xt,Ke);return Ke.y1-bt}if(xt.target.column>Ke.target.column){var Lt=Ae(Ke,xt);return Lt-xt.y1}}else return Ke.y1-xt.y1}if(Ke.circular&&!xt.circular)return Ke.circularLinkType==\"top\"?-1:1;if(xt.circular&&!Ke.circular)return xt.circularLinkType==\"top\"?1:-1;if(Ke.circular&&xt.circular)return Ke.circularLinkType===xt.circularLinkType&&Ke.circularLinkType==\"top\"?Ke.target.column===xt.target.column?Ke.target.y1-xt.target.y1:xt.target.column-Ke.target.column:Ke.circularLinkType===xt.circularLinkType&&Ke.circularLinkType==\"bottom\"?Ke.target.column===xt.target.column?xt.target.y1-Ke.target.y1:Ke.target.column-xt.target.column:Ke.circularLinkType==\"top\"?-1:1});var er=Ct.y0;Yt.forEach(function(Ke){Ke.y0=er+Ke.width/2,er=er+Ke.width}),Yt.forEach(function(Ke,xt){if(Ke.circularLinkType==\"bottom\"){var bt=xt+1,Lt=0;for(bt;bt<xr;bt++)Lt=Lt+Yt[bt].width;Ke.y0=Ct.y1-Lt-Ke.width/2}})})}function ce(rt,ot,Rt){rt.nodes.forEach(function(kt){var Ct=rt.links.filter(function(er){return C(er.target,Rt)==C(kt,Rt)}),Yt=Ct.length;Yt>1&&Ct.sort(function(er,Ke){if(!er.circular&&!Ke.circular){if(er.source.column==Ke.source.column)return er.y0-Ke.y0;if(Ge(er,Ke)){if(Ke.source.column<er.source.column){var xt=Ee(Ke,er);return er.y0-xt}if(er.source.column<Ke.source.column){var bt=Ee(er,Ke);return bt-Ke.y0}}else return er.y0-Ke.y0}if(er.circular&&!Ke.circular)return er.circularLinkType==\"top\"?-1:1;if(Ke.circular&&!er.circular)return Ke.circularLinkType==\"top\"?1:-1;if(er.circular&&Ke.circular)return er.circularLinkType===Ke.circularLinkType&&er.circularLinkType==\"top\"?er.source.column===Ke.source.column?er.source.y1-Ke.source.y1:er.source.column-Ke.source.column:er.circularLinkType===Ke.circularLinkType&&er.circularLinkType==\"bottom\"?er.source.column===Ke.source.column?er.source.y1-Ke.source.y1:Ke.source.column-er.source.column:er.circularLinkType==\"top\"?-1:1});var xr=kt.y0;Ct.forEach(function(er){er.y1=xr+er.width/2,xr=xr+er.width}),Ct.forEach(function(er,Ke){if(er.circularLinkType==\"bottom\"){var xt=Ke+1,bt=0;for(xt;xt<Yt;xt++)bt=bt+Ct[xt].width;er.y1=kt.y1-bt-er.width/2}})})}function Ge(rt,ot){return nt(rt)==nt(ot)}function nt(rt){return rt.y0-rt.y1>0?\"up\":\"down\"}function ct(rt,ot){return C(rt.source,ot)==C(rt.target,ot)}function qt(rt,ot,Rt){var kt=rt.nodes,Ct=rt.links,Yt=!1,xr=!1;if(Ct.forEach(function(St){St.circularLinkType==\"top\"?Yt=!0:St.circularLinkType==\"bottom\"&&(xr=!0)}),Yt==!1||xr==!1){var er=t.min(kt,function(St){return St.y0}),Ke=t.max(kt,function(St){return St.y1}),xt=Ke-er,bt=Rt-ot,Lt=bt/xt;kt.forEach(function(St){var Et=(St.y1-St.y0)*Lt;St.y0=(St.y0-er)*Lt,St.y1=St.y0+Et}),Ct.forEach(function(St){St.y0=(St.y0-er)*Lt,St.y1=(St.y1-er)*Lt,St.width=St.width*Lt})}}e.sankeyCircular=T,e.sankeyCenter=u,e.sankeyLeft=o,e.sankeyRight=s,e.sankeyJustify=l,Object.defineProperty(e,\"__esModule\",{value:!0})})});var IJ=ye((x_r,Pje)=>{\"use strict\";Pje.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\"}}});var Gje=ye((b_r,Hje)=>{\"use strict\";var Ije=bje(),MWt=(R2(),B1(I2)).interpolateNumber,CA=xa(),Gk=Mje(),EWt=Lje(),pu=IJ(),LA=id(),aw=va(),kWt=ao(),p1=Mr(),zJ=p1.strTranslate,CWt=p1.strRotate,FJ=Km(),jk=FJ.keyFun,b7=FJ.repeat,Oje=FJ.unwrap,Rje=Pl(),LWt=ba(),Bje=Nh(),PWt=Bje.CAP_SHIFT,IWt=Bje.LINE_SPACING,RWt=3;function DWt(e,t,r){var n=Oje(t),i=n.trace,a=i.domain,o=i.orientation===\"h\",s=i.node.pad,l=i.node.thickness,u={justify:Gk.sankeyJustify,left:Gk.sankeyLeft,right:Gk.sankeyRight,center:Gk.sankeyCenter}[i.node.align],c=e.width*(a.x[1]-a.x[0]),f=e.height*(a.y[1]-a.y[0]),h=n._nodes,d=n._links,v=n.circular,x;v?x=EWt.sankeyCircular().circularLinkGap(0):x=Gk.sankey(),x.iterations(pu.sankeyIterations).size(o?[c,f]:[f,c]).nodeWidth(l).nodePadding(s).nodeId(function(V){return V.pointNumber}).nodeAlign(u).nodes(h).links(d);var b=x();x.nodePadding()<s&&p1.warn(\"node.pad was reduced to \",x.nodePadding(),\" to fit within the figure.\");var p,E,k;for(var A in n._groupLookup){var L=parseInt(n._groupLookup[A]),_;for(p=0;p<b.nodes.length;p++)if(b.nodes[p].pointNumber===L){_=b.nodes[p];break}if(_){var C={pointNumber:parseInt(A),x0:_.x0,x1:_.x1,y0:_.y0,y1:_.y1,partOfGroup:!0,sourceLinks:[],targetLinks:[]};b.nodes.unshift(C),_.childrenNodes.unshift(C)}}function M(){for(p=0;p<b.nodes.length;p++){var V=b.nodes[p],H={},X,G;for(E=0;E<V.targetLinks.length;E++)G=V.targetLinks[E],X=G.source.pointNumber+\":\"+G.target.pointNumber,H.hasOwnProperty(X)||(H[X]=[]),H[X].push(G);var N=Object.keys(H);for(E=0;E<N.length;E++){X=N[E];var W=H[X],re=0,ae={};for(k=0;k<W.length;k++)G=W[k],ae[G.label]||(ae[G.label]=0),ae[G.label]+=G.value,re+=G.value;for(k=0;k<W.length;k++)G=W[k],G.flow={value:re,labelConcentration:ae[G.label]/re,concentration:G.value/re,links:W},G.concentrationscale&&(G.color=LA(G.concentrationscale(G.flow.labelConcentration)))}var _e=0;for(E=0;E<V.sourceLinks.length;E++)_e+=V.sourceLinks[E].value;for(E=0;E<V.sourceLinks.length;E++)G=V.sourceLinks[E],G.concentrationOut=G.value/_e;var Me=0;for(E=0;E<V.targetLinks.length;E++)Me+=V.targetLinks[E].value;for(E=0;E<V.targetLinks.length;E++)G=V.targetLinks[E],G.concenrationIn=G.value/Me}}M();function g(V){V.forEach(function(H){var X,G,N=0,W=H.length,re;for(H.sort(function(ae,_e){return ae.y0-_e.y0}),re=0;re<W;++re)X=H[re],X.y0>=N||(G=N-X.y0,G>1e-6&&(X.y0+=G,X.y1+=G)),N=X.y1+s})}function P(V){var H=V.map(function(_e,Me){return{x0:_e.x0,index:Me}}).sort(function(_e,Me){return _e.x0-Me.x0}),X=[],G=-1,N,W=-1/0,re;for(p=0;p<H.length;p++){var ae=V[H[p].index];ae.x0>W+l&&(G+=1,N=ae.x0),W=ae.x0,X[G]||(X[G]=[]),X[G].push(ae),re=N-ae.x0,ae.x0+=re,ae.x1+=re}return X}if(i.node.x.length&&i.node.y.length){for(p=0;p<Math.min(i.node.x.length,i.node.y.length,b.nodes.length);p++)if(i.node.x[p]&&i.node.y[p]){var T=[i.node.x[p]*c,i.node.y[p]*f];b.nodes[p].x0=T[0]-l/2,b.nodes[p].x1=T[0]+l/2;var F=b.nodes[p].y1-b.nodes[p].y0;b.nodes[p].y0=T[1]-F/2,b.nodes[p].y1=T[1]+F/2}if(i.arrangement===\"snap\"){h=b.nodes;var q=P(h);g(q)}x.update(b)}return{circular:v,key:r,trace:i,guid:p1.randstr(),horizontal:o,width:c,height:f,nodePad:i.node.pad,nodeLineColor:i.node.line.color,nodeLineWidth:i.node.line.width,linkLineColor:i.link.line.color,linkLineWidth:i.link.line.width,linkArrowLength:i.link.arrowlen,valueFormat:i.valueformat,valueSuffix:i.valuesuffix,textFont:i.textfont,translateX:a.x[0]*e.width+e.margin.l,translateY:e.height-a.y[1]*e.height+e.margin.t,dragParallel:o?f:c,dragPerpendicular:o?c:f,arrangement:i.arrangement,sankey:x,graph:b,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function zWt(e,t,r){var n=LA(t.color),i=LA(t.hovercolor),a=t.source.label+\"|\"+t.target.label,o=a+\"__\"+r;return t.trace=e.trace,t.curveNumber=e.trace.index,{circular:e.circular,key:o,traceId:e.key,pointNumber:t.pointNumber,link:t,tinyColorHue:aw.tinyRGB(n),tinyColorAlpha:n.getAlpha(),tinyColorHoverHue:aw.tinyRGB(i),tinyColorHoverAlpha:i.getAlpha(),linkPath:qJ,linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,linkArrowLength:e.linkArrowLength,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,parent:e,interactionState:e.interactionState,flow:t.flow}}function FWt(e,t){var r=\"\",n=e.width/2,i=e.circularPathData,a=i.sourceX+i.verticalBuffer<i.targetX,o=i.rightFullExtent-i.rightLargeArcRadius-t<=i.leftFullExtent-n,s=Math.abs(i.rightFullExtent-i.leftFullExtent-n)<n;return e.circularLinkType===\"top\"?(r=\"M \"+(i.targetX-t)+\" \"+(i.targetY+n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.targetY+n)+\"A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightSmallArcRadius+n)+\" 0 0 1 \"+(i.rightFullExtent-n-t)+\" \"+(i.targetY-i.rightSmallArcRadius)+\"L \"+(i.rightFullExtent-n-t)+\" \"+i.verticalRightInnerExtent,a&&o?r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 1 \"+(i.rightFullExtent+n-t-(i.rightLargeArcRadius-n))+\" \"+(i.verticalRightInnerExtent-(i.rightLargeArcRadius+n))+\" L \"+(i.rightFullExtent+n-(i.rightLargeArcRadius-n)-t)+\" \"+(i.verticalRightInnerExtent-(i.rightLargeArcRadius+n))+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftLargeArcRadius+n)+\" 0 0 1 \"+(i.leftFullExtent+n)+\" \"+i.verticalRightInnerExtent:a?r+=\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightLargeArcRadius-n)+\" 0 0 0 \"+(i.rightFullExtent-n-t-(i.rightLargeArcRadius-n))+\" \"+(i.verticalRightInnerExtent-(i.rightLargeArcRadius-n))+\" L \"+(i.leftFullExtent+n+(i.rightLargeArcRadius-n))+\" \"+(i.verticalRightInnerExtent-(i.rightLargeArcRadius-n))+\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftLargeArcRadius-n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent:r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 1 \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent-n)+\" L \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftLargeArcRadius+n)+\" 0 0 1 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent,r+=\" L \"+(i.leftFullExtent+n)+\" \"+(i.sourceY-i.leftSmallArcRadius)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 1 \"+i.leftInnerExtent+\" \"+(i.sourceY+n)+\" L \"+i.sourceX+\" \"+(i.sourceY+n)+\" L \"+i.sourceX+\" \"+(i.sourceY-n)+\" L \"+i.leftInnerExtent+\" \"+(i.sourceY-n)+\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftSmallArcRadius-n)+\" 0 0 0 \"+(i.leftFullExtent-n)+\" \"+(i.sourceY-i.leftSmallArcRadius)+\" L \"+(i.leftFullExtent-n)+\" \"+i.verticalLeftInnerExtent,a&&o?r+=\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent-n)+\" \"+(i.verticalFullExtent+n)+\"L\"+(i.rightFullExtent+n-t)+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 0 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:a?r+=\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 1 \"+(i.leftFullExtent+n)+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.rightFullExtent-n-t)+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 1 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:r+=\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftLargeArcRadius-n)+\" 0 0 0 \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent+n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightLargeArcRadius-n)+\" 0 0 0 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent,r+=\" L \"+(i.rightFullExtent+n-t)+\" \"+(i.targetY-i.rightSmallArcRadius)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 0 \"+(i.rightInnerExtent-t)+\" \"+(i.targetY-n)+\" L \"+(i.targetX-t)+\" \"+(i.targetY-n)+(t>0?\" L \"+i.targetX+\" \"+i.targetY:\"\")+\"Z\"):(r=\"M \"+(i.targetX-t)+\" \"+(i.targetY-n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.targetY-n)+\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightSmallArcRadius+n)+\" 0 0 0 \"+(i.rightFullExtent-n-t)+\" \"+(i.targetY+i.rightSmallArcRadius)+\" L \"+(i.rightFullExtent-n-t)+\" \"+i.verticalRightInnerExtent,a&&o?r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.rightInnerExtent-n-t)+\" \"+(i.verticalFullExtent+n)+\" L \"+(i.rightFullExtent+n-t-(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent:a?r+=\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.rightFullExtent-t-n-(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.leftFullExtent+n+(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent:r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent+n)+\" L \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftLargeArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent,r+=\" L \"+(i.leftFullExtent+n)+\" \"+(i.sourceY+i.leftSmallArcRadius)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 0 \"+i.leftInnerExtent+\" \"+(i.sourceY-n)+\" L \"+i.sourceX+\" \"+(i.sourceY-n)+\" L \"+i.sourceX+\" \"+(i.sourceY+n)+\" L \"+i.leftInnerExtent+\" \"+(i.sourceY+n)+\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftSmallArcRadius-n)+\" 0 0 1 \"+(i.leftFullExtent-n)+\" \"+(i.sourceY+i.leftSmallArcRadius)+\" L \"+(i.leftFullExtent-n)+\" \"+i.verticalLeftInnerExtent,a&&o?r+=\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.leftFullExtent-n-(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.rightFullExtent+n-t+(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:a?r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+(i.verticalFullExtent+n)+\" L \"+(i.rightFullExtent-t-n)+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:r+=\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftLargeArcRadius-n)+\" 0 0 1 \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightLargeArcRadius-n)+\" 0 0 1 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent,r+=\" L \"+(i.rightFullExtent+n-t)+\" \"+(i.targetY+i.rightSmallArcRadius)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.rightInnerExtent-t)+\" \"+(i.targetY+n)+\" L \"+(i.targetX-t)+\" \"+(i.targetY+n)+(t>0?\" L \"+i.targetX+\" \"+i.targetY:\"\")+\"Z\"),r}function qJ(){var e=.5;function t(r){var n=r.linkArrowLength;if(r.link.circular)return FWt(r.link,n);var i=Math.abs((r.link.target.x0-r.link.source.x1)/2);n>i&&(n=i);var a=r.link.source.x1,o=r.link.target.x0-n,s=MWt(a,o),l=s(e),u=s(1-e),c=r.link.y0-r.link.width/2,f=r.link.y0+r.link.width/2,h=r.link.y1-r.link.width/2,d=r.link.y1+r.link.width/2,v=\"M\"+a+\",\"+c,x=\"C\"+l+\",\"+c+\" \"+u+\",\"+h+\" \"+o+\",\"+h,b=\"C\"+u+\",\"+d+\" \"+l+\",\"+f+\" \"+a+\",\"+f,p=n>0?\"L\"+(o+n)+\",\"+(h+r.link.width/2):\"\";return p+=\"L\"+o+\",\"+d,v+x+p+b+\"Z\"}return t}function qWt(e,t){var r=LA(t.color),n=pu.nodePadAcross,i=e.nodePad/2;t.dx=t.x1-t.x0,t.dy=t.y1-t.y0;var a=t.dx,o=Math.max(.5,t.dy),s=\"node_\"+t.pointNumber;return t.group&&(s=p1.randstr()),t.trace=e.trace,t.curveNumber=e.trace.index,{index:t.pointNumber,key:s,partOfGroup:t.partOfGroup||!1,group:t.group,traceId:e.key,trace:e.trace,node:t,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:e.horizontal?t.dy/2+1:t.dx/2+1,left:t.originalLayer===1,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:aw.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,graph:e.graph,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,s].join(\"_\"),interactionState:e.interactionState,figure:e}}function DJ(e){e.attr(\"transform\",function(t){return zJ(t.node.x0.toFixed(3),t.node.y0.toFixed(3))})}function OWt(e){e.call(DJ)}function Nje(e,t){e.call(OWt),t.attr(\"d\",qJ())}function Dje(e){e.attr(\"width\",function(t){return t.node.x1-t.node.x0}).attr(\"height\",function(t){return t.visibleHeight})}function RJ(e){return e.link.width>1||e.linkLineWidth>0}function zje(e){var t=zJ(e.translateX,e.translateY);return t+(e.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\")}function Fje(e,t,r){e.on(\".basic\",null).on(\"mouseover.basic\",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.hover(this,n,t),n.interactionState.hovered=[this,n])}).on(\"mousemove.basic\",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.follow(this,n),n.interactionState.hovered=[this,n])}).on(\"mouseout.basic\",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.unhover(this,n,t),n.interactionState.hovered=!1)}).on(\"click.basic\",function(n){n.interactionState.hovered&&(r.unhover(this,n,t),n.interactionState.hovered=!1),!n.interactionState.dragInProgress&&!n.partOfGroup&&r.select(this,n,t)})}function BWt(e,t,r,n){var i=CA.behavior.drag().origin(function(a){return{x:a.node.x0+a.visibleWidth/2,y:a.node.y0+a.visibleHeight/2}}).on(\"dragstart\",function(a){if(a.arrangement!==\"fixed\"&&(p1.ensureSingle(n._fullLayout._infolayer,\"g\",\"dragcover\",function(s){n._fullLayout._dragCover=s}),p1.raiseToTop(this),a.interactionState.dragInProgress=a.node,qje(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),a.arrangement===\"snap\")){var o=a.traceId+\"|\"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):NWt(e,o,a,n),UWt(e,t,a,o,n)}}).on(\"drag\",function(a){if(a.arrangement!==\"fixed\"){var o=CA.event.x,s=CA.event.y;a.arrangement===\"snap\"?(a.node.x0=o-a.visibleWidth/2,a.node.x1=o+a.visibleWidth/2,a.node.y0=s-a.visibleHeight/2,a.node.y1=s+a.visibleHeight/2):(a.arrangement===\"freeform\"&&(a.node.x0=o-a.visibleWidth/2,a.node.x1=o+a.visibleWidth/2),s=Math.max(0,Math.min(a.size-a.visibleHeight/2,s)),a.node.y0=s-a.visibleHeight/2,a.node.y1=s+a.visibleHeight/2),qje(a.node),a.arrangement!==\"snap\"&&(a.sankey.update(a.graph),Nje(e.filter(Vje(a)),t))}}).on(\"dragend\",function(a){if(a.arrangement!==\"fixed\"){a.interactionState.dragInProgress=!1;for(var o=0;o<a.node.childrenNodes.length;o++)a.node.childrenNodes[o].x=a.node.x,a.node.childrenNodes[o].y=a.node.y;a.arrangement!==\"snap\"&&Uje(a,n)}});e.on(\".drag\",null).call(i)}function NWt(e,t,r,n){GWt(r.graph.nodes);var i=r.graph.nodes.filter(function(a){return a.originalX===r.node.originalX}).filter(function(a){return!a.partOfGroup});r.forceLayouts[t]=Ije.forceSimulation(i).alphaDecay(0).force(\"collide\",Ije.forceCollide().radius(function(a){return a.dy/2+r.nodePad/2}).strength(1).iterations(pu.forceIterations)).force(\"constrain\",VWt(e,t,i,r,n)).stop()}function UWt(e,t,r,n,i){window.requestAnimationFrame(function a(){var o;for(o=0;o<pu.forceTicksPerFrame;o++)r.forceLayouts[n].tick();var s=r.graph.nodes;if(jWt(s),r.sankey.update(r.graph),Nje(e.filter(Vje(r)),t),r.forceLayouts[n].alpha()>0)window.requestAnimationFrame(a);else{var l=r.node.originalX;r.node.x0=l-r.visibleWidth/2,r.node.x1=l+r.visibleWidth/2,Uje(r,i)}})}function VWt(e,t,r,n){return function(){for(var a=0,o=0;o<r.length;o++){var s=r[o];s===n.interactionState.dragInProgress?(s.x=s.lastDraggedX,s.y=s.lastDraggedY):(s.vx=(s.originalX-s.x)/pu.forceTicksPerFrame,s.y=Math.min(n.size-s.dy/2,Math.max(s.dy/2,s.y))),a=Math.max(a,Math.abs(s.vx),Math.abs(s.vy))}!n.interactionState.dragInProgress&&a<.1&&n.forceLayouts[t].alpha()>0&&n.forceLayouts[t].alpha(0)}}function Uje(e,t){for(var r=[],n=[],i=0;i<e.graph.nodes.length;i++){var a=(e.graph.nodes[i].x0+e.graph.nodes[i].x1)/2,o=(e.graph.nodes[i].y0+e.graph.nodes[i].y1)/2;r.push(a/e.figure.width),n.push(o/e.figure.height)}LWt.call(\"_guiRestyle\",t,{\"node.x\":[r],\"node.y\":[n]},e.trace.index).then(function(){t._fullLayout._dragCover&&t._fullLayout._dragCover.remove()})}function HWt(e){var t=[],r;for(r=0;r<e.length;r++)e[r].originalX=(e[r].x0+e[r].x1)/2,e[r].originalY=(e[r].y0+e[r].y1)/2,t.indexOf(e[r].originalX)===-1&&t.push(e[r].originalX);for(t.sort(function(n,i){return n-i}),r=0;r<e.length;r++)e[r].originalLayerIndex=t.indexOf(e[r].originalX),e[r].originalLayer=e[r].originalLayerIndex/(t.length-1)}function qje(e){e.lastDraggedX=e.x0+e.dx/2,e.lastDraggedY=e.y0+e.dy/2}function Vje(e){return function(t){return t.node.originalX===e.node.originalX}}function GWt(e){for(var t=0;t<e.length;t++)e[t].y=(e[t].y0+e[t].y1)/2,e[t].x=(e[t].x0+e[t].x1)/2}function jWt(e){for(var t=0;t<e.length;t++)e[t].y0=e[t].y-e[t].dy/2,e[t].y1=e[t].y0+e[t].dy,e[t].x0=e[t].x-e[t].dx/2,e[t].x1=e[t].x0+e[t].dx}Hje.exports=function(e,t,r,n,i){var a=e._context.staticPlot,o=!1;p1.ensureSingle(e._fullLayout._infolayer,\"g\",\"first-render\",function(){o=!0});var s=e._fullLayout._dragCover,l=r.filter(function(b){return Oje(b).trace.visible}).map(DWt.bind(null,n)),u=t.selectAll(\".\"+pu.cn.sankey).data(l,jk);u.exit().remove(),u.enter().append(\"g\").classed(pu.cn.sankey,!0).style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"shape-rendering\",\"geometricPrecision\").style(\"pointer-events\",a?\"none\":\"auto\").attr(\"transform\",zje),u.each(function(b,p){e._fullData[p]._sankey=b;var E=\"bgsankey-\"+b.trace.uid+\"-\"+p;p1.ensureSingle(e._fullLayout._draggers,\"rect\",E),e._fullData[p]._bgRect=CA.select(\".\"+E),e._fullData[p]._bgRect.style(\"pointer-events\",a?\"none\":\"all\").attr(\"width\",b.width).attr(\"height\",b.height).attr(\"x\",b.translateX).attr(\"y\",b.translateY).classed(\"bgsankey\",!0).style({fill:\"transparent\",\"stroke-width\":0})}),u.transition().ease(pu.ease).duration(pu.duration).attr(\"transform\",zje);var c=u.selectAll(\".\"+pu.cn.sankeyLinks).data(b7,jk);c.enter().append(\"g\").classed(pu.cn.sankeyLinks,!0).style(\"fill\",\"none\");var f=c.selectAll(\".\"+pu.cn.sankeyLink).data(function(b){var p=b.graph.links;return p.filter(function(E){return E.value}).map(zWt.bind(null,b))},jk);f.enter().append(\"path\").classed(pu.cn.sankeyLink,!0).call(Fje,u,i.linkEvents),f.style(\"stroke\",function(b){return RJ(b)?aw.tinyRGB(LA(b.linkLineColor)):b.tinyColorHue}).style(\"stroke-opacity\",function(b){return RJ(b)?aw.opacity(b.linkLineColor):b.tinyColorAlpha}).style(\"fill\",function(b){return b.tinyColorHue}).style(\"fill-opacity\",function(b){return b.tinyColorAlpha}).style(\"stroke-width\",function(b){return RJ(b)?b.linkLineWidth:1}).attr(\"d\",qJ()),f.style(\"opacity\",function(){return e._context.staticPlot||o||s?1:0}).transition().ease(pu.ease).duration(pu.duration).style(\"opacity\",1),f.exit().transition().ease(pu.ease).duration(pu.duration).style(\"opacity\",0).remove();var h=u.selectAll(\".\"+pu.cn.sankeyNodeSet).data(b7,jk);h.enter().append(\"g\").classed(pu.cn.sankeyNodeSet,!0),h.style(\"cursor\",function(b){switch(b.arrangement){case\"fixed\":return\"default\";case\"perpendicular\":return\"ns-resize\";default:return\"move\"}});var d=h.selectAll(\".\"+pu.cn.sankeyNode).data(function(b){var p=b.graph.nodes;return HWt(p),p.map(qWt.bind(null,b))},jk);d.enter().append(\"g\").classed(pu.cn.sankeyNode,!0).call(DJ).style(\"opacity\",function(b){return(e._context.staticPlot||o)&&!b.partOfGroup?1:0}),d.call(Fje,u,i.nodeEvents).call(BWt,f,i,e),d.transition().ease(pu.ease).duration(pu.duration).call(DJ).style(\"opacity\",function(b){return b.partOfGroup?0:1}),d.exit().transition().ease(pu.ease).duration(pu.duration).style(\"opacity\",0).remove();var v=d.selectAll(\".\"+pu.cn.nodeRect).data(b7);v.enter().append(\"rect\").classed(pu.cn.nodeRect,!0).call(Dje),v.style(\"stroke-width\",function(b){return b.nodeLineWidth}).style(\"stroke\",function(b){return aw.tinyRGB(LA(b.nodeLineColor))}).style(\"stroke-opacity\",function(b){return aw.opacity(b.nodeLineColor)}).style(\"fill\",function(b){return b.tinyColorHue}).style(\"fill-opacity\",function(b){return b.tinyColorAlpha}),v.transition().ease(pu.ease).duration(pu.duration).call(Dje);var x=d.selectAll(\".\"+pu.cn.nodeLabel).data(b7);x.enter().append(\"text\").classed(pu.cn.nodeLabel,!0).style(\"cursor\",\"default\"),x.attr(\"data-notex\",1).text(function(b){return b.node.label}).each(function(b){var p=CA.select(this);kWt.font(p,b.textFont),Rje.convertToTspans(p,e)}).attr(\"text-anchor\",function(b){return b.horizontal&&b.left?\"end\":\"start\"}).attr(\"transform\",function(b){var p=CA.select(this),E=Rje.lineCount(p),k=b.textFont.size*((E-1)*IWt-PWt),A=b.nodeLineWidth/2+RWt,L=((b.horizontal?b.visibleHeight:b.visibleWidth)-k)/2;b.horizontal&&(b.left?A=-A:A+=b.visibleWidth);var _=b.horizontal?\"\":\"scale(-1,1)\"+CWt(90);return zJ(b.horizontal?A:L,b.horizontal?L:A)+_}),x.transition().ease(pu.ease).duration(pu.duration)}});var NJ=ye((w_r,Qje)=>{\"use strict\";var Zv=xa(),BJ=Mr(),w7=BJ.numberFormat,WWt=Gje(),PA=Nc(),ZWt=va(),Sx=IJ().cn,Wk=BJ._;function jje(e){return e!==\"\"}function IA(e,t){return e.filter(function(r){return r.key===t.traceId})}function Wje(e,t){Zv.select(e).select(\"path\").style(\"fill-opacity\",t),Zv.select(e).select(\"rect\").style(\"fill-opacity\",t)}function Zje(e){Zv.select(e).select(\"text.name\").style(\"fill\",\"black\")}function Xje(e){return function(t){return e.node.sourceLinks.indexOf(t.link)!==-1||e.node.targetLinks.indexOf(t.link)!==-1}}function Yje(e){return function(t){return t.node.sourceLinks.indexOf(e.link)!==-1||t.node.targetLinks.indexOf(e.link)!==-1}}function Kje(e,t,r){t&&r&&IA(r,t).selectAll(\".\"+Sx.sankeyLink).filter(Xje(t)).call(Jje.bind(0,t,r,!1))}function OJ(e,t,r){t&&r&&IA(r,t).selectAll(\".\"+Sx.sankeyLink).filter(Xje(t)).call($je.bind(0,t,r,!1))}function Jje(e,t,r,n){n.style(\"fill\",function(i){if(!i.link.concentrationscale)return i.tinyColorHoverHue}).style(\"fill-opacity\",function(i){if(!i.link.concentrationscale)return i.tinyColorHoverAlpha}),n.each(function(i){var a=i.link.label;a!==\"\"&&IA(t,e).selectAll(\".\"+Sx.sankeyLink).filter(function(o){return o.link.label===a}).style(\"fill\",function(o){if(!o.link.concentrationscale)return o.tinyColorHoverHue}).style(\"fill-opacity\",function(o){if(!o.link.concentrationscale)return o.tinyColorHoverAlpha})}),r&&IA(t,e).selectAll(\".\"+Sx.sankeyNode).filter(Yje(e)).call(Kje)}function $je(e,t,r,n){n.style(\"fill\",function(i){return i.tinyColorHue}).style(\"fill-opacity\",function(i){return i.tinyColorAlpha}),n.each(function(i){var a=i.link.label;a!==\"\"&&IA(t,e).selectAll(\".\"+Sx.sankeyLink).filter(function(o){return o.link.label===a}).style(\"fill\",function(o){return o.tinyColorHue}).style(\"fill-opacity\",function(o){return o.tinyColorAlpha})}),r&&IA(t,e).selectAll(Sx.sankeyNode).filter(Yje(e)).call(OJ)}function lf(e,t){var r=e.hoverlabel||{},n=BJ.nestedProperty(r,t).get();return Array.isArray(n)?!1:n}Qje.exports=function(t,r){for(var n=t._fullLayout,i=n._paper,a=n._size,o=0;o<t._fullData.length;o++)if(t._fullData[o].visible&&t._fullData[o].type===Sx.sankey&&!t._fullData[o]._viewInitial){var s=t._fullData[o].node;t._fullData[o]._viewInitial={node:{groups:s.groups.slice(),x:s.x.slice(),y:s.y.slice()}}}var l=function(L,_){var C=_.link;C.originalEvent=Zv.event,t._hoverdata=[C],PA.click(t,{target:!0})},u=function(L,_,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call(Jje.bind(0,_,C,!0)),_.link.trace.link.hoverinfo!==\"skip\"&&(_.link.fullData=_.link.trace,t.emit(\"plotly_hover\",{event:Zv.event,points:[_.link]})))},c=Wk(t,\"source:\")+\" \",f=Wk(t,\"target:\")+\" \",h=Wk(t,\"concentration:\")+\" \",d=Wk(t,\"incoming flow count:\")+\" \",v=Wk(t,\"outgoing flow count:\")+\" \",x=function(L,_){if(t._fullLayout.hovermode===!1)return;var C=_.link.trace.link;if(C.hoverinfo===\"none\"||C.hoverinfo===\"skip\")return;var M=[];function g(X){var G,N;X.circular?(G=(X.circularPathData.leftInnerExtent+X.circularPathData.rightInnerExtent)/2,N=X.circularPathData.verticalFullExtent):(G=(X.source.x1+X.target.x0)/2,N=(X.y0+X.y1)/2);var W=[G,N];return X.trace.orientation===\"v\"&&W.reverse(),W[0]+=_.parent.translateX,W[1]+=_.parent.translateY,W}for(var P=0,T=0;T<_.flow.links.length;T++){var F=_.flow.links[T];if(!(t._fullLayout.hovermode===\"closest\"&&_.link.pointNumber!==F.pointNumber)){_.link.pointNumber===F.pointNumber&&(P=T),F.fullData=F.trace,C=_.link.trace.link;var q=g(F),V={valueLabel:w7(_.valueFormat)(F.value)+_.valueSuffix};M.push({x:q[0],y:q[1],name:V.valueLabel,text:[F.label||\"\",c+F.source.label,f+F.target.label,F.concentrationscale?h+w7(\"%0.2f\")(F.flow.labelConcentration):\"\"].filter(jje).join(\"<br>\"),color:lf(C,\"bgcolor\")||ZWt.addOpacity(F.color,1),borderColor:lf(C,\"bordercolor\"),fontFamily:lf(C,\"font.family\"),fontSize:lf(C,\"font.size\"),fontColor:lf(C,\"font.color\"),fontWeight:lf(C,\"font.weight\"),fontStyle:lf(C,\"font.style\"),fontVariant:lf(C,\"font.variant\"),fontTextcase:lf(C,\"font.textcase\"),fontLineposition:lf(C,\"font.lineposition\"),fontShadow:lf(C,\"font.shadow\"),nameLength:lf(C,\"namelength\"),textAlign:lf(C,\"align\"),idealAlign:Zv.event.x<q[0]?\"right\":\"left\",hovertemplate:C.hovertemplate,hovertemplateLabels:V,eventData:[F]})}}var H=PA.loneHover(M,{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t,anchorIndex:P});H.each(function(){var X=this;_.link.concentrationscale||Wje(X,.65),Zje(X)})},b=function(L,_,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call($je.bind(0,_,C,!0)),_.link.trace.link.hoverinfo!==\"skip\"&&(_.link.fullData=_.link.trace,t.emit(\"plotly_unhover\",{event:Zv.event,points:[_.link]})),PA.loneUnhover(n._hoverlayer.node()))},p=function(L,_,C){var M=_.node;M.originalEvent=Zv.event,t._hoverdata=[M],Zv.select(L).call(OJ,_,C),PA.click(t,{target:!0})},E=function(L,_,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call(Kje,_,C),_.node.trace.node.hoverinfo!==\"skip\"&&(_.node.fullData=_.node.trace,t.emit(\"plotly_hover\",{event:Zv.event,points:[_.node]})))},k=function(L,_){if(t._fullLayout.hovermode!==!1){var C=_.node.trace.node;if(!(C.hoverinfo===\"none\"||C.hoverinfo===\"skip\")){var M=Zv.select(L).select(\".\"+Sx.nodeRect),g=t._fullLayout._paperdiv.node().getBoundingClientRect(),P=M.node().getBoundingClientRect(),T=P.left-2-g.left,F=P.right+2-g.left,q=P.top+P.height/4-g.top,V={valueLabel:w7(_.valueFormat)(_.node.value)+_.valueSuffix};_.node.fullData=_.node.trace,t._fullLayout._calcInverseTransform(t);var H=t._fullLayout._invScaleX,X=t._fullLayout._invScaleY,G=PA.loneHover({x0:H*T,x1:H*F,y:X*q,name:w7(_.valueFormat)(_.node.value)+_.valueSuffix,text:[_.node.label,d+_.node.targetLinks.length,v+_.node.sourceLinks.length].filter(jje).join(\"<br>\"),color:lf(C,\"bgcolor\")||_.tinyColorHue,borderColor:lf(C,\"bordercolor\"),fontFamily:lf(C,\"font.family\"),fontSize:lf(C,\"font.size\"),fontColor:lf(C,\"font.color\"),fontWeight:lf(C,\"font.weight\"),fontStyle:lf(C,\"font.style\"),fontVariant:lf(C,\"font.variant\"),fontTextcase:lf(C,\"font.textcase\"),fontLineposition:lf(C,\"font.lineposition\"),fontShadow:lf(C,\"font.shadow\"),nameLength:lf(C,\"namelength\"),textAlign:lf(C,\"align\"),idealAlign:\"left\",hovertemplate:C.hovertemplate,hovertemplateLabels:V,eventData:[_.node]},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t});Wje(G,.85),Zje(G)}}},A=function(L,_,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call(OJ,_,C),_.node.trace.node.hoverinfo!==\"skip\"&&(_.node.fullData=_.node.trace,t.emit(\"plotly_unhover\",{event:Zv.event,points:[_.node]})),PA.loneUnhover(n._hoverlayer.node()))};WWt(t,i,r,{width:a.w,height:a.h,margin:{t:a.t,r:a.r,b:a.b,l:a.l}},{linkEvents:{hover:u,follow:x,unhover:b,select:l},nodeEvents:{hover:E,follow:k,unhover:A,select:p}})}});var eWe=ye(ow=>{\"use strict\";var XWt=Bu().overrideAll,YWt=kd().getModuleCalcData,KWt=NJ(),JWt=N1(),$Wt=Tg(),QWt=gv(),eZt=wf().prepSelect,UJ=Mr(),tZt=ba(),T7=\"sankey\";ow.name=T7;ow.baseLayoutAttrOverrides=XWt({hoverlabel:JWt.hoverlabel},\"plot\",\"nested\");ow.plot=function(e){var t=YWt(e.calcdata,T7)[0];KWt(e,t),ow.updateFx(e)};ow.clean=function(e,t,r,n){var i=n._has&&n._has(T7),a=t._has&&t._has(T7);i&&!a&&(n._paperdiv.selectAll(\".sankey\").remove(),n._paperdiv.selectAll(\".bgsankey\").remove())};ow.updateFx=function(e){for(var t=0;t<e._fullData.length;t++)rZt(e,t)};function rZt(e,t){var r=e._fullData[t],n=e._fullLayout,i=n.dragmode,a=n.dragmode===\"pan\"?\"move\":\"crosshair\",o=r._bgRect;if(o&&!(i===\"pan\"||i===\"zoom\")){$Wt(o,a);var s={_id:\"x\",c2p:UJ.identity,_offset:r._sankey.translateX,_length:r._sankey.width},l={_id:\"y\",c2p:UJ.identity,_offset:r._sankey.translateY,_length:r._sankey.height},u={gd:e,element:o.node(),plotinfo:{id:t,xaxis:s,yaxis:l,fillRangeItems:UJ.noop},subplot:t,xaxes:[s],yaxes:[l],doneFnCompleted:function(c){var f=e._fullData[t],h,d=f.node.groups.slice(),v=[];function x(k){for(var A=f._sankey.graph.nodes,L=0;L<A.length;L++)if(A[L].pointNumber===k)return A[L]}for(var b=0;b<c.length;b++){var p=x(c[b].pointNumber);if(p)if(p.group){for(var E=0;E<p.childrenNodes.length;E++)v.push(p.childrenNodes[E].pointNumber);d[p.pointNumber-f.node._count]=!1}else v.push(p.pointNumber)}h=d.filter(Boolean).concat([v]),tZt.call(\"_guiRestyle\",e,{\"node.groups\":[h]},t)}};u.prepFn=function(c,f,h){eZt(c,f,h,u,i)},QWt.init(u)}}});var rWe=ye((A_r,tWe)=>{\"use strict\";tWe.exports=function(t,r){for(var n=t.cd,i=[],a=n[0].trace,o=a._sankey.graph.nodes,s=0;s<o.length;s++){var l=o[s];if(!l.partOfGroup){var u=[(l.x0+l.x1)/2,(l.y0+l.y1)/2];a.orientation===\"v\"&&u.reverse(),r&&r.contains(u,!1,s,t)&&i.push({pointNumber:l.pointNumber})}}return i}});var nWe=ye((S_r,iWe)=>{\"use strict\";iWe.exports={attributes:CJ(),supplyDefaults:sje(),calc:hje(),plot:NJ(),moduleType:\"trace\",name:\"sankey\",basePlotModule:eWe(),selectPoints:rWe(),categories:[\"noOpacity\"],meta:{}}});var oWe=ye((M_r,aWe)=>{\"use strict\";aWe.exports=nWe()});var lWe=ye(RA=>{\"use strict\";var sWe=Xu();RA.name=\"indicator\";RA.plot=function(e,t,r,n){sWe.plotBasePlot(RA.name,e,t,r,n)};RA.clean=function(e,t,r,n){sWe.cleanBasePlot(RA.name,e,t,r,n)}});var HJ=ye((k_r,vWe)=>{\"use strict\";var Mx=no().extendFlat,cWe=no().extendDeep,iZt=Bu().overrideAll,fWe=Su(),hWe=dh(),nZt=Ju().attributes,Sf=Cd(),aZt=Vs().templatedArray,A7=HT(),uWe=Oc().descriptionOnlyNumbers,VJ=fWe({editType:\"plot\",colorEditType:\"plot\"}),Zk={color:{valType:\"color\",editType:\"plot\"},line:{color:{valType:\"color\",dflt:hWe.defaultLine,editType:\"plot\"},width:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},thickness:{valType:\"number\",min:0,max:1,dflt:1,editType:\"plot\"},editType:\"calc\"},dWe={valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],editType:\"plot\"},oZt=aZt(\"step\",cWe({},Zk,{range:dWe}));vWe.exports={mode:{valType:\"flaglist\",editType:\"calc\",flags:[\"number\",\"delta\",\"gauge\"],dflt:\"number\"},value:{valType:\"number\",editType:\"calc\",anim:!0},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],editType:\"plot\"},domain:nZt({name:\"indicator\",trace:!0,editType:\"calc\"}),title:{text:{valType:\"string\",editType:\"plot\"},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],editType:\"plot\"},font:Mx({},VJ,{}),editType:\"plot\"},number:{valueformat:{valType:\"string\",dflt:\"\",editType:\"plot\",description:uWe(\"value\")},font:Mx({},VJ,{}),prefix:{valType:\"string\",dflt:\"\",editType:\"plot\"},suffix:{valType:\"string\",dflt:\"\",editType:\"plot\"},editType:\"plot\"},delta:{reference:{valType:\"number\",editType:\"calc\"},position:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"],dflt:\"bottom\",editType:\"plot\"},relative:{valType:\"boolean\",editType:\"plot\",dflt:!1},valueformat:{valType:\"string\",editType:\"plot\",description:uWe(\"value\")},increasing:{symbol:{valType:\"string\",dflt:A7.INCREASING.SYMBOL,editType:\"plot\"},color:{valType:\"color\",dflt:A7.INCREASING.COLOR,editType:\"plot\"},editType:\"plot\"},decreasing:{symbol:{valType:\"string\",dflt:A7.DECREASING.SYMBOL,editType:\"plot\"},color:{valType:\"color\",dflt:A7.DECREASING.COLOR,editType:\"plot\"},editType:\"plot\"},font:Mx({},VJ,{}),prefix:{valType:\"string\",dflt:\"\",editType:\"plot\"},suffix:{valType:\"string\",dflt:\"\",editType:\"plot\"},editType:\"calc\"},gauge:{shape:{valType:\"enumerated\",editType:\"plot\",dflt:\"angular\",values:[\"angular\",\"bullet\"]},bar:cWe({},Zk,{color:{dflt:\"green\"}}),bgcolor:{valType:\"color\",editType:\"plot\"},bordercolor:{valType:\"color\",dflt:hWe.defaultLine,editType:\"plot\"},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},axis:iZt({range:dWe,visible:Mx({},Sf.visible,{dflt:!0}),tickmode:Sf.minor.tickmode,nticks:Sf.nticks,tick0:Sf.tick0,dtick:Sf.dtick,tickvals:Sf.tickvals,ticktext:Sf.ticktext,ticks:Mx({},Sf.ticks,{dflt:\"outside\"}),ticklen:Sf.ticklen,tickwidth:Sf.tickwidth,tickcolor:Sf.tickcolor,ticklabelstep:Sf.ticklabelstep,showticklabels:Sf.showticklabels,labelalias:Sf.labelalias,tickfont:fWe({}),tickangle:Sf.tickangle,tickformat:Sf.tickformat,tickformatstops:Sf.tickformatstops,tickprefix:Sf.tickprefix,showtickprefix:Sf.showtickprefix,ticksuffix:Sf.ticksuffix,showticksuffix:Sf.showticksuffix,separatethousands:Sf.separatethousands,exponentformat:Sf.exponentformat,minexponent:Sf.minexponent,showexponent:Sf.showexponent,editType:\"plot\"},\"plot\"),steps:oZt,threshold:{line:{color:Mx({},Zk.line.color,{}),width:Mx({},Zk.line.width,{dflt:1}),editType:\"plot\"},thickness:Mx({},Zk.thickness,{dflt:.85}),value:{valType:\"number\",editType:\"calc\",dflt:!1},editType:\"plot\"},editType:\"plot\"}}});var GJ=ye((C_r,pWe)=>{\"use strict\";pWe.exports={defaultNumberFontSize:80,bulletNumberDomainSize:.25,bulletPadding:.025,innerRadius:.75,valueThickness:.5,titlePadding:5,horizontalPadding:10}});var yWe=ye((L_r,mWe)=>{\"use strict\";var ey=Mr(),M7=HJ(),sZt=Ju().defaults,gWe=Vs(),lZt=Zd(),S7=GJ(),uZt=xb(),cZt=T3(),fZt=t_(),hZt=r_();function dZt(e,t,r,n){function i(_,C){return ey.coerce(e,t,M7,_,C)}sZt(t,n,i),i(\"mode\"),t._hasNumber=t.mode.indexOf(\"number\")!==-1,t._hasDelta=t.mode.indexOf(\"delta\")!==-1,t._hasGauge=t.mode.indexOf(\"gauge\")!==-1;var a=i(\"value\");t._range=[0,typeof a==\"number\"?1.5*a:1];var o=new Array(2),s;if(t._hasNumber){i(\"number.valueformat\");var l=ey.extendFlat({},n.font);l.size=void 0,ey.coerceFont(i,\"number.font\",l),t.number.font.size===void 0&&(t.number.font.size=S7.defaultNumberFontSize,o[0]=!0),i(\"number.prefix\"),i(\"number.suffix\"),s=t.number.font.size}var u;if(t._hasDelta){var c=ey.extendFlat({},n.font);c.size=void 0,ey.coerceFont(i,\"delta.font\",c),t.delta.font.size===void 0&&(t.delta.font.size=(t._hasNumber?.5:1)*(s||S7.defaultNumberFontSize),o[1]=!0),i(\"delta.reference\",t.value),i(\"delta.relative\"),i(\"delta.valueformat\",t.delta.relative?\"2%\":\"\"),i(\"delta.increasing.symbol\"),i(\"delta.increasing.color\"),i(\"delta.decreasing.symbol\"),i(\"delta.decreasing.color\"),i(\"delta.position\"),i(\"delta.prefix\"),i(\"delta.suffix\"),u=t.delta.font.size}t._scaleNumbers=(!t._hasNumber||o[0])&&(!t._hasDelta||o[1])||!1;var f=ey.extendFlat({},n.font);f.size=.25*(s||u||S7.defaultNumberFontSize),ey.coerceFont(i,\"title.font\",f),i(\"title.text\");var h,d,v,x;function b(_,C){return ey.coerce(h,d,M7.gauge,_,C)}function p(_,C){return ey.coerce(v,x,M7.gauge.axis,_,C)}if(t._hasGauge){h=e.gauge,h||(h={}),d=gWe.newContainer(t,\"gauge\"),b(\"shape\");var E=t._isBullet=t.gauge.shape===\"bullet\";E||i(\"title.align\",\"center\");var k=t._isAngular=t.gauge.shape===\"angular\";k||i(\"align\",\"center\"),b(\"bgcolor\",n.paper_bgcolor),b(\"borderwidth\"),b(\"bordercolor\"),b(\"bar.color\"),b(\"bar.line.color\"),b(\"bar.line.width\");var A=S7.valueThickness*(t.gauge.shape===\"bullet\"?.5:1);b(\"bar.thickness\",A),lZt(h,d,{name:\"steps\",handleItemDefaults:vZt}),b(\"threshold.value\"),b(\"threshold.thickness\"),b(\"threshold.line.width\"),b(\"threshold.line.color\"),v={},h&&(v=h.axis||{}),x=gWe.newContainer(d,\"axis\"),p(\"visible\"),t._range=p(\"range\",t._range);var L={font:n.font,noAutotickangles:!0,outerTicks:!0,noTicklabelshift:!0,noTicklabelstandoff:!0};uZt(v,x,p,\"linear\"),hZt(v,x,p,\"linear\",L),fZt(v,x,p,\"linear\",L),cZt(v,x,p,L)}else i(\"title.align\",\"center\"),i(\"align\",\"center\"),t._isAngular=t._isBullet=!1;t._length=null}function vZt(e,t){function r(n,i){return ey.coerce(e,t,M7.gauge.steps,n,i)}r(\"color\"),r(\"line.color\"),r(\"line.width\"),r(\"range\"),r(\"thickness\")}mWe.exports={supplyDefaults:dZt}});var xWe=ye((P_r,_We)=>{\"use strict\";function pZt(e,t){var r=[],n=t.value;typeof t._lastValue!=\"number\"&&(t._lastValue=t.value);var i=t._lastValue,a=i;return t._hasDelta&&typeof t.delta.reference==\"number\"&&(a=t.delta.reference),r[0]={y:n,lastY:i,delta:n-a,relativeDelta:(n-a)/a},r}_We.exports={calc:pZt}});var MWe=ye((I_r,SWe)=>{\"use strict\";var fw=xa(),gZt=(R2(),B1(I2)).interpolate,bWe=(R2(),B1(I2)).interpolateNumber,Ex=Mr(),mZt=Ex.strScale,Yk=Ex.strTranslate,yZt=Ex.rad2deg,_Zt=Nh().MID_SHIFT,cw=ao(),sw=GJ(),k7=Pl(),av=Qa(),xZt=JM(),bZt=iI(),wZt=Cd(),DA=va(),jJ={left:\"start\",center:\"middle\",right:\"end\"},lw={left:0,center:.5,right:1},wWe=/[yzafpnµmkMGTPEZY]/;function Kk(e){return e&&e.duration>0}SWe.exports=function(t,r,n,i){var a=t._fullLayout,o;Kk(n)&&i&&(o=i()),Ex.makeTraceGroups(a._indicatorlayer,r,\"trace\").each(function(s){var l=s[0],u=l.trace,c=fw.select(this),f=u._hasGauge,h=u._isAngular,d=u._isBullet,v=u.domain,x={w:a._size.w*(v.x[1]-v.x[0]),h:a._size.h*(v.y[1]-v.y[0]),l:a._size.l+a._size.w*v.x[0],r:a._size.r+a._size.w*(1-v.x[1]),t:a._size.t+a._size.h*(1-v.y[1]),b:a._size.b+a._size.h*v.y[0]},b=x.l+x.w/2,p=x.t+x.h/2,E=Math.min(x.w/2,x.h),k=sw.innerRadius*E,A,L,_,C=u.align||\"center\";if(L=p,!f)A=x.l+lw[C]*x.w,_=function(G){return TWe(G,x.w,x.h)};else if(h&&(A=b,L=p+E/2,_=function(G){return EZt(G,.9*k)}),d){var M=sw.bulletPadding,g=1-sw.bulletNumberDomainSize+M;A=x.l+(g+(1-g)*lw[C])*x.w,_=function(G){return TWe(G,(sw.bulletNumberDomainSize-M)*x.w,x.h)}}SZt(t,c,s,{numbersX:A,numbersY:L,numbersScaler:_,transitionOpts:n,onComplete:o});var P,T;f&&(P={range:u.gauge.axis.range,color:u.gauge.bgcolor,line:{color:u.gauge.bordercolor,width:0},thickness:1},T={range:u.gauge.axis.range,color:\"rgba(0, 0, 0, 0)\",line:{color:u.gauge.bordercolor,width:u.gauge.borderwidth},thickness:1});var F=c.selectAll(\"g.angular\").data(h?s:[]);F.exit().remove();var q=c.selectAll(\"g.angularaxis\").data(h?s:[]);q.exit().remove(),h&&AZt(t,c,s,{radius:E,innerRadius:k,gauge:F,layer:q,size:x,gaugeBg:P,gaugeOutline:T,transitionOpts:n,onComplete:o});var V=c.selectAll(\"g.bullet\").data(d?s:[]);V.exit().remove();var H=c.selectAll(\"g.bulletaxis\").data(d?s:[]);H.exit().remove(),d&&TZt(t,c,s,{gauge:V,layer:H,size:x,gaugeBg:P,gaugeOutline:T,transitionOpts:n,onComplete:o});var X=c.selectAll(\"text.title\").data(s);X.exit().remove(),X.enter().append(\"text\").classed(\"title\",!0),X.attr(\"text-anchor\",function(){return d?jJ.right:jJ[u.title.align]}).text(u.title.text).call(cw.font,u.title.font).call(k7.convertToTspans,t),X.attr(\"transform\",function(){var G=x.l+x.w*lw[u.title.align],N,W=sw.titlePadding,re=cw.bBox(X.node());if(f){if(h)if(u.gauge.axis.visible){var ae=cw.bBox(q.node());N=ae.top-W-re.bottom}else N=x.t+x.h/2-E/2-re.bottom-W;d&&(N=L-(re.top+re.bottom)/2,G=x.l-sw.bulletPadding*x.w)}else N=u._numbersTop-W-re.bottom;return Yk(G,N)})})};function TZt(e,t,r,n){var i=r[0].trace,a=n.gauge,o=n.layer,s=n.gaugeBg,l=n.gaugeOutline,u=n.size,c=i.domain,f=n.transitionOpts,h=n.onComplete,d,v,x,b,p;a.enter().append(\"g\").classed(\"bullet\",!0),a.attr(\"transform\",Yk(u.l,u.t)),o.enter().append(\"g\").classed(\"bulletaxis\",!0).classed(\"crisp\",!0),o.selectAll(\"g.xbulletaxistick,path,text\").remove();var E=u.h,k=i.gauge.bar.thickness*E,A=c.x[0],L=c.x[0]+(c.x[1]-c.x[0])*(i._hasNumber||i._hasDelta?1-sw.bulletNumberDomainSize:1);d=Xk(e,i.gauge.axis),d._id=\"xbulletaxis\",d.domain=[A,L],d.setScale(),v=av.calcTicks(d),x=av.makeTransTickFn(d),b=av.getTickSigns(d)[2],p=u.t+u.h,d.visible&&(av.drawTicks(e,d,{vals:d.ticks===\"inside\"?av.clipEnds(d,v):v,layer:o,path:av.makeTickPath(d,p,b),transFn:x}),av.drawLabels(e,d,{vals:v,layer:o,transFn:x,labelFns:av.makeLabelFns(d,p)}));function _(q){q.attr(\"width\",function(V){return Math.max(0,d.c2p(V.range[1])-d.c2p(V.range[0]))}).attr(\"x\",function(V){return d.c2p(V.range[0])}).attr(\"y\",function(V){return .5*(1-V.thickness)*E}).attr(\"height\",function(V){return V.thickness*E})}var C=[s].concat(i.gauge.steps),M=a.selectAll(\"g.bg-bullet\").data(C);M.enter().append(\"g\").classed(\"bg-bullet\",!0).append(\"rect\"),M.select(\"rect\").call(_).call(uw),M.exit().remove();var g=a.selectAll(\"g.value-bullet\").data([i.gauge.bar]);g.enter().append(\"g\").classed(\"value-bullet\",!0).append(\"rect\"),g.select(\"rect\").attr(\"height\",k).attr(\"y\",(E-k)/2).call(uw),Kk(f)?g.select(\"rect\").transition().duration(f.duration).ease(f.easing).each(\"end\",function(){h&&h()}).each(\"interrupt\",function(){h&&h()}).attr(\"width\",Math.max(0,d.c2p(Math.min(i.gauge.axis.range[1],r[0].y)))):g.select(\"rect\").attr(\"width\",typeof r[0].y==\"number\"?Math.max(0,d.c2p(Math.min(i.gauge.axis.range[1],r[0].y))):0),g.exit().remove();var P=r.filter(function(){return i.gauge.threshold.value||i.gauge.threshold.value===0}),T=a.selectAll(\"g.threshold-bullet\").data(P);T.enter().append(\"g\").classed(\"threshold-bullet\",!0).append(\"line\"),T.select(\"line\").attr(\"x1\",d.c2p(i.gauge.threshold.value)).attr(\"x2\",d.c2p(i.gauge.threshold.value)).attr(\"y1\",(1-i.gauge.threshold.thickness)/2*E).attr(\"y2\",(1-(1-i.gauge.threshold.thickness)/2)*E).call(DA.stroke,i.gauge.threshold.line.color).style(\"stroke-width\",i.gauge.threshold.line.width),T.exit().remove();var F=a.selectAll(\"g.gauge-outline\").data([l]);F.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"rect\"),F.select(\"rect\").call(_).call(uw),F.exit().remove()}function AZt(e,t,r,n){var i=r[0].trace,a=n.size,o=n.radius,s=n.innerRadius,l=n.gaugeBg,u=n.gaugeOutline,c=[a.l+a.w/2,a.t+a.h/2+o/2],f=n.gauge,h=n.layer,d=n.transitionOpts,v=n.onComplete,x=Math.PI/2;function b(_e){var Me=i.gauge.axis.range[0],ke=i.gauge.axis.range[1],ge=(_e-Me)/(ke-Me)*Math.PI-x;return ge<-x?-x:ge>x?x:ge}function p(_e){return fw.svg.arc().innerRadius((s+o)/2-_e/2*(o-s)).outerRadius((s+o)/2+_e/2*(o-s)).startAngle(-x)}function E(_e){_e.attr(\"d\",function(Me){return p(Me.thickness).startAngle(b(Me.range[0])).endAngle(b(Me.range[1]))()})}var k,A,L,_;f.enter().append(\"g\").classed(\"angular\",!0),f.attr(\"transform\",Yk(c[0],c[1])),h.enter().append(\"g\").classed(\"angularaxis\",!0).classed(\"crisp\",!0),h.selectAll(\"g.xangularaxistick,path,text\").remove(),k=Xk(e,i.gauge.axis),k.type=\"linear\",k.range=i.gauge.axis.range,k._id=\"xangularaxis\",k.ticklabeloverflow=\"allow\",k.setScale();var C=function(_e){return(k.range[0]-_e.x)/(k.range[1]-k.range[0])*Math.PI+Math.PI},M={},g=av.makeLabelFns(k,0),P=g.labelStandoff;M.xFn=function(_e){var Me=C(_e);return Math.cos(Me)*P},M.yFn=function(_e){var Me=C(_e),ke=Math.sin(Me)>0?.2:1;return-Math.sin(Me)*(P+_e.fontSize*ke)+Math.abs(Math.cos(Me))*(_e.fontSize*_Zt)},M.anchorFn=function(_e){var Me=C(_e),ke=Math.cos(Me);return Math.abs(ke)<.1?\"middle\":ke>0?\"start\":\"end\"},M.heightFn=function(_e,Me,ke){var ge=C(_e);return-.5*(1+Math.sin(ge))*ke};var T=function(_e){return Yk(c[0]+o*Math.cos(_e),c[1]-o*Math.sin(_e))};L=function(_e){return T(C(_e))};var F=function(_e){var Me=C(_e);return T(Me)+\"rotate(\"+-yZt(Me)+\")\"};if(A=av.calcTicks(k),_=av.getTickSigns(k)[2],k.visible){_=k.ticks===\"inside\"?-1:1;var q=(k.linewidth||1)/2;av.drawTicks(e,k,{vals:A,layer:h,path:\"M\"+_*q+\",0h\"+_*k.ticklen,transFn:F}),av.drawLabels(e,k,{vals:A,layer:h,transFn:L,labelFns:M})}var V=[l].concat(i.gauge.steps),H=f.selectAll(\"g.bg-arc\").data(V);H.enter().append(\"g\").classed(\"bg-arc\",!0).append(\"path\"),H.select(\"path\").call(E).call(uw),H.exit().remove();var X=p(i.gauge.bar.thickness),G=f.selectAll(\"g.value-arc\").data([i.gauge.bar]);G.enter().append(\"g\").classed(\"value-arc\",!0).append(\"path\");var N=G.select(\"path\");Kk(d)?(N.transition().duration(d.duration).ease(d.easing).each(\"end\",function(){v&&v()}).each(\"interrupt\",function(){v&&v()}).attrTween(\"d\",MZt(X,b(r[0].lastY),b(r[0].y))),i._lastValue=r[0].y):N.attr(\"d\",typeof r[0].y==\"number\"?X.endAngle(b(r[0].y)):\"M0,0Z\"),N.call(uw),G.exit().remove(),V=[];var W=i.gauge.threshold.value;(W||W===0)&&V.push({range:[W,W],color:i.gauge.threshold.color,line:{color:i.gauge.threshold.line.color,width:i.gauge.threshold.line.width},thickness:i.gauge.threshold.thickness});var re=f.selectAll(\"g.threshold-arc\").data(V);re.enter().append(\"g\").classed(\"threshold-arc\",!0).append(\"path\"),re.select(\"path\").call(E).call(uw),re.exit().remove();var ae=f.selectAll(\"g.gauge-outline\").data([u]);ae.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"path\"),ae.select(\"path\").call(E).call(uw),ae.exit().remove()}function SZt(e,t,r,n){var i=r[0].trace,a=n.numbersX,o=n.numbersY,s=i.align||\"center\",l=jJ[s],u=n.transitionOpts,c=n.onComplete,f=Ex.ensureSingle(t,\"g\",\"numbers\"),h,d,v,x=[];i._hasNumber&&x.push(\"number\"),i._hasDelta&&(x.push(\"delta\"),i.delta.position===\"left\"&&x.reverse());var b=f.selectAll(\"text\").data(x);b.enter().append(\"text\"),b.attr(\"text-anchor\",function(){return l}).attr(\"class\",function(T){return T}).attr(\"x\",null).attr(\"y\",null).attr(\"dx\",null).attr(\"dy\",null),b.exit().remove();function p(T,F,q,V){if(T.match(\"s\")&&q>=0!=V>=0&&!F(q).slice(-1).match(wWe)&&!F(V).slice(-1).match(wWe)){var H=T.slice().replace(\"s\",\"f\").replace(/\\d+/,function(G){return parseInt(G)-1}),X=Xk(e,{tickformat:H});return function(G){return Math.abs(G)<1?av.tickText(X,G).text:F(G)}}else return F}function E(){var T=Xk(e,{tickformat:i.number.valueformat},i._range);T.setScale(),av.prepTicks(T);var F=function(G){return av.tickText(T,G).text},q=i.number.suffix,V=i.number.prefix,H=f.select(\"text.number\");function X(){var G=typeof r[0].y==\"number\"?V+F(r[0].y)+q:\"-\";H.text(G).call(cw.font,i.number.font).call(k7.convertToTspans,e)}return Kk(u)?H.transition().duration(u.duration).ease(u.easing).each(\"end\",function(){X(),c&&c()}).each(\"interrupt\",function(){X(),c&&c()}).attrTween(\"text\",function(){var G=fw.select(this),N=bWe(r[0].lastY,r[0].y);i._lastValue=r[0].y;var W=p(i.number.valueformat,F,r[0].lastY,r[0].y);return function(re){G.text(V+W(N(re))+q)}}):X(),h=AWe(V+F(r[0].y)+q,i.number.font,l,e),H}function k(){var T=Xk(e,{tickformat:i.delta.valueformat},i._range);T.setScale(),av.prepTicks(T);var F=function(re){return av.tickText(T,re).text},q=i.delta.suffix,V=i.delta.prefix,H=function(re){var ae=i.delta.relative?re.relativeDelta:re.delta;return ae},X=function(re,ae){return re===0||typeof re!=\"number\"||isNaN(re)?\"-\":(re>0?i.delta.increasing.symbol:i.delta.decreasing.symbol)+V+ae(re)+q},G=function(re){return re.delta>=0?i.delta.increasing.color:i.delta.decreasing.color};i._deltaLastValue===void 0&&(i._deltaLastValue=H(r[0]));var N=f.select(\"text.delta\");N.call(cw.font,i.delta.font).call(DA.fill,G({delta:i._deltaLastValue}));function W(){N.text(X(H(r[0]),F)).call(DA.fill,G(r[0])).call(k7.convertToTspans,e)}return Kk(u)?N.transition().duration(u.duration).ease(u.easing).tween(\"text\",function(){var re=fw.select(this),ae=H(r[0]),_e=i._deltaLastValue,Me=p(i.delta.valueformat,F,_e,ae),ke=bWe(_e,ae);return i._deltaLastValue=ae,function(ge){re.text(X(ke(ge),Me)),re.call(DA.fill,G({delta:ke(ge)}))}}).each(\"end\",function(){W(),c&&c()}).each(\"interrupt\",function(){W(),c&&c()}):W(),d=AWe(X(H(r[0]),F),i.delta.font,l,e),N}var A=i.mode+i.align,L;if(i._hasDelta&&(L=k(),A+=i.delta.position+i.delta.font.size+i.delta.font.family+i.delta.valueformat,A+=i.delta.increasing.symbol+i.delta.decreasing.symbol,v=d),i._hasNumber&&(E(),A+=i.number.font.size+i.number.font.family+i.number.valueformat+i.number.suffix+i.number.prefix,v=h),i._hasDelta&&i._hasNumber){var _=[(h.left+h.right)/2,(h.top+h.bottom)/2],C=[(d.left+d.right)/2,(d.top+d.bottom)/2],M,g,P=.75*i.delta.font.size;i.delta.position===\"left\"&&(M=E7(i,\"deltaPos\",0,-1*(h.width*lw[i.align]+d.width*(1-lw[i.align])+P),A,Math.min),g=_[1]-C[1],v={width:h.width+d.width+P,height:Math.max(h.height,d.height),left:d.left+M,right:h.right,top:Math.min(h.top,d.top+g),bottom:Math.max(h.bottom,d.bottom+g)}),i.delta.position===\"right\"&&(M=E7(i,\"deltaPos\",0,h.width*(1-lw[i.align])+d.width*lw[i.align]+P,A,Math.max),g=_[1]-C[1],v={width:h.width+d.width+P,height:Math.max(h.height,d.height),left:h.left,right:d.right+M,top:Math.min(h.top,d.top+g),bottom:Math.max(h.bottom,d.bottom+g)}),i.delta.position===\"bottom\"&&(M=null,g=d.height,v={width:Math.max(h.width,d.width),height:h.height+d.height,left:Math.min(h.left,d.left),right:Math.max(h.right,d.right),top:h.bottom-h.height,bottom:h.bottom+d.height}),i.delta.position===\"top\"&&(M=null,g=h.top,v={width:Math.max(h.width,d.width),height:h.height+d.height,left:Math.min(h.left,d.left),right:Math.max(h.right,d.right),top:h.bottom-h.height-d.height,bottom:h.bottom}),L.attr({dx:M,dy:g})}(i._hasNumber||i._hasDelta)&&f.attr(\"transform\",function(){var T=n.numbersScaler(v);A+=T[2];var F=E7(i,\"numbersScale\",1,T[0],A,Math.min),q;i._scaleNumbers||(F=1),i._isAngular?q=o-F*v.bottom:q=o-F*(v.top+v.bottom)/2,i._numbersTop=F*v.top+q;var V=v[s];s===\"center\"&&(V=(v.left+v.right)/2);var H=a-F*V;return H=E7(i,\"numbersTranslate\",0,H,A,Math.max),Yk(H,q)+mZt(F)})}function uw(e){e.each(function(t){DA.stroke(fw.select(this),t.line.color)}).each(function(t){DA.fill(fw.select(this),t.color)}).style(\"stroke-width\",function(t){return t.line.width})}function MZt(e,t,r){return function(){var n=gZt(t,r);return function(i){return e.endAngle(n(i))()}}}function Xk(e,t,r){var n=e._fullLayout,i=Ex.extendFlat({type:\"linear\",ticks:\"outside\",range:r,showline:!0},t),a={type:\"linear\",_id:\"x\"+t._id},o={letter:\"x\",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function s(l,u){return Ex.coerce(i,a,wZt,l,u)}return xZt(i,a,s,o,n),bZt(i,a,s,o),a}function TWe(e,t,r){var n=Math.min(t/e.width,r/e.height);return[n,e,t+\"x\"+r]}function EZt(e,t){var r=Math.sqrt(e.width/2*(e.width/2)+e.height*e.height),n=t/r;return[n,e,t]}function AWe(e,t,r,n){var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"text\"),a=fw.select(i);return a.text(e).attr(\"x\",0).attr(\"y\",0).attr(\"text-anchor\",r).attr(\"data-unformatted\",e).call(k7.convertToTspans,n).call(cw.font,t),cw.bBox(a.node())}function E7(e,t,r,n,i,a){var o=\"_cache\"+t;e[o]&&e[o].key===i||(e[o]={key:i,value:r});var s=Ex.aggNums(a,null,[e[o].value,n],2);return e[o].value=s,s}});var kWe=ye((R_r,EWe)=>{\"use strict\";EWe.exports={moduleType:\"trace\",name:\"indicator\",basePlotModule:lWe(),categories:[\"svg\",\"noOpacity\",\"noHover\"],animatable:!0,attributes:HJ(),supplyDefaults:yWe().supplyDefaults,calc:xWe().calc,plot:MWe(),meta:{}}});var LWe=ye((D_r,CWe)=>{\"use strict\";CWe.exports=kWe()});var WJ=ye((F_r,DWe)=>{\"use strict\";var PWe=Nb(),C7=no().extendFlat,kZt=Bu().overrideAll,IWe=Su(),CZt=Ju().attributes,RWe=Oc().descriptionOnlyNumbers,z_r=DWe.exports=kZt({domain:CZt({name:\"table\",trace:!0}),columnwidth:{valType:\"number\",arrayOk:!0,dflt:null},columnorder:{valType:\"data_array\"},header:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[],description:RWe(\"cell value\")},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:28},align:C7({},PWe.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:C7({},IWe({arrayOk:!0}))},cells:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[],description:RWe(\"cell value\")},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:20},align:C7({},PWe.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:C7({},IWe({arrayOk:!0}))}},\"calc\",\"from-root\")});var FWe=ye((q_r,zWe)=>{\"use strict\";var ZJ=Mr(),LZt=WJ(),PZt=Ju().defaults;function IZt(e,t){for(var r=e.columnorder||[],n=e.header.values.length,i=r.slice(0,n),a=i.slice().sort(function(l,u){return l-u}),o=i.map(function(l){return a.indexOf(l)}),s=o.length;s<n;s++)o.push(s);t(\"columnorder\",o)}zWe.exports=function(t,r,n,i){function a(o,s){return ZJ.coerce(t,r,LZt,o,s)}PZt(r,i,a),a(\"columnwidth\"),a(\"header.values\"),a(\"header.format\"),a(\"header.align\"),a(\"header.prefix\"),a(\"header.suffix\"),a(\"header.height\"),a(\"header.line.width\"),a(\"header.line.color\"),a(\"header.fill.color\"),ZJ.coerceFont(a,\"header.font\",i.font),IZt(r,a),a(\"cells.values\"),a(\"cells.format\"),a(\"cells.align\"),a(\"cells.prefix\"),a(\"cells.suffix\"),a(\"cells.height\"),a(\"cells.line.width\"),a(\"cells.line.color\"),a(\"cells.fill.color\"),ZJ.coerceFont(a,\"cells.font\",i.font),r._length=null}});var OWe=ye((O_r,qWe)=>{\"use strict\";var RZt=Km().wrap;qWe.exports=function(){return RZt({})}});var XJ=ye((B_r,BWe)=>{\"use strict\";BWe.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\\$.*\\$$/,goldenRatio:1.618,lineBreaker:\"<br>\",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:\"cubic-out\",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:\"cubic-out\",uplift:5,wrapSpacer:\" \",wrapSplitCharacter:\" \",cn:{table:\"table\",tableControlView:\"table-control-view\",scrollBackground:\"scroll-background\",yColumn:\"y-column\",columnBlock:\"column-block\",scrollAreaClip:\"scroll-area-clip\",scrollAreaClipRect:\"scroll-area-clip-rect\",columnBoundary:\"column-boundary\",columnBoundaryClippath:\"column-boundary-clippath\",columnBoundaryRect:\"column-boundary-rect\",columnCells:\"column-cells\",columnCell:\"column-cell\",cellRect:\"cell-rect\",cellText:\"cell-text\",cellTextHolder:\"cell-text-holder\",scrollbarKit:\"scrollbar-kit\",scrollbar:\"scrollbar\",scrollbarSlider:\"scrollbar-slider\",scrollbarGlyph:\"scrollbar-glyph\",scrollbarCaptureZone:\"scrollbar-capture-zone\"}}});var XWe=ye((N_r,ZWe)=>{\"use strict\";var NWe=XJ(),KJ=no().extendFlat,DZt=uo(),zZt=vv().isTypedArray,L7=vv().isArrayOrTypedArray;ZWe.exports=function(t,r){var n=YJ(r.cells.values),i=function(g){return g.slice(r.header.values.length,g.length)},a=YJ(r.header.values);a.length&&!a[0].length&&(a[0]=[\"\"],a=YJ(a));var o=a.concat(i(n).map(function(){return WWe((a[0]||[\"\"]).length)})),s=r.domain,l=Math.floor(t._fullLayout._size.w*(s.x[1]-s.x[0])),u=Math.floor(t._fullLayout._size.h*(s.y[1]-s.y[0])),c=r.header.values.length?o[0].map(function(){return r.header.height}):[NWe.emptyHeaderHeight],f=n.length?n[0].map(function(){return r.cells.height}):[],h=c.reduce(UWe,0),d=u-h,v=d+NWe.uplift,x=GWe(f,v),b=GWe(c,h),p=HWe(b,[]),E=HWe(x,p),k={},A=r._fullInput.columnorder;L7(A)&&(A=Array.from(A)),A=A.concat(i(n.map(function(g,P){return P})));var L=o.map(function(g,P){var T=L7(r.columnwidth)?r.columnwidth[Math.min(P,r.columnwidth.length-1)]:r.columnwidth;return DZt(T)?Number(T):1}),_=L.reduce(UWe,0);L=L.map(function(g){return g/_*l});var C=Math.max(JJ(r.header.line.width),JJ(r.cells.line.width)),M={key:r.uid+t._context.staticPlot,translateX:s.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-s.y[1]),size:t._fullLayout._size,width:l,maxLineWidth:C,height:u,columnOrder:A,groupHeight:u,rowBlocks:E,headerRowBlocks:p,scrollY:0,cells:KJ({},r.cells,{values:n}),headerCells:KJ({},r.header,{values:o}),gdColumns:o.map(function(g){return g[0]}),gdColumnsOriginalOrder:o.map(function(g){return g[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:o.map(function(g,P){var T=k[g];k[g]=(T||0)+1;var F=g+\"__\"+k[g];return{key:F,label:g,specIndex:P,xIndex:A[P],xScale:VWe,x:void 0,calcdata:void 0,columnWidth:L[P]}})};return M.columns.forEach(function(g){g.calcdata=M,g.x=VWe(g)}),M};function JJ(e){if(L7(e)){for(var t=0,r=0;r<e.length;r++)t=Math.max(t,JJ(e[r]));return t}return e}function UWe(e,t){return e+t}function YJ(e){var t=e.slice(),r=1/0,n=0,i;for(i=0;i<t.length;i++)zZt(t[i])?t[i]=Array.from(t[i]):L7(t[i])||(t[i]=[t[i]]),r=Math.min(r,t[i].length),n=Math.max(n,t[i].length);if(r!==n)for(i=0;i<t.length;i++){var a=n-t[i].length;a&&(t[i]=t[i].concat(WWe(a)))}return t}function WWe(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=\"\";return t}function VWe(e){return e.calcdata.columns.reduce(function(t,r){return r.xIndex<e.xIndex?t+r.columnWidth:t},0)}function HWe(e,t){var r=Object.keys(e);return r.map(function(n){return KJ({},e[n],{auxiliaryBlocks:t})})}function GWe(e,t){for(var r={},n,i=0,a=0,o=jWe(),s=0,l=0,u=0;u<e.length;u++)n=e[u],o.rows.push({rowIndex:u,rowHeight:n}),a+=n,(a>=t||u===e.length-1)&&(r[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o=jWe(),i+=a,s=u+1,a=0);return r}function jWe(){return{firstRowIndex:null,lastRowIndex:null,rows:[]}}});var YWe=ye($J=>{\"use strict\";var P7=no().extendFlat;$J.splitToPanels=function(e){var t=[0,0],r=P7({},e,{key:\"header\",type:\"header\",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!0,values:e.calcdata.headerCells.values[e.specIndex],rowBlocks:e.calcdata.headerRowBlocks,calcdata:P7({},e.calcdata,{cells:e.calcdata.headerCells})}),n=P7({},e,{key:\"cells1\",type:\"cells\",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks}),i=P7({},e,{key:\"cells2\",type:\"cells\",page:1,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks});return[n,i,r]};$J.splitToCells=function(e){var t=FZt(e);return(e.values||[]).slice(t[0],t[1]).map(function(r,n){var i=typeof r==\"string\"&&r.match(/[<$&> ]/)?\"_keybuster_\"+Math.random():\"\";return{keyWithinBlock:n+i,key:t[0]+n,column:e,calcdata:e.calcdata,page:e.page,rowBlocks:e.rowBlocks,value:r}})};function FZt(e){var t=e.rowBlocks[e.page],r=t?t.rows[0].rowIndex:0,n=t?r+t.rows.length:0;return[r,n]}});var l$=ye((V_r,oZe)=>{\"use strict\";var Ia=XJ(),Mc=xa(),QJ=Mr(),qZt=QJ.numberFormat,gu=Km(),e$=ao(),OZt=Pl(),BZt=Mr().raiseToTop,og=Mr().strTranslate,NZt=Mr().cancelTransition,UZt=XWe(),rZe=YWe(),KWe=va();oZe.exports=function(t,r){var n=!t._context.staticPlot,i=t._fullLayout._paper.selectAll(\".\"+Ia.cn.table).data(r.map(function(E){var k=gu.unwrap(E),A=k.trace;return UZt(t,A)}),gu.keyFun);i.exit().remove(),i.enter().append(\"g\").classed(Ia.cn.table,!0).attr(\"overflow\",\"visible\").style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"overflow\",\"visible\").style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"all\"),i.attr(\"width\",function(E){return E.width+E.size.l+E.size.r}).attr(\"height\",function(E){return E.height+E.size.t+E.size.b}).attr(\"transform\",function(E){return og(E.translateX,E.translateY)});var a=i.selectAll(\".\"+Ia.cn.tableControlView).data(gu.repeat,gu.keyFun),o=a.enter().append(\"g\").classed(Ia.cn.tableControlView,!0).style(\"box-sizing\",\"content-box\");if(n){var s=\"onwheel\"in document?\"wheel\":\"mousewheel\";o.on(\"mousemove\",function(E){a.filter(function(k){return E===k}).call(Jk,t)}).on(s,function(E){if(!E.scrollbarState.wheeling){E.scrollbarState.wheeling=!0;var k=E.scrollY+Mc.event.deltaY,A=R7(t,a,null,k)(E);A||(Mc.event.stopPropagation(),Mc.event.preventDefault()),E.scrollbarState.wheeling=!1}}).call(Jk,t,!0)}a.attr(\"transform\",function(E){return og(E.size.l,E.size.t)});var l=a.selectAll(\".\"+Ia.cn.scrollBackground).data(gu.repeat,gu.keyFun);l.enter().append(\"rect\").classed(Ia.cn.scrollBackground,!0).attr(\"fill\",\"none\"),l.attr(\"width\",function(E){return E.width}).attr(\"height\",function(E){return E.height}),a.each(function(E){e$.setClipUrl(Mc.select(this),JWe(t,E),t)});var u=a.selectAll(\".\"+Ia.cn.yColumn).data(function(E){return E.columns},gu.keyFun);u.enter().append(\"g\").classed(Ia.cn.yColumn,!0),u.exit().remove(),u.attr(\"transform\",function(E){return og(E.x,0)}),n&&u.call(Mc.behavior.drag().origin(function(E){var k=Mc.select(this);return eZe(k,E,-Ia.uplift),BZt(this),E.calcdata.columnDragInProgress=!0,Jk(a.filter(function(A){return E.calcdata.key===A.key}),t),E}).on(\"drag\",function(E){var k=Mc.select(this),A=function(C){return(E===C?Mc.event.x:C.x)+C.columnWidth/2};E.x=Math.max(-Ia.overdrag,Math.min(E.calcdata.width+Ia.overdrag-E.columnWidth,Mc.event.x));var L=iZe(u).filter(function(C){return C.calcdata.key===E.calcdata.key}),_=L.sort(function(C,M){return A(C)-A(M)});_.forEach(function(C,M){C.xIndex=M,C.x=E===C?C.x:C.xScale(C)}),u.filter(function(C){return E!==C}).transition().ease(Ia.transitionEase).duration(Ia.transitionDuration).attr(\"transform\",function(C){return og(C.x,0)}),k.call(NZt).attr(\"transform\",og(E.x,-Ia.uplift))}).on(\"dragend\",function(E){var k=Mc.select(this),A=E.calcdata;E.x=E.xScale(E),E.calcdata.columnDragInProgress=!1,eZe(k,E,0),JZt(t,A,A.columns.map(function(L){return L.xIndex}))})),u.each(function(E){e$.setClipUrl(Mc.select(this),$We(t,E),t)});var c=u.selectAll(\".\"+Ia.cn.columnBlock).data(rZe.splitToPanels,gu.keyFun);c.enter().append(\"g\").classed(Ia.cn.columnBlock,!0).attr(\"id\",function(E){return E.key}),c.style(\"cursor\",function(E){return E.dragHandle?\"ew-resize\":E.calcdata.scrollbarState.barWiggleRoom?\"ns-resize\":\"default\"});var f=c.filter($Zt),h=c.filter(a$);n&&h.call(Mc.behavior.drag().origin(function(E){return Mc.event.stopPropagation(),E}).on(\"drag\",R7(t,a,-1)).on(\"dragend\",function(){})),t$(t,a,f,c),t$(t,a,h,c);var d=a.selectAll(\".\"+Ia.cn.scrollAreaClip).data(gu.repeat,gu.keyFun);d.enter().append(\"clipPath\").classed(Ia.cn.scrollAreaClip,!0).attr(\"id\",function(E){return JWe(t,E)});var v=d.selectAll(\".\"+Ia.cn.scrollAreaClipRect).data(gu.repeat,gu.keyFun);v.enter().append(\"rect\").classed(Ia.cn.scrollAreaClipRect,!0).attr(\"x\",-Ia.overdrag).attr(\"y\",-Ia.uplift).attr(\"fill\",\"none\"),v.attr(\"width\",function(E){return E.width+2*Ia.overdrag}).attr(\"height\",function(E){return E.height+Ia.uplift});var x=u.selectAll(\".\"+Ia.cn.columnBoundary).data(gu.repeat,gu.keyFun);x.enter().append(\"g\").classed(Ia.cn.columnBoundary,!0);var b=u.selectAll(\".\"+Ia.cn.columnBoundaryClippath).data(gu.repeat,gu.keyFun);b.enter().append(\"clipPath\").classed(Ia.cn.columnBoundaryClippath,!0),b.attr(\"id\",function(E){return $We(t,E)});var p=b.selectAll(\".\"+Ia.cn.columnBoundaryRect).data(gu.repeat,gu.keyFun);p.enter().append(\"rect\").classed(Ia.cn.columnBoundaryRect,!0).attr(\"fill\",\"none\"),p.attr(\"width\",function(E){return E.columnWidth+2*I7(E)}).attr(\"height\",function(E){return E.calcdata.height+2*I7(E)+Ia.uplift}).attr(\"x\",function(E){return-I7(E)}).attr(\"y\",function(E){return-I7(E)}),o$(null,h,a)};function I7(e){return Math.ceil(e.calcdata.maxLineWidth/2)}function JWe(e,t){return\"clip\"+e._fullLayout._uid+\"_scrollAreaBottomClip_\"+t.key}function $We(e,t){return\"clip\"+e._fullLayout._uid+\"_columnBoundaryClippath_\"+t.calcdata.key+\"_\"+t.specIndex}function iZe(e){return[].concat.apply([],e.map(function(t){return t})).map(function(t){return t.__data__})}function Jk(e,t,r){function n(u){var c=u.rowBlocks;return i$(c,c.length-1)+(c.length?D7(c[c.length-1],1/0):1)}var i=e.selectAll(\".\"+Ia.cn.scrollbarKit).data(gu.repeat,gu.keyFun);i.enter().append(\"g\").classed(Ia.cn.scrollbarKit,!0).style(\"shape-rendering\",\"geometricPrecision\"),i.each(function(u){var c=u.scrollbarState;c.totalHeight=n(u),c.scrollableAreaHeight=u.groupHeight-r$(u),c.currentlyVisibleHeight=Math.min(c.totalHeight,c.scrollableAreaHeight),c.ratio=c.currentlyVisibleHeight/c.totalHeight,c.barLength=Math.max(c.ratio*c.currentlyVisibleHeight,Ia.goldenRatio*Ia.scrollbarWidth),c.barWiggleRoom=c.currentlyVisibleHeight-c.barLength,c.wiggleRoom=Math.max(0,c.totalHeight-c.scrollableAreaHeight),c.topY=c.barWiggleRoom===0?0:u.scrollY/c.wiggleRoom*c.barWiggleRoom,c.bottomY=c.topY+c.barLength,c.dragMultiplier=c.wiggleRoom/c.barWiggleRoom}).attr(\"transform\",function(u){var c=u.width+Ia.scrollbarWidth/2+Ia.scrollbarOffset;return og(c,r$(u))});var a=i.selectAll(\".\"+Ia.cn.scrollbar).data(gu.repeat,gu.keyFun);a.enter().append(\"g\").classed(Ia.cn.scrollbar,!0);var o=a.selectAll(\".\"+Ia.cn.scrollbarSlider).data(gu.repeat,gu.keyFun);o.enter().append(\"g\").classed(Ia.cn.scrollbarSlider,!0),o.attr(\"transform\",function(u){return og(0,u.scrollbarState.topY||0)});var s=o.selectAll(\".\"+Ia.cn.scrollbarGlyph).data(gu.repeat,gu.keyFun);s.enter().append(\"line\").classed(Ia.cn.scrollbarGlyph,!0).attr(\"stroke\",\"black\").attr(\"stroke-width\",Ia.scrollbarWidth).attr(\"stroke-linecap\",\"round\").attr(\"y1\",Ia.scrollbarWidth/2),s.attr(\"y2\",function(u){return u.scrollbarState.barLength-Ia.scrollbarWidth/2}).attr(\"stroke-opacity\",function(u){return u.columnDragInProgress||!u.scrollbarState.barWiggleRoom||r?0:.4}),s.transition().delay(0).duration(0),s.transition().delay(Ia.scrollbarHideDelay).duration(Ia.scrollbarHideDuration).attr(\"stroke-opacity\",0);var l=a.selectAll(\".\"+Ia.cn.scrollbarCaptureZone).data(gu.repeat,gu.keyFun);l.enter().append(\"line\").classed(Ia.cn.scrollbarCaptureZone,!0).attr(\"stroke\",\"white\").attr(\"stroke-opacity\",.01).attr(\"stroke-width\",Ia.scrollbarCaptureWidth).attr(\"stroke-linecap\",\"butt\").attr(\"y1\",0).on(\"mousedown\",function(u){var c=Mc.event.y,f=this.getBoundingClientRect(),h=u.scrollbarState,d=c-f.top,v=Mc.scale.linear().domain([0,h.scrollableAreaHeight]).range([0,h.totalHeight]).clamp(!0);h.topY<=d&&d<=h.bottomY||R7(t,e,null,v(d-h.barLength/2))(u)}).call(Mc.behavior.drag().origin(function(u){return Mc.event.stopPropagation(),u.scrollbarState.scrollbarScrollInProgress=!0,u}).on(\"drag\",R7(t,e)).on(\"dragend\",function(){})),l.attr(\"y2\",function(u){return u.scrollbarState.scrollableAreaHeight}),t._context.staticPlot&&(s.remove(),l.remove())}function t$(e,t,r,n){var i=VZt(r),a=HZt(i);ZZt(a);var o=GZt(a);YZt(o);var s=WZt(a),l=jZt(s);XZt(l),nZe(l,t,n,e),s$(a)}function VZt(e){var t=e.selectAll(\".\"+Ia.cn.columnCells).data(gu.repeat,gu.keyFun);return t.enter().append(\"g\").classed(Ia.cn.columnCells,!0),t.exit().remove(),t}function HZt(e){var t=e.selectAll(\".\"+Ia.cn.columnCell).data(rZe.splitToCells,function(r){return r.keyWithinBlock});return t.enter().append(\"g\").classed(Ia.cn.columnCell,!0),t.exit().remove(),t}function GZt(e){var t=e.selectAll(\".\"+Ia.cn.cellRect).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append(\"rect\").classed(Ia.cn.cellRect,!0),t}function jZt(e){var t=e.selectAll(\".\"+Ia.cn.cellText).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append(\"text\").classed(Ia.cn.cellText,!0).style(\"cursor\",function(){return\"auto\"}).on(\"mousedown\",function(){Mc.event.stopPropagation()}),t}function WZt(e){var t=e.selectAll(\".\"+Ia.cn.cellTextHolder).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append(\"g\").classed(Ia.cn.cellTextHolder,!0).style(\"shape-rendering\",\"geometricPrecision\"),t}function ZZt(e){e.each(function(t,r){var n=t.calcdata.cells.font,i=t.column.specIndex,a={size:Xv(n.size,i,r),color:Xv(n.color,i,r),family:Xv(n.family,i,r),weight:Xv(n.weight,i,r),style:Xv(n.style,i,r),variant:Xv(n.variant,i,r),textcase:Xv(n.textcase,i,r),lineposition:Xv(n.lineposition,i,r),shadow:Xv(n.shadow,i,r)};t.rowNumber=t.key,t.align=Xv(t.calcdata.cells.align,i,r),t.cellBorderWidth=Xv(t.calcdata.cells.line.width,i,r),t.font=a})}function XZt(e){e.each(function(t){e$.font(Mc.select(this),t.font)})}function YZt(e){e.attr(\"width\",function(t){return t.column.columnWidth}).attr(\"stroke-width\",function(t){return t.cellBorderWidth}).each(function(t){var r=Mc.select(this);KWe.stroke(r,Xv(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),KWe.fill(r,Xv(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}function nZe(e,t,r,n){e.text(function(i){var a=i.column.specIndex,o=i.rowNumber,s=i.value,l=typeof s==\"string\",u=l&&s.match(/<br>/i),c=!l||u;i.mayHaveMarkup=l&&s.match(/[<&>]/);var f=KZt(s);i.latex=f;var h=f?\"\":Xv(i.calcdata.cells.prefix,a,o)||\"\",d=f?\"\":Xv(i.calcdata.cells.suffix,a,o)||\"\",v=f?null:Xv(i.calcdata.cells.format,a,o)||null,x=h+(v?qZt(v)(i.value):i.value)+d,b;i.wrappingNeeded=!i.wrapped&&!c&&!f&&(b=QWe(x)),i.cellHeightMayIncrease=u||f||i.mayHaveMarkup||(b===void 0?QWe(x):b),i.needsConvertToTspans=i.mayHaveMarkup||i.wrappingNeeded||i.latex;var p;if(i.wrappingNeeded){var E=Ia.wrapSplitCharacter===\" \"?x.replace(/<a href=/ig,\"<a_href=\"):x,k=E.split(Ia.wrapSplitCharacter),A=Ia.wrapSplitCharacter===\" \"?k.map(function(L){return L.replace(/<a_href=/ig,\"<a href=\")}):k;i.fragments=A.map(function(L){return{text:L,width:null}}),i.fragments.push({fragment:Ia.wrapSpacer,width:null}),p=A.join(Ia.lineBreaker)+Ia.lineBreaker+Ia.wrapSpacer}else delete i.fragments,p=x;return p}).attr(\"dy\",function(i){return i.needsConvertToTspans?0:\"0.75em\"}).each(function(i){var a=this,o=Mc.select(a),s=i.wrappingNeeded?eXt:tXt;i.needsConvertToTspans?OZt.convertToTspans(o,n,s(r,a,t,n,i)):Mc.select(a.parentNode).attr(\"transform\",function(l){return og(aZe(l),Ia.cellPad)}).attr(\"text-anchor\",function(l){return{left:\"start\",center:\"middle\",right:\"end\"}[l.align]})})}function KZt(e){return typeof e==\"string\"&&e.match(Ia.latexCheck)}function QWe(e){return e.indexOf(Ia.wrapSplitCharacter)!==-1}function JZt(e,t,r){var n=t.gdColumnsOriginalOrder;t.gdColumns.sort(function(i,a){return r[n.indexOf(i)]-r[n.indexOf(a)]}),t.columnorder=r,e.emit(\"plotly_restyle\")}function Xv(e,t,r){if(QJ.isArrayOrTypedArray(e)){var n=e[Math.min(t,e.length-1)];return QJ.isArrayOrTypedArray(n)?n[Math.min(r,n.length-1)]:n}else return e}function eZe(e,t,r){e.transition().ease(Ia.releaseTransitionEase).duration(Ia.releaseTransitionDuration).attr(\"transform\",og(t.x,r))}function a$(e){return e.type===\"cells\"}function $Zt(e){return e.type===\"header\"}function r$(e){var t=e.rowBlocks.length?e.rowBlocks[0].auxiliaryBlocks:[];return t.reduce(function(r,n){return r+D7(n,1/0)},0)}function QZt(e,t,r){for(var n=[],i=0,a=0;a<e.length;a++){for(var o=e[a],s=o.rows,l=0,u=0;u<s.length;u++)l+=s[u].rowHeight;o.allRowsHeight=l;var c=i+l,f=t,h=f+r;f<c&&h>i&&n.push(a),i+=l}return n}function o$(e,t,r){var n=iZe(t)[0];if(n!==void 0){var i=n.rowBlocks,a=n.calcdata,o=i$(i,i.length),s=n.calcdata.groupHeight-r$(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),u=QZt(i,l,s);u.length===1&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),t.each(function(c,f){c.page=u[f],c.scrollY=l}),t.attr(\"transform\",function(c){var f=i$(c.rowBlocks,c.page)-c.scrollY;return og(0,f)}),e&&(tZe(e,r,t,u,n.prevPages,n,0),tZe(e,r,t,u,n.prevPages,n,1),Jk(r,e))}}function R7(e,t,r,n){return function(a){var o=a.calcdata?a.calcdata:a,s=t.filter(function(f){return o.key===f.key}),l=r||o.scrollbarState.dragMultiplier,u=o.scrollY;o.scrollY=n===void 0?o.scrollY+l*Mc.event.dy:n;var c=s.selectAll(\".\"+Ia.cn.yColumn).selectAll(\".\"+Ia.cn.columnBlock).filter(a$);return o$(e,c,s),o.scrollY===u}}function tZe(e,t,r,n,i,a,o){var s=n[o]!==i[o];s&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var l=r.filter(function(u,c){return c===o&&n[c]!==i[c]});t$(e,t,l,r),i[o]=n[o]}))}function eXt(e,t,r,n){return function(){var a=Mc.select(t.parentNode);a.each(function(o){var s=o.fragments;a.selectAll(\"tspan.line\").each(function(x,b){s[b].width=this.getComputedTextLength()});var l=s[s.length-1].width,u=s.slice(0,-1),c=[],f,h,d=0,v=o.column.columnWidth-2*Ia.cellPad;for(o.value=\"\";u.length;)f=u.shift(),h=f.width+l,d+h>v&&(o.value+=c.join(Ia.wrapSpacer)+Ia.lineBreaker,c=[],d=0),c.push(f.text),d+=h;d&&(o.value+=c.join(Ia.wrapSpacer)),o.wrapped=!0}),a.selectAll(\"tspan.line\").remove(),nZe(a.select(\".\"+Ia.cn.cellText),r,e,n),Mc.select(t.parentNode.parentNode).call(s$)}}function tXt(e,t,r,n,i){return function(){if(!i.settledY){var o=Mc.select(t.parentNode),s=n$(i),l=i.key-s.firstRowIndex,u=s.rows[l].rowHeight,c=i.cellHeightMayIncrease?t.parentNode.getBoundingClientRect().height+2*Ia.cellPad:u,f=Math.max(c,u),h=f-s.rows[l].rowHeight;h&&(s.rows[l].rowHeight=f,e.selectAll(\".\"+Ia.cn.columnCell).call(s$),o$(null,e.filter(a$),0),Jk(r,n,!0)),o.attr(\"transform\",function(){var d=this,v=d.parentNode,x=v.getBoundingClientRect(),b=Mc.select(d.parentNode).select(\".\"+Ia.cn.cellRect).node().getBoundingClientRect(),p=d.transform.baseVal.consolidate(),E=b.top-x.top+(p?p.matrix.f:Ia.cellPad);return og(aZe(i,Mc.select(d.parentNode).select(\".\"+Ia.cn.cellTextHolder).node().getBoundingClientRect().width),E)}),i.settledY=!0}}}function aZe(e,t){switch(e.align){case\"left\":return Ia.cellPad;case\"right\":return e.column.columnWidth-(t||0)-Ia.cellPad;case\"center\":return(e.column.columnWidth-(t||0))/2;default:return Ia.cellPad}}function s$(e){e.attr(\"transform\",function(t){var r=t.rowBlocks[0].auxiliaryBlocks.reduce(function(o,s){return o+D7(s,1/0)},0),n=n$(t),i=D7(n,t.key),a=i+r;return og(0,a)}).selectAll(\".\"+Ia.cn.cellRect).attr(\"height\",function(t){return iXt(n$(t),t.key).rowHeight})}function i$(e,t){for(var r=0,n=t-1;n>=0;n--)r+=rXt(e[n]);return r}function D7(e,t){for(var r=0,n=0;n<e.rows.length&&e.rows[n].rowIndex<t;n++)r+=e.rows[n].rowHeight;return r}function rXt(e){var t=e.allRowsHeight;if(t!==void 0)return t;for(var r=0,n=0;n<e.rows.length;n++)r+=e.rows[n].rowHeight;return e.allRowsHeight=r,r}function n$(e){return e.rowBlocks[e.page]}function iXt(e,t){return e.rows[t-e.firstRowIndex]}});var sZe=ye(F7=>{\"use strict\";var nXt=kd().getModuleCalcData,aXt=l$(),z7=\"table\";F7.name=z7;F7.plot=function(e){var t=nXt(e.calcdata,z7)[0];t.length&&aXt(e,t)};F7.clean=function(e,t,r,n){var i=n._has&&n._has(z7),a=t._has&&t._has(z7);i&&!a&&n._paperdiv.selectAll(\".table\").remove()}});var uZe=ye((G_r,lZe)=>{\"use strict\";lZe.exports={attributes:WJ(),supplyDefaults:FWe(),calc:OWe(),plot:l$(),moduleType:\"trace\",name:\"table\",basePlotModule:sZe(),categories:[\"noOpacity\"],meta:{}}});var fZe=ye((j_r,cZe)=>{\"use strict\";cZe.exports=uZe()});var gZe=ye((W_r,pZe)=>{\"use strict\";var hZe=Su(),dZe=dh(),u$=Cd(),oXt=Oc().descriptionWithDates,sXt=Bu().overrideAll,vZe=Ed().dash,c$=no().extendFlat;pZe.exports={color:{valType:\"color\",editType:\"calc\"},smoothing:{valType:\"number\",dflt:1,min:0,max:1.3,editType:\"calc\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"calc\"},font:hZe({editType:\"calc\"}),offset:{valType:\"number\",dflt:10,editType:\"calc\"},editType:\"calc\"},type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"date\",\"category\"],dflt:\"-\",editType:\"calc\"},autotypenumbers:u$.autotypenumbers,autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],dflt:!0,editType:\"calc\"},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"calc\"},range:{valType:\"info_array\",editType:\"calc\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}]},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cheatertype:{valType:\"enumerated\",values:[\"index\",\"value\"],dflt:\"value\",editType:\"calc\"},tickmode:{valType:\"enumerated\",values:[\"linear\",\"array\"],dflt:\"array\",editType:\"calc\"},nticks:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},tickvals:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},showticklabels:{valType:\"enumerated\",values:[\"start\",\"end\",\"both\",\"none\"],dflt:\"start\",editType:\"calc\"},labelalias:c$({},u$.labelalias,{editType:\"calc\"}),tickfont:hZe({editType:\"calc\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"calc\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"calc\"},minexponent:{valType:\"number\",dflt:3,min:0,editType:\"calc\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"calc\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"calc\",description:oXt(\"tick label\")},tickformatstops:sXt(u$.tickformatstops,\"calc\",\"from-root\"),categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},labelpadding:{valType:\"integer\",dflt:10,editType:\"calc\"},labelprefix:{valType:\"string\",editType:\"calc\"},labelsuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showline:{valType:\"boolean\",dflt:!1,editType:\"calc\"},linecolor:{valType:\"color\",dflt:dZe.defaultLine,editType:\"calc\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},gridcolor:{valType:\"color\",editType:\"calc\"},gridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},griddash:c$({},vZe,{editType:\"calc\"}),showgrid:{valType:\"boolean\",dflt:!0,editType:\"calc\"},minorgridcount:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},minorgridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},minorgriddash:c$({},vZe,{editType:\"calc\"}),minorgridcolor:{valType:\"color\",dflt:dZe.lightLine,editType:\"calc\"},startline:{valType:\"boolean\",editType:\"calc\"},startlinecolor:{valType:\"color\",editType:\"calc\"},startlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endline:{valType:\"boolean\",editType:\"calc\"},endlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endlinecolor:{valType:\"color\",editType:\"calc\"},tick0:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},dtick:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},arraytick0:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},arraydtick:{valType:\"integer\",min:1,dflt:1,editType:\"calc\"},editType:\"calc\"}});var O7=ye((Z_r,_Ze)=>{\"use strict\";var lXt=Su(),mZe=gZe(),yZe=dh(),q7=lXt({editType:\"calc\"}),uXt=Uc().zorder;q7.family.dflt='\"Open Sans\", verdana, arial, sans-serif';q7.size.dflt=12;q7.color.dflt=yZe.defaultLine;_Ze.exports={carpet:{valType:\"string\",editType:\"calc\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},a:{valType:\"data_array\",editType:\"calc\"},a0:{valType:\"number\",dflt:0,editType:\"calc\"},da:{valType:\"number\",dflt:1,editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},b0:{valType:\"number\",dflt:0,editType:\"calc\"},db:{valType:\"number\",dflt:1,editType:\"calc\"},cheaterslope:{valType:\"number\",dflt:1,editType:\"calc\"},aaxis:mZe,baxis:mZe,font:q7,color:{valType:\"color\",dflt:yZe.defaultLine,editType:\"plot\"},zorder:uXt}});var wZe=ye((X_r,bZe)=>{\"use strict\";var xZe=Mr().isArray1D;bZe.exports=function(t,r,n){var i=n(\"x\"),a=i&&i.length,o=n(\"y\"),s=o&&o.length;if(!a&&!s)return!1;if(r._cheater=!i,(!a||xZe(i))&&(!s||xZe(o))){var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),r.a&&r.a.length&&(l=Math.min(l,r.a.length)),r.b&&r.b.length&&(l=Math.min(l,r.b.length)),r._length=l}else r._length=null;return!0}});var SZe=ye((Y_r,AZe)=>{\"use strict\";var cXt=O7(),TZe=va().addOpacity,fXt=ba(),$k=Mr(),hXt=xb(),dXt=t_(),vXt=r_(),pXt=eI(),gXt=ym(),mXt=L3();AZe.exports=function(t,r,n){var i=n.letter,a=n.font||{},o=cXt[i+\"axis\"];function s(g,P){return $k.coerce(t,r,o,g,P)}function l(g,P){return $k.coerce2(t,r,o,g,P)}n.name&&(r._name=n.name,r._id=n.name),s(\"autotypenumbers\",n.autotypenumbersDflt);var u=s(\"type\");if(u===\"-\"&&(n.data&&yXt(r,n.data),r.type===\"-\"?r.type=\"linear\":u=t.type=r.type),s(\"smoothing\"),s(\"cheatertype\"),s(\"showticklabels\"),s(\"labelprefix\",i+\" = \"),s(\"labelsuffix\"),s(\"showtickprefix\"),s(\"showticksuffix\"),s(\"separatethousands\"),s(\"tickformat\"),s(\"exponentformat\"),s(\"minexponent\"),s(\"showexponent\"),s(\"categoryorder\"),s(\"tickmode\"),s(\"tickvals\"),s(\"ticktext\"),s(\"tick0\"),s(\"dtick\"),r.tickmode===\"array\"&&(s(\"arraytick0\"),s(\"arraydtick\")),s(\"labelpadding\"),r._hovertitle=i,u===\"date\"){var c=fXt.getComponentMethod(\"calendars\",\"handleDefaults\");c(t,r,\"calendar\",n.calendar)}gXt(r,n.fullLayout),r.c2p=$k.identity;var f=s(\"color\",n.dfltColor),h=f===t.color?f:a.color,d=s(\"title.text\");d&&($k.coerceFont(s,\"title.font\",a,{overrideDflt:{size:$k.bigFont(a.size),color:h}}),s(\"title.offset\")),s(\"tickangle\");var v=s(\"autorange\",!r.isValidRange(t.range));v&&s(\"rangemode\"),s(\"range\"),r.cleanRange(),s(\"fixedrange\"),hXt(t,r,s,u),vXt(t,r,s,u,n),dXt(t,r,s,u,n),pXt(t,r,s,{data:n.data,dataAttr:i});var x=l(\"gridcolor\",TZe(f,.3)),b=l(\"gridwidth\"),p=l(\"griddash\"),E=s(\"showgrid\");E||(delete r.gridcolor,delete r.gridwidth,delete r.griddash);var k=l(\"startlinecolor\",f),A=l(\"startlinewidth\",b),L=s(\"startline\",r.showgrid||!!k||!!A);L||(delete r.startlinecolor,delete r.startlinewidth);var _=l(\"endlinecolor\",f),C=l(\"endlinewidth\",b),M=s(\"endline\",r.showgrid||!!_||!!C);return M||(delete r.endlinecolor,delete r.endlinewidth),E?(s(\"minorgridcount\"),s(\"minorgridwidth\",b),s(\"minorgriddash\",p),s(\"minorgridcolor\",TZe(x,.06)),r.minorgridcount||(delete r.minorgridwidth,delete r.minorgriddash,delete r.minorgridcolor)):(delete r.gridcolor,delete r.gridwidth,delete r.griddash),r.showticklabels===\"none\"&&(delete r.tickfont,delete r.tickangle,delete r.showexponent,delete r.exponentformat,delete r.minexponent,delete r.tickformat,delete r.showticksuffix,delete r.showtickprefix),r.showticksuffix||delete r.ticksuffix,r.showtickprefix||delete r.tickprefix,s(\"tickmode\"),r};function yXt(e,t){if(e.type===\"-\"){var r=e._id,n=r.charAt(0),i=n+\"calendar\",a=e[i];e.type=mXt(t,a,{autotypenumbers:e.autotypenumbers})}}});var EZe=ye((K_r,MZe)=>{\"use strict\";var _Xt=SZe(),xXt=Vs();MZe.exports=function(t,r,n,i,a){var o=i(\"a\");o||(i(\"da\"),i(\"a0\"));var s=i(\"b\");s||(i(\"db\"),i(\"b0\")),bXt(t,r,n,a)};function bXt(e,t,r,n){var i=[\"aaxis\",\"baxis\"];i.forEach(function(a){var o=a.charAt(0),s=e[a]||{},l=xXt.newContainer(t,a),u={noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,noTicklabelstep:!0,tickfont:\"x\",id:o+\"axis\",letter:o,font:t.font,name:a,data:e[o],calendar:t.calendar,dfltColor:n,bgColor:r.paper_bgcolor,autotypenumbersDflt:r.autotypenumbers,fullLayout:r};_Xt(s,l,u),l._categories=l._categories||[],!e[a]&&s.type!==\"-\"&&(e[a]={type:s.type})})}});var LZe=ye((J_r,CZe)=>{\"use strict\";var kZe=Mr(),wXt=wZe(),TXt=EZe(),AXt=O7(),SXt=dh();CZe.exports=function(t,r,n,i){function a(l,u){return kZe.coerce(t,r,AXt,l,u)}r._clipPathId=\"clip\"+r.uid+\"carpet\";var o=a(\"color\",SXt.defaultLine);if(kZe.coerceFont(a,\"font\",i.font),a(\"carpet\"),TXt(t,r,i,a,o),!r.a||!r.b){r.visible=!1;return}r.a.length<3&&(r.aaxis.smoothing=0),r.b.length<3&&(r.baxis.smoothing=0);var s=wXt(t,r,a);s||(r.visible=!1),r._cheater&&a(\"cheaterslope\"),a(\"zorder\")}});var f$=ye(($_r,PZe)=>{\"use strict\";var MXt=Mr().isArrayOrTypedArray;PZe.exports=function(t,r,n){var i;for(MXt(t)?t.length>r.length&&(t=t.slice(0,r.length)):t=[],i=0;i<r.length;i++)t[i]=n(r[i]);return t}});var h$=ye((Q_r,IZe)=>{\"use strict\";IZe.exports=function(t,r,n){if(t.length===0)return\"\";var i,a=[],o=n?3:1;for(i=0;i<t.length;i+=o)a.push(t[i]+\",\"+r[i]),n&&i<t.length-o&&(a.push(\"C\"),a.push([t[i+1]+\",\"+r[i+1],t[i+2]+\",\"+r[i+2]+\" \"].join(\" \")));return a.join(n?\"\":\"L\")}});var DZe=ye((exr,RZe)=>{\"use strict\";RZe.exports=function(t,r,n,i,a,o){var s=a[0]*t.dpdx(r),l=a[1]*t.dpdy(n),u=1,c=1;if(o){var f=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=Math.sqrt(o[0]*o[0]+o[1]*o[1]),d=(a[0]*o[0]+a[1]*o[1])/f/h;c=Math.max(0,d)}var v=Math.atan2(l,s)*180/Math.PI;return v<-90?(v+=180,u=-u):v>90&&(v-=180,u=-u),{angle:v,flip:u,p:t.c2p(i,r,n),offsetMultplier:c}}});var VZe=ye((txr,UZe)=>{\"use strict\";var V7=xa(),B7=ao(),N7=f$(),qZe=h$(),Qk=DZe(),d$=Pl(),Up=Mr(),OZe=Up.strRotate,U7=Up.strTranslate,BZe=Nh();UZe.exports=function(t,r,n,i){var a=t._context.staticPlot,o=r.xaxis,s=r.yaxis,l=t._fullLayout,u=l._clips;Up.makeTraceGroups(i,n,\"trace\").each(function(c){var f=V7.select(this),h=c[0],d=h.trace,v=d.aaxis,x=d.baxis,b=Up.ensureSingle(f,\"g\",\"minorlayer\"),p=Up.ensureSingle(f,\"g\",\"majorlayer\"),E=Up.ensureSingle(f,\"g\",\"boundarylayer\"),k=Up.ensureSingle(f,\"g\",\"labellayer\");f.style(\"opacity\",d.opacity),zA(o,s,p,v,\"a\",v._gridlines,!0,a),zA(o,s,p,x,\"b\",x._gridlines,!0,a),zA(o,s,b,v,\"a\",v._minorgridlines,!0,a),zA(o,s,b,x,\"b\",x._minorgridlines,!0,a),zA(o,s,E,v,\"a-boundary\",v._boundarylines,a),zA(o,s,E,x,\"b-boundary\",x._boundarylines,a);var A=zZe(t,o,s,d,h,k,v._labels,\"a-label\"),L=zZe(t,o,s,d,h,k,x._labels,\"b-label\");kXt(t,k,d,h,o,s,A,L),EXt(d,h,u,o,s)})};function EXt(e,t,r,n,i){var a,o,s,l,u=r.select(\"#\"+e._clipPathId);u.size()||(u=r.append(\"clipPath\").classed(\"carpetclip\",!0));var c=Up.ensureSingle(u,\"path\",\"carpetboundary\"),f=t.clipsegments,h=[];for(l=0;l<f.length;l++)a=f[l],o=N7([],a.x,n.c2p),s=N7([],a.y,i.c2p),h.push(qZe(o,s,a.bicubic));var d=\"M\"+h.join(\"L\")+\"Z\";u.attr(\"id\",e._clipPathId),c.attr(\"d\",d)}function zA(e,t,r,n,i,a,o){var s=\"const-\"+i+\"-lines\",l=r.selectAll(\".\"+s).data(a);l.enter().append(\"path\").classed(s,!0).style(\"vector-effect\",o?\"none\":\"non-scaling-stroke\"),l.each(function(u){var c=u,f=c.x,h=c.y,d=N7([],f,e.c2p),v=N7([],h,t.c2p),x=\"M\"+qZe(d,v,c.smoothing),b=V7.select(this);b.attr(\"d\",x).style(\"stroke-width\",c.width).style(\"stroke\",c.color).style(\"stroke-dasharray\",B7.dashStyle(c.dash,c.width)).style(\"fill\",\"none\")}),l.exit().remove()}function zZe(e,t,r,n,i,a,o,s){var l=a.selectAll(\"text.\"+s).data(o);l.enter().append(\"text\").classed(s,!0);var u=0,c={};return l.each(function(f,h){var d;if(f.axis.tickangle===\"auto\")d=Qk(n,t,r,f.xy,f.dxy);else{var v=(f.axis.tickangle+180)*Math.PI/180;d=Qk(n,t,r,f.xy,[Math.cos(v),Math.sin(v)])}h||(c={angle:d.angle,flip:d.flip});var x=(f.endAnchor?-1:1)*d.flip,b=V7.select(this).attr({\"text-anchor\":x>0?\"start\":\"end\",\"data-notex\":1}).call(B7.font,f.font).text(f.text).call(d$.convertToTspans,e),p=B7.bBox(this);b.attr(\"transform\",U7(d.p[0],d.p[1])+OZe(d.angle)+U7(f.axis.labelpadding*x,p.height*.3)),u=Math.max(u,p.width+f.axis.labelpadding)}),l.exit().remove(),c.maxExtent=u,c}function kXt(e,t,r,n,i,a,o,s){var l,u,c,f,h=Up.aggNums(Math.min,null,r.a),d=Up.aggNums(Math.max,null,r.a),v=Up.aggNums(Math.min,null,r.b),x=Up.aggNums(Math.max,null,r.b);l=.5*(h+d),u=v,c=r.ab2xy(l,u,!0),f=r.dxyda_rough(l,u),o.angle===void 0&&Up.extendFlat(o,Qk(r,i,a,c,r.dxydb_rough(l,u))),FZe(e,t,r,n,c,f,r.aaxis,i,a,o,\"a-title\"),l=h,u=.5*(v+x),c=r.ab2xy(l,u,!0),f=r.dxydb_rough(l,u),s.angle===void 0&&Up.extendFlat(s,Qk(r,i,a,c,r.dxyda_rough(l,u))),FZe(e,t,r,n,c,f,r.baxis,i,a,s,\"b-title\")}var NZe=BZe.LINE_SPACING,CXt=(1-BZe.MID_SHIFT)/NZe+1;function FZe(e,t,r,n,i,a,o,s,l,u,c){var f=[];o.title.text&&f.push(o.title.text);var h=t.selectAll(\"text.\"+c).data(f),d=u.maxExtent;h.enter().append(\"text\").classed(c,!0),h.each(function(){var v=Qk(r,s,l,i,a);[\"start\",\"both\"].indexOf(o.showticklabels)===-1&&(d=0);var x=o.title.font.size;d+=x+o.title.offset;var b=u.angle+(u.flip<0?180:0),p=(b-v.angle+450)%360,E=p>90&&p<270,k=V7.select(this);k.text(o.title.text).call(d$.convertToTspans,e),E&&(d=(-d$.lineCount(k)+CXt)*NZe*x-d),k.attr(\"transform\",U7(v.p[0],v.p[1])+OZe(v.angle)+U7(0,d)).attr(\"text-anchor\",\"middle\").call(B7.font,o.title.font)}),h.exit().remove()}});var GZe=ye((rxr,HZe)=>{\"use strict\";var H7=Mr().isArrayOrTypedArray;HZe.exports=function(e,t,r){var n,i,a,o,s,l,u=[],c=H7(e)?e.length:e,f=H7(t)?t.length:t,h=H7(e)?e:null,d=H7(t)?t:null;h&&(a=(h.length-1)/(h[h.length-1]-h[0])/(c-1)),d&&(o=(d.length-1)/(d[d.length-1]-d[0])/(f-1));var v,x=1/0,b=-1/0;for(i=0;i<f;i++)for(u[i]=[],l=d?(d[i]-d[0])*o:i/(f-1),n=0;n<c;n++)s=h?(h[n]-h[0])*a:n/(c-1),v=s-l*r,x=Math.min(v,x),b=Math.max(v,b),u[i][n]=v;var p=1/(b-x),E=-x*p;for(i=0;i<f;i++)for(n=0;n<c;n++)u[i][n]=p*u[i][n]+E;return u}});var XZe=ye((ixr,ZZe)=>{\"use strict\";var jZe=Mr().isArrayOrTypedArray;ZZe.exports=function(e){return WZe(e,0)};function WZe(e,t){if(!jZe(e)||t>=10)return null;for(var r=1/0,n=-1/0,i=e.length,a=0;a<i;a++){var o=e[a];if(jZe(o)){var s=WZe(o,t+1);s&&(r=Math.min(s[0],r),n=Math.max(s[1],n))}else r=Math.min(o,r),n=Math.max(o,n)}return[r,n]}});var KZe=ye((nxr,YZe)=>{\"use strict\";var LXt=Qa(),kx=no().extendFlat;YZe.exports=function(t,r,n){var i,a,o,s,l,u,c,f,h,d,v,x,b,p,E=t[\"_\"+r],k=t[r+\"axis\"],A=k._gridlines=[],L=k._minorgridlines=[],_=k._boundarylines=[],C=t[\"_\"+n],M=t[n+\"axis\"];k.tickmode===\"array\"&&(k.tickvals=E.slice());var g=t._xctrl,P=t._yctrl,T=g[0].length,F=g.length,q=t._a.length,V=t._b.length;LXt.prepTicks(k),k.tickmode===\"array\"&&delete k.tickvals;var H=k.smoothing?3:1;function X(N){var W,re,ae,_e,Me,ke,ge,ie,Te,Ee,Ae,ze,Ce=[],me=[],Re={};if(r===\"b\")for(re=t.b2j(N),ae=Math.floor(Math.max(0,Math.min(V-2,re))),_e=re-ae,Re.length=V,Re.crossLength=q,Re.xy=function(ce){return t.evalxy([],ce,re)},Re.dxy=function(ce,Ge){return t.dxydi([],ce,ae,Ge,_e)},W=0;W<q;W++)ke=Math.min(q-2,W),ge=W-ke,ie=t.evalxy([],W,re),M.smoothing&&W>0&&(Te=t.dxydi([],W-1,ae,0,_e),Ce.push(Me[0]+Te[0]/3),me.push(Me[1]+Te[1]/3),Ee=t.dxydi([],W-1,ae,1,_e),Ce.push(ie[0]-Ee[0]/3),me.push(ie[1]-Ee[1]/3)),Ce.push(ie[0]),me.push(ie[1]),Me=ie;else for(W=t.a2i(N),ke=Math.floor(Math.max(0,Math.min(q-2,W))),ge=W-ke,Re.length=q,Re.crossLength=V,Re.xy=function(ce){return t.evalxy([],W,ce)},Re.dxy=function(ce,Ge){return t.dxydj([],ke,ce,ge,Ge)},re=0;re<V;re++)ae=Math.min(V-2,re),_e=re-ae,ie=t.evalxy([],W,re),M.smoothing&&re>0&&(Ae=t.dxydj([],ke,re-1,ge,0),Ce.push(Me[0]+Ae[0]/3),me.push(Me[1]+Ae[1]/3),ze=t.dxydj([],ke,re-1,ge,1),Ce.push(ie[0]-ze[0]/3),me.push(ie[1]-ze[1]/3)),Ce.push(ie[0]),me.push(ie[1]),Me=ie;return Re.axisLetter=r,Re.axis=k,Re.crossAxis=M,Re.value=N,Re.constvar=n,Re.index=f,Re.x=Ce,Re.y=me,Re.smoothing=M.smoothing,Re}function G(N){var W,re,ae,_e,Me,ke=[],ge=[],ie={};if(ie.length=E.length,ie.crossLength=C.length,r===\"b\")for(ae=Math.max(0,Math.min(V-2,N)),Me=Math.min(1,Math.max(0,N-ae)),ie.xy=function(Te){return t.evalxy([],Te,N)},ie.dxy=function(Te,Ee){return t.dxydi([],Te,ae,Ee,Me)},W=0;W<T;W++)ke[W]=g[N*H][W],ge[W]=P[N*H][W];else for(re=Math.max(0,Math.min(q-2,N)),_e=Math.min(1,Math.max(0,N-re)),ie.xy=function(Te){return t.evalxy([],N,Te)},ie.dxy=function(Te,Ee){return t.dxydj([],re,Te,_e,Ee)},W=0;W<F;W++)ke[W]=g[W][N*H],ge[W]=P[W][N*H];return ie.axisLetter=r,ie.axis=k,ie.crossAxis=M,ie.value=E[N],ie.constvar=n,ie.index=N,ie.x=ke,ie.y=ge,ie.smoothing=M.smoothing,ie}if(k.tickmode===\"array\"){for(s=5e-15,l=[Math.floor((E.length-1-k.arraytick0)/k.arraydtick*(1+s)),Math.ceil(-k.arraytick0/k.arraydtick/(1+s))].sort(function(N,W){return N-W}),u=l[0]-1,c=l[1]+1,f=u;f<c;f++)a=k.arraytick0+k.arraydtick*f,!(a<0||a>E.length-1)&&A.push(kx(G(a),{color:k.gridcolor,width:k.gridwidth,dash:k.griddash}));for(f=u;f<c;f++)if(o=k.arraytick0+k.arraydtick*f,v=Math.min(o+k.arraydtick,E.length-1),!(o<0||o>E.length-1)&&!(v<0||v>E.length-1))for(x=E[o],b=E[v],i=0;i<k.minorgridcount;i++)p=v-o,!(p<=0)&&(d=x+(b-x)*(i+1)/(k.minorgridcount+1)*(k.arraydtick/p),!(d<E[0]||d>E[E.length-1])&&L.push(kx(X(d),{color:k.minorgridcolor,width:k.minorgridwidth,dash:k.minorgriddash})));k.startline&&_.push(kx(G(0),{color:k.startlinecolor,width:k.startlinewidth})),k.endline&&_.push(kx(G(E.length-1),{color:k.endlinecolor,width:k.endlinewidth}))}else{for(s=5e-15,l=[Math.floor((E[E.length-1]-k.tick0)/k.dtick*(1+s)),Math.ceil((E[0]-k.tick0)/k.dtick/(1+s))].sort(function(N,W){return N-W}),u=l[0],c=l[1],f=u;f<=c;f++)h=k.tick0+k.dtick*f,A.push(kx(X(h),{color:k.gridcolor,width:k.gridwidth,dash:k.griddash}));for(f=u-1;f<c+1;f++)for(h=k.tick0+k.dtick*f,i=0;i<k.minorgridcount;i++)d=h+k.dtick*(i+1)/(k.minorgridcount+1),!(d<E[0]||d>E[E.length-1])&&L.push(kx(X(d),{color:k.minorgridcolor,width:k.minorgridwidth,dash:k.minorgriddash}));k.startline&&_.push(kx(X(E[0]),{color:k.startlinecolor,width:k.startlinewidth})),k.endline&&_.push(kx(X(E[E.length-1]),{color:k.endlinecolor,width:k.endlinewidth}))}}});var eXe=ye((axr,QZe)=>{\"use strict\";var JZe=Qa(),$Ze=no().extendFlat;QZe.exports=function(t,r){var n,i,a,o,s,l=r._labels=[],u=r._gridlines;for(n=0;n<u.length;n++)s=u[n],[\"start\",\"both\"].indexOf(r.showticklabels)!==-1&&(i=JZe.tickText(r,s.value),$Ze(i,{prefix:a,suffix:o,endAnchor:!0,xy:s.xy(0),dxy:s.dxy(0,0),axis:s.axis,length:s.crossAxis.length,font:s.axis.tickfont,isFirst:n===0,isLast:n===u.length-1}),l.push(i)),[\"end\",\"both\"].indexOf(r.showticklabels)!==-1&&(i=JZe.tickText(r,s.value),$Ze(i,{endAnchor:!1,xy:s.xy(s.crossLength-1),dxy:s.dxy(s.crossLength-2,1),axis:s.axis,length:s.crossAxis.length,font:s.axis.tickfont,isFirst:n===0,isLast:n===u.length-1}),l.push(i))}});var rXe=ye((oxr,tXe)=>{\"use strict\";tXe.exports=function(t,r,n,i){var a,o,s,l=[],u=!!n.smoothing,c=!!i.smoothing,f=t[0].length-1,h=t.length-1;for(a=0,o=[],s=[];a<=f;a++)o[a]=t[0][a],s[a]=r[0][a];for(l.push({x:o,y:s,bicubic:u}),a=0,o=[],s=[];a<=h;a++)o[a]=t[a][f],s[a]=r[a][f];for(l.push({x:o,y:s,bicubic:c}),a=f,o=[],s=[];a>=0;a--)o[f-a]=t[h][a],s[f-a]=r[h][a];for(l.push({x:o,y:s,bicubic:u}),a=h,o=[],s=[];a>=0;a--)o[h-a]=t[a][0],s[h-a]=r[a][0];return l.push({x:o,y:s,bicubic:c}),l}});var nXe=ye((sxr,iXe)=>{\"use strict\";var PXt=Mr();iXe.exports=function(t,r,n){var i,a,o,s=[],l=[],u=t[0].length,c=t.length;function f(ae,_e){var Me=0,ke,ge=0;return ae>0&&(ke=t[_e][ae-1])!==void 0&&(ge++,Me+=ke),ae<u-1&&(ke=t[_e][ae+1])!==void 0&&(ge++,Me+=ke),_e>0&&(ke=t[_e-1][ae])!==void 0&&(ge++,Me+=ke),_e<c-1&&(ke=t[_e+1][ae])!==void 0&&(ge++,Me+=ke),Me/Math.max(1,ge)}var h=0;for(i=0;i<u;i++)for(a=0;a<c;a++)t[a][i]===void 0&&(s.push(i),l.push(a),t[a][i]=f(i,a)),h=Math.max(h,Math.abs(t[a][i]));if(!s.length)return t;var d,v,x,b,p,E,k,A,L,_,C,M=1e-5,g=0,P=100,T=0,F=s.length;do{for(g=0,o=0;o<F;o++){i=s[o],a=l[o];var q=0,V=0,H,X,G,N,W,re;i===0?(W=Math.min(u-1,2),G=r[W],N=r[1],H=t[a][W],X=t[a][1],V+=X+(X-H)*(r[0]-N)/(N-G),q++):i===u-1&&(W=Math.max(0,u-3),G=r[W],N=r[u-2],H=t[a][W],X=t[a][u-2],V+=X+(X-H)*(r[u-1]-N)/(N-G),q++),(i===0||i===u-1)&&a>0&&a<c-1&&(d=n[a+1]-n[a],v=n[a]-n[a-1],V+=(v*t[a+1][i]+d*t[a-1][i])/(v+d),q++),a===0?(re=Math.min(c-1,2),G=n[re],N=n[1],H=t[re][i],X=t[1][i],V+=X+(X-H)*(n[0]-N)/(N-G),q++):a===c-1&&(re=Math.max(0,c-3),G=n[re],N=n[c-2],H=t[re][i],X=t[c-2][i],V+=X+(X-H)*(n[c-1]-N)/(N-G),q++),(a===0||a===c-1)&&i>0&&i<u-1&&(d=r[i+1]-r[i],v=r[i]-r[i-1],V+=(v*t[a][i+1]+d*t[a][i-1])/(v+d),q++),q?V/=q:(x=r[i+1]-r[i],b=r[i]-r[i-1],p=n[a+1]-n[a],E=n[a]-n[a-1],k=x*b*(x+b),A=p*E*(p+E),V=(k*(E*t[a+1][i]+p*t[a-1][i])+A*(b*t[a][i+1]+x*t[a][i-1]))/(A*(b+x)+k*(E+p))),L=V-t[a][i],_=L/h,g+=_*_,C=q?0:.85,t[a][i]+=L*(1+C)}g=Math.sqrt(g)}while(T++<P&&g>M);return PXt.log(\"Smoother converged to\",g,\"after\",T,\"iterations\"),t}});var oXe=ye((lxr,aXe)=>{\"use strict\";aXe.exports={RELATIVE_CULL_TOLERANCE:1e-6}});var uXe=ye((uxr,lXe)=>{\"use strict\";var sXe=.5;lXe.exports=function(t,r,n,i){var a=t[0]-r[0],o=t[1]-r[1],s=n[0]-r[0],l=n[1]-r[1],u=Math.pow(a*a+o*o,sXe/2),c=Math.pow(s*s+l*l,sXe/2),f=(c*c*a-u*u*s)*i,h=(c*c*o-u*u*l)*i,d=c*(u+c)*3,v=u*(u+c)*3;return[[r[0]+(d&&f/d),r[1]+(d&&h/d)],[r[0]-(v&&f/v),r[1]-(v&&h/v)]]}});var fXe=ye((cxr,cXe)=>{\"use strict\";var v$=uXe(),G7=Mr().ensureArray;function FA(e,t,r){var n=-.5*r[0]+1.5*t[0],i=-.5*r[1]+1.5*t[1];return[(2*n+e[0])/3,(2*i+e[1])/3]}cXe.exports=function(t,r,n,i,a,o){var s,l,u,c,f,h,d,v,x,b,p=n[0].length,E=n.length,k=a?3*p-2:p,A=o?3*E-2:E;for(t=G7(t,A),r=G7(r,A),u=0;u<A;u++)t[u]=G7(t[u],k),r[u]=G7(r[u],k);for(l=0,c=0;l<E;l++,c+=o?3:1)for(f=t[c],h=r[c],d=n[l],v=i[l],s=0,u=0;s<p;s++,u+=a?3:1)f[u]=d[s],h[u]=v[s];if(a)for(l=0,c=0;l<E;l++,c+=o?3:1){for(s=1,u=3;s<p-1;s++,u+=3)x=v$([n[l][s-1],i[l][s-1]],[n[l][s],i[l][s]],[n[l][s+1],i[l][s+1]],a),t[c][u-1]=x[0][0],r[c][u-1]=x[0][1],t[c][u+1]=x[1][0],r[c][u+1]=x[1][1];b=FA([t[c][0],r[c][0]],[t[c][2],r[c][2]],[t[c][3],r[c][3]]),t[c][1]=b[0],r[c][1]=b[1],b=FA([t[c][k-1],r[c][k-1]],[t[c][k-3],r[c][k-3]],[t[c][k-4],r[c][k-4]]),t[c][k-2]=b[0],r[c][k-2]=b[1]}if(o)for(u=0;u<k;u++){for(c=3;c<A-3;c+=3)x=v$([t[c-3][u],r[c-3][u]],[t[c][u],r[c][u]],[t[c+3][u],r[c+3][u]],o),t[c-1][u]=x[0][0],r[c-1][u]=x[0][1],t[c+1][u]=x[1][0],r[c+1][u]=x[1][1];b=FA([t[0][u],r[0][u]],[t[2][u],r[2][u]],[t[3][u],r[3][u]]),t[1][u]=b[0],r[1][u]=b[1],b=FA([t[A-1][u],r[A-1][u]],[t[A-3][u],r[A-3][u]],[t[A-4][u],r[A-4][u]]),t[A-2][u]=b[0],r[A-2][u]=b[1]}if(a&&o)for(c=1;c<A;c+=(c+1)%3===0?2:1){for(u=3;u<k-3;u+=3)x=v$([t[c][u-3],r[c][u-3]],[t[c][u],r[c][u]],[t[c][u+3],r[c][u+3]],a),t[c][u-1]=.5*(t[c][u-1]+x[0][0]),r[c][u-1]=.5*(r[c][u-1]+x[0][1]),t[c][u+1]=.5*(t[c][u+1]+x[1][0]),r[c][u+1]=.5*(r[c][u+1]+x[1][1]);b=FA([t[c][0],r[c][0]],[t[c][2],r[c][2]],[t[c][3],r[c][3]]),t[c][1]=.5*(t[c][1]+b[0]),r[c][1]=.5*(r[c][1]+b[1]),b=FA([t[c][k-1],r[c][k-1]],[t[c][k-3],r[c][k-3]],[t[c][k-4],r[c][k-4]]),t[c][k-2]=.5*(t[c][k-2]+b[0]),r[c][k-2]=.5*(r[c][k-2]+b[1])}return[t,r]}});var dXe=ye((fxr,hXe)=>{\"use strict\";hXe.exports=function(e,t,r,n,i){var a=t-2,o=r-2;return n&&i?function(s,l,u){s||(s=[]);var c,f,h,d,v,x,b=Math.max(0,Math.min(Math.floor(l),a)),p=Math.max(0,Math.min(Math.floor(u),o)),E=Math.max(0,Math.min(1,l-b)),k=Math.max(0,Math.min(1,u-p));b*=3,p*=3;var A=E*E,L=A*E,_=1-E,C=_*_,M=C*_,g=k*k,P=g*k,T=1-k,F=T*T,q=F*T;for(x=0;x<e.length;x++)v=e[x],c=M*v[p][b]+3*(C*E*v[p][b+1]+_*A*v[p][b+2])+L*v[p][b+3],f=M*v[p+1][b]+3*(C*E*v[p+1][b+1]+_*A*v[p+1][b+2])+L*v[p+1][b+3],h=M*v[p+2][b]+3*(C*E*v[p+2][b+1]+_*A*v[p+2][b+2])+L*v[p+2][b+3],d=M*v[p+3][b]+3*(C*E*v[p+3][b+1]+_*A*v[p+3][b+2])+L*v[p+3][b+3],s[x]=q*c+3*(F*k*f+T*g*h)+P*d;return s}:n?function(s,l,u){s||(s=[]);var c=Math.max(0,Math.min(Math.floor(l),a)),f=Math.max(0,Math.min(Math.floor(u),o)),h=Math.max(0,Math.min(1,l-c)),d=Math.max(0,Math.min(1,u-f)),v,x,b,p,E,k;c*=3;var A=h*h,L=A*h,_=1-h,C=_*_,M=C*_,g=1-d;for(E=0;E<e.length;E++)k=e[E],v=g*k[f][c]+d*k[f+1][c],x=g*k[f][c+1]+d*k[f+1][c+1],b=g*k[f][c+2]+d*k[f+1][c+1],p=g*k[f][c+3]+d*k[f+1][c+1],s[E]=M*v+3*(C*h*x+_*A*b)+L*p;return s}:i?function(s,l,u){s||(s=[]);var c=Math.max(0,Math.min(Math.floor(l),a)),f=Math.max(0,Math.min(Math.floor(u),o)),h=Math.max(0,Math.min(1,l-c)),d=Math.max(0,Math.min(1,u-f)),v,x,b,p,E,k;f*=3;var A=d*d,L=A*d,_=1-d,C=_*_,M=C*_,g=1-h;for(E=0;E<e.length;E++)k=e[E],v=g*k[f][c]+h*k[f][c+1],x=g*k[f+1][c]+h*k[f+1][c+1],b=g*k[f+2][c]+h*k[f+2][c+1],p=g*k[f+3][c]+h*k[f+3][c+1],s[E]=M*v+3*(C*d*x+_*A*b)+L*p;return s}:function(s,l,u){s||(s=[]);var c=Math.max(0,Math.min(Math.floor(l),a)),f=Math.max(0,Math.min(Math.floor(u),o)),h=Math.max(0,Math.min(1,l-c)),d=Math.max(0,Math.min(1,u-f)),v,x,b,p,E=1-d,k=1-h;for(b=0;b<e.length;b++)p=e[b],v=k*p[f][c]+h*p[f][c+1],x=k*p[f+1][c]+h*p[f+1][c+1],s[b]=E*v+d*x;return s}}});var pXe=ye((hxr,vXe)=>{\"use strict\";vXe.exports=function(e,t,r){return t&&r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;i*=3,a*=3;var v=o*o,x=1-o,b=x*x,p=x*o*2,E=-3*b,k=3*(b-p),A=3*(p-v),L=3*v,_=s*s,C=_*s,M=1-s,g=M*M,P=g*M;for(d=0;d<e.length;d++)h=e[d],l=E*h[a][i]+k*h[a][i+1]+A*h[a][i+2]+L*h[a][i+3],u=E*h[a+1][i]+k*h[a+1][i+1]+A*h[a+1][i+2]+L*h[a+1][i+3],c=E*h[a+2][i]+k*h[a+2][i+1]+A*h[a+2][i+2]+L*h[a+2][i+3],f=E*h[a+3][i]+k*h[a+3][i+1]+A*h[a+3][i+2]+L*h[a+3][i+3],n[d]=P*l+3*(g*s*u+M*_*c)+C*f;return n}:t?function(n,i,a,o,s){n||(n=[]);var l,u,c,f;i*=3;var h=o*o,d=1-o,v=d*d,x=d*o*2,b=-3*v,p=3*(v-x),E=3*(x-h),k=3*h,A=1-s;for(c=0;c<e.length;c++)f=e[c],l=b*f[a][i]+p*f[a][i+1]+E*f[a][i+2]+k*f[a][i+3],u=b*f[a+1][i]+p*f[a+1][i+1]+E*f[a+1][i+2]+k*f[a+1][i+3],n[c]=A*l+s*u;return n}:r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;a*=3;var v=s*s,x=v*s,b=1-s,p=b*b,E=p*b;for(h=0;h<e.length;h++)d=e[h],l=d[a][i+1]-d[a][i],u=d[a+1][i+1]-d[a+1][i],c=d[a+2][i+1]-d[a+2][i],f=d[a+3][i+1]-d[a+3][i],n[h]=E*l+3*(p*s*u+b*v*c)+x*f;return n}:function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h=1-s;for(c=0;c<e.length;c++)f=e[c],l=f[a][i+1]-f[a][i],u=f[a+1][i+1]-f[a+1][i],n[c]=h*l+s*u;return n}}});var mXe=ye((dxr,gXe)=>{\"use strict\";gXe.exports=function(e,t,r){return t&&r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;i*=3,a*=3;var v=o*o,x=v*o,b=1-o,p=b*b,E=p*b,k=s*s,A=1-s,L=A*A,_=A*s*2,C=-3*L,M=3*(L-_),g=3*(_-k),P=3*k;for(d=0;d<e.length;d++)h=e[d],l=C*h[a][i]+M*h[a+1][i]+g*h[a+2][i]+P*h[a+3][i],u=C*h[a][i+1]+M*h[a+1][i+1]+g*h[a+2][i+1]+P*h[a+3][i+1],c=C*h[a][i+2]+M*h[a+1][i+2]+g*h[a+2][i+2]+P*h[a+3][i+2],f=C*h[a][i+3]+M*h[a+1][i+3]+g*h[a+2][i+3]+P*h[a+3][i+3],n[d]=E*l+3*(p*o*u+b*v*c)+x*f;return n}:t?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;i*=3;var v=s*s,x=v*s,b=1-s,p=b*b,E=p*b;for(h=0;h<e.length;h++)d=e[h],l=d[a+1][i]-d[a][i],u=d[a+1][i+1]-d[a][i+1],c=d[a+1][i+2]-d[a][i+2],f=d[a+1][i+3]-d[a][i+3],n[h]=E*l+3*(p*s*u+b*v*c)+x*f;return n}:r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f;a*=3;var h=1-o,d=s*s,v=1-s,x=v*v,b=v*s*2,p=-3*x,E=3*(x-b),k=3*(b-d),A=3*d;for(c=0;c<e.length;c++)f=e[c],l=p*f[a][i]+E*f[a+1][i]+k*f[a+2][i]+A*f[a+3][i],u=p*f[a][i+1]+E*f[a+1][i+1]+k*f[a+2][i+1]+A*f[a+3][i+1],n[c]=h*l+o*u;return n}:function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h=1-o;for(c=0;c<e.length;c++)f=e[c],l=f[a+1][i]-f[a][i],u=f[a+1][i+1]-f[a][i+1],n[c]=h*l+o*u;return n}}});var bXe=ye((vxr,xXe)=>{\"use strict\";var yXe=oXe(),_Xe=k6().findBin,IXt=fXe(),RXt=dXe(),DXt=pXe(),zXt=mXe();xXe.exports=function(t){var r=t._a,n=t._b,i=r.length,a=n.length,o=t.aaxis,s=t.baxis,l=r[0],u=r[i-1],c=n[0],f=n[a-1],h=r[r.length-1]-r[0],d=n[n.length-1]-n[0],v=h*yXe.RELATIVE_CULL_TOLERANCE,x=d*yXe.RELATIVE_CULL_TOLERANCE;l-=v,u+=v,c-=x,f+=x,t.isVisible=function(b,p){return b>l&&b<u&&p>c&&p<f},t.isOccluded=function(b,p){return b<l||b>u||p<c||p>f},t.setScale=function(){var b=t._x,p=t._y,E=IXt(t._xctrl,t._yctrl,b,p,o.smoothing,s.smoothing);t._xctrl=E[0],t._yctrl=E[1],t.evalxy=RXt([t._xctrl,t._yctrl],i,a,o.smoothing,s.smoothing),t.dxydi=DXt([t._xctrl,t._yctrl],o.smoothing,s.smoothing),t.dxydj=zXt([t._xctrl,t._yctrl],o.smoothing,s.smoothing)},t.i2a=function(b){var p=Math.max(0,Math.floor(b[0]),i-2),E=b[0]-p;return(1-E)*r[p]+E*r[p+1]},t.j2b=function(b){var p=Math.max(0,Math.floor(b[1]),i-2),E=b[1]-p;return(1-E)*n[p]+E*n[p+1]},t.ij2ab=function(b){return[t.i2a(b[0]),t.j2b(b[1])]},t.a2i=function(b){var p=Math.max(0,Math.min(_Xe(b,r),i-2)),E=r[p],k=r[p+1];return Math.max(0,Math.min(i-1,p+(b-E)/(k-E)))},t.b2j=function(b){var p=Math.max(0,Math.min(_Xe(b,n),a-2)),E=n[p],k=n[p+1];return Math.max(0,Math.min(a-1,p+(b-E)/(k-E)))},t.ab2ij=function(b){return[t.a2i(b[0]),t.b2j(b[1])]},t.i2c=function(b,p){return t.evalxy([],b,p)},t.ab2xy=function(b,p,E){if(!E&&(b<r[0]||b>r[i-1]|p<n[0]||p>n[a-1]))return[!1,!1];var k=t.a2i(b),A=t.b2j(p),L=t.evalxy([],k,A);if(E){var _=0,C=0,M=[],g,P,T,F;b<r[0]?(g=0,P=0,_=(b-r[0])/(r[1]-r[0])):b>r[i-1]?(g=i-2,P=1,_=(b-r[i-1])/(r[i-1]-r[i-2])):(g=Math.max(0,Math.min(i-2,Math.floor(k))),P=k-g),p<n[0]?(T=0,F=0,C=(p-n[0])/(n[1]-n[0])):p>n[a-1]?(T=a-2,F=1,C=(p-n[a-1])/(n[a-1]-n[a-2])):(T=Math.max(0,Math.min(a-2,Math.floor(A))),F=A-T),_&&(t.dxydi(M,g,T,P,F),L[0]+=M[0]*_,L[1]+=M[1]*_),C&&(t.dxydj(M,g,T,P,F),L[0]+=M[0]*C,L[1]+=M[1]*C)}return L},t.c2p=function(b,p,E){return[p.c2p(b[0]),E.c2p(b[1])]},t.p2x=function(b,p,E){return[p.p2c(b[0]),E.p2c(b[1])]},t.dadi=function(b){var p=Math.max(0,Math.min(r.length-2,b));return r[p+1]-r[p]},t.dbdj=function(b){var p=Math.max(0,Math.min(n.length-2,b));return n[p+1]-n[p]},t.dxyda=function(b,p,E,k){var A=t.dxydi(null,b,p,E,k),L=t.dadi(b,E);return[A[0]/L,A[1]/L]},t.dxydb=function(b,p,E,k){var A=t.dxydj(null,b,p,E,k),L=t.dbdj(p,k);return[A[0]/L,A[1]/L]},t.dxyda_rough=function(b,p,E){var k=h*(E||.1),A=t.ab2xy(b+k,p,!0),L=t.ab2xy(b-k,p,!0);return[(A[0]-L[0])*.5/k,(A[1]-L[1])*.5/k]},t.dxydb_rough=function(b,p,E){var k=d*(E||.1),A=t.ab2xy(b,p+k,!0),L=t.ab2xy(b,p-k,!0);return[(A[0]-L[0])*.5/k,(A[1]-L[1])*.5/k]},t.dpdx=function(b){return b._m},t.dpdy=function(b){return b._m}}});var CXe=ye((pxr,kXe)=>{\"use strict\";var j7=Qa(),wXe=Mr().isArray1D,FXt=GZe(),TXe=XZe(),AXe=KZe(),SXe=eXe(),qXt=rXe(),MXe=QI(),EXe=nXe(),OXt=JI(),BXt=bXe();kXe.exports=function(t,r){var n=j7.getFromId(t,r.xaxis),i=j7.getFromId(t,r.yaxis),a=r.aaxis,o=r.baxis,s=r.x,l=r.y,u=[];s&&wXe(s)&&u.push(\"x\"),l&&wXe(l)&&u.push(\"y\"),u.length&&OXt(r,a,o,\"a\",\"b\",u);var c=r._a=r._a||r.a,f=r._b=r._b||r.b;s=r._x||r.x,l=r._y||r.y;var h={};if(r._cheater){var d=a.cheatertype===\"index\"?c.length:c,v=o.cheatertype===\"index\"?f.length:f;s=FXt(d,v,r.cheaterslope)}r._x=s=MXe(s),r._y=l=MXe(l),EXe(s,c,f),EXe(l,c,f),BXt(r),r.setScale();var x=TXe(s),b=TXe(l),p=.5*(x[1]-x[0]),E=.5*(x[1]+x[0]),k=.5*(b[1]-b[0]),A=.5*(b[1]+b[0]),L=1.3;return x=[E-p*L,E+p*L],b=[A-k*L,A+k*L],r._extremes[n._id]=j7.findExtremes(n,x,{padded:!0}),r._extremes[i._id]=j7.findExtremes(i,b,{padded:!0}),AXe(r,\"a\",\"b\"),AXe(r,\"b\",\"a\"),SXe(r,a),SXe(r,o),h.clipsegments=qXt(r._xctrl,r._yctrl,a,o),h.x=s,h.y=l,h.a=c,h.b=f,[h]}});var PXe=ye((gxr,LXe)=>{\"use strict\";LXe.exports={attributes:O7(),supplyDefaults:LZe(),plot:VZe(),calc:CXe(),animatable:!0,isContainer:!0,moduleType:\"trace\",name:\"carpet\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"carpet\",\"carpetAxis\",\"notLegendIsolatable\",\"noMultiCategory\",\"noHover\",\"noSortingByValue\"],meta:{}}});var RXe=ye((mxr,IXe)=>{\"use strict\";IXe.exports=PXe()});var p$=ye((yxr,zXe)=>{\"use strict\";var NXt=Eg(),u0=Uc(),UXt=vl(),VXt=Wo().hovertemplateAttrs,HXt=Wo().texttemplateAttrs,DXe=Jl(),Cx=no().extendFlat,sg=u0.marker,qA=u0.line,GXt=sg.line;zXe.exports={carpet:{valType:\"string\",editType:\"calc\"},a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},mode:Cx({},u0.mode,{dflt:\"markers\"}),text:Cx({},u0.text,{}),texttemplate:HXt({editType:\"plot\"},{keys:[\"a\",\"b\",\"text\"]}),hovertext:Cx({},u0.hovertext,{}),line:{color:qA.color,width:qA.width,dash:qA.dash,backoff:qA.backoff,shape:Cx({},qA.shape,{values:[\"linear\",\"spline\"]}),smoothing:qA.smoothing,editType:\"calc\"},connectgaps:u0.connectgaps,fill:Cx({},u0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:NXt(),marker:Cx({symbol:sg.symbol,opacity:sg.opacity,maxdisplayed:sg.maxdisplayed,angle:sg.angle,angleref:sg.angleref,standoff:sg.standoff,size:sg.size,sizeref:sg.sizeref,sizemin:sg.sizemin,sizemode:sg.sizemode,line:Cx({width:GXt.width,editType:\"calc\"},DXe(\"marker.line\")),gradient:sg.gradient,editType:\"calc\"},DXe(\"marker\")),textfont:u0.textfont,textposition:u0.textposition,selected:u0.selected,unselected:u0.unselected,hoverinfo:Cx({},UXt.hoverinfo,{flags:[\"a\",\"b\",\"text\",\"name\"]}),hoveron:u0.hoveron,hovertemplate:VXt(),zorder:u0.zorder}});var BXe=ye((_xr,OXe)=>{\"use strict\";var FXe=Mr(),jXt=Sm(),OA=lu(),WXt=$p(),ZXt=R0(),qXe=J3(),XXt=D0(),YXt=Ig(),KXt=p$();OXe.exports=function(t,r,n,i){function a(h,d){return FXe.coerce(t,r,KXt,h,d)}a(\"carpet\"),r.xaxis=\"x\",r.yaxis=\"y\";var o=a(\"a\"),s=a(\"b\"),l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a(\"text\"),a(\"texttemplate\"),a(\"hovertext\");var u=l<jXt.PTS_LINESONLY?\"lines+markers\":\"lines\";a(\"mode\",u),OA.hasMarkers(r)&&WXt(t,r,n,i,a,{gradient:!0}),OA.hasLines(r)&&(ZXt(t,r,n,i,a,{backoff:!0}),qXe(t,r,a),a(\"connectgaps\")),OA.hasText(r)&&XXt(t,r,i,a);var c=[];(OA.hasMarkers(r)||OA.hasText(r))&&(a(\"marker.maxdisplayed\"),c.push(\"points\")),a(\"fill\"),r.fill!==\"none\"&&(YXt(t,r,n,a),OA.hasLines(r)||qXe(t,r,a)),(r.fill===\"tonext\"||r.fill===\"toself\")&&c.push(\"fills\");var f=a(\"hoveron\",c.join(\"+\")||\"points\");f!==\"fills\"&&a(\"hovertemplate\"),a(\"zorder\"),FXe.coerceSelectionMarkerOpacity(r,a)}});var UXe=ye((xxr,NXe)=>{\"use strict\";NXe.exports=function(t,r){var n={},i=r._carpet,a=i.ab2ij([t.a,t.b]),o=Math.floor(a[0]),s=a[0]-o,l=Math.floor(a[1]),u=a[1]-l,c=i.evalxy([],o,l,s,u);return n.yLabel=c[1].toFixed(3),n}});var W7=ye((bxr,VXe)=>{\"use strict\";VXe.exports=function(e,t){for(var r=e._fullData.length,n,i=0;i<r;i++){var a=e._fullData[i];if(a.index!==t.index&&a.type===\"carpet\"&&(n||(n=a),a.carpet===t.carpet))return a}return n}});var jXe=ye((wxr,GXe)=>{\"use strict\";var HXe=uo(),JXt=z0(),$Xt=km(),QXt=F0(),eYt=q0().calcMarkerSize,tYt=W7();GXe.exports=function(t,r){var n=r._carpetTrace=tYt(t,r);if(!(!n||!n.visible||n.visible===\"legendonly\")){var i;r.xaxis=n.xaxis,r.yaxis=n.yaxis;var a=r._length,o=new Array(a),s,l,u=!1;for(i=0;i<a;i++)if(s=r.a[i],l=r.b[i],HXe(s)&&HXe(l)){var c=n.ab2xy(+s,+l,!0),f=n.isVisible(+s,+l);f||(u=!0),o[i]={x:c[0],y:c[1],a:s,b:l,vis:f}}else o[i]={x:!1,y:!1};return r._needsCull=u,o[0].carpet=n,o[0].trace=r,eYt(r,a),JXt(t,r),$Xt(o,r),QXt(o,r),o}}});var XXe=ye((Txr,ZXe)=>{\"use strict\";var rYt=iT(),WXe=Qa(),iYt=ao();ZXe.exports=function(t,r,n,i){var a,o,s,l=n[0][0].carpet,u=WXe.getFromId(t,l.xaxis||\"x\"),c=WXe.getFromId(t,l.yaxis||\"y\"),f={xaxis:u,yaxis:c,plot:r.plot};for(a=0;a<n.length;a++)o=n[a][0].trace,o._xA=u,o._yA=c;for(rYt(t,f,n,i),a=0;a<n.length;a++)o=n[a][0].trace,s=i.selectAll(\"g.trace\"+o.uid+\" .js-line\"),iYt.setClipUrl(s,n[a][0].carpet._clipPathId,t)}});var KXe=ye((Axr,YXe)=>{\"use strict\";var nYt=sT(),aYt=Mr().fillText;YXe.exports=function(t,r,n,i){var a=nYt(t,r,n,i);if(!a||a[0].index===!1)return;var o=a[0];if(o.index===void 0){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,c=l-u;return o.x0=Math.max(Math.min(o.x0,c),u),o.x1=Math.max(Math.min(o.x1,c),u),a}var f=o.cd[o.index];o.a=f.a,o.b=f.b,o.xLabelVal=void 0,o.yLabelVal=void 0;var h=o.trace,d=h._carpet,v=h._module.formatLabels(f,h);o.yLabel=v.yLabel,delete o.text;var x=[];function b(k,A){var L;k.labelprefix&&k.labelprefix.length>0?L=k.labelprefix.replace(/ = $/,\"\"):L=k._hovertitle,x.push(L+\": \"+A.toFixed(3)+k.labelsuffix)}if(!h.hovertemplate){var p=f.hi||h.hoverinfo,E=p.split(\"+\");E.indexOf(\"all\")!==-1&&(E=[\"a\",\"b\",\"text\"]),E.indexOf(\"a\")!==-1&&b(d.aaxis,f.a),E.indexOf(\"b\")!==-1&&b(d.baxis,f.b),x.push(\"y: \"+o.yLabel),E.indexOf(\"text\")!==-1&&aYt(f,h,x),o.extraText=x.join(\"<br>\")}return a}});var $Xe=ye((Sxr,JXe)=>{\"use strict\";JXe.exports=function(t,r,n,i,a){var o=i[a];return t.a=o.a,t.b=o.b,t.y=o.y,t}});var eYe=ye((Mxr,QXe)=>{\"use strict\";QXe.exports={attributes:p$(),supplyDefaults:BXe(),colorbar:Kd(),formatLabels:UXe(),calc:jXe(),plot:XXe(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:KXe(),selectPoints:lT(),eventData:$Xe(),moduleType:\"trace\",name:\"scattercarpet\",basePlotModule:Jf(),categories:[\"svg\",\"carpet\",\"symbols\",\"showLegend\",\"carpetDependent\",\"zoomScale\"],meta:{}}});var rYe=ye((Exr,tYe)=>{\"use strict\";tYe.exports=eYe()});var g$=ye((kxr,iYe)=>{\"use strict\";var lg=ET(),g1=T4(),oYt=Jl(),sYt=no().extendFlat,ty=g1.contours;iYe.exports=sYt({carpet:{valType:\"string\",editType:\"calc\"},z:lg.z,a:lg.x,a0:lg.x0,da:lg.dx,b:lg.y,b0:lg.y0,db:lg.dy,text:lg.text,hovertext:lg.hovertext,transpose:lg.transpose,atype:lg.xtype,btype:lg.ytype,fillcolor:g1.fillcolor,autocontour:g1.autocontour,ncontours:g1.ncontours,contours:{type:ty.type,start:ty.start,end:ty.end,size:ty.size,coloring:{valType:\"enumerated\",values:[\"fill\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:ty.showlines,showlabels:ty.showlabels,labelfont:ty.labelfont,labelformat:ty.labelformat,operation:ty.operation,value:ty.value,editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:g1.line.color,width:g1.line.width,dash:g1.line.dash,smoothing:g1.line.smoothing,editType:\"plot\"},zorder:g1.zorder},oYt(\"\",{cLetter:\"z\",autoColorDflt:!1}))});var m$=ye((Cxr,oYe)=>{\"use strict\";var nYe=Mr(),lYt=XI(),aYe=g$(),uYt=yH(),cYt=y8(),fYt=_8();oYe.exports=function(t,r,n,i){function a(u,c){return nYe.coerce(t,r,aYe,u,c)}function o(u){return nYe.coerce2(t,r,aYe,u)}if(a(\"carpet\"),t.a&&t.b){var s=lYt(t,r,a,i,\"a\",\"b\");if(!s){r.visible=!1;return}a(\"text\");var l=a(\"contours.type\")===\"constraint\";l?uYt(t,r,a,i,n,{hasHover:!1}):(cYt(t,r,a,o),fYt(t,r,a,i,{hasHover:!1}))}else r._defaultColor=n,r._length=null;a(\"zorder\")}});var cYe=ye((Lxr,uYe)=>{\"use strict\";var hYt=zv(),sYe=Mr(),dYt=JI(),vYt=QI(),pYt=e8(),gYt=t8(),lYe=VV(),mYt=m$(),yYt=W7(),_Yt=oH();uYe.exports=function(t,r){var n=r._carpetTrace=yYt(t,r);if(!(!n||!n.visible||n.visible===\"legendonly\")){if(!r.a||!r.b){var i=t.data[n.index],a=t.data[r.index];a.a||(a.a=i.a),a.b||(a.b=i.b),mYt(a,r,r._defaultColor,t._fullLayout)}var o=xYt(t,r);return _Yt(r,r._z),o}};function xYt(e,t){var r=t._carpetTrace,n=r.aaxis,i=r.baxis,a,o,s,l,u,c,f;n._minDtick=0,i._minDtick=0,sYe.isArray1D(t.z)&&dYt(t,n,i,\"a\",\"b\",[\"z\"]),a=t._a=t._a||t.a,l=t._b=t._b||t.b,a=a?n.makeCalcdata(t,\"_a\"):[],l=l?i.makeCalcdata(t,\"_b\"):[],o=t.a0||0,s=t.da||1,u=t.b0||0,c=t.db||1,f=t._z=vYt(t._z||t.z,t.transpose),t._emptypoints=gYt(f),pYt(f,t._emptypoints);var h=sYe.maxRowLength(f),d=t.xtype===\"scaled\"?\"\":a,v=lYe(t,d,o,s,h,n),x=t.ytype===\"scaled\"?\"\":l,b=lYe(t,x,u,c,f.length,i),p={a:v,b,z:f};return t.contours.type===\"levels\"&&t.contours.coloring!==\"none\"&&hYt(e,t,{vals:f,containerStr:\"\",cLetter:\"z\"}),[p]}});var hYe=ye((Pxr,fYe)=>{\"use strict\";var bYt=Mr().isArrayOrTypedArray;fYe.exports=function(e,t,r,n){var i,a,o,s,l,u,c,f,h,d,v,x,b,p=bYt(r)?\"a\":\"b\",E=p===\"a\"?e.aaxis:e.baxis,k=E.smoothing,A=p===\"a\"?e.a2i:e.b2j,L=p===\"a\"?r:n,_=p===\"a\"?n:r,C=p===\"a\"?t.a.length:t.b.length,M=p===\"a\"?t.b.length:t.a.length,g=Math.floor(p===\"a\"?e.b2j(_):e.a2i(_)),P=p===\"a\"?function(_e){return e.evalxy([],_e,g)}:function(_e){return e.evalxy([],g,_e)};k&&(o=Math.max(0,Math.min(M-2,g)),s=g-o,a=p===\"a\"?function(_e,Me){return e.dxydi([],_e,o,Me,s)}:function(_e,Me){return e.dxydj([],o,_e,s,Me)});var T=A(L[0]),F=A(L[1]),q=T<F?1:-1,V=(F-T)*1e-8,H=q>0?Math.floor:Math.ceil,X=q>0?Math.ceil:Math.floor,G=q>0?Math.min:Math.max,N=q>0?Math.max:Math.min,W=H(T+V),re=X(F-V);c=P(T);var ae=[[c]];for(i=W;i*q<re*q;i+=q)l=[],v=N(T,i),x=G(F,i+q),b=x-v,u=Math.max(0,Math.min(C-2,Math.floor(.5*(v+x)))),f=P(x),k&&(h=a(u,v-u),d=a(u,x-u),l.push([c[0]+h[0]/3*b,c[1]+h[1]/3*b]),l.push([f[0]-d[0]/3*b,f[1]-d[1]/3*b])),l.push(f),ae.push(l),c=f;return ae}});var _Ye=ye((Ixr,yYe)=>{\"use strict\";var X7=xa(),Y7=f$(),mYe=h$(),eC=ao(),m1=Mr(),wYt=lH(),TYt=uH(),hw=w8(),Z7=S4(),AYt=dH(),SYt=hH(),MYt=vH(),EYt=W7(),dYe=hYe();yYe.exports=function(t,r,n,i){var a=r.xaxis,o=r.yaxis;m1.makeTraceGroups(i,n,\"contour\").each(function(s){var l=X7.select(this),u=s[0],c=u.trace,f=c._carpetTrace=EYt(t,c),h=t.calcdata[f.index][0];if(!f.visible||f.visible===\"legendonly\")return;var d=u.a,v=u.b,x=c.contours,b=SYt(x,r,u),p=x.type===\"constraint\",E=x._operation,k=p?E===\"=\"?\"lines\":\"fill\":x.coloring;function A(H){var X=f.ab2xy(H[0],H[1],!0);return[a.c2p(X[0]),o.c2p(X[1])]}var L=[[d[0],v[v.length-1]],[d[d.length-1],v[v.length-1]],[d[d.length-1],v[0]],[d[0],v[0]]];wYt(b);var _=(d[d.length-1]-d[0])*1e-8,C=(v[v.length-1]-v[0])*1e-8;TYt(b,_,C);var M=b;x.type===\"constraint\"&&(M=AYt(b,E)),kYt(b,A);var g,P,T,F,q=[];for(F=h.clipsegments.length-1;F>=0;F--)g=h.clipsegments[F],P=Y7([],g.x,a.c2p),T=Y7([],g.y,o.c2p),P.reverse(),T.reverse(),q.push(mYe(P,T,g.bicubic));var V=\"M\"+q.join(\"L\")+\"Z\";PYt(l,h.clipsegments,a,o,p,k),IYt(c,l,a,o,M,L,A,f,h,k,V),CYt(l,b,t,u,x,r,f),eC.setClipUrl(l,f._clipPathId,t)})};function kYt(e,t){var r,n,i,a,o,s,l,u,c;for(r=0;r<e.length;r++){for(a=e[r],o=a.pedgepaths=[],s=a.ppaths=[],n=0;n<a.edgepaths.length;n++){for(c=a.edgepaths[n],l=[],i=0;i<c.length;i++)l[i]=t(c[i]);o.push(l)}for(n=0;n<a.paths.length;n++){for(c=a.paths[n],u=[],i=0;i<c.length;i++)u[i]=t(c[i]);s.push(u)}}}function CYt(e,t,r,n,i,a,o){var s=r._context.staticPlot,l=m1.ensureSingle(e,\"g\",\"contourlines\"),u=i.showlines!==!1,c=i.showlabels,f=u&&c,h=hw.createLines(l,u||c,t,s),d=hw.createLineClip(l,f,r,n.trace.uid),v=e.selectAll(\"g.contourlabels\").data(c?[0]:[]);if(v.exit().remove(),v.enter().append(\"g\").classed(\"contourlabels\",!0),c){var x=a.xaxis,b=a.yaxis,p=x._length,E=b._length,k=[[[0,0],[p,0],[p,E],[0,E]]],A=[];m1.clearLocationCache();var L=hw.labelFormatter(r,n),_=eC.tester.append(\"text\").attr(\"data-notex\",1).call(eC.font,i.labelfont),C={left:0,right:p,center:p/2,top:0,bottom:E,middle:E/2},M=Math.sqrt(p*p+E*E),g=Z7.LABELDISTANCE*M/Math.max(1,t.length/Z7.LABELINCREASE);h.each(function(P){var T=hw.calcTextOpts(P.level,L,_,r);X7.select(this).selectAll(\"path\").each(function(F){var q=this,V=m1.getVisibleSegment(q,C,T.height/2);if(V&&(LYt(q,F,P,V,o,T.height),!(V.len<(T.width+T.height)*Z7.LABELMIN)))for(var H=Math.min(Math.ceil(V.len/g),Z7.LABELMAX),X=0;X<H;X++){var G=hw.findBestTextLocation(q,V,T,A,C);if(!G)break;hw.addLabelData(G,T,A,k)}})}),_.remove(),hw.drawLabels(v,A,r,d,f?k:null)}c&&!u&&h.remove()}function LYt(e,t,r,n,i,a){for(var o,s=0;s<r.pedgepaths.length;s++)t===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(!o)return;var l=i.a[0],u=i.a[i.a.length-1],c=i.b[0],f=i.b[i.b.length-1];function h(p,E){var k=0,A,L=.1;return(Math.abs(p[0]-l)<L||Math.abs(p[0]-u)<L)&&(A=pYe(i.dxydb_rough(p[0],p[1],L)),k=Math.max(k,a*gYe(E,A)/2)),(Math.abs(p[1]-c)<L||Math.abs(p[1]-f)<L)&&(A=pYe(i.dxyda_rough(p[0],p[1],L)),k=Math.max(k,a*gYe(E,A)/2)),k}var d=vYe(e,0,1),v=vYe(e,n.total,n.total-1),x=h(o[0],d),b=n.total-h(o[o.length-1],v);n.min<x&&(n.min=x),n.max>b&&(n.max=b),n.len=n.max-n.min}function vYe(e,t,r){var n=e.getPointAtLength(t),i=e.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function pYe(e){var t=Math.sqrt(e[0]*e[0]+e[1]*e[1]);return[e[0]/t,e[1]/t]}function gYe(e,t){var r=Math.abs(e[0]*t[0]+e[1]*t[1]),n=Math.sqrt(1-r*r);return n/r}function PYt(e,t,r,n,i,a){var o,s,l,u,c=m1.ensureSingle(e,\"g\",\"contourbg\"),f=c.selectAll(\"path\").data(a===\"fill\"&&!i?[0]:[]);f.enter().append(\"path\"),f.exit().remove();var h=[];for(u=0;u<t.length;u++)o=t[u],s=Y7([],o.x,r.c2p),l=Y7([],o.y,n.c2p),h.push(mYe(s,l,o.bicubic));f.attr(\"d\",\"M\"+h.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}function IYt(e,t,r,n,i,a,o,s,l,u,c){var f=u===\"fill\";f&&MYt(i,e.contours);var h=m1.ensureSingle(t,\"g\",\"contourfill\"),d=h.selectAll(\"path\").data(f?i:[]);d.enter().append(\"path\"),d.exit().remove(),d.each(function(v){var x=(v.prefixBoundary?c:\"\")+RYt(e,v,a,o,s,l,r,n);x?X7.select(this).attr(\"d\",x).style(\"stroke\",\"none\"):X7.select(this).remove()})}function RYt(e,t,r,n,i,a,o,s){var l,u=\"\",c=t.edgepaths.map(function(T,F){return F}),f=!0,h,d,v,x,b,p,E=Math.abs(r[0][0]-r[2][0])*1e-4,k=Math.abs(r[0][1]-r[2][1])*1e-4;function A(T){return Math.abs(T[1]-r[0][1])<k}function L(T){return Math.abs(T[1]-r[2][1])<k}function _(T){return Math.abs(T[0]-r[0][0])<E}function C(T){return Math.abs(T[0]-r[2][0])<E}function M(T,F){var q,V,H,X,G=\"\";for(A(T)&&!C(T)||L(T)&&!_(T)?(X=i.aaxis,H=dYe(i,a,[T[0],F[0]],.5*(T[1]+F[1]))):(X=i.baxis,H=dYe(i,a,.5*(T[0]+F[0]),[T[1],F[1]])),q=1;q<H.length;q++)for(G+=X.smoothing?\"C\":\"L\",V=0;V<H[q].length;V++){var N=H[q][V];G+=[o.c2p(N[0]),s.c2p(N[1])]+\" \"}return G}for(l=0,h=null;c.length;){var g=t.edgepaths[l][0];for(h&&(u+=M(h,g)),p=eC.smoothopen(t.edgepaths[l].map(n),t.smoothing),u+=f?p:p.replace(/^M/,\"L\"),c.splice(c.indexOf(l),1),h=t.edgepaths[l][t.edgepaths[l].length-1],x=-1,v=0;v<4;v++){if(!h){m1.log(\"Missing end?\",l,t);break}for(A(h)&&!C(h)?d=r[1]:_(h)?d=r[0]:L(h)?d=r[3]:C(h)&&(d=r[2]),b=0;b<t.edgepaths.length;b++){var P=t.edgepaths[b][0];Math.abs(h[0]-d[0])<E?Math.abs(h[0]-P[0])<E&&(P[1]-h[1])*(d[1]-P[1])>=0&&(d=P,x=b):Math.abs(h[1]-d[1])<k?Math.abs(h[1]-P[1])<k&&(P[0]-h[0])*(d[0]-P[0])>=0&&(d=P,x=b):m1.log(\"endpt to newendpt is not vert. or horz.\",h,d,P)}if(x>=0)break;u+=M(h,d),h=d}if(x===t.edgepaths.length){m1.log(\"unclosed perimeter path\");break}l=x,f=c.indexOf(l)===-1,f&&(l=c[0],u+=M(h,d)+\"Z\",h=null)}for(l=0;l<t.paths.length;l++)u+=eC.smoothclosed(t.paths[l].map(n),t.smoothing);return u}});var bYe=ye((Rxr,xYe)=>{\"use strict\";xYe.exports={attributes:g$(),supplyDefaults:m$(),colorbar:S8(),calc:cYe(),plot:_Ye(),style:A8(),moduleType:\"trace\",name:\"contourcarpet\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"carpet\",\"contour\",\"symbols\",\"showLegend\",\"hasLines\",\"carpetDependent\",\"noHover\",\"noSortingByValue\"],meta:{}}});var TYe=ye((Dxr,wYe)=>{\"use strict\";wYe.exports=bYe()});var J7=ye((zxr,kYe)=>{\"use strict\";var K7=Mr().extendFlat,tC=Uc(),AYe=Oc().axisHoverFormat,MYe=Ed().dash,DYt=i3(),EYe=HT(),zYt=EYe.INCREASING.COLOR,FYt=EYe.DECREASING.COLOR,y$=tC.line;function SYe(e){return{line:{color:K7({},y$.color,{dflt:e}),width:y$.width,dash:MYe,editType:\"style\"},editType:\"style\"}}kYe.exports={xperiod:tC.xperiod,xperiod0:tC.xperiod0,xperiodalignment:tC.xperiodalignment,xhoverformat:AYe(\"x\"),yhoverformat:AYe(\"y\"),x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},open:{valType:\"data_array\",editType:\"calc\"},high:{valType:\"data_array\",editType:\"calc\"},low:{valType:\"data_array\",editType:\"calc\"},close:{valType:\"data_array\",editType:\"calc\"},line:{width:K7({},y$.width,{}),dash:K7({},MYe,{}),editType:\"style\"},increasing:SYe(zYt),decreasing:SYe(FYt),text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},tickwidth:{valType:\"number\",min:0,max:.5,dflt:.3,editType:\"calc\"},hoverlabel:K7({},DYt.hoverlabel,{split:{valType:\"boolean\",dflt:!1,editType:\"style\"}}),zorder:tC.zorder}});var _$=ye((Fxr,CYe)=>{\"use strict\";var qYt=ba(),OYt=Mr();CYe.exports=function(t,r,n,i){var a=n(\"x\"),o=n(\"open\"),s=n(\"high\"),l=n(\"low\"),u=n(\"close\");n(\"hoverlabel.split\");var c=qYt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");if(c(t,r,[\"x\"],i),!!(o&&s&&l&&u)){var f=Math.min(o.length,s.length,l.length,u.length);return a&&(f=Math.min(f,OYt.minRowLength(a))),r._length=f,f}}});var IYe=ye((qxr,PYe)=>{\"use strict\";var BYt=Mr(),NYt=_$(),UYt=Pg(),VYt=J7();PYe.exports=function(t,r,n,i){function a(s,l){return BYt.coerce(t,r,VYt,s,l)}var o=NYt(t,r,a,i);if(!o){r.visible=!1;return}UYt(t,r,i,a,{x:!0}),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"line.width\"),a(\"line.dash\"),LYe(t,r,a,\"increasing\"),LYe(t,r,a,\"decreasing\"),a(\"text\"),a(\"hovertext\"),a(\"tickwidth\"),i._requestRangeslider[r.xaxis]=!0,a(\"zorder\")};function LYe(e,t,r,n){r(n+\".line.color\"),r(n+\".line.width\",t.line.width),r(n+\".line.dash\",t.line.dash)}});var x$=ye((Oxr,DYe)=>{\"use strict\";var BA=Mr(),$7=BA._,Q7=Qa(),HYt=Rg(),rC=es().BADNUM;function GYt(e,t){var r=Q7.getFromId(e,t.xaxis),n=Q7.getFromId(e,t.yaxis),i=WYt(e,r,t),a=t._minDiff;t._minDiff=null;var o=t._origX;t._origX=null;var s=t._xcalc;t._xcalc=null;var l=RYe(e,t,o,s,n,jYt);return t._extremes[r._id]=Q7.findExtremes(r,s,{vpad:a/2}),l.length?(BA.extendFlat(l[0].t,{wHover:a/2,tickLen:i}),l):[{t:{empty:!0}}]}function jYt(e,t,r,n){return{o:e,h:t,l:r,c:n}}function RYe(e,t,r,n,i,a){for(var o=i.makeCalcdata(t,\"open\"),s=i.makeCalcdata(t,\"high\"),l=i.makeCalcdata(t,\"low\"),u=i.makeCalcdata(t,\"close\"),c=BA.isArrayOrTypedArray(t.text),f=BA.isArrayOrTypedArray(t.hovertext),h=!0,d=null,v=!!t.xperiodalignment,x=[],b=0;b<n.length;b++){var p=n[b],E=o[b],k=s[b],A=l[b],L=u[b];if(p!==rC&&E!==rC&&k!==rC&&A!==rC&&L!==rC){L===E?d!==null&&L!==d&&(h=L>d):h=L>E,d=L;var _=a(E,k,A,L);_.pos=p,_.yc=(E+L)/2,_.i=b,_.dir=h?\"increasing\":\"decreasing\",_.x=_.pos,_.y=[A,k],v&&(_.orig_p=r[b]),c&&(_.tx=t.text[b]),f&&(_.htx=t.hovertext[b]),x.push(_)}else x.push({pos:p,empty:!0})}return t._extremes[i._id]=Q7.findExtremes(i,BA.concat(l,s),{padded:!0}),x.length&&(x[0].t={labels:{open:$7(e,\"open:\")+\" \",high:$7(e,\"high:\")+\" \",low:$7(e,\"low:\")+\" \",close:$7(e,\"close:\")+\" \"}}),x}function WYt(e,t,r){var n=r._minDiff;if(!n){var i=e._fullData,a=[];n=1/0;var o;for(o=0;o<i.length;o++){var s=i[o];if(s.type===\"ohlc\"&&s.visible===!0&&s.xaxis===t._id){a.push(s);var l=t.makeCalcdata(s,\"x\");s._origX=l;var u=HYt(r,t,\"x\",l).vals;s._xcalc=u;var c=BA.distinctVals(u).minDiff;c&&isFinite(c)&&(n=Math.min(n,c))}}for(n===1/0&&(n=1),o=0;o<a.length;o++)a[o]._minDiff=n}return n*r.tickwidth}DYe.exports={calc:GYt,calcCommon:RYe}});var qYe=ye((Bxr,FYe)=>{\"use strict\";var ZYt=xa(),zYe=Mr();FYe.exports=function(t,r,n,i){var a=r.yaxis,o=r.xaxis,s=!!o.rangebreaks;zYe.makeTraceGroups(i,n,\"trace ohlc\").each(function(l){var u=ZYt.select(this),c=l[0],f=c.t,h=c.trace;if(h.visible!==!0||f.empty){u.remove();return}var d=f.tickLen,v=u.selectAll(\"path\").data(zYe.identity);v.enter().append(\"path\"),v.exit().remove(),v.attr(\"d\",function(x){if(x.empty)return\"M0,0Z\";var b=o.c2p(x.pos-d,!0),p=o.c2p(x.pos+d,!0),E=s?(b+p)/2:o.c2p(x.pos,!0),k=a.c2p(x.o,!0),A=a.c2p(x.h,!0),L=a.c2p(x.l,!0),_=a.c2p(x.c,!0);return\"M\"+b+\",\"+k+\"H\"+E+\"M\"+E+\",\"+A+\"V\"+L+\"M\"+p+\",\"+_+\"H\"+E})})}});var BYe=ye((Nxr,OYe)=>{\"use strict\";var b$=xa(),XYt=ao(),YYt=va();OYe.exports=function(t,r,n){var i=n||b$.select(t).selectAll(\"g.ohlclayer\").selectAll(\"g.trace\");i.style(\"opacity\",function(a){return a[0].trace.opacity}),i.each(function(a){var o=a[0].trace;b$.select(this).selectAll(\"path\").each(function(s){if(!s.empty){var l=o[s.dir].line;b$.select(this).style(\"fill\",\"none\").call(YYt.stroke,l.color).call(XYt.dashLine,l.dash,l.width).style(\"opacity\",o.selectedpoints&&!s.selected?.3:1)}})})}});var T$=ye((Uxr,GYe)=>{\"use strict\";var w$=Qa(),KYt=Mr(),e9=Nc(),JYt=va(),$Yt=Mr().fillText,NYe=HT(),QYt={increasing:NYe.INCREASING.SYMBOL,decreasing:NYe.DECREASING.SYMBOL};function eKt(e,t,r,n){var i=e.cd,a=i[0].trace;return a.hoverlabel.split?VYe(e,t,r,n):HYe(e,t,r,n)}function UYe(e,t,r,n){var i=e.cd,a=e.xa,o=i[0].trace,s=i[0].t,l=o.type,u=l===\"ohlc\"?\"l\":\"min\",c=l===\"ohlc\"?\"h\":\"max\",f,h,d=s.bPos||0,v=function(P){return P.pos+d-t},x=s.bdPos||s.tickLen,b=s.wHover,p=Math.min(1,x/Math.abs(a.r2c(a.range[1])-a.r2c(a.range[0])));f=e.maxHoverDistance-p,h=e.maxSpikeDistance-p;function E(P){var T=v(P);return e9.inbox(T-b,T+b,f)}function k(P){var T=P[u],F=P[c];return T===F||e9.inbox(T-r,F-r,f)}function A(P){return(E(P)+k(P))/2}var L=e9.getDistanceFunction(n,E,k,A);if(e9.getClosest(i,L,e),e.index===!1)return null;var _=i[e.index];if(_.empty)return null;var C=_.dir,M=o[C],g=M.line.color;return JYt.opacity(g)&&M.line.width?e.color=g:e.color=M.fillcolor,e.x0=a.c2p(_.pos+d-x,!0),e.x1=a.c2p(_.pos+d+x,!0),e.xLabelVal=_.orig_p!==void 0?_.orig_p:_.pos,e.spikeDistance=A(_)*h/f,e.xSpike=a.c2p(_.pos,!0),e}function VYe(e,t,r,n){var i=e.cd,a=e.ya,o=i[0].trace,s=i[0].t,l=[],u=UYe(e,t,r,n);if(!u)return[];var c=u.index,f=i[c],h=f.hi||o.hoverinfo,d=h.split(\"+\"),v=h===\"all\",x=v||d.indexOf(\"y\")!==-1;if(!x)return[];for(var b=[\"high\",\"open\",\"close\",\"low\"],p={},E=0;E<b.length;E++){var k=b[E],A=o[k][u.index],L=a.c2p(A,!0),_;A in p?(_=p[A],_.yLabel+=\"<br>\"+s.labels[k]+w$.hoverLabelText(a,A,o.yhoverformat)):(_=KYt.extendFlat({},u),_.y0=_.y1=L,_.yLabelVal=A,_.yLabel=s.labels[k]+w$.hoverLabelText(a,A,o.yhoverformat),_.name=\"\",l.push(_),p[A]=_)}return l}function HYe(e,t,r,n){var i=e.cd,a=e.ya,o=i[0].trace,s=i[0].t,l=UYe(e,t,r,n);if(!l)return[];var u=l.index,c=i[u],f=l.index=c.i,h=c.dir;function d(A){return s.labels[A]+w$.hoverLabelText(a,o[A][f],o.yhoverformat)}var v=c.hi||o.hoverinfo,x=v.split(\"+\"),b=v===\"all\",p=b||x.indexOf(\"y\")!==-1,E=b||x.indexOf(\"text\")!==-1,k=p?[d(\"open\"),d(\"high\"),d(\"low\"),d(\"close\")+\" \"+QYt[h]]:[];return E&&$Yt(c,o,k),l.extraText=k.join(\"<br>\"),l.y0=l.y1=a.c2p(c.yc,!0),[l]}GYe.exports={hoverPoints:eKt,hoverSplit:VYe,hoverOnPoints:HYe}});var A$=ye((Vxr,jYe)=>{\"use strict\";jYe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l=n[0].t.bPos||0;if(r===!1)for(s=0;s<n.length;s++)n[s].selected=0;else for(s=0;s<n.length;s++){var u=n[s];r.contains([i.c2p(u.pos+l),a.c2p(u.yc)],null,u.i,t)?(o.push({pointNumber:u.i,x:i.c2d(u.pos),y:a.c2d(u.yc)}),u.selected=1):u.selected=0}return o}});var ZYe=ye((Hxr,WYe)=>{\"use strict\";WYe.exports={moduleType:\"trace\",name:\"ohlc\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"showLegend\"],meta:{},attributes:J7(),supplyDefaults:IYe(),calc:x$().calc,plot:qYe(),style:BYe(),hoverPoints:T$().hoverPoints,selectPoints:A$()}});var YYe=ye((Gxr,XYe)=>{\"use strict\";XYe.exports=ZYe()});var M$=ye((jxr,$Ye)=>{\"use strict\";var S$=Mr().extendFlat,KYe=Oc().axisHoverFormat,c0=J7(),NA=v4();function JYe(e){return{line:{color:S$({},NA.line.color,{dflt:e}),width:NA.line.width,editType:\"style\"},fillcolor:NA.fillcolor,editType:\"style\"}}$Ye.exports={xperiod:c0.xperiod,xperiod0:c0.xperiod0,xperiodalignment:c0.xperiodalignment,xhoverformat:KYe(\"x\"),yhoverformat:KYe(\"y\"),x:c0.x,open:c0.open,high:c0.high,low:c0.low,close:c0.close,line:{width:S$({},NA.line.width,{}),editType:\"style\"},increasing:JYe(c0.increasing.line.color.dflt),decreasing:JYe(c0.decreasing.line.color.dflt),text:c0.text,hovertext:c0.hovertext,whiskerwidth:S$({},NA.whiskerwidth,{dflt:0}),hoverlabel:c0.hoverlabel,zorder:NA.zorder}});var tKe=ye((Wxr,eKe)=>{\"use strict\";var tKt=Mr(),rKt=va(),iKt=_$(),nKt=Pg(),aKt=M$();eKe.exports=function(t,r,n,i){function a(s,l){return tKt.coerce(t,r,aKt,s,l)}var o=iKt(t,r,a,i);if(!o){r.visible=!1;return}nKt(t,r,i,a,{x:!0}),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"line.width\"),QYe(t,r,a,\"increasing\"),QYe(t,r,a,\"decreasing\"),a(\"text\"),a(\"hovertext\"),a(\"whiskerwidth\"),i._requestRangeslider[r.xaxis]=!0,a(\"zorder\")};function QYe(e,t,r,n){var i=r(n+\".line.color\");r(n+\".line.width\",t.line.width),r(n+\".fillcolor\",rKt.addOpacity(i,.5))}});var aKe=ye((Zxr,nKe)=>{\"use strict\";var rKe=Mr(),iKe=Qa(),oKt=Rg(),sKt=x$().calcCommon;nKe.exports=function(e,t){var r=e._fullLayout,n=iKe.getFromId(e,t.xaxis),i=iKe.getFromId(e,t.yaxis),a=n.makeCalcdata(t,\"x\"),o=oKt(t,n,\"x\",a).vals,s=sKt(e,t,a,o,i,lKt);return s.length?(rKe.extendFlat(s[0].t,{num:r._numBoxes,dPos:rKe.distinctVals(o).minDiff/2,posLetter:\"x\",valLetter:\"y\"}),r._numBoxes++,s):[{t:{empty:!0}}]};function lKt(e,t,r,n){return{min:r,q1:Math.min(e,n),med:n,q3:Math.max(e,n),max:t}}});var sKe=ye((Xxr,oKe)=>{\"use strict\";oKe.exports={moduleType:\"trace\",name:\"candlestick\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"showLegend\",\"candlestick\",\"boxLayout\"],meta:{},attributes:M$(),layoutAttributes:p4(),supplyLayoutDefaults:VI().supplyLayoutDefaults,crossTraceCalc:GI().crossTraceCalc,supplyDefaults:tKe(),calc:aKe(),plot:jI().plot,layerName:\"boxlayer\",style:WI().style,hoverPoints:T$().hoverPoints,selectPoints:A$()}});var uKe=ye((Yxr,lKe)=>{\"use strict\";lKe.exports=sKe()});var k$=ye((Kxr,cKe)=>{\"use strict\";var r9=Mr(),uKt=ym(),t9=r9.deg2rad,E$=r9.rad2deg;cKe.exports=function(t,r,n){switch(uKt(t,n),t._id){case\"x\":case\"radialaxis\":cKt(t,r);break;case\"angularaxis\":dKt(t,r);break}};function cKt(e,t){var r=t._subplot;e.setGeometry=function(){var n=e._rl[0],i=e._rl[1],a=r.innerRadius,o=(r.radius-a)/(i-n),s=a/o,l=n>i?function(u){return u<=0}:function(u){return u>=0};e.c2g=function(u){var c=e.c2l(u)-n;return(l(c)?c:0)+s},e.g2c=function(u){return e.l2c(u+n-s)},e.g2p=function(u){return u*o},e.c2p=function(u){return e.g2p(e.c2g(u))}}}function fKt(e,t){return t===\"degrees\"?t9(e):e}function hKt(e,t){return t===\"degrees\"?E$(e):e}function dKt(e,t){var r=e.type;if(r===\"linear\"){var n=e.d2c,i=e.c2d;e.d2c=function(a,o){return fKt(n(a),o)},e.c2d=function(a,o){return i(hKt(a,o))}}e.makeCalcdata=function(a,o){var s=a[o],l=a._length,u,c,f=function(b){return e.d2c(b,a.thetaunit)};if(s)for(u=new Array(l),c=0;c<l;c++)u[c]=f(s[c]);else{var h=o+\"0\",d=\"d\"+o,v=h in a?f(a[h]):0,x=a[d]?f(a[d]):(e.period||2*Math.PI)/l;for(u=new Array(l),c=0;c<l;c++)u[c]=v+c*x}return u},e.setGeometry=function(){var a=t.sector,o=a.map(t9),s={clockwise:-1,counterclockwise:1}[e.direction],l=t9(e.rotation),u=function(p){return s*p+l},c=function(p){return(p-l)/s},f,h,d,v;switch(r){case\"linear\":h=f=r9.identity,v=t9,d=E$,e.range=r9.isFullCircle(o)?[a[0],a[0]+360]:o.map(c).map(E$);break;case\"category\":var x=e._categories.length,b=e.period?Math.max(e.period,x):x;b===0&&(b=1),h=v=function(p){return p*2*Math.PI/b},f=d=function(p){return p*b/Math.PI/2},e.range=[0,b];break}e.c2g=function(p){return u(h(p))},e.g2c=function(p){return f(c(p))},e.t2g=function(p){return u(v(p))},e.g2t=function(p){return d(c(p))}}}});var i9=ye((Jxr,fKe)=>{\"use strict\";fKe.exports={attr:\"subplot\",name:\"polar\",axisNames:[\"angularaxis\",\"radialaxis\"],axisName2dataArray:{angularaxis:\"theta\",radialaxis:\"r\"},layerNames:[\"draglayer\",\"plotbg\",\"backplot\",\"angular-grid\",\"radial-grid\",\"frontplot\",\"angular-line\",\"radial-line\",\"angular-axis\",\"radial-axis\"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}});var a9=ye(($xr,gKe)=>{\"use strict\";var dw=Mr(),hKe=wM().tester,C$=dw.findIndexOfMin,vKe=dw.isAngleInsideSector,vKt=dw.angleDelta,dKe=dw.angleDist;function pKt(e,t,r,n,i){if(!vKe(t,n))return!1;var a,o;r[0]<r[1]?(a=r[0],o=r[1]):(a=r[1],o=r[0]);var s=hKe(UA(a,n[0],n[1],i)),l=hKe(UA(o,n[0],n[1],i)),u=[e*Math.cos(t),e*Math.sin(t)];return l.contains(u)&&!s.contains(u)}function pKe(e,t,r,n){var i,a,o=n[0],s=n[1],l=n9(Math.sin(t)-Math.sin(e)),u=n9(Math.cos(t)-Math.cos(e)),c=Math.tan(r),f=n9(1/c),h=l/u,d=s-h*o;return f?l&&u?(i=d/(c-h),a=c*i):u?(i=s*f,a=s):(i=o,a=o*c):l&&u?(i=0,a=d):u?(i=0,a=s):i=a=NaN,[i,a]}function gKt(e,t,r,n){var i=-t*r,a=t*t+1,o=2*(t*i-r),s=i*i+r*r-e*e,l=Math.sqrt(o*o-4*a*s),u=(-o+l)/(2*a),c=(-o-l)/(2*a);return[[u,t*u+i+n],[c,t*c+i+n]]}function mKt(e,t){var r=t.length,n=new Array(r+1),i;for(i=0;i<r;i++){var a=t[i];n[i]=[e*Math.cos(a),e*Math.sin(a)]}return n[i]=n[0].slice(),n}function yKt(e,t,r,n){var i=n.length,a=[],o,s;function l(p){return[e*Math.cos(p),e*Math.sin(p)]}function u(p,E,k){return pKe(p,E,k,l(p))}function c(p){return dw.mod(p,i)}function f(p){return vKe(p,[t,r])}var h=C$(n,function(p){return f(p)?dKe(p,t):1/0}),d=u(n[h],n[c(h-1)],t);for(a.push(d),o=h,s=0;s<i;o++,s++){var v=n[c(o)];if(!f(v))break;a.push(l(v))}var x=C$(n,function(p){return f(p)?dKe(p,r):1/0}),b=u(n[x],n[c(x+1)],r);return a.push(b),a.push([0,0]),a.push(a[0].slice()),a}function UA(e,t,r,n){return dw.isFullCircle([t,r])?mKt(e,n):yKt(e,t,r,n)}function _Kt(e,t,r,n){for(var i=1/0,a=1/0,o=UA(e,t,r,n),s=0;s<o.length;s++){var l=o[s];i=Math.min(i,l[0]),a=Math.min(a,-l[1])}return[i,a]}function xKt(e,t){var r=function(a){var o=vKt(a,e);return o>0?o:1/0},n=C$(t,r),i=dw.mod(n+1,t.length);return[t[n],t[i]]}function n9(e){return Math.abs(e)>1e-10?e:0}function L$(e,t,r){t=t||0,r=r||0;for(var n=e.length,i=new Array(n),a=0;a<n;a++){var o=e[a];i[a]=[t+o[0],r-o[1]]}return i}function bKt(e,t,r,n,i,a){var o=UA(e,t,r,n);return\"M\"+L$(o,i,a).join(\"L\")}function wKt(e,t,r,n,i,a,o){var s,l;e<t?(s=e,l=t):(s=t,l=e);var u=L$(UA(s,r,n,i),a,o),c=L$(UA(l,r,n,i),a,o);return\"M\"+c.reverse().join(\"L\")+\"M\"+u.join(\"L\")}gKe.exports={isPtInsidePolygon:pKt,findPolygonOffset:_Kt,findEnclosingVertexAngles:xKt,findIntersectionXY:pKe,findXYatLength:gKt,clampTiny:n9,pathPolygon:bKt,pathPolygonAnnulus:wKt}});var P$=ye((Qxr,_Ke)=>{\"use strict\";function mKe(e){return e<0?-1:e>0?1:0}function VA(e){var t=e[0],r=e[1];if(!isFinite(t)||!isFinite(r))return[1,0];var n=(t+1)*(t+1)+r*r;return[(t*t+r*r-1)/n,2*r/n]}function HA(e,t){var r=t[0],n=t[1];return[r*e.radius+e.cx,-n*e.radius+e.cy]}function yKe(e,t){return t*e.radius}function TKt(e,t,r,n){var i=HA(e,VA([r,t])),a=i[0],o=i[1],s=HA(e,VA([n,t])),l=s[0],u=s[1];if(t===0)return[\"M\"+a+\",\"+o,\"L\"+l+\",\"+u].join(\" \");var c=yKe(e,1/Math.abs(t));return[\"M\"+a+\",\"+o,\"A\"+c+\",\"+c+\" 0 0,\"+(t<0?1:0)+\" \"+l+\",\"+u].join(\" \")}function AKt(e,t,r,n){var i=yKe(e,1/(t+1)),a=HA(e,VA([t,r])),o=a[0],s=a[1],l=HA(e,VA([t,n])),u=l[0],c=l[1];if(mKe(r)!==mKe(n)){var f=HA(e,VA([t,0])),h=f[0],d=f[1];return[\"M\"+o+\",\"+s,\"A\"+i+\",\"+i+\" 0 0,\"+(0<r?0:1)+\" \"+h+\",\"+d,\"A\"+i+\",\"+i+\" 0 0,\"+(n<0?0:1)+u+\",\"+c].join(\" \")}return[\"M\"+o+\",\"+s,\"A\"+i+\",\"+i+\" 0 0,\"+(n<r?0:1)+\" \"+u+\",\"+c].join(\" \")}_Ke.exports={smith:VA,reactanceArc:TKt,resistanceArc:AKt,smithTransform:HA}});var D$=ye((ebr,kKe)=>{\"use strict\";var vw=xa(),SKt=id(),gw=ba(),cc=Mr(),ry=cc.strRotate,dd=cc.strTranslate,I$=va(),iC=ao(),MKt=Xu(),dp=Qa(),EKt=ym(),kKt=k$(),CKt=wg().doAutoRange,y1=DN(),l9=gv(),xKe=Nc(),LKt=Mb(),PKt=wf().prepSelect,IKt=wf().selectOnClick,R$=wf().clearOutline,bKe=Tg(),wKe=lM(),TKe=gM().redrawReglTraces,RKt=Nh().MID_SHIFT,Lx=i9(),_1=a9(),u9=P$(),o9=u9.smith,DKt=u9.reactanceArc,zKt=u9.resistanceArc,s9=u9.smithTransform,FKt=cc._,AKe=cc.mod,Px=cc.deg2rad,pw=cc.rad2deg;function SKe(e,t,r){this.isSmith=r||!1,this.id=t,this.gd=e,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var n=e._fullLayout,i=\"clip\"+n._uid+t;this.clipIds.forTraces=i+\"-for-traces\",this.clipPaths.forTraces=n._clips.append(\"clipPath\").attr(\"id\",this.clipIds.forTraces),this.clipPaths.forTraces.append(\"path\"),this.framework=n[\"_\"+(r?\"smith\":\"polar\")+\"layer\"].append(\"g\").attr(\"class\",t),this.getHole=function(a){return this.isSmith?0:a.hole},this.getSector=function(a){return this.isSmith?[0,360]:a.sector},this.getRadial=function(a){return this.isSmith?a.realaxis:a.radialaxis},this.getAngular=function(a){return this.isSmith?a.imaginaryaxis:a.angularaxis},r||(this.radialTickLayout=null,this.angularTickLayout=null)}var Fd=SKe.prototype;kKe.exports=function(t,r,n){return new SKe(t,r,n)};Fd.plot=function(e,t){for(var r=this,n=t[r.id],i=!1,a=0;a<e.length;a++){var o=e[a][0].trace;if(o.cliponaxis===!1){i=!0;break}}r._hasClipOnAxisFalse=i,r.updateLayers(t,n),r.updateLayout(t,n),MKt.generalUpdatePerTraceModule(r.gd,r,e,n),r.updateFx(t,n),r.isSmith&&(delete n.realaxis.range,delete n.imaginaryaxis.range)};Fd.updateLayers=function(e,t){var r=this,n=r.isSmith,i=r.layers,a=r.getRadial(t),o=r.getAngular(t),s=Lx.layerNames,l=s.indexOf(\"frontplot\"),u=s.slice(0,l),c=o.layer===\"below traces\",f=a.layer===\"below traces\";c&&u.push(\"angular-line\"),f&&u.push(\"radial-line\"),c&&u.push(\"angular-axis\"),f&&u.push(\"radial-axis\"),u.push(\"frontplot\"),c||u.push(\"angular-line\"),f||u.push(\"radial-line\"),c||u.push(\"angular-axis\"),f||u.push(\"radial-axis\");var h=(n?\"smith\":\"polar\")+\"sublayer\",d=r.framework.selectAll(\".\"+h).data(u,String);d.enter().append(\"g\").attr(\"class\",function(v){return h+\" \"+v}).each(function(v){var x=i[v]=vw.select(this);switch(v){case\"frontplot\":n||x.append(\"g\").classed(\"barlayer\",!0),x.append(\"g\").classed(\"scatterlayer\",!0);break;case\"backplot\":x.append(\"g\").classed(\"maplayer\",!0);break;case\"plotbg\":i.bg=x.append(\"path\");break;case\"radial-grid\":x.style(\"fill\",\"none\");break;case\"angular-grid\":x.style(\"fill\",\"none\");break;case\"radial-line\":x.append(\"line\").style(\"fill\",\"none\");break;case\"angular-line\":x.append(\"path\").style(\"fill\",\"none\");break}}),d.order()};Fd.updateLayout=function(e,t){var r=this,n=r.layers,i=e._size,a=r.getRadial(t),o=r.getAngular(t),s=t.domain.x,l=t.domain.y;r.xOffset=i.l+i.w*s[0],r.yOffset=i.t+i.h*(1-l[1]);var u=r.xLength=i.w*(s[1]-s[0]),c=r.yLength=i.h*(l[1]-l[0]),f=r.getSector(t);r.sectorInRad=f.map(Px);var h=r.sectorBBox=qKt(f),d=h[2]-h[0],v=h[3]-h[1],x=c/u,b=Math.abs(v/d),p,E,k,A,L;x>b?(p=u,E=u*b,L=(c-E)/i.h/2,k=[s[0],s[1]],A=[l[0]+L,l[1]-L]):(p=c/b,E=c,L=(u-p)/i.w/2,k=[s[0]+L,s[1]-L],A=[l[0],l[1]]),r.xLength2=p,r.yLength2=E,r.xDomain2=k,r.yDomain2=A;var _=r.xOffset2=i.l+i.w*k[0],C=r.yOffset2=i.t+i.h*(1-A[1]),M=r.radius=p/d,g=r.innerRadius=r.getHole(t)*M,P=r.cx=_-M*h[0],T=r.cy=C+M*h[3],F=r.cxx=P-_,q=r.cyy=T-C,V=a.side,H;V===\"counterclockwise\"?(H=V,V=\"top\"):V===\"clockwise\"&&(H=V,V=\"bottom\"),r.radialAxis=r.mockAxis(e,t,a,{_id:\"x\",side:V,_trueSide:H,domain:[g/i.w,M/i.w]}),r.angularAxis=r.mockAxis(e,t,o,{side:\"right\",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(e,t),r.updateAngularAxis(e,t),r.updateRadialAxis(e,t),r.updateRadialAxisTitle(e,t),r.xaxis=r.mockCartesianAxis(e,t,{_id:\"x\",domain:k}),r.yaxis=r.mockCartesianAxis(e,t,{_id:\"y\",domain:A});var X=r.pathSubplot();r.clipPaths.forTraces.select(\"path\").attr(\"d\",X).attr(\"transform\",dd(F,q)),n.frontplot.attr(\"transform\",dd(_,C)).call(iC.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr(\"d\",X).attr(\"transform\",dd(P,T)).call(I$.fill,t.bgcolor)};Fd.mockAxis=function(e,t,r,n){var i=cc.extendFlat({},r,n);return kKt(i,t,e),i};Fd.mockCartesianAxis=function(e,t,r){var n=this,i=n.isSmith,a=r._id,o=cc.extendFlat({type:\"linear\"},r);EKt(o,e);var s={x:[0,2],y:[1,3]};return o.setRange=function(){var l=n.sectorBBox,u=s[a],c=n.radialAxis._rl,f=(c[1]-c[0])/(1-n.getHole(t));o.range=[l[u[0]]*f,l[u[1]]*f]},o.isPtWithinRange=a===\"x\"&&!i?function(l){return n.isPtInside(l)}:function(){return!0},o.setRange(),o.setScale(),o};Fd.doAutoRange=function(e,t){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(t);CKt(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\")],i.minallowed!==void 0){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(i.maxallowed!==void 0){var l=i.r2l(i.maxallowed);i._rl[0]<i._rl[1]?i._rl[1]=Math.min(i._rl[1],l):i._rl[0]=Math.min(i._rl[0],l)}};Fd.updateRadialAxis=function(e,t){var r=this,n=r.gd,i=r.layers,a=r.radius,o=r.innerRadius,s=r.cx,l=r.cy,u=r.getRadial(t),c=AKe(r.getSector(t)[0],360),f=r.radialAxis,h=o<a,d=r.isSmith;d||(r.fillViewInitialKey(\"radialaxis.angle\",u.angle),r.fillViewInitialKey(\"radialaxis.range\",f.range.slice()),f.setGeometry()),f.tickangle===\"auto\"&&c>90&&c<=270&&(f.tickangle=180);var v=d?function(M){var g=s9(r,o9([M.x,0]));return dd(g[0]-s,g[1]-l)}:function(M){return dd(f.l2p(M.x)+o,0)},x=d?function(M){return zKt(r,M.x,-1/0,1/0)}:function(M){return r.pathArc(f.r2p(M.x)+o)},b=MKe(u);if(r.radialTickLayout!==b&&(i[\"radial-axis\"].selectAll(\".xtick\").remove(),r.radialTickLayout=b),h){f.setScale();var p=0,E=d?(f.tickvals||[]).filter(function(M){return M>=0}).map(function(M){return dp.tickText(f,M,!0,!1)}):dp.calcTicks(f),k=d?E:dp.clipEnds(f,E),A=dp.getTickSigns(f)[2];d&&((f.ticks===\"top\"&&f.side===\"bottom\"||f.ticks===\"bottom\"&&f.side===\"top\")&&(A=-A),f.ticks===\"top\"&&f.side===\"top\"&&(p=-f.ticklen),f.ticks===\"bottom\"&&f.side===\"bottom\"&&(p=f.ticklen)),dp.drawTicks(n,f,{vals:E,layer:i[\"radial-axis\"],path:dp.makeTickPath(f,0,A),transFn:v,crisp:!1}),dp.drawGrid(n,f,{vals:k,layer:i[\"radial-grid\"],path:x,transFn:cc.noop,crisp:!1}),dp.drawLabels(n,f,{vals:E,layer:i[\"radial-axis\"],transFn:v,labelFns:dp.makeLabelFns(f,p)})}var L=r.radialAxisAngle=r.vangles?pw(EKe(Px(u.angle),r.vangles)):u.angle,_=dd(s,l),C=_+ry(-L);nC(i[\"radial-axis\"],h&&(u.showticklabels||u.ticks),{transform:C}),nC(i[\"radial-grid\"],h&&u.showgrid,{transform:d?\"\":_}),nC(i[\"radial-line\"].select(\"line\"),h&&u.showline,{x1:d?-a:o,y1:0,x2:a,y2:0,transform:C}).attr(\"stroke-width\",u.linewidth).call(I$.stroke,u.linecolor)};Fd.updateRadialAxisTitle=function(e,t,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(t),u=n.id+\"title\",c=0;if(l.title){var f=iC.bBox(n.layers[\"radial-axis\"].node()).height,h=l.title.font.size,d=l.side;c=d===\"top\"?h:d===\"counterclockwise\"?-(f+h*.4):f+h*.8}var v=r!==void 0?r:n.radialAxisAngle,x=Px(v),b=Math.cos(x),p=Math.sin(x),E=o+a/2*b+c*p,k=s-a/2*p+c*b;n.layers[\"radial-axis-title\"]=LKt.draw(i,u,{propContainer:l,propName:n.id+\".radialaxis.title\",placeholder:FKt(i,\"Click to enter radial axis title\"),attributes:{x:E,y:k,\"text-anchor\":\"middle\"},transform:{rotate:-v}})}};Fd.updateAngularAxis=function(e,t){var r=this,n=r.gd,i=r.layers,a=r.radius,o=r.innerRadius,s=r.cx,l=r.cy,u=r.getAngular(t),c=r.angularAxis,f=r.isSmith;f||(r.fillViewInitialKey(\"angularaxis.rotation\",u.rotation),c.setGeometry(),c.setScale());var h=f?function(g){var P=s9(r,o9([0,g.x]));return Math.atan2(P[0]-s,P[1]-l)-Math.PI/2}:function(g){return c.t2g(g.x)};c.type===\"linear\"&&c.thetaunit===\"radians\"&&(c.tick0=pw(c.tick0),c.dtick=pw(c.dtick));var d=function(g){return dd(s+a*Math.cos(g),l-a*Math.sin(g))},v=f?function(g){var P=s9(r,o9([0,g.x]));return dd(P[0],P[1])}:function(g){return d(h(g))},x=f?function(g){var P=s9(r,o9([0,g.x])),T=Math.atan2(P[0]-s,P[1]-l)-Math.PI/2;return dd(P[0],P[1])+ry(-pw(T))}:function(g){var P=h(g);return d(P)+ry(-pw(P))},b=f?function(g){return DKt(r,g.x,0,1/0)}:function(g){var P=h(g),T=Math.cos(P),F=Math.sin(P);return\"M\"+[s+o*T,l-o*F]+\"L\"+[s+a*T,l-a*F]},p=dp.makeLabelFns(c,0),E=p.labelStandoff,k={};k.xFn=function(g){var P=h(g);return Math.cos(P)*E},k.yFn=function(g){var P=h(g),T=Math.sin(P)>0?.2:1;return-Math.sin(P)*(E+g.fontSize*T)+Math.abs(Math.cos(P))*(g.fontSize*RKt)},k.anchorFn=function(g){var P=h(g),T=Math.cos(P);return Math.abs(T)<.1?\"middle\":T>0?\"start\":\"end\"},k.heightFn=function(g,P,T){var F=h(g);return-.5*(1+Math.sin(F))*T};var A=MKe(u);r.angularTickLayout!==A&&(i[\"angular-axis\"].selectAll(\".\"+c._id+\"tick\").remove(),r.angularTickLayout=A);var L=f?[1/0].concat(c.tickvals||[]).map(function(g){return dp.tickText(c,g,!0,!1)}):dp.calcTicks(c);f&&(L[0].text=\"\\u221E\",L[0].fontSize*=1.75);var _;if(t.gridshape===\"linear\"?(_=L.map(h),cc.angleDelta(_[0],_[1])<0&&(_=_.slice().reverse())):_=null,r.vangles=_,c.type===\"category\"&&(L=L.filter(function(g){return cc.isAngleInsideSector(h(g),r.sectorInRad)})),c.visible){var C=c.ticks===\"inside\"?-1:1,M=(c.linewidth||1)/2;dp.drawTicks(n,c,{vals:L,layer:i[\"angular-axis\"],path:\"M\"+C*M+\",0h\"+C*c.ticklen,transFn:x,crisp:!1}),dp.drawGrid(n,c,{vals:L,layer:i[\"angular-grid\"],path:b,transFn:cc.noop,crisp:!1}),dp.drawLabels(n,c,{vals:L,layer:i[\"angular-axis\"],repositionOnUpdate:!0,transFn:v,labelFns:k})}nC(i[\"angular-line\"].select(\"path\"),u.showline,{d:r.pathSubplot(),transform:dd(s,l)}).attr(\"stroke-width\",u.linewidth).call(I$.stroke,u.linecolor)};Fd.updateFx=function(e,t){if(!this.gd._context.staticPlot){var r=!this.isSmith;r&&(this.updateAngularDrag(e),this.updateRadialDrag(e,t,0),this.updateRadialDrag(e,t,1)),this.updateHoverAndMainDrag(e)}};Fd.updateHoverAndMainDrag=function(e){var t=this,r=t.isSmith,n=t.gd,i=t.layers,a=e._zoomlayer,o=Lx.MINZOOM,s=Lx.OFFEDGE,l=t.radius,u=t.innerRadius,c=t.cx,f=t.cy,h=t.cxx,d=t.cyy,v=t.sectorInRad,x=t.vangles,b=t.radialAxis,p=_1.clampTiny,E=_1.findXYatLength,k=_1.findEnclosingVertexAngles,A=Lx.cornerHalfWidth,L=Lx.cornerLen/2,_,C,M=y1.makeDragger(i,\"path\",\"maindrag\",e.dragmode===!1?\"none\":\"crosshair\");vw.select(M).attr(\"d\",t.pathSubplot()).attr(\"transform\",dd(c,f)),M.onmousemove=function(ce){xKe.hover(n,ce,t.id),n._fullLayout._lasthover=M,n._fullLayout._hoversubplot=t.id},M.onmouseout=function(ce){n._dragging||l9.unhover(n,ce)};var g={element:M,gd:n,subplot:t.id,plotinfo:{id:t.id,xaxis:t.xaxis,yaxis:t.yaxis},xaxes:[t.xaxis],yaxes:[t.yaxis]},P,T,F,q,V,H,X,G,N;function W(ce,Ge){return Math.sqrt(ce*ce+Ge*Ge)}function re(ce,Ge){return W(ce-h,Ge-d)}function ae(ce,Ge){return Math.atan2(d-Ge,ce-h)}function _e(ce,Ge){return[ce*Math.cos(Ge),ce*Math.sin(-Ge)]}function Me(ce,Ge){if(ce===0)return t.pathSector(2*A);var nt=L/ce,ct=Ge-nt,qt=Ge+nt,rt=Math.max(0,Math.min(ce,l)),ot=rt-A,Rt=rt+A;return\"M\"+_e(ot,ct)+\"A\"+[ot,ot]+\" 0,0,0 \"+_e(ot,qt)+\"L\"+_e(Rt,qt)+\"A\"+[Rt,Rt]+\" 0,0,1 \"+_e(Rt,ct)+\"Z\"}function ke(ce,Ge,nt){if(ce===0)return t.pathSector(2*A);var ct=_e(ce,Ge),qt=_e(ce,nt),rt=p((ct[0]+qt[0])/2),ot=p((ct[1]+qt[1])/2),Rt,kt;if(rt&&ot){var Ct=ot/rt,Yt=-1/Ct,xr=E(A,Ct,rt,ot);Rt=E(L,Yt,xr[0][0],xr[0][1]),kt=E(L,Yt,xr[1][0],xr[1][1])}else{var er,Ke;ot?(er=L,Ke=A):(er=A,Ke=L),Rt=[[rt-er,ot-Ke],[rt+er,ot-Ke]],kt=[[rt-er,ot+Ke],[rt+er,ot+Ke]]}return\"M\"+Rt.join(\"L\")+\"L\"+kt.reverse().join(\"L\")+\"Z\"}function ge(){F=null,q=null,V=t.pathSubplot(),H=!1;var ce=n._fullLayout[t.id];X=SKt(ce.bgcolor).getLuminance(),G=y1.makeZoombox(a,X,c,f,V),G.attr(\"fill-rule\",\"evenodd\"),N=y1.makeCorners(a,c,f),R$(n)}function ie(ce,Ge){return Ge=Math.max(Math.min(Ge,l),u),ce<s?ce=0:l-ce<s?ce=l:Ge<s?Ge=0:l-Ge<s&&(Ge=l),Math.abs(Ge-ce)>o?(ce<Ge?(F=ce,q=Ge):(F=Ge,q=ce),!0):(F=null,q=null,!1)}function Te(ce,Ge){ce=ce||V,Ge=Ge||\"M0,0Z\",G.attr(\"d\",ce),N.attr(\"d\",Ge),y1.transitionZoombox(G,N,H,X),H=!0;var nt={};me(nt),n.emit(\"plotly_relayouting\",nt)}function Ee(ce,Ge){ce=ce*_,Ge=Ge*C;var nt=P+ce,ct=T+Ge,qt=re(P,T),rt=Math.min(re(nt,ct),l),ot=ae(P,T),Rt,kt;ie(qt,rt)&&(Rt=V+t.pathSector(q),F&&(Rt+=t.pathSector(F)),kt=Me(F,ot)+Me(q,ot)),Te(Rt,kt)}function Ae(ce,Ge,nt,ct){var qt=_1.findIntersectionXY(nt,ct,nt,[ce-h,d-Ge]);return W(qt[0],qt[1])}function ze(ce,Ge){var nt=P+ce,ct=T+Ge,qt=ae(P,T),rt=ae(nt,ct),ot=k(qt,x),Rt=k(rt,x),kt=Ae(P,T,ot[0],ot[1]),Ct=Math.min(Ae(nt,ct,Rt[0],Rt[1]),l),Yt,xr;ie(kt,Ct)&&(Yt=V+t.pathSector(q),F&&(Yt+=t.pathSector(F)),xr=[ke(F,ot[0],ot[1]),ke(q,ot[0],ot[1])].join(\" \")),Te(Yt,xr)}function Ce(){if(y1.removeZoombox(n),!(F===null||q===null)){var ce={};me(ce),y1.showDoubleClickNotifier(n),gw.call(\"_guiRelayout\",n,ce)}}function me(ce){var Ge=b._rl,nt=(Ge[1]-Ge[0])/(1-u/l)/l,ct=[Ge[0]+(F-u)*nt,Ge[0]+(q-u)*nt];ce[t.id+\".radialaxis.range\"]=ct}function Re(ce,Ge){var nt=n._fullLayout.clickmode;if(y1.removeZoombox(n),ce===2){var ct={};for(var qt in t.viewInitial)ct[t.id+\".\"+qt]=t.viewInitial[qt];n.emit(\"plotly_doubleclick\",null),gw.call(\"_guiRelayout\",n,ct)}nt.indexOf(\"select\")>-1&&ce===1&&IKt(Ge,n,[t.xaxis],[t.yaxis],t.id,g),nt.indexOf(\"event\")>-1&&xKe.click(n,Ge,t.id)}g.prepFn=function(ce,Ge,nt){var ct=n._fullLayout.dragmode,qt=M.getBoundingClientRect();n._fullLayout._calcInverseTransform(n);var rt=n._fullLayout._invTransform;_=n._fullLayout._invScaleX,C=n._fullLayout._invScaleY;var ot=cc.apply3DTransform(rt)(Ge-qt.left,nt-qt.top);if(P=ot[0],T=ot[1],x){var Rt=_1.findPolygonOffset(l,v[0],v[1],x);P+=h+Rt[0],T+=d+Rt[1]}switch(ct){case\"zoom\":g.clickFn=Re,r||(x?g.moveFn=ze:g.moveFn=Ee,g.doneFn=Ce,ge(ce,Ge,nt));break;case\"select\":case\"lasso\":PKt(ce,Ge,nt,g,ct);break}},l9.init(g)};Fd.updateRadialDrag=function(e,t,r){var n=this,i=n.gd,a=n.layers,o=n.radius,s=n.innerRadius,l=n.cx,u=n.cy,c=n.radialAxis,f=Lx.radialDragBoxSize,h=f/2;if(!c.visible)return;var d=Px(n.radialAxisAngle),v=c._rl,x=v[0],b=v[1],p=v[r],E=.75*(v[1]-v[0])/(1-n.getHole(t))/o,k,A,L;r?(k=l+(o+h)*Math.cos(d),A=u-(o+h)*Math.sin(d),L=\"radialdrag\"):(k=l+(s-h)*Math.cos(d),A=u-(s-h)*Math.sin(d),L=\"radialdrag-inner\");var _=y1.makeRectDragger(a,L,\"crosshair\",-h,-h,f,f),C={element:_,gd:i};e.dragmode===!1&&(C.dragmode=!1),nC(vw.select(_),c.visible&&s<o,{transform:dd(k,A)});var M,g,P;function T(X,G){if(M)M(X,G);else{var N=[X,-G],W=[Math.cos(d),Math.sin(d)],re=Math.abs(cc.dot(N,W)/Math.sqrt(cc.dot(N,N)));isNaN(re)||(M=re<.5?V:H)}var ae={};F(ae),i.emit(\"plotly_relayouting\",ae)}function F(X){g!==null?X[n.id+\".radialaxis.angle\"]=g:P!==null&&(X[n.id+\".radialaxis.range[\"+r+\"]\"]=P)}function q(){g!==null?gw.call(\"_guiRelayout\",i,n.id+\".radialaxis.angle\",g):P!==null&&gw.call(\"_guiRelayout\",i,n.id+\".radialaxis.range[\"+r+\"]\",P)}function V(X,G){if(r!==0){var N=k+X,W=A+G;g=Math.atan2(u-W,N-l),n.vangles&&(g=EKe(g,n.vangles)),g=pw(g);var re=dd(l,u)+ry(-g);a[\"radial-axis\"].attr(\"transform\",re),a[\"radial-line\"].select(\"line\").attr(\"transform\",re);var ae=n.gd._fullLayout,_e=ae[n.id];n.updateRadialAxisTitle(ae,_e,g)}}function H(X,G){var N=cc.dot([X,-G],[Math.cos(d),Math.sin(d)]);if(P=p-E*N,E>0!=(r?P>x:P<b)){P=null;return}var W=i._fullLayout,re=W[n.id];c.range[r]=P,c._rl[r]=P,n.updateRadialAxis(W,re),n.xaxis.setRange(),n.xaxis.setScale(),n.yaxis.setRange(),n.yaxis.setScale();var ae=!1;for(var _e in n.traceHash){var Me=n.traceHash[_e],ke=cc.filterVisible(Me),ge=Me[0][0].trace._module;ge.plot(i,n,ke,re),gw.traceIs(_e,\"gl\")&&ke.length&&(ae=!0)}ae&&(wKe(i),TKe(i))}C.prepFn=function(){M=null,g=null,P=null,C.moveFn=T,C.doneFn=q,R$(i)},C.clampFn=function(X,G){return Math.sqrt(X*X+G*G)<Lx.MINDRAG&&(X=0,G=0),[X,G]},l9.init(C)};Fd.updateAngularDrag=function(e){var t=this,r=t.gd,n=t.layers,i=t.radius,a=t.angularAxis,o=t.cx,s=t.cy,l=t.cxx,u=t.cyy,c=Lx.angularDragBoxSize,f=y1.makeDragger(n,\"path\",\"angulardrag\",e.dragmode===!1?\"none\":\"move\"),h={element:f,gd:r};e.dragmode===!1?h.dragmode=!1:vw.select(f).attr(\"d\",t.pathAnnulus(i,i+c)).attr(\"transform\",dd(o,s)).call(bKe,\"move\");function d(P,T){return Math.atan2(u+c-T,P-l-c)}var v=n.frontplot.select(\".scatterlayer\").selectAll(\".trace\"),x=v.selectAll(\".point\"),b=v.selectAll(\".textpoint\"),p,E,k,A,L,_;function C(P,T){var F=t.gd._fullLayout,q=F[t.id],V=p+P*e._invScaleX,H=E+T*e._invScaleY,X=d(V,H),G=pw(X-_);if(A=k+G,n.frontplot.attr(\"transform\",dd(t.xOffset2,t.yOffset2)+ry([-G,l,u])),t.vangles){L=t.radialAxisAngle+G;var N=dd(o,s)+ry(-G),W=dd(o,s)+ry(-L);n.bg.attr(\"transform\",N),n[\"radial-grid\"].attr(\"transform\",N),n[\"radial-axis\"].attr(\"transform\",W),n[\"radial-line\"].select(\"line\").attr(\"transform\",W),t.updateRadialAxisTitle(F,q,L)}else t.clipPaths.forTraces.select(\"path\").attr(\"transform\",dd(l,u)+ry(G));x.each(function(){var ie=vw.select(this),Te=iC.getTranslate(ie);ie.attr(\"transform\",dd(Te.x,Te.y)+ry([G]))}),b.each(function(){var ie=vw.select(this),Te=ie.select(\"text\"),Ee=iC.getTranslate(ie);ie.attr(\"transform\",ry([G,Te.attr(\"x\"),Te.attr(\"y\")])+dd(Ee.x,Ee.y))}),a.rotation=cc.modHalf(A,360),t.updateAngularAxis(F,q),t._hasClipOnAxisFalse&&!cc.isFullCircle(t.sectorInRad)&&v.call(iC.hideOutsideRangePoints,t);var re=!1;for(var ae in t.traceHash)if(gw.traceIs(ae,\"gl\")){var _e=t.traceHash[ae],Me=cc.filterVisible(_e),ke=_e[0][0].trace._module;ke.plot(r,t,Me,q),Me.length&&(re=!0)}re&&(wKe(r),TKe(r));var ge={};M(ge),r.emit(\"plotly_relayouting\",ge)}function M(P){P[t.id+\".angularaxis.rotation\"]=A,t.vangles&&(P[t.id+\".radialaxis.angle\"]=L)}function g(){b.select(\"text\").attr(\"transform\",null);var P={};M(P),gw.call(\"_guiRelayout\",r,P)}h.prepFn=function(P,T,F){var q=e[t.id];k=q.angularaxis.rotation;var V=f.getBoundingClientRect();p=T-V.left,E=F-V.top,r._fullLayout._calcInverseTransform(r);var H=cc.apply3DTransform(e._invTransform)(p,E);p=H[0],E=H[1],_=d(p,E),h.moveFn=C,h.doneFn=g,R$(r)},t.vangles&&!cc.isFullCircle(t.sectorInRad)&&(h.prepFn=cc.noop,bKe(vw.select(f),null)),l9.init(h)};Fd.isPtInside=function(e){if(this.isSmith)return!0;var t=this.sectorInRad,r=this.vangles,n=this.angularAxis.c2g(e.theta),i=this.radialAxis,a=i.c2l(e.r),o=i._rl,s=r?_1.isPtInsidePolygon:cc.isPtInsideSector;return s(a,n,o,t,r)};Fd.pathArc=function(e){var t=this.sectorInRad,r=this.vangles,n=r?_1.pathPolygon:cc.pathArc;return n(e,t[0],t[1],r)};Fd.pathSector=function(e){var t=this.sectorInRad,r=this.vangles,n=r?_1.pathPolygon:cc.pathSector;return n(e,t[0],t[1],r)};Fd.pathAnnulus=function(e,t){var r=this.sectorInRad,n=this.vangles,i=n?_1.pathPolygonAnnulus:cc.pathAnnulus;return i(e,t,r[0],r[1],n)};Fd.pathSubplot=function(){var e=this.innerRadius,t=this.radius;return e?this.pathAnnulus(e,t):this.pathSector(t)};Fd.fillViewInitialKey=function(e,t){e in this.viewInitial||(this.viewInitial[e]=t)};function MKe(e){var t=e.ticks+String(e.ticklen)+String(e.showticklabels);return\"side\"in e&&(t+=e.side),t}function qKt(e){var t=e[0],r=e[1],n=r-t,i=AKe(t,360),a=i+n,o=Math.cos(Px(i)),s=Math.sin(Px(i)),l=Math.cos(Px(a)),u=Math.sin(Px(a)),c,f,h,d;return i<=90&&a>=90||i>90&&a>=450?d=1:s<=0&&u<=0?d=0:d=Math.max(s,u),i<=180&&a>=180||i>180&&a>=540?c=-1:o>=0&&l>=0?c=0:c=Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?f=-1:s>=0&&u>=0?f=0:f=Math.min(s,u),a>=360?h=1:o<=0&&l<=0?h=0:h=Math.max(o,l),[c,f,h,d]}function EKe(e,t){var r=function(i){return cc.angleDist(e,i)},n=cc.findIndexOfMin(t,r);return t[n]}function nC(e,t,r){return t?(e.attr(\"display\",null),e.attr(r)):e&&e.attr(\"display\",\"none\"),e}});var z$=ye((tbr,DKe)=>{\"use strict\";var OKt=dh(),Yo=Cd(),BKt=Ju().attributes,f0=Mr().extendFlat,CKe=Bu().overrideAll,LKe=CKe({color:Yo.color,showline:f0({},Yo.showline,{dflt:!0}),linecolor:Yo.linecolor,linewidth:Yo.linewidth,showgrid:f0({},Yo.showgrid,{dflt:!0}),gridcolor:Yo.gridcolor,gridwidth:Yo.gridwidth,griddash:Yo.griddash},\"plot\",\"from-root\"),PKe=CKe({tickmode:Yo.minor.tickmode,nticks:Yo.nticks,tick0:Yo.tick0,dtick:Yo.dtick,tickvals:Yo.tickvals,ticktext:Yo.ticktext,ticks:Yo.ticks,ticklen:Yo.ticklen,tickwidth:Yo.tickwidth,tickcolor:Yo.tickcolor,ticklabelstep:Yo.ticklabelstep,showticklabels:Yo.showticklabels,labelalias:Yo.labelalias,showtickprefix:Yo.showtickprefix,tickprefix:Yo.tickprefix,showticksuffix:Yo.showticksuffix,ticksuffix:Yo.ticksuffix,showexponent:Yo.showexponent,exponentformat:Yo.exponentformat,minexponent:Yo.minexponent,separatethousands:Yo.separatethousands,tickfont:Yo.tickfont,tickangle:Yo.tickangle,tickformat:Yo.tickformat,tickformatstops:Yo.tickformatstops,layer:Yo.layer},\"plot\",\"from-root\"),IKe={visible:f0({},Yo.visible,{dflt:!0}),type:f0({},Yo.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autotypenumbers:Yo.autotypenumbers,autorangeoptions:{minallowed:Yo.autorangeoptions.minallowed,maxallowed:Yo.autorangeoptions.maxallowed,clipmin:Yo.autorangeoptions.clipmin,clipmax:Yo.autorangeoptions.clipmax,include:Yo.autorangeoptions.include,editType:\"plot\"},autorange:f0({},Yo.autorange,{editType:\"plot\"}),rangemode:{valType:\"enumerated\",values:[\"tozero\",\"nonnegative\",\"normal\"],dflt:\"tozero\",editType:\"calc\"},minallowed:f0({},Yo.minallowed,{editType:\"plot\"}),maxallowed:f0({},Yo.maxallowed,{editType:\"plot\"}),range:f0({},Yo.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],editType:\"plot\"}),categoryorder:Yo.categoryorder,categoryarray:Yo.categoryarray,angle:{valType:\"angle\",editType:\"plot\"},autotickangles:Yo.autotickangles,side:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"clockwise\",editType:\"plot\"},title:{text:f0({},Yo.title.text,{editType:\"plot\",dflt:\"\"}),font:f0({},Yo.title.font,{editType:\"plot\"}),editType:\"plot\"},hoverformat:Yo.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"};f0(IKe,LKe,PKe);var RKe={visible:f0({},Yo.visible,{dflt:!0}),type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"category\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},autotypenumbers:Yo.autotypenumbers,categoryorder:Yo.categoryorder,categoryarray:Yo.categoryarray,thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\"],dflt:\"degrees\",editType:\"calc\"},period:{valType:\"number\",editType:\"calc\",min:0},direction:{valType:\"enumerated\",values:[\"counterclockwise\",\"clockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"angle\",editType:\"calc\"},hoverformat:Yo.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"};f0(RKe,LKe,PKe);DKe.exports={domain:BKt({name:\"polar\",editType:\"plot\"}),sector:{valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],dflt:[0,360],editType:\"plot\"},hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot\"},bgcolor:{valType:\"color\",editType:\"plot\",dflt:OKt.background},radialaxis:IKe,angularaxis:RKe,gridshape:{valType:\"enumerated\",values:[\"circular\",\"linear\"],dflt:\"circular\",editType:\"plot\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"}});var OKe=ye((rbr,qKe)=>{\"use strict\";var c9=Mr(),NKt=va(),UKt=Vs(),VKt=C_(),HKt=kd().getSubplotData,GKt=xb(),jKt=T3(),WKt=t_(),ZKt=r_(),XKt=eI(),YKt=YM(),KKt=hB(),JKt=L3(),FKe=z$(),$Kt=k$(),f9=i9(),zKe=f9.axisNames;function QKt(e,t,r,n){var i=r(\"bgcolor\");n.bgColor=NKt.combine(i,n.paper_bgcolor);var a=r(\"sector\");r(\"hole\");var o=HKt(n.fullData,f9.name,n.id),s=n.layoutOut,l;function u(G,N){return r(l+\".\"+G,N)}for(var c=0;c<zKe.length;c++){l=zKe[c],c9.isPlainObject(e[l])||(e[l]={});var f=e[l],h=UKt.newContainer(t,l);h._id=h._name=l,h._attr=n.id+\".\"+l,h._traceIndices=o.map(function(G){return G.index});var d=f9.axisName2dataArray[l],v=eJt(f,h,u,o,d,n);XKt(f,h,u,{axData:o,dataAttr:d});var x=u(\"visible\");switch($Kt(h,t,s),u(\"uirevision\",t.uirevision),h._m=1,l){case\"radialaxis\":u(\"minallowed\"),u(\"maxallowed\");var b=u(\"range\"),p=h.getAutorangeDflt(b),E=u(\"autorange\",p),k;b&&(b[0]===null&&b[1]===null||(b[0]===null||b[1]===null)&&(E===\"reversed\"||E===!0)||b[0]!==null&&(E===\"min\"||E===\"max reversed\")||b[1]!==null&&(E===\"max\"||E===\"min reversed\"))&&(b=void 0,delete h.range,h.autorange=!0,k=!0),k||(p=h.getAutorangeDflt(b),E=u(\"autorange\",p)),f.autorange=E,E&&(KKt(u,E,b),(v===\"linear\"||v===\"-\")&&u(\"rangemode\"),h.isReversed()&&(h._m=-1)),h.cleanRange(\"range\",{dfltRange:[0,1]});break;case\"angularaxis\":if(v===\"date\"){c9.log(\"Polar plots do not support date angular axes yet.\");for(var A=0;A<o.length;A++)o[A].visible=!1;v=f.type=h.type=\"linear\"}u(v===\"linear\"?\"thetaunit\":\"period\");var L=u(\"direction\");u(\"rotation\",{counterclockwise:0,clockwise:90}[L]);break}if(ZKt(f,h,u,h.type,{tickSuffixDflt:h.thetaunit===\"degrees\"?\"\\xB0\":void 0}),x){var _,C,M,g,P,T,F,q,V,H,X=n.font||{};_=u(\"color\"),C=_===f.color?_:X.color,M=X.size,g=X.family,P=X.weight,T=X.style,F=X.variant,q=X.textcase,V=X.lineposition,H=X.shadow,GKt(f,h,u,h.type),WKt(f,h,u,h.type,{font:{weight:P,style:T,variant:F,textcase:q,lineposition:V,shadow:H,color:C,size:M,family:g},noAutotickangles:l===\"angularaxis\",noTicklabelshift:!0,noTicklabelstandoff:!0}),jKt(f,h,u,{outerTicks:!0}),YKt(f,h,u,{dfltColor:_,bgColor:n.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:FKe[l]}),u(\"layer\"),l===\"radialaxis\"&&(u(\"side\"),u(\"angle\",a[0]),u(\"title.text\"),c9.coerceFont(u,\"title.font\",{weight:P,style:T,variant:F,textcase:q,lineposition:V,shadow:H,color:C,size:c9.bigFont(M),family:g}))}v!==\"category\"&&u(\"hoverformat\"),h._input=f}t.angularaxis.type===\"category\"&&r(\"gridshape\")}function eJt(e,t,r,n,i,a){var o=r(\"autotypenumbers\",a.autotypenumbersDflt),s=r(\"type\");if(s===\"-\"){for(var l,u=0;u<n.length;u++)if(n[u].visible){l=n[u];break}l&&l[i]&&(t.type=JKt(l[i],\"gregorian\",{noMultiCategory:!0,autotypenumbers:o})),t.type===\"-\"?t.type=\"linear\":e.type=t.type}return t.type}qKe.exports=function(t,r,n){VKt(t,r,n,{type:f9.name,attributes:FKe,handleDefaults:QKt,font:r.font,autotypenumbersDflt:r.autotypenumbers,paper_bgcolor:r.paper_bgcolor,fullData:n,layoutOut:r})}});var h9=ye((ibr,HKe)=>{\"use strict\";var tJt=kd().getSubplotCalcData,rJt=Mr().counterRegex,iJt=D$(),NKe=i9(),UKe=NKe.attr,mw=NKe.name,BKe=rJt(mw),VKe={};VKe[UKe]={valType:\"subplotid\",dflt:mw,editType:\"calc\"};function nJt(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[mw],i=0;i<n.length;i++){var a=n[i],o=tJt(r,mw,a),s=t[a]._subplot;s||(s=iJt(e,a),t[a]._subplot=s),s.plot(o,t,e._promises)}}function aJt(e,t,r,n){for(var i=n._subplots[mw]||[],a=n._has&&n._has(\"gl\"),o=t._has&&t._has(\"gl\"),s=a&&!o,l=0;l<i.length;l++){var u=i[l],c=n[u]._subplot;if(!t[u]&&c){c.framework.remove(),c.layers[\"radial-axis-title\"].remove();for(var f in c.clipPaths)c.clipPaths[f].remove()}s&&c._scene&&(c._scene.destroy(),c._scene=null)}}HKe.exports={attr:UKe,name:mw,idRoot:mw,idRegex:BKe,attrRegex:BKe,attributes:VKe,layoutAttributes:z$(),supplyLayoutDefaults:OKe(),plot:nJt,clean:aJt,toSVG:Jf().toSVG}});var aC=ye((nbr,GKe)=>{\"use strict\";var oJt=Wo().hovertemplateAttrs,sJt=Wo().texttemplateAttrs,d9=no().extendFlat,lJt=Eg(),h0=Uc(),uJt=vl(),GA=h0.line;GKe.exports={mode:h0.mode,r:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},theta:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},r0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dr:{valType:\"number\",dflt:1,editType:\"calc\"},theta0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dtheta:{valType:\"number\",editType:\"calc\"},thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\",\"gradians\"],dflt:\"degrees\",editType:\"calc+clearAxisTypes\"},text:h0.text,texttemplate:sJt({editType:\"plot\"},{keys:[\"r\",\"theta\",\"text\"]}),hovertext:h0.hovertext,line:{color:GA.color,width:GA.width,dash:GA.dash,backoff:GA.backoff,shape:d9({},GA.shape,{values:[\"linear\",\"spline\"]}),smoothing:GA.smoothing,editType:\"calc\"},connectgaps:h0.connectgaps,marker:h0.marker,cliponaxis:d9({},h0.cliponaxis,{dflt:!1}),textposition:h0.textposition,textfont:h0.textfont,fill:d9({},h0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:lJt(),hoverinfo:d9({},uJt.hoverinfo,{flags:[\"r\",\"theta\",\"text\",\"name\"]}),hoveron:h0.hoveron,hovertemplate:oJt(),selected:h0.selected,unselected:h0.unselected}});var p9=ye((abr,ZKe)=>{\"use strict\";var v9=Mr(),jA=lu(),cJt=$p(),fJt=R0(),jKe=J3(),hJt=D0(),dJt=Ig(),vJt=Sm().PTS_LINESONLY,pJt=aC();function gJt(e,t,r,n){function i(s,l){return v9.coerce(e,t,pJt,s,l)}var a=WKe(e,t,n,i);if(!a){t.visible=!1;return}i(\"thetaunit\"),i(\"mode\",a<vJt?\"lines+markers\":\"lines\"),i(\"text\"),i(\"hovertext\"),t.hoveron!==\"fills\"&&i(\"hovertemplate\"),jA.hasMarkers(t)&&cJt(e,t,r,n,i,{gradient:!0}),jA.hasLines(t)&&(fJt(e,t,r,n,i,{backoff:!0}),jKe(e,t,i),i(\"connectgaps\")),jA.hasText(t)&&(i(\"texttemplate\"),hJt(e,t,n,i));var o=[];(jA.hasMarkers(t)||jA.hasText(t))&&(i(\"cliponaxis\"),i(\"marker.maxdisplayed\"),o.push(\"points\")),i(\"fill\"),t.fill!==\"none\"&&(dJt(e,t,r,i),jA.hasLines(t)||jKe(e,t,i)),(t.fill===\"tonext\"||t.fill===\"toself\")&&o.push(\"fills\"),i(\"hoveron\",o.join(\"+\")||\"points\"),v9.coerceSelectionMarkerOpacity(t,i)}function WKe(e,t,r,n){var i=n(\"r\"),a=n(\"theta\");v9.isTypedArray(i)&&(t.r=i=Array.from(i)),v9.isTypedArray(a)&&(t.theta=a=Array.from(a));var o;if(i)a?o=Math.min(i.length,a.length):(o=i.length,n(\"theta0\"),n(\"dtheta\"));else{if(!a)return 0;o=t.theta.length,n(\"r0\"),n(\"dr\")}return t._length=o,o}ZKe.exports={handleRThetaDefaults:WKe,supplyDefaults:gJt}});var g9=ye((obr,YKe)=>{\"use strict\";var mJt=Mr(),XKe=Qa();YKe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o,s;a?(o=a.radialAxis,s=a.angularAxis):(a=n[r.subplot],o=a.radialaxis,s=a.angularaxis);var l=o.c2l(t.r);i.rLabel=XKe.tickText(o,l,!0).text;var u=s.thetaunit===\"degrees\"?mJt.rad2deg(t.theta):t.theta;return i.thetaLabel=XKe.tickText(s,u,!0).text,i}});var $Ke=ye((sbr,JKe)=>{\"use strict\";var KKe=uo(),yJt=es().BADNUM,_Jt=Qa(),xJt=z0(),bJt=km(),wJt=F0(),TJt=q0().calcMarkerSize;JKe.exports=function(t,r){for(var n=t._fullLayout,i=r.subplot,a=n[i].radialaxis,o=n[i].angularaxis,s=a.makeCalcdata(r,\"r\"),l=o.makeCalcdata(r,\"theta\"),u=r._length,c=new Array(u),f=0;f<u;f++){var h=s[f],d=l[f],v=c[f]={};KKe(h)&&KKe(d)?(v.r=h,v.theta=d):v.r=yJt}var x=TJt(r,u);return r._extremes.x=_Jt.findExtremes(a,s,{ppad:x}),xJt(t,r),bJt(c,r),wJt(c,r),c}});var tJe=ye((lbr,eJe)=>{\"use strict\";var AJt=iT(),QKe=es().BADNUM;eJe.exports=function(t,r,n){for(var i=r.layers.frontplot.select(\"g.scatterlayer\"),a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:r.framework,layerClipId:r._hasClipOnAxisFalse?r.clipIds.forTraces:null},l=r.radialAxis,u=r.angularAxis,c=0;c<n.length;c++)for(var f=n[c],h=0;h<f.length;h++){h===0&&(f[0].trace._xA=a,f[0].trace._yA=o);var d=f[h],v=d.r;if(v===QKe)d.x=d.y=QKe;else{var x=l.c2g(v),b=u.c2g(d.theta);d.x=x*Math.cos(b),d.y=x*Math.sin(b)}}AJt(t,s,n,i)}});var m9=ye((ubr,iJe)=>{\"use strict\";var SJt=sT();function MJt(e,t,r,n){var i=SJt(e,t,r,n);if(!(!i||i[0].index===!1)){var a=i[0];if(a.index===void 0)return i;var o=e.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtInside(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,rJe(s,l,o,a),a.hovertemplate=l.hovertemplate,i}}function rJe(e,t,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle=\"r\",a._hovertitle=\"\\u03B8\";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.rLabel=s.rLabel,n.thetaLabel=s.thetaLabel;var l=e.hi||t.hoverinfo,u=[];function c(h,d){u.push(h._hovertitle+\": \"+d)}if(!t.hovertemplate){var f=l.split(\"+\");f.indexOf(\"all\")!==-1&&(f=[\"r\",\"theta\",\"text\"]),f.indexOf(\"r\")!==-1&&c(i,n.rLabel),f.indexOf(\"theta\")!==-1&&c(a,n.thetaLabel),f.indexOf(\"text\")!==-1&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join(\"<br>\")}}iJe.exports={hoverPoints:MJt,makeHoverPointText:rJe}});var aJe=ye((cbr,nJe)=>{\"use strict\";nJe.exports={moduleType:\"trace\",name:\"scatterpolar\",basePlotModule:h9(),categories:[\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:aC(),supplyDefaults:p9().supplyDefaults,colorbar:Kd(),formatLabels:g9(),calc:$Ke(),plot:tJe(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:m9().hoverPoints,selectPoints:lT(),meta:{}}});var sJe=ye((fbr,oJe)=>{\"use strict\";oJe.exports=aJe()});var F$=ye((hbr,lJe)=>{\"use strict\";var Vp=aC(),x1=tk(),EJt=Wo().texttemplateAttrs;lJe.exports={mode:Vp.mode,r:Vp.r,theta:Vp.theta,r0:Vp.r0,dr:Vp.dr,theta0:Vp.theta0,dtheta:Vp.dtheta,thetaunit:Vp.thetaunit,text:Vp.text,texttemplate:EJt({editType:\"plot\"},{keys:[\"r\",\"theta\",\"text\"]}),hovertext:Vp.hovertext,hovertemplate:Vp.hovertemplate,line:{color:x1.line.color,width:x1.line.width,dash:x1.line.dash,editType:\"calc\"},connectgaps:x1.connectgaps,marker:x1.marker,fill:x1.fill,fillcolor:x1.fillcolor,textposition:x1.textposition,textfont:x1.textfont,hoverinfo:Vp.hoverinfo,selected:Vp.selected,unselected:Vp.unselected}});var fJe=ye((dbr,cJe)=>{\"use strict\";var uJe=Mr(),q$=lu(),kJt=p9().handleRThetaDefaults,CJt=$p(),LJt=R0(),PJt=D0(),IJt=Ig(),RJt=Sm().PTS_LINESONLY,DJt=F$();cJe.exports=function(t,r,n,i){function a(s,l){return uJe.coerce(t,r,DJt,s,l)}var o=kJt(t,r,i,a);if(!o){r.visible=!1;return}a(\"thetaunit\"),a(\"mode\",o<RJt?\"lines+markers\":\"lines\"),a(\"text\"),a(\"hovertext\"),r.hoveron!==\"fills\"&&a(\"hovertemplate\"),q$.hasMarkers(r)&&CJt(t,r,n,i,a,{noAngleRef:!0,noStandOff:!0}),q$.hasLines(r)&&(LJt(t,r,n,i,a),a(\"connectgaps\")),q$.hasText(r)&&(a(\"texttemplate\"),PJt(t,r,i,a,{noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0})),a(\"fill\"),r.fill!==\"none\"&&IJt(t,r,n,a),uJe.coerceSelectionMarkerOpacity(r,a)}});var dJe=ye((vbr,hJe)=>{\"use strict\";var zJt=g9();hJe.exports=function(t,r,n){var i=t.i;return\"r\"in t||(t.r=r._r[i]),\"theta\"in t||(t.theta=r._theta[i]),zJt(t,r,n)}});var pJe=ye((pbr,vJe)=>{\"use strict\";var FJt=z0(),qJt=q0().calcMarkerSize,OJt=Y2(),BJt=Qa(),NJt=sx().TOO_MANY_POINTS;vJe.exports=function(t,r){var n=t._fullLayout,i=r.subplot,a=n[i].radialaxis,o=n[i].angularaxis,s=r._r=a.makeCalcdata(r,\"r\"),l=r._theta=o.makeCalcdata(r,\"theta\"),u=r._length,c={};u<s.length&&(s=s.slice(0,u)),u<l.length&&(l=l.slice(0,u)),c.r=s,c.theta=l,FJt(t,r);var f=c.opts=OJt.style(t,r),h;return u<NJt?h=qJt(r,u):f.marker&&(h=2*(f.marker.sizeAvg||Math.max(f.marker.size,3))),r._extremes.x=BJt.findExtremes(a,s,{ppad:h}),[{x:!1,y:!1,t:c,trace:r}]}});var mJe=ye((gbr,gJe)=>{\"use strict\";var UJt=zz(),VJt=m9().makeHoverPointText;function HJt(e,t,r,n){var i=e.cd,a=i[0].t,o=a.r,s=a.theta,l=UJt.hoverPoints(e,t,r,n);if(!(!l||l[0].index===!1)){var u=l[0];if(u.index===void 0)return l;var c=e.subplot,f=u.cd[u.index],h=u.trace;if(f.r=o[u.index],f.theta=s[u.index],!!c.isPtInside(f))return u.xLabelVal=void 0,u.yLabelVal=void 0,VJt(f,h,c,u),l}}gJe.exports={hoverPoints:HJt}});var _Je=ye((mbr,yJe)=>{\"use strict\";yJe.exports={moduleType:\"trace\",name:\"scatterpolargl\",basePlotModule:h9(),categories:[\"gl\",\"regl\",\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:F$(),supplyDefaults:fJe(),colorbar:Kd(),formatLabels:dJe(),calc:pJe(),hoverPoints:mJe().hoverPoints,selectPoints:KX(),meta:{}}});var xJe=ye((ybr,O$)=>{\"use strict\";var GJt=Oz(),jJt=uo(),WJt=QY(),ZJt=ZX(),y9=Y2(),_9=Mr(),XJt=sx().TOO_MANY_POINTS,YJt={};O$.exports=function(t,r,n){if(n.length){var i=r.radialAxis,a=r.angularAxis,o=ZJt(t,r);return n.forEach(function(s){if(!(!s||!s[0]||!s[0].trace)){var l=s[0],u=l.trace,c=l.t,f=u._length,h=c.r,d=c.theta,v=c.opts,x,b=h.slice(),p=d.slice();for(x=0;x<h.length;x++)r.isPtInside({r:h[x],theta:d[x]})||(b[x]=NaN,p[x]=NaN);var E=new Array(f*2),k=Array(f),A=Array(f);for(x=0;x<f;x++){var L=b[x],_,C;if(jJt(L)){var M=i.c2g(L),g=a.c2g(p[x],u.thetaunit);_=M*Math.cos(g),C=M*Math.sin(g)}else _=C=NaN;k[x]=E[x*2]=_,A[x]=E[x*2+1]=C}c.tree=GJt(E),v.marker&&f>=XJt&&(v.marker.cluster=c.tree),v.marker&&(v.markerSel.positions=v.markerUnsel.positions=v.marker.positions=E),v.line&&E.length>1&&_9.extendFlat(v.line,y9.linePositions(t,u,E)),v.text&&(_9.extendFlat(v.text,{positions:E},y9.textPosition(t,u,v.text,v.marker)),_9.extendFlat(v.textSel,{positions:E},y9.textPosition(t,u,v.text,v.markerSel)),_9.extendFlat(v.textUnsel,{positions:E},y9.textPosition(t,u,v.text,v.markerUnsel))),v.fill&&!o.fill2d&&(o.fill2d=!0),v.marker&&!o.scatter2d&&(o.scatter2d=!0),v.line&&!o.line2d&&(o.line2d=!0),v.text&&!o.glText&&(o.glText=!0),o.lineOptions.push(v.line),o.fillOptions.push(v.fill),o.markerOptions.push(v.marker),o.markerSelectedOptions.push(v.markerSel),o.markerUnselectedOptions.push(v.markerUnsel),o.textOptions.push(v.text),o.textSelectedOptions.push(v.textSel),o.textUnselectedOptions.push(v.textUnsel),o.selectBatch.push([]),o.unselectBatch.push([]),c.x=k,c.y=A,c.rawx=k,c.rawy=A,c.r=h,c.theta=d,c.positions=E,c._scene=o,c.index=o.count,o.count++}}),WJt(t,r,n)}};O$.exports.reglPrecompiled=YJt});var TJe=ye((_br,wJe)=>{\"use strict\";var bJe=_Je();bJe.plot=xJe();wJe.exports=bJe});var SJe=ye((xbr,AJe)=>{\"use strict\";AJe.exports=TJe()});var B$=ye((bbr,MJe)=>{\"use strict\";var KJt=Wo().hovertemplateAttrs,WA=no().extendFlat,Ix=aC(),Rx=Lm();MJe.exports={r:Ix.r,theta:Ix.theta,r0:Ix.r0,dr:Ix.dr,theta0:Ix.theta0,dtheta:Ix.dtheta,thetaunit:Ix.thetaunit,base:WA({},Rx.base,{}),offset:WA({},Rx.offset,{}),width:WA({},Rx.width,{}),text:WA({},Rx.text,{}),hovertext:WA({},Rx.hovertext,{}),marker:JJt(),hoverinfo:Ix.hoverinfo,hovertemplate:KJt(),selected:Rx.selected,unselected:Rx.unselected};function JJt(){var e=WA({},Rx.marker);return delete e.cornerradius,e}});var N$=ye((wbr,EJe)=>{\"use strict\";EJe.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},bargap:{valType:\"number\",dflt:.1,min:0,max:1,editType:\"calc\"}}});var LJe=ye((Tbr,CJe)=>{\"use strict\";var kJe=Mr(),$Jt=p9().handleRThetaDefaults,QJt=FI(),e$t=B$();CJe.exports=function(t,r,n,i){function a(s,l){return kJe.coerce(t,r,e$t,s,l)}var o=$Jt(t,r,i,a);if(!o){r.visible=!1;return}a(\"thetaunit\"),a(\"base\"),a(\"offset\"),a(\"width\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),QJt(t,r,a,n,i),kJe.coerceSelectionMarkerOpacity(r,a)}});var IJe=ye((Abr,PJe)=>{\"use strict\";var t$t=Mr(),r$t=N$();PJe.exports=function(e,t,r){var n={},i;function a(l,u){return t$t.coerce(e[i]||{},t[i],r$t,l,u)}for(var o=0;o<r.length;o++){var s=r[o];s.type===\"barpolar\"&&s.visible===!0&&(i=s.subplot,n[i]||(a(\"barmode\"),a(\"bargap\"),n[i]=1))}}});var U$=ye((Sbr,zJe)=>{\"use strict\";var RJe=Dv().hasColorscale,DJe=zv(),i$t=Mr().isArrayOrTypedArray,n$t=c4(),a$t=Gb().setGroupPositions,o$t=F0(),s$t=ba().traceIs,l$t=Mr().extendFlat;function u$t(e,t){for(var r=e._fullLayout,n=t.subplot,i=r[n].radialaxis,a=r[n].angularaxis,o=i.makeCalcdata(t,\"r\"),s=a.makeCalcdata(t,\"theta\"),l=t._length,u=new Array(l),c=o,f=s,h=0;h<l;h++)u[h]={p:f[h],s:c[h]};function d(v){var x=t[v];x!==void 0&&(t[\"_\"+v]=i$t(x)?a.makeCalcdata(t,v):a.d2c(x,t.thetaunit))}return a.type===\"linear\"&&(d(\"width\"),d(\"offset\")),RJe(t,\"marker\")&&DJe(e,t,{vals:t.marker.color,containerStr:\"marker\",cLetter:\"c\"}),RJe(t,\"marker.line\")&&DJe(e,t,{vals:t.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}),n$t(u,t),o$t(u,t),u}function c$t(e,t,r){for(var n=e.calcdata,i=[],a=0;a<n.length;a++){var o=n[a],s=o[0].trace;s.visible===!0&&s$t(s,\"bar\")&&s.subplot===r&&i.push(o)}var l=l$t({},t.radialaxis,{_id:\"x\"}),u=t.angularaxis;a$t(e,u,l,i,{mode:t.barmode,norm:t.barnorm,gap:t.bargap,groupgap:t.bargroupgap})}zJe.exports={calc:u$t,crossTraceCalc:c$t}});var OJe=ye((Mbr,qJe)=>{\"use strict\";var FJe=xa(),x9=uo(),ZA=Mr(),f$t=ao(),V$=a9();qJe.exports=function(t,r,n){var i=t._context.staticPlot,a=r.xaxis,o=r.yaxis,s=r.radialAxis,l=r.angularAxis,u=h$t(r),c=r.layers.frontplot.select(\"g.barlayer\");ZA.makeTraceGroups(c,n,\"trace bars\").each(function(){var f=FJe.select(this),h=ZA.ensureSingle(f,\"g\",\"points\"),d=h.selectAll(\"g.point\").data(ZA.identity);d.enter().append(\"g\").style(\"vector-effect\",i?\"none\":\"non-scaling-stroke\").style(\"stroke-miterlimit\",2).classed(\"point\",!0),d.exit().remove(),d.each(function(v){var x=FJe.select(this),b=v.rp0=s.c2p(v.s0),p=v.rp1=s.c2p(v.s1),E=v.thetag0=l.c2g(v.p0),k=v.thetag1=l.c2g(v.p1),A;if(!x9(b)||!x9(p)||!x9(E)||!x9(k)||b===p||E===k)A=\"M0,0Z\";else{var L=s.c2g(v.s1),_=(E+k)/2;v.ct=[a.c2p(L*Math.cos(_)),o.c2p(L*Math.sin(_))],A=u(b,p,E,k)}ZA.ensureSingle(x,\"path\").attr(\"d\",A)}),f$t.setClipUrl(f,r._hasClipOnAxisFalse?r.clipIds.forTraces:null,t)})};function h$t(e){var t=e.cxx,r=e.cyy;return e.vangles?function(n,i,a,o){var s,l;ZA.angleDelta(a,o)>0?(s=a,l=o):(s=o,l=a);var u=V$.findEnclosingVertexAngles(s,e.vangles)[0],c=V$.findEnclosingVertexAngles(l,e.vangles)[1],f=[u,(s+l)/2,c];return V$.pathPolygonAnnulus(n,i,s,l,f,t,r)}:function(n,i,a,o){return ZA.pathAnnulus(n,i,a,o,t,r)}}});var NJe=ye((Ebr,BJe)=>{\"use strict\";var d$t=Nc(),H$=Mr(),v$t=TT().getTraceColor,p$t=H$.fillText,g$t=m9().makeHoverPointText,m$t=a9().isPtInsidePolygon;BJe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.subplot,s=o.radialAxis,l=o.angularAxis,u=o.vangles,c=u?m$t:H$.isPtInsideSector,f=t.maxHoverDistance,h=l._period||2*Math.PI,d=Math.abs(s.g2p(Math.sqrt(r*r+n*n))),v=Math.atan2(n,r);s.range[0]>s.range[1]&&(v+=Math.PI);var x=function(k){return c(d,v,[k.rp0,k.rp1],[k.thetag0,k.thetag1],u)?f+Math.min(1,Math.abs(k.thetag1-k.thetag0)/h)-1+(k.rp1-d)/(k.rp1-k.rp0)-1:1/0};if(d$t.getClosest(i,x,t),t.index!==!1){var b=t.index,p=i[b];t.x0=t.x1=p.ct[0],t.y0=t.y1=p.ct[1];var E=H$.extendFlat({},p,{r:p.s,theta:p.p});return p$t(p,a,t),g$t(E,a,o,t),t.hovertemplate=a.hovertemplate,t.color=v$t(a,p),t.xLabelVal=t.yLabelVal=void 0,p.s<0&&(t.idealAlign=\"left\"),[t]}}});var VJe=ye((kbr,UJe)=>{\"use strict\";UJe.exports={moduleType:\"trace\",name:\"barpolar\",basePlotModule:h9(),categories:[\"polar\",\"bar\",\"showLegend\"],attributes:B$(),layoutAttributes:N$(),supplyDefaults:LJe(),supplyLayoutDefaults:IJe(),calc:U$().calc,crossTraceCalc:U$().crossTraceCalc,plot:OJe(),colorbar:Kd(),formatLabels:g9(),style:N0().style,styleOnSelect:N0().styleOnSelect,hoverPoints:NJe(),selectPoints:AT(),meta:{}}});var GJe=ye((Cbr,HJe)=>{\"use strict\";HJe.exports=VJe()});var G$=ye((Lbr,jJe)=>{\"use strict\";jJe.exports={attr:\"subplot\",name:\"smith\",axisNames:[\"realaxis\",\"imaginaryaxis\"],axisName2dataArray:{imaginaryaxis:\"imag\",realaxis:\"real\"}}});var j$=ye((Pbr,YJe)=>{\"use strict\";var y$t=dh(),Mf=Cd(),_$t=Ju().attributes,Dx=Mr().extendFlat,WJe=Bu().overrideAll,ZJe=WJe({color:Mf.color,showline:Dx({},Mf.showline,{dflt:!0}),linecolor:Mf.linecolor,linewidth:Mf.linewidth,showgrid:Dx({},Mf.showgrid,{dflt:!0}),gridcolor:Mf.gridcolor,gridwidth:Mf.gridwidth,griddash:Mf.griddash},\"plot\",\"from-root\"),XJe=WJe({ticklen:Mf.ticklen,tickwidth:Dx({},Mf.tickwidth,{dflt:2}),tickcolor:Mf.tickcolor,showticklabels:Mf.showticklabels,labelalias:Mf.labelalias,showtickprefix:Mf.showtickprefix,tickprefix:Mf.tickprefix,showticksuffix:Mf.showticksuffix,ticksuffix:Mf.ticksuffix,tickfont:Mf.tickfont,tickformat:Mf.tickformat,hoverformat:Mf.hoverformat,layer:Mf.layer},\"plot\",\"from-root\"),x$t=Dx({visible:Dx({},Mf.visible,{dflt:!0}),tickvals:{dflt:[.2,.5,1,2,5],valType:\"data_array\",editType:\"plot\"},tickangle:Dx({},Mf.tickangle,{dflt:90}),ticks:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"\"],editType:\"ticks\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},editType:\"calc\"},ZJe,XJe),b$t=Dx({visible:Dx({},Mf.visible,{dflt:!0}),tickvals:{valType:\"data_array\",editType:\"plot\"},ticks:Mf.ticks,editType:\"calc\"},ZJe,XJe);YJe.exports={domain:_$t({name:\"smith\",editType:\"plot\"}),bgcolor:{valType:\"color\",editType:\"plot\",dflt:y$t.background},realaxis:x$t,imaginaryaxis:b$t,editType:\"calc\"}});var $Je=ye((Ibr,JJe)=>{\"use strict\";var XA=Mr(),w$t=va(),T$t=Vs(),A$t=C_(),S$t=kd().getSubplotData,M$t=r_(),E$t=t_(),k$t=YM(),C$t=ym(),YA=j$(),W$=G$(),KJe=W$.axisNames,L$t=I$t(function(e){return XA.isTypedArray(e)&&(e=Array.from(e)),e.slice().reverse().map(function(t){return-t}).concat([0]).concat(e)},String);function P$t(e,t,r,n){var i=r(\"bgcolor\");n.bgColor=w$t.combine(i,n.paper_bgcolor);var a=S$t(n.fullData,W$.name,n.id),o=n.layoutOut,s;function l(L,_){return r(s+\".\"+L,_)}for(var u=0;u<KJe.length;u++){s=KJe[u],XA.isPlainObject(e[s])||(e[s]={});var c=e[s],f=T$t.newContainer(t,s);f._id=f._name=s,f._attr=n.id+\".\"+s,f._traceIndices=a.map(function(L){return L.index});var h=l(\"visible\");if(f.type=\"linear\",C$t(f,o),M$t(c,f,l,f.type),h){var d=s===\"realaxis\";if(d&&l(\"side\"),d)l(\"tickvals\");else{var v=L$t(t.realaxis.tickvals||YA.realaxis.tickvals.dflt);l(\"tickvals\",v)}XA.isTypedArray(f.tickvals)&&(f.tickvals=Array.from(f.tickvals));var x,b,p,E,k=n.font||{};h&&(x=l(\"color\"),b=x===c.color?x:k.color,p=k.size,E=k.family),E$t(c,f,l,f.type,{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,noTicklabelstep:!0,noAng:!d,noExp:!0,font:{color:b,size:p,family:E}}),XA.coerce2(e,t,YA,s+\".ticklen\"),XA.coerce2(e,t,YA,s+\".tickwidth\"),XA.coerce2(e,t,YA,s+\".tickcolor\",t.color);var A=l(\"ticks\");A||(delete t[s].ticklen,delete t[s].tickwidth,delete t[s].tickcolor),k$t(c,f,l,{dfltColor:x,bgColor:n.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:YA[s]}),l(\"layer\")}l(\"hoverformat\"),delete f.type,f._input=c}}JJe.exports=function(t,r,n){A$t(t,r,n,{noUirevision:!0,type:W$.name,attributes:YA,handleDefaults:P$t,font:r.font,paper_bgcolor:r.paper_bgcolor,fullData:n,layoutOut:r})};function I$t(e,t){var r={};return function(n){var i=t?t(n):n;if(i in r)return r[i];var a=e(n);return r[i]=a,a}}});var n$e=ye((Rbr,i$e)=>{\"use strict\";var R$t=kd().getSubplotCalcData,D$t=Mr().counterRegex,z$t=D$(),e$e=G$(),t$e=e$e.attr,yw=e$e.name,QJe=D$t(yw),r$e={};r$e[t$e]={valType:\"subplotid\",dflt:yw,editType:\"calc\"};function F$t(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[yw],i=0;i<n.length;i++){var a=n[i],o=R$t(r,yw,a),s=t[a]._subplot;s||(s=z$t(e,a,!0),t[a]._subplot=s),s.plot(o,t,e._promises)}}function q$t(e,t,r,n){for(var i=n._subplots[yw]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;if(!t[o]&&s){s.framework.remove();for(var l in s.clipPaths)s.clipPaths[l].remove()}}}i$e.exports={attr:t$e,name:yw,idRoot:yw,idRegex:QJe,attrRegex:QJe,attributes:r$e,layoutAttributes:j$(),supplyLayoutDefaults:$Je(),plot:F$t,clean:q$t,toSVG:Jf().toSVG}});var Z$=ye((Dbr,a$e)=>{\"use strict\";var O$t=Wo().hovertemplateAttrs,B$t=Wo().texttemplateAttrs,b9=no().extendFlat,N$t=Eg(),d0=Uc(),U$t=vl(),KA=d0.line;a$e.exports={mode:d0.mode,real:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},imag:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},text:d0.text,texttemplate:B$t({editType:\"plot\"},{keys:[\"real\",\"imag\",\"text\"]}),hovertext:d0.hovertext,line:{color:KA.color,width:KA.width,dash:KA.dash,backoff:KA.backoff,shape:b9({},KA.shape,{values:[\"linear\",\"spline\"]}),smoothing:KA.smoothing,editType:\"calc\"},connectgaps:d0.connectgaps,marker:d0.marker,cliponaxis:b9({},d0.cliponaxis,{dflt:!1}),textposition:d0.textposition,textfont:d0.textfont,fill:b9({},d0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:N$t(),hoverinfo:b9({},U$t.hoverinfo,{flags:[\"real\",\"imag\",\"text\",\"name\"]}),hoveron:d0.hoveron,hovertemplate:O$t(),selected:d0.selected,unselected:d0.unselected}});var l$e=ye((zbr,s$e)=>{\"use strict\";var w9=Mr(),JA=lu(),V$t=$p(),H$t=R0(),o$e=J3(),G$t=D0(),j$t=Ig(),W$t=Sm().PTS_LINESONLY,Z$t=Z$();s$e.exports=function(t,r,n,i){function a(l,u){return w9.coerce(t,r,Z$t,l,u)}var o=X$t(t,r,i,a);if(!o){r.visible=!1;return}a(\"mode\",o<W$t?\"lines+markers\":\"lines\"),a(\"text\"),a(\"hovertext\"),r.hoveron!==\"fills\"&&a(\"hovertemplate\"),JA.hasMarkers(r)&&V$t(t,r,n,i,a,{gradient:!0}),JA.hasLines(r)&&(H$t(t,r,n,i,a,{backoff:!0}),o$e(t,r,a),a(\"connectgaps\")),JA.hasText(r)&&(a(\"texttemplate\"),G$t(t,r,i,a));var s=[];(JA.hasMarkers(r)||JA.hasText(r))&&(a(\"cliponaxis\"),a(\"marker.maxdisplayed\"),s.push(\"points\")),a(\"fill\"),r.fill!==\"none\"&&(j$t(t,r,n,a),JA.hasLines(r)||o$e(t,r,a)),(r.fill===\"tonext\"||r.fill===\"toself\")&&s.push(\"fills\"),a(\"hoveron\",s.join(\"+\")||\"points\"),w9.coerceSelectionMarkerOpacity(r,a)};function X$t(e,t,r,n){var i=n(\"real\"),a=n(\"imag\"),o;return i&&a&&(o=Math.min(i.length,a.length)),w9.isTypedArray(i)&&(t.real=i=Array.from(i)),w9.isTypedArray(a)&&(t.imag=a=Array.from(a)),t._length=o,o}});var f$e=ye((Fbr,c$e)=>{\"use strict\";var u$e=Qa();c$e.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot;return i.realLabel=u$e.tickText(a.radialAxis,t.real,!0).text,i.imagLabel=u$e.tickText(a.angularAxis,t.imag,!0).text,i}});var v$e=ye((qbr,d$e)=>{\"use strict\";var h$e=uo(),Y$t=es().BADNUM,K$t=z0(),J$t=km(),$$t=F0(),Q$t=q0().calcMarkerSize;d$e.exports=function(t,r){for(var n=t._fullLayout,i=r.subplot,a=n[i].realaxis,o=n[i].imaginaryaxis,s=a.makeCalcdata(r,\"real\"),l=o.makeCalcdata(r,\"imag\"),u=r._length,c=new Array(u),f=0;f<u;f++){var h=s[f],d=l[f],v=c[f]={};h$e(h)&&h$e(d)?(v.real=h,v.imag=d):v.real=Y$t}return Q$t(r,u),K$t(t,r),J$t(c,r),$$t(c,r),c}});var m$e=ye((Obr,g$e)=>{\"use strict\";var eQt=iT(),p$e=es().BADNUM,tQt=P$(),rQt=tQt.smith;g$e.exports=function(t,r,n){for(var i=r.layers.frontplot.select(\"g.scatterlayer\"),a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:r.framework,layerClipId:r._hasClipOnAxisFalse?r.clipIds.forTraces:null},l=0;l<n.length;l++)for(var u=n[l],c=0;c<u.length;c++){c===0&&(u[0].trace._xA=a,u[0].trace._yA=o);var f=u[c],h=f.real;if(h===p$e)f.x=f.y=p$e;else{var d=rQt([h,f.imag]);f.x=d[0],f.y=d[1]}}eQt(t,s,n,i)}});var x$e=ye((Bbr,_$e)=>{\"use strict\";var iQt=sT();function nQt(e,t,r,n){var i=iQt(e,t,r,n);if(!(!i||i[0].index===!1)){var a=i[0];if(a.index===void 0)return i;var o=e.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtInside(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,y$e(s,l,o,a),a.hovertemplate=l.hovertemplate,i}}function y$e(e,t,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle=\"real\",a._hovertitle=\"imag\";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.realLabel=s.realLabel,n.imagLabel=s.imagLabel;var l=e.hi||t.hoverinfo,u=[];function c(h,d){u.push(h._hovertitle+\": \"+d)}if(!t.hovertemplate){var f=l.split(\"+\");f.indexOf(\"all\")!==-1&&(f=[\"real\",\"imag\",\"text\"]),f.indexOf(\"real\")!==-1&&c(i,n.realLabel),f.indexOf(\"imag\")!==-1&&c(a,n.imagLabel),f.indexOf(\"text\")!==-1&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join(\"<br>\")}}_$e.exports={hoverPoints:nQt,makeHoverPointText:y$e}});var w$e=ye((Nbr,b$e)=>{\"use strict\";b$e.exports={moduleType:\"trace\",name:\"scattersmith\",basePlotModule:n$e(),categories:[\"smith\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:Z$(),supplyDefaults:l$e(),colorbar:Kd(),formatLabels:f$e(),calc:v$e(),plot:m$e(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:x$e().hoverPoints,selectPoints:lT(),meta:{}}});var A$e=ye((Ubr,T$e)=>{\"use strict\";T$e.exports=w$e()});var Sv=ye((Vbr,M$e)=>{var A9=bh();function S$e(){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={}}A9(S$e.prototype,{instance:function(e,t){e=(e||\"gregorian\").toLowerCase(),t=t||\"\";var r=this._localCals[e+\"-\"+t];if(!r&&this.calendars[e]&&(r=new this.calendars[e](t),this._localCals[e+\"-\"+t]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[\"\"].invalidCalendar).replace(/\\{0\\}/,e);return r},newDate:function(e,t,r,n,i){return n=(e!=null&&e.year?e.calendar():typeof n==\"string\"?this.instance(n,i):n)||this.instance(),n.newDate(e,t,r)},substituteDigits:function(e){return function(t){return(t+\"\").replace(/[0-9]/g,function(r){return e[r]})}},substituteChineseDigits:function(e,t){return function(r){for(var n=\"\",i=0;r>0;){var a=r%10;n=(a===0?\"\":e[a]+t[i])+n,i++,r=Math.floor(r/10)}return n.indexOf(e[1]+t[1])===0&&(n=n.substr(1)),n||e[0]}}});function X$(e,t,r,n){if(this._calendar=e,this._year=t,this._month=r,this._day=n,this._calendar._validateLevel===0&&!this._calendar.isValid(this._year,this._month,this._day))throw(Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name)}function T9(e,t){return e=\"\"+e,\"000000\".substring(0,t-e.length)+e}A9(X$.prototype,{newDate:function(e,t,r){return this._calendar.newDate(e==null?this:e,t,r)},year:function(e){return arguments.length===0?this._year:this.set(e,\"y\")},month:function(e){return arguments.length===0?this._month:this.set(e,\"m\")},day:function(e){return arguments.length===0?this._day:this.set(e,\"d\")},date:function(e,t,r){if(!this._calendar.isValid(e,t,r))throw(Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name);return this._year=e,this._month=t,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(e,t){return this._calendar.add(this,e,t)},set:function(e,t){return this._calendar.set(this,e,t)},compareTo:function(e){if(this._calendar.name!==e._calendar.name)throw(Es.local.differentCalendars||Es.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this._calendar.local.name).replace(/\\{1\\}/,e._calendar.local.name);var t=this._year!==e._year?this._year-e._year:this._month!==e._month?this.monthOfYear()-e.monthOfYear():this._day-e._day;return t===0?0:t<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(e){return this._calendar.fromJD(e)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(e){return this._calendar.fromJSDate(e)},toString:function(){return(this.year()<0?\"-\":\"\")+T9(Math.abs(this.year()),4)+\"-\"+T9(this.month(),2)+\"-\"+T9(this.day(),2)}});function Y$(){this.shortYearCutoff=\"+10\"}A9(Y$.prototype,{_validateLevel:0,newDate:function(e,t,r){return e==null?this.today():(e.year&&(this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),r=e.day(),t=e.month(),e=e.year()),new X$(this,e,t,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(e){var t=this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear);return t.year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear);return(t.year()<0?\"-\":\"\")+T9(Math.abs(t.year()),4)},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear),12},monthOfYear:function(e,t){var r=this._validate(e,t,this.minDay,Es.local.invalidMonth||Es.regionalOptions[\"\"].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(e,t){var r=(t+this.firstMonth-2*this.minMonth)%this.monthsInYear(e)+this.minMonth;return this._validate(e,r,this.minDay,Es.local.invalidMonth||Es.regionalOptions[\"\"].invalidMonth),r},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear);return this.leapYear(t)?366:365},dayOfYear:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(e,t,r){return this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),{}},add:function(e,t,r){return this._validate(e,this.minMonth,this.minDay,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),this._correctAdd(e,this._add(e,t,r),t,r)},_add:function(e,t,r){if(this._validateLevel++,r===\"d\"||r===\"w\"){var n=e.toJD()+t*(r===\"w\"?this.daysInWeek():1),i=e.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=e.year()+(r===\"y\"?t:0),o=e.monthOfYear()+(r===\"m\"?t:0),i=e.day(),s=function(c){for(;o<c.minMonth;)a--,o+=c.monthsInYear(a);for(var f=c.monthsInYear(a);o>f-1+c.minMonth;)a++,o-=f,f=c.monthsInYear(a)};r===\"y\"?(e.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,e.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):r===\"m\"&&(s(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var l=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,l}catch(u){throw this._validateLevel--,u}},_correctAdd:function(e,t,r,n){if(!this.hasYearZero&&(n===\"y\"||n===\"m\")&&(t[0]===0||e.year()>0!=t[0]>0)){var i={y:[1,1,\"y\"],m:[1,this.monthsInYear(-1),\"m\"],w:[this.daysInWeek(),this.daysInYear(-1),\"d\"],d:[1,this.daysInYear(-1),\"d\"]}[n],a=r<0?-1:1;t=this._add(e,r*i[0]+a*i[1],i[2])}return e.date(t[0],t[1],t[2])},set:function(e,t,r){this._validate(e,this.minMonth,this.minDay,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);var n=r===\"y\"?t:e.year(),i=r===\"m\"?t:e.month(),a=r===\"d\"?t:e.day();return(r===\"y\"||r===\"m\")&&(a=Math.min(a,this.daysInMonth(n,i))),e.date(n,i,a)},isValid:function(e,t,r){this._validateLevel++;var n=this.hasYearZero||e!==0;if(n){var i=this.newDate(e,t,this.minDay);n=t>=this.minMonth&&t-this.minMonth<this.monthsInYear(i)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(i)}return this._validateLevel--,n},toJSDate:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);return Es.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(e){return this.fromJD(Es.instance().fromJSDate(e).toJD())},_validate:function(e,t,r,n){if(e.year){if(this._validateLevel===0&&this.name!==e.calendar().name)throw(Es.local.differentCalendars||Es.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this.local.name).replace(/\\{1\\}/,e.calendar().local.name);return e}try{if(this._validateLevel++,this._validateLevel===1&&!this.isValid(e,t,r))throw n.replace(/\\{0\\}/,this.local.name);var i=this.newDate(e,t,r);return this._validateLevel--,i}catch(a){throw this._validateLevel--,a}}});function K$(e){this.local=this.regionalOptions[e]||this.regionalOptions[\"\"]}K$.prototype=new Y$;A9(K$.prototype,{name:\"Gregorian\",jdEpoch:17214255e-1,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Gregorian\",epochs:[\"BCE\",\"CE\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"mm/dd/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===0&&(r%100!==0||r%400===0)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Es.local.invalidMonth||Es.regionalOptions[\"\"].invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);e=n.year(),t=n.month(),r=n.day(),e<0&&e++,t<3&&(t+=12,e--);var i=Math.floor(e/100),a=2-i+Math.floor(i/4);return Math.floor(365.25*(e+4716))+Math.floor(30.6001*(t+1))+r+a-1524.5},fromJD:function(e){var t=Math.floor(e+.5),r=Math.floor((t-186721625e-2)/36524.25);r=t+1+r-Math.floor(r/4);var n=r+1524,i=Math.floor((n-122.1)/365.25),a=Math.floor(365.25*i),o=Math.floor((n-a)/30.6001),s=n-a-Math.floor(o*30.6001),l=o-(o>13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(e){return this.newDate(e.getFullYear(),e.getMonth()+1,e.getDate())}});var Es=M$e.exports=new S$e;Es.cdate=X$;Es.baseCalendar=Y$;Es.calendars.gregorian=K$});var E$e=ye(()=>{var J$=bh(),qd=Sv();J$(qd.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\"});qd.local=qd.regionalOptions[\"\"];J$(qd.cdate.prototype,{formatDate:function(e,t){return typeof e!=\"string\"&&(t=e,e=\"\"),this._calendar.formatDate(e||\"\",this,t)}});J$(qd.baseCalendar.prototype,{UNIX_EPOCH:qd.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:24*60*60,TICKS_EPOCH:qd.instance().jdEpoch,TICKS_PER_DAY:24*60*60*1e7,ATOM:\"yyyy-mm-dd\",COOKIE:\"D, dd M yyyy\",FULL:\"DD, MM d, yyyy\",ISO_8601:\"yyyy-mm-dd\",JULIAN:\"J\",RFC_822:\"D, d M yy\",RFC_850:\"DD, dd-M-yy\",RFC_1036:\"D, d M yy\",RFC_1123:\"D, d M yyyy\",RFC_2822:\"D, d M yyyy\",RSS:\"D, d M yy\",TICKS:\"!\",TIMESTAMP:\"@\",W3C:\"yyyy-mm-dd\",formatDate:function(e,t,r){if(typeof e!=\"string\"&&(r=t,t=e,e=\"\"),!t)return\"\";if(t.calendar()!==this)throw qd.local.invalidFormat||qd.regionalOptions[\"\"].invalidFormat;e=e||this.local.dateFormat,r=r||{};for(var n=r.dayNamesShort||this.local.dayNamesShort,i=r.dayNames||this.local.dayNames,a=r.monthNumbers||this.local.monthNumbers,o=r.monthNamesShort||this.local.monthNamesShort,s=r.monthNames||this.local.monthNames,l=r.calculateWeek||this.local.calculateWeek,u=function(A,L){for(var _=1;k+_<e.length&&e.charAt(k+_)===A;)_++;return k+=_-1,Math.floor(_/(L||1))>1},c=function(A,L,_,C){var M=\"\"+L;if(u(A,C))for(;M.length<_;)M=\"0\"+M;return M},f=function(A,L,_,C){return u(A)?C[L]:_[L]},h=this,d=function(A){return typeof a==\"function\"?a.call(h,A,u(\"m\")):b(c(\"m\",A.month(),2))},v=function(A,L){return L?typeof s==\"function\"?s.call(h,A):s[A.month()-h.minMonth]:typeof o==\"function\"?o.call(h,A):o[A.month()-h.minMonth]},x=this.local.digits,b=function(A){return r.localNumbers&&x?x(A):A},p=\"\",E=!1,k=0;k<e.length;k++)if(E)e.charAt(k)===\"'\"&&!u(\"'\")?E=!1:p+=e.charAt(k);else switch(e.charAt(k)){case\"d\":p+=b(c(\"d\",t.day(),2));break;case\"D\":p+=f(\"D\",t.dayOfWeek(),n,i);break;case\"o\":p+=c(\"o\",t.dayOfYear(),3);break;case\"w\":p+=c(\"w\",t.weekOfYear(),2);break;case\"m\":p+=d(t);break;case\"M\":p+=v(t,u(\"M\"));break;case\"y\":p+=u(\"y\",2)?t.year():(t.year()%100<10?\"0\":\"\")+t.year()%100;break;case\"Y\":u(\"Y\",2),p+=t.formatYear();break;case\"J\":p+=t.toJD();break;case\"@\":p+=(t.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case\"!\":p+=(t.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case\"'\":u(\"'\")?p+=\"'\":E=!0;break;default:p+=e.charAt(k)}return p},parseDate:function(e,t,r){if(t==null)throw qd.local.invalidArguments||qd.regionalOptions[\"\"].invalidArguments;if(t=typeof t==\"object\"?t.toString():t+\"\",t===\"\")return null;e=e||this.local.dateFormat,r=r||{};var n=r.shortYearCutoff||this.shortYearCutoff;n=typeof n!=\"string\"?n:this.today().year()%100+parseInt(n,10);for(var i=r.dayNamesShort||this.local.dayNamesShort,a=r.dayNames||this.local.dayNames,o=r.parseMonth||this.local.parseMonth,s=r.monthNumbers||this.local.monthNumbers,l=r.monthNamesShort||this.local.monthNamesShort,u=r.monthNames||this.local.monthNames,c=-1,f=-1,h=-1,d=-1,v=-1,x=!1,b=!1,p=function(F,q){for(var V=1;g+V<e.length&&e.charAt(g+V)===F;)V++;return g+=V-1,Math.floor(V/(q||1))>1},E=function(F,q){var V=p(F,q),H=[2,3,V?4:2,V?4:2,10,11,20][\"oyYJ@!\".indexOf(F)+1],X=new RegExp(\"^-?\\\\d{1,\"+H+\"}\"),G=t.substring(M).match(X);if(!G)throw(qd.local.missingNumberAt||qd.regionalOptions[\"\"].missingNumberAt).replace(/\\{0\\}/,M);return M+=G[0].length,parseInt(G[0],10)},k=this,A=function(){if(typeof s==\"function\"){p(\"m\");var F=s.call(k,t.substring(M));return M+=F.length,F}return E(\"m\")},L=function(F,q,V,H){for(var X=p(F,H)?V:q,G=0;G<X.length;G++)if(t.substr(M,X[G].length).toLowerCase()===X[G].toLowerCase())return M+=X[G].length,G+k.minMonth;throw(qd.local.unknownNameAt||qd.regionalOptions[\"\"].unknownNameAt).replace(/\\{0\\}/,M)},_=function(){if(typeof u==\"function\"){var F=p(\"M\")?u.call(k,t.substring(M)):l.call(k,t.substring(M));return M+=F.length,F}return L(\"M\",l,u)},C=function(){if(t.charAt(M)!==e.charAt(g))throw(qd.local.unexpectedLiteralAt||qd.regionalOptions[\"\"].unexpectedLiteralAt).replace(/\\{0\\}/,M);M++},M=0,g=0;g<e.length;g++)if(b)e.charAt(g)===\"'\"&&!p(\"'\")?b=!1:C();else switch(e.charAt(g)){case\"d\":d=E(\"d\");break;case\"D\":L(\"D\",i,a);break;case\"o\":v=E(\"o\");break;case\"w\":E(\"w\");break;case\"m\":h=A();break;case\"M\":h=_();break;case\"y\":var P=g;x=!p(\"y\",2),g=P,f=E(\"y\",2);break;case\"Y\":f=E(\"Y\",2);break;case\"J\":c=E(\"J\")+.5,t.charAt(M)===\".\"&&(M++,E(\"J\"));break;case\"@\":c=E(\"@\")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case\"!\":c=E(\"!\")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case\"*\":M=t.length;break;case\"'\":p(\"'\")?C():b=!0;break;default:C()}if(M<t.length)throw qd.local.unexpectedText||qd.regionalOptions[\"\"].unexpectedText;if(f===-1?f=this.today().year():f<100&&x&&(f+=n===-1?1900:this.today().year()-this.today().year()%100-(f<=n?0:100)),typeof h==\"string\"&&(h=o.call(this,f,h)),v>-1){h=1,d=v;for(var T=this.daysInMonth(f,h);d>T;T=this.daysInMonth(f,h))h++,d-=T}return c>-1?this.fromJD(c):this.newDate(f,h,d)},determineDate:function(e,t,r,n,i){r&&typeof r!=\"object\"&&(i=n,n=r,r=null),typeof n!=\"string\"&&(i=n,n=\"\");var a=this,o=function(s){try{return a.parseDate(n,s,i)}catch(f){}s=s.toLowerCase();for(var l=(s.match(/^c/)&&r?r.newDate():null)||a.today(),u=/([+-]?[0-9]+)\\s*(d|w|m|y)?/g,c=u.exec(s);c;)l.add(parseInt(c[1],10),c[2]||\"d\"),c=u.exec(s);return l};return t=t?t.newDate():null,e=e==null?t:typeof e==\"string\"?o(e):typeof e==\"number\"?isNaN(e)||e===1/0||e===-1/0?t:a.today().add(e,\"d\"):a.newDate(e),e}})});var k$e=ye(()=>{var zx=Sv(),aQt=bh(),$$=zx.instance();function S9(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}S9.prototype=new zx.baseCalendar;aQt(S9.prototype,{name:\"Chinese\",jdEpoch:17214255e-1,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{\"\":{name:\"Chinese\",epochs:[\"BEC\",\"EC\"],monthNumbers:function(e,t){if(typeof e==\"string\"){var r=e.match(sQt);return r?r[0]:\"\"}var n=this._validateYear(e),i=e.month(),a=\"\"+this.toChineseMonth(n,i);return t&&a.length<2&&(a=\"0\"+a),this.isIntercalaryMonth(n,i)&&(a+=\"i\"),a},monthNames:function(e){if(typeof e==\"string\"){var t=e.match(lQt);return t?t[0]:\"\"}var r=this._validateYear(e),n=e.month(),i=this.toChineseMonth(r,n),a=[\"\\u4E00\\u6708\",\"\\u4E8C\\u6708\",\"\\u4E09\\u6708\",\"\\u56DB\\u6708\",\"\\u4E94\\u6708\",\"\\u516D\\u6708\",\"\\u4E03\\u6708\",\"\\u516B\\u6708\",\"\\u4E5D\\u6708\",\"\\u5341\\u6708\",\"\\u5341\\u4E00\\u6708\",\"\\u5341\\u4E8C\\u6708\"][i-1];return this.isIntercalaryMonth(r,n)&&(a=\"\\u95F0\"+a),a},monthNamesShort:function(e){if(typeof e==\"string\"){var t=e.match(uQt);return t?t[0]:\"\"}var r=this._validateYear(e),n=e.month(),i=this.toChineseMonth(r,n),a=[\"\\u4E00\",\"\\u4E8C\",\"\\u4E09\",\"\\u56DB\",\"\\u4E94\",\"\\u516D\",\"\\u4E03\",\"\\u516B\",\"\\u4E5D\",\"\\u5341\",\"\\u5341\\u4E00\",\"\\u5341\\u4E8C\"][i-1];return this.isIntercalaryMonth(r,n)&&(a=\"\\u95F0\"+a),a},parseMonth:function(e,t){e=this._validateYear(e);var r=parseInt(t),n;if(isNaN(r))t[0]===\"\\u95F0\"&&(n=!0,t=t.substring(1)),t[t.length-1]===\"\\u6708\"&&(t=t.substring(0,t.length-1)),r=1+[\"\\u4E00\",\"\\u4E8C\",\"\\u4E09\",\"\\u56DB\",\"\\u4E94\",\"\\u516D\",\"\\u4E03\",\"\\u516B\",\"\\u4E5D\",\"\\u5341\",\"\\u5341\\u4E00\",\"\\u5341\\u4E8C\"].indexOf(t);else{var i=t[t.length-1];n=i===\"i\"||i===\"I\"}var a=this.toMonthIndex(e,r,n);return a},dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:1,isRTL:!1}},_validateYear:function(e,t){if(e.year&&(e=e.year()),typeof e!=\"number\"||e<1888||e>2111)throw t.replace(/\\{0\\}/,this.local.name);return e},toMonthIndex:function(e,t,r){var n=this.intercalaryMonth(e),i=r&&t!==n;if(i||t<1||t>12)throw zx.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var a;return n?!r&&t<=n?a=t-1:a=t:a=t-1,a},toChineseMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e),n=r?12:11;if(t<0||t>n)throw zx.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var i;return r?t<r?i=t+1:i=t:i=t+1,i},intercalaryMonth:function(e){e=this._validateYear(e);var t=Fx[e-Fx[0]],r=t>>13;return r},isIntercalaryMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e);return!!r&&r===t},leapYear:function(e){return this.intercalaryMonth(e)!==0},weekOfYear:function(e,t,r){var n=this._validateYear(e,zx.local.invalidyear),i=qx[n-qx[0]],a=i>>9&4095,o=i>>5&15,s=i&31,l;l=$$.newDate(a,o,s),l.add(4-(l.dayOfWeek()||7),\"d\");var u=this.toJD(e,t,r)-l.toJD();return 1+Math.floor(u/7)},monthsInYear:function(e){return this.leapYear(e)?13:12},daysInMonth:function(e,t){e.year&&(t=e.month(),e=e.year()),e=this._validateYear(e);var r=Fx[e-Fx[0]],n=r>>13,i=n?12:11;if(t>i)throw zx.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var a=r&1<<12-t?30:29;return a},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,a,r,zx.local.invalidDate);e=this._validateYear(n.year()),t=n.month(),r=n.day();var i=this.isIntercalaryMonth(e,t),a=this.toChineseMonth(e,t),o=fQt(e,a,r,i);return $$.toJD(o.year,o.month,o.day)},fromJD:function(e){var t=$$.fromJD(e),r=cQt(t.year(),t.month(),t.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(e){var t=e.match(oQt),r=this._validateYear(+t[1]),n=+t[2],i=!!t[3],a=this.toMonthIndex(r,n,i),o=+t[4];return this.newDate(r,a,o)},add:function(e,t,r){var n=e.year(),i=e.month(),a=this.isIntercalaryMonth(n,i),o=this.toChineseMonth(n,i),s=Object.getPrototypeOf(S9.prototype).add.call(this,e,t,r);if(r===\"y\"){var l=s.year(),u=s.month(),c=this.isIntercalaryMonth(l,o),f=a&&c?this.toMonthIndex(l,o,!0):this.toMonthIndex(l,o,!1);f!==u&&s.month(f)}return s}});var oQt=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)[-/](\\d?\\d)([iI]?)[-/](\\d?\\d)/m,sQt=/^\\d?\\d[iI]?/m,lQt=/^闰?十?[一二三四五六七八九]?月/m,uQt=/^闰?十?[一二三四五六七八九]?/m;zx.calendars.chinese=S9;var Fx=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],qx=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904];function cQt(e,t,r,n){var i,a;if(typeof e==\"object\")i=e,a=t||{};else{var o=typeof e==\"number\"&&e>=1888&&e<=2111;if(!o)throw new Error(\"Solar year outside range 1888-2111\");var s=typeof t==\"number\"&&t>=1&&t<=12;if(!s)throw new Error(\"Solar month outside range 1 - 12\");var l=typeof r==\"number\"&&r>=1&&r<=31;if(!l)throw new Error(\"Solar day outside range 1 - 31\");i={year:e,month:t,day:r},a=n||{}}var u=qx[i.year-qx[0]],c=i.year<<9|i.month<<5|i.day;a.year=c>=u?i.year:i.year-1,u=qx[a.year-qx[0]];var f=u>>9&4095,h=u>>5&15,d=u&31,v,x=new Date(f,h-1,d),b=new Date(i.year,i.month-1,i.day);v=Math.round((b-x)/(24*3600*1e3));var p=Fx[a.year-Fx[0]],E;for(E=0;E<13;E++){var k=p&1<<12-E?30:29;if(v<k)break;v-=k}var A=p>>13;return!A||E<A?(a.isIntercalary=!1,a.month=1+E):E===A?(a.isIntercalary=!0,a.month=E):(a.isIntercalary=!1,a.month=E),a.day=1+v,a}function fQt(e,t,r,n,i){var a,o;if(typeof e==\"object\")o=e,a=t||{};else{var s=typeof e==\"number\"&&e>=1888&&e<=2111;if(!s)throw new Error(\"Lunar year outside range 1888-2111\");var l=typeof t==\"number\"&&t>=1&&t<=12;if(!l)throw new Error(\"Lunar month outside range 1 - 12\");var u=typeof r==\"number\"&&r>=1&&r<=30;if(!u)throw new Error(\"Lunar day outside range 1 - 30\");var c;typeof n==\"object\"?(c=!1,a=n):(c=!!n,a=i||{}),o={year:e,month:t,day:r,isIntercalary:c}}var f;f=o.day-1;var h=Fx[o.year-Fx[0]],d=h>>13,v;d&&(o.month>d||o.isIntercalary)?v=o.month:v=o.month-1;for(var x=0;x<v;x++){var b=h&1<<12-x?30:29;f+=b}var p=qx[o.year-qx[0]],E=p>>9&4095,k=p>>5&15,A=p&31,L=new Date(E,k-1,A+f);return a.year=L.getFullYear(),a.month=1+L.getMonth(),a.day=L.getDate(),a}});var C$e=ye(()=>{var _w=Sv(),hQt=bh();function Q$(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}Q$.prototype=new _w.baseCalendar;hQt(Q$.prototype,{name:\"Coptic\",jdEpoch:18250295e-1,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Coptic\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Thout\",\"Paopi\",\"Hathor\",\"Koiak\",\"Tobi\",\"Meshir\",\"Paremhat\",\"Paremoude\",\"Pashons\",\"Paoni\",\"Epip\",\"Mesori\",\"Pi Kogi Enavot\"],monthNamesShort:[\"Tho\",\"Pao\",\"Hath\",\"Koi\",\"Tob\",\"Mesh\",\"Pat\",\"Pad\",\"Pash\",\"Pao\",\"Epi\",\"Meso\",\"PiK\"],dayNames:[\"Tkyriaka\",\"Pesnau\",\"Pshoment\",\"Peftoou\",\"Ptiou\",\"Psoou\",\"Psabbaton\"],dayNamesShort:[\"Tky\",\"Pes\",\"Psh\",\"Pef\",\"Pti\",\"Pso\",\"Psa\"],dayNamesMin:[\"Tk\",\"Pes\",\"Psh\",\"Pef\",\"Pt\",\"Pso\",\"Psa\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,_w.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,_w.local.invalidYear||_w.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,_w.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,_w.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}});_w.calendars.coptic=Q$});var L$e=ye(()=>{var b1=Sv(),dQt=bh();function eQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}eQ.prototype=new b1.baseCalendar;dQt(eQ.prototype,{name:\"Discworld\",jdEpoch:17214255e-1,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Discworld\",epochs:[\"BUC\",\"UC\"],monthNames:[\"Ick\",\"Offle\",\"February\",\"March\",\"April\",\"May\",\"June\",\"Grune\",\"August\",\"Spune\",\"Sektober\",\"Ember\",\"December\"],monthNamesShort:[\"Ick\",\"Off\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Gru\",\"Aug\",\"Spu\",\"Sek\",\"Emb\",\"Dec\"],dayNames:[\"Sunday\",\"Octeday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Oct\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Oc\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:2,isRTL:!1}},leapYear:function(e){return this._validate(e,this.minMonth,this.minDay,b1.local.invalidYear),!1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,b1.local.invalidYear),13},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,b1.local.invalidYear),400},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,b1.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,b1.local.invalidDate);return(n.day()+1)%8},weekDay:function(e,t,r){var n=this.dayOfWeek(e,t,r);return n>=2&&n<=6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,b1.local.invalidDate);return{century:vQt[Math.floor((n.year()-1)/100)+1]||\"\"}},toJD:function(e,t,r){var n=this._validate(e,t,r,b1.local.invalidDate);return e=n.year()+(n.year()<0?1:0),t=n.month(),r=n.day(),r+(t>1?16:0)+(t>2?(t-2)*32:0)+(e-1)*400+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e+.5)-Math.floor(this.jdEpoch)-1;var t=Math.floor(e/400)+1;e-=(t-1)*400,e+=e>15?16:0;var r=Math.floor(e/32)+1,n=e-(r-1)*32+1;return this.newDate(t<=0?t-1:t,r,n)}});var vQt={20:\"Fruitbat\",21:\"Anchovy\"};b1.calendars.discworld=eQ});var P$e=ye(()=>{var xw=Sv(),pQt=bh();function tQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}tQ.prototype=new xw.baseCalendar;pQt(tQ.prototype,{name:\"Ethiopian\",jdEpoch:17242205e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,xw.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,xw.local.invalidYear||xw.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,xw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,xw.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}});xw.calendars.ethiopian=tQ});var I$e=ye(()=>{var Ox=Sv(),gQt=bh();function rQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}rQ.prototype=new Ox.baseCalendar;gQt(rQ.prototype,{name:\"Hebrew\",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{\"\":{name:\"Hebrew\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Nisan\",\"Iyar\",\"Sivan\",\"Tammuz\",\"Av\",\"Elul\",\"Tishrei\",\"Cheshvan\",\"Kislev\",\"Tevet\",\"Shevat\",\"Adar\",\"Adar II\"],monthNamesShort:[\"Nis\",\"Iya\",\"Siv\",\"Tam\",\"Av\",\"Elu\",\"Tis\",\"Che\",\"Kis\",\"Tev\",\"She\",\"Ada\",\"Ad2\"],dayNames:[\"Yom Rishon\",\"Yom Sheni\",\"Yom Shlishi\",\"Yom Revi'i\",\"Yom Chamishi\",\"Yom Shishi\",\"Yom Shabbat\"],dayNamesShort:[\"Ris\",\"She\",\"Shl\",\"Rev\",\"Cha\",\"Shi\",\"Sha\"],dayNamesMin:[\"Ri\",\"She\",\"Shl\",\"Re\",\"Ch\",\"Shi\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Ox.local.invalidYear);return this._leapYear(t.year())},_leapYear:function(e){return e=e<0?e+1:e,M9(e*7+1,19)<7},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Ox.local.invalidYear),this._leapYear(e.year?e.year():e)?13:12},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Ox.local.invalidYear);return e=t.year(),this.toJD(e===-1?1:e+1,7,1)-this.toJD(e,7,1)},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,Ox.local.invalidMonth),t===12&&this.leapYear(e)||t===8&&M9(this.daysInYear(e),10)===5?30:t===9&&M9(this.daysInYear(e),10)===3?29:this.daysPerMonth[t-1]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,Ox.local.invalidDate);return{yearType:(this.leapYear(n)?\"embolismic\":\"common\")+\" \"+[\"deficient\",\"regular\",\"complete\"][this.daysInYear(n)%10-3]}},toJD:function(e,t,r){var n=this._validate(e,t,r,Ox.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=e<=0?e+1:e,a=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(t<7){for(var o=7;o<=this.monthsInYear(e);o++)a+=this.daysInMonth(e,o);for(var o=1;o<t;o++)a+=this.daysInMonth(e,o)}else for(var o=7;o<t;o++)a+=this.daysInMonth(e,o);return a},_delay1:function(e){var t=Math.floor((235*e-234)/19),r=12084+13753*t,n=t*29+Math.floor(r/25920);return M9(3*(n+1),7)<3&&n++,n},_delay2:function(e){var t=this._delay1(e-1),r=this._delay1(e),n=this._delay1(e+1);return n-r===356?2:r-t===382?1:0},fromJD:function(e){e=Math.floor(e)+.5;for(var t=Math.floor((e-this.jdEpoch)*98496/35975351)-1;e>=this.toJD(t===-1?1:t+1,7,1);)t++;for(var r=e<this.toJD(t,1,1)?7:1;e>this.toJD(t,r,this.daysInMonth(t,r));)r++;var n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});function M9(e,t){return e-t*Math.floor(e/t)}Ox.calendars.hebrew=rQ});var R$e=ye(()=>{var oC=Sv(),mQt=bh();function iQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}iQ.prototype=new oC.baseCalendar;mQt(iQ.prototype,{name:\"Islamic\",jdEpoch:19484395e-1,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(e){var t=this._validate(e,this.minMonth,this.minDay,oC.local.invalidYear);return(t.year()*11+14)%30<11},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){return this.leapYear(e)?355:354},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,oC.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,oC.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e=e<=0?e+1:e,r+Math.ceil(29.5*(t-1))+(e-1)*354+Math.floor((3+11*e)/30)+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=Math.floor((30*(e-this.jdEpoch)+10646)/10631);t=t<=0?t-1:t;var r=Math.min(12,Math.ceil((e-29-this.toJD(t,1,1))/29.5)+1),n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});oC.calendars.islamic=iQ});var D$e=ye(()=>{var sC=Sv(),yQt=bh();function nQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}nQ.prototype=new sC.baseCalendar;yQt(nQ.prototype,{name:\"Julian\",jdEpoch:17214235e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,sC.local.invalidYear),r=t.year()<0?t.year()+1:t.year();return r%4===0},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,sC.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,sC.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e<0&&e++,t<=2&&(e--,t+=12),Math.floor(365.25*(e+4716))+Math.floor(30.6001*(t+1))+r-1524.5},fromJD:function(e){var t=Math.floor(e+.5),r=t+1524,n=Math.floor((r-122.1)/365.25),i=Math.floor(365.25*n),a=Math.floor((r-i)/30.6001),o=a-Math.floor(a<14?1:13),s=n-Math.floor(o>2?4716:4715),l=r-i-Math.floor(30.6001*a);return s<=0&&s--,this.newDate(s,o,l)}});sC.calendars.julian=nQ});var F$e=ye(()=>{var ug=Sv(),_Qt=bh();function oQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}oQ.prototype=new ug.baseCalendar;_Qt(oQ.prototype,{name:\"Mayan\",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{\"\":{name:\"Mayan\",epochs:[\"\",\"\"],monthNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],monthNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],dayNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesMin:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],digits:null,dateFormat:\"YYYY.m.d\",firstDay:0,isRTL:!1,haabMonths:[\"Pop\",\"Uo\",\"Zip\",\"Zotz\",\"Tzec\",\"Xul\",\"Yaxkin\",\"Mol\",\"Chen\",\"Yax\",\"Zac\",\"Ceh\",\"Mac\",\"Kankin\",\"Muan\",\"Pax\",\"Kayab\",\"Cumku\",\"Uayeb\"],tzolkinMonths:[\"Imix\",\"Ik\",\"Akbal\",\"Kan\",\"Chicchan\",\"Cimi\",\"Manik\",\"Lamat\",\"Muluc\",\"Oc\",\"Chuen\",\"Eb\",\"Ben\",\"Ix\",\"Men\",\"Cib\",\"Caban\",\"Etznab\",\"Cauac\",\"Ahau\"]}},leapYear:function(e){return this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear),!1},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear);e=t.year();var r=Math.floor(e/400);e=e%400,e+=e<0?400:0;var n=Math.floor(e/20);return r+\".\"+n+\".\"+e%20},forYear:function(e){if(e=e.split(\".\"),e.length<3)throw\"Invalid Mayan year\";for(var t=0,r=0;r<e.length;r++){var n=parseInt(e[r],10);if(Math.abs(n)>19||r>0&&n<0)throw\"Invalid Mayan year\";t=t*20+n}return t},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear),18},weekOfYear:function(e,t,r){return this._validate(e,t,r,ug.local.invalidDate),0},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear),360},daysInMonth:function(e,t){return this._validate(e,t,this.minDay,ug.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,ug.local.invalidDate);return n.day()},weekDay:function(e,t,r){return this._validate(e,t,r,ug.local.invalidDate),!0},extraInfo:function(e,t,r){var n=this._validate(e,t,r,ug.local.invalidDate),i=n.toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(e){e-=this.jdEpoch;var t=aQ(e+8+17*20,365);return[Math.floor(t/20)+1,aQ(t,20)]},_toTzolkin:function(e){return e-=this.jdEpoch,[z$e(e+20,20),z$e(e+4,13)]},toJD:function(e,t,r){var n=this._validate(e,t,r,ug.local.invalidDate);return n.day()+n.month()*20+n.year()*360+this.jdEpoch},fromJD:function(e){e=Math.floor(e)+.5-this.jdEpoch;var t=Math.floor(e/360);e=e%360,e+=e<0?360:0;var r=Math.floor(e/20),n=e%20;return this.newDate(t,r,n)}});function aQ(e,t){return e-t*Math.floor(e/t)}function z$e(e,t){return aQ(e-1,t)+1}ug.calendars.mayan=oQ});var O$e=ye(()=>{var bw=Sv(),xQt=bh();function sQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}sQ.prototype=new bw.baseCalendar;var q$e=bw.instance(\"gregorian\");xQt(sQ.prototype,{name:\"Nanakshahi\",jdEpoch:22576735e-1,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Nanakshahi\",epochs:[\"BN\",\"AN\"],monthNames:[\"Chet\",\"Vaisakh\",\"Jeth\",\"Harh\",\"Sawan\",\"Bhadon\",\"Assu\",\"Katak\",\"Maghar\",\"Poh\",\"Magh\",\"Phagun\"],monthNamesShort:[\"Che\",\"Vai\",\"Jet\",\"Har\",\"Saw\",\"Bha\",\"Ass\",\"Kat\",\"Mgr\",\"Poh\",\"Mgh\",\"Pha\"],dayNames:[\"Somvaar\",\"Mangalvar\",\"Budhvaar\",\"Veervaar\",\"Shukarvaar\",\"Sanicharvaar\",\"Etvaar\"],dayNamesShort:[\"Som\",\"Mangal\",\"Budh\",\"Veer\",\"Shukar\",\"Sanichar\",\"Et\"],dayNamesMin:[\"So\",\"Ma\",\"Bu\",\"Ve\",\"Sh\",\"Sa\",\"Et\"],digits:null,dateFormat:\"dd-mm-yyyy\",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,bw.local.invalidYear||bw.regionalOptions[\"\"].invalidYear);return q$e.leapYear(t.year()+(t.year()<1?1:0)+1469)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(1-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,bw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,bw.local.invalidMonth),i=n.year();i<0&&i++;for(var a=n.day(),o=1;o<n.month();o++)a+=this.daysPerMonth[o-1];return a+q$e.toJD(i+1468,3,13)},fromJD:function(e){e=Math.floor(e+.5);for(var t=Math.floor((e-(this.jdEpoch-1))/366);e>=this.toJD(t+1,1,1);)t++;for(var r=e-Math.floor(this.toJD(t,1,1)+.5)+1,n=1;r>this.daysInMonth(t,n);)r-=this.daysInMonth(t,n),n++;return this.newDate(t,n,r)}});bw.calendars.nanakshahi=sQ});var B$e=ye(()=>{var ww=Sv(),bQt=bh();function lQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}lQ.prototype=new ww.baseCalendar;bQt(lQ.prototype,{name:\"Nepali\",jdEpoch:17007095e-1,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{\"\":{name:\"Nepali\",epochs:[\"BBS\",\"ABS\"],monthNames:[\"Baisakh\",\"Jestha\",\"Ashadh\",\"Shrawan\",\"Bhadra\",\"Ashwin\",\"Kartik\",\"Mangsir\",\"Paush\",\"Mangh\",\"Falgun\",\"Chaitra\"],monthNamesShort:[\"Bai\",\"Je\",\"As\",\"Shra\",\"Bha\",\"Ash\",\"Kar\",\"Mang\",\"Pau\",\"Ma\",\"Fal\",\"Chai\"],dayNames:[\"Aaitabaar\",\"Sombaar\",\"Manglbaar\",\"Budhabaar\",\"Bihibaar\",\"Shukrabaar\",\"Shanibaar\"],dayNamesShort:[\"Aaita\",\"Som\",\"Mangl\",\"Budha\",\"Bihi\",\"Shukra\",\"Shani\"],dayNamesMin:[\"Aai\",\"So\",\"Man\",\"Bu\",\"Bi\",\"Shu\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:1,isRTL:!1}},leapYear:function(e){return this.daysInYear(e)!==this.daysPerYear},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,ww.local.invalidYear);if(e=t.year(),typeof this.NEPALI_CALENDAR_DATA[e]==\"undefined\")return this.daysPerYear;for(var r=0,n=this.minMonth;n<=12;n++)r+=this.NEPALI_CALENDAR_DATA[e][n];return r},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,ww.local.invalidMonth),typeof this.NEPALI_CALENDAR_DATA[e]==\"undefined\"?this.daysPerMonth[t-1]:this.NEPALI_CALENDAR_DATA[e][t]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},toJD:function(e,t,r){var n=this._validate(e,t,r,ww.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=ww.instance(),a=0,o=t,s=e;this._createMissingCalendarData(e);var l=e-(o>9||o===9&&r>=this.NEPALI_CALENDAR_DATA[s][0]?56:57);for(t!==9&&(a=r,o--);o!==9;)o<=0&&(o=12,s--),a+=this.NEPALI_CALENDAR_DATA[s][o],o--;return t===9?(a+=r-this.NEPALI_CALENDAR_DATA[s][0],a<0&&(a+=i.daysInYear(l))):a+=this.NEPALI_CALENDAR_DATA[s][9]-this.NEPALI_CALENDAR_DATA[s][0],i.newDate(l,1,1).add(a,\"d\").toJD()},fromJD:function(e){var t=ww.instance(),r=t.fromJD(e),n=r.year(),i=r.dayOfYear(),a=n+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++,o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var u=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,u)},_createMissingCalendarData:function(e){var t=this.daysPerMonth.slice(0);t.unshift(17);for(var r=e-1;r<e+2;r++)typeof this.NEPALI_CALENDAR_DATA[r]==\"undefined\"&&(this.NEPALI_CALENDAR_DATA[r]=t)},NEPALI_CALENDAR_DATA:{1970:[18,31,31,32,31,31,31,30,29,30,29,30,30],1971:[18,31,31,32,31,32,30,30,29,30,29,30,30],1972:[17,31,32,31,32,31,30,30,30,29,29,30,30],1973:[19,30,32,31,32,31,30,30,30,29,30,29,31],1974:[19,31,31,32,30,31,31,30,29,30,29,30,30],1975:[18,31,31,32,32,30,31,30,29,30,29,30,30],1976:[17,31,32,31,32,31,30,30,30,29,29,30,31],1977:[18,31,32,31,32,31,31,29,30,29,30,29,31],1978:[18,31,31,32,31,31,31,30,29,30,29,30,30],1979:[18,31,31,32,32,31,30,30,29,30,29,30,30],1980:[17,31,32,31,32,31,30,30,30,29,29,30,31],1981:[18,31,31,31,32,31,31,29,30,30,29,30,30],1982:[18,31,31,32,31,31,31,30,29,30,29,30,30],1983:[18,31,31,32,32,31,30,30,29,30,29,30,30],1984:[17,31,32,31,32,31,30,30,30,29,29,30,31],1985:[18,31,31,31,32,31,31,29,30,30,29,30,30],1986:[18,31,31,32,31,31,31,30,29,30,29,30,30],1987:[18,31,32,31,32,31,30,30,29,30,29,30,30],1988:[17,31,32,31,32,31,30,30,30,29,29,30,31],1989:[18,31,31,31,32,31,31,30,29,30,29,30,30],1990:[18,31,31,32,31,31,31,30,29,30,29,30,30],1991:[18,31,32,31,32,31,30,30,29,30,29,30,30],1992:[17,31,32,31,32,31,30,30,30,29,30,29,31],1993:[18,31,31,31,32,31,31,30,29,30,29,30,30],1994:[18,31,31,32,31,31,31,30,29,30,29,30,30],1995:[17,31,32,31,32,31,30,30,30,29,29,30,30],1996:[17,31,32,31,32,31,30,30,30,29,30,29,31],1997:[18,31,31,32,31,31,31,30,29,30,29,30,30],1998:[18,31,31,32,31,31,31,30,29,30,29,30,30],1999:[17,31,32,31,32,31,30,30,30,29,29,30,31],2e3:[17,30,32,31,32,31,30,30,30,29,30,29,31],2001:[18,31,31,32,31,31,31,30,29,30,29,30,30],2002:[18,31,31,32,32,31,30,30,29,30,29,30,30],2003:[17,31,32,31,32,31,30,30,30,29,29,30,31],2004:[17,30,32,31,32,31,30,30,30,29,30,29,31],2005:[18,31,31,32,31,31,31,30,29,30,29,30,30],2006:[18,31,31,32,32,31,30,30,29,30,29,30,30],2007:[17,31,32,31,32,31,30,30,30,29,29,30,31],2008:[17,31,31,31,32,31,31,29,30,30,29,29,31],2009:[18,31,31,32,31,31,31,30,29,30,29,30,30],2010:[18,31,31,32,32,31,30,30,29,30,29,30,30],2011:[17,31,32,31,32,31,30,30,30,29,29,30,31],2012:[17,31,31,31,32,31,31,29,30,30,29,30,30],2013:[18,31,31,32,31,31,31,30,29,30,29,30,30],2014:[18,31,31,32,32,31,30,30,29,30,29,30,30],2015:[17,31,32,31,32,31,30,30,30,29,29,30,31],2016:[17,31,31,31,32,31,31,29,30,30,29,30,30],2017:[18,31,31,32,31,31,31,30,29,30,29,30,30],2018:[18,31,32,31,32,31,30,30,29,30,29,30,30],2019:[17,31,32,31,32,31,30,30,30,29,30,29,31],2020:[17,31,31,31,32,31,31,30,29,30,29,30,30],2021:[18,31,31,32,31,31,31,30,29,30,29,30,30],2022:[17,31,32,31,32,31,30,30,30,29,29,30,30],2023:[17,31,32,31,32,31,30,30,30,29,30,29,31],2024:[17,31,31,31,32,31,31,30,29,30,29,30,30],2025:[18,31,31,32,31,31,31,30,29,30,29,30,30],2026:[17,31,32,31,32,31,30,30,30,29,29,30,31],2027:[17,30,32,31,32,31,30,30,30,29,30,29,31],2028:[17,31,31,32,31,31,31,30,29,30,29,30,30],2029:[18,31,31,32,31,32,30,30,29,30,29,30,30],2030:[17,31,32,31,32,31,30,30,30,30,30,30,31],2031:[17,31,32,31,32,31,31,31,31,31,31,31,31],2032:[17,32,32,32,32,32,32,32,32,32,32,32,32],2033:[18,31,31,32,32,31,30,30,29,30,29,30,30],2034:[17,31,32,31,32,31,30,30,30,29,29,30,31],2035:[17,30,32,31,32,31,31,29,30,30,29,29,31],2036:[17,31,31,32,31,31,31,30,29,30,29,30,30],2037:[18,31,31,32,32,31,30,30,29,30,29,30,30],2038:[17,31,32,31,32,31,30,30,30,29,29,30,31],2039:[17,31,31,31,32,31,31,29,30,30,29,30,30],2040:[17,31,31,32,31,31,31,30,29,30,29,30,30],2041:[18,31,31,32,32,31,30,30,29,30,29,30,30],2042:[17,31,32,31,32,31,30,30,30,29,29,30,31],2043:[17,31,31,31,32,31,31,29,30,30,29,30,30],2044:[17,31,31,32,31,31,31,30,29,30,29,30,30],2045:[18,31,32,31,32,31,30,30,29,30,29,30,30],2046:[17,31,32,31,32,31,30,30,30,29,29,30,31],2047:[17,31,31,31,32,31,31,30,29,30,29,30,30],2048:[17,31,31,32,31,31,31,30,29,30,29,30,30],2049:[17,31,32,31,32,31,30,30,30,29,29,30,30],2050:[17,31,32,31,32,31,30,30,30,29,30,29,31],2051:[17,31,31,31,32,31,31,30,29,30,29,30,30],2052:[17,31,31,32,31,31,31,30,29,30,29,30,30],2053:[17,31,32,31,32,31,30,30,30,29,29,30,30],2054:[17,31,32,31,32,31,30,30,30,29,30,29,31],2055:[17,31,31,32,31,31,31,30,29,30,30,29,30],2056:[17,31,31,32,31,32,30,30,29,30,29,30,30],2057:[17,31,32,31,32,31,30,30,30,29,29,30,31],2058:[17,30,32,31,32,31,30,30,30,29,30,29,31],2059:[17,31,31,32,31,31,31,30,29,30,29,30,30],2060:[17,31,31,32,32,31,30,30,29,30,29,30,30],2061:[17,31,32,31,32,31,30,30,30,29,29,30,31],2062:[17,30,32,31,32,31,31,29,30,29,30,29,31],2063:[17,31,31,32,31,31,31,30,29,30,29,30,30],2064:[17,31,31,32,32,31,30,30,29,30,29,30,30],2065:[17,31,32,31,32,31,30,30,30,29,29,30,31],2066:[17,31,31,31,32,31,31,29,30,30,29,29,31],2067:[17,31,31,32,31,31,31,30,29,30,29,30,30],2068:[17,31,31,32,32,31,30,30,29,30,29,30,30],2069:[17,31,32,31,32,31,30,30,30,29,29,30,31],2070:[17,31,31,31,32,31,31,29,30,30,29,30,30],2071:[17,31,31,32,31,31,31,30,29,30,29,30,30],2072:[17,31,32,31,32,31,30,30,29,30,29,30,30],2073:[17,31,32,31,32,31,30,30,30,29,29,30,31],2074:[17,31,31,31,32,31,31,30,29,30,29,30,30],2075:[17,31,31,32,31,31,31,30,29,30,29,30,30],2076:[16,31,32,31,32,31,30,30,30,29,29,30,30],2077:[17,31,32,31,32,31,30,30,30,29,30,29,31],2078:[17,31,31,31,32,31,31,30,29,30,29,30,30],2079:[17,31,31,32,31,31,31,30,29,30,29,30,30],2080:[16,31,32,31,32,31,30,30,30,29,29,30,30],2081:[17,31,31,32,32,31,30,30,30,29,30,30,30],2082:[17,31,32,31,32,31,30,30,30,29,30,30,30],2083:[17,31,31,32,31,31,30,30,30,29,30,30,30],2084:[17,31,31,32,31,31,30,30,30,29,30,30,30],2085:[17,31,32,31,32,31,31,30,30,29,30,30,30],2086:[17,31,32,31,32,31,30,30,30,29,30,30,30],2087:[16,31,31,32,31,31,31,30,30,29,30,30,30],2088:[16,30,31,32,32,30,31,30,30,29,30,30,30],2089:[17,31,32,31,32,31,30,30,30,29,30,30,30],2090:[17,31,32,31,32,31,30,30,30,29,30,30,30],2091:[16,31,31,32,31,31,31,30,30,29,30,30,30],2092:[16,31,31,32,32,31,30,30,30,29,30,30,30],2093:[17,31,32,31,32,31,30,30,30,29,30,30,30],2094:[17,31,31,32,31,31,30,30,30,29,30,30,30],2095:[17,31,31,32,31,31,31,30,29,30,30,30,30],2096:[17,30,31,32,32,31,30,30,29,30,29,30,30],2097:[17,31,32,31,32,31,30,30,30,29,30,30,30],2098:[17,31,31,32,31,31,31,29,30,29,30,30,31],2099:[17,31,31,32,31,31,31,30,29,29,30,30,30],2100:[17,31,32,31,32,30,31,30,29,30,29,30,30]}});ww.calendars.nepali=lQ});var N$e=ye(()=>{var $A=Sv(),wQt=bh();function E9(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}E9.prototype=new $A.baseCalendar;wQt(E9.prototype,{name:\"Persian\",jdEpoch:19483205e-1,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Persian\",epochs:[\"BP\",\"AP\"],monthNames:[\"Farvardin\",\"Ordibehesht\",\"Khordad\",\"Tir\",\"Mordad\",\"Shahrivar\",\"Mehr\",\"Aban\",\"Azar\",\"Day\",\"Bahman\",\"Esfand\"],monthNamesShort:[\"Far\",\"Ord\",\"Kho\",\"Tir\",\"Mor\",\"Sha\",\"Meh\",\"Aba\",\"Aza\",\"Day\",\"Bah\",\"Esf\"],dayNames:[\"Yekshambe\",\"Doshambe\",\"Seshambe\",\"Ch\\xE6harshambe\",\"Panjshambe\",\"Jom'e\",\"Shambe\"],dayNamesShort:[\"Yek\",\"Do\",\"Se\",\"Ch\\xE6\",\"Panj\",\"Jom\",\"Sha\"],dayNamesMin:[\"Ye\",\"Do\",\"Se\",\"Ch\",\"Pa\",\"Jo\",\"Sh\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,$A.local.invalidYear);return((t.year()-(t.year()>0?474:473))%2820+474+38)*682%2816<682},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-((n.dayOfWeek()+1)%7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,$A.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,$A.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=e-(e>=0?474:473),a=474+uQ(i,2820);return r+(t<=7?(t-1)*31:(t-1)*30+6)+Math.floor((a*682-110)/2816)+(a-1)*365+Math.floor(i/2820)*1029983+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=e-this.toJD(475,1,1),r=Math.floor(t/1029983),n=uQ(t,1029983),i=2820;if(n!==1029982){var a=Math.floor(n/366),o=uQ(n,366);i=Math.floor((2134*a+2816*o+2815)/1028522)+a+1}var s=i+2820*r+474;s=s<=0?s-1:s;var l=e-this.toJD(s,1,1)+1,u=l<=186?Math.ceil(l/31):Math.ceil((l-6)/30),c=e-this.toJD(s,u,1)+1;return this.newDate(s,u,c)}});function uQ(e,t){return e-t*Math.floor(e/t)}$A.calendars.persian=E9;$A.calendars.jalali=E9});var U$e=ye(()=>{var Tw=Sv(),TQt=bh(),k9=Tw.instance();function cQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}cQ.prototype=new Tw.baseCalendar;TQt(cQ.prototype,{name:\"Taiwan\",jdEpoch:24194025e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,Tw.local.invalidYear),r=this._t2gYear(t.year());return k9.leapYear(r)},weekOfYear:function(i,t,r){var n=this._validate(i,this.minMonth,this.minDay,Tw.local.invalidYear),i=this._t2gYear(n.year());return k9.weekOfYear(i,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Tw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,Tw.local.invalidDate),i=this._t2gYear(n.year());return k9.toJD(i,n.month(),n.day())},fromJD:function(e){var t=k9.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)},_g2tYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)}});Tw.calendars.taiwan=cQ});var V$e=ye(()=>{var Aw=Sv(),AQt=bh(),C9=Aw.instance();function fQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}fQ.prototype=new Aw.baseCalendar;AQt(fQ.prototype,{name:\"Thai\",jdEpoch:15230985e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,Aw.local.invalidYear),r=this._t2gYear(t.year());return C9.leapYear(r)},weekOfYear:function(i,t,r){var n=this._validate(i,this.minMonth,this.minDay,Aw.local.invalidYear),i=this._t2gYear(n.year());return C9.weekOfYear(i,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Aw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,Aw.local.invalidDate),i=this._t2gYear(n.year());return C9.toJD(i,n.month(),n.day())},fromJD:function(e){var t=C9.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)},_g2tYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)}});Aw.calendars.thai=fQ});var H$e=ye(()=>{var Sw=Sv(),SQt=bh();function hQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}hQ.prototype=new Sw.baseCalendar;SQt(hQ.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(e){var t=this._validate(e,this.minMonth,this.minDay,Sw.local.invalidYear);return this.daysInYear(t.year())===355},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){for(var t=0,r=1;r<=12;r++)t+=this.daysInMonth(e,r);return t},daysInMonth:function(e,t){for(var r=this._validate(e,t,this.minDay,Sw.local.invalidMonth),n=r.toJD()-24e5+.5,i=0,a=0;a<Bx.length;a++){if(Bx[a]>n)return Bx[i]-Bx[i-1];i++}return 30},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,Sw.local.invalidDate),i=12*(n.year()-1)+n.month()-15292,a=n.day()+Bx[i-1]-1;return a+24e5-.5},fromJD:function(e){for(var t=e-24e5+.5,r=0,n=0;n<Bx.length&&!(Bx[n]>t);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),o=a+1,s=i-12*a,l=t-Bx[r-1]+1;return this.newDate(o,s,l)},isValid:function(e,t,r){var n=Sw.baseCalendar.prototype.isValid.apply(this,arguments);return n&&(e=e.year!=null?e.year:e,n=e>=1276&&e<=1500),n},_validate:function(e,t,r,n){var i=Sw.baseCalendar.prototype._validate.apply(this,arguments);if(i.year<1276||i.year>1500)throw n.replace(/\\{0\\}/,this.local.name);return i}});Sw.calendars.ummalqura=hQ;var Bx=[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]});var j$e=ye((_2r,G$e)=>{\"use strict\";G$e.exports=Sv();E$e();k$e();C$e();L$e();P$e();I$e();R$e();D$e();F$e();O$e();B$e();N$e();U$e();V$e();H$e()});var $$e=ye((x2r,J$e)=>{\"use strict\";var Z$e=j$e(),lC=Mr(),X$e=es(),MQt=X$e.EPOCHJD,EQt=X$e.ONEDAY,pQ={valType:\"enumerated\",values:lC.sortObjectKeys(Z$e.calendars),editType:\"calc\",dflt:\"gregorian\"},Y$e=function(e,t,r,n){var i={};return i[r]=pQ,lC.coerce(e,t,i,r,n)},kQt=function(e,t,r,n){for(var i=0;i<r.length;i++)Y$e(e,t,r[i]+\"calendar\",n.calendar)},CQt={chinese:\"2000-01-01\",coptic:\"2000-01-01\",discworld:\"2000-01-01\",ethiopian:\"2000-01-01\",hebrew:\"5000-01-01\",islamic:\"1000-01-01\",julian:\"2000-01-01\",mayan:\"5000-01-01\",nanakshahi:\"1000-01-01\",nepali:\"2000-01-01\",persian:\"1000-01-01\",jalali:\"1000-01-01\",taiwan:\"1000-01-01\",thai:\"2000-01-01\",ummalqura:\"1400-01-01\"},LQt={chinese:\"2000-01-02\",coptic:\"2000-01-03\",discworld:\"2000-01-03\",ethiopian:\"2000-01-05\",hebrew:\"5000-01-01\",islamic:\"1000-01-02\",julian:\"2000-01-03\",mayan:\"5000-01-01\",nanakshahi:\"1000-01-05\",nepali:\"2000-01-05\",persian:\"1000-01-01\",jalali:\"1000-01-01\",taiwan:\"1000-01-04\",thai:\"2000-01-04\",ummalqura:\"1400-01-06\"},PQt={chinese:[\"2000-01-01\",\"2001-01-01\"],coptic:[\"1700-01-01\",\"1701-01-01\"],discworld:[\"1800-01-01\",\"1801-01-01\"],ethiopian:[\"2000-01-01\",\"2001-01-01\"],hebrew:[\"5700-01-01\",\"5701-01-01\"],islamic:[\"1400-01-01\",\"1401-01-01\"],julian:[\"2000-01-01\",\"2001-01-01\"],mayan:[\"5200-01-01\",\"5201-01-01\"],nanakshahi:[\"0500-01-01\",\"0501-01-01\"],nepali:[\"2000-01-01\",\"2001-01-01\"],persian:[\"1400-01-01\",\"1401-01-01\"],jalali:[\"1400-01-01\",\"1401-01-01\"],taiwan:[\"0100-01-01\",\"0101-01-01\"],thai:[\"2500-01-01\",\"2501-01-01\"],ummalqura:[\"1400-01-01\",\"1401-01-01\"]},L9=\"##\",IQt={d:{0:\"dd\",\"-\":\"d\"},e:{0:\"d\",\"-\":\"d\"},a:{0:\"D\",\"-\":\"D\"},A:{0:\"DD\",\"-\":\"DD\"},j:{0:\"oo\",\"-\":\"o\"},W:{0:\"ww\",\"-\":\"w\"},m:{0:\"mm\",\"-\":\"m\"},b:{0:\"M\",\"-\":\"M\"},B:{0:\"MM\",\"-\":\"MM\"},y:{0:\"yy\",\"-\":\"yy\"},Y:{0:\"yyyy\",\"-\":\"yyyy\"},U:L9,w:L9,c:{0:\"D M d %X yyyy\",\"-\":\"D M d %X yyyy\"},x:{0:\"mm/dd/yyyy\",\"-\":\"mm/dd/yyyy\"}};function RQt(e,t,r){for(var n=Math.floor((t+.05)/EQt)+MQt,i=K$e(r).fromJD(n),a=0,o,s,l,u,c;(a=e.indexOf(\"%\",a))!==-1;)o=e.charAt(a+1),o===\"0\"||o===\"-\"||o===\"_\"?(l=3,s=e.charAt(a+2),o===\"_\"&&(o=\"-\")):(s=o,o=\"0\",l=2),u=IQt[s],u?(u===L9?c=L9:c=i.formatDate(u[o]),e=e.substr(0,a)+c+e.substr(a+l),a+=c.length):a+=l;return e}var W$e={};function K$e(e){var t=W$e[e];return t||(t=W$e[e]=Z$e.instance(e),t)}function uC(e){return lC.extendFlat({},pQ,{description:e})}function gQ(e){return\"Sets the calendar system to use with `\"+e+\"` date data.\"}var vQ={xcalendar:uC(gQ(\"x\"))},iy=lC.extendFlat({},vQ,{ycalendar:uC(gQ(\"y\"))}),dQ=lC.extendFlat({},iy,{zcalendar:uC(gQ(\"z\"))}),QA=uC([\"Sets the calendar system to use for `range` and `tick0`\",\"if this is a date axis. This does not set the calendar for\",\"interpreting data on this axis, that's specified in the trace\",\"or via the global `layout.calendar`\"].join(\" \"));J$e.exports={moduleType:\"component\",name:\"calendars\",schema:{traces:{scatter:iy,bar:iy,box:iy,heatmap:iy,contour:iy,histogram:iy,histogram2d:iy,histogram2dcontour:iy,scatter3d:dQ,surface:dQ,mesh3d:dQ,scattergl:iy,ohlc:vQ,candlestick:vQ},layout:{calendar:uC([\"Sets the default calendar system to use for interpreting and\",\"displaying dates throughout the plot.\"].join(\" \"))},subplots:{xaxis:{calendar:QA},yaxis:{calendar:QA},scene:{xaxis:{calendar:QA},yaxis:{calendar:QA},zaxis:{calendar:QA}},polar:{radialaxis:{calendar:QA}}}},layoutAttributes:pQ,handleDefaults:Y$e,handleTraceDefaults:kQt,CANONICAL_SUNDAY:LQt,CANONICAL_TICK:CQt,DFLTRANGE:PQt,getCal:K$e,worldCalFmt:RQt}});var eQe=ye((b2r,Q$e)=>{\"use strict\";Q$e.exports=$$e()});var DQt=ye((w2r,rQe)=>{var tQe=Wme();tQe.register([Xye(),z1e(),Z_e(),dxe(),Mxe(),wbe(),zbe(),b2e(),K2e(),Pwe(),m3e(),j4e(),REe(),TCe(),c6e(),N6e(),uLe(),RPe(),$Pe(),gIe(),kIe(),VIe(),i8e(),_8e(),WRe(),hDe(),EOe(),EBe(),qNe(),lUe(),mVe(),IVe(),rHe(),dGe(),kGe(),$Ge(),oWe(),LWe(),fZe(),RXe(),rYe(),TYe(),YYe(),uKe(),sJe(),SJe(),GJe(),A$e(),eQe()]);rQe.exports=tQe});return DQt();})();\n", - "/*!\n", - " * The buffer module from node.js, for the browser.\n", - " *\n", - " * @author Feross Aboukhadijeh <https://feross.org>\n", - " * @license MIT\n", - " */\n", - "/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\n", - "/*!\n", - " * Determine if an object is a Buffer\n", - " *\n", - " * @author Feross Aboukhadijeh <https://feross.org>\n", - " * @license MIT\n", - " */\n", - "/*!\n", - " * pad-left <https://github.com/jonschlinkert/pad-left>\n", - " *\n", - " * Copyright (c) 2014-2015, Jon Schlinkert.\n", - " * Licensed under the MIT license.\n", - " */\n", - "/*!\n", - " * repeat-string <https://github.com/jonschlinkert/repeat-string>\n", - " *\n", - " * Copyright (c) 2014-2015, Jon Schlinkert.\n", - " * Licensed under the MIT License.\n", - " */\n", - "/*! Bundled license information:\n", - "\n", - "native-promise-only/lib/npo.src.js:\n", - " (*! Native Promise Only\n", - " v0.8.1 (c) Kyle Simpson\n", - " MIT License: http://getify.mit-license.org\n", - " *)\n", - "\n", - "polybooljs/index.js:\n", - " (*\n", - " * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc\n", - " * @license MIT\n", - " * @preserve Project Home: https://github.com/voidqk/polybooljs\n", - " *)\n", - "\n", - "ieee754/index.js:\n", - " (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> *)\n", - "\n", - "buffer/index.js:\n", - " (*!\n", - " * The buffer module from node.js, for the browser.\n", - " *\n", - " * @author Feross Aboukhadijeh <https://feross.org>\n", - " * @license MIT\n", - " *)\n", - "\n", - "safe-buffer/index.js:\n", - " (*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *)\n", - "\n", - "assert/build/internal/util/comparisons.js:\n", - " (*!\n", - " * The buffer module from node.js, for the browser.\n", - " *\n", - " * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n", - " * @license MIT\n", - " *)\n", - "\n", - "object-assign/index.js:\n", - " (*\n", - " object-assign\n", - " (c) Sindre Sorhus\n", - " @license MIT\n", - " *)\n", - "\n", - "maplibre-gl/dist/maplibre-gl.js:\n", - " (**\n", - " * MapLibre GL JS\n", - " * @license 3-Clause BSD. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v4.7.1/LICENSE.txt\n", - " *)\n", - "*/\n", - "\n", - "window.Plotly = Plotly;\n", - "return Plotly;\n", - "}));</script> <div id=\"dfb240c9-7f1b-4e9b-ad7b-5a7ff579b961\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div> <script type=\"text/javascript\"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"dfb240c9-7f1b-4e9b-ad7b-5a7ff579b961\")) { Plotly.newPlot( \"dfb240c9-7f1b-4e9b-ad7b-5a7ff579b961\", [{\"hovertemplate\":\"speed=%{marker.size}\\u003cbr\\u003elat=%{lat}\\u003cbr\\u003elon=%{lon}\\u003cbr\\u003ersrp=%{marker.color}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"lat\":{\"dtype\":\"f8\",\"bdata\":\"e4oSzNaXSEC5slcfzpdIQJKPRImUl0hArsujfYaXSECkSVn3gpdIQCqenXSGl0hAsPLh8YmXSECIFAMkmpdIQEjbnVqil0hACKI4kaqXSEDIaNPHspdIQLUkPgLnl0hAf\\u002fV9fv2XSECQwV06FphIQFmSnbYsmEhAImPdMkOYSECCnfQfTJhIQJBh\\u002fblImEhAmvSDLUaYSEAf2nTlRphIQCGO4M5rmEhAbSqdz3SYSEDv\\u002fJc\\u002ffZhIQGK3wpiAmEhA1HHt8YOYSEDKOXCxkphIQOfHk9+bmEhARSD4F6eYSECCEzxLsZhIQNrV0nrnmEhAW1l9C\\u002f6YSEDb3CecFJlIQFtg0iwrmUhA3ON8vUGZSEDQ0sb+dJlIQAKxA1V9mUhAMo9Aq4WZSEBkbX0BjplIQFUxy4\\u002fmmUhA+B2FoPyZSECbCj+xEppIQNOxivcimkhAb4SCwjCaSEAil3pPaZpIQFMG95d7mkhA6N3L3pCaSEDYl09GqJpIQKXA36T6mkhALi0ucgqbSEC3mXw\\u002fGptIQEAGywwqm0hAyXIZ2jmbSEAz7Uh2hJtIQOpH0oiYm0hAoqJbm6ybSEBa\\u002feStwJtIQKVqp0wxnEhAciXU802cSEA\\u002f4ACbapxIQGY4imGFnEhAshhVQo+cSEBOsGHCt5xIQJqQLKPBnEhA2UNrwsOcSED5KgwFxZxIQMwR0y\\u002fKnEhAWokiKcqcSEA7Gk+VyZxIQByrewHJnEhA\\u002fTuobcicSEA=\"},\"legendgroup\":\"\",\"lon\":{\"dtype\":\"f8\",\"bdata\":\"Yj7PbD67MEB2n47PProwQMJFVSxftjBA7f1yT221MEBA6gKggrQwQAOkibmcszBAx10Q07ayMECGIQPFEa8wQJrUw7VDrjBAroeEpnWtMEDBOkWXp6wwQIQKmEyYqTBAKsZzlvmoMEBh4UsBS6gwQAidJ0uspzBAr1gDlQ2nMEBUvTAovaQwQGCkbJwOpDBAqZGZs4ujMECYnd7XCKMwQF55Ivd7oTBAN7V3KhuhMEAa0ECDuqAwQE7CHC1boDBAgrT41vufMED0xYAAcp4wQNYs4mBXnjBAI46u1jaeMEA6csVBGZ4wQMfgJeSnnTBA1yWMOpKdMEDmavKQfJ0wQPavWOdmnTBABvW+PVGdMEDQu1BDKJwwQBA8CdLKmzBAT7zBYG2bMECOPHrvD5swQEogoLYEmjBATxz+YceZMEBTGFwNipkwQM9NM6hhmTBAyVL1O0KZMECVzZBmwZgwQLNw2\\u002fC+mDBAlNIrys+YMEALC9FS4pgwQEdkvLUEmTBAmmlgitOYMEDtbgRfopgwQEB0qDNxmDBAk3lMCECYMEDEWus\\u002faZcwQCnwpFgylzBAj4VecfuWMED0GhiKxJYwQMsN8NAXljBA8WQOc\\u002fKVMEAXvCwVzZUwQNd1adSolTBAC6e3mY6VMECUPXgPI5UwQMhuxtQIlTBAztJMCwqVMEBBrmdODpUwQDNl78cflTBArO12VyGVMEBMwJq+IZUwQOySviUilTBAjWXijCKVMEA=\"},\"marker\":{\"color\":{\"dtype\":\"f8\",\"bdata\":\"AAAAAAAAWcAAAAAAAABYwAAAAAAAwFfAAAAAAAAAWMAAAAAAAMBYwAAAAAAAQFfAAAAAAACAVMAAAAAAAABZwAAAAAAAgFbAAAAAAADAVsAAAAAAAMBZwAAAAAAAAFnAAAAAAADAVsAAAAAAAIBXwAAAAAAAQFfAAAAAAADAWcAAAAAAAMBXwAAAAAAAgFfAAAAAAACAWcAAAAAAAABYwAAAAAAAQFnAAAAAAAAAV8AAAAAAAMBawAAAAAAAAFrAAAAAAABAWsAAAAAAAMBbwAAAAAAAgFvAAAAAAABAW8AAAAAAAMBbwAAAAAAAQF3AAAAAAACAWcAAAAAAAEBYwAAAAAAAgFjAAAAAAACAWsAAAAAAAABZwAAAAAAAgFnAAAAAAABAWMAAAAAAAIBbwAAAAAAAgFvAAAAAAAAAWcAAAAAAAMBYwAAAAAAAQFbAAAAAAADAVMAAAAAAAMBRwAAAAAAAQFDAAAAAAABAU8AAAAAAAMBUwAAAAAAAgFrAAAAAAADAU8AAAAAAAMBWwAAAAAAAwFnAAAAAAABAVsAAAAAAAABRwAAAAAAAwFHAAAAAAADAUcAAAAAAAABVwAAAAAAAwFXAAAAAAACAWsAAAAAAAABWwAAAAAAAgFHAAAAAAAAAVMAAAAAAAABTwAAAAAAAAFbAAAAAAACAU8AAAAAAAEBTwAAAAAAAwFLAAAAAAABAU8AAAAAAAIBUwAAAAAAAgFLAAAAAAACAV8A=\"},\"coloraxis\":\"coloraxis\",\"opacity\":1,\"size\":{\"dtype\":\"f8\",\"bdata\":\"bef7qfFyXEBt5\\u002fup8XJcQMHKoUW2U1hAwcqhRbZTWEDByqFFtlNYQMHKoUW2U1hAwcqhRbZTWEDByqFFtjNXQMHKoUW2M1dAwcqhRbYzV0BjEFg5tKhQQGMQWDm0qFBAYxBYObSoUEBSuB6F69FKQFK4HoXr0UpAUrgehevRSkBqvHSTGIRIQGq8dJMYhEhAarx0kxiESEBqvHSTGIRIQEjhehSuh0NASOF6FK6HQ0BI4XoUrodDQEjhehSuh0NASOF6FK6HQ0A830+Nl25CQDzfT42XbkJAPN9PjZduQkA830+Nl25CQKjGSzeJQTdAqMZLN4lBN0Coxks3iUE3QNijcD0KV0RA2KNwPQpXREDYo3A9CldEQESLbOf7aUJARIts5\\u002ftpQkBEi2zn+2lCQMHKoUW280RAwcqhRbbzREDByqFFtvNEQMHKoUW280RAwcqhRbbzRECkcD0K16M6QKRwPQrXozpApHA9CtejOkCkcD0K16M6QH0\\u002fNV66SUJAfT81XrpJQkB9PzVeuklCQO58PzVeekFA7nw\\u002fNV56QUDufD81XnpBQMdLN4lBIEJAx0s3iUEgQkDHSzeJQSBCQGdmZmZm5kJAZ2ZmZmbmQkBnZmZmZuZCQGdmZmZm5kJAZ2ZmZmbmQkASg8DKoUUQQBKDwMqhRRBAEoPAyqFFEEASg8DKoUUQQDDdJAaBlQNAMN0kBoGVA0Aw3SQGgZUDQDDdJAaBlQNAF9nO91Pj5T8=\"},\"sizemode\":\"area\",\"sizeref\":0.79025},\"mode\":\"markers\",\"name\":\"\",\"showlegend\":false,\"subplot\":\"map\",\"type\":\"scattermap\"}], {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermap\":[{\"type\":\"scattermap\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"map\":{\"domain\":{\"x\":[0.0,1.0],\"y\":[0.0,1.0]},\"center\":{\"lat\":49.201920583235285,\"lon\":16.622368855615097},\"zoom\":11,\"style\":\"open-street-map\"},\"coloraxis\":{\"colorbar\":{\"title\":{\"text\":\"rsrp\"}},\"colorscale\":[[0.0,\"rgb(0,0,131)\"],[0.2,\"rgb(0,60,170)\"],[0.4,\"rgb(5,255,255)\"],[0.6,\"rgb(255,255,0)\"],[0.8,\"rgb(250,0,0)\"],[1.0,\"rgb(128,0,0)\"]],\"cmin\":-130,\"cmax\":-60},\"legend\":{\"tracegroupgap\":0,\"itemsizing\":\"constant\"},\"margin\":{\"t\":60},\"mapbox\":{\"center\":{\"lat\":49.201920583235285,\"lon\":16.622368855615097},\"zoom\":11,\"style\":\"open-street-map\"}}, {\"responsive\": true} ).then(function(){\n", - " \n", - "var gd = document.getElementById('dfb240c9-7f1b-4e9b-ad7b-5a7ff579b961');\n", - "var x = new MutationObserver(function (mutations, observer) {{\n", - " var display = window.getComputedStyle(gd).display;\n", - " if (!display || display === 'none') {{\n", - " console.log([gd, 'removed!']);\n", - " Plotly.purge(gd);\n", - " observer.disconnect();\n", - " }}\n", - "}});\n", - "\n", - "// Listen for the removal of the full notebook cells\n", - "var notebookContainer = gd.closest('#notebook-container');\n", - "if (notebookContainer) {{\n", - " x.observe(notebookContainer, {childList: true});\n", - "}}\n", - "\n", - "// Listen for the clearing of the current output cell\n", - "var outputEl = gd.closest('.output');\n", - "if (outputEl) {{\n", - " x.observe(outputEl, {childList: true});\n", - "}}\n", - "\n", - " }) }; </script> </div>" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "fig = px.scatter_map(df.tail(70), lat='lat', lon='lon',color=\"rsrp\", opacity=1, size='speed', size_max=12,\n", - " map_style=\"open-street-map\", color_continuous_scale='jet', zoom=11, range_color=(-130,-60))\n", - "fig.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "b381eb50-4a5a-4875-a82b-d9d0c2d1b2fc", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.plotly.v1+json": { - "config": { - "plotlyServerURL": "https://plot.ly" - }, - "data": [ - { - "hovertemplate": "speed=%{marker.color}<br>lat=%{lat}<br>lon=%{lon}<extra></extra>", - "lat": { - "bdata": "w2ok8KTFSECDIg7Ao8VIQCPswqyjxUhAHVuuAqXFSEB2szffpcVIQPgib/OlxUhAGNmleKLFSECgHngIpcVIQDqv82emxUhAUqhdAqbFSEDh2A6hpcVIQCkcKI2kxUhAdvpBXaTFSECmYPDdpMVIQO0mW9GkxUhAlBBR8aTFSEBSvrkipcVIQI7O2BulxUhAmnWtWqXFSECrszlSpsVIQPhVdzSnxUhAJ62u+afFSEAbErU8qMVIQGgPanWoxUhAOWVNsKjFSEC27ovwm8VIQD3LHGCgxUhA4jELBrrFSEBhYAybt8VIQJDJmHEJxkhAuJv5OMfGSEAsPYFNqcdIQHoCQJlvyEhAbs9eQ5HISEAt3yMwEMlIQOgVywQuyUhAMgpZSAbJSED0H043O8lIQESfVYfYyUhAc5HvEE7KSEB9eiqvLstIQIybnqDiy0hAoUU6LKLMSEC2wnCFYs1IQELiBa7+zUhAjFU5o5zOSEAXZqGdU89IQETomNrvz0hAmD4JpvnQSEAM8swuDNJIQN/acPXv0UhAJrjk+m/RSEBoJ/9qQNBIQHdYdvsLz0hAXMuFRgfOSEB9yJ3K0M1IQKf7CBV/zUhAufAwq3/MSEAmcTU2ZMtIQI7uGAXeyUhAoweZvx3JSEBwrZv3JMhIQG/QReCbx0hAHloarkTHSEBT6/1GO8hIQIkeIZjdyEhAQUVZ6JjJSEAilZzy7MlIQBaQ7s53ykhAxxRqVWTKSECq52pMBMtIQEdmw9R1ykhAiolyDsPJSECY3dWjV8lIQNNocjGGyUhADNBTcLrISEDU76HIg8dIQARFA+MmxkhA+QWJJxrGSEDP5uVuX8ZIQI5ZtAhex0hAzbmIrajISEAj5mkrvMlIQHM29IGqykhA2JLArPHKSECp/+ak+8lIQPNqqVGCyUhAD8bbjEvISEDYe9ioWsdIQMQ58lkBx0hAQgE+7EPGSEAUpnvf8MZIQKrSmg+dyEhAMK5l8P/HSEAT9/XPlcZIQF/pnYZ/xEhAUkfH1UjDSECeoU1ISsFIQL8DbqMiv0hAplSyMWm9SEC1dctpqrtIQExQoqlHukhA9Rj+Nji5SED9VTZiHLlIQFWze7CUt0hAyiudMN21SEBvc9fQ1bNIQEvGtcrhsUhA1iAnp9GvSEBOnJrT/q1IQNbvFR+XrEhAhz7MHJqqSED16V8vIKlIQEP0tXhCp0hAAXGRWiylSEDgq8p8D6NIQO//Rq/EoUhA1EEDVrOgSEByhgOdoJ9IQFaZa8kRnkhAVRlCpfybSEAZTC6MFZpIQGT6sYuamEhAcppPZziYSECiK0tTiJdIQBF7V/NSl0hAP93EuRuXSEAtr+Cnv5dIQNk7SPTXl0hAU31j34CXSEChXvjalpdIQBZiHsfJl0hAXT3dL1WYSECiEQkyRJhIQOSD4Ol8mEhAqtRPrJGYSEBaUijq0JhIQNy0fNFcmUhAP+PCgZCZSED/N91PGZpIQC243dNumkhAYIo4vvKaSECMnKZLVptIQP/Ok77Sm0hA+CGpZIScSEAIpw2gwpxIQLzwnJDKnEhAR05P7cacSECR4i2hzJxIQC5NGVG9nEhAf7jU1sKcSED1pa/OzpxIQJhG3RjMnEhAnWpnd8ycSEDM6OwJt5xIQDsGXD6vnEhAa0zCZK6cSEDKbLFXr5xIQLEJ/vG9nEhAz6RN1b2cSECGszJMs5xIQBJ11fK5nEhA", - "dtype": "f8" - }, - "legendgroup": "", - "lon": { - "bdata": "U3N/FsdFMkCd30luwUUyQA7vvejARTJAqTlxIMFFMkDl8bT8wEUyQCF0VF7ARTJAHIew0L1FMkBoeuRqv0UyQG5dnL6/RTJA/XfxPMBFMkDTgnqnwEUyQJg8tzPARTJAnfWljsBFMkBoiggYwEUyQFwS8+7ARTJAxyhT9cBFMkAaUXfxwEUyQAiWPAHBRTJAGqUJ48BFMkDfsthgwEUyQFwKYZjARTJAhlezSsBFMkAgrkEEwUUyQJH760/BRTJAkTXZ9cFFMkDoj0Du6EUyQL1ynF+9RTJANhCi59xEMkAKRmeR1EQyQG7EMLMRRDJAm32zBzlCMkDK+eYnakEyQDkC4djtPzJAX7SF7xY9MkBgRzVPIjsyQBKXTrGLODJA0Dtf/ek1MkCTrtMnPTMyQF+4EDfpMTJAW6q5eTYwMkCnHzdwxTAyQL1yvW2mMDJAOy2qC5kvMkDAg1WrZS0yQO7gs7eMKjJAof83WRcpMkCILft9GCcyQA5/j/J6IzJAPMZPwtAhMkBN5ooYlyAyQBlkHjugHjJAtBUDPTcZMkCemDd/+hQyQEc/lhX1EDJA+CJv86UMMkCLZ5YltgcyQF8nkjuuAjJA2t40noT+MUCgPdFU0/kxQJZXEeKI+DFAkzHCBAP0MUB4mopcie8xQJLGT4C06jFA+nWOnq7nMUBP8jwbZuQxQIoK7mpm4TFARWYNYpDdMUA5j9SMVtcxQCvoaunZ0DFAT7uQ9XHKMUAgypvsNMUxQB6E46bEvzFA8kTOyg+5MUABYCPm5bExQLTsgwv9qjFAgBHRO1ekMUAyHHSuzZ0xQKuA92WbmDFAAiLMBvyRMUAXg0VNDYsxQF81IlojhTFA2i+nHWF/MUCehTV8qHgxQHGVxOW6cTFAFE+HX/tpMUDUtXp3+WIxQFccUjUPWzFA3i1/dKBUMUC2d5mjv00xQEcVDznHRjFA11/A3DhAMUB+ycaDLToxQH/WgDHwNzFAN1Aiuk4zMUAw2Zm+ri4xQJBdkpjaLDFAUip+3wEoMUD+qSMNjyUxQO7ZayhSJDFAGilCh0whMUBuhvrhECExQGZsZC7bHTFAHu52/1AdMUCWq8ThcR0xQAq/krPJGzFAdm9FYoIcMUCCDkYuMBsxQHQPprRAGTFANgfGyRYZMUCokRKSNxYxQAC0IHPpETFANo7cw/MOMUBd0XudswoxQLBhflXLBzFAoIbzmYEFMUC8R5EQQAUxQLR94fhOADFAGWAXLHL6MEBxLjDxaPQwQI8QDouL7zBABBh9oj7sMEBiN4X4NOgwQHhflQuV4jBAj2UsYCPcMEBUpW/Kw9UwQATM18CxzzBAKSMN8qPIMEA3u3uh/MEwQCQ4YB3oujBAZRSykAy1MEDl2YIxZK8wQCswx59mqjBANFXmnI6mMEBw2BHiJaMwQK4E3gvEoDBAvkjL9XSeMEC3m7+NvZ0wQBl7Bj83nTBAofwX5/OaMECHfSund5kwQCxp3tS0mDBAnmFqSx2ZMED1Tw2H55cwQAK7WCCTljBAH6Thc6uVMECAQE41BpUwQKJARA8hlTBA+lUMmSOVMECi+XM8LJUwQHixk24JlTBA7uaQcRiVMEAo0oHVJpUwQMqzgSoklTBAckbegyGVMEDcY+lDF5UwQMGJrixNlTBA62E/9kCVMECQcXs4N5UwQBOIjWjxlDBApIWRf+KUMEALsDSV6pQwQGIawDoSlTBA", - "dtype": "f8" - }, - "marker": { - "color": { - "bdata": "ppvEILByBEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEVg5tMh29j8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+CtejcD0lQPYoXI/C9S5AAAAAAAAAAAAAAAAAAAAAACuHFtnO90ZA/tR46SYxSEAUrkfhetRJQLbz/dR46UhAiBbZzvcTRUARWDm0yHZGQLbz/dR4qUZAQmDl0CJbRkC0yHa+n1pIQCuHFtnOdztAvHSTGARWSEAEVg4tst1JQPCnxks3iUZA9ihcj8I1SECBlUOLbCdRQNijcD0Kl0ZAPN9PjZeuRECq8dJNYpBOQESLbOf76U9A/Knx0k1CVEB9PzVeuolEQH0/NV66yU9AXI/C9Sj8V0CUGARWDi1WQIlBYOXQwlZAMQisHFokVEDVeOkmMchTQM3MzMzM7FRAEoPAyqElWEBSuB6F61FWQF66SQwCK1VASgwCK4cWVECF61G4HiVaQD81XrpJDEhA5KWbxCDwUEBnZmZmZqZJQAwCK4cWGUxA9P3UeOlGVECsHFpkO99cQHe+nxov3VtA7FG4HoULW0CamZmZmflYQPT91HjpZl5A+VPjpZtkXkBDYOXQIjteQIts5/up8VxAQ2Dl0CJbX0DqJjEIrNxdQLgehetR2FxAppvEILByXUD+1HjpJpFbQKJFtvP9VFxARbbz/dS4YEAhsHJokU1eQO58PzVe6mBAoUW28/2UXkBzaJHtfD9fQH0/NV66qV5AC9ejcD3qXkAhsHJokS1dQBKDwMqhpVxAO99PjZeuXUDkpZvEIBBbQPCnxks3SVRAiUFg5dDiV0Bh5dAi23lcQAIrhxbZrlxArBxaZDufWkBjEFg5tMhaQFCNl24Sg1xAtvP91HgJWkCF61G4HqVVQL+fGi/dxFdAeekmMQisHkAAAAAAAAA7QBkEVg4tUlVAke18PzX+WEDy0k1iEHhaQNV46SYxiFpA5/up8dINW0DVeOkmMWhZQEW28/3UuFlAiUFg5dBCW0AAAAAAAOBZQEJg5dAi+1tA5/up8dINW0CsHFpkO39ZQDm0yHa+/1tAcT0K16NwXEDO91PjpVtdQHe+nxov3VtAAiuHFtnOXUDwp8ZLNylcQFYOLbKd71tAMQisHFoEXEBEi2zn+wlYQKnGSzeJ4VxAeekmMQiMXUBI4XoUrodcQG3n+6nxclxAwcqhRbZTWEDByqFFtjNXQGMQWDm0qFBAUrgehevRSkBqvHSTGIRIQEjhehSuh0NAPN9PjZduQkCoxks3iUE3QNijcD0KV0RARIts5/tpQkDByqFFtvNEQKRwPQrXozpAfT81XrpJQkDufD81XnpBQMdLN4lBIEJAZ2ZmZmbmQkASg8DKoUUQQDDdJAaBlQNAF9nO91Pj5T/VeOkmMQgWQAAAAAAAAAAAAAAAAAAAAAA830+Nl27iPwAAAAAAAAAAPzVeukkMGECkcD0K16MhQG8Sg8DKoQlAAAAAAAAAAAAAAAAAAAAAAB1aZDvfTwVAcT0K16NwE0Aw3SQGgZUTQHWTGARWDglA", - "dtype": "f8" - }, - "coloraxis": "coloraxis", - "opacity": 1, - "size": { - "bdata": "ppvEILByBEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEVg5tMh29j8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+CtejcD0lQPYoXI/C9S5AAAAAAAAAAAAAAAAAAAAAACuHFtnO90ZA/tR46SYxSEAUrkfhetRJQLbz/dR46UhAiBbZzvcTRUARWDm0yHZGQLbz/dR4qUZAQmDl0CJbRkC0yHa+n1pIQCuHFtnOdztAvHSTGARWSEAEVg4tst1JQPCnxks3iUZA9ihcj8I1SECBlUOLbCdRQNijcD0Kl0ZAPN9PjZeuRECq8dJNYpBOQESLbOf76U9A/Knx0k1CVEB9PzVeuolEQH0/NV66yU9AXI/C9Sj8V0CUGARWDi1WQIlBYOXQwlZAMQisHFokVEDVeOkmMchTQM3MzMzM7FRAEoPAyqElWEBSuB6F61FWQF66SQwCK1VASgwCK4cWVECF61G4HiVaQD81XrpJDEhA5KWbxCDwUEBnZmZmZqZJQAwCK4cWGUxA9P3UeOlGVECsHFpkO99cQHe+nxov3VtA7FG4HoULW0CamZmZmflYQPT91HjpZl5A+VPjpZtkXkBDYOXQIjteQIts5/up8VxAQ2Dl0CJbX0DqJjEIrNxdQLgehetR2FxAppvEILByXUD+1HjpJpFbQKJFtvP9VFxARbbz/dS4YEAhsHJokU1eQO58PzVe6mBAoUW28/2UXkBzaJHtfD9fQH0/NV66qV5AC9ejcD3qXkAhsHJokS1dQBKDwMqhpVxAO99PjZeuXUDkpZvEIBBbQPCnxks3SVRAiUFg5dDiV0Bh5dAi23lcQAIrhxbZrlxArBxaZDufWkBjEFg5tMhaQFCNl24Sg1xAtvP91HgJWkCF61G4HqVVQL+fGi/dxFdAeekmMQisHkAAAAAAAAA7QBkEVg4tUlVAke18PzX+WEDy0k1iEHhaQNV46SYxiFpA5/up8dINW0DVeOkmMWhZQEW28/3UuFlAiUFg5dBCW0AAAAAAAOBZQEJg5dAi+1tA5/up8dINW0CsHFpkO39ZQDm0yHa+/1tAcT0K16NwXEDO91PjpVtdQHe+nxov3VtAAiuHFtnOXUDwp8ZLNylcQFYOLbKd71tAMQisHFoEXEBEi2zn+wlYQKnGSzeJ4VxAeekmMQiMXUBI4XoUrodcQG3n+6nxclxAwcqhRbZTWEDByqFFtjNXQGMQWDm0qFBAUrgehevRSkBqvHSTGIRIQEjhehSuh0NAPN9PjZduQkCoxks3iUE3QNijcD0KV0RARIts5/tpQkDByqFFtvNEQKRwPQrXozpAfT81XrpJQkDufD81XnpBQMdLN4lBIEJAZ2ZmZmbmQkASg8DKoUUQQDDdJAaBlQNAF9nO91Pj5T/VeOkmMQgWQAAAAAAAAAAAAAAAAAAAAAA830+Nl27iPwAAAAAAAAAAPzVeukkMGECkcD0K16MhQG8Sg8DKoQlAAAAAAAAAAAAAAAAAAAAAAB1aZDvfTwVAcT0K16NwE0Aw3SQGgZUTQHWTGARWDglA", - "dtype": "f8" - }, - "sizemode": "area", - "sizeref": 1.6706666666666667 - }, - "mode": "markers", - "name": "", - "showlegend": false, - "subplot": "map", - "type": "scattermap" - } - ], - "layout": { - "coloraxis": { - "colorbar": { - "title": { - "text": "speed" - } - }, - "colorscale": [ - [ - 0, - "rgb(0,0,131)" - ], - [ - 0.2, - "rgb(0,60,170)" - ], - [ - 0.4, - "rgb(5,255,255)" - ], - [ - 0.6, - "rgb(255,255,0)" - ], - [ - 0.8, - "rgb(250,0,0)" - ], - [ - 1, - "rgb(128,0,0)" - ] - ] - }, - "legend": { - "itemsizing": "constant", - "tracegroupgap": 0 - }, - "map": { - "center": { - "lat": 49.447130421666664, - "lon": 17.495110208395065 - }, - "domain": { - "x": [ - 0, - 1 - ], - "y": [ - 0, - 1 - ] - }, - "style": "open-street-map", - "zoom": 8 - }, - "mapbox": { - "center": { - "lat": 49.447130421666664, - "lon": 17.495110208395065 - }, - "style": "open-street-map", - "zoom": 8 - }, - "margin": { - "t": 60 - }, - "template": { - "data": { - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "choropleth": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "choropleth" - } - ], - "contour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "contour" - } - ], - "contourcarpet": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "contourcarpet" - } - ], - "heatmap": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmap" - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "histogram2d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2d" - } - ], - "histogram2dcontour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2dcontour" - } - ], - "mesh3d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "mesh3d" - } - ], - "parcoords": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "parcoords" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "scatter3d": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatter3d" - } - ], - "scattercarpet": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattercarpet" - } - ], - "scattergeo": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergeo" - } - ], - "scattergl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergl" - } - ], - "scattermap": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermap" - } - ], - "scattermapbox": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermapbox" - } - ], - "scatterpolar": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolar" - } - ], - "scatterpolargl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolargl" - } - ], - "scatterternary": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterternary" - } - ], - "surface": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "surface" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ] - }, - "layout": { - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "autotypenumbers": "strict", - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ], - "sequential": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ] - }, - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "geo": { - "bgcolor": "white", - "lakecolor": "white", - "landcolor": "#E5ECF6", - "showlakes": true, - "showland": true, - "subunitcolor": "white" - }, - "hoverlabel": { - "align": "left" - }, - "hovermode": "closest", - "mapbox": { - "style": "light" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "ternary": { - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "title": { - "x": 0.05 - }, - "xaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - }, - "yaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - } - } - } - } - }, - "text/html": [ - "<div> <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script> <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n", - " <script type=\"text/javascript\">/**\n", - "* plotly.js v3.0.1\n", - "* Copyright 2012-2025, Plotly, Inc.\n", - "* All rights reserved.\n", - "* Licensed under the MIT license\n", - "*/\n", - "(\n", - " function(root, factory) {\n", - " if (typeof module === \"object\" && module.exports) {\n", - " module.exports = factory();\n", - " } else {\n", - " root.moduleName = factory();\n", - " }\n", - "} (typeof self !== \"undefined\" ? self : this, () => {\n", - "\"use strict\";var Plotly=(()=>{var VQe=Object.create;var MS=Object.defineProperty,HQe=Object.defineProperties,GQe=Object.getOwnPropertyDescriptor,jQe=Object.getOwnPropertyDescriptors,WQe=Object.getOwnPropertyNames,XQ=Object.getOwnPropertySymbols,ZQe=Object.getPrototypeOf,KQ=Object.prototype.hasOwnProperty,XQe=Object.prototype.propertyIsEnumerable;var YQ=(e,t,r)=>t in e?MS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,JQ=(e,t)=>{for(var r in t||(t={}))KQ.call(t,r)&&YQ(e,r,t[r]);if(XQ)for(var r of XQ(t))XQe.call(t,r)&&YQ(e,r,t[r]);return e},$Q=(e,t)=>HQe(e,jQe(t));var Ll=(e,t)=>()=>(e&&(t=e(e=0)),t);var ye=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),QQ=(e,t)=>{for(var r in t)MS(e,r,{get:t[r],enumerable:!0})},eee=(e,t,r,n)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let i of WQe(t))!KQ.call(e,i)&&i!==r&&MS(e,i,{get:()=>t[i],enumerable:!(n=GQe(t,i))||n.enumerable});return e};var YQe=(e,t,r)=>(r=e!=null?VQe(ZQe(e)):{},eee(t||!e||!e.__esModule?MS(r,\"default\",{value:e,enumerable:!0}):r,e)),B1=e=>eee(MS({},\"__esModule\",{value:!0}),e);var e6=ye(tee=>{\"use strict\";tee.version=\"3.0.1\"});var iee=ye((ree,t6)=>{(function(t,r,n){r[t]=r[t]||n(),typeof t6!=\"undefined\"&&t6.exports&&(t6.exports=r[t])})(\"Promise\",typeof window!=\"undefined\"?window:ree,function(){\"use strict\";var t,r,n,i=Object.prototype.toString,a=typeof setImmediate!=\"undefined\"?function(E){return setImmediate(E)}:setTimeout;try{Object.defineProperty({},\"x\",{}),t=function(E,k,A,L){return Object.defineProperty(E,k,{value:A,writable:!0,configurable:L!==!1})}}catch(p){t=function(k,A,L){return k[A]=L,k}}n=function(){var E,k,A;function L(_,C){this.fn=_,this.self=C,this.next=void 0}return{add:function(C,M){A=new L(C,M),k?k.next=A:E=A,k=A,A=void 0},drain:function(){var C=E;for(E=k=r=void 0;C;)C.fn.call(C.self),C=C.next}}}();function o(p,E){n.add(p,E),r||(r=a(n.drain))}function s(p){var E,k=typeof p;return p!=null&&(k==\"object\"||k==\"function\")&&(E=p.then),typeof E==\"function\"?E:!1}function l(){for(var p=0;p<this.chain.length;p++)u(this,this.state===1?this.chain[p].success:this.chain[p].failure,this.chain[p]);this.chain.length=0}function u(p,E,k){var A,L;try{E===!1?k.reject(p.msg):(E===!0?A=p.msg:A=E.call(void 0,p.msg),A===k.promise?k.reject(TypeError(\"Promise-chain cycle\")):(L=s(A))?L.call(A,k.resolve,k.reject):k.resolve(A))}catch(_){k.reject(_)}}function c(p){var E,k=this;if(!k.triggered){k.triggered=!0,k.def&&(k=k.def);try{(E=s(p))?o(function(){var A=new d(k);try{E.call(p,function(){c.apply(A,arguments)},function(){f.apply(A,arguments)})}catch(L){f.call(A,L)}}):(k.msg=p,k.state=1,k.chain.length>0&&o(l,k))}catch(A){f.call(new d(k),A)}}}function f(p){var E=this;E.triggered||(E.triggered=!0,E.def&&(E=E.def),E.msg=p,E.state=2,E.chain.length>0&&o(l,E))}function h(p,E,k,A){for(var L=0;L<E.length;L++)(function(C){p.resolve(E[C]).then(function(g){k(C,g)},A)})(L)}function d(p){this.def=p,this.triggered=!1}function v(p){this.promise=p,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function x(p){if(typeof p!=\"function\")throw TypeError(\"Not a function\");if(this.__NPO__!==0)throw TypeError(\"Not a promise\");this.__NPO__=1;var E=new v(this);this.then=function(A,L){var _={success:typeof A==\"function\"?A:!0,failure:typeof L==\"function\"?L:!1};return _.promise=new this.constructor(function(M,g){if(typeof M!=\"function\"||typeof g!=\"function\")throw TypeError(\"Not a function\");_.resolve=M,_.reject=g}),E.chain.push(_),E.state!==0&&o(l,E),_.promise},this.catch=function(A){return this.then(void 0,A)};try{p.call(void 0,function(A){c.call(E,A)},function(A){f.call(E,A)})}catch(k){f.call(E,k)}}var b=t({},\"constructor\",x,!1);return x.prototype=b,t(b,\"__NPO__\",0,!1),t(x,\"resolve\",function(E){var k=this;return E&&typeof E==\"object\"&&E.__NPO__===1?E:new k(function(L,_){if(typeof L!=\"function\"||typeof _!=\"function\")throw TypeError(\"Not a function\");L(E)})}),t(x,\"reject\",function(E){return new this(function(A,L){if(typeof A!=\"function\"||typeof L!=\"function\")throw TypeError(\"Not a function\");L(E)})}),t(x,\"all\",function(E){var k=this;return i.call(E)!=\"[object Array]\"?k.reject(TypeError(\"Not an array\")):E.length===0?k.resolve([]):new k(function(L,_){if(typeof L!=\"function\"||typeof _!=\"function\")throw TypeError(\"Not a function\");var C=E.length,M=Array(C),g=0;h(k,E,function(T,F){M[T]=F,++g===C&&L(M)},_)})}),t(x,\"race\",function(E){var k=this;return i.call(E)!=\"[object Array]\"?k.reject(TypeError(\"Not an array\")):new k(function(L,_){if(typeof L!=\"function\"||typeof _!=\"function\")throw TypeError(\"Not a function\");h(k,E,function(M,g){L(g)},_)})}),x})});var xa=ye((qQt,r6)=>{(function(){var e={version:\"3.8.2\"},t=[].slice,r=function(Z){return t.call(Z)},n=self.document;function i(Z){return Z&&(Z.ownerDocument||Z.document||Z).documentElement}function a(Z){return Z&&(Z.ownerDocument&&Z.ownerDocument.defaultView||Z.document&&Z||Z.defaultView)}if(n)try{r(n.documentElement.childNodes)[0].nodeType}catch(Z){r=function(oe){for(var we=oe.length,Be=new Array(we);we--;)Be[we]=oe[we];return Be}}if(Date.now||(Date.now=function(){return+new Date}),n)try{n.createElement(\"DIV\").style.setProperty(\"opacity\",0,\"\")}catch(Z){var o=this.Element.prototype,s=o.setAttribute,l=o.setAttributeNS,u=this.CSSStyleDeclaration.prototype,c=u.setProperty;o.setAttribute=function(oe,we){s.call(this,oe,we+\"\")},o.setAttributeNS=function(oe,we,Be){l.call(this,oe,we,Be+\"\")},u.setProperty=function(oe,we,Be){c.call(this,oe,we+\"\",Be)}}e.ascending=f;function f(Z,oe){return Z<oe?-1:Z>oe?1:Z>=oe?0:NaN}e.descending=function(Z,oe){return oe<Z?-1:oe>Z?1:oe>=Z?0:NaN},e.min=function(Z,oe){var we=-1,Be=Z.length,Ue,We;if(arguments.length===1){for(;++we<Be;)if((We=Z[we])!=null&&We>=We){Ue=We;break}for(;++we<Be;)(We=Z[we])!=null&&Ue>We&&(Ue=We)}else{for(;++we<Be;)if((We=oe.call(Z,Z[we],we))!=null&&We>=We){Ue=We;break}for(;++we<Be;)(We=oe.call(Z,Z[we],we))!=null&&Ue>We&&(Ue=We)}return Ue},e.max=function(Z,oe){var we=-1,Be=Z.length,Ue,We;if(arguments.length===1){for(;++we<Be;)if((We=Z[we])!=null&&We>=We){Ue=We;break}for(;++we<Be;)(We=Z[we])!=null&&We>Ue&&(Ue=We)}else{for(;++we<Be;)if((We=oe.call(Z,Z[we],we))!=null&&We>=We){Ue=We;break}for(;++we<Be;)(We=oe.call(Z,Z[we],we))!=null&&We>Ue&&(Ue=We)}return Ue},e.extent=function(Z,oe){var we=-1,Be=Z.length,Ue,We,wt;if(arguments.length===1){for(;++we<Be;)if((We=Z[we])!=null&&We>=We){Ue=wt=We;break}for(;++we<Be;)(We=Z[we])!=null&&(Ue>We&&(Ue=We),wt<We&&(wt=We))}else{for(;++we<Be;)if((We=oe.call(Z,Z[we],we))!=null&&We>=We){Ue=wt=We;break}for(;++we<Be;)(We=oe.call(Z,Z[we],we))!=null&&(Ue>We&&(Ue=We),wt<We&&(wt=We))}return[Ue,wt]};function h(Z){return Z===null?NaN:+Z}function d(Z){return!isNaN(Z)}e.sum=function(Z,oe){var we=0,Be=Z.length,Ue,We=-1;if(arguments.length===1)for(;++We<Be;)d(Ue=+Z[We])&&(we+=Ue);else for(;++We<Be;)d(Ue=+oe.call(Z,Z[We],We))&&(we+=Ue);return we},e.mean=function(Z,oe){var we=0,Be=Z.length,Ue,We=-1,wt=Be;if(arguments.length===1)for(;++We<Be;)d(Ue=h(Z[We]))?we+=Ue:--wt;else for(;++We<Be;)d(Ue=h(oe.call(Z,Z[We],We)))?we+=Ue:--wt;if(wt)return we/wt},e.quantile=function(Z,oe){var we=(Z.length-1)*oe+1,Be=Math.floor(we),Ue=+Z[Be-1],We=we-Be;return We?Ue+We*(Z[Be]-Ue):Ue},e.median=function(Z,oe){var we=[],Be=Z.length,Ue,We=-1;if(arguments.length===1)for(;++We<Be;)d(Ue=h(Z[We]))&&we.push(Ue);else for(;++We<Be;)d(Ue=h(oe.call(Z,Z[We],We)))&&we.push(Ue);if(we.length)return e.quantile(we.sort(f),.5)},e.variance=function(Z,oe){var we=Z.length,Be=0,Ue,We,wt=0,tt=-1,zt=0;if(arguments.length===1)for(;++tt<we;)d(Ue=h(Z[tt]))&&(We=Ue-Be,Be+=We/++zt,wt+=We*(Ue-Be));else for(;++tt<we;)d(Ue=h(oe.call(Z,Z[tt],tt)))&&(We=Ue-Be,Be+=We/++zt,wt+=We*(Ue-Be));if(zt>1)return wt/(zt-1)},e.deviation=function(){var Z=e.variance.apply(this,arguments);return Z&&Math.sqrt(Z)};function v(Z){return{left:function(oe,we,Be,Ue){for(arguments.length<3&&(Be=0),arguments.length<4&&(Ue=oe.length);Be<Ue;){var We=Be+Ue>>>1;Z(oe[We],we)<0?Be=We+1:Ue=We}return Be},right:function(oe,we,Be,Ue){for(arguments.length<3&&(Be=0),arguments.length<4&&(Ue=oe.length);Be<Ue;){var We=Be+Ue>>>1;Z(oe[We],we)>0?Ue=We:Be=We+1}return Be}}}var x=v(f);e.bisectLeft=x.left,e.bisect=e.bisectRight=x.right,e.bisector=function(Z){return v(Z.length===1?function(oe,we){return f(Z(oe),we)}:Z)},e.shuffle=function(Z,oe,we){(Be=arguments.length)<3&&(we=Z.length,Be<2&&(oe=0));for(var Be=we-oe,Ue,We;Be;)We=Math.random()*Be--|0,Ue=Z[Be+oe],Z[Be+oe]=Z[We+oe],Z[We+oe]=Ue;return Z},e.permute=function(Z,oe){for(var we=oe.length,Be=new Array(we);we--;)Be[we]=Z[oe[we]];return Be},e.pairs=function(Z){for(var oe=0,we=Z.length-1,Be,Ue=Z[0],We=new Array(we<0?0:we);oe<we;)We[oe]=[Be=Ue,Ue=Z[++oe]];return We},e.transpose=function(Z){if(!(We=Z.length))return[];for(var oe=-1,we=e.min(Z,b),Be=new Array(we);++oe<we;)for(var Ue=-1,We,wt=Be[oe]=new Array(We);++Ue<We;)wt[Ue]=Z[Ue][oe];return Be};function b(Z){return Z.length}e.zip=function(){return e.transpose(arguments)},e.keys=function(Z){var oe=[];for(var we in Z)oe.push(we);return oe},e.values=function(Z){var oe=[];for(var we in Z)oe.push(Z[we]);return oe},e.entries=function(Z){var oe=[];for(var we in Z)oe.push({key:we,value:Z[we]});return oe},e.merge=function(Z){for(var oe=Z.length,we,Be=-1,Ue=0,We,wt;++Be<oe;)Ue+=Z[Be].length;for(We=new Array(Ue);--oe>=0;)for(wt=Z[oe],we=wt.length;--we>=0;)We[--Ue]=wt[we];return We};var p=Math.abs;e.range=function(Z,oe,we){if(arguments.length<3&&(we=1,arguments.length<2&&(oe=Z,Z=0)),(oe-Z)/we===1/0)throw new Error(\"infinite range\");var Be=[],Ue=E(p(we)),We=-1,wt;if(Z*=Ue,oe*=Ue,we*=Ue,we<0)for(;(wt=Z+we*++We)>oe;)Be.push(wt/Ue);else for(;(wt=Z+we*++We)<oe;)Be.push(wt/Ue);return Be};function E(Z){for(var oe=1;Z*oe%1;)oe*=10;return oe}function k(Z,oe){for(var we in oe)Object.defineProperty(Z.prototype,we,{value:oe[we],enumerable:!1})}e.map=function(Z,oe){var we=new A;if(Z instanceof A)Z.forEach(function(tt,zt){we.set(tt,zt)});else if(Array.isArray(Z)){var Be=-1,Ue=Z.length,We;if(arguments.length===1)for(;++Be<Ue;)we.set(Be,Z[Be]);else for(;++Be<Ue;)we.set(oe.call(Z,We=Z[Be],Be),We)}else for(var wt in Z)we.set(wt,Z[wt]);return we};function A(){this._=Object.create(null)}var L=\"__proto__\",_=\"\\0\";k(A,{has:g,get:function(Z){return this._[C(Z)]},set:function(Z,oe){return this._[C(Z)]=oe},remove:P,keys:T,values:function(){var Z=[];for(var oe in this._)Z.push(this._[oe]);return Z},entries:function(){var Z=[];for(var oe in this._)Z.push({key:M(oe),value:this._[oe]});return Z},size:F,empty:q,forEach:function(Z){for(var oe in this._)Z.call(this,M(oe),this._[oe])}});function C(Z){return(Z+=\"\")===L||Z[0]===_?_+Z:Z}function M(Z){return(Z+=\"\")[0]===_?Z.slice(1):Z}function g(Z){return C(Z)in this._}function P(Z){return(Z=C(Z))in this._&&delete this._[Z]}function T(){var Z=[];for(var oe in this._)Z.push(M(oe));return Z}function F(){var Z=0;for(var oe in this._)++Z;return Z}function q(){for(var Z in this._)return!1;return!0}e.nest=function(){var Z={},oe=[],we=[],Be,Ue;function We(tt,zt,or){if(or>=oe.length)return Ue?Ue.call(Z,zt):Be?zt.sort(Be):zt;for(var lr=-1,Dr=zt.length,Ir=oe[or++],oi,ui,qr,Kr=new A,ii;++lr<Dr;)(ii=Kr.get(oi=Ir(ui=zt[lr])))?ii.push(ui):Kr.set(oi,[ui]);return tt?(ui=tt(),qr=function(vi,ci){ui.set(vi,We(tt,ci,or))}):(ui={},qr=function(vi,ci){ui[vi]=We(tt,ci,or)}),Kr.forEach(qr),ui}function wt(tt,zt){if(zt>=oe.length)return tt;var or=[],lr=we[zt++];return tt.forEach(function(Dr,Ir){or.push({key:Dr,values:wt(Ir,zt)})}),lr?or.sort(function(Dr,Ir){return lr(Dr.key,Ir.key)}):or}return Z.map=function(tt,zt){return We(zt,tt,0)},Z.entries=function(tt){return wt(We(e.map,tt,0),0)},Z.key=function(tt){return oe.push(tt),Z},Z.sortKeys=function(tt){return we[oe.length-1]=tt,Z},Z.sortValues=function(tt){return Be=tt,Z},Z.rollup=function(tt){return Ue=tt,Z},Z},e.set=function(Z){var oe=new V;if(Z)for(var we=0,Be=Z.length;we<Be;++we)oe.add(Z[we]);return oe};function V(){this._=Object.create(null)}k(V,{has:g,add:function(Z){return this._[C(Z+=\"\")]=!0,Z},remove:P,values:T,size:F,empty:q,forEach:function(Z){for(var oe in this._)Z.call(this,M(oe))}}),e.behavior={};function H(Z){return Z}e.rebind=function(Z,oe){for(var we=1,Be=arguments.length,Ue;++we<Be;)Z[Ue=arguments[we]]=X(Z,oe,oe[Ue]);return Z};function X(Z,oe,we){return function(){var Be=we.apply(oe,arguments);return Be===oe?Z:Be}}function G(Z,oe){if(oe in Z)return oe;oe=oe.charAt(0).toUpperCase()+oe.slice(1);for(var we=0,Be=N.length;we<Be;++we){var Ue=N[we]+oe;if(Ue in Z)return Ue}}var N=[\"webkit\",\"ms\",\"moz\",\"Moz\",\"o\",\"O\"];function W(){}e.dispatch=function(){for(var Z=new re,oe=-1,we=arguments.length;++oe<we;)Z[arguments[oe]]=ae(Z);return Z};function re(){}re.prototype.on=function(Z,oe){var we=Z.indexOf(\".\"),Be=\"\";if(we>=0&&(Be=Z.slice(we+1),Z=Z.slice(0,we)),Z)return arguments.length<2?this[Z].on(Be):this[Z].on(Be,oe);if(arguments.length===2){if(oe==null)for(Z in this)this.hasOwnProperty(Z)&&this[Z].on(Be,null);return this}};function ae(Z){var oe=[],we=new A;function Be(){for(var Ue=oe,We=-1,wt=Ue.length,tt;++We<wt;)(tt=Ue[We].on)&&tt.apply(this,arguments);return Z}return Be.on=function(Ue,We){var wt=we.get(Ue),tt;return arguments.length<2?wt&&wt.on:(wt&&(wt.on=null,oe=oe.slice(0,tt=oe.indexOf(wt)).concat(oe.slice(tt+1)),we.remove(Ue)),We&&oe.push(we.set(Ue,{on:We})),Z)},Be}e.event=null;function _e(){e.event.preventDefault()}function Me(){for(var Z=e.event,oe;oe=Z.sourceEvent;)Z=oe;return Z}function ke(Z){for(var oe=new re,we=0,Be=arguments.length;++we<Be;)oe[arguments[we]]=ae(oe);return oe.of=function(Ue,We){return function(wt){try{var tt=wt.sourceEvent=e.event;wt.target=Z,e.event=wt,oe[wt.type].apply(Ue,We)}finally{e.event=tt}}},oe}e.requote=function(Z){return Z.replace(ge,\"\\\\$&\")};var ge=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g,ie={}.__proto__?function(Z,oe){Z.__proto__=oe}:function(Z,oe){for(var we in oe)Z[we]=oe[we]};function Te(Z){return ie(Z,Ce),Z}var Ee=function(Z,oe){return oe.querySelector(Z)},Ae=function(Z,oe){return oe.querySelectorAll(Z)},ze=function(Z,oe){var we=Z.matches||Z[G(Z,\"matchesSelector\")];return ze=function(Be,Ue){return we.call(Be,Ue)},ze(Z,oe)};typeof Sizzle==\"function\"&&(Ee=function(Z,oe){return Sizzle(Z,oe)[0]||null},Ae=Sizzle,ze=Sizzle.matchesSelector),e.selection=function(){return e.select(n.documentElement)};var Ce=e.selection.prototype=[];Ce.select=function(Z){var oe=[],we,Be,Ue,We;Z=me(Z);for(var wt=-1,tt=this.length;++wt<tt;){oe.push(we=[]),we.parentNode=(Ue=this[wt]).parentNode;for(var zt=-1,or=Ue.length;++zt<or;)(We=Ue[zt])?(we.push(Be=Z.call(We,We.__data__,zt,wt)),Be&&\"__data__\"in We&&(Be.__data__=We.__data__)):we.push(null)}return Te(oe)};function me(Z){return typeof Z==\"function\"?Z:function(){return Ee(Z,this)}}Ce.selectAll=function(Z){var oe=[],we,Be;Z=Re(Z);for(var Ue=-1,We=this.length;++Ue<We;)for(var wt=this[Ue],tt=-1,zt=wt.length;++tt<zt;)(Be=wt[tt])&&(oe.push(we=r(Z.call(Be,Be.__data__,tt,Ue))),we.parentNode=Be);return Te(oe)};function Re(Z){return typeof Z==\"function\"?Z:function(){return Ae(Z,this)}}var ce=\"http://www.w3.org/1999/xhtml\",Ge={svg:\"http://www.w3.org/2000/svg\",xhtml:ce,xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"};e.ns={prefix:Ge,qualify:function(Z){var oe=Z.indexOf(\":\"),we=Z;return oe>=0&&(we=Z.slice(0,oe))!==\"xmlns\"&&(Z=Z.slice(oe+1)),Ge.hasOwnProperty(we)?{space:Ge[we],local:Z}:Z}},Ce.attr=function(Z,oe){if(arguments.length<2){if(typeof Z==\"string\"){var we=this.node();return Z=e.ns.qualify(Z),Z.local?we.getAttributeNS(Z.space,Z.local):we.getAttribute(Z)}for(oe in Z)this.each(nt(oe,Z[oe]));return this}return this.each(nt(Z,oe))};function nt(Z,oe){Z=e.ns.qualify(Z);function we(){this.removeAttribute(Z)}function Be(){this.removeAttributeNS(Z.space,Z.local)}function Ue(){this.setAttribute(Z,oe)}function We(){this.setAttributeNS(Z.space,Z.local,oe)}function wt(){var zt=oe.apply(this,arguments);zt==null?this.removeAttribute(Z):this.setAttribute(Z,zt)}function tt(){var zt=oe.apply(this,arguments);zt==null?this.removeAttributeNS(Z.space,Z.local):this.setAttributeNS(Z.space,Z.local,zt)}return oe==null?Z.local?Be:we:typeof oe==\"function\"?Z.local?tt:wt:Z.local?We:Ue}function ct(Z){return Z.trim().replace(/\\s+/g,\" \")}Ce.classed=function(Z,oe){if(arguments.length<2){if(typeof Z==\"string\"){var we=this.node(),Be=(Z=rt(Z)).length,Ue=-1;if(oe=we.classList){for(;++Ue<Be;)if(!oe.contains(Z[Ue]))return!1}else for(oe=we.getAttribute(\"class\");++Ue<Be;)if(!qt(Z[Ue]).test(oe))return!1;return!0}for(oe in Z)this.each(ot(oe,Z[oe]));return this}return this.each(ot(Z,oe))};function qt(Z){return new RegExp(\"(?:^|\\\\s+)\"+e.requote(Z)+\"(?:\\\\s+|$)\",\"g\")}function rt(Z){return(Z+\"\").trim().split(/^|\\s+/)}function ot(Z,oe){Z=rt(Z).map(Rt);var we=Z.length;function Be(){for(var We=-1;++We<we;)Z[We](this,oe)}function Ue(){for(var We=-1,wt=oe.apply(this,arguments);++We<we;)Z[We](this,wt)}return typeof oe==\"function\"?Ue:Be}function Rt(Z){var oe=qt(Z);return function(we,Be){if(Ue=we.classList)return Be?Ue.add(Z):Ue.remove(Z);var Ue=we.getAttribute(\"class\")||\"\";Be?(oe.lastIndex=0,oe.test(Ue)||we.setAttribute(\"class\",ct(Ue+\" \"+Z))):we.setAttribute(\"class\",ct(Ue.replace(oe,\" \")))}}Ce.style=function(Z,oe,we){var Be=arguments.length;if(Be<3){if(typeof Z!=\"string\"){Be<2&&(oe=\"\");for(we in Z)this.each(kt(we,Z[we],oe));return this}if(Be<2){var Ue=this.node();return a(Ue).getComputedStyle(Ue,null).getPropertyValue(Z)}we=\"\"}return this.each(kt(Z,oe,we))};function kt(Z,oe,we){function Be(){this.style.removeProperty(Z)}function Ue(){this.style.setProperty(Z,oe,we)}function We(){var wt=oe.apply(this,arguments);wt==null?this.style.removeProperty(Z):this.style.setProperty(Z,wt,we)}return oe==null?Be:typeof oe==\"function\"?We:Ue}Ce.property=function(Z,oe){if(arguments.length<2){if(typeof Z==\"string\")return this.node()[Z];for(oe in Z)this.each(Ct(oe,Z[oe]));return this}return this.each(Ct(Z,oe))};function Ct(Z,oe){function we(){delete this[Z]}function Be(){this[Z]=oe}function Ue(){var We=oe.apply(this,arguments);We==null?delete this[Z]:this[Z]=We}return oe==null?we:typeof oe==\"function\"?Ue:Be}Ce.text=function(Z){return arguments.length?this.each(typeof Z==\"function\"?function(){var oe=Z.apply(this,arguments);this.textContent=oe==null?\"\":oe}:Z==null?function(){this.textContent=\"\"}:function(){this.textContent=Z}):this.node().textContent},Ce.html=function(Z){return arguments.length?this.each(typeof Z==\"function\"?function(){var oe=Z.apply(this,arguments);this.innerHTML=oe==null?\"\":oe}:Z==null?function(){this.innerHTML=\"\"}:function(){this.innerHTML=Z}):this.node().innerHTML},Ce.append=function(Z){return Z=Yt(Z),this.select(function(){return this.appendChild(Z.apply(this,arguments))})};function Yt(Z){function oe(){var Be=this.ownerDocument,Ue=this.namespaceURI;return Ue===ce&&Be.documentElement.namespaceURI===ce?Be.createElement(Z):Be.createElementNS(Ue,Z)}function we(){return this.ownerDocument.createElementNS(Z.space,Z.local)}return typeof Z==\"function\"?Z:(Z=e.ns.qualify(Z)).local?we:oe}Ce.insert=function(Z,oe){return Z=Yt(Z),oe=me(oe),this.select(function(){return this.insertBefore(Z.apply(this,arguments),oe.apply(this,arguments)||null)})},Ce.remove=function(){return this.each(xr)};function xr(){var Z=this.parentNode;Z&&Z.removeChild(this)}Ce.data=function(Z,oe){var we=-1,Be=this.length,Ue,We;if(!arguments.length){for(Z=new Array(Be=(Ue=this[0]).length);++we<Be;)(We=Ue[we])&&(Z[we]=We.__data__);return Z}function wt(lr,Dr){var Ir,oi=lr.length,ui=Dr.length,qr=Math.min(oi,ui),Kr=new Array(ui),ii=new Array(ui),vi=new Array(oi),ci,Jr;if(oe){var un=new A,dn=new Array(oi),En;for(Ir=-1;++Ir<oi;)(ci=lr[Ir])&&(un.has(En=oe.call(ci,ci.__data__,Ir))?vi[Ir]=ci:un.set(En,ci),dn[Ir]=En);for(Ir=-1;++Ir<ui;)(ci=un.get(En=oe.call(Dr,Jr=Dr[Ir],Ir)))?ci!==!0&&(Kr[Ir]=ci,ci.__data__=Jr):ii[Ir]=er(Jr),un.set(En,!0);for(Ir=-1;++Ir<oi;)Ir in dn&&un.get(dn[Ir])!==!0&&(vi[Ir]=lr[Ir])}else{for(Ir=-1;++Ir<qr;)ci=lr[Ir],Jr=Dr[Ir],ci?(ci.__data__=Jr,Kr[Ir]=ci):ii[Ir]=er(Jr);for(;Ir<ui;++Ir)ii[Ir]=er(Dr[Ir]);for(;Ir<oi;++Ir)vi[Ir]=lr[Ir]}ii.update=Kr,ii.parentNode=Kr.parentNode=vi.parentNode=lr.parentNode,tt.push(ii),zt.push(Kr),or.push(vi)}var tt=Lt([]),zt=Te([]),or=Te([]);if(typeof Z==\"function\")for(;++we<Be;)wt(Ue=this[we],Z.call(Ue,Ue.parentNode.__data__,we));else for(;++we<Be;)wt(Ue=this[we],Z);return zt.enter=function(){return tt},zt.exit=function(){return or},zt};function er(Z){return{__data__:Z}}Ce.datum=function(Z){return arguments.length?this.property(\"__data__\",Z):this.property(\"__data__\")},Ce.filter=function(Z){var oe=[],we,Be,Ue;typeof Z!=\"function\"&&(Z=Ke(Z));for(var We=0,wt=this.length;We<wt;We++){oe.push(we=[]),we.parentNode=(Be=this[We]).parentNode;for(var tt=0,zt=Be.length;tt<zt;tt++)(Ue=Be[tt])&&Z.call(Ue,Ue.__data__,tt,We)&&we.push(Ue)}return Te(oe)};function Ke(Z){return function(){return ze(this,Z)}}Ce.order=function(){for(var Z=-1,oe=this.length;++Z<oe;)for(var we=this[Z],Be=we.length-1,Ue=we[Be],We;--Be>=0;)(We=we[Be])&&(Ue&&Ue!==We.nextSibling&&Ue.parentNode.insertBefore(We,Ue),Ue=We);return this},Ce.sort=function(Z){Z=xt.apply(this,arguments);for(var oe=-1,we=this.length;++oe<we;)this[oe].sort(Z);return this.order()};function xt(Z){return arguments.length||(Z=f),function(oe,we){return oe&&we?Z(oe.__data__,we.__data__):!oe-!we}}Ce.each=function(Z){return bt(this,function(oe,we,Be){Z.call(oe,oe.__data__,we,Be)})};function bt(Z,oe){for(var we=0,Be=Z.length;we<Be;we++)for(var Ue=Z[we],We=0,wt=Ue.length,tt;We<wt;We++)(tt=Ue[We])&&oe(tt,We,we);return Z}Ce.call=function(Z){var oe=r(arguments);return Z.apply(oe[0]=this,oe),this},Ce.empty=function(){return!this.node()},Ce.node=function(){for(var Z=0,oe=this.length;Z<oe;Z++)for(var we=this[Z],Be=0,Ue=we.length;Be<Ue;Be++){var We=we[Be];if(We)return We}return null},Ce.size=function(){var Z=0;return bt(this,function(){++Z}),Z};function Lt(Z){return ie(Z,St),Z}var St=[];e.selection.enter=Lt,e.selection.enter.prototype=St,St.append=Ce.append,St.empty=Ce.empty,St.node=Ce.node,St.call=Ce.call,St.size=Ce.size,St.select=function(Z){for(var oe=[],we,Be,Ue,We,wt,tt=-1,zt=this.length;++tt<zt;){Ue=(We=this[tt]).update,oe.push(we=[]),we.parentNode=We.parentNode;for(var or=-1,lr=We.length;++or<lr;)(wt=We[or])?(we.push(Ue[or]=Be=Z.call(We.parentNode,wt.__data__,or,tt)),Be.__data__=wt.__data__):we.push(null)}return Te(oe)},St.insert=function(Z,oe){return arguments.length<2&&(oe=Et(this)),Ce.insert.call(this,Z,oe)};function Et(Z){var oe,we;return function(Be,Ue,We){var wt=Z[We].update,tt=wt.length,zt;for(We!=we&&(we=We,oe=0),Ue>=oe&&(oe=Ue+1);!(zt=wt[oe])&&++oe<tt;);return zt}}e.select=function(Z){var oe;return typeof Z==\"string\"?(oe=[Ee(Z,n)],oe.parentNode=n.documentElement):(oe=[Z],oe.parentNode=i(Z)),Te([oe])},e.selectAll=function(Z){var oe;return typeof Z==\"string\"?(oe=r(Ae(Z,n)),oe.parentNode=n.documentElement):(oe=r(Z),oe.parentNode=null),Te([oe])},Ce.on=function(Z,oe,we){var Be=arguments.length;if(Be<3){if(typeof Z!=\"string\"){Be<2&&(oe=!1);for(we in Z)this.each(dt(we,Z[we],oe));return this}if(Be<2)return(Be=this.node()[\"__on\"+Z])&&Be._;we=!1}return this.each(dt(Z,oe,we))};function dt(Z,oe,we){var Be=\"__on\"+Z,Ue=Z.indexOf(\".\"),We=$t;Ue>0&&(Z=Z.slice(0,Ue));var wt=Ht.get(Z);wt&&(Z=wt,We=fr);function tt(){var lr=this[Be];lr&&(this.removeEventListener(Z,lr,lr.$),delete this[Be])}function zt(){var lr=We(oe,r(arguments));tt.call(this),this.addEventListener(Z,this[Be]=lr,lr.$=we),lr._=oe}function or(){var lr=new RegExp(\"^__on([^.]+)\"+e.requote(Z)+\"$\"),Dr;for(var Ir in this)if(Dr=Ir.match(lr)){var oi=this[Ir];this.removeEventListener(Dr[1],oi,oi.$),delete this[Ir]}}return Ue?oe?zt:tt:oe?W:or}var Ht=e.map({mouseenter:\"mouseover\",mouseleave:\"mouseout\"});n&&Ht.forEach(function(Z){\"on\"+Z in n&&Ht.remove(Z)});function $t(Z,oe){return function(we){var Be=e.event;e.event=we,oe[0]=this.__data__;try{Z.apply(this,oe)}finally{e.event=Be}}}function fr(Z,oe){var we=$t(Z,oe);return function(Be){var Ue=this,We=Be.relatedTarget;(!We||We!==Ue&&!(We.compareDocumentPosition(Ue)&8))&&we.call(Ue,Be)}}var _r,Br=0;function Or(Z){var oe=\".dragsuppress-\"+ ++Br,we=\"click\"+oe,Be=e.select(a(Z)).on(\"touchmove\"+oe,_e).on(\"dragstart\"+oe,_e).on(\"selectstart\"+oe,_e);if(_r==null&&(_r=\"onselectstart\"in Z?!1:G(Z.style,\"userSelect\")),_r){var Ue=i(Z).style,We=Ue[_r];Ue[_r]=\"none\"}return function(wt){if(Be.on(oe,null),_r&&(Ue[_r]=We),wt){var tt=function(){Be.on(we,null)};Be.on(we,function(){_e(),tt()},!0),setTimeout(tt,0)}}}e.mouse=function(Z){return ut(Z,Me())};var Nr=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function ut(Z,oe){oe.changedTouches&&(oe=oe.changedTouches[0]);var we=Z.ownerSVGElement||Z;if(we.createSVGPoint){var Be=we.createSVGPoint();if(Nr<0){var Ue=a(Z);if(Ue.scrollX||Ue.scrollY){we=e.select(\"body\").append(\"svg\").style({position:\"absolute\",top:0,left:0,margin:0,padding:0,border:\"none\"},\"important\");var We=we[0][0].getScreenCTM();Nr=!(We.f||We.e),we.remove()}}return Nr?(Be.x=oe.pageX,Be.y=oe.pageY):(Be.x=oe.clientX,Be.y=oe.clientY),Be=Be.matrixTransform(Z.getScreenCTM().inverse()),[Be.x,Be.y]}var wt=Z.getBoundingClientRect();return[oe.clientX-wt.left-Z.clientLeft,oe.clientY-wt.top-Z.clientTop]}e.touch=function(Z,oe,we){if(arguments.length<3&&(we=oe,oe=Me().changedTouches),oe){for(var Be=0,Ue=oe.length,We;Be<Ue;++Be)if((We=oe[Be]).identifier===we)return ut(Z,We)}},e.behavior.drag=function(){var Z=ke(Ue,\"drag\",\"dragstart\",\"dragend\"),oe=null,we=We(W,e.mouse,a,\"mousemove\",\"mouseup\"),Be=We(Ne,e.touch,H,\"touchmove\",\"touchend\");function Ue(){this.on(\"mousedown.drag\",we).on(\"touchstart.drag\",Be)}function We(wt,tt,zt,or,lr){return function(){var Dr=this,Ir=e.event.target.correspondingElement||e.event.target,oi=Dr.parentNode,ui=Z.of(Dr,arguments),qr=0,Kr=wt(),ii=\".drag\"+(Kr==null?\"\":\"-\"+Kr),vi,ci=e.select(zt(Ir)).on(or+ii,dn).on(lr+ii,En),Jr=Or(Ir),un=tt(oi,Kr);oe?(vi=oe.apply(Dr,arguments),vi=[vi.x-un[0],vi.y-un[1]]):vi=[0,0],ui({type:\"dragstart\"});function dn(){var Nn=tt(oi,Kr),ga,ya;Nn&&(ga=Nn[0]-un[0],ya=Nn[1]-un[1],qr|=ga|ya,un=Nn,ui({type:\"drag\",x:Nn[0]+vi[0],y:Nn[1]+vi[1],dx:ga,dy:ya}))}function En(){tt(oi,Kr)&&(ci.on(or+ii,null).on(lr+ii,null),Jr(qr),ui({type:\"dragend\"}))}}}return Ue.origin=function(wt){return arguments.length?(oe=wt,Ue):oe},e.rebind(Ue,Z,\"on\")};function Ne(){return e.event.changedTouches[0].identifier}e.touches=function(Z,oe){return arguments.length<2&&(oe=Me().touches),oe?r(oe).map(function(we){var Be=ut(Z,we);return Be.identifier=we.identifier,Be}):[]};var Ye=1e-6,Ve=Ye*Ye,Xe=Math.PI,ht=2*Xe,Le=ht-Ye,xe=Xe/2,Se=Xe/180,lt=180/Xe;function Gt(Z){return Z>0?1:Z<0?-1:0}function Vt(Z,oe,we){return(oe[0]-Z[0])*(we[1]-Z[1])-(oe[1]-Z[1])*(we[0]-Z[0])}function ar(Z){return Z>1?0:Z<-1?Xe:Math.acos(Z)}function Qr(Z){return Z>1?xe:Z<-1?-xe:Math.asin(Z)}function ai(Z){return((Z=Math.exp(Z))-1/Z)/2}function jr(Z){return((Z=Math.exp(Z))+1/Z)/2}function ri(Z){return((Z=Math.exp(2*Z))-1)/(Z+1)}function bi(Z){return(Z=Math.sin(Z/2))*Z}var nn=Math.SQRT2,Wi=2,Ni=4;e.interpolateZoom=function(Z,oe){var we=Z[0],Be=Z[1],Ue=Z[2],We=oe[0],wt=oe[1],tt=oe[2],zt=We-we,or=wt-Be,lr=zt*zt+or*or,Dr,Ir;if(lr<Ve)Ir=Math.log(tt/Ue)/nn,Dr=function(vi){return[we+vi*zt,Be+vi*or,Ue*Math.exp(nn*vi*Ir)]};else{var oi=Math.sqrt(lr),ui=(tt*tt-Ue*Ue+Ni*lr)/(2*Ue*Wi*oi),qr=(tt*tt-Ue*Ue-Ni*lr)/(2*tt*Wi*oi),Kr=Math.log(Math.sqrt(ui*ui+1)-ui),ii=Math.log(Math.sqrt(qr*qr+1)-qr);Ir=(ii-Kr)/nn,Dr=function(vi){var ci=vi*Ir,Jr=jr(Kr),un=Ue/(Wi*oi)*(Jr*ri(nn*ci+Kr)-ai(Kr));return[we+un*zt,Be+un*or,Ue*Jr/jr(nn*ci+Kr)]}}return Dr.duration=Ir*1e3,Dr},e.behavior.zoom=function(){var Z={x:0,y:0,k:1},oe,we,Be,Ue=[960,500],We=_n,wt=250,tt=0,zt=\"mousedown.zoom\",or=\"mousemove.zoom\",lr=\"mouseup.zoom\",Dr,Ir=\"touchstart.zoom\",oi,ui=ke(ci,\"zoomstart\",\"zoom\",\"zoomend\"),qr,Kr,ii,vi;zn||(zn=\"onwheel\"in n?($i=function(){return-e.event.deltaY*(e.event.deltaMode?120:1)},\"wheel\"):\"onmousewheel\"in n?($i=function(){return e.event.wheelDelta},\"mousewheel\"):($i=function(){return-e.event.detail},\"MozMousePixelScroll\"));function ci(pn){pn.on(zt,io).on(zn+\".zoom\",_s).on(\"dblclick.zoom\",Ns).on(Ir,Ss)}ci.event=function(pn){pn.each(function(){var za=ui.of(this,arguments),Lo=Z;Ro?e.select(this).transition().each(\"start.zoom\",function(){Z=this.__chart__||{x:0,y:0,k:1},ya(za)}).tween(\"zoom:zoom\",function(){var Fo=Ue[0],js=Ue[1],xl=we?we[0]:Fo/2,fu=we?we[1]:js/2,dl=e.interpolateZoom([(xl-Z.x)/Z.k,(fu-Z.y)/Z.k,Fo/Z.k],[(xl-Lo.x)/Lo.k,(fu-Lo.y)/Lo.k,Fo/Lo.k]);return function(xc){var At=dl(xc),Er=Fo/At[2];this.__chart__=Z={x:xl-At[0]*Er,y:fu-At[1]*Er,k:Er},so(za)}}).each(\"interrupt.zoom\",function(){wa(za)}).each(\"end.zoom\",function(){wa(za)}):(this.__chart__=Z,ya(za),so(za),wa(za))})},ci.translate=function(pn){return arguments.length?(Z={x:+pn[0],y:+pn[1],k:Z.k},ga(),ci):[Z.x,Z.y]},ci.scale=function(pn){return arguments.length?(Z={x:Z.x,y:Z.y,k:null},dn(+pn),ga(),ci):Z.k},ci.scaleExtent=function(pn){return arguments.length?(We=pn==null?_n:[+pn[0],+pn[1]],ci):We},ci.center=function(pn){return arguments.length?(Be=pn&&[+pn[0],+pn[1]],ci):Be},ci.size=function(pn){return arguments.length?(Ue=pn&&[+pn[0],+pn[1]],ci):Ue},ci.duration=function(pn){return arguments.length?(wt=+pn,ci):wt},ci.x=function(pn){return arguments.length?(Kr=pn,qr=pn.copy(),Z={x:0,y:0,k:1},ci):Kr},ci.y=function(pn){return arguments.length?(vi=pn,ii=pn.copy(),Z={x:0,y:0,k:1},ci):vi};function Jr(pn){return[(pn[0]-Z.x)/Z.k,(pn[1]-Z.y)/Z.k]}function un(pn){return[pn[0]*Z.k+Z.x,pn[1]*Z.k+Z.y]}function dn(pn){Z.k=Math.max(We[0],Math.min(We[1],pn))}function En(pn,za){za=un(za),Z.x+=pn[0]-za[0],Z.y+=pn[1]-za[1]}function Nn(pn,za,Lo,Fo){pn.__chart__={x:Z.x,y:Z.y,k:Z.k},dn(Math.pow(2,Fo)),En(we=za,Lo),pn=e.select(pn),wt>0&&(pn=pn.transition().duration(wt)),pn.call(ci.event)}function ga(){Kr&&Kr.domain(qr.range().map(function(pn){return(pn-Z.x)/Z.k}).map(qr.invert)),vi&&vi.domain(ii.range().map(function(pn){return(pn-Z.y)/Z.k}).map(ii.invert))}function ya(pn){tt++||pn({type:\"zoomstart\"})}function so(pn){ga(),pn({type:\"zoom\",scale:Z.k,translate:[Z.x,Z.y]})}function wa(pn){--tt||(pn({type:\"zoomend\"}),we=null)}function io(){var pn=this,za=ui.of(pn,arguments),Lo=0,Fo=e.select(a(pn)).on(or,fu).on(lr,dl),js=Jr(e.mouse(pn)),xl=Or(pn);ea.call(pn),ya(za);function fu(){Lo=1,En(e.mouse(pn),js),so(za)}function dl(){Fo.on(or,null).on(lr,null),xl(Lo),wa(za)}}function Ss(){var pn=this,za=ui.of(pn,arguments),Lo={},Fo=0,js,xl=\".zoom-\"+e.event.changedTouches[0].identifier,fu=\"touchmove\"+xl,dl=\"touchend\"+xl,xc=[],At=e.select(pn),Er=Or(pn);wi(),ya(za),At.on(zt,null).on(Ir,wi);function Wr(){var Bi=e.touches(pn);return js=Z.k,Bi.forEach(function(cn){cn.identifier in Lo&&(Lo[cn.identifier]=Jr(cn))}),Bi}function wi(){var Bi=e.event.target;e.select(Bi).on(fu,Ui).on(dl,Oi),xc.push(Bi);for(var cn=e.event.changedTouches,On=0,Bn=cn.length;On<Bn;++On)Lo[cn[On].identifier]=null;var yn=Wr(),to=Date.now();if(yn.length===1){if(to-oi<500){var Rn=yn[0];Nn(pn,Rn,Lo[Rn.identifier],Math.floor(Math.log(Z.k)/Math.LN2)+1),_e()}oi=to}else if(yn.length>1){var Rn=yn[0],Dn=yn[1],fn=Rn[0]-Dn[0],Ai=Rn[1]-Dn[1];Fo=fn*fn+Ai*Ai}}function Ui(){var Bi=e.touches(pn),cn,On,Bn,yn;ea.call(pn);for(var to=0,Rn=Bi.length;to<Rn;++to,yn=null)if(Bn=Bi[to],yn=Lo[Bn.identifier]){if(On)break;cn=Bn,On=yn}if(yn){var Dn=(Dn=Bn[0]-cn[0])*Dn+(Dn=Bn[1]-cn[1])*Dn,fn=Fo&&Math.sqrt(Dn/Fo);cn=[(cn[0]+Bn[0])/2,(cn[1]+Bn[1])/2],On=[(On[0]+yn[0])/2,(On[1]+yn[1])/2],dn(fn*js)}oi=null,En(cn,On),so(za)}function Oi(){if(e.event.touches.length){for(var Bi=e.event.changedTouches,cn=0,On=Bi.length;cn<On;++cn)delete Lo[Bi[cn].identifier];for(var Bn in Lo)return void Wr()}e.selectAll(xc).on(xl,null),At.on(zt,io).on(Ir,Ss),Er(),wa(za)}}function _s(){var pn=ui.of(this,arguments);Dr?clearTimeout(Dr):(ea.call(this),oe=Jr(we=Be||e.mouse(this)),ya(pn)),Dr=setTimeout(function(){Dr=null,wa(pn)},50),_e(),dn(Math.pow(2,$i()*.002)*Z.k),En(we,oe),so(pn)}function Ns(){var pn=e.mouse(this),za=Math.log(Z.k)/Math.LN2;Nn(this,pn,Jr(pn),e.event.shiftKey?Math.ceil(za)-1:Math.floor(za)+1)}return e.rebind(ci,ui,\"on\")};var _n=[0,1/0],$i,zn;e.color=Wn;function Wn(){}Wn.prototype.toString=function(){return this.rgb()+\"\"},e.hsl=It;function It(Z,oe,we){return this instanceof It?(this.h=+Z,this.s=+oe,void(this.l=+we)):arguments.length<2?Z instanceof It?new It(Z.h,Z.s,Z.l):Ha(\"\"+Z,oo,It):new It(Z,oe,we)}var ft=It.prototype=new Wn;ft.brighter=function(Z){return Z=Math.pow(.7,arguments.length?Z:1),new It(this.h,this.s,this.l/Z)},ft.darker=function(Z){return Z=Math.pow(.7,arguments.length?Z:1),new It(this.h,this.s,Z*this.l)},ft.rgb=function(){return jt(this.h,this.s,this.l)};function jt(Z,oe,we){var Be,Ue;Z=isNaN(Z)?0:(Z%=360)<0?Z+360:Z,oe=isNaN(oe)||oe<0?0:oe>1?1:oe,we=we<0?0:we>1?1:we,Ue=we<=.5?we*(1+oe):we+oe-we*oe,Be=2*we-Ue;function We(tt){return tt>360?tt-=360:tt<0&&(tt+=360),tt<60?Be+(Ue-Be)*tt/60:tt<180?Ue:tt<240?Be+(Ue-Be)*(240-tt)/60:Be}function wt(tt){return Math.round(We(tt)*255)}return new Fa(wt(Z+120),wt(Z),wt(Z-120))}e.hcl=Zt;function Zt(Z,oe,we){return this instanceof Zt?(this.h=+Z,this.c=+oe,void(this.l=+we)):arguments.length<2?Z instanceof Zt?new Zt(Z.h,Z.c,Z.l):Z instanceof Zr?Ki(Z.l,Z.a,Z.b):Ki((Z=xn((Z=e.rgb(Z)).r,Z.g,Z.b)).l,Z.a,Z.b):new Zt(Z,oe,we)}var yr=Zt.prototype=new Wn;yr.brighter=function(Z){return new Zt(this.h,this.c,Math.min(100,this.l+Vr*(arguments.length?Z:1)))},yr.darker=function(Z){return new Zt(this.h,this.c,Math.max(0,this.l-Vr*(arguments.length?Z:1)))},yr.rgb=function(){return Fr(this.h,this.c,this.l).rgb()};function Fr(Z,oe,we){return isNaN(Z)&&(Z=0),isNaN(oe)&&(oe=0),new Zr(we,Math.cos(Z*=Se)*oe,Math.sin(Z)*oe)}e.lab=Zr;function Zr(Z,oe,we){return this instanceof Zr?(this.l=+Z,this.a=+oe,void(this.b=+we)):arguments.length<2?Z instanceof Zr?new Zr(Z.l,Z.a,Z.b):Z instanceof Zt?Fr(Z.h,Z.c,Z.l):xn((Z=Fa(Z)).r,Z.g,Z.b):new Zr(Z,oe,we)}var Vr=18,gi=.95047,Si=1,Mi=1.08883,Pi=Zr.prototype=new Wn;Pi.brighter=function(Z){return new Zr(Math.min(100,this.l+Vr*(arguments.length?Z:1)),this.a,this.b)},Pi.darker=function(Z){return new Zr(Math.max(0,this.l-Vr*(arguments.length?Z:1)),this.a,this.b)},Pi.rgb=function(){return Gi(this.l,this.a,this.b)};function Gi(Z,oe,we){var Be=(Z+16)/116,Ue=Be+oe/500,We=Be-we/200;return Ue=ka(Ue)*gi,Be=ka(Be)*Si,We=ka(We)*Mi,new Fa(la(3.2404542*Ue-1.5371385*Be-.4985314*We),la(-.969266*Ue+1.8760108*Be+.041556*We),la(.0556434*Ue-.2040259*Be+1.0572252*We))}function Ki(Z,oe,we){return Z>0?new Zt(Math.atan2(we,oe)*lt,Math.sqrt(oe*oe+we*we),Z):new Zt(NaN,NaN,Z)}function ka(Z){return Z>.206893034?Z*Z*Z:(Z-4/29)/7.787037}function jn(Z){return Z>.008856?Math.pow(Z,1/3):7.787037*Z+4/29}function la(Z){return Math.round(255*(Z<=.00304?12.92*Z:1.055*Math.pow(Z,1/2.4)-.055))}e.rgb=Fa;function Fa(Z,oe,we){return this instanceof Fa?(this.r=~~Z,this.g=~~oe,void(this.b=~~we)):arguments.length<2?Z instanceof Fa?new Fa(Z.r,Z.g,Z.b):Ha(\"\"+Z,Fa,jt):new Fa(Z,oe,we)}function Ra(Z){return new Fa(Z>>16,Z>>8&255,Z&255)}function jo(Z){return Ra(Z)+\"\"}var oa=Fa.prototype=new Wn;oa.brighter=function(Z){Z=Math.pow(.7,arguments.length?Z:1);var oe=this.r,we=this.g,Be=this.b,Ue=30;return!oe&&!we&&!Be?new Fa(Ue,Ue,Ue):(oe&&oe<Ue&&(oe=Ue),we&&we<Ue&&(we=Ue),Be&&Be<Ue&&(Be=Ue),new Fa(Math.min(255,oe/Z),Math.min(255,we/Z),Math.min(255,Be/Z)))},oa.darker=function(Z){return Z=Math.pow(.7,arguments.length?Z:1),new Fa(Z*this.r,Z*this.g,Z*this.b)},oa.hsl=function(){return oo(this.r,this.g,this.b)},oa.toString=function(){return\"#\"+Sn(this.r)+Sn(this.g)+Sn(this.b)};function Sn(Z){return Z<16?\"0\"+Math.max(0,Z).toString(16):Math.min(255,Z).toString(16)}function Ha(Z,oe,we){var Be=0,Ue=0,We=0,wt,tt,zt;if(wt=/([a-z]+)\\((.*)\\)/.exec(Z=Z.toLowerCase()),wt)switch(tt=wt[2].split(\",\"),wt[1]){case\"hsl\":return we(parseFloat(tt[0]),parseFloat(tt[1])/100,parseFloat(tt[2])/100);case\"rgb\":return oe(br(tt[0]),br(tt[1]),br(tt[2]))}return(zt=Hr.get(Z))?oe(zt.r,zt.g,zt.b):(Z!=null&&Z.charAt(0)===\"#\"&&!isNaN(zt=parseInt(Z.slice(1),16))&&(Z.length===4?(Be=(zt&3840)>>4,Be=Be>>4|Be,Ue=zt&240,Ue=Ue>>4|Ue,We=zt&15,We=We<<4|We):Z.length===7&&(Be=(zt&16711680)>>16,Ue=(zt&65280)>>8,We=zt&255)),oe(Be,Ue,We))}function oo(Z,oe,we){var Be=Math.min(Z/=255,oe/=255,we/=255),Ue=Math.max(Z,oe,we),We=Ue-Be,wt,tt,zt=(Ue+Be)/2;return We?(tt=zt<.5?We/(Ue+Be):We/(2-Ue-Be),Z==Ue?wt=(oe-we)/We+(oe<we?6:0):oe==Ue?wt=(we-Z)/We+2:wt=(Z-oe)/We+4,wt*=60):(wt=NaN,tt=zt>0&&zt<1?0:wt),new It(wt,tt,zt)}function xn(Z,oe,we){Z=_t(Z),oe=_t(oe),we=_t(we);var Be=jn((.4124564*Z+.3575761*oe+.1804375*we)/gi),Ue=jn((.2126729*Z+.7151522*oe+.072175*we)/Si),We=jn((.0193339*Z+.119192*oe+.9503041*we)/Mi);return Zr(116*Ue-16,500*(Be-Ue),200*(Ue-We))}function _t(Z){return(Z/=255)<=.04045?Z/12.92:Math.pow((Z+.055)/1.055,2.4)}function br(Z){var oe=parseFloat(Z);return Z.charAt(Z.length-1)===\"%\"?Math.round(oe*2.55):oe}var Hr=e.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Hr.forEach(function(Z,oe){Hr.set(Z,Ra(oe))});function ti(Z){return typeof Z==\"function\"?Z:function(){return Z}}e.functor=ti,e.xhr=zi(H);function zi(Z){return function(oe,we,Be){return arguments.length===2&&typeof we==\"function\"&&(Be=we,we=null),Yi(oe,we,Z,Be)}}function Yi(Z,oe,we,Be){var Ue={},We=e.dispatch(\"beforesend\",\"progress\",\"load\",\"error\"),wt={},tt=new XMLHttpRequest,zt=null;self.XDomainRequest&&!(\"withCredentials\"in tt)&&/^(http(s)?:)?\\/\\//.test(Z)&&(tt=new XDomainRequest),\"onload\"in tt?tt.onload=tt.onerror=or:tt.onreadystatechange=function(){tt.readyState>3&&or()};function or(){var lr=tt.status,Dr;if(!lr&&hi(tt)||lr>=200&&lr<300||lr===304){try{Dr=we.call(Ue,tt)}catch(Ir){We.error.call(Ue,Ir);return}We.load.call(Ue,Dr)}else We.error.call(Ue,tt)}return tt.onprogress=function(lr){var Dr=e.event;e.event=lr;try{We.progress.call(Ue,tt)}finally{e.event=Dr}},Ue.header=function(lr,Dr){return lr=(lr+\"\").toLowerCase(),arguments.length<2?wt[lr]:(Dr==null?delete wt[lr]:wt[lr]=Dr+\"\",Ue)},Ue.mimeType=function(lr){return arguments.length?(oe=lr==null?null:lr+\"\",Ue):oe},Ue.responseType=function(lr){return arguments.length?(zt=lr,Ue):zt},Ue.response=function(lr){return we=lr,Ue},[\"get\",\"post\"].forEach(function(lr){Ue[lr]=function(){return Ue.send.apply(Ue,[lr].concat(r(arguments)))}}),Ue.send=function(lr,Dr,Ir){if(arguments.length===2&&typeof Dr==\"function\"&&(Ir=Dr,Dr=null),tt.open(lr,Z,!0),oe!=null&&!(\"accept\"in wt)&&(wt.accept=oe+\",*/*\"),tt.setRequestHeader)for(var oi in wt)tt.setRequestHeader(oi,wt[oi]);return oe!=null&&tt.overrideMimeType&&tt.overrideMimeType(oe),zt!=null&&(tt.responseType=zt),Ir!=null&&Ue.on(\"error\",Ir).on(\"load\",function(ui){Ir(null,ui)}),We.beforesend.call(Ue,tt),tt.send(Dr==null?null:Dr),Ue},Ue.abort=function(){return tt.abort(),Ue},e.rebind(Ue,We,\"on\"),Be==null?Ue:Ue.get(an(Be))}function an(Z){return Z.length===1?function(oe,we){Z(oe==null?we:null)}:Z}function hi(Z){var oe=Z.responseType;return oe&&oe!==\"text\"?Z.response:Z.responseText}e.dsv=function(Z,oe){var we=new RegExp('[\"'+Z+`\n", - "]`),Be=Z.charCodeAt(0);function Ue(or,lr,Dr){arguments.length<3&&(Dr=lr,lr=null);var Ir=Yi(or,oe,lr==null?We:wt(lr),Dr);return Ir.row=function(oi){return arguments.length?Ir.response((lr=oi)==null?We:wt(oi)):lr},Ir}function We(or){return Ue.parse(or.responseText)}function wt(or){return function(lr){return Ue.parse(lr.responseText,or)}}Ue.parse=function(or,lr){var Dr;return Ue.parseRows(or,function(Ir,oi){if(Dr)return Dr(Ir,oi-1);var ui=function(qr){for(var Kr={},ii=Ir.length,vi=0;vi<ii;++vi)Kr[Ir[vi]]=qr[vi];return Kr};Dr=lr?function(qr,Kr){return lr(ui(qr),Kr)}:ui})},Ue.parseRows=function(or,lr){var Dr={},Ir={},oi=[],ui=or.length,qr=0,Kr=0,ii,vi;function ci(){if(qr>=ui)return Ir;if(vi)return vi=!1,Dr;var un=qr;if(or.charCodeAt(un)===34){for(var dn=un;dn++<ui;)if(or.charCodeAt(dn)===34){if(or.charCodeAt(dn+1)!==34)break;++dn}qr=dn+2;var En=or.charCodeAt(dn+1);return En===13?(vi=!0,or.charCodeAt(dn+2)===10&&++qr):En===10&&(vi=!0),or.slice(un+1,dn).replace(/\"\"/g,'\"')}for(;qr<ui;){var En=or.charCodeAt(qr++),Nn=1;if(En===10)vi=!0;else if(En===13)vi=!0,or.charCodeAt(qr)===10&&(++qr,++Nn);else if(En!==Be)continue;return or.slice(un,qr-Nn)}return or.slice(un)}for(;(ii=ci())!==Ir;){for(var Jr=[];ii!==Dr&&ii!==Ir;)Jr.push(ii),ii=ci();lr&&(Jr=lr(Jr,Kr++))==null||oi.push(Jr)}return oi},Ue.format=function(or){if(Array.isArray(or[0]))return Ue.formatRows(or);var lr=new V,Dr=[];return or.forEach(function(Ir){for(var oi in Ir)lr.has(oi)||Dr.push(lr.add(oi))}),[Dr.map(zt).join(Z)].concat(or.map(function(Ir){return Dr.map(function(oi){return zt(Ir[oi])}).join(Z)})).join(`\n", - "`)},Ue.formatRows=function(or){return or.map(tt).join(`\n", - "`)};function tt(or){return or.map(zt).join(Z)}function zt(or){return we.test(or)?'\"'+or.replace(/\\\"/g,'\"\"')+'\"':or}return Ue},e.csv=e.dsv(\",\",\"text/csv\"),e.tsv=e.dsv(\"\t\",\"text/tab-separated-values\");var Ji,ua,Fn,Sa,go=this[G(this,\"requestAnimationFrame\")]||function(Z){setTimeout(Z,17)};e.timer=function(){Oo.apply(this,arguments)};function Oo(Z,oe,we){var Be=arguments.length;Be<2&&(oe=0),Be<3&&(we=Date.now());var Ue=we+oe,We={c:Z,t:Ue,n:null};return ua?ua.n=We:Ji=We,ua=We,Fn||(Sa=clearTimeout(Sa),Fn=1,go(ho)),We}function ho(){var Z=Mo(),oe=xo()-Z;oe>24?(isFinite(oe)&&(clearTimeout(Sa),Sa=setTimeout(ho,oe)),Fn=0):(Fn=1,go(ho))}e.timer.flush=function(){Mo(),xo()};function Mo(){for(var Z=Date.now(),oe=Ji;oe;)Z>=oe.t&&oe.c(Z-oe.t)&&(oe.c=null),oe=oe.n;return Z}function xo(){for(var Z,oe=Ji,we=1/0;oe;)oe.c?(oe.t<we&&(we=oe.t),oe=(Z=oe).n):oe=Z?Z.n=oe.n:Ji=oe.n;return ua=Z,we}e.round=function(Z,oe){return oe?Math.round(Z*(oe=Math.pow(10,oe)))/oe:Math.round(Z)},e.geom={};function zs(Z){return Z[0]}function ks(Z){return Z[1]}e.geom.hull=function(Z){var oe=zs,we=ks;if(arguments.length)return Be(Z);function Be(Ue){if(Ue.length<3)return[];var We=ti(oe),wt=ti(we),tt,zt=Ue.length,or=[],lr=[];for(tt=0;tt<zt;tt++)or.push([+We.call(this,Ue[tt],tt),+wt.call(this,Ue[tt],tt),tt]);for(or.sort(Xs),tt=0;tt<zt;tt++)lr.push([or[tt][0],-or[tt][1]]);var Dr=Zs(or),Ir=Zs(lr),oi=Ir[0]===Dr[0],ui=Ir[Ir.length-1]===Dr[Dr.length-1],qr=[];for(tt=Dr.length-1;tt>=0;--tt)qr.push(Ue[or[Dr[tt]][2]]);for(tt=+oi;tt<Ir.length-ui;++tt)qr.push(Ue[or[Ir[tt]][2]]);return qr}return Be.x=function(Ue){return arguments.length?(oe=Ue,Be):oe},Be.y=function(Ue){return arguments.length?(we=Ue,Be):we},Be};function Zs(Z){for(var oe=Z.length,we=[0,1],Be=2,Ue=2;Ue<oe;Ue++){for(;Be>1&&Vt(Z[we[Be-2]],Z[we[Be-1]],Z[Ue])<=0;)--Be;we[Be++]=Ue}return we.slice(0,Be)}function Xs(Z,oe){return Z[0]-oe[0]||Z[1]-oe[1]}e.geom.polygon=function(Z){return ie(Z,wl),Z};var wl=e.geom.polygon.prototype=[];wl.area=function(){for(var Z=-1,oe=this.length,we,Be=this[oe-1],Ue=0;++Z<oe;)we=Be,Be=this[Z],Ue+=we[1]*Be[0]-we[0]*Be[1];return Ue*.5},wl.centroid=function(Z){var oe=-1,we=this.length,Be=0,Ue=0,We,wt=this[we-1],tt;for(arguments.length||(Z=-1/(6*this.area()));++oe<we;)We=wt,wt=this[oe],tt=We[0]*wt[1]-wt[0]*We[1],Be+=(We[0]+wt[0])*tt,Ue+=(We[1]+wt[1])*tt;return[Be*Z,Ue*Z]},wl.clip=function(Z){for(var oe,we=Cs(Z),Be=-1,Ue=this.length-Cs(this),We,wt,tt=this[Ue-1],zt,or,lr;++Be<Ue;){for(oe=Z.slice(),Z.length=0,zt=this[Be],or=oe[(wt=oe.length-we)-1],We=-1;++We<wt;)lr=oe[We],os(lr,tt,zt)?(os(or,tt,zt)||Z.push(cl(or,lr,tt,zt)),Z.push(lr)):os(or,tt,zt)&&Z.push(cl(or,lr,tt,zt)),or=lr;we&&Z.push(Z[0]),tt=zt}return Z};function os(Z,oe,we){return(we[0]-oe[0])*(Z[1]-oe[1])<(we[1]-oe[1])*(Z[0]-oe[0])}function cl(Z,oe,we,Be){var Ue=Z[0],We=we[0],wt=oe[0]-Ue,tt=Be[0]-We,zt=Z[1],or=we[1],lr=oe[1]-zt,Dr=Be[1]-or,Ir=(tt*(zt-or)-Dr*(Ue-We))/(Dr*wt-tt*lr);return[Ue+Ir*wt,zt+Ir*lr]}function Cs(Z){var oe=Z[0],we=Z[Z.length-1];return!(oe[0]-we[0]||oe[1]-we[1])}var ml,Ys,Hs,Eo=[],fs,Ql,Hu=[];function fc(){Ls(this),this.edge=this.site=this.circle=null}function ms(Z){var oe=Eo.pop()||new fc;return oe.site=Z,oe}function on(Z){ko(Z),Hs.remove(Z),Eo.push(Z),Ls(Z)}function fa(Z){var oe=Z.circle,we=oe.x,Be=oe.cy,Ue={x:we,y:Be},We=Z.P,wt=Z.N,tt=[Z];on(Z);for(var zt=We;zt.circle&&p(we-zt.circle.x)<Ye&&p(Be-zt.circle.cy)<Ye;)We=zt.P,tt.unshift(zt),on(zt),zt=We;tt.unshift(zt),ko(zt);for(var or=wt;or.circle&&p(we-or.circle.x)<Ye&&p(Be-or.circle.cy)<Ye;)wt=or.N,tt.push(or),on(or),or=wt;tt.push(or),ko(or);var lr=tt.length,Dr;for(Dr=1;Dr<lr;++Dr)or=tt[Dr],zt=tt[Dr-1],Al(or.edge,zt.site,or.site,Ue);zt=tt[0],or=tt[lr-1],or.edge=cf(zt.site,or.site,null,Ue),Zn(zt),Zn(or)}function Qu(Z){for(var oe=Z.x,we=Z.y,Be,Ue,We,wt,tt=Hs._;tt;)if(We=Rl(tt,we)-oe,We>Ye)tt=tt.L;else if(wt=oe-vo(tt,we),wt>Ye){if(!tt.R){Be=tt;break}tt=tt.R}else{We>-Ye?(Be=tt.P,Ue=tt):wt>-Ye?(Be=tt,Ue=tt.N):Be=Ue=tt;break}var zt=ms(Z);if(Hs.insert(Be,zt),!(!Be&&!Ue)){if(Be===Ue){ko(Be),Ue=ms(Be.site),Hs.insert(zt,Ue),zt.edge=Ue.edge=cf(Be.site,zt.site),Zn(Be),Zn(Ue);return}if(!Ue){zt.edge=cf(Be.site,zt.site);return}ko(Be),ko(Ue);var or=Be.site,lr=or.x,Dr=or.y,Ir=Z.x-lr,oi=Z.y-Dr,ui=Ue.site,qr=ui.x-lr,Kr=ui.y-Dr,ii=2*(Ir*Kr-oi*qr),vi=Ir*Ir+oi*oi,ci=qr*qr+Kr*Kr,Jr={x:(Kr*vi-oi*ci)/ii+lr,y:(Ir*ci-qr*vi)/ii+Dr};Al(Ue.edge,or,ui,Jr),zt.edge=cf(or,Z,null,Jr),Ue.edge=cf(Z,ui,null,Jr),Zn(Be),Zn(Ue)}}function Rl(Z,oe){var we=Z.site,Be=we.x,Ue=we.y,We=Ue-oe;if(!We)return Be;var wt=Z.P;if(!wt)return-1/0;we=wt.site;var tt=we.x,zt=we.y,or=zt-oe;if(!or)return tt;var lr=tt-Be,Dr=1/We-1/or,Ir=lr/or;return Dr?(-Ir+Math.sqrt(Ir*Ir-2*Dr*(lr*lr/(-2*or)-zt+or/2+Ue-We/2)))/Dr+Be:(Be+tt)/2}function vo(Z,oe){var we=Z.N;if(we)return Rl(we,oe);var Be=Z.site;return Be.y===oe?Be.x:1/0}function Zl(Z){this.site=Z,this.edges=[]}Zl.prototype.prepare=function(){for(var Z=this.edges,oe=Z.length,we;oe--;)we=Z[oe].edge,(!we.b||!we.a)&&Z.splice(oe,1);return Z.sort(Xl),Z.length};function Ks(Z){for(var oe=Z[0][0],we=Z[1][0],Be=Z[0][1],Ue=Z[1][1],We,wt,tt,zt,or=Ys,lr=or.length,Dr,Ir,oi,ui,qr,Kr;lr--;)if(Dr=or[lr],!(!Dr||!Dr.prepare()))for(oi=Dr.edges,ui=oi.length,Ir=0;Ir<ui;)Kr=oi[Ir].end(),tt=Kr.x,zt=Kr.y,qr=oi[++Ir%ui].start(),We=qr.x,wt=qr.y,(p(tt-We)>Ye||p(zt-wt)>Ye)&&(oi.splice(Ir,0,new Hc(rh(Dr.site,Kr,p(tt-oe)<Ye&&Ue-zt>Ye?{x:oe,y:p(We-oe)<Ye?wt:Ue}:p(zt-Ue)<Ye&&we-tt>Ye?{x:p(wt-Ue)<Ye?We:we,y:Ue}:p(tt-we)<Ye&&zt-Be>Ye?{x:we,y:p(We-we)<Ye?wt:Be}:p(zt-Be)<Ye&&tt-oe>Ye?{x:p(wt-Be)<Ye?We:oe,y:Be}:null),Dr.site,null)),++ui)}function Xl(Z,oe){return oe.angle-Z.angle}function Ec(){Ls(this),this.x=this.y=this.arc=this.site=this.cy=null}function Zn(Z){var oe=Z.P,we=Z.N;if(!(!oe||!we)){var Be=oe.site,Ue=Z.site,We=we.site;if(Be!==We){var wt=Ue.x,tt=Ue.y,zt=Be.x-wt,or=Be.y-tt,lr=We.x-wt,Kr=We.y-tt,Dr=2*(zt*Kr-or*lr);if(!(Dr>=-Ve)){var Ir=zt*zt+or*or,oi=lr*lr+Kr*Kr,ui=(Kr*Ir-or*oi)/Dr,qr=(zt*oi-lr*Ir)/Dr,Kr=qr+tt,ii=Hu.pop()||new Ec;ii.arc=Z,ii.site=Ue,ii.x=ui+wt,ii.y=Kr+Math.sqrt(ui*ui+qr*qr),ii.cy=Kr,Z.circle=ii;for(var vi=null,ci=Ql._;ci;)if(ii.y<ci.y||ii.y===ci.y&&ii.x<=ci.x)if(ci.L)ci=ci.L;else{vi=ci.P;break}else if(ci.R)ci=ci.R;else{vi=ci;break}Ql.insert(vi,ii),vi||(fs=ii)}}}}function ko(Z){var oe=Z.circle;oe&&(oe.P||(fs=oe.N),Ql.remove(oe),Hu.push(oe),Ls(oe),Z.circle=null)}function Co(Z,oe,we,Be){return function(Ue){var We=Ue.a,wt=Ue.b,tt=We.x,zt=We.y,or=wt.x,lr=wt.y,Dr=0,Ir=1,oi=or-tt,ui=lr-zt,qr;if(qr=Z-tt,!(!oi&&qr>0)){if(qr/=oi,oi<0){if(qr<Dr)return;qr<Ir&&(Ir=qr)}else if(oi>0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}if(qr=we-tt,!(!oi&&qr<0)){if(qr/=oi,oi<0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}else if(oi>0){if(qr<Dr)return;qr<Ir&&(Ir=qr)}if(qr=oe-zt,!(!ui&&qr>0)){if(qr/=ui,ui<0){if(qr<Dr)return;qr<Ir&&(Ir=qr)}else if(ui>0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}if(qr=Be-zt,!(!ui&&qr<0)){if(qr/=ui,ui<0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}else if(ui>0){if(qr<Dr)return;qr<Ir&&(Ir=qr)}return Dr>0&&(Ue.a={x:tt+Dr*oi,y:zt+Dr*ui}),Ir<1&&(Ue.b={x:tt+Ir*oi,y:zt+Ir*ui}),Ue}}}}}}function Tl(Z){for(var oe=ml,we=Co(Z[0][0],Z[0][1],Z[1][0],Z[1][1]),Be=oe.length,Ue;Be--;)Ue=oe[Be],(!uf(Ue,Z)||!we(Ue)||p(Ue.a.x-Ue.b.x)<Ye&&p(Ue.a.y-Ue.b.y)<Ye)&&(Ue.a=Ue.b=null,oe.splice(Be,1))}function uf(Z,oe){var we=Z.b;if(we)return!0;var Be=Z.a,Ue=oe[0][0],We=oe[1][0],wt=oe[0][1],tt=oe[1][1],zt=Z.l,or=Z.r,lr=zt.x,Dr=zt.y,Ir=or.x,oi=or.y,ui=(lr+Ir)/2,qr=(Dr+oi)/2,Kr,ii;if(oi===Dr){if(ui<Ue||ui>=We)return;if(lr>Ir){if(!Be)Be={x:ui,y:wt};else if(Be.y>=tt)return;we={x:ui,y:tt}}else{if(!Be)Be={x:ui,y:tt};else if(Be.y<wt)return;we={x:ui,y:wt}}}else if(Kr=(lr-Ir)/(oi-Dr),ii=qr-Kr*ui,Kr<-1||Kr>1)if(lr>Ir){if(!Be)Be={x:(wt-ii)/Kr,y:wt};else if(Be.y>=tt)return;we={x:(tt-ii)/Kr,y:tt}}else{if(!Be)Be={x:(tt-ii)/Kr,y:tt};else if(Be.y<wt)return;we={x:(wt-ii)/Kr,y:wt}}else if(Dr<oi){if(!Be)Be={x:Ue,y:Kr*Ue+ii};else if(Be.x>=We)return;we={x:We,y:Kr*We+ii}}else{if(!Be)Be={x:We,y:Kr*We+ii};else if(Be.x<Ue)return;we={x:Ue,y:Kr*Ue+ii}}return Z.a=Be,Z.b=we,!0}function So(Z,oe){this.l=Z,this.r=oe,this.a=this.b=null}function cf(Z,oe,we,Be){var Ue=new So(Z,oe);return ml.push(Ue),we&&Al(Ue,Z,oe,we),Be&&Al(Ue,oe,Z,Be),Ys[Z.i].edges.push(new Hc(Ue,Z,oe)),Ys[oe.i].edges.push(new Hc(Ue,oe,Z)),Ue}function rh(Z,oe,we){var Be=new So(Z,null);return Be.a=oe,Be.b=we,ml.push(Be),Be}function Al(Z,oe,we,Be){!Z.a&&!Z.b?(Z.a=Be,Z.l=oe,Z.r=we):Z.l===we?Z.b=Be:Z.a=Be}function Hc(Z,oe,we){var Be=Z.a,Ue=Z.b;this.edge=Z,this.site=oe,this.angle=we?Math.atan2(we.y-oe.y,we.x-oe.x):Z.l===oe?Math.atan2(Ue.x-Be.x,Be.y-Ue.y):Math.atan2(Be.x-Ue.x,Ue.y-Be.y)}Hc.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}};function eu(){this._=null}function Ls(Z){Z.U=Z.C=Z.L=Z.R=Z.P=Z.N=null}eu.prototype={insert:function(Z,oe){var we,Be,Ue;if(Z){if(oe.P=Z,oe.N=Z.N,Z.N&&(Z.N.P=oe),Z.N=oe,Z.R){for(Z=Z.R;Z.L;)Z=Z.L;Z.L=oe}else Z.R=oe;we=Z}else this._?(Z=Of(this._),oe.P=null,oe.N=Z,Z.P=Z.L=oe,we=Z):(oe.P=oe.N=null,this._=oe,we=null);for(oe.L=oe.R=null,oe.U=we,oe.C=!0,Z=oe;we&&we.C;)Be=we.U,we===Be.L?(Ue=Be.R,Ue&&Ue.C?(we.C=Ue.C=!1,Be.C=!0,Z=Be):(Z===we.R&&(mu(this,we),Z=we,we=Z.U),we.C=!1,Be.C=!0,kc(this,Be))):(Ue=Be.L,Ue&&Ue.C?(we.C=Ue.C=!1,Be.C=!0,Z=Be):(Z===we.L&&(kc(this,we),Z=we,we=Z.U),we.C=!1,Be.C=!0,mu(this,Be))),we=Z.U;this._.C=!1},remove:function(Z){Z.N&&(Z.N.P=Z.P),Z.P&&(Z.P.N=Z.N),Z.N=Z.P=null;var oe=Z.U,we,Be=Z.L,Ue=Z.R,We,wt;if(Be?Ue?We=Of(Ue):We=Be:We=Ue,oe?oe.L===Z?oe.L=We:oe.R=We:this._=We,Be&&Ue?(wt=We.C,We.C=Z.C,We.L=Be,Be.U=We,We!==Ue?(oe=We.U,We.U=Z.U,Z=We.R,oe.L=Z,We.R=Ue,Ue.U=We):(We.U=oe,oe=We,Z=We.R)):(wt=Z.C,Z=We),Z&&(Z.U=oe),!wt){if(Z&&Z.C){Z.C=!1;return}do{if(Z===this._)break;if(Z===oe.L){if(we=oe.R,we.C&&(we.C=!1,oe.C=!0,mu(this,oe),we=oe.R),we.L&&we.L.C||we.R&&we.R.C){(!we.R||!we.R.C)&&(we.L.C=!1,we.C=!0,kc(this,we),we=oe.R),we.C=oe.C,oe.C=we.R.C=!1,mu(this,oe),Z=this._;break}}else if(we=oe.L,we.C&&(we.C=!1,oe.C=!0,kc(this,oe),we=oe.L),we.L&&we.L.C||we.R&&we.R.C){(!we.L||!we.L.C)&&(we.R.C=!1,we.C=!0,mu(this,we),we=oe.L),we.C=oe.C,oe.C=we.L.C=!1,kc(this,oe),Z=this._;break}we.C=!0,Z=oe,oe=oe.U}while(!Z.C);Z&&(Z.C=!1)}}};function mu(Z,oe){var we=oe,Be=oe.R,Ue=we.U;Ue?Ue.L===we?Ue.L=Be:Ue.R=Be:Z._=Be,Be.U=Ue,we.U=Be,we.R=Be.L,we.R&&(we.R.U=we),Be.L=we}function kc(Z,oe){var we=oe,Be=oe.L,Ue=we.U;Ue?Ue.L===we?Ue.L=Be:Ue.R=Be:Z._=Be,Be.U=Ue,we.U=Be,we.L=Be.R,we.L&&(we.L.U=we),Be.R=we}function Of(Z){for(;Z.L;)Z=Z.L;return Z}function Gc(Z,oe){var we=Z.sort(vd).pop(),Be,Ue,We;for(ml=[],Ys=new Array(Z.length),Hs=new eu,Ql=new eu;;)if(We=fs,we&&(!We||we.y<We.y||we.y===We.y&&we.x<We.x))(we.x!==Be||we.y!==Ue)&&(Ys[we.i]=new Zl(we),Qu(we),Be=we.x,Ue=we.y),we=Z.pop();else if(We)fa(We.arc);else break;oe&&(Tl(oe),Ks(oe));var wt={cells:Ys,edges:ml};return Hs=Ql=ml=Ys=null,wt}function vd(Z,oe){return oe.y-Z.y||oe.x-Z.x}e.geom.voronoi=function(Z){var oe=zs,we=ks,Be=oe,Ue=we,We=Bf;if(Z)return wt(Z);function wt(zt){var or=new Array(zt.length),lr=We[0][0],Dr=We[0][1],Ir=We[1][0],oi=We[1][1];return Gc(tt(zt),We).cells.forEach(function(ui,qr){var Kr=ui.edges,ii=ui.site,vi=or[qr]=Kr.length?Kr.map(function(ci){var Jr=ci.start();return[Jr.x,Jr.y]}):ii.x>=lr&&ii.x<=Ir&&ii.y>=Dr&&ii.y<=oi?[[lr,oi],[Ir,oi],[Ir,Dr],[lr,Dr]]:[];vi.point=zt[qr]}),or}function tt(zt){return zt.map(function(or,lr){return{x:Math.round(Be(or,lr)/Ye)*Ye,y:Math.round(Ue(or,lr)/Ye)*Ye,i:lr}})}return wt.links=function(zt){return Gc(tt(zt)).edges.filter(function(or){return or.l&&or.r}).map(function(or){return{source:zt[or.l.i],target:zt[or.r.i]}})},wt.triangles=function(zt){var or=[];return Gc(tt(zt)).cells.forEach(function(lr,Dr){for(var Ir=lr.site,oi=lr.edges.sort(Xl),ui=-1,qr=oi.length,Kr,ii,vi=oi[qr-1].edge,ci=vi.l===Ir?vi.r:vi.l;++ui<qr;)Kr=vi,ii=ci,vi=oi[ui].edge,ci=vi.l===Ir?vi.r:vi.l,Dr<ii.i&&Dr<ci.i&&ss(Ir,ii,ci)<0&&or.push([zt[Dr],zt[ii.i],zt[ci.i]])}),or},wt.x=function(zt){return arguments.length?(Be=ti(oe=zt),wt):oe},wt.y=function(zt){return arguments.length?(Ue=ti(we=zt),wt):we},wt.clipExtent=function(zt){return arguments.length?(We=zt==null?Bf:zt,wt):We===Bf?null:We},wt.size=function(zt){return arguments.length?wt.clipExtent(zt&&[[0,0],zt]):We===Bf?null:We&&We[1]},wt};var Bf=[[-1e6,-1e6],[1e6,1e6]];function ss(Z,oe,we){return(Z.x-we.x)*(oe.y-Z.y)-(Z.x-oe.x)*(we.y-Z.y)}e.geom.delaunay=function(Z){return e.geom.voronoi().triangles(Z)},e.geom.quadtree=function(Z,oe,we,Be,Ue){var We=zs,wt=ks,tt;if(tt=arguments.length)return We=ff,wt=ih,tt===3&&(Ue=we,Be=oe,we=oe=0),zt(Z);function zt(or){var lr,Dr=ti(We),Ir=ti(wt),oi,ui,qr,Kr,ii,vi,ci,Jr;if(oe!=null)ii=oe,vi=we,ci=Be,Jr=Ue;else if(ci=Jr=-(ii=vi=1/0),oi=[],ui=[],Kr=or.length,tt)for(qr=0;qr<Kr;++qr)lr=or[qr],lr.x<ii&&(ii=lr.x),lr.y<vi&&(vi=lr.y),lr.x>ci&&(ci=lr.x),lr.y>Jr&&(Jr=lr.y),oi.push(lr.x),ui.push(lr.y);else for(qr=0;qr<Kr;++qr){var un=+Dr(lr=or[qr],qr),dn=+Ir(lr,qr);un<ii&&(ii=un),dn<vi&&(vi=dn),un>ci&&(ci=un),dn>Jr&&(Jr=dn),oi.push(un),ui.push(dn)}var En=ci-ii,Nn=Jr-vi;En>Nn?Jr=vi+En:ci=ii+Nn;function ga(wa,io,Ss,_s,Ns,pn,za,Lo){if(!(isNaN(Ss)||isNaN(_s)))if(wa.leaf){var Fo=wa.x,js=wa.y;if(Fo!=null)if(p(Fo-Ss)+p(js-_s)<.01)ya(wa,io,Ss,_s,Ns,pn,za,Lo);else{var xl=wa.point;wa.x=wa.y=wa.point=null,ya(wa,xl,Fo,js,Ns,pn,za,Lo),ya(wa,io,Ss,_s,Ns,pn,za,Lo)}else wa.x=Ss,wa.y=_s,wa.point=io}else ya(wa,io,Ss,_s,Ns,pn,za,Lo)}function ya(wa,io,Ss,_s,Ns,pn,za,Lo){var Fo=(Ns+za)*.5,js=(pn+Lo)*.5,xl=Ss>=Fo,fu=_s>=js,dl=fu<<1|xl;wa.leaf=!1,wa=wa.nodes[dl]||(wa.nodes[dl]=Vl()),xl?Ns=Fo:za=Fo,fu?pn=js:Lo=js,ga(wa,io,Ss,_s,Ns,pn,za,Lo)}var so=Vl();if(so.add=function(wa){ga(so,wa,+Dr(wa,++qr),+Ir(wa,qr),ii,vi,ci,Jr)},so.visit=function(wa){Js(wa,so,ii,vi,ci,Jr)},so.find=function(wa){return hc(so,wa[0],wa[1],ii,vi,ci,Jr)},qr=-1,oe==null){for(;++qr<Kr;)ga(so,or[qr],oi[qr],ui[qr],ii,vi,ci,Jr);--qr}else or.forEach(so.add);return oi=ui=or=lr=null,so}return zt.x=function(or){return arguments.length?(We=or,zt):We},zt.y=function(or){return arguments.length?(wt=or,zt):wt},zt.extent=function(or){return arguments.length?(or==null?oe=we=Be=Ue=null:(oe=+or[0][0],we=+or[0][1],Be=+or[1][0],Ue=+or[1][1]),zt):oe==null?null:[[oe,we],[Be,Ue]]},zt.size=function(or){return arguments.length?(or==null?oe=we=Be=Ue=null:(oe=we=0,Be=+or[0],Ue=+or[1]),zt):oe==null?null:[Be-oe,Ue-we]},zt};function ff(Z){return Z.x}function ih(Z){return Z.y}function Vl(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function Js(Z,oe,we,Be,Ue,We){if(!Z(oe,we,Be,Ue,We)){var wt=(we+Ue)*.5,tt=(Be+We)*.5,zt=oe.nodes;zt[0]&&Js(Z,zt[0],we,Be,wt,tt),zt[1]&&Js(Z,zt[1],wt,Be,Ue,tt),zt[2]&&Js(Z,zt[2],we,tt,wt,We),zt[3]&&Js(Z,zt[3],wt,tt,Ue,We)}}function hc(Z,oe,we,Be,Ue,We,wt){var tt=1/0,zt;return function or(lr,Dr,Ir,oi,ui){if(!(Dr>We||Ir>wt||oi<Be||ui<Ue)){if(qr=lr.point){var qr,Kr=oe-lr.x,ii=we-lr.y,vi=Kr*Kr+ii*ii;if(vi<tt){var ci=Math.sqrt(tt=vi);Be=oe-ci,Ue=we-ci,We=oe+ci,wt=we+ci,zt=qr}}for(var Jr=lr.nodes,un=(Dr+oi)*.5,dn=(Ir+ui)*.5,En=oe>=un,Nn=we>=dn,ga=Nn<<1|En,ya=ga+4;ga<ya;++ga)if(lr=Jr[ga&3])switch(ga&3){case 0:or(lr,Dr,Ir,un,dn);break;case 1:or(lr,un,Ir,oi,dn);break;case 2:or(lr,Dr,dn,un,ui);break;case 3:or(lr,un,dn,oi,ui);break}}}(Z,Be,Ue,We,wt),zt}e.interpolateRgb=Cc;function Cc(Z,oe){Z=e.rgb(Z),oe=e.rgb(oe);var we=Z.r,Be=Z.g,Ue=Z.b,We=oe.r-we,wt=oe.g-Be,tt=oe.b-Ue;return function(zt){return\"#\"+Sn(Math.round(we+We*zt))+Sn(Math.round(Be+wt*zt))+Sn(Math.round(Ue+tt*zt))}}e.interpolateObject=ws;function ws(Z,oe){var we={},Be={},Ue;for(Ue in Z)Ue in oe?we[Ue]=Sl(Z[Ue],oe[Ue]):Be[Ue]=Z[Ue];for(Ue in oe)Ue in Z||(Be[Ue]=oe[Ue]);return function(We){for(Ue in we)Be[Ue]=we[Ue](We);return Be}}e.interpolateNumber=$s;function $s(Z,oe){return Z=+Z,oe=+oe,function(we){return Z*(1-we)+oe*we}}e.interpolateString=hs;function hs(Z,oe){var we=Ms.lastIndex=dc.lastIndex=0,Be,Ue,We,wt=-1,tt=[],zt=[];for(Z=Z+\"\",oe=oe+\"\";(Be=Ms.exec(Z))&&(Ue=dc.exec(oe));)(We=Ue.index)>we&&(We=oe.slice(we,We),tt[wt]?tt[wt]+=We:tt[++wt]=We),(Be=Be[0])===(Ue=Ue[0])?tt[wt]?tt[wt]+=Ue:tt[++wt]=Ue:(tt[++wt]=null,zt.push({i:wt,x:$s(Be,Ue)})),we=dc.lastIndex;return we<oe.length&&(We=oe.slice(we),tt[wt]?tt[wt]+=We:tt[++wt]=We),tt.length<2?zt[0]?(oe=zt[0].x,function(or){return oe(or)+\"\"}):function(){return oe}:(oe=zt.length,function(or){for(var lr=0,Dr;lr<oe;++lr)tt[(Dr=zt[lr]).i]=Dr.x(or);return tt.join(\"\")})}var Ms=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,dc=new RegExp(Ms.source,\"g\");e.interpolate=Sl;function Sl(Z,oe){for(var we=e.interpolators.length,Be;--we>=0&&!(Be=e.interpolators[we](Z,oe)););return Be}e.interpolators=[function(Z,oe){var we=typeof oe;return(we===\"string\"?Hr.has(oe.toLowerCase())||/^(#|rgb\\(|hsl\\()/i.test(oe)?Cc:hs:oe instanceof Wn?Cc:Array.isArray(oe)?ec:we===\"object\"&&isNaN(oe)?ws:$s)(Z,oe)}],e.interpolateArray=ec;function ec(Z,oe){var we=[],Be=[],Ue=Z.length,We=oe.length,wt=Math.min(Z.length,oe.length),tt;for(tt=0;tt<wt;++tt)we.push(Sl(Z[tt],oe[tt]));for(;tt<Ue;++tt)Be[tt]=Z[tt];for(;tt<We;++tt)Be[tt]=oe[tt];return function(zt){for(tt=0;tt<wt;++tt)Be[tt]=we[tt](zt);return Be}}var Ps=function(){return H},ov=e.map({linear:Ps,poly:Mh,quad:function(){return Ef},cubic:function(){return tc},sin:function(){return jc},exp:function(){return kf},circle:function(){return Ml},elastic:Yh,back:Eh,bounce:function(){return nh}}),wo=e.map({in:H,out:$o,\"in-out\":Ja,\"out-in\":function(Z){return Ja($o(Z))}});e.ease=function(Z){var oe=Z.indexOf(\"-\"),we=oe>=0?Z.slice(0,oe):Z,Be=oe>=0?Z.slice(oe+1):\"in\";return we=ov.get(we)||Ps,Be=wo.get(Be)||H,Od(Be(we.apply(null,t.call(arguments,1))))};function Od(Z){return function(oe){return oe<=0?0:oe>=1?1:Z(oe)}}function $o(Z){return function(oe){return 1-Z(1-oe)}}function Ja(Z){return function(oe){return .5*(oe<.5?Z(2*oe):2-Z(2-2*oe))}}function Ef(Z){return Z*Z}function tc(Z){return Z*Z*Z}function uu(Z){if(Z<=0)return 0;if(Z>=1)return 1;var oe=Z*Z,we=oe*Z;return 4*(Z<.5?we:3*(Z-oe)+we-.75)}function Mh(Z){return function(oe){return Math.pow(oe,Z)}}function jc(Z){return 1-Math.cos(Z*xe)}function kf(Z){return Math.pow(2,10*(Z-1))}function Ml(Z){return 1-Math.sqrt(1-Z*Z)}function Yh(Z,oe){var we;return arguments.length<2&&(oe=.45),arguments.length?we=oe/ht*Math.asin(1/Z):(Z=1,we=oe/4),function(Be){return 1+Z*Math.pow(2,-10*Be)*Math.sin((Be-we)*ht/oe)}}function Eh(Z){return Z||(Z=1.70158),function(oe){return oe*oe*((Z+1)*oe-Z)}}function nh(Z){return Z<1/2.75?7.5625*Z*Z:Z<2/2.75?7.5625*(Z-=1.5/2.75)*Z+.75:Z<2.5/2.75?7.5625*(Z-=2.25/2.75)*Z+.9375:7.5625*(Z-=2.625/2.75)*Z+.984375}e.interpolateHcl=hf;function hf(Z,oe){Z=e.hcl(Z),oe=e.hcl(oe);var we=Z.h,Be=Z.c,Ue=Z.l,We=oe.h-we,wt=oe.c-Be,tt=oe.l-Ue;return isNaN(wt)&&(wt=0,Be=isNaN(Be)?oe.c:Be),isNaN(We)?(We=0,we=isNaN(we)?oe.h:we):We>180?We-=360:We<-180&&(We+=360),function(zt){return Fr(we+We*zt,Be+wt*zt,Ue+tt*zt)+\"\"}}e.interpolateHsl=kh;function kh(Z,oe){Z=e.hsl(Z),oe=e.hsl(oe);var we=Z.h,Be=Z.s,Ue=Z.l,We=oe.h-we,wt=oe.s-Be,tt=oe.l-Ue;return isNaN(wt)&&(wt=0,Be=isNaN(Be)?oe.s:Be),isNaN(We)?(We=0,we=isNaN(we)?oe.h:we):We>180?We-=360:We<-180&&(We+=360),function(zt){return jt(we+We*zt,Be+wt*zt,Ue+tt*zt)+\"\"}}e.interpolateLab=Kh;function Kh(Z,oe){Z=e.lab(Z),oe=e.lab(oe);var we=Z.l,Be=Z.a,Ue=Z.b,We=oe.l-we,wt=oe.a-Be,tt=oe.b-Ue;return function(zt){return Gi(we+We*zt,Be+wt*zt,Ue+tt*zt)+\"\"}}e.interpolateRound=rc;function rc(Z,oe){return oe-=Z,function(we){return Math.round(Z+oe*we)}}e.transform=function(Z){var oe=n.createElementNS(e.ns.prefix.svg,\"g\");return(e.transform=function(we){if(we!=null){oe.setAttribute(\"transform\",we);var Be=oe.transform.baseVal.consolidate()}return new ah(Be?Be.matrix:Nf)})(Z)};function ah(Z){var oe=[Z.a,Z.b],we=[Z.c,Z.d],Be=df(oe),Ue=Wc(oe,we),We=df(Cu(we,oe,-Ue))||0;oe[0]*we[1]<we[0]*oe[1]&&(oe[0]*=-1,oe[1]*=-1,Be*=-1,Ue*=-1),this.rotate=(Be?Math.atan2(oe[1],oe[0]):Math.atan2(-we[0],we[1]))*lt,this.translate=[Z.e,Z.f],this.scale=[Be,We],this.skew=We?Math.atan2(Ue,We)*lt:0}ah.prototype.toString=function(){return\"translate(\"+this.translate+\")rotate(\"+this.rotate+\")skewX(\"+this.skew+\")scale(\"+this.scale+\")\"};function Wc(Z,oe){return Z[0]*oe[0]+Z[1]*oe[1]}function df(Z){var oe=Math.sqrt(Wc(Z,Z));return oe&&(Z[0]/=oe,Z[1]/=oe),oe}function Cu(Z,oe,we){return Z[0]+=we*oe[0],Z[1]+=we*oe[1],Z}var Nf={a:1,b:0,c:0,d:1,e:0,f:0};e.interpolateTransform=Cf;function Zc(Z){return Z.length?Z.pop()+\",\":\"\"}function ds(Z,oe,we,Be){if(Z[0]!==oe[0]||Z[1]!==oe[1]){var Ue=we.push(\"translate(\",null,\",\",null,\")\");Be.push({i:Ue-4,x:$s(Z[0],oe[0])},{i:Ue-2,x:$s(Z[1],oe[1])})}else(oe[0]||oe[1])&&we.push(\"translate(\"+oe+\")\")}function Ch(Z,oe,we,Be){Z!==oe?(Z-oe>180?oe+=360:oe-Z>180&&(Z+=360),Be.push({i:we.push(Zc(we)+\"rotate(\",null,\")\")-2,x:$s(Z,oe)})):oe&&we.push(Zc(we)+\"rotate(\"+oe+\")\")}function Bd(Z,oe,we,Be){Z!==oe?Be.push({i:we.push(Zc(we)+\"skewX(\",null,\")\")-2,x:$s(Z,oe)}):oe&&we.push(Zc(we)+\"skewX(\"+oe+\")\")}function Jh(Z,oe,we,Be){if(Z[0]!==oe[0]||Z[1]!==oe[1]){var Ue=we.push(Zc(we)+\"scale(\",null,\",\",null,\")\");Be.push({i:Ue-4,x:$s(Z[0],oe[0])},{i:Ue-2,x:$s(Z[1],oe[1])})}else(oe[0]!==1||oe[1]!==1)&&we.push(Zc(we)+\"scale(\"+oe+\")\")}function Cf(Z,oe){var we=[],Be=[];return Z=e.transform(Z),oe=e.transform(oe),ds(Z.translate,oe.translate,we,Be),Ch(Z.rotate,oe.rotate,we,Be),Bd(Z.skew,oe.skew,we,Be),Jh(Z.scale,oe.scale,we,Be),Z=oe=null,function(Ue){for(var We=-1,wt=Be.length,tt;++We<wt;)we[(tt=Be[We]).i]=tt.x(Ue);return we.join(\"\")}}function pd(Z,oe){return oe=(oe-=Z=+Z)||1/oe,function(we){return(we-Z)/oe}}function Lu(Z,oe){return oe=(oe-=Z=+Z)||1/oe,function(we){return Math.max(0,Math.min(1,(we-Z)/oe))}}e.layout={},e.layout.bundle=function(){return function(Z){for(var oe=[],we=-1,Be=Z.length;++we<Be;)oe.push($h(Z[we]));return oe}};function $h(Z){for(var oe=Z.source,we=Z.target,Be=Pu(oe,we),Ue=[oe];oe!==Be;)oe=oe.parent,Ue.push(oe);for(var We=Ue.length;we!==Be;)Ue.splice(We,0,we),we=we.parent;return Ue}function tu(Z){for(var oe=[],we=Z.parent;we!=null;)oe.push(Z),Z=we,we=we.parent;return oe.push(Z),oe}function Pu(Z,oe){if(Z===oe)return Z;for(var we=tu(Z),Be=tu(oe),Ue=we.pop(),We=Be.pop(),wt=null;Ue===We;)wt=Ue,Ue=we.pop(),We=Be.pop();return wt}e.layout.chord=function(){var Z={},oe,we,Be,Ue,We=0,wt,tt,zt;function or(){var Dr={},Ir=[],oi=e.range(Ue),ui=[],qr,Kr,ii,vi,ci;for(oe=[],we=[],qr=0,vi=-1;++vi<Ue;){for(Kr=0,ci=-1;++ci<Ue;)Kr+=Be[vi][ci];Ir.push(Kr),ui.push(e.range(Ue)),qr+=Kr}for(wt&&oi.sort(function(so,wa){return wt(Ir[so],Ir[wa])}),tt&&ui.forEach(function(so,wa){so.sort(function(io,Ss){return tt(Be[wa][io],Be[wa][Ss])})}),qr=(ht-We*Ue)/qr,Kr=0,vi=-1;++vi<Ue;){for(ii=Kr,ci=-1;++ci<Ue;){var Jr=oi[vi],un=ui[Jr][ci],dn=Be[Jr][un],En=Kr,Nn=Kr+=dn*qr;Dr[Jr+\"-\"+un]={index:Jr,subindex:un,startAngle:En,endAngle:Nn,value:dn}}we[Jr]={index:Jr,startAngle:ii,endAngle:Kr,value:Ir[Jr]},Kr+=We}for(vi=-1;++vi<Ue;)for(ci=vi-1;++ci<Ue;){var ga=Dr[vi+\"-\"+ci],ya=Dr[ci+\"-\"+vi];(ga.value||ya.value)&&oe.push(ga.value<ya.value?{source:ya,target:ga}:{source:ga,target:ya})}zt&&lr()}function lr(){oe.sort(function(Dr,Ir){return zt((Dr.source.value+Dr.target.value)/2,(Ir.source.value+Ir.target.value)/2)})}return Z.matrix=function(Dr){return arguments.length?(Ue=(Be=Dr)&&Be.length,oe=we=null,Z):Be},Z.padding=function(Dr){return arguments.length?(We=Dr,oe=we=null,Z):We},Z.sortGroups=function(Dr){return arguments.length?(wt=Dr,oe=we=null,Z):wt},Z.sortSubgroups=function(Dr){return arguments.length?(tt=Dr,oe=null,Z):tt},Z.sortChords=function(Dr){return arguments.length?(zt=Dr,oe&&lr(),Z):zt},Z.chords=function(){return oe||or(),oe},Z.groups=function(){return we||or(),we},Z},e.layout.force=function(){var Z={},oe=e.dispatch(\"start\",\"tick\",\"end\"),we,Be=[1,1],Ue,We,wt=.9,tt=Qs,zt=Qh,or=-30,lr=gd,Dr=.1,Ir=.64,oi=[],ui=[],qr,Kr,ii;function vi(Jr){return function(un,dn,En,Nn){if(un.point!==Jr){var ga=un.cx-Jr.x,ya=un.cy-Jr.y,so=Nn-dn,wa=ga*ga+ya*ya;if(so*so/Ir<wa){if(wa<lr){var io=un.charge/wa;Jr.px-=ga*io,Jr.py-=ya*io}return!0}if(un.point&&wa&&wa<lr){var io=un.pointCharge/wa;Jr.px-=ga*io,Jr.py-=ya*io}}return!un.charge}}Z.tick=function(){if((We*=.99)<.005)return we=null,oe.end({type:\"end\",alpha:We=0}),!0;var Jr=oi.length,un=ui.length,dn,En,Nn,ga,ya,so,wa,io,Ss;for(En=0;En<un;++En)Nn=ui[En],ga=Nn.source,ya=Nn.target,io=ya.x-ga.x,Ss=ya.y-ga.y,(so=io*io+Ss*Ss)&&(so=We*Kr[En]*((so=Math.sqrt(so))-qr[En])/so,io*=so,Ss*=so,ya.x-=io*(wa=ga.weight+ya.weight?ga.weight/(ga.weight+ya.weight):.5),ya.y-=Ss*wa,ga.x+=io*(wa=1-wa),ga.y+=Ss*wa);if((wa=We*Dr)&&(io=Be[0]/2,Ss=Be[1]/2,En=-1,wa))for(;++En<Jr;)Nn=oi[En],Nn.x+=(io-Nn.x)*wa,Nn.y+=(Ss-Nn.y)*wa;if(or)for(yu(dn=e.geom.quadtree(oi),We,ii),En=-1;++En<Jr;)(Nn=oi[En]).fixed||dn.visit(vi(Nn));for(En=-1;++En<Jr;)Nn=oi[En],Nn.fixed?(Nn.x=Nn.px,Nn.y=Nn.py):(Nn.x-=(Nn.px-(Nn.px=Nn.x))*wt,Nn.y-=(Nn.py-(Nn.py=Nn.y))*wt);oe.tick({type:\"tick\",alpha:We})},Z.nodes=function(Jr){return arguments.length?(oi=Jr,Z):oi},Z.links=function(Jr){return arguments.length?(ui=Jr,Z):ui},Z.size=function(Jr){return arguments.length?(Be=Jr,Z):Be},Z.linkDistance=function(Jr){return arguments.length?(tt=typeof Jr==\"function\"?Jr:+Jr,Z):tt},Z.distance=Z.linkDistance,Z.linkStrength=function(Jr){return arguments.length?(zt=typeof Jr==\"function\"?Jr:+Jr,Z):zt},Z.friction=function(Jr){return arguments.length?(wt=+Jr,Z):wt},Z.charge=function(Jr){return arguments.length?(or=typeof Jr==\"function\"?Jr:+Jr,Z):or},Z.chargeDistance=function(Jr){return arguments.length?(lr=Jr*Jr,Z):Math.sqrt(lr)},Z.gravity=function(Jr){return arguments.length?(Dr=+Jr,Z):Dr},Z.theta=function(Jr){return arguments.length?(Ir=Jr*Jr,Z):Math.sqrt(Ir)},Z.alpha=function(Jr){return arguments.length?(Jr=+Jr,We?Jr>0?We=Jr:(we.c=null,we.t=NaN,we=null,oe.end({type:\"end\",alpha:We=0})):Jr>0&&(oe.start({type:\"start\",alpha:We=Jr}),we=Oo(Z.tick)),Z):We},Z.start=function(){var Jr,un=oi.length,dn=ui.length,En=Be[0],Nn=Be[1],ga,ya;for(Jr=0;Jr<un;++Jr)(ya=oi[Jr]).index=Jr,ya.weight=0;for(Jr=0;Jr<dn;++Jr)ya=ui[Jr],typeof ya.source==\"number\"&&(ya.source=oi[ya.source]),typeof ya.target==\"number\"&&(ya.target=oi[ya.target]),++ya.source.weight,++ya.target.weight;for(Jr=0;Jr<un;++Jr)ya=oi[Jr],isNaN(ya.x)&&(ya.x=so(\"x\",En)),isNaN(ya.y)&&(ya.y=so(\"y\",Nn)),isNaN(ya.px)&&(ya.px=ya.x),isNaN(ya.py)&&(ya.py=ya.y);if(qr=[],typeof tt==\"function\")for(Jr=0;Jr<dn;++Jr)qr[Jr]=+tt.call(this,ui[Jr],Jr);else for(Jr=0;Jr<dn;++Jr)qr[Jr]=tt;if(Kr=[],typeof zt==\"function\")for(Jr=0;Jr<dn;++Jr)Kr[Jr]=+zt.call(this,ui[Jr],Jr);else for(Jr=0;Jr<dn;++Jr)Kr[Jr]=zt;if(ii=[],typeof or==\"function\")for(Jr=0;Jr<un;++Jr)ii[Jr]=+or.call(this,oi[Jr],Jr);else for(Jr=0;Jr<un;++Jr)ii[Jr]=or;function so(wa,io){if(!ga){for(ga=new Array(un),Ns=0;Ns<un;++Ns)ga[Ns]=[];for(Ns=0;Ns<dn;++Ns){var Ss=ui[Ns];ga[Ss.source.index].push(Ss.target),ga[Ss.target.index].push(Ss.source)}}for(var _s=ga[Jr],Ns=-1,pn=_s.length,za;++Ns<pn;)if(!isNaN(za=_s[Ns][wa]))return za;return Math.random()*io}return Z.resume()},Z.resume=function(){return Z.alpha(.1)},Z.stop=function(){return Z.alpha(0)},Z.drag=function(){if(Ue||(Ue=e.behavior.drag().origin(H).on(\"dragstart.force\",Lc).on(\"drag.force\",ci).on(\"dragend.force\",fl)),!arguments.length)return Ue;this.on(\"mouseover.force\",Xc).on(\"mouseout.force\",ic).call(Ue)};function ci(Jr){Jr.px=e.event.x,Jr.py=e.event.y,Z.resume()}return e.rebind(Z,oe,\"on\")};function Lc(Z){Z.fixed|=2}function fl(Z){Z.fixed&=-7}function Xc(Z){Z.fixed|=4,Z.px=Z.x,Z.py=Z.y}function ic(Z){Z.fixed&=-5}function yu(Z,oe,we){var Be=0,Ue=0;if(Z.charge=0,!Z.leaf)for(var We=Z.nodes,wt=We.length,tt=-1,zt;++tt<wt;)zt=We[tt],zt!=null&&(yu(zt,oe,we),Z.charge+=zt.charge,Be+=zt.charge*zt.cx,Ue+=zt.charge*zt.cy);if(Z.point){Z.leaf||(Z.point.x+=Math.random()-.5,Z.point.y+=Math.random()-.5);var or=oe*we[Z.point.index];Z.charge+=Z.pointCharge=or,Be+=or*Z.point.x,Ue+=or*Z.point.y}Z.cx=Be/Z.charge,Z.cy=Ue/Z.charge}var Qs=20,Qh=1,gd=1/0;e.layout.hierarchy=function(){var Z=Uf,oe=sv,we=Lf;function Be(Ue){var We=[Ue],wt=[],tt;for(Ue.depth=0;(tt=We.pop())!=null;)if(wt.push(tt),(or=oe.call(Be,tt,tt.depth))&&(zt=or.length)){for(var zt,or,lr;--zt>=0;)We.push(lr=or[zt]),lr.parent=tt,lr.depth=tt.depth+1;we&&(tt.value=0),tt.children=or}else we&&(tt.value=+we.call(Be,tt,tt.depth)||0),delete tt.children;return vc(Ue,function(Dr){var Ir,oi;Z&&(Ir=Dr.children)&&Ir.sort(Z),we&&(oi=Dr.parent)&&(oi.value+=Dr.value)}),wt}return Be.sort=function(Ue){return arguments.length?(Z=Ue,Be):Z},Be.children=function(Ue){return arguments.length?(oe=Ue,Be):oe},Be.value=function(Ue){return arguments.length?(we=Ue,Be):we},Be.revalue=function(Ue){return we&&(Pc(Ue,function(We){We.children&&(We.value=0)}),vc(Ue,function(We){var wt;We.children||(We.value=+we.call(Be,We,We.depth)||0),(wt=We.parent)&&(wt.value+=We.value)})),Ue},Be};function Gu(Z,oe){return e.rebind(Z,oe,\"sort\",\"children\",\"value\"),Z.nodes=Z,Z.links=Iu,Z}function Pc(Z,oe){for(var we=[Z];(Z=we.pop())!=null;)if(oe(Z),(Ue=Z.children)&&(Be=Ue.length))for(var Be,Ue;--Be>=0;)we.push(Ue[Be])}function vc(Z,oe){for(var we=[Z],Be=[];(Z=we.pop())!=null;)if(Be.push(Z),(wt=Z.children)&&(We=wt.length))for(var Ue=-1,We,wt;++Ue<We;)we.push(wt[Ue]);for(;(Z=Be.pop())!=null;)oe(Z)}function sv(Z){return Z.children}function Lf(Z){return Z.value}function Uf(Z,oe){return oe.value-Z.value}function Iu(Z){return e.merge(Z.map(function(oe){return(oe.children||[]).map(function(we){return{source:oe,target:we}})}))}e.layout.partition=function(){var Z=e.layout.hierarchy(),oe=[1,1];function we(We,wt,tt,zt){var or=We.children;if(We.x=wt,We.y=We.depth*zt,We.dx=tt,We.dy=zt,or&&(Dr=or.length)){var lr=-1,Dr,Ir,oi;for(tt=We.value?tt/We.value:0;++lr<Dr;)we(Ir=or[lr],wt,oi=Ir.value*tt,zt),wt+=oi}}function Be(We){var wt=We.children,tt=0;if(wt&&(or=wt.length))for(var zt=-1,or;++zt<or;)tt=Math.max(tt,Be(wt[zt]));return 1+tt}function Ue(We,wt){var tt=Z.call(this,We,wt);return we(tt[0],0,oe[0],oe[1]/Be(tt[0])),tt}return Ue.size=function(We){return arguments.length?(oe=We,Ue):oe},Gu(Ue,Z)},e.layout.pie=function(){var Z=Number,oe=oh,we=0,Be=ht,Ue=0;function We(wt){var tt=wt.length,zt=wt.map(function(vi,ci){return+Z.call(We,vi,ci)}),or=+(typeof we==\"function\"?we.apply(this,arguments):we),lr=(typeof Be==\"function\"?Be.apply(this,arguments):Be)-or,Dr=Math.min(Math.abs(lr)/tt,+(typeof Ue==\"function\"?Ue.apply(this,arguments):Ue)),Ir=Dr*(lr<0?-1:1),oi=e.sum(zt),ui=oi?(lr-tt*Ir)/oi:0,qr=e.range(tt),Kr=[],ii;return oe!=null&&qr.sort(oe===oh?function(vi,ci){return zt[ci]-zt[vi]}:function(vi,ci){return oe(wt[vi],wt[ci])}),qr.forEach(function(vi){Kr[vi]={data:wt[vi],value:ii=zt[vi],startAngle:or,endAngle:or+=ii*ui+Ir,padAngle:Dr}}),Kr}return We.value=function(wt){return arguments.length?(Z=wt,We):Z},We.sort=function(wt){return arguments.length?(oe=wt,We):oe},We.startAngle=function(wt){return arguments.length?(we=wt,We):we},We.endAngle=function(wt){return arguments.length?(Be=wt,We):Be},We.padAngle=function(wt){return arguments.length?(Ue=wt,We):Ue},We};var oh={};e.layout.stack=function(){var Z=H,oe=_u,we=xu,Be=md,Ue=ru,We=vf;function wt(tt,zt){if(!(ui=tt.length))return tt;var or=tt.map(function(vi,ci){return Z.call(wt,vi,ci)}),lr=or.map(function(vi){return vi.map(function(ci,Jr){return[Ue.call(wt,ci,Jr),We.call(wt,ci,Jr)]})}),Dr=oe.call(wt,lr,zt);or=e.permute(or,Dr),lr=e.permute(lr,Dr);var Ir=we.call(wt,lr,zt),oi=or[0].length,ui,qr,Kr,ii;for(Kr=0;Kr<oi;++Kr)for(Be.call(wt,or[0][Kr],ii=Ir[Kr],lr[0][Kr][1]),qr=1;qr<ui;++qr)Be.call(wt,or[qr][Kr],ii+=lr[qr-1][Kr][1],lr[qr][Kr][1]);return tt}return wt.values=function(tt){return arguments.length?(Z=tt,wt):Z},wt.order=function(tt){return arguments.length?(oe=typeof tt==\"function\"?tt:sh.get(tt)||_u,wt):oe},wt.offset=function(tt){return arguments.length?(we=typeof tt==\"function\"?tt:Fs.get(tt)||xu,wt):we},wt.x=function(tt){return arguments.length?(Ue=tt,wt):Ue},wt.y=function(tt){return arguments.length?(We=tt,wt):We},wt.out=function(tt){return arguments.length?(Be=tt,wt):Be},wt};function ru(Z){return Z.x}function vf(Z){return Z.y}function md(Z,oe,we){Z.y0=oe,Z.y=we}var sh=e.map({\"inside-out\":function(Z){var oe=Z.length,we,Be,Ue=Z.map(Lh),We=Z.map(Is),wt=e.range(oe).sort(function(Dr,Ir){return Ue[Dr]-Ue[Ir]}),tt=0,zt=0,or=[],lr=[];for(we=0;we<oe;++we)Be=wt[we],tt<zt?(tt+=We[Be],or.push(Be)):(zt+=We[Be],lr.push(Be));return lr.reverse().concat(or)},reverse:function(Z){return e.range(Z.length).reverse()},default:_u}),Fs=e.map({silhouette:function(Z){var oe=Z.length,we=Z[0].length,Be=[],Ue=0,We,wt,tt,zt=[];for(wt=0;wt<we;++wt){for(We=0,tt=0;We<oe;We++)tt+=Z[We][wt][1];tt>Ue&&(Ue=tt),Be.push(tt)}for(wt=0;wt<we;++wt)zt[wt]=(Ue-Be[wt])/2;return zt},wiggle:function(Z){var oe=Z.length,we=Z[0],Be=we.length,Ue,We,wt,tt,zt,or,lr,Dr,Ir,oi=[];for(oi[0]=Dr=Ir=0,We=1;We<Be;++We){for(Ue=0,tt=0;Ue<oe;++Ue)tt+=Z[Ue][We][1];for(Ue=0,zt=0,lr=we[We][0]-we[We-1][0];Ue<oe;++Ue){for(wt=0,or=(Z[Ue][We][1]-Z[Ue][We-1][1])/(2*lr);wt<Ue;++wt)or+=(Z[wt][We][1]-Z[wt][We-1][1])/lr;zt+=or*Z[Ue][We][1]}oi[We]=Dr-=tt?zt/tt*lr:0,Dr<Ir&&(Ir=Dr)}for(We=0;We<Be;++We)oi[We]-=Ir;return oi},expand:function(Z){var oe=Z.length,we=Z[0].length,Be=1/oe,Ue,We,wt,tt=[];for(We=0;We<we;++We){for(Ue=0,wt=0;Ue<oe;Ue++)wt+=Z[Ue][We][1];if(wt)for(Ue=0;Ue<oe;Ue++)Z[Ue][We][1]/=wt;else for(Ue=0;Ue<oe;Ue++)Z[Ue][We][1]=Be}for(We=0;We<we;++We)tt[We]=0;return tt},zero:xu});function _u(Z){return e.range(Z.length)}function xu(Z){for(var oe=-1,we=Z[0].length,Be=[];++oe<we;)Be[oe]=0;return Be}function Lh(Z){for(var oe=1,we=0,Be=Z[0][1],Ue,We=Z.length;oe<We;++oe)(Ue=Z[oe][1])>Be&&(we=oe,Be=Ue);return we}function Is(Z){return Z.reduce(Pf,0)}function Pf(Z,oe){return Z+oe[1]}e.layout.histogram=function(){var Z=!0,oe=Number,we=Vf,Be=Ic;function Ue(We,Ir){for(var tt=[],zt=We.map(oe,this),or=we.call(this,zt,Ir),lr=Be.call(this,or,zt,Ir),Dr,Ir=-1,oi=zt.length,ui=lr.length-1,qr=Z?1:1/oi,Kr;++Ir<ui;)Dr=tt[Ir]=[],Dr.dx=lr[Ir+1]-(Dr.x=lr[Ir]),Dr.y=0;if(ui>0)for(Ir=-1;++Ir<oi;)Kr=zt[Ir],Kr>=or[0]&&Kr<=or[1]&&(Dr=tt[e.bisect(lr,Kr,1,ui)-1],Dr.y+=qr,Dr.push(We[Ir]));return tt}return Ue.value=function(We){return arguments.length?(oe=We,Ue):oe},Ue.range=function(We){return arguments.length?(we=ti(We),Ue):we},Ue.bins=function(We){return arguments.length?(Be=typeof We==\"number\"?function(wt){return ju(wt,We)}:ti(We),Ue):Be},Ue.frequency=function(We){return arguments.length?(Z=!!We,Ue):Z},Ue};function Ic(Z,oe){return ju(Z,Math.ceil(Math.log(oe.length)/Math.LN2+1))}function ju(Z,oe){for(var we=-1,Be=+Z[0],Ue=(Z[1]-Be)/oe,We=[];++we<=oe;)We[we]=Ue*we+Be;return We}function Vf(Z){return[e.min(Z),e.max(Z)]}e.layout.pack=function(){var Z=e.layout.hierarchy().sort(pc),oe=0,we=[1,1],Be;function Ue(We,wt){var tt=Z.call(this,We,wt),zt=tt[0],or=we[0],lr=we[1],Dr=Be==null?Math.sqrt:typeof Be==\"function\"?Be:function(){return Be};if(zt.x=zt.y=0,vc(zt,function(oi){oi.r=+Dr(oi.value)}),vc(zt,Ih),oe){var Ir=oe*(Be?1:Math.max(2*zt.r/or,2*zt.r/lr))/2;vc(zt,function(oi){oi.r+=Ir}),vc(zt,Ih),vc(zt,function(oi){oi.r-=Ir})}return gc(zt,or/2,lr/2,Be?1:1/Math.max(2*zt.r/or,2*zt.r/lr)),tt}return Ue.size=function(We){return arguments.length?(we=We,Ue):we},Ue.radius=function(We){return arguments.length?(Be=We==null||typeof We==\"function\"?We:+We,Ue):Be},Ue.padding=function(We){return arguments.length?(oe=+We,Ue):oe},Gu(Ue,Z)};function pc(Z,oe){return Z.value-oe.value}function pf(Z,oe){var we=Z._pack_next;Z._pack_next=oe,oe._pack_prev=Z,oe._pack_next=we,we._pack_prev=oe}function Ph(Z,oe){Z._pack_next=oe,oe._pack_prev=Z}function Dl(Z,oe){var we=oe.x-Z.x,Be=oe.y-Z.y,Ue=Z.r+oe.r;return .999*Ue*Ue>we*we+Be*Be}function Ih(Z){if(!(oe=Z.children)||!(Ir=oe.length))return;var oe,we=1/0,Be=-1/0,Ue=1/0,We=-1/0,wt,tt,zt,or,lr,Dr,Ir;function oi(Jr){we=Math.min(Jr.x-Jr.r,we),Be=Math.max(Jr.x+Jr.r,Be),Ue=Math.min(Jr.y-Jr.r,Ue),We=Math.max(Jr.y+Jr.r,We)}if(oe.forEach(Wu),wt=oe[0],wt.x=-wt.r,wt.y=0,oi(wt),Ir>1&&(tt=oe[1],tt.x=tt.r,tt.y=0,oi(tt),Ir>2))for(zt=oe[2],hl(wt,tt,zt),oi(zt),pf(wt,zt),wt._pack_prev=zt,pf(zt,tt),tt=wt._pack_next,or=3;or<Ir;or++){hl(wt,tt,zt=oe[or]);var ui=0,qr=1,Kr=1;for(lr=tt._pack_next;lr!==tt;lr=lr._pack_next,qr++)if(Dl(lr,zt)){ui=1;break}if(ui==1)for(Dr=wt._pack_prev;Dr!==lr._pack_prev&&!Dl(Dr,zt);Dr=Dr._pack_prev,Kr++);ui?(qr<Kr||qr==Kr&&tt.r<wt.r?Ph(wt,tt=lr):Ph(wt=Dr,tt),or--):(pf(wt,zt),tt=zt,oi(zt))}var ii=(we+Be)/2,vi=(Ue+We)/2,ci=0;for(or=0;or<Ir;or++)zt=oe[or],zt.x-=ii,zt.y-=vi,ci=Math.max(ci,zt.r+Math.sqrt(zt.x*zt.x+zt.y*zt.y));Z.r=ci,oe.forEach(Rc)}function Wu(Z){Z._pack_next=Z._pack_prev=Z}function Rc(Z){delete Z._pack_next,delete Z._pack_prev}function gc(Z,oe,we,Be){var Ue=Z.children;if(Z.x=oe+=Be*Z.x,Z.y=we+=Be*Z.y,Z.r*=Be,Ue)for(var We=-1,wt=Ue.length;++We<wt;)gc(Ue[We],oe,we,Be)}function hl(Z,oe,we){var Be=Z.r+we.r,Ue=oe.x-Z.x,We=oe.y-Z.y;if(Be&&(Ue||We)){var wt=oe.r+we.r,tt=Ue*Ue+We*We;wt*=wt,Be*=Be;var zt=.5+(Be-wt)/(2*tt),or=Math.sqrt(Math.max(0,2*wt*(Be+tt)-(Be-=tt)*Be-wt*wt))/(2*tt);we.x=Z.x+zt*Ue+or*We,we.y=Z.y+zt*We-or*Ue}else we.x=Z.x+Be,we.y=Z.y}e.layout.tree=function(){var Z=e.layout.hierarchy().sort(null).value(null),oe=iu,we=[1,1],Be=null;function Ue(lr,Dr){var Ir=Z.call(this,lr,Dr),oi=Ir[0],ui=We(oi);if(vc(ui,wt),ui.parent.m=-ui.z,Pc(ui,tt),Be)Pc(oi,or);else{var qr=oi,Kr=oi,ii=oi;Pc(oi,function(un){un.x<qr.x&&(qr=un),un.x>Kr.x&&(Kr=un),un.depth>ii.depth&&(ii=un)});var vi=oe(qr,Kr)/2-qr.x,ci=we[0]/(Kr.x+oe(Kr,qr)/2+vi),Jr=we[1]/(ii.depth||1);Pc(oi,function(un){un.x=(un.x+vi)*ci,un.y=un.depth*Jr})}return Ir}function We(lr){for(var Dr={A:null,children:[lr]},Ir=[Dr],oi;(oi=Ir.pop())!=null;)for(var ui=oi.children,qr,Kr=0,ii=ui.length;Kr<ii;++Kr)Ir.push((ui[Kr]=qr={_:ui[Kr],parent:oi,children:(qr=ui[Kr].children)&&qr.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:Kr}).a=qr);return Dr.children[0]}function wt(lr){var Dr=lr.children,Ir=lr.parent.children,oi=lr.i?Ir[lr.i-1]:null;if(Dr.length){gf(lr);var ui=(Dr[0].z+Dr[Dr.length-1].z)/2;oi?(lr.z=oi.z+oe(lr._,oi._),lr.m=lr.z-ui):lr.z=ui}else oi&&(lr.z=oi.z+oe(lr._,oi._));lr.parent.A=zt(lr,oi,lr.parent.A||Ir[0])}function tt(lr){lr._.x=lr.z+lr.parent.m,lr.m+=lr.parent.m}function zt(lr,Dr,Ir){if(Dr){for(var oi=lr,ui=lr,qr=Dr,Kr=oi.parent.children[0],ii=oi.m,vi=ui.m,ci=qr.m,Jr=Kr.m,un;qr=Yc(qr),oi=mc(oi),qr&&oi;)Kr=mc(Kr),ui=Yc(ui),ui.a=lr,un=qr.z+ci-oi.z-ii+oe(qr._,oi._),un>0&&(nc(gt(qr,lr,Ir),lr,un),ii+=un,vi+=un),ci+=qr.m,ii+=oi.m,Jr+=Kr.m,vi+=ui.m;qr&&!Yc(ui)&&(ui.t=qr,ui.m+=ci-vi),oi&&!mc(Kr)&&(Kr.t=oi,Kr.m+=ii-Jr,Ir=lr)}return Ir}function or(lr){lr.x*=we[0],lr.y=lr.depth*we[1]}return Ue.separation=function(lr){return arguments.length?(oe=lr,Ue):oe},Ue.size=function(lr){return arguments.length?(Be=(we=lr)==null?or:null,Ue):Be?null:we},Ue.nodeSize=function(lr){return arguments.length?(Be=(we=lr)==null?null:or,Ue):Be?we:null},Gu(Ue,Z)};function iu(Z,oe){return Z.parent==oe.parent?1:2}function mc(Z){var oe=Z.children;return oe.length?oe[0]:Z.t}function Yc(Z){var oe=Z.children,we;return(we=oe.length)?oe[we-1]:Z.t}function nc(Z,oe,we){var Be=we/(oe.i-Z.i);oe.c-=Be,oe.s+=we,Z.c+=Be,oe.z+=we,oe.m+=we}function gf(Z){for(var oe=0,we=0,Be=Z.children,Ue=Be.length,We;--Ue>=0;)We=Be[Ue],We.z+=oe,We.m+=oe,oe+=We.s+(we+=We.c)}function gt(Z,oe,we){return Z.a.parent===oe.parent?Z.a:we}e.layout.cluster=function(){var Z=e.layout.hierarchy().sort(null).value(null),oe=iu,we=[1,1],Be=!1;function Ue(We,wt){var tt=Z.call(this,We,wt),zt=tt[0],or,lr=0;vc(zt,function(qr){var Kr=qr.children;Kr&&Kr.length?(qr.x=wr(Kr),qr.y=Bt(Kr)):(qr.x=or?lr+=oe(qr,or):0,qr.y=0,or=qr)});var Dr=vr(zt),Ir=Ur(zt),oi=Dr.x-oe(Dr,Ir)/2,ui=Ir.x+oe(Ir,Dr)/2;return vc(zt,Be?function(qr){qr.x=(qr.x-zt.x)*we[0],qr.y=(zt.y-qr.y)*we[1]}:function(qr){qr.x=(qr.x-oi)/(ui-oi)*we[0],qr.y=(1-(zt.y?qr.y/zt.y:1))*we[1]}),tt}return Ue.separation=function(We){return arguments.length?(oe=We,Ue):oe},Ue.size=function(We){return arguments.length?(Be=(we=We)==null,Ue):Be?null:we},Ue.nodeSize=function(We){return arguments.length?(Be=(we=We)!=null,Ue):Be?we:null},Gu(Ue,Z)};function Bt(Z){return 1+e.max(Z,function(oe){return oe.y})}function wr(Z){return Z.reduce(function(oe,we){return oe+we.x},0)/Z.length}function vr(Z){var oe=Z.children;return oe&&oe.length?vr(oe[0]):Z}function Ur(Z){var oe=Z.children,we;return oe&&(we=oe.length)?Ur(oe[we-1]):Z}e.layout.treemap=function(){var Z=e.layout.hierarchy(),oe=Math.round,we=[1,1],Be=null,Ue=fi,We=!1,wt,tt=\"squarify\",zt=.5*(1+Math.sqrt(5));function or(qr,Kr){for(var ii=-1,vi=qr.length,ci,Jr;++ii<vi;)Jr=(ci=qr[ii]).value*(Kr<0?0:Kr),ci.area=isNaN(Jr)||Jr<=0?0:Jr}function lr(qr){var Kr=qr.children;if(Kr&&Kr.length){var ii=Ue(qr),vi=[],ci=Kr.slice(),Jr,un=1/0,dn,En=tt===\"slice\"?ii.dx:tt===\"dice\"?ii.dy:tt===\"slice-dice\"?qr.depth&1?ii.dy:ii.dx:Math.min(ii.dx,ii.dy),Nn;for(or(ci,ii.dx*ii.dy/qr.value),vi.area=0;(Nn=ci.length)>0;)vi.push(Jr=ci[Nn-1]),vi.area+=Jr.area,tt!==\"squarify\"||(dn=Ir(vi,En))<=un?(ci.pop(),un=dn):(vi.area-=vi.pop().area,oi(vi,En,ii,!1),En=Math.min(ii.dx,ii.dy),vi.length=vi.area=0,un=1/0);vi.length&&(oi(vi,En,ii,!0),vi.length=vi.area=0),Kr.forEach(lr)}}function Dr(qr){var Kr=qr.children;if(Kr&&Kr.length){var ii=Ue(qr),vi=Kr.slice(),ci,Jr=[];for(or(vi,ii.dx*ii.dy/qr.value),Jr.area=0;ci=vi.pop();)Jr.push(ci),Jr.area+=ci.area,ci.z!=null&&(oi(Jr,ci.z?ii.dx:ii.dy,ii,!vi.length),Jr.length=Jr.area=0);Kr.forEach(Dr)}}function Ir(qr,Kr){for(var ii=qr.area,vi,ci=0,Jr=1/0,un=-1,dn=qr.length;++un<dn;)(vi=qr[un].area)&&(vi<Jr&&(Jr=vi),vi>ci&&(ci=vi));return ii*=ii,Kr*=Kr,ii?Math.max(Kr*ci*zt/ii,ii/(Kr*Jr*zt)):1/0}function oi(qr,Kr,ii,vi){var ci=-1,Jr=qr.length,un=ii.x,dn=ii.y,En=Kr?oe(qr.area/Kr):0,Nn;if(Kr==ii.dx){for((vi||En>ii.dy)&&(En=ii.dy);++ci<Jr;)Nn=qr[ci],Nn.x=un,Nn.y=dn,Nn.dy=En,un+=Nn.dx=Math.min(ii.x+ii.dx-un,En?oe(Nn.area/En):0);Nn.z=!0,Nn.dx+=ii.x+ii.dx-un,ii.y+=En,ii.dy-=En}else{for((vi||En>ii.dx)&&(En=ii.dx);++ci<Jr;)Nn=qr[ci],Nn.x=un,Nn.y=dn,Nn.dx=En,dn+=Nn.dy=Math.min(ii.y+ii.dy-dn,En?oe(Nn.area/En):0);Nn.z=!1,Nn.dy+=ii.y+ii.dy-dn,ii.x+=En,ii.dx-=En}}function ui(qr){var Kr=wt||Z(qr),ii=Kr[0];return ii.x=ii.y=0,ii.value?(ii.dx=we[0],ii.dy=we[1]):ii.dx=ii.dy=0,wt&&Z.revalue(ii),or([ii],ii.dx*ii.dy/ii.value),(wt?Dr:lr)(ii),We&&(wt=Kr),Kr}return ui.size=function(qr){return arguments.length?(we=qr,ui):we},ui.padding=function(qr){if(!arguments.length)return Be;function Kr(ci){var Jr=qr.call(ui,ci,ci.depth);return Jr==null?fi(ci):xi(ci,typeof Jr==\"number\"?[Jr,Jr,Jr,Jr]:Jr)}function ii(ci){return xi(ci,qr)}var vi;return Ue=(Be=qr)==null?fi:(vi=typeof qr)==\"function\"?Kr:(vi===\"number\"&&(qr=[qr,qr,qr,qr]),ii),ui},ui.round=function(qr){return arguments.length?(oe=qr?Math.round:Number,ui):oe!=Number},ui.sticky=function(qr){return arguments.length?(We=qr,wt=null,ui):We},ui.ratio=function(qr){return arguments.length?(zt=qr,ui):zt},ui.mode=function(qr){return arguments.length?(tt=qr+\"\",ui):tt},Gu(ui,Z)};function fi(Z){return{x:Z.x,y:Z.y,dx:Z.dx,dy:Z.dy}}function xi(Z,oe){var we=Z.x+oe[3],Be=Z.y+oe[0],Ue=Z.dx-oe[1]-oe[3],We=Z.dy-oe[0]-oe[2];return Ue<0&&(we+=Ue/2,Ue=0),We<0&&(Be+=We/2,We=0),{x:we,y:Be,dx:Ue,dy:We}}e.random={normal:function(Z,oe){var we=arguments.length;return we<2&&(oe=1),we<1&&(Z=0),function(){var Be,Ue,We;do Be=Math.random()*2-1,Ue=Math.random()*2-1,We=Be*Be+Ue*Ue;while(!We||We>1);return Z+oe*Be*Math.sqrt(-2*Math.log(We)/We)}},logNormal:function(){var Z=e.random.normal.apply(e,arguments);return function(){return Math.exp(Z())}},bates:function(Z){var oe=e.random.irwinHall(Z);return function(){return oe()/Z}},irwinHall:function(Z){return function(){for(var oe=0,we=0;we<Z;we++)oe+=Math.random();return oe}}},e.scale={};function Fi(Z){var oe=Z[0],we=Z[Z.length-1];return oe<we?[oe,we]:[we,oe]}function Xi(Z){return Z.rangeExtent?Z.rangeExtent():Fi(Z.range())}function hn(Z,oe,we,Be){var Ue=we(Z[0],Z[1]),We=Be(oe[0],oe[1]);return function(wt){return We(Ue(wt))}}function Ti(Z,oe){var we=0,Be=Z.length-1,Ue=Z[we],We=Z[Be],wt;return We<Ue&&(wt=we,we=Be,Be=wt,wt=Ue,Ue=We,We=wt),Z[we]=oe.floor(Ue),Z[Be]=oe.ceil(We),Z}function qi(Z){return Z?{floor:function(oe){return Math.floor(oe/Z)*Z},ceil:function(oe){return Math.ceil(oe/Z)*Z}}:Ii}var Ii={floor:H,ceil:H};function mi(Z,oe,we,Be){var Ue=[],We=[],wt=0,tt=Math.min(Z.length,oe.length)-1;for(Z[tt]<Z[0]&&(Z=Z.slice().reverse(),oe=oe.slice().reverse());++wt<=tt;)Ue.push(we(Z[wt-1],Z[wt])),We.push(Be(oe[wt-1],oe[wt]));return function(zt){var or=e.bisect(Z,zt,1,tt)-1;return We[or](Ue[or](zt))}}e.scale.linear=function(){return Pn([0,1],[0,1],Sl,!1)};function Pn(Z,oe,we,Be){var Ue,We;function wt(){var zt=Math.min(Z.length,oe.length)>2?mi:hn,or=Be?Lu:pd;return Ue=zt(Z,oe,or,we),We=zt(oe,Z,or,Sl),tt}function tt(zt){return Ue(zt)}return tt.invert=function(zt){return We(zt)},tt.domain=function(zt){return arguments.length?(Z=zt.map(Number),wt()):Z},tt.range=function(zt){return arguments.length?(oe=zt,wt()):oe},tt.rangeRound=function(zt){return tt.range(zt).interpolate(rc)},tt.clamp=function(zt){return arguments.length?(Be=zt,wt()):Be},tt.interpolate=function(zt){return arguments.length?(we=zt,wt()):we},tt.ticks=function(zt){return qa(Z,zt)},tt.tickFormat=function(zt,or){return d3_scale_linearTickFormat(Z,zt,or)},tt.nice=function(zt){return Ta(Z,zt),wt()},tt.copy=function(){return Pn(Z,oe,we,Be)},wt()}function Ma(Z,oe){return e.rebind(Z,oe,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function Ta(Z,oe){return Ti(Z,qi(Ea(Z,oe)[2])),Ti(Z,qi(Ea(Z,oe)[2])),Z}function Ea(Z,oe){oe==null&&(oe=10);var we=Fi(Z),Be=we[1]-we[0],Ue=Math.pow(10,Math.floor(Math.log(Be/oe)/Math.LN10)),We=oe/Be*Ue;return We<=.15?Ue*=10:We<=.35?Ue*=5:We<=.75&&(Ue*=2),we[0]=Math.ceil(we[0]/Ue)*Ue,we[1]=Math.floor(we[1]/Ue)*Ue+Ue*.5,we[2]=Ue,we}function qa(Z,oe){return e.range.apply(e,Ea(Z,oe))}var Cn={s:1,g:1,p:1,r:1,e:1};function sn(Z){return-Math.floor(Math.log(Z)/Math.LN10+.01)}function Ua(Z,oe){var we=sn(oe[2]);return Z in Cn?Math.abs(we-sn(Math.max(p(oe[0]),p(oe[1]))))+ +(Z!==\"e\"):we-(Z===\"%\")*2}e.scale.log=function(){return mo(e.scale.linear().domain([0,1]),10,!0,[1,10])};function mo(Z,oe,we,Be){function Ue(tt){return(we?Math.log(tt<0?0:tt):-Math.log(tt>0?0:-tt))/Math.log(oe)}function We(tt){return we?Math.pow(oe,tt):-Math.pow(oe,-tt)}function wt(tt){return Z(Ue(tt))}return wt.invert=function(tt){return We(Z.invert(tt))},wt.domain=function(tt){return arguments.length?(we=tt[0]>=0,Z.domain((Be=tt.map(Number)).map(Ue)),wt):Be},wt.base=function(tt){return arguments.length?(oe=+tt,Z.domain(Be.map(Ue)),wt):oe},wt.nice=function(){var tt=Ti(Be.map(Ue),we?Math:Xo);return Z.domain(tt),Be=tt.map(We),wt},wt.ticks=function(){var tt=Fi(Be),zt=[],or=tt[0],lr=tt[1],Dr=Math.floor(Ue(or)),Ir=Math.ceil(Ue(lr)),oi=oe%1?2:oe;if(isFinite(Ir-Dr)){if(we){for(;Dr<Ir;Dr++)for(var ui=1;ui<oi;ui++)zt.push(We(Dr)*ui);zt.push(We(Dr))}else for(zt.push(We(Dr));Dr++<Ir;)for(var ui=oi-1;ui>0;ui--)zt.push(We(Dr)*ui);for(Dr=0;zt[Dr]<or;Dr++);for(Ir=zt.length;zt[Ir-1]>lr;Ir--);zt=zt.slice(Dr,Ir)}return zt},wt.copy=function(){return mo(Z.copy(),oe,we,Be)},Ma(wt,Z)}var Xo={floor:function(Z){return-Math.ceil(-Z)},ceil:function(Z){return-Math.floor(-Z)}};e.scale.pow=function(){return Ts(e.scale.linear(),1,[0,1])};function Ts(Z,oe,we){var Be=Qo(oe),Ue=Qo(1/oe);function We(wt){return Z(Be(wt))}return We.invert=function(wt){return Ue(Z.invert(wt))},We.domain=function(wt){return arguments.length?(Z.domain((we=wt.map(Number)).map(Be)),We):we},We.ticks=function(wt){return qa(we,wt)},We.tickFormat=function(wt,tt){return d3_scale_linearTickFormat(we,wt,tt)},We.nice=function(wt){return We.domain(Ta(we,wt))},We.exponent=function(wt){return arguments.length?(Be=Qo(oe=wt),Ue=Qo(1/oe),Z.domain(we.map(Be)),We):oe},We.copy=function(){return Ts(Z.copy(),oe,we)},Ma(We,Z)}function Qo(Z){return function(oe){return oe<0?-Math.pow(-oe,Z):Math.pow(oe,Z)}}e.scale.sqrt=function(){return e.scale.pow().exponent(.5)},e.scale.ordinal=function(){return ys([],{t:\"range\",a:[[]]})};function ys(Z,oe){var we,Be,Ue;function We(tt){return Be[((we.get(tt)||(oe.t===\"range\"?we.set(tt,Z.push(tt)):NaN))-1)%Be.length]}function wt(tt,zt){return e.range(Z.length).map(function(or){return tt+zt*or})}return We.domain=function(tt){if(!arguments.length)return Z;Z=[],we=new A;for(var zt=-1,or=tt.length,lr;++zt<or;)we.has(lr=tt[zt])||we.set(lr,Z.push(lr));return We[oe.t].apply(We,oe.a)},We.range=function(tt){return arguments.length?(Be=tt,Ue=0,oe={t:\"range\",a:arguments},We):Be},We.rangePoints=function(tt,zt){arguments.length<2&&(zt=0);var or=tt[0],lr=tt[1],Dr=Z.length<2?(or=(or+lr)/2,0):(lr-or)/(Z.length-1+zt);return Be=wt(or+Dr*zt/2,Dr),Ue=0,oe={t:\"rangePoints\",a:arguments},We},We.rangeRoundPoints=function(tt,zt){arguments.length<2&&(zt=0);var or=tt[0],lr=tt[1],Dr=Z.length<2?(or=lr=Math.round((or+lr)/2),0):(lr-or)/(Z.length-1+zt)|0;return Be=wt(or+Math.round(Dr*zt/2+(lr-or-(Z.length-1+zt)*Dr)/2),Dr),Ue=0,oe={t:\"rangeRoundPoints\",a:arguments},We},We.rangeBands=function(tt,zt,or){arguments.length<2&&(zt=0),arguments.length<3&&(or=zt);var lr=tt[1]<tt[0],Dr=tt[lr-0],Ir=tt[1-lr],oi=(Ir-Dr)/(Z.length-zt+2*or);return Be=wt(Dr+oi*or,oi),lr&&Be.reverse(),Ue=oi*(1-zt),oe={t:\"rangeBands\",a:arguments},We},We.rangeRoundBands=function(tt,zt,or){arguments.length<2&&(zt=0),arguments.length<3&&(or=zt);var lr=tt[1]<tt[0],Dr=tt[lr-0],Ir=tt[1-lr],oi=Math.floor((Ir-Dr)/(Z.length-zt+2*or));return Be=wt(Dr+Math.round((Ir-Dr-(Z.length-zt)*oi)/2),oi),lr&&Be.reverse(),Ue=Math.round(oi*(1-zt)),oe={t:\"rangeRoundBands\",a:arguments},We},We.rangeBand=function(){return Ue},We.rangeExtent=function(){return Fi(oe.a[0])},We.copy=function(){return ys(Z,oe)},We.domain(Z)}e.scale.category10=function(){return e.scale.ordinal().range(Bo)},e.scale.category20=function(){return e.scale.ordinal().range(yl)},e.scale.category20b=function(){return e.scale.ordinal().range(Gs)},e.scale.category20c=function(){return e.scale.ordinal().range(Rs)};var Bo=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(jo),yl=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(jo),Gs=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(jo),Rs=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(jo);e.scale.quantile=function(){return ia([],[])};function ia(Z,oe){var we;function Be(){var We=0,wt=oe.length;for(we=[];++We<wt;)we[We-1]=e.quantile(Z,We/wt);return Ue}function Ue(We){if(!isNaN(We=+We))return oe[e.bisect(we,We)]}return Ue.domain=function(We){return arguments.length?(Z=We.map(h).filter(d).sort(f),Be()):Z},Ue.range=function(We){return arguments.length?(oe=We,Be()):oe},Ue.quantiles=function(){return we},Ue.invertExtent=function(We){return We=oe.indexOf(We),We<0?[NaN,NaN]:[We>0?we[We-1]:Z[0],We<we.length?we[We]:Z[Z.length-1]]},Ue.copy=function(){return ia(Z,oe)},Be()}e.scale.quantize=function(){return Ka(0,1,[0,1])};function Ka(Z,oe,we){var Be,Ue;function We(tt){return we[Math.max(0,Math.min(Ue,Math.floor(Be*(tt-Z))))]}function wt(){return Be=we.length/(oe-Z),Ue=we.length-1,We}return We.domain=function(tt){return arguments.length?(Z=+tt[0],oe=+tt[tt.length-1],wt()):[Z,oe]},We.range=function(tt){return arguments.length?(we=tt,wt()):we},We.invertExtent=function(tt){return tt=we.indexOf(tt),tt=tt<0?NaN:tt/Be+Z,[tt,tt+1/Be]},We.copy=function(){return Ka(Z,oe,we)},wt()}e.scale.threshold=function(){return vs([.5],[0,1])};function vs(Z,oe){function we(Be){if(Be<=Be)return oe[e.bisect(Z,Be)]}return we.domain=function(Be){return arguments.length?(Z=Be,we):Z},we.range=function(Be){return arguments.length?(oe=Be,we):oe},we.invertExtent=function(Be){return Be=oe.indexOf(Be),[Z[Be-1],Z[Be]]},we.copy=function(){return vs(Z,oe)},we}e.scale.identity=function(){return Ko([0,1])};function Ko(Z){function oe(we){return+we}return oe.invert=oe,oe.domain=oe.range=function(we){return arguments.length?(Z=we.map(oe),oe):Z},oe.ticks=function(we){return qa(Z,we)},oe.tickFormat=function(we,Be){return d3_scale_linearTickFormat(Z,we,Be)},oe.copy=function(){return Ko(Z)},oe}e.svg={};function nu(){return 0}e.svg.arc=function(){var Z=ac,oe=mf,we=nu,Be=Ru,Ue=bu,We=Kc,wt=Du;function tt(){var or=Math.max(0,+Z.apply(this,arguments)),lr=Math.max(0,+oe.apply(this,arguments)),Dr=Ue.apply(this,arguments)-xe,Ir=We.apply(this,arguments)-xe,oi=Math.abs(Ir-Dr),ui=Dr>Ir?0:1;if(lr<or&&(qr=lr,lr=or,or=qr),oi>=Le)return zt(lr,ui)+(or?zt(or,1-ui):\"\")+\"Z\";var qr,Kr,ii,vi,ci=0,Jr=0,un,dn,En,Nn,ga,ya,so,wa,io=[];if((vi=(+wt.apply(this,arguments)||0)/2)&&(ii=Be===Ru?Math.sqrt(or*or+lr*lr):+Be.apply(this,arguments),ui||(Jr*=-1),lr&&(Jr=Qr(ii/lr*Math.sin(vi))),or&&(ci=Qr(ii/or*Math.sin(vi)))),lr){un=lr*Math.cos(Dr+Jr),dn=lr*Math.sin(Dr+Jr),En=lr*Math.cos(Ir-Jr),Nn=lr*Math.sin(Ir-Jr);var Ss=Math.abs(Ir-Dr-2*Jr)<=Xe?0:1;if(Jr&&Dc(un,dn,En,Nn)===ui^Ss){var _s=(Dr+Ir)/2;un=lr*Math.cos(_s),dn=lr*Math.sin(_s),En=Nn=null}}else un=dn=0;if(or){ga=or*Math.cos(Ir-ci),ya=or*Math.sin(Ir-ci),so=or*Math.cos(Dr+ci),wa=or*Math.sin(Dr+ci);var Ns=Math.abs(Dr-Ir+2*ci)<=Xe?0:1;if(ci&&Dc(ga,ya,so,wa)===1-ui^Ns){var pn=(Dr+Ir)/2;ga=or*Math.cos(pn),ya=or*Math.sin(pn),so=wa=null}}else ga=ya=0;if(oi>Ye&&(qr=Math.min(Math.abs(lr-or)/2,+we.apply(this,arguments)))>.001){Kr=or<lr^ui?0:1;var za=qr,Lo=qr;if(oi<Xe){var Fo=so==null?[ga,ya]:En==null?[un,dn]:cl([un,dn],[so,wa],[En,Nn],[ga,ya]),js=un-Fo[0],xl=dn-Fo[1],fu=En-Fo[0],dl=Nn-Fo[1],xc=1/Math.sin(Math.acos((js*fu+xl*dl)/(Math.sqrt(js*js+xl*xl)*Math.sqrt(fu*fu+dl*dl)))/2),At=Math.sqrt(Fo[0]*Fo[0]+Fo[1]*Fo[1]);Lo=Math.min(qr,(or-At)/(xc-1)),za=Math.min(qr,(lr-At)/(xc+1))}if(En!=null){var Er=Da(so==null?[ga,ya]:[so,wa],[un,dn],lr,za,ui),Wr=Da([En,Nn],[ga,ya],lr,za,ui);qr===za?io.push(\"M\",Er[0],\"A\",za,\",\",za,\" 0 0,\",Kr,\" \",Er[1],\"A\",lr,\",\",lr,\" 0 \",1-ui^Dc(Er[1][0],Er[1][1],Wr[1][0],Wr[1][1]),\",\",ui,\" \",Wr[1],\"A\",za,\",\",za,\" 0 0,\",Kr,\" \",Wr[0]):io.push(\"M\",Er[0],\"A\",za,\",\",za,\" 0 1,\",Kr,\" \",Wr[0])}else io.push(\"M\",un,\",\",dn);if(so!=null){var wi=Da([un,dn],[so,wa],or,-Lo,ui),Ui=Da([ga,ya],En==null?[un,dn]:[En,Nn],or,-Lo,ui);qr===Lo?io.push(\"L\",Ui[0],\"A\",Lo,\",\",Lo,\" 0 0,\",Kr,\" \",Ui[1],\"A\",or,\",\",or,\" 0 \",ui^Dc(Ui[1][0],Ui[1][1],wi[1][0],wi[1][1]),\",\",1-ui,\" \",wi[1],\"A\",Lo,\",\",Lo,\" 0 0,\",Kr,\" \",wi[0]):io.push(\"L\",Ui[0],\"A\",Lo,\",\",Lo,\" 0 0,\",Kr,\" \",wi[0])}else io.push(\"L\",ga,\",\",ya)}else io.push(\"M\",un,\",\",dn),En!=null&&io.push(\"A\",lr,\",\",lr,\" 0 \",Ss,\",\",ui,\" \",En,\",\",Nn),io.push(\"L\",ga,\",\",ya),so!=null&&io.push(\"A\",or,\",\",or,\" 0 \",Ns,\",\",1-ui,\" \",so,\",\",wa);return io.push(\"Z\"),io.join(\"\")}function zt(or,lr){return\"M0,\"+or+\"A\"+or+\",\"+or+\" 0 1,\"+lr+\" 0,\"+-or+\"A\"+or+\",\"+or+\" 0 1,\"+lr+\" 0,\"+or}return tt.innerRadius=function(or){return arguments.length?(Z=ti(or),tt):Z},tt.outerRadius=function(or){return arguments.length?(oe=ti(or),tt):oe},tt.cornerRadius=function(or){return arguments.length?(we=ti(or),tt):we},tt.padRadius=function(or){return arguments.length?(Be=or==Ru?Ru:ti(or),tt):Be},tt.startAngle=function(or){return arguments.length?(Ue=ti(or),tt):Ue},tt.endAngle=function(or){return arguments.length?(We=ti(or),tt):We},tt.padAngle=function(or){return arguments.length?(wt=ti(or),tt):wt},tt.centroid=function(){var or=(+Z.apply(this,arguments)+ +oe.apply(this,arguments))/2,lr=(+Ue.apply(this,arguments)+ +We.apply(this,arguments))/2-xe;return[Math.cos(lr)*or,Math.sin(lr)*or]},tt};var Ru=\"auto\";function ac(Z){return Z.innerRadius}function mf(Z){return Z.outerRadius}function bu(Z){return Z.startAngle}function Kc(Z){return Z.endAngle}function Du(Z){return Z&&Z.padAngle}function Dc(Z,oe,we,Be){return(Z-we)*oe-(oe-Be)*Z>0?0:1}function Da(Z,oe,we,Be,Ue){var We=Z[0]-oe[0],wt=Z[1]-oe[1],tt=(Ue?Be:-Be)/Math.sqrt(We*We+wt*wt),zt=tt*wt,or=-tt*We,lr=Z[0]+zt,Dr=Z[1]+or,Ir=oe[0]+zt,oi=oe[1]+or,ui=(lr+Ir)/2,qr=(Dr+oi)/2,Kr=Ir-lr,ii=oi-Dr,vi=Kr*Kr+ii*ii,ci=we-Be,Jr=lr*oi-Ir*Dr,un=(ii<0?-1:1)*Math.sqrt(Math.max(0,ci*ci*vi-Jr*Jr)),dn=(Jr*ii-Kr*un)/vi,En=(-Jr*Kr-ii*un)/vi,Nn=(Jr*ii+Kr*un)/vi,ga=(-Jr*Kr+ii*un)/vi,ya=dn-ui,so=En-qr,wa=Nn-ui,io=ga-qr;return ya*ya+so*so>wa*wa+io*io&&(dn=Nn,En=ga),[[dn-zt,En-or],[dn*we/ci,En*we/ci]]}function eo(){return!0}function Jc(Z){var oe=zs,we=ks,Be=eo,Ue=_c,We=Ue.key,wt=.7;function tt(zt){var or=[],lr=[],Dr=-1,Ir=zt.length,oi,ui=ti(oe),qr=ti(we);function Kr(){or.push(\"M\",Ue(Z(lr),wt))}for(;++Dr<Ir;)Be.call(this,oi=zt[Dr],Dr)?lr.push([+ui.call(this,oi,Dr),+qr.call(this,oi,Dr)]):lr.length&&(Kr(),lr=[]);return lr.length&&Kr(),or.length?or.join(\"\"):null}return tt.x=function(zt){return arguments.length?(oe=zt,tt):oe},tt.y=function(zt){return arguments.length?(we=zt,tt):we},tt.defined=function(zt){return arguments.length?(Be=zt,tt):Be},tt.interpolate=function(zt){return arguments.length?(typeof zt==\"function\"?We=Ue=zt:We=(Ue=yc.get(zt)||_c).key,tt):We},tt.tension=function(zt){return arguments.length?(wt=zt,tt):wt},tt}e.svg.line=function(){return Jc(H)};var yc=e.map({linear:_c,\"linear-closed\":le,step:w,\"step-before\":B,\"step-after\":Q,basis:yt,\"basis-open\":Ot,\"basis-closed\":Nt,bundle:hr,cardinal:qe,\"cardinal-open\":ee,\"cardinal-closed\":se,monotone:Mt});yc.forEach(function(Z,oe){oe.key=Z,oe.closed=/-closed$/.test(Z)});function _c(Z){return Z.length>1?Z.join(\"L\"):Z+\"Z\"}function le(Z){return Z.join(\"L\")+\"Z\"}function w(Z){for(var oe=0,we=Z.length,Be=Z[0],Ue=[Be[0],\",\",Be[1]];++oe<we;)Ue.push(\"H\",(Be[0]+(Be=Z[oe])[0])/2,\"V\",Be[1]);return we>1&&Ue.push(\"H\",Be[0]),Ue.join(\"\")}function B(Z){for(var oe=0,we=Z.length,Be=Z[0],Ue=[Be[0],\",\",Be[1]];++oe<we;)Ue.push(\"V\",(Be=Z[oe])[1],\"H\",Be[0]);return Ue.join(\"\")}function Q(Z){for(var oe=0,we=Z.length,Be=Z[0],Ue=[Be[0],\",\",Be[1]];++oe<we;)Ue.push(\"H\",(Be=Z[oe])[0],\"V\",Be[1]);return Ue.join(\"\")}function ee(Z,oe){return Z.length<4?_c(Z):Z[1]+je(Z.slice(1,-1),it(Z,oe))}function se(Z,oe){return Z.length<3?le(Z):Z[0]+je((Z.push(Z[0]),Z),it([Z[Z.length-2]].concat(Z,[Z[1]]),oe))}function qe(Z,oe){return Z.length<3?_c(Z):Z[0]+je(Z,it(Z,oe))}function je(Z,oe){if(oe.length<1||Z.length!=oe.length&&Z.length!=oe.length+2)return _c(Z);var we=Z.length!=oe.length,Be=\"\",Ue=Z[0],We=Z[1],wt=oe[0],tt=wt,zt=1;if(we&&(Be+=\"Q\"+(We[0]-wt[0]*2/3)+\",\"+(We[1]-wt[1]*2/3)+\",\"+We[0]+\",\"+We[1],Ue=Z[1],zt=2),oe.length>1){tt=oe[1],We=Z[zt],zt++,Be+=\"C\"+(Ue[0]+wt[0])+\",\"+(Ue[1]+wt[1])+\",\"+(We[0]-tt[0])+\",\"+(We[1]-tt[1])+\",\"+We[0]+\",\"+We[1];for(var or=2;or<oe.length;or++,zt++)We=Z[zt],tt=oe[or],Be+=\"S\"+(We[0]-tt[0])+\",\"+(We[1]-tt[1])+\",\"+We[0]+\",\"+We[1]}if(we){var lr=Z[zt];Be+=\"Q\"+(We[0]+tt[0]*2/3)+\",\"+(We[1]+tt[1]*2/3)+\",\"+lr[0]+\",\"+lr[1]}return Be}function it(Z,oe){for(var we=[],Be=(1-oe)/2,Ue,We=Z[0],wt=Z[1],tt=1,zt=Z.length;++tt<zt;)Ue=We,We=wt,wt=Z[tt],we.push([Be*(wt[0]-Ue[0]),Be*(wt[1]-Ue[1])]);return we}function yt(Z){if(Z.length<3)return _c(Z);var oe=1,we=Z.length,Be=Z[0],Ue=Be[0],We=Be[1],wt=[Ue,Ue,Ue,(Be=Z[1])[0]],tt=[We,We,We,Be[1]],zt=[Ue,\",\",We,\"L\",Sr(Pe,wt),\",\",Sr(Pe,tt)];for(Z.push(Z[we-1]);++oe<=we;)Be=Z[oe],wt.shift(),wt.push(Be[0]),tt.shift(),tt.push(Be[1]),Oe(zt,wt,tt);return Z.pop(),zt.push(\"L\",Be),zt.join(\"\")}function Ot(Z){if(Z.length<4)return _c(Z);for(var oe=[],we=-1,Be=Z.length,Ue,We=[0],wt=[0];++we<3;)Ue=Z[we],We.push(Ue[0]),wt.push(Ue[1]);for(oe.push(Sr(Pe,We)+\",\"+Sr(Pe,wt)),--we;++we<Be;)Ue=Z[we],We.shift(),We.push(Ue[0]),wt.shift(),wt.push(Ue[1]),Oe(oe,We,wt);return oe.join(\"\")}function Nt(Z){for(var oe,we=-1,Be=Z.length,Ue=Be+4,We,wt=[],tt=[];++we<4;)We=Z[we%Be],wt.push(We[0]),tt.push(We[1]);for(oe=[Sr(Pe,wt),\",\",Sr(Pe,tt)],--we;++we<Ue;)We=Z[we%Be],wt.shift(),wt.push(We[0]),tt.shift(),tt.push(We[1]),Oe(oe,wt,tt);return oe.join(\"\")}function hr(Z,oe){var we=Z.length-1;if(we)for(var Be=Z[0][0],Ue=Z[0][1],We=Z[we][0]-Be,wt=Z[we][1]-Ue,tt=-1,zt,or;++tt<=we;)zt=Z[tt],or=tt/we,zt[0]=oe*zt[0]+(1-oe)*(Be+or*We),zt[1]=oe*zt[1]+(1-oe)*(Ue+or*wt);return yt(Z)}function Sr(Z,oe){return Z[0]*oe[0]+Z[1]*oe[1]+Z[2]*oe[2]+Z[3]*oe[3]}var he=[0,2/3,1/3,0],be=[0,1/3,2/3,0],Pe=[0,1/6,2/3,1/6];function Oe(Z,oe,we){Z.push(\"C\",Sr(he,oe),\",\",Sr(he,we),\",\",Sr(be,oe),\",\",Sr(be,we),\",\",Sr(Pe,oe),\",\",Sr(Pe,we))}function Je(Z,oe){return(oe[1]-Z[1])/(oe[0]-Z[0])}function He(Z){for(var oe=0,we=Z.length-1,Be=[],Ue=Z[0],We=Z[1],wt=Be[0]=Je(Ue,We);++oe<we;)Be[oe]=(wt+(wt=Je(Ue=We,We=Z[oe+1])))/2;return Be[oe]=wt,Be}function et(Z){for(var oe=[],we,Be,Ue,We,wt=He(Z),tt=-1,zt=Z.length-1;++tt<zt;)we=Je(Z[tt],Z[tt+1]),p(we)<Ye?wt[tt]=wt[tt+1]=0:(Be=wt[tt]/we,Ue=wt[tt+1]/we,We=Be*Be+Ue*Ue,We>9&&(We=we*3/Math.sqrt(We),wt[tt]=We*Be,wt[tt+1]=We*Ue));for(tt=-1;++tt<=zt;)We=(Z[Math.min(zt,tt+1)][0]-Z[Math.max(0,tt-1)][0])/(6*(1+wt[tt]*wt[tt])),oe.push([We||0,wt[tt]*We||0]);return oe}function Mt(Z){return Z.length<3?_c(Z):Z[0]+je(Z,et(Z))}e.svg.line.radial=function(){var Z=Jc(Dt);return Z.radius=Z.x,delete Z.x,Z.angle=Z.y,delete Z.y,Z};function Dt(Z){for(var oe,we=-1,Be=Z.length,Ue,We;++we<Be;)oe=Z[we],Ue=oe[0],We=oe[1]-xe,oe[0]=Ue*Math.cos(We),oe[1]=Ue*Math.sin(We);return Z}function Ut(Z){var oe=zs,we=zs,Be=0,Ue=ks,We=eo,wt=_c,tt=wt.key,zt=wt,or=\"L\",lr=.7;function Dr(Ir){var oi=[],ui=[],qr=[],Kr=-1,ii=Ir.length,vi,ci=ti(oe),Jr=ti(Be),un=oe===we?function(){return En}:ti(we),dn=Be===Ue?function(){return Nn}:ti(Ue),En,Nn;function ga(){oi.push(\"M\",wt(Z(qr),lr),or,zt(Z(ui.reverse()),lr),\"Z\")}for(;++Kr<ii;)We.call(this,vi=Ir[Kr],Kr)?(ui.push([En=+ci.call(this,vi,Kr),Nn=+Jr.call(this,vi,Kr)]),qr.push([+un.call(this,vi,Kr),+dn.call(this,vi,Kr)])):ui.length&&(ga(),ui=[],qr=[]);return ui.length&&ga(),oi.length?oi.join(\"\"):null}return Dr.x=function(Ir){return arguments.length?(oe=we=Ir,Dr):we},Dr.x0=function(Ir){return arguments.length?(oe=Ir,Dr):oe},Dr.x1=function(Ir){return arguments.length?(we=Ir,Dr):we},Dr.y=function(Ir){return arguments.length?(Be=Ue=Ir,Dr):Ue},Dr.y0=function(Ir){return arguments.length?(Be=Ir,Dr):Be},Dr.y1=function(Ir){return arguments.length?(Ue=Ir,Dr):Ue},Dr.defined=function(Ir){return arguments.length?(We=Ir,Dr):We},Dr.interpolate=function(Ir){return arguments.length?(typeof Ir==\"function\"?tt=wt=Ir:tt=(wt=yc.get(Ir)||_c).key,zt=wt.reverse||wt,or=wt.closed?\"M\":\"L\",Dr):tt},Dr.tension=function(Ir){return arguments.length?(lr=Ir,Dr):lr},Dr}B.reverse=Q,Q.reverse=B,e.svg.area=function(){return Ut(H)},e.svg.area.radial=function(){var Z=Ut(Dt);return Z.radius=Z.x,delete Z.x,Z.innerRadius=Z.x0,delete Z.x0,Z.outerRadius=Z.x1,delete Z.x1,Z.angle=Z.y,delete Z.y,Z.startAngle=Z.y0,delete Z.y0,Z.endAngle=Z.y1,delete Z.y1,Z};function tr(Z){return Z.source}function mr(Z){return Z.target}e.svg.chord=function(){var Z=tr,oe=mr,we=Rr,Be=bu,Ue=Kc;function We(lr,Dr){var Ir=wt(this,Z,lr,Dr),oi=wt(this,oe,lr,Dr);return\"M\"+Ir.p0+zt(Ir.r,Ir.p1,Ir.a1-Ir.a0)+(tt(Ir,oi)?or(Ir.r,Ir.p1,Ir.r,Ir.p0):or(Ir.r,Ir.p1,oi.r,oi.p0)+zt(oi.r,oi.p1,oi.a1-oi.a0)+or(oi.r,oi.p1,Ir.r,Ir.p0))+\"Z\"}function wt(lr,Dr,Ir,oi){var ui=Dr.call(lr,Ir,oi),qr=we.call(lr,ui,oi),Kr=Be.call(lr,ui,oi)-xe,ii=Ue.call(lr,ui,oi)-xe;return{r:qr,a0:Kr,a1:ii,p0:[qr*Math.cos(Kr),qr*Math.sin(Kr)],p1:[qr*Math.cos(ii),qr*Math.sin(ii)]}}function tt(lr,Dr){return lr.a0==Dr.a0&&lr.a1==Dr.a1}function zt(lr,Dr,Ir){return\"A\"+lr+\",\"+lr+\" 0 \"+ +(Ir>Xe)+\",1 \"+Dr}function or(lr,Dr,Ir,oi){return\"Q 0,0 \"+oi}return We.radius=function(lr){return arguments.length?(we=ti(lr),We):we},We.source=function(lr){return arguments.length?(Z=ti(lr),We):Z},We.target=function(lr){return arguments.length?(oe=ti(lr),We):oe},We.startAngle=function(lr){return arguments.length?(Be=ti(lr),We):Be},We.endAngle=function(lr){return arguments.length?(Ue=ti(lr),We):Ue},We};function Rr(Z){return Z.radius}e.svg.diagonal=function(){var Z=tr,oe=mr,we=zr;function Be(Ue,We){var wt=Z.call(this,Ue,We),tt=oe.call(this,Ue,We),zt=(wt.y+tt.y)/2,or=[wt,{x:wt.x,y:zt},{x:tt.x,y:zt},tt];return or=or.map(we),\"M\"+or[0]+\"C\"+or[1]+\" \"+or[2]+\" \"+or[3]}return Be.source=function(Ue){return arguments.length?(Z=ti(Ue),Be):Z},Be.target=function(Ue){return arguments.length?(oe=ti(Ue),Be):oe},Be.projection=function(Ue){return arguments.length?(we=Ue,Be):we},Be};function zr(Z){return[Z.x,Z.y]}e.svg.diagonal.radial=function(){var Z=e.svg.diagonal(),oe=zr,we=Z.projection;return Z.projection=function(Be){return arguments.length?we(Xr(oe=Be)):oe},Z};function Xr(Z){return function(){var oe=Z.apply(this,arguments),we=oe[0],Be=oe[1]-xe;return[we*Math.cos(Be),we*Math.sin(Be)]}}e.svg.symbol=function(){var Z=Li,oe=di;function we(Be,Ue){return(Qi.get(Z.call(this,Be,Ue))||Ci)(oe.call(this,Be,Ue))}return we.type=function(Be){return arguments.length?(Z=ti(Be),we):Z},we.size=function(Be){return arguments.length?(oe=ti(Be),we):oe},we};function di(){return 64}function Li(){return\"circle\"}function Ci(Z){var oe=Math.sqrt(Z/Xe);return\"M0,\"+oe+\"A\"+oe+\",\"+oe+\" 0 1,1 0,\"+-oe+\"A\"+oe+\",\"+oe+\" 0 1,1 0,\"+oe+\"Z\"}var Qi=e.map({circle:Ci,cross:function(Z){var oe=Math.sqrt(Z/5)/2;return\"M\"+-3*oe+\",\"+-oe+\"H\"+-oe+\"V\"+-3*oe+\"H\"+oe+\"V\"+-oe+\"H\"+3*oe+\"V\"+oe+\"H\"+oe+\"V\"+3*oe+\"H\"+-oe+\"V\"+oe+\"H\"+-3*oe+\"Z\"},diamond:function(Z){var oe=Math.sqrt(Z/(2*pa)),we=oe*pa;return\"M0,\"+-oe+\"L\"+we+\",0 0,\"+oe+\" \"+-we+\",0Z\"},square:function(Z){var oe=Math.sqrt(Z)/2;return\"M\"+-oe+\",\"+-oe+\"L\"+oe+\",\"+-oe+\" \"+oe+\",\"+oe+\" \"+-oe+\",\"+oe+\"Z\"},\"triangle-down\":function(Z){var oe=Math.sqrt(Z/Mn),we=oe*Mn/2;return\"M0,\"+we+\"L\"+oe+\",\"+-we+\" \"+-oe+\",\"+-we+\"Z\"},\"triangle-up\":function(Z){var oe=Math.sqrt(Z/Mn),we=oe*Mn/2;return\"M0,\"+-we+\"L\"+oe+\",\"+we+\" \"+-oe+\",\"+we+\"Z\"}});e.svg.symbolTypes=Qi.keys();var Mn=Math.sqrt(3),pa=Math.tan(30*Se);Ce.transition=function(Z){for(var oe=Ro||++co,we=po(Z),Be=[],Ue,We,wt=Ds||{time:Date.now(),ease:uu,delay:0,duration:250},tt=-1,zt=this.length;++tt<zt;){Be.push(Ue=[]);for(var or=this[tt],lr=-1,Dr=or.length;++lr<Dr;)(We=or[lr])&&_l(We,lr,we,oe,wt),Ue.push(We)}return To(Be,we,oe)},Ce.interrupt=function(Z){return this.each(Z==null?ea:Ga(po(Z)))};var ea=Ga(po());function Ga(Z){return function(){var oe,we,Be;(oe=this[Z])&&(Be=oe[we=oe.active])&&(Be.timer.c=null,Be.timer.t=NaN,--oe.count?delete oe[we]:delete this[Z],oe.active+=.5,Be.event&&Be.event.interrupt.call(this,this.__data__,Be.index))}}function To(Z,oe,we){return ie(Z,Wa),Z.namespace=oe,Z.id=we,Z}var Wa=[],co=0,Ro,Ds;Wa.call=Ce.call,Wa.empty=Ce.empty,Wa.node=Ce.node,Wa.size=Ce.size,e.transition=function(Z,oe){return Z&&Z.transition?Ro?Z.transition(oe):Z:e.selection().transition(Z)},e.transition.prototype=Wa,Wa.select=function(Z){var oe=this.id,we=this.namespace,Be=[],Ue,We,wt;Z=me(Z);for(var tt=-1,zt=this.length;++tt<zt;){Be.push(Ue=[]);for(var or=this[tt],lr=-1,Dr=or.length;++lr<Dr;)(wt=or[lr])&&(We=Z.call(wt,wt.__data__,lr,tt))?(\"__data__\"in wt&&(We.__data__=wt.__data__),_l(We,lr,we,oe,wt[we][oe]),Ue.push(We)):Ue.push(null)}return To(Be,we,oe)},Wa.selectAll=function(Z){var oe=this.id,we=this.namespace,Be=[],Ue,We,wt,tt,zt;Z=Re(Z);for(var or=-1,lr=this.length;++or<lr;)for(var Dr=this[or],Ir=-1,oi=Dr.length;++Ir<oi;)if(wt=Dr[Ir]){zt=wt[we][oe],We=Z.call(wt,wt.__data__,Ir,or),Be.push(Ue=[]);for(var ui=-1,qr=We.length;++ui<qr;)(tt=We[ui])&&_l(tt,ui,we,oe,zt),Ue.push(tt)}return To(Be,we,oe)},Wa.filter=function(Z){var oe=[],we,Be,Ue;typeof Z!=\"function\"&&(Z=Ke(Z));for(var We=0,wt=this.length;We<wt;We++){oe.push(we=[]);for(var Be=this[We],tt=0,zt=Be.length;tt<zt;tt++)(Ue=Be[tt])&&Z.call(Ue,Ue.__data__,tt,We)&&we.push(Ue)}return To(oe,this.namespace,this.id)},Wa.tween=function(Z,oe){var we=this.id,Be=this.namespace;return arguments.length<2?this.node()[Be][we].tween.get(Z):bt(this,oe==null?function(Ue){Ue[Be][we].tween.remove(Z)}:function(Ue){Ue[Be][we].tween.set(Z,oe)})};function As(Z,oe,we,Be){var Ue=Z.id,We=Z.namespace;return bt(Z,typeof we==\"function\"?function(wt,tt,zt){wt[We][Ue].tween.set(oe,Be(we.call(wt,wt.__data__,tt,zt)))}:(we=Be(we),function(wt){wt[We][Ue].tween.set(oe,we)}))}Wa.attr=function(Z,oe){if(arguments.length<2){for(oe in Z)this.attr(oe,Z[oe]);return this}var we=Z==\"transform\"?Cf:Sl,Be=e.ns.qualify(Z);function Ue(){this.removeAttribute(Be)}function We(){this.removeAttributeNS(Be.space,Be.local)}function wt(zt){return zt==null?Ue:(zt+=\"\",function(){var or=this.getAttribute(Be),lr;return or!==zt&&(lr=we(or,zt),function(Dr){this.setAttribute(Be,lr(Dr))})})}function tt(zt){return zt==null?We:(zt+=\"\",function(){var or=this.getAttributeNS(Be.space,Be.local),lr;return or!==zt&&(lr=we(or,zt),function(Dr){this.setAttributeNS(Be.space,Be.local,lr(Dr))})})}return As(this,\"attr.\"+Z,oe,Be.local?tt:wt)},Wa.attrTween=function(Z,oe){var we=e.ns.qualify(Z);function Be(We,wt){var tt=oe.call(this,We,wt,this.getAttribute(we));return tt&&function(zt){this.setAttribute(we,tt(zt))}}function Ue(We,wt){var tt=oe.call(this,We,wt,this.getAttributeNS(we.space,we.local));return tt&&function(zt){this.setAttributeNS(we.space,we.local,tt(zt))}}return this.tween(\"attr.\"+Z,we.local?Ue:Be)},Wa.style=function(Z,oe,we){var Be=arguments.length;if(Be<3){if(typeof Z!=\"string\"){Be<2&&(oe=\"\");for(we in Z)this.style(we,Z[we],oe);return this}we=\"\"}function Ue(){this.style.removeProperty(Z)}function We(wt){return wt==null?Ue:(wt+=\"\",function(){var tt=a(this).getComputedStyle(this,null).getPropertyValue(Z),zt;return tt!==wt&&(zt=Sl(tt,wt),function(or){this.style.setProperty(Z,zt(or),we)})})}return As(this,\"style.\"+Z,oe,We)},Wa.styleTween=function(Z,oe,we){arguments.length<3&&(we=\"\");function Be(Ue,We){var wt=oe.call(this,Ue,We,a(this).getComputedStyle(this,null).getPropertyValue(Z));return wt&&function(tt){this.style.setProperty(Z,wt(tt),we)}}return this.tween(\"style.\"+Z,Be)},Wa.text=function(Z){return As(this,\"text\",Z,yo)};function yo(Z){return Z==null&&(Z=\"\"),function(){this.textContent=Z}}Wa.remove=function(){var Z=this.namespace;return this.each(\"end.transition\",function(){var oe;this[Z].count<2&&(oe=this.parentNode)&&oe.removeChild(this)})},Wa.ease=function(Z){var oe=this.id,we=this.namespace;return arguments.length<1?this.node()[we][oe].ease:(typeof Z!=\"function\"&&(Z=e.ease.apply(e,arguments)),bt(this,function(Be){Be[we][oe].ease=Z}))},Wa.delay=function(Z){var oe=this.id,we=this.namespace;return arguments.length<1?this.node()[we][oe].delay:bt(this,typeof Z==\"function\"?function(Be,Ue,We){Be[we][oe].delay=+Z.call(Be,Be.__data__,Ue,We)}:(Z=+Z,function(Be){Be[we][oe].delay=Z}))},Wa.duration=function(Z){var oe=this.id,we=this.namespace;return arguments.length<1?this.node()[we][oe].duration:bt(this,typeof Z==\"function\"?function(Be,Ue,We){Be[we][oe].duration=Math.max(1,Z.call(Be,Be.__data__,Ue,We))}:(Z=Math.max(1,Z),function(Be){Be[we][oe].duration=Z}))},Wa.each=function(Z,oe){var we=this.id,Be=this.namespace;if(arguments.length<2){var Ue=Ds,We=Ro;try{Ro=we,bt(this,function(wt,tt,zt){Ds=wt[Be][we],Z.call(wt,wt.__data__,tt,zt)})}finally{Ds=Ue,Ro=We}}else bt(this,function(wt){var tt=wt[Be][we];(tt.event||(tt.event=e.dispatch(\"start\",\"end\",\"interrupt\"))).on(Z,oe)});return this},Wa.transition=function(){for(var Z=this.id,oe=++co,we=this.namespace,Be=[],Ue,We,wt,tt,zt=0,or=this.length;zt<or;zt++){Be.push(Ue=[]);for(var We=this[zt],lr=0,Dr=We.length;lr<Dr;lr++)(wt=We[lr])&&(tt=wt[we][Z],_l(wt,lr,we,oe,{time:tt.time,ease:tt.ease,delay:tt.delay+tt.duration,duration:tt.duration})),Ue.push(wt)}return To(Be,we,oe)};function po(Z){return Z==null?\"__transition__\":\"__transition_\"+Z+\"__\"}function _l(Z,oe,we,Be,Ue){var We=Z[we]||(Z[we]={active:0,count:0}),wt=We[Be],tt,zt,or,lr,Dr;function Ir(qr){var Kr=wt.delay;if(zt.t=Kr+tt,Kr<=qr)return oi(qr-Kr);zt.c=oi}function oi(qr){var Kr=We.active,ii=We[Kr];ii&&(ii.timer.c=null,ii.timer.t=NaN,--We.count,delete We[Kr],ii.event&&ii.event.interrupt.call(Z,Z.__data__,ii.index));for(var vi in We)if(+vi<Be){var ci=We[vi];ci.timer.c=null,ci.timer.t=NaN,--We.count,delete We[vi]}zt.c=ui,Oo(function(){return zt.c&&ui(qr||1)&&(zt.c=null,zt.t=NaN),1},0,tt),We.active=Be,wt.event&&wt.event.start.call(Z,Z.__data__,oe),Dr=[],wt.tween.forEach(function(Jr,un){(un=un.call(Z,Z.__data__,oe))&&Dr.push(un)}),lr=wt.ease,or=wt.duration}function ui(qr){for(var Kr=qr/or,ii=lr(Kr),vi=Dr.length;vi>0;)Dr[--vi].call(Z,ii);if(Kr>=1)return wt.event&&wt.event.end.call(Z,Z.__data__,oe),--We.count?delete We[Be]:delete Z[we],1}wt||(tt=Ue.time,zt=Oo(Ir,0,tt),wt=We[Be]={tween:new A,time:tt,timer:zt,delay:Ue.delay,duration:Ue.duration,ease:Ue.ease,index:oe},Ue=null,++We.count)}e.svg.axis=function(){var Z=e.scale.linear(),oe=Hl,we=6,Be=6,Ue=3,We=[10],wt=null,tt;function zt(or){or.each(function(){var lr=e.select(this),Dr=this.__chart__||Z,Ir=this.__chart__=Z.copy(),oi=wt==null?Ir.ticks?Ir.ticks.apply(Ir,We):Ir.domain():wt,ui=tt==null?Ir.tickFormat?Ir.tickFormat.apply(Ir,We):H:tt,qr=lr.selectAll(\".tick\").data(oi,Ir),Kr=qr.enter().insert(\"g\",\".domain\").attr(\"class\",\"tick\").style(\"opacity\",Ye),ii=e.transition(qr.exit()).style(\"opacity\",Ye).remove(),vi=e.transition(qr.order()).style(\"opacity\",1),ci=Math.max(we,0)+Ue,Jr,un=Xi(Ir),dn=lr.selectAll(\".domain\").data([0]),En=(dn.enter().append(\"path\").attr(\"class\",\"domain\"),e.transition(dn));Kr.append(\"line\"),Kr.append(\"text\");var Nn=Kr.select(\"line\"),ga=vi.select(\"line\"),ya=qr.select(\"text\").text(ui),so=Kr.select(\"text\"),wa=vi.select(\"text\"),io=oe===\"top\"||oe===\"left\"?-1:1,Ss,_s,Ns,pn;if(oe===\"bottom\"||oe===\"top\"?(Jr=cu,Ss=\"x\",Ns=\"y\",_s=\"x2\",pn=\"y2\",ya.attr(\"dy\",io<0?\"0em\":\".71em\").style(\"text-anchor\",\"middle\"),En.attr(\"d\",\"M\"+un[0]+\",\"+io*Be+\"V0H\"+un[1]+\"V\"+io*Be)):(Jr=el,Ss=\"y\",Ns=\"x\",_s=\"y2\",pn=\"x2\",ya.attr(\"dy\",\".32em\").style(\"text-anchor\",io<0?\"end\":\"start\"),En.attr(\"d\",\"M\"+io*Be+\",\"+un[0]+\"H0V\"+un[1]+\"H\"+io*Be)),Nn.attr(pn,io*we),so.attr(Ns,io*ci),ga.attr(_s,0).attr(pn,io*we),wa.attr(Ss,0).attr(Ns,io*ci),Ir.rangeBand){var za=Ir,Lo=za.rangeBand()/2;Dr=Ir=function(Fo){return za(Fo)+Lo}}else Dr.rangeBand?Dr=Ir:ii.call(Jr,Ir,Dr);Kr.call(Jr,Dr,Ir),vi.call(Jr,Ir,Ir)})}return zt.scale=function(or){return arguments.length?(Z=or,zt):Z},zt.orient=function(or){return arguments.length?(oe=or in Zu?or+\"\":Hl,zt):oe},zt.ticks=function(){return arguments.length?(We=r(arguments),zt):We},zt.tickValues=function(or){return arguments.length?(wt=or,zt):wt},zt.tickFormat=function(or){return arguments.length?(tt=or,zt):tt},zt.tickSize=function(or){var lr=arguments.length;return lr?(we=+or,Be=+arguments[lr-1],zt):we},zt.innerTickSize=function(or){return arguments.length?(we=+or,zt):we},zt.outerTickSize=function(or){return arguments.length?(Be=+or,zt):Be},zt.tickPadding=function(or){return arguments.length?(Ue=+or,zt):Ue},zt.tickSubdivide=function(){return arguments.length&&zt},zt};var Hl=\"bottom\",Zu={top:1,right:1,bottom:1,left:1};function cu(Z,oe,we){Z.attr(\"transform\",function(Be){var Ue=oe(Be);return\"translate(\"+(isFinite(Ue)?Ue:we(Be))+\",0)\"})}function el(Z,oe,we){Z.attr(\"transform\",function(Be){var Ue=oe(Be);return\"translate(0,\"+(isFinite(Ue)?Ue:we(Be))+\")\"})}e.svg.brush=function(){var Z=ke(lr,\"brushstart\",\"brush\",\"brushend\"),oe=null,we=null,Be=[0,0],Ue=[0,0],We,wt,tt=!0,zt=!0,or=zc[0];function lr(qr){qr.each(function(){var Kr=e.select(this).style(\"pointer-events\",\"all\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\").on(\"mousedown.brush\",ui).on(\"touchstart.brush\",ui),ii=Kr.selectAll(\".background\").data([0]);ii.enter().append(\"rect\").attr(\"class\",\"background\").style(\"visibility\",\"hidden\").style(\"cursor\",\"crosshair\"),Kr.selectAll(\".extent\").data([0]).enter().append(\"rect\").attr(\"class\",\"extent\").style(\"cursor\",\"move\");var vi=Kr.selectAll(\".resize\").data(or,H);vi.exit().remove(),vi.enter().append(\"g\").attr(\"class\",function(dn){return\"resize \"+dn}).style(\"cursor\",function(dn){return au[dn]}).append(\"rect\").attr(\"x\",function(dn){return/[ew]$/.test(dn)?-3:null}).attr(\"y\",function(dn){return/^[ns]/.test(dn)?-3:null}).attr(\"width\",6).attr(\"height\",6).style(\"visibility\",\"hidden\"),vi.style(\"display\",lr.empty()?\"none\":null);var ci=e.transition(Kr),Jr=e.transition(ii),un;oe&&(un=Xi(oe),Jr.attr(\"x\",un[0]).attr(\"width\",un[1]-un[0]),Ir(ci)),we&&(un=Xi(we),Jr.attr(\"y\",un[0]).attr(\"height\",un[1]-un[0]),oi(ci)),Dr(ci)})}lr.event=function(qr){qr.each(function(){var Kr=Z.of(this,arguments),ii={x:Be,y:Ue,i:We,j:wt},vi=this.__chart__||ii;this.__chart__=ii,Ro?e.select(this).transition().each(\"start.brush\",function(){We=vi.i,wt=vi.j,Be=vi.x,Ue=vi.y,Kr({type:\"brushstart\"})}).tween(\"brush:brush\",function(){var ci=ec(Be,ii.x),Jr=ec(Ue,ii.y);return We=wt=null,function(un){Be=ii.x=ci(un),Ue=ii.y=Jr(un),Kr({type:\"brush\",mode:\"resize\"})}}).each(\"end.brush\",function(){We=ii.i,wt=ii.j,Kr({type:\"brush\",mode:\"resize\"}),Kr({type:\"brushend\"})}):(Kr({type:\"brushstart\"}),Kr({type:\"brush\",mode:\"resize\"}),Kr({type:\"brushend\"}))})};function Dr(qr){qr.selectAll(\".resize\").attr(\"transform\",function(Kr){return\"translate(\"+Be[+/e$/.test(Kr)]+\",\"+Ue[+/^s/.test(Kr)]+\")\"})}function Ir(qr){qr.select(\".extent\").attr(\"x\",Be[0]),qr.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\",Be[1]-Be[0])}function oi(qr){qr.select(\".extent\").attr(\"y\",Ue[0]),qr.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",Ue[1]-Ue[0])}function ui(){var qr=this,Kr=e.select(e.event.target),ii=Z.of(qr,arguments),vi=e.select(qr),ci=Kr.datum(),Jr=!/^(n|s)$/.test(ci)&&oe,un=!/^(e|w)$/.test(ci)&&we,dn=Kr.classed(\"extent\"),En=Or(qr),Nn,ga=e.mouse(qr),ya,so=e.select(a(qr)).on(\"keydown.brush\",Ss).on(\"keyup.brush\",_s);if(e.event.changedTouches?so.on(\"touchmove.brush\",Ns).on(\"touchend.brush\",za):so.on(\"mousemove.brush\",Ns).on(\"mouseup.brush\",za),vi.interrupt().selectAll(\"*\").interrupt(),dn)ga[0]=Be[0]-ga[0],ga[1]=Ue[0]-ga[1];else if(ci){var wa=+/w$/.test(ci),io=+/^n/.test(ci);ya=[Be[1-wa]-ga[0],Ue[1-io]-ga[1]],ga[0]=Be[wa],ga[1]=Ue[io]}else e.event.altKey&&(Nn=ga.slice());vi.style(\"pointer-events\",\"none\").selectAll(\".resize\").style(\"display\",null),e.select(\"body\").style(\"cursor\",Kr.style(\"cursor\")),ii({type:\"brushstart\"}),Ns();function Ss(){e.event.keyCode==32&&(dn||(Nn=null,ga[0]-=Be[1],ga[1]-=Ue[1],dn=2),_e())}function _s(){e.event.keyCode==32&&dn==2&&(ga[0]+=Be[1],ga[1]+=Ue[1],dn=0,_e())}function Ns(){var Lo=e.mouse(qr),Fo=!1;ya&&(Lo[0]+=ya[0],Lo[1]+=ya[1]),dn||(e.event.altKey?(Nn||(Nn=[(Be[0]+Be[1])/2,(Ue[0]+Ue[1])/2]),ga[0]=Be[+(Lo[0]<Nn[0])],ga[1]=Ue[+(Lo[1]<Nn[1])]):Nn=null),Jr&&pn(Lo,oe,0)&&(Ir(vi),Fo=!0),un&&pn(Lo,we,1)&&(oi(vi),Fo=!0),Fo&&(Dr(vi),ii({type:\"brush\",mode:dn?\"move\":\"resize\"}))}function pn(Lo,Fo,js){var xl=Xi(Fo),fu=xl[0],dl=xl[1],xc=ga[js],At=js?Ue:Be,Er=At[1]-At[0],Wr,wi;if(dn&&(fu-=xc,dl-=Er+xc),Wr=(js?zt:tt)?Math.max(fu,Math.min(dl,Lo[js])):Lo[js],dn?wi=(Wr+=xc)+Er:(Nn&&(xc=Math.max(fu,Math.min(dl,2*Nn[js]-Wr))),xc<Wr?(wi=Wr,Wr=xc):wi=xc),At[0]!=Wr||At[1]!=wi)return js?wt=null:We=null,At[0]=Wr,At[1]=wi,!0}function za(){Ns(),vi.style(\"pointer-events\",\"all\").selectAll(\".resize\").style(\"display\",lr.empty()?\"none\":null),e.select(\"body\").style(\"cursor\",null),so.on(\"mousemove.brush\",null).on(\"mouseup.brush\",null).on(\"touchmove.brush\",null).on(\"touchend.brush\",null).on(\"keydown.brush\",null).on(\"keyup.brush\",null),En(),ii({type:\"brushend\"})}}return lr.x=function(qr){return arguments.length?(oe=qr,or=zc[!oe<<1|!we],lr):oe},lr.y=function(qr){return arguments.length?(we=qr,or=zc[!oe<<1|!we],lr):we},lr.clamp=function(qr){return arguments.length?(oe&&we?(tt=!!qr[0],zt=!!qr[1]):oe?tt=!!qr:we&&(zt=!!qr),lr):oe&&we?[tt,zt]:oe?tt:we?zt:null},lr.extent=function(qr){var Kr,ii,vi,ci,Jr;return arguments.length?(oe&&(Kr=qr[0],ii=qr[1],we&&(Kr=Kr[0],ii=ii[0]),We=[Kr,ii],oe.invert&&(Kr=oe(Kr),ii=oe(ii)),ii<Kr&&(Jr=Kr,Kr=ii,ii=Jr),(Kr!=Be[0]||ii!=Be[1])&&(Be=[Kr,ii])),we&&(vi=qr[0],ci=qr[1],oe&&(vi=vi[1],ci=ci[1]),wt=[vi,ci],we.invert&&(vi=we(vi),ci=we(ci)),ci<vi&&(Jr=vi,vi=ci,ci=Jr),(vi!=Ue[0]||ci!=Ue[1])&&(Ue=[vi,ci])),lr):(oe&&(We?(Kr=We[0],ii=We[1]):(Kr=Be[0],ii=Be[1],oe.invert&&(Kr=oe.invert(Kr),ii=oe.invert(ii)),ii<Kr&&(Jr=Kr,Kr=ii,ii=Jr))),we&&(wt?(vi=wt[0],ci=wt[1]):(vi=Ue[0],ci=Ue[1],we.invert&&(vi=we.invert(vi),ci=we.invert(ci)),ci<vi&&(Jr=vi,vi=ci,ci=Jr))),oe&&we?[[Kr,vi],[ii,ci]]:oe?[Kr,ii]:we&&[vi,ci])},lr.clear=function(){return lr.empty()||(Be=[0,0],Ue=[0,0],We=wt=null),lr},lr.empty=function(){return!!oe&&Be[0]==Be[1]||!!we&&Ue[0]==Ue[1]},e.rebind(lr,Z,\"on\")};var au={n:\"ns-resize\",e:\"ew-resize\",s:\"ns-resize\",w:\"ew-resize\",nw:\"nwse-resize\",ne:\"nesw-resize\",se:\"nwse-resize\",sw:\"nesw-resize\"},zc=[[\"n\",\"e\",\"s\",\"w\",\"nw\",\"ne\",\"se\",\"sw\"],[\"e\",\"w\"],[\"n\",\"s\"],[]];e.text=zi(function(Z){return Z.responseText}),e.json=function(Z,oe){return Yi(Z,\"application/json\",zl,oe)};function zl(Z){return JSON.parse(Z.responseText)}e.html=function(Z,oe){return Yi(Z,\"text/html\",Fl,oe)};function Fl(Z){var oe=n.createRange();return oe.selectNode(n.body),oe.createContextualFragment(Z.responseText)}e.xml=zi(function(Z){return Z.responseXML}),typeof r6==\"object\"&&r6.exports?r6.exports=e:this.d3=e}).apply(self)});var dq=ye((i6,nee)=>{(function(e,t){typeof i6==\"object\"&&typeof nee!=\"undefined\"?t(i6):(e=e||self,t(e.d3=e.d3||{}))})(i6,function(e){\"use strict\";var t=new Date,r=new Date;function n(Ke,xt,bt,Lt){function St(Et){return Ke(Et=arguments.length===0?new Date:new Date(+Et)),Et}return St.floor=function(Et){return Ke(Et=new Date(+Et)),Et},St.ceil=function(Et){return Ke(Et=new Date(Et-1)),xt(Et,1),Ke(Et),Et},St.round=function(Et){var dt=St(Et),Ht=St.ceil(Et);return Et-dt<Ht-Et?dt:Ht},St.offset=function(Et,dt){return xt(Et=new Date(+Et),dt==null?1:Math.floor(dt)),Et},St.range=function(Et,dt,Ht){var $t=[],fr;if(Et=St.ceil(Et),Ht=Ht==null?1:Math.floor(Ht),!(Et<dt)||!(Ht>0))return $t;do $t.push(fr=new Date(+Et)),xt(Et,Ht),Ke(Et);while(fr<Et&&Et<dt);return $t},St.filter=function(Et){return n(function(dt){if(dt>=dt)for(;Ke(dt),!Et(dt);)dt.setTime(dt-1)},function(dt,Ht){if(dt>=dt)if(Ht<0)for(;++Ht<=0;)for(;xt(dt,-1),!Et(dt););else for(;--Ht>=0;)for(;xt(dt,1),!Et(dt););})},bt&&(St.count=function(Et,dt){return t.setTime(+Et),r.setTime(+dt),Ke(t),Ke(r),Math.floor(bt(t,r))},St.every=function(Et){return Et=Math.floor(Et),!isFinite(Et)||!(Et>0)?null:Et>1?St.filter(Lt?function(dt){return Lt(dt)%Et===0}:function(dt){return St.count(0,dt)%Et===0}):St}),St}var i=n(function(){},function(Ke,xt){Ke.setTime(+Ke+xt)},function(Ke,xt){return xt-Ke});i.every=function(Ke){return Ke=Math.floor(Ke),!isFinite(Ke)||!(Ke>0)?null:Ke>1?n(function(xt){xt.setTime(Math.floor(xt/Ke)*Ke)},function(xt,bt){xt.setTime(+xt+bt*Ke)},function(xt,bt){return(bt-xt)/Ke}):i};var a=i.range,o=1e3,s=6e4,l=36e5,u=864e5,c=6048e5,f=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds())},function(Ke,xt){Ke.setTime(+Ke+xt*o)},function(Ke,xt){return(xt-Ke)/o},function(Ke){return Ke.getUTCSeconds()}),h=f.range,d=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds()-Ke.getSeconds()*o)},function(Ke,xt){Ke.setTime(+Ke+xt*s)},function(Ke,xt){return(xt-Ke)/s},function(Ke){return Ke.getMinutes()}),v=d.range,x=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds()-Ke.getSeconds()*o-Ke.getMinutes()*s)},function(Ke,xt){Ke.setTime(+Ke+xt*l)},function(Ke,xt){return(xt-Ke)/l},function(Ke){return Ke.getHours()}),b=x.range,p=n(function(Ke){Ke.setHours(0,0,0,0)},function(Ke,xt){Ke.setDate(Ke.getDate()+xt)},function(Ke,xt){return(xt-Ke-(xt.getTimezoneOffset()-Ke.getTimezoneOffset())*s)/u},function(Ke){return Ke.getDate()-1}),E=p.range;function k(Ke){return n(function(xt){xt.setDate(xt.getDate()-(xt.getDay()+7-Ke)%7),xt.setHours(0,0,0,0)},function(xt,bt){xt.setDate(xt.getDate()+bt*7)},function(xt,bt){return(bt-xt-(bt.getTimezoneOffset()-xt.getTimezoneOffset())*s)/c})}var A=k(0),L=k(1),_=k(2),C=k(3),M=k(4),g=k(5),P=k(6),T=A.range,F=L.range,q=_.range,V=C.range,H=M.range,X=g.range,G=P.range,N=n(function(Ke){Ke.setDate(1),Ke.setHours(0,0,0,0)},function(Ke,xt){Ke.setMonth(Ke.getMonth()+xt)},function(Ke,xt){return xt.getMonth()-Ke.getMonth()+(xt.getFullYear()-Ke.getFullYear())*12},function(Ke){return Ke.getMonth()}),W=N.range,re=n(function(Ke){Ke.setMonth(0,1),Ke.setHours(0,0,0,0)},function(Ke,xt){Ke.setFullYear(Ke.getFullYear()+xt)},function(Ke,xt){return xt.getFullYear()-Ke.getFullYear()},function(Ke){return Ke.getFullYear()});re.every=function(Ke){return!isFinite(Ke=Math.floor(Ke))||!(Ke>0)?null:n(function(xt){xt.setFullYear(Math.floor(xt.getFullYear()/Ke)*Ke),xt.setMonth(0,1),xt.setHours(0,0,0,0)},function(xt,bt){xt.setFullYear(xt.getFullYear()+bt*Ke)})};var ae=re.range,_e=n(function(Ke){Ke.setUTCSeconds(0,0)},function(Ke,xt){Ke.setTime(+Ke+xt*s)},function(Ke,xt){return(xt-Ke)/s},function(Ke){return Ke.getUTCMinutes()}),Me=_e.range,ke=n(function(Ke){Ke.setUTCMinutes(0,0,0)},function(Ke,xt){Ke.setTime(+Ke+xt*l)},function(Ke,xt){return(xt-Ke)/l},function(Ke){return Ke.getUTCHours()}),ge=ke.range,ie=n(function(Ke){Ke.setUTCHours(0,0,0,0)},function(Ke,xt){Ke.setUTCDate(Ke.getUTCDate()+xt)},function(Ke,xt){return(xt-Ke)/u},function(Ke){return Ke.getUTCDate()-1}),Te=ie.range;function Ee(Ke){return n(function(xt){xt.setUTCDate(xt.getUTCDate()-(xt.getUTCDay()+7-Ke)%7),xt.setUTCHours(0,0,0,0)},function(xt,bt){xt.setUTCDate(xt.getUTCDate()+bt*7)},function(xt,bt){return(bt-xt)/c})}var Ae=Ee(0),ze=Ee(1),Ce=Ee(2),me=Ee(3),Re=Ee(4),ce=Ee(5),Ge=Ee(6),nt=Ae.range,ct=ze.range,qt=Ce.range,rt=me.range,ot=Re.range,Rt=ce.range,kt=Ge.range,Ct=n(function(Ke){Ke.setUTCDate(1),Ke.setUTCHours(0,0,0,0)},function(Ke,xt){Ke.setUTCMonth(Ke.getUTCMonth()+xt)},function(Ke,xt){return xt.getUTCMonth()-Ke.getUTCMonth()+(xt.getUTCFullYear()-Ke.getUTCFullYear())*12},function(Ke){return Ke.getUTCMonth()}),Yt=Ct.range,xr=n(function(Ke){Ke.setUTCMonth(0,1),Ke.setUTCHours(0,0,0,0)},function(Ke,xt){Ke.setUTCFullYear(Ke.getUTCFullYear()+xt)},function(Ke,xt){return xt.getUTCFullYear()-Ke.getUTCFullYear()},function(Ke){return Ke.getUTCFullYear()});xr.every=function(Ke){return!isFinite(Ke=Math.floor(Ke))||!(Ke>0)?null:n(function(xt){xt.setUTCFullYear(Math.floor(xt.getUTCFullYear()/Ke)*Ke),xt.setUTCMonth(0,1),xt.setUTCHours(0,0,0,0)},function(xt,bt){xt.setUTCFullYear(xt.getUTCFullYear()+bt*Ke)})};var er=xr.range;e.timeDay=p,e.timeDays=E,e.timeFriday=g,e.timeFridays=X,e.timeHour=x,e.timeHours=b,e.timeInterval=n,e.timeMillisecond=i,e.timeMilliseconds=a,e.timeMinute=d,e.timeMinutes=v,e.timeMonday=L,e.timeMondays=F,e.timeMonth=N,e.timeMonths=W,e.timeSaturday=P,e.timeSaturdays=G,e.timeSecond=f,e.timeSeconds=h,e.timeSunday=A,e.timeSundays=T,e.timeThursday=M,e.timeThursdays=H,e.timeTuesday=_,e.timeTuesdays=q,e.timeWednesday=C,e.timeWednesdays=V,e.timeWeek=A,e.timeWeeks=T,e.timeYear=re,e.timeYears=ae,e.utcDay=ie,e.utcDays=Te,e.utcFriday=ce,e.utcFridays=Rt,e.utcHour=ke,e.utcHours=ge,e.utcMillisecond=i,e.utcMilliseconds=a,e.utcMinute=_e,e.utcMinutes=Me,e.utcMonday=ze,e.utcMondays=ct,e.utcMonth=Ct,e.utcMonths=Yt,e.utcSaturday=Ge,e.utcSaturdays=kt,e.utcSecond=f,e.utcSeconds=h,e.utcSunday=Ae,e.utcSundays=nt,e.utcThursday=Re,e.utcThursdays=ot,e.utcTuesday=Ce,e.utcTuesdays=qt,e.utcWednesday=me,e.utcWednesdays=rt,e.utcWeek=Ae,e.utcWeeks=nt,e.utcYear=xr,e.utcYears=er,Object.defineProperty(e,\"__esModule\",{value:!0})})});var e3=ye((n6,aee)=>{(function(e,t){typeof n6==\"object\"&&typeof aee!=\"undefined\"?t(n6,dq()):(e=e||self,t(e.d3=e.d3||{},e.d3))})(n6,function(e,t){\"use strict\";function r(Ne){if(0<=Ne.y&&Ne.y<100){var Ye=new Date(-1,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L);return Ye.setFullYear(Ne.y),Ye}return new Date(Ne.y,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L)}function n(Ne){if(0<=Ne.y&&Ne.y<100){var Ye=new Date(Date.UTC(-1,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L));return Ye.setUTCFullYear(Ne.y),Ye}return new Date(Date.UTC(Ne.y,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L))}function i(Ne,Ye,Ve){return{y:Ne,m:Ye,d:Ve,H:0,M:0,S:0,L:0}}function a(Ne){var Ye=Ne.dateTime,Ve=Ne.date,Xe=Ne.time,ht=Ne.periods,Le=Ne.days,xe=Ne.shortDays,Se=Ne.months,lt=Ne.shortMonths,Gt=h(ht),Vt=d(ht),ar=h(Le),Qr=d(Le),ai=h(xe),jr=d(xe),ri=h(Se),bi=d(Se),nn=h(lt),Wi=d(lt),Ni={a:Si,A:Mi,b:Pi,B:Gi,c:null,d:N,e:N,f:Me,H:W,I:re,j:ae,L:_e,m:ke,M:ge,p:Ki,q:ka,Q:dt,s:Ht,S:ie,u:Te,U:Ee,V:Ae,w:ze,W:Ce,x:null,X:null,y:me,Y:Re,Z:ce,\"%\":Et},_n={a:jn,A:la,b:Fa,B:Ra,c:null,d:Ge,e:Ge,f:ot,H:nt,I:ct,j:qt,L:rt,m:Rt,M:kt,p:jo,q:oa,Q:dt,s:Ht,S:Ct,u:Yt,U:xr,V:er,w:Ke,W:xt,x:null,X:null,y:bt,Y:Lt,Z:St,\"%\":Et},$i={a:jt,A:Zt,b:yr,B:Fr,c:Zr,d:M,e:M,f:V,H:P,I:P,j:g,L:q,m:C,M:T,p:ft,q:_,Q:X,s:G,S:F,u:x,U:b,V:p,w:v,W:E,x:Vr,X:gi,y:A,Y:k,Z:L,\"%\":H};Ni.x=zn(Ve,Ni),Ni.X=zn(Xe,Ni),Ni.c=zn(Ye,Ni),_n.x=zn(Ve,_n),_n.X=zn(Xe,_n),_n.c=zn(Ye,_n);function zn(Sn,Ha){return function(oo){var xn=[],_t=-1,br=0,Hr=Sn.length,ti,zi,Yi;for(oo instanceof Date||(oo=new Date(+oo));++_t<Hr;)Sn.charCodeAt(_t)===37&&(xn.push(Sn.slice(br,_t)),(zi=o[ti=Sn.charAt(++_t)])!=null?ti=Sn.charAt(++_t):zi=ti===\"e\"?\" \":\"0\",(Yi=Ha[ti])&&(ti=Yi(oo,zi)),xn.push(ti),br=_t+1);return xn.push(Sn.slice(br,_t)),xn.join(\"\")}}function Wn(Sn,Ha){return function(oo){var xn=i(1900,void 0,1),_t=It(xn,Sn,oo+=\"\",0),br,Hr;if(_t!=oo.length)return null;if(\"Q\"in xn)return new Date(xn.Q);if(\"s\"in xn)return new Date(xn.s*1e3+(\"L\"in xn?xn.L:0));if(Ha&&!(\"Z\"in xn)&&(xn.Z=0),\"p\"in xn&&(xn.H=xn.H%12+xn.p*12),xn.m===void 0&&(xn.m=\"q\"in xn?xn.q:0),\"V\"in xn){if(xn.V<1||xn.V>53)return null;\"w\"in xn||(xn.w=1),\"Z\"in xn?(br=n(i(xn.y,0,1)),Hr=br.getUTCDay(),br=Hr>4||Hr===0?t.utcMonday.ceil(br):t.utcMonday(br),br=t.utcDay.offset(br,(xn.V-1)*7),xn.y=br.getUTCFullYear(),xn.m=br.getUTCMonth(),xn.d=br.getUTCDate()+(xn.w+6)%7):(br=r(i(xn.y,0,1)),Hr=br.getDay(),br=Hr>4||Hr===0?t.timeMonday.ceil(br):t.timeMonday(br),br=t.timeDay.offset(br,(xn.V-1)*7),xn.y=br.getFullYear(),xn.m=br.getMonth(),xn.d=br.getDate()+(xn.w+6)%7)}else(\"W\"in xn||\"U\"in xn)&&(\"w\"in xn||(xn.w=\"u\"in xn?xn.u%7:\"W\"in xn?1:0),Hr=\"Z\"in xn?n(i(xn.y,0,1)).getUTCDay():r(i(xn.y,0,1)).getDay(),xn.m=0,xn.d=\"W\"in xn?(xn.w+6)%7+xn.W*7-(Hr+5)%7:xn.w+xn.U*7-(Hr+6)%7);return\"Z\"in xn?(xn.H+=xn.Z/100|0,xn.M+=xn.Z%100,n(xn)):r(xn)}}function It(Sn,Ha,oo,xn){for(var _t=0,br=Ha.length,Hr=oo.length,ti,zi;_t<br;){if(xn>=Hr)return-1;if(ti=Ha.charCodeAt(_t++),ti===37){if(ti=Ha.charAt(_t++),zi=$i[ti in o?Ha.charAt(_t++):ti],!zi||(xn=zi(Sn,oo,xn))<0)return-1}else if(ti!=oo.charCodeAt(xn++))return-1}return xn}function ft(Sn,Ha,oo){var xn=Gt.exec(Ha.slice(oo));return xn?(Sn.p=Vt[xn[0].toLowerCase()],oo+xn[0].length):-1}function jt(Sn,Ha,oo){var xn=ai.exec(Ha.slice(oo));return xn?(Sn.w=jr[xn[0].toLowerCase()],oo+xn[0].length):-1}function Zt(Sn,Ha,oo){var xn=ar.exec(Ha.slice(oo));return xn?(Sn.w=Qr[xn[0].toLowerCase()],oo+xn[0].length):-1}function yr(Sn,Ha,oo){var xn=nn.exec(Ha.slice(oo));return xn?(Sn.m=Wi[xn[0].toLowerCase()],oo+xn[0].length):-1}function Fr(Sn,Ha,oo){var xn=ri.exec(Ha.slice(oo));return xn?(Sn.m=bi[xn[0].toLowerCase()],oo+xn[0].length):-1}function Zr(Sn,Ha,oo){return It(Sn,Ye,Ha,oo)}function Vr(Sn,Ha,oo){return It(Sn,Ve,Ha,oo)}function gi(Sn,Ha,oo){return It(Sn,Xe,Ha,oo)}function Si(Sn){return xe[Sn.getDay()]}function Mi(Sn){return Le[Sn.getDay()]}function Pi(Sn){return lt[Sn.getMonth()]}function Gi(Sn){return Se[Sn.getMonth()]}function Ki(Sn){return ht[+(Sn.getHours()>=12)]}function ka(Sn){return 1+~~(Sn.getMonth()/3)}function jn(Sn){return xe[Sn.getUTCDay()]}function la(Sn){return Le[Sn.getUTCDay()]}function Fa(Sn){return lt[Sn.getUTCMonth()]}function Ra(Sn){return Se[Sn.getUTCMonth()]}function jo(Sn){return ht[+(Sn.getUTCHours()>=12)]}function oa(Sn){return 1+~~(Sn.getUTCMonth()/3)}return{format:function(Sn){var Ha=zn(Sn+=\"\",Ni);return Ha.toString=function(){return Sn},Ha},parse:function(Sn){var Ha=Wn(Sn+=\"\",!1);return Ha.toString=function(){return Sn},Ha},utcFormat:function(Sn){var Ha=zn(Sn+=\"\",_n);return Ha.toString=function(){return Sn},Ha},utcParse:function(Sn){var Ha=Wn(Sn+=\"\",!0);return Ha.toString=function(){return Sn},Ha}}}var o={\"-\":\"\",_:\" \",0:\"0\"},s=/^\\s*\\d+/,l=/^%/,u=/[\\\\^$*+?|[\\]().{}]/g;function c(Ne,Ye,Ve){var Xe=Ne<0?\"-\":\"\",ht=(Xe?-Ne:Ne)+\"\",Le=ht.length;return Xe+(Le<Ve?new Array(Ve-Le+1).join(Ye)+ht:ht)}function f(Ne){return Ne.replace(u,\"\\\\$&\")}function h(Ne){return new RegExp(\"^(?:\"+Ne.map(f).join(\"|\")+\")\",\"i\")}function d(Ne){for(var Ye={},Ve=-1,Xe=Ne.length;++Ve<Xe;)Ye[Ne[Ve].toLowerCase()]=Ve;return Ye}function v(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+1));return Xe?(Ne.w=+Xe[0],Ve+Xe[0].length):-1}function x(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+1));return Xe?(Ne.u=+Xe[0],Ve+Xe[0].length):-1}function b(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.U=+Xe[0],Ve+Xe[0].length):-1}function p(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.V=+Xe[0],Ve+Xe[0].length):-1}function E(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.W=+Xe[0],Ve+Xe[0].length):-1}function k(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+4));return Xe?(Ne.y=+Xe[0],Ve+Xe[0].length):-1}function A(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.y=+Xe[0]+(+Xe[0]>68?1900:2e3),Ve+Xe[0].length):-1}function L(Ne,Ye,Ve){var Xe=/^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(Ye.slice(Ve,Ve+6));return Xe?(Ne.Z=Xe[1]?0:-(Xe[2]+(Xe[3]||\"00\")),Ve+Xe[0].length):-1}function _(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+1));return Xe?(Ne.q=Xe[0]*3-3,Ve+Xe[0].length):-1}function C(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.m=Xe[0]-1,Ve+Xe[0].length):-1}function M(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.d=+Xe[0],Ve+Xe[0].length):-1}function g(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+3));return Xe?(Ne.m=0,Ne.d=+Xe[0],Ve+Xe[0].length):-1}function P(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.H=+Xe[0],Ve+Xe[0].length):-1}function T(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.M=+Xe[0],Ve+Xe[0].length):-1}function F(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.S=+Xe[0],Ve+Xe[0].length):-1}function q(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+3));return Xe?(Ne.L=+Xe[0],Ve+Xe[0].length):-1}function V(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+6));return Xe?(Ne.L=Math.floor(Xe[0]/1e3),Ve+Xe[0].length):-1}function H(Ne,Ye,Ve){var Xe=l.exec(Ye.slice(Ve,Ve+1));return Xe?Ve+Xe[0].length:-1}function X(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve));return Xe?(Ne.Q=+Xe[0],Ve+Xe[0].length):-1}function G(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve));return Xe?(Ne.s=+Xe[0],Ve+Xe[0].length):-1}function N(Ne,Ye){return c(Ne.getDate(),Ye,2)}function W(Ne,Ye){return c(Ne.getHours(),Ye,2)}function re(Ne,Ye){return c(Ne.getHours()%12||12,Ye,2)}function ae(Ne,Ye){return c(1+t.timeDay.count(t.timeYear(Ne),Ne),Ye,3)}function _e(Ne,Ye){return c(Ne.getMilliseconds(),Ye,3)}function Me(Ne,Ye){return _e(Ne,Ye)+\"000\"}function ke(Ne,Ye){return c(Ne.getMonth()+1,Ye,2)}function ge(Ne,Ye){return c(Ne.getMinutes(),Ye,2)}function ie(Ne,Ye){return c(Ne.getSeconds(),Ye,2)}function Te(Ne){var Ye=Ne.getDay();return Ye===0?7:Ye}function Ee(Ne,Ye){return c(t.timeSunday.count(t.timeYear(Ne)-1,Ne),Ye,2)}function Ae(Ne,Ye){var Ve=Ne.getDay();return Ne=Ve>=4||Ve===0?t.timeThursday(Ne):t.timeThursday.ceil(Ne),c(t.timeThursday.count(t.timeYear(Ne),Ne)+(t.timeYear(Ne).getDay()===4),Ye,2)}function ze(Ne){return Ne.getDay()}function Ce(Ne,Ye){return c(t.timeMonday.count(t.timeYear(Ne)-1,Ne),Ye,2)}function me(Ne,Ye){return c(Ne.getFullYear()%100,Ye,2)}function Re(Ne,Ye){return c(Ne.getFullYear()%1e4,Ye,4)}function ce(Ne){var Ye=Ne.getTimezoneOffset();return(Ye>0?\"-\":(Ye*=-1,\"+\"))+c(Ye/60|0,\"0\",2)+c(Ye%60,\"0\",2)}function Ge(Ne,Ye){return c(Ne.getUTCDate(),Ye,2)}function nt(Ne,Ye){return c(Ne.getUTCHours(),Ye,2)}function ct(Ne,Ye){return c(Ne.getUTCHours()%12||12,Ye,2)}function qt(Ne,Ye){return c(1+t.utcDay.count(t.utcYear(Ne),Ne),Ye,3)}function rt(Ne,Ye){return c(Ne.getUTCMilliseconds(),Ye,3)}function ot(Ne,Ye){return rt(Ne,Ye)+\"000\"}function Rt(Ne,Ye){return c(Ne.getUTCMonth()+1,Ye,2)}function kt(Ne,Ye){return c(Ne.getUTCMinutes(),Ye,2)}function Ct(Ne,Ye){return c(Ne.getUTCSeconds(),Ye,2)}function Yt(Ne){var Ye=Ne.getUTCDay();return Ye===0?7:Ye}function xr(Ne,Ye){return c(t.utcSunday.count(t.utcYear(Ne)-1,Ne),Ye,2)}function er(Ne,Ye){var Ve=Ne.getUTCDay();return Ne=Ve>=4||Ve===0?t.utcThursday(Ne):t.utcThursday.ceil(Ne),c(t.utcThursday.count(t.utcYear(Ne),Ne)+(t.utcYear(Ne).getUTCDay()===4),Ye,2)}function Ke(Ne){return Ne.getUTCDay()}function xt(Ne,Ye){return c(t.utcMonday.count(t.utcYear(Ne)-1,Ne),Ye,2)}function bt(Ne,Ye){return c(Ne.getUTCFullYear()%100,Ye,2)}function Lt(Ne,Ye){return c(Ne.getUTCFullYear()%1e4,Ye,4)}function St(){return\"+0000\"}function Et(){return\"%\"}function dt(Ne){return+Ne}function Ht(Ne){return Math.floor(+Ne/1e3)}var $t;fr({dateTime:\"%x, %X\",date:\"%-m/%-d/%Y\",time:\"%-I:%M:%S %p\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]});function fr(Ne){return $t=a(Ne),e.timeFormat=$t.format,e.timeParse=$t.parse,e.utcFormat=$t.utcFormat,e.utcParse=$t.utcParse,$t}var _r=\"%Y-%m-%dT%H:%M:%S.%LZ\";function Br(Ne){return Ne.toISOString()}var Or=Date.prototype.toISOString?Br:e.utcFormat(_r);function Nr(Ne){var Ye=new Date(Ne);return isNaN(Ye)?null:Ye}var ut=+new Date(\"2000-01-01T00:00:00.000Z\")?Nr:e.utcParse(_r);e.isoFormat=Or,e.isoParse=ut,e.timeFormatDefaultLocale=fr,e.timeFormatLocale=a,Object.defineProperty(e,\"__esModule\",{value:!0})})});var vq=ye((a6,oee)=>{(function(e,t){typeof a6==\"object\"&&typeof oee!=\"undefined\"?t(a6):(e=typeof globalThis!=\"undefined\"?globalThis:e||self,t(e.d3=e.d3||{}))})(a6,function(e){\"use strict\";function t(C){return Math.abs(C=Math.round(C))>=1e21?C.toLocaleString(\"en\").replace(/,/g,\"\"):C.toString(10)}function r(C,M){if((g=(C=M?C.toExponential(M-1):C.toExponential()).indexOf(\"e\"))<0)return null;var g,P=C.slice(0,g);return[P.length>1?P[0]+P.slice(2):P,+C.slice(g+1)]}function n(C){return C=r(Math.abs(C)),C?C[1]:NaN}function i(C,M){return function(g,P){for(var T=g.length,F=[],q=0,V=C[0],H=0;T>0&&V>0&&(H+V+1>P&&(V=Math.max(1,P-H)),F.push(g.substring(T-=V,T+V)),!((H+=V+1)>P));)V=C[q=(q+1)%C.length];return F.reverse().join(M)}}function a(C){return function(M){return M.replace(/[0-9]/g,function(g){return C[+g]})}}var o=/^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;function s(C){if(!(M=o.exec(C)))throw new Error(\"invalid format: \"+C);var M;return new l({fill:M[1],align:M[2],sign:M[3],symbol:M[4],zero:M[5],width:M[6],comma:M[7],precision:M[8]&&M[8].slice(1),trim:M[9],type:M[10]})}s.prototype=l.prototype;function l(C){this.fill=C.fill===void 0?\" \":C.fill+\"\",this.align=C.align===void 0?\">\":C.align+\"\",this.sign=C.sign===void 0?\"-\":C.sign+\"\",this.symbol=C.symbol===void 0?\"\":C.symbol+\"\",this.zero=!!C.zero,this.width=C.width===void 0?void 0:+C.width,this.comma=!!C.comma,this.precision=C.precision===void 0?void 0:+C.precision,this.trim=!!C.trim,this.type=C.type===void 0?\"\":C.type+\"\"}l.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?\"0\":\"\")+(this.width===void 0?\"\":Math.max(1,this.width|0))+(this.comma?\",\":\"\")+(this.precision===void 0?\"\":\".\"+Math.max(0,this.precision|0))+(this.trim?\"~\":\"\")+this.type};function u(C){e:for(var M=C.length,g=1,P=-1,T;g<M;++g)switch(C[g]){case\".\":P=T=g;break;case\"0\":P===0&&(P=g),T=g;break;default:if(!+C[g])break e;P>0&&(P=0);break}return P>0?C.slice(0,P)+C.slice(T+1):C}var c;function f(C,M){var g=r(C,M);if(!g)return C+\"\";var P=g[0],T=g[1],F=T-(c=Math.max(-8,Math.min(8,Math.floor(T/3)))*3)+1,q=P.length;return F===q?P:F>q?P+new Array(F-q+1).join(\"0\"):F>0?P.slice(0,F)+\".\"+P.slice(F):\"0.\"+new Array(1-F).join(\"0\")+r(C,Math.max(0,M+F-1))[0]}function h(C,M){var g=r(C,M);if(!g)return C+\"\";var P=g[0],T=g[1];return T<0?\"0.\"+new Array(-T).join(\"0\")+P:P.length>T+1?P.slice(0,T+1)+\".\"+P.slice(T+1):P+new Array(T-P.length+2).join(\"0\")}var d={\"%\":function(C,M){return(C*100).toFixed(M)},b:function(C){return Math.round(C).toString(2)},c:function(C){return C+\"\"},d:t,e:function(C,M){return C.toExponential(M)},f:function(C,M){return C.toFixed(M)},g:function(C,M){return C.toPrecision(M)},o:function(C){return Math.round(C).toString(8)},p:function(C,M){return h(C*100,M)},r:h,s:f,X:function(C){return Math.round(C).toString(16).toUpperCase()},x:function(C){return Math.round(C).toString(16)}};function v(C){return C}var x=Array.prototype.map,b=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"\\xB5\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];function p(C){var M=C.grouping===void 0||C.thousands===void 0?v:i(x.call(C.grouping,Number),C.thousands+\"\"),g=C.currency===void 0?\"\":C.currency[0]+\"\",P=C.currency===void 0?\"\":C.currency[1]+\"\",T=C.decimal===void 0?\".\":C.decimal+\"\",F=C.numerals===void 0?v:a(x.call(C.numerals,String)),q=C.percent===void 0?\"%\":C.percent+\"\",V=C.minus===void 0?\"-\":C.minus+\"\",H=C.nan===void 0?\"NaN\":C.nan+\"\";function X(N){N=s(N);var W=N.fill,re=N.align,ae=N.sign,_e=N.symbol,Me=N.zero,ke=N.width,ge=N.comma,ie=N.precision,Te=N.trim,Ee=N.type;Ee===\"n\"?(ge=!0,Ee=\"g\"):d[Ee]||(ie===void 0&&(ie=12),Te=!0,Ee=\"g\"),(Me||W===\"0\"&&re===\"=\")&&(Me=!0,W=\"0\",re=\"=\");var Ae=_e===\"$\"?g:_e===\"#\"&&/[boxX]/.test(Ee)?\"0\"+Ee.toLowerCase():\"\",ze=_e===\"$\"?P:/[%p]/.test(Ee)?q:\"\",Ce=d[Ee],me=/[defgprs%]/.test(Ee);ie=ie===void 0?6:/[gprs]/.test(Ee)?Math.max(1,Math.min(21,ie)):Math.max(0,Math.min(20,ie));function Re(ce){var Ge=Ae,nt=ze,ct,qt,rt;if(Ee===\"c\")nt=Ce(ce)+nt,ce=\"\";else{ce=+ce;var ot=ce<0||1/ce<0;if(ce=isNaN(ce)?H:Ce(Math.abs(ce),ie),Te&&(ce=u(ce)),ot&&+ce==0&&ae!==\"+\"&&(ot=!1),Ge=(ot?ae===\"(\"?ae:V:ae===\"-\"||ae===\"(\"?\"\":ae)+Ge,nt=(Ee===\"s\"?b[8+c/3]:\"\")+nt+(ot&&ae===\"(\"?\")\":\"\"),me){for(ct=-1,qt=ce.length;++ct<qt;)if(rt=ce.charCodeAt(ct),48>rt||rt>57){nt=(rt===46?T+ce.slice(ct+1):ce.slice(ct))+nt,ce=ce.slice(0,ct);break}}}ge&&!Me&&(ce=M(ce,1/0));var Rt=Ge.length+ce.length+nt.length,kt=Rt<ke?new Array(ke-Rt+1).join(W):\"\";switch(ge&&Me&&(ce=M(kt+ce,kt.length?ke-nt.length:1/0),kt=\"\"),re){case\"<\":ce=Ge+ce+nt+kt;break;case\"=\":ce=Ge+kt+ce+nt;break;case\"^\":ce=kt.slice(0,Rt=kt.length>>1)+Ge+ce+nt+kt.slice(Rt);break;default:ce=kt+Ge+ce+nt;break}return F(ce)}return Re.toString=function(){return N+\"\"},Re}function G(N,W){var re=X((N=s(N),N.type=\"f\",N)),ae=Math.max(-8,Math.min(8,Math.floor(n(W)/3)))*3,_e=Math.pow(10,-ae),Me=b[8+ae/3];return function(ke){return re(_e*ke)+Me}}return{format:X,formatPrefix:G}}var E;k({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],minus:\"-\"});function k(C){return E=p(C),e.format=E.format,e.formatPrefix=E.formatPrefix,E}function A(C){return Math.max(0,-n(Math.abs(C)))}function L(C,M){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(n(M)/3)))*3-n(Math.abs(C)))}function _(C,M){return C=Math.abs(C),M=Math.abs(M)-C,Math.max(0,n(M)-n(C))+1}e.FormatSpecifier=l,e.formatDefaultLocale=k,e.formatLocale=p,e.formatSpecifier=s,e.precisionFixed=A,e.precisionPrefix=L,e.precisionRound=_,Object.defineProperty(e,\"__esModule\",{value:!0})})});var lee=ye((OQt,see)=>{\"use strict\";see.exports=function(e){for(var t=e.length,r,n=0;n<t;n++)if(r=e.charCodeAt(n),(r<9||r>13)&&r!==32&&r!==133&&r!==160&&r!==5760&&r!==6158&&(r<8192||r>8205)&&r!==8232&&r!==8233&&r!==8239&&r!==8287&&r!==8288&&r!==12288&&r!==65279)return!1;return!0}});var uo=ye((BQt,uee)=>{\"use strict\";var KQe=lee();uee.exports=function(e){var t=typeof e;if(t===\"string\"){var r=e;if(e=+e,e===0&&KQe(r))return!1}else if(t!==\"number\")return!1;return e-e<1}});var es=ye((NQt,cee)=>{\"use strict\";cee.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE*1e-4,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:24405875e-1,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:\"\\u2212\"}});var pq=ye((o6,fee)=>{(function(e,t){typeof o6==\"object\"&&typeof fee!=\"undefined\"?t(o6):(e=typeof globalThis!=\"undefined\"?globalThis:e||self,t(e[\"base64-arraybuffer\"]={}))})(o6,function(e){\"use strict\";for(var t=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",r=typeof Uint8Array==\"undefined\"?[]:new Uint8Array(256),n=0;n<t.length;n++)r[t.charCodeAt(n)]=n;var i=function(o){var s=new Uint8Array(o),l,u=s.length,c=\"\";for(l=0;l<u;l+=3)c+=t[s[l]>>2],c+=t[(s[l]&3)<<4|s[l+1]>>4],c+=t[(s[l+1]&15)<<2|s[l+2]>>6],c+=t[s[l+2]&63];return u%3===2?c=c.substring(0,c.length-1)+\"=\":u%3===1&&(c=c.substring(0,c.length-2)+\"==\"),c},a=function(o){var s=o.length*.75,l=o.length,u,c=0,f,h,d,v;o[o.length-1]===\"=\"&&(s--,o[o.length-2]===\"=\"&&s--);var x=new ArrayBuffer(s),b=new Uint8Array(x);for(u=0;u<l;u+=4)f=r[o.charCodeAt(u)],h=r[o.charCodeAt(u+1)],d=r[o.charCodeAt(u+2)],v=r[o.charCodeAt(u+3)],b[c++]=f<<2|h>>4,b[c++]=(h&15)<<4|d>>2,b[c++]=(d&3)<<6|v&63;return x};e.decode=a,e.encode=i,Object.defineProperty(e,\"__esModule\",{value:!0})})});var gy=ye((UQt,hee)=>{\"use strict\";hee.exports=function(t){return window&&window.process&&window.process.versions?Object.prototype.toString.call(t)===\"[object Object]\":Object.prototype.toString.call(t)===\"[object Object]\"&&Object.getPrototypeOf(t).hasOwnProperty(\"hasOwnProperty\")}});var vv=ye(mg=>{\"use strict\";var JQe=pq().decode,$Qe=gy(),gq=Array.isArray,QQe=ArrayBuffer,eet=DataView;function dee(e){return QQe.isView(e)&&!(e instanceof eet)}mg.isTypedArray=dee;function s6(e){return gq(e)||dee(e)}mg.isArrayOrTypedArray=s6;function tet(e){return!s6(e[0])}mg.isArray1D=tet;mg.ensureArray=function(e,t){return gq(e)||(e=[]),e.length=t,e};var Md={u1c:typeof Uint8ClampedArray==\"undefined\"?void 0:Uint8ClampedArray,i1:typeof Int8Array==\"undefined\"?void 0:Int8Array,u1:typeof Uint8Array==\"undefined\"?void 0:Uint8Array,i2:typeof Int16Array==\"undefined\"?void 0:Int16Array,u2:typeof Uint16Array==\"undefined\"?void 0:Uint16Array,i4:typeof Int32Array==\"undefined\"?void 0:Int32Array,u4:typeof Uint32Array==\"undefined\"?void 0:Uint32Array,f4:typeof Float32Array==\"undefined\"?void 0:Float32Array,f8:typeof Float64Array==\"undefined\"?void 0:Float64Array};Md.uint8c=Md.u1c;Md.uint8=Md.u1;Md.int8=Md.i1;Md.uint16=Md.u2;Md.int16=Md.i2;Md.uint32=Md.u4;Md.int32=Md.i4;Md.float32=Md.f4;Md.float64=Md.f8;function mq(e){return e.constructor===ArrayBuffer}mg.isArrayBuffer=mq;mg.decodeTypedArraySpec=function(e){var t=[],r=ret(e),n=r.dtype,i=Md[n];if(!i)throw new Error('Error in dtype: \"'+n+'\"');var a=i.BYTES_PER_ELEMENT,o=r.bdata;mq(o)||(o=JQe(o));var s=r.shape===void 0?[o.byteLength/a]:(\"\"+r.shape).split(\",\");s.reverse();var l=s.length,u,c,f=+s[0],h=a*f,d=0;if(l===1)t=new i(o);else if(l===2)for(u=+s[1],c=0;c<u;c++)t[c]=new i(o,d,f),d+=h;else if(l===3){u=+s[1];for(var v=+s[2],x=0;x<v;x++)for(t[x]=[],c=0;c<u;c++)t[x][c]=new i(o,d,f),d+=h}else throw new Error(\"ndim: \"+l+'is not supported with the shape:\"'+r.shape+'\"');return t.bdata=r.bdata,t.dtype=r.dtype,t.shape=s.reverse().join(\",\"),e._inputArray=t,t};mg.isTypedArraySpec=function(e){return $Qe(e)&&e.hasOwnProperty(\"dtype\")&&typeof e.dtype==\"string\"&&e.hasOwnProperty(\"bdata\")&&(typeof e.bdata==\"string\"||mq(e.bdata))&&(e.shape===void 0||e.hasOwnProperty(\"shape\")&&(typeof e.shape==\"string\"||typeof e.shape==\"number\"))};function ret(e){return{bdata:e.bdata,dtype:e.dtype,shape:e.shape}}mg.concat=function(){var e=[],t=!0,r=0,n,i,a,o,s,l,u,c;for(a=0;a<arguments.length;a++)o=arguments[a],l=o.length,l&&(i?e.push(o):(i=o,s=l),gq(o)?n=!1:(t=!1,r?n!==o.constructor&&(n=!1):n=o.constructor),r+=l);if(!r)return[];if(!e.length)return i;if(t)return i.concat.apply(i,e);if(n){for(u=new n(r),u.set(i),a=0;a<e.length;a++)o=e[a],u.set(o,s),s+=o.length;return u}for(u=new Array(r),c=0;c<i.length;c++)u[c]=i[c];for(a=0;a<e.length;a++){for(o=e[a],c=0;c<o.length;c++)u[s+c]=o[c];s+=c}return u};mg.maxRowLength=function(e){return vee(e,Math.max,0)};mg.minRowLength=function(e){return vee(e,Math.min,1/0)};function vee(e,t,r){if(s6(e))if(s6(e[0])){for(var n=r,i=0;i<e.length;i++)n=t(n,e[i].length);return n}else return e.length;return 0}});var ES=ye((HQt,_ee)=>{\"use strict\";var pee=uo(),_q=vv().isArrayOrTypedArray;_ee.exports=function(t,r){if(pee(r))r=String(r);else if(typeof r!=\"string\"||r.substr(r.length-4)===\"[-1]\")throw\"bad property string\";var n=r.split(\".\"),i,a,o,s;for(s=0;s<n.length;s++)if(String(n[s]).slice(0,2)===\"__\")throw\"bad property string\";for(s=0;s<n.length;){if(i=String(n[s]).match(/^([^\\[\\]]*)((\\[\\-?[0-9]*\\])+)$/),i){if(i[1])n[s]=i[1];else if(s===0)n.splice(0,1);else throw\"bad property string\";for(a=i[2].substr(1,i[2].length-2).split(\"][\"),o=0;o<a.length;o++)s++,n.splice(s,0,Number(a[o]))}s++}return typeof t!=\"object\"?oet(t,r,n):{set:mee(t,n,r),get:gee(t,n),astr:r,parts:n,obj:t}};function gee(e,t){return function(r){var n=e,i,a,o,s,l;for(s=0;s<t.length-1;s++){if(i=t[s],i===-1){for(a=!0,o=[],l=0;l<n.length;l++)o[l]=gee(n[l],t.slice(s+1))(r),o[l]!==o[0]&&(a=!1);return a?o[0]:o}if(typeof i==\"number\"&&!_q(n)||(n=n[i],typeof n!=\"object\"||n===null))return}if(!(typeof n!=\"object\"||n===null)&&(o=n[t[s]],!(!r&&o===null)))return o}}var iet=/(^|\\.)args\\[/;function yq(e,t){return e===void 0||e===null&&!t.match(iet)}function mee(e,t,r){return function(n){var i=e,a=\"\",o=[[e,a]],s=yq(n,r),l,u;for(u=0;u<t.length-1;u++){if(l=t[u],typeof l==\"number\"&&!_q(i))throw\"array index but container is not an array\";if(l===-1){if(s=!aet(i,t.slice(u+1),n,r),s)break;return}if(!yee(i,l,t[u+1],s))break;if(i=i[l],typeof i!=\"object\"||i===null)throw\"container is not an object\";a=net(a,l),o.push([i,a])}if(s){if(u===t.length-1&&(delete i[t[u]],Array.isArray(i)&&+t[u]===i.length-1))for(;i.length&&i[i.length-1]===void 0;)i.pop()}else i[t[u]]=n}}function net(e,t){var r=t;return pee(t)?r=\"[\"+t+\"]\":e&&(r=\".\"+t),e+r}function aet(e,t,r,n){var i=_q(r),a=!0,o=r,s=n.replace(\"-1\",0),l=i?!1:yq(r,s),u=t[0],c;for(c=0;c<e.length;c++)s=n.replace(\"-1\",c),i&&(o=r[c%r.length],l=yq(o,s)),l&&(a=!1),yee(e,c,u,l)&&mee(e[c],t,n.replace(\"-1\",c))(o);return a}function yee(e,t,r,n){if(e[t]===void 0){if(n)return!1;typeof r==\"number\"?e[t]=[]:e[t]={}}return!0}function oet(e,t,r){return{set:function(){throw\"bad container\"},get:function(){},astr:t,parts:r,obj:e}}});var Tee=ye((GQt,wee)=>{\"use strict\";var t3=ES(),set=/^\\w*$/,uet=0,xee=1,l6=2,bee=3,ob=4;wee.exports=function(t,r,n,i){n=n||\"name\",i=i||\"value\";var a,o,s,l={};r&&r.length?(s=t3(t,r),o=s.get()):o=t,r=r||\"\";var u={};if(o)for(a=0;a<o.length;a++)u[o[a][n]]=a;var c=set.test(i),f={set:function(h,d){var v=d===null?ob:uet;if(!o){if(!s||v===ob)return;o=[],s.set(o)}var x=u[h];if(x===void 0){if(v===ob)return;v=v|bee,x=o.length,u[h]=x}else d!==(c?o[x][i]:t3(o[x],i).get())&&(v=v|l6);var b=o[x]=o[x]||{};return b[n]=h,c?b[i]=d:t3(b,i).set(d),d!==null&&(v=v&~ob),l[x]=l[x]|v,f},get:function(h){if(o){var d=u[h];if(d!==void 0)return c?o[d][i]:t3(o[d],i).get()}},rename:function(h,d){var v=u[h];return v===void 0||(l[v]=l[v]|xee,u[d]=v,delete u[h],o[v][n]=d),f},remove:function(h){var d=u[h];if(d===void 0)return f;var v=o[d];if(Object.keys(v).length>2)return l[d]=l[d]|l6,f.set(h,null);if(c){for(a=d;a<o.length;a++)l[a]=l[a]|bee;for(a=d;a<o.length;a++)u[o[a][n]]--;o.splice(d,1),delete u[h]}else t3(v,i).set(null),l[d]=l[d]|l6|ob;return f},constructUpdate:function(){for(var h,d,v={},x=Object.keys(l),b=0;b<x.length;b++)d=x[b],h=r+\"[\"+d+\"]\",o[d]?(l[d]&xee&&(v[h+\".\"+n]=o[d][n]),l[d]&l6&&(c?v[h+\".\"+i]=l[d]&ob?null:o[d][i]:v[h+\".\"+i]=l[d]&ob?null:t3(o[d],i).get())):v[h]=null;return v}};return f}});var See=ye((jQt,Aee)=>{\"use strict\";var cet=/^(.*)(\\.[^\\.\\[\\]]+|\\[\\d\\])$/,fet=/^[^\\.\\[\\]]+$/;Aee.exports=function(e,t){for(;t;){var r=e.match(cet);if(r)e=r[1];else if(e.match(fet))e=\"\";else throw new Error(\"bad relativeAttr call:\"+[e,t]);if(t.charAt(0)===\"^\")t=t.slice(1);else break}return e&&t.charAt(0)!==\"[\"?e+\".\"+t:e+t}});var u6=ye((WQt,Mee)=>{\"use strict\";var het=uo();Mee.exports=function(t,r){if(t>0)return Math.log(t)/Math.LN10;var n=Math.log(Math.min(r[0],r[1]))/Math.LN10;return het(n)||(n=Math.log(Math.max(r[0],r[1]))/Math.LN10-6),n}});var Cee=ye((ZQt,kee)=>{\"use strict\";var Eee=vv().isArrayOrTypedArray,kS=gy();kee.exports=function e(t,r){for(var n in r){var i=r[n],a=t[n];if(a!==i)if(n.charAt(0)===\"_\"||typeof i==\"function\"){if(n in t)continue;t[n]=i}else if(Eee(i)&&Eee(a)&&kS(i[0])){if(n===\"customdata\"||n===\"ids\")continue;for(var o=Math.min(i.length,a.length),s=0;s<o;s++)a[s]!==i[s]&&kS(i[s])&&kS(a[s])&&e(a[s],i[s])}else kS(i)&&kS(a)&&(e(a,i),Object.keys(a).length||delete t[n])}}});var r3=ye((XQt,Lee)=>{\"use strict\";function det(e,t){var r=e%t;return r<0?r+t:r}function vet(e,t){return Math.abs(e)>t/2?e-Math.round(e/t)*t:e}Lee.exports={mod:det,modHalf:vet}});var id=ye((YQt,c6)=>{(function(e){var t=/^\\s+/,r=/\\s+$/,n=0,i=e.round,a=e.min,o=e.max,s=e.random;function l(me,Re){if(me=me||\"\",Re=Re||{},me instanceof l)return me;if(!(this instanceof l))return new l(me,Re);var ce=u(me);this._originalInput=me,this._r=ce.r,this._g=ce.g,this._b=ce.b,this._a=ce.a,this._roundA=i(100*this._a)/100,this._format=Re.format||ce.format,this._gradientType=Re.gradientType,this._r<1&&(this._r=i(this._r)),this._g<1&&(this._g=i(this._g)),this._b<1&&(this._b=i(this._b)),this._ok=ce.ok,this._tc_id=n++}l.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 me=this.toRgb();return(me.r*299+me.g*587+me.b*114)/1e3},getLuminance:function(){var me=this.toRgb(),Re,ce,Ge,nt,ct,qt;return Re=me.r/255,ce=me.g/255,Ge=me.b/255,Re<=.03928?nt=Re/12.92:nt=e.pow((Re+.055)/1.055,2.4),ce<=.03928?ct=ce/12.92:ct=e.pow((ce+.055)/1.055,2.4),Ge<=.03928?qt=Ge/12.92:qt=e.pow((Ge+.055)/1.055,2.4),.2126*nt+.7152*ct+.0722*qt},setAlpha:function(me){return this._a=N(me),this._roundA=i(100*this._a)/100,this},toHsv:function(){var me=d(this._r,this._g,this._b);return{h:me.h*360,s:me.s,v:me.v,a:this._a}},toHsvString:function(){var me=d(this._r,this._g,this._b),Re=i(me.h*360),ce=i(me.s*100),Ge=i(me.v*100);return this._a==1?\"hsv(\"+Re+\", \"+ce+\"%, \"+Ge+\"%)\":\"hsva(\"+Re+\", \"+ce+\"%, \"+Ge+\"%, \"+this._roundA+\")\"},toHsl:function(){var me=f(this._r,this._g,this._b);return{h:me.h*360,s:me.s,l:me.l,a:this._a}},toHslString:function(){var me=f(this._r,this._g,this._b),Re=i(me.h*360),ce=i(me.s*100),Ge=i(me.l*100);return this._a==1?\"hsl(\"+Re+\", \"+ce+\"%, \"+Ge+\"%)\":\"hsla(\"+Re+\", \"+ce+\"%, \"+Ge+\"%, \"+this._roundA+\")\"},toHex:function(me){return x(this._r,this._g,this._b,me)},toHexString:function(me){return\"#\"+this.toHex(me)},toHex8:function(me){return b(this._r,this._g,this._b,this._a,me)},toHex8String:function(me){return\"#\"+this.toHex8(me)},toRgb:function(){return{r:i(this._r),g:i(this._g),b:i(this._b),a:this._a}},toRgbString:function(){return this._a==1?\"rgb(\"+i(this._r)+\", \"+i(this._g)+\", \"+i(this._b)+\")\":\"rgba(\"+i(this._r)+\", \"+i(this._g)+\", \"+i(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:i(W(this._r,255)*100)+\"%\",g:i(W(this._g,255)*100)+\"%\",b:i(W(this._b,255)*100)+\"%\",a:this._a}},toPercentageRgbString:function(){return this._a==1?\"rgb(\"+i(W(this._r,255)*100)+\"%, \"+i(W(this._g,255)*100)+\"%, \"+i(W(this._b,255)*100)+\"%)\":\"rgba(\"+i(W(this._r,255)*100)+\"%, \"+i(W(this._g,255)*100)+\"%, \"+i(W(this._b,255)*100)+\"%, \"+this._roundA+\")\"},toName:function(){return this._a===0?\"transparent\":this._a<1?!1:X[x(this._r,this._g,this._b,!0)]||!1},toFilter:function(me){var Re=\"#\"+p(this._r,this._g,this._b,this._a),ce=Re,Ge=this._gradientType?\"GradientType = 1, \":\"\";if(me){var nt=l(me);ce=\"#\"+p(nt._r,nt._g,nt._b,nt._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+Ge+\"startColorstr=\"+Re+\",endColorstr=\"+ce+\")\"},toString:function(me){var Re=!!me;me=me||this._format;var ce=!1,Ge=this._a<1&&this._a>=0,nt=!Re&&Ge&&(me===\"hex\"||me===\"hex6\"||me===\"hex3\"||me===\"hex4\"||me===\"hex8\"||me===\"name\");return nt?me===\"name\"&&this._a===0?this.toName():this.toRgbString():(me===\"rgb\"&&(ce=this.toRgbString()),me===\"prgb\"&&(ce=this.toPercentageRgbString()),(me===\"hex\"||me===\"hex6\")&&(ce=this.toHexString()),me===\"hex3\"&&(ce=this.toHexString(!0)),me===\"hex4\"&&(ce=this.toHex8String(!0)),me===\"hex8\"&&(ce=this.toHex8String()),me===\"name\"&&(ce=this.toName()),me===\"hsl\"&&(ce=this.toHslString()),me===\"hsv\"&&(ce=this.toHsvString()),ce||this.toHexString())},clone:function(){return l(this.toString())},_applyModification:function(me,Re){var ce=me.apply(null,[this].concat([].slice.call(Re)));return this._r=ce._r,this._g=ce._g,this._b=ce._b,this.setAlpha(ce._a),this},lighten:function(){return this._applyModification(L,arguments)},brighten:function(){return this._applyModification(_,arguments)},darken:function(){return this._applyModification(C,arguments)},desaturate:function(){return this._applyModification(E,arguments)},saturate:function(){return this._applyModification(k,arguments)},greyscale:function(){return this._applyModification(A,arguments)},spin:function(){return this._applyModification(M,arguments)},_applyCombination:function(me,Re){return me.apply(null,[this].concat([].slice.call(Re)))},analogous:function(){return this._applyCombination(q,arguments)},complement:function(){return this._applyCombination(g,arguments)},monochromatic:function(){return this._applyCombination(V,arguments)},splitcomplement:function(){return this._applyCombination(F,arguments)},triad:function(){return this._applyCombination(P,arguments)},tetrad:function(){return this._applyCombination(T,arguments)}},l.fromRatio=function(me,Re){if(typeof me==\"object\"){var ce={};for(var Ge in me)me.hasOwnProperty(Ge)&&(Ge===\"a\"?ce[Ge]=me[Ge]:ce[Ge]=ge(me[Ge]));me=ce}return l(me,Re)};function u(me){var Re={r:0,g:0,b:0},ce=1,Ge=null,nt=null,ct=null,qt=!1,rt=!1;return typeof me==\"string\"&&(me=ze(me)),typeof me==\"object\"&&(Ae(me.r)&&Ae(me.g)&&Ae(me.b)?(Re=c(me.r,me.g,me.b),qt=!0,rt=String(me.r).substr(-1)===\"%\"?\"prgb\":\"rgb\"):Ae(me.h)&&Ae(me.s)&&Ae(me.v)?(Ge=ge(me.s),nt=ge(me.v),Re=v(me.h,Ge,nt),qt=!0,rt=\"hsv\"):Ae(me.h)&&Ae(me.s)&&Ae(me.l)&&(Ge=ge(me.s),ct=ge(me.l),Re=h(me.h,Ge,ct),qt=!0,rt=\"hsl\"),me.hasOwnProperty(\"a\")&&(ce=me.a)),ce=N(ce),{ok:qt,format:me.format||rt,r:a(255,o(Re.r,0)),g:a(255,o(Re.g,0)),b:a(255,o(Re.b,0)),a:ce}}function c(me,Re,ce){return{r:W(me,255)*255,g:W(Re,255)*255,b:W(ce,255)*255}}function f(me,Re,ce){me=W(me,255),Re=W(Re,255),ce=W(ce,255);var Ge=o(me,Re,ce),nt=a(me,Re,ce),ct,qt,rt=(Ge+nt)/2;if(Ge==nt)ct=qt=0;else{var ot=Ge-nt;switch(qt=rt>.5?ot/(2-Ge-nt):ot/(Ge+nt),Ge){case me:ct=(Re-ce)/ot+(Re<ce?6:0);break;case Re:ct=(ce-me)/ot+2;break;case ce:ct=(me-Re)/ot+4;break}ct/=6}return{h:ct,s:qt,l:rt}}function h(me,Re,ce){var Ge,nt,ct;me=W(me,360),Re=W(Re,100),ce=W(ce,100);function qt(Rt,kt,Ct){return Ct<0&&(Ct+=1),Ct>1&&(Ct-=1),Ct<1/6?Rt+(kt-Rt)*6*Ct:Ct<1/2?kt:Ct<2/3?Rt+(kt-Rt)*(2/3-Ct)*6:Rt}if(Re===0)Ge=nt=ct=ce;else{var rt=ce<.5?ce*(1+Re):ce+Re-ce*Re,ot=2*ce-rt;Ge=qt(ot,rt,me+1/3),nt=qt(ot,rt,me),ct=qt(ot,rt,me-1/3)}return{r:Ge*255,g:nt*255,b:ct*255}}function d(me,Re,ce){me=W(me,255),Re=W(Re,255),ce=W(ce,255);var Ge=o(me,Re,ce),nt=a(me,Re,ce),ct,qt,rt=Ge,ot=Ge-nt;if(qt=Ge===0?0:ot/Ge,Ge==nt)ct=0;else{switch(Ge){case me:ct=(Re-ce)/ot+(Re<ce?6:0);break;case Re:ct=(ce-me)/ot+2;break;case ce:ct=(me-Re)/ot+4;break}ct/=6}return{h:ct,s:qt,v:rt}}function v(me,Re,ce){me=W(me,360)*6,Re=W(Re,100),ce=W(ce,100);var Ge=e.floor(me),nt=me-Ge,ct=ce*(1-Re),qt=ce*(1-nt*Re),rt=ce*(1-(1-nt)*Re),ot=Ge%6,Rt=[ce,qt,ct,ct,rt,ce][ot],kt=[rt,ce,ce,qt,ct,ct][ot],Ct=[ct,ct,rt,ce,ce,qt][ot];return{r:Rt*255,g:kt*255,b:Ct*255}}function x(me,Re,ce,Ge){var nt=[ke(i(me).toString(16)),ke(i(Re).toString(16)),ke(i(ce).toString(16))];return Ge&&nt[0].charAt(0)==nt[0].charAt(1)&&nt[1].charAt(0)==nt[1].charAt(1)&&nt[2].charAt(0)==nt[2].charAt(1)?nt[0].charAt(0)+nt[1].charAt(0)+nt[2].charAt(0):nt.join(\"\")}function b(me,Re,ce,Ge,nt){var ct=[ke(i(me).toString(16)),ke(i(Re).toString(16)),ke(i(ce).toString(16)),ke(ie(Ge))];return nt&&ct[0].charAt(0)==ct[0].charAt(1)&&ct[1].charAt(0)==ct[1].charAt(1)&&ct[2].charAt(0)==ct[2].charAt(1)&&ct[3].charAt(0)==ct[3].charAt(1)?ct[0].charAt(0)+ct[1].charAt(0)+ct[2].charAt(0)+ct[3].charAt(0):ct.join(\"\")}function p(me,Re,ce,Ge){var nt=[ke(ie(Ge)),ke(i(me).toString(16)),ke(i(Re).toString(16)),ke(i(ce).toString(16))];return nt.join(\"\")}l.equals=function(me,Re){return!me||!Re?!1:l(me).toRgbString()==l(Re).toRgbString()},l.random=function(){return l.fromRatio({r:s(),g:s(),b:s()})};function E(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toHsl();return ce.s-=Re/100,ce.s=re(ce.s),l(ce)}function k(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toHsl();return ce.s+=Re/100,ce.s=re(ce.s),l(ce)}function A(me){return l(me).desaturate(100)}function L(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toHsl();return ce.l+=Re/100,ce.l=re(ce.l),l(ce)}function _(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toRgb();return ce.r=o(0,a(255,ce.r-i(255*-(Re/100)))),ce.g=o(0,a(255,ce.g-i(255*-(Re/100)))),ce.b=o(0,a(255,ce.b-i(255*-(Re/100)))),l(ce)}function C(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toHsl();return ce.l-=Re/100,ce.l=re(ce.l),l(ce)}function M(me,Re){var ce=l(me).toHsl(),Ge=(ce.h+Re)%360;return ce.h=Ge<0?360+Ge:Ge,l(ce)}function g(me){var Re=l(me).toHsl();return Re.h=(Re.h+180)%360,l(Re)}function P(me){var Re=l(me).toHsl(),ce=Re.h;return[l(me),l({h:(ce+120)%360,s:Re.s,l:Re.l}),l({h:(ce+240)%360,s:Re.s,l:Re.l})]}function T(me){var Re=l(me).toHsl(),ce=Re.h;return[l(me),l({h:(ce+90)%360,s:Re.s,l:Re.l}),l({h:(ce+180)%360,s:Re.s,l:Re.l}),l({h:(ce+270)%360,s:Re.s,l:Re.l})]}function F(me){var Re=l(me).toHsl(),ce=Re.h;return[l(me),l({h:(ce+72)%360,s:Re.s,l:Re.l}),l({h:(ce+216)%360,s:Re.s,l:Re.l})]}function q(me,Re,ce){Re=Re||6,ce=ce||30;var Ge=l(me).toHsl(),nt=360/ce,ct=[l(me)];for(Ge.h=(Ge.h-(nt*Re>>1)+720)%360;--Re;)Ge.h=(Ge.h+nt)%360,ct.push(l(Ge));return ct}function V(me,Re){Re=Re||6;for(var ce=l(me).toHsv(),Ge=ce.h,nt=ce.s,ct=ce.v,qt=[],rt=1/Re;Re--;)qt.push(l({h:Ge,s:nt,v:ct})),ct=(ct+rt)%1;return qt}l.mix=function(me,Re,ce){ce=ce===0?0:ce||50;var Ge=l(me).toRgb(),nt=l(Re).toRgb(),ct=ce/100,qt={r:(nt.r-Ge.r)*ct+Ge.r,g:(nt.g-Ge.g)*ct+Ge.g,b:(nt.b-Ge.b)*ct+Ge.b,a:(nt.a-Ge.a)*ct+Ge.a};return l(qt)},l.readability=function(me,Re){var ce=l(me),Ge=l(Re);return(e.max(ce.getLuminance(),Ge.getLuminance())+.05)/(e.min(ce.getLuminance(),Ge.getLuminance())+.05)},l.isReadable=function(me,Re,ce){var Ge=l.readability(me,Re),nt,ct;switch(ct=!1,nt=Ce(ce),nt.level+nt.size){case\"AAsmall\":case\"AAAlarge\":ct=Ge>=4.5;break;case\"AAlarge\":ct=Ge>=3;break;case\"AAAsmall\":ct=Ge>=7;break}return ct},l.mostReadable=function(me,Re,ce){var Ge=null,nt=0,ct,qt,rt,ot;ce=ce||{},qt=ce.includeFallbackColors,rt=ce.level,ot=ce.size;for(var Rt=0;Rt<Re.length;Rt++)ct=l.readability(me,Re[Rt]),ct>nt&&(nt=ct,Ge=l(Re[Rt]));return l.isReadable(me,Ge,{level:rt,size:ot})||!qt?Ge:(ce.includeFallbackColors=!1,l.mostReadable(me,[\"#fff\",\"#000\"],ce))};var H=l.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\"},X=l.hexNames=G(H);function G(me){var Re={};for(var ce in me)me.hasOwnProperty(ce)&&(Re[me[ce]]=ce);return Re}function N(me){return me=parseFloat(me),(isNaN(me)||me<0||me>1)&&(me=1),me}function W(me,Re){_e(me)&&(me=\"100%\");var ce=Me(me);return me=a(Re,o(0,parseFloat(me))),ce&&(me=parseInt(me*Re,10)/100),e.abs(me-Re)<1e-6?1:me%Re/parseFloat(Re)}function re(me){return a(1,o(0,me))}function ae(me){return parseInt(me,16)}function _e(me){return typeof me==\"string\"&&me.indexOf(\".\")!=-1&&parseFloat(me)===1}function Me(me){return typeof me==\"string\"&&me.indexOf(\"%\")!=-1}function ke(me){return me.length==1?\"0\"+me:\"\"+me}function ge(me){return me<=1&&(me=me*100+\"%\"),me}function ie(me){return e.round(parseFloat(me)*255).toString(16)}function Te(me){return ae(me)/255}var Ee=function(){var me=\"[-\\\\+]?\\\\d+%?\",Re=\"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\",ce=\"(?:\"+Re+\")|(?:\"+me+\")\",Ge=\"[\\\\s|\\\\(]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")\\\\s*\\\\)?\",nt=\"[\\\\s|\\\\(]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")\\\\s*\\\\)?\";return{CSS_UNIT:new RegExp(ce),rgb:new RegExp(\"rgb\"+Ge),rgba:new RegExp(\"rgba\"+nt),hsl:new RegExp(\"hsl\"+Ge),hsla:new RegExp(\"hsla\"+nt),hsv:new RegExp(\"hsv\"+Ge),hsva:new RegExp(\"hsva\"+nt),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 Ae(me){return!!Ee.CSS_UNIT.exec(me)}function ze(me){me=me.replace(t,\"\").replace(r,\"\").toLowerCase();var Re=!1;if(H[me])me=H[me],Re=!0;else if(me==\"transparent\")return{r:0,g:0,b:0,a:0,format:\"name\"};var ce;return(ce=Ee.rgb.exec(me))?{r:ce[1],g:ce[2],b:ce[3]}:(ce=Ee.rgba.exec(me))?{r:ce[1],g:ce[2],b:ce[3],a:ce[4]}:(ce=Ee.hsl.exec(me))?{h:ce[1],s:ce[2],l:ce[3]}:(ce=Ee.hsla.exec(me))?{h:ce[1],s:ce[2],l:ce[3],a:ce[4]}:(ce=Ee.hsv.exec(me))?{h:ce[1],s:ce[2],v:ce[3]}:(ce=Ee.hsva.exec(me))?{h:ce[1],s:ce[2],v:ce[3],a:ce[4]}:(ce=Ee.hex8.exec(me))?{r:ae(ce[1]),g:ae(ce[2]),b:ae(ce[3]),a:Te(ce[4]),format:Re?\"name\":\"hex8\"}:(ce=Ee.hex6.exec(me))?{r:ae(ce[1]),g:ae(ce[2]),b:ae(ce[3]),format:Re?\"name\":\"hex\"}:(ce=Ee.hex4.exec(me))?{r:ae(ce[1]+\"\"+ce[1]),g:ae(ce[2]+\"\"+ce[2]),b:ae(ce[3]+\"\"+ce[3]),a:Te(ce[4]+\"\"+ce[4]),format:Re?\"name\":\"hex8\"}:(ce=Ee.hex3.exec(me))?{r:ae(ce[1]+\"\"+ce[1]),g:ae(ce[2]+\"\"+ce[2]),b:ae(ce[3]+\"\"+ce[3]),format:Re?\"name\":\"hex\"}:!1}function Ce(me){var Re,ce;return me=me||{level:\"AA\",size:\"small\"},Re=(me.level||\"AA\").toUpperCase(),ce=(me.size||\"small\").toLowerCase(),Re!==\"AA\"&&Re!==\"AAA\"&&(Re=\"AA\"),ce!==\"small\"&&ce!==\"large\"&&(ce=\"small\"),{level:Re,size:ce}}typeof c6!=\"undefined\"&&c6.exports?c6.exports=l:window.tinycolor=l})(Math)});var no=ye(PS=>{\"use strict\";var Pee=gy(),CS=Array.isArray;function pet(e,t){var r,n;for(r=0;r<e.length;r++){if(n=e[r],n!==null&&typeof n==\"object\")return!1;n!==void 0&&(t[r]=n)}return!0}PS.extendFlat=function(){return LS(arguments,!1,!1,!1)};PS.extendDeep=function(){return LS(arguments,!0,!1,!1)};PS.extendDeepAll=function(){return LS(arguments,!0,!0,!1)};PS.extendDeepNoArrays=function(){return LS(arguments,!0,!1,!0)};function LS(e,t,r,n){var i=e[0],a=e.length,o,s,l,u,c,f,h;if(a===2&&CS(i)&&CS(e[1])&&i.length===0){if(h=pet(e[1],i),h)return i;i.splice(0,i.length)}for(var d=1;d<a;d++){o=e[d];for(s in o)l=i[s],u=o[s],n&&CS(u)?i[s]=u:t&&u&&(Pee(u)||(c=CS(u)))?(c?(c=!1,f=l&&CS(l)?l:[]):f=l&&Pee(l)?l:{},i[s]=LS([f,u],t,r,n)):(typeof u!=\"undefined\"||r)&&(i[s]=u)}return i}});var Su=ye((JQt,Iee)=>{\"use strict\";Iee.exports=function(e){var t=e.variantValues,r=e.editType,n=e.colorEditType;n===void 0&&(n=r);var i={editType:r,valType:\"integer\",min:1,max:1e3,extras:[\"normal\",\"bold\"],dflt:\"normal\"};e.noNumericWeightValues&&(i.valType=\"enumerated\",i.values=i.extras,i.extras=void 0,i.min=void 0,i.max=void 0);var a={family:{valType:\"string\",noBlank:!0,strict:!0,editType:r},size:{valType:\"number\",min:1,editType:r},color:{valType:\"color\",editType:n},weight:i,style:{editType:r,valType:\"enumerated\",values:[\"normal\",\"italic\"],dflt:\"normal\"},variant:e.noFontVariant?void 0:{editType:r,valType:\"enumerated\",values:t||[\"normal\",\"small-caps\",\"all-small-caps\",\"all-petite-caps\",\"petite-caps\",\"unicase\"],dflt:\"normal\"},textcase:e.noFontTextcase?void 0:{editType:r,valType:\"enumerated\",values:[\"normal\",\"word caps\",\"upper\",\"lower\"],dflt:\"normal\"},lineposition:e.noFontLineposition?void 0:{editType:r,valType:\"flaglist\",flags:[\"under\",\"over\",\"through\"],extras:[\"none\"],dflt:\"none\"},shadow:e.noFontShadow?void 0:{editType:r,valType:\"string\",dflt:e.autoShadowDflt?\"auto\":\"none\"},editType:r};return e.autoSize&&(a.size.dflt=\"auto\"),e.autoColor&&(a.color.dflt=\"auto\"),e.arrayOk&&(a.family.arrayOk=!0,a.weight.arrayOk=!0,a.style.arrayOk=!0,e.noFontVariant||(a.variant.arrayOk=!0),e.noFontTextcase||(a.textcase.arrayOk=!0),e.noFontLineposition||(a.lineposition.arrayOk=!0),e.noFontShadow||(a.shadow.arrayOk=!0),a.size.arrayOk=!0,a.color.arrayOk=!0),a}});var IS=ye(($Qt,Ree)=>{\"use strict\";Ree.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:\"Arial, sans-serif\",HOVERMINTIME:50,HOVERID:\"-hover\"}});var N1=ye((QQt,Fee)=>{\"use strict\";var Dee=IS(),zee=Su(),xq=zee({editType:\"none\"});xq.family.dflt=Dee.HOVERFONT;xq.size.dflt=Dee.HOVERFONTSIZE;Fee.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:xq,grouptitlefont:zee({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\"}}});var i3=ye((eer,qee)=>{\"use strict\";var get=Su(),f6=N1().hoverlabel,h6=no().extendFlat;qee.exports={hoverlabel:{bgcolor:h6({},f6.bgcolor,{arrayOk:!0}),bordercolor:h6({},f6.bordercolor,{arrayOk:!0}),font:get({arrayOk:!0,editType:\"none\"}),align:h6({},f6.align,{arrayOk:!0}),namelength:h6({},f6.namelength,{arrayOk:!0}),editType:\"none\"}}});var vl=ye((ter,Oee)=>{\"use strict\";var met=Su(),yet=i3();Oee.exports={type:{valType:\"enumerated\",values:[],dflt:\"scatter\",editType:\"calc+clearAxisTypes\",_noTemplating:!0},visible:{valType:\"enumerated\",values:[!0,!1,\"legendonly\"],dflt:!0,editType:\"calc\"},showlegend:{valType:\"boolean\",dflt:!0,editType:\"style\"},legend:{valType:\"subplotid\",dflt:\"legend\",editType:\"style\"},legendgroup:{valType:\"string\",dflt:\"\",editType:\"style\"},legendgrouptitle:{text:{valType:\"string\",dflt:\"\",editType:\"style\"},font:met({editType:\"style\"}),editType:\"style\"},legendrank:{valType:\"number\",dflt:1e3,editType:\"style\"},legendwidth:{valType:\"number\",min:0,editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"style\"},name:{valType:\"string\",editType:\"style\"},uid:{valType:\"string\",editType:\"plot\",anim:!0},ids:{valType:\"data_array\",editType:\"calc\",anim:!0},customdata:{valType:\"data_array\",editType:\"calc\"},meta:{valType:\"any\",arrayOk:!0,editType:\"plot\"},selectedpoints:{valType:\"any\",editType:\"calc\"},hoverinfo:{valType:\"flaglist\",flags:[\"x\",\"y\",\"z\",\"text\",\"name\"],extras:[\"all\",\"none\",\"skip\"],arrayOk:!0,dflt:\"all\",editType:\"none\"},hoverlabel:yet.hoverlabel,stream:{token:{valType:\"string\",noBlank:!0,strict:!0,editType:\"calc\"},maxpoints:{valType:\"number\",min:0,max:1e4,dflt:500,editType:\"calc\"},editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"}}});var sb=ye((rer,Uee)=>{\"use strict\";var _et=id(),d6={Greys:[[0,\"rgb(0,0,0)\"],[1,\"rgb(255,255,255)\"]],YlGnBu:[[0,\"rgb(8,29,88)\"],[.125,\"rgb(37,52,148)\"],[.25,\"rgb(34,94,168)\"],[.375,\"rgb(29,145,192)\"],[.5,\"rgb(65,182,196)\"],[.625,\"rgb(127,205,187)\"],[.75,\"rgb(199,233,180)\"],[.875,\"rgb(237,248,217)\"],[1,\"rgb(255,255,217)\"]],Greens:[[0,\"rgb(0,68,27)\"],[.125,\"rgb(0,109,44)\"],[.25,\"rgb(35,139,69)\"],[.375,\"rgb(65,171,93)\"],[.5,\"rgb(116,196,118)\"],[.625,\"rgb(161,217,155)\"],[.75,\"rgb(199,233,192)\"],[.875,\"rgb(229,245,224)\"],[1,\"rgb(247,252,245)\"]],YlOrRd:[[0,\"rgb(128,0,38)\"],[.125,\"rgb(189,0,38)\"],[.25,\"rgb(227,26,28)\"],[.375,\"rgb(252,78,42)\"],[.5,\"rgb(253,141,60)\"],[.625,\"rgb(254,178,76)\"],[.75,\"rgb(254,217,118)\"],[.875,\"rgb(255,237,160)\"],[1,\"rgb(255,255,204)\"]],Bluered:[[0,\"rgb(0,0,255)\"],[1,\"rgb(255,0,0)\"]],RdBu:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(106,137,247)\"],[.5,\"rgb(190,190,190)\"],[.6,\"rgb(220,170,132)\"],[.7,\"rgb(230,145,90)\"],[1,\"rgb(178,10,28)\"]],Reds:[[0,\"rgb(220,220,220)\"],[.2,\"rgb(245,195,157)\"],[.4,\"rgb(245,160,105)\"],[1,\"rgb(178,10,28)\"]],Blues:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(40,60,190)\"],[.5,\"rgb(70,100,245)\"],[.6,\"rgb(90,120,245)\"],[.7,\"rgb(106,137,247)\"],[1,\"rgb(220,220,220)\"]],Picnic:[[0,\"rgb(0,0,255)\"],[.1,\"rgb(51,153,255)\"],[.2,\"rgb(102,204,255)\"],[.3,\"rgb(153,204,255)\"],[.4,\"rgb(204,204,255)\"],[.5,\"rgb(255,255,255)\"],[.6,\"rgb(255,204,255)\"],[.7,\"rgb(255,153,255)\"],[.8,\"rgb(255,102,204)\"],[.9,\"rgb(255,102,102)\"],[1,\"rgb(255,0,0)\"]],Rainbow:[[0,\"rgb(150,0,90)\"],[.125,\"rgb(0,0,200)\"],[.25,\"rgb(0,25,255)\"],[.375,\"rgb(0,152,255)\"],[.5,\"rgb(44,255,150)\"],[.625,\"rgb(151,255,0)\"],[.75,\"rgb(255,234,0)\"],[.875,\"rgb(255,111,0)\"],[1,\"rgb(255,0,0)\"]],Portland:[[0,\"rgb(12,51,131)\"],[.25,\"rgb(10,136,186)\"],[.5,\"rgb(242,211,56)\"],[.75,\"rgb(242,143,56)\"],[1,\"rgb(217,30,30)\"]],Jet:[[0,\"rgb(0,0,131)\"],[.125,\"rgb(0,60,170)\"],[.375,\"rgb(5,255,255)\"],[.625,\"rgb(255,255,0)\"],[.875,\"rgb(250,0,0)\"],[1,\"rgb(128,0,0)\"]],Hot:[[0,\"rgb(0,0,0)\"],[.3,\"rgb(230,0,0)\"],[.6,\"rgb(255,210,0)\"],[1,\"rgb(255,255,255)\"]],Blackbody:[[0,\"rgb(0,0,0)\"],[.2,\"rgb(230,0,0)\"],[.4,\"rgb(230,210,0)\"],[.7,\"rgb(255,255,255)\"],[1,\"rgb(160,200,255)\"]],Earth:[[0,\"rgb(0,0,130)\"],[.1,\"rgb(0,180,180)\"],[.2,\"rgb(40,210,40)\"],[.4,\"rgb(230,230,50)\"],[.6,\"rgb(120,70,20)\"],[1,\"rgb(255,255,255)\"]],Electric:[[0,\"rgb(0,0,0)\"],[.15,\"rgb(30,0,100)\"],[.4,\"rgb(120,0,100)\"],[.6,\"rgb(160,90,0)\"],[.8,\"rgb(230,200,0)\"],[1,\"rgb(255,250,220)\"]],Viridis:[[0,\"#440154\"],[.06274509803921569,\"#48186a\"],[.12549019607843137,\"#472d7b\"],[.18823529411764706,\"#424086\"],[.25098039215686274,\"#3b528b\"],[.3137254901960784,\"#33638d\"],[.3764705882352941,\"#2c728e\"],[.4392156862745098,\"#26828e\"],[.5019607843137255,\"#21918c\"],[.5647058823529412,\"#1fa088\"],[.6274509803921569,\"#28ae80\"],[.6901960784313725,\"#3fbc73\"],[.7529411764705882,\"#5ec962\"],[.8156862745098039,\"#84d44b\"],[.8784313725490196,\"#addc30\"],[.9411764705882353,\"#d8e219\"],[1,\"#fde725\"]],Cividis:[[0,\"rgb(0,32,76)\"],[.058824,\"rgb(0,42,102)\"],[.117647,\"rgb(0,52,110)\"],[.176471,\"rgb(39,63,108)\"],[.235294,\"rgb(60,74,107)\"],[.294118,\"rgb(76,85,107)\"],[.352941,\"rgb(91,95,109)\"],[.411765,\"rgb(104,106,112)\"],[.470588,\"rgb(117,117,117)\"],[.529412,\"rgb(131,129,120)\"],[.588235,\"rgb(146,140,120)\"],[.647059,\"rgb(161,152,118)\"],[.705882,\"rgb(176,165,114)\"],[.764706,\"rgb(192,177,109)\"],[.823529,\"rgb(209,191,102)\"],[.882353,\"rgb(225,204,92)\"],[.941176,\"rgb(243,219,79)\"],[1,\"rgb(255,233,69)\"]]},Bee=d6.RdBu;function xet(e,t){if(t||(t=Bee),!e)return t;function r(){try{e=d6[e]||JSON.parse(e)}catch(n){e=t}}return typeof e==\"string\"&&(r(),typeof e==\"string\"&&r()),Nee(e)?e:t}function Nee(e){var t=0;if(!Array.isArray(e)||e.length<2||!e[0]||!e[e.length-1]||+e[0][0]!=0||+e[e.length-1][0]!=1)return!1;for(var r=0;r<e.length;r++){var n=e[r];if(n.length!==2||+n[0]<t||!_et(n[1]).isValid())return!1;t=+n[0]}return!0}function bet(e){return d6[e]!==void 0?!0:Nee(e)}Uee.exports={scales:d6,defaultScale:Bee,get:xet,isValid:bet}});var dh=ye(lb=>{\"use strict\";lb.defaults=[\"#1f77b4\",\"#ff7f0e\",\"#2ca02c\",\"#d62728\",\"#9467bd\",\"#8c564b\",\"#e377c2\",\"#7f7f7f\",\"#bcbd22\",\"#17becf\"];lb.defaultLine=\"#444\";lb.lightLine=\"#eee\";lb.background=\"#fff\";lb.borderLine=\"#BEC8D9\";lb.lightFraction=100*10/11});var va=ye((ner,Vee)=>{\"use strict\";var xp=id(),wet=uo(),Tet=vv().isTypedArray,nd=Vee.exports={},v6=dh();nd.defaults=v6.defaults;var Aet=nd.defaultLine=v6.defaultLine;nd.lightLine=v6.lightLine;var wq=nd.background=v6.background;nd.tinyRGB=function(e){var t=e.toRgb();return\"rgb(\"+Math.round(t.r)+\", \"+Math.round(t.g)+\", \"+Math.round(t.b)+\")\"};nd.rgb=function(e){return nd.tinyRGB(xp(e))};nd.opacity=function(e){return e?xp(e).getAlpha():0};nd.addOpacity=function(e,t){var r=xp(e).toRgb();return\"rgba(\"+Math.round(r.r)+\", \"+Math.round(r.g)+\", \"+Math.round(r.b)+\", \"+t+\")\"};nd.combine=function(e,t){var r=xp(e).toRgb();if(r.a===1)return xp(e).toRgbString();var n=xp(t||wq).toRgb(),i=n.a===1?n:{r:255*(1-n.a)+n.r*n.a,g:255*(1-n.a)+n.g*n.a,b:255*(1-n.a)+n.b*n.a},a={r:i.r*(1-r.a)+r.r*r.a,g:i.g*(1-r.a)+r.g*r.a,b:i.b*(1-r.a)+r.b*r.a};return xp(a).toRgbString()};nd.interpolate=function(e,t,r){var n=xp(e).toRgb(),i=xp(t).toRgb(),a={r:r*n.r+(1-r)*i.r,g:r*n.g+(1-r)*i.g,b:r*n.b+(1-r)*i.b};return xp(a).toRgbString()};nd.contrast=function(e,t,r){var n=xp(e);n.getAlpha()!==1&&(n=xp(nd.combine(e,wq)));var i=n.isDark()?t?n.lighten(t):wq:r?n.darken(r):Aet;return i.toString()};nd.stroke=function(e,t){var r=xp(t);e.style({stroke:nd.tinyRGB(r),\"stroke-opacity\":r.getAlpha()})};nd.fill=function(e,t){var r=xp(t);e.style({fill:nd.tinyRGB(r),\"fill-opacity\":r.getAlpha()})};nd.clean=function(e){if(!(!e||typeof e!=\"object\")){var t=Object.keys(e),r,n,i,a;for(r=0;r<t.length;r++)if(i=t[r],a=e[i],i.substr(i.length-5)===\"color\")if(Array.isArray(a))for(n=0;n<a.length;n++)a[n]=bq(a[n]);else e[i]=bq(a);else if(i.substr(i.length-10)===\"colorscale\"&&Array.isArray(a))for(n=0;n<a.length;n++)Array.isArray(a[n])&&(a[n][1]=bq(a[n][1]));else if(Array.isArray(a)){var o=a[0];if(!Array.isArray(o)&&o&&typeof o==\"object\")for(n=0;n<a.length;n++)nd.clean(a[n])}else a&&typeof a==\"object\"&&!Tet(a)&&nd.clean(a)}};function bq(e){if(wet(e)||typeof e!=\"string\")return e;var t=e.trim();if(t.substr(0,3)!==\"rgb\")return e;var r=t.match(/^rgba?\\s*\\(([^()]*)\\)$/);if(!r)return e;var n=r[1].trim().split(/\\s*[\\s,]\\s*/),i=t.charAt(3)===\"a\"&&n.length===4;if(!i&&n.length!==3)return e;for(var a=0;a<n.length;a++){if(!n[a].length||(n[a]=Number(n[a]),!(n[a]>=0)))return e;if(a===3)n[a]>1&&(n[a]=1);else if(n[a]>=1)return e}var o=Math.round(n[0]*255)+\", \"+Math.round(n[1]*255)+\", \"+Math.round(n[2]*255);return i?\"rgba(\"+o+\", \"+n[3]+\")\":\"rgb(\"+o+\")\"}});var U1=ye((aer,Hee)=>{\"use strict\";Hee.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}});var n3=ye(Gee=>{\"use strict\";Gee.counter=function(e,t,r,n){var i=(t||\"\")+(r?\"\":\"$\"),a=n===!1?\"\":\"^\";return e===\"xy\"?new RegExp(a+\"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?\"+i):new RegExp(a+e+\"([2-9]|[1-9][0-9]+)?\"+i)}});var Xee=ye(bp=>{\"use strict\";var Tq=uo(),jee=id(),Wee=no().extendFlat,Met=vl(),Eet=sb(),ket=va(),Cet=U1().DESELECTDIM,a3=ES(),Zee=n3().counter,Let=r3().modHalf,dm=vv().isArrayOrTypedArray,V1=vv().isTypedArraySpec,H1=vv().decodeTypedArraySpec;bp.valObjectMeta={data_array:{coerceFunction:function(e,t,r){t.set(dm(e)?e:V1(e)?H1(e):r)}},enumerated:{coerceFunction:function(e,t,r,n){n.coerceNumber&&(e=+e),n.values.indexOf(e)===-1?t.set(r):t.set(e)},validateFunction:function(e,t){t.coerceNumber&&(e=+e);for(var r=t.values,n=0;n<r.length;n++){var i=String(r[n]);if(i.charAt(0)===\"/\"&&i.charAt(i.length-1)===\"/\"){var a=new RegExp(i.substr(1,i.length-2));if(a.test(e))return!0}else if(e===r[n])return!0}return!1}},boolean:{coerceFunction:function(e,t,r){e===!0||e===!1?t.set(e):t.set(r)}},number:{coerceFunction:function(e,t,r,n){V1(e)&&(e=H1(e)),!Tq(e)||n.min!==void 0&&e<n.min||n.max!==void 0&&e>n.max?t.set(r):t.set(+e)}},integer:{coerceFunction:function(e,t,r,n){if((n.extras||[]).indexOf(e)!==-1){t.set(e);return}V1(e)&&(e=H1(e)),e%1||!Tq(e)||n.min!==void 0&&e<n.min||n.max!==void 0&&e>n.max?t.set(r):t.set(+e)}},string:{coerceFunction:function(e,t,r,n){if(typeof e!=\"string\"){var i=typeof e==\"number\";n.strict===!0||!i?t.set(r):t.set(String(e))}else n.noBlank&&!e?t.set(r):t.set(e)}},color:{coerceFunction:function(e,t,r){V1(e)&&(e=H1(e)),jee(e).isValid()?t.set(e):t.set(r)}},colorlist:{coerceFunction:function(e,t,r){function n(i){return jee(i).isValid()}!Array.isArray(e)||!e.length?t.set(r):e.every(n)?t.set(e):t.set(r)}},colorscale:{coerceFunction:function(e,t,r){t.set(Eet.get(e,r))}},angle:{coerceFunction:function(e,t,r){V1(e)&&(e=H1(e)),e===\"auto\"?t.set(\"auto\"):Tq(e)?t.set(Let(+e,360)):t.set(r)}},subplotid:{coerceFunction:function(e,t,r,n){var i=n.regex||Zee(r);if(typeof e==\"string\"&&i.test(e)){t.set(e);return}t.set(r)},validateFunction:function(e,t){var r=t.dflt;return e===r?!0:typeof e!=\"string\"?!1:!!Zee(r).test(e)}},flaglist:{coerceFunction:function(e,t,r,n){if((n.extras||[]).indexOf(e)!==-1){t.set(e);return}if(typeof e!=\"string\"){t.set(r);return}for(var i=e.split(\"+\"),a=0;a<i.length;){var o=i[a];n.flags.indexOf(o)===-1||i.indexOf(o)<a?i.splice(a,1):a++}i.length?t.set(i.join(\"+\")):t.set(r)}},any:{coerceFunction:function(e,t,r){e===void 0?t.set(r):t.set(V1(e)?H1(e):e)}},info_array:{coerceFunction:function(e,t,r,n){function i(E,k,A){var L,_={set:function(C){L=C}};return A===void 0&&(A=k.dflt),bp.valObjectMeta[k.valType].coerceFunction(E,_,A,k),L}if(V1(e)&&(e=H1(e)),!dm(e)){t.set(r);return}var a=n.dimensions===2||n.dimensions===\"1-2\"&&Array.isArray(e)&&dm(e[0]),o=n.items,s=[],l=Array.isArray(o),u=l&&a&&dm(o[0]),c=a&&l&&!u,f=l&&!c?o.length:e.length,h,d,v,x,b,p;if(r=Array.isArray(r)?r:[],a)for(h=0;h<f;h++)for(s[h]=[],v=dm(e[h])?e[h]:[],c?b=o.length:l?b=o[h].length:b=v.length,d=0;d<b;d++)c?x=o[d]:l?x=o[h][d]:x=o,p=i(v[d],x,(r[h]||[])[d]),p!==void 0&&(s[h][d]=p);else for(h=0;h<f;h++)p=i(e[h],l?o[h]:o,r[h]),p!==void 0&&(s[h]=p);t.set(s)},validateFunction:function(e,t){if(!dm(e))return!1;var r=t.items,n=Array.isArray(r),i=t.dimensions===2;if(!t.freeLength&&e.length!==r.length)return!1;for(var a=0;a<e.length;a++)if(i){if(!dm(e[a])||!t.freeLength&&e[a].length!==r[a].length)return!1;for(var o=0;o<e[a].length;o++)if(!p6(e[a][o],n?r[a][o]:r))return!1}else if(!p6(e[a],n?r[a]:r))return!1;return!0}}};bp.coerce=function(e,t,r,n,i){var a=a3(r,n).get(),o=a3(e,n),s=a3(t,n),l=o.get(),u=t._template;if(l===void 0&&u&&(l=a3(u,n).get(),u=0),i===void 0&&(i=a.dflt),a.arrayOk){if(dm(l))return s.set(l),l;if(V1(l))return l=H1(l),s.set(l),l}var c=bp.valObjectMeta[a.valType].coerceFunction;c(l,s,i,a);var f=s.get();return u&&f===i&&!p6(l,a)&&(l=a3(u,n).get(),c(l,s,i,a),f=s.get()),f};bp.coerce2=function(e,t,r,n,i){var a=a3(e,n),o=bp.coerce(e,t,r,n,i),s=a.get();return s!=null?o:!1};bp.coerceFont=function(e,t,r,n){n||(n={}),r=Wee({},r),r=Wee(r,n.overrideDflt||{});var i={family:e(t+\".family\",r.family),size:e(t+\".size\",r.size),color:e(t+\".color\",r.color),weight:e(t+\".weight\",r.weight),style:e(t+\".style\",r.style)};if(n.noFontVariant||(i.variant=e(t+\".variant\",r.variant)),n.noFontLineposition||(i.lineposition=e(t+\".lineposition\",r.lineposition)),n.noFontTextcase||(i.textcase=e(t+\".textcase\",r.textcase)),!n.noFontShadow){var a=r.shadow;a===\"none\"&&n.autoShadowDflt&&(a=\"auto\"),i.shadow=e(t+\".shadow\",a)}return i};bp.coercePattern=function(e,t,r,n){var i=e(t+\".shape\");if(i){e(t+\".solidity\"),e(t+\".size\");var a=e(t+\".fillmode\"),o=a===\"overlay\";if(!n){var s=e(t+\".bgcolor\",o?r:void 0);e(t+\".fgcolor\",o?ket.contrast(s):r)}e(t+\".fgopacity\",o?.5:1)}};bp.coerceHoverinfo=function(e,t,r){var n=t._module.attributes,i=n.hoverinfo?n:Met,a=i.hoverinfo,o;if(r._dataLength===1){var s=a.dflt===\"all\"?a.flags.slice():a.dflt.split(\"+\");s.splice(s.indexOf(\"name\"),1),o=s.join(\"+\")}return bp.coerce(e,t,i,\"hoverinfo\",o)};bp.coerceSelectionMarkerOpacity=function(e,t){if(e.marker){var r=e.marker.opacity;if(r!==void 0){var n,i;!dm(r)&&!e.selected&&!e.unselected&&(n=r,i=Cet*r),t(\"selected.marker.opacity\",n),t(\"unselected.marker.opacity\",i)}}};function p6(e,t){var r=bp.valObjectMeta[t.valType];if(t.arrayOk&&dm(e))return!0;if(r.validateFunction)return r.validateFunction(e,t);var n={},i=n,a={set:function(o){i=o}};return r.coerceFunction(e,a,n,t),i!==n}bp.validate=p6});var ub=ye((ler,$ee)=>{\"use strict\";var Yee={staticPlot:{valType:\"boolean\",dflt:!1},typesetMath:{valType:\"boolean\",dflt:!0},plotlyServerURL:{valType:\"string\",dflt:\"\"},editable:{valType:\"boolean\",dflt:!1},edits:{annotationPosition:{valType:\"boolean\",dflt:!1},annotationTail:{valType:\"boolean\",dflt:!1},annotationText:{valType:\"boolean\",dflt:!1},axisTitleText:{valType:\"boolean\",dflt:!1},colorbarPosition:{valType:\"boolean\",dflt:!1},colorbarTitleText:{valType:\"boolean\",dflt:!1},legendPosition:{valType:\"boolean\",dflt:!1},legendText:{valType:\"boolean\",dflt:!1},shapePosition:{valType:\"boolean\",dflt:!1},titleText:{valType:\"boolean\",dflt:!1}},editSelection:{valType:\"boolean\",dflt:!0},autosizable:{valType:\"boolean\",dflt:!1},responsive:{valType:\"boolean\",dflt:!1},fillFrame:{valType:\"boolean\",dflt:!1},frameMargins:{valType:\"number\",dflt:0,min:0,max:.5},scrollZoom:{valType:\"flaglist\",flags:[\"cartesian\",\"gl3d\",\"geo\",\"mapbox\",\"map\"],extras:[!0,!1],dflt:\"gl3d+geo+map\"},doubleClick:{valType:\"enumerated\",values:[!1,\"reset\",\"autosize\",\"reset+autosize\"],dflt:\"reset+autosize\"},doubleClickDelay:{valType:\"number\",dflt:300,min:0},showAxisDragHandles:{valType:\"boolean\",dflt:!0},showAxisRangeEntryBoxes:{valType:\"boolean\",dflt:!0},showTips:{valType:\"boolean\",dflt:!0},showLink:{valType:\"boolean\",dflt:!1},linkText:{valType:\"string\",dflt:\"Edit chart\",noBlank:!0},sendData:{valType:\"boolean\",dflt:!0},showSources:{valType:\"any\",dflt:!1},displayModeBar:{valType:\"enumerated\",values:[\"hover\",!0,!1],dflt:\"hover\"},showSendToCloud:{valType:\"boolean\",dflt:!1},showEditInChartStudio:{valType:\"boolean\",dflt:!1},modeBarButtonsToRemove:{valType:\"any\",dflt:[]},modeBarButtonsToAdd:{valType:\"any\",dflt:[]},modeBarButtons:{valType:\"any\",dflt:!1},toImageButtonOptions:{valType:\"any\",dflt:{}},displaylogo:{valType:\"boolean\",dflt:!0},watermark:{valType:\"boolean\",dflt:!1},plotGlPixelRatio:{valType:\"number\",dflt:2,min:1,max:4},setBackground:{valType:\"any\",dflt:\"transparent\"},topojsonURL:{valType:\"string\",noBlank:!0,dflt:\"https://cdn.plot.ly/\"},mapboxAccessToken:{valType:\"string\",dflt:null},logging:{valType:\"integer\",min:0,max:2,dflt:1},notifyOnLogging:{valType:\"integer\",min:0,max:2,dflt:0},queueLength:{valType:\"integer\",min:0,dflt:0},locale:{valType:\"string\",dflt:\"en-US\"},locales:{valType:\"any\",dflt:{}}},Kee={};function Jee(e,t){for(var r in e){var n=e[r];n.valType?t[r]=n.dflt:(t[r]||(t[r]={}),Jee(n,t[r]))}}Jee(Yee,Kee);$ee.exports={configAttributes:Yee,dfltConfig:Kee}});var Sq=ye((uer,Qee)=>{\"use strict\";var Aq=xa(),Pet=uo(),RS=[];Qee.exports=function(e,t){if(RS.indexOf(e)!==-1)return;RS.push(e);var r=1e3;Pet(t)?r=t:t===\"long\"&&(r=3e3);var n=Aq.select(\"body\").selectAll(\".plotly-notifier\").data([0]);n.enter().append(\"div\").classed(\"plotly-notifier\",!0);var i=n.selectAll(\".notifier-note\").data(RS);function a(o){o.duration(700).style(\"opacity\",0).each(\"end\",function(s){var l=RS.indexOf(s);l!==-1&&RS.splice(l,1),Aq.select(this).remove()})}i.enter().append(\"div\").classed(\"notifier-note\",!0).style(\"opacity\",0).each(function(o){var s=Aq.select(this);s.append(\"button\").classed(\"notifier-close\",!0).html(\"×\").on(\"click\",function(){s.transition().call(a)});for(var l=s.append(\"p\"),u=o.split(/<br\\s*\\/?>/g),c=0;c<u.length;c++)c&&l.append(\"br\"),l.append(\"span\").text(u[c]);t===\"stick\"?s.transition().duration(350).style(\"opacity\",1):s.transition().duration(700).style(\"opacity\",1).transition().delay(r).call(a)})}});var G1=ye((cer,ete)=>{\"use strict\";var o3=ub().dfltConfig,Mq=Sq(),Eq=ete.exports={};Eq.log=function(){var e;if(o3.logging>1){var t=[\"LOG:\"];for(e=0;e<arguments.length;e++)t.push(arguments[e]);console.trace.apply(console,t)}if(o3.notifyOnLogging>1){var r=[];for(e=0;e<arguments.length;e++)r.push(arguments[e]);Mq(r.join(\"<br>\"),\"long\")}};Eq.warn=function(){var e;if(o3.logging>0){var t=[\"WARN:\"];for(e=0;e<arguments.length;e++)t.push(arguments[e]);console.trace.apply(console,t)}if(o3.notifyOnLogging>0){var r=[];for(e=0;e<arguments.length;e++)r.push(arguments[e]);Mq(r.join(\"<br>\"),\"stick\")}};Eq.error=function(){var e;if(o3.logging>0){var t=[\"ERROR:\"];for(e=0;e<arguments.length;e++)t.push(arguments[e]);console.error.apply(console,t)}if(o3.notifyOnLogging>0){var r=[];for(e=0;e<arguments.length;e++)r.push(arguments[e]);Mq(r.join(\"<br>\"),\"stick\")}}});var g6=ye((fer,tte)=>{\"use strict\";tte.exports=function(){}});var kq=ye((her,rte)=>{\"use strict\";rte.exports=function(t,r){if(r instanceof RegExp){for(var n=r.toString(),i=0;i<t.length;i++)if(t[i]instanceof RegExp&&t[i].toString()===n)return t;t.push(r)}else(r||r===0)&&t.indexOf(r)===-1&&t.push(r);return t}});var nte=ye((der,ite)=>{ite.exports=Iet;function Iet(){var e=new Float32Array(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var ote=ye((ver,ate)=>{ate.exports=Ret;function Ret(e){var t=new Float32Array(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}});var lte=ye((per,ste)=>{ste.exports=Det;function Det(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var Cq=ye((ger,ute)=>{ute.exports=zet;function zet(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var fte=ye((mer,cte)=>{cte.exports=Fet;function Fet(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}});var dte=ye((yer,hte)=>{hte.exports=qet;function qet(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],d=t[11],v=t[12],x=t[13],b=t[14],p=t[15],E=r*s-n*o,k=r*l-i*o,A=r*u-a*o,L=n*l-i*s,_=n*u-a*s,C=i*u-a*l,M=c*x-f*v,g=c*b-h*v,P=c*p-d*v,T=f*b-h*x,F=f*p-d*x,q=h*p-d*b,V=E*q-k*F+A*T+L*P-_*g+C*M;return V?(V=1/V,e[0]=(s*q-l*F+u*T)*V,e[1]=(i*F-n*q-a*T)*V,e[2]=(x*C-b*_+p*L)*V,e[3]=(h*_-f*C-d*L)*V,e[4]=(l*P-o*q-u*g)*V,e[5]=(r*q-i*P+a*g)*V,e[6]=(b*A-v*C-p*k)*V,e[7]=(c*C-h*A+d*k)*V,e[8]=(o*F-s*P+u*M)*V,e[9]=(n*P-r*F-a*M)*V,e[10]=(v*_-x*A+p*E)*V,e[11]=(f*A-c*_-d*E)*V,e[12]=(s*g-o*T-l*M)*V,e[13]=(r*T-n*g+i*M)*V,e[14]=(x*k-v*L-b*E)*V,e[15]=(c*L-f*k+h*E)*V,e):null}});var pte=ye((_er,vte)=>{vte.exports=Oet;function Oet(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],d=t[11],v=t[12],x=t[13],b=t[14],p=t[15];return e[0]=s*(h*p-d*b)-f*(l*p-u*b)+x*(l*d-u*h),e[1]=-(n*(h*p-d*b)-f*(i*p-a*b)+x*(i*d-a*h)),e[2]=n*(l*p-u*b)-s*(i*p-a*b)+x*(i*u-a*l),e[3]=-(n*(l*d-u*h)-s*(i*d-a*h)+f*(i*u-a*l)),e[4]=-(o*(h*p-d*b)-c*(l*p-u*b)+v*(l*d-u*h)),e[5]=r*(h*p-d*b)-c*(i*p-a*b)+v*(i*d-a*h),e[6]=-(r*(l*p-u*b)-o*(i*p-a*b)+v*(i*u-a*l)),e[7]=r*(l*d-u*h)-o*(i*d-a*h)+c*(i*u-a*l),e[8]=o*(f*p-d*x)-c*(s*p-u*x)+v*(s*d-u*f),e[9]=-(r*(f*p-d*x)-c*(n*p-a*x)+v*(n*d-a*f)),e[10]=r*(s*p-u*x)-o*(n*p-a*x)+v*(n*u-a*s),e[11]=-(r*(s*d-u*f)-o*(n*d-a*f)+c*(n*u-a*s)),e[12]=-(o*(f*b-h*x)-c*(s*b-l*x)+v*(s*h-l*f)),e[13]=r*(f*b-h*x)-c*(n*b-i*x)+v*(n*h-i*f),e[14]=-(r*(s*b-l*x)-o*(n*b-i*x)+v*(n*l-i*s)),e[15]=r*(s*h-l*f)-o*(n*h-i*f)+c*(n*l-i*s),e}});var mte=ye((xer,gte)=>{gte.exports=Bet;function Bet(e){var t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],f=e[10],h=e[11],d=e[12],v=e[13],x=e[14],b=e[15],p=t*o-r*a,E=t*s-n*a,k=t*l-i*a,A=r*s-n*o,L=r*l-i*o,_=n*l-i*s,C=u*v-c*d,M=u*x-f*d,g=u*b-h*d,P=c*x-f*v,T=c*b-h*v,F=f*b-h*x;return p*F-E*T+k*P+A*g-L*M+_*C}});var _te=ye((ber,yte)=>{yte.exports=Net;function Net(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],f=t[8],h=t[9],d=t[10],v=t[11],x=t[12],b=t[13],p=t[14],E=t[15],k=r[0],A=r[1],L=r[2],_=r[3];return e[0]=k*n+A*s+L*f+_*x,e[1]=k*i+A*l+L*h+_*b,e[2]=k*a+A*u+L*d+_*p,e[3]=k*o+A*c+L*v+_*E,k=r[4],A=r[5],L=r[6],_=r[7],e[4]=k*n+A*s+L*f+_*x,e[5]=k*i+A*l+L*h+_*b,e[6]=k*a+A*u+L*d+_*p,e[7]=k*o+A*c+L*v+_*E,k=r[8],A=r[9],L=r[10],_=r[11],e[8]=k*n+A*s+L*f+_*x,e[9]=k*i+A*l+L*h+_*b,e[10]=k*a+A*u+L*d+_*p,e[11]=k*o+A*c+L*v+_*E,k=r[12],A=r[13],L=r[14],_=r[15],e[12]=k*n+A*s+L*f+_*x,e[13]=k*i+A*l+L*h+_*b,e[14]=k*a+A*u+L*d+_*p,e[15]=k*o+A*c+L*v+_*E,e}});var bte=ye((wer,xte)=>{xte.exports=Uet;function Uet(e,t,r){var n=r[0],i=r[1],a=r[2],o,s,l,u,c,f,h,d,v,x,b,p;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],l=t[2],u=t[3],c=t[4],f=t[5],h=t[6],d=t[7],v=t[8],x=t[9],b=t[10],p=t[11],e[0]=o,e[1]=s,e[2]=l,e[3]=u,e[4]=c,e[5]=f,e[6]=h,e[7]=d,e[8]=v,e[9]=x,e[10]=b,e[11]=p,e[12]=o*n+c*i+v*a+t[12],e[13]=s*n+f*i+x*a+t[13],e[14]=l*n+h*i+b*a+t[14],e[15]=u*n+d*i+p*a+t[15]),e}});var Tte=ye((Ter,wte)=>{wte.exports=Vet;function Vet(e,t,r){var n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var Ste=ye((Aer,Ate)=>{Ate.exports=Het;function Het(e,t,r,n){var i=n[0],a=n[1],o=n[2],s=Math.sqrt(i*i+a*a+o*o),l,u,c,f,h,d,v,x,b,p,E,k,A,L,_,C,M,g,P,T,F,q,V,H;return Math.abs(s)<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,l=Math.sin(r),u=Math.cos(r),c=1-u,f=t[0],h=t[1],d=t[2],v=t[3],x=t[4],b=t[5],p=t[6],E=t[7],k=t[8],A=t[9],L=t[10],_=t[11],C=i*i*c+u,M=a*i*c+o*l,g=o*i*c-a*l,P=i*a*c-o*l,T=a*a*c+u,F=o*a*c+i*l,q=i*o*c+a*l,V=a*o*c-i*l,H=o*o*c+u,e[0]=f*C+x*M+k*g,e[1]=h*C+b*M+A*g,e[2]=d*C+p*M+L*g,e[3]=v*C+E*M+_*g,e[4]=f*P+x*T+k*F,e[5]=h*P+b*T+A*F,e[6]=d*P+p*T+L*F,e[7]=v*P+E*T+_*F,e[8]=f*q+x*V+k*H,e[9]=h*q+b*V+A*H,e[10]=d*q+p*V+L*H,e[11]=v*q+E*V+_*H,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}});var Ete=ye((Ser,Mte)=>{Mte.exports=Get;function Get(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+u*n,e[5]=o*i+c*n,e[6]=s*i+f*n,e[7]=l*i+h*n,e[8]=u*i-a*n,e[9]=c*i-o*n,e[10]=f*i-s*n,e[11]=h*i-l*n,e}});var Cte=ye((Mer,kte)=>{kte.exports=jet;function jet(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-u*n,e[1]=o*i-c*n,e[2]=s*i-f*n,e[3]=l*i-h*n,e[8]=a*n+u*i,e[9]=o*n+c*i,e[10]=s*n+f*i,e[11]=l*n+h*i,e}});var Pte=ye((Eer,Lte)=>{Lte.exports=Wet;function Wet(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[4],c=t[5],f=t[6],h=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+u*n,e[1]=o*i+c*n,e[2]=s*i+f*n,e[3]=l*i+h*n,e[4]=u*i-a*n,e[5]=c*i-o*n,e[6]=f*i-s*n,e[7]=h*i-l*n,e}});var Rte=ye((ker,Ite)=>{Ite.exports=Zet;function Zet(e,t,r){var n,i,a,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(u=1/u,o*=u,s*=u,l*=u,n=Math.sin(t),i=Math.cos(t),a=1-i,e[0]=o*o*a+i,e[1]=s*o*a+l*n,e[2]=l*o*a-s*n,e[3]=0,e[4]=o*s*a-l*n,e[5]=s*s*a+i,e[6]=l*s*a+o*n,e[7]=0,e[8]=o*l*a+s*n,e[9]=s*l*a-o*n,e[10]=l*l*a+i,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}});var zte=ye((Cer,Dte)=>{Dte.exports=Xet;function Xet(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,l=i+i,u=a+a,c=n*s,f=n*l,h=n*u,d=i*l,v=i*u,x=a*u,b=o*s,p=o*l,E=o*u;return e[0]=1-(d+x),e[1]=f+E,e[2]=h-p,e[3]=0,e[4]=f-E,e[5]=1-(c+x),e[6]=v+b,e[7]=0,e[8]=h+p,e[9]=v-b,e[10]=1-(c+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}});var qte=ye((Ler,Fte)=>{Fte.exports=Yet;function Yet(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Bte=ye((Per,Ote)=>{Ote.exports=Ket;function Ket(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}});var Ute=ye((Ier,Nte)=>{Nte.exports=Jet;function Jet(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Hte=ye((Rer,Vte)=>{Vte.exports=$et;function $et(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var jte=ye((Der,Gte)=>{Gte.exports=Qet;function Qet(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Lq=ye((zer,Wte)=>{Wte.exports=ett;function ett(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,f=n*s,h=i*o,d=i*s,v=i*l,x=a*o,b=a*s,p=a*l;return e[0]=1-f-v,e[1]=c+p,e[2]=h-b,e[3]=0,e[4]=c-p,e[5]=1-u-v,e[6]=d+x,e[7]=0,e[8]=h+b,e[9]=d-x,e[10]=1-u-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Xte=ye((Fer,Zte)=>{Zte.exports=ttt;function ttt(e,t,r,n,i,a,o){var s=1/(r-t),l=1/(i-n),u=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*l,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*l,e[10]=(o+a)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*u,e[15]=0,e}});var Kte=ye((qer,Yte)=>{Yte.exports=rtt;function rtt(e,t,r,n,i){var a=1/Math.tan(t/2),o=1/(n-i);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(i+n)*o,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*i*n*o,e[15]=0,e}});var $te=ye((Oer,Jte)=>{Jte.exports=itt;function itt(e,t,r,n){var i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return e[0]=l,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=u,e[6]=0,e[7]=0,e[8]=-((o-s)*l*.5),e[9]=(i-a)*u*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}});var ere=ye((Ber,Qte)=>{Qte.exports=ntt;function ntt(e,t,r,n,i,a,o){var s=1/(t-r),l=1/(n-i),u=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*l,e[14]=(o+a)*u,e[15]=1,e}});var rre=ye((Ner,tre)=>{var att=Cq();tre.exports=ott;function ott(e,t,r,n){var i,a,o,s,l,u,c,f,h,d,v=t[0],x=t[1],b=t[2],p=n[0],E=n[1],k=n[2],A=r[0],L=r[1],_=r[2];return Math.abs(v-A)<1e-6&&Math.abs(x-L)<1e-6&&Math.abs(b-_)<1e-6?att(e):(c=v-A,f=x-L,h=b-_,d=1/Math.sqrt(c*c+f*f+h*h),c*=d,f*=d,h*=d,i=E*h-k*f,a=k*c-p*h,o=p*f-E*c,d=Math.sqrt(i*i+a*a+o*o),d?(d=1/d,i*=d,a*=d,o*=d):(i=0,a=0,o=0),s=f*o-h*a,l=h*i-c*o,u=c*a-f*i,d=Math.sqrt(s*s+l*l+u*u),d?(d=1/d,s*=d,l*=d,u*=d):(s=0,l=0,u=0),e[0]=i,e[1]=s,e[2]=c,e[3]=0,e[4]=a,e[5]=l,e[6]=f,e[7]=0,e[8]=o,e[9]=u,e[10]=h,e[11]=0,e[12]=-(i*v+a*x+o*b),e[13]=-(s*v+l*x+u*b),e[14]=-(c*v+f*x+h*b),e[15]=1,e)}});var nre=ye((Uer,ire)=>{ire.exports=stt;function stt(e){return\"mat4(\"+e[0]+\", \"+e[1]+\", \"+e[2]+\", \"+e[3]+\", \"+e[4]+\", \"+e[5]+\", \"+e[6]+\", \"+e[7]+\", \"+e[8]+\", \"+e[9]+\", \"+e[10]+\", \"+e[11]+\", \"+e[12]+\", \"+e[13]+\", \"+e[14]+\", \"+e[15]+\")\"}});var Pq=ye((Ver,are)=>{are.exports={create:nte(),clone:ote(),copy:lte(),identity:Cq(),transpose:fte(),invert:dte(),adjoint:pte(),determinant:mte(),multiply:_te(),translate:bte(),scale:Tte(),rotate:Ste(),rotateX:Ete(),rotateY:Cte(),rotateZ:Pte(),fromRotation:Rte(),fromRotationTranslation:zte(),fromScaling:qte(),fromTranslation:Bte(),fromXRotation:Ute(),fromYRotation:Hte(),fromZRotation:jte(),fromQuat:Lq(),frustum:Xte(),perspective:Kte(),perspectiveFromFieldOfView:$te(),ortho:ere(),lookAt:rre(),str:nre()}});var m6=ye(Xf=>{\"use strict\";var ltt=Pq();Xf.init2dArray=function(e,t){for(var r=new Array(e),n=0;n<e;n++)r[n]=new Array(t);return r};Xf.transposeRagged=function(e){var t=0,r=e.length,n,i;for(n=0;n<r;n++)t=Math.max(t,e[n].length);var a=new Array(t);for(n=0;n<t;n++)for(a[n]=new Array(r),i=0;i<r;i++)a[n][i]=e[i][n];return a};Xf.dot=function(e,t){if(!(e.length&&t.length)||e.length!==t.length)return null;var r=e.length,n,i;if(e[0].length)for(n=new Array(r),i=0;i<r;i++)n[i]=Xf.dot(e[i],t);else if(t[0].length){var a=Xf.transposeRagged(t);for(n=new Array(a.length),i=0;i<a.length;i++)n[i]=Xf.dot(e,a[i])}else for(n=0,i=0;i<r;i++)n+=e[i]*t[i];return n};Xf.translationMatrix=function(e,t){return[[1,0,e],[0,1,t],[0,0,1]]};Xf.rotationMatrix=function(e){var t=e*Math.PI/180;return[[Math.cos(t),-Math.sin(t),0],[Math.sin(t),Math.cos(t),0],[0,0,1]]};Xf.rotationXYMatrix=function(e,t,r){return Xf.dot(Xf.dot(Xf.translationMatrix(t,r),Xf.rotationMatrix(e)),Xf.translationMatrix(-t,-r))};Xf.apply3DTransform=function(e){return function(){var t=arguments,r=arguments.length===1?t[0]:[t[0],t[1],t[2]||0];return Xf.dot(e,[r[0],r[1],r[2],1]).slice(0,3)}};Xf.apply2DTransform=function(e){return function(){var t=arguments;t.length===3&&(t=t[0]);var r=arguments.length===1?t[0]:[t[0],t[1]];return Xf.dot(e,[r[0],r[1],1]).slice(0,2)}};Xf.apply2DTransform2=function(e){var t=Xf.apply2DTransform(e);return function(r){return t(r.slice(0,2)).concat(t(r.slice(2,4)))}};Xf.convertCssMatrix=function(e){if(e){var t=e.length;if(t===16)return e;if(t===6)return[e[0],e[1],0,0,e[2],e[3],0,0,0,0,1,0,e[4],e[5],0,1]}return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]};Xf.inverseTransformMatrix=function(e){var t=[];return ltt.invert(t,e),[[t[0],t[1],t[2],t[3]],[t[4],t[5],t[6],t[7]],[t[8],t[9],t[10],t[11]],[t[12],t[13],t[14],t[15]]]}});var DS=ye((Ger,fre)=>{\"use strict\";var utt=xa(),ore=G1(),ctt=m6(),ftt=Pq();function htt(e){var t;if(typeof e==\"string\"){if(t=document.getElementById(e),t===null)throw new Error(\"No DOM element with id '\"+e+\"' exists on the page.\");return t}else if(e==null)throw new Error(\"DOM element provided is null or undefined\");return e}function dtt(e){var t=utt.select(e);return t.node()instanceof HTMLElement&&t.size()&&t.classed(\"js-plotly-plot\")}function sre(e){var t=e&&e.parentNode;t&&t.removeChild(e)}function vtt(e,t){lre(\"global\",e,t)}function lre(e,t,r){var n=\"plotly.js-style-\"+e,i=document.getElementById(n);if(!(i&&i.matches(\".no-inline-styles\"))){i||(i=document.createElement(\"style\"),i.setAttribute(\"id\",n),i.appendChild(document.createTextNode(\"\")),document.head.appendChild(i));var a=i.sheet;a?a.insertRule?a.insertRule(t+\"{\"+r+\"}\",0):a.addRule?a.addRule(t,r,0):ore.warn(\"addStyleRule failed\"):ore.warn(\"Cannot addRelatedStyleRule, probably due to strict CSP...\")}}function ptt(e){var t=\"plotly.js-style-\"+e,r=document.getElementById(t);r&&sre(r)}function gtt(e,t,r,n,i,a){var o=n.split(\":\"),s=i.split(\":\"),l=\"data-btn-style-event-added\";a||(a=document),a.querySelectorAll(e).forEach(function(u){u.getAttribute(l)||(u.addEventListener(\"mouseenter\",function(){var c=this.querySelector(r);c&&(c.style[o[0]]=o[1])}),u.addEventListener(\"mouseleave\",function(){var c=this.querySelector(r);c&&(t&&this.matches(t)?c.style[o[0]]=o[1]:c.style[s[0]]=s[1])}),u.setAttribute(l,!0))})}function mtt(e){var t=cre(e),r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return t.forEach(function(n){var i=ure(n);if(i){var a=ctt.convertCssMatrix(i);r=ftt.multiply(r,r,a)}}),r}function ure(e){var t=window.getComputedStyle(e,null),r=t.getPropertyValue(\"-webkit-transform\")||t.getPropertyValue(\"-moz-transform\")||t.getPropertyValue(\"-ms-transform\")||t.getPropertyValue(\"-o-transform\")||t.getPropertyValue(\"transform\");return r===\"none\"?null:r.replace(\"matrix\",\"\").replace(\"3d\",\"\").slice(1,-1).split(\",\").map(function(n){return+n})}function cre(e){for(var t=[];ytt(e);)t.push(e),e=e.parentNode,typeof ShadowRoot==\"function\"&&e instanceof ShadowRoot&&(e=e.host);return t}function ytt(e){return e&&(e instanceof Element||e instanceof HTMLElement)}function _tt(e,t){return e&&t&&e.top===t.top&&e.left===t.left&&e.right===t.right&&e.bottom===t.bottom}fre.exports={getGraphDiv:htt,isPlotDiv:dtt,removeElement:sre,addStyleRule:vtt,addRelatedStyleRule:lre,deleteRelatedStyleRule:ptt,setStyleOnHover:gtt,getFullTransformMatrix:mtt,getElementTransformMatrix:ure,getElementAndAncestors:cre,equalDomRects:_tt}});var zS=ye((jer,hre)=>{\"use strict\";hre.exports={mode:{valType:\"enumerated\",dflt:\"afterall\",values:[\"immediate\",\"next\",\"afterall\"]},direction:{valType:\"enumerated\",values:[\"forward\",\"reverse\"],dflt:\"forward\"},fromcurrent:{valType:\"boolean\",dflt:!1},frame:{duration:{valType:\"number\",min:0,dflt:500},redraw:{valType:\"boolean\",dflt:!0}},transition:{duration:{valType:\"number\",min:0,dflt:500,editType:\"none\"},easing:{valType:\"enumerated\",dflt:\"cubic-in-out\",values:[\"linear\",\"quad\",\"cubic\",\"sin\",\"exp\",\"circle\",\"elastic\",\"back\",\"bounce\",\"linear-in\",\"quad-in\",\"cubic-in\",\"sin-in\",\"exp-in\",\"circle-in\",\"elastic-in\",\"back-in\",\"bounce-in\",\"linear-out\",\"quad-out\",\"cubic-out\",\"sin-out\",\"exp-out\",\"circle-out\",\"elastic-out\",\"back-out\",\"bounce-out\",\"linear-in-out\",\"quad-in-out\",\"cubic-in-out\",\"sin-in-out\",\"exp-in-out\",\"circle-in-out\",\"elastic-in-out\",\"back-in-out\",\"bounce-in-out\"],editType:\"none\"},ordering:{valType:\"enumerated\",values:[\"layout first\",\"traces first\"],dflt:\"layout first\",editType:\"none\"}}}});var Bu=ye((Wer,_re)=>{\"use strict\";var vre=no().extendFlat,xtt=gy(),pre={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"clearAxisTypes\",\"plot\",\"style\",\"markerSize\",\"colorbars\"]},gre={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"plot\",\"legend\",\"ticks\",\"axrange\",\"layoutstyle\",\"modebar\",\"camera\",\"arraydraw\",\"colorbars\"]},btt=pre.flags.slice().concat([\"fullReplot\"]),wtt=gre.flags.slice().concat(\"layoutReplot\");_re.exports={traces:pre,layout:gre,traceFlags:function(){return dre(btt)},layoutFlags:function(){return dre(wtt)},update:function(e,t){var r=t.editType;if(r&&r!==\"none\")for(var n=r.split(\"+\"),i=0;i<n.length;i++)e[n[i]]=!0},overrideAll:mre};function dre(e){for(var t={},r=0;r<e.length;r++)t[e[r]]=!1;return t}function mre(e,t,r){var n=vre({},e);for(var i in n){var a=n[i];xtt(a)&&(n[i]=yre(a,t,r,i))}return r===\"from-root\"&&(n.editType=t),n}function yre(e,t,r,n){if(e.valType){var i=vre({},e);if(i.editType=t,Array.isArray(e.items)){i.items=new Array(e.items.length);for(var a=0;a<e.items.length;a++)i.items[a]=yre(e.items[a],t,\"from-root\")}return i}else return mre(e,t,n.charAt(0)===\"_\"?\"nested\":\"from-root\")}});var Ed=ye(Iq=>{\"use strict\";Iq.dash={valType:\"string\",values:[\"solid\",\"dot\",\"dash\",\"longdash\",\"dashdot\",\"longdashdot\"],dflt:\"solid\",editType:\"style\"};Iq.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\"}});var Rq=ye((Xer,xre)=>{\"use strict\";xre.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\"}});var Wo=ye(y6=>{\"use strict\";var bre=Rq(),Yer=bre.FORMAT_LINK,Ker=bre.DATE_FORMAT_LINK;function Dq(e){var t=e.description?\" \"+e.description:\"\",r=e.keys||[];if(r.length>0){for(var n=[],i=0;i<r.length;i++)n[i]=\"`\"+r[i]+\"`\";t=t+\"Finally, the template string has access to \",r.length===1?t=t+\"variable \"+n[0]:t=t+\"variables \"+n.slice(0,-1).join(\", \")+\" and \"+n.slice(-1)+\".\"}return t}y6.hovertemplateAttrs=function(e,t){e=e||{},t=t||{};var r=Dq(t),n={valType:\"string\",dflt:\"\",editType:e.editType||\"none\"};return e.arrayOk!==!1&&(n.arrayOk=!0),n};y6.texttemplateAttrs=function(e,t){e=e||{},t=t||{};var r=Dq(t),n={valType:\"string\",dflt:\"\",editType:e.editType||\"calc\"};return e.arrayOk!==!1&&(n.arrayOk=!0),n};y6.shapeTexttemplateAttrs=function(e,t){e=e||{},t=t||{};var r=e.newshape?\"new \":\"\",n=Dq(t),i={valType:\"string\",dflt:\"\",editType:e.editType||\"arraydraw\"};return i}});var b6=ye(($er,Ere)=>{\"use strict\";function j1(e,t){return t?t.d2l(e):e}function wre(e,t){return t?t.l2d(e):e}function Ttt(e){return e.x0}function Att(e){return e.x1}function Stt(e){return e.y0}function Mtt(e){return e.y1}function Tre(e){return e.x0shift||0}function Are(e){return e.x1shift||0}function Sre(e){return e.y0shift||0}function Mre(e){return e.y1shift||0}function _6(e,t){return j1(e.x1,t)+Are(e)-j1(e.x0,t)-Tre(e)}function x6(e,t,r){return j1(e.y1,r)+Mre(e)-j1(e.y0,r)-Sre(e)}function Ett(e,t){return Math.abs(_6(e,t))}function ktt(e,t,r){return Math.abs(x6(e,t,r))}function Ctt(e,t,r){return e.type!==\"line\"?void 0:Math.sqrt(Math.pow(_6(e,t),2)+Math.pow(x6(e,t,r),2))}function Ltt(e,t){return wre((j1(e.x1,t)+Are(e)+j1(e.x0,t)+Tre(e))/2,t)}function Ptt(e,t,r){return wre((j1(e.y1,r)+Mre(e)+j1(e.y0,r)+Sre(e))/2,r)}function Itt(e,t,r){return e.type!==\"line\"?void 0:x6(e,t,r)/_6(e,t)}Ere.exports={x0:Ttt,x1:Att,y0:Stt,y1:Mtt,slope:Itt,dx:_6,dy:x6,width:Ett,height:ktt,length:Ctt,xcenter:Ltt,ycenter:Ptt}});var Lre=ye((Qer,Cre)=>{\"use strict\";var Rtt=Bu().overrideAll,cb=vl(),kre=Su(),Dtt=Ed().dash,W1=no().extendFlat,ztt=Wo().shapeTexttemplateAttrs,Ftt=b6();Cre.exports=Rtt({newshape:{visible:W1({},cb.visible,{}),showlegend:{valType:\"boolean\",dflt:!1},legend:W1({},cb.legend,{}),legendgroup:W1({},cb.legendgroup,{}),legendgrouptitle:{text:W1({},cb.legendgrouptitle.text,{}),font:kre({})},legendrank:W1({},cb.legendrank,{}),legendwidth:W1({},cb.legendwidth,{}),line:{color:{valType:\"color\"},width:{valType:\"number\",min:0,dflt:4},dash:W1({},Dtt,{dflt:\"solid\"})},fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},fillrule:{valType:\"enumerated\",values:[\"evenodd\",\"nonzero\"],dflt:\"evenodd\"},opacity:{valType:\"number\",min:0,max:1,dflt:1},layer:{valType:\"enumerated\",values:[\"below\",\"above\",\"between\"],dflt:\"above\"},drawdirection:{valType:\"enumerated\",values:[\"ortho\",\"horizontal\",\"vertical\",\"diagonal\"],dflt:\"diagonal\"},name:W1({},cb.name,{}),label:{text:{valType:\"string\",dflt:\"\"},texttemplate:ztt({newshape:!0},{keys:Object.keys(Ftt)}),font:kre({}),textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\",\"start\",\"middle\",\"end\"]},textangle:{valType:\"angle\",dflt:\"auto\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"]},padding:{valType:\"number\",dflt:3,min:0}}},activeshape:{fillcolor:{valType:\"color\",dflt:\"rgb(255,0,255)\"},opacity:{valType:\"number\",min:0,max:1,dflt:.5}}},\"none\",\"from-root\")});var Ire=ye((etr,Pre)=>{\"use strict\";var qtt=Ed().dash,Ott=no().extendFlat;Pre.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:Ott({},qtt,{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\"}}});var w6=ye((ttr,Rre)=>{\"use strict\";Rre.exports=function(e){var t=e.editType;return{t:{valType:\"number\",dflt:0,editType:t},r:{valType:\"number\",dflt:0,editType:t},b:{valType:\"number\",dflt:0,editType:t},l:{valType:\"number\",dflt:0,editType:t},editType:t}}});var s3=ye((rtr,qre)=>{\"use strict\";var zq=Su(),Btt=zS(),T6=dh(),Dre=Lre(),zre=Ire(),Ntt=w6(),Fre=no().extendFlat,A6=zq({editType:\"calc\"});A6.family.dflt='\"Open Sans\", verdana, arial, sans-serif';A6.size.dflt=12;A6.color.dflt=T6.defaultLine;qre.exports={font:A6,title:{text:{valType:\"string\",editType:\"layoutstyle\"},font:zq({editType:\"layoutstyle\"}),subtitle:{text:{valType:\"string\",editType:\"layoutstyle\"},font:zq({editType:\"layoutstyle\"}),editType:\"layoutstyle\"},xref:{valType:\"enumerated\",dflt:\"container\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},yref:{valType:\"enumerated\",dflt:\"container\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},x:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"layoutstyle\"},y:{valType:\"number\",min:0,max:1,dflt:\"auto\",editType:\"layoutstyle\"},xanchor:{valType:\"enumerated\",dflt:\"auto\",values:[\"auto\",\"left\",\"center\",\"right\"],editType:\"layoutstyle\"},yanchor:{valType:\"enumerated\",dflt:\"auto\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],editType:\"layoutstyle\"},pad:Fre(Ntt({editType:\"layoutstyle\"}),{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},editType:\"layoutstyle\"},uniformtext:{mode:{valType:\"enumerated\",values:[!1,\"hide\",\"show\"],dflt:!1,editType:\"plot\"},minsize:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"},autosize:{valType:\"boolean\",dflt:!1,editType:\"none\"},width:{valType:\"number\",min:10,dflt:700,editType:\"plot\"},height:{valType:\"number\",min:10,dflt:450,editType:\"plot\"},minreducedwidth:{valType:\"number\",min:2,dflt:64,editType:\"plot\"},minreducedheight:{valType:\"number\",min:2,dflt:64,editType:\"plot\"},margin:{l:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},r:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},t:{valType:\"number\",min:0,dflt:100,editType:\"plot\"},b:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},autoexpand:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},computed:{valType:\"any\",editType:\"none\"},paper_bgcolor:{valType:\"color\",dflt:T6.background,editType:\"plot\"},plot_bgcolor:{valType:\"color\",dflt:T6.background,editType:\"layoutstyle\"},autotypenumbers:{valType:\"enumerated\",values:[\"convert types\",\"strict\"],dflt:\"convert types\",editType:\"calc\"},separators:{valType:\"string\",editType:\"plot\"},hidesources:{valType:\"boolean\",dflt:!1,editType:\"plot\"},showlegend:{valType:\"boolean\",editType:\"legend\"},colorway:{valType:\"colorlist\",dflt:T6.defaults,editType:\"calc\"},datarevision:{valType:\"any\",editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"},editrevision:{valType:\"any\",editType:\"none\"},selectionrevision:{valType:\"any\",editType:\"none\"},template:{valType:\"any\",editType:\"calc\"},newshape:Dre.newshape,activeshape:Dre.activeshape,newselection:zre.newselection,activeselection:zre.activeselection,meta:{valType:\"any\",arrayOk:!0,editType:\"plot\"},transition:Fre({},Btt.transition,{editType:\"none\"})}});var Ore=Ll(()=>{});var Utt={};var Bre=Ll(()=>{Ore()});var ba=ye(qs=>{\"use strict\";var l3=G1(),Nre=g6(),Ure=kq(),Vtt=gy(),Htt=DS().addStyleRule,Vre=no(),Gtt=vl(),jtt=s3(),Wtt=Vre.extendFlat,Fq=Vre.extendDeepAll;qs.modules={};qs.allCategories={};qs.allTypes=[];qs.subplotsRegistry={};qs.componentsRegistry={};qs.layoutArrayContainers=[];qs.layoutArrayRegexes=[];qs.traceLayoutAttributes={};qs.localeRegistry={};qs.apiMethodRegistry={};qs.collectableSubplotTypes=null;qs.register=function(t){if(qs.collectableSubplotTypes=null,t)t&&!Array.isArray(t)&&(t=[t]);else throw new Error(\"No argument passed to Plotly.register.\");for(var r=0;r<t.length;r++){var n=t[r];if(!n)throw new Error(\"Invalid module was attempted to be registered!\");switch(n.moduleType){case\"trace\":Ztt(n);break;case\"transform\":Ktt(n);break;case\"component\":Ytt(n);break;case\"locale\":Jtt(n);break;case\"apiMethod\":var i=n.name;qs.apiMethodRegistry[i]=n.fn;break;default:throw new Error(\"Invalid module was attempted to be registered!\")}}};qs.getModule=function(e){var t=qs.modules[Wre(e)];return t?t._module:!1};qs.traceIs=function(e,t){if(e=Wre(e),e===\"various\")return!1;var r=qs.modules[e];return r||(e&&l3.log(\"Unrecognized trace type \"+e+\".\"),r=qs.modules[Gtt.type.dflt]),!!r.categories[t]};qs.getComponentMethod=function(e,t){var r=qs.componentsRegistry[e];return r&&r[t]||Nre};qs.call=function(){var e=arguments[0],t=[].slice.call(arguments,1);return qs.apiMethodRegistry[e].apply(null,t)};function Ztt(e){var t=e.name,r=e.categories,n=e.meta;if(qs.modules[t]){l3.log(\"Type \"+t+\" already registered\");return}qs.subplotsRegistry[e.basePlotModule.name]||Xtt(e.basePlotModule);for(var i={},a=0;a<r.length;a++)i[r[a]]=!0,qs.allCategories[r[a]]=!0;qs.modules[t]={_module:e,categories:i},n&&Object.keys(n).length&&(qs.modules[t].meta=n),qs.allTypes.push(t);for(var o in qs.componentsRegistry)Gre(o,t);e.layoutAttributes&&Wtt(qs.traceLayoutAttributes,e.layoutAttributes);var s=e.basePlotModule,l=s.name;if(l===\"mapbox\"){var u=s.constants.styleRules;for(var c in u)Htt(\".js-plotly-plot .plotly .mapboxgl-\"+c,u[c])}l===\"map\"&&(Bre(),B1(Utt)),(l===\"geo\"||l===\"mapbox\"||l===\"map\")&&window.PlotlyGeoAssets===void 0&&(window.PlotlyGeoAssets={topojson:{}})}function Xtt(e){var t=e.name;if(qs.subplotsRegistry[t]){l3.log(\"Plot type \"+t+\" already registered.\");return}Hre(e),qs.subplotsRegistry[t]=e;for(var r in qs.componentsRegistry)jre(r,e.name)}function Ytt(e){if(typeof e.name!=\"string\")throw new Error(\"Component module *name* must be a string.\");var t=e.name;qs.componentsRegistry[t]=e,e.layoutAttributes&&(e.layoutAttributes._isLinkedToArray&&Ure(qs.layoutArrayContainers,t),Hre(e));for(var r in qs.modules)Gre(t,r);for(var n in qs.subplotsRegistry)jre(t,n);e.schema&&e.schema.layout&&Fq(jtt,e.schema.layout)}function Ktt(e){if(typeof e.name!=\"string\")throw new Error(\"Transform module *name* must be a string.\");var t=\"Transform module \"+e.name,r=typeof e.transform==\"function\",n=typeof e.calcTransform==\"function\";if(!r&&!n)throw new Error(t+\" is missing a *transform* or *calcTransform* method.\");r&&n&&l3.log([t+\" has both a *transform* and *calcTransform* methods.\",\"Please note that all *transform* methods are executed\",\"before all *calcTransform* methods.\"].join(\" \")),Vtt(e.attributes)||l3.log(t+\" registered without an *attributes* object.\"),typeof e.supplyDefaults!=\"function\"&&l3.log(t+\" registered without a *supplyDefaults* method.\")}function Jtt(e){var t=e.name,r=t.split(\"-\")[0],n=e.dictionary,i=e.format,a=n&&Object.keys(n).length,o=i&&Object.keys(i).length,s=qs.localeRegistry,l=s[t];if(l||(s[t]=l={}),r!==t){var u=s[r];u||(s[r]=u={}),a&&u.dictionary===l.dictionary&&(u.dictionary=n),o&&u.format===l.format&&(u.format=i)}a&&(l.dictionary=n),o&&(l.format=i)}function Hre(e){if(e.layoutAttributes){var t=e.layoutAttributes._arrayAttrRegexps;if(t)for(var r=0;r<t.length;r++)Ure(qs.layoutArrayRegexes,t[r])}}function Gre(e,t){var r=qs.componentsRegistry[e].schema;if(!(!r||!r.traces)){var n=r.traces[t];n&&Fq(qs.modules[t]._module.attributes,n)}}function jre(e,t){var r=qs.componentsRegistry[e].schema;if(!(!r||!r.subplots)){var n=qs.subplotsRegistry[t],i=n.layoutAttributes,a=n.attr===\"subplot\"?n.name:n.attr;Array.isArray(a)&&(a=a[0]);var o=r.subplots[a];i&&o&&Fq(i,o)}}function Wre(e){return typeof e==\"object\"&&(e=e.type),e}});var tie=ye(Yf=>{\"use strict\";var $tt=e3().timeFormat,Qre=uo(),qq=G1(),X1=r3().mod,f3=es(),_0=f3.BADNUM,wp=f3.ONEDAY,FS=f3.ONEHOUR,Z1=f3.ONEMIN,c3=f3.ONESEC,qS=f3.EPOCHJD,my=ba(),Zre=e3().utcFormat,Qtt=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\d)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d(:?\\d\\d)?)?)?)?)?)?\\s*$/m,ert=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\di?)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d(:?\\d\\d)?)?)?)?)?)?\\s*$/m,Xre=new Date().getFullYear()-70;function yy(e){return e&&my.componentsRegistry.calendars&&typeof e==\"string\"&&e!==\"gregorian\"}Yf.dateTick0=function(e,t){var r=trt(e,!!t);if(t<2)return r;var n=Yf.dateTime2ms(r,e);return n+=wp*(t-1),Yf.ms2DateTime(n,0,e)};function trt(e,t){return yy(e)?t?my.getComponentMethod(\"calendars\",\"CANONICAL_SUNDAY\")[e]:my.getComponentMethod(\"calendars\",\"CANONICAL_TICK\")[e]:t?\"2000-01-02\":\"2000-01-01\"}Yf.dfltRange=function(e){return yy(e)?my.getComponentMethod(\"calendars\",\"DFLTRANGE\")[e]:[\"2000-01-01\",\"2001-01-01\"]};Yf.isJSDate=function(e){return typeof e==\"object\"&&e!==null&&typeof e.getTime==\"function\"};var M6,E6;Yf.dateTime2ms=function(e,t){if(Yf.isJSDate(e)){var r=e.getTimezoneOffset()*Z1,n=(e.getUTCMinutes()-e.getMinutes())*Z1+(e.getUTCSeconds()-e.getSeconds())*c3+(e.getUTCMilliseconds()-e.getMilliseconds());if(n){var i=3*Z1;r=r-i/2+X1(n-r+i/2,i)}return e=Number(e)-r,e>=M6&&e<=E6?e:_0}if(typeof e!=\"string\"&&typeof e!=\"number\")return _0;e=String(e);var a=yy(t),o=e.charAt(0);a&&(o===\"G\"||o===\"g\")&&(e=e.substr(1),t=\"\");var s=a&&t.substr(0,7)===\"chinese\",l=e.match(s?ert:Qtt);if(!l)return _0;var u=l[1],c=l[3]||\"1\",f=Number(l[5]||1),h=Number(l[7]||0),d=Number(l[9]||0),v=Number(l[11]||0);if(a){if(u.length===2)return _0;u=Number(u);var x;try{var b=my.getComponentMethod(\"calendars\",\"getCal\")(t);if(s){var p=c.charAt(c.length-1)===\"i\";c=parseInt(c,10),x=b.newDate(u,b.toMonthIndex(u,c,p),f)}else x=b.newDate(u,Number(c),f)}catch(k){return _0}return x?(x.toJD()-qS)*wp+h*FS+d*Z1+v*c3:_0}u.length===2?u=(Number(u)+2e3-Xre)%100+Xre:u=Number(u),c-=1;var E=new Date(Date.UTC(2e3,c,f,h,d));return E.setUTCFullYear(u),E.getUTCMonth()!==c||E.getUTCDate()!==f?_0:E.getTime()+v*c3};M6=Yf.MIN_MS=Yf.dateTime2ms(\"-9999\");E6=Yf.MAX_MS=Yf.dateTime2ms(\"9999-12-31 23:59:59.9999\");Yf.isDateTime=function(e,t){return Yf.dateTime2ms(e,t)!==_0};function u3(e,t){return String(e+Math.pow(10,t)).substr(1)}var S6=90*wp,Yre=3*FS,Kre=5*Z1;Yf.ms2DateTime=function(e,t,r){if(typeof e!=\"number\"||!(e>=M6&&e<=E6))return _0;t||(t=0);var n=Math.floor(X1(e+.05,1)*10),i=Math.round(e-n/10),a,o,s,l,u,c;if(yy(r)){var f=Math.floor(i/wp)+qS,h=Math.floor(X1(e,wp));try{a=my.getComponentMethod(\"calendars\",\"getCal\")(r).fromJD(f).formatDate(\"yyyy-mm-dd\")}catch(d){a=Zre(\"G%Y-%m-%d\")(new Date(i))}if(a.charAt(0)===\"-\")for(;a.length<11;)a=\"-0\"+a.substr(1);else for(;a.length<10;)a=\"0\"+a;o=t<S6?Math.floor(h/FS):0,s=t<S6?Math.floor(h%FS/Z1):0,l=t<Yre?Math.floor(h%Z1/c3):0,u=t<Kre?h%c3*10+n:0}else c=new Date(i),a=Zre(\"%Y-%m-%d\")(c),o=t<S6?c.getUTCHours():0,s=t<S6?c.getUTCMinutes():0,l=t<Yre?c.getUTCSeconds():0,u=t<Kre?c.getUTCMilliseconds()*10+n:0;return eie(a,o,s,l,u)};Yf.ms2DateTimeLocal=function(e){if(!(e>=M6+wp&&e<=E6-wp))return _0;var t=Math.floor(X1(e+.05,1)*10),r=new Date(Math.round(e-t/10)),n=$tt(\"%Y-%m-%d\")(r),i=r.getHours(),a=r.getMinutes(),o=r.getSeconds(),s=r.getUTCMilliseconds()*10+t;return eie(n,i,a,o,s)};function eie(e,t,r,n,i){if((t||r||n||i)&&(e+=\" \"+u3(t,2)+\":\"+u3(r,2),(n||i)&&(e+=\":\"+u3(n,2),i))){for(var a=4;i%10===0;)a-=1,i/=10;e+=\".\"+u3(i,a)}return e}Yf.cleanDate=function(e,t,r){if(e===_0)return t;if(Yf.isJSDate(e)||typeof e==\"number\"&&isFinite(e)){if(yy(r))return qq.error(\"JS Dates and milliseconds are incompatible with world calendars\",e),t;if(e=Yf.ms2DateTimeLocal(+e),!e&&t!==void 0)return t}else if(!Yf.isDateTime(e,r))return qq.error(\"unrecognized date\",e),t;return e};var rrt=/%\\d?f/g,irt=/%h/g,nrt={1:\"1\",2:\"1\",3:\"2\",4:\"2\"};function Jre(e,t,r,n){e=e.replace(rrt,function(a){var o=Math.min(+a.charAt(1)||6,6),s=(t/1e3%1+2).toFixed(o).substr(2).replace(/0+$/,\"\")||\"0\";return s});var i=new Date(Math.floor(t+.05));if(e=e.replace(irt,function(){return nrt[r(\"%q\")(i)]}),yy(n))try{e=my.getComponentMethod(\"calendars\",\"worldCalFmt\")(e,t,n)}catch(a){return\"Invalid\"}return r(e)(i)}var art=[59,59.9,59.99,59.999,59.9999];function ort(e,t){var r=X1(e+.05,wp),n=u3(Math.floor(r/FS),2)+\":\"+u3(X1(Math.floor(r/Z1),60),2);if(t!==\"M\"){Qre(t)||(t=0);var i=Math.min(X1(e/c3,60),art[t]),a=(100+i).toFixed(t).substr(1);t>0&&(a=a.replace(/0+$/,\"\").replace(/[\\.]$/,\"\")),n+=\":\"+a}return n}Yf.formatDate=function(e,t,r,n,i,a){if(i=yy(i)&&i,!t)if(r===\"y\")t=a.year;else if(r===\"m\")t=a.month;else if(r===\"d\")t=a.dayMonth+`\n", - "`+a.year;else return ort(e,r)+`\n", - "`+Jre(a.dayMonthYear,e,n,i);return Jre(t,e,n,i)};var $re=3*wp;Yf.incrementMonth=function(e,t,r){r=yy(r)&&r;var n=X1(e,wp);if(e=Math.round(e-n),r)try{var i=Math.round(e/wp)+qS,a=my.getComponentMethod(\"calendars\",\"getCal\")(r),o=a.fromJD(i);return t%12?a.add(o,t,\"m\"):a.add(o,t/12,\"y\"),(o.toJD()-qS)*wp+n}catch(l){qq.error(\"invalid ms \"+e+\" in calendar \"+r)}var s=new Date(e+$re);return s.setUTCMonth(s.getUTCMonth()+t)+n-$re};Yf.findExactDates=function(e,t){for(var r=0,n=0,i=0,a=0,o,s,l=yy(t)&&my.getComponentMethod(\"calendars\",\"getCal\")(t),u=0;u<e.length;u++){if(s=e[u],!Qre(s)){a++;continue}if(!(s%wp))if(l)try{o=l.fromJD(s/wp+qS),o.day()===1?o.month()===1?r++:n++:i++}catch(f){}else o=new Date(s),o.getUTCDate()===1?o.getUTCMonth()===0?r++:n++:i++}n+=r,i+=n;var c=e.length-a;return{exactYears:r/c,exactMonths:n/c,exactDays:i/c}}});var OS=ye((ltr,rie)=>{\"use strict\";rie.exports=function(t){return t}});var k6=ye(_y=>{\"use strict\";var srt=uo(),lrt=G1(),urt=OS(),crt=es().BADNUM,Oq=1e-9;_y.findBin=function(e,t,r){if(srt(t.start))return r?Math.ceil((e-t.start)/t.size-Oq)-1:Math.floor((e-t.start)/t.size+Oq);var n=0,i=t.length,a=0,o=i>1?(t[i-1]-t[0])/(i-1):1,s,l;for(o>=0?l=r?frt:hrt:l=r?vrt:drt,e+=o*Oq*(r?-1:1)*(o>=0?1:-1);n<i&&a++<100;)s=Math.floor((n+i)/2),l(t[s],e)?n=s+1:i=s;return a>90&&lrt.log(\"Long binary search...\"),n-1};function frt(e,t){return e<t}function hrt(e,t){return e<=t}function drt(e,t){return e>t}function vrt(e,t){return e>=t}_y.sorterAsc=function(e,t){return e-t};_y.sorterDes=function(e,t){return t-e};_y.distinctVals=function(e){var t=e.slice();t.sort(_y.sorterAsc);var r;for(r=t.length-1;r>-1&&t[r]===crt;r--);for(var n=t[r]-t[0]||1,i=n/(r||1)/1e4,a=[],o,s=0;s<=r;s++){var l=t[s],u=l-o;o===void 0?(a.push(l),o=l):u>i&&(n=Math.min(n,u),a.push(l),o=l)}return{vals:a,minDiff:n}};_y.roundUp=function(e,t,r){for(var n=0,i=t.length-1,a,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;n<i&&o++<100;)a=u((n+i)/2),t[a]<=e?n=a+s:i=a-l;return t[n]};_y.sort=function(e,t){for(var r=0,n=0,i=1;i<e.length;i++){var a=t(e[i],e[i-1]);if(a<0?r=1:a>0&&(n=1),r&&n)return e.sort(t)}return n?e:e.reverse()};_y.findIndexOfMin=function(e,t){t=t||urt;for(var r=1/0,n,i=0;i<e.length;i++){var a=t(e[i]);a<r&&(r=a,n=i)}return n}});var Y1=ye((ctr,iie)=>{\"use strict\";iie.exports=function(t){return Object.keys(t).sort()}});var nie=ye(Kf=>{\"use strict\";var BS=uo(),prt=vv().isArrayOrTypedArray;Kf.aggNums=function(e,t,r,n){var i,a;if((!n||n>r.length)&&(n=r.length),BS(t)||(t=!1),prt(r[0])){for(a=new Array(n),i=0;i<n;i++)a[i]=Kf.aggNums(e,t,r[i]);r=a}for(i=0;i<n;i++)BS(t)?BS(r[i])&&(t=e(+t,+r[i])):t=r[i];return t};Kf.len=function(e){return Kf.aggNums(function(t){return t+1},0,e)};Kf.mean=function(e,t){return t||(t=Kf.len(e)),Kf.aggNums(function(r,n){return r+n},0,e)/t};Kf.geometricMean=function(e,t){return t||(t=Kf.len(e)),Math.pow(Kf.aggNums(function(r,n){return r*n},1,e),1/t)};Kf.midRange=function(e){if(!(e===void 0||e.length===0))return(Kf.aggNums(Math.max,null,e)+Kf.aggNums(Math.min,null,e))/2};Kf.variance=function(e,t,r){return t||(t=Kf.len(e)),BS(r)||(r=Kf.mean(e,t)),Kf.aggNums(function(n,i){return n+Math.pow(i-r,2)},0,e)/t};Kf.stdev=function(e,t,r){return Math.sqrt(Kf.variance(e,t,r))};Kf.median=function(e){var t=e.slice().sort();return Kf.interp(t,.5)};Kf.interp=function(e,t){if(!BS(t))throw\"n should be a finite number\";if(t=t*e.length-.5,t<0)return e[0];if(t>e.length-1)return e[e.length-1];var r=t%1;return r*e[Math.ceil(t)]+(1-r)*e[Math.floor(t)]}});var uie=ye((htr,lie)=>{\"use strict\";var aie=r3(),Bq=aie.mod,grt=aie.modHalf,NS=Math.PI,K1=2*NS;function mrt(e){return e/180*NS}function yrt(e){return e/NS*180}function Nq(e){return Math.abs(e[1]-e[0])>K1-1e-14}function oie(e,t){return grt(t-e,K1)}function _rt(e,t){return Math.abs(oie(e,t))}function sie(e,t){if(Nq(t))return!0;var r,n;t[0]<t[1]?(r=t[0],n=t[1]):(r=t[1],n=t[0]),r=Bq(r,K1),n=Bq(n,K1),r>n&&(n+=K1);var i=Bq(e,K1),a=i+K1;return i>=r&&i<=n||a>=r&&a<=n}function xrt(e,t,r,n){if(!sie(t,n))return!1;var i,a;return r[0]<r[1]?(i=r[0],a=r[1]):(i=r[1],a=r[0]),e>=i&&e<=a}function Uq(e,t,r,n,i,a,o){i=i||0,a=a||0;var s=Nq([r,n]),l,u,c,f,h;s?(l=0,u=NS,c=K1):r<n?(l=r,c=n):(l=n,c=r),e<t?(f=e,h=t):(f=t,h=e);function d(p,E){return[p*Math.cos(E)+i,a-p*Math.sin(E)]}var v=Math.abs(c-l)<=NS?0:1;function x(p,E,k){return\"A\"+[p,p]+\" \"+[0,v,k]+\" \"+d(p,E)}var b;return s?f===null?b=\"M\"+d(h,l)+x(h,u,0)+x(h,c,0)+\"Z\":b=\"M\"+d(f,l)+x(f,u,0)+x(f,c,0)+\"ZM\"+d(h,l)+x(h,u,1)+x(h,c,1)+\"Z\":f===null?(b=\"M\"+d(h,l)+x(h,c,0),o&&(b+=\"L0,0Z\")):b=\"M\"+d(f,l)+\"L\"+d(h,l)+x(h,c,0)+\"L\"+d(f,c)+x(f,l,1)+\"Z\",b}function brt(e,t,r,n,i){return Uq(null,e,t,r,n,i,0)}function wrt(e,t,r,n,i){return Uq(null,e,t,r,n,i,1)}function Trt(e,t,r,n,i,a){return Uq(e,t,r,n,i,a,1)}lie.exports={deg2rad:mrt,rad2deg:yrt,angleDelta:oie,angleDist:_rt,isFullCircle:Nq,isAngleInsideSector:sie,isPtInsideSector:xrt,pathArc:brt,pathSector:wrt,pathAnnulus:Trt}});var cie=ye(fb=>{\"use strict\";fb.isLeftAnchor=function(t){return t.xanchor===\"left\"||t.xanchor===\"auto\"&&t.x<=1/3};fb.isCenterAnchor=function(t){return t.xanchor===\"center\"||t.xanchor===\"auto\"&&t.x>1/3&&t.x<2/3};fb.isRightAnchor=function(t){return t.xanchor===\"right\"||t.xanchor===\"auto\"&&t.x>=2/3};fb.isTopAnchor=function(t){return t.yanchor===\"top\"||t.yanchor===\"auto\"&&t.y>=2/3};fb.isMiddleAnchor=function(t){return t.yanchor===\"middle\"||t.yanchor===\"auto\"&&t.y>1/3&&t.y<2/3};fb.isBottomAnchor=function(t){return t.yanchor===\"bottom\"||t.yanchor===\"auto\"&&t.y<=1/3}});var die=ye(hb=>{\"use strict\";var Vq=r3().mod;hb.segmentsIntersect=hie;function hie(e,t,r,n,i,a,o,s){var l=r-e,u=i-e,c=o-i,f=n-t,h=a-t,d=s-a,v=l*d-c*f;if(v===0)return null;var x=(u*d-c*h)/v,b=(u*f-l*h)/v;return b<0||b>1||x<0||x>1?null:{x:e+l*x,y:t+f*x}}hb.segmentDistance=function(t,r,n,i,a,o,s,l){if(hie(t,r,n,i,a,o,s,l))return 0;var u=n-t,c=i-r,f=s-a,h=l-o,d=u*u+c*c,v=f*f+h*h,x=Math.min(C6(u,c,d,a-t,o-r),C6(u,c,d,s-t,l-r),C6(f,h,v,t-a,r-o),C6(f,h,v,n-a,i-o));return Math.sqrt(x)};function C6(e,t,r,n,i){var a=n*e+i*t;if(a<0)return n*n+i*i;if(a>r){var o=n-e,s=i-t;return o*o+s*s}else{var l=n*t-i*e;return l*l/r}}var L6,Hq,fie;hb.getTextLocation=function(t,r,n,i){if((t!==Hq||i!==fie)&&(L6={},Hq=t,fie=i),L6[n])return L6[n];var a=t.getPointAtLength(Vq(n-i/2,r)),o=t.getPointAtLength(Vq(n+i/2,r)),s=Math.atan((o.y-a.y)/(o.x-a.x)),l=t.getPointAtLength(Vq(n,r)),u=(l.x*4+a.x+o.x)/6,c=(l.y*4+a.y+o.y)/6,f={x:u,y:c,theta:s};return L6[n]=f,f};hb.clearLocationCache=function(){Hq=null};hb.getVisibleSegment=function(t,r,n){var i=r.left,a=r.right,o=r.top,s=r.bottom,l=0,u=t.getTotalLength(),c=u,f,h;function d(x){var b=t.getPointAtLength(x);x===0?f=b:x===u&&(h=b);var p=b.x<i?i-b.x:b.x>a?b.x-a:0,E=b.y<o?o-b.y:b.y>s?b.y-s:0;return Math.sqrt(p*p+E*E)}for(var v=d(l);v;){if(l+=v+n,l>c)return;v=d(l)}for(v=d(c);v;){if(c-=v+n,l>c)return;v=d(c)}return{min:l,max:c,len:c-l,total:u,isClosed:l===0&&c===u&&Math.abs(f.x-h.x)<.1&&Math.abs(f.y-h.y)<.1}};hb.findPointOnPath=function(t,r,n,i){i=i||{};for(var a=i.pathLength||t.getTotalLength(),o=i.tolerance||.001,s=i.iterationLimit||30,l=t.getPointAtLength(0)[n]>t.getPointAtLength(a)[n]?-1:1,u=0,c=0,f=a,h,d,v;u<s;){if(h=(c+f)/2,d=t.getPointAtLength(h),v=d[n]-r,Math.abs(v)<o)return d;l*v>0?f=h:c=h,u++}return d}});var P6=ye(US=>{\"use strict\";var xy={};US.throttle=function(t,r,n){var i=xy[t],a=Date.now();if(!i){for(var o in xy)xy[o].ts<a-6e4&&delete xy[o];i=xy[t]={ts:0,timer:null}}vie(i);function s(){n(),i.ts=Date.now(),i.onDone&&(i.onDone(),i.onDone=null)}if(a>i.ts+r){s();return}i.timer=setTimeout(function(){s(),i.timer=null},r)};US.done=function(e){var t=xy[e];return!t||!t.timer?Promise.resolve():new Promise(function(r){var n=t.onDone;t.onDone=function(){n&&n(),r(),t.onDone=null}})};US.clear=function(e){if(e)vie(xy[e]),delete xy[e];else for(var t in xy)US.clear(t)};function vie(e){e&&e.timer!==null&&(clearTimeout(e.timer),e.timer=null)}});var gie=ye((gtr,pie)=>{\"use strict\";pie.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener(\"resize\",t._responsiveChartHandler),delete t._responsiveChartHandler)}});var mie=ye((mtr,I6)=>{\"use strict\";I6.exports=Gq;I6.exports.isMobile=Gq;I6.exports.default=Gq;var Art=/(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,Srt=/CrOS/,Mrt=/android|ipad|playbook|silk/i;function Gq(e){e||(e={});let t=e.ua;if(!t&&typeof navigator!=\"undefined\"&&(t=navigator.userAgent),t&&t.headers&&typeof t.headers[\"user-agent\"]==\"string\"&&(t=t.headers[\"user-agent\"]),typeof t!=\"string\")return!1;let r=Art.test(t)&&!Srt.test(t)||!!e.tablet&&Mrt.test(t);return!r&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&t.indexOf(\"Macintosh\")!==-1&&t.indexOf(\"Safari\")!==-1&&(r=!0),r}});var _ie=ye((ytr,yie)=>{\"use strict\";var Ert=uo(),krt=mie();yie.exports=function(t){var r;if(t&&t.hasOwnProperty(\"userAgent\")?r=t.userAgent:r=Crt(),typeof r!=\"string\")return!0;var n=krt({ua:{headers:{\"user-agent\":r}},tablet:!0,featureDetect:!1});if(!n)for(var i=r.split(\" \"),a=1;a<i.length;a++){var o=i[a];if(o.indexOf(\"Safari\")!==-1)for(var s=a-1;s>-1;s--){var l=i[s];if(l.substr(0,8)===\"Version/\"){var u=l.substr(8).split(\".\")[0];if(Ert(u)&&(u=+u),u>=13)return!0}}}return n};function Crt(){var e;return typeof navigator!=\"undefined\"&&(e=navigator.userAgent),e&&e.headers&&typeof e.headers[\"user-agent\"]==\"string\"&&(e=e.headers[\"user-agent\"]),e}});var bie=ye((_tr,xie)=>{\"use strict\";var Lrt=xa();xie.exports=function(t,r,n){var i=t.selectAll(\"g.\"+n.replace(/\\s/g,\".\")).data(r,function(o){return o[0].trace.uid});i.exit().remove(),i.enter().append(\"g\").attr(\"class\",n),i.order();var a=t.classed(\"rangeplot\")?\"nodeRangePlot3\":\"node3\";return i.each(function(o){o[0][a]=Lrt.select(this)}),i}});var Tie=ye((xtr,wie)=>{\"use strict\";var Prt=ba();wie.exports=function(t,r){for(var n=t._context.locale,i=0;i<2;i++){for(var a=t._context.locales,o=0;o<2;o++){var s=(a[n]||{}).dictionary;if(s){var l=s[r];if(l)return l}a=Prt.localeRegistry}var u=n.split(\"-\")[0];if(u===n)break;n=u}return r}});var jq=ye((btr,Aie)=>{\"use strict\";Aie.exports=function(t){for(var r={},n=[],i=0,a=0;a<t.length;a++){var o=t[a];r[o]!==1&&(r[o]=1,n[i++]=o)}return n}});var Mie=ye((wtr,Sie)=>{\"use strict\";Sie.exports=function(t){for(var r=Drt(t)?Rrt:Irt,n=[],i=0;i<t.length;i++){var a=t[i];r(a)&&n.push(a)}return n};function Irt(e){return e.visible===!0}function Rrt(e){var t=e[0].trace;return t.visible===!0&&t._length!==0}function Drt(e){return Array.isArray(e)&&Array.isArray(e[0])&&e[0][0]&&e[0][0].trace}});var kie=ye((Ttr,Eie)=>{\"use strict\";Eie.exports=function(t,r){if(!r)return t;var n=1/Math.abs(r),i=n>1?(n*t+n*r)/n:t+r,a=String(i).length;if(a>16){var o=String(r).length,s=String(t).length;if(a>=s+o){var l=parseFloat(i).toPrecision(12);l.indexOf(\"e+\")===-1&&(i=+l)}}return i}});var Lie=ye((Atr,Cie)=>{\"use strict\";var zrt=uo(),Frt=es().BADNUM,qrt=/^['\"%,$#\\s']+|[, ]|['\"%,$#\\s']+$/g;Cie.exports=function(t){return typeof t==\"string\"&&(t=t.replace(qrt,\"\")),zrt(t)?Number(t):Frt}});var Mr=ye((Str,Hie)=>{\"use strict\";var VS=xa(),Ort=e3().utcFormat,Brt=vq().format,Fie=uo(),qie=es(),Oie=qie.FP_SAFE,Nrt=-Oie,Pie=qie.BADNUM,li=Hie.exports={};li.adjustFormat=function(t){return!t||/^\\d[.]\\df/.test(t)||/[.]\\d%/.test(t)?t:t===\"0.f\"?\"~f\":/^\\d%/.test(t)?\"~%\":/^\\ds/.test(t)?\"~s\":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?\"~\"+t:t};var Iie={};li.warnBadFormat=function(e){var t=String(e);Iie[t]||(Iie[t]=1,li.warn('encountered bad format: \"'+t+'\"'))};li.noFormat=function(e){return String(e)};li.numberFormat=function(e){var t;try{t=Brt(li.adjustFormat(e))}catch(r){return li.warnBadFormat(e),li.noFormat}return t};li.nestedProperty=ES();li.keyedContainer=Tee();li.relativeAttr=See();li.isPlainObject=gy();li.toLogRange=u6();li.relinkPrivateKeys=Cee();var J1=vv();li.isArrayBuffer=J1.isArrayBuffer;li.isTypedArray=J1.isTypedArray;li.isArrayOrTypedArray=J1.isArrayOrTypedArray;li.isArray1D=J1.isArray1D;li.ensureArray=J1.ensureArray;li.concat=J1.concat;li.maxRowLength=J1.maxRowLength;li.minRowLength=J1.minRowLength;var Bie=r3();li.mod=Bie.mod;li.modHalf=Bie.modHalf;var $1=Xee();li.valObjectMeta=$1.valObjectMeta;li.coerce=$1.coerce;li.coerce2=$1.coerce2;li.coerceFont=$1.coerceFont;li.coercePattern=$1.coercePattern;li.coerceHoverinfo=$1.coerceHoverinfo;li.coerceSelectionMarkerOpacity=$1.coerceSelectionMarkerOpacity;li.validate=$1.validate;var Wp=tie();li.dateTime2ms=Wp.dateTime2ms;li.isDateTime=Wp.isDateTime;li.ms2DateTime=Wp.ms2DateTime;li.ms2DateTimeLocal=Wp.ms2DateTimeLocal;li.cleanDate=Wp.cleanDate;li.isJSDate=Wp.isJSDate;li.formatDate=Wp.formatDate;li.incrementMonth=Wp.incrementMonth;li.dateTick0=Wp.dateTick0;li.dfltRange=Wp.dfltRange;li.findExactDates=Wp.findExactDates;li.MIN_MS=Wp.MIN_MS;li.MAX_MS=Wp.MAX_MS;var db=k6();li.findBin=db.findBin;li.sorterAsc=db.sorterAsc;li.sorterDes=db.sorterDes;li.distinctVals=db.distinctVals;li.roundUp=db.roundUp;li.sort=db.sort;li.findIndexOfMin=db.findIndexOfMin;li.sortObjectKeys=Y1();var by=nie();li.aggNums=by.aggNums;li.len=by.len;li.mean=by.mean;li.geometricMean=by.geometricMean;li.median=by.median;li.midRange=by.midRange;li.variance=by.variance;li.stdev=by.stdev;li.interp=by.interp;var yg=m6();li.init2dArray=yg.init2dArray;li.transposeRagged=yg.transposeRagged;li.dot=yg.dot;li.translationMatrix=yg.translationMatrix;li.rotationMatrix=yg.rotationMatrix;li.rotationXYMatrix=yg.rotationXYMatrix;li.apply3DTransform=yg.apply3DTransform;li.apply2DTransform=yg.apply2DTransform;li.apply2DTransform2=yg.apply2DTransform2;li.convertCssMatrix=yg.convertCssMatrix;li.inverseTransformMatrix=yg.inverseTransformMatrix;var vm=uie();li.deg2rad=vm.deg2rad;li.rad2deg=vm.rad2deg;li.angleDelta=vm.angleDelta;li.angleDist=vm.angleDist;li.isFullCircle=vm.isFullCircle;li.isAngleInsideSector=vm.isAngleInsideSector;li.isPtInsideSector=vm.isPtInsideSector;li.pathArc=vm.pathArc;li.pathSector=vm.pathSector;li.pathAnnulus=vm.pathAnnulus;var d3=cie();li.isLeftAnchor=d3.isLeftAnchor;li.isCenterAnchor=d3.isCenterAnchor;li.isRightAnchor=d3.isRightAnchor;li.isTopAnchor=d3.isTopAnchor;li.isMiddleAnchor=d3.isMiddleAnchor;li.isBottomAnchor=d3.isBottomAnchor;var v3=die();li.segmentsIntersect=v3.segmentsIntersect;li.segmentDistance=v3.segmentDistance;li.getTextLocation=v3.getTextLocation;li.clearLocationCache=v3.clearLocationCache;li.getVisibleSegment=v3.getVisibleSegment;li.findPointOnPath=v3.findPointOnPath;var z6=no();li.extendFlat=z6.extendFlat;li.extendDeep=z6.extendDeep;li.extendDeepAll=z6.extendDeepAll;li.extendDeepNoArrays=z6.extendDeepNoArrays;var Wq=G1();li.log=Wq.log;li.warn=Wq.warn;li.error=Wq.error;var Urt=n3();li.counterRegex=Urt.counter;var Zq=P6();li.throttle=Zq.throttle;li.throttleDone=Zq.done;li.clearThrottle=Zq.clear;var _g=DS();li.getGraphDiv=_g.getGraphDiv;li.isPlotDiv=_g.isPlotDiv;li.removeElement=_g.removeElement;li.addStyleRule=_g.addStyleRule;li.addRelatedStyleRule=_g.addRelatedStyleRule;li.deleteRelatedStyleRule=_g.deleteRelatedStyleRule;li.setStyleOnHover=_g.setStyleOnHover;li.getFullTransformMatrix=_g.getFullTransformMatrix;li.getElementTransformMatrix=_g.getElementTransformMatrix;li.getElementAndAncestors=_g.getElementAndAncestors;li.equalDomRects=_g.equalDomRects;li.clearResponsive=gie();li.preserveDrawingBuffer=_ie();li.makeTraceGroups=bie();li._=Tie();li.notifier=Sq();li.filterUnique=jq();li.filterVisible=Mie();li.pushUnique=kq();li.increment=kie();li.cleanNumber=Lie();li.ensureNumber=function(t){return Fie(t)?(t=Number(t),t>Oie||t<Nrt?Pie:t):Pie};li.isIndex=function(e,t){return t!==void 0&&e>=t?!1:Fie(e)&&e>=0&&e%1===0};li.noop=g6();li.identity=OS();li.repeat=function(e,t){for(var r=new Array(t),n=0;n<t;n++)r[n]=e;return r};li.swapAttrs=function(e,t,r,n){r||(r=\"x\"),n||(n=\"y\");for(var i=0;i<t.length;i++){var a=t[i],o=li.nestedProperty(e,a.replace(\"?\",r)),s=li.nestedProperty(e,a.replace(\"?\",n)),l=o.get();o.set(s.get()),s.set(l)}};li.raiseToTop=function(t){t.parentNode.appendChild(t)};li.cancelTransition=function(e){return e.transition().duration(0)};li.constrain=function(e,t,r){return t>r?Math.max(r,Math.min(t,e)):Math.max(t,Math.min(r,e))};li.bBoxIntersect=function(e,t,r){return r=r||0,e.left<=t.right+r&&t.left<=e.right+r&&e.top<=t.bottom+r&&t.top<=e.bottom+r};li.simpleMap=function(e,t,r,n,i){for(var a=e.length,o=new Array(a),s=0;s<a;s++)o[s]=t(e[s],r,n,i);return o};li.randstr=function e(t,r,n,i){if(n||(n=16),r===void 0&&(r=24),r<=0)return\"0\";var a=Math.log(Math.pow(2,r))/Math.log(n),o=\"\",s,l,u;for(s=2;a===1/0;s*=2)a=Math.log(Math.pow(2,r/s))/Math.log(n)*s;var c=a-Math.floor(a);for(s=0;s<Math.floor(a);s++)u=Math.floor(Math.random()*n).toString(n),o=u+o;c&&(l=Math.pow(n,c),u=Math.floor(Math.random()*l).toString(n),o=u+o);var f=parseInt(o,n);return t&&t[o]||f!==1/0&&f>=Math.pow(2,r)?i>10?(li.warn(\"randstr failed uniqueness\"),o):e(t,r,n,(i||0)+1):o};li.OptionControl=function(e,t){e||(e={}),t||(t=\"opt\");var r={};return r.optionList=[],r._newoption=function(n){n[t]=e,r[n.name]=n,r.optionList.push(n)},r[\"_\"+t]=e,r};li.smooth=function(e,t){if(t=Math.round(t)||0,t<2)return e;var r=e.length,n=2*r,i=2*t-1,a=new Array(i),o=new Array(r),s,l,u,c;for(s=0;s<i;s++)a[s]=(1-Math.cos(Math.PI*(s+1)/t))/(2*t);for(s=0;s<r;s++){for(c=0,l=0;l<i;l++)u=s+l+1-t,u<-r?u-=n*Math.round(u/n):u>=n&&(u-=n*Math.floor(u/n)),u<0?u=-1-u:u>=r&&(u=n-1-u),c+=e[u]*a[l];o[s]=c}return o};li.syncOrAsync=function(e,t,r){var n,i;function a(){return li.syncOrAsync(e,t,r)}for(;e.length;)if(i=e.splice(0,1)[0],n=i(t),n&&n.then)return n.then(a);return r&&r(t)};li.stripTrailingSlash=function(e){return e.substr(-1)===\"/\"?e.substr(0,e.length-1):e};li.noneOrAll=function(e,t,r){if(e){var n=!1,i=!0,a,o;for(a=0;a<r.length;a++)o=e[r[a]],o!=null?n=!0:i=!1;if(n&&!i)for(a=0;a<r.length;a++)e[r[a]]=t[r[a]]}};li.mergeArray=function(e,t,r,n){var i=typeof n==\"function\";if(li.isArrayOrTypedArray(e))for(var a=Math.min(e.length,t.length),o=0;o<a;o++){var s=e[o];t[o][r]=i?n(s):s}};li.mergeArrayCastPositive=function(e,t,r){return li.mergeArray(e,t,r,function(n){var i=+n;return isFinite(i)&&i>0?i:0})};li.fillArray=function(e,t,r,n){if(n=n||li.identity,li.isArrayOrTypedArray(e))for(var i=0;i<t.length;i++)t[i][r]=n(e[i])};li.castOption=function(e,t,r,n){n=n||li.identity;var i=li.nestedProperty(e,r).get();return li.isArrayOrTypedArray(i)?Array.isArray(t)&&li.isArrayOrTypedArray(i[t[0]])?n(i[t[0]][t[1]]):n(i[t]):i};li.extractOption=function(e,t,r,n){if(r in e)return e[r];var i=li.nestedProperty(t,n).get();if(!Array.isArray(i))return i};function Nie(e){var t={};for(var r in e)for(var n=e[r],i=0;i<n.length;i++)t[n[i]]=+r;return t}li.tagSelected=function(e,t,r){var n=t.selectedpoints,i=t._indexToPoints,a;i&&(a=Nie(i));function o(f){return f!==void 0&&f<e.length}for(var s=0;s<n.length;s++){var l=n[s];if(li.isIndex(l)||li.isArrayOrTypedArray(l)&&li.isIndex(l[0])&&li.isIndex(l[1])){var u=a?a[l]:l,c=r?r[u]:u;o(c)&&(e[c].selected=1)}}};li.selIndices2selPoints=function(e){var t=e.selectedpoints,r=e._indexToPoints;if(r){for(var n=Nie(r),i=[],a=0;a<t.length;a++){var o=t[a];if(li.isIndex(o)){var s=n[o];li.isIndex(s)&&i.push(s)}}return i}else return t};li.getTargetArray=function(e,t){var r=t.target;if(typeof r==\"string\"&&r){var n=li.nestedProperty(e,r).get();return li.isArrayOrTypedArray(n)?n:!1}else if(li.isArrayOrTypedArray(r))return r;return!1};function Uie(e,t,r){var n={};typeof t!=\"object\"&&(t={});var i=r===\"pieLike\"?-1:3,a=Object.keys(e),o,s,l;for(o=0;o<a.length;o++)s=a[o],l=e[s],!(s.charAt(0)===\"_\"||typeof l==\"function\")&&(s===\"module\"?n[s]=l:Array.isArray(l)?s===\"colorscale\"||i===-1?n[s]=l.slice():n[s]=l.slice(0,i):li.isTypedArray(l)?i===-1?n[s]=l.subarray():n[s]=l.subarray(0,i):l&&typeof l==\"object\"?n[s]=Uie(e[s],t[s],r):n[s]=l);for(a=Object.keys(t),o=0;o<a.length;o++)s=a[o],l=t[s],(typeof l!=\"object\"||!(s in n)||typeof n[s]!=\"object\")&&(n[s]=l);return n}li.minExtend=Uie;li.titleCase=function(e){return e.charAt(0).toUpperCase()+e.substr(1)};li.containsAny=function(e,t){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])!==-1)return!0;return!1};var Vrt=/Version\\/[\\d\\.]+.*Safari/;li.isSafari=function(){return Vrt.test(window.navigator.userAgent)};var Hrt=/iPad|iPhone|iPod/;li.isIOS=function(){return Hrt.test(window.navigator.userAgent)};var Grt=/Firefox\\/(\\d+)\\.\\d+/;li.getFirefoxVersion=function(){var e=Grt.exec(window.navigator.userAgent);if(e&&e.length===2){var t=parseInt(e[1]);if(!isNaN(t))return t}return null};li.isD3Selection=function(e){return e instanceof VS.selection};li.ensureSingle=function(e,t,r,n){var i=e.select(t+(r?\".\"+r:\"\"));if(i.size())return i;var a=e.append(t);return r&&a.classed(r,!0),n&&a.call(n),a};li.ensureSingleById=function(e,t,r,n){var i=e.select(t+\"#\"+r);if(i.size())return i;var a=e.append(t).attr(\"id\",r);return n&&a.call(n),a};li.objectFromPath=function(e,t){for(var r=e.split(\".\"),n,i=n={},a=0;a<r.length;a++){var o=r[a],s=null,l=r[a].match(/(.*)\\[([0-9]+)\\]/);l?(o=l[1],s=l[2],n=n[o]=[],a===r.length-1?n[s]=t:n[s]={},n=n[s]):(a===r.length-1?n[o]=t:n[o]={},n=n[o])}return i};var jrt=/^([^\\[\\.]+)\\.(.+)?/,Wrt=/^([^\\.]+)\\[([0-9]+)\\](\\.)?(.+)?/;function R6(e){return e.slice(0,2)===\"__\"}li.expandObjectPaths=function(e){var t,r,n,i,a,o,s;if(typeof e==\"object\"&&!Array.isArray(e)){for(r in e)if(e.hasOwnProperty(r))if(t=r.match(jrt)){if(i=e[r],n=t[1],R6(n))continue;delete e[r],e[n]=li.extendDeepNoArrays(e[n]||{},li.objectFromPath(r,li.expandObjectPaths(i))[n])}else if(t=r.match(Wrt)){if(i=e[r],n=t[1],R6(n))continue;if(a=parseInt(t[2]),delete e[r],e[n]=e[n]||[],t[3]===\".\")s=t[4],o=e[n][a]=e[n][a]||{},li.extendDeepNoArrays(o,li.objectFromPath(s,li.expandObjectPaths(i)));else{if(R6(n))continue;e[n][a]=li.expandObjectPaths(i)}}else{if(R6(r))continue;e[r]=li.expandObjectPaths(e[r])}}return e};li.numSeparate=function(e,t,r){if(r||(r=!1),typeof t!=\"string\"||t.length===0)throw new Error(\"Separator string required for formatting!\");typeof e==\"number\"&&(e=String(e));var n=/(\\d+)(\\d{3})/,i=t.charAt(0),a=t.charAt(1),o=e.split(\".\"),s=o[0],l=o.length>1?i+o[1]:\"\";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,\"$1\"+a+\"$2\");return s+l};li.TEMPLATE_STRING_REGEX=/%{([^\\s%{}:]*)([:|\\|][^}]*)?}/g;var Vie=/^\\w*$/;li.templateString=function(e,t){var r={};return e.replace(li.TEMPLATE_STRING_REGEX,function(n,i){var a;return Vie.test(i)?a=t[i]:(r[i]=r[i]||li.nestedProperty(t,i).get,a=r[i](!0)),a!==void 0?a:\"\"})};var Zrt={max:10,count:0,name:\"hovertemplate\"};li.hovertemplateString=function(){return Xq.apply(Zrt,arguments)};var Xrt={max:10,count:0,name:\"texttemplate\"};li.texttemplateString=function(){return Xq.apply(Xrt,arguments)};var Yrt=/^(\\S+)([\\*\\/])(-?\\d+(\\.\\d+)?)$/;function Krt(e){var t=e.match(Yrt);return t?{key:t[1],op:t[2],number:Number(t[3])}:{key:e,op:null,number:null}}var Jrt={max:10,count:0,name:\"texttemplate\",parseMultDiv:!0};li.texttemplateStringForShapes=function(){return Xq.apply(Jrt,arguments)};var Rie=/^[:|\\|]/;function Xq(e,t,r){var n=this,i=arguments;return t||(t={}),e.replace(li.TEMPLATE_STRING_REGEX,function(a,o,s){var l=o===\"xother\"||o===\"yother\",u=o===\"_xother\"||o===\"_yother\",c=o===\"_xother_\"||o===\"_yother_\",f=o===\"xother_\"||o===\"yother_\",h=l||u||f||c,d=o;(u||c)&&(d=d.substring(1)),(f||c)&&(d=d.substring(0,d.length-1));var v=null,x=null;if(n.parseMultDiv){var b=Krt(d);d=b.key,v=b.op,x=b.number}var p;if(h){if(p=t[d],p===void 0)return\"\"}else{var E,k;for(k=3;k<i.length;k++)if(E=i[k],!!E){if(E.hasOwnProperty(d)){p=E[d];break}if(Vie.test(d)||(p=li.nestedProperty(E,d).get(!0)),p!==void 0)break}}if(p!==void 0&&(v===\"*\"&&(p*=x),v===\"/\"&&(p/=x)),p===void 0&&n)return n.count<n.max&&(li.warn(\"Variable '\"+d+\"' in \"+n.name+\" could not be found!\"),p=a),n.count===n.max&&li.warn(\"Too many \"+n.name+\" warnings - additional warnings will be suppressed\"),n.count++,a;if(s){var A;if(s[0]===\":\"&&(A=r?r.numberFormat:li.numberFormat,p!==\"\"&&(p=A(s.replace(Rie,\"\"))(p))),s[0]===\"|\"){A=r?r.timeFormat:Ort;var L=li.dateTime2ms(p);p=li.formatDate(L,s.replace(Rie,\"\"),!1,A)}}else{var _=d+\"Label\";t.hasOwnProperty(_)&&(p=t[_])}return h&&(p=\"(\"+p+\")\",(u||c)&&(p=\" \"+p),(f||c)&&(p=p+\" \")),p})}var D6=48,Die=57;li.subplotSort=function(e,t){for(var r=Math.min(e.length,t.length)+1,n=0,i=0,a=0;a<r;a++){var o=e.charCodeAt(a)||0,s=t.charCodeAt(a)||0,l=o>=D6&&o<=Die,u=s>=D6&&s<=Die;if(l&&(n=10*n+o-D6),u&&(i=10*i+s-D6),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var h3=2e9;li.seedPseudoRandom=function(){h3=2e9};li.pseudoRandom=function(){var e=h3;return h3=(69069*h3+1)%4294967296,Math.abs(h3-e)<429496729?li.pseudoRandom():h3/4294967296};li.fillText=function(e,t,r){var n=Array.isArray(r)?function(o){r.push(o)}:function(o){r.text=o},i=li.extractOption(e,t,\"htx\",\"hovertext\");if(li.isValidTextValue(i))return n(i);var a=li.extractOption(e,t,\"tx\",\"text\");if(li.isValidTextValue(a))return n(a)};li.isValidTextValue=function(e){return e||e===0};li.formatPercent=function(e,t){t=t||0;for(var r=(Math.round(100*e*Math.pow(10,t))*Math.pow(.1,t)).toFixed(t)+\"%\",n=0;n<t;n++)r.indexOf(\".\")!==-1&&(r=r.replace(\"0%\",\"%\"),r=r.replace(\".%\",\"%\"));return r};li.isHidden=function(e){var t=window.getComputedStyle(e).display;return!t||t===\"none\"};li.strTranslate=function(e,t){return e||t?\"translate(\"+e+\",\"+t+\")\":\"\"};li.strRotate=function(e){return e?\"rotate(\"+e+\")\":\"\"};li.strScale=function(e){return e!==1?\"scale(\"+e+\")\":\"\"};li.getTextTransform=function(e){var t=e.noCenter,r=e.textX,n=e.textY,i=e.targetX,a=e.targetY,o=e.anchorX||0,s=e.anchorY||0,l=e.rotate,u=e.scale;return u?u>1&&(u=1):u=0,li.strTranslate(i-u*(r+o),a-u*(n+s))+li.strScale(u)+(l?\"rotate(\"+l+(t?\"\":\" \"+r+\" \"+n)+\")\":\"\")};li.setTransormAndDisplay=function(e,t){e.attr(\"transform\",li.getTextTransform(t)),e.style(\"display\",t.scale?null:\"none\")};li.ensureUniformFontSize=function(e,t){var r=li.extendFlat({},t);return r.size=Math.max(t.size,e._fullLayout.uniformtext.minsize||0),r};li.join2=function(e,t,r){var n=e.length;return n>1?e.slice(0,-1).join(t)+r+e[n-1]:e.join(t)};li.bigFont=function(e){return Math.round(1.2*e)};var zie=li.getFirefoxVersion(),$rt=zie!==null&&zie<86;li.getPositionFromD3Event=function(){return $rt?[VS.event.layerX,VS.event.layerY]:[VS.event.offsetX,VS.event.offsetY]}});var Wie=ye(()=>{\"use strict\";var Qrt=Mr(),Gie={\"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 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(Yq in Gie)jie=Yq.replace(/^,/,\" ,\").replace(/X/g,\".js-plotly-plot .plotly\").replace(/Y/g,\".plotly-notifier\"),Qrt.addStyleRule(jie,Gie[Yq]);var jie,Yq});var Kq=ye((ktr,Zie)=>{Zie.exports=!0});var $q=ye((Ctr,Xie)=>{\"use strict\";var eit=Kq(),Jq;typeof window.matchMedia==\"function\"?Jq=!window.matchMedia(\"(hover: none)\").matches:Jq=eit;Xie.exports=Jq});var vb=ye((Ltr,Qq)=>{\"use strict\";var p3=typeof Reflect==\"object\"?Reflect:null,Yie=p3&&typeof p3.apply==\"function\"?p3.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},F6;p3&&typeof p3.ownKeys==\"function\"?F6=p3.ownKeys:Object.getOwnPropertySymbols?F6=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:F6=function(t){return Object.getOwnPropertyNames(t)};function tit(e){console&&console.warn&&console.warn(e)}var Jie=Number.isNaN||function(t){return t!==t};function Tc(){Tc.init.call(this)}Qq.exports=Tc;Qq.exports.once=ait;Tc.EventEmitter=Tc;Tc.prototype._events=void 0;Tc.prototype._eventsCount=0;Tc.prototype._maxListeners=void 0;var Kie=10;function q6(e){if(typeof e!=\"function\")throw new TypeError('The \"listener\" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(Tc,\"defaultMaxListeners\",{enumerable:!0,get:function(){return Kie},set:function(e){if(typeof e!=\"number\"||e<0||Jie(e))throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received '+e+\".\");Kie=e}});Tc.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};Tc.prototype.setMaxListeners=function(t){if(typeof t!=\"number\"||t<0||Jie(t))throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received '+t+\".\");return this._maxListeners=t,this};function $ie(e){return e._maxListeners===void 0?Tc.defaultMaxListeners:e._maxListeners}Tc.prototype.getMaxListeners=function(){return $ie(this)};Tc.prototype.emit=function(t){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=t===\"error\",a=this._events;if(a!==void 0)i=i&&a.error===void 0;else if(!i)return!1;if(i){var o;if(r.length>0&&(o=r[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(l===void 0)return!1;if(typeof l==\"function\")Yie(l,this,r);else for(var u=l.length,c=ine(l,u),n=0;n<u;++n)Yie(c[n],this,r);return!0};function Qie(e,t,r,n){var i,a,o;if(q6(r),a=e._events,a===void 0?(a=e._events=Object.create(null),e._eventsCount=0):(a.newListener!==void 0&&(e.emit(\"newListener\",t,r.listener?r.listener:r),a=e._events),o=a[t]),o===void 0)o=a[t]=r,++e._eventsCount;else if(typeof o==\"function\"?o=a[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),i=$ie(e),i>0&&o.length>i&&!o.warned){o.warned=!0;var s=new Error(\"Possible EventEmitter memory leak detected. \"+o.length+\" \"+String(t)+\" listeners added. Use emitter.setMaxListeners() to increase limit\");s.name=\"MaxListenersExceededWarning\",s.emitter=e,s.type=t,s.count=o.length,tit(s)}return e}Tc.prototype.addListener=function(t,r){return Qie(this,t,r,!1)};Tc.prototype.on=Tc.prototype.addListener;Tc.prototype.prependListener=function(t,r){return Qie(this,t,r,!0)};function rit(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function ene(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=rit.bind(n);return i.listener=r,n.wrapFn=i,i}Tc.prototype.once=function(t,r){return q6(r),this.on(t,ene(this,t,r)),this};Tc.prototype.prependOnceListener=function(t,r){return q6(r),this.prependListener(t,ene(this,t,r)),this};Tc.prototype.removeListener=function(t,r){var n,i,a,o,s;if(q6(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit(\"removeListener\",t,n.listener||r));else if(typeof n!=\"function\"){for(a=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){s=n[o].listener,a=o;break}if(a<0)return this;a===0?n.shift():iit(n,a),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit(\"removeListener\",t,s||r)}return this};Tc.prototype.off=Tc.prototype.removeListener;Tc.prototype.removeAllListeners=function(t){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var a=Object.keys(n),o;for(i=0;i<a.length;++i)o=a[i],o!==\"removeListener\"&&this.removeAllListeners(o);return this.removeAllListeners(\"removeListener\"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[t],typeof r==\"function\")this.removeListener(t,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(t,r[i]);return this};function tne(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i==\"function\"?r?[i.listener||i]:[i]:r?nit(i):ine(i,i.length)}Tc.prototype.listeners=function(t){return tne(this,t,!0)};Tc.prototype.rawListeners=function(t){return tne(this,t,!1)};Tc.listenerCount=function(e,t){return typeof e.listenerCount==\"function\"?e.listenerCount(t):rne.call(e,t)};Tc.prototype.listenerCount=rne;function rne(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r==\"function\")return 1;if(r!==void 0)return r.length}return 0}Tc.prototype.eventNames=function(){return this._eventsCount>0?F6(this._events):[]};function ine(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function iit(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function nit(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function ait(e,t){return new Promise(function(r,n){function i(o){e.removeListener(t,a),n(o)}function a(){typeof e.removeListener==\"function\"&&e.removeListener(\"error\",i),r([].slice.call(arguments))}nne(e,t,a,{once:!0}),t!==\"error\"&&oit(e,i,{once:!0})})}function oit(e,t,r){typeof e.on==\"function\"&&nne(e,\"error\",t,r)}function nne(e,t,r,n){if(typeof e.on==\"function\")n.once?e.once(t,r):e.on(t,r);else if(typeof e.addEventListener==\"function\")e.addEventListener(t,function i(a){n.once&&e.removeEventListener(t,i),r(a)});else throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type '+typeof e)}});var g3=ye((Ptr,ane)=>{\"use strict\";var eO=vb().EventEmitter,sit={init:function(e){if(e._ev instanceof eO)return e;var t=new eO,r=new eO;return e._ev=t,e._internalEv=r,e.on=t.on.bind(t),e.once=t.once.bind(t),e.removeListener=t.removeListener.bind(t),e.removeAllListeners=t.removeAllListeners.bind(t),e._internalOn=r.on.bind(r),e._internalOnce=r.once.bind(r),e._removeInternalListener=r.removeListener.bind(r),e._removeAllInternalListeners=r.removeAllListeners.bind(r),e.emit=function(n,i){t.emit(n,i),r.emit(n,i)},e},triggerHandler:function(e,t,r){var n,i=e._ev;if(!i)return;var a=i._events[t];if(!a)return;function o(l){if(l.listener){if(i.removeListener(t,l.listener),!l.fired)return l.fired=!0,l.listener.apply(i,[r])}else return l.apply(i,[r])}a=Array.isArray(a)?a:[a];var s;for(s=0;s<a.length-1;s++)o(a[s]);return n=o(a[s]),n},purge:function(e){return delete e._ev,delete e.on,delete e.once,delete e.removeListener,delete e.removeAllListeners,delete e.emit,delete e._ev,delete e._internalEv,delete e._internalOn,delete e._internalOnce,delete e._removeInternalListener,delete e._removeAllInternalListeners,e}};ane.exports=sit});var lne=ye((Itr,sne)=>{\"use strict\";var one=Mr(),lit=ub().dfltConfig;function uit(e,t){for(var r=[],n,i=0;i<t.length;i++)n=t[i],n===e?r[i]=n:typeof n==\"object\"?r[i]=Array.isArray(n)?one.extendDeep([],n):one.extendDeepAll({},n):r[i]=n;return r}var wy={};wy.add=function(e,t,r,n,i){var a,o;if(e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},o=e.undoQueue.index,e.autoplay){e.undoQueue.inSequence||(e.autoplay=!1);return}!e.undoQueue.sequence||e.undoQueue.beginSequence?(a={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},e.undoQueue.queue.splice(o,e.undoQueue.queue.length-o,a),e.undoQueue.index+=1):a=e.undoQueue.queue[o-1],e.undoQueue.beginSequence=!1,a&&(a.undo.calls.unshift(t),a.undo.args.unshift(r),a.redo.calls.push(n),a.redo.args.push(i)),e.undoQueue.queue.length>lit.queueLength&&(e.undoQueue.queue.shift(),e.undoQueue.index--)};wy.startSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!0,e.undoQueue.beginSequence=!0};wy.stopSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!1,e.undoQueue.beginSequence=!1};wy.undo=function(t){var r,n;if(!(t.undoQueue===void 0||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,n=0;n<r.undo.calls.length;n++)wy.plotDo(t,r.undo.calls[n],r.undo.args[n]);t.undoQueue.inSequence=!1,t.autoplay=!1}};wy.redo=function(t){var r,n;if(!(t.undoQueue===void 0||isNaN(t.undoQueue.index)||t.undoQueue.index>=t.undoQueue.queue.length)){for(r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,n=0;n<r.redo.calls.length;n++)wy.plotDo(t,r.redo.calls[n],r.redo.args[n]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}};wy.plotDo=function(e,t,r){e.autoplay=!0,r=uit(e,r),t.apply(null,r)};sne.exports=wy});var tO=ye((Rtr,une)=>{\"use strict\";une.exports={_isLinkedToArray:\"frames_entry\",group:{valType:\"string\"},name:{valType:\"string\"},traces:{valType:\"any\"},baseframe:{valType:\"string\"},data:{valType:\"any\"},layout:{valType:\"any\"}}});var _3=ye(Bh=>{\"use strict\";var x0=ba(),HS=Mr(),B6=vl(),rO=s3(),cit=tO(),fit=zS(),hit=ub().configAttributes,cne=Bu(),xg=HS.extendDeepAll,m3=HS.isPlainObject,dit=HS.isArrayOrTypedArray,N6=HS.nestedProperty,vit=HS.valObjectMeta,iO=\"_isSubplotObj\",U6=\"_isLinkedToArray\",pit=\"_arrayAttrRegexps\",hne=\"_deprecated\",nO=[iO,U6,pit,hne];Bh.IS_SUBPLOT_OBJ=iO;Bh.IS_LINKED_TO_ARRAY=U6;Bh.DEPRECATED=hne;Bh.UNDERSCORE_ATTRS=nO;Bh.get=function(){var e={};return x0.allTypes.forEach(function(t){e[t]=mit(t)}),{defs:{valObjects:vit,metaKeys:nO.concat([\"description\",\"role\",\"editType\",\"impliedEdits\"]),editType:{traces:cne.traces,layout:cne.layout},impliedEdits:{}},traces:e,layout:yit(),frames:_it(),animation:y3(fit),config:y3(hit)}};Bh.crawl=function(e,t,r,n){var i=r||0;n=n||\"\",Object.keys(e).forEach(function(a){var o=e[a];if(nO.indexOf(a)===-1){var s=(n?n+\".\":\"\")+a;t(o,a,e,i,s),!Bh.isValObject(o)&&m3(o)&&a!==\"impliedEdits\"&&Bh.crawl(o,t,i+1,s)}})};Bh.isValObject=function(e){return e&&e.valType!==void 0};Bh.findArrayAttributes=function(e){var t=[],r=[],n=[],i,a;function o(l,u,c,f){r=r.slice(0,f).concat([u]),n=n.slice(0,f).concat([l&&l._isLinkedToArray]);var h=l&&(l.valType===\"data_array\"||l.arrayOk===!0)&&!(r[f-1]===\"colorbar\"&&(u===\"ticktext\"||u===\"tickvals\"));h&&s(i,0,\"\")}function s(l,u,c){var f=l[r[u]],h=c+r[u];if(u===r.length-1)dit(f)&&t.push(a+h);else if(n[u]){if(Array.isArray(f))for(var d=0;d<f.length;d++)m3(f[d])&&s(f[d],u+1,h+\"[\"+d+\"].\")}else m3(f)&&s(f,u+1,h+\".\")}return i=e,a=\"\",Bh.crawl(B6,o),e._module&&e._module.attributes&&Bh.crawl(e._module.attributes,o),t};Bh.getTraceValObject=function(e,t){var r=t[0],n=1,i,a,o=e._module;if(o||(o=(x0.modules[e.type||B6.type.dflt]||{})._module),!o)return!1;if(i=o.attributes,a=i&&i[r],!a){var s=o.basePlotModule;s&&s.attributes&&(a=s.attributes[r])}return a||(a=B6[r]),dne(a,t,n)};Bh.getLayoutValObject=function(e,t){var r=git(e,t[0]);return dne(r,t,1)};function git(e,t){var r,n,i,a,o=e._basePlotModules;if(o){var s;for(r=0;r<o.length;r++){if(i=o[r],i.attrRegex&&i.attrRegex.test(t)){if(i.layoutAttrOverrides)return i.layoutAttrOverrides;!s&&i.layoutAttributes&&(s=i.layoutAttributes)}var l=i.baseLayoutAttrOverrides;if(l&&t in l)return l[t]}if(s)return s}var u=e._modules;if(u){for(r=0;r<u.length;r++)if(a=u[r].layoutAttributes,a&&t in a)return a[t]}for(n in x0.componentsRegistry){if(i=x0.componentsRegistry[n],i.name===\"colorscale\"&&t.indexOf(\"coloraxis\")===0)return i.layoutAttributes[t];if(!i.schema&&t===i.name)return i.layoutAttributes}return t in rO?rO[t]:!1}function dne(e,t,r){if(!e)return!1;if(e._isLinkedToArray){if(O6(t[r]))r++;else if(r<t.length)return!1}for(;r<t.length;r++){var n=e[t[r]];if(m3(n))e=n;else break;if(r===t.length-1)break;if(e._isLinkedToArray){if(r++,!O6(t[r]))return!1}else if(e.valType===\"info_array\"){r++;var i=t[r];if(!O6(i))return!1;var a=e.items;if(Array.isArray(a)){if(i>=a.length)return!1;if(e.dimensions===2){if(r++,t.length===r)return e;var o=t[r];if(!O6(o))return!1;e=a[i][o]}else e=a[i]}else e=a}}return e}function O6(e){return e===Math.round(e)&&e>=0}function mit(e){var t,r;t=x0.modules[e]._module,r=t.basePlotModule;var n={};n.type=null;var i=xg({},B6),a=xg({},t.attributes);Bh.crawl(a,function(l,u,c,f,h){N6(i,h).set(void 0),l===void 0&&N6(a,h).set(void 0)}),xg(n,i),x0.traceIs(e,\"noOpacity\")&&delete n.opacity,x0.traceIs(e,\"showLegend\")||(delete n.showlegend,delete n.legendgroup),x0.traceIs(e,\"noHover\")&&(delete n.hoverinfo,delete n.hoverlabel),t.selectPoints||delete n.selectedpoints,xg(n,a),r.attributes&&xg(n,r.attributes),n.type=e;var o={meta:t.meta||{},categories:t.categories||{},animatable:!!t.animatable,type:e,attributes:y3(n)};if(t.layoutAttributes){var s={};xg(s,t.layoutAttributes),o.layoutAttributes=y3(s)}return t.animatable||Bh.crawl(o,function(l){Bh.isValObject(l)&&\"anim\"in l&&delete l.anim}),o}function yit(){var e={},t,r;xg(e,rO);for(t in x0.subplotsRegistry)if(r=x0.subplotsRegistry[t],!!r.layoutAttributes)if(Array.isArray(r.attr))for(var n=0;n<r.attr.length;n++)fne(e,r,r.attr[n]);else{var i=r.attr===\"subplot\"?r.name:r.attr;fne(e,r,i)}for(t in x0.componentsRegistry){r=x0.componentsRegistry[t];var a=r.schema;if(a&&(a.subplots||a.layout)){var o=a.subplots;if(o&&o.xaxis&&!o.yaxis)for(var s in o.xaxis)delete e.yaxis[s];delete e.xaxis.shift,delete e.xaxis.autoshift}else r.name===\"colorscale\"?xg(e,r.layoutAttributes):r.layoutAttributes&&Tit(e,r.layoutAttributes,r.name)}return{layoutAttributes:y3(e)}}function _it(){var e={frames:xg({},cit)};return y3(e),e.frames}function y3(e){return xit(e),bit(e),wit(e),e}function xit(e){function t(n){return{valType:\"string\",editType:\"none\"}}function r(n,i,a){Bh.isValObject(n)?(n.arrayOk===!0||n.valType===\"data_array\")&&(a[i+\"src\"]=t(i)):m3(n)&&(n.role=\"object\")}Bh.crawl(e,r)}function bit(e){function t(r,n,i){if(r){var a=r[U6];a&&(delete r[U6],i[n]={items:{}},i[n].items[a]=r,i[n].role=\"object\")}}Bh.crawl(e,t)}function wit(e){function t(r){for(var n in r)if(m3(r[n]))t(r[n]);else if(Array.isArray(r[n]))for(var i=0;i<r[n].length;i++)t(r[n][i]);else r[n]instanceof RegExp&&(r[n]=r[n].toString())}t(e)}function fne(e,t,r){var n=N6(e,r),i=xg({},t.layoutAttributes);i[iO]=!0,n.set(i)}function Tit(e,t,r){var n=N6(e,r);n.set(xg(n.get()||{},t))}});var Vs=ye(pb=>{\"use strict\";var x3=Mr(),Ait=vl(),Q1=\"templateitemname\",aO={name:{valType:\"string\",editType:\"none\"}};aO[Q1]={valType:\"string\",editType:\"calc\"};pb.templatedArray=function(e,t){return t._isLinkedToArray=e,t.name=aO.name,t[Q1]=aO[Q1],t};pb.traceTemplater=function(e){var t={},r,n;for(r in e)n=e[r],Array.isArray(n)&&n.length&&(t[r]=0);function i(a){r=x3.coerce(a,{},Ait,\"type\");var o={type:r,_template:null};if(r in t){n=e[r];var s=t[r]%n.length;t[r]++,o._template=n[s]}return o}return{newTrace:i}};pb.newContainer=function(e,t,r){var n=e._template,i=n&&(n[t]||r&&n[r]);x3.isPlainObject(i)||(i=null);var a=e[t]={_template:i};return a};pb.arrayTemplater=function(e,t,r){var n=e._template,i=n&&n[pne(t)],a=n&&n[t];(!Array.isArray(a)||!a.length)&&(a=[]);var o={};function s(u){var c={name:u.name,_input:u},f=c[Q1]=u[Q1];if(!vne(f))return c._template=i,c;for(var h=0;h<a.length;h++){var d=a[h];if(d.name===f)return o[f]=1,c._template=d,c}return c[r]=u[r]||!1,c._template=!1,c}function l(){for(var u=[],c=0;c<a.length;c++){var f=a[c],h=f.name;if(vne(h)&&!o[h]){var d={_template:f,name:h,_input:{_templateitemname:h}};d[Q1]=f[Q1],u.push(d),o[h]=1}}return u}return{newItem:s,defaultItems:l}};function vne(e){return e&&typeof e==\"string\"}function pne(e){var t=e.length-1;return e.charAt(t)!==\"s\"&&x3.warn(\"bad argument to arrayDefaultKey: \"+e),e.substr(0,e.length-1)+\"defaults\"}pb.arrayDefaultKey=pne;pb.arrayEditor=function(e,t,r){var n=(x3.nestedProperty(e,t).get()||[]).length,i=r._index,a=i>=n&&(r._input||{})._templateitemname;a&&(i=n);var o=t+\"[\"+i+\"]\",s;function l(){s={},a&&(s[o]={},s[o][Q1]=a)}l();function u(d,v){s[d]=v}function c(d,v){a?x3.nestedProperty(s[o],d).set(v):s[o+\".\"+d]=v}function f(){var d=s;return l(),d}function h(d,v){d&&c(d,v);var x=f();for(var b in x)x3.nestedProperty(e,b).set(x[b])}return{modifyBase:u,modifyItem:c,getUpdateObj:f,applyUpdate:h}}});var ad=ye((Ftr,gne)=>{\"use strict\";var GS=n3().counter;gne.exports={idRegex:{x:GS(\"x\",\"( domain)?\"),y:GS(\"y\",\"( domain)?\")},attrRegex:GS(\"[xy]axis\"),xAxisMatch:GS(\"xaxis\"),yAxisMatch:GS(\"yaxis\"),AX_ID_PATTERN:/^[xyz][0-9]*( domain)?$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,HOUR_PATTERN:\"hour\",WEEKDAY_PATTERN:\"day of week\",MINDRAG:8,MINZOOM:20,DRAGGERSIZE:20,REDRAWDELAY:50,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:[\"imagelayer\",\"heatmaplayer\",\"contourcarpetlayer\",\"contourlayer\",\"funnellayer\",\"waterfalllayer\",\"barlayer\",\"carpetlayer\",\"violinlayer\",\"boxlayer\",\"ohlclayer\",\"scattercarpetlayer\",\"scatterlayer\"],clipOnAxisFalseQuery:[\".scatterlayer\",\".barlayer\",\".funnellayer\",\".waterfalllayer\"],layerValue2layerClass:{\"above traces\":\"above\",\"below traces\":\"below\"},zindexSeparator:\"z\"}});var af=ye(Tp=>{\"use strict\";var Sit=ba(),oO=ad();Tp.id2name=function(t){if(!(typeof t!=\"string\"||!t.match(oO.AX_ID_PATTERN))){var r=t.split(\" \")[0].substr(1);return r===\"1\"&&(r=\"\"),t.charAt(0)+\"axis\"+r}};Tp.name2id=function(t){if(t.match(oO.AX_NAME_PATTERN)){var r=t.substr(5);return r===\"1\"&&(r=\"\"),t.charAt(0)+r}};Tp.cleanId=function(t,r,n){var i=/( domain)$/.test(t);if(!(typeof t!=\"string\"||!t.match(oO.AX_ID_PATTERN))&&!(r&&t.charAt(0)!==r)&&!(i&&!n)){var a=t.split(\" \")[0].substr(1).replace(/^0+/,\"\");return a===\"1\"&&(a=\"\"),t.charAt(0)+a+(i&&n?\" domain\":\"\")}};Tp.list=function(e,t,r){var n=e._fullLayout;if(!n)return[];var i=Tp.listIds(e,t),a=new Array(i.length),o;for(o=0;o<i.length;o++){var s=i[o];a[o]=n[s.charAt(0)+\"axis\"+s.substr(1)]}if(!r){var l=n._subplots.gl3d||[];for(o=0;o<l.length;o++){var u=n[l[o]];t?a.push(u[t+\"axis\"]):a.push(u.xaxis,u.yaxis,u.zaxis)}}return a};Tp.listIds=function(e,t){var r=e._fullLayout;if(!r)return[];var n=r._subplots;return t?n[t+\"axis\"]:n.xaxis.concat(n.yaxis)};Tp.getFromId=function(e,t,r){var n=e._fullLayout;return t=t===void 0||typeof t!=\"string\"?t:t.replace(\" domain\",\"\"),r===\"x\"?t=t.replace(/y[0-9]*/,\"\"):r===\"y\"&&(t=t.replace(/x[0-9]*/,\"\")),n[Tp.id2name(t)]};Tp.getFromTrace=function(e,t,r){var n=e._fullLayout,i=null;if(Sit.traceIs(t,\"gl3d\")){var a=t.scene;a.substr(0,5)===\"scene\"&&(i=n[a][r+\"axis\"])}else i=Tp.getFromId(e,t[r+\"axis\"]||r);return i};Tp.idSort=function(e,t){var r=e.charAt(0),n=t.charAt(0);return r!==n?r>n?1:-1:+(e.substr(1)||1)-+(t.substr(1)||1)};Tp.ref2id=function(e){return/^[xyz]/.test(e)?e.split(\" \")[0]:!1};function mne(e,t){if(t&&t.length){for(var r=0;r<t.length;r++)if(t[r][e])return!0}return!1}Tp.isLinked=function(e,t){return mne(t,e._axisMatchGroups)||mne(t,e._axisConstraintGroups)}});var e_=ye((Otr,yne)=>{\"use strict\";function Mit(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(\".outline-controllers\").remove()}function Eit(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(\".select-outline\").remove(),e._fullLayout._outlining=!1}yne.exports={clearOutlineControllers:Mit,clearOutline:Eit}});var V6=ye((Btr,_ne)=>{\"use strict\";_ne.exports={scattermode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\",editType:\"calc\"},scattergap:{valType:\"number\",min:0,max:1,editType:\"calc\"}}});var kd=ye(G6=>{\"use strict\";var H6=ba(),Ntr=ad().SUBPLOT_PATTERN;G6.getSubplotCalcData=function(e,t,r){var n=H6.subplotsRegistry[t];if(!n)return[];for(var i=n.attr,a=[],o=0;o<e.length;o++){var s=e[o],l=s[0].trace;l[i]===r&&a.push(s)}return a};G6.getModuleCalcData=function(e,t,r){var n=[],i=[],a;if(typeof t==\"string\"?a=H6.getModule(t).plot:typeof t==\"function\"?a=t:a=t.plot,!a)return[n,e];for(var o=r,s=0;s<e.length;s++){var l=e[s],u=l[0].trace,c=u.zorder!==void 0;u.visible!==!0||u._length===0||(u._module&&u._module.plot===a&&(!c||u.zorder===o)?n.push(l):i.push(l))}return[n,i]};G6.getSubplotData=function(t,r,n){if(!H6.subplotsRegistry[r])return[];for(var i=H6.subplotsRegistry[r].attr,a=[],o,s,l,u=0;u<t.length;u++)o=t[u],o[i]===n&&a.push(o);return a}});var Tne=ye(gb=>{\"use strict\";var kit=ba(),b3=Mr();gb.manageCommandObserver=function(e,t,r,n){var i={},a=!0;t&&t._commandObserver&&(i=t._commandObserver),i.cache||(i.cache={}),i.lookupTable={};var o=gb.hasSimpleAPICommandBindings(e,r,i.lookupTable);if(t&&t._commandObserver){if(o)return i;if(t._commandObserver.remove)return t._commandObserver.remove(),t._commandObserver=null,i}if(o){xne(e,o,i.cache),i.check=function(){if(a){var c=xne(e,o,i.cache);return c.changed&&n&&i.lookupTable[c.value]!==void 0&&(i.disable(),Promise.resolve(n({value:c.value,type:o.type,prop:o.prop,traces:o.traces,index:i.lookupTable[c.value]})).then(i.enable,i.enable)),c.changed}};for(var s=[\"plotly_relayout\",\"plotly_redraw\",\"plotly_restyle\",\"plotly_update\",\"plotly_animatingframe\",\"plotly_afterplot\"],l=0;l<s.length;l++)e._internalOn(s[l],i.check);i.remove=function(){for(var u=0;u<s.length;u++)e._removeInternalListener(s[u],i.check)}}else b3.log(\"Unable to automatically bind plot updates to API command\"),i.lookupTable={},i.remove=function(){};return i.disable=function(){a=!1},i.enable=function(){a=!0},t&&(t._commandObserver=i),i};gb.hasSimpleAPICommandBindings=function(e,t,r){var n,i=t.length,a;for(n=0;n<i;n++){var o,s=t[n],l=s.method,u=s.args;if(Array.isArray(u)||(u=[]),!l)return!1;var c=gb.computeAPICommandBindings(e,l,u);if(c.length!==1)return!1;if(!a)a=c[0],Array.isArray(a.traces)&&a.traces.sort();else{if(o=c[0],o.type!==a.type||o.prop!==a.prop)return!1;if(Array.isArray(a.traces))if(Array.isArray(o.traces)){o.traces.sort();for(var f=0;f<a.traces.length;f++)if(a.traces[f]!==o.traces[f])return!1}else return!1;else if(o.prop!==a.prop)return!1}o=c[0];var h=o.value;if(Array.isArray(h))if(h.length===1)h=h[0];else return!1;r&&(r[h]=n)}return a};function xne(e,t,r){var n,i,a,o=!1;if(t.type===\"data\")n=e._fullData[t.traces!==null?t.traces[0]:0];else if(t.type===\"layout\")n=e._fullLayout;else return!1;return i=b3.nestedProperty(n,t.prop).get(),a=r[t.type]=r[t.type]||{},a.hasOwnProperty(t.prop)&&a[t.prop]!==i&&(o=!0),a[t.prop]=i,{changed:o,value:i}}gb.executeAPICommand=function(e,t,r){if(t===\"skip\")return Promise.resolve();var n=kit.apiMethodRegistry[t],i=[e];Array.isArray(r)||(r=[]);for(var a=0;a<r.length;a++)i.push(r[a]);return n.apply(null,i).catch(function(o){return b3.warn(\"API call to Plotly.\"+t+\" rejected.\",o),Promise.reject(o)})};gb.computeAPICommandBindings=function(e,t,r){var n;switch(Array.isArray(r)||(r=[]),t){case\"restyle\":n=wne(e,r);break;case\"relayout\":n=bne(e,r);break;case\"update\":n=wne(e,[r[0],r[2]]).concat(bne(e,[r[1]]));break;case\"animate\":n=Cit(e,r);break;default:n=[]}return n};function Cit(e,t){return Array.isArray(t[0])&&t[0].length===1&&[\"string\",\"number\"].indexOf(typeof t[0][0])!==-1?[{type:\"layout\",prop:\"_currentFrame\",value:t[0][0].toString()}]:[]}function bne(e,t){var r=[],n=t[0],i={};if(typeof n==\"string\")i[n]=t[1];else if(b3.isPlainObject(n))i=n;else return r;return sO(i,function(a,o,s){r.push({type:\"layout\",prop:a,value:s})},\"\",0),r}function wne(e,t){var r,n,i,a,o=[];if(n=t[0],i=t[1],r=t[2],a={},typeof n==\"string\")a[n]=i;else if(b3.isPlainObject(n))a=n,r===void 0&&(r=i);else return o;return r===void 0&&(r=null),sO(a,function(s,l,u){var c,f;if(Array.isArray(u)){f=u.slice();var h=Math.min(f.length,e.data.length);r&&(h=Math.min(h,r.length)),c=[];for(var d=0;d<h;d++)c[d]=r?r[d]:d}else f=u,c=r?r.slice():null;if(c===null)Array.isArray(f)&&(f=f[0]);else if(Array.isArray(c)){if(!Array.isArray(f)){var v=f;f=[];for(var x=0;x<c.length;x++)f[x]=v}f.length=Math.min(c.length,f.length)}o.push({type:\"data\",prop:s,traces:c,value:f})},\"\",0),o}function sO(e,t,r,n){Object.keys(e).forEach(function(i){var a=e[i];if(i[0]!==\"_\"){var o=r+(n>0?\".\":\"\")+i;b3.isPlainObject(a)?sO(a,t,o,n+1):t(o,i,a)}})}});var Xu=ye((Htr,qne)=>{\"use strict\";var Lne=xa(),Lit=e3().timeFormatLocale,Pit=vq().formatLocale,jS=uo(),Iit=pq(),bl=ba(),Pne=_3(),Rit=Vs(),Ca=Mr(),Ine=va(),Ane=es().BADNUM,Ap=af(),Dit=e_().clearOutline,zit=V6(),lO=zS(),Fit=tO(),qit=kd().getModuleCalcData,Sne=Ca.relinkPrivateKeys,mb=Ca._,ha=qne.exports={};Ca.extendFlat(ha,bl);ha.attributes=vl();ha.attributes.type.values=ha.allTypes;ha.fontAttrs=Su();ha.layoutAttributes=s3();var W6=Tne();ha.executeAPICommand=W6.executeAPICommand;ha.computeAPICommandBindings=W6.computeAPICommandBindings;ha.manageCommandObserver=W6.manageCommandObserver;ha.hasSimpleAPICommandBindings=W6.hasSimpleAPICommandBindings;ha.redrawText=function(e){return e=Ca.getGraphDiv(e),new Promise(function(t){setTimeout(function(){e._fullLayout&&(bl.getComponentMethod(\"annotations\",\"draw\")(e),bl.getComponentMethod(\"legend\",\"draw\")(e),bl.getComponentMethod(\"colorbar\",\"draw\")(e),t(ha.previousPromises(e)))},300)})};ha.resize=function(e){e=Ca.getGraphDiv(e);var t,r=new Promise(function(n,i){(!e||Ca.isHidden(e))&&i(new Error(\"Resize must be passed a displayed plot div element.\")),e._redrawTimer&&clearTimeout(e._redrawTimer),e._resolveResize&&(t=e._resolveResize),e._resolveResize=n,e._redrawTimer=setTimeout(function(){if(!e.layout||e.layout.width&&e.layout.height||Ca.isHidden(e)){n(e);return}delete e.layout.width,delete e.layout.height;var a=e.changed;e.autoplay=!0,bl.call(\"relayout\",e,{autosize:!0}).then(function(){e.changed=a,e._resolveResize===n&&(delete e._resolveResize,n(e))})},100)});return t&&t(r),r};ha.previousPromises=function(e){if((e._promises||[]).length)return Promise.all(e._promises).then(function(){e._promises=[]})};ha.addLinks=function(e){if(!(!e._context.showLink&&!e._context.showSources)){var t=e._fullLayout,r=Ca.ensureSingle(t._paper,\"text\",\"js-plot-link-container\",function(l){l.style({\"font-family\":'\"Open Sans\", Arial, sans-serif',\"font-size\":\"12px\",fill:Ine.defaultLine,\"pointer-events\":\"all\"}).each(function(){var u=Lne.select(this);u.append(\"tspan\").classed(\"js-link-to-tool\",!0),u.append(\"tspan\").classed(\"js-link-spacer\",!0),u.append(\"tspan\").classed(\"js-sourcelinks\",!0)})}),n=r.node(),i={y:t._paper.attr(\"height\")-9};document.body.contains(n)&&n.getComputedTextLength()>=t.width-20?(i[\"text-anchor\"]=\"start\",i.x=5):(i[\"text-anchor\"]=\"end\",i.x=t._paper.attr(\"width\")-7),r.attr(i);var a=r.select(\".js-link-to-tool\"),o=r.select(\".js-link-spacer\"),s=r.select(\".js-sourcelinks\");e._context.showSources&&e._context.showSources(e),e._context.showLink&&Oit(e,a),o.text(a.text()&&s.text()?\" - \":\"\")}};function Oit(e,t){t.text(\"\");var r=t.append(\"a\").attr({\"xlink:xlink:href\":\"#\",class:\"link--impt link--embedview\",\"font-weight\":\"bold\"}).text(e._context.linkText+\" \\xBB\");if(e._context.sendData)r.on(\"click\",function(){ha.sendDataToCloud(e)});else{var n=window.location.pathname.split(\"/\"),i=window.location.search;r.attr({\"xlink:xlink:show\":\"new\",\"xlink:xlink:href\":\"/\"+n[2].split(\".\")[0]+\"/\"+n[1]+i})}}ha.sendDataToCloud=function(e){var t=(window.PLOTLYENV||{}).BASE_URL||e._context.plotlyServerURL;if(t){e.emit(\"plotly_beforeexport\");var r=Lne.select(e).append(\"div\").attr(\"id\",\"hiddenform\").style(\"display\",\"none\"),n=r.append(\"form\").attr({action:t+\"/external\",method:\"post\",target:\"_blank\"}),i=n.append(\"input\").attr({type:\"text\",name:\"data\"});return i.node().value=ha.graphJson(e,!1,\"keepdata\"),n.node().submit(),r.remove(),e.emit(\"plotly_afterexport\"),!1}};var Bit=[\"days\",\"shortDays\",\"months\",\"shortMonths\",\"periods\",\"dateTime\",\"date\",\"time\",\"decimal\",\"thousands\",\"grouping\",\"currency\"],Nit=[\"year\",\"month\",\"dayMonth\",\"dayMonthYear\"];ha.supplyDefaults=function(e,t){var r=t&&t.skipUpdateCalc,n=e._fullLayout||{};if(n._skipDefaults){delete n._skipDefaults;return}var i=e._fullLayout={},a=e.layout||{},o=e._fullData||[],s=e._fullData=[],l=e.data||[],u=e.calcdata||[],c=e._context||{},f;e._transitionData||ha.createTransitionData(e),i._dfltTitle={plot:mb(e,\"Click to enter Plot title\"),subtitle:mb(e,\"Click to enter Plot subtitle\"),x:mb(e,\"Click to enter X axis title\"),y:mb(e,\"Click to enter Y axis title\"),colorbar:mb(e,\"Click to enter Colorscale title\"),annotation:mb(e,\"new text\")},i._traceWord=mb(e,\"trace\");var h=Mne(e,Bit);if(i._mapboxAccessToken=c.mapboxAccessToken,n._initialAutoSizeIsDone){var d=n.width,v=n.height;ha.supplyLayoutGlobalDefaults(a,i,h),a.width||(i.width=d),a.height||(i.height=v),ha.sanitizeMargins(i)}else{ha.supplyLayoutGlobalDefaults(a,i,h);var x=!a.width||!a.height,b=i.autosize,p=c.autosizable,E=x&&(b||p);E?ha.plotAutoSize(e,a,i):x&&ha.sanitizeMargins(i),!b&&x&&(a.width=i.width,a.height=i.height)}i._d3locale=Hit(h,i.separators),i._extraFormat=Mne(e,Nit),i._initialAutoSizeIsDone=!0,i._dataLength=l.length,i._modules=[],i._visibleModules=[],i._basePlotModules=[];var k=i._subplots=Vit(),A=i._splomAxes={x:{},y:{}},L=i._splomSubplots={};i._splomGridDflt={},i._scatterStackOpts={},i._firstScatter={},i._alignmentOpts={},i._colorAxes={},i._requestRangeslider={},i._traceUids=Uit(o,l),ha.supplyDataDefaults(l,s,a,i);var _=Object.keys(A.x),C=Object.keys(A.y);if(_.length>1&&C.length>1){for(bl.getComponentMethod(\"grid\",\"sizeDefaults\")(a,i),f=0;f<_.length;f++)Ca.pushUnique(k.xaxis,_[f]);for(f=0;f<C.length;f++)Ca.pushUnique(k.yaxis,C[f]);for(var M in L)Ca.pushUnique(k.cartesian,M)}if(i._has=ha._hasPlotType.bind(i),o.length===s.length)for(f=0;f<s.length;f++)Sne(s[f],o[f]);ha.supplyLayoutModuleDefaults(a,i,s,e._transitionData);var g=i._visibleModules,P=[];for(f=0;f<g.length;f++){var T=g[f].crossTraceDefaults;T&&Ca.pushUnique(P,T)}for(f=0;f<P.length;f++)P[f](s,i);i._hasOnlyLargeSploms=i._basePlotModules.length===1&&i._basePlotModules[0].name===\"splom\"&&_.length>15&&C.length>15&&i.shapes.length===0&&i.images.length===0,ha.linkSubplots(s,i,o,n),ha.cleanPlot(s,i,o,n);var F=!!(n._has&&n._has(\"cartesian\")),q=!!(i._has&&i._has(\"cartesian\")),V=F,H=q;V&&!H?n._bgLayer.remove():H&&!V&&(i._shouldCreateBgLayer=!0),n._zoomlayer&&!e._dragging&&Dit({_fullLayout:n}),Git(s,i),Sne(i,n),bl.getComponentMethod(\"colorscale\",\"crossTraceDefaults\")(s,i),i._preGUI||(i._preGUI={}),i._tracePreGUI||(i._tracePreGUI={});var X=i._tracePreGUI,G={},N;for(N in X)G[N]=\"old\";for(f=0;f<s.length;f++)N=s[f]._fullInput.uid,G[N]||(X[N]={}),G[N]=\"new\";for(N in G)G[N]===\"old\"&&delete X[N];Rne(i),bl.getComponentMethod(\"rangeslider\",\"makeData\")(i),!r&&u.length===s.length&&ha.supplyDefaultsUpdateCalc(u,s)};ha.supplyDefaultsUpdateCalc=function(e,t){for(var r=0;r<t.length;r++){var n=t[r],i=(e[r]||[])[0];if(i&&i.trace){var a=i.trace;if(a._hasCalcTransform){var o=a._arrayAttrs,s,l,u;for(s=0;s<o.length;s++)l=o[s],u=Ca.nestedProperty(a,l).get().slice(),Ca.nestedProperty(n,l).set(u)}i.trace=n}}};function Uit(e,t){var r=t.length,n=[],i,a;for(i=0;i<e.length;i++){var o=e[i]._fullInput;o!==a&&n.push(o),a=o}var s=n.length,l=new Array(r),u={};function c(d,v){l[v]=d,u[d]=1}function f(d,v){if(d&&typeof d==\"string\"&&!u[d])return c(d,v),!0}for(i=0;i<r;i++){var h=t[i].uid;typeof h==\"number\"&&(h=String(h)),!f(h,i)&&(i<s&&f(n[i].uid,i)||c(Ca.randstr(u),i))}return l}function Vit(){var e=bl.collectableSubplotTypes,t={},r,n;if(!e){e=[];var i=bl.subplotsRegistry;for(var a in i){var o=i[a],s=o.attr;if(s&&(e.push(a),Array.isArray(s)))for(n=0;n<s.length;n++)Ca.pushUnique(e,s[n])}}for(r=0;r<e.length;r++)t[e[r]]=[];return t}function Mne(e,t){var r=e._context.locale;r||(r=\"en-US\");var n=!1,i={};function a(f){for(var h=!0,d=0;d<t.length;d++){var v=t[d];i[v]||(f[v]?i[v]=f[v]:h=!1)}h&&(n=!0)}for(var o=0;o<2;o++){for(var s=e._context.locales,l=0;l<2;l++){var u=(s[r]||{}).format;if(u&&(a(u),n))break;s=bl.localeRegistry}var c=r.split(\"-\")[0];if(n||c===r)break;r=c}return n||a(bl.localeRegistry.en.format),i}function Hit(e,t){return e.decimal=t.charAt(0),e.thousands=t.charAt(1),{numberFormat:function(r){try{r=Pit(e).format(Ca.adjustFormat(r))}catch(n){return Ca.warnBadFormat(r),Ca.noFormat}return r},timeFormat:Lit(e).utcFormat}}function Git(e,t){var r,n=[];t.meta&&(r=t._meta={meta:t.meta,layout:{meta:t.meta}});for(var i=0;i<e.length;i++){var a=e[i];a.meta?n[a.index]=a._meta={meta:a.meta}:t.meta&&(a._meta={meta:t.meta}),t.meta&&(a._meta.layout={meta:t.meta})}n.length&&(r||(r=t._meta={}),r.data=n)}ha.createTransitionData=function(e){e._transitionData||(e._transitionData={}),e._transitionData._frames||(e._transitionData._frames=[]),e._transitionData._frameHash||(e._transitionData._frameHash={}),e._transitionData._counter||(e._transitionData._counter=0),e._transitionData._interruptCallbacks||(e._transitionData._interruptCallbacks=[])};ha._hasPlotType=function(e){var t,r=this._basePlotModules||[];for(t=0;t<r.length;t++)if(r[t].name===e)return!0;var n=this._modules||[];for(t=0;t<n.length;t++){var i=n[t].name;if(i===e)return!0;var a=bl.modules[i];if(a&&a.categories[e])return!0}return!1};ha.cleanPlot=function(e,t,r,n){var i,a,o=n._basePlotModules||[];for(i=0;i<o.length;i++){var s=o[i];s.clean&&s.clean(e,t,r,n)}var l=n._has&&n._has(\"gl\"),u=t._has&&t._has(\"gl\");l&&!u&&n._glcontainer!==void 0&&(n._glcontainer.selectAll(\".gl-canvas\").remove(),n._glcontainer.selectAll(\".no-webgl\").remove(),n._glcanvas=null);var c=!!n._infolayer;e:for(i=0;i<r.length;i++){var f=r[i],h=f.uid;for(a=0;a<e.length;a++){var d=e[a];if(h===d.uid)continue e}c&&n._infolayer.select(\".cb\"+h).remove()}};ha.linkSubplots=function(e,t,r,n){var i,a,o=n._plots||{},s=t._plots={},l=t._subplots,u={_fullData:e,_fullLayout:t},c=l.cartesian||[];for(i=0;i<c.length;i++){var f=c[i],h=o[f],d=Ap.getFromId(u,f,\"x\"),v=Ap.getFromId(u,f,\"y\"),x;for(h?x=s[f]=h:(x=s[f]={},x.id=f),d._counterAxes.push(v._id),v._counterAxes.push(d._id),d._subplotsWith.push(f),v._subplotsWith.push(f),x.xaxis=d,x.yaxis=v,x._hasClipOnAxisFalse=!1,a=0;a<e.length;a++){var b=e[a];if(b.xaxis===x.xaxis._id&&b.yaxis===x.yaxis._id&&b.cliponaxis===!1){x._hasClipOnAxisFalse=!0;break}}}var p=Ap.list(u,null,!0),E;for(i=0;i<p.length;i++){E=p[i];var k=null;E.overlaying&&(k=Ap.getFromId(u,E.overlaying),k&&k.overlaying&&(E.overlaying=!1,k=null)),E._mainAxis=k||E,k&&(E.domain=k.domain.slice()),E._anchorAxis=E.anchor===\"free\"?null:Ap.getFromId(u,E.anchor)}for(i=0;i<p.length;i++)if(E=p[i],E._counterAxes.sort(Ap.idSort),E._subplotsWith.sort(Ca.subplotSort),E._mainSubplot=jit(E,t),E._counterAxes.length&&(E.spikemode&&E.spikemode.indexOf(\"across\")!==-1||E.automargin&&E.mirror&&E.anchor!==\"free\"||bl.getComponentMethod(\"rangeslider\",\"isVisible\")(E))){var A=1,L=0;for(a=0;a<E._counterAxes.length;a++){var _=Ap.getFromId(u,E._counterAxes[a]);A=Math.min(A,_.domain[0]),L=Math.max(L,_.domain[1])}A<L&&(E._counterDomainMin=A,E._counterDomainMax=L)}};function jit(e,t){var r={_fullLayout:t},n=e._id.charAt(0)===\"x\",i=e._mainAxis._anchorAxis,a=\"\",o=\"\",s=\"\";if(i&&(s=i._mainAxis._id,a=n?e._id+s:s+e._id),!a||!t._plots[a]){a=\"\";for(var l=e._counterAxes,u=0;u<l.length;u++){var c=l[u],f=n?e._id+c:c+e._id;o||(o=f);var h=Ap.getFromId(r,c);if(s&&h.overlaying===s){a=f;break}}}return a||o}ha.clearExpandedTraceDefaultColors=function(e){var t,r,n;function i(o,s,l,u){r[u]=s,r.length=u+1,o.valType===\"color\"&&o.dflt===void 0&&t.push(r.join(\".\"))}for(r=[],t=e._module._colorAttrs,t||(e._module._colorAttrs=t=[],Pne.crawl(e._module.attributes,i)),n=0;n<t.length;n++){var a=Ca.nestedProperty(e,\"_input.\"+t[n]);a.get()||Ca.nestedProperty(e,t[n]).set(null)}};ha.supplyDataDefaults=function(e,t,r,n){var i=n._modules,a=n._visibleModules,o=n._basePlotModules,s=0,l=0,u,c,f;n._transformModules=[];function h(E){t.push(E);var k=E._module;k&&(Ca.pushUnique(i,k),E.visible===!0&&Ca.pushUnique(a,k),Ca.pushUnique(o,E._module.basePlotModule),s++,E._input.visible!==!1&&l++)}var d={},v=[],x=(r.template||{}).data||{},b=Rit.traceTemplater(x);for(u=0;u<e.length;u++)f=e[u],c=b.newTrace(f),c.uid=n._traceUids[u],ha.supplyTraceDefaults(f,c,l,n,u),c.index=u,c._input=f,c._fullInput=c,h(c),bl.traceIs(c,\"carpetAxis\")&&(d[c.carpet]=c),bl.traceIs(c,\"carpetDependent\")&&v.push(u);for(u=0;u<v.length;u++)if(c=t[v[u]],!!c.visible){var p=d[c.carpet];if(c._carpet=p,!p||!p.visible){c.visible=!1;continue}c.xaxis=p.xaxis,c.yaxis=p.yaxis}};ha.supplyAnimationDefaults=function(e){e=e||{};var t,r={};function n(i,a){return Ca.coerce(e||{},r,lO,i,a)}if(n(\"mode\"),n(\"direction\"),n(\"fromcurrent\"),Array.isArray(e.frame))for(r.frame=[],t=0;t<e.frame.length;t++)r.frame[t]=ha.supplyAnimationFrameDefaults(e.frame[t]||{});else r.frame=ha.supplyAnimationFrameDefaults(e.frame||{});if(Array.isArray(e.transition))for(r.transition=[],t=0;t<e.transition.length;t++)r.transition[t]=ha.supplyAnimationTransitionDefaults(e.transition[t]||{});else r.transition=ha.supplyAnimationTransitionDefaults(e.transition||{});return r};ha.supplyAnimationFrameDefaults=function(e){var t={};function r(n,i){return Ca.coerce(e||{},t,lO.frame,n,i)}return r(\"duration\"),r(\"redraw\"),t};ha.supplyAnimationTransitionDefaults=function(e){var t={};function r(n,i){return Ca.coerce(e||{},t,lO.transition,n,i)}return r(\"duration\"),r(\"easing\"),t};ha.supplyFrameDefaults=function(e){var t={};function r(n,i){return Ca.coerce(e,t,Fit,n,i)}return r(\"group\"),r(\"name\"),r(\"traces\"),r(\"baseframe\"),r(\"data\"),r(\"layout\"),t};ha.supplyTraceDefaults=function(e,t,r,n,i){var a=n.colorway||Ine.defaults,o=a[r%a.length],s;function l(k,A){return Ca.coerce(e,t,ha.attributes,k,A)}var u=l(\"visible\");l(\"type\"),l(\"name\",n._traceWord+\" \"+i),l(\"uirevision\",n.uirevision);var c=ha.getModule(t);if(t._module=c,c){var f=c.basePlotModule,h=f.attr,d=f.attributes;if(h&&d){var v=n._subplots,x=\"\";if(Array.isArray(h))for(s=0;s<h.length;s++){var b=h[s],p=Ca.coerce(e,t,d,b);v[b]&&Ca.pushUnique(v[b],p),x+=p}else x=Ca.coerce(e,t,d,h);v[f.name]&&Ca.pushUnique(v[f.name],x)}}if(u&&(l(\"customdata\"),l(\"ids\"),l(\"meta\"),bl.traceIs(t,\"showLegend\")?(Ca.coerce(e,t,c.attributes.showlegend?c.attributes:ha.attributes,\"showlegend\"),l(\"legend\"),l(\"legendwidth\"),l(\"legendgroup\"),l(\"legendgrouptitle.text\"),l(\"legendrank\"),t._dfltShowLegend=!0):t._dfltShowLegend=!1,c&&c.supplyDefaults(e,t,o,n),bl.traceIs(t,\"noOpacity\")||l(\"opacity\"),bl.traceIs(t,\"notLegendIsolatable\")&&(t.visible=!!t.visible),bl.traceIs(t,\"noHover\")||(t.hovertemplate||Ca.coerceHoverinfo(e,t,n),t.type!==\"parcats\"&&bl.getComponentMethod(\"fx\",\"supplyDefaults\")(e,t,o,n)),c&&c.selectPoints)){var E=l(\"selectedpoints\");Ca.isTypedArray(E)&&(t.selectedpoints=Array.from(E))}return t};ha.supplyLayoutGlobalDefaults=function(e,t,r){function n(f,h){return Ca.coerce(e,t,ha.layoutAttributes,f,h)}var i=e.template;Ca.isPlainObject(i)&&(t.template=i,t._template=i.layout,t._dataTemplate=i.data),n(\"autotypenumbers\");var a=Ca.coerceFont(n,\"font\"),o=a.size;Ca.coerceFont(n,\"title.font\",a,{overrideDflt:{size:Math.round(o*1.4)}}),n(\"title.text\",t._dfltTitle.plot),n(\"title.xref\");var s=n(\"title.yref\");n(\"title.pad.t\"),n(\"title.pad.r\"),n(\"title.pad.b\"),n(\"title.pad.l\");var l=n(\"title.automargin\");n(\"title.x\"),n(\"title.xanchor\"),n(\"title.y\"),n(\"title.yanchor\"),n(\"title.subtitle.text\",t._dfltTitle.subtitle),Ca.coerceFont(n,\"title.subtitle.font\",a,{overrideDflt:{size:Math.round(t.title.font.size*.7)}}),l&&(s===\"paper\"&&(t.title.y!==0&&(t.title.y=1),t.title.yanchor===\"auto\"&&(t.title.yanchor=t.title.y===0?\"top\":\"bottom\")),s===\"container\"&&(t.title.y===\"auto\"&&(t.title.y=1),t.title.yanchor===\"auto\"&&(t.title.yanchor=t.title.y<.5?\"bottom\":\"top\")));var u=n(\"uniformtext.mode\");u&&n(\"uniformtext.minsize\"),n(\"autosize\",!(e.width&&e.height)),n(\"width\"),n(\"height\"),n(\"minreducedwidth\"),n(\"minreducedheight\"),n(\"margin.l\"),n(\"margin.r\"),n(\"margin.t\"),n(\"margin.b\"),n(\"margin.pad\"),n(\"margin.autoexpand\"),e.width&&e.height&&ha.sanitizeMargins(t),bl.getComponentMethod(\"grid\",\"sizeDefaults\")(e,t),n(\"paper_bgcolor\"),n(\"separators\",r.decimal+r.thousands),n(\"hidesources\"),n(\"colorway\"),n(\"datarevision\");var c=n(\"uirevision\");n(\"editrevision\",c),n(\"selectionrevision\",c),bl.getComponentMethod(\"modebar\",\"supplyLayoutDefaults\")(e,t),bl.getComponentMethod(\"shapes\",\"supplyDrawNewShapeDefaults\")(e,t,n),bl.getComponentMethod(\"selections\",\"supplyDrawNewSelectionDefaults\")(e,t,n),n(\"meta\"),Ca.isPlainObject(e.transition)&&(n(\"transition.duration\"),n(\"transition.easing\"),n(\"transition.ordering\")),bl.getComponentMethod(\"calendars\",\"handleDefaults\")(e,t,\"calendar\"),bl.getComponentMethod(\"fx\",\"supplyLayoutGlobalDefaults\")(e,t,n),Ca.coerce(e,t,zit,\"scattermode\")};function j6(e){return typeof e==\"string\"&&e.substr(e.length-2)===\"px\"&&parseFloat(e)}ha.plotAutoSize=function(t,r,n){var i=t._context||{},a=i.frameMargins,o,s,l=Ca.isPlotDiv(t);if(l&&t.emit(\"plotly_autosize\"),i.fillFrame)o=window.innerWidth,s=window.innerHeight,document.body.style.overflow=\"hidden\";else{var u=l?window.getComputedStyle(t):{};if(o=j6(u.width)||j6(u.maxWidth)||n.width,s=j6(u.height)||j6(u.maxHeight)||n.height,jS(a)&&a>0){var c=1-2*a;o=Math.round(c*o),s=Math.round(c*s)}}var f=ha.layoutAttributes.width.min,h=ha.layoutAttributes.height.min;o<f&&(o=f),s<h&&(s=h);var d=!r.width&&Math.abs(n.width-o)>1,v=!r.height&&Math.abs(n.height-s)>1;(v||d)&&(d&&(n.width=o),v&&(n.height=s)),t._initialAutoSize||(t._initialAutoSize={width:o,height:s}),ha.sanitizeMargins(n)};ha.supplyLayoutModuleDefaults=function(e,t,r,n){var i=bl.componentsRegistry,a=t._basePlotModules,o,s,l,u=bl.subplotsRegistry.cartesian;for(o in i)l=i[o],l.includeBasePlot&&l.includeBasePlot(e,t);a.length||a.push(u),t._has(\"cartesian\")&&(bl.getComponentMethod(\"grid\",\"contentDefaults\")(e,t),u.finalizeSubplots(e,t));for(var c in t._subplots)t._subplots[c].sort(Ca.subplotSort);for(s=0;s<a.length;s++)l=a[s],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r);var f=t._modules;for(s=0;s<f.length;s++)l=f[s],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r);var h=t._transformModules;for(s=0;s<h.length;s++)l=h[s],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r,n);for(o in i)l=i[o],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r)};ha.purge=function(e){var t=e._fullLayout||{};t._glcontainer!==void 0&&(t._glcontainer.selectAll(\".gl-canvas\").remove(),t._glcontainer.remove(),t._glcanvas=null),t._modeBar&&t._modeBar.destroy(),e._transitionData&&(e._transitionData._interruptCallbacks&&(e._transitionData._interruptCallbacks.length=0),e._transitionData._animationRaf&&window.cancelAnimationFrame(e._transitionData._animationRaf)),Ca.clearThrottle(),Ca.clearResponsive(e),delete e.data,delete e.layout,delete e._fullData,delete e._fullLayout,delete e.calcdata,delete e.empty,delete e.fid,delete e.undoqueue,delete e.undonum,delete e.autoplay,delete e.changed,delete e._promises,delete e._redrawTimer,delete e._hmlumcount,delete e._hmpixcount,delete e._transitionData,delete e._transitioning,delete e._initialAutoSize,delete e._transitioningWithDuration,delete e._dragging,delete e._dragged,delete e._dragdata,delete e._hoverdata,delete e._snapshotInProgress,delete e._editing,delete e._mouseDownTime,delete e._legendMouseDownTime,e.removeAllListeners&&e.removeAllListeners()};ha.style=function(e){var t=e._fullLayout._visibleModules,r=[],n;for(n=0;n<t.length;n++){var i=t[n];i.style&&Ca.pushUnique(r,i.style)}for(n=0;n<r.length;n++)r[n](e)};ha.sanitizeMargins=function(e){if(!(!e||!e.margin)){var t=e.width,r=e.height,n=e.margin,i=t-(n.l+n.r),a=r-(n.t+n.b),o;i<0&&(o=(t-1)/(n.l+n.r),n.l=Math.floor(o*n.l),n.r=Math.floor(o*n.r)),a<0&&(o=(r-1)/(n.t+n.b),n.t=Math.floor(o*n.t),n.b=Math.floor(o*n.b))}};ha.clearAutoMarginIds=function(e){e._fullLayout._pushmarginIds={}};ha.allowAutoMargin=function(e,t){e._fullLayout._pushmarginIds[t]=1};function Rne(e){var t=e.margin;if(!e._size){var r=e._size={l:Math.round(t.l),r:Math.round(t.r),t:Math.round(t.t),b:Math.round(t.b),p:Math.round(t.pad)};r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b}e._pushmargin||(e._pushmargin={}),e._pushmarginIds||(e._pushmarginIds={}),e._reservedMargin||(e._reservedMargin={})}var Dne=2,zne=2;ha.autoMargin=function(e,t,r){var n=e._fullLayout,i=n.width,a=n.height,o=n.margin,s=n.minreducedwidth,l=n.minreducedheight,u=Ca.constrain(i-o.l-o.r,Dne,s),c=Ca.constrain(a-o.t-o.b,zne,l),f=Math.max(0,i-u),h=Math.max(0,a-c),d=n._pushmargin,v=n._pushmarginIds;if(o.autoexpand!==!1){if(!r)delete d[t],delete v[t];else{var x=r.pad;if(x===void 0&&(x=Math.min(12,o.l,o.r,o.t,o.b)),f){var b=(r.l+r.r)/f;b>1&&(r.l/=b,r.r/=b)}if(h){var p=(r.t+r.b)/h;p>1&&(r.t/=p,r.b/=p)}var E=r.xl!==void 0?r.xl:r.x,k=r.xr!==void 0?r.xr:r.x,A=r.yt!==void 0?r.yt:r.y,L=r.yb!==void 0?r.yb:r.y;d[t]={l:{val:E,size:r.l+x},r:{val:k,size:r.r+x},b:{val:L,size:r.b+x},t:{val:A,size:r.t+x}},v[t]=1}if(!n._replotting)return ha.doAutoMargin(e)}};function Wit(e){if(\"_redrawFromAutoMarginCount\"in e._fullLayout)return!1;var t=Ap.list(e,\"\",!0);for(var r in t)if(t[r].autoshift||t[r].shift)return!0;return!1}ha.doAutoMargin=function(e){var t=e._fullLayout,r=t.width,n=t.height;t._size||(t._size={}),Rne(t);var i=t._size,a=t.margin,o={t:0,b:0,l:0,r:0},s=Ca.extendFlat({},i),l=a.l,u=a.r,c=a.t,f=a.b,h=t._pushmargin,d=t._pushmarginIds,v=t.minreducedwidth,x=t.minreducedheight;if(a.autoexpand!==!1){for(var b in h)d[b]||delete h[b];var p=e._fullLayout._reservedMargin;for(var E in p)for(var k in p[E]){var A=p[E][k];o[k]=Math.max(o[k],A)}h.base={l:{val:0,size:l},r:{val:1,size:u},t:{val:1,size:c},b:{val:0,size:f}};for(var L in o){var _=0;for(var C in h)C!==\"base\"&&jS(h[C][L].size)&&(_=h[C][L].size>_?h[C][L].size:_);var M=Math.max(0,a[L]-_);o[L]=Math.max(0,o[L]-M)}for(var g in h){var P=h[g].l||{},T=h[g].b||{},F=P.val,q=P.size,V=T.val,H=T.size,X=r-o.r-o.l,G=n-o.t-o.b;for(var N in h){if(jS(q)&&h[N].r){var W=h[N].r.val,re=h[N].r.size;if(W>F){var ae=(q*W+(re-X)*F)/(W-F),_e=(re*(1-F)+(q-X)*(1-W))/(W-F);ae+_e>l+u&&(l=ae,u=_e)}}if(jS(H)&&h[N].t){var Me=h[N].t.val,ke=h[N].t.size;if(Me>V){var ge=(H*Me+(ke-G)*V)/(Me-V),ie=(ke*(1-V)+(H-G)*(1-Me))/(Me-V);ge+ie>f+c&&(f=ge,c=ie)}}}}}var Te=Ca.constrain(r-a.l-a.r,Dne,v),Ee=Ca.constrain(n-a.t-a.b,zne,x),Ae=Math.max(0,r-Te),ze=Math.max(0,n-Ee);if(Ae){var Ce=(l+u)/Ae;Ce>1&&(l/=Ce,u/=Ce)}if(ze){var me=(f+c)/ze;me>1&&(f/=me,c/=me)}if(i.l=Math.round(l)+o.l,i.r=Math.round(u)+o.r,i.t=Math.round(c)+o.t,i.b=Math.round(f)+o.b,i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!t._replotting&&(ha.didMarginChange(s,i)||Wit(e))){\"_redrawFromAutoMarginCount\"in t?t._redrawFromAutoMarginCount++:t._redrawFromAutoMarginCount=1;var Re=3*(1+Object.keys(d).length);if(t._redrawFromAutoMarginCount<Re)return bl.call(\"_doPlot\",e);t._size=s,Ca.warn(\"Too many auto-margin redraws.\")}Zit(e)};function Zit(e){var t=Ap.list(e,\"\",!0);[\"_adjustTickLabelsOverflow\",\"_hideCounterAxisInsideTickLabels\"].forEach(function(r){for(var n=0;n<t.length;n++){var i=t[n][r];i&&i()}})}var Ene=[\"l\",\"r\",\"t\",\"b\",\"p\",\"w\",\"h\"];ha.didMarginChange=function(e,t){for(var r=0;r<Ene.length;r++){var n=Ene[r],i=e[n],a=t[n];if(!jS(i)||Math.abs(a-i)>1)return!0}return!1};ha.graphJson=function(e,t,r,n,i,a){(i&&t&&!e._fullData||i&&!t&&!e._fullLayout)&&ha.supplyDefaults(e);var o=i?e._fullData:e.data,s=i?e._fullLayout:e.layout,l=(e._transitionData||{})._frames;function u(h,d){if(typeof h==\"function\")return d?\"_function_\":null;if(Ca.isPlainObject(h)){var v={},x;return Object.keys(h).sort().forEach(function(k){if([\"_\",\"[\"].indexOf(k.charAt(0))===-1){if(typeof h[k]==\"function\"){d&&(v[k]=\"_function\");return}if(r===\"keepdata\"){if(k.substr(k.length-3)===\"src\")return}else if(r===\"keepstream\"){if(x=h[k+\"src\"],typeof x==\"string\"&&x.indexOf(\":\")>0&&!Ca.isPlainObject(h.stream))return}else if(r!==\"keepall\"&&(x=h[k+\"src\"],typeof x==\"string\"&&x.indexOf(\":\")>0))return;v[k]=u(h[k],d)}}),v}var b=Array.isArray(h),p=Ca.isTypedArray(h);if((b||p)&&h.dtype&&h.shape){var E=h.bdata;return u({dtype:h.dtype,shape:h.shape,bdata:Ca.isArrayBuffer(E)?Iit.encode(E):E},d)}return b?h.map(function(k){return u(k,d)}):p?Ca.simpleMap(h,Ca.identity):Ca.isJSDate(h)?Ca.ms2DateTimeLocal(+h):h}var c={data:(o||[]).map(function(h){var d=u(h);return t&&delete d.fit,d})};if(!t&&(c.layout=u(s),i)){var f=s._size;c.layout.computed={margin:{b:f.b,l:f.l,r:f.r,t:f.t}}}return l&&(c.frames=u(l)),a&&(c.config=u(e._context,!0)),n===\"object\"?c:JSON.stringify(c)};ha.modifyFrames=function(e,t){var r,n,i,a=e._transitionData._frames,o=e._transitionData._frameHash;for(r=0;r<t.length;r++)switch(n=t[r],n.type){case\"replace\":i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&&(delete o[s],o[l]=i);break;case\"insert\":i=n.value,o[i.name]=i,a.splice(n.index,0,i);break;case\"delete\":i=a[n.index],delete o[i.name],a.splice(n.index,1);break}return Promise.resolve()};ha.computeFrame=function(e,t){var r=e._transitionData._frameHash,n,i,a,o;if(!t)throw new Error(\"computeFrame must be given a string frame name\");var s=r[t.toString()];if(!s)return!1;for(var l=[s],u=[s.name];s.baseframe&&(s=r[s.baseframe.toString()])&&u.indexOf(s.name)===-1;)l.push(s),u.push(s.name);for(var c={};s=l.pop();)if(s.layout&&(c.layout=ha.extendLayout(c.layout,s.layout)),s.data){if(c.data||(c.data=[]),i=s.traces,!i)for(i=[],n=0;n<s.data.length;n++)i[n]=n;for(c.traces||(c.traces=[]),n=0;n<s.data.length;n++)a=i[n],a!=null&&(o=c.traces.indexOf(a),o===-1&&(o=c.data.length,c.traces[o]=a),c.data[o]=ha.extendTrace(c.data[o],s.data[n]))}return c};ha.recomputeFrameHash=function(e){for(var t=e._transitionData._frameHash={},r=e._transitionData._frames,n=0;n<r.length;n++){var i=r[n];i&&i.name&&(t[i.name]=i)}};ha.extendObjectWithContainers=function(e,t,r){var n,i,a,o,s,l,u,c,f=Ca.extendDeepNoArrays({},t||{}),h=Ca.expandObjectPaths(f),d={};if(r&&r.length)for(a=0;a<r.length;a++)n=Ca.nestedProperty(h,r[a]),i=n.get(),i===void 0?Ca.nestedProperty(d,r[a]).set(null):(n.set(null),Ca.nestedProperty(d,r[a]).set(i));if(e=Ca.extendDeepNoArrays(e||{},h),r&&r.length){for(a=0;a<r.length;a++)if(s=Ca.nestedProperty(d,r[a]),u=s.get(),!!u){for(l=Ca.nestedProperty(e,r[a]),c=l.get(),Array.isArray(c)||(c=[],l.set(c)),o=0;o<u.length;o++){var v=u[o];v===null?c[o]=null:c[o]=ha.extendObjectWithContainers(c[o],v)}l.set(c)}}return e};ha.dataArrayContainers=[\"transforms\",\"dimensions\"];ha.layoutArrayContainers=bl.layoutArrayContainers;ha.extendTrace=function(e,t){return ha.extendObjectWithContainers(e,t,ha.dataArrayContainers)};ha.extendLayout=function(e,t){return ha.extendObjectWithContainers(e,t,ha.layoutArrayContainers)};ha.transition=function(e,t,r,n,i,a){var o={redraw:i.redraw},s={},l=[];return o.prepareFn=function(){for(var u=Array.isArray(t)?t.length:0,c=n.slice(0,u),f=0;f<c.length;f++){var h=c[f],d=e._fullData[h],v=d._module;if(v){if(v.animatable){var x=v.basePlotModule.name;s[x]||(s[x]=[]),s[x].push(h)}e.data[c[f]]=ha.extendTrace(e.data[c[f]],t[f])}}var b=Ca.expandObjectPaths(Ca.extendDeepNoArrays({},r)),p=/^[xy]axis[0-9]*$/;for(var E in b)p.test(E)&&delete b[E].range;ha.extendLayout(e.layout,b),delete e.calcdata,ha.supplyDefaults(e),ha.doCalcdata(e);var k=Ca.expandObjectPaths(r);if(k){var A=e._fullLayout._plots;for(var L in A){var _=A[L],C=_.xaxis,M=_.yaxis,g=C.range.slice(),P=M.range.slice(),T=null,F=null,q=null,V=null;Array.isArray(k[C._name+\".range\"])?T=k[C._name+\".range\"].slice():Array.isArray((k[C._name]||{}).range)&&(T=k[C._name].range.slice()),Array.isArray(k[M._name+\".range\"])?F=k[M._name+\".range\"].slice():Array.isArray((k[M._name]||{}).range)&&(F=k[M._name].range.slice()),g&&T&&(C.r2l(g[0])!==C.r2l(T[0])||C.r2l(g[1])!==C.r2l(T[1]))&&(q={xr0:g,xr1:T}),P&&F&&(M.r2l(P[0])!==M.r2l(F[0])||M.r2l(P[1])!==M.r2l(F[1]))&&(V={yr0:P,yr1:F}),(q||V)&&l.push(Ca.extendFlat({plotinfo:_},q,V))}}return Promise.resolve()},o.runFn=function(u){var c,f=e._fullLayout._basePlotModules,h=l.length,d;if(r)for(d=0;d<f.length;d++)f[d].transitionAxes&&f[d].transitionAxes(e,l,a,u);h?(c=Ca.extendFlat({},a),c.duration=0,delete s.cartesian):c=a;for(var v in s){var x=s[v],b=e._fullData[x[0]]._module;b.basePlotModule.plot(e,x,c,u)}},Fne(e,a,o)};ha.transitionFromReact=function(e,t,r,n){var i=e._fullLayout,a=i.transition,o={},s=[];return o.prepareFn=function(){var l=i._plots;o.redraw=!1,t.anim===\"some\"&&(o.redraw=!0),r.anim===\"some\"&&(o.redraw=!0);for(var u in l){var c=l[u],f=c.xaxis,h=c.yaxis,d=n[f._name].range.slice(),v=n[h._name].range.slice(),x=f.range.slice(),b=h.range.slice();f.setScale(),h.setScale();var p=null,E=null;(f.r2l(d[0])!==f.r2l(x[0])||f.r2l(d[1])!==f.r2l(x[1]))&&(p={xr0:d,xr1:x}),(h.r2l(v[0])!==h.r2l(b[0])||h.r2l(v[1])!==h.r2l(b[1]))&&(E={yr0:v,yr1:b}),(p||E)&&s.push(Ca.extendFlat({plotinfo:c},p,E))}return Promise.resolve()},o.runFn=function(l){for(var u=e._fullData,c=e._fullLayout,f=c._basePlotModules,h,d,v,x=[],b=0;b<u.length;b++)x.push(b);function p(){if(e._fullLayout)for(var k=0;k<f.length;k++)f[k].transitionAxes&&f[k].transitionAxes(e,s,h,l)}function E(){if(e._fullLayout)for(var k=0;k<f.length;k++)f[k].plot(e,v,d,l)}s.length&&t.anim?a.ordering===\"traces first\"?(h=Ca.extendFlat({},a,{duration:0}),v=x,d=a,setTimeout(p,a.duration),E()):(h=a,v=null,d=Ca.extendFlat({},a,{duration:0}),setTimeout(E,h.duration),p()):s.length?(h=a,p()):t.anim&&(v=x,d=a,E())},Fne(e,a,o)};function Fne(e,t,r){var n=!1;function i(f){var h=Promise.resolve();if(!f)return h;for(;f.length;)h=h.then(f.shift());return h}function a(f){if(f)for(;f.length;)f.shift()}function o(){return e.emit(\"plotly_transitioning\",[]),new Promise(function(f){e._transitioning=!0,t.duration>0&&(e._transitioningWithDuration=!0),e._transitionData._interruptCallbacks.push(function(){n=!0}),r.redraw&&e._transitionData._interruptCallbacks.push(function(){return bl.call(\"redraw\",e)}),e._transitionData._interruptCallbacks.push(function(){e.emit(\"plotly_transitioninterrupted\",[])});var h=0,d=0;function v(){return h++,function(){d++,!n&&d===h&&s(f)}}r.runFn(v),setTimeout(v())})}function s(f){if(e._transitionData)return a(e._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(r.redraw)return bl.call(\"redraw\",e)}).then(function(){e._transitioning=!1,e._transitioningWithDuration=!1,e.emit(\"plotly_transitioned\",[])}).then(f)}function l(){if(e._transitionData)return e._transitioning=!1,i(e._transitionData._interruptCallbacks)}var u=[ha.previousPromises,l,r.prepareFn,ha.rehover,ha.reselect,o],c=Ca.syncOrAsync(u,e);return(!c||!c.then)&&(c=Promise.resolve()),c.then(function(){return e})}ha.doCalcdata=function(e,t){var r=Ap.list(e),n=e._fullData,i=e._fullLayout,a,o,s,l,u=new Array(n.length),c=(e.calcdata||[]).slice();for(e.calcdata=u,i._numBoxes=0,i._numViolins=0,i._violinScaleGroupStats={},e._hmpixcount=0,e._hmlumcount=0,i._piecolormap={},i._sunburstcolormap={},i._treemapcolormap={},i._iciclecolormap={},i._funnelareacolormap={},s=0;s<n.length;s++)if(Array.isArray(t)&&t.indexOf(s)===-1){u[s]=c[s];continue}for(s=0;s<n.length;s++)a=n[s],a._arrayAttrs=Pne.findArrayAttributes(a),a._extremes={};var f=i._subplots.polar||[];for(s=0;s<f.length;s++)r.push(i[f[s]].radialaxis,i[f[s]].angularaxis);for(var h in i._colorAxes){var d=i[h];d.cauto!==!1&&(delete d.cmin,delete d.cmax)}var v=!1;function x(E){if(a=n[E],o=a._module,a.visible===!0&&a.transforms){if(o&&o.calc){var k=o.calc(e,a);k[0]&&k[0].t&&k[0].t._scene&&delete k[0].t._scene.dirty}for(l=0;l<a.transforms.length;l++){var A=a.transforms[l];o=transformsRegistry[A.type],o&&o.calcTransform&&(a._hasCalcTransform=!0,v=!0,o.calcTransform(e,a,A))}}}function b(E,k){if(a=n[E],o=a._module,!!o.isContainer===k){var A=[];if(a.visible===!0&&a._length!==0){delete a._indexToPoints;var L=a.transforms||[];for(l=L.length-1;l>=0;l--)if(L[l].enabled){a._indexToPoints=L[l]._indexToPoints;break}o&&o.calc&&(A=o.calc(e,a))}(!Array.isArray(A)||!A[0])&&(A=[{x:Ane,y:Ane}]),A[0].t||(A[0].t={}),A[0].trace=a,u[E]=A}}for(kne(r,n,i),s=0;s<n.length;s++)b(s,!0);for(s=0;s<n.length;s++)x(s);for(v&&kne(r,n,i),s=0;s<n.length;s++)b(s,!0);for(s=0;s<n.length;s++)b(s,!1);Cne(e);var p=Yit(r,e);if(p.length){for(i._numBoxes=0,i._numViolins=0,s=0;s<p.length;s++)b(p[s],!0);for(s=0;s<p.length;s++)b(p[s],!1);Cne(e)}bl.getComponentMethod(\"fx\",\"calc\")(e),bl.getComponentMethod(\"errorbars\",\"calc\")(e)};var Xit=/(total|sum|min|max|mean|geometric mean|median) (ascending|descending)/;function Yit(e,t){var r=[],n,i,a,o,s;function l(N,W,re){var ae=W._id.charAt(0);if(N===\"histogram2dcontour\"){var _e=W._counterAxes[0],Me=Ap.getFromId(t,_e),ke=ae===\"x\"||_e===\"x\"&&Me.type===\"category\",ge=ae===\"y\"||_e===\"y\"&&Me.type===\"category\";return function(ie,Te){return ie===0||Te===0||ke&&ie===re[Te].length-1||ge&&Te===re.length-1?-1:(ae===\"y\"?Te:ie)-1}}else return function(ie,Te){return ae===\"y\"?Te:ie}}var u={min:function(N){return Ca.aggNums(Math.min,null,N)},max:function(N){return Ca.aggNums(Math.max,null,N)},sum:function(N){return Ca.aggNums(function(W,re){return W+re},null,N)},total:function(N){return Ca.aggNums(function(W,re){return W+re},null,N)},mean:function(N){return Ca.mean(N)},\"geometric mean\":function(N){return Ca.geometricMean(N)},median:function(N){return Ca.median(N)}};function c(N,W){return N[1]-W[1]}function f(N,W){return W[1]-N[1]}for(n=0;n<e.length;n++){var h=e[n];if(h.type===\"category\"){var d=h.categoryorder.match(Xit);if(d){var v=d[1],x=d[2],b=h._id.charAt(0),p=b===\"x\",E=[];for(i=0;i<h._categories.length;i++)E.push([h._categories[i],[]]);for(i=0;i<h._traceIndices.length;i++){var k=h._traceIndices[i],A=t._fullData[k];if(A.visible===!0){var L=A.type;bl.traceIs(A,\"histogram\")&&(delete A._xautoBinFinished,delete A._yautoBinFinished);var _=L===\"splom\",C=L===\"scattergl\",M=t.calcdata[k];for(a=0;a<M.length;a++){var g=M[a],P,T;if(_){var F=A._axesDim[h._id];if(!p){var q=A._diag[F][0];q&&(h=t._fullLayout[Ap.id2name(q)])}var V=g.trace.dimensions[F].values;for(o=0;o<V.length;o++)for(P=h._categoriesMap[V[o]],s=0;s<g.trace.dimensions.length;s++)if(s!==F){var H=g.trace.dimensions[s];E[P][1].push(H.values[o])}}else if(C){for(o=0;o<g.t.x.length;o++)p?(P=g.t.x[o],T=g.t.y[o]):(P=g.t.y[o],T=g.t.x[o]),E[P][1].push(T);g.t&&g.t._scene&&delete g.t._scene.dirty}else if(g.hasOwnProperty(\"z\")){T=g.z;var X=l(A.type,h,T);for(o=0;o<T.length;o++)for(s=0;s<T[o].length;s++)P=X(s,o),P+1&&E[P][1].push(T[o][s])}else for(P=g.p,P===void 0&&(P=g[b]),T=g.s,T===void 0&&(T=g.v),T===void 0&&(T=p?g.y:g.x),Array.isArray(T)||(T===void 0?T=[]:T=[T]),o=0;o<T.length;o++)E[P][1].push(T[o])}}}h._categoriesValue=E;var G=[];for(i=0;i<E.length;i++)G.push([E[i][0],u[v](E[i][1])]);G.sort(x===\"descending\"?f:c),h._categoriesAggregatedValue=G,h._initialCategories=G.map(function(N){return N[0]}),r=r.concat(h.sortByInitialCategories())}}}return r}function kne(e,t,r){var n={};function i(l){l.clearCalc(),l.type===\"multicategory\"&&l.setupMultiCategory(t),n[l._id]=1}Ca.simpleMap(e,i);for(var a=r._axisMatchGroups||[],o=0;o<a.length;o++)for(var s in a[o])n[s]||i(r[Ap.id2name(s)])}function Cne(e){var t=e._fullLayout,r=t._visibleModules,n={},i,a,o;for(a=0;a<r.length;a++){var s=r[a],l=s.crossTraceCalc;if(l){var u=s.basePlotModule.name;n[u]?Ca.pushUnique(n[u],l):n[u]=[l]}}for(o in n){var c=n[o],f=t._subplots[o];if(Array.isArray(f))for(i=0;i<f.length;i++){var h=f[i],d=o===\"cartesian\"?t._plots[h]:t[h];for(a=0;a<c.length;a++)c[a](e,d,h)}else for(a=0;a<c.length;a++)c[a](e)}}ha.rehover=function(e){e._fullLayout._rehover&&e._fullLayout._rehover()};ha.redrag=function(e){e._fullLayout._redrag&&e._fullLayout._redrag()};ha.reselect=function(e){var t=e._fullLayout,r=(e.layout||{}).selections,n=t._previousSelections;t._previousSelections=r;var i=t._reselect||JSON.stringify(r)!==JSON.stringify(n);bl.getComponentMethod(\"selections\",\"reselect\")(e,i)};ha.generalUpdatePerTraceModule=function(e,t,r,n){var i=t.traceHash,a={},o;for(o=0;o<r.length;o++){var s=r[o],l=s[0].trace;l.visible&&(a[l.type]=a[l.type]||[],a[l.type].push(s))}for(var u in i)if(!a[u]){var c=i[u][0],f=c[0].trace;f.visible=!1,a[u]=[c]}for(var h in a){var d=a[h],v=d[0][0].trace._module;v.plot(e,t,Ca.filterVisible(d),n)}t.traceHash=a};ha.plotBasePlot=function(e,t,r,n,i){var a=bl.getModule(e),o=qit(t.calcdata,a)[0];a.plot(t,o,n,i)};ha.cleanBasePlot=function(e,t,r,n,i){var a=i._has&&i._has(e),o=r._has&&r._has(e);a&&!o&&i[\"_\"+e+\"layer\"].selectAll(\"g.trace\").remove()}});var Zp=ye(yb=>{\"use strict\";yb.xmlns=\"http://www.w3.org/2000/xmlns/\";yb.svg=\"http://www.w3.org/2000/svg\";yb.xlink=\"http://www.w3.org/1999/xlink\";yb.svgAttrs={xmlns:yb.svg,\"xmlns:xlink\":yb.xlink}});var Nh=ye((jtr,One)=>{\"use strict\";One.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\"}}});var Pl=ye(b0=>{\"use strict\";var vh=xa(),Ty=Mr(),Kit=Ty.strTranslate,uO=Zp(),Jit=Nh().LINE_SPACING,$it=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;b0.convertToTspans=function(e,t,r){var n=e.text(),i=!e.attr(\"data-notex\")&&t&&t._context.typesetMath&&typeof MathJax!=\"undefined\"&&n.match($it),a=vh.select(e.node().parentNode);if(a.empty())return;var o=e.attr(\"class\")?e.attr(\"class\").split(\" \")[0]:\"text\";o+=\"-math\",a.selectAll(\"svg.\"+o).remove(),a.selectAll(\"g.\"+o+\"-group\").remove(),e.style(\"display\",null).attr({\"data-unformatted\":n,\"data-math\":\"N\"});function s(){a.empty()||(o=e.attr(\"class\")+\"-math\",a.select(\"svg.\"+o).remove()),e.text(\"\").style(\"white-space\",\"pre\");var l=fnt(e.node(),n);l&&e.style(\"pointer-events\",\"all\"),b0.positionText(e),r&&r.call(e)}return i?(t&&t._promises||[]).push(new Promise(function(l){e.style(\"display\",\"none\");var u=parseInt(e.node().style.fontSize,10),c={fontSize:u};rnt(i[2],c,function(f,h,d){a.selectAll(\"svg.\"+o).remove(),a.selectAll(\"g.\"+o+\"-group\").remove();var v=f&&f.select(\"svg\");if(!v||!v.node()){s(),l();return}var x=a.append(\"g\").classed(o+\"-group\",!0).attr({\"pointer-events\":\"none\",\"data-unformatted\":n,\"data-math\":\"Y\"});x.node().appendChild(v.node()),h&&h.node()&&v.node().insertBefore(h.node().cloneNode(!0),v.node().firstChild);var b=d.width,p=d.height;v.attr({class:o,height:p,preserveAspectRatio:\"xMinYMin meet\"}).style({overflow:\"visible\",\"pointer-events\":\"none\"});var E=e.node().style.fill||\"black\",k=v.select(\"g\");k.attr({fill:E,stroke:E});var A=k.node().getBoundingClientRect(),L=A.width,_=A.height;(L>b||_>p)&&(v.style(\"overflow\",\"hidden\"),A=v.node().getBoundingClientRect(),L=A.width,_=A.height);var C=+e.attr(\"x\"),M=+e.attr(\"y\"),g=u||e.node().getBoundingClientRect().height,P=-g/4;if(o[0]===\"y\")x.attr({transform:\"rotate(\"+[-90,C,M]+\")\"+Kit(-L/2,P-_/2)});else if(o[0]===\"l\")M=P-_/2;else if(o[0]===\"a\"&&o.indexOf(\"atitle\")!==0)C=0,M=P;else{var T=e.attr(\"text-anchor\");C=C-L*(T===\"middle\"?.5:T===\"end\"?1:0),M=M+P-_/2}v.attr({x:C,y:M}),r&&r.call(e,x),l(x)})})):s(),e};var Qit=/(<|<|<)/g,ent=/(>|>|>)/g;function tnt(e){return e.replace(Qit,\"\\\\lt \").replace(ent,\"\\\\gt \")}var Bne=[[\"$\",\"$\"],[\"\\\\(\",\"\\\\)\"]];function rnt(e,t,r){var n=parseInt((MathJax.version||\"\").split(\".\")[0]);if(n!==2&&n!==3){Ty.warn(\"No MathJax version:\",MathJax.version);return}var i,a,o,s,l=function(){return a=Ty.extendDeepAll({},MathJax.Hub.config),o=MathJax.Hub.processSectionDelay,MathJax.Hub.processSectionDelay!==void 0&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:\"none\",tex2jax:{inlineMath:Bne},displayAlign:\"left\"})},u=function(){a=Ty.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=Bne},c=function(){if(i=MathJax.Hub.config.menuSettings.renderer,i!==\"SVG\")return MathJax.Hub.setRenderer(\"SVG\")},f=function(){i=MathJax.config.startup.output,i!==\"svg\"&&(MathJax.config.startup.output=\"svg\")},h=function(){var E=\"math-output-\"+Ty.randstr({},64);s=vh.select(\"body\").append(\"div\").attr({id:E}).style({visibility:\"hidden\",position:\"absolute\",\"font-size\":t.fontSize+\"px\"}).text(tnt(e));var k=s.node();return n===2?MathJax.Hub.Typeset(k):MathJax.typeset([k])},d=function(){var E=s.select(n===2?\".MathJax_SVG\":\".MathJax\"),k=!E.empty()&&s.select(\"svg\").node();if(!k)Ty.log(\"There was an error in the tex syntax.\",e),r();else{var A=k.getBoundingClientRect(),L;n===2?L=vh.select(\"body\").select(\"#MathJax_SVG_glyphs\"):L=E.select(\"defs\"),r(E,L,A)}s.remove()},v=function(){if(i!==\"SVG\")return MathJax.Hub.setRenderer(i)},x=function(){i!==\"svg\"&&(MathJax.config.startup.output=i)},b=function(){return o!==void 0&&(MathJax.Hub.processSectionDelay=o),MathJax.Hub.Config(a)},p=function(){MathJax.config=a};n===2?MathJax.Hub.Queue(l,c,h,d,v,b):n===3&&(u(),f(),MathJax.startup.defaultReady(),MathJax.startup.promise.then(function(){h(),d(),x(),p()}))}var Hne={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\"},int={sub:\"0.3em\",sup:\"-0.6em\"},nnt={sub:\"-0.21em\",sup:\"0.42em\"},Nne=\"\\u200B\",Une=[\"http:\",\"https:\",\"mailto:\",\"\",void 0,\":\"],Gne=b0.NEWLINES=/(\\r\\n?|\\n)/g,fO=/(<[^<>]*>)/,hO=/<(\\/?)([^ >]*)(\\s+(.*))?>/i,ant=/<br(\\s+.*)?>/i;b0.BR_TAG_ALL=/<br(\\s+.*)?>/gi;var jne=/(^|[\\s\"'])style\\s*=\\s*(\"([^\"]*);?\"|'([^']*);?')/i,Wne=/(^|[\\s\"'])href\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/i,Zne=/(^|[\\s\"'])target\\s*=\\s*(\"([^\"\\s]*)\"|'([^'\\s]*)')/i,ont=/(^|[\\s\"'])popup\\s*=\\s*(\"([\\w=,]*)\"|'([\\w=,]*)')/i;function _b(e,t){if(!e)return null;var r=e.match(t),n=r&&(r[3]||r[4]);return n&&Z6(n)}var snt=/(^|;)\\s*color:/;b0.plainText=function(e,t){t=t||{};for(var r=t.len!==void 0&&t.len!==-1?t.len:1/0,n=t.allowedTags!==void 0?t.allowedTags:[\"br\"],i=\"...\",a=i.length,o=e.split(fO),s=[],l=\"\",u=0,c=0;c<o.length;c++){var f=o[c],h=f.match(hO),d=h&&h[2].toLowerCase();if(d)n.indexOf(d)!==-1&&(s.push(f),l=d);else{var v=f.length;if(u+v<r)s.push(f),u+=v;else if(u<r){var x=r-u;l&&(l!==\"br\"||x<=a||v<=a)&&s.pop(),r>a?s.push(f.substr(0,x-a)+i):s.push(f.substr(0,x));break}l=\"\"}}return s.join(\"\")};var lnt={mu:\"\\u03BC\",amp:\"&\",lt:\"<\",gt:\">\",nbsp:\"\\xA0\",times:\"\\xD7\",plusmn:\"\\xB1\",deg:\"\\xB0\"},unt=/&(#\\d+|#x[\\da-fA-F]+|[a-z]+);/g;function Z6(e){return e.replace(unt,function(t,r){var n;return r.charAt(0)===\"#\"?n=cnt(r.charAt(1)===\"x\"?parseInt(r.substr(2),16):parseInt(r.substr(1),10)):n=lnt[r],n||t})}b0.convertEntities=Z6;function cnt(e){if(!(e>1114111)){var t=String.fromCodePoint;if(t)return t(e);var r=String.fromCharCode;return e<=65535?r(e):r((e>>10)+55232,e%1024+56320)}}function fnt(e,t){t=t.replace(Gne,\" \");var r=!1,n=[],i,a=-1;function o(){a++;var _=document.createElementNS(uO.svg,\"tspan\");vh.select(_).attr({class:\"line\",dy:a*Jit+\"em\"}),e.appendChild(_),i=_;var C=n;if(n=[{node:_}],C.length>1)for(var M=1;M<C.length;M++)s(C[M])}function s(_){var C=_.type,M={},g;if(C===\"a\"){g=\"a\";var P=_.target,T=_.href,F=_.popup;T&&(M={\"xlink:xlink:show\":P===\"_blank\"||P.charAt(0)!==\"_\"?\"new\":\"replace\",target:P,\"xlink:xlink:href\":T},F&&(M.onclick='window.open(this.href.baseVal,this.target.baseVal,\"'+F+'\");return false;'))}else g=\"tspan\";_.style&&(M.style=_.style);var q=document.createElementNS(uO.svg,g);if(C===\"sup\"||C===\"sub\"){l(i,Nne),i.appendChild(q);var V=document.createElementNS(uO.svg,\"tspan\");l(V,Nne),vh.select(V).attr(\"dy\",nnt[C]),M.dy=int[C],i.appendChild(q),i.appendChild(V)}else i.appendChild(q);vh.select(q).attr(M),i=_.node=q,n.push(_)}function l(_,C){_.appendChild(document.createTextNode(C))}function u(_){if(n.length===1){Ty.log(\"Ignoring unexpected end tag </\"+_+\">.\",t);return}var C=n.pop();_!==C.type&&Ty.log(\"Start tag <\"+C.type+\"> doesnt match end tag <\"+_+\">. Pretending it did match.\",t),i=n[n.length-1].node}var c=ant.test(t);c?o():(i=e,n=[{node:e}]);for(var f=t.split(fO),h=0;h<f.length;h++){var d=f[h],v=d.match(hO),x=v&&v[2].toLowerCase(),b=Hne[x];if(x===\"br\")o();else if(b===void 0)l(i,Z6(d));else if(v[1])u(x);else{var p=v[4],E={type:x},k=_b(p,jne);if(k?(k=k.replace(snt,\"$1 fill:\"),b&&(k+=\";\"+b)):b&&(k=b),k&&(E.style=k),x===\"a\"){r=!0;var A=_b(p,Wne);if(A){var L=Xne(A);L&&(E.href=L,E.target=_b(p,Zne)||\"_blank\",E.popup=_b(p,ont))}}s(E)}}return r}function Xne(e){var t=encodeURI(decodeURI(e)),r=document.createElement(\"a\"),n=document.createElement(\"a\");r.href=e,n.href=t;var i=r.protocol,a=n.protocol;return Une.indexOf(i)!==-1&&Une.indexOf(a)!==-1?t:\"\"}b0.sanitizeHTML=function(t){t=t.replace(Gne,\" \");for(var r=document.createElement(\"p\"),n=r,i=[],a=t.split(fO),o=0;o<a.length;o++){var s=a[o],l=s.match(hO),u=l&&l[2].toLowerCase();if(u in Hne)if(l[1])i.length&&(n=i.pop());else{var c=l[4],f=_b(c,jne),h=f?{style:f}:{};if(u===\"a\"){var d=_b(c,Wne);if(d){var v=Xne(d);if(v){h.href=v;var x=_b(c,Zne);x&&(h.target=x)}}}var b=document.createElement(u);n.appendChild(b),vh.select(b).attr(h),n=b,i.push(b)}else n.appendChild(document.createTextNode(Z6(s)))}var p=\"innerHTML\";return r[p]};b0.lineCount=function(t){return t.selectAll(\"tspan.line\").size()||1};b0.positionText=function(t,r,n){return t.each(function(){var i=vh.select(this);function a(l,u){return u===void 0?(u=i.attr(l),u===null&&(i.attr(l,0),u=0)):i.attr(l,u),u}var o=a(\"x\",r),s=a(\"y\",n);this.nodeName===\"text\"&&i.selectAll(\"tspan.line\").attr({x:o,y:s})})};function Vne(e,t,r){var n=r.horizontalAlign,i=r.verticalAlign||\"top\",a=e.node().getBoundingClientRect(),o=t.node().getBoundingClientRect(),s,l,u;return i===\"bottom\"?l=function(){return a.bottom-s.height}:i===\"middle\"?l=function(){return a.top+(a.height-s.height)/2}:l=function(){return a.top},n===\"right\"?u=function(){return a.right-s.width}:n===\"center\"?u=function(){return a.left+(a.width-s.width)/2}:u=function(){return a.left},function(){s=this.node().getBoundingClientRect();var c=u()-o.left,f=l()-o.top,h=r.gd||{};if(r.gd){h._fullLayout._calcInverseTransform(h);var d=Ty.apply3DTransform(h._fullLayout._invTransform)(c,f);c=d[0],f=d[1]}return this.style({top:f+\"px\",left:c+\"px\",\"z-index\":1e3}),this}}var cO=\"1px \";b0.makeTextShadow=function(e){var t=cO,r=cO,n=cO;return t+r+n+e+\", -\"+t+\"-\"+r+n+e+\", \"+t+\"-\"+r+n+e+\", -\"+t+r+n+e};b0.makeEditable=function(e,t){var r=t.gd,n=t.delegate,i=vh.dispatch(\"edit\",\"input\",\"cancel\"),a=n||e;if(e.style({\"pointer-events\":n?\"none\":\"all\"}),e.size()!==1)throw new Error(\"boo\");function o(){l(),e.style({opacity:0});var u=a.attr(\"class\"),c;u?c=\".\"+u.split(\" \")[0]+\"-math-group\":c=\"[class*=-math-group]\",c&&vh.select(e.node().parentNode).select(c).style({opacity:0})}function s(u){var c=u.node(),f=document.createRange();f.selectNodeContents(c);var h=window.getSelection();h.removeAllRanges(),h.addRange(f),c.focus()}function l(){var u=vh.select(r),c=u.select(\".svg-container\"),f=c.append(\"div\"),h=e.node().style,d=parseFloat(h.fontSize||12),v=t.text;v===void 0&&(v=e.attr(\"data-unformatted\")),f.classed(\"plugin-editable editable\",!0).style({position:\"absolute\",\"font-family\":h.fontFamily||\"Arial\",\"font-size\":d,color:t.fill||h.fill||\"black\",opacity:1,\"background-color\":t.background||\"transparent\",outline:\"#ffffff33 1px solid\",margin:[-d/8+1,0,0,-1].join(\"px \")+\"px\",padding:\"0\",\"box-sizing\":\"border-box\"}).attr({contenteditable:!0}).text(v).call(Vne(e,c,t)).on(\"blur\",function(){r._editing=!1,e.text(this.textContent).style({opacity:1});var x=vh.select(this).attr(\"class\"),b;x?b=\".\"+x.split(\" \")[0]+\"-math-group\":b=\"[class*=-math-group]\",b&&vh.select(e.node().parentNode).select(b).style({opacity:0});var p=this.textContent;vh.select(this).transition().duration(0).remove(),vh.select(document).on(\"mouseup\",null),i.edit.call(e,p)}).on(\"focus\",function(){var x=this;r._editing=!0,vh.select(document).on(\"mouseup\",function(){if(vh.event.target===x)return!1;document.activeElement===f.node()&&f.node().blur()})}).on(\"keyup\",function(){vh.event.which===27?(r._editing=!1,e.style({opacity:1}),vh.select(this).style({opacity:0}).on(\"blur\",function(){return!1}).transition().remove(),i.cancel.call(e,this.textContent)):(i.input.call(e,this.textContent),vh.select(this).call(Vne(e,c,t)))}).on(\"keydown\",function(){vh.event.which===13&&this.blur()}).call(s)}return t.immediate?o():a.on(\"click\",o),vh.rebind(e,i,\"on\")}});var Dv=ye((Ztr,rae)=>{\"use strict\";var hnt=xa(),Y6=id(),ZS=uo(),X6=Mr(),Yne=va(),dnt=sb().isValid;function vnt(e,t,r){var n=t?X6.nestedProperty(e,t).get()||{}:e,i=n[r||\"color\"];i&&i._inputArray&&(i=i._inputArray);var a=!1;if(X6.isArrayOrTypedArray(i)){for(var o=0;o<i.length;o++)if(ZS(i[o])){a=!0;break}}return X6.isPlainObject(n)&&(a||n.showscale===!0||ZS(n.cmin)&&ZS(n.cmax)||dnt(n.colorscale)||X6.isPlainObject(n.colorbar))}var Kne=[\"showscale\",\"autocolorscale\",\"colorscale\",\"reversescale\",\"colorbar\"],WS=[\"min\",\"max\",\"mid\",\"auto\"];function $ne(e){var t=e._colorAx,r=t||e,n={},i,a,o;for(a=0;a<Kne.length;a++)o=Kne[a],n[o]=r[o];if(t)for(i=\"c\",a=0;a<WS.length;a++)o=WS[a],n[o]=r[\"c\"+o];else{var s;for(a=0;a<WS.length;a++){if(o=WS[a],s=\"c\"+o,s in r){n[o]=r[s];continue}s=\"z\"+o,s in r&&(n[o]=r[s])}i=s.charAt(0)}return n._sync=function(l,u){var c=WS.indexOf(l)!==-1?i+l:l;r[c]=r[\"_\"+c]=u},n}function Qne(e){for(var t=$ne(e),r=t.min,n=t.max,i=t.reversescale?eae(t.colorscale):t.colorscale,a=i.length,o=new Array(a),s=new Array(a),l=0;l<a;l++){var u=i[l];o[l]=r+u[0]*(n-r),s[l]=u[1]}return{domain:o,range:s}}function eae(e){for(var t=e.length,r=new Array(t),n=t-1,i=0;n>=0;n--,i++){var a=e[n];r[i]=[1-a[0],a[1]]}return r}function tae(e,t){t=t||{};for(var r=e.domain,n=e.range,i=n.length,a=new Array(i),o=0;o<i;o++){var s=Y6(n[o]).toRgb();a[o]=[s.r,s.g,s.b,s.a]}var l=hnt.scale.linear().domain(r).range(a).clamp(!0),u=t.noNumericCheck,c=t.returnArray,f;return u&&c?f=l:u?f=function(h){return Jne(l(h))}:c?f=function(h){return ZS(h)?l(h):Y6(h).isValid()?h:Yne.defaultLine}:f=function(h){return ZS(h)?Jne(l(h)):Y6(h).isValid()?h:Yne.defaultLine},f.domain=l.domain,f.range=function(){return n},f}function pnt(e,t){return tae(Qne(e),t)}function Jne(e){var t={r:e[0],g:e[1],b:e[2],a:e[3]};return Y6(t).toRgbString()}rae.exports={hasColorscale:vnt,extractOpts:$ne,extractScale:Qne,flipScale:eae,makeColorScaleFunc:tae,makeColorScaleFuncFromTrace:pnt}});var Oc=ye((Xtr,aae)=>{\"use strict\";var iae=Rq(),gnt=iae.FORMAT_LINK,mnt=iae.DATE_FORMAT_LINK;function ynt(e,t){return{valType:\"string\",dflt:\"\",editType:\"none\",description:(t?dO:nae)(\"hover text\",e)+[\"By default the values are formatted using \"+(t?\"generic number format\":\"`\"+e+\"axis.hoverformat`\")+\".\"].join(\" \")}}function dO(e,t){return[\"Sets the \"+e+\" formatting rule\"+(t?\"for `\"+t+\"` \":\"\"),\"using d3 formatting mini-languages\",\"which are very similar to those in Python. For numbers, see: \"+gnt+\".\"].join(\" \")}function nae(e,t){return dO(e,t)+[\" And for dates see: \"+mnt+\".\",\"We add two items to d3's date formatter:\",\"*%h* for half of the year as a decimal number as well as\",\"*%{n}f* for fractional seconds\",\"with n digits. For example, *2016-10-13 09:15:23.456* with tickformat\",\"*%H~%M~%S.%2f* would display *09~15~23.46*\"].join(\" \")}aae.exports={axisHoverFormat:ynt,descriptionOnlyNumbers:dO,descriptionWithDates:nae}});var Cd=ye((Ytr,wae)=>{\"use strict\";var oae=Su(),w3=dh(),bae=Ed().dash,pO=no().extendFlat,sae=Vs().templatedArray,lae=Oc().descriptionWithDates,_nt=es().ONEDAY,pm=ad(),xnt=pm.HOUR_PATTERN,bnt=pm.WEEKDAY_PATTERN,vO={valType:\"enumerated\",values:[\"auto\",\"linear\",\"array\"],editType:\"ticks\",impliedEdits:{tick0:void 0,dtick:void 0}},wnt=pO({},vO,{values:vO.values.slice().concat([\"sync\"])});function uae(e){return{valType:\"integer\",min:0,dflt:e?5:0,editType:\"ticks\"}}var cae={valType:\"any\",editType:\"ticks\",impliedEdits:{tickmode:\"linear\"}},fae={valType:\"any\",editType:\"ticks\",impliedEdits:{tickmode:\"linear\"}},hae={valType:\"data_array\",editType:\"ticks\"},dae={valType:\"enumerated\",values:[\"outside\",\"inside\",\"\"],editType:\"ticks\"};function vae(e){var t={valType:\"number\",min:0,editType:\"ticks\"};return e||(t.dflt=5),t}function pae(e){var t={valType:\"number\",min:0,editType:\"ticks\"};return e||(t.dflt=1),t}var gae={valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},mae={valType:\"color\",dflt:w3.lightLine,editType:\"ticks\"};function yae(e){var t={valType:\"number\",min:0,editType:\"ticks\"};return e||(t.dflt=1),t}var _ae=pO({},bae,{editType:\"ticks\"}),xae={valType:\"boolean\",editType:\"ticks\"};wae.exports={visible:{valType:\"boolean\",editType:\"plot\"},color:{valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},title:{text:{valType:\"string\",editType:\"ticks\"},font:oae({editType:\"ticks\"}),standoff:{valType:\"number\",min:0,editType:\"ticks\"},editType:\"ticks\"},type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"log\",\"date\",\"category\",\"multicategory\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},autotypenumbers:{valType:\"enumerated\",values:[\"convert types\",\"strict\"],dflt:\"convert types\",editType:\"calc\"},autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\",\"min reversed\",\"max reversed\",\"min\",\"max\"],dflt:!0,editType:\"axrange\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},autorangeoptions:{minallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},maxallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},clipmin:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},clipmax:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},include:{valType:\"any\",arrayOk:!0,editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},editType:\"plot\"},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"plot\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"axrange\",impliedEdits:{\"^autorange\":!1},anim:!0},{valType:\"any\",editType:\"axrange\",impliedEdits:{\"^autorange\":!1},anim:!0}],editType:\"axrange\",impliedEdits:{autorange:!1},anim:!0},minallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},maxallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},insiderange:{valType:\"info_array\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},scaleanchor:{valType:\"enumerated\",values:[pm.idRegex.x.toString(),pm.idRegex.y.toString(),!1],editType:\"plot\"},scaleratio:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},constrain:{valType:\"enumerated\",values:[\"range\",\"domain\"],editType:\"plot\"},constraintoward:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\",\"top\",\"middle\",\"bottom\"],editType:\"plot\"},matches:{valType:\"enumerated\",values:[pm.idRegex.x.toString(),pm.idRegex.y.toString()],editType:\"calc\"},rangebreaks:sae(\"rangebreak\",{enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},bounds:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}],editType:\"calc\"},pattern:{valType:\"enumerated\",values:[bnt,xnt,\"\"],editType:\"calc\"},values:{valType:\"info_array\",freeLength:!0,editType:\"calc\",items:{valType:\"any\",editType:\"calc\"}},dvalue:{valType:\"number\",editType:\"calc\",min:0,dflt:_nt},editType:\"calc\"}),tickmode:wnt,nticks:uae(),tick0:cae,dtick:fae,ticklabelstep:{valType:\"integer\",min:1,dflt:1,editType:\"ticks\"},tickvals:hae,ticktext:{valType:\"data_array\",editType:\"ticks\"},ticks:dae,tickson:{valType:\"enumerated\",values:[\"labels\",\"boundaries\"],dflt:\"labels\",editType:\"ticks\"},ticklabelmode:{valType:\"enumerated\",values:[\"instant\",\"period\"],dflt:\"instant\",editType:\"ticks\"},ticklabelposition:{valType:\"enumerated\",values:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside left\",\"inside left\",\"outside right\",\"inside right\",\"outside bottom\",\"inside bottom\"],dflt:\"outside\",editType:\"calc\"},ticklabeloverflow:{valType:\"enumerated\",values:[\"allow\",\"hide past div\",\"hide past domain\"],editType:\"calc\"},ticklabelshift:{valType:\"integer\",dflt:0,editType:\"ticks\"},ticklabelstandoff:{valType:\"integer\",dflt:0,editType:\"ticks\"},ticklabelindex:{valType:\"integer\",arrayOk:!0,editType:\"calc\"},mirror:{valType:\"enumerated\",values:[!0,\"ticks\",!1,\"all\",\"allticks\"],dflt:!1,editType:\"ticks+layoutstyle\"},ticklen:vae(),tickwidth:pae(),tickcolor:gae,showticklabels:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},labelalias:{valType:\"any\",dflt:!1,editType:\"ticks\"},automargin:{valType:\"flaglist\",flags:[\"height\",\"width\",\"left\",\"right\",\"top\",\"bottom\"],extras:[!0,!1],dflt:!1,editType:\"ticks\"},showspikes:{valType:\"boolean\",dflt:!1,editType:\"modebar\"},spikecolor:{valType:\"color\",dflt:null,editType:\"none\"},spikethickness:{valType:\"number\",dflt:3,editType:\"none\"},spikedash:pO({},bae,{dflt:\"dash\",editType:\"none\"}),spikemode:{valType:\"flaglist\",flags:[\"toaxis\",\"across\",\"marker\"],dflt:\"toaxis\",editType:\"none\"},spikesnap:{valType:\"enumerated\",values:[\"data\",\"cursor\",\"hovered data\"],dflt:\"hovered data\",editType:\"none\"},tickfont:oae({editType:\"ticks\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"ticks\"},autotickangles:{valType:\"info_array\",freeLength:!0,items:{valType:\"angle\"},dflt:[0,30,90],editType:\"ticks\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"ticks\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"ticks\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"ticks\"},minexponent:{valType:\"number\",dflt:3,min:0,editType:\"ticks\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"ticks\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"ticks\",description:lae(\"tick label\")},tickformatstops:sae(\"tickformatstop\",{enabled:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},dtickrange:{valType:\"info_array\",items:[{valType:\"any\",editType:\"ticks\"},{valType:\"any\",editType:\"ticks\"}],editType:\"ticks\"},value:{valType:\"string\",dflt:\"\",editType:\"ticks\"},editType:\"ticks\"}),hoverformat:{valType:\"string\",dflt:\"\",editType:\"none\",description:lae(\"hover text\")},showline:{valType:\"boolean\",dflt:!1,editType:\"ticks+layoutstyle\"},linecolor:{valType:\"color\",dflt:w3.defaultLine,editType:\"layoutstyle\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"ticks+layoutstyle\"},showgrid:xae,gridcolor:mae,gridwidth:yae(),griddash:_ae,zeroline:{valType:\"boolean\",editType:\"ticks\"},zerolinecolor:{valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},zerolinewidth:{valType:\"number\",dflt:1,editType:\"ticks\"},showdividers:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},dividercolor:{valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},dividerwidth:{valType:\"number\",dflt:1,editType:\"ticks\"},anchor:{valType:\"enumerated\",values:[\"free\",pm.idRegex.x.toString(),pm.idRegex.y.toString()],editType:\"plot\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"],editType:\"plot\"},overlaying:{valType:\"enumerated\",values:[\"free\",pm.idRegex.x.toString(),pm.idRegex.y.toString()],editType:\"plot\"},minor:{tickmode:vO,nticks:uae(\"minor\"),tick0:cae,dtick:fae,tickvals:hae,ticks:dae,ticklen:vae(\"minor\"),tickwidth:pae(\"minor\"),tickcolor:gae,gridcolor:mae,gridwidth:yae(\"minor\"),griddash:_ae,showgrid:xae,editType:\"ticks\"},layer:{valType:\"enumerated\",values:[\"above traces\",\"below traces\"],dflt:\"above traces\",editType:\"plot\"},domain:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1,editType:\"plot\"},{valType:\"number\",min:0,max:1,editType:\"plot\"}],dflt:[0,1],editType:\"plot\"},position:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot\"},autoshift:{valType:\"boolean\",dflt:!1,editType:\"plot\"},shift:{valType:\"number\",editType:\"plot\"},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\",\"total ascending\",\"total descending\",\"min ascending\",\"min descending\",\"max ascending\",\"max descending\",\"sum ascending\",\"sum descending\",\"mean ascending\",\"mean descending\",\"geometric mean ascending\",\"geometric mean descending\",\"median ascending\",\"median descending\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"}});var K6=ye((Ktr,Sae)=>{\"use strict\";var Ac=Cd(),Tae=Su(),Aae=no().extendFlat,Tnt=Bu().overrideAll;Sae.exports=Tnt({orientation:{valType:\"enumerated\",values:[\"h\",\"v\"],dflt:\"v\"},thicknessmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"pixels\"},thickness:{valType:\"number\",min:0,dflt:30},lenmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"fraction\"},len:{valType:\"number\",min:0,dflt:1},x:{valType:\"number\"},xref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"]},xpad:{valType:\"number\",min:0,dflt:10},y:{valType:\"number\"},yref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"]},ypad:{valType:\"number\",min:0,dflt:10},outlinecolor:Ac.linecolor,outlinewidth:Ac.linewidth,bordercolor:Ac.linecolor,borderwidth:{valType:\"number\",min:0,dflt:0},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},tickmode:Ac.minor.tickmode,nticks:Ac.nticks,tick0:Ac.tick0,dtick:Ac.dtick,tickvals:Ac.tickvals,ticktext:Ac.ticktext,ticks:Aae({},Ac.ticks,{dflt:\"\"}),ticklabeloverflow:Aae({},Ac.ticklabeloverflow,{}),ticklabelposition:{valType:\"enumerated\",values:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside left\",\"inside left\",\"outside right\",\"inside right\",\"outside bottom\",\"inside bottom\"],dflt:\"outside\"},ticklen:Ac.ticklen,tickwidth:Ac.tickwidth,tickcolor:Ac.tickcolor,ticklabelstep:Ac.ticklabelstep,showticklabels:Ac.showticklabels,labelalias:Ac.labelalias,tickfont:Tae({}),tickangle:Ac.tickangle,tickformat:Ac.tickformat,tickformatstops:Ac.tickformatstops,tickprefix:Ac.tickprefix,showtickprefix:Ac.showtickprefix,ticksuffix:Ac.ticksuffix,showticksuffix:Ac.showticksuffix,separatethousands:Ac.separatethousands,exponentformat:Ac.exponentformat,minexponent:Ac.minexponent,showexponent:Ac.showexponent,title:{text:{valType:\"string\"},font:Tae({}),side:{valType:\"enumerated\",values:[\"right\",\"top\",\"bottom\"]}}},\"colorbars\",\"from-root\")});var Jl=ye(($tr,Eae)=>{\"use strict\";var Ant=K6(),Snt=n3().counter,Mnt=Y1(),Mae=sb().scales,Jtr=Mnt(Mae);function J6(e){return\"`\"+e+\"`\"}Eae.exports=function(t,r){t=t||\"\",r=r||{};var n=r.cLetter||\"c\",i=\"onlyIfNumerical\"in r?r.onlyIfNumerical:!!t,a=\"noScale\"in r?r.noScale:t===\"marker.line\",o=\"showScaleDflt\"in r?r.showScaleDflt:n===\"z\",s=typeof r.colorscaleDflt==\"string\"?Mae[r.colorscaleDflt]:null,l=r.editTypeOverride||\"\",u=t?t+\".\":\"\",c,f;\"colorAttr\"in r?(c=r.colorAttr,f=r.colorAttr):(c={z:\"z\",c:\"color\"}[n],f=\"in \"+J6(u+c));var h=i?\" Has an effect only if \"+f+\" is set to a numerical array.\":\"\",d=n+\"auto\",v=n+\"min\",x=n+\"max\",b=n+\"mid\",p=J6(u+d),E=J6(u+v),k=J6(u+x),A=E+\" and \"+k,L={};L[v]=L[x]=void 0;var _={};_[d]=!1;var C={};return c===\"color\"&&(C.color={valType:\"color\",arrayOk:!0,editType:l||\"style\"},r.anim&&(C.color.anim=!0)),C[d]={valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:L},C[v]={valType:\"number\",dflt:null,editType:l||\"plot\",impliedEdits:_},C[x]={valType:\"number\",dflt:null,editType:l||\"plot\",impliedEdits:_},C[b]={valType:\"number\",dflt:null,editType:\"calc\",impliedEdits:L},C.colorscale={valType:\"colorscale\",editType:\"calc\",dflt:s,impliedEdits:{autocolorscale:!1}},C.autocolorscale={valType:\"boolean\",dflt:r.autoColorDflt!==!1,editType:\"calc\",impliedEdits:{colorscale:void 0}},C.reversescale={valType:\"boolean\",dflt:!1,editType:\"plot\"},a||(C.showscale={valType:\"boolean\",dflt:o,editType:\"calc\"},C.colorbar=Ant),r.noColorAxis||(C.coloraxis={valType:\"subplotid\",regex:Snt(\"coloraxis\"),dflt:null,editType:\"calc\"}),C}});var mO=ye((Qtr,kae)=>{\"use strict\";var Ent=no().extendFlat,knt=Jl(),gO=sb().scales;kae.exports={editType:\"calc\",colorscale:{editType:\"calc\",sequential:{valType:\"colorscale\",dflt:gO.Reds,editType:\"calc\"},sequentialminus:{valType:\"colorscale\",dflt:gO.Blues,editType:\"calc\"},diverging:{valType:\"colorscale\",dflt:gO.RdBu,editType:\"calc\"}},coloraxis:Ent({_isSubplotObj:!0,editType:\"calc\"},knt(\"\",{colorAttr:\"corresponding trace color array(s)\",noColorAxis:!0,showScaleDflt:!0}))}});var yO=ye((err,Cae)=>{\"use strict\";var Cnt=Mr();Cae.exports=function(t){return Cnt.isPlainObject(t.colorbar)}});var bO=ye(xO=>{\"use strict\";var _O=uo(),Lae=Mr(),Pae=es(),Lnt=Pae.ONEDAY,Pnt=Pae.ONEWEEK;xO.dtick=function(e,t){var r=t===\"log\",n=t===\"date\",i=t===\"category\",a=n?Lnt:1;if(!e)return a;if(_O(e))return e=Number(e),e<=0?a:i?Math.max(1,Math.round(e)):n?Math.max(.1,e):e;if(typeof e!=\"string\"||!(n||r))return a;var o=e.charAt(0),s=e.substr(1);return s=_O(s)?Number(s):0,s<=0||!(n&&o===\"M\"&&s===Math.round(s)||r&&o===\"L\"||r&&o===\"D\"&&(s===1||s===2))?a:e};xO.tick0=function(e,t,r,n){if(t===\"date\")return Lae.cleanDate(e,Lae.dateTick0(r,n%Pnt===0?1:0));if(!(n===\"D1\"||n===\"D2\"))return _O(e)?Number(e):0}});var xb=ye((rrr,Rae)=>{\"use strict\";var Iae=bO(),Int=Mr().isArrayOrTypedArray,Rnt=vv().isTypedArraySpec,Dnt=vv().decodeTypedArraySpec;Rae.exports=function(t,r,n,i,a){a||(a={});var o=a.isMinor,s=o?t.minor||{}:t,l=o?r.minor:r,u=o?\"minor.\":\"\";function c(E){var k=s[E];return Rnt(k)&&(k=Dnt(k)),k!==void 0?k:(l._template||{})[E]}var f=c(\"tick0\"),h=c(\"dtick\"),d=c(\"tickvals\"),v=Int(d)?\"array\":h?\"linear\":\"auto\",x=n(u+\"tickmode\",v);if(x===\"auto\"||x===\"sync\")n(u+\"nticks\");else if(x===\"linear\"){var b=l.dtick=Iae.dtick(h,i);l.tick0=Iae.tick0(f,i,r.calendar,b)}else if(i!==\"multicategory\"){var p=n(u+\"tickvals\");p===void 0?l.tickmode=\"auto\":o||n(\"ticktext\")}}});var T3=ye((irr,zae)=>{\"use strict\";var wO=Mr(),Dae=Cd();zae.exports=function(t,r,n,i){var a=i.isMinor,o=a?t.minor||{}:t,s=a?r.minor:r,l=a?Dae.minor:Dae,u=a?\"minor.\":\"\",c=wO.coerce2(o,s,l,\"ticklen\",a?(r.ticklen||5)*.6:void 0),f=wO.coerce2(o,s,l,\"tickwidth\",a?r.tickwidth||1:void 0),h=wO.coerce2(o,s,l,\"tickcolor\",(a?r.tickcolor:void 0)||s.color),d=n(u+\"ticks\",!a&&i.outerTicks||c||f||h?\"outside\":\"\");d||(delete s.ticklen,delete s.tickwidth,delete s.tickcolor)}});var TO=ye((nrr,Fae)=>{\"use strict\";Fae.exports=function(t){var r=[\"showexponent\",\"showtickprefix\",\"showticksuffix\"],n=r.filter(function(a){return t[a]!==void 0}),i=function(a){return t[a]===t[n[0]]};if(n.every(i)||n.length===1)return t[n[0]]}});var Zd=ye((arr,qae)=>{\"use strict\";var $6=Mr(),znt=Vs();qae.exports=function(t,r,n){var i=n.name,a=n.inclusionAttr||\"visible\",o=r[i],s=$6.isArrayOrTypedArray(t[i])?t[i]:[],l=r[i]=[],u=znt.arrayTemplater(r,i,a),c,f;for(c=0;c<s.length;c++){var h=s[c];$6.isPlainObject(h)?f=u.newItem(h):(f=u.newItem({}),f[a]=!1),f._index=c,f[a]!==!1&&n.handleItemDefaults(h,f,r,n),l.push(f)}var d=u.defaultItems();for(c=0;c<d.length;c++)f=d[c],f._index=l.length,n.handleItemDefaults({},f,r,n,{}),l.push(f);if($6.isArrayOrTypedArray(o)){var v=Math.min(o.length,l.length);for(c=0;c<v;c++)$6.relinkPrivateKeys(l[c],o[c])}return l}});var t_=ye((orr,Bae)=>{\"use strict\";var AO=Mr(),Fnt=va().contrast,Oae=Cd(),qnt=TO(),Ont=Zd();Bae.exports=function(t,r,n,i,a){a||(a={});var o=n(\"labelalias\");AO.isPlainObject(o)||delete r.labelalias;var s=qnt(t),l=n(\"showticklabels\");if(l){a.noTicklabelshift||n(\"ticklabelshift\"),a.noTicklabelstandoff||n(\"ticklabelstandoff\");var u=a.font||{},c=r.color,f=r.ticklabelposition||\"\",h=f.indexOf(\"inside\")!==-1?Fnt(a.bgColor):c&&c!==Oae.color.dflt?c:u.color;if(AO.coerceFont(n,\"tickfont\",u,{overrideDflt:{color:h}}),!a.noTicklabelstep&&i!==\"multicategory\"&&i!==\"log\"&&n(\"ticklabelstep\"),!a.noAng){var d=n(\"tickangle\");!a.noAutotickangles&&d===\"auto\"&&n(\"autotickangles\")}if(i!==\"category\"){var v=n(\"tickformat\");Ont(t,r,{name:\"tickformatstops\",inclusionAttr:\"enabled\",handleItemDefaults:Bnt}),r.tickformatstops.length||delete r.tickformatstops,!a.noExp&&!v&&i!==\"date\"&&(n(\"showexponent\",s),n(\"exponentformat\"),n(\"minexponent\"),n(\"separatethousands\"))}}};function Bnt(e,t){function r(i,a){return AO.coerce(e,t,Oae.tickformatstops,i,a)}var n=r(\"enabled\");n&&(r(\"dtickrange\"),r(\"value\"))}});var r_=ye((srr,Nae)=>{\"use strict\";var Nnt=TO();Nae.exports=function(t,r,n,i,a){a||(a={});var o=a.tickSuffixDflt,s=Nnt(t),l=n(\"tickprefix\");l&&n(\"showtickprefix\",s);var u=n(\"ticksuffix\",o);u&&n(\"showticksuffix\",s)}});var SO=ye((lrr,Uae)=>{\"use strict\";var i_=Mr(),Unt=Vs(),Vnt=xb(),Hnt=T3(),Gnt=t_(),jnt=r_(),Wnt=K6();Uae.exports=function(t,r,n){var i=Unt.newContainer(r,\"colorbar\"),a=t.colorbar||{};function o(T,F){return i_.coerce(a,i,Wnt,T,F)}var s=n.margin||{t:0,b:0,l:0,r:0},l=n.width-s.l-s.r,u=n.height-s.t-s.b,c=o(\"orientation\"),f=c===\"v\",h=o(\"thicknessmode\");o(\"thickness\",h===\"fraction\"?30/(f?l:u):30);var d=o(\"lenmode\");o(\"len\",d===\"fraction\"?1:f?u:l);var v=o(\"yref\"),x=o(\"xref\"),b=v===\"paper\",p=x===\"paper\",E,k,A,L=\"left\";f?(A=\"middle\",L=p?\"left\":\"right\",E=p?1.02:1,k=.5):(A=b?\"bottom\":\"top\",L=\"center\",E=.5,k=b?1.02:1),i_.coerce(a,i,{x:{valType:\"number\",min:p?-2:0,max:p?3:1,dflt:E}},\"x\"),i_.coerce(a,i,{y:{valType:\"number\",min:b?-2:0,max:b?3:1,dflt:k}},\"y\"),o(\"xanchor\",L),o(\"xpad\"),o(\"yanchor\",A),o(\"ypad\"),i_.noneOrAll(a,i,[\"x\",\"y\"]),o(\"outlinecolor\"),o(\"outlinewidth\"),o(\"bordercolor\"),o(\"borderwidth\"),o(\"bgcolor\");var _=i_.coerce(a,i,{ticklabelposition:{valType:\"enumerated\",dflt:\"outside\",values:f?[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside bottom\",\"inside bottom\"]:[\"outside\",\"inside\",\"outside left\",\"inside left\",\"outside right\",\"inside right\"]}},\"ticklabelposition\");o(\"ticklabeloverflow\",_.indexOf(\"inside\")!==-1?\"hide past domain\":\"hide past div\"),Vnt(a,i,o,\"linear\");var C=n.font,M={noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,outerTicks:!1,font:C};_.indexOf(\"inside\")!==-1&&(M.bgColor=\"black\"),jnt(a,i,o,\"linear\",M),Gnt(a,i,o,\"linear\",M),Hnt(a,i,o,\"linear\",M),o(\"title.text\",n._dfltTitle.colorbar);var g=i.showticklabels?i.tickfont:C,P=i_.extendFlat({},C,{family:g.family,size:i_.bigFont(g.size)});i_.coerceFont(o,\"title.font\",P),o(\"title.side\",f?\"top\":\"right\")}});var Uh=ye((urr,Gae)=>{\"use strict\";var Vae=uo(),EO=Mr(),Znt=yO(),Xnt=SO(),Hae=sb().isValid,Ynt=ba().traceIs;function MO(e,t){var r=t.slice(0,t.length-1);return t?EO.nestedProperty(e,r).get()||{}:e}Gae.exports=function e(t,r,n,i,a){var o=a.prefix,s=a.cLetter,l=\"_module\"in r,u=MO(t,o),c=MO(r,o),f=MO(r._template||{},o)||{},h=function(){return delete t.coloraxis,delete r.coloraxis,e(t,r,n,i,a)};if(l){var d=n._colorAxes||{},v=i(o+\"coloraxis\");if(v){var x=Ynt(r,\"contour\")&&EO.nestedProperty(r,\"contours.coloring\").get()||\"heatmap\",b=d[v];b?(b[2].push(h),b[0]!==x&&(b[0]=!1,EO.warn([\"Ignoring coloraxis:\",v,\"setting\",\"as it is linked to incompatible colorscales.\"].join(\" \")))):d[v]=[x,r,[h]];return}}var p=u[s+\"min\"],E=u[s+\"max\"],k=Vae(p)&&Vae(E)&&p<E,A=i(o+s+\"auto\",!k);A?i(o+s+\"mid\"):(i(o+s+\"min\"),i(o+s+\"max\"));var L=u.colorscale,_=f.colorscale,C;if(L!==void 0&&(C=!Hae(L)),_!==void 0&&(C=!Hae(_)),i(o+\"autocolorscale\",C),i(o+\"colorscale\"),i(o+\"reversescale\"),o!==\"marker.line.\"){var M;o&&l&&(M=Znt(u));var g=i(o+\"showscale\",M);g&&(o&&f&&(c._template=f),Xnt(u,c,n))}}});var Xae=ye((crr,Zae)=>{\"use strict\";var jae=Mr(),Knt=Vs(),Wae=mO(),Jnt=Uh();Zae.exports=function(t,r){function n(f,h){return jae.coerce(t,r,Wae,f,h)}n(\"colorscale.sequential\"),n(\"colorscale.sequentialminus\"),n(\"colorscale.diverging\");var i=r._colorAxes,a,o;function s(f,h){return jae.coerce(a,o,Wae.coloraxis,f,h)}for(var l in i){var u=i[l];if(u[0])a=t[l]||{},o=Knt.newContainer(r,l,\"coloraxis\"),o._name=l,Jnt(a,o,r,s,{prefix:\"\",cLetter:\"c\"});else{for(var c=0;c<u[2].length;c++)u[2][c]();delete r._colorAxes[l]}}}});var Kae=ye((frr,Yae)=>{\"use strict\";var $nt=Mr(),Qnt=Dv().hasColorscale,eat=Dv().extractOpts;Yae.exports=function(t,r){function n(c,f){var h=c[\"_\"+f];h!==void 0&&(c[f]=h)}function i(c,f){var h=f.container?$nt.nestedProperty(c,f.container).get():c;if(h)if(h.coloraxis)h._colorAx=r[h.coloraxis];else{var d=eat(h),v=d.auto;(v||d.min===void 0)&&n(h,f.min),(v||d.max===void 0)&&n(h,f.max),d.autocolorscale&&n(h,\"colorscale\")}}for(var a=0;a<t.length;a++){var o=t[a],s=o._module.colorbar;if(s)if(Array.isArray(s))for(var l=0;l<s.length;l++)i(o,s[l]);else i(o,s);Qnt(o,\"marker.line\")&&i(o,{container:\"marker.line\",min:\"cmin\",max:\"cmax\"})}for(var u in r._colorAxes)i(r[u],{min:\"cmin\",max:\"cmax\"})}});var zv=ye((hrr,$ae)=>{\"use strict\";var Jae=uo(),kO=Mr(),tat=Dv().extractOpts;$ae.exports=function(t,r,n){var i=t._fullLayout,a=n.vals,o=n.containerStr,s=o?kO.nestedProperty(r,o).get():r,l=tat(s),u=l.auto!==!1,c=l.min,f=l.max,h=l.mid,d=function(){return kO.aggNums(Math.min,null,a)},v=function(){return kO.aggNums(Math.max,null,a)};if(c===void 0?c=d():u&&(s._colorAx&&Jae(c)?c=Math.min(c,d()):c=d()),f===void 0?f=v():u&&(s._colorAx&&Jae(f)?f=Math.max(f,v()):f=v()),u&&h!==void 0&&(f-h>h-c?c=h-(f-h):f-h<h-c&&(f=h+(h-c))),c===f&&(c-=.5,f+=.5),l._sync(\"min\",c),l._sync(\"max\",f),l.autocolorscale){var x;c*f<0?x=i.colorscale.diverging:c>=0?x=i.colorscale.sequential:x=i.colorscale.sequentialminus,l._sync(\"colorscale\",x)}}});var Mu=ye((drr,Qae)=>{\"use strict\";var Q6=sb(),A3=Dv();Qae.exports={moduleType:\"component\",name:\"colorscale\",attributes:Jl(),layoutAttributes:mO(),supplyLayoutDefaults:Xae(),handleDefaults:Uh(),crossTraceDefaults:Kae(),calc:zv(),scales:Q6.scales,defaultScale:Q6.defaultScale,getScale:Q6.get,isValidScale:Q6.isValid,hasColorscale:A3.hasColorscale,extractOpts:A3.extractOpts,extractScale:A3.extractScale,flipScale:A3.flipScale,makeColorScaleFunc:A3.makeColorScaleFunc,makeColorScaleFuncFromTrace:A3.makeColorScaleFuncFromTrace}});var lu=ye((vrr,toe)=>{\"use strict\";var eoe=Mr(),rat=vv().isTypedArraySpec;toe.exports={hasLines:function(e){return e.visible&&e.mode&&e.mode.indexOf(\"lines\")!==-1},hasMarkers:function(e){return e.visible&&(e.mode&&e.mode.indexOf(\"markers\")!==-1||e.type===\"splom\")},hasText:function(e){return e.visible&&e.mode&&e.mode.indexOf(\"text\")!==-1},isBubble:function(e){var t=e.marker;return eoe.isPlainObject(t)&&(eoe.isArrayOrTypedArray(t.size)||rat(t.size))}}});var S3=ye((prr,roe)=>{\"use strict\";var iat=uo();roe.exports=function(t,r){r||(r=2);var n=t.marker,i=n.sizeref||1,a=n.sizemin||0,o=n.sizemode===\"area\"?function(s){return Math.sqrt(s/i)}:function(s){return s/i};return function(s){var l=o(s/r);return iat(l)&&l>0?Math.max(l,a):0}}});var rp=ye(pv=>{\"use strict\";var ioe=Mr();pv.getSubplot=function(e){return e.subplot||e.xaxis+e.yaxis||e.geo};pv.isTraceInSubplots=function(e,t){if(e.type===\"splom\"){for(var r=e.xaxes||[],n=e.yaxes||[],i=0;i<r.length;i++)for(var a=0;a<n.length;a++)if(t.indexOf(r[i]+n[a])!==-1)return!0;return!1}return t.indexOf(pv.getSubplot(e))!==-1};pv.flat=function(e,t){for(var r=new Array(e.length),n=0;n<e.length;n++)r[n]=t;return r};pv.p2c=function(e,t){for(var r=new Array(e.length),n=0;n<e.length;n++)r[n]=e[n].p2c(t);return r};pv.getDistanceFunction=function(e,t,r,n){return e===\"closest\"?n||pv.quadrature(t,r):e.charAt(0)===\"x\"?t:r};pv.getClosest=function(e,t,r){if(r.index!==!1)r.index>=0&&r.index<e.length?r.distance=0:r.index=!1;else for(var n=1/0,i=e.length,a=0;a<i;a++)n=t(e[a]),n<=r.distance&&(r.index=a,r.distance=n);return r};pv.inbox=function(e,t,r){return e*t<0||e===0?r:1/0};pv.quadrature=function(e,t){return function(r){var n=e(r),i=t(r);return Math.sqrt(n*n+i*i)}};pv.makeEventData=function(e,t,r){var n=\"index\"in e?e.index:e.pointNumber,i={data:t._input,fullData:t,curveNumber:t.index,pointNumber:n};if(t._indexToPoints){var a=t._indexToPoints[n];a.length===1?i.pointIndex=a[0]:i.pointIndices=a}else i.pointIndex=n;return t._module.eventData?i=t._module.eventData(i,e,t,r,n):(\"xVal\"in e?i.x=e.xVal:\"x\"in e&&(i.x=e.x),\"yVal\"in e?i.y=e.yVal:\"y\"in e&&(i.y=e.y),e.xa&&(i.xaxis=e.xa),e.ya&&(i.yaxis=e.ya),e.zLabelVal!==void 0&&(i.z=e.zLabelVal)),pv.appendArrayPointValue(i,t,n),i};pv.appendArrayPointValue=function(e,t,r){var n=t._arrayAttrs;if(n)for(var i=0;i<n.length;i++){var a=n[i],o=noe(a);if(e[o]===void 0){var s=ioe.nestedProperty(t,a).get(),l=aoe(s,r);l!==void 0&&(e[o]=l)}}};pv.appendArrayMultiPointValues=function(e,t,r){var n=t._arrayAttrs;if(n)for(var i=0;i<n.length;i++){var a=n[i],o=noe(a);if(e[o]===void 0){for(var s=ioe.nestedProperty(t,a).get(),l=new Array(r.length),u=0;u<r.length;u++)l[u]=aoe(s,r[u]);e[o]=l}}};var nat={ids:\"id\",locations:\"location\",labels:\"label\",values:\"value\",\"marker.colors\":\"color\",parents:\"parent\"};function noe(e){return nat[e]||e}function aoe(e,t){if(Array.isArray(t)){if(Array.isArray(e)&&Array.isArray(e[t[0]]))return e[t[0]][t[1]]}else return e[t]}var aat={x:!0,y:!0},oat={\"x unified\":!0,\"y unified\":!0};pv.isUnifiedHover=function(e){return typeof e!=\"string\"?!1:!!oat[e]};pv.isXYhover=function(e){return typeof e!=\"string\"?!1:!!aat[e]}});var XS=ye((mrr,ooe)=>{ooe.exports=lat;var CO={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},sat=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function lat(e){var t=[];return e.replace(sat,function(r,n,i){var a=n.toLowerCase();for(i=cat(i),a==\"m\"&&i.length>2&&(t.push([n].concat(i.splice(0,2))),a=\"l\",n=n==\"m\"?\"l\":\"L\");;){if(i.length==CO[a])return i.unshift(n),t.push(i);if(i.length<CO[a])throw new Error(\"malformed path data\");t.push([n].concat(i.splice(0,CO[a])))}}),t}var uat=/-?[0-9]*\\.?[0-9]+(?:e[-+]?\\d+)?/ig;function cat(e){var t=e.match(uat);return t?t.map(Number):[]}});var doe=ye((yrr,hoe)=>{\"use strict\";var fat=XS(),Yn=function(e,t){return t?Math.round(e*(t=Math.pow(10,t)))/t:Math.round(e)},ts=\"M0,0Z\",soe=Math.sqrt(2),n_=Math.sqrt(3),LO=Math.PI,PO=Math.cos,IO=Math.sin;hoe.exports={circle:{n:0,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=\"M\"+n+\",0A\"+n+\",\"+n+\" 0 1,1 0,-\"+n+\"A\"+n+\",\"+n+\" 0 0,1 \"+n+\",0Z\";return r?is(t,r,i):i}},square:{n:1,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"H-\"+n+\"V-\"+n+\"H\"+n+\"Z\")}},diamond:{n:2,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2);return is(t,r,\"M\"+n+\",0L0,\"+n+\"L-\"+n+\",0L0,-\"+n+\"Z\")}},cross:{n:3,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.4,2),i=Yn(e*1.2,2);return is(t,r,\"M\"+i+\",\"+n+\"H\"+n+\"V\"+i+\"H-\"+n+\"V\"+n+\"H-\"+i+\"V-\"+n+\"H-\"+n+\"V-\"+i+\"H\"+n+\"V-\"+n+\"H\"+i+\"Z\")}},x:{n:4,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.8/soe,2),i=\"l\"+n+\",\"+n,a=\"l\"+n+\",-\"+n,o=\"l-\"+n+\",-\"+n,s=\"l-\"+n+\",\"+n;return is(t,r,\"M0,\"+n+i+a+o+a+o+s+o+s+i+s+i+\"Z\")}},\"triangle-up\":{n:5,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/n_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M-\"+n+\",\"+i+\"H\"+n+\"L0,-\"+a+\"Z\")}},\"triangle-down\":{n:6,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/n_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M-\"+n+\",-\"+i+\"H\"+n+\"L0,\"+a+\"Z\")}},\"triangle-left\":{n:7,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/n_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M\"+i+\",-\"+n+\"V\"+n+\"L-\"+a+\",0Z\")}},\"triangle-right\":{n:8,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/n_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M-\"+i+\",-\"+n+\"V\"+n+\"L\"+a+\",0Z\")}},\"triangle-ne\":{n:9,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M-\"+i+\",-\"+n+\"H\"+n+\"V\"+i+\"Z\")}},\"triangle-se\":{n:10,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M\"+n+\",-\"+i+\"V\"+n+\"H-\"+i+\"Z\")}},\"triangle-sw\":{n:11,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M\"+i+\",\"+n+\"H-\"+n+\"V-\"+i+\"Z\")}},\"triangle-nw\":{n:12,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M-\"+n+\",\"+i+\"V-\"+n+\"H\"+i+\"Z\")}},pentagon:{n:13,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.951,2),i=Yn(e*.588,2),a=Yn(-e,2),o=Yn(e*-.309,2),s=Yn(e*.809,2);return is(t,r,\"M\"+n+\",\"+o+\"L\"+i+\",\"+s+\"H-\"+i+\"L-\"+n+\",\"+o+\"L0,\"+a+\"Z\")}},hexagon:{n:14,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/2,2),a=Yn(e*n_/2,2);return is(t,r,\"M\"+a+\",-\"+i+\"V\"+i+\"L0,\"+n+\"L-\"+a+\",\"+i+\"V-\"+i+\"L0,-\"+n+\"Z\")}},hexagon2:{n:15,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/2,2),a=Yn(e*n_/2,2);return is(t,r,\"M-\"+i+\",\"+a+\"H\"+i+\"L\"+n+\",0L\"+i+\",-\"+a+\"H-\"+i+\"L-\"+n+\",0Z\")}},octagon:{n:16,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.924,2),i=Yn(e*.383,2);return is(t,r,\"M-\"+i+\",-\"+n+\"H\"+i+\"L\"+n+\",-\"+i+\"V\"+i+\"L\"+i+\",\"+n+\"H-\"+i+\"L-\"+n+\",\"+i+\"V-\"+i+\"Z\")}},star:{n:17,f:function(e,t,r){if(rs(t))return ts;var n=e*1.4,i=Yn(n*.225,2),a=Yn(n*.951,2),o=Yn(n*.363,2),s=Yn(n*.588,2),l=Yn(-n,2),u=Yn(n*-.309,2),c=Yn(n*.118,2),f=Yn(n*.809,2),h=Yn(n*.382,2);return is(t,r,\"M\"+i+\",\"+u+\"H\"+a+\"L\"+o+\",\"+c+\"L\"+s+\",\"+f+\"L0,\"+h+\"L-\"+s+\",\"+f+\"L-\"+o+\",\"+c+\"L-\"+a+\",\"+u+\"H-\"+i+\"L0,\"+l+\"Z\")}},hexagram:{n:18,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.66,2),i=Yn(e*.38,2),a=Yn(e*.76,2);return is(t,r,\"M-\"+a+\",0l-\"+i+\",-\"+n+\"h\"+a+\"l\"+i+\",-\"+n+\"l\"+i+\",\"+n+\"h\"+a+\"l-\"+i+\",\"+n+\"l\"+i+\",\"+n+\"h-\"+a+\"l-\"+i+\",\"+n+\"l-\"+i+\",-\"+n+\"h-\"+a+\"Z\")}},\"star-triangle-up\":{n:19,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*n_*.8,2),i=Yn(e*.8,2),a=Yn(e*1.6,2),o=Yn(e*4,2),s=\"A \"+o+\",\"+o+\" 0 0 1 \";return is(t,r,\"M-\"+n+\",\"+i+s+n+\",\"+i+s+\"0,-\"+a+s+\"-\"+n+\",\"+i+\"Z\")}},\"star-triangle-down\":{n:20,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*n_*.8,2),i=Yn(e*.8,2),a=Yn(e*1.6,2),o=Yn(e*4,2),s=\"A \"+o+\",\"+o+\" 0 0 1 \";return is(t,r,\"M\"+n+\",-\"+i+s+\"-\"+n+\",-\"+i+s+\"0,\"+a+s+n+\",-\"+i+\"Z\")}},\"star-square\":{n:21,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.1,2),i=Yn(e*2,2),a=\"A \"+i+\",\"+i+\" 0 0 1 \";return is(t,r,\"M-\"+n+\",-\"+n+a+\"-\"+n+\",\"+n+a+n+\",\"+n+a+n+\",-\"+n+a+\"-\"+n+\",-\"+n+\"Z\")}},\"star-diamond\":{n:22,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2),i=Yn(e*1.9,2),a=\"A \"+i+\",\"+i+\" 0 0 1 \";return is(t,r,\"M-\"+n+\",0\"+a+\"0,\"+n+a+n+\",0\"+a+\"0,-\"+n+a+\"-\"+n+\",0Z\")}},\"diamond-tall\":{n:23,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.7,2),i=Yn(e*1.4,2);return is(t,r,\"M0,\"+i+\"L\"+n+\",0L0,-\"+i+\"L-\"+n+\",0Z\")}},\"diamond-wide\":{n:24,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2),i=Yn(e*.7,2);return is(t,r,\"M0,\"+i+\"L\"+n+\",0L0,-\"+i+\"L-\"+n+\",0Z\")}},hourglass:{n:25,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"H-\"+n+\"L\"+n+\",-\"+n+\"H-\"+n+\"Z\")},noDot:!0},bowtie:{n:26,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"V-\"+n+\"L-\"+n+\",\"+n+\"V-\"+n+\"Z\")},noDot:!0},\"circle-cross\":{n:27,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n+\"M\"+n+\",0A\"+n+\",\"+n+\" 0 1,1 0,-\"+n+\"A\"+n+\",\"+n+\" 0 0,1 \"+n+\",0Z\")},needLine:!0,noDot:!0},\"circle-x\":{n:28,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/soe,2);return is(t,r,\"M\"+i+\",\"+i+\"L-\"+i+\",-\"+i+\"M\"+i+\",-\"+i+\"L-\"+i+\",\"+i+\"M\"+n+\",0A\"+n+\",\"+n+\" 0 1,1 0,-\"+n+\"A\"+n+\",\"+n+\" 0 0,1 \"+n+\",0Z\")},needLine:!0,noDot:!0},\"square-cross\":{n:29,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n+\"M\"+n+\",\"+n+\"H-\"+n+\"V-\"+n+\"H\"+n+\"Z\")},needLine:!0,noDot:!0},\"square-x\":{n:30,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n+\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n+\"M\"+n+\",\"+n+\"H-\"+n+\"V-\"+n+\"H\"+n+\"Z\")},needLine:!0,noDot:!0},\"diamond-cross\":{n:31,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2);return is(t,r,\"M\"+n+\",0L0,\"+n+\"L-\"+n+\",0L0,-\"+n+\"ZM0,-\"+n+\"V\"+n+\"M-\"+n+\",0H\"+n)},needLine:!0,noDot:!0},\"diamond-x\":{n:32,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2),i=Yn(e*.65,2);return is(t,r,\"M\"+n+\",0L0,\"+n+\"L-\"+n+\",0L0,-\"+n+\"ZM-\"+i+\",-\"+i+\"L\"+i+\",\"+i+\"M-\"+i+\",\"+i+\"L\"+i+\",-\"+i)},needLine:!0,noDot:!0},\"cross-thin\":{n:33,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"x-thin\":{n:34,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n+\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n)},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*.85,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n+\"M\"+i+\",\"+i+\"L-\"+i+\",-\"+i+\"M\"+i+\",-\"+i+\"L-\"+i+\",\"+i)},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e/2,2),i=Yn(e,2);return is(t,r,\"M\"+n+\",\"+i+\"V-\"+i+\"M\"+(n-i)+\",-\"+i+\"V\"+i+\"M\"+i+\",\"+n+\"H-\"+i+\"M-\"+i+\",\"+(n-i)+\"H\"+i)},needLine:!0,noFill:!0},\"y-up\":{n:37,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M-\"+n+\",\"+a+\"L0,0M\"+n+\",\"+a+\"L0,0M0,-\"+i+\"L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"y-down\":{n:38,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M-\"+n+\",-\"+a+\"L0,0M\"+n+\",-\"+a+\"L0,0M0,\"+i+\"L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"y-left\":{n:39,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M\"+a+\",\"+n+\"L0,0M\"+a+\",-\"+n+\"L0,0M-\"+i+\",0L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"y-right\":{n:40,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M-\"+a+\",\"+n+\"L0,0M-\"+a+\",-\"+n+\"L0,0M\"+i+\",0L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"line-ew\":{n:41,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,\"M\"+n+\",0H-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"line-ns\":{n:42,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,\"M0,\"+n+\"V-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"line-ne\":{n:43,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n)},needLine:!0,noDot:!0,noFill:!0},\"line-nw\":{n:44,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"arrow-up\":{n:45,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M0,0L-\"+n+\",\"+i+\"H\"+n+\"Z\")},backoff:1,noDot:!0},\"arrow-down\":{n:46,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M0,0L-\"+n+\",-\"+i+\"H\"+n+\"Z\")},noDot:!0},\"arrow-left\":{n:47,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,0L\"+n+\",-\"+i+\"V\"+i+\"Z\")},noDot:!0},\"arrow-right\":{n:48,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,0L-\"+n+\",-\"+i+\"V\"+i+\"Z\")},noDot:!0},\"arrow-bar-up\":{n:49,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M-\"+n+\",0H\"+n+\"M0,0L-\"+n+\",\"+i+\"H\"+n+\"Z\")},backoff:1,needLine:!0,noDot:!0},\"arrow-bar-down\":{n:50,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M-\"+n+\",0H\"+n+\"M0,0L-\"+n+\",-\"+i+\"H\"+n+\"Z\")},needLine:!0,noDot:!0},\"arrow-bar-left\":{n:51,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,-\"+i+\"V\"+i+\"M0,0L\"+n+\",-\"+i+\"V\"+i+\"Z\")},needLine:!0,noDot:!0},\"arrow-bar-right\":{n:52,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,-\"+i+\"V\"+i+\"M0,0L-\"+n+\",-\"+i+\"V\"+i+\"Z\")},needLine:!0,noDot:!0},arrow:{n:53,f:function(e,t,r){if(rs(t))return ts;var n=LO/2.5,i=2*e*PO(n),a=2*e*IO(n);return is(t,r,\"M0,0L\"+-i+\",\"+a+\"L\"+i+\",\"+a+\"Z\")},backoff:.9,noDot:!0},\"arrow-wide\":{n:54,f:function(e,t,r){if(rs(t))return ts;var n=LO/4,i=2*e*PO(n),a=2*e*IO(n);return is(t,r,\"M0,0L\"+-i+\",\"+a+\"A \"+2*e+\",\"+2*e+\" 0 0 1 \"+i+\",\"+a+\"Z\")},backoff:.4,noDot:!0}};function rs(e){return e===null}var loe,uoe,coe,foe;function is(e,t,r){if((!e||e%360===0)&&!t)return r;if(coe===e&&foe===t&&loe===r)return uoe;coe=e,foe=t,loe=r;function n(b,p){var E=PO(b),k=IO(b),A=p[0],L=p[1]+(t||0);return[A*E-L*k,A*k+L*E]}for(var i=e/180*LO,a=0,o=0,s=fat(r),l=\"\",u=0;u<s.length;u++){var c=s[u],f=c[0],h=a,d=o;if(f===\"M\"||f===\"L\")a=+c[1],o=+c[2];else if(f===\"m\"||f===\"l\")a+=+c[1],o+=+c[2];else if(f===\"H\")a=+c[1];else if(f===\"h\")a+=+c[1];else if(f===\"V\")o=+c[1];else if(f===\"v\")o+=+c[1];else if(f===\"A\"){a=+c[1],o=+c[2];var v=n(i,[+c[6],+c[7]]);c[6]=v[0],c[7]=v[1],c[3]=+c[3]+e}(f===\"H\"||f===\"V\")&&(f=\"L\"),(f===\"h\"||f===\"v\")&&(f=\"l\"),(f===\"m\"||f===\"l\")&&(a-=h,o-=d);var x=n(i,[a,o]);(f===\"H\"||f===\"V\")&&(f=\"L\"),(f===\"M\"||f===\"L\"||f===\"m\"||f===\"l\")&&(c[1]=x[0],c[2]=x[1]),c[0]=f,l+=c[0]+c.slice(1).join(\",\")}return uoe=l,l}});var ao=ye((_rr,Roe)=>{\"use strict\";var od=xa(),du=Mr(),hat=du.numberFormat,Ab=uo(),OO=id(),tL=ba(),Xd=va(),dat=Mu(),KS=du.strTranslate,rL=Pl(),vat=Zp(),pat=Nh(),gat=pat.LINE_SPACING,Toe=U1().DESELECTDIM,mat=lu(),yat=S3(),_at=rp().appendArrayPointValue,na=Roe.exports={};na.font=function(e,t){var r=t.variant,n=t.style,i=t.weight,a=t.color,o=t.size,s=t.family,l=t.shadow,u=t.lineposition,c=t.textcase;s&&e.style(\"font-family\",s),o+1&&e.style(\"font-size\",o+\"px\"),a&&e.call(Xd.fill,a),i&&e.style(\"font-weight\",i),n&&e.style(\"font-style\",n),r&&e.style(\"font-variant\",r),c&&e.style(\"text-transform\",RO(bat(c))),l&&e.style(\"text-shadow\",l===\"auto\"?rL.makeTextShadow(Xd.contrast(a)):RO(l)),u&&e.style(\"text-decoration-line\",RO(wat(u)))};function RO(e){return e===\"none\"?void 0:e}var xat={normal:\"none\",lower:\"lowercase\",upper:\"uppercase\",\"word caps\":\"capitalize\"};function bat(e){return xat[e]}function wat(e){return e.replace(\"under\",\"underline\").replace(\"over\",\"overline\").replace(\"through\",\"line-through\").split(\"+\").join(\" \")}na.setPosition=function(e,t,r){e.attr(\"x\",t).attr(\"y\",r)};na.setSize=function(e,t,r){e.attr(\"width\",t).attr(\"height\",r)};na.setRect=function(e,t,r,n,i){e.call(na.setPosition,t,r).call(na.setSize,n,i)};na.translatePoint=function(e,t,r,n){var i=r.c2p(e.x),a=n.c2p(e.y);if(Ab(i)&&Ab(a)&&t.node())t.node().nodeName===\"text\"?t.attr(\"x\",i).attr(\"y\",a):t.attr(\"transform\",KS(i,a));else return!1;return!0};na.translatePoints=function(e,t,r){e.each(function(n){var i=od.select(this);na.translatePoint(n,i,t,r)})};na.hideOutsideRangePoint=function(e,t,r,n,i,a){t.attr(\"display\",r.isPtWithinRange(e,i)&&n.isPtWithinRange(e,a)?null:\"none\")};na.hideOutsideRangePoints=function(e,t){if(t._hasClipOnAxisFalse){var r=t.xaxis,n=t.yaxis;e.each(function(i){var a=i[0].trace,o=a.xcalendar,s=a.ycalendar,l=tL.traceIs(a,\"bar-like\")?\".bartext\":\".point,.textpoint\";e.selectAll(l).each(function(u){na.hideOutsideRangePoint(u,od.select(this),r,n,o,s)})})}};na.crispRound=function(e,t,r){return!t||!Ab(t)?r||0:e._context.staticPlot?t:t<1?1:Math.round(t)};na.singleLineStyle=function(e,t,r,n,i){t.style(\"fill\",\"none\");var a=(((e||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||\"\";Xd.stroke(t,n||a.color),na.dashLine(t,s,o)};na.lineGroupStyle=function(e,t,r,n){e.style(\"fill\",\"none\").each(function(i){var a=(((i||[])[0]||{}).trace||{}).line||{},o=t||a.width||0,s=n||a.dash||\"\";od.select(this).call(Xd.stroke,r||a.color).call(na.dashLine,s,o)})};na.dashLine=function(e,t,r){r=+r||0,t=na.dashStyle(t,r),e.style({\"stroke-dasharray\":t,\"stroke-width\":r+\"px\"})};na.dashStyle=function(e,t){t=+t||1;var r=Math.max(t,3);return e===\"solid\"?e=\"\":e===\"dot\"?e=r+\"px,\"+r+\"px\":e===\"dash\"?e=3*r+\"px,\"+3*r+\"px\":e===\"longdash\"?e=5*r+\"px,\"+5*r+\"px\":e===\"dashdot\"?e=3*r+\"px,\"+r+\"px,\"+r+\"px,\"+r+\"px\":e===\"longdashdot\"&&(e=5*r+\"px,\"+2*r+\"px,\"+r+\"px,\"+2*r+\"px\"),e};function Aoe(e,t,r,n){var i=t.fillpattern,a=t.fillgradient,o=i&&na.getPatternAttr(i.shape,0,\"\");if(o){var s=na.getPatternAttr(i.bgcolor,0,null),l=na.getPatternAttr(i.fgcolor,0,null),u=i.fgopacity,c=na.getPatternAttr(i.size,0,8),f=na.getPatternAttr(i.solidity,0,.3),h=t.uid;na.pattern(e,\"point\",r,h,o,c,f,void 0,i.fillmode,s,l,u)}else if(a&&a.type!==\"none\"){var d=a.type,v=\"scatterfill-\"+t.uid;if(n&&(v=\"legendfill-\"+t.uid),!n&&(a.start!==void 0||a.stop!==void 0)){var x,b;d===\"horizontal\"?(x={x:a.start,y:0},b={x:a.stop,y:0}):d===\"vertical\"&&(x={x:0,y:a.start},b={x:0,y:a.stop}),x.x=t._xA.c2p(x.x===void 0?t._extremes.x.min[0].val:x.x,!0),x.y=t._yA.c2p(x.y===void 0?t._extremes.y.min[0].val:x.y,!0),b.x=t._xA.c2p(b.x===void 0?t._extremes.x.max[0].val:b.x,!0),b.y=t._yA.c2p(b.y===void 0?t._extremes.y.max[0].val:b.y,!0),e.call(Eoe,r,v,\"linear\",a.colorscale,\"fill\",x,b,!0,!1)}else d===\"horizontal\"&&(d=d+\"reversed\"),e.call(na.gradient,r,v,d,a.colorscale,\"fill\")}else t.fillcolor&&e.call(Xd.fill,t.fillcolor)}na.singleFillStyle=function(e,t){var r=od.select(e.node()),n=r.data(),i=((n[0]||[])[0]||{}).trace||{};Aoe(e,i,t,!1)};na.fillGroupStyle=function(e,t,r){e.style(\"stroke-width\",0).each(function(n){var i=od.select(this);n[0].trace&&Aoe(i,n[0].trace,t,r)})};var voe=doe();na.symbolNames=[];na.symbolFuncs=[];na.symbolBackOffs=[];na.symbolNeedLines={};na.symbolNoDot={};na.symbolNoFill={};na.symbolList=[];Object.keys(voe).forEach(function(e){var t=voe[e],r=t.n;na.symbolList.push(r,String(r),e,r+100,String(r+100),e+\"-open\"),na.symbolNames[r]=e,na.symbolFuncs[r]=t.f,na.symbolBackOffs[r]=t.backoff||0,t.needLine&&(na.symbolNeedLines[r]=!0),t.noDot?na.symbolNoDot[r]=!0:na.symbolList.push(r+200,String(r+200),e+\"-dot\",r+300,String(r+300),e+\"-open-dot\"),t.noFill&&(na.symbolNoFill[r]=!0)});var Tat=na.symbolNames.length,Aat=\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\";na.symbolNumber=function(e){if(Ab(e))e=+e;else if(typeof e==\"string\"){var t=0;e.indexOf(\"-open\")>0&&(t=100,e=e.replace(\"-open\",\"\")),e.indexOf(\"-dot\")>0&&(t+=200,e=e.replace(\"-dot\",\"\")),e=na.symbolNames.indexOf(e),e>=0&&(e+=t)}return e%100>=Tat||e>=400?0:Math.floor(Math.max(e,0))};function Soe(e,t,r,n){var i=e%100;return na.symbolFuncs[i](t,r,n)+(e>=200?Aat:\"\")}var poe=hat(\"~f\"),Moe={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}};na.gradient=function(e,t,r,n,i,a){var o=Moe[n];return Eoe(e,t,r,o.type,i,a,o.start,o.stop,!1,o.reversed)};function Eoe(e,t,r,n,i,a,o,s,l,u){var c=i.length,f;n===\"linear\"?f={node:\"linearGradient\",attrs:{x1:o.x,y1:o.y,x2:s.x,y2:s.y,gradientUnits:l?\"userSpaceOnUse\":\"objectBoundingBox\"},reversed:u}:n===\"radial\"&&(f={node:\"radialGradient\",reversed:u});for(var h=new Array(c),d=0;d<c;d++)f.reversed?h[c-1-d]=[poe((1-i[d][0])*100),i[d][1]]:h[d]=[poe(i[d][0]*100),i[d][1]];var v=t._fullLayout,x=\"g\"+v._uid+\"-\"+r,b=v._defs.select(\".gradients\").selectAll(\"#\"+x).data([n+h.join(\";\")],du.identity);b.exit().remove(),b.enter().append(f.node).each(function(){var p=od.select(this);f.attrs&&p.attr(f.attrs),p.attr(\"id\",x);var E=p.selectAll(\"stop\").data(h);E.exit().remove(),E.enter().append(\"stop\"),E.each(function(k){var A=OO(k[1]);od.select(this).attr({offset:k[0]+\"%\",\"stop-color\":Xd.tinyRGB(A),\"stop-opacity\":A.getAlpha()})})}),e.style(a,BO(x,t)).style(a+\"-opacity\",null),e.classed(\"gradient_filled\",!0)}na.pattern=function(e,t,r,n,i,a,o,s,l,u,c,f){var h=t===\"legend\";s&&(l===\"overlay\"?(u=s,c=Xd.contrast(u)):(u=void 0,c=s));var d=r._fullLayout,v=\"p\"+d._uid+\"-\"+n,x,b,p=function(q,V,H,X,G){return X+(G-X)*(q-V)/(H-V)},E,k,A,L,_={},C=OO(c),M=Xd.tinyRGB(C),g=C.getAlpha(),P=f*g;switch(i){case\"/\":x=a*Math.sqrt(2),b=a*Math.sqrt(2),E=\"M-\"+x/4+\",\"+b/4+\"l\"+x/2+\",-\"+b/2+\"M0,\"+b+\"L\"+x+\",0M\"+x/4*3+\",\"+b/4*5+\"l\"+x/2+\",-\"+b/2,k=o*a,L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"\\\\\":x=a*Math.sqrt(2),b=a*Math.sqrt(2),E=\"M\"+x/4*3+\",-\"+b/4+\"l\"+x/2+\",\"+b/2+\"M0,0L\"+x+\",\"+b+\"M-\"+x/4+\",\"+b/4*3+\"l\"+x/2+\",\"+b/2,k=o*a,L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"x\":x=a*Math.sqrt(2),b=a*Math.sqrt(2),E=\"M-\"+x/4+\",\"+b/4+\"l\"+x/2+\",-\"+b/2+\"M0,\"+b+\"L\"+x+\",0M\"+x/4*3+\",\"+b/4*5+\"l\"+x/2+\",-\"+b/2+\"M\"+x/4*3+\",-\"+b/4+\"l\"+x/2+\",\"+b/2+\"M0,0L\"+x+\",\"+b+\"M-\"+x/4+\",\"+b/4*3+\"l\"+x/2+\",\"+b/2,k=a-a*Math.sqrt(1-o),L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"|\":x=a,b=a,L=\"path\",E=\"M\"+x/2+\",0L\"+x/2+\",\"+b,k=o*a,L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"-\":x=a,b=a,L=\"path\",E=\"M0,\"+b/2+\"L\"+x+\",\"+b/2,k=o*a,L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"+\":x=a,b=a,L=\"path\",E=\"M\"+x/2+\",0L\"+x/2+\",\"+b+\"M0,\"+b/2+\"L\"+x+\",\"+b/2,k=a-a*Math.sqrt(1-o),L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\".\":x=a,b=a,o<Math.PI/4?A=Math.sqrt(o*a*a/Math.PI):A=p(o,Math.PI/4,1,a/2,a/Math.sqrt(2)),L=\"circle\",_={cx:x/2,cy:b/2,r:A,opacity:P,fill:M};break}var T=[i||\"noSh\",u||\"noBg\",c||\"noFg\",a,o].join(\";\"),F=d._defs.select(\".patterns\").selectAll(\"#\"+v).data([T],du.identity);F.exit().remove(),F.enter().append(\"pattern\").each(function(){var q=od.select(this);if(q.attr({id:v,width:x+\"px\",height:b+\"px\",patternUnits:\"userSpaceOnUse\",patternTransform:h?\"scale(0.8)\":\"\"}),u){var V=OO(u),H=Xd.tinyRGB(V),X=V.getAlpha(),G=q.selectAll(\"rect\").data([0]);G.exit().remove(),G.enter().append(\"rect\").attr({width:x+\"px\",height:b+\"px\",fill:H,\"fill-opacity\":X})}var N=q.selectAll(L).data([0]);N.exit().remove(),N.enter().append(L).attr(_)}),e.style(\"fill\",BO(v,r)).style(\"fill-opacity\",null),e.classed(\"pattern_filled\",!0)};na.initGradients=function(e){var t=e._fullLayout,r=du.ensureSingle(t._defs,\"g\",\"gradients\");r.selectAll(\"linearGradient,radialGradient\").remove(),od.select(e).selectAll(\".gradient_filled\").classed(\"gradient_filled\",!1)};na.initPatterns=function(e){var t=e._fullLayout,r=du.ensureSingle(t._defs,\"g\",\"patterns\");r.selectAll(\"pattern\").remove(),od.select(e).selectAll(\".pattern_filled\").classed(\"pattern_filled\",!1)};na.getPatternAttr=function(e,t,r){return e&&du.isArrayOrTypedArray(e)?t<e.length?e[t]:r:e};na.pointStyle=function(e,t,r,n){if(e.size()){var i=na.makePointStyleFns(t);e.each(function(a){na.singlePointStyle(a,od.select(this),t,i,r,n)})}};na.singlePointStyle=function(e,t,r,n,i,a){var o=r.marker,s=o.line;if(a&&a.i>=0&&e.i===void 0&&(e.i=a.i),t.style(\"opacity\",n.selectedOpacityFn?n.selectedOpacityFn(e):e.mo===void 0?o.opacity:e.mo),n.ms2mrc){var l;e.ms===\"various\"||o.size===\"various\"?l=3:l=n.ms2mrc(e.ms),e.mrc=l,n.selectedSizeFn&&(l=e.mrc=n.selectedSizeFn(e));var u=na.symbolNumber(e.mx||o.symbol)||0;e.om=u%200>=100;var c=UO(e,r),f=NO(e,r);t.attr(\"d\",Soe(u,l,c,f))}var h=!1,d,v,x;if(e.so)x=s.outlierwidth,v=s.outliercolor,d=o.outliercolor;else{var b=(s||{}).width;x=(e.mlw+1||b+1||(e.trace?(e.trace.marker.line||{}).width:0)+1)-1||0,\"mlc\"in e?v=e.mlcc=n.lineScale(e.mlc):du.isArrayOrTypedArray(s.color)?v=Xd.defaultLine:v=s.color,du.isArrayOrTypedArray(o.color)&&(d=Xd.defaultLine,h=!0),\"mc\"in e?d=e.mcc=n.markerScale(e.mc):d=o.color||o.colors||\"rgba(0,0,0,0)\",n.selectedColorFn&&(d=n.selectedColorFn(e))}if(e.om)t.call(Xd.stroke,d).style({\"stroke-width\":(x||1)+\"px\",fill:\"none\"});else{t.style(\"stroke-width\",(e.isBlank?0:x)+\"px\");var p=o.gradient,E=e.mgt;E?h=!0:E=p&&p.type,du.isArrayOrTypedArray(E)&&(E=E[0],Moe[E]||(E=0));var k=o.pattern,A=k&&na.getPatternAttr(k.shape,e.i,\"\");if(E&&E!==\"none\"){var L=e.mgc;L?h=!0:L=p.color;var _=r.uid;h&&(_+=\"-\"+e.i),na.gradient(t,i,_,E,[[0,L],[1,d]],\"fill\")}else if(A){var C=!1,M=k.fgcolor;!M&&a&&a.color&&(M=a.color,C=!0);var g=na.getPatternAttr(M,e.i,a&&a.color||null),P=na.getPatternAttr(k.bgcolor,e.i,null),T=k.fgopacity,F=na.getPatternAttr(k.size,e.i,8),q=na.getPatternAttr(k.solidity,e.i,.3);C=C||e.mcc||du.isArrayOrTypedArray(k.shape)||du.isArrayOrTypedArray(k.bgcolor)||du.isArrayOrTypedArray(k.fgcolor)||du.isArrayOrTypedArray(k.size)||du.isArrayOrTypedArray(k.solidity);var V=r.uid;C&&(V+=\"-\"+e.i),na.pattern(t,\"point\",i,V,A,F,q,e.mcc,k.fillmode,P,g,T)}else du.isArrayOrTypedArray(d)?Xd.fill(t,d[e.i]):Xd.fill(t,d);x&&Xd.stroke(t,v)}};na.makePointStyleFns=function(e){var t={},r=e.marker;return t.markerScale=na.tryColorscale(r,\"\"),t.lineScale=na.tryColorscale(r,\"line\"),tL.traceIs(e,\"symbols\")&&(t.ms2mrc=mat.isBubble(e)?yat(e):function(){return(r.size||6)/2}),e.selectedpoints&&du.extendFlat(t,na.makeSelectedPointStyleFns(e)),t};na.makeSelectedPointStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.marker||{},a=r.marker||{},o=n.marker||{},s=i.opacity,l=a.opacity,u=o.opacity,c=l!==void 0,f=u!==void 0;(du.isArrayOrTypedArray(s)||c||f)&&(t.selectedOpacityFn=function(A){var L=A.mo===void 0?i.opacity:A.mo;return A.selected?c?l:L:f?u:Toe*L});var h=i.color,d=a.color,v=o.color;(d||v)&&(t.selectedColorFn=function(A){var L=A.mcc||h;return A.selected?d||L:v||L});var x=i.size,b=a.size,p=o.size,E=b!==void 0,k=p!==void 0;return tL.traceIs(e,\"symbols\")&&(E||k)&&(t.selectedSizeFn=function(A){var L=A.mrc||x/2;return A.selected?E?b/2:L:k?p/2:L}),t};na.makeSelectedTextStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,u=o.color;return t.selectedTextColorFn=function(c){var f=c.tc||s;return c.selected?l||f:u||(l?f:Xd.addOpacity(f,Toe))},t};na.selectedPointStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=na.makeSelectedPointStyleFns(t),n=t.marker||{},i=[];r.selectedOpacityFn&&i.push(function(a,o){a.style(\"opacity\",r.selectedOpacityFn(o))}),r.selectedColorFn&&i.push(function(a,o){Xd.fill(a,r.selectedColorFn(o))}),r.selectedSizeFn&&i.push(function(a,o){var s=o.mx||n.symbol||0,l=r.selectedSizeFn(o);a.attr(\"d\",Soe(na.symbolNumber(s),l,UO(o,t),NO(o,t))),o.mrc2=l}),i.length&&e.each(function(a){for(var o=od.select(this),s=0;s<i.length;s++)i[s](o,a)})}};na.tryColorscale=function(e,t){var r=t?du.nestedProperty(e,t).get():e;if(r){var n=r.color;if((r.colorscale||r._colorAx)&&du.isArrayOrTypedArray(n))return dat.makeColorScaleFuncFromTrace(r)}return du.identity};var DO={start:1,end:-1,middle:0,bottom:1,top:-1};function koe(e,t,r,n,i){var a=od.select(e.node().parentNode),o=t.indexOf(\"top\")!==-1?\"top\":t.indexOf(\"bottom\")!==-1?\"bottom\":\"middle\",s=t.indexOf(\"left\")!==-1?\"end\":t.indexOf(\"right\")!==-1?\"start\":\"middle\",l=n?n/.8+1:0,u=(rL.lineCount(e)-1)*gat+1,c=DO[s]*l,f=r*.75+DO[o]*l+(DO[o]-1)*u*r/2;e.attr(\"text-anchor\",s),i||a.attr(\"transform\",KS(c,f))}function Coe(e,t){var r=e.ts||t.textfont.size;return Ab(r)&&r>0?r:0}na.textPointStyle=function(e,t,r){if(e.size()){var n;if(t.selectedpoints){var i=na.makeSelectedTextStyleFns(t);n=i.selectedTextColorFn}var a=t.texttemplate,o=r._fullLayout;e.each(function(s){var l=od.select(this),u=a?du.extractOption(s,t,\"txt\",\"texttemplate\"):du.extractOption(s,t,\"tx\",\"text\");if(!u&&u!==0){l.remove();return}if(a){var c=t._module.formatLabels,f=c?c(s,t,o):{},h={};_at(h,t,s.i);var d=t._meta||{};u=du.texttemplateString(u,f,o._d3locale,h,s,d)}var v=s.tp||t.textposition,x=Coe(s,t),b=n?n(s):s.tc||t.textfont.color;l.call(na.font,{family:s.tf||t.textfont.family,weight:s.tw||t.textfont.weight,style:s.ty||t.textfont.style,variant:s.tv||t.textfont.variant,textcase:s.tC||t.textfont.textcase,lineposition:s.tE||t.textfont.lineposition,shadow:s.tS||t.textfont.shadow,size:x,color:b}).text(u).call(rL.convertToTspans,r).call(koe,v,x,s.mrc)})}};na.selectedTextStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=na.makeSelectedTextStyleFns(t);e.each(function(n){var i=od.select(this),a=r.selectedTextColorFn(n),o=n.tp||t.textposition,s=Coe(n,t);Xd.fill(i,a);var l=tL.traceIs(t,\"bar-like\");koe(i,o,s,n.mrc2||n.mrc,l)})}};var goe=.5;na.smoothopen=function(e,t){if(e.length<3)return\"M\"+e.join(\"L\");var r=\"M\"+e[0],n=[],i;for(i=1;i<e.length-1;i++)n.push(eL(e[i-1],e[i],e[i+1],t));for(r+=\"Q\"+n[0][0]+\" \"+e[1],i=2;i<e.length-1;i++)r+=\"C\"+n[i-2][1]+\" \"+n[i-1][0]+\" \"+e[i];return r+=\"Q\"+n[e.length-3][1]+\" \"+e[e.length-1],r};na.smoothclosed=function(e,t){if(e.length<3)return\"M\"+e.join(\"L\")+\"Z\";var r=\"M\"+e[0],n=e.length-1,i=[eL(e[n],e[0],e[1],t)],a;for(a=1;a<n;a++)i.push(eL(e[a-1],e[a],e[a+1],t));for(i.push(eL(e[n-1],e[n],e[0],t)),a=1;a<=n;a++)r+=\"C\"+i[a-1][1]+\" \"+i[a][0]+\" \"+e[a];return r+=\"C\"+i[n][1]+\" \"+i[0][0]+\" \"+e[0]+\"Z\",r};var Loe,Poe;function M3(e,t,r){return r&&(e=Ioe(e)),t?Tb(e[1]):wb(e[0])}function wb(e){var t=od.round(e,2);return Loe=t,t}function Tb(e){var t=od.round(e,2);return Poe=t,t}function eL(e,t,r,n){var i=e[0]-t[0],a=e[1]-t[1],o=r[0]-t[0],s=r[1]-t[1],l=Math.pow(i*i+a*a,goe/2),u=Math.pow(o*o+s*s,goe/2),c=(u*u*i-l*l*o)*n,f=(u*u*a-l*l*s)*n,h=3*u*(l+u),d=3*l*(l+u);return[[wb(t[0]+(h&&c/h)),Tb(t[1]+(h&&f/h))],[wb(t[0]-(d&&c/d)),Tb(t[1]-(d&&f/d))]]}var Sat={hv:function(e,t,r){return\"H\"+wb(t[0])+\"V\"+M3(t,1,r)},vh:function(e,t,r){return\"V\"+Tb(t[1])+\"H\"+M3(t,0,r)},hvh:function(e,t,r){return\"H\"+wb((e[0]+t[0])/2)+\"V\"+Tb(t[1])+\"H\"+M3(t,0,r)},vhv:function(e,t,r){return\"V\"+Tb((e[1]+t[1])/2)+\"H\"+wb(t[0])+\"V\"+M3(t,1,r)}},Mat=function(e,t,r){return\"L\"+M3(t,0,r)+\",\"+M3(t,1,r)};na.steps=function(e){var t=Sat[e]||Mat;return function(r){for(var n=\"M\"+wb(r[0][0])+\",\"+Tb(r[0][1]),i=r.length,a=1;a<i;a++)n+=t(r[a-1],r[a],a===i-1);return n}};function Ioe(e,t){var r=e.backoff,n=e.trace,i=e.d,a=e.i;if(r&&n&&n.marker&&n.marker.angle%360===0&&n.line&&n.line.shape!==\"spline\"){var o=du.isArrayOrTypedArray(r),s=e,l=t?t[0]:Loe||0,u=t?t[1]:Poe||0,c=s[0],f=s[1],h=c-l,d=f-u,v=Math.atan2(d,h),x=o?r[a]:r;if(x===\"auto\"){var b=s.i;n.type===\"scatter\"&&b--;var p=s.marker,E=p.symbol;du.isArrayOrTypedArray(E)&&(E=E[b]);var k=p.size;du.isArrayOrTypedArray(k)&&(k=k[b]),x=p?na.symbolBackOffs[na.symbolNumber(E)]*k:0,x+=na.getMarkerStandoff(i[b],n)||0}var A=c-x*Math.cos(v),L=f-x*Math.sin(v);(A<=c&&A>=l||A>=c&&A<=l)&&(L<=f&&L>=u||L>=f&&L<=u)&&(e=[A,L])}return e}na.applyBackoff=Ioe;na.makeTester=function(){var e=du.ensureSingleById(od.select(\"body\"),\"svg\",\"js-plotly-tester\",function(r){r.attr(vat.svgAttrs).style({position:\"absolute\",left:\"-10000px\",top:\"-10000px\",width:\"9000px\",height:\"9000px\",\"z-index\":\"1\"})}),t=du.ensureSingle(e,\"path\",\"js-reference-point\",function(r){r.attr(\"d\",\"M0,0H1V1H0Z\").style({\"stroke-width\":0,fill:\"black\"})});na.tester=e,na.testref=t};na.savedBBoxes={};var zO=0,Eat=1e4;na.bBox=function(e,t,r){r||(r=moe(e));var n;if(r){if(n=na.savedBBoxes[r],n)return du.extendFlat({},n)}else if(e.childNodes.length===1){var i=e.childNodes[0];if(r=moe(i),r){var a=+i.getAttribute(\"x\")||0,o=+i.getAttribute(\"y\")||0,s=i.getAttribute(\"transform\");if(!s){var l=na.bBox(i,!1,r);return a&&(l.left+=a,l.right+=a),o&&(l.top+=o,l.bottom+=o),l}if(r+=\"~\"+a+\"~\"+o+\"~\"+s,n=na.savedBBoxes[r],n)return du.extendFlat({},n)}}var u,c;t?u=e:(c=na.tester.node(),u=e.cloneNode(!0),c.appendChild(u)),od.select(u).attr(\"transform\",null).call(rL.positionText,0,0);var f=u.getBoundingClientRect(),h=na.testref.node().getBoundingClientRect();t||c.removeChild(u);var d={height:f.height,width:f.width,left:f.left-h.left,top:f.top-h.top,right:f.right-h.left,bottom:f.bottom-h.top};return zO>=Eat&&(na.savedBBoxes={},zO=0),r&&(na.savedBBoxes[r]=d),zO++,du.extendFlat({},d)};function moe(e){var t=e.getAttribute(\"data-unformatted\");if(t!==null)return t+e.getAttribute(\"data-math\")+e.getAttribute(\"text-anchor\")+e.getAttribute(\"style\")}na.setClipUrl=function(e,t,r){e.attr(\"clip-path\",BO(t,r))};function BO(e,t){if(!e)return null;var r=t._context,n=r._exportedPlot?\"\":r._baseUrl||\"\";return n?\"url('\"+n+\"#\"+e+\"')\":\"url(#\"+e+\")\"}na.getTranslate=function(e){var t=/.*\\btranslate\\((-?\\d*\\.?\\d*)[^-\\d]*(-?\\d*\\.?\\d*)[^\\d].*/,r=e.attr?\"attr\":\"getAttribute\",n=e[r](\"transform\")||\"\",i=n.replace(t,function(a,o,s){return[o,s].join(\" \")}).split(\" \");return{x:+i[0]||0,y:+i[1]||0}};na.setTranslate=function(e,t,r){var n=/(\\btranslate\\(.*?\\);?)/,i=e.attr?\"attr\":\"getAttribute\",a=e.attr?\"attr\":\"setAttribute\",o=e[i](\"transform\")||\"\";return t=t||0,r=r||0,o=o.replace(n,\"\").trim(),o+=KS(t,r),o=o.trim(),e[a](\"transform\",o),o};na.getScale=function(e){var t=/.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/,r=e.attr?\"attr\":\"getAttribute\",n=e[r](\"transform\")||\"\",i=n.replace(t,function(a,o,s){return[o,s].join(\" \")}).split(\" \");return{x:+i[0]||1,y:+i[1]||1}};na.setScale=function(e,t,r){var n=/(\\bscale\\(.*?\\);?)/,i=e.attr?\"attr\":\"getAttribute\",a=e.attr?\"attr\":\"setAttribute\",o=e[i](\"transform\")||\"\";return t=t||1,r=r||1,o=o.replace(n,\"\").trim(),o+=\"scale(\"+t+\",\"+r+\")\",o=o.trim(),e[a](\"transform\",o),o};var kat=/\\s*sc.*/;na.setPointGroupScale=function(e,t,r){if(t=t||1,r=r||1,!!e){var n=t===1&&r===1?\"\":\"scale(\"+t+\",\"+r+\")\";e.each(function(){var i=(this.getAttribute(\"transform\")||\"\").replace(kat,\"\");i+=n,i=i.trim(),this.setAttribute(\"transform\",i)})}};var Cat=/translate\\([^)]*\\)\\s*$/;na.setTextPointsScale=function(e,t,r){e&&e.each(function(){var n,i=od.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(Cat);t===1&&r===1?n=[]:n=[KS(o,s),\"scale(\"+t+\",\"+r+\")\",KS(-o,-s)],l&&n.push(l),i.attr(\"transform\",n.join(\"\"))}})};function NO(e,t){var r;return e&&(r=e.mf),r===void 0&&(r=t.marker&&t.marker.standoff||0),!t._geo&&!t._xA?-r:r}na.getMarkerStandoff=NO;var YS=Math.atan2,bb=Math.cos,E3=Math.sin;function yoe(e,t){var r=t[0],n=t[1];return[r*bb(e)-n*E3(e),r*E3(e)+n*bb(e)]}var _oe,xoe,boe,woe,FO,qO;function UO(e,t){var r=e.ma;r===void 0&&(r=t.marker.angle,(!r||du.isArrayOrTypedArray(r))&&(r=0));var n,i,a=t.marker.angleref;if(a===\"previous\"||a===\"north\"){if(t._geo){var o=t._geo.project(e.lonlat);n=o[0],i=o[1]}else{var s=t._xA,l=t._yA;if(s&&l)n=s.c2p(e.x),i=l.c2p(e.y);else return 90}if(t._geo){var u=e.lonlat[0],c=e.lonlat[1],f=t._geo.project([u,c+1e-5]),h=t._geo.project([u+1e-5,c]),d=YS(h[1]-i,h[0]-n),v=YS(f[1]-i,f[0]-n),x;if(a===\"north\")x=r/180*Math.PI;else if(a===\"previous\"){var b=u/180*Math.PI,p=c/180*Math.PI,E=_oe/180*Math.PI,k=xoe/180*Math.PI,A=E-b,L=bb(k)*E3(A),_=E3(k)*bb(p)-bb(k)*E3(p)*bb(A);x=-YS(L,_)-Math.PI,_oe=u,xoe=c}var C=yoe(d,[bb(x),0]),M=yoe(v,[E3(x),0]);r=YS(C[1]+M[1],C[0]+M[0])/Math.PI*180,a===\"previous\"&&!(qO===t.uid&&e.i===FO+1)&&(r=null)}if(a===\"previous\"&&!t._geo)if(qO===t.uid&&e.i===FO+1&&Ab(n)&&Ab(i)){var g=n-boe,P=i-woe,T=t.line&&t.line.shape||\"\",F=T.slice(T.length-1);F===\"h\"&&(P=0),F===\"v\"&&(g=0),r+=YS(P,g)/Math.PI*180+90}else r=null}return boe=n,woe=i,FO=e.i,qO=t.uid,r}na.getMarkerAngle=UO});var Mb=ye((xrr,qoe)=>{\"use strict\";var k3=xa(),Lat=uo(),Pat=Xu(),VO=ba(),Sb=Mr(),Doe=Sb.strTranslate,iL=ao(),nL=va(),C3=Pl(),zoe=U1(),Iat=Nh().OPPOSITE_SIDE,Foe=/ [XY][0-9]* /,HO=1.6,GO=1.6;function Rat(e,t,r){var n=e._fullLayout,i=r.propContainer,a=r.propName,o=r.placeholder,s=r.traceIndex,l=r.avoid||{},u=r.attributes,c=r.transform,f=r.containerGroup,h=1,d=i.title,v=(d&&d.text?d.text:\"\").trim(),x=!1,b=d&&d.font?d.font:{},p=b.family,E=b.size,k=b.color,A=b.weight,L=b.style,_=b.variant,C=b.textcase,M=b.lineposition,g=b.shadow,P=r.subtitlePropName,T=!!P,F=r.subtitlePlaceholder,q=(i.title||{}).subtitle||{text:\"\",font:{}},V=q.text.trim(),H=!1,X=1,G=q.font,N=G.family,W=G.size,re=G.color,ae=G.weight,_e=G.style,Me=G.variant,ke=G.textcase,ge=G.lineposition,ie=G.shadow,Te;a===\"title.text\"?Te=\"titleText\":a.indexOf(\"axis\")!==-1?Te=\"axisTitleText\":a.indexOf(\"colorbar\"!==-1)&&(Te=\"colorbarTitleText\");var Ee=e._context.edits[Te];function Ae(kt,Ct){return kt===void 0||Ct===void 0?!1:kt.replace(Foe,\" % \")===Ct.replace(Foe,\" % \")}v===\"\"?h=0:Ae(v,o)&&(Ee||(v=\"\"),h=.2,x=!0),T&&(V===\"\"?X=0:Ae(V,F)&&(Ee||(V=\"\"),X=.2,H=!0)),r._meta?v=Sb.templateString(v,r._meta):n._meta&&(v=Sb.templateString(v,n._meta));var ze=v||V||Ee,Ce;f||(f=Sb.ensureSingle(n._infolayer,\"g\",\"g-\"+t),Ce=n._hColorbarMoveTitle);var me=f.selectAll(\"text.\"+t).data(ze?[0]:[]);me.enter().append(\"text\"),me.text(v).attr(\"class\",t),me.exit().remove();var Re=null,ce=t+\"-subtitle\",Ge=V||Ee;if(T&&Ge&&(Re=f.selectAll(\"text.\"+ce).data(Ge?[0]:[]),Re.enter().append(\"text\"),Re.text(V).attr(\"class\",ce),Re.exit().remove()),!ze)return f;function nt(kt,Ct){Sb.syncOrAsync([ct,qt],{title:kt,subtitle:Ct})}function ct(kt){var Ct=kt.title,Yt=kt.subtitle,xr;!c&&Ce&&(c={}),c?(xr=\"\",c.rotate&&(xr+=\"rotate(\"+[c.rotate,u.x,u.y]+\")\"),(c.offset||Ce)&&(xr+=Doe(0,(c.offset||0)-(Ce||0)))):xr=null,Ct.attr(\"transform\",xr);function er(Et){if(Et){var dt=k3.select(Et.node().parentNode).select(\".\"+ce);if(!dt.empty()){var Ht=Et.node().getBBox();if(Ht.height){var $t=Ht.y+Ht.height+HO*W;dt.attr(\"y\",$t)}}}}if(Ct.style(\"opacity\",h*nL.opacity(k)).call(iL.font,{color:nL.rgb(k),size:k3.round(E,2),family:p,weight:A,style:L,variant:_,textcase:C,shadow:g,lineposition:M}).attr(u).call(C3.convertToTspans,e,er),Yt){var Ke=f.select(\".\"+t+\"-math-group\"),xt=Ct.node().getBBox(),bt=Ke.node()?Ke.node().getBBox():void 0,Lt=bt?bt.y+bt.height+HO*W:xt.y+xt.height+GO*W,St=Sb.extendFlat({},u,{y:Lt});Yt.attr(\"transform\",xr),Yt.style(\"opacity\",X*nL.opacity(re)).call(iL.font,{color:nL.rgb(re),size:k3.round(W,2),family:N,weight:ae,style:_e,variant:Me,textcase:ke,shadow:ie,lineposition:ge}).attr(St).call(C3.convertToTspans,e)}return Pat.previousPromises(e)}function qt(kt){var Ct=kt.title,Yt=k3.select(Ct.node().parentNode);if(l&&l.selection&&l.side&&v){Yt.attr(\"transform\",null);var xr=Iat[l.side],er=l.side===\"left\"||l.side===\"top\"?-1:1,Ke=Lat(l.pad)?l.pad:2,xt=iL.bBox(Yt.node()),bt={t:0,b:0,l:0,r:0},Lt=e._fullLayout._reservedMargin;for(var St in Lt)for(var Et in Lt[St]){var dt=Lt[St][Et];bt[Et]=Math.max(bt[Et],dt)}var Ht={left:bt.l,top:bt.t,right:n.width-bt.r,bottom:n.height-bt.b},$t=l.maxShift||er*(Ht[l.side]-xt[l.side]),fr=0;if($t<0)fr=$t;else{var _r=l.offsetLeft||0,Br=l.offsetTop||0;xt.left-=_r,xt.right-=_r,xt.top-=Br,xt.bottom-=Br,l.selection.each(function(){var Nr=iL.bBox(this);Sb.bBoxIntersect(xt,Nr,Ke)&&(fr=Math.max(fr,er*(Nr[l.side]-xt[xr])+Ke))}),fr=Math.min($t,fr),i._titleScoot=Math.abs(fr)}if(fr>0||$t<0){var Or={left:[-fr,0],right:[fr,0],top:[0,-fr],bottom:[0,fr]}[l.side];Yt.attr(\"transform\",Doe(Or[0],Or[1]))}}}me.call(nt,Re);function rt(kt,Ct){kt.text(Ct).on(\"mouseover.opacity\",function(){k3.select(this).transition().duration(zoe.SHOW_PLACEHOLDER).style(\"opacity\",1)}).on(\"mouseout.opacity\",function(){k3.select(this).transition().duration(zoe.HIDE_PLACEHOLDER).style(\"opacity\",0)})}if(Ee&&(v?me.on(\".opacity\",null):(rt(me,o),x=!0),me.call(C3.makeEditable,{gd:e}).on(\"edit\",function(kt){s!==void 0?VO.call(\"_guiRestyle\",e,a,kt,s):VO.call(\"_guiRelayout\",e,a,kt)}).on(\"cancel\",function(){this.text(this.attr(\"data-unformatted\")).call(nt)}).on(\"input\",function(kt){this.text(kt||\" \").call(C3.positionText,u.x,u.y)}),T)){if(T&&!v){var ot=me.node().getBBox(),Rt=ot.y+ot.height+GO*W;Re.attr(\"y\",Rt)}V?Re.on(\".opacity\",null):(rt(Re,F),H=!0),Re.call(C3.makeEditable,{gd:e}).on(\"edit\",function(kt){VO.call(\"_guiRelayout\",e,\"title.subtitle.text\",kt)}).on(\"cancel\",function(){this.text(this.attr(\"data-unformatted\")).call(nt)}).on(\"input\",function(kt){this.text(kt||\" \").call(C3.positionText,Re.attr(\"x\"),Re.attr(\"y\"))})}return me.classed(\"js-placeholder\",x),Re&&Re.classed(\"js-placeholder\",H),f}qoe.exports={draw:Rat,SUBTITLE_PADDING_EM:GO,SUBTITLE_PADDING_MATHJAX_EM:HO}});var ym=ye((brr,Voe)=>{\"use strict\";var Dat=xa(),zat=e3().utcFormat,Nu=Mr(),Fat=Nu.numberFormat,gm=uo(),a_=Nu.cleanNumber,qat=Nu.ms2DateTime,Ooe=Nu.dateTime2ms,mm=Nu.ensureNumber,Boe=Nu.isArrayOrTypedArray,o_=es(),aL=o_.FP_SAFE,bg=o_.BADNUM,Oat=o_.LOG_CLIP,Bat=o_.ONEWEEK,oL=o_.ONEDAY,sL=o_.ONEHOUR,Noe=o_.ONEMIN,Uoe=o_.ONESEC,lL=af(),fL=ad(),uL=fL.HOUR_PATTERN,cL=fL.WEEKDAY_PATTERN;function JS(e){return Math.pow(10,e)}function jO(e){return e!=null}Voe.exports=function(t,r){r=r||{};var n=t._id||\"x\",i=n.charAt(0);function a(A,L){if(A>0)return Math.log(A)/Math.LN10;if(A<=0&&L&&t.range&&t.range.length===2){var _=t.range[0],C=t.range[1];return .5*(_+C-2*Oat*Math.abs(_-C))}else return bg}function o(A,L,_,C){if((C||{}).msUTC&&gm(A))return+A;var M=Ooe(A,_||t.calendar);if(M===bg)if(gm(A)){A=+A;var g=Math.floor(Nu.mod(A+.05,1)*10),P=Math.round(A-g/10);M=Ooe(new Date(P))+g/10}else return bg;return M}function s(A,L,_){return qat(A,L,_||t.calendar)}function l(A){return t._categories[Math.round(A)]}function u(A){if(jO(A)){if(t._categoriesMap===void 0&&(t._categoriesMap={}),t._categoriesMap[A]!==void 0)return t._categoriesMap[A];t._categories.push(typeof A==\"number\"?String(A):A);var L=t._categories.length-1;return t._categoriesMap[A]=L,L}return bg}function c(A,L){for(var _=new Array(L),C=0;C<L;C++){var M=(A[0]||[])[C],g=(A[1]||[])[C];_[C]=f([M,g])}return _}function f(A){if(t._categoriesMap)return t._categoriesMap[A]}function h(A){var L=f(A);if(L!==void 0)return L;if(gm(A))return+A}function d(A){return gm(A)?+A:f(A)}function v(A,L,_){return Dat.round(_+L*A,2)}function x(A,L,_){return(A-_)/L}var b=function(L){return gm(L)?v(L,t._m,t._b):bg},p=function(A){return x(A,t._m,t._b)};if(t.rangebreaks){var E=i===\"y\";b=function(A){if(!gm(A))return bg;var L=t._rangebreaks.length;if(!L)return v(A,t._m,t._b);var _=E;t.range[0]>t.range[1]&&(_=!_);for(var C=_?-1:1,M=C*A,g=0,P=0;P<L;P++){var T=C*t._rangebreaks[P].min,F=C*t._rangebreaks[P].max;if(M<T)break;if(M>F)g=P+1;else{g=M<(T+F)/2?P:P+1;break}}var q=t._B[g]||0;return isFinite(q)?v(A,t._m2,q):0},p=function(A){var L=t._rangebreaks.length;if(!L)return x(A,t._m,t._b);for(var _=0,C=0;C<L&&!(A<t._rangebreaks[C].pmin);C++)A>t._rangebreaks[C].pmax&&(_=C+1);return x(A,t._m2,t._B[_])}}t.c2l=t.type===\"log\"?a:mm,t.l2c=t.type===\"log\"?JS:mm,t.l2p=b,t.p2l=p,t.c2p=t.type===\"log\"?function(A,L){return b(a(A,L))}:b,t.p2c=t.type===\"log\"?function(A){return JS(p(A))}:p,[\"linear\",\"-\"].indexOf(t.type)!==-1?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=a_,t.c2d=t.c2r=t.l2d=t.l2r=mm,t.d2p=t.r2p=function(A){return t.l2p(a_(A))},t.p2d=t.p2r=p,t.cleanPos=mm):t.type===\"log\"?(t.d2r=t.d2l=function(A,L){return a(a_(A),L)},t.r2d=t.r2c=function(A){return JS(a_(A))},t.d2c=t.r2l=a_,t.c2d=t.l2r=mm,t.c2r=a,t.l2d=JS,t.d2p=function(A,L){return t.l2p(t.d2r(A,L))},t.p2d=function(A){return JS(p(A))},t.r2p=function(A){return t.l2p(a_(A))},t.p2r=p,t.cleanPos=mm):t.type===\"date\"?(t.d2r=t.r2d=Nu.identity,t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=s,t.d2p=t.r2p=function(A,L,_){return t.l2p(o(A,0,_))},t.p2d=t.p2r=function(A,L,_){return s(p(A),L,_)},t.cleanPos=function(A){return Nu.cleanDate(A,bg,t.calendar)}):t.type===\"category\"?(t.d2c=t.d2l=u,t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(A){var L=d(A);return L!==void 0?L:t.fraction2r(.5)},t.l2r=t.c2r=mm,t.r2l=d,t.d2p=function(A){return t.l2p(t.r2c(A))},t.p2d=function(A){return l(p(A))},t.r2p=t.d2p,t.p2r=p,t.cleanPos=function(A){return typeof A==\"string\"&&A!==\"\"?A:mm(A)}):t.type===\"multicategory\"&&(t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(A){var L=h(A);return L!==void 0?L:t.fraction2r(.5)},t.r2c_just_indices=f,t.l2r=t.c2r=mm,t.r2l=h,t.d2p=function(A){return t.l2p(t.r2c(A))},t.p2d=function(A){return l(p(A))},t.r2p=t.d2p,t.p2r=p,t.cleanPos=function(A){return Array.isArray(A)||typeof A==\"string\"&&A!==\"\"?A:mm(A)},t.setupMultiCategory=function(A){var L=t._traceIndices,_,C,M=t._matchGroup;if(M&&t._categories.length===0){for(var g in M)if(g!==n){var P=r[lL.id2name(g)];L=L.concat(P._traceIndices)}}var T=[[0,{}],[0,{}]],F=[];for(_=0;_<L.length;_++){var q=A[L[_]];if(i in q){var V=q[i],H=q._length||Nu.minRowLength(V);if(Boe(V[0])&&Boe(V[1]))for(C=0;C<H;C++){var X=V[0][C],G=V[1][C];jO(X)&&jO(G)&&(F.push([X,G]),X in T[0][1]||(T[0][1][X]=T[0][0]++),G in T[1][1]||(T[1][1][G]=T[1][0]++))}}}for(F.sort(function(N,W){var re=T[0][1],ae=re[N[0]]-re[W[0]];if(ae)return ae;var _e=T[1][1];return _e[N[1]]-_e[W[1]]}),_=0;_<F.length;_++)u(F[_])}),t.fraction2r=function(A){var L=t.r2l(t.range[0]),_=t.r2l(t.range[1]);return t.l2r(L+A*(_-L))},t.r2fraction=function(A){var L=t.r2l(t.range[0]),_=t.r2l(t.range[1]);return(t.r2l(A)-L)/(_-L)},t.limitRange=function(A){var L=t.minallowed,_=t.maxallowed;if(!(L===void 0&&_===void 0)){A||(A=\"range\");var C=Nu.nestedProperty(t,A).get(),M=Nu.simpleMap(C,t.r2l),g=M[1]<M[0];g&&M.reverse();var P=Nu.simpleMap([L,_],t.r2l);if(L!==void 0&&M[0]<P[0]&&(C[g?1:0]=L),_!==void 0&&M[1]>P[1]&&(C[g?0:1]=_),C[0]===C[1]){var T=t.l2r(L),F=t.l2r(_);if(L!==void 0){var q=T+1;_!==void 0&&(q=Math.min(q,F)),C[g?1:0]=q}if(_!==void 0){var V=F+1;L!==void 0&&(V=Math.max(V,T)),C[g?0:1]=V}}}},t.cleanRange=function(A,L){t._cleanRange(A,L),t.limitRange(A)},t._cleanRange=function(A,L){L||(L={}),A||(A=\"range\");var _=Nu.nestedProperty(t,A).get(),C,M;if(t.type===\"date\"?M=Nu.dfltRange(t.calendar):i===\"y\"?M=fL.DFLTRANGEY:t._name===\"realaxis\"?M=[0,1]:M=L.dfltRange||fL.DFLTRANGEX,M=M.slice(),(t.rangemode===\"tozero\"||t.rangemode===\"nonnegative\")&&(M[0]=0),!_||_.length!==2){Nu.nestedProperty(t,A).set(M);return}var g=_[0]===null,P=_[1]===null;for(t.type===\"date\"&&!t.autorange&&(_[0]=Nu.cleanDate(_[0],bg,t.calendar),_[1]=Nu.cleanDate(_[1],bg,t.calendar)),C=0;C<2;C++)if(t.type===\"date\"){if(!Nu.isDateTime(_[C],t.calendar)){t[A]=M;break}if(t.r2l(_[0])===t.r2l(_[1])){var T=Nu.constrain(t.r2l(_[0]),Nu.MIN_MS+1e3,Nu.MAX_MS-1e3);_[0]=t.l2r(T-1e3),_[1]=t.l2r(T+1e3);break}}else{if(!gm(_[C]))if(!(g||P)&&gm(_[1-C]))_[C]=_[1-C]*(C?10:.1);else{t[A]=M;break}if(_[C]<-aL?_[C]=-aL:_[C]>aL&&(_[C]=aL),_[0]===_[1]){var F=Math.max(1,Math.abs(_[0]*1e-6));_[0]-=F,_[1]+=F}}},t.setScale=function(A){var L=r._size;if(t.overlaying){var _=lL.getFromId({_fullLayout:r},t.overlaying);t.domain=_.domain}var C=A&&t._r?\"_r\":\"range\",M=t.calendar;t.cleanRange(C);var g=t.r2l(t[C][0],M),P=t.r2l(t[C][1],M),T=i===\"y\";if(T?(t._offset=L.t+(1-t.domain[1])*L.h,t._length=L.h*(t.domain[1]-t.domain[0]),t._m=t._length/(g-P),t._b=-t._m*P):(t._offset=L.l+t.domain[0]*L.w,t._length=L.w*(t.domain[1]-t.domain[0]),t._m=t._length/(P-g),t._b=-t._m*g),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks){var F,q;if(t._rangebreaks=t.locateBreaks(Math.min(g,P),Math.max(g,P)),t._rangebreaks.length){for(F=0;F<t._rangebreaks.length;F++)q=t._rangebreaks[F],t._lBreaks+=Math.abs(q.max-q.min);var V=T;g>P&&(V=!V),V&&t._rangebreaks.reverse();var H=V?-1:1;for(t._m2=H*t._length/(Math.abs(P-g)-t._lBreaks),t._B.push(-t._m2*(T?P:g)),F=0;F<t._rangebreaks.length;F++)q=t._rangebreaks[F],t._B.push(t._B[t._B.length-1]-H*t._m2*(q.max-q.min));for(F=0;F<t._rangebreaks.length;F++)q=t._rangebreaks[F],q.pmin=b(q.min),q.pmax=b(q.max)}}if(!isFinite(t._m)||!isFinite(t._b)||t._length<0)throw r._replotting=!1,new Error(\"Something went wrong with axis scaling\")},t.maskBreaks=function(A){var L=t.rangebreaks||[],_,C,M,g,P;L._cachedPatterns||(L._cachedPatterns=L.map(function(re){return re.enabled&&re.bounds?Nu.simpleMap(re.bounds,re.pattern?a_:t.d2c):null})),L._cachedValues||(L._cachedValues=L.map(function(re){return re.enabled&&re.values?Nu.simpleMap(re.values,t.d2c).sort(Nu.sorterAsc):null}));for(var T=0;T<L.length;T++){var F=L[T];if(F.enabled){if(F.bounds){var q=F.pattern;switch(_=L._cachedPatterns[T],C=_[0],M=_[1],q){case cL:P=new Date(A),g=P.getUTCDay(),C>M&&(M+=7,g<C&&(g+=7));break;case uL:P=new Date(A);var V=P.getUTCHours(),H=P.getUTCMinutes(),X=P.getUTCSeconds(),G=P.getUTCMilliseconds();g=V+(H/60+X/3600+G/36e5),C>M&&(M+=24,g<C&&(g+=24));break;case\"\":g=A;break}if(g>=C&&g<M)return bg}else for(var N=L._cachedValues[T],W=0;W<N.length;W++)if(C=N[W],M=C+F.dvalue,A>=C&&A<M)return bg}}return A},t.locateBreaks=function(A,L){var _,C,M,g,P=[];if(!t.rangebreaks)return P;var T=t.rangebreaks.slice().sort(function(_e,Me){return _e.pattern===cL&&Me.pattern===uL?-1:Me.pattern===cL&&_e.pattern===uL?1:0}),F=function(_e,Me){if(_e=Nu.constrain(_e,A,L),Me=Nu.constrain(Me,A,L),_e!==Me){for(var ke=!0,ge=0;ge<P.length;ge++){var ie=P[ge];_e<ie.max&&Me>=ie.min&&(_e<ie.min&&(ie.min=_e),Me>ie.max&&(ie.max=Me),ke=!1)}ke&&P.push({min:_e,max:Me})}};for(_=0;_<T.length;_++){var q=T[_];if(q.enabled)if(q.bounds){var V=A,H=L;q.pattern&&(V=Math.floor(V)),C=Nu.simpleMap(q.bounds,q.pattern?a_:t.r2l),M=C[0],g=C[1];var X=new Date(V),G,N;switch(q.pattern){case cL:N=Bat,G=((g<M?7:0)+(g-M))*oL,V+=M*oL-(X.getUTCDay()*oL+X.getUTCHours()*sL+X.getUTCMinutes()*Noe+X.getUTCSeconds()*Uoe+X.getUTCMilliseconds());break;case uL:N=oL,G=((g<M?24:0)+(g-M))*sL,V+=M*sL-(X.getUTCHours()*sL+X.getUTCMinutes()*Noe+X.getUTCSeconds()*Uoe+X.getUTCMilliseconds());break;default:V=Math.min(C[0],C[1]),H=Math.max(C[0],C[1]),N=H-V,G=N}for(var W=V;W<H;W+=N)F(W,W+G)}else for(var re=Nu.simpleMap(q.values,t.d2c),ae=0;ae<re.length;ae++)M=re[ae],g=M+q.dvalue,F(M,g)}return P.sort(function(_e,Me){return _e.min-Me.min}),P},t.makeCalcdata=function(A,L,_){var C,M,g,P,T=t.type,F=T===\"date\"&&A[L+\"calendar\"];if(L in A){if(C=A[L],P=A._length||Nu.minRowLength(C),Nu.isTypedArray(C)&&(T===\"linear\"||T===\"log\")){if(P===C.length)return C;if(C.subarray)return C.subarray(0,P)}if(T===\"multicategory\")return c(C,P);for(M=new Array(P),g=0;g<P;g++)M[g]=t.d2c(C[g],0,F,_)}else{var q=L+\"0\"in A?t.d2c(A[L+\"0\"],0,F):0,V=A[\"d\"+L]?Number(A[\"d\"+L]):1;for(C=A[{x:\"y\",y:\"x\"}[L]],P=A._length||C.length,M=new Array(P),g=0;g<P;g++)M[g]=q+g*V}if(t.rangebreaks)for(g=0;g<P;g++)M[g]=t.maskBreaks(M[g]);return M},t.isValidRange=function(A,L){return Array.isArray(A)&&A.length===2&&(L&&A[0]===null||gm(t.r2l(A[0])))&&(L&&A[1]===null||gm(t.r2l(A[1])))},t.getAutorangeDflt=function(A,L){var _=!t.isValidRange(A,\"nullOk\");return _&&L&&L.reverseDflt?_=\"reversed\":A&&(A[0]===null&&A[1]===null?_=!0:A[0]===null&&A[1]!==null?_=\"min\":A[0]!==null&&A[1]===null&&(_=\"max\")),_},t.isReversed=function(){var A=t.autorange;return A===\"reversed\"||A===\"min reversed\"||A===\"max reversed\"},t.isPtWithinRange=function(A,L){var _=t.c2l(A[i],null,L),C=t.r2l(t.range[0]),M=t.r2l(t.range[1]);return C<M?C<=_&&_<=M:M<=_&&_<=C},t._emptyCategories=function(){t._categories=[],t._categoriesMap={}},t.clearCalc=function(){var A=t._matchGroup;if(A){var L=null,_=null;for(var C in A){var M=r[lL.id2name(C)];if(M._categories){L=M._categories,_=M._categoriesMap;break}}L&&_?(t._categories=L,t._categoriesMap=_):t._emptyCategories()}else t._emptyCategories();if(t._initialCategories)for(var g=0;g<t._initialCategories.length;g++)u(t._initialCategories[g])},t.sortByInitialCategories=function(){var A=[];if(t._emptyCategories(),t._initialCategories)for(var L=0;L<t._initialCategories.length;L++)u(t._initialCategories[L]);A=A.concat(t._traceIndices);var _=t._matchGroup;for(var C in _)if(n!==C){var M=r[lL.id2name(C)];M._categories=t._categories,M._categoriesMap=t._categoriesMap,A=A.concat(M._traceIndices)}return A};var k=r._d3locale;t.type===\"date\"&&(t._dateFormat=k?k.timeFormat:zat,t._extraFormat=r._extraFormat),t._separators=r.separators,t._numFormat=k?k.numberFormat:Fat,delete t._minDtick,delete t._forceTick0}});var L3=ye((wrr,Woe)=>{\"use strict\";var Hoe=uo(),WO=Mr(),Nat=es().BADNUM,hL=WO.isArrayOrTypedArray,Uat=WO.isDateTime,Vat=WO.cleanNumber,Goe=Math.round;Woe.exports=function(t,r,n){var i=t,a=n.noMultiCategory;if(hL(i)&&!i.length)return\"-\";if(!a&&Zat(i))return\"multicategory\";if(a&&Array.isArray(i[0])){for(var o=[],s=0;s<i.length;s++)if(hL(i[s]))for(var l=0;l<i[s].length;l++)o.push(i[s][l]);i=o}if(jat(i,r))return\"date\";var u=n.autotypenumbers!==\"strict\";return Wat(i,u)?\"category\":Gat(i,u)?\"linear\":\"-\"};function Hat(e,t){return t?Hoe(e):typeof e==\"number\"}function Gat(e,t){for(var r=e.length,n=0;n<r;n++)if(Hat(e[n],t))return!0;return!1}function jat(e,t){for(var r=e.length,n=joe(r),i=0,a=0,o={},s=0;s<r;s+=n){var l=Goe(s),u=e[l],c=String(u);o[c]||(o[c]=1,Uat(u,t)&&i++,Hoe(u)&&a++)}return i>a*2}function joe(e){return Math.max(1,(e-1)/1e3)}function Wat(e,t){for(var r=e.length,n=joe(r),i=0,a=0,o={},s=0;s<r;s+=n){var l=Goe(s),u=e[l],c=String(u);if(!o[c]){o[c]=1;var f=typeof u;f===\"boolean\"?a++:(t?Vat(u)!==Nat:f===\"number\")?i++:f===\"string\"&&a++}}return a>i*2}function Zat(e){return hL(e[0])&&hL(e[1])}});var wg=ye((Trr,ese)=>{\"use strict\";var Xat=xa(),Koe=uo(),s_=Mr(),dL=es().FP_SAFE,Yat=ba(),Kat=ao(),Joe=af(),Jat=Joe.getFromId,$at=Joe.isLinked;ese.exports={applyAutorangeOptions:Qoe,getAutoRange:ZO,makePadFn:XO,doAutoRange:eot,findExtremes:tot,concatExtremes:JO};function ZO(e,t){var r,n,i=[],a=e._fullLayout,o=XO(a,t,0),s=XO(a,t,1),l=JO(e,t),u=l.min,c=l.max;if(u.length===0||c.length===0)return s_.simpleMap(t.range,t.r2l);var f=u[0].val,h=c[0].val;for(r=1;r<u.length&&f===h;r++)f=Math.min(f,u[r].val);for(r=1;r<c.length&&f===h;r++)h=Math.max(h,c[r].val);var d=t.autorange,v=d===\"reversed\"||d===\"min reversed\"||d===\"max reversed\";if(!v&&t.range){var x=s_.simpleMap(t.range,t.r2l);v=x[1]<x[0]}t.autorange===\"reversed\"&&(t.autorange=!0);var b=t.rangemode,p=b===\"tozero\",E=b===\"nonnegative\",k=t._length,A=k/10,L=0,_,C,M,g,P,T;for(r=0;r<u.length;r++)for(_=u[r],n=0;n<c.length;n++)C=c[n],T=C.val-_.val-Zoe(t,_.val,C.val),T>0&&(P=k-o(_)-s(C),P>A?T/P>L&&(M=_,g=C,L=T/P):T/k>L&&(M={val:_.val,nopad:1},g={val:C.val,nopad:1},L=T/k));function F(G,N){return Math.max(G,s(N))}if(f===h){var q=f-1,V=f+1;if(p)if(f===0)i=[0,1];else{var H=(f>0?c:u).reduce(F,0),X=f/(1-Math.min(.5,H/k));i=f>0?[0,X]:[X,0]}else E?i=[Math.max(0,q),Math.max(1,V)]:i=[q,V]}else p?(M.val>=0&&(M={val:0,nopad:1}),g.val<=0&&(g={val:0,nopad:1})):E&&(M.val-L*o(M)<0&&(M={val:0,nopad:1}),g.val<=0&&(g={val:1,nopad:1})),L=(g.val-M.val-Zoe(t,_.val,C.val))/(k-o(M)-s(g)),i=[M.val-L*o(M),g.val+L*s(g)];return i=Qoe(i,t),t.limitRange&&t.limitRange(),v&&i.reverse(),s_.simpleMap(i,t.l2r||Number)}function Zoe(e,t,r){var n=0;if(e.rangebreaks)for(var i=e.locateBreaks(t,r),a=0;a<i.length;a++){var o=i[a];n+=o.max-o.min}return n}function XO(e,t,r){var n=.05*t._length,i=t._anchorAxis||{};if((t.ticklabelposition||\"\").indexOf(\"inside\")!==-1||(i.ticklabelposition||\"\").indexOf(\"inside\")!==-1){var a=t.isReversed();if(!a){var o=s_.simpleMap(t.range,t.r2l);a=o[1]<o[0]}a&&(r=!r)}var s=0;return $at(e,t._id)||(s=Qat(e,t,r)),n=Math.max(s,n),t.constrain===\"domain\"&&t._inputDomain&&(n*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0])),function(u){return u.nopad?0:u.pad+(u.extrapad?n:s)}}var Xoe=3;function Qat(e,t,r){var n=0,i=t._id.charAt(0)===\"x\";for(var a in e._plots){var o=e._plots[a];if(!(t._id!==o.xaxis._id&&t._id!==o.yaxis._id)){var s=(i?o.yaxis:o.xaxis)||{};if((s.ticklabelposition||\"\").indexOf(\"inside\")!==-1&&(!r&&(s.side===\"left\"||s.side===\"bottom\")||r&&(s.side===\"top\"||s.side===\"right\"))){if(s._vals){var l=s_.deg2rad(s._tickAngles[s._id+\"tick\"]||0),u=Math.abs(Math.cos(l)),c=Math.abs(Math.sin(l));if(!s._vals[0].bb){var f=s._id+\"tick\",h=s._selections[f];h.each(function(E){var k=Xat.select(this),A=k.select(\".text-math-group\");A.empty()&&(E.bb=Kat.bBox(k.node()))})}for(var d=0;d<s._vals.length;d++){var v=s._vals[d],x=v.bb;if(x){var b=2*Xoe+x.width,p=2*Xoe+x.height;n=Math.max(n,i?Math.max(b*u,p*c):Math.max(p*u,b*c))}}}s.ticks===\"inside\"&&s.ticklabelposition===\"inside\"&&(n+=s.ticklen||0)}}}return n}function JO(e,t,r){var n=t._id,i=e._fullData,a=e._fullLayout,o=[],s=[],l,u,c;function f(b,p){for(l=0;l<p.length;l++){var E=b[p[l]],k=(E._extremes||{})[n];if(E.visible===!0&&k){for(u=0;u<k.min.length;u++)c=k.min[u],YO(o,c.val,c.pad,{extrapad:c.extrapad});for(u=0;u<k.max.length;u++)c=k.max[u],KO(s,c.val,c.pad,{extrapad:c.extrapad})}}}if(f(i,t._traceIndices),f(a.annotations||[],t._annIndices||[]),f(a.shapes||[],t._shapeIndices||[]),t._matchGroup&&!r){for(var h in t._matchGroup)if(h!==t._id){var d=Jat(e,h),v=JO(e,d,!0),x=t._length/d._length;for(u=0;u<v.min.length;u++)c=v.min[u],YO(o,c.val,c.pad*x,{extrapad:c.extrapad});for(u=0;u<v.max.length;u++)c=v.max[u],KO(s,c.val,c.pad*x,{extrapad:c.extrapad})}}return{min:o,max:s}}function eot(e,t,r){if(t.setScale(),t.autorange){t.range=r?r.slice():ZO(e,t),t._r=t.range.slice(),t._rl=s_.simpleMap(t._r,t.r2l);var n=t._input,i={};i[t._attr+\".range\"]=t.range,i[t._attr+\".autorange\"]=t.autorange,Yat.call(\"_storeDirectGUIEdit\",e.layout,e._fullLayout._preGUI,i),n.range=t.range.slice(),n.autorange=t.autorange}var a=t._anchorAxis;if(a&&a.rangeslider){var o=a.rangeslider[t._name];o&&o.rangemode===\"auto\"&&(o.range=ZO(e,t)),a._input.rangeslider[t._name]=s_.extendFlat({},o)}}function tot(e,t,r){r||(r={}),e._m||e.setScale();var n=[],i=[],a=t.length,o=r.padded||!1,s=r.tozero&&(e.type===\"linear\"||e.type===\"-\"),l=e.type===\"log\",u=!1,c=r.vpadLinearized||!1,f,h,d,v,x,b,p,E,k;function A(F){if(Array.isArray(F))return u=!0,function(V){return Math.max(Number(F[V]||0),0)};var q=Math.max(Number(F||0),0);return function(){return q}}var L=A((e._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),_=A((e._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),C=A(r.vpadplus||r.vpad),M=A(r.vpadminus||r.vpad);if(!u){if(E=1/0,k=-1/0,l)for(f=0;f<a;f++)h=t[f],h<E&&h>0&&(E=h),h>k&&h<dL&&(k=h);else for(f=0;f<a;f++)h=t[f],h<E&&h>-dL&&(E=h),h>k&&h<dL&&(k=h);t=[E,k],a=2}var g={tozero:s,extrapad:o};function P(F){d=t[F],Koe(d)&&(b=L(F),p=_(F),c?(v=e.c2l(d)-M(F),x=e.c2l(d)+C(F)):(E=d-M(F),k=d+C(F),l&&E<k/10&&(E=k/10),v=e.c2l(E),x=e.c2l(k)),s&&(v=Math.min(0,v),x=Math.max(0,x)),Yoe(v)&&YO(n,v,p,g),Yoe(x)&&KO(i,x,b,g))}var T=Math.min(6,a);for(f=0;f<T;f++)P(f);for(f=a-1;f>=T;f--)P(f);return{min:n,max:i,opts:r}}function YO(e,t,r,n){$oe(e,t,r,n,rot)}function KO(e,t,r,n){$oe(e,t,r,n,iot)}function $oe(e,t,r,n,i){for(var a=n.tozero,o=n.extrapad,s=!0,l=0;l<e.length&&s;l++){var u=e[l];if(i(u.val,t)&&u.pad>=r&&(u.extrapad||!o)){s=!1;break}else i(t,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(e.splice(l,1),l--)}if(s){var c=a&&t===0;e.push({val:t,pad:c?0:r,extrapad:c?!1:o})}}function Yoe(e){return Koe(e)&&Math.abs(e)<dL}function rot(e,t){return e<=t}function iot(e,t){return e>=t}function not(e,t){var r=t.autorangeoptions;return r&&r.minallowed!==void 0&&vL(t,r.minallowed,r.maxallowed)?r.minallowed:r&&r.clipmin!==void 0&&vL(t,r.clipmin,r.clipmax)?Math.max(e,t.d2l(r.clipmin)):e}function aot(e,t){var r=t.autorangeoptions;return r&&r.maxallowed!==void 0&&vL(t,r.minallowed,r.maxallowed)?r.maxallowed:r&&r.clipmax!==void 0&&vL(t,r.clipmin,r.clipmax)?Math.min(e,t.d2l(r.clipmax)):e}function vL(e,t,r){return t!==void 0&&r!==void 0?(t=e.d2l(t),r=e.d2l(r),t<r):!0}function Qoe(e,t){if(!t||!t.autorangeoptions)return e;var r=e[0],n=e[1],i=t.autorangeoptions.include;if(i!==void 0){var a=t.d2l(r),o=t.d2l(n);s_.isArrayOrTypedArray(i)||(i=[i]);for(var s=0;s<i.length;s++){var l=t.d2l(i[s]);a>=l&&(a=l,r=l),o<=l&&(o=l,n=l)}}return r=not(r,t),n=aot(n,t),[r,n]}});var Qa=ye((Arr,wse)=>{\"use strict\";var w0=xa(),ph=uo(),P3=Xu(),QS=ba(),Vo=Mr(),I3=Vo.strTranslate,Eb=Pl(),oot=Mb(),eM=va(),Xp=ao(),sot=Cd(),tse=bO(),Yd=es(),lot=Yd.ONEMAXYEAR,mL=Yd.ONEAVGYEAR,yL=Yd.ONEMINYEAR,uot=Yd.ONEMAXQUARTER,tB=Yd.ONEAVGQUARTER,_L=Yd.ONEMINQUARTER,cot=Yd.ONEMAXMONTH,R3=Yd.ONEAVGMONTH,xL=Yd.ONEMINMONTH,Yp=Yd.ONEWEEK,Fv=Yd.ONEDAY,l_=Fv/2,xm=Yd.ONEHOUR,tM=Yd.ONEMIN,bL=Yd.ONESEC,fot=Yd.ONEMILLI,hot=Yd.ONEMICROSEC,kb=Yd.MINUS_SIGN,AL=Yd.BADNUM,rB={K:\"zeroline\"},iB={K:\"gridline\",L:\"path\"},nB={K:\"minor-gridline\",L:\"path\"},hse={K:\"tick\",L:\"path\"},rse={K:\"tick\",L:\"text\"},ise={width:[\"x\",\"r\",\"l\",\"xl\",\"xr\"],height:[\"y\",\"t\",\"b\",\"yt\",\"yb\"],right:[\"r\",\"xr\"],left:[\"l\",\"xl\"],top:[\"t\",\"yt\"],bottom:[\"b\",\"yb\"]},SL=Nh(),$S=SL.MID_SHIFT,Cb=SL.CAP_SHIFT,rM=SL.LINE_SPACING,dot=SL.OPPOSITE_SIDE,wL=3,kn=wse.exports={};kn.setConvert=ym();var vot=L3(),Ay=af(),pot=Ay.idSort,got=Ay.isLinked;kn.id2name=Ay.id2name;kn.name2id=Ay.name2id;kn.cleanId=Ay.cleanId;kn.list=Ay.list;kn.listIds=Ay.listIds;kn.getFromId=Ay.getFromId;kn.getFromTrace=Ay.getFromTrace;var dse=wg();kn.getAutoRange=dse.getAutoRange;kn.findExtremes=dse.findExtremes;var mot=1e-4;function lB(e){var t=(e[1]-e[0])*mot;return[e[0]-t,e[1]+t]}kn.coerceRef=function(e,t,r,n,i,a){var o=n.charAt(n.length-1),s=r._fullLayout._subplots[o+\"axis\"],l=n+\"ref\",u={};return i||(i=s[0]||(typeof a==\"string\"?a:a[0])),a||(a=i),s=s.concat(s.map(function(c){return c+\" domain\"})),u[l]={valType:\"enumerated\",values:s.concat(a?typeof a==\"string\"?[a]:a:[]),dflt:i},Vo.coerce(e,t,u,l)};kn.getRefType=function(e){return e===void 0?e:e===\"paper\"?\"paper\":e===\"pixel\"?\"pixel\":/( domain)$/.test(e)?\"domain\":\"range\"};kn.coercePosition=function(e,t,r,n,i,a){var o,s,l=kn.getRefType(n);if(l!==\"range\")o=Vo.ensureNumber,s=r(i,a);else{var u=kn.getFromId(t,n);a=u.fraction2r(a),s=r(i,a),o=u.cleanPos}e[i]=o(s)};kn.cleanPosition=function(e,t,r){var n=r===\"paper\"||r===\"pixel\"?Vo.ensureNumber:kn.getFromId(t,r).cleanPos;return n(e)};kn.redrawComponents=function(e,t){t=t||kn.listIds(e);var r=e._fullLayout;function n(i,a,o,s){for(var l=QS.getComponentMethod(i,a),u={},c=0;c<t.length;c++)for(var f=r[kn.id2name(t[c])],h=f[o],d=0;d<h.length;d++){var v=h[d];if(!u[v]&&(l(e,v),u[v]=1,s))return}}n(\"annotations\",\"drawOne\",\"_annIndices\"),n(\"shapes\",\"drawOne\",\"_shapeIndices\"),n(\"images\",\"draw\",\"_imgIndices\",!0),n(\"selections\",\"drawOne\",\"_selectionIndices\")};var yot=kn.getDataConversions=function(e,t,r,n){var i,a=r===\"x\"||r===\"y\"||r===\"z\"?r:n;if(Vo.isArrayOrTypedArray(a)){if(i={type:vot(n,void 0,{autotypenumbers:e._fullLayout.autotypenumbers}),_categories:[]},kn.setConvert(i),i.type===\"category\")for(var o=0;o<n.length;o++)i.d2c(n[o])}else i=kn.getFromTrace(e,t,a);return i?{d2c:i.d2c,c2d:i.c2d}:a===\"ids\"?{d2c:ase,c2d:ase}:{d2c:nse,c2d:nse}};function nse(e){return+e}function ase(e){return String(e)}kn.getDataToCoordFunc=function(e,t,r,n){return yot(e,t,r,n).d2c};kn.counterLetter=function(e){var t=e.charAt(0);if(t===\"x\")return\"y\";if(t===\"y\")return\"x\"};kn.minDtick=function(e,t,r,n){[\"log\",\"category\",\"multicategory\"].indexOf(e.type)!==-1||!n?e._minDtick=0:e._minDtick===void 0?(e._minDtick=t,e._forceTick0=r):e._minDtick&&((e._minDtick/t+1e-6)%1<2e-6&&((r-e._forceTick0)/t%1+1.000001)%1<2e-6?(e._minDtick=t,e._forceTick0=r):((t/e._minDtick+1e-6)%1>2e-6||((r-e._forceTick0)/e._minDtick%1+1.000001)%1>2e-6)&&(e._minDtick=0))};kn.saveRangeInitial=function(e,t){for(var r=kn.list(e,\"\",!0),n=!1,i=0;i<r.length;i++){var a=r[i],o=a._rangeInitial0===void 0&&a._rangeInitial1===void 0,s=o||a.range[0]!==a._rangeInitial0||a.range[1]!==a._rangeInitial1,l=a.autorange;(o&&l!==!0||t&&s)&&(a._rangeInitial0=l===\"min\"||l===\"max reversed\"?void 0:a.range[0],a._rangeInitial1=l===\"max\"||l===\"min reversed\"?void 0:a.range[1],a._autorangeInitial=l,n=!0)}return n};kn.saveShowSpikeInitial=function(e,t){for(var r=kn.list(e,\"\",!0),n=!1,i=\"on\",a=0;a<r.length;a++){var o=r[a],s=o._showSpikeInitial===void 0,l=s||o.showspikes!==o._showspikes;(s||t&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),i===\"on\"&&!o.showspikes&&(i=\"off\")}return e._fullLayout._cartesianSpikesEnabled=i,n};kn.autoBin=function(e,t,r,n,i,a){var o=Vo.aggNums(Math.min,null,e),s=Vo.aggNums(Math.max,null,e);if(t.type===\"category\"||t.type===\"multicategory\")return{start:o-.5,end:s+.5,size:Math.max(1,Math.round(a)||1),_dataSpan:s-o};i||(i=t.calendar);var l;if(t.type===\"log\"?l={type:\"linear\",range:[o,s]}:l={type:t.type,range:Vo.simpleMap([o,s],t.c2r,0,i),calendar:i},kn.setConvert(l),a=a&&tse.dtick(a,l.type),a)l.dtick=a,l.tick0=tse.tick0(void 0,l.type,i);else{var u;if(r)u=(s-o)/r;else{var c=Vo.distinctVals(e),f=Math.pow(10,Math.floor(Math.log(c.minDiff)/Math.LN10)),h=f*Vo.roundUp(c.minDiff/f,[.9,1.9,4.9,9.9],!0);u=Math.max(h,2*Vo.stdev(e)/Math.pow(e.length,n?.25:.4)),ph(u)||(u=1)}kn.autoTicks(l,u)}var d=l.dtick,v=kn.tickIncrement(kn.tickFirst(l),d,\"reverse\",i),x,b;if(typeof d==\"number\")v=_ot(v,e,l,o,s),b=1+Math.floor((s-v)/d),x=v+b*d;else for(l.dtick.charAt(0)===\"M\"&&(v=xot(v,e,d,o,i)),x=v,b=0;x<=s;)x=kn.tickIncrement(x,d,!1,i),b++;return{start:t.c2r(v,0,i),end:t.c2r(x,0,i),size:d,_dataSpan:s-o}};function _ot(e,t,r,n,i){var a=0,o=0,s=0,l=0;function u(d){return(1+(d-e)*100/r.dtick)%100<2}for(var c=0;c<t.length;c++)t[c]%1===0?s++:ph(t[c])||l++,u(t[c])&&a++,u(t[c]+r.dtick/2)&&o++;var f=t.length-l;if(s===f&&r.type!==\"date\")r.dtick<1?e=n-.5*r.dtick:(e-=.5,e+r.dtick<n&&(e+=r.dtick));else if(o<f*.1&&(a>f*.3||u(n)||u(i))){var h=r.dtick/2;e+=e+h<n?h:-h}return e}function xot(e,t,r,n,i){var a=Vo.findExactDates(t,i),o=.8;if(a.exactDays>o){var s=Number(r.substr(1));a.exactYears>o&&s%12===0?e=kn.tickIncrement(e,\"M6\",\"reverse\")+Fv*1.5:a.exactMonths>o?e=kn.tickIncrement(e,\"M1\",\"reverse\")+Fv*15.5:e-=l_;var l=kn.tickIncrement(e,r);if(l<=n)return l}return e}kn.prepMinorTicks=function(e,t,r){if(!t.minor.dtick){delete e.dtick;var n=t.dtick&&ph(t._tmin),i;if(n){var a=kn.tickIncrement(t._tmin,t.dtick,!0);i=[t._tmin,a*.99+t._tmin*.01]}else{var o=Vo.simpleMap(t.range,t.r2l);i=[o[0],.8*o[0]+.2*o[1]]}if(e.range=Vo.simpleMap(i,t.l2r),e._isMinor=!0,kn.prepTicks(e,r),n){var s=ph(t.dtick),l=ph(e.dtick),u=s?t.dtick:+t.dtick.substring(1),c=l?e.dtick:+e.dtick.substring(1);s&&l?$O(u,c)?u===2*Yp&&c===2*Fv&&(e.dtick=Yp):u===2*Yp&&c===3*Fv?e.dtick=Yp:u===Yp&&!(t._input.minor||{}).nticks?e.dtick=Fv:ose(u/c,2.5)?e.dtick=u/2:e.dtick=u:String(t.dtick).charAt(0)===\"M\"?l?e.dtick=\"M1\":$O(u,c)?u>=12&&c===2&&(e.dtick=\"M3\"):e.dtick=t.dtick:String(e.dtick).charAt(0)===\"L\"?String(t.dtick).charAt(0)===\"L\"?$O(u,c)||(e.dtick=ose(u/c,2.5)?t.dtick/2:t.dtick):e.dtick=\"D1\":e.dtick===\"D2\"&&+t.dtick>1&&(e.dtick=1)}e.range=t.range}t.minor._tick0Init===void 0&&(e.tick0=t.tick0)};function $O(e,t){return Math.abs((e/t+.5)%1-.5)<.001}function ose(e,t){return Math.abs(e/t-1)<.001}kn.prepTicks=function(e,t){var r=Vo.simpleMap(e.range,e.r2l,void 0,void 0,t);if(e.tickmode===\"auto\"||!e.dtick){var n=e.nticks,i;n||(e.type===\"category\"||e.type===\"multicategory\"?(i=e.tickfont?Vo.bigFont(e.tickfont.size||12):15,n=e._length/i):(i=e._id.charAt(0)===\"y\"?40:80,n=Vo.constrain(e._length/i,4,9)+1),e._name===\"radialaxis\"&&(n*=2)),e.minor&&e.minor.tickmode!==\"array\"||e.tickmode===\"array\"&&(n*=100),e._roughDTick=Math.abs(r[1]-r[0])/n,kn.autoTicks(e,e._roughDTick),e._minDtick>0&&e.dtick<e._minDtick*2&&(e.dtick=e._minDtick,e.tick0=e.l2r(e._forceTick0))}e.ticklabelmode===\"period\"&&bot(e),e.tick0||(e.tick0=e.type===\"date\"?\"2000-01-01\":0),e.type===\"date\"&&e.dtick<.1&&(e.dtick=.1),mse(e)};function QO(e){return+e.substring(1)}function bot(e){var t;function r(){return!(ph(e.dtick)||e.dtick.charAt(0)!==\"M\")}var n=r(),i=kn.getTickFormat(e);if(i){var a=e._dtickInit!==e.dtick;/%[fLQsSMX]/.test(i)||(/%[HI]/.test(i)?(t=xm,a&&!n&&e.dtick<xm&&(e.dtick=xm)):/%p/.test(i)?(t=l_,a&&!n&&e.dtick<l_&&(e.dtick=l_)):/%[Aadejuwx]/.test(i)?(t=Fv,a&&!n&&e.dtick<Fv&&(e.dtick=Fv)):/%[UVW]/.test(i)?(t=Yp,a&&!n&&e.dtick<Yp&&(e.dtick=Yp)):/%[Bbm]/.test(i)?(t=R3,a&&(n?QO(e.dtick)<1:e.dtick<xL)&&(e.dtick=\"M1\")):/%[q]/.test(i)?(t=tB,a&&(n?QO(e.dtick)<3:e.dtick<_L)&&(e.dtick=\"M3\")):/%[Yy]/.test(i)&&(t=mL,a&&(n?QO(e.dtick)<12:e.dtick<yL)&&(e.dtick=\"M12\")))}n=r(),n&&e.tick0===e._dowTick0&&(e.tick0=e._rawTick0),e._definedDelta=t}function wot(e,t,r){for(var n=0;n<e.length;n++){var i=e[n].value,a=n,o=n+1;n<e.length-1?(a=n,o=n+1):n>0?(a=n-1,o=n):(a=n,o=n);var s=e[a].value,l=e[o].value,u=Math.abs(l-s),c=r||u,f=0;c>=yL?u>=yL&&u<=lot?f=u:f=mL:r===tB&&c>=_L?u>=_L&&u<=uot?f=u:f=tB:c>=xL?u>=xL&&u<=cot?f=u:f=R3:r===Yp&&c>=Yp?f=Yp:c>=Fv?f=Fv:r===l_&&c>=l_?f=l_:r===xm&&c>=xm&&(f=xm);var h;f>=u&&(f=u,h=!0);var d=i+f;if(t.rangebreaks&&f>0){for(var v=84,x=0,b=0;b<v;b++){var p=(b+.5)/v;t.maskBreaks(i*(1-p)+p*d)!==AL&&x++}f*=x/v,f||(e[n].drop=!0),h&&u>Yp&&(f=u)}(f>0||n===0)&&(e[n].periodX=i+f/2)}}kn.calcTicks=function(t,r){for(var n=t.type,i=t.calendar,a=t.ticklabelstep,o=t.ticklabelmode===\"period\",s=t.range[0]>t.range[1],l=!t.ticklabelindex||Vo.isArrayOrTypedArray(t.ticklabelindex)?t.ticklabelindex:[t.ticklabelindex],u=Vo.simpleMap(t.range,t.r2l,void 0,void 0,r),c=u[1]<u[0],f=Math.min(u[0],u[1]),h=Math.max(u[0],u[1]),d=Math.max(1e3,t._length||0),v=[],x=[],b=[],p=[],E=[],k=t.minor&&(t.minor.ticks||t.minor.showgrid),A=1;A>=(k?0:1);A--){var L=!A;A?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var _=A?t:Vo.extendFlat({},t,t.minor);if(L?kn.prepMinorTicks(_,t,r):kn.prepTicks(_,r),_.tickmode===\"array\"){A?(b=[],v=sse(t,!L)):(p=[],x=sse(t,!L));continue}if(_.tickmode===\"sync\"){b=[],v=Tot(t);continue}var C=lB(u),M=C[0],g=C[1],P=ph(_.dtick),T=n===\"log\"&&!(P||_.dtick.charAt(0)===\"L\"),F=kn.tickFirst(_,r);if(A){if(t._tmin=F,F<M!==c)break;(n===\"category\"||n===\"multicategory\")&&(g=c?Math.max(-.5,g):Math.min(t._categories.length-.5,g))}var q=null,V=F,H;if(A){var X;P?X=t.dtick:n===\"date\"?typeof t.dtick==\"string\"&&t.dtick.charAt(0)===\"M\"&&(X=R3*t.dtick.substring(1)):X=t._roughDTick,H=Math.round((t.r2l(V)-t.r2l(t.tick0))/X)-1}var G=_.dtick;for(_.rangebreaks&&_._tick0Init!==_.tick0&&(V=eB(V,t),c||(V=kn.tickIncrement(V,G,!c,i))),A&&o&&(V=kn.tickIncrement(V,G,!c,i),H--);c?V>=g:V<=g;V=kn.tickIncrement(V,G,c,i)){if(A&&H++,_.rangebreaks&&!c){if(V<M)continue;if(_.maskBreaks(V)===AL&&eB(V,_)>=h)break}if(b.length>d||V===q)break;q=V;var N={value:V};A?(T&&V!==(V|0)&&(N.simpleLabel=!0),a>1&&H%a&&(N.skipLabel=!0),b.push(N)):(N.minor=!0,p.push(N))}}if(!p||p.length<2)l=!1;else{var W=(p[1].value-p[0].value)*(s?-1:1);Zot(W,t.tickformat)||(l=!1)}if(!l)E=b;else{var re=b.concat(p);o&&b.length&&(re=re.slice(1)),re=re.sort(function(Rt,kt){return Rt.value-kt.value}).filter(function(Rt,kt,Ct){return kt===0||Rt.value!==Ct[kt-1].value});var ae=re.map(function(Rt,kt){return Rt.minor===void 0&&!Rt.skipLabel?kt:null}).filter(function(Rt){return Rt!==null});ae.forEach(function(Rt){l.map(function(kt){var Ct=Rt+kt;Ct>=0&&Ct<re.length&&Vo.pushUnique(E,re[Ct])})})}if(k){var _e=t.minor.ticks===\"inside\"&&t.ticks===\"outside\"||t.minor.ticks===\"outside\"&&t.ticks===\"inside\";if(!_e){for(var Me=b.map(function(Rt){return Rt.value}),ke=[],ge=0;ge<p.length;ge++){var ie=p[ge],Te=ie.value;if(Me.indexOf(Te)===-1){for(var Ee=!1,Ae=0;!Ee&&Ae<b.length;Ae++)1e7+b[Ae].value===1e7+Te&&(Ee=!0);Ee||ke.push(ie)}}p=ke}}o&&wot(E,t,t._definedDelta);var ze;if(t.rangebreaks){var Ce=t._id.charAt(0)===\"y\",me=1;t.tickmode===\"auto\"&&(me=t.tickfont?t.tickfont.size:12);var Re=NaN;for(ze=b.length-1;ze>-1;ze--){if(b[ze].drop){b.splice(ze,1);continue}b[ze].value=eB(b[ze].value,t);var ce=t.c2p(b[ze].value);(Ce?Re>ce-me:Re<ce+me)?b.splice(c?ze+1:ze,1):Re=ce}}fB(t)&&Math.abs(u[1]-u[0])===360&&b.pop(),t._tmax=(b[b.length-1]||{}).value,t._prevDateHead=\"\",t._inCalcTicks=!0;var Ge,nt=function(Rt){Rt.text=\"\",t._prevDateHead=Ge};b=b.concat(p);function ct(Rt,kt){var Ct=kn.tickText(Rt,kt.value,!1,kt.simpleLabel),Yt=kt.periodX;return Yt!==void 0&&(Ct.periodX=Yt,(Yt>h||Yt<f)&&(Yt>h&&(Ct.periodX=h),Yt<f&&(Ct.periodX=f),nt(Ct))),Ct}var qt;for(ze=0;ze<b.length;ze++){var rt=b[ze].minor,ot=b[ze].value;rt?(l&&E.indexOf(b[ze])!==-1?qt=ct(t,b[ze]):qt={x:ot},qt.minor=!0,x.push(qt)):(Ge=t._prevDateHead,qt=ct(t,b[ze]),(b[ze].skipLabel||l&&E.indexOf(b[ze])===-1)&&nt(qt),v.push(qt))}return v=v.concat(x),t._inCalcTicks=!1,o&&v.length&&(v[0].noTick=!0),v};function vse(e,t){return e.rangebreaks&&(t=t.filter(function(r){return e.maskBreaks(r.x)!==AL})),t}function Tot(e){var t=e._mainAxis,r=[];if(t._vals){for(var n=0;n<t._vals.length;n++)if(!t._vals[n].noTick){var i=t.l2p(t._vals[n].x),a=e.p2l(i),o=kn.tickText(e,a);t._vals[n].minor&&(o.minor=!0,o.text=\"\"),r.push(o)}}return r=vse(e,r),r}function sse(e,t){var r=Vo.simpleMap(e.range,e.r2l),n=lB(r),i=Math.min(n[0],n[1]),a=Math.max(n[0],n[1]),o=e.type===\"category\"?e.d2l_noadd:e.d2l;e.type===\"log\"&&String(e.dtick).charAt(0)!==\"L\"&&(e.dtick=\"L\"+Math.pow(10,Math.floor(Math.min(e.range[0],e.range[1]))-1));for(var s=[],l=0;l<=1;l++)if(!(t!==void 0&&(t&&l||t===!1&&!l))&&!(l&&!e.minor)){var u=l?e.minor.tickvals:e.tickvals,c=l?[]:e.ticktext;if(u){Vo.isArrayOrTypedArray(c)||(c=[]);for(var f=0;f<u.length;f++){var h=o(u[f]);if(h>i&&h<a){var d=kn.tickText(e,h,!1,String(c[f]));l&&(d.minor=!0,d.text=\"\"),s.push(d)}}}}return s=vse(e,s),s}var pL=[2,5,10],lse=[1,2,3,6,12],use=[1,2,5,10,15,30],Aot=[1,2,3,7,14],pse=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],gse=[-.301,0,.301,.699,1],Sot=[15,30,45,90,180];function _m(e,t,r){return t*Vo.roundUp(e/t,r)}kn.autoTicks=function(e,t,r){var n;function i(f){return Math.pow(f,Math.floor(Math.log(t)/Math.LN10))}if(e.type===\"date\"){e.tick0=Vo.dateTick0(e.calendar,0);var a=2*t;if(a>mL)t/=mL,n=i(10),e.dtick=\"M\"+12*_m(t,n,pL);else if(a>R3)t/=R3,e.dtick=\"M\"+_m(t,1,lse);else if(a>Fv){if(e.dtick=_m(t,Fv,e._hasDayOfWeekBreaks?[1,2,7,14]:Aot),!r){var o=kn.getTickFormat(e),s=e.ticklabelmode===\"period\";s&&(e._rawTick0=e.tick0),/%[uVW]/.test(o)?e.tick0=Vo.dateTick0(e.calendar,2):e.tick0=Vo.dateTick0(e.calendar,1),s&&(e._dowTick0=e.tick0)}}else a>xm?e.dtick=_m(t,xm,lse):a>tM?e.dtick=_m(t,tM,use):a>bL?e.dtick=_m(t,bL,use):(n=i(10),e.dtick=_m(t,n,pL))}else if(e.type===\"log\"){e.tick0=0;var l=Vo.simpleMap(e.range,e.r2l);if(e._isMinor&&(t*=1.5),t>.7)e.dtick=Math.ceil(t);else if(Math.abs(l[1]-l[0])<1){var u=1.5*Math.abs((l[1]-l[0])/t);t=Math.abs(Math.pow(10,l[1])-Math.pow(10,l[0]))/u,n=i(10),e.dtick=\"L\"+_m(t,n,pL)}else e.dtick=t>.3?\"D2\":\"D1\"}else e.type===\"category\"||e.type===\"multicategory\"?(e.tick0=0,e.dtick=Math.ceil(Math.max(t,1))):fB(e)?(e.tick0=0,n=1,e.dtick=_m(t,n,Sot)):(e.tick0=0,n=i(10),e.dtick=_m(t,n,pL));if(e.dtick===0&&(e.dtick=1),!ph(e.dtick)&&typeof e.dtick!=\"string\"){var c=e.dtick;throw e.dtick=1,\"ax.dtick error: \"+String(c)}};function mse(e){var t=e.dtick;if(e._tickexponent=0,!ph(t)&&typeof t!=\"string\"&&(t=1),(e.type===\"category\"||e.type===\"multicategory\")&&(e._tickround=null),e.type===\"date\"){var r=e.r2l(e.tick0),n=e.l2r(r).replace(/(^-|i)/g,\"\"),i=n.length;if(String(t).charAt(0)===\"M\")i>10||n.substr(5)!==\"01-01\"?e._tickround=\"d\":e._tickround=+t.substr(1)%12===0?\"y\":\"m\";else if(t>=Fv&&i<=10||t>=Fv*15)e._tickround=\"d\";else if(t>=tM&&i<=16||t>=xm)e._tickround=\"M\";else if(t>=bL&&i<=19||t>=tM)e._tickround=\"S\";else{var a=e.l2r(r+t).replace(/^-/,\"\").length;e._tickround=Math.max(i,a)-20,e._tickround<0&&(e._tickround=4)}}else if(ph(t)||t.charAt(0)===\"L\"){var o=e.range.map(e.r2d||Number);ph(t)||(t=Number(t.substr(1))),e._tickround=2-Math.floor(Math.log(t)/Math.LN10+.01);var s=Math.max(Math.abs(o[0]),Math.abs(o[1])),l=Math.floor(Math.log(s)/Math.LN10+.01),u=e.minexponent===void 0?3:e.minexponent;Math.abs(l)>u&&(TL(e.exponentformat)&&!uB(l)?e._tickexponent=3*Math.round((l-1)/3):e._tickexponent=l)}else e._tickround=null}kn.tickIncrement=function(e,t,r,n){var i=r?-1:1;if(ph(t))return Vo.increment(e,i*t);var a=t.charAt(0),o=i*Number(t.substr(1));if(a===\"M\")return Vo.incrementMonth(e,o,n);if(a===\"L\")return Math.log(Math.pow(10,e)+o)/Math.LN10;if(a===\"D\"){var s=t===\"D2\"?gse:pse,l=e+i*.01,u=Vo.roundUp(Vo.mod(l,1),s,r);return Math.floor(l)+Math.log(w0.round(Math.pow(10,u),1))/Math.LN10}throw\"unrecognized dtick \"+String(t)};kn.tickFirst=function(e,t){var r=e.r2l||Number,n=Vo.simpleMap(e.range,r,void 0,void 0,t),i=n[1]<n[0],a=i?Math.floor:Math.ceil,o=lB(n)[0],s=e.dtick,l=r(e.tick0);if(ph(s)){var u=a((o-l)/s)*s+l;return(e.type===\"category\"||e.type===\"multicategory\")&&(u=Vo.constrain(u,0,e._categories.length-1)),u}var c=s.charAt(0),f=Number(s.substr(1));if(c===\"M\"){for(var h=0,d=l,v,x,b;h<10;){if(v=kn.tickIncrement(d,s,i,e.calendar),(v-o)*(d-o)<=0)return i?Math.min(d,v):Math.max(d,v);x=(o-(d+v)/2)/(v-d),b=c+(Math.abs(Math.round(x))||1)*f,d=kn.tickIncrement(d,b,x<0?!i:i,e.calendar),h++}return Vo.error(\"tickFirst did not converge\",e),d}else{if(c===\"L\")return Math.log(a((Math.pow(10,o)-l)/f)*f+l)/Math.LN10;if(c===\"D\"){var p=s===\"D2\"?gse:pse,E=Vo.roundUp(Vo.mod(o,1),p,i);return Math.floor(o)+Math.log(w0.round(Math.pow(10,E),1))/Math.LN10}else throw\"unrecognized dtick \"+String(s)}};kn.tickText=function(e,t,r,n){var i=yse(e,t),a=e.tickmode===\"array\",o=r||a,s=e.type,l=s===\"category\"?e.d2l_noadd:e.d2l,u,c=function(b){var p=e.l2p(b);return p>=0&&p<=e._length?b:null};if(a&&Vo.isArrayOrTypedArray(e.ticktext)){var f=Vo.simpleMap(e.range,e.r2l),h=(Math.abs(f[1]-f[0])-(e._lBreaks||0))/1e4;for(u=0;u<e.ticktext.length&&!(Math.abs(t-l(e.tickvals[u]))<h);u++);if(u<e.ticktext.length)return i.text=String(e.ticktext[u]),i.xbnd=[c(i.x-.5),c(i.x+e.dtick-.5)],i}function d(b){if(b===void 0)return!0;if(r)return b===\"none\";var p={first:e._tmin,last:e._tmax}[b];return b!==\"all\"&&t!==p}var v=r?\"never\":e.exponentformat!==\"none\"&&d(e.showexponent)?\"hide\":\"\";if(s===\"date\"?Mot(e,i,r,o):s===\"log\"?Eot(e,i,r,o,v):s===\"category\"?kot(e,i):s===\"multicategory\"?Cot(e,i,r):fB(e)?Pot(e,i,r,o,v):Lot(e,i,r,o,v),n||(e.tickprefix&&!d(e.showtickprefix)&&(i.text=e.tickprefix+i.text),e.ticksuffix&&!d(e.showticksuffix)&&(i.text+=e.ticksuffix)),e.labelalias&&e.labelalias.hasOwnProperty(i.text)){var x=e.labelalias[i.text];typeof x==\"string\"&&(i.text=x)}return(e.tickson===\"boundaries\"||e.showdividers)&&(i.xbnd=[c(i.x-.5),c(i.x+e.dtick-.5)]),i};kn.hoverLabelText=function(e,t,r){r&&(e=Vo.extendFlat({},e,{hoverformat:r}));var n=Vo.isArrayOrTypedArray(t)?t[0]:t,i=Vo.isArrayOrTypedArray(t)?t[1]:void 0;if(i!==void 0&&i!==n)return kn.hoverLabelText(e,n,r)+\" - \"+kn.hoverLabelText(e,i,r);var a=e.type===\"log\"&&n<=0,o=kn.tickText(e,e.c2l(a?-n:n),\"hover\").text;return a?n===0?\"0\":kb+o:o};function yse(e,t,r){var n=e.tickfont||{};return{x:t,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}}function Mot(e,t,r,n){var i=e._tickround,a=r&&e.hoverformat||kn.getTickFormat(e);n=!a&&n,n&&(ph(i)?i=4:i={y:\"m\",m:\"d\",d:\"M\",M:\"S\",S:4}[i]);var o=Vo.formatDate(t.x,a,i,e._dateFormat,e.calendar,e._extraFormat),s,l=o.indexOf(`\n", - "`);if(l!==-1&&(s=o.substr(l+1),o=o.substr(0,l)),n&&(s!==void 0&&(o===\"00:00:00\"||o===\"00:00\")?(o=s,s=\"\"):o.length===8&&(o=o.replace(/:00$/,\"\"))),s)if(r)i===\"d\"?o+=\", \"+s:o=s+(o?\", \"+o:\"\");else if(!e._inCalcTicks||e._prevDateHead!==s)e._prevDateHead=s,o+=\"<br>\"+s;else{var u=nM(e),c=e._trueSide||e.side;(!u&&c===\"top\"||u&&c===\"bottom\")&&(o+=\"<br> \")}t.text=o}function Eot(e,t,r,n,i){var a=e.dtick,o=t.x,s=e.tickformat,l=typeof a==\"string\"&&a.charAt(0);if(i===\"never\"&&(i=\"\"),n&&l!==\"L\"&&(a=\"L3\",l=\"L\"),s||l===\"L\")t.text=iM(Math.pow(10,o),e,i,n);else if(ph(a)||l===\"D\"&&Vo.mod(o+.01,1)<.1){var u=Math.round(o),c=Math.abs(u),f=e.exponentformat;f===\"power\"||TL(f)&&uB(u)?(u===0?t.text=1:u===1?t.text=\"10\":t.text=\"10<sup>\"+(u>1?\"\":kb)+c+\"</sup>\",t.fontSize*=1.25):(f===\"e\"||f===\"E\")&&c>2?t.text=\"1\"+f+(u>0?\"+\":kb)+c:(t.text=iM(Math.pow(10,o),e,\"\",\"fakehover\"),a===\"D1\"&&e._id.charAt(0)===\"y\"&&(t.dy-=t.fontSize/6))}else if(l===\"D\")t.text=String(Math.round(Math.pow(10,Vo.mod(o,1)))),t.fontSize*=.75;else throw\"unrecognized dtick \"+String(a);if(e.dtick===\"D1\"){var h=String(t.text).charAt(0);(h===\"0\"||h===\"1\")&&(e._id.charAt(0)===\"y\"?t.dx-=t.fontSize/4:(t.dy+=t.fontSize/2,t.dx+=(e.range[1]>e.range[0]?1:-1)*t.fontSize*(o<0?.5:.25)))}}function kot(e,t){var r=e._categories[Math.round(t.x)];r===void 0&&(r=\"\"),t.text=String(r)}function Cot(e,t,r){var n=Math.round(t.x),i=e._categories[n]||[],a=i[1]===void 0?\"\":String(i[1]),o=i[0]===void 0?\"\":String(i[0]);r?t.text=o+\" - \"+a:(t.text=a,t.text2=o)}function Lot(e,t,r,n,i){i===\"never\"?i=\"\":e.showexponent===\"all\"&&Math.abs(t.x/e.dtick)<1e-6&&(i=\"hide\"),t.text=iM(t.x,e,i,n)}function Pot(e,t,r,n,i){if(e.thetaunit===\"radians\"&&!r){var a=t.x/180;if(a===0)t.text=\"0\";else{var o=Iot(a);if(o[1]>=100)t.text=iM(Vo.deg2rad(t.x),e,i,n);else{var s=t.x<0;o[1]===1?o[0]===1?t.text=\"\\u03C0\":t.text=o[0]+\"\\u03C0\":t.text=[\"<sup>\",o[0],\"</sup>\",\"\\u2044\",\"<sub>\",o[1],\"</sub>\",\"\\u03C0\"].join(\"\"),s&&(t.text=kb+t.text)}}}else t.text=iM(t.x,e,i,n)}function Iot(e){function t(s,l){return Math.abs(s-l)<=1e-6}function r(s,l){return t(l,0)?s:r(l,s%l)}function n(s){for(var l=1;!t(Math.round(s*l)/l,s);)l*=10;return l}var i=n(e),a=e*i,o=Math.abs(r(a,i));return[Math.round(a/o),Math.round(i/o)]}var Rot=[\"f\",\"p\",\"n\",\"\\u03BC\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\"];function TL(e){return e===\"SI\"||e===\"B\"}function uB(e){return e>14||e<-15}function iM(e,t,r,n){var i=e<0,a=t._tickround,o=r||t.exponentformat||\"B\",s=t._tickexponent,l=kn.getTickFormat(t),u=t.separatethousands;if(n){var c={exponentformat:o,minexponent:t.minexponent,dtick:t.showexponent===\"none\"?t.dtick:ph(e)&&Math.abs(e)||1,range:t.showexponent===\"none\"?t.range.map(t.r2d):[0,e||1]};mse(c),a=(Number(c._tickround)||0)+4,s=c._tickexponent,t.hoverformat&&(l=t.hoverformat)}if(l)return t._numFormat(l)(e).replace(/-/g,kb);var f=Math.pow(10,-a)/2;if(o===\"none\"&&(s=0),e=Math.abs(e),e<f)e=\"0\",i=!1;else{if(e+=f,s&&(e*=Math.pow(10,-s),a+=s),a===0)e=String(Math.floor(e));else if(a<0){e=String(Math.round(e)),e=e.substr(0,e.length+a);for(var h=a;h<0;h++)e+=\"0\"}else{e=String(e);var d=e.indexOf(\".\")+1;d&&(e=e.substr(0,d+a).replace(/\\.?0+$/,\"\"))}e=Vo.numSeparate(e,t._separators,u)}if(s&&o!==\"hide\"){TL(o)&&uB(s)&&(o=\"power\");var v;s<0?v=kb+-s:o!==\"power\"?v=\"+\"+s:v=String(s),o===\"e\"||o===\"E\"?e+=o+v:o===\"power\"?e+=\"\\xD710<sup>\"+v+\"</sup>\":o===\"B\"&&s===9?e+=\"B\":TL(o)&&(e+=Rot[s/3+5])}return i?kb+e:e}kn.getTickFormat=function(e){var t;function r(l){return typeof l!=\"string\"?l:Number(l.replace(\"M\",\"\"))*R3}function n(l,u){var c=[\"L\",\"D\"];if(typeof l==typeof u){if(typeof l==\"number\")return l-u;var f=c.indexOf(l.charAt(0)),h=c.indexOf(u.charAt(0));return f===h?Number(l.replace(/(L|D)/g,\"\"))-Number(u.replace(/(L|D)/g,\"\")):f-h}else return typeof l==\"number\"?1:-1}function i(l,u,c){var f=c||function(v){return v},h=u[0],d=u[1];return(!h&&typeof h!=\"number\"||f(h)<=f(l))&&(!d&&typeof d!=\"number\"||f(d)>=f(l))}function a(l,u){var c=u[0]===null,f=u[1]===null,h=n(l,u[0])>=0,d=n(l,u[1])<=0;return(c||h)&&(f||d)}var o,s;if(e.tickformatstops&&e.tickformatstops.length>0)switch(e.type){case\"date\":case\"linear\":{for(t=0;t<e.tickformatstops.length;t++)if(s=e.tickformatstops[t],s.enabled&&i(e.dtick,s.dtickrange,r)){o=s;break}break}case\"log\":{for(t=0;t<e.tickformatstops.length;t++)if(s=e.tickformatstops[t],s.enabled&&a(e.dtick,s.dtickrange)){o=s;break}break}default:}return o?o.value:e.tickformat};kn.getSubplots=function(e,t){var r=e._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=t?kn.findSubplotsWithAxis(n,t):n;return i.sort(function(a,o){var s=a.substr(1).split(\"y\"),l=o.substr(1).split(\"y\");return s[0]===l[0]?+s[1]-+l[1]:+s[0]-+l[0]}),i};kn.findSubplotsWithAxis=function(e,t){for(var r=new RegExp(t._id.charAt(0)===\"x\"?\"^\"+t._id+\"y\":t._id+\"$\"),n=[],i=0;i<e.length;i++){var a=e[i];r.test(a)&&n.push(a)}return n};kn.makeClipPaths=function(e){var t=e._fullLayout;if(!t._hasOnlyLargeSploms){var r={_offset:0,_length:t.width,_id:\"\"},n={_offset:0,_length:t.height,_id:\"\"},i=kn.list(e,\"x\",!0),a=kn.list(e,\"y\",!0),o=[],s,l;for(s=0;s<i.length;s++)for(o.push({x:i[s],y:n}),l=0;l<a.length;l++)s===0&&o.push({x:r,y:a[l]}),o.push({x:i[s],y:a[l]});var u=t._clips.selectAll(\".axesclip\").data(o,function(c){return c.x._id+c.y._id});u.enter().append(\"clipPath\").classed(\"axesclip\",!0).attr(\"id\",function(c){return\"clip\"+t._uid+c.x._id+c.y._id}).append(\"rect\"),u.exit().remove(),u.each(function(c){w0.select(this).select(\"rect\").attr({x:c.x._offset||0,y:c.y._offset||0,width:c.x._length||1,height:c.y._length||1})})}};kn.draw=function(e,t,r){var n=e._fullLayout;t===\"redraw\"&&n._paper.selectAll(\"g.subplot\").each(function(l){var u=l[0],c=n._plots[u];if(c){var f=c.xaxis,h=c.yaxis;c.xaxislayer.selectAll(\".\"+f._id+\"tick\").remove(),c.yaxislayer.selectAll(\".\"+h._id+\"tick\").remove(),c.xaxislayer.selectAll(\".\"+f._id+\"tick2\").remove(),c.yaxislayer.selectAll(\".\"+h._id+\"tick2\").remove(),c.xaxislayer.selectAll(\".\"+f._id+\"divider\").remove(),c.yaxislayer.selectAll(\".\"+h._id+\"divider\").remove(),c.minorGridlayer&&c.minorGridlayer.selectAll(\"path\").remove(),c.gridlayer&&c.gridlayer.selectAll(\"path\").remove(),c.zerolinelayer&&c.zerolinelayer.selectAll(\"path\").remove(),n._infolayer.select(\".g-\"+f._id+\"title\").remove(),n._infolayer.select(\".g-\"+h._id+\"title\").remove()}});var i=!t||t===\"redraw\"?kn.listIds(e):t,a=kn.list(e),o=a.filter(function(l){return l.autoshift}).map(function(l){return l.overlaying});i.map(function(l){var u=kn.getFromId(e,l);if(u.tickmode===\"sync\"&&u.overlaying){var c=i.findIndex(function(f){return f===u.overlaying});c>=0&&i.unshift(i.splice(c,1).shift())}});var s={false:{left:0,right:0}};return Vo.syncOrAsync(i.map(function(l){return function(){if(l){var u=kn.getFromId(e,l);r||(r={}),r.axShifts=s,r.overlayingShiftedAx=o;var c=kn.drawOne(e,u,r);return u._shiftPusher&&sB(u,u._fullDepth||0,s,!0),u._r=u.range.slice(),u._rl=Vo.simpleMap(u._r,u.r2l),c}}}))};kn.drawOne=function(e,t,r){r=r||{};var n=r.axShifts||{},i=r.overlayingShiftedAx||[],a,o,s;t.setScale();var l=e._fullLayout,u=t._id,c=u.charAt(0),f=kn.counterLetter(u),h=l._plots[t._mainSubplot];if(!h)return;if(t._shiftPusher=t.autoshift||i.indexOf(t._id)!==-1||i.indexOf(t.overlaying)!==-1,t._shiftPusher&t.anchor===\"free\"){var d=t.linewidth/2||0;t.ticks===\"inside\"&&(d+=t.ticklen),sB(t,d,n,!0),sB(t,t.shift||0,n,!1)}(r.skipTitle!==!0||t._shift===void 0)&&(t._shift=Wot(t,n));var v=h[c+\"axislayer\"],x=t._mainLinePosition,b=x+=t._shift,p=t._mainMirrorPosition,E=t._vals=kn.calcTicks(t),k=[t.mirror,b,p].join(\"_\");for(a=0;a<E.length;a++)E[a].axInfo=k;t._selections={},t._tickAngles&&(t._prevTickAngles=t._tickAngles),t._tickAngles={},t._depth=null;var A={};function L(rt){var ot=u+(rt||\"tick\");return A[ot]||(A[ot]=qot(t,ot,b)),A[ot]}if(t.visible){var _=kn.makeTransTickFn(t),C=kn.makeTransTickLabelFn(t),M,g,P=t.ticks===\"inside\",T=t.ticks===\"outside\";if(t.tickson===\"boundaries\"){var F=Dot(t,E);g=kn.clipEnds(t,F),M=P?g:F}else g=kn.clipEnds(t,E),M=P&&t.ticklabelmode!==\"period\"?g:E;var q=t._gridVals=g,V=Fot(t,E);if(!l._hasOnlyLargeSploms){var H=t._subplotsWith,X={};for(a=0;a<H.length;a++){o=H[a],s=l._plots[o];var G=s[f+\"axis\"],N=G._mainAxis._id;if(!X[N]){X[N]=1;var W=c===\"x\"?\"M0,\"+G._offset+\"v\"+G._length:\"M\"+G._offset+\",0h\"+G._length;kn.drawGrid(e,t,{vals:q,counterAxis:G,layer:s.gridlayer.select(\".\"+u),minorLayer:s.minorGridlayer.select(\".\"+u),path:W,transFn:_}),kn.drawZeroLine(e,t,{counterAxis:G,layer:s.zerolinelayer,path:W,transFn:_})}}}var re,ae=kn.getTickSigns(t),_e=kn.getTickSigns(t,\"minor\");if(t.ticks||t.minor&&t.minor.ticks){var Me=kn.makeTickPath(t,b,ae[2]),ke=kn.makeTickPath(t,b,_e[2],{minor:!0}),ge,ie,Te,Ee;if(t._anchorAxis&&t.mirror&&t.mirror!==!0?(ge=kn.makeTickPath(t,p,ae[3]),ie=kn.makeTickPath(t,p,_e[3],{minor:!0}),Te=Me+ge,Ee=ke+ie):(ge=\"\",ie=\"\",Te=Me,Ee=ke),t.showdividers&&T&&t.tickson===\"boundaries\"){var Ae={};for(a=0;a<V.length;a++)Ae[V[a].x]=1;re=function(rt){return Ae[rt.x]?ge:Te}}else re=function(rt){return rt.minor?Ee:Te}}if(kn.drawTicks(e,t,{vals:M,layer:v,path:re,transFn:_}),t.mirror===\"allticks\"){var ze=Object.keys(t._linepositions||{});for(a=0;a<ze.length;a++){o=ze[a],s=l._plots[o];var Ce=t._linepositions[o]||[],me=Ce[0],Re=Ce[1],ce=Ce[2],Ge=kn.makeTickPath(t,me,ce?ae[0]:_e[0],{minor:ce})+kn.makeTickPath(t,Re,ce?ae[1]:_e[1],{minor:ce});kn.drawTicks(e,t,{vals:M,layer:s[c+\"axislayer\"],path:Ge,transFn:_})}}var nt=[];if(nt.push(function(){return kn.drawLabels(e,t,{vals:E,layer:v,plotinfo:s,transFn:C,labelFns:kn.makeLabelFns(t,b)})}),t.type===\"multicategory\"){var ct={x:2,y:10}[c];nt.push(function(){var rt={x:\"height\",y:\"width\"}[c],ot=L()[rt]+ct+(t._tickAngles[u+\"tick\"]?t.tickfont.size*rM:0);return kn.drawLabels(e,t,{vals:zot(t,E),layer:v,cls:u+\"tick2\",repositionOnUpdate:!0,secondary:!0,transFn:_,labelFns:kn.makeLabelFns(t,b+ot*ae[4])})}),nt.push(function(){return t._depth=ae[4]*(L(\"tick2\")[t.side]-b),Bot(e,t,{vals:V,layer:v,path:kn.makeTickPath(t,b,ae[4],{len:t._depth}),transFn:_})})}else t.title.hasOwnProperty(\"standoff\")&&nt.push(function(){t._depth=ae[4]*(L()[t.side]-b)});var qt=QS.getComponentMethod(\"rangeslider\",\"isVisible\")(t);return!r.skipTitle&&!(qt&&t.side===\"bottom\")&&nt.push(function(){return Not(e,t)}),nt.push(function(){var rt=t.side.charAt(0),ot=dot[t.side].charAt(0),Rt=kn.getPxPosition(e,t),kt=T?t.ticklen:0,Ct,Yt,xr,er;(t.automargin||qt||t._shiftPusher)&&(t.type===\"multicategory\"?Ct=L(\"tick2\"):(Ct=L(),c===\"x\"&&rt===\"b\"&&(t._depth=Math.max(Ct.width>0?Ct.bottom-Rt:0,kt))));var Ke=0,xt=0;if(t._shiftPusher&&(Ke=Math.max(kt,Ct.height>0?rt===\"l\"?Rt-Ct.left:Ct.right-Rt:0),t.title.text!==l._dfltTitle[c]&&(xt=(t._titleStandoff||0)+(t._titleScoot||0),rt===\"l\"&&(xt+=fse(t))),t._fullDepth=Math.max(Ke,xt)),t.automargin){Yt={x:0,y:0,r:0,l:0,t:0,b:0};var bt=[0,1],Lt=typeof t._shift==\"number\"?t._shift:0;if(c===\"x\"){if(rt===\"b\"?Yt[rt]=t._depth:(Yt[rt]=t._depth=Math.max(Ct.width>0?Rt-Ct.top:0,kt),bt.reverse()),Ct.width>0){var St=Ct.right-(t._offset+t._length);St>0&&(Yt.xr=1,Yt.r=St);var Et=t._offset-Ct.left;Et>0&&(Yt.xl=0,Yt.l=Et)}}else if(rt===\"l\"?(t._depth=Math.max(Ct.height>0?Rt-Ct.left:0,kt),Yt[rt]=t._depth-Lt):(t._depth=Math.max(Ct.height>0?Ct.right-Rt:0,kt),Yt[rt]=t._depth+Lt,bt.reverse()),Ct.height>0){var dt=Ct.bottom-(t._offset+t._length);dt>0&&(Yt.yb=0,Yt.b=dt);var Ht=t._offset-Ct.top;Ht>0&&(Yt.yt=1,Yt.t=Ht)}Yt[f]=t.anchor===\"free\"?t.position:t._anchorAxis.domain[bt[0]],t.title.text!==l._dfltTitle[c]&&(Yt[rt]+=fse(t)+(t.title.standoff||0)),t.mirror&&t.anchor!==\"free\"&&(xr={x:0,y:0,r:0,l:0,t:0,b:0},xr[ot]=t.linewidth,t.mirror&&t.mirror!==!0&&(xr[ot]+=kt),t.mirror===!0||t.mirror===\"ticks\"?xr[f]=t._anchorAxis.domain[bt[1]]:(t.mirror===\"all\"||t.mirror===\"allticks\")&&(xr[f]=[t._counterDomainMin,t._counterDomainMax][bt[1]]))}qt&&(er=QS.getComponentMethod(\"rangeslider\",\"autoMarginOpts\")(e,t)),typeof t.automargin==\"string\"&&(cse(Yt,t.automargin),cse(xr,t.automargin)),P3.autoMargin(e,cB(t),Yt),P3.autoMargin(e,xse(t),xr),P3.autoMargin(e,bse(t),er)}),Vo.syncOrAsync(nt)}};function cse(e,t){if(e){var r=Object.keys(ise).reduce(function(n,i){return t.indexOf(i)!==-1&&ise[i].forEach(function(a){n[a]=1}),n},{});Object.keys(e).forEach(function(n){r[n]||(n.length===1?e[n]=0:delete e[n])})}}function Dot(e,t){var r=[],n,i=function(a,o){var s=a.xbnd[o];s!==null&&r.push(Vo.extendFlat({},a,{x:s}))};if(t.length){for(n=0;n<t.length;n++)i(t[n],0);i(t[n-1],1)}return r}function zot(e,t){for(var r=[],n={},i=0;i<t.length;i++){var a=t[i];n[a.text2]?n[a.text2].push(a.x):n[a.text2]=[a.x]}for(var o in n)r.push(yse(e,Vo.interp(n[o],.5),o));return r}function Fot(e,t){var r=[],n,i,a=t.length&&t[t.length-1].x<t[0].x,o=function(l,u){var c=l.xbnd[u];c!==null&&r.push(Vo.extendFlat({},l,{x:c}))};if(e.showdividers&&t.length){for(n=0;n<t.length;n++){var s=t[n];s.text2!==i&&o(s,a?1:0),i=s.text2}o(t[n-1],a?0:1)}return r}function qot(e,t,r){var n,i,a,o;if(e._selections[t].size())n=1/0,i=-1/0,a=1/0,o=-1/0,e._selections[t].each(function(){var l=oB(this),u=Xp.bBox(l.node().parentNode);n=Math.min(n,u.top),i=Math.max(i,u.bottom),a=Math.min(a,u.left),o=Math.max(o,u.right)});else{var s=kn.makeLabelFns(e,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}}kn.getTickSigns=function(e,t){var r=e._id.charAt(0),n={x:\"top\",y:\"right\"}[r],i=e.side===n?1:-1,a=[-1,1,i,-i],o=t?(e.minor||{}).ticks:e.ticks;return o!==\"inside\"==(r===\"x\")&&(a=a.map(function(s){return-s})),e.side&&a.push({l:-1,t:-1,r:1,b:1}[e.side.charAt(0)]),a};kn.makeTransTickFn=function(e){return e._id.charAt(0)===\"x\"?function(t){return I3(e._offset+e.l2p(t.x),0)}:function(t){return I3(0,e._offset+e.l2p(t.x))}};kn.makeTransTickLabelFn=function(e){var t=Oot(e),r=e.ticklabelshift||0,n=e.ticklabelstandoff||0,i=t[0],a=t[1],o=e.range[0]>e.range[1],s=e.ticklabelposition&&e.ticklabelposition.indexOf(\"inside\")!==-1,l=!s;if(r){var u=o?-1:1;r=r*u}if(n){var c=e.side,f=s&&(c===\"top\"||c===\"left\")||l&&(c===\"bottom\"||c===\"right\")?1:-1;n=n*f}return e._id.charAt(0)===\"x\"?function(h){return I3(i+e._offset+e.l2p(aB(h))+r,a+n)}:function(h){return I3(a+n,i+e._offset+e.l2p(aB(h))+r)}};function aB(e){return e.periodX!==void 0?e.periodX:e.x}function Oot(e){var t=e.ticklabelposition||\"\",r=function(d){return t.indexOf(d)!==-1},n=r(\"top\"),i=r(\"left\"),a=r(\"right\"),o=r(\"bottom\"),s=r(\"inside\"),l=o||i||n||a;if(!l&&!s)return[0,0];var u=e.side,c=l?(e.tickwidth||0)/2:0,f=wL,h=e.tickfont?e.tickfont.size:12;return(o||n)&&(c+=h*Cb,f+=(e.linewidth||0)/2),(i||a)&&(c+=(e.linewidth||0)/2,f+=wL),s&&u===\"top\"&&(f-=h*(1-Cb)),(i||n)&&(c=-c),(u===\"bottom\"||u===\"right\")&&(f=-f),[l?c:0,s?f:0]}kn.makeTickPath=function(e,t,r,n){n||(n={});var i=n.minor;if(i&&!e.minor)return\"\";var a=n.len!==void 0?n.len:i?e.minor.ticklen:e.ticklen,o=e._id.charAt(0),s=(e.linewidth||1)/2;return o===\"x\"?\"M0,\"+(t+s*r)+\"v\"+a*r:\"M\"+(t+s*r)+\",0h\"+a*r};kn.makeLabelFns=function(e,t,r){var n=e.ticklabelposition||\"\",i=function(F){return n.indexOf(F)!==-1},a=i(\"top\"),o=i(\"left\"),s=i(\"right\"),l=i(\"bottom\"),u=l||o||a||s,c=i(\"inside\"),f=n===\"inside\"&&e.ticks===\"inside\"||!c&&e.ticks===\"outside\"&&e.tickson!==\"boundaries\",h=0,d=0,v=f?e.ticklen:0;if(c?v*=-1:u&&(v=0),f&&(h+=v,r)){var x=Vo.deg2rad(r);h=v*Math.cos(x)+1,d=v*Math.sin(x)}e.showticklabels&&(f||e.showline)&&(h+=.2*e.tickfont.size),h+=(e.linewidth||1)/2*(c?-1:1);var b={labelStandoff:h,labelShift:d},p,E,k,A,L=0,_=e.side,C=e._id.charAt(0),M=e.tickangle,g;if(C===\"x\")g=!c&&_===\"bottom\"||c&&_===\"top\",A=g?1:-1,c&&(A*=-1),p=d*A,E=t+h*A,k=g?1:-.2,Math.abs(M)===90&&(c?k+=$S:M===-90&&_===\"bottom\"?k=Cb:M===90&&_===\"top\"?k=$S:k=.5,L=$S/2*(M/90)),b.xFn=function(F){return F.dx+p+L*F.fontSize},b.yFn=function(F){return F.dy+E+F.fontSize*k},b.anchorFn=function(F,q){if(u){if(o)return\"end\";if(s)return\"start\"}return!ph(q)||q===0||q===180?\"middle\":q*A<0!==c?\"end\":\"start\"},b.heightFn=function(F,q,V){return q<-60||q>60?-.5*V:e.side===\"top\"!==c?-V:0};else if(C===\"y\"){if(g=!c&&_===\"left\"||c&&_===\"right\",A=g?1:-1,c&&(A*=-1),p=h,E=d*A,k=0,!c&&Math.abs(M)===90&&(M===-90&&_===\"left\"||M===90&&_===\"right\"?k=Cb:k=.5),c){var P=ph(M)?+M:0;if(P!==0){var T=Vo.deg2rad(P);L=Math.abs(Math.sin(T))*Cb*A,k=0}}b.xFn=function(F){return F.dx+t-(p+F.fontSize*k)*A+L*F.fontSize},b.yFn=function(F){return F.dy+E+F.fontSize*$S},b.anchorFn=function(F,q){return ph(q)&&Math.abs(q)===90?\"middle\":g?\"end\":\"start\"},b.heightFn=function(F,q,V){return e.side===\"right\"&&(q*=-1),q<-30?-V:q<30?-.5*V:0}}return b};function ML(e){return[e.text,e.x,e.axInfo,e.font,e.fontSize,e.fontColor].join(\"_\")}kn.drawTicks=function(e,t,r){r=r||{};var n=t._id+\"tick\",i=[].concat(t.minor&&t.minor.ticks?r.vals.filter(function(o){return o.minor&&!o.noTick}):[]).concat(t.ticks?r.vals.filter(function(o){return!o.minor&&!o.noTick}):[]),a=r.layer.selectAll(\"path.\"+n).data(i,ML);a.exit().remove(),a.enter().append(\"path\").classed(n,1).classed(\"ticks\",1).classed(\"crisp\",r.crisp!==!1).each(function(o){return eM.stroke(w0.select(this),o.minor?t.minor.tickcolor:t.tickcolor)}).style(\"stroke-width\",function(o){return Xp.crispRound(e,o.minor?t.minor.tickwidth:t.tickwidth,1)+\"px\"}).attr(\"d\",r.path).style(\"display\",null),EL(t,[hse]),a.attr(\"transform\",r.transFn)};kn.drawGrid=function(e,t,r){if(r=r||{},t.tickmode!==\"sync\"){var n=t._id+\"grid\",i=t.minor&&t.minor.showgrid,a=i?r.vals.filter(function(p){return p.minor}):[],o=t.showgrid?r.vals.filter(function(p){return!p.minor}):[],s=r.counterAxis;if(s&&kn.shouldShowZeroLine(e,t,s))for(var l=t.tickmode===\"array\",u=0;u<o.length;u++){var c=o[u].x;if(l?!c:Math.abs(c)<t.dtick/100)if(o=o.slice(0,u).concat(o.slice(u+1)),l)u--;else break}t._gw=Xp.crispRound(e,t.gridwidth,1);for(var f=i?Xp.crispRound(e,t.minor.gridwidth,1):0,h=r.layer,d=r.minorLayer,v=1;v>=0;v--){var x=v?h:d;if(x){var b=x.selectAll(\"path.\"+n).data(v?o:a,ML);b.exit().remove(),b.enter().append(\"path\").classed(n,1).classed(\"crisp\",r.crisp!==!1),b.attr(\"transform\",r.transFn).attr(\"d\",r.path).each(function(p){return eM.stroke(w0.select(this),p.minor?t.minor.gridcolor:t.gridcolor||\"#ddd\")}).style(\"stroke-dasharray\",function(p){return Xp.dashStyle(p.minor?t.minor.griddash:t.griddash,p.minor?t.minor.gridwidth:t.gridwidth)}).style(\"stroke-width\",function(p){return(p.minor?f:t._gw)+\"px\"}).style(\"display\",null),typeof r.path==\"function\"&&b.attr(\"d\",r.path)}}EL(t,[iB,nB])}};kn.drawZeroLine=function(e,t,r){r=r||r;var n=t._id+\"zl\",i=kn.shouldShowZeroLine(e,t,r.counterAxis),a=r.layer.selectAll(\"path.\"+n).data(i?[{x:0,id:t._id}]:[]);a.exit().remove(),a.enter().append(\"path\").classed(n,1).classed(\"zl\",1).classed(\"crisp\",r.crisp!==!1).each(function(){r.layer.selectAll(\"path\").sort(function(o,s){return pot(o.id,s.id)})}),a.attr(\"transform\",r.transFn).attr(\"d\",r.path).call(eM.stroke,t.zerolinecolor||eM.defaultLine).style(\"stroke-width\",Xp.crispRound(e,t.zerolinewidth,t._gw||1)+\"px\").style(\"display\",null),EL(t,[rB])};kn.drawLabels=function(e,t,r){r=r||{};var n=e._fullLayout,i=t._id,a=r.cls||i+\"tick\",o=r.vals.filter(function(N){return N.text}),s=r.labelFns,l=r.secondary?0:t.tickangle,u=(t._prevTickAngles||{})[a],c=r.layer.selectAll(\"g.\"+a).data(t.showticklabels?o:[],ML),f=[];c.enter().append(\"g\").classed(a,1).append(\"text\").attr(\"text-anchor\",\"middle\").each(function(N){var W=w0.select(this),re=e._promises.length;W.call(Eb.positionText,s.xFn(N),s.yFn(N)).call(Xp.font,{family:N.font,size:N.fontSize,color:N.fontColor,weight:N.fontWeight,style:N.fontStyle,variant:N.fontVariant,textcase:N.fontTextcase,lineposition:N.fontLineposition,shadow:N.fontShadow}).text(N.text).call(Eb.convertToTspans,e),e._promises[re]?f.push(e._promises.pop().then(function(){h(W,l)})):h(W,l)}),EL(t,[rse]),c.exit().remove(),r.repositionOnUpdate&&c.each(function(N){w0.select(this).select(\"text\").call(Eb.positionText,s.xFn(N),s.yFn(N))});function h(N,W){N.each(function(re){var ae=w0.select(this),_e=ae.select(\".text-math-group\"),Me=s.anchorFn(re,W),ke=r.transFn.call(ae.node(),re)+(ph(W)&&+W!=0?\" rotate(\"+W+\",\"+s.xFn(re)+\",\"+(s.yFn(re)-re.fontSize/2)+\")\":\"\"),ge=Eb.lineCount(ae),ie=rM*re.fontSize,Te=s.heightFn(re,ph(W)?+W:0,(ge-1)*ie);if(Te&&(ke+=I3(0,Te)),_e.empty()){var Ee=ae.select(\"text\");Ee.attr({transform:ke,\"text-anchor\":Me}),Ee.style(\"opacity\",1),t._adjustTickLabelsOverflow&&t._adjustTickLabelsOverflow()}else{var Ae=Xp.bBox(_e.node()).width,ze=Ae*{end:-.5,start:.5}[Me];_e.attr(\"transform\",ke+I3(ze,0))}})}t._adjustTickLabelsOverflow=function(){var N=t.ticklabeloverflow;if(!(!N||N===\"allow\")){var W=N.indexOf(\"hide\")!==-1,re=t._id.charAt(0)===\"x\",ae=0,_e=re?e._fullLayout.width:e._fullLayout.height;if(N.indexOf(\"domain\")!==-1){var Me=Vo.simpleMap(t.range,t.r2l);ae=t.l2p(Me[0])+t._offset,_e=t.l2p(Me[1])+t._offset}var ke=Math.min(ae,_e),ge=Math.max(ae,_e),ie=t.side,Te=1/0,Ee=-1/0;c.each(function(me){var Re=w0.select(this),ce=Re.select(\".text-math-group\");if(ce.empty()){var Ge=Xp.bBox(Re.node()),nt=0;re?(Ge.right>ge||Ge.left<ke)&&(nt=1):(Ge.bottom>ge||Ge.top+(t.tickangle?0:me.fontSize/4)<ke)&&(nt=1);var ct=Re.select(\"text\");nt?W&&ct.style(\"opacity\",0):(ct.style(\"opacity\",1),ie===\"bottom\"||ie===\"right\"?Te=Math.min(Te,re?Ge.top:Ge.left):Te=-1/0,ie===\"top\"||ie===\"left\"?Ee=Math.max(Ee,re?Ge.bottom:Ge.right):Ee=1/0)}});for(var Ae in n._plots){var ze=n._plots[Ae];if(!(t._id!==ze.xaxis._id&&t._id!==ze.yaxis._id)){var Ce=re?ze.yaxis:ze.xaxis;Ce&&(Ce[\"_visibleLabelMin_\"+t._id]=Te,Ce[\"_visibleLabelMax_\"+t._id]=Ee)}}}},t._hideCounterAxisInsideTickLabels=function(N){var W=t._id.charAt(0)===\"x\",re=[];for(var ae in n._plots){var _e=n._plots[ae];t._id!==_e.xaxis._id&&t._id!==_e.yaxis._id||re.push(W?_e.yaxis:_e.xaxis)}re.forEach(function(Me,ke){Me&&nM(Me)&&(N||[rB,nB,iB,hse,rse]).forEach(function(ge){var ie=ge.K===\"tick\"&&ge.L===\"text\"&&t.ticklabelmode===\"period\",Te=n._plots[t._mainSubplot],Ee;ge.K===rB.K?Ee=Te.zerolinelayer.selectAll(\".\"+t._id+\"zl\"):ge.K===nB.K?Ee=Te.minorGridlayer.selectAll(\".\"+t._id):ge.K===iB.K?Ee=Te.gridlayer.selectAll(\".\"+t._id):Ee=Te[t._id.charAt(0)+\"axislayer\"],Ee.each(function(){var Ae=w0.select(this);ge.L&&(Ae=Ae.selectAll(ge.L)),Ae.each(function(ze){var Ce=t.l2p(ie?aB(ze):ze.x)+t._offset,me=w0.select(this);Ce<t[\"_visibleLabelMax_\"+Me._id]&&Ce>t[\"_visibleLabelMin_\"+Me._id]?me.style(\"display\",\"none\"):ge.K===\"tick\"&&!ke&&me.style(\"display\",null)})})})})},h(c,u+1?u:l);function d(){return f.length&&Promise.all(f)}var v=null;function x(){if(h(c,l),o.length&&t.autotickangles&&(t.type!==\"log\"||String(t.dtick).charAt(0)!==\"D\")){v=t.autotickangles[0];var N=0,W=[],re,ae=1;c.each(function(Ct){N=Math.max(N,Ct.fontSize);var Yt=t.l2p(Ct.x),xr=oB(this),er=Xp.bBox(xr.node());ae=Math.max(ae,Eb.lineCount(xr)),W.push({top:0,bottom:10,height:10,left:Yt-er.width/2,right:Yt+er.width/2+2,width:er.width+2})});var _e=(t.tickson===\"boundaries\"||t.showdividers)&&!r.secondary,Me=o.length,ke=Math.abs((o[Me-1].x-o[0].x)*t._m)/(Me-1),ge=_e?ke/2:ke,ie=_e?t.ticklen:N*1.25*ae,Te=Math.sqrt(Math.pow(ge,2)+Math.pow(ie,2)),Ee=ge/Te,Ae=t.autotickangles.map(function(Ct){return Ct*Math.PI/180}),ze=Ae.find(function(Ct){return Math.abs(Math.cos(Ct))<=Ee});ze===void 0&&(ze=Ae.reduce(function(Ct,Yt){return Math.abs(Math.cos(Ct))<Math.abs(Math.cos(Yt))?Ct:Yt},Ae[0]));var Ce=ze*(180/Math.PI);if(_e){var me=2;for(t.ticks&&(me+=t.tickwidth/2),re=0;re<W.length;re++){var Re=o[re].xbnd,ce=W[re];if(Re[0]!==null&&ce.left-t.l2p(Re[0])<me||Re[1]!==null&&t.l2p(Re[1])-ce.right<me){v=Ce;break}}}else{var Ge=t.ticklabelposition||\"\",nt=function(Ct){return Ge.indexOf(Ct)!==-1},ct=nt(\"top\"),qt=nt(\"left\"),rt=nt(\"right\"),ot=nt(\"bottom\"),Rt=ot||qt||ct||rt,kt=Rt?(t.tickwidth||0)+2*wL:0;for(re=0;re<W.length-1;re++)if(Vo.bBoxIntersect(W[re],W[re+1],kt)){v=Ce;break}}v&&h(c,v)}}t._selections&&(t._selections[a]=c);var b=[d];t.automargin&&n._redrawFromAutoMarginCount&&u===90?(v=u,b.push(function(){h(c,u)})):b.push(x),t._tickAngles&&b.push(function(){t._tickAngles[a]=v===null?ph(l)?l:0:v});var p=function(){var N=0,W=0;return c.each(function(re,ae){var _e=oB(this),Me=_e.select(\".text-math-group\");if(Me.empty()){var ke;t._vals[ae]&&(ke=t._vals[ae].bb||Xp.bBox(_e.node()),t._vals[ae].bb=ke),N=Math.max(N,ke.width),W=Math.max(W,ke.height)}}),{labelsMaxW:N,labelsMaxH:W}},E=t._anchorAxis;if(E&&(E.autorange||E.insiderange)&&nM(t)&&!got(n,t._id)&&(n._insideTickLabelsUpdaterange||(n._insideTickLabelsUpdaterange={}),E.autorange&&(n._insideTickLabelsUpdaterange[E._name+\".autorange\"]=E.autorange,b.push(p)),E.insiderange)){var k=p(),A=t._id.charAt(0)===\"y\"?k.labelsMaxW:k.labelsMaxH;A+=2*wL,t.ticklabelposition===\"inside\"&&(A+=t.ticklen||0);var L=t.side===\"right\"||t.side===\"top\"?1:-1,_=L===1?1:0,C=L===1?0:1,M=[];M[C]=E.range[C];var g=E.range,P=E.r2p(g[_]),T=E.r2p(g[C]),F=n._insideTickLabelsUpdaterange[E._name+\".range\"];if(F){var q=E.r2p(F[_]),V=E.r2p(F[C]),H=L*(t._id.charAt(0)===\"y\"?1:-1);H*P<H*q&&(P=q,M[_]=g[_]=F[_]),H*T>H*V&&(T=V,M[C]=g[C]=F[C])}var X=Math.abs(T-P);X-A>0?(X-=A,A*=1+A/X):A=0,t._id.charAt(0)!==\"y\"&&(A=-A),M[_]=E.p2r(E.r2p(g[_])+L*A),E.autorange===\"min\"||E.autorange===\"max reversed\"?(M[0]=null,E._rangeInitial0=void 0,E._rangeInitial1=void 0):(E.autorange===\"max\"||E.autorange===\"min reversed\")&&(M[1]=null,E._rangeInitial0=void 0,E._rangeInitial1=void 0),n._insideTickLabelsUpdaterange[E._name+\".range\"]=M}var G=Vo.syncOrAsync(b);return G&&G.then&&e._promises.push(G),G};function Bot(e,t,r){var n=t._id+\"divider\",i=r.vals,a=r.layer.selectAll(\"path.\"+n).data(i,ML);a.exit().remove(),a.enter().insert(\"path\",\":first-child\").classed(n,1).classed(\"crisp\",1).call(eM.stroke,t.dividercolor).style(\"stroke-width\",Xp.crispRound(e,t.dividerwidth,1)+\"px\"),a.attr(\"transform\",r.transFn).attr(\"d\",r.path)}kn.getPxPosition=function(e,t){var r=e._fullLayout._size,n=t._id.charAt(0),i=t.side,a;if(t.anchor!==\"free\"?a=t._anchorAxis:n===\"x\"?a={_offset:r.t+(1-(t.position||0))*r.h,_length:0}:n===\"y\"&&(a={_offset:r.l+(t.position||0)*r.w+t._shift,_length:0}),i===\"top\"||i===\"left\")return a._offset;if(i===\"bottom\"||i===\"right\")return a._offset+a._length};function fse(e){var t=e.title.font.size,r=(e.title.text.match(Eb.BR_TAG_ALL)||[]).length;return e.title.hasOwnProperty(\"standoff\")?t*(Cb+r*rM):r?t*(r+1)*rM:t}function Not(e,t){var r=e._fullLayout,n=t._id,i=n.charAt(0),a=t.title.font.size,o,s=(t.title.text.match(Eb.BR_TAG_ALL)||[]).length;if(t.title.hasOwnProperty(\"standoff\"))t.side===\"bottom\"||t.side===\"right\"?o=t._depth+t.title.standoff+a*Cb:(t.side===\"top\"||t.side===\"left\")&&(o=t._depth+t.title.standoff+a*($S+s*rM));else{var l=nM(t);if(t.type===\"multicategory\")o=t._depth;else{var u=1.5*a;l&&(u=.5*a,t.ticks===\"outside\"&&(u+=t.ticklen)),o=10+u+(t.linewidth?t.linewidth-1:0)}l||(i===\"x\"?o+=t.side===\"top\"?a*(t.showticklabels?1:0):a*(t.showticklabels?1.5:.5):o+=t.side===\"right\"?a*(t.showticklabels?1:.5):a*(t.showticklabels?.5:0))}var c=kn.getPxPosition(e,t),f,h,d;i===\"x\"?(h=t._offset+t._length/2,d=t.side===\"top\"?c-o:c+o):(d=t._offset+t._length/2,h=t.side===\"right\"?c+o:c-o,f={rotate:\"-90\",offset:0});var v;if(t.type!==\"multicategory\"){var x=t._selections[t._id+\"tick\"];if(v={selection:x,side:t.side},x&&x.node()&&x.node().parentNode){var b=Xp.getTranslate(x.node().parentNode);v.offsetLeft=b.x,v.offsetTop=b.y}t.title.hasOwnProperty(\"standoff\")&&(v.pad=0)}return t._titleStandoff=o,oot.draw(e,n+\"title\",{propContainer:t,propName:t._name+\".title.text\",placeholder:r._dfltTitle[i],avoid:v,transform:f,attributes:{x:h,y:d,\"text-anchor\":\"middle\"}})}kn.shouldShowZeroLine=function(e,t,r){var n=Vo.simpleMap(t.range,t.r2l);return n[0]*n[1]<=0&&t.zeroline&&(t.type===\"linear\"||t.type===\"-\")&&!(t.rangebreaks&&t.maskBreaks(0)===AL)&&(_se(t,0)||!Uot(e,t,r,n)||Vot(e,t))};kn.clipEnds=function(e,t){return t.filter(function(r){return _se(e,r.x)})};function _se(e,t){var r=e.l2p(t);return r>1&&r<e._length-1}function Uot(e,t,r,n){var i=r._mainAxis;if(!i)return;var a=e._fullLayout,o=t._id.charAt(0),s=kn.counterLetter(t._id),l=t._offset+(Math.abs(n[0])<Math.abs(n[1])==(o===\"x\")?0:t._length);function u(v){if(!v.showline||!v.linewidth)return!1;var x=Math.max((v.linewidth+t.zerolinewidth)/2,1);function b(k){return typeof k==\"number\"&&Math.abs(k-l)<x}if(b(v._mainLinePosition)||b(v._mainMirrorPosition))return!0;var p=v._linepositions||{};for(var E in p)if(b(p[E][0])||b(p[E][1]))return!0}var c=a._plots[r._mainSubplot];if(!(c.mainplotinfo||c).overlays.length)return u(r,l);for(var f=kn.list(e,s),h=0;h<f.length;h++){var d=f[h];if(d._mainAxis===i&&u(d,l))return!0}}function Vot(e,t){for(var r=e._fullData,n=t._mainSubplot,i=t._id.charAt(0),a=0;a<r.length;a++){var o=r[a];if(o.visible===!0&&o.xaxis+o.yaxis===n&&(QS.traceIs(o,\"bar-like\")&&o.orientation==={x:\"h\",y:\"v\"}[i]||o.fill&&o.fill.charAt(o.fill.length-1)===i))return!0}return!1}function oB(e){var t=w0.select(e),r=t.select(\".text-math-group\");return r.empty()?t.select(\"text\"):r}kn.allowAutoMargin=function(e){for(var t=kn.list(e,\"\",!0),r=0;r<t.length;r++){var n=t[r];n.automargin&&(P3.allowAutoMargin(e,cB(n)),n.mirror&&P3.allowAutoMargin(e,xse(n))),QS.getComponentMethod(\"rangeslider\",\"isVisible\")(n)&&P3.allowAutoMargin(e,bse(n))}};function cB(e){return e._id+\".automargin\"}function xse(e){return cB(e)+\".mirror\"}function bse(e){return e._id+\".rangeslider\"}kn.swap=function(e,t){for(var r=Hot(e,t),n=0;n<r.length;n++)Got(e,r[n].x,r[n].y)};function Hot(e,t){var r=[],n,i;for(n=0;n<t.length;n++){var a=[],o=e._fullData[t[n]].xaxis,s=e._fullData[t[n]].yaxis;if(!(!o||!s)){for(i=0;i<r.length;i++)(r[i].x.indexOf(o)!==-1||r[i].y.indexOf(s)!==-1)&&a.push(i);if(!a.length){r.push({x:[o],y:[s]});continue}var l=r[a[0]],u;if(a.length>1)for(i=1;i<a.length;i++)u=r[a[i]],gL(l.x,u.x),gL(l.y,u.y);gL(l.x,[o]),gL(l.y,[s])}}return r}function gL(e,t){for(var r=0;r<t.length;r++)e.indexOf(t[r])===-1&&e.push(t[r])}function Got(e,t,r){var n=[],i=[],a=e.layout,o,s;for(o=0;o<t.length;o++)n.push(kn.getFromId(e,t[o]));for(o=0;o<r.length;o++)i.push(kn.getFromId(e,r[o]));var l=Object.keys(sot),u=[\"anchor\",\"domain\",\"overlaying\",\"position\",\"side\",\"tickangle\",\"editType\"],c=[\"linear\",\"log\"];for(o=0;o<l.length;o++){var f=l[o],h=n[0][f],d=i[0][f],v=!0,x=!1,b=!1;if(!(f.charAt(0)===\"_\"||typeof h==\"function\"||u.indexOf(f)!==-1)){for(s=1;s<n.length&&v;s++){var p=n[s][f];f===\"type\"&&c.indexOf(h)!==-1&&c.indexOf(p)!==-1&&h!==p?x=!0:p!==h&&(v=!1)}for(s=1;s<i.length&&v;s++){var E=i[s][f];f===\"type\"&&c.indexOf(d)!==-1&&c.indexOf(E)!==-1&&d!==E?b=!0:i[s][f]!==d&&(v=!1)}v&&(x&&(a[n[0]._name].type=\"linear\"),b&&(a[i[0]._name].type=\"linear\"),jot(a,f,n,i,e._fullLayout._dfltTitle))}}for(o=0;o<e._fullLayout.annotations.length;o++){var k=e._fullLayout.annotations[o];t.indexOf(k.xref)!==-1&&r.indexOf(k.yref)!==-1&&Vo.swapAttrs(a.annotations[o],[\"?\"])}}function jot(e,t,r,n,i){var a=Vo.nestedProperty,o=a(e[r[0]._name],t).get(),s=a(e[n[0]._name],t).get(),l;for(t===\"title\"&&(o&&o.text===i.x&&(o.text=i.y),s&&s.text===i.y&&(s.text=i.x)),l=0;l<r.length;l++)a(e,r[l]._name+\".\"+t).set(s);for(l=0;l<n.length;l++)a(e,n[l]._name+\".\"+t).set(o)}function fB(e){return e._id===\"angularaxis\"}function eB(e,t){for(var r=t._rangebreaks.length,n=0;n<r;n++){var i=t._rangebreaks[n];if(e>=i.min&&e<i.max)return i.max}return e}function nM(e){return(e.ticklabelposition||\"\").indexOf(\"inside\")!==-1}function EL(e,t){nM(e._anchorAxis||{})&&e._hideCounterAxisInsideTickLabels&&e._hideCounterAxisInsideTickLabels(t)}function sB(e,t,r,n){var i=e.anchor!==\"free\"&&(e.overlaying===void 0||e.overlaying===!1)?e._id:e.overlaying,a;n?a=e.side===\"right\"?t:-t:a=t,i in r||(r[i]={}),e.side in r[i]||(r[i][e.side]=0),r[i][e.side]+=a}function Wot(e,t){return e.autoshift?t[e.overlaying][e.side]:e.shift||0}function Zot(e,t){return/%f/.test(t)?e>=hot:/%L/.test(t)?e>=fot:/%[SX]/.test(t)?e>=bL:/%M/.test(t)?e>=tM:/%[HI]/.test(t)?e>=xm:/%p/.test(t)?e>=l_:/%[Aadejuwx]/.test(t)?e>=Fv:/%[UVW]/.test(t)?e>=Yp:/%[Bbm]/.test(t)?e>=xL:/%[q]/.test(t)?e>=_L:/%[Yy]/.test(t)?e>=yL:!0}});var hB=ye((Srr,Tse)=>{\"use strict\";Tse.exports=function(t,r,n){var i,a;if(n){var o=r===\"reversed\"||r===\"min reversed\"||r===\"max reversed\";i=n[o?1:0],a=n[o?0:1]}var s=t(\"autorangeoptions.minallowed\",a===null?i:void 0),l=t(\"autorangeoptions.maxallowed\",i===null?a:void 0);s===void 0&&t(\"autorangeoptions.clipmin\"),l===void 0&&t(\"autorangeoptions.clipmax\"),t(\"autorangeoptions.include\")}});var dB=ye((Mrr,Ase)=>{\"use strict\";var Xot=hB();Ase.exports=function(t,r,n,i){var a=r._template||{},o=r.type||a.type||\"-\";n(\"minallowed\"),n(\"maxallowed\");var s=n(\"range\");if(!s){var l;!i.noInsiderange&&o!==\"log\"&&(l=n(\"insiderange\"),l&&(l[0]===null||l[1]===null)&&(r.insiderange=!1,l=void 0),l&&(s=n(\"range\",l)))}var u=r.getAutorangeDflt(s,i),c=n(\"autorange\",u),f;s&&(s[0]===null&&s[1]===null||(s[0]===null||s[1]===null)&&(c===\"reversed\"||c===!0)||s[0]!==null&&(c===\"min\"||c===\"max reversed\")||s[1]!==null&&(c===\"max\"||c===\"min reversed\"))&&(s=void 0,delete r.range,r.autorange=!0,f=!0),f||(u=r.getAutorangeDflt(s,i),c=n(\"autorange\",u)),c&&(Xot(n,c,s),(o===\"linear\"||o===\"-\")&&n(\"rangemode\")),r.cleanRange()}});var Mse=ye((Err,Sse)=>{var Yot={left:0,top:0};Sse.exports=Kot;function Kot(e,t,r){t=t||e.currentTarget||e.srcElement,Array.isArray(r)||(r=[0,0]);var n=e.clientX||0,i=e.clientY||0,a=Jot(t);return r[0]=n-a.left,r[1]=i-a.top,r}function Jot(e){return e===window||e===document||e===document.body?Yot:e.getBoundingClientRect()}});var kL=ye((krr,Ese)=>{\"use strict\";var $ot=Kq();function Qot(){var e=!1;try{var t=Object.defineProperty({},\"passive\",{get:function(){e=!0}});window.addEventListener(\"test\",null,t),window.removeEventListener(\"test\",null,t)}catch(r){e=!1}return e}Ese.exports=$ot&&Qot()});var Cse=ye((Crr,kse)=>{\"use strict\";kse.exports=function(t,r,n,i,a){var o=(t-n)/(i-n),s=o+r/(i-n),l=(o+s)/2;return a===\"left\"||a===\"bottom\"?o:a===\"center\"||a===\"middle\"?l:a===\"right\"||a===\"top\"?s:o<2/3-l?o:s>4/3-l?s:l}});var Ise=ye((Lrr,Pse)=>{\"use strict\";var Lse=Mr(),est=[[\"sw-resize\",\"s-resize\",\"se-resize\"],[\"w-resize\",\"move\",\"e-resize\"],[\"nw-resize\",\"n-resize\",\"ne-resize\"]];Pse.exports=function(t,r,n,i){return n===\"left\"?t=0:n===\"center\"?t=1:n===\"right\"?t=2:t=Lse.constrain(Math.floor(t*3),0,2),i===\"bottom\"?r=0:i===\"middle\"?r=1:i===\"top\"?r=2:r=Lse.constrain(Math.floor(r*3),0,2),est[r][t]}});var Dse=ye((Prr,Rse)=>{\"use strict\";var tst=g3(),rst=P6(),ist=DS().getGraphDiv,nst=IS(),vB=Rse.exports={};vB.wrapped=function(e,t,r){e=ist(e),e._fullLayout&&rst.clear(e._fullLayout._uid+nst.HOVERID),vB.raw(e,t,r)};vB.raw=function(t,r){var n=t._fullLayout,i=t._hoverdata;r||(r={}),!(r.target&&!t._dragged&&tst.triggerHandler(t,\"plotly_beforehover\",r)===!1)&&(n._hoverlayer.selectAll(\"g\").remove(),n._hoverlayer.selectAll(\"line\").remove(),n._hoverlayer.selectAll(\"circle\").remove(),t._hoverdata=void 0,r.target&&i&&t.emit(\"plotly_unhover\",{event:r,points:i}))}});var gv=ye((Irr,Ose)=>{\"use strict\";var ast=Mse(),pB=$q(),ost=kL(),sst=Mr().removeElement,lst=ad(),Lb=Ose.exports={};Lb.align=Cse();Lb.getCursor=Ise();var Fse=Dse();Lb.unhover=Fse.wrapped;Lb.unhoverRaw=Fse.raw;Lb.init=function(t){var r=t.gd,n=1,i=r._context.doubleClickDelay,a=t.element,o,s,l,u,c,f,h,d;r._mouseDownTime||(r._mouseDownTime=0),a.style.pointerEvents=\"all\",a.onmousedown=b,ost?(a._ontouchstart&&a.removeEventListener(\"touchstart\",a._ontouchstart),a._ontouchstart=b,a.addEventListener(\"touchstart\",b,{passive:!1})):a.ontouchstart=b;function v(k,A,L){return Math.abs(k)<L&&(k=0),Math.abs(A)<L&&(A=0),[k,A]}var x=t.clampFn||v;function b(k){r._dragged=!1,r._dragging=!0;var A=zse(k);o=A[0],s=A[1],h=k.target,f=k,d=k.buttons===2||k.ctrlKey,typeof k.clientX==\"undefined\"&&typeof k.clientY==\"undefined\"&&(k.clientX=o,k.clientY=s),l=new Date().getTime(),l-r._mouseDownTime<i?n+=1:(n=1,r._mouseDownTime=l),t.prepFn&&t.prepFn(k,o,s),pB&&!d?(c=qse(),c.style.cursor=window.getComputedStyle(a).cursor):pB||(c=document,u=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(a).cursor),document.addEventListener(\"mouseup\",E),document.addEventListener(\"touchend\",E),t.dragmode!==!1&&(k.preventDefault(),document.addEventListener(\"mousemove\",p),document.addEventListener(\"touchmove\",p,{passive:!1}))}function p(k){k.preventDefault();var A=zse(k),L=t.minDrag||lst.MINDRAG,_=x(A[0]-o,A[1]-s,L),C=_[0],M=_[1];(C||M)&&(r._dragged=!0,Lb.unhover(r,k)),r._dragged&&t.moveFn&&!d&&(r._dragdata={element:a,dx:C,dy:M},t.moveFn(C,M))}function E(k){if(delete r._dragdata,t.dragmode!==!1&&(k.preventDefault(),document.removeEventListener(\"mousemove\",p),document.removeEventListener(\"touchmove\",p)),document.removeEventListener(\"mouseup\",E),document.removeEventListener(\"touchend\",E),pB?sst(c):u&&(c.documentElement.style.cursor=u,u=null),!r._dragging){r._dragged=!1;return}if(r._dragging=!1,new Date().getTime()-r._mouseDownTime>i&&(n=Math.max(n-1,1)),r._dragged)t.doneFn&&t.doneFn();else{var A;f.target===h?A=f:(A={target:h,srcElement:h,toElement:h},Object.keys(f).concat(Object.keys(f.__proto__)).forEach(L=>{var _=f[L];!A[L]&&typeof _!=\"function\"&&(A[L]=_)})),t.clickFn&&t.clickFn(n,A),d||h.dispatchEvent(new MouseEvent(\"click\",k))}r._dragging=!1,r._dragged=!1}};function qse(){var e=document.createElement(\"div\");e.className=\"dragcover\";var t=e.style;return t.position=\"fixed\",t.left=0,t.right=0,t.top=0,t.bottom=0,t.zIndex=999999999,t.background=\"none\",document.body.appendChild(e),e}Lb.coverSlip=qse;function zse(e){return ast(e.changedTouches?e.changedTouches[0]:e,document.body)}});var Tg=ye((Rrr,Bse)=>{\"use strict\";Bse.exports=function(t,r){(t.attr(\"class\")||\"\").split(\" \").forEach(function(n){n.indexOf(\"cursor-\")===0&&t.classed(n,!1)}),r&&t.classed(\"cursor-\"+r,!0)}});var Vse=ye((Drr,Use)=>{\"use strict\";var gB=Tg(),aM=\"data-savedcursor\",Nse=\"!!\";Use.exports=function(t,r){var n=t.attr(aM);if(r){if(!n){for(var i=(t.attr(\"class\")||\"\").split(\" \"),a=0;a<i.length;a++){var o=i[a];o.indexOf(\"cursor-\")===0&&t.attr(aM,o.substr(7)).classed(o,!1)}t.attr(aM)||t.attr(aM,Nse)}gB(t,r)}else n&&(t.attr(aM,null),n===Nse?gB(t):gB(t,n))}});var yB=ye((zrr,Hse)=>{\"use strict\";var mB=Su(),ust=dh();Hse.exports={_isSubplotObj:!0,visible:{valType:\"boolean\",dflt:!0,editType:\"legend\"},bgcolor:{valType:\"color\",editType:\"legend\"},bordercolor:{valType:\"color\",dflt:ust.defaultLine,editType:\"legend\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"legend\"},font:mB({editType:\"legend\"}),grouptitlefont:mB({editType:\"legend\"}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"v\",editType:\"legend\"},traceorder:{valType:\"flaglist\",flags:[\"reversed\",\"grouped\"],extras:[\"normal\"],editType:\"legend\"},tracegroupgap:{valType:\"number\",min:0,dflt:10,editType:\"legend\"},entrywidth:{valType:\"number\",min:0,editType:\"legend\"},entrywidthmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"pixels\",editType:\"legend\"},indentation:{valType:\"number\",min:-15,dflt:0,editType:\"legend\"},itemsizing:{valType:\"enumerated\",values:[\"trace\",\"constant\"],dflt:\"trace\",editType:\"legend\"},itemwidth:{valType:\"number\",min:30,dflt:30,editType:\"legend\"},itemclick:{valType:\"enumerated\",values:[\"toggle\",\"toggleothers\",!1],dflt:\"toggle\",editType:\"legend\"},itemdoubleclick:{valType:\"enumerated\",values:[\"toggle\",\"toggleothers\",!1],dflt:\"toggleothers\",editType:\"legend\"},groupclick:{valType:\"enumerated\",values:[\"toggleitem\",\"togglegroup\"],dflt:\"togglegroup\",editType:\"legend\"},x:{valType:\"number\",editType:\"legend\"},xref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"legend\"},y:{valType:\"number\",editType:\"legend\"},yref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],editType:\"legend\"},uirevision:{valType:\"any\",editType:\"none\"},valign:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\",editType:\"legend\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"legend\"},font:mB({editType:\"legend\"}),side:{valType:\"enumerated\",values:[\"top\",\"left\",\"top left\",\"top center\",\"top right\"],editType:\"legend\"},editType:\"legend\"},editType:\"legend\"}});var LL=ye(CL=>{\"use strict\";CL.isGrouped=function(t){return(t.traceorder||\"\").indexOf(\"grouped\")!==-1};CL.isVertical=function(t){return t.orientation!==\"h\"};CL.isReversed=function(t){return(t.traceorder||\"\").indexOf(\"reversed\")!==-1}});var bB=ye((qrr,Gse)=>{\"use strict\";var _B=ba(),Kp=Mr(),cst=Vs(),fst=vl(),hst=yB(),dst=s3(),xB=LL();function vst(e,t,r,n){var i=t[e]||{},a=cst.newContainer(r,e);function o(G,N){return Kp.coerce(i,a,hst,G,N)}var s=Kp.coerceFont(o,\"font\",r.font);o(\"bgcolor\",r.paper_bgcolor),o(\"bordercolor\");var l=o(\"visible\");if(l){for(var u,c=function(G,N){var W=u._input,re=u;return Kp.coerce(W,re,fst,G,N)},f=r.font||{},h=Kp.coerceFont(o,\"grouptitlefont\",f,{overrideDflt:{size:Math.round(f.size*1.1)}}),d=0,v=!1,x=\"normal\",b=(r.shapes||[]).filter(function(G){return G.showlegend}),p=n.concat(b).filter(function(G){return e===(G.legend||\"legend\")}),E=0;E<p.length;E++)if(u=p[E],!!u.visible){var k=u._isShape;(u.showlegend||u._dfltShowLegend&&!(u._module&&u._module.attributes&&u._module.attributes.showlegend&&u._module.attributes.showlegend.dflt===!1))&&(d++,u.showlegend&&(v=!0,(!k&&_B.traceIs(u,\"pie-like\")||u._input.showlegend===!0)&&d++),Kp.coerceFont(c,\"legendgrouptitle.font\",h)),(!k&&_B.traceIs(u,\"bar\")&&r.barmode===\"stack\"||[\"tonextx\",\"tonexty\"].indexOf(u.fill)!==-1)&&(x=xB.isGrouped({traceorder:x})?\"grouped+reversed\":\"reversed\"),u.legendgroup!==void 0&&u.legendgroup!==\"\"&&(x=xB.isReversed({traceorder:x})?\"reversed+grouped\":\"grouped\")}var A=Kp.coerce(t,r,dst,\"showlegend\",v&&d>(e===\"legend\"?1:0));if(A===!1&&(r[e]=void 0),!(A===!1&&!i.uirevision)&&(o(\"uirevision\",r.uirevision),A!==!1)){o(\"borderwidth\");var L=o(\"orientation\"),_=o(\"yref\"),C=o(\"xref\"),M=L===\"h\",g=_===\"paper\",P=C===\"paper\",T,F,q,V=\"left\";M?(T=0,_B.getComponentMethod(\"rangeslider\",\"isVisible\")(t.xaxis)?g?(F=1.1,q=\"bottom\"):(F=1,q=\"top\"):g?(F=-.1,q=\"top\"):(F=0,q=\"bottom\")):(F=1,q=\"auto\",P?T=1.02:(T=1,V=\"right\")),Kp.coerce(i,a,{x:{valType:\"number\",editType:\"legend\",min:P?-2:0,max:P?3:1,dflt:T}},\"x\"),Kp.coerce(i,a,{y:{valType:\"number\",editType:\"legend\",min:g?-2:0,max:g?3:1,dflt:F}},\"y\"),o(\"traceorder\",x),xB.isGrouped(r[e])&&o(\"tracegroupgap\"),o(\"entrywidth\"),o(\"entrywidthmode\"),o(\"indentation\"),o(\"itemsizing\"),o(\"itemwidth\"),o(\"itemclick\"),o(\"itemdoubleclick\"),o(\"groupclick\"),o(\"xanchor\",V),o(\"yanchor\",q),o(\"valign\"),Kp.noneOrAll(i,a,[\"x\",\"y\"]);var H=o(\"title.text\");if(H){o(\"title.side\",M?\"left\":\"top\");var X=Kp.extendFlat({},s,{size:Kp.bigFont(s.size)});Kp.coerceFont(o,\"title.font\",X)}}}}Gse.exports=function(t,r,n){var i,a=n.slice(),o=r.shapes;if(o)for(i=0;i<o.length;i++){var s=o[i];if(s.showlegend){var l={_input:s._input,visible:s.visible,showlegend:s.showlegend,legend:s.legend};a.push(l)}}var u=[\"legend\"];for(i=0;i<a.length;i++)Kp.pushUnique(u,a[i].legend);for(r._legends=[],i=0;i<u.length;i++){var c=u[i];vst(c,t,r,a),r[c]&&r[c].visible&&(r[c]._id=c),r._legends.push(c)}}});var Wse=ye((Orr,jse)=>{\"use strict\";var D3=ba(),TB=Mr(),pst=TB.pushUnique,wB=!0;jse.exports=function(t,r,n){var i=r._fullLayout;if(r._dragged||r._editing)return;var a=i.legend.itemclick,o=i.legend.itemdoubleclick,s=i.legend.groupclick;n===1&&a===\"toggle\"&&o===\"toggleothers\"&&wB&&r.data&&r._context.showTips&&TB.notifier(TB._(r,\"Double-click on legend to isolate one trace\"),\"long\"),wB=!1;var l;if(n===1?l=a:n===2&&(l=o),!l)return;var u=s===\"togglegroup\",c=i.hiddenlabels?i.hiddenlabels.slice():[],f=t.data()[0][0];if(f.groupTitle&&f.noClick)return;var h=r._fullData,d=(i.shapes||[]).filter(function(Rt){return Rt.showlegend}),v=h.concat(d),x=f.trace;x._isShape&&(x=x._fullInput);var b=x.legendgroup,p,E,k,A,L,_,C={},M=[],g=[],P=[];function T(Rt,kt){var Ct=M.indexOf(Rt),Yt=C.visible;return Yt||(Yt=C.visible=[]),M.indexOf(Rt)===-1&&(M.push(Rt),Ct=M.length-1),Yt[Ct]=kt,Ct}var F=(i.shapes||[]).map(function(Rt){return Rt._input}),q=!1;function V(Rt,kt){F[Rt].visible=kt,q=!0}function H(Rt,kt){if(!(f.groupTitle&&!u)){var Ct=Rt._fullInput||Rt,Yt=Ct._isShape,xr=Ct.index;xr===void 0&&(xr=Ct._index);var er=Ct.visible===!1?!1:kt;Yt?V(xr,er):T(xr,er)}}var X=x.legend,G=x._fullInput,N=G&&G._isShape;if(!N&&D3.traceIs(x,\"pie-like\")){var W=f.label,re=c.indexOf(W);if(l===\"toggle\")re===-1?c.push(W):c.splice(re,1);else if(l===\"toggleothers\"){var ae=re!==-1,_e=[];for(p=0;p<r.calcdata.length;p++){var Me=r.calcdata[p];for(E=0;E<Me.length;E++){var ke=Me[E],ge=ke.label;X===Me[0].trace.legend&&W!==ge&&(c.indexOf(ge)===-1&&(ae=!0),pst(c,ge),_e.push(ge))}}if(!ae)for(var ie=0;ie<_e.length;ie++){var Te=c.indexOf(_e[ie]);Te!==-1&&c.splice(Te,1)}}D3.call(\"_guiRelayout\",r,\"hiddenlabels\",c)}else{var Ee=b&&b.length,Ae=[],ze;if(Ee)for(p=0;p<v.length;p++)ze=v[p],ze.visible&&ze.legendgroup===b&&Ae.push(p);if(l===\"toggle\"){var Ce;switch(x.visible){case!0:Ce=\"legendonly\";break;case!1:Ce=!1;break;case\"legendonly\":Ce=!0;break}if(Ee)if(u)for(p=0;p<v.length;p++){var me=v[p];me.visible!==!1&&me.legendgroup===b&&H(me,Ce)}else H(x,Ce);else H(x,Ce)}else if(l===\"toggleothers\"){var Re,ce,Ge,nt,ct,qt=!0;for(p=0;p<v.length;p++)if(ct=v[p],Re=ct===x,Ge=ct.showlegend!==!0,!(Re||Ge)&&(ce=Ee&&ct.legendgroup===b,!ce&&ct.legend===X&&ct.visible===!0&&!D3.traceIs(ct,\"notLegendIsolatable\"))){qt=!1;break}for(p=0;p<v.length;p++)if(ct=v[p],!(ct.visible===!1||ct.legend!==X)&&!D3.traceIs(ct,\"notLegendIsolatable\"))switch(x.visible){case\"legendonly\":H(ct,!0);break;case!0:nt=qt?!0:\"legendonly\",Re=ct===x,Ge=ct.showlegend!==!0&&!ct.legendgroup,ce=Re||Ee&&ct.legendgroup===b,H(ct,ce||Ge?!0:nt);break}}for(p=0;p<g.length;p++)if(k=g[p],!!k){var rt=k.constructUpdate(),ot=Object.keys(rt);for(E=0;E<ot.length;E++)A=ot[E],_=C[A]=C[A]||[],_[P[p]]=rt[A]}for(L=Object.keys(C),p=0;p<L.length;p++)for(A=L[p],E=0;E<M.length;E++)C[A].hasOwnProperty(E)||(C[A][E]=void 0);q?D3.call(\"_guiUpdate\",r,C,{shapes:F},M):D3.call(\"_guiRestyle\",r,C,M)}}});var AB=ye((Brr,Zse)=>{\"use strict\";Zse.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:\"#808BA4\",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},titlePad:2,itemGap:5}});var Kse=ye((Nrr,Yse)=>{\"use strict\";var Xse=ba(),SB=LL();Yse.exports=function(t,r,n){var i=r._inHover,a=SB.isGrouped(r),o=SB.isReversed(r),s={},l=[],u=!1,c={},f=0,h=0,d,v;function x(G,N,W){if(r.visible!==!1&&!(n&&G!==r._id))if(N===\"\"||!SB.isGrouped(r)){var re=\"~~i\"+f;l.push(re),s[re]=[W],f++}else l.indexOf(N)===-1?(l.push(N),u=!0,s[N]=[W]):s[N].push(W)}for(d=0;d<t.length;d++){var b=t[d],p=b[0],E=p.trace,k=E.legend,A=E.legendgroup;if(!(!i&&(!E.visible||!E.showlegend)))if(Xse.traceIs(E,\"pie-like\"))for(c[A]||(c[A]={}),v=0;v<b.length;v++){var L=b[v].label;c[A][L]||(x(k,A,{label:L,color:b[v].color,i:b[v].i,trace:E,pts:b[v].pts}),c[A][L]=!0,h=Math.max(h,(L||\"\").length))}else x(k,A,p),h=Math.max(h,(E.name||\"\").length)}if(!l.length)return[];var _=!u||!a,C=[];for(d=0;d<l.length;d++){var M=s[l[d]];_?C.push(M[0]):C.push(M)}for(_&&(C=[C]),d=0;d<C.length;d++){var g=1/0;for(v=0;v<C[d].length;v++){var P=C[d][v].trace.legendrank;g>P&&(g=P)}C[d][0]._groupMinRank=g,C[d][0]._preGroupSort=d}var T=function(G,N){return G[0]._groupMinRank-N[0]._groupMinRank||G[0]._preGroupSort-N[0]._preGroupSort},F=function(G,N){return G.trace.legendrank-N.trace.legendrank||G._preSort-N._preSort};for(C.forEach(function(G,N){G[0]._preGroupSort=N}),C.sort(T),d=0;d<C.length;d++){C[d].forEach(function(G,N){G._preSort=N}),C[d].sort(F);var q=C[d][0].trace,V=null;for(v=0;v<C[d].length;v++){var H=C[d][v].trace.legendgrouptitle;if(H&&H.text){V=H,i&&(H.font=r._groupTitleFont);break}}if(o&&C[d].reverse(),V){var X=!1;for(v=0;v<C[d].length;v++)if(Xse.traceIs(C[d][v].trace,\"pie-like\")){X=!0;break}C[d].unshift({i:-1,groupTitle:V,noClick:X,trace:{showlegend:q.showlegend,legendgroup:q.legendgroup,visible:r.groupclick===\"toggleitem\"?!0:q.visible}})}for(v=0;v<C[d].length;v++)C[d][v]=[C[d][v]]}return r._lgroupsLength=C.length,r._maxNameLength=h,C}});var u_=ye(Pb=>{\"use strict\";var PL=Mr();function Jse(e){return e.indexOf(\"e\")!==-1?e.replace(/[.]?0+e/,\"e\"):e.indexOf(\".\")!==-1?e.replace(/[.]?0+$/,\"\"):e}Pb.formatPiePercent=function(t,r){var n=Jse((t*100).toPrecision(3));return PL.numSeparate(n,r)+\"%\"};Pb.formatPieValue=function(t,r){var n=Jse(t.toPrecision(10));return PL.numSeparate(n,r)};Pb.getFirstFilled=function(t,r){if(PL.isArrayOrTypedArray(t))for(var n=0;n<r.length;n++){var i=t[r[n]];if(i||i===0||i===\"\")return i}};Pb.castOption=function(t,r){if(PL.isArrayOrTypedArray(t))return Pb.getFirstFilled(t,r);if(t)return t};Pb.getRotationAngle=function(e){return(e===\"auto\"?0:e)*Math.PI/180}});var Qse=ye((Vrr,$se)=>{\"use strict\";var gst=ao(),mst=va();$se.exports=function(t,r,n,i){var a=n.marker.pattern;a&&a.shape?gst.pointStyle(t,n,i,r):mst.fill(t,r.color)}});var z3=ye((Hrr,rle)=>{\"use strict\";var ele=va(),tle=u_().castOption,yst=Qse();rle.exports=function(t,r,n,i){var a=n.marker.line,o=tle(a.color,r.pts)||ele.defaultLine,s=tle(a.width,r.pts)||0;t.call(yst,r,n,i).style(\"stroke-width\",s).call(ele.stroke,o)}});var CB=ye((Grr,lle)=>{\"use strict\";var qv=xa(),MB=ba(),mv=Mr(),ile=mv.strTranslate,ip=ao(),T0=va(),EB=Dv().extractOpts,IL=lu(),_st=z3(),xst=u_().castOption,bst=AB(),nle=12,ale=5,Ib=2,wst=10,F3=5;lle.exports=function(t,r,n){var i=r._fullLayout;n||(n=i.legend);var a=n.itemsizing===\"constant\",o=n.itemwidth,s=(o+bst.itemGap*2)/2,l=ile(s,0),u=function(C,M,g,P){var T;if(C+1)T=C;else if(M&&M.width>0)T=M.width;else return 0;return a?P:Math.min(T,g)};t.each(function(C){var M=qv.select(this),g=mv.ensureSingle(M,\"g\",\"layers\");g.style(\"opacity\",C[0].trace.opacity);var P=n.indentation,T=n.valign,F=C[0].lineHeight,q=C[0].height;if(T===\"middle\"&&P===0||!F||!q)g.attr(\"transform\",null);else{var V={top:1,bottom:-1}[T],H=V*(.5*(F-q+3))||0,X=n.indentation;g.attr(\"transform\",ile(X,H))}var G=g.selectAll(\"g.legendfill\").data([C]);G.enter().append(\"g\").classed(\"legendfill\",!0);var N=g.selectAll(\"g.legendlines\").data([C]);N.enter().append(\"g\").classed(\"legendlines\",!0);var W=g.selectAll(\"g.legendsymbols\").data([C]);W.enter().append(\"g\").classed(\"legendsymbols\",!0),W.selectAll(\"g.legendpoints\").data([C]).enter().append(\"g\").classed(\"legendpoints\",!0)}).each(_).each(h).each(v).each(d).each(b).each(A).each(k).each(c).each(f).each(p).each(E);function c(C){var M=ole(C),g=M.showFill,P=M.showLine,T=M.showGradientLine,F=M.showGradientFill,q=M.anyFill,V=M.anyLine,H=C[0],X=H.trace,G,N,W=EB(X),re=W.colorscale,ae=W.reversescale,_e=function(Ae){if(Ae.size())if(g)ip.fillGroupStyle(Ae,r,!0);else{var ze=\"legendfill-\"+X.uid;ip.gradient(Ae,r,ze,kB(ae),re,\"fill\")}},Me=function(Ae){if(Ae.size()){var ze=\"legendline-\"+X.uid;ip.lineGroupStyle(Ae),ip.gradient(Ae,r,ze,kB(ae),re,\"stroke\")}},ke=IL.hasMarkers(X)||!q?\"M5,0\":V?\"M5,-2\":\"M5,-3\",ge=qv.select(this),ie=ge.select(\".legendfill\").selectAll(\"path\").data(g||F?[C]:[]);if(ie.enter().append(\"path\").classed(\"js-fill\",!0),ie.exit().remove(),ie.attr(\"d\",ke+\"h\"+o+\"v6h-\"+o+\"z\").call(_e),P||T){var Te=u(void 0,X.line,wst,ale);N=mv.minExtend(X,{line:{width:Te}}),G=[mv.minExtend(H,{trace:N})]}var Ee=ge.select(\".legendlines\").selectAll(\"path\").data(P||T?[G]:[]);Ee.enter().append(\"path\").classed(\"js-line\",!0),Ee.exit().remove(),Ee.attr(\"d\",ke+(T?\"l\"+o+\",0.0001\":\"h\"+o)).call(P?ip.lineGroupStyle:Me)}function f(C){var M=ole(C),g=M.anyFill,P=M.anyLine,T=M.showLine,F=M.showMarker,q=C[0],V=q.trace,H=!F&&!P&&!g&&IL.hasText(V),X,G;function N(ie,Te,Ee,Ae){var ze=mv.nestedProperty(V,ie).get(),Ce=mv.isArrayOrTypedArray(ze)&&Te?Te(ze):ze;if(a&&Ce&&Ae!==void 0&&(Ce=Ae),Ee){if(Ce<Ee[0])return Ee[0];if(Ce>Ee[1])return Ee[1]}return Ce}function W(ie){return q._distinct&&q.index&&ie[q.index]?ie[q.index]:ie[0]}if(F||H||T){var re={},ae={};if(F){re.mc=N(\"marker.color\",W),re.mx=N(\"marker.symbol\",W),re.mo=N(\"marker.opacity\",mv.mean,[.2,1]),re.mlc=N(\"marker.line.color\",W),re.mlw=N(\"marker.line.width\",mv.mean,[0,5],Ib),ae.marker={sizeref:1,sizemin:1,sizemode:\"diameter\"};var _e=N(\"marker.size\",mv.mean,[2,16],nle);re.ms=_e,ae.marker.size=_e}T&&(ae.line={width:N(\"line.width\",W,[0,10],ale)}),H&&(re.tx=\"Aa\",re.tp=N(\"textposition\",W),re.ts=10,re.tc=N(\"textfont.color\",W),re.tf=N(\"textfont.family\",W),re.tw=N(\"textfont.weight\",W),re.ty=N(\"textfont.style\",W),re.tv=N(\"textfont.variant\",W),re.tC=N(\"textfont.textcase\",W),re.tE=N(\"textfont.lineposition\",W),re.tS=N(\"textfont.shadow\",W)),X=[mv.minExtend(q,re)],G=mv.minExtend(V,ae),G.selectedpoints=null,G.texttemplate=null}var Me=qv.select(this).select(\"g.legendpoints\"),ke=Me.selectAll(\"path.scatterpts\").data(F?X:[]);ke.enter().insert(\"path\",\":first-child\").classed(\"scatterpts\",!0).attr(\"transform\",l),ke.exit().remove(),ke.call(ip.pointStyle,G,r),F&&(X[0].mrc=3);var ge=Me.selectAll(\"g.pointtext\").data(H?X:[]);ge.enter().append(\"g\").classed(\"pointtext\",!0).append(\"text\").attr(\"transform\",l),ge.exit().remove(),ge.selectAll(\"text\").call(ip.textPointStyle,G,r)}function h(C){var M=C[0].trace,g=M.type===\"waterfall\";if(C[0]._distinct&&g){var P=C[0].trace[C[0].dir].marker;return C[0].mc=P.color,C[0].mlw=P.line.width,C[0].mlc=P.line.color,x(C,this,\"waterfall\")}var T=[];M.visible&&g&&(T=C[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 F=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendwaterfall\").data(T);F.enter().append(\"path\").classed(\"legendwaterfall\",!0).attr(\"transform\",l).style(\"stroke-miterlimit\",1),F.exit().remove(),F.each(function(q){var V=qv.select(this),H=M[q[0]].marker,X=u(void 0,H.line,F3,Ib);V.attr(\"d\",q[1]).style(\"stroke-width\",X+\"px\").call(T0.fill,H.color),X&&V.call(T0.stroke,H.line.color)})}function d(C){x(C,this)}function v(C){x(C,this,\"funnel\")}function x(C,M,g){var P=C[0].trace,T=P.marker||{},F=T.line||{},q=T.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\",V=g?P.visible&&P.type===g:MB.traceIs(P,\"bar\"),H=qv.select(M).select(\"g.legendpoints\").selectAll(\"path.legend\"+g).data(V?[C]:[]);H.enter().append(\"path\").classed(\"legend\"+g,!0).attr(\"d\",q).attr(\"transform\",l),H.exit().remove(),H.each(function(X){var G=qv.select(this),N=X[0],W=u(N.mlw,T.line,F3,Ib);G.style(\"stroke-width\",W+\"px\");var re=N.mcc;if(!n._inHover&&\"mc\"in N){var ae=EB(T),_e=ae.mid;_e===void 0&&(_e=(ae.max+ae.min)/2),re=ip.tryColorscale(T,\"\")(_e)}var Me=re||N.mc||T.color,ke=T.pattern,ge=ke&&ip.getPatternAttr(ke.shape,0,\"\");if(ge){var ie=ip.getPatternAttr(ke.bgcolor,0,null),Te=ip.getPatternAttr(ke.fgcolor,0,null),Ee=ke.fgopacity,Ae=sle(ke.size,8,10),ze=sle(ke.solidity,.5,1),Ce=\"legend-\"+P.uid;G.call(ip.pattern,\"legend\",r,Ce,ge,Ae,ze,re,ke.fillmode,ie,Te,Ee)}else G.call(T0.fill,Me);W&&T0.stroke(G,N.mlc||F.color)})}function b(C){var M=C[0].trace,g=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbox\").data(M.visible&&MB.traceIs(M,\"box-violin\")?[C]:[]);g.enter().append(\"path\").classed(\"legendbox\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",l),g.exit().remove(),g.each(function(){var P=qv.select(this);if((M.boxpoints===\"all\"||M.points===\"all\")&&T0.opacity(M.fillcolor)===0&&T0.opacity((M.line||{}).color)===0){var T=mv.minExtend(M,{marker:{size:a?nle:mv.constrain(M.marker.size,2,16),sizeref:1,sizemin:1,sizemode:\"diameter\"}});g.call(ip.pointStyle,T,r)}else{var F=u(void 0,M.line,F3,Ib);P.style(\"stroke-width\",F+\"px\").call(T0.fill,M.fillcolor),F&&T0.stroke(P,M.line.color)}})}function p(C){var M=C[0].trace,g=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendcandle\").data(M.visible&&M.type===\"candlestick\"?[C,C]:[]);g.enter().append(\"path\").classed(\"legendcandle\",!0).attr(\"d\",function(P,T){return T?\"M-15,0H-8M-8,6V-6H8Z\":\"M15,0H8M8,-6V6H-8Z\"}).attr(\"transform\",l).style(\"stroke-miterlimit\",1),g.exit().remove(),g.each(function(P,T){var F=qv.select(this),q=M[T?\"increasing\":\"decreasing\"],V=u(void 0,q.line,F3,Ib);F.style(\"stroke-width\",V+\"px\").call(T0.fill,q.fillcolor),V&&T0.stroke(F,q.line.color)})}function E(C){var M=C[0].trace,g=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendohlc\").data(M.visible&&M.type===\"ohlc\"?[C,C]:[]);g.enter().append(\"path\").classed(\"legendohlc\",!0).attr(\"d\",function(P,T){return T?\"M-15,0H0M-8,-6V0\":\"M15,0H0M8,6V0\"}).attr(\"transform\",l).style(\"stroke-miterlimit\",1),g.exit().remove(),g.each(function(P,T){var F=qv.select(this),q=M[T?\"increasing\":\"decreasing\"],V=u(void 0,q.line,F3,Ib);F.style(\"fill\",\"none\").call(ip.dashLine,q.line.dash,V),V&&T0.stroke(F,q.line.color)})}function k(C){L(C,this,\"pie\")}function A(C){L(C,this,\"funnelarea\")}function L(C,M,g){var P=C[0],T=P.trace,F=g?T.visible&&T.type===g:MB.traceIs(T,g),q=qv.select(M).select(\"g.legendpoints\").selectAll(\"path.legend\"+g).data(F?[C]:[]);if(q.enter().append(\"path\").classed(\"legend\"+g,!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",l),q.exit().remove(),q.size()){var V=T.marker||{},H=u(xst(V.line.width,P.pts),V.line,F3,Ib),X=\"pieLike\",G=mv.minExtend(T,{marker:{line:{width:H}}},X),N=mv.minExtend(P,{trace:G},X);_st(q,N,G,r)}}function _(C){var M=C[0].trace,g,P=[];if(M.visible)switch(M.type){case\"histogram2d\":case\"heatmap\":P=[[\"M-15,-2V4H15V-2Z\"]],g=!0;break;case\"choropleth\":case\"choroplethmapbox\":case\"choroplethmap\":P=[[\"M-6,-6V6H6V-6Z\"]],g=!0;break;case\"densitymapbox\":case\"densitymap\":P=[[\"M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0\"]],g=\"radial\";break;case\"cone\":P=[[\"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\"]],g=!1;break;case\"streamtube\":P=[[\"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\"]],g=!1;break;case\"surface\":P=[[\"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\"]],g=!0;break;case\"mesh3d\":P=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],g=!1;break;case\"volume\":P=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],g=!0;break;case\"isosurface\":P=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6 A12,24 0 0,0 6,-6 L0,6Z\"]],g=!1;break}var T=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legend3dandfriends\").data(P);T.enter().append(\"path\").classed(\"legend3dandfriends\",!0).attr(\"transform\",l).style(\"stroke-miterlimit\",1),T.exit().remove(),T.each(function(F,q){var V=qv.select(this),H=EB(M),X=H.colorscale,G=H.reversescale,N=function(_e){if(_e.size()){var Me=\"legendfill-\"+M.uid;ip.gradient(_e,r,Me,kB(G,g===\"radial\"),X,\"fill\")}},W;if(X){if(!g){var ae=X.length;W=q===0?X[G?ae-1:0][1]:q===1?X[G?0:ae-1][1]:X[Math.floor((ae-1)/2)][1]}}else{var re=M.vertexcolor||M.facecolor||M.color;W=mv.isArrayOrTypedArray(re)?re[q]||re[0]:re}V.attr(\"d\",F[0]),W?V.call(T0.fill,W):V.call(N)})}};function kB(e,t){var r=t?\"radial\":\"horizontal\";return r+(e?\"\":\"reversed\")}function ole(e){var t=e[0].trace,r=t.contours,n=IL.hasLines(t),i=IL.hasMarkers(t),a=t.visible&&t.fill&&t.fill!==\"none\",o=!1,s=!1;if(r){var l=r.coloring;l===\"lines\"?o=!0:n=l===\"none\"||l===\"heatmap\"||r.showlines,r.type===\"constraint\"?a=r._operation!==\"=\":(l===\"fill\"||l===\"heatmap\")&&(s=!0)}return{showMarker:i,showLine:n,showFill:a,showGradientLine:o,showGradientFill:s,anyLine:n||o,anyFill:a||s}}function sle(e,t,r){return e&&mv.isArrayOrTypedArray(e)?t:e>r?r:e}});var RB=ye((jrr,yle)=>{\"use strict\";var Sp=xa(),gh=Mr(),PB=Xu(),B3=ba(),ule=g3(),LB=gv(),mh=ao(),DL=va(),Rb=Pl(),cle=Wse(),Vh=AB(),IB=Nh(),gle=IB.LINE_SPACING,O3=IB.FROM_TL,fle=IB.FROM_BR,hle=Kse(),Tst=CB(),dle=LL(),q3=1,Ast=/^legend[0-9]*$/;yle.exports=function(t,r){if(r)vle(t,r);else{var n=t._fullLayout,i=n._legends,a=n._infolayer.selectAll('[class^=\"legend\"]');a.each(function(){var u=Sp.select(this),c=u.attr(\"class\"),f=c.split(\" \")[0];f.match(Ast)&&i.indexOf(f)===-1&&u.remove()});for(var o=0;o<i.length;o++){var s=i[o],l=t._fullLayout[s];vle(t,l)}}};function Sst(e,t,r){if(!(t.title.side!==\"top center\"&&t.title.side!==\"top right\")){var n=t.title.font,i=n.size*gle,a=0,o=e.node(),s=mh.bBox(o).width;t.title.side===\"top center\"?a=.5*(t._width-2*r-2*Vh.titlePad-s):t.title.side===\"top right\"&&(a=t._width-2*r-2*Vh.titlePad-s),Rb.positionText(e,r+Vh.titlePad+a,r+i)}}function vle(e,t){var r=t||{},n=e._fullLayout,i=OL(r),a,o,s=r._inHover;if(s?(o=r.layer,a=\"hover\"):(o=n._infolayer,a=i),!!o){a+=n._uid,e._legendMouseDownTime||(e._legendMouseDownTime=0);var l;if(s){if(!r.entries)return;l=hle(r.entries,r)}else{for(var u=(e.calcdata||[]).slice(),c=n.shapes,f=0;f<c.length;f++){var h=c[f];if(h.showlegend){var d={_isShape:!0,_fullInput:h,index:h._index,name:h.name||h.label.text||\"shape \"+h._index,legend:h.legend,legendgroup:h.legendgroup,legendgrouptitle:h.legendgrouptitle,legendrank:h.legendrank,legendwidth:h.legendwidth,showlegend:h.showlegend,visible:h.visible,opacity:h.opacity,mode:h.type===\"line\"?\"lines\":\"markers\",line:h.line,marker:{line:h.line,color:h.fillcolor,size:12,symbol:h.type===\"rect\"?\"square\":h.type===\"circle\"?\"circle\":\"hexagon2\"}};u.push([{trace:d}])}}l=n.showlegend&&hle(u,r,n._legends.length>1)}var v=n.hiddenlabels||[];if(!s&&(!n.showlegend||!l.length))return o.selectAll(\".\"+i).remove(),n._topdefs.select(\"#\"+a).remove(),PB.autoMargin(e,i);var x=gh.ensureSingle(o,\"g\",i,function(M){s||M.attr(\"pointer-events\",\"all\")}),b=gh.ensureSingleById(n._topdefs,\"clipPath\",a,function(M){M.append(\"rect\")}),p=gh.ensureSingle(x,\"rect\",\"bg\",function(M){M.attr(\"shape-rendering\",\"crispEdges\")});p.call(DL.stroke,r.bordercolor).call(DL.fill,r.bgcolor).style(\"stroke-width\",r.borderwidth+\"px\");var E=gh.ensureSingle(x,\"g\",\"scrollbox\"),k=r.title;r._titleWidth=0,r._titleHeight=0;var A;k.text?(A=gh.ensureSingle(E,\"text\",i+\"titletext\"),A.attr(\"text-anchor\",\"start\").call(mh.font,k.font).text(k.text),zL(A,E,e,r,q3)):E.selectAll(\".\"+i+\"titletext\").remove();var L=gh.ensureSingle(x,\"rect\",\"scrollbar\",function(M){M.attr(Vh.scrollBarEnterAttrs).call(DL.fill,Vh.scrollBarColor)}),_=E.selectAll(\"g.groups\").data(l);_.enter().append(\"g\").attr(\"class\",\"groups\"),_.exit().remove();var C=_.selectAll(\"g.traces\").data(gh.identity);C.enter().append(\"g\").attr(\"class\",\"traces\"),C.exit().remove(),C.style(\"opacity\",function(M){var g=M[0].trace;return B3.traceIs(g,\"pie-like\")?v.indexOf(M[0].label)!==-1?.5:1:g.visible===\"legendonly\"?.5:1}).each(function(){Sp.select(this).call(Mst,e,r)}).call(Tst,e,r).each(function(){s||Sp.select(this).call(Est,e,i)}),gh.syncOrAsync([PB.previousPromises,function(){return Lst(e,_,C,r)},function(){var M=n._size,g=r.borderwidth,P=r.xref===\"paper\",T=r.yref===\"paper\";if(k.text&&Sst(A,r,g),!s){var F,q;P?F=M.l+M.w*r.x-O3[FL(r)]*r._width:F=n.width*r.x-O3[FL(r)]*r._width,T?q=M.t+M.h*(1-r.y)-O3[qL(r)]*r._effHeight:q=n.height*(1-r.y)-O3[qL(r)]*r._effHeight;var V=Pst(e,i,F,q);if(V)return;if(n.margin.autoexpand){var H=F,X=q;F=P?gh.constrain(F,0,n.width-r._width):H,q=T?gh.constrain(q,0,n.height-r._effHeight):X,F!==H&&gh.log(\"Constrain \"+i+\".x to make legend fit inside graph\"),q!==X&&gh.log(\"Constrain \"+i+\".y to make legend fit inside graph\")}mh.setTranslate(x,F,q)}if(L.on(\".drag\",null),x.on(\"wheel\",null),s||r._height<=r._maxHeight||e._context.staticPlot){var G=r._effHeight;s&&(G=r._height),p.attr({width:r._width-g,height:G-g,x:g/2,y:g/2}),mh.setTranslate(E,0,0),b.select(\"rect\").attr({width:r._width-2*g,height:G-2*g,x:g,y:g}),mh.setClipUrl(E,a,e),mh.setRect(L,0,0,0,0),delete r._scrollY}else{var N=Math.max(Vh.scrollBarMinHeight,r._effHeight*r._effHeight/r._height),W=r._effHeight-N-2*Vh.scrollBarMargin,re=r._height-r._effHeight,ae=W/re,_e=Math.min(r._scrollY||0,re);p.attr({width:r._width-2*g+Vh.scrollBarWidth+Vh.scrollBarMargin,height:r._effHeight-g,x:g/2,y:g/2}),b.select(\"rect\").attr({width:r._width-2*g+Vh.scrollBarWidth+Vh.scrollBarMargin,height:r._effHeight-2*g,x:g,y:g+_e}),mh.setClipUrl(E,a,e),ze(_e,N,ae),x.on(\"wheel\",function(){_e=gh.constrain(r._scrollY+Sp.event.deltaY/W*re,0,re),ze(_e,N,ae),_e!==0&&_e!==re&&Sp.event.preventDefault()});var Me,ke,ge,ie=function(Ge,nt,ct){var qt=(ct-nt)/ae+Ge;return gh.constrain(qt,0,re)},Te=function(Ge,nt,ct){var qt=(nt-ct)/ae+Ge;return gh.constrain(qt,0,re)},Ee=Sp.behavior.drag().on(\"dragstart\",function(){var Ge=Sp.event.sourceEvent;Ge.type===\"touchstart\"?Me=Ge.changedTouches[0].clientY:Me=Ge.clientY,ge=_e}).on(\"drag\",function(){var Ge=Sp.event.sourceEvent;Ge.buttons===2||Ge.ctrlKey||(Ge.type===\"touchmove\"?ke=Ge.changedTouches[0].clientY:ke=Ge.clientY,_e=ie(ge,Me,ke),ze(_e,N,ae))});L.call(Ee);var Ae=Sp.behavior.drag().on(\"dragstart\",function(){var Ge=Sp.event.sourceEvent;Ge.type===\"touchstart\"&&(Me=Ge.changedTouches[0].clientY,ge=_e)}).on(\"drag\",function(){var Ge=Sp.event.sourceEvent;Ge.type===\"touchmove\"&&(ke=Ge.changedTouches[0].clientY,_e=Te(ge,Me,ke),ze(_e,N,ae))});E.call(Ae)}function ze(Ge,nt,ct){r._scrollY=e._fullLayout[i]._scrollY=Ge,mh.setTranslate(E,0,-Ge),mh.setRect(L,r._width,Vh.scrollBarMargin+Ge*ct,Vh.scrollBarWidth,nt),b.select(\"rect\").attr(\"y\",g+Ge)}if(e._context.edits.legendPosition){var Ce,me,Re,ce;x.classed(\"cursor-move\",!0),LB.init({element:x.node(),gd:e,prepFn:function(Ge){if(Ge.target!==L.node()){var nt=mh.getTranslate(x);Re=nt.x,ce=nt.y}},moveFn:function(Ge,nt){if(Re!==void 0&&ce!==void 0){var ct=Re+Ge,qt=ce+nt;mh.setTranslate(x,ct,qt),Ce=LB.align(ct,r._width,M.l,M.l+M.w,r.xanchor),me=LB.align(qt+r._height,-r._height,M.t+M.h,M.t,r.yanchor)}},doneFn:function(){if(Ce!==void 0&&me!==void 0){var Ge={};Ge[i+\".x\"]=Ce,Ge[i+\".y\"]=me,B3.call(\"_guiRelayout\",e,Ge)}},clickFn:function(Ge,nt){var ct=o.selectAll(\"g.traces\").filter(function(){var qt=this.getBoundingClientRect();return nt.clientX>=qt.left&&nt.clientX<=qt.right&&nt.clientY>=qt.top&&nt.clientY<=qt.bottom});ct.size()>0&&mle(e,x,ct,Ge,nt)}})}}],e)}}function RL(e,t,r){var n=e[0],i=n.width,a=t.entrywidthmode,o=n.trace.legendwidth||t.entrywidth;return a===\"fraction\"?t._maxWidth*o:r+(o||i)}function mle(e,t,r,n,i){var a=r.data()[0][0].trace,o={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a.index,data:e.data,layout:e.layout,frames:e._transitionData._frames,config:e._context,fullData:e._fullData,fullLayout:e._fullLayout};a._group&&(o.group=a._group),B3.traceIs(a,\"pie-like\")&&(o.label=r.datum()[0].label);var s=ule.triggerHandler(e,\"plotly_legendclick\",o);if(n===1){if(s===!1)return;t._clickTimeout=setTimeout(function(){e._fullLayout&&cle(r,e,n)},e._context.doubleClickDelay)}else if(n===2){t._clickTimeout&&clearTimeout(t._clickTimeout),e._legendMouseDownTime=0;var l=ule.triggerHandler(e,\"plotly_legenddoubleclick\",o);l!==!1&&s!==!1&&cle(r,e,n)}}function Mst(e,t,r){var n=OL(r),i=e.data()[0][0],a=i.trace,o=B3.traceIs(a,\"pie-like\"),s=!r._inHover&&t._context.edits.legendText&&!o,l=r._maxNameLength,u,c;i.groupTitle?(u=i.groupTitle.text,c=i.groupTitle.font):(c=r.font,r.entries?u=i.text:(u=o?i.label:a.name,a._meta&&(u=gh.templateString(u,a._meta))));var f=gh.ensureSingle(e,\"text\",n+\"text\");f.attr(\"text-anchor\",\"start\").call(mh.font,c).text(s?ple(u,l):u);var h=r.indentation+r.itemwidth+Vh.itemGap*2;Rb.positionText(f,h,0),s?f.call(Rb.makeEditable,{gd:t,text:u}).call(zL,e,t,r).on(\"edit\",function(d){this.text(ple(d,l)).call(zL,e,t,r);var v=i.trace._fullInput||{},x={};return x.name=d,v._isShape?B3.call(\"_guiRelayout\",t,\"shapes[\"+a.index+\"].name\",x.name):B3.call(\"_guiRestyle\",t,x,a.index)}):zL(f,e,t,r)}function ple(e,t){var r=Math.max(4,t);if(e&&e.trim().length>=r/2)return e;e=e||\"\";for(var n=r-e.length;n>0;n--)e+=\" \";return e}function Est(e,t,r){var n=t._context.doubleClickDelay,i,a=1,o=gh.ensureSingle(e,\"rect\",r+\"toggle\",function(s){t._context.staticPlot||s.style(\"cursor\",\"pointer\").attr(\"pointer-events\",\"all\"),s.call(DL.fill,\"rgba(0,0,0,0)\")});t._context.staticPlot||(o.on(\"mousedown\",function(){i=new Date().getTime(),i-t._legendMouseDownTime<n?a+=1:(a=1,t._legendMouseDownTime=i)}),o.on(\"mouseup\",function(){if(!(t._dragged||t._editing)){var s=t._fullLayout[r];new Date().getTime()-t._legendMouseDownTime>n&&(a=Math.max(a-1,1)),mle(t,s,e,a,Sp.event)}}))}function zL(e,t,r,n,i){n._inHover&&e.attr(\"data-notex\",!0),Rb.convertToTspans(e,r,function(){kst(t,r,n,i)})}function kst(e,t,r,n){var i=e.data()[0][0];if(!r._inHover&&i&&!i.trace.showlegend){e.remove();return}var a=e.select(\"g[class*=math-group]\"),o=a.node(),s=OL(r);r||(r=t._fullLayout[s]);var l=r.borderwidth,u;n===q3?u=r.title.font:i.groupTitle?u=i.groupTitle.font:u=r.font;var c=u.size*gle,f,h;if(o){var d=mh.bBox(o);f=d.height,h=d.width,n===q3?mh.setTranslate(a,l,l+f*.75):mh.setTranslate(a,0,f*.25)}else{var v=\".\"+s+(n===q3?\"title\":\"\")+\"text\",x=e.select(v),b=Rb.lineCount(x),p=x.node();if(f=c*b,h=p?mh.bBox(p).width:0,n===q3)r.title.side===\"left\"&&(h+=Vh.itemGap*2),Rb.positionText(x,l+Vh.titlePad,l+c);else{var E=Vh.itemGap*2+r.indentation+r.itemwidth;i.groupTitle&&(E=Vh.itemGap,h-=r.indentation+r.itemwidth),Rb.positionText(x,E,-c*((b-1)/2-.3))}}n===q3?(r._titleWidth=h,r._titleHeight=f):(i.lineHeight=c,i.height=Math.max(f,16)+3,i.width=h)}function Cst(e){var t=0,r=0,n=e.title.side;return n&&(n.indexOf(\"left\")!==-1&&(t=e._titleWidth),n.indexOf(\"top\")!==-1&&(r=e._titleHeight)),[t,r]}function Lst(e,t,r,n){var i=e._fullLayout,a=OL(n);n||(n=i[a]);var o=i._size,s=dle.isVertical(n),l=dle.isGrouped(n),u=n.entrywidthmode===\"fraction\",c=n.borderwidth,f=2*c,h=Vh.itemGap,d=n.indentation+n.itemwidth+h*2,v=2*(c+h),x=qL(n),b=n.y<0||n.y===0&&x===\"top\",p=n.y>1||n.y===1&&x===\"bottom\",E=n.tracegroupgap,k={};n._maxHeight=Math.max(b||p?i.height/2:o.h,30);var A=0;n._width=0,n._height=0;var L=Cst(n);if(s)r.each(function(ge){var ie=ge[0].height;mh.setTranslate(this,c+L[0],c+L[1]+n._height+ie/2+h),n._height+=ie,n._width=Math.max(n._width,ge[0].width)}),A=d+n._width,n._width+=h+d+f,n._height+=v,l&&(t.each(function(ge,ie){mh.setTranslate(this,0,ie*n.tracegroupgap)}),n._height+=(n._lgroupsLength-1)*n.tracegroupgap);else{var _=FL(n),C=n.x<0||n.x===0&&_===\"right\",M=n.x>1||n.x===1&&_===\"left\",g=p||b,P=i.width/2;n._maxWidth=Math.max(C?g&&_===\"left\"?o.l+o.w:P:M?g&&_===\"right\"?o.r+o.w:P:o.w,2*d);var T=0,F=0;r.each(function(ge){var ie=RL(ge,n,d);T=Math.max(T,ie),F+=ie}),A=null;var q=0;if(l){var V=0,H=0,X=0;t.each(function(){var ge=0,ie=0;Sp.select(this).selectAll(\"g.traces\").each(function(Ee){var Ae=RL(Ee,n,d),ze=Ee[0].height;mh.setTranslate(this,L[0],L[1]+c+h+ze/2+ie),ie+=ze,ge=Math.max(ge,Ae),k[Ee[0].trace.legendgroup]=ge});var Te=ge+h;H>0&&Te+c+H>n._maxWidth?(q=Math.max(q,H),H=0,X+=V+E,V=ie):V=Math.max(V,ie),mh.setTranslate(this,H,X),H+=Te}),n._width=Math.max(q,H)+c,n._height=X+V+v}else{var G=r.size(),N=F+f+(G-1)*h<n._maxWidth,W=0,re=0,ae=0,_e=0;r.each(function(ge){var ie=ge[0].height,Te=RL(ge,n,d,l),Ee=N?Te:T;u||(Ee+=h),Ee+c+re-h>=n._maxWidth&&(q=Math.max(q,_e),re=0,ae+=W,n._height+=W,W=0),mh.setTranslate(this,L[0]+c+re,L[1]+c+ae+ie/2+h),_e=re+Te+h,re+=Ee,W=Math.max(W,ie)}),N?(n._width=re+f,n._height=W+v):(n._width=Math.max(q,_e)+f,n._height+=W+v)}}n._width=Math.ceil(Math.max(n._width+L[0],n._titleWidth+2*(c+Vh.titlePad))),n._height=Math.ceil(Math.max(n._height+L[1],n._titleHeight+2*(c+Vh.itemGap))),n._effHeight=Math.min(n._height,n._maxHeight);var Me=e._context.edits,ke=Me.legendText||Me.legendPosition;r.each(function(ge){var ie=Sp.select(this).select(\".\"+a+\"toggle\"),Te=ge[0].height,Ee=ge[0].trace.legendgroup,Ae=RL(ge,n,d);l&&Ee!==\"\"&&(Ae=k[Ee]);var ze=ke?d:A||Ae;!s&&!u&&(ze+=h/2),mh.setRect(ie,0,-Te/2,ze,Te)})}function Pst(e,t,r,n){var i=e._fullLayout,a=i[t],o=FL(a),s=qL(a),l=a.xref===\"paper\",u=a.yref===\"paper\";e._fullLayout._reservedMargin[t]={};var c=a.y<.5?\"b\":\"t\",f=a.x<.5?\"l\":\"r\",h={r:i.width-r,l:r+a._width,b:i.height-n,t:n+a._effHeight};if(l&&u)return PB.autoMargin(e,t,{x:a.x,y:a.y,l:a._width*O3[o],r:a._width*fle[o],b:a._effHeight*fle[s],t:a._effHeight*O3[s]});l?e._fullLayout._reservedMargin[t][c]=h[c]:u||a.orientation===\"v\"?e._fullLayout._reservedMargin[t][f]=h[f]:e._fullLayout._reservedMargin[t][c]=h[c]}function FL(e){return gh.isRightAnchor(e)?\"right\":gh.isCenterAnchor(e)?\"center\":\"left\"}function qL(e){return gh.isBottomAnchor(e)?\"bottom\":gh.isMiddleAnchor(e)?\"middle\":\"top\"}function OL(e){return e._id||\"legend\"}});var qB=ye(FB=>{\"use strict\";var Db=xa(),Sy=uo(),_le=id(),Rf=Mr(),Ist=Rf.pushUnique,DB=Rf.strTranslate,Rst=Rf.strRotate,Dst=g3(),A0=Pl(),zst=Vse(),bm=ao(),sd=va(),BL=gv(),wm=Qa(),Fst=ad().zindexSeparator,U3=ba(),Ag=rp(),zb=IS(),qst=bB(),Ost=RB(),Ele=zb.YANGLE,zB=Math.PI*Ele/180,Bst=1/Math.sin(zB),Nst=Math.cos(zB),Ust=Math.sin(zB),Bc=zb.HOVERARROWSIZE,Us=zb.HOVERTEXTPAD,xle={box:!0,ohlc:!0,violin:!0,candlestick:!0},Vst={scatter:!0,scattergl:!0,splom:!0};function ble(e,t){return e.distance-t.distance}FB.hover=function(t,r,n,i){t=Rf.getGraphDiv(t);var a=r.target;Rf.throttle(t._fullLayout._uid+zb.HOVERID,zb.HOVERMINTIME,function(){Hst(t,r,n,i,a)})};FB.loneHover=function(t,r){var n=!0;Array.isArray(t)||(n=!1,t=[t]);var i=r.gd,a=Ile(i),o=Rle(i),s=t.map(function(b){var p=b._x0||b.x0||b.x||0,E=b._x1||b.x1||b.x||0,k=b._y0||b.y0||b.y||0,A=b._y1||b.y1||b.y||0,L=b.eventData;if(L){var _=Math.min(p,E),C=Math.max(p,E),M=Math.min(k,A),g=Math.max(k,A),P=b.trace;if(U3.traceIs(P,\"gl3d\")){var T=i._fullLayout[P.scene]._scene.container,F=T.offsetLeft,q=T.offsetTop;_+=F,C+=F,M+=q,g+=q}L.bbox={x0:_+o,x1:C+o,y0:M+a,y1:g+a},r.inOut_bbox&&r.inOut_bbox.push(L.bbox)}else L=!1;return{color:b.color||sd.defaultLine,x0:b.x0||b.x||0,x1:b.x1||b.x||0,y0:b.y0||b.y||0,y1:b.y1||b.y||0,xLabel:b.xLabel,yLabel:b.yLabel,zLabel:b.zLabel,text:b.text,name:b.name,idealAlign:b.idealAlign,borderColor:b.borderColor,fontFamily:b.fontFamily,fontSize:b.fontSize,fontColor:b.fontColor,fontWeight:b.fontWeight,fontStyle:b.fontStyle,fontVariant:b.fontVariant,nameLength:b.nameLength,textAlign:b.textAlign,trace:b.trace||{index:0,hoverinfo:\"\"},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:b.hovertemplate||!1,hovertemplateLabels:b.hovertemplateLabels||!1,eventData:L}}),l=!1,u=Cle(s,{gd:i,hovermode:\"closest\",rotateLabels:l,bgColor:r.bgColor||sd.background,container:Db.select(r.container),outerContainer:r.outerContainer||r.container}),c=u.hoverLabels,f=5,h=0,d=0;c.sort(function(b,p){return b.y0-p.y0}).each(function(b,p){var E=b.y0-b.by/2;E-f<h?b.offset=h-E+f:b.offset=0,h=E+b.by+b.offset,p===r.anchorIndex&&(d=b.offset)}).each(function(b){b.offset-=d});var v=i._fullLayout._invScaleX,x=i._fullLayout._invScaleY;return Ple(c,l,v,x),n?c:c.node()};function Hst(e,t,r,n,i){r||(r=\"xy\"),typeof r==\"string\"&&(r=r.split(Fst)[0]);var a=Array.isArray(r)?r:[r],o,s=e._fullLayout,l=s.hoversubplots,u=s._plots||[],c=u[r],f=s._has(\"cartesian\"),h=t.hovermode||s.hovermode,d=(h||\"\").charAt(0)===\"x\",v=(h||\"\").charAt(0)===\"y\",x,b;if(f&&(d||v)&&l===\"axis\"){for(var p=a.length,E=0;E<p;E++)if(o=a[E],u[o]){x=wm.getFromId(e,o,\"x\"),b=wm.getFromId(e,o,\"y\");var k=(d?x:b)._subplotsWith;if(k&&k.length)for(var A=0;A<k.length;A++)Ist(a,k[A])}}if(c&&l!==\"single\"){var L=c.overlays.map(function(Ni){return Ni.id});a=a.concat(L)}for(var _=a.length,C=new Array(_),M=new Array(_),g=!1,P=0;P<_;P++)if(o=a[P],u[o])g=!0,C[P]=u[o].xaxis,M[P]=u[o].yaxis;else if(s[o]&&s[o]._subplot){var T=s[o]._subplot;C[P]=T.xaxis,M[P]=T.yaxis}else{Rf.warn(\"Unrecognized subplot: \"+o);return}if(h&&!g&&(h=\"closest\"),[\"x\",\"y\",\"closest\",\"x unified\",\"y unified\"].indexOf(h)===-1||!e.calcdata||e.querySelector(\".zoombox\")||e._dragging)return BL.unhoverRaw(e,t);var F=s.hoverdistance;F===-1&&(F=1/0);var q=s.spikedistance;q===-1&&(q=1/0);var V=[],H=[],X,G,N,W,re,ae,_e,Me,ke,ge,ie,Te,Ee,Ae={hLinePoint:null,vLinePoint:null},ze=!1;if(Array.isArray(t))for(h=\"array\",N=0;N<t.length;N++)re=e.calcdata[t[N].curveNumber||0],re&&(ae=re[0].trace,re[0].trace.hoverinfo!==\"skip\"&&(H.push(re),ae.orientation===\"h\"&&(ze=!0)));else{var Ce=e.calcdata.slice();for(Ce.sort(function(Ni,_n){var $i=Ni[0].trace.zorder||0,zn=_n[0].trace.zorder||0;return $i-zn}),W=0;W<Ce.length;W++)re=Ce[W],ae=re[0].trace,ae.hoverinfo!==\"skip\"&&Ag.isTraceInSubplots(ae,a)&&(H.push(re),ae.orientation===\"h\"&&(ze=!0));var me=!i,Re,ce;if(me)\"xpx\"in t?Re=t.xpx:Re=C[0]._length/2,\"ypx\"in t?ce=t.ypx:ce=M[0]._length/2;else{if(Dst.triggerHandler(e,\"plotly_beforehover\",t)===!1)return;var Ge=i.getBoundingClientRect();Re=t.clientX-Ge.left,ce=t.clientY-Ge.top,s._calcInverseTransform(e);var nt=Rf.apply3DTransform(s._invTransform)(Re,ce);if(Re=nt[0],ce=nt[1],Re<0||Re>C[0]._length||ce<0||ce>M[0]._length)return BL.unhoverRaw(e,t)}if(t.pointerX=Re+C[0]._offset,t.pointerY=ce+M[0]._offset,\"xval\"in t?X=Ag.flat(a,t.xval):X=Ag.p2c(C,Re),\"yval\"in t?G=Ag.flat(a,t.yval):G=Ag.p2c(M,ce),!Sy(X[0])||!Sy(G[0]))return Rf.warn(\"Fx.hover failed\",t,e),BL.unhoverRaw(e,t)}var ct=1/0;function qt(Ni,_n){for(W=0;W<H.length;W++)if(re=H[W],!(!re||!re[0]||!re[0].trace)&&(ae=re[0].trace,!(ae.visible!==!0||ae._length===0)&&[\"carpet\",\"contourcarpet\"].indexOf(ae._module.name)===-1)){if(ke=h,Ag.isUnifiedHover(ke)&&(ke=ke.charAt(0)),ae.type===\"splom\"?(Me=0,_e=a[Me]):(_e=Ag.getSubplot(ae),Me=a.indexOf(_e)),Te={cd:re,trace:ae,xa:C[Me],ya:M[Me],maxHoverDistance:F,maxSpikeDistance:q,index:!1,distance:Math.min(ct,F),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:sd.defaultLine,name:ae.name,x0:void 0,x1:void 0,y0:void 0,y1:void 0,xLabelVal:void 0,yLabelVal:void 0,zLabelVal:void 0,text:void 0},s[_e]&&(Te.subplot=s[_e]._subplot),s._splomScenes&&s._splomScenes[ae.uid]&&(Te.scene=s._splomScenes[ae.uid]),ke===\"array\"){var $i=t[W];\"pointNumber\"in $i?(Te.index=$i.pointNumber,ke=\"closest\"):(ke=\"\",\"xval\"in $i&&(ge=$i.xval,ke=\"x\"),\"yval\"in $i&&(ie=$i.yval,ke=ke?\"closest\":\"y\"))}else Ni!==void 0&&_n!==void 0?(ge=Ni,ie=_n):(ge=X[Me],ie=G[Me]);if(Ee=V.length,F!==0)if(ae._module&&ae._module.hoverPoints){var zn=ae._module.hoverPoints(Te,ge,ie,ke,{finiteRange:!0,hoverLayer:s._hoverlayer,hoversubplots:l,gd:e});if(zn)for(var Wn,It=0;It<zn.length;It++)Wn=zn[It],Sy(Wn.x0)&&Sy(Wn.y0)&&V.push(Zst(Wn,h))}else Rf.log(\"Unrecognized trace type in hover:\",ae);if(h===\"closest\"&&V.length>Ee&&(V.splice(0,Ee),ct=V[0].distance),f&&q!==0&&V.length===0){Te.distance=q,Te.index=!1;var ft=ae._module.hoverPoints(Te,ge,ie,\"closest\",{hoverLayer:s._hoverlayer});if(ft&&(ft=ft.filter(function(Vr){return Vr.spikeDistance<=q})),ft&&ft.length){var jt,Zt=ft.filter(function(Vr){return Vr.xa.showspikes&&Vr.xa.spikesnap!==\"hovered data\"});if(Zt.length){var yr=Zt[0];Sy(yr.x0)&&Sy(yr.y0)&&(jt=ot(yr),(!Ae.vLinePoint||Ae.vLinePoint.spikeDistance>jt.spikeDistance)&&(Ae.vLinePoint=jt))}var Fr=ft.filter(function(Vr){return Vr.ya.showspikes&&Vr.ya.spikesnap!==\"hovered data\"});if(Fr.length){var Zr=Fr[0];Sy(Zr.x0)&&Sy(Zr.y0)&&(jt=ot(Zr),(!Ae.hLinePoint||Ae.hLinePoint.spikeDistance>jt.spikeDistance)&&(Ae.hLinePoint=jt))}}}}}qt();function rt(Ni,_n,$i){for(var zn=null,Wn=1/0,It,ft=0;ft<Ni.length;ft++)x&&x._id!==Ni[ft].xa._id||b&&b._id!==Ni[ft].ya._id||(It=Ni[ft].spikeDistance,$i&&ft===0&&(It=-1/0),It<=Wn&&It<=_n&&(zn=Ni[ft],Wn=It));return zn}function ot(Ni){return Ni?{xa:Ni.xa,ya:Ni.ya,x:Ni.xSpike!==void 0?Ni.xSpike:(Ni.x0+Ni.x1)/2,y:Ni.ySpike!==void 0?Ni.ySpike:(Ni.y0+Ni.y1)/2,distance:Ni.distance,spikeDistance:Ni.spikeDistance,curveNumber:Ni.trace.index,color:Ni.color,pointNumber:Ni.index}:null}var Rt={fullLayout:s,container:s._hoverlayer,event:t},kt=e._spikepoints,Ct={vLinePoint:Ae.vLinePoint,hLinePoint:Ae.hLinePoint};e._spikepoints=Ct;var Yt=function(){var Ni=V.filter(function($i){return x&&x._id===$i.xa._id&&b&&b._id===$i.ya._id}),_n=V.filter(function($i){return!(x&&x._id===$i.xa._id&&b&&b._id===$i.ya._id)});Ni.sort(ble),_n.sort(ble),V=Ni.concat(_n),V=Yst(V,h)};Yt();var xr=h.charAt(0),er=(xr===\"x\"||xr===\"y\")&&V[0]&&Vst[V[0].trace.type];if(f&&q!==0&&V.length!==0){var Ke=V.filter(function(Ni){return Ni.ya.showspikes}),xt=rt(Ke,q,er);Ae.hLinePoint=ot(xt);var bt=V.filter(function(Ni){return Ni.xa.showspikes}),Lt=rt(bt,q,er);Ae.vLinePoint=ot(Lt)}if(V.length===0){var St=BL.unhoverRaw(e,t);return f&&(Ae.hLinePoint!==null||Ae.vLinePoint!==null)&&Ale(kt)&&Tle(e,Ae,Rt),St}if(f&&Ale(kt)&&Tle(e,Ae,Rt),Ag.isXYhover(ke)&&V[0].length!==0&&V[0].trace.type!==\"splom\"){var Et=V[0];xle[Et.trace.type]?V=V.filter(function(Ni){return Ni.trace.index===Et.trace.index}):V=[Et];var dt=V.length,Ht=Mle(\"x\",Et,s),$t=Mle(\"y\",Et,s);qt(Ht,$t);var fr=[],_r={},Br=0,Or=function(Ni){var _n=xle[Ni.trace.type]?kle(Ni):Ni.trace.index;if(!_r[_n])Br++,_r[_n]=Br,fr.push(Ni);else{var $i=_r[_n]-1,zn=fr[$i];$i>0&&Math.abs(Ni.distance)<Math.abs(zn.distance)&&(fr[$i]=Ni)}},Nr;for(Nr=0;Nr<dt;Nr++)Or(V[Nr]);for(Nr=V.length-1;Nr>dt-1;Nr--)Or(V[Nr]);V=fr,Yt()}var ut=e._hoverdata,Ne=[],Ye=Ile(e),Ve=Rle(e);for(N=0;N<V.length;N++){var Xe=V[N],ht=Ag.makeEventData(Xe,Xe.trace,Xe.cd);if(Xe.hovertemplate!==!1){var Le=!1;Xe.cd[Xe.index]&&Xe.cd[Xe.index].ht&&(Le=Xe.cd[Xe.index].ht),Xe.hovertemplate=Le||Xe.trace.hovertemplate||!1}if(Xe.xa&&Xe.ya){var xe=Xe.x0+Xe.xa._offset,Se=Xe.x1+Xe.xa._offset,lt=Xe.y0+Xe.ya._offset,Gt=Xe.y1+Xe.ya._offset,Vt=Math.min(xe,Se),ar=Math.max(xe,Se),Qr=Math.min(lt,Gt),ai=Math.max(lt,Gt);ht.bbox={x0:Vt+Ve,x1:ar+Ve,y0:Qr+Ye,y1:ai+Ye}}Xe.eventData=[ht],Ne.push(ht)}e._hoverdata=Ne;var jr=h===\"y\"&&(H.length>1||V.length>1)||h===\"closest\"&&ze&&V.length>1,ri=sd.combine(s.plot_bgcolor||sd.background,s.paper_bgcolor),bi=Cle(V,{gd:e,hovermode:h,rotateLabels:jr,bgColor:ri,container:s._hoverlayer,outerContainer:s._paper.node(),commonLabelOpts:s.hoverlabel,hoverdistance:s.hoverdistance}),nn=bi.hoverLabels;if(Ag.isUnifiedHover(h)||(jst(nn,jr,s,bi.commonLabelBoundingBox),Ple(nn,jr,s._invScaleX,s._invScaleY)),i&&i.tagName){var Wi=U3.getComponentMethod(\"annotations\",\"hasClickToShow\")(e,Ne);zst(Db.select(i),Wi?\"pointer\":\"\")}!i||n||!Xst(e,t,ut)||(ut&&e.emit(\"plotly_unhover\",{event:t,points:ut}),e.emit(\"plotly_hover\",{event:t,points:e._hoverdata,xaxes:C,yaxes:M,xvals:X,yvals:G}))}function kle(e){return[e.trace.index,e.index,e.x0,e.y0,e.name,e.attr,e.xa?e.xa._id:\"\",e.ya?e.ya._id:\"\"].join(\",\")}var Gst=/<extra>([\\s\\S]*)<\\/extra>/;function Cle(e,t){var r=t.gd,n=r._fullLayout,i=t.hovermode,a=t.rotateLabels,o=t.bgColor,s=t.container,l=t.outerContainer,u=t.commonLabelOpts||{};if(e.length===0)return[[]];var c=t.fontFamily||zb.HOVERFONT,f=t.fontSize||zb.HOVERFONTSIZE,h=t.fontWeight||n.font.weight,d=t.fontStyle||n.font.style,v=t.fontVariant||n.font.variant,x=t.fontTextcase||n.font.textcase,b=t.fontLineposition||n.font.lineposition,p=t.fontShadow||n.font.shadow,E=e[0],k=E.xa,A=E.ya,L=i.charAt(0),_=L+\"Label\",C=E[_];if(C===void 0&&k.type===\"multicategory\")for(var M=0;M<e.length&&(C=e[M][_],C===void 0);M++);var g=N3(r,l),P=g.top,T=g.width,F=g.height,q=C!==void 0&&E.distance<=t.hoverdistance&&(i===\"x\"||i===\"y\");if(q){var V=!0,H,X;for(H=0;H<e.length;H++)if(V&&e[H].zLabel===void 0&&(V=!1),X=e[H].hoverinfo||e[H].trace.hoverinfo,X){var G=Array.isArray(X)?X:X.split(\"+\");if(G.indexOf(\"all\")===-1&&G.indexOf(i)===-1){q=!1;break}}V&&(q=!1)}var N=s.selectAll(\"g.axistext\").data(q?[0]:[]);N.enter().append(\"g\").classed(\"axistext\",!0),N.exit().remove();var W={minX:0,maxX:0,minY:0,maxY:0};if(N.each(function(){var bt=Db.select(this),Lt=Rf.ensureSingle(bt,\"path\",\"\",function(Vt){Vt.style({\"stroke-width\":\"1px\"})}),St=Rf.ensureSingle(bt,\"text\",\"\",function(Vt){Vt.attr(\"data-notex\",1)}),Et=u.bgcolor||sd.defaultLine,dt=u.bordercolor||sd.contrast(Et),Ht=sd.contrast(Et),$t=u.font,fr={weight:$t.weight||h,style:$t.style||d,variant:$t.variant||v,textcase:$t.textcase||x,lineposition:$t.lineposition||b,shadow:$t.shadow||p,family:$t.family||c,size:$t.size||f,color:$t.color||Ht};Lt.style({fill:Et,stroke:dt}),St.text(C).call(bm.font,fr).call(A0.positionText,0,0).call(A0.convertToTspans,r),bt.attr(\"transform\",\"\");var _r=N3(r,St.node()),Br,Or;if(i===\"x\"){var Nr=k.side===\"top\"?\"-\":\"\";St.attr(\"text-anchor\",\"middle\").call(A0.positionText,0,k.side===\"top\"?P-_r.bottom-Bc-Us:P-_r.top+Bc+Us),Br=k._offset+(E.x0+E.x1)/2,Or=A._offset+(k.side===\"top\"?0:A._length);var ut=_r.width/2+Us,Ne=Br;Br<ut?Ne=ut:Br>n.width-ut&&(Ne=n.width-ut),Lt.attr(\"d\",\"M\"+(Br-Ne)+\",0L\"+(Br-Ne+Bc)+\",\"+Nr+Bc+\"H\"+ut+\"v\"+Nr+(Us*2+_r.height)+\"H\"+-ut+\"V\"+Nr+Bc+\"H\"+(Br-Ne-Bc)+\"Z\"),Br=Ne,W.minX=Br-ut,W.maxX=Br+ut,k.side===\"top\"?(W.minY=Or-(Us*2+_r.height),W.maxY=Or-Us):(W.minY=Or+Us,W.maxY=Or+(Us*2+_r.height))}else{var Ye,Ve,Xe;A.side===\"right\"?(Ye=\"start\",Ve=1,Xe=\"\",Br=k._offset+k._length):(Ye=\"end\",Ve=-1,Xe=\"-\",Br=k._offset),Or=A._offset+(E.y0+E.y1)/2,St.attr(\"text-anchor\",Ye),Lt.attr(\"d\",\"M0,0L\"+Xe+Bc+\",\"+Bc+\"V\"+(Us+_r.height/2)+\"h\"+Xe+(Us*2+_r.width)+\"V-\"+(Us+_r.height/2)+\"H\"+Xe+Bc+\"V-\"+Bc+\"Z\"),W.minY=Or-(Us+_r.height/2),W.maxY=Or+(Us+_r.height/2),A.side===\"right\"?(W.minX=Br+Bc,W.maxX=Br+Bc+(Us*2+_r.width)):(W.minX=Br-Bc-(Us*2+_r.width),W.maxX=Br-Bc);var ht=_r.height/2,Le=P-_r.top-ht,xe=\"clip\"+n._uid+\"commonlabel\"+A._id,Se;if(Br<_r.width+2*Us+Bc){Se=\"M-\"+(Bc+Us)+\"-\"+ht+\"h-\"+(_r.width-Us)+\"V\"+ht+\"h\"+(_r.width-Us)+\"Z\";var lt=_r.width-Br+Us;A0.positionText(St,lt,Le),Ye===\"end\"&&St.selectAll(\"tspan\").each(function(){var Vt=Db.select(this),ar=bm.tester.append(\"text\").text(Vt.text()).call(bm.font,fr),Qr=N3(r,ar.node());Math.round(Qr.width)<Math.round(_r.width)&&Vt.attr(\"x\",lt-Qr.width),ar.remove()})}else A0.positionText(St,Ve*(Us+Bc),Le),Se=null;var Gt=n._topclips.selectAll(\"#\"+xe).data(Se?[0]:[]);Gt.enter().append(\"clipPath\").attr(\"id\",xe).append(\"path\"),Gt.exit().remove(),Gt.select(\"path\").attr(\"d\",Se),bm.setClipUrl(St,Se?xe:null,r)}bt.attr(\"transform\",DB(Br,Or))}),Ag.isUnifiedHover(i)){s.selectAll(\"g.hovertext\").remove();var re=e.filter(function(bt){return bt.hoverinfo!==\"none\"});if(re.length===0)return[];var ae=n.hoverlabel,_e=ae.font,Me={showlegend:!0,legend:{title:{text:C,font:_e},font:_e,bgcolor:ae.bgcolor,bordercolor:ae.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:n.legend?n.legend.traceorder:void 0,orientation:\"v\"}},ke={font:_e};qst(Me,ke,r._fullData);var ge=ke.legend;ge.entries=[];for(var ie=0;ie<re.length;ie++){var Te=re[ie];if(Te.hoverinfo!==\"none\"){var Ee=wle(Te,!0,i,n,C),Ae=Ee[0],ze=Ee[1];Te.name=ze,ze!==\"\"?Te.text=ze+\" : \"+Ae:Te.text=Ae;var Ce=Te.cd[Te.index];Ce&&(Ce.mc&&(Te.mc=Ce.mc),Ce.mcc&&(Te.mc=Ce.mcc),Ce.mlc&&(Te.mlc=Ce.mlc),Ce.mlcc&&(Te.mlc=Ce.mlcc),Ce.mlw&&(Te.mlw=Ce.mlw),Ce.mrc&&(Te.mrc=Ce.mrc),Ce.dir&&(Te.dir=Ce.dir)),Te._distinct=!0,ge.entries.push([Te])}}ge.entries.sort(function(bt,Lt){return bt[0].trace.index-Lt[0].trace.index}),ge.layer=s,ge._inHover=!0,ge._groupTitleFont=ae.grouptitlefont,Ost(r,ge);var me=s.select(\"g.legend\"),Re=N3(r,me.node()),ce=Re.width+2*Us,Ge=Re.height+2*Us,nt=re[0],ct=(nt.x0+nt.x1)/2,qt=(nt.y0+nt.y1)/2,rt=!(U3.traceIs(nt.trace,\"bar-like\")||U3.traceIs(nt.trace,\"box-violin\")),ot,Rt;L===\"y\"?rt?(Rt=qt-Us,ot=qt+Us):(Rt=Math.min.apply(null,re.map(function(bt){return Math.min(bt.y0,bt.y1)})),ot=Math.max.apply(null,re.map(function(bt){return Math.max(bt.y0,bt.y1)}))):Rt=ot=Rf.mean(re.map(function(bt){return(bt.y0+bt.y1)/2}))-Ge/2;var kt,Ct;L===\"x\"?rt?(kt=ct+Us,Ct=ct-Us):(kt=Math.max.apply(null,re.map(function(bt){return Math.max(bt.x0,bt.x1)})),Ct=Math.min.apply(null,re.map(function(bt){return Math.min(bt.x0,bt.x1)}))):kt=Ct=Rf.mean(re.map(function(bt){return(bt.x0+bt.x1)/2}))-ce/2;var Yt=k._offset,xr=A._offset;ot+=xr,kt+=Yt,Ct+=Yt-ce,Rt+=xr-Ge;var er,Ke;return kt+ce<T&&kt>=0?er=kt:Ct+ce<T&&Ct>=0?er=Ct:Yt+ce<T?er=Yt:kt-ct<ct-Ct+ce?er=T-ce:er=0,er+=Us,ot+Ge<F&&ot>=0?Ke=ot:Rt+Ge<F&&Rt>=0?Ke=Rt:xr+Ge<F?Ke=xr:ot-qt<qt-Rt+Ge?Ke=F-Ge:Ke=0,Ke+=Us,me.attr(\"transform\",DB(er-1,Ke-1)),me}var xt=s.selectAll(\"g.hovertext\").data(e,function(bt){return kle(bt)});return xt.enter().append(\"g\").classed(\"hovertext\",!0).each(function(){var bt=Db.select(this);bt.append(\"rect\").call(sd.fill,sd.addOpacity(o,.8)),bt.append(\"text\").classed(\"name\",!0),bt.append(\"path\").style(\"stroke-width\",\"1px\"),bt.append(\"text\").classed(\"nums\",!0).call(bm.font,{weight:h,style:d,variant:v,textcase:x,lineposition:b,shadow:p,family:c,size:f})}),xt.exit().remove(),xt.each(function(bt){var Lt=Db.select(this).attr(\"transform\",\"\"),St=bt.color;Array.isArray(St)&&(St=St[bt.eventData[0].pointNumber]);var Et=bt.bgcolor||St,dt=sd.combine(sd.opacity(Et)?Et:sd.defaultLine,o),Ht=sd.combine(sd.opacity(St)?St:sd.defaultLine,o),$t=bt.borderColor||sd.contrast(dt),fr=wle(bt,q,i,n,C,Lt),_r=fr[0],Br=fr[1],Or=Lt.select(\"text.nums\").call(bm.font,{family:bt.fontFamily||c,size:bt.fontSize||f,color:bt.fontColor||$t,weight:bt.fontWeight||h,style:bt.fontStyle||d,variant:bt.fontVariant||v,textcase:bt.fontTextcase||x,lineposition:bt.fontLineposition||b,shadow:bt.fontShadow||p}).text(_r).attr(\"data-notex\",1).call(A0.positionText,0,0).call(A0.convertToTspans,r),Nr=Lt.select(\"text.name\"),ut=0,Ne=0;if(Br&&Br!==_r){Nr.call(bm.font,{family:bt.fontFamily||c,size:bt.fontSize||f,color:Ht,weight:bt.fontWeight||h,style:bt.fontStyle||d,variant:bt.fontVariant||v,textcase:bt.fontTextcase||x,lineposition:bt.fontLineposition||b,shadow:bt.fontShadow||p}).text(Br).attr(\"data-notex\",1).call(A0.positionText,0,0).call(A0.convertToTspans,r);var Ye=N3(r,Nr.node());ut=Ye.width+2*Us,Ne=Ye.height+2*Us}else Nr.remove(),Lt.select(\"rect\").remove();Lt.select(\"path\").style({fill:dt,stroke:$t});var Ve=bt.xa._offset+(bt.x0+bt.x1)/2,Xe=bt.ya._offset+(bt.y0+bt.y1)/2,ht=Math.abs(bt.x1-bt.x0),Le=Math.abs(bt.y1-bt.y0),xe=N3(r,Or.node()),Se=xe.width/n._invScaleX,lt=xe.height/n._invScaleY;bt.ty0=(P-xe.top)/n._invScaleY,bt.bx=Se+2*Us,bt.by=Math.max(lt+2*Us,Ne),bt.anchor=\"start\",bt.txwidth=Se,bt.tx2width=ut,bt.offset=0;var Gt=(Se+Bc+Us+ut)*n._invScaleX,Vt,ar;if(a)bt.pos=Ve,Vt=Xe+Le/2+Gt<=F,ar=Xe-Le/2-Gt>=0,(bt.idealAlign===\"top\"||!Vt)&&ar?(Xe-=Le/2,bt.anchor=\"end\"):Vt?(Xe+=Le/2,bt.anchor=\"start\"):bt.anchor=\"middle\",bt.crossPos=Xe;else{if(bt.pos=Xe,Vt=Ve+ht/2+Gt<=T,ar=Ve-ht/2-Gt>=0,(bt.idealAlign===\"left\"||!Vt)&&ar)Ve-=ht/2,bt.anchor=\"end\";else if(Vt)Ve+=ht/2,bt.anchor=\"start\";else{bt.anchor=\"middle\";var Qr=Gt/2,ai=Ve+Qr-T,jr=Ve-Qr;ai>0&&(Ve-=ai),jr<0&&(Ve+=-jr)}bt.crossPos=Ve}Or.attr(\"text-anchor\",bt.anchor),ut&&Nr.attr(\"text-anchor\",bt.anchor),Lt.attr(\"transform\",DB(Ve,Xe)+(a?Rst(Ele):\"\"))}),{hoverLabels:xt,commonLabelBoundingBox:W}}function wle(e,t,r,n,i,a){var o=\"\",s=\"\";e.nameOverride!==void 0&&(e.name=e.nameOverride),e.name&&(e.trace._meta&&(e.name=Rf.templateString(e.name,e.trace._meta)),o=Sle(e.name,e.nameLength));var l=r.charAt(0),u=l===\"x\"?\"y\":\"x\";e.zLabel!==void 0?(e.xLabel!==void 0&&(s+=\"x: \"+e.xLabel+\"<br>\"),e.yLabel!==void 0&&(s+=\"y: \"+e.yLabel+\"<br>\"),e.trace.type!==\"choropleth\"&&e.trace.type!==\"choroplethmapbox\"&&e.trace.type!==\"choroplethmap\"&&(s+=(s?\"z: \":\"\")+e.zLabel)):t&&e[l+\"Label\"]===i?s=e[u+\"Label\"]||\"\":e.xLabel===void 0?e.yLabel!==void 0&&e.trace.type!==\"scattercarpet\"&&(s=e.yLabel):e.yLabel===void 0?s=e.xLabel:s=\"(\"+e.xLabel+\", \"+e.yLabel+\")\",(e.text||e.text===0)&&!Array.isArray(e.text)&&(s+=(s?\"<br>\":\"\")+e.text),e.extraText!==void 0&&(s+=(s?\"<br>\":\"\")+e.extraText),a&&s===\"\"&&!e.hovertemplate&&(o===\"\"&&a.remove(),s=o);var c=e.hovertemplate||!1;if(c){var f=e.hovertemplateLabels||e;e[l+\"Label\"]!==i&&(f[l+\"other\"]=f[l+\"Val\"],f[l+\"otherLabel\"]=f[l+\"Label\"]),s=Rf.hovertemplateString(c,f,n._d3locale,e.eventData[0]||{},e.trace._meta),s=s.replace(Gst,function(h,d){return o=Sle(d,e.nameLength),\"\"})}return[s,o]}function jst(e,t,r,n){var i=t?\"xa\":\"ya\",a=t?\"ya\":\"xa\",o=0,s=1,l=e.size(),u=new Array(l),c=0,f=n.minX,h=n.maxX,d=n.minY,v=n.maxY,x=function(X){return X*r._invScaleX},b=function(X){return X*r._invScaleY};e.each(function(X){var G=X[i],N=X[a],W=G._id.charAt(0)===\"x\",re=G.range;c===0&&re&&re[0]>re[1]!==W&&(s=-1);var ae=0,_e=W?r.width:r.height;if(r.hovermode===\"x\"||r.hovermode===\"y\"){var Me=Lle(X,t),ke=X.anchor,ge=ke===\"end\"?-1:1,ie,Te;if(ke===\"middle\")ie=X.crossPos+(W?b(Me.y-X.by/2):x(X.bx/2+X.tx2width/2)),Te=ie+(W?b(X.by):x(X.bx));else if(W)ie=X.crossPos+b(Bc+Me.y)-b(X.by/2-Bc),Te=ie+b(X.by);else{var Ee=x(ge*Bc+Me.x),Ae=Ee+x(ge*X.bx);ie=X.crossPos+Math.min(Ee,Ae),Te=X.crossPos+Math.max(Ee,Ae)}W?d!==void 0&&v!==void 0&&Math.min(Te,v)-Math.max(ie,d)>1&&(N.side===\"left\"?(ae=N._mainLinePosition,_e=r.width):_e=N._mainLinePosition):f!==void 0&&h!==void 0&&Math.min(Te,h)-Math.max(ie,f)>1&&(N.side===\"top\"?(ae=N._mainLinePosition,_e=r.height):_e=N._mainLinePosition)}u[c++]=[{datum:X,traceIndex:X.trace.index,dp:0,pos:X.pos,posref:X.posref,size:X.by*(W?Bst:1)/2,pmin:ae,pmax:_e}]}),u.sort(function(X,G){return X[0].posref-G[0].posref||s*(G[0].traceIndex-X[0].traceIndex)});var p,E,k,A,L,_,C;function M(X){var G=X[0],N=X[X.length-1];if(E=G.pmin-G.pos-G.dp+G.size,k=N.pos+N.dp+N.size-G.pmax,E>.01){for(L=X.length-1;L>=0;L--)X[L].dp+=E;p=!1}if(!(k<.01)){if(E<-.01){for(L=X.length-1;L>=0;L--)X[L].dp-=k;p=!1}if(p){var W=0;for(A=0;A<X.length;A++)_=X[A],_.pos+_.dp+_.size>G.pmax&&W++;for(A=X.length-1;A>=0&&!(W<=0);A--)_=X[A],_.pos>G.pmax-1&&(_.del=!0,W--);for(A=0;A<X.length&&!(W<=0);A++)if(_=X[A],_.pos<G.pmin+1)for(_.del=!0,W--,k=_.size*2,L=X.length-1;L>=0;L--)X[L].dp-=k;for(A=X.length-1;A>=0&&!(W<=0);A--)_=X[A],_.pos+_.dp+_.size>G.pmax&&(_.del=!0,W--)}}}for(;!p&&o<=l;){for(o++,p=!0,A=0;A<u.length-1;){var g=u[A],P=u[A+1],T=g[g.length-1],F=P[0];if(E=T.pos+T.dp+T.size-F.pos-F.dp+F.size,E>.01){for(L=P.length-1;L>=0;L--)P[L].dp+=E;for(g.push.apply(g,P),u.splice(A+1,1),C=0,L=g.length-1;L>=0;L--)C+=g[L].dp;for(k=C/g.length,L=g.length-1;L>=0;L--)g[L].dp-=k;p=!1}else A++}u.forEach(M)}for(A=u.length-1;A>=0;A--){var q=u[A];for(L=q.length-1;L>=0;L--){var V=q[L],H=V.datum;H.offset=V.dp,H.del=V.del}}}function Lle(e,t){var r=0,n=e.offset;return t&&(n*=-Ust,r=e.offset*Nst),{x:r,y:n}}function Wst(e){var t={start:1,end:-1,middle:0}[e.anchor],r=t*(Bc+Us),n=r+t*(e.txwidth+Us),i=e.anchor===\"middle\";return i&&(r-=e.tx2width/2,n+=e.txwidth/2+Us),{alignShift:t,textShiftX:r,text2ShiftX:n}}function Ple(e,t,r,n){var i=function(o){return o*r},a=function(o){return o*n};e.each(function(o){var s=Db.select(this);if(o.del)return s.remove();var l=s.select(\"text.nums\"),u=o.anchor,c=u===\"end\"?-1:1,f=Wst(o),h=Lle(o,t),d=h.x,v=h.y,x=u===\"middle\";s.select(\"path\").attr(\"d\",x?\"M-\"+i(o.bx/2+o.tx2width/2)+\",\"+a(v-o.by/2)+\"h\"+i(o.bx)+\"v\"+a(o.by)+\"h-\"+i(o.bx)+\"Z\":\"M0,0L\"+i(c*Bc+d)+\",\"+a(Bc+v)+\"v\"+a(o.by/2-Bc)+\"h\"+i(c*o.bx)+\"v-\"+a(o.by)+\"H\"+i(c*Bc+d)+\"V\"+a(v-Bc)+\"Z\");var b=d+f.textShiftX,p=v+o.ty0-o.by/2+Us,E=o.textAlign||\"auto\";E!==\"auto\"&&(E===\"left\"&&u!==\"start\"?(l.attr(\"text-anchor\",\"start\"),b=x?-o.bx/2-o.tx2width/2+Us:-o.bx-Us):E===\"right\"&&u!==\"end\"&&(l.attr(\"text-anchor\",\"end\"),b=x?o.bx/2-o.tx2width/2-Us:o.bx+Us)),l.call(A0.positionText,i(b),a(p)),o.tx2width&&(s.select(\"text.name\").call(A0.positionText,i(f.text2ShiftX+f.alignShift*Us+d),a(v+o.ty0-o.by/2+Us)),s.select(\"rect\").call(bm.setRect,i(f.text2ShiftX+(f.alignShift-1)*o.tx2width/2+d),a(v-o.by/2-1),i(o.tx2width),a(o.by+2)))})}function Zst(e,t){var r=e.index,n=e.trace||{},i=e.cd[0],a=e.cd[r]||{};function o(h){return h||Sy(h)&&h===0}var s=Array.isArray(r)?function(h,d){var v=Rf.castOption(i,r,h);return o(v)?v:Rf.extractOption({},n,\"\",d)}:function(h,d){return Rf.extractOption(a,n,h,d)};function l(h,d,v){var x=s(d,v);o(x)&&(e[h]=x)}if(l(\"hoverinfo\",\"hi\",\"hoverinfo\"),l(\"bgcolor\",\"hbg\",\"hoverlabel.bgcolor\"),l(\"borderColor\",\"hbc\",\"hoverlabel.bordercolor\"),l(\"fontFamily\",\"htf\",\"hoverlabel.font.family\"),l(\"fontSize\",\"hts\",\"hoverlabel.font.size\"),l(\"fontColor\",\"htc\",\"hoverlabel.font.color\"),l(\"fontWeight\",\"htw\",\"hoverlabel.font.weight\"),l(\"fontStyle\",\"hty\",\"hoverlabel.font.style\"),l(\"fontVariant\",\"htv\",\"hoverlabel.font.variant\"),l(\"nameLength\",\"hnl\",\"hoverlabel.namelength\"),l(\"textAlign\",\"hta\",\"hoverlabel.align\"),e.posref=t===\"y\"||t===\"closest\"&&n.orientation===\"h\"?e.xa._offset+(e.x0+e.x1)/2:e.ya._offset+(e.y0+e.y1)/2,e.x0=Rf.constrain(e.x0,0,e.xa._length),e.x1=Rf.constrain(e.x1,0,e.xa._length),e.y0=Rf.constrain(e.y0,0,e.ya._length),e.y1=Rf.constrain(e.y1,0,e.ya._length),e.xLabelVal!==void 0&&(e.xLabel=\"xLabel\"in e?e.xLabel:wm.hoverLabelText(e.xa,e.xLabelVal,n.xhoverformat),e.xVal=e.xa.c2d(e.xLabelVal)),e.yLabelVal!==void 0&&(e.yLabel=\"yLabel\"in e?e.yLabel:wm.hoverLabelText(e.ya,e.yLabelVal,n.yhoverformat),e.yVal=e.ya.c2d(e.yLabelVal)),e.zLabelVal!==void 0&&e.zLabel===void 0&&(e.zLabel=String(e.zLabelVal)),!isNaN(e.xerr)&&!(e.xa.type===\"log\"&&e.xerr<=0)){var u=wm.tickText(e.xa,e.xa.c2l(e.xerr),\"hover\").text;e.xerrneg!==void 0?e.xLabel+=\" +\"+u+\" / -\"+wm.tickText(e.xa,e.xa.c2l(e.xerrneg),\"hover\").text:e.xLabel+=\" \\xB1 \"+u,t===\"x\"&&(e.distance+=1)}if(!isNaN(e.yerr)&&!(e.ya.type===\"log\"&&e.yerr<=0)){var c=wm.tickText(e.ya,e.ya.c2l(e.yerr),\"hover\").text;e.yerrneg!==void 0?e.yLabel+=\" +\"+c+\" / -\"+wm.tickText(e.ya,e.ya.c2l(e.yerrneg),\"hover\").text:e.yLabel+=\" \\xB1 \"+c,t===\"y\"&&(e.distance+=1)}var f=e.hoverinfo||e.trace.hoverinfo;return f&&f!==\"all\"&&(f=Array.isArray(f)?f:f.split(\"+\"),f.indexOf(\"x\")===-1&&(e.xLabel=void 0),f.indexOf(\"y\")===-1&&(e.yLabel=void 0),f.indexOf(\"z\")===-1&&(e.zLabel=void 0),f.indexOf(\"text\")===-1&&(e.text=void 0),f.indexOf(\"name\")===-1&&(e.name=void 0)),e}function Tle(e,t,r){var n=r.container,i=r.fullLayout,a=i._size,o=r.event,s=!!t.hLinePoint,l=!!t.vLinePoint,u,c;if(n.selectAll(\".spikeline\").remove(),!!(l||s)){var f=sd.combine(i.plot_bgcolor,i.paper_bgcolor);if(s){var h=t.hLinePoint,d,v;u=h&&h.xa,c=h&&h.ya;var x=c.spikesnap;x===\"cursor\"?(d=o.pointerX,v=o.pointerY):(d=u._offset+h.x,v=c._offset+h.y);var b=_le.readability(h.color,f)<1.5?sd.contrast(f):h.color,p=c.spikemode,E=c.spikethickness,k=c.spikecolor||b,A=wm.getPxPosition(e,c),L,_;if(p.indexOf(\"toaxis\")!==-1||p.indexOf(\"across\")!==-1){if(p.indexOf(\"toaxis\")!==-1&&(L=A,_=d),p.indexOf(\"across\")!==-1){var C=c._counterDomainMin,M=c._counterDomainMax;c.anchor===\"free\"&&(C=Math.min(C,c.position),M=Math.max(M,c.position)),L=a.l+C*a.w,_=a.l+M*a.w}n.insert(\"line\",\":first-child\").attr({x1:L,x2:_,y1:v,y2:v,\"stroke-width\":E,stroke:k,\"stroke-dasharray\":bm.dashStyle(c.spikedash,E)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),n.insert(\"line\",\":first-child\").attr({x1:L,x2:_,y1:v,y2:v,\"stroke-width\":E+2,stroke:f}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}p.indexOf(\"marker\")!==-1&&n.insert(\"circle\",\":first-child\").attr({cx:A+(c.side!==\"right\"?E:-E),cy:v,r:E,fill:k}).classed(\"spikeline\",!0)}if(l){var g=t.vLinePoint,P,T;u=g&&g.xa,c=g&&g.ya;var F=u.spikesnap;F===\"cursor\"?(P=o.pointerX,T=o.pointerY):(P=u._offset+g.x,T=c._offset+g.y);var q=_le.readability(g.color,f)<1.5?sd.contrast(f):g.color,V=u.spikemode,H=u.spikethickness,X=u.spikecolor||q,G=wm.getPxPosition(e,u),N,W;if(V.indexOf(\"toaxis\")!==-1||V.indexOf(\"across\")!==-1){if(V.indexOf(\"toaxis\")!==-1&&(N=G,W=T),V.indexOf(\"across\")!==-1){var re=u._counterDomainMin,ae=u._counterDomainMax;u.anchor===\"free\"&&(re=Math.min(re,u.position),ae=Math.max(ae,u.position)),N=a.t+(1-ae)*a.h,W=a.t+(1-re)*a.h}n.insert(\"line\",\":first-child\").attr({x1:P,x2:P,y1:N,y2:W,\"stroke-width\":H,stroke:X,\"stroke-dasharray\":bm.dashStyle(u.spikedash,H)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),n.insert(\"line\",\":first-child\").attr({x1:P,x2:P,y1:N,y2:W,\"stroke-width\":H+2,stroke:f}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}V.indexOf(\"marker\")!==-1&&n.insert(\"circle\",\":first-child\").attr({cx:P,cy:G-(u.side!==\"top\"?H:-H),r:H,fill:X}).classed(\"spikeline\",!0)}}}function Xst(e,t,r){if(!r||r.length!==e._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=e._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}function Ale(e,t){return!t||t.vLinePoint!==e._spikepoints.vLinePoint||t.hLinePoint!==e._spikepoints.hLinePoint}function Sle(e,t){return A0.plainText(e||\"\",{len:t,allowedTags:[\"br\",\"sub\",\"sup\",\"b\",\"i\",\"em\",\"s\",\"u\"]})}function Yst(e,t){for(var r=t.charAt(0),n=[],i=[],a=[],o=0;o<e.length;o++){var s=e[o];U3.traceIs(s.trace,\"bar-like\")||U3.traceIs(s.trace,\"box-violin\")?a.push(s):s.trace[r+\"period\"]?i.push(s):n.push(s)}return n.concat(i).concat(a)}function Mle(e,t,r){var n=t[e+\"a\"],i=t[e+\"Val\"],a=t.cd[0];if(n.type===\"category\"||n.type===\"multicategory\")i=n._categoriesMap[i];else if(n.type===\"date\"){var o=t.trace[e+\"periodalignment\"];if(o){var s=t.cd[t.index],l=s[e+\"Start\"];l===void 0&&(l=s[e]);var u=s[e+\"End\"];u===void 0&&(u=s[e]);var c=u-l;o===\"end\"?i+=c:o===\"middle\"&&(i+=c/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&(r.boxmode===\"group\"||r.violinmode===\"group\")&&(i+=a.t.dPos),i}function Ile(e){return e.offsetTop+e.clientTop}function Rle(e){return e.offsetLeft+e.clientLeft}function N3(e,t){var r=e._fullLayout,n=t.getBoundingClientRect(),i=n.left,a=n.top,o=i+n.width,s=a+n.height,l=Rf.apply3DTransform(r._invTransform)(i,a),u=Rf.apply3DTransform(r._invTransform)(o,s),c=l[0],f=l[1],h=u[0],d=u[1];return{x:c,y:f,width:h-c,height:d-f,top:Math.min(f,d),left:Math.min(c,h),right:Math.max(c,h),bottom:Math.max(f,d)}}});var oM=ye((Zrr,Dle)=>{\"use strict\";var Kst=Mr(),Jst=va(),$st=rp().isUnifiedHover;Dle.exports=function(t,r,n,i){i=i||{};var a=r.legend;function o(s){i.font[s]||(i.font[s]=a?r.legend.font[s]:r.font[s])}r&&$st(r.hovermode)&&(i.font||(i.font={}),o(\"size\"),o(\"family\"),o(\"color\"),o(\"weight\"),o(\"style\"),o(\"variant\"),a?(i.bgcolor||(i.bgcolor=Jst.combine(r.legend.bgcolor,r.paper_bgcolor)),i.bordercolor||(i.bordercolor=r.legend.bordercolor)):i.bgcolor||(i.bgcolor=r.paper_bgcolor)),n(\"hoverlabel.bgcolor\",i.bgcolor),n(\"hoverlabel.bordercolor\",i.bordercolor),n(\"hoverlabel.namelength\",i.namelength),Kst.coerceFont(n,\"hoverlabel.font\",i.font),n(\"hoverlabel.align\",i.align)}});var Fle=ye((Xrr,zle)=>{\"use strict\";var Qst=Mr(),elt=oM(),tlt=N1();zle.exports=function(t,r){function n(i,a){return Qst.coerce(t,r,tlt,i,a)}elt(t,r,n)}});var Ble=ye((Yrr,Ole)=>{\"use strict\";var qle=Mr(),rlt=i3(),ilt=oM();Ole.exports=function(t,r,n,i){function a(s,l){return qle.coerce(t,r,rlt,s,l)}var o=qle.extendFlat({},i.hoverlabel);r.hovertemplate&&(o.namelength=-1),ilt(t,r,a,o)}});var OB=ye((Krr,Nle)=>{\"use strict\";var nlt=Mr(),alt=N1();Nle.exports=function(t,r){function n(i,a){return r[i]!==void 0?r[i]:nlt.coerce(t,r,alt,i,a)}return n(\"clickmode\"),n(\"hoversubplots\"),n(\"hovermode\")}});var Hle=ye((Jrr,Vle)=>{\"use strict\";var Ule=Mr(),olt=N1(),slt=OB(),llt=oM();Vle.exports=function(t,r){function n(c,f){return Ule.coerce(t,r,olt,c,f)}var i=slt(t,r);i&&(n(\"hoverdistance\"),n(\"spikedistance\"));var a=n(\"dragmode\");a===\"select\"&&n(\"selectdirection\");var o=r._has(\"mapbox\"),s=r._has(\"map\"),l=r._has(\"geo\"),u=r._basePlotModules.length;r.dragmode===\"zoom\"&&((o||s||l)&&u===1||(o||s)&&l&&u===2)&&(r.dragmode=\"pan\"),llt(t,r,n),Ule.coerceFont(n,\"hoverlabel.grouptitlefont\",r.hoverlabel.font)}});var Wle=ye(($rr,jle)=>{\"use strict\";var BB=Mr(),Gle=ba();jle.exports=function(t){var r=t.calcdata,n=t._fullLayout;function i(u){return function(c){return BB.coerceHoverinfo({hoverinfo:c},{_module:u._module},n)}}for(var a=0;a<r.length;a++){var o=r[a],s=o[0].trace;if(!Gle.traceIs(s,\"pie-like\")){var l=Gle.traceIs(s,\"2dMap\")?ult:BB.fillArray;l(s.hoverinfo,o,\"hi\",i(s)),s.hovertemplate&&l(s.hovertemplate,o,\"ht\"),s.hoverlabel&&(l(s.hoverlabel.bgcolor,o,\"hbg\"),l(s.hoverlabel.bordercolor,o,\"hbc\"),l(s.hoverlabel.font.size,o,\"hts\"),l(s.hoverlabel.font.color,o,\"htc\"),l(s.hoverlabel.font.family,o,\"htf\"),l(s.hoverlabel.font.weight,o,\"htw\"),l(s.hoverlabel.font.style,o,\"hty\"),l(s.hoverlabel.font.variant,o,\"htv\"),l(s.hoverlabel.namelength,o,\"hnl\"),l(s.hoverlabel.align,o,\"hta\"))}}};function ult(e,t,r,n){n=n||BB.identity,Array.isArray(e)&&(t[0][r]=n(e))}});var Xle=ye((Qrr,Zle)=>{\"use strict\";var clt=ba(),flt=qB().hover;Zle.exports=function(t,r,n){var i=clt.getComponentMethod(\"annotations\",\"onClick\")(t,t._hoverdata);n!==void 0&&flt(t,r,n,!0);function a(){t.emit(\"plotly_click\",{points:t._hoverdata,event:r})}t._hoverdata&&r&&r.target&&(i&&i.then?i.then(a):a(),r.stopImmediatePropagation&&r.stopImmediatePropagation())}});var Nc=ye((eir,Jle)=>{\"use strict\";var hlt=xa(),NL=Mr(),dlt=gv(),sM=rp(),Yle=N1(),Kle=qB();Jle.exports={moduleType:\"component\",name:\"fx\",constants:IS(),schema:{layout:Yle},attributes:i3(),layoutAttributes:Yle,supplyLayoutGlobalDefaults:Fle(),supplyDefaults:Ble(),supplyLayoutDefaults:Hle(),calc:Wle(),getDistanceFunction:sM.getDistanceFunction,getClosest:sM.getClosest,inbox:sM.inbox,quadrature:sM.quadrature,appendArrayPointValue:sM.appendArrayPointValue,castHoverOption:plt,castHoverinfo:glt,hover:Kle.hover,unhover:dlt.unhover,loneHover:Kle.loneHover,loneUnhover:vlt,click:Xle()};function vlt(e){var t=NL.isD3Selection(e)?e:hlt.select(e);t.selectAll(\"g.hovertext\").remove(),t.selectAll(\".spikeline\").remove()}function plt(e,t,r){return NL.castOption(e,t,\"hoverlabel.\"+r)}function glt(e,t,r){function n(i){return NL.coerceHoverinfo({hoverinfo:i},{_module:e._module},t)}return NL.castOption(e,r,\"hoverinfo\",n)}});var Sg=ye(My=>{\"use strict\";My.selectMode=function(e){return e===\"lasso\"||e===\"select\"};My.drawMode=function(e){return e===\"drawclosedpath\"||e===\"drawopenpath\"||e===\"drawline\"||e===\"drawrect\"||e===\"drawcircle\"};My.openMode=function(e){return e===\"drawline\"||e===\"drawopenpath\"};My.rectMode=function(e){return e===\"select\"||e===\"drawline\"||e===\"drawrect\"||e===\"drawcircle\"};My.freeMode=function(e){return e===\"lasso\"||e===\"drawclosedpath\"||e===\"drawopenpath\"};My.selectingOrDrawing=function(e){return My.freeMode(e)||My.rectMode(e)}});var lM=ye((rir,$le)=>{\"use strict\";$le.exports=function(t){var r=t._fullLayout;r._glcanvas&&r._glcanvas.size()&&r._glcanvas.each(function(n){n.regl&&n.regl.clear({color:!0,depth:!0})})}});var UL=ye((iir,Qle)=>{\"use strict\";Qle.exports={undo:{width:857.1,height:1e3,path:\"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z\",transform:\"matrix(1 0 0 -1 0 850)\"},home:{width:928.6,height:1e3,path:\"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"camera-retro\":{width:1e3,height:1e3,path:\"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoombox:{width:1e3,height:1e3,path:\"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z\",transform:\"matrix(1 0 0 -1 0 850)\"},pan:{width:1e3,height:1e3,path:\"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoom_plus:{width:875,height:1e3,path:\"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoom_minus:{width:875,height:1e3,path:\"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z\",transform:\"matrix(1 0 0 -1 0 850)\"},autoscale:{width:1e3,height:1e3,path:\"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z\",transform:\"matrix(1 0 0 -1 0 850)\"},tooltip_basic:{width:1500,height:1e3,path:\"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z\",transform:\"matrix(1 0 0 -1 0 850)\"},tooltip_compare:{width:1125,height:1e3,path:\"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z\",transform:\"matrix(1 0 0 -1 0 850)\"},plotlylogo:{width:1542,height:1e3,path:\"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"z-axis\":{width:1e3,height:1e3,path:\"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"3d_rotate\":{width:1e3,height:1e3,path:\"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z\",transform:\"matrix(1 0 0 -1 0 850)\"},camera:{width:1e3,height:1e3,path:\"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z\",transform:\"matrix(1 0 0 -1 0 850)\"},movie:{width:1e3,height:1e3,path:\"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z\",transform:\"matrix(1 0 0 -1 0 850)\"},question:{width:857.1,height:1e3,path:\"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z\",transform:\"matrix(1 0 0 -1 0 850)\"},disk:{width:857.1,height:1e3,path:\"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z\",transform:\"matrix(1 0 0 -1 0 850)\"},drawopenpath:{width:70,height:70,path:\"M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z\",transform:\"matrix(1 0 0 1 -15 -15)\"},drawclosedpath:{width:90,height:90,path:\"M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z\",transform:\"matrix(1 0 0 1 -5 -5)\"},lasso:{width:1031,height:1e3,path:\"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z\",transform:\"matrix(1 0 0 -1 0 850)\"},selectbox:{width:1e3,height:1e3,path:\"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z\",transform:\"matrix(1 0 0 -1 0 850)\"},drawline:{width:70,height:70,path:\"M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z\",transform:\"matrix(1 0 0 1 -15 -15)\"},drawrect:{width:80,height:80,path:\"M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},drawcircle:{width:80,height:80,path:\"M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},eraseshape:{width:80,height:80,path:\"M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},spikeline:{width:1e3,height:1e3,path:\"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z\",transform:\"matrix(1.5 0 0 -1.5 0 850)\"},pencil:{width:1792,height:1792,path:\"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z\",transform:\"matrix(1 0 0 1 0 1)\"},newplotlylogo:{name:\"newplotlylogo\",svg:[\"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 132'>\",\" <title>plotly-logomark</title>\",\" <g id='symbol'>\",\" <rect fill='#000' x='0' y='0' width='132' height='132' rx='18' ry='18'/>\",\" <circle fill='#9EF' cx='102' cy='30' r='6'/>\",\" <circle fill='#BAC' cx='78' cy='30' r='6'/>\",\" <circle fill='#BAC' cx='78' cy='54' r='6'/>\",\" <circle fill='#D69' cx='54' cy='30' r='6'/>\",\" <circle fill='#F26' cx='30' cy='30' r='6'/>\",\" <circle fill='#F26' cx='30' cy='54' r='6'/>\",\" <path fill='#FFF' d='M30,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,30,72Z'/>\",\" <path fill='#FFF' d='M78,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,78,72Z'/>\",\" <path fill='#FFF' d='M54,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,54,48Z'/>\",\" <path fill='#FFF' d='M102,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,102,48Z'/>\",\" </g>\",\"</svg>\"].join(\"\")}}});var HL=ye((nir,eue)=>{\"use strict\";var VL=32;eue.exports={CIRCLE_SIDES:VL,i000:0,i090:VL/4,i180:VL/2,i270:VL/4*3,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}});var GL=ye((air,rue)=>{\"use strict\";var mlt=Mr().strTranslate;function tue(e,t){switch(e.type){case\"log\":return e.p2d(t);case\"date\":return e.p2r(t,0,e.calendar);default:return e.p2r(t)}}function ylt(e,t){switch(e.type){case\"log\":return e.d2p(t);case\"date\":return e.r2p(t,0,e.calendar);default:return e.r2p(t)}}function _lt(e){var t=e._id.charAt(0)===\"y\"?1:0;return function(r){return tue(e,r[t])}}function xlt(e){return mlt(e.xaxis._offset,e.yaxis._offset)}rue.exports={p2r:tue,r2p:ylt,axValue:_lt,getTransform:xlt}});var c_=ye(Ey=>{\"use strict\";var blt=XS(),aue=HL(),V3=aue.CIRCLE_SIDES,NB=aue.SQRT2,oue=GL(),iue=oue.p2r,nue=oue.r2p,wlt=[0,3,4,5,6,1,2],Tlt=[0,3,4,1,2];Ey.writePaths=function(e){var t=e.length;if(!t)return\"M0,0Z\";for(var r=\"\",n=0;n<t;n++)for(var i=e[n].length,a=0;a<i;a++){var o=e[n][a][0];if(o===\"Z\")r+=\"Z\";else for(var s=e[n][a].length,l=0;l<s;l++){var u=l;o===\"Q\"||o===\"S\"?u=Tlt[l]:o===\"C\"&&(u=wlt[l]),r+=e[n][a][u],l>0&&l<s-1&&(r+=\",\")}}return r};Ey.readPaths=function(e,t,r,n){var i=blt(e),a=[],o=-1,s=function(){o++,a[o]=[]},l,u=0,c=0,f,h,d=function(){f=u,h=c};d();for(var v=0;v<i.length;v++){var x=[],b,p,E,k,A=i[v][0],L=A;switch(A){case\"M\":s(),u=+i[v][1],c=+i[v][2],x.push([L,u,c]),d();break;case\"Q\":case\"S\":b=+i[v][1],E=+i[v][2],u=+i[v][3],c=+i[v][4],x.push([L,u,c,b,E]);break;case\"C\":b=+i[v][1],E=+i[v][2],p=+i[v][3],k=+i[v][4],u=+i[v][5],c=+i[v][6],x.push([L,u,c,b,E,p,k]);break;case\"T\":case\"L\":u=+i[v][1],c=+i[v][2],x.push([L,u,c]);break;case\"H\":L=\"L\",u=+i[v][1],x.push([L,u,c]);break;case\"V\":L=\"L\",c=+i[v][1],x.push([L,u,c]);break;case\"A\":L=\"L\";var _=+i[v][1],C=+i[v][2];+i[v][4]||(_=-_,C=-C);var M=u-_,g=c;for(l=1;l<=V3/2;l++){var P=2*Math.PI*l/V3;x.push([L,M+_*Math.cos(P),g+C*Math.sin(P)])}break;case\"Z\":(u!==f||c!==h)&&(u=f,c=h,x.push([L,u,c]));break}for(var T=(r||{}).domain,F=t._fullLayout._size,q=r&&r.xsizemode===\"pixel\",V=r&&r.ysizemode===\"pixel\",H=n===!1,X=0;X<x.length;X++){for(l=0;l+2<7;l+=2){var G=x[X][l+1],N=x[X][l+2];G===void 0||N===void 0||(u=G,c=N,r&&(r.xaxis&&r.xaxis.p2r?(H&&(G-=r.xaxis._offset),q?G=nue(r.xaxis,r.xanchor)+G:G=iue(r.xaxis,G)):(H&&(G-=F.l),T?G=T.x[0]+G/F.w:G=G/F.w),r.yaxis&&r.yaxis.p2r?(H&&(N-=r.yaxis._offset),V?N=nue(r.yaxis,r.yanchor)-N:N=iue(r.yaxis,N)):(H&&(N-=F.t),T?N=T.y[1]-N/F.h:N=1-N/F.h)),x[X][l+1]=G,x[X][l+2]=N)}a[o].push(x[X].slice())}}return a};function uM(e,t){return Math.abs(e-t)<=1e-6}function jL(e,t){var r=t[1]-e[1],n=t[2]-e[2];return Math.sqrt(r*r+n*n)}Ey.pointsOnRectangle=function(e){var t=e.length;if(t!==5)return!1;for(var r=1;r<3;r++){var n=e[0][r]-e[1][r],i=e[3][r]-e[2][r];if(!uM(n,i))return!1;var a=e[0][r]-e[3][r],o=e[1][r]-e[2][r];if(!uM(a,o))return!1}return!uM(e[0][1],e[1][1])&&!uM(e[0][1],e[3][1])?!1:!!(jL(e[0],e[1])*jL(e[0],e[3]))};Ey.pointsOnEllipse=function(e){var t=e.length;if(t!==V3+1)return!1;t=V3;for(var r=0;r<t;r++){var n=(t*2-r)%t,i=(t/2+n)%t,a=(t/2+r)%t;if(!uM(jL(e[r],e[a]),jL(e[n],e[i])))return!1}return!0};Ey.handleEllipse=function(e,t,r){if(!e)return[t,r];var n=Ey.ellipseOver({x0:t[0],y0:t[1],x1:r[0],y1:r[1]}),i=(n.x1+n.x0)/2,a=(n.y1+n.y0)/2,o=(n.x1-n.x0)/2,s=(n.y1-n.y0)/2;o||(o=s=s/NB),s||(s=o=o/NB);for(var l=[],u=0;u<V3;u++){var c=u*2*Math.PI/V3;l.push([i+o*Math.cos(c),a+s*Math.sin(c)])}return l};Ey.ellipseOver=function(e){var t=e.x0,r=e.y0,n=e.x1,i=e.y1,a=n-t,o=i-r;t-=a,r-=o;var s=(t+n)/2,l=(r+i)/2,u=NB;return a*=u,o*=u,{x0:s-a,y0:l-o,x1:s+a,y1:l+o}};Ey.fixDatesForPaths=function(e,t,r){var n=t.type===\"date\",i=r.type===\"date\";if(!n&&!i)return e;for(var a=0;a<e.length;a++)for(var o=0;o<e[a].length;o++)for(var s=0;s+2<e[a][o].length;s+=2)n&&(e[a][o][s+1]=e[a][o][s+1].replace(\" \",\"_\")),i&&(e[a][o][s+2]=e[a][o][s+2].replace(\" \",\"_\"));return e}});var XL=ye((sir,vue)=>{\"use strict\";var fue=Sg(),Alt=fue.drawMode,Slt=fue.openMode,H3=HL(),sue=H3.i000,lue=H3.i090,uue=H3.i180,cue=H3.i270,Mlt=H3.cos45,Elt=H3.sin45,hue=GL(),WL=hue.p2r,f_=hue.r2p,klt=e_(),Clt=klt.clearOutline,ZL=c_(),Llt=ZL.readPaths,Plt=ZL.writePaths,Ilt=ZL.ellipseOver,Rlt=ZL.fixDatesForPaths;function Dlt(e,t){if(e.length){var r=e[0][0];if(r){var n=t.gd,i=t.isActiveShape,a=t.dragmode,o=(n.layout||{}).shapes||[];if(!Alt(a)&&i!==void 0){var s=n._fullLayout._activeShapeIndex;if(s<o.length)switch(n._fullLayout.shapes[s].type){case\"rect\":a=\"drawrect\";break;case\"circle\":a=\"drawcircle\";break;case\"line\":a=\"drawline\";break;case\"path\":var l=o[s].path||\"\";l[l.length-1]===\"Z\"?a=\"drawclosedpath\":a=\"drawopenpath\";break}}var u=due(e,t,a);Clt(n);for(var c=t.editHelpers,f=(c||{}).modifyItem,h=[],d=0;d<o.length;d++){var v=n._fullLayout.shapes[d];if(h[d]=v._input,i!==void 0&&d===n._fullLayout._activeShapeIndex){var x=u;switch(v.type){case\"line\":case\"rect\":case\"circle\":f(\"x0\",x.x0-(v.x0shift||0)),f(\"x1\",x.x1-(v.x1shift||0)),f(\"y0\",x.y0-(v.y0shift||0)),f(\"y1\",x.y1-(v.y1shift||0));break;case\"path\":f(\"path\",x.path);break}}}return i===void 0?(h.push(u),h):c?c.getUpdateObj():{}}}}function due(e,t,r){var n=e[0][0],i=t.gd,a=n.getAttribute(\"d\"),o=i._fullLayout.newshape,s=t.plotinfo,l=t.isActiveShape,u=s.xaxis,c=s.yaxis,f=!!s.domain||!s.xaxis,h=!!s.domain||!s.yaxis,d=Slt(r),v=Llt(a,i,s,l),x={editable:!0,visible:o.visible,name:o.name,showlegend:o.showlegend,legend:o.legend,legendwidth:o.legendwidth,legendgroup:o.legendgroup,legendgrouptitle:{text:o.legendgrouptitle.text,font:o.legendgrouptitle.font},legendrank:o.legendrank,label:o.label,xref:f?\"paper\":u._id,yref:h?\"paper\":c._id,layer:o.layer,opacity:o.opacity,line:{color:o.line.color,width:o.line.width,dash:o.line.dash}};d||(x.fillcolor=o.fillcolor,x.fillrule=o.fillrule);var b;if(v.length===1&&(b=v[0]),b&&b.length===5&&r===\"drawrect\")x.type=\"rect\",x.x0=b[0][1],x.y0=b[0][2],x.x1=b[2][1],x.y1=b[2][2];else if(b&&r===\"drawline\")x.type=\"line\",x.x0=b[0][1],x.y0=b[0][2],x.x1=b[1][1],x.y1=b[1][2];else if(b&&r===\"drawcircle\"){x.type=\"circle\";var p=b[sue][1],E=b[lue][1],k=b[uue][1],A=b[cue][1],L=b[sue][2],_=b[lue][2],C=b[uue][2],M=b[cue][2],g=s.xaxis&&(s.xaxis.type===\"date\"||s.xaxis.type===\"log\"),P=s.yaxis&&(s.yaxis.type===\"date\"||s.yaxis.type===\"log\");g&&(p=f_(s.xaxis,p),E=f_(s.xaxis,E),k=f_(s.xaxis,k),A=f_(s.xaxis,A)),P&&(L=f_(s.yaxis,L),_=f_(s.yaxis,_),C=f_(s.yaxis,C),M=f_(s.yaxis,M));var T=(E+A)/2,F=(L+C)/2,q=(A-E+k-p)/2,V=(M-_+C-L)/2,H=Ilt({x0:T,y0:F,x1:T+q*Mlt,y1:F+V*Elt});g&&(H.x0=WL(s.xaxis,H.x0),H.x1=WL(s.xaxis,H.x1)),P&&(H.y0=WL(s.yaxis,H.y0),H.y1=WL(s.yaxis,H.y1)),x.x0=H.x0,x.y0=H.y0,x.x1=H.x1,x.y1=H.y1}else x.type=\"path\",u&&c&&Rlt(v,u,c),x.path=Plt(v),b=null;return x}vue.exports={newShapes:Dlt,createShapeObj:due}});var VB=ye((lir,pue)=>{\"use strict\";var zlt=Sg(),Flt=zlt.selectMode,qlt=e_(),Olt=qlt.clearOutline,UB=c_(),Blt=UB.readPaths,Nlt=UB.writePaths,Ult=UB.fixDatesForPaths;pue.exports=function(t,r){if(t.length){var n=t[0][0];if(n){var i=n.getAttribute(\"d\"),a=r.gd,o=a._fullLayout.newselection,s=r.plotinfo,l=s.xaxis,u=s.yaxis,c=r.isActiveSelection,f=r.dragmode,h=(a.layout||{}).selections||[];if(!Flt(f)&&c!==void 0){var d=a._fullLayout._activeSelectionIndex;if(d<h.length)switch(a._fullLayout.selections[d].type){case\"rect\":f=\"select\";break;case\"path\":f=\"lasso\";break}}var v=Blt(i,a,s,c),x={xref:l._id,yref:u._id,opacity:o.opacity,line:{color:o.line.color,width:o.line.width,dash:o.line.dash}},b;v.length===1&&(b=v[0]),b&&b.length===5&&f===\"select\"?(x.type=\"rect\",x.x0=b[0][1],x.y0=b[0][2],x.x1=b[2][1],x.y1=b[2][2]):(x.type=\"path\",l&&u&&Ult(v,l,u),x.path=Nlt(v),b=null),Olt(a);for(var p=r.editHelpers,E=(p||{}).modifyItem,k=[],A=0;A<h.length;A++){var L=a._fullLayout.selections[A];if(!L){k[A]=L;continue}if(k[A]=L._input,c!==void 0&&A===a._fullLayout._activeSelectionIndex){var _=x;switch(L.type){case\"rect\":E(\"x0\",_.x0),E(\"x1\",_.x1),E(\"y0\",_.y0),E(\"y1\",_.y1);break;case\"path\":E(\"path\",_.path);break}}}return c===void 0?(k.push(x),k):p?p.getUpdateObj():{}}}}});var cM=ye((uir,gue)=>{\"use strict\";gue.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}});var h_=ye(Ld=>{\"use strict\";var Fb=cM(),mue=Mr(),YL=Qa();Ld.rangeToShapePosition=function(e){return e.type===\"log\"?e.r2d:function(t){return t}};Ld.shapePositionToRange=function(e){return e.type===\"log\"?e.d2r:function(t){return t}};Ld.decodeDate=function(e){return function(t){return t.replace&&(t=t.replace(\"_\",\" \")),e(t)}};Ld.encodeDate=function(e){return function(t){return e(t).replace(\" \",\"_\")}};Ld.extractPathCoords=function(e,t,r){var n=[],i=e.match(Fb.segmentRE);return i.forEach(function(a){var o=t[a.charAt(0)].drawn;if(o!==void 0){var s=a.substr(1).match(Fb.paramRE);if(!(!s||s.length<o)){var l=s[o],u=r?l:mue.cleanNumber(l);n.push(u)}}}),n};Ld.getDataToPixel=function(e,t,r,n,i){var a=e._fullLayout._size,o;if(t)if(i===\"domain\")o=function(l){return t._length*(n?1-l:l)+t._offset};else{var s=Ld.shapePositionToRange(t);o=function(l){var u=fM(t,r);return t._offset+t.r2p(s(l,!0))+u},t.type===\"date\"&&(o=Ld.decodeDate(o))}else n?o=function(l){return a.t+a.h*(1-l)}:o=function(l){return a.l+a.w*l};return o};Ld.getPixelToData=function(e,t,r,n){var i=e._fullLayout._size,a;if(t)if(n===\"domain\")a=function(s){var l=(s-t._offset)/t._length;return r?1-l:l};else{var o=Ld.rangeToShapePosition(t);a=function(s){return o(t.p2r(s-t._offset))}}else r?a=function(s){return 1-(s-i.t)/i.h}:a=function(s){return(s-i.l)/i.w};return a};Ld.roundPositionForSharpStrokeRendering=function(e,t){var r=Math.round(t%2)===1,n=Math.round(e);return r?n+.5:n};Ld.makeShapesOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.shapes[t]||{},n=e._fullLayout._plots[r.xref+r.yref],i=!!n;return i?n._hadPlotinfo=!0:(n={},r.xref&&r.xref!==\"paper\"&&(n.xaxis=e._fullLayout[r.xref+\"axis\"]),r.yref&&r.yref!==\"paper\"&&(n.yaxis=e._fullLayout[r.yref+\"axis\"])),n.xsizemode=r.xsizemode,n.ysizemode=r.ysizemode,n.xanchor=r.xanchor,n.yanchor=r.yanchor,{options:r,plotinfo:n}};Ld.makeSelectionsOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.selections[t]||{},n=e._fullLayout._plots[r.xref+r.yref],i=!!n;return i?n._hadPlotinfo=!0:(n={},r.xref&&(n.xaxis=e._fullLayout[r.xref+\"axis\"]),r.yref&&(n.yaxis=e._fullLayout[r.yref+\"axis\"])),{options:r,plotinfo:n}};Ld.getPathString=function(e,t){var r=t.type,n=YL.getRefType(t.xref),i=YL.getRefType(t.yref),a=YL.getFromId(e,t.xref),o=YL.getFromId(e,t.yref),s=e._fullLayout._size,l,u,c,f,h=fM(a,t.x0shift),d=fM(a,t.x1shift),v=fM(o,t.y0shift),x=fM(o,t.y1shift),b,p,E,k;if(a?n===\"domain\"?u=function(q){return a._offset+a._length*q}:(l=Ld.shapePositionToRange(a),u=function(q){return a._offset+a.r2p(l(q,!0))}):u=function(q){return s.l+s.w*q},o?i===\"domain\"?f=function(q){return o._offset+o._length*(1-q)}:(c=Ld.shapePositionToRange(o),f=function(q){return o._offset+o.r2p(c(q,!0))}):f=function(q){return s.t+s.h*(1-q)},r===\"path\")return a&&a.type===\"date\"&&(u=Ld.decodeDate(u)),o&&o.type===\"date\"&&(f=Ld.decodeDate(f)),Vlt(t,u,f);if(t.xsizemode===\"pixel\"){var A=u(t.xanchor);b=A+t.x0+h,p=A+t.x1+d}else b=u(t.x0)+h,p=u(t.x1)+d;if(t.ysizemode===\"pixel\"){var L=f(t.yanchor);E=L-t.y0+v,k=L-t.y1+x}else E=f(t.y0)+v,k=f(t.y1)+x;if(r===\"line\")return\"M\"+b+\",\"+E+\"L\"+p+\",\"+k;if(r===\"rect\")return\"M\"+b+\",\"+E+\"H\"+p+\"V\"+k+\"H\"+b+\"Z\";var _=(b+p)/2,C=(E+k)/2,M=Math.abs(_-b),g=Math.abs(C-E),P=\"A\"+M+\",\"+g,T=_+M+\",\"+C,F=_+\",\"+(C-g);return\"M\"+T+P+\" 0 1,1 \"+F+P+\" 0 0,1 \"+T+\"Z\"};function Vlt(e,t,r){var n=e.path,i=e.xsizemode,a=e.ysizemode,o=e.xanchor,s=e.yanchor;return n.replace(Fb.segmentRE,function(l){var u=0,c=l.charAt(0),f=Fb.paramIsX[c],h=Fb.paramIsY[c],d=Fb.numParams[c],v=l.substr(1).replace(Fb.paramRE,function(x){return f[u]?i===\"pixel\"?x=t(o)+Number(x):x=t(x):h[u]&&(a===\"pixel\"?x=r(s)-Number(x):x=r(x)),u++,u>d&&(x=\"X\"),x});return u>d&&(v=v.replace(/[\\s,]*X.*/,\"\"),mue.log(\"Ignoring extra params in segment \"+l)),c+v})}function fM(e,t){t=t||0;var r=0;return t&&e&&(e.type===\"category\"||e.type===\"multicategory\")&&(r=(e.r2p(1)-e.r2p(0))*t),r}});var GB=ye((fir,bue)=>{\"use strict\";var Hlt=Mr(),G3=Qa(),yue=Pl(),_ue=ao(),Glt=c_().readPaths,HB=h_(),jlt=HB.getPathString,xue=b6(),Wlt=Nh().FROM_TL;bue.exports=function(t,r,n,i){if(i.selectAll(\".shape-label\").remove(),!!(n.label.text||n.label.texttemplate)){var a;if(n.label.texttemplate){var o={};if(n.type!==\"path\"){var s=G3.getFromId(t,n.xref),l=G3.getFromId(t,n.yref);for(var u in xue){var c=xue[u](n,s,l);c!==void 0&&(o[u]=c)}}a=Hlt.texttemplateStringForShapes(n.label.texttemplate,{},t._fullLayout._d3locale,o)}else a=n.label.text;var f={\"data-index\":r},h=n.label.font,d={\"data-notex\":1},v=i.append(\"g\").attr(f).classed(\"shape-label\",!0),x=v.append(\"text\").attr(d).classed(\"shape-label-text\",!0).text(a),b,p,E,k;if(n.path){var A=jlt(t,n),L=Glt(A,t);b=1/0,E=1/0,p=-1/0,k=-1/0;for(var _=0;_<L.length;_++)for(var C=0;C<L[_].length;C++)for(var M=L[_][C],g=1;g<M.length;g+=2){var P=M[g],T=M[g+1];b=Math.min(b,P),p=Math.max(p,P),E=Math.min(E,T),k=Math.max(k,T)}}else{var F=G3.getFromId(t,n.xref),q=n.x0shift,V=n.x1shift,H=G3.getRefType(n.xref),X=G3.getFromId(t,n.yref),G=n.y0shift,N=n.y1shift,W=G3.getRefType(n.yref),re=function(Ee,Ae){var ze=HB.getDataToPixel(t,F,Ae,!1,H);return ze(Ee)},ae=function(Ee,Ae){var ze=HB.getDataToPixel(t,X,Ae,!0,W);return ze(Ee)};b=re(n.x0,q),p=re(n.x1,V),E=ae(n.y0,G),k=ae(n.y1,N)}var _e=n.label.textangle;_e===\"auto\"&&(n.type===\"line\"?_e=Zlt(b,E,p,k):_e=0),x.call(function(Ee){return Ee.call(_ue.font,h).attr({}),yue.convertToTspans(Ee,t),Ee});var Me=_ue.bBox(x.node()),ke=Xlt(b,E,p,k,n,_e,Me),ge=ke.textx,ie=ke.texty,Te=ke.xanchor;x.attr({\"text-anchor\":{left:\"start\",center:\"middle\",right:\"end\"}[Te],y:ie,x:ge,transform:\"rotate(\"+_e+\",\"+ge+\",\"+ie+\")\"}).call(yue.positionText,ge,ie)}};function Zlt(e,t,r,n){var i,a;return a=Math.abs(r-e),r>=e?i=t-n:i=n-t,-180/Math.PI*Math.atan2(i,a)}function Xlt(e,t,r,n,i,a,o){var s=i.label.textposition,l=i.label.textangle,u=i.label.padding,c=i.type,f=Math.PI/180*a,h=Math.sin(f),d=Math.cos(f),v=i.label.xanchor,x=i.label.yanchor,b,p,E,k;if(c===\"line\"){s===\"start\"?(b=e,p=t):s===\"end\"?(b=r,p=n):(b=(e+r)/2,p=(t+n)/2),v===\"auto\"&&(s===\"start\"?l===\"auto\"?r>e?v=\"left\":r<e?v=\"right\":v=\"center\":r>e?v=\"right\":r<e?v=\"left\":v=\"center\":s===\"end\"?l===\"auto\"?r>e?v=\"right\":r<e?v=\"left\":v=\"center\":r>e?v=\"left\":r<e?v=\"right\":v=\"center\":v=\"center\");var A={left:1,center:0,right:-1},L={bottom:-1,middle:0,top:1};if(l===\"auto\"){var _=L[x];E=-u*h*_,k=u*d*_}else{var C=A[v],M=L[x];E=u*C,k=u*M}b=b+E,p=p+k}else E=u+3,s.indexOf(\"right\")!==-1?(b=Math.max(e,r)-E,v===\"auto\"&&(v=\"right\")):s.indexOf(\"left\")!==-1?(b=Math.min(e,r)+E,v===\"auto\"&&(v=\"left\")):(b=(e+r)/2,v===\"auto\"&&(v=\"center\")),s.indexOf(\"top\")!==-1?p=Math.min(t,n):s.indexOf(\"bottom\")!==-1?p=Math.max(t,n):p=(t+n)/2,k=u,x===\"bottom\"?p=p-k:x===\"top\"&&(p=p+k);var g=Wlt[x],P=i.label.font.size,T=o.height,F=(T*g-P)*h,q=-(T*g-P)*d;return{textx:b+F,texty:p+q,xanchor:v}}});var $L=ye((hir,Cue)=>{\"use strict\";var Ylt=Mr(),Klt=Ylt.strTranslate,wue=gv(),Sue=Sg(),Jlt=Sue.drawMode,Mue=Sue.selectMode,Eue=ba(),Tue=va(),JL=HL(),$lt=JL.i000,Qlt=JL.i090,eut=JL.i180,tut=JL.i270,rut=e_(),kue=rut.clearOutlineControllers,WB=c_(),KL=WB.pointsOnRectangle,jB=WB.pointsOnEllipse,iut=WB.writePaths,nut=XL().newShapes,aut=XL().createShapeObj,out=VB(),sut=GB();Cue.exports=function e(t,r,n,i){i||(i=0);var a=n.gd;function o(){e(t,r,n,i++),(jB(t[0])||n.hasText)&&s({redrawing:!0})}function s(G){var N={};n.isActiveShape!==void 0&&(n.isActiveShape=!1,N=nut(r,n)),n.isActiveSelection!==void 0&&(n.isActiveSelection=!1,N=out(r,n),a._fullLayout._reselect=!0),Object.keys(N).length&&Eue.call((G||{}).redrawing?\"relayout\":\"_guiRelayout\",a,N)}var l=a._fullLayout,u=l._zoomlayer,c=n.dragmode,f=Jlt(c),h=Mue(c);(f||h)&&(a._fullLayout._outlining=!0),kue(a),r.attr(\"d\",iut(t));var d,v,x,b,p;if(!i&&(n.isActiveShape||n.isActiveSelection)){p=lut([],t);var E=u.append(\"g\").attr(\"class\",\"outline-controllers\");P(E),X()}if(f&&n.hasText){var k=u.select(\".label-temp\"),A=aut(r,n,n.dragmode);sut(a,\"label-temp\",A,k)}function L(G){x=+G.srcElement.getAttribute(\"data-i\"),b=+G.srcElement.getAttribute(\"data-j\"),d[x][b].moveFn=_}function _(G,N){if(t.length){var W=p[x][b][1],re=p[x][b][2],ae=t[x],_e=ae.length;if(KL(ae)){var Me=G,ke=N;if(n.isActiveSelection){var ge=Aue(ae,b);ge[1]===ae[b][1]?ke=0:Me=0}for(var ie=0;ie<_e;ie++)if(ie!==b){var Te=ae[ie];Te[1]===ae[b][1]&&(Te[1]=W+Me),Te[2]===ae[b][2]&&(Te[2]=re+ke)}if(ae[b][1]=W+Me,ae[b][2]=re+ke,!KL(ae))for(var Ee=0;Ee<_e;Ee++)for(var Ae=0;Ae<ae[Ee].length;Ae++)ae[Ee][Ae]=p[x][Ee][Ae]}else ae[b][1]=W+G,ae[b][2]=re+N;o()}}function C(){s()}function M(){if(t.length&&t[x]&&t[x].length){for(var G=[],N=0;N<t[x].length;N++)N!==b&&G.push(t[x][N]);G.length>1&&!(G.length===2&&G[1][0]===\"Z\")&&(b===0&&(G[0][0]=\"M\"),t[x]=G,o(),s())}}function g(G,N){if(G===2){x=+N.srcElement.getAttribute(\"data-i\"),b=+N.srcElement.getAttribute(\"data-j\");var W=t[x];!KL(W)&&!jB(W)&&M()}}function P(G){d=[];for(var N=0;N<t.length;N++){var W=t[N],re=KL(W),ae=!re&&jB(W);d[N]=[];for(var _e=W.length,Me=0;Me<_e;Me++)if(W[Me][0]!==\"Z\"&&!(ae&&Me!==$lt&&Me!==Qlt&&Me!==eut&&Me!==tut)){var ke=re&&n.isActiveSelection,ge;ke&&(ge=Aue(W,Me));var ie=W[Me][1],Te=W[Me][2],Ee=G.append(ke?\"rect\":\"circle\").attr(\"data-i\",N).attr(\"data-j\",Me).style({fill:Tue.background,stroke:Tue.defaultLine,\"stroke-width\":1,\"shape-rendering\":\"crispEdges\"});if(ke){var Ae=ge[1]-ie,ze=ge[2]-Te,Ce=ze?5:Math.max(Math.min(25,Math.abs(Ae)-5),5),me=Ae?5:Math.max(Math.min(25,Math.abs(ze)-5),5);Ee.classed(ze?\"cursor-ew-resize\":\"cursor-ns-resize\",!0).attr(\"width\",Ce).attr(\"height\",me).attr(\"x\",ie-Ce/2).attr(\"y\",Te-me/2).attr(\"transform\",Klt(Ae/2,ze/2))}else Ee.classed(\"cursor-grab\",!0).attr(\"r\",5).attr(\"cx\",ie).attr(\"cy\",Te);d[N][Me]={element:Ee.node(),gd:a,prepFn:L,doneFn:C,clickFn:g},wue.init(d[N][Me])}}}function T(G,N){if(t.length)for(var W=0;W<t.length;W++)for(var re=0;re<t[W].length;re++)for(var ae=0;ae+2<t[W][re].length;ae+=2)t[W][re][ae+1]=p[W][re][ae+1]+G,t[W][re][ae+2]=p[W][re][ae+2]+N}function F(G,N){T(G,N),o()}function q(G){x=+G.srcElement.getAttribute(\"data-i\"),x||(x=0),v[x].moveFn=F}function V(){s()}function H(G){G===2&&uut(a)}function X(){if(v=[],!!t.length){var G=0;v[G]={element:r[0][0],gd:a,prepFn:q,doneFn:V,clickFn:H},wue.init(v[G])}}};function lut(e,t){for(var r=0;r<t.length;r++){var n=t[r];e[r]=[];for(var i=0;i<n.length;i++){e[r][i]=[];for(var a=0;a<n[i].length;a++)e[r][i][a]=n[i][a]}}return e}function Aue(e,t){var r=e[t][1],n=e[t][2],i=e.length,a,o,s;return a=(t+1)%i,o=e[a][1],s=e[a][2],o===r&&s===n&&(a=(t+2)%i,o=e[a][1],s=e[a][2]),[a,o,s]}function uut(e){if(Mue(e._fullLayout.dragmode)){kue(e);var t=e._fullLayout._activeSelectionIndex,r=(e.layout||{}).selections||[];if(t<r.length){for(var n=[],i=0;i<r.length;i++)i!==t&&n.push(r[i]);delete e._fullLayout._activeSelectionIndex;var a=e._fullLayout.selections[t];e._fullLayout._deselect={xref:a.xref,yref:a.yref},Eue.call(\"_guiRelayout\",e,{selections:n})}}}});var rP=ye((dir,Bue)=>{\"use strict\";var cut=xa(),zue=ba(),Lue=Mr(),j3=Qa(),fut=c_().readPaths,hut=$L(),eP=GB(),Fue=e_().clearOutlineControllers,ZB=va(),YB=ao(),dut=Vs().arrayEditor,Pue=gv(),Iue=Tg(),qb=cM(),Mp=h_(),XB=Mp.getPathString;Bue.exports={draw:KB,drawOne:que,eraseActiveShape:gut,drawLabel:eP};function KB(e){var t=e._fullLayout;t._shapeUpperLayer.selectAll(\"path\").remove(),t._shapeLowerLayer.selectAll(\"path\").remove(),t._shapeUpperLayer.selectAll(\"text\").remove(),t._shapeLowerLayer.selectAll(\"text\").remove();for(var r in t._plots){var n=t._plots[r].shapelayer;n&&(n.selectAll(\"path\").remove(),n.selectAll(\"text\").remove())}for(var i=0;i<t.shapes.length;i++)t.shapes[i].visible===!0&&que(e,i)}function QL(e){return!!e._fullLayout._outlining}function tP(e){return!e._context.edits.shapePosition}function que(e,t){e._fullLayout._paperdiv.selectAll('.shapelayer [data-index=\"'+t+'\"]').remove();var r=Mp.makeShapesOptionsAndPlotinfo(e,t),n=r.options,i=r.plotinfo;if(!n._input||n.visible!==!0)return;if(n.layer===\"above\")o(e._fullLayout._shapeUpperLayer);else if(n.xref===\"paper\"||n.yref===\"paper\")o(e._fullLayout._shapeLowerLayer);else if(n.layer===\"between\")o(i.shapelayerBetween);else if(i._hadPlotinfo){var a=i.mainplotinfo||i;o(a.shapelayer)}else o(e._fullLayout._shapeLowerLayer);function o(s){var l=XB(e,n),u={\"data-index\":t,\"fill-rule\":n.fillrule,d:l},c=n.opacity,f=n.fillcolor,h=n.line.width?n.line.color:\"rgba(0,0,0,0)\",d=n.line.width,v=n.line.dash;!d&&n.editable===!0&&(d=5,v=\"solid\");var x=l[l.length-1]!==\"Z\",b=tP(e)&&n.editable&&e._fullLayout._activeShapeIndex===t;b&&(f=x?\"rgba(0,0,0,0)\":e._fullLayout.activeshape.fillcolor,c=e._fullLayout.activeshape.opacity);var p=s.append(\"g\").classed(\"shape-group\",!0).attr({\"data-index\":t}),E=p.append(\"path\").attr(u).style(\"opacity\",c).call(ZB.stroke,h).call(ZB.fill,f).call(YB.dashLine,v,d);Oue(p,e,n),eP(e,t,n,p);var k;if((b||e._context.edits.shapePosition)&&(k=dut(e.layout,\"shapes\",n)),b){E.style({cursor:\"move\"});var A={element:E.node(),plotinfo:i,gd:e,editHelpers:k,hasText:n.label.text||n.label.texttemplate,isActiveShape:!0},L=fut(l,e);hut(L,E,A)}else e._context.edits.shapePosition?vut(e,E,n,t,s,k):n.editable===!0&&E.style(\"pointer-events\",x||ZB.opacity(f)*c<=.5?\"stroke\":\"all\");E.node().addEventListener(\"click\",function(){return put(e,E)})}}function Oue(e,t,r){var n=(r.xref+r.yref).replace(/paper/g,\"\").replace(/[xyz][1-9]* *domain/g,\"\");YB.setClipUrl(e,n?\"clip\"+t._fullLayout._uid+n:null,t)}function vut(e,t,r,n,i,a){var o=10,s=10,l=r.xsizemode===\"pixel\",u=r.ysizemode===\"pixel\",c=r.type===\"line\",f=r.type===\"path\",h=a.modifyItem,d,v,x,b,p,E,k,A,L,_,C,M,g,P,T,F=cut.select(t.node().parentNode),q=j3.getFromId(e,r.xref),V=j3.getRefType(r.xref),H=j3.getFromId(e,r.yref),X=j3.getRefType(r.yref),G=r.x0shift,N=r.x1shift,W=r.y0shift,re=r.y1shift,ae=function(rt,ot){var Rt=Mp.getDataToPixel(e,q,ot,!1,V);return Rt(rt)},_e=function(rt,ot){var Rt=Mp.getDataToPixel(e,H,ot,!0,X);return Rt(rt)},Me=Mp.getPixelToData(e,q,!1,V),ke=Mp.getPixelToData(e,H,!0,X),ge=Ee(),ie={element:ge.node(),gd:e,prepFn:Ce,doneFn:me,clickFn:Re},Te;Pue.init(ie),ge.node().onmousemove=ze;function Ee(){return c?Ae():t}function Ae(){var rt=10,ot=Math.max(r.line.width,rt),Rt=i.append(\"g\").attr(\"data-index\",n).attr(\"drag-helper\",!0);Rt.append(\"path\").attr(\"d\",t.attr(\"d\")).style({cursor:\"move\",\"stroke-width\":ot,\"stroke-opacity\":\"0\"});var kt={\"fill-opacity\":\"0\"},Ct=Math.max(ot/2,rt);return Rt.append(\"circle\").attr({\"data-line-point\":\"start-point\",cx:l?ae(r.xanchor)+r.x0:ae(r.x0,G),cy:u?_e(r.yanchor)-r.y0:_e(r.y0,W),r:Ct}).style(kt).classed(\"cursor-grab\",!0),Rt.append(\"circle\").attr({\"data-line-point\":\"end-point\",cx:l?ae(r.xanchor)+r.x1:ae(r.x1,N),cy:u?_e(r.yanchor)-r.y1:_e(r.y1,re),r:Ct}).style(kt).classed(\"cursor-grab\",!0),Rt}function ze(rt){if(QL(e)){Te=null;return}if(c)rt.target.tagName===\"path\"?Te=\"move\":Te=rt.target.attributes[\"data-line-point\"].value===\"start-point\"?\"resize-over-start-point\":\"resize-over-end-point\";else{var ot=ie.element.getBoundingClientRect(),Rt=ot.right-ot.left,kt=ot.bottom-ot.top,Ct=rt.clientX-ot.left,Yt=rt.clientY-ot.top,xr=!f&&Rt>o&&kt>s&&!rt.shiftKey?Pue.getCursor(Ct/Rt,1-Yt/kt):\"move\";Iue(t,xr),Te=xr.split(\"-\")[0]}}function Ce(rt){QL(e)||(l&&(p=ae(r.xanchor)),u&&(E=_e(r.yanchor)),r.type===\"path\"?T=r.path:(d=l?r.x0:ae(r.x0),v=u?r.y0:_e(r.y0),x=l?r.x1:ae(r.x1),b=u?r.y1:_e(r.y1)),d<x?(L=d,g=\"x0\",_=x,P=\"x1\"):(L=x,g=\"x1\",_=d,P=\"x0\"),!u&&v<b||u&&v>b?(k=v,C=\"y0\",A=b,M=\"y1\"):(k=b,C=\"y1\",A=v,M=\"y0\"),ze(rt),nt(i,r),qt(t,r,e),ie.moveFn=Te===\"move\"?ce:Ge,ie.altKey=rt.altKey)}function me(){QL(e)||(Iue(t),ct(i),Oue(t,e,r),zue.call(\"_guiRelayout\",e,a.getUpdateObj()))}function Re(){QL(e)||ct(i)}function ce(rt,ot){if(r.type===\"path\"){var Rt=function(Yt){return Yt},kt=Rt,Ct=Rt;l?h(\"xanchor\",r.xanchor=Me(p+rt)):(kt=function(xr){return Me(ae(xr)+rt)},q&&q.type===\"date\"&&(kt=Mp.encodeDate(kt))),u?h(\"yanchor\",r.yanchor=ke(E+ot)):(Ct=function(xr){return ke(_e(xr)+ot)},H&&H.type===\"date\"&&(Ct=Mp.encodeDate(Ct))),h(\"path\",r.path=Rue(T,kt,Ct))}else l?h(\"xanchor\",r.xanchor=Me(p+rt)):(h(\"x0\",r.x0=Me(d+rt)),h(\"x1\",r.x1=Me(x+rt))),u?h(\"yanchor\",r.yanchor=ke(E+ot)):(h(\"y0\",r.y0=ke(v+ot)),h(\"y1\",r.y1=ke(b+ot)));t.attr(\"d\",XB(e,r)),nt(i,r),eP(e,n,r,F)}function Ge(rt,ot){if(f){var Rt=function(_r){return _r},kt=Rt,Ct=Rt;l?h(\"xanchor\",r.xanchor=Me(p+rt)):(kt=function(Br){return Me(ae(Br)+rt)},q&&q.type===\"date\"&&(kt=Mp.encodeDate(kt))),u?h(\"yanchor\",r.yanchor=ke(E+ot)):(Ct=function(Br){return ke(_e(Br)+ot)},H&&H.type===\"date\"&&(Ct=Mp.encodeDate(Ct))),h(\"path\",r.path=Rue(T,kt,Ct))}else if(c){if(Te===\"resize-over-start-point\"){var Yt=d+rt,xr=u?v-ot:v+ot;h(\"x0\",r.x0=l?Yt:Me(Yt)),h(\"y0\",r.y0=u?xr:ke(xr))}else if(Te===\"resize-over-end-point\"){var er=x+rt,Ke=u?b-ot:b+ot;h(\"x1\",r.x1=l?er:Me(er)),h(\"y1\",r.y1=u?Ke:ke(Ke))}}else{var xt=function(_r){return Te.indexOf(_r)!==-1},bt=xt(\"n\"),Lt=xt(\"s\"),St=xt(\"w\"),Et=xt(\"e\"),dt=bt?k+ot:k,Ht=Lt?A+ot:A,$t=St?L+rt:L,fr=Et?_+rt:_;u&&(bt&&(dt=k-ot),Lt&&(Ht=A-ot)),(!u&&Ht-dt>s||u&&dt-Ht>s)&&(h(C,r[C]=u?dt:ke(dt)),h(M,r[M]=u?Ht:ke(Ht))),fr-$t>o&&(h(g,r[g]=l?$t:Me($t)),h(P,r[P]=l?fr:Me(fr)))}t.attr(\"d\",XB(e,r)),nt(i,r),eP(e,n,r,F)}function nt(rt,ot){(l||u)&&Rt();function Rt(){var kt=ot.type!==\"path\",Ct=rt.selectAll(\".visual-cue\").data([0]),Yt=1;Ct.enter().append(\"path\").attr({fill:\"#fff\",\"fill-rule\":\"evenodd\",stroke:\"#000\",\"stroke-width\":Yt}).classed(\"visual-cue\",!0);var xr=ae(l?ot.xanchor:Lue.midRange(kt?[ot.x0,ot.x1]:Mp.extractPathCoords(ot.path,qb.paramIsX))),er=_e(u?ot.yanchor:Lue.midRange(kt?[ot.y0,ot.y1]:Mp.extractPathCoords(ot.path,qb.paramIsY)));if(xr=Mp.roundPositionForSharpStrokeRendering(xr,Yt),er=Mp.roundPositionForSharpStrokeRendering(er,Yt),l&&u){var Ke=\"M\"+(xr-1-Yt)+\",\"+(er-1-Yt)+\"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z\";Ct.attr(\"d\",Ke)}else if(l){var xt=\"M\"+(xr-1-Yt)+\",\"+(er-9-Yt)+\"v18 h2 v-18 Z\";Ct.attr(\"d\",xt)}else{var bt=\"M\"+(xr-9-Yt)+\",\"+(er-1-Yt)+\"h18 v2 h-18 Z\";Ct.attr(\"d\",bt)}}}function ct(rt){rt.selectAll(\".visual-cue\").remove()}function qt(rt,ot,Rt){var kt=ot.xref,Ct=ot.yref,Yt=j3.getFromId(Rt,kt),xr=j3.getFromId(Rt,Ct),er=\"\";kt!==\"paper\"&&!Yt.autorange&&(er+=kt),Ct!==\"paper\"&&!xr.autorange&&(er+=Ct),YB.setClipUrl(rt,er?\"clip\"+Rt._fullLayout._uid+er:null,Rt)}}function Rue(e,t,r){return e.replace(qb.segmentRE,function(n){var i=0,a=n.charAt(0),o=qb.paramIsX[a],s=qb.paramIsY[a],l=qb.numParams[a],u=n.substr(1).replace(qb.paramRE,function(c){return i>=l||(o[i]?c=t(c):s[i]&&(c=r(c)),i++),c});return a+u})}function put(e,t){if(tP(e)){var r=t.node(),n=+r.getAttribute(\"data-index\");if(n>=0){if(n===e._fullLayout._activeShapeIndex){Due(e);return}e._fullLayout._activeShapeIndex=n,e._fullLayout._deactivateShape=Due,KB(e)}}}function Due(e){if(tP(e)){var t=e._fullLayout._activeShapeIndex;t>=0&&(Fue(e),delete e._fullLayout._activeShapeIndex,KB(e))}}function gut(e){if(tP(e)){Fue(e);var t=e._fullLayout._activeShapeIndex,r=(e.layout||{}).shapes||[];if(t<r.length){for(var n=[],i=0;i<r.length;i++)i!==t&&n.push(r[i]);return delete e._fullLayout._activeShapeIndex,zue.call(\"_guiRelayout\",e,{shapes:n})}}}});var QB=ye((vir,Xue)=>{\"use strict\";var S0=ba(),Nue=Xu(),Uue=af(),al=UL(),mut=rP().eraseActiveShape,iP=Mr(),Os=iP._,ol=Xue.exports={};ol.toImage={name:\"toImage\",title:function(e){var t=e._context.toImageButtonOptions||{},r=t.format||\"png\";return r===\"png\"?Os(e,\"Download plot as a png\"):Os(e,\"Download plot\")},icon:al.camera,click:function(e){var t=e._context.toImageButtonOptions,r={format:t.format||\"png\"};iP.notifier(Os(e,\"Taking snapshot - this may take a few seconds\"),\"long\"),[\"filename\",\"width\",\"height\",\"scale\"].forEach(function(n){n in t&&(r[n]=t[n])}),S0.call(\"downloadImage\",e,r).then(function(n){iP.notifier(Os(e,\"Snapshot succeeded\")+\" - \"+n,\"long\")}).catch(function(){iP.notifier(Os(e,\"Sorry, there was a problem downloading your snapshot!\"),\"long\")})}};ol.sendDataToCloud={name:\"sendDataToCloud\",title:function(e){return Os(e,\"Edit in Chart Studio\")},icon:al.disk,click:function(e){Nue.sendDataToCloud(e)}};ol.editInChartStudio={name:\"editInChartStudio\",title:function(e){return Os(e,\"Edit in Chart Studio\")},icon:al.pencil,click:function(e){Nue.sendDataToCloud(e)}};ol.zoom2d={name:\"zoom2d\",_cat:\"zoom\",title:function(e){return Os(e,\"Zoom\")},attr:\"dragmode\",val:\"zoom\",icon:al.zoombox,click:Ov};ol.pan2d={name:\"pan2d\",_cat:\"pan\",title:function(e){return Os(e,\"Pan\")},attr:\"dragmode\",val:\"pan\",icon:al.pan,click:Ov};ol.select2d={name:\"select2d\",_cat:\"select\",title:function(e){return Os(e,\"Box Select\")},attr:\"dragmode\",val:\"select\",icon:al.selectbox,click:Ov};ol.lasso2d={name:\"lasso2d\",_cat:\"lasso\",title:function(e){return Os(e,\"Lasso Select\")},attr:\"dragmode\",val:\"lasso\",icon:al.lasso,click:Ov};ol.drawclosedpath={name:\"drawclosedpath\",title:function(e){return Os(e,\"Draw closed freeform\")},attr:\"dragmode\",val:\"drawclosedpath\",icon:al.drawclosedpath,click:Ov};ol.drawopenpath={name:\"drawopenpath\",title:function(e){return Os(e,\"Draw open freeform\")},attr:\"dragmode\",val:\"drawopenpath\",icon:al.drawopenpath,click:Ov};ol.drawline={name:\"drawline\",title:function(e){return Os(e,\"Draw line\")},attr:\"dragmode\",val:\"drawline\",icon:al.drawline,click:Ov};ol.drawrect={name:\"drawrect\",title:function(e){return Os(e,\"Draw rectangle\")},attr:\"dragmode\",val:\"drawrect\",icon:al.drawrect,click:Ov};ol.drawcircle={name:\"drawcircle\",title:function(e){return Os(e,\"Draw circle\")},attr:\"dragmode\",val:\"drawcircle\",icon:al.drawcircle,click:Ov};ol.eraseshape={name:\"eraseshape\",title:function(e){return Os(e,\"Erase active shape\")},icon:al.eraseshape,click:mut};ol.zoomIn2d={name:\"zoomIn2d\",_cat:\"zoomin\",title:function(e){return Os(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:al.zoom_plus,click:Ov};ol.zoomOut2d={name:\"zoomOut2d\",_cat:\"zoomout\",title:function(e){return Os(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:al.zoom_minus,click:Ov};ol.autoScale2d={name:\"autoScale2d\",_cat:\"autoscale\",title:function(e){return Os(e,\"Autoscale\")},attr:\"zoom\",val:\"auto\",icon:al.autoscale,click:Ov};ol.resetScale2d={name:\"resetScale2d\",_cat:\"resetscale\",title:function(e){return Os(e,\"Reset axes\")},attr:\"zoom\",val:\"reset\",icon:al.home,click:Ov};ol.hoverClosestCartesian={name:\"hoverClosestCartesian\",_cat:\"hoverclosest\",title:function(e){return Os(e,\"Show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:al.tooltip_basic,gravity:\"ne\",click:Ov};ol.hoverCompareCartesian={name:\"hoverCompareCartesian\",_cat:\"hoverCompare\",title:function(e){return Os(e,\"Compare data on hover\")},attr:\"hovermode\",val:function(e){return e._fullLayout._isHoriz?\"y\":\"x\"},icon:al.tooltip_compare,gravity:\"ne\",click:Ov};function Ov(e,t){var r=t.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=e._fullLayout,o={},s=Uue.list(e,null,!0),l=a._cartesianSpikesEnabled,u,c;if(n===\"zoom\"){var f=i===\"in\"?.5:2,h=(1+f)/2,d=(1-f)/2,v;for(c=0;c<s.length;c++)if(u=s[c],!u.fixedrange)if(v=u._name,i===\"auto\")o[v+\".autorange\"]=!0;else if(i===\"reset\")u._rangeInitial0===void 0&&u._rangeInitial1===void 0?o[v+\".autorange\"]=!0:u._rangeInitial0===void 0?(o[v+\".autorange\"]=u._autorangeInitial,o[v+\".range\"]=[null,u._rangeInitial1]):u._rangeInitial1===void 0?(o[v+\".range\"]=[u._rangeInitial0,null],o[v+\".autorange\"]=u._autorangeInitial):o[v+\".range\"]=[u._rangeInitial0,u._rangeInitial1],u._showSpikeInitial!==void 0&&(o[v+\".showspikes\"]=u._showSpikeInitial,l===\"on\"&&!u._showSpikeInitial&&(l=\"off\"));else{var x=[u.r2l(u.range[0]),u.r2l(u.range[1])],b=[h*x[0]+d*x[1],h*x[1]+d*x[0]];o[v+\".range[0]\"]=u.l2r(b[0]),o[v+\".range[1]\"]=u.l2r(b[1])}}else n===\"hovermode\"&&(i===\"x\"||i===\"y\")&&(i=a._isHoriz?\"y\":\"x\",r.setAttribute(\"data-val\",i)),o[n]=i;a._cartesianSpikesEnabled=l,S0.call(\"_guiRelayout\",e,o)}ol.zoom3d={name:\"zoom3d\",_cat:\"zoom\",title:function(e){return Os(e,\"Zoom\")},attr:\"scene.dragmode\",val:\"zoom\",icon:al.zoombox,click:nP};ol.pan3d={name:\"pan3d\",_cat:\"pan\",title:function(e){return Os(e,\"Pan\")},attr:\"scene.dragmode\",val:\"pan\",icon:al.pan,click:nP};ol.orbitRotation={name:\"orbitRotation\",title:function(e){return Os(e,\"Orbital rotation\")},attr:\"scene.dragmode\",val:\"orbit\",icon:al[\"3d_rotate\"],click:nP};ol.tableRotation={name:\"tableRotation\",title:function(e){return Os(e,\"Turntable rotation\")},attr:\"scene.dragmode\",val:\"turntable\",icon:al[\"z-axis\"],click:nP};function nP(e,t){for(var r=t.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=e._fullLayout._subplots.gl3d||[],o={},s=n.split(\".\"),l=0;l<a.length;l++)o[a[l]+\".\"+s[1]]=i;var u=i===\"pan\"?i:\"zoom\";o.dragmode=u,S0.call(\"_guiRelayout\",e,o)}ol.resetCameraDefault3d={name:\"resetCameraDefault3d\",_cat:\"resetCameraDefault\",title:function(e){return Os(e,\"Reset camera to default\")},attr:\"resetDefault\",icon:al.home,click:JB};ol.resetCameraLastSave3d={name:\"resetCameraLastSave3d\",_cat:\"resetCameraLastSave\",title:function(e){return Os(e,\"Reset camera to last save\")},attr:\"resetLastSave\",icon:al.movie,click:JB};function JB(e,t){for(var r=t.currentTarget,n=r.getAttribute(\"data-attr\"),i=n===\"resetLastSave\",a=n===\"resetDefault\",o=e._fullLayout,s=o._subplots.gl3d||[],l={},u=0;u<s.length;u++){var c=s[u],f=c+\".camera\",h=c+\".aspectratio\",d=c+\".aspectmode\",v=o[c]._scene,x;i?(l[f+\".up\"]=v.viewInitial.up,l[f+\".eye\"]=v.viewInitial.eye,l[f+\".center\"]=v.viewInitial.center,x=!0):a&&(l[f+\".up\"]=null,l[f+\".eye\"]=null,l[f+\".center\"]=null,x=!0),x&&(l[h+\".x\"]=v.viewInitial.aspectratio.x,l[h+\".y\"]=v.viewInitial.aspectratio.y,l[h+\".z\"]=v.viewInitial.aspectratio.z,l[d]=v.viewInitial.aspectmode)}S0.call(\"_guiRelayout\",e,l)}ol.hoverClosest3d={name:\"hoverClosest3d\",_cat:\"hoverclosest\",title:function(e){return Os(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:al.tooltip_basic,gravity:\"ne\",click:yut};function Vue(e,t){var r=t.currentTarget,n=r._previousVal,i=e._fullLayout,a=i._subplots.gl3d||[],o=[\"xaxis\",\"yaxis\",\"zaxis\"],s={},l={};if(n)l=n,r._previousVal=null;else{for(var u=0;u<a.length;u++){var c=a[u],f=i[c],h=c+\".hovermode\";s[h]=f.hovermode,l[h]=!1;for(var d=0;d<3;d++){var v=o[d],x=c+\".\"+v+\".showspikes\";l[x]=!1,s[x]=f[v].showspikes}}r._previousVal=s}return l}function yut(e,t){var r=Vue(e,t);S0.call(\"_guiRelayout\",e,r)}ol.zoomInGeo={name:\"zoomInGeo\",_cat:\"zoomin\",title:function(e){return Os(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:al.zoom_plus,click:$B};ol.zoomOutGeo={name:\"zoomOutGeo\",_cat:\"zoomout\",title:function(e){return Os(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:al.zoom_minus,click:$B};ol.resetGeo={name:\"resetGeo\",_cat:\"reset\",title:function(e){return Os(e,\"Reset\")},attr:\"reset\",val:null,icon:al.autoscale,click:$B};ol.hoverClosestGeo={name:\"hoverClosestGeo\",_cat:\"hoverclosest\",title:function(e){return Os(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:al.tooltip_basic,gravity:\"ne\",click:Gue};function $B(e,t){for(var r=t.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=e._fullLayout,o=a._subplots.geo||[],s=0;s<o.length;s++){var l=o[s],u=a[l];if(n===\"zoom\"){var c=u.projection.scale,f=i===\"in\"?2*c:.5*c;S0.call(\"_guiRelayout\",e,l+\".projection.scale\",f)}}n===\"reset\"&&W3(e,\"geo\")}ol.hoverClosestPie={name:\"hoverClosestPie\",_cat:\"hoverclosest\",title:function(e){return Os(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:al.tooltip_basic,gravity:\"ne\",click:Gue};function Hue(e){var t=e._fullLayout;return t.hovermode?!1:t._has(\"cartesian\")?t._isHoriz?\"y\":\"x\":\"closest\"}function Gue(e){var t=Hue(e);S0.call(\"_guiRelayout\",e,\"hovermode\",t)}ol.resetViewSankey={name:\"resetSankeyGroup\",title:function(e){return Os(e,\"Reset view\")},icon:al.home,click:function(e){for(var t={\"node.groups\":[],\"node.x\":[],\"node.y\":[]},r=0;r<e._fullData.length;r++){var n=e._fullData[r]._viewInitial;t[\"node.groups\"].push(n.node.groups.slice()),t[\"node.x\"].push(n.node.x.slice()),t[\"node.y\"].push(n.node.y.slice())}S0.call(\"restyle\",e,t)}};ol.toggleHover={name:\"toggleHover\",title:function(e){return Os(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:al.tooltip_basic,gravity:\"ne\",click:function(e,t){var r=Vue(e,t);r.hovermode=Hue(e),S0.call(\"_guiRelayout\",e,r)}};ol.resetViews={name:\"resetViews\",title:function(e){return Os(e,\"Reset views\")},icon:al.home,click:function(e,t){var r=t.currentTarget;r.setAttribute(\"data-attr\",\"zoom\"),r.setAttribute(\"data-val\",\"reset\"),Ov(e,t),r.setAttribute(\"data-attr\",\"resetLastSave\"),JB(e,t),W3(e,\"geo\"),W3(e,\"mapbox\"),W3(e,\"map\")}};ol.toggleSpikelines={name:\"toggleSpikelines\",title:function(e){return Os(e,\"Toggle Spike Lines\")},icon:al.spikeline,attr:\"_cartesianSpikesEnabled\",val:\"on\",click:function(e){var t=e._fullLayout,r=t._cartesianSpikesEnabled;t._cartesianSpikesEnabled=r===\"on\"?\"off\":\"on\",S0.call(\"_guiRelayout\",e,_ut(e))}};function _ut(e){for(var t=e._fullLayout,r=t._cartesianSpikesEnabled===\"on\",n=Uue.list(e,null,!0),i={},a=0;a<n.length;a++){var o=n[a];i[o._name+\".showspikes\"]=r?!0:o._showSpikeInitial}return i}ol.resetViewMapbox={name:\"resetViewMapbox\",_cat:\"resetView\",title:function(e){return Os(e,\"Reset view\")},attr:\"reset\",icon:al.home,click:function(e){W3(e,\"mapbox\")}};ol.resetViewMap={name:\"resetViewMap\",_cat:\"resetView\",title:function(e){return Os(e,\"Reset view\")},attr:\"reset\",icon:al.home,click:function(e){W3(e,\"map\")}};ol.zoomInMapbox={name:\"zoomInMapbox\",_cat:\"zoomin\",title:function(e){return Os(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:al.zoom_plus,click:jue};ol.zoomInMap={name:\"zoomInMap\",_cat:\"zoomin\",title:function(e){return Os(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:al.zoom_plus,click:Wue};ol.zoomOutMapbox={name:\"zoomOutMapbox\",_cat:\"zoomout\",title:function(e){return Os(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:al.zoom_minus,click:jue};ol.zoomOutMap={name:\"zoomOutMap\",_cat:\"zoomout\",title:function(e){return Os(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:al.zoom_minus,click:Wue};function jue(e,t){Zue(e,t,\"mapbox\")}function Wue(e,t){Zue(e,t,\"map\")}function Zue(e,t,r){for(var n=t.currentTarget,i=n.getAttribute(\"data-val\"),a=e._fullLayout,o=a._subplots[r]||[],s=1.05,l={},u=0;u<o.length;u++){var c=o[u],f=a[c].zoom,h=i===\"in\"?s*f:f/s;l[c+\".zoom\"]=h}S0.call(\"_guiRelayout\",e,l)}function W3(e,t){for(var r=e._fullLayout,n=r._subplots[t]||[],i={},a=0;a<n.length;a++)for(var o=n[a],s=r[o]._subplot,l=s.viewInitial,u=Object.keys(l),c=0;c<u.length;c++){var f=u[c];i[o+\".\"+f]=l[f]}S0.call(\"_guiRelayout\",e,i)}});var eN=ye((pir,$ue)=>{\"use strict\";var Yue=QB(),xut=Object.keys(Yue),Kue=[\"drawline\",\"drawopenpath\",\"drawclosedpath\",\"drawcircle\",\"drawrect\",\"eraseshape\"],Jue=[\"v1hovermode\",\"hoverclosest\",\"hovercompare\",\"togglehover\",\"togglespikelines\"].concat(Kue),Z3=[],but=function(e){if(Jue.indexOf(e._cat||e.name)===-1){var t=e.name,r=(e._cat||e.name).toLowerCase();Z3.indexOf(t)===-1&&Z3.push(t),Z3.indexOf(r)===-1&&Z3.push(r)}};xut.forEach(function(e){but(Yue[e])});Z3.sort();$ue.exports={DRAW_MODES:Kue,backButtons:Jue,foreButtons:Z3}});var tN=ye((mir,Que)=>{\"use strict\";var gir=eN();Que.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\"}}});var tce=ye((yir,ece)=>{\"use strict\";var wut=Mr(),hM=va(),Tut=Vs(),Aut=tN();ece.exports=function(t,r){var n=t.modebar||{},i=Tut.newContainer(r,\"modebar\");function a(s,l){return wut.coerce(n,i,Aut,s,l)}a(\"orientation\"),a(\"bgcolor\",hM.addOpacity(r.paper_bgcolor,.5));var o=hM.contrast(hM.rgb(r.modebar.bgcolor));a(\"color\",hM.addOpacity(o,.3)),a(\"activecolor\",hM.addOpacity(o,.7)),a(\"uirevision\",r.uirevision),a(\"add\"),a(\"remove\")}});var ace=ye((_ir,nce)=>{\"use strict\";var rN=xa(),Sut=uo(),aP=Mr(),rce=UL(),Mut=e6().version,Eut=new DOMParser;function ice(e){this.container=e.container,this.element=document.createElement(\"div\"),this.update(e.graphInfo,e.buttons),this.container.appendChild(this.element)}var Tm=ice.prototype;Tm.update=function(e,t){this.graphInfo=e;var r=this.graphInfo._context,n=this.graphInfo._fullLayout,i=\"modebar-\"+n._uid;this.element.setAttribute(\"id\",i),this._uid=i,this.element.className=\"modebar\",r.displayModeBar===\"hover\"&&(this.element.className+=\" modebar--hover ease-bg\"),n.modebar.orientation===\"v\"&&(this.element.className+=\" vertical\",t=t.reverse());var a=n.modebar,o=\"#\"+i+\" .modebar-group\";document.querySelectorAll(o).forEach(function(f){f.style.backgroundColor=a.bgcolor});var s=!this.hasButtons(t),l=this.hasLogo!==r.displaylogo,u=this.locale!==r.locale;if(this.locale=r.locale,(s||l||u)&&(this.removeAllButtons(),this.updateButtons(t),r.watermark||r.displaylogo)){var c=this.getLogo();r.watermark&&(c.className=c.className+\" watermark\"),n.modebar.orientation===\"v\"?this.element.insertBefore(c,this.element.childNodes[0]):this.element.appendChild(c),this.hasLogo=!0}this.updateActiveButton(),aP.setStyleOnHover(\"#\"+i+\" .modebar-btn\",\".active\",\".icon path\",\"fill: \"+a.activecolor,\"fill: \"+a.color,this.element)};Tm.updateButtons=function(e){var t=this;this.buttons=e,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(r){var n=t.createGroup();r.forEach(function(i){var a=i.name;if(!a)throw new Error(\"must provide button 'name' in button config\");if(t.buttonsNames.indexOf(a)!==-1)throw new Error(\"button name '\"+a+\"' is taken\");t.buttonsNames.push(a);var o=t.createButton(i);t.buttonElements.push(o),n.appendChild(o)}),t.element.appendChild(n)})};Tm.createGroup=function(){var e=document.createElement(\"div\");e.className=\"modebar-group\";var t=this.graphInfo._fullLayout.modebar;return e.style.backgroundColor=t.bgcolor,e};Tm.createButton=function(e){var t=this,r=document.createElement(\"a\");r.setAttribute(\"rel\",\"tooltip\"),r.className=\"modebar-btn\";var n=e.title;n===void 0?n=e.name:typeof n==\"function\"&&(n=n(this.graphInfo)),(n||n===0)&&r.setAttribute(\"data-title\",n),e.attr!==void 0&&r.setAttribute(\"data-attr\",e.attr);var i=e.val;i!==void 0&&(typeof i==\"function\"&&(i=i(this.graphInfo)),r.setAttribute(\"data-val\",i));var a=e.click;if(typeof a!=\"function\")throw new Error(\"must provide button 'click' function in button config\");r.addEventListener(\"click\",function(s){e.click(t.graphInfo,s),t.updateActiveButton(s.currentTarget)}),r.setAttribute(\"data-toggle\",e.toggle||!1),e.toggle&&rN.select(r).classed(\"active\",!0);var o=e.icon;return typeof o==\"function\"?r.appendChild(o()):r.appendChild(this.createIcon(o||rce.question)),r.setAttribute(\"data-gravity\",e.gravity||\"n\"),r};Tm.createIcon=function(e){var t=Sut(e.height)?Number(e.height):e.ascent-e.descent,r=\"http://www.w3.org/2000/svg\",n;if(e.path){n=document.createElementNS(r,\"svg\"),n.setAttribute(\"viewBox\",[0,0,e.width,t].join(\" \")),n.setAttribute(\"class\",\"icon\");var i=document.createElementNS(r,\"path\");i.setAttribute(\"d\",e.path),e.transform?i.setAttribute(\"transform\",e.transform):e.ascent!==void 0&&i.setAttribute(\"transform\",\"matrix(1 0 0 -1 0 \"+e.ascent+\")\"),n.appendChild(i)}if(e.svg){var a=Eut.parseFromString(e.svg,\"application/xml\");n=a.childNodes[0]}return n.setAttribute(\"height\",\"1em\"),n.setAttribute(\"width\",\"1em\"),n};Tm.updateActiveButton=function(e){var t=this.graphInfo._fullLayout,r=e!==void 0?e.getAttribute(\"data-attr\"):null;this.buttonElements.forEach(function(n){var i=n.getAttribute(\"data-val\")||!0,a=n.getAttribute(\"data-attr\"),o=n.getAttribute(\"data-toggle\")===\"true\",s=rN.select(n),l=function(f,h){var d=t.modebar,v=f.querySelector(\".icon path\");v&&(h||f.matches(\":hover\")?v.style.fill=d.activecolor:v.style.fill=d.color)};if(o){if(a===r){var u=!s.classed(\"active\");s.classed(\"active\",u),l(n,u)}}else{var c=a===null?a:aP.nestedProperty(t,a).get();s.classed(\"active\",c===i),l(n,c===i)}})};Tm.hasButtons=function(e){var t=this.buttons;if(!t||e.length!==t.length)return!1;for(var r=0;r<e.length;++r){if(e[r].length!==t[r].length)return!1;for(var n=0;n<e[r].length;n++)if(e[r][n].name!==t[r][n].name)return!1}return!0};function kut(e){return e+\" (v\"+Mut+\")\"}Tm.getLogo=function(){var e=this.createGroup(),t=document.createElement(\"a\");return t.href=\"https://plotly.com/\",t.target=\"_blank\",t.setAttribute(\"data-title\",kut(aP._(this.graphInfo,\"Produced with Plotly.js\"))),t.className=\"modebar-btn plotlyjsicon modebar-btn--logo\",t.appendChild(this.createIcon(rce.newplotlylogo)),e.appendChild(t),e};Tm.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1};Tm.destroy=function(){aP.removeElement(this.container.querySelector(\".modebar\"))};function Cut(e,t){var r=e._fullLayout,n=new ice({graphInfo:e,container:r._modebardiv.node(),buttons:t});return r._privateplot&&rN.select(n.element).append(\"span\").classed(\"badge-private float--left\",!0).text(\"PRIVATE\"),n}nce.exports=Cut});var lce=ye((xir,sce)=>{\"use strict\";var Lut=af(),oce=lu(),iN=ba(),Put=rp().isUnifiedHover,Iut=ace(),oP=QB(),Rut=eN().DRAW_MODES,Dut=Mr().extendDeep;sce.exports=function(t){var r=t._fullLayout,n=t._context,i=r._modeBar;if(!n.displayModeBar&&!n.watermark){i&&(i.destroy(),delete r._modeBar);return}if(!Array.isArray(n.modeBarButtonsToRemove))throw new Error([\"*modeBarButtonsToRemove* configuration options\",\"must be an array.\"].join(\" \"));if(!Array.isArray(n.modeBarButtonsToAdd))throw new Error([\"*modeBarButtonsToAdd* configuration options\",\"must be an array.\"].join(\" \"));var a=n.modeBarButtons,o;Array.isArray(a)&&a.length?o=Nut(a):!n.displayModeBar&&n.watermark?o=[]:o=zut(t),i?i.update(t,o):r._modeBar=Iut(t,o)};function zut(e){var t=e._fullLayout,r=e._fullData,n=e._context;function i(N,W){if(typeof W==\"string\"){if(W.toLowerCase()===N.toLowerCase())return!0}else{var re=W.name,ae=W._cat||W.name;if(re===N||ae===N.toLowerCase())return!0}return!1}var a=t.modebar.add;typeof a==\"string\"&&(a=[a]);var o=t.modebar.remove;typeof o==\"string\"&&(o=[o]);var s=n.modeBarButtonsToAdd.concat(a.filter(function(N){for(var W=0;W<n.modeBarButtonsToRemove.length;W++)if(i(N,n.modeBarButtonsToRemove[W]))return!1;return!0})),l=n.modeBarButtonsToRemove.concat(o.filter(function(N){for(var W=0;W<n.modeBarButtonsToAdd.length;W++)if(i(N,n.modeBarButtonsToAdd[W]))return!1;return!0})),u=t._has(\"cartesian\"),c=t._has(\"gl3d\"),f=t._has(\"geo\"),h=t._has(\"pie\"),d=t._has(\"funnelarea\"),v=t._has(\"ternary\"),x=t._has(\"mapbox\"),b=t._has(\"map\"),p=t._has(\"polar\"),E=t._has(\"smith\"),k=t._has(\"sankey\"),A=Fut(t),L=Put(t.hovermode),_=[];function C(N){if(N.length){for(var W=[],re=0;re<N.length;re++){for(var ae=N[re],_e=oP[ae],Me=_e.name.toLowerCase(),ke=(_e._cat||_e.name).toLowerCase(),ge=!1,ie=0;ie<l.length;ie++){var Te=l[ie].toLowerCase();if(Te===Me||Te===ke){ge=!0;break}}ge||W.push(oP[ae])}_.push(W)}}var M=[\"toImage\"];n.showEditInChartStudio?M.push(\"editInChartStudio\"):n.showSendToCloud&&M.push(\"sendDataToCloud\"),C(M);var g=[],P=[],T=[],F=[];(u||h||d||v)+f+c+x+b+p+E>1?(P=[\"toggleHover\"],T=[\"resetViews\"]):f?(g=[\"zoomInGeo\",\"zoomOutGeo\"],P=[\"hoverClosestGeo\"],T=[\"resetGeo\"]):c?(P=[\"hoverClosest3d\"],T=[\"resetCameraDefault3d\",\"resetCameraLastSave3d\"]):x?(g=[\"zoomInMapbox\",\"zoomOutMapbox\"],P=[\"toggleHover\"],T=[\"resetViewMapbox\"]):b?(g=[\"zoomInMap\",\"zoomOutMap\"],P=[\"toggleHover\"],T=[\"resetViewMap\"]):h?P=[\"hoverClosestPie\"]:k?(P=[\"hoverClosestCartesian\",\"hoverCompareCartesian\"],T=[\"resetViewSankey\"]):P=[\"toggleHover\"],u&&P.push(\"toggleSpikelines\",\"hoverClosestCartesian\",\"hoverCompareCartesian\"),(Out(r)||L)&&(P=[]),u&&!A&&(g=[\"zoomIn2d\",\"zoomOut2d\",\"autoScale2d\"],T[0]!==\"resetViews\"&&(T=[\"resetScale2d\"])),c?F=[\"zoom3d\",\"pan3d\",\"orbitRotation\",\"tableRotation\"]:u&&!A||v?F=[\"zoom2d\",\"pan2d\"]:x||b||f?F=[\"pan2d\"]:p&&(F=[\"zoom2d\"]),qut(r)&&F.push(\"select2d\",\"lasso2d\");var q=[],V=function(N){q.indexOf(N)===-1&&P.indexOf(N)!==-1&&q.push(N)};if(Array.isArray(s)){for(var H=[],X=0;X<s.length;X++){var G=s[X];typeof G==\"string\"?(G=G.toLowerCase(),Rut.indexOf(G)!==-1?(t._has(\"mapbox\")||t._has(\"map\")||t._has(\"cartesian\"))&&F.push(G):G===\"togglespikelines\"?V(\"toggleSpikelines\"):G===\"togglehover\"?V(\"toggleHover\"):G===\"hovercompare\"?V(\"hoverCompareCartesian\"):G===\"hoverclosest\"?(V(\"hoverClosestCartesian\"),V(\"hoverClosestGeo\"),V(\"hoverClosest3d\"),V(\"hoverClosestPie\")):G===\"v1hovermode\"&&(V(\"hoverClosestCartesian\"),V(\"hoverCompareCartesian\"),V(\"hoverClosestGeo\"),V(\"hoverClosest3d\"),V(\"hoverClosestPie\"))):H.push(G)}s=H}return C(F),C(g.concat(T)),C(q),But(_,s)}function Fut(e){for(var t=Lut.list({_fullLayout:e},null,!0),r=0;r<t.length;r++)if(!t[r].fixedrange)return!1;return!0}function qut(e){for(var t=!1,r=0;r<e.length&&!t;r++){var n=e[r];!n._module||!n._module.selectPoints||(iN.traceIs(n,\"scatter-like\")?(oce.hasMarkers(n)||oce.hasText(n))&&(t=!0):iN.traceIs(n,\"box-violin\")?(n.boxpoints===\"all\"||n.points===\"all\")&&(t=!0):t=!0)}return t}function Out(e){for(var t=0;t<e.length;t++)if(!iN.traceIs(e[t],\"noHover\"))return!1;return!0}function But(e,t){if(t.length)if(Array.isArray(t[0]))for(var r=0;r<t.length;r++)e.push(t[r]);else e.push(t);return e}function Nut(e){for(var t=Dut([],e),r=0;r<t.length;r++)for(var n=t[r],i=0;i<n.length;i++){var a=n[i];if(typeof a==\"string\")if(oP[a]!==void 0)t[r][i]=oP[a];else throw new Error([\"*modeBarButtons* configuration options\",\"invalid button name\"].join(\" \"))}return t}});var nN=ye((bir,uce)=>{\"use strict\";uce.exports={moduleType:\"component\",name:\"modebar\",layoutAttributes:tN(),supplyLayoutDefaults:tce(),manage:lce()}});var aN=ye((wir,cce)=>{\"use strict\";var Uut=Nh().FROM_BL;cce.exports=function(t,r,n){n===void 0&&(n=Uut[t.constraintoward||\"center\"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*n;t.range=t._input.range=[t.l2r(a+(i[0]-a)*r),t.l2r(a+(i[1]-a)*r)],t.setScale()}});var Bb=ye(dM=>{\"use strict\";var Ob=Mr(),oN=wg(),Mg=af().id2name,Vut=Cd(),fce=aN(),Hut=ym(),Gut=es().ALMOST_EQUAL,jut=Nh().FROM_BL;dM.handleDefaults=function(e,t,r){var n=r.axIds,i=r.axHasImage,a=t._axisConstraintGroups=[],o=t._axisMatchGroups=[],s,l,u,c,f,h,d,v;for(s=0;s<n.length;s++)c=Mg(n[s]),f=e[c],h=t[c],Wut(f,h,{axIds:n,layoutOut:t,hasImage:i[c]});function x(M,g){for(s=0;s<M.length;s++){l=M[s];for(u in l)t[Mg(u)][g]=l}}for(x(o,\"_matchGroup\"),s=0;s<a.length;s++){l=a[s];for(u in l)if(h=t[Mg(u)],h.fixedrange){for(var b in l){var p=Mg(b);(e[p]||{}).fixedrange===!1&&Ob.warn(\"fixedrange was specified as false for axis \"+p+\" but was overridden because another axis in its constraint group has fixedrange true\"),t[p].fixedrange=!0}break}}for(s=0;s<a.length;){l=a[s];for(u in l){h=t[Mg(u)],h._matchGroup&&Object.keys(h._matchGroup).length===Object.keys(l).length&&(a.splice(s,1),s--);break}s++}x(a,\"_constraintGroup\");var E=[\"constrain\",\"range\",\"autorange\",\"rangemode\",\"rangebreaks\",\"categoryorder\",\"categoryarray\"],k=!1,A=!1;function L(){v=h[d],d===\"rangebreaks\"&&(A=h._hasDayOfWeekBreaks)}for(s=0;s<o.length;s++){l=o[s];for(var _=0;_<E.length;_++){d=E[_],v=null;var C;for(u in l)if(c=Mg(u),f=e[c],h=t[c],d in h){if(!h.matches&&(C=h,d in f)){L();break}v===null&&d in f&&L()}if(d===\"range\"&&v&&f.range&&f.range.length===2&&f.range[0]!==null&&f.range[1]!==null&&(k=!0),d===\"autorange\"&&v===null&&k&&(v=!1),v===null&&d in C&&(v=C[d]),v!==null)for(u in l)h=t[Mg(u)],h[d]=d===\"range\"?v.slice():v,d===\"rangebreaks\"&&(h._hasDayOfWeekBreaks=A,Hut(h,t))}}};function Wut(e,t,r){var n=r.axIds,i=r.layoutOut,a=r.hasImage,o=i._axisConstraintGroups,s=i._axisMatchGroups,l=t._id,u=l.charAt(0),c=((i._splomAxes||{})[u]||{})[l]||{},f=t._id,h=f.charAt(0)===\"x\";t._matchGroup=null,t._constraintGroup=null;function d(F,q){return Ob.coerce(e,t,Vut,F,q)}d(\"constrain\",a?\"domain\":\"range\"),Ob.coerce(e,t,{constraintoward:{valType:\"enumerated\",values:h?[\"left\",\"center\",\"right\"]:[\"bottom\",\"middle\",\"top\"],dflt:h?\"center\":\"middle\"}},\"constraintoward\");var v=t.type,x,b,p=[];for(x=0;x<n.length;x++)if(b=n[x],b!==f){var E=i[Mg(b)];E.type===v&&p.push(b)}var k=vce(o,f);if(k){var A=[];for(x=0;x<p.length;x++)b=p[x],k[b]||A.push(b);p=A}var L=p.length,_,C;L&&(e.matches||c.matches)&&(_=Ob.coerce(e,t,{matches:{valType:\"enumerated\",values:p,dflt:p.indexOf(c.matches)!==-1?c.matches:void 0}},\"matches\"));var M=a&&!h?t.anchor:void 0;if(L&&!_&&(e.scaleanchor||M)&&(C=Ob.coerce(e,t,{scaleanchor:{valType:\"enumerated\",values:p.concat([!1])}},\"scaleanchor\",M)),_){t._matchGroup=sN(s,f,_,1);var g=i[Mg(_)],P=hce(i,t)/hce(i,g);h!==(_.charAt(0)===\"x\")&&(P=(h?\"x\":\"y\")+P),sN(o,f,_,P)}else e.matches&&n.indexOf(e.matches)!==-1&&Ob.warn(\"ignored \"+t._name+'.matches: \"'+e.matches+'\" to avoid an infinite loop');if(C){var T=d(\"scaleratio\");T||(T=t.scaleratio=1),sN(o,f,C,T)}else e.scaleanchor&&n.indexOf(e.scaleanchor)!==-1&&Ob.warn(\"ignored \"+t._name+'.scaleanchor: \"'+e.scaleanchor+'\" to avoid either an infinite loop and possibly inconsistent scaleratios, or because this axis declares a *matches* constraint.')}function hce(e,t){var r=t.domain;return r||(r=e[Mg(t.overlaying)].domain),r[1]-r[0]}function vce(e,t){for(var r=0;r<e.length;r++)if(e[r][t])return e[r];return null}function sN(e,t,r,n){var i,a,o,s,l,u=vce(e,t);u===null?(u={},u[t]=1,l=e.length,e.push(u)):l=e.indexOf(u);var c=Object.keys(u);for(i=0;i<e.length;i++)if(o=e[i],i!==l&&o[r]){var f=o[r];for(a=0;a<c.length;a++)s=c[a],o[s]=lN(f,lN(n,u[s]));e.splice(l,1);return}if(n!==1)for(a=0;a<c.length;a++){var h=c[a];u[h]=lN(n,u[h])}u[r]=1}function lN(e,t){var r=\"\",n=\"\",i,a;typeof e==\"string\"&&(r=e.match(/^[xy]*/)[0],i=r.length,e=+e.substr(i)),typeof t==\"string\"&&(n=t.match(/^[xy]*/)[0],a=n.length,t=+t.substr(a));var o=e*t;return!i&&!a?o:!i||!a||r.charAt(0)===n.charAt(0)?r+n+e*t:i===a?o:(i>a?r.substr(a):n.substr(i))+o}function Zut(e,t){for(var r=t._size,n=r.h/r.w,i={},a=Object.keys(e),o=0;o<a.length;o++){var s=a[o],l=e[s];if(typeof l==\"string\"){var u=l.match(/^[xy]*/)[0],c=u.length;l=+l.substr(c);for(var f=u.charAt(0)===\"y\"?n:1/n,h=0;h<c;h++)l*=f}i[s]=l}return i}dM.enforce=function(t){var r=t._fullLayout,n=r._axisConstraintGroups||[],i,a,o,s,l,u,c,f;for(i=0;i<n.length;i++){o=Zut(n[i],r);var h=Object.keys(o),d=1/0,v=0,x=1/0,b={},p={},E=!1;for(a=0;a<h.length;a++)s=h[a],p[s]=l=r[Mg(s)],l._inputDomain?l.domain=l._inputDomain.slice():l._inputDomain=l.domain.slice(),l._inputRange||(l._inputRange=l.range.slice()),l.setScale(),b[s]=u=Math.abs(l._m)/o[s],d=Math.min(d,u),(l.constrain===\"domain\"||!l._constraintShrinkable)&&(x=Math.min(x,u)),delete l._constraintShrinkable,v=Math.max(v,u),l.constrain===\"domain\"&&(E=!0);if(!(d>Gut*v&&!E)){for(a=0;a<h.length;a++)if(s=h[a],u=b[s],l=p[s],c=l.constrain,u!==x||c===\"domain\")if(f=u/x,c===\"range\")fce(l,f);else{var k=l._inputDomain,A=(l.domain[1]-l.domain[0])/(k[1]-k[0]),L=(l.r2l(l.range[1])-l.r2l(l.range[0]))/(l.r2l(l._inputRange[1])-l.r2l(l._inputRange[0]));if(f/=A,f*L<1){l.domain=l._input.domain=k.slice(),fce(l,f);continue}if(L<1&&(l.range=l._input.range=l._inputRange.slice(),f*=L),l.autorange){var _=l.r2l(l.range[0]),C=l.r2l(l.range[1]),M=(_+C)/2,g=M,P=M,T=Math.abs(C-M),F=M-T*f*1.0001,q=M+T*f*1.0001,V=oN.makePadFn(r,l,0),H=oN.makePadFn(r,l,1);dce(l,f);var X=Math.abs(l._m),G=oN.concatExtremes(t,l),N=G.min,W=G.max,re,ae;for(ae=0;ae<N.length;ae++)re=N[ae].val-V(N[ae])/X,re>F&&re<g&&(g=re);for(ae=0;ae<W.length;ae++)re=W[ae].val+H(W[ae])/X,re<q&&re>P&&(P=re);var _e=(P-g)/(2*T);f/=_e,g=l.l2r(g),P=l.l2r(P),l.range=l._input.range=_<C?[g,P]:[P,g]}dce(l,f)}}}};dM.getAxisGroup=function(t,r){for(var n=t._axisMatchGroups,i=0;i<n.length;i++){var a=n[i];if(a[r])return\"g\"+i}return r};dM.clean=function(t,r){if(r._inputDomain){for(var n=!1,i=r._id,a=t._fullLayout._axisConstraintGroups,o=0;o<a.length;o++)if(a[o][i]){n=!0;break}(!n||r.constrain!==\"domain\")&&(r._input.domain=r.domain=r._inputDomain,delete r._inputDomain)}};function dce(e,t){var r=e._inputDomain,n=jut[e.constraintoward],i=r[0]+(r[1]-r[0])*n;e.domain=e._input.domain=[i+(r[0]-i)/t,i+(r[1]-i)/t],e.setScale()}});var gM=ye(ld=>{\"use strict\";var lP=xa(),Bv=ba(),Jp=Xu(),M0=Mr(),uN=Pl(),cN=lM(),vM=va(),X3=ao(),pce=Mb(),xce=nN(),pM=Qa(),ky=Nh(),bce=Bb(),Xut=bce.enforce,Yut=bce.clean,gce=wg().doAutoRange,wce=\"start\",Kut=\"middle\",Tce=\"end\",Jut=ad().zindexSeparator;ld.layoutStyles=function(e){return M0.syncOrAsync([Jp.doAutoMargin,Qut],e)};function $ut(e,t,r){for(var n=0;n<r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]>=e[1]||i[1]<=e[0])&&a[0]<t[1]&&a[1]>t[0])return!0}return!1}function Qut(e){var t=e._fullLayout,r=t._size,n=r.p,i=pM.list(e,\"\",!0),a,o,s,l,u,c;if(t._paperdiv.style({width:e._context.responsive&&t.autosize&&!e._context._hasZeroWidth&&!e.layout.width?\"100%\":t.width+\"px\",height:e._context.responsive&&t.autosize&&!e._context._hasZeroHeight&&!e.layout.height?\"100%\":t.height+\"px\"}).selectAll(\".main-svg\").call(X3.setSize,t.width,t.height),e._context.setBackground(e,t.paper_bgcolor),ld.drawMainTitle(e),xce.manage(e),!t._has(\"cartesian\"))return Jp.previousPromises(e);function f(Ce,me,Re){var ce=Ce._lw/2;if(Ce._id.charAt(0)===\"x\"){if(me){if(Re===\"top\")return me._offset-n-ce}else return r.t+r.h*(1-(Ce.position||0))+ce%1;return me._offset+me._length+n+ce}if(me){if(Re===\"right\")return me._offset+me._length+n+ce}else return r.l+r.w*(Ce.position||0)+ce%1;return me._offset-n-ce}for(a=0;a<i.length;a++){l=i[a];var h=l._anchorAxis;l._linepositions={},l._lw=X3.crispRound(e,l.linewidth,1),l._mainLinePosition=f(l,h,l.side),l._mainMirrorPosition=l.mirror&&h?f(l,h,ky.OPPOSITE_SIDE[l.side]):null}var d=[],v=[],x=[],b=vM.opacity(t.paper_bgcolor)===1&&vM.opacity(t.plot_bgcolor)===1&&t.paper_bgcolor===t.plot_bgcolor;for(o in t._plots)if(s=t._plots[o],s.mainplot)s.bg&&s.bg.remove(),s.bg=void 0;else{var p=s.xaxis.domain,E=s.yaxis.domain,k=s.plotgroup;if($ut(p,E,x)&&o.indexOf(Jut)===-1){var A=k.node(),L=s.bg=M0.ensureSingle(k,\"rect\",\"bg\");A.insertBefore(L.node(),A.childNodes[0]),v.push(o)}else k.select(\"rect.bg\").remove(),x.push([p,E]),b||(d.push(o),v.push(o))}var _=t._bgLayer.selectAll(\".bg\").data(d);for(_.enter().append(\"rect\").classed(\"bg\",!0),_.exit().remove(),_.each(function(Ce){t._plots[Ce].bg=lP.select(this)}),a=0;a<v.length;a++)s=t._plots[v[a]],u=s.xaxis,c=s.yaxis,s.bg&&u._offset!==void 0&&c._offset!==void 0&&s.bg.call(X3.setRect,u._offset-n,c._offset-n,u._length+2*n,c._length+2*n).call(vM.fill,t.plot_bgcolor).style(\"stroke-width\",0);if(!t._hasOnlyLargeSploms)for(o in t._plots){s=t._plots[o],u=s.xaxis,c=s.yaxis;var C=s.clipId=\"clip\"+t._uid+o+\"plot\",M=M0.ensureSingleById(t._clips,\"clipPath\",C,function(Ce){Ce.classed(\"plotclip\",!0).append(\"rect\")});s.clipRect=M.select(\"rect\").attr({width:u._length,height:c._length}),X3.setTranslate(s.plot,u._offset,c._offset);var g,P;s._hasClipOnAxisFalse?(g=null,P=C):(g=C,P=null),X3.setClipUrl(s.plot,g,e),s.layerClipId=P}var T,F,q,V,H,X,G,N,W,re,ae,_e,Me;function ke(Ce){return\"M\"+T+\",\"+Ce+\"H\"+F}function ge(Ce){return\"M\"+u._offset+\",\"+Ce+\"h\"+u._length}function ie(Ce){return\"M\"+Ce+\",\"+N+\"V\"+G}function Te(Ce){return c._shift!==void 0&&(Ce+=c._shift),\"M\"+Ce+\",\"+c._offset+\"v\"+c._length}function Ee(Ce,me,Re){if(!Ce.showline||o!==Ce._mainSubplot)return\"\";if(!Ce._anchorAxis)return Re(Ce._mainLinePosition);var ce=me(Ce._mainLinePosition);return Ce.mirror&&(ce+=me(Ce._mainMirrorPosition)),ce}for(o in t._plots){s=t._plots[o],u=s.xaxis,c=s.yaxis;var Ae=\"M0,0\";mce(u,o)&&(H=sP(u,\"left\",c,i),T=u._offset-(H?n+H:0),X=sP(u,\"right\",c,i),F=u._offset+u._length+(X?n+X:0),q=f(u,c,\"bottom\"),V=f(u,c,\"top\"),Me=!u._anchorAxis||o!==u._mainSubplot,Me&&(u.mirror===\"allticks\"||u.mirror===\"all\")&&(u._linepositions[o]=[q,V]),Ae=Ee(u,ke,ge),Me&&u.showline&&(u.mirror===\"all\"||u.mirror===\"allticks\")&&(Ae+=ke(q)+ke(V)),s.xlines.style(\"stroke-width\",u._lw+\"px\").call(vM.stroke,u.showline?u.linecolor:\"rgba(0,0,0,0)\")),s.xlines.attr(\"d\",Ae);var ze=\"M0,0\";mce(c,o)&&(ae=sP(c,\"bottom\",u,i),G=c._offset+c._length+(ae?n:0),_e=sP(c,\"top\",u,i),N=c._offset-(_e?n:0),W=f(c,u,\"left\"),re=f(c,u,\"right\"),Me=!c._anchorAxis||o!==c._mainSubplot,Me&&(c.mirror===\"allticks\"||c.mirror===\"all\")&&(c._linepositions[o]=[W,re]),ze=Ee(c,ie,Te),Me&&c.showline&&(c.mirror===\"all\"||c.mirror===\"allticks\")&&(ze+=ie(W)+ie(re)),s.ylines.style(\"stroke-width\",c._lw+\"px\").call(vM.stroke,c.showline?c.linecolor:\"rgba(0,0,0,0)\")),s.ylines.attr(\"d\",ze)}return pM.makeClipPaths(e),Jp.previousPromises(e)}function mce(e,t){return(e.ticks||e.showline)&&(t===e._mainSubplot||e.mirror===\"all\"||e.mirror===\"allticks\")}function yce(e,t,r){if(!r.showline||!r._lw)return!1;if(r.mirror===\"all\"||r.mirror===\"allticks\")return!0;var n=r._anchorAxis;if(!n)return!1;var i=ky.FROM_BL[t];return r.side===t?n.domain[i]===e.domain[i]:r.mirror&&n.domain[1-i]===e.domain[1-i]}function sP(e,t,r,n){if(yce(e,t,r))return r._lw;for(var i=0;i<n.length;i++){var a=n[i];if(a._mainAxis===r._mainAxis&&yce(e,t,a))return a._lw}return 0}ld.drawMainTitle=function(e){var t=e._fullLayout.title,r=e._fullLayout,n=oct(r),i=sct(r),a=act(r,i),o=nct(r,n);if(pce.draw(e,\"gtitle\",{propContainer:r,propName:\"title.text\",subtitlePropName:\"title.subtitle.text\",placeholder:r._dfltTitle.plot,subtitlePlaceholder:r._dfltTitle.subtitle,attributes:{x:o,y:a,\"text-anchor\":n,dy:i}}),t.text&&t.automargin){var s=lP.selectAll(\".gtitle\"),l=X3.bBox(lP.selectAll(\".g-gtitle\").node()).height,u=rct(e,t,l);if(u>0){ict(e,a,u,l),s.attr({x:o,y:a,\"text-anchor\":n,dy:_ce(t.yanchor)}).call(uN.positionText,o,a);var c=(t.text.match(uN.BR_TAG_ALL)||[]).length;if(c){var f=ky.LINE_SPACING*c+ky.MID_SHIFT;t.y===0&&(f=-f),s.selectAll(\".line\").each(function(){var b=+this.getAttribute(\"dy\").slice(0,-2)-f+\"em\";this.setAttribute(\"dy\",b)})}var h=lP.selectAll(\".gtitle-subtitle\");if(h.node()){var d=s.node().getBBox(),v=d.y+d.height,x=v+pce.SUBTITLE_PADDING_EM*t.subtitle.font.size;h.attr({x:o,y:x,\"text-anchor\":n,dy:_ce(t.yanchor)}).call(uN.positionText,o,x)}}}};function ect(e,t,r,n,i){var a=t.yref===\"paper\"?e._fullLayout._size.h:e._fullLayout.height,o=M0.isTopAnchor(t)?n:n-i,s=r===\"b\"?a-o:o;return M0.isTopAnchor(t)&&r===\"t\"||M0.isBottomAnchor(t)&&r===\"b\"?!1:s<i}function tct(e,t,r,n,i){var a=0;return r===\"middle\"&&(a+=i/2),e===\"t\"?(r===\"top\"&&(a+=i),a+=n-t*n):(r===\"bottom\"&&(a+=i),a+=t*n),a}function rct(e,t,r){var n=t.y,i=t.yanchor,a=n>.5?\"t\":\"b\",o=e._fullLayout.margin[a],s=0;return t.yref===\"paper\"?s=r+t.pad.t+t.pad.b:t.yref===\"container\"&&(s=tct(a,n,i,e._fullLayout.height,r)+t.pad.t+t.pad.b),s>o?s:0}function ict(e,t,r,n){var i=\"title.automargin\",a=e._fullLayout.title,o=a.y>.5?\"t\":\"b\",s={x:a.x,y:a.y,t:0,b:0},l={};a.yref===\"paper\"&&ect(e,a,o,t,n)?s[o]=r:a.yref===\"container\"&&(l[o]=r,e._fullLayout._reservedMargin[i]=l),Jp.allowAutoMargin(e,i),Jp.autoMargin(e,i,s)}function nct(e,t){var r=e.title,n=e._size,i=0;switch(t===wce?i=r.pad.l:t===Tce&&(i=-r.pad.r),r.xref){case\"paper\":return n.l+n.w*r.x+i;case\"container\":default:return e.width*r.x+i}}function act(e,t){var r=e.title,n=e._size,i=0;if(t===\"0em\"||!t?i=-r.pad.b:t===ky.CAP_SHIFT+\"em\"&&(i=r.pad.t),r.y===\"auto\")return n.t/2;switch(r.yref){case\"paper\":return n.t+n.h-n.h*r.y+i;case\"container\":default:return e.height-e.height*r.y+i}}function _ce(e){return e===\"top\"?ky.CAP_SHIFT+.3+\"em\":e===\"bottom\"?\"-0.3em\":ky.MID_SHIFT+\"em\"}function oct(e){var t=e.title,r=Kut;return M0.isRightAnchor(t)?r=Tce:M0.isLeftAnchor(t)&&(r=wce),r}function sct(e){var t=e.title,r=\"0em\";return M0.isTopAnchor(t)?r=ky.CAP_SHIFT+\"em\":M0.isMiddleAnchor(t)&&(r=ky.MID_SHIFT+\"em\"),r}ld.doTraceStyle=function(e){var t=e.calcdata,r=[],n;for(n=0;n<t.length;n++){var i=t[n],a=i[0]||{},o=a.trace||{},s=o._module||{},l=s.arraysToCalcdata;l&&l(i,o);var u=s.editStyle;u&&r.push({fn:u,cd0:a})}if(r.length){for(n=0;n<r.length;n++){var c=r[n];c.fn(e,c.cd0)}cN(e),ld.redrawReglTraces(e)}return Jp.style(e),Bv.getComponentMethod(\"legend\",\"draw\")(e),Jp.previousPromises(e)};ld.doColorBars=function(e){return Bv.getComponentMethod(\"colorbar\",\"draw\")(e),Jp.previousPromises(e)};ld.layoutReplot=function(e){var t=e.layout;return e.layout=void 0,Bv.call(\"_doPlot\",e,\"\",t)};ld.doLegend=function(e){return Bv.getComponentMethod(\"legend\",\"draw\")(e),Jp.previousPromises(e)};ld.doTicksRelayout=function(e){return pM.draw(e,\"redraw\"),e._fullLayout._hasOnlyLargeSploms&&(Bv.subplotsRegistry.splom.updateGrid(e),cN(e),ld.redrawReglTraces(e)),ld.drawMainTitle(e),Jp.previousPromises(e)};ld.doModeBar=function(e){var t=e._fullLayout;xce.manage(e);for(var r=0;r<t._basePlotModules.length;r++){var n=t._basePlotModules[r].updateFx;n&&n(e)}return Jp.previousPromises(e)};ld.doCamera=function(e){for(var t=e._fullLayout,r=t._subplots.gl3d,n=0;n<r.length;n++){var i=t[r[n]],a=i._scene;a.setViewport(i)}};ld.drawData=function(e){var t=e._fullLayout;cN(e);for(var r=t._basePlotModules,n=0;n<r.length;n++)r[n].plot(e);return ld.redrawReglTraces(e),Jp.style(e),Bv.getComponentMethod(\"selections\",\"draw\")(e),Bv.getComponentMethod(\"shapes\",\"draw\")(e),Bv.getComponentMethod(\"annotations\",\"draw\")(e),Bv.getComponentMethod(\"images\",\"draw\")(e),t._replotting=!1,Jp.previousPromises(e)};ld.redrawReglTraces=function(e){var t=e._fullLayout;if(t._has(\"regl\")){var r=e._fullData,n=[],i=[],a,o;for(t._hasOnlyLargeSploms&&t._splomGrid.draw(),a=0;a<r.length;a++){var s=r[a];s.visible===!0&&s._length!==0&&(s.type===\"splom\"?t._splomScenes[s.uid].draw():s.type===\"scattergl\"?M0.pushUnique(n,s.xaxis+s.yaxis):s.type===\"scatterpolargl\"&&M0.pushUnique(i,s.subplot))}for(a=0;a<n.length;a++)o=t._plots[n[a]],o._scene&&o._scene.draw();for(a=0;a<i.length;a++)o=t[i[a]]._subplot,o._scene&&o._scene.draw()}};ld.doAutoRangeAndConstraints=function(e){for(var t=pM.list(e,\"\",!0),r,n={},i=0;i<t.length;i++)if(r=t[i],!n[r._id]){n[r._id]=1,Yut(e,r),gce(e,r);var a=r._matchGroup;if(a)for(var o in a){var s=pM.getFromId(e,o);gce(e,s,r.range),n[o]=1}}Xut(e)};ld.finalDraw=function(e){Bv.getComponentMethod(\"rangeslider\",\"draw\")(e),Bv.getComponentMethod(\"rangeselector\",\"draw\")(e)};ld.drawMarginPushers=function(e){Bv.getComponentMethod(\"legend\",\"draw\")(e),Bv.getComponentMethod(\"rangeselector\",\"draw\")(e),Bv.getComponentMethod(\"sliders\",\"draw\")(e),Bv.getComponentMethod(\"updatemenus\",\"draw\")(e),Bv.getComponentMethod(\"colorbar\",\"draw\")(e)}});var dN=ye((Sir,kce)=>{\"use strict\";var lct=c_().readPaths,uct=$L(),Ace=e_().clearOutlineControllers,fN=va(),Sce=ao(),cct=Vs().arrayEditor,Mce=h_(),fct=Mce.getPathString;kce.exports={draw:uP,drawOne:Ece,activateLastSelection:vct};function uP(e){var t=e._fullLayout;Ace(e),t._selectionLayer.selectAll(\"path\").remove();for(var r in t._plots){var n=t._plots[r].selectionLayer;n&&n.selectAll(\"path\").remove()}for(var i=0;i<t.selections.length;i++)Ece(e,i)}function cP(e){return e._context.editSelection}function Ece(e,t){e._fullLayout._paperdiv.selectAll('.selectionlayer [data-index=\"'+t+'\"]').remove();var r=Mce.makeSelectionsOptionsAndPlotinfo(e,t),n=r.options,i=r.plotinfo;if(!n._input)return;a(e._fullLayout._selectionLayer);function a(o){var s=fct(e,n),l={\"data-index\":t,\"fill-rule\":\"evenodd\",d:s},u=n.opacity,c=\"rgba(0,0,0,0)\",f=n.line.color||fN.contrast(e._fullLayout.plot_bgcolor),h=n.line.width,d=n.line.dash;h||(h=5,d=\"solid\");var v=cP(e)&&e._fullLayout._activeSelectionIndex===t;v&&(c=e._fullLayout.activeselection.fillcolor,u=e._fullLayout.activeselection.opacity);for(var x=[],b=1;b>=0;b--){var p=o.append(\"path\").attr(l).style(\"opacity\",b?.1:u).call(fN.stroke,f).call(fN.fill,c).call(Sce.dashLine,b?\"solid\":d,b?4+h:h);if(hct(p,e,n),v){var E=cct(e.layout,\"selections\",n);p.style({cursor:\"move\"});var k={element:p.node(),plotinfo:i,gd:e,editHelpers:E,isActiveSelection:!0},A=lct(s,e);uct(A,p,k)}else p.style(\"pointer-events\",b?\"all\":\"none\");x[b]=p}var L=x[0],_=x[1];_.node().addEventListener(\"click\",function(){return dct(e,L)})}}function hct(e,t,r){var n=r.xref+r.yref;Sce.setClipUrl(e,\"clip\"+t._fullLayout._uid+n,t)}function dct(e,t){if(cP(e)){var r=t.node(),n=+r.getAttribute(\"data-index\");if(n>=0){if(n===e._fullLayout._activeSelectionIndex){hN(e);return}e._fullLayout._activeSelectionIndex=n,e._fullLayout._deactivateSelection=hN,uP(e)}}}function vct(e){if(cP(e)){var t=e._fullLayout.selections.length-1;e._fullLayout._activeSelectionIndex=t,e._fullLayout._deactivateSelection=hN,uP(e)}}function hN(e){if(cP(e)){var t=e._fullLayout._activeSelectionIndex;t>=0&&(Ace(e),delete e._fullLayout._activeSelectionIndex,uP(e))}}});var Lce=ye((Mir,Cce)=>{function pct(){var e,t=0,r=!1;function n(i,a){return e.list.push({type:i,data:a?JSON.parse(JSON.stringify(a)):void 0}),e}return e={list:[],segmentId:function(){return t++},checkIntersection:function(i,a){return n(\"check\",{seg1:i,seg2:a})},segmentChop:function(i,a){return n(\"div_seg\",{seg:i,pt:a}),n(\"chop\",{seg:i,pt:a})},statusRemove:function(i){return n(\"pop_seg\",{seg:i})},segmentUpdate:function(i){return n(\"seg_update\",{seg:i})},segmentNew:function(i,a){return n(\"new_seg\",{seg:i,primary:a})},segmentRemove:function(i){return n(\"rem_seg\",{seg:i})},tempStatus:function(i,a,o){return n(\"temp_status\",{seg:i,above:a,below:o})},rewind:function(i){return n(\"rewind\",{seg:i})},status:function(i,a,o){return n(\"status\",{seg:i,above:a,below:o})},vert:function(i){return i===r?e:(r=i,n(\"vert\",{x:i}))},log:function(i){return typeof i!=\"string\"&&(i=JSON.stringify(i,!1,\" \")),n(\"log\",{txt:i})},reset:function(){return n(\"reset\")},selected:function(i){return n(\"selected\",{segs:i})},chainStart:function(i){return n(\"chain_start\",{seg:i})},chainRemoveHead:function(i,a){return n(\"chain_rem_head\",{index:i,pt:a})},chainRemoveTail:function(i,a){return n(\"chain_rem_tail\",{index:i,pt:a})},chainNew:function(i,a){return n(\"chain_new\",{pt1:i,pt2:a})},chainMatch:function(i){return n(\"chain_match\",{index:i})},chainClose:function(i){return n(\"chain_close\",{index:i})},chainAddHead:function(i,a){return n(\"chain_add_head\",{index:i,pt:a})},chainAddTail:function(i,a){return n(\"chain_add_tail\",{index:i,pt:a})},chainConnect:function(i,a){return n(\"chain_con\",{index1:i,index2:a})},chainReverse:function(i){return n(\"chain_rev\",{index:i})},chainJoin:function(i,a){return n(\"chain_join\",{index1:i,index2:a})},done:function(){return n(\"done\")}},e}Cce.exports=pct});var Ice=ye((Eir,Pce)=>{function gct(e){typeof e!=\"number\"&&(e=1e-10);var t={epsilon:function(r){return typeof r==\"number\"&&(e=r),e},pointAboveOrOnLine:function(r,n,i){var a=n[0],o=n[1],s=i[0],l=i[1],u=r[0],c=r[1];return(s-a)*(c-o)-(l-o)*(u-a)>=-e},pointBetween:function(r,n,i){var a=r[1]-n[1],o=i[0]-n[0],s=r[0]-n[0],l=i[1]-n[1],u=s*o+a*l;if(u<e)return!1;var c=o*o+l*l;return!(u-c>-e)},pointsSameX:function(r,n){return Math.abs(r[0]-n[0])<e},pointsSameY:function(r,n){return Math.abs(r[1]-n[1])<e},pointsSame:function(r,n){return t.pointsSameX(r,n)&&t.pointsSameY(r,n)},pointsCompare:function(r,n){return t.pointsSameX(r,n)?t.pointsSameY(r,n)?0:r[1]<n[1]?-1:1:r[0]<n[0]?-1:1},pointsCollinear:function(r,n,i){var a=r[0]-n[0],o=r[1]-n[1],s=n[0]-i[0],l=n[1]-i[1];return Math.abs(a*l-s*o)<e},linesIntersect:function(r,n,i,a){var o=n[0]-r[0],s=n[1]-r[1],l=a[0]-i[0],u=a[1]-i[1],c=o*u-s*l;if(Math.abs(c)<e)return!1;var f=r[0]-i[0],h=r[1]-i[1],d=(l*h-u*f)/c,v=(o*h-s*f)/c,x={alongA:0,alongB:0,pt:[r[0]+d*o,r[1]+d*s]};return d<=-e?x.alongA=-2:d<e?x.alongA=-1:d-1<=-e?x.alongA=0:d-1<e?x.alongA=1:x.alongA=2,v<=-e?x.alongB=-2:v<e?x.alongB=-1:v-1<=-e?x.alongB=0:v-1<e?x.alongB=1:x.alongB=2,x},pointInsideRegion:function(r,n){for(var i=r[0],a=r[1],o=n[n.length-1][0],s=n[n.length-1][1],l=!1,u=0;u<n.length;u++){var c=n[u][0],f=n[u][1];f-a>e!=s-a>e&&(o-c)*(a-f)/(s-f)+c-i>e&&(l=!l),o=c,s=f}return l}};return t}Pce.exports=gct});var Dce=ye((kir,Rce)=>{var mct={create:function(){var e={root:{root:!0,next:null},exists:function(t){return!(t===null||t===e.root)},isEmpty:function(){return e.root.next===null},getHead:function(){return e.root.next},insertBefore:function(t,r){for(var n=e.root,i=e.root.next;i!==null;){if(r(i)){t.prev=i.prev,t.next=i,i.prev.next=t,i.prev=t;return}n=i,i=i.next}n.next=t,t.prev=n,t.next=null},findTransition:function(t){for(var r=e.root,n=e.root.next;n!==null&&!t(n);)r=n,n=n.next;return{before:r===e.root?null:r,after:n,insert:function(i){return i.prev=r,i.next=n,r.next=i,n!==null&&(n.prev=i),i}}}};return e},node:function(e){return e.prev=null,e.next=null,e.remove=function(){e.prev.next=e.next,e.next&&(e.next.prev=e.prev),e.prev=null,e.next=null},e}};Rce.exports=mct});var Fce=ye((Cir,zce)=>{var mM=Dce();function yct(e,t,r){function n(v,x){return{id:r?r.segmentId():-1,start:v,end:x,myFill:{above:null,below:null},otherFill:null}}function i(v,x,b){return{id:r?r.segmentId():-1,start:v,end:x,myFill:{above:b.myFill.above,below:b.myFill.below},otherFill:null}}var a=mM.create();function o(v,x,b,p,E,k){var A=t.pointsCompare(x,E);return A!==0?A:t.pointsSame(b,k)?0:v!==p?v?1:-1:t.pointAboveOrOnLine(b,p?E:k,p?k:E)?1:-1}function s(v,x){a.insertBefore(v,function(b){var p=o(v.isStart,v.pt,x,b.isStart,b.pt,b.other.pt);return p<0})}function l(v,x){var b=mM.node({isStart:!0,pt:v.start,seg:v,primary:x,other:null,status:null});return s(b,v.end),b}function u(v,x,b){var p=mM.node({isStart:!1,pt:x.end,seg:x,primary:b,other:v,status:null});v.other=p,s(p,v.pt)}function c(v,x){var b=l(v,x);return u(b,v,x),b}function f(v,x){r&&r.segmentChop(v.seg,x),v.other.remove(),v.seg.end=x,v.other.pt=x,s(v.other,v.pt)}function h(v,x){var b=i(x,v.seg.end,v.seg);return f(v,x),c(b,v.primary)}function d(v,x){var b=mM.create();function p(H,X){var G=H.seg.start,N=H.seg.end,W=X.seg.start,re=X.seg.end;return t.pointsCollinear(G,W,re)?t.pointsCollinear(N,W,re)||t.pointAboveOrOnLine(N,W,re)?1:-1:t.pointAboveOrOnLine(G,W,re)?1:-1}function E(H){return b.findTransition(function(X){var G=p(H,X.ev);return G>0})}function k(H,X){var G=H.seg,N=X.seg,W=G.start,re=G.end,ae=N.start,_e=N.end;r&&r.checkIntersection(G,N);var Me=t.linesIntersect(W,re,ae,_e);if(Me===!1){if(!t.pointsCollinear(W,re,ae)||t.pointsSame(W,_e)||t.pointsSame(re,ae))return!1;var ke=t.pointsSame(W,ae),ge=t.pointsSame(re,_e);if(ke&&ge)return X;var ie=!ke&&t.pointBetween(W,ae,_e),Te=!ge&&t.pointBetween(re,ae,_e);if(ke)return Te?h(X,re):h(H,_e),X;ie&&(ge||(Te?h(X,re):h(H,_e)),h(X,W))}else Me.alongA===0&&(Me.alongB===-1?h(H,ae):Me.alongB===0?h(H,Me.pt):Me.alongB===1&&h(H,_e)),Me.alongB===0&&(Me.alongA===-1?h(X,W):Me.alongA===0?h(X,Me.pt):Me.alongA===1&&h(X,re));return!1}for(var A=[];!a.isEmpty();){var L=a.getHead();if(r&&r.vert(L.pt[0]),L.isStart){let H=function(){if(C){var X=k(L,C);if(X)return X}return M?k(L,M):!1};var V=H;r&&r.segmentNew(L.seg,L.primary);var _=E(L),C=_.before?_.before.ev:null,M=_.after?_.after.ev:null;r&&r.tempStatus(L.seg,C?C.seg:!1,M?M.seg:!1);var g=H();if(g){if(e){var P;L.seg.myFill.below===null?P=!0:P=L.seg.myFill.above!==L.seg.myFill.below,P&&(g.seg.myFill.above=!g.seg.myFill.above)}else g.seg.otherFill=L.seg.myFill;r&&r.segmentUpdate(g.seg),L.other.remove(),L.remove()}if(a.getHead()!==L){r&&r.rewind(L.seg);continue}if(e){var P;L.seg.myFill.below===null?P=!0:P=L.seg.myFill.above!==L.seg.myFill.below,M?L.seg.myFill.below=M.seg.myFill.above:L.seg.myFill.below=v,P?L.seg.myFill.above=!L.seg.myFill.below:L.seg.myFill.above=L.seg.myFill.below}else if(L.seg.otherFill===null){var T;M?L.primary===M.primary?T=M.seg.otherFill.above:T=M.seg.myFill.above:T=L.primary?x:v,L.seg.otherFill={above:T,below:T}}r&&r.status(L.seg,C?C.seg:!1,M?M.seg:!1),L.other.status=_.insert(mM.node({ev:L}))}else{var F=L.status;if(F===null)throw new Error(\"PolyBool: Zero-length segment detected; your epsilon is probably too small or too large\");if(b.exists(F.prev)&&b.exists(F.next)&&k(F.prev.ev,F.next.ev),r&&r.statusRemove(F.ev.seg),F.remove(),!L.primary){var q=L.seg.myFill;L.seg.myFill=L.seg.otherFill,L.seg.otherFill=q}A.push(L.seg)}a.getHead().remove()}return r&&r.done(),A}return e?{addRegion:function(v){for(var x,b=v[v.length-1],p=0;p<v.length;p++){x=b,b=v[p];var E=t.pointsCompare(x,b);E!==0&&c(n(E<0?x:b,E<0?b:x),!0)}},calculate:function(v){return d(v,!1)}}:{calculate:function(v,x,b,p){return v.forEach(function(E){c(i(E.start,E.end,E),!0)}),b.forEach(function(E){c(i(E.start,E.end,E),!1)}),d(x,p)}}}zce.exports=yct});var Oce=ye((Lir,qce)=>{function _ct(e,t,r){var n=[],i=[];return e.forEach(function(a){var o=a.start,s=a.end;if(t.pointsSame(o,s)){console.warn(\"PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large\");return}r&&r.chainStart(a);var l={index:0,matches_head:!1,matches_pt1:!1},u={index:0,matches_head:!1,matches_pt1:!1},c=l;function f(V,H,X){return c.index=V,c.matches_head=H,c.matches_pt1=X,c===l?(c=u,!1):(c=null,!0)}for(var h=0;h<n.length;h++){var d=n[h],v=d[0],x=d[1],b=d[d.length-1],p=d[d.length-2];if(t.pointsSame(v,o)){if(f(h,!0,!0))break}else if(t.pointsSame(v,s)){if(f(h,!0,!1))break}else if(t.pointsSame(b,o)){if(f(h,!1,!0))break}else if(t.pointsSame(b,s)&&f(h,!1,!1))break}if(c===l){n.push([o,s]),r&&r.chainNew(o,s);return}if(c===u){r&&r.chainMatch(l.index);var E=l.index,k=l.matches_pt1?s:o,A=l.matches_head,d=n[E],L=A?d[0]:d[d.length-1],_=A?d[1]:d[d.length-2],C=A?d[d.length-1]:d[0],M=A?d[d.length-2]:d[1];if(t.pointsCollinear(_,L,k)&&(A?(r&&r.chainRemoveHead(l.index,k),d.shift()):(r&&r.chainRemoveTail(l.index,k),d.pop()),L=_),t.pointsSame(C,k)){n.splice(E,1),t.pointsCollinear(M,C,L)&&(A?(r&&r.chainRemoveTail(l.index,L),d.pop()):(r&&r.chainRemoveHead(l.index,L),d.shift())),r&&r.chainClose(l.index),i.push(d);return}A?(r&&r.chainAddHead(l.index,k),d.unshift(k)):(r&&r.chainAddTail(l.index,k),d.push(k));return}function g(V){r&&r.chainReverse(V),n[V].reverse()}function P(V,H){var X=n[V],G=n[H],N=X[X.length-1],W=X[X.length-2],re=G[0],ae=G[1];t.pointsCollinear(W,N,re)&&(r&&r.chainRemoveTail(V,N),X.pop(),N=W),t.pointsCollinear(N,re,ae)&&(r&&r.chainRemoveHead(H,re),G.shift()),r&&r.chainJoin(V,H),n[V]=X.concat(G),n.splice(H,1)}var T=l.index,F=u.index;r&&r.chainConnect(T,F);var q=n[T].length<n[F].length;l.matches_head?u.matches_head?q?(g(T),P(T,F)):(g(F),P(F,T)):P(F,T):u.matches_head?P(T,F):q?(g(T),P(F,T)):(g(F),P(T,F))}),i}qce.exports=_ct});var Nce=ye((Pir,Bce)=>{function yM(e,t,r){var n=[];return e.forEach(function(i){var a=(i.myFill.above?8:0)+(i.myFill.below?4:0)+(i.otherFill&&i.otherFill.above?2:0)+(i.otherFill&&i.otherFill.below?1:0);t[a]!==0&&n.push({id:r?r.segmentId():-1,start:i.start,end:i.end,myFill:{above:t[a]===1,below:t[a]===2},otherFill:null})}),r&&r.selected(n),n}var xct={union:function(e,t){return yM(e,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],t)},intersect:function(e,t){return yM(e,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],t)},difference:function(e,t){return yM(e,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],t)},differenceRev:function(e,t){return yM(e,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],t)},xor:function(e,t){return yM(e,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],t)}};Bce.exports=xct});var Vce=ye((Iir,Uce)=>{var bct={toPolygon:function(e,t){function r(a){if(a.length<=0)return e.segments({inverted:!1,regions:[]});function o(u){var c=u.slice(0,u.length-1);return e.segments({inverted:!1,regions:[c]})}for(var s=o(a[0]),l=1;l<a.length;l++)s=e.selectDifference(e.combine(s,o(a[l])));return s}if(t.type===\"Polygon\")return e.polygon(r(t.coordinates));if(t.type===\"MultiPolygon\"){for(var n=e.segments({inverted:!1,regions:[]}),i=0;i<t.coordinates.length;i++)n=e.selectUnion(e.combine(n,r(t.coordinates[i])));return e.polygon(n)}throw new Error(\"PolyBool: Cannot convert GeoJSON object to PolyBool polygon\")},fromPolygon:function(e,t,r){r=e.polygon(e.segments(r));function n(d,v){return t.pointInsideRegion([(d[0][0]+d[1][0])*.5,(d[0][1]+d[1][1])*.5],v)}function i(d){return{region:d,children:[]}}var a=i(null);function o(d,v){for(var x=0;x<d.children.length;x++){var b=d.children[x];if(n(v,b.region)){o(b,v);return}}for(var p=i(v),x=0;x<d.children.length;x++){var b=d.children[x];n(b.region,v)&&(p.children.push(b),d.children.splice(x,1),x--)}d.children.push(p)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(a,l)}function u(d,v){for(var x=0,b=d[d.length-1][0],p=d[d.length-1][1],E=[],k=0;k<d.length;k++){var A=d[k][0],L=d[k][1];E.push([A,L]),x+=L*b-A*p,b=A,p=L}var _=x<0;return _!==v&&E.reverse(),E.push([E[0][0],E[0][1]]),E}var c=[];function f(d){var v=[u(d.region,!1)];c.push(v);for(var x=0;x<d.children.length;x++)v.push(h(d.children[x]))}function h(d){for(var v=0;v<d.children.length;v++)f(d.children[v]);return u(d.region,!0)}for(var s=0;s<a.children.length;s++)f(a.children[s]);return c.length<=0?{type:\"Polygon\",coordinates:[]}:c.length==1?{type:\"Polygon\",coordinates:c[0]}:{type:\"MultiPolygon\",coordinates:c}}};Uce.exports=bct});var Wce=ye((Rir,jce)=>{var wct=Lce(),Tct=Ice(),Hce=Fce(),Act=Oce(),_M=Nce(),Gce=Vce(),E0=!1,xM=Tct(),Ep;Ep={buildLog:function(e){return e===!0?E0=wct():e===!1&&(E0=!1),E0===!1?!1:E0.list},epsilon:function(e){return xM.epsilon(e)},segments:function(e){var t=Hce(!0,xM,E0);return e.regions.forEach(t.addRegion),{segments:t.calculate(e.inverted),inverted:e.inverted}},combine:function(e,t){var r=Hce(!1,xM,E0);return{combined:r.calculate(e.segments,e.inverted,t.segments,t.inverted),inverted1:e.inverted,inverted2:t.inverted}},selectUnion:function(e){return{segments:_M.union(e.combined,E0),inverted:e.inverted1||e.inverted2}},selectIntersect:function(e){return{segments:_M.intersect(e.combined,E0),inverted:e.inverted1&&e.inverted2}},selectDifference:function(e){return{segments:_M.difference(e.combined,E0),inverted:e.inverted1&&!e.inverted2}},selectDifferenceRev:function(e){return{segments:_M.differenceRev(e.combined,E0),inverted:!e.inverted1&&e.inverted2}},selectXor:function(e){return{segments:_M.xor(e.combined,E0),inverted:e.inverted1!==e.inverted2}},polygon:function(e){return{regions:Act(e.segments,xM,E0),inverted:e.inverted}},polygonFromGeoJSON:function(e){return Gce.toPolygon(Ep,e)},polygonToGeoJSON:function(e){return Gce.fromPolygon(Ep,xM,e)},union:function(e,t){return bM(e,t,Ep.selectUnion)},intersect:function(e,t){return bM(e,t,Ep.selectIntersect)},difference:function(e,t){return bM(e,t,Ep.selectDifference)},differenceRev:function(e,t){return bM(e,t,Ep.selectDifferenceRev)},xor:function(e,t){return bM(e,t,Ep.selectXor)}};function bM(e,t,r){var n=Ep.segments(e),i=Ep.segments(t),a=Ep.combine(n,i),o=r(a);return Ep.polygon(o)}typeof window==\"object\"&&(window.PolyBool=Ep);jce.exports=Ep});var Xce=ye((Dir,Zce)=>{Zce.exports=function(t,r,n,i){var a=t[0],o=t[1],s=!1;n===void 0&&(n=0),i===void 0&&(i=r.length);for(var l=i-n,u=0,c=l-1;u<l;c=u++){var f=r[u+n][0],h=r[u+n][1],d=r[c+n][0],v=r[c+n][1],x=h>o!=v>o&&a<(d-f)*(o-h)/(v-h)+f;x&&(s=!s)}return s}});var wM=ye((zir,Yce)=>{\"use strict\";var vN=m6().dot,fP=es().BADNUM,hP=Yce.exports={};hP.tester=function(t){var r=t.slice(),n=r[0][0],i=n,a=r[0][1],o=a,s;for((r[r.length-1][0]!==r[0][0]||r[r.length-1][1]!==r[0][1])&&r.push(r[0]),s=1;s<r.length;s++)n=Math.min(n,r[s][0]),i=Math.max(i,r[s][0]),a=Math.min(a,r[s][1]),o=Math.max(o,r[s][1]);var l=!1,u;r.length===5&&(r[0][0]===r[1][0]?r[2][0]===r[3][0]&&r[0][1]===r[3][1]&&r[1][1]===r[2][1]&&(l=!0,u=function(v){return v[0]===r[0][0]}):r[0][1]===r[1][1]&&r[2][1]===r[3][1]&&r[0][0]===r[3][0]&&r[1][0]===r[2][0]&&(l=!0,u=function(v){return v[1]===r[0][1]}));function c(v,x){var b=v[0],p=v[1];return!(b===fP||b<n||b>i||p===fP||p<a||p>o||x&&u(v))}function f(v,x){var b=v[0],p=v[1];if(b===fP||b<n||b>i||p===fP||p<a||p>o)return!1;var E=r.length,k=r[0][0],A=r[0][1],L=0,_,C,M,g,P;for(_=1;_<E;_++)if(C=k,M=A,k=r[_][0],A=r[_][1],g=Math.min(C,k),!(b<g||b>Math.max(C,k)||p>Math.max(M,A)))if(p<Math.min(M,A))b!==g&&L++;else{if(k===C?P=p:P=M+(b-C)*(A-M)/(k-C),p===P)return!(_===1&&x);p<=P&&b!==g&&L++}return L%2===1}var h=!0,d=r[0];for(s=1;s<r.length;s++)if(d[0]!==r[s][0]||d[1]!==r[s][1]){h=!1;break}return{xmin:n,xmax:i,ymin:a,ymax:o,pts:r,contains:l?c:f,isRect:l,degenerate:h}};hP.isSegmentBent=function(t,r,n,i){var a=t[r],o=[t[n][0]-a[0],t[n][1]-a[1]],s=vN(o,o),l=Math.sqrt(s),u=[-o[1]/l,o[0]/l],c,f,h;for(c=r+1;c<n;c++)if(f=[t[c][0]-a[0],t[c][1]-a[1]],h=vN(f,o),h<0||h>s||Math.abs(vN(f,u))>i)return!0;return!1};hP.filter=function(t,r){var n=[t[0]],i=0,a=0;function o(l){t.push(l);var u=n.length,c=i;n.splice(a+1);for(var f=c+1;f<t.length;f++)(f===t.length-1||hP.isSegmentBent(t,c,f+1,r))&&(n.push(t[f]),n.length<u-2&&(i=f,a=n.length-1),c=f)}if(t.length>1){var s=t.pop();o(s)}return{addPt:o,raw:t,filtered:n}}});var Jce=ye((Fir,Kce)=>{\"use strict\";Kce.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:\"-select\"}});var _fe=ye((qir,yfe)=>{\"use strict\";var $ce=Wce(),Sct=Xce(),SM=ba(),Mct=ao().dashStyle,TM=va(),Ect=Nc(),kct=rp().makeEventData,LM=Sg(),Cct=LM.freeMode,Lct=LM.rectMode,MM=LM.drawMode,yN=LM.openMode,_N=LM.selectMode,Qce=h_(),efe=cM(),afe=$L(),ofe=e_().clearOutline,sfe=c_(),pN=sfe.handleEllipse,Pct=sfe.readPaths,Ict=XL().newShapes,Rct=VB(),Dct=dN().activateLastSelection,vP=Mr(),zct=vP.sorterAsc,lfe=wM(),AM=P6(),k0=af().getFromId,Fct=lM(),qct=gM().redrawReglTraces,pP=Jce(),Am=pP.MINSELECT,Oct=lfe.filter,xN=lfe.tester,bN=GL(),tfe=bN.p2r,Bct=bN.axValue,Nct=bN.getTransform;function wN(e){return e.subplot!==void 0}function Uct(e,t,r,n,i){var a=!wN(n),o=Cct(i),s=Lct(i),l=yN(i),u=MM(i),c=_N(i),f=i===\"drawline\",h=i===\"drawcircle\",d=f||h,v=n.gd,x=v._fullLayout,b=c&&x.newselection.mode===\"immediate\"&&a,p=x._zoomlayer,E=n.element.getBoundingClientRect(),k=n.plotinfo,A=Nct(k),L=t-E.left,_=r-E.top;x._calcInverseTransform(v);var C=vP.apply3DTransform(x._invTransform)(L,_);L=C[0],_=C[1];var M=x._invScaleX,g=x._invScaleY,P=L,T=_,F=\"M\"+L+\",\"+_,q=n.xaxes[0],V=n.yaxes[0],H=q._length,X=V._length,G=e.altKey&&!(MM(i)&&l),N,W,re,ae,_e,Me,ke;cfe(e,v,n),o&&(N=Oct([[L,_]],pP.BENDPX));var ge=p.selectAll(\"path.select-outline-\"+k.id).data([1]),ie=u?x.newshape:x.newselection;u&&(n.hasText=ie.label.text||ie.label.texttemplate);var Te=u&&!l?ie.fillcolor:\"rgba(0,0,0,0)\",Ee=ie.line.color||(a?TM.contrast(v._fullLayout.plot_bgcolor):\"#7f7f7f\");ge.enter().append(\"path\").attr(\"class\",\"select-outline select-outline-\"+k.id).style({opacity:u?ie.opacity/2:1,\"stroke-dasharray\":Mct(ie.line.dash,ie.line.width),\"stroke-width\":ie.line.width+\"px\",\"shape-rendering\":\"crispEdges\"}).call(TM.stroke,Ee).call(TM.fill,Te).attr(\"fill-rule\",\"evenodd\").classed(\"cursor-move\",!!u).attr(\"transform\",A).attr(\"d\",F+\"Z\");var Ae=p.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:TM.background,stroke:TM.defaultLine,\"stroke-width\":1}).attr(\"transform\",A).attr(\"d\",\"M0,0Z\");if(u&&n.hasText){var ze=p.select(\".label-temp\");ze.empty()&&(ze=p.append(\"g\").classed(\"label-temp\",!0).classed(\"select-outline\",!0).style({opacity:.8}))}var Ce=x._uid+pP.SELECTID,me=[],Re=gP(v,n.xaxes,n.yaxes,n.subplot);b&&!e.shiftKey&&(n._clearSubplotSelections=function(){if(a){var Ge=q._id,nt=V._id;pfe(v,Ge,nt,Re);for(var ct=(v.layout||{}).selections||[],qt=[],rt=!1,ot=0;ot<ct.length;ot++){var Rt=x.selections[ot];!Rt||Rt.xref!==Ge||Rt.yref!==nt?qt.push(ct[ot]):rt=!0}rt&&(v._fullLayout._noEmitSelectedAtStart=!0,SM.call(\"_guiRelayout\",v,{selections:qt}))}});var ce=tft(n);n.moveFn=function(Ge,nt){n._clearSubplotSelections&&(n._clearSubplotSelections(),n._clearSubplotSelections=void 0),P=Math.max(0,Math.min(H,M*Ge+L)),T=Math.max(0,Math.min(X,g*nt+_));var ct=Math.abs(P-L),qt=Math.abs(T-_);if(s){var rt,ot,Rt;if(c){var kt=x.selectdirection;switch(kt===\"any\"?qt<Math.min(ct*.6,Am)?rt=\"h\":ct<Math.min(qt*.6,Am)?rt=\"v\":rt=\"d\":rt=kt,rt){case\"h\":ot=h?X/2:0,Rt=X;break;case\"v\":ot=h?H/2:0,Rt=H;break}}if(u)switch(x.newshape.drawdirection){case\"vertical\":rt=\"h\",ot=h?X/2:0,Rt=X;break;case\"horizontal\":rt=\"v\",ot=h?H/2:0,Rt=H;break;case\"ortho\":ct<qt?(rt=\"h\",ot=_,Rt=T):(rt=\"v\",ot=L,Rt=P);break;default:rt=\"d\"}rt===\"h\"?(ae=d?pN(h,[P,ot],[P,Rt]):[[L,ot],[L,Rt],[P,Rt],[P,ot]],ae.xmin=d?P:Math.min(L,P),ae.xmax=d?P:Math.max(L,P),ae.ymin=Math.min(ot,Rt),ae.ymax=Math.max(ot,Rt),Ae.attr(\"d\",\"M\"+ae.xmin+\",\"+(_-Am)+\"h-4v\"+2*Am+\"h4ZM\"+(ae.xmax-1)+\",\"+(_-Am)+\"h4v\"+2*Am+\"h-4Z\")):rt===\"v\"?(ae=d?pN(h,[ot,T],[Rt,T]):[[ot,_],[ot,T],[Rt,T],[Rt,_]],ae.xmin=Math.min(ot,Rt),ae.xmax=Math.max(ot,Rt),ae.ymin=d?T:Math.min(_,T),ae.ymax=d?T:Math.max(_,T),Ae.attr(\"d\",\"M\"+(L-Am)+\",\"+ae.ymin+\"v-4h\"+2*Am+\"v4ZM\"+(L-Am)+\",\"+(ae.ymax-1)+\"v4h\"+2*Am+\"v-4Z\")):rt===\"d\"&&(ae=d?pN(h,[L,_],[P,T]):[[L,_],[L,T],[P,T],[P,_]],ae.xmin=Math.min(L,P),ae.xmax=Math.max(L,P),ae.ymin=Math.min(_,T),ae.ymax=Math.max(_,T),Ae.attr(\"d\",\"M0,0Z\"))}else o&&(N.addPt([P,T]),ae=N.filtered);if(n.selectionDefs&&n.selectionDefs.length?(re=ffe(n.mergedPolygons,ae,G),ae.subtract=G,W=TN(n.selectionDefs.concat([ae]))):(re=[ae],W=xN(ae)),afe(dfe(re,l),ge,n),c){var Ct=mN(v,!1),Yt=Ct.eventData?Ct.eventData.points.slice():[];Ct=mN(v,!1,W,Re,n),W=Ct.selectionTesters,ke=Ct.eventData;var xr;N?xr=N.filtered:xr=gfe(re),AM.throttle(Ce,pP.SELECTDELAY,function(){me=vfe(W,Re);for(var er=me.slice(),Ke=0;Ke<Yt.length;Ke++){for(var xt=Yt[Ke],bt=!1,Lt=0;Lt<er.length;Lt++)if(er[Lt].curveNumber===xt.curveNumber&&er[Lt].pointNumber===xt.pointNumber){bt=!0;break}bt||er.push(xt)}er.length&&(ke||(ke={}),ke.points=er),ce(ke,xr),rft(v,ke)})}},n.clickFn=function(Ge,nt){if(Ae.remove(),v._fullLayout._activeShapeIndex>=0){v._fullLayout._deactivateShape(v);return}if(!u){var ct=x.clickmode;AM.done(Ce).then(function(){if(AM.clear(Ce),Ge===2){for(ge.remove(),_e=0;_e<Re.length;_e++)Me=Re[_e],Me._module.selectPoints(Me,!1);if(kM(v,Re),EM(n),SN(v),Re.length){var qt=Re[0].xaxis,rt=Re[0].yaxis;if(qt&&rt){for(var ot=[],Rt=v._fullLayout.selections,kt=0;kt<Rt.length;kt++){var Ct=Rt[kt];Ct&&(Ct.xref!==qt._id||Ct.yref!==rt._id)&&ot.push(Ct)}ot.length<Rt.length&&(v._fullLayout._noEmitSelectedAtStart=!0,SM.call(\"_guiRelayout\",v,{selections:ot}))}}}else ct.indexOf(\"select\")>-1&&ufe(nt,v,n.xaxes,n.yaxes,n.subplot,n,ge),ct===\"event\"&&CM(v,void 0);Ect.click(v,nt,k.id)}).catch(vP.error)}},n.doneFn=function(){Ae.remove(),AM.done(Ce).then(function(){AM.clear(Ce),!b&&ae&&n.selectionDefs&&(ae.subtract=G,n.selectionDefs.push(ae),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,re)),(b||u)&&EM(n,b),n.doneFnCompleted&&n.doneFnCompleted(me),c&&CM(v,ke)}).catch(vP.error)}}function ufe(e,t,r,n,i,a,o){var s=t._hoverdata,l=t._fullLayout,u=l.clickmode,c=u.indexOf(\"event\")>-1,f=[],h,d,v,x,b,p,E,k,A,L;if(Wct(s)){cfe(e,t,a),h=gP(t,r,n,i);var _=Zct(s,h),C=_.pointNumbers.length>0;if(C?Xct(h,_):Yct(h)&&(E=ife(_))){for(o&&o.remove(),L=0;L<h.length;L++)d=h[L],d._module.selectPoints(d,!1);kM(t,h),EM(a),c&&SN(t)}else{k=e.shiftKey&&(E!==void 0?E:ife(_)),v=Vct(_.pointNumber,_.searchInfo,k);var M=a.selectionDefs.concat([v]);for(x=TN(M,x),L=0;L<h.length;L++)if(b=h[L]._module.selectPoints(h[L],x),p=hfe(b,h[L]),f.length)for(var g=0;g<p.length;g++)f.push(p[g]);else f=p;if(A={points:f},kM(t,h,A),v&&a&&a.selectionDefs.push(v),o){var P=a.mergedPolygons,T=yN(a.dragmode);afe(dfe(P,T),o,a)}c&&CM(t,A)}}}function Vct(e,t,r){return{pointNumber:e,searchInfo:t,subtract:!!r}}function gN(e){return\"pointNumber\"in e&&\"searchInfo\"in e}function Hct(e){return{xmin:0,xmax:0,ymin:0,ymax:0,pts:[],contains:function(t,r,n,i){var a=e.searchInfo.cd[0].trace.index,o=i.cd[0].trace.index;return o===a&&n===e.pointNumber},isRect:!1,degenerate:!1,subtract:!!e.subtract}}function TN(e){if(!e.length)return;for(var t=[],r=gN(e[0])?0:e[0][0][0],n=r,i=gN(e[0])?0:e[0][0][1],a=i,o=0;o<e.length;o++)if(gN(e[o]))t.push(Hct(e[o]));else{var s=xN(e[o]);s.subtract=!!e[o].subtract,t.push(s),r=Math.min(r,s.xmin),n=Math.max(n,s.xmax),i=Math.min(i,s.ymin),a=Math.max(a,s.ymax)}function l(u,c,f,h){for(var d=!1,v=0;v<t.length;v++)t[v].contains(u,c,f,h)&&(d=!t[v].subtract);return d}return{xmin:r,xmax:n,ymin:i,ymax:a,pts:[],contains:l,isRect:!1,degenerate:!1}}function cfe(e,t,r){var n=t._fullLayout,i=r.plotinfo,a=r.dragmode,o=n._lastSelectedSubplot&&n._lastSelectedSubplot===i.id,s=(e.shiftKey||e.altKey)&&!(MM(a)&&yN(a));o&&s&&i.selection&&i.selection.selectionDefs&&!r.selectionDefs?(r.selectionDefs=i.selection.selectionDefs,r.mergedPolygons=i.selection.mergedPolygons):(!s||!i.selection)&&EM(r),o||(ofe(t),n._lastSelectedSubplot=i.id)}function Gct(e){return e._fullLayout._activeShapeIndex>=0}function jct(e){return e._fullLayout._activeSelectionIndex>=0}function EM(e,t){var r=e.dragmode,n=e.plotinfo,i=e.gd;Gct(i)&&i._fullLayout._deactivateShape(i),jct(i)&&i._fullLayout._deactivateSelection(i);var a=i._fullLayout,o=a._zoomlayer,s=MM(r),l=_N(r);if(s||l){var u=o.selectAll(\".select-outline-\"+n.id);if(u&&i._fullLayout._outlining){var c;s&&(c=Ict(u,e)),c&&SM.call(\"_guiRelayout\",i,{shapes:c});var f;l&&!wN(e)&&(f=Rct(u,e)),f&&(i._fullLayout._noEmitSelectedAtStart=!0,SM.call(\"_guiRelayout\",i,{selections:f}).then(function(){t&&Dct(i)})),i._fullLayout._outlining=!1}}n.selection={},n.selection.selectionDefs=e.selectionDefs=[],n.selection.mergedPolygons=e.mergedPolygons=[]}function rfe(e){return e._id}function gP(e,t,r,n){if(!e.calcdata)return[];var i=[],a=t.map(rfe),o=r.map(rfe),s,l,u;for(u=0;u<e.calcdata.length;u++)if(s=e.calcdata[u],l=s[0].trace,!(l.visible!==!0||!l._module||!l._module.selectPoints))if(wN({subplot:n})&&(l.subplot===n||l.geo===n))i.push(dP(l._module,s,t[0],r[0]));else if(l.type===\"splom\"){if(l._xaxes[a[0]]&&l._yaxes[o[0]]){var c=dP(l._module,s,t[0],r[0]);c.scene=e._fullLayout._splomScenes[l.uid],i.push(c)}}else if(l.type===\"sankey\"){var f=dP(l._module,s,t[0],r[0]);i.push(f)}else{if(a.indexOf(l.xaxis)===-1&&(!l._xA||!l._xA.overlaying)||o.indexOf(l.yaxis)===-1&&(!l._yA||!l._yA.overlaying))continue;i.push(dP(l._module,s,k0(e,l.xaxis),k0(e,l.yaxis)))}return i}function dP(e,t,r,n){return{_module:e,cd:t,xaxis:r,yaxis:n}}function Wct(e){return e&&Array.isArray(e)&&e[0].hoverOnBox!==!0}function Zct(e,t){var r=e[0],n=-1,i=[],a,o;for(o=0;o<t.length;o++)if(a=t[o],r.fullData.index===a.cd[0].trace.index){if(r.hoverOnBox===!0)break;r.pointNumber!==void 0?n=r.pointNumber:r.binNumber!==void 0&&(n=r.binNumber,i=r.pointNumbers);break}return{pointNumber:n,pointNumbers:i,searchInfo:a}}function ife(e){var t=e.searchInfo.cd[0].trace,r=e.pointNumber,n=e.pointNumbers,i=n.length>0,a=i?n[0]:r;return t.selectedpoints?t.selectedpoints.indexOf(a)>-1:!1}function Xct(e,t){var r=[],n,i,a,o;for(o=0;o<e.length;o++)n=e[o],n.cd[0].trace.selectedpoints&&n.cd[0].trace.selectedpoints.length>0&&r.push(n);if(r.length===1&&(a=r[0]===t.searchInfo,a&&(i=t.searchInfo.cd[0].trace,i.selectedpoints.length===t.pointNumbers.length))){for(o=0;o<t.pointNumbers.length;o++)if(i.selectedpoints.indexOf(t.pointNumbers[o])<0)return!1;return!0}return!1}function Yct(e){var t=0,r,n,i;for(i=0;i<e.length;i++)if(r=e[i],n=r.cd[0].trace,n.selectedpoints&&(n.selectedpoints.length>1||(t+=n.selectedpoints.length,t>1)))return!1;return t===1}function kM(e,t,r){var n;for(n=0;n<t.length;n++){var i=t[n].cd[0].trace._fullInput,a=e._fullLayout._tracePreGUI[i.uid]||{};a.selectedpoints===void 0&&(a.selectedpoints=i._input.selectedpoints||null)}var o;if(r){var s=r.points||[];for(n=0;n<t.length;n++)o=t[n].cd[0].trace,o._input.selectedpoints=o._fullInput.selectedpoints=[],o._fullInput!==o&&(o.selectedpoints=[]);for(var l=0;l<s.length;l++){var u=s[l],c=u.data,f=u.fullData,h=u.pointIndex,d=u.pointIndices;d?([].push.apply(c.selectedpoints,d),o._fullInput!==o&&[].push.apply(f.selectedpoints,d)):(c.selectedpoints.push(h),o._fullInput!==o&&f.selectedpoints.push(h))}}else for(n=0;n<t.length;n++)o=t[n].cd[0].trace,delete o.selectedpoints,delete o._input.selectedpoints,o._fullInput!==o&&delete o._fullInput.selectedpoints;Kct(e,t)}function Kct(e,t){for(var r=!1,n=0;n<t.length;n++){var i=t[n],a=i.cd;SM.traceIs(a[0].trace,\"regl\")&&(r=!0);var o=i._module,s=o.styleOnSelect||o.style;s&&(s(e,a,a[0].node3),a[0].nodeRangePlot3&&s(e,a,a[0].nodeRangePlot3))}r&&(Fct(e),qct(e))}function ffe(e,t,r){for(var n=r?$ce.difference:$ce.union,i=n({regions:e},{regions:[t]}),a=i.regions.reverse(),o=0;o<a.length;o++){var s=a[o];s.subtract=AN(s,a.slice(0,o))}return a}function hfe(e,t){if(Array.isArray(e))for(var r=t.cd,n=t.cd[0].trace,i=0;i<e.length;i++)e[i]=kct(e[i],n,r);return e}function dfe(e,t){for(var r=[],n=0;n<e.length;n++){r[n]=[];for(var i=0;i<e[n].length;i++){r[n][i]=[],r[n][i][0]=i?\"L\":\"M\";for(var a=0;a<e[n][i].length;a++)r[n][i].push(e[n][i][a])}t||r[n].push([\"Z\",r[n][0][1],r[n][0][2]])}return r}function vfe(e,t){for(var r=[],n,i=[],a,o=0;o<t.length;o++){var s=t[o];a=s._module.selectPoints(s,e),i.push(a),n=hfe(a,s),r=r.concat(n)}return r}function mN(e,t,r,n,i){var a=!!n,o,s,l;i&&(o=i.plotinfo,s=i.xaxes[0]._id,l=i.yaxes[0]._id);var u=[],c=[],f=nfe(e),h=e._fullLayout;if(o){var d=h._zoomlayer,v=h.dragmode,x=MM(v),b=_N(v);if(x||b){var p=k0(e,s,\"x\"),E=k0(e,l,\"y\");if(p&&E){var k=d.selectAll(\".select-outline-\"+o.id);if(k&&e._fullLayout._outlining&&k.length){for(var A=k[0][0],L=A.getAttribute(\"d\"),_=Pct(L,e,o),C=[],M=0;M<_.length;M++){for(var g=_[M],P=[],T=0;T<g.length;T++)P.push([d_(p,g[T][1]),d_(E,g[T][2])]);P.xref=s,P.yref=l,P.subtract=AN(P,C),C.push(P)}f=f.concat(C)}}}}var F=s&&l?[s+l]:h._subplots.cartesian;Jct(e);for(var q={},V=0;V<F.length;V++){var H=F[V],X=H.indexOf(\"y\"),G=H.slice(0,X),N=H.slice(X),W=s&&l?r:void 0;if(W=Qct(f,G,N,W),W){var re=n;if(!a){var ae=k0(e,G,\"x\"),_e=k0(e,N,\"y\");re=gP(e,[ae],[_e],H);for(var Me=0;Me<re.length;Me++){var ke=re[Me],ge=ke.cd[0],ie=ge.trace;if(ke._module.name===\"scattergl\"&&!ge.t.xpx){var Te=ie.x,Ee=ie.y,Ae=ie._length;ge.t.xpx=[],ge.t.ypx=[];for(var ze=0;ze<Ae;ze++)ge.t.xpx[ze]=ae.c2p(Te[ze]),ge.t.ypx[ze]=_e.c2p(Ee[ze])}ke._module.name===\"splom\"&&(q[ie.uid]||(q[ie.uid]=!0))}}var Ce=vfe(W,re);u=u.concat(Ce),c=c.concat(re)}}var me={points:u};kM(e,c,me);var Re=h.clickmode,ce=Re.indexOf(\"event\")>-1&&t;if(!o&&t){var Ge=nfe(e,!0);if(Ge.length){var nt=Ge[0].xref,ct=Ge[0].yref;if(nt&&ct){var qt=gfe(Ge),rt=mfe([k0(e,nt,\"x\"),k0(e,ct,\"y\")]);rt(me,qt)}}e._fullLayout._noEmitSelectedAtStart?e._fullLayout._noEmitSelectedAtStart=!1:ce&&CM(e,me),h._reselect=!1}if(!o&&h._deselect){var ot=h._deselect;s=ot.xref,l=ot.yref,$ct(s,l,c)||pfe(e,s,l,n),ce&&(me.points.length?CM(e,me):SN(e)),h._deselect=!1}return{eventData:me,selectionTesters:r}}function Jct(e){var t=e.calcdata;if(t)for(var r=0;r<t.length;r++){var n=t[r][0],i=n.trace,a=e._fullLayout._splomScenes;if(a){var o=a[i.uid];o&&(o.selectBatch=[])}}}function $ct(e,t,r){for(var n=0;n<r.length;n++){var i=r[n];if(i.xaxis&&i.xaxis._id===e&&i.yaxis&&i.yaxis._id===t)return!0}return!1}function pfe(e,t,r,n){n=gP(e,[k0(e,t,\"x\")],[k0(e,r,\"y\")],t+r);for(var i=0;i<n.length;i++){var a=n[i];a._module.selectPoints(a,!1)}kM(e,n)}function Qct(e,t,r,n){for(var i,a=0;a<e.length;a++){var o=e[a];if(!(t!==o.xref||r!==o.yref))if(i){var s=!!o.subtract;i=ffe(i,o,s),n=TN(i)}else i=[o],n=xN(o)}return n}function nfe(e,t){for(var r=[],n=e._fullLayout,i=n.selections,a=i.length,o=0;o<a;o++)if(!(t&&o!==n._activeSelectionIndex)){var s=i[o];if(s){var l=s.xref,u=s.yref,c=k0(e,l,\"x\"),f=k0(e,u,\"y\"),h,d,v,x,b;if(s.type===\"rect\"){b=[];var p=d_(c,s.x0),E=d_(c,s.x1),k=d_(f,s.y0),A=d_(f,s.y1);b=[[p,k],[p,A],[E,A],[E,k]],h=Math.min(p,E),d=Math.max(p,E),v=Math.min(k,A),x=Math.max(k,A),b.xmin=h,b.xmax=d,b.ymin=v,b.ymax=x,b.xref=l,b.yref=u,b.subtract=!1,b.isRect=!0,r.push(b)}else if(s.type===\"path\")for(var L=s.path.split(\"Z\"),_=[],C=0;C<L.length;C++){var M=L[C];if(M){M+=\"Z\";var g=Qce.extractPathCoords(M,efe.paramIsX,\"raw\"),P=Qce.extractPathCoords(M,efe.paramIsY,\"raw\");h=1/0,d=-1/0,v=1/0,x=-1/0,b=[];for(var T=0;T<g.length;T++){var F=d_(c,g[T]),q=d_(f,P[T]);b.push([F,q]),h=Math.min(F,h),d=Math.max(F,d),v=Math.min(q,v),x=Math.max(q,x)}b.xmin=h,b.xmax=d,b.ymin=v,b.ymax=x,b.xref=l,b.yref=u,b.subtract=AN(b,_),_.push(b),r.push(b)}}}}return r}function AN(e,t){for(var r=!1,n=0;n<t.length;n++)for(var i=t[n],a=0;a<e.length;a++)if(Sct(e[a],i)){r=!r;break}return r}function d_(e,t){return e.type===\"date\"&&(t=t.replace(\"_\",\" \")),e.type===\"log\"?e.c2p(t):e.r2p(t,null,e.calendar)}function gfe(e){for(var t=e.length,r=[],n=0;n<t;n++){var i=e[n];r=r.concat(i),r=r.concat([i[0]])}return eft(r)}function eft(e){return e.isRect=e.length===5&&e[0][0]===e[4][0]&&e[0][1]===e[4][1]&&e[0][0]===e[1][0]&&e[2][0]===e[3][0]&&e[0][1]===e[3][1]&&e[1][1]===e[2][1]||e[0][1]===e[1][1]&&e[2][1]===e[3][1]&&e[0][0]===e[3][0]&&e[1][0]===e[2][0],e.isRect&&(e.xmin=Math.min(e[0][0],e[2][0]),e.xmax=Math.max(e[0][0],e[2][0]),e.ymin=Math.min(e[0][1],e[2][1]),e.ymax=Math.max(e[0][1],e[2][1])),e}function mfe(e){return function(t,r){for(var n,i,a=0;a<e.length;a++){var o=e[a],s=o._id,l=s.charAt(0);if(r.isRect){n||(n={});var u=r[l+\"min\"],c=r[l+\"max\"];u!==void 0&&c!==void 0&&(n[s]=[tfe(o,u),tfe(o,c)].sort(zct))}else i||(i={}),i[s]=r.map(Bct(o))}n&&(t.range=n),i&&(t.lassoPoints=i)}}function tft(e){var t=e.plotinfo;return t.fillRangeItems||mfe(e.xaxes.concat(e.yaxes))}function rft(e,t){e.emit(\"plotly_selecting\",t)}function CM(e,t){t&&(t.selections=(e.layout||{}).selections||[]),e.emit(\"plotly_selected\",t)}function SN(e){e.emit(\"plotly_deselect\",null)}yfe.exports={reselect:mN,prepSelect:Uct,clearOutline:ofe,clearSelectionsCache:EM,selectOnClick:ufe}});var MN=ye((Oir,xfe)=>{\"use strict\";xfe.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}]});var PM=ye((Bir,bfe)=>{\"use strict\";bfe.exports={axisRefDescription:function(e,t,r){return[\"If set to a\",e,\"axis id (e.g. *\"+e+\"* or\",\"*\"+e+\"2*), the `\"+e+\"` position refers to a\",e,\"coordinate. If set to *paper*, the `\"+e+\"`\",\"position refers to the distance from the\",t,\"of the plotting\",\"area in normalized coordinates where *0* (*1*) corresponds to the\",t,\"(\"+r+\"). If set to a\",e,\"axis ID followed by\",\"*domain* (separated by a space), the position behaves like for\",\"*paper*, but refers to the distance in fractions of the domain\",\"length from the\",t,\"of the domain of that axis: e.g.,\",\"*\"+e+\"2 domain* refers to the domain of the second\",e,\" axis and a\",e,\"position of 0.5 refers to the\",\"point between the\",t,\"and the\",r,\"of the domain of the\",\"second\",e,\"axis.\"].join(\" \")}}});var Nb=ye((Uir,Afe)=>{\"use strict\";var wfe=MN(),Tfe=Su(),mP=ad(),ift=Vs().templatedArray,Nir=PM();Afe.exports=ift(\"annotation\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},text:{valType:\"string\",editType:\"calc+arraydraw\"},textangle:{valType:\"angle\",dflt:0,editType:\"calc+arraydraw\"},font:Tfe({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:wfe.length,dflt:1,editType:\"arraydraw\"},startarrowhead:{valType:\"integer\",min:0,max:wfe.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\",mP.idRegex.x.toString()],editType:\"calc\"},ayref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",mP.idRegex.y.toString()],editType:\"calc\"},xref:{valType:\"enumerated\",values:[\"paper\",mP.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\",mP.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:Tfe({editType:\"arraydraw\"}),editType:\"arraydraw\"},captureevents:{valType:\"boolean\",editType:\"arraydraw\"},editType:\"calc\"})});var Sm=ye((Vir,Sfe)=>{\"use strict\";Sfe.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}});var Eg=ye((Hir,Mfe)=>{\"use strict\";Mfe.exports=function(t){return{valType:\"color\",editType:\"style\",anim:!0}}});var Uc=ye((Gir,Ife)=>{\"use strict\";var Efe=Oc().axisHoverFormat,nft=Wo().texttemplateAttrs,aft=Wo().hovertemplateAttrs,kfe=Jl(),oft=Su(),sft=Ed().dash,lft=Ed().pattern,uft=ao(),cft=Sm(),yP=no().extendFlat,fft=Eg();function Cfe(e){return{valType:\"any\",dflt:0,editType:\"calc\"}}function Lfe(e){return{valType:\"any\",editType:\"calc\"}}function Pfe(e){return{valType:\"enumerated\",values:[\"start\",\"middle\",\"end\"],dflt:\"middle\",editType:\"calc\"}}Ife.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\",anim:!0},x0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\",anim:!0},dx:{valType:\"number\",dflt:1,editType:\"calc\",anim:!0},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\",anim:!0},y0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\",anim:!0},dy:{valType:\"number\",dflt:1,editType:\"calc\",anim:!0},xperiod:Cfe(\"x\"),yperiod:Cfe(\"y\"),xperiod0:Lfe(\"x0\"),yperiod0:Lfe(\"y0\"),xperiodalignment:Pfe(\"x\"),yperiodalignment:Pfe(\"y\"),xhoverformat:Efe(\"x\"),yhoverformat:Efe(\"y\"),offsetgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},alignmentgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},stackgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc\"},groupnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\",editType:\"calc\"},stackgaps:{valType:\"enumerated\",values:[\"infer zero\",\"interpolate\"],dflt:\"infer zero\",editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},texttemplate:nft({},{}),hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"],editType:\"calc\"},hoveron:{valType:\"flaglist\",flags:[\"points\",\"fills\"],editType:\"style\"},hovertemplate:aft({},{keys:cft.eventDataKeys}),line:{color:{valType:\"color\",editType:\"style\",anim:!0},width:{valType:\"number\",min:0,dflt:2,editType:\"style\",anim:!0},shape:{valType:\"enumerated\",values:[\"linear\",\"spline\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\",editType:\"plot\"},smoothing:{valType:\"number\",min:0,max:1.3,dflt:1,editType:\"plot\"},dash:yP({},sft,{editType:\"style\"}),backoff:{valType:\"number\",min:0,dflt:\"auto\",arrayOk:!0,editType:\"plot\"},simplify:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cliponaxis:{valType:\"boolean\",dflt:!0,editType:\"plot\"},fill:{valType:\"enumerated\",values:[\"none\",\"tozeroy\",\"tozerox\",\"tonexty\",\"tonextx\",\"toself\",\"tonext\"],editType:\"calc\"},fillcolor:fft(!0),fillgradient:yP({type:{valType:\"enumerated\",values:[\"radial\",\"horizontal\",\"vertical\",\"none\"],dflt:\"none\",editType:\"calc\"},start:{valType:\"number\",editType:\"calc\"},stop:{valType:\"number\",editType:\"calc\"},colorscale:{valType:\"colorscale\",editType:\"style\"},editType:\"calc\"}),fillpattern:lft,marker:yP({symbol:{valType:\"enumerated\",values:uft.symbolList,dflt:\"circle\",arrayOk:!0,editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,arrayOk:!0,editType:\"style\",anim:!0},angle:{valType:\"angle\",dflt:0,arrayOk:!0,editType:\"plot\",anim:!1},angleref:{valType:\"enumerated\",values:[\"previous\",\"up\"],dflt:\"up\",editType:\"plot\",anim:!1},standoff:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"plot\",anim:!0},size:{valType:\"number\",min:0,dflt:6,arrayOk:!0,editType:\"calc\",anim:!0},maxdisplayed:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},sizeref:{valType:\"number\",dflt:1,editType:\"calc\"},sizemin:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},sizemode:{valType:\"enumerated\",values:[\"diameter\",\"area\"],dflt:\"diameter\",editType:\"calc\"},line:yP({width:{valType:\"number\",min:0,arrayOk:!0,editType:\"style\",anim:!0},editType:\"calc\"},kfe(\"marker.line\",{anim:!0})),gradient:{type:{valType:\"enumerated\",values:[\"radial\",\"horizontal\",\"vertical\",\"none\"],arrayOk:!0,dflt:\"none\",editType:\"calc\"},color:{valType:\"color\",arrayOk:!0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},kfe(\"marker\",{anim:!0})),selected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},unselected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\"],dflt:\"middle center\",arrayOk:!0,editType:\"calc\"},textfont:oft({editType:\"calc\",colorEditType:\"style\",arrayOk:!0}),zorder:{valType:\"integer\",dflt:0,editType:\"plot\"}}});var EN=ye((Wir,zfe)=>{\"use strict\";var Rfe=Nb(),Dfe=Uc().line,hft=Ed().dash,_P=no().extendFlat,dft=Bu().overrideAll,vft=Vs().templatedArray,jir=PM();zfe.exports=dft(vft(\"selection\",{type:{valType:\"enumerated\",values:[\"rect\",\"path\"]},xref:_P({},Rfe.xref,{}),yref:_P({},Rfe.yref,{}),x0:{valType:\"any\"},x1:{valType:\"any\"},y0:{valType:\"any\"},y1:{valType:\"any\"},path:{valType:\"string\",editType:\"arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:.7,editType:\"arraydraw\"},line:{color:Dfe.color,width:_P({},Dfe.width,{min:1,dflt:1}),dash:_P({},hft,{dflt:\"dot\"})}}),\"arraydraw\",\"from-root\")});var Bfe=ye((Zir,Ofe)=>{\"use strict\";var Ffe=Mr(),xP=Qa(),pft=Zd(),gft=EN(),qfe=h_();Ofe.exports=function(t,r){pft(t,r,{name:\"selections\",handleItemDefaults:mft});for(var n=r.selections,i=0;i<n.length;i++){var a=n[i];a&&a.path===void 0&&(a.x0===void 0||a.x1===void 0||a.y0===void 0||a.y1===void 0)&&(r.selections[i]=null)}};function mft(e,t,r){function n(_,C){return Ffe.coerce(e,t,gft,_,C)}var i=n(\"path\"),a=i?\"path\":\"rect\",o=n(\"type\",a),s=o!==\"path\";s&&delete t.path,n(\"opacity\"),n(\"line.color\"),n(\"line.width\"),n(\"line.dash\");for(var l=[\"x\",\"y\"],u=0;u<2;u++){var c=l[u],f={_fullLayout:r},h,d,v,x=xP.coerceRef(e,t,f,c);if(h=xP.getFromId(f,x),h._selectionIndices.push(t._index),v=qfe.rangeToShapePosition(h),d=qfe.shapePositionToRange(h),s){var b=c+\"0\",p=c+\"1\",E=e[b],k=e[p];e[b]=d(e[b],!0),e[p]=d(e[p],!0),xP.coercePosition(t,f,n,x,b),xP.coercePosition(t,f,n,x,p);var A=t[b],L=t[p];A!==void 0&&L!==void 0&&(t[b]=v(A),t[p]=v(L),e[b]=E,e[p]=k)}}s&&Ffe.noneOrAll(e,t,[\"x0\",\"x1\",\"y0\",\"y1\"])}});var Ufe=ye((Xir,Nfe)=>{\"use strict\";Nfe.exports=function(t,r,n){n(\"newselection.mode\");var i=n(\"newselection.line.width\");i&&(n(\"newselection.line.color\"),n(\"newselection.line.dash\")),n(\"activeselection.fillcolor\"),n(\"activeselection.opacity\")}});var IM=ye((Yir,Gfe)=>{\"use strict\";var yft=ba(),Vfe=Mr(),Hfe=af();Gfe.exports=function(t){return function(n,i){var a=n[t];if(Array.isArray(a))for(var o=yft.subplotsRegistry.cartesian,s=o.idRegex,l=i._subplots,u=l.xaxis,c=l.yaxis,f=l.cartesian,h=i._has(\"cartesian\"),d=0;d<a.length;d++){var v=a[d];if(Vfe.isPlainObject(v)){var x=Hfe.cleanId(v.xref,\"x\",!1),b=Hfe.cleanId(v.yref,\"y\",!1),p=s.x.test(x),E=s.y.test(b);if(p||E){h||Vfe.pushUnique(i._basePlotModules,o);var k=!1;p&&u.indexOf(x)===-1&&(u.push(x),k=!0),E&&c.indexOf(b)===-1&&(c.push(b),k=!0),k&&p&&E&&f.push(x+b)}}}}}});var wf=ye((Kir,Wfe)=>{\"use strict\";var jfe=dN(),RM=_fe();Wfe.exports={moduleType:\"component\",name:\"selections\",layoutAttributes:EN(),supplyLayoutDefaults:Bfe(),supplyDrawNewSelectionDefaults:Ufe(),includeBasePlot:IM()(\"selections\"),draw:jfe.draw,drawOne:jfe.drawOne,reselect:RM.reselect,prepSelect:RM.prepSelect,clearOutline:RM.clearOutline,clearSelectionsCache:RM.clearSelectionsCache,selectOnClick:RM.selectOnClick}});var DN=ye((Jir,hhe)=>{\"use strict\";var IN=xa(),C0=Mr(),Zfe=C0.numberFormat,_ft=id(),xft=kL(),bP=ba(),rhe=C0.strTranslate,bft=Pl(),Xfe=va(),v_=ao(),wft=Nc(),Yfe=Qa(),Tft=Tg(),Aft=gv(),ihe=Sg(),wP=ihe.selectingOrDrawing,Sft=ihe.freeMode,Mft=Nh().FROM_TL,Eft=lM(),kft=gM().redrawReglTraces,Cft=Xu(),CN=af().getFromId,Lft=wf().prepSelect,Pft=wf().clearOutline,Ift=wf().selectOnClick,kN=aN(),RN=ad(),Kfe=RN.MINDRAG,np=RN.MINZOOM,Jfe=!0;function Rft(e,t,r,n,i,a,o,s){var l=e._fullLayout._zoomlayer,u=o+s===\"nsew\",c=(o+s).length===1,f,h,d,v,x,b,p,E,k,A,L,_,C,M,g,P,T,F,q,V,H,X,G;r+=t.yaxis._shift;function N(){if(f=t.xaxis,h=t.yaxis,k=f._length,A=h._length,p=f._offset,E=h._offset,d={},d[f._id]=f,v={},v[h._id]=h,o&&s)for(var Et=t.overlays,dt=0;dt<Et.length;dt++){var Ht=Et[dt].xaxis;d[Ht._id]=Ht;var $t=Et[dt].yaxis;v[$t._id]=$t}x=the(d),b=the(v),C=$fe(x,s),M=$fe(b,o),g=!M&&!C,_=ehe(e,e._fullLayout._axisMatchGroups,d,v),L=ehe(e,e._fullLayout._axisConstraintGroups,d,v,_);var fr=L.isSubplotConstrained||_.isSubplotConstrained;P=s||fr,T=o||fr;var _r=e._fullLayout;F=_r._has(\"scattergl\"),q=_r._has(\"splom\"),V=_r._has(\"svg\")}N();var W=Fft(M+C,e._fullLayout.dragmode,u),re=ahe(t,o+s+\"drag\",W,r,n,i,a);if(g&&!u)return re.onmousedown=null,re.style.pointerEvents=\"none\",re;var ae={element:re,gd:e,plotinfo:t};ae.prepFn=function(Et,dt,Ht){var $t=ae.dragmode,fr=e._fullLayout.dragmode;fr!==$t&&(ae.dragmode=fr),N(),X=e._fullLayout._invScaleX,G=e._fullLayout._invScaleY,g||(u?Et.shiftKey?fr===\"pan\"?fr=\"zoom\":wP(fr)||(fr=\"pan\"):Et.ctrlKey&&(fr=\"pan\"):fr=\"pan\"),Sft(fr)?ae.minDrag=1:ae.minDrag=void 0,wP(fr)?(ae.xaxes=x,ae.yaxes=b,Lft(Et,dt,Ht,ae,fr)):(ae.clickFn=Me,wP($t)&&_e(),g||(fr===\"zoom\"?(ae.moveFn=Ge,ae.doneFn=ct,ae.minDrag=1,ce(Et,dt,Ht)):fr===\"pan\"&&(ae.moveFn=Ct,ae.doneFn=Ke))),e._fullLayout._redrag=function(){var _r=e._dragdata;if(_r&&_r.element===re){var Br=e._fullLayout.dragmode;wP(Br)||(N(),xt([0,0,k,A]),ae.moveFn(_r.dx,_r.dy))}}};function _e(){ae.plotinfo.selection=!1,Pft(e)}function Me(Et,dt){var Ht=ae.gd;if(Ht._fullLayout._activeShapeIndex>=0){Ht._fullLayout._deactivateShape(Ht);return}var $t=Ht._fullLayout.clickmode;if(PN(Ht),Et===2&&!c&&er(),u)$t.indexOf(\"select\")>-1&&Ift(dt,Ht,x,b,t.id,ae),$t.indexOf(\"event\")>-1&&wft.click(Ht,dt,t.id);else if(Et===1&&c){var fr=o?h:f,_r=o===\"s\"||s===\"w\"?0:1,Br=fr._name+\".range[\"+_r+\"]\",Or=Dft(fr,_r),Nr=\"left\",ut=\"middle\";if(fr.fixedrange)return;o?(ut=o===\"n\"?\"top\":\"bottom\",fr.side===\"right\"&&(Nr=\"right\")):s===\"e\"&&(Nr=\"right\"),Ht._context.showAxisRangeEntryBoxes&&IN.select(re).call(bft.makeEditable,{gd:Ht,immediate:!0,background:Ht._fullLayout.paper_bgcolor,text:String(Or),fill:fr.tickfont?fr.tickfont.color:\"#444\",horizontalAlign:Nr,verticalAlign:ut}).on(\"edit\",function(Ne){var Ye=fr.d2r(Ne);Ye!==void 0&&bP.call(\"_guiRelayout\",Ht,Br,Ye)})}}Aft.init(ae);var ke,ge,ie,Te,Ee,Ae,ze,Ce,me,Re;function ce(Et,dt,Ht){var $t=re.getBoundingClientRect();ke=dt-$t.left,ge=Ht-$t.top,e._fullLayout._calcInverseTransform(e);var fr=C0.apply3DTransform(e._fullLayout._invTransform)(ke,ge);ke=fr[0],ge=fr[1],ie={l:ke,r:ke,w:0,t:ge,b:ge,h:0},Te=e._hmpixcount?e._hmlumcount/e._hmpixcount:_ft(e._fullLayout.plot_bgcolor).getLuminance(),Ee=\"M0,0H\"+k+\"V\"+A+\"H0V0\",Ae=!1,ze=\"xy\",Re=!1,Ce=ohe(l,Te,p,E,Ee),me=she(l,p,E)}function Ge(Et,dt){if(e._transitioningWithDuration)return!1;var Ht=Math.max(0,Math.min(k,X*Et+ke)),$t=Math.max(0,Math.min(A,G*dt+ge)),fr=Math.abs(Ht-ke),_r=Math.abs($t-ge);ie.l=Math.min(ke,Ht),ie.r=Math.max(ke,Ht),ie.t=Math.min(ge,$t),ie.b=Math.max(ge,$t);function Br(){ze=\"\",ie.r=ie.l,ie.t=ie.b,me.attr(\"d\",\"M0,0Z\")}if(L.isSubplotConstrained)fr>np||_r>np?(ze=\"xy\",fr/k>_r/A?(_r=fr*A/k,ge>$t?ie.t=ge-_r:ie.b=ge+_r):(fr=_r*k/A,ke>Ht?ie.l=ke-fr:ie.r=ke+fr),me.attr(\"d\",TP(ie))):Br();else if(_.isSubplotConstrained)if(fr>np||_r>np){ze=\"xy\";var Or=Math.min(ie.l/k,(A-ie.b)/A),Nr=Math.max(ie.r/k,(A-ie.t)/A);ie.l=Or*k,ie.r=Nr*k,ie.b=(1-Or)*A,ie.t=(1-Nr)*A,me.attr(\"d\",TP(ie))}else Br();else!M||_r<Math.min(Math.max(fr*.6,Kfe),np)?fr<Kfe||!C?Br():(ie.t=0,ie.b=A,ze=\"x\",me.attr(\"d\",qft(ie,ge))):!C||fr<Math.min(_r*.6,np)?(ie.l=0,ie.r=k,ze=\"y\",me.attr(\"d\",Oft(ie,ke))):(ze=\"xy\",me.attr(\"d\",TP(ie)));ie.w=ie.r-ie.l,ie.h=ie.b-ie.t,ze&&(Re=!0),e._dragged=Re,lhe(Ce,me,ie,Ee,Ae,Te),nt(),e.emit(\"plotly_relayouting\",H),Ae=!0}function nt(){H={},(ze===\"xy\"||ze===\"x\")&&(LN(x,ie.l/k,ie.r/k,H,L.xaxes),Yt(\"x\",H)),(ze===\"xy\"||ze===\"y\")&&(LN(b,(A-ie.b)/A,(A-ie.t)/A,H,L.yaxes),Yt(\"y\",H))}function ct(){nt(),PN(e),Ke(),che(e)}var qt=[0,0,k,A],rt=null,ot=RN.REDRAWDELAY,Rt=t.mainplot?e._fullLayout._plots[t.mainplot]:t;function kt(Et){if(!e._context._scrollZoom.cartesian&&!e._fullLayout._enablescrollzoom)return;if(_e(),e._transitioningWithDuration){Et.preventDefault(),Et.stopPropagation();return}N(),clearTimeout(rt);var dt=-Et.deltaY;if(isFinite(dt)||(dt=Et.wheelDelta/10),!isFinite(dt)){C0.log(\"Did not find wheel motion attributes: \",Et);return}var Ht=Math.exp(-Math.min(Math.max(dt,-20),20)/200),$t=Rt.draglayer.select(\".nsewdrag\").node().getBoundingClientRect(),fr=(Et.clientX-$t.left)/$t.width,_r=($t.bottom-Et.clientY)/$t.height,Br;function Or(Nr,ut,Ne){if(Nr.fixedrange)return;var Ye=C0.simpleMap(Nr.range,Nr.r2l),Ve=Ye[0]+(Ye[1]-Ye[0])*ut;function Xe(ht){return Nr.l2r(Ve+(ht-Ve)*Ne)}Nr.range=Ye.map(Xe)}if(P){for(s||(fr=.5),Br=0;Br<x.length;Br++)Or(x[Br],fr,Ht);Yt(\"x\"),qt[2]*=Ht,qt[0]+=qt[2]*fr*(1/Ht-1)}if(T){for(o||(_r=.5),Br=0;Br<b.length;Br++)Or(b[Br],_r,Ht);Yt(\"y\"),qt[3]*=Ht,qt[1]+=qt[3]*(1-_r)*(1/Ht-1)}xt(qt),xr(),e.emit(\"plotly_relayouting\",H),rt=setTimeout(function(){e._fullLayout&&(qt=[0,0,k,A],Ke())},ot),Et.preventDefault()}o.length*s.length!==1&&fhe(re,kt);function Ct(Et,dt){if(Et=Et*X,dt=dt*G,e._transitioningWithDuration)return;if(e._fullLayout._replotting=!0,C===\"ew\"||M===\"ns\"){var Ht=C?-Et:0,$t=M?-dt:0;if(_.isSubplotConstrained){if(C&&M){var fr=(Et/k-dt/A)/2;Et=fr*k,dt=-fr*A,Ht=-Et,$t=-dt}M?Ht=-$t*k/A:$t=-Ht*A/k}C&&(Qfe(x,Et),Yt(\"x\")),M&&(Qfe(b,dt),Yt(\"y\")),xt([Ht,$t,k,A]),xr(),e.emit(\"plotly_relayouting\",H);return}function _r(Xe,ht,Le){for(var xe=1-ht,Se,lt,Gt=0;Gt<Xe.length;Gt++){var Vt=Xe[Gt];if(!Vt.fixedrange){Se=Vt,lt=Vt._rl[xe]+(Vt._rl[ht]-Vt._rl[xe])/zft(Le/Vt._length);var ar=Vt.l2r(lt);ar!==!1&&ar!==void 0&&(Vt.range[ht]=ar)}}return Se._length*(Se._rl[ht]-lt)/(Se._rl[ht]-Se._rl[xe])}var Br=C===\"w\"==(M===\"n\")?1:-1;if(C&&M&&(L.isSubplotConstrained||_.isSubplotConstrained)){var Or=(Et/k+Br*dt/A)/2;Et=Or*k,dt=Br*Or*A}var Nr,ut;if(C===\"w\"?Et=_r(x,0,Et):C===\"e\"?Et=_r(x,1,-Et):C||(Et=0),M===\"n\"?dt=_r(b,1,dt):M===\"s\"?dt=_r(b,0,-dt):M||(dt=0),Nr=C===\"w\"?Et:0,ut=M===\"n\"?dt:0,L.isSubplotConstrained&&!_.isSubplotConstrained||_.isSubplotConstrained&&C&&M&&Br>0){var Ne;if(_.isSubplotConstrained||!C&&M.length===1){for(Ne=0;Ne<x.length;Ne++)x[Ne].range=x[Ne]._r.slice(),kN(x[Ne],1-dt/A);Et=dt*k/A,Nr=Et/2}if(_.isSubplotConstrained||!M&&C.length===1){for(Ne=0;Ne<b.length;Ne++)b[Ne].range=b[Ne]._r.slice(),kN(b[Ne],1-Et/k);dt=Et*A/k,ut=dt/2}}(!_.isSubplotConstrained||!M)&&Yt(\"x\"),(!_.isSubplotConstrained||!C)&&Yt(\"y\");var Ye=k-Et,Ve=A-dt;_.isSubplotConstrained&&!(C&&M)&&(C?(ut=Nr?0:Et*A/k,Ve=Ye*A/k):(Nr=ut?0:dt*k/A,Ye=Ve*k/A)),xt([Nr,ut,Ye,Ve]),xr(),e.emit(\"plotly_relayouting\",H)}function Yt(Et,dt){for(var Ht=_.isSubplotConstrained?{x:b,y:x}[Et]:_[Et+\"axes\"],$t=_.isSubplotConstrained?{x,y:b}[Et]:[],fr=0;fr<Ht.length;fr++){var _r=Ht[fr],Br=_r._id,Or=_.xLinks[Br]||_.yLinks[Br],Nr=$t[0]||d[Or]||v[Or];Nr&&(dt?(dt[_r._name+\".range[0]\"]=dt[Nr._name+\".range[0]\"],dt[_r._name+\".range[1]\"]=dt[Nr._name+\".range[1]\"]):_r.range=Nr.range.slice())}}function xr(){var Et=[],dt;function Ht(Br){for(dt=0;dt<Br.length;dt++)Br[dt].fixedrange||Et.push(Br[dt]._id)}function $t(Br,Or){for(dt=0;dt<Br.length;dt++){var Nr=Br[dt],ut=Nr[Or];!Nr.fixedrange&&ut.tickmode===\"sync\"&&Et.push(ut._id)}}for(P&&(Ht(x),Ht(L.xaxes),Ht(_.xaxes),$t(t.overlays,\"xaxis\")),T&&(Ht(b),Ht(L.yaxes),Ht(_.yaxes),$t(t.overlays,\"yaxis\")),H={},dt=0;dt<Et.length;dt++){var fr=Et[dt],_r=CN(e,fr);Yfe.drawOne(e,_r,{skipTitle:!0}),H[_r._name+\".range[0]\"]=_r.range[0],H[_r._name+\".range[1]\"]=_r.range[1]}Yfe.redrawComponents(e,Et)}function er(){if(!e._transitioningWithDuration){var Et=e._context.doubleClick,dt=[];C&&(dt=dt.concat(x)),M&&(dt=dt.concat(b)),_.xaxes&&(dt=dt.concat(_.xaxes)),_.yaxes&&(dt=dt.concat(_.yaxes));var Ht={},$t,fr;if(Et===\"reset+autosize\")for(Et=\"autosize\",fr=0;fr<dt.length;fr++){$t=dt[fr];var _r=$t._rangeInitial0,Br=$t._rangeInitial1,Or=_r!==void 0||Br!==void 0;if(Or&&(_r!==void 0&&_r!==$t.range[0]||Br!==void 0&&Br!==$t.range[1])||!Or&&$t.autorange!==!0){Et=\"reset\";break}}if(Et===\"autosize\")for(fr=0;fr<dt.length;fr++)$t=dt[fr],$t.fixedrange||(Ht[$t._name+\".autorange\"]=!0);else if(Et===\"reset\"){for((C||L.isSubplotConstrained)&&(dt=dt.concat(L.xaxes)),M&&!L.isSubplotConstrained&&(dt=dt.concat(L.yaxes)),L.isSubplotConstrained&&(C?M||(dt=dt.concat(b)):dt=dt.concat(x)),fr=0;fr<dt.length;fr++)if($t=dt[fr],!$t.fixedrange){var Nr=$t._name,ut=$t._autorangeInitial;$t._rangeInitial0===void 0&&$t._rangeInitial1===void 0?Ht[Nr+\".autorange\"]=!0:$t._rangeInitial0===void 0?(Ht[Nr+\".autorange\"]=ut,Ht[Nr+\".range\"]=[null,$t._rangeInitial1]):$t._rangeInitial1===void 0?(Ht[Nr+\".range\"]=[$t._rangeInitial0,null],Ht[Nr+\".autorange\"]=ut):Ht[Nr+\".range\"]=[$t._rangeInitial0,$t._rangeInitial1]}}e.emit(\"plotly_doubleclick\",null),bP.call(\"_guiRelayout\",e,Ht)}}function Ke(){xt([0,0,k,A]),C0.syncOrAsync([Cft.previousPromises,function(){e._fullLayout._replotting=!1,bP.call(\"_guiRelayout\",e,H)}],e)}function xt(Et){var dt=e._fullLayout,Ht=dt._plots,$t=dt._subplots.cartesian,fr,_r,Br,Or;if(q&&bP.subplotsRegistry.splom.drag(e),F){for(fr=0;fr<$t.length;fr++)if(_r=Ht[$t[fr]],Br=_r.xaxis,Or=_r.yaxis,_r._scene){Br.limitRange&&Br.limitRange(),Or.limitRange&&Or.limitRange();var Nr=C0.simpleMap(Br.range,Br.r2l),ut=C0.simpleMap(Or.range,Or.r2l);_r._scene.update({range:[Nr[0],ut[0],Nr[1],ut[1]]})}}if((q||F)&&(Eft(e),kft(e)),V){var Ne=Et[2]/f._length,Ye=Et[3]/h._length;for(fr=0;fr<$t.length;fr++){_r=Ht[$t[fr]],Br=_r.xaxis,Or=_r.yaxis;var Ve=(P||_.isSubplotConstrained)&&!Br.fixedrange&&d[Br._id],Xe=(T||_.isSubplotConstrained)&&!Or.fixedrange&&v[Or._id],ht,Le,xe,Se;if(Ve?(ht=Ne,xe=s||_.isSubplotConstrained?Et[0]:St(Br,ht)):_.xaHash[Br._id]?(ht=Ne,xe=Et[0]*Br._length/f._length):_.yaHash[Br._id]?(ht=Ye,xe=M===\"ns\"?-Et[1]*Br._length/h._length:St(Br,ht,{n:\"top\",s:\"bottom\"}[M])):(ht=bt(Br,Ne,Ye),xe=Lt(Br,ht)),ht>1&&(Br.maxallowed!==void 0&&P===(Br.range[0]<Br.range[1]?\"e\":\"w\")||Br.minallowed!==void 0&&P===(Br.range[0]<Br.range[1]?\"w\":\"e\"))&&(ht=1,xe=0),Xe?(Le=Ye,Se=o||_.isSubplotConstrained?Et[1]:St(Or,Le)):_.yaHash[Or._id]?(Le=Ye,Se=Et[1]*Or._length/h._length):_.xaHash[Or._id]?(Le=Ne,Se=C===\"ew\"?-Et[0]*Or._length/f._length:St(Or,Le,{e:\"right\",w:\"left\"}[C])):(Le=bt(Or,Ne,Ye),Se=Lt(Or,Le)),Le>1&&(Or.maxallowed!==void 0&&T===(Or.range[0]<Or.range[1]?\"n\":\"s\")||Or.minallowed!==void 0&&T===(Or.range[0]<Or.range[1]?\"s\":\"n\"))&&(Le=1,Se=0),!(!ht&&!Le)){ht||(ht=1),Le||(Le=1);var lt=Br._offset-xe/ht,Gt=Or._offset-Se/Le;_r.clipRect.call(v_.setTranslate,xe,Se).call(v_.setScale,ht,Le),_r.plot.call(v_.setTranslate,lt,Gt).call(v_.setScale,1/ht,1/Le),(ht!==_r.xScaleFactor||Le!==_r.yScaleFactor)&&(v_.setPointGroupScale(_r.zoomScalePts,ht,Le),v_.setTextPointsScale(_r.zoomScaleTxt,ht,Le)),v_.hideOutsideRangePoints(_r.clipOnAxisFalseTraces,_r),_r.xScaleFactor=ht,_r.yScaleFactor=Le}}}}function bt(Et,dt,Ht){return Et.fixedrange?0:P&&L.xaHash[Et._id]?dt:T&&(L.isSubplotConstrained?L.xaHash:L.yaHash)[Et._id]?Ht:0}function Lt(Et,dt){return dt?(Et.range=Et._r.slice(),kN(Et,dt),St(Et,dt)):0}function St(Et,dt,Ht){return Et._length*(1-dt)*Mft[Ht||Et.constraintoward||\"middle\"]}return re}function nhe(e,t,r,n){var i=C0.ensureSingle(e.draglayer,t,r,function(a){a.classed(\"drag\",!0).style({fill:\"transparent\",\"stroke-width\":0}).attr(\"data-subplot\",e.id)});return i.call(Tft,n),i.node()}function ahe(e,t,r,n,i,a,o){var s=nhe(e,\"rect\",t,r);return IN.select(s).call(v_.setRect,n,i,a,o),s}function $fe(e,t){for(var r=0;r<e.length;r++)if(!e[r].fixedrange)return t;return\"\"}function Dft(e,t){var r=e.range[t],n=Math.abs(r-e.range[1-t]),i;return e.type===\"date\"?r:e.type===\"log\"?(i=Math.ceil(Math.max(0,-Math.log(n)/Math.LN10))+3,Zfe(\".\"+i+\"g\")(Math.pow(10,r))):(i=Math.floor(Math.log(Math.abs(r))/Math.LN10)-Math.floor(Math.log(n)/Math.LN10)+4,Zfe(\".\"+String(i)+\"g\")(r))}function LN(e,t,r,n,i){for(var a=0;a<e.length;a++){var o=e[a];if(!o.fixedrange)if(o.rangebreaks){var s=o._id.charAt(0)===\"y\",l=s?1-t:t,u=s?1-r:r;n[o._name+\".range[0]\"]=o.l2r(o.p2l(l*o._length)),n[o._name+\".range[1]\"]=o.l2r(o.p2l(u*o._length))}else{var c=o._rl[0],f=o._rl[1]-c;n[o._name+\".range[0]\"]=o.l2r(c+f*t),n[o._name+\".range[1]\"]=o.l2r(c+f*r)}}if(i&&i.length){var h=(t+(1-r))/2;LN(i,h,1-h,n,[])}}function Qfe(e,t){for(var r=0;r<e.length;r++){var n=e[r];if(!n.fixedrange){if(n.rangebreaks){var i=0,a=n._length,o=n.p2l(i+t)-n.p2l(i),s=n.p2l(a+t)-n.p2l(a),l=(o+s)/2;n.range=[n.l2r(n._rl[0]-l),n.l2r(n._rl[1]-l)]}else n.range=[n.l2r(n._rl[0]-t/n._m),n.l2r(n._rl[1]-t/n._m)];n.limitRange&&n.limitRange()}}}function zft(e){return 1-(e>=0?Math.min(e,.9):1/(1/Math.max(e,-.3)+3.222))}function Fft(e,t,r){return e?e===\"nsew\"?r?\"\":t===\"pan\"?\"move\":\"crosshair\":e.toLowerCase()+\"-resize\":\"pointer\"}function ohe(e,t,r,n,i){return e.append(\"path\").attr(\"class\",\"zoombox\").style({fill:t>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"transform\",rhe(r,n)).attr(\"d\",i+\"Z\")}function she(e,t,r){return e.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:Xfe.background,stroke:Xfe.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"transform\",rhe(t,r)).attr(\"d\",\"M0,0Z\")}function lhe(e,t,r,n,i,a){e.attr(\"d\",n+\"M\"+r.l+\",\"+r.t+\"v\"+r.h+\"h\"+r.w+\"v-\"+r.h+\"h-\"+r.w+\"Z\"),uhe(e,t,i,a)}function uhe(e,t,r,n){r||(e.transition().style(\"fill\",n>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),t.transition().style(\"opacity\",1).duration(200))}function PN(e){IN.select(e).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}function che(e){Jfe&&e.data&&e._context.showTips&&(C0.notifier(C0._(e,\"Double-click to zoom back out\"),\"long\"),Jfe=!1)}function qft(e,t){return\"M\"+(e.l-.5)+\",\"+(t-np-.5)+\"h-3v\"+(2*np+1)+\"h3ZM\"+(e.r+.5)+\",\"+(t-np-.5)+\"h3v\"+(2*np+1)+\"h-3Z\"}function Oft(e,t){return\"M\"+(t-np-.5)+\",\"+(e.t-.5)+\"v-3h\"+(2*np+1)+\"v3ZM\"+(t-np-.5)+\",\"+(e.b+.5)+\"v3h\"+(2*np+1)+\"v-3Z\"}function TP(e){var t=Math.floor(Math.min(e.b-e.t,e.r-e.l,np)/2);return\"M\"+(e.l-3.5)+\",\"+(e.t-.5+t)+\"h3v\"+-t+\"h\"+t+\"v-3h-\"+(t+3)+\"ZM\"+(e.r+3.5)+\",\"+(e.t-.5+t)+\"h-3v\"+-t+\"h\"+-t+\"v-3h\"+(t+3)+\"ZM\"+(e.r+3.5)+\",\"+(e.b+.5-t)+\"h-3v\"+t+\"h\"+-t+\"v3h\"+(t+3)+\"ZM\"+(e.l-3.5)+\",\"+(e.b+.5-t)+\"h3v\"+t+\"h\"+t+\"v3h-\"+(t+3)+\"Z\"}function ehe(e,t,r,n,i){for(var a=!1,o={},s={},l,u,c,f,h=(i||{}).xaHash,d=(i||{}).yaHash,v=0;v<t.length;v++){var x=t[v];for(l in r)if(x[l]){for(c in x)!(i&&(h[c]||d[c]))&&!(c.charAt(0)===\"x\"?r:n)[c]&&(o[c]=l);for(u in n)!(i&&(h[u]||d[u]))&&x[u]&&(a=!0)}for(u in n)if(x[u])for(f in x)!(i&&(h[f]||d[f]))&&!(f.charAt(0)===\"x\"?r:n)[f]&&(s[f]=u)}a&&(C0.extendFlat(o,s),s={});var b={},p=[];for(c in o){var E=CN(e,c);p.push(E),b[E._id]=E}var k={},A=[];for(f in s){var L=CN(e,f);A.push(L),k[L._id]=L}return{xaHash:b,yaHash:k,xaxes:p,yaxes:A,xLinks:o,yLinks:s,isSubplotConstrained:a}}function fhe(e,t){if(!xft)e.onwheel!==void 0?e.onwheel=t:e.onmousewheel!==void 0?e.onmousewheel=t:e.isAddedWheelEvent||(e.isAddedWheelEvent=!0,e.addEventListener(\"wheel\",t,{passive:!1}));else{var r=e.onwheel!==void 0?\"wheel\":\"mousewheel\";e._onwheel&&e.removeEventListener(r,e._onwheel),e._onwheel=t,e.addEventListener(r,t,{passive:!1})}}function the(e){var t=[];for(var r in e)t.push(e[r]);return t}hhe.exports={makeDragBox:Rft,makeDragger:nhe,makeRectDragger:ahe,makeZoombox:ohe,makeCorners:she,updateZoombox:lhe,xyCorners:TP,transitionZoombox:uhe,removeZoombox:PN,showDoubleClickNotifier:che,attachWheelEventHandler:fhe}});var zN=ye(SP=>{\"use strict\";var Bft=xa(),AP=Nc(),Nft=gv(),Uft=Tg(),kg=DN().makeDragBox,ud=ad().DRAGGERSIZE;SP.initInteractions=function(t){var r=t._fullLayout;if(t._context.staticPlot){Bft.select(t).selectAll(\".drag\").remove();return}if(!(!r._has(\"cartesian\")&&!r._has(\"splom\"))){var n=Object.keys(r._plots||{}).sort(function(a,o){if((r._plots[a].mainplot&&!0)===(r._plots[o].mainplot&&!0)){var s=a.split(\"y\"),l=o.split(\"y\");return s[0]===l[0]?Number(s[1]||1)-Number(l[1]||1):Number(s[0]||1)-Number(l[0]||1)}return r._plots[a].mainplot?1:-1});n.forEach(function(a){var o=r._plots[a],s=o.xaxis,l=o.yaxis;if(!o.mainplot){var u=kg(t,o,s._offset,l._offset,s._length,l._length,\"ns\",\"ew\");u.onmousemove=function(h){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===a&&t._fullLayout._plots[a]&&AP.hover(t,h,a)},AP.hover(t,h,a),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=a},u.onmouseout=function(h){t._dragging||(t._fullLayout._hoversubplot=null,Nft.unhover(t,h))},t._context.showAxisDragHandles&&(kg(t,o,s._offset-ud,l._offset-ud,ud,ud,\"n\",\"w\"),kg(t,o,s._offset+s._length,l._offset-ud,ud,ud,\"n\",\"e\"),kg(t,o,s._offset-ud,l._offset+l._length,ud,ud,\"s\",\"w\"),kg(t,o,s._offset+s._length,l._offset+l._length,ud,ud,\"s\",\"e\"))}if(t._context.showAxisDragHandles){if(a===s._mainSubplot){var c=s._mainLinePosition;s.side===\"top\"&&(c-=ud),kg(t,o,s._offset+s._length*.1,c,s._length*.8,ud,\"\",\"ew\"),kg(t,o,s._offset,c,s._length*.1,ud,\"\",\"w\"),kg(t,o,s._offset+s._length*.9,c,s._length*.1,ud,\"\",\"e\")}if(a===l._mainSubplot){var f=l._mainLinePosition;l.side!==\"right\"&&(f-=ud),kg(t,o,f,l._offset+l._length*.1,ud,l._length*.8,\"ns\",\"\"),kg(t,o,f,l._offset+l._length*.9,ud,l._length*.1,\"s\",\"\"),kg(t,o,f,l._offset,ud,l._length*.1,\"n\",\"\")}}});var i=r._hoverlayer.node();i.onmousemove=function(a){a.target=t._fullLayout._lasthover,AP.hover(t,a,r._hoversubplot)},i.onclick=function(a){a.target=t._fullLayout._lasthover,AP.click(t,a)},i.onmousedown=function(a){t._fullLayout._lasthover.onmousedown(a)},SP.updateFx(t)}};SP.updateFx=function(e){var t=e._fullLayout,r=t.dragmode===\"pan\"?\"move\":\"crosshair\";Uft(t._draggers,r)}});var phe=ye((Qir,vhe)=>{\"use strict\";var dhe=ba();vhe.exports=function(t){for(var r=dhe.layoutArrayContainers,n=dhe.layoutArrayRegexes,i=t.split(\"[\")[0],a,o,s=0;s<n.length;s++)if(o=t.match(n[s]),o&&o.index===0){a=o[0];break}if(a||(a=r[r.indexOf(i)]),!a)return!1;var l=t.substr(a.length);return l?(o=l.match(/^\\[(0|[1-9][0-9]*)\\](\\.(.+))?$/),o?{array:a,index:Number(o[1]),property:o[3]||\"\"}:!1):{array:a,index:\"\",property:\"\"}}});var mhe=ye(zM=>{\"use strict\";var Vft=gy(),FN=g6(),DM=G1(),Hft=k6().sorterAsc,qN=ba();zM.containerArrayMatch=phe();var Gft=zM.isAddVal=function(t){return t===\"add\"||Vft(t)},ghe=zM.isRemoveVal=function(t){return t===null||t===\"remove\"};zM.applyContainerArrayChanges=function(t,r,n,i,a){var o=r.astr,s=qN.getComponentMethod(o,\"supplyLayoutDefaults\"),l=qN.getComponentMethod(o,\"draw\"),u=qN.getComponentMethod(o,\"drawOne\"),c=i.replot||i.recalc||s===FN||l===FN,f=t.layout,h=t._fullLayout;if(n[\"\"]){Object.keys(n).length>1&&DM.warn(\"Full array edits are incompatible with other edits\",o);var d=n[\"\"][\"\"];if(ghe(d))r.set(null);else if(Array.isArray(d))r.set(d);else return DM.warn(\"Unrecognized full array edit value\",o,d),!0;return c?!1:(s(f,h),l(t),!0)}var v=Object.keys(n).map(Number).sort(Hft),x=r.get(),b=x||[],p=a(h,o).get(),E=[],k=-1,A=b.length,L,_,C,M,g,P,T,F;for(L=0;L<v.length;L++){if(C=v[L],M=n[C],g=Object.keys(M),P=M[\"\"],T=Gft(P),C<0||C>b.length-(T?0:1)){DM.warn(\"index out of range\",o,C);continue}if(P!==void 0)g.length>1&&DM.warn(\"Insertion & removal are incompatible with edits to the same index.\",o,C),ghe(P)?E.push(C):T?(P===\"add\"&&(P={}),b.splice(C,0,P),p&&p.splice(C,0,{})):DM.warn(\"Unrecognized full object edit value\",o,C,P),k===-1&&(k=C);else for(_=0;_<g.length;_++)F=o+\"[\"+C+\"].\",a(b[C],g[_],F).set(M[g[_]])}for(L=E.length-1;L>=0;L--)b.splice(E[L],1),p&&p.splice(E[L],1);if(b.length?x||r.set(b):r.set(null),c)return!1;if(s(f,h),u!==FN){var q;if(k===-1)q=v;else{for(A=Math.max(b.length,A),q=[],L=0;L<v.length&&(C=v[L],!(C>=k));L++)q.push(C);for(L=k;L<A;L++)q.push(L)}for(L=0;L<q.length;L++)u(t,q[L])}else l(t);return!0}});var She=ye(Cg=>{\"use strict\";var bhe=uo(),tnr=Lq(),whe=ba(),kp=Mr(),FM=Xu(),The=af(),Ahe=va(),qM=The.cleanId,jft=The.getFromTrace,ON=whe.traceIs;Cg.clearPromiseQueue=function(e){Array.isArray(e._promises)&&e._promises.length>0&&kp.log(\"Clearing previous rejected promises from queue.\"),e._promises=[]};Cg.cleanLayout=function(e){var t,r;e||(e={}),e.xaxis1&&(e.xaxis||(e.xaxis=e.xaxis1),delete e.xaxis1),e.yaxis1&&(e.yaxis||(e.yaxis=e.yaxis1),delete e.yaxis1),e.scene1&&(e.scene||(e.scene=e.scene1),delete e.scene1);var n=(FM.subplotsRegistry.cartesian||{}).attrRegex,i=(FM.subplotsRegistry.polar||{}).attrRegex,a=(FM.subplotsRegistry.ternary||{}).attrRegex,o=(FM.subplotsRegistry.gl3d||{}).attrRegex,s=Object.keys(e);for(t=0;t<s.length;t++){var l=s[t];if(n&&n.test(l)){var u=e[l];u.anchor&&u.anchor!==\"free\"&&(u.anchor=qM(u.anchor)),u.overlaying&&(u.overlaying=qM(u.overlaying)),u.type||(u.isdate?u.type=\"date\":u.islog?u.type=\"log\":u.isdate===!1&&u.islog===!1&&(u.type=\"linear\")),(u.autorange===\"withzero\"||u.autorange===\"tozero\")&&(u.autorange=!0,u.rangemode=\"tozero\"),u.insiderange&&delete u.range,delete u.islog,delete u.isdate,delete u.categories,MP(u,\"domain\")&&delete u.domain}}var c=Array.isArray(e.annotations)?e.annotations.length:0;for(t=0;t<c;t++){var f=e.annotations[t];kp.isPlainObject(f)&&(Y3(f,\"xref\"),Y3(f,\"yref\"))}var h=Array.isArray(e.shapes)?e.shapes.length:0;for(t=0;t<h;t++){var d=e.shapes[t];kp.isPlainObject(d)&&(Y3(d,\"xref\"),Y3(d,\"yref\"))}var v=Array.isArray(e.images)?e.images.length:0;for(t=0;t<v;t++){var x=e.images[t];kp.isPlainObject(x)&&(Y3(x,\"xref\"),Y3(x,\"yref\"))}var b=e.legend;return b&&(b.x>3?(b.x=1.02,b.xanchor=\"left\"):b.x<-2&&(b.x=-.02,b.xanchor=\"right\"),b.y>3?(b.y=1.02,b.yanchor=\"bottom\"):b.y<-2&&(b.y=-.02,b.yanchor=\"top\")),e.dragmode===\"rotate\"&&(e.dragmode=\"orbit\"),Ahe.clean(e),e.template&&e.template.layout&&Cg.cleanLayout(e.template.layout),e};function Y3(e,t){var r=e[t],n=t.charAt(0);r&&r!==\"paper\"&&(e[t]=qM(r,n,!0))}Cg.cleanData=function(e){for(var t=0;t<e.length;t++){var r=e[t],n;if(r.type===\"histogramy\"&&\"xbins\"in r&&!(\"ybins\"in r)&&(r.ybins=r.xbins,delete r.xbins),r.type===\"histogramy\"&&Cg.swapXYData(r),(r.type===\"histogramx\"||r.type===\"histogramy\")&&(r.type=\"histogram\"),\"scl\"in r&&!(\"colorscale\"in r)&&(r.colorscale=r.scl,delete r.scl),\"reversescl\"in r&&!(\"reversescale\"in r)&&(r.reversescale=r.reversescl,delete r.reversescl),r.xaxis&&(r.xaxis=qM(r.xaxis,\"x\")),r.yaxis&&(r.yaxis=qM(r.yaxis,\"y\")),ON(r,\"gl3d\")&&r.scene&&(r.scene=FM.subplotsRegistry.gl3d.cleanId(r.scene)),!ON(r,\"pie-like\")&&!ON(r,\"bar-like\"))if(Array.isArray(r.textposition))for(n=0;n<r.textposition.length;n++)r.textposition[n]=_he(r.textposition[n]);else r.textposition&&(r.textposition=_he(r.textposition));var i=whe.getModule(r);if(i&&i.colorbar){var a=i.colorbar.container,o=a?r[a]:r;o&&o.colorscale&&(o.colorscale===\"YIGnBu\"&&(o.colorscale=\"YlGnBu\"),o.colorscale===\"YIOrRd\"&&(o.colorscale=\"YlOrRd\"))}if(r.type===\"surface\"&&kp.isPlainObject(r.contours)){var s=[\"x\",\"y\",\"z\"];for(n=0;n<s.length;n++){var l=r.contours[s[n]];kp.isPlainObject(l)&&(l.highlightColor&&(l.highlightcolor=l.highlightColor,delete l.highlightColor),l.highlightWidth&&(l.highlightwidth=l.highlightWidth,delete l.highlightWidth))}}if(r.type===\"candlestick\"||r.type===\"ohlc\"){var u=(r.increasing||{}).showlegend!==!1,c=(r.decreasing||{}).showlegend!==!1,f=yhe(r.increasing),h=yhe(r.decreasing);if(f!==!1&&h!==!1){var d=Wft(f,h,u,c);d&&(r.name=d)}else(f||h)&&!r.name&&(r.name=f||h)}MP(r,\"line\")&&delete r.line,\"marker\"in r&&(MP(r.marker,\"line\")&&delete r.marker.line,MP(r,\"marker\")&&delete r.marker),Ahe.clean(r),r.autobinx&&(delete r.autobinx,delete r.xbins),r.autobiny&&(delete r.autobiny,delete r.ybins)}};function yhe(e){if(!kp.isPlainObject(e))return!1;var t=e.name;return delete e.name,delete e.showlegend,(typeof t==\"string\"||typeof t==\"number\")&&String(t)}function Wft(e,t,r,n){if(r&&!n)return e;if(n&&!r||!e.trim())return t;if(!t.trim())return e;var i=Math.min(e.length,t.length),a;for(a=0;a<i&&e.charAt(a)===t.charAt(a);a++);var o=e.substr(0,a);return o.trim()}function _he(e){var t=\"middle\",r=\"center\";return typeof e==\"string\"&&(e.indexOf(\"top\")!==-1?t=\"top\":e.indexOf(\"bottom\")!==-1&&(t=\"bottom\"),e.indexOf(\"left\")!==-1?r=\"left\":e.indexOf(\"right\")!==-1&&(r=\"right\")),t+\" \"+r}function MP(e,t){return t in e&&typeof e[t]==\"object\"&&Object.keys(e[t]).length===0}Cg.swapXYData=function(e){var t;if(kp.swapAttrs(e,[\"?\",\"?0\",\"d?\",\"?bins\",\"nbins?\",\"autobin?\",\"?src\",\"error_?\"]),Array.isArray(e.z)&&Array.isArray(e.z[0])&&(e.transpose?delete e.transpose:e.transpose=!0),e.error_x&&e.error_y){var r=e.error_y,n=\"copy_ystyle\"in r?r.copy_ystyle:!(r.color||r.thickness||r.width);kp.swapAttrs(e,[\"error_?.copy_ystyle\"]),n&&kp.swapAttrs(e,[\"error_?.color\",\"error_?.thickness\",\"error_?.width\"])}if(typeof e.hoverinfo==\"string\"){var i=e.hoverinfo.split(\"+\");for(t=0;t<i.length;t++)i[t]===\"x\"?i[t]=\"y\":i[t]===\"y\"&&(i[t]=\"x\");e.hoverinfo=i.join(\"+\")}};Cg.coerceTraceIndices=function(e,t){if(bhe(t))return[t];if(!Array.isArray(t)||!t.length)return e.data.map(function(i,a){return a});if(Array.isArray(t)){for(var r=[],n=0;n<t.length;n++)kp.isIndex(t[n],e.data.length)?r.push(t[n]):kp.warn(\"trace index (\",t[n],\") is not a number or is out of bounds\");return r}return t};Cg.manageArrayContainers=function(e,t,r){var n=e.obj,i=e.parts,a=i.length,o=i[a-1],s=bhe(o);if(s&&t===null){var l=i.slice(0,a-1).join(\".\"),u=kp.nestedProperty(n,l).get();u.splice(o,1)}else s&&e.get()===void 0&&e.get()===void 0&&(r[e.astr]=null),e.set(t)};var Zft=/(\\.[^\\[\\]\\.]+|\\[[^\\[\\]\\.]+\\])$/;function xhe(e){var t=e.search(Zft);if(t>0)return e.substr(0,t)}Cg.hasParent=function(e,t){for(var r=xhe(t);r;){if(r in e)return!0;r=xhe(r)}return!1};var Xft=[\"x\",\"y\",\"z\"];Cg.clearAxisTypes=function(e,t,r){for(var n=0;n<t.length;n++)for(var i=e._fullData[n],a=0;a<3;a++){var o=jft(e,i,Xft[a]);if(o&&o.type!==\"log\"){var s=o._name,l=o._id.substr(1);if(l.substr(0,5)===\"scene\"){if(r[l]!==void 0)continue;s=l+\".\"+s}var u=s+\".type\";r[s]===void 0&&r[u]===void 0&&kp.nestedProperty(e.layout,u).set(null)}}}});var OP=ye(pl=>{\"use strict\";var CP=xa(),Yft=uo(),Kft=$q(),sa=Mr(),Yu=sa.nestedProperty,UN=g3(),ap=lne(),L0=ba(),FP=_3(),Ho=Xu(),Nv=Qa(),Jft=dB(),$ft=Cd(),BN=ao(),Qft=va(),eht=zN().initInteractions,tht=Zp(),rht=wf().clearOutline,Lhe=ub().dfltConfig,EP=mhe(),yh=She(),$l=gM(),p_=Bu(),iht=ad().AX_NAME_PATTERN,NN=0,Mhe=5;function nht(e,t,r,n){var i;if(e=sa.getGraphDiv(e),UN.init(e),sa.isPlainObject(t)){var a=t;t=a.data,r=a.layout,n=a.config,i=a.frames}var o=UN.triggerHandler(e,\"plotly_beforeplot\",[t,r,n]);if(o===!1)return Promise.reject();!t&&!r&&!sa.isPlotDiv(e)&&sa.warn(\"Calling _doPlot as if redrawing but this container doesn't yet have a plot.\",e);function s(){if(i)return pl.addFrames(e,i)}Ihe(e,n),r||(r={}),CP.select(e).classed(\"js-plotly-plot\",!0),BN.makeTester(),Array.isArray(e._promises)||(e._promises=[]);var l=(e.data||[]).length===0&&Array.isArray(t);Array.isArray(t)&&(yh.cleanData(t),l?e.data=t:e.data.push.apply(e.data,t),e.empty=!1),(!e.layout||l)&&(e.layout=yh.cleanLayout(r)),Ho.supplyDefaults(e);var u=e._fullLayout,c=u._has(\"cartesian\");u._replotting=!0,(l||u._shouldCreateBgLayer)&&(Eht(e),u._shouldCreateBgLayer&&delete u._shouldCreateBgLayer),BN.initGradients(e),BN.initPatterns(e),l&&Nv.saveShowSpikeInitial(e);var f=!e.calcdata||e.calcdata.length!==(e._fullData||[]).length;f&&Ho.doCalcdata(e);for(var h=0;h<e.calcdata.length;h++)e.calcdata[h][0].trace=e._fullData[h];e._context.responsive?e._responsiveChartHandler||(e._responsiveChartHandler=function(){sa.isHidden(e)||Ho.resize(e)},window.addEventListener(\"resize\",e._responsiveChartHandler)):sa.clearResponsive(e);var d=sa.extendFlat({},u._size),v=0;function x(){for(var C=u._basePlotModules,M=0;M<C.length;M++)C[M].drawFramework&&C[M].drawFramework(e);!u._glcanvas&&u._has(\"gl\")&&(u._glcanvas=u._glcontainer.selectAll(\".gl-canvas\").data([{key:\"contextLayer\",context:!0,pick:!1},{key:\"focusLayer\",context:!1,pick:!1},{key:\"pickLayer\",context:!1,pick:!0}],function(F){return F.key}),u._glcanvas.enter().append(\"canvas\").attr(\"class\",function(F){return\"gl-canvas gl-canvas-\"+F.key.replace(\"Layer\",\"\")}).style({position:\"absolute\",top:0,left:0,overflow:\"visible\",\"pointer-events\":\"none\"}));var g=e._context.plotGlPixelRatio;if(u._glcanvas){u._glcanvas.attr(\"width\",u.width*g).attr(\"height\",u.height*g).style(\"width\",u.width+\"px\").style(\"height\",u.height+\"px\");var P=u._glcanvas.data()[0].regl;if(P&&(Math.floor(u.width*g)!==P._gl.drawingBufferWidth||Math.floor(u.height*g)!==P._gl.drawingBufferHeight)){var T=\"WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug.\";if(v)sa.error(T);else return sa.log(T+\" Clearing graph and plotting again.\"),Ho.cleanPlot([],{},e._fullData,u),Ho.supplyDefaults(e),u=e._fullLayout,Ho.doCalcdata(e),v++,x()}}return u.modebar.orientation===\"h\"?u._modebardiv.style(\"height\",null).style(\"width\",\"100%\"):u._modebardiv.style(\"width\",null).style(\"height\",u.height+\"px\"),Ho.previousPromises(e)}function b(){if(Ho.clearAutoMarginIds(e),$l.drawMarginPushers(e),Nv.allowAutoMargin(e),e._fullLayout.title.text&&e._fullLayout.title.automargin&&Ho.allowAutoMargin(e,\"title.automargin\"),u._has(\"pie\"))for(var C=e._fullData,M=0;M<C.length;M++){var g=C[M];g.type===\"pie\"&&g.automargin&&Ho.allowAutoMargin(e,\"pie.\"+g.uid+\".automargin\")}return Ho.doAutoMargin(e),Ho.previousPromises(e)}function p(){if(Ho.didMarginChange(d,u._size))return sa.syncOrAsync([b,$l.layoutStyles],e)}function E(){if(!f){k();return}return sa.syncOrAsync([L0.getComponentMethod(\"shapes\",\"calcAutorange\"),L0.getComponentMethod(\"annotations\",\"calcAutorange\"),k],e)}function k(){e._transitioning||($l.doAutoRangeAndConstraints(e),l&&Nv.saveRangeInitial(e),L0.getComponentMethod(\"rangeslider\",\"calcAutorange\")(e))}function A(){return Nv.draw(e,l?\"\":\"redraw\")}var L=[Ho.previousPromises,s,x,b,p];c&&L.push(E),L.push($l.layoutStyles),c&&L.push(A,function(M){var g=M._fullLayout._insideTickLabelsUpdaterange;if(g)return M._fullLayout._insideTickLabelsUpdaterange=void 0,OM(M,g).then(function(){Nv.saveRangeInitial(M,!0)})}),L.push($l.drawData,$l.finalDraw,eht,Ho.addLinks,Ho.rehover,Ho.redrag,Ho.reselect,Ho.doAutoMargin,Ho.previousPromises);var _=sa.syncOrAsync(L,e);return(!_||!_.then)&&(_=Promise.resolve()),_.then(function(){return BM(e),e})}function BM(e){var t=e._fullLayout;t._redrawFromAutoMarginCount?t._redrawFromAutoMarginCount--:e.emit(\"plotly_afterplot\")}function aht(e){return sa.extendFlat(Lhe,e)}function Phe(e,t){try{e._fullLayout._paper.style(\"background\",t)}catch(r){sa.error(r)}}function oht(e,t){var r=Qft.combine(t,\"white\");Phe(e,r)}function Ihe(e,t){if(!e._context){e._context=sa.extendDeep({},Lhe);var r=CP.select(\"base\");e._context._baseUrl=r.size()&&r.attr(\"href\")?window.location.href.split(\"#\")[0]:\"\"}var n=e._context,i,a,o;if(t){for(a=Object.keys(t),i=0;i<a.length;i++)o=a[i],!(o===\"editable\"||o===\"edits\")&&o in n&&(o===\"setBackground\"&&t[o]===\"opaque\"?n[o]=oht:n[o]=t[o]);var s=t.editable;if(s!==void 0)for(n.editable=s,a=Object.keys(n.edits),i=0;i<a.length;i++)n.edits[a[i]]=s;if(t.edits)for(a=Object.keys(t.edits),i=0;i<a.length;i++)o=a[i],o in n.edits&&(n.edits[o]=t.edits[o]);n._exportedPlot=t._exportedPlot}n.staticPlot&&(n.editable=!1,n.edits={},n.autosizable=!1,n.scrollZoom=!1,n.doubleClick=!1,n.showTips=!1,n.showLink=!1,n.displayModeBar=!1),n.displayModeBar===\"hover\"&&!Kft&&(n.displayModeBar=!0),(n.setBackground===\"transparent\"||typeof n.setBackground!=\"function\")&&(n.setBackground=Phe),n._hasZeroHeight=n._hasZeroHeight||e.clientHeight===0,n._hasZeroWidth=n._hasZeroWidth||e.clientWidth===0;var l=n.scrollZoom,u=n._scrollZoom={};if(l===!0)u.cartesian=1,u.gl3d=1,u.geo=1,u.mapbox=1,u.map=1;else if(typeof l==\"string\"){var c=l.split(\"+\");for(i=0;i<c.length;i++)u[c[i]]=1}else l!==!1&&(u.gl3d=1,u.geo=1,u.mapbox=1,u.map=1)}function sht(e){if(e=sa.getGraphDiv(e),!sa.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e);return yh.cleanData(e.data),yh.cleanLayout(e.layout),e.calcdata=void 0,pl._doPlot(e).then(function(){return e.emit(\"plotly_redraw\"),e})}function lht(e,t,r,n){return e=sa.getGraphDiv(e),Ho.cleanPlot([],{},e._fullData||[],e._fullLayout||{}),Ho.purge(e),pl._doPlot(e,t,r,n)}function LP(e,t){var r=t+1,n=[],i,a;for(i=0;i<e.length;i++)a=e[i],a<0?n.push(r+a):n.push(a);return n}function PP(e,t,r){var n,i;for(n=0;n<t.length;n++){if(i=t[n],i!==parseInt(i,10))throw new Error(\"all values in \"+r+\" must be integers\");if(i>=e.data.length||i<-e.data.length)throw new Error(r+\" must be valid indices for gd.data.\");if(t.indexOf(i,n+1)>-1||i>=0&&t.indexOf(-e.data.length+i)>-1||i<0&&t.indexOf(e.data.length+i)>-1)throw new Error(\"each index in \"+r+\" must be unique.\")}}function Rhe(e,t,r){if(!Array.isArray(e.data))throw new Error(\"gd.data must be an array.\");if(typeof t==\"undefined\")throw new Error(\"currentIndices is a required argument.\");if(Array.isArray(t)||(t=[t]),PP(e,t,\"currentIndices\"),typeof r!=\"undefined\"&&!Array.isArray(r)&&(r=[r]),typeof r!=\"undefined\"&&PP(e,r,\"newIndices\"),typeof r!=\"undefined\"&&t.length!==r.length)throw new Error(\"current and new indices must be of equal length.\")}function uht(e,t,r){var n,i;if(!Array.isArray(e.data))throw new Error(\"gd.data must be an array.\");if(typeof t==\"undefined\")throw new Error(\"traces must be defined.\");for(Array.isArray(t)||(t=[t]),n=0;n<t.length;n++)if(i=t[n],typeof i!=\"object\"||Array.isArray(i)||i===null)throw new Error(\"all values in traces array must be non-array objects\");if(typeof r!=\"undefined\"&&!Array.isArray(r)&&(r=[r]),typeof r!=\"undefined\"&&r.length!==t.length)throw new Error(\"if indices is specified, traces.length must equal indices.length\")}function cht(e,t,r,n){var i=sa.isPlainObject(n);if(!Array.isArray(e.data))throw new Error(\"gd.data must be an array\");if(!sa.isPlainObject(t))throw new Error(\"update must be a key:value object\");if(typeof r==\"undefined\")throw new Error(\"indices must be an integer or array of integers\");PP(e,r,\"indices\");for(var a in t){if(!Array.isArray(t[a])||t[a].length!==r.length)throw new Error(\"attribute \"+a+\" must be an array of length equal to indices array length\");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==t[a].length))throw new Error(\"when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object\")}}function fht(e,t,r,n){var i=sa.isPlainObject(n),a=[],o,s,l,u,c;Array.isArray(r)||(r=[r]),r=LP(r,e.data.length-1);for(var f in t)for(var h=0;h<r.length;h++){if(o=e.data[r[h]],l=Yu(o,f),s=l.get(),u=t[f][h],!sa.isArrayOrTypedArray(u))throw new Error(\"attribute: \"+f+\" index: \"+h+\" must be an array\");if(!sa.isArrayOrTypedArray(s))throw new Error(\"cannot extend missing or non-array attribute: \"+f);if(s.constructor!==u.constructor)throw new Error(\"cannot extend array with an array of a different type: \"+f);c=i?n[f][h]:n,Yft(c)||(c=-1),a.push({prop:l,target:s,insert:u,maxp:Math.floor(c)})}return a}function Dhe(e,t,r,n,i){cht(e,t,r,n);for(var a=fht(e,t,r,n),o={},s={},l=0;l<a.length;l++){var u=a[l].prop,c=a[l].maxp,f=i(a[l].target,a[l].insert,c);u.set(f[0]),Array.isArray(o[u.astr])||(o[u.astr]=[]),o[u.astr].push(f[1]),Array.isArray(s[u.astr])||(s[u.astr]=[]),s[u.astr].push(a[l].target.length)}return{update:o,maxPoints:s}}function zhe(e,t){var r=new e.constructor(e.length+t.length);return r.set(e),r.set(t,e.length),r}function Fhe(e,t,r,n){e=sa.getGraphDiv(e);function i(l,u,c){var f,h;if(sa.isTypedArray(l))if(c<0){var d=new l.constructor(0),v=zhe(l,u);c<0?(f=v,h=d):(f=d,h=v)}else if(f=new l.constructor(c),h=new l.constructor(l.length+u.length-c),c===u.length)f.set(u),h.set(l);else if(c<u.length){var x=u.length-c;f.set(u.subarray(x)),h.set(l),h.set(u.subarray(0,x),l.length)}else{var b=c-u.length,p=l.length-b;f.set(l.subarray(p)),f.set(u,b),h.set(l.subarray(0,p))}else f=l.concat(u),h=c>=0&&c<f.length?f.splice(0,f.length-c):[];return[f,h]}var a=Dhe(e,t,r,n,i),o=pl.redraw(e),s=[e,a.update,r,a.maxPoints];return ap.add(e,pl.prependTraces,s,Fhe,arguments),o}function qhe(e,t,r,n){e=sa.getGraphDiv(e);function i(l,u,c){var f,h;if(sa.isTypedArray(l))if(c<=0){var d=new l.constructor(0),v=zhe(u,l);c<0?(f=v,h=d):(f=d,h=v)}else if(f=new l.constructor(c),h=new l.constructor(l.length+u.length-c),c===u.length)f.set(u),h.set(l);else if(c<u.length){var x=u.length-c;f.set(u.subarray(0,x)),h.set(u.subarray(x)),h.set(l,x)}else{var b=c-u.length;f.set(u),f.set(l.subarray(0,b),u.length),h.set(l.subarray(b))}else f=u.concat(l),h=c>=0&&c<f.length?f.splice(c,f.length):[];return[f,h]}var a=Dhe(e,t,r,n,i),o=pl.redraw(e),s=[e,a.update,r,a.maxPoints];return ap.add(e,pl.extendTraces,s,qhe,arguments),o}function Ohe(e,t,r){e=sa.getGraphDiv(e);var n=[],i=pl.deleteTraces,a=Ohe,o=[e,n],s=[e,t],l,u;for(uht(e,t,r),Array.isArray(t)||(t=[t]),t=t.map(function(c){return sa.extendFlat({},c)}),yh.cleanData(t),l=0;l<t.length;l++)e.data.push(t[l]);for(l=0;l<t.length;l++)n.push(-t.length+l);if(typeof r==\"undefined\")return u=pl.redraw(e),ap.add(e,i,o,a,s),u;Array.isArray(r)||(r=[r]);try{Rhe(e,n,r)}catch(c){throw e.data.splice(e.data.length-t.length,t.length),c}return ap.startSequence(e),ap.add(e,i,o,a,s),u=pl.moveTraces(e,n,r),ap.stopSequence(e),u}function Bhe(e,t){e=sa.getGraphDiv(e);var r=[],n=pl.addTraces,i=Bhe,a=[e,r,t],o=[e,t],s,l;if(typeof t==\"undefined\")throw new Error(\"indices must be an integer or array of integers.\");for(Array.isArray(t)||(t=[t]),PP(e,t,\"indices\"),t=LP(t,e.data.length-1),t.sort(sa.sorterDes),s=0;s<t.length;s+=1)l=e.data.splice(t[s],1)[0],r.push(l);var u=pl.redraw(e);return ap.add(e,n,a,i,o),u}function VN(e,t,r){e=sa.getGraphDiv(e);var n=[],i=[],a=VN,o=VN,s=[e,r,t],l=[e,t,r],u;if(Rhe(e,t,r),t=Array.isArray(t)?t:[t],typeof r==\"undefined\")for(r=[],u=0;u<t.length;u++)r.push(-t.length+u);for(r=Array.isArray(r)?r:[r],t=LP(t,e.data.length-1),r=LP(r,e.data.length-1),u=0;u<e.data.length;u++)t.indexOf(u)===-1&&n.push(e.data[u]);for(u=0;u<t.length;u++)i.push({newIndex:r[u],trace:e.data[t[u]]});for(i.sort(function(f,h){return f.newIndex-h.newIndex}),u=0;u<i.length;u+=1)n.splice(i[u].newIndex,0,i[u].trace);e.data=n;var c=pl.redraw(e);return ap.add(e,a,s,o,l),c}function IP(e,t,r,n){e=sa.getGraphDiv(e),yh.clearPromiseQueue(e);var i={};if(typeof t==\"string\")i[t]=r;else if(sa.isPlainObject(t))i=sa.extendFlat({},t),n===void 0&&(n=r);else return sa.warn(\"Restyle fail.\",t,r,n),Promise.reject();Object.keys(i).length&&(e.changed=!0);var a=yh.coerceTraceIndices(e,n),o=Nhe(e,i,a),s=o.flags;s.calc&&(e.calcdata=void 0),s.clearAxisTypes&&yh.clearAxisTypes(e,a,{});var l=[];s.fullReplot?l.push(pl._doPlot):(l.push(Ho.previousPromises),Ho.supplyDefaults(e),s.markerSize&&(Ho.doCalcdata(e),qP(l)),s.style&&l.push($l.doTraceStyle),s.colorbars&&l.push($l.doColorBars),l.push(BM)),l.push(Ho.rehover,Ho.redrag,Ho.reselect),ap.add(e,IP,[e,o.undoit,o.traces],IP,[e,o.redoit,o.traces]);var u=sa.syncOrAsync(l,e);return(!u||!u.then)&&(u=Promise.resolve()),u.then(function(){return e.emit(\"plotly_restyle\",o.eventData),e})}function Cy(e){return e===void 0?null:e}function kP(e,t){return t?function(r,n,i){var a=Yu(r,n),o=a.set;return a.set=function(s){var l=(i||\"\")+n;RP(l,a.get(),s,e),o(s)},a}:Yu}function RP(e,t,r,n){if(Array.isArray(t)||Array.isArray(r))for(var i=Array.isArray(t)?t:[],a=Array.isArray(r)?r:[],o=Math.max(i.length,a.length),s=0;s<o;s++)RP(e+\"[\"+s+\"]\",i[s],a[s],n);else if(sa.isPlainObject(t)||sa.isPlainObject(r)){var l=sa.isPlainObject(t)?t:{},u=sa.isPlainObject(r)?r:{},c=sa.extendFlat({},l,u);for(var f in c)RP(e+\".\"+f,l[f],u[f],n)}else n[e]===void 0&&(n[e]=Cy(t))}function hht(e,t,r){for(var n in r){var i=Yu(e,n);RP(n,i.get(),r[n],t)}}function Nhe(e,t,r){var n=e._fullLayout,i=e._fullData,a=e.data,o=n._guiEditing,s=kP(n._preGUI,o),l=sa.extendDeepAll({},t),u,c=p_.traceFlags(),f={},h={},d;function v(){return r.map(function(){})}function x(me){var Re=Nv.id2name(me);d.indexOf(Re)===-1&&d.push(Re)}function b(me){return\"LAYOUT\"+me+\".autorange\"}function p(me){return\"LAYOUT\"+me+\".range\"}function E(me){for(var Re=me;Re<i.length;Re++)if(i[Re]._input===a[me])return i[Re]}function k(me,Re,ce){if(Array.isArray(me)){me.forEach(function(qt){k(qt,Re,ce)});return}if(!(me in t||yh.hasParent(t,me))){var Ge;if(me.substr(0,6)===\"LAYOUT\")Ge=s(e.layout,me.replace(\"LAYOUT\",\"\"));else{var nt=r[ce],ct=n._tracePreGUI[E(nt)._fullInput.uid];Ge=kP(ct,o)(a[nt],me)}me in h||(h[me]=v()),h[me][ce]===void 0&&(h[me][ce]=Cy(Ge.get())),Re!==void 0&&Ge.set(Re)}}function A(me){return function(Re){return i[Re][me]}}function L(me){return function(Re,ce){return Re===!1?i[r[ce]][me]:null}}for(var _ in t){if(yh.hasParent(t,_))throw new Error(\"cannot set \"+_+\" and a parent attribute simultaneously\");var C=t[_],M,g,P,T,F,q;if((_===\"autobinx\"||_===\"autobiny\")&&(_=_.charAt(_.length-1)+\"bins\",Array.isArray(C)?C=C.map(L(_)):C===!1?C=r.map(A(_)):C=null),f[_]=C,_.substr(0,6)===\"LAYOUT\"){P=s(e.layout,_.replace(\"LAYOUT\",\"\")),h[_]=[Cy(P.get())],P.set(Array.isArray(C)?C[0]:C),c.calc=!0;continue}for(h[_]=v(),u=0;u<r.length;u++){M=a[r[u]],g=E(r[u]);var V=n._tracePreGUI[g._fullInput.uid];if(P=kP(V,o)(M,_),T=P.get(),F=Array.isArray(C)?C[u%C.length]:C,F!==void 0){var H=P.parts[P.parts.length-1],X=_.substr(0,_.length-H.length-1),G=X?X+\".\":\"\",N=X?Yu(g,X).get():g;if(q=FP.getTraceValObject(g,P.parts),q&&q.impliedEdits&&F!==null)for(var W in q.impliedEdits)k(sa.relativeAttr(_,W),q.impliedEdits[W],u);else if((H===\"thicknessmode\"||H===\"lenmode\")&&T!==F&&(F===\"fraction\"||F===\"pixels\")&&N){var re=n._size,ae=N.orient,_e=ae===\"top\"||ae===\"bottom\";if(H===\"thicknessmode\"){var Me=_e?re.h:re.w;k(G+\"thickness\",N.thickness*(F===\"fraction\"?1/Me:Me),u)}else{var ke=_e?re.w:re.h;k(G+\"len\",N.len*(F===\"fraction\"?1/ke:ke),u)}}else if(_===\"type\"&&(F===\"pie\"!=(T===\"pie\")||F===\"funnelarea\"!=(T===\"funnelarea\"))){var ge=\"x\",ie=\"y\";(F===\"bar\"||T===\"bar\")&&M.orientation===\"h\"&&(ge=\"y\",ie=\"x\"),sa.swapAttrs(M,[\"?\",\"?src\"],\"labels\",ge),sa.swapAttrs(M,[\"d?\",\"?0\"],\"label\",ge),sa.swapAttrs(M,[\"?\",\"?src\"],\"values\",ie),T===\"pie\"||T===\"funnelarea\"?(Yu(M,\"marker.color\").set(Yu(M,\"marker.colors\").get()),n._pielayer.selectAll(\"g.trace\").remove()):L0.traceIs(M,\"cartesian\")&&Yu(M,\"marker.colors\").set(Yu(M,\"marker.color\").get())}h[_][u]=Cy(T);var Te=[\"swapxy\",\"swapxyaxes\",\"orientation\",\"orientationaxes\"];if(Te.indexOf(_)!==-1){if(_===\"orientation\"){P.set(F);var Ee=M.x&&!M.y?\"h\":\"v\";if((P.get()||Ee)===g.orientation)continue}else _===\"orientationaxes\"&&(M.orientation={v:\"h\",h:\"v\"}[g.orientation]);yh.swapXYData(M),c.calc=c.clearAxisTypes=!0}else Ho.dataArrayContainers.indexOf(P.parts[0])!==-1?(yh.manageArrayContainers(P,F,h),c.calc=!0):(q?q.arrayOk&&!L0.traceIs(g,\"regl\")&&(sa.isArrayOrTypedArray(F)||sa.isArrayOrTypedArray(T))?c.calc=!0:p_.update(c,q):c.calc=!0,P.set(F))}}if([\"swapxyaxes\",\"orientationaxes\"].indexOf(_)!==-1&&Nv.swap(e,r),_===\"orientationaxes\"){var Ae=Yu(e.layout,\"hovermode\"),ze=Ae.get();ze===\"x\"?Ae.set(\"y\"):ze===\"y\"?Ae.set(\"x\"):ze===\"x unified\"?Ae.set(\"y unified\"):ze===\"y unified\"&&Ae.set(\"x unified\")}if([\"orientation\",\"type\"].indexOf(_)!==-1){for(d=[],u=0;u<r.length;u++){var Ce=a[r[u]];L0.traceIs(Ce,\"cartesian\")&&(x(Ce.xaxis||\"x\"),x(Ce.yaxis||\"y\"))}k(d.map(b),!0,0),k(d.map(p),[0,1],0)}}return(c.calc||c.plot)&&(c.fullReplot=!0),{flags:c,undoit:h,redoit:f,traces:r,eventData:sa.extendDeepNoArrays([],[l,r])}}function OM(e,t,r){e=sa.getGraphDiv(e),yh.clearPromiseQueue(e);var n={};if(typeof t==\"string\")n[t]=r;else if(sa.isPlainObject(t))n=sa.extendFlat({},t);else return sa.warn(\"Relayout fail.\",t,r),Promise.reject();Object.keys(n).length&&(e.changed=!0);var i=Ghe(e,n),a=i.flags;a.calc&&(e.calcdata=void 0);var o=[Ho.previousPromises];a.layoutReplot?o.push($l.layoutReplot):Object.keys(n).length&&(Uhe(e,a,i)||Ho.supplyDefaults(e),a.legend&&o.push($l.doLegend),a.layoutstyle&&o.push($l.layoutStyles),a.axrange&&qP(o,i.rangesAltered),a.ticks&&o.push($l.doTicksRelayout),a.modebar&&o.push($l.doModeBar),a.camera&&o.push($l.doCamera),a.colorbars&&o.push($l.doColorBars),o.push(BM)),o.push(Ho.rehover,Ho.redrag,Ho.reselect),ap.add(e,OM,[e,i.undoit],OM,[e,i.redoit]);var s=sa.syncOrAsync(o,e);return(!s||!s.then)&&(s=Promise.resolve(e)),s.then(function(){return e.emit(\"plotly_relayout\",i.eventData),e})}function Uhe(e,t,r){var n=e._fullLayout;if(!t.axrange)return!1;for(var i in t)if(i!==\"axrange\"&&t[i])return!1;var a,o,s=function(d,v){return sa.coerce(a,o,$ft,d,v)},l={};for(var u in r.rangesAltered){var c=Nv.id2name(u);if(a=e.layout[c],o=n[c],Jft(a,o,s,l),o._matchGroup){for(var f in o._matchGroup)if(f!==u){var h=n[Nv.id2name(f)];h.autorange=o.autorange,h.range=o.range.slice(),h._input.range=o.range.slice()}}}return!0}function qP(e,t){var r=t?function(n){var i=[],a=!0;for(var o in t){var s=Nv.getFromId(n,o);if(i.push(o),(s.ticklabelposition||\"\").indexOf(\"inside\")!==-1&&s._anchorAxis&&i.push(s._anchorAxis._id),s._matchGroup)for(var l in s._matchGroup)t[l]||i.push(l)}return Nv.draw(n,i,{skipTitle:a})}:function(n){return Nv.draw(n,\"redraw\")};e.push(rht,$l.doAutoRangeAndConstraints,r,$l.drawData,$l.finalDraw)}var Vhe=/^[xyz]axis[0-9]*\\.range(\\[[0|1]\\])?$/,Hhe=/^[xyz]axis[0-9]*\\.autorange$/,dht=/^[xyz]axis[0-9]*\\.domain(\\[[0|1]\\])?$/;function Ghe(e,t){var r=e.layout,n=e._fullLayout,i=n._guiEditing,a=kP(n._preGUI,i),o=Object.keys(t),s=Nv.list(e),l=sa.extendDeepAll({},t),u={},c,f,h;for(o=Object.keys(t),f=0;f<o.length;f++)if(o[f].indexOf(\"allaxes\")===0){for(h=0;h<s.length;h++){var d=s[h]._id.substr(1),v=d.indexOf(\"scene\")!==-1?d+\".\":\"\",x=o[f].replace(\"allaxes\",v+s[h]._name);t[x]||(t[x]=t[o[f]])}delete t[o[f]]}var b=p_.layoutFlags(),p={},E={};function k(ct,qt){if(Array.isArray(ct)){ct.forEach(function(ot){k(ot,qt)});return}if(!(ct in t||yh.hasParent(t,ct))){var rt=a(r,ct);ct in E||(E[ct]=Cy(rt.get())),qt!==void 0&&rt.set(qt)}}var A={},L;function _(ct){var qt=Nv.name2id(ct.split(\".\")[0]);return A[qt]=1,qt}for(var C in t){if(yh.hasParent(t,C))throw new Error(\"cannot set \"+C+\" and a parent attribute simultaneously\");for(var M=a(r,C),g=t[C],P=M.parts.length,T=P-1;T>0&&typeof M.parts[T]!=\"string\";)T--;var F=M.parts[T],q=M.parts[T-1]+\".\"+F,V=M.parts.slice(0,T).join(\".\"),H=Yu(e.layout,V).get(),X=Yu(n,V).get(),G=M.get();if(g!==void 0){p[C]=g,E[C]=F===\"reverse\"?g:Cy(G);var N=FP.getLayoutValObject(n,M.parts);if(N&&N.impliedEdits&&g!==null)for(var W in N.impliedEdits)k(sa.relativeAttr(C,W),N.impliedEdits[W]);if([\"width\",\"height\"].indexOf(C)!==-1)if(g){k(\"autosize\",null);var re=C===\"height\"?\"width\":\"height\";k(re,n[re])}else n[C]=e._initialAutoSize[C];else if(C===\"autosize\")k(\"width\",g?null:n.width),k(\"height\",g?null:n.height);else if(q.match(Vhe))_(q),Yu(n,V+\"._inputRange\").set(null);else if(q.match(Hhe)){_(q),Yu(n,V+\"._inputRange\").set(null);var ae=Yu(n,V).get();ae._inputDomain&&(ae._input.domain=ae._inputDomain.slice())}else q.match(dht)&&Yu(n,V+\"._inputDomain\").set(null);if(F===\"type\"){L=H;var _e=X.type===\"linear\"&&g===\"log\",Me=X.type===\"log\"&&g===\"linear\";if(_e||Me){if(!L||!L.range)k(V+\".autorange\",!0);else if(X.autorange)_e&&(L.range=L.range[1]>L.range[0]?[1,2]:[2,1]);else{var ke=L.range[0],ge=L.range[1];_e?(ke<=0&&ge<=0&&k(V+\".autorange\",!0),ke<=0?ke=ge/1e6:ge<=0&&(ge=ke/1e6),k(V+\".range[0]\",Math.log(ke)/Math.LN10),k(V+\".range[1]\",Math.log(ge)/Math.LN10)):(k(V+\".range[0]\",Math.pow(10,ke)),k(V+\".range[1]\",Math.pow(10,ge)))}Array.isArray(n._subplots.polar)&&n._subplots.polar.length&&n[M.parts[0]]&&M.parts[1]===\"radialaxis\"&&delete n[M.parts[0]]._subplot.viewInitial[\"radialaxis.range\"],L0.getComponentMethod(\"annotations\",\"convertCoords\")(e,X,g,k),L0.getComponentMethod(\"images\",\"convertCoords\")(e,X,g,k)}else k(V+\".autorange\",!0),k(V+\".range\",null);Yu(n,V+\"._inputRange\").set(null)}else if(F.match(iht)){var ie=Yu(n,C).get(),Te=(g||{}).type;(!Te||Te===\"-\")&&(Te=\"linear\"),L0.getComponentMethod(\"annotations\",\"convertCoords\")(e,ie,Te,k),L0.getComponentMethod(\"images\",\"convertCoords\")(e,ie,Te,k)}var Ee=EP.containerArrayMatch(C);if(Ee){c=Ee.array,f=Ee.index;var Ae=Ee.property,ze=N||{editType:\"calc\"};f!==\"\"&&Ae===\"\"&&(EP.isAddVal(g)?E[C]=null:EP.isRemoveVal(g)?E[C]=(Yu(r,c).get()||[])[f]:sa.warn(\"unrecognized full object value\",t)),p_.update(b,ze),u[c]||(u[c]={});var Ce=u[c][f];Ce||(Ce=u[c][f]={}),Ce[Ae]=g,delete t[C]}else F===\"reverse\"?(H.range?H.range.reverse():(k(V+\".autorange\",!0),H.range=[1,0]),X.autorange?b.calc=!0:b.plot=!0):(C===\"dragmode\"&&(g===!1&&G!==!1||g!==!1&&G===!1)||n._has(\"scatter-like\")&&n._has(\"regl\")&&C===\"dragmode\"&&(g===\"lasso\"||g===\"select\")&&!(G===\"lasso\"||G===\"select\")?b.plot=!0:N?p_.update(b,N):b.calc=!0,M.set(g))}}for(c in u){var me=EP.applyContainerArrayChanges(e,a(r,c),u[c],b,a);me||(b.plot=!0)}for(var Re in A){L=Nv.getFromId(e,Re);var ce=L&&L._constraintGroup;if(ce){b.calc=!0;for(var Ge in ce)A[Ge]||(Nv.getFromId(e,Ge)._constraintShrinkable=!0)}}(jhe(e)||t.height||t.width)&&(b.plot=!0);var nt=n.shapes;for(f=0;f<nt.length;f++)if(nt[f].showlegend){b.calc=!0;break}return(b.plot||b.calc)&&(b.layoutReplot=!0),{flags:b,rangesAltered:A,undoit:E,redoit:p,eventData:l}}function jhe(e){var t=e._fullLayout,r=t.width,n=t.height;return e.layout.autosize&&Ho.plotAutoSize(e,e.layout,t),t.width!==r||t.height!==n}function DP(e,t,r,n){e=sa.getGraphDiv(e),yh.clearPromiseQueue(e),sa.isPlainObject(t)||(t={}),sa.isPlainObject(r)||(r={}),Object.keys(t).length&&(e.changed=!0),Object.keys(r).length&&(e.changed=!0);var i=yh.coerceTraceIndices(e,n),a=Nhe(e,sa.extendFlat({},t),i),o=a.flags,s=Ghe(e,sa.extendFlat({},r)),l=s.flags;(o.calc||l.calc)&&(e.calcdata=void 0),o.clearAxisTypes&&yh.clearAxisTypes(e,i,r);var u=[];l.layoutReplot?u.push($l.layoutReplot):o.fullReplot?u.push(pl._doPlot):(u.push(Ho.previousPromises),Uhe(e,l,s)||Ho.supplyDefaults(e),o.style&&u.push($l.doTraceStyle),(o.colorbars||l.colorbars)&&u.push($l.doColorBars),l.legend&&u.push($l.doLegend),l.layoutstyle&&u.push($l.layoutStyles),l.axrange&&qP(u,s.rangesAltered),l.ticks&&u.push($l.doTicksRelayout),l.modebar&&u.push($l.doModeBar),l.camera&&u.push($l.doCamera),u.push(BM)),u.push(Ho.rehover,Ho.redrag,Ho.reselect),ap.add(e,DP,[e,a.undoit,s.undoit,a.traces],DP,[e,a.redoit,s.redoit,a.traces]);var c=sa.syncOrAsync(u,e);return(!c||!c.then)&&(c=Promise.resolve(e)),c.then(function(){return e.emit(\"plotly_update\",{data:a.eventData,layout:s.eventData}),e})}function GN(e){return function(r){r._fullLayout._guiEditing=!0;var n=e.apply(null,arguments);return r._fullLayout._guiEditing=!1,n}}var vht=[{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:/^(map\\d*)\\.(center|zoom|bearing|pitch)/},{pattern:/^legend\\.(x|y)$/,attr:\"editrevision\"},{pattern:/^(shapes|annotations)/,attr:\"editrevision\"},{pattern:/^title\\.text$/,attr:\"editrevision\"}],pht=[{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 Ehe(e,t){for(var r=0;r<t.length;r++){var n=t[r],i=e.match(n.pattern);if(i){var a=i[1]||\"\";return{head:a,tail:e.substr(a.length+1),attr:n.attr}}}}function khe(e,t){var r=Yu(t,e).get();if(r!==void 0)return r;var n=e.split(\".\");for(n.pop();n.length>1;)if(n.pop(),r=Yu(t,n.join(\".\")+\".uirevision\").get(),r!==void 0)return r;return t.uirevision}function ght(e,t){for(var r=0;r<t.length;r++)if(t[r]._fullInput.uid===e)return r;return-1}function mht(e,t,r){for(var n=0;n<t.length;n++)if(t[n].uid===e)return n;return!t[r]||t[r].uid?-1:r}function Che(e,t){var r=sa.isPlainObject(e),n=Array.isArray(e);return r||n?(r&&sa.isPlainObject(t)||n&&Array.isArray(t))&&JSON.stringify(e)===JSON.stringify(t):e===t}function yht(e,t,r,n){var i=n._preGUI,a,o,s,l,u,c,f,h,d,v,x=[],b={},p={};for(a in i){if(u=Ehe(a,vht),u){if(d=u.head,v=u.tail,o=u.attr||d+\".uirevision\",s=Yu(n,o).get(),l=s&&khe(o,t),l&&l===s){if(c=i[a],c===null&&(c=void 0),f=Yu(t,a),h=f.get(),Che(h,c)){h===void 0&&v===\"autorange\"&&x.push(d),f.set(Cy(Yu(n,a).get()));continue}else if(v===\"autorange\"||v.substr(0,6)===\"range[\"){var E=i[d+\".range[0]\"],k=i[d+\".range[1]\"],A=i[d+\".autorange\"];if(A||A===null&&E===null&&k===null){if(!(d in b)){var L=Yu(t,d).get();b[d]=L&&(L.autorange||L.autorange!==!1&&(!L.range||L.range.length!==2))}if(b[d]){f.set(Cy(Yu(n,a).get()));continue}}}}}else sa.warn(\"unrecognized GUI edit: \"+a);delete i[a],u&&u.tail.substr(0,6)===\"range[\"&&(p[u.head]=1)}for(var _=0;_<x.length;_++){var C=x[_];if(p[C]){var M=Yu(t,C).get();M&&delete M.autorange}}var g=n._tracePreGUI;for(var P in g){var T=g[P],F=null,q;for(a in T){if(!F){var V=ght(P,r);if(V<0){delete g[P];break}var H=r[V];q=H._fullInput;var X=mht(P,e,q.index);if(X<0){delete g[P];break}F=e[X]}if(u=Ehe(a,pht),u){if(u.attr?(s=Yu(n,u.attr).get(),l=s&&khe(u.attr,t)):(s=q.uirevision,l=F.uirevision,l===void 0&&(l=t.uirevision)),l&&l===s&&(c=T[a],c===null&&(c=void 0),f=Yu(F,a),h=f.get(),Che(h,c))){f.set(Cy(Yu(q,a).get()));continue}}else sa.warn(\"unrecognized GUI edit: \"+a+\" in trace uid \"+P);delete T[a]}}}function _ht(e,t,r,n){var i,a;function o(){return pl.addFrames(e,i)}e=sa.getGraphDiv(e),yh.clearPromiseQueue(e);var s=e._fullData,l=e._fullLayout;if(!sa.isPlotDiv(e)||!s||!l)a=pl.newPlot(e,t,r,n);else{if(sa.isPlainObject(t)){var u=t;t=u.data,r=u.layout,n=u.config,i=u.frames}var c=!1;if(n){var f=sa.extendDeep({},e._context);e._context=void 0,Ihe(e,n),c=HN(f,e._context)}e.data=t||[],yh.cleanData(e.data),e.layout=r||{},yh.cleanLayout(e.layout),yht(e.data,e.layout,s,l),Ho.supplyDefaults(e,{skipUpdateCalc:!0});var h=e._fullData,d=e._fullLayout,v=d.datarevision===void 0,x=d.transition,b=bht(e,l,d,v,x),p=b.newDataRevision,E=xht(e,s,h,v,x,p);if(jhe(e)&&(b.layoutReplot=!0),E.calc||b.calc){e.calcdata=void 0;for(var k=Object.getOwnPropertyNames(d),A=0;A<k.length;A++){var L=k[A],_=L.substring(0,5);if(_===\"xaxis\"||_===\"yaxis\"){var C=d[L]._emptyCategories;C&&C()}}}else Ho.supplyDefaultsUpdateCalc(e.calcdata,h);var M=[];if(i&&(e._transitionData={},Ho.createTransitionData(e),M.push(o)),d.transition&&!c&&(E.anim||b.anim))b.ticks&&M.push($l.doTicksRelayout),Ho.doCalcdata(e),$l.doAutoRangeAndConstraints(e),M.push(function(){return Ho.transitionFromReact(e,E,b,l)});else if(E.fullReplot||b.layoutReplot||c)e._fullLayout._skipDefaults=!0,M.push(pl._doPlot);else{for(var g in b.arrays){var P=b.arrays[g];if(P.length){var T=L0.getComponentMethod(g,\"drawOne\");if(T!==sa.noop)for(var F=0;F<P.length;F++)T(e,P[F]);else{var q=L0.getComponentMethod(g,\"draw\");if(q===sa.noop)throw new Error(\"cannot draw components: \"+g);q(e)}}}M.push(Ho.previousPromises),E.style&&M.push($l.doTraceStyle),(E.colorbars||b.colorbars)&&M.push($l.doColorBars),b.legend&&M.push($l.doLegend),b.layoutstyle&&M.push($l.layoutStyles),b.axrange&&qP(M),b.ticks&&M.push($l.doTicksRelayout),b.modebar&&M.push($l.doModeBar),b.camera&&M.push($l.doCamera),M.push(BM)}M.push(Ho.rehover,Ho.redrag,Ho.reselect),a=sa.syncOrAsync(M,e),(!a||!a.then)&&(a=Promise.resolve(e))}return a.then(function(){return e.emit(\"plotly_react\",{data:t,layout:r}),e})}function xht(e,t,r,n,i,a){var o=t.length===r.length;if(!i&&!o)return{fullReplot:!0,calc:!0};var s=p_.traceFlags();s.arrays={},s.nChanges=0,s.nChangesAnim=0;var l,u;function c(d){var v=FP.getTraceValObject(u,d);return!u._module.animatable&&v.anim&&(v.anim=!1),v}var f={getValObject:c,flags:s,immutable:n,transition:i,newDataRevision:a,gd:e},h={};for(l=0;l<t.length;l++)if(r[l]){if(u=r[l]._fullInput,h[u.uid])continue;h[u.uid]=1,zP(t[l]._fullInput,u,[],f)}return(s.calc||s.plot)&&(s.fullReplot=!0),i&&s.nChanges&&s.nChangesAnim&&(s.anim=s.nChanges===s.nChangesAnim&&o?\"all\":\"some\"),s}function bht(e,t,r,n,i){var a=p_.layoutFlags();a.arrays={},a.rangesAltered={},a.nChanges=0,a.nChangesAnim=0;function o(h){return FP.getLayoutValObject(r,h)}for(var s in r)if(!(!s.startsWith(\"xaxis\")&&!s.startsWith(\"yaxis\"))&&t[s]){var l=r[s].domain,u=t[s].domain,c=t[s]._inputDomain;t[s]._inputDomain&&(l[0]===c[0]&&l[1]===c[1]?r[s].domain=t[s].domain:(l[0]!==u[0]||l[1]!==u[1])&&(r[s]._inputDomain=null))}var f={getValObject:o,flags:a,immutable:n,transition:i,gd:e};return zP(t,r,[],f),(a.plot||a.calc)&&(a.layoutReplot=!0),i&&a.nChanges&&a.nChangesAnim&&(a.anim=a.nChanges===a.nChangesAnim?\"all\":\"some\"),a}function zP(e,t,r,n){var i,a,o,s=n.getValObject,l=n.flags,u=n.immutable,c=n.inArray,f=n.arrayIndex;function h(){var V=i.editType;if(c&&V.indexOf(\"arraydraw\")!==-1){sa.pushUnique(l.arrays[c],f);return}p_.update(l,i),V!==\"none\"&&l.nChanges++,n.transition&&i.anim&&l.nChangesAnim++,(Vhe.test(o)||Hhe.test(o))&&(l.rangesAltered[r[0]]=1),a===\"datarevision\"&&(l.newDataRevision=1)}function d(V){return V.valType===\"data_array\"||V.arrayOk}for(a in e){if(l.calc&&!n.transition)return;var v=e[a],x=t[a],b=r.concat(a);if(o=b.join(\".\"),!(a.charAt(0)===\"_\"||typeof v==\"function\"||v===x)){if((a===\"tick0\"||a===\"dtick\")&&r[0]!==\"geo\"){var p=t.tickmode;if(p===\"auto\"||p===\"array\"||!p)continue}if(!(a===\"range\"&&t.autorange)&&!((a===\"zmin\"||a===\"zmax\")&&t.type===\"contourcarpet\")&&(i=s(b),!!i&&!(i._compareAsJSON&&JSON.stringify(v)===JSON.stringify(x)))){var E=i.valType,k,A=d(i),L=Array.isArray(v),_=Array.isArray(x);if(L&&_){var C=\"_input_\"+a,M=e[C],g=t[C];if(Array.isArray(M)&&M===g)continue}if(x===void 0)A&&L?l.calc=!0:h();else if(i._isLinkedToArray){var P=[],T=!1;c||(l.arrays[a]=P);var F=Math.min(v.length,x.length),q=Math.max(v.length,x.length);if(F!==q)if(i.editType===\"arraydraw\")T=!0;else{h();continue}for(k=0;k<F;k++)zP(v[k],x[k],b.concat(k),sa.extendFlat({inArray:a,arrayIndex:k},n));if(T)for(k=F;k<q;k++)P.push(k)}else!E&&sa.isPlainObject(v)?zP(v,x,b,n):A?L&&_?(u&&(l.calc=!0),(u||n.newDataRevision)&&h()):L!==_?l.calc=!0:h():L&&_?(v.length!==x.length||String(v)!==String(x))&&h():h()}}}for(a in t)if(!(a in e||a.charAt(0)===\"_\"||typeof t[a]==\"function\"))if(i=s(r.concat(a)),d(i)&&Array.isArray(t[a])){l.calc=!0;return}else h()}function HN(e,t){var r;for(r in e)if(r.charAt(0)!==\"_\"){var n=e[r],i=t[r];if(n!==i)if(sa.isPlainObject(n)&&sa.isPlainObject(i)){if(HN(n,i))return!0}else if(Array.isArray(n)&&Array.isArray(i)){if(n.length!==i.length)return!0;for(var a=0;a<n.length;a++)if(n[a]!==i[a])if(sa.isPlainObject(n[a])&&sa.isPlainObject(i[a])){if(HN(n[a],i[a]))return!0}else return!0}else return!0}}function wht(e,t,r){if(e=sa.getGraphDiv(e),!sa.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e+\". It's likely that you've failed to create a plot before animating it. For more details, see https://plotly.com/javascript/animations/\");var n=e._transitionData;n._frameQueue||(n._frameQueue=[]),r=Ho.supplyAnimationDefaults(r);var i=r.transition,a=r.frame;n._frameWaitingCnt===void 0&&(n._frameWaitingCnt=0);function o(u){return Array.isArray(i)?u>=i.length?i[0]:i[u]:i}function s(u){return Array.isArray(a)?u>=a.length?a[0]:a[u]:a}function l(u,c){var f=0;return function(){if(u&&++f===c)return u()}}return new Promise(function(u,c){function f(){if(n._frameQueue.length!==0){for(;n._frameQueue.length;){var F=n._frameQueue.pop();F.onInterrupt&&F.onInterrupt()}e.emit(\"plotly_animationinterrupted\",[])}}function h(F){if(F.length!==0){for(var q=0;q<F.length;q++){var V;F[q].type===\"byname\"?V=Ho.computeFrame(e,F[q].name):V=F[q].data;var H=s(q),X=o(q);X.duration=Math.min(X.duration,H.duration);var G={frame:V,name:F[q].name,frameOpts:H,transitionOpts:X};q===F.length-1&&(G.onComplete=l(u,2),G.onInterrupt=c),n._frameQueue.push(G)}r.mode===\"immediate\"&&(n._lastFrameAt=-1/0),n._animationRaf||x()}}function d(){e.emit(\"plotly_animated\"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function v(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var F=n._currentFrame=n._frameQueue.shift();if(F){var q=F.name?F.name.toString():null;e._fullLayout._currentFrame=q,n._lastFrameAt=Date.now(),n._timeToNext=F.frameOpts.duration,Ho.transition(e,F.frame.data,F.frame.layout,yh.coerceTraceIndices(e,F.frame.traces),F.frameOpts,F.transitionOpts).then(function(){F.onComplete&&F.onComplete()}),e.emit(\"plotly_animatingframe\",{name:q,frame:F.frame,animation:{frame:F.frameOpts,transition:F.transitionOpts}})}else d()}function x(){e.emit(\"plotly_animating\"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var F=function(){n._animationRaf=window.requestAnimationFrame(F),Date.now()-n._lastFrameAt>n._timeToNext&&v()};F()}var b=0;function p(F){return Array.isArray(i)?b>=i.length?F.transitionOpts=i[b]:F.transitionOpts=i[0]:F.transitionOpts=i,b++,F}var E,k,A=[],L=t==null,_=Array.isArray(t),C=!L&&!_&&sa.isPlainObject(t);if(C)A.push({type:\"object\",data:p(sa.extendFlat({},t))});else if(L||[\"string\",\"number\"].indexOf(typeof t)!==-1)for(E=0;E<n._frames.length;E++)k=n._frames[E],k&&(L||String(k.group)===String(t))&&A.push({type:\"byname\",name:String(k.name),data:p({name:k.name})});else if(_)for(E=0;E<t.length;E++){var M=t[E];[\"number\",\"string\"].indexOf(typeof M)!==-1?(M=String(M),A.push({type:\"byname\",name:M,data:p({name:M})})):sa.isPlainObject(M)&&A.push({type:\"object\",data:p(sa.extendFlat({},M))})}for(E=0;E<A.length;E++)if(k=A[E],k.type===\"byname\"&&!n._frameHash[k.data.name]){sa.warn('animate failure: frame not found: \"'+k.data.name+'\"'),c();return}[\"next\",\"immediate\"].indexOf(r.mode)!==-1&&f(),r.direction===\"reverse\"&&A.reverse();var g=e._fullLayout._currentFrame;if(g&&r.fromcurrent){var P=-1;for(E=0;E<A.length;E++)if(k=A[E],k.type===\"byname\"&&k.name===g){P=E;break}if(P>0&&P<A.length-1){var T=[];for(E=0;E<A.length;E++)k=A[E],(A[E].type!==\"byname\"||E>P)&&T.push(k);A=T}}A.length>0?h(A):(e.emit(\"plotly_animated\"),u())})}function Tht(e,t,r){if(e=sa.getGraphDiv(e),t==null)return Promise.resolve();if(!sa.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e+\". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/\");var n,i,a,o,s=e._transitionData._frames,l=e._transitionData._frameHash;if(!Array.isArray(t))throw new Error(\"addFrames failure: frameList must be an Array of frame definitions\"+t);var u=s.length+t.length*2,c=[],f={};for(n=t.length-1;n>=0;n--)if(sa.isPlainObject(t[n])){var h=t[n].name,d=(l[h]||f[h]||{}).name,v=t[n].name,x=l[d]||f[d];d&&v&&typeof v==\"number\"&&x&&NN<Mhe&&(NN++,sa.warn('addFrames: overwriting frame \"'+(l[d]||f[d]).name+'\" with a frame whose name of type \"number\" also equates to \"'+d+'\". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),NN===Mhe&&sa.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.\")),f[h]={name:h},c.push({frame:Ho.supplyFrameDefaults(t[n]),index:r&&r[n]!==void 0&&r[n]!==null?r[n]:u+n})}c.sort(function(C,M){return C.index>M.index?-1:C.index<M.index?1:0});var b=[],p=[],E=s.length;for(n=c.length-1;n>=0;n--){if(i=c[n].frame,typeof i.name==\"number\"&&sa.warn(\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\"),!i.name)for(;l[i.name=\"frame \"+e._transitionData._counter++];);if(l[i.name]){for(a=0;a<s.length&&(s[a]||{}).name!==i.name;a++);b.push({type:\"replace\",index:a,value:i}),p.unshift({type:\"replace\",index:a,value:s[a]})}else o=Math.max(0,Math.min(c[n].index,E)),b.push({type:\"insert\",index:o,value:i}),p.unshift({type:\"delete\",index:o}),E++}var k=Ho.modifyFrames,A=Ho.modifyFrames,L=[e,p],_=[e,b];return ap&&ap.add(e,k,L,A,_),Ho.modifyFrames(e,b)}function Aht(e,t){if(e=sa.getGraphDiv(e),!sa.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e);var r,n,i=e._transitionData._frames,a=[],o=[];if(!t)for(t=[],r=0;r<i.length;r++)t.push(r);for(t=t.slice(),t.sort(),r=t.length-1;r>=0;r--)n=t[r],a.push({type:\"delete\",index:n}),o.unshift({type:\"insert\",index:n,value:i[n]});var s=Ho.modifyFrames,l=Ho.modifyFrames,u=[e,o],c=[e,a];return ap&&ap.add(e,s,u,l,c),Ho.modifyFrames(e,a)}function Sht(e){e=sa.getGraphDiv(e);var t=e._fullLayout||{},r=e._fullData||[];return Ho.cleanPlot([],{},r,t),Ho.purge(e),UN.purge(e),t._container&&t._container.remove(),delete e._context,e}function Mht(e){var t=e._fullLayout,r=e.getBoundingClientRect();if(!sa.equalDomRects(r,t._lastBBox)){var n=t._invTransform=sa.inverseTransformMatrix(sa.getFullTransformMatrix(e));t._invScaleX=Math.sqrt(n[0][0]*n[0][0]+n[0][1]*n[0][1]+n[0][2]*n[0][2]),t._invScaleY=Math.sqrt(n[1][0]*n[1][0]+n[1][1]*n[1][1]+n[1][2]*n[1][2]),t._lastBBox=r}}function Eht(e){var t=CP.select(e),r=e._fullLayout;if(r._calcInverseTransform=Mht,r._calcInverseTransform(e),r._container=t.selectAll(\".plot-container\").data([0]),r._container.enter().insert(\"div\",\":first-child\").classed(\"plot-container\",!0).classed(\"plotly\",!0).style({width:\"100%\",height:\"100%\"}),r._paperdiv=r._container.selectAll(\".svg-container\").data([0]),r._paperdiv.enter().append(\"div\").classed(\"user-select-none\",!0).classed(\"svg-container\",!0).style(\"position\",\"relative\"),r._glcontainer=r._paperdiv.selectAll(\".gl-container\").data([{}]),r._glcontainer.enter().append(\"div\").classed(\"gl-container\",!0),r._paperdiv.selectAll(\".main-svg\").remove(),r._paperdiv.select(\".modebar-container\").remove(),r._paper=r._paperdiv.insert(\"svg\",\":first-child\").classed(\"main-svg\",!0),r._toppaper=r._paperdiv.append(\"svg\").classed(\"main-svg\",!0),r._modebardiv=r._paperdiv.append(\"div\"),delete r._modeBar,r._hoverpaper=r._paperdiv.append(\"svg\").classed(\"main-svg\",!0),!r._uid){var n={};CP.selectAll(\"defs\").each(function(){this.id&&(n[this.id.split(\"-\")[1]]=1)}),r._uid=sa.randstr(n)}r._paperdiv.selectAll(\".main-svg\").attr(tht.svgAttrs),r._defs=r._paper.append(\"defs\").attr(\"id\",\"defs-\"+r._uid),r._clips=r._defs.append(\"g\").classed(\"clips\",!0),r._topdefs=r._toppaper.append(\"defs\").attr(\"id\",\"topdefs-\"+r._uid),r._topclips=r._topdefs.append(\"g\").classed(\"clips\",!0),r._bgLayer=r._paper.append(\"g\").classed(\"bglayer\",!0),r._draggers=r._paper.append(\"g\").classed(\"draglayer\",!0);var i=r._paper.append(\"g\").classed(\"layer-below\",!0);r._imageLowerLayer=i.append(\"g\").classed(\"imagelayer\",!0),r._shapeLowerLayer=i.append(\"g\").classed(\"shapelayer\",!0),r._cartesianlayer=r._paper.append(\"g\").classed(\"cartesianlayer\",!0),r._polarlayer=r._paper.append(\"g\").classed(\"polarlayer\",!0),r._smithlayer=r._paper.append(\"g\").classed(\"smithlayer\",!0),r._ternarylayer=r._paper.append(\"g\").classed(\"ternarylayer\",!0),r._geolayer=r._paper.append(\"g\").classed(\"geolayer\",!0),r._funnelarealayer=r._paper.append(\"g\").classed(\"funnelarealayer\",!0),r._pielayer=r._paper.append(\"g\").classed(\"pielayer\",!0),r._iciclelayer=r._paper.append(\"g\").classed(\"iciclelayer\",!0),r._treemaplayer=r._paper.append(\"g\").classed(\"treemaplayer\",!0),r._sunburstlayer=r._paper.append(\"g\").classed(\"sunburstlayer\",!0),r._indicatorlayer=r._toppaper.append(\"g\").classed(\"indicatorlayer\",!0),r._glimages=r._paper.append(\"g\").classed(\"glimages\",!0);var a=r._toppaper.append(\"g\").classed(\"layer-above\",!0);r._imageUpperLayer=a.append(\"g\").classed(\"imagelayer\",!0),r._shapeUpperLayer=a.append(\"g\").classed(\"shapelayer\",!0),r._selectionLayer=r._toppaper.append(\"g\").classed(\"selectionlayer\",!0),r._infolayer=r._toppaper.append(\"g\").classed(\"infolayer\",!0),r._menulayer=r._toppaper.append(\"g\").classed(\"menulayer\",!0),r._zoomlayer=r._toppaper.append(\"g\").classed(\"zoomlayer\",!0),r._hoverlayer=r._hoverpaper.append(\"g\").classed(\"hoverlayer\",!0),r._modebardiv.classed(\"modebar-container\",!0).style(\"position\",\"absolute\").style(\"top\",\"0px\").style(\"right\",\"0px\"),e.emit(\"plotly_framework\")}pl.animate=wht;pl.addFrames=Tht;pl.deleteFrames=Aht;pl.addTraces=Ohe;pl.deleteTraces=Bhe;pl.extendTraces=Fhe;pl.moveTraces=VN;pl.prependTraces=qhe;pl.newPlot=lht;pl._doPlot=nht;pl.purge=Sht;pl.react=_ht;pl.redraw=sht;pl.relayout=OM;pl.restyle=IP;pl.setPlotConfig=aht;pl.update=DP;pl._guiRelayout=GN(OM);pl._guiRestyle=GN(IP);pl._guiUpdate=GN(DP);pl._storeDirectGUIEdit=hht});var Ly=ye(Mm=>{\"use strict\";var kht=ba();Mm.getDelay=function(e){return e._has&&(e._has(\"gl3d\")||e._has(\"mapbox\")||e._has(\"map\"))?500:0};Mm.getRedrawFunc=function(e){return function(){kht.getComponentMethod(\"colorbar\",\"draw\")(e)}};Mm.encodeSVG=function(e){return\"data:image/svg+xml,\"+encodeURIComponent(e)};Mm.encodeJSON=function(e){return\"data:application/json,\"+encodeURIComponent(e)};var Whe=window.URL||window.webkitURL;Mm.createObjectURL=function(e){return Whe.createObjectURL(e)};Mm.revokeObjectURL=function(e){return Whe.revokeObjectURL(e)};Mm.createBlob=function(e,t){if(t===\"svg\")return new window.Blob([e],{type:\"image/svg+xml;charset=utf-8\"});if(t===\"full-json\")return new window.Blob([e],{type:\"application/json;charset=utf-8\"});var r=Cht(window.atob(e));return new window.Blob([r],{type:\"image/\"+t})};Mm.octetStream=function(e){document.location.href=\"data:application/octet-stream\"+e};function Cht(e){for(var t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;i<t;i++)n[i]=e.charCodeAt(i);return r}Mm.IMAGE_URL_PREFIX=/^data:image\\/\\w+;base64,/});var BP=ye((snr,Zhe)=>{\"use strict\";var WN=xa(),anr=Mr(),Lht=ao(),Pht=va(),onr=Zp(),jN=/\"/g,NM=\"TOBESTRIPPED\",Iht=new RegExp('(\"'+NM+\")|(\"+NM+'\")',\"g\");function Rht(e){var t=WN.select(\"body\").append(\"div\").style({display:\"none\"}).html(\"\"),r=e.replace(/(&[^;]*;)/gi,function(n){return n===\"<\"?\"<\":n===\"&rt;\"?\">\":n.indexOf(\"<\")!==-1||n.indexOf(\">\")!==-1?\"\":t.html(n).text()});return t.remove(),r}function Dht(e){return e.replace(/&(?!\\w+;|\\#[0-9]+;| \\#x[0-9A-F]+;)/g,\"&\")}Zhe.exports=function(t,r,n){var i=t._fullLayout,a=i._paper,o=i._toppaper,s=i.width,l=i.height,u;a.insert(\"rect\",\":first-child\").call(Lht.setRect,0,0,s,l).call(Pht.fill,i.paper_bgcolor);var c=i._basePlotModules||[];for(u=0;u<c.length;u++){var f=c[u];f.toSVG&&f.toSVG(t)}if(o){var h=o.node().childNodes,d=Array.prototype.slice.call(h);for(u=0;u<d.length;u++){var v=d[u];v.childNodes.length&&a.node().appendChild(v)}}i._draggers&&i._draggers.remove(),a.node().style.background=\"\",a.selectAll(\"text\").attr({\"data-unformatted\":null,\"data-math\":null}).each(function(){var b=WN.select(this);if(this.style.visibility===\"hidden\"||this.style.display===\"none\"){b.remove();return}else b.style({visibility:null,display:null});var p=this.style.fontFamily;p&&p.indexOf('\"')!==-1&&b.style(\"font-family\",p.replace(jN,NM));var E=this.style.fontWeight;E&&(E===\"normal\"||E===\"400\")&&b.style(\"font-weight\",void 0);var k=this.style.fontStyle;k&&k===\"normal\"&&b.style(\"font-style\",void 0);var A=this.style.fontVariant;A&&A===\"normal\"&&b.style(\"font-variant\",void 0)}),a.selectAll(\".gradient_filled,.pattern_filled\").each(function(){var b=WN.select(this),p=this.style.fill;p&&p.indexOf(\"url(\")!==-1&&b.style(\"fill\",p.replace(jN,NM));var E=this.style.stroke;E&&E.indexOf(\"url(\")!==-1&&b.style(\"stroke\",E.replace(jN,NM))}),(r===\"pdf\"||r===\"eps\")&&a.selectAll(\"#MathJax_SVG_glyphs path\").attr(\"stroke-width\",0),r===\"svg\"&&n&&(a.attr(\"width\",n*s),a.attr(\"height\",n*l),a.attr(\"viewBox\",\"0 0 \"+s+\" \"+l));var x=new window.XMLSerializer().serializeToString(a.node());return x=Rht(x),x=Dht(x),x=x.replace(Iht,\"'\"),x}});var NP=ye((lnr,Xhe)=>{\"use strict\";var zht=Mr(),Fht=vb().EventEmitter,UM=Ly();function qht(e){var t=e.emitter||new Fht,r=new Promise(function(n,i){var a=window.Image,o=e.svg,s=e.format||\"png\",l=e.canvas,u=e.scale||1,c=e.width||300,f=e.height||150,h=u*c,d=u*f,v=l.getContext(\"2d\",{willReadFrequently:!0}),x=new a,b,p;s===\"svg\"||zht.isSafari()?p=UM.encodeSVG(o):(b=UM.createBlob(o,\"svg\"),p=UM.createObjectURL(b)),l.width=h,l.height=d,x.onload=function(){var E;switch(b=null,UM.revokeObjectURL(p),s!==\"svg\"&&v.drawImage(x,0,0,h,d),s){case\"jpeg\":E=l.toDataURL(\"image/jpeg\");break;case\"png\":E=l.toDataURL(\"image/png\");break;case\"webp\":E=l.toDataURL(\"image/webp\");break;case\"svg\":E=p;break;default:var k=\"Image format is not jpeg, png, svg or webp.\";if(i(new Error(k)),!e.promise)return t.emit(\"error\",k)}n(E),e.promise||t.emit(\"success\",E)},x.onerror=function(E){if(b=null,UM.revokeObjectURL(p),i(E),!e.promise)return t.emit(\"error\",E)},x.src=p});return e.promise?r:t}Xhe.exports=qht});var XN=ye((unr,Jhe)=>{\"use strict\";var Yhe=uo(),Khe=OP(),Oht=Xu(),Em=Mr(),VM=Ly(),Bht=BP(),Nht=NP(),Uht=e6().version,ZN={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}};function Vht(e,t){t=t||{};var r,n,i,a;Em.isPlainObject(e)?(r=e.data||[],n=e.layout||{},i=e.config||{},a={}):(e=Em.getGraphDiv(e),r=Em.extendDeep([],e.data),n=Em.extendDeep({},e.layout),i=e._context,a=e._fullLayout||{});function o(_){return!(_ in t)||Em.validate(t[_],ZN[_])}if(!o(\"width\")&&t.width!==null||!o(\"height\")&&t.height!==null)throw new Error(\"Height and width should be pixel values.\");if(!o(\"format\"))throw new Error(\"Export format is not \"+Em.join2(ZN.format.values,\", \",\" or \")+\".\");var s={};function l(_,C){return Em.coerce(t,s,ZN,_,C)}var u=l(\"format\"),c=l(\"width\"),f=l(\"height\"),h=l(\"scale\"),d=l(\"setBackground\"),v=l(\"imageDataOnly\"),x=document.createElement(\"div\");x.style.position=\"absolute\",x.style.left=\"-5000px\",document.body.appendChild(x);var b=Em.extendFlat({},n);c?b.width=c:t.width===null&&Yhe(a.width)&&(b.width=a.width),f?b.height=f:t.height===null&&Yhe(a.height)&&(b.height=a.height);var p=Em.extendFlat({},i,{_exportedPlot:!0,staticPlot:!0,setBackground:d}),E=VM.getRedrawFunc(x);function k(){return new Promise(function(_){setTimeout(_,VM.getDelay(x._fullLayout))})}function A(){return new Promise(function(_,C){var M=Bht(x,u,h),g=x._fullLayout.width,P=x._fullLayout.height;function T(){Khe.purge(x),document.body.removeChild(x)}if(u===\"full-json\"){var F=Oht.graphJson(x,!1,\"keepdata\",\"object\",!0,!0);return F.version=Uht,F=JSON.stringify(F),T(),_(v?F:VM.encodeJSON(F))}if(T(),u===\"svg\")return _(v?M:VM.encodeSVG(M));var q=document.createElement(\"canvas\");q.id=Em.randstr(),Nht({format:u,width:g,height:P,scale:h,canvas:q,svg:M,promise:!0}).then(_).catch(C)})}function L(_){return v?_.replace(VM.IMAGE_URL_PREFIX,\"\"):_}return new Promise(function(_,C){Khe.newPlot(x,r,b,p).then(E).then(k).then(A).then(function(M){_(L(M))}).catch(function(M){C(M)})})}Jhe.exports=Vht});var tde=ye((cnr,ede)=>{\"use strict\";var P0=Mr(),Hht=Xu(),Ght=_3(),jht=ub().dfltConfig,Lg=P0.isPlainObject,Vb=Array.isArray,$he=P0.isArrayOrTypedArray;ede.exports=function(t,r){t===void 0&&(t=[]),r===void 0&&(r={});var n=Ght.get(),i=[],a={_context:P0.extendFlat({},jht)},o,s;Vb(t)?(a.data=P0.extendDeep([],t),o=t):(a.data=[],o=[],i.push(cd(\"array\",\"data\"))),Lg(r)?(a.layout=P0.extendDeep({},r),s=r):(a.layout={},s={},arguments.length>1&&i.push(cd(\"object\",\"layout\"))),Hht.supplyDefaults(a);for(var l=a._fullData,u=o.length,c=0;c<u;c++){var f=o[c],h=[\"data\",c];if(!Lg(f)){i.push(cd(\"object\",h));continue}var d=l[c],v=d.type,x=n.traces[v].attributes;x.type={valType:\"enumerated\",values:[v]},d.visible===!1&&f.visible!==!1&&i.push(cd(\"invisible\",h)),UP(f,d,x,i,h)}var b=a._fullLayout,p=Wht(n,l);return UP(s,b,p,i,\"layout\"),i.length===0?void 0:i};function UP(e,t,r,n,i,a){a=a||[];for(var o=Object.keys(e),s=0;s<o.length;s++){var l=o[s],u=a.slice();u.push(l);var c=e[l],f=t[l],h=Yht(r,l),d=(h||{}).valType,v=d===\"info_array\",x=d===\"colorscale\",b=(h||{}).items;if(!Xht(r,l))n.push(cd(\"schema\",i,u));else if(Lg(c)&&Lg(f)&&d!==\"any\")UP(c,f,h,n,i,u);else if(v&&Vb(c)){c.length>f.length&&n.push(cd(\"unused\",i,u.concat(f.length)));var p=f.length,E=Array.isArray(b);E&&(p=Math.min(p,b.length));var k,A,L,_,C;if(h.dimensions===2)for(A=0;A<p;A++)if(Vb(c[A])){c[A].length>f[A].length&&n.push(cd(\"unused\",i,u.concat(A,f[A].length)));var M=f[A].length;for(k=0;k<(E?Math.min(M,b[A].length):M);k++)L=E?b[A][k]:b,_=c[A][k],C=f[A][k],P0.validate(_,L)?C!==_&&C!==+_&&n.push(cd(\"dynamic\",i,u.concat(A,k),_,C)):n.push(cd(\"value\",i,u.concat(A,k),_))}else n.push(cd(\"array\",i,u.concat(A),c[A]));else for(A=0;A<p;A++)L=E?b[A]:b,_=c[A],C=f[A],P0.validate(_,L)?C!==_&&C!==+_&&n.push(cd(\"dynamic\",i,u.concat(A),_,C)):n.push(cd(\"value\",i,u.concat(A),_))}else if(h.items&&!v&&Vb(c)){var g=b[Object.keys(b)[0]],P=[],T,F;for(T=0;T<f.length;T++){var q=f[T]._index||T;if(F=u.slice(),F.push(q),Lg(c[q])&&Lg(f[T])){P.push(q);var V=c[q],H=f[T];Lg(V)&&V.visible!==!1&&H.visible===!1?n.push(cd(\"invisible\",i,F)):UP(V,H,g,n,i,F)}}for(T=0;T<c.length;T++)F=u.slice(),F.push(T),Lg(c[T])?P.indexOf(T)===-1&&n.push(cd(\"unused\",i,F)):n.push(cd(\"object\",i,F,c[T]))}else!Lg(c)&&Lg(f)?n.push(cd(\"object\",i,u,c)):!$he(c)&&$he(f)&&!v&&!x?n.push(cd(\"array\",i,u,c)):l in t?P0.validate(c,h)?h.valType===\"enumerated\"&&(h.coerceNumber&&c!==+f||c!==f)&&n.push(cd(\"dynamic\",i,u,c,f)):n.push(cd(\"value\",i,u,c)):n.push(cd(\"unused\",i,u,c))}return n}function Wht(e,t){for(var r=e.layout.layoutAttributes,n=0;n<t.length;n++){var i=t[n],a=e.traces[i.type],o=a.layoutAttributes;o&&(i.subplot?P0.extendFlat(r[a.attributes.subplot.dflt],o):P0.extendFlat(r,o))}return r}var Zht={object:function(e,t){var r;return e===\"layout\"&&t===\"\"?r=\"The layout argument\":e[0]===\"data\"&&t===\"\"?r=\"Trace \"+e[1]+\" in the data argument\":r=Ub(e)+\"key \"+t,r+\" must be linked to an object container\"},array:function(e,t){var r;return e===\"data\"?r=\"The data argument\":r=Ub(e)+\"key \"+t,r+\" must be linked to an array container\"},schema:function(e,t){return Ub(e)+\"key \"+t+\" is not part of the schema\"},unused:function(e,t,r){var n=Lg(r)?\"container\":\"key\";return Ub(e)+n+\" \"+t+\" did not get coerced\"},dynamic:function(e,t,r,n){return[Ub(e)+\"key\",t,\"(set to '\"+r+\"')\",\"got reset to\",\"'\"+n+\"'\",\"during defaults.\"].join(\" \")},invisible:function(e,t){return(t?Ub(e)+\"item \"+t:\"Trace \"+e[1])+\" got defaulted to be not visible\"},value:function(e,t,r){return[Ub(e)+\"key \"+t,\"is set to an invalid value (\"+r+\")\"].join(\" \")}};function Ub(e){return Vb(e)?\"In data trace \"+e[1]+\", \":\"In \"+e+\", \"}function cd(e,t,r,n,i){r=r||\"\";var a,o;Vb(t)?(a=t[0],o=t[1]):(a=t,o=null);var s=Jht(r),l=Zht[e](t,s,n,i);return P0.log(l),{code:e,container:a,trace:o,path:r,astr:s,msg:l}}function Xht(e,t){var r=Qhe(t),n=r.keyMinusId,i=r.id;return n in e&&e[n]._isSubplotObj&&i?!0:t in e}function Yht(e,t){if(t in e)return e[t];var r=Qhe(t);return e[r.keyMinusId]}var Kht=P0.counterRegex(\"([a-z]+)\");function Qhe(e){var t=e.match(Kht);return{keyMinusId:t&&t[1],id:t&&t[2]}}function Jht(e){if(!Vb(e))return String(e);for(var t=\"\",r=0;r<e.length;r++){var n=e[r];typeof n==\"number\"?t=t.substr(0,t.length-1)+\"[\"+n+\"]\":t+=n,r<e.length-1&&(t+=\".\")}return t}});var ide=ye((fnr,rde)=>{\"use strict\";var $ht=Mr(),VP=Ly();function Qht(e,t,r){var n=document.createElement(\"a\"),i=\"download\"in n,a=new Promise(function(o,s){var l,u;if(i)return l=VP.createBlob(e,r),u=VP.createObjectURL(l),n.href=u,n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n),VP.revokeObjectURL(u),l=null,o(t);if($ht.isSafari()){var c=r===\"svg\"?\",\":\";base64,\";return VP.octetStream(c+encodeURIComponent(e)),o(t)}s(new Error(\"download error\"))});return a}rde.exports=Qht});var YN=ye((dnr,ade)=>{\"use strict\";var nde=Mr(),edt=XN(),tdt=ide(),hnr=Ly();function rdt(e,t){var r;return nde.isPlainObject(e)||(r=nde.getGraphDiv(e)),t=t||{},t.format=t.format||\"png\",t.width=t.width||null,t.height=t.height||null,t.imageDataOnly=!0,new Promise(function(n,i){r&&r._snapshotInProgress&&i(new Error(\"Snapshotting already in progress.\")),r&&(r._snapshotInProgress=!0);var a=edt(e,t),o=t.filename||e.fn||\"newplot\";o+=\".\"+t.format.replace(\"-\",\".\"),a.then(function(s){return r&&(r._snapshotInProgress=!1),tdt(s,o,t.format)}).then(function(s){n(s)}).catch(function(s){r&&(r._snapshotInProgress=!1),i(s)})})}ade.exports=rdt});var cde=ye(KN=>{\"use strict\";var Cp=Mr(),Lp=Cp.isPlainObject,ode=_3(),sde=Xu(),idt=vl(),lde=Vs(),ude=ub().dfltConfig;KN.makeTemplate=function(e){e=Cp.isPlainObject(e)?e:Cp.getGraphDiv(e),e=Cp.extendDeep({_context:ude},{data:e.data,layout:e.layout}),sde.supplyDefaults(e);var t=e.data||[],r=e.layout||{};r._basePlotModules=e._fullLayout._basePlotModules,r._modules=e._fullLayout._modules;var n={data:{},layout:{}};t.forEach(function(d){var v={};HM(d,v,adt.bind(null,d));var x=Cp.coerce(d,{},idt,\"type\"),b=n.data[x];b||(b=n.data[x]=[]),b.push(v)}),HM(r,n.layout,ndt.bind(null,r)),delete n.layout.template;var i=r.template;if(Lp(i)){var a=i.layout,o,s,l,u,c,f;Lp(a)&&HP(a,n.layout);var h=i.data;if(Lp(h)){for(s in n.data)if(l=h[s],Array.isArray(l)){for(c=n.data[s],f=c.length,u=l.length,o=0;o<f;o++)HP(l[o%u],c[o]);for(o=f;o<u;o++)c.push(Cp.extendDeep({},l[o]))}for(s in h)s in n.data||(n.data[s]=Cp.extendDeep([],h[s]))}}return n};function HP(e,t){e=Cp.extendDeep({},e);var r=Object.keys(e).sort(),n,i;function a(c,f,h){if(Lp(f)&&Lp(c))HP(c,f);else if(Array.isArray(f)&&Array.isArray(c)){var d=lde.arrayTemplater({_template:e},h);for(i=0;i<f.length;i++){var v=f[i],x=d.newItem(v)._template;x&&HP(x,v)}var b=d.defaultItems();for(i=0;i<b.length;i++)f.push(b[i]._template);for(i=0;i<f.length;i++)delete f[i].templateitemname}}for(n=0;n<r.length;n++){var o=r[n],s=e[o];if(o in t?a(s,t[o],o):t[o]=s,GP(o)===o)for(var l in t){var u=GP(l);l!==u&&u===o&&!(l in e)&&a(s,t[l],o)}}}function GP(e){return e.replace(/[0-9]+$/,\"\")}function HM(e,t,r,n,i){var a=i&&r(i);for(var o in e){var s=e[o],l=I0(e,o,n),u=I0(e,o,i),c=r(u);if(!c){var f=GP(o);f!==o&&(u=I0(e,f,i),c=r(u))}if(!(a&&a===c)&&!(!c||c._noTemplating||c.valType===\"data_array\"||c.arrayOk&&Array.isArray(s)))if(!c.valType&&Lp(s))HM(s,t,r,l,u);else if(c._isLinkedToArray&&Array.isArray(s))for(var h=!1,d=0,v={},x=0;x<s.length;x++){var b=s[x];if(Lp(b)){var p=b.name;if(p)v[p]||(HM(b,t,r,I0(s,d,l),I0(s,d,u)),d++,v[p]=1);else if(!h){var E=lde.arrayDefaultKey(o),k=I0(e,E,n),A=I0(s,d,l);HM(b,t,r,A,I0(s,d,u));var L=Cp.nestedProperty(t,A),_=Cp.nestedProperty(t,k);_.set(L.get()),L.set(null),h=!0}}}else{var C=Cp.nestedProperty(t,l);C.set(s)}}}function ndt(e,t){return ode.getLayoutValObject(e,Cp.nestedProperty({},t).parts)}function adt(e,t){return ode.getTraceValObject(e,Cp.nestedProperty({},t).parts)}function I0(e,t,r){var n;return r?Array.isArray(e)?n=r+\"[\"+t+\"]\":n=r+\".\"+t:n=t,n}KN.validateTemplate=function(e,t){var r=Cp.extendDeep({},{_context:ude,data:e.data,layout:e.layout}),n=r.layout||{};Lp(t)||(t=n.template||{});var i=t.layout,a=t.data,o=[];r.layout=n,r.layout.template=t,sde.supplyDefaults(r);var s=r._fullLayout,l=r._fullData,u={};function c(k,A){for(var L in k)if(L.charAt(0)!==\"_\"&&Lp(k[L])){var _=GP(L),C=[],M;for(M=0;M<A.length;M++)C.push(I0(k,L,A[M])),_!==L&&C.push(I0(k,_,A[M]));for(M=0;M<C.length;M++)u[C[M]]=1;c(k[L],C)}}function f(k,A){for(var L in k)if(L.indexOf(\"defaults\")===-1&&Lp(k[L])){var _=I0(k,L,A);u[_]?f(k[L],_):o.push({code:\"unused\",path:_})}}if(Lp(i)?(c(s,[\"layout\"]),f(i,\"layout\")):o.push({code:\"layout\"}),!Lp(a))o.push({code:\"data\"});else{for(var h={},d,v=0;v<l.length;v++){var x=l[v];d=x.type,h[d]=(h[d]||0)+1,x._fullInput._template||o.push({code:\"missing\",index:x.index,traceType:d})}for(d in a){var b=a[d].length,p=h[d]||0;b>p?o.push({code:\"unused\",traceType:d,templateCount:b,dataCount:p}):p>b&&o.push({code:\"reused\",traceType:d,templateCount:b,dataCount:p})}}function E(k,A){for(var L in k)if(L.charAt(0)!==\"_\"){var _=k[L],C=I0(k,L,A);Lp(_)?(Array.isArray(k)&&_._template===!1&&_.templateitemname&&o.push({code:\"missing\",path:C,templateitemname:_.templateitemname}),E(_,C)):Array.isArray(_)&&odt(_)&&E(_,C)}}if(E({data:l,layout:s},\"\"),o.length)return o.map(sdt)};function odt(e){for(var t=0;t<e.length;t++)if(Lp(e[t]))return!0}function sdt(e){var t;switch(e.code){case\"data\":t=\"The template has no key data.\";break;case\"layout\":t=\"The template has no key layout.\";break;case\"missing\":e.path?t=\"There are no templates for item \"+e.path+\" with name \"+e.templateitemname:t=\"There are no templates for trace \"+e.index+\", of type \"+e.traceType+\".\";break;case\"unused\":e.path?t=\"The template item at \"+e.path+\" was not used in constructing the plot.\":e.dataCount?t=\"Some of the templates of type \"+e.traceType+\" were not used. The template has \"+e.templateCount+\" traces, the data only has \"+e.dataCount+\" of this type.\":t=\"The template has \"+e.templateCount+\" traces of type \"+e.traceType+\" but there are none in the data.\";break;case\"reused\":t=\"Some of the templates of type \"+e.traceType+\" were used more than once. The template has \"+e.templateCount+\" traces, the data has \"+e.dataCount+\" of this type.\";break}return e.msg=t,e}});var hde=ye(Sc=>{\"use strict\";var Hh=OP();Sc._doPlot=Hh._doPlot;Sc.newPlot=Hh.newPlot;Sc.restyle=Hh.restyle;Sc.relayout=Hh.relayout;Sc.redraw=Hh.redraw;Sc.update=Hh.update;Sc._guiRestyle=Hh._guiRestyle;Sc._guiRelayout=Hh._guiRelayout;Sc._guiUpdate=Hh._guiUpdate;Sc._storeDirectGUIEdit=Hh._storeDirectGUIEdit;Sc.react=Hh.react;Sc.extendTraces=Hh.extendTraces;Sc.prependTraces=Hh.prependTraces;Sc.addTraces=Hh.addTraces;Sc.deleteTraces=Hh.deleteTraces;Sc.moveTraces=Hh.moveTraces;Sc.purge=Hh.purge;Sc.addFrames=Hh.addFrames;Sc.deleteFrames=Hh.deleteFrames;Sc.animate=Hh.animate;Sc.setPlotConfig=Hh.setPlotConfig;var ldt=DS().getGraphDiv,udt=rP().eraseActiveShape;Sc.deleteActiveShape=function(e){return udt(ldt(e))};Sc.toImage=XN();Sc.validate=tde();Sc.downloadImage=YN();var fde=cde();Sc.makeTemplate=fde.makeTemplate;Sc.validateTemplate=fde.validateTemplate});var K3=ye((gnr,dde)=>{\"use strict\";var JN=Mr(),cdt=ba();dde.exports=function(t,r,n,i){var a=i(\"x\"),o=i(\"y\"),s,l=cdt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");if(l(t,r,[\"x\",\"y\"],n),a){var u=JN.minRowLength(a);o?s=Math.min(u,JN.minRowLength(o)):(s=u,i(\"y0\"),i(\"dy\"))}else{if(!o)return 0;s=JN.minRowLength(o),i(\"x0\"),i(\"dx\")}return r._length=s,s}});var Pg=ye((mnr,gde)=>{\"use strict\";var vde=Mr().dateTick0,fdt=es(),hdt=fdt.ONEWEEK;function pde(e,t){return e%hdt===0?vde(t,1):vde(t,0)}gde.exports=function(t,r,n,i,a){if(a||(a={x:!0,y:!0}),a.x){var o=i(\"xperiod\");o&&(i(\"xperiod0\",pde(o,r.xcalendar)),i(\"xperiodalignment\"))}if(a.y){var s=i(\"yperiod\");s&&(i(\"yperiod0\",pde(s,r.ycalendar)),i(\"yperiodalignment\"))}}});var _de=ye((ynr,yde)=>{\"use strict\";var mde=[\"orientation\",\"groupnorm\",\"stackgaps\"];yde.exports=function(t,r,n,i){var a=n._scatterStackOpts,o=i(\"stackgroup\");if(o){var s=r.xaxis+r.yaxis,l=a[s];l||(l=a[s]={});var u=l[o],c=!1;u?u.traces.push(r):(u=l[o]={traceIndices:[],traces:[r]},c=!0);for(var f={orientation:r.x&&!r.y?\"h\":\"v\"},h=0;h<mde.length;h++){var d=mde[h],v=d+\"Found\";if(!u[v]){var x=t[d]!==void 0,b=d===\"orientation\";if((x||c)&&(u[d]=i(d,f[d]),b&&(u.fillDflt=u[d]===\"h\"?\"tonextx\":\"tonexty\"),x&&(u[v]=!0,!c&&(delete u.traces[0][d],b))))for(var p=0;p<u.traces.length-1;p++){var E=u.traces[p];E._input.fill!==E.fill&&(E.fill=u.fillDflt)}}}return u}}});var $p=ye((_nr,Tde)=>{\"use strict\";var xde=va(),bde=Dv().hasColorscale,wde=Uh(),ddt=lu();Tde.exports=function(t,r,n,i,a,o){var s=ddt.isBubble(t),l=(t.line||{}).color,u;if(o=o||{},l&&(n=l),a(\"marker.symbol\"),a(\"marker.opacity\",s?.7:1),a(\"marker.size\"),o.noAngle||(a(\"marker.angle\"),o.noAngleRef||a(\"marker.angleref\"),o.noStandOff||a(\"marker.standoff\")),a(\"marker.color\",n),bde(t,\"marker\")&&wde(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}),o.noSelect||(a(\"selected.marker.color\"),a(\"unselected.marker.color\"),a(\"selected.marker.size\"),a(\"unselected.marker.size\")),o.noLine||(l&&!Array.isArray(l)&&r.marker.color!==l?u=l:s?u=xde.background:u=xde.defaultLine,a(\"marker.line.color\",u),bde(t,\"marker.line\")&&wde(t,r,i,a,{prefix:\"marker.line.\",cLetter:\"c\"}),a(\"marker.line.width\",s?1:0)),s&&(a(\"marker.sizeref\"),a(\"marker.sizemin\"),a(\"marker.sizemode\")),o.gradient){var c=a(\"marker.gradient.type\");c!==\"none\"&&a(\"marker.gradient.color\")}}});var R0=ye((xnr,Ade)=>{\"use strict\";var vdt=Mr().isArrayOrTypedArray,pdt=Dv().hasColorscale,gdt=Uh();Ade.exports=function(t,r,n,i,a,o){o||(o={});var s=(t.marker||{}).color;if(s&&s._inputArray&&(s=s._inputArray),a(\"line.color\",n),pdt(t,\"line\"))gdt(t,r,i,a,{prefix:\"line.\",cLetter:\"c\"});else{var l=(vdt(s)?!1:s)||n;a(\"line.color\",l)}a(\"line.width\"),o.noDash||a(\"line.dash\"),o.backoff&&a(\"line.backoff\")}});var J3=ye((bnr,Sde)=>{\"use strict\";Sde.exports=function(t,r,n){var i=n(\"line.shape\");i===\"spline\"&&n(\"line.smoothing\")}});var D0=ye((wnr,Mde)=>{\"use strict\";var mdt=Mr();Mde.exports=function(e,t,r,n,i){i=i||{},n(\"textposition\"),mdt.coerceFont(n,\"textfont\",i.font||r.font,i),i.noSelect||(n(\"selected.textfont.color\"),n(\"unselected.textfont.color\"))}});var Ig=ye((Tnr,kde)=>{\"use strict\";var jP=va(),Ede=Mr().isArrayOrTypedArray;function ydt(e){for(var t=jP.interpolate(e[0][1],e[1][1],.5),r=2;r<e.length;r++){var n=jP.interpolate(e[r-1][1],e[r][1],.5);t=jP.interpolate(t,n,e[r-1][0]/e[r][0])}return t}kde.exports=function(t,r,n,i,a){a||(a={});var o=!1;if(r.marker){var s=r.marker.color,l=(r.marker.line||{}).color;s&&!Ede(s)?o=s:l&&!Ede(l)&&(o=l)}var u;if(a.moduleHasFillgradient){var c=i(\"fillgradient.type\");if(c!==\"none\"){i(\"fillgradient.start\"),i(\"fillgradient.stop\");var f=i(\"fillgradient.colorscale\");f&&(u=ydt(f))}}i(\"fillcolor\",jP.addOpacity((r.line||{}).color||o||u||n,.5))}});var Ide=ye((Anr,Pde)=>{\"use strict\";var Cde=Mr(),_dt=ba(),xdt=Uc(),bdt=Sm(),$3=lu(),wdt=K3(),Tdt=Pg(),Adt=_de(),Sdt=$p(),Mdt=R0(),Lde=J3(),Edt=D0(),kdt=Ig(),Cdt=Mr().coercePattern;Pde.exports=function(t,r,n,i){function a(d,v){return Cde.coerce(t,r,xdt,d,v)}var o=wdt(t,r,i,a);if(o||(r.visible=!1),!!r.visible){Tdt(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zorder\");var s=Adt(t,r,i,a);i.scattermode===\"group\"&&r.orientation===void 0&&a(\"orientation\",\"v\");var l=!s&&o<bdt.PTS_LINESONLY?\"lines+markers\":\"lines\";a(\"text\"),a(\"hovertext\"),a(\"mode\",l),$3.hasMarkers(r)&&Sdt(t,r,n,i,a,{gradient:!0}),$3.hasLines(r)&&(Mdt(t,r,n,i,a,{backoff:!0}),Lde(t,r,a),a(\"connectgaps\"),a(\"line.simplify\")),$3.hasText(r)&&(a(\"texttemplate\"),Edt(t,r,i,a));var u=[];($3.hasMarkers(r)||$3.hasText(r))&&(a(\"cliponaxis\"),a(\"marker.maxdisplayed\"),u.push(\"points\")),a(\"fill\",s?s.fillDflt:\"none\"),r.fill!==\"none\"&&(kdt(t,r,n,a,{moduleHasFillgradient:!0}),$3.hasLines(r)||Lde(t,r,a),Cdt(a,\"fillpattern\",r.fillcolor,!1));var c=(r.line||{}).color,f=(r.marker||{}).color;(r.fill===\"tonext\"||r.fill===\"toself\")&&u.push(\"fills\"),a(\"hoveron\",u.join(\"+\")||\"points\"),r.hoveron!==\"fills\"&&a(\"hovertemplate\");var h=_dt.getComponentMethod(\"errorbars\",\"supplyDefaults\");h(t,r,c||f||n,{axis:\"y\"}),h(t,r,c||f||n,{axis:\"x\",inherit:\"y\"}),Cde.coerceSelectionMarkerOpacity(r,a)}}});var Hb=ye((Snr,Rde)=>{\"use strict\";var Ldt=Bb().getAxisGroup;Rde.exports=function(t,r,n,i,a){var o=r.orientation,s=r[{v:\"x\",h:\"y\"}[o]+\"axis\"],l=Ldt(n,s)+o,u=n._alignmentOpts||{},c=i(\"alignmentgroup\"),f=u[l];f||(f=u[l]={});var h=f[c];h?h.traces.push(r):h=f[c]={traces:[r],alignmentIndex:Object.keys(f).length,offsetGroups:{}};var d=i(\"offsetgroup\")||\"\",v=h.offsetGroups,x=v[d];r._offsetIndex=0,(a!==\"group\"||d)&&(x||(x=v[d]={offsetIndex:Object.keys(v).length}),r._offsetIndex=x.offsetIndex)}});var $N=ye((Mnr,Dde)=>{\"use strict\";var Pdt=Mr(),Idt=Hb(),Rdt=Uc();Dde.exports=function(t,r){var n,i,a,o=r.scattermode;function s(h){return Pdt.coerce(i._input,i,Rdt,h)}if(r.scattermode===\"group\")for(a=0;a<t.length;a++)i=t[a],i.type===\"scatter\"&&(n=i._input,Idt(n,i,r,s,o));for(a=0;a<t.length;a++){var l=t[a];if(l.type===\"scatter\"){var u=l.fill;if(!(u===\"none\"||u===\"toself\")&&(l.opacity=void 0,u===\"tonexty\"||u===\"tonextx\"))for(var c=a-1;c>=0;c--){var f=t[c];if(f.type===\"scatter\"&&f.xaxis===l.xaxis&&f.yaxis===l.yaxis){f.opacity=void 0;break}}}}}});var Fde=ye((Enr,zde)=>{\"use strict\";var Ddt=Mr(),zdt=V6();zde.exports=function(e,t){function r(i,a){return Ddt.coerce(e,t,zdt,i,a)}var n=t.barmode===\"group\";t.scattermode===\"group\"&&r(\"scattergap\",n?t.bargap:.2)}});var Rg=ye((knr,Ode)=>{\"use strict\";var Fdt=uo(),qde=Mr(),qdt=qde.dateTime2ms,WP=qde.incrementMonth,Odt=es(),Bdt=Odt.ONEAVGMONTH;Ode.exports=function(t,r,n,i){if(r.type!==\"date\")return{vals:i};var a=t[n+\"periodalignment\"];if(!a)return{vals:i};var o=t[n+\"period\"],s;if(Fdt(o)){if(o=+o,o<=0)return{vals:i}}else if(typeof o==\"string\"&&o.charAt(0)===\"M\"){var l=+o.substring(1);if(l>0&&Math.round(l)===l)s=l;else return{vals:i}}for(var u=r.calendar,c=a===\"start\",f=a===\"end\",h=t[n+\"period0\"],d=qdt(h,u)||0,v=[],x=[],b=[],p=i.length,E=0;E<p;E++){var k=i[E],A,L,_;if(s){for(A=Math.round((k-d)/(s*Bdt)),_=WP(d,s*A,u);_>k;)_=WP(_,-s,u);for(;_<=k;)_=WP(_,s,u);L=WP(_,-s,u)}else{for(A=Math.round((k-d)/o),_=d+A*o;_>k;)_-=o;for(;_<=k;)_+=o;L=_-o}v[E]=c?L:f?_:(L+_)/2,x[E]=L,b[E]=_}return{vals:v,starts:x,ends:b}}});var z0=ye((Cnr,Nde)=>{\"use strict\";var QN=Dv().hasColorscale,eU=zv(),Bde=lu();Nde.exports=function(t,r){Bde.hasLines(r)&&QN(r,\"line\")&&eU(t,r,{vals:r.line.color,containerStr:\"line\",cLetter:\"c\"}),Bde.hasMarkers(r)&&(QN(r,\"marker\")&&eU(t,r,{vals:r.marker.color,containerStr:\"marker\",cLetter:\"c\"}),QN(r,\"marker.line\")&&eU(t,r,{vals:r.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}))}});var km=ye((Lnr,Ude)=>{\"use strict\";var Df=Mr();Ude.exports=function(t,r){for(var n=0;n<t.length;n++)t[n].i=n;Df.mergeArray(r.text,t,\"tx\"),Df.mergeArray(r.texttemplate,t,\"txt\"),Df.mergeArray(r.hovertext,t,\"htx\"),Df.mergeArray(r.customdata,t,\"data\"),Df.mergeArray(r.textposition,t,\"tp\"),r.textfont&&(Df.mergeArrayCastPositive(r.textfont.size,t,\"ts\"),Df.mergeArray(r.textfont.color,t,\"tc\"),Df.mergeArray(r.textfont.family,t,\"tf\"),Df.mergeArray(r.textfont.weight,t,\"tw\"),Df.mergeArray(r.textfont.style,t,\"ty\"),Df.mergeArray(r.textfont.variant,t,\"tv\"),Df.mergeArray(r.textfont.textcase,t,\"tC\"),Df.mergeArray(r.textfont.lineposition,t,\"tE\"),Df.mergeArray(r.textfont.shadow,t,\"tS\"));var i=r.marker;if(i){Df.mergeArrayCastPositive(i.size,t,\"ms\"),Df.mergeArrayCastPositive(i.opacity,t,\"mo\"),Df.mergeArray(i.symbol,t,\"mx\"),Df.mergeArray(i.angle,t,\"ma\"),Df.mergeArray(i.standoff,t,\"mf\"),Df.mergeArray(i.color,t,\"mc\");var a=i.line;i.line&&(Df.mergeArray(a.color,t,\"mlc\"),Df.mergeArrayCastPositive(a.width,t,\"mlw\"));var o=i.gradient;o&&o.type!==\"none\"&&(Df.mergeArray(o.type,t,\"mgt\"),Df.mergeArray(o.color,t,\"mgc\"))}}});var F0=ye((Pnr,Hde)=>{\"use strict\";var Vde=Mr();Hde.exports=function(t,r){Vde.isArrayOrTypedArray(r.selectedpoints)&&Vde.tagSelected(t,r)}});var q0=ye((Inr,Kde)=>{\"use strict\";var Gde=uo(),rU=Mr(),GM=Qa(),jde=Rg(),tU=es().BADNUM,iU=lu(),Ndt=z0(),Udt=km(),Vdt=F0();function Hdt(e,t){var r=e._fullLayout,n=t._xA=GM.getFromId(e,t.xaxis||\"x\",\"x\"),i=t._yA=GM.getFromId(e,t.yaxis||\"y\",\"y\"),a=n.makeCalcdata(t,\"x\"),o=i.makeCalcdata(t,\"y\"),s=jde(t,n,\"x\",a),l=jde(t,i,\"y\",o),u=s.vals,c=l.vals,f=t._length,h=new Array(f),d=t.ids,v=nU(t,r,n,i),x=!1,b,p,E,k,A,L;Xde(r,t);var _=\"x\",C=\"y\",M;if(v)rU.pushUnique(v.traceIndices,t.index),b=v.orientation===\"v\",b?(C=\"s\",M=\"x\"):(_=\"s\",M=\"y\"),A=v.stackgaps===\"interpolate\";else{var g=Zde(t,f);Wde(e,t,n,i,u,c,g)}var P=!!t.xperiodalignment,T=!!t.yperiodalignment;for(p=0;p<f;p++){var F=h[p]={},q=Gde(u[p]),V=Gde(c[p]);q&&V?(F[_]=u[p],F[C]=c[p],P&&(F.orig_x=a[p],F.xEnd=s.ends[p],F.xStart=s.starts[p]),T&&(F.orig_y=o[p],F.yEnd=l.ends[p],F.yStart=l.starts[p])):v&&(b?q:V)?(F[M]=b?u[p]:c[p],F.gap=!0,A?(F.s=tU,x=!0):F.s=0):F[_]=F[C]=tU,d&&(F.id=String(d[p]))}if(Udt(h,t),Ndt(e,t),Vdt(h,t),v){for(p=0;p<h.length;)h[p][M]===tU?h.splice(p,1):p++;if(rU.sort(h,function(N,W){return N[M]-W[M]||N.i-W.i}),x){for(p=0;p<h.length-1&&h[p].gap;)p++;for(L=h[p].s,L||(L=h[p].s=0),E=0;E<p;E++)h[E].s=L;for(k=h.length-1;k>p&&h[k].gap;)k--;for(L=h[k].s,E=h.length-1;E>k;E--)h[E].s=L;for(;p<k;)if(p++,h[p].gap){for(E=p+1;h[E].gap;)E++;for(var H=h[p-1][M],X=h[p-1].s,G=(h[E].s-X)/(h[E][M]-H);p<E;)h[p].s=X+(h[p][M]-H)*G,p++}}}return h}function Wde(e,t,r,n,i,a,o){var s=t._length,l=e._fullLayout,u=r._id,c=n._id,f=l._firstScatter[Yde(t)]===t.uid,h=(nU(t,l,r,n)||{}).orientation,d=t.fill;r._minDtick=0,n._minDtick=0;var v={padded:!0},x={padded:!0};o&&(v.ppad=x.ppad=o);var b=s<2||i[0]!==i[s-1]||a[0]!==a[s-1];b&&(d===\"tozerox\"||d===\"tonextx\"&&(f||h===\"h\"))?v.tozero=!0:!(t.error_y||{}).visible&&(d===\"tonexty\"||d===\"tozeroy\"||!iU.hasMarkers(t)&&!iU.hasText(t))&&(v.padded=!1,v.ppad=0),b&&(d===\"tozeroy\"||d===\"tonexty\"&&(f||h===\"v\"))?x.tozero=!0:(d===\"tonextx\"||d===\"tozerox\")&&(x.padded=!1),u&&(t._extremes[u]=GM.findExtremes(r,i,v)),c&&(t._extremes[c]=GM.findExtremes(n,a,x))}function Zde(e,t){if(iU.hasMarkers(e)){var r=e.marker,n=1.6*(e.marker.sizeref||1),i;if(e.marker.sizemode===\"area\"?i=function(u){return Math.max(Math.sqrt((u||0)/n),3)}:i=function(u){return Math.max((u||0)/n,3)},rU.isArrayOrTypedArray(r.size)){var a={type:\"linear\"};GM.setConvert(a);for(var o=a.makeCalcdata(e.marker,\"size\"),s=new Array(t),l=0;l<t;l++)s[l]=i(o[l]);return s}else return i(r.size)}}function Xde(e,t){var r=Yde(t),n=e._firstScatter;n[r]||(n[r]=t.uid)}function Yde(e){var t=e.stackgroup;return e.xaxis+e.yaxis+e.type+(t?\"-\"+t:\"\")}function nU(e,t,r,n){var i=e.stackgroup;if(i){var a=t._scatterStackOpts[r._id+n._id][i],o=a.orientation===\"v\"?n:r;if(o.type===\"linear\"||o.type===\"log\")return a}}Kde.exports={calc:Hdt,calcMarkerSize:Zde,calcAxisExpansion:Wde,setFirstScatter:Xde,getStackOpts:nU}});var $de=ye((Rnr,Jde)=>{\"use strict\";Jde.exports=ZP;var Gdt=Mr().distinctVals;function ZP(e,t){this.traces=e,this.sepNegVal=t.sepNegVal,this.overlapNoMerge=t.overlapNoMerge;for(var r=1/0,n=t.posAxis._id.charAt(0),i=[],a=0;a<e.length;a++){for(var o=e[a],s=0;s<o.length;s++){var l=o[s],u=l.p;u===void 0&&(u=l[n]),u!==void 0&&i.push(u)}o[0]&&o[0].width1&&(r=Math.min(o[0].width1,r))}this.positions=i;var c=Gdt(i);this.distinctPositions=c.vals,c.vals.length===1&&r!==1/0?this.minDiff=r:this.minDiff=Math.min(c.minDiff,r);var f=(t.posAxis||{}).type;(f===\"category\"||f===\"multicategory\")&&(this.minDiff=1),this.binWidth=this.minDiff,this.bins={}}ZP.prototype.put=function(t,r,n){var i=this.getLabel(t,r,n),a=this.bins[i]||0;return this.bins[i]=a+n,a};ZP.prototype.get=function(t,r,n){var i=this.getLabel(t,r,n);return this.bins[i]||0};ZP.prototype.getLabel=function(t,r,n){var i=n<0&&this.sepNegVal?\"v\":\"^\",a=this.overlapNoMerge?t:Math.round(t/this.binWidth);return i+a+\"g\"+r}});var Gb=ye((Dnr,rve)=>{\"use strict\";var O0=uo(),g_=Mr().isArrayOrTypedArray,Q3=es().BADNUM,jdt=ba(),jM=Qa(),Wdt=Bb().getAxisGroup,XP=$de();function Zdt(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,a=e._fullData,o=e.calcdata,s=[],l=[],u=0;u<a.length;u++){var c=a[u];if(c.visible===!0&&jdt.traceIs(c,\"bar\")&&c.xaxis===r._id&&c.yaxis===n._id&&(c.orientation===\"h\"?s.push(o[u]):l.push(o[u]),c._computePh))for(var f=e.calcdata[u],h=0;h<f.length;h++)typeof f[h].ph0==\"function\"&&(f[h].ph0=f[h].ph0()),typeof f[h].ph1==\"function\"&&(f[h].ph1=f[h].ph1())}var d={xCat:r.type===\"category\"||r.type===\"multicategory\",yCat:n.type===\"category\"||n.type===\"multicategory\",mode:i.barmode,norm:i.barnorm,gap:i.bargap,groupgap:i.bargroupgap};oU(e,r,n,l,d),oU(e,n,r,s,d)}function oU(e,t,r,n,i){if(n.length){var a,o,s,l,u;switch(Kdt(r,n),i.mode){case\"overlay\":aU(e,t,r,n,i);break;case\"group\":for(a=[],o=[],s=0;s<n.length;s++)l=n[s],u=l[0].trace,u.offset===void 0?o.push(l):a.push(l);o.length&&Jdt(e,t,r,o,i),a.length&&aU(e,t,r,a,i);break;case\"stack\":case\"relative\":for(a=[],o=[],s=0;s<n.length;s++)l=n[s],u=l[0].trace,u.base===void 0?o.push(l):a.push(l);Ydt(o),o.length&&$dt(e,t,r,o,i),a.length&&aU(e,t,r,a,i);break}Xdt(n),nvt(n,t)}}function Xdt(e){var t,r,n,i,a,o,s;for(t=0;t<e.length;t++)r=e[t],n=r[0].trace,i=r[0].t,i.cornerradiusvalue===void 0&&(a=n.marker?n.marker.cornerradius:void 0,a!==void 0&&(o=O0(a)?+a:+a.slice(0,-1),s=O0(a)?\"px\":\"%\",i.cornerradiusvalue=o,i.cornerradiusform=s))}function Ydt(e){if(!(e.length<2)){var t,r,n,i,a,o,s;for(t=0;t<e.length&&(r=e[t],n=r[0].trace,a=n.marker?n.marker.cornerradius:void 0,a===void 0);t++);if(a!==void 0)for(o=O0(a)?+a:+a.slice(0,-1),s=O0(a)?\"px\":\"%\",t=0;t<e.length;t++)r=e[t],i=r[0].t,i.cornerradiusvalue=o,i.cornerradiusform=s}}function Kdt(e,t){var r,n;for(r=0;r<t.length;r++){var i=t[r],a=i[0].trace,o=a.type===\"funnel\"?a._base:a.base,s,l=a.orientation===\"h\"?a.xcalendar:a.ycalendar,u=e.type===\"category\"||e.type===\"multicategory\"?function(){return null}:e.d2c;if(g_(o)){for(n=0;n<Math.min(o.length,i.length);n++)s=u(o[n],0,l),O0(s)?(i[n].b=+s,i[n].hasB=1):i[n].b=0;for(;n<i.length;n++)i[n].b=0}else{s=u(o,0,l);var c=O0(s);for(s=c?s:0,n=0;n<i.length;n++)i[n].b=s,c&&(i[n].hasB=1)}}}function aU(e,t,r,n,i){for(var a=0;a<n.length;a++){var o=n[a],s=new XP([o],{posAxis:t,sepNegVal:!1,overlapNoMerge:!i.norm});sU(e,t,s,i),i.norm?(tve(s),lU(r,s,i)):eve(r,s)}}function Jdt(e,t,r,n,i){var a=new XP(n,{posAxis:t,sepNegVal:!1,overlapNoMerge:!i.norm});sU(e,t,a,i),rvt(a,t),i.norm?(tve(a),lU(r,a,i)):eve(r,a)}function $dt(e,t,r,n,i){var a=new XP(n,{posAxis:t,sepNegVal:i.mode===\"relative\",overlapNoMerge:!(i.norm||i.mode===\"stack\"||i.mode===\"relative\")});sU(e,t,a,i),tvt(r,a,i);for(var o=0;o<n.length;o++)for(var s=n[o],l=s[0].t.offsetindex,u=0;u<s.length;u++){var c=s[u];if(c.s!==Q3){var f=c.b+c.s===a.get(c.p,l,c.s);f&&(c._outmost=!0)}}i.norm&&lU(r,a,i)}function sU(e,t,r,n){var i=e._fullLayout,a=r.positions,o=r.distinctPositions,s=r.minDiff,l=r.traces,u=l.length,c=a.length!==o.length,f=s*(1-n.gap),h,d,v,x;if(t._id===\"angularaxis\")h=f,d=h*(1-(n.groupgap||0)),v=-d/2;else{var b=Wdt(i,t._id)+l[0][0].trace.orientation;x=i._alignmentOpts[b]||{}}for(var p=0;p<u;p++){var E=l[p],k=E[0].trace;if(t._id!==\"angularaxis\"){var A=x[k.alignmentgroup]||{},L=Object.keys(A.offsetGroups||{}).length;L?h=f/L:h=c?f/u:f,d=h*(1-(n.groupgap||0)),L?v=((2*k._offsetIndex+1-L)*h-d)/2:v=c?((2*p+1-u)*h-d)/2:-d/2}var _=E[0].t;_.barwidth=d,_.offsetindex=k._offsetIndex||0,_.poffset=v,_.bargroupwidth=f,_.bardelta=s}r.binWidth=l[0][0].t.barwidth/100,Qdt(r),evt(t,r),t._id===\"angularaxis\"?Qde(t,r):Qde(t,r,c)}function Qdt(e){var t=e.traces,r,n;for(r=0;r<t.length;r++){var i=t[r],a=i[0],o=a.trace,s=a.t,l=o._offset||o.offset,u=s.poffset,c;if(g_(l)){for(c=Array.prototype.slice.call(l,0,i.length),n=0;n<c.length;n++)O0(c[n])||(c[n]=u);for(n=c.length;n<i.length;n++)c.push(u);s.poffset=c}else l!==void 0&&(s.poffset=l);var f=o._width||o.width,h=s.barwidth;if(g_(f)){var d=Array.prototype.slice.call(f,0,i.length);for(n=0;n<d.length;n++)O0(d[n])||(d[n]=h);for(n=d.length;n<i.length;n++)d.push(h);if(s.barwidth=d,l===void 0){for(c=[],n=0;n<i.length;n++)c.push(u+(h-d[n])/2);s.poffset=c}}else f!==void 0&&(s.barwidth=f,l===void 0&&(s.poffset=u+(h-f)/2))}}function evt(e,t){for(var r=t.traces,n=eT(e),i=0;i<r.length;i++)for(var a=r[i],o=a[0].t,s=o.poffset,l=g_(s),u=o.barwidth,c=g_(u),f=0;f<a.length;f++){var h=a[f],d=h.w=c?u[f]:u;h.p===void 0&&(h.p=h[n],h[\"orig_\"+n]=h[n]);var v=(l?s[f]:s)+d/2;h[n]=h.p+v}}function Qde(e,t,r){var n=t.traces,i=t.minDiff,a=i/2;jM.minDtick(e,t.minDiff,t.distinctPositions[0],r);for(var o=0;o<n.length;o++){var s=n[o],l=s[0],u=l.trace,c=[],f,h,d,v;for(v=0;v<s.length;v++)f=s[v],h=f.p-a,d=f.p+a,c.push(h,d);if(u.width||u.offset){var x=l.t,b=x.poffset,p=x.barwidth,E=g_(b),k=g_(p);for(v=0;v<s.length;v++){f=s[v];var A=E?b[v]:b,L=k?p[v]:p;h=f.p+A,d=h+L,c.push(h,d)}}u._extremes[e._id]=jM.findExtremes(e,c,{padded:!1})}}function eve(e,t){for(var r=t.traces,n=eT(e),i=0;i<r.length;i++){for(var a=r[i],o=a[0].trace,s=o.type===\"scatter\",l=o.orientation===\"v\",u=[],c=!1,f=0;f<a.length;f++){var h=a[f],d=s?0:h.b,v=s?l?h.y:h.x:d+h.s;h[n]=v,u.push(v),h.hasB&&u.push(d),(!h.hasB||!h.b)&&(c=!0)}o._extremes[e._id]=jM.findExtremes(e,u,{tozero:c,padded:!0})}}function tvt(e,t,r){var n=eT(e),i=t.traces,a,o,s,l,u,c,f;for(l=0;l<i.length;l++)if(a=i[l],o=a[0].trace,o.type===\"funnel\")for(f=a[0].t.offsetindex,u=0;u<a.length;u++)c=a[u],c.s!==Q3&&t.put(c.p,f,-.5*c.s);for(l=0;l<i.length;l++){a=i[l],o=a[0].trace,s=o.type===\"funnel\",f=o.type===\"barpolar\"?0:a[0].t.offsetindex;var h=[];for(u=0;u<a.length;u++)if(c=a[u],c.s!==Q3){var d;s?d=c.s:d=c.s+c.b;var v=t.put(c.p,f,d),x=v+d;c.b=v,c[n]=x,r.norm||(h.push(x),c.hasB&&h.push(v))}r.norm||(o._extremes[e._id]=jM.findExtremes(e,h,{tozero:!0,padded:!0}))}}function tve(e){for(var t=e.traces,r=0;r<t.length;r++)for(var n=t[r],i=n[0].t.offsetindex,a=0;a<n.length;a++){var o=n[a];o.s!==Q3&&e.put(o.p,i,o.b+o.s)}}function rvt(e,t){for(var r=e.traces,n=0;n<r.length;n++){var i=r[n],a=i[0].trace,o=i[0].t.offsetindex;if(a.base===void 0)for(var s=new XP([i],{posAxis:t,sepNegVal:!0,overlapNoMerge:!0}),l=0;l<i.length;l++){var u=i[l];if(u.p!==Q3){var c=s.put(u.p,o,u.b+u.s);c&&(u.b=c)}}}}function lU(e,t,r){var n=t.traces,i=eT(e),a=r.norm===\"fraction\"?1:100,o=a/1e9,s=e.l2c(e.c2l(0)),l=r.mode===\"stack\"?a:s;function u(_){return O0(e.c2l(_))&&(_<s-o||_>l+o||!O0(s))}for(var c=0;c<n.length;c++){for(var f=n[c],h=f[0].t.offsetindex,d=f[0].trace,v=[],x=!1,b=!1,p=0;p<f.length;p++){var E=f[p];if(E.s!==Q3){var k=Math.abs(a/t.get(E.p,h,E.s));E.b*=k,E.s*=k;var A=E.b,L=A+E.s;E[i]=L,v.push(L),b=b||u(L),E.hasB&&(v.push(A),b=b||u(A)),(!E.hasB||!E.b)&&(x=!0)}}d._extremes[e._id]=jM.findExtremes(e,v,{tozero:x,padded:b})}}function ivt(e,t,r,n){for(var i=eT(n),a=0;a<e.length;a++)for(var o=e[a],s=0;s<o.length;s++){var l=o[s],u=l[i];l._sMin=t[u],l._sMax=r[u]}}function nvt(e,t){var r=eT(t),n={},i,a,o,s=1/0,l=-1/0;for(i=0;i<e.length;i++)for(o=e[i],a=0;a<o.length;a++){var u=o[a].p;O0(u)&&(s=Math.min(s,u),l=Math.max(l,u))}var c=1e4/(l-s),f=n.round=function(M){return String(Math.round(c*(M-s)))},h={},d={},v=e.some(function(M){var g=M[0].trace;return\"marker\"in g&&g.marker.cornerradius});for(i=0;i<e.length;i++){o=e[i],o[0].t.extents=n;var x=o[0].t.poffset,b=g_(x);for(a=0;a<o.length;a++){var p=o[a],E=p[r]-p.w/2;if(O0(E)){var k=p[r]+p.w/2,A=f(p.p);n[A]?n[A]=[Math.min(E,n[A][0]),Math.max(k,n[A][1])]:n[A]=[E,k]}if(p.p0=p.p+(b?x[a]:x),p.p1=p.p0+p.w,p.s0=p.b,p.s1=p.s0+p.s,v){var L=Math.min(p.s0,p.s1)||0,_=Math.max(p.s0,p.s1)||0,C=p[r];h[C]=C in h?Math.min(h[C],L):L,d[C]=C in d?Math.max(d[C],_):_}}}v&&ivt(e,h,d,t)}function eT(e){return e._id.charAt(0)}rve.exports={crossTraceCalc:Zdt,setGroupPositions:oU}});var ove=ye((znr,ave)=>{\"use strict\";var ive=q0(),nve=Gb().setGroupPositions;function avt(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,a=e._fullData,o=e.calcdata,s=[],l=[],u=0;u<a.length;u++){var c=a[u];c.visible===!0&&c.type===\"scatter\"&&c.xaxis===r._id&&c.yaxis===n._id&&(c.orientation===\"h\"?s.push(o[u]):c.orientation===\"v\"&&l.push(o[u]))}var f={mode:i.scattermode,gap:i.scattergap};nve(e,r,n,l,f),nve(e,n,r,s,f)}ave.exports=function(t,r){t._fullLayout.scattermode===\"group\"&&avt(t,r);var n=r.xaxis,i=r.yaxis,a=n._id+i._id,o=t._fullLayout._scatterStackOpts[a];if(o){var s=t.calcdata,l,u,c,f,h,d,v,x,b,p,E,k,A,L,_;for(var C in o){p=o[C];var M=p.traceIndices;if(M.length){for(E=p.stackgaps===\"interpolate\",k=p.groupnorm,p.orientation===\"v\"?(A=\"x\",L=\"y\"):(A=\"y\",L=\"x\"),_=new Array(M.length),l=0;l<_.length;l++)_[l]=!1;d=s[M[0]];var g=new Array(d.length);for(l=0;l<d.length;l++)g[l]=d[l][A];for(l=1;l<M.length;l++){for(h=s[M[l]],u=c=0;u<h.length;u++){for(v=h[u][A];v>g[c]&&c<g.length;c++)uU(h,u,g[c],l,_,E,A),u++;if(v!==g[c]){for(f=0;f<l;f++)uU(s[M[f]],c,v,f,_,E,A);g.splice(c,0,v)}c++}for(;c<g.length;c++)uU(h,u,g[c],l,_,E,A),u++}var P=g.length;for(u=0;u<d.length;u++){for(x=d[u][L]=d[u].s,l=1;l<M.length;l++)h=s[M[l]],h[0].trace._rawLength=h[0].trace._length,h[0].trace._length=P,x+=h[u].s,h[u][L]=x;if(k)for(b=(k===\"fraction\"?x:x/100)||1,l=0;l<M.length;l++){var T=s[M[l]][u];T[L]/=b,T.sNorm=T.s/b}}for(l=0;l<M.length;l++){h=s[M[l]];var F=h[0].trace,q=ive.calcMarkerSize(F,F._rawLength),V=Array.isArray(q);if(q&&_[l]||V){var H=q;for(q=new Array(P),u=0;u<P;u++)q[u]=h[u].gap?0:V?H[h[u].i]:H}var X=new Array(P),G=new Array(P);for(u=0;u<P;u++)X[u]=h[u].x,G[u]=h[u].y;ive.calcAxisExpansion(t,F,n,i,X,G,q),h[0].t.orientation=p.orientation}}}}};function uU(e,t,r,n,i,a,o){i[n]=!0;var s={i:null,gap:!0,s:0};if(s[o]=r,e.splice(t,0,s),t&&r===e[t-1][o]){var l=e[t-1];s.s=l.s,s.i=l.i,s.gap=l.gap}else a&&(s.s=ovt(e,t,r,o));t||(e[0].t=e[1].t,e[0].trace=e[1].trace,delete e[1].t,delete e[1].trace)}function ovt(e,t,r,n){var i=e[t-1],a=e[t+1];return a?i?i.s+(a.s-i.s)*(r-i[n])/(a[n]-i[n]):a.s:i.s}});var fU=ye((Fnr,hve)=>{\"use strict\";var svt=ao(),cve=es(),WM=cve.BADNUM,fve=cve.LOG_CLIP,sve=fve+.5,lve=fve-.5,YP=Mr(),lvt=YP.segmentsIntersect,uve=YP.constrain,cU=Sm();hve.exports=function(t,r){var n=r.trace||{},i=r.xaxis,a=r.yaxis,o=i.type===\"log\",s=a.type===\"log\",l=i._length,u=a._length,c=r.backoff,f=n.marker,h=r.connectGaps,d=r.baseTolerance,v=r.shape,x=v===\"linear\",b=n.fill&&n.fill!==\"none\",p=[],E=cU.minTolerance,k=t.length,A=new Array(k),L=0,_,C,M,g,P,T,F,q,V,H,X,G,N,W,re,ae;function _e(ut){var Ne=t[ut];if(!Ne)return!1;var Ye=r.linearized?i.l2p(Ne.x):i.c2p(Ne.x),Ve=r.linearized?a.l2p(Ne.y):a.c2p(Ne.y);if(Ye===WM){if(o&&(Ye=i.c2p(Ne.x,!0)),Ye===WM)return!1;s&&Ve===WM&&(Ye*=Math.abs(i._m*u*(i._m>0?sve:lve)/(a._m*l*(a._m>0?sve:lve)))),Ye*=1e3}if(Ve===WM){if(s&&(Ve=a.c2p(Ne.y,!0)),Ve===WM)return!1;Ve*=1e3}return[Ye,Ve]}function Me(ut,Ne,Ye,Ve){var Xe=Ye-ut,ht=Ve-Ne,Le=.5-ut,xe=.5-Ne,Se=Xe*Xe+ht*ht,lt=Xe*Le+ht*xe;if(lt>0&<<Se){var Gt=Le*ht-xe*Xe;if(Gt*Gt<Se)return!0}}var ke,ge;function ie(ut,Ne){var Ye=ut[0]/l,Ve=ut[1]/u,Xe=Math.max(0,-Ye,Ye-1,-Ve,Ve-1);return Xe&&ke!==void 0&&Me(Ye,Ve,ke,ge)&&(Xe=0),Xe&&Ne&&Me(Ye,Ve,Ne[0]/l,Ne[1]/u)&&(Xe=0),(1+cU.toleranceGrowth*Xe)*d}function Te(ut,Ne){var Ye=ut[0]-Ne[0],Ve=ut[1]-Ne[1];return Math.sqrt(Ye*Ye+Ve*Ve)}var Ee=cU.maxScreensAway,Ae=-l*Ee,ze=l*(1+Ee),Ce=-u*Ee,me=u*(1+Ee),Re=[[Ae,Ce,ze,Ce],[ze,Ce,ze,me],[ze,me,Ae,me],[Ae,me,Ae,Ce]],ce,Ge,nt,ct,qt,rt;function ot(ut,Ne){for(var Ye=[],Ve=0,Xe=0;Xe<4;Xe++){var ht=Re[Xe],Le=lvt(ut[0],ut[1],Ne[0],Ne[1],ht[0],ht[1],ht[2],ht[3]);Le&&(!Ve||Math.abs(Le.x-Ye[0][0])>1||Math.abs(Le.y-Ye[0][1])>1)&&(Le=[Le.x,Le.y],Ve&&Te(Le,ut)<Te(Ye[0],ut)?Ye.unshift(Le):Ye.push(Le),Ve++)}return Ye}function Rt(ut){if(ut[0]<Ae||ut[0]>ze||ut[1]<Ce||ut[1]>me)return[uve(ut[0],Ae,ze),uve(ut[1],Ce,me)]}function kt(ut,Ne){if(ut[0]===Ne[0]&&(ut[0]===Ae||ut[0]===ze)||ut[1]===Ne[1]&&(ut[1]===Ce||ut[1]===me))return!0}function Ct(ut,Ne){var Ye=[],Ve=Rt(ut),Xe=Rt(Ne);return Ve&&Xe&&kt(Ve,Xe)||(Ve&&Ye.push(Ve),Xe&&Ye.push(Xe)),Ye}function Yt(ut,Ne,Ye){return function(Ve,Xe){var ht=Rt(Ve),Le=Rt(Xe),xe=[];if(ht&&Le&&kt(ht,Le))return xe;ht&&xe.push(ht),Le&&xe.push(Le);var Se=2*YP.constrain((Ve[ut]+Xe[ut])/2,Ne,Ye)-((ht||Ve)[ut]+(Le||Xe)[ut]);if(Se){var lt;ht&&Le?lt=Se>0==ht[ut]>Le[ut]?ht:Le:lt=ht||Le,lt[ut]+=Se}return xe}}var xr;v===\"linear\"||v===\"spline\"?xr=ot:v===\"hv\"||v===\"vh\"?xr=Ct:v===\"hvh\"?xr=Yt(0,Ae,ze):v===\"vhv\"&&(xr=Yt(1,Ce,me));function er(ut,Ne){var Ye=Ne[0]-ut[0],Ve=(Ne[1]-ut[1])/Ye,Xe=(ut[1]*Ne[0]-Ne[1]*ut[0])/Ye;return Xe>0?[Ve>0?Ae:ze,me]:[Ve>0?ze:Ae,Ce]}function Ke(ut){var Ne=ut[0],Ye=ut[1],Ve=Ne===A[L-1][0],Xe=Ye===A[L-1][1];if(!(Ve&&Xe))if(L>1){var ht=Ne===A[L-2][0],Le=Ye===A[L-2][1];Ve&&(Ne===Ae||Ne===ze)&&ht?Le?L--:A[L-1]=ut:Xe&&(Ye===Ce||Ye===me)&&Le?ht?L--:A[L-1]=ut:A[L++]=ut}else A[L++]=ut}function xt(ut){A[L-1][0]!==ut[0]&&A[L-1][1]!==ut[1]&&Ke([nt,ct]),Ke(ut),qt=null,nt=ct=0}var bt=YP.isArrayOrTypedArray(f);function Lt(ut){if(ut&&c&&(ut.i=_,ut.d=t,ut.trace=n,ut.marker=bt?f[ut.i]:f,ut.backoff=c),ke=ut[0]/l,ge=ut[1]/u,ce=ut[0]<Ae?Ae:ut[0]>ze?ze:0,Ge=ut[1]<Ce?Ce:ut[1]>me?me:0,ce||Ge){if(!L)A[L++]=[ce||ut[0],Ge||ut[1]];else if(qt){var Ne=xr(qt,ut);Ne.length>1&&(xt(Ne[0]),A[L++]=Ne[1])}else rt=xr(A[L-1],ut)[0],A[L++]=rt;var Ye=A[L-1];ce&&Ge&&(Ye[0]!==ce||Ye[1]!==Ge)?(qt&&(nt!==ce&&ct!==Ge?Ke(nt&&ct?er(qt,ut):[nt||ce,ct||Ge]):nt&&ct&&Ke([nt,ct])),Ke([ce,Ge])):nt-ce&&ct-Ge&&Ke([ce||nt,Ge||ct]),qt=ut,nt=ce,ct=Ge}else qt&&xt(xr(qt,ut)[0]),A[L++]=ut}for(_=0;_<k;_++)if(C=_e(_),!!C){for(L=0,qt=null,Lt(C),_++;_<k;_++){if(g=_e(_),!g){if(h)continue;break}if(!x||!r.simplify){Lt(g);continue}var St=_e(_+1);if(H=Te(g,C),!(!(b&&(L===0||L===k-1))&&H<ie(g,St)*E)){for(q=[(g[0]-C[0])/H,(g[1]-C[1])/H],P=C,X=H,G=W=re=0,F=!1,M=g,_++;_<t.length;_++){if(T=St,St=_e(_+1),!T){if(h)continue;break}if(V=[T[0]-C[0],T[1]-C[1]],ae=V[0]*q[1]-V[1]*q[0],W=Math.min(W,ae),re=Math.max(re,ae),re-W>ie(T,St))break;M=T,N=V[0]*q[0]+V[1]*q[1],N>X?(X=N,g=T,F=!1):N<G&&(G=N,P=T,F=!0)}if(F?(Lt(g),M!==P&&Lt(P)):(P!==C&&Lt(P),M!==g&&Lt(g)),Lt(M),_>=t.length||!T)break;Lt(T),C=T}}qt&&Ke([nt||qt[0],ct||qt[1]]),p.push(A.slice(0,L))}var Et=v.slice(v.length-1);if(c&&Et!==\"h\"&&Et!==\"v\"){for(var dt=!1,Ht=-1,$t=[],fr=0;fr<p.length;fr++)for(var _r=0;_r<p[fr].length-1;_r++){var Br=p[fr][_r],Or=p[fr][_r+1],Nr=svt.applyBackoff(Or,Br);(Nr[0]!==Or[0]||Nr[1]!==Or[1])&&(dt=!0),$t[Ht+1]||(Ht++,$t[Ht]=[Br,[Nr[0],Nr[1]]])}return dt?$t:p}return p}});var hU=ye((qnr,vve)=>{\"use strict\";var dve={tonextx:1,tonexty:1,tonext:1};vve.exports=function(t,r,n){var i,a,o,s,l,u={},c=!1,f=-1,h=0,d=-1;for(a=0;a<n.length;a++)i=n[a][0].trace,o=i.stackgroup||\"\",o?o in u?l=u[o]:(l=u[o]=h,h++):i.fill in dve&&d>=0?l=d:(l=d=h,h++),l<f&&(c=!0),i._groupIndex=f=l;var v=n.slice();c&&v.sort(function(b,p){var E=b[0].trace,k=p[0].trace;return E._groupIndex-k._groupIndex||E.index-k.index});var x={};for(a=0;a<v.length;a++)i=v[a][0].trace,o=i.stackgroup||\"\",i.visible===!0?(i._nexttrace=null,i.fill in dve&&(s=x[o],i._prevtrace=s||null,s&&(s._nexttrace=i)),i._ownfill=i.fill&&(i.fill.substr(0,6)===\"tozero\"||i.fill===\"toself\"||i.fill.substr(0,2)===\"to\"&&!i._prevtrace),x[o]=i):i._prevtrace=i._nexttrace=i._ownfill=null;return v}});var iT=ye((Onr,mve)=>{\"use strict\";var Dg=xa(),uvt=ba(),ZM=Mr(),tT=ZM.ensureSingle,gve=ZM.identity,zf=ao(),rT=lu(),cvt=fU(),fvt=hU(),KP=wM().tester;mve.exports=function(t,r,n,i,a,o){var s,l,u=!a,c=!!a&&a.duration>0,f=fvt(t,r,n);if(s=i.selectAll(\"g.trace\").data(f,function(d){return d[0].trace.uid}),s.enter().append(\"g\").attr(\"class\",function(d){return\"trace scatter trace\"+d[0].trace.uid}).style(\"stroke-miterlimit\",2),s.order(),hvt(t,s,r),c){o&&(l=o());var h=Dg.transition().duration(a.duration).ease(a.easing).each(\"end\",function(){l&&l()}).each(\"interrupt\",function(){l&&l()});h.each(function(){i.selectAll(\"g.trace\").each(function(d,v){pve(t,v,r,d,f,this,a)})})}else s.each(function(d,v){pve(t,v,r,d,f,this,a)});u&&s.exit().remove(),i.selectAll(\"path:not([d])\").remove()};function hvt(e,t,r){t.each(function(n){var i=tT(Dg.select(this),\"g\",\"fills\");zf.setClipUrl(i,r.layerClipId,e);var a=n[0].trace,o=[];a._ownfill&&o.push(\"_ownFill\"),a._nexttrace&&o.push(\"_nextFill\");var s=i.selectAll(\"g\").data(o,gve);s.enter().append(\"g\"),s.exit().each(function(l){a[l]=null}).remove(),s.order().each(function(l){a[l]=tT(Dg.select(this),\"path\",\"js-fill\")})})}function pve(e,t,r,n,i,a,o){var s=e._context.staticPlot,l;dvt(e,t,r,n,i);var u=!!o&&o.duration>0;function c(Yt){return u?Yt.transition():Yt}var f=r.xaxis,h=r.yaxis,d=n[0].trace,v=d.line,x=Dg.select(a),b=tT(x,\"g\",\"errorbars\"),p=tT(x,\"g\",\"lines\"),E=tT(x,\"g\",\"points\"),k=tT(x,\"g\",\"text\");if(uvt.getComponentMethod(\"errorbars\",\"plot\")(e,b,r,o),d.visible!==!0)return;c(x).style(\"opacity\",d.opacity);var A,L,_=d.fill.charAt(d.fill.length-1);_!==\"x\"&&_!==\"y\"&&(_=\"\");var C,M;_===\"y\"?(C=1,M=h.c2p(0,!0)):_===\"x\"&&(C=0,M=f.c2p(0,!0)),n[0][r.isRangePlot?\"nodeRangePlot3\":\"node3\"]=x;var g=\"\",P=[],T=d._prevtrace,F=null,q=null;T&&(g=T._prevRevpath||\"\",L=T._nextFill,P=T._ownPolygons,F=T._fillsegments,q=T._fillElement);var V,H,X=\"\",G=\"\",N,W,re,ae,_e,Me,ke=[];d._polygons=[];var ge=[],ie=[],Te=ZM.noop;if(A=d._ownFill,rT.hasLines(d)||d.fill!==\"none\"){L&&L.datum(n),[\"hv\",\"vh\",\"hvh\",\"vhv\"].indexOf(v.shape)!==-1?(N=zf.steps(v.shape),W=zf.steps(v.shape.split(\"\").reverse().join(\"\"))):v.shape===\"spline\"?N=W=function(Yt){var xr=Yt[Yt.length-1];return Yt.length>1&&Yt[0][0]===xr[0]&&Yt[0][1]===xr[1]?zf.smoothclosed(Yt.slice(1),v.smoothing):zf.smoothopen(Yt,v.smoothing)}:N=W=function(Yt){return\"M\"+Yt.join(\"L\")},re=function(Yt){return W(Yt.reverse())},ie=cvt(n,{xaxis:f,yaxis:h,trace:d,connectGaps:d.connectgaps,baseTolerance:Math.max(v.width||1,3)/4,shape:v.shape,backoff:v.backoff,simplify:v.simplify,fill:d.fill}),ge=new Array(ie.length);var Ee=0;for(l=0;l<ie.length;l++){var Ae,ze=ie[l];!Ae||!_?(Ae=ze.slice(),ge[Ee]=Ae,Ee++):Ae.push.apply(Ae,ze)}d._fillElement=null,d._fillExclusionElement=q,d._fillsegments=ge.slice(0,Ee),ge=d._fillsegments,ie.length&&(ae=ie[0][0].slice(),_e=ie[ie.length-1],Me=_e[_e.length-1].slice()),Te=function(Yt){return function(xr){if(V=N(xr),H=re(xr),X?_?(X+=\"L\"+V.substr(1),G=H+(\"L\"+G.substr(1))):(X+=\"Z\"+V,G=H+\"Z\"+G):(X=V,G=H),rT.hasLines(d)){var er=Dg.select(this);if(er.datum(n),Yt)c(er.style(\"opacity\",0).attr(\"d\",V).call(zf.lineGroupStyle)).style(\"opacity\",1);else{var Ke=c(er);Ke.attr(\"d\",V),zf.singleLineStyle(n,Ke)}}}}}var Ce=p.selectAll(\".js-line\").data(ie);c(Ce.exit()).style(\"opacity\",0).remove(),Ce.each(Te(!1)),Ce.enter().append(\"path\").classed(\"js-line\",!0).style(\"vector-effect\",s?\"none\":\"non-scaling-stroke\").call(zf.lineGroupStyle).each(Te(!0)),zf.setClipUrl(Ce,r.layerClipId,e);function me(Yt){c(Yt).attr(\"d\",\"M0,0Z\")}var Re=function(){var Yt=new Array(ge.length);for(l=0;l<ge.length;l++)Yt[l]=KP(ge[l]);return Yt},ce=function(Yt){var xr,er;if(!Yt||Yt.length===0)for(xr=new Array(ge.length),er=0;er<ge.length;er++){var Ke=ge[er][0].slice(),xt=ge[er][ge[er].length-1].slice();Ke[C]=xt[C]=M;var bt=[xt,Ke],Lt=bt.concat(ge[er]);xr[er]=KP(Lt)}else{for(xr=new Array(Yt.length-1+ge.length),er=0;er<Yt.length-1;er++)xr[er]=KP(Yt[er]);var St=Yt[Yt.length-1].slice();for(St.reverse(),er=0;er<ge.length;er++)xr[Yt.length-1+er]=KP(ge[er].concat(St))}return xr};ie.length?(A?(A.datum(n),ae&&Me&&(_?(ae[C]=Me[C]=M,c(A).attr(\"d\",\"M\"+Me+\"L\"+ae+\"L\"+X.substr(1)).call(zf.singleFillStyle,e),ke=ce(null)):(c(A).attr(\"d\",X+\"Z\").call(zf.singleFillStyle,e),ke=Re())),d._polygons=ke,d._fillElement=A):L&&(d.fill.substr(0,6)===\"tonext\"&&X&&g?(d.fill===\"tonext\"?(c(L).attr(\"d\",X+\"Z\"+g+\"Z\").call(zf.singleFillStyle,e),ke=Re(),d._polygons=ke.concat(P)):(c(L).attr(\"d\",X+\"L\"+g.substr(1)+\"Z\").call(zf.singleFillStyle,e),ke=ce(F),d._polygons=ke),d._fillElement=L):me(L)),d._prevRevpath=G):(A?me(A):L&&me(L),d._prevRevpath=null),d._ownPolygons=ke;function Ge(Yt){return Yt.filter(function(xr){return!xr.gap&&xr.vis})}function nt(Yt){return Yt.filter(function(xr){return xr.vis})}function ct(Yt){return Yt.filter(function(xr){return!xr.gap})}function qt(Yt){return Yt.id}function rt(Yt){if(Yt.ids)return qt}function ot(){return!1}function Rt(Yt,xr,er){var Ke,xt,bt,Lt=er[0].trace,St=rT.hasMarkers(Lt),Et=rT.hasText(Lt),dt=rt(Lt),Ht=ot,$t=ot;if(St||Et){var fr=gve,_r=Lt.stackgroup,Br=_r&&e._fullLayout._scatterStackOpts[f._id+h._id][_r].stackgaps===\"infer zero\";Lt.marker.maxdisplayed||Lt._needsCull?fr=Br?nt:Ge:_r&&!Br&&(fr=ct),St&&(Ht=fr),Et&&($t=fr)}xt=Yt.selectAll(\"path.point\"),Ke=xt.data(Ht,dt);var Or=Ke.enter().append(\"path\").classed(\"point\",!0);u&&Or.call(zf.pointStyle,Lt,e).call(zf.translatePoints,f,h).style(\"opacity\",0).transition().style(\"opacity\",1),Ke.order();var Nr;St&&(Nr=zf.makePointStyleFns(Lt)),Ke.each(function(ut){var Ne=Dg.select(this),Ye=c(Ne);bt=zf.translatePoint(ut,Ye,f,h),bt?(zf.singlePointStyle(ut,Ye,Lt,Nr,e),r.layerClipId&&zf.hideOutsideRangePoint(ut,Ye,f,h,Lt.xcalendar,Lt.ycalendar),Lt.customdata&&Ne.classed(\"plotly-customdata\",ut.data!==null&&ut.data!==void 0)):Ye.remove()}),u?Ke.exit().transition().style(\"opacity\",0).remove():Ke.exit().remove(),xt=xr.selectAll(\"g\"),Ke=xt.data($t,dt),Ke.enter().append(\"g\").classed(\"textpoint\",!0).append(\"text\"),Ke.order(),Ke.each(function(ut){var Ne=Dg.select(this),Ye=c(Ne.select(\"text\"));bt=zf.translatePoint(ut,Ye,f,h),bt?r.layerClipId&&zf.hideOutsideRangePoint(ut,Ne,f,h,Lt.xcalendar,Lt.ycalendar):Ne.remove()}),Ke.selectAll(\"text\").call(zf.textPointStyle,Lt,e).each(function(ut){var Ne=f.c2p(ut.x),Ye=h.c2p(ut.y);Dg.select(this).selectAll(\"tspan.line\").each(function(){c(Dg.select(this)).attr({x:Ne,y:Ye})})}),Ke.exit().remove()}E.datum(n),k.datum(n),Rt(E,k,n);var kt=d.cliponaxis===!1,Ct=kt?null:r.layerClipId;zf.setClipUrl(E,Ct,e),zf.setClipUrl(k,Ct,e)}function dvt(e,t,r,n,i){var a=r.xaxis,o=r.yaxis,s=Dg.extent(ZM.simpleMap(a.range,a.r2c)),l=Dg.extent(ZM.simpleMap(o.range,o.r2c)),u=n[0].trace;if(rT.hasMarkers(u)){var c=u.marker.maxdisplayed;if(c!==0){var f=n.filter(function(x){return x.x>=s[0]&&x.x<=s[1]&&x.y>=l[0]&&x.y<=l[1]}),h=Math.ceil(f.length/c),d=0;i.forEach(function(x,b){var p=x[0].trace;rT.hasMarkers(p)&&p.marker.maxdisplayed>0&&b<t&&d++});var v=Math.round(d*h/3+Math.floor(d/3)*h/7.1);n.forEach(function(x){delete x.vis}),f.forEach(function(x,b){Math.round((b+v)%h)===0&&(x.vis=!0)})}}}});var Kd=ye((Bnr,yve)=>{\"use strict\";yve.exports={container:\"marker\",min:\"cmin\",max:\"cmax\"}});var $P=ye((Nnr,_ve)=>{\"use strict\";var JP=Qa();_ve.exports=function(t,r,n){var i={},a={_fullLayout:n},o=JP.getFromTrace(a,r,\"x\"),s=JP.getFromTrace(a,r,\"y\"),l=t.orig_x;l===void 0&&(l=t.x);var u=t.orig_y;return u===void 0&&(u=t.y),i.xLabel=JP.tickText(o,o.c2l(l),!0).text,i.yLabel=JP.tickText(s,s.c2l(u),!0).text,i}});var op=ye((Unr,xve)=>{\"use strict\";var dU=xa(),nT=ao(),vvt=ba();function pvt(e){var t=dU.select(e).selectAll(\"g.trace.scatter\");t.style(\"opacity\",function(r){return r[0].trace.opacity}),t.selectAll(\"g.points\").each(function(r){var n=dU.select(this),i=r.trace||r[0].trace;vU(n,i,e)}),t.selectAll(\"g.text\").each(function(r){var n=dU.select(this),i=r.trace||r[0].trace;pU(n,i,e)}),t.selectAll(\"g.trace path.js-line\").call(nT.lineGroupStyle),t.selectAll(\"g.trace path.js-fill\").call(nT.fillGroupStyle,e,!1),vvt.getComponentMethod(\"errorbars\",\"style\")(t)}function vU(e,t,r){nT.pointStyle(e.selectAll(\"path.point\"),t,r)}function pU(e,t,r){nT.textPointStyle(e.selectAll(\"text\"),t,r)}function gvt(e,t,r){var n=t[0].trace;n.selectedpoints?(nT.selectedPointStyle(r.selectAll(\"path.point\"),n),nT.selectedTextStyle(r.selectAll(\"text\"),n)):(vU(r,n,e),pU(r,n,e))}xve.exports={style:pvt,stylePoints:vU,styleText:pU,styleOnSelect:gvt}});var oT=ye((Vnr,bve)=>{\"use strict\";var aT=va(),mvt=lu();bve.exports=function(t,r){var n,i;if(t.mode===\"lines\")return n=t.line.color,n&&aT.opacity(n)?n:t.fillcolor;if(t.mode===\"none\")return t.fill?t.fillcolor:\"\";var a=r.mcc||(t.marker||{}).color,o=r.mlcc||((t.marker||{}).line||{}).color;return i=a&&aT.opacity(a)?a:o&&aT.opacity(o)&&(r.mlw||((t.marker||{}).line||{}).width)?o:\"\",i?aT.opacity(i)<.3?aT.addOpacity(i,.3):i:(n=(t.line||{}).color,n&&aT.opacity(n)&&mvt.hasLines(t)&&t.line.width?n:t.fillcolor)}});var sT=ye((Hnr,Tve)=>{\"use strict\";var QP=Mr(),wve=Nc(),yvt=ba(),_vt=oT(),gU=va(),xvt=QP.fillText;Tve.exports=function(t,r,n,i){var a=t.cd,o=a[0].trace,s=t.xa,l=t.ya,u=s.c2p(r),c=l.c2p(n),f=[u,c],h=o.hoveron||\"\",d=o.mode.indexOf(\"markers\")!==-1?3:.5,v=!!o.xperiodalignment,x=!!o.yperiodalignment;if(h.indexOf(\"points\")!==-1){var b=function(G){if(v){var N=s.c2p(G.xStart),W=s.c2p(G.xEnd);return u>=Math.min(N,W)&&u<=Math.max(N,W)?0:1/0}var re=Math.max(3,G.mrc||0),ae=1-1/re,_e=Math.abs(s.c2p(G.x)-u);return _e<re?ae*_e/re:_e-re+ae},p=function(G){if(x){var N=l.c2p(G.yStart),W=l.c2p(G.yEnd);return c>=Math.min(N,W)&&c<=Math.max(N,W)?0:1/0}var re=Math.max(3,G.mrc||0),ae=1-1/re,_e=Math.abs(l.c2p(G.y)-c);return _e<re?ae*_e/re:_e-re+ae},E=function(G){var N=Math.max(d,G.mrc||0),W=s.c2p(G.x)-u,re=l.c2p(G.y)-c;return Math.max(Math.sqrt(W*W+re*re)-N,1-d/N)},k=wve.getDistanceFunction(i,b,p,E);if(wve.getClosest(a,k,t),t.index!==!1){var A=a[t.index],L=s.c2p(A.x,!0),_=l.c2p(A.y,!0),C=A.mrc||1;t.index=A.i;var M=a[0].t.orientation,g=M&&(A.sNorm||A.s),P=M===\"h\"?g:A.orig_x!==void 0?A.orig_x:A.x,T=M===\"v\"?g:A.orig_y!==void 0?A.orig_y:A.y;return QP.extendFlat(t,{color:_vt(o,A),x0:L-C,x1:L+C,xLabelVal:P,y0:_-C,y1:_+C,yLabelVal:T,spikeDistance:E(A),hovertemplate:o.hovertemplate}),xvt(A,o,t),yvt.getComponentMethod(\"errorbars\",\"hoverInfo\")(A,o,t),[t]}}function F(G){if(!G)return!1;var N=G.node();try{var W=new DOMPoint(f[0],f[1]);return N.isPointInFill(W)}catch(ae){var re=N.ownerSVGElement.createSVGPoint();return re.x=f[0],re.y=f[1],N.isPointInFill(re)}}function q(G){var N,W=[],re=1/0,ae=-1/0,_e=1/0,Me=-1/0,ke;for(N=0;N<G.length;N++){var ge=G[N];ge.contains(f)&&(W.push(ge),_e=Math.min(_e,ge.ymin),Me=Math.max(Me,ge.ymax))}if(W.length===0)return null;_e=Math.max(_e,0),Me=Math.min(Me,l._length),ke=(_e+Me)/2;var ie,Te,Ee,Ae,ze,Ce,me;for(N=0;N<W.length;N++)for(Te=W[N].pts,ie=1;ie<Te.length;ie++)Ce=Te[ie-1][1],me=Te[ie][1],Ce>ke!=me>=ke&&(Ae=Te[ie-1][0],ze=Te[ie][0],me-Ce&&(Ee=Ae+(ze-Ae)*(ke-Ce)/(me-Ce),re=Math.min(re,Ee),ae=Math.max(ae,Ee)));return re=Math.max(re,0),ae=Math.min(ae,s._length),{x0:re,x1:ae,y0:ke,y1:ke}}if(h.indexOf(\"fills\")!==-1&&o._fillElement){var V=F(o._fillElement)&&!F(o._fillExclusionElement);if(V){var H=q(o._polygons);H===null&&(H={x0:f[0],x1:f[0],y0:f[1],y1:f[1]});var X=gU.defaultLine;return gU.opacity(o.fillcolor)?X=o.fillcolor:gU.opacity((o.line||{}).color)&&(X=o.line.color),QP.extendFlat(t,{distance:t.maxHoverDistance,x0:H.x0,x1:H.x1,y0:H.y0,y1:H.y1,color:X,hovertemplate:!1}),delete t.index,o.text&&!QP.isArrayOrTypedArray(o.text)?t.text=String(o.text):t.text=o.name,[t]}}}});var lT=ye((Gnr,Sve)=>{\"use strict\";var Ave=lu();Sve.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l,u,c,f,h=!Ave.hasMarkers(s)&&!Ave.hasText(s);if(h)return[];if(r===!1)for(l=0;l<n.length;l++)n[l].selected=0;else for(l=0;l<n.length;l++)u=n[l],c=i.c2p(u.x),f=a.c2p(u.y),u.i!==null&&r.contains([c,f],!1,l,t)?(o.push({pointNumber:u.i,x:i.c2d(u.x),y:a.c2d(u.y)}),u.selected=1):u.selected=0;return o}});var Eve=ye((jnr,Mve)=>{\"use strict\";Mve.exports={xaxis:{valType:\"subplotid\",dflt:\"x\",editType:\"calc+clearAxisTypes\"},yaxis:{valType:\"subplotid\",dflt:\"y\",editType:\"calc+clearAxisTypes\"}}});var yU=ye((Wnr,Lve)=>{\"use strict\";var XM=ba().traceIs,mU=L3();Lve.exports=function(t,r,n,i){n(\"autotypenumbers\",i.autotypenumbersDflt);var a=n(\"type\",(i.splomStash||{}).type);a===\"-\"&&(bvt(r,i.data),r.type===\"-\"?r.type=\"linear\":t.type=r.type)};function bvt(e,t){if(e.type===\"-\"){var r=e._id,n=r.charAt(0),i;r.indexOf(\"scene\")!==-1&&(r=n);var a=wvt(t,r,n);if(a){if(a.type===\"histogram\"&&n==={v:\"y\",h:\"x\"}[a.orientation||\"v\"]){e.type=\"linear\";return}var o=n+\"calendar\",s=a[o],l={noMultiCategory:!XM(a,\"cartesian\")||XM(a,\"noMultiCategory\")};if(a.type===\"box\"&&a._hasPreCompStats&&n==={h:\"x\",v:\"y\"}[a.orientation||\"v\"]&&(l.noMultiCategory=!0),l.autotypenumbers=e.autotypenumbers,Cve(a,n)){var u=kve(a),c=[];for(i=0;i<t.length;i++){var f=t[i];!XM(f,\"box-violin\")||(f[n+\"axis\"]||n)!==r||(f[u]!==void 0?c.push(f[u][0]):f.name!==void 0?c.push(f.name):c.push(\"text\"),f[o]!==s&&(s=void 0))}e.type=mU(c,s,l)}else if(a.type===\"splom\"){var h=a.dimensions,d=h[a._axesDim[r]];d.visible&&(e.type=mU(d.values,s,l))}else e.type=mU(a[n]||[a[n+\"0\"]],s,l)}}}function wvt(e,t,r){for(var n=0;n<e.length;n++){var i=e[n];if(i.type===\"splom\"&&i._length>0&&(i[\"_\"+r+\"axes\"]||{})[t])return i;if((i[r+\"axis\"]||r)===t){if(Cve(i,r))return i;if((i[r]||[]).length||i[r+\"0\"])return i}}}function kve(e){return{v:\"x\",h:\"y\"}[e.orientation||\"v\"]}function Cve(e,t){var r=kve(e),n=XM(e,\"box-violin\"),i=XM(e._fullInput||{},\"candlestick\");return n&&!i&&t===r&&e[r]===void 0&&e[r+\"0\"]===void 0}});var eI=ye((Znr,Pve)=>{\"use strict\";var Tvt=vv().isTypedArraySpec;function Avt(e,t){var r=t.dataAttr||e._id.charAt(0),n={},i,a,o;if(t.axData)i=t.axData;else for(i=[],a=0;a<t.data.length;a++){var s=t.data[a];s[r+\"axis\"]===e._id&&i.push(s)}for(a=0;a<i.length;a++){var l=i[a][r];for(o=0;o<l.length;o++){var u=l[o];u!=null&&(n[u]=1)}}return Object.keys(n)}Pve.exports=function(t,r,n,i){if(r.type===\"category\"){var a=t.categoryarray,o=Array.isArray(a)&&a.length>0||Tvt(a),s;o&&(s=\"array\");var l=n(\"categoryorder\",s),u;l===\"array\"&&(u=n(\"categoryarray\")),!o&&l===\"array\"&&(l=r.categoryorder=\"trace\"),l===\"trace\"?r._initialCategories=[]:l===\"array\"?r._initialCategories=u.slice():(u=Avt(r,i).sort(),l===\"category ascending\"?r._initialCategories=u:l===\"category descending\"&&(r._initialCategories=u.reverse()))}}});var YM=ye((Xnr,Rve)=>{\"use strict\";var Ive=id().mix,Svt=dh(),Mvt=Mr();Rve.exports=function(t,r,n,i){i=i||{};var a=i.dfltColor;function o(C,M){return Mvt.coerce2(t,r,i.attributes,C,M)}var s=o(\"linecolor\",a),l=o(\"linewidth\"),u=n(\"showline\",i.showLine||!!s||!!l);u||(delete r.linecolor,delete r.linewidth);var c=Ive(a,i.bgColor,i.blend||Svt.lightFraction).toRgbString(),f=o(\"gridcolor\",c),h=o(\"gridwidth\"),d=o(\"griddash\"),v=n(\"showgrid\",i.showGrid||!!f||!!h||!!d);if(v||(delete r.gridcolor,delete r.gridwidth,delete r.griddash),i.hasMinor){var x=Ive(r.gridcolor,i.bgColor,67).toRgbString(),b=o(\"minor.gridcolor\",x),p=o(\"minor.gridwidth\",r.gridwidth||1),E=o(\"minor.griddash\",r.griddash||\"solid\"),k=n(\"minor.showgrid\",!!b||!!p||!!E);k||(delete r.minor.gridcolor,delete r.minor.gridwidth,delete r.minor.griddash)}if(!i.noZeroLine){var A=o(\"zerolinecolor\",a),L=o(\"zerolinewidth\"),_=n(\"zeroline\",i.showGrid||!!A||!!L);_||(delete r.zerolinecolor,delete r.zerolinewidth)}}});var JM=ye((Ynr,Bve)=>{\"use strict\";var Dve=uo(),Evt=ba(),KM=Mr(),kvt=Vs(),Cvt=Zd(),_U=Cd(),zve=xb(),Fve=T3(),Lvt=t_(),Pvt=r_(),Ivt=eI(),Rvt=YM(),Dvt=dB(),qve=ym(),tI=ad().WEEKDAY_PATTERN,zvt=ad().HOUR_PATTERN;Bve.exports=function(t,r,n,i,a){var o=i.letter,s=i.font||{},l=i.splomStash||{},u=n(\"visible\",!i.visibleDflt),c=r._template||{},f=r.type||c.type||\"-\",h;if(f===\"date\"){var d=Evt.getComponentMethod(\"calendars\",\"handleDefaults\");d(t,r,\"calendar\",i.calendar),i.noTicklabelmode||(h=n(\"ticklabelmode\"))}!i.noTicklabelindex&&(f===\"date\"||f===\"linear\")&&n(\"ticklabelindex\");var v=\"\";(!i.noTicklabelposition||f===\"multicategory\")&&(v=KM.coerce(t,r,{ticklabelposition:{valType:\"enumerated\",dflt:\"outside\",values:h===\"period\"?[\"outside\",\"inside\"]:o===\"x\"?[\"outside\",\"inside\",\"outside left\",\"inside left\",\"outside right\",\"inside right\"]:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside bottom\",\"inside bottom\"]}},\"ticklabelposition\")),i.noTicklabeloverflow||n(\"ticklabeloverflow\",v.indexOf(\"inside\")!==-1?\"hide past domain\":f===\"category\"||f===\"multicategory\"?\"allow\":\"hide past div\"),qve(r,a),Dvt(t,r,n,i),Ivt(t,r,n,i),f!==\"category\"&&!i.noHover&&n(\"hoverformat\");var x=n(\"color\"),b=x!==_U.color.dflt?x:s.color,p=l.label||a._dfltTitle[o];if(Pvt(t,r,n,f,i),!u)return r;n(\"title.text\",p),KM.coerceFont(n,\"title.font\",s,{overrideDflt:{size:KM.bigFont(s.size),color:b}}),zve(t,r,n,f);var E=i.hasMinor;if(E&&(kvt.newContainer(r,\"minor\"),zve(t,r,n,f,{isMinor:!0})),Lvt(t,r,n,f,i),Fve(t,r,n,i),E){var k=i.isMinor;i.isMinor=!0,Fve(t,r,n,i),i.isMinor=k}Rvt(t,r,n,{dfltColor:x,bgColor:i.bgColor,showGrid:i.showGrid,hasMinor:E,attributes:_U}),E&&!r.minor.ticks&&!r.minor.showgrid&&delete r.minor,(r.showline||r.ticks)&&n(\"mirror\");var A=f===\"multicategory\";if(!i.noTickson&&(f===\"category\"||A)&&(r.ticks||r.showgrid)){var L;A&&(L=\"boundaries\");var _=n(\"tickson\",L);_===\"boundaries\"&&delete r.ticklabelposition}if(A){var C=n(\"showdividers\");C&&(n(\"dividercolor\"),n(\"dividerwidth\"))}if(f===\"date\")if(Cvt(t,r,{name:\"rangebreaks\",inclusionAttr:\"enabled\",handleItemDefaults:Fvt}),!r.rangebreaks.length)delete r.rangebreaks;else{for(var M=0;M<r.rangebreaks.length;M++)if(r.rangebreaks[M].pattern===tI){r._hasDayOfWeekBreaks=!0;break}if(qve(r,a),a._has(\"scattergl\")||a._has(\"splom\"))for(var g=0;g<i.data.length;g++){var P=i.data[g];(P.type===\"scattergl\"||P.type===\"splom\")&&(P.visible=!1,KM.warn(P.type+\" traces do not work on axes with rangebreaks. Setting trace \"+P.index+\" to `visible: false`.\"))}}return r};function Fvt(e,t,r){function n(h,d){return KM.coerce(e,t,_U.rangebreaks,h,d)}var i=n(\"enabled\");if(i){var a=n(\"bounds\");if(a&&a.length>=2){var o=\"\",s,l;if(a.length===2){for(s=0;s<2;s++)if(l=Ove(a[s]),l){o=tI;break}}var u=n(\"pattern\",o);if(u===tI)for(s=0;s<2;s++)l=Ove(a[s]),l&&(t.bounds[s]=a[s]=l-1);if(u)for(s=0;s<2;s++)switch(l=a[s],u){case tI:if(!Dve(l)){t.enabled=!1;return}if(l=+l,l!==Math.floor(l)||l<0||l>=7){t.enabled=!1;return}t.bounds[s]=a[s]=l;break;case zvt:if(!Dve(l)){t.enabled=!1;return}if(l=+l,l<0||l>24){t.enabled=!1;return}t.bounds[s]=a[s]=l;break}if(r.autorange===!1){var c=r.range;if(c[0]<c[1]){if(a[0]<c[0]&&a[1]>c[1]){t.enabled=!1;return}}else if(a[0]>c[0]&&a[1]<c[1]){t.enabled=!1;return}}}else{var f=n(\"values\");if(f&&f.length)n(\"dvalue\");else{t.enabled=!1;return}}}}var qvt={sun:1,mon:2,tue:3,wed:4,thu:5,fri:6,sat:7};function Ove(e){if(typeof e==\"string\")return qvt[e.substr(0,3).toLowerCase()]}});var iI=ye((Knr,Nve)=>{\"use strict\";var Ovt=uo(),rI=Mr();Nve.exports=function(t,r,n,i){var a=i.counterAxes||[],o=i.overlayableAxes||[],s=i.letter,l=i.grid,u=i.overlayingDomain,c,f,h,d,v,x;l&&(f=l._domains[s][l._axisMap[r._id]],c=l._anchors[r._id],f&&(h=l[s+\"side\"].split(\" \")[0],d=l.domain[s][h===\"right\"||h===\"top\"?1:0])),f=f||[0,1],c=c||(Ovt(t.position)?\"free\":a[0]||\"free\"),h=h||(s===\"x\"?\"bottom\":\"left\"),d=d||0,v=0,x=!1;var b=rI.coerce(t,r,{anchor:{valType:\"enumerated\",values:[\"free\"].concat(a),dflt:c}},\"anchor\"),p=rI.coerce(t,r,{side:{valType:\"enumerated\",values:s===\"x\"?[\"bottom\",\"top\"]:[\"left\",\"right\"],dflt:h}},\"side\");if(b===\"free\"){if(s===\"y\"){var E=n(\"autoshift\");E&&(d=p===\"left\"?u[0]:u[1],x=r.automargin?r.automargin:!0,v=p===\"left\"?-3:3),n(\"shift\",v)}n(\"position\",d)}n(\"automargin\",x);var k=!1;if(o.length&&(k=rI.coerce(t,r,{overlaying:{valType:\"enumerated\",values:[!1].concat(o),dflt:!1}},\"overlaying\")),!k){var A=n(\"domain\",f);A[0]>A[1]-1/4096&&(r.domain=f),rI.noneOrAll(t.domain,r.domain,f),r.tickmode===\"sync\"&&(r.tickmode=\"auto\")}return n(\"layer\"),r}});var Yve=ye((Jnr,Xve)=>{\"use strict\";var jb=Mr(),Uve=va(),Bvt=rp().isUnifiedHover,Nvt=OB(),Vve=Vs(),Uvt=s3(),Hve=Cd(),Vvt=yU(),Gve=JM(),Hvt=Bb(),jve=iI(),bU=af(),Cm=bU.id2name,Wve=bU.name2id,Gvt=ad().AX_ID_PATTERN,Zve=ba(),nI=Zve.traceIs,xU=Zve.getComponentMethod;function aI(e,t,r){Array.isArray(e[t])?e[t].push(r):e[t]=[r]}Xve.exports=function(t,r,n){var i=r.autotypenumbers,a={},o={},s={},l={},u={},c={},f={},h={},d={},v={},x,b;for(x=0;x<n.length;x++){var p=n[x];if(nI(p,\"cartesian\")){var E;if(p.xaxis)E=Cm(p.xaxis),aI(a,E,p);else if(p.xaxes)for(b=0;b<p.xaxes.length;b++)aI(a,Cm(p.xaxes[b]),p);var k;if(p.yaxis)k=Cm(p.yaxis),aI(a,k,p);else if(p.yaxes)for(b=0;b<p.yaxes.length;b++)aI(a,Cm(p.yaxes[b]),p);if(p.type===\"funnel\"?p.orientation===\"h\"?(E&&(o[E]=!0),k&&(f[k]=!0)):k&&(s[k]=!0):p.type===\"image\"?(k&&(h[k]=!0),E&&(h[E]=!0)):(k&&(u[k]=!0,c[k]=!0),(!nI(p,\"carpet\")||p.type===\"carpet\"&&!p._cheater)&&E&&(l[E]=!0)),p.type===\"carpet\"&&p._cheater&&E&&(o[E]=!0),nI(p,\"2dMap\")&&(d[E]=!0,d[k]=!0),nI(p,\"oriented\")){var A=p.orientation===\"h\"?k:E;v[A]=!0}}}var L=r._subplots,_=L.xaxis,C=L.yaxis,M=jb.simpleMap(_,Cm),g=jb.simpleMap(C,Cm),P=M.concat(g),T=Uve.background;_.length&&C.length&&(T=jb.coerce(t,r,Uvt,\"plot_bgcolor\"));var F=Uve.combine(T,r.paper_bgcolor),q,V,H,X,G;function N(){var xt=a[q]||[];G._traceIndices=xt.map(function(bt){return bt.index}),G._annIndices=[],G._shapeIndices=[],G._selectionIndices=[],G._imgIndices=[],G._subplotsWith=[],G._counterAxes=[],G._name=G._attr=q,G._id=V}function W(xt,bt){return jb.coerce(X,G,Hve,xt,bt)}function re(xt,bt){return jb.coerce2(X,G,Hve,xt,bt)}function ae(xt){return xt===\"x\"?C:_}function _e(xt,bt){for(var Lt=xt===\"x\"?M:g,St=[],Et=0;Et<Lt.length;Et++){var dt=Lt[Et];dt!==bt&&!(t[dt]||{}).overlaying&&St.push(Wve(dt))}return St}var Me={x:ae(\"x\"),y:ae(\"y\")},ke=Me.x.concat(Me.y),ge={},ie=[];function Te(){var xt=X.matches;Gvt.test(xt)&&ke.indexOf(xt)===-1&&(ge[xt]=X.type,ie=Object.keys(ge))}var Ee=Nvt(t,r),Ae=Bvt(Ee);for(x=0;x<P.length;x++){q=P[x],V=Wve(q),H=q.charAt(0),jb.isPlainObject(t[q])||(t[q]={}),X=t[q],G=Vve.newContainer(r,q,H+\"axis\"),N();var ze=H===\"x\"&&!l[q]&&o[q]||H===\"y\"&&!u[q]&&s[q],Ce=H===\"y\"&&(!c[q]&&f[q]||h[q]),me={hasMinor:!0,letter:H,font:r.font,outerTicks:d[q],showGrid:!v[q],data:a[q]||[],bgColor:F,calendar:r.calendar,automargin:!0,visibleDflt:ze,reverseDflt:Ce,autotypenumbersDflt:i,splomStash:((r._splomAxes||{})[H]||{})[V],noAutotickangles:H===\"y\"};W(\"uirevision\",r.uirevision),Vvt(X,G,W,me),Gve(X,G,W,me,r);var Re=Ae&&H===Ee.charAt(0),ce=re(\"spikecolor\",Ae?G.color:void 0),Ge=re(\"spikethickness\",Ae?1.5:void 0),nt=re(\"spikedash\",Ae?\"dot\":void 0),ct=re(\"spikemode\",Ae?\"across\":void 0),qt=re(\"spikesnap\"),rt=W(\"showspikes\",!!Re||!!ce||!!Ge||!!nt||!!ct||!!qt);rt||(delete G.spikecolor,delete G.spikethickness,delete G.spikedash,delete G.spikemode,delete G.spikesnap);var ot=Cm(X.overlaying),Rt=[0,1];if(r[ot]!==void 0){var kt=Cm(r[ot].anchor);r[kt]!==void 0&&(Rt=r[kt].domain)}jve(X,G,W,{letter:H,counterAxes:Me[H],overlayableAxes:_e(H,q),grid:r.grid,overlayingDomain:Rt}),W(\"title.standoff\"),Te(),G._input=X}for(x=0;x<ie.length;){V=ie[x++],q=Cm(V),H=q.charAt(0),jb.isPlainObject(t[q])||(t[q]={}),X=t[q],G=Vve.newContainer(r,q,H+\"axis\"),N();var Ct={letter:H,font:r.font,outerTicks:d[q],showGrid:!v[q],data:[],bgColor:F,calendar:r.calendar,automargin:!0,visibleDflt:!1,reverseDflt:!1,autotypenumbersDflt:i,splomStash:((r._splomAxes||{})[H]||{})[V]};W(\"uirevision\",r.uirevision),G.type=ge[V]||\"linear\",Gve(X,G,W,Ct,r),jve(X,G,W,{letter:H,counterAxes:Me[H],overlayableAxes:_e(H,q),grid:r.grid}),W(\"fixedrange\"),Te(),G._input=X}var Yt=xU(\"rangeslider\",\"handleDefaults\"),xr=xU(\"rangeselector\",\"handleDefaults\");for(x=0;x<M.length;x++)q=M[x],X=t[q],G=r[q],Yt(t,r,q),G.type===\"date\"&&xr(X,G,r,g,G.calendar),W(\"fixedrange\");for(x=0;x<g.length;x++){q=g[x],X=t[q],G=r[q];var er=r[Cm(G.anchor)],Ke=xU(\"rangeslider\",\"isVisible\")(er);W(\"fixedrange\",Ke)}Hvt.handleDefaults(t,r,{axIds:ke.concat(ie).sort(bU.idSort),axHasImage:h})}});var $ve=ye(($nr,Jve)=>{\"use strict\";var jvt=xa(),Kve=ba(),oI=Mr(),Qp=ao(),sI=Qa();Jve.exports=function(t,r,n,i){var a=t._fullLayout;if(r.length===0){sI.redrawComponents(t);return}function o(b){var p=b.xaxis,E=b.yaxis;a._defs.select(\"#\"+b.clipId+\"> rect\").call(Qp.setTranslate,0,0).call(Qp.setScale,1,1),b.plot.call(Qp.setTranslate,p._offset,E._offset).call(Qp.setScale,1,1);var k=b.plot.selectAll(\".scatterlayer .trace\");k.selectAll(\".point\").call(Qp.setPointGroupScale,1,1),k.selectAll(\".textpoint\").call(Qp.setTextPointsScale,1,1),k.call(Qp.hideOutsideRangePoints,b)}function s(b,p){var E=b.plotinfo,k=E.xaxis,A=E.yaxis,L=k._length,_=A._length,C=!!b.xr1,M=!!b.yr1,g=[];if(C){var P=oI.simpleMap(b.xr0,k.r2l),T=oI.simpleMap(b.xr1,k.r2l),F=P[1]-P[0],q=T[1]-T[0];g[0]=(P[0]*(1-p)+p*T[0]-P[0])/(P[1]-P[0])*L,g[2]=L*(1-p+p*q/F),k.range[0]=k.l2r(P[0]*(1-p)+p*T[0]),k.range[1]=k.l2r(P[1]*(1-p)+p*T[1])}else g[0]=0,g[2]=L;if(M){var V=oI.simpleMap(b.yr0,A.r2l),H=oI.simpleMap(b.yr1,A.r2l),X=V[1]-V[0],G=H[1]-H[0];g[1]=(V[1]*(1-p)+p*H[1]-V[1])/(V[0]-V[1])*_,g[3]=_*(1-p+p*G/X),A.range[0]=k.l2r(V[0]*(1-p)+p*H[0]),A.range[1]=A.l2r(V[1]*(1-p)+p*H[1])}else g[1]=0,g[3]=_;sI.drawOne(t,k,{skipTitle:!0}),sI.drawOne(t,A,{skipTitle:!0}),sI.redrawComponents(t,[k._id,A._id]);var N=C?L/g[2]:1,W=M?_/g[3]:1,re=C?g[0]:0,ae=M?g[1]:0,_e=C?g[0]/g[2]*L:0,Me=M?g[1]/g[3]*_:0,ke=k._offset-_e,ge=A._offset-Me;E.clipRect.call(Qp.setTranslate,re,ae).call(Qp.setScale,1/N,1/W),E.plot.call(Qp.setTranslate,ke,ge).call(Qp.setScale,N,W),Qp.setPointGroupScale(E.zoomScalePts,1/N,1/W),Qp.setTextPointsScale(E.zoomScaleTxt,1/N,1/W)}var l;i&&(l=i());function u(){for(var b={},p=0;p<r.length;p++){var E=r[p],k=E.plotinfo.xaxis,A=E.plotinfo.yaxis;E.xr1&&(b[k._name+\".range\"]=E.xr1.slice()),E.yr1&&(b[A._name+\".range\"]=E.yr1.slice())}return l&&l(),Kve.call(\"relayout\",t,b).then(function(){for(var L=0;L<r.length;L++)o(r[L].plotinfo)})}function c(){for(var b={},p=0;p<r.length;p++){var E=r[p],k=E.plotinfo.xaxis,A=E.plotinfo.yaxis;E.xr0&&(b[k._name+\".range\"]=E.xr0.slice()),E.yr0&&(b[A._name+\".range\"]=E.yr0.slice())}return Kve.call(\"relayout\",t,b).then(function(){for(var L=0;L<r.length;L++)o(r[L].plotinfo)})}var f,h,d,v=jvt.ease(n.easing);t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(d),d=null,c()});function x(){h=Date.now();for(var b=Math.min(1,(h-f)/n.duration),p=v(b),E=0;E<r.length;E++)s(r[E],p);h-f>n.duration?(u(),d=window.cancelAnimationFrame(x)):d=window.requestAnimationFrame(x)}return f=Date.now(),d=window.requestAnimationFrame(x),Promise.resolve()}});var Jf=ye(yv=>{\"use strict\";var uI=xa(),Qve=ba(),Wb=Mr(),Wvt=Xu(),Zvt=ao(),epe=kd().getModuleCalcData,m_=af(),zg=ad(),Xvt=Zp(),ql=Wb.ensureSingle;function lI(e,t,r){return Wb.ensureSingle(e,t,r,function(n){n.datum(r)})}var Zb=zg.zindexSeparator;yv.name=\"cartesian\";yv.attr=[\"xaxis\",\"yaxis\"];yv.idRoot=[\"x\",\"y\"];yv.idRegex=zg.idRegex;yv.attrRegex=zg.attrRegex;yv.attributes=Eve();yv.layoutAttributes=Cd();yv.supplyLayoutDefaults=Yve();yv.transitionAxes=$ve();yv.finalizeSubplots=function(e,t){var r=t._subplots,n=r.xaxis,i=r.yaxis,a=r.cartesian,o=a,s={},l={},u,c,f;for(u=0;u<o.length;u++){var h=o[u].split(\"y\");s[h[0]]=1,l[\"y\"+h[1]]=1}for(u=0;u<n.length;u++)c=n[u],s[c]||(f=(e[m_.id2name(c)]||{}).anchor,zg.idRegex.y.test(f)||(f=\"y\"),a.push(c+f),o.push(c+f),l[f]||(l[f]=1,Wb.pushUnique(i,f)));for(u=0;u<i.length;u++)f=i[u],l[f]||(c=(e[m_.id2name(f)]||{}).anchor,zg.idRegex.x.test(c)||(c=\"x\"),a.push(c+f),o.push(c+f),s[c]||(s[c]=1,Wb.pushUnique(n,c)));if(!o.length){c=\"\",f=\"\";for(var d in e)if(zg.attrRegex.test(d)){var v=d.charAt(0);v===\"x\"?(!c||+d.substr(5)<+c.substr(5))&&(c=d):(!f||+d.substr(5)<+f.substr(5))&&(f=d)}c=c?m_.name2id(c):\"x\",f=f?m_.name2id(f):\"y\",n.push(c),i.push(f),a.push(c+f)}};yv.plot=function(e,t,r,n){var i=e._fullLayout,a=i._subplots.cartesian,o=e.calcdata,s;if(!Array.isArray(t))for(t=[],s=0;s<o.length;s++)t.push(s);for(var l=i._zindices,u=0;u<l.length;u++){var c=l[u];for(s=0;s<a.length;s++){var f=a[s],h=i._plots[f];if(u>0){var d=h.id;if(d.indexOf(Zb)!==-1)continue;d+=Zb+(u+1),h=Wb.extendFlat({},h,{id:d,plot:i._cartesianlayer.selectAll(\".subplot\").select(\".\"+d)})}for(var v=[],x,b=0;b<o.length;b++){var p=o[b],E=p[0].trace;c===(E.zorder||0)&&E.xaxis+E.yaxis===f&&((t.indexOf(E.index)!==-1||E.carpet)&&(x&&x[0].trace.xaxis+x[0].trace.yaxis===f&&[\"tonextx\",\"tonexty\",\"tonext\"].indexOf(E.fill)!==-1&&v.indexOf(x)===-1&&v.push(x),v.push(p)),x=p)}tpe(e,h,v,r,n)}}};function tpe(e,t,r,n,i){for(var a=zg.traceLayerClasses,o=e._fullLayout,s=o._zindices,l=o._modules,u,c,f,h=[],d=[],v=0;v<s.length;v++)for(var x=s[v],b=0;b<l.length;b++){u=l[b];var p=u.name,E=Qve.modules[p].categories;if(E.svg){var k=u.layerName||p+\"layer\",A=k+(v?Number(v)+1:\"\"),L=u.plot;c=epe(r,L,x),f=c[0],r=c[1],f.length&&h.push({i:a.indexOf(k),zindex:v,className:A,plotMethod:L,cdModule:f}),E.zoomScale&&d.push(\".\"+A)}}h.sort(function(M,g){return(M.zindex||0)-(g.zindex||0)||M.i-g.i});var _=t.plot.selectAll(\"g.mlayer\").data(h,function(M){return M.className});if(_.enter().append(\"g\").attr(\"class\",function(M){return M.className}).classed(\"mlayer\",!0).classed(\"rangeplot\",t.isRangePlot),_.exit().remove(),_.order(),_.each(function(M){var g=uI.select(this),P=M.className;M.plotMethod(e,t,M.cdModule,g,n,i),zg.clipOnAxisFalseQuery.indexOf(\".\"+P)===-1&&Zvt.setClipUrl(g,t.layerClipId,e)}),o._has(\"scattergl\")&&(u=Qve.getModule(\"scattergl\"),f=epe(r,u)[0],u.plot(e,t,f)),!e._context.staticPlot&&(t._hasClipOnAxisFalse&&(t.clipOnAxisFalseTraces=t.plot.selectAll(zg.clipOnAxisFalseQuery.join(\",\")).selectAll(\".trace\")),d.length)){var C=t.plot.selectAll(d.join(\",\")).selectAll(\".trace\");t.zoomScalePts=C.selectAll(\"path.point\"),t.zoomScaleTxt=C.selectAll(\".textpoint\")}}yv.clean=function(e,t,r,n){var i=n._plots||{},a=t._plots||{},o=n._subplots||{},s,l,u;if(n._hasOnlyLargeSploms&&!t._hasOnlyLargeSploms)for(u in i)s=i[u],s.plotgroup&&s.plotgroup.remove();var c=n._has&&n._has(\"gl\"),f=t._has&&t._has(\"gl\");if(c&&!f)for(u in i)s=i[u],s._scene&&s._scene.destroy();if(o.xaxis&&o.yaxis){var h=m_.listIds({_fullLayout:n});for(l=0;l<h.length;l++){var d=h[l];t[m_.id2name(d)]||n._infolayer.selectAll(\".g-\"+d+\"title\").remove()}}var v=n._has&&n._has(\"cartesian\"),x=t._has&&t._has(\"cartesian\");if(v&&!x)ipe(n._cartesianlayer.selectAll(\".subplot\"),n),n._defs.selectAll(\".axesclip\").remove(),delete n._axisConstraintGroups,delete n._axisMatchGroups;else if(o.cartesian)for(l=0;l<o.cartesian.length;l++){var b=o.cartesian[l];if(b.indexOf(Zb)===-1&&!a[b]){var p=\".\"+b+\",.\"+b+\"-x,.\"+b+\"-y\";n._cartesianlayer.selectAll(p).remove(),npe(b,n)}}};yv.drawFramework=function(e){var t=e._fullLayout,r=e.calcdata,n,i={};for(n=0;n<r.length;n++){var a=r[n][0],o=a.trace,s=o.zorder||0;i[s]||(i[s]=[]),i[s].push(a)}var l=Object.keys(i).map(Number).sort(Wb.sorterAsc);l.length||(l=[0]),t._zindices=l;var u=Yvt(e),c=u.length,f=[];for(n=0;n<c;n++)f[n]=u[n].slice();for(var h=1;h<l.length;h++){var d=[];for(n=0;n<c;n++)d[n]=u[n].slice(),d[n][0]+=Zb+(h+1);f=f.concat(d)}var v=t._cartesianlayer.selectAll(\".subplot\").data(f,String);v.enter().append(\"g\").attr(\"class\",function(x){return\"subplot \"+x[0]}),v.order(),v.exit().call(ipe,t),v.each(function(x){var b=x[0],p=b.indexOf(Zb),E=p!==-1,k=E?b.slice(0,p):b,A=t._plots[b];A||(A=Wb.extendFlat({},t._plots[k]),A&&(A.id=b,t._plots[b]=A,t._subplots.cartesian.push(b))),A&&(A.plotgroup=uI.select(this),rpe(e,A),E||(A.draglayer=ql(t._draggers,\"g\",b)))})};yv.rangePlot=function(e,t,r){rpe(e,t),tpe(e,t,r),Wvt.style(e)};function Yvt(e){var t=e._fullLayout,r=t._zindices.length,n=t._subplots.cartesian,i=n.length,a,o,s,l,u,c,f=[],h=[];for(a=0;a<i;a++){s=n[a],l=t._plots[s],u=l.xaxis,c=l.yaxis;var d=u._mainAxis,v=c._mainAxis,x=d._id+v._id,b=t._plots[x];l.overlays=[],x!==s&&b?(l.mainplot=x,l.mainplotinfo=b,h.push(s)):(l.mainplot=void 0,l.mainplotinfo=void 0,f.push(s))}for(a=0;a<h.length;a++)s=h[a],l=t._plots[s],l.mainplotinfo.overlays.push(l);var p=f.concat(h),E=[];for(a=0;a<i;a++){s=p[a],l=t._plots[s],u=l.xaxis,c=l.yaxis;for(var k=[],A=1;A<=r;A++){var L=\"\";for(A>1&&(L+=Zb+A),k.push(s+L),o=0;o<l.overlays.length;o++)k.push(l.overlays[o].id+L)}k=k.concat([u.layer,c.layer,u.overlaying||\"\",c.overlaying||\"\"]),E.push(k)}return E}function rpe(e,t){var r=e._fullLayout,n=t.plotgroup,i=t.id,a=i.indexOf(Zb),o=a!==-1,s=zg.layerValue2layerClass[t.xaxis.layer],l=zg.layerValue2layerClass[t.yaxis.layer],u=r._hasOnlyLargeSploms,c=r._zindices.length>1,f=t.mainplotinfo;if(!t.mainplot||c)if(u)t.xlines=ql(n,\"path\",\"xlines-above\"),t.ylines=ql(n,\"path\",\"ylines-above\"),t.xaxislayer=ql(n,\"g\",\"xaxislayer-above\"),t.yaxislayer=ql(n,\"g\",\"yaxislayer-above\");else{if(!o){var h=ql(n,\"g\",\"layer-subplot\");t.shapelayer=ql(h,\"g\",\"shapelayer\"),t.imagelayer=ql(h,\"g\",\"imagelayer\"),f&&c?(t.minorGridlayer=f.minorGridlayer,t.gridlayer=f.gridlayer,t.zerolinelayer=f.zerolinelayer):(t.minorGridlayer=ql(n,\"g\",\"minor-gridlayer\"),t.gridlayer=ql(n,\"g\",\"gridlayer\"),t.zerolinelayer=ql(n,\"g\",\"zerolinelayer\"));var d=ql(n,\"g\",\"layer-between\");t.shapelayerBetween=ql(d,\"g\",\"shapelayer\"),t.imagelayerBetween=ql(d,\"g\",\"imagelayer\"),ql(n,\"path\",\"xlines-below\"),ql(n,\"path\",\"ylines-below\"),t.overlinesBelow=ql(n,\"g\",\"overlines-below\"),ql(n,\"g\",\"xaxislayer-below\"),ql(n,\"g\",\"yaxislayer-below\"),t.overaxesBelow=ql(n,\"g\",\"overaxes-below\")}t.overplot=ql(n,\"g\",\"overplot\"),t.plot=ql(t.overplot,\"g\",i),o||(t.xlines=ql(n,\"path\",\"xlines-above\"),t.ylines=ql(n,\"path\",\"ylines-above\"),t.overlinesAbove=ql(n,\"g\",\"overlines-above\"),ql(n,\"g\",\"xaxislayer-above\"),ql(n,\"g\",\"yaxislayer-above\"),t.overaxesAbove=ql(n,\"g\",\"overaxes-above\"),t.xlines=n.select(\".xlines-\"+s),t.ylines=n.select(\".ylines-\"+l),t.xaxislayer=n.select(\".xaxislayer-\"+s),t.yaxislayer=n.select(\".yaxislayer-\"+l))}else{var v=f.plotgroup,x=i+\"-x\",b=i+\"-y\";t.minorGridlayer=f.minorGridlayer,t.gridlayer=f.gridlayer,t.zerolinelayer=f.zerolinelayer,ql(f.overlinesBelow,\"path\",x),ql(f.overlinesBelow,\"path\",b),ql(f.overaxesBelow,\"g\",x),ql(f.overaxesBelow,\"g\",b),t.plot=ql(f.overplot,\"g\",i),ql(f.overlinesAbove,\"path\",x),ql(f.overlinesAbove,\"path\",b),ql(f.overaxesAbove,\"g\",x),ql(f.overaxesAbove,\"g\",b),t.xlines=v.select(\".overlines-\"+s).select(\".\"+x),t.ylines=v.select(\".overlines-\"+l).select(\".\"+b),t.xaxislayer=v.select(\".overaxes-\"+s).select(\".\"+x),t.yaxislayer=v.select(\".overaxes-\"+l).select(\".\"+b)}o||(u||(lI(t.minorGridlayer,\"g\",t.xaxis._id),lI(t.minorGridlayer,\"g\",t.yaxis._id),t.minorGridlayer.selectAll(\"g\").map(function(p){return p[0]}).sort(m_.idSort),lI(t.gridlayer,\"g\",t.xaxis._id),lI(t.gridlayer,\"g\",t.yaxis._id),t.gridlayer.selectAll(\"g\").map(function(p){return p[0]}).sort(m_.idSort)),t.xlines.style(\"fill\",\"none\").classed(\"crisp\",!0),t.ylines.style(\"fill\",\"none\").classed(\"crisp\",!0))}function ipe(e,t){if(e){var r={};e.each(function(l){var u=l[0],c=uI.select(this);c.remove(),npe(u,t),r[u]=!0});for(var n in t._plots)for(var i=t._plots[n],a=i.overlays||[],o=0;o<a.length;o++){var s=a[o];r[s.id]&&s.plot.selectAll(\".trace\").remove()}}}function npe(e,t){t._draggers.selectAll(\"g.\"+e).remove(),t._defs.select(\"#clip\"+t._uid+e+\"plot\").remove()}yv.toSVG=function(e){var t=e._fullLayout._glimages,r=uI.select(e).selectAll(\".svg-container\"),n=r.filter(function(a,o){return o===r.size()-1}).selectAll(\".gl-canvas-context, .gl-canvas-focus\");function i(){var a=this,o=a.toDataURL(\"image/png\"),s=t.append(\"svg:image\");s.attr({xmlns:Xvt.svg,\"xlink:href\":o,preserveAspectRatio:\"none\",x:0,y:0,width:a.style.width,height:a.style.height})}n.each(i)};yv.updateFx=zN().updateFx});var ope=ye((ear,ape)=>{\"use strict\";var cI=lu();ape.exports={hasLines:cI.hasLines,hasMarkers:cI.hasMarkers,hasText:cI.hasText,isBubble:cI.isBubble,attributes:Uc(),layoutAttributes:V6(),supplyDefaults:Ide(),crossTraceDefaults:$N(),supplyLayoutDefaults:Fde(),calc:q0().calc,crossTraceCalc:ove(),arraysToCalcdata:km(),plot:iT(),colorbar:Kd(),formatLabels:$P(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:sT(),selectPoints:lT(),animatable:!0,moduleType:\"trace\",name:\"scatter\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\",\"zoomScale\"],meta:{}}});var upe=ye((tar,lpe)=>{\"use strict\";var Kvt=xa(),Jvt=va(),spe=MN(),wU=Mr(),$vt=wU.strScale,Qvt=wU.strRotate,ept=wU.strTranslate;lpe.exports=function(t,r,n){var i=t.node(),a=spe[n.arrowhead||0],o=spe[n.startarrowhead||0],s=(n.arrowwidth||1)*(n.arrowsize||1),l=(n.arrowwidth||1)*(n.startarrowsize||1),u=r.indexOf(\"start\")>=0,c=r.indexOf(\"end\")>=0,f=a.backoff*s+n.standoff,h=o.backoff*l+n.startstandoff,d,v,x,b;if(i.nodeName===\"line\"){d={x:+t.attr(\"x1\"),y:+t.attr(\"y1\")},v={x:+t.attr(\"x2\"),y:+t.attr(\"y2\")};var p=d.x-v.x,E=d.y-v.y;if(x=Math.atan2(E,p),b=x+Math.PI,f&&h&&f+h>Math.sqrt(p*p+E*E)){V();return}if(f){if(f*f>p*p+E*E){V();return}var k=f*Math.cos(x),A=f*Math.sin(x);v.x+=k,v.y+=A,t.attr({x2:v.x,y2:v.y})}if(h){if(h*h>p*p+E*E){V();return}var L=h*Math.cos(x),_=h*Math.sin(x);d.x-=L,d.y-=_,t.attr({x1:d.x,y1:d.y})}}else if(i.nodeName===\"path\"){var C=i.getTotalLength(),M=\"\";if(C<f+h){V();return}var g=i.getPointAtLength(0),P=i.getPointAtLength(.1);x=Math.atan2(g.y-P.y,g.x-P.x),d=i.getPointAtLength(Math.min(h,C)),M=\"0px,\"+h+\"px,\";var T=i.getPointAtLength(C),F=i.getPointAtLength(C-.1);b=Math.atan2(T.y-F.y,T.x-F.x),v=i.getPointAtLength(Math.max(0,C-f));var q=M?h+f:f;M+=C-q+\"px,\"+C+\"px\",t.style(\"stroke-dasharray\",M)}function V(){t.style(\"stroke-dasharray\",\"0px,100px\")}function H(X,G,N,W){X.path&&(X.noRotate&&(N=0),Kvt.select(i.parentNode).append(\"path\").attr({class:t.attr(\"class\"),d:X.path,transform:ept(G.x,G.y)+Qvt(N*180/Math.PI)+$vt(W)}).style({fill:Jvt.rgb(n.arrowcolor),\"stroke-width\":0}))}u&&H(o,d,x,l),c&&H(a,v,b,s)}});var fI=ye((rar,vpe)=>{\"use strict\";var cpe=xa(),TU=ba(),tpt=Xu(),__=Mr(),AU=__.strTranslate,QM=Qa(),Xb=va(),Py=ao(),fpe=Nc(),SU=Pl(),MU=Tg(),$M=gv(),rpt=Vs().arrayEditor,ipt=upe();vpe.exports={draw:npt,drawOne:hpe,drawRaw:dpe};function npt(e){var t=e._fullLayout;t._infolayer.selectAll(\".annotation\").remove();for(var r=0;r<t.annotations.length;r++)t.annotations[r].visible&&hpe(e,r);return tpt.previousPromises(e)}function hpe(e,t){var r=e._fullLayout,n=r.annotations[t]||{},i=QM.getFromId(e,n.xref),a=QM.getFromId(e,n.yref);i&&i.setScale(),a&&a.setScale(),dpe(e,n,t,!1,i,a)}function y_(e,t,r,n,i){var a=i[r],o=i[r+\"ref\"],s=r.indexOf(\"y\")!==-1,l=QM.getRefType(o)===\"domain\",u=s?n.h:n.w;return e?l?a+(s?-t:t)/e._length:e.p2r(e.r2p(a)+t):a+(s?-t:t)/u}function dpe(e,t,r,n,i,a){var o=e._fullLayout,s=e._fullLayout._size,l=e._context.edits,u,c;n?(u=\"annotation-\"+n,c=n+\".annotations\"):(u=\"annotation\",c=\"annotations\");var f=rpt(e.layout,c,t),h=f.modifyBase,d=f.modifyItem,v=f.getUpdateObj;o._infolayer.selectAll(\".\"+u+'[data-index=\"'+r+'\"]').remove();var x=\"clip\"+o._uid+\"_ann\"+r;if(!t._input||t.visible===!1){cpe.selectAll(\"#\"+x).remove();return}var b={x:{},y:{}},p=+t.textangle||0,E=o._infolayer.append(\"g\").classed(u,!0).attr(\"data-index\",String(r)).style(\"opacity\",t.opacity),k=E.append(\"g\").classed(\"annotation-text-g\",!0),A=l[t.showarrow?\"annotationTail\":\"annotationPosition\"],L=t.captureevents||l.annotationText||A;function _(W){var re={index:r,annotation:t._input,fullAnnotation:t,event:W};return n&&(re.subplotId=n),re}var C=k.append(\"g\").style(\"pointer-events\",L?\"all\":null).call(MU,\"pointer\").on(\"click\",function(){e._dragging=!1,e.emit(\"plotly_clickannotation\",_(cpe.event))});t.hovertext&&C.on(\"mouseover\",function(){var W=t.hoverlabel,re=W.font,ae=this.getBoundingClientRect(),_e=e.getBoundingClientRect();fpe.loneHover({x0:ae.left-_e.left,x1:ae.right-_e.left,y:(ae.top+ae.bottom)/2-_e.top,text:t.hovertext,color:W.bgcolor,borderColor:W.bordercolor,fontFamily:re.family,fontSize:re.size,fontColor:re.color,fontWeight:re.weight,fontStyle:re.style,fontVariant:re.variant,fontShadow:re.fontShadow,fontLineposition:re.fontLineposition,fontTextcase:re.fontTextcase},{container:o._hoverlayer.node(),outerContainer:o._paper.node(),gd:e})}).on(\"mouseout\",function(){fpe.loneUnhover(o._hoverlayer.node())});var M=t.borderwidth,g=t.borderpad,P=M+g,T=C.append(\"rect\").attr(\"class\",\"bg\").style(\"stroke-width\",M+\"px\").call(Xb.stroke,t.bordercolor).call(Xb.fill,t.bgcolor),F=t.width||t.height,q=o._topclips.selectAll(\"#\"+x).data(F?[0]:[]);q.enter().append(\"clipPath\").classed(\"annclip\",!0).attr(\"id\",x).append(\"rect\"),q.exit().remove();var V=t.font,H=o._meta?__.templateString(t.text,o._meta):t.text,X=C.append(\"text\").classed(\"annotation-text\",!0).text(H);function G(W){return W.call(Py.font,V).attr({\"text-anchor\":{left:\"start\",right:\"end\"}[t.align]||\"middle\"}),SU.convertToTspans(W,e,N),W}function N(){var W=X.selectAll(\"a\");if(W.size()===1&&W.text()===X.text()){var re=C.insert(\"a\",\":first-child\").attr({\"xlink:xlink:href\":W.attr(\"xlink:href\"),\"xlink:xlink:show\":W.attr(\"xlink:show\")}).style({cursor:\"pointer\"});re.node().appendChild(T.node())}var ae=C.select(\".annotation-text-math-group\"),_e=!ae.empty(),Me=Py.bBox((_e?ae:X).node()),ke=Me.width,ge=Me.height,ie=t.width||ke,Te=t.height||ge,Ee=Math.round(ie+2*P),Ae=Math.round(Te+2*P);function ze(Ve,Xe){return Xe===\"auto\"&&(Ve<1/3?Xe=\"left\":Ve>2/3?Xe=\"right\":Xe=\"center\"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[Xe]}for(var Ce=!1,me=[\"x\",\"y\"],Re=0;Re<me.length;Re++){var ce=me[Re],Ge=t[ce+\"ref\"]||ce,nt=t[\"a\"+ce+\"ref\"],ct={x:i,y:a}[ce],qt=(p+(ce===\"x\"?0:-90))*Math.PI/180,rt=Ee*Math.cos(qt),ot=Ae*Math.sin(qt),Rt=Math.abs(rt)+Math.abs(ot),kt=t[ce+\"anchor\"],Ct=t[ce+\"shift\"]*(ce===\"x\"?1:-1),Yt=b[ce],xr,er,Ke,xt,bt,Lt=QM.getRefType(Ge);if(ct&&Lt!==\"domain\"){var St=ct.r2fraction(t[ce]);(St<0||St>1)&&(nt===Ge?(St=ct.r2fraction(t[\"a\"+ce]),(St<0||St>1)&&(Ce=!0)):Ce=!0),xr=ct._offset+ct.r2p(t[ce]),xt=.5}else{var Et=Lt===\"domain\";ce===\"x\"?(Ke=t[ce],xr=Et?ct._offset+ct._length*Ke:xr=s.l+s.w*Ke):(Ke=1-t[ce],xr=Et?ct._offset+ct._length*Ke:xr=s.t+s.h*Ke),xt=t.showarrow?.5:Ke}if(t.showarrow){Yt.head=xr;var dt=t[\"a\"+ce];if(bt=rt*ze(.5,t.xanchor)-ot*ze(.5,t.yanchor),nt===Ge){var Ht=QM.getRefType(nt);Ht===\"domain\"?(ce===\"y\"&&(dt=1-dt),Yt.tail=ct._offset+ct._length*dt):Ht===\"paper\"?ce===\"y\"?(dt=1-dt,Yt.tail=s.t+s.h*dt):Yt.tail=s.l+s.w*dt:Yt.tail=ct._offset+ct.r2p(dt),er=bt}else Yt.tail=xr+dt,er=bt+dt;Yt.text=Yt.tail+bt;var $t=o[ce===\"x\"?\"width\":\"height\"];if(Ge===\"paper\"&&(Yt.head=__.constrain(Yt.head,1,$t-1)),nt===\"pixel\"){var fr=-Math.max(Yt.tail-3,Yt.text),_r=Math.min(Yt.tail+3,Yt.text)-$t;fr>0?(Yt.tail+=fr,Yt.text+=fr):_r>0&&(Yt.tail-=_r,Yt.text-=_r)}Yt.tail+=Ct,Yt.head+=Ct}else bt=Rt*ze(xt,kt),er=bt,Yt.text=xr+bt;Yt.text+=Ct,bt+=Ct,er+=Ct,t[\"_\"+ce+\"padplus\"]=Rt/2+er,t[\"_\"+ce+\"padminus\"]=Rt/2-er,t[\"_\"+ce+\"size\"]=Rt,t[\"_\"+ce+\"shift\"]=bt}if(Ce){C.remove();return}var Br=0,Or=0;if(t.align!==\"left\"&&(Br=(ie-ke)*(t.align===\"center\"?.5:1)),t.valign!==\"top\"&&(Or=(Te-ge)*(t.valign===\"middle\"?.5:1)),_e)ae.select(\"svg\").attr({x:P+Br-1,y:P+Or}).call(Py.setClipUrl,F?x:null,e);else{var Nr=P+Or-Me.top,ut=P+Br-Me.left;X.call(SU.positionText,ut,Nr).call(Py.setClipUrl,F?x:null,e)}q.select(\"rect\").call(Py.setRect,P,P,ie,Te),T.call(Py.setRect,M/2,M/2,Ee-M,Ae-M),C.call(Py.setTranslate,Math.round(b.x.text-Ee/2),Math.round(b.y.text-Ae/2)),k.attr({transform:\"rotate(\"+p+\",\"+b.x.text+\",\"+b.y.text+\")\"});var Ne=function(Ve,Xe){E.selectAll(\".annotation-arrow-g\").remove();var ht=b.x.head,Le=b.y.head,xe=b.x.tail+Ve,Se=b.y.tail+Xe,lt=b.x.text+Ve,Gt=b.y.text+Xe,Vt=__.rotationXYMatrix(p,lt,Gt),ar=__.apply2DTransform(Vt),Qr=__.apply2DTransform2(Vt),ai=+T.attr(\"width\"),jr=+T.attr(\"height\"),ri=lt-.5*ai,bi=ri+ai,nn=Gt-.5*jr,Wi=nn+jr,Ni=[[ri,nn,ri,Wi],[ri,Wi,bi,Wi],[bi,Wi,bi,nn],[bi,nn,ri,nn]].map(Qr);if(!Ni.reduce(function(Vr,gi){return Vr^!!__.segmentsIntersect(ht,Le,ht+1e6,Le+1e6,gi[0],gi[1],gi[2],gi[3])},!1)){Ni.forEach(function(Vr){var gi=__.segmentsIntersect(xe,Se,ht,Le,Vr[0],Vr[1],Vr[2],Vr[3]);gi&&(xe=gi.x,Se=gi.y)});var _n=t.arrowwidth,$i=t.arrowcolor,zn=t.arrowside,Wn=E.append(\"g\").style({opacity:Xb.opacity($i)}).classed(\"annotation-arrow-g\",!0),It=Wn.append(\"path\").attr(\"d\",\"M\"+xe+\",\"+Se+\"L\"+ht+\",\"+Le).style(\"stroke-width\",_n+\"px\").call(Xb.stroke,Xb.rgb($i));if(ipt(It,zn,t),l.annotationPosition&&It.node().parentNode&&!n){var ft=ht,jt=Le;if(t.standoff){var Zt=Math.sqrt(Math.pow(ht-xe,2)+Math.pow(Le-Se,2));ft+=t.standoff*(xe-ht)/Zt,jt+=t.standoff*(Se-Le)/Zt}var yr=Wn.append(\"path\").classed(\"annotation-arrow\",!0).classed(\"anndrag\",!0).classed(\"cursor-move\",!0).attr({d:\"M3,3H-3V-3H3ZM0,0L\"+(xe-ft)+\",\"+(Se-jt),transform:AU(ft,jt)}).style(\"stroke-width\",_n+6+\"px\").call(Xb.stroke,\"rgba(0,0,0,0)\").call(Xb.fill,\"rgba(0,0,0,0)\"),Fr,Zr;$M.init({element:yr.node(),gd:e,prepFn:function(){var Vr=Py.getTranslate(C);Fr=Vr.x,Zr=Vr.y,i&&i.autorange&&h(i._name+\".autorange\",!0),a&&a.autorange&&h(a._name+\".autorange\",!0)},moveFn:function(Vr,gi){var Si=ar(Fr,Zr),Mi=Si[0]+Vr,Pi=Si[1]+gi;C.call(Py.setTranslate,Mi,Pi),d(\"x\",y_(i,Vr,\"x\",s,t)),d(\"y\",y_(a,gi,\"y\",s,t)),t.axref===t.xref&&d(\"ax\",y_(i,Vr,\"ax\",s,t)),t.ayref===t.yref&&d(\"ay\",y_(a,gi,\"ay\",s,t)),Wn.attr(\"transform\",AU(Vr,gi)),k.attr({transform:\"rotate(\"+p+\",\"+Mi+\",\"+Pi+\")\"})},doneFn:function(){TU.call(\"_guiRelayout\",e,v());var Vr=document.querySelector(\".js-notes-box-panel\");Vr&&Vr.redraw(Vr.selectedObj)}})}}};if(t.showarrow&&Ne(0,0),A){var Ye;$M.init({element:C.node(),gd:e,prepFn:function(){Ye=k.attr(\"transform\")},moveFn:function(Ve,Xe){var ht=\"pointer\";if(t.showarrow)t.axref===t.xref?d(\"ax\",y_(i,Ve,\"ax\",s,t)):d(\"ax\",t.ax+Ve),t.ayref===t.yref?d(\"ay\",y_(a,Xe,\"ay\",s.w,t)):d(\"ay\",t.ay+Xe),Ne(Ve,Xe);else{if(n)return;var Le,xe;if(i)Le=y_(i,Ve,\"x\",s,t);else{var Se=t._xsize/s.w,lt=t.x+(t._xshift-t.xshift)/s.w-Se/2;Le=$M.align(lt+Ve/s.w,Se,0,1,t.xanchor)}if(a)xe=y_(a,Xe,\"y\",s,t);else{var Gt=t._ysize/s.h,Vt=t.y-(t._yshift+t.yshift)/s.h-Gt/2;xe=$M.align(Vt-Xe/s.h,Gt,0,1,t.yanchor)}d(\"x\",Le),d(\"y\",xe),(!i||!a)&&(ht=$M.getCursor(i?.5:Le,a?.5:xe,t.xanchor,t.yanchor))}k.attr({transform:AU(Ve,Xe)+Ye}),MU(C,ht)},clickFn:function(Ve,Xe){t.captureevents&&e.emit(\"plotly_clickannotation\",_(Xe))},doneFn:function(){MU(C),TU.call(\"_guiRelayout\",e,v());var Ve=document.querySelector(\".js-notes-box-panel\");Ve&&Ve.redraw(Ve.selectedObj)}})}}l.annotationText?X.call(SU.makeEditable,{delegate:C,gd:e}).call(G).on(\"edit\",function(W){t.text=W,this.call(G),d(\"text\",W),i&&i.autorange&&h(i._name+\".autorange\",!0),a&&a.autorange&&h(a._name+\".autorange\",!0),TU.call(\"_guiRelayout\",e,v())}):X.call(G)}});var xpe=ye((iar,_pe)=>{\"use strict\";var ppe=Mr(),apt=ba(),gpe=Vs().arrayEditor;_pe.exports={hasClickToShow:opt,onClick:spt};function opt(e,t){var r=ype(e,t);return r.on.length>0||r.explicitOff.length>0}function spt(e,t){var r=ype(e,t),n=r.on,i=r.off.concat(r.explicitOff),a={},o=e._fullLayout.annotations,s,l;if(n.length||i.length){for(s=0;s<n.length;s++)l=gpe(e.layout,\"annotations\",o[n[s]]),l.modifyItem(\"visible\",!0),ppe.extendFlat(a,l.getUpdateObj());for(s=0;s<i.length;s++)l=gpe(e.layout,\"annotations\",o[i[s]]),l.modifyItem(\"visible\",!1),ppe.extendFlat(a,l.getUpdateObj());return apt.call(\"update\",e,{},a)}}function ype(e,t){var r=e._fullLayout.annotations,n=[],i=[],a=[],o=(t||[]).length,s,l,u,c,f,h,d,v;for(s=0;s<r.length;s++)if(u=r[s],c=u.clicktoshow,c){for(l=0;l<o;l++)if(f=t[l],h=f.xaxis,d=f.yaxis,h._id===u.xref&&d._id===u.yref&&h.d2r(f.x)===mpe(u._xclick,h)&&d.d2r(f.y)===mpe(u._yclick,d)){u.visible?c===\"onout\"?v=i:v=a:v=n,v.push(s);break}l===o&&u.visible&&c===\"onout\"&&i.push(s)}return{on:n,off:i,explicitOff:a}}function mpe(e,t){return t.type===\"log\"?t.l2r(e):t.d2r(e)}});var kU=ye((nar,bpe)=>{\"use strict\";var EU=Mr(),uT=va();bpe.exports=function(t,r,n,i){i(\"opacity\");var a=i(\"bgcolor\"),o=i(\"bordercolor\"),s=uT.opacity(o);i(\"borderpad\");var l=i(\"borderwidth\"),u=i(\"showarrow\");i(\"text\",u?\" \":n._dfltTitle.annotation),i(\"textangle\"),EU.coerceFont(i,\"font\",n.font),i(\"width\"),i(\"align\");var c=i(\"height\");if(c&&i(\"valign\"),u){var f=i(\"arrowside\"),h,d;f.indexOf(\"end\")!==-1&&(h=i(\"arrowhead\"),d=i(\"arrowsize\")),f.indexOf(\"start\")!==-1&&(i(\"startarrowhead\",h),i(\"startarrowsize\",d)),i(\"arrowcolor\",s?r.bordercolor:uT.defaultLine),i(\"arrowwidth\",(s&&l||1)*2),i(\"standoff\"),i(\"startstandoff\")}var v=i(\"hovertext\"),x=n.hoverlabel||{};if(v){var b=i(\"hoverlabel.bgcolor\",x.bgcolor||(uT.opacity(a)?uT.rgb(a):uT.defaultLine)),p=i(\"hoverlabel.bordercolor\",x.bordercolor||uT.contrast(b)),E=EU.extendFlat({},x.font);E.color||(E.color=p),EU.coerceFont(i,\"hoverlabel.font\",E)}i(\"captureevents\",!!v)}});var Tpe=ye((aar,wpe)=>{\"use strict\";var CU=Mr(),Yb=Qa(),lpt=Zd(),upt=kU(),cpt=Nb();wpe.exports=function(t,r){lpt(t,r,{name:\"annotations\",handleItemDefaults:fpt})};function fpt(e,t,r){function n(k,A){return CU.coerce(e,t,cpt,k,A)}var i=n(\"visible\"),a=n(\"clicktoshow\");if(i||a){upt(e,t,r,n);for(var o=t.showarrow,s=[\"x\",\"y\"],l=[-10,-30],u={_fullLayout:r},c=0;c<2;c++){var f=s[c],h=Yb.coerceRef(e,t,u,f,\"\",\"paper\");if(h!==\"paper\"){var d=Yb.getFromId(u,h);d._annIndices.push(t._index)}if(Yb.coercePosition(t,u,n,h,f,.5),o){var v=\"a\"+f,x=Yb.coerceRef(e,t,u,v,\"pixel\",[\"pixel\",\"paper\"]);x!==\"pixel\"&&x!==h&&(x=t[v]=\"pixel\");var b=x===\"pixel\"?l[c]:.4;Yb.coercePosition(t,u,n,x,v,b)}n(f+\"anchor\"),n(f+\"shift\")}if(CU.noneOrAll(e,t,[\"x\",\"y\"]),o&&CU.noneOrAll(e,t,[\"ax\",\"ay\"]),a){var p=n(\"xclick\"),E=n(\"yclick\");t._xclick=p===void 0?t.x:Yb.cleanPosition(p,u,t.xref),t._yclick=E===void 0?t.y:Yb.cleanPosition(E,u,t.yref)}}}});var Mpe=ye((oar,Spe)=>{\"use strict\";var LU=Mr(),Kb=Qa(),hpt=fI().draw;Spe.exports=function(t){var r=t._fullLayout,n=LU.filterVisible(r.annotations);if(n.length&&t._fullData.length)return LU.syncOrAsync([hpt,dpt],t)};function dpt(e){var t=e._fullLayout;LU.filterVisible(t.annotations).forEach(function(r){var n=Kb.getFromId(e,r.xref),i=Kb.getFromId(e,r.yref),a=Kb.getRefType(r.xref),o=Kb.getRefType(r.yref);r._extremes={},a===\"range\"&&Ape(r,n),o===\"range\"&&Ape(r,i)})}function Ape(e,t){var r=t._id,n=r.charAt(0),i=e[n],a=e[\"a\"+n],o=e[n+\"ref\"],s=e[\"a\"+n+\"ref\"],l=e[\"_\"+n+\"padplus\"],u=e[\"_\"+n+\"padminus\"],c={x:1,y:-1}[n]*e[n+\"shift\"],f=3*e.arrowsize*e.arrowwidth||0,h=f+c,d=f-c,v=3*e.startarrowsize*e.arrowwidth||0,x=v+c,b=v-c,p;if(s===o){var E=Kb.findExtremes(t,[t.r2c(i)],{ppadplus:h,ppadminus:d}),k=Kb.findExtremes(t,[t.r2c(a)],{ppadplus:Math.max(l,x),ppadminus:Math.max(u,b)});p={min:[E.min[0],k.min[0]],max:[E.max[0],k.max[0]]}}else x=a?x+a:x,b=a?b-a:b,p=Kb.findExtremes(t,[t.r2c(i)],{ppadplus:Math.max(l,h,x),ppadminus:Math.max(u,d,b)});e._extremes[r]=p}});var kpe=ye((sar,Epe)=>{\"use strict\";var vpt=uo(),ppt=u6();Epe.exports=function(t,r,n,i){r=r||{};var a=n===\"log\"&&r.type===\"linear\",o=n===\"linear\"&&r.type===\"log\";if(!(a||o))return;var s=t._fullLayout.annotations,l=r._id.charAt(0),u,c;function f(d){var v=u[d],x=null;a?x=ppt(v,r.range):x=Math.pow(10,v),vpt(x)||(x=null),i(c+d,x)}for(var h=0;h<s.length;h++)u=s[h],c=\"annotations[\"+h+\"].\",u[l+\"ref\"]===r._id&&f(l),u[\"a\"+l+\"ref\"]===r._id&&f(\"a\"+l)}});var Ppe=ye((lar,Lpe)=>{\"use strict\";var PU=fI(),Cpe=xpe();Lpe.exports={moduleType:\"component\",name:\"annotations\",layoutAttributes:Nb(),supplyLayoutDefaults:Tpe(),includeBasePlot:IM()(\"annotations\"),calcAutorange:Mpe(),draw:PU.draw,drawOne:PU.drawOne,drawRaw:PU.drawRaw,hasClickToShow:Cpe.hasClickToShow,onClick:Cpe.onClick,convertCoords:kpe()}});var hI=ye((uar,Ipe)=>{\"use strict\";var Ku=Nb(),gpt=Bu().overrideAll,mpt=Vs().templatedArray;Ipe.exports=gpt(mpt(\"annotation\",{visible:Ku.visible,x:{valType:\"any\"},y:{valType:\"any\"},z:{valType:\"any\"},ax:{valType:\"number\"},ay:{valType:\"number\"},xanchor:Ku.xanchor,xshift:Ku.xshift,yanchor:Ku.yanchor,yshift:Ku.yshift,text:Ku.text,textangle:Ku.textangle,font:Ku.font,width:Ku.width,height:Ku.height,opacity:Ku.opacity,align:Ku.align,valign:Ku.valign,bgcolor:Ku.bgcolor,bordercolor:Ku.bordercolor,borderpad:Ku.borderpad,borderwidth:Ku.borderwidth,showarrow:Ku.showarrow,arrowcolor:Ku.arrowcolor,arrowhead:Ku.arrowhead,startarrowhead:Ku.startarrowhead,arrowside:Ku.arrowside,arrowsize:Ku.arrowsize,startarrowsize:Ku.startarrowsize,arrowwidth:Ku.arrowwidth,standoff:Ku.standoff,startstandoff:Ku.startstandoff,hovertext:Ku.hovertext,hoverlabel:Ku.hoverlabel,captureevents:Ku.captureevents}),\"calc\",\"from-root\")});var Dpe=ye((car,Rpe)=>{\"use strict\";var IU=Mr(),ypt=Qa(),_pt=Zd(),xpt=kU(),bpt=hI();Rpe.exports=function(t,r,n){_pt(t,r,{name:\"annotations\",handleItemDefaults:wpt,fullLayout:n.fullLayout})};function wpt(e,t,r,n){function i(s,l){return IU.coerce(e,t,bpt,s,l)}function a(s){var l=s+\"axis\",u={_fullLayout:{}};return u._fullLayout[l]=r[l],ypt.coercePosition(t,u,i,s,s,.5)}var o=i(\"visible\");o&&(xpt(e,t,n.fullLayout,i),a(\"x\"),a(\"y\"),a(\"z\"),IU.noneOrAll(e,t,[\"x\",\"y\",\"z\"]),t.xref=\"x\",t.yref=\"y\",t.zref=\"z\",i(\"xanchor\"),i(\"yanchor\"),i(\"xshift\"),i(\"yshift\"),t.showarrow&&(t.axref=\"pixel\",t.ayref=\"pixel\",i(\"ax\",-10),i(\"ay\",-30),IU.noneOrAll(e,t,[\"ax\",\"ay\"])))}});var Ope=ye((far,qpe)=>{\"use strict\";var zpe=Mr(),Fpe=Qa();qpe.exports=function(t){for(var r=t.fullSceneLayout,n=r.annotations,i=0;i<n.length;i++)Tpt(n[i],t);t.fullLayout._infolayer.selectAll(\".annotation-\"+t.id).remove()};function Tpt(e,t){var r=t.fullSceneLayout,n=r.domain,i=t.fullLayout._size,a={pdata:null,type:\"linear\",autorange:!1,range:[-1/0,1/0]};e._xa={},zpe.extendFlat(e._xa,a),Fpe.setConvert(e._xa),e._xa._offset=i.l+n.x[0]*i.w,e._xa.l2p=function(){return .5*(1+e._pdata[0]/e._pdata[3])*i.w*(n.x[1]-n.x[0])},e._ya={},zpe.extendFlat(e._ya,a),Fpe.setConvert(e._ya),e._ya._offset=i.t+(1-n.y[1])*i.h,e._ya.l2p=function(){return .5*(1-e._pdata[1]/e._pdata[3])*i.h*(n.y[1]-n.y[0])}}});var DU=ye((har,Bpe)=>{\"use strict\";function RU(e,t){var r=[0,0,0,0],n,i;for(n=0;n<4;++n)for(i=0;i<4;++i)r[i]+=e[4*n+i]*t[n];return r}function Apt(e,t){var r=RU(e.projection,RU(e.view,RU(e.model,[t[0],t[1],t[2],1])));return r}Bpe.exports=Apt});var Upe=ye((dar,Npe)=>{\"use strict\";var Spt=fI().drawRaw,Mpt=DU(),Ept=[\"x\",\"y\",\"z\"];Npe.exports=function(t){for(var r=t.fullSceneLayout,n=t.dataScale,i=r.annotations,a=0;a<i.length;a++){for(var o=i[a],s=!1,l=0;l<3;l++){var u=Ept[l],c=o[u],f=r[u+\"axis\"],h=f.r2fraction(c);if(h<0||h>1){s=!0;break}}s?t.fullLayout._infolayer.select(\".annotation-\"+t.id+'[data-index=\"'+a+'\"]').remove():(o._pdata=Mpt(t.glplot.cameraParams,[r.xaxis.r2l(o.x)*n[0],r.yaxis.r2l(o.y)*n[1],r.zaxis.r2l(o.z)*n[2]]),Spt(t.graphDiv,o,a,t.id,o._xa,o._ya))}}});var Gpe=ye((par,Hpe)=>{\"use strict\";var kpt=ba(),Vpe=Mr();Hpe.exports={moduleType:\"component\",name:\"annotations3d\",schema:{subplots:{scene:{annotations:hI()}}},layoutAttributes:hI(),handleDefaults:Dpe(),includeBasePlot:Cpt,convert:Ope(),draw:Upe()};function Cpt(e,t){var r=kpt.subplotsRegistry.gl3d;if(r)for(var n=r.attrRegex,i=Object.keys(e),a=0;a<i.length;a++){var o=i[a];n.test(o)&&(e[o].annotations||[]).length&&(Vpe.pushUnique(t._basePlotModules,r),Vpe.pushUnique(t._subplots.gl3d,o))}}});var zU=ye((mar,Xpe)=>{\"use strict\";var jpe=Nb(),Wpe=Su(),Zpe=Uc().line,Lpt=Ed().dash,Fg=no().extendFlat,Ppt=Vs().templatedArray,gar=PM(),cT=vl(),Ipt=Wo().shapeTexttemplateAttrs,Rpt=b6();Xpe.exports=Ppt(\"shape\",{visible:Fg({},cT.visible,{editType:\"calc+arraydraw\"}),showlegend:{valType:\"boolean\",dflt:!1,editType:\"calc+arraydraw\"},legend:Fg({},cT.legend,{editType:\"calc+arraydraw\"}),legendgroup:Fg({},cT.legendgroup,{editType:\"calc+arraydraw\"}),legendgrouptitle:{text:Fg({},cT.legendgrouptitle.text,{editType:\"calc+arraydraw\"}),font:Wpe({editType:\"calc+arraydraw\"}),editType:\"calc+arraydraw\"},legendrank:Fg({},cT.legendrank,{editType:\"calc+arraydraw\"}),legendwidth:Fg({},cT.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:Fg({},jpe.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:Fg({},jpe.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:Fg({},Zpe.color,{editType:\"arraydraw\"}),width:Fg({},Zpe.width,{editType:\"calc+arraydraw\"}),dash:Fg({},Lpt,{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:Ipt({},{keys:Object.keys(Rpt)}),font:Wpe({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\"})});var Jpe=ye((yar,Kpe)=>{\"use strict\";var e4=Mr(),fT=Qa(),Dpt=Zd(),zpt=zU(),Ype=h_();Kpe.exports=function(t,r){Dpt(t,r,{name:\"shapes\",handleItemDefaults:qpt})};function Fpt(e,t){return e?\"bottom\":t.indexOf(\"top\")!==-1?\"top\":t.indexOf(\"bottom\")!==-1?\"bottom\":\"middle\"}function qpt(e,t,r){function n(W,re){return e4.coerce(e,t,zpt,W,re)}t._isShape=!0;var i=n(\"visible\");if(i){var a=n(\"showlegend\");a&&(n(\"legend\"),n(\"legendwidth\"),n(\"legendgroup\"),n(\"legendgrouptitle.text\"),e4.coerceFont(n,\"legendgrouptitle.font\"),n(\"legendrank\"));var o=n(\"path\"),s=o?\"path\":\"rect\",l=n(\"type\",s),u=l!==\"path\";u&&delete t.path,n(\"editable\"),n(\"layer\"),n(\"opacity\"),n(\"fillcolor\"),n(\"fillrule\");var c=n(\"line.width\");c&&(n(\"line.color\"),n(\"line.dash\"));for(var f=n(\"xsizemode\"),h=n(\"ysizemode\"),d=[\"x\",\"y\"],v=0;v<2;v++){var x=d[v],b=x+\"anchor\",p=x===\"x\"?f:h,E={_fullLayout:r},k,A,L,_=fT.coerceRef(e,t,E,x,void 0,\"paper\"),C=fT.getRefType(_);if(C===\"range\"?(k=fT.getFromId(E,_),k._shapeIndices.push(t._index),L=Ype.rangeToShapePosition(k),A=Ype.shapePositionToRange(k),(k.type===\"category\"||k.type===\"multicategory\")&&(n(x+\"0shift\"),n(x+\"1shift\"))):A=L=e4.identity,u){var M=.25,g=.75,P=x+\"0\",T=x+\"1\",F=e[P],q=e[T];e[P]=A(e[P],!0),e[T]=A(e[T],!0),p===\"pixel\"?(n(P,0),n(T,10)):(fT.coercePosition(t,E,n,_,P,M),fT.coercePosition(t,E,n,_,T,g)),t[P]=L(t[P]),t[T]=L(t[T]),e[P]=F,e[T]=q}if(p===\"pixel\"){var V=e[b];e[b]=A(e[b],!0),fT.coercePosition(t,E,n,_,b,.25),t[b]=L(t[b]),e[b]=V}}u&&e4.noneOrAll(e,t,[\"x0\",\"x1\",\"y0\",\"y1\"]);var H=l===\"line\",X,G;if(u&&(X=n(\"label.texttemplate\")),X||(G=n(\"label.text\")),G||X){n(\"label.textangle\");var N=n(\"label.textposition\",H?\"middle\":\"middle center\");n(\"label.xanchor\"),n(\"label.yanchor\",Fpt(H,N)),n(\"label.padding\"),e4.coerceFont(n,\"label.font\",r.font)}}}});var e0e=ye((_ar,Qpe)=>{\"use strict\";var Opt=va(),$pe=Mr();function Bpt(e,t){return e?\"bottom\":t.indexOf(\"top\")!==-1?\"top\":t.indexOf(\"bottom\")!==-1?\"bottom\":\"middle\"}Qpe.exports=function(t,r,n){n(\"newshape.visible\"),n(\"newshape.name\"),n(\"newshape.showlegend\"),n(\"newshape.legend\"),n(\"newshape.legendwidth\"),n(\"newshape.legendgroup\"),n(\"newshape.legendgrouptitle.text\"),$pe.coerceFont(n,\"newshape.legendgrouptitle.font\"),n(\"newshape.legendrank\"),n(\"newshape.drawdirection\"),n(\"newshape.layer\"),n(\"newshape.fillcolor\"),n(\"newshape.fillrule\"),n(\"newshape.opacity\");var i=n(\"newshape.line.width\");if(i){var a=(t||{}).plot_bgcolor||\"#FFF\";n(\"newshape.line.color\",Opt.contrast(a)),n(\"newshape.line.dash\")}var o=t.dragmode===\"drawline\",s=n(\"newshape.label.text\"),l=n(\"newshape.label.texttemplate\");if(s||l){n(\"newshape.label.textangle\");var u=n(\"newshape.label.textposition\",o?\"middle\":\"middle center\");n(\"newshape.label.xanchor\"),n(\"newshape.label.yanchor\",Bpt(o,u)),n(\"newshape.label.padding\"),$pe.coerceFont(n,\"newshape.label.font\",r.font)}n(\"activeshape.fillcolor\"),n(\"activeshape.opacity\")}});var a0e=ye((xar,n0e)=>{\"use strict\";var FU=Mr(),hT=Qa(),dT=cM(),r0e=h_();n0e.exports=function(t){var r=t._fullLayout,n=FU.filterVisible(r.shapes);if(!(!n.length||!t._fullData.length))for(var i=0;i<n.length;i++){var a=n[i];a._extremes={};var o,s,l=hT.getRefType(a.xref),u=hT.getRefType(a.yref);a.xref!==\"paper\"&&l!==\"domain\"&&(o=hT.getFromId(t,a.xref),s=t0e(o,a,dT.paramIsX),s&&(a._extremes[o._id]=hT.findExtremes(o,s,Npt(a)))),a.yref!==\"paper\"&&u!==\"domain\"&&(o=hT.getFromId(t,a.yref),s=t0e(o,a,dT.paramIsY),s&&(a._extremes[o._id]=hT.findExtremes(o,s,Upt(a))))}};function Npt(e){return i0e(e.line.width,e.xsizemode,e.x0,e.x1,e.path,!1)}function Upt(e){return i0e(e.line.width,e.ysizemode,e.y0,e.y1,e.path,!0)}function i0e(e,t,r,n,i,a){var o=e/2,s=a;if(t===\"pixel\"){var l=i?r0e.extractPathCoords(i,a?dT.paramIsY:dT.paramIsX):[r,n],u=FU.aggNums(Math.max,null,l),c=FU.aggNums(Math.min,null,l),f=c<0?Math.abs(c)+o:o,h=u>0?u+o:o;return{ppad:o,ppadplus:s?f:h,ppadminus:s?h:f}}else return{ppad:o}}function t0e(e,t,r){var n=e._id.charAt(0)===\"x\"?\"x\":\"y\",i=e.type===\"category\"||e.type===\"multicategory\",a,o,s=0,l=0,u=i?e.r2c:e.d2c,c=t[n+\"sizemode\"]===\"scaled\";if(c?(a=t[n+\"0\"],o=t[n+\"1\"],i&&(s=t[n+\"0shift\"],l=t[n+\"1shift\"])):(a=t[n+\"anchor\"],o=t[n+\"anchor\"]),a!==void 0)return[u(a)+s,u(o)+l];if(t.path){var f=1/0,h=-1/0,d=t.path.match(dT.segmentRE),v,x,b,p,E;for(e.type===\"date\"&&(u=r0e.decodeDate(u)),v=0;v<d.length;v++)x=d[v],b=r[x.charAt(0)].drawn,b!==void 0&&(p=d[v].substr(1).match(dT.paramRE),!(!p||p.length<b)&&(E=u(p[b]),E<f&&(f=E),E>h&&(h=E)));if(h>=f)return[f,h]}}});var l0e=ye((bar,s0e)=>{\"use strict\";var o0e=rP();s0e.exports={moduleType:\"component\",name:\"shapes\",layoutAttributes:zU(),supplyLayoutDefaults:Jpe(),supplyDrawNewShapeDefaults:e0e(),includeBasePlot:IM()(\"shapes\"),calcAutorange:a0e(),draw:o0e.draw,drawOne:o0e.drawOne}});var qU=ye((Tar,c0e)=>{\"use strict\";var u0e=ad(),Vpt=Vs().templatedArray,war=PM();c0e.exports=Vpt(\"image\",{visible:{valType:\"boolean\",dflt:!0,editType:\"arraydraw\"},source:{valType:\"string\",editType:\"arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\",editType:\"arraydraw\"},sizex:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizey:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizing:{valType:\"enumerated\",values:[\"fill\",\"contain\",\"stretch\"],dflt:\"contain\",editType:\"arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},x:{valType:\"any\",dflt:0,editType:\"arraydraw\"},y:{valType:\"any\",dflt:0,editType:\"arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"top\",editType:\"arraydraw\"},xref:{valType:\"enumerated\",values:[\"paper\",u0e.idRegex.x.toString()],dflt:\"paper\",editType:\"arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",u0e.idRegex.y.toString()],dflt:\"paper\",editType:\"arraydraw\"},editType:\"arraydraw\"})});var h0e=ye((Aar,f0e)=>{\"use strict\";var Hpt=Mr(),OU=Qa(),Gpt=Zd(),jpt=qU(),Wpt=\"images\";f0e.exports=function(t,r){var n={name:Wpt,handleItemDefaults:Zpt};Gpt(t,r,n)};function Zpt(e,t,r){function n(h,d){return Hpt.coerce(e,t,jpt,h,d)}var i=n(\"source\"),a=n(\"visible\",!!i);if(!a)return t;n(\"layer\"),n(\"xanchor\"),n(\"yanchor\"),n(\"sizex\"),n(\"sizey\"),n(\"sizing\"),n(\"opacity\");for(var o={_fullLayout:r},s=[\"x\",\"y\"],l=0;l<2;l++){var u=s[l],c=OU.coerceRef(e,t,o,u,\"paper\",void 0);if(c!==\"paper\"){var f=OU.getFromId(o,c);f._imgIndices.push(t._index)}OU.coercePosition(t,o,n,c,u,0)}return t}});var g0e=ye((Sar,p0e)=>{\"use strict\";var d0e=xa(),Xpt=ao(),vT=Qa(),v0e=af(),Ypt=Zp();p0e.exports=function(t){var r=t._fullLayout,n=[],i={},a=[],o,s;for(s=0;s<r.images.length;s++){var l=r.images[s];if(l.visible)if(l.layer===\"below\"&&l.xref!==\"paper\"&&l.yref!==\"paper\"){o=v0e.ref2id(l.xref)+v0e.ref2id(l.yref);var u=r._plots[o];if(!u){a.push(l);continue}u.mainplot&&(o=u.mainplot.id),i[o]||(i[o]=[]),i[o].push(l)}else l.layer===\"above\"?n.push(l):a.push(l)}var c={x:{left:{sizing:\"xMin\",offset:0},center:{sizing:\"xMid\",offset:-1/2},right:{sizing:\"xMax\",offset:-1}},y:{top:{sizing:\"YMin\",offset:0},middle:{sizing:\"YMid\",offset:-1/2},bottom:{sizing:\"YMax\",offset:-1}}};function f(A){var L=d0e.select(this);if(this._imgSrc!==A.source)if(L.attr(\"xmlns\",Ypt.svg),!t._context.staticPlot||A.source&&A.source.slice(0,5)===\"data:\")L.attr(\"xlink:href\",A.source),this._imgSrc=A.source;else{var _=new Promise(function(C){var M=new Image;this.img=M,M.setAttribute(\"crossOrigin\",\"anonymous\"),M.onerror=g,M.onload=function(){var P=document.createElement(\"canvas\");P.width=this.width,P.height=this.height;var T=P.getContext(\"2d\",{willReadFrequently:!0});T.drawImage(this,0,0);var F=P.toDataURL(\"image/png\");L.attr(\"xlink:href\",F),C()},L.on(\"error\",g),M.src=A.source,this._imgSrc=A.source;function g(){L.remove(),C()}}.bind(this));t._promises.push(_)}}function h(A){var L=d0e.select(this),_=vT.getFromId(t,A.xref),C=vT.getFromId(t,A.yref),M=vT.getRefType(A.xref)===\"domain\",g=vT.getRefType(A.yref)===\"domain\",P=r._size,T,F;_!==void 0?T=typeof A.xref==\"string\"&&M?_._length*A.sizex:Math.abs(_.l2p(A.sizex)-_.l2p(0)):T=A.sizex*P.w,C!==void 0?F=typeof A.yref==\"string\"&&g?C._length*A.sizey:Math.abs(C.l2p(A.sizey)-C.l2p(0)):F=A.sizey*P.h;var q=T*c.x[A.xanchor].offset,V=F*c.y[A.yanchor].offset,H=c.x[A.xanchor].sizing+c.y[A.yanchor].sizing,X,G;switch(_!==void 0?X=typeof A.xref==\"string\"&&M?_._length*A.x+_._offset:_.r2p(A.x)+_._offset:X=A.x*P.w+P.l,X+=q,C!==void 0?G=typeof A.yref==\"string\"&&g?C._length*(1-A.y)+C._offset:C.r2p(A.y)+C._offset:G=P.h-A.y*P.h+P.t,G+=V,A.sizing){case\"fill\":H+=\" slice\";break;case\"stretch\":H=\"none\";break}L.attr({x:X,y:G,width:T,height:F,preserveAspectRatio:H,opacity:A.opacity});var N=_&&vT.getRefType(A.xref)!==\"domain\"?_._id:\"\",W=C&&vT.getRefType(A.yref)!==\"domain\"?C._id:\"\",re=N+W;Xpt.setClipUrl(L,re?\"clip\"+r._uid+re:null,t)}function d(A){return[A.xref,A.x,A.sizex,A.yref,A.y,A.sizey].join(\"_\")}function v(A,L){return A._index-L._index}var x=r._imageLowerLayer.selectAll(\"image\").data(a,d),b=r._imageUpperLayer.selectAll(\"image\").data(n,d);x.enter().append(\"image\"),b.enter().append(\"image\"),x.exit().remove(),b.exit().remove(),x.each(function(A){f.bind(this)(A),h.bind(this)(A)}),b.each(function(A){f.bind(this)(A),h.bind(this)(A)}),x.sort(v),b.sort(v);var p=Object.keys(r._plots);for(s=0;s<p.length;s++){o=p[s];var E=r._plots[o];if(E.imagelayer){var k=E.imagelayer.selectAll(\"image\").data(i[o]||[],d);k.enter().append(\"image\"),k.exit().remove(),k.each(function(A){f.bind(this)(A),h.bind(this)(A)}),k.sort(v)}}}});var _0e=ye((Mar,y0e)=>{\"use strict\";var m0e=uo(),Kpt=u6();y0e.exports=function(t,r,n,i){r=r||{};var a=n===\"log\"&&r.type===\"linear\",o=n===\"linear\"&&r.type===\"log\";if(a||o){for(var s=t._fullLayout.images,l=r._id.charAt(0),u,c,f=0;f<s.length;f++)if(u=s[f],c=\"images[\"+f+\"].\",u[l+\"ref\"]===r._id){var h=u[l],d=u[\"size\"+l],v=null,x=null;if(a){v=Kpt(h,r.range);var b=d/Math.pow(10,v)/2;x=2*Math.log(b+Math.sqrt(1+b*b))/Math.LN10}else v=Math.pow(10,h),x=v*(Math.pow(10,d/2)-Math.pow(10,-d/2));m0e(v)?m0e(x)||(x=null):(v=null,x=null),i(c+l,v),i(c+\"size\"+l,x)}}}});var b0e=ye((Ear,x0e)=>{\"use strict\";x0e.exports={moduleType:\"component\",name:\"images\",layoutAttributes:qU(),supplyLayoutDefaults:h0e(),includeBasePlot:IM()(\"images\"),draw:g0e(),convertCoords:_0e()}});var dI=ye((kar,w0e)=>{\"use strict\";w0e.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\"}}});var BU=ye((Car,A0e)=>{\"use strict\";var Jpt=Su(),$pt=dh(),Qpt=no().extendFlat,e0t=Bu().overrideAll,t0t=w6(),T0e=Vs().templatedArray,r0t=T0e(\"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}});A0e.exports=e0t(T0e(\"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:r0t,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:Qpt(t0t({editType:\"arraydraw\"}),{}),font:Jpt({}),bgcolor:{valType:\"color\"},bordercolor:{valType:\"color\",dflt:$pt.borderLine},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"arraydraw\"}}),\"arraydraw\",\"from-root\")});var k0e=ye((Lar,E0e)=>{\"use strict\";var vI=Mr(),S0e=Zd(),M0e=BU(),i0t=dI(),n0t=i0t.name,a0t=M0e.buttons;E0e.exports=function(t,r){var n={name:n0t,handleItemDefaults:o0t};S0e(t,r,n)};function o0t(e,t,r){function n(o,s){return vI.coerce(e,t,M0e,o,s)}var i=S0e(e,t,{name:\"buttons\",handleItemDefaults:s0t}),a=n(\"visible\",i.length>0);a&&(n(\"active\"),n(\"direction\"),n(\"type\"),n(\"showactive\"),n(\"x\"),n(\"y\"),vI.noneOrAll(e,t,[\"x\",\"y\"]),n(\"xanchor\"),n(\"yanchor\"),n(\"pad.t\"),n(\"pad.r\"),n(\"pad.b\"),n(\"pad.l\"),vI.coerceFont(n,\"font\",r.font),n(\"bgcolor\",r.paper_bgcolor),n(\"bordercolor\"),n(\"borderwidth\"))}function s0t(e,t){function r(i,a){return vI.coerce(e,t,a0t,i,a)}var n=r(\"visible\",e.method===\"skip\"||Array.isArray(e.args));n&&(r(\"method\"),r(\"args\"),r(\"args2\"),r(\"label\"),r(\"execute\"))}});var P0e=ye((Par,L0e)=>{\"use strict\";L0e.exports=of;var qg=xa(),C0e=va(),pT=ao(),pI=Mr();function of(e,t,r){this.gd=e,this.container=t,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll(\"rect.scrollbox-bg\").data([0]),this.bg.exit().on(\".drag\",null).on(\"wheel\",null).remove(),this.bg.enter().append(\"rect\").classed(\"scrollbox-bg\",!0).style(\"pointer-events\",\"all\").attr({opacity:0,x:0,y:0,width:0,height:0})}of.barWidth=2;of.barLength=20;of.barRadius=2;of.barPad=1;of.barColor=\"#808BA4\";of.prototype.enable=function(t,r,n){var i=this.gd._fullLayout,a=i.width,o=i.height;this.position=t;var s=this.position.l,l=this.position.w,u=this.position.t,c=this.position.h,f=this.position.direction,h=f===\"down\",d=f===\"left\",v=f===\"right\",x=f===\"up\",b=l,p=c,E,k,A,L;!h&&!d&&!v&&!x&&(this.position.direction=\"down\",h=!0);var _=h||x;_?(E=s,k=E+b,h?(A=u,L=Math.min(A+p,o),p=L-A):(L=u+p,A=Math.max(L-p,0),p=L-A)):(A=u,L=A+p,d?(k=s+b,E=Math.max(k-b,0),b=k-E):(E=s,k=Math.min(E+b,a),b=k-E)),this._box={l:E,t:A,w:b,h:p};var C=l>b,M=of.barLength+2*of.barPad,g=of.barWidth+2*of.barPad,P=s,T=u+c;T+g>o&&(T=o-g);var F=this.container.selectAll(\"rect.scrollbar-horizontal\").data(C?[0]:[]);F.exit().on(\".drag\",null).remove(),F.enter().append(\"rect\").classed(\"scrollbar-horizontal\",!0).call(C0e.fill,of.barColor),C?(this.hbar=F.attr({rx:of.barRadius,ry:of.barRadius,x:P,y:T,width:M,height:g}),this._hbarXMin=P+M/2,this._hbarTranslateMax=b-M):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var q=c>p,V=of.barWidth+2*of.barPad,H=of.barLength+2*of.barPad,X=s+l,G=u;X+V>a&&(X=a-V);var N=this.container.selectAll(\"rect.scrollbar-vertical\").data(q?[0]:[]);N.exit().on(\".drag\",null).remove(),N.enter().append(\"rect\").classed(\"scrollbar-vertical\",!0).call(C0e.fill,of.barColor),q?(this.vbar=N.attr({rx:of.barRadius,ry:of.barRadius,x:X,y:G,width:V,height:H}),this._vbarYMin=G+H/2,this._vbarTranslateMax=p-H):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var W=this.id,re=E-.5,ae=q?k+V+.5:k+.5,_e=A-.5,Me=C?L+g+.5:L+.5,ke=i._topdefs.selectAll(\"#\"+W).data(C||q?[0]:[]);if(ke.exit().remove(),ke.enter().append(\"clipPath\").attr(\"id\",W).append(\"rect\"),C||q?(this._clipRect=ke.select(\"rect\").attr({x:Math.floor(re),y:Math.floor(_e),width:Math.ceil(ae)-Math.floor(re),height:Math.ceil(Me)-Math.floor(_e)}),this.container.call(pT.setClipUrl,W,this.gd),this.bg.attr({x:s,y:u,width:l,height:c})):(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(pT.setClipUrl,null),delete this._clipRect),C||q){var ge=qg.behavior.drag().on(\"dragstart\",function(){qg.event.sourceEvent.preventDefault()}).on(\"drag\",this._onBoxDrag.bind(this));this.container.on(\"wheel\",null).on(\"wheel\",this._onBoxWheel.bind(this)).on(\".drag\",null).call(ge);var ie=qg.behavior.drag().on(\"dragstart\",function(){qg.event.sourceEvent.preventDefault(),qg.event.sourceEvent.stopPropagation()}).on(\"drag\",this._onBarDrag.bind(this));C&&this.hbar.on(\".drag\",null).call(ie),q&&this.vbar.on(\".drag\",null).call(ie)}this.setTranslate(r,n)};of.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(pT.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)};of.prototype._onBoxDrag=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t-=qg.event.dx),this.vbar&&(r-=qg.event.dy),this.setTranslate(t,r)};of.prototype._onBoxWheel=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t+=qg.event.deltaY),this.vbar&&(r+=qg.event.deltaY),this.setTranslate(t,r)};of.prototype._onBarDrag=function(){var t=this.translateX,r=this.translateY;if(this.hbar){var n=t+this._hbarXMin,i=n+this._hbarTranslateMax,a=pI.constrain(qg.event.x,n,i),o=(a-n)/(i-n),s=this.position.w-this._box.w;t=o*s}if(this.vbar){var l=r+this._vbarYMin,u=l+this._vbarTranslateMax,c=pI.constrain(qg.event.y,l,u),f=(c-l)/(u-l),h=this.position.h-this._box.h;r=f*h}this.setTranslate(t,r)};of.prototype.setTranslate=function(t,r){var n=this.position.w-this._box.w,i=this.position.h-this._box.h;if(t=pI.constrain(t||0,0,n),r=pI.constrain(r||0,0,i),this.translateX=t,this.translateY=r,this.container.call(pT.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-r),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+r-.5)}),this.hbar){var a=t/n;this.hbar.call(pT.setTranslate,t+a*this._hbarTranslateMax,r)}if(this.vbar){var o=r/i;this.vbar.call(pT.setTranslate,t,r+o*this._vbarTranslateMax)}}});var U0e=ye((Iar,N0e)=>{\"use strict\";var gT=xa(),t4=Xu(),r4=va(),mT=ao(),e0=Mr(),gI=Pl(),l0t=Vs().arrayEditor,R0e=Nh().LINE_SPACING,Go=dI(),u0t=P0e();N0e.exports=function(t){var r=t._fullLayout,n=e0.filterVisible(r[Go.name]);function i(h){t4.autoMargin(t,O0e(h))}var a=r._menulayer.selectAll(\"g.\"+Go.containerClassName).data(n.length>0?[0]:[]);if(a.enter().append(\"g\").classed(Go.containerClassName,!0).style(\"cursor\",\"pointer\"),a.exit().each(function(){gT.select(this).selectAll(\"g.\"+Go.headerGroupClassName).each(i)}).remove(),n.length!==0){var o=a.selectAll(\"g.\"+Go.headerGroupClassName).data(n,c0t);o.enter().append(\"g\").classed(Go.headerGroupClassName,!0);for(var s=e0.ensureSingle(a,\"g\",Go.dropdownButtonGroupClassName,function(h){h.style(\"pointer-events\",\"all\")}),l=0;l<n.length;l++){var u=n[l];g0t(t,u)}var c=\"updatemenus\"+r._uid,f=new u0t(t,s,c);o.enter().size()&&(s.node().parentNode.appendChild(s.node()),s.call(UU)),o.exit().each(function(h){s.call(UU),i(h)}).remove(),o.each(function(h){var d=gT.select(this),v=h.type===\"dropdown\"?s:null;t4.manageCommandObserver(t,h,h.buttons,function(x){NU(t,h,h.buttons[x.index],d,v,f,x.index,!0)}),h.type===\"dropdown\"?(z0e(t,d,s,f,h),D0e(s,h)&&i4(t,d,s,f,h)):i4(t,d,null,null,h)})}};function c0t(e){return e._index}function f0t(e){return+e.attr(Go.menuIndexAttrName)==-1}function D0e(e,t){return+e.attr(Go.menuIndexAttrName)===t._index}function NU(e,t,r,n,i,a,o,s){t.active=o,l0t(e.layout,Go.name,t).applyUpdate(\"active\",o),t.type===\"buttons\"?i4(e,n,null,null,t):t.type===\"dropdown\"&&(i.attr(Go.menuIndexAttrName,\"-1\"),z0e(e,n,i,a,t),s||i4(e,n,i,a,t))}function z0e(e,t,r,n,i){var a=e0.ensureSingle(t,\"g\",Go.headerClassName,function(h){h.style(\"pointer-events\",\"all\")}),o=i._dims,s=i.active,l=i.buttons[s]||Go.blankHeaderOpts,u={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},c={width:o.headerWidth,height:o.headerHeight};a.call(VU,i,l,e).call(B0e,i,u,c);var f=e0.ensureSingle(t,\"text\",Go.headerArrowClassName,function(h){h.attr(\"text-anchor\",\"end\").call(mT.font,i.font).text(Go.arrowSymbol[i.direction])});f.attr({x:o.headerWidth-Go.arrowOffsetX+i.pad.l,y:o.headerHeight/2+Go.textOffsetY+i.pad.t}),a.on(\"click\",function(){r.call(UU,String(D0e(r,i)?-1:i._index)),i4(e,t,r,n,i)}),a.on(\"mouseover\",function(){a.call(F0e)}),a.on(\"mouseout\",function(){a.call(q0e,i)}),mT.setTranslate(t,o.lx,o.ly)}function i4(e,t,r,n,i){r||(r=t,r.attr(\"pointer-events\",\"all\"));var a=!f0t(r)||i.type===\"buttons\"?i.buttons:[],o=i.type===\"dropdown\"?Go.dropdownButtonClassName:Go.buttonClassName,s=r.selectAll(\"g.\"+o).data(e0.filterVisible(a)),l=s.enter().append(\"g\").classed(o,!0),u=s.exit();i.type===\"dropdown\"?(l.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),u.transition().attr(\"opacity\",\"0\").remove()):u.remove();var c=0,f=0,h=i._dims,d=[\"up\",\"down\"].indexOf(i.direction)!==-1;i.type===\"dropdown\"&&(d?f=h.headerHeight+Go.gapButtonHeader:c=h.headerWidth+Go.gapButtonHeader),i.type===\"dropdown\"&&i.direction===\"up\"&&(f=-Go.gapButtonHeader+Go.gapButton-h.openHeight),i.type===\"dropdown\"&&i.direction===\"left\"&&(c=-Go.gapButtonHeader+Go.gapButton-h.openWidth);var v={x:h.lx+c+i.pad.l,y:h.ly+f+i.pad.t,yPad:Go.gapButton,xPad:Go.gapButton,index:0},x={l:v.x+i.borderwidth,t:v.y+i.borderwidth};s.each(function(b,p){var E=gT.select(this);E.call(VU,i,b,e).call(B0e,i,v),E.on(\"click\",function(){gT.event.defaultPrevented||(b.execute&&(b.args2&&i.active===p?(NU(e,i,b,t,r,n,-1),t4.executeAPICommand(e,b.method,b.args2)):(NU(e,i,b,t,r,n,p),t4.executeAPICommand(e,b.method,b.args))),e.emit(\"plotly_buttonclicked\",{menu:i,button:b,active:i.active}))}),E.on(\"mouseover\",function(){E.call(F0e)}),E.on(\"mouseout\",function(){E.call(q0e,i),s.call(I0e,i)})}),s.call(I0e,i),d?(x.w=Math.max(h.openWidth,h.headerWidth),x.h=v.y-x.t):(x.w=v.x-x.l,x.h=Math.max(h.openHeight,h.headerHeight)),x.direction=i.direction,n&&(s.size()?h0t(e,t,r,n,i,x):d0t(n))}function h0t(e,t,r,n,i,a){var o=i.direction,s=o===\"up\"||o===\"down\",l=i._dims,u=i.active,c,f,h;if(s)for(f=0,h=0;h<u;h++)f+=l.heights[h]+Go.gapButton;else for(c=0,h=0;h<u;h++)c+=l.widths[h]+Go.gapButton;n.enable(a,c,f),n.hbar&&n.hbar.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),n.vbar&&n.vbar.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\")}function d0t(e){var t=!!e.hbar,r=!!e.vbar;t&&e.hbar.transition().attr(\"opacity\",\"0\").each(\"end\",function(){t=!1,r||e.disable()}),r&&e.vbar.transition().attr(\"opacity\",\"0\").each(\"end\",function(){r=!1,t||e.disable()})}function VU(e,t,r,n){e.call(v0t,t).call(p0t,t,r,n)}function v0t(e,t){var r=e0.ensureSingle(e,\"rect\",Go.itemRectClassName,function(n){n.attr({rx:Go.rx,ry:Go.ry,\"shape-rendering\":\"crispEdges\"})});r.call(r4.stroke,t.bordercolor).call(r4.fill,t.bgcolor).style(\"stroke-width\",t.borderwidth+\"px\")}function p0t(e,t,r,n){var i=e0.ensureSingle(e,\"text\",Go.itemTextClassName,function(s){s.attr({\"text-anchor\":\"start\",\"data-notex\":1})}),a=r.label,o=n._fullLayout._meta;o&&(a=e0.templateString(a,o)),i.call(mT.font,t.font).text(a).call(gI.convertToTspans,n)}function I0e(e,t){var r=t.active;e.each(function(n,i){var a=gT.select(this);i===r&&t.showactive&&a.select(\"rect.\"+Go.itemRectClassName).call(r4.fill,Go.activeColor)})}function F0e(e){e.select(\"rect.\"+Go.itemRectClassName).call(r4.fill,Go.hoverColor)}function q0e(e,t){e.select(\"rect.\"+Go.itemRectClassName).call(r4.fill,t.bgcolor)}function g0t(e,t){var r=t._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},n=mT.tester.selectAll(\"g.\"+Go.dropdownButtonClassName).data(e0.filterVisible(t.buttons));n.enter().append(\"g\").classed(Go.dropdownButtonClassName,!0);var i=[\"up\",\"down\"].indexOf(t.direction)!==-1;n.each(function(c,f){var h=gT.select(this);h.call(VU,t,c,e);var d=h.select(\".\"+Go.itemTextClassName),v=d.node()&&mT.bBox(d.node()).width,x=Math.max(v+Go.textPadX,Go.minWidth),b=t.font.size*R0e,p=gI.lineCount(d),E=Math.max(b*p,Go.minHeight)+Go.textOffsetY;E=Math.ceil(E),x=Math.ceil(x),r.widths[f]=x,r.heights[f]=E,r.height1=Math.max(r.height1,E),r.width1=Math.max(r.width1,x),i?(r.totalWidth=Math.max(r.totalWidth,x),r.openWidth=r.totalWidth,r.totalHeight+=E+Go.gapButton,r.openHeight+=E+Go.gapButton):(r.totalWidth+=x+Go.gapButton,r.openWidth+=x+Go.gapButton,r.totalHeight=Math.max(r.totalHeight,E),r.openHeight=r.totalHeight)}),i?r.totalHeight-=Go.gapButton:r.totalWidth-=Go.gapButton,r.headerWidth=r.width1+Go.arrowPadX,r.headerHeight=r.height1,t.type===\"dropdown\"&&(i?(r.width1+=Go.arrowPadX,r.totalHeight=r.height1):r.totalWidth=r.width1,r.totalWidth+=Go.arrowPadX),n.remove();var a=r.totalWidth+t.pad.l+t.pad.r,o=r.totalHeight+t.pad.t+t.pad.b,s=e._fullLayout._size;r.lx=s.l+s.w*t.x,r.ly=s.t+s.h*(1-t.y);var l=\"left\";e0.isRightAnchor(t)&&(r.lx-=a,l=\"right\"),e0.isCenterAnchor(t)&&(r.lx-=a/2,l=\"center\");var u=\"top\";e0.isBottomAnchor(t)&&(r.ly-=o,u=\"bottom\"),e0.isMiddleAnchor(t)&&(r.ly-=o/2,u=\"middle\"),r.totalWidth=Math.ceil(r.totalWidth),r.totalHeight=Math.ceil(r.totalHeight),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),t4.autoMargin(e,O0e(t),{x:t.x,y:t.y,l:a*({right:1,center:.5}[l]||0),r:a*({left:1,center:.5}[l]||0),b:o*({top:1,middle:.5}[u]||0),t:o*({bottom:1,middle:.5}[u]||0)})}function O0e(e){return Go.autoMarginIdRoot+e._index}function B0e(e,t,r,n){n=n||{};var i=e.select(\".\"+Go.itemRectClassName),a=e.select(\".\"+Go.itemTextClassName),o=t.borderwidth,s=r.index,l=t._dims;mT.setTranslate(e,o+r.x,o+r.y);var u=[\"up\",\"down\"].indexOf(t.direction)!==-1,c=n.height||(u?l.heights[s]:l.height1);i.attr({x:0,y:0,width:n.width||(u?l.width1:l.widths[s]),height:c});var f=t.font.size*R0e,h=gI.lineCount(a),d=(h-1)*f/2;gI.positionText(a,Go.textOffsetX,c/2-d+Go.textOffsetY),u?r.y+=l.heights[s]+r.yPad:r.x+=l.widths[s]+r.xPad,r.index++}function UU(e,t){e.attr(Go.menuIndexAttrName,t||\"-1\").selectAll(\"g.\"+Go.dropdownButtonClassName).remove()}});var H0e=ye((Rar,V0e)=>{\"use strict\";var m0t=dI();V0e.exports={moduleType:\"component\",name:m0t.name,layoutAttributes:BU(),supplyLayoutDefaults:k0e(),draw:U0e()}});var n4=ye((Dar,G0e)=>{\"use strict\";G0e.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}});var HU=ye((zar,Z0e)=>{\"use strict\";var j0e=Su(),y0t=w6(),_0t=no().extendDeepAll,x0t=Bu().overrideAll,b0t=zS(),W0e=Vs().templatedArray,Jb=n4(),w0t=W0e(\"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}});Z0e.exports=x0t(W0e(\"slider\",{visible:{valType:\"boolean\",dflt:!0},active:{valType:\"number\",min:0,dflt:0},steps:w0t,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:_0t(y0t({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:b0t.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:j0e({})},font:j0e({}),activebgcolor:{valType:\"color\",dflt:Jb.gripBgActiveColor},bgcolor:{valType:\"color\",dflt:Jb.railBgColor},bordercolor:{valType:\"color\",dflt:Jb.railBorderColor},borderwidth:{valType:\"number\",min:0,dflt:Jb.railBorderWidth},ticklen:{valType:\"number\",min:0,dflt:Jb.tickLength},tickcolor:{valType:\"color\",dflt:Jb.tickColor},tickwidth:{valType:\"number\",min:0,dflt:1},minorticklen:{valType:\"number\",min:0,dflt:Jb.minorTickLength}}),\"arraydraw\",\"from-root\")});var J0e=ye((Far,K0e)=>{\"use strict\";var yT=Mr(),X0e=Zd(),Y0e=HU(),T0t=n4(),A0t=T0t.name,S0t=Y0e.steps;K0e.exports=function(t,r){X0e(t,r,{name:A0t,handleItemDefaults:M0t})};function M0t(e,t,r){function n(f,h){return yT.coerce(e,t,Y0e,f,h)}for(var i=X0e(e,t,{name:\"steps\",handleItemDefaults:E0t}),a=0,o=0;o<i.length;o++)i[o].visible&&a++;var s;if(a<2?s=t.visible=!1:s=n(\"visible\"),!!s){t._stepCount=a;var l=t._visibleSteps=yT.filterVisible(i),u=n(\"active\");(i[u]||{}).visible||(t.active=l[0]._index),n(\"x\"),n(\"y\"),yT.noneOrAll(e,t,[\"x\",\"y\"]),n(\"xanchor\"),n(\"yanchor\"),n(\"len\"),n(\"lenmode\"),n(\"pad.t\"),n(\"pad.r\"),n(\"pad.b\"),n(\"pad.l\"),yT.coerceFont(n,\"font\",r.font);var c=n(\"currentvalue.visible\");c&&(n(\"currentvalue.xanchor\"),n(\"currentvalue.prefix\"),n(\"currentvalue.suffix\"),n(\"currentvalue.offset\"),yT.coerceFont(n,\"currentvalue.font\",t.font)),n(\"transition.duration\"),n(\"transition.easing\"),n(\"bgcolor\"),n(\"activebgcolor\"),n(\"bordercolor\"),n(\"borderwidth\"),n(\"ticklen\"),n(\"tickwidth\"),n(\"tickcolor\"),n(\"minorticklen\")}}function E0t(e,t){function r(a,o){return yT.coerce(e,t,S0t,a,o)}var n;if(e.method!==\"skip\"&&!Array.isArray(e.args)?n=t.visible=!1:n=r(\"visible\"),n){r(\"method\"),r(\"args\");var i=r(\"label\",\"step-\"+t._index);r(\"value\",i),r(\"execute\")}}});var sge=ye((qar,oge)=>{\"use strict\";var Og=xa(),mI=Xu(),x_=va(),Bg=ao(),t0=Mr(),k0t=t0.strTranslate,a4=Pl(),C0t=Vs().arrayEditor,gs=n4(),WU=Nh(),ege=WU.LINE_SPACING,GU=WU.FROM_TL,jU=WU.FROM_BR;oge.exports=function(t){var r=t._context.staticPlot,n=t._fullLayout,i=L0t(n,t),a=n._infolayer.selectAll(\"g.\"+gs.containerClassName).data(i.length>0?[0]:[]);a.enter().append(\"g\").classed(gs.containerClassName,!0).style(\"cursor\",r?null:\"ew-resize\");function o(c){c._commandObserver&&(c._commandObserver.remove(),delete c._commandObserver),mI.autoMargin(t,tge(c))}if(a.exit().each(function(){Og.select(this).selectAll(\"g.\"+gs.groupClassName).each(o)}).remove(),i.length!==0){var s=a.selectAll(\"g.\"+gs.groupClassName).data(i,P0t);s.enter().append(\"g\").classed(gs.groupClassName,!0),s.exit().each(o).remove();for(var l=0;l<i.length;l++){var u=i[l];I0t(t,u)}s.each(function(c){var f=Og.select(this);q0t(c),mI.manageCommandObserver(t,c,c._visibleSteps,function(h){var d=f.data()[0];d.active!==h.index&&(d._dragging||ige(t,f,d,h.index,!1,!0))}),R0t(t,Og.select(this),c)})}};function tge(e){return gs.autoMarginIdRoot+e._index}function L0t(e,t){for(var r=e[gs.name],n=[],i=0;i<r.length;i++){var a=r[i];a.visible&&(a._gd=t,n.push(a))}return n}function P0t(e){return e._index}function I0t(e,t){var r=Bg.tester.selectAll(\"g.\"+gs.labelGroupClass).data(t._visibleSteps);r.enter().append(\"g\").classed(gs.labelGroupClass,!0);var n=0,i=0;r.each(function(v){var x=Og.select(this),b=rge(x,{step:v},t),p=b.node();if(p){var E=Bg.bBox(p);i=Math.max(i,E.height),n=Math.max(n,E.width)}}),r.remove();var a=t._dims={};a.inputAreaWidth=Math.max(gs.railWidth,gs.gripHeight);var o=e._fullLayout._size;a.lx=o.l+o.w*t.x,a.ly=o.t+o.h*(1-t.y),t.lenmode===\"fraction\"?a.outerLength=Math.round(o.w*t.len):a.outerLength=t.len,a.inputAreaStart=0,a.inputAreaLength=Math.round(a.outerLength-t.pad.l-t.pad.r);var s=a.inputAreaLength-2*gs.stepInset,l=s/(t._stepCount-1),u=n+gs.labelPadding;if(a.labelStride=Math.max(1,Math.ceil(u/l)),a.labelHeight=i,a.currentValueMaxWidth=0,a.currentValueHeight=0,a.currentValueTotalHeight=0,a.currentValueMaxLines=1,t.currentvalue.visible){var c=Bg.tester.append(\"g\");r.each(function(v){var x=yI(c,t,v.label),b=x.node()&&Bg.bBox(x.node())||{width:0,height:0},p=a4.lineCount(x);a.currentValueMaxWidth=Math.max(a.currentValueMaxWidth,Math.ceil(b.width)),a.currentValueHeight=Math.max(a.currentValueHeight,Math.ceil(b.height)),a.currentValueMaxLines=Math.max(a.currentValueMaxLines,p)}),a.currentValueTotalHeight=a.currentValueHeight+t.currentvalue.offset,c.remove()}a.height=a.currentValueTotalHeight+gs.tickOffset+t.ticklen+gs.labelOffset+a.labelHeight+t.pad.t+t.pad.b;var f=\"left\";t0.isRightAnchor(t)&&(a.lx-=a.outerLength,f=\"right\"),t0.isCenterAnchor(t)&&(a.lx-=a.outerLength/2,f=\"center\");var h=\"top\";t0.isBottomAnchor(t)&&(a.ly-=a.height,h=\"bottom\"),t0.isMiddleAnchor(t)&&(a.ly-=a.height/2,h=\"middle\"),a.outerLength=Math.ceil(a.outerLength),a.height=Math.ceil(a.height),a.lx=Math.round(a.lx),a.ly=Math.round(a.ly);var d={y:t.y,b:a.height*jU[h],t:a.height*GU[h]};t.lenmode===\"fraction\"?(d.l=0,d.xl=t.x-t.len*GU[f],d.r=0,d.xr=t.x+t.len*jU[f]):(d.x=t.x,d.l=a.outerLength*GU[f],d.r=a.outerLength*jU[f]),mI.autoMargin(e,tge(t),d)}function R0t(e,t,r){(r.steps[r.active]||{}).visible||(r.active=r._visibleSteps[0]._index),t.call(yI,r).call(B0t,r).call(z0t,r).call(F0t,r).call(O0t,e,r).call(D0t,e,r);var n=r._dims;Bg.setTranslate(t,n.lx+r.pad.l,n.ly+r.pad.t),t.call(age,r,!1),t.call(yI,r)}function yI(e,t,r){if(t.currentvalue.visible){var n=t._dims,i,a;switch(t.currentvalue.xanchor){case\"right\":i=n.inputAreaLength-gs.currentValueInset-n.currentValueMaxWidth,a=\"left\";break;case\"center\":i=n.inputAreaLength*.5,a=\"middle\";break;default:i=gs.currentValueInset,a=\"left\"}var o=t0.ensureSingle(e,\"text\",gs.labelClass,function(h){h.attr({\"text-anchor\":a,\"data-notex\":1})}),s=t.currentvalue.prefix?t.currentvalue.prefix:\"\";if(typeof r==\"string\")s+=r;else{var l=t.steps[t.active].label,u=t._gd._fullLayout._meta;u&&(l=t0.templateString(l,u)),s+=l}t.currentvalue.suffix&&(s+=t.currentvalue.suffix),o.call(Bg.font,t.currentvalue.font).text(s).call(a4.convertToTspans,t._gd);var c=a4.lineCount(o),f=(n.currentValueMaxLines+1-c)*t.currentvalue.font.size*ege;return a4.positionText(o,i,f),o}}function D0t(e,t,r){var n=t0.ensureSingle(e,\"rect\",gs.gripRectClass,function(i){i.call(nge,t,e,r).style(\"pointer-events\",\"all\")});n.attr({width:gs.gripWidth,height:gs.gripHeight,rx:gs.gripRadius,ry:gs.gripRadius}).call(x_.stroke,r.bordercolor).call(x_.fill,r.bgcolor).style(\"stroke-width\",r.borderwidth+\"px\")}function rge(e,t,r){var n=t0.ensureSingle(e,\"text\",gs.labelClass,function(o){o.attr({\"text-anchor\":\"middle\",\"data-notex\":1})}),i=t.step.label,a=r._gd._fullLayout._meta;return a&&(i=t0.templateString(i,a)),n.call(Bg.font,r.font).text(i).call(a4.convertToTspans,r._gd),n}function z0t(e,t){var r=t0.ensureSingle(e,\"g\",gs.labelsClass),n=t._dims,i=r.selectAll(\"g.\"+gs.labelGroupClass).data(n.labelSteps);i.enter().append(\"g\").classed(gs.labelGroupClass,!0),i.exit().remove(),i.each(function(a){var o=Og.select(this);o.call(rge,a,t),Bg.setTranslate(o,ZU(t,a.fraction),gs.tickOffset+t.ticklen+t.font.size*ege+gs.labelOffset+n.currentValueTotalHeight)})}function $0e(e,t,r,n,i){var a=Math.round(n*(r._stepCount-1)),o=r._visibleSteps[a]._index;o!==r.active&&ige(e,t,r,o,!0,i)}function ige(e,t,r,n,i,a){var o=r.active;r.active=n,C0t(e.layout,gs.name,r).applyUpdate(\"active\",n);var s=r.steps[r.active];t.call(age,r,a),t.call(yI,r),e.emit(\"plotly_sliderchange\",{slider:r,step:r.steps[r.active],interaction:i,previousActive:o}),s&&s.method&&i&&(t._nextMethod?(t._nextMethod.step=s,t._nextMethod.doCallback=i,t._nextMethod.doTransition=a):(t._nextMethod={step:s,doCallback:i,doTransition:a},t._nextMethodRaf=window.requestAnimationFrame(function(){var l=t._nextMethod.step;l.method&&(l.execute&&mI.executeAPICommand(e,l.method,l.args),t._nextMethod=null,t._nextMethodRaf=null)})))}function nge(e,t,r){if(t._context.staticPlot)return;var n=r.node(),i=Og.select(t);function a(){return r.data()[0]}function o(){var s=a();t.emit(\"plotly_sliderstart\",{slider:s});var l=r.select(\".\"+gs.gripRectClass);Og.event.stopPropagation(),Og.event.preventDefault(),l.call(x_.fill,s.activebgcolor);var u=Q0e(s,Og.mouse(n)[0]);$0e(t,r,s,u,!0),s._dragging=!0;function c(){var h=a(),d=Q0e(h,Og.mouse(n)[0]);$0e(t,r,h,d,!1)}i.on(\"mousemove\",c),i.on(\"touchmove\",c);function f(){var h=a();h._dragging=!1,l.call(x_.fill,h.bgcolor),i.on(\"mouseup\",null),i.on(\"mousemove\",null),i.on(\"touchend\",null),i.on(\"touchmove\",null),t.emit(\"plotly_sliderend\",{slider:h,step:h.steps[h.active]})}i.on(\"mouseup\",f),i.on(\"touchend\",f)}e.on(\"mousedown\",o),e.on(\"touchstart\",o)}function F0t(e,t){var r=e.selectAll(\"rect.\"+gs.tickRectClass).data(t._visibleSteps),n=t._dims;r.enter().append(\"rect\").classed(gs.tickRectClass,!0),r.exit().remove(),r.attr({width:t.tickwidth+\"px\",\"shape-rendering\":\"crispEdges\"}),r.each(function(i,a){var o=a%n.labelStride===0,s=Og.select(this);s.attr({height:o?t.ticklen:t.minorticklen}).call(x_.fill,t.tickcolor),Bg.setTranslate(s,ZU(t,a/(t._stepCount-1))-.5*t.tickwidth,(o?gs.tickOffset:gs.minorTickOffset)+n.currentValueTotalHeight)})}function q0t(e){var t=e._dims;t.labelSteps=[];for(var r=e._stepCount,n=0;n<r;n+=t.labelStride)t.labelSteps.push({fraction:n/(r-1),step:e._visibleSteps[n]})}function age(e,t,r){for(var n=e.select(\"rect.\"+gs.gripRectClass),i=0,a=0;a<t._stepCount;a++)if(t._visibleSteps[a]._index===t.active){i=a;break}var o=ZU(t,i/(t._stepCount-1));if(!t._invokingCommand){var s=n;r&&t.transition.duration>0&&(s=s.transition().duration(t.transition.duration).ease(t.transition.easing)),s.attr(\"transform\",k0t(o-gs.gripWidth*.5,t._dims.currentValueTotalHeight))}}function ZU(e,t){var r=e._dims;return r.inputAreaStart+gs.stepInset+(r.inputAreaLength-2*gs.stepInset)*Math.min(1,Math.max(0,t))}function Q0e(e,t){var r=e._dims;return Math.min(1,Math.max(0,(t-gs.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*gs.stepInset-2*r.inputAreaStart)))}function O0t(e,t,r){var n=r._dims,i=t0.ensureSingle(e,\"rect\",gs.railTouchRectClass,function(a){a.call(nge,t,e,r).style(\"pointer-events\",\"all\")});i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,gs.tickOffset+r.ticklen+n.labelHeight)}).call(x_.fill,r.bgcolor).attr(\"opacity\",0),Bg.setTranslate(i,0,n.currentValueTotalHeight)}function B0t(e,t){var r=t._dims,n=r.inputAreaLength-gs.railInset*2,i=t0.ensureSingle(e,\"rect\",gs.railRectClass);i.attr({width:n,height:gs.railWidth,rx:gs.railRadius,ry:gs.railRadius,\"shape-rendering\":\"crispEdges\"}).call(x_.stroke,t.bordercolor).call(x_.fill,t.bgcolor).style(\"stroke-width\",t.borderwidth+\"px\"),Bg.setTranslate(i,gs.railInset,(r.inputAreaWidth-gs.railWidth)*.5+r.currentValueTotalHeight)}});var uge=ye((Oar,lge)=>{\"use strict\";var N0t=n4();lge.exports={moduleType:\"component\",name:N0t.name,layoutAttributes:HU(),supplyLayoutDefaults:J0e(),draw:sge()}});var _I=ye((Bar,fge)=>{\"use strict\";var cge=dh();fge.exports={bgcolor:{valType:\"color\",dflt:cge.background,editType:\"plot\"},bordercolor:{valType:\"color\",dflt:cge.defaultLine,editType:\"plot\"},borderwidth:{valType:\"integer\",dflt:0,min:0,editType:\"plot\"},autorange:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}}],editType:\"calc\",impliedEdits:{autorange:!1}},thickness:{valType:\"number\",dflt:.15,min:0,max:1,editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"}});var XU=ye((Nar,hge)=>{\"use strict\";hge.exports={_isSubplotObj:!0,rangemode:{valType:\"enumerated\",values:[\"auto\",\"fixed\",\"match\"],dflt:\"match\",editType:\"calc\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},editType:\"calc\"}});var xI=ye((Uar,dge)=>{\"use strict\";dge.exports={name:\"rangeslider\",containerClassName:\"rangeslider-container\",bgClassName:\"rangeslider-bg\",rangePlotClassName:\"rangeslider-rangeplot\",maskMinClassName:\"rangeslider-mask-min\",maskMaxClassName:\"rangeslider-mask-max\",slideBoxClassName:\"rangeslider-slidebox\",grabberMinClassName:\"rangeslider-grabber-min\",grabAreaMinClassName:\"rangeslider-grabarea-min\",handleMinClassName:\"rangeslider-handle-min\",grabberMaxClassName:\"rangeslider-grabber-max\",grabAreaMaxClassName:\"rangeslider-grabarea-max\",handleMaxClassName:\"rangeslider-handle-max\",maskMinOppAxisClassName:\"rangeslider-mask-min-opp-axis\",maskMaxOppAxisClassName:\"rangeslider-mask-max-opp-axis\",maskColor:\"rgba(0,0,0,0.4)\",maskOppAxisColor:\"rgba(0,0,0,0.2)\",slideBoxFill:\"transparent\",slideBoxCursor:\"ew-resize\",grabAreaFill:\"transparent\",grabAreaCursor:\"col-resize\",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}});var gge=ye(wI=>{\"use strict\";var U0t=af(),V0t=Pl(),vge=xI(),H0t=Nh().LINE_SPACING,bI=vge.name;function pge(e){var t=e&&e[bI];return t&&t.visible}wI.isVisible=pge;wI.makeData=function(e){for(var t=U0t.list({_fullLayout:e},\"x\",!0),r=e.margin,n=[],i=0;i<t.length;i++){var a=t[i];if(pge(a)){n.push(a);var o=a[bI];o._id=bI+a._id,o._height=(e.height-r.b-r.t)*o.thickness,o._offsetShift=Math.floor(o.borderwidth/2)}}e._rangeSliderData=n};wI.autoMarginOpts=function(e,t){var r=e._fullLayout,n=t[bI],i=t._id.charAt(0),a=0,o=0;if(t.side===\"bottom\"&&(a=t._depth,t.title.text!==r._dfltTitle[i])){o=1.5*t.title.font.size+10+n._offsetShift;var s=(t.title.text.match(V0t.BR_TAG_ALL)||[]).length;o+=s*t.title.font.size*H0t}return{x:0,y:t._counterDomainMin,l:0,r:0,t:0,b:n._height+a+Math.max(r.margin.b,o),pad:vge.extraPad+n._offsetShift*2}}});var xge=ye((Har,_ge)=>{\"use strict\";var TI=Mr(),mge=Vs(),yge=af(),G0t=_I(),j0t=XU();_ge.exports=function(t,r,n){var i=t[n],a=r[n];if(!(i.rangeslider||r._requestRangeslider[a._id]))return;TI.isPlainObject(i.rangeslider)||(i.rangeslider={});var o=i.rangeslider,s=mge.newContainer(a,\"rangeslider\");function l(L,_){return TI.coerce(o,s,G0t,L,_)}var u,c;function f(L,_){return TI.coerce(u,c,j0t,L,_)}var h=l(\"visible\");if(h){l(\"bgcolor\",r.plot_bgcolor),l(\"bordercolor\"),l(\"borderwidth\"),l(\"thickness\"),l(\"autorange\",!a.isValidRange(o.range)),l(\"range\");var d=r._subplots;if(d)for(var v=d.cartesian.filter(function(L){return L.substr(0,L.indexOf(\"y\"))===yge.name2id(n)}).map(function(L){return L.substr(L.indexOf(\"y\"),L.length)}),x=TI.simpleMap(v,yge.id2name),b=0;b<x.length;b++){var p=x[b];u=o[p]||{},c=mge.newContainer(s,p,\"yaxis\");var E=r[p],k;u.range&&E.isValidRange(u.range)&&(k=\"fixed\");var A=f(\"rangemode\",k);A!==\"match\"&&f(\"range\",E.range.slice())}s._input=o}}});var wge=ye((Gar,bge)=>{\"use strict\";var W0t=af().list,Z0t=wg().getAutoRange,X0t=xI();bge.exports=function(t){for(var r=W0t(t,\"x\",!0),n=0;n<r.length;n++){var i=r[n],a=i[X0t.name];a&&a.visible&&a.autorange&&(a._input.autorange=!0,a._input.range=a.range=Z0t(t,i))}}});var Mge=ye((jar,Sge)=>{\"use strict\";var AI=xa(),Y0t=ba(),K0t=Xu(),Ff=Mr(),SI=Ff.strTranslate,Age=ao(),b_=va(),J0t=Mb(),$0t=Jf(),YU=af(),Q0t=gv(),egt=Tg(),Bs=xI();Sge.exports=function(e){for(var t=e._fullLayout,r=t._rangeSliderData,n=0;n<r.length;n++){var i=r[n][Bs.name];i._clipId=i._id+\"-\"+t._uid}function a(s){return s._name}var o=t._infolayer.selectAll(\"g.\"+Bs.containerClassName).data(r,a);o.exit().each(function(s){var l=s[Bs.name];t._topdefs.select(\"#\"+l._clipId).remove()}).remove(),r.length!==0&&(o.enter().append(\"g\").classed(Bs.containerClassName,!0).attr(\"pointer-events\",\"all\"),o.each(function(s){var l=AI.select(this),u=s[Bs.name],c=t[YU.id2name(s.anchor)],f=u[YU.id2name(s.anchor)];if(u.range){var h=Ff.simpleMap(u.range,s.r2l),d=Ff.simpleMap(s.range,s.r2l),v;d[0]<d[1]?v=[Math.min(h[0],d[0]),Math.max(h[1],d[1])]:v=[Math.max(h[0],d[0]),Math.min(h[1],d[1])],u.range=u._input.range=Ff.simpleMap(v,s.l2r)}s.cleanRange(\"rangeslider.range\");var x=t._size,b=s.domain;u._width=x.w*(b[1]-b[0]);var p=Math.round(x.l+x.w*b[0]),E=Math.round(x.t+x.h*(1-s._counterDomainMin)+(s.side===\"bottom\"?s._depth:0)+u._offsetShift+Bs.extraPad);l.attr(\"transform\",SI(p,E)),u._rl=Ff.simpleMap(u.range,s.r2l);var k=u._rl[0],A=u._rl[1],L=A-k;if(u.p2d=function(H){return H/u._width*L+k},u.d2p=function(H){return(H-k)/L*u._width},s.rangebreaks){var _=s.locateBreaks(k,A);if(_.length){var C,M,g=0;for(C=0;C<_.length;C++)M=_[C],g+=M.max-M.min;var P=u._width/(A-k-g),T=[-P*k];for(C=0;C<_.length;C++)M=_[C],T.push(T[T.length-1]-P*(M.max-M.min));for(u.d2p=function(H){for(var X=T[0],G=0;G<_.length;G++){var N=_[G];if(H>=N.max)X=T[G+1];else if(H<N.min)break}return X+P*H},C=0;C<_.length;C++)M=_[C],M.pmin=u.d2p(M.min),M.pmax=u.d2p(M.max);u.p2d=function(H){for(var X=T[0],G=0;G<_.length;G++){var N=_[G];if(H>=N.pmax)X=T[G+1];else if(H<N.pmin)break}return(H-X)/P}}}if(f.rangemode!==\"match\"){var F=c.r2l(f.range[0]),q=c.r2l(f.range[1]),V=q-F;u.d2pOppAxis=function(H){return(H-F)/V*u._height}}l.call(ngt,e,s,u).call(agt,e,s,u).call(ogt,e,s,u).call(lgt,e,s,u,f).call(ugt,e,s,u).call(cgt,e,s,u),tgt(l,e,s,u),igt(l,e,s,u,c,f),s.side===\"bottom\"&&J0t.draw(e,s._id+\"title\",{propContainer:s,propName:s._name+\".title\",placeholder:t._dfltTitle.x,attributes:{x:s._offset+s._length/2,y:E+u._height+u._offsetShift+10+1.5*s.title.font.size,\"text-anchor\":\"middle\"}})}))};function Tge(e){return typeof e.clientX==\"number\"?e.clientX:e.touches&&e.touches.length>0?e.touches[0].clientX:0}function tgt(e,t,r,n){if(t._context.staticPlot)return;var i=e.select(\"rect.\"+Bs.slideBoxClassName).node(),a=e.select(\"rect.\"+Bs.grabAreaMinClassName).node(),o=e.select(\"rect.\"+Bs.grabAreaMaxClassName).node();function s(){var l=AI.event,u=l.target,c=Tge(l),f=c-e.node().getBoundingClientRect().left,h=n.d2p(r._rl[0]),d=n.d2p(r._rl[1]),v=Q0t.coverSlip();this.addEventListener(\"touchmove\",x),this.addEventListener(\"touchend\",b),v.addEventListener(\"mousemove\",x),v.addEventListener(\"mouseup\",b);function x(p){var E=Tge(p),k=+E-c,A,L,_;switch(u){case i:if(_=\"ew-resize\",h+k>r._length||d+k<0)return;A=h+k,L=d+k;break;case a:if(_=\"col-resize\",h+k>r._length)return;A=h+k,L=d;break;case o:if(_=\"col-resize\",d+k<0)return;A=h,L=d+k;break;default:_=\"ew-resize\",A=f,L=f+k;break}if(L<A){var C=L;L=A,A=C}n._pixelMin=A,n._pixelMax=L,egt(AI.select(v),_),rgt(e,t,r,n)}function b(){v.removeEventListener(\"mousemove\",x),v.removeEventListener(\"mouseup\",b),this.removeEventListener(\"touchmove\",x),this.removeEventListener(\"touchend\",b),Ff.removeElement(v)}}e.on(\"mousedown\",s),e.on(\"touchstart\",s)}function rgt(e,t,r,n){function i(s){return r.l2r(Ff.constrain(s,n._rl[0],n._rl[1]))}var a=i(n.p2d(n._pixelMin)),o=i(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){Y0t.call(\"_guiRelayout\",t,r._name+\".range\",[a,o])})}function igt(e,t,r,n,i,a){var o=Bs.handleWidth/2;function s(p){return Ff.constrain(p,0,n._width)}function l(p){return Ff.constrain(p,0,n._height)}function u(p){return Ff.constrain(p,-o,n._width+o)}var c=s(n.d2p(r._rl[0])),f=s(n.d2p(r._rl[1]));if(e.select(\"rect.\"+Bs.slideBoxClassName).attr(\"x\",c).attr(\"width\",f-c),e.select(\"rect.\"+Bs.maskMinClassName).attr(\"width\",c),e.select(\"rect.\"+Bs.maskMaxClassName).attr(\"x\",f).attr(\"width\",n._width-f),a.rangemode!==\"match\"){var h=n._height-l(n.d2pOppAxis(i._rl[1])),d=n._height-l(n.d2pOppAxis(i._rl[0]));e.select(\"rect.\"+Bs.maskMinOppAxisClassName).attr(\"x\",c).attr(\"height\",h).attr(\"width\",f-c),e.select(\"rect.\"+Bs.maskMaxOppAxisClassName).attr(\"x\",c).attr(\"y\",d).attr(\"height\",n._height-d).attr(\"width\",f-c),e.select(\"rect.\"+Bs.slideBoxClassName).attr(\"y\",h).attr(\"height\",d-h)}var v=.5,x=Math.round(u(c-o))-v,b=Math.round(u(f-o))+v;e.select(\"g.\"+Bs.grabberMinClassName).attr(\"transform\",SI(x,v)),e.select(\"g.\"+Bs.grabberMaxClassName).attr(\"transform\",SI(b,v))}function ngt(e,t,r,n){var i=Ff.ensureSingle(e,\"rect\",Bs.bgClassName,function(l){l.attr({x:0,y:0,\"shape-rendering\":\"crispEdges\"})}),a=n.borderwidth%2===0?n.borderwidth:n.borderwidth-1,o=-n._offsetShift,s=Age.crispRound(t,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:SI(o,o),\"stroke-width\":s}).call(b_.stroke,n.bordercolor).call(b_.fill,n.bgcolor)}function agt(e,t,r,n){var i=t._fullLayout,a=Ff.ensureSingleById(i._topdefs,\"clipPath\",n._clipId,function(o){o.append(\"rect\").attr({x:0,y:0})});a.select(\"rect\").attr({width:n._width,height:n._height})}function ogt(e,t,r,n){var i=t.calcdata,a=e.selectAll(\"g.\"+Bs.rangePlotClassName).data(r._subplotsWith,Ff.identity);a.enter().append(\"g\").attr(\"class\",function(s){return Bs.rangePlotClassName+\" \"+s}).call(Age.setClipUrl,n._clipId,t),a.order(),a.exit().remove();var o;a.each(function(s,l){var u=AI.select(this),c=l===0,f=YU.getFromId(t,s,\"y\"),h=f._name,d=n[h],v={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:n.range.slice(),calendar:r.calendar},width:n._width,height:n._height,margin:{t:0,b:0,l:0,r:0}},_context:t._context};r.rangebreaks&&(v.layout.xaxis.rangebreaks=r.rangebreaks),v.layout[h]={type:f.type,domain:[0,1],range:d.rangemode!==\"match\"?d.range.slice():f.range.slice(),calendar:f.calendar},f.rangebreaks&&(v.layout[h].rangebreaks=f.rangebreaks),K0t.supplyDefaults(v);var x=v._fullLayout.xaxis,b=v._fullLayout[h];x.clearCalc(),x.setScale(),b.clearCalc(),b.setScale();var p={id:s,plotgroup:u,xaxis:x,yaxis:b,isRangePlot:!0};c?o=p:(p.mainplot=\"xy\",p.mainplotinfo=o),$0t.rangePlot(t,p,sgt(i,s))})}function sgt(e,t){for(var r=[],n=0;n<e.length;n++){var i=e[n],a=i[0].trace;a.xaxis+a.yaxis===t&&r.push(i)}return r}function lgt(e,t,r,n,i){var a=Ff.ensureSingle(e,\"rect\",Bs.maskMinClassName,function(u){u.attr({x:0,y:0,\"shape-rendering\":\"crispEdges\"})});a.attr(\"height\",n._height).call(b_.fill,Bs.maskColor);var o=Ff.ensureSingle(e,\"rect\",Bs.maskMaxClassName,function(u){u.attr({y:0,\"shape-rendering\":\"crispEdges\"})});if(o.attr(\"height\",n._height).call(b_.fill,Bs.maskColor),i.rangemode!==\"match\"){var s=Ff.ensureSingle(e,\"rect\",Bs.maskMinOppAxisClassName,function(u){u.attr({y:0,\"shape-rendering\":\"crispEdges\"})});s.attr(\"width\",n._width).call(b_.fill,Bs.maskOppAxisColor);var l=Ff.ensureSingle(e,\"rect\",Bs.maskMaxOppAxisClassName,function(u){u.attr({y:0,\"shape-rendering\":\"crispEdges\"})});l.attr(\"width\",n._width).style(\"border-top\",Bs.maskOppBorder).call(b_.fill,Bs.maskOppAxisColor)}}function ugt(e,t,r,n){if(!t._context.staticPlot){var i=Ff.ensureSingle(e,\"rect\",Bs.slideBoxClassName,function(a){a.attr({y:0,cursor:Bs.slideBoxCursor,\"shape-rendering\":\"crispEdges\"})});i.attr({height:n._height,fill:Bs.slideBoxFill})}}function cgt(e,t,r,n){var i=Ff.ensureSingle(e,\"g\",Bs.grabberMinClassName),a=Ff.ensureSingle(e,\"g\",Bs.grabberMaxClassName),o={x:0,width:Bs.handleWidth,rx:Bs.handleRadius,fill:b_.background,stroke:b_.defaultLine,\"stroke-width\":Bs.handleStrokeWidth,\"shape-rendering\":\"crispEdges\"},s={y:Math.round(n._height/4),height:Math.round(n._height/2)},l=Ff.ensureSingle(i,\"rect\",Bs.handleMinClassName,function(d){d.attr(o)});l.attr(s);var u=Ff.ensureSingle(a,\"rect\",Bs.handleMaxClassName,function(d){d.attr(o)});u.attr(s);var c={width:Bs.grabAreaWidth,x:0,y:0,fill:Bs.grabAreaFill,cursor:t._context.staticPlot?void 0:Bs.grabAreaCursor},f=Ff.ensureSingle(i,\"rect\",Bs.grabAreaMinClassName,function(d){d.attr(c)});f.attr(\"height\",n._height);var h=Ff.ensureSingle(a,\"rect\",Bs.grabAreaMaxClassName,function(d){d.attr(c)});h.attr(\"height\",n._height)}});var kge=ye((War,Ege)=>{\"use strict\";var fgt=Mr(),hgt=_I(),dgt=XU(),KU=gge();Ege.exports={moduleType:\"component\",name:\"rangeslider\",schema:{subplots:{xaxis:{rangeslider:fgt.extendFlat({},hgt,{yaxis:dgt})}}},layoutAttributes:_I(),handleDefaults:xge(),calcAutorange:wge(),draw:Mge(),isVisible:KU.isVisible,makeData:KU.makeData,autoMarginOpts:KU.autoMarginOpts}});var MI=ye((Zar,Lge)=>{\"use strict\";var vgt=Su(),Cge=dh(),pgt=Vs().templatedArray,ggt=pgt(\"button\",{visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},step:{valType:\"enumerated\",values:[\"month\",\"year\",\"day\",\"hour\",\"minute\",\"second\",\"all\"],dflt:\"month\",editType:\"plot\"},stepmode:{valType:\"enumerated\",values:[\"backward\",\"todate\"],dflt:\"backward\",editType:\"plot\"},count:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},label:{valType:\"string\",editType:\"plot\"},editType:\"plot\"});Lge.exports={visible:{valType:\"boolean\",editType:\"plot\"},buttons:ggt,x:{valType:\"number\",min:-2,max:3,editType:\"plot\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"plot\"},y:{valType:\"number\",min:-2,max:3,editType:\"plot\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"bottom\",editType:\"plot\"},font:vgt({editType:\"plot\"}),bgcolor:{valType:\"color\",dflt:Cge.lightLine,editType:\"plot\"},activecolor:{valType:\"color\",editType:\"plot\"},bordercolor:{valType:\"color\",dflt:Cge.defaultLine,editType:\"plot\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"}});var JU=ye((Xar,Pge)=>{\"use strict\";Pge.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}});var Dge=ye((Yar,Rge)=>{\"use strict\";var EI=Mr(),mgt=va(),ygt=Vs(),_gt=Zd(),Ige=MI(),$U=JU();Rge.exports=function(t,r,n,i,a){var o=t.rangeselector||{},s=ygt.newContainer(r,\"rangeselector\");function l(d,v){return EI.coerce(o,s,Ige,d,v)}var u=_gt(o,s,{name:\"buttons\",handleItemDefaults:xgt,calendar:a}),c=l(\"visible\",u.length>0);if(c){var f=bgt(r,n,i);l(\"x\",f[0]),l(\"y\",f[1]),EI.noneOrAll(t,r,[\"x\",\"y\"]),l(\"xanchor\"),l(\"yanchor\"),EI.coerceFont(l,\"font\",n.font);var h=l(\"bgcolor\");l(\"activecolor\",mgt.contrast(h,$U.lightAmount,$U.darkAmount)),l(\"bordercolor\"),l(\"borderwidth\")}};function xgt(e,t,r,n){var i=n.calendar;function a(l,u){return EI.coerce(e,t,Ige.buttons,l,u)}var o=a(\"visible\");if(o){var s=a(\"step\");s!==\"all\"&&(i&&i!==\"gregorian\"&&(s===\"month\"||s===\"year\")?t.stepmode=\"backward\":a(\"stepmode\"),a(\"count\")),a(\"label\")}}function bgt(e,t,r){for(var n=r.filter(function(s){return t[s].anchor===e._id}),i=0,a=0;a<n.length;a++){var o=t[n[a]].domain;o&&(i=Math.max(o[1],i))}return[e.domain[0],i+$U.yPad]}});var Fge=ye((Kar,zge)=>{\"use strict\";var wgt=dq(),Tgt=Mr().titleCase;zge.exports=function(t,r){var n=t._name,i={};if(r.step===\"all\")i[n+\".autorange\"]=!0;else{var a=Agt(t,r);i[n+\".range[0]\"]=a[0],i[n+\".range[1]\"]=a[1]}return i};function Agt(e,t){var r=e.range,n=new Date(e.r2l(r[1])),i=t.step,a=wgt[\"utc\"+Tgt(i)],o=t.count,s;switch(t.stepmode){case\"backward\":s=e.l2r(+a.offset(n,-o));break;case\"todate\":var l=a.offset(n,-o);s=e.l2r(+a.ceil(l));break}var u=r[1];return[s,u]}});var Gge=ye((Jar,Hge)=>{\"use strict\";var CI=xa(),Sgt=ba(),Mgt=Xu(),qge=va(),Vge=ao(),Iy=Mr(),Oge=Iy.strTranslate,kI=Pl(),Egt=af(),tV=Nh(),Bge=tV.LINE_SPACING,Nge=tV.FROM_TL,Uge=tV.FROM_BR,eV=JU(),kgt=Fge();Hge.exports=function(t){var r=t._fullLayout,n=r._infolayer.selectAll(\".rangeselector\").data(Cgt(t),Lgt);n.enter().append(\"g\").classed(\"rangeselector\",!0),n.exit().remove(),n.style({cursor:\"pointer\",\"pointer-events\":\"all\"}),n.each(function(i){var a=CI.select(this),o=i,s=o.rangeselector,l=a.selectAll(\"g.button\").data(Iy.filterVisible(s.buttons));l.enter().append(\"g\").classed(\"button\",!0),l.exit().remove(),l.each(function(u){var c=CI.select(this),f=kgt(o,u);u._isActive=Pgt(o,u,f),c.call(QU,s,u),c.call(Rgt,s,u,t),c.on(\"click\",function(){t._dragged||Sgt.call(\"_guiRelayout\",t,f)}),c.on(\"mouseover\",function(){u._isHovered=!0,c.call(QU,s,u)}),c.on(\"mouseout\",function(){u._isHovered=!1,c.call(QU,s,u)})}),zgt(t,l,s,o._name,a)})};function Cgt(e){for(var t=Egt.list(e,\"x\",!0),r=[],n=0;n<t.length;n++){var i=t[n];i.rangeselector&&i.rangeselector.visible&&r.push(i)}return r}function Lgt(e){return e._id}function Pgt(e,t,r){if(t.step===\"all\")return e.autorange===!0;var n=Object.keys(r);return e.range[0]===r[n[0]]&&e.range[1]===r[n[1]]}function QU(e,t,r){var n=Iy.ensureSingle(e,\"rect\",\"selector-rect\",function(i){i.attr(\"shape-rendering\",\"crispEdges\")});n.attr({rx:eV.rx,ry:eV.ry}),n.call(qge.stroke,t.bordercolor).call(qge.fill,Igt(t,r)).style(\"stroke-width\",t.borderwidth+\"px\")}function Igt(e,t){return t._isActive||t._isHovered?e.activecolor:e.bgcolor}function Rgt(e,t,r,n){function i(o){kI.convertToTspans(o,n)}var a=Iy.ensureSingle(e,\"text\",\"selector-text\",function(o){o.attr(\"text-anchor\",\"middle\")});a.call(Vge.font,t.font).text(Dgt(r,n._fullLayout._meta)).call(i)}function Dgt(e,t){return e.label?t?Iy.templateString(e.label,t):e.label:e.step===\"all\"?\"all\":e.count+e.step.charAt(0)}function zgt(e,t,r,n,i){var a=0,o=0,s=r.borderwidth;t.each(function(){var d=CI.select(this),v=d.select(\".selector-text\"),x=r.font.size*Bge,b=Math.max(x*kI.lineCount(v),16)+3;o=Math.max(o,b)}),t.each(function(){var d=CI.select(this),v=d.select(\".selector-rect\"),x=d.select(\".selector-text\"),b=x.node()&&Vge.bBox(x.node()).width,p=r.font.size*Bge,E=kI.lineCount(x),k=Math.max(b+10,eV.minButtonWidth);d.attr(\"transform\",Oge(s+a,s)),v.attr({x:0,y:0,width:k,height:o}),kI.positionText(x,k/2,o/2-(E-1)*p/2+3),a+=k+5});var l=e._fullLayout._size,u=l.l+l.w*r.x,c=l.t+l.h*(1-r.y),f=\"left\";Iy.isRightAnchor(r)&&(u-=a,f=\"right\"),Iy.isCenterAnchor(r)&&(u-=a/2,f=\"center\");var h=\"top\";Iy.isBottomAnchor(r)&&(c-=o,h=\"bottom\"),Iy.isMiddleAnchor(r)&&(c-=o/2,h=\"middle\"),a=Math.ceil(a),o=Math.ceil(o),u=Math.round(u),c=Math.round(c),Mgt.autoMargin(e,n+\"-range-selector\",{x:r.x,y:r.y,l:a*Nge[f],r:a*Uge[f],b:o*Uge[h],t:o*Nge[h]}),i.attr(\"transform\",Oge(u,c))}});var Wge=ye(($ar,jge)=>{\"use strict\";jge.exports={moduleType:\"component\",name:\"rangeselector\",schema:{subplots:{xaxis:{rangeselector:MI()}}},layoutAttributes:MI(),handleDefaults:Dge(),draw:Gge()}});var Ju=ye(rV=>{\"use strict\";var Zge=no().extendFlat;rV.attributes=function(e,t){e=e||{},t=t||{};var r={valType:\"info_array\",editType:e.editType,items:[{valType:\"number\",min:0,max:1,editType:e.editType},{valType:\"number\",min:0,max:1,editType:e.editType}],dflt:[0,1]},n=e.name?e.name+\" \":\"\",i=e.trace?\"trace \":\"subplot \",a=t.description?\" \"+t.description:\"\",o={x:Zge({},r,{}),y:Zge({},r,{}),editType:e.editType};return e.noGridCell||(o.row={valType:\"integer\",min:0,dflt:0,editType:e.editType},o.column={valType:\"integer\",min:0,dflt:0,editType:e.editType}),o};rV.defaults=function(e,t,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=t.grid;if(o){var s=r(\"domain.column\");s!==void 0&&(s<o.columns?i=o._domains.x[s]:delete e.domain.column);var l=r(\"domain.row\");l!==void 0&&(l<o.rows?a=o._domains.y[l]:delete e.domain.row)}var u=r(\"domain.x\",i),c=r(\"domain.y\",a);u[0]<u[1]||(e.domain.x=i.slice()),c[0]<c[1]||(e.domain.y=a.slice())}});var nV=ye((eor,Jge)=>{\"use strict\";var Fgt=Mr(),qgt=n3().counter,Ogt=Ju().attributes,Xge=ad().idRegex,Bgt=Vs(),iV={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:[qgt(\"xy\").toString(),\"\"],editType:\"plot\"},editType:\"plot\"},xaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[Xge.x.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},yaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[Xge.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:Ogt({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 LI(e,t,r){var n=t[r+\"axes\"],i=Object.keys((e._splomAxes||{})[r]||{});if(Array.isArray(n))return n;if(i.length)return i}function Ngt(e,t){var r=e.grid||{},n=LI(t,r,\"x\"),i=LI(t,r,\"y\");if(!e.grid&&!n&&!i)return;var a=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),o=Array.isArray(n),s=Array.isArray(i),l=o&&n!==r.xaxes&&s&&i!==r.yaxes,u,c;a?(u=r.subplots.length,c=r.subplots[0].length):(s&&(u=i.length),o&&(c=n.length));var f=Bgt.newContainer(t,\"grid\");function h(_,C){return Fgt.coerce(r,f,iV,_,C)}var d=h(\"rows\",u),v=h(\"columns\",c);if(!(d*v>1)){delete t.grid;return}if(!a&&!o&&!s){var x=h(\"pattern\")===\"independent\";x&&(a=!0)}f._hasSubplotGrid=a;var b=h(\"roworder\"),p=b===\"top to bottom\",E=a?.2:.1,k=a?.3:.1,A,L;l&&t._splomGridDflt&&(A=t._splomGridDflt.xside,L=t._splomGridDflt.yside),f._domains={x:Yge(\"x\",h,E,A,v),y:Yge(\"y\",h,k,L,d,p)}}function Yge(e,t,r,n,i,a){var o=t(e+\"gap\",r),s=t(\"domain.\"+e);t(e+\"side\",n);for(var l=new Array(i),u=s[0],c=(s[1]-u)/(i-o),f=c*(1-o),h=0;h<i;h++){var d=u+c*h;l[a?i-1-h:h]=[d,d+f]}return l}function Ugt(e,t){var r=t.grid;if(!(!r||!r._domains)){var n=e.grid||{},i=t._subplots,a=r._hasSubplotGrid,o=r.rows,s=r.columns,l=r.pattern===\"independent\",u,c,f,h,d,v,x,b=r._axisMap={};if(a){var p=n.subplots||[];v=r.subplots=new Array(o);var E=1;for(u=0;u<o;u++){var k=v[u]=new Array(s),A=p[u]||[];for(c=0;c<s;c++)if(l?(d=E===1?\"xy\":\"x\"+E+\"y\"+E,E++):d=A[c],k[c]=\"\",i.cartesian.indexOf(d)!==-1){if(x=d.indexOf(\"y\"),f=d.slice(0,x),h=d.slice(x),b[f]!==void 0&&b[f]!==c||b[h]!==void 0&&b[h]!==u)continue;k[c]=d,b[f]=c,b[h]=u}}}else{var L=LI(t,n,\"x\"),_=LI(t,n,\"y\");r.xaxes=Kge(L,i.xaxis,s,b,\"x\"),r.yaxes=Kge(_,i.yaxis,o,b,\"y\")}var C=r._anchors={},M=r.roworder===\"top to bottom\";for(var g in b){var P=g.charAt(0),T=r[P+\"side\"],F,q,V;if(T.length<8)C[g]=\"free\";else if(P===\"x\"){if(T.charAt(0)===\"t\"===M?(F=0,q=1,V=o):(F=o-1,q=-1,V=-1),a){var H=b[g];for(u=F;u!==V;u+=q)if(d=v[u][H],!!d&&(x=d.indexOf(\"y\"),d.slice(0,x)===g)){C[g]=d.slice(x);break}}else for(u=F;u!==V;u+=q)if(h=r.yaxes[u],i.cartesian.indexOf(g+h)!==-1){C[g]=h;break}}else if(T.charAt(0)===\"l\"?(F=0,q=1,V=s):(F=s-1,q=-1,V=-1),a){var X=b[g];for(u=F;u!==V;u+=q)if(d=v[X][u],!!d&&(x=d.indexOf(\"y\"),d.slice(x)===g)){C[g]=d.slice(0,x);break}}else for(u=F;u!==V;u+=q)if(f=r.xaxes[u],i.cartesian.indexOf(f+g)!==-1){C[g]=f;break}}}}function Kge(e,t,r,n,i){var a=new Array(r),o;function s(l,u){t.indexOf(u)!==-1&&n[u]===void 0?(a[l]=u,n[u]=l):a[l]=\"\"}if(Array.isArray(e))for(o=0;o<r;o++)s(o,e[o]);else for(s(0,i),o=1;o<r;o++)s(o,i+(o+1));return a}Jge.exports={moduleType:\"component\",name:\"grid\",schema:{layout:{grid:iV}},layoutAttributes:iV,sizeDefaults:Ngt,contentDefaults:Ugt}});var aV=ye((tor,$ge)=>{\"use strict\";$ge.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\"}});var tme=ye((ror,eme)=>{\"use strict\";var Qge=uo(),Vgt=ba(),Hgt=Mr(),Ggt=Vs(),jgt=aV();eme.exports=function(e,t,r,n){var i=\"error_\"+n.axis,a=Ggt.newContainer(t,i),o=e[i]||{};function s(v,x){return Hgt.coerce(o,a,jgt,v,x)}var l=o.array!==void 0||o.value!==void 0||o.type===\"sqrt\",u=s(\"visible\",l);if(u!==!1){var c=s(\"type\",\"array\"in o?\"data\":\"percent\"),f=!0;c!==\"sqrt\"&&(f=s(\"symmetric\",!((c===\"data\"?\"arrayminus\":\"valueminus\")in o))),c===\"data\"?(s(\"array\"),s(\"traceref\"),f||(s(\"arrayminus\"),s(\"tracerefminus\"))):(c===\"percent\"||c===\"constant\")&&(s(\"value\"),f||s(\"valueminus\"));var h=\"copy_\"+n.inherit+\"style\";if(n.inherit){var d=t[\"error_\"+n.inherit];(d||{}).visible&&s(h,!(o.color||Qge(o.thickness)||Qge(o.width)))}(!n.inherit||!a[h])&&(s(\"color\",r),s(\"thickness\"),s(\"width\",Vgt.traceIs(t,\"gl3d\")?0:4))}}});var oV=ye((ior,ime)=>{\"use strict\";ime.exports=function(t){var r=t.type,n=t.symmetric;if(r===\"data\"){var i=t.array||[];if(n)return function(u,c){var f=+i[c];return[f,f]};var a=t.arrayminus||[];return function(u,c){var f=+i[c],h=+a[c];return!isNaN(f)||!isNaN(h)?[h||0,f||0]:[NaN,NaN]}}else{var o=rme(r,t.value),s=rme(r,t.valueminus);return n||t.valueminus===void 0?function(u){var c=o(u);return[c,c]}:function(u){return[s(u),o(u)]}}};function rme(e,t){if(e===\"percent\")return function(r){return Math.abs(r*t/100)};if(e===\"constant\")return function(){return Math.abs(t)};if(e===\"sqrt\")return function(r){return Math.sqrt(Math.abs(r))}}});var ome=ye((nor,ame)=>{\"use strict\";var sV=uo(),Wgt=ba(),lV=Qa(),Zgt=Mr(),Xgt=oV();ame.exports=function(t){for(var r=t.calcdata,n=0;n<r.length;n++){var i=r[n],a=i[0].trace;if(a.visible===!0&&Wgt.traceIs(a,\"errorBarsOK\")){var o=lV.getFromId(t,a.xaxis),s=lV.getFromId(t,a.yaxis);nme(i,a,o,\"x\"),nme(i,a,s,\"y\")}}};function nme(e,t,r,n){var i=t[\"error_\"+n]||{},a=i.visible&&[\"linear\",\"log\"].indexOf(r.type)!==-1,o=[];if(a){for(var s=Xgt(i),l=0;l<e.length;l++){var u=e[l],c=u.i;if(c===void 0)c=l;else if(c===null)continue;var f=u[n];if(sV(r.c2l(f))){var h=s(f,c);if(sV(h[0])&&sV(h[1])){var d=u[n+\"s\"]=f-h[0],v=u[n+\"h\"]=f+h[1];o.push(d,v)}}}var x=r._id,b=t._extremes[x],p=lV.findExtremes(r,o,Zgt.extendFlat({tozero:b.opts.tozero},{padded:!0}));b.min=b.min.concat(p.min),b.max=b.max.concat(p.max)}}});var ume=ye((aor,lme)=>{\"use strict\";var sme=xa(),w_=uo(),Ygt=ao(),Kgt=lu();lme.exports=function(t,r,n,i){var a,o=n.xaxis,s=n.yaxis,l=i&&i.duration>0,u=t._context.staticPlot;r.each(function(c){var f=c[0].trace,h=f.error_x||{},d=f.error_y||{},v;f.ids&&(v=function(E){return E.id});var x=Kgt.hasMarkers(f)&&f.marker.maxdisplayed>0;!d.visible&&!h.visible&&(c=[]);var b=sme.select(this).selectAll(\"g.errorbar\").data(c,v);if(b.exit().remove(),!!c.length){h.visible||b.selectAll(\"path.xerror\").remove(),d.visible||b.selectAll(\"path.yerror\").remove(),b.style(\"opacity\",1);var p=b.enter().append(\"g\").classed(\"errorbar\",!0);l&&p.style(\"opacity\",0).transition().duration(i.duration).style(\"opacity\",1),Ygt.setClipUrl(b,n.layerClipId,t),b.each(function(E){var k=sme.select(this),A=Jgt(E,o,s);if(!(x&&!E.vis)){var L,_=k.select(\"path.yerror\");if(d.visible&&w_(A.x)&&w_(A.yh)&&w_(A.ys)){var C=d.width;L=\"M\"+(A.x-C)+\",\"+A.yh+\"h\"+2*C+\"m-\"+C+\",0V\"+A.ys,A.noYS||(L+=\"m-\"+C+\",0h\"+2*C),a=!_.size(),a?_=k.append(\"path\").style(\"vector-effect\",u?\"none\":\"non-scaling-stroke\").classed(\"yerror\",!0):l&&(_=_.transition().duration(i.duration).ease(i.easing)),_.attr(\"d\",L)}else _.remove();var M=k.select(\"path.xerror\");if(h.visible&&w_(A.y)&&w_(A.xh)&&w_(A.xs)){var g=(h.copy_ystyle?d:h).width;L=\"M\"+A.xh+\",\"+(A.y-g)+\"v\"+2*g+\"m0,-\"+g+\"H\"+A.xs,A.noXS||(L+=\"m0,-\"+g+\"v\"+2*g),a=!M.size(),a?M=k.append(\"path\").style(\"vector-effect\",u?\"none\":\"non-scaling-stroke\").classed(\"xerror\",!0):l&&(M=M.transition().duration(i.duration).ease(i.easing)),M.attr(\"d\",L)}else M.remove()}})}})};function Jgt(e,t,r){var n={x:t.c2p(e.x),y:r.c2p(e.y)};return e.yh!==void 0&&(n.yh=r.c2p(e.yh),n.ys=r.c2p(e.ys),w_(n.ys)||(n.noYS=!0,n.ys=r.c2p(e.ys,!0))),e.xh!==void 0&&(n.xh=t.c2p(e.xh),n.xs=t.c2p(e.xs),w_(n.xs)||(n.noXS=!0,n.xs=t.c2p(e.xs,!0))),n}});var hme=ye((oor,fme)=>{\"use strict\";var $gt=xa(),cme=va();fme.exports=function(t){t.each(function(r){var n=r[0].trace,i=n.error_y||{},a=n.error_x||{},o=$gt.select(this);o.selectAll(\"path.yerror\").style(\"stroke-width\",i.thickness+\"px\").call(cme.stroke,i.color),a.copy_ystyle&&(a=i),o.selectAll(\"path.xerror\").style(\"stroke-width\",a.thickness+\"px\").call(cme.stroke,a.color)})}});var pme=ye((sor,vme)=>{\"use strict\";var o4=Mr(),dme=Bu().overrideAll,s4=aV(),$b={error_x:o4.extendFlat({},s4),error_y:o4.extendFlat({},s4)};delete $b.error_x.copy_zstyle;delete $b.error_y.copy_zstyle;delete $b.error_y.copy_ystyle;var l4={error_x:o4.extendFlat({},s4),error_y:o4.extendFlat({},s4),error_z:o4.extendFlat({},s4)};delete l4.error_x.copy_ystyle;delete l4.error_y.copy_ystyle;delete l4.error_z.copy_ystyle;delete l4.error_z.copy_zstyle;vme.exports={moduleType:\"component\",name:\"errorbars\",schema:{traces:{scatter:$b,bar:$b,histogram:$b,scatter3d:dme(l4,\"calc\",\"nested\"),scattergl:dme($b,\"calc\",\"nested\")}},supplyDefaults:tme(),calc:ome(),makeComputeError:oV(),plot:ume(),style:hme(),hoverInfo:Qgt};function Qgt(e,t,r){(t.error_y||{}).visible&&(r.yerr=e.yh-e.y,t.error_y.symmetric||(r.yerrneg=e.y-e.ys)),(t.error_x||{}).visible&&(r.xerr=e.xh-e.x,t.error_x.symmetric||(r.xerrneg=e.x-e.xs))}});var mme=ye((lor,gme)=>{\"use strict\";gme.exports={cn:{colorbar:\"colorbar\",cbbg:\"cbbg\",cbfill:\"cbfill\",cbfills:\"cbfills\",cbline:\"cbline\",cblines:\"cblines\",cbaxis:\"cbaxis\",cbtitleunshift:\"cbtitleunshift\",cbtitle:\"cbtitle\",cboutline:\"cboutline\",crisp:\"crisp\",jsPlaceholder:\"js-placeholder\"}}});var Ame=ye((uor,Tme)=>{\"use strict\";var T_=xa(),uV=id(),II=Xu(),yme=ba(),Ry=Qa(),PI=gv(),B0=Mr(),Ug=B0.strTranslate,wme=no().extendFlat,cV=Tg(),Ng=ao(),fV=va(),emt=Mb(),tmt=Pl(),rmt=Dv().flipScale,imt=JM(),nmt=iI(),amt=Cd(),hV=Nh(),_me=hV.LINE_SPACING,xme=hV.FROM_TL,bme=hV.FROM_BR,Vc=mme().cn;function omt(e){var t=e._fullLayout,r=t._infolayer.selectAll(\"g.\"+Vc.colorbar).data(smt(e),function(n){return n._id});r.enter().append(\"g\").attr(\"class\",function(n){return n._id}).classed(Vc.colorbar,!0),r.each(function(n){var i=T_.select(this);B0.ensureSingle(i,\"rect\",Vc.cbbg),B0.ensureSingle(i,\"g\",Vc.cbfills),B0.ensureSingle(i,\"g\",Vc.cblines),B0.ensureSingle(i,\"g\",Vc.cbaxis,function(o){o.classed(Vc.crisp,!0)}),B0.ensureSingle(i,\"g\",Vc.cbtitleunshift,function(o){o.append(\"g\").classed(Vc.cbtitle,!0)}),B0.ensureSingle(i,\"rect\",Vc.cboutline);var a=lmt(i,n,e);a&&a.then&&(e._promises||[]).push(a),e._context.edits.colorbarPosition&&umt(i,n,e)}),r.exit().each(function(n){II.autoMargin(e,n._id)}).remove(),r.order()}function smt(e){var t=e._fullLayout,r=e.calcdata,n=[],i,a,o,s;function l(k){return wme(k,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function u(){typeof s.calc==\"function\"?s.calc(e,o,i):(i._fillgradient=a.reversescale?rmt(a.colorscale):a.colorscale,i._zrange=[a[s.min],a[s.max]])}for(var c=0;c<r.length;c++){var f=r[c];if(o=f[0].trace,!!o._module){var h=o._module.colorbar;if(o.visible===!0&&h)for(var d=Array.isArray(h),v=d?h:[h],x=0;x<v.length;x++){s=v[x];var b=s.container;a=b?o[b]:o,a&&a.showscale&&(i=l(a.colorbar),i._id=\"cb\"+o.uid+(d&&b?\"-\"+b:\"\"),i._traceIndex=o.index,i._propPrefix=(b?b+\".\":\"\")+\"colorbar.\",i._meta=o._meta,u(),n.push(i))}}}for(var p in t._colorAxes)if(a=t[p],a.showscale){var E=t._colorAxes[p];i=l(a.colorbar),i._id=\"cb\"+p,i._propPrefix=p+\".colorbar.\",i._meta=t._meta,s={min:\"cmin\",max:\"cmax\"},E[0]!==\"heatmap\"&&(o=E[1],s.calc=o._module.colorbar.calc),u(),n.push(i)}return n}function lmt(e,t,r){var n=t.orientation===\"v\",i=t.len,a=t.lenmode,o=t.thickness,s=t.thicknessmode,l=t.outlinewidth,u=t.borderwidth,c=t.bgcolor,f=t.xanchor,h=t.yanchor,d=t.xpad,v=t.ypad,x=t.x,b=n?t.y:1-t.y,p=t.yref===\"paper\",E=t.xref===\"paper\",k=r._fullLayout,A=k._size,L=t._fillcolor,_=t._line,C=t.title,M=C.side,g=t._zrange||T_.extent((typeof L==\"function\"?L:_.color).domain()),P=typeof _.color==\"function\"?_.color:function(){return _.color},T=typeof L==\"function\"?L:function(){return L},F=t._levels,q=cmt(r,t,g),V=q.fill,H=q.line,X=Math.round(o*(s===\"fraction\"?n?A.w:A.h:1)),G=X/(n?A.w:A.h),N=Math.round(i*(a===\"fraction\"?n?A.h:A.w:1)),W=N/(n?A.h:A.w),re=E?A.w:r._fullLayout.width,ae=p?A.h:r._fullLayout.height,_e=Math.round(n?x*re+d:b*ae+v),Me={center:.5,right:1}[f]||0,ke={top:1,middle:.5}[h]||0,ge=n?x-Me*G:b-ke*G,ie=n?b-ke*W:x-Me*W,Te=Math.round(n?ae*(1-ie):re*ie);t._lenFrac=W,t._thickFrac=G,t._uFrac=ge,t._vFrac=ie;var Ee=t._axis=fmt(r,t,g);Ee.position=G+(n?x+d/A.w:b+v/A.h);var Ae=[\"top\",\"bottom\"].indexOf(M)!==-1;if(n&&Ae&&(Ee.title.side=M,Ee.titlex=x+d/A.w,Ee.titley=ie+(C.side===\"top\"?W-v/A.h:v/A.h)),!n&&!Ae&&(Ee.title.side=M,Ee.titley=b+v/A.h,Ee.titlex=ie+d/A.w),_.color&&t.tickmode===\"auto\"){Ee.tickmode=\"linear\",Ee.tick0=F.start;var ze=F.size,Ce=B0.constrain(N/50,4,15)+1,me=(g[1]-g[0])/((t.nticks||Ce)*ze);if(me>1){var Re=Math.pow(10,Math.floor(Math.log(me)/Math.LN10));ze*=Re*B0.roundUp(me/Re,[2,5,10]),(Math.abs(F.start)/F.size+1e-6)%1<2e-6&&(Ee.tick0=0)}Ee.dtick=ze}Ee.domain=n?[ie+v/A.h,ie+W-v/A.h]:[ie+d/A.w,ie+W-d/A.w],Ee.setScale(),e.attr(\"transform\",Ug(Math.round(A.l),Math.round(A.t)));var ce=e.select(\".\"+Vc.cbtitleunshift).attr(\"transform\",Ug(-Math.round(A.l),-Math.round(A.t))),Ge=Ee.ticklabelposition,nt=Ee.title.font.size,ct=e.select(\".\"+Vc.cbaxis),qt,rt=0,ot=0;function Rt(er,Ke){var xt={propContainer:Ee,propName:t._propPrefix+\"title\",traceIndex:t._traceIndex,_meta:t._meta,placeholder:k._dfltTitle.colorbar,containerGroup:e.select(\".\"+Vc.cbtitle)},bt=er.charAt(0)===\"h\"?er.substr(1):\"h\"+er;e.selectAll(\".\"+bt+\",.\"+bt+\"-math-group\").remove(),emt.draw(r,er,wme(xt,Ke||{}))}function kt(){if(n&&Ae||!n&&!Ae){var er,Ke;M===\"top\"&&(er=d+A.l+re*x,Ke=v+A.t+ae*(1-ie-W)+3+nt*.75),M===\"bottom\"&&(er=d+A.l+re*x,Ke=v+A.t+ae*(1-ie)-3-nt*.25),M===\"right\"&&(Ke=v+A.t+ae*b+3+nt*.75,er=d+A.l+re*ie),Rt(Ee._id+\"title\",{attributes:{x:er,y:Ke,\"text-anchor\":n?\"start\":\"middle\"}})}}function Ct(){if(n&&!Ae||!n&&Ae){var er=Ee.position||0,Ke=Ee._offset+Ee._length/2,xt,bt;if(M===\"right\")bt=Ke,xt=A.l+re*er+10+nt*(Ee.showticklabels?1:.5);else if(xt=Ke,M===\"bottom\"&&(bt=A.t+ae*er+10+(Ge.indexOf(\"inside\")===-1?Ee.tickfont.size:0)+(Ee.ticks!==\"intside\"&&t.ticklen||0)),M===\"top\"){var Lt=C.text.split(\"<br>\").length;bt=A.t+ae*er+10-X-_me*nt*Lt}Rt((n?\"h\":\"v\")+Ee._id+\"title\",{avoid:{selection:T_.select(r).selectAll(\"g.\"+Ee._id+\"tick\"),side:M,offsetTop:n?0:A.t,offsetLeft:n?A.l:0,maxShift:n?k.width:k.height},attributes:{x:xt,y:bt,\"text-anchor\":\"middle\"},transform:{rotate:n?-90:0,offset:0}})}}function Yt(){if(!n&&!Ae||n&&Ae){var er=e.select(\".\"+Vc.cbtitle),Ke=er.select(\"text\"),xt=[-l/2,l/2],bt=er.select(\".h\"+Ee._id+\"title-math-group\").node(),Lt=15.6;Ke.node()&&(Lt=parseInt(Ke.node().style.fontSize,10)*_me);var St;if(bt?(St=Ng.bBox(bt),ot=St.width,rt=St.height,rt>Lt&&(xt[1]-=(rt-Lt)/2)):Ke.node()&&!Ke.classed(Vc.jsPlaceholder)&&(St=Ng.bBox(Ke.node()),ot=St.width,rt=St.height),n){if(rt){if(rt+=5,M===\"top\")Ee.domain[1]-=rt/A.h,xt[1]*=-1;else{Ee.domain[0]+=rt/A.h;var Et=tmt.lineCount(Ke);xt[1]+=(1-Et)*Lt}er.attr(\"transform\",Ug(xt[0],xt[1])),Ee.setScale()}}else ot&&(M===\"right\"&&(Ee.domain[0]+=(ot+nt/2)/A.w),er.attr(\"transform\",Ug(xt[0],xt[1])),Ee.setScale())}e.selectAll(\".\"+Vc.cbfills+\",.\"+Vc.cblines).attr(\"transform\",n?Ug(0,Math.round(A.h*(1-Ee.domain[1]))):Ug(Math.round(A.w*Ee.domain[0]),0)),ct.attr(\"transform\",n?Ug(0,Math.round(-A.t)):Ug(Math.round(-A.l),0));var dt=e.select(\".\"+Vc.cbfills).selectAll(\"rect.\"+Vc.cbfill).attr(\"style\",\"\").data(V);dt.enter().append(\"rect\").classed(Vc.cbfill,!0).attr(\"style\",\"\"),dt.exit().remove();var Ht=g.map(Ee.c2p).map(Math.round).sort(function(Or,Nr){return Or-Nr});dt.each(function(Or,Nr){var ut=[Nr===0?g[0]:(V[Nr]+V[Nr-1])/2,Nr===V.length-1?g[1]:(V[Nr]+V[Nr+1])/2].map(Ee.c2p).map(Math.round);n&&(ut[1]=B0.constrain(ut[1]+(ut[1]>ut[0])?1:-1,Ht[0],Ht[1]));var Ne=T_.select(this).attr(n?\"x\":\"y\",_e).attr(n?\"y\":\"x\",T_.min(ut)).attr(n?\"width\":\"height\",Math.max(X,2)).attr(n?\"height\":\"width\",Math.max(T_.max(ut)-T_.min(ut),2));if(t._fillgradient)Ng.gradient(Ne,r,t._id,n?\"vertical\":\"horizontalreversed\",t._fillgradient,\"fill\");else{var Ye=T(Or).replace(\"e-\",\"\");Ne.attr(\"fill\",uV(Ye).toHexString())}});var $t=e.select(\".\"+Vc.cblines).selectAll(\"path.\"+Vc.cbline).data(_.color&&_.width?H:[]);$t.enter().append(\"path\").classed(Vc.cbline,!0),$t.exit().remove(),$t.each(function(Or){var Nr=_e,ut=Math.round(Ee.c2p(Or))+_.width/2%1;T_.select(this).attr(\"d\",\"M\"+(n?Nr+\",\"+ut:ut+\",\"+Nr)+(n?\"h\":\"v\")+X).call(Ng.lineGroupStyle,_.width,P(Or),_.dash)}),ct.selectAll(\"g.\"+Ee._id+\"tick,path\").remove();var fr=_e+X+(l||0)/2-(t.ticks===\"outside\"?1:0),_r=Ry.calcTicks(Ee),Br=Ry.getTickSigns(Ee)[2];return Ry.drawTicks(r,Ee,{vals:Ee.ticks===\"inside\"?Ry.clipEnds(Ee,_r):_r,layer:ct,path:Ry.makeTickPath(Ee,fr,Br),transFn:Ry.makeTransTickFn(Ee)}),Ry.drawLabels(r,Ee,{vals:_r,layer:ct,transFn:Ry.makeTransTickLabelFn(Ee),labelFns:Ry.makeLabelFns(Ee,fr)})}function xr(){var er,Ke=X+l/2;Ge.indexOf(\"inside\")===-1&&(er=Ng.bBox(ct.node()),Ke+=n?er.width:er.height),qt=ce.select(\"text\");var xt=0,bt=n&&M===\"top\",Lt=!n&&M===\"right\",St=0;if(qt.node()&&!qt.classed(Vc.jsPlaceholder)){var Et,dt=ce.select(\".h\"+Ee._id+\"title-math-group\").node();dt&&(n&&Ae||!n&&!Ae)?(er=Ng.bBox(dt),xt=er.width,Et=er.height):(er=Ng.bBox(ce.node()),xt=er.right-A.l-(n?_e:Te),Et=er.bottom-A.t-(n?Te:_e),!n&&M===\"top\"&&(Ke+=er.height,St=er.height)),Lt&&(qt.attr(\"transform\",Ug(xt/2+nt/2,0)),xt*=2),Ke=Math.max(Ke,n?xt:Et)}var Ht=(n?d:v)*2+Ke+u+l/2,$t=0;!n&&C.text&&h===\"bottom\"&&b<=0&&($t=Ht/2,Ht+=$t,St+=$t),k._hColorbarMoveTitle=$t,k._hColorbarMoveCBTitle=St;var fr=u+l,_r=(n?_e:Te)-fr/2-(n?d:0),Br=(n?Te:_e)-(n?N:v+St-$t);e.select(\".\"+Vc.cbbg).attr(\"x\",_r).attr(\"y\",Br).attr(n?\"width\":\"height\",Math.max(Ht-$t,2)).attr(n?\"height\":\"width\",Math.max(N+fr,2)).call(fV.fill,c).call(fV.stroke,t.bordercolor).style(\"stroke-width\",u);var Or=Lt?Math.max(xt-10,0):0;e.selectAll(\".\"+Vc.cboutline).attr(\"x\",(n?_e:Te+d)+Or).attr(\"y\",(n?Te+v-N:_e)+(bt?rt:0)).attr(n?\"width\":\"height\",Math.max(X,2)).attr(n?\"height\":\"width\",Math.max(N-(n?2*v+rt:2*d+Or),2)).call(fV.stroke,t.outlinecolor).style({fill:\"none\",\"stroke-width\":l});var Nr=n?Me*Ht:0,ut=n?0:(1-ke)*Ht-St;if(Nr=E?A.l-Nr:-Nr,ut=p?A.t-ut:-ut,e.attr(\"transform\",Ug(Nr,ut)),!n&&(u||uV(c).getAlpha()&&!uV.equals(k.paper_bgcolor,c))){var Ne=ct.selectAll(\"text\"),Ye=Ne[0].length,Ve=e.select(\".\"+Vc.cbbg).node(),Xe=Ng.bBox(Ve),ht=Ng.getTranslate(e),Le=2;Ne.each(function(ri,bi){var nn=0,Wi=Ye-1;if(bi===nn||bi===Wi){var Ni=Ng.bBox(this),_n=Ng.getTranslate(this),$i;if(bi===Wi){var zn=Ni.right+_n.x,Wn=Xe.right+ht.x+Te-u-Le+x;$i=Wn-zn,$i>0&&($i=0)}else if(bi===nn){var It=Ni.left+_n.x,ft=Xe.left+ht.x+Te+u+Le;$i=ft-It,$i<0&&($i=0)}$i&&(Ye<3?this.setAttribute(\"transform\",\"translate(\"+$i+\",0) \"+this.getAttribute(\"transform\")):this.setAttribute(\"visibility\",\"hidden\"))}})}var xe={},Se=xme[f],lt=bme[f],Gt=xme[h],Vt=bme[h],ar=Ht-X;n?(a===\"pixels\"?(xe.y=b,xe.t=N*Gt,xe.b=N*Vt):(xe.t=xe.b=0,xe.yt=b+i*Gt,xe.yb=b-i*Vt),s===\"pixels\"?(xe.x=x,xe.l=Ht*Se,xe.r=Ht*lt):(xe.l=ar*Se,xe.r=ar*lt,xe.xl=x-o*Se,xe.xr=x+o*lt)):(a===\"pixels\"?(xe.x=x,xe.l=N*Se,xe.r=N*lt):(xe.l=xe.r=0,xe.xl=x+i*Se,xe.xr=x-i*lt),s===\"pixels\"?(xe.y=1-b,xe.t=Ht*Gt,xe.b=Ht*Vt):(xe.t=ar*Gt,xe.b=ar*Vt,xe.yt=b-o*Gt,xe.yb=b+o*Vt));var Qr=t.y<.5?\"b\":\"t\",ai=t.x<.5?\"l\":\"r\";r._fullLayout._reservedMargin[t._id]={};var jr={r:k.width-_r-Nr,l:_r+xe.r,b:k.height-Br-ut,t:Br+xe.b};E&&p?II.autoMargin(r,t._id,xe):E?r._fullLayout._reservedMargin[t._id][Qr]=jr[Qr]:p||n?r._fullLayout._reservedMargin[t._id][ai]=jr[ai]:r._fullLayout._reservedMargin[t._id][Qr]=jr[Qr]}return B0.syncOrAsync([II.previousPromises,kt,Yt,Ct,II.previousPromises,xr],r)}function umt(e,t,r){var n=t.orientation===\"v\",i=r._fullLayout,a=i._size,o,s,l;PI.init({element:e.node(),gd:r,prepFn:function(){o=e.attr(\"transform\"),cV(e)},moveFn:function(u,c){e.attr(\"transform\",o+Ug(u,c)),s=PI.align((n?t._uFrac:t._vFrac)+u/a.w,n?t._thickFrac:t._lenFrac,0,1,t.xanchor),l=PI.align((n?t._vFrac:1-t._uFrac)-c/a.h,n?t._lenFrac:t._thickFrac,0,1,t.yanchor);var f=PI.getCursor(s,l,t.xanchor,t.yanchor);cV(e,f)},doneFn:function(){if(cV(e),s!==void 0&&l!==void 0){var u={};u[t._propPrefix+\"x\"]=s,u[t._propPrefix+\"y\"]=l,t._traceIndex!==void 0?yme.call(\"_guiRestyle\",r,u,t._traceIndex):yme.call(\"_guiRelayout\",r,u)}}})}function cmt(e,t,r){var n=t._levels,i=[],a=[],o,s,l=n.end+n.size/100,u=n.size,c=1.001*r[0]-.001*r[1],f=1.001*r[1]-.001*r[0];for(s=0;s<1e5&&(o=n.start+s*u,!(u>0?o>=l:o<=l));s++)o>c&&o<f&&i.push(o);if(t._fillgradient)a=[0];else if(typeof t._fillcolor==\"function\"){var h=t._filllevels;if(h)for(l=h.end+h.size/100,u=h.size,s=0;s<1e5&&(o=h.start+s*u,!(u>0?o>=l:o<=l));s++)o>r[0]&&o<r[1]&&a.push(o);else a=i.map(function(d){return d-n.size/2}),a.push(a[a.length-1]+n.size)}else t._fillcolor&&typeof t._fillcolor==\"string\"&&(a=[0]);return n.size<0&&(i.reverse(),a.reverse()),{line:i,fill:a}}function fmt(e,t,r){var n=e._fullLayout,i=t.orientation===\"v\",a={type:\"linear\",range:r,tickmode:t.tickmode,nticks:t.nticks,tick0:t.tick0,dtick:t.dtick,tickvals:t.tickvals,ticktext:t.ticktext,ticks:t.ticks,ticklen:t.ticklen,tickwidth:t.tickwidth,tickcolor:t.tickcolor,showticklabels:t.showticklabels,labelalias:t.labelalias,ticklabelposition:t.ticklabelposition,ticklabeloverflow:t.ticklabeloverflow,ticklabelstep:t.ticklabelstep,tickfont:t.tickfont,tickangle:t.tickangle,tickformat:t.tickformat,exponentformat:t.exponentformat,minexponent:t.minexponent,separatethousands:t.separatethousands,showexponent:t.showexponent,showtickprefix:t.showtickprefix,tickprefix:t.tickprefix,showticksuffix:t.showticksuffix,ticksuffix:t.ticksuffix,title:t.title,showline:!0,anchor:\"free\",side:i?\"right\":\"bottom\",position:1},o=i?\"y\":\"x\",s={type:\"linear\",_id:o+t._id},l={letter:o,font:n.font,noAutotickangles:o===\"y\",noHover:!0,noTickson:!0,noTicklabelmode:!0,noInsideRange:!0,calendar:n.calendar};function u(c,f){return B0.coerce(a,s,amt,c,f)}return imt(a,s,u,l,n),nmt(a,s,u,l),s}Tme.exports={draw:omt}});var Mme=ye((cor,Sme)=>{\"use strict\";Sme.exports={moduleType:\"component\",name:\"colorbar\",attributes:K6(),supplyDefaults:SO(),draw:Ame().draw,hasColorbar:yO()}});var kme=ye((hor,Eme)=>{\"use strict\";Eme.exports={moduleType:\"component\",name:\"legend\",layoutAttributes:yB(),supplyLayoutDefaults:bB(),draw:RB(),style:CB()}});var Lme=ye((dor,Cme)=>{\"use strict\";Cme.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\"}}});var Ime=ye((vor,Pme)=>{\"use strict\";Pme.exports={moduleType:\"locale\",name:\"en-US\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colorscale title\"},format:{date:\"%m/%d/%Y\"}}});var vV=ye((por,Fme)=>{\"use strict\";var hmt=ba(),zme=Mr(),dV=zme.extendFlat,Rme=zme.extendDeep;function Dme(e){var t;switch(e){case\"themes__thumb\":t={autosize:!0,width:150,height:150,title:{text:\"\"},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case\"thumbnail\":t={title:{text:\"\"},hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:\"\",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:t={}}return t}function dmt(e){var t=[\"xaxis\",\"yaxis\",\"zaxis\"];return t.indexOf(e.slice(0,5))>-1}Fme.exports=function(t,r){var n,i=t.data,a=t.layout,o=Rme([],i),s=Rme({},a,Dme(r.tileClass)),l=t._context||{};if(r.width&&(s.width=r.width),r.height&&(s.height=r.height),r.tileClass===\"thumbnail\"||r.tileClass===\"themes__thumb\"){s.annotations=[];var u=Object.keys(s);for(n=0;n<u.length;n++)dmt(u[n])&&(s[u[n]].title={text:\"\"});for(n=0;n<o.length;n++){var c=o[n];c.showscale=!1,c.marker&&(c.marker.showscale=!1),hmt.traceIs(c,\"pie-like\")&&(c.textposition=\"none\")}}if(Array.isArray(r.annotations))for(n=0;n<r.annotations.length;n++)s.annotations.push(r.annotations[n]);var f=Object.keys(s).filter(function(b){return b.match(/^scene\\d*$/)});if(f.length){var h={};for(r.tileClass===\"thumbnail\"&&(h={title:{text:\"\"},showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),n=0;n<f.length;n++){var d=s[f[n]];d.xaxis||(d.xaxis={}),d.yaxis||(d.yaxis={}),d.zaxis||(d.zaxis={}),dV(d.xaxis,h),dV(d.yaxis,h),dV(d.zaxis,h),d._scene=null}}var v=document.createElement(\"div\");r.tileClass&&(v.className=r.tileClass);var x={gd:v,td:v,layout:s,data:o,config:{staticPlot:r.staticPlot===void 0?!0:r.staticPlot,plotGlPixelRatio:r.plotGlPixelRatio===void 0?2:r.plotGlPixelRatio,displaylogo:r.displaylogo||!1,showLink:r.showLink||!1,showTips:r.showTips||!1,mapboxAccessToken:l.mapboxAccessToken}};return r.setBackground!==\"transparent\"&&(x.config.setBackground=r.setBackground||\"opaque\"),x.gd.defaultLayout=Dme(r.tileClass),x}});var Bme=ye((gor,Ome)=>{\"use strict\";var vmt=vb().EventEmitter,pmt=ba(),gmt=Mr(),qme=Ly(),mmt=vV(),ymt=BP(),_mt=NP();function xmt(e,t){var r=new vmt,n=mmt(e,{format:\"png\"}),i=n.gd;i.style.position=\"absolute\",i.style.left=\"-5000px\",document.body.appendChild(i);function a(){var s=qme.getDelay(i._fullLayout);setTimeout(function(){var l=ymt(i),u=document.createElement(\"canvas\");u.id=gmt.randstr(),r=_mt({format:t.format,width:i._fullLayout.width,height:i._fullLayout.height,canvas:u,emitter:r,svg:l}),r.clean=function(){i&&document.body.removeChild(i)}},s)}var o=qme.getRedrawFunc(i);return pmt.call(\"_doPlot\",i,n.data,n.layout,n.config).then(o).then(a).catch(function(s){r.emit(\"error\",s)}),r}Ome.exports=xmt});var Vme=ye((mor,Ume)=>{\"use strict\";var Nme=Ly(),bmt={getDelay:Nme.getDelay,getRedrawFunc:Nme.getRedrawFunc,clone:vV(),toSVG:BP(),svgToImg:NP(),toImage:Bme(),downloadImage:YN()};Ume.exports=bmt});var Gme=ye(Dy=>{\"use strict\";Dy.version=e6().version;iee();Wie();var wmt=ba(),u4=Dy.register=wmt.register,gV=hde(),Hme=Object.keys(gV);for(RI=0;RI<Hme.length;RI++)_T=Hme[RI],_T.charAt(0)!==\"_\"&&(Dy[_T]=gV[_T]),u4({moduleType:\"apiMethod\",name:_T,fn:gV[_T]});var _T,RI;u4(ope());u4([Ppe(),Gpe(),wf(),l0e(),b0e(),H0e(),uge(),kge(),Wge(),nV(),pme(),Mu(),Mme(),kme(),Nc(),nN()]);u4([Lme(),Ime()]);window.PlotlyLocales&&Array.isArray(window.PlotlyLocales)&&(u4(window.PlotlyLocales),delete window.PlotlyLocales);Dy.Icons=UL();var DI=Nc(),pV=Xu();Dy.Plots={resize:pV.resize,graphJson:pV.graphJson,sendDataToCloud:pV.sendDataToCloud};Dy.Fx={hover:DI.hover,unhover:DI.unhover,loneHover:DI.loneHover,loneUnhover:DI.loneUnhover};Dy.Snapshot=Vme();Dy.PlotSchema=_3()});var Wme=ye((_or,jme)=>{\"use strict\";jme.exports=Gme()});var Qb=ye((xor,Zme)=>{\"use strict\";Zme.exports={TEXTPAD:3,eventDataKeys:[\"value\",\"label\"]}});var Lm=ye((bor,Jme)=>{\"use strict\";var Tf=Uc(),Xme=Oc().axisHoverFormat,Tmt=Wo().hovertemplateAttrs,Amt=Wo().texttemplateAttrs,Kme=Jl(),Smt=Su(),Yme=Qb(),Mmt=Ed().pattern,e2=no().extendFlat,mV=Smt({editType:\"calc\",arrayOk:!0,colorEditType:\"style\"}),Emt=Tf.marker,kmt=Emt.line,Cmt=e2({},kmt.width,{dflt:0}),Lmt=e2({width:Cmt,editType:\"calc\"},Kme(\"marker.line\")),Pmt=e2({line:Lmt,editType:\"calc\"},Kme(\"marker\"),{opacity:{valType:\"number\",arrayOk:!0,dflt:1,min:0,max:1,editType:\"style\"},pattern:Mmt,cornerradius:{valType:\"any\",editType:\"calc\"}});Jme.exports={x:Tf.x,x0:Tf.x0,dx:Tf.dx,y:Tf.y,y0:Tf.y0,dy:Tf.dy,xperiod:Tf.xperiod,yperiod:Tf.yperiod,xperiod0:Tf.xperiod0,yperiod0:Tf.yperiod0,xperiodalignment:Tf.xperiodalignment,yperiodalignment:Tf.yperiodalignment,xhoverformat:Xme(\"x\"),yhoverformat:Xme(\"y\"),text:Tf.text,texttemplate:Amt({editType:\"plot\"},{keys:Yme.eventDataKeys}),hovertext:Tf.hovertext,hovertemplate:Tmt({},{keys:Yme.eventDataKeys}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"calc\"},insidetextanchor:{valType:\"enumerated\",values:[\"end\",\"middle\",\"start\"],dflt:\"end\",editType:\"plot\"},textangle:{valType:\"angle\",dflt:\"auto\",editType:\"plot\"},textfont:e2({},mV,{}),insidetextfont:e2({},mV,{}),outsidetextfont:e2({},mV,{}),constraintext:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"both\",\"none\"],dflt:\"both\",editType:\"calc\"},cliponaxis:e2({},Tf.cliponaxis,{}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},base:{valType:\"any\",dflt:null,arrayOk:!0,editType:\"calc\"},offset:{valType:\"number\",dflt:null,arrayOk:!0,editType:\"calc\"},width:{valType:\"number\",dflt:null,min:0,arrayOk:!0,editType:\"calc\"},marker:Pmt,offsetgroup:Tf.offsetgroup,alignmentgroup:Tf.alignmentgroup,selected:{marker:{opacity:Tf.selected.marker.opacity,color:Tf.selected.marker.color,editType:\"style\"},textfont:Tf.selected.textfont,editType:\"style\"},unselected:{marker:{opacity:Tf.unselected.marker.opacity,color:Tf.unselected.marker.color,editType:\"style\"},textfont:Tf.unselected.textfont,editType:\"style\"},zorder:Tf.zorder}});var zI=ye((wor,$me)=>{\"use strict\";$me.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\"}}});var FI=ye((Tor,tye)=>{\"use strict\";var Imt=va(),Qme=Dv().hasColorscale,eye=Uh(),Rmt=Mr().coercePattern;tye.exports=function(t,r,n,i,a){var o=n(\"marker.color\",i),s=Qme(t,\"marker\");s&&eye(t,r,a,n,{prefix:\"marker.\",cLetter:\"c\"}),n(\"marker.line.color\",Imt.defaultLine),Qme(t,\"marker.line\")&&eye(t,r,a,n,{prefix:\"marker.line.\",cLetter:\"c\"}),n(\"marker.line.width\"),n(\"marker.opacity\"),Rmt(n,\"marker.pattern\",o,s),n(\"selected.marker.color\"),n(\"unselected.marker.color\")}});var r0=ye((Aor,sye)=>{\"use strict\";var rye=uo(),xT=Mr(),iye=va(),Dmt=ba(),zmt=K3(),Fmt=Pg(),qmt=FI(),Omt=Hb(),nye=Lm(),qI=xT.coerceFont;function Bmt(e,t,r,n){function i(u,c){return xT.coerce(e,t,nye,u,c)}var a=zmt(e,t,n,i);if(!a){t.visible=!1;return}Fmt(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\"),i(\"zorder\"),i(\"orientation\",t.x&&!t.y?\"h\":\"v\"),i(\"base\"),i(\"offset\"),i(\"width\"),i(\"text\"),i(\"hovertext\"),i(\"hovertemplate\");var o=i(\"textposition\");oye(e,t,n,i,o,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),qmt(e,t,i,r,n);var s=(t.marker.line||{}).color,l=Dmt.getComponentMethod(\"errorbars\",\"supplyDefaults\");l(e,t,s||iye.defaultLine,{axis:\"y\"}),l(e,t,s||iye.defaultLine,{axis:\"x\",inherit:\"y\"}),xT.coerceSelectionMarkerOpacity(t,i)}function Nmt(e,t){var r,n;function i(s,l){return xT.coerce(n._input,n,nye,s,l)}for(var a=0;a<e.length;a++)if(n=e[a],n.type===\"bar\"){r=n._input;var o=i(\"marker.cornerradius\",t.barcornerradius);n.marker&&(n.marker.cornerradius=aye(o)),Omt(r,n,t,i,t.barmode)}}function aye(e){if(rye(e)){if(e=+e,e>=0)return e}else if(typeof e==\"string\"&&(e=e.trim(),e.slice(-1)===\"%\"&&rye(e.slice(0,-1))&&(e=+e.slice(0,-1),e>=0)))return e+\"%\"}function oye(e,t,r,n,i,a){a=a||{};var o=a.moduleHasSelected!==!1,s=a.moduleHasUnselected!==!1,l=a.moduleHasConstrain!==!1,u=a.moduleHasCliponaxis!==!1,c=a.moduleHasTextangle!==!1,f=a.moduleHasInsideanchor!==!1,h=!!a.hasPathbar,d=Array.isArray(i)||i===\"auto\",v=d||i===\"inside\",x=d||i===\"outside\";if(v||x){var b=qI(n,\"textfont\",r.font),p=xT.extendFlat({},b),E=e.textfont&&e.textfont.color,k=!E;if(k&&delete p.color,qI(n,\"insidetextfont\",p),h){var A=xT.extendFlat({},b);k&&delete A.color,qI(n,\"pathbar.textfont\",A)}x&&qI(n,\"outsidetextfont\",b),o&&n(\"selected.textfont.color\"),s&&n(\"unselected.textfont.color\"),l&&n(\"constraintext\"),u&&n(\"cliponaxis\"),c&&n(\"textangle\"),n(\"texttemplate\")}v&&f&&n(\"insidetextanchor\")}sye.exports={supplyDefaults:Bmt,crossTraceDefaults:Nmt,handleText:oye,validateCornerradius:aye}});var yV=ye((Sor,lye)=>{\"use strict\";var Umt=ba(),Vmt=Qa(),Hmt=Mr(),Gmt=zI(),jmt=r0().validateCornerradius;lye.exports=function(e,t,r){function n(x,b){return Hmt.coerce(e,t,Gmt,x,b)}for(var i=!1,a=!1,o=!1,s={},l=n(\"barmode\"),u=l===\"group\",c=0;c<r.length;c++){var f=r[c];if(Umt.traceIs(f,\"bar\")&&f.visible)i=!0;else continue;var h=f.xaxis+f.yaxis;if(u?(s[h]&&(o=!0),s[h]=!0):(h+=f._input.offsetgroup,s.length>0&&!s[h]&&(o=!0),s[h]=!0),f.visible&&f.type===\"histogram\"){var d=Vmt.getFromId({_fullLayout:t},f[f.orientation===\"v\"?\"xaxis\":\"yaxis\"]);d.type!==\"category\"&&(a=!0)}}if(!i){delete t.barmode;return}l!==\"overlay\"&&n(\"barnorm\"),n(\"bargap\",a&&!o?0:.2),n(\"bargroupgap\");var v=n(\"barcornerradius\");t.barcornerradius=jmt(v)}});var c4=ye((Mor,uye)=>{\"use strict\";var bT=Mr();uye.exports=function(t,r){for(var n=0;n<t.length;n++)t[n].i=n;bT.mergeArray(r.text,t,\"tx\"),bT.mergeArray(r.hovertext,t,\"htx\");var i=r.marker;if(i){bT.mergeArray(i.opacity,t,\"mo\",!0),bT.mergeArray(i.color,t,\"mc\");var a=i.line;a&&(bT.mergeArray(a.color,t,\"mlc\"),bT.mergeArrayCastPositive(a.width,t,\"mlw\"))}}});var pye=ye((Eor,vye)=>{\"use strict\";var cye=Qa(),fye=Rg(),hye=Dv().hasColorscale,dye=zv(),Wmt=c4(),Zmt=F0();vye.exports=function(t,r){var n=cye.getFromId(t,r.xaxis||\"x\"),i=cye.getFromId(t,r.yaxis||\"y\"),a,o,s,l,u,c,f={msUTC:!!(r.base||r.base===0)};r.orientation===\"h\"?(a=n.makeCalcdata(r,\"x\",f),s=i.makeCalcdata(r,\"y\"),l=fye(r,i,\"y\",s),u=!!r.yperiodalignment,c=\"y\"):(a=i.makeCalcdata(r,\"y\",f),s=n.makeCalcdata(r,\"x\"),l=fye(r,n,\"x\",s),u=!!r.xperiodalignment,c=\"x\"),o=l.vals;for(var h=Math.min(o.length,a.length),d=new Array(h),v=0;v<h;v++)d[v]={p:o[v],s:a[v]},u&&(d[v].orig_p=s[v],d[v][c+\"End\"]=l.ends[v],d[v][c+\"Start\"]=l.starts[v]),r.ids&&(d[v].id=String(r.ids[v]));return hye(r,\"marker\")&&dye(t,r,{vals:r.marker.color,containerStr:\"marker\",cLetter:\"c\"}),hye(r,\"marker.line\")&&dye(t,r,{vals:r.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}),Wmt(d,r),Zmt(d,r),d}});var _v=ye((kor,mye)=>{\"use strict\";var Xmt=xa(),Ymt=Mr();function Kmt(e,t,r){var n=e._fullLayout,i=n[\"_\"+r+\"Text_minsize\"];if(i){var a=n.uniformtext.mode===\"hide\",o;switch(r){case\"funnelarea\":case\"pie\":case\"sunburst\":o=\"g.slice\";break;case\"treemap\":case\"icicle\":o=\"g.slice, g.pathbar\";break;default:o=\"g.points > g.point\"}t.selectAll(o).each(function(s){var l=s.transform;if(l){l.scale=a&&l.hide?0:i/l.fontSize;var u=Xmt.select(this).select(\"text\");Ymt.setTransormAndDisplay(u,l)}})}}function Jmt(e,t,r){if(r.uniformtext.mode){var n=gye(e),i=r.uniformtext.minsize,a=t.scale*t.fontSize;t.hide=a<i,r[n]=r[n]||1/0,t.hide||(r[n]=Math.min(r[n],Math.max(a,i)))}}function $mt(e,t){var r=gye(e);t[r]=void 0}function gye(e){return\"_\"+e+\"Text_minsize\"}mye.exports={recordMinTextSize:Jmt,clearMinTextSize:$mt,resizeText:Kmt}});var OI=ye(t2=>{\"use strict\";var Qmt=uo(),eyt=id(),yye=Mr().isArrayOrTypedArray;t2.coerceString=function(e,t,r){if(typeof t==\"string\"){if(t||!e.noBlank)return t}else if((typeof t==\"number\"||t===!0)&&!e.strict)return String(t);return r!==void 0?r:e.dflt};t2.coerceNumber=function(e,t,r){if(Qmt(t)){t=+t;var n=e.min,i=e.max,a=n!==void 0&&t<n||i!==void 0&&t>i;if(!a)return t}return r!==void 0?r:e.dflt};t2.coerceColor=function(e,t,r){return eyt(t).isValid()?t:r!==void 0?r:e.dflt};t2.coerceEnumerated=function(e,t,r){return e.coerceNumber&&(t=+t),e.values.indexOf(t)!==-1?t:r!==void 0?r:e.dflt};t2.getValue=function(e,t){var r;return yye(e)?t<e.length&&(r=e[t]):r=e,r};t2.getLineWidth=function(e,t){var r=0<t.mlw?t.mlw:yye(e.marker.line.width)?0:e.marker.line.width;return r}});var N0=ye((Lor,Cye)=>{\"use strict\";var f4=xa(),tyt=va(),h4=ao(),_ye=Mr(),xye=ba(),bye=_v().resizeText,_V=Lm(),ryt=_V.textfont,iyt=_V.insidetextfont,nyt=_V.outsidetextfont,Jd=OI();function ayt(e){var t=f4.select(e).selectAll('g[class^=\"barlayer\"]').selectAll(\"g.trace\");bye(e,t,\"bar\");var r=t.size(),n=e._fullLayout;t.style(\"opacity\",function(i){return i[0].trace.opacity}).each(function(i){(n.barmode===\"stack\"&&r>1||n.bargap===0&&n.bargroupgap===0&&!i[0].trace.marker.line.width)&&f4.select(this).attr(\"shape-rendering\",\"crispEdges\")}),t.selectAll(\"g.points\").each(function(i){var a=f4.select(this),o=i[0].trace;wye(a,o,e)}),xye.getComponentMethod(\"errorbars\",\"style\")(t)}function wye(e,t,r){h4.pointStyle(e.selectAll(\"path\"),t,r),Tye(e,t,r)}function Tye(e,t,r){e.selectAll(\"text\").each(function(n){var i=f4.select(this),a=_ye.ensureUniformFontSize(r,Aye(i,n,t,r));h4.font(i,a)})}function oyt(e,t,r){var n=t[0].trace;n.selectedpoints?syt(r,n,e):(wye(r,n,e),xye.getComponentMethod(\"errorbars\",\"style\")(r))}function syt(e,t,r){h4.selectedPointStyle(e.selectAll(\"path\"),t),lyt(e.selectAll(\"text\"),t,r)}function lyt(e,t,r){e.each(function(n){var i=f4.select(this),a;if(n.selected){a=_ye.ensureUniformFontSize(r,Aye(i,n,t,r));var o=t.selected.textfont&&t.selected.textfont.color;o&&(a.color=o),h4.font(i,a)}else h4.selectedTextStyle(i,t)})}function Aye(e,t,r,n){var i=n._fullLayout.font,a=r.textfont;if(e.classed(\"bartext-inside\")){var o=kye(t,r);a=Mye(r,t.i,i,o)}else e.classed(\"bartext-outside\")&&(a=Eye(r,t.i,i));return a}function Sye(e,t,r){return xV(ryt,e.textfont,t,r)}function Mye(e,t,r,n){var i=Sye(e,t,r),a=e._input.textfont===void 0||e._input.textfont.color===void 0||Array.isArray(e.textfont.color)&&e.textfont.color[t]===void 0;return a&&(i={color:tyt.contrast(n),family:i.family,size:i.size,weight:i.weight,style:i.style,variant:i.variant,textcase:i.textcase,lineposition:i.lineposition,shadow:i.shadow}),xV(iyt,e.insidetextfont,t,i)}function Eye(e,t,r){var n=Sye(e,t,r);return xV(nyt,e.outsidetextfont,t,n)}function xV(e,t,r,n){t=t||{};var i=Jd.getValue(t.family,r),a=Jd.getValue(t.size,r),o=Jd.getValue(t.color,r),s=Jd.getValue(t.weight,r),l=Jd.getValue(t.style,r),u=Jd.getValue(t.variant,r),c=Jd.getValue(t.textcase,r),f=Jd.getValue(t.lineposition,r),h=Jd.getValue(t.shadow,r);return{family:Jd.coerceString(e.family,i,n.family),size:Jd.coerceNumber(e.size,a,n.size),color:Jd.coerceColor(e.color,o,n.color),weight:Jd.coerceString(e.weight,s,n.weight),style:Jd.coerceString(e.style,l,n.style),variant:Jd.coerceString(e.variant,u,n.variant),textcase:Jd.coerceString(e.variant,c,n.textcase),lineposition:Jd.coerceString(e.variant,f,n.lineposition),shadow:Jd.coerceString(e.variant,h,n.shadow)}}function kye(e,t){return t.type===\"waterfall\"?t[e.dir].marker.color:e.mcc||e.mc||t.marker.color}Cye.exports={style:ayt,styleTextPoints:Tye,styleOnSelect:oyt,getInsideTextFont:Mye,getOutsideTextFont:Eye,getBarColor:kye,resizeText:bye}});var i2=ye((Por,qye)=>{\"use strict\";var BI=xa(),NI=uo(),Pd=Mr(),uyt=Pl(),cyt=va(),A_=ao(),fyt=ba(),UI=Qa().tickText,Lye=_v(),hyt=Lye.recordMinTextSize,dyt=Lye.clearMinTextSize,bV=N0(),wT=OI(),vyt=Qb(),Pye=Lm(),pyt=Pye.text,gyt=Pye.textposition,myt=rp().appendArrayPointValue,Uv=vyt.TEXTPAD;function yyt(e){return e.id}function _yt(e){if(e.ids)return yyt}function wV(e){return(e>0)-(e<0)}function Pm(e,t){return e<t?1:-1}function xyt(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),n?[i,a]:[a,i]}function Iye(e,t,r,n){if(!t.uniformtext.mode&&Rye(r)){var i;return n&&(i=n()),e.transition().duration(r.duration).ease(r.easing).each(\"end\",function(){i&&i()}).each(\"interrupt\",function(){i&&i()})}else return e}function Rye(e){return e&&e.duration>0}function byt(e,t,r,n,i,a){var o=t.xaxis,s=t.yaxis,l=e._fullLayout,u=e._context.staticPlot;i||(i={mode:l.barmode,norm:l.barmode,gap:l.bargap,groupgap:l.bargroupgap},dyt(\"bar\",l));var c=Pd.makeTraceGroups(n,r,\"trace bars\").each(function(f){var h=BI.select(this),d=f[0].trace,v=f[0].t,x=d.type===\"waterfall\",b=d.type===\"funnel\",p=d.type===\"histogram\",E=d.type===\"bar\",k=E||b,A=0;x&&d.connector.visible&&d.connector.mode===\"between\"&&(A=d.connector.line.width/2);var L=d.orientation===\"h\",_=Rye(i),C=Pd.ensureSingle(h,\"g\",\"points\"),M=_yt(d),g=C.selectAll(\"g.point\").data(Pd.identity,M);g.enter().append(\"g\").classed(\"point\",!0),g.exit().remove(),g.each(function(T,F){var q=BI.select(this),V=xyt(T,o,s,L),H=V[0][0],X=V[0][1],G=V[1][0],N=V[1][1],W=(L?X-H:N-G)===0;W&&k&&wT.getLineWidth(d,T)&&(W=!1),W||(W=!NI(H)||!NI(X)||!NI(G)||!NI(N)),T.isBlank=W,W&&(L?X=H:N=G),A&&!W&&(L?(H-=Pm(H,X)*A,X+=Pm(H,X)*A):(G-=Pm(G,N)*A,N+=Pm(G,N)*A));var re,ae;if(d.type===\"waterfall\"){if(!W){var _e=d[T.dir].marker;re=_e.line.width,ae=_e.color}}else re=wT.getLineWidth(d,T),ae=T.mc||d.marker.color;function Me(Ke){var xt=BI.round(re/2%1,2);return i.gap===0&&i.groupgap===0?BI.round(Math.round(Ke)-xt,2):Ke}function ke(Ke,xt,bt){return bt&&Ke===xt?Ke:Math.abs(Ke-xt)>=2?Me(Ke):Ke>xt?Math.ceil(Ke):Math.floor(Ke)}var ge=cyt.opacity(ae),ie=ge<1||re>.01?Me:ke;e._context.staticPlot||(H=ie(H,X,L),X=ie(X,H,L),G=ie(G,N,!L),N=ie(N,G,!L));var Te=L?o.c2p:s.c2p,Ee;T.s0>0?Ee=T._sMax:T.s0<0?Ee=T._sMin:Ee=T.s1>0?T._sMax:T._sMin;function Ae(Ke,xt){if(!Ke)return 0;var bt=Math.abs(L?N-G:X-H),Lt=Math.abs(L?X-H:N-G),St=ie(Math.abs(Te(Ee,!0)-Te(0,!0))),Et=T.hasB?Math.min(bt/2,Lt/2):Math.min(bt/2,St),dt;if(xt===\"%\"){var Ht=Math.min(50,Ke);dt=bt*(Ht/100)}else dt=Ke;return ie(Math.max(Math.min(dt,Et),0))}var ze=E||p?Ae(v.cornerradiusvalue,v.cornerradiusform):0,Ce,me,Re=\"M\"+H+\",\"+G+\"V\"+N+\"H\"+X+\"V\"+G+\"Z\",ce=0;if(ze&&T.s){var Ge=wV(T.s0)===0||wV(T.s)===wV(T.s0)?T.s1:T.s0;if(ce=ie(T.hasB?0:Math.abs(Te(Ee,!0)-Te(Ge,!0))),ce<ze){var nt=Pm(H,X),ct=Pm(G,N),qt=nt===-ct?1:0;if(L)if(T.hasB)Ce=\"M\"+(H+ze*nt)+\",\"+G+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+H+\",\"+(G+ze*ct)+\"V\"+(N-ze*ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(H+ze*nt)+\",\"+N+\"H\"+(X-ze*nt)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+X+\",\"+(N-ze*ct)+\"V\"+(G+ze*ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(X-ze*nt)+\",\"+G+\"Z\";else{me=Math.abs(X-H)+ce;var rt=me<ze?ze-Math.sqrt(me*(2*ze-me)):0,ot=ce>0?Math.sqrt(ce*(2*ze-ce)):0,Rt=nt>0?Math.max:Math.min;Ce=\"M\"+H+\",\"+G+\"V\"+(N-rt*ct)+\"H\"+Rt(X-(ze-ce)*nt,H)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+X+\",\"+(N-ze*ct-ot)+\"V\"+(G+ze*ct+ot)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+Rt(X-(ze-ce)*nt,H)+\",\"+(G+rt*ct)+\"Z\"}else if(T.hasB)Ce=\"M\"+(H+ze*nt)+\",\"+G+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+H+\",\"+(G+ze*ct)+\"V\"+(N-ze*ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(H+ze*nt)+\",\"+N+\"H\"+(X-ze*nt)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+X+\",\"+(N-ze*ct)+\"V\"+(G+ze*ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(X-ze*nt)+\",\"+G+\"Z\";else{me=Math.abs(N-G)+ce;var kt=me<ze?ze-Math.sqrt(me*(2*ze-me)):0,Ct=ce>0?Math.sqrt(ce*(2*ze-ce)):0,Yt=ct>0?Math.max:Math.min;Ce=\"M\"+(H+kt*nt)+\",\"+G+\"V\"+Yt(N-(ze-ce)*ct,G)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(H+ze*nt-Ct)+\",\"+N+\"H\"+(X-ze*nt+Ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(X-kt*nt)+\",\"+Yt(N-(ze-ce)*ct,G)+\"V\"+G+\"Z\"}}else Ce=Re}else Ce=Re;var xr=Iye(Pd.ensureSingle(q,\"path\"),l,i,a);if(xr.style(\"vector-effect\",u?\"none\":\"non-scaling-stroke\").attr(\"d\",isNaN((X-H)*(N-G))||W&&e._context.staticPlot?\"M0,0Z\":Ce).call(A_.setClipUrl,t.layerClipId,e),!l.uniformtext.mode&&_){var er=A_.makePointStyleFns(d);A_.singlePointStyle(T,xr,d,er,e)}wyt(e,t,q,f,F,H,X,G,N,ze,ce,i,a),t.layerClipId&&A_.hideOutsideRangePoint(T,q.select(\"text\"),o,s,d.xcalendar,d.ycalendar)});var P=d.cliponaxis===!1;A_.setClipUrl(h,P?null:t.layerClipId,e)});fyt.getComponentMethod(\"errorbars\",\"plot\")(e,c,t,i)}function wyt(e,t,r,n,i,a,o,s,l,u,c,f,h){var d=t.xaxis,v=t.yaxis,x=e._fullLayout,b;function p(me,Re,ce){var Ge=Pd.ensureSingle(me,\"text\").text(Re).attr({class:\"bartext bartext-\"+b,\"text-anchor\":\"middle\",\"data-notex\":1}).call(A_.font,ce).call(uyt.convertToTspans,e);return Ge}var E=n[0].trace,k=E.orientation===\"h\",A=Syt(x,n,i,d,v);b=Myt(E,i);var L=f.mode===\"stack\"||f.mode===\"relative\",_=n[i],C=!L||_._outmost,M=_.hasB,g=u&&u-c>Uv;if(!A||b===\"none\"||(_.isBlank||a===o||s===l)&&(b===\"auto\"||b===\"inside\")){r.select(\"text\").remove();return}var P=x.font,T=bV.getBarColor(n[i],E),F=bV.getInsideTextFont(E,i,P,T),q=bV.getOutsideTextFont(E,i,P),V=E.insidetextanchor||\"end\",H=r.datum();k?d.type===\"log\"&&H.s0<=0&&(d.range[0]<d.range[1]?a=0:a=d._length):v.type===\"log\"&&H.s0<=0&&(v.range[0]<v.range[1]?s=v._length:s=0);var X=Math.abs(o-a),G=Math.abs(l-s),N=X-2*Uv,W=G-2*Uv,re,ae,_e,Me,ke;if(b===\"outside\"&&!C&&!_.hasB&&(b=\"inside\"),b===\"auto\")if(C){b=\"inside\",ke=Pd.ensureUniformFontSize(e,F),re=p(r,A,ke),ae=A_.bBox(re.node()),_e=ae.width,Me=ae.height;var ge=_e>0&&Me>0,ie;g?M?ie=r2(N-2*u,W,_e,Me,k)||r2(N,W-2*u,_e,Me,k):k?ie=r2(N-(u-c),W,_e,Me,k)||r2(N,W-2*(u-c),_e,Me,k):ie=r2(N,W-(u-c),_e,Me,k)||r2(N-2*(u-c),W,_e,Me,k):ie=r2(N,W,_e,Me,k),ge&&ie?b=\"inside\":(b=\"outside\",re.remove(),re=null)}else b=\"inside\";if(!re){ke=Pd.ensureUniformFontSize(e,b===\"outside\"?q:F),re=p(r,A,ke);var Te=re.attr(\"transform\");if(re.attr(\"transform\",\"\"),ae=A_.bBox(re.node()),_e=ae.width,Me=ae.height,re.attr(\"transform\",Te),_e<=0||Me<=0){re.remove();return}}var Ee=E.textangle,Ae,ze;b===\"outside\"?(ze=E.constraintext===\"both\"||E.constraintext===\"outside\",Ae=Ayt(a,o,s,l,ae,{isHorizontal:k,constrained:ze,angle:Ee})):(ze=E.constraintext===\"both\"||E.constraintext===\"inside\",Ae=Fye(a,o,s,l,ae,{isHorizontal:k,constrained:ze,angle:Ee,anchor:V,hasB:M,r:u,overhead:c})),Ae.fontSize=ke.size,hyt(E.type===\"histogram\"?\"bar\":E.type,Ae,x),_.transform=Ae;var Ce=Iye(re,x,f,h);Pd.setTransormAndDisplay(Ce,Ae)}function r2(e,t,r,n,i){if(e<0||t<0)return!1;var a=r<=e&&n<=t,o=r<=t&&n<=e,s=i?e>=r*(t/n):t>=n*(e/r);return a||o||s}function Dye(e){return e===\"auto\"?0:e}function zye(e,t){var r=Math.PI/180*t,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:e.width*i+e.height*n,y:e.width*n+e.height*i}}function Fye(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=a.anchor,c=u===\"end\",f=u===\"start\",h=a.leftToRight||0,d=(h+1)/2,v=1-d,x=a.hasB,b=a.r,p=a.overhead,E=i.width,k=i.height,A=Math.abs(t-e),L=Math.abs(n-r),_=A>2*Uv&&L>2*Uv?Uv:0;A-=2*_,L-=2*_;var C=Dye(l);l===\"auto\"&&!(E<=A&&k<=L)&&(E>A||k>L)&&(!(E>L||k>A)||E<k!=A<L)&&(C+=90);var M=zye(i,C),g,P;if(b&&b-p>Uv){var T=Tyt(e,t,r,n,M,b,p,o,x);g=T.scale,P=T.pad}else g=1,s&&(g=Math.min(1,A/M.x,L/M.y)),P=0;var F=i.left*v+i.right*d,q=(i.top+i.bottom)/2,V=(e+Uv)*v+(t-Uv)*d,H=(r+n)/2,X=0,G=0;if(f||c){var N=(o?M.x:M.y)/2;b&&(c||x)&&(_+=P);var W=o?Pm(e,t):Pm(r,n);o?f?(V=e+W*_,X=-W*N):(V=t-W*_,X=W*N):f?(H=r+W*_,G=-W*N):(H=n-W*_,G=W*N)}return{textX:F,textY:q,targetX:V,targetY:H,anchorX:X,anchorY:G,scale:g,rotate:C}}function Tyt(e,t,r,n,i,a,o,s,l){var u=Math.max(0,Math.abs(t-e)-2*Uv),c=Math.max(0,Math.abs(n-r)-2*Uv),f=a-Uv,h=o?f-Math.sqrt(f*f-(f-o)*(f-o)):f,d=l?f*2:s?f-o:2*h,v=l?f*2:s?2*h:f-o,x,b,p,E,k;return i.y/i.x>=c/(u-d)?E=c/i.y:i.y/i.x<=(c-v)/u?E=u/i.x:!l&&s?(x=i.x*i.x+i.y*i.y/4,b=-2*i.x*(u-f)-i.y*(c/2-f),p=(u-f)*(u-f)+(c/2-f)*(c/2-f)-f*f,E=(-b+Math.sqrt(b*b-4*x*p))/(2*x)):l?(x=(i.x*i.x+i.y*i.y)/4,b=-i.x*(u/2-f)-i.y*(c/2-f),p=(u/2-f)*(u/2-f)+(c/2-f)*(c/2-f)-f*f,E=(-b+Math.sqrt(b*b-4*x*p))/(2*x)):(x=i.x*i.x/4+i.y*i.y,b=-i.x*(u/2-f)-2*i.y*(c-f),p=(u/2-f)*(u/2-f)+(c-f)*(c-f)-f*f,E=(-b+Math.sqrt(b*b-4*x*p))/(2*x)),E=Math.min(1,E),s?k=Math.max(0,f-Math.sqrt(Math.max(0,f*f-(f-(c-i.y*E)/2)*(f-(c-i.y*E)/2)))-o):k=Math.max(0,f-Math.sqrt(Math.max(0,f*f-(f-(u-i.x*E)/2)*(f-(u-i.x*E)/2)))-o),{scale:E,pad:k}}function Ayt(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=i.width,c=i.height,f=Math.abs(t-e),h=Math.abs(n-r),d;o?d=h>2*Uv?Uv:0:d=f>2*Uv?Uv:0;var v=1;s&&(v=o?Math.min(1,h/c):Math.min(1,f/u));var x=Dye(l),b=zye(i,x),p=(o?b.x:b.y)/2,E=(i.left+i.right)/2,k=(i.top+i.bottom)/2,A=(e+t)/2,L=(r+n)/2,_=0,C=0,M=o?Pm(t,e):Pm(r,n);return o?(A=t-M*d,_=M*p):(L=n+M*d,C=-M*p),{textX:E,textY:k,targetX:A,targetY:L,anchorX:_,anchorY:C,scale:v,rotate:x}}function Syt(e,t,r,n,i){var a=t[0].trace,o=a.texttemplate,s;return o?s=Eyt(e,t,r,n,i):a.textinfo?s=kyt(t,r,n,i):s=wT.getValue(a.text,r),wT.coerceString(pyt,s)}function Myt(e,t){var r=wT.getValue(e.textposition,t);return wT.coerceEnumerated(gyt,r)}function Eyt(e,t,r,n,i){var a=t[0].trace,o=Pd.castOption(a,r,\"texttemplate\");if(!o)return\"\";var s=a.type===\"histogram\",l=a.type===\"waterfall\",u=a.type===\"funnel\",c=a.orientation===\"h\",f,h,d,v;c?(f=\"y\",h=i,d=\"x\",v=n):(f=\"x\",h=n,d=\"y\",v=i);function x(_){return UI(h,h.c2l(_),!0).text}function b(_){return UI(v,v.c2l(_),!0).text}var p=t[r],E={};E.label=p.p,E.labelLabel=E[f+\"Label\"]=x(p.p);var k=Pd.castOption(a,p.i,\"text\");(k===0||k)&&(E.text=k),E.value=p.s,E.valueLabel=E[d+\"Label\"]=b(p.s);var A={};myt(A,a,p.i),(s||A.x===void 0)&&(A.x=c?E.value:E.label),(s||A.y===void 0)&&(A.y=c?E.label:E.value),(s||A.xLabel===void 0)&&(A.xLabel=c?E.valueLabel:E.labelLabel),(s||A.yLabel===void 0)&&(A.yLabel=c?E.labelLabel:E.valueLabel),l&&(E.delta=+p.rawS||p.s,E.deltaLabel=b(E.delta),E.final=p.v,E.finalLabel=b(E.final),E.initial=E.final-E.delta,E.initialLabel=b(E.initial)),u&&(E.value=p.s,E.valueLabel=b(E.value),E.percentInitial=p.begR,E.percentInitialLabel=Pd.formatPercent(p.begR),E.percentPrevious=p.difR,E.percentPreviousLabel=Pd.formatPercent(p.difR),E.percentTotal=p.sumR,E.percenTotalLabel=Pd.formatPercent(p.sumR));var L=Pd.castOption(a,p.i,\"customdata\");return L&&(E.customdata=L),Pd.texttemplateString(o,E,e._d3locale,A,E,a._meta||{})}function kyt(e,t,r,n){var i=e[0].trace,a=i.orientation===\"h\",o=i.type===\"waterfall\",s=i.type===\"funnel\";function l(L){var _=a?n:r;return UI(_,L,!0).text}function u(L){var _=a?r:n;return UI(_,+L,!0).text}var c=i.textinfo,f=e[t],h=c.split(\"+\"),d=[],v,x=function(L){return h.indexOf(L)!==-1};if(x(\"label\")&&d.push(l(e[t].p)),x(\"text\")&&(v=Pd.castOption(i,f.i,\"text\"),(v===0||v)&&d.push(v)),o){var b=+f.rawS||f.s,p=f.v,E=p-b;x(\"initial\")&&d.push(u(E)),x(\"delta\")&&d.push(u(b)),x(\"final\")&&d.push(u(p))}if(s){x(\"value\")&&d.push(u(f.s));var k=0;x(\"percent initial\")&&k++,x(\"percent previous\")&&k++,x(\"percent total\")&&k++;var A=k>1;x(\"percent initial\")&&(v=Pd.formatPercent(f.begR),A&&(v+=\" of initial\"),d.push(v)),x(\"percent previous\")&&(v=Pd.formatPercent(f.difR),A&&(v+=\" of previous\"),d.push(v)),x(\"percent total\")&&(v=Pd.formatPercent(f.sumR),A&&(v+=\" of total\"),d.push(v))}return d.join(\"<br>\")}qye.exports={plot:byt,toMoveInsideBar:Fye}});var TT=ye((Ior,Uye)=>{\"use strict\";var d4=Nc(),Cyt=ba(),Oye=va(),Lyt=Mr().fillText,Pyt=OI().getLineWidth,TV=Qa().hoverLabelText,Iyt=es().BADNUM;function Ryt(e,t,r,n,i){var a=Bye(e,t,r,n,i);if(a){var o=a.cd,s=o[0].trace,l=o[a.index];return a.color=Nye(s,l),Cyt.getComponentMethod(\"errorbars\",\"hoverInfo\")(l,s,a),[a]}}function Bye(e,t,r,n,i){var a=e.cd,o=a[0].trace,s=a[0].t,l=n===\"closest\",u=o.type===\"waterfall\",c=e.maxHoverDistance,f=e.maxSpikeDistance,h,d,v,x,b,p,E;o.orientation===\"h\"?(h=r,d=t,v=\"y\",x=\"x\",b=H,p=F):(h=t,d=r,v=\"x\",x=\"y\",p=H,b=F);var k=o[v+\"period\"],A=l||k;function L(ie){return C(ie,-1)}function _(ie){return C(ie,1)}function C(ie,Te){var Ee=ie.w;return ie[v]+Te*Ee/2}function M(ie){return ie[v+\"End\"]-ie[v+\"Start\"]}var g=l?L:k?function(ie){return ie.p-M(ie)/2}:function(ie){return Math.min(L(ie),ie.p-s.bardelta/2)},P=l?_:k?function(ie){return ie.p+M(ie)/2}:function(ie){return Math.max(_(ie),ie.p+s.bardelta/2)};function T(ie,Te,Ee){return i.finiteRange&&(Ee=0),d4.inbox(ie-h,Te-h,Ee+Math.min(1,Math.abs(Te-ie)/E)-1)}function F(ie){return T(g(ie),P(ie),c)}function q(ie){return T(L(ie),_(ie),f)}function V(ie){var Te=ie[x];if(u){var Ee=Math.abs(ie.rawS)||0;d>0?Te+=Ee:d<0&&(Te-=Ee)}return Te}function H(ie){var Te=d,Ee=ie.b,Ae=V(ie);return d4.inbox(Ee-Te,Ae-Te,c+(Ae-Te)/(Ae-Ee)-1)}function X(ie){var Te=d,Ee=ie.b,Ae=V(ie);return d4.inbox(Ee-Te,Ae-Te,f+(Ae-Te)/(Ae-Ee)-1)}var G=e[v+\"a\"],N=e[x+\"a\"];E=Math.abs(G.r2c(G.range[1])-G.r2c(G.range[0]));function W(ie){return(b(ie)+p(ie))/2}var re=d4.getDistanceFunction(n,b,p,W);if(d4.getClosest(a,re,e),e.index!==!1&&a[e.index].p!==Iyt){A||(g=function(ie){return Math.min(L(ie),ie.p-s.bargroupwidth/2)},P=function(ie){return Math.max(_(ie),ie.p+s.bargroupwidth/2)});var ae=e.index,_e=a[ae],Me=o.base?_e.b+_e.s:_e.s;e[x+\"0\"]=e[x+\"1\"]=N.c2p(_e[x],!0),e[x+\"LabelVal\"]=Me;var ke=s.extents[s.extents.round(_e.p)];e[v+\"0\"]=G.c2p(l?g(_e):ke[0],!0),e[v+\"1\"]=G.c2p(l?P(_e):ke[1],!0);var ge=_e.orig_p!==void 0;return e[v+\"LabelVal\"]=ge?_e.orig_p:_e.p,e.labelLabel=TV(G,e[v+\"LabelVal\"],o[v+\"hoverformat\"]),e.valueLabel=TV(N,e[x+\"LabelVal\"],o[x+\"hoverformat\"]),e.baseLabel=TV(N,_e.b,o[x+\"hoverformat\"]),e.spikeDistance=(X(_e)+q(_e))/2,e[v+\"Spike\"]=G.c2p(_e.p,!0),Lyt(_e,o,e),e.hovertemplate=o.hovertemplate,e}}function Nye(e,t){var r=t.mcc||e.marker.color,n=t.mlcc||e.marker.line.color,i=Pyt(e,t);if(Oye.opacity(r))return r;if(Oye.opacity(n)&&i)return n}Uye.exports={hoverPoints:Ryt,hoverOnBars:Bye,getTraceColor:Nye}});var Hye=ye((Ror,Vye)=>{\"use strict\";Vye.exports=function(t,r,n){return t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),n.orientation===\"h\"?(t.label=t.y,t.value=t.x):(t.label=t.x,t.value=t.y),t}});var AT=ye((Dor,Gye)=>{\"use strict\";Gye.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=n[0].trace,s=o.type===\"funnel\",l=o.orientation===\"h\",u=[],c;if(r===!1)for(c=0;c<n.length;c++)n[c].selected=0;else for(c=0;c<n.length;c++){var f=n[c],h=\"ct\"in f?f.ct:Dyt(f,i,a,l,s);r.contains(h,!1,c,t)?(u.push({pointNumber:c,x:i.c2d(f.x),y:a.c2d(f.y)}),f.selected=1):f.selected=0}return u};function Dyt(e,t,r,n,i){var a=t.c2p(n?e.s0:e.p0,!0),o=t.c2p(n?e.s1:e.p1,!0),s=r.c2p(n?e.p0:e.s0,!0),l=r.c2p(n?e.p1:e.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}});var Wye=ye((zor,jye)=>{\"use strict\";jye.exports={attributes:Lm(),layoutAttributes:zI(),supplyDefaults:r0().supplyDefaults,crossTraceDefaults:r0().crossTraceDefaults,supplyLayoutDefaults:yV(),calc:pye(),crossTraceCalc:Gb().crossTraceCalc,colorbar:Kd(),arraysToCalcdata:c4(),plot:i2().plot,style:N0().style,styleOnSelect:N0().styleOnSelect,hoverPoints:TT().hoverPoints,eventData:Hye(),selectPoints:AT(),moduleType:\"trace\",name:\"bar\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"bar\",\"oriented\",\"errorBarsOK\",\"showLegend\",\"zoomScale\"],animatable:!0,meta:{}}});var Xye=ye((For,Zye)=>{\"use strict\";Zye.exports=Wye()});var v4=ye((qor,$ye)=>{\"use strict\";var zyt=Eg(),U0=Uc(),Yye=Lm(),Fyt=dh(),Kye=Oc().axisHoverFormat,qyt=Wo().hovertemplateAttrs,zy=no().extendFlat,ST=U0.marker,Jye=ST.line;$ye.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:U0.xperiod,yperiod:U0.yperiod,xperiod0:U0.xperiod0,yperiod0:U0.yperiod0,xperiodalignment:U0.xperiodalignment,yperiodalignment:U0.yperiodalignment,xhoverformat:Kye(\"x\"),yhoverformat:Kye(\"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:zy({},ST.symbol,{arrayOk:!1,editType:\"plot\"}),opacity:zy({},ST.opacity,{arrayOk:!1,dflt:1,editType:\"style\"}),angle:zy({},ST.angle,{arrayOk:!1,editType:\"calc\"}),size:zy({},ST.size,{arrayOk:!1,editType:\"calc\"}),color:zy({},ST.color,{arrayOk:!1,editType:\"style\"}),line:{color:zy({},Jye.color,{arrayOk:!1,dflt:Fyt.defaultLine,editType:\"style\"}),width:zy({},Jye.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:zyt(),whiskerwidth:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"calc\"},showwhiskers:{valType:\"boolean\",editType:\"calc\"},offsetgroup:Yye.offsetgroup,alignmentgroup:Yye.alignmentgroup,selected:{marker:U0.selected.marker,editType:\"style\"},unselected:{marker:U0.unselected.marker,editType:\"style\"},text:zy({},U0.text,{}),hovertext:zy({},U0.hovertext,{}),hovertemplate:qyt({}),hoveron:{valType:\"flaglist\",flags:[\"boxes\",\"points\"],dflt:\"boxes+points\",editType:\"style\"},zorder:U0.zorder}});var p4=ye((Oor,Qye)=>{\"use strict\";Qye.exports={boxmode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\",editType:\"calc\"},boxgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"},boxgroupgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"}}});var m4=ye((Bor,i1e)=>{\"use strict\";var V0=Mr(),Oyt=ba(),Byt=va(),Nyt=Pg(),Uyt=Hb(),e1e=L3(),g4=v4();function Vyt(e,t,r,n){function i(v,x){return V0.coerce(e,t,g4,v,x)}if(t1e(e,t,i,n),t.visible!==!1){Nyt(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\");var a=t._hasPreCompStats;a&&(i(\"lowerfence\"),i(\"upperfence\")),i(\"line.color\",(e.marker||{}).color||r),i(\"line.width\"),i(\"fillcolor\",Byt.addOpacity(t.line.color,.5));var o=!1;if(a){var s=i(\"mean\"),l=i(\"sd\");s&&s.length&&(o=!0,l&&l.length&&(o=\"sd\"))}i(\"whiskerwidth\");var u=i(\"sizemode\"),c;u===\"quartiles\"&&(c=i(\"boxmean\",o)),i(\"showwhiskers\",u===\"quartiles\"),(u===\"sd\"||c===\"sd\")&&i(\"sdmultiple\"),i(\"width\"),i(\"quartilemethod\");var f=!1;if(a){var h=i(\"notchspan\");h&&h.length&&(f=!0)}else V0.validate(e.notchwidth,g4.notchwidth)&&(f=!0);var d=i(\"notched\",f);d&&i(\"notchwidth\"),r1e(e,t,i,{prefix:\"box\"}),i(\"zorder\")}}function t1e(e,t,r,n){function i(P){var T=0;return P&&P.length&&(T+=1,V0.isArrayOrTypedArray(P[0])&&P[0].length&&(T+=1)),T}function a(P){return V0.validate(e[P],g4[P])}var o=r(\"y\"),s=r(\"x\"),l;if(t.type===\"box\"){var u=r(\"q1\"),c=r(\"median\"),f=r(\"q3\");t._hasPreCompStats=u&&u.length&&c&&c.length&&f&&f.length,l=Math.min(V0.minRowLength(u),V0.minRowLength(c),V0.minRowLength(f))}var h=i(o),d=i(s),v=h&&V0.minRowLength(o),x=d&&V0.minRowLength(s),b=n.calendar,p={autotypenumbers:n.autotypenumbers},E,k;if(t._hasPreCompStats)switch(String(d)+String(h)){case\"00\":var A=a(\"x0\")||a(\"dx\"),L=a(\"y0\")||a(\"dy\");L&&!A?E=\"h\":E=\"v\",k=l;break;case\"10\":E=\"v\",k=Math.min(l,x);break;case\"20\":E=\"h\",k=Math.min(l,s.length);break;case\"01\":E=\"h\",k=Math.min(l,v);break;case\"02\":E=\"v\",k=Math.min(l,o.length);break;case\"12\":E=\"v\",k=Math.min(l,x,o.length);break;case\"21\":E=\"h\",k=Math.min(l,s.length,v);break;case\"11\":k=0;break;case\"22\":var _=!1,C;for(C=0;C<s.length;C++)if(e1e(s[C],b,p)===\"category\"){_=!0;break}if(_)E=\"v\",k=Math.min(l,x,o.length);else{for(C=0;C<o.length;C++)if(e1e(o[C],b,p)===\"category\"){_=!0;break}_?(E=\"h\",k=Math.min(l,s.length,v)):(E=\"v\",k=Math.min(l,x,o.length))}break}else h>0?(E=\"v\",d>0?k=Math.min(x,v):k=Math.min(v)):d>0?(E=\"h\",k=Math.min(x)):k=0;if(!k){t.visible=!1;return}t._length=k;var M=r(\"orientation\",E);t._hasPreCompStats?M===\"v\"&&d===0?(r(\"x0\",0),r(\"dx\",1)):M===\"h\"&&h===0&&(r(\"y0\",0),r(\"dy\",1)):M===\"v\"&&d===0?r(\"x0\"):M===\"h\"&&h===0&&r(\"y0\");var g=Oyt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");g(e,t,[\"x\",\"y\"],n)}function r1e(e,t,r,n){var i=n.prefix,a=V0.coerce2(e,t,g4,\"marker.outliercolor\"),o=r(\"marker.line.outliercolor\"),s=\"outliers\";t._hasPreCompStats?s=\"all\":(a||o)&&(s=\"suspectedoutliers\");var l=r(i+\"points\",s);l?(r(\"jitter\",l===\"all\"?.3:0),r(\"pointpos\",l===\"all\"?-1.5:0),r(\"marker.symbol\"),r(\"marker.opacity\"),r(\"marker.size\"),r(\"marker.angle\"),r(\"marker.color\",t.line.color),r(\"marker.line.color\"),r(\"marker.line.width\"),l===\"suspectedoutliers\"&&(r(\"marker.line.outliercolor\",t.marker.color),r(\"marker.line.outlierwidth\")),r(\"selected.marker.color\"),r(\"unselected.marker.color\"),r(\"selected.marker.size\"),r(\"unselected.marker.size\"),r(\"text\"),r(\"hovertext\")):delete t.marker;var u=r(\"hoveron\");(u===\"all\"||u.indexOf(\"points\")!==-1)&&r(\"hovertemplate\"),V0.coerceSelectionMarkerOpacity(t,r)}function Hyt(e,t){var r,n;function i(l){return V0.coerce(n._input,n,g4,l)}for(var a=0;a<e.length;a++){n=e[a];var o=n.type;if(o===\"box\"||o===\"violin\"){r=n._input;var s=t[o+\"mode\"];s===\"group\"&&Uyt(r,n,t,i,s)}}}i1e.exports={supplyDefaults:Vyt,crossTraceDefaults:Hyt,handleSampleDefaults:t1e,handlePointsDefaults:r1e}});var VI=ye((Nor,a1e)=>{\"use strict\";var Gyt=ba(),jyt=Mr(),Wyt=p4();function n1e(e,t,r,n,i){for(var a=i+\"Layout\",o=!1,s=0;s<r.length;s++){var l=r[s];if(Gyt.traceIs(l,a)){o=!0;break}}o&&(n(i+\"mode\"),n(i+\"gap\"),n(i+\"groupgap\"))}function Zyt(e,t,r){function n(i,a){return jyt.coerce(e,t,Wyt,i,a)}n1e(e,t,r,n,\"box\")}a1e.exports={supplyLayoutDefaults:Zyt,_supply:n1e}});var MV=ye((Uor,v1e)=>{\"use strict\";var SV=uo(),HI=Qa(),Xyt=Rg(),$f=Mr(),i0=es().BADNUM,Fy=$f._;v1e.exports=function(t,r){var n=t._fullLayout,i=HI.getFromId(t,r.xaxis||\"x\"),a=HI.getFromId(t,r.yaxis||\"y\"),o=[],s=r.type===\"violin\"?\"_numViolins\":\"_numBoxes\",l,u,c,f,h,d,v;r.orientation===\"h\"?(c=i,f=\"x\",h=a,d=\"y\",v=!!r.yperiodalignment):(c=a,f=\"y\",h=i,d=\"x\",v=!!r.xperiodalignment);var x=Yyt(r,d,h,n[s]),b=x[0],p=x[1],E=$f.distinctVals(b,h),k=E.vals,A=E.minDiff/2,L,_,C,M,g,P,T=(r.boxpoints||r.points)===\"all\"?$f.identity:function(qt){return qt.v<L.lf||qt.v>L.uf};if(r._hasPreCompStats){var F=r[f],q=function(qt){return c.d2c((r[qt]||[])[l])},V=1/0,H=-1/0;for(l=0;l<r._length;l++){var X=b[l];if(SV(X)){if(L={},L.pos=L[d]=X,v&&p&&(L.orig_p=p[l]),L.q1=q(\"q1\"),L.med=q(\"median\"),L.q3=q(\"q3\"),_=[],F&&$f.isArrayOrTypedArray(F[l]))for(u=0;u<F[l].length;u++)P=c.d2c(F[l][u]),P!==i0&&(g={v:P,i:[l,u]},o1e(g,r,[l,u]),_.push(g));if(L.pts=_.sort(s1e),C=L[f]=_.map(l1e),M=C.length,L.med!==i0&&L.q1!==i0&&L.q3!==i0&&L.med>=L.q1&&L.q3>=L.med){var G=q(\"lowerfence\");L.lf=G!==i0&&G<=L.q1?G:u1e(L,C,M);var N=q(\"upperfence\");L.uf=N!==i0&&N>=L.q3?N:c1e(L,C,M);var W=q(\"mean\");L.mean=W!==i0?W:M?$f.mean(C,M):(L.q1+L.q3)/2;var re=q(\"sd\");L.sd=W!==i0&&re>=0?re:M?$f.stdev(C,M,L.mean):L.q3-L.q1,L.lo=f1e(L),L.uo=h1e(L);var ae=q(\"notchspan\");ae=ae!==i0&&ae>0?ae:d1e(L,M),L.ln=L.med-ae,L.un=L.med+ae;var _e=L.lf,Me=L.uf;r.boxpoints&&C.length&&(_e=Math.min(_e,C[0]),Me=Math.max(Me,C[M-1])),r.notched&&(_e=Math.min(_e,L.ln),Me=Math.max(Me,L.un)),L.min=_e,L.max=Me}else{$f.warn([\"Invalid input - make sure that q1 <= median <= q3\",\"q1 = \"+L.q1,\"median = \"+L.med,\"q3 = \"+L.q3].join(`\n", - "`));var ke;L.med!==i0?ke=L.med:L.q1!==i0?L.q3!==i0?ke=(L.q1+L.q3)/2:ke=L.q1:L.q3!==i0?ke=L.q3:ke=0,L.med=ke,L.q1=L.q3=ke,L.lf=L.uf=ke,L.mean=L.sd=ke,L.ln=L.un=ke,L.min=L.max=ke}V=Math.min(V,L.min),H=Math.max(H,L.max),L.pts2=_.filter(T),o.push(L)}}r._extremes[c._id]=HI.findExtremes(c,[V,H],{padded:!0})}else{var ge=c.makeCalcdata(r,f),ie=Kyt(k,A),Te=k.length,Ee=Jyt(Te);for(l=0;l<r._length;l++)if(P=ge[l],!!SV(P)){var Ae=$f.findBin(b[l],ie);Ae>=0&&Ae<Te&&(g={v:P,i:l},o1e(g,r,l),Ee[Ae].push(g))}var ze=1/0,Ce=-1/0,me=r.quartilemethod,Re=me===\"exclusive\",ce=me===\"inclusive\";for(l=0;l<Te;l++)if(Ee[l].length>0){if(L={},L.pos=L[d]=k[l],_=L.pts=Ee[l].sort(s1e),C=L[f]=_.map(l1e),M=C.length,L.min=C[0],L.max=C[M-1],L.mean=$f.mean(C,M),L.sd=$f.stdev(C,M,L.mean)*r.sdmultiple,L.med=$f.interp(C,.5),M%2&&(Re||ce)){var Ge,nt;Re?(Ge=C.slice(0,M/2),nt=C.slice(M/2+1)):ce&&(Ge=C.slice(0,M/2+1),nt=C.slice(M/2)),L.q1=$f.interp(Ge,.5),L.q3=$f.interp(nt,.5)}else L.q1=$f.interp(C,.25),L.q3=$f.interp(C,.75);L.lf=u1e(L,C,M),L.uf=c1e(L,C,M),L.lo=f1e(L),L.uo=h1e(L);var ct=d1e(L,M);L.ln=L.med-ct,L.un=L.med+ct,ze=Math.min(ze,L.ln),Ce=Math.max(Ce,L.un),L.pts2=_.filter(T),o.push(L)}r.notched&&$f.isTypedArray(ge)&&(ge=Array.from(ge)),r._extremes[c._id]=HI.findExtremes(c,r.notched?ge.concat([ze,Ce]):ge,{padded:!0})}return $yt(o,r),o.length>0?(o[0].t={num:n[s],dPos:A,posLetter:d,valLetter:f,labels:{med:Fy(t,\"median:\"),min:Fy(t,\"min:\"),q1:Fy(t,\"q1:\"),q3:Fy(t,\"q3:\"),max:Fy(t,\"max:\"),mean:r.boxmean===\"sd\"||r.sizemode===\"sd\"?Fy(t,\"mean \\xB1 \\u03C3:\").replace(\"\\u03C3\",r.sdmultiple===1?\"\\u03C3\":r.sdmultiple+\"\\u03C3\"):Fy(t,\"mean:\"),lf:Fy(t,\"lower fence:\"),uf:Fy(t,\"upper fence:\")}},n[s]++,o):[{t:{empty:!0}}]};function Yyt(e,t,r,n){var i=t in e,a=t+\"0\"in e,o=\"d\"+t in e;if(i||a&&o){var s=r.makeCalcdata(e,t),l=Xyt(e,r,t,s).vals;return[l,s]}var u;a?u=e[t+\"0\"]:\"name\"in e&&(r.type===\"category\"||SV(e.name)&&[\"linear\",\"log\"].indexOf(r.type)!==-1||$f.isDateTime(e.name)&&r.type===\"date\")?u=e.name:u=n;for(var c=r.type===\"multicategory\"?r.r2c_just_indices(u):r.d2c(u,0,e[t+\"calendar\"]),f=e._length,h=new Array(f),d=0;d<f;d++)h[d]=c;return[h]}function Kyt(e,t){for(var r=e.length,n=new Array(r+1),i=0;i<r;i++)n[i]=e[i]-t;return n[r]=e[r-1]+t,n}function Jyt(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=[];return t}var AV={text:\"tx\",hovertext:\"htx\"};function o1e(e,t,r){for(var n in AV)$f.isArrayOrTypedArray(t[n])&&(Array.isArray(r)?$f.isArrayOrTypedArray(t[n][r[0]])&&(e[AV[n]]=t[n][r[0]][r[1]]):e[AV[n]]=t[n][r])}function $yt(e,t){if($f.isArrayOrTypedArray(t.selectedpoints))for(var r=0;r<e.length;r++){for(var n=e[r].pts||[],i={},a=0;a<n.length;a++)i[n[a].i]=a;$f.tagSelected(n,t,i)}}function s1e(e,t){return e.v-t.v}function l1e(e){return e.v}function u1e(e,t,r){return r===0?e.q1:Math.min(e.q1,t[Math.min($f.findBin(2.5*e.q1-1.5*e.q3,t,!0)+1,r-1)])}function c1e(e,t,r){return r===0?e.q3:Math.max(e.q3,t[Math.max($f.findBin(2.5*e.q3-1.5*e.q1,t),0)])}function f1e(e){return 4*e.q1-3*e.q3}function h1e(e){return 4*e.q3-3*e.q1}function d1e(e,t){return t===0?0:1.57*(e.q3-e.q1)/Math.sqrt(t)}});var GI=ye((Vor,y1e)=>{\"use strict\";var p1e=Qa(),Qyt=Mr(),e1t=Bb().getAxisGroup,g1e=[\"v\",\"h\"];function t1t(e,t){for(var r=e.calcdata,n=t.xaxis,i=t.yaxis,a=0;a<g1e.length;a++){for(var o=g1e[a],s=o===\"h\"?i:n,l=[],u=0;u<r.length;u++){var c=r[u],f=c[0].t,h=c[0].trace;h.visible===!0&&(h.type===\"box\"||h.type===\"candlestick\")&&!f.empty&&(h.orientation||\"v\")===o&&h.xaxis===n._id&&h.yaxis===i._id&&l.push(u)}m1e(\"box\",e,l,s)}}function m1e(e,t,r,n){var i=t.calcdata,a=t._fullLayout,o=n._id,s=o.charAt(0),l,u,c,f=[],h=0;for(l=0;l<r.length;l++)for(c=i[r[l]],u=0;u<c.length;u++)f.push(n.c2l(c[u].pos,!0)),h+=(c[u].pts2||[]).length;if(f.length){var d=Qyt.distinctVals(f);(n.type===\"category\"||n.type===\"multicategory\")&&(d.minDiff=1);var v=d.minDiff/2;p1e.minDtick(n,d.minDiff,d.vals[0],!0);var x=e===\"violin\"?\"_numViolins\":\"_numBoxes\",b=a[x],p=a[e+\"mode\"]===\"group\"&&b>1,E=1-a[e+\"gap\"],k=1-a[e+\"groupgap\"];for(l=0;l<r.length;l++){c=i[r[l]];var A=c[0].trace,L=c[0].t,_=A.width,C=A.side,M,g,P,T;if(_)M=g=T=_/2,P=0;else if(M=v,p){var F=e1t(a,n._id)+A.orientation,q=a._alignmentOpts[F]||{},V=q[A.alignmentgroup]||{},H=Object.keys(V.offsetGroups||{}).length,X=H||b,G=H?A._offsetIndex:L.num;g=M*E*k/X,P=2*M*(-.5+(G+.5)/X)*E,T=M*E/X}else g=M*E*k,P=0,T=M;L.dPos=M,L.bPos=P,L.bdPos=g,L.wHover=T;var N,W,re=P+g,ae,_e,Me,ke,ge,ie,Te=!!_,Ee=(A.boxpoints||A.points)&&h>0;if(C===\"positive\"?(N=M*(_?1:.5),ae=re,W=ae=P):C===\"negative\"?(N=ae=P,W=M*(_?1:.5),_e=re):(N=W=M,ae=_e=re),Ee){var Ae=A.pointpos,ze=A.jitter,Ce=A.marker.size/2,me=0;Ae+ze>=0&&(me=re*(Ae+ze),me>N?(Te=!0,ge=Ce,Me=me):me>ae&&(ge=Ce,Me=N)),me<=N&&(Me=N);var Re=0;Ae-ze<=0&&(Re=-re*(Ae-ze),Re>W?(Te=!0,ie=Ce,ke=Re):Re>_e&&(ie=Ce,ke=W)),Re<=W&&(ke=W)}else Me=N,ke=W;var ce=new Array(c.length);for(u=0;u<c.length;u++)ce[u]=c[u].pos;A._extremes[o]=p1e.findExtremes(n,ce,{padded:Te,vpadminus:ke,vpadplus:Me,vpadLinearized:!0,ppadminus:{x:ie,y:ge}[s],ppadplus:{x:ge,y:ie}[s]})}}}y1e.exports={crossTraceCalc:t1t,setPositionOffset:m1e}});var jI=ye((Hor,T1e)=>{\"use strict\";var MT=xa(),n2=Mr(),r1t=ao(),_1e=5,i1t=.01;function n1t(e,t,r,n){var i=e._context.staticPlot,a=t.xaxis,o=t.yaxis;n2.makeTraceGroups(n,r,\"trace boxes\").each(function(s){var l=MT.select(this),u=s[0],c=u.t,f=u.trace;if(c.wdPos=c.bdPos*f.whiskerwidth,f.visible!==!0||c.empty){l.remove();return}var h,d;f.orientation===\"h\"?(h=o,d=a):(h=a,d=o),x1e(l,{pos:h,val:d},f,c,i),b1e(l,{x:a,y:o},f,c),w1e(l,{pos:h,val:d},f,c)})}function x1e(e,t,r,n,i){var a=r.orientation===\"h\",o=t.val,s=t.pos,l=!!s.rangebreaks,u=n.bPos,c=n.wdPos||0,f=n.bPosPxOffset||0,h=r.whiskerwidth||0,d=r.showwhiskers!==!1,v=r.notched||!1,x=v?1-2*r.notchwidth:1,b,p;Array.isArray(n.bdPos)?(b=n.bdPos[0],p=n.bdPos[1]):(b=n.bdPos,p=n.bdPos);var E=e.selectAll(\"path.box\").data(r.type!==\"violin\"||r.box.visible?n2.identity:[]);E.enter().append(\"path\").style(\"vector-effect\",i?\"none\":\"non-scaling-stroke\").attr(\"class\",\"box\"),E.exit().remove(),E.each(function(k){if(k.empty)return MT.select(this).attr(\"d\",\"M0,0Z\");var A=s.c2l(k.pos+u,!0),L=s.l2p(A-b)+f,_=s.l2p(A+p)+f,C=l?(L+_)/2:s.l2p(A)+f,M=r.whiskerwidth,g=l?L*M+(1-M)*C:s.l2p(A-c)+f,P=l?_*M+(1-M)*C:s.l2p(A+c)+f,T=s.l2p(A-b*x)+f,F=s.l2p(A+p*x)+f,q=r.sizemode===\"sd\",V=o.c2p(q?k.mean-k.sd:k.q1,!0),H=q?o.c2p(k.mean+k.sd,!0):o.c2p(k.q3,!0),X=n2.constrain(q?o.c2p(k.mean,!0):o.c2p(k.med,!0),Math.min(V,H)+1,Math.max(V,H)-1),G=k.lf===void 0||r.boxpoints===!1||q,N=o.c2p(G?k.min:k.lf,!0),W=o.c2p(G?k.max:k.uf,!0),re=o.c2p(k.ln,!0),ae=o.c2p(k.un,!0);a?MT.select(this).attr(\"d\",\"M\"+X+\",\"+T+\"V\"+F+\"M\"+V+\",\"+L+\"V\"+_+(v?\"H\"+re+\"L\"+X+\",\"+F+\"L\"+ae+\",\"+_:\"\")+\"H\"+H+\"V\"+L+(v?\"H\"+ae+\"L\"+X+\",\"+T+\"L\"+re+\",\"+L:\"\")+\"Z\"+(d?\"M\"+V+\",\"+C+\"H\"+N+\"M\"+H+\",\"+C+\"H\"+W+(h===0?\"\":\"M\"+N+\",\"+g+\"V\"+P+\"M\"+W+\",\"+g+\"V\"+P):\"\")):MT.select(this).attr(\"d\",\"M\"+T+\",\"+X+\"H\"+F+\"M\"+L+\",\"+V+\"H\"+_+(v?\"V\"+re+\"L\"+F+\",\"+X+\"L\"+_+\",\"+ae:\"\")+\"V\"+H+\"H\"+L+(v?\"V\"+ae+\"L\"+T+\",\"+X+\"L\"+L+\",\"+re:\"\")+\"Z\"+(d?\"M\"+C+\",\"+V+\"V\"+N+\"M\"+C+\",\"+H+\"V\"+W+(h===0?\"\":\"M\"+g+\",\"+N+\"H\"+P+\"M\"+g+\",\"+W+\"H\"+P):\"\"))})}function b1e(e,t,r,n){var i=t.x,a=t.y,o=n.bdPos,s=n.bPos,l=r.boxpoints||r.points;n2.seedPseudoRandom();var u=function(h){return h.forEach(function(d){d.t=n,d.trace=r}),h},c=e.selectAll(\"g.points\").data(l?u:[]);c.enter().append(\"g\").attr(\"class\",\"points\"),c.exit().remove();var f=c.selectAll(\"path\").data(function(h){var d,v=h.pts2,x=Math.max((h.max-h.min)/10,h.q3-h.q1),b=x*1e-9,p=x*i1t,E=[],k=0,A;if(r.jitter){if(x===0)for(k=1,E=new Array(v.length),d=0;d<v.length;d++)E[d]=1;else for(d=0;d<v.length;d++){var L=Math.max(0,d-_1e),_=v[L].v,C=Math.min(v.length-1,d+_1e),M=v[C].v;l!==\"all\"&&(v[d].v<h.lf?M=Math.min(M,h.lf):_=Math.max(_,h.uf));var g=Math.sqrt(p*(C-L)/(M-_+b))||0;g=n2.constrain(Math.abs(g),0,1),E.push(g),k=Math.max(g,k)}A=r.jitter*2/(k||1)}for(d=0;d<v.length;d++){var P=v[d],T=P.v,F=r.jitter?A*E[d]*(n2.pseudoRandom()-.5):0,q=h.pos+s+o*(r.pointpos+F);r.orientation===\"h\"?(P.y=q,P.x=T):(P.x=q,P.y=T),l===\"suspectedoutliers\"&&T<h.uo&&T>h.lo&&(P.so=!0)}return v});f.enter().append(\"path\").classed(\"point\",!0),f.exit().remove(),f.call(r1t.translatePoints,i,a)}function w1e(e,t,r,n){var i=t.val,a=t.pos,o=!!a.rangebreaks,s=n.bPos,l=n.bPosPxOffset||0,u=r.boxmean||(r.meanline||{}).visible,c,f;Array.isArray(n.bdPos)?(c=n.bdPos[0],f=n.bdPos[1]):(c=n.bdPos,f=n.bdPos);var h=e.selectAll(\"path.mean\").data(r.type===\"box\"&&r.boxmean||r.type===\"violin\"&&r.box.visible&&r.meanline.visible?n2.identity:[]);h.enter().append(\"path\").attr(\"class\",\"mean\").style({fill:\"none\",\"vector-effect\":\"non-scaling-stroke\"}),h.exit().remove(),h.each(function(d){var v=a.c2l(d.pos+s,!0),x=a.l2p(v-c)+l,b=a.l2p(v+f)+l,p=o?(x+b)/2:a.l2p(v)+l,E=i.c2p(d.mean,!0),k=i.c2p(d.mean-d.sd,!0),A=i.c2p(d.mean+d.sd,!0);r.orientation===\"h\"?MT.select(this).attr(\"d\",\"M\"+E+\",\"+x+\"V\"+b+(u===\"sd\"?\"m0,0L\"+k+\",\"+p+\"L\"+E+\",\"+x+\"L\"+A+\",\"+p+\"Z\":\"\")):MT.select(this).attr(\"d\",\"M\"+x+\",\"+E+\"H\"+b+(u===\"sd\"?\"m0,0L\"+p+\",\"+k+\"L\"+x+\",\"+E+\"L\"+p+\",\"+A+\"Z\":\"\"))})}T1e.exports={plot:n1t,plotBoxAndWhiskers:x1e,plotPoints:b1e,plotBoxMean:w1e}});var WI=ye((Gor,A1e)=>{\"use strict\";var EV=xa(),kV=va(),CV=ao();function a1t(e,t,r){var n=r||EV.select(e).selectAll(\"g.trace.boxes\");n.style(\"opacity\",function(i){return i[0].trace.opacity}),n.each(function(i){var a=EV.select(this),o=i[0].trace,s=o.line.width;function l(f,h,d,v){f.style(\"stroke-width\",h+\"px\").call(kV.stroke,d).call(kV.fill,v)}var u=a.selectAll(\"path.box\");if(o.type===\"candlestick\")u.each(function(f){if(!f.empty){var h=EV.select(this),d=o[f.dir];l(h,d.line.width,d.line.color,d.fillcolor),h.style(\"opacity\",o.selectedpoints&&!f.selected?.3:1)}});else{l(u,s,o.line.color,o.fillcolor),a.selectAll(\"path.mean\").style({\"stroke-width\":s,\"stroke-dasharray\":2*s+\"px,\"+s+\"px\"}).call(kV.stroke,o.line.color);var c=a.selectAll(\"path.point\");CV.pointStyle(c,o,e)}})}function o1t(e,t,r){var n=t[0].trace,i=r.selectAll(\"path.point\");n.selectedpoints?CV.selectedPointStyle(i,n):CV.pointStyle(i,n,e)}A1e.exports={style:a1t,styleOnSelect:o1t}});var PV=ye((jor,k1e)=>{\"use strict\";var s1t=Qa(),LV=Mr(),S_=Nc(),S1e=va(),l1t=LV.fillText;function u1t(e,t,r,n){var i=e.cd,a=i[0].trace,o=a.hoveron,s=[],l;return o.indexOf(\"boxes\")!==-1&&(s=s.concat(M1e(e,t,r,n))),o.indexOf(\"points\")!==-1&&(l=E1e(e,t,r)),n===\"closest\"?l?[l]:s:(l&&s.push(l),s)}function M1e(e,t,r,n){var i=e.cd,a=e.xa,o=e.ya,s=i[0].trace,l=i[0].t,u=s.type===\"violin\",c,f,h,d,v,x,b,p,E,k,A,L=l.bdPos,_,C,M=l.wHover,g=function(Ce){return h.c2l(Ce.pos)+l.bPos-h.c2l(x)};u&&s.side!==\"both\"?(s.side===\"positive\"&&(E=function(Ce){var me=g(Ce);return S_.inbox(me,me+M,k)},_=L,C=0),s.side===\"negative\"&&(E=function(Ce){var me=g(Ce);return S_.inbox(me-M,me,k)},_=0,C=L)):(E=function(Ce){var me=g(Ce);return S_.inbox(me-M,me+M,k)},_=C=L);var P;u?P=function(Ce){return S_.inbox(Ce.span[0]-v,Ce.span[1]-v,k)}:P=function(Ce){return S_.inbox(Ce.min-v,Ce.max-v,k)},s.orientation===\"h\"?(v=t,x=r,b=P,p=E,c=\"y\",h=o,f=\"x\",d=a):(v=r,x=t,b=E,p=P,c=\"x\",h=a,f=\"y\",d=o);var T=Math.min(1,L/Math.abs(h.r2c(h.range[1])-h.r2c(h.range[0])));k=e.maxHoverDistance-T,A=e.maxSpikeDistance-T;function F(Ce){return(b(Ce)+p(Ce))/2}var q=S_.getDistanceFunction(n,b,p,F);if(S_.getClosest(i,q,e),e.index===!1)return[];var V=i[e.index],H=s.line.color,X=(s.marker||{}).color;S1e.opacity(H)&&s.line.width?e.color=H:S1e.opacity(X)&&s.boxpoints?e.color=X:e.color=s.fillcolor,e[c+\"0\"]=h.c2p(V.pos+l.bPos-C,!0),e[c+\"1\"]=h.c2p(V.pos+l.bPos+_,!0),e[c+\"LabelVal\"]=V.orig_p!==void 0?V.orig_p:V.pos;var G=c+\"Spike\";e.spikeDistance=F(V)*A/k,e[G]=h.c2p(V.pos,!0);var N=s.boxmean||s.sizemode===\"sd\"||(s.meanline||{}).visible,W=s.boxpoints||s.points,re=W&&N?[\"max\",\"uf\",\"q3\",\"med\",\"mean\",\"q1\",\"lf\",\"min\"]:W&&!N?[\"max\",\"uf\",\"q3\",\"med\",\"q1\",\"lf\",\"min\"]:!W&&N?[\"max\",\"q3\",\"med\",\"mean\",\"q1\",\"min\"]:[\"max\",\"q3\",\"med\",\"q1\",\"min\"],ae=d.range[1]<d.range[0];s.orientation===(ae?\"v\":\"h\")&&re.reverse();for(var _e=e.spikeDistance,Me=e[G],ke=[],ge=0;ge<re.length;ge++){var ie=re[ge];if(ie in V){var Te=V[ie],Ee=d.c2p(Te,!0),Ae=LV.extendFlat({},e);Ae.attr=ie,Ae[f+\"0\"]=Ae[f+\"1\"]=Ee,Ae[f+\"LabelVal\"]=Te,Ae[f+\"Label\"]=(l.labels?l.labels[ie]+\" \":\"\")+s1t.hoverLabelText(d,Te,s[f+\"hoverformat\"]),Ae.hoverOnBox=!0,ie===\"mean\"&&\"sd\"in V&&(s.boxmean===\"sd\"||s.sizemode===\"sd\")&&(Ae[f+\"err\"]=V.sd),Ae.hovertemplate=!1,ke.push(Ae)}}e.name=\"\",e.spikeDistance=void 0,e[G]=void 0;for(var ze=0;ze<ke.length;ze++)ke[ze].attr!==\"med\"?(ke[ze].name=\"\",ke[ze].spikeDistance=void 0,ke[ze][G]=void 0):(ke[ze].spikeDistance=_e,ke[ze][G]=Me);return ke}function E1e(e,t,r){for(var n=e.cd,i=e.xa,a=e.ya,o=n[0].trace,s=i.c2p(t),l=a.c2p(r),u,c=function(P){var T=Math.max(3,P.mrc||0);return Math.max(Math.abs(i.c2p(P.x)-s)-T,1-3/T)},f=function(P){var T=Math.max(3,P.mrc||0);return Math.max(Math.abs(a.c2p(P.y)-l)-T,1-3/T)},h=S_.quadrature(c,f),d=!1,v,x,b=0;b<n.length;b++){v=n[b];for(var p=0;p<(v.pts||[]).length;p++){x=v.pts[p];var E=h(x);E<=e.distance&&(e.distance=E,d=[b,p])}}if(!d)return!1;v=n[d[0]],x=v.pts[d[1]];var k=i.c2p(x.x,!0),A=a.c2p(x.y,!0),L=x.mrc||1;u=LV.extendFlat({},e,{index:x.i,color:(o.marker||{}).color,name:o.name,x0:k-L,x1:k+L,y0:A-L,y1:A+L,spikeDistance:e.distance,hovertemplate:o.hovertemplate});var _=v.orig_p,C=_!==void 0?_:v.pos,M;o.orientation===\"h\"?(M=a,u.xLabelVal=x.x,u.yLabelVal=C):(M=i,u.xLabelVal=C,u.yLabelVal=x.y);var g=M._id.charAt(0);return u[g+\"Spike\"]=M.c2p(v.pos,!0),l1t(x,o,u),u}k1e.exports={hoverPoints:u1t,hoverOnBoxes:M1e,hoverOnPoints:E1e}});var L1e=ye((Wor,C1e)=>{\"use strict\";C1e.exports=function(t,r){return r.hoverOnBox&&(t.hoverOnBox=r.hoverOnBox),\"xVal\"in r&&(t.x=r.xVal),\"yVal\"in r&&(t.y=r.yVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var IV=ye((Zor,P1e)=>{\"use strict\";P1e.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l;if(r===!1)for(s=0;s<n.length;s++)for(l=0;l<(n[s].pts||[]).length;l++)n[s].pts[l].selected=0;else for(s=0;s<n.length;s++)for(l=0;l<(n[s].pts||[]).length;l++){var u=n[s].pts[l],c=i.c2p(u.x),f=a.c2p(u.y);r.contains([c,f],null,u.i,t)?(o.push({pointNumber:u.i,x:i.c2d(u.x),y:a.c2d(u.y)}),u.selected=1):u.selected=0}return o}});var R1e=ye((Xor,I1e)=>{\"use strict\";I1e.exports={attributes:v4(),layoutAttributes:p4(),supplyDefaults:m4().supplyDefaults,crossTraceDefaults:m4().crossTraceDefaults,supplyLayoutDefaults:VI().supplyLayoutDefaults,calc:MV(),crossTraceCalc:GI().crossTraceCalc,plot:jI().plot,style:WI().style,styleOnSelect:WI().styleOnSelect,hoverPoints:PV().hoverPoints,eventData:L1e(),selectPoints:IV(),moduleType:\"trace\",name:\"box\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\",\"boxLayout\",\"zoomScale\"],meta:{}}});var z1e=ye((Yor,D1e)=>{\"use strict\";D1e.exports=R1e()});var ET=ye((Kor,F1e)=>{\"use strict\";var n0=Uc(),c1t=vl(),f1t=Su(),RV=Oc().axisHoverFormat,h1t=Wo().hovertemplateAttrs,d1t=Wo().texttemplateAttrs,v1t=Jl(),Pp=no().extendFlat;F1e.exports=Pp({z:{valType:\"data_array\",editType:\"calc\"},x:Pp({},n0.x,{impliedEdits:{xtype:\"array\"}}),x0:Pp({},n0.x0,{impliedEdits:{xtype:\"scaled\"}}),dx:Pp({},n0.dx,{impliedEdits:{xtype:\"scaled\"}}),y:Pp({},n0.y,{impliedEdits:{ytype:\"array\"}}),y0:Pp({},n0.y0,{impliedEdits:{ytype:\"scaled\"}}),dy:Pp({},n0.dy,{impliedEdits:{ytype:\"scaled\"}}),xperiod:Pp({},n0.xperiod,{impliedEdits:{xtype:\"scaled\"}}),yperiod:Pp({},n0.yperiod,{impliedEdits:{ytype:\"scaled\"}}),xperiod0:Pp({},n0.xperiod0,{impliedEdits:{xtype:\"scaled\"}}),yperiod0:Pp({},n0.yperiod0,{impliedEdits:{ytype:\"scaled\"}}),xperiodalignment:Pp({},n0.xperiodalignment,{impliedEdits:{xtype:\"scaled\"}}),yperiodalignment:Pp({},n0.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:RV(\"x\"),yhoverformat:RV(\"y\"),zhoverformat:RV(\"z\",1),hovertemplate:h1t(),texttemplate:d1t({arrayOk:!1,editType:\"plot\"},{keys:[\"x\",\"y\",\"z\",\"text\"]}),textfont:f1t({editType:\"plot\",autoSize:!0,autoColor:!0,colorEditType:\"style\"}),showlegend:Pp({},c1t.showlegend,{dflt:!1}),zorder:n0.zorder},v1t(\"\",{cLetter:\"z\",autoColorDflt:!1}))});var XI=ye((Jor,O1e)=>{\"use strict\";var p1t=uo(),ZI=Mr(),g1t=ba();O1e.exports=function(t,r,n,i,a,o){var s=n(\"z\");a=a||\"x\",o=o||\"y\";var l,u;if(s===void 0||!s.length)return 0;if(ZI.isArray1D(s)){l=n(a),u=n(o);var c=ZI.minRowLength(l),f=ZI.minRowLength(u);if(c===0||f===0)return 0;r._length=Math.min(c,f,s.length)}else{if(l=q1e(a,n),u=q1e(o,n),!m1t(s))return 0;n(\"transpose\"),r._length=null}var h=g1t.getComponentMethod(\"calendars\",\"handleTraceDefaults\");return h(t,r,[a,o],i),!0};function q1e(e,t){var r=t(e),n=r?t(e+\"type\",\"array\"):\"scaled\";return n===\"scaled\"&&(t(e+\"0\"),t(\"d\"+e)),r}function m1t(e){for(var t=!0,r=!1,n=!1,i,a=0;a<e.length;a++){if(i=e[a],!ZI.isArrayOrTypedArray(i)){t=!1;break}i.length>0&&(r=!0);for(var o=0;o<i.length;o++)if(p1t(i[o])){n=!0;break}}return t&&r&&n}});var y4=ye(($or,N1e)=>{\"use strict\";var B1e=Mr();N1e.exports=function(t,r){t(\"texttemplate\");var n=B1e.extendFlat({},r.font,{color:\"auto\",size:\"auto\"});B1e.coerceFont(t,\"textfont\",n)}});var DV=ye((Qor,U1e)=>{\"use strict\";U1e.exports=function(t,r,n){var i=n(\"zsmooth\");i===!1&&(n(\"xgap\"),n(\"ygap\")),n(\"zhoverformat\")}});var G1e=ye((esr,H1e)=>{\"use strict\";var V1e=Mr(),y1t=XI(),_1t=y4(),x1t=Pg(),b1t=DV(),w1t=Uh(),T1t=ET();H1e.exports=function(t,r,n,i){function a(s,l){return V1e.coerce(t,r,T1t,s,l)}var o=y1t(t,r,a,i);if(!o){r.visible=!1;return}x1t(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),_1t(a,i),b1t(t,r,a,i),a(\"hoverongaps\"),a(\"connectgaps\",V1e.isArray1D(r.z)&&r.zsmooth!==!1),w1t(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),a(\"zorder\")}});var zV=ye((tsr,j1e)=>{\"use strict\";var kT=uo();j1e.exports={count:function(e,t,r){return r[e]++,1},sum:function(e,t,r,n){var i=n[t];return kT(i)?(i=Number(i),r[e]+=i,i):0},avg:function(e,t,r,n,i){var a=n[t];return kT(a)&&(a=Number(a),r[e]+=a,i[e]++),0},min:function(e,t,r,n){var i=n[t];if(kT(i))if(i=Number(i),kT(r[e])){if(r[e]>i){var a=i-r[e];return r[e]=i,a}}else return r[e]=i,i;return 0},max:function(e,t,r,n){var i=n[t];if(kT(i))if(i=Number(i),kT(r[e])){if(r[e]<i){var a=i-r[e];return r[e]=i,a}}else return r[e]=i,i;return 0}}});var FV=ye((rsr,W1e)=>{\"use strict\";W1e.exports={percent:function(e,t){for(var r=e.length,n=100/t,i=0;i<r;i++)e[i]*=n},probability:function(e,t){for(var r=e.length,n=0;n<r;n++)e[n]/=t},density:function(e,t,r,n){var i=e.length;n=n||1;for(var a=0;a<i;a++)e[a]*=r[a]*n},\"probability density\":function(e,t,r,n){var i=e.length;n&&(t/=n);for(var a=0;a<i;a++)e[a]*=r[a]/t}}});var qV=ye((isr,Z1e)=>{\"use strict\";Z1e.exports=function(t,r){for(var n=t.length,i=0,a=0;a<n;a++)r[a]?(t[a]/=r[a],i+=t[a]):t[a]=null;return i}});var OV=ye((nsr,t_e)=>{\"use strict\";var CT=es(),a2=CT.ONEAVGYEAR,X1e=CT.ONEAVGMONTH,KI=CT.ONEDAY,Y1e=CT.ONEHOUR,K1e=CT.ONEMIN,J1e=CT.ONESEC,$1e=Qa().tickIncrement;t_e.exports=function(t,r,n,i,a){var o=-1.1*r,s=-.1*r,l=t-s,u=n[0],c=n[1],f=Math.min(YI(u+s,u+l,i,a),YI(c+s,c+l,i,a)),h=Math.min(YI(u+o,u+s,i,a),YI(c+o,c+s,i,a)),d,v;if(f>h&&h<Math.abs(c-u)/4e3?(d=f,v=!1):(d=Math.min(f,h),v=!0),i.type===\"date\"&&d>KI){var x=d===a2?1:6,b=d===a2?\"M12\":\"M1\";return function(p,E){var k=i.c2d(p,a2,a),A=k.indexOf(\"-\",x);A>0&&(k=k.substr(0,A));var L=i.d2c(k,0,a);if(L<p){var _=$1e(L,b,!1,a);(L+_)/2<p+t&&(L=_)}return E&&v?$1e(L,b,!0,a):L}}return function(p,E){var k=d*Math.round(p/d);return k+d/10<p&&k+d*.9<p+t&&(k+=d),E&&v&&(k-=d),k}};function YI(e,t,r,n){if(e*t<=0)return 1/0;for(var i=Math.abs(t-e),a=r.type===\"date\",o=Q1e(i,a),s=0;s<10;s++){var l=Q1e(o*80,a);if(o===l)break;if(A1t(l,e,t,a,r,n))o=l;else break}return o}function Q1e(e,t){return t&&e>J1e?e>KI?e>a2*1.1?a2:e>X1e*1.1?X1e:KI:e>Y1e?Y1e:e>K1e?K1e:J1e:Math.pow(10,Math.floor(Math.log(e)/Math.LN10))}function A1t(e,t,r,n,i,a){if(n&&e>KI){var o=e_e(t,i,a),s=e_e(r,i,a),l=e===a2?0:1;return o[l]!==s[l]}return Math.floor(r/e)-Math.floor(t/e)>.1}function e_e(e,t,r){var n=t.c2d(e,a2,r).split(\"-\");return n[0]===\"\"&&(n.unshift(),n[0]=\"-\"+n[0]),n}});var UV=ye((asr,n_e)=>{\"use strict\";var BV=uo(),Vv=Mr(),r_e=ba(),H0=Qa(),S1t=c4(),i_e=zV(),M1t=FV(),E1t=qV(),k1t=OV();function C1t(e,t){var r=[],n=[],i=t.orientation===\"h\",a=H0.getFromId(e,i?t.yaxis:t.xaxis),o=i?\"y\":\"x\",s={x:\"y\",y:\"x\"}[o],l=t[o+\"calendar\"],u=t.cumulative,c,f=NV(e,t,a,o),h=f[0],d=f[1],v=typeof h.size==\"string\",x=[],b=v?x:h,p=[],E=[],k=[],A=0,L=t.histnorm,_=t.histfunc,C=L.indexOf(\"density\")!==-1,M,g,P;u.enabled&&C&&(L=L.replace(/ ?density$/,\"\"),C=!1);var T=_===\"max\"||_===\"min\",F=T?null:0,q=i_e.count,V=M1t[L],H=!1,X=function(me){return a.r2c(me,0,l)},G;for(Vv.isArrayOrTypedArray(t[s])&&_!==\"count\"&&(G=t[s],H=_===\"avg\",q=i_e[_]),c=X(h.start),g=X(h.end)+(c-H0.tickIncrement(c,h.size,!1,l))/1e6;c<g&&r.length<1e6&&(M=H0.tickIncrement(c,h.size,!1,l),r.push((c+M)/2),n.push(F),k.push([]),x.push(c),C&&p.push(1/(M-c)),H&&E.push(0),!(M<=c));)c=M;x.push(c),!v&&a.type===\"date\"&&(b={start:X(b.start),end:X(b.end),size:b.size}),e._fullLayout._roundFnOpts||(e._fullLayout._roundFnOpts={});var N=t[\"_\"+o+\"bingroup\"],W={leftGap:1/0,rightGap:1/0};N&&(e._fullLayout._roundFnOpts[N]||(e._fullLayout._roundFnOpts[N]=W),W=e._fullLayout._roundFnOpts[N]);var re=n.length,ae=!0,_e=W.leftGap,Me=W.rightGap,ke={};for(c=0;c<d.length;c++){var ge=d[c];P=Vv.findBin(ge,b),P>=0&&P<re&&(A+=q(P,c,n,G,E),ae&&k[P].length&&ge!==d[k[P][0]]&&(ae=!1),k[P].push(c),ke[c]=P,_e=Math.min(_e,ge-x[P]),Me=Math.min(Me,x[P+1]-ge))}W.leftGap=_e,W.rightGap=Me;var ie;ae||(ie=function(me,Re){return function(){var ce=e._fullLayout._roundFnOpts[N];return k1t(ce.leftGap,ce.rightGap,x,a,l)(me,Re)}}),H&&(A=E1t(n,E)),V&&V(n,A,p),u.enabled&&I1t(n,u.direction,u.currentbin);var Te=Math.min(r.length,n.length),Ee=[],Ae=0,ze=Te-1;for(c=0;c<Te;c++)if(n[c]){Ae=c;break}for(c=Te-1;c>=Ae;c--)if(n[c]){ze=c;break}for(c=Ae;c<=ze;c++)if(BV(r[c])&&BV(n[c])){var Ce={p:r[c],s:n[c],b:0};u.enabled||(Ce.pts=k[c],ae?Ce.ph0=Ce.ph1=k[c].length?d[k[c][0]]:r[c]:(t._computePh=!0,Ce.ph0=ie(x[c]),Ce.ph1=ie(x[c+1],!0))),Ee.push(Ce)}return Ee.length===1&&(Ee[0].width1=H0.tickIncrement(Ee[0].p,h.size,!1,l)-Ee[0].p),S1t(Ee,t),Vv.isArrayOrTypedArray(t.selectedpoints)&&Vv.tagSelected(Ee,t,ke),Ee}function NV(e,t,r,n,i){var a=n+\"bins\",o=e._fullLayout,s=t[\"_\"+n+\"bingroup\"],l=o._histogramBinOpts[s],u=o.barmode===\"overlay\",c,f,h,d,v,x,b,p=function(ge){return r.r2c(ge,0,d)},E=function(ge){return r.c2r(ge,0,d)},k=r.type===\"date\"?function(ge){return ge||ge===0?Vv.cleanDate(ge,null,d):null}:function(ge){return BV(ge)?Number(ge):null};function A(ge,ie,Te){ie[ge+\"Found\"]?(ie[ge]=k(ie[ge]),ie[ge]===null&&(ie[ge]=Te[ge])):(x[ge]=ie[ge]=Te[ge],Vv.nestedProperty(f[0],a+\".\"+ge).set(Te[ge]))}if(t[\"_\"+n+\"autoBinFinished\"])delete t[\"_\"+n+\"autoBinFinished\"];else{f=l.traces;var L=[],_=!0,C=!1,M=!1;for(c=0;c<f.length;c++)if(h=f[c],h.visible){var g=l.dirs[c];v=h[\"_\"+g+\"pos0\"]=r.makeCalcdata(h,g),L=Vv.concat(L,v),delete h[\"_\"+n+\"autoBinFinished\"],t.visible===!0&&(_?_=!1:(delete h._autoBin,h[\"_\"+n+\"autoBinFinished\"]=1),r_e.traceIs(h,\"2dMap\")&&(C=!0),h.type===\"histogram2dcontour\"&&(M=!0))}d=f[0][n+\"calendar\"];var P=H0.autoBin(L,r,l.nbins,C,d,l.sizeFound&&l.size),T=f[0]._autoBin={};if(x=T[l.dirs[0]]={},M&&(l.size||(P.start=E(H0.tickIncrement(p(P.start),P.size,!0,d))),l.end===void 0&&(P.end=E(H0.tickIncrement(p(P.end),P.size,!1,d)))),u&&!r_e.traceIs(t,\"2dMap\")&&P._dataSpan===0&&r.type!==\"category\"&&r.type!==\"multicategory\"&&t.bingroup===\"\"&&typeof t.xbins==\"undefined\"){if(i)return[P,v,!0];P=L1t(e,t,r,n,a)}b=h.cumulative||{},b.enabled&&b.currentbin!==\"include\"&&(b.direction===\"decreasing\"?P.start=E(H0.tickIncrement(p(P.start),P.size,!0,d)):P.end=E(H0.tickIncrement(p(P.end),P.size,!1,d))),l.size=P.size,l.sizeFound||(x.size=P.size,Vv.nestedProperty(f[0],a+\".size\").set(P.size)),A(\"start\",l,P),A(\"end\",l,P)}v=t[\"_\"+n+\"pos0\"],delete t[\"_\"+n+\"pos0\"];var F=t._input[a]||{},q=Vv.extendFlat({},l),V=l.start,H=r.r2l(F.start),X=H!==void 0;if((l.startFound||X)&&H!==r.r2l(V)){var G=X?H:Vv.aggNums(Math.min,null,v),N={type:r.type===\"category\"||r.type===\"multicategory\"?\"linear\":r.type,r2l:r.r2l,dtick:l.size,tick0:V,calendar:d,range:[G,H0.tickIncrement(G,l.size,!1,d)].map(r.l2r)},W=H0.tickFirst(N);W>r.r2l(G)&&(W=H0.tickIncrement(W,l.size,!0,d)),q.start=r.l2r(W),X||Vv.nestedProperty(t,a+\".start\").set(q.start)}var re=l.end,ae=r.r2l(F.end),_e=ae!==void 0;if((l.endFound||_e)&&ae!==r.r2l(re)){var Me=_e?ae:Vv.aggNums(Math.max,null,v);q.end=r.l2r(Me),_e||Vv.nestedProperty(t,a+\".start\").set(q.end)}var ke=\"autobin\"+n;return t._input[ke]===!1&&(t._input[a]=Vv.extendFlat({},t[a]||{}),delete t._input[ke],delete t[ke]),[q,v]}function L1t(e,t,r,n,i){var a=e._fullLayout,o=P1t(e,t),s=!1,l=1/0,u=[t],c,f,h;for(c=0;c<o.length;c++)if(f=o[c],f===t)s=!0;else if(!s)h=a._histogramBinOpts[f[\"_\"+n+\"bingroup\"]],l=Math.min(l,h.size||f[i].size);else{var d=NV(e,f,r,n,!0),v=d[0],x=d[2];f[\"_\"+n+\"autoBinFinished\"]=1,f[\"_\"+n+\"pos0\"]=d[1],x?u.push(f):l=Math.min(l,v.size)}var b=new Array(u.length);for(c=0;c<u.length;c++)for(var p=u[c][\"_\"+n+\"pos0\"],E=0;E<p.length;E++)if(p[E]!==void 0){b[c]=p[E];break}for(isFinite(l)||(l=Vv.distinctVals(b).minDiff),c=0;c<u.length;c++){f=u[c];var k=f[n+\"calendar\"],A={start:r.c2r(b[c]-l/2,0,k),end:r.c2r(b[c]+l/2,0,k),size:l};f._input[i]=f[i]=A,h=a._histogramBinOpts[f[\"_\"+n+\"bingroup\"]],h&&Vv.extendFlat(h,A)}return t[i]}function P1t(e,t){for(var r=t.xaxis,n=t.yaxis,i=t.orientation,a=[],o=e._fullData,s=0;s<o.length;s++){var l=o[s];l.type===\"histogram\"&&l.visible===!0&&l.orientation===i&&l.xaxis===r&&l.yaxis===n&&a.push(l)}return a}function I1t(e,t,r){var n,i,a;function o(l){a=e[l],e[l]/=2}function s(l){i=e[l],e[l]=a+i/2,a+=i}if(r===\"half\")if(t===\"increasing\")for(o(0),n=1;n<e.length;n++)s(n);else for(o(e.length-1),n=e.length-2;n>=0;n--)s(n);else if(t===\"increasing\"){for(n=1;n<e.length;n++)e[n]+=e[n-1];r===\"exclude\"&&(e.unshift(0),e.pop())}else{for(n=e.length-2;n>=0;n--)e[n]+=e[n+1];r===\"exclude\"&&(e.push(0),e.shift())}}n_e.exports={calc:C1t,calcAllAutoBins:NV}});var h_e=ye((osr,f_e)=>{\"use strict\";var a_e=Mr(),LT=Qa(),o_e=zV(),R1t=FV(),D1t=qV(),z1t=OV(),s_e=UV().calcAllAutoBins;f_e.exports=function(t,r){var n=LT.getFromId(t,r.xaxis),i=LT.getFromId(t,r.yaxis),a=r.xcalendar,o=r.ycalendar,s=function(Et){return n.r2c(Et,0,a)},l=function(Et){return i.r2c(Et,0,o)},u=function(Et){return n.c2r(Et,0,a)},c=function(Et){return i.c2r(Et,0,o)},f,h,d,v,x=s_e(t,r,n,\"x\"),b=x[0],p=x[1],E=s_e(t,r,i,\"y\"),k=E[0],A=E[1],L=r._length;p.length>L&&p.splice(L,p.length-L),A.length>L&&A.splice(L,A.length-L);var _=[],C=[],M=[],g=typeof b.size==\"string\",P=typeof k.size==\"string\",T=[],F=[],q=g?T:b,V=P?F:k,H=0,X=[],G=[],N=r.histnorm,W=r.histfunc,re=N.indexOf(\"density\")!==-1,ae=W===\"max\"||W===\"min\",_e=ae?null:0,Me=o_e.count,ke=R1t[N],ge=!1,ie=[],Te=[],Ee=\"z\"in r?r.z:\"marker\"in r&&Array.isArray(r.marker.color)?r.marker.color:\"\";Ee&&W!==\"count\"&&(ge=W===\"avg\",Me=o_e[W]);var Ae=b.size,ze=s(b.start),Ce=s(b.end)+(ze-LT.tickIncrement(ze,Ae,!1,a))/1e6;for(f=ze;f<Ce;f=LT.tickIncrement(f,Ae,!1,a))C.push(_e),T.push(f),ge&&M.push(0);T.push(f);var me=C.length,Re=(f-ze)/me,ce=u(ze+Re/2),Ge=k.size,nt=l(k.start),ct=l(k.end)+(nt-LT.tickIncrement(nt,Ge,!1,o))/1e6;for(f=nt;f<ct;f=LT.tickIncrement(f,Ge,!1,o)){_.push(C.slice()),F.push(f);var qt=new Array(me);for(h=0;h<me;h++)qt[h]=[];G.push(qt),ge&&X.push(M.slice())}F.push(f);var rt=_.length,ot=(f-nt)/rt,Rt=c(nt+ot/2);re&&(ie=l_e(C.length,q,Re,g),Te=l_e(_.length,V,ot,P)),!g&&n.type===\"date\"&&(q=u_e(s,q)),!P&&i.type===\"date\"&&(V=u_e(l,V));var kt=!0,Ct=!0,Yt=new Array(me),xr=new Array(rt),er=1/0,Ke=1/0,xt=1/0,bt=1/0;for(f=0;f<L;f++){var Lt=p[f],St=A[f];d=a_e.findBin(Lt,q),v=a_e.findBin(St,V),d>=0&&d<me&&v>=0&&v<rt&&(H+=Me(d,f,_[v],Ee,X[v]),G[v][d].push(f),kt&&(Yt[d]===void 0?Yt[d]=Lt:Yt[d]!==Lt&&(kt=!1)),Ct&&(xr[v]===void 0?xr[v]=St:xr[v]!==St&&(Ct=!1)),er=Math.min(er,Lt-T[d]),Ke=Math.min(Ke,T[d+1]-Lt),xt=Math.min(xt,St-F[v]),bt=Math.min(bt,F[v+1]-St))}if(ge)for(v=0;v<rt;v++)H+=D1t(_[v],X[v]);if(ke)for(v=0;v<rt;v++)ke(_[v],H,ie,Te[v]);return{x:p,xRanges:c_e(T,kt&&Yt,er,Ke,n,a),x0:ce,dx:Re,y:A,yRanges:c_e(F,Ct&&xr,xt,bt,i,o),y0:Rt,dy:ot,z:_,pts:G}};function l_e(e,t,r,n){var i=new Array(e),a;if(n)for(a=0;a<e;a++)i[a]=1/(t[a+1]-t[a]);else{var o=1/r;for(a=0;a<e;a++)i[a]=o}return i}function u_e(e,t){return{start:e(t.start),end:e(t.end),size:t.size}}function c_e(e,t,r,n,i,a){var o,s=e.length-1,l=new Array(s),u=z1t(r,n,e,i,a);for(o=0;o<s;o++){var c=(t||[])[o];l[o]=c===void 0?[u(e[o]),u(e[o+1],!0)]:[c,c]}return l}});var JI=ye((ssr,p_e)=>{\"use strict\";var Im=Mr(),d_e=es().BADNUM,v_e=Rg();p_e.exports=function(t,r,n,i,a,o){var s=t._length,l=r.makeCalcdata(t,i),u=n.makeCalcdata(t,a);l=v_e(t,r,i,l).vals,u=v_e(t,n,a,u).vals;var c=t.text,f=c!==void 0&&Im.isArray1D(c),h=t.hovertext,d=h!==void 0&&Im.isArray1D(h),v,x,b=Im.distinctVals(l),p=b.vals,E=Im.distinctVals(u),k=E.vals,A=[],L,_,C=k.length,M=p.length;for(v=0;v<o.length;v++)A[v]=Im.init2dArray(C,M);f&&(L=Im.init2dArray(C,M)),d&&(_=Im.init2dArray(C,M));var g=Im.init2dArray(C,M);for(v=0;v<s;v++)if(l[v]!==d_e&&u[v]!==d_e){var P=Im.findBin(l[v]+b.minDiff/2,p),T=Im.findBin(u[v]+E.minDiff/2,k);for(x=0;x<o.length;x++){var F=o[x],q=t[F],V=A[x];V[T][P]=q[v],g[T][P]=v}f&&(L[T][P]=c[v]),d&&(_[T][P]=h[v])}for(t[\"_\"+i]=p,t[\"_\"+a]=k,x=0;x<o.length;x++)t[\"_\"+o[x]]=A[x];f&&(t._text=L),d&&(t._hovertext=_),r&&r.type===\"category\"&&(t[\"_\"+i+\"CategoryMap\"]=p.map(function(H){return r._categories[H]})),n&&n.type===\"category\"&&(t[\"_\"+a+\"CategoryMap\"]=k.map(function(H){return n._categories[H]})),t._after2before=g}});var QI=ye((lsr,g_e)=>{\"use strict\";var F1t=uo(),q1t=Mr(),$I=es().BADNUM;g_e.exports=function(t,r,n,i){var a,o,s,l,u,c;function f(p){if(F1t(p))return+p}if(r&&r.transpose){for(a=0,u=0;u<t.length;u++)a=Math.max(a,t[u].length);if(a===0)return!1;s=function(p){return p.length},l=function(p,E,k){return(p[k]||[])[E]}}else a=t.length,s=function(p,E){return p[E].length},l=function(p,E,k){return(p[E]||[])[k]};var h=function(p,E,k){return E===$I||k===$I?$I:l(p,E,k)};function d(p){if(r&&r.type!==\"carpet\"&&r.type!==\"contourcarpet\"&&p&&p.type===\"category\"&&r[\"_\"+p._id.charAt(0)].length){var E=p._id.charAt(0),k={},A=r[\"_\"+E+\"CategoryMap\"]||r[E];for(u=0;u<A.length;u++)k[A[u]]=u;return function(L){var _=k[p._categories[L]];return _+1?_:$I}}else return q1t.identity}var v=d(n),x=d(i);i&&i.type===\"category\"&&(a=i._categories.length);var b=new Array(a);for(u=0;u<a;u++)for(n&&n.type===\"category\"?o=n._categories.length:o=s(t,u),b[u]=new Array(o),c=0;c<o;c++)b[u][c]=f(h(t,x(u),v(c)));return b}});var e8=ye((usr,__e)=>{\"use strict\";var O1t=Mr(),m_e=.01,B1t=[[-1,0],[1,0],[0,-1],[0,1]];function N1t(e){return .5-.25*Math.min(1,e*.5)}__e.exports=function(t,r){var n=1,i;for(y_e(t,r),i=0;i<r.length&&!(r[i][2]<4);i++);for(r=r.slice(i),i=0;i<100&&n>m_e;i++)n=y_e(t,r,N1t(n));return n>m_e&&O1t.log(\"interp2d didn't converge quickly\",n),t};function y_e(e,t,r){var n=0,i,a,o,s,l,u,c,f,h,d,v,x,b;for(s=0;s<t.length;s++){for(i=t[s],a=i[0],o=i[1],v=e[a][o],d=0,h=0,l=0;l<4;l++)u=B1t[l],c=e[a+u[0]],c&&(f=c[o+u[1]],f!==void 0&&(d===0?x=b=f:(x=Math.min(x,f),b=Math.max(b,f)),h++,d+=f));if(h===0)throw\"iterateInterp2d order is wrong: no defined neighbors\";e[a][o]=d/h,v===void 0?h<4&&(n=1):(e[a][o]=(1+r)*e[a][o]-r*v,b>x&&(n=Math.max(n,Math.abs(e[a][o]-v)/(b-x))))}return n}});var t8=ye((csr,x_e)=>{\"use strict\";var U1t=Mr().maxRowLength;x_e.exports=function(t){var r=[],n={},i=[],a=t[0],o=[],s=[0,0,0],l=U1t(t),u,c,f,h,d,v,x,b;for(c=0;c<t.length;c++)for(u=o,o=a,a=t[c+1]||[],f=0;f<l;f++)o[f]===void 0&&(v=(o[f-1]!==void 0?1:0)+(o[f+1]!==void 0?1:0)+(u[f]!==void 0?1:0)+(a[f]!==void 0?1:0),v?(c===0&&v++,f===0&&v++,c===t.length-1&&v++,f===o.length-1&&v++,v<4&&(n[[c,f]]=[c,f,v]),r.push([c,f,v])):i.push([c,f]));for(;i.length;){for(x={},b=!1,d=i.length-1;d>=0;d--)h=i[d],c=h[0],f=h[1],v=((n[[c-1,f]]||s)[2]+(n[[c+1,f]]||s)[2]+(n[[c,f-1]]||s)[2]+(n[[c,f+1]]||s)[2])/20,v&&(x[h]=[c,f,v],i.splice(d,1),b=!0);if(!b)throw\"findEmpties iterated with no new neighbors\";for(h in x)n[h]=x[h],r.push(x[h])}return r.sort(function(p,E){return E[2]-p[2]})}});var VV=ye((fsr,T_e)=>{\"use strict\";var b_e=ba(),w_e=Mr().isArrayOrTypedArray;T_e.exports=function(t,r,n,i,a,o){var s=[],l=b_e.traceIs(t,\"contour\"),u=b_e.traceIs(t,\"histogram\"),c,f,h,d=w_e(r)&&r.length>1;if(d&&!u&&o.type!==\"category\"){var v=r.length;if(v<=a){if(l)s=Array.from(r).slice(0,a);else if(a===1)o.type===\"log\"?s=[.5*r[0],2*r[0]]:s=[r[0]-.5,r[0]+.5];else if(o.type===\"log\"){for(s=[Math.pow(r[0],1.5)/Math.pow(r[1],.5)],h=1;h<v;h++)s.push(Math.sqrt(r[h-1]*r[h]));s.push(Math.pow(r[v-1],1.5)/Math.pow(r[v-2],.5))}else{for(s=[1.5*r[0]-.5*r[1]],h=1;h<v;h++)s.push((r[h-1]+r[h])*.5);s.push(1.5*r[v-1]-.5*r[v-2])}if(v<a){var x=s[s.length-1],b;if(o.type===\"log\")for(b=x/s[s.length-2],h=v;h<a;h++)x*=b,s.push(x);else for(b=x-s[s.length-2],h=v;h<a;h++)x+=b,s.push(x)}}else return l?r.slice(0,a):r.slice(0,a+1)}else{var p=t[o._id.charAt(0)+\"calendar\"];if(u)c=o.r2c(n,0,p);else if(w_e(r)&&r.length===1)c=r[0];else if(n===void 0)c=0;else{var E=o.type===\"log\"?o.d2c:o.r2c;c=E(n,0,p)}for(f=i||1,h=l?0:-.5;h<a;h++)s.push(c+f*h)}return s}});var n8=ye((hsr,E_e)=>{\"use strict\";var A_e=ba(),HV=Mr(),r8=Qa(),S_e=Rg(),V1t=h_e(),H1t=zv(),G1t=JI(),j1t=QI(),W1t=e8(),Z1t=t8(),i8=VV(),GV=es().BADNUM;E_e.exports=function(t,r){var n=r8.getFromId(t,r.xaxis||\"x\"),i=r8.getFromId(t,r.yaxis||\"y\"),a=A_e.traceIs(r,\"contour\"),o=A_e.traceIs(r,\"histogram\"),s=a?\"best\":r.zsmooth,l,u,c,f,h,d,v,x,b,p,E;if(n._minDtick=0,i._minDtick=0,o)E=V1t(t,r),f=E.orig_x,l=E.x,u=E.x0,c=E.dx,x=E.orig_y,h=E.y,d=E.y0,v=E.dy,b=E.z;else{var k=r.z;HV.isArray1D(k)?(G1t(r,n,i,\"x\",\"y\",[\"z\"]),l=r._x,h=r._y,k=r._z):(f=r.x?n.makeCalcdata(r,\"x\"):[],x=r.y?i.makeCalcdata(r,\"y\"):[],l=S_e(r,n,\"x\",f).vals,h=S_e(r,i,\"y\",x).vals,r._x=l,r._y=h),u=r.x0,c=r.dx,d=r.y0,v=r.dy,b=j1t(k,r,n,i)}(n.rangebreaks||i.rangebreaks)&&(b=X1t(l,h,b),o||(l=M_e(l),h=M_e(h),r._x=l,r._y=h)),!o&&(a||r.connectgaps)&&(r._emptypoints=Z1t(b),W1t(b,r._emptypoints));function A(q){s=r._input.zsmooth=r.zsmooth=!1,HV.warn('cannot use zsmooth: \"fast\": '+q)}function L(q){if(q.length>1){var V=(q[q.length-1]-q[0])/(q.length-1),H=Math.abs(V/100);for(p=0;p<q.length-1;p++)if(Math.abs(q[p+1]-q[p]-V)>H)return!1}return!0}r._islinear=!1,n.type===\"log\"||i.type===\"log\"?s===\"fast\"&&A(\"log axis found\"):L(l)?L(h)?r._islinear=!0:s===\"fast\"&&A(\"y scale is not linear\"):s===\"fast\"&&A(\"x scale is not linear\");var _=HV.maxRowLength(b),C=r.xtype===\"scaled\"?\"\":l,M=i8(r,C,u,c,_,n),g=r.ytype===\"scaled\"?\"\":h,P=i8(r,g,d,v,b.length,i);r._extremes[n._id]=r8.findExtremes(n,M),r._extremes[i._id]=r8.findExtremes(i,P);var T={x:M,y:P,z:b,text:r._text||r.text,hovertext:r._hovertext||r.hovertext};if(r.xperiodalignment&&f&&(T.orig_x=f),r.yperiodalignment&&x&&(T.orig_y=x),C&&C.length===M.length-1&&(T.xCenter=C),g&&g.length===P.length-1&&(T.yCenter=g),o&&(T.xRanges=E.xRanges,T.yRanges=E.yRanges,T.pts=E.pts),a||H1t(t,r,{vals:b,cLetter:\"z\"}),a&&r.contours&&r.contours.coloring===\"heatmap\"){var F={type:r.type===\"contour\"?\"heatmap\":\"histogram2d\",xcalendar:r.xcalendar,ycalendar:r.ycalendar};T.xfill=i8(F,C,u,c,_,n),T.yfill=i8(F,g,d,v,b.length,i)}return[T]};function M_e(e){for(var t=[],r=e.length,n=0;n<r;n++){var i=e[n];i!==GV&&t.push(i)}return t}function X1t(e,t,r){for(var n=[],i=-1,a=0;a<r.length;a++)if(t[a]!==GV){i++,n[i]=[];for(var o=0;o<r[a].length;o++)e[o]!==GV&&n[i].push(r[a][o])}return n}});var o8=ye(a8=>{\"use strict\";a8.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\"]];a8.STYLE=a8.CSS_DECLARATIONS.map(function(e){return e.join(\": \")+\"; \"}).join(\"\")});var jV=ye((vsr,L_e)=>{\"use strict\";var k_e=o8(),Y1t=ao(),C_e=Mr(),PT=null;function K1t(){if(PT!==null)return PT;PT=!1;var e=C_e.isSafari()||C_e.isIOS();if(window.navigator.userAgent&&!e){var t=Array.from(k_e.CSS_DECLARATIONS).reverse(),r=window.CSS&&window.CSS.supports||window.supportsCSS;if(typeof r==\"function\")PT=t.some(function(o){return r.apply(null,o)});else{var n=Y1t.tester.append(\"image\").attr(\"style\",k_e.STYLE),i=window.getComputedStyle(n.node()),a=i.imageRendering;PT=t.some(function(o){var s=o[1];return a===s||a===s.toLowerCase()}),n.remove()}}return PT}L_e.exports=K1t});var s8=ye((psr,B_e)=>{\"use strict\";var P_e=xa(),J1t=id(),$1t=ba(),Q1t=ao(),e_t=Qa(),G0=Mr(),I_e=Pl(),t_t=$P(),r_t=va(),i_t=Mu().extractOpts,n_t=Mu().makeColorScaleFuncFromTrace,a_t=Zp(),o_t=Nh(),WV=o_t.LINE_SPACING,s_t=jV(),l_t=o8().STYLE,q_e=\"heatmap-label\";function O_e(e){return e.selectAll(\"g.\"+q_e)}function R_e(e){O_e(e).remove()}B_e.exports=function(e,t,r,n){var i=t.xaxis,a=t.yaxis;G0.makeTraceGroups(n,r,\"hm\").each(function(o){var s=P_e.select(this),l=o[0],u=l.trace,c=u.xgap||0,f=u.ygap||0,h=l.z,d=l.x,v=l.y,x=l.xCenter,b=l.yCenter,p=$1t.traceIs(u,\"contour\"),E=p?\"best\":u.zsmooth,k=h.length,A=G0.maxRowLength(h),L=!1,_=!1,C,M,g,P,T,F,q,V;for(F=0;C===void 0&&F<d.length-1;)C=i.c2p(d[F]),F++;for(F=d.length-1;M===void 0&&F>0;)M=i.c2p(d[F]),F--;for(M<C&&(g=M,M=C,C=g,L=!0),F=0;P===void 0&&F<v.length-1;)P=a.c2p(v[F]),F++;for(F=v.length-1;T===void 0&&F>0;)T=a.c2p(v[F]),F--;T<P&&(g=P,P=T,T=g,_=!0),p&&(x=d,b=v,d=l.xfill,v=l.yfill);var H=\"default\";if(E?H=E===\"best\"?\"smooth\":\"fast\":u._islinear&&c===0&&f===0&&s_t()&&(H=\"fast\"),H!==\"fast\"){var X=E===\"best\"?0:.5;C=Math.max(-X*i._length,C),M=Math.min((1+X)*i._length,M),P=Math.max(-X*a._length,P),T=Math.min((1+X)*a._length,T)}var G=Math.round(M-C),N=Math.round(T-P),W=C>=i._length||M<=0||P>=a._length||T<=0;if(W){var re=s.selectAll(\"image\").data([]);re.exit().remove(),R_e(s);return}var ae,_e;H===\"fast\"?(ae=A,_e=k):(ae=G,_e=N);var Me=document.createElement(\"canvas\");Me.width=ae,Me.height=_e;var ke=Me.getContext(\"2d\",{willReadFrequently:!0}),ge=n_t(u,{noNumericCheck:!0,returnArray:!0}),ie,Te;H===\"fast\"?(ie=L?function(Pi){return A-1-Pi}:G0.identity,Te=_?function(Pi){return k-1-Pi}:G0.identity):(ie=function(Pi){return G0.constrain(Math.round(i.c2p(d[Pi])-C),0,G)},Te=function(Pi){return G0.constrain(Math.round(a.c2p(v[Pi])-P),0,N)});var Ee=Te(0),Ae=[Ee,Ee],ze=L?0:1,Ce=_?0:1,me=0,Re=0,ce=0,Ge=0,nt,ct,qt,rt,ot;function Rt(Pi,Gi){if(Pi!==void 0){var Ki=ge(Pi);return Ki[0]=Math.round(Ki[0]),Ki[1]=Math.round(Ki[1]),Ki[2]=Math.round(Ki[2]),me+=Gi,Re+=Ki[0]*Gi,ce+=Ki[1]*Gi,Ge+=Ki[2]*Gi,Ki}return[0,0,0,0]}function kt(Pi,Gi,Ki,ka){var jn=Pi[Ki.bin0];if(jn===void 0)return Rt(void 0,1);var la=Pi[Ki.bin1],Fa=Gi[Ki.bin0],Ra=Gi[Ki.bin1],jo=la-jn||0,oa=Fa-jn||0,Sn;return la===void 0?Ra===void 0?Sn=0:Fa===void 0?Sn=2*(Ra-jn):Sn=(2*Ra-Fa-jn)*2/3:Ra===void 0?Fa===void 0?Sn=0:Sn=(2*jn-la-Fa)*2/3:Fa===void 0?Sn=(2*Ra-la-jn)*2/3:Sn=Ra+jn-la-Fa,Rt(jn+Ki.frac*jo+ka.frac*(oa+Ki.frac*Sn))}if(H!==\"default\"){var Ct=0,Yt;try{Yt=new Uint8Array(ae*_e*4)}catch(Pi){Yt=new Array(ae*_e*4)}if(H===\"smooth\"){var xr=x||d,er=b||v,Ke=new Array(xr.length),xt=new Array(er.length),bt=new Array(G),Lt=x?z_e:D_e,St=b?z_e:D_e,Et,dt,Ht;for(F=0;F<xr.length;F++)Ke[F]=Math.round(i.c2p(xr[F])-C);for(F=0;F<er.length;F++)xt[F]=Math.round(a.c2p(er[F])-P);for(F=0;F<G;F++)bt[F]=Lt(F,Ke);for(q=0;q<N;q++)for(Et=St(q,xt),dt=h[Et.bin0],Ht=h[Et.bin1],F=0;F<G;F++,Ct+=4)ot=kt(dt,Ht,bt[F],Et),F_e(Yt,Ct,ot)}else for(q=0;q<k;q++)for(rt=h[q],Ae=Te(q),F=0;F<A;F++)ot=Rt(rt[F],1),Ct=(Ae*A+ie(F))*4,F_e(Yt,Ct,ot);var $t=ke.createImageData(ae,_e);try{$t.data.set(Yt)}catch(Pi){var fr=$t.data,_r=fr.length;for(q=0;q<_r;q++)fr[q]=Yt[q]}ke.putImageData($t,0,0)}else{var Br=Math.floor(c/2),Or=Math.floor(f/2);for(q=0;q<k;q++)if(rt=h[q],Ae.reverse(),Ae[Ce]=Te(q+1),!(Ae[0]===Ae[1]||Ae[0]===void 0||Ae[1]===void 0))for(ct=ie(0),nt=[ct,ct],F=0;F<A;F++)nt.reverse(),nt[ze]=ie(F+1),!(nt[0]===nt[1]||nt[0]===void 0||nt[1]===void 0)&&(qt=rt[F],ot=Rt(qt,(nt[1]-nt[0])*(Ae[1]-Ae[0])),ke.fillStyle=\"rgba(\"+ot.join(\",\")+\")\",ke.fillRect(nt[0]+Br,Ae[0]+Or,nt[1]-nt[0]-c,Ae[1]-Ae[0]-f))}Re=Math.round(Re/me),ce=Math.round(ce/me),Ge=Math.round(Ge/me);var Nr=J1t(\"rgb(\"+Re+\",\"+ce+\",\"+Ge+\")\");e._hmpixcount=(e._hmpixcount||0)+me,e._hmlumcount=(e._hmlumcount||0)+me*Nr.getLuminance();var ut=s.selectAll(\"image\").data(o);ut.enter().append(\"svg:image\").attr({xmlns:a_t.svg,preserveAspectRatio:\"none\"}),ut.attr({height:N,width:G,x:C,y:P,\"xlink:href\":Me.toDataURL(\"image/png\")}),H===\"fast\"&&!E&&ut.attr(\"style\",l_t),R_e(s);var Ne=u.texttemplate;if(Ne){var Ye=i_t(u),Ve={type:\"linear\",range:[Ye.min,Ye.max],_separators:i._separators,_numFormat:i._numFormat},Xe=u.type===\"histogram2dcontour\",ht=u.type===\"contour\",Le=ht?1:0,xe=ht?k-1:k,Se=ht?1:0,lt=ht?A-1:A,Gt=[];for(F=Le;F<xe;F++){var Vt;if(ht)Vt=l.y[F];else if(Xe){if(F===0||F===k-1)continue;Vt=l.y[F]}else if(l.yCenter)Vt=l.yCenter[F];else{if(F+1===k&&l.y[F+1]===void 0)continue;Vt=(l.y[F]+l.y[F+1])/2}var ar=Math.round(a.c2p(Vt));if(!(0>ar||ar>a._length))for(q=Se;q<lt;q++){var Qr;if(ht)Qr=l.x[q];else if(Xe){if(q===0||q===A-1)continue;Qr=l.x[q]}else if(l.xCenter)Qr=l.xCenter[q];else{if(q+1===A&&l.x[q+1]===void 0)continue;Qr=(l.x[q]+l.x[q+1])/2}var ai=Math.round(i.c2p(Qr));if(!(0>ai||ai>i._length)){var jr=t_t({x:Qr,y:Vt},u,e._fullLayout);jr.x=Qr,jr.y=Vt;var ri=l.z[F][q];ri===void 0?(jr.z=\"\",jr.zLabel=\"\"):(jr.z=ri,jr.zLabel=e_t.tickText(Ve,ri,\"hover\").text);var bi=l.text&&l.text[F]&&l.text[F][q];(bi===void 0||bi===!1)&&(bi=\"\"),jr.text=bi;var nn=G0.texttemplateString(Ne,jr,e._fullLayout._d3locale,jr,u._meta||{});if(nn){var Wi=nn.split(\"<br>\"),Ni=Wi.length,_n=0;for(V=0;V<Ni;V++)_n=Math.max(_n,Wi[V].length);Gt.push({l:Ni,c:_n,t:nn,x:ai,y:ar,z:ri})}}}}var $i=u.textfont,zn=$i.size,Wn=e._fullLayout.font.size;if(!zn||zn===\"auto\"){var It=1/0,ft=1/0,jt=0,Zt=0;for(V=0;V<Gt.length;V++){var yr=Gt[V];if(jt=Math.max(jt,yr.l),Zt=Math.max(Zt,yr.c),V<Gt.length-1){var Fr=Gt[V+1],Zr=Math.abs(Fr.x-yr.x),Vr=Math.abs(Fr.y-yr.y);Zr&&(It=Math.min(It,Zr)),Vr&&(ft=Math.min(ft,Vr))}}!isFinite(It)||!isFinite(ft)?zn=Wn:(It-=c,ft-=f,It/=Zt,ft/=jt,It/=WV/2,ft/=WV,zn=Math.min(Math.floor(It),Math.floor(ft),Wn))}if(zn<=0||!isFinite(zn))return;var gi=function(Pi){return Pi.x},Si=function(Pi){return Pi.y-zn*(Pi.l*WV/2-1)},Mi=O_e(s).data(Gt);Mi.enter().append(\"g\").classed(q_e,1).append(\"text\").attr(\"text-anchor\",\"middle\").each(function(Pi){var Gi=P_e.select(this),Ki=$i.color;(!Ki||Ki===\"auto\")&&(Ki=r_t.contrast(Pi.z===void 0?e._fullLayout.plot_bgcolor:\"rgba(\"+ge(Pi.z).join()+\")\")),Gi.attr(\"data-notex\",1).call(I_e.positionText,gi(Pi),Si(Pi)).call(Q1t.font,{family:$i.family,size:zn,color:Ki,weight:$i.weight,style:$i.style,variant:$i.variant,textcase:$i.textcase,lineposition:$i.lineposition,shadow:$i.shadow}).text(Pi.t).call(I_e.convertToTspans,e)})}})};function D_e(e,t){var r=t.length-2,n=G0.constrain(G0.findBin(e,t),0,r),i=t[n],a=t[n+1],o=G0.constrain(n+(e-i)/(a-i)-.5,0,r),s=Math.round(o),l=Math.abs(o-s);return!o||o===r||!l?{bin0:s,bin1:s,frac:0}:{bin0:s,frac:l,bin1:Math.round(s+l/(o-s))}}function z_e(e,t){var r=t.length-1,n=G0.constrain(G0.findBin(e,t),0,r),i=t[n],a=t[n+1],o=(e-i)/(a-i)||0;return o<=0?{bin0:n,bin1:n,frac:0}:o<.5?{bin0:n,bin1:n+1,frac:o}:{bin0:n+1,bin1:n,frac:1-o}}function F_e(e,t,r){e[t]=r[0],e[t+1]=r[1],e[t+2]=r[2],e[t+3]=Math.round(r[3]*255)}});var M_=ye((gsr,N_e)=>{\"use strict\";N_e.exports={min:\"zmin\",max:\"zmax\"}});var l8=ye((msr,U_e)=>{\"use strict\";var u_t=xa();U_e.exports=function(t){u_t.select(t).selectAll(\".hm image\").style(\"opacity\",function(r){return r.trace.opacity})}});var c8=ye((ysr,H_e)=>{\"use strict\";var V_e=Nc(),_4=Mr(),u8=_4.isArrayOrTypedArray,c_t=Qa(),f_t=Mu().extractOpts;H_e.exports=function(t,r,n,i,a){a||(a={});var o=a.isContour,s=t.cd[0],l=s.trace,u=t.xa,c=t.ya,f=s.x,h=s.y,d=s.z,v=s.xCenter,x=s.yCenter,b=s.zmask,p=l.zhoverformat,E=f,k=h,A,L,_,C;if(t.index!==!1){try{_=Math.round(t.index[1]),C=Math.round(t.index[0])}catch(re){_4.error(\"Error hovering on heatmap, pointNumber must be [row,col], found:\",t.index);return}if(_<0||_>=d[0].length||C<0||C>d.length)return}else{if(V_e.inbox(r-f[0],r-f[f.length-1],0)>0||V_e.inbox(n-h[0],n-h[h.length-1],0)>0)return;if(o){var M;for(E=[2*f[0]-f[1]],M=1;M<f.length;M++)E.push((f[M]+f[M-1])/2);for(E.push([2*f[f.length-1]-f[f.length-2]]),k=[2*h[0]-h[1]],M=1;M<h.length;M++)k.push((h[M]+h[M-1])/2);k.push([2*h[h.length-1]-h[h.length-2]])}_=Math.max(0,Math.min(E.length-2,_4.findBin(r,E))),C=Math.max(0,Math.min(k.length-2,_4.findBin(n,k)))}var g=u.c2p(f[_]),P=u.c2p(f[_+1]),T=c.c2p(h[C]),F=c.c2p(h[C+1]),q,V;o?(q=s.orig_x||f,V=s.orig_y||h,P=g,A=q[_],F=T,L=V[C]):(q=s.orig_x||v||f,V=s.orig_y||x||h,A=v?q[_]:(q[_]+q[_+1])/2,L=x?V[C]:(V[C]+V[C+1])/2,u&&u.type===\"category\"&&(A=f[_]),c&&c.type===\"category\"&&(L=h[C]),l.zsmooth&&(g=P=u.c2p(A),T=F=c.c2p(L)));var H=d[C][_];if(b&&!b[C][_]&&(H=void 0),!(H===void 0&&!l.hoverongaps)){var X;u8(s.hovertext)&&u8(s.hovertext[C])?X=s.hovertext[C][_]:u8(s.text)&&u8(s.text[C])&&(X=s.text[C][_]);var G=f_t(l),N={type:\"linear\",range:[G.min,G.max],hoverformat:p,_separators:u._separators,_numFormat:u._numFormat},W=c_t.tickText(N,H,\"hover\").text;return[_4.extendFlat(t,{index:l._after2before?l._after2before[C][_]:[C,_],distance:t.maxHoverDistance,spikeDistance:t.maxSpikeDistance,x0:g,x1:P,y0:T,y1:F,xLabelVal:A,yLabelVal:L,zLabelVal:H,zLabel:W,text:X})]}}});var j_e=ye((_sr,G_e)=>{\"use strict\";G_e.exports={attributes:ET(),supplyDefaults:G1e(),calc:n8(),plot:s8(),colorbar:M_(),style:l8(),hoverPoints:c8(),moduleType:\"trace\",name:\"heatmap\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"showLegend\"],meta:{}}});var Z_e=ye((xsr,W_e)=>{\"use strict\";W_e.exports=j_e()});var ZV=ye((bsr,X_e)=>{\"use strict\";X_e.exports=function(t,r){return{start:{valType:\"any\",editType:\"calc\"},end:{valType:\"any\",editType:\"calc\"},size:{valType:\"any\",editType:\"calc\"},editType:\"calc\"}}});var K_e=ye((wsr,Y_e)=>{\"use strict\";Y_e.exports={eventDataKeys:[\"binNumber\"]}});var f8=ye((Tsr,Q_e)=>{\"use strict\";var Ip=Lm(),J_e=Oc().axisHoverFormat,h_t=Wo().hovertemplateAttrs,d_t=Wo().texttemplateAttrs,XV=Su(),$_e=ZV(),v_t=K_e(),YV=no().extendFlat;Q_e.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},xhoverformat:J_e(\"x\"),yhoverformat:J_e(\"y\"),text:YV({},Ip.text,{}),hovertext:YV({},Ip.hovertext,{}),orientation:Ip.orientation,histfunc:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"min\",\"max\"],dflt:\"count\",editType:\"calc\"},histnorm:{valType:\"enumerated\",values:[\"\",\"percent\",\"probability\",\"density\",\"probability density\"],dflt:\"\",editType:\"calc\"},cumulative:{enabled:{valType:\"boolean\",dflt:!1,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"increasing\",\"decreasing\"],dflt:\"increasing\",editType:\"calc\"},currentbin:{valType:\"enumerated\",values:[\"include\",\"exclude\",\"half\"],dflt:\"include\",editType:\"calc\"},editType:\"calc\"},nbinsx:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},xbins:$_e(\"x\",!0),nbinsy:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},ybins:$_e(\"y\",!0),autobinx:{valType:\"boolean\",dflt:null,editType:\"calc\"},autobiny:{valType:\"boolean\",dflt:null,editType:\"calc\"},bingroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertemplate:h_t({},{keys:v_t.eventDataKeys}),texttemplate:d_t({arrayOk:!1,editType:\"plot\"},{keys:[\"label\",\"value\"]}),textposition:YV({},Ip.textposition,{arrayOk:!1}),textfont:XV({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),outsidetextfont:XV({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),insidetextfont:XV({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),insidetextanchor:Ip.insidetextanchor,textangle:Ip.textangle,cliponaxis:Ip.cliponaxis,constraintext:Ip.constraintext,marker:Ip.marker,offsetgroup:Ip.offsetgroup,alignmentgroup:Ip.alignmentgroup,selected:Ip.selected,unselected:Ip.unselected,zorder:Ip.zorder}});var ixe=ye((Asr,rxe)=>{\"use strict\";var exe=ba(),x4=Mr(),txe=va(),p_t=r0().handleText,g_t=FI(),m_t=f8();rxe.exports=function(t,r,n,i){function a(E,k){return x4.coerce(t,r,m_t,E,k)}var o=a(\"x\"),s=a(\"y\"),l=a(\"cumulative.enabled\");l&&(a(\"cumulative.direction\"),a(\"cumulative.currentbin\")),a(\"text\");var u=a(\"textposition\");p_t(t,r,i,a,u,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\");var c=a(\"orientation\",s&&!o?\"h\":\"v\"),f=c===\"v\"?\"x\":\"y\",h=c===\"v\"?\"y\":\"x\",d=o&&s?Math.min(x4.minRowLength(o)&&x4.minRowLength(s)):x4.minRowLength(r[f]||[]);if(!d){r.visible=!1;return}r._length=d;var v=exe.getComponentMethod(\"calendars\",\"handleTraceDefaults\");v(t,r,[\"x\",\"y\"],i);var x=r[h];x&&a(\"histfunc\"),a(\"histnorm\"),a(\"autobin\"+f),g_t(t,r,a,n,i),x4.coerceSelectionMarkerOpacity(r,a);var b=(r.marker.line||{}).color,p=exe.getComponentMethod(\"errorbars\",\"supplyDefaults\");p(t,r,b||txe.defaultLine,{axis:\"y\"}),p(t,r,b||txe.defaultLine,{axis:\"x\",inherit:\"y\"}),a(\"zorder\")}});var d8=ye((Ssr,oxe)=>{\"use strict\";var b4=Mr(),y_t=af(),h8=ba().traceIs,__t=Hb(),x_t=r0().validateCornerradius,nxe=b4.nestedProperty,KV=Bb().getAxisGroup,axe=[{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\"}],b_t=[\"x\",\"y\"];oxe.exports=function(t,r){var n=r._histogramBinOpts={},i=[],a={},o=[],s,l,u,c,f,h,d;function v(H,X){return b4.coerce(s._input,s,s._module.attributes,H,X)}function x(H){return H.orientation===\"v\"?\"x\":\"y\"}function b(H,X){var G=y_t.getFromTrace({_fullLayout:r},H,X);return G.type}function p(H,X,G){var N=H.uid+\"__\"+G;X||(X=N);var W=b(H,G),re=H[G+\"calendar\"]||\"\",ae=n[X],_e=!0;ae&&(W===ae.axType&&re===ae.calendar?(_e=!1,ae.traces.push(H),ae.dirs.push(G)):(X=N,W!==ae.axType&&b4.warn([\"Attempted to group the bins of trace\",H.index,\"set on a\",\"type:\"+W,\"axis\",\"with bins on\",\"type:\"+ae.axType,\"axis.\"].join(\" \")),re!==ae.calendar&&b4.warn([\"Attempted to group the bins of trace\",H.index,\"set with a\",re,\"calendar\",\"with bins\",ae.calendar?\"on a \"+ae.calendar+\" calendar\":\"w/o a set calendar\"].join(\" \")))),_e&&(n[X]={traces:[H],dirs:[G],axType:W,calendar:H[G+\"calendar\"]||\"\"}),H[\"_\"+G+\"bingroup\"]=X}for(f=0;f<t.length;f++)if(s=t[f],h8(s,\"histogram\")){if(i.push(s),delete s._xautoBinFinished,delete s._yautoBinFinished,s.type===\"histogram\"){var E=v(\"marker.cornerradius\",r.barcornerradius);s.marker&&(s.marker.cornerradius=x_t(E))}h8(s,\"2dMap\")||__t(s._input,s,r,v,r.barmode)}var k=r._alignmentOpts||{};for(f=0;f<i.length;f++){if(s=i[f],u=\"\",!h8(s,\"2dMap\")){if(c=x(s),r.barmode===\"group\"&&s.alignmentgroup){var A=s[c+\"axis\"],L=KV(r,A)+s.orientation;(k[L]||{})[s.alignmentgroup]&&(u=L)}!u&&r.barmode!==\"overlay\"&&(u=KV(r,s.xaxis)+KV(r,s.yaxis)+x(s))}u?(a[u]||(a[u]=[]),a[u].push(s)):o.push(s)}for(u in a){if(l=a[u],l.length===1){o.push(l[0]);continue}var _=!1;for(l.length&&(s=l[0],_=v(\"bingroup\")),u=_||u,f=0;f<l.length;f++){s=l[f];var C=s._input.bingroup;C&&C!==u&&b4.warn([\"Trace\",s.index,\"must match\",\"within bingroup\",u+\".\",\"Ignoring its bingroup:\",C,\"setting.\"].join(\" \")),s.bingroup=u,p(s,u,x(s))}}for(f=0;f<o.length;f++){s=o[f];var M=v(\"bingroup\");if(h8(s,\"2dMap\"))for(d=0;d<2;d++){c=b_t[d];var g=v(c+\"bingroup\",M?M+\"__\"+c:null);p(s,g,c)}else p(s,M,x(s))}for(u in n){var P=n[u];for(l=P.traces,h=0;h<axe.length;h++){var T=axe[h],F=T.name,q,V;if(!(F===\"nbins\"&&P.sizeFound)){for(f=0;f<l.length;f++){if(s=l[f],c=P.dirs[f],q=T.aStr[c],nxe(s._input,q).get()!==void 0){P[F]=v(q),P[F+\"Found\"]=!0;break}V=(s._autoBin||{})[c]||{},V[F]&&nxe(s,q).set(V[F])}if(F===\"start\"||F===\"end\")for(;f<l.length;f++)s=l[f],s[\"_\"+c+\"bingroup\"]&&(V=(s._autoBin||{})[c]||{},v(q,V[F]));F===\"nbins\"&&!P.sizeFound&&!P.nbinsFound&&(s=l[0],P[F]=v(q))}}}}});var lxe=ye((Msr,sxe)=>{\"use strict\";var w_t=TT().hoverPoints,T_t=Qa().hoverLabelText;sxe.exports=function(t,r,n,i,a){var o=w_t(t,r,n,i,a);if(o){t=o[0];var s=t.cd[t.index],l=t.cd[0].trace;if(!l.cumulative.enabled){var u=l.orientation===\"h\"?\"y\":\"x\";t[u+\"Label\"]=T_t(t[u+\"a\"],[s.ph0,s.ph1],l[u+\"hoverformat\"])}return o}}});var JV=ye((Esr,uxe)=>{\"use strict\";uxe.exports=function(t,r,n,i,a){if(t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,\"zLabelVal\"in r&&(t.z=r.zLabelVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),!(n.cumulative||{}).enabled){var o=Array.isArray(a)?i[0].pts[a[0]][a[1]]:i[a].pts;t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex;var s;if(n._indexToPoints){s=[];for(var l=0;l<o.length;l++)s=s.concat(n._indexToPoints[o[l]])}else s=o;t.pointIndices=s}return t}});var fxe=ye((ksr,cxe)=>{\"use strict\";cxe.exports={attributes:f8(),layoutAttributes:zI(),supplyDefaults:ixe(),crossTraceDefaults:d8(),supplyLayoutDefaults:yV(),calc:UV().calc,crossTraceCalc:Gb().crossTraceCalc,plot:i2().plot,layerName:\"barlayer\",style:N0().style,styleOnSelect:N0().styleOnSelect,colorbar:Kd(),hoverPoints:lxe(),selectPoints:AT(),eventData:JV(),moduleType:\"trace\",name:\"histogram\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"bar\",\"histogram\",\"oriented\",\"errorBarsOK\",\"showLegend\"],meta:{}}});var dxe=ye((Csr,hxe)=>{\"use strict\";hxe.exports=fxe()});var p8=ye((Lsr,pxe)=>{\"use strict\";var Vg=f8(),vxe=ZV(),v8=ET(),A_t=vl(),$V=Oc().axisHoverFormat,S_t=Wo().hovertemplateAttrs,M_t=Wo().texttemplateAttrs,E_t=Jl(),w4=no().extendFlat;pxe.exports=w4({x:Vg.x,y:Vg.y,z:{valType:\"data_array\",editType:\"calc\"},marker:{color:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},histnorm:Vg.histnorm,histfunc:Vg.histfunc,nbinsx:Vg.nbinsx,xbins:vxe(\"x\"),nbinsy:Vg.nbinsy,ybins:vxe(\"y\"),autobinx:Vg.autobinx,autobiny:Vg.autobiny,bingroup:w4({},Vg.bingroup,{}),xbingroup:w4({},Vg.bingroup,{}),ybingroup:w4({},Vg.bingroup,{}),xgap:v8.xgap,ygap:v8.ygap,zsmooth:v8.zsmooth,xhoverformat:$V(\"x\"),yhoverformat:$V(\"y\"),zhoverformat:$V(\"z\",1),hovertemplate:S_t({},{keys:\"z\"}),texttemplate:M_t({arrayOk:!1,editType:\"plot\"},{keys:\"z\"}),textfont:v8.textfont,showlegend:w4({},A_t.showlegend,{dflt:!1})},E_t(\"\",{cLetter:\"z\",autoColorDflt:!1}))});var QV=ye((Psr,mxe)=>{\"use strict\";var k_t=ba(),gxe=Mr();mxe.exports=function(t,r,n,i){var a=n(\"x\"),o=n(\"y\"),s=gxe.minRowLength(a),l=gxe.minRowLength(o);if(!s||!l){r.visible=!1;return}r._length=Math.min(s,l);var u=k_t.getComponentMethod(\"calendars\",\"handleTraceDefaults\");u(t,r,[\"x\",\"y\"],i);var c=n(\"z\")||n(\"marker.color\");c&&n(\"histfunc\"),n(\"histnorm\"),n(\"autobinx\"),n(\"autobiny\")}});var _xe=ye((Isr,yxe)=>{\"use strict\";var C_t=Mr(),L_t=QV(),P_t=DV(),I_t=Uh(),R_t=y4(),D_t=p8();yxe.exports=function(t,r,n,i){function a(o,s){return C_t.coerce(t,r,D_t,o,s)}L_t(t,r,a,i),r.visible!==!1&&(P_t(t,r,a,i),I_t(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),a(\"hovertemplate\"),R_t(a,i),a(\"xhoverformat\"),a(\"yhoverformat\"))}});var wxe=ye((Rsr,bxe)=>{\"use strict\";var z_t=c8(),xxe=Qa().hoverLabelText;bxe.exports=function(t,r,n,i,a){var o=z_t(t,r,n,i,a);if(o){t=o[0];var s=t.index,l=s[0],u=s[1],c=t.cd[0],f=c.trace,h=c.xRanges[u],d=c.yRanges[l];return t.xLabel=xxe(t.xa,[h[0],h[1]],f.xhoverformat),t.yLabel=xxe(t.ya,[d[0],d[1]],f.yhoverformat),o}}});var Axe=ye((Dsr,Txe)=>{\"use strict\";Txe.exports={attributes:p8(),supplyDefaults:_xe(),crossTraceDefaults:d8(),calc:n8(),plot:s8(),layerName:\"heatmaplayer\",colorbar:M_(),style:l8(),hoverPoints:wxe(),eventData:JV(),moduleType:\"trace\",name:\"histogram2d\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"histogram\",\"showLegend\"],meta:{}}});var Mxe=ye((zsr,Sxe)=>{\"use strict\";Sxe.exports=Axe()});var g8=ye((Fsr,Exe)=>{\"use strict\";Exe.exports={COMPARISON_OPS:[\"=\",\"!=\",\"<\",\">=\",\">\",\"<=\"],COMPARISON_OPS2:[\"=\",\"<\",\">=\",\">\",\"<=\"],INTERVAL_OPS:[\"[]\",\"()\",\"[)\",\"(]\",\"][\",\")(\",\"](\",\")[\"],SET_OPS:[\"{}\",\"}{\"],CONSTRAINT_REDUCTION:{\"=\":\"=\",\"<\":\"<\",\"<=\":\"<\",\">\":\">\",\">=\":\">\",\"[]\":\"[]\",\"()\":\"[]\",\"[)\":\"[]\",\"(]\":\"[]\",\"][\":\"][\",\")(\":\"][\",\"](\":\"][\",\")[\":\"][\"}}});var T4=ye((qsr,Pxe)=>{\"use strict\";var Gh=ET(),m8=Uc(),Cxe=Oc(),eH=Cxe.axisHoverFormat,F_t=Cxe.descriptionOnlyNumbers,q_t=Jl(),O_t=Ed().dash,B_t=Su(),IT=no().extendFlat,Lxe=g8(),N_t=Lxe.COMPARISON_OPS2,U_t=Lxe.INTERVAL_OPS,kxe=m8.line;Pxe.exports=IT({z:Gh.z,x:Gh.x,x0:Gh.x0,dx:Gh.dx,y:Gh.y,y0:Gh.y0,dy:Gh.dy,xperiod:Gh.xperiod,yperiod:Gh.yperiod,xperiod0:m8.xperiod0,yperiod0:m8.yperiod0,xperiodalignment:Gh.xperiodalignment,yperiodalignment:Gh.yperiodalignment,text:Gh.text,hovertext:Gh.hovertext,transpose:Gh.transpose,xtype:Gh.xtype,ytype:Gh.ytype,xhoverformat:eH(\"x\"),yhoverformat:eH(\"y\"),zhoverformat:eH(\"z\",1),hovertemplate:Gh.hovertemplate,texttemplate:IT({},Gh.texttemplate,{}),textfont:IT({},Gh.textfont,{}),hoverongaps:Gh.hoverongaps,connectgaps:IT({},Gh.connectgaps,{}),fillcolor:{valType:\"color\",editType:\"calc\"},autocontour:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"contours.start\":void 0,\"contours.end\":void 0,\"contours.size\":void 0}},ncontours:{valType:\"integer\",dflt:15,min:1,editType:\"calc\"},contours:{type:{valType:\"enumerated\",values:[\"levels\",\"constraint\"],dflt:\"levels\",editType:\"calc\"},start:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},end:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},coloring:{valType:\"enumerated\",values:[\"fill\",\"heatmap\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:{valType:\"boolean\",dflt:!0,editType:\"plot\"},showlabels:{valType:\"boolean\",dflt:!1,editType:\"plot\"},labelfont:B_t({editType:\"plot\",colorEditType:\"style\"}),labelformat:{valType:\"string\",dflt:\"\",editType:\"plot\",description:F_t(\"contour label\")},operation:{valType:\"enumerated\",values:[].concat(N_t).concat(U_t),dflt:\"=\",editType:\"calc\"},value:{valType:\"any\",dflt:0,editType:\"calc\"},editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:IT({},kxe.color,{editType:\"style+colorbars\"}),width:{valType:\"number\",min:0,editType:\"style+colorbars\"},dash:O_t,smoothing:IT({},kxe.smoothing,{}),editType:\"plot\"},zorder:m8.zorder},q_t(\"\",{cLetter:\"z\",autoColorDflt:!1,editTypeOverride:\"calc\"}))});var rH=ye((Osr,Rxe)=>{\"use strict\";var Hv=p8(),qy=T4(),V_t=Jl(),tH=Oc().axisHoverFormat,Ixe=no().extendFlat;Rxe.exports=Ixe({x:Hv.x,y:Hv.y,z:Hv.z,marker:Hv.marker,histnorm:Hv.histnorm,histfunc:Hv.histfunc,nbinsx:Hv.nbinsx,xbins:Hv.xbins,nbinsy:Hv.nbinsy,ybins:Hv.ybins,autobinx:Hv.autobinx,autobiny:Hv.autobiny,bingroup:Hv.bingroup,xbingroup:Hv.xbingroup,ybingroup:Hv.ybingroup,autocontour:qy.autocontour,ncontours:qy.ncontours,contours:qy.contours,line:{color:qy.line.color,width:Ixe({},qy.line.width,{dflt:.5}),dash:qy.line.dash,smoothing:qy.line.smoothing,editType:\"plot\"},xhoverformat:tH(\"x\"),yhoverformat:tH(\"y\"),zhoverformat:tH(\"z\",1),hovertemplate:Hv.hovertemplate,texttemplate:qy.texttemplate,textfont:qy.textfont},V_t(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var y8=ye((Bsr,Dxe)=>{\"use strict\";Dxe.exports=function(t,r,n,i){var a=i(\"contours.start\"),o=i(\"contours.end\"),s=a===!1||o===!1,l=n(\"contours.size\"),u;s?u=r.autocontour=!0:u=n(\"autocontour\",!1),(u||!l)&&n(\"ncontours\")}});var iH=ye((Nsr,zxe)=>{\"use strict\";var H_t=Mr();zxe.exports=function(t,r,n,i){i||(i={});var a=t(\"contours.showlabels\");if(a){var o=r.font;H_t.coerceFont(t,\"contours.labelfont\",o,{overrideDflt:{color:n}}),t(\"contours.labelformat\")}i.hasHover!==!1&&t(\"zhoverformat\")}});var _8=ye((Usr,Fxe)=>{\"use strict\";var G_t=Uh(),j_t=iH();Fxe.exports=function(t,r,n,i,a){var o=n(\"contours.coloring\"),s,l=\"\";o===\"fill\"&&(s=n(\"contours.showlines\")),s!==!1&&(o!==\"lines\"&&(l=n(\"line.color\",\"#000\")),n(\"line.width\",.5),n(\"line.dash\")),o!==\"none\"&&(t.showlegend!==!0&&(r.showlegend=!1),r._dfltShowLegend=!1,G_t(t,r,i,n,{prefix:\"\",cLetter:\"z\"})),n(\"line.smoothing\"),j_t(n,i,l,a)}});var Nxe=ye((Vsr,Bxe)=>{\"use strict\";var qxe=Mr(),W_t=QV(),Z_t=y8(),X_t=_8(),Y_t=y4(),Oxe=rH();Bxe.exports=function(t,r,n,i){function a(s,l){return qxe.coerce(t,r,Oxe,s,l)}function o(s){return qxe.coerce2(t,r,Oxe,s)}W_t(t,r,a,i),r.visible!==!1&&(Z_t(t,r,a,o),X_t(t,r,a,i),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"hovertemplate\"),r.contours&&r.contours.coloring===\"heatmap\"&&Y_t(a,i))}});var oH=ye((Hsr,Vxe)=>{\"use strict\";var aH=Qa(),nH=Mr();Vxe.exports=function(t,r){var n=t.contours;if(t.autocontour){var i=t.zmin,a=t.zmax;(t.zauto||i===void 0)&&(i=nH.aggNums(Math.min,null,r)),(t.zauto||a===void 0)&&(a=nH.aggNums(Math.max,null,r));var o=Uxe(i,a,t.ncontours);n.size=o.dtick,n.start=aH.tickFirst(o),o.range.reverse(),n.end=aH.tickFirst(o),n.start===i&&(n.start+=n.size),n.end===a&&(n.end-=n.size),n.start>n.end&&(n.start=n.end=(n.start+n.end)/2),t._input.contours||(t._input.contours={}),nH.extendFlat(t._input.contours,{start:n.start,end:n.end,size:n.size}),t._input.autocontour=!0}else if(n.type!==\"constraint\"){var s=n.start,l=n.end,u=t._input.contours;if(s>l&&(n.start=u.start=l,l=n.end=u.end=s,s=n.start),!(n.size>0)){var c;s===l?c=1:c=Uxe(s,l,t.ncontours).dtick,u.size=n.size=c}}};function Uxe(e,t,r){var n={type:\"linear\",range:[e,t]};return aH.autoTicks(n,(t-e)/(r||15)),n}});var A4=ye((Gsr,Hxe)=>{\"use strict\";Hxe.exports=function(t){return t.end+t.size/1e6}});var sH=ye((jsr,jxe)=>{\"use strict\";var Gxe=Mu(),K_t=n8(),J_t=oH(),$_t=A4();jxe.exports=function(t,r){var n=K_t(t,r),i=n[0].z;J_t(r,i);var a=r.contours,o=Gxe.extractOpts(r),s;if(a.coloring===\"heatmap\"&&o.auto&&r.autocontour===!1){var l=a.start,u=$_t(a),c=a.size||1,f=Math.floor((u-l)/c)+1;isFinite(c)||(c=1,f=1);var h=l-c/2,d=h+f*c;s=[h,d]}else s=i;return Gxe.calc(t,r,{vals:s,cLetter:\"z\"}),n}});var S4=ye((Wsr,Wxe)=>{\"use strict\";Wxe.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}}});var lH=ye((Zsr,Zxe)=>{\"use strict\";var x8=S4();Zxe.exports=function(t){var r=t[0].z,n=r.length,i=r[0].length,a=n===2||i===2,o,s,l,u,c,f,h,d,v;for(s=0;s<n-1;s++)for(u=[],s===0&&(u=u.concat(x8.BOTTOMSTART)),s===n-2&&(u=u.concat(x8.TOPSTART)),o=0;o<i-1;o++)for(l=u.slice(),o===0&&(l=l.concat(x8.LEFTSTART)),o===i-2&&(l=l.concat(x8.RIGHTSTART)),c=o+\",\"+s,f=[[r[s][o],r[s][o+1]],[r[s+1][o],r[s+1][o+1]]],v=0;v<t.length;v++)d=t[v],h=Q_t(d.level,f),h&&(d.crossings[c]=h,l.indexOf(h)!==-1&&(d.starts.push([o,s]),a&&l.indexOf(h,l.indexOf(h)+1)!==-1&&d.starts.push([o,s])))};function Q_t(e,t){var r=(t[0][0]>e?0:1)+(t[0][1]>e?0:2)+(t[1][1]>e?0:4)+(t[1][0]>e?0:8);if(r===5||r===10){var n=(t[0][0]+t[0][1]+t[1][0]+t[1][1])/4;return e>n?r===5?713:1114:r===5?104:208}return r===15?0:r}});var uH=ye((Xsr,Kxe)=>{\"use strict\";var b8=Mr(),RT=S4();Kxe.exports=function(t,r,n){var i,a,o,s,l;for(r=r||.01,n=n||.01,o=0;o<t.length;o++){for(s=t[o],l=0;l<s.starts.length;l++)a=s.starts[l],Xxe(s,a,\"edge\",r,n);for(i=0;Object.keys(s.crossings).length&&i<1e4;)i++,a=Object.keys(s.crossings)[0].split(\",\").map(Number),Xxe(s,a,void 0,r,n);i===1e4&&b8.log(\"Infinite loop in contour?\")}};function M4(e,t,r,n){return Math.abs(e[0]-t[0])<r&&Math.abs(e[1]-t[1])<n}function ext(e,t){var r=e[2]-t[2],n=e[3]-t[3];return Math.sqrt(r*r+n*n)}function Xxe(e,t,r,n,i){var a=t.join(\",\"),o=e.crossings[a],s=txt(o,r,t),l=[Yxe(e,t,[-s[0],-s[1]])],u=e.z.length,c=e.z[0].length,f=t.slice(),h=s.slice(),d;for(d=0;d<1e4;d++){if(o>20?(o=RT.CHOOSESADDLE[o][(s[0]||s[1])<0?0:1],e.crossings[a]=RT.SADDLEREMAINDER[o]):delete e.crossings[a],s=RT.NEWDELTA[o],!s){b8.log(\"Found bad marching index:\",o,t,e.level);break}l.push(Yxe(e,t,s)),t[0]+=s[0],t[1]+=s[1],a=t.join(\",\"),M4(l[l.length-1],l[l.length-2],n,i)&&l.pop();var v=s[0]&&(t[0]<0||t[0]>c-2)||s[1]&&(t[1]<0||t[1]>u-2),x=t[0]===f[0]&&t[1]===f[1]&&s[0]===h[0]&&s[1]===h[1];if(x||r&&v)break;o=e.crossings[a]}d===1e4&&b8.log(\"Infinite loop in contour?\");var b=M4(l[0],l[l.length-1],n,i),p=0,E=.2*e.smoothing,k=[],A=0,L,_,C,M,g,P,T,F,q,V,H;for(d=1;d<l.length;d++)T=ext(l[d],l[d-1]),p+=T,k.push(T);var X=p/k.length*E;function G(re){return l[re%l.length]}for(d=l.length-2;d>=A;d--)if(L=k[d],L<X){for(C=0,_=d-1;_>=A&&L+k[_]<X;_--)L+=k[_];if(b&&d===l.length-2)for(C=0;C<_&&L+k[C]<X;C++)L+=k[C];g=d-_+C+1,P=Math.floor((d+_+C+2)/2),!b&&d===l.length-2?M=l[l.length-1]:!b&&_===-1?M=l[0]:g%2?M=G(P):M=[(G(P)[0]+G(P+1)[0])/2,(G(P)[1]+G(P+1)[1])/2],l.splice(_+1,d-_+1,M),d=_+1,C&&(A=C),b&&(d===l.length-2?l[C]=l[l.length-1]:d===0&&(l[l.length-1]=l[0]))}for(l.splice(0,A),d=0;d<l.length;d++)l[d].length=2;if(!(l.length<2))if(b)l.pop(),e.paths.push(l);else{r||b8.log(\"Unclosed interior contour?\",e.level,f.join(\",\"),l.join(\"L\"));var N=!1;for(F=0;F<e.edgepaths.length;F++)if(V=e.edgepaths[F],!N&&M4(V[0],l[l.length-1],n,i)){l.pop(),N=!0;var W=!1;for(q=0;q<e.edgepaths.length;q++)if(H=e.edgepaths[q],M4(H[H.length-1],l[0],n,i)){W=!0,l.shift(),e.edgepaths.splice(F,1),q===F?e.paths.push(l.concat(H)):(q>F&&q--,e.edgepaths[q]=H.concat(l,V));break}W||(e.edgepaths[F]=l.concat(V))}for(F=0;F<e.edgepaths.length&&!N;F++)V=e.edgepaths[F],M4(V[V.length-1],l[0],n,i)&&(l.shift(),e.edgepaths[F]=V.concat(l),N=!0);N||e.edgepaths.push(l)}}function txt(e,t,r){var n=0,i=0;return e>20&&t?e===208||e===1114?n=r[0]===0?1:-1:i=r[1]===0?1:-1:RT.BOTTOMSTART.indexOf(e)!==-1?i=1:RT.LEFTSTART.indexOf(e)!==-1?n=1:RT.TOPSTART.indexOf(e)!==-1?i=-1:n=-1,[n,i]}function Yxe(e,t,r){var n=t[0]+Math.max(r[0],0),i=t[1]+Math.max(r[1],0),a=e.z[i][n],o=e.xaxis,s=e.yaxis;if(r[1]){var l=(e.level-a)/(e.z[i][n+1]-a),u=(l!==1?(1-l)*o.c2l(e.x[n]):0)+(l!==0?l*o.c2l(e.x[n+1]):0);return[o.c2p(o.l2c(u),!0),s.c2p(e.y[i],!0),n+l,i]}else{var c=(e.level-a)/(e.z[i+1][n]-a),f=(c!==1?(1-c)*s.c2l(e.y[i]):0)+(c!==0?c*s.c2l(e.y[i+1]):0);return[o.c2p(e.x[n],!0),s.c2p(s.l2c(f),!0),n,i+c]}}});var ebe=ye((Ysr,Qxe)=>{\"use strict\";var cH=g8(),rxt=uo();Qxe.exports={\"[]\":Jxe(\"[]\"),\"][\":Jxe(\"][\"),\">\":fH(\">\"),\"<\":fH(\"<\"),\"=\":fH(\"=\")};function $xe(e,t){var r=Array.isArray(t),n;function i(a){return rxt(a)?+a:null}return cH.COMPARISON_OPS2.indexOf(e)!==-1?n=i(r?t[0]:t):cH.INTERVAL_OPS.indexOf(e)!==-1?n=r?[i(t[0]),i(t[1])]:[i(t),i(t)]:cH.SET_OPS.indexOf(e)!==-1&&(n=r?t.map(i):[i(t)]),n}function Jxe(e){return function(t){t=$xe(e,t);var r=Math.min(t[0],t[1]),n=Math.max(t[0],t[1]);return{start:r,end:n,size:n-r}}}function fH(e){return function(t){return t=$xe(e,t),{start:t,end:1/0,size:1/0}}}});var hH=ye((Ksr,rbe)=>{\"use strict\";var tbe=Mr(),ixt=ebe(),nxt=A4();rbe.exports=function(t,r,n){for(var i=t.type===\"constraint\"?ixt[t._operation](t.value):t,a=i.size,o=[],s=nxt(i),l=n.trace._carpetTrace,u=l?{xaxis:l.aaxis,yaxis:l.baxis,x:n.a,y:n.b}:{xaxis:r.xaxis,yaxis:r.yaxis,x:n.x,y:n.y},c=i.start;c<s;c+=a)if(o.push(tbe.extendFlat({level:c,crossings:{},starts:[],edgepaths:[],paths:[],z:n.z,smoothing:n.trace.line.smoothing},u)),o.length>1e3){tbe.warn(\"Too many contours, clipping at 1000\",t);break}return o}});var dH=ye((Jsr,nbe)=>{\"use strict\";var DT=Mr();nbe.exports=function(e,t){var r,n,i,a=function(l){return l.reverse()},o=function(l){return l};switch(t){case\"=\":case\"<\":return e;case\">\":for(e.length!==1&&DT.warn(\"Contour data invalid for the specified inequality operation.\"),n=e[0],r=0;r<n.edgepaths.length;r++)n.edgepaths[r]=a(n.edgepaths[r]);for(r=0;r<n.paths.length;r++)n.paths[r]=a(n.paths[r]);for(r=0;r<n.starts.length;r++)n.starts[r]=a(n.starts[r]);return e;case\"][\":var s=a;a=o,o=s;case\"[]\":for(e.length!==2&&DT.warn(\"Contour data invalid for the specified inequality range operation.\"),n=ibe(e[0]),i=ibe(e[1]),r=0;r<n.edgepaths.length;r++)n.edgepaths[r]=a(n.edgepaths[r]);for(r=0;r<n.paths.length;r++)n.paths[r]=a(n.paths[r]);for(r=0;r<n.starts.length;r++)n.starts[r]=a(n.starts[r]);for(;i.edgepaths.length;)n.edgepaths.push(o(i.edgepaths.shift()));for(;i.paths.length;)n.paths.push(o(i.paths.shift()));for(;i.starts.length;)n.starts.push(o(i.starts.shift()));return[n]}};function ibe(e){return DT.extendFlat({},e,{edgepaths:DT.extendDeep([],e.edgepaths),paths:DT.extendDeep([],e.paths),starts:DT.extendDeep([],e.starts)})}});var vH=ye(($sr,abe)=>{\"use strict\";abe.exports=function(e,t){var r=e[0],n=r.z,i;switch(t.type){case\"levels\":var a=Math.min(n[0][0],n[0][1]);for(i=0;i<e.length;i++){var o=e[i];o.prefixBoundary=!o.edgepaths.length&&(a>o.level||o.starts.length&&a===o.level)}break;case\"constraint\":if(r.prefixBoundary=!1,r.edgepaths.length)return;var s=r.x.length,l=r.y.length,u=-1/0,c=1/0;for(i=0;i<l;i++)c=Math.min(c,n[i][0]),c=Math.min(c,n[i][s-1]),u=Math.max(u,n[i][0]),u=Math.max(u,n[i][s-1]);for(i=1;i<s-1;i++)c=Math.min(c,n[0][i]),c=Math.min(c,n[l-1][i]),u=Math.max(u,n[0][i]),u=Math.max(u,n[l-1][i]);var f=t.value,h,d;switch(t._operation){case\">\":f>u&&(r.prefixBoundary=!0);break;case\"<\":(f<c||r.starts.length&&f===c)&&(r.prefixBoundary=!0);break;case\"[]\":h=Math.min(f[0],f[1]),d=Math.max(f[0],f[1]),(d<c||h>u||r.starts.length&&d===c)&&(r.prefixBoundary=!0);break;case\"][\":h=Math.min(f[0],f[1]),d=Math.max(f[0],f[1]),h<c&&d>u&&(r.prefixBoundary=!0);break}break}}});var w8=ye(Gv=>{\"use strict\";var k4=xa(),Id=Mr(),Oy=ao(),axt=Mu(),lbe=Pl(),obe=Qa(),sbe=ym(),oxt=s8(),ube=lH(),cbe=uH(),sxt=hH(),lxt=dH(),fbe=vH(),E4=S4(),Rm=E4.LABELOPTIMIZER;Gv.plot=function(t,r,n,i){var a=r.xaxis,o=r.yaxis;Id.makeTraceGroups(i,n,\"contour\").each(function(s){var l=k4.select(this),u=s[0],c=u.trace,f=u.x,h=u.y,d=c.contours,v=sxt(d,r,u),x=Id.ensureSingle(l,\"g\",\"heatmapcoloring\"),b=[];d.coloring===\"heatmap\"&&(b=[s]),oxt(t,r,b,x),ube(v),cbe(v);var p=a.c2p(f[0],!0),E=a.c2p(f[f.length-1],!0),k=o.c2p(h[0],!0),A=o.c2p(h[h.length-1],!0),L=[[p,A],[E,A],[E,k],[p,k]],_=v;d.type===\"constraint\"&&(_=lxt(v,d._operation)),uxt(l,L,d),cxt(l,_,L,d),fxt(l,v,t,u,d),dxt(l,r,t,u,L)})};function uxt(e,t,r){var n=Id.ensureSingle(e,\"g\",\"contourbg\"),i=n.selectAll(\"path\").data(r.coloring===\"fill\"?[0]:[]);i.enter().append(\"path\"),i.exit().remove(),i.attr(\"d\",\"M\"+t.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}function cxt(e,t,r,n){var i=n.coloring===\"fill\"||n.type===\"constraint\"&&n._operation!==\"=\",a=\"M\"+r.join(\"L\")+\"Z\";i&&fbe(t,n);var o=Id.ensureSingle(e,\"g\",\"contourfill\"),s=o.selectAll(\"path\").data(i?t:[]);s.enter().append(\"path\"),s.exit().remove(),s.each(function(l){var u=(l.prefixBoundary?a:\"\")+hbe(l,r);u?k4.select(this).attr(\"d\",u).style(\"stroke\",\"none\"):k4.select(this).remove()})}function hbe(e,t){var r=\"\",n=0,i=e.edgepaths.map(function(p,E){return E}),a=!0,o,s,l,u,c,f;function h(p){return Math.abs(p[1]-t[0][1])<.01}function d(p){return Math.abs(p[1]-t[2][1])<.01}function v(p){return Math.abs(p[0]-t[0][0])<.01}function x(p){return Math.abs(p[0]-t[2][0])<.01}for(;i.length;){for(f=Oy.smoothopen(e.edgepaths[n],e.smoothing),r+=a?f:f.replace(/^M/,\"L\"),i.splice(i.indexOf(n),1),o=e.edgepaths[n][e.edgepaths[n].length-1],u=-1,l=0;l<4;l++){if(!o){Id.log(\"Missing end?\",n,e);break}for(h(o)&&!x(o)?s=t[1]:v(o)?s=t[0]:d(o)?s=t[3]:x(o)&&(s=t[2]),c=0;c<e.edgepaths.length;c++){var b=e.edgepaths[c][0];Math.abs(o[0]-s[0])<.01?Math.abs(o[0]-b[0])<.01&&(b[1]-o[1])*(s[1]-b[1])>=0&&(s=b,u=c):Math.abs(o[1]-s[1])<.01?Math.abs(o[1]-b[1])<.01&&(b[0]-o[0])*(s[0]-b[0])>=0&&(s=b,u=c):Id.log(\"endpt to newendpt is not vert. or horz.\",o,s,b)}if(o=s,u>=0)break;r+=\"L\"+s}if(u===e.edgepaths.length){Id.log(\"unclosed perimeter path\");break}n=u,a=i.indexOf(n)===-1,a&&(n=i[0],r+=\"Z\")}for(n=0;n<e.paths.length;n++)r+=Oy.smoothclosed(e.paths[n],e.smoothing);return r}function fxt(e,t,r,n,i){var a=r._context.staticPlot,o=Id.ensureSingle(e,\"g\",\"contourlines\"),s=i.showlines!==!1,l=i.showlabels,u=s&&l,c=Gv.createLines(o,s||l,t,a),f=Gv.createLineClip(o,u,r,n.trace.uid),h=e.selectAll(\"g.contourlabels\").data(l?[0]:[]);if(h.exit().remove(),h.enter().append(\"g\").classed(\"contourlabels\",!0),l){var d=[],v=[];Id.clearLocationCache();var x=Gv.labelFormatter(r,n),b=Oy.tester.append(\"text\").attr(\"data-notex\",1).call(Oy.font,i.labelfont),p=t[0].xaxis,E=t[0].yaxis,k=p._length,A=E._length,L=p.range,_=E.range,C=Id.aggNums(Math.min,null,n.x),M=Id.aggNums(Math.max,null,n.x),g=Id.aggNums(Math.min,null,n.y),P=Id.aggNums(Math.max,null,n.y),T=Math.max(p.c2p(C,!0),0),F=Math.min(p.c2p(M,!0),k),q=Math.max(E.c2p(P,!0),0),V=Math.min(E.c2p(g,!0),A),H={};L[0]<L[1]?(H.left=T,H.right=F):(H.left=F,H.right=T),_[0]<_[1]?(H.top=q,H.bottom=V):(H.top=V,H.bottom=q),H.middle=(H.top+H.bottom)/2,H.center=(H.left+H.right)/2,d.push([[H.left,H.top],[H.right,H.top],[H.right,H.bottom],[H.left,H.bottom]]);var X=Math.sqrt(k*k+A*A),G=E4.LABELDISTANCE*X/Math.max(1,t.length/E4.LABELINCREASE);c.each(function(N){var W=Gv.calcTextOpts(N.level,x,b,r);k4.select(this).selectAll(\"path\").each(function(){var re=this,ae=Id.getVisibleSegment(re,H,W.height/2);if(ae&&!(ae.len<(W.width+W.height)*E4.LABELMIN))for(var _e=Math.min(Math.ceil(ae.len/G),E4.LABELMAX),Me=0;Me<_e;Me++){var ke=Gv.findBestTextLocation(re,ae,W,v,H);if(!ke)break;Gv.addLabelData(ke,W,v,d)}})}),b.remove(),Gv.drawLabels(h,v,r,f,u?d:null)}l&&!s&&c.remove()}Gv.createLines=function(e,t,r,n){var i=r[0].smoothing,a=e.selectAll(\"g.contourlevel\").data(t?r:[]);if(a.exit().remove(),a.enter().append(\"g\").classed(\"contourlevel\",!0),t){var o=a.selectAll(\"path.openline\").data(function(l){return l.pedgepaths||l.edgepaths});o.exit().remove(),o.enter().append(\"path\").classed(\"openline\",!0),o.attr(\"d\",function(l){return Oy.smoothopen(l,i)}).style(\"stroke-miterlimit\",1).style(\"vector-effect\",n?\"none\":\"non-scaling-stroke\");var s=a.selectAll(\"path.closedline\").data(function(l){return l.ppaths||l.paths});s.exit().remove(),s.enter().append(\"path\").classed(\"closedline\",!0),s.attr(\"d\",function(l){return Oy.smoothclosed(l,i)}).style(\"stroke-miterlimit\",1).style(\"vector-effect\",n?\"none\":\"non-scaling-stroke\")}return a};Gv.createLineClip=function(e,t,r,n){var i=r._fullLayout._clips,a=t?\"clipline\"+n:null,o=i.selectAll(\"#\"+a).data(t?[0]:[]);return o.exit().remove(),o.enter().append(\"clipPath\").classed(\"contourlineclip\",!0).attr(\"id\",a),Oy.setClipUrl(e,a,r),o};Gv.labelFormatter=function(e,t){var r=e._fullLayout,n=t.trace,i=n.contours,a={type:\"linear\",_id:\"ycontour\",showexponent:\"all\",exponentformat:\"B\"};if(i.labelformat)a.tickformat=i.labelformat,sbe(a,r);else{var o=axt.extractOpts(n);if(o&&o.colorbar&&o.colorbar._axis)a=o.colorbar._axis;else{if(i.type===\"constraint\"){var s=i.value;Id.isArrayOrTypedArray(s)?a.range=[s[0],s[s.length-1]]:a.range=[s,s]}else a.range=[i.start,i.end],a.nticks=(i.end-i.start)/i.size;a.range[0]===a.range[1]&&(a.range[1]+=a.range[0]||1),a.nticks||(a.nticks=1e3),sbe(a,r),obe.prepTicks(a),a._tmin=null,a._tmax=null}}return function(l){return obe.tickText(a,l).text}};Gv.calcTextOpts=function(e,t,r,n){var i=t(e);r.text(i).call(lbe.convertToTspans,n);var a=r.node(),o=Oy.bBox(a,!0);return{text:i,width:o.width,height:o.height,fontSize:+a.style[\"font-size\"].replace(\"px\",\"\"),level:e,dy:(o.top+o.bottom)/2}};Gv.findBestTextLocation=function(e,t,r,n,i){var a=r.width,o,s,l,u,c;t.isClosed?(s=t.len/Rm.INITIALSEARCHPOINTS,o=t.min+s/2,l=t.max):(s=(t.len-a)/(Rm.INITIALSEARCHPOINTS+1),o=t.min+s+a/2,l=t.max-(s+a)/2);for(var f=1/0,h=0;h<Rm.ITERATIONS;h++){for(var d=o;d<l;d+=s){var v=Id.getTextLocation(e,t.total,d,a),x=hxt(v,r,n,i);x<f&&(f=x,c=v,u=d)}if(f>Rm.MAXCOST*2)break;h&&(s/=2),o=u-s/2,l=o+s*1.5}if(f<=Rm.MAXCOST)return c};function hxt(e,t,r,n){var i=t.width/2,a=t.height/2,o=e.x,s=e.y,l=e.theta,u=Math.cos(l)*i,c=Math.sin(l)*i,f=(o>n.center?n.right-o:o-n.left)/(u+Math.abs(Math.sin(l)*a)),h=(s>n.middle?n.bottom-s:s-n.top)/(Math.abs(c)+Math.cos(l)*a);if(f<1||h<1)return 1/0;var d=Rm.EDGECOST*(1/(f-1)+1/(h-1));d+=Rm.ANGLECOST*l*l;for(var v=o-u,x=s-c,b=o+u,p=s+c,E=0;E<r.length;E++){var k=r[E],A=Math.cos(k.theta)*k.width/2,L=Math.sin(k.theta)*k.width/2,_=Id.segmentDistance(v,x,b,p,k.x-A,k.y-L,k.x+A,k.y+L)*2/(t.height+k.height),C=k.level===t.level,M=C?Rm.SAMELEVELDISTANCE:1;if(_<=M)return 1/0;var g=Rm.NEIGHBORCOST*(C?Rm.SAMELEVELFACTOR:1);d+=g/(_-M)}return d}Gv.addLabelData=function(e,t,r,n){var i=t.fontSize,a=t.width+i/3,o=Math.max(0,t.height-i/3),s=e.x,l=e.y,u=e.theta,c=Math.sin(u),f=Math.cos(u),h=function(v,x){return[s+v*f-x*c,l+v*c+x*f]},d=[h(-a/2,-o/2),h(-a/2,o/2),h(a/2,o/2),h(a/2,-o/2)];r.push({text:t.text,x:s,y:l,dy:t.dy,theta:u,level:t.level,width:a,height:o}),n.push(d)};Gv.drawLabels=function(e,t,r,n,i){var a=e.selectAll(\"text\").data(t,function(u){return u.text+\",\"+u.x+\",\"+u.y+\",\"+u.theta});if(a.exit().remove(),a.enter().append(\"text\").attr({\"data-notex\":1,\"text-anchor\":\"middle\"}).each(function(u){var c=u.x+Math.sin(u.theta)*u.dy,f=u.y-Math.cos(u.theta)*u.dy;k4.select(this).text(u.text).attr({x:c,y:f,transform:\"rotate(\"+180*u.theta/Math.PI+\" \"+c+\" \"+f+\")\"}).call(lbe.convertToTspans,r)}),i){for(var o=\"\",s=0;s<i.length;s++)o+=\"M\"+i[s].join(\"L\")+\"Z\";var l=Id.ensureSingle(n,\"path\",\"\");l.attr(\"d\",o)}};function dxt(e,t,r,n,i){var a=n.trace,o=r._fullLayout._clips,s=\"clip\"+a.uid,l=o.selectAll(\"#\"+s).data(a.connectgaps?[]:[0]);if(l.enter().append(\"clipPath\").classed(\"contourclip\",!0).attr(\"id\",s),l.exit().remove(),a.connectgaps===!1){var u={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:t.xaxis,yaxis:t.yaxis,x:n.x,y:n.y,z:vxt(n),smoothing:0};ube([u]),cbe([u]),fbe([u],{type:\"levels\"});var c=Id.ensureSingle(l,\"path\",\"\");c.attr(\"d\",(u.prefixBoundary?\"M\"+i.join(\"L\")+\"Z\":\"\")+hbe(u,i))}else s=null;Oy.setClipUrl(e,s,r)}function vxt(e){var t=e.trace._emptypoints,r=[],n=e.z.length,i=e.z[0].length,a,o=[],s;for(a=0;a<i;a++)o.push(1);for(a=0;a<n;a++)r.push(o.slice());for(a=0;a<t.length;a++)s=t[a],r[s[0]][s[1]]=0;return e.zmask=r,r}});var gH=ye((elr,dbe)=>{\"use strict\";var pxt=xa(),pH=Mu(),gxt=A4();dbe.exports=function(t){var r=t.contours,n=r.start,i=gxt(r),a=r.size||1,o=Math.floor((i-n)/a)+1,s=r.coloring===\"lines\"?0:1,l=pH.extractOpts(t);isFinite(a)||(a=1,o=1);var u=l.reversescale?pH.flipScale(l.colorscale):l.colorscale,c=u.length,f=new Array(c),h=new Array(c),d,v,x=l.min,b=l.max;if(r.coloring===\"heatmap\"){for(v=0;v<c;v++)d=u[v],f[v]=d[0]*(b-x)+x,h[v]=d[1];var p=pxt.extent([x,b,r.start,r.start+a*(o-1)]),E=p[x<b?0:1],k=p[x<b?1:0];E!==x&&(f.splice(0,0,E),h.splice(0,0,h[0])),k!==b&&(f.push(k),h.push(h[h.length-1]))}else{var A=t._input&&typeof t._input.zmin==\"number\"&&typeof t._input.zmax==\"number\";for(A&&(n<=x||i>=b)&&(n<=x&&(n=x),i>=b&&(i=b),o=Math.floor((i-n)/a)+1,s=0),v=0;v<c;v++)d=u[v],f[v]=(d[0]*(o+s-1)-s/2)*a+n,h[v]=d[1];(A||t.autocontour)&&(f[0]>x&&(f.unshift(x),h.unshift(h[0])),f[f.length-1]<b&&(f.push(b),h.push(h[h.length-1])))}return pH.makeColorScaleFunc({domain:f,range:h},{noNumericCheck:!0})}});var A8=ye((tlr,pbe)=>{\"use strict\";var T8=xa(),vbe=ao(),mxt=l8(),yxt=gH();pbe.exports=function(t){var r=T8.select(t).selectAll(\"g.contour\");r.style(\"opacity\",function(n){return n[0].trace.opacity}),r.each(function(n){var i=T8.select(this),a=n[0].trace,o=a.contours,s=a.line,l=o.size||1,u=o.start,c=o.type===\"constraint\",f=!c&&o.coloring===\"lines\",h=!c&&o.coloring===\"fill\",d=f||h?yxt(a):null;i.selectAll(\"g.contourlevel\").each(function(b){T8.select(this).selectAll(\"path\").call(vbe.lineGroupStyle,s.width,f?d(b.level):s.color,s.dash)});var v=o.labelfont;if(i.selectAll(\"g.contourlabels text\").each(function(b){vbe.font(T8.select(this),{weight:v.weight,style:v.style,variant:v.variant,textcase:v.textcase,lineposition:v.lineposition,shadow:v.shadow,family:v.family,size:v.size,color:v.color||(f?d(b.level):s.color)})}),c)i.selectAll(\"g.contourfill path\").style(\"fill\",a.fillcolor);else if(h){var x;i.selectAll(\"g.contourfill path\").style(\"fill\",function(b){return x===void 0&&(x=b.level),d(b.level+.5*l)}),x===void 0&&(x=u),i.selectAll(\"g.contourbg path\").style(\"fill\",d(x-.5*l))}}),mxt(t)}});var S8=ye((rlr,mbe)=>{\"use strict\";var gbe=Mu(),_xt=gH(),xxt=A4();function bxt(e,t,r){var n=t.contours,i=t.line,a=n.size||1,o=n.coloring,s=_xt(t,{isColorbar:!0});if(o===\"heatmap\"){var l=gbe.extractOpts(t);r._fillgradient=l.reversescale?gbe.flipScale(l.colorscale):l.colorscale,r._zrange=[l.min,l.max]}else o===\"fill\"&&(r._fillcolor=s);r._line={color:o===\"lines\"?s:i.color,width:n.showlines!==!1?i.width:0,dash:i.dash},r._levels={start:n.start,end:xxt(n),size:a}}mbe.exports={min:\"zmin\",max:\"zmax\",calc:bxt}});var mH=ye((ilr,ybe)=>{\"use strict\";var M8=va(),wxt=c8();ybe.exports=function(t,r,n,i,a){a||(a={}),a.isContour=!0;var o=wxt(t,r,n,i,a);return o&&o.forEach(function(s){var l=s.trace;l.contours.type===\"constraint\"&&(l.fillcolor&&M8.opacity(l.fillcolor)?s.color=M8.addOpacity(l.fillcolor,1):l.contours.showlines&&M8.opacity(l.line.color)&&(s.color=M8.addOpacity(l.line.color,1)))}),o}});var xbe=ye((nlr,_be)=>{\"use strict\";_be.exports={attributes:rH(),supplyDefaults:Nxe(),crossTraceDefaults:d8(),calc:sH(),plot:w8().plot,layerName:\"contourlayer\",style:A8(),colorbar:S8(),hoverPoints:mH(),moduleType:\"trace\",name:\"histogram2dcontour\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"histogram\",\"showLegend\"],meta:{}}});var wbe=ye((alr,bbe)=>{\"use strict\";bbe.exports=xbe()});var yH=ye((olr,kbe)=>{\"use strict\";var Tbe=uo(),Txt=iH(),Mbe=va(),Abe=Mbe.addOpacity,Axt=Mbe.opacity,Ebe=g8(),Sbe=Mr().isArrayOrTypedArray,Sxt=Ebe.CONSTRAINT_REDUCTION,Mxt=Ebe.COMPARISON_OPS2;kbe.exports=function(t,r,n,i,a,o){var s=r.contours,l,u,c,f=n(\"contours.operation\");if(s._operation=Sxt[f],Ext(n,s),f===\"=\"?l=s.showlines=!0:(l=n(\"contours.showlines\"),c=n(\"fillcolor\",Abe((t.line||{}).color||a,.5))),l){var h=c&&Axt(c)?Abe(r.fillcolor,1):a;u=n(\"line.color\",h),n(\"line.width\",2),n(\"line.dash\")}n(\"line.smoothing\"),Txt(n,i,u,o)};function Ext(e,t){var r;Mxt.indexOf(t.operation)===-1?(e(\"contours.value\",[0,1]),Sbe(t.value)?t.value.length>2?t.value=t.value.slice(2):t.length===0?t.value=[0,1]:t.length<2?(r=parseFloat(t.value[0]),t.value=[r,r+1]):t.value=[parseFloat(t.value[0]),parseFloat(t.value[1])]:Tbe(t.value)&&(r=parseFloat(t.value),t.value=[r,r+1])):(e(\"contours.value\",0),Tbe(t.value)||(Sbe(t.value)?t.value=parseFloat(t.value[0]):t.value=0))}});var Pbe=ye((slr,Lbe)=>{\"use strict\";var _H=Mr(),kxt=XI(),Cxt=Pg(),Lxt=yH(),Pxt=y8(),Ixt=_8(),Rxt=y4(),Cbe=T4();Lbe.exports=function(t,r,n,i){function a(u,c){return _H.coerce(t,r,Cbe,u,c)}function o(u){return _H.coerce2(t,r,Cbe,u)}var s=kxt(t,r,a,i);if(!s){r.visible=!1;return}Cxt(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"text\"),a(\"hovertext\"),a(\"hoverongaps\"),a(\"hovertemplate\");var l=a(\"contours.type\")===\"constraint\";a(\"connectgaps\",_H.isArray1D(r.z)),l?Lxt(t,r,a,i,n):(Pxt(t,r,a,o),Ixt(t,r,a,i)),r.contours&&r.contours.coloring===\"heatmap\"&&Rxt(a,i),a(\"zorder\")}});var Rbe=ye((llr,Ibe)=>{\"use strict\";Ibe.exports={attributes:T4(),supplyDefaults:Pbe(),calc:sH(),plot:w8().plot,style:A8(),colorbar:S8(),hoverPoints:mH(),moduleType:\"trace\",name:\"contour\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"showLegend\"],meta:{}}});var zbe=ye((ulr,Dbe)=>{\"use strict\";Dbe.exports=Rbe()});var xH=ye((clr,qbe)=>{\"use strict\";var Dxt=Wo().hovertemplateAttrs,zxt=Wo().texttemplateAttrs,Fxt=Eg(),a0=Uc(),qxt=vl(),Fbe=Jl(),Oxt=Ed().dash,E_=no().extendFlat,j0=a0.marker,C4=a0.line,Bxt=j0.line;qbe.exports={a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},c:{valType:\"data_array\",editType:\"calc\"},sum:{valType:\"number\",dflt:0,min:0,editType:\"calc\"},mode:E_({},a0.mode,{dflt:\"markers\"}),text:E_({},a0.text,{}),texttemplate:zxt({editType:\"plot\"},{keys:[\"a\",\"b\",\"c\",\"text\"]}),hovertext:E_({},a0.hovertext,{}),line:{color:C4.color,width:C4.width,dash:Oxt,backoff:C4.backoff,shape:E_({},C4.shape,{values:[\"linear\",\"spline\"]}),smoothing:C4.smoothing,editType:\"calc\"},connectgaps:a0.connectgaps,cliponaxis:a0.cliponaxis,fill:E_({},a0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:Fxt(),marker:E_({symbol:j0.symbol,opacity:j0.opacity,angle:j0.angle,angleref:j0.angleref,standoff:j0.standoff,maxdisplayed:j0.maxdisplayed,size:j0.size,sizeref:j0.sizeref,sizemin:j0.sizemin,sizemode:j0.sizemode,line:E_({width:Bxt.width,editType:\"calc\"},Fbe(\"marker.line\")),gradient:j0.gradient,editType:\"calc\"},Fbe(\"marker\")),textfont:a0.textfont,textposition:a0.textposition,selected:a0.selected,unselected:a0.unselected,hoverinfo:E_({},qxt.hoverinfo,{flags:[\"a\",\"b\",\"c\",\"text\",\"name\"]}),hoveron:a0.hoveron,hovertemplate:Dxt()}});var Ube=ye((flr,Nbe)=>{\"use strict\";var Obe=Mr(),Nxt=Sm(),zT=lu(),Uxt=$p(),Vxt=R0(),Bbe=J3(),Hxt=D0(),Gxt=Ig(),jxt=xH();Nbe.exports=function(t,r,n,i){function a(h,d){return Obe.coerce(t,r,jxt,h,d)}var o=a(\"a\"),s=a(\"b\"),l=a(\"c\"),u;if(o?(u=o.length,s?(u=Math.min(u,s.length),l&&(u=Math.min(u,l.length))):l?u=Math.min(u,l.length):u=0):s&&l&&(u=Math.min(s.length,l.length)),!u){r.visible=!1;return}r._length=u,a(\"sum\"),a(\"text\"),a(\"hovertext\"),r.hoveron!==\"fills\"&&a(\"hovertemplate\");var c=u<Nxt.PTS_LINESONLY?\"lines+markers\":\"lines\";a(\"mode\",c),zT.hasMarkers(r)&&Uxt(t,r,n,i,a,{gradient:!0}),zT.hasLines(r)&&(Vxt(t,r,n,i,a,{backoff:!0}),Bbe(t,r,a),a(\"connectgaps\")),zT.hasText(r)&&(a(\"texttemplate\"),Hxt(t,r,i,a));var f=[];(zT.hasMarkers(r)||zT.hasText(r))&&(a(\"cliponaxis\"),a(\"marker.maxdisplayed\"),f.push(\"points\")),a(\"fill\"),r.fill!==\"none\"&&(Gxt(t,r,n,a),zT.hasLines(r)||Bbe(t,r,a)),(r.fill===\"tonext\"||r.fill===\"toself\")&&f.push(\"fills\"),a(\"hoveron\",f.join(\"+\")||\"points\"),Obe.coerceSelectionMarkerOpacity(r,a)}});var Hbe=ye((hlr,Vbe)=>{\"use strict\";var bH=Qa();Vbe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot;return i.aLabel=bH.tickText(a.aaxis,t.a,!0).text,i.bLabel=bH.tickText(a.baxis,t.b,!0).text,i.cLabel=bH.tickText(a.caxis,t.c,!0).text,i}});var Zbe=ye((dlr,Wbe)=>{\"use strict\";var wH=uo(),Wxt=z0(),Zxt=km(),Xxt=F0(),Yxt=q0().calcMarkerSize,Gbe=[\"a\",\"b\",\"c\"],jbe={a:[\"b\",\"c\"],b:[\"a\",\"c\"],c:[\"a\",\"b\"]};Wbe.exports=function(t,r){var n=t._fullLayout[r.subplot],i=n.sum,a=r.sum||i,o={a:r.a,b:r.b,c:r.c},s=r.ids,l,u,c,f,h,d;for(l=0;l<Gbe.length;l++)if(c=Gbe[l],!o[c]){for(h=o[jbe[c][0]],d=o[jbe[c][1]],f=new Array(h.length),u=0;u<h.length;u++)f[u]=a-h[u]-d[u];o[c]=f}var v=r._length,x=new Array(v),b,p,E,k,A,L;for(l=0;l<v;l++)b=o.a[l],p=o.b[l],E=o.c[l],wH(b)&&wH(p)&&wH(E)?(b=+b,p=+p,E=+E,k=i/(b+p+E),k!==1&&(b*=k,p*=k,E*=k),L=b,A=E-p,x[l]={x:A,y:L,a:b,b:p,c:E},s&&(x[l].id=s[l])):x[l]={x:!1,y:!1};return Yxt(r,v),Wxt(t,r),Zxt(x,r),Xxt(x,r),x}});var Ybe=ye((vlr,Xbe)=>{\"use strict\";var Kxt=iT();Xbe.exports=function(t,r,n){var i=r.plotContainer;i.select(\".scatterlayer\").selectAll(\"*\").remove();for(var a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:r._hasClipOnAxisFalse?r.clipIdRelative:null},l=r.layers.frontplot.select(\"g.scatterlayer\"),u=0;u<n.length;u++){var c=n[u];c.length&&(c[0].trace._xA=a,c[0].trace._yA=o)}Kxt(t,s,n,l)}});var Jbe=ye((plr,Kbe)=>{\"use strict\";var Jxt=sT();Kbe.exports=function(t,r,n,i){var a=Jxt(t,r,n,i);if(!a||a[0].index===!1)return;var o=a[0];if(o.index===void 0){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,c=l-u;return o.x0=Math.max(Math.min(o.x0,c),u),o.x1=Math.max(Math.min(o.x1,c),u),a}var f=o.cd[o.index],h=o.trace,d=o.subplot;o.a=f.a,o.b=f.b,o.c=f.c,o.xLabelVal=void 0,o.yLabelVal=void 0;var v={};v[h.subplot]={_subplot:d};var x=h._module.formatLabels(f,h,v);o.aLabel=x.aLabel,o.bLabel=x.bLabel,o.cLabel=x.cLabel;var b=f.hi||h.hoverinfo,p=[];function E(A,L){p.push(A._hovertitle+\": \"+L)}if(!h.hovertemplate){var k=b.split(\"+\");k.indexOf(\"all\")!==-1&&(k=[\"a\",\"b\",\"c\"]),k.indexOf(\"a\")!==-1&&E(d.aaxis,o.aLabel),k.indexOf(\"b\")!==-1&&E(d.baxis,o.bLabel),k.indexOf(\"c\")!==-1&&E(d.caxis,o.cLabel)}return o.extraText=p.join(\"<br>\"),o.hovertemplate=h.hovertemplate,a}});var Qbe=ye((glr,$be)=>{\"use strict\";$be.exports=function(t,r,n,i,a){if(r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),i[a]){var o=i[a];t.a=o.a,t.b=o.b,t.c=o.c}else t.a=r.a,t.b=r.b,t.c=r.c;return t}});var c2e=ye((mlr,u2e)=>{\"use strict\";var a2e=xa(),$xt=id(),TH=ba(),By=Mr(),Dm=By.strTranslate,E8=By._,qT=va(),k8=ao(),L4=ym(),AH=no().extendFlat,Qxt=Xu(),k_=Qa(),e2e=gv(),t2e=Nc(),o2e=Sg(),r2e=o2e.freeMode,ebt=o2e.rectMode,SH=Mb(),tbt=wf().prepSelect,rbt=wf().selectOnClick,ibt=wf().clearOutline,nbt=wf().clearSelectionsCache,s2e=ad();function l2e(e,t){this.id=e.id,this.graphDiv=e.graphDiv,this.init(t),this.makeFramework(t),this.updateFx(t),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}u2e.exports=l2e;var zm=l2e.prototype;zm.init=function(e){this.container=e._ternarylayer,this.defs=e._defs,this.layoutId=e._uid,this.traceHash={},this.layers={}};zm.plot=function(e,t){var r=this,n=t[r.id],i=t._size;r._hasClipOnAxisFalse=!1;for(var a=0;a<e.length;a++){var o=e[a][0].trace;if(o.cliponaxis===!1){r._hasClipOnAxisFalse=!0;break}}r.updateLayers(n),r.adjustLayout(n,i),Qxt.generalUpdatePerTraceModule(r.graphDiv,r,e,n),r.layers.plotbg.select(\"path\").call(qT.fill,n.bgcolor)};zm.makeFramework=function(e){var t=this,r=t.graphDiv,n=e[t.id],i=t.clipId=\"clip\"+t.layoutId+t.id,a=t.clipIdRelative=\"clip-relative\"+t.layoutId+t.id;t.clipDef=By.ensureSingleById(e._clips,\"clipPath\",i,function(o){o.append(\"path\").attr(\"d\",\"M0,0Z\")}),t.clipDefRelative=By.ensureSingleById(e._clips,\"clipPath\",a,function(o){o.append(\"path\").attr(\"d\",\"M0,0Z\")}),t.plotContainer=By.ensureSingle(t.container,\"g\",t.id),t.updateLayers(n),k8.setClipUrl(t.layers.backplot,i,r),k8.setClipUrl(t.layers.grids,i,r)};zm.updateFx=function(e){e._ternarylayer.selectAll(\"g.toplevel\").style(\"cursor\",e.dragmode===\"pan\"?\"move\":\"crosshair\")};zm.updateLayers=function(e){var t=this,r=t.layers,n=[\"draglayer\",\"plotbg\",\"backplot\",\"grids\"];e.aaxis.layer===\"below traces\"&&n.push(\"aaxis\",\"aline\"),e.baxis.layer===\"below traces\"&&n.push(\"baxis\",\"bline\"),e.caxis.layer===\"below traces\"&&n.push(\"caxis\",\"cline\"),n.push(\"frontplot\"),e.aaxis.layer===\"above traces\"&&n.push(\"aaxis\",\"aline\"),e.baxis.layer===\"above traces\"&&n.push(\"baxis\",\"bline\"),e.caxis.layer===\"above traces\"&&n.push(\"caxis\",\"cline\");var i=t.plotContainer.selectAll(\"g.toplevel\").data(n,String),a=[\"agrid\",\"bgrid\",\"cgrid\"];i.enter().append(\"g\").attr(\"class\",function(o){return\"toplevel \"+o}).each(function(o){var s=a2e.select(this);r[o]=s,o===\"frontplot\"?s.append(\"g\").classed(\"scatterlayer\",!0):o===\"backplot\"?s.append(\"g\").classed(\"maplayer\",!0):o===\"plotbg\"?s.append(\"path\").attr(\"d\",\"M0,0Z\"):o===\"aline\"||o===\"bline\"||o===\"cline\"?s.append(\"path\"):o===\"grids\"&&a.forEach(function(l){r[l]=s.append(\"g\").classed(\"grid \"+l,!0)})}),i.order()};var FT=Math.sqrt(4/3);zm.adjustLayout=function(e,t){var r=this,n=e.domain,i=(n.x[0]+n.x[1])/2,a=(n.y[0]+n.y[1])/2,o=n.x[1]-n.x[0],s=n.y[1]-n.y[0],l=o*t.w,u=s*t.h,c=e.sum,f=e.aaxis.min,h=e.baxis.min,d=e.caxis.min,v,x,b,p,E,k;l>FT*u?(p=u,b=p*FT):(b=l,p=b/FT),E=o*b/l,k=s*p/u,v=t.l+t.w*i-b/2,x=t.t+t.h*(1-a)-p/2,r.x0=v,r.y0=x,r.w=b,r.h=p,r.sum=c,r.xaxis={type:\"linear\",range:[f+2*d-c,c-f-2*h],domain:[i-E/2,i+E/2],_id:\"x\"},L4(r.xaxis,r.graphDiv._fullLayout),r.xaxis.setScale(),r.xaxis.isPtWithinRange=function(V){return V.a>=r.aaxis.range[0]&&V.a<=r.aaxis.range[1]&&V.b>=r.baxis.range[1]&&V.b<=r.baxis.range[0]&&V.c>=r.caxis.range[1]&&V.c<=r.caxis.range[0]},r.yaxis={type:\"linear\",range:[f,c-h-d],domain:[a-k/2,a+k/2],_id:\"y\"},L4(r.yaxis,r.graphDiv._fullLayout),r.yaxis.setScale(),r.yaxis.isPtWithinRange=function(){return!0};var A=r.yaxis.domain[0],L=r.aaxis=AH({},e.aaxis,{range:[f,c-h-d],side:\"left\",tickangle:(+e.aaxis.tickangle||0)-30,domain:[A,A+k*FT],anchor:\"free\",position:0,_id:\"y\",_length:b});L4(L,r.graphDiv._fullLayout),L.setScale();var _=r.baxis=AH({},e.baxis,{range:[c-f-d,h],side:\"bottom\",domain:r.xaxis.domain,anchor:\"free\",position:0,_id:\"x\",_length:b});L4(_,r.graphDiv._fullLayout),_.setScale();var C=r.caxis=AH({},e.caxis,{range:[c-f-h,d],side:\"right\",tickangle:(+e.caxis.tickangle||0)+30,domain:[A,A+k*FT],anchor:\"free\",position:0,_id:\"y\",_length:b});L4(C,r.graphDiv._fullLayout),C.setScale();var M=\"M\"+v+\",\"+(x+p)+\"h\"+b+\"l-\"+b/2+\",-\"+p+\"Z\";r.clipDef.select(\"path\").attr(\"d\",M),r.layers.plotbg.select(\"path\").attr(\"d\",M);var g=\"M0,\"+p+\"h\"+b+\"l-\"+b/2+\",-\"+p+\"Z\";r.clipDefRelative.select(\"path\").attr(\"d\",g);var P=Dm(v,x);r.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",P),r.clipDefRelative.select(\"path\").attr(\"transform\",null);var T=Dm(v-_._offset,x+p);r.layers.baxis.attr(\"transform\",T),r.layers.bgrid.attr(\"transform\",T);var F=Dm(v+b/2,x)+\"rotate(30)\"+Dm(0,-L._offset);r.layers.aaxis.attr(\"transform\",F),r.layers.agrid.attr(\"transform\",F);var q=Dm(v+b/2,x)+\"rotate(-30)\"+Dm(0,-C._offset);r.layers.caxis.attr(\"transform\",q),r.layers.cgrid.attr(\"transform\",q),r.drawAxes(!0),r.layers.aline.select(\"path\").attr(\"d\",L.showline?\"M\"+v+\",\"+(x+p)+\"l\"+b/2+\",-\"+p:\"M0,0\").call(qT.stroke,L.linecolor||\"#000\").style(\"stroke-width\",(L.linewidth||0)+\"px\"),r.layers.bline.select(\"path\").attr(\"d\",_.showline?\"M\"+v+\",\"+(x+p)+\"h\"+b:\"M0,0\").call(qT.stroke,_.linecolor||\"#000\").style(\"stroke-width\",(_.linewidth||0)+\"px\"),r.layers.cline.select(\"path\").attr(\"d\",C.showline?\"M\"+(v+b/2)+\",\"+x+\"l\"+b/2+\",\"+p:\"M0,0\").call(qT.stroke,C.linecolor||\"#000\").style(\"stroke-width\",(C.linewidth||0)+\"px\"),r.graphDiv._context.staticPlot||r.initInteractions(),k8.setClipUrl(r.layers.frontplot,r._hasClipOnAxisFalse?null:r.clipId,r.graphDiv)};zm.drawAxes=function(e){var t=this,r=t.graphDiv,n=t.id.substr(7)+\"title\",i=t.layers,a=t.aaxis,o=t.baxis,s=t.caxis;if(t.drawAx(a),t.drawAx(o),t.drawAx(s),e){var l=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?s.tickfont.size*.75:0)+(s.ticks===\"outside\"?s.ticklen*.87:0)),u=(o.showticklabels?o.tickfont.size:0)+(o.ticks===\"outside\"?o.ticklen:0)+3;i[\"a-title\"]=SH.draw(r,\"a\"+n,{propContainer:a,propName:t.id+\".aaxis.title\",placeholder:E8(r,\"Click to enter Component A title\"),attributes:{x:t.x0+t.w/2,y:t.y0-a.title.font.size/3-l,\"text-anchor\":\"middle\"}}),i[\"b-title\"]=SH.draw(r,\"b\"+n,{propContainer:o,propName:t.id+\".baxis.title\",placeholder:E8(r,\"Click to enter Component B title\"),attributes:{x:t.x0-u,y:t.y0+t.h+o.title.font.size*.83+u,\"text-anchor\":\"middle\"}}),i[\"c-title\"]=SH.draw(r,\"c\"+n,{propContainer:s,propName:t.id+\".caxis.title\",placeholder:E8(r,\"Click to enter Component C title\"),attributes:{x:t.x0+t.w+u,y:t.y0+t.h+s.title.font.size*.83+u,\"text-anchor\":\"middle\"}})}};zm.drawAx=function(e){var t=this,r=t.graphDiv,n=e._name,i=n.charAt(0),a=e._id,o=t.layers[n],s=30,l=i+\"tickLayout\",u=abt(e);t[l]!==u&&(o.selectAll(\".\"+a+\"tick\").remove(),t[l]=u),e.setScale();var c=k_.calcTicks(e),f=k_.clipEnds(e,c),h=k_.makeTransTickFn(e),d=k_.getTickSigns(e)[2],v=By.deg2rad(s),x=d*(e.linewidth||1)/2,b=d*e.ticklen,p=t.w,E=t.h,k=i===\"b\"?\"M0,\"+x+\"l\"+Math.sin(v)*b+\",\"+Math.cos(v)*b:\"M\"+x+\",0l\"+Math.cos(v)*b+\",\"+-Math.sin(v)*b,A={a:\"M0,0l\"+E+\",-\"+p/2,b:\"M0,0l-\"+p/2+\",-\"+E,c:\"M0,0l-\"+E+\",\"+p/2}[i];k_.drawTicks(r,e,{vals:e.ticks===\"inside\"?f:c,layer:o,path:k,transFn:h,crisp:!1}),k_.drawGrid(r,e,{vals:f,layer:t.layers[i+\"grid\"],path:A,transFn:h,crisp:!1}),k_.drawLabels(r,e,{vals:c,layer:o,transFn:h,labelFns:k_.makeLabelFns(e,0,s)})};function abt(e){return e.ticks+String(e.ticklen)+String(e.showticklabels)}var fd=s2e.MINZOOM/2+.87,obt=\"m-0.87,.5h\"+fd+\"v3h-\"+(fd+5.2)+\"l\"+(fd/2+2.6)+\",-\"+(fd*.87+4.5)+\"l2.6,1.5l-\"+fd/2+\",\"+fd*.87+\"Z\",sbt=\"m0.87,.5h-\"+fd+\"v3h\"+(fd+5.2)+\"l-\"+(fd/2+2.6)+\",-\"+(fd*.87+4.5)+\"l-2.6,1.5l\"+fd/2+\",\"+fd*.87+\"Z\",lbt=\"m0,1l\"+fd/2+\",\"+fd*.87+\"l2.6,-1.5l-\"+(fd/2+2.6)+\",-\"+(fd*.87+4.5)+\"l-\"+(fd/2+2.6)+\",\"+(fd*.87+4.5)+\"l2.6,1.5l\"+fd/2+\",-\"+fd*.87+\"Z\",ubt=\"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z\",i2e=!0;zm.clearOutline=function(){nbt(this.dragOptions),ibt(this.dragOptions.gd)};zm.initInteractions=function(){var e=this,t=e.layers.plotbg.select(\"path\").node(),r=e.graphDiv,n=r._fullLayout._zoomlayer,i,a;this.dragOptions={element:t,gd:r,plotinfo:{id:e.id,domain:r._fullLayout[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis},subplot:e.id,prepFn:function(T,F,q){e.dragOptions.xaxes=[e.xaxis],e.dragOptions.yaxes=[e.yaxis],i=r._fullLayout._invScaleX,a=r._fullLayout._invScaleY;var V=e.dragOptions.dragmode=r._fullLayout.dragmode;r2e(V)?e.dragOptions.minDrag=1:e.dragOptions.minDrag=void 0,V===\"zoom\"?(e.dragOptions.moveFn=_,e.dragOptions.clickFn=p,e.dragOptions.doneFn=C,E(T,F,q)):V===\"pan\"?(e.dragOptions.moveFn=g,e.dragOptions.clickFn=p,e.dragOptions.doneFn=P,M(),e.clearOutline(r)):(ebt(V)||r2e(V))&&tbt(T,F,q,e.dragOptions,V)}};var o,s,l,u,c,f,h,d,v,x;function b(T){var F={};return F[e.id+\".aaxis.min\"]=T.a,F[e.id+\".baxis.min\"]=T.b,F[e.id+\".caxis.min\"]=T.c,F}function p(T,F){var q=r._fullLayout.clickmode;n2e(r),T===2&&(r.emit(\"plotly_doubleclick\",null),TH.call(\"_guiRelayout\",r,b({a:0,b:0,c:0}))),q.indexOf(\"select\")>-1&&T===1&&rbt(F,r,[e.xaxis],[e.yaxis],e.id,e.dragOptions),q.indexOf(\"event\")>-1&&t2e.click(r,F,e.id)}function E(T,F,q){var V=t.getBoundingClientRect();o=F-V.left,s=q-V.top,r._fullLayout._calcInverseTransform(r);var H=r._fullLayout._invTransform,X=By.apply3DTransform(H)(o,s);o=X[0],s=X[1],l={a:e.aaxis.range[0],b:e.baxis.range[1],c:e.caxis.range[1]},c=l,u=e.aaxis.range[1]-l.a,f=$xt(e.graphDiv._fullLayout[e.id].bgcolor).getLuminance(),h=\"M0,\"+e.h+\"L\"+e.w/2+\", 0L\"+e.w+\",\"+e.h+\"Z\",d=!1,v=n.append(\"path\").attr(\"class\",\"zoombox\").attr(\"transform\",Dm(e.x0,e.y0)).style({fill:f>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"d\",h),x=n.append(\"path\").attr(\"class\",\"zoombox-corners\").attr(\"transform\",Dm(e.x0,e.y0)).style({fill:qT.background,stroke:qT.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"d\",\"M0,0Z\"),e.clearOutline(r)}function k(T,F){return 1-F/e.h}function A(T,F){return 1-(T+(e.h-F)/Math.sqrt(3))/e.w}function L(T,F){return(T-(e.h-F)/Math.sqrt(3))/e.w}function _(T,F){var q=o+T*i,V=s+F*a,H=Math.max(0,Math.min(1,k(o,s),k(q,V))),X=Math.max(0,Math.min(1,A(o,s),A(q,V))),G=Math.max(0,Math.min(1,L(o,s),L(q,V))),N=(H/2+G)*e.w,W=(1-H/2-X)*e.w,re=(N+W)/2,ae=W-N,_e=(1-H)*e.h,Me=_e-ae/FT;ae<s2e.MINZOOM?(c=l,v.attr(\"d\",h),x.attr(\"d\",\"M0,0Z\")):(c={a:l.a+H*u,b:l.b+X*u,c:l.c+G*u},v.attr(\"d\",h+\"M\"+N+\",\"+_e+\"H\"+W+\"L\"+re+\",\"+Me+\"L\"+N+\",\"+_e+\"Z\"),x.attr(\"d\",\"M\"+o+\",\"+s+ubt+\"M\"+N+\",\"+_e+obt+\"M\"+W+\",\"+_e+sbt+\"M\"+re+\",\"+Me+lbt)),d||(v.transition().style(\"fill\",f>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),x.transition().style(\"opacity\",1).duration(200),d=!0),r.emit(\"plotly_relayouting\",b(c))}function C(){n2e(r),c!==l&&(TH.call(\"_guiRelayout\",r,b(c)),i2e&&r.data&&r._context.showTips&&(By.notifier(E8(r,\"Double-click to zoom back out\"),\"long\"),i2e=!1))}function M(){l={a:e.aaxis.range[0],b:e.baxis.range[1],c:e.caxis.range[1]},c=l}function g(T,F){var q=T/e.xaxis._m,V=F/e.yaxis._m;c={a:l.a-V,b:l.b+(q+V)/2,c:l.c-(q-V)/2};var H=[c.a,c.b,c.c].sort(By.sorterAsc),X={a:H.indexOf(c.a),b:H.indexOf(c.b),c:H.indexOf(c.c)};H[0]<0&&(H[1]+H[0]/2<0?(H[2]+=H[0]+H[1],H[0]=H[1]=0):(H[2]+=H[0]/2,H[1]+=H[0]/2,H[0]=0),c={a:H[X.a],b:H[X.b],c:H[X.c]},F=(l.a-c.a)*e.yaxis._m,T=(l.c-c.c-l.b+c.b)*e.xaxis._m);var G=Dm(e.x0+T,e.y0+F);e.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",G);var N=Dm(-T,-F);e.clipDefRelative.select(\"path\").attr(\"transform\",N),e.aaxis.range=[c.a,e.sum-c.b-c.c],e.baxis.range=[e.sum-c.a-c.c,c.b],e.caxis.range=[e.sum-c.a-c.b,c.c],e.drawAxes(!1),e._hasClipOnAxisFalse&&e.plotContainer.select(\".scatterlayer\").selectAll(\".trace\").call(k8.hideOutsideRangePoints,e),r.emit(\"plotly_relayouting\",b(c))}function P(){TH.call(\"_guiRelayout\",r,b(c))}t.onmousemove=function(T){t2e.hover(r,T,e.id),r._fullLayout._lasthover=t,r._fullLayout._hoversubplot=e.id},t.onmouseout=function(T){r._dragging||e2e.unhover(r,T)},e2e.init(this.dragOptions)};function n2e(e){a2e.select(e).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}});var kH=ye((ylr,f2e)=>{\"use strict\";var cbt=dh(),fbt=Ju().attributes,Ol=Cd(),hbt=Bu().overrideAll,MH=no().extendFlat,EH={title:{text:Ol.title.text,font:Ol.title.font},color:Ol.color,tickmode:Ol.minor.tickmode,nticks:MH({},Ol.nticks,{dflt:6,min:1}),tick0:Ol.tick0,dtick:Ol.dtick,tickvals:Ol.tickvals,ticktext:Ol.ticktext,ticks:Ol.ticks,ticklen:Ol.ticklen,tickwidth:Ol.tickwidth,tickcolor:Ol.tickcolor,ticklabelstep:Ol.ticklabelstep,showticklabels:Ol.showticklabels,labelalias:Ol.labelalias,showtickprefix:Ol.showtickprefix,tickprefix:Ol.tickprefix,showticksuffix:Ol.showticksuffix,ticksuffix:Ol.ticksuffix,showexponent:Ol.showexponent,exponentformat:Ol.exponentformat,minexponent:Ol.minexponent,separatethousands:Ol.separatethousands,tickfont:Ol.tickfont,tickangle:Ol.tickangle,tickformat:Ol.tickformat,tickformatstops:Ol.tickformatstops,hoverformat:Ol.hoverformat,showline:MH({},Ol.showline,{dflt:!0}),linecolor:Ol.linecolor,linewidth:Ol.linewidth,showgrid:MH({},Ol.showgrid,{dflt:!0}),gridcolor:Ol.gridcolor,gridwidth:Ol.gridwidth,griddash:Ol.griddash,layer:Ol.layer,min:{valType:\"number\",dflt:0,min:0}},C8=f2e.exports=hbt({domain:fbt({name:\"ternary\"}),bgcolor:{valType:\"color\",dflt:cbt.background},sum:{valType:\"number\",dflt:1,min:0},aaxis:EH,baxis:EH,caxis:EH},\"plot\",\"from-root\");C8.uirevision={valType:\"any\",editType:\"none\"};C8.aaxis.uirevision=C8.baxis.uirevision=C8.caxis.uirevision={valType:\"any\",editType:\"none\"}});var C_=ye((_lr,h2e)=>{\"use strict\";var dbt=Mr(),vbt=Vs(),pbt=Ju().defaults;h2e.exports=function(t,r,n,i){var a=i.type,o=i.attributes,s=i.handleDefaults,l=i.partition||\"x\",u=r._subplots[a],c=u.length,f=c&&u[0].replace(/\\d+$/,\"\"),h,d;function v(E,k){return dbt.coerce(h,d,o,E,k)}for(var x=0;x<c;x++){var b=u[x];t[b]?h=t[b]:h=t[b]={},d=vbt.newContainer(r,b,f),i.noUirevision||v(\"uirevision\",r.uirevision);var p={};p[l]=[x/c,(x+1)/c],pbt(d,r,v,p),i.id=b,s(h,d,v,i)}}});var g2e=ye((xlr,p2e)=>{\"use strict\";var gbt=va(),mbt=Vs(),L8=Mr(),ybt=C_(),_bt=t_(),xbt=r_(),bbt=T3(),wbt=xb(),Tbt=YM(),v2e=kH(),d2e=[\"aaxis\",\"baxis\",\"caxis\"];p2e.exports=function(t,r,n){ybt(t,r,n,{type:\"ternary\",attributes:v2e,handleDefaults:Abt,font:r.font,paper_bgcolor:r.paper_bgcolor})};function Abt(e,t,r,n){var i=r(\"bgcolor\"),a=r(\"sum\");n.bgColor=gbt.combine(i,n.paper_bgcolor);for(var o,s,l,u=0;u<d2e.length;u++)o=d2e[u],s=e[o]||{},l=mbt.newContainer(t,o),l._name=o,Sbt(s,l,n,t);var c=t.aaxis,f=t.baxis,h=t.caxis;c.min+f.min+h.min>=a&&(c.min=0,f.min=0,h.min=0,e.aaxis&&delete e.aaxis.min,e.baxis&&delete e.baxis.min,e.caxis&&delete e.caxis.min)}function Sbt(e,t,r,n){var i=v2e[t._name];function a(d,v){return L8.coerce(e,t,i,d,v)}a(\"uirevision\",n.uirevision),t.type=\"linear\";var o=a(\"color\"),s=o!==i.color.dflt?o:r.font.color,l=t._name,u=l.charAt(0).toUpperCase(),c=\"Component \"+u,f=a(\"title.text\",c);t._hovertitle=f===c?f:u,L8.coerceFont(a,\"title.font\",r.font,{overrideDflt:{size:L8.bigFont(r.font.size),color:s}}),a(\"min\"),wbt(e,t,a,\"linear\"),xbt(e,t,a,\"linear\"),_bt(e,t,a,\"linear\",{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0}),bbt(e,t,a,{outerTicks:!0});var h=a(\"showticklabels\");h&&(L8.coerceFont(a,\"tickfont\",r.font,{overrideDflt:{color:s}}),a(\"tickangle\"),a(\"tickformat\")),Tbt(e,t,a,{dfltColor:o,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),a(\"hoverformat\"),a(\"layer\")}});var m2e=ye(W0=>{\"use strict\";var Mbt=c2e(),Ebt=kd().getSubplotCalcData,kbt=Mr().counterRegex,OT=\"ternary\";W0.name=OT;var Cbt=W0.attr=\"subplot\";W0.idRoot=OT;W0.idRegex=W0.attrRegex=kbt(OT);var Lbt=W0.attributes={};Lbt[Cbt]={valType:\"subplotid\",dflt:\"ternary\",editType:\"calc\"};W0.layoutAttributes=kH();W0.supplyLayoutDefaults=g2e();W0.plot=function(t){for(var r=t._fullLayout,n=t.calcdata,i=r._subplots[OT],a=0;a<i.length;a++){var o=i[a],s=Ebt(n,OT,o),l=r[o]._subplot;l||(l=new Mbt({id:o,graphDiv:t,container:r._ternarylayer.node()},r),r[o]._subplot=l),l.plot(s,r,t._promises)}};W0.clean=function(e,t,r,n){for(var i=n._subplots[OT]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!t[o]&&s&&(s.plotContainer.remove(),s.clipDef.remove(),s.clipDefRelative.remove(),s.layers[\"a-title\"].remove(),s.layers[\"b-title\"].remove(),s.layers[\"c-title\"].remove())}};W0.updateFx=function(e){var t=e._fullLayout;t._ternarylayer.selectAll(\"g.toplevel\").style(\"cursor\",t.dragmode===\"pan\"?\"move\":\"crosshair\")}});var _2e=ye((wlr,y2e)=>{\"use strict\";y2e.exports={attributes:xH(),supplyDefaults:Ube(),colorbar:Kd(),formatLabels:Hbe(),calc:Zbe(),plot:Ybe(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:Jbe(),selectPoints:lT(),eventData:Qbe(),moduleType:\"trace\",name:\"scatterternary\",basePlotModule:m2e(),categories:[\"ternary\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var b2e=ye((Tlr,x2e)=>{\"use strict\";x2e.exports=_2e()});var CH=ye((Alr,T2e)=>{\"use strict\";var jh=v4(),BT=no().extendFlat,w2e=Oc().axisHoverFormat;T2e.exports={y:jh.y,x:jh.x,x0:jh.x0,y0:jh.y0,xhoverformat:w2e(\"x\"),yhoverformat:w2e(\"y\"),name:BT({},jh.name,{}),orientation:BT({},jh.orientation,{}),bandwidth:{valType:\"number\",min:0,editType:\"calc\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},scalemode:{valType:\"enumerated\",values:[\"width\",\"count\"],dflt:\"width\",editType:\"calc\"},spanmode:{valType:\"enumerated\",values:[\"soft\",\"hard\",\"manual\"],dflt:\"soft\",editType:\"calc\"},span:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}],editType:\"calc\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:jh.fillcolor,points:BT({},jh.boxpoints,{}),jitter:BT({},jh.jitter,{}),pointpos:BT({},jh.pointpos,{}),width:BT({},jh.width,{}),marker:jh.marker,text:jh.text,hovertext:jh.hovertext,hovertemplate:jh.hovertemplate,quartilemethod:jh.quartilemethod,box:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},width:{valType:\"number\",min:0,max:1,dflt:.25,editType:\"plot\"},fillcolor:{valType:\"color\",editType:\"style\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},editType:\"plot\"},meanline:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"plot\"},side:{valType:\"enumerated\",values:[\"both\",\"positive\",\"negative\"],dflt:\"both\",editType:\"calc\"},offsetgroup:jh.offsetgroup,alignmentgroup:jh.alignmentgroup,selected:jh.selected,unselected:jh.unselected,hoveron:{valType:\"flaglist\",flags:[\"violins\",\"points\",\"kde\"],dflt:\"violins+points+kde\",extras:[\"all\"],editType:\"style\"},zorder:jh.zorder}});var IH=ye((Slr,A2e)=>{\"use strict\";var LH=p4(),PH=Mr().extendFlat;A2e.exports={violinmode:PH({},LH.boxmode,{}),violingap:PH({},LH.boxgap,{}),violingroupgap:PH({},LH.boxgroupgap,{})}});var C2e=ye((Mlr,k2e)=>{\"use strict\";var S2e=Mr(),Pbt=va(),M2e=m4(),E2e=CH();k2e.exports=function(t,r,n,i){function a(L,_){return S2e.coerce(t,r,E2e,L,_)}function o(L,_){return S2e.coerce2(t,r,E2e,L,_)}if(M2e.handleSampleDefaults(t,r,a,i),r.visible!==!1){a(\"bandwidth\"),a(\"side\");var s=a(\"width\");s||(a(\"scalegroup\",r.name),a(\"scalemode\"));var l=a(\"span\"),u;Array.isArray(l)&&(u=\"manual\"),a(\"spanmode\",u);var c=a(\"line.color\",(t.marker||{}).color||n),f=a(\"line.width\"),h=a(\"fillcolor\",Pbt.addOpacity(r.line.color,.5));M2e.handlePointsDefaults(t,r,a,{prefix:\"\"});var d=o(\"box.width\"),v=o(\"box.fillcolor\",h),x=o(\"box.line.color\",c),b=o(\"box.line.width\",f),p=a(\"box.visible\",!!(d||v||x||b));p||(r.box={visible:!1});var E=o(\"meanline.color\",c),k=o(\"meanline.width\",f),A=a(\"meanline.visible\",!!(E||k));A||(r.meanline={visible:!1}),a(\"quartilemethod\"),a(\"zorder\")}}});var P2e=ye((Elr,L2e)=>{\"use strict\";var Ibt=Mr(),Rbt=IH(),Dbt=VI();L2e.exports=function(t,r,n){function i(a,o){return Ibt.coerce(t,r,Rbt,a,o)}Dbt._supply(t,r,n,i,\"violin\")}});var P8=ye(o2=>{\"use strict\";var zbt=Mr(),Fbt={gaussian:function(e){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*e*e)}};o2.makeKDE=function(e,t,r){var n=r.length,i=Fbt.gaussian,a=e.bandwidth,o=1/(n*a);return function(s){for(var l=0,u=0;u<n;u++)l+=i((s-r[u])/a);return o*l}};o2.getPositionOnKdePath=function(e,t,r){var n,i;t.orientation===\"h\"?(n=\"y\",i=\"x\"):(n=\"x\",i=\"y\");var a=zbt.findPointOnPath(e.path,r,i,{pathLength:e.pathLength}),o=e.posCenterPx,s=a[n],l=t.side===\"both\"?2*o-s:o;return[s,l]};o2.getKdeValue=function(e,t,r){var n=e.pts.map(o2.extractVal),i=o2.makeKDE(e,t,n);return i(r)/e.posDensityScale};o2.extractVal=function(e){return e.v}});var D2e=ye((Clr,R2e)=>{\"use strict\";var RH=Mr(),DH=Qa(),qbt=MV(),I2e=P8(),Obt=es().BADNUM;R2e.exports=function(t,r){var n=qbt(t,r);if(n[0].t.empty)return n;for(var i=t._fullLayout,a=DH.getFromId(t,r[r.orientation===\"h\"?\"xaxis\":\"yaxis\"]),o=1/0,s=-1/0,l=0,u=0,c=0;c<n.length;c++){var f=n[c],h=f.pts.map(I2e.extractVal),d=f.bandwidth=Nbt(r,f,h),v=f.span=Ubt(r,f,a,d);if(f.min===f.max&&d===0)v=f.span=[f.min,f.max],f.density=[{v:1,t:v[0]}],f.bandwidth=d,l=Math.max(l,1);else{var x=v[1]-v[0],b=Math.ceil(x/(d/3)),p=x/b;if(!isFinite(p)||!isFinite(b))return RH.error(\"Something went wrong with computing the violin span\"),n[0].t.empty=!0,n;var E=I2e.makeKDE(f,r,h);f.density=new Array(b);for(var k=0,A=v[0];A<v[1]+p/2;k++,A+=p){var L=E(A);f.density[k]={v:L,t:A},l=Math.max(l,L)}}u=Math.max(u,h.length),o=Math.min(o,v[0]),s=Math.max(s,v[1])}var _=DH.findExtremes(a,[o,s],{padded:!0});if(r._extremes[a._id]=_,r.width)n[0].t.maxKDE=l;else{var C=i._violinScaleGroupStats,M=r.scalegroup,g=C[M];g?(g.maxKDE=Math.max(g.maxKDE,l),g.maxCount=Math.max(g.maxCount,u)):C[M]={maxKDE:l,maxCount:u}}return n[0].t.labels.kde=RH._(t,\"kde:\"),n};function Bbt(e,t,r){var n=Math.min(t,r/1.349);return 1.059*n*Math.pow(e,-.2)}function Nbt(e,t,r){var n=t.max-t.min;if(!n)return e.bandwidth?e.bandwidth:0;if(e.bandwidth)return Math.max(e.bandwidth,n/1e4);var i=r.length,a=RH.stdev(r,i-1,t.mean);return Math.max(Bbt(i,a,t.q3-t.q1),n/100)}function Ubt(e,t,r,n){var i=e.spanmode,a=e.span||[],o=[t.min,t.max],s=[t.min-2*n,t.max+2*n],l;function u(f){var h=a[f],d=r.type===\"multicategory\"?r.r2c(h):r.d2c(h,0,e[t.valLetter+\"calendar\"]);return d===Obt?s[f]:d}i===\"soft\"?l=s:i===\"hard\"?l=o:l=[u(0),u(1)];var c={type:\"linear\",range:l};return DH.setConvert(c),c.cleanRange(),l}});var q2e=ye((Llr,F2e)=>{\"use strict\";var Vbt=GI().setPositionOffset,z2e=[\"v\",\"h\"];F2e.exports=function(t,r){for(var n=t.calcdata,i=r.xaxis,a=r.yaxis,o=0;o<z2e.length;o++){for(var s=z2e[o],l=s===\"h\"?a:i,u=[],c=0;c<n.length;c++){var f=n[c],h=f[0].t,d=f[0].trace;d.visible===!0&&d.type===\"violin\"&&!h.empty&&d.orientation===s&&d.xaxis===i._id&&d.yaxis===a._id&&u.push(c)}Vbt(\"violin\",t,u,l)}}});var B2e=ye((Plr,O2e)=>{\"use strict\";var zH=xa(),FH=Mr(),Hbt=ao(),qH=jI(),Gbt=fU(),jbt=P8();O2e.exports=function(t,r,n,i){var a=t._context.staticPlot,o=t._fullLayout,s=r.xaxis,l=r.yaxis;function u(c,f){var h=Gbt(c,{xaxis:s,yaxis:l,trace:f,connectGaps:!0,baseTolerance:.75,shape:\"spline\",simplify:!0,linearized:!0});return Hbt.smoothopen(h[0],1)}FH.makeTraceGroups(i,n,\"trace violins\").each(function(c){var f=zH.select(this),h=c[0],d=h.t,v=h.trace;if(v.visible!==!0||d.empty){f.remove();return}var x=d.bPos,b=d.bdPos,p=r[d.valLetter+\"axis\"],E=r[d.posLetter+\"axis\"],k=v.side===\"both\",A=k||v.side===\"positive\",L=k||v.side===\"negative\",_=f.selectAll(\"path.violin\").data(FH.identity);_.enter().append(\"path\").style(\"vector-effect\",a?\"none\":\"non-scaling-stroke\").attr(\"class\",\"violin\"),_.exit().remove(),_.each(function(V){var H=zH.select(this),X=V.density,G=X.length,N=E.c2l(V.pos+x,!0),W=E.l2p(N),re;if(v.width)re=d.maxKDE/b;else{var ae=o._violinScaleGroupStats[v.scalegroup];re=v.scalemode===\"count\"?ae.maxKDE/b*(ae.maxCount/V.pts.length):ae.maxKDE/b}var _e,Me,ke,ge,ie,Te,Ee;if(A){for(Te=new Array(G),ge=0;ge<G;ge++)Ee=Te[ge]={},Ee[d.posLetter]=N+X[ge].v/re,Ee[d.valLetter]=p.c2l(X[ge].t,!0);_e=u(Te,v)}if(L){for(Te=new Array(G),ie=0,ge=G-1;ie<G;ie++,ge--)Ee=Te[ie]={},Ee[d.posLetter]=N-X[ge].v/re,Ee[d.valLetter]=p.c2l(X[ge].t,!0);Me=u(Te,v)}if(k)ke=_e+\"L\"+Me.substr(1)+\"Z\";else{var Ae=[W,p.c2p(X[0].t)],ze=[W,p.c2p(X[G-1].t)];v.orientation===\"h\"&&(Ae.reverse(),ze.reverse()),A?ke=\"M\"+Ae+\"L\"+_e.substr(1)+\"L\"+ze:ke=\"M\"+ze+\"L\"+Me.substr(1)+\"L\"+Ae}H.attr(\"d\",ke),V.posCenterPx=W,V.posDensityScale=re*b,V.path=H.node(),V.pathLength=V.path.getTotalLength()/(k?2:1)});var C=v.box,M=C.width,g=(C.line||{}).width,P,T;k?(P=b*M,T=0):A?(P=[0,b*M/2],T=g*{x:1,y:-1}[d.posLetter]):(P=[b*M/2,0],T=g*{x:-1,y:1}[d.posLetter]),qH.plotBoxAndWhiskers(f,{pos:E,val:p},v,{bPos:x,bdPos:P,bPosPxOffset:T}),qH.plotBoxMean(f,{pos:E,val:p},v,{bPos:x,bdPos:P,bPosPxOffset:T});var F;!v.box.visible&&v.meanline.visible&&(F=FH.identity);var q=f.selectAll(\"path.meanline\").data(F||[]);q.enter().append(\"path\").attr(\"class\",\"meanline\").style(\"fill\",\"none\").style(\"vector-effect\",a?\"none\":\"non-scaling-stroke\"),q.exit().remove(),q.each(function(V){var H=p.c2p(V.mean,!0),X=jbt.getPositionOnKdePath(V,v,H);zH.select(this).attr(\"d\",v.orientation===\"h\"?\"M\"+H+\",\"+X[0]+\"V\"+X[1]:\"M\"+X[0]+\",\"+H+\"H\"+X[1])}),qH.plotPoints(f,{x:s,y:l},v,d)})}});var V2e=ye((Ilr,U2e)=>{\"use strict\";var N2e=xa(),NT=va(),Wbt=op().stylePoints;U2e.exports=function(t){var r=N2e.select(t).selectAll(\"g.trace.violins\");r.style(\"opacity\",function(n){return n[0].trace.opacity}),r.each(function(n){var i=n[0].trace,a=N2e.select(this),o=i.box||{},s=o.line||{},l=i.meanline||{},u=l.width;a.selectAll(\"path.violin\").style(\"stroke-width\",i.line.width+\"px\").call(NT.stroke,i.line.color).call(NT.fill,i.fillcolor),a.selectAll(\"path.box\").style(\"stroke-width\",s.width+\"px\").call(NT.stroke,s.color).call(NT.fill,o.fillcolor);var c={\"stroke-width\":u+\"px\",\"stroke-dasharray\":2*u+\"px,\"+u+\"px\"};a.selectAll(\"path.mean\").style(c).call(NT.stroke,l.color),a.selectAll(\"path.meanline\").style(c).call(NT.stroke,l.color),Wbt(a,i,t)})}});var W2e=ye((Rlr,j2e)=>{\"use strict\";var Zbt=va(),OH=Mr(),Xbt=Qa(),H2e=PV(),G2e=P8();j2e.exports=function(t,r,n,i,a){a||(a={});var o=a.hoverLayer,s=t.cd,l=s[0].trace,u=l.hoveron,c=u.indexOf(\"violins\")!==-1,f=u.indexOf(\"kde\")!==-1,h=[],d,v;if(c||f){var x=H2e.hoverOnBoxes(t,r,n,i);if(f&&x.length>0){var b=t.xa,p=t.ya,E,k,A,L,_;l.orientation===\"h\"?(_=r,E=\"y\",A=p,k=\"x\",L=b):(_=n,E=\"x\",A=b,k=\"y\",L=p);var C=s[t.index];if(_>=C.span[0]&&_<=C.span[1]){var M=OH.extendFlat({},t),g=L.c2p(_,!0),P=G2e.getKdeValue(C,l,_),T=G2e.getPositionOnKdePath(C,l,g),F=A._offset,q=A._length;M[E+\"0\"]=T[0],M[E+\"1\"]=T[1],M[k+\"0\"]=M[k+\"1\"]=g,M[k+\"Label\"]=k+\": \"+Xbt.hoverLabelText(L,_,l[k+\"hoverformat\"])+\", \"+s[0].t.labels.kde+\" \"+P.toFixed(3);for(var V=0,H=0;H<x.length;H++)if(x[H].attr===\"med\"){V=H;break}M.spikeDistance=x[V].spikeDistance;var X=E+\"Spike\";M[X]=x[V][X],x[V].spikeDistance=void 0,x[V][X]=void 0,M.hovertemplate=!1,h.push(M),v={},v[E+\"1\"]=OH.constrain(F+T[0],F,F+q),v[E+\"2\"]=OH.constrain(F+T[1],F,F+q),v[k+\"1\"]=v[k+\"2\"]=L._offset+g}}c&&(h=h.concat(x))}u.indexOf(\"points\")!==-1&&(d=H2e.hoverOnPoints(t,r,n));var G=o.selectAll(\".violinline-\"+l.uid).data(v?[0]:[]);return G.enter().append(\"line\").classed(\"violinline-\"+l.uid,!0).attr(\"stroke-width\",1.5),G.exit().remove(),G.attr(v).call(Zbt.stroke,t.color),i===\"closest\"?d?[d]:h:(d&&h.push(d),h)}});var X2e=ye((Dlr,Z2e)=>{\"use strict\";Z2e.exports={attributes:CH(),layoutAttributes:IH(),supplyDefaults:C2e(),crossTraceDefaults:m4().crossTraceDefaults,supplyLayoutDefaults:P2e(),calc:D2e(),crossTraceCalc:q2e(),plot:B2e(),style:V2e(),styleOnSelect:op().styleOnSelect,hoverPoints:W2e(),selectPoints:IV(),moduleType:\"trace\",name:\"violin\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\",\"violinLayout\",\"zoomScale\"],meta:{}}});var K2e=ye((zlr,Y2e)=>{\"use strict\";Y2e.exports=X2e()});var $2e=ye((Flr,J2e)=>{\"use strict\";J2e.exports={eventDataKeys:[\"percentInitial\",\"percentPrevious\",\"percentTotal\"]}});var NH=ye((qlr,twe)=>{\"use strict\";var lc=Lm(),BH=Uc().line,Ybt=vl(),Q2e=Oc().axisHoverFormat,Kbt=Wo().hovertemplateAttrs,Jbt=Wo().texttemplateAttrs,ewe=$2e(),Ny=no().extendFlat,$bt=va();twe.exports={x:lc.x,x0:lc.x0,dx:lc.dx,y:lc.y,y0:lc.y0,dy:lc.dy,xperiod:lc.xperiod,yperiod:lc.yperiod,xperiod0:lc.xperiod0,yperiod0:lc.yperiod0,xperiodalignment:lc.xperiodalignment,yperiodalignment:lc.yperiodalignment,xhoverformat:Q2e(\"x\"),yhoverformat:Q2e(\"y\"),hovertext:lc.hovertext,hovertemplate:Kbt({},{keys:ewe.eventDataKeys}),hoverinfo:Ny({},Ybt.hoverinfo,{flags:[\"name\",\"x\",\"y\",\"text\",\"percent initial\",\"percent previous\",\"percent total\"]}),textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"percent initial\",\"percent previous\",\"percent total\",\"value\"],extras:[\"none\"],editType:\"plot\",arrayOk:!1},texttemplate:Jbt({editType:\"plot\"},{keys:ewe.eventDataKeys.concat([\"label\",\"value\"])}),text:lc.text,textposition:lc.textposition,insidetextanchor:Ny({},lc.insidetextanchor,{dflt:\"middle\"}),textangle:Ny({},lc.textangle,{dflt:0}),textfont:lc.textfont,insidetextfont:lc.insidetextfont,outsidetextfont:lc.outsidetextfont,constraintext:lc.constraintext,cliponaxis:lc.cliponaxis,orientation:Ny({},lc.orientation,{}),offset:Ny({},lc.offset,{arrayOk:!1}),width:Ny({},lc.width,{arrayOk:!1}),marker:Qbt(),connector:{fillcolor:{valType:\"color\",editType:\"style\"},line:{color:Ny({},BH.color,{dflt:$bt.defaultLine}),width:Ny({},BH.width,{dflt:0,editType:\"plot\"}),dash:BH.dash,editType:\"style\"},visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},offsetgroup:lc.offsetgroup,alignmentgroup:lc.alignmentgroup,zorder:lc.zorder};function Qbt(){var e=Ny({},lc.marker);return delete e.pattern,delete e.cornerradius,e}});var UH=ye((Olr,rwe)=>{\"use strict\";rwe.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\"}}});var HH=ye((Blr,nwe)=>{\"use strict\";var I8=Mr(),e2t=Hb(),t2t=r0().handleText,r2t=K3(),i2t=Pg(),iwe=NH(),VH=va();function n2t(e,t,r,n){function i(f,h){return I8.coerce(e,t,iwe,f,h)}var a=r2t(e,t,n,i);if(!a){t.visible=!1;return}i2t(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\"),i(\"orientation\",t.y&&!t.x?\"v\":\"h\"),i(\"offset\"),i(\"width\");var o=i(\"text\");i(\"hovertext\"),i(\"hovertemplate\");var s=i(\"textposition\");t2t(e,t,n,i,s,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),t.textposition!==\"none\"&&!t.texttemplate&&i(\"textinfo\",I8.isArrayOrTypedArray(o)?\"text+value\":\"value\");var l=i(\"marker.color\",r);i(\"marker.line.color\",VH.defaultLine),i(\"marker.line.width\");var u=i(\"connector.visible\");if(u){i(\"connector.fillcolor\",a2t(l));var c=i(\"connector.line.width\");c&&(i(\"connector.line.color\"),i(\"connector.line.dash\"))}i(\"zorder\")}function a2t(e){var t=I8.isArrayOrTypedArray(e)?\"#000\":e;return VH.addOpacity(t,.5*VH.opacity(t))}function o2t(e,t){var r,n;function i(o){return I8.coerce(n._input,n,iwe,o)}for(var a=0;a<e.length;a++)n=e[a],n.type===\"funnel\"&&(r=n._input,e2t(r,n,t,i,t.funnelmode))}nwe.exports={supplyDefaults:n2t,crossTraceDefaults:o2t}});var owe=ye((Nlr,awe)=>{\"use strict\";var s2t=Mr(),l2t=UH();awe.exports=function(e,t,r){var n=!1;function i(s,l){return s2t.coerce(e,t,l2t,s,l)}for(var a=0;a<r.length;a++){var o=r[a];if(o.visible&&o.type===\"funnel\"){n=!0;break}}n&&(i(\"funnelmode\"),i(\"funnelgap\",.2),i(\"funnelgroupgap\"))}});var lwe=ye((Ulr,swe)=>{\"use strict\";var UT=Mr();swe.exports=function(t,r){for(var n=0;n<t.length;n++)t[n].i=n;UT.mergeArray(r.text,t,\"tx\"),UT.mergeArray(r.hovertext,t,\"htx\");var i=r.marker;if(i){UT.mergeArray(i.opacity,t,\"mo\"),UT.mergeArray(i.color,t,\"mc\");var a=i.line;a&&(UT.mergeArray(a.color,t,\"mlc\"),UT.mergeArrayCastPositive(a.width,t,\"mlw\"))}}});var hwe=ye((Vlr,fwe)=>{\"use strict\";var uwe=Qa(),cwe=Rg(),u2t=lwe(),c2t=F0(),P4=es().BADNUM;fwe.exports=function(t,r){var n=uwe.getFromId(t,r.xaxis||\"x\"),i=uwe.getFromId(t,r.yaxis||\"y\"),a,o,s,l,u,c,f,h;r.orientation===\"h\"?(a=n.makeCalcdata(r,\"x\"),s=i.makeCalcdata(r,\"y\"),l=cwe(r,i,\"y\",s),u=!!r.yperiodalignment,c=\"y\"):(a=i.makeCalcdata(r,\"y\"),s=n.makeCalcdata(r,\"x\"),l=cwe(r,n,\"x\",s),u=!!r.xperiodalignment,c=\"x\"),o=l.vals;var d=Math.min(o.length,a.length),v=new Array(d);for(r._base=[],f=0;f<d;f++){a[f]<0&&(a[f]=P4);var x=!1;a[f]!==P4&&f+1<d&&a[f+1]!==P4&&(x=!0),h=v[f]={p:o[f],s:a[f],cNext:x},r._base[f]=-.5*h.s,u&&(v[f].orig_p=s[f],v[f][c+\"End\"]=l.ends[f],v[f][c+\"Start\"]=l.starts[f]),r.ids&&(h.id=String(r.ids[f])),f===0&&(v[0].vTotal=0),v[0].vTotal+=GH(h.s),h.begR=GH(h.s)/GH(v[0].s)}var b;for(f=0;f<d;f++)h=v[f],h.s!==P4&&(h.sumR=h.s/v[0].vTotal,h.difR=b!==void 0?h.s/b:1,b=h.s);return u2t(v,r),c2t(v,r),v};function GH(e){return e===P4?0:e}});var pwe=ye((Hlr,vwe)=>{\"use strict\";var dwe=Gb().setGroupPositions;vwe.exports=function(t,r){var n=t._fullLayout,i=t._fullData,a=t.calcdata,o=r.xaxis,s=r.yaxis,l=[],u=[],c=[],f,h;for(h=0;h<i.length;h++){var d=i[h],v=d.orientation===\"h\";d.visible===!0&&d.xaxis===o._id&&d.yaxis===s._id&&d.type===\"funnel\"&&(f=a[h],v?c.push(f):u.push(f),l.push(f))}var x={mode:n.funnelmode,norm:n.funnelnorm,gap:n.funnelgap,groupgap:n.funnelgroupgap};for(dwe(t,o,s,u,x),dwe(t,s,o,c,x),h=0;h<l.length;h++){f=l[h];for(var b=0;b<f.length;b++)b+1<f.length&&(f[b].nextP0=f[b+1].p0,f[b].nextS0=f[b+1].s0,f[b].nextP1=f[b+1].p1,f[b].nextS1=f[b+1].s1)}}});var _we=ye((Glr,ywe)=>{\"use strict\";var R8=xa(),P_=Mr(),gwe=ao(),L_=es().BADNUM,f2t=i2(),h2t=_v().clearMinTextSize;ywe.exports=function(t,r,n,i){var a=t._fullLayout;h2t(\"funnel\",a),d2t(t,r,n,i),v2t(t,r,n,i),f2t.plot(t,r,n,i,{mode:a.funnelmode,norm:a.funnelmode,gap:a.funnelgap,groupgap:a.funnelgroupgap})};function d2t(e,t,r,n){var i=t.xaxis,a=t.yaxis;P_.makeTraceGroups(n,r,\"trace bars\").each(function(o){var s=R8.select(this),l=o[0].trace,u=P_.ensureSingle(s,\"g\",\"regions\");if(!l.connector||!l.connector.visible){u.remove();return}var c=l.orientation===\"h\",f=u.selectAll(\"g.region\").data(P_.identity);f.enter().append(\"g\").classed(\"region\",!0),f.exit().remove();var h=f.size();f.each(function(d,v){if(!(v!==h-1&&!d.cNext)){var x=mwe(d,i,a,c),b=x[0],p=x[1],E=\"\";b[0]!==L_&&p[0]!==L_&&b[1]!==L_&&p[1]!==L_&&b[2]!==L_&&p[2]!==L_&&b[3]!==L_&&p[3]!==L_&&(c?E+=\"M\"+b[0]+\",\"+p[1]+\"L\"+b[2]+\",\"+p[2]+\"H\"+b[3]+\"L\"+b[1]+\",\"+p[1]+\"Z\":E+=\"M\"+b[1]+\",\"+p[1]+\"L\"+b[2]+\",\"+p[3]+\"V\"+p[2]+\"L\"+b[1]+\",\"+p[0]+\"Z\"),E===\"\"&&(E=\"M0,0Z\"),P_.ensureSingle(R8.select(this),\"path\").attr(\"d\",E).call(gwe.setClipUrl,t.layerClipId,e)}})})}function v2t(e,t,r,n){var i=t.xaxis,a=t.yaxis;P_.makeTraceGroups(n,r,\"trace bars\").each(function(o){var s=R8.select(this),l=o[0].trace,u=P_.ensureSingle(s,\"g\",\"lines\");if(!l.connector||!l.connector.visible||!l.connector.line.width){u.remove();return}var c=l.orientation===\"h\",f=u.selectAll(\"g.line\").data(P_.identity);f.enter().append(\"g\").classed(\"line\",!0),f.exit().remove();var h=f.size();f.each(function(d,v){if(!(v!==h-1&&!d.cNext)){var x=mwe(d,i,a,c),b=x[0],p=x[1],E=\"\";b[3]!==void 0&&p[3]!==void 0&&(c?(E+=\"M\"+b[0]+\",\"+p[1]+\"L\"+b[2]+\",\"+p[2],E+=\"M\"+b[1]+\",\"+p[1]+\"L\"+b[3]+\",\"+p[2]):(E+=\"M\"+b[1]+\",\"+p[1]+\"L\"+b[2]+\",\"+p[3],E+=\"M\"+b[1]+\",\"+p[0]+\"L\"+b[2]+\",\"+p[2])),E===\"\"&&(E=\"M0,0Z\"),P_.ensureSingle(R8.select(this),\"path\").attr(\"d\",E).call(gwe.setClipUrl,t.layerClipId,e)}})})}function mwe(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),i[2]=o.c2p(e.nextS0,!0),a[2]=s.c2p(e.nextP0,!0),i[3]=o.c2p(e.nextS1,!0),a[3]=s.c2p(e.nextP1,!0),n?[i,a]:[a,i]}});var wwe=ye((jlr,bwe)=>{\"use strict\";var I4=xa(),xwe=ao(),jH=va(),p2t=U1().DESELECTDIM,g2t=N0(),m2t=_v().resizeText,y2t=g2t.styleTextPoints;function _2t(e,t,r){var n=r||I4.select(e).selectAll('g[class^=\"funnellayer\"]').selectAll(\"g.trace\");m2t(e,n,\"funnel\"),n.style(\"opacity\",function(i){return i[0].trace.opacity}),n.each(function(i){var a=I4.select(this),o=i[0].trace;a.selectAll(\".point > path\").each(function(s){if(!s.isBlank){var l=o.marker;I4.select(this).call(jH.fill,s.mc||l.color).call(jH.stroke,s.mlc||l.line.color).call(xwe.dashLine,l.line.dash,s.mlw||l.line.width).style(\"opacity\",o.selectedpoints&&!s.selected?p2t:1)}}),y2t(a,o,e),a.selectAll(\".regions\").each(function(){I4.select(this).selectAll(\"path\").style(\"stroke-width\",0).call(jH.fill,o.connector.fillcolor)}),a.selectAll(\".lines\").each(function(){var s=o.connector.line;xwe.lineGroupStyle(I4.select(this).selectAll(\"path\"),s.width,s.color,s.dash)})})}bwe.exports={style:_2t}});var Swe=ye((Wlr,Awe)=>{\"use strict\";var Twe=va().opacity,x2t=TT().hoverOnBars,WH=Mr().formatPercent;Awe.exports=function(t,r,n,i,a){var o=x2t(t,r,n,i,a);if(o){var s=o.cd,l=s[0].trace,u=l.orientation===\"h\",c=o.index,f=s[c],h=u?\"x\":\"y\";o[h+\"LabelVal\"]=f.s,o.percentInitial=f.begR,o.percentInitialLabel=WH(f.begR,1),o.percentPrevious=f.difR,o.percentPreviousLabel=WH(f.difR,1),o.percentTotal=f.sumR,o.percentTotalLabel=WH(f.sumR,1);var d=f.hi||l.hoverinfo,v=[];if(d&&d!==\"none\"&&d!==\"skip\"){var x=d===\"all\",b=d.split(\"+\"),p=function(E){return x||b.indexOf(E)!==-1};p(\"percent initial\")&&v.push(o.percentInitialLabel+\" of initial\"),p(\"percent previous\")&&v.push(o.percentPreviousLabel+\" of previous\"),p(\"percent total\")&&v.push(o.percentTotalLabel+\" of total\")}return o.extraText=v.join(\"<br>\"),o.color=b2t(l,f),[o]}};function b2t(e,t){var r=e.marker,n=t.mc||r.color,i=t.mlc||r.line.color,a=t.mlw||r.line.width;if(Twe(n))return n;if(Twe(i)&&a)return i}});var Ewe=ye((Zlr,Mwe)=>{\"use strict\";Mwe.exports=function(t,r){return t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,\"percentInitial\"in r&&(t.percentInitial=r.percentInitial),\"percentPrevious\"in r&&(t.percentPrevious=r.percentPrevious),\"percentTotal\"in r&&(t.percentTotal=r.percentTotal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var Cwe=ye((Xlr,kwe)=>{\"use strict\";kwe.exports={attributes:NH(),layoutAttributes:UH(),supplyDefaults:HH().supplyDefaults,crossTraceDefaults:HH().crossTraceDefaults,supplyLayoutDefaults:owe(),calc:hwe(),crossTraceCalc:pwe(),plot:_we(),style:wwe().style,hoverPoints:Swe(),eventData:Ewe(),selectPoints:AT(),moduleType:\"trace\",name:\"funnel\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}});var Pwe=ye((Ylr,Lwe)=>{\"use strict\";Lwe.exports=Cwe()});var Rwe=ye((Klr,Iwe)=>{\"use strict\";Iwe.exports={eventDataKeys:[\"initial\",\"delta\",\"final\"]}});var YH=ye((Jlr,Fwe)=>{\"use strict\";var Uu=Lm(),ZH=Uc().line,w2t=vl(),Dwe=Oc().axisHoverFormat,T2t=Wo().hovertemplateAttrs,A2t=Wo().texttemplateAttrs,zwe=Rwe(),VT=no().extendFlat,S2t=va();function XH(e){return{marker:{color:VT({},Uu.marker.color,{arrayOk:!1,editType:\"style\"}),line:{color:VT({},Uu.marker.line.color,{arrayOk:!1,editType:\"style\"}),width:VT({},Uu.marker.line.width,{arrayOk:!1,editType:\"style\"}),editType:\"style\"},editType:\"style\"},editType:\"style\"}}Fwe.exports={measure:{valType:\"data_array\",dflt:[],editType:\"calc\"},base:{valType:\"number\",dflt:null,arrayOk:!1,editType:\"calc\"},x:Uu.x,x0:Uu.x0,dx:Uu.dx,y:Uu.y,y0:Uu.y0,dy:Uu.dy,xperiod:Uu.xperiod,yperiod:Uu.yperiod,xperiod0:Uu.xperiod0,yperiod0:Uu.yperiod0,xperiodalignment:Uu.xperiodalignment,yperiodalignment:Uu.yperiodalignment,xhoverformat:Dwe(\"x\"),yhoverformat:Dwe(\"y\"),hovertext:Uu.hovertext,hovertemplate:T2t({},{keys:zwe.eventDataKeys}),hoverinfo:VT({},w2t.hoverinfo,{flags:[\"name\",\"x\",\"y\",\"text\",\"initial\",\"delta\",\"final\"]}),textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"initial\",\"delta\",\"final\"],extras:[\"none\"],editType:\"plot\",arrayOk:!1},texttemplate:A2t({editType:\"plot\"},{keys:zwe.eventDataKeys.concat([\"label\"])}),text:Uu.text,textposition:Uu.textposition,insidetextanchor:Uu.insidetextanchor,textangle:Uu.textangle,textfont:Uu.textfont,insidetextfont:Uu.insidetextfont,outsidetextfont:Uu.outsidetextfont,constraintext:Uu.constraintext,cliponaxis:Uu.cliponaxis,orientation:Uu.orientation,offset:Uu.offset,width:Uu.width,increasing:XH(\"increasing\"),decreasing:XH(\"decreasing\"),totals:XH(\"intermediate sums and total\"),connector:{line:{color:VT({},ZH.color,{dflt:S2t.defaultLine}),width:VT({},ZH.width,{editType:\"plot\"}),dash:ZH.dash,editType:\"plot\"},mode:{valType:\"enumerated\",values:[\"spanning\",\"between\"],dflt:\"between\",editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},offsetgroup:Uu.offsetgroup,alignmentgroup:Uu.alignmentgroup,zorder:Uu.zorder}});var KH=ye(($lr,qwe)=>{\"use strict\";qwe.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\"}}});var HT=ye((Qlr,Owe)=>{\"use strict\";Owe.exports={INCREASING:{COLOR:\"#3D9970\",SYMBOL:\"\\u25B2\"},DECREASING:{COLOR:\"#FF4136\",SYMBOL:\"\\u25BC\"}}});var $H=ye((eur,Vwe)=>{\"use strict\";var Bwe=Mr(),M2t=Hb(),E2t=r0().handleText,k2t=K3(),C2t=Pg(),Nwe=YH(),L2t=va(),Uwe=HT(),P2t=Uwe.INCREASING.COLOR,I2t=Uwe.DECREASING.COLOR,R2t=\"#4499FF\";function JH(e,t,r){e(t+\".marker.color\",r),e(t+\".marker.line.color\",L2t.defaultLine),e(t+\".marker.line.width\")}function D2t(e,t,r,n){function i(u,c){return Bwe.coerce(e,t,Nwe,u,c)}var a=k2t(e,t,n,i);if(!a){t.visible=!1;return}C2t(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\"),i(\"measure\"),i(\"orientation\",t.x&&!t.y?\"h\":\"v\"),i(\"base\"),i(\"offset\"),i(\"width\"),i(\"text\"),i(\"hovertext\"),i(\"hovertemplate\");var o=i(\"textposition\");E2t(e,t,n,i,o,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),t.textposition!==\"none\"&&(i(\"texttemplate\"),t.texttemplate||i(\"textinfo\")),JH(i,\"increasing\",P2t),JH(i,\"decreasing\",I2t),JH(i,\"totals\",R2t);var s=i(\"connector.visible\");if(s){i(\"connector.mode\");var l=i(\"connector.line.width\");l&&(i(\"connector.line.color\"),i(\"connector.line.dash\"))}i(\"zorder\")}function z2t(e,t){var r,n;function i(o){return Bwe.coerce(n._input,n,Nwe,o)}if(t.waterfallmode===\"group\")for(var a=0;a<e.length;a++)n=e[a],r=n._input,M2t(r,n,t,i,t.waterfallmode)}Vwe.exports={supplyDefaults:D2t,crossTraceDefaults:z2t}});var Gwe=ye((tur,Hwe)=>{\"use strict\";var F2t=Mr(),q2t=KH();Hwe.exports=function(e,t,r){var n=!1;function i(s,l){return F2t.coerce(e,t,q2t,s,l)}for(var a=0;a<r.length;a++){var o=r[a];if(o.visible&&o.type===\"waterfall\"){n=!0;break}}n&&(i(\"waterfallmode\"),i(\"waterfallgap\",.2),i(\"waterfallgroupgap\"))}});var Kwe=ye((rur,Ywe)=>{\"use strict\";var jwe=Qa(),Wwe=Rg(),Zwe=Mr().mergeArray,O2t=F0(),Xwe=es().BADNUM;function QH(e){return e===\"a\"||e===\"absolute\"}function eG(e){return e===\"t\"||e===\"total\"}Ywe.exports=function(t,r){var n=jwe.getFromId(t,r.xaxis||\"x\"),i=jwe.getFromId(t,r.yaxis||\"y\"),a,o,s,l,u,c;r.orientation===\"h\"?(a=n.makeCalcdata(r,\"x\"),s=i.makeCalcdata(r,\"y\"),l=Wwe(r,i,\"y\",s),u=!!r.yperiodalignment,c=\"y\"):(a=i.makeCalcdata(r,\"y\"),s=n.makeCalcdata(r,\"x\"),l=Wwe(r,n,\"x\",s),u=!!r.xperiodalignment,c=\"x\"),o=l.vals;for(var f=Math.min(o.length,a.length),h=new Array(f),d=0,v,x=!1,b=0;b<f;b++){var p=a[b]||0,E=!1;(a[b]!==Xwe||eG(r.measure[b])||QH(r.measure[b]))&&b+1<f&&(a[b+1]!==Xwe||eG(r.measure[b+1])||QH(r.measure[b+1]))&&(E=!0);var k=h[b]={i:b,p:o[b],s:p,rawS:p,cNext:E};QH(r.measure[b])?(d=k.s,k.isSum=!0,k.dir=\"totals\",k.s=d):eG(r.measure[b])?(k.isSum=!0,k.dir=\"totals\",k.s=d):(k.isSum=!1,k.dir=k.rawS<0?\"decreasing\":\"increasing\",v=k.s,k.s=d+v,d+=v),k.dir===\"totals\"&&(x=!0),u&&(h[b].orig_p=s[b],h[b][c+\"End\"]=l.ends[b],h[b][c+\"Start\"]=l.starts[b]),r.ids&&(k.id=String(r.ids[b])),k.v=(r.base||0)+d}return h.length&&(h[0].hasTotals=x),Zwe(r.text,h,\"tx\"),Zwe(r.hovertext,h,\"htx\"),O2t(h,r),h}});var Qwe=ye((iur,$we)=>{\"use strict\";var Jwe=Gb().setGroupPositions;$we.exports=function(t,r){var n=t._fullLayout,i=t._fullData,a=t.calcdata,o=r.xaxis,s=r.yaxis,l=[],u=[],c=[],f,h;for(h=0;h<i.length;h++){var d=i[h];d.visible===!0&&d.xaxis===o._id&&d.yaxis===s._id&&d.type===\"waterfall\"&&(f=a[h],d.orientation===\"h\"?c.push(f):u.push(f),l.push(f))}var v={mode:n.waterfallmode,norm:n.waterfallnorm,gap:n.waterfallgap,groupgap:n.waterfallgroupgap};for(Jwe(t,o,s,u,v),Jwe(t,s,o,c,v),h=0;h<l.length;h++){f=l[h];for(var x=0;x<f.length;x++){var b=f[x];b.isSum===!1&&(b.s0+=x===0?0:f[x-1].s),x+1<f.length&&(f[x].nextP0=f[x+1].p0,f[x].nextS0=f[x+1].s0)}}}});var r3e=ye((nur,t3e)=>{\"use strict\";var e3e=xa(),D8=Mr(),B2t=ao(),GT=es().BADNUM,N2t=i2(),U2t=_v().clearMinTextSize;t3e.exports=function(t,r,n,i){var a=t._fullLayout;U2t(\"waterfall\",a),N2t.plot(t,r,n,i,{mode:a.waterfallmode,norm:a.waterfallmode,gap:a.waterfallgap,groupgap:a.waterfallgroupgap}),V2t(t,r,n,i)};function V2t(e,t,r,n){var i=t.xaxis,a=t.yaxis;D8.makeTraceGroups(n,r,\"trace bars\").each(function(o){var s=e3e.select(this),l=o[0].trace,u=D8.ensureSingle(s,\"g\",\"lines\");if(!l.connector||!l.connector.visible){u.remove();return}var c=l.orientation===\"h\",f=l.connector.mode,h=u.selectAll(\"g.line\").data(D8.identity);h.enter().append(\"g\").classed(\"line\",!0),h.exit().remove();var d=h.size();h.each(function(v,x){if(!(x!==d-1&&!v.cNext)){var b=H2t(v,i,a,c),p=b[0],E=b[1],k=\"\";p[0]!==GT&&E[0]!==GT&&p[1]!==GT&&E[1]!==GT&&(f===\"spanning\"&&!v.isSum&&x>0&&(c?k+=\"M\"+p[0]+\",\"+E[1]+\"V\"+E[0]:k+=\"M\"+p[1]+\",\"+E[0]+\"H\"+p[0]),f!==\"between\"&&(v.isSum||x<d-1)&&(c?k+=\"M\"+p[1]+\",\"+E[0]+\"V\"+E[1]:k+=\"M\"+p[0]+\",\"+E[1]+\"H\"+p[1]),p[2]!==GT&&E[2]!==GT&&(c?k+=\"M\"+p[1]+\",\"+E[1]+\"V\"+E[2]:k+=\"M\"+p[1]+\",\"+E[1]+\"H\"+p[2])),k===\"\"&&(k=\"M0,0Z\"),D8.ensureSingle(e3e.select(this),\"path\").attr(\"d\",k).call(B2t.setClipUrl,t.layerClipId,e)}})})}function H2t(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),i[2]=o.c2p(e.nextS0,!0),a[2]=s.c2p(e.nextP0,!0),n?[i,a]:[a,i]}});var o3e=ye((aur,a3e)=>{\"use strict\";var z8=xa(),i3e=ao(),n3e=va(),G2t=U1().DESELECTDIM,j2t=N0(),W2t=_v().resizeText,Z2t=j2t.styleTextPoints;function X2t(e,t,r){var n=r||z8.select(e).selectAll('g[class^=\"waterfalllayer\"]').selectAll(\"g.trace\");W2t(e,n,\"waterfall\"),n.style(\"opacity\",function(i){return i[0].trace.opacity}),n.each(function(i){var a=z8.select(this),o=i[0].trace;a.selectAll(\".point > path\").each(function(s){if(!s.isBlank){var l=o[s.dir].marker;z8.select(this).call(n3e.fill,l.color).call(n3e.stroke,l.line.color).call(i3e.dashLine,l.line.dash,l.line.width).style(\"opacity\",o.selectedpoints&&!s.selected?G2t:1)}}),Z2t(a,o,e),a.selectAll(\".lines\").each(function(){var s=o.connector.line;i3e.lineGroupStyle(z8.select(this).selectAll(\"path\"),s.width,s.color,s.dash)})})}a3e.exports={style:X2t}});var f3e=ye((our,c3e)=>{\"use strict\";var Y2t=Qa().hoverLabelText,s3e=va().opacity,K2t=TT().hoverOnBars,l3e=HT(),u3e={increasing:l3e.INCREASING.SYMBOL,decreasing:l3e.DECREASING.SYMBOL};c3e.exports=function(t,r,n,i,a){var o=K2t(t,r,n,i,a);if(!o)return;var s=o.cd,l=s[0].trace,u=l.orientation===\"h\",c=u?\"x\":\"y\",f=u?t.xa:t.ya;function h(_){return Y2t(f,_,l[c+\"hoverformat\"])}var d=o.index,v=s[d],x=v.isSum?v.b+v.s:v.rawS;o.initial=v.b+v.s-x,o.delta=x,o.final=o.initial+o.delta;var b=h(Math.abs(o.delta));o.deltaLabel=x<0?\"(\"+b+\")\":b,o.finalLabel=h(o.final),o.initialLabel=h(o.initial);var p=v.hi||l.hoverinfo,E=[];if(p&&p!==\"none\"&&p!==\"skip\"){var k=p===\"all\",A=p.split(\"+\"),L=function(_){return k||A.indexOf(_)!==-1};v.isSum||(L(\"final\")&&(u?!L(\"x\"):!L(\"y\"))&&E.push(o.finalLabel),L(\"delta\")&&(x<0?E.push(o.deltaLabel+\" \"+u3e.decreasing):E.push(o.deltaLabel+\" \"+u3e.increasing)),L(\"initial\")&&E.push(\"Initial: \"+o.initialLabel))}return E.length&&(o.extraText=E.join(\"<br>\")),o.color=J2t(l,v),[o]};function J2t(e,t){var r=e[t.dir].marker,n=r.color,i=r.line.color,a=r.line.width;if(s3e(n))return n;if(s3e(i)&&a)return i}});var d3e=ye((sur,h3e)=>{\"use strict\";h3e.exports=function(t,r){return t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,\"initial\"in r&&(t.initial=r.initial),\"delta\"in r&&(t.delta=r.delta),\"final\"in r&&(t.final=r.final),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var p3e=ye((lur,v3e)=>{\"use strict\";v3e.exports={attributes:YH(),layoutAttributes:KH(),supplyDefaults:$H().supplyDefaults,crossTraceDefaults:$H().crossTraceDefaults,supplyLayoutDefaults:Gwe(),calc:Kwe(),crossTraceCalc:Qwe(),plot:r3e(),style:o3e().style,hoverPoints:f3e(),eventData:d3e(),selectPoints:AT(),moduleType:\"trace\",name:\"waterfall\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}});var m3e=ye((uur,g3e)=>{\"use strict\";g3e.exports=p3e()});var jT=ye((cur,y3e)=>{\"use strict\";y3e.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(e){return e.slice(0,3)},suffix:[\"\",\"\",\"\"]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.slice(0,4)},suffix:[\"\",\"\",\"\",\"\"]},rgba256:{colormodel:\"rgba\",zminDflt:[0,0,0,0],zmaxDflt:[255,255,255,255],min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.slice(0,4)},suffix:[\"\",\"\",\"\",\"\"]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(e){var t=e.slice(0,3);return t[1]=t[1]+\"%\",t[2]=t[2]+\"%\",t},suffix:[\"\\xB0\",\"%\",\"%\"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(e){var t=e.slice(0,4);return t[1]=t[1]+\"%\",t[2]=t[2]+\"%\",t},suffix:[\"\\xB0\",\"%\",\"%\",\"\"]}}}});var tG=ye((fur,x3e)=>{\"use strict\";var $2t=vl(),Q2t=Uc().zorder,ewt=Wo().hovertemplateAttrs,_3e=no().extendFlat,twt=jT().colormodel,D4=[\"rgb\",\"rgba\",\"rgba256\",\"hsl\",\"hsla\"],rwt=[],iwt=[];for(WT=0;WT<D4.length;WT++)R4=twt[D4[WT]],rwt.push(\"For the `\"+D4[WT]+\"` colormodel, it is [\"+(R4.zminDflt||R4.min).join(\", \")+\"].\"),iwt.push(\"For the `\"+D4[WT]+\"` colormodel, it is [\"+(R4.zmaxDflt||R4.max).join(\", \")+\"].\");var R4,WT;x3e.exports=_3e({source:{valType:\"string\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},colormodel:{valType:\"enumerated\",values:D4,editType:\"calc\"},zsmooth:{valType:\"enumerated\",values:[\"fast\",!1],dflt:!1,editType:\"plot\"},zmin:{valType:\"info_array\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},zmax:{valType:\"info_array\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},x0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},y0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dx:{valType:\"number\",dflt:1,editType:\"calc\"},dy:{valType:\"number\",dflt:1,editType:\"calc\"},text:{valType:\"data_array\",editType:\"plot\"},hovertext:{valType:\"data_array\",editType:\"plot\"},hoverinfo:_3e({},$2t.hoverinfo,{flags:[\"x\",\"y\",\"z\",\"color\",\"name\",\"text\"],dflt:\"x+y+z+text+name\"}),hovertemplate:ewt({},{keys:[\"z\",\"color\",\"colormodel\"]}),zorder:Q2t})});var T3e=ye((hur,w3e)=>{\"use strict\";var nwt=Mr(),awt=tG(),b3e=jT(),owt=Ly().IMAGE_URL_PREFIX;w3e.exports=function(t,r){function n(o,s){return nwt.coerce(t,r,awt,o,s)}n(\"source\"),r.source&&!r.source.match(owt)&&delete r.source,r._hasSource=!!r.source;var i=n(\"z\");if(r._hasZ=!(i===void 0||!i.length||!i[0]||!i[0].length),!r._hasZ&&!r._hasSource){r.visible=!1;return}n(\"x0\"),n(\"y0\"),n(\"dx\"),n(\"dy\");var a;r._hasZ?(n(\"colormodel\",\"rgb\"),a=b3e.colormodel[r.colormodel],n(\"zmin\",a.zminDflt||a.min),n(\"zmax\",a.zmaxDflt||a.max)):r._hasSource&&(r.colormodel=\"rgba256\",a=b3e.colormodel[r.colormodel],r.zmin=a.zminDflt,r.zmax=a.zmaxDflt),n(\"zsmooth\"),n(\"text\"),n(\"hovertext\"),n(\"hovertemplate\"),r._length=null,n(\"zorder\")}});var Uy=ye((dur,rG)=>{typeof Object.create==\"function\"?rG.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:rG.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}}});var iG=ye((vur,A3e)=>{A3e.exports=vb().EventEmitter});var E3e=ye(F8=>{\"use strict\";F8.byteLength=lwt;F8.toByteArray=cwt;F8.fromByteArray=dwt;var Fm=[],Z0=[],swt=typeof Uint8Array!=\"undefined\"?Uint8Array:Array,nG=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";for(s2=0,S3e=nG.length;s2<S3e;++s2)Fm[s2]=nG[s2],Z0[nG.charCodeAt(s2)]=s2;var s2,S3e;Z0[45]=62;Z0[95]=63;function M3e(e){var t=e.length;if(t%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=e.indexOf(\"=\");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function lwt(e){var t=M3e(e),r=t[0],n=t[1];return(r+n)*3/4-n}function uwt(e,t,r){return(t+r)*3/4-r}function cwt(e){var t,r=M3e(e),n=r[0],i=r[1],a=new swt(uwt(e,n,i)),o=0,s=i>0?n-4:n,l;for(l=0;l<s;l+=4)t=Z0[e.charCodeAt(l)]<<18|Z0[e.charCodeAt(l+1)]<<12|Z0[e.charCodeAt(l+2)]<<6|Z0[e.charCodeAt(l+3)],a[o++]=t>>16&255,a[o++]=t>>8&255,a[o++]=t&255;return i===2&&(t=Z0[e.charCodeAt(l)]<<2|Z0[e.charCodeAt(l+1)]>>4,a[o++]=t&255),i===1&&(t=Z0[e.charCodeAt(l)]<<10|Z0[e.charCodeAt(l+1)]<<4|Z0[e.charCodeAt(l+2)]>>2,a[o++]=t>>8&255,a[o++]=t&255),a}function fwt(e){return Fm[e>>18&63]+Fm[e>>12&63]+Fm[e>>6&63]+Fm[e&63]}function hwt(e,t,r){for(var n,i=[],a=t;a<r;a+=3)n=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(e[a+2]&255),i.push(fwt(n));return i.join(\"\")}function dwt(e){for(var t,r=e.length,n=r%3,i=[],a=16383,o=0,s=r-n;o<s;o+=a)i.push(hwt(e,o,o+a>s?s:o+a));return n===1?(t=e[r-1],i.push(Fm[t>>2]+Fm[t<<4&63]+\"==\")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(Fm[t>>10]+Fm[t>>4&63]+Fm[t<<2&63]+\"=\")),i.join(\"\")}});var k3e=ye(aG=>{aG.read=function(e,t,r,n,i){var a,o,s=i*8-n-1,l=(1<<s)-1,u=l>>1,c=-7,f=r?i-1:0,h=r?-1:1,d=e[t+f];for(f+=h,a=d&(1<<-c)-1,d>>=-c,c+=s;c>0;a=a*256+e[t+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=o*256+e[t+f],f+=h,c-=8);if(a===0)a=1-u;else{if(a===l)return o?NaN:(d?-1:1)*(1/0);o=o+Math.pow(2,n),a=a-u}return(d?-1:1)*o*Math.pow(2,a-n)};aG.write=function(e,t,r,n,i,a){var o,s,l,u=a*8-i-1,c=(1<<u)-1,f=c>>1,h=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:a-1,v=n?1:-1,x=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+f>=1?t+=h/l:t+=h*Math.pow(2,1-f),t*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(t*l-1)*Math.pow(2,i),o=o+f):(s=t*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;e[r+d]=s&255,d+=v,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;e[r+d]=o&255,d+=v,o/=256,u-=8);e[r+d-v]|=x*128}});var u2=ye(KT=>{\"use strict\";var oG=E3e(),XT=k3e(),C3e=typeof Symbol==\"function\"&&typeof Symbol.for==\"function\"?Symbol.for(\"nodejs.util.inspect.custom\"):null;KT.Buffer=In;KT.SlowBuffer=_wt;KT.INSPECT_MAX_BYTES=50;var q8=2147483647;KT.kMaxLength=q8;In.TYPED_ARRAY_SUPPORT=vwt();!In.TYPED_ARRAY_SUPPORT&&typeof console!=\"undefined\"&&typeof console.error==\"function\"&&console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\");function vwt(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch(e){return!1}}Object.defineProperty(In.prototype,\"parent\",{enumerable:!0,get:function(){if(In.isBuffer(this))return this.buffer}});Object.defineProperty(In.prototype,\"offset\",{enumerable:!0,get:function(){if(In.isBuffer(this))return this.byteOffset}});function Vy(e){if(e>q8)throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,In.prototype),t}function In(e,t,r){if(typeof e==\"number\"){if(typeof t==\"string\")throw new TypeError('The \"string\" argument must be of type string. Received type number');return cG(e)}return R3e(e,t,r)}In.poolSize=8192;function R3e(e,t,r){if(typeof e==\"string\")return gwt(e,t);if(ArrayBuffer.isView(e))return mwt(e);if(e==null)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof e);if(qm(e,ArrayBuffer)||e&&qm(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer!=\"undefined\"&&(qm(e,SharedArrayBuffer)||e&&qm(e.buffer,SharedArrayBuffer)))return lG(e,t,r);if(typeof e==\"number\")throw new TypeError('The \"value\" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return In.from(n,t,r);let i=ywt(e);if(i)return i;if(typeof Symbol!=\"undefined\"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]==\"function\")return In.from(e[Symbol.toPrimitive](\"string\"),t,r);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof e)}In.from=function(e,t,r){return R3e(e,t,r)};Object.setPrototypeOf(In.prototype,Uint8Array.prototype);Object.setPrototypeOf(In,Uint8Array);function D3e(e){if(typeof e!=\"number\")throw new TypeError('\"size\" argument must be of type number');if(e<0)throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"')}function pwt(e,t,r){return D3e(e),e<=0?Vy(e):t!==void 0?typeof r==\"string\"?Vy(e).fill(t,r):Vy(e).fill(t):Vy(e)}In.alloc=function(e,t,r){return pwt(e,t,r)};function cG(e){return D3e(e),Vy(e<0?0:fG(e)|0)}In.allocUnsafe=function(e){return cG(e)};In.allocUnsafeSlow=function(e){return cG(e)};function gwt(e,t){if((typeof t!=\"string\"||t===\"\")&&(t=\"utf8\"),!In.isEncoding(t))throw new TypeError(\"Unknown encoding: \"+t);let r=z3e(e,t)|0,n=Vy(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function sG(e){let t=e.length<0?0:fG(e.length)|0,r=Vy(t);for(let n=0;n<t;n+=1)r[n]=e[n]&255;return r}function mwt(e){if(qm(e,Uint8Array)){let t=new Uint8Array(e);return lG(t.buffer,t.byteOffset,t.byteLength)}return sG(e)}function lG(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('\"offset\" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('\"length\" is outside of buffer bounds');let n;return t===void 0&&r===void 0?n=new Uint8Array(e):r===void 0?n=new Uint8Array(e,t):n=new Uint8Array(e,t,r),Object.setPrototypeOf(n,In.prototype),n}function ywt(e){if(In.isBuffer(e)){let t=fG(e.length)|0,r=Vy(t);return r.length===0||e.copy(r,0,0,t),r}if(e.length!==void 0)return typeof e.length!=\"number\"||dG(e.length)?Vy(0):sG(e);if(e.type===\"Buffer\"&&Array.isArray(e.data))return sG(e.data)}function fG(e){if(e>=q8)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+q8.toString(16)+\" bytes\");return e|0}function _wt(e){return+e!=e&&(e=0),In.alloc(+e)}In.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==In.prototype};In.compare=function(t,r){if(qm(t,Uint8Array)&&(t=In.from(t,t.offset,t.byteLength)),qm(r,Uint8Array)&&(r=In.from(r,r.offset,r.byteLength)),!In.isBuffer(t)||!In.isBuffer(r))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let n=t.length,i=r.length;for(let a=0,o=Math.min(n,i);a<o;++a)if(t[a]!==r[a]){n=t[a],i=r[a];break}return n<i?-1:i<n?1:0};In.isEncoding=function(t){switch(String(t).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}};In.concat=function(t,r){if(!Array.isArray(t))throw new TypeError('\"list\" argument must be an Array of Buffers');if(t.length===0)return In.alloc(0);let n;if(r===void 0)for(r=0,n=0;n<t.length;++n)r+=t[n].length;let i=In.allocUnsafe(r),a=0;for(n=0;n<t.length;++n){let o=t[n];if(qm(o,Uint8Array))a+o.length>i.length?(In.isBuffer(o)||(o=In.from(o)),o.copy(i,a)):Uint8Array.prototype.set.call(i,o,a);else if(In.isBuffer(o))o.copy(i,a);else throw new TypeError('\"list\" argument must be an Array of Buffers');a+=o.length}return i};function z3e(e,t){if(In.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||qm(e,ArrayBuffer))return e.byteLength;if(typeof e!=\"string\")throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return uG(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return r*2;case\"hex\":return r>>>1;case\"base64\":return G3e(e).length;default:if(i)return n?-1:uG(e).length;t=(\"\"+t).toLowerCase(),i=!0}}In.byteLength=z3e;function xwt(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return Lwt(this,t,r);case\"utf8\":case\"utf-8\":return q3e(this,t,r);case\"ascii\":return kwt(this,t,r);case\"latin1\":case\"binary\":return Cwt(this,t,r);case\"base64\":return Mwt(this,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Pwt(this,t,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),n=!0}}In.prototype._isBuffer=!0;function l2(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}In.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(let r=0;r<t;r+=2)l2(this,r,r+1);return this};In.prototype.swap32=function(){let t=this.length;if(t%4!==0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(let r=0;r<t;r+=4)l2(this,r,r+3),l2(this,r+1,r+2);return this};In.prototype.swap64=function(){let t=this.length;if(t%8!==0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(let r=0;r<t;r+=8)l2(this,r,r+7),l2(this,r+1,r+6),l2(this,r+2,r+5),l2(this,r+3,r+4);return this};In.prototype.toString=function(){let t=this.length;return t===0?\"\":arguments.length===0?q3e(this,0,t):xwt.apply(this,arguments)};In.prototype.toLocaleString=In.prototype.toString;In.prototype.equals=function(t){if(!In.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");return this===t?!0:In.compare(this,t)===0};In.prototype.inspect=function(){let t=\"\",r=KT.INSPECT_MAX_BYTES;return t=this.toString(\"hex\",0,r).replace(/(.{2})/g,\"$1 \").trim(),this.length>r&&(t+=\" ... \"),\"<Buffer \"+t+\">\"};C3e&&(In.prototype[C3e]=In.prototype.inspect);In.prototype.compare=function(t,r,n,i,a){if(qm(t,Uint8Array)&&(t=In.from(t,t.offset,t.byteLength)),!In.isBuffer(t))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),a===void 0&&(a=this.length),r<0||n>t.length||i<0||a>this.length)throw new RangeError(\"out of range index\");if(i>=a&&r>=n)return 0;if(i>=a)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,a>>>=0,this===t)return 0;let o=a-i,s=n-r,l=Math.min(o,s),u=this.slice(i,a),c=t.slice(r,n);for(let f=0;f<l;++f)if(u[f]!==c[f]){o=u[f],s=c[f];break}return o<s?-1:s<o?1:0};function F3e(e,t,r,n,i){if(e.length===0)return-1;if(typeof r==\"string\"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,dG(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t==\"string\"&&(t=In.from(t,n)),In.isBuffer(t))return t.length===0?-1:L3e(e,t,r,n,i);if(typeof t==\"number\")return t=t&255,typeof Uint8Array.prototype.indexOf==\"function\"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):L3e(e,[t],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function L3e(e,t,r,n,i){let a=1,o=e.length,s=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n===\"ucs2\"||n===\"ucs-2\"||n===\"utf16le\"||n===\"utf-16le\")){if(e.length<2||t.length<2)return-1;a=2,o/=2,s/=2,r/=2}function l(c,f){return a===1?c[f]:c.readUInt16BE(f*a)}let u;if(i){let c=-1;for(u=r;u<o;u++)if(l(e,u)===l(t,c===-1?0:u-c)){if(c===-1&&(c=u),u-c+1===s)return c*a}else c!==-1&&(u-=u-c),c=-1}else for(r+s>o&&(r=o-s),u=r;u>=0;u--){let c=!0;for(let f=0;f<s;f++)if(l(e,u+f)!==l(t,f)){c=!1;break}if(c)return u}return-1}In.prototype.includes=function(t,r,n){return this.indexOf(t,r,n)!==-1};In.prototype.indexOf=function(t,r,n){return F3e(this,t,r,n,!0)};In.prototype.lastIndexOf=function(t,r,n){return F3e(this,t,r,n,!1)};function bwt(e,t,r,n){r=Number(r)||0;let i=e.length-r;n?(n=Number(n),n>i&&(n=i)):n=i;let a=t.length;n>a/2&&(n=a/2);let o;for(o=0;o<n;++o){let s=parseInt(t.substr(o*2,2),16);if(dG(s))return o;e[r+o]=s}return o}function wwt(e,t,r,n){return O8(uG(t,e.length-r),e,r,n)}function Twt(e,t,r,n){return O8(zwt(t),e,r,n)}function Awt(e,t,r,n){return O8(G3e(t),e,r,n)}function Swt(e,t,r,n){return O8(Fwt(t,e.length-r),e,r,n)}In.prototype.write=function(t,r,n,i){if(r===void 0)i=\"utf8\",n=this.length,r=0;else if(n===void 0&&typeof r==\"string\")i=r,n=this.length,r=0;else if(isFinite(r))r=r>>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i=\"utf8\")):(i=n,n=void 0);else throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");let a=this.length-r;if((n===void 0||n>a)&&(n=a),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");i||(i=\"utf8\");let o=!1;for(;;)switch(i){case\"hex\":return bwt(this,t,r,n);case\"utf8\":case\"utf-8\":return wwt(this,t,r,n);case\"ascii\":case\"latin1\":case\"binary\":return Twt(this,t,r,n);case\"base64\":return Awt(this,t,r,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Swt(this,t,r,n);default:if(o)throw new TypeError(\"Unknown encoding: \"+i);i=(\"\"+i).toLowerCase(),o=!0}};In.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function Mwt(e,t,r){return t===0&&r===e.length?oG.fromByteArray(e):oG.fromByteArray(e.slice(t,r))}function q3e(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i<r;){let a=e[i],o=null,s=a>239?4:a>223?3:a>191?2:1;if(i+s<=r){let l,u,c,f;switch(s){case 1:a<128&&(o=a);break;case 2:l=e[i+1],(l&192)===128&&(f=(a&31)<<6|l&63,f>127&&(o=f));break;case 3:l=e[i+1],u=e[i+2],(l&192)===128&&(u&192)===128&&(f=(a&15)<<12|(l&63)<<6|u&63,f>2047&&(f<55296||f>57343)&&(o=f));break;case 4:l=e[i+1],u=e[i+2],c=e[i+3],(l&192)===128&&(u&192)===128&&(c&192)===128&&(f=(a&15)<<18|(l&63)<<12|(u&63)<<6|c&63,f>65535&&f<1114112&&(o=f))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=s}return Ewt(n)}var P3e=4096;function Ewt(e){let t=e.length;if(t<=P3e)return String.fromCharCode.apply(String,e);let r=\"\",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=P3e));return r}function kwt(e,t,r){let n=\"\";r=Math.min(e.length,r);for(let i=t;i<r;++i)n+=String.fromCharCode(e[i]&127);return n}function Cwt(e,t,r){let n=\"\";r=Math.min(e.length,r);for(let i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function Lwt(e,t,r){let n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);let i=\"\";for(let a=t;a<r;++a)i+=qwt[e[a]];return i}function Pwt(e,t,r){let n=e.slice(t,r),i=\"\";for(let a=0;a<n.length-1;a+=2)i+=String.fromCharCode(n[a]+n[a+1]*256);return i}In.prototype.slice=function(t,r){let n=this.length;t=~~t,r=r===void 0?n:~~r,t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),r<t&&(r=t);let i=this.subarray(t,r);return Object.setPrototypeOf(i,In.prototype),i};function $d(e,t,r){if(e%1!==0||e<0)throw new RangeError(\"offset is not uint\");if(e+t>r)throw new RangeError(\"Trying to access beyond buffer length\")}In.prototype.readUintLE=In.prototype.readUIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=this[t],a=1,o=0;for(;++o<r&&(a*=256);)i+=this[t+o]*a;return i};In.prototype.readUintBE=In.prototype.readUIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=this[t+--r],a=1;for(;r>0&&(a*=256);)i+=this[t+--r]*a;return i};In.prototype.readUint8=In.prototype.readUInt8=function(t,r){return t=t>>>0,r||$d(t,1,this.length),this[t]};In.prototype.readUint16LE=In.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||$d(t,2,this.length),this[t]|this[t+1]<<8};In.prototype.readUint16BE=In.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||$d(t,2,this.length),this[t]<<8|this[t+1]};In.prototype.readUint32LE=In.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};In.prototype.readUint32BE=In.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};In.prototype.readBigUInt64LE=I_(function(t){t=t>>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,a=this[++t]+this[++t]*2**8+this[++t]*2**16+n*2**24;return BigInt(i)+(BigInt(a)<<BigInt(32))});In.prototype.readBigUInt64BE=I_(function(t){t=t>>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],a=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n;return(BigInt(i)<<BigInt(32))+BigInt(a)});In.prototype.readIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=this[t],a=1,o=0;for(;++o<r&&(a*=256);)i+=this[t+o]*a;return a*=128,i>=a&&(i-=Math.pow(2,8*r)),i};In.prototype.readIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=r,a=1,o=this[t+--i];for(;i>0&&(a*=256);)o+=this[t+--i]*a;return a*=128,o>=a&&(o-=Math.pow(2,8*r)),o};In.prototype.readInt8=function(t,r){return t=t>>>0,r||$d(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};In.prototype.readInt16LE=function(t,r){t=t>>>0,r||$d(t,2,this.length);let n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};In.prototype.readInt16BE=function(t,r){t=t>>>0,r||$d(t,2,this.length);let n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};In.prototype.readInt32LE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};In.prototype.readInt32BE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};In.prototype.readBigInt64LE=I_(function(t){t=t>>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(n<<24);return(BigInt(i)<<BigInt(32))+BigInt(r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24)});In.prototype.readBigInt64BE=I_(function(t){t=t>>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(i)<<BigInt(32))+BigInt(this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n)});In.prototype.readFloatLE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),XT.read(this,t,!0,23,4)};In.prototype.readFloatBE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),XT.read(this,t,!1,23,4)};In.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||$d(t,8,this.length),XT.read(this,t,!0,52,8)};In.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||$d(t,8,this.length),XT.read(this,t,!1,52,8)};function Rp(e,t,r,n,i,a){if(!In.isBuffer(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>i||t<a)throw new RangeError('\"value\" argument is out of bounds');if(r+n>e.length)throw new RangeError(\"Index out of range\")}In.prototype.writeUintLE=In.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let s=Math.pow(2,8*n)-1;Rp(this,t,r,n,s,0)}let a=1,o=0;for(this[r]=t&255;++o<n&&(a*=256);)this[r+o]=t/a&255;return r+n};In.prototype.writeUintBE=In.prototype.writeUIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let s=Math.pow(2,8*n)-1;Rp(this,t,r,n,s,0)}let a=n-1,o=1;for(this[r+a]=t&255;--a>=0&&(o*=256);)this[r+a]=t/o&255;return r+n};In.prototype.writeUint8=In.prototype.writeUInt8=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,1,255,0),this[r]=t&255,r+1};In.prototype.writeUint16LE=In.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2};In.prototype.writeUint16BE=In.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2};In.prototype.writeUint32LE=In.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4};In.prototype.writeUint32BE=In.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function O3e(e,t,r,n,i){H3e(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,r}function B3e(e,t,r,n,i){H3e(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r+7]=a,a=a>>8,e[r+6]=a,a=a>>8,e[r+5]=a,a=a>>8,e[r+4]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=o,o=o>>8,e[r+2]=o,o=o>>8,e[r+1]=o,o=o>>8,e[r]=o,r+8}In.prototype.writeBigUInt64LE=I_(function(t,r=0){return O3e(this,t,r,BigInt(0),BigInt(\"0xffffffffffffffff\"))});In.prototype.writeBigUInt64BE=I_(function(t,r=0){return B3e(this,t,r,BigInt(0),BigInt(\"0xffffffffffffffff\"))});In.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);Rp(this,t,r,n,l-1,-l)}let a=0,o=1,s=0;for(this[r]=t&255;++a<n&&(o*=256);)t<0&&s===0&&this[r+a-1]!==0&&(s=1),this[r+a]=(t/o>>0)-s&255;return r+n};In.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);Rp(this,t,r,n,l-1,-l)}let a=n-1,o=1,s=0;for(this[r+a]=t&255;--a>=0&&(o*=256);)t<0&&s===0&&this[r+a+1]!==0&&(s=1),this[r+a]=(t/o>>0)-s&255;return r+n};In.prototype.writeInt8=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1};In.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2};In.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2};In.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4};In.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};In.prototype.writeBigInt64LE=I_(function(t,r=0){return O3e(this,t,r,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});In.prototype.writeBigInt64BE=I_(function(t,r=0){return B3e(this,t,r,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});function N3e(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function U3e(e,t,r,n,i){return t=+t,r=r>>>0,i||N3e(e,t,r,4,34028234663852886e22,-34028234663852886e22),XT.write(e,t,r,n,23,4),r+4}In.prototype.writeFloatLE=function(t,r,n){return U3e(this,t,r,!0,n)};In.prototype.writeFloatBE=function(t,r,n){return U3e(this,t,r,!1,n)};function V3e(e,t,r,n,i){return t=+t,r=r>>>0,i||N3e(e,t,r,8,17976931348623157e292,-17976931348623157e292),XT.write(e,t,r,n,52,8),r+8}In.prototype.writeDoubleLE=function(t,r,n){return V3e(this,t,r,!0,n)};In.prototype.writeDoubleBE=function(t,r,n){return V3e(this,t,r,!1,n)};In.prototype.copy=function(t,r,n,i){if(!In.isBuffer(t))throw new TypeError(\"argument should be a Buffer\");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i<n&&(i=n),i===n||t.length===0||this.length===0)return 0;if(r<0)throw new RangeError(\"targetStart out of bounds\");if(n<0||n>=this.length)throw new RangeError(\"Index out of range\");if(i<0)throw new RangeError(\"sourceEnd out of bounds\");i>this.length&&(i=this.length),t.length-r<i-n&&(i=t.length-r+n);let a=i-n;return this===t&&typeof Uint8Array.prototype.copyWithin==\"function\"?this.copyWithin(r,n,i):Uint8Array.prototype.set.call(t,this.subarray(n,i),r),a};In.prototype.fill=function(t,r,n,i){if(typeof t==\"string\"){if(typeof r==\"string\"?(i=r,r=0,n=this.length):typeof n==\"string\"&&(i=n,n=this.length),i!==void 0&&typeof i!=\"string\")throw new TypeError(\"encoding must be a string\");if(typeof i==\"string\"&&!In.isEncoding(i))throw new TypeError(\"Unknown encoding: \"+i);if(t.length===1){let o=t.charCodeAt(0);(i===\"utf8\"&&o<128||i===\"latin1\")&&(t=o)}}else typeof t==\"number\"?t=t&255:typeof t==\"boolean\"&&(t=Number(t));if(r<0||this.length<r||this.length<n)throw new RangeError(\"Out of range index\");if(n<=r)return this;r=r>>>0,n=n===void 0?this.length:n>>>0,t||(t=0);let a;if(typeof t==\"number\")for(a=r;a<n;++a)this[a]=t;else{let o=In.isBuffer(t)?t:In.from(t,i),s=o.length;if(s===0)throw new TypeError('The value \"'+t+'\" is invalid for argument \"value\"');for(a=0;a<n-r;++a)this[a+r]=o[a%s]}return this};var ZT={};function hG(e,t,r){ZT[e]=class extends r{constructor(){super(),Object.defineProperty(this,\"message\",{value:t.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${e}]`,this.stack,delete this.name}get code(){return e}set code(i){Object.defineProperty(this,\"code\",{configurable:!0,enumerable:!0,value:i,writable:!0})}toString(){return`${this.name} [${e}]: ${this.message}`}}}hG(\"ERR_BUFFER_OUT_OF_BOUNDS\",function(e){return e?`${e} is outside of buffer bounds`:\"Attempt to access memory outside buffer bounds\"},RangeError);hG(\"ERR_INVALID_ARG_TYPE\",function(e,t){return`The \"${e}\" argument must be of type number. Received type ${typeof t}`},TypeError);hG(\"ERR_OUT_OF_RANGE\",function(e,t,r){let n=`The value of \"${e}\" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=I3e(String(r)):typeof r==\"bigint\"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=I3e(i)),i+=\"n\"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function I3e(e){let t=\"\",r=e.length,n=e[0]===\"-\"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function Iwt(e,t,r){YT(t,\"offset\"),(e[t]===void 0||e[t+r]===void 0)&&z4(t,e.length-(r+1))}function H3e(e,t,r,n,i,a){if(e>r||e<t){let o=typeof t==\"bigint\"?\"n\":\"\",s;throw a>3?t===0||t===BigInt(0)?s=`>= 0${o} and < 2${o} ** ${(a+1)*8}${o}`:s=`>= -(2${o} ** ${(a+1)*8-1}${o}) and < 2 ** ${(a+1)*8-1}${o}`:s=`>= ${t}${o} and <= ${r}${o}`,new ZT.ERR_OUT_OF_RANGE(\"value\",s,e)}Iwt(n,i,a)}function YT(e,t){if(typeof e!=\"number\")throw new ZT.ERR_INVALID_ARG_TYPE(t,\"number\",e)}function z4(e,t,r){throw Math.floor(e)!==e?(YT(e,r),new ZT.ERR_OUT_OF_RANGE(r||\"offset\",\"an integer\",e)):t<0?new ZT.ERR_BUFFER_OUT_OF_BOUNDS:new ZT.ERR_OUT_OF_RANGE(r||\"offset\",`>= ${r?1:0} and <= ${t}`,e)}var Rwt=/[^+/0-9A-Za-z-_]/g;function Dwt(e){if(e=e.split(\"=\")[0],e=e.trim().replace(Rwt,\"\"),e.length<2)return\"\";for(;e.length%4!==0;)e=e+\"=\";return e}function uG(e,t){t=t||1/0;let r,n=e.length,i=null,a=[];for(let o=0;o<n;++o){if(r=e.charCodeAt(o),r>55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error(\"Invalid code point\")}return a}function zwt(e){let t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r)&255);return t}function Fwt(e,t){let r,n,i,a=[];for(let o=0;o<e.length&&!((t-=2)<0);++o)r=e.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}function G3e(e){return oG.toByteArray(Dwt(e))}function O8(e,t,r,n){let i;for(i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function qm(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function dG(e){return e!==e}var qwt=function(){let e=\"0123456789abcdef\",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function I_(e){return typeof BigInt==\"undefined\"?Owt:e}function Owt(){throw new Error(\"BigInt not supported\")}});var B8=ye((_ur,j3e)=>{\"use strict\";j3e.exports=function(){if(typeof Symbol!=\"function\"||typeof Object.getOwnPropertySymbols!=\"function\")return!1;if(typeof Symbol.iterator==\"symbol\")return!0;var t={},r=Symbol(\"test\"),n=Object(r);if(typeof r==\"string\"||Object.prototype.toString.call(r)!==\"[object Symbol]\"||Object.prototype.toString.call(n)!==\"[object Symbol]\")return!1;var i=42;t[r]=i;for(r in t)return!1;if(typeof Object.keys==\"function\"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames==\"function\"&&Object.getOwnPropertyNames(t).length!==0)return!1;var a=Object.getOwnPropertySymbols(t);if(a.length!==1||a[0]!==r||!Object.prototype.propertyIsEnumerable.call(t,r))return!1;if(typeof Object.getOwnPropertyDescriptor==\"function\"){var o=Object.getOwnPropertyDescriptor(t,r);if(o.value!==i||o.enumerable!==!0)return!1}return!0}});var F4=ye((xur,W3e)=>{\"use strict\";var Bwt=B8();W3e.exports=function(){return Bwt()&&!!Symbol.toStringTag}});var X3e=ye((bur,Z3e)=>{\"use strict\";Z3e.exports=Error});var K3e=ye((wur,Y3e)=>{\"use strict\";Y3e.exports=EvalError});var $3e=ye((Tur,J3e)=>{\"use strict\";J3e.exports=RangeError});var eTe=ye((Aur,Q3e)=>{\"use strict\";Q3e.exports=ReferenceError});var vG=ye((Sur,tTe)=>{\"use strict\";tTe.exports=SyntaxError});var q4=ye((Mur,rTe)=>{\"use strict\";rTe.exports=TypeError});var nTe=ye((Eur,iTe)=>{\"use strict\";iTe.exports=URIError});var sTe=ye((kur,oTe)=>{\"use strict\";var aTe=typeof Symbol!=\"undefined\"&&Symbol,Nwt=B8();oTe.exports=function(){return typeof aTe!=\"function\"||typeof Symbol!=\"function\"||typeof aTe(\"foo\")!=\"symbol\"||typeof Symbol(\"bar\")!=\"symbol\"?!1:Nwt()}});var cTe=ye((Cur,uTe)=>{\"use strict\";var lTe={foo:{}},Uwt=Object;uTe.exports=function(){return{__proto__:lTe}.foo===lTe.foo&&!({__proto__:null}instanceof Uwt)}});var dTe=ye((Lur,hTe)=>{\"use strict\";var Vwt=\"Function.prototype.bind called on incompatible \",Hwt=Object.prototype.toString,Gwt=Math.max,jwt=\"[object Function]\",fTe=function(t,r){for(var n=[],i=0;i<t.length;i+=1)n[i]=t[i];for(var a=0;a<r.length;a+=1)n[a+t.length]=r[a];return n},Wwt=function(t,r){for(var n=[],i=r||0,a=0;i<t.length;i+=1,a+=1)n[a]=t[i];return n},Zwt=function(e,t){for(var r=\"\",n=0;n<e.length;n+=1)r+=e[n],n+1<e.length&&(r+=t);return r};hTe.exports=function(t){var r=this;if(typeof r!=\"function\"||Hwt.apply(r)!==jwt)throw new TypeError(Vwt+r);for(var n=Wwt(arguments,1),i,a=function(){if(this instanceof i){var c=r.apply(this,fTe(n,arguments));return Object(c)===c?c:this}return r.apply(t,fTe(n,arguments))},o=Gwt(0,r.length-n.length),s=[],l=0;l<o;l++)s[l]=\"$\"+l;if(i=Function(\"binder\",\"return function (\"+Zwt(s,\",\")+\"){ return binder.apply(this,arguments); }\")(a),r.prototype){var u=function(){};u.prototype=r.prototype,i.prototype=new u,u.prototype=null}return i}});var N8=ye((Pur,vTe)=>{\"use strict\";var Xwt=dTe();vTe.exports=Function.prototype.bind||Xwt});var gTe=ye((Iur,pTe)=>{\"use strict\";var Ywt=Function.prototype.call,Kwt=Object.prototype.hasOwnProperty,Jwt=N8();pTe.exports=Jwt.call(Ywt,Kwt)});var t5=ye((Rur,bTe)=>{\"use strict\";var jl,$wt=X3e(),Qwt=K3e(),e3t=$3e(),t3t=eTe(),e5=vG(),QT=q4(),r3t=nTe(),xTe=Function,pG=function(e){try{return xTe('\"use strict\"; return ('+e+\").constructor;\")()}catch(t){}},c2=Object.getOwnPropertyDescriptor;if(c2)try{c2({},\"\")}catch(e){c2=null}var gG=function(){throw new QT},i3t=c2?function(){try{return arguments.callee,gG}catch(e){try{return c2(arguments,\"callee\").get}catch(t){return gG}}}():gG,JT=sTe()(),n3t=cTe()(),Qd=Object.getPrototypeOf||(n3t?function(e){return e.__proto__}:null),$T={},a3t=typeof Uint8Array==\"undefined\"||!Qd?jl:Qd(Uint8Array),f2={__proto__:null,\"%AggregateError%\":typeof AggregateError==\"undefined\"?jl:AggregateError,\"%Array%\":Array,\"%ArrayBuffer%\":typeof ArrayBuffer==\"undefined\"?jl:ArrayBuffer,\"%ArrayIteratorPrototype%\":JT&&Qd?Qd([][Symbol.iterator]()):jl,\"%AsyncFromSyncIteratorPrototype%\":jl,\"%AsyncFunction%\":$T,\"%AsyncGenerator%\":$T,\"%AsyncGeneratorFunction%\":$T,\"%AsyncIteratorPrototype%\":$T,\"%Atomics%\":typeof Atomics==\"undefined\"?jl:Atomics,\"%BigInt%\":typeof BigInt==\"undefined\"?jl:BigInt,\"%BigInt64Array%\":typeof BigInt64Array==\"undefined\"?jl:BigInt64Array,\"%BigUint64Array%\":typeof BigUint64Array==\"undefined\"?jl:BigUint64Array,\"%Boolean%\":Boolean,\"%DataView%\":typeof DataView==\"undefined\"?jl:DataView,\"%Date%\":Date,\"%decodeURI%\":decodeURI,\"%decodeURIComponent%\":decodeURIComponent,\"%encodeURI%\":encodeURI,\"%encodeURIComponent%\":encodeURIComponent,\"%Error%\":$wt,\"%eval%\":eval,\"%EvalError%\":Qwt,\"%Float32Array%\":typeof Float32Array==\"undefined\"?jl:Float32Array,\"%Float64Array%\":typeof Float64Array==\"undefined\"?jl:Float64Array,\"%FinalizationRegistry%\":typeof FinalizationRegistry==\"undefined\"?jl:FinalizationRegistry,\"%Function%\":xTe,\"%GeneratorFunction%\":$T,\"%Int8Array%\":typeof Int8Array==\"undefined\"?jl:Int8Array,\"%Int16Array%\":typeof Int16Array==\"undefined\"?jl:Int16Array,\"%Int32Array%\":typeof Int32Array==\"undefined\"?jl:Int32Array,\"%isFinite%\":isFinite,\"%isNaN%\":isNaN,\"%IteratorPrototype%\":JT&&Qd?Qd(Qd([][Symbol.iterator]())):jl,\"%JSON%\":typeof JSON==\"object\"?JSON:jl,\"%Map%\":typeof Map==\"undefined\"?jl:Map,\"%MapIteratorPrototype%\":typeof Map==\"undefined\"||!JT||!Qd?jl:Qd(new Map()[Symbol.iterator]()),\"%Math%\":Math,\"%Number%\":Number,\"%Object%\":Object,\"%parseFloat%\":parseFloat,\"%parseInt%\":parseInt,\"%Promise%\":typeof Promise==\"undefined\"?jl:Promise,\"%Proxy%\":typeof Proxy==\"undefined\"?jl:Proxy,\"%RangeError%\":e3t,\"%ReferenceError%\":t3t,\"%Reflect%\":typeof Reflect==\"undefined\"?jl:Reflect,\"%RegExp%\":RegExp,\"%Set%\":typeof Set==\"undefined\"?jl:Set,\"%SetIteratorPrototype%\":typeof Set==\"undefined\"||!JT||!Qd?jl:Qd(new Set()[Symbol.iterator]()),\"%SharedArrayBuffer%\":typeof SharedArrayBuffer==\"undefined\"?jl:SharedArrayBuffer,\"%String%\":String,\"%StringIteratorPrototype%\":JT&&Qd?Qd(\"\"[Symbol.iterator]()):jl,\"%Symbol%\":JT?Symbol:jl,\"%SyntaxError%\":e5,\"%ThrowTypeError%\":i3t,\"%TypedArray%\":a3t,\"%TypeError%\":QT,\"%Uint8Array%\":typeof Uint8Array==\"undefined\"?jl:Uint8Array,\"%Uint8ClampedArray%\":typeof Uint8ClampedArray==\"undefined\"?jl:Uint8ClampedArray,\"%Uint16Array%\":typeof Uint16Array==\"undefined\"?jl:Uint16Array,\"%Uint32Array%\":typeof Uint32Array==\"undefined\"?jl:Uint32Array,\"%URIError%\":r3t,\"%WeakMap%\":typeof WeakMap==\"undefined\"?jl:WeakMap,\"%WeakRef%\":typeof WeakRef==\"undefined\"?jl:WeakRef,\"%WeakSet%\":typeof WeakSet==\"undefined\"?jl:WeakSet};if(Qd)try{null.error}catch(e){mTe=Qd(Qd(e)),f2[\"%Error.prototype%\"]=mTe}var mTe,o3t=function e(t){var r;if(t===\"%AsyncFunction%\")r=pG(\"async function () {}\");else if(t===\"%GeneratorFunction%\")r=pG(\"function* () {}\");else if(t===\"%AsyncGeneratorFunction%\")r=pG(\"async function* () {}\");else if(t===\"%AsyncGenerator%\"){var n=e(\"%AsyncGeneratorFunction%\");n&&(r=n.prototype)}else if(t===\"%AsyncIteratorPrototype%\"){var i=e(\"%AsyncGenerator%\");i&&Qd&&(r=Qd(i.prototype))}return f2[t]=r,r},yTe={__proto__:null,\"%ArrayBufferPrototype%\":[\"ArrayBuffer\",\"prototype\"],\"%ArrayPrototype%\":[\"Array\",\"prototype\"],\"%ArrayProto_entries%\":[\"Array\",\"prototype\",\"entries\"],\"%ArrayProto_forEach%\":[\"Array\",\"prototype\",\"forEach\"],\"%ArrayProto_keys%\":[\"Array\",\"prototype\",\"keys\"],\"%ArrayProto_values%\":[\"Array\",\"prototype\",\"values\"],\"%AsyncFunctionPrototype%\":[\"AsyncFunction\",\"prototype\"],\"%AsyncGenerator%\":[\"AsyncGeneratorFunction\",\"prototype\"],\"%AsyncGeneratorPrototype%\":[\"AsyncGeneratorFunction\",\"prototype\",\"prototype\"],\"%BooleanPrototype%\":[\"Boolean\",\"prototype\"],\"%DataViewPrototype%\":[\"DataView\",\"prototype\"],\"%DatePrototype%\":[\"Date\",\"prototype\"],\"%ErrorPrototype%\":[\"Error\",\"prototype\"],\"%EvalErrorPrototype%\":[\"EvalError\",\"prototype\"],\"%Float32ArrayPrototype%\":[\"Float32Array\",\"prototype\"],\"%Float64ArrayPrototype%\":[\"Float64Array\",\"prototype\"],\"%FunctionPrototype%\":[\"Function\",\"prototype\"],\"%Generator%\":[\"GeneratorFunction\",\"prototype\"],\"%GeneratorPrototype%\":[\"GeneratorFunction\",\"prototype\",\"prototype\"],\"%Int8ArrayPrototype%\":[\"Int8Array\",\"prototype\"],\"%Int16ArrayPrototype%\":[\"Int16Array\",\"prototype\"],\"%Int32ArrayPrototype%\":[\"Int32Array\",\"prototype\"],\"%JSONParse%\":[\"JSON\",\"parse\"],\"%JSONStringify%\":[\"JSON\",\"stringify\"],\"%MapPrototype%\":[\"Map\",\"prototype\"],\"%NumberPrototype%\":[\"Number\",\"prototype\"],\"%ObjectPrototype%\":[\"Object\",\"prototype\"],\"%ObjProto_toString%\":[\"Object\",\"prototype\",\"toString\"],\"%ObjProto_valueOf%\":[\"Object\",\"prototype\",\"valueOf\"],\"%PromisePrototype%\":[\"Promise\",\"prototype\"],\"%PromiseProto_then%\":[\"Promise\",\"prototype\",\"then\"],\"%Promise_all%\":[\"Promise\",\"all\"],\"%Promise_reject%\":[\"Promise\",\"reject\"],\"%Promise_resolve%\":[\"Promise\",\"resolve\"],\"%RangeErrorPrototype%\":[\"RangeError\",\"prototype\"],\"%ReferenceErrorPrototype%\":[\"ReferenceError\",\"prototype\"],\"%RegExpPrototype%\":[\"RegExp\",\"prototype\"],\"%SetPrototype%\":[\"Set\",\"prototype\"],\"%SharedArrayBufferPrototype%\":[\"SharedArrayBuffer\",\"prototype\"],\"%StringPrototype%\":[\"String\",\"prototype\"],\"%SymbolPrototype%\":[\"Symbol\",\"prototype\"],\"%SyntaxErrorPrototype%\":[\"SyntaxError\",\"prototype\"],\"%TypedArrayPrototype%\":[\"TypedArray\",\"prototype\"],\"%TypeErrorPrototype%\":[\"TypeError\",\"prototype\"],\"%Uint8ArrayPrototype%\":[\"Uint8Array\",\"prototype\"],\"%Uint8ClampedArrayPrototype%\":[\"Uint8ClampedArray\",\"prototype\"],\"%Uint16ArrayPrototype%\":[\"Uint16Array\",\"prototype\"],\"%Uint32ArrayPrototype%\":[\"Uint32Array\",\"prototype\"],\"%URIErrorPrototype%\":[\"URIError\",\"prototype\"],\"%WeakMapPrototype%\":[\"WeakMap\",\"prototype\"],\"%WeakSetPrototype%\":[\"WeakSet\",\"prototype\"]},O4=N8(),U8=gTe(),s3t=O4.call(Function.call,Array.prototype.concat),l3t=O4.call(Function.apply,Array.prototype.splice),_Te=O4.call(Function.call,String.prototype.replace),V8=O4.call(Function.call,String.prototype.slice),u3t=O4.call(Function.call,RegExp.prototype.exec),c3t=/[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g,f3t=/\\\\(\\\\)?/g,h3t=function(t){var r=V8(t,0,1),n=V8(t,-1);if(r===\"%\"&&n!==\"%\")throw new e5(\"invalid intrinsic syntax, expected closing `%`\");if(n===\"%\"&&r!==\"%\")throw new e5(\"invalid intrinsic syntax, expected opening `%`\");var i=[];return _Te(t,c3t,function(a,o,s,l){i[i.length]=s?_Te(l,f3t,\"$1\"):o||a}),i},d3t=function(t,r){var n=t,i;if(U8(yTe,n)&&(i=yTe[n],n=\"%\"+i[0]+\"%\"),U8(f2,n)){var a=f2[n];if(a===$T&&(a=o3t(n)),typeof a==\"undefined\"&&!r)throw new QT(\"intrinsic \"+t+\" exists, but is not available. Please file an issue!\");return{alias:i,name:n,value:a}}throw new e5(\"intrinsic \"+t+\" does not exist!\")};bTe.exports=function(t,r){if(typeof t!=\"string\"||t.length===0)throw new QT(\"intrinsic name must be a non-empty string\");if(arguments.length>1&&typeof r!=\"boolean\")throw new QT('\"allowMissing\" argument must be a boolean');if(u3t(/^%?[^%]*%?$/,t)===null)throw new e5(\"`%` may not be present anywhere but at the beginning and end of the intrinsic name\");var n=h3t(t),i=n.length>0?n[0]:\"\",a=d3t(\"%\"+i+\"%\",r),o=a.name,s=a.value,l=!1,u=a.alias;u&&(i=u[0],l3t(n,s3t([0,1],u)));for(var c=1,f=!0;c<n.length;c+=1){var h=n[c],d=V8(h,0,1),v=V8(h,-1);if((d==='\"'||d===\"'\"||d===\"`\"||v==='\"'||v===\"'\"||v===\"`\")&&d!==v)throw new e5(\"property names with quotes must have matching quotes\");if((h===\"constructor\"||!f)&&(l=!0),i+=\".\"+h,o=\"%\"+i+\"%\",U8(f2,o))s=f2[o];else if(s!=null){if(!(h in s)){if(!r)throw new QT(\"base intrinsic for \"+t+\" exists, but the property is not available.\");return}if(c2&&c+1>=n.length){var x=c2(s,h);f=!!x,f&&\"get\"in x&&!(\"originalValue\"in x.get)?s=x.get:s=s[h]}else f=U8(s,h),s=s[h];f&&!l&&(f2[o]=s)}}return s}});var G8=ye((Dur,wTe)=>{\"use strict\";var v3t=t5(),H8=v3t(\"%Object.defineProperty%\",!0)||!1;if(H8)try{H8({},\"a\",{value:1})}catch(e){H8=!1}wTe.exports=H8});var B4=ye((zur,TTe)=>{\"use strict\";var p3t=t5(),j8=p3t(\"%Object.getOwnPropertyDescriptor%\",!0);if(j8)try{j8([],\"length\")}catch(e){j8=null}TTe.exports=j8});var ETe=ye((Fur,MTe)=>{\"use strict\";var ATe=G8(),g3t=vG(),r5=q4(),STe=B4();MTe.exports=function(t,r,n){if(!t||typeof t!=\"object\"&&typeof t!=\"function\")throw new r5(\"`obj` must be an object or a function`\");if(typeof r!=\"string\"&&typeof r!=\"symbol\")throw new r5(\"`property` must be a string or a symbol`\");if(arguments.length>3&&typeof arguments[3]!=\"boolean\"&&arguments[3]!==null)throw new r5(\"`nonEnumerable`, if provided, must be a boolean or null\");if(arguments.length>4&&typeof arguments[4]!=\"boolean\"&&arguments[4]!==null)throw new r5(\"`nonWritable`, if provided, must be a boolean or null\");if(arguments.length>5&&typeof arguments[5]!=\"boolean\"&&arguments[5]!==null)throw new r5(\"`nonConfigurable`, if provided, must be a boolean or null\");if(arguments.length>6&&typeof arguments[6]!=\"boolean\")throw new r5(\"`loose`, if provided, must be a boolean\");var i=arguments.length>3?arguments[3]:null,a=arguments.length>4?arguments[4]:null,o=arguments.length>5?arguments[5]:null,s=arguments.length>6?arguments[6]:!1,l=!!STe&&STe(t,r);if(ATe)ATe(t,r,{configurable:o===null&&l?l.configurable:!o,enumerable:i===null&&l?l.enumerable:!i,value:n,writable:a===null&&l?l.writable:!a});else if(s||!i&&!a&&!o)t[r]=n;else throw new g3t(\"This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.\")}});var yG=ye((qur,CTe)=>{\"use strict\";var mG=G8(),kTe=function(){return!!mG};kTe.hasArrayLengthDefineBug=function(){if(!mG)return null;try{return mG([],\"length\",{value:1}).length!==1}catch(t){return!0}};CTe.exports=kTe});var DTe=ye((Our,RTe)=>{\"use strict\";var m3t=t5(),LTe=ETe(),y3t=yG()(),PTe=B4(),ITe=q4(),_3t=m3t(\"%Math.floor%\");RTe.exports=function(t,r){if(typeof t!=\"function\")throw new ITe(\"`fn` is not a function\");if(typeof r!=\"number\"||r<0||r>4294967295||_3t(r)!==r)throw new ITe(\"`length` must be a positive 32-bit integer\");var n=arguments.length>2&&!!arguments[2],i=!0,a=!0;if(\"length\"in t&&PTe){var o=PTe(t,\"length\");o&&!o.configurable&&(i=!1),o&&!o.writable&&(a=!1)}return(i||a||!n)&&(y3t?LTe(t,\"length\",r,!0,!0):LTe(t,\"length\",r)),t}});var N4=ye((Bur,W8)=>{\"use strict\";var _G=N8(),Z8=t5(),x3t=DTe(),b3t=q4(),qTe=Z8(\"%Function.prototype.apply%\"),OTe=Z8(\"%Function.prototype.call%\"),BTe=Z8(\"%Reflect.apply%\",!0)||_G.call(OTe,qTe),zTe=G8(),w3t=Z8(\"%Math.max%\");W8.exports=function(t){if(typeof t!=\"function\")throw new b3t(\"a function is required\");var r=BTe(_G,OTe,arguments);return x3t(r,1+w3t(0,t.length-(arguments.length-1)),!0)};var FTe=function(){return BTe(_G,qTe,arguments)};zTe?zTe(W8.exports,\"apply\",{value:FTe}):W8.exports.apply=FTe});var i5=ye((Nur,VTe)=>{\"use strict\";var NTe=t5(),UTe=N4(),T3t=UTe(NTe(\"String.prototype.indexOf\"));VTe.exports=function(t,r){var n=NTe(t,!!r);return typeof n==\"function\"&&T3t(t,\".prototype.\")>-1?UTe(n):n}});var jTe=ye((Uur,GTe)=>{\"use strict\";var A3t=F4()(),S3t=i5(),xG=S3t(\"Object.prototype.toString\"),X8=function(t){return A3t&&t&&typeof t==\"object\"&&Symbol.toStringTag in t?!1:xG(t)===\"[object Arguments]\"},HTe=function(t){return X8(t)?!0:t!==null&&typeof t==\"object\"&&typeof t.length==\"number\"&&t.length>=0&&xG(t)!==\"[object Array]\"&&xG(t.callee)===\"[object Function]\"},M3t=function(){return X8(arguments)}();X8.isLegacyArguments=HTe;GTe.exports=M3t?X8:HTe});var XTe=ye((Vur,ZTe)=>{\"use strict\";var E3t=Object.prototype.toString,k3t=Function.prototype.toString,C3t=/^\\s*(?:function)?\\*/,WTe=F4()(),bG=Object.getPrototypeOf,L3t=function(){if(!WTe)return!1;try{return Function(\"return function*() {}\")()}catch(e){}},wG;ZTe.exports=function(t){if(typeof t!=\"function\")return!1;if(C3t.test(k3t.call(t)))return!0;if(!WTe){var r=E3t.call(t);return r===\"[object GeneratorFunction]\"}if(!bG)return!1;if(typeof wG==\"undefined\"){var n=L3t();wG=n?bG(n):!1}return bG(t)===wG}});var $Te=ye((Hur,JTe)=>{\"use strict\";var KTe=Function.prototype.toString,n5=typeof Reflect==\"object\"&&Reflect!==null&&Reflect.apply,AG,Y8;if(typeof n5==\"function\"&&typeof Object.defineProperty==\"function\")try{AG=Object.defineProperty({},\"length\",{get:function(){throw Y8}}),Y8={},n5(function(){throw 42},null,AG)}catch(e){e!==Y8&&(n5=null)}else n5=null;var P3t=/^\\s*class\\b/,SG=function(t){try{var r=KTe.call(t);return P3t.test(r)}catch(n){return!1}},TG=function(t){try{return SG(t)?!1:(KTe.call(t),!0)}catch(r){return!1}},K8=Object.prototype.toString,I3t=\"[object Object]\",R3t=\"[object Function]\",D3t=\"[object GeneratorFunction]\",z3t=\"[object HTMLAllCollection]\",F3t=\"[object HTML document.all class]\",q3t=\"[object HTMLCollection]\",O3t=typeof Symbol==\"function\"&&!!Symbol.toStringTag,B3t=!(0 in[,]),MG=function(){return!1};typeof document==\"object\"&&(YTe=document.all,K8.call(YTe)===K8.call(document.all)&&(MG=function(t){if((B3t||!t)&&(typeof t==\"undefined\"||typeof t==\"object\"))try{var r=K8.call(t);return(r===z3t||r===F3t||r===q3t||r===I3t)&&t(\"\")==null}catch(n){}return!1}));var YTe;JTe.exports=n5?function(t){if(MG(t))return!0;if(!t||typeof t!=\"function\"&&typeof t!=\"object\")return!1;try{n5(t,null,AG)}catch(r){if(r!==Y8)return!1}return!SG(t)&&TG(t)}:function(t){if(MG(t))return!0;if(!t||typeof t!=\"function\"&&typeof t!=\"object\")return!1;if(O3t)return TG(t);if(SG(t))return!1;var r=K8.call(t);return r!==R3t&&r!==D3t&&!/^\\[object HTML/.test(r)?!1:TG(t)}});var EG=ye((Gur,e5e)=>{\"use strict\";var N3t=$Te(),U3t=Object.prototype.toString,QTe=Object.prototype.hasOwnProperty,V3t=function(t,r,n){for(var i=0,a=t.length;i<a;i++)QTe.call(t,i)&&(n==null?r(t[i],i,t):r.call(n,t[i],i,t))},H3t=function(t,r,n){for(var i=0,a=t.length;i<a;i++)n==null?r(t.charAt(i),i,t):r.call(n,t.charAt(i),i,t)},G3t=function(t,r,n){for(var i in t)QTe.call(t,i)&&(n==null?r(t[i],i,t):r.call(n,t[i],i,t))},j3t=function(t,r,n){if(!N3t(r))throw new TypeError(\"iterator must be a function\");var i;arguments.length>=3&&(i=n),U3t.call(t)===\"[object Array]\"?V3t(t,r,i):typeof t==\"string\"?H3t(t,r,i):G3t(t,r,i)};e5e.exports=j3t});var CG=ye((jur,t5e)=>{\"use strict\";var kG=[\"BigInt64Array\",\"BigUint64Array\",\"Float32Array\",\"Float64Array\",\"Int16Array\",\"Int32Array\",\"Int8Array\",\"Uint16Array\",\"Uint32Array\",\"Uint8Array\",\"Uint8ClampedArray\"],W3t=typeof globalThis==\"undefined\"?window:globalThis;t5e.exports=function(){for(var t=[],r=0;r<kG.length;r++)typeof W3t[kG[r]]==\"function\"&&(t[t.length]=kG[r]);return t}});var o5e=ye((Wur,a5e)=>{\"use strict\";var $8=EG(),Z3t=CG(),r5e=N4(),IG=i5(),J8=B4(),X3t=IG(\"Object.prototype.toString\"),n5e=F4()(),i5e=typeof globalThis==\"undefined\"?window:globalThis,PG=Z3t(),RG=IG(\"String.prototype.slice\"),LG=Object.getPrototypeOf,Y3t=IG(\"Array.prototype.indexOf\",!0)||function(t,r){for(var n=0;n<t.length;n+=1)if(t[n]===r)return n;return-1},Q8={__proto__:null};n5e&&J8&&LG?$8(PG,function(e){var t=new i5e[e];if(Symbol.toStringTag in t){var r=LG(t),n=J8(r,Symbol.toStringTag);if(!n){var i=LG(r);n=J8(i,Symbol.toStringTag)}Q8[\"$\"+e]=r5e(n.get)}}):$8(PG,function(e){var t=new i5e[e],r=t.slice||t.set;r&&(Q8[\"$\"+e]=r5e(r))});var K3t=function(t){var r=!1;return $8(Q8,function(n,i){if(!r)try{\"$\"+n(t)===i&&(r=RG(i,1))}catch(a){}}),r},J3t=function(t){var r=!1;return $8(Q8,function(n,i){if(!r)try{n(t),r=RG(i,1)}catch(a){}}),r};a5e.exports=function(t){if(!t||typeof t!=\"object\")return!1;if(!n5e){var r=RG(X3t(t),8,-1);return Y3t(PG,r)>-1?r:r!==\"Object\"?!1:J3t(t)}return J8?K3t(t):null}});var h5e=ye((Zur,f5e)=>{\"use strict\";var s5e=EG(),$3t=CG(),zG=i5(),Q3t=zG(\"Object.prototype.toString\"),l5e=F4()(),eR=B4(),eTt=typeof globalThis==\"undefined\"?window:globalThis,u5e=$3t(),tTt=zG(\"Array.prototype.indexOf\",!0)||function(t,r){for(var n=0;n<t.length;n+=1)if(t[n]===r)return n;return-1},rTt=zG(\"String.prototype.slice\"),c5e={},DG=Object.getPrototypeOf;l5e&&eR&&DG&&s5e(u5e,function(e){var t=new eTt[e];if(Symbol.toStringTag in t){var r=DG(t),n=eR(r,Symbol.toStringTag);if(!n){var i=DG(r);n=eR(i,Symbol.toStringTag)}c5e[e]=n.get}});var iTt=function(t){var r=!1;return s5e(c5e,function(n,i){if(!r)try{r=n.call(t)===i}catch(a){}}),r};f5e.exports=function(t){if(!t||typeof t!=\"object\")return!1;if(!l5e||!(Symbol.toStringTag in t)){var r=rTt(Q3t(t),8,-1);return tTt(u5e,r)>-1}return eR?iTt(t):!1}});var OG=ye(Bl=>{\"use strict\";var nTt=jTe(),aTt=XTe(),Hg=o5e(),d5e=h5e();function a5(e){return e.call.bind(e)}var v5e=typeof BigInt!=\"undefined\",p5e=typeof Symbol!=\"undefined\",X0=a5(Object.prototype.toString),oTt=a5(Number.prototype.valueOf),sTt=a5(String.prototype.valueOf),lTt=a5(Boolean.prototype.valueOf);v5e&&(g5e=a5(BigInt.prototype.valueOf));var g5e;p5e&&(m5e=a5(Symbol.prototype.valueOf));var m5e;function V4(e,t){if(typeof e!=\"object\")return!1;try{return t(e),!0}catch(r){return!1}}Bl.isArgumentsObject=nTt;Bl.isGeneratorFunction=aTt;Bl.isTypedArray=d5e;function uTt(e){return typeof Promise!=\"undefined\"&&e instanceof Promise||e!==null&&typeof e==\"object\"&&typeof e.then==\"function\"&&typeof e.catch==\"function\"}Bl.isPromise=uTt;function cTt(e){return typeof ArrayBuffer!=\"undefined\"&&ArrayBuffer.isView?ArrayBuffer.isView(e):d5e(e)||_5e(e)}Bl.isArrayBufferView=cTt;function fTt(e){return Hg(e)===\"Uint8Array\"}Bl.isUint8Array=fTt;function hTt(e){return Hg(e)===\"Uint8ClampedArray\"}Bl.isUint8ClampedArray=hTt;function dTt(e){return Hg(e)===\"Uint16Array\"}Bl.isUint16Array=dTt;function vTt(e){return Hg(e)===\"Uint32Array\"}Bl.isUint32Array=vTt;function pTt(e){return Hg(e)===\"Int8Array\"}Bl.isInt8Array=pTt;function gTt(e){return Hg(e)===\"Int16Array\"}Bl.isInt16Array=gTt;function mTt(e){return Hg(e)===\"Int32Array\"}Bl.isInt32Array=mTt;function yTt(e){return Hg(e)===\"Float32Array\"}Bl.isFloat32Array=yTt;function _Tt(e){return Hg(e)===\"Float64Array\"}Bl.isFloat64Array=_Tt;function xTt(e){return Hg(e)===\"BigInt64Array\"}Bl.isBigInt64Array=xTt;function bTt(e){return Hg(e)===\"BigUint64Array\"}Bl.isBigUint64Array=bTt;function tR(e){return X0(e)===\"[object Map]\"}tR.working=typeof Map!=\"undefined\"&&tR(new Map);function wTt(e){return typeof Map==\"undefined\"?!1:tR.working?tR(e):e instanceof Map}Bl.isMap=wTt;function rR(e){return X0(e)===\"[object Set]\"}rR.working=typeof Set!=\"undefined\"&&rR(new Set);function TTt(e){return typeof Set==\"undefined\"?!1:rR.working?rR(e):e instanceof Set}Bl.isSet=TTt;function iR(e){return X0(e)===\"[object WeakMap]\"}iR.working=typeof WeakMap!=\"undefined\"&&iR(new WeakMap);function ATt(e){return typeof WeakMap==\"undefined\"?!1:iR.working?iR(e):e instanceof WeakMap}Bl.isWeakMap=ATt;function qG(e){return X0(e)===\"[object WeakSet]\"}qG.working=typeof WeakSet!=\"undefined\"&&qG(new WeakSet);function STt(e){return qG(e)}Bl.isWeakSet=STt;function nR(e){return X0(e)===\"[object ArrayBuffer]\"}nR.working=typeof ArrayBuffer!=\"undefined\"&&nR(new ArrayBuffer);function y5e(e){return typeof ArrayBuffer==\"undefined\"?!1:nR.working?nR(e):e instanceof ArrayBuffer}Bl.isArrayBuffer=y5e;function aR(e){return X0(e)===\"[object DataView]\"}aR.working=typeof ArrayBuffer!=\"undefined\"&&typeof DataView!=\"undefined\"&&aR(new DataView(new ArrayBuffer(1),0,1));function _5e(e){return typeof DataView==\"undefined\"?!1:aR.working?aR(e):e instanceof DataView}Bl.isDataView=_5e;var FG=typeof SharedArrayBuffer!=\"undefined\"?SharedArrayBuffer:void 0;function U4(e){return X0(e)===\"[object SharedArrayBuffer]\"}function x5e(e){return typeof FG==\"undefined\"?!1:(typeof U4.working==\"undefined\"&&(U4.working=U4(new FG)),U4.working?U4(e):e instanceof FG)}Bl.isSharedArrayBuffer=x5e;function MTt(e){return X0(e)===\"[object AsyncFunction]\"}Bl.isAsyncFunction=MTt;function ETt(e){return X0(e)===\"[object Map Iterator]\"}Bl.isMapIterator=ETt;function kTt(e){return X0(e)===\"[object Set Iterator]\"}Bl.isSetIterator=kTt;function CTt(e){return X0(e)===\"[object Generator]\"}Bl.isGeneratorObject=CTt;function LTt(e){return X0(e)===\"[object WebAssembly.Module]\"}Bl.isWebAssemblyCompiledModule=LTt;function b5e(e){return V4(e,oTt)}Bl.isNumberObject=b5e;function w5e(e){return V4(e,sTt)}Bl.isStringObject=w5e;function T5e(e){return V4(e,lTt)}Bl.isBooleanObject=T5e;function A5e(e){return v5e&&V4(e,g5e)}Bl.isBigIntObject=A5e;function S5e(e){return p5e&&V4(e,m5e)}Bl.isSymbolObject=S5e;function PTt(e){return b5e(e)||w5e(e)||T5e(e)||A5e(e)||S5e(e)}Bl.isBoxedPrimitive=PTt;function ITt(e){return typeof Uint8Array!=\"undefined\"&&(y5e(e)||x5e(e))}Bl.isAnyArrayBuffer=ITt;[\"isProxy\",\"isExternal\",\"isModuleNamespaceObject\"].forEach(function(e){Object.defineProperty(Bl,e,{enumerable:!1,value:function(){throw new Error(e+\" is not supported in userland\")}})})});var BG=ye((Yur,M5e)=>{M5e.exports=function(t){return t&&typeof t==\"object\"&&typeof t.copy==\"function\"&&typeof t.fill==\"function\"&&typeof t.readUInt8==\"function\"}});var jG=ye(Nl=>{var E5e=Object.getOwnPropertyDescriptors||function(t){for(var r=Object.keys(t),n={},i=0;i<r.length;i++)n[r[i]]=Object.getOwnPropertyDescriptor(t,r[i]);return n},RTt=/%[sdj%]/g;Nl.format=function(e){if(!hR(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(R_(arguments[r]));return t.join(\" \")}for(var r=1,n=arguments,i=n.length,a=String(e).replace(RTt,function(s){if(s===\"%%\")return\"%\";if(r>=i)return s;switch(s){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(l){return\"[Circular]\"}default:return s}}),o=n[r];r<i;o=n[++r])fR(o)||!o5(o)?a+=\" \"+o:a+=\" \"+R_(o);return a};Nl.deprecate=function(e,t){if(typeof process!=\"undefined\"&&process.noDeprecation===!0)return e;if(typeof process==\"undefined\")return function(){return Nl.deprecate(e,t).apply(this,arguments)};var r=!1;function n(){if(!r){if(process.throwDeprecation)throw new Error(t);process.traceDeprecation?console.trace(t):console.error(t),r=!0}return e.apply(this,arguments)}return n};var oR={},k5e=/^$/;sR=\"false\",sR=sR.replace(/[|\\\\{}()[\\]^$+?.]/g,\"\\\\$&\").replace(/\\*/g,\".*\").replace(/,/g,\"$|^\").toUpperCase(),k5e=new RegExp(\"^\"+sR+\"$\",\"i\");var sR;Nl.debuglog=function(e){if(e=e.toUpperCase(),!oR[e])if(k5e.test(e)){var t=process.pid;oR[e]=function(){var r=Nl.format.apply(Nl,arguments);console.error(\"%s %d: %s\",e,t,r)}}else oR[e]=function(){};return oR[e]};function R_(e,t){var r={seen:[],stylize:zTt};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),HG(t)?r.showHidden=t:t&&Nl._extend(r,t),d2(r.showHidden)&&(r.showHidden=!1),d2(r.depth)&&(r.depth=2),d2(r.colors)&&(r.colors=!1),d2(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=DTt),uR(r,e,r.depth)}Nl.inspect=R_;R_.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]};R_.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};function DTt(e,t){var r=R_.styles[t];return r?\"\\x1B[\"+R_.colors[r][0]+\"m\"+e+\"\\x1B[\"+R_.colors[r][1]+\"m\":e}function zTt(e,t){return e}function FTt(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function uR(e,t,r){if(e.customInspect&&t&&lR(t.inspect)&&t.inspect!==Nl.inspect&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return hR(n)||(n=uR(e,n,r)),n}var i=qTt(e,t);if(i)return i;var a=Object.keys(t),o=FTt(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),G4(t)&&(a.indexOf(\"message\")>=0||a.indexOf(\"description\")>=0))return NG(t);if(a.length===0){if(lR(t)){var s=t.name?\": \"+t.name:\"\";return e.stylize(\"[Function\"+s+\"]\",\"special\")}if(H4(t))return e.stylize(RegExp.prototype.toString.call(t),\"regexp\");if(cR(t))return e.stylize(Date.prototype.toString.call(t),\"date\");if(G4(t))return NG(t)}var l=\"\",u=!1,c=[\"{\",\"}\"];if(C5e(t)&&(u=!0,c=[\"[\",\"]\"]),lR(t)){var f=t.name?\": \"+t.name:\"\";l=\" [Function\"+f+\"]\"}if(H4(t)&&(l=\" \"+RegExp.prototype.toString.call(t)),cR(t)&&(l=\" \"+Date.prototype.toUTCString.call(t)),G4(t)&&(l=\" \"+NG(t)),a.length===0&&(!u||t.length==0))return c[0]+l+c[1];if(r<0)return H4(t)?e.stylize(RegExp.prototype.toString.call(t),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(t);var h;return u?h=OTt(e,t,r,o,a):h=a.map(function(d){return VG(e,t,r,o,d,u)}),e.seen.pop(),BTt(h,l,c)}function qTt(e,t){if(d2(t))return e.stylize(\"undefined\",\"undefined\");if(hR(t)){var r=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(r,\"string\")}if(L5e(t))return e.stylize(\"\"+t,\"number\");if(HG(t))return e.stylize(\"\"+t,\"boolean\");if(fR(t))return e.stylize(\"null\",\"null\")}function NG(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function OTt(e,t,r,n,i){for(var a=[],o=0,s=t.length;o<s;++o)P5e(t,String(o))?a.push(VG(e,t,r,n,String(o),!0)):a.push(\"\");return i.forEach(function(l){l.match(/^\\d+$/)||a.push(VG(e,t,r,n,l,!0))}),a}function VG(e,t,r,n,i,a){var o,s,l;if(l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]},l.get?l.set?s=e.stylize(\"[Getter/Setter]\",\"special\"):s=e.stylize(\"[Getter]\",\"special\"):l.set&&(s=e.stylize(\"[Setter]\",\"special\")),P5e(n,i)||(o=\"[\"+i+\"]\"),s||(e.seen.indexOf(l.value)<0?(fR(r)?s=uR(e,l.value,null):s=uR(e,l.value,r-1),s.indexOf(`\n", - "`)>-1&&(a?s=s.split(`\n", - "`).map(function(u){return\" \"+u}).join(`\n", - "`).slice(2):s=`\n", - "`+s.split(`\n", - "`).map(function(u){return\" \"+u}).join(`\n", - "`))):s=e.stylize(\"[Circular]\",\"special\")),d2(o)){if(a&&i.match(/^\\d+$/))return s;o=JSON.stringify(\"\"+i),o.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.slice(1,-1),o=e.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=e.stylize(o,\"string\"))}return o+\": \"+s}function BTt(e,t,r){var n=0,i=e.reduce(function(a,o){return n++,o.indexOf(`\n", - "`)>=0&&n++,a+o.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return i>60?r[0]+(t===\"\"?\"\":t+`\n", - " `)+\" \"+e.join(`,\n", - " `)+\" \"+r[1]:r[0]+t+\" \"+e.join(\", \")+\" \"+r[1]}Nl.types=OG();function C5e(e){return Array.isArray(e)}Nl.isArray=C5e;function HG(e){return typeof e==\"boolean\"}Nl.isBoolean=HG;function fR(e){return e===null}Nl.isNull=fR;function NTt(e){return e==null}Nl.isNullOrUndefined=NTt;function L5e(e){return typeof e==\"number\"}Nl.isNumber=L5e;function hR(e){return typeof e==\"string\"}Nl.isString=hR;function UTt(e){return typeof e==\"symbol\"}Nl.isSymbol=UTt;function d2(e){return e===void 0}Nl.isUndefined=d2;function H4(e){return o5(e)&&GG(e)===\"[object RegExp]\"}Nl.isRegExp=H4;Nl.types.isRegExp=H4;function o5(e){return typeof e==\"object\"&&e!==null}Nl.isObject=o5;function cR(e){return o5(e)&&GG(e)===\"[object Date]\"}Nl.isDate=cR;Nl.types.isDate=cR;function G4(e){return o5(e)&&(GG(e)===\"[object Error]\"||e instanceof Error)}Nl.isError=G4;Nl.types.isNativeError=G4;function lR(e){return typeof e==\"function\"}Nl.isFunction=lR;function VTt(e){return e===null||typeof e==\"boolean\"||typeof e==\"number\"||typeof e==\"string\"||typeof e==\"symbol\"||typeof e==\"undefined\"}Nl.isPrimitive=VTt;Nl.isBuffer=BG();function GG(e){return Object.prototype.toString.call(e)}function UG(e){return e<10?\"0\"+e.toString(10):e.toString(10)}var HTt=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function GTt(){var e=new Date,t=[UG(e.getHours()),UG(e.getMinutes()),UG(e.getSeconds())].join(\":\");return[e.getDate(),HTt[e.getMonth()],t].join(\" \")}Nl.log=function(){console.log(\"%s - %s\",GTt(),Nl.format.apply(Nl,arguments))};Nl.inherits=Uy();Nl._extend=function(e,t){if(!t||!o5(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};function P5e(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var h2=typeof Symbol!=\"undefined\"?Symbol(\"util.promisify.custom\"):void 0;Nl.promisify=function(t){if(typeof t!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');if(h2&&t[h2]){var r=t[h2];if(typeof r!=\"function\")throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(r,h2,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var n,i,a=new Promise(function(l,u){n=l,i=u}),o=[],s=0;s<arguments.length;s++)o.push(arguments[s]);o.push(function(l,u){l?i(l):n(u)});try{t.apply(this,o)}catch(l){i(l)}return a}return Object.setPrototypeOf(r,Object.getPrototypeOf(t)),h2&&Object.defineProperty(r,h2,{value:r,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(r,E5e(t))};Nl.promisify.custom=h2;function jTt(e,t){if(!e){var r=new Error(\"Promise was rejected with a falsy value\");r.reason=e,e=r}return t(e)}function WTt(e){if(typeof e!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');function t(){for(var r=[],n=0;n<arguments.length;n++)r.push(arguments[n]);var i=r.pop();if(typeof i!=\"function\")throw new TypeError(\"The last argument must be of type Function\");var a=this,o=function(){return i.apply(a,arguments)};e.apply(this,r).then(function(s){process.nextTick(o.bind(null,null,s))},function(s){process.nextTick(jTt.bind(null,s,o))})}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),Object.defineProperties(t,E5e(e)),t}Nl.callbackify=WTt});var z5e=ye((Jur,D5e)=>{\"use strict\";function I5e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ZTt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?I5e(Object(r),!0).forEach(function(n){XTt(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):I5e(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function XTt(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function YTt(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function R5e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function KTt(e,t,r){return t&&R5e(e.prototype,t),r&&R5e(e,r),e}var JTt=u2(),dR=JTt.Buffer,$Tt=jG(),WG=$Tt.inspect,QTt=WG&&WG.custom||\"inspect\";function e5t(e,t,r){dR.prototype.copy.call(e,t,r)}D5e.exports=function(){function e(){YTt(this,e),this.head=null,this.tail=null,this.length=0}return KTt(e,[{key:\"push\",value:function(r){var n={data:r,next:null};this.length>0?this.tail.next=n:this.head=n,this.tail=n,++this.length}},{key:\"unshift\",value:function(r){var n={data:r,next:this.head};this.length===0&&(this.tail=n),this.head=n,++this.length}},{key:\"shift\",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:\"clear\",value:function(){this.head=this.tail=null,this.length=0}},{key:\"join\",value:function(r){if(this.length===0)return\"\";for(var n=this.head,i=\"\"+n.data;n=n.next;)i+=r+n.data;return i}},{key:\"concat\",value:function(r){if(this.length===0)return dR.alloc(0);for(var n=dR.allocUnsafe(r>>>0),i=this.head,a=0;i;)e5t(i.data,n,a),a+=i.data.length,i=i.next;return n}},{key:\"consume\",value:function(r,n){var i;return r<this.head.data.length?(i=this.head.data.slice(0,r),this.head.data=this.head.data.slice(r)):r===this.head.data.length?i=this.shift():i=n?this._getString(r):this._getBuffer(r),i}},{key:\"first\",value:function(){return this.head.data}},{key:\"_getString\",value:function(r){var n=this.head,i=1,a=n.data;for(r-=a.length;n=n.next;){var o=n.data,s=r>o.length?o.length:r;if(s===o.length?a+=o:a+=o.slice(0,r),r-=s,r===0){s===o.length?(++i,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(s));break}++i}return this.length-=i,a}},{key:\"_getBuffer\",value:function(r){var n=dR.allocUnsafe(r),i=this.head,a=1;for(i.data.copy(n),r-=i.data.length;i=i.next;){var o=i.data,s=r>o.length?o.length:r;if(o.copy(n,n.length-r,0,s),r-=s,r===0){s===o.length?(++a,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(s));break}++a}return this.length-=a,n}},{key:QTt,value:function(r,n){return WG(this,ZTt({},n,{depth:0,customInspect:!1}))}}]),e}()});var XG=ye(($ur,q5e)=>{\"use strict\";function t5t(e,t){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(ZG,this,e)):process.nextTick(ZG,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(a){!t&&a?r._writableState?r._writableState.errorEmitted?process.nextTick(vR,r):(r._writableState.errorEmitted=!0,process.nextTick(F5e,r,a)):process.nextTick(F5e,r,a):t?(process.nextTick(vR,r),t(a)):process.nextTick(vR,r)}),this)}function F5e(e,t){ZG(e,t),vR(e)}function vR(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit(\"close\")}function r5t(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function ZG(e,t){e.emit(\"error\",t)}function i5t(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit(\"error\",t)}q5e.exports={destroy:t5t,undestroy:r5t,errorOrDestroy:i5t}});var v2=ye((Qur,N5e)=>{\"use strict\";function n5t(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var B5e={};function Y0(e,t,r){r||(r=Error);function n(a,o,s){return typeof t==\"string\"?t:t(a,o,s)}var i=function(a){n5t(o,a);function o(s,l,u){return a.call(this,n(s,l,u))||this}return o}(r);i.prototype.name=r.name,i.prototype.code=e,B5e[e]=i}function O5e(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(n){return String(n)}),r>2?\"one of \".concat(t,\" \").concat(e.slice(0,r-1).join(\", \"),\", or \")+e[r-1]:r===2?\"one of \".concat(t,\" \").concat(e[0],\" or \").concat(e[1]):\"of \".concat(t,\" \").concat(e[0])}else return\"of \".concat(t,\" \").concat(String(e))}function a5t(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function o5t(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function s5t(e,t,r){return typeof r!=\"number\"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}Y0(\"ERR_INVALID_OPT_VALUE\",function(e,t){return'The value \"'+t+'\" is invalid for option \"'+e+'\"'},TypeError);Y0(\"ERR_INVALID_ARG_TYPE\",function(e,t,r){var n;typeof t==\"string\"&&a5t(t,\"not \")?(n=\"must not be\",t=t.replace(/^not /,\"\")):n=\"must be\";var i;if(o5t(e,\" argument\"))i=\"The \".concat(e,\" \").concat(n,\" \").concat(O5e(t,\"type\"));else{var a=s5t(e,\".\")?\"property\":\"argument\";i='The \"'.concat(e,'\" ').concat(a,\" \").concat(n,\" \").concat(O5e(t,\"type\"))}return i+=\". Received type \".concat(typeof r),i},TypeError);Y0(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\");Y0(\"ERR_METHOD_NOT_IMPLEMENTED\",function(e){return\"The \"+e+\" method is not implemented\"});Y0(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\");Y0(\"ERR_STREAM_DESTROYED\",function(e){return\"Cannot call \"+e+\" after a stream was destroyed\"});Y0(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\");Y0(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\");Y0(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\");Y0(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError);Y0(\"ERR_UNKNOWN_ENCODING\",function(e){return\"Unknown encoding: \"+e},TypeError);Y0(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\");N5e.exports.codes=B5e});var YG=ye((ecr,U5e)=>{\"use strict\";var l5t=v2().codes.ERR_INVALID_OPT_VALUE;function u5t(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function c5t(e,t,r,n){var i=u5t(t,n,r);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var a=n?r:\"highWaterMark\";throw new l5t(a,i)}return Math.floor(i)}return e.objectMode?16:16*1024}U5e.exports={getHighWaterMark:c5t}});var H5e=ye((tcr,V5e)=>{V5e.exports=f5t;function f5t(e,t){if(KG(\"noDeprecation\"))return e;var r=!1;function n(){if(!r){if(KG(\"throwDeprecation\"))throw new Error(t);KG(\"traceDeprecation\")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}return n}function KG(e){try{if(!window.localStorage)return!1}catch(r){return!1}var t=window.localStorage[e];return t==null?!1:String(t).toLowerCase()===\"true\"}});var QG=ye((rcr,Y5e)=>{\"use strict\";Y5e.exports=_h;function j5e(e){var t=this;this.next=null,this.entry=null,this.finish=function(){O5t(t,e)}}var s5;_h.WritableState=W4;var h5t={deprecate:H5e()},W5e=iG(),gR=u2().Buffer,d5t=window.Uint8Array||function(){};function v5t(e){return gR.from(e)}function p5t(e){return gR.isBuffer(e)||e instanceof d5t}var $G=XG(),g5t=YG(),m5t=g5t.getHighWaterMark,D_=v2().codes,y5t=D_.ERR_INVALID_ARG_TYPE,_5t=D_.ERR_METHOD_NOT_IMPLEMENTED,x5t=D_.ERR_MULTIPLE_CALLBACK,b5t=D_.ERR_STREAM_CANNOT_PIPE,w5t=D_.ERR_STREAM_DESTROYED,T5t=D_.ERR_STREAM_NULL_VALUES,A5t=D_.ERR_STREAM_WRITE_AFTER_END,S5t=D_.ERR_UNKNOWN_ENCODING,l5=$G.errorOrDestroy;Uy()(_h,W5e);function M5t(){}function W4(e,t,r){s5=s5||p2(),e=e||{},typeof r!=\"boolean\"&&(r=t instanceof s5),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=m5t(this,e,\"writableHighWaterMark\",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var n=e.decodeStrings===!1;this.decodeStrings=!n,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(i){R5t(t,i)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new j5e(this)}W4.prototype.getBuffer=function(){for(var t=this.bufferedRequest,r=[];t;)r.push(t),t=t.next;return r};(function(){try{Object.defineProperty(W4.prototype,\"buffer\",{get:h5t.deprecate(function(){return this.getBuffer()},\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\",\"DEP0003\")})}catch(e){}})();var pR;typeof Symbol==\"function\"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==\"function\"?(pR=Function.prototype[Symbol.hasInstance],Object.defineProperty(_h,Symbol.hasInstance,{value:function(t){return pR.call(this,t)?!0:this!==_h?!1:t&&t._writableState instanceof W4}})):pR=function(t){return t instanceof this};function _h(e){s5=s5||p2();var t=this instanceof s5;if(!t&&!pR.call(_h,this))return new _h(e);this._writableState=new W4(e,this,t),this.writable=!0,e&&(typeof e.write==\"function\"&&(this._write=e.write),typeof e.writev==\"function\"&&(this._writev=e.writev),typeof e.destroy==\"function\"&&(this._destroy=e.destroy),typeof e.final==\"function\"&&(this._final=e.final)),W5e.call(this)}_h.prototype.pipe=function(){l5(this,new b5t)};function E5t(e,t){var r=new A5t;l5(e,r),process.nextTick(t,r)}function k5t(e,t,r,n){var i;return r===null?i=new T5t:typeof r!=\"string\"&&!t.objectMode&&(i=new y5t(\"chunk\",[\"string\",\"Buffer\"],r)),i?(l5(e,i),process.nextTick(n,i),!1):!0}_h.prototype.write=function(e,t,r){var n=this._writableState,i=!1,a=!n.objectMode&&p5t(e);return a&&!gR.isBuffer(e)&&(e=v5t(e)),typeof t==\"function\"&&(r=t,t=null),a?t=\"buffer\":t||(t=n.defaultEncoding),typeof r!=\"function\"&&(r=M5t),n.ending?E5t(this,r):(a||k5t(this,n,e,r))&&(n.pendingcb++,i=L5t(this,n,a,e,t,r)),i};_h.prototype.cork=function(){this._writableState.corked++};_h.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest&&Z5e(this,e))};_h.prototype.setDefaultEncoding=function(t){if(typeof t==\"string\"&&(t=t.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((t+\"\").toLowerCase())>-1))throw new S5t(t);return this._writableState.defaultEncoding=t,this};Object.defineProperty(_h.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function C5t(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t==\"string\"&&(t=gR.from(t,r)),t}Object.defineProperty(_h.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function L5t(e,t,r,n,i,a){if(!r){var o=C5t(t,n,i);n!==o&&(r=!0,i=\"buffer\",n=o)}var s=t.objectMode?1:n.length;t.length+=s;var l=t.length<t.highWaterMark;if(l||(t.needDrain=!0),t.writing||t.corked){var u=t.lastBufferedRequest;t.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:a,next:null},u?u.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else JG(e,t,!1,s,n,i,a);return l}function JG(e,t,r,n,i,a,o){t.writelen=n,t.writecb=o,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new w5t(\"write\")):r?e._writev(i,t.onwrite):e._write(i,a,t.onwrite),t.sync=!1}function P5t(e,t,r,n,i){--t.pendingcb,r?(process.nextTick(i,n),process.nextTick(j4,e,t),e._writableState.errorEmitted=!0,l5(e,n)):(i(n),e._writableState.errorEmitted=!0,l5(e,n),j4(e,t))}function I5t(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function R5t(e,t){var r=e._writableState,n=r.sync,i=r.writecb;if(typeof i!=\"function\")throw new x5t;if(I5t(r),t)P5t(e,r,n,t,i);else{var a=X5e(r)||e.destroyed;!a&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&Z5e(e,r),n?process.nextTick(G5e,e,r,a,i):G5e(e,r,a,i)}}function G5e(e,t,r,n){r||D5t(e,t),t.pendingcb--,n(),j4(e,t)}function D5t(e,t){t.length===0&&t.needDrain&&(t.needDrain=!1,e.emit(\"drain\"))}function Z5e(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount,i=new Array(n),a=t.corkedRequestsFree;a.entry=r;for(var o=0,s=!0;r;)i[o]=r,r.isBuf||(s=!1),r=r.next,o+=1;i.allBuffers=s,JG(e,t,!0,t.length,i,\"\",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new j5e(t),t.bufferedRequestCount=0}else{for(;r;){var l=r.chunk,u=r.encoding,c=r.callback,f=t.objectMode?1:l.length;if(JG(e,t,!1,f,l,u,c),r=r.next,t.bufferedRequestCount--,t.writing)break}r===null&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}_h.prototype._write=function(e,t,r){r(new _5t(\"_write()\"))};_h.prototype._writev=null;_h.prototype.end=function(e,t,r){var n=this._writableState;return typeof e==\"function\"?(r=e,e=null,t=null):typeof t==\"function\"&&(r=t,t=null),e!=null&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||q5t(this,n,r),this};Object.defineProperty(_h.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}});function X5e(e){return e.ending&&e.length===0&&e.bufferedRequest===null&&!e.finished&&!e.writing}function z5t(e,t){e._final(function(r){t.pendingcb--,r&&l5(e,r),t.prefinished=!0,e.emit(\"prefinish\"),j4(e,t)})}function F5t(e,t){!t.prefinished&&!t.finalCalled&&(typeof e._final==\"function\"&&!t.destroyed?(t.pendingcb++,t.finalCalled=!0,process.nextTick(z5t,e,t)):(t.prefinished=!0,e.emit(\"prefinish\")))}function j4(e,t){var r=X5e(t);if(r&&(F5t(e,t),t.pendingcb===0&&(t.finished=!0,e.emit(\"finish\"),t.autoDestroy))){var n=e._readableState;(!n||n.autoDestroy&&n.endEmitted)&&e.destroy()}return r}function q5t(e,t,r){t.ending=!0,j4(e,t),r&&(t.finished?process.nextTick(r):e.once(\"finish\",r)),t.ended=!0,e.writable=!1}function O5t(e,t,r){var n=e.entry;for(e.entry=null;n;){var i=n.callback;t.pendingcb--,i(r),n=n.next}t.corkedRequestsFree.next=e}Object.defineProperty(_h.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}});_h.prototype.destroy=$G.destroy;_h.prototype._undestroy=$G.undestroy;_h.prototype._destroy=function(e,t){t(e)}});var p2=ye((icr,J5e)=>{\"use strict\";var B5t=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};J5e.exports=Om;var K5e=rj(),tj=QG();Uy()(Om,K5e);for(ej=B5t(tj.prototype),mR=0;mR<ej.length;mR++)yR=ej[mR],Om.prototype[yR]||(Om.prototype[yR]=tj.prototype[yR]);var ej,yR,mR;function Om(e){if(!(this instanceof Om))return new Om(e);K5e.call(this,e),tj.call(this,e),this.allowHalfOpen=!0,e&&(e.readable===!1&&(this.readable=!1),e.writable===!1&&(this.writable=!1),e.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once(\"end\",N5t)))}Object.defineProperty(Om.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});Object.defineProperty(Om.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});Object.defineProperty(Om.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}});function N5t(){this._writableState.ended||process.nextTick(U5t,this)}function U5t(e){e.end()}Object.defineProperty(Om.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(t){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=t,this._writableState.destroyed=t)}})});var eAe=ye((ij,Q5e)=>{var _R=u2(),Bm=_R.Buffer;function $5e(e,t){for(var r in e)t[r]=e[r]}Bm.from&&Bm.alloc&&Bm.allocUnsafe&&Bm.allocUnsafeSlow?Q5e.exports=_R:($5e(_R,ij),ij.Buffer=g2);function g2(e,t,r){return Bm(e,t,r)}g2.prototype=Object.create(Bm.prototype);$5e(Bm,g2);g2.from=function(e,t,r){if(typeof e==\"number\")throw new TypeError(\"Argument must not be a number\");return Bm(e,t,r)};g2.alloc=function(e,t,r){if(typeof e!=\"number\")throw new TypeError(\"Argument must be a number\");var n=Bm(e);return t!==void 0?typeof r==\"string\"?n.fill(t,r):n.fill(t):n.fill(0),n};g2.allocUnsafe=function(e){if(typeof e!=\"number\")throw new TypeError(\"Argument must be a number\");return Bm(e)};g2.allocUnsafeSlow=function(e){if(typeof e!=\"number\")throw new TypeError(\"Argument must be a number\");return _R.SlowBuffer(e)}});var oj=ye(rAe=>{\"use strict\";var aj=eAe().Buffer,tAe=aj.isEncoding||function(e){switch(e=\"\"+e,e&&e.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function V5t(e){if(!e)return\"utf8\";for(var t;;)switch(e){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return e;default:if(t)return;e=(\"\"+e).toLowerCase(),t=!0}}function H5t(e){var t=V5t(e);if(typeof t!=\"string\"&&(aj.isEncoding===tAe||!tAe(e)))throw new Error(\"Unknown encoding: \"+e);return t||e}rAe.StringDecoder=Z4;function Z4(e){this.encoding=H5t(e);var t;switch(this.encoding){case\"utf16le\":this.text=Y5t,this.end=K5t,t=4;break;case\"utf8\":this.fillLast=W5t,t=4;break;case\"base64\":this.text=J5t,this.end=$5t,t=3;break;default:this.write=Q5t,this.end=eAt;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=aj.allocUnsafe(t)}Z4.prototype.write=function(e){if(e.length===0)return\"\";var t,r;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return\"\";r=this.lastNeed,this.lastNeed=0}else r=0;return r<e.length?t?t+this.text(e,r):this.text(e,r):t||\"\"};Z4.prototype.end=X5t;Z4.prototype.text=Z5t;Z4.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length};function nj(e){return e<=127?0:e>>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function G5t(e,t,r){var n=t.length-1;if(n<r)return 0;var i=nj(t[n]);return i>=0?(i>0&&(e.lastNeed=i-1),i):--n<r||i===-2?0:(i=nj(t[n]),i>=0?(i>0&&(e.lastNeed=i-2),i):--n<r||i===-2?0:(i=nj(t[n]),i>=0?(i>0&&(i===2?i=0:e.lastNeed=i-3),i):0))}function j5t(e,t,r){if((t[0]&192)!==128)return e.lastNeed=0,\"\\uFFFD\";if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128)return e.lastNeed=1,\"\\uFFFD\";if(e.lastNeed>2&&t.length>2&&(t[2]&192)!==128)return e.lastNeed=2,\"\\uFFFD\"}}function W5t(e){var t=this.lastTotal-this.lastNeed,r=j5t(this,e,t);if(r!==void 0)return r;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function Z5t(e,t){var r=G5t(this,e,t);if(!this.lastNeed)return e.toString(\"utf8\",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString(\"utf8\",t,n)}function X5t(e){var t=e&&e.length?this.write(e):\"\";return this.lastNeed?t+\"\\uFFFD\":t}function Y5t(e,t){if((e.length-t)%2===0){var r=e.toString(\"utf16le\",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString(\"utf16le\",t,e.length-1)}function K5t(e){var t=e&&e.length?this.write(e):\"\";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString(\"utf16le\",0,r)}return t}function J5t(e,t){var r=(e.length-t)%3;return r===0?e.toString(\"base64\",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString(\"base64\",t,e.length-r))}function $5t(e){var t=e&&e.length?this.write(e):\"\";return this.lastNeed?t+this.lastChar.toString(\"base64\",0,3-this.lastNeed):t}function Q5t(e){return e.toString(this.encoding)}function eAt(e){return e&&e.length?this.write(e):\"\"}});var xR=ye((acr,aAe)=>{\"use strict\";var iAe=v2().codes.ERR_STREAM_PREMATURE_CLOSE;function tAt(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];e.apply(this,n)}}}function rAt(){}function iAt(e){return e.setHeader&&typeof e.abort==\"function\"}function nAe(e,t,r){if(typeof t==\"function\")return nAe(e,null,t);t||(t={}),r=tAt(r||rAt);var n=t.readable||t.readable!==!1&&e.readable,i=t.writable||t.writable!==!1&&e.writable,a=function(){e.writable||s()},o=e._writableState&&e._writableState.finished,s=function(){i=!1,o=!0,n||r.call(e)},l=e._readableState&&e._readableState.endEmitted,u=function(){n=!1,l=!0,i||r.call(e)},c=function(v){r.call(e,v)},f=function(){var v;if(n&&!l)return(!e._readableState||!e._readableState.ended)&&(v=new iAe),r.call(e,v);if(i&&!o)return(!e._writableState||!e._writableState.ended)&&(v=new iAe),r.call(e,v)},h=function(){e.req.on(\"finish\",s)};return iAt(e)?(e.on(\"complete\",s),e.on(\"abort\",f),e.req?h():e.on(\"request\",h)):i&&!e._writableState&&(e.on(\"end\",a),e.on(\"close\",a)),e.on(\"end\",u),e.on(\"finish\",s),t.error!==!1&&e.on(\"error\",c),e.on(\"close\",f),function(){e.removeListener(\"complete\",s),e.removeListener(\"abort\",f),e.removeListener(\"request\",h),e.req&&e.req.removeListener(\"finish\",s),e.removeListener(\"end\",a),e.removeListener(\"close\",a),e.removeListener(\"finish\",s),e.removeListener(\"end\",u),e.removeListener(\"error\",c),e.removeListener(\"close\",f)}}aAe.exports=nAe});var sAe=ye((ocr,oAe)=>{\"use strict\";var bR;function z_(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var nAt=xR(),F_=Symbol(\"lastResolve\"),m2=Symbol(\"lastReject\"),X4=Symbol(\"error\"),wR=Symbol(\"ended\"),y2=Symbol(\"lastPromise\"),sj=Symbol(\"handlePromise\"),_2=Symbol(\"stream\");function q_(e,t){return{value:e,done:t}}function aAt(e){var t=e[F_];if(t!==null){var r=e[_2].read();r!==null&&(e[y2]=null,e[F_]=null,e[m2]=null,t(q_(r,!1)))}}function oAt(e){process.nextTick(aAt,e)}function sAt(e,t){return function(r,n){e.then(function(){if(t[wR]){r(q_(void 0,!0));return}t[sj](r,n)},n)}}var lAt=Object.getPrototypeOf(function(){}),uAt=Object.setPrototypeOf((bR={get stream(){return this[_2]},next:function(){var t=this,r=this[X4];if(r!==null)return Promise.reject(r);if(this[wR])return Promise.resolve(q_(void 0,!0));if(this[_2].destroyed)return new Promise(function(o,s){process.nextTick(function(){t[X4]?s(t[X4]):o(q_(void 0,!0))})});var n=this[y2],i;if(n)i=new Promise(sAt(n,this));else{var a=this[_2].read();if(a!==null)return Promise.resolve(q_(a,!1));i=new Promise(this[sj])}return this[y2]=i,i}},z_(bR,Symbol.asyncIterator,function(){return this}),z_(bR,\"return\",function(){var t=this;return new Promise(function(r,n){t[_2].destroy(null,function(i){if(i){n(i);return}r(q_(void 0,!0))})})}),bR),lAt),cAt=function(t){var r,n=Object.create(uAt,(r={},z_(r,_2,{value:t,writable:!0}),z_(r,F_,{value:null,writable:!0}),z_(r,m2,{value:null,writable:!0}),z_(r,X4,{value:null,writable:!0}),z_(r,wR,{value:t._readableState.endEmitted,writable:!0}),z_(r,sj,{value:function(a,o){var s=n[_2].read();s?(n[y2]=null,n[F_]=null,n[m2]=null,a(q_(s,!1))):(n[F_]=a,n[m2]=o)},writable:!0}),r));return n[y2]=null,nAt(t,function(i){if(i&&i.code!==\"ERR_STREAM_PREMATURE_CLOSE\"){var a=n[m2];a!==null&&(n[y2]=null,n[F_]=null,n[m2]=null,a(i)),n[X4]=i;return}var o=n[F_];o!==null&&(n[y2]=null,n[F_]=null,n[m2]=null,o(q_(void 0,!0))),n[wR]=!0}),t.on(\"readable\",oAt.bind(null,n)),n};oAe.exports=cAt});var uAe=ye((scr,lAe)=>{lAe.exports=function(){throw new Error(\"Readable.from is not available in the browser\")}});var rj=ye((ucr,_Ae)=>{\"use strict\";_Ae.exports=vu;var u5;vu.ReadableState=dAe;var lcr=vb().EventEmitter,hAe=function(t,r){return t.listeners(r).length},K4=iG(),TR=u2().Buffer,fAt=window.Uint8Array||function(){};function hAt(e){return TR.from(e)}function dAt(e){return TR.isBuffer(e)||e instanceof fAt}var lj=jG(),Il;lj&&lj.debuglog?Il=lj.debuglog(\"stream\"):Il=function(){};var vAt=z5e(),pj=XG(),pAt=YG(),gAt=pAt.getHighWaterMark,AR=v2().codes,mAt=AR.ERR_INVALID_ARG_TYPE,yAt=AR.ERR_STREAM_PUSH_AFTER_EOF,_At=AR.ERR_METHOD_NOT_IMPLEMENTED,xAt=AR.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,c5,uj,cj;Uy()(vu,K4);var Y4=pj.errorOrDestroy,fj=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];function bAt(e,t,r){if(typeof e.prependListener==\"function\")return e.prependListener(t,r);!e._events||!e._events[t]?e.on(t,r):Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]}function dAe(e,t,r){u5=u5||p2(),e=e||{},typeof r!=\"boolean\"&&(r=t instanceof u5),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=gAt(this,e,\"readableHighWaterMark\",r),this.buffer=new vAt,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(c5||(c5=oj().StringDecoder),this.decoder=new c5(e.encoding),this.encoding=e.encoding)}function vu(e){if(u5=u5||p2(),!(this instanceof vu))return new vu(e);var t=this instanceof u5;this._readableState=new dAe(e,this,t),this.readable=!0,e&&(typeof e.read==\"function\"&&(this._read=e.read),typeof e.destroy==\"function\"&&(this._destroy=e.destroy)),K4.call(this)}Object.defineProperty(vu.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}});vu.prototype.destroy=pj.destroy;vu.prototype._undestroy=pj.undestroy;vu.prototype._destroy=function(e,t){t(e)};vu.prototype.push=function(e,t){var r=this._readableState,n;return r.objectMode?n=!0:typeof e==\"string\"&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=TR.from(e,t),t=\"\"),n=!0),vAe(this,e,t,!1,n)};vu.prototype.unshift=function(e){return vAe(this,e,null,!0,!1)};function vAe(e,t,r,n,i){Il(\"readableAddChunk\",t);var a=e._readableState;if(t===null)a.reading=!1,AAt(e,a);else{var o;if(i||(o=wAt(a,t)),o)Y4(e,o);else if(a.objectMode||t&&t.length>0)if(typeof t!=\"string\"&&!a.objectMode&&Object.getPrototypeOf(t)!==TR.prototype&&(t=hAt(t)),n)a.endEmitted?Y4(e,new xAt):hj(e,a,t,!0);else if(a.ended)Y4(e,new yAt);else{if(a.destroyed)return!1;a.reading=!1,a.decoder&&!r?(t=a.decoder.write(t),a.objectMode||t.length!==0?hj(e,a,t,!1):vj(e,a)):hj(e,a,t,!1)}else n||(a.reading=!1,vj(e,a))}return!a.ended&&(a.length<a.highWaterMark||a.length===0)}function hj(e,t,r,n){t.flowing&&t.length===0&&!t.sync?(t.awaitDrain=0,e.emit(\"data\",r)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&SR(e)),vj(e,t)}function wAt(e,t){var r;return!dAt(t)&&typeof t!=\"string\"&&t!==void 0&&!e.objectMode&&(r=new mAt(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],t)),r}vu.prototype.isPaused=function(){return this._readableState.flowing===!1};vu.prototype.setEncoding=function(e){c5||(c5=oj().StringDecoder);var t=new c5(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,n=\"\";r!==null;)n+=t.write(r.data),r=r.next;return this._readableState.buffer.clear(),n!==\"\"&&this._readableState.buffer.push(n),this._readableState.length=n.length,this};var cAe=1073741824;function TAt(e){return e>=cAe?e=cAe:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function fAe(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=TAt(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}vu.prototype.read=function(e){Il(\"read\",e),e=parseInt(e,10);var t=this._readableState,r=e;if(e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&((t.highWaterMark!==0?t.length>=t.highWaterMark:t.length>0)||t.ended))return Il(\"read: emitReadable\",t.length,t.ended),t.length===0&&t.ended?dj(this):SR(this),null;if(e=fAe(e,t),e===0&&t.ended)return t.length===0&&dj(this),null;var n=t.needReadable;Il(\"need readable\",n),(t.length===0||t.length-e<t.highWaterMark)&&(n=!0,Il(\"length less than watermark\",n)),t.ended||t.reading?(n=!1,Il(\"reading or ended\",n)):n&&(Il(\"do read\"),t.reading=!0,t.sync=!0,t.length===0&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=fAe(r,t)));var i;return e>0?i=mAe(e,t):i=null,i===null?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),t.length===0&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&dj(this)),i!==null&&this.emit(\"data\",i),i};function AAt(e,t){if(Il(\"onEofChunk\"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?SR(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,pAe(e)))}}function SR(e){var t=e._readableState;Il(\"emitReadable\",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(Il(\"emitReadable\",t.flowing),t.emittedReadable=!0,process.nextTick(pAe,e))}function pAe(e){var t=e._readableState;Il(\"emitReadable_\",t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit(\"readable\"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,gj(e)}function vj(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(SAt,e,t))}function SAt(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&t.length===0);){var r=t.length;if(Il(\"maybeReadMore read 0\"),e.read(0),r===t.length)break}t.readingMore=!1}vu.prototype._read=function(e){Y4(this,new _At(\"_read()\"))};vu.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e);break}n.pipesCount+=1,Il(\"pipe count=%d opts=%j\",n.pipesCount,t);var i=(!t||t.end!==!1)&&e!==process.stdout&&e!==process.stderr,a=i?s:x;n.endEmitted?process.nextTick(a):r.once(\"end\",a),e.on(\"unpipe\",o);function o(b,p){Il(\"onunpipe\"),b===r&&p&&p.hasUnpiped===!1&&(p.hasUnpiped=!0,c())}function s(){Il(\"onend\"),e.end()}var l=MAt(r);e.on(\"drain\",l);var u=!1;function c(){Il(\"cleanup\"),e.removeListener(\"close\",d),e.removeListener(\"finish\",v),e.removeListener(\"drain\",l),e.removeListener(\"error\",h),e.removeListener(\"unpipe\",o),r.removeListener(\"end\",s),r.removeListener(\"end\",x),r.removeListener(\"data\",f),u=!0,n.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&l()}r.on(\"data\",f);function f(b){Il(\"ondata\");var p=e.write(b);Il(\"dest.write\",p),p===!1&&((n.pipesCount===1&&n.pipes===e||n.pipesCount>1&&yAe(n.pipes,e)!==-1)&&!u&&(Il(\"false write response, pause\",n.awaitDrain),n.awaitDrain++),r.pause())}function h(b){Il(\"onerror\",b),x(),e.removeListener(\"error\",h),hAe(e,\"error\")===0&&Y4(e,b)}bAt(e,\"error\",h);function d(){e.removeListener(\"finish\",v),x()}e.once(\"close\",d);function v(){Il(\"onfinish\"),e.removeListener(\"close\",d),x()}e.once(\"finish\",v);function x(){Il(\"unpipe\"),r.unpipe(e)}return e.emit(\"pipe\",r),n.flowing||(Il(\"pipe resume\"),r.resume()),e};function MAt(e){return function(){var r=e._readableState;Il(\"pipeOnDrain\",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&hAe(e,\"data\")&&(r.flowing=!0,gj(e))}}vu.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(t.pipesCount===0)return this;if(t.pipesCount===1)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit(\"unpipe\",this,r),this);if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<i;a++)n[a].emit(\"unpipe\",this,{hasUnpiped:!1});return this}var o=yAe(t.pipes,e);return o===-1?this:(t.pipes.splice(o,1),t.pipesCount-=1,t.pipesCount===1&&(t.pipes=t.pipes[0]),e.emit(\"unpipe\",this,r),this)};vu.prototype.on=function(e,t){var r=K4.prototype.on.call(this,e,t),n=this._readableState;return e===\"data\"?(n.readableListening=this.listenerCount(\"readable\")>0,n.flowing!==!1&&this.resume()):e===\"readable\"&&!n.endEmitted&&!n.readableListening&&(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,Il(\"on readable\",n.length,n.reading),n.length?SR(this):n.reading||process.nextTick(EAt,this)),r};vu.prototype.addListener=vu.prototype.on;vu.prototype.removeListener=function(e,t){var r=K4.prototype.removeListener.call(this,e,t);return e===\"readable\"&&process.nextTick(gAe,this),r};vu.prototype.removeAllListeners=function(e){var t=K4.prototype.removeAllListeners.apply(this,arguments);return(e===\"readable\"||e===void 0)&&process.nextTick(gAe,this),t};function gAe(e){var t=e._readableState;t.readableListening=e.listenerCount(\"readable\")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount(\"data\")>0&&e.resume()}function EAt(e){Il(\"readable nexttick read 0\"),e.read(0)}vu.prototype.resume=function(){var e=this._readableState;return e.flowing||(Il(\"resume\"),e.flowing=!e.readableListening,kAt(this,e)),e.paused=!1,this};function kAt(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(CAt,e,t))}function CAt(e,t){Il(\"resume\",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit(\"resume\"),gj(e),t.flowing&&!t.reading&&e.read(0)}vu.prototype.pause=function(){return Il(\"call pause flowing=%j\",this._readableState.flowing),this._readableState.flowing!==!1&&(Il(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this._readableState.paused=!0,this};function gj(e){var t=e._readableState;for(Il(\"flow\",t.flowing);t.flowing&&e.read()!==null;);}vu.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;e.on(\"end\",function(){if(Il(\"wrapped end\"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&t.push(o)}t.push(null)}),e.on(\"data\",function(o){if(Il(\"wrapped data\"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var s=t.push(o);s||(n=!0,e.pause())}});for(var i in e)this[i]===void 0&&typeof e[i]==\"function\"&&(this[i]=function(s){return function(){return e[s].apply(e,arguments)}}(i));for(var a=0;a<fj.length;a++)e.on(fj[a],this.emit.bind(this,fj[a]));return this._read=function(o){Il(\"wrapped _read\",o),n&&(n=!1,e.resume())},this};typeof Symbol==\"function\"&&(vu.prototype[Symbol.asyncIterator]=function(){return uj===void 0&&(uj=sAe()),uj(this)});Object.defineProperty(vu.prototype,\"readableHighWaterMark\",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Object.defineProperty(vu.prototype,\"readableBuffer\",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(vu.prototype,\"readableFlowing\",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t)}});vu._fromList=mAe;Object.defineProperty(vu.prototype,\"readableLength\",{enumerable:!1,get:function(){return this._readableState.length}});function mAe(e,t){if(t.length===0)return null;var r;return t.objectMode?r=t.buffer.shift():!e||e>=t.length?(t.decoder?r=t.buffer.join(\"\"):t.buffer.length===1?r=t.buffer.first():r=t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r}function dj(e){var t=e._readableState;Il(\"endReadable\",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(LAt,t,e))}function LAt(e,t){if(Il(\"endReadableNT\",e.endEmitted,e.length),!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit(\"end\"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}typeof Symbol==\"function\"&&(vu.from=function(e,t){return cj===void 0&&(cj=uAe()),cj(vu,e,t)});function yAe(e,t){for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}});var mj=ye((ccr,bAe)=>{\"use strict\";bAe.exports=Hy;var MR=v2().codes,PAt=MR.ERR_METHOD_NOT_IMPLEMENTED,IAt=MR.ERR_MULTIPLE_CALLBACK,RAt=MR.ERR_TRANSFORM_ALREADY_TRANSFORMING,DAt=MR.ERR_TRANSFORM_WITH_LENGTH_0,ER=p2();Uy()(Hy,ER);function zAt(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(n===null)return this.emit(\"error\",new IAt);r.writechunk=null,r.writecb=null,t!=null&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function Hy(e){if(!(this instanceof Hy))return new Hy(e);ER.call(this,e),this._transformState={afterTransform:zAt.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(typeof e.transform==\"function\"&&(this._transform=e.transform),typeof e.flush==\"function\"&&(this._flush=e.flush)),this.on(\"prefinish\",FAt)}function FAt(){var e=this;typeof this._flush==\"function\"&&!this._readableState.destroyed?this._flush(function(t,r){xAe(e,t,r)}):xAe(this,null,null)}Hy.prototype.push=function(e,t){return this._transformState.needTransform=!1,ER.prototype.push.call(this,e,t)};Hy.prototype._transform=function(e,t,r){r(new PAt(\"_transform()\"))};Hy.prototype._write=function(e,t,r){var n=this._transformState;if(n.writecb=r,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}};Hy.prototype._read=function(e){var t=this._transformState;t.writechunk!==null&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0};Hy.prototype._destroy=function(e,t){ER.prototype._destroy.call(this,e,function(r){t(r)})};function xAe(e,t,r){if(t)return e.emit(\"error\",t);if(r!=null&&e.push(r),e._writableState.length)throw new DAt;if(e._transformState.transforming)throw new RAt;return e.push(null)}});var AAe=ye((fcr,TAe)=>{\"use strict\";TAe.exports=J4;var wAe=mj();Uy()(J4,wAe);function J4(e){if(!(this instanceof J4))return new J4(e);wAe.call(this,e)}J4.prototype._transform=function(e,t,r){r(null,e)}});var CAe=ye((hcr,kAe)=>{\"use strict\";var yj;function qAt(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var EAe=v2().codes,OAt=EAe.ERR_MISSING_ARGS,BAt=EAe.ERR_STREAM_DESTROYED;function SAe(e){if(e)throw e}function NAt(e){return e.setHeader&&typeof e.abort==\"function\"}function UAt(e,t,r,n){n=qAt(n);var i=!1;e.on(\"close\",function(){i=!0}),yj===void 0&&(yj=xR()),yj(e,{readable:t,writable:r},function(o){if(o)return n(o);i=!0,n()});var a=!1;return function(o){if(!i&&!a){if(a=!0,NAt(e))return e.abort();if(typeof e.destroy==\"function\")return e.destroy();n(o||new BAt(\"pipe\"))}}}function MAe(e){e()}function VAt(e,t){return e.pipe(t)}function HAt(e){return!e.length||typeof e[e.length-1]!=\"function\"?SAe:e.pop()}function GAt(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=HAt(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new OAt(\"streams\");var i,a=t.map(function(o,s){var l=s<t.length-1,u=s>0;return UAt(o,l,u,function(c){i||(i=c),c&&a.forEach(MAe),!l&&(a.forEach(MAe),n(i))})});return t.reduce(VAt)}kAe.exports=GAt});var PAe=ye((dcr,LAe)=>{LAe.exports=K0;var _j=vb().EventEmitter,jAt=Uy();jAt(K0,_j);K0.Readable=rj();K0.Writable=QG();K0.Duplex=p2();K0.Transform=mj();K0.PassThrough=AAe();K0.finished=xR();K0.pipeline=CAe();K0.Stream=K0;function K0(){_j.call(this)}K0.prototype.pipe=function(e,t){var r=this;function n(c){e.writable&&e.write(c)===!1&&r.pause&&r.pause()}r.on(\"data\",n);function i(){r.readable&&r.resume&&r.resume()}e.on(\"drain\",i),!e._isStdio&&(!t||t.end!==!1)&&(r.on(\"end\",o),r.on(\"close\",s));var a=!1;function o(){a||(a=!0,e.end())}function s(){a||(a=!0,typeof e.destroy==\"function\"&&e.destroy())}function l(c){if(u(),_j.listenerCount(this,\"error\")===0)throw c}r.on(\"error\",l),e.on(\"error\",l);function u(){r.removeListener(\"data\",n),e.removeListener(\"drain\",i),r.removeListener(\"end\",o),r.removeListener(\"close\",s),r.removeListener(\"error\",l),e.removeListener(\"error\",l),r.removeListener(\"end\",u),r.removeListener(\"close\",u),e.removeListener(\"close\",u)}return r.on(\"end\",u),r.on(\"close\",u),e.on(\"close\",u),e.emit(\"pipe\",r),e}});var h5=ye(Ul=>{var IAe=Object.getOwnPropertyDescriptors||function(t){for(var r=Object.keys(t),n={},i=0;i<r.length;i++)n[r[i]]=Object.getOwnPropertyDescriptor(t,r[i]);return n},WAt=/%[sdj%]/g;Ul.format=function(e){if(!DR(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(O_(arguments[r]));return t.join(\" \")}for(var r=1,n=arguments,i=n.length,a=String(e).replace(WAt,function(s){if(s===\"%%\")return\"%\";if(r>=i)return s;switch(s){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(l){return\"[Circular]\"}default:return s}}),o=n[r];r<i;o=n[++r])RR(o)||!f5(o)?a+=\" \"+o:a+=\" \"+O_(o);return a};Ul.deprecate=function(e,t){if(typeof process!=\"undefined\"&&process.noDeprecation===!0)return e;if(typeof process==\"undefined\")return function(){return Ul.deprecate(e,t).apply(this,arguments)};var r=!1;function n(){if(!r){if(process.throwDeprecation)throw new Error(t);process.traceDeprecation?console.trace(t):console.error(t),r=!0}return e.apply(this,arguments)}return n};var kR={},RAe=/^$/;CR=\"false\",CR=CR.replace(/[|\\\\{}()[\\]^$+?.]/g,\"\\\\$&\").replace(/\\*/g,\".*\").replace(/,/g,\"$|^\").toUpperCase(),RAe=new RegExp(\"^\"+CR+\"$\",\"i\");var CR;Ul.debuglog=function(e){if(e=e.toUpperCase(),!kR[e])if(RAe.test(e)){var t=process.pid;kR[e]=function(){var r=Ul.format.apply(Ul,arguments);console.error(\"%s %d: %s\",e,t,r)}}else kR[e]=function(){};return kR[e]};function O_(e,t){var r={seen:[],stylize:XAt};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),Tj(t)?r.showHidden=t:t&&Ul._extend(r,t),b2(r.showHidden)&&(r.showHidden=!1),b2(r.depth)&&(r.depth=2),b2(r.colors)&&(r.colors=!1),b2(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=ZAt),PR(r,e,r.depth)}Ul.inspect=O_;O_.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]};O_.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};function ZAt(e,t){var r=O_.styles[t];return r?\"\\x1B[\"+O_.colors[r][0]+\"m\"+e+\"\\x1B[\"+O_.colors[r][1]+\"m\":e}function XAt(e,t){return e}function YAt(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function PR(e,t,r){if(e.customInspect&&t&&LR(t.inspect)&&t.inspect!==Ul.inspect&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return DR(n)||(n=PR(e,n,r)),n}var i=KAt(e,t);if(i)return i;var a=Object.keys(t),o=YAt(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),Q4(t)&&(a.indexOf(\"message\")>=0||a.indexOf(\"description\")>=0))return xj(t);if(a.length===0){if(LR(t)){var s=t.name?\": \"+t.name:\"\";return e.stylize(\"[Function\"+s+\"]\",\"special\")}if($4(t))return e.stylize(RegExp.prototype.toString.call(t),\"regexp\");if(IR(t))return e.stylize(Date.prototype.toString.call(t),\"date\");if(Q4(t))return xj(t)}var l=\"\",u=!1,c=[\"{\",\"}\"];if(DAe(t)&&(u=!0,c=[\"[\",\"]\"]),LR(t)){var f=t.name?\": \"+t.name:\"\";l=\" [Function\"+f+\"]\"}if($4(t)&&(l=\" \"+RegExp.prototype.toString.call(t)),IR(t)&&(l=\" \"+Date.prototype.toUTCString.call(t)),Q4(t)&&(l=\" \"+xj(t)),a.length===0&&(!u||t.length==0))return c[0]+l+c[1];if(r<0)return $4(t)?e.stylize(RegExp.prototype.toString.call(t),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(t);var h;return u?h=JAt(e,t,r,o,a):h=a.map(function(d){return wj(e,t,r,o,d,u)}),e.seen.pop(),$At(h,l,c)}function KAt(e,t){if(b2(t))return e.stylize(\"undefined\",\"undefined\");if(DR(t)){var r=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(r,\"string\")}if(zAe(t))return e.stylize(\"\"+t,\"number\");if(Tj(t))return e.stylize(\"\"+t,\"boolean\");if(RR(t))return e.stylize(\"null\",\"null\")}function xj(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function JAt(e,t,r,n,i){for(var a=[],o=0,s=t.length;o<s;++o)FAe(t,String(o))?a.push(wj(e,t,r,n,String(o),!0)):a.push(\"\");return i.forEach(function(l){l.match(/^\\d+$/)||a.push(wj(e,t,r,n,l,!0))}),a}function wj(e,t,r,n,i,a){var o,s,l;if(l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]},l.get?l.set?s=e.stylize(\"[Getter/Setter]\",\"special\"):s=e.stylize(\"[Getter]\",\"special\"):l.set&&(s=e.stylize(\"[Setter]\",\"special\")),FAe(n,i)||(o=\"[\"+i+\"]\"),s||(e.seen.indexOf(l.value)<0?(RR(r)?s=PR(e,l.value,null):s=PR(e,l.value,r-1),s.indexOf(`\n", - "`)>-1&&(a?s=s.split(`\n", - "`).map(function(u){return\" \"+u}).join(`\n", - "`).slice(2):s=`\n", - "`+s.split(`\n", - "`).map(function(u){return\" \"+u}).join(`\n", - "`))):s=e.stylize(\"[Circular]\",\"special\")),b2(o)){if(a&&i.match(/^\\d+$/))return s;o=JSON.stringify(\"\"+i),o.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.slice(1,-1),o=e.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=e.stylize(o,\"string\"))}return o+\": \"+s}function $At(e,t,r){var n=0,i=e.reduce(function(a,o){return n++,o.indexOf(`\n", - "`)>=0&&n++,a+o.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return i>60?r[0]+(t===\"\"?\"\":t+`\n", - " `)+\" \"+e.join(`,\n", - " `)+\" \"+r[1]:r[0]+t+\" \"+e.join(\", \")+\" \"+r[1]}Ul.types=OG();function DAe(e){return Array.isArray(e)}Ul.isArray=DAe;function Tj(e){return typeof e==\"boolean\"}Ul.isBoolean=Tj;function RR(e){return e===null}Ul.isNull=RR;function QAt(e){return e==null}Ul.isNullOrUndefined=QAt;function zAe(e){return typeof e==\"number\"}Ul.isNumber=zAe;function DR(e){return typeof e==\"string\"}Ul.isString=DR;function eSt(e){return typeof e==\"symbol\"}Ul.isSymbol=eSt;function b2(e){return e===void 0}Ul.isUndefined=b2;function $4(e){return f5(e)&&Aj(e)===\"[object RegExp]\"}Ul.isRegExp=$4;Ul.types.isRegExp=$4;function f5(e){return typeof e==\"object\"&&e!==null}Ul.isObject=f5;function IR(e){return f5(e)&&Aj(e)===\"[object Date]\"}Ul.isDate=IR;Ul.types.isDate=IR;function Q4(e){return f5(e)&&(Aj(e)===\"[object Error]\"||e instanceof Error)}Ul.isError=Q4;Ul.types.isNativeError=Q4;function LR(e){return typeof e==\"function\"}Ul.isFunction=LR;function tSt(e){return e===null||typeof e==\"boolean\"||typeof e==\"number\"||typeof e==\"string\"||typeof e==\"symbol\"||typeof e==\"undefined\"}Ul.isPrimitive=tSt;Ul.isBuffer=BG();function Aj(e){return Object.prototype.toString.call(e)}function bj(e){return e<10?\"0\"+e.toString(10):e.toString(10)}var rSt=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function iSt(){var e=new Date,t=[bj(e.getHours()),bj(e.getMinutes()),bj(e.getSeconds())].join(\":\");return[e.getDate(),rSt[e.getMonth()],t].join(\" \")}Ul.log=function(){console.log(\"%s - %s\",iSt(),Ul.format.apply(Ul,arguments))};Ul.inherits=Uy();Ul._extend=function(e,t){if(!t||!f5(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};function FAe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var x2=typeof Symbol!=\"undefined\"?Symbol(\"util.promisify.custom\"):void 0;Ul.promisify=function(t){if(typeof t!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');if(x2&&t[x2]){var r=t[x2];if(typeof r!=\"function\")throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(r,x2,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var n,i,a=new Promise(function(l,u){n=l,i=u}),o=[],s=0;s<arguments.length;s++)o.push(arguments[s]);o.push(function(l,u){l?i(l):n(u)});try{t.apply(this,o)}catch(l){i(l)}return a}return Object.setPrototypeOf(r,Object.getPrototypeOf(t)),x2&&Object.defineProperty(r,x2,{value:r,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(r,IAe(t))};Ul.promisify.custom=x2;function nSt(e,t){if(!e){var r=new Error(\"Promise was rejected with a falsy value\");r.reason=e,e=r}return t(e)}function aSt(e){if(typeof e!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');function t(){for(var r=[],n=0;n<arguments.length;n++)r.push(arguments[n]);var i=r.pop();if(typeof i!=\"function\")throw new TypeError(\"The last argument must be of type Function\");var a=this,o=function(){return i.apply(a,arguments)};e.apply(this,r).then(function(s){process.nextTick(o.bind(null,null,s))},function(s){process.nextTick(nSt.bind(null,s,o))})}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),Object.defineProperties(t,IAe(e)),t}Ul.callbackify=aSt});var Ej=ye((pcr,NAe)=>{\"use strict\";function B_(e){\"@babel/helpers - typeof\";return B_=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},B_(e)}function qAe(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,sSt(n.key),n)}}function oSt(e,t,r){return t&&qAe(e.prototype,t),r&&qAe(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function sSt(e){var t=lSt(e,\"string\");return B_(t)===\"symbol\"?t:String(t)}function lSt(e,t){if(B_(e)!==\"object\"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||\"default\");if(B_(n)!==\"object\")return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(t===\"string\"?String:Number)(e)}function uSt(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function cSt(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&Mj(e,t)}function Mj(e,t){return Mj=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Mj(e,t)}function fSt(e){var t=vSt();return function(){var n=zR(e),i;if(t){var a=zR(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return hSt(this,i)}}function hSt(e,t){if(t&&(B_(t)===\"object\"||typeof t==\"function\"))return t;if(t!==void 0)throw new TypeError(\"Derived constructors may only return object or undefined\");return dSt(e)}function dSt(e){if(e===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function vSt(){if(typeof Reflect==\"undefined\"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==\"function\")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function zR(e){return zR=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},zR(e)}var BAe={},d5,Sj;function eE(e,t,r){r||(r=Error);function n(a,o,s){return typeof t==\"string\"?t:t(a,o,s)}var i=function(a){cSt(s,a);var o=fSt(s);function s(l,u,c){var f;return uSt(this,s),f=o.call(this,n(l,u,c)),f.code=e,f}return oSt(s)}(r);BAe[e]=i}function OAe(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(n){return String(n)}),r>2?\"one of \".concat(t,\" \").concat(e.slice(0,r-1).join(\", \"),\", or \")+e[r-1]:r===2?\"one of \".concat(t,\" \").concat(e[0],\" or \").concat(e[1]):\"of \".concat(t,\" \").concat(e[0])}else return\"of \".concat(t,\" \").concat(String(e))}function pSt(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function gSt(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function mSt(e,t,r){return typeof r!=\"number\"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}eE(\"ERR_AMBIGUOUS_ARGUMENT\",'The \"%s\" argument is ambiguous. %s',TypeError);eE(\"ERR_INVALID_ARG_TYPE\",function(e,t,r){d5===void 0&&(d5=tE()),d5(typeof e==\"string\",\"'name' must be a string\");var n;typeof t==\"string\"&&pSt(t,\"not \")?(n=\"must not be\",t=t.replace(/^not /,\"\")):n=\"must be\";var i;if(gSt(e,\" argument\"))i=\"The \".concat(e,\" \").concat(n,\" \").concat(OAe(t,\"type\"));else{var a=mSt(e,\".\")?\"property\":\"argument\";i='The \"'.concat(e,'\" ').concat(a,\" \").concat(n,\" \").concat(OAe(t,\"type\"))}return i+=\". Received type \".concat(B_(r)),i},TypeError);eE(\"ERR_INVALID_ARG_VALUE\",function(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\"is invalid\";Sj===void 0&&(Sj=h5());var n=Sj.inspect(t);return n.length>128&&(n=\"\".concat(n.slice(0,128),\"...\")),\"The argument '\".concat(e,\"' \").concat(r,\". Received \").concat(n)},TypeError,RangeError);eE(\"ERR_INVALID_RETURN_VALUE\",function(e,t,r){var n;return r&&r.constructor&&r.constructor.name?n=\"instance of \".concat(r.constructor.name):n=\"type \".concat(B_(r)),\"Expected \".concat(e,' to be returned from the \"').concat(t,'\"')+\" function but got \".concat(n,\".\")},TypeError);eE(\"ERR_MISSING_ARGS\",function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];d5===void 0&&(d5=tE()),d5(t.length>0,\"At least one arg needs to be specified\");var n=\"The \",i=t.length;switch(t=t.map(function(a){return'\"'.concat(a,'\"')}),i){case 1:n+=\"\".concat(t[0],\" argument\");break;case 2:n+=\"\".concat(t[0],\" and \").concat(t[1],\" arguments\");break;default:n+=t.slice(0,i-1).join(\", \"),n+=\", and \".concat(t[i-1],\" arguments\");break}return\"\".concat(n,\" must be specified\")},TypeError);NAe.exports.codes=BAe});var KAe=ye((gcr,YAe)=>{\"use strict\";function UAe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function VAe(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?UAe(Object(r),!0).forEach(function(n){ySt(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):UAe(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function ySt(e,t,r){return t=WAe(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _St(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function HAe(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,WAe(n.key),n)}}function xSt(e,t,r){return t&&HAe(e.prototype,t),r&&HAe(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function WAe(e){var t=bSt(e,\"string\");return Dp(t)===\"symbol\"?t:String(t)}function bSt(e,t){if(Dp(e)!==\"object\"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||\"default\");if(Dp(n)!==\"object\")return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(t===\"string\"?String:Number)(e)}function wSt(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&aE(e,t)}function TSt(e){var t=XAe();return function(){var n=oE(e),i;if(t){var a=oE(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return ZAe(this,i)}}function ZAe(e,t){if(t&&(Dp(t)===\"object\"||typeof t==\"function\"))return t;if(t!==void 0)throw new TypeError(\"Derived constructors may only return object or undefined\");return kj(e)}function kj(e){if(e===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function Cj(e){var t=typeof Map==\"function\"?new Map:void 0;return Cj=function(n){if(n===null||!ASt(n))return n;if(typeof n!=\"function\")throw new TypeError(\"Super expression must either be null or a function\");if(typeof t!=\"undefined\"){if(t.has(n))return t.get(n);t.set(n,i)}function i(){return FR(n,arguments,oE(this).constructor)}return i.prototype=Object.create(n.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),aE(i,n)},Cj(e)}function FR(e,t,r){return XAe()?FR=Reflect.construct.bind():FR=function(i,a,o){var s=[null];s.push.apply(s,a);var l=Function.bind.apply(i,s),u=new l;return o&&aE(u,o.prototype),u},FR.apply(null,arguments)}function XAe(){if(typeof Reflect==\"undefined\"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==\"function\")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function ASt(e){return Function.toString.call(e).indexOf(\"[native code]\")!==-1}function aE(e,t){return aE=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},aE(e,t)}function oE(e){return oE=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},oE(e)}function Dp(e){\"@babel/helpers - typeof\";return Dp=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},Dp(e)}var SSt=h5(),Lj=SSt.inspect,MSt=Ej(),ESt=MSt.codes.ERR_INVALID_ARG_TYPE;function GAe(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function kSt(e,t){if(t=Math.floor(t),e.length==0||t==0)return\"\";var r=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+=e.substring(0,r-e.length),e}var Gg=\"\",rE=\"\",iE=\"\",xv=\"\",w2={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:\"},CSt=10;function jAe(e){var t=Object.keys(e),r=Object.create(Object.getPrototypeOf(e));return t.forEach(function(n){r[n]=e[n]}),Object.defineProperty(r,\"message\",{value:e.message}),r}function nE(e){return Lj(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function LSt(e,t,r){var n=\"\",i=\"\",a=0,o=\"\",s=!1,l=nE(e),u=l.split(`\n", - "`),c=nE(t).split(`\n", - "`),f=0,h=\"\";if(r===\"strictEqual\"&&Dp(e)===\"object\"&&Dp(t)===\"object\"&&e!==null&&t!==null&&(r=\"strictEqualObject\"),u.length===1&&c.length===1&&u[0]!==c[0]){var d=u[0].length+c[0].length;if(d<=CSt){if((Dp(e)!==\"object\"||e===null)&&(Dp(t)!==\"object\"||t===null)&&(e!==0||t!==0))return\"\".concat(w2[r],`\n", - "\n", - "`)+\"\".concat(u[0],\" !== \").concat(c[0],`\n", - "`)}else if(r!==\"strictEqualObject\"){var v=process.stderr&&process.stderr.isTTY?process.stderr.columns:80;if(d<v){for(;u[0][f]===c[0][f];)f++;f>2&&(h=`\n", - " `.concat(kSt(\" \",f),\"^\"),f=0)}}}for(var x=u[u.length-1],b=c[c.length-1];x===b&&(f++<2?o=`\n", - " `.concat(x).concat(o):n=x,u.pop(),c.pop(),!(u.length===0||c.length===0));)x=u[u.length-1],b=c[c.length-1];var p=Math.max(u.length,c.length);if(p===0){var E=l.split(`\n", - "`);if(E.length>30)for(E[26]=\"\".concat(Gg,\"...\").concat(xv);E.length>27;)E.pop();return\"\".concat(w2.notIdentical,`\n", - "\n", - "`).concat(E.join(`\n", - "`),`\n", - "`)}f>3&&(o=`\n", - "`.concat(Gg,\"...\").concat(xv).concat(o),s=!0),n!==\"\"&&(o=`\n", - " `.concat(n).concat(o),n=\"\");var k=0,A=w2[r]+`\n", - "`.concat(rE,\"+ actual\").concat(xv,\" \").concat(iE,\"- expected\").concat(xv),L=\" \".concat(Gg,\"...\").concat(xv,\" Lines skipped\");for(f=0;f<p;f++){var _=f-a;if(u.length<f+1)_>1&&f>2&&(_>4?(i+=`\n", - "`.concat(Gg,\"...\").concat(xv),s=!0):_>3&&(i+=`\n", - " `.concat(c[f-2]),k++),i+=`\n", - " `.concat(c[f-1]),k++),a=f,n+=`\n", - "`.concat(iE,\"-\").concat(xv,\" \").concat(c[f]),k++;else if(c.length<f+1)_>1&&f>2&&(_>4?(i+=`\n", - "`.concat(Gg,\"...\").concat(xv),s=!0):_>3&&(i+=`\n", - " `.concat(u[f-2]),k++),i+=`\n", - " `.concat(u[f-1]),k++),a=f,i+=`\n", - "`.concat(rE,\"+\").concat(xv,\" \").concat(u[f]),k++;else{var C=c[f],M=u[f],g=M!==C&&(!GAe(M,\",\")||M.slice(0,-1)!==C);g&&GAe(C,\",\")&&C.slice(0,-1)===M&&(g=!1,M+=\",\"),g?(_>1&&f>2&&(_>4?(i+=`\n", - "`.concat(Gg,\"...\").concat(xv),s=!0):_>3&&(i+=`\n", - " `.concat(u[f-2]),k++),i+=`\n", - " `.concat(u[f-1]),k++),a=f,i+=`\n", - "`.concat(rE,\"+\").concat(xv,\" \").concat(M),n+=`\n", - "`.concat(iE,\"-\").concat(xv,\" \").concat(C),k+=2):(i+=n,n=\"\",(_===1||f===0)&&(i+=`\n", - " `.concat(M),k++))}if(k>20&&f<p-2)return\"\".concat(A).concat(L,`\n", - "`).concat(i,`\n", - "`).concat(Gg,\"...\").concat(xv).concat(n,`\n", - "`)+\"\".concat(Gg,\"...\").concat(xv)}return\"\".concat(A).concat(s?L:\"\",`\n", - "`).concat(i).concat(n).concat(o).concat(h)}var PSt=function(e,t){wSt(n,e);var r=TSt(n);function n(i){var a;if(_St(this,n),Dp(i)!==\"object\"||i===null)throw new ESt(\"options\",\"Object\",i);var o=i.message,s=i.operator,l=i.stackStartFn,u=i.actual,c=i.expected,f=Error.stackTraceLimit;if(Error.stackTraceLimit=0,o!=null)a=r.call(this,String(o));else if(process.stderr&&process.stderr.isTTY&&(process.stderr&&process.stderr.getColorDepth&&process.stderr.getColorDepth()!==1?(Gg=\"\\x1B[34m\",rE=\"\\x1B[32m\",xv=\"\\x1B[39m\",iE=\"\\x1B[31m\"):(Gg=\"\",rE=\"\",xv=\"\",iE=\"\")),Dp(u)===\"object\"&&u!==null&&Dp(c)===\"object\"&&c!==null&&\"stack\"in u&&u instanceof Error&&\"stack\"in c&&c instanceof Error&&(u=jAe(u),c=jAe(c)),s===\"deepStrictEqual\"||s===\"strictEqual\")a=r.call(this,LSt(u,c,s));else if(s===\"notDeepStrictEqual\"||s===\"notStrictEqual\"){var h=w2[s],d=nE(u).split(`\n", - "`);if(s===\"notStrictEqual\"&&Dp(u)===\"object\"&&u!==null&&(h=w2.notStrictEqualObject),d.length>30)for(d[26]=\"\".concat(Gg,\"...\").concat(xv);d.length>27;)d.pop();d.length===1?a=r.call(this,\"\".concat(h,\" \").concat(d[0])):a=r.call(this,\"\".concat(h,`\n", - "\n", - "`).concat(d.join(`\n", - "`),`\n", - "`))}else{var v=nE(u),x=\"\",b=w2[s];s===\"notDeepEqual\"||s===\"notEqual\"?(v=\"\".concat(w2[s],`\n", - "\n", - "`).concat(v),v.length>1024&&(v=\"\".concat(v.slice(0,1021),\"...\"))):(x=\"\".concat(nE(c)),v.length>512&&(v=\"\".concat(v.slice(0,509),\"...\")),x.length>512&&(x=\"\".concat(x.slice(0,509),\"...\")),s===\"deepEqual\"||s===\"equal\"?v=\"\".concat(b,`\n", - "\n", - "`).concat(v,`\n", - "\n", - "should equal\n", - "\n", - "`):x=\" \".concat(s,\" \").concat(x)),a=r.call(this,\"\".concat(v).concat(x))}return Error.stackTraceLimit=f,a.generatedMessage=!o,Object.defineProperty(kj(a),\"name\",{value:\"AssertionError [ERR_ASSERTION]\",enumerable:!1,writable:!0,configurable:!0}),a.code=\"ERR_ASSERTION\",a.actual=u,a.expected=c,a.operator=s,Error.captureStackTrace&&Error.captureStackTrace(kj(a),l),a.stack,a.name=\"AssertionError\",ZAe(a)}return xSt(n,[{key:\"toString\",value:function(){return\"\".concat(this.name,\" [\").concat(this.code,\"]: \").concat(this.message)}},{key:t,value:function(a,o){return Lj(this,VAe(VAe({},o),{},{customInspect:!1,depth:0}))}}]),n}(Cj(Error),Lj.custom);YAe.exports=PSt});var Pj=ye((mcr,$Ae)=>{\"use strict\";var JAe=Object.prototype.toString;$Ae.exports=function(t){var r=JAe.call(t),n=r===\"[object Arguments]\";return n||(n=r!==\"[object Array]\"&&t!==null&&typeof t==\"object\"&&typeof t.length==\"number\"&&t.length>=0&&JAe.call(t.callee)===\"[object Function]\"),n}});var sSe=ye((ycr,oSe)=>{\"use strict\";var aSe;Object.keys||(sE=Object.prototype.hasOwnProperty,Ij=Object.prototype.toString,QAe=Pj(),Rj=Object.prototype.propertyIsEnumerable,eSe=!Rj.call({toString:null},\"toString\"),tSe=Rj.call(function(){},\"prototype\"),lE=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],qR=function(e){var t=e.constructor;return t&&t.prototype===e},rSe={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},iSe=function(){if(typeof window==\"undefined\")return!1;for(var e in window)try{if(!rSe[\"$\"+e]&&sE.call(window,e)&&window[e]!==null&&typeof window[e]==\"object\")try{qR(window[e])}catch(t){return!0}}catch(t){return!0}return!1}(),nSe=function(e){if(typeof window==\"undefined\"||!iSe)return qR(e);try{return qR(e)}catch(t){return!1}},aSe=function(t){var r=t!==null&&typeof t==\"object\",n=Ij.call(t)===\"[object Function]\",i=QAe(t),a=r&&Ij.call(t)===\"[object String]\",o=[];if(!r&&!n&&!i)throw new TypeError(\"Object.keys called on a non-object\");var s=tSe&&n;if(a&&t.length>0&&!sE.call(t,0))for(var l=0;l<t.length;++l)o.push(String(l));if(i&&t.length>0)for(var u=0;u<t.length;++u)o.push(String(u));else for(var c in t)!(s&&c===\"prototype\")&&sE.call(t,c)&&o.push(String(c));if(eSe)for(var f=nSe(t),h=0;h<lE.length;++h)!(f&&lE[h]===\"constructor\")&&sE.call(t,lE[h])&&o.push(lE[h]);return o});var sE,Ij,QAe,Rj,eSe,tSe,lE,qR,rSe,iSe,nSe;oSe.exports=aSe});var Dj=ye((_cr,cSe)=>{\"use strict\";var ISt=Array.prototype.slice,RSt=Pj(),lSe=Object.keys,OR=lSe?function(t){return lSe(t)}:sSe(),uSe=Object.keys;OR.shim=function(){if(Object.keys){var t=function(){var r=Object.keys(arguments);return r&&r.length===arguments.length}(1,2);t||(Object.keys=function(n){return RSt(n)?uSe(ISt.call(n)):uSe(n)})}else Object.keys=OR;return Object.keys||OR};cSe.exports=OR});var gSe=ye((xcr,pSe)=>{\"use strict\";var DSt=Dj(),dSe=B8()(),vSe=i5(),fSe=Object,zSt=vSe(\"Array.prototype.push\"),hSe=vSe(\"Object.prototype.propertyIsEnumerable\"),FSt=dSe?Object.getOwnPropertySymbols:null;pSe.exports=function(t,r){if(t==null)throw new TypeError(\"target must be an object\");var n=fSe(t);if(arguments.length===1)return n;for(var i=1;i<arguments.length;++i){var a=fSe(arguments[i]),o=DSt(a),s=dSe&&(Object.getOwnPropertySymbols||FSt);if(s)for(var l=s(a),u=0;u<l.length;++u){var c=l[u];hSe(a,c)&&zSt(o,c)}for(var f=0;f<o.length;++f){var h=o[f];if(hSe(a,h)){var d=a[h];n[h]=d}}}return n}});var ySe=ye((bcr,mSe)=>{\"use strict\";var zj=gSe(),qSt=function(){if(!Object.assign)return!1;for(var e=\"abcdefghijklmnopqrst\",t=e.split(\"\"),r={},n=0;n<t.length;++n)r[t[n]]=t[n];var i=Object.assign({},r),a=\"\";for(var o in i)a+=o;return e!==a},OSt=function(){if(!Object.assign||!Object.preventExtensions)return!1;var e=Object.preventExtensions({1:2});try{Object.assign(e,\"xy\")}catch(t){return e[1]===\"y\"}return!1};mSe.exports=function(){return!Object.assign||qSt()||OSt()?zj:Object.assign}});var Fj=ye((wcr,xSe)=>{\"use strict\";var _Se=function(e){return e!==e};xSe.exports=function(t,r){return t===0&&r===0?1/t===1/r:!!(t===r||_Se(t)&&_Se(r))}});var BR=ye((Tcr,bSe)=>{\"use strict\";var BSt=Fj();bSe.exports=function(){return typeof Object.is==\"function\"?Object.is:BSt}});var uE=ye((Acr,SSe)=>{\"use strict\";var NSt=Dj(),USt=typeof Symbol==\"function\"&&typeof Symbol(\"foo\")==\"symbol\",VSt=Object.prototype.toString,HSt=Array.prototype.concat,wSe=Object.defineProperty,GSt=function(e){return typeof e==\"function\"&&VSt.call(e)===\"[object Function]\"},jSt=yG()(),TSe=wSe&&jSt,WSt=function(e,t,r,n){if(t in e){if(n===!0){if(e[t]===r)return}else if(!GSt(n)||!n())return}TSe?wSe(e,t,{configurable:!0,enumerable:!1,value:r,writable:!0}):e[t]=r},ASe=function(e,t){var r=arguments.length>2?arguments[2]:{},n=NSt(t);USt&&(n=HSt.call(n,Object.getOwnPropertySymbols(t)));for(var i=0;i<n.length;i+=1)WSt(e,n[i],t[n[i]],r[n[i]])};ASe.supportsDescriptors=!!TSe;SSe.exports=ASe});var ESe=ye((Scr,MSe)=>{\"use strict\";var ZSt=BR(),XSt=uE();MSe.exports=function(){var t=ZSt();return XSt(Object,{is:t},{is:function(){return Object.is!==t}}),t}});var PSe=ye((Mcr,LSe)=>{\"use strict\";var YSt=uE(),KSt=N4(),JSt=Fj(),kSe=BR(),$St=ESe(),CSe=KSt(kSe(),Object);YSt(CSe,{getPolyfill:kSe,implementation:JSt,shim:$St});LSe.exports=CSe});var qj=ye((Ecr,ISe)=>{\"use strict\";ISe.exports=function(t){return t!==t}});var Oj=ye((kcr,RSe)=>{\"use strict\";var QSt=qj();RSe.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN(\"a\")?Number.isNaN:QSt}});var zSe=ye((Ccr,DSe)=>{\"use strict\";var eMt=uE(),tMt=Oj();DSe.exports=function(){var t=tMt();return eMt(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}});var BSe=ye((Lcr,OSe)=>{\"use strict\";var rMt=N4(),iMt=uE(),nMt=qj(),FSe=Oj(),aMt=zSe(),qSe=rMt(FSe(),Number);iMt(qSe,{getPolyfill:FSe,implementation:nMt,shim:aMt});OSe.exports=qSe});var aMe=ye((Pcr,nMe)=>{\"use strict\";function NSe(e,t){return uMt(e)||lMt(e,t)||sMt(e,t)||oMt()}function oMt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.\n", - "In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function sMt(e,t){if(e){if(typeof e==\"string\")return USe(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r===\"Object\"&&e.constructor&&(r=e.constructor.name),r===\"Map\"||r===\"Set\")return Array.from(e);if(r===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return USe(e,t)}}function USe(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function lMt(e,t){var r=e==null?null:typeof Symbol!=\"undefined\"&&e[Symbol.iterator]||e[\"@@iterator\"];if(r!=null){var n,i,a,o,s=[],l=!0,u=!1;try{if(a=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(c){u=!0,i=c}finally{try{if(!l&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}function uMt(e){if(Array.isArray(e))return e}function J0(e){\"@babel/helpers - typeof\";return J0=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},J0(e)}var cMt=/a/g.flags!==void 0,WR=function(t){var r=[];return t.forEach(function(n){return r.push(n)}),r},VSe=function(t){var r=[];return t.forEach(function(n,i){return r.push([i,n])}),r},QSe=Object.is?Object.is:PSe(),GR=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},Bj=Number.isNaN?Number.isNaN:BSe();function Uj(e){return e.call.bind(e)}var fE=Uj(Object.prototype.hasOwnProperty),jR=Uj(Object.prototype.propertyIsEnumerable),HSe=Uj(Object.prototype.toString),sp=h5().types,fMt=sp.isAnyArrayBuffer,hMt=sp.isArrayBufferView,GSe=sp.isDate,NR=sp.isMap,jSe=sp.isRegExp,UR=sp.isSet,dMt=sp.isNativeError,vMt=sp.isBoxedPrimitive,WSe=sp.isNumberObject,ZSe=sp.isStringObject,XSe=sp.isBooleanObject,YSe=sp.isBigIntObject,pMt=sp.isSymbolObject,gMt=sp.isFloat32Array,mMt=sp.isFloat64Array;function yMt(e){if(e.length===0||e.length>10)return!0;for(var t=0;t<e.length;t++){var r=e.charCodeAt(t);if(r<48||r>57)return!0}return e.length===10&&e>=Math.pow(2,32)}function VR(e){return Object.keys(e).filter(yMt).concat(GR(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}function eMe(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i<a;++i)if(e[i]!==t[i]){r=e[i],n=t[i];break}return r<n?-1:n<r?1:0}var HR=void 0,_Mt=!0,xMt=!1,Nj=0,Vj=1,tMe=2,rMe=3;function bMt(e,t){return cMt?e.source===t.source&&e.flags===t.flags:RegExp.prototype.toString.call(e)===RegExp.prototype.toString.call(t)}function wMt(e,t){if(e.byteLength!==t.byteLength)return!1;for(var r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function TMt(e,t){return e.byteLength!==t.byteLength?!1:eMe(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))===0}function AMt(e,t){return e.byteLength===t.byteLength&&eMe(new Uint8Array(e),new Uint8Array(t))===0}function SMt(e,t){return WSe(e)?WSe(t)&&QSe(Number.prototype.valueOf.call(e),Number.prototype.valueOf.call(t)):ZSe(e)?ZSe(t)&&String.prototype.valueOf.call(e)===String.prototype.valueOf.call(t):XSe(e)?XSe(t)&&Boolean.prototype.valueOf.call(e)===Boolean.prototype.valueOf.call(t):YSe(e)?YSe(t)&&BigInt.prototype.valueOf.call(e)===BigInt.prototype.valueOf.call(t):pMt(t)&&Symbol.prototype.valueOf.call(e)===Symbol.prototype.valueOf.call(t)}function $0(e,t,r,n){if(e===t)return e!==0?!0:r?QSe(e,t):!0;if(r){if(J0(e)!==\"object\")return typeof e==\"number\"&&Bj(e)&&Bj(t);if(J0(t)!==\"object\"||e===null||t===null||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1}else{if(e===null||J0(e)!==\"object\")return t===null||J0(t)!==\"object\"?e==t:!1;if(t===null||J0(t)!==\"object\")return!1}var i=HSe(e),a=HSe(t);if(i!==a)return!1;if(Array.isArray(e)){if(e.length!==t.length)return!1;var o=VR(e,HR),s=VR(t,HR);return o.length!==s.length?!1:cE(e,t,r,n,Vj,o)}if(i===\"[object Object]\"&&(!NR(e)&&NR(t)||!UR(e)&&UR(t)))return!1;if(GSe(e)){if(!GSe(t)||Date.prototype.getTime.call(e)!==Date.prototype.getTime.call(t))return!1}else if(jSe(e)){if(!jSe(t)||!bMt(e,t))return!1}else if(dMt(e)||e instanceof Error){if(e.message!==t.message||e.name!==t.name)return!1}else if(hMt(e)){if(!r&&(gMt(e)||mMt(e))){if(!wMt(e,t))return!1}else if(!TMt(e,t))return!1;var l=VR(e,HR),u=VR(t,HR);return l.length!==u.length?!1:cE(e,t,r,n,Nj,l)}else{if(UR(e))return!UR(t)||e.size!==t.size?!1:cE(e,t,r,n,tMe);if(NR(e))return!NR(t)||e.size!==t.size?!1:cE(e,t,r,n,rMe);if(fMt(e)){if(!AMt(e,t))return!1}else if(vMt(e)&&!SMt(e,t))return!1}return cE(e,t,r,n,Nj)}function KSe(e,t){return t.filter(function(r){return jR(e,r)})}function cE(e,t,r,n,i,a){if(arguments.length===5){a=Object.keys(e);var o=Object.keys(t);if(a.length!==o.length)return!1}for(var s=0;s<a.length;s++)if(!fE(t,a[s]))return!1;if(r&&arguments.length===5){var l=GR(e);if(l.length!==0){var u=0;for(s=0;s<l.length;s++){var c=l[s];if(jR(e,c)){if(!jR(t,c))return!1;a.push(c),u++}else if(jR(t,c))return!1}var f=GR(t);if(l.length!==f.length&&KSe(t,f).length!==u)return!1}else{var h=GR(t);if(h.length!==0&&KSe(t,h).length!==0)return!1}}if(a.length===0&&(i===Nj||i===Vj&&e.length===0||e.size===0))return!0;if(n===void 0)n={val1:new Map,val2:new Map,position:0};else{var d=n.val1.get(e);if(d!==void 0){var v=n.val2.get(t);if(v!==void 0)return d===v}n.position++}n.val1.set(e,n.position),n.val2.set(t,n.position);var x=LMt(e,t,r,a,n,i);return n.val1.delete(e),n.val2.delete(t),x}function JSe(e,t,r,n){for(var i=WR(e),a=0;a<i.length;a++){var o=i[a];if($0(t,o,r,n))return e.delete(o),!0}return!1}function iMe(e){switch(J0(e)){case\"undefined\":return null;case\"object\":return;case\"symbol\":return!1;case\"string\":e=+e;case\"number\":if(Bj(e))return!1}return!0}function MMt(e,t,r){var n=iMe(r);return n!=null?n:t.has(n)&&!e.has(n)}function EMt(e,t,r,n,i){var a=iMe(r);if(a!=null)return a;var o=t.get(a);return o===void 0&&!t.has(a)||!$0(n,o,!1,i)?!1:!e.has(a)&&$0(n,o,!1,i)}function kMt(e,t,r,n){for(var i=null,a=WR(e),o=0;o<a.length;o++){var s=a[o];if(J0(s)===\"object\"&&s!==null)i===null&&(i=new Set),i.add(s);else if(!t.has(s)){if(r||!MMt(e,t,s))return!1;i===null&&(i=new Set),i.add(s)}}if(i!==null){for(var l=WR(t),u=0;u<l.length;u++){var c=l[u];if(J0(c)===\"object\"&&c!==null){if(!JSe(i,c,r,n))return!1}else if(!r&&!e.has(c)&&!JSe(i,c,r,n))return!1}return i.size===0}return!0}function $Se(e,t,r,n,i,a){for(var o=WR(e),s=0;s<o.length;s++){var l=o[s];if($0(r,l,i,a)&&$0(n,t.get(l),i,a))return e.delete(l),!0}return!1}function CMt(e,t,r,n){for(var i=null,a=VSe(e),o=0;o<a.length;o++){var s=NSe(a[o],2),l=s[0],u=s[1];if(J0(l)===\"object\"&&l!==null)i===null&&(i=new Set),i.add(l);else{var c=t.get(l);if(c===void 0&&!t.has(l)||!$0(u,c,r,n)){if(r||!EMt(e,t,l,u,n))return!1;i===null&&(i=new Set),i.add(l)}}}if(i!==null){for(var f=VSe(t),h=0;h<f.length;h++){var d=NSe(f[h],2),v=d[0],x=d[1];if(J0(v)===\"object\"&&v!==null){if(!$Se(i,e,v,x,r,n))return!1}else if(!r&&(!e.has(v)||!$0(e.get(v),x,!1,n))&&!$Se(i,e,v,x,!1,n))return!1}return i.size===0}return!0}function LMt(e,t,r,n,i,a){var o=0;if(a===tMe){if(!kMt(e,t,r,i))return!1}else if(a===rMe){if(!CMt(e,t,r,i))return!1}else if(a===Vj)for(;o<e.length;o++)if(fE(e,o)){if(!fE(t,o)||!$0(e[o],t[o],r,i))return!1}else{if(fE(t,o))return!1;for(var s=Object.keys(e);o<s.length;o++){var l=s[o];if(!fE(t,l)||!$0(e[l],t[l],r,i))return!1}return s.length===Object.keys(t).length}for(o=0;o<n.length;o++){var u=n[o];if(!$0(e[u],t[u],r,i))return!1}return!0}function PMt(e,t){return $0(e,t,xMt)}function IMt(e,t){return $0(e,t,_Mt)}nMe.exports={isDeepEqual:PMt,isDeepStrictEqual:IMt}});var tE=ye((Icr,TMe)=>{\"use strict\";function jg(e){\"@babel/helpers - typeof\";return jg=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},jg(e)}function oMe(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,DMt(n.key),n)}}function RMt(e,t,r){return t&&oMe(e.prototype,t),r&&oMe(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function DMt(e){var t=zMt(e,\"string\");return jg(t)===\"symbol\"?t:String(t)}function zMt(e,t){if(jg(e)!==\"object\"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||\"default\");if(jg(n)!==\"object\")return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(t===\"string\"?String:Number)(e)}function FMt(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var qMt=Ej(),hE=qMt.codes,sMe=hE.ERR_AMBIGUOUS_ARGUMENT,v5=hE.ERR_INVALID_ARG_TYPE,OMt=hE.ERR_INVALID_ARG_VALUE,BMt=hE.ERR_INVALID_RETURN_VALUE,U_=hE.ERR_MISSING_ARGS,V_=KAe(),NMt=h5(),ZR=NMt.inspect,fMe=h5().types,UMt=fMe.isPromise,XR=fMe.isRegExp,VMt=ySe()(),hMe=BR()(),YR=i5()(\"RegExp.prototype.test\"),N_,KR;function dE(){var e=aMe();N_=e.isDeepEqual,KR=e.isDeepStrictEqual}var lMe=!1,sf=TMe.exports=Hj,JR={};function Wg(e){throw e.message instanceof Error?e.message:new V_(e)}function dMe(e,t,r,n,i){var a=arguments.length,o;if(a===0)o=\"Failed\";else if(a===1)r=e,e=void 0;else{if(lMe===!1){lMe=!0;var s=process.emitWarning?process.emitWarning:console.warn.bind(console);s(\"assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.\",\"DeprecationWarning\",\"DEP0094\")}a===2&&(n=\"!=\")}if(r instanceof Error)throw r;var l={actual:e,expected:t,operator:n===void 0?\"fail\":n,stackStartFn:i||dMe};r!==void 0&&(l.message=r);var u=new V_(l);throw o&&(u.message=o,u.generatedMessage=!0),u}sf.fail=dMe;sf.AssertionError=V_;function vMe(e,t,r,n){if(!r){var i=!1;if(t===0)i=!0,n=\"No value argument passed to `assert.ok()`\";else if(n instanceof Error)throw n;var a=new V_({actual:r,expected:!0,message:n,operator:\"==\",stackStartFn:e});throw a.generatedMessage=i,a}}function Hj(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];vMe.apply(void 0,[Hj,t.length].concat(t))}sf.ok=Hj;sf.equal=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");t!=r&&Wg({actual:t,expected:r,message:n,operator:\"==\",stackStartFn:e})};sf.notEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");t==r&&Wg({actual:t,expected:r,message:n,operator:\"!=\",stackStartFn:e})};sf.deepEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");N_===void 0&&dE(),N_(t,r)||Wg({actual:t,expected:r,message:n,operator:\"deepEqual\",stackStartFn:e})};sf.notDeepEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");N_===void 0&&dE(),N_(t,r)&&Wg({actual:t,expected:r,message:n,operator:\"notDeepEqual\",stackStartFn:e})};sf.deepStrictEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");N_===void 0&&dE(),KR(t,r)||Wg({actual:t,expected:r,message:n,operator:\"deepStrictEqual\",stackStartFn:e})};sf.notDeepStrictEqual=pMe;function pMe(e,t,r){if(arguments.length<2)throw new U_(\"actual\",\"expected\");N_===void 0&&dE(),KR(e,t)&&Wg({actual:e,expected:t,message:r,operator:\"notDeepStrictEqual\",stackStartFn:pMe})}sf.strictEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");hMe(t,r)||Wg({actual:t,expected:r,message:n,operator:\"strictEqual\",stackStartFn:e})};sf.notStrictEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");hMe(t,r)&&Wg({actual:t,expected:r,message:n,operator:\"notStrictEqual\",stackStartFn:e})};var uMe=RMt(function e(t,r,n){var i=this;FMt(this,e),r.forEach(function(a){a in t&&(n!==void 0&&typeof n[a]==\"string\"&&XR(t[a])&&YR(t[a],n[a])?i[a]=n[a]:i[a]=t[a])})});function HMt(e,t,r,n,i,a){if(!(r in e)||!KR(e[r],t[r])){if(!n){var o=new uMe(e,i),s=new uMe(t,i,e),l=new V_({actual:o,expected:s,operator:\"deepStrictEqual\",stackStartFn:a});throw l.actual=e,l.expected=t,l.operator=a.name,l}Wg({actual:e,expected:t,message:n,operator:a.name,stackStartFn:a})}}function gMe(e,t,r,n){if(typeof t!=\"function\"){if(XR(t))return YR(t,e);if(arguments.length===2)throw new v5(\"expected\",[\"Function\",\"RegExp\"],t);if(jg(e)!==\"object\"||e===null){var i=new V_({actual:e,expected:t,message:r,operator:\"deepStrictEqual\",stackStartFn:n});throw i.operator=n.name,i}var a=Object.keys(t);if(t instanceof Error)a.push(\"name\",\"message\");else if(a.length===0)throw new OMt(\"error\",t,\"may not be an empty object\");return N_===void 0&&dE(),a.forEach(function(o){typeof e[o]==\"string\"&&XR(t[o])&&YR(t[o],e[o])||HMt(e,t,o,r,a,n)}),!0}return t.prototype!==void 0&&e instanceof t?!0:Error.isPrototypeOf(t)?!1:t.call({},e)===!0}function mMe(e){if(typeof e!=\"function\")throw new v5(\"fn\",\"Function\",e);try{e()}catch(t){return t}return JR}function cMe(e){return UMt(e)||e!==null&&jg(e)===\"object\"&&typeof e.then==\"function\"&&typeof e.catch==\"function\"}function yMe(e){return Promise.resolve().then(function(){var t;if(typeof e==\"function\"){if(t=e(),!cMe(t))throw new BMt(\"instance of Promise\",\"promiseFn\",t)}else if(cMe(e))t=e;else throw new v5(\"promiseFn\",[\"Function\",\"Promise\"],e);return Promise.resolve().then(function(){return t}).then(function(){return JR}).catch(function(r){return r})})}function _Me(e,t,r,n){if(typeof r==\"string\"){if(arguments.length===4)throw new v5(\"error\",[\"Object\",\"Error\",\"Function\",\"RegExp\"],r);if(jg(t)===\"object\"&&t!==null){if(t.message===r)throw new sMe(\"error/message\",'The error message \"'.concat(t.message,'\" is identical to the message.'))}else if(t===r)throw new sMe(\"error/message\",'The error \"'.concat(t,'\" is identical to the message.'));n=r,r=void 0}else if(r!=null&&jg(r)!==\"object\"&&typeof r!=\"function\")throw new v5(\"error\",[\"Object\",\"Error\",\"Function\",\"RegExp\"],r);if(t===JR){var i=\"\";r&&r.name&&(i+=\" (\".concat(r.name,\")\")),i+=n?\": \".concat(n):\".\";var a=e.name===\"rejects\"?\"rejection\":\"exception\";Wg({actual:void 0,expected:r,operator:e.name,message:\"Missing expected \".concat(a).concat(i),stackStartFn:e})}if(r&&!gMe(t,r,n,e))throw t}function xMe(e,t,r,n){if(t!==JR){if(typeof r==\"string\"&&(n=r,r=void 0),!r||gMe(t,r)){var i=n?\": \".concat(n):\".\",a=e.name===\"doesNotReject\"?\"rejection\":\"exception\";Wg({actual:t,expected:r,operator:e.name,message:\"Got unwanted \".concat(a).concat(i,`\n", - "`)+'Actual message: \"'.concat(t&&t.message,'\"'),stackStartFn:e})}throw t}}sf.throws=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];_Me.apply(void 0,[e,mMe(t)].concat(n))};sf.rejects=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];return yMe(t).then(function(a){return _Me.apply(void 0,[e,a].concat(n))})};sf.doesNotThrow=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];xMe.apply(void 0,[e,mMe(t)].concat(n))};sf.doesNotReject=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];return yMe(t).then(function(a){return xMe.apply(void 0,[e,a].concat(n))})};sf.ifError=function e(t){if(t!=null){var r=\"ifError got unwanted exception: \";jg(t)===\"object\"&&typeof t.message==\"string\"?t.message.length===0&&t.constructor?r+=t.constructor.name:r+=t.message:r+=ZR(t);var n=new V_({actual:t,expected:null,operator:\"ifError\",message:r,stackStartFn:e}),i=t.stack;if(typeof i==\"string\"){var a=i.split(`\n", - "`);a.shift();for(var o=n.stack.split(`\n", - "`),s=0;s<a.length;s++){var l=o.indexOf(a[s]);if(l!==-1){o=o.slice(0,l);break}}n.stack=\"\".concat(o.join(`\n", - "`),`\n", - "`).concat(a.join(`\n", - "`))}throw n}};function bMe(e,t,r,n,i){if(!XR(t))throw new v5(\"regexp\",\"RegExp\",t);var a=i===\"match\";if(typeof e!=\"string\"||YR(t,e)!==a){if(r instanceof Error)throw r;var o=!r;r=r||(typeof e!=\"string\"?'The \"string\" argument must be of type string. Received type '+\"\".concat(jg(e),\" (\").concat(ZR(e),\")\"):(a?\"The input did not match the regular expression \":\"The input was expected to not match the regular expression \")+\"\".concat(ZR(t),`. Input:\n", - "\n", - "`).concat(ZR(e),`\n", - "`));var s=new V_({actual:e,expected:t,message:r,operator:i,stackStartFn:n});throw s.generatedMessage=o,s}}sf.match=function e(t,r,n){bMe(t,r,n,e,\"match\")};sf.doesNotMatch=function e(t,r,n){bMe(t,r,n,e,\"doesNotMatch\")};function wMe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];vMe.apply(void 0,[wMe,t.length].concat(t))}sf.strict=VMt(wMe,sf,{equal:sf.strictEqual,deepEqual:sf.deepStrictEqual,notEqual:sf.notStrictEqual,notDeepEqual:sf.notDeepStrictEqual});sf.strict.strict=sf.strict});var SMe=ye((Rcr,AMe)=>{var vE=1e3,pE=vE*60,gE=pE*60,mE=gE*24,GMt=mE*365.25;AMe.exports=function(e,t){t=t||{};var r=typeof e;if(r===\"string\"&&e.length>0)return jMt(e);if(r===\"number\"&&isNaN(e)===!1)return t.long?ZMt(e):WMt(e);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(e))};function jMt(e){if(e=String(e),!(e.length>100)){var t=/^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||\"ms\").toLowerCase();switch(n){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return r*GMt;case\"days\":case\"day\":case\"d\":return r*mE;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return r*gE;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return r*pE;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return r*vE;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return r;default:return}}}}function WMt(e){return e>=mE?Math.round(e/mE)+\"d\":e>=gE?Math.round(e/gE)+\"h\":e>=pE?Math.round(e/pE)+\"m\":e>=vE?Math.round(e/vE)+\"s\":e+\"ms\"}function ZMt(e){return $R(e,mE,\"day\")||$R(e,gE,\"hour\")||$R(e,pE,\"minute\")||$R(e,vE,\"second\")||e+\" ms\"}function $R(e,t,r){if(!(e<t))return e<t*1.5?Math.floor(e/t)+\" \"+r:Math.ceil(e/t)+\" \"+r+\"s\"}});var EMe=ye(($u,MMe)=>{$u=MMe.exports=jj.debug=jj.default=jj;$u.coerce=$Mt;$u.disable=KMt;$u.enable=YMt;$u.enabled=JMt;$u.humanize=SMe();$u.names=[];$u.skips=[];$u.formatters={};var Gj;function XMt(e){var t=0,r;for(r in e)t=(t<<5)-t+e.charCodeAt(r),t|=0;return $u.colors[Math.abs(t)%$u.colors.length]}function jj(e){function t(){if(t.enabled){var r=t,n=+new Date,i=n-(Gj||n);r.diff=i,r.prev=Gj,r.curr=n,Gj=n;for(var a=new Array(arguments.length),o=0;o<a.length;o++)a[o]=arguments[o];a[0]=$u.coerce(a[0]),typeof a[0]!=\"string\"&&a.unshift(\"%O\");var s=0;a[0]=a[0].replace(/%([a-zA-Z%])/g,function(u,c){if(u===\"%%\")return u;s++;var f=$u.formatters[c];if(typeof f==\"function\"){var h=a[s];u=f.call(r,h),a.splice(s,1),s--}return u}),$u.formatArgs.call(r,a);var l=t.log||$u.log||console.log.bind(console);l.apply(r,a)}}return t.namespace=e,t.enabled=$u.enabled(e),t.useColors=$u.useColors(),t.color=XMt(e),typeof $u.init==\"function\"&&$u.init(t),t}function YMt(e){$u.save(e),$u.names=[],$u.skips=[];for(var t=(typeof e==\"string\"?e:\"\").split(/[\\s,]+/),r=t.length,n=0;n<r;n++)t[n]&&(e=t[n].replace(/\\*/g,\".*?\"),e[0]===\"-\"?$u.skips.push(new RegExp(\"^\"+e.substr(1)+\"$\")):$u.names.push(new RegExp(\"^\"+e+\"$\")))}function KMt(){$u.enable(\"\")}function JMt(e){var t,r;for(t=0,r=$u.skips.length;t<r;t++)if($u.skips[t].test(e))return!1;for(t=0,r=$u.names.length;t<r;t++)if($u.names[t].test(e))return!0;return!1}function $Mt(e){return e instanceof Error?e.stack||e.message:e}});var LMe=ye((lp,CMe)=>{lp=CMe.exports=EMe();lp.log=t4t;lp.formatArgs=e4t;lp.save=r4t;lp.load=kMe;lp.useColors=QMt;lp.storage=typeof chrome!=\"undefined\"&&typeof chrome.storage!=\"undefined\"?chrome.storage.local:i4t();lp.colors=[\"lightseagreen\",\"forestgreen\",\"goldenrod\",\"dodgerblue\",\"darkorchid\",\"crimson\"];function QMt(){return typeof window!=\"undefined\"&&window.process&&window.process.type===\"renderer\"?!0:typeof document!=\"undefined\"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=\"undefined\"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=\"undefined\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!=\"undefined\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)}lp.formatters.j=function(e){try{return JSON.stringify(e)}catch(t){return\"[UnexpectedJSONParseError]: \"+t.message}};function e4t(e){var t=this.useColors;if(e[0]=(t?\"%c\":\"\")+this.namespace+(t?\" %c\":\" \")+e[0]+(t?\"%c \":\" \")+\"+\"+lp.humanize(this.diff),!!t){var r=\"color: \"+this.color;e.splice(1,0,r,\"color: inherit\");var n=0,i=0;e[0].replace(/%[a-zA-Z%]/g,function(a){a!==\"%%\"&&(n++,a===\"%c\"&&(i=n))}),e.splice(i,0,r)}}function t4t(){return typeof console==\"object\"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function r4t(e){try{e==null?lp.storage.removeItem(\"debug\"):lp.storage.debug=e}catch(t){}}function kMe(){var e;try{e=lp.storage.debug}catch(t){}return!e&&typeof process!=\"undefined\"&&\"env\"in process&&(e=process.env.DEBUG),e}lp.enable(kMe());function i4t(){try{return window.localStorage}catch(e){}}});var OMe=ye((Dcr,qMe)=>{var p5=tE(),H_=LMe()(\"stream-parser\");qMe.exports=a4t;var IMe=-1,QR=0,n4t=1,RMe=2;function a4t(e){var t=e&&typeof e._transform==\"function\",r=e&&typeof e._write==\"function\";if(!t&&!r)throw new Error(\"must pass a Writable or Transform stream in\");H_(\"extending Parser into stream\"),e._bytes=o4t,e._skipBytes=s4t,t&&(e._passthrough=l4t),t?e._transform=c4t:e._write=u4t}function yE(e){H_(\"initializing parser stream\"),e._parserBytesLeft=0,e._parserBuffers=[],e._parserBuffered=0,e._parserState=IMe,e._parserCallback=null,typeof e.push==\"function\"&&(e._parserOutput=e.push.bind(e)),e._parserInit=!0}function o4t(e,t){p5(!this._parserCallback,'there is already a \"callback\" set!'),p5(isFinite(e)&&e>0,'can only buffer a finite number of bytes > 0, got \"'+e+'\"'),this._parserInit||yE(this),H_(\"buffering %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=QR}function s4t(e,t){p5(!this._parserCallback,'there is already a \"callback\" set!'),p5(e>0,'can only skip > 0 bytes, got \"'+e+'\"'),this._parserInit||yE(this),H_(\"skipping %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=n4t}function l4t(e,t){p5(!this._parserCallback,'There is already a \"callback\" set!'),p5(e>0,'can only pass through > 0 bytes, got \"'+e+'\"'),this._parserInit||yE(this),H_(\"passing through %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=RMe}function u4t(e,t,r){this._parserInit||yE(this),H_(\"write(%o bytes)\",e.length),typeof t==\"function\"&&(r=t),zMe(this,e,null,r)}function c4t(e,t,r){this._parserInit||yE(this),H_(\"transform(%o bytes)\",e.length),typeof t!=\"function\"&&(t=this._parserOutput),zMe(this,e,t,r)}function DMe(e,t,r,n){return e._parserBytesLeft<=0?n(new Error(\"got data but not currently parsing anything\")):t.length<=e._parserBytesLeft?function(){return PMe(e,t,r,n)}:function(){var i=t.slice(0,e._parserBytesLeft);return PMe(e,i,r,function(a){if(a)return n(a);if(t.length>i.length)return function(){return DMe(e,t.slice(i.length),r,n)}})}}function PMe(e,t,r,n){if(e._parserBytesLeft-=t.length,H_(\"%o bytes left for stream piece\",e._parserBytesLeft),e._parserState===QR?(e._parserBuffers.push(t),e._parserBuffered+=t.length):e._parserState===RMe&&r(t),e._parserBytesLeft===0){var i=e._parserCallback;if(i&&e._parserState===QR&&e._parserBuffers.length>1&&(t=Buffer.concat(e._parserBuffers,e._parserBuffered)),e._parserState!==QR&&(t=null),e._parserCallback=null,e._parserBuffered=0,e._parserState=IMe,e._parserBuffers.splice(0),i){var a=[];t&&a.push(t),r&&a.push(r);var o=i.length>a.length;o&&a.push(FMe(n));var s=i.apply(e,a);if(!o||n===s)return n}}else return n}var zMe=FMe(DMe);function FMe(e){return function(){for(var t=e.apply(this,arguments);typeof t==\"function\";)t=t();return t}}});var Eu=ye(Gy=>{\"use strict\";var BMe=PAe().Transform,f4t=OMe();function _E(){BMe.call(this,{readableObjectMode:!0})}_E.prototype=Object.create(BMe.prototype);_E.prototype.constructor=_E;f4t(_E.prototype);Gy.ParserStream=_E;Gy.sliceEq=function(e,t,r){for(var n=t,i=0;i<r.length;)if(e[n++]!==r[i++])return!1;return!0};Gy.str2arr=function(e,t){var r=[],n=0;if(t&&t===\"hex\")for(;n<e.length;)r.push(parseInt(e.slice(n,n+2),16)),n+=2;else for(;n<e.length;n++)r.push(e.charCodeAt(n)&255);return r};Gy.readUInt16LE=function(e,t){return e[t]|e[t+1]<<8};Gy.readUInt16BE=function(e,t){return e[t+1]|e[t]<<8};Gy.readUInt32LE=function(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]*16777216};Gy.readUInt32BE=function(e,t){return e[t+3]|e[t+2]<<8|e[t+1]<<16|e[t]*16777216};function eD(e,t,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||\"\",this.name=this.constructor.name,this.message=e,t&&(this.code=t),r&&(this.statusCode=r)}eD.prototype=Object.create(Error.prototype);eD.prototype.constructor=eD;Gy.ProbeError=eD});var NMe=ye((Fcr,tD)=>{\"use strict\";var g5=Eu().readUInt16BE,Zj=Eu().readUInt32BE;function xE(e,t){if(e.length<4+t)return null;var r=Zj(e,t);return e.length<r+t||r<8?null:{boxtype:String.fromCharCode.apply(null,e.slice(t+4,t+8)),data:e.slice(t+8,t+r),end:t+r}}tD.exports.unbox=xE;function h4t(e,t){for(var r=0;;){var n=xE(e,r);if(!n)break;switch(n.boxtype){case\"ispe\":t.sizes.push({width:Zj(n.data,4),height:Zj(n.data,8)});break;case\"irot\":t.transforms.push({type:\"irot\",value:n.data[0]&3});break;case\"imir\":t.transforms.push({type:\"imir\",value:n.data[0]&1});break}r=n.end}}function Wj(e,t,r){for(var n=0,i=0;i<r;i++)n=n*256+(e[t+i]||0);return n}function d4t(e,t){for(var r=e[4]>>4&15,n=e[4]&15,i=e[5]>>4&15,a=g5(e,6),o=8,s=0;s<a;s++){var l=g5(e,o);o+=2;var u=g5(e,o);o+=2;var c=Wj(e,o,i);o+=i;var f=g5(e,o);if(o+=2,u===0&&f===1){var h=Wj(e,o,r),d=Wj(e,o+r,n);t.item_loc[l]={length:d,offset:h+c}}o+=f*(r+n)}}function v4t(e,t){for(var r=g5(e,4),n=6,i=0;i<r;i++){var a=xE(e,n);if(!a)break;if(a.boxtype===\"infe\"){for(var o=g5(a.data,4),s=\"\",l=8;l<a.data.length&&a.data[l];l++)s+=String.fromCharCode(a.data[l]);t.item_inf[s]=o}n=a.end}}function p4t(e,t){for(var r=0;;){var n=xE(e,r);if(!n)break;n.boxtype===\"ipco\"&&h4t(n.data,t),r=n.end}}function g4t(e,t){for(var r=4;;){var n=xE(e,r);if(!n)break;n.boxtype===\"iprp\"&&p4t(n.data,t),n.boxtype===\"iloc\"&&d4t(n.data,t),n.boxtype===\"iinf\"&&v4t(n.data,t),r=n.end}}function m4t(e){var t=e.reduce(function(i,a){return i.width>a.width||i.width===a.width&&i.height>a.height?i:a}),r=e.reduce(function(i,a){return i.height>a.height||i.height===a.height&&i.width>a.width?i:a}),n;return t.width>r.height||t.width===r.height&&t.height>r.width?n=t:n=r,n}tD.exports.readSizeFromMeta=function(e){var t={sizes:[],transforms:[],item_inf:{},item_loc:{}};if(g4t(e,t),!!t.sizes.length){var r=m4t(t.sizes),n=1;t.transforms.forEach(function(a){var o={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},s={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if(a.type===\"imir\"&&(a.value===0?n=s[n]:(n=s[n],n=o[n],n=o[n])),a.type===\"irot\")for(var l=0;l<a.value;l++)n=o[n]});var i=null;return t.item_inf.Exif&&(i=t.item_loc[t.item_inf.Exif]),{width:r.width,height:r.height,orientation:t.transforms.length?n:null,variants:t.sizes,exif_location:i}}};tD.exports.getMimeType=function(e){var t=String.fromCharCode.apply(null,e.slice(0,4)),r={};r[t]=!0;for(var n=8;n<e.length;n+=4)r[String.fromCharCode.apply(null,e.slice(n,n+4))]=!0;if(!(!r.mif1&&!r.msf1&&!r.miaf))return t===\"avif\"||t===\"avis\"||t===\"avio\"?{type:\"avif\",mime:\"image/avif\"}:t===\"heic\"||t===\"heix\"?{type:\"heic\",mime:\"image/heic\"}:t===\"hevc\"||t===\"hevx\"?{type:\"heic\",mime:\"image/heic-sequence\"}:r.avif||r.avis?{type:\"avif\",mime:\"image/avif\"}:r.heic||r.heix||r.hevc||r.hevx||r.heis?r.msf1?{type:\"heif\",mime:\"image/heif-sequence\"}:{type:\"heif\",mime:\"image/heif\"}:{type:\"avif\",mime:\"image/avif\"}}});var iD=ye((qcr,Xj)=>{\"use strict\";function rD(e,t){var r=new Error(e);return r.code=t,r}function y4t(e){try{return decodeURIComponent(escape(e))}catch(t){return e}}function jy(e,t,r){this.input=e.subarray(t,r),this.start=t;var n=String.fromCharCode.apply(null,this.input.subarray(0,4));if(n!==\"II*\\0\"&&n!==\"MM\\0*\")throw rD(\"invalid TIFF signature\",\"EBADDATA\");this.big_endian=n[0]===\"M\"}jy.prototype.each=function(e){this.aborted=!1;var t=this.read_uint32(4);for(this.ifds_to_read=[{id:0,offset:t}];this.ifds_to_read.length>0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,e)}};jy.prototype.read_uint16=function(e){var t=this.input;if(e+2>t.length)throw rD(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?t[e]*256+t[e+1]:t[e]+t[e+1]*256};jy.prototype.read_uint32=function(e){var t=this.input;if(e+4>t.length)throw rD(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?t[e]*16777216+t[e+1]*65536+t[e+2]*256+t[e+3]:t[e]+t[e+1]*256+t[e+2]*65536+t[e+3]*16777216};jy.prototype.is_subifd_link=function(e,t){return e===0&&t===34665||e===0&&t===34853||e===34665&&t===40965};jy.prototype.exif_format_length=function(e){switch(e){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}};jy.prototype.exif_format_read=function(e,t){var r;switch(e){case 1:case 2:return r=this.input[t],r;case 6:return r=this.input[t],r|(r&128)*33554430;case 3:return r=this.read_uint16(t),r;case 8:return r=this.read_uint16(t),r|(r&32768)*131070;case 4:return r=this.read_uint32(t),r;case 9:return r=this.read_uint32(t),r|0;case 5:case 10:case 11:case 12:return null;case 7:return null;default:return null}};jy.prototype.scan_ifd=function(e,t,r){var n=this.read_uint16(t);t+=2;for(var i=0;i<n;i++){var a=this.read_uint16(t),o=this.read_uint16(t+2),s=this.read_uint32(t+4),l=this.exif_format_length(o),u=s*l,c=u<=4?t+8:this.read_uint32(t+8),f=!1;if(c+u>this.input.length)throw rD(\"unexpected EOF\",\"EBADDATA\");for(var h=[],d=c,v=0;v<s;v++,d+=l){var x=this.exif_format_read(o,d);if(x===null){h=null;break}h.push(x)}Array.isArray(h)&&o===2&&(h=y4t(String.fromCharCode.apply(null,h)),h&&h[h.length-1]===\"\\0\"&&(h=h.slice(0,-1))),this.is_subifd_link(e,a)&&Array.isArray(h)&&Number.isInteger(h[0])&&h[0]>0&&(this.ifds_to_read.push({id:a,offset:h[0]}),f=!0);var b={is_big_endian:this.big_endian,ifd:e,tag:a,format:o,count:s,entry_offset:t+this.start,data_length:u,data_offset:c+this.start,value:h,is_subifd_link:f};if(r(b)===!1){this.aborted=!0;return}t+=12}e===0&&this.ifds_to_read.push({id:1,offset:this.read_uint32(t)})};Xj.exports.ExifParser=jy;Xj.exports.get_orientation=function(e){var t=0;try{return new jy(e,0,e.length).each(function(r){if(r.ifd===0&&r.tag===274&&Array.isArray(r.value))return t=r.value[0],!1}),t}catch(r){return-1}}});var VMe=ye((Ocr,UMe)=>{\"use strict\";var _4t=Eu().str2arr,x4t=Eu().sliceEq,b4t=Eu().readUInt32BE,nD=NMe(),w4t=iD(),T4t=_4t(\"ftyp\");UMe.exports=function(e){if(x4t(e,4,T4t)){var t=nD.unbox(e,0);if(t){var r=nD.getMimeType(t.data);if(r){for(var n,i=t.end;;){var a=nD.unbox(e,i);if(!a)break;if(i=a.end,a.boxtype===\"mdat\")return;if(a.boxtype===\"meta\"){n=a.data;break}}if(n){var o=nD.readSizeFromMeta(n);if(o){var s={width:o.width,height:o.height,type:r.type,mime:r.mime,wUnits:\"px\",hUnits:\"px\"};if(o.variants.length>1&&(s.variants=o.variants),o.orientation&&(s.orientation=o.orientation),o.exif_location&&o.exif_location.offset+o.exif_location.length<=e.length){var l=b4t(e,o.exif_location.offset),u=e.slice(o.exif_location.offset+l+4,o.exif_location.offset+o.exif_location.length),c=w4t.get_orientation(u);c>0&&(s.orientation=c)}return s}}}}}}});var jMe=ye((Bcr,GMe)=>{\"use strict\";var A4t=Eu().str2arr,S4t=Eu().sliceEq,HMe=Eu().readUInt16LE,M4t=A4t(\"BM\");GMe.exports=function(e){if(!(e.length<26)&&S4t(e,0,M4t))return{width:HMe(e,18),height:HMe(e,22),type:\"bmp\",mime:\"image/bmp\",wUnits:\"px\",hUnits:\"px\"}}});var KMe=ye((Ncr,YMe)=>{\"use strict\";var XMe=Eu().str2arr,WMe=Eu().sliceEq,ZMe=Eu().readUInt16LE,E4t=XMe(\"GIF87a\"),k4t=XMe(\"GIF89a\");YMe.exports=function(e){if(!(e.length<10)&&!(!WMe(e,0,E4t)&&!WMe(e,0,k4t)))return{width:ZMe(e,6),height:ZMe(e,8),type:\"gif\",mime:\"image/gif\",wUnits:\"px\",hUnits:\"px\"}}});var QMe=ye((Ucr,$Me)=>{\"use strict\";var Yj=Eu().readUInt16LE,C4t=0,L4t=1,JMe=16;$Me.exports=function(e){var t=Yj(e,0),r=Yj(e,2),n=Yj(e,4);if(!(t!==C4t||r!==L4t||!n)){for(var i=[],a={width:0,height:0},o=0;o<n;o++){var s=e[6+JMe*o]||256,l=e[6+JMe*o+1]||256,u={width:s,height:l};i.push(u),(s>a.width||l>a.height)&&(a=u)}return{width:a.width,height:a.height,variants:i,type:\"ico\",mime:\"image/x-icon\",wUnits:\"px\",hUnits:\"px\"}}}});var t4e=ye((Vcr,e4e)=>{\"use strict\";var Kj=Eu().readUInt16BE,P4t=Eu().str2arr,I4t=Eu().sliceEq,R4t=iD(),D4t=P4t(\"Exif\\0\\0\");e4e.exports=function(e){if(!(e.length<2)&&!(e[0]!==255||e[1]!==216||e[2]!==255))for(var t=2;;){for(;;){if(e.length-t<2)return;if(e[t++]===255)break}for(var r=e[t++],n;r===255;)r=e[t++];if(208<=r&&r<=217||r===1)n=0;else if(192<=r&&r<=254){if(e.length-t<2)return;n=Kj(e,t)-2,t+=2}else return;if(r===217||r===218)return;var i;if(r===225&&n>=10&&I4t(e,t,D4t)&&(i=R4t.get_orientation(e.slice(t+6,t+n))),n>=5&&192<=r&&r<=207&&r!==196&&r!==200&&r!==204){if(e.length-t<n)return;var a={width:Kj(e,t+3),height:Kj(e,t+1),type:\"jpg\",mime:\"image/jpeg\",wUnits:\"px\",hUnits:\"px\"};return i>0&&(a.orientation=i),a}t+=n}}});var o4e=ye((Hcr,a4e)=>{\"use strict\";var n4e=Eu().str2arr,r4e=Eu().sliceEq,i4e=Eu().readUInt32BE,z4t=n4e(`\\x89PNG\\r\n", - "\u001a\n", - "`),F4t=n4e(\"IHDR\");a4e.exports=function(e){if(!(e.length<24)&&r4e(e,0,z4t)&&r4e(e,12,F4t))return{width:i4e(e,16),height:i4e(e,20),type:\"png\",mime:\"image/png\",wUnits:\"px\",hUnits:\"px\"}}});var u4e=ye((Gcr,l4e)=>{\"use strict\";var q4t=Eu().str2arr,O4t=Eu().sliceEq,s4e=Eu().readUInt32BE,B4t=q4t(\"8BPS\\0\u0001\");l4e.exports=function(e){if(!(e.length<22)&&O4t(e,0,B4t))return{width:s4e(e,18),height:s4e(e,14),type:\"psd\",mime:\"image/vnd.adobe.photoshop\",wUnits:\"px\",hUnits:\"px\"}}});var h4e=ye((jcr,f4e)=>{\"use strict\";function N4t(e){return e===32||e===9||e===13||e===10}function m5(e){return typeof e==\"number\"&&isFinite(e)&&e>0}function U4t(e){var t=0,r=e.length;for(e[0]===239&&e[1]===187&&e[2]===191&&(t=3);t<r&&N4t(e[t]);)t++;return t===r?!1:e[t]===60}var V4t=/<[-_.:a-zA-Z0-9][^>]*>/,H4t=/^<([-_.:a-zA-Z0-9]+:)?svg\\s/,G4t=/[^-]\\bwidth=\"([^%]+?)\"|[^-]\\bwidth='([^%]+?)'/,j4t=/\\bheight=\"([^%]+?)\"|\\bheight='([^%]+?)'/,W4t=/\\bview[bB]ox=\"(.+?)\"|\\bview[bB]ox='(.+?)'/,c4e=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function Z4t(e){var t=e.match(G4t),r=e.match(j4t),n=e.match(W4t);return{width:t&&(t[1]||t[2]),height:r&&(r[1]||r[2]),viewbox:n&&(n[1]||n[2])}}function Nm(e){return c4e.test(e)?e.match(c4e)[0]:\"px\"}f4e.exports=function(e){if(U4t(e)){for(var t=\"\",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);var n=(t.match(V4t)||[\"\"])[0];if(H4t.test(n)){var i=Z4t(n),a=parseFloat(i.width),o=parseFloat(i.height);if(i.width&&i.height)return!m5(a)||!m5(o)?void 0:{width:a,height:o,type:\"svg\",mime:\"image/svg+xml\",wUnits:Nm(i.width),hUnits:Nm(i.height)};var s=(i.viewbox||\"\").split(\" \"),l={width:s[2],height:s[3]},u=parseFloat(l.width),c=parseFloat(l.height);if(!(!m5(u)||!m5(c))&&Nm(l.width)===Nm(l.height)){var f=u/c;return i.width?m5(a)?{width:a,height:a/f,type:\"svg\",mime:\"image/svg+xml\",wUnits:Nm(i.width),hUnits:Nm(i.width)}:void 0:i.height?m5(o)?{width:o*f,height:o,type:\"svg\",mime:\"image/svg+xml\",wUnits:Nm(i.height),hUnits:Nm(i.height)}:void 0:{width:u,height:c,type:\"svg\",mime:\"image/svg+xml\",wUnits:Nm(l.width),hUnits:Nm(l.height)}}}}}});var m4e=ye((Wcr,g4e)=>{\"use strict\";var p4e=Eu().str2arr,d4e=Eu().sliceEq,X4t=Eu().readUInt16LE,Y4t=Eu().readUInt16BE,K4t=Eu().readUInt32LE,J4t=Eu().readUInt32BE,$4t=p4e(\"II*\\0\"),Q4t=p4e(\"MM\\0*\");function aD(e,t,r){return r?Y4t(e,t):X4t(e,t)}function Jj(e,t,r){return r?J4t(e,t):K4t(e,t)}function v4e(e,t,r){var n=aD(e,t+2,r),i=Jj(e,t+4,r);return i!==1||n!==3&&n!==4?null:n===3?aD(e,t+8,r):Jj(e,t+8,r)}g4e.exports=function(e){if(!(e.length<8)&&!(!d4e(e,0,$4t)&&!d4e(e,0,Q4t))){var t=e[0]===77,r=Jj(e,4,t)-8;if(!(r<0)){var n=r+8;if(!(e.length-n<2)){var i=aD(e,n+0,t)*12;if(!(i<=0)&&(n+=2,!(e.length-n<i))){var a,o,s,l;for(a=0;a<i;a+=12)l=aD(e,n+a,t),l===256?o=v4e(e,n+a,t):l===257&&(s=v4e(e,n+a,t));if(o&&s)return{width:o,height:s,type:\"tiff\",mime:\"image/tiff\",wUnits:\"px\",hUnits:\"px\"}}}}}}});var w4e=ye((Zcr,b4e)=>{\"use strict\";var x4e=Eu().str2arr,y4e=Eu().sliceEq,_4e=Eu().readUInt16LE,$j=Eu().readUInt32LE,eEt=iD(),tEt=x4e(\"RIFF\"),rEt=x4e(\"WEBP\");function iEt(e,t){if(!(e[t+3]!==157||e[t+4]!==1||e[t+5]!==42))return{width:_4e(e,t+6)&16383,height:_4e(e,t+8)&16383,type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}function nEt(e,t){if(e[t]===47){var r=$j(e,t+1);return{width:(r&16383)+1,height:(r>>14&16383)+1,type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}}function aEt(e,t){return{width:(e[t+6]<<16|e[t+5]<<8|e[t+4])+1,height:(e[t+9]<<t|e[t+8]<<8|e[t+7])+1,type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}b4e.exports=function(e){if(!(e.length<16)&&!(!y4e(e,0,tEt)&&!y4e(e,8,rEt))){var t=12,r=null,n=0,i=$j(e,4)+8;if(!(i>e.length)){for(;t+8<i;){if(e[t]===0){t++;continue}var a=String.fromCharCode.apply(null,e.slice(t,t+4)),o=$j(e,t+4);a===\"VP8 \"&&o>=10?r=r||iEt(e,t+8):a===\"VP8L\"&&o>=9?r=r||nEt(e,t+8):a===\"VP8X\"&&o>=10?r=r||aEt(e,t+8):a===\"EXIF\"&&(n=eEt.get_orientation(e.slice(t+8,t+8+o)),t=1/0),t+=8+o}if(r)return n>0&&(r.orientation=n),r}}}});var A4e=ye((Xcr,T4e)=>{\"use strict\";T4e.exports={avif:VMe(),bmp:jMe(),gif:KMe(),ico:QMe(),jpeg:t4e(),png:o4e(),psd:u4e(),svg:h4e(),tiff:m4e(),webp:w4e()}});var S4e=ye((Ycr,eW)=>{\"use strict\";var Qj=A4e();function oEt(e){for(var t=Object.keys(Qj),r=0;r<t.length;r++){var n=Qj[t[r]](e);if(n)return n}return null}eW.exports=function(t){return oEt(t)};eW.exports.parsers=Qj});var E4e=ye(M4e=>{\"use strict\";var sEt=S4e(),lEt=Ly().IMAGE_URL_PREFIX,uEt=u2().Buffer;M4e.getImageSize=function(e){var t=e.replace(lEt,\"\"),r=new uEt(t,\"base64\");return sEt(r)}});var L4e=ye((Jcr,C4e)=>{\"use strict\";var k4e=Mr(),cEt=jT(),fEt=uo(),oD=Qa(),hEt=Mr().maxRowLength,dEt=E4e().getImageSize;C4e.exports=function(t,r){var n,i;if(r._hasZ)n=r.z.length,i=hEt(r.z);else if(r._hasSource){var a=dEt(r.source);n=a.height,i=a.width}var o=oD.getFromId(t,r.xaxis||\"x\"),s=oD.getFromId(t,r.yaxis||\"y\"),l=o.d2c(r.x0)-r.dx/2,u=s.d2c(r.y0)-r.dy/2,c,f=[l,l+i*r.dx],h=[u,u+n*r.dy];if(o&&o.type===\"log\")for(c=0;c<i;c++)f.push(l+c*r.dx);if(s&&s.type===\"log\")for(c=0;c<n;c++)h.push(u+c*r.dy);r._extremes[o._id]=oD.findExtremes(o,f),r._extremes[s._id]=oD.findExtremes(s,h),r._scaler=gEt(r);var d={x0:l,y0:u,z:r.z,w:i,h:n};return[d]};function vEt(e,t,r,n){return function(i){return k4e.constrain((i-e)*t,r,n)}}function pEt(e,t){return function(r){return k4e.constrain(r,e,t)}}function gEt(e){var t=cEt.colormodel[e.colormodel],r=t.colormodel||e.colormodel,n=r.length;e._sArray=[];for(var i=0;i<n;i++)t.min[i]!==e.zmin[i]||t.max[i]!==e.zmax[i]?e._sArray.push(vEt(e.zmin[i],(t.max[i]-t.min[i])/(e.zmax[i]-e.zmin[i]),t.min[i],t.max[i])):e._sArray.push(pEt(t.min[i],t.max[i]));return function(a){for(var o=a.slice(0,n),s=0;s<n;s++){var l=o[s];if(!fEt(l))return!1;o[s]=e._sArray[s](l)}return o}}});var R4e=ye(($cr,I4e)=>{\"use strict\";var mEt=xa(),T2=Mr(),P4e=T2.strTranslate,yEt=Zp(),_Et=jT(),xEt=jV(),bEt=o8().STYLE;I4e.exports=function(t,r,n,i){var a=r.xaxis,o=r.yaxis,s=!t._context._exportedPlot&&xEt();T2.makeTraceGroups(i,n,\"im\").each(function(l){var u=mEt.select(this),c=l[0],f=c.trace,h=(f.zsmooth===\"fast\"||f.zsmooth===!1&&s)&&!f._hasZ&&f._hasSource&&a.type===\"linear\"&&o.type===\"linear\";f._realImage=h;var d=c.z,v=c.x0,x=c.y0,b=c.w,p=c.h,E=f.dx,k=f.dy,A,L,_,C,M,g;for(g=0;A===void 0&&g<b;)A=a.c2p(v+g*E),g++;for(g=b;L===void 0&&g>0;)L=a.c2p(v+g*E),g--;for(g=0;C===void 0&&g<p;)C=o.c2p(x+g*k),g++;for(g=p;M===void 0&&g>0;)M=o.c2p(x+g*k),g--;if(L<A&&(_=L,L=A,A=_),M<C&&(_=C,C=M,M=_),!h){var P=.5;A=Math.max(-P*a._length,A),L=Math.min((1+P)*a._length,L),C=Math.max(-P*o._length,C),M=Math.min((1+P)*o._length,M)}var T=Math.round(L-A),F=Math.round(M-C),q=T<=0||F<=0;if(q){var V=u.selectAll(\"image\").data([]);V.exit().remove();return}function H(ge){var ie=document.createElement(\"canvas\");ie.width=T,ie.height=F;var Te=ie.getContext(\"2d\",{willReadFrequently:!0}),Ee=function(rt){return T2.constrain(Math.round(a.c2p(v+rt*E)-A),0,T)},Ae=function(rt){return T2.constrain(Math.round(o.c2p(x+rt*k)-C),0,F)},ze=_Et.colormodel[f.colormodel],Ce=ze.colormodel||f.colormodel,me=ze.fmt,Re;for(g=0;g<c.w;g++){var ce=Ee(g),Ge=Ee(g+1);if(!(Ge===ce||isNaN(Ge)||isNaN(ce)))for(var nt=0;nt<c.h;nt++){var ct=Ae(nt),qt=Ae(nt+1);qt===ct||isNaN(qt)||isNaN(ct)||!ge(g,nt)||(Re=f._scaler(ge(g,nt)),Re?Te.fillStyle=Ce+\"(\"+me(Re).join(\",\")+\")\":Te.fillStyle=\"rgba(0,0,0,0)\",Te.fillRect(ce,ct,Ge-ce,qt-ct))}}return ie}var X=u.selectAll(\"image\").data([l]);X.enter().append(\"svg:image\").attr({xmlns:yEt.svg,preserveAspectRatio:\"none\"}),X.exit().remove();var G=f.zsmooth===!1?bEt:\"\";if(h){var N=T2.simpleMap(a.range,a.r2l),W=T2.simpleMap(o.range,o.r2l),re=N[1]<N[0],ae=W[1]>W[0];if(re||ae){var _e=A+T/2,Me=C+F/2;G+=\"transform:\"+P4e(_e+\"px\",Me+\"px\")+\"scale(\"+(re?-1:1)+\",\"+(ae?-1:1)+\")\"+P4e(-_e+\"px\",-Me+\"px\")+\";\"}}X.attr(\"style\",G);var ke=new Promise(function(ge){if(f._hasZ)ge();else if(f._hasSource)if(f._canvas&&f._canvas.el.width===b&&f._canvas.el.height===p&&f._canvas.source===f.source)ge();else{var ie=document.createElement(\"canvas\");ie.width=b,ie.height=p;var Te=ie.getContext(\"2d\",{willReadFrequently:!0});f._image=f._image||new Image;var Ee=f._image;Ee.onload=function(){Te.drawImage(Ee,0,0),f._canvas={el:ie,source:f.source},ge()},Ee.setAttribute(\"src\",f.source)}}).then(function(){var ge,ie;if(f._hasZ)ie=H(function(Ae,ze){var Ce=d[ze][Ae];return T2.isTypedArray(Ce)&&(Ce=Array.from(Ce)),Ce}),ge=ie.toDataURL(\"image/png\");else if(f._hasSource)if(h)ge=f.source;else{var Te=f._canvas.el.getContext(\"2d\",{willReadFrequently:!0}),Ee=Te.getImageData(0,0,b,p).data;ie=H(function(Ae,ze){var Ce=4*(ze*b+Ae);return[Ee[Ce],Ee[Ce+1],Ee[Ce+2],Ee[Ce+3]]}),ge=ie.toDataURL(\"image/png\")}X.attr({\"xlink:href\":ge,height:F,width:T,x:A,y:C})});t._promises.push(ke)})}});var z4e=ye((Qcr,D4e)=>{\"use strict\";var wEt=xa();D4e.exports=function(t){wEt.select(t).selectAll(\".im image\").style(\"opacity\",function(r){return r[0].trace.opacity})}});var B4e=ye((efr,O4e)=>{\"use strict\";var F4e=Nc(),q4e=Mr(),sD=q4e.isArrayOrTypedArray,TEt=jT();O4e.exports=function(t,r,n){var i=t.cd[0],a=i.trace,o=t.xa,s=t.ya;if(!(F4e.inbox(r-i.x0,r-(i.x0+i.w*a.dx),0)>0||F4e.inbox(n-i.y0,n-(i.y0+i.h*a.dy),0)>0)){var l=Math.floor((r-i.x0)/a.dx),u=Math.floor(Math.abs(n-i.y0)/a.dy),c;if(a._hasZ?c=i.z[u][l]:a._hasSource&&(c=a._canvas.el.getContext(\"2d\",{willReadFrequently:!0}).getImageData(l,u,1,1).data),!!c){var f=i.hi||a.hoverinfo,h;if(f){var d=f.split(\"+\");d.indexOf(\"all\")!==-1&&(d=[\"color\"]),d.indexOf(\"color\")!==-1&&(h=!0)}var v=TEt.colormodel[a.colormodel],x=v.colormodel||a.colormodel,b=x.length,p=a._scaler(c),E=v.suffix,k=[];(a.hovertemplate||h)&&(k.push(\"[\"+[p[0]+E[0],p[1]+E[1],p[2]+E[2]].join(\", \")),b===4&&k.push(\", \"+p[3]+E[3]),k.push(\"]\"),k=k.join(\"\"),t.extraText=x.toUpperCase()+\": \"+k);var A;sD(a.hovertext)&&sD(a.hovertext[u])?A=a.hovertext[u][l]:sD(a.text)&&sD(a.text[u])&&(A=a.text[u][l]);var L=s.c2p(i.y0+(u+.5)*a.dy),_=i.x0+(l+.5)*a.dx,C=i.y0+(u+.5)*a.dy,M=\"[\"+c.slice(0,a.colormodel.length).join(\", \")+\"]\";return[q4e.extendFlat(t,{index:[u,l],x0:o.c2p(i.x0+l*a.dx),x1:o.c2p(i.x0+(l+1)*a.dx),y0:L,y1:L,color:p,xVal:_,xLabelVal:_,yVal:C,yLabelVal:C,zLabelVal:M,text:A,hovertemplateLabels:{zLabel:M,colorLabel:k,\"color[0]Label\":p[0]+E[0],\"color[1]Label\":p[1]+E[1],\"color[2]Label\":p[2]+E[2],\"color[3]Label\":p[3]+E[3]}})]}}}});var U4e=ye((tfr,N4e)=>{\"use strict\";N4e.exports=function(t,r){return\"xVal\"in r&&(t.x=r.xVal),\"yVal\"in r&&(t.y=r.yVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t.color=r.color,t.colormodel=r.trace.colormodel,t.z||(t.z=r.color),t}});var H4e=ye((rfr,V4e)=>{\"use strict\";V4e.exports={attributes:tG(),supplyDefaults:T3e(),calc:L4e(),plot:R4e(),style:z4e(),hoverPoints:B4e(),eventData:U4e(),moduleType:\"trace\",name:\"image\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"noSortingByValue\"],animatable:!1,meta:{}}});var j4e=ye((ifr,G4e)=>{\"use strict\";G4e.exports=H4e()});var A2=ye((nfr,W4e)=>{\"use strict\";var AEt=vl(),SEt=Ju().attributes,MEt=Su(),EEt=dh(),kEt=Wo().hovertemplateAttrs,CEt=Wo().texttemplateAttrs,bE=no().extendFlat,LEt=Ed().pattern,lD=MEt({editType:\"plot\",arrayOk:!0,colorEditType:\"plot\"});W4e.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:EEt.defaultLine,arrayOk:!0,editType:\"style\"},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"style\"},editType:\"calc\"},pattern:LEt,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:bE({},AEt.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:kEt({},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),texttemplate:CEt({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"plot\"},textfont:bE({},lD,{}),insidetextorientation:{valType:\"enumerated\",values:[\"horizontal\",\"radial\",\"tangential\",\"auto\"],dflt:\"auto\",editType:\"plot\"},insidetextfont:bE({},lD,{}),outsidetextfont:bE({},lD,{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"plot\"},font:bE({},lD,{}),position:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle center\",\"bottom left\",\"bottom center\",\"bottom right\"],editType:\"plot\"},editType:\"plot\"},domain:SEt({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\"}}});var S2=ye((afr,Y4e)=>{\"use strict\";var PEt=uo(),wE=Mr(),IEt=A2(),REt=Ju().defaults,DEt=r0().handleText,zEt=Mr().coercePattern;function Z4e(e,t){var r=wE.isArrayOrTypedArray(e),n=wE.isArrayOrTypedArray(t),i=Math.min(r?e.length:1/0,n?t.length:1/0);if(isFinite(i)||(i=0),i&&n){for(var a,o=0;o<i;o++){var s=t[o];if(PEt(s)&&s>0){a=!0;break}}a||(i=0)}return{hasLabels:r,hasValues:n,len:i}}function X4e(e,t,r,n,i){var a=n(\"marker.line.width\");a&&n(\"marker.line.color\",i?void 0:r.paper_bgcolor);var o=n(\"marker.colors\");zEt(n,\"marker.pattern\",o),e.marker&&!t.marker.pattern.fgcolor&&(t.marker.pattern.fgcolor=e.marker.colors),t.marker.pattern.bgcolor||(t.marker.pattern.bgcolor=r.paper_bgcolor)}function FEt(e,t,r,n){function i(E,k){return wE.coerce(e,t,IEt,E,k)}var a=i(\"labels\"),o=i(\"values\"),s=Z4e(a,o),l=s.len;if(t._hasLabels=s.hasLabels,t._hasValues=s.hasValues,!t._hasLabels&&t._hasValues&&(i(\"label0\"),i(\"dlabel\")),!l){t.visible=!1;return}t._length=l,X4e(e,t,n,i,!0),i(\"scalegroup\");var u=i(\"text\"),c=i(\"texttemplate\"),f;if(c||(f=i(\"textinfo\",wE.isArrayOrTypedArray(u)?\"text+percent\":\"percent\")),i(\"hovertext\"),i(\"hovertemplate\"),c||f&&f!==\"none\"){var h=i(\"textposition\");DEt(e,t,n,i,h,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1});var d=Array.isArray(h)||h===\"auto\",v=d||h===\"outside\";v&&i(\"automargin\"),(h===\"inside\"||h===\"auto\"||Array.isArray(h))&&i(\"insidetextorientation\")}else f===\"none\"&&i(\"textposition\",\"none\");REt(t,n,i);var x=i(\"hole\"),b=i(\"title.text\");if(b){var p=i(\"title.position\",x?\"middle center\":\"top center\");!x&&p===\"middle center\"&&(t.title.position=\"top center\"),wE.coerceFont(i,\"title.font\",n.font)}i(\"sort\"),i(\"direction\"),i(\"rotation\"),i(\"pull\")}Y4e.exports={handleLabelsAndValues:Z4e,handleMarkerDefaults:X4e,supplyDefaults:FEt}});var uD=ye((ofr,K4e)=>{\"use strict\";K4e.exports={hiddenlabels:{valType:\"data_array\",editType:\"calc\"},piecolorway:{valType:\"colorlist\",editType:\"calc\"},extendpiecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var $4e=ye((sfr,J4e)=>{\"use strict\";var qEt=Mr(),OEt=uD();J4e.exports=function(t,r){function n(i,a){return qEt.coerce(t,r,OEt,i,a)}n(\"hiddenlabels\"),n(\"piecolorway\",r.colorway),n(\"extendpiecolors\")}});var y5=ye((lfr,tEe)=>{\"use strict\";var BEt=uo(),tW=id(),NEt=va(),UEt={};function VEt(e,t){var r=[],n=e._fullLayout,i=n.hiddenlabels||[],a=t.labels,o=t.marker.colors||[],s=t.values,l=t._length,u=t._hasValues&&l,c,f;if(t.dlabel)for(a=new Array(l),c=0;c<l;c++)a[c]=String(t.label0+c*t.dlabel);var h={},d=Q4e(n[\"_\"+t.type+\"colormap\"]),v=0,x=!1;for(c=0;c<l;c++){var b,p,E;if(u){if(b=s[c],!BEt(b))continue;b=+b}else b=1;p=a[c],(p===void 0||p===\"\")&&(p=c),p=String(p);var k=h[p];k===void 0?(h[p]=r.length,E=i.indexOf(p)!==-1,E||(v+=b),r.push({v:b,label:p,color:d(o[c],p),i:c,pts:[c],hidden:E})):(x=!0,f=r[k],f.v+=b,f.pts.push(c),f.hidden||(v+=b),f.color===!1&&o[c]&&(f.color=d(o[c],p)))}r=r.filter(function(L){return L.v>=0});var A=t.type===\"funnelarea\"?x:t.sort;return A&&r.sort(function(L,_){return _.v-L.v}),r[0]&&(r[0].vTotal=v),r}function Q4e(e){return function(r,n){return!r||(r=tW(r),!r.isValid())?!1:(r=NEt.addOpacity(r,r.getAlpha()),e[n]||(e[n]=r),r)}}function HEt(e,t){var r=(t||{}).type;r||(r=\"pie\");var n=e._fullLayout,i=e.calcdata,a=n[r+\"colorway\"],o=n[\"_\"+r+\"colormap\"];n[\"extend\"+r+\"colors\"]&&(a=eEe(a,UEt));for(var s=0,l=0;l<i.length;l++){var u=i[l],c=u[0].trace.type;if(c===r)for(var f=0;f<u.length;f++){var h=u[f];h.color===!1&&(o[h.label]?h.color=o[h.label]:(o[h.label]=h.color=a[s%a.length],s++))}}}function eEe(e,t){var r,n=JSON.stringify(e),i=t[n];if(!i){for(i=e.slice(),r=0;r<e.length;r++)i.push(tW(e[r]).lighten(20).toHexString());for(r=0;r<e.length;r++)i.push(tW(e[r]).darken(20).toHexString());t[n]=i}return i}tEe.exports={calc:VEt,crossTraceCalc:HEt,makePullColorFn:Q4e,generateExtendedColors:eEe}});var iEe=ye((ufr,rEe)=>{\"use strict\";var GEt=rp().appendArrayMultiPointValues;rEe.exports=function(t,r){var n={curveNumber:r.index,pointNumbers:t.pts,data:r._input,fullData:r,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return t.pts.length===1&&(n.pointNumber=n.i=t.pts[0]),GEt(n,r,t.pts),r.type===\"funnelarea\"&&(delete n.v,delete n.i),n}});var dD=ye((cfr,AEe)=>{\"use strict\";var zp=xa(),jEt=Xu(),cD=Nc(),uEe=va(),Wy=ao(),ev=Mr(),WEt=ev.strScale,nEe=ev.strTranslate,rW=Pl(),cEe=_v(),ZEt=cEe.recordMinTextSize,XEt=cEe.clearMinTextSize,fEe=Qb().TEXTPAD,Zo=u_(),fD=iEe(),aEe=Mr().isValidTextValue;function YEt(e,t){var r=e._context.staticPlot,n=e._fullLayout,i=n._size;XEt(\"pie\",n),vEe(t,e),bEe(t,i);var a=ev.makeTraceGroups(n._pielayer,t,\"trace\").each(function(o){var s=zp.select(this),l=o[0],u=l.trace;nkt(o),s.attr(\"stroke-linejoin\",\"round\"),s.each(function(){var c=zp.select(this).selectAll(\"g.slice\").data(o);c.enter().append(\"g\").classed(\"slice\",!0),c.exit().remove();var f=[[[],[]],[[],[]]],h=!1;c.each(function(A,L){if(A.hidden){zp.select(this).selectAll(\"path,g\").remove();return}A.pointNumber=A.i,A.curveNumber=u.index,f[A.pxmid[1]<0?0:1][A.pxmid[0]<0?0:1].push(A);var _=l.cx,C=l.cy,M=zp.select(this),g=M.selectAll(\"path.surface\").data([A]);if(g.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":r?\"none\":\"all\"}),M.call(hEe,e,o),u.pull){var P=+Zo.castOption(u.pull,A.pts)||0;P>0&&(_+=P*A.pxmid[0],C+=P*A.pxmid[1])}A.cxFinal=_,A.cyFinal=C;function T(N,W,re,ae){var _e=ae*(W[0]-N[0]),Me=ae*(W[1]-N[1]);return\"a\"+ae*l.r+\",\"+ae*l.r+\" 0 \"+A.largeArc+(re?\" 1 \":\" 0 \")+_e+\",\"+Me}var F=u.hole;if(A.v===l.vTotal){var q=\"M\"+(_+A.px0[0])+\",\"+(C+A.px0[1])+T(A.px0,A.pxmid,!0,1)+T(A.pxmid,A.px0,!0,1)+\"Z\";F?g.attr(\"d\",\"M\"+(_+F*A.px0[0])+\",\"+(C+F*A.px0[1])+T(A.px0,A.pxmid,!1,F)+T(A.pxmid,A.px0,!1,F)+\"Z\"+q):g.attr(\"d\",q)}else{var V=T(A.px0,A.px1,!0,1);if(F){var H=1-F;g.attr(\"d\",\"M\"+(_+F*A.px1[0])+\",\"+(C+F*A.px1[1])+T(A.px1,A.px0,!1,F)+\"l\"+H*A.px0[0]+\",\"+H*A.px0[1]+V+\"Z\")}else g.attr(\"d\",\"M\"+_+\",\"+C+\"l\"+A.px0[0]+\",\"+A.px0[1]+V+\"Z\")}wEe(e,A,l);var X=Zo.castOption(u.textposition,A.pts),G=M.selectAll(\"g.slicetext\").data(A.text&&X!==\"none\"?[0]:[]);G.enter().append(\"g\").classed(\"slicetext\",!0),G.exit().remove(),G.each(function(){var N=ev.ensureSingle(zp.select(this),\"text\",\"\",function(ie){ie.attr(\"data-notex\",1)}),W=ev.ensureUniformFontSize(e,X===\"outside\"?JEt(u,A,n.font):dEe(u,A,n.font));N.text(A.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(Wy.font,W).call(rW.convertToTspans,e);var re=Wy.bBox(N.node()),ae;if(X===\"outside\")ae=lEe(re,A);else if(ae=pEe(re,A,l),X===\"auto\"&&ae.scale<1){var _e=ev.ensureUniformFontSize(e,u.outsidetextfont);N.call(Wy.font,_e),re=Wy.bBox(N.node()),ae=lEe(re,A)}var Me=ae.textPosAngle,ke=Me===void 0?A.pxmid:hD(l.r,Me);if(ae.targetX=_+ke[0]*ae.rCenter+(ae.x||0),ae.targetY=C+ke[1]*ae.rCenter+(ae.y||0),TEe(ae,re),ae.outside){var ge=ae.targetY;A.yLabelMin=ge-re.height/2,A.yLabelMid=ge,A.yLabelMax=ge+re.height/2,A.labelExtraX=0,A.labelExtraY=0,h=!0}ae.fontSize=W.size,ZEt(u.type,ae,n),o[L].transform=ae,ev.setTransormAndDisplay(N,ae)})});var d=zp.select(this).selectAll(\"g.titletext\").data(u.title.text?[0]:[]);if(d.enter().append(\"g\").classed(\"titletext\",!0),d.exit().remove(),d.each(function(){var A=ev.ensureSingle(zp.select(this),\"text\",\"\",function(C){C.attr(\"data-notex\",1)}),L=u.title.text;u._meta&&(L=ev.templateString(L,u._meta)),A.text(L).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(Wy.font,u.title.font).call(rW.convertToTspans,e);var _;u.title.position===\"middle center\"?_=ekt(l):_=_Ee(l,i),A.attr(\"transform\",nEe(_.x,_.y)+WEt(Math.min(1,_.scale))+nEe(_.tx,_.ty))}),h&&rkt(f,u),KEt(c,u),h&&u.automargin){var v=Wy.bBox(s.node()),x=u.domain,b=i.w*(x.x[1]-x.x[0]),p=i.h*(x.y[1]-x.y[0]),E=(.5*b-l.r)/i.w,k=(.5*p-l.r)/i.h;jEt.autoMargin(e,\"pie.\"+u.uid+\".automargin\",{xl:x.x[0]-E,xr:x.x[1]+E,yb:x.y[0]-k,yt:x.y[1]+k,l:Math.max(l.cx-l.r-v.left,0),r:Math.max(v.right-(l.cx+l.r),0),b:Math.max(v.bottom-(l.cy+l.r),0),t:Math.max(l.cy-l.r-v.top,0),pad:5})}})});setTimeout(function(){a.selectAll(\"tspan\").each(function(){var o=zp.select(this);o.attr(\"dy\")&&o.attr(\"dy\",o.attr(\"dy\"))})},0)}function KEt(e,t){e.each(function(r){var n=zp.select(this);if(!r.labelExtraX&&!r.labelExtraY){n.select(\"path.textline\").remove();return}var i=n.select(\"g.slicetext text\");r.transform.targetX+=r.labelExtraX,r.transform.targetY+=r.labelExtraY,ev.setTransormAndDisplay(i,r.transform);var a=r.cxFinal+r.pxmid[0],o=r.cyFinal+r.pxmid[1],s=\"M\"+a+\",\"+o,l=(r.yLabelMax-r.yLabelMin)*(r.pxmid[0]<0?-1:1)/4;if(r.labelExtraX){var u=r.labelExtraX*r.pxmid[1]/r.pxmid[0],c=r.yLabelMid+r.labelExtraY-(r.cyFinal+r.pxmid[1]);Math.abs(u)>Math.abs(c)?s+=\"l\"+c*r.pxmid[0]/r.pxmid[1]+\",\"+c+\"H\"+(a+r.labelExtraX+l):s+=\"l\"+r.labelExtraX+\",\"+u+\"v\"+(c-u)+\"h\"+l}else s+=\"V\"+(r.yLabelMid+r.labelExtraY)+\"h\"+l;ev.ensureSingle(n,\"path\",\"textline\").call(uEe.stroke,t.outsidetextfont.color).attr({\"stroke-width\":Math.min(2,t.outsidetextfont.size/8),d:s,fill:\"none\"})})}function hEe(e,t,r){var n=r[0],i=n.cx,a=n.cy,o=n.trace,s=o.type===\"funnelarea\";\"_hasHoverLabel\"in o||(o._hasHoverLabel=!1),\"_hasHoverEvent\"in o||(o._hasHoverEvent=!1),e.on(\"mouseover\",function(l){var u=t._fullLayout,c=t._fullData[o.index];if(!(t._dragging||u.hovermode===!1)){var f=c.hoverinfo;if(Array.isArray(f)&&(f=cD.castHoverinfo({hoverinfo:[Zo.castOption(f,l.pts)],_module:o._module},u,0)),f===\"all\"&&(f=\"label+text+value+percent+name\"),c.hovertemplate||f!==\"none\"&&f!==\"skip\"&&f){var h=l.rInscribed||0,d=i+l.pxmid[0]*(1-h),v=a+l.pxmid[1]*(1-h),x=u.separators,b=[];if(f&&f.indexOf(\"label\")!==-1&&b.push(l.label),l.text=Zo.castOption(c.hovertext||c.text,l.pts),f&&f.indexOf(\"text\")!==-1){var p=l.text;ev.isValidTextValue(p)&&b.push(p)}l.value=l.v,l.valueLabel=Zo.formatPieValue(l.v,x),f&&f.indexOf(\"value\")!==-1&&b.push(l.valueLabel),l.percent=l.v/n.vTotal,l.percentLabel=Zo.formatPiePercent(l.percent,x),f&&f.indexOf(\"percent\")!==-1&&b.push(l.percentLabel);var E=c.hoverlabel,k=E.font,A=[];cD.loneHover({trace:o,x0:d-h*n.r,x1:d+h*n.r,y:v,_x0:s?i+l.TL[0]:d-h*n.r,_x1:s?i+l.TR[0]:d+h*n.r,_y0:s?a+l.TL[1]:v-h*n.r,_y1:s?a+l.BL[1]:v+h*n.r,text:b.join(\"<br>\"),name:c.hovertemplate||f.indexOf(\"name\")!==-1?c.name:void 0,idealAlign:l.pxmid[0]<0?\"left\":\"right\",color:Zo.castOption(E.bgcolor,l.pts)||l.color,borderColor:Zo.castOption(E.bordercolor,l.pts),fontFamily:Zo.castOption(k.family,l.pts),fontSize:Zo.castOption(k.size,l.pts),fontColor:Zo.castOption(k.color,l.pts),nameLength:Zo.castOption(E.namelength,l.pts),textAlign:Zo.castOption(E.align,l.pts),hovertemplate:Zo.castOption(c.hovertemplate,l.pts),hovertemplateLabels:l,eventData:[fD(l,c)]},{container:u._hoverlayer.node(),outerContainer:u._paper.node(),gd:t,inOut_bbox:A}),l.bbox=A[0],o._hasHoverLabel=!0}o._hasHoverEvent=!0,t.emit(\"plotly_hover\",{points:[fD(l,c)],event:zp.event})}}),e.on(\"mouseout\",function(l){var u=t._fullLayout,c=t._fullData[o.index],f=zp.select(this).datum();o._hasHoverEvent&&(l.originalEvent=zp.event,t.emit(\"plotly_unhover\",{points:[fD(f,c)],event:zp.event}),o._hasHoverEvent=!1),o._hasHoverLabel&&(cD.loneUnhover(u._hoverlayer.node()),o._hasHoverLabel=!1)}),e.on(\"click\",function(l){var u=t._fullLayout,c=t._fullData[o.index];t._dragging||u.hovermode===!1||(t._hoverdata=[fD(l,c)],cD.click(t,zp.event))})}function JEt(e,t,r){var n=Zo.castOption(e.outsidetextfont.color,t.pts)||Zo.castOption(e.textfont.color,t.pts)||r.color,i=Zo.castOption(e.outsidetextfont.family,t.pts)||Zo.castOption(e.textfont.family,t.pts)||r.family,a=Zo.castOption(e.outsidetextfont.size,t.pts)||Zo.castOption(e.textfont.size,t.pts)||r.size,o=Zo.castOption(e.outsidetextfont.weight,t.pts)||Zo.castOption(e.textfont.weight,t.pts)||r.weight,s=Zo.castOption(e.outsidetextfont.style,t.pts)||Zo.castOption(e.textfont.style,t.pts)||r.style,l=Zo.castOption(e.outsidetextfont.variant,t.pts)||Zo.castOption(e.textfont.variant,t.pts)||r.variant,u=Zo.castOption(e.outsidetextfont.textcase,t.pts)||Zo.castOption(e.textfont.textcase,t.pts)||r.textcase,c=Zo.castOption(e.outsidetextfont.lineposition,t.pts)||Zo.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=Zo.castOption(e.outsidetextfont.shadow,t.pts)||Zo.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n,family:i,size:a,weight:o,style:s,variant:l,textcase:u,lineposition:c,shadow:f}}function dEe(e,t,r){var n=Zo.castOption(e.insidetextfont.color,t.pts);!n&&e._input.textfont&&(n=Zo.castOption(e._input.textfont.color,t.pts));var i=Zo.castOption(e.insidetextfont.family,t.pts)||Zo.castOption(e.textfont.family,t.pts)||r.family,a=Zo.castOption(e.insidetextfont.size,t.pts)||Zo.castOption(e.textfont.size,t.pts)||r.size,o=Zo.castOption(e.insidetextfont.weight,t.pts)||Zo.castOption(e.textfont.weight,t.pts)||r.weight,s=Zo.castOption(e.insidetextfont.style,t.pts)||Zo.castOption(e.textfont.style,t.pts)||r.style,l=Zo.castOption(e.insidetextfont.variant,t.pts)||Zo.castOption(e.textfont.variant,t.pts)||r.variant,u=Zo.castOption(e.insidetextfont.textcase,t.pts)||Zo.castOption(e.textfont.textcase,t.pts)||r.textcase,c=Zo.castOption(e.insidetextfont.lineposition,t.pts)||Zo.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=Zo.castOption(e.insidetextfont.shadow,t.pts)||Zo.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n||uEe.contrast(t.color),family:i,size:a,weight:o,style:s,variant:l,textcase:u,lineposition:c,shadow:f}}function vEe(e,t){for(var r,n,i=0;i<e.length;i++)if(r=e[i][0],n=r.trace,n.title.text){var a=n.title.text;n._meta&&(a=ev.templateString(a,n._meta));var o=Wy.tester.append(\"text\").attr(\"data-notex\",1).text(a).call(Wy.font,n.title.font).call(rW.convertToTspans,t),s=Wy.bBox(o.node(),!0);r.titleBox={width:s.width,height:s.height},o.remove()}}function pEe(e,t,r){var n=r.r||t.rpx1,i=t.rInscribed,a=t.startangle===t.stopangle;if(a)return{rCenter:1-i,scale:0,rotate:0,textPosAngle:0};var o=t.ring,s=o===1&&Math.abs(t.startangle-t.stopangle)===Math.PI*2,l=t.halfangle,u=t.midangle,c=r.trace.insidetextorientation,f=c===\"horizontal\",h=c===\"tangential\",d=c===\"radial\",v=c===\"auto\",x=[],b;if(!v){var p=function(M,g){if($Et(t,M)){var P=Math.abs(M-t.startangle),T=Math.abs(M-t.stopangle),F=P<T?P:T;g===\"tan\"?b=sEe(e,n,o,F,0):b=oEe(e,n,o,F,Math.PI/2),b.textPosAngle=M,x.push(b)}},E;if(f||h){for(E=4;E>=-4;E-=2)p(Math.PI*E,\"tan\");for(E=4;E>=-4;E-=2)p(Math.PI*(E+1),\"tan\")}if(f||d){for(E=4;E>=-4;E-=2)p(Math.PI*(E+1.5),\"rad\");for(E=4;E>=-4;E-=2)p(Math.PI*(E+.5),\"rad\")}}if(s||v||f){var k=Math.sqrt(e.width*e.width+e.height*e.height);if(b={scale:i*n*2/k,rCenter:1-i,rotate:0},b.textPosAngle=(t.startangle+t.stopangle)/2,b.scale>=1)return b;x.push(b)}(v||d)&&(b=oEe(e,n,o,l,u),b.textPosAngle=(t.startangle+t.stopangle)/2,x.push(b)),(v||h)&&(b=sEe(e,n,o,l,u),b.textPosAngle=(t.startangle+t.stopangle)/2,x.push(b));for(var A=0,L=0,_=0;_<x.length;_++){var C=x[_].scale;if(L<C&&(L=C,A=_),!v&&L>=1)break}return x[A]}function $Et(e,t){var r=e.startangle,n=e.stopangle;return r>t&&t>n||r<t&&t<n}function oEe(e,t,r,n,i){t=Math.max(0,t-2*fEe);var a=e.width/e.height,o=yEe(a,n,t,r);return{scale:o*2/e.height,rCenter:gEe(a,o/t),rotate:mEe(i)}}function sEe(e,t,r,n,i){t=Math.max(0,t-2*fEe);var a=e.height/e.width,o=yEe(a,n,t,r);return{scale:o*2/e.width,rCenter:gEe(a,o/t),rotate:mEe(i+Math.PI/2)}}function gEe(e,t){return Math.cos(t)-e*t}function mEe(e){return(180/Math.PI*e+720)%180-90}function yEe(e,t,r,n){var i=e+1/(2*Math.tan(t));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(e*e+n/2)+e))}function QEt(e,t){return e.v===t.vTotal&&!t.trace.hole?1:Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2)}function lEe(e,t){var r=t.pxmid[0],n=t.pxmid[1],i=e.width/2,a=e.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function ekt(e){var t=Math.sqrt(e.titleBox.width*e.titleBox.width+e.titleBox.height*e.titleBox.height);return{x:e.cx,y:e.cy,scale:e.trace.hole*e.r*2/t,tx:0,ty:-e.titleBox.height/2+e.trace.title.font.size}}function _Ee(e,t){var r=1,n=1,i,a=e.trace,o={x:e.cx,y:e.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=xEe(a),a.title.position.indexOf(\"top\")!==-1?(o.y-=(1+i)*e.r,s.ty-=e.titleBox.height):a.title.position.indexOf(\"bottom\")!==-1&&(o.y+=(1+i)*e.r);var l=tkt(e.r,e.trace.aspectratio),u=t.w*(a.domain.x[1]-a.domain.x[0])/2;return a.title.position.indexOf(\"left\")!==-1?(u=u+l,o.x-=(1+i)*l,s.tx+=e.titleBox.width/2):a.title.position.indexOf(\"center\")!==-1?u*=2:a.title.position.indexOf(\"right\")!==-1&&(u=u+l,o.x+=(1+i)*l,s.tx-=e.titleBox.width/2),r=u/e.titleBox.width,n=iW(e,t)/e.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function tkt(e,t){return e/(t===void 0?1:t)}function iW(e,t){var r=e.trace,n=t.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(e.titleBox.height,n/2)}function xEe(e){var t=e.pull;if(!t)return 0;var r;if(ev.isArrayOrTypedArray(t))for(t=0,r=0;r<e.pull.length;r++)e.pull[r]>t&&(t=e.pull[r]);return t}function rkt(e,t){var r,n,i,a,o,s,l,u,c,f,h,d,v;function x(k,A){return k.pxmid[1]-A.pxmid[1]}function b(k,A){return A.pxmid[1]-k.pxmid[1]}function p(k,A){A||(A={});var L=A.labelExtraY+(n?A.yLabelMax:A.yLabelMin),_=n?k.yLabelMin:k.yLabelMax,C=n?k.yLabelMax:k.yLabelMin,M=k.cyFinal+o(k.px0[1],k.px1[1]),g=L-_,P,T,F,q,V,H;if(g*l>0&&(k.labelExtraY=g),!!ev.isArrayOrTypedArray(t.pull))for(T=0;T<f.length;T++)F=f[T],!(F===k||(Zo.castOption(t.pull,k.pts)||0)>=(Zo.castOption(t.pull,F.pts)||0))&&((k.pxmid[1]-F.pxmid[1])*l>0?(q=F.cyFinal+o(F.px0[1],F.px1[1]),g=q-_-k.labelExtraY,g*l>0&&(k.labelExtraY+=g)):(C+k.labelExtraY-M)*l>0&&(P=3*s*Math.abs(T-f.indexOf(k)),V=F.cxFinal+a(F.px0[0],F.px1[0]),H=V+P-(k.cxFinal+k.pxmid[0])-k.labelExtraX,H*s>0&&(k.labelExtraX+=H)))}for(n=0;n<2;n++)for(i=n?x:b,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,u=e[n][r],u.sort(i),c=e[1-n][r],f=c.concat(u),d=[],h=0;h<u.length;h++)u[h].yLabelMid!==void 0&&d.push(u[h]);for(v=!1,h=0;n&&h<c.length;h++)if(c[h].yLabelMid!==void 0){v=c[h];break}for(h=0;h<d.length;h++){var E=h&&d[h-1];v&&!h&&(E=v),p(d[h],E)}}}function bEe(e,t){for(var r=[],n=0;n<e.length;n++){var i=e[n][0],a=i.trace,o=a.domain,s=t.w*(o.x[1]-o.x[0]),l=t.h*(o.y[1]-o.y[0]);a.title.text&&a.title.position!==\"middle center\"&&(l-=iW(i,t));var u=s/2,c=l/2;a.type===\"funnelarea\"&&!a.scalegroup&&(c/=a.aspectratio),i.r=Math.min(u,c)/(1+xEe(a)),i.cx=t.l+t.w*(a.domain.x[1]+a.domain.x[0])/2,i.cy=t.t+t.h*(1-a.domain.y[0])-l/2,a.title.text&&a.title.position.indexOf(\"bottom\")!==-1&&(i.cy-=iW(i,t)),a.scalegroup&&r.indexOf(a.scalegroup)===-1&&r.push(a.scalegroup)}ikt(e,r)}function ikt(e,t){for(var r,n,i,a=0;a<t.length;a++){var o=1/0,s=t[a];for(n=0;n<e.length;n++)if(r=e[n][0],i=r.trace,i.scalegroup===s){var l;if(i.type===\"pie\")l=r.r*r.r;else if(i.type===\"funnelarea\"){var u,c;i.aspectratio>1?(u=r.r,c=u/i.aspectratio):(c=r.r,u=c*i.aspectratio),u*=(1+i.baseratio)/2,l=u*c}o=Math.min(o,l/r.vTotal)}for(n=0;n<e.length;n++)if(r=e[n][0],i=r.trace,i.scalegroup===s){var f=o*r.vTotal;i.type===\"funnelarea\"&&(f/=(1+i.baseratio)/2,f/=i.aspectratio),r.r=Math.sqrt(f)}}}function nkt(e){var t=e[0],r=t.r,n=t.trace,i=Zo.getRotationAngle(n.rotation),a=2*Math.PI/t.vTotal,o=\"px0\",s=\"px1\",l,u,c;if(n.direction===\"counterclockwise\"){for(l=0;l<e.length&&e[l].hidden;l++);if(l===e.length)return;i+=a*e[l].v,a*=-1,o=\"px1\",s=\"px0\"}for(c=hD(r,i),l=0;l<e.length;l++)u=e[l],!u.hidden&&(u[o]=c,u.startangle=i,i+=a*u.v/2,u.pxmid=hD(r,i),u.midangle=i,i+=a*u.v/2,c=hD(r,i),u.stopangle=i,u[s]=c,u.largeArc=u.v>t.vTotal/2?1:0,u.halfangle=Math.PI*Math.min(u.v/t.vTotal,.5),u.ring=1-n.hole,u.rInscribed=QEt(u,t))}function hD(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}function wEe(e,t,r){var n=e._fullLayout,i=r.trace,a=i.texttemplate,o=i.textinfo;if(!a&&o&&o!==\"none\"){var s=o.split(\"+\"),l=function(A){return s.indexOf(A)!==-1},u=l(\"label\"),c=l(\"text\"),f=l(\"value\"),h=l(\"percent\"),d=n.separators,v;if(v=u?[t.label]:[],c){var x=Zo.getFirstFilled(i.text,t.pts);aEe(x)&&v.push(x)}f&&v.push(Zo.formatPieValue(t.v,d)),h&&v.push(Zo.formatPiePercent(t.v/r.vTotal,d)),t.text=v.join(\"<br>\")}function b(A){return{label:A.label,value:A.v,valueLabel:Zo.formatPieValue(A.v,n.separators),percent:A.v/r.vTotal,percentLabel:Zo.formatPiePercent(A.v/r.vTotal,n.separators),color:A.color,text:A.text,customdata:ev.castOption(i,A.i,\"customdata\")}}if(a){var p=ev.castOption(i,t.i,\"texttemplate\");if(!p)t.text=\"\";else{var E=b(t),k=Zo.getFirstFilled(i.text,t.pts);(aEe(k)||k===\"\")&&(E.text=k),t.text=ev.texttemplateString(p,E,e._fullLayout._d3locale,E,i._meta||{})}}}function TEe(e,t){var r=e.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(t.left+t.right)/2,o=(t.top+t.bottom)/2;e.textX=a*n-o*i,e.textY=a*i+o*n,e.noCenter=!0}AEe.exports={plot:YEt,formatSliceLabel:wEe,transformInsideText:pEe,determineInsideTextFont:dEe,positionTitleOutside:_Ee,prerenderTitles:vEe,layoutAreas:bEe,attachFxHandlers:hEe,computeTransform:TEe}});var EEe=ye((ffr,MEe)=>{\"use strict\";var SEe=xa(),akt=z3(),okt=_v().resizeText;MEe.exports=function(t){var r=t._fullLayout._pielayer.selectAll(\".trace\");okt(t,r,\"pie\"),r.each(function(n){var i=n[0],a=i.trace,o=SEe.select(this);o.style({opacity:a.opacity}),o.selectAll(\"path.surface\").each(function(s){SEe.select(this).call(akt,s,a,t)})})}});var CEe=ye(_5=>{\"use strict\";var kEe=Xu();_5.name=\"pie\";_5.plot=function(e,t,r,n){kEe.plotBasePlot(_5.name,e,t,r,n)};_5.clean=function(e,t,r,n){kEe.cleanBasePlot(_5.name,e,t,r,n)}});var PEe=ye((dfr,LEe)=>{\"use strict\";LEe.exports={attributes:A2(),supplyDefaults:S2().supplyDefaults,supplyLayoutDefaults:$4e(),layoutAttributes:uD(),calc:y5().calc,crossTraceCalc:y5().crossTraceCalc,plot:dD().plot,style:EEe(),styleOne:z3(),moduleType:\"trace\",name:\"pie\",basePlotModule:CEe(),categories:[\"pie-like\",\"pie\",\"showLegend\"],meta:{}}});var REe=ye((vfr,IEe)=>{\"use strict\";IEe.exports=PEe()});var zEe=ye(x5=>{\"use strict\";var DEe=Xu();x5.name=\"sunburst\";x5.plot=function(e,t,r,n){DEe.plotBasePlot(x5.name,e,t,r,n)};x5.clean=function(e,t,r,n){DEe.cleanBasePlot(x5.name,e,t,r,n)}});var nW=ye((gfr,FEe)=>{\"use strict\";FEe.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"linear\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"]}});var AE=ye((mfr,OEe)=>{\"use strict\";var skt=vl(),lkt=Wo().hovertemplateAttrs,ukt=Wo().texttemplateAttrs,ckt=Jl(),fkt=Ju().attributes,Zy=A2(),qEe=nW(),TE=no().extendFlat,hkt=Ed().pattern;OEe.exports={labels:{valType:\"data_array\",editType:\"calc\"},parents:{valType:\"data_array\",editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},branchvalues:{valType:\"enumerated\",values:[\"remainder\",\"total\"],dflt:\"remainder\",editType:\"calc\"},count:{valType:\"flaglist\",flags:[\"branches\",\"leaves\"],dflt:\"leaves\",editType:\"calc\"},level:{valType:\"any\",editType:\"plot\",anim:!0},maxdepth:{valType:\"integer\",editType:\"plot\",dflt:-1},marker:TE({colors:{valType:\"data_array\",editType:\"calc\"},line:{color:TE({},Zy.marker.line.color,{dflt:null}),width:TE({},Zy.marker.line.width,{dflt:1}),editType:\"calc\"},pattern:hkt,editType:\"calc\"},ckt(\"marker\",{colorAttr:\"colors\",anim:!1})),leaf:{opacity:{valType:\"number\",editType:\"style\",min:0,max:1},editType:\"plot\"},text:Zy.text,textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],extras:[\"none\"],editType:\"plot\"},texttemplate:ukt({editType:\"plot\"},{keys:qEe.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:Zy.hovertext,hoverinfo:TE({},skt.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"name\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],dflt:\"label+text+value+name\"}),hovertemplate:lkt({},{keys:qEe.eventDataKeys}),textfont:Zy.textfont,insidetextorientation:Zy.insidetextorientation,insidetextfont:Zy.insidetextfont,outsidetextfont:TE({},Zy.outsidetextfont,{}),rotation:{valType:\"angle\",dflt:0,editType:\"plot\"},sort:Zy.sort,root:{color:{valType:\"color\",editType:\"calc\",dflt:\"rgba(0,0,0,0)\"},editType:\"calc\"},domain:fkt({name:\"sunburst\",trace:!0,editType:\"calc\"})}});var aW=ye((yfr,BEe)=>{\"use strict\";BEe.exports={sunburstcolorway:{valType:\"colorlist\",editType:\"calc\"},extendsunburstcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var HEe=ye((_fr,VEe)=>{\"use strict\";var NEe=Mr(),dkt=AE(),vkt=Ju().defaults,pkt=r0().handleText,gkt=S2().handleMarkerDefaults,UEe=Mu(),mkt=UEe.hasColorscale,ykt=UEe.handleDefaults;VEe.exports=function(t,r,n,i){function a(h,d){return NEe.coerce(t,r,dkt,h,d)}var o=a(\"labels\"),s=a(\"parents\");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a(\"values\");l&&l.length?a(\"branchvalues\"):a(\"count\"),a(\"level\"),a(\"maxdepth\"),gkt(t,r,i,a);var u=r._hasColorscale=mkt(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;u&&ykt(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}),a(\"leaf.opacity\",u?1:.7);var c=a(\"text\");a(\"texttemplate\"),r.texttemplate||a(\"textinfo\",NEe.isArrayOrTypedArray(c)?\"text+label\":\"label\"),a(\"hovertext\"),a(\"hovertemplate\");var f=\"auto\";pkt(t,r,i,a,f,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a(\"insidetextorientation\"),a(\"sort\"),a(\"rotation\"),a(\"root.color\"),vkt(r,i,a),r._length=null}});var jEe=ye((xfr,GEe)=>{\"use strict\";var _kt=Mr(),xkt=aW();GEe.exports=function(t,r){function n(i,a){return _kt.coerce(t,r,xkt,i,a)}n(\"sunburstcolorway\",r.colorway),n(\"extendsunburstcolors\")}});var SE=ye((vD,WEe)=>{(function(e,t){typeof vD==\"object\"&&typeof WEe!=\"undefined\"?t(vD):(e=e||self,t(e.d3=e.d3||{}))})(vD,function(e){\"use strict\";function t(Ve,Xe){return Ve.parent===Xe.parent?1:2}function r(Ve){return Ve.reduce(n,0)/Ve.length}function n(Ve,Xe){return Ve+Xe.x}function i(Ve){return 1+Ve.reduce(a,0)}function a(Ve,Xe){return Math.max(Ve,Xe.y)}function o(Ve){for(var Xe;Xe=Ve.children;)Ve=Xe[0];return Ve}function s(Ve){for(var Xe;Xe=Ve.children;)Ve=Xe[Xe.length-1];return Ve}function l(){var Ve=t,Xe=1,ht=1,Le=!1;function xe(Se){var lt,Gt=0;Se.eachAfter(function(jr){var ri=jr.children;ri?(jr.x=r(ri),jr.y=i(ri)):(jr.x=lt?Gt+=Ve(jr,lt):0,jr.y=0,lt=jr)});var Vt=o(Se),ar=s(Se),Qr=Vt.x-Ve(Vt,ar)/2,ai=ar.x+Ve(ar,Vt)/2;return Se.eachAfter(Le?function(jr){jr.x=(jr.x-Se.x)*Xe,jr.y=(Se.y-jr.y)*ht}:function(jr){jr.x=(jr.x-Qr)/(ai-Qr)*Xe,jr.y=(1-(Se.y?jr.y/Se.y:1))*ht})}return xe.separation=function(Se){return arguments.length?(Ve=Se,xe):Ve},xe.size=function(Se){return arguments.length?(Le=!1,Xe=+Se[0],ht=+Se[1],xe):Le?null:[Xe,ht]},xe.nodeSize=function(Se){return arguments.length?(Le=!0,Xe=+Se[0],ht=+Se[1],xe):Le?[Xe,ht]:null},xe}function u(Ve){var Xe=0,ht=Ve.children,Le=ht&&ht.length;if(!Le)Xe=1;else for(;--Le>=0;)Xe+=ht[Le].value;Ve.value=Xe}function c(){return this.eachAfter(u)}function f(Ve){var Xe=this,ht,Le=[Xe],xe,Se,lt;do for(ht=Le.reverse(),Le=[];Xe=ht.pop();)if(Ve(Xe),xe=Xe.children,xe)for(Se=0,lt=xe.length;Se<lt;++Se)Le.push(xe[Se]);while(Le.length);return this}function h(Ve){for(var Xe=this,ht=[Xe],Le,xe;Xe=ht.pop();)if(Ve(Xe),Le=Xe.children,Le)for(xe=Le.length-1;xe>=0;--xe)ht.push(Le[xe]);return this}function d(Ve){for(var Xe=this,ht=[Xe],Le=[],xe,Se,lt;Xe=ht.pop();)if(Le.push(Xe),xe=Xe.children,xe)for(Se=0,lt=xe.length;Se<lt;++Se)ht.push(xe[Se]);for(;Xe=Le.pop();)Ve(Xe);return this}function v(Ve){return this.eachAfter(function(Xe){for(var ht=+Ve(Xe.data)||0,Le=Xe.children,xe=Le&&Le.length;--xe>=0;)ht+=Le[xe].value;Xe.value=ht})}function x(Ve){return this.eachBefore(function(Xe){Xe.children&&Xe.children.sort(Ve)})}function b(Ve){for(var Xe=this,ht=p(Xe,Ve),Le=[Xe];Xe!==ht;)Xe=Xe.parent,Le.push(Xe);for(var xe=Le.length;Ve!==ht;)Le.splice(xe,0,Ve),Ve=Ve.parent;return Le}function p(Ve,Xe){if(Ve===Xe)return Ve;var ht=Ve.ancestors(),Le=Xe.ancestors(),xe=null;for(Ve=ht.pop(),Xe=Le.pop();Ve===Xe;)xe=Ve,Ve=ht.pop(),Xe=Le.pop();return xe}function E(){for(var Ve=this,Xe=[Ve];Ve=Ve.parent;)Xe.push(Ve);return Xe}function k(){var Ve=[];return this.each(function(Xe){Ve.push(Xe)}),Ve}function A(){var Ve=[];return this.eachBefore(function(Xe){Xe.children||Ve.push(Xe)}),Ve}function L(){var Ve=this,Xe=[];return Ve.each(function(ht){ht!==Ve&&Xe.push({source:ht.parent,target:ht})}),Xe}function _(Ve,Xe){var ht=new T(Ve),Le=+Ve.value&&(ht.value=Ve.value),xe,Se=[ht],lt,Gt,Vt,ar;for(Xe==null&&(Xe=M);xe=Se.pop();)if(Le&&(xe.value=+xe.data.value),(Gt=Xe(xe.data))&&(ar=Gt.length))for(xe.children=new Array(ar),Vt=ar-1;Vt>=0;--Vt)Se.push(lt=xe.children[Vt]=new T(Gt[Vt])),lt.parent=xe,lt.depth=xe.depth+1;return ht.eachBefore(P)}function C(){return _(this).eachBefore(g)}function M(Ve){return Ve.children}function g(Ve){Ve.data=Ve.data.data}function P(Ve){var Xe=0;do Ve.height=Xe;while((Ve=Ve.parent)&&Ve.height<++Xe)}function T(Ve){this.data=Ve,this.depth=this.height=0,this.parent=null}T.prototype=_.prototype={constructor:T,count:c,each:f,eachAfter:d,eachBefore:h,sum:v,sort:x,path:b,ancestors:E,descendants:k,leaves:A,links:L,copy:C};var F=Array.prototype.slice;function q(Ve){for(var Xe=Ve.length,ht,Le;Xe;)Le=Math.random()*Xe--|0,ht=Ve[Xe],Ve[Xe]=Ve[Le],Ve[Le]=ht;return Ve}function V(Ve){for(var Xe=0,ht=(Ve=q(F.call(Ve))).length,Le=[],xe,Se;Xe<ht;)xe=Ve[Xe],Se&&G(Se,xe)?++Xe:(Se=W(Le=H(Le,xe)),Xe=0);return Se}function H(Ve,Xe){var ht,Le;if(N(Xe,Ve))return[Xe];for(ht=0;ht<Ve.length;++ht)if(X(Xe,Ve[ht])&&N(ae(Ve[ht],Xe),Ve))return[Ve[ht],Xe];for(ht=0;ht<Ve.length-1;++ht)for(Le=ht+1;Le<Ve.length;++Le)if(X(ae(Ve[ht],Ve[Le]),Xe)&&X(ae(Ve[ht],Xe),Ve[Le])&&X(ae(Ve[Le],Xe),Ve[ht])&&N(_e(Ve[ht],Ve[Le],Xe),Ve))return[Ve[ht],Ve[Le],Xe];throw new Error}function X(Ve,Xe){var ht=Ve.r-Xe.r,Le=Xe.x-Ve.x,xe=Xe.y-Ve.y;return ht<0||ht*ht<Le*Le+xe*xe}function G(Ve,Xe){var ht=Ve.r-Xe.r+1e-6,Le=Xe.x-Ve.x,xe=Xe.y-Ve.y;return ht>0&&ht*ht>Le*Le+xe*xe}function N(Ve,Xe){for(var ht=0;ht<Xe.length;++ht)if(!G(Ve,Xe[ht]))return!1;return!0}function W(Ve){switch(Ve.length){case 1:return re(Ve[0]);case 2:return ae(Ve[0],Ve[1]);case 3:return _e(Ve[0],Ve[1],Ve[2])}}function re(Ve){return{x:Ve.x,y:Ve.y,r:Ve.r}}function ae(Ve,Xe){var ht=Ve.x,Le=Ve.y,xe=Ve.r,Se=Xe.x,lt=Xe.y,Gt=Xe.r,Vt=Se-ht,ar=lt-Le,Qr=Gt-xe,ai=Math.sqrt(Vt*Vt+ar*ar);return{x:(ht+Se+Vt/ai*Qr)/2,y:(Le+lt+ar/ai*Qr)/2,r:(ai+xe+Gt)/2}}function _e(Ve,Xe,ht){var Le=Ve.x,xe=Ve.y,Se=Ve.r,lt=Xe.x,Gt=Xe.y,Vt=Xe.r,ar=ht.x,Qr=ht.y,ai=ht.r,jr=Le-lt,ri=Le-ar,bi=xe-Gt,nn=xe-Qr,Wi=Vt-Se,Ni=ai-Se,_n=Le*Le+xe*xe-Se*Se,$i=_n-lt*lt-Gt*Gt+Vt*Vt,zn=_n-ar*ar-Qr*Qr+ai*ai,Wn=ri*bi-jr*nn,It=(bi*zn-nn*$i)/(Wn*2)-Le,ft=(nn*Wi-bi*Ni)/Wn,jt=(ri*$i-jr*zn)/(Wn*2)-xe,Zt=(jr*Ni-ri*Wi)/Wn,yr=ft*ft+Zt*Zt-1,Fr=2*(Se+It*ft+jt*Zt),Zr=It*It+jt*jt-Se*Se,Vr=-(yr?(Fr+Math.sqrt(Fr*Fr-4*yr*Zr))/(2*yr):Zr/Fr);return{x:Le+It+ft*Vr,y:xe+jt+Zt*Vr,r:Vr}}function Me(Ve,Xe,ht){var Le=Ve.x-Xe.x,xe,Se,lt=Ve.y-Xe.y,Gt,Vt,ar=Le*Le+lt*lt;ar?(Se=Xe.r+ht.r,Se*=Se,Vt=Ve.r+ht.r,Vt*=Vt,Se>Vt?(xe=(ar+Vt-Se)/(2*ar),Gt=Math.sqrt(Math.max(0,Vt/ar-xe*xe)),ht.x=Ve.x-xe*Le-Gt*lt,ht.y=Ve.y-xe*lt+Gt*Le):(xe=(ar+Se-Vt)/(2*ar),Gt=Math.sqrt(Math.max(0,Se/ar-xe*xe)),ht.x=Xe.x+xe*Le-Gt*lt,ht.y=Xe.y+xe*lt+Gt*Le)):(ht.x=Xe.x+ht.r,ht.y=Xe.y)}function ke(Ve,Xe){var ht=Ve.r+Xe.r-1e-6,Le=Xe.x-Ve.x,xe=Xe.y-Ve.y;return ht>0&&ht*ht>Le*Le+xe*xe}function ge(Ve){var Xe=Ve._,ht=Ve.next._,Le=Xe.r+ht.r,xe=(Xe.x*ht.r+ht.x*Xe.r)/Le,Se=(Xe.y*ht.r+ht.y*Xe.r)/Le;return xe*xe+Se*Se}function ie(Ve){this._=Ve,this.next=null,this.previous=null}function Te(Ve){if(!(xe=Ve.length))return 0;var Xe,ht,Le,xe,Se,lt,Gt,Vt,ar,Qr,ai;if(Xe=Ve[0],Xe.x=0,Xe.y=0,!(xe>1))return Xe.r;if(ht=Ve[1],Xe.x=-ht.r,ht.x=Xe.r,ht.y=0,!(xe>2))return Xe.r+ht.r;Me(ht,Xe,Le=Ve[2]),Xe=new ie(Xe),ht=new ie(ht),Le=new ie(Le),Xe.next=Le.previous=ht,ht.next=Xe.previous=Le,Le.next=ht.previous=Xe;e:for(Gt=3;Gt<xe;++Gt){Me(Xe._,ht._,Le=Ve[Gt]),Le=new ie(Le),Vt=ht.next,ar=Xe.previous,Qr=ht._.r,ai=Xe._.r;do if(Qr<=ai){if(ke(Vt._,Le._)){ht=Vt,Xe.next=ht,ht.previous=Xe,--Gt;continue e}Qr+=Vt._.r,Vt=Vt.next}else{if(ke(ar._,Le._)){Xe=ar,Xe.next=ht,ht.previous=Xe,--Gt;continue e}ai+=ar._.r,ar=ar.previous}while(Vt!==ar.next);for(Le.previous=Xe,Le.next=ht,Xe.next=ht.previous=ht=Le,Se=ge(Xe);(Le=Le.next)!==ht;)(lt=ge(Le))<Se&&(Xe=Le,Se=lt);ht=Xe.next}for(Xe=[ht._],Le=ht;(Le=Le.next)!==ht;)Xe.push(Le._);for(Le=V(Xe),Gt=0;Gt<xe;++Gt)Xe=Ve[Gt],Xe.x-=Le.x,Xe.y-=Le.y;return Le.r}function Ee(Ve){return Te(Ve),Ve}function Ae(Ve){return Ve==null?null:ze(Ve)}function ze(Ve){if(typeof Ve!=\"function\")throw new Error;return Ve}function Ce(){return 0}function me(Ve){return function(){return Ve}}function Re(Ve){return Math.sqrt(Ve.value)}function ce(){var Ve=null,Xe=1,ht=1,Le=Ce;function xe(Se){return Se.x=Xe/2,Se.y=ht/2,Ve?Se.eachBefore(Ge(Ve)).eachAfter(nt(Le,.5)).eachBefore(ct(1)):Se.eachBefore(Ge(Re)).eachAfter(nt(Ce,1)).eachAfter(nt(Le,Se.r/Math.min(Xe,ht))).eachBefore(ct(Math.min(Xe,ht)/(2*Se.r))),Se}return xe.radius=function(Se){return arguments.length?(Ve=Ae(Se),xe):Ve},xe.size=function(Se){return arguments.length?(Xe=+Se[0],ht=+Se[1],xe):[Xe,ht]},xe.padding=function(Se){return arguments.length?(Le=typeof Se==\"function\"?Se:me(+Se),xe):Le},xe}function Ge(Ve){return function(Xe){Xe.children||(Xe.r=Math.max(0,+Ve(Xe)||0))}}function nt(Ve,Xe){return function(ht){if(Le=ht.children){var Le,xe,Se=Le.length,lt=Ve(ht)*Xe||0,Gt;if(lt)for(xe=0;xe<Se;++xe)Le[xe].r+=lt;if(Gt=Te(Le),lt)for(xe=0;xe<Se;++xe)Le[xe].r-=lt;ht.r=Gt+lt}}}function ct(Ve){return function(Xe){var ht=Xe.parent;Xe.r*=Ve,ht&&(Xe.x=ht.x+Ve*Xe.x,Xe.y=ht.y+Ve*Xe.y)}}function qt(Ve){Ve.x0=Math.round(Ve.x0),Ve.y0=Math.round(Ve.y0),Ve.x1=Math.round(Ve.x1),Ve.y1=Math.round(Ve.y1)}function rt(Ve,Xe,ht,Le,xe){for(var Se=Ve.children,lt,Gt=-1,Vt=Se.length,ar=Ve.value&&(Le-Xe)/Ve.value;++Gt<Vt;)lt=Se[Gt],lt.y0=ht,lt.y1=xe,lt.x0=Xe,lt.x1=Xe+=lt.value*ar}function ot(){var Ve=1,Xe=1,ht=0,Le=!1;function xe(lt){var Gt=lt.height+1;return lt.x0=lt.y0=ht,lt.x1=Ve,lt.y1=Xe/Gt,lt.eachBefore(Se(Xe,Gt)),Le&<.eachBefore(qt),lt}function Se(lt,Gt){return function(Vt){Vt.children&&rt(Vt,Vt.x0,lt*(Vt.depth+1)/Gt,Vt.x1,lt*(Vt.depth+2)/Gt);var ar=Vt.x0,Qr=Vt.y0,ai=Vt.x1-ht,jr=Vt.y1-ht;ai<ar&&(ar=ai=(ar+ai)/2),jr<Qr&&(Qr=jr=(Qr+jr)/2),Vt.x0=ar,Vt.y0=Qr,Vt.x1=ai,Vt.y1=jr}}return xe.round=function(lt){return arguments.length?(Le=!!lt,xe):Le},xe.size=function(lt){return arguments.length?(Ve=+lt[0],Xe=+lt[1],xe):[Ve,Xe]},xe.padding=function(lt){return arguments.length?(ht=+lt,xe):ht},xe}var Rt=\"$\",kt={depth:-1},Ct={};function Yt(Ve){return Ve.id}function xr(Ve){return Ve.parentId}function er(){var Ve=Yt,Xe=xr;function ht(Le){var xe,Se,lt=Le.length,Gt,Vt,ar,Qr=new Array(lt),ai,jr,ri={};for(Se=0;Se<lt;++Se)xe=Le[Se],ar=Qr[Se]=new T(xe),(ai=Ve(xe,Se,Le))!=null&&(ai+=\"\")&&(jr=Rt+(ar.id=ai),ri[jr]=jr in ri?Ct:ar);for(Se=0;Se<lt;++Se)if(ar=Qr[Se],ai=Xe(Le[Se],Se,Le),ai==null||!(ai+=\"\")){if(Gt)throw new Error(\"multiple roots\");Gt=ar}else{if(Vt=ri[Rt+ai],!Vt)throw new Error(\"missing: \"+ai);if(Vt===Ct)throw new Error(\"ambiguous: \"+ai);Vt.children?Vt.children.push(ar):Vt.children=[ar],ar.parent=Vt}if(!Gt)throw new Error(\"no root\");if(Gt.parent=kt,Gt.eachBefore(function(bi){bi.depth=bi.parent.depth+1,--lt}).eachBefore(P),Gt.parent=null,lt>0)throw new Error(\"cycle\");return Gt}return ht.id=function(Le){return arguments.length?(Ve=ze(Le),ht):Ve},ht.parentId=function(Le){return arguments.length?(Xe=ze(Le),ht):Xe},ht}function Ke(Ve,Xe){return Ve.parent===Xe.parent?1:2}function xt(Ve){var Xe=Ve.children;return Xe?Xe[0]:Ve.t}function bt(Ve){var Xe=Ve.children;return Xe?Xe[Xe.length-1]:Ve.t}function Lt(Ve,Xe,ht){var Le=ht/(Xe.i-Ve.i);Xe.c-=Le,Xe.s+=ht,Ve.c+=Le,Xe.z+=ht,Xe.m+=ht}function St(Ve){for(var Xe=0,ht=0,Le=Ve.children,xe=Le.length,Se;--xe>=0;)Se=Le[xe],Se.z+=Xe,Se.m+=Xe,Xe+=Se.s+(ht+=Se.c)}function Et(Ve,Xe,ht){return Ve.a.parent===Xe.parent?Ve.a:ht}function dt(Ve,Xe){this._=Ve,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=Xe}dt.prototype=Object.create(T.prototype);function Ht(Ve){for(var Xe=new dt(Ve,0),ht,Le=[Xe],xe,Se,lt,Gt;ht=Le.pop();)if(Se=ht._.children)for(ht.children=new Array(Gt=Se.length),lt=Gt-1;lt>=0;--lt)Le.push(xe=ht.children[lt]=new dt(Se[lt],lt)),xe.parent=ht;return(Xe.parent=new dt(null,0)).children=[Xe],Xe}function $t(){var Ve=Ke,Xe=1,ht=1,Le=null;function xe(ar){var Qr=Ht(ar);if(Qr.eachAfter(Se),Qr.parent.m=-Qr.z,Qr.eachBefore(lt),Le)ar.eachBefore(Vt);else{var ai=ar,jr=ar,ri=ar;ar.eachBefore(function(_n){_n.x<ai.x&&(ai=_n),_n.x>jr.x&&(jr=_n),_n.depth>ri.depth&&(ri=_n)});var bi=ai===jr?1:Ve(ai,jr)/2,nn=bi-ai.x,Wi=Xe/(jr.x+bi+nn),Ni=ht/(ri.depth||1);ar.eachBefore(function(_n){_n.x=(_n.x+nn)*Wi,_n.y=_n.depth*Ni})}return ar}function Se(ar){var Qr=ar.children,ai=ar.parent.children,jr=ar.i?ai[ar.i-1]:null;if(Qr){St(ar);var ri=(Qr[0].z+Qr[Qr.length-1].z)/2;jr?(ar.z=jr.z+Ve(ar._,jr._),ar.m=ar.z-ri):ar.z=ri}else jr&&(ar.z=jr.z+Ve(ar._,jr._));ar.parent.A=Gt(ar,jr,ar.parent.A||ai[0])}function lt(ar){ar._.x=ar.z+ar.parent.m,ar.m+=ar.parent.m}function Gt(ar,Qr,ai){if(Qr){for(var jr=ar,ri=ar,bi=Qr,nn=jr.parent.children[0],Wi=jr.m,Ni=ri.m,_n=bi.m,$i=nn.m,zn;bi=bt(bi),jr=xt(jr),bi&&jr;)nn=xt(nn),ri=bt(ri),ri.a=ar,zn=bi.z+_n-jr.z-Wi+Ve(bi._,jr._),zn>0&&(Lt(Et(bi,ar,ai),ar,zn),Wi+=zn,Ni+=zn),_n+=bi.m,Wi+=jr.m,$i+=nn.m,Ni+=ri.m;bi&&!bt(ri)&&(ri.t=bi,ri.m+=_n-Ni),jr&&!xt(nn)&&(nn.t=jr,nn.m+=Wi-$i,ai=ar)}return ai}function Vt(ar){ar.x*=Xe,ar.y=ar.depth*ht}return xe.separation=function(ar){return arguments.length?(Ve=ar,xe):Ve},xe.size=function(ar){return arguments.length?(Le=!1,Xe=+ar[0],ht=+ar[1],xe):Le?null:[Xe,ht]},xe.nodeSize=function(ar){return arguments.length?(Le=!0,Xe=+ar[0],ht=+ar[1],xe):Le?[Xe,ht]:null},xe}function fr(Ve,Xe,ht,Le,xe){for(var Se=Ve.children,lt,Gt=-1,Vt=Se.length,ar=Ve.value&&(xe-ht)/Ve.value;++Gt<Vt;)lt=Se[Gt],lt.x0=Xe,lt.x1=Le,lt.y0=ht,lt.y1=ht+=lt.value*ar}var _r=(1+Math.sqrt(5))/2;function Br(Ve,Xe,ht,Le,xe,Se){for(var lt=[],Gt=Xe.children,Vt,ar,Qr=0,ai=0,jr=Gt.length,ri,bi,nn=Xe.value,Wi,Ni,_n,$i,zn,Wn,It;Qr<jr;){ri=xe-ht,bi=Se-Le;do Wi=Gt[ai++].value;while(!Wi&&ai<jr);for(Ni=_n=Wi,Wn=Math.max(bi/ri,ri/bi)/(nn*Ve),It=Wi*Wi*Wn,zn=Math.max(_n/It,It/Ni);ai<jr;++ai){if(Wi+=ar=Gt[ai].value,ar<Ni&&(Ni=ar),ar>_n&&(_n=ar),It=Wi*Wi*Wn,$i=Math.max(_n/It,It/Ni),$i>zn){Wi-=ar;break}zn=$i}lt.push(Vt={value:Wi,dice:ri<bi,children:Gt.slice(Qr,ai)}),Vt.dice?rt(Vt,ht,Le,xe,nn?Le+=bi*Wi/nn:Se):fr(Vt,ht,Le,nn?ht+=ri*Wi/nn:xe,Se),nn-=Wi,Qr=ai}return lt}var Or=function Ve(Xe){function ht(Le,xe,Se,lt,Gt){Br(Xe,Le,xe,Se,lt,Gt)}return ht.ratio=function(Le){return Ve((Le=+Le)>1?Le:1)},ht}(_r);function Nr(){var Ve=Or,Xe=!1,ht=1,Le=1,xe=[0],Se=Ce,lt=Ce,Gt=Ce,Vt=Ce,ar=Ce;function Qr(jr){return jr.x0=jr.y0=0,jr.x1=ht,jr.y1=Le,jr.eachBefore(ai),xe=[0],Xe&&jr.eachBefore(qt),jr}function ai(jr){var ri=xe[jr.depth],bi=jr.x0+ri,nn=jr.y0+ri,Wi=jr.x1-ri,Ni=jr.y1-ri;Wi<bi&&(bi=Wi=(bi+Wi)/2),Ni<nn&&(nn=Ni=(nn+Ni)/2),jr.x0=bi,jr.y0=nn,jr.x1=Wi,jr.y1=Ni,jr.children&&(ri=xe[jr.depth+1]=Se(jr)/2,bi+=ar(jr)-ri,nn+=lt(jr)-ri,Wi-=Gt(jr)-ri,Ni-=Vt(jr)-ri,Wi<bi&&(bi=Wi=(bi+Wi)/2),Ni<nn&&(nn=Ni=(nn+Ni)/2),Ve(jr,bi,nn,Wi,Ni))}return Qr.round=function(jr){return arguments.length?(Xe=!!jr,Qr):Xe},Qr.size=function(jr){return arguments.length?(ht=+jr[0],Le=+jr[1],Qr):[ht,Le]},Qr.tile=function(jr){return arguments.length?(Ve=ze(jr),Qr):Ve},Qr.padding=function(jr){return arguments.length?Qr.paddingInner(jr).paddingOuter(jr):Qr.paddingInner()},Qr.paddingInner=function(jr){return arguments.length?(Se=typeof jr==\"function\"?jr:me(+jr),Qr):Se},Qr.paddingOuter=function(jr){return arguments.length?Qr.paddingTop(jr).paddingRight(jr).paddingBottom(jr).paddingLeft(jr):Qr.paddingTop()},Qr.paddingTop=function(jr){return arguments.length?(lt=typeof jr==\"function\"?jr:me(+jr),Qr):lt},Qr.paddingRight=function(jr){return arguments.length?(Gt=typeof jr==\"function\"?jr:me(+jr),Qr):Gt},Qr.paddingBottom=function(jr){return arguments.length?(Vt=typeof jr==\"function\"?jr:me(+jr),Qr):Vt},Qr.paddingLeft=function(jr){return arguments.length?(ar=typeof jr==\"function\"?jr:me(+jr),Qr):ar},Qr}function ut(Ve,Xe,ht,Le,xe){var Se=Ve.children,lt,Gt=Se.length,Vt,ar=new Array(Gt+1);for(ar[0]=Vt=lt=0;lt<Gt;++lt)ar[lt+1]=Vt+=Se[lt].value;Qr(0,Gt,Ve.value,Xe,ht,Le,xe);function Qr(ai,jr,ri,bi,nn,Wi,Ni){if(ai>=jr-1){var _n=Se[ai];_n.x0=bi,_n.y0=nn,_n.x1=Wi,_n.y1=Ni;return}for(var $i=ar[ai],zn=ri/2+$i,Wn=ai+1,It=jr-1;Wn<It;){var ft=Wn+It>>>1;ar[ft]<zn?Wn=ft+1:It=ft}zn-ar[Wn-1]<ar[Wn]-zn&&ai+1<Wn&&--Wn;var jt=ar[Wn]-$i,Zt=ri-jt;if(Wi-bi>Ni-nn){var yr=(bi*Zt+Wi*jt)/ri;Qr(ai,Wn,jt,bi,nn,yr,Ni),Qr(Wn,jr,Zt,yr,nn,Wi,Ni)}else{var Fr=(nn*Zt+Ni*jt)/ri;Qr(ai,Wn,jt,bi,nn,Wi,Fr),Qr(Wn,jr,Zt,bi,Fr,Wi,Ni)}}}function Ne(Ve,Xe,ht,Le,xe){(Ve.depth&1?fr:rt)(Ve,Xe,ht,Le,xe)}var Ye=function Ve(Xe){function ht(Le,xe,Se,lt,Gt){if((Vt=Le._squarify)&&Vt.ratio===Xe)for(var Vt,ar,Qr,ai,jr=-1,ri,bi=Vt.length,nn=Le.value;++jr<bi;){for(ar=Vt[jr],Qr=ar.children,ai=ar.value=0,ri=Qr.length;ai<ri;++ai)ar.value+=Qr[ai].value;ar.dice?rt(ar,xe,Se,lt,Se+=(Gt-Se)*ar.value/nn):fr(ar,xe,Se,xe+=(lt-xe)*ar.value/nn,Gt),nn-=ar.value}else Le._squarify=Vt=Br(Xe,Le,xe,Se,lt,Gt),Vt.ratio=Xe}return ht.ratio=function(Le){return Ve((Le=+Le)>1?Le:1)},ht}(_r);e.cluster=l,e.hierarchy=_,e.pack=ce,e.packEnclose=V,e.packSiblings=Ee,e.partition=ot,e.stratify=er,e.tree=$t,e.treemap=Nr,e.treemapBinary=ut,e.treemapDice=rt,e.treemapResquarify=Ye,e.treemapSlice=fr,e.treemapSliceDice=Ne,e.treemapSquarify=Or,Object.defineProperty(e,\"__esModule\",{value:!0})})});var EE=ye(ME=>{\"use strict\";var ZEe=SE(),bkt=uo(),b5=Mr(),wkt=Mu().makeColorScaleFuncFromTrace,Tkt=y5().makePullColorFn,Akt=y5().generateExtendedColors,Skt=Mu().calc,Mkt=es().ALMOST_EQUAL,Ekt={},kkt={},Ckt={};ME.calc=function(e,t){var r=e._fullLayout,n=t.ids,i=b5.isArrayOrTypedArray(n),a=t.labels,o=t.parents,s=t.values,l=b5.isArrayOrTypedArray(s),u=[],c={},f={},h=function(G,N){c[G]?c[G].push(N):c[G]=[N],f[N]=1},d=function(G){return G||typeof G==\"number\"},v=function(G){return!l||bkt(s[G])&&s[G]>=0},x,b,p;i?(x=Math.min(n.length,o.length),b=function(G){return d(n[G])&&v(G)},p=function(G){return String(n[G])}):(x=Math.min(a.length,o.length),b=function(G){return d(a[G])&&v(G)},p=function(G){return String(a[G])}),l&&(x=Math.min(x,s.length));for(var E=0;E<x;E++)if(b(E)){var k=p(E),A=d(o[E])?String(o[E]):\"\",L={i:E,id:k,pid:A,label:d(a[E])?String(a[E]):\"\"};l&&(L.v=+s[E]),u.push(L),h(A,k)}if(c[\"\"]){if(c[\"\"].length>1){for(var M=b5.randstr(),g=0;g<u.length;g++)u[g].pid===\"\"&&(u[g].pid=M);u.unshift({hasMultipleRoots:!0,id:M,pid:\"\",label:\"\"})}}else{var _=[],C;for(C in c)f[C]||_.push(C);if(_.length===1)C=_[0],u.unshift({hasImpliedRoot:!0,id:C,pid:\"\",label:C});else return b5.warn([\"Multiple implied roots, cannot build\",t.type,\"hierarchy of\",t.name+\".\",\"These roots include:\",_.join(\", \")].join(\" \"))}var P;try{P=ZEe.stratify().id(function(G){return G.id}).parentId(function(G){return G.pid})(u)}catch(G){return b5.warn([\"Failed to build\",t.type,\"hierarchy of\",t.name+\".\",\"Error:\",G.message].join(\" \"))}var T=ZEe.hierarchy(P),F=!1;if(l)switch(t.branchvalues){case\"remainder\":T.sum(function(G){return G.data.v});break;case\"total\":T.each(function(G){var N=G.data.data,W=N.v;if(G.children){var re=G.children.reduce(function(ae,_e){return ae+_e.data.data.v},0);if((N.hasImpliedRoot||N.hasMultipleRoots)&&(W=re),W<re*Mkt)return F=!0,b5.warn([\"Total value for node\",G.data.data.id,\"of\",t.name,\"is smaller than the sum of its children.\",`\n", - "parent value =`,W,`\n", - "children sum =`,re].join(\" \"))}G.value=W});break}else XEe(T,t,{branches:t.count.indexOf(\"branches\")!==-1,leaves:t.count.indexOf(\"leaves\")!==-1});if(!F){t.sort&&T.sort(function(G,N){return N.value-G.value});var q,V,H=t.marker.colors||[],X=!!H.length;return t._hasColorscale?(X||(H=l?t.values:t._values),Skt(e,t,{vals:H,containerStr:\"marker\",cLetter:\"c\"}),V=wkt(t.marker)):q=Tkt(r[\"_\"+t.type+\"colormap\"]),T.each(function(G){var N=G.data.data;N.color=t._hasColorscale?V(H[N.i]):q(H[N.i],N.id)}),u[0].hierarchy=T,u}};ME._runCrossTraceCalc=function(e,t){var r=t._fullLayout,n=t.calcdata,i=r[e+\"colorway\"],a=r[\"_\"+e+\"colormap\"];r[\"extend\"+e+\"colors\"]&&(i=Akt(i,e===\"icicle\"?Ckt:e===\"treemap\"?kkt:Ekt));var o=0,s;function l(h){var d=h.data.data,v=d.id;d.color===!1&&(a[v]?d.color=a[v]:h.parent?h.parent.parent?d.color=h.parent.data.data.color:(a[v]=d.color=i[o%i.length],o++):d.color=s)}for(var u=0;u<n.length;u++){var c=n[u],f=c[0];f.trace.type===e&&f.hierarchy&&(s=f.trace.root.color,f.hierarchy.each(l))}};ME.crossTraceCalc=function(e){return ME._runCrossTraceCalc(\"sunburst\",e)};function XEe(e,t,r){var n=0,i=e.children;if(i){for(var a=i.length,o=0;o<a;o++)n+=XEe(i[o],t,r);r.branches&&n++}else r.leaves&&n++;return e.value=e.data.data.value=n,t._values||(t._values=[]),t._values[e.data.data.i]=n,n}});function Xy(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function G_(e,t){var r=Object.create(e.prototype);for(var n in t)r[n]=t[n];return r}var pD=Ll(()=>{});function Vm(){}function KEe(){return this.rgb().formatHex()}function qkt(){return this.rgb().formatHex8()}function Okt(){return ike(this).formatHsl()}function JEe(){return this.rgb().formatRgb()}function W_(e){var t,r;return e=(e+\"\").trim().toLowerCase(),(t=Lkt.exec(e))?(r=t[1].length,t=parseInt(t[1],16),r===6?$Ee(t):r===3?new hd(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?gD(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?gD(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Pkt.exec(e))?new hd(t[1],t[2],t[3],1):(t=Ikt.exec(e))?new hd(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Rkt.exec(e))?gD(t[1],t[2],t[3],t[4]):(t=Dkt.exec(e))?gD(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=zkt.exec(e))?tke(t[1],t[2]/100,t[3]/100,1):(t=Fkt.exec(e))?tke(t[1],t[2]/100,t[3]/100,t[4]):YEe.hasOwnProperty(e)?$Ee(YEe[e]):e===\"transparent\"?new hd(NaN,NaN,NaN,0):null}function $Ee(e){return new hd(e>>16&255,e>>8&255,e&255,1)}function gD(e,t,r,n){return n<=0&&(e=t=r=NaN),new hd(e,t,r,n)}function CE(e){return e instanceof Vm||(e=W_(e)),e?(e=e.rgb(),new hd(e.r,e.g,e.b,e.opacity)):new hd}function T5(e,t,r,n){return arguments.length===1?CE(e):new hd(e,t,r,n==null?1:n)}function hd(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}function QEe(){return`#${M2(this.r)}${M2(this.g)}${M2(this.b)}`}function Bkt(){return`#${M2(this.r)}${M2(this.g)}${M2(this.b)}${M2((isNaN(this.opacity)?1:this.opacity)*255)}`}function eke(){let e=yD(this.opacity);return`${e===1?\"rgb(\":\"rgba(\"}${E2(this.r)}, ${E2(this.g)}, ${E2(this.b)}${e===1?\")\":`, ${e})`}`}function yD(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function E2(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function M2(e){return e=E2(e),(e<16?\"0\":\"\")+e.toString(16)}function tke(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Zg(e,t,r,n)}function ike(e){if(e instanceof Zg)return new Zg(e.h,e.s,e.l,e.opacity);if(e instanceof Vm||(e=W_(e)),!e)return new Zg;if(e instanceof Zg)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=NaN,s=a-i,l=(a+i)/2;return s?(t===a?o=(r-n)/s+(r<n)*6:r===a?o=(n-t)/s+2:o=(t-r)/s+4,s/=l<.5?a+i:2-a-i,o*=60):s=l>0&&l<1?0:o,new Zg(o,s,l,e.opacity)}function LE(e,t,r,n){return arguments.length===1?ike(e):new Zg(e,t,r,n==null?1:n)}function Zg(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}function rke(e){return e=(e||0)%360,e<0?e+360:e}function mD(e){return Math.max(0,Math.min(1,e||0))}function oW(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}var j_,k2,w5,kE,Um,Lkt,Pkt,Ikt,Rkt,Dkt,zkt,Fkt,YEe,_D=Ll(()=>{pD();j_=.7,k2=1/j_,w5=\"\\\\s*([+-]?\\\\d+)\\\\s*\",kE=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",Um=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",Lkt=/^#([0-9a-f]{3,8})$/,Pkt=new RegExp(`^rgb\\\\(${w5},${w5},${w5}\\\\)$`),Ikt=new RegExp(`^rgb\\\\(${Um},${Um},${Um}\\\\)$`),Rkt=new RegExp(`^rgba\\\\(${w5},${w5},${w5},${kE}\\\\)$`),Dkt=new RegExp(`^rgba\\\\(${Um},${Um},${Um},${kE}\\\\)$`),zkt=new RegExp(`^hsl\\\\(${kE},${Um},${Um}\\\\)$`),Fkt=new RegExp(`^hsla\\\\(${kE},${Um},${Um},${kE}\\\\)$`),YEe={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};Xy(Vm,W_,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:KEe,formatHex:KEe,formatHex8:qkt,formatHsl:Okt,formatRgb:JEe,toString:JEe});Xy(hd,T5,G_(Vm,{brighter(e){return e=e==null?k2:Math.pow(k2,e),new hd(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?j_:Math.pow(j_,e),new hd(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new hd(E2(this.r),E2(this.g),E2(this.b),yD(this.opacity))},displayable(){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:QEe,formatHex:QEe,formatHex8:Bkt,formatRgb:eke,toString:eke}));Xy(Zg,LE,G_(Vm,{brighter(e){return e=e==null?k2:Math.pow(k2,e),new Zg(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?j_:Math.pow(j_,e),new Zg(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new hd(oW(e>=240?e-240:e+120,i,n),oW(e,i,n),oW(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new Zg(rke(this.h),mD(this.s),mD(this.l),yD(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=yD(this.opacity);return`${e===1?\"hsl(\":\"hsla(\"}${rke(this.h)}, ${mD(this.s)*100}%, ${mD(this.l)*100}%${e===1?\")\":`, ${e})`}`}}))});var xD,bD,sW=Ll(()=>{xD=Math.PI/180,bD=180/Math.PI});function uke(e){if(e instanceof Hm)return new Hm(e.l,e.a,e.b,e.opacity);if(e instanceof Yy)return cke(e);e instanceof hd||(e=CE(e));var t=fW(e.r),r=fW(e.g),n=fW(e.b),i=lW((.2225045*t+.7168786*r+.0606169*n)/ake),a,o;return t===r&&r===n?a=o=i:(a=lW((.4360747*t+.3850649*r+.1430804*n)/nke),o=lW((.0139322*t+.0971045*r+.7141733*n)/oke)),new Hm(116*i-16,500*(a-i),200*(i-o),e.opacity)}function S5(e,t,r,n){return arguments.length===1?uke(e):new Hm(e,t,r,n==null?1:n)}function Hm(e,t,r,n){this.l=+e,this.a=+t,this.b=+r,this.opacity=+n}function lW(e){return e>Nkt?Math.pow(e,1/3):e/lke+ske}function uW(e){return e>A5?e*e*e:lke*(e-ske)}function cW(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function fW(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Ukt(e){if(e instanceof Yy)return new Yy(e.h,e.c,e.l,e.opacity);if(e instanceof Hm||(e=uke(e)),e.a===0&&e.b===0)return new Yy(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*bD;return new Yy(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function PE(e,t,r,n){return arguments.length===1?Ukt(e):new Yy(e,t,r,n==null?1:n)}function Yy(e,t,r,n){this.h=+e,this.c=+t,this.l=+r,this.opacity=+n}function cke(e){if(isNaN(e.h))return new Hm(e.l,0,0,e.opacity);var t=e.h*xD;return new Hm(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}var wD,nke,ake,oke,ske,A5,lke,Nkt,fke=Ll(()=>{pD();_D();sW();wD=18,nke=.96422,ake=1,oke=.82521,ske=4/29,A5=6/29,lke=3*A5*A5,Nkt=A5*A5*A5;Xy(Hm,S5,G_(Vm,{brighter(e){return new Hm(this.l+wD*(e==null?1:e),this.a,this.b,this.opacity)},darker(e){return new Hm(this.l-wD*(e==null?1:e),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,r=isNaN(this.b)?e:e-this.b/200;return t=nke*uW(t),e=ake*uW(e),r=oke*uW(r),new hd(cW(3.1338561*t-1.6168667*e-.4906146*r),cW(-.9787684*t+1.9161415*e+.033454*r),cW(.0719453*t-.2289914*e+1.4052427*r),this.opacity)}}));Xy(Yy,PE,G_(Vm,{brighter(e){return new Yy(this.h,this.c,this.l+wD*(e==null?1:e),this.opacity)},darker(e){return new Yy(this.h,this.c,this.l-wD*(e==null?1:e),this.opacity)},rgb(){return cke(this).rgb()}}))});function Vkt(e){if(e instanceof C2)return new C2(e.h,e.s,e.l,e.opacity);e instanceof hd||(e=CE(e));var t=e.r/255,r=e.g/255,n=e.b/255,i=(vke*n+hke*t-dke*r)/(vke+hke-dke),a=n-i,o=(IE*(r-i)-dW*a)/TD,s=Math.sqrt(o*o+a*a)/(IE*i*(1-i)),l=s?Math.atan2(o,a)*bD-120:NaN;return new C2(l<0?l+360:l,s,i,e.opacity)}function M5(e,t,r,n){return arguments.length===1?Vkt(e):new C2(e,t,r,n==null?1:n)}function C2(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}var pke,hW,dW,TD,IE,hke,dke,vke,gke=Ll(()=>{pD();_D();sW();pke=-.14861,hW=1.78277,dW=-.29227,TD=-.90649,IE=1.97294,hke=IE*TD,dke=IE*hW,vke=hW*dW-TD*pke;Xy(C2,M5,G_(Vm,{brighter(e){return e=e==null?k2:Math.pow(k2,e),new C2(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?j_:Math.pow(j_,e),new C2(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*xD,t=+this.l,r=isNaN(this.s)?0:this.s*t*(1-t),n=Math.cos(e),i=Math.sin(e);return new hd(255*(t+r*(pke*n+hW*i)),255*(t+r*(dW*n+TD*i)),255*(t+r*(IE*n)),this.opacity)}}))});var L2=Ll(()=>{_D();fke();gke()});function vW(e,t,r,n,i){var a=e*e,o=a*e;return((1-3*e+3*a-o)*t+(4-6*a+3*o)*r+(1+3*e+3*a-3*o)*n+o*i)/6}function AD(e){var t=e.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,t-1):Math.floor(r*t),i=e[n],a=e[n+1],o=n>0?e[n-1]:2*i-a,s=n<t-1?e[n+2]:2*a-i;return vW((r-n/t)*t,o,i,a,s)}}var SD=Ll(()=>{});function MD(e){var t=e.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*t),i=e[(n+t-1)%t],a=e[n%t],o=e[(n+1)%t],s=e[(n+2)%t];return vW((r-n/t)*t,i,a,o,s)}}var pW=Ll(()=>{SD()});var E5,gW=Ll(()=>{E5=e=>()=>e});function mke(e,t){return function(r){return e+r*t}}function Hkt(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function Z_(e,t){var r=t-e;return r?mke(e,r>180||r<-180?r-360*Math.round(r/360):r):E5(isNaN(e)?t:e)}function yke(e){return(e=+e)==1?qf:function(t,r){return r-t?Hkt(t,r,e):E5(isNaN(t)?r:t)}}function qf(e,t){var r=t-e;return r?mke(e,r):E5(isNaN(e)?t:e)}var P2=Ll(()=>{gW()});function _ke(e){return function(t){var r=t.length,n=new Array(r),i=new Array(r),a=new Array(r),o,s;for(o=0;o<r;++o)s=T5(t[o]),n[o]=s.r||0,i[o]=s.g||0,a[o]=s.b||0;return n=e(n),i=e(i),a=e(a),s.opacity=1,function(l){return s.r=n(l),s.g=i(l),s.b=a(l),s+\"\"}}}var RE,xke,bke,mW=Ll(()=>{L2();SD();pW();P2();RE=function e(t){var r=yke(t);function n(i,a){var o=r((i=T5(i)).r,(a=T5(a)).r),s=r(i.g,a.g),l=r(i.b,a.b),u=qf(i.opacity,a.opacity);return function(c){return i.r=o(c),i.g=s(c),i.b=l(c),i.opacity=u(c),i+\"\"}}return n.gamma=e,n}(1);xke=_ke(AD),bke=_ke(MD)});function k5(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),i;return function(a){for(i=0;i<r;++i)n[i]=e[i]*(1-a)+t[i]*a;return n}}function ED(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}var kD=Ll(()=>{});function wke(e,t){return(ED(t)?k5:yW)(e,t)}function yW(e,t){var r=t?t.length:0,n=e?Math.min(r,e.length):0,i=new Array(n),a=new Array(r),o;for(o=0;o<n;++o)i[o]=X_(e[o],t[o]);for(;o<r;++o)a[o]=t[o];return function(s){for(o=0;o<n;++o)a[o]=i[o](s);return a}}var _W=Ll(()=>{DE();kD()});function CD(e,t){var r=new Date;return e=+e,t=+t,function(n){return r.setTime(e*(1-n)+t*n),r}}var xW=Ll(()=>{});function Fp(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}var zE=Ll(()=>{});function LD(e,t){var r={},n={},i;(e===null||typeof e!=\"object\")&&(e={}),(t===null||typeof t!=\"object\")&&(t={});for(i in t)i in e?r[i]=X_(e[i],t[i]):n[i]=t[i];return function(a){for(i in r)n[i]=r[i](a);return n}}var bW=Ll(()=>{DE()});function Gkt(e){return function(){return e}}function jkt(e){return function(t){return e(t)+\"\"}}function PD(e,t){var r=TW.lastIndex=wW.lastIndex=0,n,i,a,o=-1,s=[],l=[];for(e=e+\"\",t=t+\"\";(n=TW.exec(e))&&(i=wW.exec(t));)(a=i.index)>r&&(a=t.slice(r,a),s[o]?s[o]+=a:s[++o]=a),(n=n[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,l.push({i:o,x:Fp(n,i)})),r=wW.lastIndex;return r<t.length&&(a=t.slice(r),s[o]?s[o]+=a:s[++o]=a),s.length<2?l[0]?jkt(l[0].x):Gkt(t):(t=l.length,function(u){for(var c=0,f;c<t;++c)s[(f=l[c]).i]=f.x(u);return s.join(\"\")})}var TW,wW,AW=Ll(()=>{zE();TW=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,wW=new RegExp(TW.source,\"g\")});function X_(e,t){var r=typeof t,n;return t==null||r===\"boolean\"?E5(t):(r===\"number\"?Fp:r===\"string\"?(n=W_(t))?(t=n,RE):PD:t instanceof W_?RE:t instanceof Date?CD:ED(t)?k5:Array.isArray(t)?yW:typeof t.valueOf!=\"function\"&&typeof t.toString!=\"function\"||isNaN(t)?LD:Fp)(e,t)}var DE=Ll(()=>{L2();mW();_W();xW();zE();bW();AW();gW();kD()});function Tke(e){var t=e.length;return function(r){return e[Math.max(0,Math.min(t-1,Math.floor(r*t)))]}}var Ake=Ll(()=>{});function Ske(e,t){var r=Z_(+e,+t);return function(n){var i=r(n);return i-360*Math.floor(i/360)}}var Mke=Ll(()=>{P2()});function Eke(e,t){return e=+e,t=+t,function(r){return Math.round(e*(1-r)+t*r)}}var kke=Ll(()=>{});function SW(e,t,r,n,i,a){var o,s,l;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(l=e*r+t*n)&&(r-=e*l,n-=t*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),e*n<t*r&&(e=-e,t=-t,l=-l,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*Cke,skewX:Math.atan(l)*Cke,scaleX:o,scaleY:s}}var Cke,ID,Lke=Ll(()=>{Cke=180/Math.PI,ID={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1}});function Pke(e){let t=new(typeof DOMMatrix==\"function\"?DOMMatrix:WebKitCSSMatrix)(e+\"\");return t.isIdentity?ID:SW(t.a,t.b,t.c,t.d,t.e,t.f)}function Ike(e){return e==null?ID:(RD||(RD=document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\")),RD.setAttribute(\"transform\",e),(e=RD.transform.baseVal.consolidate())?(e=e.matrix,SW(e.a,e.b,e.c,e.d,e.e,e.f)):ID)}var RD,Rke=Ll(()=>{Lke()});function Dke(e,t,r,n){function i(u){return u.length?u.pop()+\" \":\"\"}function a(u,c,f,h,d,v){if(u!==f||c!==h){var x=d.push(\"translate(\",null,t,null,r);v.push({i:x-4,x:Fp(u,f)},{i:x-2,x:Fp(c,h)})}else(f||h)&&d.push(\"translate(\"+f+t+h+r)}function o(u,c,f,h){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),h.push({i:f.push(i(f)+\"rotate(\",null,n)-2,x:Fp(u,c)})):c&&f.push(i(f)+\"rotate(\"+c+n)}function s(u,c,f,h){u!==c?h.push({i:f.push(i(f)+\"skewX(\",null,n)-2,x:Fp(u,c)}):c&&f.push(i(f)+\"skewX(\"+c+n)}function l(u,c,f,h,d,v){if(u!==f||c!==h){var x=d.push(i(d)+\"scale(\",null,\",\",null,\")\");v.push({i:x-4,x:Fp(u,f)},{i:x-2,x:Fp(c,h)})}else(f!==1||h!==1)&&d.push(i(d)+\"scale(\"+f+\",\"+h+\")\")}return function(u,c){var f=[],h=[];return u=e(u),c=e(c),a(u.translateX,u.translateY,c.translateX,c.translateY,f,h),o(u.rotate,c.rotate,f,h),s(u.skewX,c.skewX,f,h),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,f,h),u=c=null,function(d){for(var v=-1,x=h.length,b;++v<x;)f[(b=h[v]).i]=b.x(d);return f.join(\"\")}}}var zke,Fke,qke=Ll(()=>{zE();Rke();zke=Dke(Pke,\"px, \",\"px)\",\"deg)\"),Fke=Dke(Ike,\", \",\")\",\")\")});function Oke(e){return((e=Math.exp(e))+1/e)/2}function Zkt(e){return((e=Math.exp(e))-1/e)/2}function Xkt(e){return((e=Math.exp(2*e))-1)/(e+1)}var Wkt,Bke,Nke=Ll(()=>{Wkt=1e-12;Bke=function e(t,r,n){function i(a,o){var s=a[0],l=a[1],u=a[2],c=o[0],f=o[1],h=o[2],d=c-s,v=f-l,x=d*d+v*v,b,p;if(x<Wkt)p=Math.log(h/u)/t,b=function(C){return[s+C*d,l+C*v,u*Math.exp(t*C*p)]};else{var E=Math.sqrt(x),k=(h*h-u*u+n*x)/(2*u*r*E),A=(h*h-u*u-n*x)/(2*h*r*E),L=Math.log(Math.sqrt(k*k+1)-k),_=Math.log(Math.sqrt(A*A+1)-A);p=(_-L)/t,b=function(C){var M=C*p,g=Oke(L),P=u/(r*E)*(g*Xkt(t*M+L)-Zkt(L));return[s+P*d,l+P*v,u*g/Oke(t*M+L)]}}return b.duration=p*1e3*t/Math.SQRT2,b}return i.rho=function(a){var o=Math.max(.001,+a),s=o*o,l=s*s;return e(o,s,l)},i}(Math.SQRT2,2,4)});function Uke(e){return function(t,r){var n=e((t=LE(t)).h,(r=LE(r)).h),i=qf(t.s,r.s),a=qf(t.l,r.l),o=qf(t.opacity,r.opacity);return function(s){return t.h=n(s),t.s=i(s),t.l=a(s),t.opacity=o(s),t+\"\"}}}var Vke,Hke,Gke=Ll(()=>{L2();P2();Vke=Uke(Z_),Hke=Uke(qf)});function MW(e,t){var r=qf((e=S5(e)).l,(t=S5(t)).l),n=qf(e.a,t.a),i=qf(e.b,t.b),a=qf(e.opacity,t.opacity);return function(o){return e.l=r(o),e.a=n(o),e.b=i(o),e.opacity=a(o),e+\"\"}}var jke=Ll(()=>{L2();P2()});function Wke(e){return function(t,r){var n=e((t=PE(t)).h,(r=PE(r)).h),i=qf(t.c,r.c),a=qf(t.l,r.l),o=qf(t.opacity,r.opacity);return function(s){return t.h=n(s),t.c=i(s),t.l=a(s),t.opacity=o(s),t+\"\"}}}var Zke,Xke,Yke=Ll(()=>{L2();P2();Zke=Wke(Z_),Xke=Wke(qf)});function Kke(e){return function t(r){r=+r;function n(i,a){var o=e((i=M5(i)).h,(a=M5(a)).h),s=qf(i.s,a.s),l=qf(i.l,a.l),u=qf(i.opacity,a.opacity);return function(c){return i.h=o(c),i.s=s(c),i.l=l(Math.pow(c,r)),i.opacity=u(c),i+\"\"}}return n.gamma=t,n}(1)}var Jke,$ke,Qke=Ll(()=>{L2();P2();Jke=Kke(Z_),$ke=Kke(qf)});function EW(e,t){t===void 0&&(t=e,e=X_);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r<n;)a[r]=e(i,i=t[++r]);return function(o){var s=Math.max(0,Math.min(n-1,Math.floor(o*=n)));return a[s](o-s)}}var eCe=Ll(()=>{DE()});function tCe(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e(n/(t-1));return r}var rCe=Ll(()=>{});var I2={};QQ(I2,{interpolate:()=>X_,interpolateArray:()=>wke,interpolateBasis:()=>AD,interpolateBasisClosed:()=>MD,interpolateCubehelix:()=>Jke,interpolateCubehelixLong:()=>$ke,interpolateDate:()=>CD,interpolateDiscrete:()=>Tke,interpolateHcl:()=>Zke,interpolateHclLong:()=>Xke,interpolateHsl:()=>Vke,interpolateHslLong:()=>Hke,interpolateHue:()=>Ske,interpolateLab:()=>MW,interpolateNumber:()=>Fp,interpolateNumberArray:()=>k5,interpolateObject:()=>LD,interpolateRgb:()=>RE,interpolateRgbBasis:()=>xke,interpolateRgbBasisClosed:()=>bke,interpolateRound:()=>Eke,interpolateString:()=>PD,interpolateTransformCss:()=>zke,interpolateTransformSvg:()=>Fke,interpolateZoom:()=>Bke,piecewise:()=>EW,quantize:()=>tCe});var R2=Ll(()=>{DE();_W();SD();pW();xW();Ake();Mke();zE();kD();bW();kke();AW();qke();Nke();mW();Gke();jke();Yke();Qke();eCe();rCe()});var DD=ye((cdr,iCe)=>{\"use strict\";var Ykt=ao(),Kkt=va();iCe.exports=function(t,r,n,i,a){var o=r.data.data,s=o.i,l=a||o.color;if(s>=0){r.i=o.i;var u=n.marker;u.pattern?(!u.colors||!u.pattern.shape)&&(u.color=l,r.color=l):(u.color=l,r.color=l),Ykt.pointStyle(t,n,i,r)}else Kkt.fill(t,l)}});var kW=ye((fdr,lCe)=>{\"use strict\";var nCe=xa(),aCe=va(),oCe=Mr(),Jkt=_v().resizeText,$kt=DD();function Qkt(e){var t=e._fullLayout._sunburstlayer.selectAll(\".trace\");Jkt(e,t,\"sunburst\"),t.each(function(r){var n=nCe.select(this),i=r[0],a=i.trace;n.style(\"opacity\",a.opacity),n.selectAll(\"path.surface\").each(function(o){nCe.select(this).call(sCe,o,a,e)})})}function sCe(e,t,r,n){var i=t.data.data,a=!t.children,o=i.i,s=oCe.castOption(r,o,\"marker.line.color\")||aCe.defaultLine,l=oCe.castOption(r,o,\"marker.line.width\")||0;e.call($kt,t,r,n).style(\"stroke-width\",l).call(aCe.stroke,s).style(\"opacity\",a?r.leaf.opacity:null)}lCe.exports={style:Qkt,styleOne:sCe}});var Ky=ye(bs=>{\"use strict\";var D2=Mr(),eCt=va(),tCt=Tg(),uCe=u_();bs.findEntryWithLevel=function(e,t){var r;return t&&e.eachAfter(function(n){if(bs.getPtId(n)===t)return r=n.copy()}),r||e};bs.findEntryWithChild=function(e,t){var r;return e.eachAfter(function(n){for(var i=n.children||[],a=0;a<i.length;a++){var o=i[a];if(bs.getPtId(o)===t)return r=n.copy()}}),r||e};bs.isEntry=function(e){return!e.parent};bs.isLeaf=function(e){return!e.children};bs.getPtId=function(e){return e.data.data.id};bs.getPtLabel=function(e){return e.data.data.label};bs.getValue=function(e){return e.value};bs.isHierarchyRoot=function(e){return cCe(e)===\"\"};bs.setSliceCursor=function(e,t,r){var n=r.isTransitioning;if(!n){var i=e.datum();n=r.hideOnRoot&&bs.isHierarchyRoot(i)||r.hideOnLeaves&&bs.isLeaf(i)}tCt(e,n?null:\"pointer\")};function rCt(e,t,r){return{color:bs.getOutsideTextFontKey(\"color\",e,t,r),family:bs.getOutsideTextFontKey(\"family\",e,t,r),size:bs.getOutsideTextFontKey(\"size\",e,t,r),weight:bs.getOutsideTextFontKey(\"weight\",e,t,r),style:bs.getOutsideTextFontKey(\"style\",e,t,r),variant:bs.getOutsideTextFontKey(\"variant\",e,t,r),textcase:bs.getOutsideTextFontKey(\"textcase\",e,t,r),lineposition:bs.getOutsideTextFontKey(\"lineposition\",e,t,r),shadow:bs.getOutsideTextFontKey(\"shadow\",e,t,r)}}function iCt(e,t,r,n){var i=(n||{}).onPathbar,a=t.data.data,o=a.i,s=D2.castOption(e,o,(i?\"pathbar.textfont\":\"insidetextfont\")+\".color\");return!s&&e._input.textfont&&(s=D2.castOption(e._input,o,\"textfont.color\")),{color:s||eCt.contrast(a.color),family:bs.getInsideTextFontKey(\"family\",e,t,r,n),size:bs.getInsideTextFontKey(\"size\",e,t,r,n),weight:bs.getInsideTextFontKey(\"weight\",e,t,r,n),style:bs.getInsideTextFontKey(\"style\",e,t,r,n),variant:bs.getInsideTextFontKey(\"variant\",e,t,r,n),textcase:bs.getInsideTextFontKey(\"textcase\",e,t,r,n),lineposition:bs.getInsideTextFontKey(\"lineposition\",e,t,r,n),shadow:bs.getInsideTextFontKey(\"shadow\",e,t,r,n)}}bs.getInsideTextFontKey=function(e,t,r,n,i){var a=(i||{}).onPathbar,o=a?\"pathbar.textfont\":\"insidetextfont\",s=r.data.data.i;return D2.castOption(t,s,o+\".\"+e)||D2.castOption(t,s,\"textfont.\"+e)||n.size};bs.getOutsideTextFontKey=function(e,t,r,n){var i=r.data.data.i;return D2.castOption(t,i,\"outsidetextfont.\"+e)||D2.castOption(t,i,\"textfont.\"+e)||n.size};bs.isOutsideText=function(e,t){return!e._hasColorscale&&bs.isHierarchyRoot(t)};bs.determineTextFont=function(e,t,r,n){return bs.isOutsideText(e,t)?rCt(e,t,r):iCt(e,t,r,n)};bs.hasTransition=function(e){return!!(e&&e.duration>0)};bs.getMaxDepth=function(e){return e.maxdepth>=0?e.maxdepth:1/0};bs.isHeader=function(e,t){return!(bs.isLeaf(e)||e.depth===t._maxDepth-1)};function cCe(e){return e.data.data.pid}bs.getParent=function(e,t){return bs.findEntryWithLevel(e,cCe(t))};bs.listPath=function(e,t){var r=e.parent;if(!r)return[];var n=t?[r.data[t]]:[r];return bs.listPath(r,t).concat(n)};bs.getPath=function(e){return bs.listPath(e,\"label\").join(\"/\")+\"/\"};bs.formatValue=uCe.formatPieValue;bs.formatPercent=function(e,t){var r=D2.formatPercent(e,0);return r===\"0%\"&&(r=uCe.formatPiePercent(e,t)),r}});var OE=ye((ddr,dCe)=>{\"use strict\";var C5=xa(),fCe=ba(),nCt=rp().appendArrayPointValue,FE=Nc(),hCe=Mr(),aCt=g3(),Wh=Ky(),oCt=u_(),sCt=oCt.formatPieValue;dCe.exports=function(t,r,n,i,a){var o=i[0],s=o.trace,l=o.hierarchy,u=s.type===\"sunburst\",c=s.type===\"treemap\"||s.type===\"icicle\";\"_hasHoverLabel\"in s||(s._hasHoverLabel=!1),\"_hasHoverEvent\"in s||(s._hasHoverEvent=!1);var f=function(v){var x=n._fullLayout;if(!(n._dragging||x.hovermode===!1)){var b=n._fullData[s.index],p=v.data.data,E=p.i,k=Wh.isHierarchyRoot(v),A=Wh.getParent(l,v),L=Wh.getValue(v),_=function(Me){return hCe.castOption(b,E,Me)},C=_(\"hovertemplate\"),M=FE.castHoverinfo(b,x,E),g=x.separators,P;if(C||M&&M!==\"none\"&&M!==\"skip\"){var T,F;u&&(T=o.cx+v.pxmid[0]*(1-v.rInscribed),F=o.cy+v.pxmid[1]*(1-v.rInscribed)),c&&(T=v._hoverX,F=v._hoverY);var q={},V=[],H=[],X=function(Me){return V.indexOf(Me)!==-1};M&&(V=M===\"all\"?b._module.attributes.hoverinfo.flags:M.split(\"+\")),q.label=p.label,X(\"label\")&&q.label&&H.push(q.label),p.hasOwnProperty(\"v\")&&(q.value=p.v,q.valueLabel=sCt(q.value,g),X(\"value\")&&H.push(q.valueLabel)),q.currentPath=v.currentPath=Wh.getPath(v.data),X(\"current path\")&&!k&&H.push(q.currentPath);var G,N=[],W=function(){N.indexOf(G)===-1&&(H.push(G),N.push(G))};q.percentParent=v.percentParent=L/Wh.getValue(A),q.parent=v.parentString=Wh.getPtLabel(A),X(\"percent parent\")&&(G=Wh.formatPercent(q.percentParent,g)+\" of \"+q.parent,W()),q.percentEntry=v.percentEntry=L/Wh.getValue(r),q.entry=v.entry=Wh.getPtLabel(r),X(\"percent entry\")&&!k&&!v.onPathbar&&(G=Wh.formatPercent(q.percentEntry,g)+\" of \"+q.entry,W()),q.percentRoot=v.percentRoot=L/Wh.getValue(l),q.root=v.root=Wh.getPtLabel(l),X(\"percent root\")&&!k&&(G=Wh.formatPercent(q.percentRoot,g)+\" of \"+q.root,W()),q.text=_(\"hovertext\")||_(\"text\"),X(\"text\")&&(G=q.text,hCe.isValidTextValue(G)&&H.push(G)),P=[qE(v,b,a.eventDataKeys)];var re={trace:b,y:F,_x0:v._x0,_x1:v._x1,_y0:v._y0,_y1:v._y1,text:H.join(\"<br>\"),name:C||X(\"name\")?b.name:void 0,color:_(\"hoverlabel.bgcolor\")||p.color,borderColor:_(\"hoverlabel.bordercolor\"),fontFamily:_(\"hoverlabel.font.family\"),fontSize:_(\"hoverlabel.font.size\"),fontColor:_(\"hoverlabel.font.color\"),fontWeight:_(\"hoverlabel.font.weight\"),fontStyle:_(\"hoverlabel.font.style\"),fontVariant:_(\"hoverlabel.font.variant\"),nameLength:_(\"hoverlabel.namelength\"),textAlign:_(\"hoverlabel.align\"),hovertemplate:C,hovertemplateLabels:q,eventData:P};u&&(re.x0=T-v.rInscribed*v.rpx1,re.x1=T+v.rInscribed*v.rpx1,re.idealAlign=v.pxmid[0]<0?\"left\":\"right\"),c&&(re.x=T,re.idealAlign=T<0?\"left\":\"right\");var ae=[];FE.loneHover(re,{container:x._hoverlayer.node(),outerContainer:x._paper.node(),gd:n,inOut_bbox:ae}),P[0].bbox=ae[0],s._hasHoverLabel=!0}if(c){var _e=t.select(\"path.surface\");a.styleOne(_e,v,b,n,{hovered:!0})}s._hasHoverEvent=!0,n.emit(\"plotly_hover\",{points:P||[qE(v,b,a.eventDataKeys)],event:C5.event})}},h=function(v){var x=n._fullLayout,b=n._fullData[s.index],p=C5.select(this).datum();if(s._hasHoverEvent&&(v.originalEvent=C5.event,n.emit(\"plotly_unhover\",{points:[qE(p,b,a.eventDataKeys)],event:C5.event}),s._hasHoverEvent=!1),s._hasHoverLabel&&(FE.loneUnhover(x._hoverlayer.node()),s._hasHoverLabel=!1),c){var E=t.select(\"path.surface\");a.styleOne(E,p,b,n,{hovered:!1})}},d=function(v){var x=n._fullLayout,b=n._fullData[s.index],p=u&&(Wh.isHierarchyRoot(v)||Wh.isLeaf(v)),E=Wh.getPtId(v),k=Wh.isEntry(v)?Wh.findEntryWithChild(l,E):Wh.findEntryWithLevel(l,E),A=Wh.getPtId(k),L={points:[qE(v,b,a.eventDataKeys)],event:C5.event};p||(L.nextLevel=A);var _=aCt.triggerHandler(n,\"plotly_\"+s.type+\"click\",L);if(_!==!1&&x.hovermode&&(n._hoverdata=[qE(v,b,a.eventDataKeys)],FE.click(n,C5.event)),!p&&_!==!1&&!n._dragging&&!n._transitioning){fCe.call(\"_storeDirectGUIEdit\",b,x._tracePreGUI[b.uid],{level:b.level});var C={data:[{level:A}],traces:[s.index]},M={frame:{redraw:!1,duration:a.transitionTime},transition:{duration:a.transitionTime,easing:a.transitionEasing},mode:\"immediate\",fromcurrent:!0};FE.loneUnhover(x._hoverlayer.node()),fCe.call(\"animate\",n,C,M)}};t.on(\"mouseover\",f),t.on(\"mouseout\",h),t.on(\"click\",d)};function qE(e,t,r){for(var n=e.data.data,i={curveNumber:t.index,pointNumber:n.i,data:t._input,fullData:t},a=0;a<r.length;a++){var o=r[a];o in e&&(i[o]=e[o])}return\"parentString\"in e&&!Wh.isHierarchyRoot(e)&&(i.parent=e.parentString),nCt(i,t,n.i),i}});var FD=ye(zD=>{\"use strict\";var BE=xa(),lCt=SE(),Xg=(R2(),B1(I2)).interpolate,vCe=ao(),bv=Mr(),uCt=Pl(),yCe=_v(),pCe=yCe.recordMinTextSize,cCt=yCe.clearMinTextSize,_Ce=dD(),fCt=u_().getRotationAngle,hCt=_Ce.computeTransform,dCt=_Ce.transformInsideText,vCt=kW().styleOne,pCt=N0().resizeText,gCt=OE(),CW=nW(),sl=Ky();zD.plot=function(e,t,r,n){var i=e._fullLayout,a=i._sunburstlayer,o,s,l=!r,u=!i.uniformtext.mode&&sl.hasTransition(r);if(cCt(\"sunburst\",i),o=a.selectAll(\"g.trace.sunburst\").data(t,function(f){return f[0].trace.uid}),o.enter().append(\"g\").classed(\"trace\",!0).classed(\"sunburst\",!0).attr(\"stroke-linejoin\",\"round\"),o.order(),u){n&&(s=n());var c=BE.transition().duration(r.duration).ease(r.easing).each(\"end\",function(){s&&s()}).each(\"interrupt\",function(){s&&s()});c.each(function(){a.selectAll(\"g.trace\").each(function(f){gCe(e,f,this,r)})})}else o.each(function(f){gCe(e,f,this,r)}),i.uniformtext.mode&&pCt(e,i._sunburstlayer.selectAll(\".trace\"),\"sunburst\");l&&o.exit().remove()};function gCe(e,t,r,n){var i=e._context.staticPlot,a=e._fullLayout,o=!a.uniformtext.mode&&sl.hasTransition(n),s=BE.select(r),l=s.selectAll(\"g.slice\"),u=t[0],c=u.trace,f=u.hierarchy,h=sl.findEntryWithLevel(f,c.level),d=sl.getMaxDepth(c),v=a._size,x=c.domain,b=v.w*(x.x[1]-x.x[0]),p=v.h*(x.y[1]-x.y[0]),E=.5*Math.min(b,p),k=u.cx=v.l+v.w*(x.x[1]+x.x[0])/2,A=u.cy=v.t+v.h*(1-x.y[0])-p/2;if(!h)return l.remove();var L=null,_={};o&&l.each(function(ge){_[sl.getPtId(ge)]={rpx0:ge.rpx0,rpx1:ge.rpx1,x0:ge.x0,x1:ge.x1,transform:ge.transform},!L&&sl.isEntry(ge)&&(L=ge)});var C=mCt(h).descendants(),M=h.height+1,g=0,P=d;u.hasMultipleRoots&&sl.isHierarchyRoot(h)&&(C=C.slice(1),M-=1,g=1,P+=1),C=C.filter(function(ge){return ge.y1<=P});var T=fCt(c.rotation);T&&C.forEach(function(ge){ge.x0+=T,ge.x1+=T});var F=Math.min(M,d),q=function(ge){return(ge-g)/F*E},V=function(ge,ie){return[ge*Math.cos(ie),-ge*Math.sin(ie)]},H=function(ge){return bv.pathAnnulus(ge.rpx0,ge.rpx1,ge.x0,ge.x1,k,A)},X=function(ge){return k+mCe(ge)[0]*(ge.transform.rCenter||0)+(ge.transform.x||0)},G=function(ge){return A+mCe(ge)[1]*(ge.transform.rCenter||0)+(ge.transform.y||0)};l=l.data(C,sl.getPtId),l.enter().append(\"g\").classed(\"slice\",!0),o?l.exit().transition().each(function(){var ge=BE.select(this),ie=ge.select(\"path.surface\");ie.transition().attrTween(\"d\",function(Ee){var Ae=ae(Ee);return function(ze){return H(Ae(ze))}});var Te=ge.select(\"g.slicetext\");Te.attr(\"opacity\",0)}).remove():l.exit().remove(),l.order();var N=null;if(o&&L){var W=sl.getPtId(L);l.each(function(ge){N===null&&sl.getPtId(ge)===W&&(N=ge.x1)})}var re=l;o&&(re=re.transition().each(\"end\",function(){var ge=BE.select(this);sl.setSliceCursor(ge,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:!1})})),re.each(function(ge){var ie=BE.select(this),Te=bv.ensureSingle(ie,\"path\",\"surface\",function(Re){Re.style(\"pointer-events\",i?\"none\":\"all\")});ge.rpx0=q(ge.y0),ge.rpx1=q(ge.y1),ge.xmid=(ge.x0+ge.x1)/2,ge.pxmid=V(ge.rpx1,ge.xmid),ge.midangle=-(ge.xmid-Math.PI/2),ge.startangle=-(ge.x0-Math.PI/2),ge.stopangle=-(ge.x1-Math.PI/2),ge.halfangle=.5*Math.min(bv.angleDelta(ge.x0,ge.x1)||Math.PI,Math.PI),ge.ring=1-ge.rpx0/ge.rpx1,ge.rInscribed=yCt(ge,c),o?Te.transition().attrTween(\"d\",function(Re){var ce=_e(Re);return function(Ge){return H(ce(Ge))}}):Te.attr(\"d\",H),ie.call(gCt,h,e,t,{eventDataKeys:CW.eventDataKeys,transitionTime:CW.CLICK_TRANSITION_TIME,transitionEasing:CW.CLICK_TRANSITION_EASING}).call(sl.setSliceCursor,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:e._transitioning}),Te.call(vCt,ge,c,e);var Ee=bv.ensureSingle(ie,\"g\",\"slicetext\"),Ae=bv.ensureSingle(Ee,\"text\",\"\",function(Re){Re.attr(\"data-notex\",1)}),ze=bv.ensureUniformFontSize(e,sl.determineTextFont(c,ge,a.font));Ae.text(zD.formatSliceLabel(ge,h,c,t,a)).classed(\"slicetext\",!0).attr(\"text-anchor\",\"middle\").call(vCe.font,ze).call(uCt.convertToTspans,e);var Ce=vCe.bBox(Ae.node());ge.transform=dCt(Ce,ge,u),ge.transform.targetX=X(ge),ge.transform.targetY=G(ge);var me=function(Re,ce){var Ge=Re.transform;return hCt(Ge,ce),Ge.fontSize=ze.size,pCe(c.type,Ge,a),bv.getTextTransform(Ge)};o?Ae.transition().attrTween(\"transform\",function(Re){var ce=Me(Re);return function(Ge){return me(ce(Ge),Ce)}}):Ae.attr(\"transform\",me(ge,Ce))});function ae(ge){var ie=sl.getPtId(ge),Te=_[ie],Ee=_[sl.getPtId(h)],Ae;if(Ee){var ze=(ge.x1>Ee.x1?2*Math.PI:0)+T;Ae=ge.rpx1<Ee.rpx1?{x0:ge.x0,x1:ge.x1,rpx0:0,rpx1:0}:{x0:ze,x1:ze,rpx0:ge.rpx0,rpx1:ge.rpx1}}else{var Ce,me=sl.getPtId(ge.parent);l.each(function(ct){if(sl.getPtId(ct)===me)return Ce=ct});var Re=Ce.children,ce;Re.forEach(function(ct,qt){if(sl.getPtId(ct)===ie)return ce=qt});var Ge=Re.length,nt=Xg(Ce.x0,Ce.x1);Ae={rpx0:E,rpx1:E,x0:nt(ce/Ge),x1:nt((ce+1)/Ge)}}return Xg(Te,Ae)}function _e(ge){var ie=_[sl.getPtId(ge)],Te,Ee={x0:ge.x0,x1:ge.x1,rpx0:ge.rpx0,rpx1:ge.rpx1};if(ie)Te=ie;else if(L)if(ge.parent)if(N){var Ae=(ge.x1>N?2*Math.PI:0)+T;Te={x0:Ae,x1:Ae}}else Te={rpx0:E,rpx1:E},bv.extendFlat(Te,ke(ge));else Te={rpx0:0,rpx1:0};else Te={x0:T,x1:T};return Xg(Te,Ee)}function Me(ge){var ie=_[sl.getPtId(ge)],Te,Ee=ge.transform;if(ie)Te=ie;else if(Te={rpx1:ge.rpx1,transform:{textPosAngle:Ee.textPosAngle,scale:0,rotate:Ee.rotate,rCenter:Ee.rCenter,x:Ee.x,y:Ee.y}},L)if(ge.parent)if(N){var Ae=ge.x1>N?2*Math.PI:0;Te.x0=Te.x1=Ae}else bv.extendFlat(Te,ke(ge));else Te.x0=Te.x1=T;else Te.x0=Te.x1=T;var ze=Xg(Te.transform.textPosAngle,ge.transform.textPosAngle),Ce=Xg(Te.rpx1,ge.rpx1),me=Xg(Te.x0,ge.x0),Re=Xg(Te.x1,ge.x1),ce=Xg(Te.transform.scale,Ee.scale),Ge=Xg(Te.transform.rotate,Ee.rotate),nt=Ee.rCenter===0?3:Te.transform.rCenter===0?1/3:1,ct=Xg(Te.transform.rCenter,Ee.rCenter),qt=function(rt){return ct(Math.pow(rt,nt))};return function(rt){var ot=Ce(rt),Rt=me(rt),kt=Re(rt),Ct=qt(rt),Yt=V(ot,(Rt+kt)/2),xr=ze(rt),er={pxmid:Yt,rpx1:ot,transform:{textPosAngle:xr,rCenter:Ct,x:Ee.x,y:Ee.y}};return pCe(c.type,Ee,a),{transform:{targetX:X(er),targetY:G(er),scale:ce(rt),rotate:Ge(rt),rCenter:Ct}}}}function ke(ge){var ie=ge.parent,Te=_[sl.getPtId(ie)],Ee={};if(Te){var Ae=ie.children,ze=Ae.indexOf(ge),Ce=Ae.length,me=Xg(Te.x0,Te.x1);Ee.x0=me(ze/Ce),Ee.x1=me(ze/Ce)}else Ee.x0=Ee.x1=0;return Ee}}function mCt(e){return lCt.partition().size([2*Math.PI,e.height+1])(e)}zD.formatSliceLabel=function(e,t,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!a&&(!o||o===\"none\"))return\"\";var s=i.separators,l=n[0],u=e.data.data,c=l.hierarchy,f=sl.isHierarchyRoot(e),h=sl.getParent(c,e),d=sl.getValue(e);if(!a){var v=o.split(\"+\"),x=function(g){return v.indexOf(g)!==-1},b=[],p;if(x(\"label\")&&u.label&&b.push(u.label),u.hasOwnProperty(\"v\")&&x(\"value\")&&b.push(sl.formatValue(u.v,s)),!f){x(\"current path\")&&b.push(sl.getPath(e.data));var E=0;x(\"percent parent\")&&E++,x(\"percent entry\")&&E++,x(\"percent root\")&&E++;var k=E>1;if(E){var A,L=function(g){p=sl.formatPercent(A,s),k&&(p+=\" of \"+g),b.push(p)};x(\"percent parent\")&&!f&&(A=d/sl.getValue(h),L(\"parent\")),x(\"percent entry\")&&(A=d/sl.getValue(t),L(\"entry\")),x(\"percent root\")&&(A=d/sl.getValue(c),L(\"root\"))}}return x(\"text\")&&(p=bv.castOption(r,u.i,\"text\"),bv.isValidTextValue(p)&&b.push(p)),b.join(\"<br>\")}var _=bv.castOption(r,u.i,\"texttemplate\");if(!_)return\"\";var C={};u.label&&(C.label=u.label),u.hasOwnProperty(\"v\")&&(C.value=u.v,C.valueLabel=sl.formatValue(u.v,s)),C.currentPath=sl.getPath(e.data),f||(C.percentParent=d/sl.getValue(h),C.percentParentLabel=sl.formatPercent(C.percentParent,s),C.parent=sl.getPtLabel(h)),C.percentEntry=d/sl.getValue(t),C.percentEntryLabel=sl.formatPercent(C.percentEntry,s),C.entry=sl.getPtLabel(t),C.percentRoot=d/sl.getValue(c),C.percentRootLabel=sl.formatPercent(C.percentRoot,s),C.root=sl.getPtLabel(c),u.hasOwnProperty(\"color\")&&(C.color=u.color);var M=bv.castOption(r,u.i,\"text\");return(bv.isValidTextValue(M)||M===\"\")&&(C.text=M),C.customdata=bv.castOption(r,u.i,\"customdata\"),bv.texttemplateString(_,C,i._d3locale,C,r._meta||{})};function yCt(e){return e.rpx0===0&&bv.isFullCircle([e.x0,e.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2))}function mCe(e){return _Ct(e.rpx1,e.transform.textPosAngle)}function _Ct(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}});var bCe=ye((pdr,xCe)=>{\"use strict\";xCe.exports={moduleType:\"trace\",name:\"sunburst\",basePlotModule:zEe(),categories:[],animatable:!0,attributes:AE(),layoutAttributes:aW(),supplyDefaults:HEe(),supplyLayoutDefaults:jEe(),calc:EE().calc,crossTraceCalc:EE().crossTraceCalc,plot:FD().plot,style:kW().style,colorbar:Kd(),meta:{}}});var TCe=ye((gdr,wCe)=>{\"use strict\";wCe.exports=bCe()});var SCe=ye(L5=>{\"use strict\";var ACe=Xu();L5.name=\"treemap\";L5.plot=function(e,t,r,n){ACe.plotBasePlot(L5.name,e,t,r,n)};L5.clean=function(e,t,r,n){ACe.cleanBasePlot(L5.name,e,t,r,n)}});var z2=ye((ydr,MCe)=>{\"use strict\";MCe.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"poly\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"],gapWithPathbar:1}});var qD=ye((_dr,kCe)=>{\"use strict\";var xCt=Wo().hovertemplateAttrs,bCt=Wo().texttemplateAttrs,wCt=Jl(),TCt=Ju().attributes,F2=A2(),Q0=AE(),ECe=z2(),LW=no().extendFlat,ACt=Ed().pattern;kCe.exports={labels:Q0.labels,parents:Q0.parents,values:Q0.values,branchvalues:Q0.branchvalues,count:Q0.count,level:Q0.level,maxdepth:Q0.maxdepth,tiling:{packing:{valType:\"enumerated\",values:[\"squarify\",\"binary\",\"dice\",\"slice\",\"slice-dice\",\"dice-slice\"],dflt:\"squarify\",editType:\"plot\"},squarifyratio:{valType:\"number\",min:1,dflt:1,editType:\"plot\"},flip:{valType:\"flaglist\",flags:[\"x\",\"y\"],dflt:\"\",editType:\"plot\"},pad:{valType:\"number\",min:0,dflt:3,editType:\"plot\"},editType:\"calc\"},marker:LW({pad:{t:{valType:\"number\",min:0,editType:\"plot\"},l:{valType:\"number\",min:0,editType:\"plot\"},r:{valType:\"number\",min:0,editType:\"plot\"},b:{valType:\"number\",min:0,editType:\"plot\"},editType:\"calc\"},colors:Q0.marker.colors,pattern:ACt,depthfade:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],editType:\"style\"},line:Q0.marker.line,cornerradius:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},wCt(\"marker\",{colorAttr:\"colors\",anim:!1})),pathbar:{visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},edgeshape:{valType:\"enumerated\",values:[\">\",\"<\",\"|\",\"/\",\"\\\\\"],dflt:\">\",editType:\"plot\"},thickness:{valType:\"number\",min:12,editType:\"plot\"},textfont:LW({},F2.textfont,{}),editType:\"calc\"},text:F2.text,textinfo:Q0.textinfo,texttemplate:bCt({editType:\"plot\"},{keys:ECe.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:F2.hovertext,hoverinfo:Q0.hoverinfo,hovertemplate:xCt({},{keys:ECe.eventDataKeys}),textfont:F2.textfont,insidetextfont:F2.insidetextfont,outsidetextfont:LW({},F2.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:F2.sort,root:Q0.root,domain:TCt({name:\"treemap\",trace:!0,editType:\"calc\"})}});var PW=ye((xdr,CCe)=>{\"use strict\";CCe.exports={treemapcolorway:{valType:\"colorlist\",editType:\"calc\"},extendtreemapcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var RCe=ye((bdr,ICe)=>{\"use strict\";var LCe=Mr(),SCt=qD(),MCt=va(),ECt=Ju().defaults,kCt=r0().handleText,CCt=Qb().TEXTPAD,LCt=S2().handleMarkerDefaults,PCe=Mu(),PCt=PCe.hasColorscale,ICt=PCe.handleDefaults;ICe.exports=function(t,r,n,i){function a(b,p){return LCe.coerce(t,r,SCt,b,p)}var o=a(\"labels\"),s=a(\"parents\");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a(\"values\");l&&l.length?a(\"branchvalues\"):a(\"count\"),a(\"level\"),a(\"maxdepth\");var u=a(\"tiling.packing\");u===\"squarify\"&&a(\"tiling.squarifyratio\"),a(\"tiling.flip\"),a(\"tiling.pad\");var c=a(\"text\");a(\"texttemplate\"),r.texttemplate||a(\"textinfo\",LCe.isArrayOrTypedArray(c)?\"text+label\":\"label\"),a(\"hovertext\"),a(\"hovertemplate\");var f=a(\"pathbar.visible\"),h=\"auto\";kCt(t,r,i,a,h,{hasPathbar:f,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a(\"textposition\");var d=r.textposition.indexOf(\"bottom\")!==-1;LCt(t,r,i,a);var v=r._hasColorscale=PCt(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;v?ICt(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}):a(\"marker.depthfade\",!(r.marker.colors||[]).length);var x=r.textfont.size*2;a(\"marker.pad.t\",d?x/4:x),a(\"marker.pad.l\",x/4),a(\"marker.pad.r\",x/4),a(\"marker.pad.b\",d?x:x/4),a(\"marker.cornerradius\"),r._hovered={marker:{line:{width:2,color:MCt.contrast(i.paper_bgcolor)}}},f&&(a(\"pathbar.thickness\",r.pathbar.textfont.size+2*CCt),a(\"pathbar.side\"),a(\"pathbar.edgeshape\")),a(\"sort\"),a(\"root.color\"),ECt(r,i,a),r._length=null}});var zCe=ye((wdr,DCe)=>{\"use strict\";var RCt=Mr(),DCt=PW();DCe.exports=function(t,r){function n(i,a){return RCt.coerce(t,r,DCt,i,a)}n(\"treemapcolorway\",r.colorway),n(\"extendtreemapcolors\")}});var RW=ye(IW=>{\"use strict\";var FCe=EE();IW.calc=function(e,t){return FCe.calc(e,t)};IW.crossTraceCalc=function(e){return FCe._runCrossTraceCalc(\"treemap\",e)}});var DW=ye((Adr,qCe)=>{\"use strict\";qCe.exports=function e(t,r,n){var i;n.swapXY&&(i=t.x0,t.x0=t.y0,t.y0=i,i=t.x1,t.x1=t.y1,t.y1=i),n.flipX&&(i=t.x0,t.x0=r[0]-t.x1,t.x1=r[0]-i),n.flipY&&(i=t.y0,t.y0=r[1]-t.y1,t.y1=r[1]-i);var a=t.children;if(a)for(var o=0;o<a.length;o++)e(a[o],r,n)}});var zW=ye((Sdr,OCe)=>{\"use strict\";var P5=SE(),zCt=DW();OCe.exports=function(t,r,n){var i=n.flipX,a=n.flipY,o=n.packing===\"dice-slice\",s=n.pad[a?\"bottom\":\"top\"],l=n.pad[i?\"right\":\"left\"],u=n.pad[i?\"left\":\"right\"],c=n.pad[a?\"top\":\"bottom\"],f;o&&(f=l,l=s,s=f,f=u,u=c,c=f);var h=P5.treemap().tile(FCt(n.packing,n.squarifyratio)).paddingInner(n.pad.inner).paddingLeft(l).paddingRight(u).paddingTop(s).paddingBottom(c).size(o?[r[1],r[0]]:r)(t);return(o||i||a)&&zCt(h,r,{swapXY:o,flipX:i,flipY:a}),h};function FCt(e,t){switch(e){case\"squarify\":return P5.treemapSquarify.ratio(t);case\"binary\":return P5.treemapBinary;case\"dice\":return P5.treemapDice;case\"slice\":return P5.treemapSlice;default:return P5.treemapSliceDice}}});var OD=ye((Mdr,VCe)=>{\"use strict\";var BCe=xa(),I5=va(),NCe=Mr(),FW=Ky(),qCt=_v().resizeText,OCt=DD();function BCt(e){var t=e._fullLayout._treemaplayer.selectAll(\".trace\");qCt(e,t,\"treemap\"),t.each(function(r){var n=BCe.select(this),i=r[0],a=i.trace;n.style(\"opacity\",a.opacity),n.selectAll(\"path.surface\").each(function(o){BCe.select(this).call(UCe,o,a,e,{hovered:!1})})})}function UCe(e,t,r,n,i){var a=(i||{}).hovered,o=t.data.data,s=o.i,l,u,c=o.color,f=FW.isHierarchyRoot(t),h=1;if(a)l=r._hovered.marker.line.color,u=r._hovered.marker.line.width;else if(f&&c===r.root.color)h=100,l=\"rgba(0,0,0,0)\",u=0;else if(l=NCe.castOption(r,s,\"marker.line.color\")||I5.defaultLine,u=NCe.castOption(r,s,\"marker.line.width\")||0,!r._hasColorscale&&!t.onPathbar){var d=r.marker.depthfade;if(d){var v=I5.combine(I5.addOpacity(r._backgroundColor,.75),c),x;if(d===!0){var b=FW.getMaxDepth(r);isFinite(b)?FW.isLeaf(t)?x=0:x=r._maxVisibleLayers-(t.data.depth-r._entryDepth):x=t.data.height+1}else x=t.data.depth-r._entryDepth,r._atRootLevel||x++;if(x>0)for(var p=0;p<x;p++){var E=.5*p/x;c=I5.combine(I5.addOpacity(v,E),c)}}}e.call(OCt,t,r,n,c).style(\"stroke-width\",u).call(I5.stroke,l).style(\"opacity\",h)}VCe.exports={style:BCt,styleOne:UCe}});var ZCe=ye((Edr,WCe)=>{\"use strict\";var HCe=xa(),BD=Mr(),GCe=ao(),NCt=Pl(),UCt=zW(),jCe=OD().styleOne,qW=z2(),R5=Ky(),VCt=OE(),OW=!0;WCe.exports=function(t,r,n,i,a){var o=a.barDifY,s=a.width,l=a.height,u=a.viewX,c=a.viewY,f=a.pathSlice,h=a.toMoveInsideSlice,d=a.strTransform,v=a.hasTransition,x=a.handleSlicesExit,b=a.makeUpdateSliceInterpolator,p=a.makeUpdateTextInterpolator,E={},k=t._context.staticPlot,A=t._fullLayout,L=r[0],_=L.trace,C=L.hierarchy,M=s/_._entryDepth,g=R5.listPath(n.data,\"id\"),P=UCt(C.copy(),[s,l],{packing:\"dice\",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();P=P.filter(function(F){var q=g.indexOf(F.data.id);return q===-1?!1:(F.x0=M*q,F.x1=M*(q+1),F.y0=o,F.y1=o+l,F.onPathbar=!0,!0)}),P.reverse(),i=i.data(P,R5.getPtId),i.enter().append(\"g\").classed(\"pathbar\",!0),x(i,OW,E,[s,l],f),i.order();var T=i;v&&(T=T.transition().each(\"end\",function(){var F=HCe.select(this);R5.setSliceCursor(F,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})})),T.each(function(F){F._x0=u(F.x0),F._x1=u(F.x1),F._y0=c(F.y0),F._y1=c(F.y1),F._hoverX=u(F.x1-Math.min(s,l)/2),F._hoverY=c(F.y1-l/2);var q=HCe.select(this),V=BD.ensureSingle(q,\"path\",\"surface\",function(N){N.style(\"pointer-events\",k?\"none\":\"all\")});v?V.transition().attrTween(\"d\",function(N){var W=b(N,OW,E,[s,l]);return function(re){return f(W(re))}}):V.attr(\"d\",f),q.call(VCt,n,t,r,{styleOne:jCe,eventDataKeys:qW.eventDataKeys,transitionTime:qW.CLICK_TRANSITION_TIME,transitionEasing:qW.CLICK_TRANSITION_EASING}).call(R5.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),V.call(jCe,F,_,t,{hovered:!1}),F._text=(R5.getPtLabel(F)||\"\").split(\"<br>\").join(\" \")||\"\";var H=BD.ensureSingle(q,\"g\",\"slicetext\"),X=BD.ensureSingle(H,\"text\",\"\",function(N){N.attr(\"data-notex\",1)}),G=BD.ensureUniformFontSize(t,R5.determineTextFont(_,F,A.font,{onPathbar:!0}));X.text(F._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",\"start\").call(GCe.font,G).call(NCt.convertToTspans,t),F.textBB=GCe.bBox(X.node()),F.transform=h(F,{fontSize:G.size,onPathbar:!0}),F.transform.fontSize=G.size,v?X.transition().attrTween(\"transform\",function(N){var W=p(N,OW,E,[s,l]);return function(re){return d(W(re))}}):X.attr(\"transform\",d(F))})}});var JCe=ye((kdr,KCe)=>{\"use strict\";var XCe=xa(),BW=(R2(),B1(I2)).interpolate,Y_=Ky(),NE=Mr(),YCe=Qb().TEXTPAD,HCt=i2(),GCt=HCt.toMoveInsideBar,jCt=_v(),NW=jCt.recordMinTextSize,WCt=z2(),ZCt=ZCe();function q2(e){return Y_.isHierarchyRoot(e)?\"\":Y_.getPtId(e)}KCe.exports=function(t,r,n,i,a){var o=t._fullLayout,s=r[0],l=s.trace,u=l.type,c=u===\"icicle\",f=s.hierarchy,h=Y_.findEntryWithLevel(f,l.level),d=XCe.select(n),v=d.selectAll(\"g.pathbar\"),x=d.selectAll(\"g.slice\");if(!h){v.remove(),x.remove();return}var b=Y_.isHierarchyRoot(h),p=!o.uniformtext.mode&&Y_.hasTransition(i),E=Y_.getMaxDepth(l),k=function(Ke){return Ke.data.depth-h.data.depth<E},A=o._size,L=l.domain,_=A.w*(L.x[1]-L.x[0]),C=A.h*(L.y[1]-L.y[0]),M=_,g=l.pathbar.thickness,P=l.marker.line.width+WCt.gapWithPathbar,T=l.pathbar.visible?l.pathbar.side.indexOf(\"bottom\")>-1?C+P:-(g+P):0,F={x0:M,x1:M,y0:T,y1:T+g},q=function(Ke,xt,bt){var Lt=l.tiling.pad,St=function($t){return $t-Lt<=xt.x0},Et=function($t){return $t+Lt>=xt.x1},dt=function($t){return $t-Lt<=xt.y0},Ht=function($t){return $t+Lt>=xt.y1};return Ke.x0===xt.x0&&Ke.x1===xt.x1&&Ke.y0===xt.y0&&Ke.y1===xt.y1?{x0:Ke.x0,x1:Ke.x1,y0:Ke.y0,y1:Ke.y1}:{x0:St(Ke.x0-Lt)?0:Et(Ke.x0-Lt)?bt[0]:Ke.x0,x1:St(Ke.x1+Lt)?0:Et(Ke.x1+Lt)?bt[0]:Ke.x1,y0:dt(Ke.y0-Lt)?0:Ht(Ke.y0-Lt)?bt[1]:Ke.y0,y1:dt(Ke.y1+Lt)?0:Ht(Ke.y1+Lt)?bt[1]:Ke.y1}},V=null,H={},X={},G=null,N=function(Ke,xt){return xt?H[q2(Ke)]:X[q2(Ke)]},W=function(Ke,xt,bt,Lt){if(xt)return H[q2(f)]||F;var St=X[l.level]||bt;return k(Ke)?q(Ke,St,Lt):{}};s.hasMultipleRoots&&b&&E++,l._maxDepth=E,l._backgroundColor=o.paper_bgcolor,l._entryDepth=h.data.depth,l._atRootLevel=b;var re=-_/2+A.l+A.w*(L.x[1]+L.x[0])/2,ae=-C/2+A.t+A.h*(1-(L.y[1]+L.y[0])/2),_e=function(Ke){return re+Ke},Me=function(Ke){return ae+Ke},ke=Me(0),ge=_e(0),ie=function(Ke){return ge+Ke},Te=function(Ke){return ke+Ke};function Ee(Ke,xt){return Ke+\",\"+xt}var Ae=ie(0),ze=function(Ke){Ke.x=Math.max(Ae,Ke.x)},Ce=l.pathbar.edgeshape,me=function(Ke){var xt=ie(Math.max(Math.min(Ke.x0,Ke.x0),0)),bt=ie(Math.min(Math.max(Ke.x1,Ke.x1),M)),Lt=Te(Ke.y0),St=Te(Ke.y1),Et=g/2,dt={},Ht={};dt.x=xt,Ht.x=bt,dt.y=Ht.y=(Lt+St)/2;var $t={x:xt,y:Lt},fr={x:bt,y:Lt},_r={x:bt,y:St},Br={x:xt,y:St};return Ce===\">\"?($t.x-=Et,fr.x-=Et,_r.x-=Et,Br.x-=Et):Ce===\"/\"?(_r.x-=Et,Br.x-=Et,dt.x-=Et/2,Ht.x-=Et/2):Ce===\"\\\\\"?($t.x-=Et,fr.x-=Et,dt.x-=Et/2,Ht.x-=Et/2):Ce===\"<\"&&(dt.x-=Et,Ht.x-=Et),ze($t),ze(Br),ze(dt),ze(fr),ze(_r),ze(Ht),\"M\"+Ee($t.x,$t.y)+\"L\"+Ee(fr.x,fr.y)+\"L\"+Ee(Ht.x,Ht.y)+\"L\"+Ee(_r.x,_r.y)+\"L\"+Ee(Br.x,Br.y)+\"L\"+Ee(dt.x,dt.y)+\"Z\"},Re=l[c?\"tiling\":\"marker\"].pad,ce=function(Ke){return l.textposition.indexOf(Ke)!==-1},Ge=ce(\"top\"),nt=ce(\"left\"),ct=ce(\"right\"),qt=ce(\"bottom\"),rt=function(Ke){var xt=_e(Ke.x0),bt=_e(Ke.x1),Lt=Me(Ke.y0),St=Me(Ke.y1),Et=bt-xt,dt=St-Lt;if(!Et||!dt)return\"\";var Ht=l.marker.cornerradius||0,$t=Math.min(Ht,Et/2,dt/2);$t&&Ke.data&&Ke.data.data&&Ke.data.data.label&&(Ge&&($t=Math.min($t,Re.t)),nt&&($t=Math.min($t,Re.l)),ct&&($t=Math.min($t,Re.r)),qt&&($t=Math.min($t,Re.b)));var fr=function(_r,Br){return $t?\"a\"+Ee($t,$t)+\" 0 0 1 \"+Ee(_r,Br):\"\"};return\"M\"+Ee(xt,Lt+$t)+fr($t,-$t)+\"L\"+Ee(bt-$t,Lt)+fr($t,$t)+\"L\"+Ee(bt,St-$t)+fr(-$t,$t)+\"L\"+Ee(xt+$t,St)+fr(-$t,-$t)+\"Z\"},ot=function(Ke,xt){var bt=Ke.x0,Lt=Ke.x1,St=Ke.y0,Et=Ke.y1,dt=Ke.textBB,Ht=Ge||xt.isHeader&&!qt,$t=Ht?\"start\":qt?\"end\":\"middle\",fr=ce(\"right\"),_r=ce(\"left\")||xt.onPathbar,Br=_r?-1:fr?1:0;if(xt.isHeader){if(bt+=(c?Re:Re.l)-YCe,Lt-=(c?Re:Re.r)-YCe,bt>=Lt){var Or=(bt+Lt)/2;bt=Or,Lt=Or}var Nr;qt?(Nr=Et-(c?Re:Re.b),St<Nr&&Nr<Et&&(St=Nr)):(Nr=St+(c?Re:Re.t),St<Nr&&Nr<Et&&(Et=Nr))}var ut=GCt(bt,Lt,St,Et,dt,{isHorizontal:!1,constrained:!0,angle:0,anchor:$t,leftToRight:Br});return ut.fontSize=xt.fontSize,ut.targetX=_e(ut.targetX),ut.targetY=Me(ut.targetY),isNaN(ut.targetX)||isNaN(ut.targetY)?{}:(bt!==Lt&&St!==Et&&NW(l.type,ut,o),{scale:ut.scale,rotate:ut.rotate,textX:ut.textX,textY:ut.textY,anchorX:ut.anchorX,anchorY:ut.anchorY,targetX:ut.targetX,targetY:ut.targetY})},Rt=function(Ke,xt){for(var bt,Lt=0,St=Ke;!bt&&Lt<E;)Lt++,St=St.parent,St?bt=N(St,xt):Lt=E;return bt||{}},kt=function(Ke,xt,bt,Lt){var St=N(Ke,xt),Et;if(xt)Et=F;else{var dt=N(h,xt);dt?Et=q(Ke,dt,Lt):Et={}}return BW(St,Et)},Ct=function(Ke,xt,bt,Lt,St){var Et=N(Ke,xt),dt;if(Et)dt=Et;else if(xt)dt=F;else if(V)if(Ke.parent){var Ht=G||bt;Ht&&!xt?dt=q(Ke,Ht,Lt):(dt={},NE.extendFlat(dt,Rt(Ke,xt)))}else dt=NE.extendFlat({},Ke),c&&(St.orientation===\"h\"?St.flipX?dt.x0=Ke.x1:dt.x1=0:St.flipY?dt.y0=Ke.y1:dt.y1=0);else dt={};return BW(dt,{x0:Ke.x0,x1:Ke.x1,y0:Ke.y0,y1:Ke.y1})},Yt=function(Ke,xt,bt,Lt){var St=N(Ke,xt),Et={},dt=W(Ke,xt,bt,Lt);NE.extendFlat(Et,{transform:ot({x0:dt.x0,x1:dt.x1,y0:dt.y0,y1:dt.y1,textBB:Ke.textBB,_text:Ke._text},{isHeader:Y_.isHeader(Ke,l)})}),St?Et=St:Ke.parent&&NE.extendFlat(Et,Rt(Ke,xt));var Ht=Ke.transform;return Ke.x0!==Ke.x1&&Ke.y0!==Ke.y1&&NW(l.type,Ht,o),BW(Et,{transform:{scale:Ht.scale,rotate:Ht.rotate,textX:Ht.textX,textY:Ht.textY,anchorX:Ht.anchorX,anchorY:Ht.anchorY,targetX:Ht.targetX,targetY:Ht.targetY}})},xr=function(Ke,xt,bt,Lt,St){var Et=Lt[0],dt=Lt[1];p?Ke.exit().transition().each(function(){var Ht=XCe.select(this),$t=Ht.select(\"path.surface\");$t.transition().attrTween(\"d\",function(_r){var Br=kt(_r,xt,bt,[Et,dt]);return function(Or){return St(Br(Or))}});var fr=Ht.select(\"g.slicetext\");fr.attr(\"opacity\",0)}).remove():Ke.exit().remove()},er=function(Ke){var xt=Ke.transform;return Ke.x0!==Ke.x1&&Ke.y0!==Ke.y1&&NW(l.type,xt,o),NE.getTextTransform({textX:xt.textX,textY:xt.textY,anchorX:xt.anchorX,anchorY:xt.anchorY,targetX:xt.targetX,targetY:xt.targetY,scale:xt.scale,rotate:xt.rotate})};p&&(v.each(function(Ke){H[q2(Ke)]={x0:Ke.x0,x1:Ke.x1,y0:Ke.y0,y1:Ke.y1},Ke.transform&&(H[q2(Ke)].transform={textX:Ke.transform.textX,textY:Ke.transform.textY,anchorX:Ke.transform.anchorX,anchorY:Ke.transform.anchorY,targetX:Ke.transform.targetX,targetY:Ke.transform.targetY,scale:Ke.transform.scale,rotate:Ke.transform.rotate})}),x.each(function(Ke){X[q2(Ke)]={x0:Ke.x0,x1:Ke.x1,y0:Ke.y0,y1:Ke.y1},Ke.transform&&(X[q2(Ke)].transform={textX:Ke.transform.textX,textY:Ke.transform.textY,anchorX:Ke.transform.anchorX,anchorY:Ke.transform.anchorY,targetX:Ke.transform.targetX,targetY:Ke.transform.targetY,scale:Ke.transform.scale,rotate:Ke.transform.rotate}),!V&&Y_.isEntry(Ke)&&(V=Ke)})),G=a(t,r,h,x,{width:_,height:C,viewX:_e,viewY:Me,pathSlice:rt,toMoveInsideSlice:ot,prevEntry:V,makeUpdateSliceInterpolator:Ct,makeUpdateTextInterpolator:Yt,handleSlicesExit:xr,hasTransition:p,strTransform:er}),l.pathbar.visible?ZCt(t,r,h,v,{barDifY:T,width:M,height:g,viewX:ie,viewY:Te,pathSlice:me,toMoveInsideSlice:ot,makeUpdateSliceInterpolator:Ct,makeUpdateTextInterpolator:Yt,handleSlicesExit:xr,hasTransition:p,strTransform:er}):v.remove()}});var UW=ye((Cdr,QCe)=>{\"use strict\";var XCt=xa(),YCt=Ky(),KCt=_v(),JCt=KCt.clearMinTextSize,$Ct=N0().resizeText,$Ce=JCe();QCe.exports=function(t,r,n,i,a){var o=a.type,s=a.drawDescendants,l=t._fullLayout,u=l[\"_\"+o+\"layer\"],c,f,h=!n;if(JCt(o,l),c=u.selectAll(\"g.trace.\"+o).data(r,function(v){return v[0].trace.uid}),c.enter().append(\"g\").classed(\"trace\",!0).classed(o,!0),c.order(),!l.uniformtext.mode&&YCt.hasTransition(n)){i&&(f=i());var d=XCt.transition().duration(n.duration).ease(n.easing).each(\"end\",function(){f&&f()}).each(\"interrupt\",function(){f&&f()});d.each(function(){u.selectAll(\"g.trace\").each(function(v){$Ce(t,v,this,n,s)})})}else c.each(function(v){$Ce(t,v,this,n,s)}),l.uniformtext.mode&&$Ct(t,u.selectAll(\".trace\"),o);h&&c.exit().remove()}});var n6e=ye((Ldr,i6e)=>{\"use strict\";var e6e=xa(),ND=Mr(),t6e=ao(),QCt=Pl(),e6t=zW(),r6e=OD().styleOne,VW=z2(),K_=Ky(),t6t=OE(),r6t=FD().formatSliceLabel,HW=!1;i6e.exports=function(t,r,n,i,a){var o=a.width,s=a.height,l=a.viewX,u=a.viewY,c=a.pathSlice,f=a.toMoveInsideSlice,h=a.strTransform,d=a.hasTransition,v=a.handleSlicesExit,x=a.makeUpdateSliceInterpolator,b=a.makeUpdateTextInterpolator,p=a.prevEntry,E={},k=t._context.staticPlot,A=t._fullLayout,L=r[0],_=L.trace,C=_.textposition.indexOf(\"left\")!==-1,M=_.textposition.indexOf(\"right\")!==-1,g=_.textposition.indexOf(\"bottom\")!==-1,P=!g&&!_.marker.pad.t||g&&!_.marker.pad.b,T=e6t(n,[o,s],{packing:_.tiling.packing,squarifyratio:_.tiling.squarifyratio,flipX:_.tiling.flip.indexOf(\"x\")>-1,flipY:_.tiling.flip.indexOf(\"y\")>-1,pad:{inner:_.tiling.pad,top:_.marker.pad.t,left:_.marker.pad.l,right:_.marker.pad.r,bottom:_.marker.pad.b}}),F=T.descendants(),q=1/0,V=-1/0;F.forEach(function(W){var re=W.depth;re>=_._maxDepth?(W.x0=W.x1=(W.x0+W.x1)/2,W.y0=W.y1=(W.y0+W.y1)/2):(q=Math.min(q,re),V=Math.max(V,re))}),i=i.data(F,K_.getPtId),_._maxVisibleLayers=isFinite(V)?V-q+1:0,i.enter().append(\"g\").classed(\"slice\",!0),v(i,HW,E,[o,s],c),i.order();var H=null;if(d&&p){var X=K_.getPtId(p);i.each(function(W){H===null&&K_.getPtId(W)===X&&(H={x0:W.x0,x1:W.x1,y0:W.y0,y1:W.y1})})}var G=function(){return H||{x0:0,x1:o,y0:0,y1:s}},N=i;return d&&(N=N.transition().each(\"end\",function(){var W=e6e.select(this);K_.setSliceCursor(W,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),N.each(function(W){var re=K_.isHeader(W,_);W._x0=l(W.x0),W._x1=l(W.x1),W._y0=u(W.y0),W._y1=u(W.y1),W._hoverX=l(W.x1-_.marker.pad.r),W._hoverY=u(g?W.y1-_.marker.pad.b/2:W.y0+_.marker.pad.t/2);var ae=e6e.select(this),_e=ND.ensureSingle(ae,\"path\",\"surface\",function(Ee){Ee.style(\"pointer-events\",k?\"none\":\"all\")});d?_e.transition().attrTween(\"d\",function(Ee){var Ae=x(Ee,HW,G(),[o,s]);return function(ze){return c(Ae(ze))}}):_e.attr(\"d\",c),ae.call(t6t,n,t,r,{styleOne:r6e,eventDataKeys:VW.eventDataKeys,transitionTime:VW.CLICK_TRANSITION_TIME,transitionEasing:VW.CLICK_TRANSITION_EASING}).call(K_.setSliceCursor,t,{isTransitioning:t._transitioning}),_e.call(r6e,W,_,t,{hovered:!1}),W.x0===W.x1||W.y0===W.y1?W._text=\"\":re?W._text=P?\"\":K_.getPtLabel(W)||\"\":W._text=r6t(W,n,_,r,A)||\"\";var Me=ND.ensureSingle(ae,\"g\",\"slicetext\"),ke=ND.ensureSingle(Me,\"text\",\"\",function(Ee){Ee.attr(\"data-notex\",1)}),ge=ND.ensureUniformFontSize(t,K_.determineTextFont(_,W,A.font)),ie=W._text||\" \",Te=re&&ie.indexOf(\"<br>\")===-1;ke.text(ie).classed(\"slicetext\",!0).attr(\"text-anchor\",M?\"end\":C||Te?\"start\":\"middle\").call(t6e.font,ge).call(QCt.convertToTspans,t),W.textBB=t6e.bBox(ke.node()),W.transform=f(W,{fontSize:ge.size,isHeader:re}),W.transform.fontSize=ge.size,d?ke.transition().attrTween(\"transform\",function(Ee){var Ae=b(Ee,HW,G(),[o,s]);return function(ze){return h(Ae(ze))}}):ke.attr(\"transform\",h(W))}),H}});var o6e=ye((Pdr,a6e)=>{\"use strict\";var i6t=UW(),n6t=n6e();a6e.exports=function(t,r,n,i){return i6t(t,r,n,i,{type:\"treemap\",drawDescendants:n6t})}});var l6e=ye((Idr,s6e)=>{\"use strict\";s6e.exports={moduleType:\"trace\",name:\"treemap\",basePlotModule:SCe(),categories:[],animatable:!0,attributes:qD(),layoutAttributes:PW(),supplyDefaults:RCe(),supplyLayoutDefaults:zCe(),calc:RW().calc,crossTraceCalc:RW().crossTraceCalc,plot:o6e(),style:OD().style,colorbar:Kd(),meta:{}}});var c6e=ye((Rdr,u6e)=>{\"use strict\";u6e.exports=l6e()});var h6e=ye(D5=>{\"use strict\";var f6e=Xu();D5.name=\"icicle\";D5.plot=function(e,t,r,n){f6e.plotBasePlot(D5.name,e,t,r,n)};D5.clean=function(e,t,r,n){f6e.cleanBasePlot(D5.name,e,t,r,n)}});var GW=ye((zdr,v6e)=>{\"use strict\";var a6t=Wo().hovertemplateAttrs,o6t=Wo().texttemplateAttrs,s6t=Jl(),l6t=Ju().attributes,UE=A2(),o0=AE(),UD=qD(),d6e=z2(),u6t=no().extendFlat,c6t=Ed().pattern;v6e.exports={labels:o0.labels,parents:o0.parents,values:o0.values,branchvalues:o0.branchvalues,count:o0.count,level:o0.level,maxdepth:o0.maxdepth,tiling:{orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\",editType:\"plot\"},flip:UD.tiling.flip,pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},marker:u6t({colors:o0.marker.colors,line:o0.marker.line,pattern:c6t,editType:\"calc\"},s6t(\"marker\",{colorAttr:\"colors\",anim:!1})),leaf:o0.leaf,pathbar:UD.pathbar,text:UE.text,textinfo:o0.textinfo,texttemplate:o6t({editType:\"plot\"},{keys:d6e.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:UE.hovertext,hoverinfo:o0.hoverinfo,hovertemplate:a6t({},{keys:d6e.eventDataKeys}),textfont:UE.textfont,insidetextfont:UE.insidetextfont,outsidetextfont:UD.outsidetextfont,textposition:UD.textposition,sort:UE.sort,root:o0.root,domain:l6t({name:\"icicle\",trace:!0,editType:\"calc\"})}});var jW=ye((Fdr,p6e)=>{\"use strict\";p6e.exports={iciclecolorway:{valType:\"colorlist\",editType:\"calc\"},extendiciclecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var _6e=ye((qdr,y6e)=>{\"use strict\";var g6e=Mr(),f6t=GW(),h6t=va(),d6t=Ju().defaults,v6t=r0().handleText,p6t=Qb().TEXTPAD,g6t=S2().handleMarkerDefaults,m6e=Mu(),m6t=m6e.hasColorscale,y6t=m6e.handleDefaults;y6e.exports=function(t,r,n,i){function a(d,v){return g6e.coerce(t,r,f6t,d,v)}var o=a(\"labels\"),s=a(\"parents\");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a(\"values\");l&&l.length?a(\"branchvalues\"):a(\"count\"),a(\"level\"),a(\"maxdepth\"),a(\"tiling.orientation\"),a(\"tiling.flip\"),a(\"tiling.pad\");var u=a(\"text\");a(\"texttemplate\"),r.texttemplate||a(\"textinfo\",g6e.isArrayOrTypedArray(u)?\"text+label\":\"label\"),a(\"hovertext\"),a(\"hovertemplate\");var c=a(\"pathbar.visible\"),f=\"auto\";v6t(t,r,i,a,f,{hasPathbar:c,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a(\"textposition\"),g6t(t,r,i,a);var h=r._hasColorscale=m6t(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;h&&y6t(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}),a(\"leaf.opacity\",h?1:.7),r._hovered={marker:{line:{width:2,color:h6t.contrast(i.paper_bgcolor)}}},c&&(a(\"pathbar.thickness\",r.pathbar.textfont.size+2*p6t),a(\"pathbar.side\"),a(\"pathbar.edgeshape\")),a(\"sort\"),a(\"root.color\"),d6t(r,i,a),r._length=null}});var b6e=ye((Odr,x6e)=>{\"use strict\";var _6t=Mr(),x6t=jW();x6e.exports=function(t,r){function n(i,a){return _6t.coerce(t,r,x6t,i,a)}n(\"iciclecolorway\",r.colorway),n(\"extendiciclecolors\")}});var ZW=ye(WW=>{\"use strict\";var w6e=EE();WW.calc=function(e,t){return w6e.calc(e,t)};WW.crossTraceCalc=function(e){return w6e._runCrossTraceCalc(\"icicle\",e)}});var A6e=ye((Ndr,T6e)=>{\"use strict\";var b6t=SE(),w6t=DW();T6e.exports=function(t,r,n){var i=n.flipX,a=n.flipY,o=n.orientation===\"h\",s=n.maxDepth,l=r[0],u=r[1];s&&(l=(t.height+1)*r[0]/Math.min(t.height+1,s),u=(t.height+1)*r[1]/Math.min(t.height+1,s));var c=b6t.partition().padding(n.pad.inner).size(o?[r[1],l]:[r[0],u])(t);return(o||i||a)&&w6t(c,r,{swapXY:o,flipX:i,flipY:a}),c}});var XW=ye((Udr,C6e)=>{\"use strict\";var S6e=xa(),M6e=va(),E6e=Mr(),T6t=_v().resizeText,A6t=DD();function S6t(e){var t=e._fullLayout._iciclelayer.selectAll(\".trace\");T6t(e,t,\"icicle\"),t.each(function(r){var n=S6e.select(this),i=r[0],a=i.trace;n.style(\"opacity\",a.opacity),n.selectAll(\"path.surface\").each(function(o){S6e.select(this).call(k6e,o,a,e)})})}function k6e(e,t,r,n){var i=t.data.data,a=!t.children,o=i.i,s=E6e.castOption(r,o,\"marker.line.color\")||M6e.defaultLine,l=E6e.castOption(r,o,\"marker.line.width\")||0;e.call(A6t,t,r,n).style(\"stroke-width\",l).call(M6e.stroke,s).style(\"opacity\",a?r.leaf.opacity:null)}C6e.exports={style:S6t,styleOne:k6e}});var D6e=ye((Vdr,R6e)=>{\"use strict\";var L6e=xa(),VD=Mr(),P6e=ao(),M6t=Pl(),E6t=A6e(),I6e=XW().styleOne,YW=z2(),z5=Ky(),k6t=OE(),C6t=FD().formatSliceLabel,KW=!1;R6e.exports=function(t,r,n,i,a){var o=a.width,s=a.height,l=a.viewX,u=a.viewY,c=a.pathSlice,f=a.toMoveInsideSlice,h=a.strTransform,d=a.hasTransition,v=a.handleSlicesExit,x=a.makeUpdateSliceInterpolator,b=a.makeUpdateTextInterpolator,p=a.prevEntry,E={},k=t._context.staticPlot,A=t._fullLayout,L=r[0],_=L.trace,C=_.textposition.indexOf(\"left\")!==-1,M=_.textposition.indexOf(\"right\")!==-1,g=_.textposition.indexOf(\"bottom\")!==-1,P=E6t(n,[o,s],{flipX:_.tiling.flip.indexOf(\"x\")>-1,flipY:_.tiling.flip.indexOf(\"y\")>-1,orientation:_.tiling.orientation,pad:{inner:_.tiling.pad},maxDepth:_._maxDepth}),T=P.descendants(),F=1/0,q=-1/0;T.forEach(function(N){var W=N.depth;W>=_._maxDepth?(N.x0=N.x1=(N.x0+N.x1)/2,N.y0=N.y1=(N.y0+N.y1)/2):(F=Math.min(F,W),q=Math.max(q,W))}),i=i.data(T,z5.getPtId),_._maxVisibleLayers=isFinite(q)?q-F+1:0,i.enter().append(\"g\").classed(\"slice\",!0),v(i,KW,E,[o,s],c),i.order();var V=null;if(d&&p){var H=z5.getPtId(p);i.each(function(N){V===null&&z5.getPtId(N)===H&&(V={x0:N.x0,x1:N.x1,y0:N.y0,y1:N.y1})})}var X=function(){return V||{x0:0,x1:o,y0:0,y1:s}},G=i;return d&&(G=G.transition().each(\"end\",function(){var N=L6e.select(this);z5.setSliceCursor(N,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),G.each(function(N){N._x0=l(N.x0),N._x1=l(N.x1),N._y0=u(N.y0),N._y1=u(N.y1),N._hoverX=l(N.x1-_.tiling.pad),N._hoverY=u(g?N.y1-_.tiling.pad/2:N.y0+_.tiling.pad/2);var W=L6e.select(this),re=VD.ensureSingle(W,\"path\",\"surface\",function(ke){ke.style(\"pointer-events\",k?\"none\":\"all\")});d?re.transition().attrTween(\"d\",function(ke){var ge=x(ke,KW,X(),[o,s],{orientation:_.tiling.orientation,flipX:_.tiling.flip.indexOf(\"x\")>-1,flipY:_.tiling.flip.indexOf(\"y\")>-1});return function(ie){return c(ge(ie))}}):re.attr(\"d\",c),W.call(k6t,n,t,r,{styleOne:I6e,eventDataKeys:YW.eventDataKeys,transitionTime:YW.CLICK_TRANSITION_TIME,transitionEasing:YW.CLICK_TRANSITION_EASING}).call(z5.setSliceCursor,t,{isTransitioning:t._transitioning}),re.call(I6e,N,_,t,{hovered:!1}),N.x0===N.x1||N.y0===N.y1?N._text=\"\":N._text=C6t(N,n,_,r,A)||\"\";var ae=VD.ensureSingle(W,\"g\",\"slicetext\"),_e=VD.ensureSingle(ae,\"text\",\"\",function(ke){ke.attr(\"data-notex\",1)}),Me=VD.ensureUniformFontSize(t,z5.determineTextFont(_,N,A.font));_e.text(N._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",M?\"end\":C?\"start\":\"middle\").call(P6e.font,Me).call(M6t.convertToTspans,t),N.textBB=P6e.bBox(_e.node()),N.transform=f(N,{fontSize:Me.size}),N.transform.fontSize=Me.size,d?_e.transition().attrTween(\"transform\",function(ke){var ge=b(ke,KW,X(),[o,s]);return function(ie){return h(ge(ie))}}):_e.attr(\"transform\",h(N))}),V}});var F6e=ye((Hdr,z6e)=>{\"use strict\";var L6t=UW(),P6t=D6e();z6e.exports=function(t,r,n,i){return L6t(t,r,n,i,{type:\"icicle\",drawDescendants:P6t})}});var O6e=ye((Gdr,q6e)=>{\"use strict\";q6e.exports={moduleType:\"trace\",name:\"icicle\",basePlotModule:h6e(),categories:[],animatable:!0,attributes:GW(),layoutAttributes:jW(),supplyDefaults:_6e(),supplyLayoutDefaults:b6e(),calc:ZW().calc,crossTraceCalc:ZW().crossTraceCalc,plot:F6e(),style:XW().style,colorbar:Kd(),meta:{}}});var N6e=ye((jdr,B6e)=>{\"use strict\";B6e.exports=O6e()});var V6e=ye(F5=>{\"use strict\";var U6e=Xu();F5.name=\"funnelarea\";F5.plot=function(e,t,r,n){U6e.plotBasePlot(F5.name,e,t,r,n)};F5.clean=function(e,t,r,n){U6e.cleanBasePlot(F5.name,e,t,r,n)}});var JW=ye((Zdr,H6e)=>{\"use strict\";var tv=A2(),I6t=vl(),R6t=Ju().attributes,D6t=Wo().hovertemplateAttrs,z6t=Wo().texttemplateAttrs,O2=no().extendFlat;H6e.exports={labels:tv.labels,label0:tv.label0,dlabel:tv.dlabel,values:tv.values,marker:{colors:tv.marker.colors,line:{color:O2({},tv.marker.line.color,{dflt:null}),width:O2({},tv.marker.line.width,{dflt:1}),editType:\"calc\"},pattern:tv.marker.pattern,editType:\"calc\"},text:tv.text,hovertext:tv.hovertext,scalegroup:O2({},tv.scalegroup,{}),textinfo:O2({},tv.textinfo,{flags:[\"label\",\"text\",\"value\",\"percent\"]}),texttemplate:z6t({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),hoverinfo:O2({},I6t.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:D6t({},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),textposition:O2({},tv.textposition,{values:[\"inside\",\"none\"],dflt:\"inside\"}),textfont:tv.textfont,insidetextfont:tv.insidetextfont,title:{text:tv.title.text,font:tv.title.font,position:O2({},tv.title.position,{values:[\"top left\",\"top center\",\"top right\"],dflt:\"top center\"}),editType:\"plot\"},domain:R6t({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\"}}});var $W=ye((Xdr,G6e)=>{\"use strict\";var F6t=uD().hiddenlabels;G6e.exports={hiddenlabels:F6t,funnelareacolorway:{valType:\"colorlist\",editType:\"calc\"},extendfunnelareacolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var Z6e=ye((Ydr,W6e)=>{\"use strict\";var j6e=Mr(),q6t=JW(),O6t=Ju().defaults,B6t=r0().handleText,N6t=S2().handleLabelsAndValues,U6t=S2().handleMarkerDefaults;W6e.exports=function(t,r,n,i){function a(x,b){return j6e.coerce(t,r,q6t,x,b)}var o=a(\"labels\"),s=a(\"values\"),l=N6t(o,s),u=l.len;if(r._hasLabels=l.hasLabels,r._hasValues=l.hasValues,!r._hasLabels&&r._hasValues&&(a(\"label0\"),a(\"dlabel\")),!u){r.visible=!1;return}r._length=u,U6t(t,r,i,a),a(\"scalegroup\");var c=a(\"text\"),f=a(\"texttemplate\"),h;if(f||(h=a(\"textinfo\",Array.isArray(c)?\"text+percent\":\"percent\")),a(\"hovertext\"),a(\"hovertemplate\"),f||h&&h!==\"none\"){var d=a(\"textposition\");B6t(t,r,i,a,d,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else h===\"none\"&&a(\"textposition\",\"none\");O6t(r,i,a);var v=a(\"title.text\");v&&(a(\"title.position\"),j6e.coerceFont(a,\"title.font\",i.font)),a(\"aspectratio\"),a(\"baseratio\")}});var Y6e=ye((Kdr,X6e)=>{\"use strict\";var V6t=Mr(),H6t=$W();X6e.exports=function(t,r){function n(i,a){return V6t.coerce(t,r,H6t,i,a)}n(\"hiddenlabels\"),n(\"funnelareacolorway\",r.colorway),n(\"extendfunnelareacolors\")}});var QW=ye((Jdr,J6e)=>{\"use strict\";var K6e=y5();function G6t(e,t){return K6e.calc(e,t)}function j6t(e){K6e.crossTraceCalc(e,{type:\"funnelarea\"})}J6e.exports={calc:G6t,crossTraceCalc:j6t}});var rLe=ye(($dr,tLe)=>{\"use strict\";var B2=xa(),eZ=ao(),J_=Mr(),W6t=J_.strScale,$6e=J_.strTranslate,Q6e=Pl(),Z6t=i2(),X6t=Z6t.toMoveInsideBar,eLe=_v(),Y6t=eLe.recordMinTextSize,K6t=eLe.clearMinTextSize,J6t=u_(),q5=dD(),$6t=q5.attachFxHandlers,Q6t=q5.determineInsideTextFont,eLt=q5.layoutAreas,tLt=q5.prerenderTitles,rLt=q5.positionTitleOutside,iLt=q5.formatSliceLabel;tLe.exports=function(t,r){var n=t._context.staticPlot,i=t._fullLayout;K6t(\"funnelarea\",i),tLt(r,t),eLt(r,i._size),J_.makeTraceGroups(i._funnelarealayer,r,\"trace\").each(function(a){var o=B2.select(this),s=a[0],l=s.trace;aLt(a),o.each(function(){var u=B2.select(this).selectAll(\"g.slice\").data(a);u.enter().append(\"g\").classed(\"slice\",!0),u.exit().remove(),u.each(function(f,h){if(f.hidden){B2.select(this).selectAll(\"path,g\").remove();return}f.pointNumber=f.i,f.curveNumber=l.index;var d=s.cx,v=s.cy,x=B2.select(this),b=x.selectAll(\"path.surface\").data([f]);b.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":n?\"none\":\"all\"}),x.call($6t,t,a);var p=\"M\"+(d+f.TR[0])+\",\"+(v+f.TR[1])+tZ(f.TR,f.BR)+tZ(f.BR,f.BL)+tZ(f.BL,f.TL)+\"Z\";b.attr(\"d\",p),iLt(t,f,s);var E=J6t.castOption(l.textposition,f.pts),k=x.selectAll(\"g.slicetext\").data(f.text&&E!==\"none\"?[0]:[]);k.enter().append(\"g\").classed(\"slicetext\",!0),k.exit().remove(),k.each(function(){var A=J_.ensureSingle(B2.select(this),\"text\",\"\",function(F){F.attr(\"data-notex\",1)}),L=J_.ensureUniformFontSize(t,Q6t(l,f,i.font));A.text(f.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(eZ.font,L).call(Q6e.convertToTspans,t);var _=eZ.bBox(A.node()),C,M,g,P=Math.min(f.BL[1],f.BR[1])+v,T=Math.max(f.TL[1],f.TR[1])+v;M=Math.max(f.TL[0],f.BL[0])+d,g=Math.min(f.TR[0],f.BR[0])+d,C=X6t(M,g,P,T,_,{isHorizontal:!0,constrained:!0,angle:0,anchor:\"middle\"}),C.fontSize=L.size,Y6t(l.type,C,i),a[h].transform=C,J_.setTransormAndDisplay(A,C)})});var c=B2.select(this).selectAll(\"g.titletext\").data(l.title.text?[0]:[]);c.enter().append(\"g\").classed(\"titletext\",!0),c.exit().remove(),c.each(function(){var f=J_.ensureSingle(B2.select(this),\"text\",\"\",function(v){v.attr(\"data-notex\",1)}),h=l.title.text;l._meta&&(h=J_.templateString(h,l._meta)),f.text(h).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(eZ.font,l.title.font).call(Q6e.convertToTspans,t);var d=rLt(s,i._size);f.attr(\"transform\",$6e(d.x,d.y)+W6t(Math.min(1,d.scale))+$6e(d.tx,d.ty))})})})};function tZ(e,t){var r=t[0]-e[0],n=t[1]-e[1];return\"l\"+r+\",\"+n}function nLt(e,t){return[.5*(e[0]+t[0]),.5*(e[1]+t[1])]}function aLt(e){if(!e.length)return;var t=e[0],r=t.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a=Math.pow(i,2),o=t.vTotal,s=o*a/(1-a),l=o,u=s/o;function c(){var q=Math.sqrt(u);return{x:q,y:-q}}function f(){var q=c();return[q.x,q.y]}var h,d=[];d.push(f());var v,x;for(v=e.length-1;v>-1;v--)if(x=e[v],!x.hidden){var b=x.v/l;u+=b,d.push(f())}var p=1/0,E=-1/0;for(v=0;v<d.length;v++)h=d[v],p=Math.min(p,h[1]),E=Math.max(E,h[1]);for(v=0;v<d.length;v++)d[v][1]-=(E+p)/2;var k=d[d.length-1][0],A=t.r,L=(E-p)/2,_=A/k,C=A/L*n;for(t.r=C*L,v=0;v<d.length;v++)d[v][0]*=_,d[v][1]*=C;h=d[0];var M=[-h[0],h[1]],g=[h[0],h[1]],P=0;for(v=e.length-1;v>-1;v--)if(x=e[v],!x.hidden){P+=1;var T=d[P][0],F=d[P][1];x.TL=[-T,F],x.TR=[T,F],x.BL=M,x.BR=g,x.pxmid=nLt(x.TR,x.BR),M=x.TL,g=x.TR}}});var aLe=ye((Qdr,nLe)=>{\"use strict\";var iLe=xa(),oLt=z3(),sLt=_v().resizeText;nLe.exports=function(t){var r=t._fullLayout._funnelarealayer.selectAll(\".trace\");sLt(t,r,\"funnelarea\"),r.each(function(n){var i=n[0],a=i.trace,o=iLe.select(this);o.style({opacity:a.opacity}),o.selectAll(\"path.surface\").each(function(s){iLe.select(this).call(oLt,s,a,t)})})}});var sLe=ye((evr,oLe)=>{\"use strict\";oLe.exports={moduleType:\"trace\",name:\"funnelarea\",basePlotModule:V6e(),categories:[\"pie-like\",\"funnelarea\",\"showLegend\"],attributes:JW(),layoutAttributes:$W(),supplyDefaults:Z6e(),supplyLayoutDefaults:Y6e(),calc:QW().calc,crossTraceCalc:QW().crossTraceCalc,plot:rLe(),style:aLe(),styleOne:z3(),meta:{}}});var uLe=ye((tvr,lLe)=>{\"use strict\";lLe.exports=sLe()});var Rd=ye((rvr,cLe)=>{(function(){var e={1964:function(i,a,o){i.exports={alpha_shape:o(3502),convex_hull:o(7352),delaunay_triangulate:o(7642),gl_cone3d:o(6405),gl_error3d:o(9165),gl_line3d:o(5714),gl_mesh3d:o(7201),gl_plot3d:o(4100),gl_scatter3d:o(8418),gl_streamtube3d:o(7815),gl_surface3d:o(9499),ndarray:o(9618),ndarray_linear_interpolate:o(4317)}},4793:function(i,a,o){\"use strict\";var s;function l(Le,xe){if(!(Le instanceof xe))throw new TypeError(\"Cannot call a class as a function\")}function u(Le,xe){for(var Se=0;Se<xe.length;Se++){var lt=xe[Se];lt.enumerable=lt.enumerable||!1,lt.configurable=!0,\"value\"in lt&&(lt.writable=!0),Object.defineProperty(Le,f(lt.key),lt)}}function c(Le,xe,Se){return xe&&u(Le.prototype,xe),Se&&u(Le,Se),Object.defineProperty(Le,\"prototype\",{writable:!1}),Le}function f(Le){var xe=h(Le,\"string\");return A(xe)==\"symbol\"?xe:xe+\"\"}function h(Le,xe){if(A(Le)!=\"object\"||!Le)return Le;var Se=Le[Symbol.toPrimitive];if(Se!==void 0){var lt=Se.call(Le,xe||\"default\");if(A(lt)!=\"object\")return lt;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(xe===\"string\"?String:Number)(Le)}function d(Le,xe,Se){return xe=p(xe),v(Le,b()?Reflect.construct(xe,Se||[],p(Le).constructor):xe.apply(Le,Se))}function v(Le,xe){if(xe&&(A(xe)==\"object\"||typeof xe==\"function\"))return xe;if(xe!==void 0)throw new TypeError(\"Derived constructors may only return object or undefined\");return x(Le)}function x(Le){if(Le===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return Le}function b(){try{var Le=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(xe){}return(b=function(){return!!Le})()}function p(Le){return p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(xe){return xe.__proto__||Object.getPrototypeOf(xe)},p(Le)}function E(Le,xe){if(typeof xe!=\"function\"&&xe!==null)throw new TypeError(\"Super expression must either be null or a function\");Le.prototype=Object.create(xe&&xe.prototype,{constructor:{value:Le,writable:!0,configurable:!0}}),Object.defineProperty(Le,\"prototype\",{writable:!1}),xe&&k(Le,xe)}function k(Le,xe){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(Se,lt){return Se.__proto__=lt,Se},k(Le,xe)}function A(Le){\"@babel/helpers - typeof\";return A=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(xe){return typeof xe}:function(xe){return xe&&typeof Symbol==\"function\"&&xe.constructor===Symbol&&xe!==Symbol.prototype?\"symbol\":typeof xe},A(Le)}var L=o(7507),_=o(3778),C=typeof Symbol==\"function\"&&typeof Symbol.for==\"function\"?Symbol.for(\"nodejs.util.inspect.custom\"):null;a.hp=T,s=_e,a.IS=50;var M=2147483647;s=M,T.TYPED_ARRAY_SUPPORT=g(),!T.TYPED_ARRAY_SUPPORT&&typeof console!=\"undefined\"&&typeof console.error==\"function\"&&console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\");function g(){try{var Le=new Uint8Array(1),xe={foo:function(){return 42}};return Object.setPrototypeOf(xe,Uint8Array.prototype),Object.setPrototypeOf(Le,xe),Le.foo()===42}catch(Se){return!1}}Object.defineProperty(T.prototype,\"parent\",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.buffer}}),Object.defineProperty(T.prototype,\"offset\",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.byteOffset}});function P(Le){if(Le>M)throw new RangeError('The value \"'+Le+'\" is invalid for option \"size\"');var xe=new Uint8Array(Le);return Object.setPrototypeOf(xe,T.prototype),xe}function T(Le,xe,Se){if(typeof Le==\"number\"){if(typeof xe==\"string\")throw new TypeError('The \"string\" argument must be of type string. Received type number');return H(Le)}return F(Le,xe,Se)}T.poolSize=8192;function F(Le,xe,Se){if(typeof Le==\"string\")return X(Le,xe);if(ArrayBuffer.isView(Le))return N(Le);if(Le==null)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+A(Le));if(Ne(Le,ArrayBuffer)||Le&&Ne(Le.buffer,ArrayBuffer)||typeof SharedArrayBuffer!=\"undefined\"&&(Ne(Le,SharedArrayBuffer)||Le&&Ne(Le.buffer,SharedArrayBuffer)))return W(Le,xe,Se);if(typeof Le==\"number\")throw new TypeError('The \"value\" argument must not be of type number. Received type number');var lt=Le.valueOf&&Le.valueOf();if(lt!=null&<!==Le)return T.from(lt,xe,Se);var Gt=re(Le);if(Gt)return Gt;if(typeof Symbol!=\"undefined\"&&Symbol.toPrimitive!=null&&typeof Le[Symbol.toPrimitive]==\"function\")return T.from(Le[Symbol.toPrimitive](\"string\"),xe,Se);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+A(Le))}T.from=function(Le,xe,Se){return F(Le,xe,Se)},Object.setPrototypeOf(T.prototype,Uint8Array.prototype),Object.setPrototypeOf(T,Uint8Array);function q(Le){if(typeof Le!=\"number\")throw new TypeError('\"size\" argument must be of type number');if(Le<0)throw new RangeError('The value \"'+Le+'\" is invalid for option \"size\"')}function V(Le,xe,Se){return q(Le),Le<=0?P(Le):xe!==void 0?typeof Se==\"string\"?P(Le).fill(xe,Se):P(Le).fill(xe):P(Le)}T.alloc=function(Le,xe,Se){return V(Le,xe,Se)};function H(Le){return q(Le),P(Le<0?0:ae(Le)|0)}T.allocUnsafe=function(Le){return H(Le)},T.allocUnsafeSlow=function(Le){return H(Le)};function X(Le,xe){if((typeof xe!=\"string\"||xe===\"\")&&(xe=\"utf8\"),!T.isEncoding(xe))throw new TypeError(\"Unknown encoding: \"+xe);var Se=Me(Le,xe)|0,lt=P(Se),Gt=lt.write(Le,xe);return Gt!==Se&&(lt=lt.slice(0,Gt)),lt}function G(Le){for(var xe=Le.length<0?0:ae(Le.length)|0,Se=P(xe),lt=0;lt<xe;lt+=1)Se[lt]=Le[lt]&255;return Se}function N(Le){if(Ne(Le,Uint8Array)){var xe=new Uint8Array(Le);return W(xe.buffer,xe.byteOffset,xe.byteLength)}return G(Le)}function W(Le,xe,Se){if(xe<0||Le.byteLength<xe)throw new RangeError('\"offset\" is outside of buffer bounds');if(Le.byteLength<xe+(Se||0))throw new RangeError('\"length\" is outside of buffer bounds');var lt;return xe===void 0&&Se===void 0?lt=new Uint8Array(Le):Se===void 0?lt=new Uint8Array(Le,xe):lt=new Uint8Array(Le,xe,Se),Object.setPrototypeOf(lt,T.prototype),lt}function re(Le){if(T.isBuffer(Le)){var xe=ae(Le.length)|0,Se=P(xe);return Se.length===0||Le.copy(Se,0,0,xe),Se}if(Le.length!==void 0)return typeof Le.length!=\"number\"||Ye(Le.length)?P(0):G(Le);if(Le.type===\"Buffer\"&&Array.isArray(Le.data))return G(Le.data)}function ae(Le){if(Le>=M)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+M.toString(16)+\" bytes\");return Le|0}function _e(Le){return+Le!=Le&&(Le=0),T.alloc(+Le)}T.isBuffer=function(xe){return xe!=null&&xe._isBuffer===!0&&xe!==T.prototype},T.compare=function(xe,Se){if(Ne(xe,Uint8Array)&&(xe=T.from(xe,xe.offset,xe.byteLength)),Ne(Se,Uint8Array)&&(Se=T.from(Se,Se.offset,Se.byteLength)),!T.isBuffer(xe)||!T.isBuffer(Se))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(xe===Se)return 0;for(var lt=xe.length,Gt=Se.length,Vt=0,ar=Math.min(lt,Gt);Vt<ar;++Vt)if(xe[Vt]!==Se[Vt]){lt=xe[Vt],Gt=Se[Vt];break}return lt<Gt?-1:Gt<lt?1:0},T.isEncoding=function(xe){switch(String(xe).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},T.concat=function(xe,Se){if(!Array.isArray(xe))throw new TypeError('\"list\" argument must be an Array of Buffers');if(xe.length===0)return T.alloc(0);var lt;if(Se===void 0)for(Se=0,lt=0;lt<xe.length;++lt)Se+=xe[lt].length;var Gt=T.allocUnsafe(Se),Vt=0;for(lt=0;lt<xe.length;++lt){var ar=xe[lt];if(Ne(ar,Uint8Array))Vt+ar.length>Gt.length?(T.isBuffer(ar)||(ar=T.from(ar)),ar.copy(Gt,Vt)):Uint8Array.prototype.set.call(Gt,ar,Vt);else if(T.isBuffer(ar))ar.copy(Gt,Vt);else throw new TypeError('\"list\" argument must be an Array of Buffers');Vt+=ar.length}return Gt};function Me(Le,xe){if(T.isBuffer(Le))return Le.length;if(ArrayBuffer.isView(Le)||Ne(Le,ArrayBuffer))return Le.byteLength;if(typeof Le!=\"string\")throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+A(Le));var Se=Le.length,lt=arguments.length>2&&arguments[2]===!0;if(!lt&&Se===0)return 0;for(var Gt=!1;;)switch(xe){case\"ascii\":case\"latin1\":case\"binary\":return Se;case\"utf8\":case\"utf-8\":return _r(Le).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Se*2;case\"hex\":return Se>>>1;case\"base64\":return Nr(Le).length;default:if(Gt)return lt?-1:_r(Le).length;xe=(\"\"+xe).toLowerCase(),Gt=!0}}T.byteLength=Me;function ke(Le,xe,Se){var lt=!1;if((xe===void 0||xe<0)&&(xe=0),xe>this.length||((Se===void 0||Se>this.length)&&(Se=this.length),Se<=0)||(Se>>>=0,xe>>>=0,Se<=xe))return\"\";for(Le||(Le=\"utf8\");;)switch(Le){case\"hex\":return rt(this,xe,Se);case\"utf8\":case\"utf-8\":return ce(this,xe,Se);case\"ascii\":return ct(this,xe,Se);case\"latin1\":case\"binary\":return qt(this,xe,Se);case\"base64\":return Re(this,xe,Se);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return ot(this,xe,Se);default:if(lt)throw new TypeError(\"Unknown encoding: \"+Le);Le=(Le+\"\").toLowerCase(),lt=!0}}T.prototype._isBuffer=!0;function ge(Le,xe,Se){var lt=Le[xe];Le[xe]=Le[Se],Le[Se]=lt}T.prototype.swap16=function(){var xe=this.length;if(xe%2!==0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var Se=0;Se<xe;Se+=2)ge(this,Se,Se+1);return this},T.prototype.swap32=function(){var xe=this.length;if(xe%4!==0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var Se=0;Se<xe;Se+=4)ge(this,Se,Se+3),ge(this,Se+1,Se+2);return this},T.prototype.swap64=function(){var xe=this.length;if(xe%8!==0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var Se=0;Se<xe;Se+=8)ge(this,Se,Se+7),ge(this,Se+1,Se+6),ge(this,Se+2,Se+5),ge(this,Se+3,Se+4);return this},T.prototype.toString=function(){var xe=this.length;return xe===0?\"\":arguments.length===0?ce(this,0,xe):ke.apply(this,arguments)},T.prototype.toLocaleString=T.prototype.toString,T.prototype.equals=function(xe){if(!T.isBuffer(xe))throw new TypeError(\"Argument must be a Buffer\");return this===xe?!0:T.compare(this,xe)===0},T.prototype.inspect=function(){var xe=\"\",Se=a.IS;return xe=this.toString(\"hex\",0,Se).replace(/(.{2})/g,\"$1 \").trim(),this.length>Se&&(xe+=\" ... \"),\"<Buffer \"+xe+\">\"},C&&(T.prototype[C]=T.prototype.inspect),T.prototype.compare=function(xe,Se,lt,Gt,Vt){if(Ne(xe,Uint8Array)&&(xe=T.from(xe,xe.offset,xe.byteLength)),!T.isBuffer(xe))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+A(xe));if(Se===void 0&&(Se=0),lt===void 0&&(lt=xe?xe.length:0),Gt===void 0&&(Gt=0),Vt===void 0&&(Vt=this.length),Se<0||lt>xe.length||Gt<0||Vt>this.length)throw new RangeError(\"out of range index\");if(Gt>=Vt&&Se>=lt)return 0;if(Gt>=Vt)return-1;if(Se>=lt)return 1;if(Se>>>=0,lt>>>=0,Gt>>>=0,Vt>>>=0,this===xe)return 0;for(var ar=Vt-Gt,Qr=lt-Se,ai=Math.min(ar,Qr),jr=this.slice(Gt,Vt),ri=xe.slice(Se,lt),bi=0;bi<ai;++bi)if(jr[bi]!==ri[bi]){ar=jr[bi],Qr=ri[bi];break}return ar<Qr?-1:Qr<ar?1:0};function ie(Le,xe,Se,lt,Gt){if(Le.length===0)return-1;if(typeof Se==\"string\"?(lt=Se,Se=0):Se>2147483647?Se=2147483647:Se<-2147483648&&(Se=-2147483648),Se=+Se,Ye(Se)&&(Se=Gt?0:Le.length-1),Se<0&&(Se=Le.length+Se),Se>=Le.length){if(Gt)return-1;Se=Le.length-1}else if(Se<0)if(Gt)Se=0;else return-1;if(typeof xe==\"string\"&&(xe=T.from(xe,lt)),T.isBuffer(xe))return xe.length===0?-1:Te(Le,xe,Se,lt,Gt);if(typeof xe==\"number\")return xe=xe&255,typeof Uint8Array.prototype.indexOf==\"function\"?Gt?Uint8Array.prototype.indexOf.call(Le,xe,Se):Uint8Array.prototype.lastIndexOf.call(Le,xe,Se):Te(Le,[xe],Se,lt,Gt);throw new TypeError(\"val must be string, number or Buffer\")}function Te(Le,xe,Se,lt,Gt){var Vt=1,ar=Le.length,Qr=xe.length;if(lt!==void 0&&(lt=String(lt).toLowerCase(),lt===\"ucs2\"||lt===\"ucs-2\"||lt===\"utf16le\"||lt===\"utf-16le\")){if(Le.length<2||xe.length<2)return-1;Vt=2,ar/=2,Qr/=2,Se/=2}function ai(Wi,Ni){return Vt===1?Wi[Ni]:Wi.readUInt16BE(Ni*Vt)}var jr;if(Gt){var ri=-1;for(jr=Se;jr<ar;jr++)if(ai(Le,jr)===ai(xe,ri===-1?0:jr-ri)){if(ri===-1&&(ri=jr),jr-ri+1===Qr)return ri*Vt}else ri!==-1&&(jr-=jr-ri),ri=-1}else for(Se+Qr>ar&&(Se=ar-Qr),jr=Se;jr>=0;jr--){for(var bi=!0,nn=0;nn<Qr;nn++)if(ai(Le,jr+nn)!==ai(xe,nn)){bi=!1;break}if(bi)return jr}return-1}T.prototype.includes=function(xe,Se,lt){return this.indexOf(xe,Se,lt)!==-1},T.prototype.indexOf=function(xe,Se,lt){return ie(this,xe,Se,lt,!0)},T.prototype.lastIndexOf=function(xe,Se,lt){return ie(this,xe,Se,lt,!1)};function Ee(Le,xe,Se,lt){Se=Number(Se)||0;var Gt=Le.length-Se;lt?(lt=Number(lt),lt>Gt&&(lt=Gt)):lt=Gt;var Vt=xe.length;lt>Vt/2&&(lt=Vt/2);var ar;for(ar=0;ar<lt;++ar){var Qr=parseInt(xe.substr(ar*2,2),16);if(Ye(Qr))return ar;Le[Se+ar]=Qr}return ar}function Ae(Le,xe,Se,lt){return ut(_r(xe,Le.length-Se),Le,Se,lt)}function ze(Le,xe,Se,lt){return ut(Br(xe),Le,Se,lt)}function Ce(Le,xe,Se,lt){return ut(Nr(xe),Le,Se,lt)}function me(Le,xe,Se,lt){return ut(Or(xe,Le.length-Se),Le,Se,lt)}T.prototype.write=function(xe,Se,lt,Gt){if(Se===void 0)Gt=\"utf8\",lt=this.length,Se=0;else if(lt===void 0&&typeof Se==\"string\")Gt=Se,lt=this.length,Se=0;else if(isFinite(Se))Se=Se>>>0,isFinite(lt)?(lt=lt>>>0,Gt===void 0&&(Gt=\"utf8\")):(Gt=lt,lt=void 0);else throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");var Vt=this.length-Se;if((lt===void 0||lt>Vt)&&(lt=Vt),xe.length>0&&(lt<0||Se<0)||Se>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");Gt||(Gt=\"utf8\");for(var ar=!1;;)switch(Gt){case\"hex\":return Ee(this,xe,Se,lt);case\"utf8\":case\"utf-8\":return Ae(this,xe,Se,lt);case\"ascii\":case\"latin1\":case\"binary\":return ze(this,xe,Se,lt);case\"base64\":return Ce(this,xe,Se,lt);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return me(this,xe,Se,lt);default:if(ar)throw new TypeError(\"Unknown encoding: \"+Gt);Gt=(\"\"+Gt).toLowerCase(),ar=!0}},T.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function Re(Le,xe,Se){return xe===0&&Se===Le.length?L.fromByteArray(Le):L.fromByteArray(Le.slice(xe,Se))}function ce(Le,xe,Se){Se=Math.min(Le.length,Se);for(var lt=[],Gt=xe;Gt<Se;){var Vt=Le[Gt],ar=null,Qr=Vt>239?4:Vt>223?3:Vt>191?2:1;if(Gt+Qr<=Se){var ai=void 0,jr=void 0,ri=void 0,bi=void 0;switch(Qr){case 1:Vt<128&&(ar=Vt);break;case 2:ai=Le[Gt+1],(ai&192)===128&&(bi=(Vt&31)<<6|ai&63,bi>127&&(ar=bi));break;case 3:ai=Le[Gt+1],jr=Le[Gt+2],(ai&192)===128&&(jr&192)===128&&(bi=(Vt&15)<<12|(ai&63)<<6|jr&63,bi>2047&&(bi<55296||bi>57343)&&(ar=bi));break;case 4:ai=Le[Gt+1],jr=Le[Gt+2],ri=Le[Gt+3],(ai&192)===128&&(jr&192)===128&&(ri&192)===128&&(bi=(Vt&15)<<18|(ai&63)<<12|(jr&63)<<6|ri&63,bi>65535&&bi<1114112&&(ar=bi))}}ar===null?(ar=65533,Qr=1):ar>65535&&(ar-=65536,lt.push(ar>>>10&1023|55296),ar=56320|ar&1023),lt.push(ar),Gt+=Qr}return nt(lt)}var Ge=4096;function nt(Le){var xe=Le.length;if(xe<=Ge)return String.fromCharCode.apply(String,Le);for(var Se=\"\",lt=0;lt<xe;)Se+=String.fromCharCode.apply(String,Le.slice(lt,lt+=Ge));return Se}function ct(Le,xe,Se){var lt=\"\";Se=Math.min(Le.length,Se);for(var Gt=xe;Gt<Se;++Gt)lt+=String.fromCharCode(Le[Gt]&127);return lt}function qt(Le,xe,Se){var lt=\"\";Se=Math.min(Le.length,Se);for(var Gt=xe;Gt<Se;++Gt)lt+=String.fromCharCode(Le[Gt]);return lt}function rt(Le,xe,Se){var lt=Le.length;(!xe||xe<0)&&(xe=0),(!Se||Se<0||Se>lt)&&(Se=lt);for(var Gt=\"\",Vt=xe;Vt<Se;++Vt)Gt+=Ve[Le[Vt]];return Gt}function ot(Le,xe,Se){for(var lt=Le.slice(xe,Se),Gt=\"\",Vt=0;Vt<lt.length-1;Vt+=2)Gt+=String.fromCharCode(lt[Vt]+lt[Vt+1]*256);return Gt}T.prototype.slice=function(xe,Se){var lt=this.length;xe=~~xe,Se=Se===void 0?lt:~~Se,xe<0?(xe+=lt,xe<0&&(xe=0)):xe>lt&&(xe=lt),Se<0?(Se+=lt,Se<0&&(Se=0)):Se>lt&&(Se=lt),Se<xe&&(Se=xe);var Gt=this.subarray(xe,Se);return Object.setPrototypeOf(Gt,T.prototype),Gt};function Rt(Le,xe,Se){if(Le%1!==0||Le<0)throw new RangeError(\"offset is not uint\");if(Le+xe>Se)throw new RangeError(\"Trying to access beyond buffer length\")}T.prototype.readUintLE=T.prototype.readUIntLE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=this[xe],Vt=1,ar=0;++ar<Se&&(Vt*=256);)Gt+=this[xe+ar]*Vt;return Gt},T.prototype.readUintBE=T.prototype.readUIntBE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=this[xe+--Se],Vt=1;Se>0&&(Vt*=256);)Gt+=this[xe+--Se]*Vt;return Gt},T.prototype.readUint8=T.prototype.readUInt8=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,1,this.length),this[xe]},T.prototype.readUint16LE=T.prototype.readUInt16LE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,2,this.length),this[xe]|this[xe+1]<<8},T.prototype.readUint16BE=T.prototype.readUInt16BE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,2,this.length),this[xe]<<8|this[xe+1]},T.prototype.readUint32LE=T.prototype.readUInt32LE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),(this[xe]|this[xe+1]<<8|this[xe+2]<<16)+this[xe+3]*16777216},T.prototype.readUint32BE=T.prototype.readUInt32BE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),this[xe]*16777216+(this[xe+1]<<16|this[xe+2]<<8|this[xe+3])},T.prototype.readBigUInt64LE=Xe(function(xe){xe=xe>>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=Se+this[++xe]*Math.pow(2,8)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,24),Vt=this[++xe]+this[++xe]*Math.pow(2,8)+this[++xe]*Math.pow(2,16)+lt*Math.pow(2,24);return BigInt(Gt)+(BigInt(Vt)<<BigInt(32))}),T.prototype.readBigUInt64BE=Xe(function(xe){xe=xe>>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=Se*Math.pow(2,24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+this[++xe],Vt=this[++xe]*Math.pow(2,24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+lt;return(BigInt(Gt)<<BigInt(32))+BigInt(Vt)}),T.prototype.readIntLE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=this[xe],Vt=1,ar=0;++ar<Se&&(Vt*=256);)Gt+=this[xe+ar]*Vt;return Vt*=128,Gt>=Vt&&(Gt-=Math.pow(2,8*Se)),Gt},T.prototype.readIntBE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=Se,Vt=1,ar=this[xe+--Gt];Gt>0&&(Vt*=256);)ar+=this[xe+--Gt]*Vt;return Vt*=128,ar>=Vt&&(ar-=Math.pow(2,8*Se)),ar},T.prototype.readInt8=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,1,this.length),this[xe]&128?(255-this[xe]+1)*-1:this[xe]},T.prototype.readInt16LE=function(xe,Se){xe=xe>>>0,Se||Rt(xe,2,this.length);var lt=this[xe]|this[xe+1]<<8;return lt&32768?lt|4294901760:lt},T.prototype.readInt16BE=function(xe,Se){xe=xe>>>0,Se||Rt(xe,2,this.length);var lt=this[xe+1]|this[xe]<<8;return lt&32768?lt|4294901760:lt},T.prototype.readInt32LE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),this[xe]|this[xe+1]<<8|this[xe+2]<<16|this[xe+3]<<24},T.prototype.readInt32BE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),this[xe]<<24|this[xe+1]<<16|this[xe+2]<<8|this[xe+3]},T.prototype.readBigInt64LE=Xe(function(xe){xe=xe>>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=this[xe+4]+this[xe+5]*Math.pow(2,8)+this[xe+6]*Math.pow(2,16)+(lt<<24);return(BigInt(Gt)<<BigInt(32))+BigInt(Se+this[++xe]*Math.pow(2,8)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,24))}),T.prototype.readBigInt64BE=Xe(function(xe){xe=xe>>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=(Se<<24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+this[++xe];return(BigInt(Gt)<<BigInt(32))+BigInt(this[++xe]*Math.pow(2,24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+lt)}),T.prototype.readFloatLE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),_.read(this,xe,!0,23,4)},T.prototype.readFloatBE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),_.read(this,xe,!1,23,4)},T.prototype.readDoubleLE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,8,this.length),_.read(this,xe,!0,52,8)},T.prototype.readDoubleBE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,8,this.length),_.read(this,xe,!1,52,8)};function kt(Le,xe,Se,lt,Gt,Vt){if(!T.isBuffer(Le))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(xe>Gt||xe<Vt)throw new RangeError('\"value\" argument is out of bounds');if(Se+lt>Le.length)throw new RangeError(\"Index out of range\")}T.prototype.writeUintLE=T.prototype.writeUIntLE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,lt=lt>>>0,!Gt){var Vt=Math.pow(2,8*lt)-1;kt(this,xe,Se,lt,Vt,0)}var ar=1,Qr=0;for(this[Se]=xe&255;++Qr<lt&&(ar*=256);)this[Se+Qr]=xe/ar&255;return Se+lt},T.prototype.writeUintBE=T.prototype.writeUIntBE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,lt=lt>>>0,!Gt){var Vt=Math.pow(2,8*lt)-1;kt(this,xe,Se,lt,Vt,0)}var ar=lt-1,Qr=1;for(this[Se+ar]=xe&255;--ar>=0&&(Qr*=256);)this[Se+ar]=xe/Qr&255;return Se+lt},T.prototype.writeUint8=T.prototype.writeUInt8=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,1,255,0),this[Se]=xe&255,Se+1},T.prototype.writeUint16LE=T.prototype.writeUInt16LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,65535,0),this[Se]=xe&255,this[Se+1]=xe>>>8,Se+2},T.prototype.writeUint16BE=T.prototype.writeUInt16BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,65535,0),this[Se]=xe>>>8,this[Se+1]=xe&255,Se+2},T.prototype.writeUint32LE=T.prototype.writeUInt32LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,4294967295,0),this[Se+3]=xe>>>24,this[Se+2]=xe>>>16,this[Se+1]=xe>>>8,this[Se]=xe&255,Se+4},T.prototype.writeUint32BE=T.prototype.writeUInt32BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,4294967295,0),this[Se]=xe>>>24,this[Se+1]=xe>>>16,this[Se+2]=xe>>>8,this[Se+3]=xe&255,Se+4};function Ct(Le,xe,Se,lt,Gt){Et(xe,lt,Gt,Le,Se,7);var Vt=Number(xe&BigInt(4294967295));Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt;var ar=Number(xe>>BigInt(32)&BigInt(4294967295));return Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,Se}function Yt(Le,xe,Se,lt,Gt){Et(xe,lt,Gt,Le,Se,7);var Vt=Number(xe&BigInt(4294967295));Le[Se+7]=Vt,Vt=Vt>>8,Le[Se+6]=Vt,Vt=Vt>>8,Le[Se+5]=Vt,Vt=Vt>>8,Le[Se+4]=Vt;var ar=Number(xe>>BigInt(32)&BigInt(4294967295));return Le[Se+3]=ar,ar=ar>>8,Le[Se+2]=ar,ar=ar>>8,Le[Se+1]=ar,ar=ar>>8,Le[Se]=ar,Se+8}T.prototype.writeBigUInt64LE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Ct(this,xe,Se,BigInt(0),BigInt(\"0xffffffffffffffff\"))}),T.prototype.writeBigUInt64BE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Yt(this,xe,Se,BigInt(0),BigInt(\"0xffffffffffffffff\"))}),T.prototype.writeIntLE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,!Gt){var Vt=Math.pow(2,8*lt-1);kt(this,xe,Se,lt,Vt-1,-Vt)}var ar=0,Qr=1,ai=0;for(this[Se]=xe&255;++ar<lt&&(Qr*=256);)xe<0&&ai===0&&this[Se+ar-1]!==0&&(ai=1),this[Se+ar]=(xe/Qr>>0)-ai&255;return Se+lt},T.prototype.writeIntBE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,!Gt){var Vt=Math.pow(2,8*lt-1);kt(this,xe,Se,lt,Vt-1,-Vt)}var ar=lt-1,Qr=1,ai=0;for(this[Se+ar]=xe&255;--ar>=0&&(Qr*=256);)xe<0&&ai===0&&this[Se+ar+1]!==0&&(ai=1),this[Se+ar]=(xe/Qr>>0)-ai&255;return Se+lt},T.prototype.writeInt8=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,1,127,-128),xe<0&&(xe=255+xe+1),this[Se]=xe&255,Se+1},T.prototype.writeInt16LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,32767,-32768),this[Se]=xe&255,this[Se+1]=xe>>>8,Se+2},T.prototype.writeInt16BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,32767,-32768),this[Se]=xe>>>8,this[Se+1]=xe&255,Se+2},T.prototype.writeInt32LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,2147483647,-2147483648),this[Se]=xe&255,this[Se+1]=xe>>>8,this[Se+2]=xe>>>16,this[Se+3]=xe>>>24,Se+4},T.prototype.writeInt32BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,2147483647,-2147483648),xe<0&&(xe=4294967295+xe+1),this[Se]=xe>>>24,this[Se+1]=xe>>>16,this[Se+2]=xe>>>8,this[Se+3]=xe&255,Se+4},T.prototype.writeBigInt64LE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Ct(this,xe,Se,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))}),T.prototype.writeBigInt64BE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Yt(this,xe,Se,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});function xr(Le,xe,Se,lt,Gt,Vt){if(Se+lt>Le.length)throw new RangeError(\"Index out of range\");if(Se<0)throw new RangeError(\"Index out of range\")}function er(Le,xe,Se,lt,Gt){return xe=+xe,Se=Se>>>0,Gt||xr(Le,xe,Se,4,34028234663852886e22,-34028234663852886e22),_.write(Le,xe,Se,lt,23,4),Se+4}T.prototype.writeFloatLE=function(xe,Se,lt){return er(this,xe,Se,!0,lt)},T.prototype.writeFloatBE=function(xe,Se,lt){return er(this,xe,Se,!1,lt)};function Ke(Le,xe,Se,lt,Gt){return xe=+xe,Se=Se>>>0,Gt||xr(Le,xe,Se,8,17976931348623157e292,-17976931348623157e292),_.write(Le,xe,Se,lt,52,8),Se+8}T.prototype.writeDoubleLE=function(xe,Se,lt){return Ke(this,xe,Se,!0,lt)},T.prototype.writeDoubleBE=function(xe,Se,lt){return Ke(this,xe,Se,!1,lt)},T.prototype.copy=function(xe,Se,lt,Gt){if(!T.isBuffer(xe))throw new TypeError(\"argument should be a Buffer\");if(lt||(lt=0),!Gt&&Gt!==0&&(Gt=this.length),Se>=xe.length&&(Se=xe.length),Se||(Se=0),Gt>0&&Gt<lt&&(Gt=lt),Gt===lt||xe.length===0||this.length===0)return 0;if(Se<0)throw new RangeError(\"targetStart out of bounds\");if(lt<0||lt>=this.length)throw new RangeError(\"Index out of range\");if(Gt<0)throw new RangeError(\"sourceEnd out of bounds\");Gt>this.length&&(Gt=this.length),xe.length-Se<Gt-lt&&(Gt=xe.length-Se+lt);var Vt=Gt-lt;return this===xe&&typeof Uint8Array.prototype.copyWithin==\"function\"?this.copyWithin(Se,lt,Gt):Uint8Array.prototype.set.call(xe,this.subarray(lt,Gt),Se),Vt},T.prototype.fill=function(xe,Se,lt,Gt){if(typeof xe==\"string\"){if(typeof Se==\"string\"?(Gt=Se,Se=0,lt=this.length):typeof lt==\"string\"&&(Gt=lt,lt=this.length),Gt!==void 0&&typeof Gt!=\"string\")throw new TypeError(\"encoding must be a string\");if(typeof Gt==\"string\"&&!T.isEncoding(Gt))throw new TypeError(\"Unknown encoding: \"+Gt);if(xe.length===1){var Vt=xe.charCodeAt(0);(Gt===\"utf8\"&&Vt<128||Gt===\"latin1\")&&(xe=Vt)}}else typeof xe==\"number\"?xe=xe&255:typeof xe==\"boolean\"&&(xe=Number(xe));if(Se<0||this.length<Se||this.length<lt)throw new RangeError(\"Out of range index\");if(lt<=Se)return this;Se=Se>>>0,lt=lt===void 0?this.length:lt>>>0,xe||(xe=0);var ar;if(typeof xe==\"number\")for(ar=Se;ar<lt;++ar)this[ar]=xe;else{var Qr=T.isBuffer(xe)?xe:T.from(xe,Gt),ai=Qr.length;if(ai===0)throw new TypeError('The value \"'+xe+'\" is invalid for argument \"value\"');for(ar=0;ar<lt-Se;++ar)this[ar+Se]=Qr[ar%ai]}return this};var xt={};function bt(Le,xe,Se){xt[Le]=function(lt){function Gt(){var Vt;return l(this,Gt),Vt=d(this,Gt),Object.defineProperty(Vt,\"message\",{value:xe.apply(Vt,arguments),writable:!0,configurable:!0}),Vt.name=\"\".concat(Vt.name,\" [\").concat(Le,\"]\"),Vt.stack,delete Vt.name,Vt}return E(Gt,lt),c(Gt,[{key:\"code\",get:function(){return Le},set:function(ar){Object.defineProperty(this,\"code\",{configurable:!0,enumerable:!0,value:ar,writable:!0})}},{key:\"toString\",value:function(){return\"\".concat(this.name,\" [\").concat(Le,\"]: \").concat(this.message)}}])}(Se)}bt(\"ERR_BUFFER_OUT_OF_BOUNDS\",function(Le){return Le?\"\".concat(Le,\" is outside of buffer bounds\"):\"Attempt to access memory outside buffer bounds\"},RangeError),bt(\"ERR_INVALID_ARG_TYPE\",function(Le,xe){return'The \"'.concat(Le,'\" argument must be of type number. Received type ').concat(A(xe))},TypeError),bt(\"ERR_OUT_OF_RANGE\",function(Le,xe,Se){var lt='The value of \"'.concat(Le,'\" is out of range.'),Gt=Se;return Number.isInteger(Se)&&Math.abs(Se)>Math.pow(2,32)?Gt=Lt(String(Se)):typeof Se==\"bigint\"&&(Gt=String(Se),(Se>Math.pow(BigInt(2),BigInt(32))||Se<-Math.pow(BigInt(2),BigInt(32)))&&(Gt=Lt(Gt)),Gt+=\"n\"),lt+=\" It must be \".concat(xe,\". Received \").concat(Gt),lt},RangeError);function Lt(Le){for(var xe=\"\",Se=Le.length,lt=Le[0]===\"-\"?1:0;Se>=lt+4;Se-=3)xe=\"_\".concat(Le.slice(Se-3,Se)).concat(xe);return\"\".concat(Le.slice(0,Se)).concat(xe)}function St(Le,xe,Se){dt(xe,\"offset\"),(Le[xe]===void 0||Le[xe+Se]===void 0)&&Ht(xe,Le.length-(Se+1))}function Et(Le,xe,Se,lt,Gt,Vt){if(Le>Se||Le<xe){var ar=typeof xe==\"bigint\"?\"n\":\"\",Qr;throw Vt>3?xe===0||xe===BigInt(0)?Qr=\">= 0\".concat(ar,\" and < 2\").concat(ar,\" ** \").concat((Vt+1)*8).concat(ar):Qr=\">= -(2\".concat(ar,\" ** \").concat((Vt+1)*8-1).concat(ar,\") and < 2 ** \")+\"\".concat((Vt+1)*8-1).concat(ar):Qr=\">= \".concat(xe).concat(ar,\" and <= \").concat(Se).concat(ar),new xt.ERR_OUT_OF_RANGE(\"value\",Qr,Le)}St(lt,Gt,Vt)}function dt(Le,xe){if(typeof Le!=\"number\")throw new xt.ERR_INVALID_ARG_TYPE(xe,\"number\",Le)}function Ht(Le,xe,Se){throw Math.floor(Le)!==Le?(dt(Le,Se),new xt.ERR_OUT_OF_RANGE(Se||\"offset\",\"an integer\",Le)):xe<0?new xt.ERR_BUFFER_OUT_OF_BOUNDS:new xt.ERR_OUT_OF_RANGE(Se||\"offset\",\">= \".concat(Se?1:0,\" and <= \").concat(xe),Le)}var $t=/[^+/0-9A-Za-z-_]/g;function fr(Le){if(Le=Le.split(\"=\")[0],Le=Le.trim().replace($t,\"\"),Le.length<2)return\"\";for(;Le.length%4!==0;)Le=Le+\"=\";return Le}function _r(Le,xe){xe=xe||1/0;for(var Se,lt=Le.length,Gt=null,Vt=[],ar=0;ar<lt;++ar){if(Se=Le.charCodeAt(ar),Se>55295&&Se<57344){if(!Gt){if(Se>56319){(xe-=3)>-1&&Vt.push(239,191,189);continue}else if(ar+1===lt){(xe-=3)>-1&&Vt.push(239,191,189);continue}Gt=Se;continue}if(Se<56320){(xe-=3)>-1&&Vt.push(239,191,189),Gt=Se;continue}Se=(Gt-55296<<10|Se-56320)+65536}else Gt&&(xe-=3)>-1&&Vt.push(239,191,189);if(Gt=null,Se<128){if((xe-=1)<0)break;Vt.push(Se)}else if(Se<2048){if((xe-=2)<0)break;Vt.push(Se>>6|192,Se&63|128)}else if(Se<65536){if((xe-=3)<0)break;Vt.push(Se>>12|224,Se>>6&63|128,Se&63|128)}else if(Se<1114112){if((xe-=4)<0)break;Vt.push(Se>>18|240,Se>>12&63|128,Se>>6&63|128,Se&63|128)}else throw new Error(\"Invalid code point\")}return Vt}function Br(Le){for(var xe=[],Se=0;Se<Le.length;++Se)xe.push(Le.charCodeAt(Se)&255);return xe}function Or(Le,xe){for(var Se,lt,Gt,Vt=[],ar=0;ar<Le.length&&!((xe-=2)<0);++ar)Se=Le.charCodeAt(ar),lt=Se>>8,Gt=Se%256,Vt.push(Gt),Vt.push(lt);return Vt}function Nr(Le){return L.toByteArray(fr(Le))}function ut(Le,xe,Se,lt){var Gt;for(Gt=0;Gt<lt&&!(Gt+Se>=xe.length||Gt>=Le.length);++Gt)xe[Gt+Se]=Le[Gt];return Gt}function Ne(Le,xe){return Le instanceof xe||Le!=null&&Le.constructor!=null&&Le.constructor.name!=null&&Le.constructor.name===xe.name}function Ye(Le){return Le!==Le}var Ve=function(){for(var Le=\"0123456789abcdef\",xe=new Array(256),Se=0;Se<16;++Se)for(var lt=Se*16,Gt=0;Gt<16;++Gt)xe[lt+Gt]=Le[Se]+Le[Gt];return xe}();function Xe(Le){return typeof BigInt==\"undefined\"?ht:Le}function ht(){throw new Error(\"BigInt not supported\")}},9216:function(i){\"use strict\";i.exports=l,i.exports.isMobile=l,i.exports.default=l;var a=/(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,o=/CrOS/,s=/android|ipad|playbook|silk/i;function l(u){u||(u={});var c=u.ua;if(!c&&typeof navigator!=\"undefined\"&&(c=navigator.userAgent),c&&c.headers&&typeof c.headers[\"user-agent\"]==\"string\"&&(c=c.headers[\"user-agent\"]),typeof c!=\"string\")return!1;var f=a.test(c)&&!o.test(c)||!!u.tablet&&s.test(c);return!f&&u.tablet&&u.featureDetect&&navigator&&navigator.maxTouchPoints>1&&c.indexOf(\"Macintosh\")!==-1&&c.indexOf(\"Safari\")!==-1&&(f=!0),f}},6296:function(i,a,o){\"use strict\";i.exports=h;var s=o(7261),l=o(9977),u=o(1811);function c(d,v){this._controllerNames=Object.keys(d),this._controllerList=this._controllerNames.map(function(x){return d[x]}),this._mode=v,this._active=d[v],this._active||(this._mode=\"turntable\",this._active=d.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 f=c.prototype;f.flush=function(d){for(var v=this._controllerList,x=0;x<v.length;++x)v[x].flush(d)},f.idle=function(d){for(var v=this._controllerList,x=0;x<v.length;++x)v[x].idle(d)},f.lookAt=function(d,v,x,b){for(var p=this._controllerList,E=0;E<p.length;++E)p[E].lookAt(d,v,x,b)},f.rotate=function(d,v,x,b){for(var p=this._controllerList,E=0;E<p.length;++E)p[E].rotate(d,v,x,b)},f.pan=function(d,v,x,b){for(var p=this._controllerList,E=0;E<p.length;++E)p[E].pan(d,v,x,b)},f.translate=function(d,v,x,b){for(var p=this._controllerList,E=0;E<p.length;++E)p[E].translate(d,v,x,b)},f.setMatrix=function(d,v){for(var x=this._controllerList,b=0;b<x.length;++b)x[b].setMatrix(d,v)},f.setDistanceLimits=function(d,v){for(var x=this._controllerList,b=0;b<x.length;++b)x[b].setDistanceLimits(d,v)},f.setDistance=function(d,v){for(var x=this._controllerList,b=0;b<x.length;++b)x[b].setDistance(d,v)},f.recalcMatrix=function(d){this._active.recalcMatrix(d)},f.getDistance=function(d){return this._active.getDistance(d)},f.getDistanceLimits=function(d){return this._active.getDistanceLimits(d)},f.lastT=function(){return this._active.lastT()},f.setMode=function(d){if(d!==this._mode){var v=this._controllerNames.indexOf(d);if(!(v<0)){var x=this._active,b=this._controllerList[v],p=Math.max(x.lastT(),b.lastT());x.recalcMatrix(p),b.setMatrix(p,x.computedMatrix),this._active=b,this._mode=d,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}}},f.getMode=function(){return this._mode};function h(d){d=d||{};var v=d.eye||[0,0,1],x=d.center||[0,0,0],b=d.up||[0,1,0],p=d.distanceLimits||[0,1/0],E=d.mode||\"turntable\",k=s(),A=l(),L=u();return k.setDistanceLimits(p[0],p[1]),k.lookAt(0,v,x,b),A.setDistanceLimits(p[0],p[1]),A.lookAt(0,v,x,b),L.setDistanceLimits(p[0],p[1]),L.lookAt(0,v,x,b),new c({turntable:k,orbit:A,matrix:L},E)}},7169:function(i,a,o){\"use strict\";var s=typeof WeakMap==\"undefined\"?o(1538):WeakMap,l=o(2762),u=o(8116),c=new s;function f(h){var d=c.get(h),v=d&&(d._triangleBuffer.handle||d._triangleBuffer.buffer);if(!v||!h.isBuffer(v)){var x=l(h,new Float32Array([-1,-1,-1,4,4,-1]));d=u(h,[{buffer:x,type:h.FLOAT,size:2}]),d._triangleBuffer=x,c.set(h,d)}d.bind(),h.drawArrays(h.TRIANGLES,0,3),d.unbind()}i.exports=f},1085:function(i,a,o){var s=o(1371);i.exports=l;function l(u,c,f){c=typeof c==\"number\"?c:1,f=f||\": \";var h=u.split(/\\r?\\n/),d=String(h.length+c-1).length;return h.map(function(v,x){var b=x+c,p=String(b).length,E=s(b,d-p);return E+f+v}).join(`\n", - "`)}},3952:function(i,a,o){\"use strict\";i.exports=u;var s=o(3250);function l(c,f){for(var h=new Array(f+1),d=0;d<c.length;++d)h[d]=c[d];for(var d=0;d<=c.length;++d){for(var v=c.length;v<=f;++v){for(var x=new Array(f),b=0;b<f;++b)x[b]=Math.pow(v+1-d,b);h[v]=x}var p=s.apply(void 0,h);if(p)return!0}return!1}function u(c){var f=c.length;if(f===0)return[];if(f===1)return[0];for(var h=c[0].length,d=[c[0]],v=[0],x=1;x<f;++x){if(d.push(c[x]),!l(d,h)){d.pop();continue}if(v.push(x),v.length===h+1)return v}return v}},5995:function(i,a,o){\"use strict\";i.exports=u;var s=o(7642),l=o(6037);function u(c,f){return s(f).filter(function(h){for(var d=new Array(h.length),v=0;v<h.length;++v)d[v]=f[h[v]];return l(d)*c<1})}},3502:function(i,a,o){i.exports=u;var s=o(5995),l=o(9127);function u(c,f){return l(s(c,f))}},6468:function(i){i.exports=function(o){return atob(o)}},2642:function(i,a,o){\"use strict\";i.exports=u;var s=o(727);function l(c){for(var f=0,h=0;h<c.length;++h)f+=c[h];return f}function u(c,f){for(var h=f.length,d=new Array(h+1),v=0;v<h;++v){for(var x=new Array(h+1),b=0;b<=h;++b)x[b]=c[b][v];d[v]=x}d[h]=new Array(h+1);for(var v=0;v<=h;++v)d[h][v]=1;for(var p=new Array(h+1),v=0;v<h;++v)p[v]=f[v];p[h]=1;var E=s(d,p),k=l(E[h+1]);k===0&&(k=1);for(var A=new Array(h+1),v=0;v<=h;++v)A[v]=l(E[v])/k;return A}},7507:function(i,a){\"use strict\";a.byteLength=d,a.toByteArray=x,a.fromByteArray=E;for(var o=[],s=[],l=typeof Uint8Array!=\"undefined\"?Uint8Array:Array,u=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",c=0,f=u.length;c<f;++c)o[c]=u[c],s[u.charCodeAt(c)]=c;s[45]=62,s[95]=63;function h(k){var A=k.length;if(A%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var L=k.indexOf(\"=\");L===-1&&(L=A);var _=L===A?0:4-L%4;return[L,_]}function d(k){var A=h(k),L=A[0],_=A[1];return(L+_)*3/4-_}function v(k,A,L){return(A+L)*3/4-L}function x(k){var A,L=h(k),_=L[0],C=L[1],M=new l(v(k,_,C)),g=0,P=C>0?_-4:_,T;for(T=0;T<P;T+=4)A=s[k.charCodeAt(T)]<<18|s[k.charCodeAt(T+1)]<<12|s[k.charCodeAt(T+2)]<<6|s[k.charCodeAt(T+3)],M[g++]=A>>16&255,M[g++]=A>>8&255,M[g++]=A&255;return C===2&&(A=s[k.charCodeAt(T)]<<2|s[k.charCodeAt(T+1)]>>4,M[g++]=A&255),C===1&&(A=s[k.charCodeAt(T)]<<10|s[k.charCodeAt(T+1)]<<4|s[k.charCodeAt(T+2)]>>2,M[g++]=A>>8&255,M[g++]=A&255),M}function b(k){return o[k>>18&63]+o[k>>12&63]+o[k>>6&63]+o[k&63]}function p(k,A,L){for(var _,C=[],M=A;M<L;M+=3)_=(k[M]<<16&16711680)+(k[M+1]<<8&65280)+(k[M+2]&255),C.push(b(_));return C.join(\"\")}function E(k){for(var A,L=k.length,_=L%3,C=[],M=16383,g=0,P=L-_;g<P;g+=M)C.push(p(k,g,g+M>P?P:g+M));return _===1?(A=k[L-1],C.push(o[A>>2]+o[A<<4&63]+\"==\")):_===2&&(A=(k[L-2]<<8)+k[L-1],C.push(o[A>>10]+o[A>>4&63]+o[A<<2&63]+\"=\")),C.join(\"\")}},3865:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]).add(c[0].mul(u[1])),u[1].mul(c[1]))}},1318:function(i){\"use strict\";i.exports=a;function a(o,s){return o[0].mul(s[1]).cmp(s[0].mul(o[1]))}},8697:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]),u[1].mul(c[0]))}},7842:function(i,a,o){\"use strict\";var s=o(6330),l=o(1533),u=o(2651),c=o(6768),f=o(869),h=o(8697);i.exports=d;function d(v,x){if(s(v))return x?h(v,d(x)):[v[0].clone(),v[1].clone()];var b=0,p,E;if(l(v))p=v.clone();else if(typeof v==\"string\")p=c(v);else{if(v===0)return[u(0),u(1)];if(v===Math.floor(v))p=u(v);else{for(;v!==Math.floor(v);)v=v*Math.pow(2,256),b-=256;p=u(v)}}if(s(x))p.mul(x[1]),E=x[0].clone();else if(l(x))E=x.clone();else if(typeof x==\"string\")E=c(x);else if(!x)E=u(1);else if(x===Math.floor(x))E=u(x);else{for(;x!==Math.floor(x);)x=x*Math.pow(2,256),b+=256;E=u(x)}return b>0?p=p.ushln(b):b<0&&(E=E.ushln(-b)),f(p,E)}},6330:function(i,a,o){\"use strict\";var s=o(1533);i.exports=l;function l(u){return Array.isArray(u)&&u.length===2&&s(u[0])&&s(u[1])}},5716:function(i,a,o){\"use strict\";var s=o(6859);i.exports=l;function l(u){return u.cmp(new s(0))}},1369:function(i,a,o){\"use strict\";var s=o(5716);i.exports=l;function l(u){var c=u.length,f=u.words,h=0;if(c===1)h=f[0];else if(c===2)h=f[0]+f[1]*67108864;else for(var d=0;d<c;d++){var v=f[d];h+=v*Math.pow(67108864,d)}return s(u)*h}},4025:function(i,a,o){\"use strict\";var s=o(2361),l=o(8828).countTrailingZeros;i.exports=u;function u(c){var f=l(s.lo(c));if(f<32)return f;var h=l(s.hi(c));return h>20?52:h+32}},1533:function(i,a,o){\"use strict\";var s=o(6859);i.exports=l;function l(u){return u&&typeof u==\"object\"&&!!u.words}},2651:function(i,a,o){\"use strict\";var s=o(6859),l=o(2361);i.exports=u;function u(c){var f=l.exponent(c);return f<52?new s(c):new s(c*Math.pow(2,52-f)).ushln(f-52)}},869:function(i,a,o){\"use strict\";var s=o(2651),l=o(5716);i.exports=u;function u(c,f){var h=l(c),d=l(f);if(h===0)return[s(0),s(1)];if(d===0)return[s(0),s(0)];d<0&&(c=c.neg(),f=f.neg());var v=c.gcd(f);return v.cmpn(1)?[c.div(v),f.div(v)]:[c,f]}},6768:function(i,a,o){\"use strict\";var s=o(6859);i.exports=l;function l(u){return new s(u)}},6504:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[0]),u[1].mul(c[1]))}},7721:function(i,a,o){\"use strict\";var s=o(5716);i.exports=l;function l(u){return s(u[0])*s(u[1])}},5572:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]).sub(u[1].mul(c[0])),u[1].mul(c[1]))}},946:function(i,a,o){\"use strict\";var s=o(1369),l=o(4025);i.exports=u;function u(c){var f=c[0],h=c[1];if(f.cmpn(0)===0)return 0;var d=f.abs().divmod(h.abs()),v=d.div,x=s(v),b=d.mod,p=f.negative!==h.negative?-1:1;if(b.cmpn(0)===0)return p*x;if(x){var E=l(x)+4,k=s(b.ushln(E).divRound(h));return p*(x+k*Math.pow(2,-E))}else{var A=h.bitLength()-b.bitLength()+53,k=s(b.ushln(A).divRound(h));return A<1023?p*k*Math.pow(2,-A):(k*=Math.pow(2,-1023),p*k*Math.pow(2,1023-A))}}},2478:function(i){\"use strict\";function a(f,h,d,v,x){for(var b=x+1;v<=x;){var p=v+x>>>1,E=f[p],k=d!==void 0?d(E,h):E-h;k>=0?(b=p,x=p-1):v=p+1}return b}function o(f,h,d,v,x){for(var b=x+1;v<=x;){var p=v+x>>>1,E=f[p],k=d!==void 0?d(E,h):E-h;k>0?(b=p,x=p-1):v=p+1}return b}function s(f,h,d,v,x){for(var b=v-1;v<=x;){var p=v+x>>>1,E=f[p],k=d!==void 0?d(E,h):E-h;k<0?(b=p,v=p+1):x=p-1}return b}function l(f,h,d,v,x){for(var b=v-1;v<=x;){var p=v+x>>>1,E=f[p],k=d!==void 0?d(E,h):E-h;k<=0?(b=p,v=p+1):x=p-1}return b}function u(f,h,d,v,x){for(;v<=x;){var b=v+x>>>1,p=f[b],E=d!==void 0?d(p,h):p-h;if(E===0)return b;E<=0?v=b+1:x=b-1}return-1}function c(f,h,d,v,x,b){return typeof d==\"function\"?b(f,h,d,v===void 0?0:v|0,x===void 0?f.length-1:x|0):b(f,h,void 0,d===void 0?0:d|0,v===void 0?f.length-1:v|0)}i.exports={ge:function(f,h,d,v,x){return c(f,h,d,v,x,a)},gt:function(f,h,d,v,x){return c(f,h,d,v,x,o)},lt:function(f,h,d,v,x){return c(f,h,d,v,x,s)},le:function(f,h,d,v,x){return c(f,h,d,v,x,l)},eq:function(f,h,d,v,x){return c(f,h,d,v,x,u)}}},8828:function(i,a){\"use strict\";\"use restrict\";var o=32;a.INT_BITS=o,a.INT_MAX=2147483647,a.INT_MIN=-1<<o-1,a.sign=function(u){return(u>0)-(u<0)},a.abs=function(u){var c=u>>o-1;return(u^c)-c},a.min=function(u,c){return c^(u^c)&-(u<c)},a.max=function(u,c){return u^(u^c)&-(u<c)},a.isPow2=function(u){return!(u&u-1)&&!!u},a.log2=function(u){var c,f;return c=(u>65535)<<4,u>>>=c,f=(u>255)<<3,u>>>=f,c|=f,f=(u>15)<<2,u>>>=f,c|=f,f=(u>3)<<1,u>>>=f,c|=f,c|u>>1},a.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},a.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var c=32;return u&=-u,u&&c--,u&65535&&(c-=16),u&16711935&&(c-=8),u&252645135&&(c-=4),u&858993459&&(c-=2),u&1431655765&&(c-=1),c}a.countTrailingZeros=s,a.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},a.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},a.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var c=0;c<256;++c){var f=c,h=c,d=7;for(f>>>=1;f;f>>>=1)h<<=1,h|=f&1,--d;u[c]=h<<d&255}})(l),a.reverse=function(u){return l[u&255]<<24|l[u>>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},a.interleave2=function(u,c){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,c&=65535,c=(c|c<<8)&16711935,c=(c|c<<4)&252645135,c=(c|c<<2)&858993459,c=(c|c<<1)&1431655765,u|c<<1},a.deinterleave2=function(u,c){return u=u>>>c&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},a.interleave3=function(u,c,f){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|=c<<1,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|f<<2},a.deinterleave3=function(u,c){return u=u>>>c&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},a.nextCombination=function(u){var c=u|u-1;return c+1|(~c&-~c)-1>>>s(u)+1}},6859:function(i,a,o){i=o.nmd(i),function(s,l){\"use strict\";function u(G,N){if(!G)throw new Error(N||\"Assertion failed\")}function c(G,N){G.super_=N;var W=function(){};W.prototype=N.prototype,G.prototype=new W,G.prototype.constructor=G}function f(G,N,W){if(f.isBN(G))return G;this.negative=0,this.words=null,this.length=0,this.red=null,G!==null&&((N===\"le\"||N===\"be\")&&(W=N,N=10),this._init(G||0,N||10,W||\"be\"))}typeof s==\"object\"?s.exports=f:l.BN=f,f.BN=f,f.wordSize=26;var h;try{typeof window!=\"undefined\"&&typeof window.Buffer!=\"undefined\"?h=window.Buffer:h=o(7790).Buffer}catch(G){}f.isBN=function(N){return N instanceof f?!0:N!==null&&typeof N==\"object\"&&N.constructor.wordSize===f.wordSize&&Array.isArray(N.words)},f.max=function(N,W){return N.cmp(W)>0?N:W},f.min=function(N,W){return N.cmp(W)<0?N:W},f.prototype._init=function(N,W,re){if(typeof N==\"number\")return this._initNumber(N,W,re);if(typeof N==\"object\")return this._initArray(N,W,re);W===\"hex\"&&(W=16),u(W===(W|0)&&W>=2&&W<=36),N=N.toString().replace(/\\s+/g,\"\");var ae=0;N[0]===\"-\"&&(ae++,this.negative=1),ae<N.length&&(W===16?this._parseHex(N,ae,re):(this._parseBase(N,W,ae),re===\"le\"&&this._initArray(this.toArray(),W,re)))},f.prototype._initNumber=function(N,W,re){N<0&&(this.negative=1,N=-N),N<67108864?(this.words=[N&67108863],this.length=1):N<4503599627370496?(this.words=[N&67108863,N/67108864&67108863],this.length=2):(u(N<9007199254740992),this.words=[N&67108863,N/67108864&67108863,1],this.length=3),re===\"le\"&&this._initArray(this.toArray(),W,re)},f.prototype._initArray=function(N,W,re){if(u(typeof N.length==\"number\"),N.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(N.length/3),this.words=new Array(this.length);for(var ae=0;ae<this.length;ae++)this.words[ae]=0;var _e,Me,ke=0;if(re===\"be\")for(ae=N.length-1,_e=0;ae>=0;ae-=3)Me=N[ae]|N[ae-1]<<8|N[ae-2]<<16,this.words[_e]|=Me<<ke&67108863,this.words[_e+1]=Me>>>26-ke&67108863,ke+=24,ke>=26&&(ke-=26,_e++);else if(re===\"le\")for(ae=0,_e=0;ae<N.length;ae+=3)Me=N[ae]|N[ae+1]<<8|N[ae+2]<<16,this.words[_e]|=Me<<ke&67108863,this.words[_e+1]=Me>>>26-ke&67108863,ke+=24,ke>=26&&(ke-=26,_e++);return this.strip()};function d(G,N){var W=G.charCodeAt(N);return W>=65&&W<=70?W-55:W>=97&&W<=102?W-87:W-48&15}function v(G,N,W){var re=d(G,W);return W-1>=N&&(re|=d(G,W-1)<<4),re}f.prototype._parseHex=function(N,W,re){this.length=Math.ceil((N.length-W)/6),this.words=new Array(this.length);for(var ae=0;ae<this.length;ae++)this.words[ae]=0;var _e=0,Me=0,ke;if(re===\"be\")for(ae=N.length-1;ae>=W;ae-=2)ke=v(N,W,ae)<<_e,this.words[Me]|=ke&67108863,_e>=18?(_e-=18,Me+=1,this.words[Me]|=ke>>>26):_e+=8;else{var ge=N.length-W;for(ae=ge%2===0?W+1:W;ae<N.length;ae+=2)ke=v(N,W,ae)<<_e,this.words[Me]|=ke&67108863,_e>=18?(_e-=18,Me+=1,this.words[Me]|=ke>>>26):_e+=8}this.strip()};function x(G,N,W,re){for(var ae=0,_e=Math.min(G.length,W),Me=N;Me<_e;Me++){var ke=G.charCodeAt(Me)-48;ae*=re,ke>=49?ae+=ke-49+10:ke>=17?ae+=ke-17+10:ae+=ke}return ae}f.prototype._parseBase=function(N,W,re){this.words=[0],this.length=1;for(var ae=0,_e=1;_e<=67108863;_e*=W)ae++;ae--,_e=_e/W|0;for(var Me=N.length-re,ke=Me%ae,ge=Math.min(Me,Me-ke)+re,ie=0,Te=re;Te<ge;Te+=ae)ie=x(N,Te,Te+ae,W),this.imuln(_e),this.words[0]+ie<67108864?this.words[0]+=ie:this._iaddn(ie);if(ke!==0){var Ee=1;for(ie=x(N,Te,N.length,W),Te=0;Te<ke;Te++)Ee*=W;this.imuln(Ee),this.words[0]+ie<67108864?this.words[0]+=ie:this._iaddn(ie)}this.strip()},f.prototype.copy=function(N){N.words=new Array(this.length);for(var W=0;W<this.length;W++)N.words[W]=this.words[W];N.length=this.length,N.negative=this.negative,N.red=this.red},f.prototype.clone=function(){var N=new f(null);return this.copy(N),N},f.prototype._expand=function(N){for(;this.length<N;)this.words[this.length++]=0;return this},f.prototype.strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},f.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},f.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var b=[\"\",\"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\"],p=[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],E=[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];f.prototype.toString=function(N,W){N=N||10,W=W|0||1;var re;if(N===16||N===\"hex\"){re=\"\";for(var ae=0,_e=0,Me=0;Me<this.length;Me++){var ke=this.words[Me],ge=((ke<<ae|_e)&16777215).toString(16);_e=ke>>>24-ae&16777215,_e!==0||Me!==this.length-1?re=b[6-ge.length]+ge+re:re=ge+re,ae+=2,ae>=26&&(ae-=26,Me--)}for(_e!==0&&(re=_e.toString(16)+re);re.length%W!==0;)re=\"0\"+re;return this.negative!==0&&(re=\"-\"+re),re}if(N===(N|0)&&N>=2&&N<=36){var ie=p[N],Te=E[N];re=\"\";var Ee=this.clone();for(Ee.negative=0;!Ee.isZero();){var Ae=Ee.modn(Te).toString(N);Ee=Ee.idivn(Te),Ee.isZero()?re=Ae+re:re=b[ie-Ae.length]+Ae+re}for(this.isZero()&&(re=\"0\"+re);re.length%W!==0;)re=\"0\"+re;return this.negative!==0&&(re=\"-\"+re),re}u(!1,\"Base should be between 2 and 36\")},f.prototype.toNumber=function(){var N=this.words[0];return this.length===2?N+=this.words[1]*67108864:this.length===3&&this.words[2]===1?N+=4503599627370496+this.words[1]*67108864:this.length>2&&u(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0?-N:N},f.prototype.toJSON=function(){return this.toString(16)},f.prototype.toBuffer=function(N,W){return u(typeof h!=\"undefined\"),this.toArrayLike(h,N,W)},f.prototype.toArray=function(N,W){return this.toArrayLike(Array,N,W)},f.prototype.toArrayLike=function(N,W,re){var ae=this.byteLength(),_e=re||Math.max(1,ae);u(ae<=_e,\"byte array longer than desired length\"),u(_e>0,\"Requested array length <= 0\"),this.strip();var Me=W===\"le\",ke=new N(_e),ge,ie,Te=this.clone();if(Me){for(ie=0;!Te.isZero();ie++)ge=Te.andln(255),Te.iushrn(8),ke[ie]=ge;for(;ie<_e;ie++)ke[ie]=0}else{for(ie=0;ie<_e-ae;ie++)ke[ie]=0;for(ie=0;!Te.isZero();ie++)ge=Te.andln(255),Te.iushrn(8),ke[_e-ie-1]=ge}return ke},Math.clz32?f.prototype._countBits=function(N){return 32-Math.clz32(N)}:f.prototype._countBits=function(N){var W=N,re=0;return W>=4096&&(re+=13,W>>>=13),W>=64&&(re+=7,W>>>=7),W>=8&&(re+=4,W>>>=4),W>=2&&(re+=2,W>>>=2),re+W},f.prototype._zeroBits=function(N){if(N===0)return 26;var W=N,re=0;return W&8191||(re+=13,W>>>=13),W&127||(re+=7,W>>>=7),W&15||(re+=4,W>>>=4),W&3||(re+=2,W>>>=2),W&1||re++,re},f.prototype.bitLength=function(){var N=this.words[this.length-1],W=this._countBits(N);return(this.length-1)*26+W};function k(G){for(var N=new Array(G.bitLength()),W=0;W<N.length;W++){var re=W/26|0,ae=W%26;N[W]=(G.words[re]&1<<ae)>>>ae}return N}f.prototype.zeroBits=function(){if(this.isZero())return 0;for(var N=0,W=0;W<this.length;W++){var re=this._zeroBits(this.words[W]);if(N+=re,re!==26)break}return N},f.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},f.prototype.toTwos=function(N){return this.negative!==0?this.abs().inotn(N).iaddn(1):this.clone()},f.prototype.fromTwos=function(N){return this.testn(N-1)?this.notn(N).iaddn(1).ineg():this.clone()},f.prototype.isNeg=function(){return this.negative!==0},f.prototype.neg=function(){return this.clone().ineg()},f.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},f.prototype.iuor=function(N){for(;this.length<N.length;)this.words[this.length++]=0;for(var W=0;W<N.length;W++)this.words[W]=this.words[W]|N.words[W];return this.strip()},f.prototype.ior=function(N){return u((this.negative|N.negative)===0),this.iuor(N)},f.prototype.or=function(N){return this.length>N.length?this.clone().ior(N):N.clone().ior(this)},f.prototype.uor=function(N){return this.length>N.length?this.clone().iuor(N):N.clone().iuor(this)},f.prototype.iuand=function(N){var W;this.length>N.length?W=N:W=this;for(var re=0;re<W.length;re++)this.words[re]=this.words[re]&N.words[re];return this.length=W.length,this.strip()},f.prototype.iand=function(N){return u((this.negative|N.negative)===0),this.iuand(N)},f.prototype.and=function(N){return this.length>N.length?this.clone().iand(N):N.clone().iand(this)},f.prototype.uand=function(N){return this.length>N.length?this.clone().iuand(N):N.clone().iuand(this)},f.prototype.iuxor=function(N){var W,re;this.length>N.length?(W=this,re=N):(W=N,re=this);for(var ae=0;ae<re.length;ae++)this.words[ae]=W.words[ae]^re.words[ae];if(this!==W)for(;ae<W.length;ae++)this.words[ae]=W.words[ae];return this.length=W.length,this.strip()},f.prototype.ixor=function(N){return u((this.negative|N.negative)===0),this.iuxor(N)},f.prototype.xor=function(N){return this.length>N.length?this.clone().ixor(N):N.clone().ixor(this)},f.prototype.uxor=function(N){return this.length>N.length?this.clone().iuxor(N):N.clone().iuxor(this)},f.prototype.inotn=function(N){u(typeof N==\"number\"&&N>=0);var W=Math.ceil(N/26)|0,re=N%26;this._expand(W),re>0&&W--;for(var ae=0;ae<W;ae++)this.words[ae]=~this.words[ae]&67108863;return re>0&&(this.words[ae]=~this.words[ae]&67108863>>26-re),this.strip()},f.prototype.notn=function(N){return this.clone().inotn(N)},f.prototype.setn=function(N,W){u(typeof N==\"number\"&&N>=0);var re=N/26|0,ae=N%26;return this._expand(re+1),W?this.words[re]=this.words[re]|1<<ae:this.words[re]=this.words[re]&~(1<<ae),this.strip()},f.prototype.iadd=function(N){var W;if(this.negative!==0&&N.negative===0)return this.negative=0,W=this.isub(N),this.negative^=1,this._normSign();if(this.negative===0&&N.negative!==0)return N.negative=0,W=this.isub(N),N.negative=1,W._normSign();var re,ae;this.length>N.length?(re=this,ae=N):(re=N,ae=this);for(var _e=0,Me=0;Me<ae.length;Me++)W=(re.words[Me]|0)+(ae.words[Me]|0)+_e,this.words[Me]=W&67108863,_e=W>>>26;for(;_e!==0&&Me<re.length;Me++)W=(re.words[Me]|0)+_e,this.words[Me]=W&67108863,_e=W>>>26;if(this.length=re.length,_e!==0)this.words[this.length]=_e,this.length++;else if(re!==this)for(;Me<re.length;Me++)this.words[Me]=re.words[Me];return this},f.prototype.add=function(N){var W;return N.negative!==0&&this.negative===0?(N.negative=0,W=this.sub(N),N.negative^=1,W):N.negative===0&&this.negative!==0?(this.negative=0,W=N.sub(this),this.negative=1,W):this.length>N.length?this.clone().iadd(N):N.clone().iadd(this)},f.prototype.isub=function(N){if(N.negative!==0){N.negative=0;var W=this.iadd(N);return N.negative=1,W._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(N),this.negative=1,this._normSign();var re=this.cmp(N);if(re===0)return this.negative=0,this.length=1,this.words[0]=0,this;var ae,_e;re>0?(ae=this,_e=N):(ae=N,_e=this);for(var Me=0,ke=0;ke<_e.length;ke++)W=(ae.words[ke]|0)-(_e.words[ke]|0)+Me,Me=W>>26,this.words[ke]=W&67108863;for(;Me!==0&&ke<ae.length;ke++)W=(ae.words[ke]|0)+Me,Me=W>>26,this.words[ke]=W&67108863;if(Me===0&&ke<ae.length&&ae!==this)for(;ke<ae.length;ke++)this.words[ke]=ae.words[ke];return this.length=Math.max(this.length,ke),ae!==this&&(this.negative=1),this.strip()},f.prototype.sub=function(N){return this.clone().isub(N)};function A(G,N,W){W.negative=N.negative^G.negative;var re=G.length+N.length|0;W.length=re,re=re-1|0;var ae=G.words[0]|0,_e=N.words[0]|0,Me=ae*_e,ke=Me&67108863,ge=Me/67108864|0;W.words[0]=ke;for(var ie=1;ie<re;ie++){for(var Te=ge>>>26,Ee=ge&67108863,Ae=Math.min(ie,N.length-1),ze=Math.max(0,ie-G.length+1);ze<=Ae;ze++){var Ce=ie-ze|0;ae=G.words[Ce]|0,_e=N.words[ze]|0,Me=ae*_e+Ee,Te+=Me/67108864|0,Ee=Me&67108863}W.words[ie]=Ee|0,ge=Te|0}return ge!==0?W.words[ie]=ge|0:W.length--,W.strip()}var L=function(N,W,re){var ae=N.words,_e=W.words,Me=re.words,ke=0,ge,ie,Te,Ee=ae[0]|0,Ae=Ee&8191,ze=Ee>>>13,Ce=ae[1]|0,me=Ce&8191,Re=Ce>>>13,ce=ae[2]|0,Ge=ce&8191,nt=ce>>>13,ct=ae[3]|0,qt=ct&8191,rt=ct>>>13,ot=ae[4]|0,Rt=ot&8191,kt=ot>>>13,Ct=ae[5]|0,Yt=Ct&8191,xr=Ct>>>13,er=ae[6]|0,Ke=er&8191,xt=er>>>13,bt=ae[7]|0,Lt=bt&8191,St=bt>>>13,Et=ae[8]|0,dt=Et&8191,Ht=Et>>>13,$t=ae[9]|0,fr=$t&8191,_r=$t>>>13,Br=_e[0]|0,Or=Br&8191,Nr=Br>>>13,ut=_e[1]|0,Ne=ut&8191,Ye=ut>>>13,Ve=_e[2]|0,Xe=Ve&8191,ht=Ve>>>13,Le=_e[3]|0,xe=Le&8191,Se=Le>>>13,lt=_e[4]|0,Gt=lt&8191,Vt=lt>>>13,ar=_e[5]|0,Qr=ar&8191,ai=ar>>>13,jr=_e[6]|0,ri=jr&8191,bi=jr>>>13,nn=_e[7]|0,Wi=nn&8191,Ni=nn>>>13,_n=_e[8]|0,$i=_n&8191,zn=_n>>>13,Wn=_e[9]|0,It=Wn&8191,ft=Wn>>>13;re.negative=N.negative^W.negative,re.length=19,ge=Math.imul(Ae,Or),ie=Math.imul(Ae,Nr),ie=ie+Math.imul(ze,Or)|0,Te=Math.imul(ze,Nr);var jt=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jt>>>26)|0,jt&=67108863,ge=Math.imul(me,Or),ie=Math.imul(me,Nr),ie=ie+Math.imul(Re,Or)|0,Te=Math.imul(Re,Nr),ge=ge+Math.imul(Ae,Ne)|0,ie=ie+Math.imul(Ae,Ye)|0,ie=ie+Math.imul(ze,Ne)|0,Te=Te+Math.imul(ze,Ye)|0;var Zt=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,ge=Math.imul(Ge,Or),ie=Math.imul(Ge,Nr),ie=ie+Math.imul(nt,Or)|0,Te=Math.imul(nt,Nr),ge=ge+Math.imul(me,Ne)|0,ie=ie+Math.imul(me,Ye)|0,ie=ie+Math.imul(Re,Ne)|0,Te=Te+Math.imul(Re,Ye)|0,ge=ge+Math.imul(Ae,Xe)|0,ie=ie+Math.imul(Ae,ht)|0,ie=ie+Math.imul(ze,Xe)|0,Te=Te+Math.imul(ze,ht)|0;var yr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(yr>>>26)|0,yr&=67108863,ge=Math.imul(qt,Or),ie=Math.imul(qt,Nr),ie=ie+Math.imul(rt,Or)|0,Te=Math.imul(rt,Nr),ge=ge+Math.imul(Ge,Ne)|0,ie=ie+Math.imul(Ge,Ye)|0,ie=ie+Math.imul(nt,Ne)|0,Te=Te+Math.imul(nt,Ye)|0,ge=ge+Math.imul(me,Xe)|0,ie=ie+Math.imul(me,ht)|0,ie=ie+Math.imul(Re,Xe)|0,Te=Te+Math.imul(Re,ht)|0,ge=ge+Math.imul(Ae,xe)|0,ie=ie+Math.imul(Ae,Se)|0,ie=ie+Math.imul(ze,xe)|0,Te=Te+Math.imul(ze,Se)|0;var Fr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Fr>>>26)|0,Fr&=67108863,ge=Math.imul(Rt,Or),ie=Math.imul(Rt,Nr),ie=ie+Math.imul(kt,Or)|0,Te=Math.imul(kt,Nr),ge=ge+Math.imul(qt,Ne)|0,ie=ie+Math.imul(qt,Ye)|0,ie=ie+Math.imul(rt,Ne)|0,Te=Te+Math.imul(rt,Ye)|0,ge=ge+Math.imul(Ge,Xe)|0,ie=ie+Math.imul(Ge,ht)|0,ie=ie+Math.imul(nt,Xe)|0,Te=Te+Math.imul(nt,ht)|0,ge=ge+Math.imul(me,xe)|0,ie=ie+Math.imul(me,Se)|0,ie=ie+Math.imul(Re,xe)|0,Te=Te+Math.imul(Re,Se)|0,ge=ge+Math.imul(Ae,Gt)|0,ie=ie+Math.imul(Ae,Vt)|0,ie=ie+Math.imul(ze,Gt)|0,Te=Te+Math.imul(ze,Vt)|0;var Zr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Zr>>>26)|0,Zr&=67108863,ge=Math.imul(Yt,Or),ie=Math.imul(Yt,Nr),ie=ie+Math.imul(xr,Or)|0,Te=Math.imul(xr,Nr),ge=ge+Math.imul(Rt,Ne)|0,ie=ie+Math.imul(Rt,Ye)|0,ie=ie+Math.imul(kt,Ne)|0,Te=Te+Math.imul(kt,Ye)|0,ge=ge+Math.imul(qt,Xe)|0,ie=ie+Math.imul(qt,ht)|0,ie=ie+Math.imul(rt,Xe)|0,Te=Te+Math.imul(rt,ht)|0,ge=ge+Math.imul(Ge,xe)|0,ie=ie+Math.imul(Ge,Se)|0,ie=ie+Math.imul(nt,xe)|0,Te=Te+Math.imul(nt,Se)|0,ge=ge+Math.imul(me,Gt)|0,ie=ie+Math.imul(me,Vt)|0,ie=ie+Math.imul(Re,Gt)|0,Te=Te+Math.imul(Re,Vt)|0,ge=ge+Math.imul(Ae,Qr)|0,ie=ie+Math.imul(Ae,ai)|0,ie=ie+Math.imul(ze,Qr)|0,Te=Te+Math.imul(ze,ai)|0;var Vr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Vr>>>26)|0,Vr&=67108863,ge=Math.imul(Ke,Or),ie=Math.imul(Ke,Nr),ie=ie+Math.imul(xt,Or)|0,Te=Math.imul(xt,Nr),ge=ge+Math.imul(Yt,Ne)|0,ie=ie+Math.imul(Yt,Ye)|0,ie=ie+Math.imul(xr,Ne)|0,Te=Te+Math.imul(xr,Ye)|0,ge=ge+Math.imul(Rt,Xe)|0,ie=ie+Math.imul(Rt,ht)|0,ie=ie+Math.imul(kt,Xe)|0,Te=Te+Math.imul(kt,ht)|0,ge=ge+Math.imul(qt,xe)|0,ie=ie+Math.imul(qt,Se)|0,ie=ie+Math.imul(rt,xe)|0,Te=Te+Math.imul(rt,Se)|0,ge=ge+Math.imul(Ge,Gt)|0,ie=ie+Math.imul(Ge,Vt)|0,ie=ie+Math.imul(nt,Gt)|0,Te=Te+Math.imul(nt,Vt)|0,ge=ge+Math.imul(me,Qr)|0,ie=ie+Math.imul(me,ai)|0,ie=ie+Math.imul(Re,Qr)|0,Te=Te+Math.imul(Re,ai)|0,ge=ge+Math.imul(Ae,ri)|0,ie=ie+Math.imul(Ae,bi)|0,ie=ie+Math.imul(ze,ri)|0,Te=Te+Math.imul(ze,bi)|0;var gi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(gi>>>26)|0,gi&=67108863,ge=Math.imul(Lt,Or),ie=Math.imul(Lt,Nr),ie=ie+Math.imul(St,Or)|0,Te=Math.imul(St,Nr),ge=ge+Math.imul(Ke,Ne)|0,ie=ie+Math.imul(Ke,Ye)|0,ie=ie+Math.imul(xt,Ne)|0,Te=Te+Math.imul(xt,Ye)|0,ge=ge+Math.imul(Yt,Xe)|0,ie=ie+Math.imul(Yt,ht)|0,ie=ie+Math.imul(xr,Xe)|0,Te=Te+Math.imul(xr,ht)|0,ge=ge+Math.imul(Rt,xe)|0,ie=ie+Math.imul(Rt,Se)|0,ie=ie+Math.imul(kt,xe)|0,Te=Te+Math.imul(kt,Se)|0,ge=ge+Math.imul(qt,Gt)|0,ie=ie+Math.imul(qt,Vt)|0,ie=ie+Math.imul(rt,Gt)|0,Te=Te+Math.imul(rt,Vt)|0,ge=ge+Math.imul(Ge,Qr)|0,ie=ie+Math.imul(Ge,ai)|0,ie=ie+Math.imul(nt,Qr)|0,Te=Te+Math.imul(nt,ai)|0,ge=ge+Math.imul(me,ri)|0,ie=ie+Math.imul(me,bi)|0,ie=ie+Math.imul(Re,ri)|0,Te=Te+Math.imul(Re,bi)|0,ge=ge+Math.imul(Ae,Wi)|0,ie=ie+Math.imul(Ae,Ni)|0,ie=ie+Math.imul(ze,Wi)|0,Te=Te+Math.imul(ze,Ni)|0;var Si=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Si>>>26)|0,Si&=67108863,ge=Math.imul(dt,Or),ie=Math.imul(dt,Nr),ie=ie+Math.imul(Ht,Or)|0,Te=Math.imul(Ht,Nr),ge=ge+Math.imul(Lt,Ne)|0,ie=ie+Math.imul(Lt,Ye)|0,ie=ie+Math.imul(St,Ne)|0,Te=Te+Math.imul(St,Ye)|0,ge=ge+Math.imul(Ke,Xe)|0,ie=ie+Math.imul(Ke,ht)|0,ie=ie+Math.imul(xt,Xe)|0,Te=Te+Math.imul(xt,ht)|0,ge=ge+Math.imul(Yt,xe)|0,ie=ie+Math.imul(Yt,Se)|0,ie=ie+Math.imul(xr,xe)|0,Te=Te+Math.imul(xr,Se)|0,ge=ge+Math.imul(Rt,Gt)|0,ie=ie+Math.imul(Rt,Vt)|0,ie=ie+Math.imul(kt,Gt)|0,Te=Te+Math.imul(kt,Vt)|0,ge=ge+Math.imul(qt,Qr)|0,ie=ie+Math.imul(qt,ai)|0,ie=ie+Math.imul(rt,Qr)|0,Te=Te+Math.imul(rt,ai)|0,ge=ge+Math.imul(Ge,ri)|0,ie=ie+Math.imul(Ge,bi)|0,ie=ie+Math.imul(nt,ri)|0,Te=Te+Math.imul(nt,bi)|0,ge=ge+Math.imul(me,Wi)|0,ie=ie+Math.imul(me,Ni)|0,ie=ie+Math.imul(Re,Wi)|0,Te=Te+Math.imul(Re,Ni)|0,ge=ge+Math.imul(Ae,$i)|0,ie=ie+Math.imul(Ae,zn)|0,ie=ie+Math.imul(ze,$i)|0,Te=Te+Math.imul(ze,zn)|0;var Mi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Mi>>>26)|0,Mi&=67108863,ge=Math.imul(fr,Or),ie=Math.imul(fr,Nr),ie=ie+Math.imul(_r,Or)|0,Te=Math.imul(_r,Nr),ge=ge+Math.imul(dt,Ne)|0,ie=ie+Math.imul(dt,Ye)|0,ie=ie+Math.imul(Ht,Ne)|0,Te=Te+Math.imul(Ht,Ye)|0,ge=ge+Math.imul(Lt,Xe)|0,ie=ie+Math.imul(Lt,ht)|0,ie=ie+Math.imul(St,Xe)|0,Te=Te+Math.imul(St,ht)|0,ge=ge+Math.imul(Ke,xe)|0,ie=ie+Math.imul(Ke,Se)|0,ie=ie+Math.imul(xt,xe)|0,Te=Te+Math.imul(xt,Se)|0,ge=ge+Math.imul(Yt,Gt)|0,ie=ie+Math.imul(Yt,Vt)|0,ie=ie+Math.imul(xr,Gt)|0,Te=Te+Math.imul(xr,Vt)|0,ge=ge+Math.imul(Rt,Qr)|0,ie=ie+Math.imul(Rt,ai)|0,ie=ie+Math.imul(kt,Qr)|0,Te=Te+Math.imul(kt,ai)|0,ge=ge+Math.imul(qt,ri)|0,ie=ie+Math.imul(qt,bi)|0,ie=ie+Math.imul(rt,ri)|0,Te=Te+Math.imul(rt,bi)|0,ge=ge+Math.imul(Ge,Wi)|0,ie=ie+Math.imul(Ge,Ni)|0,ie=ie+Math.imul(nt,Wi)|0,Te=Te+Math.imul(nt,Ni)|0,ge=ge+Math.imul(me,$i)|0,ie=ie+Math.imul(me,zn)|0,ie=ie+Math.imul(Re,$i)|0,Te=Te+Math.imul(Re,zn)|0,ge=ge+Math.imul(Ae,It)|0,ie=ie+Math.imul(Ae,ft)|0,ie=ie+Math.imul(ze,It)|0,Te=Te+Math.imul(ze,ft)|0;var Pi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Pi>>>26)|0,Pi&=67108863,ge=Math.imul(fr,Ne),ie=Math.imul(fr,Ye),ie=ie+Math.imul(_r,Ne)|0,Te=Math.imul(_r,Ye),ge=ge+Math.imul(dt,Xe)|0,ie=ie+Math.imul(dt,ht)|0,ie=ie+Math.imul(Ht,Xe)|0,Te=Te+Math.imul(Ht,ht)|0,ge=ge+Math.imul(Lt,xe)|0,ie=ie+Math.imul(Lt,Se)|0,ie=ie+Math.imul(St,xe)|0,Te=Te+Math.imul(St,Se)|0,ge=ge+Math.imul(Ke,Gt)|0,ie=ie+Math.imul(Ke,Vt)|0,ie=ie+Math.imul(xt,Gt)|0,Te=Te+Math.imul(xt,Vt)|0,ge=ge+Math.imul(Yt,Qr)|0,ie=ie+Math.imul(Yt,ai)|0,ie=ie+Math.imul(xr,Qr)|0,Te=Te+Math.imul(xr,ai)|0,ge=ge+Math.imul(Rt,ri)|0,ie=ie+Math.imul(Rt,bi)|0,ie=ie+Math.imul(kt,ri)|0,Te=Te+Math.imul(kt,bi)|0,ge=ge+Math.imul(qt,Wi)|0,ie=ie+Math.imul(qt,Ni)|0,ie=ie+Math.imul(rt,Wi)|0,Te=Te+Math.imul(rt,Ni)|0,ge=ge+Math.imul(Ge,$i)|0,ie=ie+Math.imul(Ge,zn)|0,ie=ie+Math.imul(nt,$i)|0,Te=Te+Math.imul(nt,zn)|0,ge=ge+Math.imul(me,It)|0,ie=ie+Math.imul(me,ft)|0,ie=ie+Math.imul(Re,It)|0,Te=Te+Math.imul(Re,ft)|0;var Gi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Gi>>>26)|0,Gi&=67108863,ge=Math.imul(fr,Xe),ie=Math.imul(fr,ht),ie=ie+Math.imul(_r,Xe)|0,Te=Math.imul(_r,ht),ge=ge+Math.imul(dt,xe)|0,ie=ie+Math.imul(dt,Se)|0,ie=ie+Math.imul(Ht,xe)|0,Te=Te+Math.imul(Ht,Se)|0,ge=ge+Math.imul(Lt,Gt)|0,ie=ie+Math.imul(Lt,Vt)|0,ie=ie+Math.imul(St,Gt)|0,Te=Te+Math.imul(St,Vt)|0,ge=ge+Math.imul(Ke,Qr)|0,ie=ie+Math.imul(Ke,ai)|0,ie=ie+Math.imul(xt,Qr)|0,Te=Te+Math.imul(xt,ai)|0,ge=ge+Math.imul(Yt,ri)|0,ie=ie+Math.imul(Yt,bi)|0,ie=ie+Math.imul(xr,ri)|0,Te=Te+Math.imul(xr,bi)|0,ge=ge+Math.imul(Rt,Wi)|0,ie=ie+Math.imul(Rt,Ni)|0,ie=ie+Math.imul(kt,Wi)|0,Te=Te+Math.imul(kt,Ni)|0,ge=ge+Math.imul(qt,$i)|0,ie=ie+Math.imul(qt,zn)|0,ie=ie+Math.imul(rt,$i)|0,Te=Te+Math.imul(rt,zn)|0,ge=ge+Math.imul(Ge,It)|0,ie=ie+Math.imul(Ge,ft)|0,ie=ie+Math.imul(nt,It)|0,Te=Te+Math.imul(nt,ft)|0;var Ki=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Ki>>>26)|0,Ki&=67108863,ge=Math.imul(fr,xe),ie=Math.imul(fr,Se),ie=ie+Math.imul(_r,xe)|0,Te=Math.imul(_r,Se),ge=ge+Math.imul(dt,Gt)|0,ie=ie+Math.imul(dt,Vt)|0,ie=ie+Math.imul(Ht,Gt)|0,Te=Te+Math.imul(Ht,Vt)|0,ge=ge+Math.imul(Lt,Qr)|0,ie=ie+Math.imul(Lt,ai)|0,ie=ie+Math.imul(St,Qr)|0,Te=Te+Math.imul(St,ai)|0,ge=ge+Math.imul(Ke,ri)|0,ie=ie+Math.imul(Ke,bi)|0,ie=ie+Math.imul(xt,ri)|0,Te=Te+Math.imul(xt,bi)|0,ge=ge+Math.imul(Yt,Wi)|0,ie=ie+Math.imul(Yt,Ni)|0,ie=ie+Math.imul(xr,Wi)|0,Te=Te+Math.imul(xr,Ni)|0,ge=ge+Math.imul(Rt,$i)|0,ie=ie+Math.imul(Rt,zn)|0,ie=ie+Math.imul(kt,$i)|0,Te=Te+Math.imul(kt,zn)|0,ge=ge+Math.imul(qt,It)|0,ie=ie+Math.imul(qt,ft)|0,ie=ie+Math.imul(rt,It)|0,Te=Te+Math.imul(rt,ft)|0;var ka=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(ka>>>26)|0,ka&=67108863,ge=Math.imul(fr,Gt),ie=Math.imul(fr,Vt),ie=ie+Math.imul(_r,Gt)|0,Te=Math.imul(_r,Vt),ge=ge+Math.imul(dt,Qr)|0,ie=ie+Math.imul(dt,ai)|0,ie=ie+Math.imul(Ht,Qr)|0,Te=Te+Math.imul(Ht,ai)|0,ge=ge+Math.imul(Lt,ri)|0,ie=ie+Math.imul(Lt,bi)|0,ie=ie+Math.imul(St,ri)|0,Te=Te+Math.imul(St,bi)|0,ge=ge+Math.imul(Ke,Wi)|0,ie=ie+Math.imul(Ke,Ni)|0,ie=ie+Math.imul(xt,Wi)|0,Te=Te+Math.imul(xt,Ni)|0,ge=ge+Math.imul(Yt,$i)|0,ie=ie+Math.imul(Yt,zn)|0,ie=ie+Math.imul(xr,$i)|0,Te=Te+Math.imul(xr,zn)|0,ge=ge+Math.imul(Rt,It)|0,ie=ie+Math.imul(Rt,ft)|0,ie=ie+Math.imul(kt,It)|0,Te=Te+Math.imul(kt,ft)|0;var jn=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jn>>>26)|0,jn&=67108863,ge=Math.imul(fr,Qr),ie=Math.imul(fr,ai),ie=ie+Math.imul(_r,Qr)|0,Te=Math.imul(_r,ai),ge=ge+Math.imul(dt,ri)|0,ie=ie+Math.imul(dt,bi)|0,ie=ie+Math.imul(Ht,ri)|0,Te=Te+Math.imul(Ht,bi)|0,ge=ge+Math.imul(Lt,Wi)|0,ie=ie+Math.imul(Lt,Ni)|0,ie=ie+Math.imul(St,Wi)|0,Te=Te+Math.imul(St,Ni)|0,ge=ge+Math.imul(Ke,$i)|0,ie=ie+Math.imul(Ke,zn)|0,ie=ie+Math.imul(xt,$i)|0,Te=Te+Math.imul(xt,zn)|0,ge=ge+Math.imul(Yt,It)|0,ie=ie+Math.imul(Yt,ft)|0,ie=ie+Math.imul(xr,It)|0,Te=Te+Math.imul(xr,ft)|0;var la=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(la>>>26)|0,la&=67108863,ge=Math.imul(fr,ri),ie=Math.imul(fr,bi),ie=ie+Math.imul(_r,ri)|0,Te=Math.imul(_r,bi),ge=ge+Math.imul(dt,Wi)|0,ie=ie+Math.imul(dt,Ni)|0,ie=ie+Math.imul(Ht,Wi)|0,Te=Te+Math.imul(Ht,Ni)|0,ge=ge+Math.imul(Lt,$i)|0,ie=ie+Math.imul(Lt,zn)|0,ie=ie+Math.imul(St,$i)|0,Te=Te+Math.imul(St,zn)|0,ge=ge+Math.imul(Ke,It)|0,ie=ie+Math.imul(Ke,ft)|0,ie=ie+Math.imul(xt,It)|0,Te=Te+Math.imul(xt,ft)|0;var Fa=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Fa>>>26)|0,Fa&=67108863,ge=Math.imul(fr,Wi),ie=Math.imul(fr,Ni),ie=ie+Math.imul(_r,Wi)|0,Te=Math.imul(_r,Ni),ge=ge+Math.imul(dt,$i)|0,ie=ie+Math.imul(dt,zn)|0,ie=ie+Math.imul(Ht,$i)|0,Te=Te+Math.imul(Ht,zn)|0,ge=ge+Math.imul(Lt,It)|0,ie=ie+Math.imul(Lt,ft)|0,ie=ie+Math.imul(St,It)|0,Te=Te+Math.imul(St,ft)|0;var Ra=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Ra>>>26)|0,Ra&=67108863,ge=Math.imul(fr,$i),ie=Math.imul(fr,zn),ie=ie+Math.imul(_r,$i)|0,Te=Math.imul(_r,zn),ge=ge+Math.imul(dt,It)|0,ie=ie+Math.imul(dt,ft)|0,ie=ie+Math.imul(Ht,It)|0,Te=Te+Math.imul(Ht,ft)|0;var jo=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jo>>>26)|0,jo&=67108863,ge=Math.imul(fr,It),ie=Math.imul(fr,ft),ie=ie+Math.imul(_r,It)|0,Te=Math.imul(_r,ft);var oa=(ke+ge|0)+((ie&8191)<<13)|0;return ke=(Te+(ie>>>13)|0)+(oa>>>26)|0,oa&=67108863,Me[0]=jt,Me[1]=Zt,Me[2]=yr,Me[3]=Fr,Me[4]=Zr,Me[5]=Vr,Me[6]=gi,Me[7]=Si,Me[8]=Mi,Me[9]=Pi,Me[10]=Gi,Me[11]=Ki,Me[12]=ka,Me[13]=jn,Me[14]=la,Me[15]=Fa,Me[16]=Ra,Me[17]=jo,Me[18]=oa,ke!==0&&(Me[19]=ke,re.length++),re};Math.imul||(L=A);function _(G,N,W){W.negative=N.negative^G.negative,W.length=G.length+N.length;for(var re=0,ae=0,_e=0;_e<W.length-1;_e++){var Me=ae;ae=0;for(var ke=re&67108863,ge=Math.min(_e,N.length-1),ie=Math.max(0,_e-G.length+1);ie<=ge;ie++){var Te=_e-ie,Ee=G.words[Te]|0,Ae=N.words[ie]|0,ze=Ee*Ae,Ce=ze&67108863;Me=Me+(ze/67108864|0)|0,Ce=Ce+ke|0,ke=Ce&67108863,Me=Me+(Ce>>>26)|0,ae+=Me>>>26,Me&=67108863}W.words[_e]=ke,re=Me,Me=ae}return re!==0?W.words[_e]=re:W.length--,W.strip()}function C(G,N,W){var re=new M;return re.mulp(G,N,W)}f.prototype.mulTo=function(N,W){var re,ae=this.length+N.length;return this.length===10&&N.length===10?re=L(this,N,W):ae<63?re=A(this,N,W):ae<1024?re=_(this,N,W):re=C(this,N,W),re};function M(G,N){this.x=G,this.y=N}M.prototype.makeRBT=function(N){for(var W=new Array(N),re=f.prototype._countBits(N)-1,ae=0;ae<N;ae++)W[ae]=this.revBin(ae,re,N);return W},M.prototype.revBin=function(N,W,re){if(N===0||N===re-1)return N;for(var ae=0,_e=0;_e<W;_e++)ae|=(N&1)<<W-_e-1,N>>=1;return ae},M.prototype.permute=function(N,W,re,ae,_e,Me){for(var ke=0;ke<Me;ke++)ae[ke]=W[N[ke]],_e[ke]=re[N[ke]]},M.prototype.transform=function(N,W,re,ae,_e,Me){this.permute(Me,N,W,re,ae,_e);for(var ke=1;ke<_e;ke<<=1)for(var ge=ke<<1,ie=Math.cos(2*Math.PI/ge),Te=Math.sin(2*Math.PI/ge),Ee=0;Ee<_e;Ee+=ge)for(var Ae=ie,ze=Te,Ce=0;Ce<ke;Ce++){var me=re[Ee+Ce],Re=ae[Ee+Ce],ce=re[Ee+Ce+ke],Ge=ae[Ee+Ce+ke],nt=Ae*ce-ze*Ge;Ge=Ae*Ge+ze*ce,ce=nt,re[Ee+Ce]=me+ce,ae[Ee+Ce]=Re+Ge,re[Ee+Ce+ke]=me-ce,ae[Ee+Ce+ke]=Re-Ge,Ce!==ge&&(nt=ie*Ae-Te*ze,ze=ie*ze+Te*Ae,Ae=nt)}},M.prototype.guessLen13b=function(N,W){var re=Math.max(W,N)|1,ae=re&1,_e=0;for(re=re/2|0;re;re=re>>>1)_e++;return 1<<_e+1+ae},M.prototype.conjugate=function(N,W,re){if(!(re<=1))for(var ae=0;ae<re/2;ae++){var _e=N[ae];N[ae]=N[re-ae-1],N[re-ae-1]=_e,_e=W[ae],W[ae]=-W[re-ae-1],W[re-ae-1]=-_e}},M.prototype.normalize13b=function(N,W){for(var re=0,ae=0;ae<W/2;ae++){var _e=Math.round(N[2*ae+1]/W)*8192+Math.round(N[2*ae]/W)+re;N[ae]=_e&67108863,_e<67108864?re=0:re=_e/67108864|0}return N},M.prototype.convert13b=function(N,W,re,ae){for(var _e=0,Me=0;Me<W;Me++)_e=_e+(N[Me]|0),re[2*Me]=_e&8191,_e=_e>>>13,re[2*Me+1]=_e&8191,_e=_e>>>13;for(Me=2*W;Me<ae;++Me)re[Me]=0;u(_e===0),u((_e&-8192)===0)},M.prototype.stub=function(N){for(var W=new Array(N),re=0;re<N;re++)W[re]=0;return W},M.prototype.mulp=function(N,W,re){var ae=2*this.guessLen13b(N.length,W.length),_e=this.makeRBT(ae),Me=this.stub(ae),ke=new Array(ae),ge=new Array(ae),ie=new Array(ae),Te=new Array(ae),Ee=new Array(ae),Ae=new Array(ae),ze=re.words;ze.length=ae,this.convert13b(N.words,N.length,ke,ae),this.convert13b(W.words,W.length,Te,ae),this.transform(ke,Me,ge,ie,ae,_e),this.transform(Te,Me,Ee,Ae,ae,_e);for(var Ce=0;Ce<ae;Ce++){var me=ge[Ce]*Ee[Ce]-ie[Ce]*Ae[Ce];ie[Ce]=ge[Ce]*Ae[Ce]+ie[Ce]*Ee[Ce],ge[Ce]=me}return this.conjugate(ge,ie,ae),this.transform(ge,ie,ze,Me,ae,_e),this.conjugate(ze,Me,ae),this.normalize13b(ze,ae),re.negative=N.negative^W.negative,re.length=N.length+W.length,re.strip()},f.prototype.mul=function(N){var W=new f(null);return W.words=new Array(this.length+N.length),this.mulTo(N,W)},f.prototype.mulf=function(N){var W=new f(null);return W.words=new Array(this.length+N.length),C(this,N,W)},f.prototype.imul=function(N){return this.clone().mulTo(N,this)},f.prototype.imuln=function(N){u(typeof N==\"number\"),u(N<67108864);for(var W=0,re=0;re<this.length;re++){var ae=(this.words[re]|0)*N,_e=(ae&67108863)+(W&67108863);W>>=26,W+=ae/67108864|0,W+=_e>>>26,this.words[re]=_e&67108863}return W!==0&&(this.words[re]=W,this.length++),this},f.prototype.muln=function(N){return this.clone().imuln(N)},f.prototype.sqr=function(){return this.mul(this)},f.prototype.isqr=function(){return this.imul(this.clone())},f.prototype.pow=function(N){var W=k(N);if(W.length===0)return new f(1);for(var re=this,ae=0;ae<W.length&&W[ae]===0;ae++,re=re.sqr());if(++ae<W.length)for(var _e=re.sqr();ae<W.length;ae++,_e=_e.sqr())W[ae]!==0&&(re=re.mul(_e));return re},f.prototype.iushln=function(N){u(typeof N==\"number\"&&N>=0);var W=N%26,re=(N-W)/26,ae=67108863>>>26-W<<26-W,_e;if(W!==0){var Me=0;for(_e=0;_e<this.length;_e++){var ke=this.words[_e]&ae,ge=(this.words[_e]|0)-ke<<W;this.words[_e]=ge|Me,Me=ke>>>26-W}Me&&(this.words[_e]=Me,this.length++)}if(re!==0){for(_e=this.length-1;_e>=0;_e--)this.words[_e+re]=this.words[_e];for(_e=0;_e<re;_e++)this.words[_e]=0;this.length+=re}return this.strip()},f.prototype.ishln=function(N){return u(this.negative===0),this.iushln(N)},f.prototype.iushrn=function(N,W,re){u(typeof N==\"number\"&&N>=0);var ae;W?ae=(W-W%26)/26:ae=0;var _e=N%26,Me=Math.min((N-_e)/26,this.length),ke=67108863^67108863>>>_e<<_e,ge=re;if(ae-=Me,ae=Math.max(0,ae),ge){for(var ie=0;ie<Me;ie++)ge.words[ie]=this.words[ie];ge.length=Me}if(Me!==0)if(this.length>Me)for(this.length-=Me,ie=0;ie<this.length;ie++)this.words[ie]=this.words[ie+Me];else this.words[0]=0,this.length=1;var Te=0;for(ie=this.length-1;ie>=0&&(Te!==0||ie>=ae);ie--){var Ee=this.words[ie]|0;this.words[ie]=Te<<26-_e|Ee>>>_e,Te=Ee&ke}return ge&&Te!==0&&(ge.words[ge.length++]=Te),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},f.prototype.ishrn=function(N,W,re){return u(this.negative===0),this.iushrn(N,W,re)},f.prototype.shln=function(N){return this.clone().ishln(N)},f.prototype.ushln=function(N){return this.clone().iushln(N)},f.prototype.shrn=function(N){return this.clone().ishrn(N)},f.prototype.ushrn=function(N){return this.clone().iushrn(N)},f.prototype.testn=function(N){u(typeof N==\"number\"&&N>=0);var W=N%26,re=(N-W)/26,ae=1<<W;if(this.length<=re)return!1;var _e=this.words[re];return!!(_e&ae)},f.prototype.imaskn=function(N){u(typeof N==\"number\"&&N>=0);var W=N%26,re=(N-W)/26;if(u(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=re)return this;if(W!==0&&re++,this.length=Math.min(re,this.length),W!==0){var ae=67108863^67108863>>>W<<W;this.words[this.length-1]&=ae}return this.strip()},f.prototype.maskn=function(N){return this.clone().imaskn(N)},f.prototype.iaddn=function(N){return u(typeof N==\"number\"),u(N<67108864),N<0?this.isubn(-N):this.negative!==0?this.length===1&&(this.words[0]|0)<N?(this.words[0]=N-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(N),this.negative=1,this):this._iaddn(N)},f.prototype._iaddn=function(N){this.words[0]+=N;for(var W=0;W<this.length&&this.words[W]>=67108864;W++)this.words[W]-=67108864,W===this.length-1?this.words[W+1]=1:this.words[W+1]++;return this.length=Math.max(this.length,W+1),this},f.prototype.isubn=function(N){if(u(typeof N==\"number\"),u(N<67108864),N<0)return this.iaddn(-N);if(this.negative!==0)return this.negative=0,this.iaddn(N),this.negative=1,this;if(this.words[0]-=N,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var W=0;W<this.length&&this.words[W]<0;W++)this.words[W]+=67108864,this.words[W+1]-=1;return this.strip()},f.prototype.addn=function(N){return this.clone().iaddn(N)},f.prototype.subn=function(N){return this.clone().isubn(N)},f.prototype.iabs=function(){return this.negative=0,this},f.prototype.abs=function(){return this.clone().iabs()},f.prototype._ishlnsubmul=function(N,W,re){var ae=N.length+re,_e;this._expand(ae);var Me,ke=0;for(_e=0;_e<N.length;_e++){Me=(this.words[_e+re]|0)+ke;var ge=(N.words[_e]|0)*W;Me-=ge&67108863,ke=(Me>>26)-(ge/67108864|0),this.words[_e+re]=Me&67108863}for(;_e<this.length-re;_e++)Me=(this.words[_e+re]|0)+ke,ke=Me>>26,this.words[_e+re]=Me&67108863;if(ke===0)return this.strip();for(u(ke===-1),ke=0,_e=0;_e<this.length;_e++)Me=-(this.words[_e]|0)+ke,ke=Me>>26,this.words[_e]=Me&67108863;return this.negative=1,this.strip()},f.prototype._wordDiv=function(N,W){var re=this.length-N.length,ae=this.clone(),_e=N,Me=_e.words[_e.length-1]|0,ke=this._countBits(Me);re=26-ke,re!==0&&(_e=_e.ushln(re),ae.iushln(re),Me=_e.words[_e.length-1]|0);var ge=ae.length-_e.length,ie;if(W!==\"mod\"){ie=new f(null),ie.length=ge+1,ie.words=new Array(ie.length);for(var Te=0;Te<ie.length;Te++)ie.words[Te]=0}var Ee=ae.clone()._ishlnsubmul(_e,1,ge);Ee.negative===0&&(ae=Ee,ie&&(ie.words[ge]=1));for(var Ae=ge-1;Ae>=0;Ae--){var ze=(ae.words[_e.length+Ae]|0)*67108864+(ae.words[_e.length+Ae-1]|0);for(ze=Math.min(ze/Me|0,67108863),ae._ishlnsubmul(_e,ze,Ae);ae.negative!==0;)ze--,ae.negative=0,ae._ishlnsubmul(_e,1,Ae),ae.isZero()||(ae.negative^=1);ie&&(ie.words[Ae]=ze)}return ie&&ie.strip(),ae.strip(),W!==\"div\"&&re!==0&&ae.iushrn(re),{div:ie||null,mod:ae}},f.prototype.divmod=function(N,W,re){if(u(!N.isZero()),this.isZero())return{div:new f(0),mod:new f(0)};var ae,_e,Me;return this.negative!==0&&N.negative===0?(Me=this.neg().divmod(N,W),W!==\"mod\"&&(ae=Me.div.neg()),W!==\"div\"&&(_e=Me.mod.neg(),re&&_e.negative!==0&&_e.iadd(N)),{div:ae,mod:_e}):this.negative===0&&N.negative!==0?(Me=this.divmod(N.neg(),W),W!==\"mod\"&&(ae=Me.div.neg()),{div:ae,mod:Me.mod}):this.negative&N.negative?(Me=this.neg().divmod(N.neg(),W),W!==\"div\"&&(_e=Me.mod.neg(),re&&_e.negative!==0&&_e.isub(N)),{div:Me.div,mod:_e}):N.length>this.length||this.cmp(N)<0?{div:new f(0),mod:this}:N.length===1?W===\"div\"?{div:this.divn(N.words[0]),mod:null}:W===\"mod\"?{div:null,mod:new f(this.modn(N.words[0]))}:{div:this.divn(N.words[0]),mod:new f(this.modn(N.words[0]))}:this._wordDiv(N,W)},f.prototype.div=function(N){return this.divmod(N,\"div\",!1).div},f.prototype.mod=function(N){return this.divmod(N,\"mod\",!1).mod},f.prototype.umod=function(N){return this.divmod(N,\"mod\",!0).mod},f.prototype.divRound=function(N){var W=this.divmod(N);if(W.mod.isZero())return W.div;var re=W.div.negative!==0?W.mod.isub(N):W.mod,ae=N.ushrn(1),_e=N.andln(1),Me=re.cmp(ae);return Me<0||_e===1&&Me===0?W.div:W.div.negative!==0?W.div.isubn(1):W.div.iaddn(1)},f.prototype.modn=function(N){u(N<=67108863);for(var W=(1<<26)%N,re=0,ae=this.length-1;ae>=0;ae--)re=(W*re+(this.words[ae]|0))%N;return re},f.prototype.idivn=function(N){u(N<=67108863);for(var W=0,re=this.length-1;re>=0;re--){var ae=(this.words[re]|0)+W*67108864;this.words[re]=ae/N|0,W=ae%N}return this.strip()},f.prototype.divn=function(N){return this.clone().idivn(N)},f.prototype.egcd=function(N){u(N.negative===0),u(!N.isZero());var W=this,re=N.clone();W.negative!==0?W=W.umod(N):W=W.clone();for(var ae=new f(1),_e=new f(0),Me=new f(0),ke=new f(1),ge=0;W.isEven()&&re.isEven();)W.iushrn(1),re.iushrn(1),++ge;for(var ie=re.clone(),Te=W.clone();!W.isZero();){for(var Ee=0,Ae=1;!(W.words[0]&Ae)&&Ee<26;++Ee,Ae<<=1);if(Ee>0)for(W.iushrn(Ee);Ee-- >0;)(ae.isOdd()||_e.isOdd())&&(ae.iadd(ie),_e.isub(Te)),ae.iushrn(1),_e.iushrn(1);for(var ze=0,Ce=1;!(re.words[0]&Ce)&&ze<26;++ze,Ce<<=1);if(ze>0)for(re.iushrn(ze);ze-- >0;)(Me.isOdd()||ke.isOdd())&&(Me.iadd(ie),ke.isub(Te)),Me.iushrn(1),ke.iushrn(1);W.cmp(re)>=0?(W.isub(re),ae.isub(Me),_e.isub(ke)):(re.isub(W),Me.isub(ae),ke.isub(_e))}return{a:Me,b:ke,gcd:re.iushln(ge)}},f.prototype._invmp=function(N){u(N.negative===0),u(!N.isZero());var W=this,re=N.clone();W.negative!==0?W=W.umod(N):W=W.clone();for(var ae=new f(1),_e=new f(0),Me=re.clone();W.cmpn(1)>0&&re.cmpn(1)>0;){for(var ke=0,ge=1;!(W.words[0]&ge)&&ke<26;++ke,ge<<=1);if(ke>0)for(W.iushrn(ke);ke-- >0;)ae.isOdd()&&ae.iadd(Me),ae.iushrn(1);for(var ie=0,Te=1;!(re.words[0]&Te)&&ie<26;++ie,Te<<=1);if(ie>0)for(re.iushrn(ie);ie-- >0;)_e.isOdd()&&_e.iadd(Me),_e.iushrn(1);W.cmp(re)>=0?(W.isub(re),ae.isub(_e)):(re.isub(W),_e.isub(ae))}var Ee;return W.cmpn(1)===0?Ee=ae:Ee=_e,Ee.cmpn(0)<0&&Ee.iadd(N),Ee},f.prototype.gcd=function(N){if(this.isZero())return N.abs();if(N.isZero())return this.abs();var W=this.clone(),re=N.clone();W.negative=0,re.negative=0;for(var ae=0;W.isEven()&&re.isEven();ae++)W.iushrn(1),re.iushrn(1);do{for(;W.isEven();)W.iushrn(1);for(;re.isEven();)re.iushrn(1);var _e=W.cmp(re);if(_e<0){var Me=W;W=re,re=Me}else if(_e===0||re.cmpn(1)===0)break;W.isub(re)}while(!0);return re.iushln(ae)},f.prototype.invm=function(N){return this.egcd(N).a.umod(N)},f.prototype.isEven=function(){return(this.words[0]&1)===0},f.prototype.isOdd=function(){return(this.words[0]&1)===1},f.prototype.andln=function(N){return this.words[0]&N},f.prototype.bincn=function(N){u(typeof N==\"number\");var W=N%26,re=(N-W)/26,ae=1<<W;if(this.length<=re)return this._expand(re+1),this.words[re]|=ae,this;for(var _e=ae,Me=re;_e!==0&&Me<this.length;Me++){var ke=this.words[Me]|0;ke+=_e,_e=ke>>>26,ke&=67108863,this.words[Me]=ke}return _e!==0&&(this.words[Me]=_e,this.length++),this},f.prototype.isZero=function(){return this.length===1&&this.words[0]===0},f.prototype.cmpn=function(N){var W=N<0;if(this.negative!==0&&!W)return-1;if(this.negative===0&&W)return 1;this.strip();var re;if(this.length>1)re=1;else{W&&(N=-N),u(N<=67108863,\"Number is too big\");var ae=this.words[0]|0;re=ae===N?0:ae<N?-1:1}return this.negative!==0?-re|0:re},f.prototype.cmp=function(N){if(this.negative!==0&&N.negative===0)return-1;if(this.negative===0&&N.negative!==0)return 1;var W=this.ucmp(N);return this.negative!==0?-W|0:W},f.prototype.ucmp=function(N){if(this.length>N.length)return 1;if(this.length<N.length)return-1;for(var W=0,re=this.length-1;re>=0;re--){var ae=this.words[re]|0,_e=N.words[re]|0;if(ae!==_e){ae<_e?W=-1:ae>_e&&(W=1);break}}return W},f.prototype.gtn=function(N){return this.cmpn(N)===1},f.prototype.gt=function(N){return this.cmp(N)===1},f.prototype.gten=function(N){return this.cmpn(N)>=0},f.prototype.gte=function(N){return this.cmp(N)>=0},f.prototype.ltn=function(N){return this.cmpn(N)===-1},f.prototype.lt=function(N){return this.cmp(N)===-1},f.prototype.lten=function(N){return this.cmpn(N)<=0},f.prototype.lte=function(N){return this.cmp(N)<=0},f.prototype.eqn=function(N){return this.cmpn(N)===0},f.prototype.eq=function(N){return this.cmp(N)===0},f.red=function(N){return new H(N)},f.prototype.toRed=function(N){return u(!this.red,\"Already a number in reduction context\"),u(this.negative===0,\"red works only with positives\"),N.convertTo(this)._forceRed(N)},f.prototype.fromRed=function(){return u(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},f.prototype._forceRed=function(N){return this.red=N,this},f.prototype.forceRed=function(N){return u(!this.red,\"Already a number in reduction context\"),this._forceRed(N)},f.prototype.redAdd=function(N){return u(this.red,\"redAdd works only with red numbers\"),this.red.add(this,N)},f.prototype.redIAdd=function(N){return u(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,N)},f.prototype.redSub=function(N){return u(this.red,\"redSub works only with red numbers\"),this.red.sub(this,N)},f.prototype.redISub=function(N){return u(this.red,\"redISub works only with red numbers\"),this.red.isub(this,N)},f.prototype.redShl=function(N){return u(this.red,\"redShl works only with red numbers\"),this.red.shl(this,N)},f.prototype.redMul=function(N){return u(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,N),this.red.mul(this,N)},f.prototype.redIMul=function(N){return u(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,N),this.red.imul(this,N)},f.prototype.redSqr=function(){return u(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},f.prototype.redISqr=function(){return u(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},f.prototype.redSqrt=function(){return u(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},f.prototype.redInvm=function(){return u(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},f.prototype.redNeg=function(){return u(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},f.prototype.redPow=function(N){return u(this.red&&!N.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,N)};var g={k256:null,p224:null,p192:null,p25519:null};function P(G,N){this.name=G,this.p=new f(N,16),this.n=this.p.bitLength(),this.k=new f(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}P.prototype._tmp=function(){var N=new f(null);return N.words=new Array(Math.ceil(this.n/13)),N},P.prototype.ireduce=function(N){var W=N,re;do this.split(W,this.tmp),W=this.imulK(W),W=W.iadd(this.tmp),re=W.bitLength();while(re>this.n);var ae=re<this.n?-1:W.ucmp(this.p);return ae===0?(W.words[0]=0,W.length=1):ae>0?W.isub(this.p):W.strip!==void 0?W.strip():W._strip(),W},P.prototype.split=function(N,W){N.iushrn(this.n,0,W)},P.prototype.imulK=function(N){return N.imul(this.k)};function T(){P.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}c(T,P),T.prototype.split=function(N,W){for(var re=4194303,ae=Math.min(N.length,9),_e=0;_e<ae;_e++)W.words[_e]=N.words[_e];if(W.length=ae,N.length<=9){N.words[0]=0,N.length=1;return}var Me=N.words[9];for(W.words[W.length++]=Me&re,_e=10;_e<N.length;_e++){var ke=N.words[_e]|0;N.words[_e-10]=(ke&re)<<4|Me>>>22,Me=ke}Me>>>=22,N.words[_e-10]=Me,Me===0&&N.length>10?N.length-=10:N.length-=9},T.prototype.imulK=function(N){N.words[N.length]=0,N.words[N.length+1]=0,N.length+=2;for(var W=0,re=0;re<N.length;re++){var ae=N.words[re]|0;W+=ae*977,N.words[re]=W&67108863,W=ae*64+(W/67108864|0)}return N.words[N.length-1]===0&&(N.length--,N.words[N.length-1]===0&&N.length--),N};function F(){P.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}c(F,P);function q(){P.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}c(q,P);function V(){P.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}c(V,P),V.prototype.imulK=function(N){for(var W=0,re=0;re<N.length;re++){var ae=(N.words[re]|0)*19+W,_e=ae&67108863;ae>>>=26,N.words[re]=_e,W=ae}return W!==0&&(N.words[N.length++]=W),N},f._prime=function(N){if(g[N])return g[N];var W;if(N===\"k256\")W=new T;else if(N===\"p224\")W=new F;else if(N===\"p192\")W=new q;else if(N===\"p25519\")W=new V;else throw new Error(\"Unknown prime \"+N);return g[N]=W,W};function H(G){if(typeof G==\"string\"){var N=f._prime(G);this.m=N.p,this.prime=N}else u(G.gtn(1),\"modulus must be greater than 1\"),this.m=G,this.prime=null}H.prototype._verify1=function(N){u(N.negative===0,\"red works only with positives\"),u(N.red,\"red works only with red numbers\")},H.prototype._verify2=function(N,W){u((N.negative|W.negative)===0,\"red works only with positives\"),u(N.red&&N.red===W.red,\"red works only with red numbers\")},H.prototype.imod=function(N){return this.prime?this.prime.ireduce(N)._forceRed(this):N.umod(this.m)._forceRed(this)},H.prototype.neg=function(N){return N.isZero()?N.clone():this.m.sub(N)._forceRed(this)},H.prototype.add=function(N,W){this._verify2(N,W);var re=N.add(W);return re.cmp(this.m)>=0&&re.isub(this.m),re._forceRed(this)},H.prototype.iadd=function(N,W){this._verify2(N,W);var re=N.iadd(W);return re.cmp(this.m)>=0&&re.isub(this.m),re},H.prototype.sub=function(N,W){this._verify2(N,W);var re=N.sub(W);return re.cmpn(0)<0&&re.iadd(this.m),re._forceRed(this)},H.prototype.isub=function(N,W){this._verify2(N,W);var re=N.isub(W);return re.cmpn(0)<0&&re.iadd(this.m),re},H.prototype.shl=function(N,W){return this._verify1(N),this.imod(N.ushln(W))},H.prototype.imul=function(N,W){return this._verify2(N,W),this.imod(N.imul(W))},H.prototype.mul=function(N,W){return this._verify2(N,W),this.imod(N.mul(W))},H.prototype.isqr=function(N){return this.imul(N,N.clone())},H.prototype.sqr=function(N){return this.mul(N,N)},H.prototype.sqrt=function(N){if(N.isZero())return N.clone();var W=this.m.andln(3);if(u(W%2===1),W===3){var re=this.m.add(new f(1)).iushrn(2);return this.pow(N,re)}for(var ae=this.m.subn(1),_e=0;!ae.isZero()&&ae.andln(1)===0;)_e++,ae.iushrn(1);u(!ae.isZero());var Me=new f(1).toRed(this),ke=Me.redNeg(),ge=this.m.subn(1).iushrn(1),ie=this.m.bitLength();for(ie=new f(2*ie*ie).toRed(this);this.pow(ie,ge).cmp(ke)!==0;)ie.redIAdd(ke);for(var Te=this.pow(ie,ae),Ee=this.pow(N,ae.addn(1).iushrn(1)),Ae=this.pow(N,ae),ze=_e;Ae.cmp(Me)!==0;){for(var Ce=Ae,me=0;Ce.cmp(Me)!==0;me++)Ce=Ce.redSqr();u(me<ze);var Re=this.pow(Te,new f(1).iushln(ze-me-1));Ee=Ee.redMul(Re),Te=Re.redSqr(),Ae=Ae.redMul(Te),ze=me}return Ee},H.prototype.invm=function(N){var W=N._invmp(this.m);return W.negative!==0?(W.negative=0,this.imod(W).redNeg()):this.imod(W)},H.prototype.pow=function(N,W){if(W.isZero())return new f(1).toRed(this);if(W.cmpn(1)===0)return N.clone();var re=4,ae=new Array(1<<re);ae[0]=new f(1).toRed(this),ae[1]=N;for(var _e=2;_e<ae.length;_e++)ae[_e]=this.mul(ae[_e-1],N);var Me=ae[0],ke=0,ge=0,ie=W.bitLength()%26;for(ie===0&&(ie=26),_e=W.length-1;_e>=0;_e--){for(var Te=W.words[_e],Ee=ie-1;Ee>=0;Ee--){var Ae=Te>>Ee&1;if(Me!==ae[0]&&(Me=this.sqr(Me)),Ae===0&&ke===0){ge=0;continue}ke<<=1,ke|=Ae,ge++,!(ge!==re&&(_e!==0||Ee!==0))&&(Me=this.mul(Me,ae[ke]),ge=0,ke=0)}ie=26}return Me},H.prototype.convertTo=function(N){var W=N.umod(this.m);return W===N?W.clone():W},H.prototype.convertFrom=function(N){var W=N.clone();return W.red=null,W},f.mont=function(N){return new X(N)};function X(G){H.call(this,G),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new f(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)}c(X,H),X.prototype.convertTo=function(N){return this.imod(N.ushln(this.shift))},X.prototype.convertFrom=function(N){var W=this.imod(N.mul(this.rinv));return W.red=null,W},X.prototype.imul=function(N,W){if(N.isZero()||W.isZero())return N.words[0]=0,N.length=1,N;var re=N.imul(W),ae=re.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_e=re.isub(ae).iushrn(this.shift),Me=_e;return _e.cmp(this.m)>=0?Me=_e.isub(this.m):_e.cmpn(0)<0&&(Me=_e.iadd(this.m)),Me._forceRed(this)},X.prototype.mul=function(N,W){if(N.isZero()||W.isZero())return new f(0)._forceRed(this);var re=N.mul(W),ae=re.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_e=re.isub(ae).iushrn(this.shift),Me=_e;return _e.cmp(this.m)>=0?Me=_e.isub(this.m):_e.cmpn(0)<0&&(Me=_e.iadd(this.m)),Me._forceRed(this)},X.prototype.invm=function(N){var W=this.imod(N._invmp(this.m).mul(this.r2));return W._forceRed(this)}}(i,this)},6204:function(i){\"use strict\";i.exports=a;function a(o){var s,l,u,c=o.length,f=0;for(s=0;s<c;++s)f+=o[s].length;var h=new Array(f),d=0;for(s=0;s<c;++s){var v=o[s],x=v.length;for(l=0;l<x;++l){var b=h[d++]=new Array(x-1),p=0;for(u=0;u<x;++u)u!==l&&(b[p++]=v[u]);if(l&1){var E=b[1];b[1]=b[0],b[0]=E}}}return h}},6867:function(i,a,o){\"use strict\";i.exports=p;var s=o(1888),l=o(855),u=o(7150);function c(E,k){for(var A=0;A<E;++A)if(!(k[A]<=k[A+E]))return!0;return!1}function f(E,k,A,L){for(var _=0,C=0,M=0,g=E.length;M<g;++M){var P=E[M];if(!c(k,P)){for(var T=0;T<2*k;++T)A[_++]=P[T];L[C++]=M}}return C}function h(E,k,A,L){var _=E.length,C=k.length;if(!(_<=0||C<=0)){var M=E[0].length>>>1;if(!(M<=0)){var g,P=s.mallocDouble(2*M*_),T=s.mallocInt32(_);if(_=f(E,M,P,T),_>0){if(M===1&&L)l.init(_),g=l.sweepComplete(M,A,0,_,P,T,0,_,P,T);else{var F=s.mallocDouble(2*M*C),q=s.mallocInt32(C);C=f(k,M,F,q),C>0&&(l.init(_+C),M===1?g=l.sweepBipartite(M,A,0,_,P,T,0,C,F,q):g=u(M,A,L,_,P,T,C,F,q),s.free(F),s.free(q))}s.free(P),s.free(T)}return g}}}var d;function v(E,k){d.push([E,k])}function x(E){return d=[],h(E,E,v,!0),d}function b(E,k){return d=[],h(E,k,v,!1),d}function p(E,k,A){switch(arguments.length){case 1:return x(E);case 2:return typeof k==\"function\"?h(E,E,k,!0):b(E,k);case 3:return h(E,k,A,!1);default:throw new Error(\"box-intersect: Invalid arguments\")}}},2455:function(i,a){\"use strict\";function o(){function u(h,d,v,x,b,p,E,k,A,L,_){for(var C=2*h,M=x,g=C*x;M<b;++M,g+=C){var P=p[d+g],T=p[d+g+h],F=E[M];e:for(var q=k,V=C*k;q<A;++q,V+=C){var H=L[d+V],X=L[d+V+h],G=_[q];if(!(X<P||T<H)){for(var N=d+1;N<h;++N){var W=p[N+g],re=p[N+h+g],ae=L[N+V],_e=L[N+h+V];if(re<ae||_e<W)continue e}var Me=v(F,G);if(Me!==void 0)return Me}}}}function c(h,d,v,x,b,p,E,k,A,L,_){for(var C=2*h,M=k,g=C*k;M<A;++M,g+=C){var P=L[d+g],T=L[d+g+h],F=_[M];e:for(var q=x,V=C*x;q<b;++q,V+=C){var H=p[d+V],X=p[d+V+h],G=E[q];if(!(T<H||X<P)){for(var N=d+1;N<h;++N){var W=p[N+V],re=p[N+h+V],ae=L[N+g],_e=L[N+h+g];if(re<ae||_e<W)continue e}var Me=v(G,F);if(Me!==void 0)return Me}}}}function f(h,d,v,x,b,p,E,k,A,L,_){return b-x>A-k?u(h,d,v,x,b,p,E,k,A,L,_):c(h,d,v,x,b,p,E,k,A,L,_)}return f}function s(){function u(v,x,b,p,E,k,A,L,_,C,M){for(var g=2*v,P=p,T=g*p;P<E;++P,T+=g){var F=k[x+T],q=k[x+T+v],V=A[P];e:for(var H=L,X=g*L;H<_;++H,X+=g){var G=C[x+X],N=M[H];if(!(G<=F||q<G)){for(var W=x+1;W<v;++W){var re=k[W+T],ae=k[W+v+T],_e=C[W+X],Me=C[W+v+X];if(ae<_e||Me<re)continue e}var ke=b(N,V);if(ke!==void 0)return ke}}}}function c(v,x,b,p,E,k,A,L,_,C,M){for(var g=2*v,P=p,T=g*p;P<E;++P,T+=g){var F=k[x+T],q=k[x+T+v],V=A[P];e:for(var H=L,X=g*L;H<_;++H,X+=g){var G=C[x+X],N=M[H];if(!(G<F||q<G)){for(var W=x+1;W<v;++W){var re=k[W+T],ae=k[W+v+T],_e=C[W+X],Me=C[W+v+X];if(ae<_e||Me<re)continue e}var ke=b(V,N);if(ke!==void 0)return ke}}}}function f(v,x,b,p,E,k,A,L,_,C,M){for(var g=2*v,P=L,T=g*L;P<_;++P,T+=g){var F=C[x+T],q=M[P];e:for(var V=p,H=g*p;V<E;++V,H+=g){var X=k[x+H],G=k[x+H+v],N=A[V];if(!(F<=X||G<F)){for(var W=x+1;W<v;++W){var re=k[W+H],ae=k[W+v+H],_e=C[W+T],Me=C[W+v+T];if(ae<_e||Me<re)continue e}var ke=b(q,N);if(ke!==void 0)return ke}}}}function h(v,x,b,p,E,k,A,L,_,C,M){for(var g=2*v,P=L,T=g*L;P<_;++P,T+=g){var F=C[x+T],q=M[P];e:for(var V=p,H=g*p;V<E;++V,H+=g){var X=k[x+H],G=k[x+H+v],N=A[V];if(!(F<X||G<F)){for(var W=x+1;W<v;++W){var re=k[W+H],ae=k[W+v+H],_e=C[W+T],Me=C[W+v+T];if(ae<_e||Me<re)continue e}var ke=b(N,q);if(ke!==void 0)return ke}}}}function d(v,x,b,p,E,k,A,L,_,C,M,g){return k-E>C-_?p?u(v,x,b,E,k,A,L,_,C,M,g):c(v,x,b,E,k,A,L,_,C,M,g):p?f(v,x,b,E,k,A,L,_,C,M,g):h(v,x,b,E,k,A,L,_,C,M,g)}return d}function l(u){return u?o():s()}a.partial=l(!1),a.full=l(!0)},7150:function(i,a,o){\"use strict\";i.exports=G;var s=o(1888),l=o(8828),u=o(2455),c=u.partial,f=u.full,h=o(855),d=o(3545),v=o(8105),x=128,b=1<<22,p=1<<22,E=v(\"!(lo>=p0)&&!(p1>=hi)\"),k=v(\"lo===p0\"),A=v(\"lo<p0\"),L=v(\"hi<=p0\"),_=v(\"lo<=p0&&p0<=hi\"),C=v(\"lo<p0&&p0<=hi\"),M=6,g=2,P=1024,T=s.mallocInt32(P),F=s.mallocDouble(P);function q(N,W){var re=8*l.log2(W+1)*(N+1)|0,ae=l.nextPow2(M*re);T.length<ae&&(s.free(T),T=s.mallocInt32(ae));var _e=l.nextPow2(g*re);F.length<_e&&(s.free(F),F=s.mallocDouble(_e))}function V(N,W,re,ae,_e,Me,ke,ge,ie){var Te=M*N;T[Te]=W,T[Te+1]=re,T[Te+2]=ae,T[Te+3]=_e,T[Te+4]=Me,T[Te+5]=ke;var Ee=g*N;F[Ee]=ge,F[Ee+1]=ie}function H(N,W,re,ae,_e,Me,ke,ge,ie,Te,Ee){var Ae=2*N,ze=ie*Ae,Ce=Te[ze+W];e:for(var me=_e,Re=_e*Ae;me<Me;++me,Re+=Ae){var ce=ke[Re+W],Ge=ke[Re+W+N];if(!(Ce<ce||Ge<Ce)&&!(ae&&Ce===ce)){for(var nt=ge[me],ct=W+1;ct<N;++ct){var ce=ke[Re+ct],Ge=ke[Re+ct+N],qt=Te[ze+ct],rt=Te[ze+ct+N];if(Ge<qt||rt<ce)continue e}var ot;if(ae?ot=re(Ee,nt):ot=re(nt,Ee),ot!==void 0)return ot}}}function X(N,W,re,ae,_e,Me,ke,ge,ie,Te){var Ee=2*N,Ae=ge*Ee,ze=ie[Ae+W];e:for(var Ce=ae,me=ae*Ee;Ce<_e;++Ce,me+=Ee){var Re=ke[Ce];if(Re!==Te){var ce=Me[me+W],Ge=Me[me+W+N];if(!(ze<ce||Ge<ze)){for(var nt=W+1;nt<N;++nt){var ce=Me[me+nt],Ge=Me[me+nt+N],ct=ie[Ae+nt],qt=ie[Ae+nt+N];if(Ge<ct||qt<ce)continue e}var rt=re(Re,Te);if(rt!==void 0)return rt}}}}function G(N,W,re,ae,_e,Me,ke,ge,ie){q(N,ae+ke);var Te=0,Ee=2*N,Ae;for(V(Te++,0,0,ae,0,ke,re?16:0,-1/0,1/0),re||V(Te++,0,0,ke,0,ae,1,-1/0,1/0);Te>0;){Te-=1;var ze=Te*M,Ce=T[ze],me=T[ze+1],Re=T[ze+2],ce=T[ze+3],Ge=T[ze+4],nt=T[ze+5],ct=Te*g,qt=F[ct],rt=F[ct+1],ot=nt&1,Rt=!!(nt&16),kt=_e,Ct=Me,Yt=ge,xr=ie;if(ot&&(kt=ge,Ct=ie,Yt=_e,xr=Me),!(nt&2&&(Re=A(N,Ce,me,Re,kt,Ct,rt),me>=Re))&&!(nt&4&&(me=L(N,Ce,me,Re,kt,Ct,qt),me>=Re))){var er=Re-me,Ke=Ge-ce;if(Rt){if(N*er*(er+Ke)<p){if(Ae=h.scanComplete(N,Ce,W,me,Re,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae;continue}}else if(N*Math.min(er,Ke)<x){if(Ae=c(N,Ce,W,ot,me,Re,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae;continue}else if(N*er*Ke<b){if(Ae=h.scanBipartite(N,Ce,W,ot,me,Re,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae;continue}var xt=E(N,Ce,me,Re,kt,Ct,qt,rt);if(me<xt)if(N*(xt-me)<x){if(Ae=f(N,Ce+1,W,me,xt,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae}else if(Ce===N-2){if(ot?Ae=h.sweepBipartite(N,W,ce,Ge,Yt,xr,me,xt,kt,Ct):Ae=h.sweepBipartite(N,W,me,xt,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae}else V(Te++,Ce+1,me,xt,ce,Ge,ot,-1/0,1/0),V(Te++,Ce+1,ce,Ge,me,xt,ot^1,-1/0,1/0);if(xt<Re){var bt=d(N,Ce,ce,Ge,Yt,xr),Lt=Yt[Ee*bt+Ce],St=k(N,Ce,bt,Ge,Yt,xr,Lt);if(St<Ge&&V(Te++,Ce,xt,Re,St,Ge,(ot|4)+(Rt?16:0),Lt,rt),ce<bt&&V(Te++,Ce,xt,Re,ce,bt,(ot|2)+(Rt?16:0),qt,Lt),bt+1===St){if(Rt?Ae=X(N,Ce,W,xt,Re,kt,Ct,bt,Yt,xr[bt]):Ae=H(N,Ce,W,ot,xt,Re,kt,Ct,bt,Yt,xr[bt]),Ae!==void 0)return Ae}else if(bt<St){var Et;if(Rt){if(Et=_(N,Ce,xt,Re,kt,Ct,Lt),xt<Et){var dt=k(N,Ce,xt,Et,kt,Ct,Lt);if(Ce===N-2){if(xt<dt&&(Ae=h.sweepComplete(N,W,xt,dt,kt,Ct,bt,St,Yt,xr),Ae!==void 0)||dt<Et&&(Ae=h.sweepBipartite(N,W,dt,Et,kt,Ct,bt,St,Yt,xr),Ae!==void 0))return Ae}else xt<dt&&V(Te++,Ce+1,xt,dt,bt,St,16,-1/0,1/0),dt<Et&&(V(Te++,Ce+1,dt,Et,bt,St,0,-1/0,1/0),V(Te++,Ce+1,bt,St,dt,Et,1,-1/0,1/0))}}else ot?Et=C(N,Ce,xt,Re,kt,Ct,Lt):Et=_(N,Ce,xt,Re,kt,Ct,Lt),xt<Et&&(Ce===N-2?ot?Ae=h.sweepBipartite(N,W,bt,St,Yt,xr,xt,Et,kt,Ct):Ae=h.sweepBipartite(N,W,xt,Et,kt,Ct,bt,St,Yt,xr):(V(Te++,Ce+1,xt,Et,bt,St,ot,-1/0,1/0),V(Te++,Ce+1,bt,St,xt,Et,ot^1,-1/0,1/0)))}}}}}},3545:function(i,a,o){\"use strict\";i.exports=f;var s=o(8105),l=s(\"lo<p0\"),u=8;function c(h,d,v,x,b,p){for(var E=2*h,k=E*(v+1)+d,A=v+1;A<x;++A,k+=E)for(var L=b[k],_=A,C=E*(A-1);_>v&&b[C+d]>L;--_,C-=E){for(var M=C,g=C+E,P=0;P<E;++P,++M,++g){var T=b[M];b[M]=b[g],b[g]=T}var F=p[_];p[_]=p[_-1],p[_-1]=F}}function f(h,d,v,x,b,p){if(x<=v+1)return v;for(var E=v,k=x,A=x+v>>>1,L=2*h,_=A,C=b[L*A+d];E<k;){if(k-E<u){c(h,d,E,k,b,p),C=b[L*A+d];break}var M=k-E,g=Math.random()*M+E|0,P=b[L*g+d],T=Math.random()*M+E|0,F=b[L*T+d],q=Math.random()*M+E|0,V=b[L*q+d];P<=F?V>=F?(_=T,C=F):P>=V?(_=g,C=P):(_=q,C=V):F>=V?(_=T,C=F):V>=P?(_=g,C=P):(_=q,C=V);for(var G=L*(k-1),N=L*_,H=0;H<L;++H,++G,++N){var X=b[G];b[G]=b[N],b[N]=X}var W=p[k-1];p[k-1]=p[_],p[_]=W,_=l(h,d,E,k-1,b,p,C);for(var G=L*(k-1),N=L*_,H=0;H<L;++H,++G,++N){var X=b[G];b[G]=b[N],b[N]=X}var W=p[k-1];if(p[k-1]=p[_],p[_]=W,A<_){for(k=_-1;E<k&&b[L*(k-1)+d]===C;)k-=1;k+=1}else if(_<A)for(E=_+1;E<k&&b[L*E+d]===C;)E+=1;else break}return l(h,d,v,A,b,p,b[L*A+d])}},8105:function(i){\"use strict\";i.exports=o;var a={\"lo===p0\":s,\"lo<p0\":l,\"lo<=p0\":u,\"hi<=p0\":c,\"lo<p0&&p0<=hi\":h,\"lo<=p0&&p0<=hi\":f,\"!(lo>=p0)&&!(p1>=hi)\":d};function o(v){return a[v]}function s(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+g];if(F===A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function l(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+g];if(F<A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function u(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+P];if(F<=A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function c(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+P];if(F<=A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function f(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+g],q=E[_+P];if(F<=A&&A<=q)if(M===T)M+=1,C+=L;else{for(var V=0;L>V;++V){var H=E[_+V];E[_+V]=E[C],E[C++]=H}var X=k[T];k[T]=k[M],k[M++]=X}}return M}function h(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+g],q=E[_+P];if(F<A&&A<=q)if(M===T)M+=1,C+=L;else{for(var V=0;L>V;++V){var H=E[_+V];E[_+V]=E[C],E[C++]=H}var X=k[T];k[T]=k[M],k[M++]=X}}return M}function d(v,x,b,p,E,k,A,L){for(var _=2*v,C=_*b,M=C,g=b,P=x,T=v+x,F=b;p>F;++F,C+=_){var q=E[C+P],V=E[C+T];if(!(q>=A)&&!(L>=V))if(g===F)g+=1,M+=_;else{for(var H=0;_>H;++H){var X=E[C+H];E[C+H]=E[M],E[M++]=X}var G=k[F];k[F]=k[g],k[g++]=G}}return g}},4192:function(i){\"use strict\";i.exports=o;var a=32;function o(x,b){b<=4*a?s(0,b-1,x):v(0,b-1,x)}function s(x,b,p){for(var E=2*(x+1),k=x+1;k<=b;++k){for(var A=p[E++],L=p[E++],_=k,C=E-2;_-- >x;){var M=p[C-2],g=p[C-1];if(M<A)break;if(M===A&&g<L)break;p[C]=M,p[C+1]=g,C-=2}p[C]=A,p[C+1]=L}}function l(x,b,p){x*=2,b*=2;var E=p[x],k=p[x+1];p[x]=p[b],p[x+1]=p[b+1],p[b]=E,p[b+1]=k}function u(x,b,p){x*=2,b*=2,p[x]=p[b],p[x+1]=p[b+1]}function c(x,b,p,E){x*=2,b*=2,p*=2;var k=E[x],A=E[x+1];E[x]=E[b],E[x+1]=E[b+1],E[b]=E[p],E[b+1]=E[p+1],E[p]=k,E[p+1]=A}function f(x,b,p,E,k){x*=2,b*=2,k[x]=k[b],k[b]=p,k[x+1]=k[b+1],k[b+1]=E}function h(x,b,p){x*=2,b*=2;var E=p[x],k=p[b];return E<k?!1:E===k?p[x+1]>p[b+1]:!0}function d(x,b,p,E){x*=2;var k=E[x];return k<b?!0:k===b?E[x+1]<p:!1}function v(x,b,p){var E=(b-x+1)/6|0,k=x+E,A=b-E,L=x+b>>1,_=L-E,C=L+E,M=k,g=_,P=L,T=C,F=A,q=x+1,V=b-1,H=0;h(M,g,p)&&(H=M,M=g,g=H),h(T,F,p)&&(H=T,T=F,F=H),h(M,P,p)&&(H=M,M=P,P=H),h(g,P,p)&&(H=g,g=P,P=H),h(M,T,p)&&(H=M,M=T,T=H),h(P,T,p)&&(H=P,P=T,T=H),h(g,F,p)&&(H=g,g=F,F=H),h(g,P,p)&&(H=g,g=P,P=H),h(T,F,p)&&(H=T,T=F,F=H);for(var X=p[2*g],G=p[2*g+1],N=p[2*T],W=p[2*T+1],re=2*M,ae=2*P,_e=2*F,Me=2*k,ke=2*L,ge=2*A,ie=0;ie<2;++ie){var Te=p[re+ie],Ee=p[ae+ie],Ae=p[_e+ie];p[Me+ie]=Te,p[ke+ie]=Ee,p[ge+ie]=Ae}u(_,x,p),u(C,b,p);for(var ze=q;ze<=V;++ze)if(d(ze,X,G,p))ze!==q&&l(ze,q,p),++q;else if(!d(ze,N,W,p))for(;;)if(d(V,N,W,p)){d(V,X,G,p)?(c(ze,q,V,p),++q,--V):(l(ze,V,p),--V);break}else{if(--V<ze)break;continue}f(x,q-1,X,G,p),f(b,V+1,N,W,p),q-2-x<=a?s(x,q-2,p):v(x,q-2,p),b-(V+2)<=a?s(V+2,b,p):v(V+2,b,p),V-q<=a?s(q,V,p):v(q,V,p)}},855:function(i,a,o){\"use strict\";i.exports={init:k,sweepBipartite:_,sweepComplete:C,scanBipartite:M,scanComplete:g};var s=o(1888),l=o(8828),u=o(4192),c=1<<28,f=1024,h=s.mallocInt32(f),d=s.mallocInt32(f),v=s.mallocInt32(f),x=s.mallocInt32(f),b=s.mallocInt32(f),p=s.mallocInt32(f),E=s.mallocDouble(f*8);function k(P){var T=l.nextPow2(P);h.length<T&&(s.free(h),h=s.mallocInt32(T)),d.length<T&&(s.free(d),d=s.mallocInt32(T)),v.length<T&&(s.free(v),v=s.mallocInt32(T)),x.length<T&&(s.free(x),x=s.mallocInt32(T)),b.length<T&&(s.free(b),b=s.mallocInt32(T)),p.length<T&&(s.free(p),p=s.mallocInt32(T));var F=8*T;E.length<F&&(s.free(E),E=s.mallocDouble(F))}function A(P,T,F,q){var V=T[q],H=P[F-1];P[V]=H,T[H]=V}function L(P,T,F,q){P[F]=q,T[q]=F}function _(P,T,F,q,V,H,X,G,N,W){for(var re=0,ae=2*P,_e=P-1,Me=ae-1,ke=F;ke<q;++ke){var ge=H[ke],ie=ae*ke;E[re++]=V[ie+_e],E[re++]=-(ge+1),E[re++]=V[ie+Me],E[re++]=ge}for(var ke=X;ke<G;++ke){var ge=W[ke]+c,Te=ae*ke;E[re++]=N[Te+_e],E[re++]=-ge,E[re++]=N[Te+Me],E[re++]=ge}var Ee=re>>>1;u(E,Ee);for(var Ae=0,ze=0,ke=0;ke<Ee;++ke){var Ce=E[2*ke+1]|0;if(Ce>=c)Ce=Ce-c|0,A(v,x,ze--,Ce);else if(Ce>=0)A(h,d,Ae--,Ce);else if(Ce<=-c){Ce=-Ce-c|0;for(var me=0;me<Ae;++me){var Re=T(h[me],Ce);if(Re!==void 0)return Re}L(v,x,ze++,Ce)}else{Ce=-Ce-1|0;for(var me=0;me<ze;++me){var Re=T(Ce,v[me]);if(Re!==void 0)return Re}L(h,d,Ae++,Ce)}}}function C(P,T,F,q,V,H,X,G,N,W){for(var re=0,ae=2*P,_e=P-1,Me=ae-1,ke=F;ke<q;++ke){var ge=H[ke]+1<<1,ie=ae*ke;E[re++]=V[ie+_e],E[re++]=-ge,E[re++]=V[ie+Me],E[re++]=ge}for(var ke=X;ke<G;++ke){var ge=W[ke]+1<<1,Te=ae*ke;E[re++]=N[Te+_e],E[re++]=-ge|1,E[re++]=N[Te+Me],E[re++]=ge|1}var Ee=re>>>1;u(E,Ee);for(var Ae=0,ze=0,Ce=0,ke=0;ke<Ee;++ke){var me=E[2*ke+1]|0,Re=me&1;if(ke<Ee-1&&me>>1===E[2*ke+3]>>1&&(Re=2,ke+=1),me<0){for(var ce=-(me>>1)-1,Ge=0;Ge<Ce;++Ge){var nt=T(b[Ge],ce);if(nt!==void 0)return nt}if(Re!==0)for(var Ge=0;Ge<Ae;++Ge){var nt=T(h[Ge],ce);if(nt!==void 0)return nt}if(Re!==1)for(var Ge=0;Ge<ze;++Ge){var nt=T(v[Ge],ce);if(nt!==void 0)return nt}Re===0?L(h,d,Ae++,ce):Re===1?L(v,x,ze++,ce):Re===2&&L(b,p,Ce++,ce)}else{var ce=(me>>1)-1;Re===0?A(h,d,Ae--,ce):Re===1?A(v,x,ze--,ce):Re===2&&A(b,p,Ce--,ce)}}}function M(P,T,F,q,V,H,X,G,N,W,re,ae){var _e=0,Me=2*P,ke=T,ge=T+P,ie=1,Te=1;q?Te=c:ie=c;for(var Ee=V;Ee<H;++Ee){var Ae=Ee+ie,ze=Me*Ee;E[_e++]=X[ze+ke],E[_e++]=-Ae,E[_e++]=X[ze+ge],E[_e++]=Ae}for(var Ee=N;Ee<W;++Ee){var Ae=Ee+Te,Ce=Me*Ee;E[_e++]=re[Ce+ke],E[_e++]=-Ae}var me=_e>>>1;u(E,me);for(var Re=0,Ee=0;Ee<me;++Ee){var ce=E[2*Ee+1]|0;if(ce<0){var Ae=-ce,Ge=!1;if(Ae>=c?(Ge=!q,Ae-=c):(Ge=!!q,Ae-=1),Ge)L(h,d,Re++,Ae);else{var nt=ae[Ae],ct=Me*Ae,qt=re[ct+T+1],rt=re[ct+T+1+P];e:for(var ot=0;ot<Re;++ot){var Rt=h[ot],kt=Me*Rt;if(!(rt<X[kt+T+1]||X[kt+T+1+P]<qt)){for(var Ct=T+2;Ct<P;++Ct)if(re[ct+Ct+P]<X[kt+Ct]||X[kt+Ct+P]<re[ct+Ct])continue e;var Yt=G[Rt],xr;if(q?xr=F(nt,Yt):xr=F(Yt,nt),xr!==void 0)return xr}}}}else A(h,d,Re--,ce-ie)}}function g(P,T,F,q,V,H,X,G,N,W,re){for(var ae=0,_e=2*P,Me=T,ke=T+P,ge=q;ge<V;++ge){var ie=ge+c,Te=_e*ge;E[ae++]=H[Te+Me],E[ae++]=-ie,E[ae++]=H[Te+ke],E[ae++]=ie}for(var ge=G;ge<N;++ge){var ie=ge+1,Ee=_e*ge;E[ae++]=W[Ee+Me],E[ae++]=-ie}var Ae=ae>>>1;u(E,Ae);for(var ze=0,ge=0;ge<Ae;++ge){var Ce=E[2*ge+1]|0;if(Ce<0){var ie=-Ce;if(ie>=c)h[ze++]=ie-c;else{ie-=1;var me=re[ie],Re=_e*ie,ce=W[Re+T+1],Ge=W[Re+T+1+P];e:for(var nt=0;nt<ze;++nt){var ct=h[nt],qt=X[ct];if(qt===me)break;var rt=_e*ct;if(!(Ge<H[rt+T+1]||H[rt+T+1+P]<ce)){for(var ot=T+2;ot<P;++ot)if(W[Re+ot+P]<H[rt+ot]||H[rt+ot+P]<W[Re+ot])continue e;var Rt=F(qt,me);if(Rt!==void 0)return Rt}}}}else{for(var ie=Ce-c,nt=ze-1;nt>=0;--nt)if(h[nt]===ie){for(var ot=nt+1;ot<ze;++ot)h[ot-1]=h[ot];break}--ze}}}},2538:function(i,a,o){\"use strict\";var s=o(8902),l=o(5542),u=o(2272),c=o(5023);i.exports=x;function f(b){return[Math.min(b[0],b[1]),Math.max(b[0],b[1])]}function h(b,p){return b[0]-p[0]||b[1]-p[1]}function d(b){return b.map(f).sort(h)}function v(b,p,E){return p in b?b[p]:E}function x(b,p,E){Array.isArray(p)?(E=E||{},p=p||[]):(E=p||{},p=[]);var k=!!v(E,\"delaunay\",!0),A=!!v(E,\"interior\",!0),L=!!v(E,\"exterior\",!0),_=!!v(E,\"infinity\",!1);if(!A&&!L||b.length===0)return[];var C=s(b,p);if(k||A!==L||_){for(var M=l(b.length,d(p)),g=0;g<C.length;++g){var P=C[g];M.addTriangle(P[0],P[1],P[2])}return k&&u(b,M),L?A?_?c(M,0,_):M.cells():c(M,1,_):c(M,-1)}else return C}},2272:function(i,a,o){\"use strict\";var s=o(2646)[4],l=o(2478);i.exports=c;function u(f,h,d,v,x,b){var p=h.opposite(v,x);if(!(p<0)){if(x<v){var E=v;v=x,x=E,E=b,b=p,p=E}h.isConstraint(v,x)||s(f[v],f[x],f[b],f[p])<0&&d.push(v,x)}}function c(f,h){for(var d=[],v=f.length,x=h.stars,b=0;b<v;++b)for(var p=x[b],E=1;E<p.length;E+=2){var k=p[E];if(!(k<b)&&!h.isConstraint(b,k)){for(var A=p[E-1],L=-1,_=1;_<p.length;_+=2)if(p[_-1]===k){L=p[_];break}L<0||s(f[b],f[k],f[A],f[L])<0&&d.push(b,k)}}for(;d.length>0;){for(var k=d.pop(),b=d.pop(),A=-1,L=-1,p=x[b],C=1;C<p.length;C+=2){var M=p[C-1],g=p[C];M===k?L=g:g===k&&(A=M)}A<0||L<0||s(f[b],f[k],f[A],f[L])>=0||(h.flip(b,k),u(f,h,d,A,b,L),u(f,h,d,b,L,A),u(f,h,d,L,k,A),u(f,h,d,k,A,L))}}},5023:function(i,a,o){\"use strict\";var s=o(2478);i.exports=d;function l(v,x,b,p,E,k,A){this.cells=v,this.neighbor=x,this.flags=p,this.constraint=b,this.active=E,this.next=k,this.boundary=A}var u=l.prototype;function c(v,x){return v[0]-x[0]||v[1]-x[1]||v[2]-x[2]}u.locate=function(){var v=[0,0,0];return function(x,b,p){var E=x,k=b,A=p;return b<p?b<x&&(E=b,k=p,A=x):p<x&&(E=p,k=x,A=b),E<0?-1:(v[0]=E,v[1]=k,v[2]=A,s.eq(this.cells,v,c))}}();function f(v,x){for(var b=v.cells(),p=b.length,E=0;E<p;++E){var k=b[E],A=k[0],L=k[1],_=k[2];L<_?L<A&&(k[0]=L,k[1]=_,k[2]=A):_<A&&(k[0]=_,k[1]=A,k[2]=L)}b.sort(c);for(var C=new Array(p),E=0;E<C.length;++E)C[E]=0;var M=[],g=[],P=new Array(3*p),T=new Array(3*p),F=null;x&&(F=[]);for(var q=new l(b,P,T,C,M,g,F),E=0;E<p;++E)for(var k=b[E],V=0;V<3;++V){var A=k[V],L=k[(V+1)%3],H=P[3*E+V]=q.locate(L,A,v.opposite(L,A)),X=T[3*E+V]=v.isConstraint(A,L);H<0&&(X?g.push(E):(M.push(E),C[E]=1),x&&F.push([L,A,-1]))}return q}function h(v,x,b){for(var p=0,E=0;E<v.length;++E)x[E]===b&&(v[p++]=v[E]);return v.length=p,v}function d(v,x,b){var p=f(v,b);if(x===0)return b?p.cells.concat(p.boundary):p.cells;for(var E=1,k=p.active,A=p.next,L=p.flags,_=p.cells,C=p.constraint,M=p.neighbor;k.length>0||A.length>0;){for(;k.length>0;){var g=k.pop();if(L[g]!==-E){L[g]=E;for(var P=_[g],T=0;T<3;++T){var F=M[3*g+T];F>=0&&L[F]===0&&(C[3*g+T]?A.push(F):(k.push(F),L[F]=E))}}}var q=A;A=k,k=q,A.length=0,E=-E}var V=h(_,L,x);return b?V.concat(p.boundary):V}},8902:function(i,a,o){\"use strict\";var s=o(2478),l=o(3250)[3],u=0,c=1,f=2;i.exports=A;function h(L,_,C,M,g){this.a=L,this.b=_,this.idx=C,this.lowerIds=M,this.upperIds=g}function d(L,_,C,M){this.a=L,this.b=_,this.type=C,this.idx=M}function v(L,_){var C=L.a[0]-_.a[0]||L.a[1]-_.a[1]||L.type-_.type;return C||L.type!==u&&(C=l(L.a,L.b,_.b),C)?C:L.idx-_.idx}function x(L,_){return l(L.a,L.b,_)}function b(L,_,C,M,g){for(var P=s.lt(_,M,x),T=s.gt(_,M,x),F=P;F<T;++F){for(var q=_[F],V=q.lowerIds,X=V.length;X>1&&l(C[V[X-2]],C[V[X-1]],M)>0;)L.push([V[X-1],V[X-2],g]),X-=1;V.length=X,V.push(g);for(var H=q.upperIds,X=H.length;X>1&&l(C[H[X-2]],C[H[X-1]],M)<0;)L.push([H[X-2],H[X-1],g]),X-=1;H.length=X,H.push(g)}}function p(L,_){var C;return L.a[0]<_.a[0]?C=l(L.a,L.b,_.a):C=l(_.b,_.a,L.a),C||(_.b[0]<L.b[0]?C=l(L.a,L.b,_.b):C=l(_.b,_.a,L.b),C||L.idx-_.idx)}function E(L,_,C){var M=s.le(L,C,p),g=L[M],P=g.upperIds,T=P[P.length-1];g.upperIds=[T],L.splice(M+1,0,new h(C.a,C.b,C.idx,[T],P))}function k(L,_,C){var M=C.a;C.a=C.b,C.b=M;var g=s.eq(L,C,p),P=L[g],T=L[g-1];T.upperIds=P.upperIds,L.splice(g,1)}function A(L,_){for(var C=L.length,M=_.length,g=[],P=0;P<C;++P)g.push(new d(L[P],null,u,P));for(var P=0;P<M;++P){var T=_[P],F=L[T[0]],q=L[T[1]];F[0]<q[0]?g.push(new d(F,q,f,P),new d(q,F,c,P)):F[0]>q[0]&&g.push(new d(q,F,f,P),new d(F,q,c,P))}g.sort(v);for(var V=g[0].a[0]-(1+Math.abs(g[0].a[0]))*Math.pow(2,-52),H=[new h([V,1],[V,0],-1,[],[],[],[])],X=[],P=0,G=g.length;P<G;++P){var N=g[P],W=N.type;W===u?b(X,H,L,N.a,N.idx):W===f?E(H,L,N):k(H,L,N)}return X}},5542:function(i,a,o){\"use strict\";var s=o(2478);i.exports=f;function l(h,d){this.stars=h,this.edges=d}var u=l.prototype;function c(h,d,v){for(var x=1,b=h.length;x<b;x+=2)if(h[x-1]===d&&h[x]===v){h[x-1]=h[b-2],h[x]=h[b-1],h.length=b-2;return}}u.isConstraint=function(){var h=[0,0];function d(v,x){return v[0]-x[0]||v[1]-x[1]}return function(v,x){return h[0]=Math.min(v,x),h[1]=Math.max(v,x),s.eq(this.edges,h,d)>=0}}(),u.removeTriangle=function(h,d,v){var x=this.stars;c(x[h],d,v),c(x[d],v,h),c(x[v],h,d)},u.addTriangle=function(h,d,v){var x=this.stars;x[h].push(d,v),x[d].push(v,h),x[v].push(h,d)},u.opposite=function(h,d){for(var v=this.stars[d],x=1,b=v.length;x<b;x+=2)if(v[x]===h)return v[x-1];return-1},u.flip=function(h,d){var v=this.opposite(h,d),x=this.opposite(d,h);this.removeTriangle(h,d,v),this.removeTriangle(d,h,x),this.addTriangle(h,x,v),this.addTriangle(d,v,x)},u.edges=function(){for(var h=this.stars,d=[],v=0,x=h.length;v<x;++v)for(var b=h[v],p=0,E=b.length;p<E;p+=2)d.push([b[p],b[p+1]]);return d},u.cells=function(){for(var h=this.stars,d=[],v=0,x=h.length;v<x;++v)for(var b=h[v],p=0,E=b.length;p<E;p+=2){var k=b[p],A=b[p+1];v<Math.min(k,A)&&d.push([v,k,A])}return d};function f(h,d){for(var v=new Array(h),x=0;x<h;++x)v[x]=[];return new l(v,d)}},2419:function(i){\"use strict\";i.exports=a;function a(o){for(var s=1,l=1;l<o.length;++l)for(var u=0;u<l;++u)if(o[l]<o[u])s=-s;else if(o[u]===o[l])return 0;return s}},3628:function(i,a,o){\"use strict\";var s=o(1338),l=o(727);function u(h,d){for(var v=0,x=h.length,b=0;b<x;++b)v+=h[b]*d[b];return v}function c(h){var d=h.length;if(d===0)return[];var v=h[0].length,x=s([h.length+1,h.length+1],1),b=s([h.length+1],1);x[d][d]=0;for(var p=0;p<d;++p){for(var E=0;E<=p;++E)x[E][p]=x[p][E]=2*u(h[p],h[E]);b[p]=u(h[p],h[p])}for(var k=l(x,b),A=0,L=k[d+1],p=0;p<L.length;++p)A+=L[p];for(var _=new Array(d),p=0;p<d;++p){for(var L=k[p],C=0,E=0;E<L.length;++E)C+=L[E];_[p]=C/A}return _}function f(h){if(h.length===0)return[];for(var d=h[0].length,v=s([d]),x=c(h),b=0;b<h.length;++b)for(var p=0;p<d;++p)v[p]+=h[b][p]*x[b];return v}f.barycenetric=c,i.exports=f},6037:function(i,a,o){i.exports=l;var s=o(3628);function l(u){for(var c=s(u),f=0,h=0;h<u.length;++h)for(var d=u[h],v=0;v<c.length;++v)f+=Math.pow(d[v]-c[v],2);return Math.sqrt(f/u.length)}},332:function(i,a,o){\"use strict\";i.exports=F;var s=o(1755),l=o(6867),u=o(1125),c=o(7842),f=o(1318),h=o(946),d=o(5838),v=o(1278),x=o(3637);function b(q){var V=h(q);return[v(V,-1/0),v(V,1/0)]}function p(q,V){for(var H=new Array(V.length),X=0;X<V.length;++X){var G=V[X],N=q[G[0]],W=q[G[1]];H[X]=[v(Math.min(N[0],W[0]),-1/0),v(Math.min(N[1],W[1]),-1/0),v(Math.max(N[0],W[0]),1/0),v(Math.max(N[1],W[1]),1/0)]}return H}function E(q){for(var V=new Array(q.length),H=0;H<q.length;++H){var X=q[H];V[H]=[v(X[0],-1/0),v(X[1],-1/0),v(X[0],1/0),v(X[1],1/0)]}return V}function k(q,V,H){var X=[];return l(H,function(G,N){var W=V[G],re=V[N];if(!(W[0]===re[0]||W[0]===re[1]||W[1]===re[0]||W[1]===re[1])){var ae=q[W[0]],_e=q[W[1]],Me=q[re[0]],ke=q[re[1]];u(ae,_e,Me,ke)&&X.push([G,N])}}),X}function A(q,V,H,X){var G=[];return l(H,X,function(N,W){var re=V[N];if(!(re[0]===W||re[1]===W)){var ae=q[W],_e=q[re[0]],Me=q[re[1]];u(_e,Me,ae,ae)&&G.push([N,W])}}),G}function L(q,V,H,X,G){var N,W,re=q.map(function(ct){return[c(ct[0]),c(ct[1])]});for(N=0;N<H.length;++N){var ae=H[N];W=ae[0];var _e=ae[1],Me=V[W],ke=V[_e],ge=x(d(q[Me[0]]),d(q[Me[1]]),d(q[ke[0]]),d(q[ke[1]]));if(ge){var ie=q.length;q.push([h(ge[0]),h(ge[1])]),re.push(ge),X.push([W,ie],[_e,ie])}}for(X.sort(function(ct,qt){if(ct[0]!==qt[0])return ct[0]-qt[0];var rt=re[ct[1]],ot=re[qt[1]];return f(rt[0],ot[0])||f(rt[1],ot[1])}),N=X.length-1;N>=0;--N){var Te=X[N];W=Te[0];var Ee=V[W],Ae=Ee[0],ze=Ee[1],Ce=q[Ae],me=q[ze];if((Ce[0]-me[0]||Ce[1]-me[1])<0){var Re=Ae;Ae=ze,ze=Re}Ee[0]=Ae;var ce=Ee[1]=Te[1],Ge;for(G&&(Ge=Ee[2]);N>0&&X[N-1][0]===W;){var Te=X[--N],nt=Te[1];G?V.push([ce,nt,Ge]):V.push([ce,nt]),ce=nt}G?V.push([ce,ze,Ge]):V.push([ce,ze])}return re}function _(q,V,H){for(var X=V.length,G=new s(X),N=[],W=0;W<V.length;++W){var re=V[W],ae=b(re[0]),_e=b(re[1]);N.push([v(ae[0],-1/0),v(_e[0],-1/0),v(ae[1],1/0),v(_e[1],1/0)])}l(N,function(Te,Ee){G.link(Te,Ee)});for(var Me=!0,ke=new Array(X),W=0;W<X;++W){var ge=G.find(W);ge!==W&&(Me=!1,q[ge]=[Math.min(q[W][0],q[ge][0]),Math.min(q[W][1],q[ge][1])])}if(Me)return null;for(var ie=0,W=0;W<X;++W){var ge=G.find(W);ge===W?(ke[W]=ie,q[ie++]=q[W]):ke[W]=-1}q.length=ie;for(var W=0;W<X;++W)ke[W]<0&&(ke[W]=ke[G.find(W)]);return ke}function C(q,V){return q[0]-V[0]||q[1]-V[1]}function M(q,V){var H=q[0]-V[0]||q[1]-V[1];return H||(q[2]<V[2]?-1:q[2]>V[2]?1:0)}function g(q,V,H){if(q.length!==0){if(V)for(var X=0;X<q.length;++X){var G=q[X],N=V[G[0]],W=V[G[1]];G[0]=Math.min(N,W),G[1]=Math.max(N,W)}else for(var X=0;X<q.length;++X){var G=q[X],N=G[0],W=G[1];G[0]=Math.min(N,W),G[1]=Math.max(N,W)}H?q.sort(M):q.sort(C);for(var re=1,X=1;X<q.length;++X){var ae=q[X-1],_e=q[X];_e[0]===ae[0]&&_e[1]===ae[1]&&(!H||_e[2]===ae[2])||(q[re++]=_e)}q.length=re}}function P(q,V,H){var X=_(q,[],E(q));return g(V,X,H),!!X}function T(q,V,H){var X=p(q,V),G=k(q,V,X),N=E(q),W=A(q,V,X,N),re=L(q,V,G,W,H),ae=_(q,re,N);return g(V,ae,H),ae?!0:G.length>0||W.length>0}function F(q,V,H){var X;if(H){X=V;for(var G=new Array(V.length),N=0;N<V.length;++N){var W=V[N];G[N]=[W[0],W[1],H[N]]}V=G}for(var re=P(q,V,!!H);T(q,V,!!H);)re=!0;if(H&&re){X.length=0,H.length=0;for(var N=0;N<V.length;++N){var W=V[N];X.push([W[0],W[1]]),H.push(W[2])}}return re}},3637:function(i,a,o){\"use strict\";i.exports=x;var s=o(6504),l=o(8697),u=o(5572),c=o(7721),f=o(544),h=o(2653),d=o(8987);function v(b,p){return u(s(b[0],p[1]),s(b[1],p[0]))}function x(b,p,E,k){var A=f(p,b),L=f(k,E),_=v(A,L);if(c(_)===0)return null;var C=f(b,E),M=v(L,C),g=l(M,_),P=d(A,g),T=h(b,P);return T}},3642:function(i){i.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(i,a,o){\"use strict\";var s=o(3642),l=o(395);i.exports=u;function u(d){var v,x,b,p,E,k,A,L,g,_,C;if(d||(d={}),L=(d.nshades||72)-1,A=d.format||\"hex\",k=d.colormap,k||(k=\"jet\"),typeof k==\"string\"){if(k=k.toLowerCase(),!s[k])throw Error(k+\" not a supported colorscale\");E=s[k]}else if(Array.isArray(k))E=k.slice();else throw Error(\"unsupported colormap option\",k);if(E.length>L+1)throw new Error(k+\" map requires nshades to be at least size \"+E.length);Array.isArray(d.alpha)?d.alpha.length!==2?_=[1,1]:_=d.alpha.slice():typeof d.alpha==\"number\"?_=[d.alpha,d.alpha]:_=[1,1],v=E.map(function(F){return Math.round(F.index*L)}),_[0]=Math.min(Math.max(_[0],0),1),_[1]=Math.min(Math.max(_[1],0),1);var M=E.map(function(F,q){var V=E[q].index,H=E[q].rgb.slice();return H.length===4&&H[3]>=0&&H[3]<=1||(H[3]=_[0]+(_[1]-_[0])*V),H}),g=[];for(C=0;C<v.length-1;++C){p=v[C+1]-v[C],x=M[C],b=M[C+1];for(var P=0;P<p;P++){var T=P/p;g.push([Math.round(l(x[0],b[0],T)),Math.round(l(x[1],b[1],T)),Math.round(l(x[2],b[2],T)),l(x[3],b[3],T)])}}return g.push(E[E.length-1].rgb.concat(_[1])),A===\"hex\"?g=g.map(f):A===\"rgbaString\"?g=g.map(h):A===\"float\"&&(g=g.map(c)),g}function c(d){return[d[0]/255,d[1]/255,d[2]/255,d[3]]}function f(d){for(var v,x=\"#\",b=0;b<3;++b)v=d[b],v=v.toString(16),x+=(\"00\"+v).substr(v.length);return x}function h(d){return\"rgba(\"+d.join(\",\")+\")\"}},3140:function(i,a,o){\"use strict\";i.exports=d;var s=o(3250),l=o(8572),u=o(9362),c=o(5382),f=o(8210);function h(v,x,b){var p=u(v[0],-x[0]),E=u(v[1],-x[1]),k=u(b[0],-x[0]),A=u(b[1],-x[1]),L=f(c(p,k),c(E,A));return L[L.length-1]>=0}function d(v,x,b,p){var E=s(x,b,p);if(E===0){var k=l(s(v,x,b)),A=l(s(v,x,p));if(k===A){if(k===0){var L=h(v,x,b),_=h(v,x,p);return L===_?0:L?1:-1}return 0}else{if(A===0)return k>0||h(v,x,p)?-1:1;if(k===0)return A>0||h(v,x,b)?1:-1}return l(A-k)}var C=s(v,x,b);if(C>0)return E>0&&s(v,x,p)>0?1:-1;if(C<0)return E>0||s(v,x,p)>0?1:-1;var M=s(v,x,p);return M>0||h(v,x,b)?1:-1}},8572:function(i){\"use strict\";i.exports=function(o){return o<0?-1:o>0?1:0}},8507:function(i){i.exports=s;var a=Math.min;function o(l,u){return l-u}function s(l,u){var c=l.length,f=l.length-u.length;if(f)return f;switch(c){case 0:return 0;case 1:return l[0]-u[0];case 2:return l[0]+l[1]-u[0]-u[1]||a(l[0],l[1])-a(u[0],u[1]);case 3:var h=l[0]+l[1],d=u[0]+u[1];if(f=h+l[2]-(d+u[2]),f)return f;var v=a(l[0],l[1]),x=a(u[0],u[1]);return a(v,l[2])-a(x,u[2])||a(v+l[2],h)-a(x+u[2],d);case 4:var b=l[0],p=l[1],E=l[2],k=l[3],A=u[0],L=u[1],_=u[2],C=u[3];return b+p+E+k-(A+L+_+C)||a(b,p,E,k)-a(A,L,_,C,A)||a(b+p,b+E,b+k,p+E,p+k,E+k)-a(A+L,A+_,A+C,L+_,L+C,_+C)||a(b+p+E,b+p+k,b+E+k,p+E+k)-a(A+L+_,A+L+C,A+_+C,L+_+C);default:for(var M=l.slice().sort(o),g=u.slice().sort(o),P=0;P<c;++P)if(f=M[P]-g[P],f)return f;return 0}}},3788:function(i,a,o){\"use strict\";var s=o(8507),l=o(2419);i.exports=u;function u(c,f){return s(c,f)||l(c)-l(f)}},7352:function(i,a,o){\"use strict\";var s=o(5721),l=o(4750),u=o(2690);i.exports=c;function c(f){var h=f.length;if(h===0)return[];if(h===1)return[[0]];var d=f[0].length;return d===0?[]:d===1?s(f):d===2?l(f):u(f,d)}},5721:function(i){\"use strict\";i.exports=a;function a(o){for(var s=0,l=0,u=1;u<o.length;++u)o[u][0]<o[s][0]&&(s=u),o[u][0]>o[l][0]&&(l=u);return s<l?[[s],[l]]:s>l?[[l],[s]]:[[s]]}},4750:function(i,a,o){\"use strict\";i.exports=l;var s=o(3090);function l(u){var c=s(u),f=c.length;if(f<=2)return[];for(var h=new Array(f),d=c[f-1],v=0;v<f;++v){var x=c[v];h[v]=[d,x],d=x}return h}},2690:function(i,a,o){\"use strict\";i.exports=f;var s=o(8954),l=o(3952);function u(h,d){for(var v=h.length,x=new Array(v),b=0;b<d.length;++b)x[b]=h[d[b]];for(var p=d.length,b=0;b<v;++b)d.indexOf(b)<0&&(x[p++]=h[b]);return x}function c(h,d){for(var v=h.length,x=d.length,b=0;b<v;++b)for(var p=h[b],E=0;E<p.length;++E){var k=p[E];if(k<x)p[E]=d[k];else{k=k-x;for(var A=0;A<x;++A)k>=d[A]&&(k+=1);p[E]=k}}return h}function f(h,d){try{return s(h,!0)}catch(p){var v=l(h);if(v.length<=d)return[];var x=u(h,v),b=s(x,!0);return c(b,v)}}},4769:function(i){\"use strict\";function a(s,l,u,c,f,h){var d=6*f*f-6*f,v=3*f*f-4*f+1,x=-6*f*f+6*f,b=3*f*f-2*f;if(s.length){h||(h=new Array(s.length));for(var p=s.length-1;p>=0;--p)h[p]=d*s[p]+v*l[p]+x*u[p]+b*c[p];return h}return d*s+v*l+x*u[p]+b*c}function o(s,l,u,c,f,h){var d=f-1,v=f*f,x=d*d,b=(1+2*f)*x,p=f*x,E=v*(3-2*f),k=v*d;if(s.length){h||(h=new Array(s.length));for(var A=s.length-1;A>=0;--A)h[A]=b*s[A]+p*l[A]+E*u[A]+k*c[A];return h}return b*s+p*l+E*u+k*c}i.exports=o,i.exports.derivative=a},7642:function(i,a,o){\"use strict\";var s=o(8954),l=o(1682);i.exports=h;function u(d,v){this.point=d,this.index=v}function c(d,v){for(var x=d.point,b=v.point,p=x.length,E=0;E<p;++E){var k=b[E]-x[E];if(k)return k}return 0}function f(d,v,x){if(d===1)return x?[[-1,0]]:[];var b=v.map(function(L,_){return[L[0],_]});b.sort(function(L,_){return L[0]-_[0]});for(var p=new Array(d-1),E=1;E<d;++E){var k=b[E-1],A=b[E];p[E-1]=[k[1],A[1]]}return x&&p.push([-1,p[0][1]],[p[d-1][1],-1]),p}function h(d,v){var x=d.length;if(x===0)return[];var b=d[0].length;if(b<1)return[];if(b===1)return f(x,d,v);for(var p=new Array(x),E=1,k=0;k<x;++k){for(var A=d[k],L=new Array(b+1),_=0,C=0;C<b;++C){var M=A[C];L[C]=M,_+=M*M}L[b]=_,p[k]=new u(L,k),E=Math.max(_,E)}l(p,c),x=p.length;for(var g=new Array(x+b+1),P=new Array(x+b+1),T=(b+1)*(b+1)*E,F=new Array(b+1),k=0;k<=b;++k)F[k]=0;F[b]=T,g[0]=F.slice(),P[0]=-1;for(var k=0;k<=b;++k){var L=F.slice();L[k]=1,g[k+1]=L,P[k+1]=-1}for(var k=0;k<x;++k){var q=p[k];g[k+b+1]=q.point,P[k+b+1]=q.index}var V=s(g,!1);if(v?V=V.filter(function(H){for(var X=0,G=0;G<=b;++G){var N=P[H[G]];if(N<0&&++X>=2)return!1;H[G]=N}return!0}):V=V.filter(function(H){for(var X=0;X<=b;++X){var G=P[H[X]];if(G<0)return!1;H[X]=G}return!0}),b&1)for(var k=0;k<V.length;++k){var q=V[k],L=q[0];q[0]=q[1],q[1]=L}return V}},2361:function(i){var a=!1;if(typeof Float64Array!=\"undefined\"){var o=new Float64Array(1),s=new Uint32Array(o.buffer);if(o[0]=1,a=!0,s[1]===1072693248){let E=function(L,_){return s[0]=L,s[1]=_,o[0]},k=function(L){return o[0]=L,s[0]},A=function(L){return o[0]=L,s[1]};var u=E,c=k,f=A;i.exports=function(_){return o[0]=_,[s[0],s[1]]},i.exports.pack=E,i.exports.lo=k,i.exports.hi=A}else if(s[0]===1072693248){let E=function(L,_){return s[1]=L,s[0]=_,o[0]},k=function(L){return o[0]=L,s[1]},A=function(L){return o[0]=L,s[0]};var h=E,d=k,v=A;i.exports=function(_){return o[0]=_,[s[1],s[0]]},i.exports.pack=E,i.exports.lo=k,i.exports.hi=A}else a=!1}if(!a){let E=function(L,_){return l.writeUInt32LE(L,0,!0),l.writeUInt32LE(_,4,!0),l.readDoubleLE(0,!0)},k=function(L){return l.writeDoubleLE(L,0,!0),l.readUInt32LE(0,!0)},A=function(L){return l.writeDoubleLE(L,0,!0),l.readUInt32LE(4,!0)};var x=E,b=k,p=A,l=new Buffer(8);i.exports=function(_){return l.writeDoubleLE(_,0,!0),[l.readUInt32LE(0,!0),l.readUInt32LE(4,!0)]},i.exports.pack=E,i.exports.lo=k,i.exports.hi=A}i.exports.sign=function(E){return i.exports.hi(E)>>>31},i.exports.exponent=function(E){var k=i.exports.hi(E);return(k<<1>>>21)-1023},i.exports.fraction=function(E){var k=i.exports.lo(E),A=i.exports.hi(E),L=A&(1<<20)-1;return A&2146435072&&(L+=1048576),[k,L]},i.exports.denormalized=function(E){var k=i.exports.hi(E);return!(k&2146435072)}},1338:function(i){\"use strict\";function a(l,u,c){var f=l[c]|0;if(f<=0)return[];var h=new Array(f),d;if(c===l.length-1)for(d=0;d<f;++d)h[d]=u;else for(d=0;d<f;++d)h[d]=a(l,u,c+1);return h}function o(l,u){var c,f;for(c=new Array(l),f=0;f<l;++f)c[f]=u;return c}function s(l,u){switch(typeof u==\"undefined\"&&(u=0),typeof l){case\"number\":if(l>0)return o(l|0,u);break;case\"object\":if(typeof l.length==\"number\")return a(l,u,0);break}return[]}i.exports=s},3134:function(i,a,o){\"use strict\";i.exports=l;var s=o(1682);function l(u,c){var f=u.length;if(typeof c!=\"number\"){c=0;for(var h=0;h<f;++h){var d=u[h];c=Math.max(c,d[0],d[1])}c=(c|0)+1}c=c|0;for(var v=new Array(c),h=0;h<c;++h)v[h]=[];for(var h=0;h<f;++h){var d=u[h];v[d[0]].push(d[1]),v[d[1]].push(d[0])}for(var x=0;x<c;++x)s(v[x],function(b,p){return b-p});return v}},5033:function(i){\"use strict\";i.exports=a;function a(o,s,l){var u=s||0,c=l||1;return[[o[12]+o[0],o[13]+o[1],o[14]+o[2],o[15]+o[3]],[o[12]-o[0],o[13]-o[1],o[14]-o[2],o[15]-o[3]],[o[12]+o[4],o[13]+o[5],o[14]+o[6],o[15]+o[7]],[o[12]-o[4],o[13]-o[5],o[14]-o[6],o[15]-o[7]],[u*o[12]+o[8],u*o[13]+o[9],u*o[14]+o[10],u*o[15]+o[11]],[c*o[12]-o[8],c*o[13]-o[9],c*o[14]-o[10],c*o[15]-o[11]]]}},9215:function(i,a,o){\"use strict\";i.exports=d;var s=o(4769),l=o(2478);function u(v,x,b){return Math.min(x,Math.max(v,b))}function c(v,x,b){this.dimension=v.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var p=0;p<this.dimension;++p)this.bounds[0][p]=-1/0,this.bounds[1][p]=1/0;this._state=v.slice().reverse(),this._velocity=x.slice().reverse(),this._time=[b],this._scratch=[v.slice(),v.slice(),v.slice(),v.slice(),v.slice()]}var f=c.prototype;f.flush=function(v){var x=l.gt(this._time,v)-1;x<=0||(this._time.splice(0,x),this._state.splice(0,x*this.dimension),this._velocity.splice(0,x*this.dimension))},f.curve=function(v){var x=this._time,b=x.length,p=l.le(x,v),E=this._scratch[0],k=this._state,A=this._velocity,L=this.dimension,_=this.bounds;if(p<0)for(var C=L-1,M=0;M<L;++M,--C)E[M]=k[C];else if(p>=b-1)for(var C=k.length-1,g=v-x[b-1],M=0;M<L;++M,--C)E[M]=k[C]+g*A[C];else{for(var C=L*(p+1)-1,P=x[p],T=x[p+1],F=T-P||1,q=this._scratch[1],V=this._scratch[2],H=this._scratch[3],X=this._scratch[4],G=!0,M=0;M<L;++M,--C)q[M]=k[C],H[M]=A[C]*F,V[M]=k[C+L],X[M]=A[C+L]*F,G=G&&q[M]===V[M]&&H[M]===X[M]&&H[M]===0;if(G)for(var M=0;M<L;++M)E[M]=q[M];else s(q,H,V,X,(v-P)/F,E)}for(var N=_[0],W=_[1],M=0;M<L;++M)E[M]=u(N[M],W[M],E[M]);return E},f.dcurve=function(v){var x=this._time,b=x.length,p=l.le(x,v),E=this._scratch[0],k=this._state,A=this._velocity,L=this.dimension;if(p>=b-1)for(var _=k.length-1,C=v-x[b-1],M=0;M<L;++M,--_)E[M]=A[_];else{for(var _=L*(p+1)-1,g=x[p],P=x[p+1],T=P-g||1,F=this._scratch[1],q=this._scratch[2],V=this._scratch[3],H=this._scratch[4],X=!0,M=0;M<L;++M,--_)F[M]=k[_],V[M]=A[_]*T,q[M]=k[_+L],H[M]=A[_+L]*T,X=X&&F[M]===q[M]&&V[M]===H[M]&&V[M]===0;if(X)for(var M=0;M<L;++M)E[M]=0;else{s.derivative(F,V,q,H,(v-g)/T,E);for(var M=0;M<L;++M)E[M]/=T}}return E},f.lastT=function(){var v=this._time;return v[v.length-1]},f.stable=function(){for(var v=this._velocity,x=v.length,b=this.dimension-1;b>=0;--b)if(v[--x])return!1;return!0},f.jump=function(v){var x=this.lastT(),b=this.dimension;if(!(v<x||arguments.length!==b+1)){var p=this._state,E=this._velocity,k=p.length-this.dimension,A=this.bounds,L=A[0],_=A[1];this._time.push(x,v);for(var C=0;C<2;++C)for(var M=0;M<b;++M)p.push(p[k++]),E.push(0);this._time.push(v);for(var M=b;M>0;--M)p.push(u(L[M-1],_[M-1],arguments[M])),E.push(0)}},f.push=function(v){var x=this.lastT(),b=this.dimension;if(!(v<x||arguments.length!==b+1)){var p=this._state,E=this._velocity,k=p.length-this.dimension,A=v-x,L=this.bounds,_=L[0],C=L[1],M=A>1e-6?1/A:0;this._time.push(v);for(var g=b;g>0;--g){var P=u(_[g-1],C[g-1],arguments[g]);p.push(P),E.push((P-p[k++])*M)}}},f.set=function(v){var x=this.dimension;if(!(v<this.lastT()||arguments.length!==x+1)){var b=this._state,p=this._velocity,E=this.bounds,k=E[0],A=E[1];this._time.push(v);for(var L=x;L>0;--L)b.push(u(k[L-1],A[L-1],arguments[L])),p.push(0)}},f.move=function(v){var x=this.lastT(),b=this.dimension;if(!(v<=x||arguments.length!==b+1)){var p=this._state,E=this._velocity,k=p.length-this.dimension,A=this.bounds,L=A[0],_=A[1],C=v-x,M=C>1e-6?1/C:0;this._time.push(v);for(var g=b;g>0;--g){var P=arguments[g];p.push(u(L[g-1],_[g-1],p[k++]+P)),E.push(P*M)}}},f.idle=function(v){var x=this.lastT();if(!(v<x)){var b=this.dimension,p=this._state,E=this._velocity,k=p.length-b,A=this.bounds,L=A[0],_=A[1],C=v-x;this._time.push(v);for(var M=b-1;M>=0;--M)p.push(u(L[M],_[M],p[k]+C*E[k])),E.push(0),k+=1}};function h(v){for(var x=new Array(v),b=0;b<v;++b)x[b]=0;return x}function d(v,x,b){switch(arguments.length){case 0:return new c([0],[0],0);case 1:if(typeof v==\"number\"){var p=h(v);return new c(p,p,0)}else return new c(v,h(v.length),0);case 2:if(typeof x==\"number\"){var p=h(v.length);return new c(v,p,+x)}else b=0;case 3:if(v.length!==x.length)throw new Error(\"state and velocity lengths must match\");return new c(v,x,b)}}},3840:function(i){\"use strict\";i.exports=L;var a=0,o=1;function s(_,C,M,g,P,T){this._color=_,this.key=C,this.value=M,this.left=g,this.right=P,this._count=T}function l(_){return new s(_._color,_.key,_.value,_.left,_.right,_._count)}function u(_,C){return new s(_,C.key,C.value,C.left,C.right,C._count)}function c(_){_._count=1+(_.left?_.left._count:0)+(_.right?_.right._count:0)}function f(_,C){this._compare=_,this.root=C}var h=f.prototype;Object.defineProperty(h,\"keys\",{get:function(){var _=[];return this.forEach(function(C,M){_.push(C)}),_}}),Object.defineProperty(h,\"values\",{get:function(){var _=[];return this.forEach(function(C,M){_.push(M)}),_}}),Object.defineProperty(h,\"length\",{get:function(){return this.root?this.root._count:0}}),h.insert=function(_,C){for(var M=this._compare,g=this.root,P=[],T=[];g;){var F=M(_,g.key);P.push(g),T.push(F),F<=0?g=g.left:g=g.right}P.push(new s(a,_,C,null,null,1));for(var q=P.length-2;q>=0;--q){var g=P[q];T[q]<=0?P[q]=new s(g._color,g.key,g.value,P[q+1],g.right,g._count+1):P[q]=new s(g._color,g.key,g.value,g.left,P[q+1],g._count+1)}for(var q=P.length-1;q>1;--q){var V=P[q-1],g=P[q];if(V._color===o||g._color===o)break;var H=P[q-2];if(H.left===V)if(V.left===g){var X=H.right;if(X&&X._color===a)V._color=o,H.right=u(o,X),H._color=a,q-=1;else{if(H._color=a,H.left=V.right,V._color=o,V.right=H,P[q-2]=V,P[q-1]=g,c(H),c(V),q>=3){var G=P[q-3];G.left===H?G.left=V:G.right=V}break}}else{var X=H.right;if(X&&X._color===a)V._color=o,H.right=u(o,X),H._color=a,q-=1;else{if(V.right=g.left,H._color=a,H.left=g.right,g._color=o,g.left=V,g.right=H,P[q-2]=g,P[q-1]=V,c(H),c(V),c(g),q>=3){var G=P[q-3];G.left===H?G.left=g:G.right=g}break}}else if(V.right===g){var X=H.left;if(X&&X._color===a)V._color=o,H.left=u(o,X),H._color=a,q-=1;else{if(H._color=a,H.right=V.left,V._color=o,V.left=H,P[q-2]=V,P[q-1]=g,c(H),c(V),q>=3){var G=P[q-3];G.right===H?G.right=V:G.left=V}break}}else{var X=H.left;if(X&&X._color===a)V._color=o,H.left=u(o,X),H._color=a,q-=1;else{if(V.left=g.right,H._color=a,H.right=g.left,g._color=o,g.right=V,g.left=H,P[q-2]=g,P[q-1]=V,c(H),c(V),c(g),q>=3){var G=P[q-3];G.right===H?G.right=g:G.left=g}break}}}return P[0]._color=o,new f(M,P[0])};function d(_,C){if(C.left){var M=d(_,C.left);if(M)return M}var M=_(C.key,C.value);if(M)return M;if(C.right)return d(_,C.right)}function v(_,C,M,g){var P=C(_,g.key);if(P<=0){if(g.left){var T=v(_,C,M,g.left);if(T)return T}var T=M(g.key,g.value);if(T)return T}if(g.right)return v(_,C,M,g.right)}function x(_,C,M,g,P){var T=M(_,P.key),F=M(C,P.key),q;if(T<=0&&(P.left&&(q=x(_,C,M,g,P.left),q)||F>0&&(q=g(P.key,P.value),q)))return q;if(F>0&&P.right)return x(_,C,M,g,P.right)}h.forEach=function(C,M,g){if(this.root)switch(arguments.length){case 1:return d(C,this.root);case 2:return v(M,this._compare,C,this.root);case 3:return this._compare(M,g)>=0?void 0:x(M,g,this._compare,C,this.root)}},Object.defineProperty(h,\"begin\",{get:function(){for(var _=[],C=this.root;C;)_.push(C),C=C.left;return new b(this,_)}}),Object.defineProperty(h,\"end\",{get:function(){for(var _=[],C=this.root;C;)_.push(C),C=C.right;return new b(this,_)}}),h.at=function(_){if(_<0)return new b(this,[]);for(var C=this.root,M=[];;){if(M.push(C),C.left){if(_<C.left._count){C=C.left;continue}_-=C.left._count}if(!_)return new b(this,M);if(_-=1,C.right){if(_>=C.right._count)break;C=C.right}else break}return new b(this,[])},h.ge=function(_){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(_,M.key);g.push(M),T<=0&&(P=g.length),T<=0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.gt=function(_){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(_,M.key);g.push(M),T<0&&(P=g.length),T<0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.lt=function(_){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(_,M.key);g.push(M),T>0&&(P=g.length),T<=0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.le=function(_){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(_,M.key);g.push(M),T>=0&&(P=g.length),T<0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.find=function(_){for(var C=this._compare,M=this.root,g=[];M;){var P=C(_,M.key);if(g.push(M),P===0)return new b(this,g);P<=0?M=M.left:M=M.right}return new b(this,[])},h.remove=function(_){var C=this.find(_);return C?C.remove():this},h.get=function(_){for(var C=this._compare,M=this.root;M;){var g=C(_,M.key);if(g===0)return M.value;g<=0?M=M.left:M=M.right}};function b(_,C){this.tree=_,this._stack=C}var p=b.prototype;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 b(this.tree,this._stack.slice())};function E(_,C){_.key=C.key,_.value=C.value,_.left=C.left,_.right=C.right,_._color=C._color,_._count=C._count}function k(_){for(var C,M,g,P,T=_.length-1;T>=0;--T){if(C=_[T],T===0){C._color=o;return}if(M=_[T-1],M.left===C){if(g=M.right,g.right&&g.right._color===a){if(g=M.right=l(g),P=g.right=l(g.right),M.right=g.left,g.left=M,g.right=P,g._color=M._color,C._color=o,M._color=o,P._color=o,c(M),c(g),T>1){var F=_[T-2];F.left===M?F.left=g:F.right=g}_[T-1]=g;return}else if(g.left&&g.left._color===a){if(g=M.right=l(g),P=g.left=l(g.left),M.right=P.left,g.left=P.right,P.left=M,P.right=g,P._color=M._color,M._color=o,g._color=o,C._color=o,c(M),c(g),c(P),T>1){var F=_[T-2];F.left===M?F.left=P:F.right=P}_[T-1]=P;return}if(g._color===o)if(M._color===a){M._color=o,M.right=u(a,g);return}else{M.right=u(a,g);continue}else{if(g=l(g),M.right=g.left,g.left=M,g._color=M._color,M._color=a,c(M),c(g),T>1){var F=_[T-2];F.left===M?F.left=g:F.right=g}_[T-1]=g,_[T]=M,T+1<_.length?_[T+1]=C:_.push(C),T=T+2}}else{if(g=M.left,g.left&&g.left._color===a){if(g=M.left=l(g),P=g.left=l(g.left),M.left=g.right,g.right=M,g.left=P,g._color=M._color,C._color=o,M._color=o,P._color=o,c(M),c(g),T>1){var F=_[T-2];F.right===M?F.right=g:F.left=g}_[T-1]=g;return}else if(g.right&&g.right._color===a){if(g=M.left=l(g),P=g.right=l(g.right),M.left=P.right,g.right=P.left,P.right=M,P.left=g,P._color=M._color,M._color=o,g._color=o,C._color=o,c(M),c(g),c(P),T>1){var F=_[T-2];F.right===M?F.right=P:F.left=P}_[T-1]=P;return}if(g._color===o)if(M._color===a){M._color=o,M.left=u(a,g);return}else{M.left=u(a,g);continue}else{if(g=l(g),M.left=g.right,g.right=M,g._color=M._color,M._color=a,c(M),c(g),T>1){var F=_[T-2];F.right===M?F.right=g:F.left=g}_[T-1]=g,_[T]=M,T+1<_.length?_[T+1]=C:_.push(C),T=T+2}}}}p.remove=function(){var _=this._stack;if(_.length===0)return this.tree;var C=new Array(_.length),M=_[_.length-1];C[C.length-1]=new s(M._color,M.key,M.value,M.left,M.right,M._count);for(var g=_.length-2;g>=0;--g){var M=_[g];M.left===_[g+1]?C[g]=new s(M._color,M.key,M.value,C[g+1],M.right,M._count):C[g]=new s(M._color,M.key,M.value,M.left,C[g+1],M._count)}if(M=C[C.length-1],M.left&&M.right){var P=C.length;for(M=M.left;M.right;)C.push(M),M=M.right;var T=C[P-1];C.push(new s(M._color,T.key,T.value,M.left,M.right,M._count)),C[P-1].key=M.key,C[P-1].value=M.value;for(var g=C.length-2;g>=P;--g)M=C[g],C[g]=new s(M._color,M.key,M.value,M.left,C[g+1],M._count);C[P-1].left=C[P]}if(M=C[C.length-1],M._color===a){var F=C[C.length-2];F.left===M?F.left=null:F.right===M&&(F.right=null),C.pop();for(var g=0;g<C.length;++g)C[g]._count--;return new f(this.tree._compare,C[0])}else if(M.left||M.right){M.left?E(M,M.left):M.right&&E(M,M.right),M._color=o;for(var g=0;g<C.length-1;++g)C[g]._count--;return new f(this.tree._compare,C[0])}else{if(C.length===1)return new f(this.tree._compare,null);for(var g=0;g<C.length;++g)C[g]._count--;var q=C[C.length-2];k(C),q.left===M?q.left=null:q.right=null}return new f(this.tree._compare,C[0])},Object.defineProperty(p,\"key\",{get:function(){if(this._stack.length>0)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 _=0,C=this._stack;if(C.length===0){var M=this.tree.root;return M?M._count:0}else C[C.length-1].left&&(_=C[C.length-1].left._count);for(var g=C.length-2;g>=0;--g)C[g+1]===C[g].right&&(++_,C[g].left&&(_+=C[g].left._count));return _},enumerable:!0}),p.next=function(){var _=this._stack;if(_.length!==0){var C=_[_.length-1];if(C.right)for(C=C.right;C;)_.push(C),C=C.left;else for(_.pop();_.length>0&&_[_.length-1].right===C;)C=_[_.length-1],_.pop()}},Object.defineProperty(p,\"hasNext\",{get:function(){var _=this._stack;if(_.length===0)return!1;if(_[_.length-1].right)return!0;for(var C=_.length-1;C>0;--C)if(_[C-1].left===_[C])return!0;return!1}}),p.update=function(_){var C=this._stack;if(C.length===0)throw new Error(\"Can't update empty node!\");var M=new Array(C.length),g=C[C.length-1];M[M.length-1]=new s(g._color,g.key,_,g.left,g.right,g._count);for(var P=C.length-2;P>=0;--P)g=C[P],g.left===C[P+1]?M[P]=new s(g._color,g.key,g.value,M[P+1],g.right,g._count):M[P]=new s(g._color,g.key,g.value,g.left,M[P+1],g._count);return new f(this.tree._compare,M[0])},p.prev=function(){var _=this._stack;if(_.length!==0){var C=_[_.length-1];if(C.left)for(C=C.left;C;)_.push(C),C=C.right;else for(_.pop();_.length>0&&_[_.length-1].left===C;)C=_[_.length-1],_.pop()}},Object.defineProperty(p,\"hasPrev\",{get:function(){var _=this._stack;if(_.length===0)return!1;if(_[_.length-1].left)return!0;for(var C=_.length-1;C>0;--C)if(_[C-1].right===_[C])return!0;return!1}});function A(_,C){return _<C?-1:_>C?1:0}function L(_){return new f(_||A,null)}},3837:function(i,a,o){\"use strict\";i.exports=q;var s=o(4935),l=o(501),u=o(5304),c=o(6429),f=o(6444),h=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),d=ArrayBuffer,v=DataView;function x(V){return d.isView(V)&&!(V instanceof v)}function b(V){return Array.isArray(V)||x(V)}function p(V,H){return V[0]=H[0],V[1]=H[1],V[2]=H[2],V}function E(V){this.gl=V,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=u(V)}var k=E.prototype;k.update=function(V){V=V||{};function H(Ae,ze,Ce){if(Ce in V){var me=V[Ce],Re=this[Ce],ce;(Ae?b(me)&&b(me[0]):b(me))?this[Ce]=ce=[ze(me[0]),ze(me[1]),ze(me[2])]:this[Ce]=ce=[ze(me),ze(me),ze(me)];for(var Ge=0;Ge<3;++Ge)if(ce[Ge]!==Re[Ge])return!0}return!1}var X=H.bind(this,!1,Number),G=H.bind(this,!1,Boolean),N=H.bind(this,!1,String),W=H.bind(this,!0,function(Ae){if(b(Ae)){if(Ae.length===3)return[+Ae[0],+Ae[1],+Ae[2],1];if(Ae.length===4)return[+Ae[0],+Ae[1],+Ae[2],+Ae[3]]}return[0,0,0,1]}),re,ae=!1,_e=!1;if(\"bounds\"in V)for(var Me=V.bounds,ke=0;ke<2;++ke)for(var ge=0;ge<3;++ge)Me[ke][ge]!==this.bounds[ke][ge]&&(_e=!0),this.bounds[ke][ge]=Me[ke][ge];if(\"ticks\"in V){re=V.ticks,ae=!0,this.autoTicks=!1;for(var ke=0;ke<3;++ke)this.tickSpacing[ke]=0}else X(\"tickSpacing\")&&(this.autoTicks=!0,_e=!0);if(this._firstInit&&(\"ticks\"in V||\"tickSpacing\"in V||(this.autoTicks=!0),_e=!0,ae=!0,this._firstInit=!1),_e&&this.autoTicks&&(re=f.create(this.bounds,this.tickSpacing),ae=!0),ae){for(var ke=0;ke<3;++ke)re[ke].sort(function(ze,Ce){return ze.x-Ce.x});f.equal(re,this.ticks)?ae=!1:this.ticks=re}G(\"tickEnable\"),N(\"tickFont\")&&(ae=!0),N(\"tickFontStyle\")&&(ae=!0),N(\"tickFontWeight\")&&(ae=!0),N(\"tickFontVariant\")&&(ae=!0),X(\"tickSize\"),X(\"tickAngle\"),X(\"tickPad\"),W(\"tickColor\");var ie=N(\"labels\");N(\"labelFont\")&&(ie=!0),N(\"labelFontStyle\")&&(ie=!0),N(\"labelFontWeight\")&&(ie=!0),N(\"labelFontVariant\")&&(ie=!0),G(\"labelEnable\"),X(\"labelSize\"),X(\"labelPad\"),W(\"labelColor\"),G(\"lineEnable\"),G(\"lineMirror\"),X(\"lineWidth\"),W(\"lineColor\"),G(\"lineTickEnable\"),G(\"lineTickMirror\"),X(\"lineTickLength\"),X(\"lineTickWidth\"),W(\"lineTickColor\"),G(\"gridEnable\"),X(\"gridWidth\"),W(\"gridColor\"),G(\"zeroEnable\"),W(\"zeroLineColor\"),X(\"zeroLineWidth\"),G(\"backgroundEnable\"),W(\"backgroundColor\");var Te=[{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]}],Ee=[{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&&(ie||ae)&&this._text.update(this.bounds,this.labels,Te,this.ticks,Ee):this._text=s(this.gl,this.bounds,this.labels,Te,this.ticks,Ee),this._lines&&ae&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=l(this.gl,this.bounds,this.ticks))};function A(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}var L=[new A,new A,new A];function _(V,H,X,G,N){for(var W=V.primalOffset,re=V.primalMinor,ae=V.mirrorOffset,_e=V.mirrorMinor,Me=G[H],ke=0;ke<3;++ke)if(H!==ke){var ge=W,ie=ae,Te=re,Ee=_e;Me&1<<ke&&(ge=ae,ie=W,Te=_e,Ee=re),ge[ke]=X[0][ke],ie[ke]=X[1][ke],N[ke]>0?(Te[ke]=-1,Ee[ke]=0):(Te[ke]=0,Ee[ke]=1)}}var C=[0,0,0],M={model:h,view:h,projection:h,_ortho:!1};k.isOpaque=function(){return!0},k.isTransparent=function(){return!1},k.drawTransparent=function(V){};var g=0,P=[0,0,0],T=[0,0,0],F=[0,0,0];k.draw=function(V){V=V||M;for(var Ce=this.gl,H=V.model||h,X=V.view||h,G=V.projection||h,N=this.bounds,W=V._ortho||!1,re=c(H,X,G,N,W),ae=re.cubeEdges,_e=re.axis,Me=X[12],ke=X[13],ge=X[14],ie=X[15],Te=W?2:1,Ee=Te*this.pixelRatio*(G[3]*Me+G[7]*ke+G[11]*ge+G[15]*ie)/Ce.drawingBufferHeight,Ae=0;Ae<3;++Ae)this.lastCubeProps.cubeEdges[Ae]=ae[Ae],this.lastCubeProps.axis[Ae]=_e[Ae];for(var ze=L,Ae=0;Ae<3;++Ae)_(L[Ae],Ae,this.bounds,ae,_e);for(var Ce=this.gl,me=C,Ae=0;Ae<3;++Ae)this.backgroundEnable[Ae]?me[Ae]=_e[Ae]:me[Ae]=0;this._background.draw(H,X,G,N,me,this.backgroundColor),this._lines.bind(H,X,G,this);for(var Ae=0;Ae<3;++Ae){var Re=[0,0,0];_e[Ae]>0?Re[Ae]=N[1][Ae]:Re[Ae]=N[0][Ae];for(var ce=0;ce<2;++ce){var Ge=(Ae+1+ce)%3,nt=(Ae+1+(ce^1))%3;this.gridEnable[Ge]&&this._lines.drawGrid(Ge,nt,this.bounds,Re,this.gridColor[Ge],this.gridWidth[Ge]*this.pixelRatio)}for(var ce=0;ce<2;++ce){var Ge=(Ae+1+ce)%3,nt=(Ae+1+(ce^1))%3;this.zeroEnable[nt]&&Math.min(N[0][nt],N[1][nt])<=0&&Math.max(N[0][nt],N[1][nt])>=0&&this._lines.drawZero(Ge,nt,this.bounds,Re,this.zeroLineColor[nt],this.zeroLineWidth[nt]*this.pixelRatio)}}for(var Ae=0;Ae<3;++Ae){this.lineEnable[Ae]&&this._lines.drawAxisLine(Ae,this.bounds,ze[Ae].primalOffset,this.lineColor[Ae],this.lineWidth[Ae]*this.pixelRatio),this.lineMirror[Ae]&&this._lines.drawAxisLine(Ae,this.bounds,ze[Ae].mirrorOffset,this.lineColor[Ae],this.lineWidth[Ae]*this.pixelRatio);for(var ct=p(P,ze[Ae].primalMinor),qt=p(T,ze[Ae].mirrorMinor),rt=this.lineTickLength,ce=0;ce<3;++ce){var ot=Ee/H[5*ce];ct[ce]*=rt[ce]*ot,qt[ce]*=rt[ce]*ot}this.lineTickEnable[Ae]&&this._lines.drawAxisTicks(Ae,ze[Ae].primalOffset,ct,this.lineTickColor[Ae],this.lineTickWidth[Ae]*this.pixelRatio),this.lineTickMirror[Ae]&&this._lines.drawAxisTicks(Ae,ze[Ae].mirrorOffset,qt,this.lineTickColor[Ae],this.lineTickWidth[Ae]*this.pixelRatio)}this._lines.unbind(),this._text.bind(H,X,G,this.pixelRatio);var Rt,kt=.5,Ct,Yt;function xr(St){Yt=[0,0,0],Yt[St]=1}function er(St,Et,dt){var Ht=(St+1)%3,$t=(St+2)%3,fr=Et[Ht],_r=Et[$t],Br=dt[Ht],Or=dt[$t];if(fr>0&&Or>0){xr(Ht);return}else if(fr>0&&Or<0){xr(Ht);return}else if(fr<0&&Or>0){xr(Ht);return}else if(fr<0&&Or<0){xr(Ht);return}else if(_r>0&&Br>0){xr($t);return}else if(_r>0&&Br<0){xr($t);return}else if(_r<0&&Br>0){xr($t);return}else if(_r<0&&Br<0){xr($t);return}}for(var Ae=0;Ae<3;++Ae){for(var Ke=ze[Ae].primalMinor,xt=ze[Ae].mirrorMinor,bt=p(F,ze[Ae].primalOffset),ce=0;ce<3;++ce)this.lineTickEnable[Ae]&&(bt[ce]+=Ee*Ke[ce]*Math.max(this.lineTickLength[ce],0)/H[5*ce]);var Lt=[0,0,0];if(Lt[Ae]=1,this.tickEnable[Ae]){this.tickAngle[Ae]===-3600?(this.tickAngle[Ae]=0,this.tickAlign[Ae]=\"auto\"):this.tickAlign[Ae]=-1,Ct=1,Rt=[this.tickAlign[Ae],kt,Ct],Rt[0]===\"auto\"?Rt[0]=g:Rt[0]=parseInt(\"\"+Rt[0]),Yt=[0,0,0],er(Ae,Ke,xt);for(var ce=0;ce<3;++ce)bt[ce]+=Ee*Ke[ce]*this.tickPad[ce]/H[5*ce];this._text.drawTicks(Ae,this.tickSize[Ae],this.tickAngle[Ae],bt,this.tickColor[Ae],Lt,Yt,Rt)}if(this.labelEnable[Ae]){Ct=0,Yt=[0,0,0],this.labels[Ae].length>4&&(xr(Ae),Ct=1),Rt=[this.labelAlign[Ae],kt,Ct],Rt[0]===\"auto\"?Rt[0]=g:Rt[0]=parseInt(\"\"+Rt[0]);for(var ce=0;ce<3;++ce)bt[ce]+=Ee*Ke[ce]*this.labelPad[ce]/H[5*ce];bt[Ae]+=.5*(N[0][Ae]+N[1][Ae]),this._text.drawLabel(Ae,this.labelSize[Ae],this.labelAngle[Ae],bt,this.labelColor[Ae],[0,0,0],Yt,Rt)}}this._text.unbind()},k.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null};function q(V,H){var X=new E(V);return X.update(H),X}},5304:function(i,a,o){\"use strict\";i.exports=h;var s=o(2762),l=o(8116),u=o(1879).bg;function c(d,v,x,b){this.gl=d,this.buffer=v,this.vao=x,this.shader=b}var f=c.prototype;f.draw=function(d,v,x,b,p,E){for(var k=!1,A=0;A<3;++A)k=k||p[A];if(k){var L=this.gl;L.enable(L.POLYGON_OFFSET_FILL),L.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:d,view:v,projection:x,bounds:b,enable:p,colors:E},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),L.disable(L.POLYGON_OFFSET_FILL)}},f.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};function h(d){for(var v=[],x=[],b=0,p=0;p<3;++p)for(var E=(p+1)%3,k=(p+2)%3,A=[0,0,0],L=[0,0,0],_=-1;_<=1;_+=2){x.push(b,b+2,b+1,b+1,b+2,b+3),A[p]=_,L[p]=_;for(var C=-1;C<=1;C+=2){A[E]=C;for(var M=-1;M<=1;M+=2)A[k]=M,v.push(A[0],A[1],A[2],L[0],L[1],L[2]),b+=1}var g=E;E=k,k=g}var P=s(d,new Float32Array(v)),T=s(d,new Uint16Array(x),d.ELEMENT_ARRAY_BUFFER),F=l(d,[{buffer:P,type:d.FLOAT,size:3,offset:0,stride:24},{buffer:P,type:d.FLOAT,size:3,offset:12,stride:24}],T),q=u(d);return q.attributes.position.location=0,q.attributes.normal.location=1,new c(d,P,F,q)}},6429:function(i,a,o){\"use strict\";i.exports=_;var s=o(8828),l=o(6760),u=o(5202),c=o(3250),f=new Array(16),h=new Array(8),d=new Array(8),v=new Array(3),x=[0,0,0];(function(){for(var C=0;C<8;++C)h[C]=[1,1,1,1],d[C]=[1,1,1]})();function b(C,M,g){for(var P=0;P<4;++P){C[P]=g[12+P];for(var T=0;T<3;++T)C[P]+=M[T]*g[4*T+P]}}var p=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function E(C){for(var M=0;M<p.length;++M)if(C=u.positive(C,p[M]),C.length<3)return 0;for(var g=C[0],P=g[0]/g[3],T=g[1]/g[3],F=0,M=1;M+1<C.length;++M){var q=C[M],V=C[M+1],H=q[0]/q[3],X=q[1]/q[3],G=V[0]/V[3],N=V[1]/V[3],W=H-P,re=X-T,ae=G-P,_e=N-T;F+=Math.abs(W*_e-re*ae)}return F}var k=[1,1,1],A=[0,0,0],L={cubeEdges:k,axis:A};function _(C,M,g,P,T){l(f,M,C),l(f,g,f);for(var F=0,q=0;q<2;++q){v[2]=P[q][2];for(var V=0;V<2;++V){v[1]=P[V][1];for(var H=0;H<2;++H)v[0]=P[H][0],b(h[F],v,f),F+=1}}for(var X=-1,q=0;q<8;++q){for(var G=h[q][3],N=0;N<3;++N)d[q][N]=h[q][N]/G;T&&(d[q][2]*=-1),G<0&&(X<0||d[q][2]<d[X][2])&&(X=q)}if(X<0){X=0;for(var W=0;W<3;++W){for(var re=(W+2)%3,ae=(W+1)%3,_e=-1,Me=-1,ke=0;ke<2;++ke){var ge=ke<<W,ie=ge+(ke<<re)+(1-ke<<ae),Te=ge+(1-ke<<re)+(ke<<ae);c(d[ge],d[ie],d[Te],x)<0||(ke?_e=1:Me=1)}if(_e<0||Me<0){Me>_e&&(X|=1<<W);continue}for(var ke=0;ke<2;++ke){var ge=ke<<W,ie=ge+(ke<<re)+(1-ke<<ae),Te=ge+(1-ke<<re)+(ke<<ae),Ee=E([h[ge],h[ie],h[Te],h[ge+(1<<re)+(1<<ae)]]);ke?_e=Ee:Me=Ee}if(Me>_e){X|=1<<W;continue}}}for(var Ae=7^X,ze=-1,q=0;q<8;++q)q===X||q===Ae||(ze<0||d[ze][1]>d[q][1])&&(ze=q);for(var Ce=-1,q=0;q<3;++q){var me=ze^1<<q;if(!(me===X||me===Ae)){Ce<0&&(Ce=me);var ae=d[me];ae[0]<d[Ce][0]&&(Ce=me)}}for(var Re=-1,q=0;q<3;++q){var me=ze^1<<q;if(!(me===X||me===Ae||me===Ce)){Re<0&&(Re=me);var ae=d[me];ae[0]>d[Re][0]&&(Re=me)}}var ce=k;ce[0]=ce[1]=ce[2]=0,ce[s.log2(Ce^ze)]=ze&Ce,ce[s.log2(ze^Re)]=zeℜvar Ge=Re^7;Ge===X||Ge===Ae?(Ge=Ce^7,ce[s.log2(Re^Ge)]=Ge&Re):ce[s.log2(Ce^Ge)]=Ge&Ce;for(var nt=A,ct=X,W=0;W<3;++W)ct&1<<W?nt[W]=-1:nt[W]=1;return L}},501:function(i,a,o){\"use strict\";i.exports=k;var s=o(2762),l=o(8116),u=o(1879).n,c=[0,0,0],f=[0,0,0],h=[0,0,0],d=[0,0,0],v=[1,1];function x(A){return A[0]=A[1]=A[2]=0,A}function b(A,L){return A[0]=L[0],A[1]=L[1],A[2]=L[2],A}function p(A,L,_,C,M,g,P,T){this.gl=A,this.vertBuffer=L,this.vao=_,this.shader=C,this.tickCount=M,this.tickOffset=g,this.gridCount=P,this.gridOffset=T}var E=p.prototype;E.bind=function(A,L,_){this.shader.bind(),this.shader.uniforms.model=A,this.shader.uniforms.view=L,this.shader.uniforms.projection=_,v[0]=this.gl.drawingBufferWidth,v[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=v,this.vao.bind()},E.unbind=function(){this.vao.unbind()},E.drawAxisLine=function(A,L,_,C,M){var g=x(f);this.shader.uniforms.majorAxis=f,g[A]=L[1][A]-L[0][A],this.shader.uniforms.minorAxis=g;var P=b(d,_);P[A]+=L[0][A],this.shader.uniforms.offset=P,this.shader.uniforms.lineWidth=M,this.shader.uniforms.color=C;var T=x(h);T[(A+2)%3]=1,this.shader.uniforms.screenAxis=T,this.vao.draw(this.gl.TRIANGLES,6);var T=x(h);T[(A+1)%3]=1,this.shader.uniforms.screenAxis=T,this.vao.draw(this.gl.TRIANGLES,6)},E.drawAxisTicks=function(A,L,_,C,M){if(this.tickCount[A]){var g=x(c);g[A]=1,this.shader.uniforms.majorAxis=g,this.shader.uniforms.offset=L,this.shader.uniforms.minorAxis=_,this.shader.uniforms.color=C,this.shader.uniforms.lineWidth=M;var P=x(h);P[A]=1,this.shader.uniforms.screenAxis=P,this.vao.draw(this.gl.TRIANGLES,this.tickCount[A],this.tickOffset[A])}},E.drawGrid=function(A,L,_,C,M,g){if(this.gridCount[A]){var P=x(f);P[L]=_[1][L]-_[0][L],this.shader.uniforms.minorAxis=P;var T=b(d,C);T[L]+=_[0][L],this.shader.uniforms.offset=T;var F=x(c);F[A]=1,this.shader.uniforms.majorAxis=F;var q=x(h);q[A]=1,this.shader.uniforms.screenAxis=q,this.shader.uniforms.lineWidth=g,this.shader.uniforms.color=M,this.vao.draw(this.gl.TRIANGLES,this.gridCount[A],this.gridOffset[A])}},E.drawZero=function(A,L,_,C,M,g){var P=x(f);this.shader.uniforms.majorAxis=P,P[A]=_[1][A]-_[0][A],this.shader.uniforms.minorAxis=P;var T=b(d,C);T[A]+=_[0][A],this.shader.uniforms.offset=T;var F=x(h);F[L]=1,this.shader.uniforms.screenAxis=F,this.shader.uniforms.lineWidth=g,this.shader.uniforms.color=M,this.vao.draw(this.gl.TRIANGLES,6)},E.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()};function k(A,L,_){var C=[],M=[0,0,0],g=[0,0,0],P=[0,0,0],T=[0,0,0];C.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var F=0;F<3;++F){for(var H=C.length/3|0,q=0;q<_[F].length;++q){var V=+_[F][q].x;C.push(V,0,1,V,1,1,V,0,-1,V,0,-1,V,1,1,V,1,-1)}var G=C.length/3|0;M[F]=H,g[F]=G-H;for(var H=C.length/3|0,X=0;X<_[F].length;++X){var V=+_[F][X].x;C.push(V,0,1,V,1,1,V,0,-1,V,0,-1,V,1,1,V,1,-1)}var G=C.length/3|0;P[F]=H,T[F]=G-H}var N=s(A,new Float32Array(C)),W=l(A,[{buffer:N,type:A.FLOAT,size:3,stride:0,offset:0}]),re=u(A);return re.attributes.position.location=0,new p(A,N,W,re,g,M,T,P)}},1879:function(i,a,o){\"use strict\";var s=o(3236),l=o(9405),u=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 offset, majorAxis, minorAxis, screenAxis;\n", - "uniform float lineWidth;\n", - "uniform vec2 screenShape;\n", - "\n", - "vec3 project(vec3 p) {\n", - " vec4 pp = projection * (view * (model * vec4(p, 1.0)));\n", - " return pp.xyz / max(pp.w, 0.0001);\n", - "}\n", - "\n", - "void main() {\n", - " vec3 major = position.x * majorAxis;\n", - " vec3 minor = position.y * minorAxis;\n", - "\n", - " vec3 vPosition = major + minor + offset;\n", - " vec3 pPosition = project(vPosition);\n", - " vec3 offset = project(vPosition + screenAxis * position.z);\n", - "\n", - " vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;\n", - "\n", - " gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);\n", - "}\n", - "`]),c=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform vec4 color;\n", - "void main() {\n", - " gl_FragColor = color;\n", - "}`]);a.n=function(x){return l(x,u,c,null,[{name:\"position\",type:\"vec3\"}])};var f=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 offset, axis, alignDir, alignOpt;\n", - "uniform float scale, angle, pixelScale;\n", - "uniform vec2 resolution;\n", - "\n", - "vec3 project(vec3 p) {\n", - " vec4 pp = projection * (view * (model * vec4(p, 1.0)));\n", - " return pp.xyz / max(pp.w, 0.0001);\n", - "}\n", - "\n", - "float computeViewAngle(vec3 a, vec3 b) {\n", - " vec3 A = project(a);\n", - " vec3 B = project(b);\n", - "\n", - " return atan(\n", - " (B.y - A.y) * resolution.y,\n", - " (B.x - A.x) * resolution.x\n", - " );\n", - "}\n", - "\n", - "const float PI = 3.141592;\n", - "const float TWO_PI = 2.0 * PI;\n", - "const float HALF_PI = 0.5 * PI;\n", - "const float ONE_AND_HALF_PI = 1.5 * PI;\n", - "\n", - "int option = int(floor(alignOpt.x + 0.001));\n", - "float hv_ratio = alignOpt.y;\n", - "bool enableAlign = (alignOpt.z != 0.0);\n", - "\n", - "float mod_angle(float a) {\n", - " return mod(a, PI);\n", - "}\n", - "\n", - "float positive_angle(float a) {\n", - " return mod_angle((a < 0.0) ?\n", - " a + TWO_PI :\n", - " a\n", - " );\n", - "}\n", - "\n", - "float look_upwards(float a) {\n", - " float b = positive_angle(a);\n", - " return ((b > HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n", - " b - PI :\n", - " b;\n", - "}\n", - "\n", - "float 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", - "\n", - "float roundTo(float a, float b) {\n", - " return float(b * floor((a + 0.5 * b) / b));\n", - "}\n", - "\n", - "float 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", - "\n", - "float 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", - "\n", - "bool isAxisTitle = (axis.x == 0.0) &&\n", - " (axis.y == 0.0) &&\n", - " (axis.z == 0.0);\n", - "\n", - "void 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", - "`]),h=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform vec4 color;\n", - "void main() {\n", - " gl_FragColor = color;\n", - "}`]);a.Q=function(x){return l(x,f,h,null,[{name:\"position\",type:\"vec3\"}])};var d=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "attribute vec3 normal;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 enable;\n", - "uniform vec3 bounds[2];\n", - "\n", - "varying vec3 colorChannel;\n", - "\n", - "void 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", - "`]),v=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform vec4 colors[3];\n", - "\n", - "varying vec3 colorChannel;\n", - "\n", - "void main() {\n", - " gl_FragColor = colorChannel.x * colors[0] +\n", - " colorChannel.y * colors[1] +\n", - " colorChannel.z * colors[2];\n", - "}`]);a.bg=function(x){return l(x,d,v,null,[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}])}},4935:function(i,a,o){\"use strict\";i.exports=E;var s=o(2762),l=o(8116),u=o(4359),c=o(1879).Q,f=window||process.global||{},h=f.__TEXT_CACHE||{};f.__TEXT_CACHE={};var d=3;function v(k,A,L,_){this.gl=k,this.shader=A,this.buffer=L,this.vao=_,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var x=v.prototype,b=[0,0];x.bind=function(k,A,L,_){this.vao.bind(),this.shader.bind();var C=this.shader.uniforms;C.model=k,C.view=A,C.projection=L,C.pixelScale=_,b[0]=this.gl.drawingBufferWidth,b[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=b},x.unbind=function(){this.vao.unbind()},x.update=function(k,A,L,_,C){var M=[];function g(W,re,ae,_e,Me,ke){var ge=[ae.style,ae.weight,ae.variant,ae.family].join(\"_\"),ie=h[ge];ie||(ie=h[ge]={});var Te=ie[re];Te||(Te=ie[re]=p(re,{triangles:!0,font:ae.family,fontStyle:ae.style,fontWeight:ae.weight,fontVariant:ae.variant,textAlign:\"center\",textBaseline:\"middle\",lineSpacing:Me,styletags:ke}));for(var Ee=(_e||12)/12,Ae=Te.positions,ze=Te.cells,Ce=0,me=ze.length;Ce<me;++Ce)for(var Re=ze[Ce],ce=2;ce>=0;--ce){var Ge=Ae[Re[ce]];M.push(Ee*Ge[0],-Ee*Ge[1],W)}}for(var P=[0,0,0],T=[0,0,0],F=[0,0,0],q=[0,0,0],V=1.25,H={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},X=0;X<3;++X){F[X]=M.length/d|0,g(.5*(k[0][X]+k[1][X]),A[X],L[X],12,V,H),q[X]=(M.length/d|0)-F[X],P[X]=M.length/d|0;for(var G=0;G<_[X].length;++G)if(_[X][G].text){var N={family:_[X][G].font||C[X].family,style:C[X].fontStyle||C[X].style,weight:C[X].fontWeight||C[X].weight,variant:C[X].fontVariant||C[X].variant};g(_[X][G].x,_[X][G].text,N,_[X][G].fontSize||12,V,H)}T[X]=(M.length/d|0)-P[X]}this.buffer.update(M),this.tickOffset=P,this.tickCount=T,this.labelOffset=F,this.labelCount=q},x.drawTicks=function(k,A,L,_,C,M,g,P){this.tickCount[k]&&(this.shader.uniforms.axis=M,this.shader.uniforms.color=C,this.shader.uniforms.angle=L,this.shader.uniforms.scale=A,this.shader.uniforms.offset=_,this.shader.uniforms.alignDir=g,this.shader.uniforms.alignOpt=P,this.vao.draw(this.gl.TRIANGLES,this.tickCount[k],this.tickOffset[k]))},x.drawLabel=function(k,A,L,_,C,M,g,P){this.labelCount[k]&&(this.shader.uniforms.axis=M,this.shader.uniforms.color=C,this.shader.uniforms.angle=L,this.shader.uniforms.scale=A,this.shader.uniforms.offset=_,this.shader.uniforms.alignDir=g,this.shader.uniforms.alignOpt=P,this.vao.draw(this.gl.TRIANGLES,this.labelCount[k],this.labelOffset[k]))},x.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()};function p(k,A){try{return u(k,A)}catch(L){return console.warn('error vectorizing text:\"'+k+'\" error:',L),{cells:[],positions:[]}}}function E(k,A,L,_,C,M){var g=s(k),P=l(k,[{buffer:g,size:3}]),T=c(k);T.attributes.position.location=0;var F=new v(k,T,g,P);return F.update(A,L,_,C,M),F}},6444:function(i,a){\"use strict\";a.create=s,a.equal=l;function o(u,c){var f=u+\"\",h=f.indexOf(\".\"),d=0;h>=0&&(d=f.length-h-1);var v=Math.pow(10,d),x=Math.round(u*c*v),b=x+\"\";if(b.indexOf(\"e\")>=0)return b;var p=x/v,E=x%v;x<0?(p=-Math.ceil(p)|0,E=-E|0):(p=Math.floor(p)|0,E=E|0);var k=\"\"+p;if(x<0&&(k=\"-\"+k),d){for(var A=\"\"+E;A.length<d;)A=\"0\"+A;return k+\".\"+A}else return k}function s(u,c){for(var f=[],h=0;h<3;++h){for(var d=[],v=.5*(u[0][h]+u[1][h]),x=0;x*c[h]<=u[1][h];++x)d.push({x:x*c[h],text:o(c[h],x)});for(var x=-1;x*c[h]>=u[0][h];--x)d.push({x:x*c[h],text:o(c[h],x)});f.push(d)}return f}function l(u,c){for(var f=0;f<3;++f){if(u[f].length!==c[f].length)return!1;for(var h=0;h<u[f].length;++h){var d=u[f][h],v=c[f][h];if(d.x!==v.x||d.text!==v.text||d.font!==v.font||d.fontColor!==v.fontColor||d.fontSize!==v.fontSize||d.dx!==v.dx||d.dy!==v.dy)return!1}}return!0}},5445:function(i,a,o){\"use strict\";i.exports=L;var s=o(5033),l=o(5202),u=o(6429),c=o(6760),f=o(5665),h=o(5352),d=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),v=new Float32Array(16);function x(_,C,M){this.lo=_,this.hi=C,this.pixelsPerDataUnit=M}var b=[0,0,0,1],p=[0,0,0,1];function E(_,C,M,g,P){for(var T=0;T<3;++T){for(var F=b,q=p,V=0;V<3;++V)q[V]=F[V]=M[V];q[3]=F[3]=1,q[T]+=1,h(q,q,C),q[3]<0&&(_[T]=1/0),F[T]-=1,h(F,F,C),F[3]<0&&(_[T]=1/0);var H=(F[0]/F[3]-q[0]/q[3])*g,X=(F[1]/F[3]-q[1]/q[3])*P;_[T]=.25*Math.sqrt(H*H+X*X)}return _}var k=[new x(1/0,-1/0,1/0),new x(1/0,-1/0,1/0),new x(1/0,-1/0,1/0)],A=[0,0,0];function L(_,C,M,g,X){var T=C.model||d,F=C.view||d,q=C.projection||d,V=C._ortho||!1,H=_.bounds,X=X||u(T,F,q,H,V),G=X.axis;c(v,F,T),c(v,q,v);for(var N=k,W=0;W<3;++W)N[W].lo=1/0,N[W].hi=-1/0,N[W].pixelsPerDataUnit=1/0;var re=s(f(v,v));f(v,v);for(var ae=0;ae<3;++ae){var _e=(ae+1)%3,Me=(ae+2)%3,ke=A;e:for(var W=0;W<2;++W){var ge=[];if(G[ae]<0!=!!W){ke[ae]=H[W][ae];for(var ie=0;ie<2;++ie){ke[_e]=H[ie^W][_e];for(var Te=0;Te<2;++Te)ke[Me]=H[Te^ie^W][Me],ge.push(ke.slice())}for(var Ee=V?5:4,ie=Ee;ie===Ee;++ie){if(ge.length===0)continue e;ge=l.positive(ge,re[ie])}for(var ie=0;ie<ge.length;++ie)for(var Me=ge[ie],Ae=E(A,v,Me,M,g),Te=0;Te<3;++Te)N[Te].lo=Math.min(N[Te].lo,Me[Te]),N[Te].hi=Math.max(N[Te].hi,Me[Te]),Te!==ae&&(N[Te].pixelsPerDataUnit=Math.min(N[Te].pixelsPerDataUnit,Math.abs(Ae[Te])))}}}return N}},2762:function(i,a,o){\"use strict\";var s=o(1888),l=o(5298),u=o(9618),c=[\"uint8\",\"uint8_clamped\",\"uint16\",\"uint32\",\"int8\",\"int16\",\"int32\",\"float32\"];function f(p,E,k,A,L){this.gl=p,this.type=E,this.handle=k,this.length=A,this.usage=L}var h=f.prototype;h.bind=function(){this.gl.bindBuffer(this.type,this.handle)},h.unbind=function(){this.gl.bindBuffer(this.type,null)},h.dispose=function(){this.gl.deleteBuffer(this.handle)};function d(p,E,k,A,L,_){var C=L.length*L.BYTES_PER_ELEMENT;if(_<0)return p.bufferData(E,L,A),C;if(C+_>k)throw new Error(\"gl-buffer: If resizing buffer, must not specify offset\");return p.bufferSubData(E,_,L),k}function v(p,E){for(var k=s.malloc(p.length,E),A=p.length,L=0;L<A;++L)k[L]=p[L];return k}function x(p,E){for(var k=1,A=E.length-1;A>=0;--A){if(E[A]!==k)return!1;k*=p[A]}return!0}h.update=function(p,E){if(typeof E!=\"number\"&&(E=-1),this.bind(),typeof p==\"object\"&&typeof p.shape!=\"undefined\"){var k=p.dtype;if(c.indexOf(k)<0&&(k=\"float32\"),this.type===this.gl.ELEMENT_ARRAY_BUFFER){var A=gl.getExtension(\"OES_element_index_uint\");A&&k!==\"uint16\"?k=\"uint32\":k=\"uint16\"}if(k===p.dtype&&x(p.shape,p.stride))p.offset===0&&p.data.length===p.shape[0]?this.length=d(this.gl,this.type,this.length,this.usage,p.data,E):this.length=d(this.gl,this.type,this.length,this.usage,p.data.subarray(p.offset,p.shape[0]),E);else{var L=s.malloc(p.size,k),_=u(L,p.shape);l.assign(_,p),E<0?this.length=d(this.gl,this.type,this.length,this.usage,L,E):this.length=d(this.gl,this.type,this.length,this.usage,L.subarray(0,p.size),E),s.free(L)}}else if(Array.isArray(p)){var C;this.type===this.gl.ELEMENT_ARRAY_BUFFER?C=v(p,\"uint16\"):C=v(p,\"float32\"),E<0?this.length=d(this.gl,this.type,this.length,this.usage,C,E):this.length=d(this.gl,this.type,this.length,this.usage,C.subarray(0,p.length),E),s.free(C)}else if(typeof p==\"object\"&&typeof p.length==\"number\")this.length=d(this.gl,this.type,this.length,this.usage,p,E);else if(typeof p==\"number\"||p===void 0){if(E>=0)throw new Error(\"gl-buffer: Cannot specify offset when resizing buffer\");p=p|0,p<=0&&(p=1),this.gl.bufferData(this.type,p|0,this.usage),this.length=p}else throw new Error(\"gl-buffer: Invalid data type\")};function b(p,E,k,A){if(k=k||p.ARRAY_BUFFER,A=A||p.DYNAMIC_DRAW,k!==p.ARRAY_BUFFER&&k!==p.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(A!==p.DYNAMIC_DRAW&&A!==p.STATIC_DRAW&&A!==p.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 L=p.createBuffer(),_=new f(p,k,L,0,A);return _.update(E),_}i.exports=b},6405:function(i,a,o){\"use strict\";var s=o(2931);i.exports=function(u,c){var f=u.positions,h=u.vectors,d={positions:[],vertexIntensity:[],vertexIntensityBounds:u.vertexIntensityBounds,vectors:[],cells:[],coneOffset:u.coneOffset,colormap:u.colormap};if(u.positions.length===0)return c&&(c[0]=[0,0,0],c[1]=[0,0,0]),d;for(var v=0,x=1/0,b=-1/0,p=1/0,E=-1/0,k=1/0,A=-1/0,L=null,_=null,C=[],M=1/0,g=!1,P=u.coneSizemode===\"raw\",T=0;T<f.length;T++){var F=f[T];x=Math.min(F[0],x),b=Math.max(F[0],b),p=Math.min(F[1],p),E=Math.max(F[1],E),k=Math.min(F[2],k),A=Math.max(F[2],A);var q=h[T];if(s.length(q)>v&&(v=s.length(q)),T&&!P){var V=2*s.distance(L,F)/(s.length(_)+s.length(q));V?(M=Math.min(M,V),g=!1):g=!0}g||(L=F,_=q),C.push(q)}var H=[x,p,k],X=[b,E,A];c&&(c[0]=H,c[1]=X),v===0&&(v=1);var G=1/v;isFinite(M)||(M=1),d.vectorScale=M;var N=u.coneSize||(P?1:.5);u.absoluteConeSize&&(N=u.absoluteConeSize*G),d.coneScale=N;for(var T=0,W=0;T<f.length;T++)for(var F=f[T],re=F[0],ae=F[1],_e=F[2],Me=C[T],ke=s.length(Me)*G,ge=0,ie=8;ge<ie;ge++){d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.vectors.push(Me),d.vectors.push(Me),d.vectors.push(Me),d.vectors.push(Me),d.vectors.push(Me),d.vectors.push(Me),d.vertexIntensity.push(ke,ke,ke),d.vertexIntensity.push(ke,ke,ke);var Te=d.positions.length;d.cells.push([Te-6,Te-5,Te-4],[Te-3,Te-2,Te-1])}return d};var l=o(614);i.exports.createMesh=o(9060),i.exports.createConeMesh=function(u,c){return i.exports.createMesh(u,c,{shaders:l,traceType:\"cone\"})}},9060:function(i,a,o){\"use strict\";var s=o(9405),l=o(2762),u=o(8116),c=o(7766),f=o(6760),h=o(7608),d=o(9618),v=o(6729),x=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function b(C,M,g,P,T,F,q,V,H,X,G){this.gl=C,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=M,this.dirty=!0,this.triShader=g,this.pickShader=P,this.trianglePositions=T,this.triangleVectors=F,this.triangleColors=V,this.triangleUVs=H,this.triangleIds=q,this.triangleVAO=X,this.triangleCount=0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.traceType=G,this.tubeScale=1,this.coneScale=2,this.vectorScale=1,this.coneOffset=.25,this._model=x,this._view=x,this._projection=x,this._resolution=[1,1]}var p=b.prototype;p.isOpaque=function(){return this.opacity>=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(C){this.pickId=C};function E(C){for(var M=v({colormap:C,nshades:256,format:\"rgba\"}),g=new Uint8Array(256*4),P=0;P<256;++P){for(var T=M[P],F=0;F<3;++F)g[4*P+F]=T[F];g[4*P+3]=T[3]*255}return d(g,[256,256,4],[4,0,1])}function k(C){for(var M=C.length,g=new Array(M),P=0;P<M;++P)g[P]=C[P][2];return g}p.update=function(C){C=C||{};var M=this.gl;this.dirty=!0,\"lightPosition\"in C&&(this.lightPosition=C.lightPosition),\"opacity\"in C&&(this.opacity=C.opacity),\"ambient\"in C&&(this.ambientLight=C.ambient),\"diffuse\"in C&&(this.diffuseLight=C.diffuse),\"specular\"in C&&(this.specularLight=C.specular),\"roughness\"in C&&(this.roughness=C.roughness),\"fresnel\"in C&&(this.fresnel=C.fresnel),C.tubeScale!==void 0&&(this.tubeScale=C.tubeScale),C.vectorScale!==void 0&&(this.vectorScale=C.vectorScale),C.coneScale!==void 0&&(this.coneScale=C.coneScale),C.coneOffset!==void 0&&(this.coneOffset=C.coneOffset),C.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=M.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=M.LINEAR,this.texture.setPixels(E(C.colormap)),this.texture.generateMipmap());var g=C.cells,P=C.positions,T=C.vectors;if(!(!P||!g||!T)){var F=[],q=[],V=[],H=[],X=[];this.cells=g,this.positions=P,this.vectors=T;var G=C.meshColor||[1,1,1,1],N=C.vertexIntensity,W=1/0,re=-1/0;if(N)if(C.vertexIntensityBounds)W=+C.vertexIntensityBounds[0],re=+C.vertexIntensityBounds[1];else for(var ae=0;ae<N.length;++ae){var _e=N[ae];W=Math.min(W,_e),re=Math.max(re,_e)}else for(var ae=0;ae<P.length;++ae){var _e=P[ae][2];W=Math.min(W,_e),re=Math.max(re,_e)}N?this.intensity=N:this.intensity=k(P),this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(var ae=0;ae<P.length;++ae)for(var Me=P[ae],ke=0;ke<3;++ke)isNaN(Me[ke])||!isFinite(Me[ke])||(this.bounds[0][ke]=Math.min(this.bounds[0][ke],Me[ke]),this.bounds[1][ke]=Math.max(this.bounds[1][ke],Me[ke]));var ge=0;e:for(var ae=0;ae<g.length;++ae){var ie=g[ae];switch(ie.length){case 3:for(var ke=0;ke<3;++ke)for(var Te=ie[ke],Me=P[Te],Ee=0;Ee<3;++Ee)if(isNaN(Me[Ee])||!isFinite(Me[Ee]))continue e;for(var ke=0;ke<3;++ke){var Te=ie[2-ke],Me=P[Te];F.push(Me[0],Me[1],Me[2],Me[3]);var Ae=T[Te];q.push(Ae[0],Ae[1],Ae[2],Ae[3]||0);var ze=G;ze.length===3?V.push(ze[0],ze[1],ze[2],1):V.push(ze[0],ze[1],ze[2],ze[3]);var Ce;N?Ce=[(N[Te]-W)/(re-W),0]:Ce=[(Me[2]-W)/(re-W),0],H.push(Ce[0],Ce[1]),X.push(ae)}ge+=1;break;default:break}}this.triangleCount=ge,this.trianglePositions.update(F),this.triangleVectors.update(q),this.triangleColors.update(V),this.triangleUVs.update(H),this.triangleIds.update(new Uint32Array(X))}},p.drawTransparent=p.draw=function(C){C=C||{};for(var M=this.gl,g=C.model||x,P=C.view||x,T=C.projection||x,F=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],q=0;q<3;++q)F[0][q]=Math.max(F[0][q],this.clipBounds[0][q]),F[1][q]=Math.min(F[1][q],this.clipBounds[1][q]);var V={model:g,view:P,projection:T,inverseModel:x.slice(),clipBounds:F,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,texture:0};V.inverseModel=h(V.inverseModel,V.model),M.disable(M.CULL_FACE),this.texture.bind(0);var H=new Array(16);f(H,V.view,V.model),f(H,V.projection,H),h(H,H);for(var q=0;q<3;++q)V.eyePosition[q]=H[12+q]/H[15];for(var X=H[15],q=0;q<3;++q)X+=this.lightPosition[q]*H[4*q+3];for(var q=0;q<3;++q){for(var G=H[12+q],N=0;N<3;++N)G+=H[4*N+q]*this.lightPosition[N];V.lightPosition[q]=G/X}if(this.triangleCount>0){var W=this.triShader;W.bind(),W.uniforms=V,this.triangleVAO.bind(),M.drawArrays(M.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}},p.drawPick=function(C){C=C||{};for(var M=this.gl,g=C.model||x,P=C.view||x,T=C.projection||x,F=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],q=0;q<3;++q)F[0][q]=Math.max(F[0][q],this.clipBounds[0][q]),F[1][q]=Math.min(F[1][q],this.clipBounds[1][q]);this._model=[].slice.call(g),this._view=[].slice.call(P),this._projection=[].slice.call(T),this._resolution=[M.drawingBufferWidth,M.drawingBufferHeight];var V={model:g,view:P,projection:T,clipBounds:F,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},H=this.pickShader;H.bind(),H.uniforms=V,this.triangleCount>0&&(this.triangleVAO.bind(),M.drawArrays(M.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind())},p.pick=function(C){if(!C||C.id!==this.pickId)return null;var M=C.value[0]+256*C.value[1]+65536*C.value[2],g=this.cells[M],P=this.positions[g[1]].slice(0,3),T={position:P,dataCoordinate:P,index:Math.floor(g[1]/48)};return this.traceType===\"cone\"?T.index=Math.floor(g[1]/48):this.traceType===\"streamtube\"&&(T.intensity=this.intensity[g[1]],T.velocity=this.vectors[g[1]].slice(0,3),T.divergence=this.vectors[g[1]][3],T.index=M),T},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()};function A(C,M){var g=s(C,M.meshShader.vertex,M.meshShader.fragment,null,M.meshShader.attributes);return g.attributes.position.location=0,g.attributes.color.location=2,g.attributes.uv.location=3,g.attributes.vector.location=4,g}function L(C,M){var g=s(C,M.pickShader.vertex,M.pickShader.fragment,null,M.pickShader.attributes);return g.attributes.position.location=0,g.attributes.id.location=1,g.attributes.vector.location=4,g}function _(C,M,g){var P=g.shaders;arguments.length===1&&(M=C,C=M.gl);var T=A(C,P),F=L(C,P),q=c(C,d(new Uint8Array([255,255,255,255]),[1,1,4]));q.generateMipmap(),q.minFilter=C.LINEAR_MIPMAP_LINEAR,q.magFilter=C.LINEAR;var V=l(C),H=l(C),X=l(C),G=l(C),N=l(C),W=u(C,[{buffer:V,type:C.FLOAT,size:4},{buffer:N,type:C.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:X,type:C.FLOAT,size:4},{buffer:G,type:C.FLOAT,size:2},{buffer:H,type:C.FLOAT,size:4}]),re=new b(C,q,T,F,V,H,N,X,G,W,g.traceType||\"cone\");return re.update(M),re}i.exports=_},614:function(i,a,o){var s=o(3236),l=s([`precision highp float;\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "vec3 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", - "//\n", - "vec3 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", - "\n", - "attribute vec3 vector;\n", - "attribute vec4 color, position;\n", - "attribute vec2 uv;\n", - "\n", - "uniform float vectorScale, coneScale, coneOffset;\n", - "uniform mat4 model, view, projection, inverseModel;\n", - "uniform vec3 eyePosition, lightPosition;\n", - "\n", - "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),u=s([`#extension GL_OES_standard_derivatives : enable\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "float 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", - "\n", - "float 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", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\n", - "uniform sampler2D texture;\n", - "\n", - "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),c=s([`precision highp float;\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "vec3 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", - "//\n", - "vec3 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", - "\n", - "attribute vec4 vector;\n", - "attribute vec4 position;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform float vectorScale, coneScale, coneOffset;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void 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", - "`]),f=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float pickId;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n", - "\n", - " gl_FragColor = vec4(pickId, f_id.xyz);\n", - "}`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec3\"}]},a.pickShader={vertex:c,fragment:f,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec3\"}]}},737:function(i){i.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(i,a,o){var s=o(737);i.exports=function(u){return s[u]}},9165:function(i,a,o){\"use strict\";i.exports=b;var s=o(2762),l=o(8116),u=o(3436),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(p,E,k,A){this.gl=p,this.shader=A,this.buffer=E,this.vao=k,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 h=f.prototype;h.isOpaque=function(){return!this.hasAlpha},h.isTransparent=function(){return this.hasAlpha},h.drawTransparent=h.draw=function(p){var E=this.gl,k=this.shader.uniforms;this.shader.bind();var A=k.view=p.view||c,L=k.projection=p.projection||c;k.model=p.model||c,k.clipBounds=this.clipBounds,k.opacity=this.opacity;var _=A[12],C=A[13],M=A[14],g=A[15],P=p._ortho||!1,T=P?2:1,F=T*this.pixelRatio*(L[3]*_+L[7]*C+L[11]*M+L[15]*g)/E.drawingBufferHeight;this.vao.bind();for(var q=0;q<3;++q)E.lineWidth(this.lineWidth[q]*this.pixelRatio),k.capSize=this.capSize[q]*F,this.lineCount[q]&&E.drawArrays(E.LINES,this.lineOffset[q],this.lineCount[q]);this.vao.unbind()};function d(p,E){for(var k=0;k<3;++k)p[0][k]=Math.min(p[0][k],E[k]),p[1][k]=Math.max(p[1][k],E[k])}var v=function(){for(var p=new Array(3),E=0;E<3;++E){for(var k=[],A=1;A<=2;++A)for(var L=-1;L<=1;L+=2){var _=(A+E)%3,C=[0,0,0];C[_]=L,k.push(C)}p[E]=k}return p}();function x(p,E,k,A){for(var L=v[A],_=0;_<L.length;++_){var C=L[_];p.push(E[0],E[1],E[2],k[0],k[1],k[2],k[3],C[0],C[1],C[2])}return L.length}h.update=function(p){p=p||{},\"lineWidth\"in p&&(this.lineWidth=p.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),\"capSize\"in p&&(this.capSize=p.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),this.hasAlpha=!1,\"opacity\"in p&&(this.opacity=+p.opacity,this.opacity<1&&(this.hasAlpha=!0));var E=p.color||[[0,0,0],[0,0,0],[0,0,0]],k=p.position,A=p.error;if(Array.isArray(E[0])||(E=[E,E,E]),k&&A){var L=[],_=k.length,C=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var M=0;M<3;++M){this.lineOffset[M]=C;e:for(var g=0;g<_;++g){for(var P=k[g],T=0;T<3;++T)if(isNaN(P[T])||!isFinite(P[T]))continue e;var F=A[g],q=E[M];if(Array.isArray(q[0])&&(q=E[g]),q.length===3?q=[q[0],q[1],q[2],1]:q.length===4&&(q=[q[0],q[1],q[2],q[3]],!this.hasAlpha&&q[3]<1&&(this.hasAlpha=!0)),!(isNaN(F[0][M])||isNaN(F[1][M]))){if(F[0][M]<0){var V=P.slice();V[M]+=F[0][M],L.push(P[0],P[1],P[2],q[0],q[1],q[2],q[3],0,0,0,V[0],V[1],V[2],q[0],q[1],q[2],q[3],0,0,0),d(this.bounds,V),C+=2+x(L,V,q,M)}if(F[1][M]>0){var V=P.slice();V[M]+=F[1][M],L.push(P[0],P[1],P[2],q[0],q[1],q[2],q[3],0,0,0,V[0],V[1],V[2],q[0],q[1],q[2],q[3],0,0,0),d(this.bounds,V),C+=2+x(L,V,q,M)}}}this.lineCount[M]=C-this.lineOffset[M]}this.buffer.update(L)}},h.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()};function b(p){var E=p.gl,k=s(E),A=l(E,[{buffer:k,type:E.FLOAT,size:3,offset:0,stride:40},{buffer:k,type:E.FLOAT,size:4,offset:12,stride:40},{buffer:k,type:E.FLOAT,size:3,offset:28,stride:40}]),L=u(E);L.attributes.position.location=0,L.attributes.color.location=1,L.attributes.offset.location=2;var _=new f(E,k,A,L);return _.update(p),_}},3436:function(i,a,o){\"use strict\";var s=o(3236),l=o(9405),u=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position, offset;\n", - "attribute vec4 color;\n", - "uniform mat4 model, view, projection;\n", - "uniform float capSize;\n", - "varying vec4 fragColor;\n", - "varying vec3 fragPosition;\n", - "\n", - "void 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", - "}`]),c=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float opacity;\n", - "varying vec3 fragPosition;\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - " if (\n", - " outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n", - " fragColor.a * opacity == 0.\n", - " ) discard;\n", - "\n", - " gl_FragColor = opacity * fragColor;\n", - "}`]);i.exports=function(f){return l(f,u,c,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"offset\",type:\"vec3\"}])}},2260:function(i,a,o){\"use strict\";var s=o(7766);i.exports=C;var l=null,u,c,f,h;function d(M){var g=M.getParameter(M.FRAMEBUFFER_BINDING),P=M.getParameter(M.RENDERBUFFER_BINDING),T=M.getParameter(M.TEXTURE_BINDING_2D);return[g,P,T]}function v(M,g){M.bindFramebuffer(M.FRAMEBUFFER,g[0]),M.bindRenderbuffer(M.RENDERBUFFER,g[1]),M.bindTexture(M.TEXTURE_2D,g[2])}function x(M,g){var P=M.getParameter(g.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(P+1);for(var T=0;T<=P;++T){for(var F=new Array(P),q=0;q<T;++q)F[q]=M.COLOR_ATTACHMENT0+q;for(var q=T;q<P;++q)F[q]=M.NONE;l[T]=F}}function b(M){switch(M){case u:throw new Error(\"gl-fbo: Framebuffer unsupported\");case c:throw new Error(\"gl-fbo: Framebuffer incomplete attachment\");case f:throw new Error(\"gl-fbo: Framebuffer incomplete dimensions\");case h:throw new Error(\"gl-fbo: Framebuffer incomplete missing attachment\");default:throw new Error(\"gl-fbo: Framebuffer failed for unspecified reason\")}}function p(M,g,P,T,F,q){if(!T)return null;var V=s(M,g,P,F,T);return V.magFilter=M.NEAREST,V.minFilter=M.NEAREST,V.mipSamples=1,V.bind(),M.framebufferTexture2D(M.FRAMEBUFFER,q,M.TEXTURE_2D,V.handle,0),V}function E(M,g,P,T,F){var q=M.createRenderbuffer();return M.bindRenderbuffer(M.RENDERBUFFER,q),M.renderbufferStorage(M.RENDERBUFFER,T,g,P),M.framebufferRenderbuffer(M.FRAMEBUFFER,F,M.RENDERBUFFER,q),q}function k(M){var g=d(M.gl),P=M.gl,T=M.handle=P.createFramebuffer(),F=M._shape[0],q=M._shape[1],V=M.color.length,H=M._ext,X=M._useStencil,G=M._useDepth,N=M._colorType;P.bindFramebuffer(P.FRAMEBUFFER,T);for(var W=0;W<V;++W)M.color[W]=p(P,F,q,N,P.RGBA,P.COLOR_ATTACHMENT0+W);V===0?(M._color_rb=E(P,F,q,P.RGBA4,P.COLOR_ATTACHMENT0),H&&H.drawBuffersWEBGL(l[0])):V>1&&H.drawBuffersWEBGL(l[V]);var re=P.getExtension(\"WEBGL_depth_texture\");re?X?M.depth=p(P,F,q,re.UNSIGNED_INT_24_8_WEBGL,P.DEPTH_STENCIL,P.DEPTH_STENCIL_ATTACHMENT):G&&(M.depth=p(P,F,q,P.UNSIGNED_SHORT,P.DEPTH_COMPONENT,P.DEPTH_ATTACHMENT)):G&&X?M._depth_rb=E(P,F,q,P.DEPTH_STENCIL,P.DEPTH_STENCIL_ATTACHMENT):G?M._depth_rb=E(P,F,q,P.DEPTH_COMPONENT16,P.DEPTH_ATTACHMENT):X&&(M._depth_rb=E(P,F,q,P.STENCIL_INDEX,P.STENCIL_ATTACHMENT));var ae=P.checkFramebufferStatus(P.FRAMEBUFFER);if(ae!==P.FRAMEBUFFER_COMPLETE){M._destroyed=!0,P.bindFramebuffer(P.FRAMEBUFFER,null),P.deleteFramebuffer(M.handle),M.handle=null,M.depth&&(M.depth.dispose(),M.depth=null),M._depth_rb&&(P.deleteRenderbuffer(M._depth_rb),M._depth_rb=null);for(var W=0;W<M.color.length;++W)M.color[W].dispose(),M.color[W]=null;M._color_rb&&(P.deleteRenderbuffer(M._color_rb),M._color_rb=null),v(P,g),b(ae)}v(P,g)}function A(M,g,P,T,F,q,V,H){this.gl=M,this._shape=[g|0,P|0],this._destroyed=!1,this._ext=H,this.color=new Array(F);for(var X=0;X<F;++X)this.color[X]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=T,this._useDepth=q,this._useStencil=V;var G=this,N=[g|0,P|0];Object.defineProperties(N,{0:{get:function(){return G._shape[0]},set:function(W){return G.width=W}},1:{get:function(){return G._shape[1]},set:function(W){return G.height=W}}}),this._shapeVector=N,k(this)}var L=A.prototype;function _(M,g,P){if(M._destroyed)throw new Error(\"gl-fbo: Can't resize destroyed FBO\");if(!(M._shape[0]===g&&M._shape[1]===P)){var T=M.gl,F=T.getParameter(T.MAX_RENDERBUFFER_SIZE);if(g<0||g>F||P<0||P>F)throw new Error(\"gl-fbo: Can't resize FBO, invalid dimensions\");M._shape[0]=g,M._shape[1]=P;for(var q=d(T),V=0;V<M.color.length;++V)M.color[V].shape=M._shape;M._color_rb&&(T.bindRenderbuffer(T.RENDERBUFFER,M._color_rb),T.renderbufferStorage(T.RENDERBUFFER,T.RGBA4,M._shape[0],M._shape[1])),M.depth&&(M.depth.shape=M._shape),M._depth_rb&&(T.bindRenderbuffer(T.RENDERBUFFER,M._depth_rb),M._useDepth&&M._useStencil?T.renderbufferStorage(T.RENDERBUFFER,T.DEPTH_STENCIL,M._shape[0],M._shape[1]):M._useDepth?T.renderbufferStorage(T.RENDERBUFFER,T.DEPTH_COMPONENT16,M._shape[0],M._shape[1]):M._useStencil&&T.renderbufferStorage(T.RENDERBUFFER,T.STENCIL_INDEX,M._shape[0],M._shape[1])),T.bindFramebuffer(T.FRAMEBUFFER,M.handle);var H=T.checkFramebufferStatus(T.FRAMEBUFFER);H!==T.FRAMEBUFFER_COMPLETE&&(M.dispose(),v(T,q),b(H)),v(T,q)}}Object.defineProperties(L,{shape:{get:function(){return this._destroyed?[0,0]:this._shapeVector},set:function(M){if(Array.isArray(M)||(M=[M|0,M|0]),M.length!==2)throw new Error(\"gl-fbo: Shape vector must be length 2\");var g=M[0]|0,P=M[1]|0;return _(this,g,P),[g,P]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(M){return M=M|0,_(this,M,this._shape[1]),M},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(M){return M=M|0,_(this,this._shape[0],M),M},enumerable:!1}}),L.bind=function(){if(!this._destroyed){var M=this.gl;M.bindFramebuffer(M.FRAMEBUFFER,this.handle),M.viewport(0,0,this._shape[0],this._shape[1])}},L.dispose=function(){if(!this._destroyed){this._destroyed=!0;var M=this.gl;M.deleteFramebuffer(this.handle),this.handle=null,this.depth&&(this.depth.dispose(),this.depth=null),this._depth_rb&&(M.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var g=0;g<this.color.length;++g)this.color[g].dispose(),this.color[g]=null;this._color_rb&&(M.deleteRenderbuffer(this._color_rb),this._color_rb=null)}};function C(M,g,P,T){u||(u=M.FRAMEBUFFER_UNSUPPORTED,c=M.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,f=M.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,h=M.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var F=M.getExtension(\"WEBGL_draw_buffers\");if(!l&&F&&x(M,F),Array.isArray(g)&&(T=P,P=g[1]|0,g=g[0]|0),typeof g!=\"number\")throw new Error(\"gl-fbo: Missing shape parameter\");var q=M.getParameter(M.MAX_RENDERBUFFER_SIZE);if(g<0||g>q||P<0||P>q)throw new Error(\"gl-fbo: Parameters are too large for FBO\");T=T||{};var V=1;if(\"color\"in T){if(V=Math.max(T.color|0,0),V<0)throw new Error(\"gl-fbo: Must specify a nonnegative number of colors\");if(V>1)if(F){if(V>M.getParameter(F.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\"gl-fbo: Context does not support \"+V+\" draw buffers\")}else throw new Error(\"gl-fbo: Multiple draw buffer extension not supported\")}var H=M.UNSIGNED_BYTE,X=M.getExtension(\"OES_texture_float\");if(T.float&&V>0){if(!X)throw new Error(\"gl-fbo: Context does not support floating point textures\");H=M.FLOAT}else T.preferFloat&&V>0&&X&&(H=M.FLOAT);var G=!0;\"depth\"in T&&(G=!!T.depth);var N=!1;return\"stencil\"in T&&(N=!!T.stencil),new A(M,g,P,H,V,G,N,F)}},2992:function(i,a,o){var s=o(3387).sprintf,l=o(5171),u=o(1848),c=o(1085);i.exports=f;function f(h,d,v){\"use strict\";var x=u(d)||\"of unknown name (see npm glsl-shader-name)\",b=\"unknown type\";v!==void 0&&(b=v===l.FRAGMENT_SHADER?\"fragment\":\"vertex\");for(var p=s(`Error compiling %s shader %s:\n", - "`,b,x),E=s(\"%s%s\",p,h),k=h.split(`\n", - "`),A={},L=0;L<k.length;L++){var _=k[L];if(!(_===\"\"||_===\"\\0\")){var C=parseInt(_.split(\":\")[2]);if(isNaN(C))throw new Error(s(\"Could not parse error: %s\",_));A[C]=_}}for(var M=c(d).split(`\n", - "`),L=0;L<M.length;L++)if(!(!A[L+3]&&!A[L+2]&&!A[L+1])){var g=M[L];if(p+=g+`\n", - "`,A[L+1]){var P=A[L+1];P=P.substr(P.split(\":\",3).join(\":\").length+1).trim(),p+=s(`^^^ %s\n", - "\n", - "`,P)}}return{long:p.trim(),short:E.trim()}}},7319:function(i,a,o){var s=o(3236),l=o(9405),u=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position, nextPosition;\n", - "attribute float arcLength, lineWidth;\n", - "attribute vec4 color;\n", - "\n", - "uniform vec2 screenShape;\n", - "uniform float pixelRatio;\n", - "uniform mat4 model, view, projection;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec3 worldPosition;\n", - "varying float pixelArcLength;\n", - "\n", - "vec4 project(vec3 p) {\n", - " return projection * (view * (model * vec4(p, 1.0)));\n", - "}\n", - "\n", - "void main() {\n", - " vec4 startPoint = project(position);\n", - " vec4 endPoint = project(nextPosition);\n", - "\n", - " vec2 A = startPoint.xy / startPoint.w;\n", - " vec2 B = endPoint.xy / endPoint.w;\n", - "\n", - " float clipAngle = atan(\n", - " (B.y - A.y) * screenShape.y,\n", - " (B.x - A.x) * screenShape.x\n", - " );\n", - "\n", - " vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(\n", - " sin(clipAngle),\n", - " -cos(clipAngle)\n", - " ) / screenShape;\n", - "\n", - " gl_Position = vec4(startPoint.xy + startPoint.w * offset, startPoint.zw);\n", - "\n", - " worldPosition = position;\n", - " pixelArcLength = arcLength;\n", - " fragColor = color;\n", - "}\n", - "`]),c=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform sampler2D dashTexture;\n", - "uniform float dashScale;\n", - "uniform float opacity;\n", - "\n", - "varying vec3 worldPosition;\n", - "varying float pixelArcLength;\n", - "varying vec4 fragColor;\n", - "\n", - "void 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", - "`]),f=s([`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\n", - "vec4 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", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform float pickId;\n", - "uniform vec3 clipBounds[2];\n", - "\n", - "varying vec3 worldPosition;\n", - "varying float pixelArcLength;\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n", - "\n", - " gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n", - "}`]),h=[{name:\"position\",type:\"vec3\"},{name:\"nextPosition\",type:\"vec3\"},{name:\"arcLength\",type:\"float\"},{name:\"lineWidth\",type:\"float\"},{name:\"color\",type:\"vec4\"}];a.createShader=function(d){return l(d,u,c,null,h)},a.createPickShader=function(d){return l(d,u,f,null,h)}},5714:function(i,a,o){\"use strict\";i.exports=M;var s=o(2762),l=o(8116),u=o(7766),c=new Uint8Array(4),f=new Float32Array(c.buffer);function h(g,P,T,F){return c[0]=F,c[1]=T,c[2]=P,c[3]=g,f[0]}var d=o(2478),v=o(9618),x=o(7319),b=x.createShader,p=x.createPickShader,E=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function k(g,P){for(var T=0,F=0;F<3;++F){var q=g[F]-P[F];T+=q*q}return Math.sqrt(T)}function A(g){for(var P=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],T=0;T<3;++T)P[0][T]=Math.max(g[0][T],P[0][T]),P[1][T]=Math.min(g[1][T],P[1][T]);return P}function L(g,P,T,F){this.arcLength=g,this.position=P,this.index=T,this.dataCoordinate=F}function _(g,P,T,F,q,V){this.gl=g,this.shader=P,this.pickShader=T,this.buffer=F,this.vao=q,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=V,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var C=_.prototype;C.isTransparent=function(){return this.hasAlpha},C.isOpaque=function(){return!this.hasAlpha},C.pickSlots=1,C.setPickBase=function(g){this.pickId=g},C.drawTransparent=C.draw=function(g){if(this.vertexCount){var P=this.gl,T=this.shader,F=this.vao;T.bind(),T.uniforms={model:g.model||E,view:g.view||E,projection:g.projection||E,clipBounds:A(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[P.drawingBufferWidth,P.drawingBufferHeight],pixelRatio:this.pixelRatio},F.bind(),F.draw(P.TRIANGLE_STRIP,this.vertexCount),F.unbind()}},C.drawPick=function(g){if(this.vertexCount){var P=this.gl,T=this.pickShader,F=this.vao;T.bind(),T.uniforms={model:g.model||E,view:g.view||E,projection:g.projection||E,pickId:this.pickId,clipBounds:A(this.clipBounds),screenShape:[P.drawingBufferWidth,P.drawingBufferHeight],pixelRatio:this.pixelRatio},F.bind(),F.draw(P.TRIANGLE_STRIP,this.vertexCount),F.unbind()}},C.update=function(g){var P,T;this.dirty=!0;var F=!!g.connectGaps;\"dashScale\"in g&&(this.dashScale=g.dashScale),this.hasAlpha=!1,\"opacity\"in g&&(this.opacity=+g.opacity,this.opacity<1&&(this.hasAlpha=!0));var q=[],V=[],H=[],X=0,G=0,N=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],W=g.position||g.positions;if(W){var re=g.color||g.colors||[0,0,0,1],ae=g.lineWidth||1,_e=!1;e:for(P=1;P<W.length;++P){var Me=W[P-1],ke=W[P];for(V.push(X),H.push(Me.slice()),T=0;T<3;++T){if(isNaN(Me[T])||isNaN(ke[T])||!isFinite(Me[T])||!isFinite(ke[T])){if(!F&&q.length>0){for(var ge=0;ge<24;++ge)q.push(q[q.length-12]);G+=2,_e=!0}continue e}N[0][T]=Math.min(N[0][T],Me[T],ke[T]),N[1][T]=Math.max(N[1][T],Me[T],ke[T])}var ie,Te;Array.isArray(re[0])?(ie=re.length>P-1?re[P-1]:re.length>0?re[re.length-1]:[0,0,0,1],Te=re.length>P?re[P]:re.length>0?re[re.length-1]:[0,0,0,1]):ie=Te=re,ie.length===3&&(ie=[ie[0],ie[1],ie[2],1]),Te.length===3&&(Te=[Te[0],Te[1],Te[2],1]),!this.hasAlpha&&ie[3]<1&&(this.hasAlpha=!0);var Ee;Array.isArray(ae)?Ee=ae.length>P-1?ae[P-1]:ae.length>0?ae[ae.length-1]:[0,0,0,1]:Ee=ae;var Ae=X;if(X+=k(Me,ke),_e){for(T=0;T<2;++T)q.push(Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,Ee,ie[0],ie[1],ie[2],ie[3]);G+=2,_e=!1}q.push(Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,Ee,ie[0],ie[1],ie[2],ie[3],Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,-Ee,ie[0],ie[1],ie[2],ie[3],ke[0],ke[1],ke[2],Me[0],Me[1],Me[2],X,-Ee,Te[0],Te[1],Te[2],Te[3],ke[0],ke[1],ke[2],Me[0],Me[1],Me[2],X,Ee,Te[0],Te[1],Te[2],Te[3]),G+=4}}if(this.buffer.update(q),V.push(X),H.push(W[W.length-1].slice()),this.bounds=N,this.vertexCount=G,this.points=H,this.arcLength=V,\"dashes\"in g){var ze=g.dashes,Ce=ze.slice();for(Ce.unshift(0),P=1;P<Ce.length;++P)Ce[P]=Ce[P-1]+Ce[P];var me=v(new Array(256*4),[256,1,4]);for(P=0;P<256;++P){for(T=0;T<4;++T)me.set(P,0,T,0);d.le(Ce,Ce[Ce.length-1]*P/255)&1?me.set(P,0,0,0):me.set(P,0,0,255)}this.texture.setPixels(me)}},C.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},C.pick=function(g){if(!g||g.id!==this.pickId)return null;var P=h(g.value[0],g.value[1],g.value[2],0),T=d.le(this.arcLength,P);if(T<0)return null;if(T===this.arcLength.length-1)return new L(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),T);for(var F=this.points[T],q=this.points[Math.min(T+1,this.points.length-1)],V=(P-this.arcLength[T])/(this.arcLength[T+1]-this.arcLength[T]),H=1-V,X=[0,0,0],G=0;G<3;++G)X[G]=H*F[G]+V*q[G];var N=Math.min(V<.5?T:T+1,this.points.length-1);return new L(P,X,N,this.points[N])};function M(g){var P=g.gl||g.scene&&g.scene.gl,T=b(P);T.attributes.position.location=0,T.attributes.nextPosition.location=1,T.attributes.arcLength.location=2,T.attributes.lineWidth.location=3,T.attributes.color.location=4;var F=p(P);F.attributes.position.location=0,F.attributes.nextPosition.location=1,F.attributes.arcLength.location=2,F.attributes.lineWidth.location=3,F.attributes.color.location=4;for(var q=s(P),V=l(P,[{buffer:q,size:3,offset:0,stride:48},{buffer:q,size:3,offset:12,stride:48},{buffer:q,size:1,offset:24,stride:48},{buffer:q,size:1,offset:28,stride:48},{buffer:q,size:4,offset:32,stride:48}]),H=v(new Array(256*4),[256,1,4]),X=0;X<1024;++X)H.data[X]=255;var G=u(P,H);G.wrap=P.REPEAT;var N=new _(P,T,F,q,V,G);return N.update(g),N}},1903:function(i){i.exports=a;function a(o){var s=new Float32Array(16);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s[3]=o[3],s[4]=o[4],s[5]=o[5],s[6]=o[6],s[7]=o[7],s[8]=o[8],s[9]=o[9],s[10]=o[10],s[11]=o[11],s[12]=o[12],s[13]=o[13],s[14]=o[14],s[15]=o[15],s}},6864:function(i){i.exports=a;function a(){var o=new Float32Array(16);return o[0]=1,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=1,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=1,o[11]=0,o[12]=0,o[13]=0,o[14]=0,o[15]=1,o}},9921:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3],f=o[4],h=o[5],d=o[6],v=o[7],x=o[8],b=o[9],p=o[10],E=o[11],k=o[12],A=o[13],L=o[14],_=o[15],C=s*h-l*f,M=s*d-u*f,g=s*v-c*f,P=l*d-u*h,T=l*v-c*h,F=u*v-c*d,q=x*A-b*k,V=x*L-p*k,H=x*_-E*k,X=b*L-p*A,G=b*_-E*A,N=p*_-E*L;return C*N-M*G+g*X+P*H-T*V+F*q}},7399:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=s[3],h=l+l,d=u+u,v=c+c,x=l*h,b=u*h,p=u*d,E=c*h,k=c*d,A=c*v,L=f*h,_=f*d,C=f*v;return o[0]=1-p-A,o[1]=b+C,o[2]=E-_,o[3]=0,o[4]=b-C,o[5]=1-x-A,o[6]=k+L,o[7]=0,o[8]=E+_,o[9]=k-L,o[10]=1-x-p,o[11]=0,o[12]=0,o[13]=0,o[14]=0,o[15]=1,o}},6743:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=s[3],d=u+u,v=c+c,x=f+f,b=u*d,p=u*v,E=u*x,k=c*v,A=c*x,L=f*x,_=h*d,C=h*v,M=h*x;return o[0]=1-(k+L),o[1]=p+M,o[2]=E-C,o[3]=0,o[4]=p-M,o[5]=1-(b+L),o[6]=A+_,o[7]=0,o[8]=E+C,o[9]=A-_,o[10]=1-(b+k),o[11]=0,o[12]=l[0],o[13]=l[1],o[14]=l[2],o[15]=1,o}},7894:function(i){i.exports=a;function a(o){return o[0]=1,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=1,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=1,o[11]=0,o[12]=0,o[13]=0,o[14]=0,o[15]=1,o}},7608:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=s[3],h=s[4],d=s[5],v=s[6],x=s[7],b=s[8],p=s[9],E=s[10],k=s[11],A=s[12],L=s[13],_=s[14],C=s[15],M=l*d-u*h,g=l*v-c*h,P=l*x-f*h,T=u*v-c*d,F=u*x-f*d,q=c*x-f*v,V=b*L-p*A,H=b*_-E*A,X=b*C-k*A,G=p*_-E*L,N=p*C-k*L,W=E*C-k*_,re=M*W-g*N+P*G+T*X-F*H+q*V;return re?(re=1/re,o[0]=(d*W-v*N+x*G)*re,o[1]=(c*N-u*W-f*G)*re,o[2]=(L*q-_*F+C*T)*re,o[3]=(E*F-p*q-k*T)*re,o[4]=(v*X-h*W-x*H)*re,o[5]=(l*W-c*X+f*H)*re,o[6]=(_*P-A*q-C*g)*re,o[7]=(b*q-E*P+k*g)*re,o[8]=(h*N-d*X+x*V)*re,o[9]=(u*X-l*N-f*V)*re,o[10]=(A*F-L*P+C*M)*re,o[11]=(p*P-b*F-k*M)*re,o[12]=(d*H-h*G-v*V)*re,o[13]=(l*G-u*H+c*V)*re,o[14]=(L*g-A*T-_*M)*re,o[15]=(b*T-p*g+E*M)*re,o):null}},6582:function(i,a,o){var s=o(7894);i.exports=l;function l(u,c,f,h){var d,v,x,b,p,E,k,A,L,_,C=c[0],M=c[1],g=c[2],P=h[0],T=h[1],F=h[2],q=f[0],V=f[1],H=f[2];return Math.abs(C-q)<1e-6&&Math.abs(M-V)<1e-6&&Math.abs(g-H)<1e-6?s(u):(k=C-q,A=M-V,L=g-H,_=1/Math.sqrt(k*k+A*A+L*L),k*=_,A*=_,L*=_,d=T*L-F*A,v=F*k-P*L,x=P*A-T*k,_=Math.sqrt(d*d+v*v+x*x),_?(_=1/_,d*=_,v*=_,x*=_):(d=0,v=0,x=0),b=A*x-L*v,p=L*d-k*x,E=k*v-A*d,_=Math.sqrt(b*b+p*p+E*E),_?(_=1/_,b*=_,p*=_,E*=_):(b=0,p=0,E=0),u[0]=d,u[1]=b,u[2]=k,u[3]=0,u[4]=v,u[5]=p,u[6]=A,u[7]=0,u[8]=x,u[9]=E,u[10]=L,u[11]=0,u[12]=-(d*C+v*M+x*g),u[13]=-(b*C+p*M+E*g),u[14]=-(k*C+A*M+L*g),u[15]=1,u)}},6760:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=s[3],d=s[4],v=s[5],x=s[6],b=s[7],p=s[8],E=s[9],k=s[10],A=s[11],L=s[12],_=s[13],C=s[14],M=s[15],g=l[0],P=l[1],T=l[2],F=l[3];return o[0]=g*u+P*d+T*p+F*L,o[1]=g*c+P*v+T*E+F*_,o[2]=g*f+P*x+T*k+F*C,o[3]=g*h+P*b+T*A+F*M,g=l[4],P=l[5],T=l[6],F=l[7],o[4]=g*u+P*d+T*p+F*L,o[5]=g*c+P*v+T*E+F*_,o[6]=g*f+P*x+T*k+F*C,o[7]=g*h+P*b+T*A+F*M,g=l[8],P=l[9],T=l[10],F=l[11],o[8]=g*u+P*d+T*p+F*L,o[9]=g*c+P*v+T*E+F*_,o[10]=g*f+P*x+T*k+F*C,o[11]=g*h+P*b+T*A+F*M,g=l[12],P=l[13],T=l[14],F=l[15],o[12]=g*u+P*d+T*p+F*L,o[13]=g*c+P*v+T*E+F*_,o[14]=g*f+P*x+T*k+F*C,o[15]=g*h+P*b+T*A+F*M,o}},4040:function(i){i.exports=a;function a(o,s,l,u,c,f,h){var d=1/(s-l),v=1/(u-c),x=1/(f-h);return o[0]=-2*d,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=-2*v,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=2*x,o[11]=0,o[12]=(s+l)*d,o[13]=(c+u)*v,o[14]=(h+f)*x,o[15]=1,o}},4772:function(i){i.exports=a;function a(o,s,l,u,c){var f=1/Math.tan(s/2),h=1/(u-c);return o[0]=f/l,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=f,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=(c+u)*h,o[11]=-1,o[12]=0,o[13]=0,o[14]=2*c*u*h,o[15]=0,o}},6079:function(i){i.exports=a;function a(o,s,l,u){var c=u[0],f=u[1],h=u[2],d=Math.sqrt(c*c+f*f+h*h),v,x,b,p,E,k,A,L,_,C,M,g,P,T,F,q,V,H,X,G,N,W,re,ae;return Math.abs(d)<1e-6?null:(d=1/d,c*=d,f*=d,h*=d,v=Math.sin(l),x=Math.cos(l),b=1-x,p=s[0],E=s[1],k=s[2],A=s[3],L=s[4],_=s[5],C=s[6],M=s[7],g=s[8],P=s[9],T=s[10],F=s[11],q=c*c*b+x,V=f*c*b+h*v,H=h*c*b-f*v,X=c*f*b-h*v,G=f*f*b+x,N=h*f*b+c*v,W=c*h*b+f*v,re=f*h*b-c*v,ae=h*h*b+x,o[0]=p*q+L*V+g*H,o[1]=E*q+_*V+P*H,o[2]=k*q+C*V+T*H,o[3]=A*q+M*V+F*H,o[4]=p*X+L*G+g*N,o[5]=E*X+_*G+P*N,o[6]=k*X+C*G+T*N,o[7]=A*X+M*G+F*N,o[8]=p*W+L*re+g*ae,o[9]=E*W+_*re+P*ae,o[10]=k*W+C*re+T*ae,o[11]=A*W+M*re+F*ae,s!==o&&(o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o)}},5567:function(i){i.exports=a;function a(o,s,l){var u=Math.sin(l),c=Math.cos(l),f=s[4],h=s[5],d=s[6],v=s[7],x=s[8],b=s[9],p=s[10],E=s[11];return s!==o&&(o[0]=s[0],o[1]=s[1],o[2]=s[2],o[3]=s[3],o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o[4]=f*c+x*u,o[5]=h*c+b*u,o[6]=d*c+p*u,o[7]=v*c+E*u,o[8]=x*c-f*u,o[9]=b*c-h*u,o[10]=p*c-d*u,o[11]=E*c-v*u,o}},2408:function(i){i.exports=a;function a(o,s,l){var u=Math.sin(l),c=Math.cos(l),f=s[0],h=s[1],d=s[2],v=s[3],x=s[8],b=s[9],p=s[10],E=s[11];return s!==o&&(o[4]=s[4],o[5]=s[5],o[6]=s[6],o[7]=s[7],o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o[0]=f*c-x*u,o[1]=h*c-b*u,o[2]=d*c-p*u,o[3]=v*c-E*u,o[8]=f*u+x*c,o[9]=h*u+b*c,o[10]=d*u+p*c,o[11]=v*u+E*c,o}},7089:function(i){i.exports=a;function a(o,s,l){var u=Math.sin(l),c=Math.cos(l),f=s[0],h=s[1],d=s[2],v=s[3],x=s[4],b=s[5],p=s[6],E=s[7];return s!==o&&(o[8]=s[8],o[9]=s[9],o[10]=s[10],o[11]=s[11],o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o[0]=f*c+x*u,o[1]=h*c+b*u,o[2]=d*c+p*u,o[3]=v*c+E*u,o[4]=x*c-f*u,o[5]=b*c-h*u,o[6]=p*c-d*u,o[7]=E*c-v*u,o}},2504:function(i){i.exports=a;function a(o,s,l){var u=l[0],c=l[1],f=l[2];return o[0]=s[0]*u,o[1]=s[1]*u,o[2]=s[2]*u,o[3]=s[3]*u,o[4]=s[4]*c,o[5]=s[5]*c,o[6]=s[6]*c,o[7]=s[7]*c,o[8]=s[8]*f,o[9]=s[9]*f,o[10]=s[10]*f,o[11]=s[11]*f,o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15],o}},7656:function(i){i.exports=a;function a(o,s,l){var u=l[0],c=l[1],f=l[2],h,d,v,x,b,p,E,k,A,L,_,C;return s===o?(o[12]=s[0]*u+s[4]*c+s[8]*f+s[12],o[13]=s[1]*u+s[5]*c+s[9]*f+s[13],o[14]=s[2]*u+s[6]*c+s[10]*f+s[14],o[15]=s[3]*u+s[7]*c+s[11]*f+s[15]):(h=s[0],d=s[1],v=s[2],x=s[3],b=s[4],p=s[5],E=s[6],k=s[7],A=s[8],L=s[9],_=s[10],C=s[11],o[0]=h,o[1]=d,o[2]=v,o[3]=x,o[4]=b,o[5]=p,o[6]=E,o[7]=k,o[8]=A,o[9]=L,o[10]=_,o[11]=C,o[12]=h*u+b*c+A*f+s[12],o[13]=d*u+p*c+L*f+s[13],o[14]=v*u+E*c+_*f+s[14],o[15]=x*u+k*c+C*f+s[15]),o}},5665:function(i){i.exports=a;function a(o,s){if(o===s){var l=s[1],u=s[2],c=s[3],f=s[6],h=s[7],d=s[11];o[1]=s[4],o[2]=s[8],o[3]=s[12],o[4]=l,o[6]=s[9],o[7]=s[13],o[8]=u,o[9]=f,o[11]=s[14],o[12]=c,o[13]=h,o[14]=d}else o[0]=s[0],o[1]=s[4],o[2]=s[8],o[3]=s[12],o[4]=s[1],o[5]=s[5],o[6]=s[9],o[7]=s[13],o[8]=s[2],o[9]=s[6],o[10]=s[10],o[11]=s[14],o[12]=s[3],o[13]=s[7],o[14]=s[11],o[15]=s[15];return o}},7626:function(i,a,o){\"use strict\";var s=o(2642),l=o(9346);i.exports=d;function u(v,x){for(var b=[0,0,0,0],p=0;p<4;++p)for(var E=0;E<4;++E)b[E]+=v[4*p+E]*x[p];return b}function c(v,x,b,p,E){for(var k=u(p,u(b,u(x,[v[0],v[1],v[2],1]))),A=0;A<3;++A)k[A]/=k[3];return[.5*E[0]*(1+k[0]),.5*E[1]*(1-k[1])]}function f(v,x){if(v.length===2){for(var b=0,p=0,E=0;E<2;++E)b+=Math.pow(x[E]-v[0][E],2),p+=Math.pow(x[E]-v[1][E],2);return b=Math.sqrt(b),p=Math.sqrt(p),b+p<1e-6?[1,0]:[p/(b+p),b/(p+b)]}else if(v.length===3){var k=[0,0];return l(v[0],v[1],v[2],x,k),s(v,k)}return[]}function h(v,x){for(var b=[0,0,0],p=0;p<v.length;++p)for(var E=v[p],k=x[p],A=0;A<3;++A)b[A]+=k*E[A];return b}function d(v,x,b,p,E,k){if(v.length===1)return[0,v[0].slice()];for(var A=new Array(v.length),L=0;L<v.length;++L)A[L]=c(v[L],b,p,E,k);for(var _=0,C=1/0,L=0;L<A.length;++L){for(var M=0,g=0;g<2;++g)M+=Math.pow(A[L][g]-x[g],2);M<C&&(C=M,_=L)}for(var P=f(A,x),T=0,L=0;L<3;++L){if(P[L]<-.001||P[L]>1.0001)return null;T+=P[L]}return Math.abs(T-1)>.001?null:[_,h(v,P),P]}},840:function(i,a,o){var s=o(3236),l=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position, normal;\n", - "attribute vec4 color;\n", - "attribute vec2 uv;\n", - "\n", - "uniform mat4 model\n", - " , view\n", - " , projection\n", - " , inverseModel;\n", - "uniform vec3 eyePosition\n", - " , lightPosition;\n", - "\n", - "varying vec3 f_normal\n", - " , f_lightDirection\n", - " , f_eyeDirection\n", - " , f_data;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "vec4 project(vec3 p) {\n", - " return projection * (view * (model * vec4(p, 1.0)));\n", - "}\n", - "\n", - "void 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", - "`]),u=s([`#extension GL_OES_standard_derivatives : enable\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "float 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", - "\n", - "float 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", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float roughness\n", - " , fresnel\n", - " , kambient\n", - " , kdiffuse\n", - " , kspecular;\n", - "uniform sampler2D texture;\n", - "\n", - "varying vec3 f_normal\n", - " , f_lightDirection\n", - " , f_eyeDirection\n", - " , f_data;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),c=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 uv;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "\n", - "varying vec4 f_color;\n", - "varying vec3 f_data;\n", - "varying vec2 f_uv;\n", - "\n", - "void main() {\n", - " gl_Position = projection * (view * (model * vec4(position, 1.0)));\n", - " f_color = color;\n", - " f_data = position;\n", - " f_uv = uv;\n", - "}`]),f=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform sampler2D texture;\n", - "uniform float opacity;\n", - "\n", - "varying vec4 f_color;\n", - "varying vec3 f_data;\n", - "varying vec2 f_uv;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n", - "\n", - " gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n", - "}`]),h=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 uv;\n", - "attribute float pointSize;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 clipBounds[2];\n", - "\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "}`]),d=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform sampler2D texture;\n", - "uniform float opacity;\n", - "\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "}`]),v=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void main() {\n", - " gl_Position = projection * (view * (model * vec4(position, 1.0)));\n", - " f_id = id;\n", - " f_position = position;\n", - "}`]),x=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float pickId;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n", - "\n", - " gl_FragColor = vec4(pickId, f_id.xyz);\n", - "}`]),b=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute float pointSize;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 clipBounds[2];\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void 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=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "\n", - "void main() {\n", - " gl_Position = projection * (view * (model * vec4(position, 1.0)));\n", - "}`]),E=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform vec3 contourColor;\n", - "\n", - "void main() {\n", - " gl_FragColor = vec4(contourColor, 1.0);\n", - "}\n", - "`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},a.wireShader={vertex:c,fragment:f,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},a.pointShader={vertex:h,fragment:d,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"pointSize\",type:\"float\"}]},a.pickShader={vertex:v,fragment:x,attributes:[{name:\"position\",type:\"vec3\"},{name:\"id\",type:\"vec4\"}]},a.pointPickShader={vertex:b,fragment:x,attributes:[{name:\"position\",type:\"vec3\"},{name:\"pointSize\",type:\"float\"},{name:\"id\",type:\"vec4\"}]},a.contourShader={vertex:p,fragment:E,attributes:[{name:\"position\",type:\"vec3\"}]}},7201:function(i,a,o){\"use strict\";var s=1e-6,l=1e-6,u=o(9405),c=o(2762),f=o(8116),h=o(7766),d=o(8406),v=o(6760),x=o(7608),b=o(9618),p=o(6729),E=o(7765),k=o(1888),A=o(840),L=o(7626),_=A.meshShader,C=A.wireShader,M=A.pointShader,g=A.pickShader,P=A.pointPickShader,T=A.contourShader,F=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function q(ge,ie,Te,Ee,Ae,ze,Ce,me,Re,ce,Ge,nt,ct,qt,rt,ot,Rt,kt,Ct,Yt,xr,er,Ke,xt,bt,Lt,St){this.gl=ge,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=ie,this.dirty=!0,this.triShader=Te,this.lineShader=Ee,this.pointShader=Ae,this.pickShader=ze,this.pointPickShader=Ce,this.contourShader=me,this.trianglePositions=Re,this.triangleColors=Ge,this.triangleNormals=ct,this.triangleUVs=nt,this.triangleIds=ce,this.triangleVAO=qt,this.triangleCount=0,this.lineWidth=1,this.edgePositions=rt,this.edgeColors=Rt,this.edgeUVs=kt,this.edgeIds=ot,this.edgeVAO=Ct,this.edgeCount=0,this.pointPositions=Yt,this.pointColors=er,this.pointUVs=Ke,this.pointSizes=xt,this.pointIds=xr,this.pointVAO=bt,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=Lt,this.contourVAO=St,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=F,this._view=F,this._projection=F,this._resolution=[1,1]}var V=q.prototype;V.isOpaque=function(){return!this.hasAlpha},V.isTransparent=function(){return this.hasAlpha},V.pickSlots=1,V.setPickBase=function(ge){this.pickId=ge};function H(ge,ie){if(!ie||!ie.length)return 1;for(var Te=0;Te<ie.length;++Te){if(ie.length<2)return 1;if(ie[Te][0]===ge)return ie[Te][1];if(ie[Te][0]>ge&&Te>0){var Ee=(ie[Te][0]-ge)/(ie[Te][0]-ie[Te-1][0]);return ie[Te][1]*(1-Ee)+Ee*ie[Te-1][1]}}return 1}function X(ge,ie){for(var Te=p({colormap:ge,nshades:256,format:\"rgba\"}),Ee=new Uint8Array(256*4),Ae=0;Ae<256;++Ae){for(var ze=Te[Ae],Ce=0;Ce<3;++Ce)Ee[4*Ae+Ce]=ze[Ce];ie?Ee[4*Ae+3]=255*H(Ae/255,ie):Ee[4*Ae+3]=255*ze[3]}return b(Ee,[256,256,4],[4,0,1])}function G(ge){for(var ie=ge.length,Te=new Array(ie),Ee=0;Ee<ie;++Ee)Te[Ee]=ge[Ee][2];return Te}V.highlight=function(ge){if(!ge||!this.contourEnable){this.contourCount=0;return}for(var ie=E(this.cells,this.intensity,ge.intensity),Te=ie.cells,Ee=ie.vertexIds,Ae=ie.vertexWeights,ze=Te.length,Ce=k.mallocFloat32(2*3*ze),me=0,Re=0;Re<ze;++Re)for(var ce=Te[Re],Ge=0;Ge<2;++Ge){var nt=ce[0];ce.length===2&&(nt=ce[Ge]);for(var ct=Ee[nt][0],qt=Ee[nt][1],rt=Ae[nt],ot=1-rt,Rt=this.positions[ct],kt=this.positions[qt],Ct=0;Ct<3;++Ct)Ce[me++]=rt*Rt[Ct]+ot*kt[Ct]}this.contourCount=me/3|0,this.contourPositions.update(Ce.subarray(0,me)),k.free(Ce)},V.update=function(ge){ge=ge||{};var ie=this.gl;this.dirty=!0,\"contourEnable\"in ge&&(this.contourEnable=ge.contourEnable),\"contourColor\"in ge&&(this.contourColor=ge.contourColor),\"lineWidth\"in ge&&(this.lineWidth=ge.lineWidth),\"lightPosition\"in ge&&(this.lightPosition=ge.lightPosition),this.hasAlpha=!1,\"opacity\"in ge&&(this.opacity=ge.opacity,this.opacity<1&&(this.hasAlpha=!0)),\"opacityscale\"in ge&&(this.opacityscale=ge.opacityscale,this.hasAlpha=!0),\"ambient\"in ge&&(this.ambientLight=ge.ambient),\"diffuse\"in ge&&(this.diffuseLight=ge.diffuse),\"specular\"in ge&&(this.specularLight=ge.specular),\"roughness\"in ge&&(this.roughness=ge.roughness),\"fresnel\"in ge&&(this.fresnel=ge.fresnel),ge.texture?(this.texture.dispose(),this.texture=h(ie,ge.texture)):ge.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=ie.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=ie.LINEAR,this.texture.setPixels(X(ge.colormap,this.opacityscale)),this.texture.generateMipmap());var Te=ge.cells,Ee=ge.positions;if(!(!Ee||!Te)){var Ae=[],ze=[],Ce=[],me=[],Re=[],ce=[],Ge=[],nt=[],ct=[],qt=[],rt=[],ot=[],Rt=[],kt=[];this.cells=Te,this.positions=Ee;var Ct=ge.vertexNormals,Yt=ge.cellNormals,xr=ge.vertexNormalsEpsilon===void 0?s:ge.vertexNormalsEpsilon,er=ge.faceNormalsEpsilon===void 0?l:ge.faceNormalsEpsilon;ge.useFacetNormals&&!Yt&&(Yt=d.faceNormals(Te,Ee,er)),!Yt&&!Ct&&(Ct=d.vertexNormals(Te,Ee,xr));var Ke=ge.vertexColors,xt=ge.cellColors,bt=ge.meshColor||[1,1,1,1],Lt=ge.vertexUVs,St=ge.vertexIntensity,Et=ge.cellUVs,dt=ge.cellIntensity,Ht=1/0,$t=-1/0;if(!Lt&&!Et)if(St)if(ge.vertexIntensityBounds)Ht=+ge.vertexIntensityBounds[0],$t=+ge.vertexIntensityBounds[1];else for(var fr=0;fr<St.length;++fr){var _r=St[fr];Ht=Math.min(Ht,_r),$t=Math.max($t,_r)}else if(dt)if(ge.cellIntensityBounds)Ht=+ge.cellIntensityBounds[0],$t=+ge.cellIntensityBounds[1];else for(var fr=0;fr<dt.length;++fr){var _r=dt[fr];Ht=Math.min(Ht,_r),$t=Math.max($t,_r)}else for(var fr=0;fr<Ee.length;++fr){var _r=Ee[fr][2];Ht=Math.min(Ht,_r),$t=Math.max($t,_r)}St?this.intensity=St:dt?this.intensity=dt:this.intensity=G(Ee),this.pickVertex=!(dt||xt);var Br=ge.pointSizes,Or=ge.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(var fr=0;fr<Ee.length;++fr)for(var Nr=Ee[fr],ut=0;ut<3;++ut)isNaN(Nr[ut])||!isFinite(Nr[ut])||(this.bounds[0][ut]=Math.min(this.bounds[0][ut],Nr[ut]),this.bounds[1][ut]=Math.max(this.bounds[1][ut],Nr[ut]));var Ne=0,Ye=0,Ve=0;e:for(var fr=0;fr<Te.length;++fr){var Xe=Te[fr];switch(Xe.length){case 1:for(var ht=Xe[0],Nr=Ee[ht],ut=0;ut<3;++ut)if(isNaN(Nr[ut])||!isFinite(Nr[ut]))continue e;qt.push(Nr[0],Nr[1],Nr[2]);var Le;Ke?Le=Ke[ht]:xt?Le=xt[fr]:Le=bt,this.opacityscale&&St?ze.push(Le[0],Le[1],Le[2],this.opacity*H((St[ht]-Ht)/($t-Ht),this.opacityscale)):Le.length===3?rt.push(Le[0],Le[1],Le[2],this.opacity):(rt.push(Le[0],Le[1],Le[2],Le[3]*this.opacity),Le[3]<1&&(this.hasAlpha=!0));var xe;Lt?xe=Lt[ht]:St?xe=[(St[ht]-Ht)/($t-Ht),0]:Et?xe=Et[fr]:dt?xe=[(dt[fr]-Ht)/($t-Ht),0]:xe=[(Nr[2]-Ht)/($t-Ht),0],ot.push(xe[0],xe[1]),Br?Rt.push(Br[ht]):Rt.push(Or),kt.push(fr),Ve+=1;break;case 2:for(var ut=0;ut<2;++ut)for(var ht=Xe[ut],Nr=Ee[ht],Se=0;Se<3;++Se)if(isNaN(Nr[Se])||!isFinite(Nr[Se]))continue e;for(var ut=0;ut<2;++ut){var ht=Xe[ut],Nr=Ee[ht];ce.push(Nr[0],Nr[1],Nr[2]);var Le;Ke?Le=Ke[ht]:xt?Le=xt[fr]:Le=bt,this.opacityscale&&St?ze.push(Le[0],Le[1],Le[2],this.opacity*H((St[ht]-Ht)/($t-Ht),this.opacityscale)):Le.length===3?Ge.push(Le[0],Le[1],Le[2],this.opacity):(Ge.push(Le[0],Le[1],Le[2],Le[3]*this.opacity),Le[3]<1&&(this.hasAlpha=!0));var xe;Lt?xe=Lt[ht]:St?xe=[(St[ht]-Ht)/($t-Ht),0]:Et?xe=Et[fr]:dt?xe=[(dt[fr]-Ht)/($t-Ht),0]:xe=[(Nr[2]-Ht)/($t-Ht),0],nt.push(xe[0],xe[1]),ct.push(fr)}Ye+=1;break;case 3:for(var ut=0;ut<3;++ut)for(var ht=Xe[ut],Nr=Ee[ht],Se=0;Se<3;++Se)if(isNaN(Nr[Se])||!isFinite(Nr[Se]))continue e;for(var ut=0;ut<3;++ut){var ht=Xe[2-ut],Nr=Ee[ht];Ae.push(Nr[0],Nr[1],Nr[2]);var Le;Ke?Le=Ke[ht]:xt?Le=xt[fr]:Le=bt,Le?this.opacityscale&&St?ze.push(Le[0],Le[1],Le[2],this.opacity*H((St[ht]-Ht)/($t-Ht),this.opacityscale)):Le.length===3?ze.push(Le[0],Le[1],Le[2],this.opacity):(ze.push(Le[0],Le[1],Le[2],Le[3]*this.opacity),Le[3]<1&&(this.hasAlpha=!0)):ze.push(.5,.5,.5,1);var xe;Lt?xe=Lt[ht]:St?xe=[(St[ht]-Ht)/($t-Ht),0]:Et?xe=Et[fr]:dt?xe=[(dt[fr]-Ht)/($t-Ht),0]:xe=[(Nr[2]-Ht)/($t-Ht),0],me.push(xe[0],xe[1]);var lt;Ct?lt=Ct[ht]:lt=Yt[fr],Ce.push(lt[0],lt[1],lt[2]),Re.push(fr)}Ne+=1;break;default:break}}this.pointCount=Ve,this.edgeCount=Ye,this.triangleCount=Ne,this.pointPositions.update(qt),this.pointColors.update(rt),this.pointUVs.update(ot),this.pointSizes.update(Rt),this.pointIds.update(new Uint32Array(kt)),this.edgePositions.update(ce),this.edgeColors.update(Ge),this.edgeUVs.update(nt),this.edgeIds.update(new Uint32Array(ct)),this.trianglePositions.update(Ae),this.triangleColors.update(ze),this.triangleUVs.update(me),this.triangleNormals.update(Ce),this.triangleIds.update(new Uint32Array(Re))}},V.drawTransparent=V.draw=function(ge){ge=ge||{};for(var ie=this.gl,Te=ge.model||F,Ee=ge.view||F,Ae=ge.projection||F,ze=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],Ce=0;Ce<3;++Ce)ze[0][Ce]=Math.max(ze[0][Ce],this.clipBounds[0][Ce]),ze[1][Ce]=Math.min(ze[1][Ce],this.clipBounds[1][Ce]);var me={model:Te,view:Ee,projection:Ae,inverseModel:F.slice(),clipBounds:ze,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],contourColor:this.contourColor,texture:0};me.inverseModel=x(me.inverseModel,me.model),ie.disable(ie.CULL_FACE),this.texture.bind(0);var Re=new Array(16);v(Re,me.view,me.model),v(Re,me.projection,Re),x(Re,Re);for(var Ce=0;Ce<3;++Ce)me.eyePosition[Ce]=Re[12+Ce]/Re[15];for(var ce=Re[15],Ce=0;Ce<3;++Ce)ce+=this.lightPosition[Ce]*Re[4*Ce+3];for(var Ce=0;Ce<3;++Ce){for(var Ge=Re[12+Ce],nt=0;nt<3;++nt)Ge+=Re[4*nt+Ce]*this.lightPosition[nt];me.lightPosition[Ce]=Ge/ce}if(this.triangleCount>0){var ct=this.triShader;ct.bind(),ct.uniforms=me,this.triangleVAO.bind(),ie.drawArrays(ie.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var ct=this.lineShader;ct.bind(),ct.uniforms=me,this.edgeVAO.bind(),ie.lineWidth(this.lineWidth*this.pixelRatio),ie.drawArrays(ie.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()}if(this.pointCount>0){var ct=this.pointShader;ct.bind(),ct.uniforms=me,this.pointVAO.bind(),ie.drawArrays(ie.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var ct=this.contourShader;ct.bind(),ct.uniforms=me,this.contourVAO.bind(),ie.drawArrays(ie.LINES,0,this.contourCount),this.contourVAO.unbind()}},V.drawPick=function(ge){ge=ge||{};for(var ie=this.gl,Te=ge.model||F,Ee=ge.view||F,Ae=ge.projection||F,ze=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],Ce=0;Ce<3;++Ce)ze[0][Ce]=Math.max(ze[0][Ce],this.clipBounds[0][Ce]),ze[1][Ce]=Math.min(ze[1][Ce],this.clipBounds[1][Ce]);this._model=[].slice.call(Te),this._view=[].slice.call(Ee),this._projection=[].slice.call(Ae),this._resolution=[ie.drawingBufferWidth,ie.drawingBufferHeight];var me={model:Te,view:Ee,projection:Ae,clipBounds:ze,pickId:this.pickId/255},Re=this.pickShader;if(Re.bind(),Re.uniforms=me,this.triangleCount>0&&(this.triangleVAO.bind(),ie.drawArrays(ie.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),ie.lineWidth(this.lineWidth*this.pixelRatio),ie.drawArrays(ie.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()),this.pointCount>0){var Re=this.pointPickShader;Re.bind(),Re.uniforms=me,this.pointVAO.bind(),ie.drawArrays(ie.POINTS,0,this.pointCount),this.pointVAO.unbind()}},V.pick=function(ge){if(!ge||ge.id!==this.pickId)return null;for(var ie=ge.value[0]+256*ge.value[1]+65536*ge.value[2],Te=this.cells[ie],Ee=this.positions,Ae=new Array(Te.length),ze=0;ze<Te.length;++ze)Ae[ze]=Ee[Te[ze]];var Ce=ge.coord[0],me=ge.coord[1];if(!this.pickVertex){var Re=this.positions[Te[0]],ce=this.positions[Te[1]],Ge=this.positions[Te[2]],nt=[(Re[0]+ce[0]+Ge[0])/3,(Re[1]+ce[1]+Ge[1])/3,(Re[2]+ce[2]+Ge[2])/3];return{_cellCenter:!0,position:[Ce,me],index:ie,cell:Te,cellId:ie,intensity:this.intensity[ie],dataCoordinate:nt}}var ct=L(Ae,[Ce*this.pixelRatio,this._resolution[1]-me*this.pixelRatio],this._model,this._view,this._projection,this._resolution);if(!ct)return null;for(var qt=ct[2],rt=0,ze=0;ze<Te.length;++ze)rt+=qt[ze]*this.intensity[Te[ze]];return{position:ct[1],index:Te[ct[0]],cell:Te,cellId:ie,intensity:rt,dataCoordinate:this.positions[Te[ct[0]]]}},V.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.lineShader.dispose(),this.pointShader.dispose(),this.pickShader.dispose(),this.pointPickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose(),this.contourShader.dispose()};function N(ge){var ie=u(ge,_.vertex,_.fragment);return ie.attributes.position.location=0,ie.attributes.color.location=2,ie.attributes.uv.location=3,ie.attributes.normal.location=4,ie}function W(ge){var ie=u(ge,C.vertex,C.fragment);return ie.attributes.position.location=0,ie.attributes.color.location=2,ie.attributes.uv.location=3,ie}function re(ge){var ie=u(ge,M.vertex,M.fragment);return ie.attributes.position.location=0,ie.attributes.color.location=2,ie.attributes.uv.location=3,ie.attributes.pointSize.location=4,ie}function ae(ge){var ie=u(ge,g.vertex,g.fragment);return ie.attributes.position.location=0,ie.attributes.id.location=1,ie}function _e(ge){var ie=u(ge,P.vertex,P.fragment);return ie.attributes.position.location=0,ie.attributes.id.location=1,ie.attributes.pointSize.location=4,ie}function Me(ge){var ie=u(ge,T.vertex,T.fragment);return ie.attributes.position.location=0,ie}function ke(ge,ie){arguments.length===1&&(ie=ge,ge=ie.gl);var Te=ge.getExtension(\"OES_standard_derivatives\")||ge.getExtension(\"MOZ_OES_standard_derivatives\")||ge.getExtension(\"WEBKIT_OES_standard_derivatives\");if(!Te)throw new Error(\"derivatives not supported\");var Ee=N(ge),Ae=W(ge),ze=re(ge),Ce=ae(ge),me=_e(ge),Re=Me(ge),ce=h(ge,b(new Uint8Array([255,255,255,255]),[1,1,4]));ce.generateMipmap(),ce.minFilter=ge.LINEAR_MIPMAP_LINEAR,ce.magFilter=ge.LINEAR;var Ge=c(ge),nt=c(ge),ct=c(ge),qt=c(ge),rt=c(ge),ot=f(ge,[{buffer:Ge,type:ge.FLOAT,size:3},{buffer:rt,type:ge.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:nt,type:ge.FLOAT,size:4},{buffer:ct,type:ge.FLOAT,size:2},{buffer:qt,type:ge.FLOAT,size:3}]),Rt=c(ge),kt=c(ge),Ct=c(ge),Yt=c(ge),xr=f(ge,[{buffer:Rt,type:ge.FLOAT,size:3},{buffer:Yt,type:ge.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:kt,type:ge.FLOAT,size:4},{buffer:Ct,type:ge.FLOAT,size:2}]),er=c(ge),Ke=c(ge),xt=c(ge),bt=c(ge),Lt=c(ge),St=f(ge,[{buffer:er,type:ge.FLOAT,size:3},{buffer:Lt,type:ge.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:Ke,type:ge.FLOAT,size:4},{buffer:xt,type:ge.FLOAT,size:2},{buffer:bt,type:ge.FLOAT,size:1}]),Et=c(ge),dt=f(ge,[{buffer:Et,type:ge.FLOAT,size:3}]),Ht=new q(ge,ce,Ee,Ae,ze,Ce,me,Re,Ge,rt,nt,ct,qt,ot,Rt,Yt,kt,Ct,xr,er,Lt,Ke,xt,bt,St,Et,dt);return Ht.update(ie),Ht}i.exports=ke},4437:function(i,a,o){\"use strict\";i.exports=d;var s=o(3025),l=o(6296),u=o(351),c=o(8512),f=o(24),h=o(7520);function d(v,x){v=v||document.body,x=x||{};var b=[.01,1/0];\"distanceLimits\"in x&&(b[0]=x.distanceLimits[0],b[1]=x.distanceLimits[1]),\"zoomMin\"in x&&(b[0]=x.zoomMin),\"zoomMax\"in x&&(b[1]=x.zoomMax);var p=l({center:x.center||[0,0,0],up:x.up||[0,1,0],eye:x.eye||[0,0,10],mode:x.mode||\"orbit\",distanceLimits:b}),E=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],k=0,A=v.clientWidth,L=v.clientHeight,_={keyBindingMode:\"rotate\",enableWheel:!0,view:p,element:v,delay:x.delay||16,rotateSpeed:x.rotateSpeed||1,zoomSpeed:x.zoomSpeed||1,translateSpeed:x.translateSpeed||1,flipX:!!x.flipX,flipY:!!x.flipY,modes:p.modes,_ortho:x._ortho||x.projection&&x.projection.type===\"orthographic\"||!1,tick:function(){var C=s(),M=this.delay,g=C-2*M;p.idle(C-M),p.recalcMatrix(g),p.flush(C-(100+M*2));for(var P=!0,T=p.computedMatrix,F=0;F<16;++F)P=P&&E[F]===T[F],E[F]=T[F];var q=v.clientWidth===A&&v.clientHeight===L;return A=v.clientWidth,L=v.clientHeight,P?!q:(k=Math.exp(p.computedRadius[0]),!0)},lookAt:function(C,M,g){p.lookAt(p.lastT(),C,M,g)},rotate:function(C,M,g){p.rotate(p.lastT(),C,M,g)},pan:function(C,M,g){p.pan(p.lastT(),C,M,g)},translate:function(C,M,g){p.translate(p.lastT(),C,M,g)}};return Object.defineProperties(_,{matrix:{get:function(){return p.computedMatrix},set:function(C){return p.setMatrix(p.lastT(),C),p.computedMatrix},enumerable:!0},mode:{get:function(){return p.getMode()},set:function(C){var M=p.computedUp.slice(),g=p.computedEye.slice(),P=p.computedCenter.slice();if(p.setMode(C),C===\"turntable\"){var T=s();p._active.lookAt(T,g,P,M),p._active.lookAt(T+500,g,P,[0,0,1]),p._active.flush(T)}return p.getMode()},enumerable:!0},center:{get:function(){return p.computedCenter},set:function(C){return p.lookAt(p.lastT(),null,C),p.computedCenter},enumerable:!0},eye:{get:function(){return p.computedEye},set:function(C){return p.lookAt(p.lastT(),C),p.computedEye},enumerable:!0},up:{get:function(){return p.computedUp},set:function(C){return p.lookAt(p.lastT(),null,null,C),p.computedUp},enumerable:!0},distance:{get:function(){return k},set:function(C){return p.setDistance(p.lastT(),C),C},enumerable:!0},distanceLimits:{get:function(){return p.getDistanceLimits(b)},set:function(C){return p.setDistanceLimits(C),C},enumerable:!0}}),v.addEventListener(\"contextmenu\",function(C){return C.preventDefault(),!1}),_._lastX=-1,_._lastY=-1,_._lastMods={shift:!1,control:!1,alt:!1,meta:!1},_.enableMouseListeners=function(){_.mouseListener=u(v,C),v.addEventListener(\"touchstart\",function(M){var g=f(M.changedTouches[0],v);C(0,g[0],g[1],_._lastMods),C(1,g[0],g[1],_._lastMods)},h?{passive:!0}:!1),v.addEventListener(\"touchmove\",function(M){var g=f(M.changedTouches[0],v);C(1,g[0],g[1],_._lastMods),M.preventDefault()},h?{passive:!1}:!1),v.addEventListener(\"touchend\",function(M){C(0,_._lastX,_._lastY,_._lastMods)},h?{passive:!0}:!1);function C(M,g,P,T){var F=_.keyBindingMode;if(F!==!1){var q=F===\"rotate\",V=F===\"pan\",H=F===\"zoom\",X=!!T.control,G=!!T.alt,N=!!T.shift,W=!!(M&1),re=!!(M&2),ae=!!(M&4),_e=1/v.clientHeight,Me=_e*(g-_._lastX),ke=_e*(P-_._lastY),ge=_.flipX?1:-1,ie=_.flipY?1:-1,Te=Math.PI*_.rotateSpeed,Ee=s();if(_._lastX!==-1&&_._lastY!==-1&&((q&&W&&!X&&!G&&!N||W&&!X&&!G&&N)&&p.rotate(Ee,ge*Te*Me,-ie*Te*ke,0),(V&&W&&!X&&!G&&!N||re||W&&X&&!G&&!N)&&p.pan(Ee,-_.translateSpeed*Me*k,_.translateSpeed*ke*k,0),H&&W&&!X&&!G&&!N||ae||W&&!X&&G&&!N)){var Ae=-_.zoomSpeed*ke/window.innerHeight*(Ee-p.lastT())*100;p.pan(Ee,0,0,k*(Math.exp(Ae)-1))}return _._lastX=g,_._lastY=P,_._lastMods=T,!0}}_.wheelListener=c(v,function(M,g){if(_.keyBindingMode!==!1&&_.enableWheel){var P=_.flipX?1:-1,T=_.flipY?1:-1,F=s();if(Math.abs(M)>Math.abs(g))p.rotate(F,0,0,-M*P*Math.PI*_.rotateSpeed/window.innerWidth);else if(!_._ortho){var q=-_.zoomSpeed*T*g/window.innerHeight*(F-p.lastT())/20;p.pan(F,0,0,k*(Math.exp(q)-1))}}},!0)},_.enableMouseListeners(),_}},799:function(i,a,o){var s=o(3236),l=o(9405),u=s([`precision mediump float;\n", - "#define GLSLIFY 1\n", - "attribute vec2 position;\n", - "varying vec2 uv;\n", - "void main() {\n", - " uv = position;\n", - " gl_Position = vec4(position, 0, 1);\n", - "}`]),c=s([`precision mediump float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform sampler2D accumBuffer;\n", - "varying vec2 uv;\n", - "\n", - "void main() {\n", - " vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n", - " gl_FragColor = min(vec4(1,1,1,1), accum);\n", - "}`]);i.exports=function(f){return l(f,u,c,null,[{name:\"position\",type:\"vec2\"}])}},4100:function(i,a,o){\"use strict\";var s=o(4437),l=o(3837),u=o(5445),c=o(4449),f=o(3589),h=o(2260),d=o(7169),v=o(351),x=o(4772),b=o(4040),p=o(799),E=o(9216)({tablet:!0,featureDetect:!0});i.exports={createScene:C,createCamera:s};function k(){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 A(g,P){var T=null;try{T=g.getContext(\"webgl\",P),T||(T=g.getContext(\"experimental-webgl\",P))}catch(F){return null}return T}function L(g){var P=Math.round(Math.log(Math.abs(g))/Math.log(10));if(P<0){var T=Math.round(Math.pow(10,-P));return Math.ceil(g*T)/T}else if(P>0){var T=Math.round(Math.pow(10,P));return Math.ceil(g/T)*T}return Math.ceil(g)}function _(g){return typeof g==\"boolean\"?g:!0}function C(g){g=g||{},g.camera=g.camera||{};var P=g.canvas;if(!P)if(P=document.createElement(\"canvas\"),g.container){var T=g.container;T.appendChild(P)}else document.body.appendChild(P);var F=g.gl;if(F||(g.glOptions&&(E=!!g.glOptions.preserveDrawingBuffer),F=A(P,g.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:E})),!F)throw new Error(\"webgl not supported\");var q=g.bounds||[[-10,-10,-10],[10,10,10]],V=new k,H=h(F,F.drawingBufferWidth,F.drawingBufferHeight,{preferFloat:!E}),X=p(F),G=g.cameraObject&&g.cameraObject._ortho===!0||g.camera.projection&&g.camera.projection.type===\"orthographic\"||!1,N={eye:g.camera.eye||[2,0,0],center:g.camera.center||[0,0,0],up:g.camera.up||[0,1,0],zoomMin:g.camera.zoomMax||.1,zoomMax:g.camera.zoomMin||100,mode:g.camera.mode||\"turntable\",_ortho:G},W=g.axes||{},re=l(F,W);re.enable=!W.disable;var ae=g.spikes||{},_e=c(F,ae),Me=[],ke=[],ge=[],ie=[],Te=!0,Ce=!0,Ee=new Array(16),Ae=new Array(16),ze={view:null,projection:Ee,model:Ae,_ortho:!1},Ce=!0,me=[F.drawingBufferWidth,F.drawingBufferHeight],Re=g.cameraObject||s(P,N),ce={gl:F,contextLost:!1,pixelRatio:g.pixelRatio||1,canvas:P,selection:V,camera:Re,axes:re,axesPixels:null,spikes:_e,bounds:q,objects:Me,shape:me,aspect:g.aspectRatio||[1,1,1],pickRadius:g.pickRadius||10,zNear:g.zNear||.01,zFar:g.zFar||1e3,fovy:g.fovy||Math.PI/4,clearColor:g.clearColor||[0,0,0,0],autoResize:_(g.autoResize),autoBounds:_(g.autoBounds),autoScale:!!g.autoScale,autoCenter:_(g.autoCenter),clipToBounds:_(g.clipToBounds),snapToData:!!g.snapToData,onselect:g.onselect||null,onrender:g.onrender||null,onclick:g.onclick||null,cameraParams:ze,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(Yt){this.aspect[0]=Yt.x,this.aspect[1]=Yt.y,this.aspect[2]=Yt.z,Ce=!0},setBounds:function(Yt,xr){this.bounds[0][Yt]=xr.min,this.bounds[1][Yt]=xr.max},setClearColor:function(Yt){this.clearColor=Yt},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)}},Ge=[F.drawingBufferWidth/ce.pixelRatio|0,F.drawingBufferHeight/ce.pixelRatio|0];function nt(){if(!ce._stopped&&ce.autoResize){var Yt=P.parentNode,xr=1,er=1;Yt&&Yt!==document.body?(xr=Yt.clientWidth,er=Yt.clientHeight):(xr=window.innerWidth,er=window.innerHeight);var Ke=Math.ceil(xr*ce.pixelRatio)|0,xt=Math.ceil(er*ce.pixelRatio)|0;if(Ke!==P.width||xt!==P.height){P.width=Ke,P.height=xt;var bt=P.style;bt.position=bt.position||\"absolute\",bt.left=\"0px\",bt.top=\"0px\",bt.width=xr+\"px\",bt.height=er+\"px\",Te=!0}}}ce.autoResize&&nt(),window.addEventListener(\"resize\",nt);function ct(){for(var Yt=Me.length,xr=ie.length,er=0;er<xr;++er)ge[er]=0;e:for(var er=0;er<Yt;++er){var Ke=Me[er],xt=Ke.pickSlots;if(!xt){ke[er]=-1;continue}for(var bt=0;bt<xr;++bt)if(ge[bt]+xt<255){ke[er]=bt,Ke.setPickBase(ge[bt]+1),ge[bt]+=xt;continue e}var Lt=f(F,me);ke[er]=xr,ie.push(Lt),ge.push(xt),Ke.setPickBase(1),xr+=1}for(;xr>0&&ge[xr-1]===0;)ge.pop(),ie.pop().dispose()}ce.update=function(Yt){ce._stopped||(Yt=Yt||{},Te=!0,Ce=!0)},ce.add=function(Yt){ce._stopped||(Yt.axes=re,Me.push(Yt),ke.push(-1),Te=!0,Ce=!0,ct())},ce.remove=function(Yt){if(!ce._stopped){var xr=Me.indexOf(Yt);xr<0||(Me.splice(xr,1),ke.pop(),Te=!0,Ce=!0,ct())}},ce.dispose=function(){if(!ce._stopped&&(ce._stopped=!0,window.removeEventListener(\"resize\",nt),P.removeEventListener(\"webglcontextlost\",qt),ce.mouseListener.enabled=!1,!ce.contextLost)){re.dispose(),_e.dispose();for(var Yt=0;Yt<Me.length;++Yt)Me[Yt].dispose();H.dispose();for(var Yt=0;Yt<ie.length;++Yt)ie[Yt].dispose();X.dispose(),F=null,re=null,_e=null,Me=[]}},ce._mouseRotating=!1,ce._prevButtons=0,ce.enableMouseListeners=function(){ce.mouseListener=v(P,function(Yt,xr,er){if(!ce._stopped){var Ke=ie.length,xt=Me.length,bt=V.object;V.distance=1/0,V.mouse[0]=xr,V.mouse[1]=er,V.object=null,V.screen=null,V.dataCoordinate=V.dataPosition=null;var Lt=!1;if(Yt&&ce._prevButtons)ce._mouseRotating=!0;else{ce._mouseRotating&&(Ce=!0),ce._mouseRotating=!1;for(var St=0;St<Ke;++St){var Et=ie[St].query(xr,Ge[1]-er-1,ce.pickRadius);if(Et){if(Et.distance>V.distance)continue;for(var dt=0;dt<xt;++dt){var Ht=Me[dt];if(ke[dt]===St){var $t=Ht.pick(Et);$t&&(V.buttons=Yt,V.screen=Et.coord,V.distance=Et.distance,V.object=Ht,V.index=$t.distance,V.dataPosition=$t.position,V.dataCoordinate=$t.dataCoordinate,V.data=$t,Lt=!0)}}}}}bt&&bt!==V.object&&(bt.highlight&&bt.highlight(null),Te=!0),V.object&&(V.object.highlight&&V.object.highlight(V.data),Te=!0),Lt=Lt||V.object!==bt,Lt&&ce.onselect&&ce.onselect(V),Yt&1&&!(ce._prevButtons&1)&&ce.onclick&&ce.onclick(V),ce._prevButtons=Yt}})};function qt(){if(ce.contextLost)return!0;F.isContextLost()&&(ce.contextLost=!0,ce.mouseListener.enabled=!1,ce.selection.object=null,ce.oncontextloss&&ce.oncontextloss())}P.addEventListener(\"webglcontextlost\",qt);function rt(){if(!qt()){F.colorMask(!0,!0,!0,!0),F.depthMask(!0),F.disable(F.BLEND),F.enable(F.DEPTH_TEST),F.depthFunc(F.LEQUAL);for(var Yt=Me.length,xr=ie.length,er=0;er<xr;++er){var Ke=ie[er];Ke.shape=Ge,Ke.begin();for(var xt=0;xt<Yt;++xt)if(ke[xt]===er){var bt=Me[xt];bt.drawPick&&(bt.pixelRatio=1,bt.drawPick(ze))}Ke.end()}}}var ot=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],Rt=[ot[0].slice(),ot[1].slice()];function kt(){if(!qt()){nt();var Yt=ce.camera.tick();ze.view=ce.camera.matrix,Te=Te||Yt,Ce=Ce||Yt,re.pixelRatio=ce.pixelRatio,_e.pixelRatio=ce.pixelRatio;var xr=Me.length,er=ot[0],Ke=ot[1];er[0]=er[1]=er[2]=1/0,Ke[0]=Ke[1]=Ke[2]=-1/0;for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.pixelRatio=ce.pixelRatio,bt.axes=ce.axes,Te=Te||!!bt.dirty,Ce=Ce||!!bt.dirty;var Lt=bt.bounds;if(Lt)for(var St=Lt[0],Et=Lt[1],dt=0;dt<3;++dt)er[dt]=Math.min(er[dt],St[dt]),Ke[dt]=Math.max(Ke[dt],Et[dt])}var Ht=ce.bounds;if(ce.autoBounds)for(var dt=0;dt<3;++dt){if(Ke[dt]<er[dt])er[dt]=-1,Ke[dt]=1;else{er[dt]===Ke[dt]&&(er[dt]-=1,Ke[dt]+=1);var $t=.05*(Ke[dt]-er[dt]);er[dt]=er[dt]-$t,Ke[dt]=Ke[dt]+$t}Ht[0][dt]=er[dt],Ht[1][dt]=Ke[dt]}for(var fr=!1,dt=0;dt<3;++dt)fr=fr||Rt[0][dt]!==Ht[0][dt]||Rt[1][dt]!==Ht[1][dt],Rt[0][dt]=Ht[0][dt],Rt[1][dt]=Ht[1][dt];if(Ce=Ce||fr,Te=Te||fr,!!Te){if(fr){for(var _r=[0,0,0],xt=0;xt<3;++xt)_r[xt]=L((Ht[1][xt]-Ht[0][xt])/10);re.autoTicks?re.update({bounds:Ht,tickSpacing:_r}):re.update({bounds:Ht})}var Br=F.drawingBufferWidth,Or=F.drawingBufferHeight;me[0]=Br,me[1]=Or,Ge[0]=Math.max(Br/ce.pixelRatio,1)|0,Ge[1]=Math.max(Or/ce.pixelRatio,1)|0,M(ce,G);for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.axesBounds=Ht,ce.clipToBounds&&(bt.clipBounds=Ht)}V.object&&(ce.snapToData?_e.position=V.dataCoordinate:_e.position=V.dataPosition,_e.bounds=Ht),Ce&&(Ce=!1,rt()),ce.axesPixels=u(ce.axes,ze,Br,Or),ce.onrender&&ce.onrender(),F.bindFramebuffer(F.FRAMEBUFFER,null),F.viewport(0,0,Br,Or),ce.clearRGBA(),F.depthMask(!0),F.colorMask(!0,!0,!0,!0),F.enable(F.DEPTH_TEST),F.depthFunc(F.LEQUAL),F.disable(F.BLEND),F.disable(F.CULL_FACE);var Nr=!1;re.enable&&(Nr=Nr||re.isTransparent(),re.draw(ze)),_e.axes=re,V.object&&_e.draw(ze),F.disable(F.CULL_FACE);for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.axes=re,bt.pixelRatio=ce.pixelRatio,bt.isOpaque&&bt.isOpaque()&&bt.draw(ze),bt.isTransparent&&bt.isTransparent()&&(Nr=!0)}if(Nr){H.shape=me,H.bind(),F.clear(F.DEPTH_BUFFER_BIT),F.colorMask(!1,!1,!1,!1),F.depthMask(!0),F.depthFunc(F.LESS),re.enable&&re.isTransparent()&&re.drawTransparent(ze);for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.isOpaque&&bt.isOpaque()&&bt.draw(ze)}F.enable(F.BLEND),F.blendEquation(F.FUNC_ADD),F.blendFunc(F.ONE,F.ONE_MINUS_SRC_ALPHA),F.colorMask(!0,!0,!0,!0),F.depthMask(!1),F.clearColor(0,0,0,0),F.clear(F.COLOR_BUFFER_BIT),re.isTransparent()&&re.drawTransparent(ze);for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.isTransparent&&bt.isTransparent()&&bt.drawTransparent(ze)}F.bindFramebuffer(F.FRAMEBUFFER,null),F.blendFunc(F.ONE,F.ONE_MINUS_SRC_ALPHA),F.disable(F.DEPTH_TEST),X.bind(),H.color[0].bind(0),X.uniforms.accumBuffer=0,d(F),F.disable(F.BLEND)}Te=!1;for(var xt=0;xt<xr;++xt)Me[xt].dirty=!1}}}function Ct(){ce._stopped||ce.contextLost||(kt(),requestAnimationFrame(Ct))}return ce.enableMouseListeners(),Ct(),ce.redraw=function(){ce._stopped||(Te=!0,kt())},ce}function M(g,P){var T=g.bounds,F=g.cameraParams,q=F.projection,V=F.model,H=g.gl.drawingBufferWidth,X=g.gl.drawingBufferHeight,G=g.zNear,N=g.zFar,W=g.fovy,re=H/X;P?(b(q,-re,re,-1,1,G,N),F._ortho=!0):(x(q,W,re,G,N),F._ortho=!1);for(var ae=0;ae<16;++ae)V[ae]=0;V[15]=1;for(var _e=0,ae=0;ae<3;++ae)_e=Math.max(_e,T[1][ae]-T[0][ae]);for(var ae=0;ae<3;++ae)g.autoScale?V[5*ae]=g.aspect[ae]/(T[1][ae]-T[0][ae]):V[5*ae]=1/_e,g.autoCenter&&(V[12+ae]=-V[5*ae]*.5*(T[0][ae]+T[1][ae]))}},783:function(i){i.exports=a;function a(o,s,l,u){var c=s[0],f=s[1],h=s[2],d=s[3],v=l[0],x=l[1],b=l[2],p=l[3],E,k,A,L,_;return k=c*v+f*x+h*b+d*p,k<0&&(k=-k,v=-v,x=-x,b=-b,p=-p),1-k>1e-6?(E=Math.acos(k),A=Math.sin(E),L=Math.sin((1-u)*E)/A,_=Math.sin(u*E)/A):(L=1-u,_=u),o[0]=L*c+_*v,o[1]=L*f+_*x,o[2]=L*h+_*b,o[3]=L*d+_*p,o}},5964:function(i){\"use strict\";i.exports=function(a){return!a&&a!==0?\"\":a.toString()}},9366:function(i,a,o){\"use strict\";var s=o(4359);i.exports=u;var l={};function u(c,f,h){var d=[f.style,f.weight,f.variant,f.family].join(\"_\"),v=l[d];if(v||(v=l[d]={}),c in v)return v[c];var x={textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:f.family,fontStyle:f.style,fontWeight:f.weight,fontVariant:f.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}};x.triangles=!0;var b=s(c,x);x.triangles=!1;var p=s(c,x),E,k;if(h&&h!==1){for(E=0;E<b.positions.length;++E)for(k=0;k<b.positions[E].length;++k)b.positions[E][k]/=h;for(E=0;E<p.positions.length;++E)for(k=0;k<p.positions[E].length;++k)p.positions[E][k]/=h}var A=[[1/0,1/0],[-1/0,-1/0]],L=p.positions.length;for(E=0;E<L;++E){var _=p.positions[E];for(k=0;k<2;++k)A[0][k]=Math.min(A[0][k],_[k]),A[1][k]=Math.max(A[1][k],_[k])}return v[c]=[b,p,A]}},1283:function(i,a,o){var s=o(9405),l=o(3236),u=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 glyph;\n", - "attribute vec4 id;\n", - "\n", - "uniform vec4 highlightId;\n", - "uniform float highlightScale;\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 clipBounds[2];\n", - "\n", - "varying vec4 interpColor;\n", - "varying vec4 pickId;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void 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", - "}`]),c=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 glyph;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec2 screenSize;\n", - "uniform vec3 clipBounds[2];\n", - "uniform float highlightScale, pixelRatio;\n", - "uniform vec4 highlightId;\n", - "\n", - "varying vec4 interpColor;\n", - "varying vec4 pickId;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void 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", - "}`]),f=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 glyph;\n", - "attribute vec4 id;\n", - "\n", - "uniform float highlightScale;\n", - "uniform vec4 highlightId;\n", - "uniform vec3 axes[2];\n", - "uniform mat4 model, view, projection;\n", - "uniform vec2 screenSize;\n", - "uniform vec3 clipBounds[2];\n", - "uniform float scale, pixelRatio;\n", - "\n", - "varying vec4 interpColor;\n", - "varying vec4 pickId;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void 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", - "`]),h=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 fragClipBounds[2];\n", - "uniform float opacity;\n", - "\n", - "varying vec4 interpColor;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void main() {\n", - " if (\n", - " outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n", - " interpColor.a * opacity == 0.\n", - " ) discard;\n", - " gl_FragColor = interpColor * opacity;\n", - "}\n", - "`]),d=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 fragClipBounds[2];\n", - "uniform float pickGroup;\n", - "\n", - "varying vec4 pickId;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void main() {\n", - " if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n", - "\n", - " gl_FragColor = vec4(pickGroup, pickId.bgr);\n", - "}`]),v=[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"glyph\",type:\"vec2\"},{name:\"id\",type:\"vec4\"}],x={vertex:u,fragment:h,attributes:v},b={vertex:c,fragment:h,attributes:v},p={vertex:f,fragment:h,attributes:v},E={vertex:u,fragment:d,attributes:v},k={vertex:c,fragment:d,attributes:v},A={vertex:f,fragment:d,attributes:v};function L(_,C){var M=s(_,C),g=M.attributes;return g.position.location=0,g.color.location=1,g.glyph.location=2,g.id.location=3,M}a.createPerspective=function(_){return L(_,x)},a.createOrtho=function(_){return L(_,b)},a.createProject=function(_){return L(_,p)},a.createPickPerspective=function(_){return L(_,E)},a.createPickOrtho=function(_){return L(_,k)},a.createPickProject=function(_){return L(_,A)}},8418:function(i,a,o){\"use strict\";var s=o(5219),l=o(2762),u=o(8116),c=o(1888),f=o(6760),h=o(1283),d=o(9366),v=o(5964),x=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],b=ArrayBuffer,p=DataView;function E(Ae){return b.isView(Ae)&&!(Ae instanceof p)}function k(Ae){return Array.isArray(Ae)||E(Ae)}i.exports=Ee;function A(Ae,ze){var Ce=Ae[0],me=Ae[1],Re=Ae[2],ce=Ae[3];return Ae[0]=ze[0]*Ce+ze[4]*me+ze[8]*Re+ze[12]*ce,Ae[1]=ze[1]*Ce+ze[5]*me+ze[9]*Re+ze[13]*ce,Ae[2]=ze[2]*Ce+ze[6]*me+ze[10]*Re+ze[14]*ce,Ae[3]=ze[3]*Ce+ze[7]*me+ze[11]*Re+ze[15]*ce,Ae}function L(Ae,ze,Ce,me){return A(me,me,Ce),A(me,me,ze),A(me,me,Ae)}function _(Ae,ze){this.index=Ae,this.dataCoordinate=this.position=ze}function C(Ae){return Ae===!0||Ae>1?1:Ae}function M(Ae,ze,Ce,me,Re,ce,Ge,nt,ct,qt,rt,ot){this.gl=Ae,this.pixelRatio=1,this.shader=ze,this.orthoShader=Ce,this.projectShader=me,this.pointBuffer=Re,this.colorBuffer=ce,this.glyphBuffer=Ge,this.idBuffer=nt,this.vao=ct,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[.6666666666666666,.6666666666666666,.6666666666666666],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=qt,this.pickOrthoShader=rt,this.pickProjectShader=ot,this.points=[],this._selectResult=new _(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}var g=M.prototype;g.pickSlots=1,g.setPickBase=function(Ae){this.pickId=Ae},g.isTransparent=function(){if(this.hasAlpha)return!0;for(var Ae=0;Ae<3;++Ae)if(this.axesProject[Ae]&&this.projectHasAlpha)return!0;return!1},g.isOpaque=function(){if(!this.hasAlpha)return!0;for(var Ae=0;Ae<3;++Ae)if(this.axesProject[Ae]&&!this.projectHasAlpha)return!0;return!1};var P=[0,0],T=[0,0,0],F=[0,0,0],q=[0,0,0,1],V=[0,0,0,1],H=x.slice(),X=[0,0,0],G=[[0,0,0],[0,0,0]];function N(Ae){return Ae[0]=Ae[1]=Ae[2]=0,Ae}function W(Ae,ze){return Ae[0]=ze[0],Ae[1]=ze[1],Ae[2]=ze[2],Ae[3]=1,Ae}function re(Ae,ze,Ce,me){return Ae[0]=ze[0],Ae[1]=ze[1],Ae[2]=ze[2],Ae[Ce]=me,Ae}function ae(Ae){for(var ze=G,Ce=0;Ce<2;++Ce)for(var me=0;me<3;++me)ze[Ce][me]=Math.max(Math.min(Ae[Ce][me],1e8),-1e8);return ze}function _e(Ae,ze,Ce,me){var Re=ze.axesProject,ce=ze.gl,Ge=Ae.uniforms,nt=Ce.model||x,ct=Ce.view||x,qt=Ce.projection||x,rt=ze.axesBounds,ot=ae(ze.clipBounds),Rt;ze.axes&&ze.axes.lastCubeProps?Rt=ze.axes.lastCubeProps.axis:Rt=[1,1,1],P[0]=2/ce.drawingBufferWidth,P[1]=2/ce.drawingBufferHeight,Ae.bind(),Ge.view=ct,Ge.projection=qt,Ge.screenSize=P,Ge.highlightId=ze.highlightId,Ge.highlightScale=ze.highlightScale,Ge.clipBounds=ot,Ge.pickGroup=ze.pickId/255,Ge.pixelRatio=me;for(var kt=0;kt<3;++kt)if(Re[kt]){Ge.scale=ze.projectScale[kt],Ge.opacity=ze.projectOpacity[kt];for(var Ct=H,Yt=0;Yt<16;++Yt)Ct[Yt]=0;for(var Yt=0;Yt<4;++Yt)Ct[5*Yt]=1;Ct[5*kt]=0,Rt[kt]<0?Ct[12+kt]=rt[0][kt]:Ct[12+kt]=rt[1][kt],f(Ct,nt,Ct),Ge.model=Ct;var xr=(kt+1)%3,er=(kt+2)%3,Ke=N(T),xt=N(F);Ke[xr]=1,xt[er]=1;var bt=L(qt,ct,nt,W(q,Ke)),Lt=L(qt,ct,nt,W(V,xt));if(Math.abs(bt[1])>Math.abs(Lt[1])){var St=bt;bt=Lt,Lt=St,St=Ke,Ke=xt,xt=St;var Et=xr;xr=er,er=Et}bt[0]<0&&(Ke[xr]=-1),Lt[1]>0&&(xt[er]=-1);for(var dt=0,Ht=0,Yt=0;Yt<4;++Yt)dt+=Math.pow(nt[4*xr+Yt],2),Ht+=Math.pow(nt[4*er+Yt],2);Ke[xr]/=Math.sqrt(dt),xt[er]/=Math.sqrt(Ht),Ge.axes[0]=Ke,Ge.axes[1]=xt,Ge.fragClipBounds[0]=re(X,ot[0],kt,-1e8),Ge.fragClipBounds[1]=re(X,ot[1],kt,1e8),ze.vao.bind(),ze.vao.draw(ce.TRIANGLES,ze.vertexCount),ze.lineWidth>0&&(ce.lineWidth(ze.lineWidth*me),ze.vao.draw(ce.LINES,ze.lineVertexCount,ze.vertexCount)),ze.vao.unbind()}}var Me=[-1e8,-1e8,-1e8],ke=[1e8,1e8,1e8],ge=[Me,ke];function ie(Ae,ze,Ce,me,Re,ce,Ge){var nt=Ce.gl;if((ce===Ce.projectHasAlpha||Ge)&&_e(ze,Ce,me,Re),ce===Ce.hasAlpha||Ge){Ae.bind();var ct=Ae.uniforms;ct.model=me.model||x,ct.view=me.view||x,ct.projection=me.projection||x,P[0]=2/nt.drawingBufferWidth,P[1]=2/nt.drawingBufferHeight,ct.screenSize=P,ct.highlightId=Ce.highlightId,ct.highlightScale=Ce.highlightScale,ct.fragClipBounds=ge,ct.clipBounds=Ce.axes.bounds,ct.opacity=Ce.opacity,ct.pickGroup=Ce.pickId/255,ct.pixelRatio=Re,Ce.vao.bind(),Ce.vao.draw(nt.TRIANGLES,Ce.vertexCount),Ce.lineWidth>0&&(nt.lineWidth(Ce.lineWidth*Re),Ce.vao.draw(nt.LINES,Ce.lineVertexCount,Ce.vertexCount)),Ce.vao.unbind()}}g.draw=function(Ae){var ze=this.useOrtho?this.orthoShader:this.shader;ie(ze,this.projectShader,this,Ae,this.pixelRatio,!1,!1)},g.drawTransparent=function(Ae){var ze=this.useOrtho?this.orthoShader:this.shader;ie(ze,this.projectShader,this,Ae,this.pixelRatio,!0,!1)},g.drawPick=function(Ae){var ze=this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader;ie(ze,this.pickProjectShader,this,Ae,1,!0,!0)},g.pick=function(Ae){if(!Ae||Ae.id!==this.pickId)return null;var ze=Ae.value[2]+(Ae.value[1]<<8)+(Ae.value[0]<<16);if(ze>=this.pointCount||ze<0)return null;var Ce=this.points[ze],me=this._selectResult;me.index=ze;for(var Re=0;Re<3;++Re)me.position[Re]=me.dataCoordinate[Re]=Ce[Re];return me},g.highlight=function(Ae){if(!Ae)this.highlightId=[1,1,1,1];else{var ze=Ae.index,Ce=ze&255,me=ze>>8&255,Re=ze>>16&255;this.highlightId=[Ce/255,me/255,Re/255,0]}};function Te(Ae,ze,Ce,me){var Re;k(Ae)?ze<Ae.length?Re=Ae[ze]:Re=void 0:Re=Ae,Re=v(Re);var ce=!0;s(Re)&&(Re=\"\\u25BC\",ce=!1),Ce||(Ce={});var Ge=Ce.family;k(Ge)&&(Ge=Ge[ze]),Ge||(Ge=\"normal\");var nt=Ce.weight;k(nt)&&(nt=nt[ze]),nt||(nt=\"normal\");var ct=Ce.style;k(ct)&&(ct=ct[ze]),ct||(ct=\"normal\");var qt=Ce.variant;k(qt)&&(qt=qt[ze]),qt||(qt=\"normal\");var rt=d(Re,{family:Ge,weight:nt,style:ct,variant:qt},me),rt=d(Re,Ce,me);return{mesh:rt[0],lines:rt[1],bounds:rt[2],visible:ce}}g.update=function(Ae){if(Ae=Ae||{},\"perspective\"in Ae&&(this.useOrtho=!Ae.perspective),\"orthographic\"in Ae&&(this.useOrtho=!!Ae.orthographic),\"lineWidth\"in Ae&&(this.lineWidth=Ae.lineWidth),\"project\"in Ae)if(k(Ae.project))this.axesProject=Ae.project;else{var ze=!!Ae.project;this.axesProject=[ze,ze,ze]}if(\"projectScale\"in Ae)if(k(Ae.projectScale))this.projectScale=Ae.projectScale.slice();else{var Ce=+Ae.projectScale;this.projectScale=[Ce,Ce,Ce]}if(this.projectHasAlpha=!1,\"projectOpacity\"in Ae){if(k(Ae.projectOpacity))this.projectOpacity=Ae.projectOpacity.slice();else{var Ce=+Ae.projectOpacity;this.projectOpacity=[Ce,Ce,Ce]}for(var me=0;me<3;++me)this.projectOpacity[me]=C(this.projectOpacity[me]),this.projectOpacity[me]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,\"opacity\"in Ae&&(this.opacity=C(Ae.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var Re=Ae.position,ce={family:Ae.font||\"normal\",style:Ae.fontStyle||\"normal\",weight:Ae.fontWeight||\"normal\",variant:Ae.fontVariant||\"normal\"},Ge=Ae.alignment||[0,0],nt,ct;if(Ge.length===2)nt=Ge[0],ct=Ge[1];else{nt=[],ct=[];for(var me=0;me<Ge.length;++me)nt[me]=Ge[me][0],ct[me]=Ge[me][1]}var qt=[1/0,1/0,1/0],rt=[-1/0,-1/0,-1/0],ot=Ae.glyph,Rt=Ae.color,kt=Ae.size,Ct=Ae.angle,Yt=Ae.lineColor,xr=-1,er=0,Ke=0,xt=0;if(Re.length){xt=Re.length;e:for(var me=0;me<xt;++me){for(var bt=Re[me],Lt=0;Lt<3;++Lt)if(isNaN(bt[Lt])||!isFinite(bt[Lt]))continue e;var St=Te(ot,me,ce,this.pixelRatio),Et=St.mesh,dt=St.lines,Ht=St.bounds;er+=Et.cells.length*3,Ke+=dt.edges.length*2}}var $t=er+Ke,fr=c.mallocFloat(3*$t),_r=c.mallocFloat(4*$t),Br=c.mallocFloat(2*$t),Or=c.mallocUint32($t);if($t>0){var Nr=0,ut=er,Ne=[0,0,0,1],Ye=[0,0,0,1],Ve=k(Rt)&&k(Rt[0]),Xe=k(Yt)&&k(Yt[0]);e:for(var me=0;me<xt;++me){xr+=1;for(var bt=Re[me],Lt=0;Lt<3;++Lt){if(isNaN(bt[Lt])||!isFinite(bt[Lt]))continue e;rt[Lt]=Math.max(rt[Lt],bt[Lt]),qt[Lt]=Math.min(qt[Lt],bt[Lt])}var St=Te(ot,me,ce,this.pixelRatio),Et=St.mesh,dt=St.lines,Ht=St.bounds,ht=St.visible;if(!ht)Ne=[1,1,1,0];else if(k(Rt)){var Le;if(Ve?me<Rt.length?Le=Rt[me]:Le=[0,0,0,0]:Le=Rt,Le.length===3){for(var Lt=0;Lt<3;++Lt)Ne[Lt]=Le[Lt];Ne[3]=1}else if(Le.length===4){for(var Lt=0;Lt<4;++Lt)Ne[Lt]=Le[Lt];!this.hasAlpha&&Le[3]<1&&(this.hasAlpha=!0)}}else Ne[0]=Ne[1]=Ne[2]=0,Ne[3]=1;if(!ht)Ye=[1,1,1,0];else if(k(Yt)){var Le;if(Xe?me<Yt.length?Le=Yt[me]:Le=[0,0,0,0]:Le=Yt,Le.length===3){for(var Lt=0;Lt<3;++Lt)Ye[Lt]=Le[Lt];Ye[Lt]=1}else if(Le.length===4){for(var Lt=0;Lt<4;++Lt)Ye[Lt]=Le[Lt];!this.hasAlpha&&Le[3]<1&&(this.hasAlpha=!0)}}else Ye[0]=Ye[1]=Ye[2]=0,Ye[3]=1;var xe=.5;ht?k(kt)?me<kt.length?xe=+kt[me]:xe=12:kt?xe=+kt:this.useOrtho&&(xe=12):xe=0;var Se=0;k(Ct)?me<Ct.length?Se=+Ct[me]:Se=0:Ct&&(Se=+Ct);for(var lt=Math.cos(Se),Gt=Math.sin(Se),bt=Re[me],Lt=0;Lt<3;++Lt)rt[Lt]=Math.max(rt[Lt],bt[Lt]),qt[Lt]=Math.min(qt[Lt],bt[Lt]);var Vt=nt,ar=ct,Vt=0;k(nt)?me<nt.length?Vt=nt[me]:Vt=0:nt&&(Vt=nt);var ar=0;k(ct)?me<ct.length?ar=ct[me]:ar=0:ct&&(ar=ct),Vt*=Vt>0?1-Ht[0][0]:Vt<0?1+Ht[1][0]:1,ar*=ar>0?1-Ht[0][1]:ar<0?1+Ht[1][1]:1;for(var Qr=[Vt,ar],nn=Et.cells||[],Wi=Et.positions||[],Lt=0;Lt<nn.length;++Lt)for(var ai=nn[Lt],jr=0;jr<3;++jr){for(var ri=0;ri<3;++ri)fr[3*Nr+ri]=bt[ri];for(var ri=0;ri<4;++ri)_r[4*Nr+ri]=Ne[ri];Or[Nr]=xr;var bi=Wi[ai[jr]];Br[2*Nr]=xe*(lt*bi[0]-Gt*bi[1]+Qr[0]),Br[2*Nr+1]=xe*(Gt*bi[0]+lt*bi[1]+Qr[1]),Nr+=1}for(var nn=dt.edges,Wi=dt.positions,Lt=0;Lt<nn.length;++Lt)for(var ai=nn[Lt],jr=0;jr<2;++jr){for(var ri=0;ri<3;++ri)fr[3*ut+ri]=bt[ri];for(var ri=0;ri<4;++ri)_r[4*ut+ri]=Ye[ri];Or[ut]=xr;var bi=Wi[ai[jr]];Br[2*ut]=xe*(lt*bi[0]-Gt*bi[1]+Qr[0]),Br[2*ut+1]=xe*(Gt*bi[0]+lt*bi[1]+Qr[1]),ut+=1}}}this.bounds=[qt,rt],this.points=Re,this.pointCount=Re.length,this.vertexCount=er,this.lineVertexCount=Ke,this.pointBuffer.update(fr),this.colorBuffer.update(_r),this.glyphBuffer.update(Br),this.idBuffer.update(Or),c.free(fr),c.free(_r),c.free(Br),c.free(Or)},g.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()};function Ee(Ae){var ze=Ae.gl,Ce=h.createPerspective(ze),me=h.createOrtho(ze),Re=h.createProject(ze),ce=h.createPickPerspective(ze),Ge=h.createPickOrtho(ze),nt=h.createPickProject(ze),ct=l(ze),qt=l(ze),rt=l(ze),ot=l(ze),Rt=u(ze,[{buffer:ct,size:3,type:ze.FLOAT},{buffer:qt,size:4,type:ze.FLOAT},{buffer:rt,size:2,type:ze.FLOAT},{buffer:ot,size:4,type:ze.UNSIGNED_BYTE,normalized:!0}]),kt=new M(ze,Ce,me,Re,ct,qt,rt,ot,Rt,ce,Ge,nt);return kt.update(Ae),kt}},3589:function(i,a,o){\"use strict\";i.exports=x;var s=o(2260),l=o(1888),u=o(9618),c=o(8828).nextPow2,f=function(b,p,E){for(var k=1e8,A=-1,L=-1,_=b.shape[0],C=b.shape[1],M=0;M<_;M++)for(var g=0;g<C;g++){var P=b.get(M,g,0),T=b.get(M,g,1),F=b.get(M,g,2),q=b.get(M,g,3);if(P<255||T<255||F<255||q<255){var V=p-M,H=E-g,X=V*V+H*H;X<k&&(k=X,A=M,L=g)}}return[A,L,k]};function h(b,p,E,k,A){this.coord=[b,p],this.id=E,this.value=k,this.distance=A}function d(b,p,E){this.gl=b,this.fbo=p,this.buffer=E,this._readTimeout=null;var k=this;this._readCallback=function(){k.gl&&(p.bind(),b.readPixels(0,0,p.shape[0],p.shape[1],b.RGBA,b.UNSIGNED_BYTE,k.buffer),k._readTimeout=null)}}var v=d.prototype;Object.defineProperty(v,\"shape\",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(b){if(this.gl){this.fbo.shape=b;var p=this.fbo.shape[0],E=this.fbo.shape[1];if(E*p*4>this.buffer.length){l.free(this.buffer);for(var k=this.buffer=l.mallocUint8(c(E*p*4)),A=0;A<E*p*4;++A)k[A]=255}return b}}}),v.begin=function(){var b=this.gl,p=this.shape;b&&(this.fbo.bind(),b.clearColor(1,1,1,1),b.clear(b.COLOR_BUFFER_BIT|b.DEPTH_BUFFER_BIT))},v.end=function(){var b=this.gl;b&&(b.bindFramebuffer(b.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},v.query=function(b,p,E){if(!this.gl)return null;var k=this.fbo.shape.slice();b=b|0,p=p|0,typeof E!=\"number\"&&(E=1);var A=Math.min(Math.max(b-E,0),k[0])|0,L=Math.min(Math.max(b+E,0),k[0])|0,_=Math.min(Math.max(p-E,0),k[1])|0,C=Math.min(Math.max(p+E,0),k[1])|0;if(L<=A||C<=_)return null;var M=[L-A,C-_],g=u(this.buffer,[M[0],M[1],4],[4,k[0]*4,1],4*(A+k[0]*_)),P=f(g.hi(M[0],M[1],1),E,E),T=P[0],F=P[1];if(T<0||Math.pow(this.radius,2)<P[2])return null;var q=g.get(T,F,0),V=g.get(T,F,1),H=g.get(T,F,2),X=g.get(T,F,3);return new h(T+A|0,F+_|0,q,[V,H,X],Math.sqrt(P[2]))},v.dispose=function(){this.gl&&(this.fbo.dispose(),l.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))};function x(b,p){var E=p[0],k=p[1],A={},L=s(b,E,k,A),_=l.mallocUint8(E*k*4);return new d(b,L,_)}},9405:function(i,a,o){\"use strict\";var s=o(3327),l=o(8731),u=o(216),c=o(5091),f=o(2145),h=o(8866);function d(p){this.gl=p,this.gl.lastAttribCount=0,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}var v=d.prototype;v.bind=function(){this.program||this._relink();var p,E=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),k=this.gl.lastAttribCount;if(E>k)for(p=k;p<E;p++)this.gl.enableVertexAttribArray(p);else if(k>E)for(p=E;p<k;p++)this.gl.disableVertexAttribArray(p);this.gl.lastAttribCount=E,this.gl.useProgram(this.program)},v.dispose=function(){for(var p=this.gl.lastAttribCount,E=0;E<p;E++)this.gl.disableVertexAttribArray(E);this.gl.lastAttribCount=0,this._fref&&this._fref.dispose(),this._vref&&this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null};function x(p,E){return p.name<E.name?-1:1}v.update=function(p,E,k,A){if(!E||arguments.length===1){var L=p;p=L.vertex,E=L.fragment,k=L.uniforms,A=L.attributes}var _=this,C=_.gl,M=_._vref;_._vref=c.shader(C,C.VERTEX_SHADER,p),M&&M.dispose(),_.vertShader=_._vref.shader;var g=this._fref;if(_._fref=c.shader(C,C.FRAGMENT_SHADER,E),g&&g.dispose(),_.fragShader=_._fref.shader,!k||!A){var P=C.createProgram();if(C.attachShader(P,_.fragShader),C.attachShader(P,_.vertShader),C.linkProgram(P),!C.getProgramParameter(P,C.LINK_STATUS)){var T=C.getProgramInfoLog(P);throw new h(T,\"Error linking program:\"+T)}k=k||f.uniforms(C,P),A=A||f.attributes(C,P),C.deleteProgram(P)}A=A.slice(),A.sort(x);var F=[],q=[],V=[],H;for(H=0;H<A.length;++H){var X=A[H];if(X.type.indexOf(\"mat\")>=0){for(var G=X.type.charAt(X.type.length-1)|0,N=new Array(G),W=0;W<G;++W)N[W]=V.length,q.push(X.name+\"[\"+W+\"]\"),typeof X.location==\"number\"?V.push(X.location+W):Array.isArray(X.location)&&X.location.length===G&&typeof X.location[W]==\"number\"?V.push(X.location[W]|0):V.push(-1);F.push({name:X.name,type:X.type,locations:N})}else F.push({name:X.name,type:X.type,locations:[V.length]}),q.push(X.name),typeof X.location==\"number\"?V.push(X.location|0):V.push(-1)}var re=0;for(H=0;H<V.length;++H)if(V[H]<0){for(;V.indexOf(re)>=0;)re+=1;V[H]=re}var ae=new Array(k.length);function _e(){_.program=c.program(C,_._vref,_._fref,q,V);for(var Me=0;Me<k.length;++Me)ae[Me]=C.getUniformLocation(_.program,k[Me].name)}_e(),_._relink=_e,_.types={uniforms:u(k),attributes:u(A)},_.attributes=l(C,_,F,V),Object.defineProperty(_,\"uniforms\",s(C,_,k,ae))};function b(p,E,k,A,L){var _=new d(p);return _.update(E,k,A,L),_}i.exports=b},8866:function(i){function a(o,s,l){this.shortMessage=s||\"\",this.longMessage=l||\"\",this.rawError=o||\"\",this.message=\"gl-shader: \"+(s||o||\"\")+(l?`\n", - "`+l:\"\"),this.stack=new Error().stack}a.prototype=new Error,a.prototype.name=\"GLError\",a.prototype.constructor=a,i.exports=a},8731:function(i,a,o){\"use strict\";i.exports=d;var s=o(8866);function l(v,x,b,p,E,k){this._gl=v,this._wrapper=x,this._index=b,this._locations=p,this._dimension=E,this._constFunc=k}var u=l.prototype;u.pointer=function(x,b,p,E){var k=this,A=k._gl,L=k._locations[k._index];A.vertexAttribPointer(L,k._dimension,x||A.FLOAT,!!b,p||0,E||0),A.enableVertexAttribArray(L)},u.set=function(v,x,b,p){return this._constFunc(this._locations[this._index],v,x,b,p)},Object.defineProperty(u,\"location\",{get:function(){return this._locations[this._index]},set:function(v){return v!==this._locations[this._index]&&(this._locations[this._index]=v|0,this._wrapper.program=null),v|0}});var c=[function(v,x,b){return b.length===void 0?v.vertexAttrib1f(x,b):v.vertexAttrib1fv(x,b)},function(v,x,b,p){return b.length===void 0?v.vertexAttrib2f(x,b,p):v.vertexAttrib2fv(x,b)},function(v,x,b,p,E){return b.length===void 0?v.vertexAttrib3f(x,b,p,E):v.vertexAttrib3fv(x,b)},function(v,x,b,p,E,k){return b.length===void 0?v.vertexAttrib4f(x,b,p,E,k):v.vertexAttrib4fv(x,b)}];function f(v,x,b,p,E,k,A){var L=c[E],_=new l(v,x,b,p,E,L);Object.defineProperty(k,A,{set:function(C){return v.disableVertexAttribArray(p[b]),L(v,p[b],C),C},get:function(){return _},enumerable:!0})}function h(v,x,b,p,E,k,A){for(var L=new Array(E),_=new Array(E),C=0;C<E;++C)f(v,x,b[C],p,E,L,C),_[C]=L[C];Object.defineProperty(L,\"location\",{set:function(P){if(Array.isArray(P))for(var T=0;T<E;++T)_[T].location=P[T];else for(var T=0;T<E;++T)_[T].location=P+T;return P},get:function(){for(var P=new Array(E),T=0;T<E;++T)P[T]=p[b[T]];return P},enumerable:!0}),L.pointer=function(P,T,F,q){P=P||v.FLOAT,T=!!T,F=F||E*E,q=q||0;for(var V=0;V<E;++V){var H=p[b[V]];v.vertexAttribPointer(H,E,P,T,F,q+V*E),v.enableVertexAttribArray(H)}};var M=new Array(E),g=v[\"vertexAttrib\"+E+\"fv\"];Object.defineProperty(k,A,{set:function(P){for(var T=0;T<E;++T){var F=p[b[T]];if(v.disableVertexAttribArray(F),Array.isArray(P[0]))g.call(v,F,P[T]);else{for(var q=0;q<E;++q)M[q]=P[E*T+q];g.call(v,F,M)}}return P},get:function(){return L},enumerable:!0})}function d(v,x,b,p){for(var E={},k=0,A=b.length;k<A;++k){var L=b[k],_=L.name,C=L.type,M=L.locations;switch(C){case\"bool\":case\"int\":case\"float\":f(v,x,M[0],p,1,E,_);break;default:if(C.indexOf(\"vec\")>=0){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new s(\"\",\"Invalid data type for attribute \"+_+\": \"+C);f(v,x,M[0],p,g,E,_)}else if(C.indexOf(\"mat\")>=0){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new s(\"\",\"Invalid data type for attribute \"+_+\": \"+C);h(v,x,M,p,g,E,_)}else throw new s(\"\",\"Unknown data type for attribute \"+_+\": \"+C);break}}return E}},3327:function(i,a,o){\"use strict\";var s=o(216),l=o(8866);i.exports=f;function u(h){return function(){return h}}function c(h,d){for(var v=new Array(h),x=0;x<h;++x)v[x]=d;return v}function f(h,d,v,x){function b(C){return function(M,g,P){return M.getUniform(g.program,P[C])}}function p(C){return function(g){for(var P=E(\"\",C),T=0;T<P.length;++T){var F=P[T],q=F[0],V=F[1];if(x[V]){var H=g;if(typeof q==\"string\"&&(q.indexOf(\".\")===0||q.indexOf(\"[\")===0)){var X=q;if(q.indexOf(\".\")===0&&(X=q.slice(1)),X.indexOf(\"]\")===X.length-1){var G=X.indexOf(\"[\"),N=X.slice(0,G),W=X.slice(G+1,X.length-1);H=N?g[N][W]:g[W]}else H=g[X]}var re=v[V].type,ae;switch(re){case\"bool\":case\"int\":case\"sampler2D\":case\"samplerCube\":h.uniform1i(x[V],H);break;case\"float\":h.uniform1f(x[V],H);break;default:var _e=re.indexOf(\"vec\");if(0<=_e&&_e<=1&&re.length===4+_e){if(ae=re.charCodeAt(re.length-1)-48,ae<2||ae>4)throw new l(\"\",\"Invalid data type\");switch(re.charAt(0)){case\"b\":case\"i\":h[\"uniform\"+ae+\"iv\"](x[V],H);break;case\"v\":h[\"uniform\"+ae+\"fv\"](x[V],H);break;default:throw new l(\"\",\"Unrecognized data type for vector \"+name+\": \"+re)}}else if(re.indexOf(\"mat\")===0&&re.length===4){if(ae=re.charCodeAt(re.length-1)-48,ae<2||ae>4)throw new l(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+re);h[\"uniformMatrix\"+ae+\"fv\"](x[V],!1,H);break}else throw new l(\"\",\"Unknown uniform data type for \"+name+\": \"+re)}}}}}function E(C,M){if(typeof M!=\"object\")return[[C,M]];var g=[];for(var P in M){var T=M[P],F=C;parseInt(P)+\"\"===P?F+=\"[\"+P+\"]\":F+=\".\"+P,typeof T==\"object\"?g.push.apply(g,E(F,T)):g.push([F,T])}return g}function k(C){switch(C){case\"bool\":return!1;case\"int\":case\"sampler2D\":case\"samplerCube\":return 0;case\"float\":return 0;default:var M=C.indexOf(\"vec\");if(0<=M&&M<=1&&C.length===4+M){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new l(\"\",\"Invalid data type\");return C.charAt(0)===\"b\"?c(g,!1):c(g,0)}else if(C.indexOf(\"mat\")===0&&C.length===4){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new l(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+C);return c(g*g,0)}else throw new l(\"\",\"Unknown uniform data type for \"+name+\": \"+C)}}function A(C,M,g){if(typeof g==\"object\"){var P=L(g);Object.defineProperty(C,M,{get:u(P),set:p(g),enumerable:!0,configurable:!1})}else x[g]?Object.defineProperty(C,M,{get:b(g),set:p(g),enumerable:!0,configurable:!1}):C[M]=k(v[g].type)}function L(C){var M;if(Array.isArray(C)){M=new Array(C.length);for(var g=0;g<C.length;++g)A(M,g,C[g])}else{M={};for(var P in C)A(M,P,C[P])}return M}var _=s(v,!0);return{get:u(L(_)),set:p(_),enumerable:!0,configurable:!0}}},216:function(i){\"use strict\";i.exports=a;function a(o,s){for(var l={},u=0;u<o.length;++u)for(var c=o[u].name,f=c.split(\".\"),h=l,d=0;d<f.length;++d){var v=f[d].split(\"[\");if(v.length>1){v[0]in h||(h[v[0]]=[]),h=h[v[0]];for(var x=1;x<v.length;++x){var b=parseInt(v[x]);x<v.length-1||d<f.length-1?(b in h||(x<v.length-1?h[b]=[]:h[b]={}),h=h[b]):s?h[b]=u:h[b]=o[u].type}}else d<f.length-1?(v[0]in h||(h[v[0]]={}),h=h[v[0]]):s?h[v[0]]=u:h[v[0]]=o[u].type}return l}},2145:function(i,a){\"use strict\";a.uniforms=u,a.attributes=c;var o={FLOAT:\"float\",FLOAT_VEC2:\"vec2\",FLOAT_VEC3:\"vec3\",FLOAT_VEC4:\"vec4\",INT:\"int\",INT_VEC2:\"ivec2\",INT_VEC3:\"ivec3\",INT_VEC4:\"ivec4\",BOOL:\"bool\",BOOL_VEC2:\"bvec2\",BOOL_VEC3:\"bvec3\",BOOL_VEC4:\"bvec4\",FLOAT_MAT2:\"mat2\",FLOAT_MAT3:\"mat3\",FLOAT_MAT4:\"mat4\",SAMPLER_2D:\"sampler2D\",SAMPLER_CUBE:\"samplerCube\"},s=null;function l(f,h){if(!s){var d=Object.keys(o);s={};for(var v=0;v<d.length;++v){var x=d[v];s[f[x]]=o[x]}}return s[h]}function u(f,h){for(var d=f.getProgramParameter(h,f.ACTIVE_UNIFORMS),v=[],x=0;x<d;++x){var b=f.getActiveUniform(h,x);if(b){var p=l(f,b.type);if(b.size>1)for(var E=0;E<b.size;++E)v.push({name:b.name.replace(\"[0]\",\"[\"+E+\"]\"),type:p});else v.push({name:b.name,type:p})}}return v}function c(f,h){for(var d=f.getProgramParameter(h,f.ACTIVE_ATTRIBUTES),v=[],x=0;x<d;++x){var b=f.getActiveAttrib(h,x);b&&v.push({name:b.name,type:l(f,b.type)})}return v}},5091:function(i,a,o){\"use strict\";a.shader=E,a.program=k;var s=o(8866),l=o(2992),u=typeof WeakMap==\"undefined\"?o(606):WeakMap,c=new u,f=0;function h(A,L,_,C,M,g,P){this.id=A,this.src=L,this.type=_,this.shader=C,this.count=g,this.programs=[],this.cache=P}h.prototype.dispose=function(){if(--this.count===0){for(var A=this.cache,L=A.gl,_=this.programs,C=0,M=_.length;C<M;++C){var g=A.programs[_[C]];g&&(delete A.programs[C],L.deleteProgram(g))}L.deleteShader(this.shader),delete A.shaders[this.type===L.FRAGMENT_SHADER|0][this.src]}};function d(A){this.gl=A,this.shaders=[{},{}],this.programs={}}var v=d.prototype;function x(A,L,_){var C=A.createShader(L);if(A.shaderSource(C,_),A.compileShader(C),!A.getShaderParameter(C,A.COMPILE_STATUS)){var M=A.getShaderInfoLog(C);try{var g=l(M,_,L)}catch(P){throw console.warn(\"Failed to format compiler error: \"+P),new s(M,`Error compiling shader:\n", - "`+M)}throw new s(M,g.short,g.long)}return C}v.getShaderReference=function(A,L){var _=this.gl,C=this.shaders[A===_.FRAGMENT_SHADER|0],M=C[L];if(!M||!_.isShader(M.shader)){var g=x(_,A,L);M=C[L]=new h(f++,L,A,g,[],1,this)}else M.count+=1;return M};function b(A,L,_,C,M){var g=A.createProgram();A.attachShader(g,L),A.attachShader(g,_);for(var P=0;P<C.length;++P)A.bindAttribLocation(g,M[P],C[P]);if(A.linkProgram(g),!A.getProgramParameter(g,A.LINK_STATUS)){var T=A.getProgramInfoLog(g);throw new s(T,\"Error linking program: \"+T)}return g}v.getProgram=function(A,L,_,C){var M=[A.id,L.id,_.join(\":\"),C.join(\":\")].join(\"@\"),g=this.programs[M];return(!g||!this.gl.isProgram(g))&&(this.programs[M]=g=b(this.gl,A.shader,L.shader,_,C),A.programs.push(M),L.programs.push(M)),g};function p(A){var L=c.get(A);return L||(L=new d(A),c.set(A,L)),L}function E(A,L,_){return p(A).getShaderReference(L,_)}function k(A,L,_,C,M){return p(A).getProgram(L,_,C,M)}},1493:function(i,a,o){\"use strict\";var s=o(3236),l=o(9405),u=s([`precision mediump float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position, color;\n", - "attribute float weight;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 coordinates[3];\n", - "uniform vec4 colors[3];\n", - "uniform vec2 screenShape;\n", - "uniform float lineWidth;\n", - "\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - " vec3 vertexPosition = mix(coordinates[0],\n", - " mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));\n", - "\n", - " vec4 clipPos = projection * (view * (model * vec4(vertexPosition, 1.0)));\n", - " vec2 clipOffset = (projection * (view * (model * vec4(color, 0.0)))).xy;\n", - " vec2 delta = weight * clipOffset * screenShape;\n", - " vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;\n", - "\n", - " gl_Position = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);\n", - " fragColor = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];\n", - "}\n", - "`]),c=s([`precision mediump float;\n", - "#define GLSLIFY 1\n", - "\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - " gl_FragColor = fragColor;\n", - "}`]);i.exports=function(f){return l(f,u,c,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec3\"},{name:\"weight\",type:\"float\"}])}},4449:function(i,a,o){\"use strict\";var s=o(2762),l=o(8116),u=o(1493);i.exports=b;var c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(p,E,k,A){this.gl=p,this.buffer=E,this.vao=k,this.shader=A,this.pixelRatio=1,this.bounds=[[-1e3,-1e3,-1e3],[1e3,1e3,1e3]],this.position=[0,0,0],this.lineWidth=[2,2,2],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.enabled=[!0,!0,!0],this.drawSides=[!0,!0,!0],this.axes=null}var h=f.prototype,d=[0,0,0],v=[0,0,0],x=[0,0];h.isTransparent=function(){return!1},h.drawTransparent=function(p){},h.draw=function(p){var E=this.gl,k=this.vao,A=this.shader;k.bind(),A.bind();var L=p.model||c,_=p.view||c,C=p.projection||c,M;this.axes&&(M=this.axes.lastCubeProps.axis);for(var g=d,P=v,T=0;T<3;++T)M&&M[T]<0?(g[T]=this.bounds[0][T],P[T]=this.bounds[1][T]):(g[T]=this.bounds[1][T],P[T]=this.bounds[0][T]);x[0]=E.drawingBufferWidth,x[1]=E.drawingBufferHeight,A.uniforms.model=L,A.uniforms.view=_,A.uniforms.projection=C,A.uniforms.coordinates=[this.position,g,P],A.uniforms.colors=this.colors,A.uniforms.screenShape=x;for(var T=0;T<3;++T)A.uniforms.lineWidth=this.lineWidth[T]*this.pixelRatio,this.enabled[T]&&(k.draw(E.TRIANGLES,6,6*T),this.drawSides[T]&&k.draw(E.TRIANGLES,12,18+12*T));k.unbind()},h.update=function(p){p&&(\"bounds\"in p&&(this.bounds=p.bounds),\"position\"in p&&(this.position=p.position),\"lineWidth\"in p&&(this.lineWidth=p.lineWidth),\"colors\"in p&&(this.colors=p.colors),\"enabled\"in p&&(this.enabled=p.enabled),\"drawSides\"in p&&(this.drawSides=p.drawSides))},h.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};function b(p,E){var k=[];function A(g,P,T,F,q,V){var H=[g,P,T,0,0,0,1];H[F+3]=1,H[F]=q,k.push.apply(k,H),H[6]=-1,k.push.apply(k,H),H[F]=V,k.push.apply(k,H),k.push.apply(k,H),H[6]=1,k.push.apply(k,H),H[F]=q,k.push.apply(k,H)}A(0,0,0,0,0,1),A(0,0,0,1,0,1),A(0,0,0,2,0,1),A(1,0,0,1,-1,1),A(1,0,0,2,-1,1),A(0,1,0,0,-1,1),A(0,1,0,2,-1,1),A(0,0,1,0,-1,1),A(0,0,1,1,-1,1);var L=s(p,k),_=l(p,[{type:p.FLOAT,buffer:L,size:3,offset:0,stride:28},{type:p.FLOAT,buffer:L,size:3,offset:12,stride:28},{type:p.FLOAT,buffer:L,size:1,offset:24,stride:28}]),C=u(p);C.attributes.position.location=0,C.attributes.color.location=1,C.attributes.weight.location=2;var M=new f(p,L,_,C);return M.update(E),M}},6740:function(i,a,o){var s=o(3236),l=s([`precision highp float;\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "vec3 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", - "//\n", - "vec3 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", - "\n", - "attribute vec4 vector;\n", - "attribute vec4 color, position;\n", - "attribute vec2 uv;\n", - "\n", - "uniform float vectorScale, tubeScale;\n", - "uniform mat4 model, view, projection, inverseModel;\n", - "uniform vec3 eyePosition, lightPosition;\n", - "\n", - "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),u=s([`#extension GL_OES_standard_derivatives : enable\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "float 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", - "\n", - "float 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", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\n", - "uniform sampler2D texture;\n", - "\n", - "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),c=s([`precision highp float;\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "vec3 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", - "//\n", - "vec3 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", - "\n", - "attribute vec4 vector;\n", - "attribute vec4 position;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform float tubeScale;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void 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", - "`]),f=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float pickId;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n", - "\n", - " gl_FragColor = vec4(pickId, f_id.xyz);\n", - "}`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec4\"}]},a.pickShader={vertex:c,fragment:f,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec4\"}]}},7815:function(i,a,o){\"use strict\";var s=o(2931),l=o(9970),u=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"],c=function(A,L,_,C){for(var M=A.points,g=A.velocities,P=A.divergences,T=[],F=[],q=[],V=[],H=[],X=[],G=0,N=0,W=l.create(),re=l.create(),ae=8,_e=0;_e<M.length;_e++){var Me=M[_e],ke=g[_e],ge=P[_e];L===0&&(ge=_*.05),N=s.length(ke)/C,W=l.create(),s.copy(W,ke),W[3]=ge;for(var ie=0;ie<ae;ie++)H[ie]=[Me[0],Me[1],Me[2],ie];if(V.length>0)for(var ie=0;ie<ae;ie++){var Te=(ie+1)%ae;T.push(V[ie],H[ie],H[Te],H[Te],V[Te],V[ie]),q.push(re,W,W,W,re,re),X.push(G,N,N,N,G,G);var Ee=T.length;F.push([Ee-6,Ee-5,Ee-4],[Ee-3,Ee-2,Ee-1])}var Ae=V;V=H,H=Ae;var ze=re;re=W,W=ze;var Ce=G;G=N,N=Ce}return{positions:T,cells:F,vectors:q,vertexIntensity:X}},f=function(A,L,_,C){for(var M=0,g=0;g<A.length;g++)for(var P=A[g].velocities,T=0;T<P.length;T++)M=Math.max(M,s.length(P[T]));for(var F=A.map(function(_e){return c(_e,_,C,M)}),q=[],V=[],H=[],X=[],g=0;g<F.length;g++){var G=F[g],N=q.length;q=q.concat(G.positions),H=H.concat(G.vectors),X=X.concat(G.vertexIntensity);for(var T=0;T<G.cells.length;T++){var W=G.cells[T],re=[];V.push(re);for(var ae=0;ae<W.length;ae++)re.push(W[ae]+N)}}return{positions:q,cells:V,vectors:H,vertexIntensity:X,colormap:L}},h=function(A,L){var _=A.length,C;for(C=0;C<_;C++){var M=A[C];if(M===L)return C;if(M>L)return C-1}return C},d=function(A,L,_){return A<L?L:A>_?_:A},v=function(A,L,_){var C=L.vectors,M=L.meshgrid,g=A[0],P=A[1],T=A[2],F=M[0].length,q=M[1].length,V=M[2].length,H=h(M[0],g),X=h(M[1],P),G=h(M[2],T),N=H+1,W=X+1,re=G+1;if(H=d(H,0,F-1),N=d(N,0,F-1),X=d(X,0,q-1),W=d(W,0,q-1),G=d(G,0,V-1),re=d(re,0,V-1),H<0||X<0||G<0||N>F-1||W>q-1||re>V-1)return s.create();var ae=M[0][H],_e=M[0][N],Me=M[1][X],ke=M[1][W],ge=M[2][G],ie=M[2][re],Te=(g-ae)/(_e-ae),Ee=(P-Me)/(ke-Me),Ae=(T-ge)/(ie-ge);isFinite(Te)||(Te=.5),isFinite(Ee)||(Ee=.5),isFinite(Ae)||(Ae=.5);var ze,Ce,me,Re,ce,Ge;switch(_.reversedX&&(H=F-1-H,N=F-1-N),_.reversedY&&(X=q-1-X,W=q-1-W),_.reversedZ&&(G=V-1-G,re=V-1-re),_.filled){case 5:ce=G,Ge=re,me=X*V,Re=W*V,ze=H*V*q,Ce=N*V*q;break;case 4:ce=G,Ge=re,ze=H*V,Ce=N*V,me=X*V*F,Re=W*V*F;break;case 3:me=X,Re=W,ce=G*q,Ge=re*q,ze=H*q*V,Ce=N*q*V;break;case 2:me=X,Re=W,ze=H*q,Ce=N*q,ce=G*q*F,Ge=re*q*F;break;case 1:ze=H,Ce=N,ce=G*F,Ge=re*F,me=X*F*V,Re=W*F*V;break;default:ze=H,Ce=N,me=X*F,Re=W*F,ce=G*F*q,Ge=re*F*q;break}var nt=C[ze+me+ce],ct=C[ze+me+Ge],qt=C[ze+Re+ce],rt=C[ze+Re+Ge],ot=C[Ce+me+ce],Rt=C[Ce+me+Ge],kt=C[Ce+Re+ce],Ct=C[Ce+Re+Ge],Yt=s.create(),xr=s.create(),er=s.create(),Ke=s.create();s.lerp(Yt,nt,ot,Te),s.lerp(xr,ct,Rt,Te),s.lerp(er,qt,kt,Te),s.lerp(Ke,rt,Ct,Te);var xt=s.create(),bt=s.create();s.lerp(xt,Yt,er,Ee),s.lerp(bt,xr,Ke,Ee);var Lt=s.create();return s.lerp(Lt,xt,bt,Ae),Lt},x=function(A,L){var _=L[0],C=L[1],M=L[2];return A[0]=_<0?-_:_,A[1]=C<0?-C:C,A[2]=M<0?-M:M,A},b=function(A){var L=1/0;A.sort(function(g,P){return g-P});for(var _=A.length,C=1;C<_;C++){var M=Math.abs(A[C]-A[C-1]);M<L&&(L=M)}return L},p=function(A){for(var L=[],_=[],C=[],M={},g={},P={},T=A.length,F=0;F<T;F++){var q=A[F],V=q[0],H=q[1],X=q[2];M[V]||(L.push(V),M[V]=!0),g[H]||(_.push(H),g[H]=!0),P[X]||(C.push(X),P[X]=!0)}var G=b(L),N=b(_),W=b(C),re=Math.min(G,N,W);return isFinite(re)?re:1};i.exports=function(A,L){var _=A.startingPositions,C=A.maxLength||1e3,M=A.tubeSize||1,g=A.absoluteTubeSize,P=A.gridFill||\"+x+y+z\",T={};P.indexOf(\"-x\")!==-1&&(T.reversedX=!0),P.indexOf(\"-y\")!==-1&&(T.reversedY=!0),P.indexOf(\"-z\")!==-1&&(T.reversedZ=!0),T.filled=u.indexOf(P.replace(/-/g,\"\").replace(/\\+/g,\"\"));var F=A.getVelocity||function(Rt){return v(Rt,A,T)},q=A.getDivergence||function(Rt,kt){var Ct=s.create(),Yt=1e-4;s.add(Ct,Rt,[Yt,0,0]);var xr=F(Ct);s.subtract(xr,xr,kt),s.scale(xr,xr,1/Yt),s.add(Ct,Rt,[0,Yt,0]);var er=F(Ct);s.subtract(er,er,kt),s.scale(er,er,1/Yt),s.add(Ct,Rt,[0,0,Yt]);var Ke=F(Ct);return s.subtract(Ke,Ke,kt),s.scale(Ke,Ke,1/Yt),s.add(Ct,xr,er),s.add(Ct,Ct,Ke),Ct},V=[],H=L[0][0],X=L[0][1],G=L[0][2],N=L[1][0],W=L[1][1],re=L[1][2],ae=function(Rt){var kt=Rt[0],Ct=Rt[1],Yt=Rt[2];return!(kt<H||kt>N||Ct<X||Ct>W||Yt<G||Yt>re)},_e=s.distance(L[0],L[1]),Me=10*_e/C,ke=Me*Me,ge=1,ie=0,Te=_.length;Te>1&&(ge=p(_));for(var Ee=0;Ee<Te;Ee++){var Ae=s.create();s.copy(Ae,_[Ee]);var ze=[Ae],Ce=[],me=F(Ae),Re=Ae;Ce.push(me);var ce=[],Ge=q(Ae,me),nt=s.length(Ge);isFinite(nt)&&nt>ie&&(ie=nt),ce.push(nt),V.push({points:ze,velocities:Ce,divergences:ce});for(var ct=0;ct<C*100&&ze.length<C&&ae(Ae);){ct++;var qt=s.clone(me),rt=s.squaredLength(qt);if(rt===0)break;if(rt>ke&&s.scale(qt,qt,Me/Math.sqrt(rt)),s.add(qt,qt,Ae),me=F(qt),s.squaredDistance(Re,qt)-ke>-1e-4*ke){ze.push(qt),Re=qt,Ce.push(me);var Ge=q(qt,me),nt=s.length(Ge);isFinite(nt)&&nt>ie&&(ie=nt),ce.push(nt)}Ae=qt}}var ot=f(V,A.colormap,ie,ge);return g?ot.tubeScale=g:(ie===0&&(ie=1),ot.tubeScale=M*.5*ge/ie),ot};var E=o(6740),k=o(6405).createMesh;i.exports.createTubeMesh=function(A,L){return k(A,L,{shaders:E,traceType:\"streamtube\"})}},990:function(i,a,o){var s=o(9405),l=o(3236),u=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec4 uv;\n", - "attribute vec3 f;\n", - "attribute vec3 normal;\n", - "\n", - "uniform vec3 objectOffset;\n", - "uniform mat4 model, view, projection, inverseModel;\n", - "uniform vec3 lightPosition, eyePosition;\n", - "uniform sampler2D colormap;\n", - "\n", - "varying float value, kill;\n", - "varying vec3 worldCoordinate;\n", - "varying vec2 planeCoordinate;\n", - "varying vec3 lightDirection, eyeDirection, surfaceNormal;\n", - "varying vec4 vColor;\n", - "\n", - "void main() {\n", - " vec3 localCoordinate = vec3(uv.zw, f.x);\n", - " worldCoordinate = objectOffset + localCoordinate;\n", - " mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0));\n", - " vec4 worldPosition = (model * objectOffsetTranslation) * vec4(localCoordinate, 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", - "`]),c=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "float 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", - "\n", - "float beckmannSpecular(\n", - " vec3 lightDirection,\n", - " vec3 viewDirection,\n", - " vec3 surfaceNormal,\n", - " float roughness) {\n", - " return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n", - "}\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 lowerBound, upperBound;\n", - "uniform float contourTint;\n", - "uniform vec4 contourColor;\n", - "uniform sampler2D colormap;\n", - "uniform vec3 clipBounds[2];\n", - "uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\n", - "uniform float vertexColor;\n", - "\n", - "varying float value, kill;\n", - "varying vec3 worldCoordinate;\n", - "varying vec3 lightDirection, eyeDirection, surfaceNormal;\n", - "varying vec4 vColor;\n", - "\n", - "void 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", - "`]),f=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec4 uv;\n", - "attribute float f;\n", - "\n", - "uniform vec3 objectOffset;\n", - "uniform mat3 permutation;\n", - "uniform mat4 model, view, projection;\n", - "uniform float height, zOffset;\n", - "uniform sampler2D colormap;\n", - "\n", - "varying float value, kill;\n", - "varying vec3 worldCoordinate;\n", - "varying vec2 planeCoordinate;\n", - "varying vec3 lightDirection, eyeDirection, surfaceNormal;\n", - "varying vec4 vColor;\n", - "\n", - "void 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", - "`]),h=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec2 shape;\n", - "uniform vec3 clipBounds[2];\n", - "uniform float pickId;\n", - "\n", - "varying float value, kill;\n", - "varying vec3 worldCoordinate;\n", - "varying vec2 planeCoordinate;\n", - "varying vec3 surfaceNormal;\n", - "\n", - "vec2 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", - "\n", - "void 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", - "`]);a.createShader=function(d){var v=s(d,u,c,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v.attributes.normal.location=2,v},a.createPickShader=function(d){var v=s(d,u,h,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v.attributes.normal.location=2,v},a.createContourShader=function(d){var v=s(d,f,c,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v},a.createPickContourShader=function(d){var v=s(d,f,h,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v}},9499:function(i,a,o){\"use strict\";i.exports=ze;var s=o(8828),l=o(2762),u=o(8116),c=o(7766),f=o(1888),h=o(6729),d=o(5298),v=o(9994),x=o(9618),b=o(3711),p=o(6760),E=o(7608),k=o(2478),A=o(6199),L=o(990),_=L.createShader,C=L.createContourShader,M=L.createPickShader,g=L.createPickContourShader,P=4*10,T=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],F=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],q=[[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(){for(var Ce=0;Ce<3;++Ce){var me=q[Ce],Re=(Ce+1)%3,ce=(Ce+2)%3;me[Re+0]=1,me[ce+3]=1,me[Ce+6]=1}})();function V(Ce,me,Re,ce,Ge){this.position=Ce,this.index=me,this.uv=Re,this.level=ce,this.dataCoordinate=Ge}var H=256;function X(Ce,me,Re,ce,Ge,nt,ct,qt,rt,ot,Rt,kt,Ct,Yt,xr){this.gl=Ce,this.shape=me,this.bounds=Re,this.objectOffset=xr,this.intensityBounds=[],this._shader=ce,this._pickShader=Ge,this._coordinateBuffer=nt,this._vao=ct,this._colorMap=qt,this._contourShader=rt,this._contourPickShader=ot,this._contourBuffer=Rt,this._contourVAO=kt,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new V([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=Ct,this._dynamicVAO=Yt,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=[x(f.mallocFloat(1024),[0,0]),x(f.mallocFloat(1024),[0,0]),x(f.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 G=X.prototype;G.genColormap=function(Ce,me){var Re=!1,ce=v([h({colormap:Ce,nshades:H,format:\"rgba\"}).map(function(Ge,nt){var ct=me?N(nt/255,me):Ge[3];return ct<1&&(Re=!0),[Ge[0],Ge[1],Ge[2],255*ct]})]);return d.divseq(ce,255),this.hasAlphaScale=Re,ce},G.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},G.isOpaque=function(){return!this.isTransparent()},G.pickSlots=1,G.setPickBase=function(Ce){this.pickId=Ce};function N(Ce,me){if(!me||!me.length)return 1;for(var Re=0;Re<me.length;++Re){if(me.length<2)return 1;if(me[Re][0]===Ce)return me[Re][1];if(me[Re][0]>Ce&&Re>0){var ce=(me[Re][0]-Ce)/(me[Re][0]-me[Re-1][0]);return me[Re][1]*(1-ce)+ce*me[Re-1][1]}}return 1}var W=[0,0,0],re={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 ae(Ce,me){var Re,ce,Ge,nt=me.axes&&me.axes.lastCubeProps.axis||W,ct=me.showSurface,qt=me.showContour;for(Re=0;Re<3;++Re)for(ct=ct||me.surfaceProject[Re],ce=0;ce<3;++ce)qt=qt||me.contourProject[Re][ce];for(Re=0;Re<3;++Re){var rt=re.projections[Re];for(ce=0;ce<16;++ce)rt[ce]=0;for(ce=0;ce<4;++ce)rt[5*ce]=1;rt[5*Re]=0,rt[12+Re]=me.axesBounds[+(nt[Re]>0)][Re],p(rt,Ce.model,rt);var ot=re.clipBounds[Re];for(Ge=0;Ge<2;++Ge)for(ce=0;ce<3;++ce)ot[Ge][ce]=Ce.clipBounds[Ge][ce];ot[0][Re]=-1e8,ot[1][Re]=1e8}return re.showSurface=ct,re.showContour=qt,re}var _e={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},Me=T.slice(),ke=[1,0,0,0,1,0,0,0,1];function ge(Ce,me){Ce=Ce||{};var Re=this.gl;Re.disable(Re.CULL_FACE),this._colorMap.bind(0);var ce=_e;ce.model=Ce.model||T,ce.view=Ce.view||T,ce.projection=Ce.projection||T,ce.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],ce.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],ce.objectOffset=this.objectOffset,ce.contourColor=this.contourColor[0],ce.inverseModel=E(ce.inverseModel,ce.model);for(var Ge=0;Ge<2;++Ge)for(var nt=ce.clipBounds[Ge],ct=0;ct<3;++ct)nt[ct]=Math.min(Math.max(this.clipBounds[Ge][ct],-1e8),1e8);ce.kambient=this.ambientLight,ce.kdiffuse=this.diffuseLight,ce.kspecular=this.specularLight,ce.roughness=this.roughness,ce.fresnel=this.fresnel,ce.opacity=this.opacity,ce.height=0,ce.permutation=ke,ce.vertexColor=this.vertexColor;var qt=Me;for(p(qt,ce.view,ce.model),p(qt,ce.projection,qt),E(qt,qt),Ge=0;Ge<3;++Ge)ce.eyePosition[Ge]=qt[12+Ge]/qt[15];var rt=qt[15];for(Ge=0;Ge<3;++Ge)rt+=this.lightPosition[Ge]*qt[4*Ge+3];for(Ge=0;Ge<3;++Ge){var ot=qt[12+Ge];for(ct=0;ct<3;++ct)ot+=qt[4*ct+Ge]*this.lightPosition[ct];ce.lightPosition[Ge]=ot/rt}var Rt=ae(ce,this);if(Rt.showSurface){for(this._shader.bind(),this._shader.uniforms=ce,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(Re.TRIANGLES,this._vertexCount),Ge=0;Ge<3;++Ge)!this.surfaceProject[Ge]||!this.vertexCount||(this._shader.uniforms.model=Rt.projections[Ge],this._shader.uniforms.clipBounds=Rt.clipBounds[Ge],this._vao.draw(Re.TRIANGLES,this._vertexCount));this._vao.unbind()}if(Rt.showContour){var kt=this._contourShader;ce.kambient=1,ce.kdiffuse=0,ce.kspecular=0,ce.opacity=1,kt.bind(),kt.uniforms=ce;var Ct=this._contourVAO;for(Ct.bind(),Ge=0;Ge<3;++Ge)for(kt.uniforms.permutation=q[Ge],Re.lineWidth(this.contourWidth[Ge]*this.pixelRatio),ct=0;ct<this.contourLevels[Ge].length;++ct)ct===this.highlightLevel[Ge]?(kt.uniforms.contourColor=this.highlightColor[Ge],kt.uniforms.contourTint=this.highlightTint[Ge]):(ct===0||ct-1===this.highlightLevel[Ge])&&(kt.uniforms.contourColor=this.contourColor[Ge],kt.uniforms.contourTint=this.contourTint[Ge]),this._contourCounts[Ge][ct]&&(kt.uniforms.height=this.contourLevels[Ge][ct],Ct.draw(Re.LINES,this._contourCounts[Ge][ct],this._contourOffsets[Ge][ct]));for(Ge=0;Ge<3;++Ge)for(kt.uniforms.model=Rt.projections[Ge],kt.uniforms.clipBounds=Rt.clipBounds[Ge],ct=0;ct<3;++ct)if(this.contourProject[Ge][ct]){kt.uniforms.permutation=q[ct],Re.lineWidth(this.contourWidth[ct]*this.pixelRatio);for(var Yt=0;Yt<this.contourLevels[ct].length;++Yt)Yt===this.highlightLevel[ct]?(kt.uniforms.contourColor=this.highlightColor[ct],kt.uniforms.contourTint=this.highlightTint[ct]):(Yt===0||Yt-1===this.highlightLevel[ct])&&(kt.uniforms.contourColor=this.contourColor[ct],kt.uniforms.contourTint=this.contourTint[ct]),this._contourCounts[ct][Yt]&&(kt.uniforms.height=this.contourLevels[ct][Yt],Ct.draw(Re.LINES,this._contourCounts[ct][Yt],this._contourOffsets[ct][Yt]))}for(Ct.unbind(),Ct=this._dynamicVAO,Ct.bind(),Ge=0;Ge<3;++Ge)if(this._dynamicCounts[Ge]!==0)for(kt.uniforms.model=ce.model,kt.uniforms.clipBounds=ce.clipBounds,kt.uniforms.permutation=q[Ge],Re.lineWidth(this.dynamicWidth[Ge]*this.pixelRatio),kt.uniforms.contourColor=this.dynamicColor[Ge],kt.uniforms.contourTint=this.dynamicTint[Ge],kt.uniforms.height=this.dynamicLevel[Ge],Ct.draw(Re.LINES,this._dynamicCounts[Ge],this._dynamicOffsets[Ge]),ct=0;ct<3;++ct)this.contourProject[ct][Ge]&&(kt.uniforms.model=Rt.projections[ct],kt.uniforms.clipBounds=Rt.clipBounds[ct],Ct.draw(Re.LINES,this._dynamicCounts[Ge],this._dynamicOffsets[Ge]));Ct.unbind()}}G.draw=function(Ce){return ge.call(this,Ce,!1)},G.drawTransparent=function(Ce){return ge.call(this,Ce,!0)};var ie={model:T,view:T,projection:T,inverseModel:T,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,objectOffset:[0,0,0],permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};G.drawPick=function(Ce){Ce=Ce||{};var me=this.gl;me.disable(me.CULL_FACE);var Re=ie;Re.model=Ce.model||T,Re.view=Ce.view||T,Re.projection=Ce.projection||T,Re.shape=this._field[2].shape,Re.pickId=this.pickId/255,Re.lowerBound=this.bounds[0],Re.upperBound=this.bounds[1],Re.objectOffset=this.objectOffset,Re.permutation=ke;for(var ce=0;ce<2;++ce)for(var Ge=Re.clipBounds[ce],nt=0;nt<3;++nt)Ge[nt]=Math.min(Math.max(this.clipBounds[ce][nt],-1e8),1e8);var ct=ae(Re,this);if(ct.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=Re,this._vao.bind(),this._vao.draw(me.TRIANGLES,this._vertexCount),ce=0;ce<3;++ce)this.surfaceProject[ce]&&(this._pickShader.uniforms.model=ct.projections[ce],this._pickShader.uniforms.clipBounds=ct.clipBounds[ce],this._vao.draw(me.TRIANGLES,this._vertexCount));this._vao.unbind()}if(ct.showContour){var qt=this._contourPickShader;qt.bind(),qt.uniforms=Re;var rt=this._contourVAO;for(rt.bind(),nt=0;nt<3;++nt)for(me.lineWidth(this.contourWidth[nt]*this.pixelRatio),qt.uniforms.permutation=q[nt],ce=0;ce<this.contourLevels[nt].length;++ce)this._contourCounts[nt][ce]&&(qt.uniforms.height=this.contourLevels[nt][ce],rt.draw(me.LINES,this._contourCounts[nt][ce],this._contourOffsets[nt][ce]));for(ce=0;ce<3;++ce)for(qt.uniforms.model=ct.projections[ce],qt.uniforms.clipBounds=ct.clipBounds[ce],nt=0;nt<3;++nt)if(this.contourProject[ce][nt]){qt.uniforms.permutation=q[nt],me.lineWidth(this.contourWidth[nt]*this.pixelRatio);for(var ot=0;ot<this.contourLevels[nt].length;++ot)this._contourCounts[nt][ot]&&(qt.uniforms.height=this.contourLevels[nt][ot],rt.draw(me.LINES,this._contourCounts[nt][ot],this._contourOffsets[nt][ot]))}rt.unbind()}},G.pick=function(Ce){if(!Ce||Ce.id!==this.pickId)return null;var me=this._field[2].shape,Re=this._pickResult,ce=me[0]*(Ce.value[0]+(Ce.value[2]>>4)/16)/255,Ge=Math.floor(ce),nt=ce-Ge,ct=me[1]*(Ce.value[1]+(Ce.value[2]&15)/16)/255,qt=Math.floor(ct),rt=ct-qt;Ge+=1,qt+=1;var ot=Re.position;ot[0]=ot[1]=ot[2]=0;for(var Rt=0;Rt<2;++Rt)for(var kt=Rt?nt:1-nt,Ct=0;Ct<2;++Ct)for(var Yt=Ct?rt:1-rt,xr=Ge+Rt,er=qt+Ct,Ke=kt*Yt,xt=0;xt<3;++xt)ot[xt]+=this._field[xt].get(xr,er)*Ke;for(var bt=this._pickResult.level,Lt=0;Lt<3;++Lt)if(bt[Lt]=k.le(this.contourLevels[Lt],ot[Lt]),bt[Lt]<0)this.contourLevels[Lt].length>0&&(bt[Lt]=0);else if(bt[Lt]<this.contourLevels[Lt].length-1){var St=this.contourLevels[Lt][bt[Lt]],Et=this.contourLevels[Lt][bt[Lt]+1];Math.abs(St-ot[Lt])>Math.abs(Et-ot[Lt])&&(bt[Lt]+=1)}for(Re.index[0]=nt<.5?Ge:Ge+1,Re.index[1]=rt<.5?qt:qt+1,Re.uv[0]=ce/me[0],Re.uv[1]=ct/me[1],xt=0;xt<3;++xt)Re.dataCoordinate[xt]=this._field[xt].get(Re.index[0],Re.index[1]);return Re},G.padField=function(Ce,me){var Re=me.shape.slice(),ce=Ce.shape.slice();d.assign(Ce.lo(1,1).hi(Re[0],Re[1]),me),d.assign(Ce.lo(1).hi(Re[0],1),me.hi(Re[0],1)),d.assign(Ce.lo(1,ce[1]-1).hi(Re[0],1),me.lo(0,Re[1]-1).hi(Re[0],1)),d.assign(Ce.lo(0,1).hi(1,Re[1]),me.hi(1)),d.assign(Ce.lo(ce[0]-1,1).hi(1,Re[1]),me.lo(Re[0]-1)),Ce.set(0,0,me.get(0,0)),Ce.set(0,ce[1]-1,me.get(0,Re[1]-1)),Ce.set(ce[0]-1,0,me.get(Re[0]-1,0)),Ce.set(ce[0]-1,ce[1]-1,me.get(Re[0]-1,Re[1]-1))};function Te(Ce,me){return Array.isArray(Ce)?[me(Ce[0]),me(Ce[1]),me(Ce[2])]:[me(Ce),me(Ce),me(Ce)]}function Ee(Ce){return Array.isArray(Ce)?Ce.length===3?[Ce[0],Ce[1],Ce[2],1]:[Ce[0],Ce[1],Ce[2],Ce[3]]:[0,0,0,1]}function Ae(Ce){if(Array.isArray(Ce)){if(Array.isArray(Ce))return[Ee(Ce[0]),Ee(Ce[1]),Ee(Ce[2])];var me=Ee(Ce);return[me.slice(),me.slice(),me.slice()]}}G.update=function(Ce){Ce=Ce||{},this.objectOffset=Ce.objectOffset||this.objectOffset,this.dirty=!0,\"contourWidth\"in Ce&&(this.contourWidth=Te(Ce.contourWidth,Number)),\"showContour\"in Ce&&(this.showContour=Te(Ce.showContour,Boolean)),\"showSurface\"in Ce&&(this.showSurface=!!Ce.showSurface),\"contourTint\"in Ce&&(this.contourTint=Te(Ce.contourTint,Boolean)),\"contourColor\"in Ce&&(this.contourColor=Ae(Ce.contourColor)),\"contourProject\"in Ce&&(this.contourProject=Te(Ce.contourProject,function(Gi){return Te(Gi,Boolean)})),\"surfaceProject\"in Ce&&(this.surfaceProject=Ce.surfaceProject),\"dynamicColor\"in Ce&&(this.dynamicColor=Ae(Ce.dynamicColor)),\"dynamicTint\"in Ce&&(this.dynamicTint=Te(Ce.dynamicTint,Number)),\"dynamicWidth\"in Ce&&(this.dynamicWidth=Te(Ce.dynamicWidth,Number)),\"opacity\"in Ce&&(this.opacity=Ce.opacity),\"opacityscale\"in Ce&&(this.opacityscale=Ce.opacityscale),\"colorBounds\"in Ce&&(this.colorBounds=Ce.colorBounds),\"vertexColor\"in Ce&&(this.vertexColor=Ce.vertexColor?1:0),\"colormap\"in Ce&&this._colorMap.setPixels(this.genColormap(Ce.colormap,this.opacityscale));var me=Ce.field||Ce.coords&&Ce.coords[2]||null,Re=!1;if(me||(this._field[2].shape[0]||this._field[2].shape[2]?me=this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):me=this._field[2].hi(0,0)),\"field\"in Ce||\"coords\"in Ce){var ce=(me.shape[0]+2)*(me.shape[1]+2);ce>this._field[2].data.length&&(f.freeFloat(this._field[2].data),this._field[2].data=f.mallocFloat(s.nextPow2(ce))),this._field[2]=x(this._field[2].data,[me.shape[0]+2,me.shape[1]+2]),this.padField(this._field[2],me),this.shape=me.shape.slice();for(var Ge=this.shape,nt=0;nt<2;++nt)this._field[2].size>this._field[nt].data.length&&(f.freeFloat(this._field[nt].data),this._field[nt].data=f.mallocFloat(this._field[2].size)),this._field[nt]=x(this._field[nt].data,[Ge[0]+2,Ge[1]+2]);if(Ce.coords){var ct=Ce.coords;if(!Array.isArray(ct)||ct.length!==3)throw new Error(\"gl-surface: invalid coordinates for x/y\");for(nt=0;nt<2;++nt){var qt=ct[nt];for(Ct=0;Ct<2;++Ct)if(qt.shape[Ct]!==Ge[Ct])throw new Error(\"gl-surface: coords have incorrect shape\");this.padField(this._field[nt],qt)}}else if(Ce.ticks){var rt=Ce.ticks;if(!Array.isArray(rt)||rt.length!==2)throw new Error(\"gl-surface: invalid ticks\");for(nt=0;nt<2;++nt){var ot=rt[nt];if((Array.isArray(ot)||ot.length)&&(ot=x(ot)),ot.shape[0]!==Ge[nt])throw new Error(\"gl-surface: invalid tick length\");var Rt=x(ot.data,Ge);Rt.stride[nt]=ot.stride[0],Rt.stride[nt^1]=0,this.padField(this._field[nt],Rt)}}else{for(nt=0;nt<2;++nt){var kt=[0,0];kt[nt]=1,this._field[nt]=x(this._field[nt].data,[Ge[0]+2,Ge[1]+2],kt,0)}this._field[0].set(0,0,0);for(var Ct=0;Ct<Ge[0];++Ct)this._field[0].set(Ct+1,0,Ct);for(this._field[0].set(Ge[0]+1,0,Ge[0]-1),this._field[1].set(0,0,0),Ct=0;Ct<Ge[1];++Ct)this._field[1].set(0,Ct+1,Ct);this._field[1].set(0,Ge[1]+1,Ge[1]-1)}var Yt=this._field,xr=x(f.mallocFloat(Yt[2].size*3*2),[3,Ge[0]+2,Ge[1]+2,2]);for(nt=0;nt<3;++nt)A(xr.pick(nt),Yt[nt],\"mirror\");var er=x(f.mallocFloat(Yt[2].size*3),[Ge[0]+2,Ge[1]+2,3]);for(nt=0;nt<Ge[0]+2;++nt)for(Ct=0;Ct<Ge[1]+2;++Ct){var Ke=xr.get(0,nt,Ct,0),xt=xr.get(0,nt,Ct,1),bt=xr.get(1,nt,Ct,0),Lt=xr.get(1,nt,Ct,1),St=xr.get(2,nt,Ct,0),Et=xr.get(2,nt,Ct,1),dt=bt*Et-Lt*St,Ht=St*xt-Et*Ke,$t=Ke*Lt-xt*bt,fr=Math.sqrt(dt*dt+Ht*Ht+$t*$t);fr<1e-8?(fr=Math.max(Math.abs(dt),Math.abs(Ht),Math.abs($t)),fr<1e-8?($t=1,Ht=dt=0,fr=1):fr=1/fr):fr=1/Math.sqrt(fr),er.set(nt,Ct,0,dt*fr),er.set(nt,Ct,1,Ht*fr),er.set(nt,Ct,2,$t*fr)}f.free(xr.data);var _r=[1/0,1/0,1/0],Br=[-1/0,-1/0,-1/0],Or=1/0,Nr=-1/0,ut=(Ge[0]-1)*(Ge[1]-1)*6,Ne=f.mallocFloat(s.nextPow2(10*ut)),Ye=0,Ve=0;for(nt=0;nt<Ge[0]-1;++nt)e:for(Ct=0;Ct<Ge[1]-1;++Ct){for(var Xe=0;Xe<2;++Xe)for(var ht=0;ht<2;++ht)for(var Le=0;Le<3;++Le){var xe=this._field[Le].get(1+nt+Xe,1+Ct+ht);if(isNaN(xe)||!isFinite(xe))continue e}for(Le=0;Le<6;++Le){var Se=nt+F[Le][0],lt=Ct+F[Le][1],Gt=this._field[0].get(Se+1,lt+1),Vt=this._field[1].get(Se+1,lt+1);xe=this._field[2].get(Se+1,lt+1),dt=er.get(Se+1,lt+1,0),Ht=er.get(Se+1,lt+1,1),$t=er.get(Se+1,lt+1,2),Ce.intensity&&(ar=Ce.intensity.get(Se,lt));var ar=Ce.intensity?Ce.intensity.get(Se,lt):xe+this.objectOffset[2];Ne[Ye++]=Se,Ne[Ye++]=lt,Ne[Ye++]=Gt,Ne[Ye++]=Vt,Ne[Ye++]=xe,Ne[Ye++]=0,Ne[Ye++]=ar,Ne[Ye++]=dt,Ne[Ye++]=Ht,Ne[Ye++]=$t,_r[0]=Math.min(_r[0],Gt+this.objectOffset[0]),_r[1]=Math.min(_r[1],Vt+this.objectOffset[1]),_r[2]=Math.min(_r[2],xe+this.objectOffset[2]),Or=Math.min(Or,ar),Br[0]=Math.max(Br[0],Gt+this.objectOffset[0]),Br[1]=Math.max(Br[1],Vt+this.objectOffset[1]),Br[2]=Math.max(Br[2],xe+this.objectOffset[2]),Nr=Math.max(Nr,ar),Ve+=1}}for(Ce.intensityBounds&&(Or=+Ce.intensityBounds[0],Nr=+Ce.intensityBounds[1]),nt=6;nt<Ye;nt+=10)Ne[nt]=(Ne[nt]-Or)/(Nr-Or);this._vertexCount=Ve,this._coordinateBuffer.update(Ne.subarray(0,Ye)),f.freeFloat(Ne),f.free(er.data),this.bounds=[_r,Br],this.intensity=Ce.intensity||this._field[2],(this.intensityBounds[0]!==Or||this.intensityBounds[1]!==Nr)&&(Re=!0),this.intensityBounds=[Or,Nr]}if(\"levels\"in Ce){var Qr=Ce.levels;for(Array.isArray(Qr[0])?Qr=Qr.slice():Qr=[[],[],Qr],nt=0;nt<3;++nt)Qr[nt]=Qr[nt].slice(),Qr[nt].sort(function(Gi,Ki){return Gi-Ki});for(nt=0;nt<3;++nt)for(Ct=0;Ct<Qr[nt].length;++Ct)Qr[nt][Ct]-=this.objectOffset[nt];e:for(nt=0;nt<3;++nt){if(Qr[nt].length!==this.contourLevels[nt].length){Re=!0;break}for(Ct=0;Ct<Qr[nt].length;++Ct)if(Qr[nt][Ct]!==this.contourLevels[nt][Ct]){Re=!0;break e}}this.contourLevels=Qr}if(Re){Yt=this._field,Ge=this.shape;for(var ai=[],jr=0;jr<3;++jr){var ri=this.contourLevels[jr],bi=[],nn=[],Wi=[0,0,0];for(nt=0;nt<ri.length;++nt){var Ni=b(this._field[jr],ri[nt]);bi.push(ai.length/5|0),Ve=0;e:for(Ct=0;Ct<Ni.cells.length;++Ct){var _n=Ni.cells[Ct];for(Le=0;Le<2;++Le){var $i=Ni.positions[_n[Le]],zn=$i[0],Wn=Math.floor(zn)|0,It=zn-Wn,ft=$i[1],jt=Math.floor(ft)|0,Zt=ft-jt,yr=!1;t:for(var Fr=0;Fr<3;++Fr){Wi[Fr]=0;var Zr=(jr+Fr+1)%3;for(Xe=0;Xe<2;++Xe){var Vr=Xe?It:1-It;for(Se=Math.min(Math.max(Wn+Xe,0),Ge[0])|0,ht=0;ht<2;++ht){var gi=ht?Zt:1-Zt;if(lt=Math.min(Math.max(jt+ht,0),Ge[1])|0,Fr<2?xe=this._field[Zr].get(Se,lt):xe=(this.intensity.get(Se,lt)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(xe)||isNaN(xe)){yr=!0;break t}var Si=Vr*gi;Wi[Fr]+=Si*xe}}}if(!yr)ai.push(Wi[0],Wi[1],$i[0],$i[1],Wi[2]),Ve+=1;else{if(Le>0){for(var Mi=0;Mi<5;++Mi)ai.pop();Ve-=1}continue e}}}nn.push(Ve)}this._contourOffsets[jr]=bi,this._contourCounts[jr]=nn}var Pi=f.mallocFloat(ai.length);for(nt=0;nt<ai.length;++nt)Pi[nt]=ai[nt];this._contourBuffer.update(Pi),f.freeFloat(Pi)}},G.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var Ce=0;Ce<3;++Ce)f.freeFloat(this._field[Ce].data)},G.highlight=function(Ce){var me;if(!Ce){this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],this.highlightLevel=[-1,-1,-1];return}for(me=0;me<3;++me)this.enableHighlight[me]?this.highlightLevel[me]=Ce.level[me]:this.highlightLevel[me]=-1;var Re;for(this.snapToData?Re=Ce.dataCoordinate:Re=Ce.position,me=0;me<3;++me)Re[me]-=this.objectOffset[me];if(!((!this.enableDynamic[0]||Re[0]===this.dynamicLevel[0])&&(!this.enableDynamic[1]||Re[1]===this.dynamicLevel[1])&&(!this.enableDynamic[2]||Re[2]===this.dynamicLevel[2]))){for(var ce=0,Ge=this.shape,nt=f.mallocFloat(12*Ge[0]*Ge[1]),ct=0;ct<3;++ct){if(!this.enableDynamic[ct]){this.dynamicLevel[ct]=NaN,this._dynamicCounts[ct]=0;continue}this.dynamicLevel[ct]=Re[ct];var qt=(ct+1)%3,rt=(ct+2)%3,ot=this._field[ct],Rt=this._field[qt],kt=this._field[rt],Ct=b(ot,Re[ct]),Yt=Ct.cells,xr=Ct.positions;for(this._dynamicOffsets[ct]=ce,me=0;me<Yt.length;++me)for(var er=Yt[me],Ke=0;Ke<2;++Ke){var xt=xr[er[Ke]],bt=+xt[0],Lt=bt|0,St=Math.min(Lt+1,Ge[0])|0,Et=bt-Lt,dt=1-Et,Ht=+xt[1],$t=Ht|0,fr=Math.min($t+1,Ge[1])|0,_r=Ht-$t,Br=1-_r,Or=dt*Br,Nr=dt*_r,ut=Et*Br,Ne=Et*_r,Ye=Or*Rt.get(Lt,$t)+Nr*Rt.get(Lt,fr)+ut*Rt.get(St,$t)+Ne*Rt.get(St,fr),Ve=Or*kt.get(Lt,$t)+Nr*kt.get(Lt,fr)+ut*kt.get(St,$t)+Ne*kt.get(St,fr);if(isNaN(Ye)||isNaN(Ve)){Ke&&(ce-=1);break}nt[2*ce+0]=Ye,nt[2*ce+1]=Ve,ce+=1}this._dynamicCounts[ct]=ce-this._dynamicOffsets[ct]}this._dynamicBuffer.update(nt.subarray(0,2*ce)),f.freeFloat(nt)}};function ze(Ce){var me=Ce.gl,Re=_(me),ce=M(me),Ge=C(me),nt=g(me),ct=l(me),qt=u(me,[{buffer:ct,size:4,stride:P,offset:0},{buffer:ct,size:3,stride:P,offset:16},{buffer:ct,size:3,stride:P,offset:28}]),rt=l(me),ot=u(me,[{buffer:rt,size:4,stride:20,offset:0},{buffer:rt,size:1,stride:20,offset:16}]),Rt=l(me),kt=u(me,[{buffer:Rt,size:2,type:me.FLOAT}]),Ct=c(me,1,H,me.RGBA,me.UNSIGNED_BYTE);Ct.minFilter=me.LINEAR,Ct.magFilter=me.LINEAR;var Yt=new X(me,[0,0],[[0,0,0],[0,0,0]],Re,ce,ct,qt,Ct,Ge,nt,rt,ot,Rt,kt,[0,0,0]),xr={levels:[[],[],[]]};for(var er in Ce)xr[er]=Ce[er];return xr.colormap=xr.colormap||\"jet\",Yt.update(xr),Yt}},7766:function(i,a,o){\"use strict\";var s=o(9618),l=o(5298),u=o(1888);i.exports=g;var c=null,f=null,h=null;function d(P){c=[P.LINEAR,P.NEAREST_MIPMAP_LINEAR,P.LINEAR_MIPMAP_NEAREST,P.LINEAR_MIPMAP_NEAREST],f=[P.NEAREST,P.LINEAR,P.NEAREST_MIPMAP_NEAREST,P.NEAREST_MIPMAP_LINEAR,P.LINEAR_MIPMAP_NEAREST,P.LINEAR_MIPMAP_LINEAR],h=[P.REPEAT,P.CLAMP_TO_EDGE,P.MIRRORED_REPEAT]}function v(P){return typeof HTMLCanvasElement!=\"undefined\"&&P instanceof HTMLCanvasElement||typeof HTMLImageElement!=\"undefined\"&&P instanceof HTMLImageElement||typeof HTMLVideoElement!=\"undefined\"&&P instanceof HTMLVideoElement||typeof ImageData!=\"undefined\"&&P instanceof ImageData}var x=function(P,T){l.muls(P,T,255)};function b(P,T,F){var q=P.gl,V=q.getParameter(q.MAX_TEXTURE_SIZE);if(T<0||T>V||F<0||F>V)throw new Error(\"gl-texture2d: Invalid texture size\");return P._shape=[T,F],P.bind(),q.texImage2D(q.TEXTURE_2D,0,P.format,T,F,0,P.format,P.type,null),P._mipLevels=[0],P}function p(P,T,F,q,V,H){this.gl=P,this.handle=T,this.format=V,this.type=H,this._shape=[F,q],this._mipLevels=[0],this._magFilter=P.NEAREST,this._minFilter=P.NEAREST,this._wrapS=P.CLAMP_TO_EDGE,this._wrapT=P.CLAMP_TO_EDGE,this._anisoSamples=1;var X=this,G=[this._wrapS,this._wrapT];Object.defineProperties(G,[{get:function(){return X._wrapS},set:function(W){return X.wrapS=W}},{get:function(){return X._wrapT},set:function(W){return X.wrapT=W}}]),this._wrapVector=G;var N=[this._shape[0],this._shape[1]];Object.defineProperties(N,[{get:function(){return X._shape[0]},set:function(W){return X.width=W}},{get:function(){return X._shape[1]},set:function(W){return X.height=W}}]),this._shapeVector=N}var E=p.prototype;Object.defineProperties(E,{minFilter:{get:function(){return this._minFilter},set:function(P){this.bind();var T=this.gl;if(this.type===T.FLOAT&&c.indexOf(P)>=0&&(T.getExtension(\"OES_texture_float_linear\")||(P=T.NEAREST)),f.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+P);return T.texParameteri(T.TEXTURE_2D,T.TEXTURE_MIN_FILTER,P),this._minFilter=P}},magFilter:{get:function(){return this._magFilter},set:function(P){this.bind();var T=this.gl;if(this.type===T.FLOAT&&c.indexOf(P)>=0&&(T.getExtension(\"OES_texture_float_linear\")||(P=T.NEAREST)),f.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+P);return T.texParameteri(T.TEXTURE_2D,T.TEXTURE_MAG_FILTER,P),this._magFilter=P}},mipSamples:{get:function(){return this._anisoSamples},set:function(P){var T=this._anisoSamples;if(this._anisoSamples=Math.max(P,1)|0,T!==this._anisoSamples){var F=this.gl.getExtension(\"EXT_texture_filter_anisotropic\");F&&this.gl.texParameterf(this.gl.TEXTURE_2D,F.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(P){if(this.bind(),h.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+P);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,P),this._wrapS=P}},wrapT:{get:function(){return this._wrapT},set:function(P){if(this.bind(),h.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+P);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,P),this._wrapT=P}},wrap:{get:function(){return this._wrapVector},set:function(P){if(Array.isArray(P)||(P=[P,P]),P.length!==2)throw new Error(\"gl-texture2d: Must specify wrap mode for rows and columns\");for(var T=0;T<2;++T)if(h.indexOf(P[T])<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+P);this._wrapS=P[0],this._wrapT=P[1];var F=this.gl;return this.bind(),F.texParameteri(F.TEXTURE_2D,F.TEXTURE_WRAP_S,this._wrapS),F.texParameteri(F.TEXTURE_2D,F.TEXTURE_WRAP_T,this._wrapT),P}},shape:{get:function(){return this._shapeVector},set:function(P){if(!Array.isArray(P))P=[P|0,P|0];else if(P.length!==2)throw new Error(\"gl-texture2d: Invalid texture shape\");return b(this,P[0]|0,P[1]|0),[P[0]|0,P[1]|0]}},width:{get:function(){return this._shape[0]},set:function(P){return P=P|0,b(this,P,this._shape[1]),P}},height:{get:function(){return this._shape[1]},set:function(P){return P=P|0,b(this,this._shape[0],P),P}}}),E.bind=function(P){var T=this.gl;return P!==void 0&&T.activeTexture(T.TEXTURE0+(P|0)),T.bindTexture(T.TEXTURE_2D,this.handle),P!==void 0?P|0:T.getParameter(T.ACTIVE_TEXTURE)-T.TEXTURE0},E.dispose=function(){this.gl.deleteTexture(this.handle)},E.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var P=Math.min(this._shape[0],this._shape[1]),T=0;P>0;++T,P>>>=1)this._mipLevels.indexOf(T)<0&&this._mipLevels.push(T)},E.setPixels=function(P,T,F,q){var V=this.gl;this.bind(),Array.isArray(T)?(q=F,F=T[1]|0,T=T[0]|0):(T=T||0,F=F||0),q=q||0;var H=v(P)?P:P.raw;if(H){var X=this._mipLevels.indexOf(q)<0;X?(V.texImage2D(V.TEXTURE_2D,0,this.format,this.format,this.type,H),this._mipLevels.push(q)):V.texSubImage2D(V.TEXTURE_2D,q,T,F,this.format,this.type,H)}else if(P.shape&&P.stride&&P.data){if(P.shape.length<2||T+P.shape[1]>this._shape[1]>>>q||F+P.shape[0]>this._shape[0]>>>q||T<0||F<0)throw new Error(\"gl-texture2d: Texture dimensions are out of bounds\");A(V,T,F,q,this.format,this.type,this._mipLevels,P)}else throw new Error(\"gl-texture2d: Unsupported data type\")};function k(P,T){return P.length===3?T[2]===1&&T[1]===P[0]*P[2]&&T[0]===P[2]:T[0]===1&&T[1]===P[0]}function A(P,T,F,q,V,H,X,G){var N=G.dtype,W=G.shape.slice();if(W.length<2||W.length>3)throw new Error(\"gl-texture2d: Invalid ndarray, must be 2d or 3d\");var re=0,ae=0,_e=k(W,G.stride.slice());N===\"float32\"?re=P.FLOAT:N===\"float64\"?(re=P.FLOAT,_e=!1,N=\"float32\"):N===\"uint8\"?re=P.UNSIGNED_BYTE:(re=P.UNSIGNED_BYTE,_e=!1,N=\"uint8\");var Me=1;if(W.length===2)ae=P.LUMINANCE,W=[W[0],W[1],1],G=s(G.data,W,[G.stride[0],G.stride[1],1],G.offset);else if(W.length===3){if(W[2]===1)ae=P.ALPHA;else if(W[2]===2)ae=P.LUMINANCE_ALPHA;else if(W[2]===3)ae=P.RGB;else if(W[2]===4)ae=P.RGBA;else throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");Me=W[2]}else throw new Error(\"gl-texture2d: Invalid shape for texture\");if((ae===P.LUMINANCE||ae===P.ALPHA)&&(V===P.LUMINANCE||V===P.ALPHA)&&(ae=V),ae!==V)throw new Error(\"gl-texture2d: Incompatible texture format for setPixels\");var ke=G.size,ge=X.indexOf(q)<0;if(ge&&X.push(q),re===H&&_e)G.offset===0&&G.data.length===ke?ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,G.data):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,G.data):ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,G.data.subarray(G.offset,G.offset+ke)):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,G.data.subarray(G.offset,G.offset+ke));else{var ie;H===P.FLOAT?ie=u.mallocFloat32(ke):ie=u.mallocUint8(ke);var Te=s(ie,W,[W[2],W[2]*W[0],1]);re===P.FLOAT&&H===P.UNSIGNED_BYTE?x(Te,G):l.assign(Te,G),ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,ie.subarray(0,ke)):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,ie.subarray(0,ke)),H===P.FLOAT?u.freeFloat32(ie):u.freeUint8(ie)}}function L(P){var T=P.createTexture();return P.bindTexture(P.TEXTURE_2D,T),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_MIN_FILTER,P.NEAREST),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_MAG_FILTER,P.NEAREST),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_WRAP_S,P.CLAMP_TO_EDGE),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_WRAP_T,P.CLAMP_TO_EDGE),T}function _(P,T,F,q,V){var H=P.getParameter(P.MAX_TEXTURE_SIZE);if(T<0||T>H||F<0||F>H)throw new Error(\"gl-texture2d: Invalid texture shape\");if(V===P.FLOAT&&!P.getExtension(\"OES_texture_float\"))throw new Error(\"gl-texture2d: Floating point textures not supported on this platform\");var X=L(P);return P.texImage2D(P.TEXTURE_2D,0,q,T,F,0,q,V,null),new p(P,X,T,F,q,V)}function C(P,T,F,q,V,H){var X=L(P);return P.texImage2D(P.TEXTURE_2D,0,V,V,H,T),new p(P,X,F,q,V,H)}function M(P,T){var F=T.dtype,q=T.shape.slice(),V=P.getParameter(P.MAX_TEXTURE_SIZE);if(q[0]<0||q[0]>V||q[1]<0||q[1]>V)throw new Error(\"gl-texture2d: Invalid texture size\");var H=k(q,T.stride.slice()),X=0;F===\"float32\"?X=P.FLOAT:F===\"float64\"?(X=P.FLOAT,H=!1,F=\"float32\"):F===\"uint8\"?X=P.UNSIGNED_BYTE:(X=P.UNSIGNED_BYTE,H=!1,F=\"uint8\");var G=0;if(q.length===2)G=P.LUMINANCE,q=[q[0],q[1],1],T=s(T.data,q,[T.stride[0],T.stride[1],1],T.offset);else if(q.length===3)if(q[2]===1)G=P.ALPHA;else if(q[2]===2)G=P.LUMINANCE_ALPHA;else if(q[2]===3)G=P.RGB;else if(q[2]===4)G=P.RGBA;else throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");else throw new Error(\"gl-texture2d: Invalid shape for texture\");X===P.FLOAT&&!P.getExtension(\"OES_texture_float\")&&(X=P.UNSIGNED_BYTE,H=!1);var N,W,re=T.size;if(H)T.offset===0&&T.data.length===re?N=T.data:N=T.data.subarray(T.offset,T.offset+re);else{var ae=[q[2],q[2]*q[0],1];W=u.malloc(re,F);var _e=s(W,q,ae,0);(F===\"float32\"||F===\"float64\")&&X===P.UNSIGNED_BYTE?x(_e,T):l.assign(_e,T),N=W.subarray(0,re)}var Me=L(P);return P.texImage2D(P.TEXTURE_2D,0,G,q[0],q[1],0,G,X,N),H||u.free(W),new p(P,Me,q[0],q[1],G,X)}function g(P){if(arguments.length<=1)throw new Error(\"gl-texture2d: Missing arguments for texture2d constructor\");if(c||d(P),typeof arguments[1]==\"number\")return _(P,arguments[1],arguments[2],arguments[3]||P.RGBA,arguments[4]||P.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return _(P,arguments[1][0]|0,arguments[1][1]|0,arguments[2]||P.RGBA,arguments[3]||P.UNSIGNED_BYTE);if(typeof arguments[1]==\"object\"){var T=arguments[1],F=v(T)?T:T.raw;if(F)return C(P,F,T.width|0,T.height|0,arguments[2]||P.RGBA,arguments[3]||P.UNSIGNED_BYTE);if(T.shape&&T.data&&T.stride)return M(P,T)}throw new Error(\"gl-texture2d: Invalid arguments for texture2d constructor\")}},1433:function(i){\"use strict\";function a(o,s,l){s?s.bind():o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,null);var u=o.getParameter(o.MAX_VERTEX_ATTRIBS)|0;if(l){if(l.length>u)throw new Error(\"gl-vao: Too many vertex attributes\");for(var c=0;c<l.length;++c){var f=l[c];if(f.buffer){var h=f.buffer,d=f.size||4,v=f.type||o.FLOAT,x=!!f.normalized,b=f.stride||0,p=f.offset||0;h.bind(),o.enableVertexAttribArray(c),o.vertexAttribPointer(c,d,v,x,b,p)}else{if(typeof f==\"number\")o.vertexAttrib1f(c,f);else if(f.length===1)o.vertexAttrib1f(c,f[0]);else if(f.length===2)o.vertexAttrib2f(c,f[0],f[1]);else if(f.length===3)o.vertexAttrib3f(c,f[0],f[1],f[2]);else if(f.length===4)o.vertexAttrib4f(c,f[0],f[1],f[2],f[3]);else throw new Error(\"gl-vao: Invalid vertex attribute\");o.disableVertexAttribArray(c)}}for(;c<u;++c)o.disableVertexAttribArray(c)}else{o.bindBuffer(o.ARRAY_BUFFER,null);for(var c=0;c<u;++c)o.disableVertexAttribArray(c)}}i.exports=a},870:function(i,a,o){\"use strict\";var s=o(1433);function l(c){this.gl=c,this._elements=null,this._attributes=null,this._elementsType=c.UNSIGNED_SHORT}l.prototype.bind=function(){s(this.gl,this._elements,this._attributes)},l.prototype.update=function(c,f,h){this._elements=f,this._attributes=c,this._elementsType=h||this.gl.UNSIGNED_SHORT},l.prototype.dispose=function(){},l.prototype.unbind=function(){},l.prototype.draw=function(c,f,h){h=h||0;var d=this.gl;this._elements?d.drawElements(c,f,this._elementsType,h):d.drawArrays(c,h,f)};function u(c){return new l(c)}i.exports=u},7518:function(i,a,o){\"use strict\";var s=o(1433);function l(f,h,d,v,x,b){this.location=f,this.dimension=h,this.a=d,this.b=v,this.c=x,this.d=b}l.prototype.bind=function(f){switch(this.dimension){case 1:f.vertexAttrib1f(this.location,this.a);break;case 2:f.vertexAttrib2f(this.location,this.a,this.b);break;case 3:f.vertexAttrib3f(this.location,this.a,this.b,this.c);break;case 4:f.vertexAttrib4f(this.location,this.a,this.b,this.c,this.d);break}};function u(f,h,d){this.gl=f,this._ext=h,this.handle=d,this._attribs=[],this._useElements=!1,this._elementsType=f.UNSIGNED_SHORT}u.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var f=0;f<this._attribs.length;++f)this._attribs[f].bind(this.gl)},u.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},u.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},u.prototype.update=function(f,h,d){if(this.bind(),s(this.gl,h,f),this.unbind(),this._attribs.length=0,f)for(var v=0;v<f.length;++v){var x=f[v];typeof x==\"number\"?this._attribs.push(new l(v,1,x)):Array.isArray(x)&&this._attribs.push(new l(v,x.length,x[0],x[1],x[2],x[3]))}this._useElements=!!h,this._elementsType=d||this.gl.UNSIGNED_SHORT},u.prototype.draw=function(f,h,d){d=d||0;var v=this.gl;this._useElements?v.drawElements(f,h,this._elementsType,d):v.drawArrays(f,d,h)};function c(f,h){return new u(f,h,h.createVertexArrayOES())}i.exports=c},8116:function(i,a,o){\"use strict\";var s=o(7518),l=o(870);function u(f){this.bindVertexArrayOES=f.bindVertexArray.bind(f),this.createVertexArrayOES=f.createVertexArray.bind(f),this.deleteVertexArrayOES=f.deleteVertexArray.bind(f)}function c(f,h,d,v){var x=f.createVertexArray?new u(f):f.getExtension(\"OES_vertex_array_object\"),b;return x?b=s(f,x):b=l(f),b.update(h,d,v),b}i.exports=c},5632:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]+l[0],o[1]=s[1]+l[1],o[2]=s[2]+l[2],o}},8192:function(i,a,o){i.exports=c;var s=o(2825),l=o(3536),u=o(244);function c(f,h){var d=s(f[0],f[1],f[2]),v=s(h[0],h[1],h[2]);l(d,d),l(v,v);var x=u(d,v);return x>1?0:Math.acos(x)}},9226:function(i){i.exports=a;function a(o,s){return o[0]=Math.ceil(s[0]),o[1]=Math.ceil(s[1]),o[2]=Math.ceil(s[2]),o}},3126:function(i){i.exports=a;function a(o){var s=new Float32Array(3);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s}},3990:function(i){i.exports=a;function a(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o}},1091:function(i){i.exports=a;function a(){var o=new Float32Array(3);return o[0]=0,o[1]=0,o[2]=0,o}},5911:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2];return o[0]=c*v-f*d,o[1]=f*h-u*v,o[2]=u*d-c*h,o}},5455:function(i,a,o){i.exports=o(7056)},7056:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2];return Math.sqrt(l*l+u*u+c*c)}},4008:function(i,a,o){i.exports=o(6690)},6690:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o}},244:function(i){i.exports=a;function a(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]}},2613:function(i){i.exports=1e-6},9922:function(i,a,o){i.exports=l;var s=o(2613);function l(u,c){var f=u[0],h=u[1],d=u[2],v=c[0],x=c[1],b=c[2];return Math.abs(f-v)<=s*Math.max(1,Math.abs(f),Math.abs(v))&&Math.abs(h-x)<=s*Math.max(1,Math.abs(h),Math.abs(x))&&Math.abs(d-b)<=s*Math.max(1,Math.abs(d),Math.abs(b))}},9265:function(i){i.exports=a;function a(o,s){return o[0]===s[0]&&o[1]===s[1]&&o[2]===s[2]}},2681:function(i){i.exports=a;function a(o,s){return o[0]=Math.floor(s[0]),o[1]=Math.floor(s[1]),o[2]=Math.floor(s[2]),o}},5137:function(i,a,o){i.exports=l;var s=o(1091)();function l(u,c,f,h,d,v){var x,b;for(c||(c=3),f||(f=0),h?b=Math.min(h*c+f,u.length):b=u.length,x=f;x<b;x+=c)s[0]=u[x],s[1]=u[x+1],s[2]=u[x+2],d(s,s,v),u[x]=s[0],u[x+1]=s[1],u[x+2]=s[2];return u}},2825:function(i){i.exports=a;function a(o,s,l){var u=new Float32Array(3);return u[0]=o,u[1]=s,u[2]=l,u}},2931:function(i,a,o){i.exports={EPSILON:o(2613),create:o(1091),clone:o(3126),angle:o(8192),fromValues:o(2825),copy:o(3990),set:o(1463),equals:o(9922),exactEquals:o(9265),add:o(5632),subtract:o(6843),sub:o(2229),multiply:o(5847),mul:o(4505),divide:o(6690),div:o(4008),min:o(8107),max:o(7417),floor:o(2681),ceil:o(9226),round:o(2447),scale:o(6621),scaleAndAdd:o(8489),distance:o(7056),dist:o(5455),squaredDistance:o(2953),sqrDist:o(6141),length:o(1387),len:o(868),squaredLength:o(3066),sqrLen:o(5486),negate:o(5093),inverse:o(811),normalize:o(3536),dot:o(244),cross:o(5911),lerp:o(6658),random:o(7636),transformMat4:o(5673),transformMat3:o(492),transformQuat:o(264),rotateX:o(6894),rotateY:o(109),rotateZ:o(8692),forEach:o(5137)}},811:function(i){i.exports=a;function a(o,s){return o[0]=1/s[0],o[1]=1/s[1],o[2]=1/s[2],o}},868:function(i,a,o){i.exports=o(1387)},1387:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2];return Math.sqrt(s*s+l*l+u*u)}},6658:function(i){i.exports=a;function a(o,s,l,u){var c=s[0],f=s[1],h=s[2];return o[0]=c+u*(l[0]-c),o[1]=f+u*(l[1]-f),o[2]=h+u*(l[2]-h),o}},7417:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.max(s[0],l[0]),o[1]=Math.max(s[1],l[1]),o[2]=Math.max(s[2],l[2]),o}},8107:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.min(s[0],l[0]),o[1]=Math.min(s[1],l[1]),o[2]=Math.min(s[2],l[2]),o}},4505:function(i,a,o){i.exports=o(5847)},5847:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l[0],o[1]=s[1]*l[1],o[2]=s[2]*l[2],o}},5093:function(i){i.exports=a;function a(o,s){return o[0]=-s[0],o[1]=-s[1],o[2]=-s[2],o}},3536:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=l*l+u*u+c*c;return f>0&&(f=1/Math.sqrt(f),o[0]=s[0]*f,o[1]=s[1]*f,o[2]=s[2]*f),o}},7636:function(i){i.exports=a;function a(o,s){s=s||1;var l=Math.random()*2*Math.PI,u=Math.random()*2-1,c=Math.sqrt(1-u*u)*s;return o[0]=Math.cos(l)*c,o[1]=Math.sin(l)*c,o[2]=u*s,o}},6894:function(i){i.exports=a;function a(o,s,l,u){var c=l[1],f=l[2],h=s[1]-c,d=s[2]-f,v=Math.sin(u),x=Math.cos(u);return o[0]=s[0],o[1]=c+h*x-d*v,o[2]=f+h*v+d*x,o}},109:function(i){i.exports=a;function a(o,s,l,u){var c=l[0],f=l[2],h=s[0]-c,d=s[2]-f,v=Math.sin(u),x=Math.cos(u);return o[0]=c+d*v+h*x,o[1]=s[1],o[2]=f+d*x-h*v,o}},8692:function(i){i.exports=a;function a(o,s,l,u){var c=l[0],f=l[1],h=s[0]-c,d=s[1]-f,v=Math.sin(u),x=Math.cos(u);return o[0]=c+h*x-d*v,o[1]=f+h*v+d*x,o[2]=s[2],o}},2447:function(i){i.exports=a;function a(o,s){return o[0]=Math.round(s[0]),o[1]=Math.round(s[1]),o[2]=Math.round(s[2]),o}},6621:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o}},8489:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o}},1463:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s,o[1]=l,o[2]=u,o}},6141:function(i,a,o){i.exports=o(2953)},5486:function(i,a,o){i.exports=o(3066)},2953:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2];return l*l+u*u+c*c}},3066:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2];return s*s+l*l+u*u}},2229:function(i,a,o){i.exports=o(6843)},6843:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o}},492:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2];return o[0]=u*l[0]+c*l[3]+f*l[6],o[1]=u*l[1]+c*l[4]+f*l[7],o[2]=u*l[2]+c*l[5]+f*l[8],o}},5673:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[3]*u+l[7]*c+l[11]*f+l[15];return h=h||1,o[0]=(l[0]*u+l[4]*c+l[8]*f+l[12])/h,o[1]=(l[1]*u+l[5]*c+l[9]*f+l[13])/h,o[2]=(l[2]*u+l[6]*c+l[10]*f+l[14])/h,o}},264:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2],x=l[3],b=x*u+d*f-v*c,p=x*c+v*u-h*f,E=x*f+h*c-d*u,k=-h*u-d*c-v*f;return o[0]=b*x+k*-h+p*-v-E*-d,o[1]=p*x+k*-d+E*-h-b*-v,o[2]=E*x+k*-v+b*-d-p*-h,o}},4361:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]+l[0],o[1]=s[1]+l[1],o[2]=s[2]+l[2],o[3]=s[3]+l[3],o}},2335:function(i){i.exports=a;function a(o){var s=new Float32Array(4);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s[3]=o[3],s}},2933:function(i){i.exports=a;function a(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o[3]=s[3],o}},7536:function(i){i.exports=a;function a(){var o=new Float32Array(4);return o[0]=0,o[1]=0,o[2]=0,o[3]=0,o}},4691:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2],f=s[3]-o[3];return Math.sqrt(l*l+u*u+c*c+f*f)}},1373:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o[3]=s[3]/l[3],o}},3750:function(i){i.exports=a;function a(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]+o[3]*s[3]}},3390:function(i){i.exports=a;function a(o,s,l,u){var c=new Float32Array(4);return c[0]=o,c[1]=s,c[2]=l,c[3]=u,c}},9970:function(i,a,o){i.exports={create:o(7536),clone:o(2335),fromValues:o(3390),copy:o(2933),set:o(4578),add:o(4361),subtract:o(6860),multiply:o(3576),divide:o(1373),min:o(2334),max:o(160),scale:o(9288),scaleAndAdd:o(4844),distance:o(4691),squaredDistance:o(7960),length:o(6808),squaredLength:o(483),negate:o(1498),inverse:o(4494),normalize:o(5177),dot:o(3750),lerp:o(2573),random:o(9131),transformMat4:o(5352),transformQuat:o(4041)}},4494:function(i){i.exports=a;function a(o,s){return o[0]=1/s[0],o[1]=1/s[1],o[2]=1/s[2],o[3]=1/s[3],o}},6808:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3];return Math.sqrt(s*s+l*l+u*u+c*c)}},2573:function(i){i.exports=a;function a(o,s,l,u){var c=s[0],f=s[1],h=s[2],d=s[3];return o[0]=c+u*(l[0]-c),o[1]=f+u*(l[1]-f),o[2]=h+u*(l[2]-h),o[3]=d+u*(l[3]-d),o}},160:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.max(s[0],l[0]),o[1]=Math.max(s[1],l[1]),o[2]=Math.max(s[2],l[2]),o[3]=Math.max(s[3],l[3]),o}},2334:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.min(s[0],l[0]),o[1]=Math.min(s[1],l[1]),o[2]=Math.min(s[2],l[2]),o[3]=Math.min(s[3],l[3]),o}},3576:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l[0],o[1]=s[1]*l[1],o[2]=s[2]*l[2],o[3]=s[3]*l[3],o}},1498:function(i){i.exports=a;function a(o,s){return o[0]=-s[0],o[1]=-s[1],o[2]=-s[2],o[3]=-s[3],o}},5177:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=s[3],h=l*l+u*u+c*c+f*f;return h>0&&(h=1/Math.sqrt(h),o[0]=l*h,o[1]=u*h,o[2]=c*h,o[3]=f*h),o}},9131:function(i,a,o){var s=o(5177),l=o(9288);i.exports=u;function u(c,f){return f=f||1,c[0]=Math.random(),c[1]=Math.random(),c[2]=Math.random(),c[3]=Math.random(),s(c,c),l(c,c,f),c}},9288:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o[3]=s[3]*l,o}},4844:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o[3]=s[3]+l[3]*u,o}},4578:function(i){i.exports=a;function a(o,s,l,u,c){return o[0]=s,o[1]=l,o[2]=u,o[3]=c,o}},7960:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2],f=s[3]-o[3];return l*l+u*u+c*c+f*f}},483:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3];return s*s+l*l+u*u+c*c}},6860:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o[3]=s[3]-l[3],o}},5352:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=s[3];return o[0]=l[0]*u+l[4]*c+l[8]*f+l[12]*h,o[1]=l[1]*u+l[5]*c+l[9]*f+l[13]*h,o[2]=l[2]*u+l[6]*c+l[10]*f+l[14]*h,o[3]=l[3]*u+l[7]*c+l[11]*f+l[15]*h,o}},4041:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2],x=l[3],b=x*u+d*f-v*c,p=x*c+v*u-h*f,E=x*f+h*c-d*u,k=-h*u-d*c-v*f;return o[0]=b*x+k*-h+p*-v-E*-d,o[1]=p*x+k*-d+E*-h-b*-v,o[2]=E*x+k*-v+b*-d-p*-h,o[3]=s[3],o}},1848:function(i,a,o){var s=o(4905),l=o(6468);i.exports=u;function u(c){for(var f=Array.isArray(c)?c:s(c),h=0;h<f.length;h++){var d=f[h];if(d.type===\"preprocessor\"){var v=d.data.match(/\\#define\\s+SHADER_NAME(_B64)?\\s+(.+)$/);if(v&&v[2]){var x=v[1],b=v[2];return(x?l(b):b).trim()}}}}},5874:function(i,a,o){i.exports=T;var s=o(620),l=o(7827),u=o(6852),c=o(7932),f=o(3508),h=999,d=9999,v=0,x=1,b=2,p=3,E=4,k=5,A=6,L=7,_=8,C=9,M=10,g=11,P=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"];function T(F){var q=0,V=0,H=h,X,G,N=[],W=[],re=0,ae=0,_e=1,Me=0,ke=0,ge=!1,ie=!1,Te=\"\",Ee;F=F||{};var Ae=u,ze=s;F.version===\"300 es\"&&(Ae=f,ze=c);for(var Ce={},me={},q=0;q<Ae.length;q++)Ce[Ae[q]]=!0;for(var q=0;q<ze.length;q++)me[ze[q]]=!0;return function(Ke){return W=[],Ke!==null?ce(Ke):Ge()};function Re(Ke){Ke.length&&W.push({type:P[H],data:Ke,position:ke,line:_e,column:Me})}function ce(Ke){q=0,Ke.toString&&(Ke=Ke.toString()),Te+=Ke.replace(/\\r\\n/g,`\n", - "`),Ee=Te.length;for(var xt;X=Te[q],q<Ee;){switch(xt=q,H){case v:q=ot();break;case x:q=rt();break;case b:q=qt();break;case p:q=Rt();break;case E:q=Yt();break;case g:q=Ct();break;case k:q=xr();break;case d:q=er();break;case C:q=ct();break;case h:q=nt();break}if(xt!==q)switch(Te[xt]){case`\n", - "`:Me=0,++_e;break;default:++Me;break}}return V+=q,Te=Te.slice(q),W}function Ge(Ke){return N.length&&Re(N.join(\"\")),H=M,Re(\"(eof)\"),W}function nt(){return N=N.length?[]:N,G===\"/\"&&X===\"*\"?(ke=V+q-1,H=v,G=X,q+1):G===\"/\"&&X===\"/\"?(ke=V+q-1,H=x,G=X,q+1):X===\"#\"?(H=b,ke=V+q,q):/\\s/.test(X)?(H=C,ke=V+q,q):(ge=/\\d/.test(X),ie=/[^\\w_]/.test(X),ke=V+q,H=ge?E:ie?p:d,q)}function ct(){return/[^\\s]/g.test(X)?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function qt(){return(X===\"\\r\"||X===`\n", - "`)&&G!==\"\\\\\"?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function rt(){return qt()}function ot(){return X===\"/\"&&G===\"*\"?(N.push(X),Re(N.join(\"\")),H=h,q+1):(N.push(X),G=X,q+1)}function Rt(){if(G===\".\"&&/\\d/.test(X))return H=k,q;if(G===\"/\"&&X===\"*\")return H=v,q;if(G===\"/\"&&X===\"/\")return H=x,q;if(X===\".\"&&N.length){for(;kt(N););return H=k,q}if(X===\";\"||X===\")\"||X===\"(\"){if(N.length)for(;kt(N););return Re(X),H=h,q+1}var Ke=N.length===2&&X!==\"=\";if(/[\\w_\\d\\s]/.test(X)||Ke){for(;kt(N););return H=h,q}return N.push(X),G=X,q+1}function kt(Ke){var xt=0,bt,Lt;do{if(bt=l.indexOf(Ke.slice(0,Ke.length+xt).join(\"\")),Lt=l[bt],bt===-1){if(xt--+Ke.length>0)continue;Lt=Ke.slice(0,1).join(\"\")}return Re(Lt),ke+=Lt.length,N=N.slice(Lt.length),N.length}while(!0)}function Ct(){return/[^a-fA-F0-9]/.test(X)?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function Yt(){return X===\".\"||/[eE]/.test(X)?(N.push(X),H=k,G=X,q+1):X===\"x\"&&N.length===1&&N[0]===\"0\"?(H=g,N.push(X),G=X,q+1):/[^\\d]/.test(X)?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function xr(){return X===\"f\"&&(N.push(X),G=X,q+=1),/[eE]/.test(X)||(X===\"-\"||X===\"+\")&&/[eE]/.test(G)?(N.push(X),G=X,q+1):/[^\\d]/.test(X)?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function er(){if(/[^\\d\\w_]/.test(X)){var Ke=N.join(\"\");return me[Ke]?H=_:Ce[Ke]?H=L:H=A,Re(N.join(\"\")),H=h,q}return N.push(X),G=X,q+1}}},3508:function(i,a,o){var s=o(6852);s=s.slice().filter(function(l){return!/^(gl\\_|texture)/.test(l)}),i.exports=s.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(i){i.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(i,a,o){var s=o(620);i.exports=s.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(i){i.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(i){i.exports=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"]},4905:function(i,a,o){var s=o(5874);i.exports=l;function l(u,c){var f=s(c),h=[];return h=h.concat(f(u)),h=h.concat(f(null)),h}},3236:function(i){i.exports=function(a){typeof a==\"string\"&&(a=[a]);for(var o=[].slice.call(arguments,1),s=[],l=0;l<a.length-1;l++)s.push(a[l],o[l]||\"\");return s.push(a[l]),s.join(\"\")}},7520:function(i,a,o){\"use strict\";var s=o(9507);function l(){var u=!1;try{var c=Object.defineProperty({},\"passive\",{get:function(){u=!0}});window.addEventListener(\"test\",null,c),window.removeEventListener(\"test\",null,c)}catch(f){u=!1}return u}i.exports=s&&l()},3778:function(i,a){a.read=function(o,s,l,u,c){var f,h,d=c*8-u-1,v=(1<<d)-1,x=v>>1,b=-7,p=l?c-1:0,E=l?-1:1,k=o[s+p];for(p+=E,f=k&(1<<-b)-1,k>>=-b,b+=d;b>0;f=f*256+o[s+p],p+=E,b-=8);for(h=f&(1<<-b)-1,f>>=-b,b+=u;b>0;h=h*256+o[s+p],p+=E,b-=8);if(f===0)f=1-x;else{if(f===v)return h?NaN:(k?-1:1)*(1/0);h=h+Math.pow(2,u),f=f-x}return(k?-1:1)*h*Math.pow(2,f-u)},a.write=function(o,s,l,u,c,f){var h,d,v,x=f*8-c-1,b=(1<<x)-1,p=b>>1,E=c===23?Math.pow(2,-24)-Math.pow(2,-77):0,k=u?0:f-1,A=u?1:-1,L=s<0||s===0&&1/s<0?1:0;for(s=Math.abs(s),isNaN(s)||s===1/0?(d=isNaN(s)?1:0,h=b):(h=Math.floor(Math.log(s)/Math.LN2),s*(v=Math.pow(2,-h))<1&&(h--,v*=2),h+p>=1?s+=E/v:s+=E*Math.pow(2,1-p),s*v>=2&&(h++,v/=2),h+p>=b?(d=0,h=b):h+p>=1?(d=(s*v-1)*Math.pow(2,c),h=h+p):(d=s*Math.pow(2,p-1)*Math.pow(2,c),h=0));c>=8;o[l+k]=d&255,k+=A,d/=256,c-=8);for(h=h<<c|d,x+=c;x>0;o[l+k]=h&255,k+=A,h/=256,x-=8);o[l+k-A]|=L*128}},8954:function(i,a,o){\"use strict\";i.exports=p;var s=o(3250),l=o(6803).Fw;function u(E,k,A){this.vertices=E,this.adjacent=k,this.boundary=A,this.lastVisited=-1}u.prototype.flip=function(){var E=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=E;var k=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=k};function c(E,k,A){this.vertices=E,this.cell=k,this.index=A}function f(E,k){return l(E.vertices,k.vertices)}function h(E){return function(){var k=this.tuple;return E.apply(this,k)}}function d(E){var k=s[E+1];return k||(k=s),h(k)}var v=[];function x(E,k,A){this.dimension=E,this.vertices=k,this.simplices=A,this.interior=A.filter(function(C){return!C.boundary}),this.tuple=new Array(E+1);for(var L=0;L<=E;++L)this.tuple[L]=this.vertices[L];var _=v[E];_||(_=v[E]=d(E)),this.orient=_}var b=x.prototype;b.handleBoundaryDegeneracy=function(E,k){var A=this.dimension,L=this.vertices.length-1,_=this.tuple,C=this.vertices,M=[E];for(E.lastVisited=-L;M.length>0;){E=M.pop();for(var g=E.adjacent,P=0;P<=A;++P){var T=g[P];if(!(!T.boundary||T.lastVisited<=-L)){for(var F=T.vertices,q=0;q<=A;++q){var V=F[q];V<0?_[q]=k:_[q]=C[V]}var H=this.orient();if(H>0)return T;T.lastVisited=-L,H===0&&M.push(T)}}}return null},b.walk=function(E,k){var A=this.vertices.length-1,L=this.dimension,_=this.vertices,C=this.tuple,M=k?this.interior.length*Math.random()|0:this.interior.length-1,g=this.interior[M];e:for(;!g.boundary;){for(var P=g.vertices,T=g.adjacent,F=0;F<=L;++F)C[F]=_[P[F]];g.lastVisited=A;for(var F=0;F<=L;++F){var q=T[F];if(!(q.lastVisited>=A)){var V=C[F];C[F]=E;var H=this.orient();if(C[F]=V,H<0){g=q;continue e}else q.boundary?q.lastVisited=-A:q.lastVisited=A}}return}return g},b.addPeaks=function(E,k){var A=this.vertices.length-1,L=this.dimension,_=this.vertices,C=this.tuple,M=this.interior,g=this.simplices,P=[k];k.lastVisited=A,k.vertices[k.vertices.indexOf(-1)]=A,k.boundary=!1,M.push(k);for(var T=[];P.length>0;){var k=P.pop(),F=k.vertices,q=k.adjacent,V=F.indexOf(A);if(!(V<0)){for(var H=0;H<=L;++H)if(H!==V){var X=q[H];if(!(!X.boundary||X.lastVisited>=A)){var G=X.vertices;if(X.lastVisited!==-A){for(var N=0,W=0;W<=L;++W)G[W]<0?(N=W,C[W]=E):C[W]=_[G[W]];var re=this.orient();if(re>0){G[N]=A,X.boundary=!1,M.push(X),P.push(X),X.lastVisited=A;continue}else X.lastVisited=-A}var ae=X.adjacent,_e=F.slice(),Me=q.slice(),ke=new u(_e,Me,!0);g.push(ke);var ge=ae.indexOf(k);if(!(ge<0)){ae[ge]=ke,Me[V]=X,_e[H]=-1,Me[H]=k,q[H]=ke,ke.flip();for(var W=0;W<=L;++W){var ie=_e[W];if(!(ie<0||ie===A)){for(var Te=new Array(L-1),Ee=0,Ae=0;Ae<=L;++Ae){var ze=_e[Ae];ze<0||Ae===W||(Te[Ee++]=ze)}T.push(new c(Te,ke,W))}}}}}}}T.sort(f);for(var H=0;H+1<T.length;H+=2){var Ce=T[H],me=T[H+1],Re=Ce.index,ce=me.index;Re<0||ce<0||(Ce.cell.adjacent[Ce.index]=me.cell,me.cell.adjacent[me.index]=Ce.cell)}},b.insert=function(E,k){var A=this.vertices;A.push(E);var L=this.walk(E,k);if(L){for(var _=this.dimension,C=this.tuple,M=0;M<=_;++M){var g=L.vertices[M];g<0?C[M]=E:C[M]=A[g]}var P=this.orient(C);P<0||P===0&&(L=this.handleBoundaryDegeneracy(L,E),!L)||this.addPeaks(E,L)}},b.boundary=function(){for(var E=this.dimension,k=[],A=this.simplices,L=A.length,_=0;_<L;++_){var C=A[_];if(C.boundary){for(var M=new Array(E),g=C.vertices,P=0,T=0,F=0;F<=E;++F)g[F]>=0?M[P++]=g[F]:T=F&1;if(T===(E&1)){var q=M[0];M[0]=M[1],M[1]=q}k.push(M)}}return k};function p(E,k){var A=E.length;if(A===0)throw new Error(\"Must have at least d+1 points\");var L=E[0].length;if(A<=L)throw new Error(\"Must input at least d+1 points\");var _=E.slice(0,L+1),C=s.apply(void 0,_);if(C===0)throw new Error(\"Input not in general position\");for(var M=new Array(L+1),g=0;g<=L;++g)M[g]=g;C<0&&(M[0]=1,M[1]=0);for(var P=new u(M,new Array(L+1),!1),T=P.adjacent,F=new Array(L+2),g=0;g<=L;++g){for(var q=M.slice(),V=0;V<=L;++V)V===g&&(q[V]=-1);var H=q[0];q[0]=q[1],q[1]=H;var X=new u(q,new Array(L+1),!0);T[g]=X,F[g]=X}F[L+1]=P;for(var g=0;g<=L;++g)for(var q=T[g].vertices,G=T[g].adjacent,V=0;V<=L;++V){var N=q[V];if(N<0){G[V]=P;continue}for(var W=0;W<=L;++W)T[W].vertices.indexOf(N)<0&&(G[V]=T[W])}for(var re=new x(L,_,F),ae=!!k,g=L+1;g<A;++g)re.insert(E[g],ae);return re.boundary()}},3352:function(i,a,o){\"use strict\";var s=o(2478),l=0,u=1,c=2;i.exports=P;function f(T,F,q,V,H){this.mid=T,this.left=F,this.right=q,this.leftPoints=V,this.rightPoints=H,this.count=(F?F.count:0)+(q?q.count:0)+V.length}var h=f.prototype;function d(T,F){T.mid=F.mid,T.left=F.left,T.right=F.right,T.leftPoints=F.leftPoints,T.rightPoints=F.rightPoints,T.count=F.count}function v(T,F){var q=C(F);T.mid=q.mid,T.left=q.left,T.right=q.right,T.leftPoints=q.leftPoints,T.rightPoints=q.rightPoints,T.count=q.count}function x(T,F){var q=T.intervals([]);q.push(F),v(T,q)}function b(T,F){var q=T.intervals([]),V=q.indexOf(F);return V<0?l:(q.splice(V,1),v(T,q),u)}h.intervals=function(T){return T.push.apply(T,this.leftPoints),this.left&&this.left.intervals(T),this.right&&this.right.intervals(T),T},h.insert=function(T){var F=this.count-this.leftPoints.length;if(this.count+=1,T[1]<this.mid)this.left?4*(this.left.count+1)>3*(F+1)?x(this,T):this.left.insert(T):this.left=C([T]);else if(T[0]>this.mid)this.right?4*(this.right.count+1)>3*(F+1)?x(this,T):this.right.insert(T):this.right=C([T]);else{var q=s.ge(this.leftPoints,T,L),V=s.ge(this.rightPoints,T,_);this.leftPoints.splice(q,0,T),this.rightPoints.splice(V,0,T)}},h.remove=function(T){var F=this.count-this.leftPoints;if(T[1]<this.mid){if(!this.left)return l;var q=this.right?this.right.count:0;if(4*q>3*(F-1))return b(this,T);var V=this.left.remove(T);return V===c?(this.left=null,this.count-=1,u):(V===u&&(this.count-=1),V)}else if(T[0]>this.mid){if(!this.right)return l;var H=this.left?this.left.count:0;if(4*H>3*(F-1))return b(this,T);var V=this.right.remove(T);return V===c?(this.right=null,this.count-=1,u):(V===u&&(this.count-=1),V)}else{if(this.count===1)return this.leftPoints[0]===T?c:l;if(this.leftPoints.length===1&&this.leftPoints[0]===T){if(this.left&&this.right){for(var X=this,G=this.left;G.right;)X=G,G=G.right;if(X===this)G.right=this.right;else{var N=this.left,V=this.right;X.count-=G.count,X.right=G.left,G.left=N,G.right=V}d(this,G),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?d(this,this.left):d(this,this.right);return u}for(var N=s.ge(this.leftPoints,T,L);N<this.leftPoints.length&&this.leftPoints[N][0]===T[0];++N)if(this.leftPoints[N]===T){this.count-=1,this.leftPoints.splice(N,1);for(var V=s.ge(this.rightPoints,T,_);V<this.rightPoints.length&&this.rightPoints[V][1]===T[1];++V)if(this.rightPoints[V]===T)return this.rightPoints.splice(V,1),u}return l}};function p(T,F,q){for(var V=0;V<T.length&&T[V][0]<=F;++V){var H=q(T[V]);if(H)return H}}function E(T,F,q){for(var V=T.length-1;V>=0&&T[V][1]>=F;--V){var H=q(T[V]);if(H)return H}}function k(T,F){for(var q=0;q<T.length;++q){var V=F(T[q]);if(V)return V}}h.queryPoint=function(T,F){if(T<this.mid){if(this.left){var q=this.left.queryPoint(T,F);if(q)return q}return p(this.leftPoints,T,F)}else if(T>this.mid){if(this.right){var q=this.right.queryPoint(T,F);if(q)return q}return E(this.rightPoints,T,F)}else return k(this.leftPoints,F)},h.queryInterval=function(T,F,q){if(T<this.mid&&this.left){var V=this.left.queryInterval(T,F,q);if(V)return V}if(F>this.mid&&this.right){var V=this.right.queryInterval(T,F,q);if(V)return V}return F<this.mid?p(this.leftPoints,F,q):T>this.mid?E(this.rightPoints,T,q):k(this.leftPoints,q)};function A(T,F){return T-F}function L(T,F){var q=T[0]-F[0];return q||T[1]-F[1]}function _(T,F){var q=T[1]-F[1];return q||T[0]-F[0]}function C(T){if(T.length===0)return null;for(var F=[],q=0;q<T.length;++q)F.push(T[q][0],T[q][1]);F.sort(A);for(var V=F[F.length>>1],H=[],X=[],G=[],q=0;q<T.length;++q){var N=T[q];N[1]<V?H.push(N):V<N[0]?X.push(N):G.push(N)}var W=G,re=G.slice();return W.sort(L),re.sort(_),new f(V,C(H),C(X),W,re)}function M(T){this.root=T}var g=M.prototype;g.insert=function(T){this.root?this.root.insert(T):this.root=new f(T[0],null,null,[T],[T])},g.remove=function(T){if(this.root){var F=this.root.remove(T);return F===c&&(this.root=null),F!==l}return!1},g.queryPoint=function(T,F){if(this.root)return this.root.queryPoint(T,F)},g.queryInterval=function(T,F,q){if(T<=F&&this.root)return this.root.queryInterval(T,F,q)},Object.defineProperty(g,\"count\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(g,\"intervals\",{get:function(){return this.root?this.root.intervals([]):[]}});function P(T){return!T||T.length===0?new M(null):new M(C(T))}},9507:function(i){i.exports=!0},7163:function(i){i.exports=function(s){return s!=null&&(a(s)||o(s)||!!s._isBuffer)};function a(s){return!!s.constructor&&typeof s.constructor.isBuffer==\"function\"&&s.constructor.isBuffer(s)}function o(s){return typeof s.readFloatLE==\"function\"&&typeof s.slice==\"function\"&&a(s.slice(0,0))}},5219:function(i){\"use strict\";i.exports=function(a){for(var o=a.length,s,l=0;l<o;l++)if(s=a.charCodeAt(l),(s<9||s>13)&&s!==32&&s!==133&&s!==160&&s!==5760&&s!==6158&&(s<8192||s>8205)&&s!==8232&&s!==8233&&s!==8239&&s!==8287&&s!==8288&&s!==12288&&s!==65279)return!1;return!0}},395:function(i){function a(o,s,l){return o*(1-l)+s*l}i.exports=a},2652:function(i,a,o){var s=o(4335),l=o(6864),u=o(1903),c=o(9921),f=o(7608),h=o(5665),d={length:o(1387),normalize:o(3536),dot:o(244),cross:o(5911)},v=l(),x=l(),b=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],E=[0,0,0];i.exports=function(C,M,g,P,T,F){if(M||(M=[0,0,0]),g||(g=[0,0,0]),P||(P=[0,0,0]),T||(T=[0,0,0,1]),F||(F=[0,0,0,1]),!s(v,C)||(u(x,v),x[3]=0,x[7]=0,x[11]=0,x[15]=1,Math.abs(c(x)<1e-8)))return!1;var q=v[3],V=v[7],H=v[11],X=v[12],G=v[13],N=v[14],W=v[15];if(q!==0||V!==0||H!==0){b[0]=q,b[1]=V,b[2]=H,b[3]=W;var re=f(x,x);if(!re)return!1;h(x,x),k(T,b,x)}else T[0]=T[1]=T[2]=0,T[3]=1;if(M[0]=X,M[1]=G,M[2]=N,A(p,v),g[0]=d.length(p[0]),d.normalize(p[0],p[0]),P[0]=d.dot(p[0],p[1]),L(p[1],p[1],p[0],1,-P[0]),g[1]=d.length(p[1]),d.normalize(p[1],p[1]),P[0]/=g[1],P[1]=d.dot(p[0],p[2]),L(p[2],p[2],p[0],1,-P[1]),P[2]=d.dot(p[1],p[2]),L(p[2],p[2],p[1],1,-P[2]),g[2]=d.length(p[2]),d.normalize(p[2],p[2]),P[1]/=g[2],P[2]/=g[2],d.cross(E,p[1],p[2]),d.dot(p[0],E)<0)for(var ae=0;ae<3;ae++)g[ae]*=-1,p[ae][0]*=-1,p[ae][1]*=-1,p[ae][2]*=-1;return F[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),F[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),F[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),F[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(F[0]=-F[0]),p[0][2]>p[2][0]&&(F[1]=-F[1]),p[1][0]>p[0][1]&&(F[2]=-F[2]),!0};function k(_,C,M){var g=C[0],P=C[1],T=C[2],F=C[3];return _[0]=M[0]*g+M[4]*P+M[8]*T+M[12]*F,_[1]=M[1]*g+M[5]*P+M[9]*T+M[13]*F,_[2]=M[2]*g+M[6]*P+M[10]*T+M[14]*F,_[3]=M[3]*g+M[7]*P+M[11]*T+M[15]*F,_}function A(_,C){_[0][0]=C[0],_[0][1]=C[1],_[0][2]=C[2],_[1][0]=C[4],_[1][1]=C[5],_[1][2]=C[6],_[2][0]=C[8],_[2][1]=C[9],_[2][2]=C[10]}function L(_,C,M,g,P){_[0]=C[0]*g+M[0]*P,_[1]=C[1]*g+M[1]*P,_[2]=C[2]*g+M[2]*P}},4335:function(i){i.exports=function(o,s){var l=s[15];if(l===0)return!1;for(var u=1/l,c=0;c<16;c++)o[c]=s[c]*u;return!0}},7442:function(i,a,o){var s=o(6658),l=o(7182),u=o(2652),c=o(9921),f=o(8648),h=b(),d=b(),v=b();i.exports=x;function x(k,A,L,_){if(c(A)===0||c(L)===0)return!1;var C=u(A,h.translate,h.scale,h.skew,h.perspective,h.quaternion),M=u(L,d.translate,d.scale,d.skew,d.perspective,d.quaternion);return!C||!M?!1:(s(v.translate,h.translate,d.translate,_),s(v.skew,h.skew,d.skew,_),s(v.scale,h.scale,d.scale,_),s(v.perspective,h.perspective,d.perspective,_),f(v.quaternion,h.quaternion,d.quaternion,_),l(k,v.translate,v.scale,v.skew,v.perspective,v.quaternion),!0)}function b(){return{translate:p(),scale:p(1),skew:p(),perspective:E(),quaternion:E()}}function p(k){return[k||0,k||0,k||0]}function E(){return[0,0,0,1]}},7182:function(i,a,o){var s={identity:o(7894),translate:o(7656),multiply:o(6760),create:o(6864),scale:o(2504),fromRotationTranslation:o(6743)},l=s.create(),u=s.create();i.exports=function(f,h,d,v,x,b){return s.identity(f),s.fromRotationTranslation(f,b,h),f[3]=x[0],f[7]=x[1],f[11]=x[2],f[15]=x[3],s.identity(u),v[2]!==0&&(u[9]=v[2],s.multiply(f,f,u)),v[1]!==0&&(u[9]=0,u[8]=v[1],s.multiply(f,f,u)),v[0]!==0&&(u[8]=0,u[4]=v[0],s.multiply(f,f,u)),s.scale(f,f,d),f}},1811:function(i,a,o){\"use strict\";var s=o(2478),l=o(7442),u=o(7608),c=o(5567),f=o(2408),h=o(7089),d=o(6582),v=o(7656),x=o(2504),b=o(3536),p=[0,0,0];i.exports=L;function E(_){this._components=_.slice(),this._time=[0],this.prevMatrix=_.slice(),this.nextMatrix=_.slice(),this.computedMatrix=_.slice(),this.computedInverse=_.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]}var k=E.prototype;k.recalcMatrix=function(_){var C=this._time,M=s.le(C,_),g=this.computedMatrix;if(!(M<0)){var P=this._components;if(M===C.length-1)for(var T=16*M,F=0;F<16;++F)g[F]=P[T++];else{for(var q=C[M+1]-C[M],T=16*M,V=this.prevMatrix,H=!0,F=0;F<16;++F)V[F]=P[T++];for(var X=this.nextMatrix,F=0;F<16;++F)X[F]=P[T++],H=H&&V[F]===X[F];if(q<1e-6||H)for(var F=0;F<16;++F)g[F]=V[F];else l(g,V,X,(_-C[M])/q)}var G=this.computedUp;G[0]=g[1],G[1]=g[5],G[2]=g[9],b(G,G);var N=this.computedInverse;u(N,g);var W=this.computedEye,re=N[15];W[0]=N[12]/re,W[1]=N[13]/re,W[2]=N[14]/re;for(var ae=this.computedCenter,_e=Math.exp(this.computedRadius[0]),F=0;F<3;++F)ae[F]=W[F]-g[2+4*F]*_e}},k.idle=function(_){if(!(_<this.lastT())){for(var C=this._components,M=C.length-16,g=0;g<16;++g)C.push(C[M++]);this._time.push(_)}},k.flush=function(_){var C=s.gt(this._time,_)-2;C<0||(this._time.splice(0,C),this._components.splice(0,16*C))},k.lastT=function(){return this._time[this._time.length-1]},k.lookAt=function(_,C,M,g){this.recalcMatrix(_),C=C||this.computedEye,M=M||p,g=g||this.computedUp,this.setMatrix(_,d(this.computedMatrix,C,M,g));for(var P=0,T=0;T<3;++T)P+=Math.pow(M[T]-C[T],2);P=Math.log(Math.sqrt(P)),this.computedRadius[0]=P},k.rotate=function(_,C,M,g){this.recalcMatrix(_);var P=this.computedInverse;C&&f(P,P,C),M&&c(P,P,M),g&&h(P,P,g),this.setMatrix(_,u(this.computedMatrix,P))};var A=[0,0,0];k.pan=function(_,C,M,g){A[0]=-(C||0),A[1]=-(M||0),A[2]=-(g||0),this.recalcMatrix(_);var P=this.computedInverse;v(P,P,A),this.setMatrix(_,u(P,P))},k.translate=function(_,C,M,g){A[0]=C||0,A[1]=M||0,A[2]=g||0,this.recalcMatrix(_);var P=this.computedMatrix;v(P,P,A),this.setMatrix(_,P)},k.setMatrix=function(_,C){if(!(_<this.lastT())){this._time.push(_);for(var M=0;M<16;++M)this._components.push(C[M])}},k.setDistance=function(_,C){this.computedRadius[0]=C},k.setDistanceLimits=function(_,C){var M=this._limits;M[0]=_,M[1]=C},k.getDistanceLimits=function(_){var C=this._limits;return _?(_[0]=C[0],_[1]=C[1],_):C};function L(_){_=_||{};var C=_.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return new E(C)}},3090:function(i,a,o){\"use strict\";i.exports=l;var s=o(3250)[3];function l(u){var c=u.length;if(c<3){for(var E=new Array(c),f=0;f<c;++f)E[f]=f;return c===2&&u[0][0]===u[1][0]&&u[0][1]===u[1][1]?[0]:E}for(var h=new Array(c),f=0;f<c;++f)h[f]=f;h.sort(function(_,C){var M=u[_][0]-u[C][0];return M||u[_][1]-u[C][1]});for(var d=[h[0],h[1]],v=[h[0],h[1]],f=2;f<c;++f){for(var x=h[f],b=u[x],p=d.length;p>1&&s(u[d[p-2]],u[d[p-1]],b)<=0;)p-=1,d.pop();for(d.push(x),p=v.length;p>1&&s(u[v[p-2]],u[v[p-1]],b)>=0;)p-=1,v.pop();v.push(x)}for(var E=new Array(v.length+d.length-2),k=0,f=0,A=d.length;f<A;++f)E[k++]=d[f];for(var L=v.length-2;L>0;--L)E[k++]=v[L];return E}},351:function(i,a,o){\"use strict\";i.exports=l;var s=o(4687);function l(u,c){c||(c=u,u=window);var f=0,h=0,d=0,v={shift:!1,alt:!1,control:!1,meta:!1},x=!1;function b(T){var F=!1;return\"altKey\"in T&&(F=F||T.altKey!==v.alt,v.alt=!!T.altKey),\"shiftKey\"in T&&(F=F||T.shiftKey!==v.shift,v.shift=!!T.shiftKey),\"ctrlKey\"in T&&(F=F||T.ctrlKey!==v.control,v.control=!!T.ctrlKey),\"metaKey\"in T&&(F=F||T.metaKey!==v.meta,v.meta=!!T.metaKey),F}function p(T,F){var q=s.x(F),V=s.y(F);\"buttons\"in F&&(T=F.buttons|0),(T!==f||q!==h||V!==d||b(F))&&(f=T|0,h=q||0,d=V||0,c&&c(f,h,d,v))}function E(T){p(0,T)}function k(){(f||h||d||v.shift||v.alt||v.meta||v.control)&&(h=d=0,f=0,v.shift=v.alt=v.control=v.meta=!1,c&&c(0,0,0,v))}function A(T){b(T)&&c&&c(f,h,d,v)}function L(T){s.buttons(T)===0?p(0,T):p(f,T)}function _(T){p(f|s.buttons(T),T)}function C(T){p(f&~s.buttons(T),T)}function M(){x||(x=!0,u.addEventListener(\"mousemove\",L),u.addEventListener(\"mousedown\",_),u.addEventListener(\"mouseup\",C),u.addEventListener(\"mouseleave\",E),u.addEventListener(\"mouseenter\",E),u.addEventListener(\"mouseout\",E),u.addEventListener(\"mouseover\",E),u.addEventListener(\"blur\",k),u.addEventListener(\"keyup\",A),u.addEventListener(\"keydown\",A),u.addEventListener(\"keypress\",A),u!==window&&(window.addEventListener(\"blur\",k),window.addEventListener(\"keyup\",A),window.addEventListener(\"keydown\",A),window.addEventListener(\"keypress\",A)))}function g(){x&&(x=!1,u.removeEventListener(\"mousemove\",L),u.removeEventListener(\"mousedown\",_),u.removeEventListener(\"mouseup\",C),u.removeEventListener(\"mouseleave\",E),u.removeEventListener(\"mouseenter\",E),u.removeEventListener(\"mouseout\",E),u.removeEventListener(\"mouseover\",E),u.removeEventListener(\"blur\",k),u.removeEventListener(\"keyup\",A),u.removeEventListener(\"keydown\",A),u.removeEventListener(\"keypress\",A),u!==window&&(window.removeEventListener(\"blur\",k),window.removeEventListener(\"keyup\",A),window.removeEventListener(\"keydown\",A),window.removeEventListener(\"keypress\",A)))}M();var P={element:u};return Object.defineProperties(P,{enabled:{get:function(){return x},set:function(T){T?M():g()},enumerable:!0},buttons:{get:function(){return f},enumerable:!0},x:{get:function(){return h},enumerable:!0},y:{get:function(){return d},enumerable:!0},mods:{get:function(){return v},enumerable:!0}}),P}},24:function(i){var a={left:0,top:0};i.exports=o;function o(l,u,c){u=u||l.currentTarget||l.srcElement,Array.isArray(c)||(c=[0,0]);var f=l.clientX||0,h=l.clientY||0,d=s(u);return c[0]=f-d.left,c[1]=h-d.top,c}function s(l){return l===window||l===document||l===document.body?a:l.getBoundingClientRect()}},4687:function(i,a){\"use strict\";function o(c){if(typeof c==\"object\"){if(\"buttons\"in c)return c.buttons;if(\"which\"in c){var f=c.which;if(f===2)return 4;if(f===3)return 2;if(f>0)return 1<<f-1}else if(\"button\"in c){var f=c.button;if(f===1)return 4;if(f===2)return 2;if(f>=0)return 1<<f}}return 0}a.buttons=o;function s(c){return c.target||c.srcElement||window}a.element=s;function l(c){if(typeof c==\"object\"){if(\"offsetX\"in c)return c.offsetX;var f=s(c),h=f.getBoundingClientRect();return c.clientX-h.left}return 0}a.x=l;function u(c){if(typeof c==\"object\"){if(\"offsetY\"in c)return c.offsetY;var f=s(c),h=f.getBoundingClientRect();return c.clientY-h.top}return 0}a.y=u},8512:function(i,a,o){\"use strict\";var s=o(665);i.exports=l;function l(u,c,f){typeof u==\"function\"&&(f=!!c,c=u,u=window);var h=s(\"ex\",u),d=function(v){f&&v.preventDefault();var x=v.deltaX||0,b=v.deltaY||0,p=v.deltaZ||0,E=v.deltaMode,k=1;switch(E){case 1:k=h;break;case 2:k=window.innerHeight;break}if(x*=k,b*=k,p*=k,x||b||p)return c(x,b,p,v)};return u.addEventListener(\"wheel\",d),d}},2640:function(i,a,o){\"use strict\";var s=o(1888);i.exports=c;var l={\"false,0,1\":function(h,d,v,x,b){return function(E,k,A,L){var _=E.shape[0]|0,C=E.shape[1]|0,M=E.data,g=E.offset|0,P=E.stride[0]|0,T=E.stride[1]|0,F=g,q,V=-P|0,H=0,X=-T|0,G=0,N=-P-T|0,W=0,re=P|0,ae=T-P*_|0,_e=0,Me=0,ke=0,ge=2*_|0,ie=x(ge),Te=x(ge),Ee=0,Ae=0,ze=-1,Ce=-1,me=0,Re=-_|0,ce=_|0,Ge=0,nt=-_-1|0,ct=_-1|0,qt=0,rt=0,ot=0;for(_e=0;_e<_;++_e)ie[Ee++]=v(M[F],k,A,L),F+=re;if(F+=ae,C>0){if(Me=1,ie[Ee++]=v(M[F],k,A,L),F+=re,_>0)for(_e=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++),Ee+=1,F+=re,_e=2;_e<_;++_e)q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++,qt!==me&&d(Te[Ee+ze],rt,W,H,qt,me,k,A,L)),Ee+=1,F+=re;for(F+=ae,Ee=0,ot=ze,ze=Ce,Ce=ot,ot=Re,Re=ce,ce=ot,ot=nt,nt=ct,ct=ot,Me=2;Me<C;++Me){if(ie[Ee++]=v(M[F],k,A,L),F+=re,_>0)for(_e=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++,qt!==Ge&&d(Te[Ee+Re],rt,G,W,Ge,qt,k,A,L)),Ee+=1,F+=re,_e=2;_e<_;++_e)q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++,qt!==Ge&&d(Te[Ee+Re],rt,G,W,Ge,qt,k,A,L),qt!==me&&d(Te[Ee+ze],rt,W,H,qt,me,k,A,L)),Ee+=1,F+=re;Me&1&&(Ee=0),ot=ze,ze=Ce,Ce=ot,ot=Re,Re=ce,ce=ot,ot=nt,nt=ct,ct=ot,F+=ae}}b(Te),b(ie)}},\"false,1,0\":function(h,d,v,x,b){return function(E,k,A,L){var _=E.shape[0]|0,C=E.shape[1]|0,M=E.data,g=E.offset|0,P=E.stride[0]|0,T=E.stride[1]|0,F=g,q,V=-P|0,H=0,X=-T|0,G=0,N=-P-T|0,W=0,re=T|0,ae=P-T*C|0,_e=0,Me=0,ke=0,ge=2*C|0,ie=x(ge),Te=x(ge),Ee=0,Ae=0,ze=-1,Ce=-1,me=0,Re=-C|0,ce=C|0,Ge=0,nt=-C-1|0,ct=C-1|0,qt=0,rt=0,ot=0;for(Me=0;Me<C;++Me)ie[Ee++]=v(M[F],k,A,L),F+=re;if(F+=ae,_>0){if(_e=1,ie[Ee++]=v(M[F],k,A,L),F+=re,C>0)for(Me=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++),Ee+=1,F+=re,Me=2;Me<C;++Me)q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++,qt!==me&&d(Te[Ee+ze],rt,G,W,me,qt,k,A,L)),Ee+=1,F+=re;for(F+=ae,Ee=0,ot=Re,Re=ce,ce=ot,ot=ze,ze=Ce,Ce=ot,ot=nt,nt=ct,ct=ot,_e=2;_e<_;++_e){if(ie[Ee++]=v(M[F],k,A,L),F+=re,C>0)for(Me=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++,qt!==Ge&&d(Te[Ee+Re],rt,W,H,qt,Ge,k,A,L)),Ee+=1,F+=re,Me=2;Me<C;++Me)q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++,qt!==me&&d(Te[Ee+ze],rt,G,W,me,qt,k,A,L),qt!==Ge&&d(Te[Ee+Re],rt,W,H,qt,Ge,k,A,L)),Ee+=1,F+=re;_e&1&&(Ee=0),ot=Re,Re=ce,ce=ot,ot=ze,ze=Ce,Ce=ot,ot=nt,nt=ct,ct=ot,F+=ae}}b(Te),b(ie)}}};function u(f,h,d,v,x,b){var p=[b,x].join(\",\"),E=l[p];return E(f,h,d,s.mallocUint32,s.freeUint32)}function c(f){function h(k){throw new Error(\"ndarray-extract-contour: \"+k)}typeof f!=\"object\"&&h(\"Must specify arguments\");var d=f.order;Array.isArray(d)||h(\"Must specify order\");var v=f.arrayArguments||1;v<1&&h(\"Must have at least one array argument\");var x=f.scalarArguments||0;x<0&&h(\"Scalar arg count must be > 0\"),typeof f.vertex!=\"function\"&&h(\"Must specify vertex creation function\"),typeof f.cell!=\"function\"&&h(\"Must specify cell creation function\"),typeof f.phase!=\"function\"&&h(\"Must specify phase function\");for(var b=f.getters||[],p=new Array(v),E=0;E<v;++E)b.indexOf(E)>=0?p[E]=!0:p[E]=!1;return u(f.vertex,f.cell,f.phase,x,d,p)}},6199:function(i,a,o){\"use strict\";var s=o(1338),l={zero:function(L,_,C,M){var g=L[0],P=C[0];M|=0;var T=0,F=P;for(T=0;T<g;++T)_[M]=0,M+=F},fdTemplate1:function(L,_,C,M,g,P,T){var F=L[0],q=C[0],V=P[0],H=-1*q,X=q;M|=0,T|=0;var G=0,N=q,W=V;for(G=0;G<F;++G)g[T]=.5*(_[M+H]-_[M+X]),M+=N,T+=W},fdTemplate2:function(L,_,C,M,g,P,T,F,q,V){var H=L[0],X=L[1],G=C[0],N=C[1],W=P[0],re=P[1],ae=q[0],_e=q[1],Me=-1*G,ke=G,ge=-1*N,ie=N;M|=0,T|=0,V|=0;var Te=0,Ee=0,Ae=N,ze=G-X*N,Ce=re,me=W-X*re,Re=_e,ce=ae-X*_e;for(Ee=0;Ee<H;++Ee){for(Te=0;Te<X;++Te)g[T]=.5*(_[M+Me]-_[M+ke]),F[V]=.5*(_[M+ge]-_[M+ie]),M+=Ae,T+=Ce,V+=Re;M+=ze,T+=me,V+=ce}}},u={cdiff:function(L){var _={};return function(M,g,P){var T=M.dtype,F=M.order,q=g.dtype,V=g.order,H=P.dtype,X=P.order,G=[T,F.join(),q,V.join(),H,X.join()].join(),N=_[G];return N||(_[G]=N=L([T,F,q,V,H,X])),N(M.shape.slice(0),M.data,M.stride,M.offset|0,g.data,g.stride,g.offset|0,P.data,P.stride,P.offset|0)}},zero:function(L){var _={};return function(M){var g=M.dtype,P=M.order,T=[g,P.join()].join(),F=_[T];return F||(_[T]=F=L([g,P])),F(M.shape.slice(0),M.data,M.stride,M.offset|0)}},fdTemplate1:function(L){var _={};return function(M,g){var P=M.dtype,T=M.order,F=g.dtype,q=g.order,V=[P,T.join(),F,q.join()].join(),H=_[V];return H||(_[V]=H=L([P,T,F,q])),H(M.shape.slice(0),M.data,M.stride,M.offset|0,g.data,g.stride,g.offset|0)}},fdTemplate2:function(L){var _={};return function(M,g,P){var T=M.dtype,F=M.order,q=g.dtype,V=g.order,H=P.dtype,X=P.order,G=[T,F.join(),q,V.join(),H,X.join()].join(),N=_[G];return N||(_[G]=N=L([T,F,q,V,H,X])),N(M.shape.slice(0),M.data,M.stride,M.offset|0,g.data,g.stride,g.offset|0,P.data,P.stride,P.offset|0)}}};function c(L){var _=u[L.funcName];return _(f.bind(void 0,L))}function f(L){return l[L.funcName]}function h(L){return c({funcName:L.funcName})}var d={},v={},x={body:\"\",args:[],thisVars:[],localVars:[]},b=h({funcName:\"cdiff\"}),p=h({funcName:\"zero\"});function E(L){return L in d?d[L]:d[L]=h({funcName:\"fdTemplate\"+L})}function k(L,_,C,M){return function(g,P){var T=P.shape.slice();return T[0]>2&&T[1]>2&&M(P.pick(-1,-1).lo(1,1).hi(T[0]-2,T[1]-2),g.pick(-1,-1,0).lo(1,1).hi(T[0]-2,T[1]-2),g.pick(-1,-1,1).lo(1,1).hi(T[0]-2,T[1]-2)),T[1]>2&&(C(P.pick(0,-1).lo(1).hi(T[1]-2),g.pick(0,-1,1).lo(1).hi(T[1]-2)),_(g.pick(0,-1,0).lo(1).hi(T[1]-2))),T[1]>2&&(C(P.pick(T[0]-1,-1).lo(1).hi(T[1]-2),g.pick(T[0]-1,-1,1).lo(1).hi(T[1]-2)),_(g.pick(T[0]-1,-1,0).lo(1).hi(T[1]-2))),T[0]>2&&(C(P.pick(-1,0).lo(1).hi(T[0]-2),g.pick(-1,0,0).lo(1).hi(T[0]-2)),_(g.pick(-1,0,1).lo(1).hi(T[0]-2))),T[0]>2&&(C(P.pick(-1,T[1]-1).lo(1).hi(T[0]-2),g.pick(-1,T[1]-1,0).lo(1).hi(T[0]-2)),_(g.pick(-1,T[1]-1,1).lo(1).hi(T[0]-2))),g.set(0,0,0,0),g.set(0,0,1,0),g.set(T[0]-1,0,0,0),g.set(T[0]-1,0,1,0),g.set(0,T[1]-1,0,0),g.set(0,T[1]-1,1,0),g.set(T[0]-1,T[1]-1,0,0),g.set(T[0]-1,T[1]-1,1,0),g}}function A(L){var _=L.join(),T=v[_];if(T)return T;for(var C=L.length,M=[b,p],g=1;g<=C;++g)M.push(E(g));var P=k,T=P.apply(void 0,M);return v[_]=T,T}i.exports=function(_,C,M){if(Array.isArray(M)||(typeof M==\"string\"?M=s(C.dimension,M):M=s(C.dimension,\"clamp\")),C.size===0)return _;if(C.dimension===0)return _.set(0),_;var g=A(M);return g(_,C)}},4317:function(i){\"use strict\";function a(c,f){var h=Math.floor(f),d=f-h,v=0<=h&&h<c.shape[0],x=0<=h+1&&h+1<c.shape[0],b=v?+c.get(h):0,p=x?+c.get(h+1):0;return(1-d)*b+d*p}function o(c,f,h){var d=Math.floor(f),v=f-d,x=0<=d&&d<c.shape[0],b=0<=d+1&&d+1<c.shape[0],p=Math.floor(h),E=h-p,k=0<=p&&p<c.shape[1],A=0<=p+1&&p+1<c.shape[1],L=x&&k?c.get(d,p):0,_=x&&A?c.get(d,p+1):0,C=b&&k?c.get(d+1,p):0,M=b&&A?c.get(d+1,p+1):0;return(1-E)*((1-v)*L+v*C)+E*((1-v)*_+v*M)}function s(c,f,h,d){var v=Math.floor(f),x=f-v,b=0<=v&&v<c.shape[0],p=0<=v+1&&v+1<c.shape[0],E=Math.floor(h),k=h-E,A=0<=E&&E<c.shape[1],L=0<=E+1&&E+1<c.shape[1],_=Math.floor(d),C=d-_,M=0<=_&&_<c.shape[2],g=0<=_+1&&_+1<c.shape[2],P=b&&A&&M?c.get(v,E,_):0,T=b&&L&&M?c.get(v,E+1,_):0,F=p&&A&&M?c.get(v+1,E,_):0,q=p&&L&&M?c.get(v+1,E+1,_):0,V=b&&A&&g?c.get(v,E,_+1):0,H=b&&L&&g?c.get(v,E+1,_+1):0,X=p&&A&&g?c.get(v+1,E,_+1):0,G=p&&L&&g?c.get(v+1,E+1,_+1):0;return(1-C)*((1-k)*((1-x)*P+x*F)+k*((1-x)*T+x*q))+C*((1-k)*((1-x)*V+x*X)+k*((1-x)*H+x*G))}function l(c){var f=c.shape.length|0,h=new Array(f),d=new Array(f),v=new Array(f),x=new Array(f),b,p;for(b=0;b<f;++b)p=+arguments[b+1],h[b]=Math.floor(p),d[b]=p-h[b],v[b]=0<=h[b]&&h[b]<c.shape[b],x[b]=0<=h[b]+1&&h[b]+1<c.shape[b];var E=0,k,A,L;e:for(b=0;b<1<<f;++b){for(A=1,L=c.offset,k=0;k<f;++k)if(b&1<<k){if(!x[k])continue e;A*=d[k],L+=c.stride[k]*(h[k]+1)}else{if(!v[k])continue e;A*=1-d[k],L+=c.stride[k]*h[k]}E+=A*c.data[L]}return E}function u(c,f,h,d){switch(c.shape.length){case 0:return 0;case 1:return a(c,f);case 2:return o(c,f,h);case 3:return s(c,f,h,d);default:return l.apply(void 0,arguments)}}i.exports=u,i.exports.d1=a,i.exports.d2=o,i.exports.d3=s},5298:function(i,a){\"use strict\";var o={\"float64,2,1,0\":function(){return function(v,x,b,p,E){var k=v[0],A=v[1],L=v[2],_=b[0],C=b[1],M=b[2];p|=0;var g=0,P=0,T=0,F=M,q=C-L*M,V=_-A*C;for(T=0;T<k;++T){for(P=0;P<A;++P){for(g=0;g<L;++g)x[p]/=E,p+=F;p+=q}p+=V}}},\"uint8,2,0,1,float64,2,1,0\":function(){return function(v,x,b,p,E,k,A,L){var _=v[0],C=v[1],M=v[2],g=b[0],P=b[1],T=b[2],F=k[0],q=k[1],V=k[2];p|=0,A|=0;for(var H=p,X=A,G=v[0]|0;G>0;){G<64?(_=G,G=0):(_=64,G-=64);for(var N=v[1]|0;N>0;){N<64?(C=N,N=0):(C=64,N-=64),p=H+G*g+N*P,A=X+G*F+N*q;var W=0,re=0,ae=0,_e=T,Me=g-M*T,ke=P-_*g,ge=V,ie=F-M*V,Te=q-_*F;for(ae=0;ae<C;++ae){for(re=0;re<_;++re){for(W=0;W<M;++W)x[p]=E[A]*L,p+=_e,A+=ge;p+=Me,A+=ie}p+=ke,A+=Te}}}}},\"float32,1,0,float32,1,0\":function(){return function(v,x,b,p,E,k,A){var L=v[0],_=v[1],C=b[0],M=b[1],g=k[0],P=k[1];p|=0,A|=0;var T=0,F=0,q=M,V=C-_*M,H=P,X=g-_*P;for(F=0;F<L;++F){for(T=0;T<_;++T)x[p]=E[A],p+=q,A+=H;p+=V,A+=X}}},\"float32,1,0,float32,0,1\":function(){return function(v,x,b,p,E,k,A){var L=v[0],_=v[1],C=b[0],M=b[1],g=k[0],P=k[1];p|=0,A|=0;for(var T=p,F=A,q=v[1]|0;q>0;){q<64?(_=q,q=0):(_=64,q-=64);for(var V=v[0]|0;V>0;){V<64?(L=V,V=0):(L=64,V-=64),p=T+q*M+V*C,A=F+q*P+V*g;var H=0,X=0,G=M,N=C-_*M,W=P,re=g-_*P;for(X=0;X<L;++X){for(H=0;H<_;++H)x[p]=E[A],p+=G,A+=W;p+=N,A+=re}}}}},\"uint8,2,0,1,uint8,1,2,0\":function(){return function(v,x,b,p,E,k,A){var L=v[0],_=v[1],C=v[2],M=b[0],g=b[1],P=b[2],T=k[0],F=k[1],q=k[2];p|=0,A|=0;for(var V=p,H=A,X=v[2]|0;X>0;){X<64?(C=X,X=0):(C=64,X-=64);for(var G=v[0]|0;G>0;){G<64?(L=G,G=0):(L=64,G-=64);for(var N=v[1]|0;N>0;){N<64?(_=N,N=0):(_=64,N-=64),p=V+X*P+G*M+N*g,A=H+X*q+G*T+N*F;var W=0,re=0,ae=0,_e=P,Me=M-C*P,ke=g-L*M,ge=q,ie=T-C*q,Te=F-L*T;for(ae=0;ae<_;++ae){for(re=0;re<L;++re){for(W=0;W<C;++W)x[p]=E[A],p+=_e,A+=ge;p+=Me,A+=ie}p+=ke,A+=Te}}}}}},\"uint8,2,0,1,array,2,0,1\":function(){return function(v,x,b,p,E,k,A){var L=v[0],_=v[1],C=v[2],M=b[0],g=b[1],P=b[2],T=k[0],F=k[1],q=k[2];p|=0,A|=0;var V=0,H=0,X=0,G=P,N=M-C*P,W=g-L*M,re=q,ae=T-C*q,_e=F-L*T;for(X=0;X<_;++X){for(H=0;H<L;++H){for(V=0;V<C;++V)x[p]=E[A],p+=G,A+=re;p+=N,A+=ae}p+=W,A+=_e}}}};function s(d,v){var x=v.join(\",\"),b=o[x];return b()}var l=s,u={mul:function(d){var v={};return function(b,p,E){var k=b.dtype,A=b.order,L=p.dtype,_=p.order,C=E.dtype,M=E.order,g=[k,A.join(),L,_.join(),C,M.join()].join(),P=v[g];return P||(v[g]=P=d([k,A,L,_,C,M])),P(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0,E.data,E.stride,E.offset|0)}},muls:function(d){var v={};return function(b,p,E){var k=b.dtype,A=b.order,L=p.dtype,_=p.order,C=[k,A.join(),L,_.join()].join(),M=v[C];return M||(v[C]=M=d([k,A,L,_])),M(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0,E)}},mulseq:function(d){var v={};return function(b,p){var E=b.dtype,k=b.order,A=[E,k.join()].join(),L=v[A];return L||(v[A]=L=d([E,k])),L(b.shape.slice(0),b.data,b.stride,b.offset|0,p)}},div:function(d){var v={};return function(b,p,E){var k=b.dtype,A=b.order,L=p.dtype,_=p.order,C=E.dtype,M=E.order,g=[k,A.join(),L,_.join(),C,M.join()].join(),P=v[g];return P||(v[g]=P=d([k,A,L,_,C,M])),P(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0,E.data,E.stride,E.offset|0)}},divs:function(d){var v={};return function(b,p,E){var k=b.dtype,A=b.order,L=p.dtype,_=p.order,C=[k,A.join(),L,_.join()].join(),M=v[C];return M||(v[C]=M=d([k,A,L,_])),M(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0,E)}},divseq:function(d){var v={};return function(b,p){var E=b.dtype,k=b.order,A=[E,k.join()].join(),L=v[A];return L||(v[A]=L=d([E,k])),L(b.shape.slice(0),b.data,b.stride,b.offset|0,p)}},assign:function(d){var v={};return function(b,p){var E=b.dtype,k=b.order,A=p.dtype,L=p.order,_=[E,k.join(),A,L.join()].join(),C=v[_];return C||(v[_]=C=d([E,k,A,L])),C(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0)}}};function c(d){var v=u[d.funcName];return v(l.bind(void 0,d))}function f(d){return c({funcName:d.funcName})}var h={mul:\"*\",div:\"/\"};(function(){for(var d in h)a[d]=f({funcName:d}),a[d+\"s\"]=f({funcName:d+\"s\"}),a[d+\"seq\"]=f({funcName:d+\"seq\"})})(),a.assign=f({funcName:\"assign\"})},9994:function(i,a,o){\"use strict\";var s=o(9618),l=o(8277);i.exports=function(c,f){for(var h=[],d=c,v=1;Array.isArray(d);)h.push(d.length),v*=d.length,d=d[0];return h.length===0?s():(f||(f=s(new Float64Array(v),h)),l(f,c),f)}},8277:function(i){\"use strict\";function a(){return function(f,h,d,v,x){var b=f[0],p=f[1],E=f[2],k=d[0],A=d[1],L=d[2],_=[0,0,0];v|=0;var C=0,M=0,g=0,P=L,T=A-E*L,F=k-p*A;for(g=0;g<b;++g){for(M=0;M<p;++M){for(C=0;C<E;++C){{var q=x,V;for(V=0;V<_.length-1;++V)q=q[_[V]];h[v]=q[_[_.length-1]]}v+=P,++_[2]}v+=T,_[2]-=E,++_[1]}v+=F,_[1]-=p,++_[0]}}}function o(){return a()}var s=o;function l(f){var h={};return function(v,x){var b=v.dtype,p=v.order,E=[b,p.join()].join(),k=h[E];return k||(h[E]=k=f([b,p])),k(v.shape.slice(0),v.data,v.stride,v.offset|0,x)}}function u(f){return l(s.bind(void 0,f))}function c(f){return u({funcName:f.funcName})}i.exports=c({funcName:\"convert\"})},7640:function(i,a,o){\"use strict\";var s=o(1888);function l(x){switch(x){case\"uint32\":return[s.mallocUint32,s.freeUint32];default:return null}}var u={\"uint32,1,0\":function(x,b){return function(E,k,A,L,_,C,M,g,P,T,F){var q,V,H,X=E*_+L,G,N=x(g),W,re,ae,_e;for(q=E+1;q<=k;++q){for(V=q,X+=_,H=X,W=0,re=X,G=0;G<g;++G)N[W++]=A[re],re+=P;e:for(;V-- >E;){W=0,re=H-_;t:for(G=0;G<g;++G){if(ae=A[re],_e=N[W],ae<_e)break e;if(ae>_e)break t;re+=T,W+=F}for(W=H,re=H-_,G=0;G<g;++G)A[W]=A[re],W+=P,re+=P;H-=_}for(W=H,re=0,G=0;G<g;++G)A[W]=N[re++],W+=P}b(N)}}};function c(x,b){var p=l(b),E=[b,x].join(\",\"),k=u[E];return p?k(p[0],p[1]):k()}var f={\"uint32,1,0\":function(x,b,p){return function E(k,A,L,_,C,M,g,P,T,F,q){var V=(A-k+1)/6|0,H=k+V,X=A-V,G=k+A>>1,N=G-V,W=G+V,re=H,ae=N,_e=G,Me=W,ke=X,ge=k+1,ie=A-1,Te=!0,Ee,Ae,ze,Ce,me,Re,ce,Ge,nt,ct=0,qt=0,rt=0,ot,Rt,kt,Ct,Yt,xr,er,Ke,xt,bt,Lt,St,Et,dt,Ht,$t,fr=P,_r=b(fr),Br=b(fr);Rt=C*re,kt=C*ae,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=re,re=ae,ae=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*Me,kt=C*ke,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=Me,Me=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*re,kt=C*_e,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=re,re=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*ae,kt=C*_e,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=ae,ae=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*re,kt=C*Me,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=re,re=Me,Me=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*_e,kt=C*Me,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=_e,_e=Me,Me=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*ae,kt=C*ke,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=ae,ae=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*ae,kt=C*_e,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=ae,ae=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*Me,kt=C*ke,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=Me,Me=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}for(Rt=C*re,kt=C*ae,Ct=C*_e,Yt=C*Me,xr=C*ke,er=C*H,Ke=C*G,xt=C*X,Ht=0,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,nt=Ct+$t,bt=Yt+$t,Lt=xr+$t,St=er+$t,Et=Ke+$t,dt=xt+$t,_r[Ht]=L[Ge],Br[Ht]=L[bt],Te=Te&&_r[Ht]===Br[Ht],ze=L[ce],Ce=L[nt],me=L[Lt],L[St]=ze,L[Et]=Ce,L[dt]=me,++Ht,$t+=T;for(Rt=C*N,kt=C*k,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,L[ce]=L[Ge],$t+=T;for(Rt=C*W,kt=C*A,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,L[ce]=L[Ge],$t+=T;if(Te)for(Re=ge;Re<=ie;++Re){ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-_r[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt!==0)if(rt<0){if(Re!==ge)for(Rt=C*Re,kt=C*ge,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;++ge}else for(;;){ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-_r[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt>0)ie--;else if(rt<0){for(Rt=C*Re,kt=C*ge,Ct=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,nt=Ct+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=L[nt],L[nt]=Ee,$t+=T;++ge,--ie;break}else{for(Rt=C*Re,kt=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;--ie;break}}}else for(Re=ge;Re<=ie;++Re){ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(ct=L[ce]-_r[Ht],ct!==0)break e;Ht+=q,ce+=F}if(ct<0){if(Re!==ge)for(Rt=C*Re,kt=C*ge,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;++ge}else{ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(qt=L[ce]-Br[Ht],qt!==0)break e;Ht+=q,ce+=F}if(qt>0)for(;;){ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-Br[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt>0){if(--ie<Re)break;continue}else{ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-_r[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt<0){for(Rt=C*Re,kt=C*ge,Ct=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,nt=Ct+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=L[nt],L[nt]=Ee,$t+=T;++ge,--ie}else{for(Rt=C*Re,kt=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;--ie}break}}}}for(Rt=C*k,kt=C*(ge-1),Ht=0,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,L[ce]=L[Ge],L[Ge]=_r[Ht],++Ht,$t+=T;for(Rt=C*A,kt=C*(ie+1),Ht=0,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,L[ce]=L[Ge],L[Ge]=Br[Ht],++Ht,$t+=T;if(ge-2-k<=32?x(k,ge-2,L,_,C,M,g,P,T,F,q):E(k,ge-2,L,_,C,M,g,P,T,F,q),A-(ie+2)<=32?x(ie+2,A,L,_,C,M,g,P,T,F,q):E(ie+2,A,L,_,C,M,g,P,T,F,q),Te){p(_r),p(Br);return}if(ge<H&&ie>X){e:for(;;){for(ce=_+ge*C,Ht=0,$t=_,ot=0;ot<P;++ot){if(L[ce]!==_r[Ht])break e;++Ht,ce+=T}++ge}e:for(;;){for(ce=_+ie*C,Ht=0,$t=_,ot=0;ot<P;++ot){if(L[ce]!==Br[Ht])break e;++Ht,ce+=T}--ie}for(Re=ge;Re<=ie;++Re){ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(ct=L[ce]-_r[Ht],ct!==0)break e;Ht+=q,ce+=F}if(ct===0){if(Re!==ge)for(Rt=C*Re,kt=C*ge,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;++ge}else{ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(qt=L[ce]-Br[Ht],qt!==0)break e;Ht+=q,ce+=F}if(qt===0)for(;;){ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-Br[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt===0){if(--ie<Re)break;continue}else{ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-_r[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt<0){for(Rt=C*Re,kt=C*ge,Ct=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,nt=Ct+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=L[nt],L[nt]=Ee,$t+=T;++ge,--ie}else{for(Rt=C*Re,kt=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;--ie}break}}}}}p(_r),p(Br),ie-ge<=32?x(ge,ie,L,_,C,M,g,P,T,F,q):E(ge,ie,L,_,C,M,g,P,T,F,q)}}};function h(x,b,p){var E=l(b),k=[b,x].join(\",\"),A=f[k];return x.length>1&&E?A(p,E[0],E[1]):A(p)}var d={\"uint32,1,0\":function(x,b){return function(p){var E=p.data,k=p.offset|0,A=p.shape,L=p.stride,_=L[0]|0,C=A[0]|0,M=L[1]|0,g=A[1]|0,P=M,T=M,F=1;C<=32?x(0,C-1,E,k,_,M,C,g,P,T,F):b(0,C-1,E,k,_,M,C,g,P,T,F)}}};function v(x,b){var p=[b,x].join(\",\"),E=d[p],k=c(x,b),A=h(x,b,k);return E(k,A)}i.exports=v},446:function(i,a,o){\"use strict\";var s=o(7640),l={};function u(c){var f=c.order,h=c.dtype,d=[f,h],v=d.join(\":\"),x=l[v];return x||(l[v]=x=s(f,h)),x(c),c}i.exports=u},9618:function(i,a,o){var s=o(7163),l=typeof Float64Array!=\"undefined\";function u(b,p){return b[0]-p[0]}function c(){var b=this.stride,p=new Array(b.length),E;for(E=0;E<p.length;++E)p[E]=[Math.abs(b[E]),E];p.sort(u);var k=new Array(p.length);for(E=0;E<k.length;++E)k[E]=p[E][1];return k}var f={T:function(b){function p(k){this.data=k}var E=p.prototype;return E.dtype=b,E.index=function(){return-1},E.size=0,E.dimension=-1,E.shape=E.stride=E.order=[],E.lo=E.hi=E.transpose=E.step=function(){return new p(this.data)},E.get=E.set=function(){},E.pick=function(){return null},function(A){return new p(A)}},0:function(b,p){function E(A,L){this.data=A,this.offset=L}var k=E.prototype;return k.dtype=b,k.index=function(){return this.offset},k.dimension=0,k.size=1,k.shape=k.stride=k.order=[],k.lo=k.hi=k.transpose=k.step=function(){return new E(this.data,this.offset)},k.pick=function(){return p(this.data)},k.valueOf=k.get=function(){return b===\"generic\"?this.data.get(this.offset):this.data[this.offset]},k.set=function(L){return b===\"generic\"?this.data.set(this.offset,L):this.data[this.offset]=L},function(L,_,C,M){return new E(L,M)}},1:function(b,p,E){function k(L,_,C,M){this.data=L,this.shape=[_],this.stride=[C],this.offset=M|0}var A=k.prototype;return A.dtype=b,A.dimension=1,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]}}),A.order=[0],A.set=function(_,C){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*_,C):this.data[this.offset+this.stride[0]*_]=C},A.get=function(_){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*_):this.data[this.offset+this.stride[0]*_]},A.index=function(_){return this.offset+this.stride[0]*_},A.hi=function(_){return new k(this.data,typeof _!=\"number\"||_<0?this.shape[0]:_|0,this.stride[0],this.offset)},A.lo=function(_){var C=this.offset,M=0,g=this.shape[0],P=this.stride[0];return typeof _==\"number\"&&_>=0&&(M=_|0,C+=P*M,g-=M),new k(this.data,g,P,C)},A.step=function(_){var C=this.shape[0],M=this.stride[0],g=this.offset,P=0,T=Math.ceil;return typeof _==\"number\"&&(P=_|0,P<0?(g+=M*(C-1),C=T(-C/P)):C=T(C/P),M*=P),new k(this.data,C,M,g)},A.transpose=function(_){_=_===void 0?0:_|0;var C=this.shape,M=this.stride;return new k(this.data,C[_],M[_],this.offset)},A.pick=function(_){var C=[],M=[],g=this.offset;typeof _==\"number\"&&_>=0?g=g+this.stride[0]*_|0:(C.push(this.shape[0]),M.push(this.stride[0]));var P=p[C.length+1];return P(this.data,C,M,g)},function(_,C,M,g){return new k(_,C[0],M[0],g)}},2:function(b,p,E){function k(L,_,C,M,g,P){this.data=L,this.shape=[_,C],this.stride=[M,g],this.offset=P|0}var A=k.prototype;return A.dtype=b,A.dimension=2,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(A,\"order\",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),A.set=function(_,C,M){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*_+this.stride[1]*C,M):this.data[this.offset+this.stride[0]*_+this.stride[1]*C]=M},A.get=function(_,C){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*_+this.stride[1]*C):this.data[this.offset+this.stride[0]*_+this.stride[1]*C]},A.index=function(_,C){return this.offset+this.stride[0]*_+this.stride[1]*C},A.hi=function(_,C){return new k(this.data,typeof _!=\"number\"||_<0?this.shape[0]:_|0,typeof C!=\"number\"||C<0?this.shape[1]:C|0,this.stride[0],this.stride[1],this.offset)},A.lo=function(_,C){var M=this.offset,g=0,P=this.shape[0],T=this.shape[1],F=this.stride[0],q=this.stride[1];return typeof _==\"number\"&&_>=0&&(g=_|0,M+=F*g,P-=g),typeof C==\"number\"&&C>=0&&(g=C|0,M+=q*g,T-=g),new k(this.data,P,T,F,q,M)},A.step=function(_,C){var M=this.shape[0],g=this.shape[1],P=this.stride[0],T=this.stride[1],F=this.offset,q=0,V=Math.ceil;return typeof _==\"number\"&&(q=_|0,q<0?(F+=P*(M-1),M=V(-M/q)):M=V(M/q),P*=q),typeof C==\"number\"&&(q=C|0,q<0?(F+=T*(g-1),g=V(-g/q)):g=V(g/q),T*=q),new k(this.data,M,g,P,T,F)},A.transpose=function(_,C){_=_===void 0?0:_|0,C=C===void 0?1:C|0;var M=this.shape,g=this.stride;return new k(this.data,M[_],M[C],g[_],g[C],this.offset)},A.pick=function(_,C){var M=[],g=[],P=this.offset;typeof _==\"number\"&&_>=0?P=P+this.stride[0]*_|0:(M.push(this.shape[0]),g.push(this.stride[0])),typeof C==\"number\"&&C>=0?P=P+this.stride[1]*C|0:(M.push(this.shape[1]),g.push(this.stride[1]));var T=p[M.length+1];return T(this.data,M,g,P)},function(_,C,M,g){return new k(_,C[0],C[1],M[0],M[1],g)}},3:function(b,p,E){function k(L,_,C,M,g,P,T,F){this.data=L,this.shape=[_,C,M],this.stride=[g,P,T],this.offset=F|0}var A=k.prototype;return A.dtype=b,A.dimension=3,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(A,\"order\",{get:function(){var _=Math.abs(this.stride[0]),C=Math.abs(this.stride[1]),M=Math.abs(this.stride[2]);return _>C?C>M?[2,1,0]:_>M?[1,2,0]:[1,0,2]:_>M?[2,0,1]:M>C?[0,1,2]:[0,2,1]}}),A.set=function(_,C,M,g){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M,g):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M]=g},A.get=function(_,C,M){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M]},A.index=function(_,C,M){return this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M},A.hi=function(_,C,M){return new k(this.data,typeof _!=\"number\"||_<0?this.shape[0]:_|0,typeof C!=\"number\"||C<0?this.shape[1]:C|0,typeof M!=\"number\"||M<0?this.shape[2]:M|0,this.stride[0],this.stride[1],this.stride[2],this.offset)},A.lo=function(_,C,M){var g=this.offset,P=0,T=this.shape[0],F=this.shape[1],q=this.shape[2],V=this.stride[0],H=this.stride[1],X=this.stride[2];return typeof _==\"number\"&&_>=0&&(P=_|0,g+=V*P,T-=P),typeof C==\"number\"&&C>=0&&(P=C|0,g+=H*P,F-=P),typeof M==\"number\"&&M>=0&&(P=M|0,g+=X*P,q-=P),new k(this.data,T,F,q,V,H,X,g)},A.step=function(_,C,M){var g=this.shape[0],P=this.shape[1],T=this.shape[2],F=this.stride[0],q=this.stride[1],V=this.stride[2],H=this.offset,X=0,G=Math.ceil;return typeof _==\"number\"&&(X=_|0,X<0?(H+=F*(g-1),g=G(-g/X)):g=G(g/X),F*=X),typeof C==\"number\"&&(X=C|0,X<0?(H+=q*(P-1),P=G(-P/X)):P=G(P/X),q*=X),typeof M==\"number\"&&(X=M|0,X<0?(H+=V*(T-1),T=G(-T/X)):T=G(T/X),V*=X),new k(this.data,g,P,T,F,q,V,H)},A.transpose=function(_,C,M){_=_===void 0?0:_|0,C=C===void 0?1:C|0,M=M===void 0?2:M|0;var g=this.shape,P=this.stride;return new k(this.data,g[_],g[C],g[M],P[_],P[C],P[M],this.offset)},A.pick=function(_,C,M){var g=[],P=[],T=this.offset;typeof _==\"number\"&&_>=0?T=T+this.stride[0]*_|0:(g.push(this.shape[0]),P.push(this.stride[0])),typeof C==\"number\"&&C>=0?T=T+this.stride[1]*C|0:(g.push(this.shape[1]),P.push(this.stride[1])),typeof M==\"number\"&&M>=0?T=T+this.stride[2]*M|0:(g.push(this.shape[2]),P.push(this.stride[2]));var F=p[g.length+1];return F(this.data,g,P,T)},function(_,C,M,g){return new k(_,C[0],C[1],C[2],M[0],M[1],M[2],g)}},4:function(b,p,E){function k(L,_,C,M,g,P,T,F,q,V){this.data=L,this.shape=[_,C,M,g],this.stride=[P,T,F,q],this.offset=V|0}var A=k.prototype;return A.dtype=b,A.dimension=4,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(A,\"order\",{get:E}),A.set=function(_,C,M,g,P){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g,P):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g]=P},A.get=function(_,C,M,g){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g]},A.index=function(_,C,M,g){return this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g},A.hi=function(_,C,M,g){return new k(this.data,typeof _!=\"number\"||_<0?this.shape[0]:_|0,typeof C!=\"number\"||C<0?this.shape[1]:C|0,typeof M!=\"number\"||M<0?this.shape[2]:M|0,typeof g!=\"number\"||g<0?this.shape[3]:g|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},A.lo=function(_,C,M,g){var P=this.offset,T=0,F=this.shape[0],q=this.shape[1],V=this.shape[2],H=this.shape[3],X=this.stride[0],G=this.stride[1],N=this.stride[2],W=this.stride[3];return typeof _==\"number\"&&_>=0&&(T=_|0,P+=X*T,F-=T),typeof C==\"number\"&&C>=0&&(T=C|0,P+=G*T,q-=T),typeof M==\"number\"&&M>=0&&(T=M|0,P+=N*T,V-=T),typeof g==\"number\"&&g>=0&&(T=g|0,P+=W*T,H-=T),new k(this.data,F,q,V,H,X,G,N,W,P)},A.step=function(_,C,M,g){var P=this.shape[0],T=this.shape[1],F=this.shape[2],q=this.shape[3],V=this.stride[0],H=this.stride[1],X=this.stride[2],G=this.stride[3],N=this.offset,W=0,re=Math.ceil;return typeof _==\"number\"&&(W=_|0,W<0?(N+=V*(P-1),P=re(-P/W)):P=re(P/W),V*=W),typeof C==\"number\"&&(W=C|0,W<0?(N+=H*(T-1),T=re(-T/W)):T=re(T/W),H*=W),typeof M==\"number\"&&(W=M|0,W<0?(N+=X*(F-1),F=re(-F/W)):F=re(F/W),X*=W),typeof g==\"number\"&&(W=g|0,W<0?(N+=G*(q-1),q=re(-q/W)):q=re(q/W),G*=W),new k(this.data,P,T,F,q,V,H,X,G,N)},A.transpose=function(_,C,M,g){_=_===void 0?0:_|0,C=C===void 0?1:C|0,M=M===void 0?2:M|0,g=g===void 0?3:g|0;var P=this.shape,T=this.stride;return new k(this.data,P[_],P[C],P[M],P[g],T[_],T[C],T[M],T[g],this.offset)},A.pick=function(_,C,M,g){var P=[],T=[],F=this.offset;typeof _==\"number\"&&_>=0?F=F+this.stride[0]*_|0:(P.push(this.shape[0]),T.push(this.stride[0])),typeof C==\"number\"&&C>=0?F=F+this.stride[1]*C|0:(P.push(this.shape[1]),T.push(this.stride[1])),typeof M==\"number\"&&M>=0?F=F+this.stride[2]*M|0:(P.push(this.shape[2]),T.push(this.stride[2])),typeof g==\"number\"&&g>=0?F=F+this.stride[3]*g|0:(P.push(this.shape[3]),T.push(this.stride[3]));var q=p[P.length+1];return q(this.data,P,T,F)},function(_,C,M,g){return new k(_,C[0],C[1],C[2],C[3],M[0],M[1],M[2],M[3],g)}},5:function(p,E,k){function A(_,C,M,g,P,T,F,q,V,H,X,G){this.data=_,this.shape=[C,M,g,P,T],this.stride=[F,q,V,H,X],this.offset=G|0}var L=A.prototype;return L.dtype=p,L.dimension=5,Object.defineProperty(L,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(L,\"order\",{get:k}),L.set=function(C,M,g,P,T,F){return p===\"generic\"?this.data.set(this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T,F):this.data[this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T]=F},L.get=function(C,M,g,P,T){return p===\"generic\"?this.data.get(this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T):this.data[this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T]},L.index=function(C,M,g,P,T){return this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T},L.hi=function(C,M,g,P,T){return new A(this.data,typeof C!=\"number\"||C<0?this.shape[0]:C|0,typeof M!=\"number\"||M<0?this.shape[1]:M|0,typeof g!=\"number\"||g<0?this.shape[2]:g|0,typeof P!=\"number\"||P<0?this.shape[3]:P|0,typeof T!=\"number\"||T<0?this.shape[4]:T|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},L.lo=function(C,M,g,P,T){var F=this.offset,q=0,V=this.shape[0],H=this.shape[1],X=this.shape[2],G=this.shape[3],N=this.shape[4],W=this.stride[0],re=this.stride[1],ae=this.stride[2],_e=this.stride[3],Me=this.stride[4];return typeof C==\"number\"&&C>=0&&(q=C|0,F+=W*q,V-=q),typeof M==\"number\"&&M>=0&&(q=M|0,F+=re*q,H-=q),typeof g==\"number\"&&g>=0&&(q=g|0,F+=ae*q,X-=q),typeof P==\"number\"&&P>=0&&(q=P|0,F+=_e*q,G-=q),typeof T==\"number\"&&T>=0&&(q=T|0,F+=Me*q,N-=q),new A(this.data,V,H,X,G,N,W,re,ae,_e,Me,F)},L.step=function(C,M,g,P,T){var F=this.shape[0],q=this.shape[1],V=this.shape[2],H=this.shape[3],X=this.shape[4],G=this.stride[0],N=this.stride[1],W=this.stride[2],re=this.stride[3],ae=this.stride[4],_e=this.offset,Me=0,ke=Math.ceil;return typeof C==\"number\"&&(Me=C|0,Me<0?(_e+=G*(F-1),F=ke(-F/Me)):F=ke(F/Me),G*=Me),typeof M==\"number\"&&(Me=M|0,Me<0?(_e+=N*(q-1),q=ke(-q/Me)):q=ke(q/Me),N*=Me),typeof g==\"number\"&&(Me=g|0,Me<0?(_e+=W*(V-1),V=ke(-V/Me)):V=ke(V/Me),W*=Me),typeof P==\"number\"&&(Me=P|0,Me<0?(_e+=re*(H-1),H=ke(-H/Me)):H=ke(H/Me),re*=Me),typeof T==\"number\"&&(Me=T|0,Me<0?(_e+=ae*(X-1),X=ke(-X/Me)):X=ke(X/Me),ae*=Me),new A(this.data,F,q,V,H,X,G,N,W,re,ae,_e)},L.transpose=function(C,M,g,P,T){C=C===void 0?0:C|0,M=M===void 0?1:M|0,g=g===void 0?2:g|0,P=P===void 0?3:P|0,T=T===void 0?4:T|0;var F=this.shape,q=this.stride;return new A(this.data,F[C],F[M],F[g],F[P],F[T],q[C],q[M],q[g],q[P],q[T],this.offset)},L.pick=function(C,M,g,P,T){var F=[],q=[],V=this.offset;typeof C==\"number\"&&C>=0?V=V+this.stride[0]*C|0:(F.push(this.shape[0]),q.push(this.stride[0])),typeof M==\"number\"&&M>=0?V=V+this.stride[1]*M|0:(F.push(this.shape[1]),q.push(this.stride[1])),typeof g==\"number\"&&g>=0?V=V+this.stride[2]*g|0:(F.push(this.shape[2]),q.push(this.stride[2])),typeof P==\"number\"&&P>=0?V=V+this.stride[3]*P|0:(F.push(this.shape[3]),q.push(this.stride[3])),typeof T==\"number\"&&T>=0?V=V+this.stride[4]*T|0:(F.push(this.shape[4]),q.push(this.stride[4]));var H=E[F.length+1];return H(this.data,F,q,V)},function(C,M,g,P){return new A(C,M[0],M[1],M[2],M[3],M[4],g[0],g[1],g[2],g[3],g[4],P)}}};function h(b,p){var E=p===-1?\"T\":String(p),k=f[E];return p===-1?k(b):p===0?k(b,v[b][0]):k(b,v[b],c)}function d(b){if(s(b))return\"buffer\";if(l)switch(Object.prototype.toString.call(b)){case\"[object Float64Array]\":return\"float64\";case\"[object Float32Array]\":return\"float32\";case\"[object Int8Array]\":return\"int8\";case\"[object Int16Array]\":return\"int16\";case\"[object Int32Array]\":return\"int32\";case\"[object Uint8ClampedArray]\":return\"uint8_clamped\";case\"[object Uint8Array]\":return\"uint8\";case\"[object Uint16Array]\":return\"uint16\";case\"[object Uint32Array]\":return\"uint32\";case\"[object BigInt64Array]\":return\"bigint64\";case\"[object BigUint64Array]\":return\"biguint64\"}return Array.isArray(b)?\"array\":\"generic\"}var v={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};function x(b,p,E,k){if(b===void 0){var g=v.array[0];return g([])}else typeof b==\"number\"&&(b=[b]);p===void 0&&(p=[b.length]);var A=p.length;if(E===void 0){E=new Array(A);for(var L=A-1,_=1;L>=0;--L)E[L]=_,_*=p[L]}if(k===void 0){k=0;for(var L=0;L<A;++L)E[L]<0&&(k-=(p[L]-1)*E[L])}for(var C=d(b),M=v[C];M.length<=A+1;)M.push(h(C,M.length-1));var g=M[A+1];return g(b,p,E,k)}i.exports=x},1278:function(i,a,o){\"use strict\";var s=o(2361),l=Math.pow(2,-1074),u=-1>>>0;i.exports=c;function c(f,h){if(isNaN(f)||isNaN(h))return NaN;if(f===h)return f;if(f===0)return h<0?-l:l;var d=s.hi(f),v=s.lo(f);return h>f==f>0?v===u?(d+=1,v=0):v+=1:v===0?(v=u,d-=1):v-=1,s.pack(v,d)}},8406:function(i,a){var o=1e-6,s=1e-6;a.vertexNormals=function(l,u,c){for(var f=u.length,h=new Array(f),d=c===void 0?o:c,v=0;v<f;++v)h[v]=[0,0,0];for(var v=0;v<l.length;++v)for(var x=l[v],b=0,p=x[x.length-1],E=x[0],k=0;k<x.length;++k){b=p,p=E,E=x[(k+1)%x.length];for(var A=u[b],L=u[p],_=u[E],C=new Array(3),M=0,g=new Array(3),P=0,T=0;T<3;++T)C[T]=A[T]-L[T],M+=C[T]*C[T],g[T]=_[T]-L[T],P+=g[T]*g[T];if(M*P>d)for(var F=h[p],q=1/Math.sqrt(M*P),T=0;T<3;++T){var V=(T+1)%3,H=(T+2)%3;F[T]+=q*(g[V]*C[H]-g[H]*C[V])}}for(var v=0;v<f;++v){for(var F=h[v],X=0,T=0;T<3;++T)X+=F[T]*F[T];if(X>d)for(var q=1/Math.sqrt(X),T=0;T<3;++T)F[T]*=q;else for(var T=0;T<3;++T)F[T]=0}return h},a.faceNormals=function(l,u,c){for(var f=l.length,h=new Array(f),d=c===void 0?s:c,v=0;v<f;++v){for(var x=l[v],b=new Array(3),p=0;p<3;++p)b[p]=u[x[p]];for(var E=new Array(3),k=new Array(3),p=0;p<3;++p)E[p]=b[1][p]-b[0][p],k[p]=b[2][p]-b[0][p];for(var A=new Array(3),L=0,p=0;p<3;++p){var _=(p+1)%3,C=(p+2)%3;A[p]=E[_]*k[C]-E[C]*k[_],L+=A[p]*A[p]}L>d?L=1/Math.sqrt(L):L=0;for(var p=0;p<3;++p)A[p]*=L;h[v]=A}return h}},4081:function(i){\"use strict\";i.exports=a;function a(o,s,l,u,c,f,h,d,v,x){var b=s+f+x;if(p>0){var p=Math.sqrt(b+1);o[0]=.5*(h-v)/p,o[1]=.5*(d-u)/p,o[2]=.5*(l-f)/p,o[3]=.5*p}else{var E=Math.max(s,f,x),p=Math.sqrt(2*E-b+1);s>=E?(o[0]=.5*p,o[1]=.5*(c+l)/p,o[2]=.5*(d+u)/p,o[3]=.5*(h-v)/p):f>=E?(o[0]=.5*(l+c)/p,o[1]=.5*p,o[2]=.5*(v+h)/p,o[3]=.5*(d-u)/p):(o[0]=.5*(u+d)/p,o[1]=.5*(h+v)/p,o[2]=.5*p,o[3]=.5*(l-c)/p)}return o}},9977:function(i,a,o){\"use strict\";i.exports=p;var s=o(9215),l=o(6582),u=o(7399),c=o(7608),f=o(4081);function h(E,k,A){return Math.sqrt(Math.pow(E,2)+Math.pow(k,2)+Math.pow(A,2))}function d(E,k,A,L){return Math.sqrt(Math.pow(E,2)+Math.pow(k,2)+Math.pow(A,2)+Math.pow(L,2))}function v(E,k){var A=k[0],L=k[1],_=k[2],C=k[3],M=d(A,L,_,C);M>1e-6?(E[0]=A/M,E[1]=L/M,E[2]=_/M,E[3]=C/M):(E[0]=E[1]=E[2]=0,E[3]=1)}function x(E,k,A){this.radius=s([A]),this.center=s(k),this.rotation=s(E),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var b=x.prototype;b.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},b.recalcMatrix=function(E){this.radius.curve(E),this.center.curve(E),this.rotation.curve(E);var k=this.computedRotation;v(k,k);var A=this.computedMatrix;u(A,k);var L=this.computedCenter,_=this.computedEye,C=this.computedUp,M=Math.exp(this.computedRadius[0]);_[0]=L[0]+M*A[2],_[1]=L[1]+M*A[6],_[2]=L[2]+M*A[10],C[0]=A[1],C[1]=A[5],C[2]=A[9];for(var g=0;g<3;++g){for(var P=0,T=0;T<3;++T)P+=A[g+4*T]*_[T];A[12+g]=-P}},b.getMatrix=function(E,k){this.recalcMatrix(E);var A=this.computedMatrix;if(k){for(var L=0;L<16;++L)k[L]=A[L];return k}return A},b.idle=function(E){this.center.idle(E),this.radius.idle(E),this.rotation.idle(E)},b.flush=function(E){this.center.flush(E),this.radius.flush(E),this.rotation.flush(E)},b.pan=function(E,k,A,L){k=k||0,A=A||0,L=L||0,this.recalcMatrix(E);var _=this.computedMatrix,C=_[1],M=_[5],g=_[9],P=h(C,M,g);C/=P,M/=P,g/=P;var T=_[0],F=_[4],q=_[8],V=T*C+F*M+q*g;T-=C*V,F-=M*V,q-=g*V;var H=h(T,F,q);T/=H,F/=H,q/=H;var X=_[2],G=_[6],N=_[10],W=X*C+G*M+N*g,re=X*T+G*F+N*q;X-=W*C+re*T,G-=W*M+re*F,N-=W*g+re*q;var ae=h(X,G,N);X/=ae,G/=ae,N/=ae;var _e=T*k+C*A,Me=F*k+M*A,ke=q*k+g*A;this.center.move(E,_e,Me,ke);var ge=Math.exp(this.computedRadius[0]);ge=Math.max(1e-4,ge+L),this.radius.set(E,Math.log(ge))},b.rotate=function(E,k,A,L){this.recalcMatrix(E),k=k||0,A=A||0;var _=this.computedMatrix,C=_[0],M=_[4],g=_[8],P=_[1],T=_[5],F=_[9],q=_[2],V=_[6],H=_[10],X=k*C+A*P,G=k*M+A*T,N=k*g+A*F,W=-(V*N-H*G),re=-(H*X-q*N),ae=-(q*G-V*X),_e=Math.sqrt(Math.max(0,1-Math.pow(W,2)-Math.pow(re,2)-Math.pow(ae,2))),Me=d(W,re,ae,_e);Me>1e-6?(W/=Me,re/=Me,ae/=Me,_e/=Me):(W=re=ae=0,_e=1);var ke=this.computedRotation,ge=ke[0],ie=ke[1],Te=ke[2],Ee=ke[3],Ae=ge*_e+Ee*W+ie*ae-Te*re,ze=ie*_e+Ee*re+Te*W-ge*ae,Ce=Te*_e+Ee*ae+ge*re-ie*W,me=Ee*_e-ge*W-ie*re-Te*ae;if(L){W=q,re=V,ae=H;var Re=Math.sin(L)/h(W,re,ae);W*=Re,re*=Re,ae*=Re,_e=Math.cos(k),Ae=Ae*_e+me*W+ze*ae-Ce*re,ze=ze*_e+me*re+Ce*W-Ae*ae,Ce=Ce*_e+me*ae+Ae*re-ze*W,me=me*_e-Ae*W-ze*re-Ce*ae}var ce=d(Ae,ze,Ce,me);ce>1e-6?(Ae/=ce,ze/=ce,Ce/=ce,me/=ce):(Ae=ze=Ce=0,me=1),this.rotation.set(E,Ae,ze,Ce,me)},b.lookAt=function(E,k,A,L){this.recalcMatrix(E),A=A||this.computedCenter,k=k||this.computedEye,L=L||this.computedUp;var _=this.computedMatrix;l(_,k,A,L);var C=this.computedRotation;f(C,_[0],_[1],_[2],_[4],_[5],_[6],_[8],_[9],_[10]),v(C,C),this.rotation.set(E,C[0],C[1],C[2],C[3]);for(var M=0,g=0;g<3;++g)M+=Math.pow(A[g]-k[g],2);this.radius.set(E,.5*Math.log(Math.max(M,1e-6))),this.center.set(E,A[0],A[1],A[2])},b.translate=function(E,k,A,L){this.center.move(E,k||0,A||0,L||0)},b.setMatrix=function(E,k){var A=this.computedRotation;f(A,k[0],k[1],k[2],k[4],k[5],k[6],k[8],k[9],k[10]),v(A,A),this.rotation.set(E,A[0],A[1],A[2],A[3]);var L=this.computedMatrix;c(L,k);var _=L[15];if(Math.abs(_)>1e-6){var C=L[12]/_,M=L[13]/_,g=L[14]/_;this.recalcMatrix(E);var P=Math.exp(this.computedRadius[0]);this.center.set(E,C-L[2]*P,M-L[6]*P,g-L[10]*P),this.radius.idle(E)}else this.center.idle(E),this.radius.idle(E)},b.setDistance=function(E,k){k>0&&this.radius.set(E,Math.log(k))},b.setDistanceLimits=function(E,k){E>0?E=Math.log(E):E=-1/0,k>0?k=Math.log(k):k=1/0,k=Math.max(k,E),this.radius.bounds[0][0]=E,this.radius.bounds[1][0]=k},b.getDistanceLimits=function(E){var k=this.radius.bounds;return E?(E[0]=Math.exp(k[0][0]),E[1]=Math.exp(k[1][0]),E):[Math.exp(k[0][0]),Math.exp(k[1][0])]},b.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]}},b.fromJSON=function(E){var k=this.lastT(),A=E.center;A&&this.center.set(k,A[0],A[1],A[2]);var L=E.rotation;L&&this.rotation.set(k,L[0],L[1],L[2],L[3]);var _=E.distance;_&&_>0&&this.radius.set(k,Math.log(_)),this.setDistanceLimits(E.zoomMin,E.zoomMax)};function p(E){E=E||{};var k=E.center||[0,0,0],A=E.rotation||[0,0,0,1],L=E.radius||1;k=[].slice.call(k,0,3),A=[].slice.call(A,0,4),v(A,A);var _=new x(A,k,Math.log(L));return _.setDistanceLimits(E.zoomMin,E.zoomMax),(\"eye\"in E||\"up\"in E)&&_.lookAt(0,E.eye,E.center,E.up),_}},1371:function(i,a,o){\"use strict\";var s=o(3233);i.exports=function(u,c,f){return f=typeof f!=\"undefined\"?f+\"\":\" \",s(f,c)+u}},3202:function(i){i.exports=function(o,s){s||(s=[0,\"\"]),o=String(o);var l=parseFloat(o,10);return s[0]=l,s[1]=o.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",s}},3088:function(i,a,o){\"use strict\";i.exports=l;var s=o(3140);function l(u,c){for(var f=c.length|0,h=u.length,d=[new Array(f),new Array(f)],v=0;v<f;++v)d[0][v]=[],d[1][v]=[];for(var v=0;v<h;++v){var x=u[v];d[0][x[0]].push(x),d[1][x[1]].push(x)}for(var b=[],v=0;v<f;++v)d[0][v].length+d[1][v].length===0&&b.push([v]);function p(g,P){var T=d[P][g[P]];T.splice(T.indexOf(g),1)}function E(g,P,T){for(var F,q,V,H=0;H<2;++H)if(d[H][P].length>0){F=d[H][P][0],V=H;break}q=F[V^1];for(var X=0;X<2;++X)for(var G=d[X][P],N=0;N<G.length;++N){var W=G[N],re=W[X^1],ae=s(c[g],c[P],c[q],c[re]);ae>0&&(F=W,q=re,V=X)}return T||F&&p(F,V),q}function k(g,P){var T=d[P][g][0],F=[g];p(T,P);for(var q=T[P^1],V=P;;){for(;q!==g;)F.push(q),q=E(F[F.length-2],q,!1);if(d[0][g].length+d[1][g].length===0)break;var H=F[F.length-1],X=g,G=F[1],N=E(H,X,!0);if(s(c[H],c[X],c[G],c[N])<0)break;F.push(g),q=E(H,X)}return F}function A(g,P){return P[1]===P[P.length-1]}for(var v=0;v<f;++v)for(var L=0;L<2;++L){for(var _=[];d[L][v].length>0;){var C=d[0][v].length,M=k(v,L);A(_,M)?_.push.apply(_,M):(_.length>0&&b.push(_),_=M)}_.length>0&&b.push(_)}return b}},5609:function(i,a,o){\"use strict\";i.exports=l;var s=o(3134);function l(u,c){for(var f=s(u,c.length),h=new Array(c.length),d=new Array(c.length),v=[],x=0;x<c.length;++x){var b=f[x].length;d[x]=b,h[x]=!0,b<=1&&v.push(x)}for(;v.length>0;){var p=v.pop();h[p]=!1;for(var E=f[p],x=0;x<E.length;++x){var k=E[x];--d[k]===0&&v.push(k)}}for(var A=new Array(c.length),L=[],x=0;x<c.length;++x)if(h[x]){var p=L.length;A[x]=p,L.push(c[x])}else A[x]=-1;for(var _=[],x=0;x<u.length;++x){var C=u[x];h[C[0]]&&h[C[1]]&&_.push([A[C[0]],A[C[1]]])}return[_,L]}},2095:function(i,a,o){\"use strict\";i.exports=b;var s=o(3134),l=o(3088),u=o(5085),c=o(5250),f=o(8210),h=o(1682),d=o(5609);function v(p,E){for(var k=new Array(p),A=0;A<p;++A)k[A]=E;return k}function x(p){for(var E=new Array(p),k=0;k<p;++k)E[k]=[];return E}function b(p,E){var Re=d(p,E);p=Re[0],E=Re[1];for(var k=E.length,A=p.length,L=s(p,E.length),_=0;_<k;++_)if(L[_].length%2===1)throw new Error(\"planar-graph-to-polyline: graph must be manifold\");var C=l(p,E);function M(ot){for(var Rt=ot.length,kt=[0],Ct=0;Ct<Rt;++Ct){var Yt=E[ot[Ct]],xr=E[ot[(Ct+1)%Rt]],er=c(-Yt[0],Yt[1]),Ke=c(-Yt[0],xr[1]),xt=c(xr[0],Yt[1]),bt=c(xr[0],xr[1]);kt=f(kt,f(f(er,Ke),f(xt,bt)))}return kt[kt.length-1]>0}C=C.filter(M);for(var g=C.length,P=new Array(g),T=new Array(g),_=0;_<g;++_){P[_]=_;var F=new Array(g),q=C[_].map(function(Rt){return E[Rt]}),V=u([q]),H=0;e:for(var X=0;X<g;++X)if(F[X]=0,_!==X){for(var G=C[X],N=G.length,W=0;W<N;++W){var re=V(E[G[W]]);if(re!==0){re<0&&(F[X]=1,H+=1);continue e}}F[X]=1,H+=1}T[_]=[H,_,F]}T.sort(function(ot,Rt){return Rt[0]-ot[0]});for(var _=0;_<g;++_)for(var F=T[_],ae=F[1],_e=F[2],X=0;X<g;++X)_e[X]&&(P[X]=ae);for(var Me=x(g),_=0;_<g;++_)Me[_].push(P[_]),Me[P[_]].push(_);for(var ke={},ge=v(k,!1),_=0;_<g;++_)for(var G=C[_],N=G.length,X=0;X<N;++X){var ie=G[X],Te=G[(X+1)%N],Ee=Math.min(ie,Te)+\":\"+Math.max(ie,Te);if(Ee in ke){var Ae=ke[Ee];Me[Ae].push(_),Me[_].push(Ae),ge[ie]=ge[Te]=!0}else ke[Ee]=_}function ze(ot){for(var Rt=ot.length,kt=0;kt<Rt;++kt)if(!ge[ot[kt]])return!1;return!0}for(var Ce=[],me=v(g,-1),_=0;_<g;++_)P[_]===_&&!ze(C[_])?(Ce.push(_),me[_]=0):me[_]=-1;for(var Re=[];Ce.length>0;){var ce=Ce.pop(),Ge=Me[ce];h(Ge,function(ot,Rt){return ot-Rt});var nt=Ge.length,ct=me[ce],qt;if(ct===0){var G=C[ce];qt=[G]}for(var _=0;_<nt;++_){var rt=Ge[_];if(!(me[rt]>=0)&&(me[rt]=ct^1,Ce.push(rt),ct===0)){var G=C[rt];ze(G)||(G.reverse(),qt.push(G))}}ct===0&&Re.push(qt)}return Re}},5085:function(i,a,o){i.exports=E;var s=o(3250)[3],l=o(4209),u=o(3352),c=o(2478);function f(){return!0}function h(k){return function(A,L){var _=k[A];return _?!!_.queryPoint(L,f):!1}}function d(k){for(var A={},L=0;L<k.length;++L){var _=k[L],C=_[0][0],M=_[0][1],g=_[1][1],P=[Math.min(M,g),Math.max(M,g)];C in A?A[C].push(P):A[C]=[P]}for(var T={},F=Object.keys(A),L=0;L<F.length;++L){var q=A[F[L]];T[F[L]]=u(q)}return h(T)}function v(k,A){return function(L){var _=c.le(A,L[0]);if(_<0)return 1;var C=k[_];if(!C)if(_>0&&A[_]===L[0])C=k[_-1];else return 1;for(var M=1;C;){var g=C.key,P=s(L,g[0],g[1]);if(g[0][0]<g[1][0])if(P<0)C=C.left;else if(P>0)M=-1,C=C.right;else return 0;else if(P>0)C=C.left;else if(P<0)M=1,C=C.right;else return 0}return M}}function x(k){return 1}function b(k){return function(L){return k(L[0],L[1])?0:1}}function p(k,A){return function(_){return k(_[0],_[1])?0:A(_)}}function E(k){for(var A=k.length,L=[],_=[],C=0,M=0;M<A;++M)for(var g=k[M],P=g.length,T=P-1,F=0;F<P;T=F++){var q=g[T],V=g[F];q[0]===V[0]?_.push([q,V]):L.push([q,V])}if(L.length===0)return _.length===0?x:b(d(_));var H=l(L),X=v(H.slabs,H.coordinates);return _.length===0?X:p(d(_),X)}},9346:function(i){\"use strict\";var a=new Float64Array(4),o=new Float64Array(4),s=new Float64Array(4);function l(u,c,f,h,d){a.length<h.length&&(a=new Float64Array(h.length),o=new Float64Array(h.length),s=new Float64Array(h.length));for(var v=0;v<h.length;++v)a[v]=u[v]-h[v],o[v]=c[v]-u[v],s[v]=f[v]-u[v];for(var x=0,b=0,p=0,E=0,k=0,A=0,v=0;v<h.length;++v){var L=o[v],_=s[v],C=a[v];x+=L*L,b+=L*_,p+=_*_,E+=C*L,k+=C*_,A+=C*C}var M=Math.abs(x*p-b*b),g=b*k-p*E,P=b*E-x*k,T;if(g+P<=M)if(g<0)P<0&&E<0?(P=0,-E>=x?(g=1,T=x+2*E+A):(g=-E/x,T=E*g+A)):(g=0,k>=0?(P=0,T=A):-k>=p?(P=1,T=p+2*k+A):(P=-k/p,T=k*P+A));else if(P<0)P=0,E>=0?(g=0,T=A):-E>=x?(g=1,T=x+2*E+A):(g=-E/x,T=E*g+A);else{var F=1/M;g*=F,P*=F,T=g*(x*g+b*P+2*E)+P*(b*g+p*P+2*k)+A}else{var q,V,H,X;g<0?(q=b+E,V=p+k,V>q?(H=V-q,X=x-2*b+p,H>=X?(g=1,P=0,T=x+2*E+A):(g=H/X,P=1-g,T=g*(x*g+b*P+2*E)+P*(b*g+p*P+2*k)+A)):(g=0,V<=0?(P=1,T=p+2*k+A):k>=0?(P=0,T=A):(P=-k/p,T=k*P+A))):P<0?(q=b+k,V=x+E,V>q?(H=V-q,X=x-2*b+p,H>=X?(P=1,g=0,T=p+2*k+A):(P=H/X,g=1-P,T=g*(x*g+b*P+2*E)+P*(b*g+p*P+2*k)+A)):(P=0,V<=0?(g=1,T=x+2*E+A):E>=0?(g=0,T=A):(g=-E/x,T=E*g+A))):(H=p+k-b-E,H<=0?(g=0,P=1,T=p+2*k+A):(X=x-2*b+p,H>=X?(g=1,P=0,T=x+2*E+A):(g=H/X,P=1-g,T=g*(x*g+b*P+2*E)+P*(b*g+p*P+2*k)+A)))}for(var G=1-g-P,v=0;v<h.length;++v)d[v]=G*u[v]+g*c[v]+P*f[v];return T<0?0:T}i.exports=l},8648:function(i,a,o){i.exports=o(783)},2653:function(i,a,o){\"use strict\";var s=o(3865);i.exports=l;function l(u,c){for(var f=u.length,h=new Array(f),d=0;d<f;++d)h[d]=s(u[d],c[d]);return h}},5838:function(i,a,o){\"use strict\";i.exports=l;var s=o(7842);function l(u){for(var c=new Array(u.length),f=0;f<u.length;++f)c[f]=s(u[f]);return c}},8987:function(i,a,o){\"use strict\";var s=o(7842),l=o(6504);i.exports=u;function u(c,f){for(var h=s(f),d=c.length,v=new Array(d),x=0;x<d;++x)v[x]=l(c[x],h);return v}},544:function(i,a,o){\"use strict\";var s=o(5572);i.exports=l;function l(u,c){for(var f=u.length,h=new Array(f),d=0;d<f;++d)h[d]=s(u[d],c[d]);return h}},5771:function(i,a,o){\"use strict\";var s=o(8507),l=o(3788),u=o(2419);i.exports=c;function c(f){f.sort(l);for(var h=f.length,d=0,v=0;v<h;++v){var x=f[v],b=u(x);if(b!==0){if(d>0){var p=f[d-1];if(s(x,p)===0&&u(p)!==b){d-=1;continue}}f[d++]=x}}return f.length=d,f}},3233:function(i){\"use strict\";var a=\"\",o;i.exports=s;function s(l,u){if(typeof l!=\"string\")throw new TypeError(\"expected a string\");if(u===1)return l;if(u===2)return l+l;var c=l.length*u;if(o!==l||typeof o==\"undefined\")o=l,a=\"\";else if(a.length>=c)return a.substr(0,c);for(;c>a.length&&u>1;)u&1&&(a+=l),u>>=1,l+=l;return a+=l,a=a.substr(0,c),a}},3025:function(i,a,o){i.exports=o.g.performance&&o.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(i){\"use strict\";i.exports=a;function a(o){for(var s=o.length,l=o[o.length-1],u=s,c=s-2;c>=0;--c){var f=l,h=o[c];l=f+h;var d=l-f,v=h-d;v&&(o[--u]=l,l=v)}for(var x=0,c=u;c<s;++c){var f=o[c],h=l;l=f+h;var d=l-f,v=h-d;v&&(o[x++]=v)}return o[x++]=l,o.length=x,o}},2962:function(i,a,o){\"use strict\";var s=o(5250),l=o(8210),u=o(3012),c=o(7004),f=6;function h(A,L,_,C){return function(g){return C(A(_(g[0][0],g[1][1]),_(-g[0][1],g[1][0])))}}function d(A,L,_,C){return function(g){return C(A(L(A(_(g[1][1],g[2][2]),_(-g[1][2],g[2][1])),g[0][0]),A(L(A(_(g[1][0],g[2][2]),_(-g[1][2],g[2][0])),-g[0][1]),L(A(_(g[1][0],g[2][1]),_(-g[1][1],g[2][0])),g[0][2]))))}}function v(A,L,_,C){return function(g){return C(A(A(L(A(L(A(_(g[2][2],g[3][3]),_(-g[2][3],g[3][2])),g[1][1]),A(L(A(_(g[2][1],g[3][3]),_(-g[2][3],g[3][1])),-g[1][2]),L(A(_(g[2][1],g[3][2]),_(-g[2][2],g[3][1])),g[1][3]))),g[0][0]),L(A(L(A(_(g[2][2],g[3][3]),_(-g[2][3],g[3][2])),g[1][0]),A(L(A(_(g[2][0],g[3][3]),_(-g[2][3],g[3][0])),-g[1][2]),L(A(_(g[2][0],g[3][2]),_(-g[2][2],g[3][0])),g[1][3]))),-g[0][1])),A(L(A(L(A(_(g[2][1],g[3][3]),_(-g[2][3],g[3][1])),g[1][0]),A(L(A(_(g[2][0],g[3][3]),_(-g[2][3],g[3][0])),-g[1][1]),L(A(_(g[2][0],g[3][1]),_(-g[2][1],g[3][0])),g[1][3]))),g[0][2]),L(A(L(A(_(g[2][1],g[3][2]),_(-g[2][2],g[3][1])),g[1][0]),A(L(A(_(g[2][0],g[3][2]),_(-g[2][2],g[3][0])),-g[1][1]),L(A(_(g[2][0],g[3][1]),_(-g[2][1],g[3][0])),g[1][2]))),-g[0][3]))))}}function x(A,L,_,C){return function(g){return C(A(A(L(A(A(L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][2]),A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),-g[2][3]),L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][4]))),g[1][1]),L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][1]),A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),-g[2][3]),L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),g[2][4]))),-g[1][2])),A(L(A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),g[2][1]),A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),-g[2][2]),L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][4]))),g[1][3]),L(A(L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][1]),A(L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),-g[2][2]),L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][3]))),-g[1][4]))),g[0][0]),L(A(A(L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][2]),A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),-g[2][3]),L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][4]))),g[1][0]),L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][3]),L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),g[2][4]))),-g[1][2])),A(L(A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][2]),L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),g[2][4]))),g[1][3]),L(A(L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][0]),A(L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),-g[2][2]),L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),g[2][3]))),-g[1][4]))),-g[0][1])),A(L(A(A(L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][1]),A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),-g[2][3]),L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),g[2][4]))),g[1][0]),L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][3]),L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),g[2][4]))),-g[1][1])),A(L(A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][4]))),g[1][3]),L(A(L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][3]))),-g[1][4]))),g[0][2]),A(L(A(A(L(A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),g[2][1]),A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),-g[2][2]),L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][4]))),g[1][0]),L(A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][2]),L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),g[2][4]))),-g[1][1])),A(L(A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][4]))),g[1][2]),L(A(L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][2]))),-g[1][4]))),-g[0][3]),L(A(A(L(A(L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][1]),A(L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),-g[2][2]),L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][3]))),g[1][0]),L(A(L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][0]),A(L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),-g[2][2]),L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),g[2][3]))),-g[1][1])),A(L(A(L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][3]))),g[1][2]),L(A(L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][2]))),-g[1][3]))),g[0][4])))))}}function b(A){var L=A===2?h:A===3?d:A===4?v:A===5?x:void 0;return L(l,u,s,c)}var p=[function(){return[0]},function(L){return[L[0][0]]}];function E(A,L,_,C,M,g,P,T){return function(q){switch(q.length){case 0:return A(q);case 1:return L(q);case 2:return _(q);case 3:return C(q);case 4:return M(q);case 5:return g(q)}var V=P[q.length];return V||(V=P[q.length]=T(q.length)),V(q)}}function k(){for(;p.length<f;)p.push(b(p.length));i.exports=E.apply(void 0,p.concat([p,b]));for(var A=0;A<p.length;++A)i.exports[A]=p[A]}k()},1944:function(i,a,o){\"use strict\";var s=o(5250),l=o(8210);i.exports=u;function u(c,f){for(var h=s(c[0],f[0]),d=1;d<c.length;++d)h=l(h,s(c[d],f[d]));return h}},2646:function(i,a,o){\"use strict\";var s=o(5250),l=o(8210),u=o(8545),c=o(3012),f=6;function h(M){var g=M===3?b:M===4?p:M===5?E:k;return g(l,u,s,c)}function d(){return 0}function v(){return 0}function x(){return 0}function b(M,g,P,T){function F(q,V,H){var X=P(q[0],q[0]),G=T(X,V[0]),N=T(X,H[0]),W=P(V[0],V[0]),re=T(W,q[0]),ae=T(W,H[0]),_e=P(H[0],H[0]),Me=T(_e,q[0]),ke=T(_e,V[0]),ge=M(g(ke,ae),g(re,G)),ie=g(Me,N),Te=g(ge,ie);return Te[Te.length-1]}return F}function p(M,g,P,T){function F(q,V,H,X){var G=M(P(q[0],q[0]),P(q[1],q[1])),N=T(G,V[0]),W=T(G,H[0]),re=T(G,X[0]),ae=M(P(V[0],V[0]),P(V[1],V[1])),_e=T(ae,q[0]),Me=T(ae,H[0]),ke=T(ae,X[0]),ge=M(P(H[0],H[0]),P(H[1],H[1])),ie=T(ge,q[0]),Te=T(ge,V[0]),Ee=T(ge,X[0]),Ae=M(P(X[0],X[0]),P(X[1],X[1])),ze=T(Ae,q[0]),Ce=T(Ae,V[0]),me=T(Ae,H[0]),Re=M(M(T(g(me,Ee),V[1]),M(T(g(Ce,ke),-H[1]),T(g(Te,Me),X[1]))),M(T(g(Ce,ke),q[1]),M(T(g(ze,re),-V[1]),T(g(_e,N),X[1])))),ce=M(M(T(g(me,Ee),q[1]),M(T(g(ze,re),-H[1]),T(g(ie,W),X[1]))),M(T(g(Te,Me),q[1]),M(T(g(ie,W),-V[1]),T(g(_e,N),H[1])))),Ge=g(Re,ce);return Ge[Ge.length-1]}return F}function E(M,g,P,T){function F(q,V,H,X,G){var N=M(P(q[0],q[0]),M(P(q[1],q[1]),P(q[2],q[2]))),W=T(N,V[0]),re=T(N,H[0]),ae=T(N,X[0]),_e=T(N,G[0]),Me=M(P(V[0],V[0]),M(P(V[1],V[1]),P(V[2],V[2]))),ke=T(Me,q[0]),ge=T(Me,H[0]),ie=T(Me,X[0]),Te=T(Me,G[0]),Ee=M(P(H[0],H[0]),M(P(H[1],H[1]),P(H[2],H[2]))),Ae=T(Ee,q[0]),ze=T(Ee,V[0]),Ce=T(Ee,X[0]),me=T(Ee,G[0]),Re=M(P(X[0],X[0]),M(P(X[1],X[1]),P(X[2],X[2]))),ce=T(Re,q[0]),Ge=T(Re,V[0]),nt=T(Re,H[0]),ct=T(Re,G[0]),qt=M(P(G[0],G[0]),M(P(G[1],G[1]),P(G[2],G[2]))),rt=T(qt,q[0]),ot=T(qt,V[0]),Rt=T(qt,H[0]),kt=T(qt,X[0]),Ct=M(M(M(T(M(T(g(kt,ct),H[1]),M(T(g(Rt,me),-X[1]),T(g(nt,Ce),G[1]))),V[2]),M(T(M(T(g(kt,ct),V[1]),M(T(g(ot,Te),-X[1]),T(g(Ge,ie),G[1]))),-H[2]),T(M(T(g(Rt,me),V[1]),M(T(g(ot,Te),-H[1]),T(g(ze,ge),G[1]))),X[2]))),M(T(M(T(g(nt,Ce),V[1]),M(T(g(Ge,ie),-H[1]),T(g(ze,ge),X[1]))),-G[2]),M(T(M(T(g(kt,ct),V[1]),M(T(g(ot,Te),-X[1]),T(g(Ge,ie),G[1]))),q[2]),T(M(T(g(kt,ct),q[1]),M(T(g(rt,_e),-X[1]),T(g(ce,ae),G[1]))),-V[2])))),M(M(T(M(T(g(ot,Te),q[1]),M(T(g(rt,_e),-V[1]),T(g(ke,W),G[1]))),X[2]),M(T(M(T(g(Ge,ie),q[1]),M(T(g(ce,ae),-V[1]),T(g(ke,W),X[1]))),-G[2]),T(M(T(g(nt,Ce),V[1]),M(T(g(Ge,ie),-H[1]),T(g(ze,ge),X[1]))),q[2]))),M(T(M(T(g(nt,Ce),q[1]),M(T(g(ce,ae),-H[1]),T(g(Ae,re),X[1]))),-V[2]),M(T(M(T(g(Ge,ie),q[1]),M(T(g(ce,ae),-V[1]),T(g(ke,W),X[1]))),H[2]),T(M(T(g(ze,ge),q[1]),M(T(g(Ae,re),-V[1]),T(g(ke,W),H[1]))),-X[2]))))),Yt=M(M(M(T(M(T(g(kt,ct),H[1]),M(T(g(Rt,me),-X[1]),T(g(nt,Ce),G[1]))),q[2]),T(M(T(g(kt,ct),q[1]),M(T(g(rt,_e),-X[1]),T(g(ce,ae),G[1]))),-H[2])),M(T(M(T(g(Rt,me),q[1]),M(T(g(rt,_e),-H[1]),T(g(Ae,re),G[1]))),X[2]),T(M(T(g(nt,Ce),q[1]),M(T(g(ce,ae),-H[1]),T(g(Ae,re),X[1]))),-G[2]))),M(M(T(M(T(g(Rt,me),V[1]),M(T(g(ot,Te),-H[1]),T(g(ze,ge),G[1]))),q[2]),T(M(T(g(Rt,me),q[1]),M(T(g(rt,_e),-H[1]),T(g(Ae,re),G[1]))),-V[2])),M(T(M(T(g(ot,Te),q[1]),M(T(g(rt,_e),-V[1]),T(g(ke,W),G[1]))),H[2]),T(M(T(g(ze,ge),q[1]),M(T(g(Ae,re),-V[1]),T(g(ke,W),H[1]))),-G[2])))),xr=g(Ct,Yt);return xr[xr.length-1]}return F}function k(M,g,P,T){function F(q,V,H,X,G,N){var W=M(M(P(q[0],q[0]),P(q[1],q[1])),M(P(q[2],q[2]),P(q[3],q[3]))),re=T(W,V[0]),ae=T(W,H[0]),_e=T(W,X[0]),Me=T(W,G[0]),ke=T(W,N[0]),ge=M(M(P(V[0],V[0]),P(V[1],V[1])),M(P(V[2],V[2]),P(V[3],V[3]))),ie=T(ge,q[0]),Te=T(ge,H[0]),Ee=T(ge,X[0]),Ae=T(ge,G[0]),ze=T(ge,N[0]),Ce=M(M(P(H[0],H[0]),P(H[1],H[1])),M(P(H[2],H[2]),P(H[3],H[3]))),me=T(Ce,q[0]),Re=T(Ce,V[0]),ce=T(Ce,X[0]),Ge=T(Ce,G[0]),nt=T(Ce,N[0]),ct=M(M(P(X[0],X[0]),P(X[1],X[1])),M(P(X[2],X[2]),P(X[3],X[3]))),qt=T(ct,q[0]),rt=T(ct,V[0]),ot=T(ct,H[0]),Rt=T(ct,G[0]),kt=T(ct,N[0]),Ct=M(M(P(G[0],G[0]),P(G[1],G[1])),M(P(G[2],G[2]),P(G[3],G[3]))),Yt=T(Ct,q[0]),xr=T(Ct,V[0]),er=T(Ct,H[0]),Ke=T(Ct,X[0]),xt=T(Ct,N[0]),bt=M(M(P(N[0],N[0]),P(N[1],N[1])),M(P(N[2],N[2]),P(N[3],N[3]))),Lt=T(bt,q[0]),St=T(bt,V[0]),Et=T(bt,H[0]),dt=T(bt,X[0]),Ht=T(bt,G[0]),$t=M(M(M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),H[2]),T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),-X[2])),M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),G[2]),T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),-N[2]))),V[3]),M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),V[2]),T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),-X[2])),M(T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),G[2]),T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),-N[2]))),-H[3]),T(M(M(T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),V[2]),T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),-H[2])),M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),G[2]),T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),-N[2]))),X[3]))),M(M(T(M(M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),V[2]),T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),-H[2])),M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),X[2]),T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),-N[2]))),-G[3]),T(M(M(T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),V[2]),T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),-H[2])),M(T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),X[2]),T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),-G[2]))),N[3])),M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),V[2]),T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),-X[2])),M(T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),G[2]),T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),-N[2]))),q[3]),T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-X[2])),M(T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),G[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-N[2]))),-V[3])))),M(M(M(T(M(M(T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),G[2]),T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),-N[2]))),X[3]),T(M(M(T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),q[2]),T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),X[2]),T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),-N[2]))),-G[3])),M(T(M(M(T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),q[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-V[2])),M(T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),X[2]),T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),-G[2]))),N[3]),T(M(M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),V[2]),T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),-H[2])),M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),X[2]),T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),-N[2]))),q[3]))),M(M(T(M(M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),q[2]),T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),-H[2])),M(T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),X[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-N[2]))),-V[3]),T(M(M(T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),q[2]),T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),X[2]),T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),-N[2]))),H[3])),M(T(M(M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),q[2]),T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-N[2]))),-X[3]),T(M(M(T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),q[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-V[2])),M(T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-X[2]))),N[3]))))),fr=M(M(M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),H[2]),T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),-X[2])),M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),G[2]),T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),-N[2]))),q[3]),M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-X[2])),M(T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),G[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-N[2]))),-H[3]),T(M(M(T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-H[2])),M(T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),G[2]),T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),-N[2]))),X[3]))),M(M(T(M(M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),q[2]),T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),-H[2])),M(T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),X[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-N[2]))),-G[3]),T(M(M(T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),q[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-H[2])),M(T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),X[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-G[2]))),N[3])),M(T(M(M(T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),V[2]),T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),-H[2])),M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),G[2]),T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),-N[2]))),q[3]),T(M(M(T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-H[2])),M(T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),G[2]),T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),-N[2]))),-V[3])))),M(M(M(T(M(M(T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),G[2]),T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),-N[2]))),H[3]),T(M(M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),q[2]),T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-N[2]))),-G[3])),M(T(M(M(T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),q[2]),T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),-V[2])),M(T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-G[2]))),N[3]),T(M(M(T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),V[2]),T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),-H[2])),M(T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),X[2]),T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),-G[2]))),q[3]))),M(M(T(M(M(T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),q[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-H[2])),M(T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),X[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-G[2]))),-V[3]),T(M(M(T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),q[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-V[2])),M(T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),X[2]),T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),-G[2]))),H[3])),M(T(M(M(T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),q[2]),T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),-V[2])),M(T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-G[2]))),-X[3]),T(M(M(T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),q[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-V[2])),M(T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-X[2]))),G[3]))))),_r=g($t,fr);return _r[_r.length-1]}return F}var A=[d,v,x];function L(M){var g=A[M.length];return g||(g=A[M.length]=h(M.length)),g.apply(void 0,M)}function _(M,g,P,T,F,q,V,H){function X(G,N,W,re,ae,_e){switch(arguments.length){case 0:case 1:return 0;case 2:return T(G,N);case 3:return F(G,N,W);case 4:return q(G,N,W,re);case 5:return V(G,N,W,re,ae);case 6:return H(G,N,W,re,ae,_e)}for(var Me=new Array(arguments.length),ke=0;ke<arguments.length;++ke)Me[ke]=arguments[ke];return M(Me)}return X}function C(){for(;A.length<=f;)A.push(h(A.length));i.exports=_.apply(void 0,[L].concat(A));for(var M=0;M<=f;++M)i.exports[M]=A[M]}C()},727:function(i,a,o){\"use strict\";var s=o(2962),l=6;function u(A){var L=A===2?h:A===3?d:A===4?v:A===5?x:b;return A<6?L(s[A]):L(s)}function c(){return[[0]]}function f(A,L){return[[L[0]],[A[0][0]]]}function h(A){return function(_,C){return[A([[+C[0],+_[0][1]],[+C[1],+_[1][1]]]),A([[+_[0][0],+C[0]],[+_[1][0],+C[1]]]),A(_)]}}function d(A){return function(_,C){return[A([[+C[0],+_[0][1],+_[0][2]],[+C[1],+_[1][1],+_[1][2]],[+C[2],+_[2][1],+_[2][2]]]),A([[+_[0][0],+C[0],+_[0][2]],[+_[1][0],+C[1],+_[1][2]],[+_[2][0],+C[2],+_[2][2]]]),A([[+_[0][0],+_[0][1],+C[0]],[+_[1][0],+_[1][1],+C[1]],[+_[2][0],+_[2][1],+C[2]]]),A(_)]}}function v(A){return function(_,C){return[A([[+C[0],+_[0][1],+_[0][2],+_[0][3]],[+C[1],+_[1][1],+_[1][2],+_[1][3]],[+C[2],+_[2][1],+_[2][2],+_[2][3]],[+C[3],+_[3][1],+_[3][2],+_[3][3]]]),A([[+_[0][0],+C[0],+_[0][2],+_[0][3]],[+_[1][0],+C[1],+_[1][2],+_[1][3]],[+_[2][0],+C[2],+_[2][2],+_[2][3]],[+_[3][0],+C[3],+_[3][2],+_[3][3]]]),A([[+_[0][0],+_[0][1],+C[0],+_[0][3]],[+_[1][0],+_[1][1],+C[1],+_[1][3]],[+_[2][0],+_[2][1],+C[2],+_[2][3]],[+_[3][0],+_[3][1],+C[3],+_[3][3]]]),A([[+_[0][0],+_[0][1],+_[0][2],+C[0]],[+_[1][0],+_[1][1],+_[1][2],+C[1]],[+_[2][0],+_[2][1],+_[2][2],+C[2]],[+_[3][0],+_[3][1],+_[3][2],+C[3]]]),A(_)]}}function x(A){return function(_,C){return[A([[+C[0],+_[0][1],+_[0][2],+_[0][3],+_[0][4]],[+C[1],+_[1][1],+_[1][2],+_[1][3],+_[1][4]],[+C[2],+_[2][1],+_[2][2],+_[2][3],+_[2][4]],[+C[3],+_[3][1],+_[3][2],+_[3][3],+_[3][4]],[+C[4],+_[4][1],+_[4][2],+_[4][3],+_[4][4]]]),A([[+_[0][0],+C[0],+_[0][2],+_[0][3],+_[0][4]],[+_[1][0],+C[1],+_[1][2],+_[1][3],+_[1][4]],[+_[2][0],+C[2],+_[2][2],+_[2][3],+_[2][4]],[+_[3][0],+C[3],+_[3][2],+_[3][3],+_[3][4]],[+_[4][0],+C[4],+_[4][2],+_[4][3],+_[4][4]]]),A([[+_[0][0],+_[0][1],+C[0],+_[0][3],+_[0][4]],[+_[1][0],+_[1][1],+C[1],+_[1][3],+_[1][4]],[+_[2][0],+_[2][1],+C[2],+_[2][3],+_[2][4]],[+_[3][0],+_[3][1],+C[3],+_[3][3],+_[3][4]],[+_[4][0],+_[4][1],+C[4],+_[4][3],+_[4][4]]]),A([[+_[0][0],+_[0][1],+_[0][2],+C[0],+_[0][4]],[+_[1][0],+_[1][1],+_[1][2],+C[1],+_[1][4]],[+_[2][0],+_[2][1],+_[2][2],+C[2],+_[2][4]],[+_[3][0],+_[3][1],+_[3][2],+C[3],+_[3][4]],[+_[4][0],+_[4][1],+_[4][2],+C[4],+_[4][4]]]),A([[+_[0][0],+_[0][1],+_[0][2],+_[0][3],+C[0]],[+_[1][0],+_[1][1],+_[1][2],+_[1][3],+C[1]],[+_[2][0],+_[2][1],+_[2][2],+_[2][3],+C[2]],[+_[3][0],+_[3][1],+_[3][2],+_[3][3],+C[3]],[+_[4][0],+_[4][1],+_[4][2],+_[4][3],+C[4]]]),A(_)]}}function b(A){return function(_,C){return[A([[+C[0],+_[0][1],+_[0][2],+_[0][3],+_[0][4],+_[0][5]],[+C[1],+_[1][1],+_[1][2],+_[1][3],+_[1][4],+_[1][5]],[+C[2],+_[2][1],+_[2][2],+_[2][3],+_[2][4],+_[2][5]],[+C[3],+_[3][1],+_[3][2],+_[3][3],+_[3][4],+_[3][5]],[+C[4],+_[4][1],+_[4][2],+_[4][3],+_[4][4],+_[4][5]],[+C[5],+_[5][1],+_[5][2],+_[5][3],+_[5][4],+_[5][5]]]),A([[+_[0][0],+C[0],+_[0][2],+_[0][3],+_[0][4],+_[0][5]],[+_[1][0],+C[1],+_[1][2],+_[1][3],+_[1][4],+_[1][5]],[+_[2][0],+C[2],+_[2][2],+_[2][3],+_[2][4],+_[2][5]],[+_[3][0],+C[3],+_[3][2],+_[3][3],+_[3][4],+_[3][5]],[+_[4][0],+C[4],+_[4][2],+_[4][3],+_[4][4],+_[4][5]],[+_[5][0],+C[5],+_[5][2],+_[5][3],+_[5][4],+_[5][5]]]),A([[+_[0][0],+_[0][1],+C[0],+_[0][3],+_[0][4],+_[0][5]],[+_[1][0],+_[1][1],+C[1],+_[1][3],+_[1][4],+_[1][5]],[+_[2][0],+_[2][1],+C[2],+_[2][3],+_[2][4],+_[2][5]],[+_[3][0],+_[3][1],+C[3],+_[3][3],+_[3][4],+_[3][5]],[+_[4][0],+_[4][1],+C[4],+_[4][3],+_[4][4],+_[4][5]],[+_[5][0],+_[5][1],+C[5],+_[5][3],+_[5][4],+_[5][5]]]),A([[+_[0][0],+_[0][1],+_[0][2],+C[0],+_[0][4],+_[0][5]],[+_[1][0],+_[1][1],+_[1][2],+C[1],+_[1][4],+_[1][5]],[+_[2][0],+_[2][1],+_[2][2],+C[2],+_[2][4],+_[2][5]],[+_[3][0],+_[3][1],+_[3][2],+C[3],+_[3][4],+_[3][5]],[+_[4][0],+_[4][1],+_[4][2],+C[4],+_[4][4],+_[4][5]],[+_[5][0],+_[5][1],+_[5][2],+C[5],+_[5][4],+_[5][5]]]),A([[+_[0][0],+_[0][1],+_[0][2],+_[0][3],+C[0],+_[0][5]],[+_[1][0],+_[1][1],+_[1][2],+_[1][3],+C[1],+_[1][5]],[+_[2][0],+_[2][1],+_[2][2],+_[2][3],+C[2],+_[2][5]],[+_[3][0],+_[3][1],+_[3][2],+_[3][3],+C[3],+_[3][5]],[+_[4][0],+_[4][1],+_[4][2],+_[4][3],+C[4],+_[4][5]],[+_[5][0],+_[5][1],+_[5][2],+_[5][3],+C[5],+_[5][5]]]),A([[+_[0][0],+_[0][1],+_[0][2],+_[0][3],+_[0][4],+C[0]],[+_[1][0],+_[1][1],+_[1][2],+_[1][3],+_[1][4],+C[1]],[+_[2][0],+_[2][1],+_[2][2],+_[2][3],+_[2][4],+C[2]],[+_[3][0],+_[3][1],+_[3][2],+_[3][3],+_[3][4],+C[3]],[+_[4][0],+_[4][1],+_[4][2],+_[4][3],+_[4][4],+C[4]],[+_[5][0],+_[5][1],+_[5][2],+_[5][3],+_[5][4],+C[5]]]),A(_)]}}var p=[c,f];function E(A,L,_,C,M,g,P,T){return function(q,V){switch(q.length){case 0:return A(q,V);case 1:return L(q,V);case 2:return _(q,V);case 3:return C(q,V);case 4:return M(q,V);case 5:return g(q,V)}var H=P[q.length];return H||(H=P[q.length]=T(q.length)),H(q,V)}}function k(){for(;p.length<l;)p.push(u(p.length));i.exports=E.apply(void 0,p.concat([p,u]));for(var A=0;A<l;++A)i.exports[A]=p[A]}k()},3250:function(i,a,o){\"use strict\";var s=o(5250),l=o(8210),u=o(3012),c=o(8545),f=5,h=11102230246251565e-32,d=(3+16*h)*h,v=(7+56*h)*h;function x(g,P,T,F){return function(V,H,X){var G=g(g(P(H[1],X[0]),P(-X[1],H[0])),g(P(V[1],H[0]),P(-H[1],V[0]))),N=g(P(V[1],X[0]),P(-X[1],V[0])),W=F(G,N);return W[W.length-1]}}function b(g,P,T,F){return function(V,H,X,G){var N=g(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),H[2]),g(T(g(P(H[1],G[0]),P(-G[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),G[2]))),g(T(g(P(H[1],G[0]),P(-G[1],H[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),G[2])))),W=g(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),G[2]))),g(T(g(P(H[1],X[0]),P(-X[1],H[0])),V[2]),g(T(g(P(V[1],X[0]),P(-X[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),X[2])))),re=F(N,W);return re[re.length-1]}}function p(g,P,T,F){return function(V,H,X,G,N){var W=g(g(g(T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),X[2]),g(T(g(P(X[1],N[0]),P(-N[1],X[0])),-G[2]),T(g(P(X[1],G[0]),P(-G[1],X[0])),N[2]))),H[3]),g(T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),H[2]),g(T(g(P(H[1],N[0]),P(-N[1],H[0])),-G[2]),T(g(P(H[1],G[0]),P(-G[1],H[0])),N[2]))),-X[3]),T(g(T(g(P(X[1],N[0]),P(-N[1],X[0])),H[2]),g(T(g(P(H[1],N[0]),P(-N[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),N[2]))),G[3]))),g(T(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),H[2]),g(T(g(P(H[1],G[0]),P(-G[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),G[2]))),-N[3]),g(T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),H[2]),g(T(g(P(H[1],N[0]),P(-N[1],H[0])),-G[2]),T(g(P(H[1],G[0]),P(-G[1],H[0])),N[2]))),V[3]),T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-G[2]),T(g(P(V[1],G[0]),P(-G[1],V[0])),N[2]))),-H[3])))),g(g(T(g(T(g(P(H[1],N[0]),P(-N[1],H[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),N[2]))),G[3]),g(T(g(T(g(P(H[1],G[0]),P(-G[1],H[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),G[2]))),-N[3]),T(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),H[2]),g(T(g(P(H[1],G[0]),P(-G[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),G[2]))),V[3]))),g(T(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),G[2]))),-H[3]),g(T(g(T(g(P(H[1],G[0]),P(-G[1],H[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),G[2]))),X[3]),T(g(T(g(P(H[1],X[0]),P(-X[1],H[0])),V[2]),g(T(g(P(V[1],X[0]),P(-X[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),X[2]))),-G[3]))))),re=g(g(g(T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),X[2]),g(T(g(P(X[1],N[0]),P(-N[1],X[0])),-G[2]),T(g(P(X[1],G[0]),P(-G[1],X[0])),N[2]))),V[3]),T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-G[2]),T(g(P(V[1],G[0]),P(-G[1],V[0])),N[2]))),-X[3])),g(T(g(T(g(P(X[1],N[0]),P(-N[1],X[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),N[2]))),G[3]),T(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),G[2]))),-N[3]))),g(g(T(g(T(g(P(X[1],N[0]),P(-N[1],X[0])),H[2]),g(T(g(P(H[1],N[0]),P(-N[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),N[2]))),V[3]),T(g(T(g(P(X[1],N[0]),P(-N[1],X[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),N[2]))),-H[3])),g(T(g(T(g(P(H[1],N[0]),P(-N[1],H[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),N[2]))),X[3]),T(g(T(g(P(H[1],X[0]),P(-X[1],H[0])),V[2]),g(T(g(P(V[1],X[0]),P(-X[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),X[2]))),-N[3])))),ae=F(W,re);return ae[ae.length-1]}}function E(g){var P=g===3?x:g===4?b:p;return P(l,s,u,c)}var k=E(3),A=E(4),L=[function(){return 0},function(){return 0},function(P,T){return T[0]-P[0]},function(P,T,F){var q=(P[1]-F[1])*(T[0]-F[0]),V=(P[0]-F[0])*(T[1]-F[1]),H=q-V,X;if(q>0){if(V<=0)return H;X=q+V}else if(q<0){if(V>=0)return H;X=-(q+V)}else return H;var G=d*X;return H>=G||H<=-G?H:k(P,T,F)},function(P,T,F,q){var V=P[0]-q[0],H=T[0]-q[0],X=F[0]-q[0],G=P[1]-q[1],N=T[1]-q[1],W=F[1]-q[1],re=P[2]-q[2],ae=T[2]-q[2],_e=F[2]-q[2],Me=H*W,ke=X*N,ge=X*G,ie=V*W,Te=V*N,Ee=H*G,Ae=re*(Me-ke)+ae*(ge-ie)+_e*(Te-Ee),ze=(Math.abs(Me)+Math.abs(ke))*Math.abs(re)+(Math.abs(ge)+Math.abs(ie))*Math.abs(ae)+(Math.abs(Te)+Math.abs(Ee))*Math.abs(_e),Ce=v*ze;return Ae>Ce||-Ae>Ce?Ae:A(P,T,F,q)}];function _(g){var P=L[g.length];return P||(P=L[g.length]=E(g.length)),P.apply(void 0,g)}function C(g,P,T,F,q,V,H){return function(G,N,W,re,ae){switch(arguments.length){case 0:case 1:return 0;case 2:return F(G,N);case 3:return q(G,N,W);case 4:return V(G,N,W,re);case 5:return H(G,N,W,re,ae)}for(var _e=new Array(arguments.length),Me=0;Me<arguments.length;++Me)_e[Me]=arguments[Me];return g(_e)}}function M(){for(;L.length<=f;)L.push(E(L.length));i.exports=C.apply(void 0,[_].concat(L));for(var g=0;g<=f;++g)i.exports[g]=L[g]}M()},5382:function(i,a,o){\"use strict\";var s=o(8210),l=o(3012);i.exports=u;function u(c,f){if(c.length===1)return l(f,c[0]);if(f.length===1)return l(c,f[0]);if(c.length===0||f.length===0)return[0];var h=[0];if(c.length<f.length)for(var d=0;d<c.length;++d)h=s(h,l(f,c[d]));else for(var d=0;d<f.length;++d)h=s(h,l(c,f[d]));return h}},3012:function(i,a,o){\"use strict\";var s=o(5250),l=o(9362);i.exports=u;function u(c,f){var h=c.length;if(h===1){var d=s(c[0],f);return d[0]?d:[d[1]]}var v=new Array(2*h),x=[.1,.1],b=[.1,.1],p=0;s(c[0],f,x),x[0]&&(v[p++]=x[0]);for(var E=1;E<h;++E){s(c[E],f,b);var k=x[1];l(k,b[0],x),x[0]&&(v[p++]=x[0]);var A=b[1],L=x[1],_=A+L,C=_-A,M=L-C;x[1]=_,M&&(v[p++]=M)}return x[1]&&(v[p++]=x[1]),p===0&&(v[p++]=0),v.length=p,v}},1125:function(i,a,o){\"use strict\";i.exports=u;var s=o(3250)[3];function l(c,f,h,d){for(var v=0;v<2;++v){var x=c[v],b=f[v],p=Math.min(x,b),E=Math.max(x,b),k=h[v],A=d[v],L=Math.min(k,A),_=Math.max(k,A);if(_<p||E<L)return!1}return!0}function u(c,f,h,d){var v=s(c,h,d),x=s(f,h,d);if(v>0&&x>0||v<0&&x<0)return!1;var b=s(h,c,f),p=s(d,c,f);return b>0&&p>0||b<0&&p<0?!1:v===0&&x===0&&b===0&&p===0?l(c,f,h,d):!0}},8545:function(i){\"use strict\";i.exports=o;function a(s,l){var u=s+l,c=u-s,f=u-c,h=l-c,d=s-f,v=d+h;return v?[v,u]:[u]}function o(s,l){var u=s.length|0,c=l.length|0;if(u===1&&c===1)return a(s[0],-l[0]);var f=u+c,h=new Array(f),d=0,v=0,x=0,b=Math.abs,p=s[v],E=b(p),k=-l[x],A=b(k),L,_;E<A?(_=p,v+=1,v<u&&(p=s[v],E=b(p))):(_=k,x+=1,x<c&&(k=-l[x],A=b(k))),v<u&&E<A||x>=c?(L=p,v+=1,v<u&&(p=s[v],E=b(p))):(L=k,x+=1,x<c&&(k=-l[x],A=b(k)));for(var C=L+_,M=C-L,g=_-M,P=g,T=C,F,q,V,H,X;v<u&&x<c;)E<A?(L=p,v+=1,v<u&&(p=s[v],E=b(p))):(L=k,x+=1,x<c&&(k=-l[x],A=b(k))),_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F;for(;v<u;)L=p,_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F,v+=1,v<u&&(p=s[v]);for(;x<c;)L=k,_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F,x+=1,x<c&&(k=-l[x]);return P&&(h[d++]=P),T&&(h[d++]=T),d||(h[d++]=0),h.length=d,h}},8210:function(i){\"use strict\";i.exports=o;function a(s,l){var u=s+l,c=u-s,f=u-c,h=l-c,d=s-f,v=d+h;return v?[v,u]:[u]}function o(s,l){var u=s.length|0,c=l.length|0;if(u===1&&c===1)return a(s[0],l[0]);var f=u+c,h=new Array(f),d=0,v=0,x=0,b=Math.abs,p=s[v],E=b(p),k=l[x],A=b(k),L,_;E<A?(_=p,v+=1,v<u&&(p=s[v],E=b(p))):(_=k,x+=1,x<c&&(k=l[x],A=b(k))),v<u&&E<A||x>=c?(L=p,v+=1,v<u&&(p=s[v],E=b(p))):(L=k,x+=1,x<c&&(k=l[x],A=b(k)));for(var C=L+_,M=C-L,g=_-M,P=g,T=C,F,q,V,H,X;v<u&&x<c;)E<A?(L=p,v+=1,v<u&&(p=s[v],E=b(p))):(L=k,x+=1,x<c&&(k=l[x],A=b(k))),_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F;for(;v<u;)L=p,_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F,v+=1,v<u&&(p=s[v]);for(;x<c;)L=k,_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F,x+=1,x<c&&(k=l[x]);return P&&(h[d++]=P),T&&(h[d++]=T),d||(h[d++]=0),h.length=d,h}},9127:function(i,a,o){\"use strict\";i.exports=u;var s=o(6204),l=o(5771);function u(c){return l(s(c))}},7765:function(i,a,o){\"use strict\";i.exports=p;var s=o(9618),l=o(1888),u=o(446),c=o(1570);function f(E){for(var k=E.length,A=0,L=0;L<k;++L)A=Math.max(A,E[L].length)|0;return A-1}function h(E,k){for(var A=E.length,L=l.mallocUint8(A),_=0;_<A;++_)L[_]=E[_]<k|0;return L}function d(E,k){for(var A=E.length,L=k*(k+1)/2*A|0,_=l.mallocUint32(L*2),C=0,M=0;M<A;++M)for(var g=E[M],k=g.length,P=0;P<k;++P)for(var T=0;T<P;++T){var F=g[T],q=g[P];_[C++]=Math.min(F,q)|0,_[C++]=Math.max(F,q)|0}var V=C/2|0;u(s(_,[V,2]));for(var H=2,M=2;M<C;M+=2)_[M-2]===_[M]&&_[M-1]===_[M+1]||(_[H++]=_[M],_[H++]=_[M+1]);return s(_,[H/2|0,2])}function v(E,k,A,L){for(var _=E.data,C=E.shape[0],M=l.mallocDouble(C),g=0,P=0;P<C;++P){var T=_[2*P],F=_[2*P+1];if(A[T]!==A[F]){var q=k[T],V=k[F];_[2*g]=T,_[2*g+1]=F,M[g++]=(V-L)/(V-q)}}return E.shape[0]=g,s(M,[g])}function x(E,k){var A=l.mallocInt32(k*2),L=E.shape[0],_=E.data;A[0]=0;for(var C=0,M=0;M<L;++M){var g=_[2*M];if(g!==C){for(A[2*C+1]=M;++C<g;)A[2*C]=M,A[2*C+1]=M;A[2*C]=M}}for(A[2*C+1]=L;++C<k;)A[2*C]=A[2*C+1]=L;return A}function b(E){for(var k=E.shape[0]|0,A=E.data,L=new Array(k),_=0;_<k;++_)L[_]=[A[2*_],A[2*_+1]];return L}function p(E,k,A,L){A=A||0,typeof L==\"undefined\"&&(L=f(E));var _=E.length;if(_===0||L<1)return{cells:[],vertexIds:[],vertexWeights:[]};var C=h(k,+A),M=d(E,L),g=v(M,k,C,+A),P=x(M,k.length|0),T=c(L)(E,M.data,P,C),F=b(M),q=[].slice.call(g.data,0,g.shape[0]);return l.free(C),l.free(M.data),l.free(g.data),l.free(P),{cells:T,vertexIds:F,vertexWeights:q}}},1570:function(i){\"use strict\";i.exports=o;var a=[function(){function l(c,f,h,d){for(var v=Math.min(h,d)|0,x=Math.max(h,d)|0,b=c[2*v],p=c[2*v+1];b<p;){var E=b+p>>1,k=f[2*E+1];if(k===x)return E;x<k?p=E:b=E+1}return b}function u(c,f,h,d){for(var v=c.length,x=[],b=0;b<v;++b)var p=c[b],E=p.length;return x}return u},function(){function l(c,f,h,d){for(var v=Math.min(h,d)|0,x=Math.max(h,d)|0,b=c[2*v],p=c[2*v+1];b<p;){var E=b+p>>1,k=f[2*E+1];if(k===x)return E;x<k?p=E:b=E+1}return b}function u(c,f,h,d){for(var v=c.length,x=[],b=0;b<v;++b){var p=c[b],E=p.length;if(E===2){var k=(d[p[0]]<<0)+(d[p[1]]<<1);if(k===0||k===3)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0])]);break;case 3:break}}}return x}return u},function(){function l(c,f,h,d){for(var v=Math.min(h,d)|0,x=Math.max(h,d)|0,b=c[2*v],p=c[2*v+1];b<p;){var E=b+p>>1,k=f[2*E+1];if(k===x)return E;x<k?p=E:b=E+1}return b}function u(c,f,h,d){for(var v=c.length,x=[],b=0;b<v;++b){var p=c[b],E=p.length;if(E===3){var k=(d[p[0]]<<0)+(d[p[1]]<<1)+(d[p[2]]<<2);if(k===0||k===7)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[2]),l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0]),l(h,f,p[1],p[2])]);break;case 3:x.push([l(h,f,p[0],p[2]),l(h,f,p[1],p[2])]);break;case 4:x.push([l(h,f,p[2],p[1]),l(h,f,p[2],p[0])]);break;case 5:x.push([l(h,f,p[2],p[1]),l(h,f,p[0],p[1])]);break;case 6:x.push([l(h,f,p[1],p[0]),l(h,f,p[2],p[0])]);break;case 7:break}}else if(E===2){var k=(d[p[0]]<<0)+(d[p[1]]<<1);if(k===0||k===3)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0])]);break;case 3:break}}}return x}return u},function(){function l(c,f,h,d){for(var v=Math.min(h,d)|0,x=Math.max(h,d)|0,b=c[2*v],p=c[2*v+1];b<p;){var E=b+p>>1,k=f[2*E+1];if(k===x)return E;x<k?p=E:b=E+1}return b}function u(c,f,h,d){for(var v=c.length,x=[],b=0;b<v;++b){var p=c[b],E=p.length;if(E===4){var k=(d[p[0]]<<0)+(d[p[1]]<<1)+(d[p[2]]<<2)+(d[p[3]]<<3);if(k===0||k===15)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[1]),l(h,f,p[0],p[2]),l(h,f,p[0],p[3])]);break;case 2:x.push([l(h,f,p[1],p[2]),l(h,f,p[1],p[0]),l(h,f,p[1],p[3])]);break;case 3:x.push([l(h,f,p[1],p[2]),l(h,f,p[0],p[2]),l(h,f,p[0],p[3])],[l(h,f,p[1],p[3]),l(h,f,p[1],p[2]),l(h,f,p[0],p[3])]);break;case 4:x.push([l(h,f,p[2],p[0]),l(h,f,p[2],p[1]),l(h,f,p[2],p[3])]);break;case 5:x.push([l(h,f,p[0],p[1]),l(h,f,p[2],p[1]),l(h,f,p[0],p[3])],[l(h,f,p[2],p[1]),l(h,f,p[2],p[3]),l(h,f,p[0],p[3])]);break;case 6:x.push([l(h,f,p[2],p[0]),l(h,f,p[1],p[0]),l(h,f,p[1],p[3])],[l(h,f,p[2],p[3]),l(h,f,p[2],p[0]),l(h,f,p[1],p[3])]);break;case 7:x.push([l(h,f,p[0],p[3]),l(h,f,p[1],p[3]),l(h,f,p[2],p[3])]);break;case 8:x.push([l(h,f,p[3],p[1]),l(h,f,p[3],p[0]),l(h,f,p[3],p[2])]);break;case 9:x.push([l(h,f,p[3],p[1]),l(h,f,p[0],p[1]),l(h,f,p[0],p[2])],[l(h,f,p[3],p[2]),l(h,f,p[3],p[1]),l(h,f,p[0],p[2])]);break;case 10:x.push([l(h,f,p[1],p[0]),l(h,f,p[3],p[0]),l(h,f,p[1],p[2])],[l(h,f,p[3],p[0]),l(h,f,p[3],p[2]),l(h,f,p[1],p[2])]);break;case 11:x.push([l(h,f,p[1],p[2]),l(h,f,p[0],p[2]),l(h,f,p[3],p[2])]);break;case 12:x.push([l(h,f,p[3],p[0]),l(h,f,p[2],p[0]),l(h,f,p[2],p[1])],[l(h,f,p[3],p[1]),l(h,f,p[3],p[0]),l(h,f,p[2],p[1])]);break;case 13:x.push([l(h,f,p[0],p[1]),l(h,f,p[2],p[1]),l(h,f,p[3],p[1])]);break;case 14:x.push([l(h,f,p[2],p[0]),l(h,f,p[1],p[0]),l(h,f,p[3],p[0])]);break;case 15:break}}else if(E===3){var k=(d[p[0]]<<0)+(d[p[1]]<<1)+(d[p[2]]<<2);if(k===0||k===7)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[2]),l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0]),l(h,f,p[1],p[2])]);break;case 3:x.push([l(h,f,p[0],p[2]),l(h,f,p[1],p[2])]);break;case 4:x.push([l(h,f,p[2],p[1]),l(h,f,p[2],p[0])]);break;case 5:x.push([l(h,f,p[2],p[1]),l(h,f,p[0],p[1])]);break;case 6:x.push([l(h,f,p[1],p[0]),l(h,f,p[2],p[0])]);break;case 7:break}}else if(E===2){var k=(d[p[0]]<<0)+(d[p[1]]<<1);if(k===0||k===3)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0])]);break;case 3:break}}}return x}return u}];function o(s){return a[s]()}},6803:function(i,a,o){\"use strict\";var s,l=o(8828),u=o(1755);function c(P){for(var T=0,F=Math.max,q=0,V=P.length;q<V;++q)T=F(T,P[q].length);return T-1}s=c;function f(P){for(var T=-1,F=Math.max,q=0,V=P.length;q<V;++q)for(var H=P[q],X=0,G=H.length;X<G;++X)T=F(T,H[X]);return T+1}s=f;function h(P){for(var T=new Array(P.length),F=0,q=P.length;F<q;++F)T[F]=P[F].slice(0);return T}s=h;function d(P,T){var F=P.length,q=P.length-T.length,V=Math.min;if(q)return q;switch(F){case 0:return 0;case 1:return P[0]-T[0];case 2:var W=P[0]+P[1]-T[0]-T[1];return W||V(P[0],P[1])-V(T[0],T[1]);case 3:var H=P[0]+P[1],X=T[0]+T[1];if(W=H+P[2]-(X+T[2]),W)return W;var G=V(P[0],P[1]),N=V(T[0],T[1]),W=V(G,P[2])-V(N,T[2]);return W||V(G+P[2],H)-V(N+T[2],X);default:var re=P.slice(0);re.sort();var ae=T.slice(0);ae.sort();for(var _e=0;_e<F;++_e)if(q=re[_e]-ae[_e],q)return q;return 0}}a.Fw=d;function v(P,T){return d(P[0],T[0])}function x(P,T){if(T){for(var F=P.length,q=new Array(F),V=0;V<F;++V)q[V]=[P[V],T[V]];q.sort(v);for(var V=0;V<F;++V)P[V]=q[V][0],T[V]=q[V][1];return P}else return P.sort(d),P}s=x;function b(P){if(P.length===0)return[];for(var T=1,F=P.length,q=1;q<F;++q){var V=P[q];if(d(V,P[q-1])){if(q===T){T++;continue}P[T++]=V}}return P.length=T,P}s=b;function p(P,T){for(var F=0,q=P.length-1,V=-1;F<=q;){var H=F+q>>1,X=d(P[H],T);X<=0?(X===0&&(V=H),F=H+1):X>0&&(q=H-1)}return V}s=p;function E(P,T){for(var F=new Array(P.length),q=0,V=F.length;q<V;++q)F[q]=[];for(var H=[],q=0,X=T.length;q<X;++q)for(var G=T[q],N=G.length,W=1,re=1<<N;W<re;++W){H.length=l.popCount(W);for(var ae=0,_e=0;_e<N;++_e)W&1<<_e&&(H[ae++]=G[_e]);var Me=p(P,H);if(!(Me<0))for(;F[Me++].push(q),!(Me>=P.length||d(P[Me],H)!==0););}return F}s=E;function k(P,T){if(!T)return E(b(L(P,0)),P,0);for(var F=new Array(T),q=0;q<T;++q)F[q]=[];for(var q=0,V=P.length;q<V;++q)for(var H=P[q],X=0,G=H.length;X<G;++X)F[H[X]].push(q);return F}s=k;function A(P){for(var T=[],F=0,q=P.length;F<q;++F)for(var V=P[F],H=V.length|0,X=1,G=1<<H;X<G;++X){for(var N=[],W=0;W<H;++W)X>>>W&1&&N.push(V[W]);T.push(N)}return x(T)}s=A;function L(P,T){if(T<0)return[];for(var F=[],q=(1<<T+1)-1,V=0;V<P.length;++V)for(var H=P[V],X=q;X<1<<H.length;X=l.nextCombination(X)){for(var G=new Array(T+1),N=0,W=0;W<H.length;++W)X&1<<W&&(G[N++]=H[W]);F.push(G)}return x(F)}s=L;function _(P){for(var T=[],F=0,q=P.length;F<q;++F)for(var V=P[F],H=0,X=V.length;H<X;++H){for(var G=new Array(V.length-1),N=0,W=0;N<X;++N)N!==H&&(G[W++]=V[N]);T.push(G)}return x(T)}s=_;function C(P,T){for(var F=new u(T),q=0;q<P.length;++q)for(var V=P[q],H=0;H<V.length;++H)for(var X=H+1;X<V.length;++X)F.link(V[H],V[X]);for(var G=[],N=F.ranks,q=0;q<N.length;++q)N[q]=-1;for(var q=0;q<P.length;++q){var W=F.find(P[q][0]);N[W]<0?(N[W]=G.length,G.push([P[q].slice(0)])):G[N[W]].push(P[q].slice(0))}return G}function M(P){for(var T=b(x(L(P,0))),F=new u(T.length),q=0;q<P.length;++q)for(var V=P[q],H=0;H<V.length;++H)for(var X=p(T,[V[H]]),G=H+1;G<V.length;++G)F.link(X,p(T,[V[G]]));for(var N=[],W=F.ranks,q=0;q<W.length;++q)W[q]=-1;for(var q=0;q<P.length;++q){var re=F.find(p(T,[P[q][0]]));W[re]<0?(W[re]=N.length,N.push([P[q].slice(0)])):N[W[re]].push(P[q].slice(0))}return N}function g(P,T){return T?C(P,T):M(P)}s=g},3105:function(i,a){\"use strict\";\"use restrict\";var o=32;a.INT_BITS=o,a.INT_MAX=2147483647,a.INT_MIN=-1<<o-1,a.sign=function(u){return(u>0)-(u<0)},a.abs=function(u){var c=u>>o-1;return(u^c)-c},a.min=function(u,c){return c^(u^c)&-(u<c)},a.max=function(u,c){return u^(u^c)&-(u<c)},a.isPow2=function(u){return!(u&u-1)&&!!u},a.log2=function(u){var c,f;return c=(u>65535)<<4,u>>>=c,f=(u>255)<<3,u>>>=f,c|=f,f=(u>15)<<2,u>>>=f,c|=f,f=(u>3)<<1,u>>>=f,c|=f,c|u>>1},a.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},a.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var c=32;return u&=-u,u&&c--,u&65535&&(c-=16),u&16711935&&(c-=8),u&252645135&&(c-=4),u&858993459&&(c-=2),u&1431655765&&(c-=1),c}a.countTrailingZeros=s,a.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},a.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},a.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var c=0;c<256;++c){var f=c,h=c,d=7;for(f>>>=1;f;f>>>=1)h<<=1,h|=f&1,--d;u[c]=h<<d&255}})(l),a.reverse=function(u){return l[u&255]<<24|l[u>>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},a.interleave2=function(u,c){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,c&=65535,c=(c|c<<8)&16711935,c=(c|c<<4)&252645135,c=(c|c<<2)&858993459,c=(c|c<<1)&1431655765,u|c<<1},a.deinterleave2=function(u,c){return u=u>>>c&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},a.interleave3=function(u,c,f){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|=c<<1,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|f<<2},a.deinterleave3=function(u,c){return u=u>>>c&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},a.nextCombination=function(u){var c=u|u-1;return c+1|(~c&-~c)-1>>>s(u)+1}},2014:function(i,a,o){\"use strict\";\"use restrict\";var s=o(3105),l=o(4623);function u(g){for(var P=0,T=Math.max,F=0,q=g.length;F<q;++F)P=T(P,g[F].length);return P-1}a.dimension=u;function c(g){for(var P=-1,T=Math.max,F=0,q=g.length;F<q;++F)for(var V=g[F],H=0,X=V.length;H<X;++H)P=T(P,V[H]);return P+1}a.countVertices=c;function f(g){for(var P=new Array(g.length),T=0,F=g.length;T<F;++T)P[T]=g[T].slice(0);return P}a.cloneCells=f;function h(g,P){var T=g.length,F=g.length-P.length,q=Math.min;if(F)return F;switch(T){case 0:return 0;case 1:return g[0]-P[0];case 2:var N=g[0]+g[1]-P[0]-P[1];return N||q(g[0],g[1])-q(P[0],P[1]);case 3:var V=g[0]+g[1],H=P[0]+P[1];if(N=V+g[2]-(H+P[2]),N)return N;var X=q(g[0],g[1]),G=q(P[0],P[1]),N=q(X,g[2])-q(G,P[2]);return N||q(X+g[2],V)-q(G+P[2],H);default:var W=g.slice(0);W.sort();var re=P.slice(0);re.sort();for(var ae=0;ae<T;++ae)if(F=W[ae]-re[ae],F)return F;return 0}}a.compareCells=h;function d(g,P){return h(g[0],P[0])}function v(g,P){if(P){for(var T=g.length,F=new Array(T),q=0;q<T;++q)F[q]=[g[q],P[q]];F.sort(d);for(var q=0;q<T;++q)g[q]=F[q][0],P[q]=F[q][1];return g}else return g.sort(h),g}a.normalize=v;function x(g){if(g.length===0)return[];for(var P=1,T=g.length,F=1;F<T;++F){var q=g[F];if(h(q,g[F-1])){if(F===P){P++;continue}g[P++]=q}}return g.length=P,g}a.unique=x;function b(g,P){for(var T=0,F=g.length-1,q=-1;T<=F;){var V=T+F>>1,H=h(g[V],P);H<=0?(H===0&&(q=V),T=V+1):H>0&&(F=V-1)}return q}a.findCell=b;function p(g,P){for(var T=new Array(g.length),F=0,q=T.length;F<q;++F)T[F]=[];for(var V=[],F=0,H=P.length;F<H;++F)for(var X=P[F],G=X.length,N=1,W=1<<G;N<W;++N){V.length=s.popCount(N);for(var re=0,ae=0;ae<G;++ae)N&1<<ae&&(V[re++]=X[ae]);var _e=b(g,V);if(!(_e<0))for(;T[_e++].push(F),!(_e>=g.length||h(g[_e],V)!==0););}return T}a.incidence=p;function E(g,P){if(!P)return p(x(A(g,0)),g,0);for(var T=new Array(P),F=0;F<P;++F)T[F]=[];for(var F=0,q=g.length;F<q;++F)for(var V=g[F],H=0,X=V.length;H<X;++H)T[V[H]].push(F);return T}a.dual=E;function k(g){for(var P=[],T=0,F=g.length;T<F;++T)for(var q=g[T],V=q.length|0,H=1,X=1<<V;H<X;++H){for(var G=[],N=0;N<V;++N)H>>>N&1&&G.push(q[N]);P.push(G)}return v(P)}a.explode=k;function A(g,P){if(P<0)return[];for(var T=[],F=(1<<P+1)-1,q=0;q<g.length;++q)for(var V=g[q],H=F;H<1<<V.length;H=s.nextCombination(H)){for(var X=new Array(P+1),G=0,N=0;N<V.length;++N)H&1<<N&&(X[G++]=V[N]);T.push(X)}return v(T)}a.skeleton=A;function L(g){for(var P=[],T=0,F=g.length;T<F;++T)for(var q=g[T],V=0,H=q.length;V<H;++V){for(var X=new Array(q.length-1),G=0,N=0;G<H;++G)G!==V&&(X[N++]=q[G]);P.push(X)}return v(P)}a.boundary=L;function _(g,P){for(var T=new l(P),F=0;F<g.length;++F)for(var q=g[F],V=0;V<q.length;++V)for(var H=V+1;H<q.length;++H)T.link(q[V],q[H]);for(var X=[],G=T.ranks,F=0;F<G.length;++F)G[F]=-1;for(var F=0;F<g.length;++F){var N=T.find(g[F][0]);G[N]<0?(G[N]=X.length,X.push([g[F].slice(0)])):X[G[N]].push(g[F].slice(0))}return X}function C(g){for(var P=x(v(A(g,0))),T=new l(P.length),F=0;F<g.length;++F)for(var q=g[F],V=0;V<q.length;++V)for(var H=b(P,[q[V]]),X=V+1;X<q.length;++X)T.link(H,b(P,[q[X]]));for(var G=[],N=T.ranks,F=0;F<N.length;++F)N[F]=-1;for(var F=0;F<g.length;++F){var W=T.find(b(P,[g[F][0]]));N[W]<0?(N[W]=G.length,G.push([g[F].slice(0)])):G[N[W]].push(g[F].slice(0))}return G}function M(g,P){return P?_(g,P):C(g)}a.connectedComponents=M},4623:function(i){\"use strict\";\"use restrict\";i.exports=a;function a(o){this.roots=new Array(o),this.ranks=new Array(o);for(var s=0;s<o;++s)this.roots[s]=s,this.ranks[s]=0}a.prototype.length=function(){return this.roots.length},a.prototype.makeSet=function(){var o=this.roots.length;return this.roots.push(o),this.ranks.push(0),o},a.prototype.find=function(o){for(var s=this.roots;s[o]!==o;){var l=s[o];s[o]=s[l],o=l}return o},a.prototype.link=function(o,s){var l=this.find(o),u=this.find(s);if(l!==u){var c=this.ranks,f=this.roots,h=c[l],d=c[u];h<d?f[l]=u:d<h?f[u]=l:(f[u]=l,++c[l])}}},5878:function(i,a,o){\"use strict\";i.exports=c;var s=o(3250),l=o(2014);function u(f,h,d){var v=Math.abs(s(f,h,d)),x=Math.sqrt(Math.pow(h[0]-d[0],2)+Math.pow(h[1]-d[1],2));return v/x}function c(f,h,d){for(var v=h.length,x=f.length,b=new Array(v),p=new Array(v),E=new Array(v),k=new Array(v),A=0;A<v;++A)b[A]=p[A]=-1,E[A]=1/0,k[A]=!1;for(var A=0;A<x;++A){var L=f[A];if(L.length!==2)throw new Error(\"Input must be a graph\");var _=L[1],C=L[0];p[C]!==-1?p[C]=-2:p[C]=_,b[_]!==-1?b[_]=-2:b[_]=C}function M(ie){if(k[ie])return 1/0;var Te=b[ie],Ee=p[ie];return Te<0||Ee<0?1/0:u(h[ie],h[Te],h[Ee])}function g(ie,Te){var Ee=G[ie],Ae=G[Te];G[ie]=Ae,G[Te]=Ee,N[Ee]=Te,N[Ae]=ie}function P(ie){return E[G[ie]]}function T(ie){return ie&1?ie-1>>1:(ie>>1)-1}function F(ie){for(var Te=P(ie);;){var Ee=Te,Ae=2*ie+1,ze=2*(ie+1),Ce=ie;if(Ae<re){var me=P(Ae);me<Ee&&(Ce=Ae,Ee=me)}if(ze<re){var Re=P(ze);Re<Ee&&(Ce=ze)}if(Ce===ie)return ie;g(ie,Ce),ie=Ce}}function q(ie){for(var Te=P(ie);ie>0;){var Ee=T(ie);if(Ee>=0){var Ae=P(Ee);if(Te<Ae){g(ie,Ee),ie=Ee;continue}}return ie}}function V(){if(re>0){var ie=G[0];return g(0,re-1),re-=1,F(0),ie}return-1}function H(ie,Te){var Ee=G[ie];return E[Ee]===Te?ie:(E[Ee]=-1/0,q(ie),V(),E[Ee]=Te,re+=1,q(re-1))}function X(ie){if(!k[ie]){k[ie]=!0;var Te=b[ie],Ee=p[ie];b[Ee]>=0&&(b[Ee]=Te),p[Te]>=0&&(p[Te]=Ee),N[Te]>=0&&H(N[Te],M(Te)),N[Ee]>=0&&H(N[Ee],M(Ee))}}for(var G=[],N=new Array(v),A=0;A<v;++A){var W=E[A]=M(A);W<1/0?(N[A]=G.length,G.push(A)):N[A]=-1}for(var re=G.length,A=re>>1;A>=0;--A)F(A);for(;;){var ae=V();if(ae<0||E[ae]>d)break;X(ae)}for(var _e=[],A=0;A<v;++A)k[A]||(N[A]=_e.length,_e.push(h[A].slice()));var Me=_e.length;function ke(ie,Te){if(ie[Te]<0)return Te;var Ee=Te,Ae=Te;do{var ze=ie[Ae];if(!k[Ae]||ze<0||ze===Ae||(Ae=ze,ze=ie[Ae],!k[Ae]||ze<0||ze===Ae))break;Ae=ze,Ee=ie[Ee]}while(Ee!==Ae);for(var Ce=Te;Ce!==Ae;Ce=ie[Ce])ie[Ce]=Ae;return Ae}var ge=[];return f.forEach(function(ie){var Te=ke(b,ie[0]),Ee=ke(p,ie[1]);if(Te>=0&&Ee>=0&&Te!==Ee){var Ae=N[Te],ze=N[Ee];Ae!==ze&&ge.push([Ae,ze])}}),l.unique(l.normalize(ge)),{positions:_e,edges:ge}}},1303:function(i,a,o){\"use strict\";i.exports=u;var s=o(3250);function l(c,f){var h,d;if(f[0][0]<f[1][0])h=f[0],d=f[1];else if(f[0][0]>f[1][0])h=f[1],d=f[0];else{var v=Math.min(c[0][1],c[1][1]),x=Math.max(c[0][1],c[1][1]),b=Math.min(f[0][1],f[1][1]),p=Math.max(f[0][1],f[1][1]);return x<b?x-b:v>p?v-p:x-p}var E,k;c[0][1]<c[1][1]?(E=c[0],k=c[1]):(E=c[1],k=c[0]);var A=s(d,h,E);return A||(A=s(d,h,k),A)?A:k-d}function u(c,f){var h,d;if(f[0][0]<f[1][0])h=f[0],d=f[1];else if(f[0][0]>f[1][0])h=f[1],d=f[0];else return l(f,c);var v,x;if(c[0][0]<c[1][0])v=c[0],x=c[1];else if(c[0][0]>c[1][0])v=c[1],x=c[0];else return-l(c,f);var b=s(h,d,x),p=s(h,d,v);if(b<0){if(p<=0)return b}else if(b>0){if(p>=0)return b}else if(p)return p;if(b=s(x,v,d),p=s(x,v,h),b<0){if(p<=0)return b}else if(b>0){if(p>=0)return b}else if(p)return p;return d[0]-x[0]}},4209:function(i,a,o){\"use strict\";i.exports=p;var s=o(2478),l=o(3840),u=o(3250),c=o(1303);function f(E,k,A){this.slabs=E,this.coordinates=k,this.horizontal=A}var h=f.prototype;function d(E,k){return E.y-k}function v(E,k){for(var A=null;E;){var L=E.key,_,C;L[0][0]<L[1][0]?(_=L[0],C=L[1]):(_=L[1],C=L[0]);var M=u(_,C,k);if(M<0)E=E.left;else if(M>0)if(k[0]!==L[1][0])A=E,E=E.right;else{var g=v(E.right,k);if(g)return g;E=E.left}else{if(k[0]!==L[1][0])return E;var g=v(E.right,k);if(g)return g;E=E.left}}return A}h.castUp=function(E){var k=s.le(this.coordinates,E[0]);if(k<0)return-1;var A=this.slabs[k],L=v(this.slabs[k],E),_=-1;if(L&&(_=L.value),this.coordinates[k]===E[0]){var C=null;if(L&&(C=L.key),k>0){var M=v(this.slabs[k-1],E);M&&(C?c(M.key,C)>0&&(C=M.key,_=M.value):(_=M.value,C=M.key))}var g=this.horizontal[k];if(g.length>0){var P=s.ge(g,E[1],d);if(P<g.length){var T=g[P];if(E[1]===T.y){if(T.closed)return T.index;for(;P<g.length-1&&g[P+1].y===E[1];)if(P=P+1,T=g[P],T.closed)return T.index;if(T.y===E[1]&&!T.start){if(P=P+1,P>=g.length)return _;T=g[P]}}if(T.start)if(C){var F=u(C[0],C[1],[E[0],T.y]);C[0][0]>C[1][0]&&(F=-F),F>0&&(_=T.index)}else _=T.index;else T.y!==E[1]&&(_=T.index)}}}return _};function x(E,k,A,L){this.y=E,this.index=k,this.start=A,this.closed=L}function b(E,k,A,L){this.x=E,this.segment=k,this.create=A,this.index=L}function p(E){for(var k=E.length,A=2*k,L=new Array(A),_=0;_<k;++_){var C=E[_],M=C[0][0]<C[1][0];L[2*_]=new b(C[0][0],C,M,_),L[2*_+1]=new b(C[1][0],C,!M,_)}L.sort(function(G,N){var W=G.x-N.x;return W||(W=G.create-N.create,W)?W:Math.min(G.segment[0][1],G.segment[1][1])-Math.min(N.segment[0][1],N.segment[1][1])});for(var g=l(c),P=[],T=[],F=[],q=-1/0,_=0;_<A;){for(var V=L[_].x,H=[];_<A;){var X=L[_];if(X.x!==V)break;_+=1,X.segment[0][0]===X.x&&X.segment[1][0]===X.x?X.create&&(X.segment[0][1]<X.segment[1][1]?(H.push(new x(X.segment[0][1],X.index,!0,!0)),H.push(new x(X.segment[1][1],X.index,!1,!1))):(H.push(new x(X.segment[1][1],X.index,!0,!1)),H.push(new x(X.segment[0][1],X.index,!1,!0)))):X.create?g=g.insert(X.segment,X.index):g=g.remove(X.segment)}P.push(g.root),T.push(V),F.push(H)}return new f(P,T,F)}},5202:function(i,a,o){\"use strict\";var s=o(1944),l=o(8210);i.exports=f,i.exports.positive=h,i.exports.negative=d;function u(v,x){var b=l(s(v,x),[x[x.length-1]]);return b[b.length-1]}function c(v,x,b,p){var E=p-x,k=-x/E;k<0?k=0:k>1&&(k=1);for(var A=1-k,L=v.length,_=new Array(L),C=0;C<L;++C)_[C]=k*v[C]+A*b[C];return _}function f(v,x){for(var b=[],p=[],E=u(v[v.length-1],x),k=v[v.length-1],A=v[0],L=0;L<v.length;++L,k=A){A=v[L];var _=u(A,x);if(E<0&&_>0||E>0&&_<0){var C=c(k,_,A,E);b.push(C),p.push(C.slice())}_<0?p.push(A.slice()):_>0?b.push(A.slice()):(b.push(A.slice()),p.push(A.slice())),E=_}return{positive:b,negative:p}}function h(v,x){for(var b=[],p=u(v[v.length-1],x),E=v[v.length-1],k=v[0],A=0;A<v.length;++A,E=k){k=v[A];var L=u(k,x);(p<0&&L>0||p>0&&L<0)&&b.push(c(E,L,k,p)),L>=0&&b.push(k.slice()),p=L}return b}function d(v,x){for(var b=[],p=u(v[v.length-1],x),E=v[v.length-1],k=v[0],A=0;A<v.length;++A,E=k){k=v[A];var L=u(k,x);(p<0&&L>0||p>0&&L<0)&&b.push(c(E,L,k,p)),L<=0&&b.push(k.slice()),p=L}return b}},3387:function(i,a,o){var s;(function(){\"use strict\";var l={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 u(v){return f(d(v),arguments)}function c(v,x){return u.apply(null,[v].concat(x||[]))}function f(v,x){var b=1,p=v.length,E,k=\"\",A,L,_,C,M,g,P,T;for(A=0;A<p;A++)if(typeof v[A]==\"string\")k+=v[A];else if(typeof v[A]==\"object\"){if(_=v[A],_.keys)for(E=x[b],L=0;L<_.keys.length;L++){if(E==null)throw new Error(u('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"',_.keys[L],_.keys[L-1]));E=E[_.keys[L]]}else _.param_no?E=x[_.param_no]:E=x[b++];if(l.not_type.test(_.type)&&l.not_primitive.test(_.type)&&E instanceof Function&&(E=E()),l.numeric_arg.test(_.type)&&typeof E!=\"number\"&&isNaN(E))throw new TypeError(u(\"[sprintf] expecting number but found %T\",E));switch(l.number.test(_.type)&&(P=E>=0),_.type){case\"b\":E=parseInt(E,10).toString(2);break;case\"c\":E=String.fromCharCode(parseInt(E,10));break;case\"d\":case\"i\":E=parseInt(E,10);break;case\"j\":E=JSON.stringify(E,null,_.width?parseInt(_.width):0);break;case\"e\":E=_.precision?parseFloat(E).toExponential(_.precision):parseFloat(E).toExponential();break;case\"f\":E=_.precision?parseFloat(E).toFixed(_.precision):parseFloat(E);break;case\"g\":E=_.precision?String(Number(E.toPrecision(_.precision))):parseFloat(E);break;case\"o\":E=(parseInt(E,10)>>>0).toString(8);break;case\"s\":E=String(E),E=_.precision?E.substring(0,_.precision):E;break;case\"t\":E=String(!!E),E=_.precision?E.substring(0,_.precision):E;break;case\"T\":E=Object.prototype.toString.call(E).slice(8,-1).toLowerCase(),E=_.precision?E.substring(0,_.precision):E;break;case\"u\":E=parseInt(E,10)>>>0;break;case\"v\":E=E.valueOf(),E=_.precision?E.substring(0,_.precision):E;break;case\"x\":E=(parseInt(E,10)>>>0).toString(16);break;case\"X\":E=(parseInt(E,10)>>>0).toString(16).toUpperCase();break}l.json.test(_.type)?k+=E:(l.number.test(_.type)&&(!P||_.sign)?(T=P?\"+\":\"-\",E=E.toString().replace(l.sign,\"\")):T=\"\",M=_.pad_char?_.pad_char===\"0\"?\"0\":_.pad_char.charAt(1):\" \",g=_.width-(T+E).length,C=_.width&&g>0?M.repeat(g):\"\",k+=_.align?T+E+C:M===\"0\"?T+C+E:C+T+E)}return k}var h=Object.create(null);function d(v){if(h[v])return h[v];for(var x=v,b,p=[],E=0;x;){if((b=l.text.exec(x))!==null)p.push(b[0]);else if((b=l.modulo.exec(x))!==null)p.push(\"%\");else if((b=l.placeholder.exec(x))!==null){if(b[2]){E|=1;var k=[],A=b[2],L=[];if((L=l.key.exec(A))!==null)for(k.push(L[1]);(A=A.substring(L[0].length))!==\"\";)if((L=l.key_access.exec(A))!==null)k.push(L[1]);else if((L=l.index_access.exec(A))!==null)k.push(L[1]);else throw new SyntaxError(\"[sprintf] failed to parse named argument key\");else throw new SyntaxError(\"[sprintf] failed to parse named argument key\");b[2]=k}else E|=2;if(E===3)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");p.push({placeholder:b[0],param_no:b[1],keys:b[2],sign:b[3],pad_char:b[4],align:b[5],width:b[6],precision:b[7],type:b[8]})}else throw new SyntaxError(\"[sprintf] unexpected placeholder\");x=x.substring(b[0].length)}return h[v]=p}a.sprintf=u,a.vsprintf=c,typeof window!=\"undefined\"&&(window.sprintf=u,window.vsprintf=c,s=function(){return{sprintf:u,vsprintf:c}}.call(a,o,a,i),s!==void 0&&(i.exports=s))})()},3711:function(i,a,o){\"use strict\";i.exports=d;var s=o(2640),l=o(781),u={\"2d\":function(v,x,b){var p=v({order:x,scalarArguments:3,getters:b===\"generic\"?[0]:void 0,phase:function(k,A,L,_){return k>_|0},vertex:function(k,A,L,_,C,M,g,P,T,F,q,V,H){var X=(g<<0)+(P<<1)+(T<<2)+(F<<3)|0;if(!(X===0||X===15))switch(X){case 0:q.push([k-.5,A-.5]);break;case 1:q.push([k-.25-.25*(_+L-2*H)/(L-_),A-.25-.25*(C+L-2*H)/(L-C)]);break;case 2:q.push([k-.75-.25*(-_-L+2*H)/(_-L),A-.25-.25*(M+_-2*H)/(_-M)]);break;case 3:q.push([k-.5,A-.5-.5*(C+L+M+_-4*H)/(L-C+_-M)]);break;case 4:q.push([k-.25-.25*(M+C-2*H)/(C-M),A-.75-.25*(-C-L+2*H)/(C-L)]);break;case 5:q.push([k-.5-.5*(_+L+M+C-4*H)/(L-_+C-M),A-.5]);break;case 6:q.push([k-.5-.25*(-_-L+M+C)/(_-L+C-M),A-.5-.25*(-C-L+M+_)/(C-L+_-M)]);break;case 7:q.push([k-.75-.25*(M+C-2*H)/(C-M),A-.75-.25*(M+_-2*H)/(_-M)]);break;case 8:q.push([k-.75-.25*(-M-C+2*H)/(M-C),A-.75-.25*(-M-_+2*H)/(M-_)]);break;case 9:q.push([k-.5-.25*(_+L+-M-C)/(L-_+M-C),A-.5-.25*(C+L+-M-_)/(L-C+M-_)]);break;case 10:q.push([k-.5-.5*(-_-L+-M-C+4*H)/(_-L+M-C),A-.5]);break;case 11:q.push([k-.25-.25*(-M-C+2*H)/(M-C),A-.75-.25*(C+L-2*H)/(L-C)]);break;case 12:q.push([k-.5,A-.5-.5*(-C-L+-M-_+4*H)/(C-L+M-_)]);break;case 13:q.push([k-.75-.25*(_+L-2*H)/(L-_),A-.25-.25*(-M-_+2*H)/(M-_)]);break;case 14:q.push([k-.25-.25*(-_-L+2*H)/(_-L),A-.25-.25*(-C-L+2*H)/(C-L)]);break;case 15:q.push([k-.5,A-.5]);break}},cell:function(k,A,L,_,C,M,g,P,T){C?P.push([k,A]):P.push([A,k])}});return function(E,k){var A=[],L=[];return p(E,A,L,k),{positions:A,cells:L}}}};function c(v,x){var b=v.length+\"d\",p=u[b];if(p)return p(s,v,x)}function f(v,x){for(var b=l(v,x),p=b.length,E=new Array(p),k=new Array(p),A=0;A<p;++A)E[A]=[b[A]],k[A]=[A];return{positions:E,cells:k}}var h={};function d(v,E){if(v.dimension<=0)return{positions:[],cells:[]};if(v.dimension===1)return f(v,E);var b=v.order.join()+\"-\"+v.dtype,p=h[b],E=+E||0;return p||(p=h[b]=c(v.order,v.dtype)),p(v,E)}},665:function(i,a,o){\"use strict\";var s=o(3202);i.exports=f;var l=96;function u(h,d){var v=s(getComputedStyle(h).getPropertyValue(d));return v[0]*f(v[1],h)}function c(h,d){var v=document.createElement(\"div\");v.style[\"font-size\"]=\"128\"+h,d.appendChild(v);var x=u(v,\"font-size\")/128;return d.removeChild(v),x}function f(h,d){switch(d=d||document.body,h=(h||\"px\").trim().toLowerCase(),(d===window||d===document)&&(d=document.body),h){case\"%\":return d.clientHeight/100;case\"ch\":case\"ex\":return c(h,d);case\"em\":return u(d,\"font-size\");case\"rem\":return u(document.body,\"font-size\");case\"vw\":return window.innerWidth/100;case\"vh\":return window.innerHeight/100;case\"vmin\":return Math.min(window.innerWidth,window.innerHeight)/100;case\"vmax\":return Math.max(window.innerWidth,window.innerHeight)/100;case\"in\":return l;case\"cm\":return l/2.54;case\"mm\":return l/25.4;case\"pt\":return l/72;case\"pc\":return l/6}return 1}},7261:function(i,a,o){\"use strict\";i.exports=k;var s=o(9215),l=o(7608),u=o(6079),c=o(5911),f=o(3536),h=o(244);function d(A,L,_){return Math.sqrt(Math.pow(A,2)+Math.pow(L,2)+Math.pow(_,2))}function v(A){return Math.min(1,Math.max(-1,A))}function x(A){var L=Math.abs(A[0]),_=Math.abs(A[1]),C=Math.abs(A[2]),M=[0,0,0];L>Math.max(_,C)?M[2]=1:_>Math.max(L,C)?M[0]=1:M[1]=1;for(var g=0,P=0,T=0;T<3;++T)g+=A[T]*A[T],P+=M[T]*A[T];for(var T=0;T<3;++T)M[T]-=P/g*A[T];return f(M,M),M}function b(A,L,_,C,M,g,P,T){this.center=s(_),this.up=s(C),this.right=s(M),this.radius=s([g]),this.angle=s([P,T]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(A,L),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 F=0;F<16;++F)this.computedMatrix[F]=.5;this.recalcMatrix(0)}var p=b.prototype;p.setDistanceLimits=function(A,L){A>0?A=Math.log(A):A=-1/0,L>0?L=Math.log(L):L=1/0,L=Math.max(L,A),this.radius.bounds[0][0]=A,this.radius.bounds[1][0]=L},p.getDistanceLimits=function(A){var L=this.radius.bounds[0];return A?(A[0]=Math.exp(L[0][0]),A[1]=Math.exp(L[1][0]),A):[Math.exp(L[0][0]),Math.exp(L[1][0])]},p.recalcMatrix=function(A){this.center.curve(A),this.up.curve(A),this.right.curve(A),this.radius.curve(A),this.angle.curve(A);for(var L=this.computedUp,_=this.computedRight,C=0,M=0,g=0;g<3;++g)M+=L[g]*_[g],C+=L[g]*L[g];for(var P=Math.sqrt(C),T=0,g=0;g<3;++g)_[g]-=L[g]*M/C,T+=_[g]*_[g],L[g]/=P;for(var F=Math.sqrt(T),g=0;g<3;++g)_[g]/=F;var q=this.computedToward;c(q,L,_),f(q,q);for(var V=Math.exp(this.computedRadius[0]),H=this.computedAngle[0],X=this.computedAngle[1],G=Math.cos(H),N=Math.sin(H),W=Math.cos(X),re=Math.sin(X),ae=this.computedCenter,_e=G*W,Me=N*W,ke=re,ge=-G*re,ie=-N*re,Te=W,Ee=this.computedEye,Ae=this.computedMatrix,g=0;g<3;++g){var ze=_e*_[g]+Me*q[g]+ke*L[g];Ae[4*g+1]=ge*_[g]+ie*q[g]+Te*L[g],Ae[4*g+2]=ze,Ae[4*g+3]=0}var Ce=Ae[1],me=Ae[5],Re=Ae[9],ce=Ae[2],Ge=Ae[6],nt=Ae[10],ct=me*nt-Re*Ge,qt=Re*ce-Ce*nt,rt=Ce*Ge-me*ce,ot=d(ct,qt,rt);ct/=ot,qt/=ot,rt/=ot,Ae[0]=ct,Ae[4]=qt,Ae[8]=rt;for(var g=0;g<3;++g)Ee[g]=ae[g]+Ae[2+4*g]*V;for(var g=0;g<3;++g){for(var T=0,Rt=0;Rt<3;++Rt)T+=Ae[g+4*Rt]*Ee[Rt];Ae[12+g]=-T}Ae[15]=1},p.getMatrix=function(A,L){this.recalcMatrix(A);var _=this.computedMatrix;if(L){for(var C=0;C<16;++C)L[C]=_[C];return L}return _};var E=[0,0,0];p.rotate=function(A,L,_,C){if(this.angle.move(A,L,_),C){this.recalcMatrix(A);var M=this.computedMatrix;E[0]=M[2],E[1]=M[6],E[2]=M[10];for(var g=this.computedUp,P=this.computedRight,T=this.computedToward,F=0;F<3;++F)M[4*F]=g[F],M[4*F+1]=P[F],M[4*F+2]=T[F];u(M,M,C,E);for(var F=0;F<3;++F)g[F]=M[4*F],P[F]=M[4*F+1];this.up.set(A,g[0],g[1],g[2]),this.right.set(A,P[0],P[1],P[2])}},p.pan=function(A,L,_,C){L=L||0,_=_||0,C=C||0,this.recalcMatrix(A);var M=this.computedMatrix,g=Math.exp(this.computedRadius[0]),P=M[1],T=M[5],F=M[9],q=d(P,T,F);P/=q,T/=q,F/=q;var V=M[0],H=M[4],X=M[8],G=V*P+H*T+X*F;V-=P*G,H-=T*G,X-=F*G;var N=d(V,H,X);V/=N,H/=N,X/=N;var W=V*L+P*_,re=H*L+T*_,ae=X*L+F*_;this.center.move(A,W,re,ae);var _e=Math.exp(this.computedRadius[0]);_e=Math.max(1e-4,_e+C),this.radius.set(A,Math.log(_e))},p.translate=function(A,L,_,C){this.center.move(A,L||0,_||0,C||0)},p.setMatrix=function(A,L,_,C){var M=1;typeof _==\"number\"&&(M=_|0),(M<0||M>3)&&(M=1);var g=(M+2)%3,P=(M+1)%3;L||(this.recalcMatrix(A),L=this.computedMatrix);var T=L[M],F=L[M+4],q=L[M+8];if(C){var H=Math.abs(T),X=Math.abs(F),G=Math.abs(q),N=Math.max(H,X,G);H===N?(T=T<0?-1:1,F=q=0):G===N?(q=q<0?-1:1,T=F=0):(F=F<0?-1:1,T=q=0)}else{var V=d(T,F,q);T/=V,F/=V,q/=V}var W=L[g],re=L[g+4],ae=L[g+8],_e=W*T+re*F+ae*q;W-=T*_e,re-=F*_e,ae-=q*_e;var Me=d(W,re,ae);W/=Me,re/=Me,ae/=Me;var ke=F*ae-q*re,ge=q*W-T*ae,ie=T*re-F*W,Te=d(ke,ge,ie);ke/=Te,ge/=Te,ie/=Te,this.center.jump(A,er,Ke,xt),this.radius.idle(A),this.up.jump(A,T,F,q),this.right.jump(A,W,re,ae);var Ee,Ae;if(M===2){var ze=L[1],Ce=L[5],me=L[9],Re=ze*W+Ce*re+me*ae,ce=ze*ke+Ce*ge+me*ie;qt<0?Ee=-Math.PI/2:Ee=Math.PI/2,Ae=Math.atan2(ce,Re)}else{var Ge=L[2],nt=L[6],ct=L[10],qt=Ge*T+nt*F+ct*q,rt=Ge*W+nt*re+ct*ae,ot=Ge*ke+nt*ge+ct*ie;Ee=Math.asin(v(qt)),Ae=Math.atan2(ot,rt)}this.angle.jump(A,Ae,Ee),this.recalcMatrix(A);var Rt=L[2],kt=L[6],Ct=L[10],Yt=this.computedMatrix;l(Yt,L);var xr=Yt[15],er=Yt[12]/xr,Ke=Yt[13]/xr,xt=Yt[14]/xr,bt=Math.exp(this.computedRadius[0]);this.center.jump(A,er-Rt*bt,Ke-kt*bt,xt-Ct*bt)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(A){this.center.idle(A),this.up.idle(A),this.right.idle(A),this.radius.idle(A),this.angle.idle(A)},p.flush=function(A){this.center.flush(A),this.up.flush(A),this.right.flush(A),this.radius.flush(A),this.angle.flush(A)},p.setDistance=function(A,L){L>0&&this.radius.set(A,Math.log(L))},p.lookAt=function(A,L,_,C){this.recalcMatrix(A),L=L||this.computedEye,_=_||this.computedCenter,C=C||this.computedUp;var M=C[0],g=C[1],P=C[2],T=d(M,g,P);if(!(T<1e-6)){M/=T,g/=T,P/=T;var F=L[0]-_[0],q=L[1]-_[1],V=L[2]-_[2],H=d(F,q,V);if(!(H<1e-6)){F/=H,q/=H,V/=H;var X=this.computedRight,G=X[0],N=X[1],W=X[2],re=M*G+g*N+P*W;G-=re*M,N-=re*g,W-=re*P;var ae=d(G,N,W);if(!(ae<.01&&(G=g*V-P*q,N=P*F-M*V,W=M*q-g*F,ae=d(G,N,W),ae<1e-6))){G/=ae,N/=ae,W/=ae,this.up.set(A,M,g,P),this.right.set(A,G,N,W),this.center.set(A,_[0],_[1],_[2]),this.radius.set(A,Math.log(H));var _e=g*W-P*N,Me=P*G-M*W,ke=M*N-g*G,ge=d(_e,Me,ke);_e/=ge,Me/=ge,ke/=ge;var ie=M*F+g*q+P*V,Te=G*F+N*q+W*V,Ee=_e*F+Me*q+ke*V,Ae=Math.asin(v(ie)),ze=Math.atan2(Ee,Te),Ce=this.angle._state,me=Ce[Ce.length-1],Re=Ce[Ce.length-2];me=me%(2*Math.PI);var ce=Math.abs(me+2*Math.PI-ze),Ge=Math.abs(me-ze),nt=Math.abs(me-2*Math.PI-ze);ce<Ge&&(me+=2*Math.PI),nt<Ge&&(me-=2*Math.PI),this.angle.jump(this.angle.lastT(),me,Re),this.angle.set(A,ze,Ae)}}}};function k(A){A=A||{};var L=A.center||[0,0,0],_=A.up||[0,1,0],C=A.right||x(_),M=A.radius||1,g=A.theta||0,P=A.phi||0;if(L=[].slice.call(L,0,3),_=[].slice.call(_,0,3),f(_,_),C=[].slice.call(C,0,3),f(C,C),\"eye\"in A){var T=A.eye,F=[T[0]-L[0],T[1]-L[1],T[2]-L[2]];c(C,F,_),d(C[0],C[1],C[2])<1e-6?C=x(_):f(C,C),M=d(F[0],F[1],F[2]);var q=h(_,F)/M,V=h(C,F)/M;P=Math.acos(q),g=Math.acos(V)}return M=Math.log(M),new b(A.zoomMin,A.zoomMax,L,_,C,M,g,P)}},5250:function(i){\"use strict\";i.exports=o;var a=+(Math.pow(2,27)+1);function o(s,l,u){var c=s*l,f=a*s,h=f-s,d=f-h,v=s-d,x=a*l,b=x-l,p=x-b,E=l-p,k=c-d*p,A=k-v*p,L=A-d*E,_=v*E-L;return u?(u[0]=_,u[1]=c,u):[_,c]}},9362:function(i){\"use strict\";i.exports=a;function a(o,s,l){var u=o+s,c=u-o,f=u-c,h=s-c,d=o-f;return l?(l[0]=d+h,l[1]=u,l):[d+h,u]}},1888:function(i,a,o){\"use strict\";var s=o(8828),l=o(1338),u=o(4793).hp;o.g.__TYPEDARRAY_POOL||(o.g.__TYPEDARRAY_POOL={UINT8:l([32,0]),UINT16:l([32,0]),UINT32:l([32,0]),BIGUINT64:l([32,0]),INT8:l([32,0]),INT16:l([32,0]),INT32:l([32,0]),BIGINT64:l([32,0]),FLOAT:l([32,0]),DOUBLE:l([32,0]),DATA:l([32,0]),UINT8C:l([32,0]),BUFFER:l([32,0])});var c=typeof Uint8ClampedArray!=\"undefined\",f=typeof BigUint64Array!=\"undefined\",h=typeof BigInt64Array!=\"undefined\",d=o.g.__TYPEDARRAY_POOL;d.UINT8C||(d.UINT8C=l([32,0])),d.BIGUINT64||(d.BIGUINT64=l([32,0])),d.BIGINT64||(d.BIGINT64=l([32,0])),d.BUFFER||(d.BUFFER=l([32,0]));var v=d.DATA,x=d.BUFFER;a.free=function(G){if(u.isBuffer(G))x[s.log2(G.length)].push(G);else{if(Object.prototype.toString.call(G)!==\"[object ArrayBuffer]\"&&(G=G.buffer),!G)return;var N=G.length||G.byteLength,W=s.log2(N)|0;v[W].push(G)}};function b(X){if(X){var G=X.length||X.byteLength,N=s.log2(G);v[N].push(X)}}function p(X){b(X.buffer)}a.freeUint8=a.freeUint16=a.freeUint32=a.freeBigUint64=a.freeInt8=a.freeInt16=a.freeInt32=a.freeBigInt64=a.freeFloat32=a.freeFloat=a.freeFloat64=a.freeDouble=a.freeUint8Clamped=a.freeDataView=p,a.freeArrayBuffer=b,a.freeBuffer=function(G){x[s.log2(G.length)].push(G)},a.malloc=function(G,N){if(N===void 0||N===\"arraybuffer\")return E(G);switch(N){case\"uint8\":return k(G);case\"uint16\":return A(G);case\"uint32\":return L(G);case\"int8\":return _(G);case\"int16\":return C(G);case\"int32\":return M(G);case\"float\":case\"float32\":return g(G);case\"double\":case\"float64\":return P(G);case\"uint8_clamped\":return T(G);case\"bigint64\":return q(G);case\"biguint64\":return F(G);case\"buffer\":return H(G);case\"data\":case\"dataview\":return V(G);default:return null}return null};function E(G){var G=s.nextPow2(G),N=s.log2(G),W=v[N];return W.length>0?W.pop():new ArrayBuffer(G)}a.mallocArrayBuffer=E;function k(X){return new Uint8Array(E(X),0,X)}a.mallocUint8=k;function A(X){return new Uint16Array(E(2*X),0,X)}a.mallocUint16=A;function L(X){return new Uint32Array(E(4*X),0,X)}a.mallocUint32=L;function _(X){return new Int8Array(E(X),0,X)}a.mallocInt8=_;function C(X){return new Int16Array(E(2*X),0,X)}a.mallocInt16=C;function M(X){return new Int32Array(E(4*X),0,X)}a.mallocInt32=M;function g(X){return new Float32Array(E(4*X),0,X)}a.mallocFloat32=a.mallocFloat=g;function P(X){return new Float64Array(E(8*X),0,X)}a.mallocFloat64=a.mallocDouble=P;function T(X){return c?new Uint8ClampedArray(E(X),0,X):k(X)}a.mallocUint8Clamped=T;function F(X){return f?new BigUint64Array(E(8*X),0,X):null}a.mallocBigUint64=F;function q(X){return h?new BigInt64Array(E(8*X),0,X):null}a.mallocBigInt64=q;function V(X){return new DataView(E(X),0,X)}a.mallocDataView=V;function H(X){X=s.nextPow2(X);var G=s.log2(X),N=x[G];return N.length>0?N.pop():new u(X)}a.mallocBuffer=H,a.clearCache=function(){for(var G=0;G<32;++G)d.UINT8[G].length=0,d.UINT16[G].length=0,d.UINT32[G].length=0,d.INT8[G].length=0,d.INT16[G].length=0,d.INT32[G].length=0,d.FLOAT[G].length=0,d.DOUBLE[G].length=0,d.BIGUINT64[G].length=0,d.BIGINT64[G].length=0,d.UINT8C[G].length=0,v[G].length=0,x[G].length=0}},1755:function(i){\"use strict\";\"use restrict\";i.exports=a;function a(s){this.roots=new Array(s),this.ranks=new Array(s);for(var l=0;l<s;++l)this.roots[l]=l,this.ranks[l]=0}var o=a.prototype;Object.defineProperty(o,\"length\",{get:function(){return this.roots.length}}),o.makeSet=function(){var s=this.roots.length;return this.roots.push(s),this.ranks.push(0),s},o.find=function(s){for(var l=s,u=this.roots;u[s]!==s;)s=u[s];for(;u[l]!==s;){var c=u[l];u[l]=s,l=c}return s},o.link=function(s,l){var u=this.find(s),c=this.find(l);if(u!==c){var f=this.ranks,h=this.roots,d=f[u],v=f[c];d<v?h[u]=c:v<d?h[c]=u:(h[c]=u,++f[u])}}},1682:function(i){\"use strict\";function a(l,u){for(var c=1,f=l.length,h=l[0],d=l[0],v=1;v<f;++v)if(d=h,h=l[v],u(h,d)){if(v===c){c++;continue}l[c++]=h}return l.length=c,l}function o(l){for(var u=1,c=l.length,f=l[0],h=l[0],d=1;d<c;++d,h=f)if(h=f,f=l[d],f!==h){if(d===u){u++;continue}l[u++]=f}return l.length=u,l}function s(l,u,c){return l.length===0?l:u?(c||l.sort(u),a(l,u)):(c||l.sort(),o(l))}i.exports=s},4359:function(i,a,o){\"use strict\";i.exports=c;var s=o(7718),l=null,u=null;typeof document!=\"undefined\"&&(l=document.createElement(\"canvas\"),l.width=8192,l.height=1024,u=l.getContext(\"2d\"));function c(f,h){return(typeof h!=\"object\"||h===null)&&(h={}),s(f,h.canvas||l,h.context||u,h)}},7718:function(i,a,o){i.exports=q,i.exports.processPixels=F;var s=o(3711),l=o(9618),u=o(5878),c=o(332),f=o(2538),h=o(2095),d=\"b\",v=\"b|\",x=\"i\",b=\"i|\",p=\"sup\",E=\"+\",k=\"+1\",A=\"sub\",L=\"-\",_=\"-1\";function C(V,H,X,G){for(var N=\"<\"+V+\">\",W=\"</\"+V+\">\",re=N.length,ae=W.length,_e=H[0]===E||H[0]===L,Me=0,ke=-ae;Me>-1&&(Me=X.indexOf(N,Me),!(Me===-1||(ke=X.indexOf(W,Me+re),ke===-1)||ke<=Me));){for(var ge=Me;ge<ke+ae;++ge)if(ge<Me+re||ge>=ke)G[ge]=null,X=X.substr(0,ge)+\" \"+X.substr(ge+1);else if(G[ge]!==null){var ie=G[ge].indexOf(H[0]);ie===-1?G[ge]+=H:_e&&(G[ge]=G[ge].substr(0,ie+1)+(1+parseInt(G[ge][ie+1]))+G[ge].substr(ie+2))}var Te=Me+re,Ee=X.substr(Te,ke-Te),Ae=Ee.indexOf(N);Ae!==-1?Me=Ae:Me=ke+ae}return G}function M(V,H,X){for(var G=H.textAlign||\"start\",N=H.textBaseline||\"alphabetic\",W=[1<<30,1<<30],re=[0,0],ae=V.length,_e=0;_e<ae;++_e)for(var Me=V[_e],ke=0;ke<2;++ke)W[ke]=Math.min(W[ke],Me[ke])|0,re[ke]=Math.max(re[ke],Me[ke])|0;var ge=0;switch(G){case\"center\":ge=-.5*(W[0]+re[0]);break;case\"right\":case\"end\":ge=-re[0];break;case\"left\":case\"start\":ge=-W[0];break;default:throw new Error(\"vectorize-text: Unrecognized textAlign: '\"+G+\"'\")}var ie=0;switch(N){case\"hanging\":case\"top\":ie=-W[1];break;case\"middle\":ie=-.5*(W[1]+re[1]);break;case\"alphabetic\":case\"ideographic\":ie=-3*X;break;case\"bottom\":ie=-re[1];break;default:throw new Error(\"vectorize-text: Unrecoginized textBaseline: '\"+N+\"'\")}var Te=1/X;return\"lineHeight\"in H?Te*=+H.lineHeight:\"width\"in H?Te=H.width/(re[0]-W[0]):\"height\"in H&&(Te=H.height/(re[1]-W[1])),V.map(function(Ee){return[Te*(Ee[0]+ge),Te*(Ee[1]+ie)]})}function g(V,H,X,G,N,W){X=X.replace(/\\n/g,\"\"),W.breaklines===!0?X=X.replace(/\\<br\\>/g,`\n", - "`):X=X.replace(/\\<br\\>/g,\" \");var re=\"\",ae=[];for(me=0;me<X.length;++me)ae[me]=re;W.bolds===!0&&(ae=C(d,v,X,ae)),W.italics===!0&&(ae=C(x,b,X,ae)),W.superscripts===!0&&(ae=C(p,k,X,ae)),W.subscripts===!0&&(ae=C(A,_,X,ae));var _e=[],Me=\"\";for(me=0;me<X.length;++me)ae[me]!==null&&(Me+=X[me],_e.push(ae[me]));var ke=Me.split(`\n", - "`),ge=ke.length,ie=Math.round(N*G),Te=G,Ee=G*2,Ae=0,ze=ge*ie+Ee;V.height<ze&&(V.height=ze),H.fillStyle=\"#000\",H.fillRect(0,0,V.width,V.height),H.fillStyle=\"#fff\";var Ce,me,Re,ce,Ge,nt=0,ct=\"\";function qt(){if(ct!==\"\"){var Ke=H.measureText(ct).width;H.fillText(ct,Te+Re,Ee+ce),Re+=Ke}}function rt(){return\"\"+Math.round(Ge)+\"px \"}function ot(Ke,xt){var bt=\"\"+H.font;if(W.subscripts===!0){var Lt=Ke.indexOf(L),St=xt.indexOf(L),Et=Lt>-1?parseInt(Ke[1+Lt]):0,dt=St>-1?parseInt(xt[1+St]):0;Et!==dt&&(bt=bt.replace(rt(),\"?px \"),Ge*=Math.pow(.75,dt-Et),bt=bt.replace(\"?px \",rt())),ce+=.25*ie*(dt-Et)}if(W.superscripts===!0){var Ht=Ke.indexOf(E),$t=xt.indexOf(E),fr=Ht>-1?parseInt(Ke[1+Ht]):0,_r=$t>-1?parseInt(xt[1+$t]):0;fr!==_r&&(bt=bt.replace(rt(),\"?px \"),Ge*=Math.pow(.75,_r-fr),bt=bt.replace(\"?px \",rt())),ce-=.25*ie*(_r-fr)}if(W.bolds===!0){var Br=Ke.indexOf(v)>-1,Or=xt.indexOf(v)>-1;!Br&&Or&&(Nr?bt=bt.replace(\"italic \",\"italic bold \"):bt=\"bold \"+bt),Br&&!Or&&(bt=bt.replace(\"bold \",\"\"))}if(W.italics===!0){var Nr=Ke.indexOf(b)>-1,ut=xt.indexOf(b)>-1;!Nr&&ut&&(bt=\"italic \"+bt),Nr&&!ut&&(bt=bt.replace(\"italic \",\"\"))}H.font=bt}for(Ce=0;Ce<ge;++Ce){var Rt=ke[Ce]+`\n", - "`;for(Re=0,ce=Ce*ie,Ge=G,ct=\"\",me=0;me<Rt.length;++me){var kt=me+nt<_e.length?_e[me+nt]:_e[_e.length-1];re===kt?ct+=Rt[me]:(qt(),ct=Rt[me],kt!==void 0&&(ot(re,kt),re=kt))}qt(),nt+=Rt.length;var Ct=Math.round(Re+2*Te)|0;Ae<Ct&&(Ae=Ct)}var Yt=Ae,xr=Ee+ie*ge,er=l(H.getImageData(0,0,Yt,xr).data,[xr,Yt,4]);return er.pick(-1,-1,0).transpose(1,0)}function P(V,H){var X=s(V,128);return H?u(X.cells,X.positions,.25):{edges:X.cells,positions:X.positions}}function T(V,H,X,G){var N=P(V,G),W=M(N.positions,H,X),re=N.edges,ae=H.orientation===\"ccw\";if(c(W,re),H.polygons||H.polygon||H.polyline){for(var _e=h(re,W),Me=new Array(_e.length),ke=0;ke<_e.length;++ke){for(var ge=_e[ke],ie=new Array(ge.length),Te=0;Te<ge.length;++Te){for(var Ee=ge[Te],Ae=new Array(Ee.length),ze=0;ze<Ee.length;++ze)Ae[ze]=W[Ee[ze]].slice();ae&&Ae.reverse(),ie[Te]=Ae}Me[ke]=ie}return Me}else return H.triangles||H.triangulate||H.triangle?{cells:f(W,re,{delaunay:!1,exterior:!1,interior:!0}),positions:W}:{edges:re,positions:W}}function F(V,H,X){try{return T(V,H,X,!0)}catch(G){}try{return T(V,H,X,!1)}catch(G){}return H.polygons||H.polyline||H.polygon?[]:H.triangles||H.triangulate||H.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}function q(V,H,X,G){var N=64,W=1.25,re={breaklines:!1,bolds:!1,italics:!1,subscripts:!1,superscripts:!1};G&&(G.size&&G.size>0&&(N=G.size),G.lineSpacing&&G.lineSpacing>0&&(W=G.lineSpacing),G.styletags&&G.styletags.breaklines&&(re.breaklines=!!G.styletags.breaklines),G.styletags&&G.styletags.bolds&&(re.bolds=!!G.styletags.bolds),G.styletags&&G.styletags.italics&&(re.italics=!!G.styletags.italics),G.styletags&&G.styletags.subscripts&&(re.subscripts=!!G.styletags.subscripts),G.styletags&&G.styletags.superscripts&&(re.superscripts=!!G.styletags.superscripts)),X.font=[G.fontStyle,G.fontVariant,G.fontWeight,N+\"px\",G.font].filter(function(_e){return _e}).join(\" \"),X.textAlign=\"start\",X.textBaseline=\"alphabetic\",X.direction=\"ltr\";var ae=g(H,X,V,N,W,re);return F(ae,G,N)}},1538:function(i){(function(){\"use strict\";if(typeof ses!=\"undefined\"&&ses.ok&&!ses.ok())return;function o(T){T.permitHostObjects___&&T.permitHostObjects___(o)}typeof ses!=\"undefined\"&&(ses.weakMapPermitHostObjects=o);var s=!1;if(typeof WeakMap==\"function\"){var l=WeakMap;if(!(typeof navigator!=\"undefined\"&&/Firefox/.test(navigator.userAgent))){var u=new l,c=Object.freeze({});if(u.set(c,1),u.get(c)!==1)s=!0;else{i.exports=WeakMap;return}}}var f=Object.prototype.hasOwnProperty,h=Object.getOwnPropertyNames,d=Object.defineProperty,v=Object.isExtensible,x=\"weakmap:\",b=x+\"ident:\"+Math.random()+\"___\";if(typeof crypto!=\"undefined\"&&typeof crypto.getRandomValues==\"function\"&&typeof ArrayBuffer==\"function\"&&typeof Uint8Array==\"function\"){var p=new ArrayBuffer(25),E=new Uint8Array(p);crypto.getRandomValues(E),b=x+\"rand:\"+Array.prototype.map.call(E,function(T){return(T%36).toString(36)}).join(\"\")+\"___\"}function k(T){return!(T.substr(0,x.length)==x&&T.substr(T.length-3)===\"___\")}if(d(Object,\"getOwnPropertyNames\",{value:function(F){return h(F).filter(k)}}),\"getPropertyNames\"in Object){var A=Object.getPropertyNames;d(Object,\"getPropertyNames\",{value:function(F){return A(F).filter(k)}})}function L(T){if(T!==Object(T))throw new TypeError(\"Not an object: \"+T);var F=T[b];if(F&&F.key===T)return F;if(v(T)){F={key:T};try{return d(T,b,{value:F,writable:!1,enumerable:!1,configurable:!1}),F}catch(q){return}}}(function(){var T=Object.freeze;d(Object,\"freeze\",{value:function(H){return L(H),T(H)}});var F=Object.seal;d(Object,\"seal\",{value:function(H){return L(H),F(H)}});var q=Object.preventExtensions;d(Object,\"preventExtensions\",{value:function(H){return L(H),q(H)}})})();function _(T){return T.prototype=null,Object.freeze(T)}var C=!1;function M(){!C&&typeof console!=\"undefined\"&&(C=!0,console.warn(\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\"))}var g=0,P=function(){this instanceof P||M();var T=[],F=[],q=g++;function V(N,W){var re,ae=L(N);return ae?q in ae?ae[q]:W:(re=T.indexOf(N),re>=0?F[re]:W)}function H(N){var W=L(N);return W?q in W:T.indexOf(N)>=0}function X(N,W){var re,ae=L(N);return ae?ae[q]=W:(re=T.indexOf(N),re>=0?F[re]=W:(re=T.length,F[re]=W,T[re]=N)),this}function G(N){var W=L(N),re,ae;return W?q in W&&delete W[q]:(re=T.indexOf(N),re<0?!1:(ae=T.length-1,T[re]=void 0,F[re]=F[ae],T[re]=T[ae],T.length=ae,F.length=ae,!0))}return Object.create(P.prototype,{get___:{value:_(V)},has___:{value:_(H)},set___:{value:_(X)},delete___:{value:_(G)}})};P.prototype=Object.create(Object.prototype,{get:{value:function(F,q){return this.get___(F,q)},writable:!0,configurable:!0},has:{value:function(F){return this.has___(F)},writable:!0,configurable:!0},set:{value:function(F,q){return this.set___(F,q)},writable:!0,configurable:!0},delete:{value:function(F){return this.delete___(F)},writable:!0,configurable:!0}}),typeof l==\"function\"?function(){s&&typeof Proxy!=\"undefined\"&&(Proxy=void 0);function T(){this instanceof P||M();var F=new l,q=void 0,V=!1;function H(W,re){return q?F.has(W)?F.get(W):q.get___(W,re):F.get(W,re)}function X(W){return F.has(W)||(q?q.has___(W):!1)}var G;s?G=function(W,re){return F.set(W,re),F.has(W)||(q||(q=new P),q.set(W,re)),this}:G=function(W,re){if(V)try{F.set(W,re)}catch(ae){q||(q=new P),q.set___(W,re)}else F.set(W,re);return this};function N(W){var re=!!F.delete(W);return q&&q.delete___(W)||re}return Object.create(P.prototype,{get___:{value:_(H)},has___:{value:_(X)},set___:{value:_(G)},delete___:{value:_(N)},permitHostObjects___:{value:_(function(W){if(W===o)V=!0;else throw new Error(\"bogus call to permitHostObjects___\")})}})}T.prototype=P.prototype,i.exports=T,Object.defineProperty(WeakMap.prototype,\"constructor\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(typeof Proxy!=\"undefined\"&&(Proxy=void 0),i.exports=P)})()},236:function(i,a,o){var s=o(8284);i.exports=l;function l(){var u={};return function(c){if((typeof c!=\"object\"||c===null)&&typeof c!=\"function\")throw new Error(\"Weakmap-shim: Key must be object\");var f=c.valueOf(u);return f&&f.identity===u?f:s(c,u)}}},8284:function(i){i.exports=a;function a(o,s){var l={identity:s},u=o.valueOf;return Object.defineProperty(o,\"valueOf\",{value:function(c){return c!==s?u.apply(this,arguments):l},writable:!0}),l}},606:function(i,a,o){var s=o(236);i.exports=l;function l(){var u=s();return{get:function(c,f){var h=u(c);return h.hasOwnProperty(\"value\")?h.value:f},set:function(c,f){return u(c).value=f,this},has:function(c){return\"value\"in u(c)},delete:function(c){return delete u(c).value}}}},3349:function(i){\"use strict\";function a(){return function(f,h,d,v,x,b){var p=f[0],E=d[0],k=[0],A=E;v|=0;var L=0,_=E;for(L=0;L<p;++L){{var C=h[v]-b,M=h[v+A]-b;C>=0!=M>=0&&x.push(k[0]+.5+.5*(C+M)/(C-M))}v+=_,++k[0]}}}function o(){return a()}var s=o;function l(f){var h={};return function(v,x,b){var p=v.dtype,E=v.order,k=[p,E.join()].join(),A=h[k];return A||(h[k]=A=f([p,E])),A(v.shape.slice(0),v.data,v.stride,v.offset|0,x,b)}}function u(f){return l(s.bind(void 0,f))}function c(f){return u({funcName:f.funcName})}i.exports=c({funcName:\"zeroCrossings\"})},781:function(i,a,o){\"use strict\";i.exports=l;var s=o(3349);function l(u,c){var f=[];return c=+c||0,s(u.hi(u.shape[0]-1),f,c),f}},7790:function(){}},t={};function r(i){var a=t[i];if(a!==void 0)return a.exports;var o=t[i]={id:i,loaded:!1,exports:{}};return e[i].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}(function(){r.g=function(){if(typeof globalThis==\"object\")return globalThis;try{return this||new Function(\"return this\")()}catch(i){if(typeof window==\"object\")return window}}()})(),function(){r.nmd=function(i){return i.paths=[],i.children||(i.children=[]),i}}();var n=r(1964);cLe.exports=n})()});var rZ=ye((ivr,fLe)=>{\"use strict\";fLe.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]}});var pLe=ye((nvr,vLe)=>{\"use strict\";var hLe=rZ();vLe.exports=lLt;var dLe={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function lLt(e){var t,r=[],n=1,i;if(typeof e==\"string\")if(e=e.toLowerCase(),hLe[e])r=hLe[e].slice(),i=\"rgb\";else if(e===\"transparent\")n=0,i=\"rgb\",r=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var a=e.slice(1),o=a.length,s=o<=4;n=1,s?(r=[parseInt(a[0]+a[0],16),parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16)],o===4&&(n=parseInt(a[3]+a[3],16)/255)):(r=[parseInt(a[0]+a[1],16),parseInt(a[2]+a[3],16),parseInt(a[4]+a[5],16)],o===8&&(n=parseInt(a[6]+a[7],16)/255)),r[0]||(r[0]=0),r[1]||(r[1]=0),r[2]||(r[2]=0),i=\"rgb\"}else if(t=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(e)){var l=t[1],u=l===\"rgb\",a=l.replace(/a$/,\"\");i=a;var o=a===\"cmyk\"?4:a===\"gray\"?1:3;r=t[2].trim().split(/\\s*[,\\/]\\s*|\\s+/).map(function(h,d){if(/%$/.test(h))return d===o?parseFloat(h)/100:a===\"rgb\"?parseFloat(h)*255/100:parseFloat(h);if(a[d]===\"h\"){if(/deg$/.test(h))return parseFloat(h);if(dLe[h]!==void 0)return dLe[h]}return parseFloat(h)}),l===a&&r.push(1),n=u||r[o]===void 0?1:r[o],r=r.slice(0,o)}else e.length>10&&/[0-9](?:\\s|\\/)/.test(e)&&(r=e.match(/([0-9]+)/g).map(function(c){return parseFloat(c)}),i=e.match(/([a-z])/ig).join(\"\").toLowerCase());else isNaN(e)?Array.isArray(e)||e.length?(r=[e[0],e[1],e[2]],i=\"rgb\",n=e.length===4?e[3]:1):e instanceof Object&&(e.r!=null||e.red!=null||e.R!=null?(i=\"rgb\",r=[e.r||e.red||e.R||0,e.g||e.green||e.G||0,e.b||e.blue||e.B||0]):(i=\"hsl\",r=[e.h||e.hue||e.H||0,e.s||e.saturation||e.S||0,e.l||e.lightness||e.L||e.b||e.brightness]),n=e.a||e.alpha||e.opacity||1,e.opacity!=null&&(n/=100)):(i=\"rgb\",r=[e>>>16,(e&65280)>>>8,e&255]);return{space:i,values:r,alpha:n}}});var mLe=ye((avr,gLe)=>{\"use strict\";var uLt=pLe();gLe.exports=function(t){Array.isArray(t)&&t.raw&&(t=String.raw.apply(null,arguments));var r,n,i,a=uLt(t);if(!a.space)return[];var o=[0,0,0],s=a.space[0]===\"h\"?[360,100,100]:[255,255,255];return r=Array(3),r[0]=Math.min(Math.max(a.values[0],o[0]),s[0]),r[1]=Math.min(Math.max(a.values[1],o[1]),s[1]),r[2]=Math.min(Math.max(a.values[2],o[2]),s[2]),a.space[0]===\"h\"&&(r=cLt(r)),r.push(Math.min(Math.max(a.alpha,0),1)),r};function cLt(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100,i,a,o,s,l,u=0;if(r===0)return l=n*255,[l,l,l];for(a=n<.5?n*(1+r):n+r-n*r,i=2*n-a,s=[0,0,0];u<3;)o=t+1/3*-(u-1),o<0?o++:o>1&&o--,l=6*o<1?i+(a-i)*6*o:2*o<1?a:3*o<2?i+(a-i)*(2/3-o)*6:i,s[u++]=l*255;return s}});var VE=ye((ovr,yLe)=>{yLe.exports=fLt;function fLt(e,t,r){return t<r?e<t?t:e>r?r:e:e<r?r:e>t?t:e}});var HD=ye((svr,_Le)=>{_Le.exports=function(e){switch(e){case\"int8\":return Int8Array;case\"int16\":return Int16Array;case\"int32\":return Int32Array;case\"uint8\":return Uint8Array;case\"uint16\":return Uint16Array;case\"uint32\":return Uint32Array;case\"float32\":return Float32Array;case\"float64\":return Float64Array;case\"array\":return Array;case\"uint8_clamped\":return Uint8ClampedArray}}});var $_=ye((lvr,xLe)=>{\"use strict\";var hLt=mLe(),GD=VE(),dLt=HD();xLe.exports=function(t,r){(r===\"float\"||!r)&&(r=\"array\"),r===\"uint\"&&(r=\"uint8\"),r===\"uint_clamped\"&&(r=\"uint8_clamped\");var n=dLt(r),i=new n(4),a=r!==\"uint8\"&&r!==\"uint8_clamped\";return(!t.length||typeof t==\"string\")&&(t=hLt(t),t[0]/=255,t[1]/=255,t[2]/=255),vLt(t)?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:255,a&&(i[0]/=255,i[1]/=255,i[2]/=255,i[3]/=255),i):(a?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:1):(i[0]=GD(Math.floor(t[0]*255),0,255),i[1]=GD(Math.floor(t[1]*255),0,255),i[2]=GD(Math.floor(t[2]*255),0,255),i[3]=t[3]==null?255:GD(Math.floor(t[3]*255),0,255)),i)};function vLt(e){return!!(e instanceof Uint8Array||e instanceof Uint8ClampedArray||Array.isArray(e)&&(e[0]>1||e[0]===0)&&(e[1]>1||e[1]===0)&&(e[2]>1||e[2]===0)&&(!e[3]||e[3]>1))}});var Jy=ye((uvr,bLe)=>{\"use strict\";var pLt=$_();function gLt(e){return e?pLt(e):[0,0,0,1]}bLe.exports=gLt});var $y=ye((cvr,kLe)=>{\"use strict\";var MLe=uo(),mLt=id(),jD=$_(),WD=Mu(),yLt=dh().defaultLine,wLe=vv().isArrayOrTypedArray,iZ=jD(yLt),ELe=1;function TLe(e,t){var r=e;return r[3]*=t,r}function ALe(e){if(MLe(e))return iZ;var t=jD(e);return t.length?t:iZ}function SLe(e){return MLe(e)?e:ELe}function _Lt(e,t,r){var n=e.color;n&&n._inputArray&&(n=n._inputArray);var i=wLe(n),a=wLe(t),o=WD.extractOpts(e),s=[],l,u,c,f,h;if(o.colorscale!==void 0?l=WD.makeColorScaleFuncFromTrace(e):l=ALe,i?u=function(v,x){return v[x]===void 0?iZ:jD(l(v[x]))}:u=ALe,a?c=function(v,x){return v[x]===void 0?ELe:SLe(v[x])}:c=SLe,i||a)for(var d=0;d<r;d++)f=u(n,d),h=c(t,d),s[d]=TLe(f,h);else s=TLe(jD(n),t);return s}function xLt(e){var t=WD.extractOpts(e),r=t.colorscale;return t.reversescale&&(r=WD.flipScale(t.colorscale)),r.map(function(n){var i=n[0],a=mLt(n[1]),o=a.toRgb();return{index:i,rgb:[o.r,o.g,o.b,o.a]}})}kLe.exports={formatColor:_Lt,parseColorScale:xLt}});var nZ=ye((fvr,CLe)=>{\"use strict\";CLe.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]}});var ZD=ye((hvr,LLe)=>{\"use strict\";LLe.exports={circle:\"\\u25CF\",\"circle-open\":\"\\u25CB\",square:\"\\u25A0\",\"square-open\":\"\\u25A1\",diamond:\"\\u25C6\",\"diamond-open\":\"\\u25C7\",cross:\"+\",x:\"\\u274C\"}});var ILe=ye((dvr,PLe)=>{\"use strict\";var bLt=ba();function aZ(e,t,r,n){if(!t||!t.visible)return null;for(var i=bLt.getComponentMethod(\"errorbars\",\"makeComputeError\")(t),a=new Array(e.length),o=0;o<e.length;o++){var s=i(+e[o],o);if(n.type===\"log\"){var l=n.c2l(e[o]),u=e[o]-s[0],c=e[o]+s[1];if(a[o]=[(n.c2l(u,!0)-l)*r,(n.c2l(c,!0)-l)*r],u>0){var f=n.c2l(u);n._lowerLogErrorBound||(n._lowerLogErrorBound=f),n._lowerErrorBound=Math.min(n._lowerLogErrorBound,f)}}else a[o]=[-s[0]*r,s[1]*r]}return a}function wLt(e){for(var t=0;t<e.length;t++)if(e[t])return e[t].length;return 0}function TLt(e,t,r){var n=[aZ(e.x,e.error_x,t[0],r.xaxis),aZ(e.y,e.error_y,t[1],r.yaxis),aZ(e.z,e.error_z,t[2],r.zaxis)],i=wLt(n);if(i===0)return null;for(var a=new Array(i),o=0;o<i;o++){for(var s=[[0,0,0],[0,0,0]],l=0;l<3;l++)if(n[l])for(var u=0;u<2;u++)s[u][l]=n[l][o][u];a[o]=s}return a}PLe.exports=TLt});var ULe=ye((vvr,NLe)=>{\"use strict\";var ALt=Rd().gl_line3d,RLe=Rd().gl_scatter3d,SLt=Rd().gl_error3d,MLt=Rd().gl_mesh3d,ELt=Rd().delaunay_triangulate,Qy=Mr(),OLe=Jy(),XD=$y().formatColor,kLt=S3(),oZ=nZ(),CLt=ZD(),LLt=Qa(),PLt=rp().appendArrayPointValue,ILt=ILe();function BLe(e,t){this.scene=e,this.uid=t,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode=\"\",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var lZ=BLe.prototype;lZ.handlePick=function(e){if(e.object&&(e.object===this.linePlot||e.object===this.delaunayMesh||e.object===this.textMarkers||e.object===this.scatterPlot)){var t=e.index=e.data.index;return e.object.highlight&&e.object.highlight(null),this.scatterPlot&&(e.object=this.scatterPlot,this.scatterPlot.highlight(e.data)),e.textLabel=\"\",this.textLabels&&(Qy.isArrayOrTypedArray(this.textLabels)?(this.textLabels[t]||this.textLabels[t]===0)&&(e.textLabel=this.textLabels[t]):e.textLabel=this.textLabels),e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]],!0}};function RLt(e,t,r){var n=(r+1)%3,i=(r+2)%3,a=[],o=[],s;for(s=0;s<e.length;++s){var l=e[s];isNaN(l[n])||!isFinite(l[n])||isNaN(l[i])||!isFinite(l[i])||(a.push([l[n],l[i]]),o.push(s))}var u=ELt(a);for(s=0;s<u.length;++s)for(var c=u[s],f=0;f<c.length;++f)c[f]=o[c[f]];return{positions:e,cells:u,meshColor:t}}function DLt(e){for(var t=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[1,1,1],i=0;i<3;i++){var a=e[i];a&&a.copy_zstyle!==!1&&e[2].visible!==!1&&(a=e[2]),!(!a||!a.visible)&&(t[i]=a.width/2,r[i]=OLe(a.color),n[i]=a.thickness)}return{capSize:t,color:r,lineWidth:n}}function DLe(e){return e==null?0:e.indexOf(\"left\")>-1?-1:e.indexOf(\"right\")>-1?1:0}function zLe(e){return e==null?0:e.indexOf(\"top\")>-1?-1:e.indexOf(\"bottom\")>-1?1:0}function zLt(e){var t=0,r=0,n=[t,r];if(Array.isArray(e))for(var i=0;i<e.length;i++)n[i]=[t,r],e[i]&&(n[i][0]=DLe(e[i]),n[i][1]=zLe(e[i]));else n[0]=DLe(e),n[1]=zLe(e);return n}function FLt(e,t){return t(e*4)}function qLt(e){return CLt[e]}function sZ(e,t,r,n,i){var a=null;if(Qy.isArrayOrTypedArray(e)){a=[];for(var o=0;o<t;o++)e[o]===void 0?a[o]=n:a[o]=r(e[o],i)}else a=r(e,Qy.identity);return a}function OLt(e,t){var r=[],n=e.fullSceneLayout,i=e.dataScale,a=n.xaxis,o=n.yaxis,s=n.zaxis,l=t.marker,u=t.line,c=t.x||[],f=t.y||[],h=t.z||[],d=c.length,v=t.xcalendar,x=t.ycalendar,b=t.zcalendar,p,E,k,A,L,_;for(L=0;L<d;L++)p=a.d2l(c[L],0,v)*i[0],E=o.d2l(f[L],0,x)*i[1],k=s.d2l(h[L],0,b)*i[2],r[L]=[p,E,k];if(Array.isArray(t.text))_=t.text;else if(Qy.isTypedArray(t.text))_=Array.from(t.text);else if(t.text!==void 0)for(_=new Array(d),L=0;L<d;L++)_[L]=t.text;function C(_e,Me){var ke=n[_e];return LLt.tickText(ke,ke.d2l(Me),!0).text}var M=t.texttemplate;if(M){var g=e.fullLayout,P=g._d3locale,T=Array.isArray(M),F=T?Math.min(M.length,d):d,q=T?function(_e){return M[_e]}:function(){return M};for(_=new Array(F),L=0;L<F;L++){var V={x:c[L],y:f[L],z:h[L]},H={xLabel:C(\"xaxis\",c[L]),yLabel:C(\"yaxis\",f[L]),zLabel:C(\"zaxis\",h[L])},X={};PLt(X,t,L);var G=t._meta||{};_[L]=Qy.texttemplateString(q(L),H,P,X,V,G)}}if(A={position:r,mode:t.mode,text:_},\"line\"in t&&(A.lineColor=XD(u,1,d),A.lineWidth=u.width,A.lineDashes=u.dash),\"marker\"in t){var N=kLt(t);A.scatterColor=XD(l,1,d),A.scatterSize=sZ(l.size,d,FLt,20,N),A.scatterMarker=sZ(l.symbol,d,qLt,\"\\u25CF\"),A.scatterLineWidth=l.line.width,A.scatterLineColor=XD(l.line,1,d),A.scatterAngle=0}\"textposition\"in t&&(A.textOffset=zLt(t.textposition),A.textColor=XD(t.textfont,1,d),A.textSize=sZ(t.textfont.size,d,Qy.identity,12),A.textFontFamily=t.textfont.family,A.textFontWeight=t.textfont.weight,A.textFontStyle=t.textfont.style,A.textFontVariant=t.textfont.variant,A.textAngle=0);var W=[\"x\",\"y\",\"z\"];for(A.project=[!1,!1,!1],A.projectScale=[1,1,1],A.projectOpacity=[1,1,1],L=0;L<3;++L){var re=t.projection[W[L]];(A.project[L]=re.show)&&(A.projectOpacity[L]=re.opacity,A.projectScale[L]=re.scale)}A.errorBounds=ILt(t,i,n);var ae=DLt([t.error_x,t.error_y,t.error_z]);return A.errorColor=ae.color,A.errorLineWidth=ae.lineWidth,A.errorCapSize=ae.capSize,A.delaunayAxis=t.surfaceaxis,A.delaunayColor=OLe(t.surfacecolor),A}function FLe(e){if(Qy.isArrayOrTypedArray(e)){var t=e[0];return Qy.isArrayOrTypedArray(t)&&(e=t),\"rgb(\"+e.slice(0,3).map(function(r){return Math.round(r*255)})+\")\"}return null}function qLe(e){return Qy.isArrayOrTypedArray(e)?e.length===4&&typeof e[0]==\"number\"?FLe(e):e.map(FLe):null}lZ.update=function(e){var t=this.scene.glplot.gl,r,n,i,a,o=oZ.solid;this.data=e;var s=OLt(this.scene,e);\"mode\"in s&&(this.mode=s.mode),\"lineDashes\"in s&&s.lineDashes in oZ&&(o=oZ[s.lineDashes]),this.color=qLe(s.scatterColor)||qLe(s.lineColor),this.dataPoints=s.position,r={gl:this.scene.glplot.gl,position:s.position,color:s.lineColor,lineWidth:s.lineWidth||1,dashes:o[0],dashScale:o[1],opacity:e.opacity,connectGaps:e.connectgaps},this.mode.indexOf(\"lines\")!==-1?this.linePlot?this.linePlot.update(r):(this.linePlot=ALt(r),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var l=e.opacity;if(e.marker&&e.marker.opacity!==void 0&&(l*=e.marker.opacity),n={gl:this.scene.glplot.gl,position:s.position,color:s.scatterColor,size:s.scatterSize,glyph:s.scatterMarker,opacity:l,orthographic:!0,lineWidth:s.scatterLineWidth,lineColor:s.scatterLineColor,project:s.project,projectScale:s.projectScale,projectOpacity:s.projectOpacity},this.mode.indexOf(\"markers\")!==-1?this.scatterPlot?this.scatterPlot.update(n):(this.scatterPlot=RLe(n),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),a={gl:this.scene.glplot.gl,position:s.position,glyph:s.text,color:s.textColor,size:s.textSize,angle:s.textAngle,alignment:s.textOffset,font:s.textFontFamily,fontWeight:s.textFontWeight,fontStyle:s.textFontStyle,fontVariant:s.textFontVariant,orthographic:!0,lineWidth:0,project:!1,opacity:e.opacity},this.textLabels=e.hovertext||e.text,this.mode.indexOf(\"text\")!==-1?this.textMarkers?this.textMarkers.update(a):(this.textMarkers=RLe(a),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),i={gl:this.scene.glplot.gl,position:s.position,color:s.errorColor,error:s.errorBounds,lineWidth:s.errorLineWidth,capSize:s.errorCapSize,opacity:e.opacity},this.errorBars?s.errorBounds?this.errorBars.update(i):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):s.errorBounds&&(this.errorBars=SLt(i),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),s.delaunayAxis>=0){var u=RLt(s.position,s.delaunayColor,s.delaunayAxis);u.opacity=e.opacity,this.delaunayMesh?this.delaunayMesh.update(u):(u.gl=t,this.delaunayMesh=MLt(u),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)};lZ.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())};function BLt(e,t){var r=new BLe(e,t.uid);return r.update(t),r}NLe.exports=BLt});var dZ=ye((pvr,GLe)=>{\"use strict\";var e1=Uc(),NLt=Su(),hZ=Jl(),uZ=Oc().axisHoverFormat,ULt=Wo().hovertemplateAttrs,VLt=Wo().texttemplateAttrs,VLe=vl(),HLt=nZ(),GLt=ZD(),Yg=no().extendFlat,jLt=Bu().overrideAll,HLe=Y1(),WLt=e1.line,N2=e1.marker,ZLt=N2.line,XLt=Yg({width:WLt.width,dash:{valType:\"enumerated\",values:HLe(HLt),dflt:\"solid\"}},hZ(\"line\"));function cZ(e){return{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}}}var fZ=GLe.exports=jLt({x:e1.x,y:e1.y,z:{valType:\"data_array\"},text:Yg({},e1.text,{}),texttemplate:VLt({},{}),hovertext:Yg({},e1.hovertext,{}),hovertemplate:ULt(),xhoverformat:uZ(\"x\"),yhoverformat:uZ(\"y\"),zhoverformat:uZ(\"z\"),mode:Yg({},e1.mode,{dflt:\"lines+markers\"}),surfaceaxis:{valType:\"enumerated\",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:\"color\"},projection:{x:cZ(\"x\"),y:cZ(\"y\"),z:cZ(\"z\")},connectgaps:e1.connectgaps,line:XLt,marker:Yg({symbol:{valType:\"enumerated\",values:HLe(GLt),dflt:\"circle\",arrayOk:!0},size:Yg({},N2.size,{dflt:8}),sizeref:N2.sizeref,sizemin:N2.sizemin,sizemode:N2.sizemode,opacity:Yg({},N2.opacity,{arrayOk:!1}),colorbar:N2.colorbar,line:Yg({width:Yg({},ZLt.width,{arrayOk:!1})},hZ(\"marker.line\"))},hZ(\"marker\")),textposition:Yg({},e1.textposition,{dflt:\"top center\"}),textfont:NLt({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:\"calc\",colorEditType:\"style\",arrayOk:!0,variantValues:[\"normal\",\"small-caps\"]}),opacity:VLe.opacity,hoverinfo:Yg({},VLe.hoverinfo)},\"calc\",\"nested\");fZ.x.editType=fZ.y.editType=fZ.z.editType=\"calc+clearAxisTypes\"});var ZLe=ye((gvr,WLe)=>{\"use strict\";var jLe=ba(),YLt=Mr(),vZ=lu(),KLt=$p(),JLt=R0(),$Lt=D0(),QLt=dZ();WLe.exports=function(t,r,n,i){function a(d,v){return YLt.coerce(t,r,QLt,d,v)}var o=ePt(t,r,a,i);if(!o){r.visible=!1;return}a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),a(\"mode\"),vZ.hasMarkers(r)&&KLt(t,r,n,i,a,{noSelect:!0,noAngle:!0}),vZ.hasLines(r)&&(a(\"connectgaps\"),JLt(t,r,n,i,a)),vZ.hasText(r)&&(a(\"texttemplate\"),$Lt(t,r,i,a,{noSelect:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}));var s=(r.line||{}).color,l=(r.marker||{}).color;a(\"surfaceaxis\")>=0&&a(\"surfacecolor\",s||l);for(var u=[\"x\",\"y\",\"z\"],c=0;c<3;++c){var f=\"projection.\"+u[c];a(f+\".show\")&&(a(f+\".opacity\"),a(f+\".scale\"))}var h=jLe.getComponentMethod(\"errorbars\",\"supplyDefaults\");h(t,r,s||l||n,{axis:\"z\"}),h(t,r,s||l||n,{axis:\"y\",inherit:\"z\"}),h(t,r,s||l||n,{axis:\"x\",inherit:\"z\"})};function ePt(e,t,r,n){var i=0,a=r(\"x\"),o=r(\"y\"),s=r(\"z\"),l=jLe.getComponentMethod(\"calendars\",\"handleTraceDefaults\");return l(e,t,[\"x\",\"y\",\"z\"],n),a&&o&&s&&(i=Math.min(a.length,o.length,s.length),t._length=t._xlength=t._ylength=t._zlength=i),i}});var YLe=ye((mvr,XLe)=>{\"use strict\";var tPt=km(),rPt=z0();XLe.exports=function(t,r){var n=[{x:!1,y:!1,trace:r,t:{}}];return tPt(n,r),rPt(t,r),n}});var JLe=ye((yvr,KLe)=>{KLe.exports=iPt;function iPt(e,t){if(typeof e!=\"string\")throw new TypeError(\"must specify type string\");if(t=t||{},typeof document==\"undefined\"&&!t.canvas)return null;var r=t.canvas||document.createElement(\"canvas\");typeof t.width==\"number\"&&(r.width=t.width),typeof t.height==\"number\"&&(r.height=t.height);var n=t,i;try{var a=[e];e.indexOf(\"webgl\")===0&&a.push(\"experimental-\"+e);for(var o=0;o<a.length;o++)if(i=r.getContext(a[o],n),i)return i}catch(s){i=null}return i||null}});var QLe=ye((_vr,$Le)=>{var nPt=JLe();$Le.exports=function(t){return nPt(\"webgl\",t)}});var pZ=ye((xvr,tPe)=>{\"use strict\";var ePe=va(),aPt=function(){};tPe.exports=function(t){for(var r in t)typeof t[r]==\"function\"&&(t[r]=aPt);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var n=document.createElement(\"div\");n.className=\"no-webgl\",n.style.cursor=\"pointer\",n.style.fontSize=\"24px\",n.style.color=ePe.defaults[0],n.style.position=\"absolute\",n.style.left=n.style.top=\"0px\",n.style.width=n.style.height=\"100%\",n.style[\"background-color\"]=ePe.lightLine,n.style[\"z-index\"]=30;var i=document.createElement(\"p\");return i.textContent=\"WebGL is not supported by your browser - visit https://get.webgl.org for more info\",i.style.position=\"relative\",i.style.top=\"50%\",i.style.left=\"50%\",i.style.height=\"30%\",i.style.width=\"50%\",i.style.margin=\"-15% 0 0 -25%\",n.appendChild(i),t.container.appendChild(n),t.container.style.background=\"#FFFFFF\",t.container.onclick=function(){window.open(\"https://get.webgl.org\")},!1}});var nPe=ye((bvr,iPe)=>{\"use strict\";var U2=Jy(),oPt=Mr(),sPt=[\"xaxis\",\"yaxis\",\"zaxis\"];function rPe(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickSize=[12,12,12],this.tickFontWeight=[\"normal\",\"normal\",\"normal\",\"normal\"],this.tickFontStyle=[\"normal\",\"normal\",\"normal\",\"normal\"],this.tickFontVariant=[\"normal\",\"normal\",\"normal\",\"normal\"],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=[\"Open Sans\",\"Open Sans\",\"Open Sans\"],this.labelSize=[20,20,20],this.labelFontWeight=[\"normal\",\"normal\",\"normal\",\"normal\"],this.labelFontStyle=[\"normal\",\"normal\",\"normal\",\"normal\"],this.labelFontVariant=[\"normal\",\"normal\",\"normal\",\"normal\"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}var lPt=rPe.prototype;lPt.merge=function(e,t){for(var r=this,n=0;n<3;++n){var i=t[sPt[n]];if(!i.visible){r.tickEnable[n]=!1,r.labelEnable[n]=!1,r.lineEnable[n]=!1,r.lineTickEnable[n]=!1,r.gridEnable[n]=!1,r.zeroEnable[n]=!1,r.backgroundEnable[n]=!1;continue}r.labels[n]=e._meta?oPt.templateString(i.title.text,e._meta):i.title.text,\"font\"in i.title&&(i.title.font.color&&(r.labelColor[n]=U2(i.title.font.color)),i.title.font.family&&(r.labelFont[n]=i.title.font.family),i.title.font.size&&(r.labelSize[n]=i.title.font.size),i.title.font.weight&&(r.labelFontWeight[n]=i.title.font.weight),i.title.font.style&&(r.labelFontStyle[n]=i.title.font.style),i.title.font.variant&&(r.labelFontVariant[n]=i.title.font.variant)),\"showline\"in i&&(r.lineEnable[n]=i.showline),\"linecolor\"in i&&(r.lineColor[n]=U2(i.linecolor)),\"linewidth\"in i&&(r.lineWidth[n]=i.linewidth),\"showgrid\"in i&&(r.gridEnable[n]=i.showgrid),\"gridcolor\"in i&&(r.gridColor[n]=U2(i.gridcolor)),\"gridwidth\"in i&&(r.gridWidth[n]=i.gridwidth),i.type===\"log\"?r.zeroEnable[n]=!1:\"zeroline\"in i&&(r.zeroEnable[n]=i.zeroline),\"zerolinecolor\"in i&&(r.zeroLineColor[n]=U2(i.zerolinecolor)),\"zerolinewidth\"in i&&(r.zeroLineWidth[n]=i.zerolinewidth),\"ticks\"in i&&i.ticks?r.lineTickEnable[n]=!0:r.lineTickEnable[n]=!1,\"ticklen\"in i&&(r.lineTickLength[n]=r._defaultLineTickLength[n]=i.ticklen),\"tickcolor\"in i&&(r.lineTickColor[n]=U2(i.tickcolor)),\"tickwidth\"in i&&(r.lineTickWidth[n]=i.tickwidth),\"tickangle\"in i&&(r.tickAngle[n]=i.tickangle===\"auto\"?-3600:Math.PI*-i.tickangle/180),\"showticklabels\"in i&&(r.tickEnable[n]=i.showticklabels),\"tickfont\"in i&&(i.tickfont.color&&(r.tickColor[n]=U2(i.tickfont.color)),i.tickfont.family&&(r.tickFont[n]=i.tickfont.family),i.tickfont.size&&(r.tickSize[n]=i.tickfont.size),i.tickfont.weight&&(r.tickFontWeight[n]=i.tickfont.weight),i.tickfont.style&&(r.tickFontStyle[n]=i.tickfont.style),i.tickfont.variant&&(r.tickFontVariant[n]=i.tickfont.variant)),\"mirror\"in i?[\"ticks\",\"all\",\"allticks\"].indexOf(i.mirror)!==-1?(r.lineTickMirror[n]=!0,r.lineMirror[n]=!0):i.mirror===!0?(r.lineTickMirror[n]=!1,r.lineMirror[n]=!0):(r.lineTickMirror[n]=!1,r.lineMirror[n]=!1):r.lineMirror[n]=!1,\"showbackground\"in i&&i.showbackground!==!1?(r.backgroundEnable[n]=!0,r.backgroundColor[n]=U2(i.backgroundcolor)):r.backgroundEnable[n]=!1}};function uPt(e,t){var r=new rPe;return r.merge(e,t),r}iPe.exports=uPt});var sPe=ye((wvr,oPe)=>{\"use strict\";var cPt=Jy(),fPt=[\"xaxis\",\"yaxis\",\"zaxis\"];function aPe(){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]}var hPt=aPe.prototype;hPt.merge=function(e){for(var t=0;t<3;++t){var r=e[fPt[t]];if(!r.visible){this.enabled[t]=!1,this.drawSides[t]=!1;continue}this.enabled[t]=r.showspikes,this.colors[t]=cPt(r.spikecolor),this.drawSides[t]=r.spikesides,this.lineWidth[t]=r.spikethickness}};function dPt(e){var t=new aPe;return t.merge(e),t}oPe.exports=dPt});var cPe=ye((Tvr,uPe)=>{\"use strict\";uPe.exports=yPt;var lPe=Qa(),vPt=Mr(),pPt=[\"xaxis\",\"yaxis\",\"zaxis\"],gPt=[0,0,0];function mPt(e){for(var t=new Array(3),r=0;r<3;++r){for(var n=e[r],i=new Array(n.length),a=0;a<n.length;++a)i[a]=n[a].x;t[r]=i}return t}function yPt(e){for(var t=e.axesOptions,r=e.glplot.axesPixels,n=e.fullSceneLayout,i=[[],[],[]],a=0;a<3;++a){var o=n[pPt[a]];if(o._length=(r[a].hi-r[a].lo)*r[a].pixelsPerDataUnit/e.dataScale[a],Math.abs(o._length)===1/0||isNaN(o._length))i[a]=[];else{o._input_range=o.range.slice(),o.range[0]=r[a].lo/e.dataScale[a],o.range[1]=r[a].hi/e.dataScale[a],o._m=1/(e.dataScale[a]*r[a].pixelsPerDataUnit),o.range[0]===o.range[1]&&(o.range[0]-=1,o.range[1]+=1);var s=o.tickmode;if(o.tickmode===\"auto\"){o.tickmode=\"linear\";var l=o.nticks||vPt.constrain(o._length/40,4,9);lPe.autoTicks(o,Math.abs(o.range[1]-o.range[0])/l)}for(var u=lPe.calcTicks(o,{msUTC:!0}),c=0;c<u.length;++c)u[c].x=u[c].x*e.dataScale[a],o.type===\"date\"&&(u[c].text=u[c].text.replace(/\\<br\\>/g,\" \"));i[a]=u,o.tickmode=s}}t.ticks=i;for(var a=0;a<3;++a){gPt[a]=.5*(e.glplot.bounds[0][a]+e.glplot.bounds[1][a]);for(var c=0;c<2;++c)t.bounds[c][a]=e.glplot.bounds[c][a]}e.contourLevels=mPt(i)}});var mPe=ye((Avr,gPe)=>{\"use strict\";var dPe=Rd().gl_plot3d,_Pt=dPe.createCamera,fPe=dPe.createScene,xPt=QLe(),bPt=kL(),JD=ba(),up=Mr(),KD=up.preserveDrawingBuffer(),$D=Qa(),Kg=Nc(),wPt=Jy(),TPt=pZ(),APt=DU(),SPt=nPe(),MPt=sPe(),EPt=cPe(),kPt=wg().applyAutorangeOptions,HE,YD,vPe=!1;function pPe(e,t){var r=document.createElement(\"div\"),n=e.container;this.graphDiv=e.graphDiv;var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");i.style.position=\"absolute\",i.style.top=i.style.left=\"0px\",i.style.width=i.style.height=\"100%\",i.style[\"z-index\"]=20,i.style[\"pointer-events\"]=\"none\",r.appendChild(i),this.svgContainer=i,r.id=e.id,r.style.position=\"absolute\",r.style.top=r.style.left=\"0px\",r.style.width=r.style.height=\"100%\",n.appendChild(r),this.fullLayout=t,this.id=e.id||\"scene\",this.fullSceneLayout=t[this.id],this.plotArgs=[[],{},{}],this.axesOptions=SPt(t,t[this.id]),this.spikeOptions=MPt(t[this.id]),this.container=r,this.staticMode=!!e.staticPlot,this.pixelRatio=this.pixelRatio||e.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=JD.getComponentMethod(\"annotations3d\",\"convert\"),this.drawAnnotations=JD.getComponentMethod(\"annotations3d\",\"draw\"),this.initializeGLPlot()}var wv=pPe.prototype;wv.prepareOptions=function(){var e=this,t={canvas:e.canvas,gl:e.gl,glOptions:{preserveDrawingBuffer:KD,premultipliedAlpha:!0,antialias:!0},container:e.container,axes:e.axesOptions,spikes:e.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:e.camera,pixelRatio:e.pixelRatio};if(e.staticMode){if(!YD&&(HE=document.createElement(\"canvas\"),YD=xPt({canvas:HE,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}),!YD))throw new Error(\"error creating static canvas/context for image server\");t.gl=YD,t.canvas=HE}return t};var hPe=!0;wv.tryCreatePlot=function(){var e=this,t=e.prepareOptions(),r=!0;try{e.glplot=fPe(t)}catch(n){if(e.staticMode||!hPe||KD)r=!1;else{up.warn([\"webgl setup failed possibly due to\",\"false preserveDrawingBuffer config.\",\"The mobile/tablet device may not be detected by is-mobile module.\",\"Enabling preserveDrawingBuffer in second attempt to create webgl scene...\"].join(\" \"));try{KD=t.glOptions.preserveDrawingBuffer=!0,e.glplot=fPe(t)}catch(i){KD=t.glOptions.preserveDrawingBuffer=!1,r=!1}}}return hPe=!1,r};wv.initializeGLCamera=function(){var e=this,t=e.fullSceneLayout.camera,r=t.projection.type===\"orthographic\";e.camera=_Pt(e.container,{center:[t.center.x,t.center.y,t.center.z],eye:[t.eye.x,t.eye.y,t.eye.z],up:[t.up.x,t.up.y,t.up.z],_ortho:r,zoomMin:.01,zoomMax:100,mode:\"orbit\"})};wv.initializeGLPlot=function(){var e=this;e.initializeGLCamera();var t=e.tryCreatePlot();if(!t)return TPt(e);e.traces={},e.make4thDimension();var r=e.graphDiv,n=r.layout,i=function(){var o={};return e.isCameraChanged(n)&&(o[e.id+\".camera\"]=e.getCamera()),e.isAspectChanged(n)&&(o[e.id+\".aspectratio\"]=e.glplot.getAspectratio(),n[e.id].aspectmode!==\"manual\"&&(e.fullSceneLayout.aspectmode=n[e.id].aspectmode=o[e.id+\".aspectmode\"]=\"manual\")),o},a=function(o){if(o.fullSceneLayout.dragmode!==!1){var s=i();o.saveLayout(n),o.graphDiv.emit(\"plotly_relayout\",s)}};return e.glplot.canvas&&(e.glplot.canvas.addEventListener(\"mouseup\",function(){a(e)}),e.glplot.canvas.addEventListener(\"touchstart\",function(){vPe=!0}),e.glplot.canvas.addEventListener(\"wheel\",function(o){if(r._context._scrollZoom.gl3d){if(e.camera._ortho){var s=o.deltaX>o.deltaY?1.1:.9090909090909091,l=e.glplot.getAspectratio();e.glplot.setAspectratio({x:s*l.x,y:s*l.y,z:s*l.z})}a(e)}},bPt?{passive:!1}:!1),e.glplot.canvas.addEventListener(\"mousemove\",function(){if(e.fullSceneLayout.dragmode!==!1&&e.camera.mouseListener.buttons!==0){var o=i();e.graphDiv.emit(\"plotly_relayouting\",o)}}),e.staticMode||e.glplot.canvas.addEventListener(\"webglcontextlost\",function(o){r&&r.emit&&r.emit(\"plotly_webglcontextlost\",{event:o,layer:e.id})},!1)),e.glplot.oncontextloss=function(){e.recoverContext()},e.glplot.onrender=function(){e.render()},!0};wv.render=function(){var e=this,t=e.graphDiv,r,n=e.svgContainer,i=e.container.getBoundingClientRect();t._fullLayout._calcInverseTransform(t);var a=t._fullLayout._invScaleX,o=t._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),EPt(e),e.glplot.axes.update(e.axesOptions);for(var u=Object.keys(e.traces),c=null,f=e.glplot.selection,h=0;h<u.length;++h)r=e.traces[u[h]],r.data.hoverinfo!==\"skip\"&&r.handlePick(f)&&(c=r),r.setContourLevels&&r.setContourLevels();function d(P,T,F){var q=e.fullSceneLayout[P+\"axis\"];return q.type!==\"log\"&&(T=q.d2l(T)),$D.hoverLabelText(q,T,F)}if(c!==null){var v=APt(e.glplot.cameraParams,f.dataCoordinate);r=c.data;var x=t._fullData[r.index],b=f.index,p={xLabel:d(\"x\",f.traceCoordinate[0],r.xhoverformat),yLabel:d(\"y\",f.traceCoordinate[1],r.yhoverformat),zLabel:d(\"z\",f.traceCoordinate[2],r.zhoverformat)},E=Kg.castHoverinfo(x,e.fullLayout,b),k=(E||\"\").split(\"+\"),A=E&&E===\"all\";!x.hovertemplate&&!A&&(k.indexOf(\"x\")===-1&&(p.xLabel=void 0),k.indexOf(\"y\")===-1&&(p.yLabel=void 0),k.indexOf(\"z\")===-1&&(p.zLabel=void 0),k.indexOf(\"text\")===-1&&(f.textLabel=void 0),k.indexOf(\"name\")===-1&&(c.name=void 0));var L,_=[];r.type===\"cone\"||r.type===\"streamtube\"?(p.uLabel=d(\"x\",f.traceCoordinate[3],r.uhoverformat),(A||k.indexOf(\"u\")!==-1)&&_.push(\"u: \"+p.uLabel),p.vLabel=d(\"y\",f.traceCoordinate[4],r.vhoverformat),(A||k.indexOf(\"v\")!==-1)&&_.push(\"v: \"+p.vLabel),p.wLabel=d(\"z\",f.traceCoordinate[5],r.whoverformat),(A||k.indexOf(\"w\")!==-1)&&_.push(\"w: \"+p.wLabel),p.normLabel=f.traceCoordinate[6].toPrecision(3),(A||k.indexOf(\"norm\")!==-1)&&_.push(\"norm: \"+p.normLabel),r.type===\"streamtube\"&&(p.divergenceLabel=f.traceCoordinate[7].toPrecision(3),(A||k.indexOf(\"divergence\")!==-1)&&_.push(\"divergence: \"+p.divergenceLabel)),f.textLabel&&_.push(f.textLabel),L=_.join(\"<br>\")):r.type===\"isosurface\"||r.type===\"volume\"?(p.valueLabel=$D.hoverLabelText(e._mockAxis,e._mockAxis.d2l(f.traceCoordinate[3]),r.valuehoverformat),_.push(\"value: \"+p.valueLabel),f.textLabel&&_.push(f.textLabel),L=_.join(\"<br>\")):L=f.textLabel;var C={x:f.traceCoordinate[0],y:f.traceCoordinate[1],z:f.traceCoordinate[2],data:x._input,fullData:x,curveNumber:x.index,pointNumber:b};Kg.appendArrayPointValue(C,x,b),r._module.eventData&&(C=x._module.eventData(C,f,x,{},b));var M={points:[C]};if(e.fullSceneLayout.hovermode){var g=[];Kg.loneHover({trace:x,x:(.5+.5*v[0]/v[3])*s,y:(.5-.5*v[1]/v[3])*l,xLabel:p.xLabel,yLabel:p.yLabel,zLabel:p.zLabel,text:L,name:c.name,color:Kg.castHoverOption(x,b,\"bgcolor\")||c.color,borderColor:Kg.castHoverOption(x,b,\"bordercolor\"),fontFamily:Kg.castHoverOption(x,b,\"font.family\"),fontSize:Kg.castHoverOption(x,b,\"font.size\"),fontColor:Kg.castHoverOption(x,b,\"font.color\"),nameLength:Kg.castHoverOption(x,b,\"namelength\"),textAlign:Kg.castHoverOption(x,b,\"align\"),hovertemplate:up.castOption(x,b,\"hovertemplate\"),hovertemplateLabels:up.extendFlat({},C,p),eventData:[C]},{container:n,gd:t,inOut_bbox:g}),C.bbox=g[0]}f.distance<5&&(f.buttons||vPe)?t.emit(\"plotly_click\",M):t.emit(\"plotly_hover\",M),this.oldEventData=M}else Kg.loneUnhover(n),this.oldEventData&&t.emit(\"plotly_unhover\",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)};wv.recoverContext=function(){var e=this;e.glplot.dispose();var t=function(){if(e.glplot.gl.isContextLost()){requestAnimationFrame(t);return}if(!e.initializeGLPlot()){up.error(\"Catastrophic and unrecoverable WebGL error. Context lost.\");return}e.plot.apply(e,e.plotArgs)};requestAnimationFrame(t)};var GE=[\"xaxis\",\"yaxis\",\"zaxis\"];function CPt(e,t,r){for(var n=e.fullSceneLayout,i=0;i<3;i++){var a=GE[i],o=a.charAt(0),s=n[a],l=t[o],u=t[o+\"calendar\"],c=t[\"_\"+o+\"length\"];if(!up.isArrayOrTypedArray(l))r[0][i]=Math.min(r[0][i],0),r[1][i]=Math.max(r[1][i],c-1);else for(var f,h=0;h<(c||l.length);h++)if(up.isArrayOrTypedArray(l[h]))for(var d=0;d<l[h].length;++d)f=s.d2l(l[h][d],0,u),!isNaN(f)&&isFinite(f)&&(r[0][i]=Math.min(r[0][i],f),r[1][i]=Math.max(r[1][i],f));else f=s.d2l(l[h],0,u),!isNaN(f)&&isFinite(f)&&(r[0][i]=Math.min(r[0][i],f),r[1][i]=Math.max(r[1][i],f))}}function LPt(e,t){for(var r=e.fullSceneLayout,n=r.annotations||[],i=0;i<3;i++)for(var a=GE[i],o=a.charAt(0),s=r[a],l=0;l<n.length;l++){var u=n[l];if(u.visible){var c=s.r2l(u[o]);!isNaN(c)&&isFinite(c)&&(t[0][i]=Math.min(t[0][i],c),t[1][i]=Math.max(t[1][i],c))}}}wv.plot=function(e,t,r){var n=this;if(n.plotArgs=[e,t,r],!n.glplot.contextLost){var i,a,o,s,l,u,c=t[n.id],f=r[n.id];n.fullLayout=t,n.fullSceneLayout=c,n.axesOptions.merge(t,c),n.spikeOptions.merge(c),n.setViewport(c),n.updateFx(c.dragmode,c.hovermode),n.camera.enableWheel=n.graphDiv._context._scrollZoom.gl3d,n.glplot.setClearColor(wPt(c.bgcolor)),n.setConvert(l),e?Array.isArray(e)||(e=[e]):e=[];var h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(o=0;o<e.length;++o)i=e[o],!(i.visible!==!0||i._length===0)&&CPt(this,i,h);LPt(this,h);var d=[1,1,1];for(s=0;s<3;++s)h[1][s]===h[0][s]?d[s]=1:d[s]=1/(h[1][s]-h[0][s]);for(n.dataScale=d,n.convertAnnotations(this),o=0;o<e.length;++o)i=e[o],!(i.visible!==!0||i._length===0)&&(a=n.traces[i.uid],a?a.data.type===i.type?a.update(i):(a.dispose(),a=i._module.plot(this,i),n.traces[i.uid]=a):(a=i._module.plot(this,i),n.traces[i.uid]=a),a.name=i.name);var v=Object.keys(n.traces);e:for(o=0;o<v.length;++o){for(s=0;s<e.length;++s)if(e[s].uid===v[o]&&e[s].visible===!0&&e[s]._length!==0)continue e;a=n.traces[v[o]],a.dispose(),delete n.traces[v[o]]}n.glplot.objects.sort(function(ae,_e){return ae._trace.data.index-_e._trace.data.index});var x=[[0,0,0],[0,0,0]],b=[],p={};for(o=0;o<3;++o){l=c[GE[o]],u=l.type,u in p?(p[u].acc*=d[o],p[u].count+=1):p[u]={acc:d[o],count:1};var E;if(l.autorange){x[0][o]=1/0,x[1][o]=-1/0;var k=n.glplot.objects,A=n.fullSceneLayout.annotations||[],L=l._name.charAt(0);for(s=0;s<k.length;s++){var _=k[s],C=_.bounds,M=_._trace.data._pad||0;_.constructor.name===\"ErrorBars\"&&l._lowerLogErrorBound?x[0][o]=Math.min(x[0][o],l._lowerLogErrorBound):x[0][o]=Math.min(x[0][o],C[0][o]/d[o]-M),x[1][o]=Math.max(x[1][o],C[1][o]/d[o]+M)}for(s=0;s<A.length;s++){var g=A[s];if(g.visible){var P=l.r2l(g[L]);x[0][o]=Math.min(x[0][o],P),x[1][o]=Math.max(x[1][o],P)}}if(\"rangemode\"in l&&l.rangemode===\"tozero\"&&(x[0][o]=Math.min(x[0][o],0),x[1][o]=Math.max(x[1][o],0)),x[0][o]>x[1][o])x[0][o]=-1,x[1][o]=1;else{var T=x[1][o]-x[0][o];x[0][o]-=T/32,x[1][o]+=T/32}if(E=[x[0][o],x[1][o]],E=kPt(E,l),x[0][o]=E[0],x[1][o]=E[1],l.isReversed()){var F=x[0][o];x[0][o]=x[1][o],x[1][o]=F}}else E=l.range,x[0][o]=l.r2l(E[0]),x[1][o]=l.r2l(E[1]);x[0][o]===x[1][o]&&(x[0][o]-=1,x[1][o]+=1),b[o]=x[1][o]-x[0][o],l.range=[x[0][o],x[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*d[o],max:l.range[1]*d[o]})}var q,V=c.aspectmode;if(V===\"cube\")q=[1,1,1];else if(V===\"manual\"){var H=c.aspectratio;q=[H.x,H.y,H.z]}else if(V===\"auto\"||V===\"data\"){var X=[1,1,1];for(o=0;o<3;++o){l=c[GE[o]],u=l.type;var G=p[u];X[o]=Math.pow(G.acc,1/G.count)/d[o]}V===\"data\"||Math.max.apply(null,X)/Math.min.apply(null,X)<=4?q=X:q=[1,1,1]}else throw new Error(\"scene.js aspectRatio was not one of the enumerated types\");c.aspectratio.x=f.aspectratio.x=q[0],c.aspectratio.y=f.aspectratio.y=q[1],c.aspectratio.z=f.aspectratio.z=q[2],n.glplot.setAspectratio(c.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=c.aspectmode);var N=c.domain||null,W=t._size||null;if(N&&W){var re=n.container.style;re.position=\"absolute\",re.left=W.l+N.x[0]*W.w+\"px\",re.top=W.t+(1-N.y[1])*W.h+\"px\",re.width=W.w*(N.x[1]-N.x[0])+\"px\",re.height=W.h*(N.y[1]-N.y[0])+\"px\"}n.glplot.redraw()}};wv.destroy=function(){var e=this;e.glplot&&(e.camera.mouseListener.enabled=!1,e.container.removeEventListener(\"wheel\",e.camera.wheelListener),e.camera=null,e.glplot.dispose(),e.container.parentNode.removeChild(e.container),e.glplot=null)};function PPt(e){return[[e.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]]}function IPt(e){return{up:{x:e.up[0],y:e.up[1],z:e.up[2]},center:{x:e.center[0],y:e.center[1],z:e.center[2]},eye:{x:e.eye[0],y:e.eye[1],z:e.eye[2]},projection:{type:e._ortho===!0?\"orthographic\":\"perspective\"}}}wv.getCamera=function(){var e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),IPt(e.camera)};wv.setViewport=function(e){var t=this,r=e.camera;t.camera.lookAt.apply(this,PPt(r)),t.glplot.setAspectratio(e.aspectratio);var n=r.projection.type===\"orthographic\",i=t.camera._ortho;n!==i&&(t.glplot.redraw(),t.glplot.clearRGBA(),t.glplot.dispose(),t.initializeGLPlot())};wv.isCameraChanged=function(e){var t=this,r=t.getCamera(),n=up.nestedProperty(e,t.id+\".camera\"),i=n.get();function a(u,c,f,h){var d=[\"up\",\"center\",\"eye\"],v=[\"x\",\"y\",\"z\"];return c[d[f]]&&u[d[f]][v[h]]===c[d[f]][v[h]]}var o=!1;if(i===void 0)o=!0;else{for(var s=0;s<3;s++)for(var l=0;l<3;l++)if(!a(r,i,s,l)){o=!0;break}(!i.projection||r.projection&&r.projection.type!==i.projection.type)&&(o=!0)}return o};wv.isAspectChanged=function(e){var t=this,r=t.glplot.getAspectratio(),n=up.nestedProperty(e,t.id+\".aspectratio\"),i=n.get();return i===void 0||i.x!==r.x||i.y!==r.y||i.z!==r.z};wv.saveLayout=function(e){var t=this,r=t.fullLayout,n,i,a,o,s,l,u=t.isCameraChanged(e),c=t.isAspectChanged(e),f=u||c;if(f){var h={};if(u&&(n=t.getCamera(),i=up.nestedProperty(e,t.id+\".camera\"),a=i.get(),h[t.id+\".camera\"]=a),c&&(o=t.glplot.getAspectratio(),s=up.nestedProperty(e,t.id+\".aspectratio\"),l=s.get(),h[t.id+\".aspectratio\"]=l),JD.call(\"_storeDirectGUIEdit\",e,r._preGUI,h),u){i.set(n);var d=up.nestedProperty(r,t.id+\".camera\");d.set(n)}if(c){s.set(o);var v=up.nestedProperty(r,t.id+\".aspectratio\");v.set(o),t.glplot.redraw()}}return f};wv.updateFx=function(e,t){var r=this,n=r.camera;if(n)if(e===\"orbit\")n.mode=\"orbit\",n.keyBindingMode=\"rotate\";else if(e===\"turntable\"){n.up=[0,0,1],n.mode=\"turntable\",n.keyBindingMode=\"rotate\";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,u=o.up.z;if(u/Math.sqrt(s*s+l*l+u*u)<.999){var c=r.id+\".camera.up\",f={x:0,y:0,z:1},h={};h[c]=f;var d=i.layout;JD.call(\"_storeDirectGUIEdit\",d,a._preGUI,h),o.up=f,up.nestedProperty(d,c).set(f)}}else n.keyBindingMode=e;r.fullSceneLayout.hovermode=t};function RPt(e,t,r){for(var n=0,i=r-1;n<i;++n,--i)for(var a=0;a<t;++a)for(var o=0;o<4;++o){var s=4*(t*n+a)+o,l=4*(t*i+a)+o,u=e[s];e[s]=e[l],e[l]=u}}function DPt(e,t,r){for(var n=0;n<r;++n)for(var i=0;i<t;++i){var a=4*(t*n+i),o=e[a+3];if(o>0)for(var s=255/o,l=0;l<3;++l)e[a+l]=Math.min(s*e[a+l],255)}}wv.toImage=function(e){var t=this;e||(e=\"png\"),t.staticMode&&t.container.appendChild(HE),t.glplot.redraw();var r=t.glplot.gl,n=r.drawingBufferWidth,i=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var a=new Uint8Array(n*i*4);r.readPixels(0,0,n,i,r.RGBA,r.UNSIGNED_BYTE,a),RPt(a,n,i),DPt(a,n,i);var o=document.createElement(\"canvas\");o.width=n,o.height=i;var s=o.getContext(\"2d\",{willReadFrequently:!0}),l=s.createImageData(n,i);l.data.set(a),s.putImageData(l,0,0);var u;switch(e){case\"jpeg\":u=o.toDataURL(\"image/jpeg\");break;case\"webp\":u=o.toDataURL(\"image/webp\");break;default:u=o.toDataURL(\"image/png\")}return t.staticMode&&t.container.removeChild(HE),u};wv.setConvert=function(){for(var e=this,t=0;t<3;t++){var r=e.fullSceneLayout[GE[t]];$D.setConvert(r,e.fullLayout),r.setScale=up.noop}};wv.make4thDimension=function(){var e=this,t=e.graphDiv,r=t._fullLayout;e._mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},$D.setConvert(e._mockAxis,r)};gPe.exports=pPe});var _Pe=ye((Svr,yPe)=>{\"use strict\";yPe.exports={scene:{valType:\"subplotid\",dflt:\"scene\",editType:\"calc+clearAxisTypes\"}}});var mZ=ye((Mvr,xPe)=>{\"use strict\";var zPt=va(),cs=Cd(),gZ=no().extendFlat,FPt=Bu().overrideAll;xPe.exports=FPt({visible:cs.visible,showspikes:{valType:\"boolean\",dflt:!0},spikesides:{valType:\"boolean\",dflt:!0},spikethickness:{valType:\"number\",min:0,dflt:2},spikecolor:{valType:\"color\",dflt:zPt.defaultLine},showbackground:{valType:\"boolean\",dflt:!1},backgroundcolor:{valType:\"color\",dflt:\"rgba(204, 204, 204, 0.5)\"},showaxeslabels:{valType:\"boolean\",dflt:!0},color:cs.color,categoryorder:cs.categoryorder,categoryarray:cs.categoryarray,title:{text:cs.title.text,font:cs.title.font},type:gZ({},cs.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autotypenumbers:cs.autotypenumbers,autorange:cs.autorange,autorangeoptions:{minallowed:cs.autorangeoptions.minallowed,maxallowed:cs.autorangeoptions.maxallowed,clipmin:cs.autorangeoptions.clipmin,clipmax:cs.autorangeoptions.clipmax,include:cs.autorangeoptions.include,editType:\"plot\"},rangemode:cs.rangemode,minallowed:cs.minallowed,maxallowed:cs.maxallowed,range:gZ({},cs.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],anim:!1}),tickmode:cs.minor.tickmode,nticks:cs.nticks,tick0:cs.tick0,dtick:cs.dtick,tickvals:cs.tickvals,ticktext:cs.ticktext,ticks:cs.ticks,mirror:cs.mirror,ticklen:cs.ticklen,tickwidth:cs.tickwidth,tickcolor:cs.tickcolor,showticklabels:cs.showticklabels,labelalias:cs.labelalias,tickfont:cs.tickfont,tickangle:cs.tickangle,tickprefix:cs.tickprefix,showtickprefix:cs.showtickprefix,ticksuffix:cs.ticksuffix,showticksuffix:cs.showticksuffix,showexponent:cs.showexponent,exponentformat:cs.exponentformat,minexponent:cs.minexponent,separatethousands:cs.separatethousands,tickformat:cs.tickformat,tickformatstops:cs.tickformatstops,hoverformat:cs.hoverformat,showline:cs.showline,linecolor:cs.linecolor,linewidth:cs.linewidth,showgrid:cs.showgrid,gridcolor:gZ({},cs.gridcolor,{dflt:\"rgb(204, 204, 204)\"}),gridwidth:cs.gridwidth,zeroline:cs.zeroline,zerolinecolor:cs.zerolinecolor,zerolinewidth:cs.zerolinewidth},\"plot\",\"from-root\")});var bZ=ye((Evr,bPe)=>{\"use strict\";var yZ=mZ(),qPt=Ju().attributes,_Z=no().extendFlat,OPt=Mr().counterRegex;function xZ(e,t,r){return{x:{valType:\"number\",dflt:e,editType:\"camera\"},y:{valType:\"number\",dflt:t,editType:\"camera\"},z:{valType:\"number\",dflt:r,editType:\"camera\"},editType:\"camera\"}}bPe.exports={_arrayAttrRegexps:[OPt(\"scene\",\".annotations\",!0)],bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"plot\"},camera:{up:_Z(xZ(0,0,1),{}),center:_Z(xZ(0,0,0),{}),eye:_Z(xZ(1.25,1.25,1.25),{}),projection:{type:{valType:\"enumerated\",values:[\"perspective\",\"orthographic\"],dflt:\"perspective\",editType:\"calc\"},editType:\"calc\"},editType:\"camera\"},domain:qPt({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:yZ,yaxis:yZ,zaxis:yZ,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\"}});var SPe=ye((kvr,APe)=>{\"use strict\";var BPt=id().mix,wPe=Mr(),NPt=Vs(),UPt=mZ(),VPt=yU(),HPt=JM(),TPe=[\"xaxis\",\"yaxis\",\"zaxis\"],GPt=100*136/187;APe.exports=function(t,r,n){var i,a;function o(u,c){return wPe.coerce(i,a,UPt,u,c)}for(var s=0;s<TPe.length;s++){var l=TPe[s];i=t[l]||{},a=NPt.newContainer(r,l),a._id=l[0]+n.scene,a._name=l,VPt(i,a,o,n),HPt(i,a,o,{font:n.font,letter:l[0],data:n.data,showGrid:!0,noAutotickangles:!0,noTicklabelindex:!0,noTickson:!0,noTicklabelmode:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,noTicklabelstep:!0,noTicklabelposition:!0,noTicklabeloverflow:!0,noInsiderange:!0,bgColor:n.bgColor,calendar:n.calendar},n.fullLayout),o(\"gridcolor\",BPt(a.color,n.bgColor,GPt).toRgbString()),o(\"title.text\",l[0]),a.setScale=wPe.noop,o(\"showspikes\")&&(o(\"spikesides\"),o(\"spikethickness\"),o(\"spikecolor\",a.color)),o(\"showaxeslabels\"),o(\"showbackground\")&&o(\"backgroundcolor\")}}});var CPe=ye((Cvr,kPe)=>{\"use strict\";var jPt=Mr(),WPt=va(),ZPt=ba(),XPt=C_(),YPt=SPe(),MPe=bZ(),KPt=kd().getSubplotData,EPe=\"gl3d\";kPe.exports=function(t,r,n){var i=r._basePlotModules.length>1;function a(o){if(!i){var s=jPt.validate(t[o],MPe[o]);if(s)return t[o]}}XPt(t,r,n,{type:EPe,attributes:MPe,handleDefaults:JPt,fullLayout:r,font:r.font,fullData:n,getDfltFromLayout:a,autotypenumbersDflt:r.autotypenumbers,paper_bgcolor:r.paper_bgcolor,calendar:r.calendar})};function JPt(e,t,r,n){for(var i=r(\"bgcolor\"),a=WPt.combine(i,n.paper_bgcolor),o=[\"up\",\"center\",\"eye\"],s=0;s<o.length;s++)r(\"camera.\"+o[s]+\".x\"),r(\"camera.\"+o[s]+\".y\"),r(\"camera.\"+o[s]+\".z\");r(\"camera.projection.type\");var l=!!r(\"aspectratio.x\")&&!!r(\"aspectratio.y\")&&!!r(\"aspectratio.z\"),u=l?\"manual\":\"auto\",c=r(\"aspectmode\",u);l||(e.aspectratio=t.aspectratio={x:1,y:1,z:1},c===\"manual\"&&(t.aspectmode=\"auto\"),e.aspectmode=t.aspectmode);var f=KPt(n.fullData,EPe,n.id);YPt(e,t,{font:n.font,scene:n.id,data:f,bgColor:a,calendar:n.calendar,autotypenumbersDflt:n.autotypenumbersDflt,fullLayout:n.fullLayout}),ZPt.getComponentMethod(\"annotations3d\",\"handleDefaults\")(e,t,n);var h=n.getDfltFromLayout(\"dragmode\");if(h!==!1&&!h)if(h=\"orbit\",e.camera&&e.camera.up){var d=e.camera.up.x,v=e.camera.up.y,x=e.camera.up.z;x!==0&&(!d||!v||!x||x/Math.sqrt(d*d+v*v+x*x)>.999)&&(h=\"turntable\")}else h=\"turntable\";r(\"dragmode\",h),r(\"hovermode\",n.getDfltFromLayout(\"hovermode\"))}});var Q_=ye(cp=>{\"use strict\";var $Pt=Bu().overrideAll,QPt=N1(),eIt=mPe(),tIt=kd().getSubplotData,rIt=Mr(),iIt=Zp(),O5=\"gl3d\",wZ=\"scene\";cp.name=O5;cp.attr=wZ;cp.idRoot=wZ;cp.idRegex=cp.attrRegex=rIt.counterRegex(\"scene\");cp.attributes=_Pe();cp.layoutAttributes=bZ();cp.baseLayoutAttrOverrides=$Pt({hoverlabel:QPt.hoverlabel},\"plot\",\"nested\");cp.supplyLayoutDefaults=CPe();cp.plot=function(t){for(var r=t._fullLayout,n=t._fullData,i=r._subplots[O5],a=0;a<i.length;a++){var o=i[a],s=tIt(n,O5,o),l=r[o],u=l.camera,c=l._scene;c||(c=new eIt({id:o,graphDiv:t,container:t.querySelector(\".gl-container\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio,camera:u},r),l._scene=c),c.viewInitial||(c.viewInitial={up:{x:u.up.x,y:u.up.y,z:u.up.z},eye:{x:u.eye.x,y:u.eye.y,z:u.eye.z},center:{x:u.center.x,y:u.center.y,z:u.center.z}}),c.plot(s,r,t.layout)}};cp.clean=function(e,t,r,n){for(var i=n._subplots[O5]||[],a=0;a<i.length;a++){var o=i[a];!t[o]&&n[o]._scene&&(n[o]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(\".annotation-\"+o).remove())}};cp.toSVG=function(e){for(var t=e._fullLayout,r=t._subplots[O5],n=t._size,i=0;i<r.length;i++){var a=t[r[i]],o=a.domain,s=a._scene,l=s.toImage(\"png\"),u=t._glimages.append(\"svg:image\");u.attr({xmlns:iIt.svg,\"xlink:href\":l,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"}),s.destroy()}};cp.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var r=t.substr(5);return r===\"1\"&&(r=\"\"),wZ+r}};cp.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[O5],n=0;n<r.length;n++){var i=t[r[n]]._scene;i.updateFx(t.dragmode,t.hovermode)}}});var PPe=ye((Pvr,LPe)=>{\"use strict\";LPe.exports={plot:ULe(),attributes:dZ(),markerSymbols:ZD(),supplyDefaults:ZLe(),colorbar:[{container:\"marker\",min:\"cmin\",max:\"cmax\"},{container:\"line\",min:\"cmin\",max:\"cmax\"}],calc:YLe(),moduleType:\"trace\",name:\"scatter3d\",basePlotModule:Q_(),categories:[\"gl3d\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var RPe=ye((Ivr,IPe)=>{\"use strict\";IPe.exports=PPe()});var jE=ye((Rvr,FPe)=>{\"use strict\";var DPe=va(),nIt=Jl(),TZ=Oc().axisHoverFormat,aIt=Wo().hovertemplateAttrs,zPe=vl(),AZ=no().extendFlat,oIt=Bu().overrideAll;function SZ(e){return{valType:\"boolean\",dflt:!1}}function MZ(e){return{show:{valType:\"boolean\",dflt:!1},start:{valType:\"number\",dflt:null,editType:\"plot\"},end:{valType:\"number\",dflt:null,editType:\"plot\"},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\"},project:{x:SZ(\"x\"),y:SZ(\"y\"),z:SZ(\"z\")},color:{valType:\"color\",dflt:DPe.defaultLine},usecolormap:{valType:\"boolean\",dflt:!1},width:{valType:\"number\",min:1,max:16,dflt:2},highlight:{valType:\"boolean\",dflt:!0},highlightcolor:{valType:\"color\",dflt:DPe.defaultLine},highlightwidth:{valType:\"number\",min:1,max:16,dflt:2}}}var EZ=FPe.exports=oIt(AZ({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:aIt(),xhoverformat:TZ(\"x\"),yhoverformat:TZ(\"y\"),zhoverformat:TZ(\"z\"),connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},surfacecolor:{valType:\"data_array\"}},nIt(\"\",{colorAttr:\"z or surfacecolor\",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:\"calc\"}),{contours:{x:MZ(\"x\"),y:MZ(\"y\"),z:MZ(\"z\")},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\"},hoverinfo:AZ({},zPe.hoverinfo),showlegend:AZ({},zPe.showlegend,{dflt:!1})}),\"calc\",\"nested\");EZ.x.editType=EZ.y.editType=EZ.z.editType=\"calc+clearAxisTypes\"});var CZ=ye((Dvr,BPe)=>{\"use strict\";var sIt=ba(),qPe=Mr(),lIt=Uh(),uIt=jE(),kZ=.1;function cIt(e,t){for(var r=[],n=32,i=0;i<n;i++){var a=i/(n-1),o=t+(1-t)*(1-Math.pow(Math.sin(e*a*Math.PI),2));r.push([a,Math.max(0,Math.min(1,o))])}return r}function fIt(e){var t=0;if(!Array.isArray(e)||e.length<2||!e[0]||!e[e.length-1]||+e[0][0]!=0||+e[e.length-1][0]!=1)return!1;for(var r=0;r<e.length;r++){var n=e[r];if(n.length!==2||+n[0]<t)return!1;t=+n[0]}return!0}function hIt(e,t,r,n){var i,a;function o(b,p){return qPe.coerce(e,t,uIt,b,p)}var s=o(\"x\"),l=o(\"y\"),u=o(\"z\");if(!u||!u.length||s&&s.length<1||l&&l.length<1){t.visible=!1;return}t._xlength=Array.isArray(s)&&qPe.isArrayOrTypedArray(s[0])?u.length:u[0].length,t._ylength=u.length;var c=sIt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");c(e,t,[\"x\",\"y\",\"z\"],n),o(\"text\"),o(\"hovertext\"),o(\"hovertemplate\"),o(\"xhoverformat\"),o(\"yhoverformat\"),o(\"zhoverformat\"),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"hidesurface\",\"connectgaps\",\"opacity\"].forEach(function(b){o(b)});var f=o(\"surfacecolor\"),h=[\"x\",\"y\",\"z\"];for(i=0;i<3;++i){var d=\"contours.\"+h[i],v=o(d+\".show\"),x=o(d+\".highlight\");if(v||x)for(a=0;a<3;++a)o(d+\".project.\"+h[a]);v&&(o(d+\".color\"),o(d+\".width\"),o(d+\".usecolormap\")),x&&(o(d+\".highlightcolor\"),o(d+\".highlightwidth\")),o(d+\".start\"),o(d+\".end\"),o(d+\".size\")}lIt(e,t,n,o,{prefix:\"\",cLetter:\"c\"}),OPe(e,t,n,o),t._length=null}function OPe(e,t,r,n){var i=n(\"opacityscale\");i===\"max\"?t.opacityscale=[[0,kZ],[1,1]]:i===\"min\"?t.opacityscale=[[0,1],[1,kZ]]:i===\"extremes\"?t.opacityscale=cIt(1,kZ):fIt(i)||(t.opacityscale=void 0)}BPe.exports={supplyDefaults:hIt,opacityscaleDefaults:OPe}});var VPe=ye((zvr,UPe)=>{\"use strict\";var NPe=zv();UPe.exports=function(t,r){r.surfacecolor?NPe(t,r,{vals:r.surfacecolor,containerStr:\"\",cLetter:\"c\"}):NPe(t,r,{vals:r.z,containerStr:\"\",cLetter:\"c\"})}});var XPe=ye((Fvr,ZPe)=>{\"use strict\";var dIt=Rd().gl_surface3d,B5=Rd().ndarray,vIt=Rd().ndarray_linear_interpolate.d2,pIt=e8(),gIt=t8(),WE=Mr().isArrayOrTypedArray,mIt=$y().parseColorScale,HPe=Jy(),yIt=Mu().extractOpts;function jPe(e,t,r){this.scene=e,this.uid=r,this.surface=t,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var Jg=jPe.prototype;Jg.getXat=function(e,t,r,n){var i=WE(this.data.x)?WE(this.data.x[0])?this.data.x[t][e]:this.data.x[e]:e;return r===void 0?i:n.d2l(i,0,r)};Jg.getYat=function(e,t,r,n){var i=WE(this.data.y)?WE(this.data.y[0])?this.data.y[t][e]:this.data.y[t]:t;return r===void 0?i:n.d2l(i,0,r)};Jg.getZat=function(e,t,r,n){var i=this.data.z[t][e];return i===null&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[t][e]),r===void 0?i:n.d2l(i,0,r)};Jg.handlePick=function(e){if(e.object===this.surface){var t=(e.data.index[0]-1)/this.dataScaleX-1,r=(e.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(t),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);e.index=[n,i],e.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],e.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){var o=e.dataCoordinate[a];o!=null&&(e.dataCoordinate[a]*=this.scene.dataScale[a])}var s=this.data.hovertext||this.data.text;return WE(s)&&s[i]&&s[i][n]!==void 0?e.textLabel=s[i][n]:s?e.textLabel=s:e.textLabel=\"\",e.data.dataCoordinate=e.dataCoordinate.slice(),this.surface.highlight(e.data),this.scene.glplot.spikes.position=e.dataCoordinate,!0}};function _It(e){var t=e[0].rgb,r=e[e.length-1].rgb;return t[0]===r[0]&&t[1]===r[1]&&t[2]===r[2]&&t[3]===r[3]}var N5=[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 xIt(e,t){if(e<t)return 0;for(var r=0;Math.floor(e%t)===0;)e/=t,r++;return r}function LZ(e){for(var t=[],r=0;r<N5.length;r++){var n=N5[r];t.push(xIt(e,n))}return t}function bIt(e){for(var t=LZ(e),r=e,n=0;n<N5.length;n++)if(t[n]>0){r=N5[n];break}return r}function wIt(e,t){if(!(e<1||t<1)){for(var r=LZ(e),n=LZ(t),i=1,a=0;a<N5.length;a++)i*=Math.pow(N5[a],Math.max(r[a],n[a]));return i}}function TIt(e){if(e.length!==0){for(var t=1,r=0;r<e.length;r++)t=wIt(t,e[r]);return t}}Jg.calcXnums=function(e){var t,r=[];for(t=1;t<e;t++){var n=this.getXat(t-1,0),i=this.getXat(t,0);i!==n&&n!==void 0&&n!==null&&i!==void 0&&i!==null?r[t-1]=Math.abs(i-n):r[t-1]=0}var a=0;for(t=1;t<e;t++)a+=r[t-1];for(t=1;t<e;t++)r[t-1]===0?r[t-1]=1:r[t-1]=Math.round(a/r[t-1]);return r};Jg.calcYnums=function(e){var t,r=[];for(t=1;t<e;t++){var n=this.getYat(0,t-1),i=this.getYat(0,t);i!==n&&n!==void 0&&n!==null&&i!==void 0&&i!==null?r[t-1]=Math.abs(i-n):r[t-1]=0}var a=0;for(t=1;t<e;t++)a+=r[t-1];for(t=1;t<e;t++)r[t-1]===0?r[t-1]=1:r[t-1]=Math.round(a/r[t-1]);return r};var WPe=[1,2,4,6,12,24,36,48,60,120,180,240,360,720,840,1260],GPe=WPe[9],QD=WPe[13];Jg.estimateScale=function(e,t){for(var r=t===0?this.calcXnums(e):this.calcYnums(e),n=1+TIt(r);n<GPe;)n*=2;for(;n>QD;)n--,n/=bIt(n),n++,n<GPe&&(n=QD);var i=Math.round(n/e);return i>1?i:1};function AIt(e,t,r){var n=r[8]+r[2]*t[0]+r[5]*t[1];return e[0]=(r[6]+r[0]*t[0]+r[3]*t[1])/n,e[1]=(r[7]+r[1]*t[0]+r[4]*t[1])/n,e}function SIt(e,t,r){return MIt(e,t,AIt,r),e}function MIt(e,t,r,n){for(var i=[0,0],a=e.shape[0],o=e.shape[1],s=0;s<a;s++)for(var l=0;l<o;l++)r(i,[s,l],n),e.set(s,l,vIt(t,i[0],i[1]));return e}Jg.refineCoords=function(e){for(var t=this.dataScaleX,r=this.dataScaleY,n=e[0].shape[0],i=e[0].shape[1],a=Math.floor(e[0].shape[0]*t+1)|0,o=Math.floor(e[0].shape[1]*r+1)|0,s=1+n+1,l=1+i+1,u=B5(new Float32Array(s*l),[s,l]),c=[1/t,0,0,0,1/r,0,0,0,1],f=0;f<e.length;++f){this.surface.padField(u,e[f]);var h=B5(new Float32Array(a*o),[a,o]);SIt(h,u,c),e[f]=h}};function EIt(e,t){for(var r=!1,n=0;n<e.length;n++)if(t===e[n]){r=!0;break}r===!1&&e.push(t)}Jg.setContourLevels=function(){var e=[[],[],[]],t=[!1,!1,!1],r=!1,n,i,a;for(n=0;n<3;++n)if(this.showContour[n]&&(r=!0,this.contourSize[n]>0&&this.contourStart[n]!==null&&this.contourEnd[n]!==null&&this.contourEnd[n]>this.contourStart[n]))for(t[n]=!0,i=this.contourStart[n];i<this.contourEnd[n];i+=this.contourSize[n])a=i*this.scene.dataScale[n],EIt(e[n],a);if(r){var o=[[],[],[]];for(n=0;n<3;++n)this.showContour[n]&&(o[n]=t[n]?e[n]:this.scene.contourLevels[n]);this.surface.update({levels:o})}};Jg.update=function(e){var t=this.scene,r=t.fullSceneLayout,n=this.surface,i=mIt(e),a=t.dataScale,o=e.z[0].length,s=e._ylength,l=t.contourLevels;this.data=e;var u,c,f,h,d=[];for(u=0;u<3;u++)for(d[u]=[],c=0;c<o;c++)d[u][c]=[];for(c=0;c<o;c++)for(f=0;f<s;f++)d[0][c][f]=this.getXat(c,f,e.xcalendar,r.xaxis),d[1][c][f]=this.getYat(c,f,e.ycalendar,r.yaxis),d[2][c][f]=this.getZat(c,f,e.zcalendar,r.zaxis);if(e.connectgaps)for(e._emptypoints=gIt(d[2]),pIt(d[2],e._emptypoints),e._interpolatedZ=[],c=0;c<o;c++)for(e._interpolatedZ[c]=[],f=0;f<s;f++)e._interpolatedZ[c][f]=d[2][c][f];for(u=0;u<3;u++)for(c=0;c<o;c++)for(f=0;f<s;f++)h=d[u][c][f],h==null?d[u][c][f]=NaN:h=d[u][c][f]*=a[u];for(u=0;u<3;u++)for(c=0;c<o;c++)for(f=0;f<s;f++)h=d[u][c][f],h!=null&&(this.minValues[u]>h&&(this.minValues[u]=h),this.maxValues[u]<h&&(this.maxValues[u]=h));for(u=0;u<3;u++)this.objectOffset[u]=.5*(this.minValues[u]+this.maxValues[u]);for(u=0;u<3;u++)for(c=0;c<o;c++)for(f=0;f<s;f++)h=d[u][c][f],h!=null&&(d[u][c][f]-=this.objectOffset[u]);var v=[B5(new Float32Array(o*s),[o,s]),B5(new Float32Array(o*s),[o,s]),B5(new Float32Array(o*s),[o,s])];for(u=0;u<3;u++)for(c=0;c<o;c++)for(f=0;f<s;f++)v[u].set(c,f,d[u][c][f]);d=[];var x={colormap:i,levels:[[],[],[]],showContour:[!0,!0,!0],showSurface:!e.hidesurface,contourProject:[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],contourWidth:[1,1,1],contourColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],contourTint:[1,1,1],dynamicColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],dynamicWidth:[1,1,1],dynamicTint:[1,1,1],opacityscale:e.opacityscale,opacity:e.opacity},b=yIt(e);if(x.intensityBounds=[b.min,b.max],e.surfacecolor){var p=B5(new Float32Array(o*s),[o,s]);for(c=0;c<o;c++)for(f=0;f<s;f++)p.set(c,f,e.surfacecolor[f][c]);v.push(p)}else x.intensityBounds[0]*=a[2],x.intensityBounds[1]*=a[2];(QD<v[0].shape[0]||QD<v[0].shape[1])&&(this.refineData=!1),this.refineData===!0&&(this.dataScaleX=this.estimateScale(v[0].shape[0],0),this.dataScaleY=this.estimateScale(v[0].shape[1],1),(this.dataScaleX!==1||this.dataScaleY!==1)&&this.refineCoords(v)),e.surfacecolor&&(x.intensity=v.pop());var E=[!0,!0,!0],k=[\"x\",\"y\",\"z\"];for(u=0;u<3;++u){var A=e.contours[k[u]];E[u]=A.highlight,x.showContour[u]=A.show||A.highlight,x.showContour[u]&&(x.contourProject[u]=[A.project.x,A.project.y,A.project.z],A.show?(this.showContour[u]=!0,x.levels[u]=l[u],n.highlightColor[u]=x.contourColor[u]=HPe(A.color),A.usecolormap?n.highlightTint[u]=x.contourTint[u]=0:n.highlightTint[u]=x.contourTint[u]=1,x.contourWidth[u]=A.width,this.contourStart[u]=A.start,this.contourEnd[u]=A.end,this.contourSize[u]=A.size):(this.showContour[u]=!1,this.contourStart[u]=null,this.contourEnd[u]=null,this.contourSize[u]=0),A.highlight&&(x.dynamicColor[u]=HPe(A.highlightcolor),x.dynamicWidth[u]=A.highlightwidth))}_It(i)&&(x.vertexColor=!0),x.objectOffset=this.objectOffset,x.coords=v,n.update(x),n.visible=e.visible,n.enableDynamic=E,n.enableHighlight=E,n.snapToData=!0,\"lighting\"in e&&(n.ambientLight=e.lighting.ambient,n.diffuseLight=e.lighting.diffuse,n.specularLight=e.lighting.specular,n.roughness=e.lighting.roughness,n.fresnel=e.lighting.fresnel),\"lightposition\"in e&&(n.lightPosition=[e.lightposition.x,e.lightposition.y,e.lightposition.z])};Jg.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()};function kIt(e,t){var r=e.glplot.gl,n=dIt({gl:r}),i=new jPe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}ZPe.exports=kIt});var KPe=ye((qvr,YPe)=>{\"use strict\";YPe.exports={attributes:jE(),supplyDefaults:CZ().supplyDefaults,colorbar:{min:\"cmin\",max:\"cmax\"},calc:VPe(),plot:XPe(),moduleType:\"trace\",name:\"surface\",basePlotModule:Q_(),categories:[\"gl3d\",\"2dMap\",\"showLegend\"],meta:{}}});var $Pe=ye((Ovr,JPe)=>{\"use strict\";JPe.exports=KPe()});var U5=ye((Bvr,eIe)=>{\"use strict\";var CIt=Jl(),PZ=Oc().axisHoverFormat,LIt=Wo().hovertemplateAttrs,ex=jE(),QPe=vl(),tx=no().extendFlat;eIe.exports=tx({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:LIt({editType:\"calc\"}),xhoverformat:PZ(\"x\"),yhoverformat:PZ(\"y\"),zhoverformat:PZ(\"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\"}},CIt(\"\",{colorAttr:\"`intensity`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:ex.opacity,flatshading:{valType:\"boolean\",dflt:!1,editType:\"calc\"},contour:{show:tx({},ex.contours.x.show,{}),color:ex.contours.x.color,width:ex.contours.x.width,editType:\"calc\"},lightposition:{x:tx({},ex.lightposition.x,{dflt:1e5}),y:tx({},ex.lightposition.y,{dflt:1e5}),z:tx({},ex.lightposition.z,{dflt:0}),editType:\"calc\"},lighting:tx({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\"},ex.lighting),hoverinfo:tx({},QPe.hoverinfo,{editType:\"calc\"}),showlegend:tx({},QPe.showlegend,{dflt:!1})})});var tz=ye((Nvr,rIe)=>{\"use strict\";var PIt=Jl(),ez=Oc().axisHoverFormat,IIt=Wo().hovertemplateAttrs,ZE=U5(),tIe=vl(),IZ=no().extendFlat,RIt=Bu().overrideAll;function RZ(e){return{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}}}function DZ(e){return{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}}}var V5=rIe.exports=RIt(IZ({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:RZ(\"x\"),y:RZ(\"y\"),z:RZ(\"z\")},caps:{x:DZ(\"x\"),y:DZ(\"y\"),z:DZ(\"z\")},text:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertemplate:IIt(),xhoverformat:ez(\"x\"),yhoverformat:ez(\"y\"),zhoverformat:ez(\"z\"),valuehoverformat:ez(\"value\",1),showlegend:IZ({},tIe.showlegend,{dflt:!1})},PIt(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:ZE.opacity,lightposition:ZE.lightposition,lighting:ZE.lighting,flatshading:ZE.flatshading,contour:ZE.contour,hoverinfo:IZ({},tIe.hoverinfo)}),\"calc\",\"nested\");V5.flatshading.dflt=!0;V5.lighting.facenormalsepsilon.dflt=0;V5.x.editType=V5.y.editType=V5.z.editType=V5.value.editType=\"calc+clearAxisTypes\"});var zZ=ye((Uvr,nIe)=>{\"use strict\";var DIt=Mr(),zIt=ba(),FIt=tz(),qIt=Uh();function OIt(e,t,r,n){function i(a,o){return DIt.coerce(e,t,FIt,a,o)}iIe(e,t,r,n,i)}function iIe(e,t,r,n,i){var a=i(\"isomin\"),o=i(\"isomax\");o!=null&&a!==void 0&&a!==null&&a>o&&(t.isomin=null,t.isomax=null);var s=i(\"x\"),l=i(\"y\"),u=i(\"z\"),c=i(\"value\");if(!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length){t.visible=!1;return}var f=zIt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");f(e,t,[\"x\",\"y\",\"z\"],n),i(\"valuehoverformat\"),[\"x\",\"y\",\"z\"].forEach(function(x){i(x+\"hoverformat\");var b=\"caps.\"+x,p=i(b+\".show\");p&&i(b+\".fill\");var E=\"slices.\"+x,k=i(E+\".show\");k&&(i(E+\".fill\"),i(E+\".locations\"))});var h=i(\"spaceframe.show\");h&&i(\"spaceframe.fill\");var d=i(\"surface.show\");d&&(i(\"surface.count\"),i(\"surface.fill\"),i(\"surface.pattern\"));var v=i(\"contour.show\");v&&(i(\"contour.color\"),i(\"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(x){i(x)}),qIt(e,t,n,i,{prefix:\"\",cLetter:\"c\"}),t._length=null}nIe.exports={supplyDefaults:OIt,supplyIsoDefaults:iIe}});var rz=ye((Vvr,oIe)=>{\"use strict\";var qZ=Mr(),BIt=zv();function NIt(e,t){t._len=Math.min(t.u.length,t.v.length,t.w.length,t.x.length,t.y.length,t.z.length),t._u=Gm(t.u,t._len),t._v=Gm(t.v,t._len),t._w=Gm(t.w,t._len),t._x=Gm(t.x,t._len),t._y=Gm(t.y,t._len),t._z=Gm(t.z,t._len);var r=aIe(t);t._gridFill=r.fill,t._Xs=r.Xs,t._Ys=r.Ys,t._Zs=r.Zs,t._len=r.len;var n=0,i,a,o;t.starts&&(i=Gm(t.starts.x||[]),a=Gm(t.starts.y||[]),o=Gm(t.starts.z||[]),n=Math.min(i.length,a.length,o.length)),t._startsX=i||[],t._startsY=a||[],t._startsZ=o||[];var s=0,l=1/0,u;for(u=0;u<t._len;u++){var c=t._u[u],f=t._v[u],h=t._w[u],d=Math.sqrt(c*c+f*f+h*h);s=Math.max(s,d),l=Math.min(l,d)}for(BIt(e,t,{vals:[l,s],containerStr:\"\",cLetter:\"c\"}),u=0;u<n;u++){var v=i[u];r.xMax=Math.max(r.xMax,v),r.xMin=Math.min(r.xMin,v);var x=a[u];r.yMax=Math.max(r.yMax,x),r.yMin=Math.min(r.yMin,x);var b=o[u];r.zMax=Math.max(r.zMax,b),r.zMin=Math.min(r.zMin,b)}t._slen=n,t._normMax=s,t._xbnds=[r.xMin,r.xMax],t._ybnds=[r.yMin,r.yMax],t._zbnds=[r.zMin,r.zMax]}function aIe(e){var t=e._x,r=e._y,n=e._z,i=e._len,a,o,s,l=-1/0,u=1/0,c=-1/0,f=1/0,h=-1/0,d=1/0,v=\"\",x,b,p,E,k,A,L,_,C;for(i&&(E=t[0],A=r[0],_=n[0]),i>1&&(k=t[i-1],L=r[i-1],C=n[i-1]),a=0;a<i;a++)l=Math.max(l,t[a]),u=Math.min(u,t[a]),c=Math.max(c,r[a]),f=Math.min(f,r[a]),h=Math.max(h,n[a]),d=Math.min(d,n[a]),!x&&t[a]!==E&&(x=!0,v+=\"x\"),!b&&r[a]!==A&&(b=!0,v+=\"y\"),!p&&n[a]!==_&&(p=!0,v+=\"z\");x||(v+=\"x\"),b||(v+=\"y\"),p||(v+=\"z\");var M=FZ(e._x),g=FZ(e._y),P=FZ(e._z);v=v.replace(\"x\",(E>k?\"-\":\"+\")+\"x\"),v=v.replace(\"y\",(A>L?\"-\":\"+\")+\"y\"),v=v.replace(\"z\",(_>C?\"-\":\"+\")+\"z\");var T=function(){i=0,M=[],g=[],P=[]};(!i||i<M.length*g.length*P.length)&&T();var F=function(ze){return ze===\"x\"?t:ze===\"y\"?r:n},q=function(ze){return ze===\"x\"?M:ze===\"y\"?g:P},V=function(ze){return ze[i-1]<ze[0]?-1:1},H=F(v[1]),X=F(v[3]),G=F(v[5]),N=q(v[1]).length,W=q(v[3]).length,re=q(v[5]).length,ae=!1,_e=function(ze,Ce,me){return N*(W*ze+Ce)+me},Me=V(F(v[1])),ke=V(F(v[3])),ge=V(F(v[5]));for(a=0;a<re-1;a++){for(o=0;o<W-1;o++){for(s=0;s<N-1;s++){var ie=_e(a,o,s),Te=_e(a,o,s+1),Ee=_e(a,o+1,s),Ae=_e(a+1,o,s);if((!(H[ie]*Me<H[Te]*Me)||!(X[ie]*ke<X[Ee]*ke)||!(G[ie]*ge<G[Ae]*ge))&&(ae=!0),ae)break}if(ae)break}if(ae)break}return ae&&(qZ.warn(\"Encountered arbitrary coordinates! Unable to input data grid.\"),T()),{xMin:u,yMin:f,zMin:d,xMax:l,yMax:c,zMax:h,Xs:M,Ys:g,Zs:P,len:i,fill:v}}function FZ(e){return qZ.distinctVals(e).vals}function Gm(e,t){if(t===void 0&&(t=e.length),qZ.isTypedArray(e))return e.subarray(0,t);for(var r=[],n=0;n<t;n++)r[n]=+e[n];return r}oIe.exports={calc:NIt,filter:Gm,processGrid:aIe}});var OZ=ye((Hvr,sIe)=>{\"use strict\";var UIt=zv(),VIt=rz().processGrid,iz=rz().filter;sIe.exports=function(t,r){r._len=Math.min(r.x.length,r.y.length,r.z.length,r.value.length),r._x=iz(r.x,r._len),r._y=iz(r.y,r._len),r._z=iz(r.z,r._len),r._value=iz(r.value,r._len);var n=VIt(r);r._gridFill=n.fill,r._Xs=n.Xs,r._Ys=n.Ys,r._Zs=n.Zs,r._len=n.len;for(var i=1/0,a=-1/0,o=0;o<r._len;o++){var s=r._value[o];i=Math.min(i,s),a=Math.max(a,s)}r._minValues=i,r._maxValues=a,r._vMin=r.isomin===void 0||r.isomin===null?i:r.isomin,r._vMax=r.isomax===void 0||r.isomax===null?a:r.isomax,UIt(t,r,{vals:[r._vMin,r._vMax],containerStr:\"\",cLetter:\"c\"})}});var H5=ye((Gvr,lIe)=>{\"use strict\";lIe.exports=function(t,r,n,i){i=i||t.length;for(var a=new Array(i),o=0;o<i;o++)a[o]=[t[o],r[o],n[o]];return a}});var nz=ye((jvr,hIe)=>{\"use strict\";var HIt=Rd().gl_mesh3d,GIt=$y().parseColorScale,jIt=Mr().isArrayOrTypedArray,WIt=Jy(),ZIt=Mu().extractOpts,uIe=H5(),XE=function(e,t){for(var r=t.length-1;r>0;r--){var n=Math.min(t[r],t[r-1]),i=Math.max(t[r],t[r-1]);if(i>n&&n<e&&e<=i)return{id:r,distRatio:(i-e)/(i-n)}}return{id:0,distRatio:0}};function cIe(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name=\"\",this.data=null,this.showContour=!1}var BZ=cIe.prototype;BZ.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],i=this.data._meshZ[t],a=this.data._Ys.length,o=this.data._Zs.length,s=XE(r,this.data._Xs).id,l=XE(n,this.data._Ys).id,u=XE(i,this.data._Zs).id,c=e.index=u+o*l+o*a*s;e.traceCoordinate=[this.data._meshX[c],this.data._meshY[c],this.data._meshZ[c],this.data._value[c]];var f=this.data.hovertext||this.data.text;return jIt(f)&&f[c]!==void 0?e.textLabel=f[c]:f&&(e.textLabel=f),!0}};BZ.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=fIe(e);function n(l,u,c,f){return u.map(function(h){return l.d2l(h,0,f)*c})}var i=uIe(n(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),n(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),n(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),a=uIe(e._meshI,e._meshJ,e._meshK),o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,contourEnable:e.contour.show,contourColor:WIt(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},s=ZIt(e);o.vertexIntensity=e._meshIntensity,o.vertexIntensityBounds=[s.min,s.max],o.colormap=GIt(e),this.mesh.update(o)};BZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};var XIt=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"];function fIe(e){e._meshI=[],e._meshJ=[],e._meshK=[];var t=e.surface.show,r=e.spaceframe.show,n=e.surface.fill,i=e.spaceframe.fill,a=!1,o=!1,s=0,l,u,c=e._Xs,f=e._Ys,h=e._Zs,d=c.length,v=f.length,x=h.length,b=XIt.indexOf(e._gridFill.replace(/-/g,\"\").replace(/\\+/g,\"\")),p=function(bt,Lt,St){switch(b){case 5:return St+x*Lt+x*v*bt;case 4:return St+x*bt+x*d*Lt;case 3:return Lt+v*St+v*x*bt;case 2:return Lt+v*bt+v*d*St;case 1:return bt+d*St+d*x*Lt;default:return bt+d*Lt+d*v*St}},E=e._minValues,k=e._maxValues,A=e._vMin,L=e._vMax,_,C,M,g;function P(bt,Lt,St){for(var Et=g.length,dt=u;dt<Et;dt++)if(bt===_[dt]&&Lt===C[dt]&&St===M[dt])return dt;return-1}function T(){u=l}function F(){_=[],C=[],M=[],g=[],l=0,T()}function q(bt,Lt,St,Et){return _.push(bt),C.push(Lt),M.push(St),g.push(Et),l++,l-1}function V(bt,Lt,St){return e._meshI.push(bt),e._meshJ.push(Lt),e._meshK.push(St),s++,s-1}function H(bt,Lt,St){for(var Et=[],dt=0;dt<bt.length;dt++)Et[dt]=(bt[dt]+Lt[dt]+St[dt])/3;return Et}function X(bt,Lt,St){for(var Et=[],dt=0;dt<bt.length;dt++)Et[dt]=bt[dt]*(1-St)+St*Lt[dt];return Et}var G;function N(bt){G=bt}function W(bt,Lt){var St=bt[0],Et=bt[1],dt=bt[2],Ht=H(St,Et,dt),$t=Math.sqrt(1-G),fr=X(Ht,St,$t),_r=X(Ht,Et,$t),Br=X(Ht,dt,$t),Or=Lt[0],Nr=Lt[1],ut=Lt[2];return{xyzv:[[St,Et,_r],[_r,fr,St],[Et,dt,Br],[Br,_r,Et],[dt,St,fr],[fr,Br,dt]],abc:[[Or,Nr,-1],[-1,-1,Or],[Nr,ut,-1],[-1,-1,Nr],[ut,Or,-1],[-1,-1,ut]]}}function re(bt,Lt){return bt===\"all\"||bt===null?!0:bt.indexOf(Lt)>-1}function ae(bt,Lt){return bt===null?Lt:bt}function _e(bt,Lt,St){T();var Et=[Lt],dt=[St];if(G>=1)Et=[Lt],dt=[St];else if(G>0){var Ht=W(Lt,St);Et=Ht.xyzv,dt=Ht.abc}for(var $t=0;$t<Et.length;$t++){Lt=Et[$t],St=dt[$t];for(var fr=[],_r=0;_r<3;_r++){var Br=Lt[_r][0],Or=Lt[_r][1],Nr=Lt[_r][2],ut=Lt[_r][3],Ne=St[_r]>-1?St[_r]:P(Br,Or,Nr);Ne>-1?fr[_r]=Ne:fr[_r]=q(Br,Or,Nr,ae(bt,ut))}V(fr[0],fr[1],fr[2])}}function Me(bt,Lt,St){var Et=function(dt,Ht,$t){_e(bt,[Lt[dt],Lt[Ht],Lt[$t]],[St[dt],St[Ht],St[$t]])};Et(0,1,2),Et(2,3,0)}function ke(bt,Lt,St){var Et=function(dt,Ht,$t){_e(bt,[Lt[dt],Lt[Ht],Lt[$t]],[St[dt],St[Ht],St[$t]])};Et(0,1,2),Et(3,0,1),Et(2,3,0),Et(1,2,3)}function ge(bt,Lt,St,Et){var dt=bt[3];dt<St&&(dt=St),dt>Et&&(dt=Et);for(var Ht=(bt[3]-dt)/(bt[3]-Lt[3]+1e-9),$t=[],fr=0;fr<4;fr++)$t[fr]=(1-Ht)*bt[fr]+Ht*Lt[fr];return $t}function ie(bt,Lt,St){return bt>=Lt&&bt<=St}function Te(bt){var Lt=.001*(L-A);return bt>=A-Lt&&bt<=L+Lt}function Ee(bt){for(var Lt=[],St=0;St<4;St++){var Et=bt[St];Lt.push([e._x[Et],e._y[Et],e._z[Et],e._value[Et]])}return Lt}var Ae=3;function ze(bt,Lt,St,Et,dt,Ht){Ht||(Ht=1),St=[-1,-1,-1];var $t=!1,fr=[ie(Lt[0][3],Et,dt),ie(Lt[1][3],Et,dt),ie(Lt[2][3],Et,dt)];if(!fr[0]&&!fr[1]&&!fr[2])return!1;var _r=function(Or,Nr,ut){return Te(Nr[0][3])&&Te(Nr[1][3])&&Te(Nr[2][3])?(_e(Or,Nr,ut),!0):Ht<Ae?ze(Or,Nr,ut,A,L,++Ht):!1};if(fr[0]&&fr[1]&&fr[2])return _r(bt,Lt,St)||$t;var Br=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach(function(Or){if(fr[Or[0]]&&fr[Or[1]]&&!fr[Or[2]]){var Nr=Lt[Or[0]],ut=Lt[Or[1]],Ne=Lt[Or[2]],Ye=ge(Ne,Nr,Et,dt),Ve=ge(Ne,ut,Et,dt);$t=_r(bt,[Ve,Ye,Nr],[-1,-1,St[Or[0]]])||$t,$t=_r(bt,[Nr,ut,Ve],[St[Or[0]],St[Or[1]],-1])||$t,Br=!0}}),Br||[[0,1,2],[1,2,0],[2,0,1]].forEach(function(Or){if(fr[Or[0]]&&!fr[Or[1]]&&!fr[Or[2]]){var Nr=Lt[Or[0]],ut=Lt[Or[1]],Ne=Lt[Or[2]],Ye=ge(ut,Nr,Et,dt),Ve=ge(Ne,Nr,Et,dt);$t=_r(bt,[Ve,Ye,Nr],[-1,-1,St[Or[0]]])||$t,Br=!0}}),$t}function Ce(bt,Lt,St,Et){var dt=!1,Ht=Ee(Lt),$t=[ie(Ht[0][3],St,Et),ie(Ht[1][3],St,Et),ie(Ht[2][3],St,Et),ie(Ht[3][3],St,Et)];if(!$t[0]&&!$t[1]&&!$t[2]&&!$t[3])return dt;if($t[0]&&$t[1]&&$t[2]&&$t[3])return o&&(dt=ke(bt,Ht,Lt)||dt),dt;var fr=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach(function(_r){if($t[_r[0]]&&$t[_r[1]]&&$t[_r[2]]&&!$t[_r[3]]){var Br=Ht[_r[0]],Or=Ht[_r[1]],Nr=Ht[_r[2]],ut=Ht[_r[3]];if(o)dt=_e(bt,[Br,Or,Nr],[Lt[_r[0]],Lt[_r[1]],Lt[_r[2]]])||dt;else{var Ne=ge(ut,Br,St,Et),Ye=ge(ut,Or,St,Et),Ve=ge(ut,Nr,St,Et);dt=_e(null,[Ne,Ye,Ve],[-1,-1,-1])||dt}fr=!0}}),fr||([[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(_r){if($t[_r[0]]&&$t[_r[1]]&&!$t[_r[2]]&&!$t[_r[3]]){var Br=Ht[_r[0]],Or=Ht[_r[1]],Nr=Ht[_r[2]],ut=Ht[_r[3]],Ne=ge(Nr,Br,St,Et),Ye=ge(Nr,Or,St,Et),Ve=ge(ut,Or,St,Et),Xe=ge(ut,Br,St,Et);o?(dt=_e(bt,[Br,Xe,Ne],[Lt[_r[0]],-1,-1])||dt,dt=_e(bt,[Or,Ye,Ve],[Lt[_r[1]],-1,-1])||dt):dt=Me(null,[Ne,Ye,Ve,Xe],[-1,-1,-1,-1])||dt,fr=!0}}),fr)||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach(function(_r){if($t[_r[0]]&&!$t[_r[1]]&&!$t[_r[2]]&&!$t[_r[3]]){var Br=Ht[_r[0]],Or=Ht[_r[1]],Nr=Ht[_r[2]],ut=Ht[_r[3]],Ne=ge(Or,Br,St,Et),Ye=ge(Nr,Br,St,Et),Ve=ge(ut,Br,St,Et);o?(dt=_e(bt,[Br,Ne,Ye],[Lt[_r[0]],-1,-1])||dt,dt=_e(bt,[Br,Ye,Ve],[Lt[_r[0]],-1,-1])||dt,dt=_e(bt,[Br,Ve,Ne],[Lt[_r[0]],-1,-1])||dt):dt=_e(null,[Ne,Ye,Ve],[-1,-1,-1])||dt,fr=!0}}),dt}function me(bt,Lt,St,Et,dt,Ht,$t,fr,_r,Br,Or){var Nr=!1;return a&&(re(bt,\"A\")&&(Nr=Ce(null,[Lt,St,Et,Ht],Br,Or)||Nr),re(bt,\"B\")&&(Nr=Ce(null,[St,Et,dt,_r],Br,Or)||Nr),re(bt,\"C\")&&(Nr=Ce(null,[St,Ht,$t,_r],Br,Or)||Nr),re(bt,\"D\")&&(Nr=Ce(null,[Et,Ht,fr,_r],Br,Or)||Nr),re(bt,\"E\")&&(Nr=Ce(null,[St,Et,Ht,_r],Br,Or)||Nr)),o&&(Nr=Ce(bt,[St,Et,Ht,_r],Br,Or)||Nr),Nr}function Re(bt,Lt,St,Et,dt,Ht,$t,fr){return[fr[0]===!0?!0:ze(bt,Ee([Lt,St,Et]),[Lt,St,Et],Ht,$t),fr[1]===!0?!0:ze(bt,Ee([Et,dt,Lt]),[Et,dt,Lt],Ht,$t)]}function ce(bt,Lt,St,Et,dt,Ht,$t,fr,_r){return fr?Re(bt,Lt,St,dt,Et,Ht,$t,_r):Re(bt,St,dt,Et,Lt,Ht,$t,_r)}function Ge(bt,Lt,St,Et,dt,Ht,$t){var fr=!1,_r,Br,Or,Nr,ut=function(){fr=ze(bt,[_r,Br,Or],[-1,-1,-1],dt,Ht)||fr,fr=ze(bt,[Or,Nr,_r],[-1,-1,-1],dt,Ht)||fr},Ne=$t[0],Ye=$t[1],Ve=$t[2];return Ne&&(_r=X(Ee([p(Lt,St-0,Et-0)])[0],Ee([p(Lt-1,St-0,Et-0)])[0],Ne),Br=X(Ee([p(Lt,St-0,Et-1)])[0],Ee([p(Lt-1,St-0,Et-1)])[0],Ne),Or=X(Ee([p(Lt,St-1,Et-1)])[0],Ee([p(Lt-1,St-1,Et-1)])[0],Ne),Nr=X(Ee([p(Lt,St-1,Et-0)])[0],Ee([p(Lt-1,St-1,Et-0)])[0],Ne),ut()),Ye&&(_r=X(Ee([p(Lt-0,St,Et-0)])[0],Ee([p(Lt-0,St-1,Et-0)])[0],Ye),Br=X(Ee([p(Lt-0,St,Et-1)])[0],Ee([p(Lt-0,St-1,Et-1)])[0],Ye),Or=X(Ee([p(Lt-1,St,Et-1)])[0],Ee([p(Lt-1,St-1,Et-1)])[0],Ye),Nr=X(Ee([p(Lt-1,St,Et-0)])[0],Ee([p(Lt-1,St-1,Et-0)])[0],Ye),ut()),Ve&&(_r=X(Ee([p(Lt-0,St-0,Et)])[0],Ee([p(Lt-0,St-0,Et-1)])[0],Ve),Br=X(Ee([p(Lt-0,St-1,Et)])[0],Ee([p(Lt-0,St-1,Et-1)])[0],Ve),Or=X(Ee([p(Lt-1,St-1,Et)])[0],Ee([p(Lt-1,St-1,Et-1)])[0],Ve),Nr=X(Ee([p(Lt-1,St-0,Et)])[0],Ee([p(Lt-1,St-0,Et-1)])[0],Ve),ut()),fr}function nt(bt,Lt,St,Et,dt,Ht,$t,fr,_r,Br,Or,Nr){var ut=bt;return Nr?(a&&bt===\"even\"&&(ut=null),me(ut,Lt,St,Et,dt,Ht,$t,fr,_r,Br,Or)):(a&&bt===\"odd\"&&(ut=null),me(ut,_r,fr,$t,Ht,dt,Et,St,Lt,Br,Or))}function ct(bt,Lt,St,Et,dt){for(var Ht=[],$t=0,fr=0;fr<Lt.length;fr++)for(var _r=Lt[fr],Br=1;Br<x;Br++)for(var Or=1;Or<v;Or++)Ht.push(ce(bt,p(_r,Or-1,Br-1),p(_r,Or-1,Br),p(_r,Or,Br-1),p(_r,Or,Br),St,Et,(_r+Or+Br)%2,dt&&dt[$t]?dt[$t]:[])),$t++;return Ht}function qt(bt,Lt,St,Et,dt){for(var Ht=[],$t=0,fr=0;fr<Lt.length;fr++)for(var _r=Lt[fr],Br=1;Br<d;Br++)for(var Or=1;Or<x;Or++)Ht.push(ce(bt,p(Br-1,_r,Or-1),p(Br,_r,Or-1),p(Br-1,_r,Or),p(Br,_r,Or),St,Et,(Br+_r+Or)%2,dt&&dt[$t]?dt[$t]:[])),$t++;return Ht}function rt(bt,Lt,St,Et,dt){for(var Ht=[],$t=0,fr=0;fr<Lt.length;fr++)for(var _r=Lt[fr],Br=1;Br<v;Br++)for(var Or=1;Or<d;Or++)Ht.push(ce(bt,p(Or-1,Br-1,_r),p(Or-1,Br,_r),p(Or,Br-1,_r),p(Or,Br,_r),St,Et,(Or+Br+_r)%2,dt&&dt[$t]?dt[$t]:[])),$t++;return Ht}function ot(bt,Lt,St){for(var Et=1;Et<x;Et++)for(var dt=1;dt<v;dt++)for(var Ht=1;Ht<d;Ht++)nt(bt,p(Ht-1,dt-1,Et-1),p(Ht-1,dt-1,Et),p(Ht-1,dt,Et-1),p(Ht-1,dt,Et),p(Ht,dt-1,Et-1),p(Ht,dt-1,Et),p(Ht,dt,Et-1),p(Ht,dt,Et),Lt,St,(Ht+dt+Et)%2)}function Rt(bt,Lt,St){o=!0,ot(bt,Lt,St),o=!1}function kt(bt,Lt,St){a=!0,ot(bt,Lt,St),a=!1}function Ct(bt,Lt,St,Et,dt,Ht){for(var $t=[],fr=0,_r=0;_r<Lt.length;_r++)for(var Br=Lt[_r],Or=1;Or<x;Or++)for(var Nr=1;Nr<v;Nr++)$t.push(Ge(bt,Br,Nr,Or,St,Et,dt[_r],Ht&&Ht[fr]?Ht[fr]:[])),fr++;return $t}function Yt(bt,Lt,St,Et,dt,Ht){for(var $t=[],fr=0,_r=0;_r<Lt.length;_r++)for(var Br=Lt[_r],Or=1;Or<d;Or++)for(var Nr=1;Nr<x;Nr++)$t.push(Ge(bt,Or,Br,Nr,St,Et,dt[_r],Ht&&Ht[fr]?Ht[fr]:[])),fr++;return $t}function xr(bt,Lt,St,Et,dt,Ht){for(var $t=[],fr=0,_r=0;_r<Lt.length;_r++)for(var Br=Lt[_r],Or=1;Or<v;Or++)for(var Nr=1;Nr<d;Nr++)$t.push(Ge(bt,Nr,Or,Br,St,Et,dt[_r],Ht&&Ht[fr]?Ht[fr]:[])),fr++;return $t}function er(bt,Lt){for(var St=[],Et=bt;Et<Lt;Et++)St.push(Et);return St}function Ke(){for(var bt=0;bt<d;bt++)for(var Lt=0;Lt<v;Lt++)for(var St=0;St<x;St++){var Et=p(bt,Lt,St);q(e._x[Et],e._y[Et],e._z[Et],e._value[Et])}}function xt(){F(),Ke();var bt=null;if(r&&i&&(N(i),Rt(bt,A,L)),t&&n){N(n);for(var Lt=e.surface.pattern,St=e.surface.count,Et=0;Et<St;Et++){var dt=St===1?.5:Et/(St-1),Ht=(1-dt)*A+dt*L,$t=Math.abs(Ht-E),fr=Math.abs(Ht-k),_r=$t>fr?[E,Ht]:[Ht,k];kt(Lt,_r[0],_r[1])}}var Br=[[Math.min(A,k),Math.max(A,k)],[Math.min(E,L),Math.max(E,L)]];[\"x\",\"y\",\"z\"].forEach(function(Or){for(var Nr=[],ut=0;ut<Br.length;ut++){var Ne=0,Ye=Br[ut][0],Ve=Br[ut][1],Xe=e.slices[Or];if(Xe.show&&Xe.fill){N(Xe.fill);var ht=[],Le=[],xe=[];if(Xe.locations.length)for(var Se=0;Se<Xe.locations.length;Se++){var lt=XE(Xe.locations[Se],Or===\"x\"?c:Or===\"y\"?f:h);lt.distRatio===0?ht.push(lt.id):lt.id>0&&(Le.push(lt.id),Or===\"x\"?xe.push([lt.distRatio,0,0]):Or===\"y\"?xe.push([0,lt.distRatio,0]):xe.push([0,0,lt.distRatio]))}else Or===\"x\"?ht=er(1,d-1):Or===\"y\"?ht=er(1,v-1):ht=er(1,x-1);Le.length>0&&(Or===\"x\"?Nr[Ne]=Ct(bt,Le,Ye,Ve,xe,Nr[Ne]):Or===\"y\"?Nr[Ne]=Yt(bt,Le,Ye,Ve,xe,Nr[Ne]):Nr[Ne]=xr(bt,Le,Ye,Ve,xe,Nr[Ne]),Ne++),ht.length>0&&(Or===\"x\"?Nr[Ne]=ct(bt,ht,Ye,Ve,Nr[Ne]):Or===\"y\"?Nr[Ne]=qt(bt,ht,Ye,Ve,Nr[Ne]):Nr[Ne]=rt(bt,ht,Ye,Ve,Nr[Ne]),Ne++)}var Gt=e.caps[Or];Gt.show&&Gt.fill&&(N(Gt.fill),Or===\"x\"?Nr[Ne]=ct(bt,[0,d-1],Ye,Ve,Nr[Ne]):Or===\"y\"?Nr[Ne]=qt(bt,[0,v-1],Ye,Ve,Nr[Ne]):Nr[Ne]=rt(bt,[0,x-1],Ye,Ve,Nr[Ne]),Ne++)}}),s===0&&F(),e._meshX=_,e._meshY=C,e._meshZ=M,e._meshIntensity=g,e._Xs=c,e._Ys=f,e._Zs=h}return xt(),e}function YIt(e,t){var r=e.glplot.gl,n=HIt({gl:r}),i=new cIe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}hIe.exports={findNearestOnAxis:XE,generateIsoMeshes:fIe,createIsosurfaceTrace:YIt}});var vIe=ye((Wvr,dIe)=>{\"use strict\";dIe.exports={attributes:tz(),supplyDefaults:zZ().supplyDefaults,calc:OZ(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:nz().createIsosurfaceTrace,moduleType:\"trace\",name:\"isosurface\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],meta:{}}});var gIe=ye((Zvr,pIe)=>{\"use strict\";pIe.exports=vIe()});var UZ=ye((Xvr,yIe)=>{\"use strict\";var KIt=Jl(),xh=tz(),JIt=jE(),mIe=vl(),NZ=no().extendFlat,$It=Bu().overrideAll,az=yIe.exports=$It(NZ({x:xh.x,y:xh.y,z:xh.z,value:xh.value,isomin:xh.isomin,isomax:xh.isomax,surface:xh.surface,spaceframe:{show:{valType:\"boolean\",dflt:!1},fill:{valType:\"number\",min:0,max:1,dflt:1}},slices:xh.slices,caps:xh.caps,text:xh.text,hovertext:xh.hovertext,xhoverformat:xh.xhoverformat,yhoverformat:xh.yhoverformat,zhoverformat:xh.zhoverformat,valuehoverformat:xh.valuehoverformat,hovertemplate:xh.hovertemplate},KIt(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{colorbar:xh.colorbar,opacity:xh.opacity,opacityscale:JIt.opacityscale,lightposition:xh.lightposition,lighting:xh.lighting,flatshading:xh.flatshading,contour:xh.contour,hoverinfo:NZ({},mIe.hoverinfo),showlegend:NZ({},mIe.showlegend,{dflt:!1})}),\"calc\",\"nested\");az.x.editType=az.y.editType=az.z.editType=az.value.editType=\"calc+clearAxisTypes\"});var xIe=ye((Yvr,_Ie)=>{\"use strict\";var QIt=Mr(),e8t=UZ(),t8t=zZ().supplyIsoDefaults,r8t=CZ().opacityscaleDefaults;_Ie.exports=function(t,r,n,i){function a(o,s){return QIt.coerce(t,r,e8t,o,s)}t8t(t,r,n,i,a),r8t(t,r,i,a)}});var AIe=ye((Kvr,TIe)=>{\"use strict\";var i8t=Rd().gl_mesh3d,n8t=$y().parseColorScale,a8t=Mr().isArrayOrTypedArray,o8t=Jy(),s8t=Mu().extractOpts,bIe=H5(),VZ=nz().findNearestOnAxis,l8t=nz().generateIsoMeshes;function wIe(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name=\"\",this.data=null,this.showContour=!1}var HZ=wIe.prototype;HZ.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],i=this.data._meshZ[t],a=this.data._Ys.length,o=this.data._Zs.length,s=VZ(r,this.data._Xs).id,l=VZ(n,this.data._Ys).id,u=VZ(i,this.data._Zs).id,c=e.index=u+o*l+o*a*s;e.traceCoordinate=[this.data._meshX[c],this.data._meshY[c],this.data._meshZ[c],this.data._value[c]];var f=this.data.hovertext||this.data.text;return a8t(f)&&f[c]!==void 0?e.textLabel=f[c]:f&&(e.textLabel=f),!0}};HZ.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=l8t(e);function n(l,u,c,f){return u.map(function(h){return l.d2l(h,0,f)*c})}var i=bIe(n(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),n(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),n(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),a=bIe(e._meshI,e._meshJ,e._meshK),o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,opacityscale:e.opacityscale,contourEnable:e.contour.show,contourColor:o8t(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},s=s8t(e);o.vertexIntensity=e._meshIntensity,o.vertexIntensityBounds=[s.min,s.max],o.colormap=n8t(e),this.mesh.update(o)};HZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function u8t(e,t){var r=e.glplot.gl,n=i8t({gl:r}),i=new wIe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}TIe.exports=u8t});var MIe=ye((Jvr,SIe)=>{\"use strict\";SIe.exports={attributes:UZ(),supplyDefaults:xIe(),calc:OZ(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:AIe(),moduleType:\"trace\",name:\"volume\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],meta:{}}});var kIe=ye(($vr,EIe)=>{\"use strict\";EIe.exports=MIe()});var PIe=ye((Qvr,LIe)=>{\"use strict\";var c8t=ba(),CIe=Mr(),f8t=Uh(),h8t=U5();LIe.exports=function(t,r,n,i){function a(c,f){return CIe.coerce(t,r,h8t,c,f)}function o(c){var f=c.map(function(h){var d=a(h);return d&&CIe.isArrayOrTypedArray(d)?d:null});return f.every(function(h){return h&&h.length===f[0].length})&&f}var s=o([\"x\",\"y\",\"z\"]);if(!s){r.visible=!1;return}if(o([\"i\",\"j\",\"k\"]),r.i&&(!r.j||!r.k)||r.j&&(!r.k||!r.i)||r.k&&(!r.i||!r.j)){r.visible=!1;return}var l=c8t.getComponentMethod(\"calendars\",\"handleTraceDefaults\");l(t,r,[\"x\",\"y\",\"z\"],i),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lighting.vertexnormalsepsilon\",\"lighting.facenormalsepsilon\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"flatshading\",\"alphahull\",\"delaunayaxis\",\"opacity\"].forEach(function(c){a(c)});var u=a(\"contour.show\");u&&(a(\"contour.color\"),a(\"contour.width\")),\"intensity\"in t?(a(\"intensity\"),a(\"intensitymode\"),f8t(t,r,i,a,{prefix:\"\",cLetter:\"c\"})):(r.showscale=!1,\"facecolor\"in t?a(\"facecolor\"):\"vertexcolor\"in t?a(\"vertexcolor\"):a(\"color\",n)),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),r._length=null}});var RIe=ye((epr,IIe)=>{\"use strict\";var d8t=zv();IIe.exports=function(t,r){r.intensity&&d8t(t,r,{vals:r.intensity,containerStr:\"\",cLetter:\"c\"})}});var OIe=ye((tpr,qIe)=>{\"use strict\";var v8t=Rd().gl_mesh3d,p8t=Rd().delaunay_triangulate,g8t=Rd().alpha_shape,m8t=Rd().convex_hull,y8t=$y().parseColorScale,_8t=Mr().isArrayOrTypedArray,ZZ=Jy(),x8t=Mu().extractOpts,DIe=H5();function FIe(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name=\"\",this.color=\"#fff\",this.data=null,this.showContour=!1}var XZ=FIe.prototype;XZ.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index;e.data._cellCenter?e.traceCoordinate=e.data.dataCoordinate:e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]];var r=this.data.hovertext||this.data.text;return _8t(r)&&r[t]!==void 0?e.textLabel=r[t]:r&&(e.textLabel=r),!0}};function zIe(e){for(var t=[],r=e.length,n=0;n<r;n++)t[n]=ZZ(e[n]);return t}function GZ(e,t,r,n){for(var i=[],a=t.length,o=0;o<a;o++)i[o]=e.d2l(t[o],0,n)*r;return i}function jZ(e){for(var t=[],r=e.length,n=0;n<r;n++)t[n]=Math.round(e[n]);return t}function b8t(e,t){for(var r=[\"x\",\"y\",\"z\"].indexOf(e),n=[],i=t.length,a=0;a<i;a++)n[a]=[t[a][(r+1)%3],t[a][(r+2)%3]];return p8t(n)}function WZ(e,t){for(var r=e.length,n=0;n<r;n++)if(e[n]<=-.5||e[n]>=t-.5)return!1;return!0}XZ.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=e;var n=e.x.length,i=DIe(GZ(r.xaxis,e.x,t.dataScale[0],e.xcalendar),GZ(r.yaxis,e.y,t.dataScale[1],e.ycalendar),GZ(r.zaxis,e.z,t.dataScale[2],e.zcalendar)),a;if(e.i&&e.j&&e.k){if(e.i.length!==e.j.length||e.j.length!==e.k.length||!WZ(e.i,n)||!WZ(e.j,n)||!WZ(e.k,n))return;a=DIe(jZ(e.i),jZ(e.j),jZ(e.k))}else e.alphahull===0?a=m8t(i):e.alphahull>0?a=g8t(e.alphahull,i):a=b8t(e.delaunayaxis,i);var o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,contourEnable:e.contour.show,contourColor:ZZ(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading};if(e.intensity){var s=x8t(e);this.color=\"#fff\";var l=e.intensitymode;o[l+\"Intensity\"]=e.intensity,o[l+\"IntensityBounds\"]=[s.min,s.max],o.colormap=y8t(e)}else e.vertexcolor?(this.color=e.vertexcolor[0],o.vertexColors=zIe(e.vertexcolor)):e.facecolor?(this.color=e.facecolor[0],o.cellColors=zIe(e.facecolor)):(this.color=e.color,o.meshColor=ZZ(e.color));this.mesh.update(o)};XZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function w8t(e,t){var r=e.glplot.gl,n=v8t({gl:r}),i=new FIe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}qIe.exports=w8t});var NIe=ye((rpr,BIe)=>{\"use strict\";BIe.exports={attributes:U5(),supplyDefaults:PIe(),calc:RIe(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:OIe(),moduleType:\"trace\",name:\"mesh3d\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],meta:{}}});var VIe=ye((ipr,UIe)=>{\"use strict\";UIe.exports=NIe()});var KZ=ye((npr,GIe)=>{\"use strict\";var T8t=Jl(),G5=Oc().axisHoverFormat,A8t=Wo().hovertemplateAttrs,S8t=U5(),HIe=vl(),YZ=no().extendFlat,oz={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:A8t({editType:\"calc\"},{keys:[\"norm\"]}),uhoverformat:G5(\"u\",1),vhoverformat:G5(\"v\",1),whoverformat:G5(\"w\",1),xhoverformat:G5(\"x\"),yhoverformat:G5(\"y\"),zhoverformat:G5(\"z\"),showlegend:YZ({},HIe.showlegend,{dflt:!1})};YZ(oz,T8t(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}));var M8t=[\"opacity\",\"lightposition\",\"lighting\"];M8t.forEach(function(e){oz[e]=S8t[e]});oz.hoverinfo=YZ({},HIe.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"});GIe.exports=oz});var WIe=ye((apr,jIe)=>{\"use strict\";var E8t=Mr(),k8t=Uh(),C8t=KZ();jIe.exports=function(t,r,n,i){function a(d,v){return E8t.coerce(t,r,C8t,d,v)}var o=a(\"u\"),s=a(\"v\"),l=a(\"w\"),u=a(\"x\"),c=a(\"y\"),f=a(\"z\");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length||!f||!f.length){r.visible=!1;return}var h=a(\"sizemode\");a(\"sizeref\",h===\"raw\"?1:.5),a(\"anchor\"),a(\"lighting.ambient\"),a(\"lighting.diffuse\"),a(\"lighting.specular\"),a(\"lighting.roughness\"),a(\"lighting.fresnel\"),a(\"lightposition.x\"),a(\"lightposition.y\"),a(\"lightposition.z\"),k8t(t,r,i,a,{prefix:\"\",cLetter:\"c\"}),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"uhoverformat\"),a(\"vhoverformat\"),a(\"whoverformat\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),r._length=null}});var XIe=ye((opr,ZIe)=>{\"use strict\";var L8t=zv();ZIe.exports=function(t,r){for(var n=r.u,i=r.v,a=r.w,o=Math.min(r.x.length,r.y.length,r.z.length,n.length,i.length,a.length),s=-1/0,l=1/0,u=0;u<o;u++){var c=n[u],f=i[u],h=a[u],d=Math.sqrt(c*c+f*f+h*h);s=Math.max(s,d),l=Math.min(l,d)}r._len=o,r._normMax=s,L8t(t,r,{vals:[l,s],containerStr:\"\",cLetter:\"c\"})}});var QIe=ye((spr,$Ie)=>{\"use strict\";var P8t=Rd().gl_cone3d,I8t=Rd().gl_cone3d.createConeMesh,R8t=Mr().simpleMap,D8t=$y().parseColorScale,z8t=Mu().extractOpts,F8t=Mr().isArrayOrTypedArray,YIe=H5();function KIe(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var JZ=KIe.prototype;JZ.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index,r=this.data.x[t],n=this.data.y[t],i=this.data.z[t],a=this.data.u[t],o=this.data.v[t],s=this.data.w[t];e.traceCoordinate=[r,n,i,a,o,s,Math.sqrt(a*a+o*o+s*s)];var l=this.data.hovertext||this.data.text;return F8t(l)&&l[t]!==void 0?e.textLabel=l[t]:l&&(e.textLabel=l),!0}};var q8t={xaxis:0,yaxis:1,zaxis:2},O8t={tip:1,tail:0,cm:.25,center:.5},B8t={tip:1,tail:1,cm:.75,center:.5};function JIe(e,t){var r=e.fullSceneLayout,n=e.dataScale,i={};function a(c,f){var h=r[f],d=n[q8t[f]];return R8t(c,function(v){return h.d2l(v)*d})}i.vectors=YIe(a(t.u,\"xaxis\"),a(t.v,\"yaxis\"),a(t.w,\"zaxis\"),t._len),i.positions=YIe(a(t.x,\"xaxis\"),a(t.y,\"yaxis\"),a(t.z,\"zaxis\"),t._len);var o=z8t(t);i.colormap=D8t(t),i.vertexIntensityBounds=[o.min/t._normMax,o.max/t._normMax],i.coneOffset=O8t[t.anchor];var s=t.sizemode;s===\"scaled\"?i.coneSize=t.sizeref||.5:s===\"absolute\"?i.coneSize=t.sizeref&&t._normMax?t.sizeref/t._normMax:.5:s===\"raw\"&&(i.coneSize=t.sizeref),i.coneSizemode=s;var l=P8t(i),u=t.lightposition;return l.lightPosition=[u.x,u.y,u.z],l.ambient=t.lighting.ambient,l.diffuse=t.lighting.diffuse,l.specular=t.lighting.specular,l.roughness=t.lighting.roughness,l.fresnel=t.lighting.fresnel,l.opacity=t.opacity,t._pad=B8t[t.anchor]*l.vectorScale*l.coneScale*t._normMax,l}JZ.update=function(e){this.data=e;var t=JIe(this.scene,e);this.mesh.update(t)};JZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function N8t(e,t){var r=e.glplot.gl,n=JIe(e,t),i=I8t(r,n),a=new KIe(e,t.uid);return a.mesh=i,a.data=t,i._trace=a,e.glplot.add(i),a}$Ie.exports=N8t});var t8e=ye((lpr,e8e)=>{\"use strict\";e8e.exports={moduleType:\"trace\",name:\"cone\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],attributes:KZ(),supplyDefaults:WIe(),colorbar:{min:\"cmin\",max:\"cmax\"},calc:XIe(),plot:QIe(),eventData:function(e,t){return e.norm=t.traceCoordinate[6],e},meta:{}}});var i8e=ye((upr,r8e)=>{\"use strict\";r8e.exports=t8e()});var QZ=ye((cpr,a8e)=>{\"use strict\";var U8t=Jl(),j5=Oc().axisHoverFormat,V8t=Wo().hovertemplateAttrs,H8t=U5(),n8e=vl(),$Z=no().extendFlat,sz={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},u:{valType:\"data_array\",editType:\"calc\"},v:{valType:\"data_array\",editType:\"calc\"},w:{valType:\"data_array\",editType:\"calc\"},starts:{x:{valType:\"data_array\",editType:\"calc\"},y:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},maxdisplayed:{valType:\"integer\",min:0,dflt:1e3,editType:\"calc\"},sizeref:{valType:\"number\",editType:\"calc\",min:0,dflt:1},text:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertemplate:V8t({editType:\"calc\"},{keys:[\"tubex\",\"tubey\",\"tubez\",\"tubeu\",\"tubev\",\"tubew\",\"norm\",\"divergence\"]}),uhoverformat:j5(\"u\",1),vhoverformat:j5(\"v\",1),whoverformat:j5(\"w\",1),xhoverformat:j5(\"x\"),yhoverformat:j5(\"y\"),zhoverformat:j5(\"z\"),showlegend:$Z({},n8e.showlegend,{dflt:!1})};$Z(sz,U8t(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}));var G8t=[\"opacity\",\"lightposition\",\"lighting\"];G8t.forEach(function(e){sz[e]=H8t[e]});sz.hoverinfo=$Z({},n8e.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"divergence\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"});a8e.exports=sz});var s8e=ye((fpr,o8e)=>{\"use strict\";var j8t=Mr(),W8t=Uh(),Z8t=QZ();o8e.exports=function(t,r,n,i){function a(h,d){return j8t.coerce(t,r,Z8t,h,d)}var o=a(\"u\"),s=a(\"v\"),l=a(\"w\"),u=a(\"x\"),c=a(\"y\"),f=a(\"z\");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length||!f||!f.length){r.visible=!1;return}a(\"starts.x\"),a(\"starts.y\"),a(\"starts.z\"),a(\"maxdisplayed\"),a(\"sizeref\"),a(\"lighting.ambient\"),a(\"lighting.diffuse\"),a(\"lighting.specular\"),a(\"lighting.roughness\"),a(\"lighting.fresnel\"),a(\"lightposition.x\"),a(\"lightposition.y\"),a(\"lightposition.z\"),W8t(t,r,i,a,{prefix:\"\",cLetter:\"c\"}),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"uhoverformat\"),a(\"vhoverformat\"),a(\"whoverformat\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),r._length=null}});var p8e=ye((hpr,v8e)=>{\"use strict\";var c8e=Rd().gl_streamtube3d,X8t=c8e.createTubeMesh,Y8t=Mr(),K8t=$y().parseColorScale,J8t=Mu().extractOpts,l8e=H5(),f8e={xaxis:0,yaxis:1,zaxis:2};function h8e(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var tX=h8e.prototype;tX.handlePick=function(e){var t=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(o,s){var l=t[s],u=r[f8e[s]];return l.l2c(o)/u}if(e.object===this.mesh){var i=e.data.position,a=e.data.velocity;return e.traceCoordinate=[n(i[0],\"xaxis\"),n(i[1],\"yaxis\"),n(i[2],\"zaxis\"),n(a[0],\"xaxis\"),n(a[1],\"yaxis\"),n(a[2],\"zaxis\"),e.data.intensity*this.data._normMax,e.data.divergence],e.textLabel=this.data.hovertext||this.data.text,!0}};function u8e(e){var t=e.length,r;return t>2?r=e.slice(1,t-1):t===2?r=[(e[0]+e[1])/2]:r=e,r}function eX(e){var t=e.length;return t===1?[.5,.5]:[e[1]-e[0],e[t-1]-e[t-2]]}function d8e(e,t){var r=e.fullSceneLayout,n=e.dataScale,i=t._len,a={};function o(F,q){var V=r[q],H=n[f8e[q]];return Y8t.simpleMap(F,function(X){return V.d2l(X)*H})}if(a.vectors=l8e(o(t._u,\"xaxis\"),o(t._v,\"yaxis\"),o(t._w,\"zaxis\"),i),!i)return{positions:[],cells:[]};var s=o(t._Xs,\"xaxis\"),l=o(t._Ys,\"yaxis\"),u=o(t._Zs,\"zaxis\");a.meshgrid=[s,l,u],a.gridFill=t._gridFill;var c=t._slen;if(c)a.startingPositions=l8e(o(t._startsX,\"xaxis\"),o(t._startsY,\"yaxis\"),o(t._startsZ,\"zaxis\"));else{for(var f=l[0],h=u8e(s),d=u8e(u),v=new Array(h.length*d.length),x=0,b=0;b<h.length;b++)for(var p=0;p<d.length;p++)v[x++]=[h[b],f,d[p]];a.startingPositions=v}a.colormap=K8t(t),a.tubeSize=t.sizeref,a.maxLength=t.maxdisplayed;var E=o(t._xbnds,\"xaxis\"),k=o(t._ybnds,\"yaxis\"),A=o(t._zbnds,\"zaxis\"),L=eX(s),_=eX(l),C=eX(u),M=[[E[0]-L[0],k[0]-_[0],A[0]-C[0]],[E[1]+L[1],k[1]+_[1],A[1]+C[1]]],g=c8e(a,M),P=J8t(t);g.vertexIntensityBounds=[P.min/t._normMax,P.max/t._normMax];var T=t.lightposition;return g.lightPosition=[T.x,T.y,T.z],g.ambient=t.lighting.ambient,g.diffuse=t.lighting.diffuse,g.specular=t.lighting.specular,g.roughness=t.lighting.roughness,g.fresnel=t.lighting.fresnel,g.opacity=t.opacity,t._pad=g.tubeScale*t.sizeref*2,g}tX.update=function(e){this.data=e;var t=d8e(this.scene,e);this.mesh.update(t)};tX.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function $8t(e,t){var r=e.glplot.gl,n=d8e(e,t),i=X8t(r,n),a=new h8e(e,t.uid);return a.mesh=i,a.data=t,i._trace=a,e.glplot.add(i),a}v8e.exports=$8t});var m8e=ye((dpr,g8e)=>{\"use strict\";g8e.exports={moduleType:\"trace\",name:\"streamtube\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],attributes:QZ(),supplyDefaults:s8e(),colorbar:{min:\"cmin\",max:\"cmax\"},calc:rz().calc,plot:p8e(),eventData:function(e,t){return e.tubex=e.x,e.tubey=e.y,e.tubez=e.z,e.tubeu=t.traceCoordinate[3],e.tubev=t.traceCoordinate[4],e.tubew=t.traceCoordinate[5],e.norm=t.traceCoordinate[6],e.divergence=t.traceCoordinate[7],delete e.x,delete e.y,delete e.z,e},meta:{}}});var _8e=ye((vpr,y8e)=>{\"use strict\";y8e.exports=m8e()});var H2=ye((ppr,w8e)=>{\"use strict\";var Q8t=Wo().hovertemplateAttrs,eRt=Wo().texttemplateAttrs,tRt=Eg(),jm=Uc(),rRt=vl(),x8e=Jl(),iRt=Ed().dash,V2=no().extendFlat,nRt=Bu().overrideAll,eg=jm.marker,b8e=jm.line,aRt=eg.line;w8e.exports=nRt({lon:{valType:\"data_array\"},lat:{valType:\"data_array\"},locations:{valType:\"data_array\"},locationmode:{valType:\"enumerated\",values:[\"ISO-3\",\"USA-states\",\"country names\",\"geojson-id\"],dflt:\"ISO-3\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:{valType:\"string\",editType:\"calc\",dflt:\"id\"},mode:V2({},jm.mode,{dflt:\"markers\"}),text:V2({},jm.text,{}),texttemplate:eRt({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"location\",\"text\"]}),hovertext:V2({},jm.hovertext,{}),textfont:jm.textfont,textposition:jm.textposition,line:{color:b8e.color,width:b8e.width,dash:iRt},connectgaps:jm.connectgaps,marker:V2({symbol:eg.symbol,opacity:eg.opacity,angle:eg.angle,angleref:V2({},eg.angleref,{values:[\"previous\",\"up\",\"north\"]}),standoff:eg.standoff,size:eg.size,sizeref:eg.sizeref,sizemin:eg.sizemin,sizemode:eg.sizemode,colorbar:eg.colorbar,line:V2({width:aRt.width},x8e(\"marker.line\")),gradient:eg.gradient},x8e(\"marker\")),fill:{valType:\"enumerated\",values:[\"none\",\"toself\"],dflt:\"none\"},fillcolor:tRt(),selected:jm.selected,unselected:jm.unselected,hoverinfo:V2({},rRt.hoverinfo,{flags:[\"lon\",\"lat\",\"location\",\"text\",\"name\"]}),hovertemplate:Q8t()},\"calc\",\"nested\")});var A8e=ye((gpr,T8e)=>{\"use strict\";var rX=Mr(),iX=lu(),oRt=$p(),sRt=R0(),lRt=D0(),uRt=Ig(),cRt=H2();T8e.exports=function(t,r,n,i){function a(d,v){return rX.coerce(t,r,cRt,d,v)}var o=a(\"locations\"),s;if(o&&o.length){var l=a(\"geojson\"),u;(typeof l==\"string\"&&l!==\"\"||rX.isPlainObject(l))&&(u=\"geojson-id\");var c=a(\"locationmode\",u);c===\"geojson-id\"&&a(\"featureidkey\"),s=o.length}else{var f=a(\"lon\")||[],h=a(\"lat\")||[];s=Math.min(f.length,h.length)}if(!s){r.visible=!1;return}r._length=s,a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"mode\"),iX.hasMarkers(r)&&oRt(t,r,n,i,a,{gradient:!0}),iX.hasLines(r)&&(sRt(t,r,n,i,a),a(\"connectgaps\")),iX.hasText(r)&&(a(\"texttemplate\"),lRt(t,r,i,a)),a(\"fill\"),r.fill!==\"none\"&&uRt(t,r,n,a),rX.coerceSelectionMarkerOpacity(r,a)}});var E8e=ye((mpr,M8e)=>{\"use strict\";var S8e=Qa();M8e.exports=function(t,r,n){var i={},a=n[r.geo]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=S8e.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=S8e.tickText(o,o.c2l(s[1]),!0).text,i}});var lz=ye((ypr,P8e)=>{\"use strict\";var nX=uo(),k8e=es().BADNUM,fRt=z0(),hRt=km(),dRt=F0(),vRt=Mr().isArrayOrTypedArray,C8e=Mr()._;function L8e(e){return e&&typeof e==\"string\"}P8e.exports=function(t,r){var n=vRt(r.locations),i=n?r.locations.length:r._length,a=new Array(i),o;r.geojson?o=function(h){return L8e(h)||nX(h)}:o=L8e;for(var s=0;s<i;s++){var l=a[s]={};if(n){var u=r.locations[s];l.loc=o(u)?u:null}else{var c=r.lon[s],f=r.lat[s];nX(c)&&nX(f)?l.lonlat=[+c,+f]:l.lonlat=[k8e,k8e]}}return hRt(a,r),fRt(t,r),dRt(a,r),i&&(a[0].t={labels:{lat:C8e(t,\"lat:\")+\" \",lon:C8e(t,\"lon:\")+\" \"}}),a}});var YE=ye(Tv=>{\"use strict\";Tv.projNames={airy:\"airy\",aitoff:\"aitoff\",\"albers usa\":\"albersUsa\",albers:\"albers\",august:\"august\",\"azimuthal equal area\":\"azimuthalEqualArea\",\"azimuthal equidistant\":\"azimuthalEquidistant\",baker:\"baker\",bertin1953:\"bertin1953\",boggs:\"boggs\",bonne:\"bonne\",bottomley:\"bottomley\",bromley:\"bromley\",collignon:\"collignon\",\"conic conformal\":\"conicConformal\",\"conic equal area\":\"conicEqualArea\",\"conic equidistant\":\"conicEquidistant\",craig:\"craig\",craster:\"craster\",\"cylindrical equal area\":\"cylindricalEqualArea\",\"cylindrical stereographic\":\"cylindricalStereographic\",eckert1:\"eckert1\",eckert2:\"eckert2\",eckert3:\"eckert3\",eckert4:\"eckert4\",eckert5:\"eckert5\",eckert6:\"eckert6\",eisenlohr:\"eisenlohr\",\"equal earth\":\"equalEarth\",equirectangular:\"equirectangular\",fahey:\"fahey\",\"foucaut sinusoidal\":\"foucautSinusoidal\",foucaut:\"foucaut\",ginzburg4:\"ginzburg4\",ginzburg5:\"ginzburg5\",ginzburg6:\"ginzburg6\",ginzburg8:\"ginzburg8\",ginzburg9:\"ginzburg9\",gnomonic:\"gnomonic\",\"gringorten quincuncial\":\"gringortenQuincuncial\",gringorten:\"gringorten\",guyou:\"guyou\",hammer:\"hammer\",hill:\"hill\",homolosine:\"homolosine\",hufnagel:\"hufnagel\",hyperelliptical:\"hyperelliptical\",kavrayskiy7:\"kavrayskiy7\",lagrange:\"lagrange\",larrivee:\"larrivee\",laskowski:\"laskowski\",loximuthal:\"loximuthal\",mercator:\"mercator\",miller:\"miller\",mollweide:\"mollweide\",\"mt flat polar parabolic\":\"mtFlatPolarParabolic\",\"mt flat polar quartic\":\"mtFlatPolarQuartic\",\"mt flat polar sinusoidal\":\"mtFlatPolarSinusoidal\",\"natural earth\":\"naturalEarth\",\"natural earth1\":\"naturalEarth1\",\"natural earth2\":\"naturalEarth2\",\"nell hammer\":\"nellHammer\",nicolosi:\"nicolosi\",orthographic:\"orthographic\",patterson:\"patterson\",\"peirce quincuncial\":\"peirceQuincuncial\",polyconic:\"polyconic\",\"rectangular polyconic\":\"rectangularPolyconic\",robinson:\"robinson\",satellite:\"satellite\",\"sinu mollweide\":\"sinuMollweide\",sinusoidal:\"sinusoidal\",stereographic:\"stereographic\",times:\"times\",\"transverse mercator\":\"transverseMercator\",\"van der grinten\":\"vanDerGrinten\",\"van der grinten2\":\"vanDerGrinten2\",\"van der grinten3\":\"vanDerGrinten3\",\"van der grinten4\":\"vanDerGrinten4\",wagner4:\"wagner4\",wagner6:\"wagner6\",wiechel:\"wiechel\",\"winkel tripel\":\"winkel3\",winkel3:\"winkel3\"};Tv.axesNames=[\"lonaxis\",\"lataxis\"];Tv.lonaxisSpan={orthographic:180,\"azimuthal equal area\":360,\"azimuthal equidistant\":360,\"conic conformal\":180,gnomonic:160,stereographic:180,\"transverse mercator\":180,\"*\":360};Tv.lataxisSpan={\"conic conformal\":150,stereographic:179.5,\"*\":180};Tv.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:\"equirectangular\",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:\"albers usa\"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:\"conic conformal\",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:\"mercator\",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:\"mercator\",projRotate:[0,0,0]},\"north america\":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:\"conic conformal\",projRotate:[-100,0,0],projParallels:[29.5,45.5]},\"south america\":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:\"mercator\",projRotate:[0,0,0]}};Tv.clipPad=.001;Tv.precision=.1;Tv.landColor=\"#F0DC82\";Tv.waterColor=\"#3399FF\";Tv.locationmodeToLayer={\"ISO-3\":\"countries\",\"USA-states\":\"subunits\",\"country names\":\"countries\"};Tv.sphereSVG={type:\"Sphere\"};Tv.fillLayers={ocean:1,land:1,lakes:1};Tv.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1};Tv.layers=[\"bg\",\"ocean\",\"land\",\"lakes\",\"subunits\",\"countries\",\"coastlines\",\"rivers\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"frontplot\"];Tv.layersForChoropleth=[\"bg\",\"ocean\",\"land\",\"subunits\",\"countries\",\"coastlines\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"rivers\",\"lakes\",\"frontplot\"];Tv.layerNameToAdjective={ocean:\"ocean\",land:\"land\",lakes:\"lake\",subunits:\"subunit\",countries:\"country\",coastlines:\"coastline\",rivers:\"river\",frame:\"frame\"}});var aX=ye((uz,I8e)=>{(function(e,t){typeof uz==\"object\"&&typeof I8e!=\"undefined\"?t(uz):(e=e||self,t(e.topojson=e.topojson||{}))})(uz,function(e){\"use strict\";function t(k){return k}function r(k){if(k==null)return t;var A,L,_=k.scale[0],C=k.scale[1],M=k.translate[0],g=k.translate[1];return function(P,T){T||(A=L=0);var F=2,q=P.length,V=new Array(q);for(V[0]=(A+=P[0])*_+M,V[1]=(L+=P[1])*C+g;F<q;)V[F]=P[F],++F;return V}}function n(k){var A=r(k.transform),L,_=1/0,C=_,M=-_,g=-_;function P(F){F=A(F),F[0]<_&&(_=F[0]),F[0]>M&&(M=F[0]),F[1]<C&&(C=F[1]),F[1]>g&&(g=F[1])}function T(F){switch(F.type){case\"GeometryCollection\":F.geometries.forEach(T);break;case\"Point\":P(F.coordinates);break;case\"MultiPoint\":F.coordinates.forEach(P);break}}k.arcs.forEach(function(F){for(var q=-1,V=F.length,H;++q<V;)H=A(F[q],q),H[0]<_&&(_=H[0]),H[0]>M&&(M=H[0]),H[1]<C&&(C=H[1]),H[1]>g&&(g=H[1])});for(L in k.objects)T(k.objects[L]);return[_,C,M,g]}function i(k,A){for(var L,_=k.length,C=_-A;C<--_;)L=k[C],k[C++]=k[_],k[_]=L}function a(k,A){return typeof A==\"string\"&&(A=k.objects[A]),A.type===\"GeometryCollection\"?{type:\"FeatureCollection\",features:A.geometries.map(function(L){return o(k,L)})}:o(k,A)}function o(k,A){var L=A.id,_=A.bbox,C=A.properties==null?{}:A.properties,M=s(k,A);return L==null&&_==null?{type:\"Feature\",properties:C,geometry:M}:_==null?{type:\"Feature\",id:L,properties:C,geometry:M}:{type:\"Feature\",id:L,bbox:_,properties:C,geometry:M}}function s(k,A){var L=r(k.transform),_=k.arcs;function C(q,V){V.length&&V.pop();for(var H=_[q<0?~q:q],X=0,G=H.length;X<G;++X)V.push(L(H[X],X));q<0&&i(V,G)}function M(q){return L(q)}function g(q){for(var V=[],H=0,X=q.length;H<X;++H)C(q[H],V);return V.length<2&&V.push(V[0]),V}function P(q){for(var V=g(q);V.length<4;)V.push(V[0]);return V}function T(q){return q.map(P)}function F(q){var V=q.type,H;switch(V){case\"GeometryCollection\":return{type:V,geometries:q.geometries.map(F)};case\"Point\":H=M(q.coordinates);break;case\"MultiPoint\":H=q.coordinates.map(M);break;case\"LineString\":H=g(q.arcs);break;case\"MultiLineString\":H=q.arcs.map(g);break;case\"Polygon\":H=T(q.arcs);break;case\"MultiPolygon\":H=q.arcs.map(T);break;default:return null}return{type:V,coordinates:H}}return F(A)}function l(k,A){var L={},_={},C={},M=[],g=-1;A.forEach(function(F,q){var V=k.arcs[F<0?~F:F],H;V.length<3&&!V[1][0]&&!V[1][1]&&(H=A[++g],A[g]=F,A[q]=H)}),A.forEach(function(F){var q=P(F),V=q[0],H=q[1],X,G;if(X=C[V])if(delete C[X.end],X.push(F),X.end=H,G=_[H]){delete _[G.start];var N=G===X?X:X.concat(G);_[N.start=X.start]=C[N.end=G.end]=N}else _[X.start]=C[X.end]=X;else if(X=_[H])if(delete _[X.start],X.unshift(F),X.start=V,G=C[V]){delete C[G.end];var W=G===X?X:G.concat(X);_[W.start=G.start]=C[W.end=X.end]=W}else _[X.start]=C[X.end]=X;else X=[F],_[X.start=V]=C[X.end=H]=X});function P(F){var q=k.arcs[F<0?~F:F],V=q[0],H;return k.transform?(H=[0,0],q.forEach(function(X){H[0]+=X[0],H[1]+=X[1]})):H=q[q.length-1],F<0?[H,V]:[V,H]}function T(F,q){for(var V in F){var H=F[V];delete q[H.start],delete H.start,delete H.end,H.forEach(function(X){L[X<0?~X:X]=1}),M.push(H)}}return T(C,_),T(_,C),A.forEach(function(F){L[F<0?~F:F]||M.push([F])}),M}function u(k){return s(k,c.apply(this,arguments))}function c(k,A,L){var _,C,M;if(arguments.length>1)_=f(k,A,L);else for(C=0,_=new Array(M=k.arcs.length);C<M;++C)_[C]=C;return{type:\"MultiLineString\",arcs:l(k,_)}}function f(k,A,L){var _=[],C=[],M;function g(V){var H=V<0?~V:V;(C[H]||(C[H]=[])).push({i:V,g:M})}function P(V){V.forEach(g)}function T(V){V.forEach(P)}function F(V){V.forEach(T)}function q(V){switch(M=V,V.type){case\"GeometryCollection\":V.geometries.forEach(q);break;case\"LineString\":P(V.arcs);break;case\"MultiLineString\":case\"Polygon\":T(V.arcs);break;case\"MultiPolygon\":F(V.arcs);break}}return q(A),C.forEach(L==null?function(V){_.push(V[0].i)}:function(V){L(V[0].g,V[V.length-1].g)&&_.push(V[0].i)}),_}function h(k){for(var A=-1,L=k.length,_,C=k[L-1],M=0;++A<L;)_=C,C=k[A],M+=_[0]*C[1]-_[1]*C[0];return Math.abs(M)}function d(k){return s(k,v.apply(this,arguments))}function v(k,A){var L={},_=[],C=[];A.forEach(M);function M(T){switch(T.type){case\"GeometryCollection\":T.geometries.forEach(M);break;case\"Polygon\":g(T.arcs);break;case\"MultiPolygon\":T.arcs.forEach(g);break}}function g(T){T.forEach(function(F){F.forEach(function(q){(L[q=q<0?~q:q]||(L[q]=[])).push(T)})}),_.push(T)}function P(T){return h(s(k,{type:\"Polygon\",arcs:[T]}).coordinates[0])}return _.forEach(function(T){if(!T._){var F=[],q=[T];for(T._=1,C.push(F);T=q.pop();)F.push(T),T.forEach(function(V){V.forEach(function(H){L[H<0?~H:H].forEach(function(X){X._||(X._=1,q.push(X))})})})}}),_.forEach(function(T){delete T._}),{type:\"MultiPolygon\",arcs:C.map(function(T){var F=[],q;if(T.forEach(function(N){N.forEach(function(W){W.forEach(function(re){L[re<0?~re:re].length<2&&F.push(re)})})}),F=l(k,F),(q=F.length)>1)for(var V=1,H=P(F[0]),X,G;V<q;++V)(X=P(F[V]))>H&&(G=F[0],F[0]=F[V],F[V]=G,H=X);return F}).filter(function(T){return T.length>0})}}function x(k,A){for(var L=0,_=k.length;L<_;){var C=L+_>>>1;k[C]<A?L=C+1:_=C}return L}function b(k){var A={},L=k.map(function(){return[]});function _(N,W){N.forEach(function(re){re<0&&(re=~re);var ae=A[re];ae?ae.push(W):A[re]=[W]})}function C(N,W){N.forEach(function(re){_(re,W)})}function M(N,W){N.type===\"GeometryCollection\"?N.geometries.forEach(function(re){M(re,W)}):N.type in g&&g[N.type](N.arcs,W)}var g={LineString:_,MultiLineString:C,Polygon:C,MultiPolygon:function(N,W){N.forEach(function(re){C(re,W)})}};k.forEach(M);for(var P in A)for(var T=A[P],F=T.length,q=0;q<F;++q)for(var V=q+1;V<F;++V){var H=T[q],X=T[V],G;(G=L[H])[P=x(G,X)]!==X&&G.splice(P,0,X),(G=L[X])[P=x(G,H)]!==H&&G.splice(P,0,H)}return L}function p(k){if(k==null)return t;var A,L,_=k.scale[0],C=k.scale[1],M=k.translate[0],g=k.translate[1];return function(P,T){T||(A=L=0);var F=2,q=P.length,V=new Array(q),H=Math.round((P[0]-M)/_),X=Math.round((P[1]-g)/C);for(V[0]=H-A,A=H,V[1]=X-L,L=X;F<q;)V[F]=P[F],++F;return V}}function E(k,A){if(k.transform)throw new Error(\"already quantized\");if(!A||!A.scale){if(!((g=Math.floor(A))>=2))throw new Error(\"n must be \\u22652\");T=k.bbox||n(k);var L=T[0],_=T[1],C=T[2],M=T[3],g;A={scale:[C-L?(C-L)/(g-1):1,M-_?(M-_)/(g-1):1],translate:[L,_]}}else T=k.bbox;var P=p(A),T,F,q=k.objects,V={};function H(N){return P(N)}function X(N){var W;switch(N.type){case\"GeometryCollection\":W={type:\"GeometryCollection\",geometries:N.geometries.map(X)};break;case\"Point\":W={type:\"Point\",coordinates:H(N.coordinates)};break;case\"MultiPoint\":W={type:\"MultiPoint\",coordinates:N.coordinates.map(H)};break;default:return N}return N.id!=null&&(W.id=N.id),N.bbox!=null&&(W.bbox=N.bbox),N.properties!=null&&(W.properties=N.properties),W}function G(N){var W=0,re=1,ae=N.length,_e,Me=new Array(ae);for(Me[0]=P(N[0],0);++W<ae;)((_e=P(N[W],W))[0]||_e[1])&&(Me[re++]=_e);return re===1&&(Me[re++]=[0,0]),Me.length=re,Me}for(F in q)V[F]=X(q[F]);return{type:\"Topology\",bbox:T,transform:A,objects:V,arcs:k.arcs.map(G)}}e.bbox=n,e.feature=a,e.merge=d,e.mergeArcs=v,e.mesh=u,e.meshArcs=c,e.neighbors=b,e.quantize=E,e.transform=r,e.untransform=p,Object.defineProperty(e,\"__esModule\",{value:!0})})});var cz=ye((xpr,R8e)=>{\"use strict\";var oX=R8e.exports={},pRt=YE().locationmodeToLayer,gRt=aX().feature;oX.getTopojsonName=function(e){return[e.scope.replace(/ /g,\"-\"),\"_\",e.resolution.toString(),\"m\"].join(\"\")};oX.getTopojsonPath=function(e,t){return e+t+\".json\"};oX.getTopojsonFeatures=function(e,t){var r=pRt[e.locationmode],n=t.objects[r];return gRt(t,n).features}});var rx=ye(KE=>{\"use strict\";var mRt=es().BADNUM;KE.calcTraceToLineCoords=function(e){for(var t=e[0].trace,r=t.connectgaps,n=[],i=[],a=0;a<e.length;a++){var o=e[a],s=o.lonlat;s[0]!==mRt?i.push(s):!r&&i.length>0&&(n.push(i),i=[])}return i.length>0&&n.push(i),n};KE.makeLine=function(e){return e.length===1?{type:\"LineString\",coordinates:e[0]}:{type:\"MultiLineString\",coordinates:e}};KE.makePolygon=function(e){if(e.length===1)return{type:\"Polygon\",coordinates:e};for(var t=new Array(e.length),r=0;r<e.length;r++)t[r]=[e[r]];return{type:\"MultiPolygon\",coordinates:t}};KE.makeBlank=function(){return{type:\"Point\",coordinates:[]}}});var z8e=ye((wpr,D8e)=>{D8e.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\"}});var dz=ye(ku=>{\"use strict\";Object.defineProperty(ku,\"__esModule\",{value:!0});var qp=63710088e-1,lX={centimeters:qp*100,centimetres:qp*100,degrees:360/(2*Math.PI),feet:qp*3.28084,inches:qp*39.37,kilometers:qp/1e3,kilometres:qp/1e3,meters:qp,metres:qp,miles:qp/1609.344,millimeters:qp*1e3,millimetres:qp*1e3,nauticalmiles:qp/1852,radians:1,yards:qp*1.0936},sX={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,nauticalmiles:29155334959812285e-23,millimeters:1e6,millimetres:1e6,yards:1.195990046};function ix(e,t,r={}){let n={type:\"Feature\"};return(r.id===0||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}function yRt(e,t,r={}){switch(e){case\"Point\":return uX(t).geometry;case\"LineString\":return fX(t).geometry;case\"Polygon\":return cX(t).geometry;case\"MultiPoint\":return q8e(t).geometry;case\"MultiLineString\":return F8e(t).geometry;case\"MultiPolygon\":return O8e(t).geometry;default:throw new Error(e+\" is invalid\")}}function uX(e,t,r={}){if(!e)throw new Error(\"coordinates is required\");if(!Array.isArray(e))throw new Error(\"coordinates must be an Array\");if(e.length<2)throw new Error(\"coordinates must be at least 2 numbers long\");if(!fz(e[0])||!fz(e[1]))throw new Error(\"coordinates must contain numbers\");return ix({type:\"Point\",coordinates:e},t,r)}function _Rt(e,t,r={}){return hz(e.map(n=>uX(n,t)),r)}function cX(e,t,r={}){for(let i of e){if(i.length<4)throw new Error(\"Each LinearRing of a Polygon must have 4 or more Positions.\");if(i[i.length-1].length!==i[0].length)throw new Error(\"First and last Position are not equivalent.\");for(let a=0;a<i[i.length-1].length;a++)if(i[i.length-1][a]!==i[0][a])throw new Error(\"First and last Position are not equivalent.\")}return ix({type:\"Polygon\",coordinates:e},t,r)}function xRt(e,t,r={}){return hz(e.map(n=>cX(n,t)),r)}function fX(e,t,r={}){if(e.length<2)throw new Error(\"coordinates must be an array of two or more positions\");return ix({type:\"LineString\",coordinates:e},t,r)}function bRt(e,t,r={}){return hz(e.map(n=>fX(n,t)),r)}function hz(e,t={}){let r={type:\"FeatureCollection\"};return t.id&&(r.id=t.id),t.bbox&&(r.bbox=t.bbox),r.features=e,r}function F8e(e,t,r={}){return ix({type:\"MultiLineString\",coordinates:e},t,r)}function q8e(e,t,r={}){return ix({type:\"MultiPoint\",coordinates:e},t,r)}function O8e(e,t,r={}){return ix({type:\"MultiPolygon\",coordinates:e},t,r)}function wRt(e,t,r={}){return ix({type:\"GeometryCollection\",geometries:e},t,r)}function TRt(e,t=0){if(t&&!(t>=0))throw new Error(\"precision must be a positive number\");let r=Math.pow(10,t||0);return Math.round(e*r)/r}function B8e(e,t=\"kilometers\"){let r=lX[t];if(!r)throw new Error(t+\" units is invalid\");return e*r}function hX(e,t=\"kilometers\"){let r=lX[t];if(!r)throw new Error(t+\" units is invalid\");return e/r}function ARt(e,t){return N8e(hX(e,t))}function SRt(e){let t=e%360;return t<0&&(t+=360),t}function MRt(e){return e=e%360,e>0?e>180?e-360:e:e<-180?e+360:e}function N8e(e){return e%(2*Math.PI)*180/Math.PI}function ERt(e){return e%360*Math.PI/180}function kRt(e,t=\"kilometers\",r=\"kilometers\"){if(!(e>=0))throw new Error(\"length must be a positive number\");return B8e(hX(e,t),r)}function CRt(e,t=\"meters\",r=\"kilometers\"){if(!(e>=0))throw new Error(\"area must be a positive number\");let n=sX[t];if(!n)throw new Error(\"invalid original units\");let i=sX[r];if(!i)throw new Error(\"invalid final units\");return e/n*i}function fz(e){return!isNaN(e)&&e!==null&&!Array.isArray(e)}function LRt(e){return e!==null&&typeof e==\"object\"&&!Array.isArray(e)}function PRt(e){if(!e)throw new Error(\"bbox is required\");if(!Array.isArray(e))throw new Error(\"bbox must be an Array\");if(e.length!==4&&e.length!==6)throw new Error(\"bbox must be an Array of 4 or 6 numbers\");e.forEach(t=>{if(!fz(t))throw new Error(\"bbox must only contain numbers\")})}function IRt(e){if(!e)throw new Error(\"id is required\");if([\"string\",\"number\"].indexOf(typeof e)===-1)throw new Error(\"id must be a number or a string\")}ku.areaFactors=sX;ku.azimuthToBearing=MRt;ku.bearingToAzimuth=SRt;ku.convertArea=CRt;ku.convertLength=kRt;ku.degreesToRadians=ERt;ku.earthRadius=qp;ku.factors=lX;ku.feature=ix;ku.featureCollection=hz;ku.geometry=yRt;ku.geometryCollection=wRt;ku.isNumber=fz;ku.isObject=LRt;ku.lengthToDegrees=ARt;ku.lengthToRadians=hX;ku.lineString=fX;ku.lineStrings=bRt;ku.multiLineString=F8e;ku.multiPoint=q8e;ku.multiPolygon=O8e;ku.point=uX;ku.points=_Rt;ku.polygon=cX;ku.polygons=xRt;ku.radiansToDegrees=N8e;ku.radiansToLength=B8e;ku.round=TRt;ku.validateBBox=PRt;ku.validateId=IRt});var pz=ye(Dd=>{\"use strict\";Object.defineProperty(Dd,\"__esModule\",{value:!0});var jv=dz();function JE(e,t,r){if(e!==null)for(var n,i,a,o,s,l,u,c=0,f=0,h,d=e.type,v=d===\"FeatureCollection\",x=d===\"Feature\",b=v?e.features.length:1,p=0;p<b;p++){u=v?e.features[p].geometry:x?e.geometry:e,h=u?u.type===\"GeometryCollection\":!1,s=h?u.geometries.length:1;for(var E=0;E<s;E++){var k=0,A=0;if(o=h?u.geometries[E]:u,o!==null){l=o.coordinates;var L=o.type;switch(c=r&&(L===\"Polygon\"||L===\"MultiPolygon\")?1:0,L){case null:break;case\"Point\":if(t(l,f,p,k,A)===!1)return!1;f++,k++;break;case\"LineString\":case\"MultiPoint\":for(n=0;n<l.length;n++){if(t(l[n],f,p,k,A)===!1)return!1;f++,L===\"MultiPoint\"&&k++}L===\"LineString\"&&k++;break;case\"Polygon\":case\"MultiLineString\":for(n=0;n<l.length;n++){for(i=0;i<l[n].length-c;i++){if(t(l[n][i],f,p,k,A)===!1)return!1;f++}L===\"MultiLineString\"&&k++,L===\"Polygon\"&&A++}L===\"Polygon\"&&k++;break;case\"MultiPolygon\":for(n=0;n<l.length;n++){for(A=0,i=0;i<l[n].length;i++){for(a=0;a<l[n][i].length-c;a++){if(t(l[n][i][a],f,p,k,A)===!1)return!1;f++}A++}k++}break;case\"GeometryCollection\":for(n=0;n<o.geometries.length;n++)if(JE(o.geometries[n],t,r)===!1)return!1;break;default:throw new Error(\"Unknown Geometry Type\")}}}}}function RRt(e,t,r,n){var i=r;return JE(e,function(a,o,s,l,u){o===0&&r===void 0?i=a:i=t(i,a,o,s,l,u)},n),i}function U8e(e,t){var r;switch(e.type){case\"FeatureCollection\":for(r=0;r<e.features.length&&t(e.features[r].properties,r)!==!1;r++);break;case\"Feature\":t(e.properties,0);break}}function DRt(e,t,r){var n=r;return U8e(e,function(i,a){a===0&&r===void 0?n=i:n=t(n,i,a)}),n}function V8e(e,t){if(e.type===\"Feature\")t(e,0);else if(e.type===\"FeatureCollection\")for(var r=0;r<e.features.length&&t(e.features[r],r)!==!1;r++);}function zRt(e,t,r){var n=r;return V8e(e,function(i,a){a===0&&r===void 0?n=i:n=t(n,i,a)}),n}function FRt(e){var t=[];return JE(e,function(r){t.push(r)}),t}function dX(e,t){var r,n,i,a,o,s,l,u,c,f,h=0,d=e.type===\"FeatureCollection\",v=e.type===\"Feature\",x=d?e.features.length:1;for(r=0;r<x;r++){for(s=d?e.features[r].geometry:v?e.geometry:e,u=d?e.features[r].properties:v?e.properties:{},c=d?e.features[r].bbox:v?e.bbox:void 0,f=d?e.features[r].id:v?e.id:void 0,l=s?s.type===\"GeometryCollection\":!1,o=l?s.geometries.length:1,i=0;i<o;i++){if(a=l?s.geometries[i]:s,a===null){if(t(null,h,u,c,f)===!1)return!1;continue}switch(a.type){case\"Point\":case\"LineString\":case\"MultiPoint\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":{if(t(a,h,u,c,f)===!1)return!1;break}case\"GeometryCollection\":{for(n=0;n<a.geometries.length;n++)if(t(a.geometries[n],h,u,c,f)===!1)return!1;break}default:throw new Error(\"Unknown Geometry Type\")}}h++}}function qRt(e,t,r){var n=r;return dX(e,function(i,a,o,s,l){a===0&&r===void 0?n=i:n=t(n,i,a,o,s,l)}),n}function vz(e,t){dX(e,function(r,n,i,a,o){var s=r===null?null:r.type;switch(s){case null:case\"Point\":case\"LineString\":case\"Polygon\":return t(jv.feature.call(void 0,r,i,{bbox:a,id:o}),n,0)===!1?!1:void 0}var l;switch(s){case\"MultiPoint\":l=\"Point\";break;case\"MultiLineString\":l=\"LineString\";break;case\"MultiPolygon\":l=\"Polygon\";break}for(var u=0;u<r.coordinates.length;u++){var c=r.coordinates[u],f={type:l,coordinates:c};if(t(jv.feature.call(void 0,f,i),n,u)===!1)return!1}})}function ORt(e,t,r){var n=r;return vz(e,function(i,a,o){a===0&&o===0&&r===void 0?n=i:n=t(n,i,a,o)}),n}function H8e(e,t){vz(e,function(r,n,i){var a=0;if(r.geometry){var o=r.geometry.type;if(!(o===\"Point\"||o===\"MultiPoint\")){var s,l=0,u=0,c=0;if(JE(r,function(f,h,d,v,x){if(s===void 0||n>l||v>u||x>c){s=f,l=n,u=v,c=x,a=0;return}var b=jv.lineString.call(void 0,[s,f],r.properties);if(t(b,n,i,x,a)===!1)return!1;a++,s=f})===!1)return!1}}})}function BRt(e,t,r){var n=r,i=!1;return H8e(e,function(a,o,s,l,u){i===!1&&r===void 0?n=a:n=t(n,a,o,s,l,u),i=!0}),n}function G8e(e,t){if(!e)throw new Error(\"geojson is required\");vz(e,function(r,n,i){if(r.geometry!==null){var a=r.geometry.type,o=r.geometry.coordinates;switch(a){case\"LineString\":if(t(r,n,i,0,0)===!1)return!1;break;case\"Polygon\":for(var s=0;s<o.length;s++)if(t(jv.lineString.call(void 0,o[s],r.properties),n,i,s)===!1)return!1;break}}})}function NRt(e,t,r){var n=r;return G8e(e,function(i,a,o,s){a===0&&r===void 0?n=i:n=t(n,i,a,o,s)}),n}function URt(e,t){if(t=t||{},!jv.isObject.call(void 0,t))throw new Error(\"options is invalid\");var r=t.featureIndex||0,n=t.multiFeatureIndex||0,i=t.geometryIndex||0,a=t.segmentIndex||0,o=t.properties,s;switch(e.type){case\"FeatureCollection\":r<0&&(r=e.features.length+r),o=o||e.features[r].properties,s=e.features[r].geometry;break;case\"Feature\":o=o||e.properties,s=e.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":s=e;break;default:throw new Error(\"geojson is invalid\")}if(s===null)return null;var l=s.coordinates;switch(s.type){case\"Point\":case\"MultiPoint\":return null;case\"LineString\":return a<0&&(a=l.length+a-1),jv.lineString.call(void 0,[l[a],l[a+1]],o,t);case\"Polygon\":return i<0&&(i=l.length+i),a<0&&(a=l[i].length+a-1),jv.lineString.call(void 0,[l[i][a],l[i][a+1]],o,t);case\"MultiLineString\":return n<0&&(n=l.length+n),a<0&&(a=l[n].length+a-1),jv.lineString.call(void 0,[l[n][a],l[n][a+1]],o,t);case\"MultiPolygon\":return n<0&&(n=l.length+n),i<0&&(i=l[n].length+i),a<0&&(a=l[n][i].length-a-1),jv.lineString.call(void 0,[l[n][i][a],l[n][i][a+1]],o,t)}throw new Error(\"geojson is invalid\")}function VRt(e,t){if(t=t||{},!jv.isObject.call(void 0,t))throw new Error(\"options is invalid\");var r=t.featureIndex||0,n=t.multiFeatureIndex||0,i=t.geometryIndex||0,a=t.coordIndex||0,o=t.properties,s;switch(e.type){case\"FeatureCollection\":r<0&&(r=e.features.length+r),o=o||e.features[r].properties,s=e.features[r].geometry;break;case\"Feature\":o=o||e.properties,s=e.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":s=e;break;default:throw new Error(\"geojson is invalid\")}if(s===null)return null;var l=s.coordinates;switch(s.type){case\"Point\":return jv.point.call(void 0,l,o,t);case\"MultiPoint\":return n<0&&(n=l.length+n),jv.point.call(void 0,l[n],o,t);case\"LineString\":return a<0&&(a=l.length+a),jv.point.call(void 0,l[a],o,t);case\"Polygon\":return i<0&&(i=l.length+i),a<0&&(a=l[i].length+a),jv.point.call(void 0,l[i][a],o,t);case\"MultiLineString\":return n<0&&(n=l.length+n),a<0&&(a=l[n].length+a),jv.point.call(void 0,l[n][a],o,t);case\"MultiPolygon\":return n<0&&(n=l.length+n),i<0&&(i=l[n].length+i),a<0&&(a=l[n][i].length-a),jv.point.call(void 0,l[n][i][a],o,t)}throw new Error(\"geojson is invalid\")}Dd.coordAll=FRt;Dd.coordEach=JE;Dd.coordReduce=RRt;Dd.featureEach=V8e;Dd.featureReduce=zRt;Dd.findPoint=VRt;Dd.findSegment=URt;Dd.flattenEach=vz;Dd.flattenReduce=ORt;Dd.geomEach=dX;Dd.geomReduce=qRt;Dd.lineEach=G8e;Dd.lineReduce=NRt;Dd.propEach=U8e;Dd.propReduce=DRt;Dd.segmentEach=H8e;Dd.segmentReduce=BRt});var Y8e=ye(gz=>{\"use strict\";Object.defineProperty(gz,\"__esModule\",{value:!0});var j8e=dz(),HRt=pz();function X8e(e){return HRt.geomReduce.call(void 0,e,(t,r)=>t+GRt(r),0)}function GRt(e){let t=0,r;switch(e.type){case\"Polygon\":return W8e(e.coordinates);case\"MultiPolygon\":for(r=0;r<e.coordinates.length;r++)t+=W8e(e.coordinates[r]);return t;case\"Point\":case\"MultiPoint\":case\"LineString\":case\"MultiLineString\":return 0}return 0}function W8e(e){let t=0;if(e&&e.length>0){t+=Math.abs(Z8e(e[0]));for(let r=1;r<e.length;r++)t-=Math.abs(Z8e(e[r]))}return t}var jRt=j8e.earthRadius*j8e.earthRadius/2,vX=Math.PI/180;function Z8e(e){let t=e.length-1;if(t<=2)return 0;let r=0,n=0;for(;n<t;){let i=e[n],a=e[n+1===t?0:n+1],o=e[n+2>=t?(n+2)%t:n+2],s=i[0]*vX,l=a[1]*vX,u=o[0]*vX;r+=(u-s)*Math.sin(l),n++}return r*jRt}var WRt=X8e;gz.area=X8e;gz.default=WRt});var J8e=ye(mz=>{\"use strict\";Object.defineProperty(mz,\"__esModule\",{value:!0});var ZRt=dz(),XRt=pz();function K8e(e,t={}){let r=0,n=0,i=0;return XRt.coordEach.call(void 0,e,function(a){r+=a[0],n+=a[1],i++},!0),ZRt.point.call(void 0,[r/i,n/i],t.properties)}var YRt=K8e;mz.centroid=K8e;mz.default=YRt});var Q8e=ye(yz=>{\"use strict\";Object.defineProperty(yz,\"__esModule\",{value:!0});var KRt=pz();function $8e(e,t={}){if(e.bbox!=null&&t.recompute!==!0)return e.bbox;let r=[1/0,1/0,-1/0,-1/0];return KRt.coordEach.call(void 0,e,n=>{r[0]>n[0]&&(r[0]=n[0]),r[1]>n[1]&&(r[1]=n[1]),r[2]<n[0]&&(r[2]=n[0]),r[3]<n[1]&&(r[3]=n[1])}),r}var JRt=$8e;yz.bbox=$8e;yz.default=JRt});var nx=ye((kpr,nRe)=>{\"use strict\";var $Rt=xa(),rRe=z8e(),{area:QRt}=Y8e(),{centroid:eDt}=J8e(),{bbox:tDt}=Q8e(),eRe=OS(),W5=G1(),rDt=gy(),iDt=ES(),_z=wM(),tRe=Object.keys(rRe),nDt={\"ISO-3\":eRe,\"USA-states\":eRe,\"country names\":aDt};function aDt(e){for(var t=0;t<tRe.length;t++){var r=tRe[t],n=new RegExp(rRe[r]);if(n.test(e.trim().toLowerCase()))return r}return W5.log(\"Unrecognized country name: \"+e+\".\"),!1}function oDt(e,t,r){if(!t||typeof t!=\"string\")return!1;var n=nDt[e](t),i,a,o;if(n){if(e===\"USA-states\")for(i=[],o=0;o<r.length;o++)a=r[o],a.properties&&a.properties.gu&&a.properties.gu===\"USA\"&&i.push(a);else i=r;for(o=0;o<i.length;o++)if(a=i[o],a.id===n)return a;W5.log([\"Location with id\",n,\"does not have a matching topojson feature at this resolution.\"].join(\" \"))}return!1}function sDt(e){var t=e.geometry,r=t.coordinates,n=e.id,i=[],a,o,s,l;function u(c){for(var f=0;f<c.length-1;f++)if(c[f][0]>0&&c[f+1][0]<0)return f;return null}switch(n===\"RUS\"||n===\"FJI\"?a=function(c){var f;if(u(c)===null)f=c;else for(f=new Array(c.length),l=0;l<c.length;l++)f[l]=[c[l][0]<0?c[l][0]+360:c[l][0],c[l][1]];i.push(_z.tester(f))}:n===\"ATA\"?a=function(c){var f=u(c);if(f===null)return i.push(_z.tester(c));var h=new Array(c.length+1),d=0;for(l=0;l<c.length;l++)l>f?h[d++]=[c[l][0]+360,c[l][1]]:l===f?(h[d++]=c[l],h[d++]=[c[l][0],-90]):h[d++]=c[l];var v=_z.tester(h);v.pts.pop(),i.push(v)}:a=function(c){i.push(_z.tester(c))},t.type){case\"MultiPolygon\":for(o=0;o<r.length;o++)for(s=0;s<r[o].length;s++)a(r[o][s]);break;case\"Polygon\":for(o=0;o<r.length;o++)a(r[o]);break}return i}function iRe(e){var t=e.geojson,r=window.PlotlyGeoAssets||{},n=typeof t==\"string\"?r[t]:t;return rDt(n)?n:(W5.error(\"Oops ... something went wrong when fetching \"+t),!1)}function lDt(e){var t=e[0].trace,r=iRe(t);if(!r)return!1;var n={},i=[],a;for(a=0;a<t._length;a++){var o=e[a];(o.loc||o.loc===0)&&(n[o.loc]=o)}function s(c){var f=iDt(c,t.featureidkey||\"id\").get(),h=n[f];if(h){var d=c.geometry;if(d.type===\"Polygon\"||d.type===\"MultiPolygon\"){var v={type:\"Feature\",id:f,geometry:d,properties:{}};v.geometry.coordinates.length>0?v.properties.ct=uDt(v):v.properties.ct=[NaN,NaN],h.fIn=c,h.fOut=v,i.push(v)}else W5.log([\"Location\",h.loc,\"does not have a valid GeoJSON geometry.\",\"Traces with locationmode *geojson-id* only support\",\"*Polygon* and *MultiPolygon* geometries.\"].join(\" \"))}delete n[f]}switch(r.type){case\"FeatureCollection\":var l=r.features;for(a=0;a<l.length;a++)s(l[a]);break;case\"Feature\":s(r);break;default:return W5.warn([\"Invalid GeoJSON type\",(r.type||\"none\")+\".\",\"Traces with locationmode *geojson-id* only support\",\"*FeatureCollection* and *Feature* types.\"].join(\" \")),!1}for(var u in n)W5.log([\"Location *\"+u+\"*\",\"does not have a matching feature with id-key\",\"*\"+t.featureidkey+\"*.\"].join(\" \"));return i}function uDt(e){var t=e.geometry,r;if(t.type===\"MultiPolygon\")for(var n=t.coordinates,i=0,a=0;a<n.length;a++){var o={type:\"Polygon\",coordinates:n[a]},s=QRt(o);s>i&&(i=s,r=o)}else r=t;return eDt(r).geometry.coordinates}function cDt(e){var t=window.PlotlyGeoAssets||{},r=[];function n(l){return new Promise(function(u,c){$Rt.json(l,function(f,h){if(f){delete t[l];var d=f.status===404?'GeoJSON at URL \"'+l+'\" does not exist.':\"Unexpected error while fetching from \"+l;return c(new Error(d))}return t[l]=h,u(h)})})}function i(l){return new Promise(function(u,c){var f=0,h=setInterval(function(){if(t[l]&&t[l]!==\"pending\")return clearInterval(h),u(t[l]);if(f>100)return clearInterval(h),c(\"Unexpected error while fetching from \"+l);f++},50)})}for(var a=0;a<e.length;a++){var o=e[a][0].trace,s=o.geojson;typeof s==\"string\"&&(t[s]?t[s]===\"pending\"&&r.push(i(s)):(t[s]=\"pending\",r.push(n(s))))}return r}function fDt(e){return tDt(e)}nRe.exports={locationToFeature:oDt,feature2polygons:sDt,getTraceGeojson:iRe,extractTraceFeature:lDt,fetchTraceGeoData:cDt,computeBbox:fDt}});var pX=ye((Cpr,sRe)=>{\"use strict\";var hDt=xa(),dDt=ao(),aRe=va(),oRe=op(),vDt=oRe.stylePoints,pDt=oRe.styleText;sRe.exports=function(t,r){r&&gDt(t,r)};function gDt(e,t){var r=t[0].trace,n=t[0].node3;n.style(\"opacity\",t[0].trace.opacity),vDt(n,r,e),pDt(n,r,e),n.selectAll(\"path.js-line\").style(\"fill\",\"none\").each(function(i){var a=hDt.select(this),o=i.trace,s=o.line||{};a.call(aRe.stroke,s.color).call(dDt.dashLine,s.dash||\"\",s.width||0),o.fill!==\"none\"&&a.call(aRe.fill,o.fillcolor)})}});var _X=ye((Lpr,cRe)=>{\"use strict\";var lRe=xa(),bz=Mr(),mDt=cz().getTopojsonFeatures,gX=rx(),xz=nx(),uRe=wg().findExtremes,yX=es().BADNUM,yDt=q0().calcMarkerSize,mX=lu(),_Dt=pX();function xDt(e,t,r){var n=t.layers.frontplot.select(\".scatterlayer\"),i=bz.makeTraceGroups(n,r,\"trace scattergeo\");function a(o,s){o.lonlat[0]===yX&&lRe.select(s).remove()}i.selectAll(\"*\").remove(),i.each(function(o){var s=lRe.select(this),l=o[0].trace;if(mX.hasLines(l)||l.fill!==\"none\"){var u=gX.calcTraceToLineCoords(o),c=l.fill!==\"none\"?gX.makePolygon(u):gX.makeLine(u);s.selectAll(\"path.js-line\").data([{geojson:c,trace:l}]).enter().append(\"path\").classed(\"js-line\",!0).style(\"stroke-miterlimit\",2)}mX.hasMarkers(l)&&s.selectAll(\"path.point\").data(bz.identity).enter().append(\"path\").classed(\"point\",!0).each(function(f){a(f,this)}),mX.hasText(l)&&s.selectAll(\"g\").data(bz.identity).enter().append(\"g\").append(\"text\").each(function(f){a(f,this)}),_Dt(e,o)})}function bDt(e,t){var r=e[0].trace,n=t[r.geo],i=n._subplot,a=r._length,o,s;if(bz.isArrayOrTypedArray(r.locations)){var l=r.locationmode,u=l===\"geojson-id\"?xz.extractTraceFeature(e):mDt(r,i.topojson);for(o=0;o<a;o++){s=e[o];var c=l===\"geojson-id\"?s.fOut:xz.locationToFeature(l,s.loc,u);s.lonlat=c?c.properties.ct:[yX,yX]}}var f={padded:!0},h,d;if(n.fitbounds===\"geojson\"&&r.locationmode===\"geojson-id\"){var v=xz.computeBbox(xz.getTraceGeojson(r));h=[v[0],v[2]],d=[v[1],v[3]]}else{for(h=new Array(a),d=new Array(a),o=0;o<a;o++)s=e[o],h[o]=s.lonlat[0],d[o]=s.lonlat[1];f.ppad=yDt(r,a)}r._extremes.lon=uRe(n.lonaxis._ax,h,f),r._extremes.lat=uRe(n.lataxis._ax,d,f)}cRe.exports={calcGeoJSON:bDt,plot:xDt}});var hRe=ye((Ppr,fRe)=>{\"use strict\";var wDt=Nc(),TDt=es().BADNUM,ADt=oT(),SDt=Mr().fillText,MDt=H2();fRe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.xa,s=t.ya,l=t.subplot,u=l.projection.isLonLatOverEdges,c=l.project;function f(E){var k=E.lonlat;if(k[0]===TDt||u(k))return 1/0;var A=c(k),L=c([r,n]),_=Math.abs(A[0]-L[0]),C=Math.abs(A[1]-L[1]),M=Math.max(3,E.mrc||0);return Math.max(Math.sqrt(_*_+C*C)-M,1-3/M)}if(wDt.getClosest(i,f,t),t.index!==!1){var h=i[t.index],d=h.lonlat,v=[o.c2p(d),s.c2p(d)],x=h.mrc||1;t.x0=v[0]-x,t.x1=v[0]+x,t.y0=v[1]-x,t.y1=v[1]+x,t.loc=h.loc,t.lon=d[0],t.lat=d[1];var b={};b[a.geo]={_subplot:l};var p=a._module.formatLabels(h,a,b);return t.lonLabel=p.lonLabel,t.latLabel=p.latLabel,t.color=ADt(a,h),t.extraText=EDt(a,h,t,i[0].t.labels),t.hovertemplate=a.hovertemplate,[t]}};function EDt(e,t,r,n){if(e.hovertemplate)return;var i=t.hi||e.hoverinfo,a=i===\"all\"?MDt.hoverinfo.flags:i.split(\"+\"),o=a.indexOf(\"location\")!==-1&&Array.isArray(e.locations),s=a.indexOf(\"lon\")!==-1,l=a.indexOf(\"lat\")!==-1,u=a.indexOf(\"text\")!==-1,c=[];function f(h){return h+\"\\xB0\"}return o?c.push(t.loc):s&&l?c.push(\"(\"+f(r.latLabel)+\", \"+f(r.lonLabel)+\")\"):s?c.push(n.lon+f(r.lonLabel)):l&&c.push(n.lat+f(r.latLabel)),u&&SDt(t,e,c),c.join(\"<br>\")}});var vRe=ye((Ipr,dRe)=>{\"use strict\";dRe.exports=function(t,r,n,i,a){t.lon=r.lon,t.lat=r.lat,t.location=r.loc?r.loc:null;var o=i[a];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t}});var mRe=ye((Rpr,gRe)=>{\"use strict\";var pRe=lu(),kDt=es().BADNUM;gRe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l,u,c,f,h,d=!pRe.hasMarkers(s)&&!pRe.hasText(s);if(d)return[];if(r===!1)for(h=0;h<n.length;h++)n[h].selected=0;else for(h=0;h<n.length;h++)l=n[h],u=l.lonlat,u[0]!==kDt&&(c=i.c2p(u),f=a.c2p(u),r.contains([c,f],null,h,t)?(o.push({pointNumber:h,lon:u[0],lat:u[1]}),l.selected=1):l.selected=0);return o}});var $E=ye((wz,yRe)=>{(function(e,t){t(typeof wz==\"object\"&&typeof yRe!=\"undefined\"?wz:e.d3=e.d3||{})})(wz,function(e){\"use strict\";function t(Ee,Ae){return Ee<Ae?-1:Ee>Ae?1:Ee>=Ae?0:NaN}function r(Ee){return Ee.length===1&&(Ee=n(Ee)),{left:function(Ae,ze,Ce,me){for(Ce==null&&(Ce=0),me==null&&(me=Ae.length);Ce<me;){var Re=Ce+me>>>1;Ee(Ae[Re],ze)<0?Ce=Re+1:me=Re}return Ce},right:function(Ae,ze,Ce,me){for(Ce==null&&(Ce=0),me==null&&(me=Ae.length);Ce<me;){var Re=Ce+me>>>1;Ee(Ae[Re],ze)>0?me=Re:Ce=Re+1}return Ce}}}function n(Ee){return function(Ae,ze){return t(Ee(Ae),ze)}}var i=r(t),a=i.right,o=i.left;function s(Ee,Ae){Ae==null&&(Ae=l);for(var ze=0,Ce=Ee.length-1,me=Ee[0],Re=new Array(Ce<0?0:Ce);ze<Ce;)Re[ze]=Ae(me,me=Ee[++ze]);return Re}function l(Ee,Ae){return[Ee,Ae]}function u(Ee,Ae,ze){var Ce=Ee.length,me=Ae.length,Re=new Array(Ce*me),ce,Ge,nt,ct;for(ze==null&&(ze=l),ce=nt=0;ce<Ce;++ce)for(ct=Ee[ce],Ge=0;Ge<me;++Ge,++nt)Re[nt]=ze(ct,Ae[Ge]);return Re}function c(Ee,Ae){return Ae<Ee?-1:Ae>Ee?1:Ae>=Ee?0:NaN}function f(Ee){return Ee===null?NaN:+Ee}function h(Ee,Ae){var ze=Ee.length,Ce=0,me=-1,Re=0,ce,Ge,nt=0;if(Ae==null)for(;++me<ze;)isNaN(ce=f(Ee[me]))||(Ge=ce-Re,Re+=Ge/++Ce,nt+=Ge*(ce-Re));else for(;++me<ze;)isNaN(ce=f(Ae(Ee[me],me,Ee)))||(Ge=ce-Re,Re+=Ge/++Ce,nt+=Ge*(ce-Re));if(Ce>1)return nt/(Ce-1)}function d(Ee,Ae){var ze=h(Ee,Ae);return ze&&Math.sqrt(ze)}function v(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re,ce;if(Ae==null){for(;++Ce<ze;)if((me=Ee[Ce])!=null&&me>=me)for(Re=ce=me;++Ce<ze;)(me=Ee[Ce])!=null&&(Re>me&&(Re=me),ce<me&&(ce=me))}else for(;++Ce<ze;)if((me=Ae(Ee[Ce],Ce,Ee))!=null&&me>=me)for(Re=ce=me;++Ce<ze;)(me=Ae(Ee[Ce],Ce,Ee))!=null&&(Re>me&&(Re=me),ce<me&&(ce=me));return[Re,ce]}var x=Array.prototype,b=x.slice,p=x.map;function E(Ee){return function(){return Ee}}function k(Ee){return Ee}function A(Ee,Ae,ze){Ee=+Ee,Ae=+Ae,ze=(me=arguments.length)<2?(Ae=Ee,Ee=0,1):me<3?1:+ze;for(var Ce=-1,me=Math.max(0,Math.ceil((Ae-Ee)/ze))|0,Re=new Array(me);++Ce<me;)Re[Ce]=Ee+Ce*ze;return Re}var L=Math.sqrt(50),_=Math.sqrt(10),C=Math.sqrt(2);function M(Ee,Ae,ze){var Ce,me=-1,Re,ce,Ge;if(Ae=+Ae,Ee=+Ee,ze=+ze,Ee===Ae&&ze>0)return[Ee];if((Ce=Ae<Ee)&&(Re=Ee,Ee=Ae,Ae=Re),(Ge=g(Ee,Ae,ze))===0||!isFinite(Ge))return[];if(Ge>0)for(Ee=Math.ceil(Ee/Ge),Ae=Math.floor(Ae/Ge),ce=new Array(Re=Math.ceil(Ae-Ee+1));++me<Re;)ce[me]=(Ee+me)*Ge;else for(Ee=Math.floor(Ee*Ge),Ae=Math.ceil(Ae*Ge),ce=new Array(Re=Math.ceil(Ee-Ae+1));++me<Re;)ce[me]=(Ee-me)/Ge;return Ce&&ce.reverse(),ce}function g(Ee,Ae,ze){var Ce=(Ae-Ee)/Math.max(0,ze),me=Math.floor(Math.log(Ce)/Math.LN10),Re=Ce/Math.pow(10,me);return me>=0?(Re>=L?10:Re>=_?5:Re>=C?2:1)*Math.pow(10,me):-Math.pow(10,-me)/(Re>=L?10:Re>=_?5:Re>=C?2:1)}function P(Ee,Ae,ze){var Ce=Math.abs(Ae-Ee)/Math.max(0,ze),me=Math.pow(10,Math.floor(Math.log(Ce)/Math.LN10)),Re=Ce/me;return Re>=L?me*=10:Re>=_?me*=5:Re>=C&&(me*=2),Ae<Ee?-me:me}function T(Ee){return Math.ceil(Math.log(Ee.length)/Math.LN2)+1}function F(){var Ee=k,Ae=v,ze=T;function Ce(me){var Re,ce=me.length,Ge,nt=new Array(ce);for(Re=0;Re<ce;++Re)nt[Re]=Ee(me[Re],Re,me);var ct=Ae(nt),qt=ct[0],rt=ct[1],ot=ze(nt,qt,rt);Array.isArray(ot)||(ot=P(qt,rt,ot),ot=A(Math.ceil(qt/ot)*ot,rt,ot));for(var Rt=ot.length;ot[0]<=qt;)ot.shift(),--Rt;for(;ot[Rt-1]>rt;)ot.pop(),--Rt;var kt=new Array(Rt+1),Ct;for(Re=0;Re<=Rt;++Re)Ct=kt[Re]=[],Ct.x0=Re>0?ot[Re-1]:qt,Ct.x1=Re<Rt?ot[Re]:rt;for(Re=0;Re<ce;++Re)Ge=nt[Re],qt<=Ge&&Ge<=rt&&kt[a(ot,Ge,0,Rt)].push(me[Re]);return kt}return Ce.value=function(me){return arguments.length?(Ee=typeof me==\"function\"?me:E(me),Ce):Ee},Ce.domain=function(me){return arguments.length?(Ae=typeof me==\"function\"?me:E([me[0],me[1]]),Ce):Ae},Ce.thresholds=function(me){return arguments.length?(ze=typeof me==\"function\"?me:Array.isArray(me)?E(b.call(me)):E(me),Ce):ze},Ce}function q(Ee,Ae,ze){if(ze==null&&(ze=f),!!(Ce=Ee.length)){if((Ae=+Ae)<=0||Ce<2)return+ze(Ee[0],0,Ee);if(Ae>=1)return+ze(Ee[Ce-1],Ce-1,Ee);var Ce,me=(Ce-1)*Ae,Re=Math.floor(me),ce=+ze(Ee[Re],Re,Ee),Ge=+ze(Ee[Re+1],Re+1,Ee);return ce+(Ge-ce)*(me-Re)}}function V(Ee,Ae,ze){return Ee=p.call(Ee,f).sort(t),Math.ceil((ze-Ae)/(2*(q(Ee,.75)-q(Ee,.25))*Math.pow(Ee.length,-1/3)))}function H(Ee,Ae,ze){return Math.ceil((ze-Ae)/(3.5*d(Ee)*Math.pow(Ee.length,-1/3)))}function X(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re;if(Ae==null){for(;++Ce<ze;)if((me=Ee[Ce])!=null&&me>=me)for(Re=me;++Ce<ze;)(me=Ee[Ce])!=null&&me>Re&&(Re=me)}else for(;++Ce<ze;)if((me=Ae(Ee[Ce],Ce,Ee))!=null&&me>=me)for(Re=me;++Ce<ze;)(me=Ae(Ee[Ce],Ce,Ee))!=null&&me>Re&&(Re=me);return Re}function G(Ee,Ae){var ze=Ee.length,Ce=ze,me=-1,Re,ce=0;if(Ae==null)for(;++me<ze;)isNaN(Re=f(Ee[me]))?--Ce:ce+=Re;else for(;++me<ze;)isNaN(Re=f(Ae(Ee[me],me,Ee)))?--Ce:ce+=Re;if(Ce)return ce/Ce}function N(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re=[];if(Ae==null)for(;++Ce<ze;)isNaN(me=f(Ee[Ce]))||Re.push(me);else for(;++Ce<ze;)isNaN(me=f(Ae(Ee[Ce],Ce,Ee)))||Re.push(me);return q(Re.sort(t),.5)}function W(Ee){for(var Ae=Ee.length,ze,Ce=-1,me=0,Re,ce;++Ce<Ae;)me+=Ee[Ce].length;for(Re=new Array(me);--Ae>=0;)for(ce=Ee[Ae],ze=ce.length;--ze>=0;)Re[--me]=ce[ze];return Re}function re(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re;if(Ae==null){for(;++Ce<ze;)if((me=Ee[Ce])!=null&&me>=me)for(Re=me;++Ce<ze;)(me=Ee[Ce])!=null&&Re>me&&(Re=me)}else for(;++Ce<ze;)if((me=Ae(Ee[Ce],Ce,Ee))!=null&&me>=me)for(Re=me;++Ce<ze;)(me=Ae(Ee[Ce],Ce,Ee))!=null&&Re>me&&(Re=me);return Re}function ae(Ee,Ae){for(var ze=Ae.length,Ce=new Array(ze);ze--;)Ce[ze]=Ee[Ae[ze]];return Ce}function _e(Ee,Ae){if(ze=Ee.length){var ze,Ce=0,me=0,Re,ce=Ee[me];for(Ae==null&&(Ae=t);++Ce<ze;)(Ae(Re=Ee[Ce],ce)<0||Ae(ce,ce)!==0)&&(ce=Re,me=Ce);if(Ae(ce,ce)===0)return me}}function Me(Ee,Ae,ze){for(var Ce=(ze==null?Ee.length:ze)-(Ae=Ae==null?0:+Ae),me,Re;Ce;)Re=Math.random()*Ce--|0,me=Ee[Ce+Ae],Ee[Ce+Ae]=Ee[Re+Ae],Ee[Re+Ae]=me;return Ee}function ke(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re=0;if(Ae==null)for(;++Ce<ze;)(me=+Ee[Ce])&&(Re+=me);else for(;++Ce<ze;)(me=+Ae(Ee[Ce],Ce,Ee))&&(Re+=me);return Re}function ge(Ee){if(!(Re=Ee.length))return[];for(var Ae=-1,ze=re(Ee,ie),Ce=new Array(ze);++Ae<ze;)for(var me=-1,Re,ce=Ce[Ae]=new Array(Re);++me<Re;)ce[me]=Ee[me][Ae];return Ce}function ie(Ee){return Ee.length}function Te(){return ge(arguments)}e.bisect=a,e.bisectRight=a,e.bisectLeft=o,e.ascending=t,e.bisector=r,e.cross=u,e.descending=c,e.deviation=d,e.extent=v,e.histogram=F,e.thresholdFreedmanDiaconis=V,e.thresholdScott=H,e.thresholdSturges=T,e.max=X,e.mean=G,e.median=N,e.merge=W,e.min=re,e.pairs=s,e.permute=ae,e.quantile=q,e.range=A,e.scan=_e,e.shuffle=Me,e.sum=ke,e.ticks=M,e.tickIncrement=g,e.tickStep=P,e.transpose=ge,e.variance=h,e.zip=Te,Object.defineProperty(e,\"__esModule\",{value:!0})})});var xX=ye((Tz,_Re)=>{(function(e,t){typeof Tz==\"object\"&&typeof _Re!=\"undefined\"?t(Tz,$E()):(e=e||self,t(e.d3=e.d3||{},e.d3))})(Tz,function(e,t){\"use strict\";function r(){return new n}function n(){this.reset()}n.prototype={constructor:n,reset:function(){this.s=this.t=0},add:function(gt){a(i,gt,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(gt,Bt,wr){var vr=gt.s=Bt+wr,Ur=vr-Bt,fi=vr-Ur;gt.t=Bt-fi+(wr-Ur)}var o=1e-6,s=1e-12,l=Math.PI,u=l/2,c=l/4,f=l*2,h=180/l,d=l/180,v=Math.abs,x=Math.atan,b=Math.atan2,p=Math.cos,E=Math.ceil,k=Math.exp,A=Math.log,L=Math.pow,_=Math.sin,C=Math.sign||function(gt){return gt>0?1:gt<0?-1:0},M=Math.sqrt,g=Math.tan;function P(gt){return gt>1?0:gt<-1?l:Math.acos(gt)}function T(gt){return gt>1?u:gt<-1?-u:Math.asin(gt)}function F(gt){return(gt=_(gt/2))*gt}function q(){}function V(gt,Bt){gt&&X.hasOwnProperty(gt.type)&&X[gt.type](gt,Bt)}var H={Feature:function(gt,Bt){V(gt.geometry,Bt)},FeatureCollection:function(gt,Bt){for(var wr=gt.features,vr=-1,Ur=wr.length;++vr<Ur;)V(wr[vr].geometry,Bt)}},X={Sphere:function(gt,Bt){Bt.sphere()},Point:function(gt,Bt){gt=gt.coordinates,Bt.point(gt[0],gt[1],gt[2])},MultiPoint:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)gt=wr[vr],Bt.point(gt[0],gt[1],gt[2])},LineString:function(gt,Bt){G(gt.coordinates,Bt,0)},MultiLineString:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)G(wr[vr],Bt,0)},Polygon:function(gt,Bt){N(gt.coordinates,Bt)},MultiPolygon:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)N(wr[vr],Bt)},GeometryCollection:function(gt,Bt){for(var wr=gt.geometries,vr=-1,Ur=wr.length;++vr<Ur;)V(wr[vr],Bt)}};function G(gt,Bt,wr){var vr=-1,Ur=gt.length-wr,fi;for(Bt.lineStart();++vr<Ur;)fi=gt[vr],Bt.point(fi[0],fi[1],fi[2]);Bt.lineEnd()}function N(gt,Bt){var wr=-1,vr=gt.length;for(Bt.polygonStart();++wr<vr;)G(gt[wr],Bt,1);Bt.polygonEnd()}function W(gt,Bt){gt&&H.hasOwnProperty(gt.type)?H[gt.type](gt,Bt):V(gt,Bt)}var re=r(),ae=r(),_e,Me,ke,ge,ie,Te={point:q,lineStart:q,lineEnd:q,polygonStart:function(){re.reset(),Te.lineStart=Ee,Te.lineEnd=Ae},polygonEnd:function(){var gt=+re;ae.add(gt<0?f+gt:gt),this.lineStart=this.lineEnd=this.point=q},sphere:function(){ae.add(f)}};function Ee(){Te.point=ze}function Ae(){Ce(_e,Me)}function ze(gt,Bt){Te.point=Ce,_e=gt,Me=Bt,gt*=d,Bt*=d,ke=gt,ge=p(Bt=Bt/2+c),ie=_(Bt)}function Ce(gt,Bt){gt*=d,Bt*=d,Bt=Bt/2+c;var wr=gt-ke,vr=wr>=0?1:-1,Ur=vr*wr,fi=p(Bt),xi=_(Bt),Fi=ie*xi,Xi=ge*fi+Fi*p(Ur),hn=Fi*vr*_(Ur);re.add(b(hn,Xi)),ke=gt,ge=fi,ie=xi}function me(gt){return ae.reset(),W(gt,Te),ae*2}function Re(gt){return[b(gt[1],gt[0]),T(gt[2])]}function ce(gt){var Bt=gt[0],wr=gt[1],vr=p(wr);return[vr*p(Bt),vr*_(Bt),_(wr)]}function Ge(gt,Bt){return gt[0]*Bt[0]+gt[1]*Bt[1]+gt[2]*Bt[2]}function nt(gt,Bt){return[gt[1]*Bt[2]-gt[2]*Bt[1],gt[2]*Bt[0]-gt[0]*Bt[2],gt[0]*Bt[1]-gt[1]*Bt[0]]}function ct(gt,Bt){gt[0]+=Bt[0],gt[1]+=Bt[1],gt[2]+=Bt[2]}function qt(gt,Bt){return[gt[0]*Bt,gt[1]*Bt,gt[2]*Bt]}function rt(gt){var Bt=M(gt[0]*gt[0]+gt[1]*gt[1]+gt[2]*gt[2]);gt[0]/=Bt,gt[1]/=Bt,gt[2]/=Bt}var ot,Rt,kt,Ct,Yt,xr,er,Ke,xt=r(),bt,Lt,St={point:Et,lineStart:Ht,lineEnd:$t,polygonStart:function(){St.point=fr,St.lineStart=_r,St.lineEnd=Br,xt.reset(),Te.polygonStart()},polygonEnd:function(){Te.polygonEnd(),St.point=Et,St.lineStart=Ht,St.lineEnd=$t,re<0?(ot=-(kt=180),Rt=-(Ct=90)):xt>o?Ct=90:xt<-o&&(Rt=-90),Lt[0]=ot,Lt[1]=kt},sphere:function(){ot=-(kt=180),Rt=-(Ct=90)}};function Et(gt,Bt){bt.push(Lt=[ot=gt,kt=gt]),Bt<Rt&&(Rt=Bt),Bt>Ct&&(Ct=Bt)}function dt(gt,Bt){var wr=ce([gt*d,Bt*d]);if(Ke){var vr=nt(Ke,wr),Ur=[vr[1],-vr[0],0],fi=nt(Ur,vr);rt(fi),fi=Re(fi);var xi=gt-Yt,Fi=xi>0?1:-1,Xi=fi[0]*h*Fi,hn,Ti=v(xi)>180;Ti^(Fi*Yt<Xi&&Xi<Fi*gt)?(hn=fi[1]*h,hn>Ct&&(Ct=hn)):(Xi=(Xi+360)%360-180,Ti^(Fi*Yt<Xi&&Xi<Fi*gt)?(hn=-fi[1]*h,hn<Rt&&(Rt=hn)):(Bt<Rt&&(Rt=Bt),Bt>Ct&&(Ct=Bt))),Ti?gt<Yt?Or(ot,gt)>Or(ot,kt)&&(kt=gt):Or(gt,kt)>Or(ot,kt)&&(ot=gt):kt>=ot?(gt<ot&&(ot=gt),gt>kt&&(kt=gt)):gt>Yt?Or(ot,gt)>Or(ot,kt)&&(kt=gt):Or(gt,kt)>Or(ot,kt)&&(ot=gt)}else bt.push(Lt=[ot=gt,kt=gt]);Bt<Rt&&(Rt=Bt),Bt>Ct&&(Ct=Bt),Ke=wr,Yt=gt}function Ht(){St.point=dt}function $t(){Lt[0]=ot,Lt[1]=kt,St.point=Et,Ke=null}function fr(gt,Bt){if(Ke){var wr=gt-Yt;xt.add(v(wr)>180?wr+(wr>0?360:-360):wr)}else xr=gt,er=Bt;Te.point(gt,Bt),dt(gt,Bt)}function _r(){Te.lineStart()}function Br(){fr(xr,er),Te.lineEnd(),v(xt)>o&&(ot=-(kt=180)),Lt[0]=ot,Lt[1]=kt,Ke=null}function Or(gt,Bt){return(Bt-=gt)<0?Bt+360:Bt}function Nr(gt,Bt){return gt[0]-Bt[0]}function ut(gt,Bt){return gt[0]<=gt[1]?gt[0]<=Bt&&Bt<=gt[1]:Bt<gt[0]||gt[1]<Bt}function Ne(gt){var Bt,wr,vr,Ur,fi,xi,Fi;if(Ct=kt=-(ot=Rt=1/0),bt=[],W(gt,St),wr=bt.length){for(bt.sort(Nr),Bt=1,vr=bt[0],fi=[vr];Bt<wr;++Bt)Ur=bt[Bt],ut(vr,Ur[0])||ut(vr,Ur[1])?(Or(vr[0],Ur[1])>Or(vr[0],vr[1])&&(vr[1]=Ur[1]),Or(Ur[0],vr[1])>Or(vr[0],vr[1])&&(vr[0]=Ur[0])):fi.push(vr=Ur);for(xi=-1/0,wr=fi.length-1,Bt=0,vr=fi[wr];Bt<=wr;vr=Ur,++Bt)Ur=fi[Bt],(Fi=Or(vr[1],Ur[0]))>xi&&(xi=Fi,ot=Ur[0],kt=vr[1])}return bt=Lt=null,ot===1/0||Rt===1/0?[[NaN,NaN],[NaN,NaN]]:[[ot,Rt],[kt,Ct]]}var Ye,Ve,Xe,ht,Le,xe,Se,lt,Gt,Vt,ar,Qr,ai,jr,ri,bi,nn={sphere:q,point:Wi,lineStart:_n,lineEnd:Wn,polygonStart:function(){nn.lineStart=It,nn.lineEnd=ft},polygonEnd:function(){nn.lineStart=_n,nn.lineEnd=Wn}};function Wi(gt,Bt){gt*=d,Bt*=d;var wr=p(Bt);Ni(wr*p(gt),wr*_(gt),_(Bt))}function Ni(gt,Bt,wr){++Ye,Xe+=(gt-Xe)/Ye,ht+=(Bt-ht)/Ye,Le+=(wr-Le)/Ye}function _n(){nn.point=$i}function $i(gt,Bt){gt*=d,Bt*=d;var wr=p(Bt);jr=wr*p(gt),ri=wr*_(gt),bi=_(Bt),nn.point=zn,Ni(jr,ri,bi)}function zn(gt,Bt){gt*=d,Bt*=d;var wr=p(Bt),vr=wr*p(gt),Ur=wr*_(gt),fi=_(Bt),xi=b(M((xi=ri*fi-bi*Ur)*xi+(xi=bi*vr-jr*fi)*xi+(xi=jr*Ur-ri*vr)*xi),jr*vr+ri*Ur+bi*fi);Ve+=xi,xe+=xi*(jr+(jr=vr)),Se+=xi*(ri+(ri=Ur)),lt+=xi*(bi+(bi=fi)),Ni(jr,ri,bi)}function Wn(){nn.point=Wi}function It(){nn.point=jt}function ft(){Zt(Qr,ai),nn.point=Wi}function jt(gt,Bt){Qr=gt,ai=Bt,gt*=d,Bt*=d,nn.point=Zt;var wr=p(Bt);jr=wr*p(gt),ri=wr*_(gt),bi=_(Bt),Ni(jr,ri,bi)}function Zt(gt,Bt){gt*=d,Bt*=d;var wr=p(Bt),vr=wr*p(gt),Ur=wr*_(gt),fi=_(Bt),xi=ri*fi-bi*Ur,Fi=bi*vr-jr*fi,Xi=jr*Ur-ri*vr,hn=M(xi*xi+Fi*Fi+Xi*Xi),Ti=T(hn),qi=hn&&-Ti/hn;Gt+=qi*xi,Vt+=qi*Fi,ar+=qi*Xi,Ve+=Ti,xe+=Ti*(jr+(jr=vr)),Se+=Ti*(ri+(ri=Ur)),lt+=Ti*(bi+(bi=fi)),Ni(jr,ri,bi)}function yr(gt){Ye=Ve=Xe=ht=Le=xe=Se=lt=Gt=Vt=ar=0,W(gt,nn);var Bt=Gt,wr=Vt,vr=ar,Ur=Bt*Bt+wr*wr+vr*vr;return Ur<s&&(Bt=xe,wr=Se,vr=lt,Ve<o&&(Bt=Xe,wr=ht,vr=Le),Ur=Bt*Bt+wr*wr+vr*vr,Ur<s)?[NaN,NaN]:[b(wr,Bt)*h,T(vr/M(Ur))*h]}function Fr(gt){return function(){return gt}}function Zr(gt,Bt){function wr(vr,Ur){return vr=gt(vr,Ur),Bt(vr[0],vr[1])}return gt.invert&&Bt.invert&&(wr.invert=function(vr,Ur){return vr=Bt.invert(vr,Ur),vr&>.invert(vr[0],vr[1])}),wr}function Vr(gt,Bt){return[v(gt)>l?gt+Math.round(-gt/f)*f:gt,Bt]}Vr.invert=Vr;function gi(gt,Bt,wr){return(gt%=f)?Bt||wr?Zr(Mi(gt),Pi(Bt,wr)):Mi(gt):Bt||wr?Pi(Bt,wr):Vr}function Si(gt){return function(Bt,wr){return Bt+=gt,[Bt>l?Bt-f:Bt<-l?Bt+f:Bt,wr]}}function Mi(gt){var Bt=Si(gt);return Bt.invert=Si(-gt),Bt}function Pi(gt,Bt){var wr=p(gt),vr=_(gt),Ur=p(Bt),fi=_(Bt);function xi(Fi,Xi){var hn=p(Xi),Ti=p(Fi)*hn,qi=_(Fi)*hn,Ii=_(Xi),mi=Ii*wr+Ti*vr;return[b(qi*Ur-mi*fi,Ti*wr-Ii*vr),T(mi*Ur+qi*fi)]}return xi.invert=function(Fi,Xi){var hn=p(Xi),Ti=p(Fi)*hn,qi=_(Fi)*hn,Ii=_(Xi),mi=Ii*Ur-qi*fi;return[b(qi*Ur+Ii*fi,Ti*wr+mi*vr),T(mi*wr-Ti*vr)]},xi}function Gi(gt){gt=gi(gt[0]*d,gt[1]*d,gt.length>2?gt[2]*d:0);function Bt(wr){return wr=gt(wr[0]*d,wr[1]*d),wr[0]*=h,wr[1]*=h,wr}return Bt.invert=function(wr){return wr=gt.invert(wr[0]*d,wr[1]*d),wr[0]*=h,wr[1]*=h,wr},Bt}function Ki(gt,Bt,wr,vr,Ur,fi){if(wr){var xi=p(Bt),Fi=_(Bt),Xi=vr*wr;Ur==null?(Ur=Bt+vr*f,fi=Bt-Xi/2):(Ur=ka(xi,Ur),fi=ka(xi,fi),(vr>0?Ur<fi:Ur>fi)&&(Ur+=vr*f));for(var hn,Ti=Ur;vr>0?Ti>fi:Ti<fi;Ti-=Xi)hn=Re([xi,-Fi*p(Ti),-Fi*_(Ti)]),gt.point(hn[0],hn[1])}}function ka(gt,Bt){Bt=ce(Bt),Bt[0]-=gt,rt(Bt);var wr=P(-Bt[1]);return((-Bt[2]<0?-wr:wr)+f-o)%f}function jn(){var gt=Fr([0,0]),Bt=Fr(90),wr=Fr(6),vr,Ur,fi={point:xi};function xi(Xi,hn){vr.push(Xi=Ur(Xi,hn)),Xi[0]*=h,Xi[1]*=h}function Fi(){var Xi=gt.apply(this,arguments),hn=Bt.apply(this,arguments)*d,Ti=wr.apply(this,arguments)*d;return vr=[],Ur=gi(-Xi[0]*d,-Xi[1]*d,0).invert,Ki(fi,hn,Ti,1),Xi={type:\"Polygon\",coordinates:[vr]},vr=Ur=null,Xi}return Fi.center=function(Xi){return arguments.length?(gt=typeof Xi==\"function\"?Xi:Fr([+Xi[0],+Xi[1]]),Fi):gt},Fi.radius=function(Xi){return arguments.length?(Bt=typeof Xi==\"function\"?Xi:Fr(+Xi),Fi):Bt},Fi.precision=function(Xi){return arguments.length?(wr=typeof Xi==\"function\"?Xi:Fr(+Xi),Fi):wr},Fi}function la(){var gt=[],Bt;return{point:function(wr,vr,Ur){Bt.push([wr,vr,Ur])},lineStart:function(){gt.push(Bt=[])},lineEnd:q,rejoin:function(){gt.length>1&>.push(gt.pop().concat(gt.shift()))},result:function(){var wr=gt;return gt=[],Bt=null,wr}}}function Fa(gt,Bt){return v(gt[0]-Bt[0])<o&&v(gt[1]-Bt[1])<o}function Ra(gt,Bt,wr,vr){this.x=gt,this.z=Bt,this.o=wr,this.e=vr,this.v=!1,this.n=this.p=null}function jo(gt,Bt,wr,vr,Ur){var fi=[],xi=[],Fi,Xi;if(gt.forEach(function(Pn){if(!((Ma=Pn.length-1)<=0)){var Ma,Ta=Pn[0],Ea=Pn[Ma],qa;if(Fa(Ta,Ea)){if(!Ta[2]&&!Ea[2]){for(Ur.lineStart(),Fi=0;Fi<Ma;++Fi)Ur.point((Ta=Pn[Fi])[0],Ta[1]);Ur.lineEnd();return}Ea[0]+=2*o}fi.push(qa=new Ra(Ta,Pn,null,!0)),xi.push(qa.o=new Ra(Ta,null,qa,!1)),fi.push(qa=new Ra(Ea,Pn,null,!1)),xi.push(qa.o=new Ra(Ea,null,qa,!0))}}),!!fi.length){for(xi.sort(Bt),oa(fi),oa(xi),Fi=0,Xi=xi.length;Fi<Xi;++Fi)xi[Fi].e=wr=!wr;for(var hn=fi[0],Ti,qi;;){for(var Ii=hn,mi=!0;Ii.v;)if((Ii=Ii.n)===hn)return;Ti=Ii.z,Ur.lineStart();do{if(Ii.v=Ii.o.v=!0,Ii.e){if(mi)for(Fi=0,Xi=Ti.length;Fi<Xi;++Fi)Ur.point((qi=Ti[Fi])[0],qi[1]);else vr(Ii.x,Ii.n.x,1,Ur);Ii=Ii.n}else{if(mi)for(Ti=Ii.p.z,Fi=Ti.length-1;Fi>=0;--Fi)Ur.point((qi=Ti[Fi])[0],qi[1]);else vr(Ii.x,Ii.p.x,-1,Ur);Ii=Ii.p}Ii=Ii.o,Ti=Ii.z,mi=!mi}while(!Ii.v);Ur.lineEnd()}}}function oa(gt){if(Bt=gt.length){for(var Bt,wr=0,vr=gt[0],Ur;++wr<Bt;)vr.n=Ur=gt[wr],Ur.p=vr,vr=Ur;vr.n=Ur=gt[0],Ur.p=vr}}var Sn=r();function Ha(gt){return v(gt[0])<=l?gt[0]:C(gt[0])*((v(gt[0])+l)%f-l)}function oo(gt,Bt){var wr=Ha(Bt),vr=Bt[1],Ur=_(vr),fi=[_(wr),-p(wr),0],xi=0,Fi=0;Sn.reset(),Ur===1?vr=u+o:Ur===-1&&(vr=-u-o);for(var Xi=0,hn=gt.length;Xi<hn;++Xi)if(qi=(Ti=gt[Xi]).length)for(var Ti,qi,Ii=Ti[qi-1],mi=Ha(Ii),Pn=Ii[1]/2+c,Ma=_(Pn),Ta=p(Pn),Ea=0;Ea<qi;++Ea,mi=Cn,Ma=Ua,Ta=mo,Ii=qa){var qa=Ti[Ea],Cn=Ha(qa),sn=qa[1]/2+c,Ua=_(sn),mo=p(sn),Xo=Cn-mi,Ts=Xo>=0?1:-1,Qo=Ts*Xo,ys=Qo>l,Bo=Ma*Ua;if(Sn.add(b(Bo*Ts*_(Qo),Ta*mo+Bo*p(Qo))),xi+=ys?Xo+Ts*f:Xo,ys^mi>=wr^Cn>=wr){var yl=nt(ce(Ii),ce(qa));rt(yl);var Gs=nt(fi,yl);rt(Gs);var Rs=(ys^Xo>=0?-1:1)*T(Gs[2]);(vr>Rs||vr===Rs&&(yl[0]||yl[1]))&&(Fi+=ys^Xo>=0?1:-1)}}return(xi<-o||xi<o&&Sn<-o)^Fi&1}function xn(gt,Bt,wr,vr){return function(Ur){var fi=Bt(Ur),xi=la(),Fi=Bt(xi),Xi=!1,hn,Ti,qi,Ii={point:mi,lineStart:Ma,lineEnd:Ta,polygonStart:function(){Ii.point=Ea,Ii.lineStart=qa,Ii.lineEnd=Cn,Ti=[],hn=[]},polygonEnd:function(){Ii.point=mi,Ii.lineStart=Ma,Ii.lineEnd=Ta,Ti=t.merge(Ti);var sn=oo(hn,vr);Ti.length?(Xi||(Ur.polygonStart(),Xi=!0),jo(Ti,br,sn,wr,Ur)):sn&&(Xi||(Ur.polygonStart(),Xi=!0),Ur.lineStart(),wr(null,null,1,Ur),Ur.lineEnd()),Xi&&(Ur.polygonEnd(),Xi=!1),Ti=hn=null},sphere:function(){Ur.polygonStart(),Ur.lineStart(),wr(null,null,1,Ur),Ur.lineEnd(),Ur.polygonEnd()}};function mi(sn,Ua){gt(sn,Ua)&&Ur.point(sn,Ua)}function Pn(sn,Ua){fi.point(sn,Ua)}function Ma(){Ii.point=Pn,fi.lineStart()}function Ta(){Ii.point=mi,fi.lineEnd()}function Ea(sn,Ua){qi.push([sn,Ua]),Fi.point(sn,Ua)}function qa(){Fi.lineStart(),qi=[]}function Cn(){Ea(qi[0][0],qi[0][1]),Fi.lineEnd();var sn=Fi.clean(),Ua=xi.result(),mo,Xo=Ua.length,Ts,Qo,ys;if(qi.pop(),hn.push(qi),qi=null,!!Xo){if(sn&1){if(Qo=Ua[0],(Ts=Qo.length-1)>0){for(Xi||(Ur.polygonStart(),Xi=!0),Ur.lineStart(),mo=0;mo<Ts;++mo)Ur.point((ys=Qo[mo])[0],ys[1]);Ur.lineEnd()}return}Xo>1&&sn&2&&Ua.push(Ua.pop().concat(Ua.shift())),Ti.push(Ua.filter(_t))}}return Ii}}function _t(gt){return gt.length>1}function br(gt,Bt){return((gt=gt.x)[0]<0?gt[1]-u-o:u-gt[1])-((Bt=Bt.x)[0]<0?Bt[1]-u-o:u-Bt[1])}var Hr=xn(function(){return!0},ti,Yi,[-l,-u]);function ti(gt){var Bt=NaN,wr=NaN,vr=NaN,Ur;return{lineStart:function(){gt.lineStart(),Ur=1},point:function(fi,xi){var Fi=fi>0?l:-l,Xi=v(fi-Bt);v(Xi-l)<o?(gt.point(Bt,wr=(wr+xi)/2>0?u:-u),gt.point(vr,wr),gt.lineEnd(),gt.lineStart(),gt.point(Fi,wr),gt.point(fi,wr),Ur=0):vr!==Fi&&Xi>=l&&(v(Bt-vr)<o&&(Bt-=vr*o),v(fi-Fi)<o&&(fi-=Fi*o),wr=zi(Bt,wr,fi,xi),gt.point(vr,wr),gt.lineEnd(),gt.lineStart(),gt.point(Fi,wr),Ur=0),gt.point(Bt=fi,wr=xi),vr=Fi},lineEnd:function(){gt.lineEnd(),Bt=wr=NaN},clean:function(){return 2-Ur}}}function zi(gt,Bt,wr,vr){var Ur,fi,xi=_(gt-wr);return v(xi)>o?x((_(Bt)*(fi=p(vr))*_(wr)-_(vr)*(Ur=p(Bt))*_(gt))/(Ur*fi*xi)):(Bt+vr)/2}function Yi(gt,Bt,wr,vr){var Ur;if(gt==null)Ur=wr*u,vr.point(-l,Ur),vr.point(0,Ur),vr.point(l,Ur),vr.point(l,0),vr.point(l,-Ur),vr.point(0,-Ur),vr.point(-l,-Ur),vr.point(-l,0),vr.point(-l,Ur);else if(v(gt[0]-Bt[0])>o){var fi=gt[0]<Bt[0]?l:-l;Ur=wr*fi/2,vr.point(-fi,Ur),vr.point(0,Ur),vr.point(fi,Ur)}else vr.point(Bt[0],Bt[1])}function an(gt){var Bt=p(gt),wr=6*d,vr=Bt>0,Ur=v(Bt)>o;function fi(Ti,qi,Ii,mi){Ki(mi,gt,wr,Ii,Ti,qi)}function xi(Ti,qi){return p(Ti)*p(qi)>Bt}function Fi(Ti){var qi,Ii,mi,Pn,Ma;return{lineStart:function(){Pn=mi=!1,Ma=1},point:function(Ta,Ea){var qa=[Ta,Ea],Cn,sn=xi(Ta,Ea),Ua=vr?sn?0:hn(Ta,Ea):sn?hn(Ta+(Ta<0?l:-l),Ea):0;if(!qi&&(Pn=mi=sn)&&Ti.lineStart(),sn!==mi&&(Cn=Xi(qi,qa),(!Cn||Fa(qi,Cn)||Fa(qa,Cn))&&(qa[2]=1)),sn!==mi)Ma=0,sn?(Ti.lineStart(),Cn=Xi(qa,qi),Ti.point(Cn[0],Cn[1])):(Cn=Xi(qi,qa),Ti.point(Cn[0],Cn[1],2),Ti.lineEnd()),qi=Cn;else if(Ur&&qi&&vr^sn){var mo;!(Ua&Ii)&&(mo=Xi(qa,qi,!0))&&(Ma=0,vr?(Ti.lineStart(),Ti.point(mo[0][0],mo[0][1]),Ti.point(mo[1][0],mo[1][1]),Ti.lineEnd()):(Ti.point(mo[1][0],mo[1][1]),Ti.lineEnd(),Ti.lineStart(),Ti.point(mo[0][0],mo[0][1],3)))}sn&&(!qi||!Fa(qi,qa))&&Ti.point(qa[0],qa[1]),qi=qa,mi=sn,Ii=Ua},lineEnd:function(){mi&&Ti.lineEnd(),qi=null},clean:function(){return Ma|(Pn&&mi)<<1}}}function Xi(Ti,qi,Ii){var mi=ce(Ti),Pn=ce(qi),Ma=[1,0,0],Ta=nt(mi,Pn),Ea=Ge(Ta,Ta),qa=Ta[0],Cn=Ea-qa*qa;if(!Cn)return!Ii&&Ti;var sn=Bt*Ea/Cn,Ua=-Bt*qa/Cn,mo=nt(Ma,Ta),Xo=qt(Ma,sn),Ts=qt(Ta,Ua);ct(Xo,Ts);var Qo=mo,ys=Ge(Xo,Qo),Bo=Ge(Qo,Qo),yl=ys*ys-Bo*(Ge(Xo,Xo)-1);if(!(yl<0)){var Gs=M(yl),Rs=qt(Qo,(-ys-Gs)/Bo);if(ct(Rs,Xo),Rs=Re(Rs),!Ii)return Rs;var ia=Ti[0],Ka=qi[0],vs=Ti[1],Ko=qi[1],nu;Ka<ia&&(nu=ia,ia=Ka,Ka=nu);var Ru=Ka-ia,ac=v(Ru-l)<o,mf=ac||Ru<o;if(!ac&&Ko<vs&&(nu=vs,vs=Ko,Ko=nu),mf?ac?vs+Ko>0^Rs[1]<(v(Rs[0]-ia)<o?vs:Ko):vs<=Rs[1]&&Rs[1]<=Ko:Ru>l^(ia<=Rs[0]&&Rs[0]<=Ka)){var bu=qt(Qo,(-ys+Gs)/Bo);return ct(bu,Xo),[Rs,Re(bu)]}}}function hn(Ti,qi){var Ii=vr?gt:l-gt,mi=0;return Ti<-Ii?mi|=1:Ti>Ii&&(mi|=2),qi<-Ii?mi|=4:qi>Ii&&(mi|=8),mi}return xn(xi,Fi,fi,vr?[0,-gt]:[-l,gt-l])}function hi(gt,Bt,wr,vr,Ur,fi){var xi=gt[0],Fi=gt[1],Xi=Bt[0],hn=Bt[1],Ti=0,qi=1,Ii=Xi-xi,mi=hn-Fi,Pn;if(Pn=wr-xi,!(!Ii&&Pn>0)){if(Pn/=Ii,Ii<0){if(Pn<Ti)return;Pn<qi&&(qi=Pn)}else if(Ii>0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}if(Pn=Ur-xi,!(!Ii&&Pn<0)){if(Pn/=Ii,Ii<0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}else if(Ii>0){if(Pn<Ti)return;Pn<qi&&(qi=Pn)}if(Pn=vr-Fi,!(!mi&&Pn>0)){if(Pn/=mi,mi<0){if(Pn<Ti)return;Pn<qi&&(qi=Pn)}else if(mi>0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}if(Pn=fi-Fi,!(!mi&&Pn<0)){if(Pn/=mi,mi<0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}else if(mi>0){if(Pn<Ti)return;Pn<qi&&(qi=Pn)}return Ti>0&&(gt[0]=xi+Ti*Ii,gt[1]=Fi+Ti*mi),qi<1&&(Bt[0]=xi+qi*Ii,Bt[1]=Fi+qi*mi),!0}}}}}var Ji=1e9,ua=-Ji;function Fn(gt,Bt,wr,vr){function Ur(hn,Ti){return gt<=hn&&hn<=wr&&Bt<=Ti&&Ti<=vr}function fi(hn,Ti,qi,Ii){var mi=0,Pn=0;if(hn==null||(mi=xi(hn,qi))!==(Pn=xi(Ti,qi))||Xi(hn,Ti)<0^qi>0)do Ii.point(mi===0||mi===3?gt:wr,mi>1?vr:Bt);while((mi=(mi+qi+4)%4)!==Pn);else Ii.point(Ti[0],Ti[1])}function xi(hn,Ti){return v(hn[0]-gt)<o?Ti>0?0:3:v(hn[0]-wr)<o?Ti>0?2:1:v(hn[1]-Bt)<o?Ti>0?1:0:Ti>0?3:2}function Fi(hn,Ti){return Xi(hn.x,Ti.x)}function Xi(hn,Ti){var qi=xi(hn,1),Ii=xi(Ti,1);return qi!==Ii?qi-Ii:qi===0?Ti[1]-hn[1]:qi===1?hn[0]-Ti[0]:qi===2?hn[1]-Ti[1]:Ti[0]-hn[0]}return function(hn){var Ti=hn,qi=la(),Ii,mi,Pn,Ma,Ta,Ea,qa,Cn,sn,Ua,mo,Xo={point:Ts,lineStart:yl,lineEnd:Gs,polygonStart:ys,polygonEnd:Bo};function Ts(ia,Ka){Ur(ia,Ka)&&Ti.point(ia,Ka)}function Qo(){for(var ia=0,Ka=0,vs=mi.length;Ka<vs;++Ka)for(var Ko=mi[Ka],nu=1,Ru=Ko.length,ac=Ko[0],mf,bu,Kc=ac[0],Du=ac[1];nu<Ru;++nu)mf=Kc,bu=Du,ac=Ko[nu],Kc=ac[0],Du=ac[1],bu<=vr?Du>vr&&(Kc-mf)*(vr-bu)>(Du-bu)*(gt-mf)&&++ia:Du<=vr&&(Kc-mf)*(vr-bu)<(Du-bu)*(gt-mf)&&--ia;return ia}function ys(){Ti=qi,Ii=[],mi=[],mo=!0}function Bo(){var ia=Qo(),Ka=mo&&ia,vs=(Ii=t.merge(Ii)).length;(Ka||vs)&&(hn.polygonStart(),Ka&&(hn.lineStart(),fi(null,null,1,hn),hn.lineEnd()),vs&&jo(Ii,Fi,ia,fi,hn),hn.polygonEnd()),Ti=hn,Ii=mi=Pn=null}function yl(){Xo.point=Rs,mi&&mi.push(Pn=[]),Ua=!0,sn=!1,qa=Cn=NaN}function Gs(){Ii&&(Rs(Ma,Ta),Ea&&sn&&qi.rejoin(),Ii.push(qi.result())),Xo.point=Ts,sn&&Ti.lineEnd()}function Rs(ia,Ka){var vs=Ur(ia,Ka);if(mi&&Pn.push([ia,Ka]),Ua)Ma=ia,Ta=Ka,Ea=vs,Ua=!1,vs&&(Ti.lineStart(),Ti.point(ia,Ka));else if(vs&&sn)Ti.point(ia,Ka);else{var Ko=[qa=Math.max(ua,Math.min(Ji,qa)),Cn=Math.max(ua,Math.min(Ji,Cn))],nu=[ia=Math.max(ua,Math.min(Ji,ia)),Ka=Math.max(ua,Math.min(Ji,Ka))];hi(Ko,nu,gt,Bt,wr,vr)?(sn||(Ti.lineStart(),Ti.point(Ko[0],Ko[1])),Ti.point(nu[0],nu[1]),vs||Ti.lineEnd(),mo=!1):vs&&(Ti.lineStart(),Ti.point(ia,Ka),mo=!1)}qa=ia,Cn=Ka,sn=vs}return Xo}}function Sa(){var gt=0,Bt=0,wr=960,vr=500,Ur,fi,xi;return xi={stream:function(Fi){return Ur&&fi===Fi?Ur:Ur=Fn(gt,Bt,wr,vr)(fi=Fi)},extent:function(Fi){return arguments.length?(gt=+Fi[0][0],Bt=+Fi[0][1],wr=+Fi[1][0],vr=+Fi[1][1],Ur=fi=null,xi):[[gt,Bt],[wr,vr]]}}}var go=r(),Oo,ho,Mo,xo={sphere:q,point:q,lineStart:zs,lineEnd:q,polygonStart:q,polygonEnd:q};function zs(){xo.point=Zs,xo.lineEnd=ks}function ks(){xo.point=xo.lineEnd=q}function Zs(gt,Bt){gt*=d,Bt*=d,Oo=gt,ho=_(Bt),Mo=p(Bt),xo.point=Xs}function Xs(gt,Bt){gt*=d,Bt*=d;var wr=_(Bt),vr=p(Bt),Ur=v(gt-Oo),fi=p(Ur),xi=_(Ur),Fi=vr*xi,Xi=Mo*wr-ho*vr*fi,hn=ho*wr+Mo*vr*fi;go.add(b(M(Fi*Fi+Xi*Xi),hn)),Oo=gt,ho=wr,Mo=vr}function wl(gt){return go.reset(),W(gt,xo),+go}var os=[null,null],cl={type:\"LineString\",coordinates:os};function Cs(gt,Bt){return os[0]=gt,os[1]=Bt,wl(cl)}var ml={Feature:function(gt,Bt){return Hs(gt.geometry,Bt)},FeatureCollection:function(gt,Bt){for(var wr=gt.features,vr=-1,Ur=wr.length;++vr<Ur;)if(Hs(wr[vr].geometry,Bt))return!0;return!1}},Ys={Sphere:function(){return!0},Point:function(gt,Bt){return Eo(gt.coordinates,Bt)},MultiPoint:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)if(Eo(wr[vr],Bt))return!0;return!1},LineString:function(gt,Bt){return fs(gt.coordinates,Bt)},MultiLineString:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)if(fs(wr[vr],Bt))return!0;return!1},Polygon:function(gt,Bt){return Ql(gt.coordinates,Bt)},MultiPolygon:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)if(Ql(wr[vr],Bt))return!0;return!1},GeometryCollection:function(gt,Bt){for(var wr=gt.geometries,vr=-1,Ur=wr.length;++vr<Ur;)if(Hs(wr[vr],Bt))return!0;return!1}};function Hs(gt,Bt){return gt&&Ys.hasOwnProperty(gt.type)?Ys[gt.type](gt,Bt):!1}function Eo(gt,Bt){return Cs(gt,Bt)===0}function fs(gt,Bt){for(var wr,vr,Ur,fi=0,xi=gt.length;fi<xi;fi++){if(vr=Cs(gt[fi],Bt),vr===0||fi>0&&(Ur=Cs(gt[fi],gt[fi-1]),Ur>0&&wr<=Ur&&vr<=Ur&&(wr+vr-Ur)*(1-Math.pow((wr-vr)/Ur,2))<s*Ur))return!0;wr=vr}return!1}function Ql(gt,Bt){return!!oo(gt.map(Hu),fc(Bt))}function Hu(gt){return gt=gt.map(fc),gt.pop(),gt}function fc(gt){return[gt[0]*d,gt[1]*d]}function ms(gt,Bt){return(gt&&ml.hasOwnProperty(gt.type)?ml[gt.type]:Hs)(gt,Bt)}function on(gt,Bt,wr){var vr=t.range(gt,Bt-o,wr).concat(Bt);return function(Ur){return vr.map(function(fi){return[Ur,fi]})}}function fa(gt,Bt,wr){var vr=t.range(gt,Bt-o,wr).concat(Bt);return function(Ur){return vr.map(function(fi){return[fi,Ur]})}}function Qu(){var gt,Bt,wr,vr,Ur,fi,xi,Fi,Xi=10,hn=Xi,Ti=90,qi=360,Ii,mi,Pn,Ma,Ta=2.5;function Ea(){return{type:\"MultiLineString\",coordinates:qa()}}function qa(){return t.range(E(vr/Ti)*Ti,wr,Ti).map(Pn).concat(t.range(E(Fi/qi)*qi,xi,qi).map(Ma)).concat(t.range(E(Bt/Xi)*Xi,gt,Xi).filter(function(Cn){return v(Cn%Ti)>o}).map(Ii)).concat(t.range(E(fi/hn)*hn,Ur,hn).filter(function(Cn){return v(Cn%qi)>o}).map(mi))}return Ea.lines=function(){return qa().map(function(Cn){return{type:\"LineString\",coordinates:Cn}})},Ea.outline=function(){return{type:\"Polygon\",coordinates:[Pn(vr).concat(Ma(xi).slice(1),Pn(wr).reverse().slice(1),Ma(Fi).reverse().slice(1))]}},Ea.extent=function(Cn){return arguments.length?Ea.extentMajor(Cn).extentMinor(Cn):Ea.extentMinor()},Ea.extentMajor=function(Cn){return arguments.length?(vr=+Cn[0][0],wr=+Cn[1][0],Fi=+Cn[0][1],xi=+Cn[1][1],vr>wr&&(Cn=vr,vr=wr,wr=Cn),Fi>xi&&(Cn=Fi,Fi=xi,xi=Cn),Ea.precision(Ta)):[[vr,Fi],[wr,xi]]},Ea.extentMinor=function(Cn){return arguments.length?(Bt=+Cn[0][0],gt=+Cn[1][0],fi=+Cn[0][1],Ur=+Cn[1][1],Bt>gt&&(Cn=Bt,Bt=gt,gt=Cn),fi>Ur&&(Cn=fi,fi=Ur,Ur=Cn),Ea.precision(Ta)):[[Bt,fi],[gt,Ur]]},Ea.step=function(Cn){return arguments.length?Ea.stepMajor(Cn).stepMinor(Cn):Ea.stepMinor()},Ea.stepMajor=function(Cn){return arguments.length?(Ti=+Cn[0],qi=+Cn[1],Ea):[Ti,qi]},Ea.stepMinor=function(Cn){return arguments.length?(Xi=+Cn[0],hn=+Cn[1],Ea):[Xi,hn]},Ea.precision=function(Cn){return arguments.length?(Ta=+Cn,Ii=on(fi,Ur,90),mi=fa(Bt,gt,Ta),Pn=on(Fi,xi,90),Ma=fa(vr,wr,Ta),Ea):Ta},Ea.extentMajor([[-180,-90+o],[180,90-o]]).extentMinor([[-180,-80-o],[180,80+o]])}function Rl(){return Qu()()}function vo(gt,Bt){var wr=gt[0]*d,vr=gt[1]*d,Ur=Bt[0]*d,fi=Bt[1]*d,xi=p(vr),Fi=_(vr),Xi=p(fi),hn=_(fi),Ti=xi*p(wr),qi=xi*_(wr),Ii=Xi*p(Ur),mi=Xi*_(Ur),Pn=2*T(M(F(fi-vr)+xi*Xi*F(Ur-wr))),Ma=_(Pn),Ta=Pn?function(Ea){var qa=_(Ea*=Pn)/Ma,Cn=_(Pn-Ea)/Ma,sn=Cn*Ti+qa*Ii,Ua=Cn*qi+qa*mi,mo=Cn*Fi+qa*hn;return[b(Ua,sn)*h,b(mo,M(sn*sn+Ua*Ua))*h]}:function(){return[wr*h,vr*h]};return Ta.distance=Pn,Ta}function Zl(gt){return gt}var Ks=r(),Xl=r(),Ec,Zn,ko,Co,Tl={point:q,lineStart:q,lineEnd:q,polygonStart:function(){Tl.lineStart=uf,Tl.lineEnd=rh},polygonEnd:function(){Tl.lineStart=Tl.lineEnd=Tl.point=q,Ks.add(v(Xl)),Xl.reset()},result:function(){var gt=Ks/2;return Ks.reset(),gt}};function uf(){Tl.point=So}function So(gt,Bt){Tl.point=cf,Ec=ko=gt,Zn=Co=Bt}function cf(gt,Bt){Xl.add(Co*gt-ko*Bt),ko=gt,Co=Bt}function rh(){cf(Ec,Zn)}var Al=1/0,Hc=Al,eu=-Al,Ls=eu,mu={point:kc,lineStart:q,lineEnd:q,polygonStart:q,polygonEnd:q,result:function(){var gt=[[Al,Hc],[eu,Ls]];return eu=Ls=-(Hc=Al=1/0),gt}};function kc(gt,Bt){gt<Al&&(Al=gt),gt>eu&&(eu=gt),Bt<Hc&&(Hc=Bt),Bt>Ls&&(Ls=Bt)}var Of=0,Gc=0,vd=0,Bf=0,ss=0,ff=0,ih=0,Vl=0,Js=0,hc,Cc,ws,$s,hs={point:Ms,lineStart:dc,lineEnd:Ps,polygonStart:function(){hs.lineStart=ov,hs.lineEnd=wo},polygonEnd:function(){hs.point=Ms,hs.lineStart=dc,hs.lineEnd=Ps},result:function(){var gt=Js?[ih/Js,Vl/Js]:ff?[Bf/ff,ss/ff]:vd?[Of/vd,Gc/vd]:[NaN,NaN];return Of=Gc=vd=Bf=ss=ff=ih=Vl=Js=0,gt}};function Ms(gt,Bt){Of+=gt,Gc+=Bt,++vd}function dc(){hs.point=Sl}function Sl(gt,Bt){hs.point=ec,Ms(ws=gt,$s=Bt)}function ec(gt,Bt){var wr=gt-ws,vr=Bt-$s,Ur=M(wr*wr+vr*vr);Bf+=Ur*(ws+gt)/2,ss+=Ur*($s+Bt)/2,ff+=Ur,Ms(ws=gt,$s=Bt)}function Ps(){hs.point=Ms}function ov(){hs.point=Od}function wo(){$o(hc,Cc)}function Od(gt,Bt){hs.point=$o,Ms(hc=ws=gt,Cc=$s=Bt)}function $o(gt,Bt){var wr=gt-ws,vr=Bt-$s,Ur=M(wr*wr+vr*vr);Bf+=Ur*(ws+gt)/2,ss+=Ur*($s+Bt)/2,ff+=Ur,Ur=$s*gt-ws*Bt,ih+=Ur*(ws+gt),Vl+=Ur*($s+Bt),Js+=Ur*3,Ms(ws=gt,$s=Bt)}function Ja(gt){this._context=gt}Ja.prototype={_radius:4.5,pointRadius:function(gt){return this._radius=gt,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(gt,Bt){switch(this._point){case 0:{this._context.moveTo(gt,Bt),this._point=1;break}case 1:{this._context.lineTo(gt,Bt);break}default:{this._context.moveTo(gt+this._radius,Bt),this._context.arc(gt,Bt,this._radius,0,f);break}}},result:q};var Ef=r(),tc,uu,Mh,jc,kf,Ml={point:q,lineStart:function(){Ml.point=Yh},lineEnd:function(){tc&&Eh(uu,Mh),Ml.point=q},polygonStart:function(){tc=!0},polygonEnd:function(){tc=null},result:function(){var gt=+Ef;return Ef.reset(),gt}};function Yh(gt,Bt){Ml.point=Eh,uu=jc=gt,Mh=kf=Bt}function Eh(gt,Bt){jc-=gt,kf-=Bt,Ef.add(M(jc*jc+kf*kf)),jc=gt,kf=Bt}function nh(){this._string=[]}nh.prototype={_radius:4.5,_circle:hf(4.5),pointRadius:function(gt){return(gt=+gt)!==this._radius&&(this._radius=gt,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._string.push(\"Z\"),this._point=NaN},point:function(gt,Bt){switch(this._point){case 0:{this._string.push(\"M\",gt,\",\",Bt),this._point=1;break}case 1:{this._string.push(\"L\",gt,\",\",Bt);break}default:{this._circle==null&&(this._circle=hf(this._radius)),this._string.push(\"M\",gt,\",\",Bt,this._circle);break}}},result:function(){if(this._string.length){var gt=this._string.join(\"\");return this._string=[],gt}else return null}};function hf(gt){return\"m0,\"+gt+\"a\"+gt+\",\"+gt+\" 0 1,1 0,\"+-2*gt+\"a\"+gt+\",\"+gt+\" 0 1,1 0,\"+2*gt+\"z\"}function kh(gt,Bt){var wr=4.5,vr,Ur;function fi(xi){return xi&&(typeof wr==\"function\"&&Ur.pointRadius(+wr.apply(this,arguments)),W(xi,vr(Ur))),Ur.result()}return fi.area=function(xi){return W(xi,vr(Tl)),Tl.result()},fi.measure=function(xi){return W(xi,vr(Ml)),Ml.result()},fi.bounds=function(xi){return W(xi,vr(mu)),mu.result()},fi.centroid=function(xi){return W(xi,vr(hs)),hs.result()},fi.projection=function(xi){return arguments.length?(vr=xi==null?(gt=null,Zl):(gt=xi).stream,fi):gt},fi.context=function(xi){return arguments.length?(Ur=xi==null?(Bt=null,new nh):new Ja(Bt=xi),typeof wr!=\"function\"&&Ur.pointRadius(wr),fi):Bt},fi.pointRadius=function(xi){return arguments.length?(wr=typeof xi==\"function\"?xi:(Ur.pointRadius(+xi),+xi),fi):wr},fi.projection(gt).context(Bt)}function Kh(gt){return{stream:rc(gt)}}function rc(gt){return function(Bt){var wr=new ah;for(var vr in gt)wr[vr]=gt[vr];return wr.stream=Bt,wr}}function ah(){}ah.prototype={constructor:ah,point:function(gt,Bt){this.stream.point(gt,Bt)},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()}};function Wc(gt,Bt,wr){var vr=gt.clipExtent&>.clipExtent();return gt.scale(150).translate([0,0]),vr!=null&>.clipExtent(null),W(wr,gt.stream(mu)),Bt(mu.result()),vr!=null&>.clipExtent(vr),gt}function df(gt,Bt,wr){return Wc(gt,function(vr){var Ur=Bt[1][0]-Bt[0][0],fi=Bt[1][1]-Bt[0][1],xi=Math.min(Ur/(vr[1][0]-vr[0][0]),fi/(vr[1][1]-vr[0][1])),Fi=+Bt[0][0]+(Ur-xi*(vr[1][0]+vr[0][0]))/2,Xi=+Bt[0][1]+(fi-xi*(vr[1][1]+vr[0][1]))/2;gt.scale(150*xi).translate([Fi,Xi])},wr)}function Cu(gt,Bt,wr){return df(gt,[[0,0],Bt],wr)}function Nf(gt,Bt,wr){return Wc(gt,function(vr){var Ur=+Bt,fi=Ur/(vr[1][0]-vr[0][0]),xi=(Ur-fi*(vr[1][0]+vr[0][0]))/2,Fi=-fi*vr[0][1];gt.scale(150*fi).translate([xi,Fi])},wr)}function Zc(gt,Bt,wr){return Wc(gt,function(vr){var Ur=+Bt,fi=Ur/(vr[1][1]-vr[0][1]),xi=-fi*vr[0][0],Fi=(Ur-fi*(vr[1][1]+vr[0][1]))/2;gt.scale(150*fi).translate([xi,Fi])},wr)}var ds=16,Ch=p(30*d);function Bd(gt,Bt){return+Bt?Cf(gt,Bt):Jh(gt)}function Jh(gt){return rc({point:function(Bt,wr){Bt=gt(Bt,wr),this.stream.point(Bt[0],Bt[1])}})}function Cf(gt,Bt){function wr(vr,Ur,fi,xi,Fi,Xi,hn,Ti,qi,Ii,mi,Pn,Ma,Ta){var Ea=hn-vr,qa=Ti-Ur,Cn=Ea*Ea+qa*qa;if(Cn>4*Bt&&Ma--){var sn=xi+Ii,Ua=Fi+mi,mo=Xi+Pn,Xo=M(sn*sn+Ua*Ua+mo*mo),Ts=T(mo/=Xo),Qo=v(v(mo)-1)<o||v(fi-qi)<o?(fi+qi)/2:b(Ua,sn),ys=gt(Qo,Ts),Bo=ys[0],yl=ys[1],Gs=Bo-vr,Rs=yl-Ur,ia=qa*Gs-Ea*Rs;(ia*ia/Cn>Bt||v((Ea*Gs+qa*Rs)/Cn-.5)>.3||xi*Ii+Fi*mi+Xi*Pn<Ch)&&(wr(vr,Ur,fi,xi,Fi,Xi,Bo,yl,Qo,sn/=Xo,Ua/=Xo,mo,Ma,Ta),Ta.point(Bo,yl),wr(Bo,yl,Qo,sn,Ua,mo,hn,Ti,qi,Ii,mi,Pn,Ma,Ta))}}return function(vr){var Ur,fi,xi,Fi,Xi,hn,Ti,qi,Ii,mi,Pn,Ma,Ta={point:Ea,lineStart:qa,lineEnd:sn,polygonStart:function(){vr.polygonStart(),Ta.lineStart=Ua},polygonEnd:function(){vr.polygonEnd(),Ta.lineStart=qa}};function Ea(Ts,Qo){Ts=gt(Ts,Qo),vr.point(Ts[0],Ts[1])}function qa(){qi=NaN,Ta.point=Cn,vr.lineStart()}function Cn(Ts,Qo){var ys=ce([Ts,Qo]),Bo=gt(Ts,Qo);wr(qi,Ii,Ti,mi,Pn,Ma,qi=Bo[0],Ii=Bo[1],Ti=Ts,mi=ys[0],Pn=ys[1],Ma=ys[2],ds,vr),vr.point(qi,Ii)}function sn(){Ta.point=Ea,vr.lineEnd()}function Ua(){qa(),Ta.point=mo,Ta.lineEnd=Xo}function mo(Ts,Qo){Cn(Ur=Ts,Qo),fi=qi,xi=Ii,Fi=mi,Xi=Pn,hn=Ma,Ta.point=Cn}function Xo(){wr(qi,Ii,Ti,mi,Pn,Ma,fi,xi,Ur,Fi,Xi,hn,ds,vr),Ta.lineEnd=sn,sn()}return Ta}}var pd=rc({point:function(gt,Bt){this.stream.point(gt*d,Bt*d)}});function Lu(gt){return rc({point:function(Bt,wr){var vr=gt(Bt,wr);return this.stream.point(vr[0],vr[1])}})}function $h(gt,Bt,wr,vr,Ur){function fi(xi,Fi){return xi*=vr,Fi*=Ur,[Bt+gt*xi,wr-gt*Fi]}return fi.invert=function(xi,Fi){return[(xi-Bt)/gt*vr,(wr-Fi)/gt*Ur]},fi}function tu(gt,Bt,wr,vr,Ur,fi){var xi=p(fi),Fi=_(fi),Xi=xi*gt,hn=Fi*gt,Ti=xi/gt,qi=Fi/gt,Ii=(Fi*wr-xi*Bt)/gt,mi=(Fi*Bt+xi*wr)/gt;function Pn(Ma,Ta){return Ma*=vr,Ta*=Ur,[Xi*Ma-hn*Ta+Bt,wr-hn*Ma-Xi*Ta]}return Pn.invert=function(Ma,Ta){return[vr*(Ti*Ma-qi*Ta+Ii),Ur*(mi-qi*Ma-Ti*Ta)]},Pn}function Pu(gt){return Lc(function(){return gt})()}function Lc(gt){var Bt,wr=150,vr=480,Ur=250,fi=0,xi=0,Fi=0,Xi=0,hn=0,Ti,qi=0,Ii=1,mi=1,Pn=null,Ma=Hr,Ta=null,Ea,qa,Cn,sn=Zl,Ua=.5,mo,Xo,Ts,Qo,ys;function Bo(ia){return Ts(ia[0]*d,ia[1]*d)}function yl(ia){return ia=Ts.invert(ia[0],ia[1]),ia&&[ia[0]*h,ia[1]*h]}Bo.stream=function(ia){return Qo&&ys===ia?Qo:Qo=pd(Lu(Ti)(Ma(mo(sn(ys=ia)))))},Bo.preclip=function(ia){return arguments.length?(Ma=ia,Pn=void 0,Rs()):Ma},Bo.postclip=function(ia){return arguments.length?(sn=ia,Ta=Ea=qa=Cn=null,Rs()):sn},Bo.clipAngle=function(ia){return arguments.length?(Ma=+ia?an(Pn=ia*d):(Pn=null,Hr),Rs()):Pn*h},Bo.clipExtent=function(ia){return arguments.length?(sn=ia==null?(Ta=Ea=qa=Cn=null,Zl):Fn(Ta=+ia[0][0],Ea=+ia[0][1],qa=+ia[1][0],Cn=+ia[1][1]),Rs()):Ta==null?null:[[Ta,Ea],[qa,Cn]]},Bo.scale=function(ia){return arguments.length?(wr=+ia,Gs()):wr},Bo.translate=function(ia){return arguments.length?(vr=+ia[0],Ur=+ia[1],Gs()):[vr,Ur]},Bo.center=function(ia){return arguments.length?(fi=ia[0]%360*d,xi=ia[1]%360*d,Gs()):[fi*h,xi*h]},Bo.rotate=function(ia){return arguments.length?(Fi=ia[0]%360*d,Xi=ia[1]%360*d,hn=ia.length>2?ia[2]%360*d:0,Gs()):[Fi*h,Xi*h,hn*h]},Bo.angle=function(ia){return arguments.length?(qi=ia%360*d,Gs()):qi*h},Bo.reflectX=function(ia){return arguments.length?(Ii=ia?-1:1,Gs()):Ii<0},Bo.reflectY=function(ia){return arguments.length?(mi=ia?-1:1,Gs()):mi<0},Bo.precision=function(ia){return arguments.length?(mo=Bd(Xo,Ua=ia*ia),Rs()):M(Ua)},Bo.fitExtent=function(ia,Ka){return df(Bo,ia,Ka)},Bo.fitSize=function(ia,Ka){return Cu(Bo,ia,Ka)},Bo.fitWidth=function(ia,Ka){return Nf(Bo,ia,Ka)},Bo.fitHeight=function(ia,Ka){return Zc(Bo,ia,Ka)};function Gs(){var ia=tu(wr,0,0,Ii,mi,qi).apply(null,Bt(fi,xi)),Ka=(qi?tu:$h)(wr,vr-ia[0],Ur-ia[1],Ii,mi,qi);return Ti=gi(Fi,Xi,hn),Xo=Zr(Bt,Ka),Ts=Zr(Ti,Xo),mo=Bd(Xo,Ua),Rs()}function Rs(){return Qo=ys=null,Bo}return function(){return Bt=gt.apply(this,arguments),Bo.invert=Bt.invert&&yl,Gs()}}function fl(gt){var Bt=0,wr=l/3,vr=Lc(gt),Ur=vr(Bt,wr);return Ur.parallels=function(fi){return arguments.length?vr(Bt=fi[0]*d,wr=fi[1]*d):[Bt*h,wr*h]},Ur}function Xc(gt){var Bt=p(gt);function wr(vr,Ur){return[vr*Bt,_(Ur)/Bt]}return wr.invert=function(vr,Ur){return[vr/Bt,T(Ur*Bt)]},wr}function ic(gt,Bt){var wr=_(gt),vr=(wr+_(Bt))/2;if(v(vr)<o)return Xc(gt);var Ur=1+wr*(2*vr-wr),fi=M(Ur)/vr;function xi(Fi,Xi){var hn=M(Ur-2*vr*_(Xi))/vr;return[hn*_(Fi*=vr),fi-hn*p(Fi)]}return xi.invert=function(Fi,Xi){var hn=fi-Xi,Ti=b(Fi,v(hn))*C(hn);return hn*vr<0&&(Ti-=l*C(Fi)*C(hn)),[Ti/vr,T((Ur-(Fi*Fi+hn*hn)*vr*vr)/(2*vr))]},xi}function yu(){return fl(ic).scale(155.424).center([0,33.6442])}function Qs(){return yu().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function Qh(gt){var Bt=gt.length;return{point:function(wr,vr){for(var Ur=-1;++Ur<Bt;)gt[Ur].point(wr,vr)},sphere:function(){for(var wr=-1;++wr<Bt;)gt[wr].sphere()},lineStart:function(){for(var wr=-1;++wr<Bt;)gt[wr].lineStart()},lineEnd:function(){for(var wr=-1;++wr<Bt;)gt[wr].lineEnd()},polygonStart:function(){for(var wr=-1;++wr<Bt;)gt[wr].polygonStart()},polygonEnd:function(){for(var wr=-1;++wr<Bt;)gt[wr].polygonEnd()}}}function gd(){var gt,Bt,wr=Qs(),vr,Ur=yu().rotate([154,0]).center([-2,58.5]).parallels([55,65]),fi,xi=yu().rotate([157,0]).center([-3,19.9]).parallels([8,18]),Fi,Xi,hn={point:function(Ii,mi){Xi=[Ii,mi]}};function Ti(Ii){var mi=Ii[0],Pn=Ii[1];return Xi=null,vr.point(mi,Pn),Xi||(fi.point(mi,Pn),Xi)||(Fi.point(mi,Pn),Xi)}Ti.invert=function(Ii){var mi=wr.scale(),Pn=wr.translate(),Ma=(Ii[0]-Pn[0])/mi,Ta=(Ii[1]-Pn[1])/mi;return(Ta>=.12&&Ta<.234&&Ma>=-.425&&Ma<-.214?Ur:Ta>=.166&&Ta<.234&&Ma>=-.214&&Ma<-.115?xi:wr).invert(Ii)},Ti.stream=function(Ii){return gt&&Bt===Ii?gt:gt=Qh([wr.stream(Bt=Ii),Ur.stream(Ii),xi.stream(Ii)])},Ti.precision=function(Ii){return arguments.length?(wr.precision(Ii),Ur.precision(Ii),xi.precision(Ii),qi()):wr.precision()},Ti.scale=function(Ii){return arguments.length?(wr.scale(Ii),Ur.scale(Ii*.35),xi.scale(Ii),Ti.translate(wr.translate())):wr.scale()},Ti.translate=function(Ii){if(!arguments.length)return wr.translate();var mi=wr.scale(),Pn=+Ii[0],Ma=+Ii[1];return vr=wr.translate(Ii).clipExtent([[Pn-.455*mi,Ma-.238*mi],[Pn+.455*mi,Ma+.238*mi]]).stream(hn),fi=Ur.translate([Pn-.307*mi,Ma+.201*mi]).clipExtent([[Pn-.425*mi+o,Ma+.12*mi+o],[Pn-.214*mi-o,Ma+.234*mi-o]]).stream(hn),Fi=xi.translate([Pn-.205*mi,Ma+.212*mi]).clipExtent([[Pn-.214*mi+o,Ma+.166*mi+o],[Pn-.115*mi-o,Ma+.234*mi-o]]).stream(hn),qi()},Ti.fitExtent=function(Ii,mi){return df(Ti,Ii,mi)},Ti.fitSize=function(Ii,mi){return Cu(Ti,Ii,mi)},Ti.fitWidth=function(Ii,mi){return Nf(Ti,Ii,mi)},Ti.fitHeight=function(Ii,mi){return Zc(Ti,Ii,mi)};function qi(){return gt=Bt=null,Ti}return Ti.scale(1070)}function Gu(gt){return function(Bt,wr){var vr=p(Bt),Ur=p(wr),fi=gt(vr*Ur);return[fi*Ur*_(Bt),fi*_(wr)]}}function Pc(gt){return function(Bt,wr){var vr=M(Bt*Bt+wr*wr),Ur=gt(vr),fi=_(Ur),xi=p(Ur);return[b(Bt*fi,vr*xi),T(vr&&wr*fi/vr)]}}var vc=Gu(function(gt){return M(2/(1+gt))});vc.invert=Pc(function(gt){return 2*T(gt/2)});function sv(){return Pu(vc).scale(124.75).clipAngle(180-.001)}var Lf=Gu(function(gt){return(gt=P(gt))&>/_(gt)});Lf.invert=Pc(function(gt){return gt});function Uf(){return Pu(Lf).scale(79.4188).clipAngle(180-.001)}function Iu(gt,Bt){return[gt,A(g((u+Bt)/2))]}Iu.invert=function(gt,Bt){return[gt,2*x(k(Bt))-u]};function oh(){return ru(Iu).scale(961/f)}function ru(gt){var Bt=Pu(gt),wr=Bt.center,vr=Bt.scale,Ur=Bt.translate,fi=Bt.clipExtent,xi=null,Fi,Xi,hn;Bt.scale=function(qi){return arguments.length?(vr(qi),Ti()):vr()},Bt.translate=function(qi){return arguments.length?(Ur(qi),Ti()):Ur()},Bt.center=function(qi){return arguments.length?(wr(qi),Ti()):wr()},Bt.clipExtent=function(qi){return arguments.length?(qi==null?xi=Fi=Xi=hn=null:(xi=+qi[0][0],Fi=+qi[0][1],Xi=+qi[1][0],hn=+qi[1][1]),Ti()):xi==null?null:[[xi,Fi],[Xi,hn]]};function Ti(){var qi=l*vr(),Ii=Bt(Gi(Bt.rotate()).invert([0,0]));return fi(xi==null?[[Ii[0]-qi,Ii[1]-qi],[Ii[0]+qi,Ii[1]+qi]]:gt===Iu?[[Math.max(Ii[0]-qi,xi),Fi],[Math.min(Ii[0]+qi,Xi),hn]]:[[xi,Math.max(Ii[1]-qi,Fi)],[Xi,Math.min(Ii[1]+qi,hn)]])}return Ti()}function vf(gt){return g((u+gt)/2)}function md(gt,Bt){var wr=p(gt),vr=gt===Bt?_(gt):A(wr/p(Bt))/A(vf(Bt)/vf(gt)),Ur=wr*L(vf(gt),vr)/vr;if(!vr)return Iu;function fi(xi,Fi){Ur>0?Fi<-u+o&&(Fi=-u+o):Fi>u-o&&(Fi=u-o);var Xi=Ur/L(vf(Fi),vr);return[Xi*_(vr*xi),Ur-Xi*p(vr*xi)]}return fi.invert=function(xi,Fi){var Xi=Ur-Fi,hn=C(vr)*M(xi*xi+Xi*Xi),Ti=b(xi,v(Xi))*C(Xi);return Xi*vr<0&&(Ti-=l*C(xi)*C(Xi)),[Ti/vr,2*x(L(Ur/hn,1/vr))-u]},fi}function sh(){return fl(md).scale(109.5).parallels([30,30])}function Fs(gt,Bt){return[gt,Bt]}Fs.invert=Fs;function _u(){return Pu(Fs).scale(152.63)}function xu(gt,Bt){var wr=p(gt),vr=gt===Bt?_(gt):(wr-p(Bt))/(Bt-gt),Ur=wr/vr+gt;if(v(vr)<o)return Fs;function fi(xi,Fi){var Xi=Ur-Fi,hn=vr*xi;return[Xi*_(hn),Ur-Xi*p(hn)]}return fi.invert=function(xi,Fi){var Xi=Ur-Fi,hn=b(xi,v(Xi))*C(Xi);return Xi*vr<0&&(hn-=l*C(xi)*C(Xi)),[hn/vr,Ur-C(vr)*M(xi*xi+Xi*Xi)]},fi}function Lh(){return fl(xu).scale(131.154).center([0,13.9389])}var Is=1.340264,Pf=-.081106,Ic=893e-6,ju=.003796,Vf=M(3)/2,pc=12;function pf(gt,Bt){var wr=T(Vf*_(Bt)),vr=wr*wr,Ur=vr*vr*vr;return[gt*p(wr)/(Vf*(Is+3*Pf*vr+Ur*(7*Ic+9*ju*vr))),wr*(Is+Pf*vr+Ur*(Ic+ju*vr))]}pf.invert=function(gt,Bt){for(var wr=Bt,vr=wr*wr,Ur=vr*vr*vr,fi=0,xi,Fi,Xi;fi<pc&&(Fi=wr*(Is+Pf*vr+Ur*(Ic+ju*vr))-Bt,Xi=Is+3*Pf*vr+Ur*(7*Ic+9*ju*vr),wr-=xi=Fi/Xi,vr=wr*wr,Ur=vr*vr*vr,!(v(xi)<s));++fi);return[Vf*gt*(Is+3*Pf*vr+Ur*(7*Ic+9*ju*vr))/p(wr),T(_(wr)/Vf)]};function Ph(){return Pu(pf).scale(177.158)}function Dl(gt,Bt){var wr=p(Bt),vr=p(gt)*wr;return[wr*_(gt)/vr,_(Bt)/vr]}Dl.invert=Pc(x);function Ih(){return Pu(Dl).scale(144.049).clipAngle(60)}function Wu(){var gt=1,Bt=0,wr=0,vr=1,Ur=1,fi=0,xi,Fi,Xi=null,hn,Ti,qi,Ii=1,mi=1,Pn=rc({point:function(sn,Ua){var mo=Cn([sn,Ua]);this.stream.point(mo[0],mo[1])}}),Ma=Zl,Ta,Ea;function qa(){return Ii=gt*vr,mi=gt*Ur,Ta=Ea=null,Cn}function Cn(sn){var Ua=sn[0]*Ii,mo=sn[1]*mi;if(fi){var Xo=mo*xi-Ua*Fi;Ua=Ua*xi+mo*Fi,mo=Xo}return[Ua+Bt,mo+wr]}return Cn.invert=function(sn){var Ua=sn[0]-Bt,mo=sn[1]-wr;if(fi){var Xo=mo*xi+Ua*Fi;Ua=Ua*xi-mo*Fi,mo=Xo}return[Ua/Ii,mo/mi]},Cn.stream=function(sn){return Ta&&Ea===sn?Ta:Ta=Pn(Ma(Ea=sn))},Cn.postclip=function(sn){return arguments.length?(Ma=sn,Xi=hn=Ti=qi=null,qa()):Ma},Cn.clipExtent=function(sn){return arguments.length?(Ma=sn==null?(Xi=hn=Ti=qi=null,Zl):Fn(Xi=+sn[0][0],hn=+sn[0][1],Ti=+sn[1][0],qi=+sn[1][1]),qa()):Xi==null?null:[[Xi,hn],[Ti,qi]]},Cn.scale=function(sn){return arguments.length?(gt=+sn,qa()):gt},Cn.translate=function(sn){return arguments.length?(Bt=+sn[0],wr=+sn[1],qa()):[Bt,wr]},Cn.angle=function(sn){return arguments.length?(fi=sn%360*d,Fi=_(fi),xi=p(fi),qa()):fi*h},Cn.reflectX=function(sn){return arguments.length?(vr=sn?-1:1,qa()):vr<0},Cn.reflectY=function(sn){return arguments.length?(Ur=sn?-1:1,qa()):Ur<0},Cn.fitExtent=function(sn,Ua){return df(Cn,sn,Ua)},Cn.fitSize=function(sn,Ua){return Cu(Cn,sn,Ua)},Cn.fitWidth=function(sn,Ua){return Nf(Cn,sn,Ua)},Cn.fitHeight=function(sn,Ua){return Zc(Cn,sn,Ua)},Cn}function Rc(gt,Bt){var wr=Bt*Bt,vr=wr*wr;return[gt*(.8707-.131979*wr+vr*(-.013791+vr*(.003971*wr-.001529*vr))),Bt*(1.007226+wr*(.015085+vr*(-.044475+.028874*wr-.005916*vr)))]}Rc.invert=function(gt,Bt){var wr=Bt,vr=25,Ur;do{var fi=wr*wr,xi=fi*fi;wr-=Ur=(wr*(1.007226+fi*(.015085+xi*(-.044475+.028874*fi-.005916*xi)))-Bt)/(1.007226+fi*(.015085*3+xi*(-.044475*7+.028874*9*fi-.005916*11*xi)))}while(v(Ur)>o&&--vr>0);return[gt/(.8707+(fi=wr*wr)*(-.131979+fi*(-.013791+fi*fi*fi*(.003971-.001529*fi)))),wr]};function gc(){return Pu(Rc).scale(175.295)}function hl(gt,Bt){return[p(Bt)*_(gt),_(Bt)]}hl.invert=Pc(T);function iu(){return Pu(hl).scale(249.5).clipAngle(90+o)}function mc(gt,Bt){var wr=p(Bt),vr=1+p(gt)*wr;return[wr*_(gt)/vr,_(Bt)/vr]}mc.invert=Pc(function(gt){return 2*x(gt)});function Yc(){return Pu(mc).scale(250).clipAngle(142)}function nc(gt,Bt){return[A(g((u+Bt)/2)),-gt]}nc.invert=function(gt,Bt){return[-Bt,2*x(k(gt))-u]};function gf(){var gt=ru(nc),Bt=gt.center,wr=gt.rotate;return gt.center=function(vr){return arguments.length?Bt([-vr[1],vr[0]]):(vr=Bt(),[vr[1],-vr[0]])},gt.rotate=function(vr){return arguments.length?wr([vr[0],vr[1],vr.length>2?vr[2]+90:90]):(vr=wr(),[vr[0],vr[1],vr[2]-90])},wr([0,0,90]).scale(159.155)}e.geoAlbers=Qs,e.geoAlbersUsa=gd,e.geoArea=me,e.geoAzimuthalEqualArea=sv,e.geoAzimuthalEqualAreaRaw=vc,e.geoAzimuthalEquidistant=Uf,e.geoAzimuthalEquidistantRaw=Lf,e.geoBounds=Ne,e.geoCentroid=yr,e.geoCircle=jn,e.geoClipAntimeridian=Hr,e.geoClipCircle=an,e.geoClipExtent=Sa,e.geoClipRectangle=Fn,e.geoConicConformal=sh,e.geoConicConformalRaw=md,e.geoConicEqualArea=yu,e.geoConicEqualAreaRaw=ic,e.geoConicEquidistant=Lh,e.geoConicEquidistantRaw=xu,e.geoContains=ms,e.geoDistance=Cs,e.geoEqualEarth=Ph,e.geoEqualEarthRaw=pf,e.geoEquirectangular=_u,e.geoEquirectangularRaw=Fs,e.geoGnomonic=Ih,e.geoGnomonicRaw=Dl,e.geoGraticule=Qu,e.geoGraticule10=Rl,e.geoIdentity=Wu,e.geoInterpolate=vo,e.geoLength=wl,e.geoMercator=oh,e.geoMercatorRaw=Iu,e.geoNaturalEarth1=gc,e.geoNaturalEarth1Raw=Rc,e.geoOrthographic=iu,e.geoOrthographicRaw=hl,e.geoPath=kh,e.geoProjection=Pu,e.geoProjectionMutator=Lc,e.geoRotation=Gi,e.geoStereographic=Yc,e.geoStereographicRaw=mc,e.geoStream=W,e.geoTransform=Kh,e.geoTransverseMercator=gf,e.geoTransverseMercatorRaw=nc,Object.defineProperty(e,\"__esModule\",{value:!0})})});var bRe=ye((Az,xRe)=>{(function(e,t){typeof Az==\"object\"&&typeof xRe!=\"undefined\"?t(Az,xX(),$E()):t(e.d3=e.d3||{},e.d3,e.d3)})(Az,function(e,t,r){\"use strict\";var n=Math.abs,i=Math.atan,a=Math.atan2,o=Math.cos,s=Math.exp,l=Math.floor,u=Math.log,c=Math.max,f=Math.min,h=Math.pow,d=Math.round,v=Math.sign||function(he){return he>0?1:he<0?-1:0},x=Math.sin,b=Math.tan,p=1e-6,E=1e-12,k=Math.PI,A=k/2,L=k/4,_=Math.SQRT1_2,C=H(2),M=H(k),g=k*2,P=180/k,T=k/180;function F(he){return he?he/Math.sin(he):1}function q(he){return he>1?A:he<-1?-A:Math.asin(he)}function V(he){return he>1?0:he<-1?k:Math.acos(he)}function H(he){return he>0?Math.sqrt(he):0}function X(he){return he=s(2*he),(he-1)/(he+1)}function G(he){return(s(he)-s(-he))/2}function N(he){return(s(he)+s(-he))/2}function W(he){return u(he+H(he*he+1))}function re(he){return u(he+H(he*he-1))}function ae(he){var be=b(he/2),Pe=2*u(o(he/2))/(be*be);function Oe(Je,He){var et=o(Je),Mt=o(He),Dt=x(He),Ut=Mt*et,tr=-((1-Ut?u((1+Ut)/2)/(1-Ut):-.5)+Pe/(1+Ut));return[tr*Mt*x(Je),tr*Dt]}return Oe.invert=function(Je,He){var et=H(Je*Je+He*He),Mt=-he/2,Dt=50,Ut;if(!et)return[0,0];do{var tr=Mt/2,mr=o(tr),Rr=x(tr),zr=Rr/mr,Xr=-u(n(mr));Mt-=Ut=(2/zr*Xr-Pe*zr-et)/(-Xr/(Rr*Rr)+1-Pe/(2*mr*mr))*(mr<0?.7:1)}while(n(Ut)>p&&--Dt>0);var di=x(Mt);return[a(Je*di,et*o(Mt)),q(He*di/et)]},Oe}function _e(){var he=A,be=t.geoProjectionMutator(ae),Pe=be(he);return Pe.radius=function(Oe){return arguments.length?be(he=Oe*T):he*P},Pe.scale(179.976).clipAngle(147)}function Me(he,be){var Pe=o(be),Oe=F(V(Pe*o(he/=2)));return[2*Pe*x(he)*Oe,x(be)*Oe]}Me.invert=function(he,be){if(!(he*he+4*be*be>k*k+p)){var Pe=he,Oe=be,Je=25;do{var He=x(Pe),et=x(Pe/2),Mt=o(Pe/2),Dt=x(Oe),Ut=o(Oe),tr=x(2*Oe),mr=Dt*Dt,Rr=Ut*Ut,zr=et*et,Xr=1-Rr*Mt*Mt,di=Xr?V(Ut*Mt)*H(Li=1/Xr):Li=0,Li,Ci=2*di*Ut*et-he,Qi=di*Dt-be,Mn=Li*(Rr*zr+di*Ut*Mt*mr),pa=Li*(.5*He*tr-di*2*Dt*et),ea=Li*.25*(tr*et-di*Dt*Rr*He),Ga=Li*(mr*Mt+di*zr*Ut),To=pa*ea-Ga*Mn;if(!To)break;var Wa=(Qi*pa-Ci*Ga)/To,co=(Ci*ea-Qi*Mn)/To;Pe-=Wa,Oe-=co}while((n(Wa)>p||n(co)>p)&&--Je>0);return[Pe,Oe]}};function ke(){return t.geoProjection(Me).scale(152.63)}function ge(he){var be=x(he),Pe=o(he),Oe=he>=0?1:-1,Je=b(Oe*he),He=(1+be-Pe)/2;function et(Mt,Dt){var Ut=o(Dt),tr=o(Mt/=2);return[(1+Ut)*x(Mt),(Oe*Dt>-a(tr,Je)-.001?0:-Oe*10)+He+x(Dt)*Pe-(1+Ut)*be*tr]}return et.invert=function(Mt,Dt){var Ut=0,tr=0,mr=50;do{var Rr=o(Ut),zr=x(Ut),Xr=o(tr),di=x(tr),Li=1+Xr,Ci=Li*zr-Mt,Qi=He+di*Pe-Li*be*Rr-Dt,Mn=Li*Rr/2,pa=-zr*di,ea=be*Li*zr/2,Ga=Pe*Xr+be*Rr*di,To=pa*ea-Ga*Mn,Wa=(Qi*pa-Ci*Ga)/To/2,co=(Ci*ea-Qi*Mn)/To;n(co)>2&&(co/=2),Ut-=Wa,tr-=co}while((n(Wa)>p||n(co)>p)&&--mr>0);return Oe*tr>-a(o(Ut),Je)-.001?[Ut*2,tr]:null},et}function ie(){var he=20*T,be=he>=0?1:-1,Pe=b(be*he),Oe=t.geoProjectionMutator(ge),Je=Oe(he),He=Je.stream;return Je.parallel=function(et){return arguments.length?(Pe=b((be=(he=et*T)>=0?1:-1)*he),Oe(he)):he*P},Je.stream=function(et){var Mt=Je.rotate(),Dt=He(et),Ut=(Je.rotate([0,0]),He(et)),tr=Je.precision();return Je.rotate(Mt),Dt.sphere=function(){Ut.polygonStart(),Ut.lineStart();for(var mr=be*-180;be*mr<180;mr+=be*90)Ut.point(mr,be*90);if(he)for(;be*(mr-=3*be*tr)>=-180;)Ut.point(mr,be*-a(o(mr*T/2),Pe)*P);Ut.lineEnd(),Ut.polygonEnd()},Dt},Je.scale(218.695).center([0,28.0974])}function Te(he,be){var Pe=b(be/2),Oe=H(1-Pe*Pe),Je=1+Oe*o(he/=2),He=x(he)*Oe/Je,et=Pe/Je,Mt=He*He,Dt=et*et;return[4/3*He*(3+Mt-3*Dt),4/3*et*(3+3*Mt-Dt)]}Te.invert=function(he,be){if(he*=3/8,be*=3/8,!he&&n(be)>1)return null;var Pe=he*he,Oe=be*be,Je=1+Pe+Oe,He=H((Je-H(Je*Je-4*be*be))/2),et=q(He)/3,Mt=He?re(n(be/He))/3:W(n(he))/3,Dt=o(et),Ut=N(Mt),tr=Ut*Ut-Dt*Dt;return[v(he)*2*a(G(Mt)*Dt,.25-tr),v(be)*2*a(Ut*x(et),.25+tr)]};function Ee(){return t.geoProjection(Te).scale(66.1603)}var Ae=H(8),ze=u(1+C);function Ce(he,be){var Pe=n(be);return Pe<L?[he,u(b(L+be/2))]:[he*o(Pe)*(2*C-1/x(Pe)),v(be)*(2*C*(Pe-L)-u(b(Pe/2)))]}Ce.invert=function(he,be){if((He=n(be))<ze)return[he,2*i(s(be))-A];var Pe=L,Oe=25,Je,He;do{var et=o(Pe/2),Mt=b(Pe/2);Pe-=Je=(Ae*(Pe-L)-u(Mt)-He)/(Ae-et*et/(2*Mt))}while(n(Je)>E&&--Oe>0);return[he/(o(Pe)*(Ae-1/x(Pe))),v(be)*Pe]};function me(){return t.geoProjection(Ce).scale(112.314)}function Re(he){var be=2*k/he;function Pe(Oe,Je){var He=t.geoAzimuthalEquidistantRaw(Oe,Je);if(n(Oe)>A){var et=a(He[1],He[0]),Mt=H(He[0]*He[0]+He[1]*He[1]),Dt=be*d((et-A)/be)+A,Ut=a(x(et-=Dt),2-o(et));et=Dt+q(k/Mt*x(Ut))-Ut,He[0]=Mt*o(et),He[1]=Mt*x(et)}return He}return Pe.invert=function(Oe,Je){var He=H(Oe*Oe+Je*Je);if(He>A){var et=a(Je,Oe),Mt=be*d((et-A)/be)+A,Dt=et>Mt?-1:1,Ut=He*o(Mt-et),tr=1/b(Dt*V((Ut-k)/H(k*(k-2*Ut)+He*He)));et=Mt+2*i((tr+Dt*H(tr*tr-3))/3),Oe=He*o(et),Je=He*x(et)}return t.geoAzimuthalEquidistantRaw.invert(Oe,Je)},Pe}function ce(){var he=5,be=t.geoProjectionMutator(Re),Pe=be(he),Oe=Pe.stream,Je=.01,He=-o(Je*T),et=x(Je*T);return Pe.lobes=function(Mt){return arguments.length?be(he=+Mt):he},Pe.stream=function(Mt){var Dt=Pe.rotate(),Ut=Oe(Mt),tr=(Pe.rotate([0,0]),Oe(Mt));return Pe.rotate(Dt),Ut.sphere=function(){tr.polygonStart(),tr.lineStart();for(var mr=0,Rr=360/he,zr=2*k/he,Xr=90-180/he,di=A;mr<he;++mr,Xr-=Rr,di-=zr)tr.point(a(et*o(di),He)*P,q(et*x(di))*P),Xr<-90?(tr.point(-90,-180-Xr-Je),tr.point(-90,-180-Xr+Je)):(tr.point(90,Xr+Je),tr.point(90,Xr-Je));tr.lineEnd(),tr.polygonEnd()},Ut},Pe.scale(87.8076).center([0,17.1875]).clipAngle(180-.001)}function Ge(he,be){if(arguments.length<2&&(be=he),be===1)return t.geoAzimuthalEqualAreaRaw;if(be===1/0)return nt;function Pe(Oe,Je){var He=t.geoAzimuthalEqualAreaRaw(Oe/be,Je);return He[0]*=he,He}return Pe.invert=function(Oe,Je){var He=t.geoAzimuthalEqualAreaRaw.invert(Oe/he,Je);return He[0]*=be,He},Pe}function nt(he,be){return[he*o(be)/o(be/=2),2*x(be)]}nt.invert=function(he,be){var Pe=2*q(be/2);return[he*o(Pe/2)/o(Pe),Pe]};function ct(){var he=2,be=t.geoProjectionMutator(Ge),Pe=be(he);return Pe.coefficient=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(169.529)}function qt(he,be,Pe){var Oe=100,Je,He,et;Pe=Pe===void 0?0:+Pe,be=+be;do He=he(Pe),et=he(Pe+p),He===et&&(et=He+p),Pe-=Je=-1*p*(He-be)/(He-et);while(Oe-- >0&&n(Je)>p);return Oe<0?NaN:Pe}function rt(he,be,Pe){return be===void 0&&(be=40),Pe===void 0&&(Pe=E),function(Oe,Je,He,et){var Mt,Dt,Ut;He=He===void 0?0:+He,et=et===void 0?0:+et;for(var tr=0;tr<be;tr++){var mr=he(He,et),Rr=mr[0]-Oe,zr=mr[1]-Je;if(n(Rr)<Pe&&n(zr)<Pe)break;var Xr=Rr*Rr+zr*zr;if(Xr>Mt){He-=Dt/=2,et-=Ut/=2;continue}Mt=Xr;var di=(He>0?-1:1)*Pe,Li=(et>0?-1:1)*Pe,Ci=he(He+di,et),Qi=he(He,et+Li),Mn=(Ci[0]-mr[0])/di,pa=(Ci[1]-mr[1])/di,ea=(Qi[0]-mr[0])/Li,Ga=(Qi[1]-mr[1])/Li,To=Ga*Mn-pa*ea,Wa=(n(To)<.5?.5:1)/To;if(Dt=(zr*ea-Rr*Ga)*Wa,Ut=(Rr*pa-zr*Mn)*Wa,He+=Dt,et+=Ut,n(Dt)<Pe&&n(Ut)<Pe)break}return[He,et]}}function ot(){var he=Ge(1.68,2),be=1.4,Pe=12;function Oe(Je,He){if(Je+He<-be){var et=(Je-He+1.6)*(Je+He+be)/8;Je+=et,He-=.8*et*x(He+k/2)}var Mt=he(Je,He),Dt=(1-o(Je*He))/Pe;return Mt[1]<0&&(Mt[0]*=1+Dt),Mt[1]>0&&(Mt[1]*=1+Dt/1.5*Mt[0]*Mt[0]),Mt}return Oe.invert=rt(Oe),Oe}function Rt(){return t.geoProjection(ot()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function kt(he,be){var Pe=he*x(be),Oe=30,Je;do be-=Je=(be+x(be)-Pe)/(1+o(be));while(n(Je)>p&&--Oe>0);return be/2}function Ct(he,be,Pe){function Oe(Je,He){return[he*Je*o(He=kt(Pe,He)),be*x(He)]}return Oe.invert=function(Je,He){return He=q(He/be),[Je/(he*o(He)),q((2*He+x(2*He))/Pe)]},Oe}var Yt=Ct(C/A,C,k);function xr(){return t.geoProjection(Yt).scale(169.529)}var er=2.00276,Ke=1.11072;function xt(he,be){var Pe=kt(k,be);return[er*he/(1/o(be)+Ke/o(Pe)),(be+C*x(Pe))/er]}xt.invert=function(he,be){var Pe=er*be,Oe=be<0?-L:L,Je=25,He,et;do et=Pe-C*x(Oe),Oe-=He=(x(2*Oe)+2*Oe-k*x(et))/(2*o(2*Oe)+2+k*o(et)*C*o(Oe));while(n(He)>p&&--Je>0);return et=Pe-C*x(Oe),[he*(1/o(et)+Ke/o(Oe))/er,et]};function bt(){return t.geoProjection(xt).scale(160.857)}function Lt(he){var be=0,Pe=t.geoProjectionMutator(he),Oe=Pe(be);return Oe.parallel=function(Je){return arguments.length?Pe(be=Je*T):be*P},Oe}function St(he,be){return[he*o(be),be]}St.invert=function(he,be){return[he/o(be),be]};function Et(){return t.geoProjection(St).scale(152.63)}function dt(he){if(!he)return St;var be=1/b(he);function Pe(Oe,Je){var He=be+he-Je,et=He&&Oe*o(Je)/He;return[He*x(et),be-He*o(et)]}return Pe.invert=function(Oe,Je){var He=H(Oe*Oe+(Je=be-Je)*Je),et=be+he-He;return[He/o(et)*a(Oe,Je),et]},Pe}function Ht(){return Lt(dt).scale(123.082).center([0,26.1441]).parallel(45)}function $t(he){function be(Pe,Oe){var Je=A-Oe,He=Je&&Pe*he*x(Je)/Je;return[Je*x(He)/he,A-Je*o(He)]}return be.invert=function(Pe,Oe){var Je=Pe*he,He=A-Oe,et=H(Je*Je+He*He),Mt=a(Je,He);return[(et?et/x(et):1)*Mt/he,A-et]},be}function fr(){var he=.5,be=t.geoProjectionMutator($t),Pe=be(he);return Pe.fraction=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(158.837)}var _r=Ct(1,4/k,k);function Br(){return t.geoProjection(_r).scale(152.63)}function Or(he,be,Pe,Oe,Je,He){var et=o(He),Mt;if(n(he)>1||n(He)>1)Mt=V(Pe*Je+be*Oe*et);else{var Dt=x(he/2),Ut=x(He/2);Mt=2*q(H(Dt*Dt+be*Oe*Ut*Ut))}return n(Mt)>p?[Mt,a(Oe*x(He),be*Je-Pe*Oe*et)]:[0,0]}function Nr(he,be,Pe){return V((he*he+be*be-Pe*Pe)/(2*he*be))}function ut(he){return he-2*k*l((he+k)/(2*k))}function Ne(he,be,Pe){for(var Oe=[[he[0],he[1],x(he[1]),o(he[1])],[be[0],be[1],x(be[1]),o(be[1])],[Pe[0],Pe[1],x(Pe[1]),o(Pe[1])]],Je=Oe[2],He,et=0;et<3;++et,Je=He)He=Oe[et],Je.v=Or(He[1]-Je[1],Je[3],Je[2],He[3],He[2],He[0]-Je[0]),Je.point=[0,0];var Mt=Nr(Oe[0].v[0],Oe[2].v[0],Oe[1].v[0]),Dt=Nr(Oe[0].v[0],Oe[1].v[0],Oe[2].v[0]),Ut=k-Mt;Oe[2].point[1]=0,Oe[0].point[0]=-(Oe[1].point[0]=Oe[0].v[0]/2);var tr=[Oe[2].point[0]=Oe[0].point[0]+Oe[2].v[0]*o(Mt),2*(Oe[0].point[1]=Oe[1].point[1]=Oe[2].v[0]*x(Mt))];function mr(Rr,zr){var Xr=x(zr),di=o(zr),Li=new Array(3),Ci;for(Ci=0;Ci<3;++Ci){var Qi=Oe[Ci];if(Li[Ci]=Or(zr-Qi[1],Qi[3],Qi[2],di,Xr,Rr-Qi[0]),!Li[Ci][0])return Qi.point;Li[Ci][1]=ut(Li[Ci][1]-Qi.v[1])}var Mn=tr.slice();for(Ci=0;Ci<3;++Ci){var pa=Ci==2?0:Ci+1,ea=Nr(Oe[Ci].v[0],Li[Ci][0],Li[pa][0]);Li[Ci][1]<0&&(ea=-ea),Ci?Ci==1?(ea=Dt-ea,Mn[0]-=Li[Ci][0]*o(ea),Mn[1]-=Li[Ci][0]*x(ea)):(ea=Ut-ea,Mn[0]+=Li[Ci][0]*o(ea),Mn[1]+=Li[Ci][0]*x(ea)):(Mn[0]+=Li[Ci][0]*o(ea),Mn[1]-=Li[Ci][0]*x(ea))}return Mn[0]/=3,Mn[1]/=3,Mn}return mr}function Ye(he){return he[0]*=T,he[1]*=T,he}function Ve(){return Xe([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Xe(he,be,Pe){var Oe=t.geoCentroid({type:\"MultiPoint\",coordinates:[he,be,Pe]}),Je=[-Oe[0],-Oe[1]],He=t.geoRotation(Je),et=Ne(Ye(He(he)),Ye(He(be)),Ye(He(Pe)));et.invert=rt(et);var Mt=t.geoProjection(et).rotate(Je),Dt=Mt.center;return delete Mt.rotate,Mt.center=function(Ut){return arguments.length?Dt(He(Ut)):He.invert(Dt())},Mt.clipAngle(90)}function ht(he,be){var Pe=H(1-x(be));return[2/M*he*Pe,M*(1-Pe)]}ht.invert=function(he,be){var Pe=(Pe=be/M-1)*Pe;return[Pe>0?he*H(k/Pe)/2:0,q(1-Pe)]};function Le(){return t.geoProjection(ht).scale(95.6464).center([0,30])}function xe(he){var be=b(he);function Pe(Oe,Je){return[Oe,(Oe?Oe/x(Oe):1)*(x(Je)*o(Oe)-be*o(Je))]}return Pe.invert=be?function(Oe,Je){Oe&&(Je*=x(Oe)/Oe);var He=o(Oe);return[Oe,2*a(H(He*He+be*be-Je*Je)-He,be-Je)]}:function(Oe,Je){return[Oe,q(Oe?Je*b(Oe)/Oe:Je)]},Pe}function Se(){return Lt(xe).scale(249.828).clipAngle(90)}var lt=H(3);function Gt(he,be){return[lt*he*(2*o(2*be/3)-1)/M,lt*M*x(be/3)]}Gt.invert=function(he,be){var Pe=3*q(be/(lt*M));return[M*he/(lt*(2*o(2*Pe/3)-1)),Pe]};function Vt(){return t.geoProjection(Gt).scale(156.19)}function ar(he){var be=o(he);function Pe(Oe,Je){return[Oe*be,x(Je)/be]}return Pe.invert=function(Oe,Je){return[Oe/be,q(Je*be)]},Pe}function Qr(){return Lt(ar).parallel(38.58).scale(195.044)}function ai(he){var be=o(he);function Pe(Oe,Je){return[Oe*be,(1+be)*b(Je/2)]}return Pe.invert=function(Oe,Je){return[Oe/be,i(Je/(1+be))*2]},Pe}function jr(){return Lt(ai).scale(124.75)}function ri(he,be){var Pe=H(8/(3*k));return[Pe*he*(1-n(be)/k),Pe*be]}ri.invert=function(he,be){var Pe=H(8/(3*k)),Oe=be/Pe;return[he/(Pe*(1-n(Oe)/k)),Oe]};function bi(){return t.geoProjection(ri).scale(165.664)}function nn(he,be){var Pe=H(4-3*x(n(be)));return[2/H(6*k)*he*Pe,v(be)*H(2*k/3)*(2-Pe)]}nn.invert=function(he,be){var Pe=2-n(be)/H(2*k/3);return[he*H(6*k)/(2*Pe),v(be)*q((4-Pe*Pe)/3)]};function Wi(){return t.geoProjection(nn).scale(165.664)}function Ni(he,be){var Pe=H(k*(4+k));return[2/Pe*he*(1+H(1-4*be*be/(k*k))),4/Pe*be]}Ni.invert=function(he,be){var Pe=H(k*(4+k))/2;return[he*Pe/(1+H(1-be*be*(4+k)/(4*k))),be*Pe/2]};function _n(){return t.geoProjection(Ni).scale(180.739)}function $i(he,be){var Pe=(2+A)*x(be);be/=2;for(var Oe=0,Je=1/0;Oe<10&&n(Je)>p;Oe++){var He=o(be);be-=Je=(be+x(be)*(He+2)-Pe)/(2*He*(1+He))}return[2/H(k*(4+k))*he*(1+o(be)),2*H(k/(4+k))*x(be)]}$i.invert=function(he,be){var Pe=be*H((4+k)/k)/2,Oe=q(Pe),Je=o(Oe);return[he/(2/H(k*(4+k))*(1+Je)),q((Oe+Pe*(Je+2))/(2+A))]};function zn(){return t.geoProjection($i).scale(180.739)}function Wn(he,be){return[he*(1+o(be))/H(2+k),2*be/H(2+k)]}Wn.invert=function(he,be){var Pe=H(2+k),Oe=be*Pe/2;return[Pe*he/(1+o(Oe)),Oe]};function It(){return t.geoProjection(Wn).scale(173.044)}function ft(he,be){for(var Pe=(1+A)*x(be),Oe=0,Je=1/0;Oe<10&&n(Je)>p;Oe++)be-=Je=(be+x(be)-Pe)/(1+o(be));return Pe=H(2+k),[he*(1+o(be))/Pe,2*be/Pe]}ft.invert=function(he,be){var Pe=1+A,Oe=H(Pe/2);return[he*2*Oe/(1+o(be*=Oe)),q((be+x(be))/Pe)]};function jt(){return t.geoProjection(ft).scale(173.044)}var Zt=3+2*C;function yr(he,be){var Pe=x(he/=2),Oe=o(he),Je=H(o(be)),He=o(be/=2),et=x(be)/(He+C*Oe*Je),Mt=H(2/(1+et*et)),Dt=H((C*He+(Oe+Pe)*Je)/(C*He+(Oe-Pe)*Je));return[Zt*(Mt*(Dt-1/Dt)-2*u(Dt)),Zt*(Mt*et*(Dt+1/Dt)-2*i(et))]}yr.invert=function(he,be){if(!(He=Te.invert(he/1.2,be*1.065)))return null;var Pe=He[0],Oe=He[1],Je=20,He;he/=Zt,be/=Zt;do{var et=Pe/2,Mt=Oe/2,Dt=x(et),Ut=o(et),tr=x(Mt),mr=o(Mt),Rr=o(Oe),zr=H(Rr),Xr=tr/(mr+C*Ut*zr),di=Xr*Xr,Li=H(2/(1+di)),Ci=C*mr+(Ut+Dt)*zr,Qi=C*mr+(Ut-Dt)*zr,Mn=Ci/Qi,pa=H(Mn),ea=pa-1/pa,Ga=pa+1/pa,To=Li*ea-2*u(pa)-he,Wa=Li*Xr*Ga-2*i(Xr)-be,co=tr&&_*zr*Dt*di/tr,Ro=(C*Ut*mr+zr)/(2*(mr+C*Ut*zr)*(mr+C*Ut*zr)*zr),Ds=-.5*Xr*Li*Li*Li,As=Ds*co,yo=Ds*Ro,po=(po=2*mr+C*zr*(Ut-Dt))*po*pa,_l=(C*Ut*mr*zr+Rr)/po,Hl=-(C*Dt*tr)/(zr*po),Zu=ea*As-2*_l/pa+Li*(_l+_l/Mn),cu=ea*yo-2*Hl/pa+Li*(Hl+Hl/Mn),el=Xr*Ga*As-2*co/(1+di)+Li*Ga*co+Li*Xr*(_l-_l/Mn),au=Xr*Ga*yo-2*Ro/(1+di)+Li*Ga*Ro+Li*Xr*(Hl-Hl/Mn),zc=cu*el-au*Zu;if(!zc)break;var zl=(Wa*cu-To*au)/zc,Fl=(To*el-Wa*Zu)/zc;Pe-=zl,Oe=c(-A,f(A,Oe-Fl))}while((n(zl)>p||n(Fl)>p)&&--Je>0);return n(n(Oe)-A)<p?[0,Oe]:Je&&[Pe,Oe]};function Fr(){return t.geoProjection(yr).scale(62.5271)}var Zr=o(35*T);function Vr(he,be){var Pe=b(be/2);return[he*Zr*H(1-Pe*Pe),(1+Zr)*Pe]}Vr.invert=function(he,be){var Pe=be/(1+Zr);return[he&&he/(Zr*H(1-Pe*Pe)),2*i(Pe)]};function gi(){return t.geoProjection(Vr).scale(137.152)}function Si(he,be){var Pe=be/2,Oe=o(Pe);return[2*he/M*o(be)*Oe*Oe,M*b(Pe)]}Si.invert=function(he,be){var Pe=i(be/M),Oe=o(Pe),Je=2*Pe;return[he*M/2/(o(Je)*Oe*Oe),Je]};function Mi(){return t.geoProjection(Si).scale(135.264)}function Pi(he){var be=1-he,Pe=He(k,0)[0]-He(-k,0)[0],Oe=He(0,A)[1]-He(0,-A)[1],Je=H(2*Oe/Pe);function He(Dt,Ut){var tr=o(Ut),mr=x(Ut);return[tr/(be+he*tr)*Dt,be*Ut+he*mr]}function et(Dt,Ut){var tr=He(Dt,Ut);return[tr[0]*Je,tr[1]/Je]}function Mt(Dt){return et(0,Dt)[1]}return et.invert=function(Dt,Ut){var tr=qt(Mt,Ut),mr=Dt/Je*(he+be/o(tr));return[mr,tr]},et}function Gi(){var he=.5,be=t.geoProjectionMutator(Pi),Pe=be(he);return Pe.alpha=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(168.725)}function Ki(he){return[he[0]/2,q(b(he[1]/2*T))*P]}function ka(he){return[he[0]*2,2*i(x(he[1]*T))*P]}function jn(he){he==null&&(he=t.geoOrthographic);var be=he(),Pe=t.geoEquirectangular().scale(P).precision(0).clipAngle(null).translate([0,0]);function Oe(He){return be(Ki(He))}be.invert&&(Oe.invert=function(He){return ka(be.invert(He))}),Oe.stream=function(He){var et=be.stream(He),Mt=Pe.stream({point:function(Dt,Ut){et.point(Dt/2,q(b(-Ut/2*T))*P)},lineStart:function(){et.lineStart()},lineEnd:function(){et.lineEnd()},polygonStart:function(){et.polygonStart()},polygonEnd:function(){et.polygonEnd()}});return Mt.sphere=et.sphere,Mt};function Je(He){Oe[He]=function(){return arguments.length?(be[He].apply(be,arguments),Oe):be[He]()}}return Oe.rotate=function(He){return arguments.length?(Pe.rotate(He),Oe):Pe.rotate()},Oe.center=function(He){return arguments.length?(be.center(Ki(He)),Oe):ka(be.center())},Je(\"angle\"),Je(\"clipAngle\"),Je(\"clipExtent\"),Je(\"fitExtent\"),Je(\"fitHeight\"),Je(\"fitSize\"),Je(\"fitWidth\"),Je(\"scale\"),Je(\"translate\"),Je(\"precision\"),Oe.scale(249.5)}function la(he,be){var Pe=2*k/be,Oe=he*he;function Je(He,et){var Mt=t.geoAzimuthalEquidistantRaw(He,et),Dt=Mt[0],Ut=Mt[1],tr=Dt*Dt+Ut*Ut;if(tr>Oe){var mr=H(tr),Rr=a(Ut,Dt),zr=Pe*d(Rr/Pe),Xr=Rr-zr,di=he*o(Xr),Li=(he*x(Xr)-Xr*x(di))/(A-di),Ci=Fa(Xr,Li),Qi=(k-he)/Ra(Ci,di,k);Dt=mr;var Mn=50,pa;do Dt-=pa=(he+Ra(Ci,di,Dt)*Qi-mr)/(Ci(Dt)*Qi);while(n(pa)>p&&--Mn>0);Ut=Xr*x(Dt),Dt<A&&(Ut-=Li*(Dt-A));var ea=x(zr),Ga=o(zr);Mt[0]=Dt*Ga-Ut*ea,Mt[1]=Dt*ea+Ut*Ga}return Mt}return Je.invert=function(He,et){var Mt=He*He+et*et;if(Mt>Oe){var Dt=H(Mt),Ut=a(et,He),tr=Pe*d(Ut/Pe),mr=Ut-tr;He=Dt*o(mr),et=Dt*x(mr);for(var Rr=He-A,zr=x(He),Xr=et/zr,di=He<A?1/0:0,Li=10;;){var Ci=he*x(Xr),Qi=he*o(Xr),Mn=x(Qi),pa=A-Qi,ea=(Ci-Xr*Mn)/pa,Ga=Fa(Xr,ea);if(n(di)<E||!--Li)break;Xr-=di=(Xr*zr-ea*Rr-et)/(zr-Rr*2*(pa*(Qi+Xr*Ci*o(Qi)-Mn)-Ci*(Ci-Xr*Mn))/(pa*pa))}Dt=he+Ra(Ga,Qi,He)*(k-he)/Ra(Ga,Qi,k),Ut=tr+Xr,He=Dt*o(Ut),et=Dt*x(Ut)}return t.geoAzimuthalEquidistantRaw.invert(He,et)},Je}function Fa(he,be){return function(Pe){var Oe=he*o(Pe);return Pe<A&&(Oe-=be),H(1+Oe*Oe)}}function Ra(he,be,Pe){for(var Oe=50,Je=(Pe-be)/Oe,He=he(be)+he(Pe),et=1,Mt=be;et<Oe;++et)He+=2*he(Mt+=Je);return He*.5*Je}function jo(){var he=6,be=30*T,Pe=o(be),Oe=x(be),Je=t.geoProjectionMutator(la),He=Je(be,he),et=He.stream,Mt=.01,Dt=-o(Mt*T),Ut=x(Mt*T);return He.radius=function(tr){return arguments.length?(Pe=o(be=tr*T),Oe=x(be),Je(be,he)):be*P},He.lobes=function(tr){return arguments.length?Je(be,he=+tr):he},He.stream=function(tr){var mr=He.rotate(),Rr=et(tr),zr=(He.rotate([0,0]),et(tr));return He.rotate(mr),Rr.sphere=function(){zr.polygonStart(),zr.lineStart();for(var Xr=0,di=2*k/he,Li=0;Xr<he;++Xr,Li-=di)zr.point(a(Ut*o(Li),Dt)*P,q(Ut*x(Li))*P),zr.point(a(Oe*o(Li-di/2),Pe)*P,q(Oe*x(Li-di/2))*P);zr.lineEnd(),zr.polygonEnd()},Rr},He.rotate([90,-40]).scale(91.7095).clipAngle(180-.001)}function oa(he,be,Pe,Oe,Je,He,et,Mt){arguments.length<8&&(Mt=0);function Dt(Ut,tr){if(!tr)return[he*Ut/k,0];var mr=tr*tr,Rr=he+mr*(be+mr*(Pe+mr*Oe)),zr=tr*(Je-1+mr*(He-Mt+mr*et)),Xr=(Rr*Rr+zr*zr)/(2*zr),di=Ut*q(Rr/Xr)/k;return[Xr*x(di),tr*(1+mr*Mt)+Xr*(1-o(di))]}return Dt.invert=function(Ut,tr){var mr=k*Ut/he,Rr=tr,zr,Xr,di=50;do{var Li=Rr*Rr,Ci=he+Li*(be+Li*(Pe+Li*Oe)),Qi=Rr*(Je-1+Li*(He-Mt+Li*et)),Mn=Ci*Ci+Qi*Qi,pa=2*Qi,ea=Mn/pa,Ga=ea*ea,To=q(Ci/ea)/k,Wa=mr*To,co=Ci*Ci,Ro=(2*be+Li*(4*Pe+Li*6*Oe))*Rr,Ds=Je+Li*(3*He+Li*5*et),As=2*(Ci*Ro+Qi*(Ds-1)),yo=2*(Ds-1),po=(As*pa-Mn*yo)/(pa*pa),_l=o(Wa),Hl=x(Wa),Zu=ea*_l,cu=ea*Hl,el=mr/k*(1/H(1-co/Ga))*(Ro*ea-Ci*po)/Ga,au=cu-Ut,zc=Rr*(1+Li*Mt)+ea-Zu-tr,zl=po*Hl+Zu*el,Fl=Zu*To,Z=1+po-(po*_l-cu*el),oe=cu*To,we=zl*oe-Z*Fl;if(!we)break;mr-=zr=(zc*zl-au*Z)/we,Rr-=Xr=(au*oe-zc*Fl)/we}while((n(zr)>p||n(Xr)>p)&&--di>0);return[mr,Rr]},Dt}var Sn=oa(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function Ha(){return t.geoProjection(Sn).scale(149.995)}var oo=oa(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function xn(){return t.geoProjection(oo).scale(153.93)}var _t=oa(5/6*k,-.62636,-.0344,0,1.3493,-.05524,0,.045);function br(){return t.geoProjection(_t).scale(130.945)}function Hr(he,be){var Pe=he*he,Oe=be*be;return[he*(1-.162388*Oe)*(.87-952426e-9*Pe*Pe),be*(1+Oe/12)]}Hr.invert=function(he,be){var Pe=he,Oe=be,Je=50,He;do{var et=Oe*Oe;Oe-=He=(Oe*(1+et/12)-be)/(1+et/4)}while(n(He)>p&&--Je>0);Je=50,he/=1-.162388*et;do{var Mt=(Mt=Pe*Pe)*Mt;Pe-=He=(Pe*(.87-952426e-9*Mt)-he)/(.87-.00476213*Mt)}while(n(He)>p&&--Je>0);return[Pe,Oe]};function ti(){return t.geoProjection(Hr).scale(131.747)}var zi=oa(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Yi(){return t.geoProjection(zi).scale(131.087)}function an(he){var be=he(A,0)[0]-he(-A,0)[0];function Pe(Oe,Je){var He=Oe>0?-.5:.5,et=he(Oe+He*k,Je);return et[0]-=He*be,et}return he.invert&&(Pe.invert=function(Oe,Je){var He=Oe>0?-.5:.5,et=he.invert(Oe+He*be,Je),Mt=et[0]-He*k;return Mt<-k?Mt+=2*k:Mt>k&&(Mt-=2*k),et[0]=Mt,et}),Pe}function hi(he,be){var Pe=v(he),Oe=v(be),Je=o(be),He=o(he)*Je,et=x(he)*Je,Mt=x(Oe*be);he=n(a(et,Mt)),be=q(He),n(he-A)>p&&(he%=A);var Dt=Ji(he>k/4?A-he:he,be);return he>k/4&&(Mt=Dt[0],Dt[0]=-Dt[1],Dt[1]=-Mt),Dt[0]*=Pe,Dt[1]*=-Oe,Dt}hi.invert=function(he,be){n(he)>1&&(he=v(he)*2-he),n(be)>1&&(be=v(be)*2-be);var Pe=v(he),Oe=v(be),Je=-Pe*he,He=-Oe*be,et=He/Je<1,Mt=ua(et?He:Je,et?Je:He),Dt=Mt[0],Ut=Mt[1],tr=o(Ut);return et&&(Dt=-A-Dt),[Pe*(a(x(Dt)*tr,-x(Ut))+k),Oe*q(o(Dt)*tr)]};function Ji(he,be){if(be===A)return[0,0];var Pe=x(be),Oe=Pe*Pe,Je=Oe*Oe,He=1+Je,et=1+3*Je,Mt=1-Je,Dt=q(1/H(He)),Ut=Mt+Oe*He*Dt,tr=(1-Pe)/Ut,mr=H(tr),Rr=tr*He,zr=H(Rr),Xr=mr*Mt,di,Li;if(he===0)return[0,-(Xr+Oe*zr)];var Ci=o(be),Qi=1/Ci,Mn=2*Pe*Ci,pa=(-3*Oe+Dt*et)*Mn,ea=(-Ut*Ci-(1-Pe)*pa)/(Ut*Ut),Ga=.5*ea/mr,To=Mt*Ga-2*Oe*mr*Mn,Wa=Oe*He*ea+tr*et*Mn,co=-Qi*Mn,Ro=-Qi*Wa,Ds=-2*Qi*To,As=4*he/k,yo;if(he>.222*k||be<k/4&&he>.175*k){if(di=(Xr+Oe*H(Rr*(1+Je)-Xr*Xr))/(1+Je),he>k/4)return[di,di];var po=di,_l=.5*di;di=.5*(_l+po),Li=50;do{var Hl=H(Rr-di*di),Zu=di*(Ds+co*Hl)+Ro*q(di/zr)-As;if(!Zu)break;Zu<0?_l=di:po=di,di=.5*(_l+po)}while(n(po-_l)>p&&--Li>0)}else{di=p,Li=25;do{var cu=di*di,el=H(Rr-cu),au=Ds+co*el,zc=di*au+Ro*q(di/zr)-As,zl=au+(Ro-co*cu)/el;di-=yo=el?zc/zl:0}while(n(yo)>p&&--Li>0)}return[di,-Xr-Oe*H(Rr-di*di)]}function ua(he,be){for(var Pe=0,Oe=1,Je=.5,He=50;;){var et=Je*Je,Mt=H(Je),Dt=q(1/H(1+et)),Ut=1-et+Je*(1+et)*Dt,tr=(1-Mt)/Ut,mr=H(tr),Rr=tr*(1+et),zr=mr*(1-et),Xr=Rr-he*he,di=H(Xr),Li=be+zr+Je*di;if(n(Oe-Pe)<E||--He===0||Li===0)break;Li>0?Pe=Je:Oe=Je,Je=.5*(Pe+Oe)}if(!He)return null;var Ci=q(Mt),Qi=o(Ci),Mn=1/Qi,pa=2*Mt*Qi,ea=(-3*Je+Dt*(1+3*et))*pa,Ga=(-Ut*Qi-(1-Mt)*ea)/(Ut*Ut),To=.5*Ga/mr,Wa=(1-et)*To-2*Je*mr*pa,co=-2*Mn*Wa,Ro=-Mn*pa,Ds=-Mn*(Je*(1+et)*Ga+tr*(1+3*et)*pa);return[k/4*(he*(co+Ro*di)+Ds*q(he/H(Rr))),Ci]}function Fn(){return t.geoProjection(an(hi)).scale(239.75)}function Sa(he,be,Pe){var Oe,Je,He;return he?(Oe=go(he,Pe),be?(Je=go(be,1-Pe),He=Je[1]*Je[1]+Pe*Oe[0]*Oe[0]*Je[0]*Je[0],[[Oe[0]*Je[2]/He,Oe[1]*Oe[2]*Je[0]*Je[1]/He],[Oe[1]*Je[1]/He,-Oe[0]*Oe[2]*Je[0]*Je[2]/He],[Oe[2]*Je[1]*Je[2]/He,-Pe*Oe[0]*Oe[1]*Je[0]/He]]):[[Oe[0],0],[Oe[1],0],[Oe[2],0]]):(Je=go(be,1-Pe),[[0,Je[0]/Je[1]],[1/Je[1],0],[Je[2]/Je[1],0]])}function go(he,be){var Pe,Oe,Je,He,et;if(be<p)return He=x(he),Oe=o(he),Pe=be*(he-He*Oe)/4,[He-Pe*Oe,Oe+Pe*He,1-be*He*He/2,he-Pe];if(be>=1-p)return Pe=(1-be)/4,Oe=N(he),He=X(he),Je=1/Oe,et=Oe*G(he),[He+Pe*(et-he)/(Oe*Oe),Je-Pe*He*Je*(et-he),Je+Pe*He*Je*(et+he),2*i(s(he))-A+Pe*(et-he)/Oe];var Mt=[1,0,0,0,0,0,0,0,0],Dt=[H(be),0,0,0,0,0,0,0,0],Ut=0;for(Oe=H(1-be),et=1;n(Dt[Ut]/Mt[Ut])>p&&Ut<8;)Pe=Mt[Ut++],Dt[Ut]=(Pe-Oe)/2,Mt[Ut]=(Pe+Oe)/2,Oe=H(Pe*Oe),et*=2;Je=et*Mt[Ut]*he;do He=Dt[Ut]*x(Oe=Je)/Mt[Ut],Je=(q(He)+Je)/2;while(--Ut);return[x(Je),He=o(Je),He/o(Je-Oe),Je]}function Oo(he,be,Pe){var Oe=n(he),Je=n(be),He=G(Je);if(Oe){var et=1/x(Oe),Mt=1/(b(Oe)*b(Oe)),Dt=-(Mt+Pe*(He*He*et*et)-1+Pe),Ut=(Pe-1)*Mt,tr=(-Dt+H(Dt*Dt-4*Ut))/2;return[ho(i(1/H(tr)),Pe)*v(he),ho(i(H((tr/Mt-1)/Pe)),1-Pe)*v(be)]}return[0,ho(i(He),1-Pe)*v(be)]}function ho(he,be){if(!be)return he;if(be===1)return u(b(he/2+L));for(var Pe=1,Oe=H(1-be),Je=H(be),He=0;n(Je)>p;He++){if(he%k){var et=i(Oe*b(he)/Pe);et<0&&(et+=k),he+=et+~~(he/k)*k}else he+=he;Je=(Pe+Oe)/2,Oe=H(Pe*Oe),Je=((Pe=Je)-Oe)/2}return he/(h(2,He)*Pe)}function Mo(he,be){var Pe=(C-1)/(C+1),Oe=H(1-Pe*Pe),Je=ho(A,Oe*Oe),He=-1,et=u(b(k/4+n(be)/2)),Mt=s(He*et)/H(Pe),Dt=xo(Mt*o(He*he),Mt*x(He*he)),Ut=Oo(Dt[0],Dt[1],Oe*Oe);return[-Ut[1],(be>=0?1:-1)*(.5*Je-Ut[0])]}function xo(he,be){var Pe=he*he,Oe=be+1,Je=1-Pe-be*be;return[.5*((he>=0?A:-A)-a(Je,2*he)),-.25*u(Je*Je+4*Pe)+.5*u(Oe*Oe+Pe)]}function zs(he,be){var Pe=be[0]*be[0]+be[1]*be[1];return[(he[0]*be[0]+he[1]*be[1])/Pe,(he[1]*be[0]-he[0]*be[1])/Pe]}Mo.invert=function(he,be){var Pe=(C-1)/(C+1),Oe=H(1-Pe*Pe),Je=ho(A,Oe*Oe),He=-1,et=Sa(.5*Je-be,-he,Oe*Oe),Mt=zs(et[0],et[1]),Dt=a(Mt[1],Mt[0])/He;return[Dt,2*i(s(.5/He*u(Pe*Mt[0]*Mt[0]+Pe*Mt[1]*Mt[1])))-A]};function ks(){return t.geoProjection(an(Mo)).scale(151.496)}function Zs(he){var be=x(he),Pe=o(he),Oe=Xs(he);Oe.invert=Xs(-he);function Je(He,et){var Mt=Oe(He,et);He=Mt[0],et=Mt[1];var Dt=x(et),Ut=o(et),tr=o(He),mr=V(be*Dt+Pe*Ut*tr),Rr=x(mr),zr=n(Rr)>p?mr/Rr:1;return[zr*Pe*x(He),(n(He)>A?zr:-zr)*(be*Ut-Pe*Dt*tr)]}return Je.invert=function(He,et){var Mt=H(He*He+et*et),Dt=-x(Mt),Ut=o(Mt),tr=Mt*Ut,mr=-et*Dt,Rr=Mt*be,zr=H(tr*tr+mr*mr-Rr*Rr),Xr=a(tr*Rr+mr*zr,mr*Rr-tr*zr),di=(Mt>A?-1:1)*a(He*Dt,Mt*o(Xr)*Ut+et*x(Xr)*Dt);return Oe.invert(di,Xr)},Je}function Xs(he){var be=x(he),Pe=o(he);return function(Oe,Je){var He=o(Je),et=o(Oe)*He,Mt=x(Oe)*He,Dt=x(Je);return[a(Mt,et*Pe-Dt*be),q(Dt*Pe+et*be)]}}function wl(){var he=0,be=t.geoProjectionMutator(Zs),Pe=be(he),Oe=Pe.rotate,Je=Pe.stream,He=t.geoCircle();return Pe.parallel=function(et){if(!arguments.length)return he*P;var Mt=Pe.rotate();return be(he=et*T).rotate(Mt)},Pe.rotate=function(et){return arguments.length?(Oe.call(Pe,[et[0],et[1]-he*P]),He.center([-et[0],-et[1]]),Pe):(et=Oe.call(Pe),et[1]+=he*P,et)},Pe.stream=function(et){return et=Je(et),et.sphere=function(){et.polygonStart();var Mt=.01,Dt=He.radius(90-Mt)().coordinates[0],Ut=Dt.length-1,tr=-1,mr;for(et.lineStart();++tr<Ut;)et.point((mr=Dt[tr])[0],mr[1]);for(et.lineEnd(),Dt=He.radius(90+Mt)().coordinates[0],Ut=Dt.length-1,et.lineStart();--tr>=0;)et.point((mr=Dt[tr])[0],mr[1]);et.lineEnd(),et.polygonEnd()},et},Pe.scale(79.4187).parallel(45).clipAngle(180-.001)}var os=3,cl=q(1-1/os)*P,Cs=ar(0);function ml(he){var be=cl*T,Pe=ht(k,be)[0]-ht(-k,be)[0],Oe=Cs(0,be)[1],Je=ht(0,be)[1],He=M-Je,et=g/he,Mt=4/g,Dt=Oe+He*He*4/g;function Ut(tr,mr){var Rr,zr=n(mr);if(zr>be){var Xr=f(he-1,c(0,l((tr+k)/et)));tr+=k*(he-1)/he-Xr*et,Rr=ht(tr,zr),Rr[0]=Rr[0]*g/Pe-g*(he-1)/(2*he)+Xr*g/he,Rr[1]=Oe+(Rr[1]-Je)*4*He/g,mr<0&&(Rr[1]=-Rr[1])}else Rr=Cs(tr,mr);return Rr[0]*=Mt,Rr[1]/=Dt,Rr}return Ut.invert=function(tr,mr){tr/=Mt,mr*=Dt;var Rr=n(mr);if(Rr>Oe){var zr=f(he-1,c(0,l((tr+k)/et)));tr=(tr+k*(he-1)/he-zr*et)*Pe/g;var Xr=ht.invert(tr,.25*(Rr-Oe)*g/He+Je);return Xr[0]-=k*(he-1)/he-zr*et,mr<0&&(Xr[1]=-Xr[1]),Xr}return Cs.invert(tr,mr)},Ut}function Ys(he,be){return[he,be&1?90-p:cl]}function Hs(he,be){return[he,be&1?-90+p:-cl]}function Eo(he){return[he[0]*(1-p),he[1]]}function fs(he){var be=[].concat(r.range(-180,180+he/2,he).map(Ys),r.range(180,-180-he/2,-he).map(Hs));return{type:\"Polygon\",coordinates:[he===180?be.map(Eo):be]}}function Ql(){var he=4,be=t.geoProjectionMutator(ml),Pe=be(he),Oe=Pe.stream;return Pe.lobes=function(Je){return arguments.length?be(he=+Je):he},Pe.stream=function(Je){var He=Pe.rotate(),et=Oe(Je),Mt=(Pe.rotate([0,0]),Oe(Je));return Pe.rotate(He),et.sphere=function(){t.geoStream(fs(180/he),Mt)},et},Pe.scale(239.75)}function Hu(he){var be=1+he,Pe=x(1/be),Oe=q(Pe),Je=2*H(k/(He=k+4*Oe*be)),He,et=.5*Je*(be+H(he*(2+he))),Mt=he*he,Dt=be*be;function Ut(tr,mr){var Rr=1-x(mr),zr,Xr;if(Rr&&Rr<2){var di=A-mr,Li=25,Ci;do{var Qi=x(di),Mn=o(di),pa=Oe+a(Qi,be-Mn),ea=1+Dt-2*be*Mn;di-=Ci=(di-Mt*Oe-be*Qi+ea*pa-.5*Rr*He)/(2*be*Qi*pa)}while(n(Ci)>E&&--Li>0);zr=Je*H(ea),Xr=tr*pa/k}else zr=Je*(he+Rr),Xr=tr*Oe/k;return[zr*x(Xr),et-zr*o(Xr)]}return Ut.invert=function(tr,mr){var Rr=tr*tr+(mr-=et)*mr,zr=(1+Dt-Rr/(Je*Je))/(2*be),Xr=V(zr),di=x(Xr),Li=Oe+a(di,be-zr);return[q(tr/H(Rr))*k/Li,q(1-2*(Xr-Mt*Oe-be*di+(1+Dt-2*be*zr)*Li)/He)]},Ut}function fc(){var he=1,be=t.geoProjectionMutator(Hu),Pe=be(he);return Pe.ratio=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(167.774).center([0,18.67])}var ms=.7109889596207567,on=.0528035274542;function fa(he,be){return be>-ms?(he=Yt(he,be),he[1]+=on,he):St(he,be)}fa.invert=function(he,be){return be>-ms?Yt.invert(he,be-on):St.invert(he,be)};function Qu(){return t.geoProjection(fa).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function Rl(he,be){return n(be)>ms?(he=Yt(he,be),he[1]-=be>0?on:-on,he):St(he,be)}Rl.invert=function(he,be){return n(be)>ms?Yt.invert(he,be+(be>0?on:-on)):St.invert(he,be)};function vo(){return t.geoProjection(Rl).scale(152.63)}function Zl(he,be,Pe,Oe){var Je=H(4*k/(2*Pe+(1+he-be/2)*x(2*Pe)+(he+be)/2*x(4*Pe)+be/2*x(6*Pe))),He=H(Oe*x(Pe)*H((1+he*o(2*Pe)+be*o(4*Pe))/(1+he+be))),et=Pe*Dt(1);function Mt(mr){return H(1+he*o(2*mr)+be*o(4*mr))}function Dt(mr){var Rr=mr*Pe;return(2*Rr+(1+he-be/2)*x(2*Rr)+(he+be)/2*x(4*Rr)+be/2*x(6*Rr))/Pe}function Ut(mr){return Mt(mr)*x(mr)}var tr=function(mr,Rr){var zr=Pe*qt(Dt,et*x(Rr)/Pe,Rr/k);isNaN(zr)&&(zr=Pe*v(Rr));var Xr=Je*Mt(zr);return[Xr*He*mr/k*o(zr),Xr/He*x(zr)]};return tr.invert=function(mr,Rr){var zr=qt(Ut,Rr*He/Je);return[mr*k/(o(zr)*Je*He*Mt(zr)),q(Pe*Dt(zr/Pe)/et)]},Pe===0&&(Je=H(Oe/k),tr=function(mr,Rr){return[mr*Je,x(Rr)/Je]},tr.invert=function(mr,Rr){return[mr/Je,q(Rr*Je)]}),tr}function Ks(){var he=1,be=0,Pe=45*T,Oe=2,Je=t.geoProjectionMutator(Zl),He=Je(he,be,Pe,Oe);return He.a=function(et){return arguments.length?Je(he=+et,be,Pe,Oe):he},He.b=function(et){return arguments.length?Je(he,be=+et,Pe,Oe):be},He.psiMax=function(et){return arguments.length?Je(he,be,Pe=+et*T,Oe):Pe*P},He.ratio=function(et){return arguments.length?Je(he,be,Pe,Oe=+et):Oe},He.scale(180.739)}function Xl(he,be,Pe,Oe,Je,He,et,Mt,Dt,Ut,tr){if(tr.nanEncountered)return NaN;var mr,Rr,zr,Xr,di,Li,Ci,Qi,Mn,pa;if(mr=Pe-be,Rr=he(be+mr*.25),zr=he(Pe-mr*.25),isNaN(Rr)){tr.nanEncountered=!0;return}if(isNaN(zr)){tr.nanEncountered=!0;return}return Xr=mr*(Oe+4*Rr+Je)/12,di=mr*(Je+4*zr+He)/12,Li=Xr+di,pa=(Li-et)/15,Ut>Dt?(tr.maxDepthCount++,Li+pa):Math.abs(pa)<Mt?Li+pa:(Ci=be+mr*.5,Qi=Xl(he,be,Ci,Oe,Rr,Je,Xr,Mt*.5,Dt,Ut+1,tr),isNaN(Qi)?(tr.nanEncountered=!0,NaN):(Mn=Xl(he,Ci,Pe,Je,zr,He,di,Mt*.5,Dt,Ut+1,tr),isNaN(Mn)?(tr.nanEncountered=!0,NaN):Qi+Mn))}function Ec(he,be,Pe,Oe,Je){var He={maxDepthCount:0,nanEncountered:!1};Oe===void 0&&(Oe=1e-8),Je===void 0&&(Je=20);var et=he(be),Mt=he(.5*(be+Pe)),Dt=he(Pe),Ut=(et+4*Mt+Dt)*(Pe-be)/6,tr=Xl(he,be,Pe,et,Mt,Dt,Ut,Oe,Je,1,He);return tr}function Zn(he,be,Pe){function Oe(zr){return he+(1-he)*h(1-h(zr,be),1/be)}function Je(zr){return Ec(Oe,0,zr,1e-4)}for(var He=1/Je(1),et=1e3,Mt=(1+1e-8)*He,Dt=[],Ut=0;Ut<=et;Ut++)Dt.push(Je(Ut/et)*Mt);function tr(zr){var Xr=0,di=et,Li=et>>1;do Dt[Li]>zr?di=Li:Xr=Li,Li=Xr+di>>1;while(Li>Xr);var Ci=Dt[Li+1]-Dt[Li];return Ci&&(Ci=(zr-Dt[Li+1])/Ci),(Li+1+Ci)/et}var mr=2*tr(1)/k*He/Pe,Rr=function(zr,Xr){var di=tr(n(x(Xr))),Li=Oe(di)*zr;return di/=mr,[Li,Xr>=0?di:-di]};return Rr.invert=function(zr,Xr){var di;return Xr*=mr,n(Xr)<1&&(di=v(Xr)*q(Je(n(Xr))*He)),[zr/Oe(n(Xr)),di]},Rr}function ko(){var he=0,be=2.5,Pe=1.183136,Oe=t.geoProjectionMutator(Zn),Je=Oe(he,be,Pe);return Je.alpha=function(He){return arguments.length?Oe(he=+He,be,Pe):he},Je.k=function(He){return arguments.length?Oe(he,be=+He,Pe):be},Je.gamma=function(He){return arguments.length?Oe(he,be,Pe=+He):Pe},Je.scale(152.63)}function Co(he,be){return n(he[0]-be[0])<p&&n(he[1]-be[1])<p}function Tl(he,be){for(var Pe=-1,Oe=he.length,Je=he[0],He,et,Mt,Dt=[];++Pe<Oe;){He=he[Pe],et=(He[0]-Je[0])/be,Mt=(He[1]-Je[1])/be;for(var Ut=0;Ut<be;++Ut)Dt.push([Je[0]+Ut*et,Je[1]+Ut*Mt]);Je=He}return Dt.push(He),Dt}function uf(he){var be=[],Pe,Oe,Je,He,et,Mt,Dt,Ut=he[0].length;for(Dt=0;Dt<Ut;++Dt)Pe=he[0][Dt],Oe=Pe[0][0],Je=Pe[0][1],He=Pe[1][1],et=Pe[2][0],Mt=Pe[2][1],be.push(Tl([[Oe+p,Je+p],[Oe+p,He-p],[et-p,He-p],[et-p,Mt+p]],30));for(Dt=he[1].length-1;Dt>=0;--Dt)Pe=he[1][Dt],Oe=Pe[0][0],Je=Pe[0][1],He=Pe[1][1],et=Pe[2][0],Mt=Pe[2][1],be.push(Tl([[et-p,Mt-p],[et-p,He+p],[Oe+p,He+p],[Oe+p,Je-p]],30));return{type:\"Polygon\",coordinates:[r.merge(be)]}}function So(he,be,Pe){var Oe,Je;function He(Dt,Ut){for(var tr=Ut<0?-1:1,mr=be[+(Ut<0)],Rr=0,zr=mr.length-1;Rr<zr&&Dt>mr[Rr][2][0];++Rr);var Xr=he(Dt-mr[Rr][1][0],Ut);return Xr[0]+=he(mr[Rr][1][0],tr*Ut>tr*mr[Rr][0][1]?mr[Rr][0][1]:Ut)[0],Xr}Pe?He.invert=Pe(He):he.invert&&(He.invert=function(Dt,Ut){for(var tr=Je[+(Ut<0)],mr=be[+(Ut<0)],Rr=0,zr=tr.length;Rr<zr;++Rr){var Xr=tr[Rr];if(Xr[0][0]<=Dt&&Dt<Xr[1][0]&&Xr[0][1]<=Ut&&Ut<Xr[1][1]){var di=he.invert(Dt-he(mr[Rr][1][0],0)[0],Ut);return di[0]+=mr[Rr][1][0],Co(He(di[0],di[1]),[Dt,Ut])?di:null}}});var et=t.geoProjection(He),Mt=et.stream;return et.stream=function(Dt){var Ut=et.rotate(),tr=Mt(Dt),mr=(et.rotate([0,0]),Mt(Dt));return et.rotate(Ut),tr.sphere=function(){t.geoStream(Oe,mr)},tr},et.lobes=function(Dt){return arguments.length?(Oe=uf(Dt),be=Dt.map(function(Ut){return Ut.map(function(tr){return[[tr[0][0]*T,tr[0][1]*T],[tr[1][0]*T,tr[1][1]*T],[tr[2][0]*T,tr[2][1]*T]]})}),Je=be.map(function(Ut){return Ut.map(function(tr){var mr=he(tr[0][0],tr[0][1])[0],Rr=he(tr[2][0],tr[2][1])[0],zr=he(tr[1][0],tr[0][1])[1],Xr=he(tr[1][0],tr[1][1])[1],di;return zr>Xr&&(di=zr,zr=Xr,Xr=di),[[mr,zr],[Rr,Xr]]})}),et):be.map(function(Ut){return Ut.map(function(tr){return[[tr[0][0]*P,tr[0][1]*P],[tr[1][0]*P,tr[1][1]*P],[tr[2][0]*P,tr[2][1]*P]]})})},be!=null&&et.lobes(be),et}var cf=[[[[-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 rh(){return So(xt,cf).scale(160.857)}var Al=[[[[-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 Hc(){return So(Rl,Al).scale(152.63)}var eu=[[[[-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 Ls(){return So(Yt,eu).scale(169.529)}var mu=[[[[-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 kc(){return So(Yt,mu).scale(169.529).rotate([20,0])}var Of=[[[[-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 Gc(){return So(fa,Of,rt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var vd=[[[[-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 Bf(){return So(St,vd).scale(152.63).rotate([-20,0])}function ss(he,be){return[3/g*he*H(k*k/3-be*be),be]}ss.invert=function(he,be){return[g/3*he/H(k*k/3-be*be),be]};function ff(){return t.geoProjection(ss).scale(158.837)}function ih(he){function be(Pe,Oe){if(n(n(Oe)-A)<p)return[0,Oe<0?-2:2];var Je=x(Oe),He=h((1+Je)/(1-Je),he/2),et=.5*(He+1/He)+o(Pe*=he);return[2*x(Pe)/et,(He-1/He)/et]}return be.invert=function(Pe,Oe){var Je=n(Oe);if(n(Je-2)<p)return Pe?null:[0,v(Oe)*A];if(Je>2)return null;Pe/=2,Oe/=2;var He=Pe*Pe,et=Oe*Oe,Mt=2*Oe/(1+He+et);return Mt=h((1+Mt)/(1-Mt),1/he),[a(2*Pe,1-He-et)/he,q((Mt-1)/(Mt+1))]},be}function Vl(){var he=.5,be=t.geoProjectionMutator(ih),Pe=be(he);return Pe.spacing=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(124.75)}var Js=k/C;function hc(he,be){return[he*(1+H(o(be)))/2,be/(o(be/2)*o(he/6))]}hc.invert=function(he,be){var Pe=n(he),Oe=n(be),Je=p,He=A;Oe<Js?He*=Oe/Js:Je+=6*V(Js/Oe);for(var et=0;et<25;et++){var Mt=x(He),Dt=H(o(He)),Ut=x(He/2),tr=o(He/2),mr=x(Je/6),Rr=o(Je/6),zr=.5*Je*(1+Dt)-Pe,Xr=He/(tr*Rr)-Oe,di=Dt?-.25*Je*Mt/Dt:0,Li=.5*(1+Dt),Ci=(1+.5*He*Ut/tr)/(tr*Rr),Qi=He/tr*(mr/6)/(Rr*Rr),Mn=di*Qi-Ci*Li,pa=(zr*Qi-Xr*Li)/Mn,ea=(Xr*di-zr*Ci)/Mn;if(He-=pa,Je-=ea,n(pa)<p&&n(ea)<p)break}return[he<0?-Je:Je,be<0?-He:He]};function Cc(){return t.geoProjection(hc).scale(97.2672)}function ws(he,be){var Pe=he*he,Oe=be*be;return[he*(.975534+Oe*(-.119161+Pe*-.0143059+Oe*-.0547009)),be*(1.00384+Pe*(.0802894+Oe*-.02855+Pe*199025e-9)+Oe*(.0998909+Oe*-.0491032))]}ws.invert=function(he,be){var Pe=v(he)*k,Oe=be/2,Je=50;do{var He=Pe*Pe,et=Oe*Oe,Mt=Pe*Oe,Dt=Pe*(.975534+et*(-.119161+He*-.0143059+et*-.0547009))-he,Ut=Oe*(1.00384+He*(.0802894+et*-.02855+He*199025e-9)+et*(.0998909+et*-.0491032))-be,tr=.975534-et*(.119161+3*He*.0143059+et*.0547009),mr=-Mt*(2*.119161+4*.0547009*et+2*.0143059*He),Rr=Mt*(2*.0802894+4*199025e-9*He+2*-.02855*et),zr=1.00384+He*(.0802894+199025e-9*He)+et*(3*(.0998909-.02855*He)-5*.0491032*et),Xr=mr*Rr-zr*tr,di=(Ut*mr-Dt*zr)/Xr,Li=(Dt*Rr-Ut*tr)/Xr;Pe-=di,Oe-=Li}while((n(di)>p||n(Li)>p)&&--Je>0);return Je&&[Pe,Oe]};function $s(){return t.geoProjection(ws).scale(139.98)}function hs(he,be){return[x(he)/o(be),b(be)*o(he)]}hs.invert=function(he,be){var Pe=he*he,Oe=be*be,Je=Oe+1,He=Pe+Je,et=he?_*H((He-H(He*He-4*Pe))/Pe):1/H(Je);return[q(he*et),v(be)*V(et)]};function Ms(){return t.geoProjection(hs).scale(144.049).clipAngle(90-.001)}function dc(he){var be=o(he),Pe=b(L+he/2);function Oe(Je,He){var et=He-he,Mt=n(et)<p?Je*be:n(Mt=L+He/2)<p||n(n(Mt)-A)<p?0:Je*et/u(b(Mt)/Pe);return[Mt,et]}return Oe.invert=function(Je,He){var et,Mt=He+he;return[n(He)<p?Je/be:n(et=L+Mt/2)<p||n(n(et)-A)<p?0:Je*u(b(et)/Pe)/He,Mt]},Oe}function Sl(){return Lt(dc).parallel(40).scale(158.837)}function ec(he,be){return[he,1.25*u(b(L+.4*be))]}ec.invert=function(he,be){return[he,2.5*i(s(.8*be))-.625*k]};function Ps(){return t.geoProjection(ec).scale(108.318)}function ov(he){var be=he.length-1;function Pe(Oe,Je){for(var He=o(Je),et=2/(1+He*o(Oe)),Mt=et*He*x(Oe),Dt=et*x(Je),Ut=be,tr=he[Ut],mr=tr[0],Rr=tr[1],zr;--Ut>=0;)tr=he[Ut],mr=tr[0]+Mt*(zr=mr)-Dt*Rr,Rr=tr[1]+Mt*Rr+Dt*zr;return mr=Mt*(zr=mr)-Dt*Rr,Rr=Mt*Rr+Dt*zr,[mr,Rr]}return Pe.invert=function(Oe,Je){var He=20,et=Oe,Mt=Je;do{for(var Dt=be,Ut=he[Dt],tr=Ut[0],mr=Ut[1],Rr=0,zr=0,Xr;--Dt>=0;)Ut=he[Dt],Rr=tr+et*(Xr=Rr)-Mt*zr,zr=mr+et*zr+Mt*Xr,tr=Ut[0]+et*(Xr=tr)-Mt*mr,mr=Ut[1]+et*mr+Mt*Xr;Rr=tr+et*(Xr=Rr)-Mt*zr,zr=mr+et*zr+Mt*Xr,tr=et*(Xr=tr)-Mt*mr-Oe,mr=et*mr+Mt*Xr-Je;var di=Rr*Rr+zr*zr,Li,Ci;et-=Li=(tr*Rr+mr*zr)/di,Mt-=Ci=(mr*Rr-tr*zr)/di}while(n(Li)+n(Ci)>p*p&&--He>0);if(He){var Qi=H(et*et+Mt*Mt),Mn=2*i(Qi*.5),pa=x(Mn);return[a(et*pa,Qi*o(Mn)),Qi?q(Mt*pa/Qi):0]}},Pe}var wo=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],Od=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],$o=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Ja=[[.9245,0],[0,0],[.01943,0]],Ef=[[.721316,0],[0,0],[-.00881625,-.00617325]];function tc(){return Ml(wo,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function uu(){return Ml(Od,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Mh(){return Ml($o,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function jc(){return Ml(Ja,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function kf(){return Ml(Ef,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Ml(he,be){var Pe=t.geoProjection(ov(he)).rotate(be).clipAngle(90),Oe=t.geoRotation(be),Je=Pe.center;return delete Pe.rotate,Pe.center=function(He){return arguments.length?Je(Oe(He)):Oe.invert(Je())},Pe}var Yh=H(6),Eh=H(7);function nh(he,be){var Pe=q(7*x(be)/(3*Yh));return[Yh*he*(2*o(2*Pe/3)-1)/Eh,9*x(Pe/3)/Eh]}nh.invert=function(he,be){var Pe=3*q(be*Eh/9);return[he*Eh/(Yh*(2*o(2*Pe/3)-1)),q(x(Pe)*3*Yh/7)]};function hf(){return t.geoProjection(nh).scale(164.859)}function kh(he,be){for(var Pe=(1+_)*x(be),Oe=be,Je=0,He;Je<25&&(Oe-=He=(x(Oe/2)+x(Oe)-Pe)/(.5*o(Oe/2)+o(Oe)),!(n(He)<p));Je++);return[he*(1+2*o(Oe)/o(Oe/2))/(3*C),2*H(3)*x(Oe/2)/H(2+C)]}kh.invert=function(he,be){var Pe=be*H(2+C)/(2*H(3)),Oe=2*q(Pe);return[3*C*he/(1+2*o(Oe)/o(Oe/2)),q((Pe+x(Oe))/(1+_))]};function Kh(){return t.geoProjection(kh).scale(188.209)}function rc(he,be){for(var Pe=H(6/(4+k)),Oe=(1+k/4)*x(be),Je=be/2,He=0,et;He<25&&(Je-=et=(Je/2+x(Je)-Oe)/(.5+o(Je)),!(n(et)<p));He++);return[Pe*(.5+o(Je))*he/1.5,Pe*Je]}rc.invert=function(he,be){var Pe=H(6/(4+k)),Oe=be/Pe;return n(n(Oe)-A)<p&&(Oe=Oe<0?-A:A),[1.5*he/(Pe*(.5+o(Oe))),q((Oe/2+x(Oe))/(1+k/4))]};function ah(){return t.geoProjection(rc).scale(166.518)}function Wc(he,be){var Pe=be*be,Oe=Pe*Pe,Je=Pe*Oe;return[he*(.84719-.13063*Pe+Je*Je*(-.04515+.05494*Pe-.02326*Oe+.00331*Je)),be*(1.01183+Oe*Oe*(-.02625+.01926*Pe-.00396*Oe))]}Wc.invert=function(he,be){var Pe=be,Oe=25,Je,He,et,Mt;do He=Pe*Pe,et=He*He,Pe-=Je=(Pe*(1.01183+et*et*(-.02625+.01926*He-.00396*et))-be)/(1.01183+et*et*(9*-.02625+11*.01926*He+13*-.00396*et));while(n(Je)>E&&--Oe>0);return He=Pe*Pe,et=He*He,Mt=He*et,[he/(.84719-.13063*He+Mt*Mt*(-.04515+.05494*He-.02326*et+.00331*Mt)),Pe]};function df(){return t.geoProjection(Wc).scale(175.295)}function Cu(he,be){return[he*(1+o(be))/2,2*(be-b(be/2))]}Cu.invert=function(he,be){for(var Pe=be/2,Oe=0,Je=1/0;Oe<10&&n(Je)>p;++Oe){var He=o(be/2);be-=Je=(be-b(be/2)-Pe)/(1-.5/(He*He))}return[2*he/(1+o(be)),be]};function Nf(){return t.geoProjection(Cu).scale(152.63)}var Zc=[[[[-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 ds(){return So(Ge(1/0),Zc).rotate([20,0]).scale(152.63)}function Ch(he,be){var Pe=x(be),Oe=o(be),Je=v(he);if(he===0||n(be)===A)return[0,be];if(be===0)return[he,0];if(n(he)===A)return[he*Oe,A*Pe];var He=k/(2*he)-2*he/k,et=2*be/k,Mt=(1-et*et)/(Pe-et),Dt=He*He,Ut=Mt*Mt,tr=1+Dt/Ut,mr=1+Ut/Dt,Rr=(He*Pe/Mt-He/2)/tr,zr=(Ut*Pe/Dt+Mt/2)/mr,Xr=Rr*Rr+Oe*Oe/tr,di=zr*zr-(Ut*Pe*Pe/Dt+Mt*Pe-1)/mr;return[A*(Rr+H(Xr)*Je),A*(zr+H(di<0?0:di)*v(-be*He)*Je)]}Ch.invert=function(he,be){he/=A,be/=A;var Pe=he*he,Oe=be*be,Je=Pe+Oe,He=k*k;return[he?(Je-1+H((1-Je)*(1-Je)+4*Pe))/(2*he)*A:0,qt(function(et){return Je*(k*x(et)-2*et)*k+4*et*et*(be-x(et))+2*k*et-He*be},0)]};function Bd(){return t.geoProjection(Ch).scale(127.267)}var Jh=1.0148,Cf=.23185,pd=-.14499,Lu=.02406,$h=Jh,tu=5*Cf,Pu=7*pd,Lc=9*Lu,fl=1.790857183;function Xc(he,be){var Pe=be*be;return[he,be*(Jh+Pe*Pe*(Cf+Pe*(pd+Lu*Pe)))]}Xc.invert=function(he,be){be>fl?be=fl:be<-fl&&(be=-fl);var Pe=be,Oe;do{var Je=Pe*Pe;Pe-=Oe=(Pe*(Jh+Je*Je*(Cf+Je*(pd+Lu*Je)))-be)/($h+Je*Je*(tu+Je*(Pu+Lc*Je)))}while(n(Oe)>p);return[he,Pe]};function ic(){return t.geoProjection(Xc).scale(139.319)}function yu(he,be){if(n(be)<p)return[he,0];var Pe=b(be),Oe=he*x(be);return[x(Oe)/Pe,be+(1-o(Oe))/Pe]}yu.invert=function(he,be){if(n(be)<p)return[he,0];var Pe=he*he+be*be,Oe=be*.5,Je=10,He;do{var et=b(Oe),Mt=1/o(Oe),Dt=Pe-2*be*Oe+Oe*Oe;Oe-=He=(et*Dt+2*(Oe-be))/(2+Dt*Mt*Mt+2*(Oe-be)*et)}while(n(He)>p&&--Je>0);return et=b(Oe),[(n(be)<n(Oe+1/et)?q(he*et):v(be)*v(he)*(V(n(he*et))+A))/x(Oe),Oe]};function Qs(){return t.geoProjection(yu).scale(103.74)}function Qh(he,be){var Pe=Pc(he[1],he[0]),Oe=Pc(be[1],be[0]),Je=sv(Pe,Oe),He=vc(Pe)/vc(Oe);return Gu([1,0,he[0][0],0,1,he[0][1]],Gu([He,0,0,0,He,0],Gu([o(Je),x(Je),0,-x(Je),o(Je),0],[1,0,-be[0][0],0,1,-be[0][1]])))}function gd(he){var be=1/(he[0]*he[4]-he[1]*he[3]);return[be*he[4],-be*he[1],be*(he[1]*he[5]-he[2]*he[4]),-be*he[3],be*he[0],be*(he[2]*he[3]-he[0]*he[5])]}function Gu(he,be){return[he[0]*be[0]+he[1]*be[3],he[0]*be[1]+he[1]*be[4],he[0]*be[2]+he[1]*be[5]+he[2],he[3]*be[0]+he[4]*be[3],he[3]*be[1]+he[4]*be[4],he[3]*be[2]+he[4]*be[5]+he[5]]}function Pc(he,be){return[he[0]-be[0],he[1]-be[1]]}function vc(he){return H(he[0]*he[0]+he[1]*he[1])}function sv(he,be){return a(he[0]*be[1]-he[1]*be[0],he[0]*be[0]+he[1]*be[1])}function Lf(he,be,Pe){Oe(he,{transform:null});function Oe(Ut,tr){if(Ut.edges=ru(Ut.face),tr.face){var mr=Ut.shared=oh(Ut.face,tr.face),Rr=Qh(mr.map(tr.project),mr.map(Ut.project));Ut.transform=tr.transform?Gu(tr.transform,Rr):Rr;for(var zr=tr.edges,Xr=0,di=zr.length;Xr<di;++Xr)Iu(mr[0],zr[Xr][1])&&Iu(mr[1],zr[Xr][0])&&(zr[Xr]=Ut),Iu(mr[0],zr[Xr][0])&&Iu(mr[1],zr[Xr][1])&&(zr[Xr]=Ut);for(zr=Ut.edges,Xr=0,di=zr.length;Xr<di;++Xr)Iu(mr[0],zr[Xr][0])&&Iu(mr[1],zr[Xr][1])&&(zr[Xr]=tr),Iu(mr[0],zr[Xr][1])&&Iu(mr[1],zr[Xr][0])&&(zr[Xr]=tr)}else Ut.transform=tr.transform;return Ut.children&&Ut.children.forEach(function(Li){Oe(Li,Ut)}),Ut}function Je(Ut,tr){var mr=be(Ut,tr),Rr=mr.project([Ut*P,tr*P]),zr;return(zr=mr.transform)?[zr[0]*Rr[0]+zr[1]*Rr[1]+zr[2],-(zr[3]*Rr[0]+zr[4]*Rr[1]+zr[5])]:(Rr[1]=-Rr[1],Rr)}vf(he)&&(Je.invert=function(Ut,tr){var mr=He(he,[Ut,-tr]);return mr&&(mr[0]*=T,mr[1]*=T,mr)});function He(Ut,tr){var mr=Ut.project.invert,Rr=Ut.transform,zr=tr;if(Rr&&(Rr=gd(Rr),zr=[Rr[0]*zr[0]+Rr[1]*zr[1]+Rr[2],Rr[3]*zr[0]+Rr[4]*zr[1]+Rr[5]]),mr&&Ut===et(Xr=mr(zr)))return Xr;for(var Xr,di=Ut.children,Li=0,Ci=di&&di.length;Li<Ci;++Li)if(Xr=He(di[Li],tr))return Xr}function et(Ut){return be(Ut[0]*T,Ut[1]*T)}var Mt=t.geoProjection(Je),Dt=Mt.stream;return Mt.stream=function(Ut){var tr=Mt.rotate(),mr=Dt(Ut),Rr=(Mt.rotate([0,0]),Dt(Ut));return Mt.rotate(tr),mr.sphere=function(){Rr.polygonStart(),Rr.lineStart(),Uf(Rr,he),Rr.lineEnd(),Rr.polygonEnd()},mr},Mt.angle(Pe==null?-30:Pe*P)}function Uf(he,be,Pe){var Oe,Je=be.edges,He=Je.length,et,Mt={type:\"MultiPoint\",coordinates:be.face},Dt=be.face.filter(function(di){return n(di[1])!==90}),Ut=t.geoBounds({type:\"MultiPoint\",coordinates:Dt}),tr=!1,mr=-1,Rr=Ut[1][0]-Ut[0][0],zr=Rr===180||Rr===360?[(Ut[0][0]+Ut[1][0])/2,(Ut[0][1]+Ut[1][1])/2]:t.geoCentroid(Mt);if(Pe)for(;++mr<He&&Je[mr]!==Pe;);++mr;for(var Xr=0;Xr<He;++Xr)et=Je[(Xr+mr)%He],Array.isArray(et)?(tr||(he.point((Oe=t.geoInterpolate(et[0],zr)(p))[0],Oe[1]),tr=!0),he.point((Oe=t.geoInterpolate(et[1],zr)(p))[0],Oe[1])):(tr=!1,et!==Pe&&Uf(he,et,be))}function Iu(he,be){return he&&be&&he[0]===be[0]&&he[1]===be[1]}function oh(he,be){for(var Pe,Oe,Je=he.length,He=null,et=0;et<Je;++et){Pe=he[et];for(var Mt=be.length;--Mt>=0;)if(Oe=be[Mt],Pe[0]===Oe[0]&&Pe[1]===Oe[1]){if(He)return[He,Pe];He=Pe}}}function ru(he){for(var be=he.length,Pe=[],Oe=he[be-1],Je=0;Je<be;++Je)Pe.push([Oe,Oe=he[Je]]);return Pe}function vf(he){return he.project.invert||he.children&&he.children.some(vf)}var md=[[0,90],[-90,0],[0,0],[90,0],[180,0],[0,-90]],sh=[[0,2,1],[0,3,2],[5,1,2],[5,2,3],[0,1,4],[0,4,3],[5,4,1],[5,3,4]].map(function(he){return he.map(function(be){return md[be]})});function Fs(he){he=he||function(Pe){var Oe=t.geoCentroid({type:\"MultiPoint\",coordinates:Pe});return t.geoGnomonic().scale(1).translate([0,0]).rotate([-Oe[0],-Oe[1]])};var be=sh.map(function(Pe){return{face:Pe,project:he(Pe)}});return[-1,0,0,1,0,1,4,5].forEach(function(Pe,Oe){var Je=be[Pe];Je&&(Je.children||(Je.children=[])).push(be[Oe])}),Lf(be[0],function(Pe,Oe){return be[Pe<-k/2?Oe<0?6:4:Pe<0?Oe<0?2:0:Pe<k/2?Oe<0?3:1:Oe<0?7:5]}).angle(-30).scale(101.858).center([0,45])}var _u=2/H(3);function xu(he,be){var Pe=ht(he,be);return[Pe[0]*_u,Pe[1]]}xu.invert=function(he,be){return ht.invert(he/_u,be)};function Lh(he){he=he||function(Pe){var Oe=t.geoCentroid({type:\"MultiPoint\",coordinates:Pe});return t.geoProjection(xu).translate([0,0]).scale(1).rotate(Oe[1]>0?[-Oe[0],0]:[180-Oe[0],180])};var be=sh.map(function(Pe){return{face:Pe,project:he(Pe)}});return[-1,0,0,1,0,1,4,5].forEach(function(Pe,Oe){var Je=be[Pe];Je&&(Je.children||(Je.children=[])).push(be[Oe])}),Lf(be[0],function(Pe,Oe){return be[Pe<-k/2?Oe<0?6:4:Pe<0?Oe<0?2:0:Pe<k/2?Oe<0?3:1:Oe<0?7:5]}).angle(-30).scale(121.906).center([0,48.5904])}function Is(he){he=he||function(et){var Mt=et.length===6?t.geoCentroid({type:\"MultiPoint\",coordinates:et}):et[0];return t.geoGnomonic().scale(1).translate([0,0]).rotate([-Mt[0],-Mt[1]])};var be=sh.map(function(et){for(var Mt=et.map(Vf),Dt=Mt.length,Ut=Mt[Dt-1],tr,mr=[],Rr=0;Rr<Dt;++Rr)tr=Mt[Rr],mr.push(ju([Ut[0]*.9486832980505138+tr[0]*.31622776601683794,Ut[1]*.9486832980505138+tr[1]*.31622776601683794,Ut[2]*.9486832980505138+tr[2]*.31622776601683794]),ju([tr[0]*.9486832980505138+Ut[0]*.31622776601683794,tr[1]*.9486832980505138+Ut[1]*.31622776601683794,tr[2]*.9486832980505138+Ut[2]*.31622776601683794])),Ut=tr;return mr}),Pe=[],Oe=[-1,0,0,1,0,1,4,5];be.forEach(function(et,Mt){for(var Dt=sh[Mt],Ut=Dt.length,tr=Pe[Mt]=[],mr=0;mr<Ut;++mr)be.push([Dt[mr],et[(mr*2+2)%(2*Ut)],et[(mr*2+1)%(2*Ut)]]),Oe.push(Mt),tr.push(Ic(Vf(et[(mr*2+2)%(2*Ut)]),Vf(et[(mr*2+1)%(2*Ut)])))});var Je=be.map(function(et){return{project:he(et),face:et}});Oe.forEach(function(et,Mt){var Dt=Je[et];Dt&&(Dt.children||(Dt.children=[])).push(Je[Mt])});function He(et,Mt){var Dt=o(Mt),Ut=[Dt*o(et),Dt*x(et),x(Mt)],tr=et<-k/2?Mt<0?6:4:et<0?Mt<0?2:0:et<k/2?Mt<0?3:1:Mt<0?7:5,mr=Pe[tr];return Je[Pf(mr[0],Ut)<0?8+3*tr:Pf(mr[1],Ut)<0?8+3*tr+1:Pf(mr[2],Ut)<0?8+3*tr+2:tr]}return Lf(Je[0],He).angle(-30).scale(110.625).center([0,45])}function Pf(he,be){for(var Pe=0,Oe=he.length,Je=0;Pe<Oe;++Pe)Je+=he[Pe]*be[Pe];return Je}function Ic(he,be){return[he[1]*be[2]-he[2]*be[1],he[2]*be[0]-he[0]*be[2],he[0]*be[1]-he[1]*be[0]]}function ju(he){return[a(he[1],he[0])*P,q(c(-1,f(1,he[2])))*P]}function Vf(he){var be=he[0]*T,Pe=he[1]*T,Oe=o(Pe);return[Oe*o(be),Oe*x(be),x(Pe)]}function pc(){}function pf(he){if((Pe=he.length)<4)return!1;for(var be=0,Pe,Oe=he[Pe-1][1]*he[0][0]-he[Pe-1][0]*he[0][1];++be<Pe;)Oe+=he[be-1][1]*he[be][0]-he[be-1][0]*he[be][1];return Oe<=0}function Ph(he,be){for(var Pe=be[0],Oe=be[1],Je=!1,He=0,et=he.length,Mt=et-1;He<et;Mt=He++){var Dt=he[He],Ut=Dt[0],tr=Dt[1],mr=he[Mt],Rr=mr[0],zr=mr[1];tr>Oe^zr>Oe&&Pe<(Rr-Ut)*(Oe-tr)/(zr-tr)+Ut&&(Je=!Je)}return Je}function Dl(he,be){var Pe=be.stream,Oe;if(!Pe)throw new Error(\"invalid projection\");switch(he&&he.type){case\"Feature\":Oe=Wu;break;case\"FeatureCollection\":Oe=Ih;break;default:Oe=gc;break}return Oe(he,Pe)}function Ih(he,be){return{type:\"FeatureCollection\",features:he.features.map(function(Pe){return Wu(Pe,be)})}}function Wu(he,be){return{type:\"Feature\",id:he.id,properties:he.properties,geometry:gc(he.geometry,be)}}function Rc(he,be){return{type:\"GeometryCollection\",geometries:he.geometries.map(function(Pe){return gc(Pe,be)})}}function gc(he,be){if(!he)return null;if(he.type===\"GeometryCollection\")return Rc(he,be);var Pe;switch(he.type){case\"Point\":Pe=mc;break;case\"MultiPoint\":Pe=mc;break;case\"LineString\":Pe=Yc;break;case\"MultiLineString\":Pe=Yc;break;case\"Polygon\":Pe=nc;break;case\"MultiPolygon\":Pe=nc;break;case\"Sphere\":Pe=nc;break;default:return null}return t.geoStream(he,be(Pe)),Pe.result()}var hl=[],iu=[],mc={point:function(he,be){hl.push([he,be])},result:function(){var he=hl.length?hl.length<2?{type:\"Point\",coordinates:hl[0]}:{type:\"MultiPoint\",coordinates:hl}:null;return hl=[],he}},Yc={lineStart:pc,point:function(he,be){hl.push([he,be])},lineEnd:function(){hl.length&&(iu.push(hl),hl=[])},result:function(){var he=iu.length?iu.length<2?{type:\"LineString\",coordinates:iu[0]}:{type:\"MultiLineString\",coordinates:iu}:null;return iu=[],he}},nc={polygonStart:pc,lineStart:pc,point:function(he,be){hl.push([he,be])},lineEnd:function(){var he=hl.length;if(he){do hl.push(hl[0].slice());while(++he<4);iu.push(hl),hl=[]}},polygonEnd:pc,result:function(){if(!iu.length)return null;var he=[],be=[];return iu.forEach(function(Pe){pf(Pe)?he.push([Pe]):be.push(Pe)}),be.forEach(function(Pe){var Oe=Pe[0];he.some(function(Je){if(Ph(Je[0],Oe))return Je.push(Pe),!0})||he.push([Pe])}),iu=[],he.length?he.length>1?{type:\"MultiPolygon\",coordinates:he}:{type:\"Polygon\",coordinates:he[0]}:null}};function gf(he){var be=he(A,0)[0]-he(-A,0)[0];function Pe(Oe,Je){var He=n(Oe)<A,et=he(He?Oe:Oe>0?Oe-k:Oe+k,Je),Mt=(et[0]-et[1])*_,Dt=(et[0]+et[1])*_;if(He)return[Mt,Dt];var Ut=be*_,tr=Mt>0^Dt>0?-1:1;return[tr*Mt-v(Dt)*Ut,tr*Dt-v(Mt)*Ut]}return he.invert&&(Pe.invert=function(Oe,Je){var He=(Oe+Je)*_,et=(Je-Oe)*_,Mt=n(He)<.5*be&&n(et)<.5*be;if(!Mt){var Dt=be*_,Ut=He>0^et>0?-1:1,tr=-Ut*Oe+(et>0?1:-1)*Dt,mr=-Ut*Je+(He>0?1:-1)*Dt;He=(-tr-mr)*_,et=(tr-mr)*_}var Rr=he.invert(He,et);return Mt||(Rr[0]+=He>0?k:-k),Rr}),t.geoProjection(Pe).rotate([-90,-90,45]).clipAngle(180-.001)}function gt(){return gf(hi).scale(176.423)}function Bt(){return gf(Mo).scale(111.48)}function wr(he,be){if(!(0<=(be=+be)&&be<=20))throw new Error(\"invalid digits\");function Pe(Ut){var tr=Ut.length,mr=2,Rr=new Array(tr);for(Rr[0]=+Ut[0].toFixed(be),Rr[1]=+Ut[1].toFixed(be);mr<tr;)Rr[mr]=Ut[mr],++mr;return Rr}function Oe(Ut){return Ut.map(Pe)}function Je(Ut){for(var tr=Pe(Ut[0]),mr=[tr],Rr=1;Rr<Ut.length;Rr++){var zr=Pe(Ut[Rr]);(zr.length>2||zr[0]!=tr[0]||zr[1]!=tr[1])&&(mr.push(zr),tr=zr)}return mr.length===1&&Ut.length>1&&mr.push(Pe(Ut[Ut.length-1])),mr}function He(Ut){return Ut.map(Je)}function et(Ut){if(Ut==null)return Ut;var tr;switch(Ut.type){case\"GeometryCollection\":tr={type:\"GeometryCollection\",geometries:Ut.geometries.map(et)};break;case\"Point\":tr={type:\"Point\",coordinates:Pe(Ut.coordinates)};break;case\"MultiPoint\":tr={type:Ut.type,coordinates:Oe(Ut.coordinates)};break;case\"LineString\":tr={type:Ut.type,coordinates:Je(Ut.coordinates)};break;case\"MultiLineString\":case\"Polygon\":tr={type:Ut.type,coordinates:He(Ut.coordinates)};break;case\"MultiPolygon\":tr={type:\"MultiPolygon\",coordinates:Ut.coordinates.map(He)};break;default:return Ut}return Ut.bbox!=null&&(tr.bbox=Ut.bbox),tr}function Mt(Ut){var tr={type:\"Feature\",properties:Ut.properties,geometry:et(Ut.geometry)};return Ut.id!=null&&(tr.id=Ut.id),Ut.bbox!=null&&(tr.bbox=Ut.bbox),tr}if(he!=null)switch(he.type){case\"Feature\":return Mt(he);case\"FeatureCollection\":{var Dt={type:\"FeatureCollection\",features:he.features.map(Mt)};return he.bbox!=null&&(Dt.bbox=he.bbox),Dt}default:return et(he)}return he}function vr(he){var be=x(he);function Pe(Oe,Je){var He=be?b(Oe*be/2)/be:Oe/2;if(!Je)return[2*He,-he];var et=2*i(He*x(Je)),Mt=1/b(Je);return[x(et)*Mt,Je+(1-o(et))*Mt-he]}return Pe.invert=function(Oe,Je){if(n(Je+=he)<p)return[be?2*i(be*Oe/2)/be:Oe,0];var He=Oe*Oe+Je*Je,et=0,Mt=10,Dt;do{var Ut=b(et),tr=1/o(et),mr=He-2*Je*et+et*et;et-=Dt=(Ut*mr+2*(et-Je))/(2+mr*tr*tr+2*(et-Je)*Ut)}while(n(Dt)>p&&--Mt>0);var Rr=Oe*(Ut=b(et)),zr=b(n(Je)<n(et+1/Ut)?q(Rr)*.5:V(Rr)*.5+k/4)/x(et);return[be?2*i(be*zr)/be:2*zr,et]},Pe}function Ur(){return Lt(vr).scale(131.215)}var fi=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];fi.forEach(function(he){he[1]*=1.0144});function xi(he,be){var Pe=f(18,n(be)*36/k),Oe=l(Pe),Je=Pe-Oe,He=(mr=fi[Oe])[0],et=mr[1],Mt=(mr=fi[++Oe])[0],Dt=mr[1],Ut=(mr=fi[f(19,++Oe)])[0],tr=mr[1],mr;return[he*(Mt+Je*(Ut-He)/2+Je*Je*(Ut-2*Mt+He)/2),(be>0?A:-A)*(Dt+Je*(tr-et)/2+Je*Je*(tr-2*Dt+et)/2)]}xi.invert=function(he,be){var Pe=be/A,Oe=Pe*90,Je=f(18,n(Oe/5)),He=c(0,l(Je));do{var et=fi[He][1],Mt=fi[He+1][1],Dt=fi[f(19,He+2)][1],Ut=Dt-et,tr=Dt-2*Mt+et,mr=2*(n(Pe)-Mt)/Ut,Rr=tr/Ut,zr=mr*(1-Rr*mr*(1-2*Rr*mr));if(zr>=0||He===1){Oe=(be>=0?5:-5)*(zr+Je);var Xr=50,di;do Je=f(18,n(Oe)/5),He=l(Je),zr=Je-He,et=fi[He][1],Mt=fi[He+1][1],Dt=fi[f(19,He+2)][1],Oe-=(di=(be>=0?A:-A)*(Mt+zr*(Dt-et)/2+zr*zr*(Dt-2*Mt+et)/2)-be)*P;while(n(di)>E&&--Xr>0);break}}while(--He>=0);var Li=fi[He][0],Ci=fi[He+1][0],Qi=fi[f(19,He+2)][0];return[he/(Ci+zr*(Qi-Li)/2+zr*zr*(Qi-2*Ci+Li)/2),Oe*T]};function Fi(){return t.geoProjection(xi).scale(152.63)}function Xi(he){function be(Pe,Oe){var Je=o(Oe),He=(he-1)/(he-Je*o(Pe));return[He*Je*x(Pe),He*x(Oe)]}return be.invert=function(Pe,Oe){var Je=Pe*Pe+Oe*Oe,He=H(Je),et=(he-H(1-Je*(he+1)/(he-1)))/((he-1)/He+He/(he-1));return[a(Pe*et,He*H(1-et*et)),He?q(Oe*et/He):0]},be}function hn(he,be){var Pe=Xi(he);if(!be)return Pe;var Oe=o(be),Je=x(be);function He(et,Mt){var Dt=Pe(et,Mt),Ut=Dt[1],tr=Ut*Je/(he-1)+Oe;return[Dt[0]*Oe/tr,Ut/tr]}return He.invert=function(et,Mt){var Dt=(he-1)/(he-1-Mt*Je);return Pe.invert(Dt*et,Dt*Mt*Oe)},He}function Ti(){var he=2,be=0,Pe=t.geoProjectionMutator(hn),Oe=Pe(he,be);return Oe.distance=function(Je){return arguments.length?Pe(he=+Je,be):he},Oe.tilt=function(Je){return arguments.length?Pe(he,be=Je*T):be*P},Oe.scale(432.147).clipAngle(V(1/he)*P-1e-6)}var qi=1e-4,Ii=1e4,mi=-180,Pn=mi+qi,Ma=180,Ta=Ma-qi,Ea=-90,qa=Ea+qi,Cn=90,sn=Cn-qi;function Ua(he){return he.length>0}function mo(he){return Math.floor(he*Ii)/Ii}function Xo(he){return he===Ea||he===Cn?[0,he]:[mi,mo(he)]}function Ts(he){var be=he[0],Pe=he[1],Oe=!1;return be<=Pn?(be=mi,Oe=!0):be>=Ta&&(be=Ma,Oe=!0),Pe<=qa?(Pe=Ea,Oe=!0):Pe>=sn&&(Pe=Cn,Oe=!0),Oe?[be,Pe]:he}function Qo(he){return he.map(Ts)}function ys(he,be,Pe){for(var Oe=0,Je=he.length;Oe<Je;++Oe){var He=he[Oe].slice();Pe.push({index:-1,polygon:be,ring:He});for(var et=0,Mt=He.length;et<Mt;++et){var Dt=He[et],Ut=Dt[0],tr=Dt[1];if(Ut<=Pn||Ut>=Ta||tr<=qa||tr>=sn){He[et]=Ts(Dt);for(var mr=et+1;mr<Mt;++mr){var Rr=He[mr],zr=Rr[0],Xr=Rr[1];if(zr>Pn&&zr<Ta&&Xr>qa&&Xr<sn)break}if(mr===et+1)continue;if(et){var di={index:-1,polygon:be,ring:He.slice(0,et+1)};di.ring[di.ring.length-1]=Xo(tr),Pe[Pe.length-1]=di}else Pe.pop();if(mr>=Mt)break;Pe.push({index:-1,polygon:be,ring:He=He.slice(mr-1)}),He[0]=Xo(He[0][1]),et=-1,Mt=He.length}}}}function Bo(he){var be,Pe=he.length,Oe={},Je={},He,et,Mt,Dt,Ut;for(be=0;be<Pe;++be){if(He=he[be],et=He.ring[0],Dt=He.ring[He.ring.length-1],et[0]===Dt[0]&&et[1]===Dt[1]){He.polygon.push(He.ring),he[be]=null;continue}He.index=be,Oe[et]=Je[Dt]=He}for(be=0;be<Pe;++be)if(He=he[be],He){if(et=He.ring[0],Dt=He.ring[He.ring.length-1],Mt=Je[et],Ut=Oe[Dt],delete Oe[et],delete Je[Dt],et[0]===Dt[0]&&et[1]===Dt[1]){He.polygon.push(He.ring);continue}Mt?(delete Je[et],delete Oe[Mt.ring[0]],Mt.ring.pop(),he[Mt.index]=null,He={index:-1,polygon:Mt.polygon,ring:Mt.ring.concat(He.ring)},Mt===Ut?He.polygon.push(He.ring):(He.index=Pe++,he.push(Oe[He.ring[0]]=Je[He.ring[He.ring.length-1]]=He))):Ut?(delete Oe[Dt],delete Je[Ut.ring[Ut.ring.length-1]],He.ring.pop(),He={index:Pe++,polygon:Ut.polygon,ring:He.ring.concat(Ut.ring)},he[Ut.index]=null,he.push(Oe[He.ring[0]]=Je[He.ring[He.ring.length-1]]=He)):(He.ring.push(He.ring[0]),He.polygon.push(He.ring))}}function yl(he){var be={type:\"Feature\",geometry:Gs(he.geometry)};return he.id!=null&&(be.id=he.id),he.bbox!=null&&(be.bbox=he.bbox),he.properties!=null&&(be.properties=he.properties),be}function Gs(he){if(he==null)return he;var be,Pe,Oe,Je;switch(he.type){case\"GeometryCollection\":be={type:\"GeometryCollection\",geometries:he.geometries.map(Gs)};break;case\"Point\":be={type:\"Point\",coordinates:Ts(he.coordinates)};break;case\"MultiPoint\":case\"LineString\":be={type:he.type,coordinates:Qo(he.coordinates)};break;case\"MultiLineString\":be={type:\"MultiLineString\",coordinates:he.coordinates.map(Qo)};break;case\"Polygon\":{var He=[];ys(he.coordinates,He,Pe=[]),Bo(Pe),be={type:\"Polygon\",coordinates:He};break}case\"MultiPolygon\":{Pe=[],Oe=-1,Je=he.coordinates.length;for(var et=new Array(Je);++Oe<Je;)ys(he.coordinates[Oe],et[Oe]=[],Pe);Bo(Pe),be={type:\"MultiPolygon\",coordinates:et.filter(Ua)};break}default:return he}return he.bbox!=null&&(be.bbox=he.bbox),be}function Rs(he){if(he==null)return he;switch(he.type){case\"Feature\":return yl(he);case\"FeatureCollection\":{var be={type:\"FeatureCollection\",features:he.features.map(yl)};return he.bbox!=null&&(be.bbox=he.bbox),be}default:return Gs(he)}}function ia(he,be){var Pe=b(be/2),Oe=x(L*Pe);return[he*(.74482-.34588*Oe*Oe),1.70711*Pe]}ia.invert=function(he,be){var Pe=be/1.70711,Oe=x(L*Pe);return[he/(.74482-.34588*Oe*Oe),2*i(Pe)]};function Ka(){return t.geoProjection(ia).scale(146.153)}function vs(he,be,Pe){var Oe=t.geoInterpolate(be,Pe),Je=Oe(.5),He=t.geoRotation([-Je[0],-Je[1]])(be),et=Oe.distance/2,Mt=-q(x(He[1]*T)/x(et)),Dt=[-Je[0],-Je[1],-(He[0]>0?k-Mt:Mt)*P],Ut=t.geoProjection(he(et)).rotate(Dt),tr=t.geoRotation(Dt),mr=Ut.center;return delete Ut.rotate,Ut.center=function(Rr){return arguments.length?mr(tr(Rr)):tr.invert(mr())},Ut.clipAngle(90)}function Ko(he){var be=o(he);function Pe(Oe,Je){var He=t.geoGnomonicRaw(Oe,Je);return He[0]*=be,He}return Pe.invert=function(Oe,Je){return t.geoGnomonicRaw.invert(Oe/be,Je)},Pe}function nu(){return Ru([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Ru(he,be){return vs(Ko,he,be)}function ac(he){if(!(he*=2))return t.geoAzimuthalEquidistantRaw;var be=-he/2,Pe=-be,Oe=he*he,Je=b(Pe),He=.5/x(Pe);function et(Mt,Dt){var Ut=V(o(Dt)*o(Mt-be)),tr=V(o(Dt)*o(Mt-Pe)),mr=Dt<0?-1:1;return Ut*=Ut,tr*=tr,[(Ut-tr)/(2*he),mr*H(4*Oe*tr-(Oe-Ut+tr)*(Oe-Ut+tr))/(2*he)]}return et.invert=function(Mt,Dt){var Ut=Dt*Dt,tr=o(H(Ut+(Rr=Mt+be)*Rr)),mr=o(H(Ut+(Rr=Mt+Pe)*Rr)),Rr,zr;return[a(zr=tr-mr,Rr=(tr+mr)*Je),(Dt<0?-1:1)*V(H(Rr*Rr+zr*zr)*He)]},et}function mf(){return bu([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function bu(he,be){return vs(ac,he,be)}function Kc(he,be){if(n(be)<p)return[he,0];var Pe=n(be/A),Oe=q(Pe);if(n(he)<p||n(n(be)-A)<p)return[0,v(be)*k*b(Oe/2)];var Je=o(Oe),He=n(k/he-he/k)/2,et=He*He,Mt=Je/(Pe+Je-1),Dt=Mt*(2/Pe-1),Ut=Dt*Dt,tr=Ut+et,mr=Mt-Ut,Rr=et+Mt;return[v(he)*k*(He*mr+H(et*mr*mr-tr*(Mt*Mt-Ut)))/tr,v(be)*k*(Dt*Rr-He*H((et+1)*tr-Rr*Rr))/tr]}Kc.invert=function(he,be){if(n(be)<p)return[he,0];if(n(he)<p)return[0,A*x(2*i(be/k))];var Pe=(he/=k)*he,Oe=(be/=k)*be,Je=Pe+Oe,He=Je*Je,et=-n(be)*(1+Je),Mt=et-2*Oe+Pe,Dt=-2*et+1+2*Oe+He,Ut=Oe/Dt+(2*Mt*Mt*Mt/(Dt*Dt*Dt)-9*et*Mt/(Dt*Dt))/27,tr=(et-Mt*Mt/(3*Dt))/Dt,mr=2*H(-tr/3),Rr=V(3*Ut/(tr*mr))/3;return[k*(Je-1+H(1+2*(Pe-Oe)+He))/(2*he),v(be)*k*(-mr*o(Rr+k/3)-Mt/(3*Dt))]};function Du(){return t.geoProjection(Kc).scale(79.4183)}function Dc(he,be){if(n(be)<p)return[he,0];var Pe=n(be/A),Oe=q(Pe);if(n(he)<p||n(n(be)-A)<p)return[0,v(be)*k*b(Oe/2)];var Je=o(Oe),He=n(k/he-he/k)/2,et=He*He,Mt=Je*(H(1+et)-He*Je)/(1+et*Pe*Pe);return[v(he)*k*Mt,v(be)*k*H(1-Mt*(2*He+Mt))]}Dc.invert=function(he,be){if(!he)return[0,A*x(2*i(be/k))];var Pe=n(he/k),Oe=(1-Pe*Pe-(be/=k)*be)/(2*Pe),Je=Oe*Oe,He=H(Je+1);return[v(he)*k*(He-Oe),v(be)*A*x(2*a(H((1-2*Oe*Pe)*(Oe+He)-Pe),H(He+Oe+Pe)))]};function Da(){return t.geoProjection(Dc).scale(79.4183)}function eo(he,be){if(n(be)<p)return[he,0];var Pe=be/A,Oe=q(Pe);if(n(he)<p||n(n(be)-A)<p)return[0,k*b(Oe/2)];var Je=(k/he-he/k)/2,He=Pe/(1+o(Oe));return[k*(v(he)*H(Je*Je+1-He*He)-Je),k*He]}eo.invert=function(he,be){if(!be)return[he,0];var Pe=be/k,Oe=(k*k*(1-Pe*Pe)-he*he)/(2*k*he);return[he?k*(v(he)*H(Oe*Oe+1)-Oe):0,A*x(2*i(Pe))]};function Jc(){return t.geoProjection(eo).scale(79.4183)}function yc(he,be){if(!be)return[he,0];var Pe=n(be);if(!he||Pe===A)return[0,be];var Oe=Pe/A,Je=Oe*Oe,He=(8*Oe-Je*(Je+2)-5)/(2*Je*(Oe-1)),et=He*He,Mt=Oe*He,Dt=Je+et+2*Mt,Ut=Oe+3*He,tr=he/A,mr=tr+1/tr,Rr=v(n(he)-A)*H(mr*mr-4),zr=Rr*Rr,Xr=Dt*(Je+et*zr-1)+(1-Je)*(Je*(Ut*Ut+4*et)+12*Mt*et+4*et*et),di=(Rr*(Dt+et-1)+2*H(Xr))/(4*Dt+zr);return[v(he)*A*di,v(be)*A*H(1+Rr*n(di)-di*di)]}yc.invert=function(he,be){var Pe;if(!he||!be)return[he,be];be/=k;var Oe=v(he)*he/A,Je=(Oe*Oe-1+4*be*be)/n(Oe),He=Je*Je,et=2*be,Mt=50;do{var Dt=et*et,Ut=(8*et-Dt*(Dt+2)-5)/(2*Dt*(et-1)),tr=(3*et-Dt*et-10)/(2*Dt*et),mr=Ut*Ut,Rr=et*Ut,zr=et+Ut,Xr=zr*zr,di=et+3*Ut,Li=Xr*(Dt+mr*He-1)+(1-Dt)*(Dt*(di*di+4*mr)+mr*(12*Rr+4*mr)),Ci=-2*zr*(4*Rr*mr+(1-4*Dt+3*Dt*Dt)*(1+tr)+mr*(-6+14*Dt-He+(-8+8*Dt-2*He)*tr)+Rr*(-8+12*Dt+(-10+10*Dt-He)*tr)),Qi=H(Li),Mn=Je*(Xr+mr-1)+2*Qi-Oe*(4*Xr+He),pa=Je*(2*Ut*tr+2*zr*(1+tr))+Ci/Qi-8*zr*(Je*(-1+mr+Xr)+2*Qi)*(1+tr)/(He+4*Xr);et-=Pe=Mn/pa}while(Pe>p&&--Mt>0);return[v(he)*(H(Je*Je+4)+Je)*k/4,A*et]};function _c(){return t.geoProjection(yc).scale(127.16)}function le(he,be,Pe,Oe,Je){function He(et,Mt){var Dt=Pe*x(Oe*Mt),Ut=H(1-Dt*Dt),tr=H(2/(1+Ut*o(et*=Je)));return[he*Ut*tr*x(et),be*Dt*tr]}return He.invert=function(et,Mt){var Dt=et/he,Ut=Mt/be,tr=H(Dt*Dt+Ut*Ut),mr=2*q(tr/2);return[a(et*b(mr),he*tr)/Je,tr&&q(Mt*x(mr)/(be*Pe*tr))/Oe]},He}function w(he,be,Pe,Oe){var Je=k/3;he=c(he,p),be=c(be,p),he=f(he,A),be=f(be,k-p),Pe=c(Pe,0),Pe=f(Pe,100-p),Oe=c(Oe,p);var He=Pe/100+1,et=Oe/100,Mt=V(He*o(Je))/Je,Dt=x(he)/x(Mt*A),Ut=be/k,tr=H(et*x(he/2)/x(be/2)),mr=tr/H(Ut*Dt*Mt),Rr=1/(tr*H(Ut*Dt*Mt));return le(mr,Rr,Dt,Mt,Ut)}function B(){var he=65*T,be=60*T,Pe=20,Oe=200,Je=t.geoProjectionMutator(w),He=Je(he,be,Pe,Oe);return He.poleline=function(et){return arguments.length?Je(he=+et*T,be,Pe,Oe):he*P},He.parallels=function(et){return arguments.length?Je(he,be=+et*T,Pe,Oe):be*P},He.inflation=function(et){return arguments.length?Je(he,be,Pe=+et,Oe):Pe},He.ratio=function(et){return arguments.length?Je(he,be,Pe,Oe=+et):Oe},He.scale(163.775)}function Q(){return B().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)}var ee=4*k+3*H(3),se=2*H(2*k*H(3)/ee),qe=Ct(se*H(3)/k,se,ee/6);function je(){return t.geoProjection(qe).scale(176.84)}function it(he,be){return[he*H(1-3*be*be/(k*k)),be]}it.invert=function(he,be){return[he/H(1-3*be*be/(k*k)),be]};function yt(){return t.geoProjection(it).scale(152.63)}function Ot(he,be){var Pe=o(be),Oe=o(he)*Pe,Je=1-Oe,He=o(he=a(x(he)*Pe,-x(be))),et=x(he);return Pe=H(1-Oe*Oe),[et*Pe-He*Je,-He*Pe-et*Je]}Ot.invert=function(he,be){var Pe=(he*he+be*be)/-2,Oe=H(-Pe*(2+Pe)),Je=be*Pe+he*Oe,He=he*Pe-be*Oe,et=H(He*He+Je*Je);return[a(Oe*Je,et*(1+Pe)),et?-q(Oe*He/et):0]};function Nt(){return t.geoProjection(Ot).rotate([0,-90,45]).scale(124.75).clipAngle(180-.001)}function hr(he,be){var Pe=Me(he,be);return[(Pe[0]+he/A)/2,(Pe[1]+be)/2]}hr.invert=function(he,be){var Pe=he,Oe=be,Je=25;do{var He=o(Oe),et=x(Oe),Mt=x(2*Oe),Dt=et*et,Ut=He*He,tr=x(Pe),mr=o(Pe/2),Rr=x(Pe/2),zr=Rr*Rr,Xr=1-Ut*mr*mr,di=Xr?V(He*mr)*H(Li=1/Xr):Li=0,Li,Ci=.5*(2*di*He*Rr+Pe/A)-he,Qi=.5*(di*et+Oe)-be,Mn=.5*Li*(Ut*zr+di*He*mr*Dt)+.5/A,pa=Li*(tr*Mt/4-di*et*Rr),ea=.125*Li*(Mt*Rr-di*et*Ut*tr),Ga=.5*Li*(Dt*mr+di*zr*He)+.5,To=pa*ea-Ga*Mn,Wa=(Qi*pa-Ci*Ga)/To,co=(Ci*ea-Qi*Mn)/To;Pe-=Wa,Oe-=co}while((n(Wa)>p||n(co)>p)&&--Je>0);return[Pe,Oe]};function Sr(){return t.geoProjection(hr).scale(158.837)}e.geoNaturalEarth=t.geoNaturalEarth1,e.geoNaturalEarthRaw=t.geoNaturalEarth1Raw,e.geoAiry=_e,e.geoAiryRaw=ae,e.geoAitoff=ke,e.geoAitoffRaw=Me,e.geoArmadillo=ie,e.geoArmadilloRaw=ge,e.geoAugust=Ee,e.geoAugustRaw=Te,e.geoBaker=me,e.geoBakerRaw=Ce,e.geoBerghaus=ce,e.geoBerghausRaw=Re,e.geoBertin1953=Rt,e.geoBertin1953Raw=ot,e.geoBoggs=bt,e.geoBoggsRaw=xt,e.geoBonne=Ht,e.geoBonneRaw=dt,e.geoBottomley=fr,e.geoBottomleyRaw=$t,e.geoBromley=Br,e.geoBromleyRaw=_r,e.geoChamberlin=Xe,e.geoChamberlinRaw=Ne,e.geoChamberlinAfrica=Ve,e.geoCollignon=Le,e.geoCollignonRaw=ht,e.geoCraig=Se,e.geoCraigRaw=xe,e.geoCraster=Vt,e.geoCrasterRaw=Gt,e.geoCylindricalEqualArea=Qr,e.geoCylindricalEqualAreaRaw=ar,e.geoCylindricalStereographic=jr,e.geoCylindricalStereographicRaw=ai,e.geoEckert1=bi,e.geoEckert1Raw=ri,e.geoEckert2=Wi,e.geoEckert2Raw=nn,e.geoEckert3=_n,e.geoEckert3Raw=Ni,e.geoEckert4=zn,e.geoEckert4Raw=$i,e.geoEckert5=It,e.geoEckert5Raw=Wn,e.geoEckert6=jt,e.geoEckert6Raw=ft,e.geoEisenlohr=Fr,e.geoEisenlohrRaw=yr,e.geoFahey=gi,e.geoFaheyRaw=Vr,e.geoFoucaut=Mi,e.geoFoucautRaw=Si,e.geoFoucautSinusoidal=Gi,e.geoFoucautSinusoidalRaw=Pi,e.geoGilbert=jn,e.geoGingery=jo,e.geoGingeryRaw=la,e.geoGinzburg4=Ha,e.geoGinzburg4Raw=Sn,e.geoGinzburg5=xn,e.geoGinzburg5Raw=oo,e.geoGinzburg6=br,e.geoGinzburg6Raw=_t,e.geoGinzburg8=ti,e.geoGinzburg8Raw=Hr,e.geoGinzburg9=Yi,e.geoGinzburg9Raw=zi,e.geoGringorten=Fn,e.geoGringortenRaw=hi,e.geoGuyou=ks,e.geoGuyouRaw=Mo,e.geoHammer=ct,e.geoHammerRaw=Ge,e.geoHammerRetroazimuthal=wl,e.geoHammerRetroazimuthalRaw=Zs,e.geoHealpix=Ql,e.geoHealpixRaw=ml,e.geoHill=fc,e.geoHillRaw=Hu,e.geoHomolosine=vo,e.geoHomolosineRaw=Rl,e.geoHufnagel=Ks,e.geoHufnagelRaw=Zl,e.geoHyperelliptical=ko,e.geoHyperellipticalRaw=Zn,e.geoInterrupt=So,e.geoInterruptedBoggs=rh,e.geoInterruptedHomolosine=Hc,e.geoInterruptedMollweide=Ls,e.geoInterruptedMollweideHemispheres=kc,e.geoInterruptedSinuMollweide=Gc,e.geoInterruptedSinusoidal=Bf,e.geoKavrayskiy7=ff,e.geoKavrayskiy7Raw=ss,e.geoLagrange=Vl,e.geoLagrangeRaw=ih,e.geoLarrivee=Cc,e.geoLarriveeRaw=hc,e.geoLaskowski=$s,e.geoLaskowskiRaw=ws,e.geoLittrow=Ms,e.geoLittrowRaw=hs,e.geoLoximuthal=Sl,e.geoLoximuthalRaw=dc,e.geoMiller=Ps,e.geoMillerRaw=ec,e.geoModifiedStereographic=Ml,e.geoModifiedStereographicRaw=ov,e.geoModifiedStereographicAlaska=tc,e.geoModifiedStereographicGs48=uu,e.geoModifiedStereographicGs50=Mh,e.geoModifiedStereographicMiller=jc,e.geoModifiedStereographicLee=kf,e.geoMollweide=xr,e.geoMollweideRaw=Yt,e.geoMtFlatPolarParabolic=hf,e.geoMtFlatPolarParabolicRaw=nh,e.geoMtFlatPolarQuartic=Kh,e.geoMtFlatPolarQuarticRaw=kh,e.geoMtFlatPolarSinusoidal=ah,e.geoMtFlatPolarSinusoidalRaw=rc,e.geoNaturalEarth2=df,e.geoNaturalEarth2Raw=Wc,e.geoNellHammer=Nf,e.geoNellHammerRaw=Cu,e.geoInterruptedQuarticAuthalic=ds,e.geoNicolosi=Bd,e.geoNicolosiRaw=Ch,e.geoPatterson=ic,e.geoPattersonRaw=Xc,e.geoPolyconic=Qs,e.geoPolyconicRaw=yu,e.geoPolyhedral=Lf,e.geoPolyhedralButterfly=Fs,e.geoPolyhedralCollignon=Lh,e.geoPolyhedralWaterman=Is,e.geoProject=Dl,e.geoGringortenQuincuncial=gt,e.geoPeirceQuincuncial=Bt,e.geoPierceQuincuncial=Bt,e.geoQuantize=wr,e.geoQuincuncial=gf,e.geoRectangularPolyconic=Ur,e.geoRectangularPolyconicRaw=vr,e.geoRobinson=Fi,e.geoRobinsonRaw=xi,e.geoSatellite=Ti,e.geoSatelliteRaw=hn,e.geoSinuMollweide=Qu,e.geoSinuMollweideRaw=fa,e.geoSinusoidal=Et,e.geoSinusoidalRaw=St,e.geoStitch=Rs,e.geoTimes=Ka,e.geoTimesRaw=ia,e.geoTwoPointAzimuthal=Ru,e.geoTwoPointAzimuthalRaw=Ko,e.geoTwoPointAzimuthalUsa=nu,e.geoTwoPointEquidistant=bu,e.geoTwoPointEquidistantRaw=ac,e.geoTwoPointEquidistantUsa=mf,e.geoVanDerGrinten=Du,e.geoVanDerGrintenRaw=Kc,e.geoVanDerGrinten2=Da,e.geoVanDerGrinten2Raw=Dc,e.geoVanDerGrinten3=Jc,e.geoVanDerGrinten3Raw=eo,e.geoVanDerGrinten4=_c,e.geoVanDerGrinten4Raw=yc,e.geoWagner=B,e.geoWagner7=Q,e.geoWagnerRaw=w,e.geoWagner4=je,e.geoWagner4Raw=qe,e.geoWagner6=yt,e.geoWagner6Raw=it,e.geoWiechel=Nt,e.geoWiechelRaw=Ot,e.geoWinkel3=Sr,e.geoWinkel3Raw=hr,Object.defineProperty(e,\"__esModule\",{value:!0})})});var MRe=ye((Dpr,SRe)=>{\"use strict\";var Zh=xa(),bX=Mr(),CDt=ba(),Z5=Math.PI/180,G2=180/Math.PI,TX={cursor:\"pointer\"},AX={cursor:\"auto\"};function LDt(e,t){var r=e.projection,n;return t._isScoped?n=PDt:t._isClipped?n=RDt:n=IDt,n(e,r)}SRe.exports=LDt;function SX(e,t){return Zh.behavior.zoom().translate(t.translate()).scale(t.scale())}function MX(e,t,r){var n=e.id,i=e.graphDiv,a=i.layout,o=a[n],s=i._fullLayout,l=s[n],u={},c={};function f(h,d){u[n+\".\"+h]=bX.nestedProperty(o,h).get(),CDt.call(\"_storeDirectGUIEdit\",a,s._preGUI,u);var v=bX.nestedProperty(l,h);v.get()!==d&&(v.set(d),bX.nestedProperty(o,h).set(d),c[n+\".\"+h]=d)}r(f),f(\"projection.scale\",t.scale()/e.fitScale),f(\"fitbounds\",!1),i.emit(\"plotly_relayout\",c)}function PDt(e,t){var r=SX(e,t);function n(){Zh.select(this).style(TX)}function i(){t.scale(Zh.event.scale).translate(Zh.event.translate),e.render(!0);var s=t.invert(e.midPt);e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.center.lon\":s[0],\"geo.center.lat\":s[1]})}function a(s){var l=t.invert(e.midPt);s(\"center.lon\",l[0]),s(\"center.lat\",l[1])}function o(){Zh.select(this).style(AX),MX(e,t,a)}return r.on(\"zoomstart\",n).on(\"zoom\",i).on(\"zoomend\",o),r}function IDt(e,t){var r=SX(e,t),n=2,i,a,o,s,l,u,c,f,h;function d(k){return t.invert(k)}function v(k){var A=d(k);if(!A)return!0;var L=t(A);return Math.abs(L[0]-k[0])>n||Math.abs(L[1]-k[1])>n}function x(){Zh.select(this).style(TX),i=Zh.mouse(this),a=t.rotate(),o=t.translate(),s=a,l=d(i)}function b(){if(u=Zh.mouse(this),v(i)){r.scale(t.scale()),r.translate(t.translate());return}t.scale(Zh.event.scale),t.translate([o[0],Zh.event.translate[1]]),l?d(u)&&(f=d(u),c=[s[0]+(f[0]-l[0]),a[1],a[2]],t.rotate(c),s=c):(i=u,l=d(i)),h=!0,e.render(!0);var k=t.rotate(),A=t.invert(e.midPt);e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.center.lon\":A[0],\"geo.center.lat\":A[1],\"geo.projection.rotation.lon\":-k[0]})}function p(){Zh.select(this).style(AX),h&&MX(e,t,E)}function E(k){var A=t.rotate(),L=t.invert(e.midPt);k(\"projection.rotation.lon\",-A[0]),k(\"center.lon\",L[0]),k(\"center.lat\",L[1])}return r.on(\"zoomstart\",x).on(\"zoom\",b).on(\"zoomend\",p),r}function RDt(e,t){var r={r:t.rotate(),k:t.scale()},n=SX(e,t),i=UDt(n,\"zoomstart\",\"zoom\",\"zoomend\"),a=0,o=n.on,s;n.on(\"zoomstart\",function(){Zh.select(this).style(TX);var h=Zh.mouse(this),d=t.rotate(),v=d,x=t.translate(),b=DDt(d);s=Sz(t,h),o.call(n,\"zoom\",function(){var p=Zh.mouse(this);if(t.scale(r.k=Zh.event.scale),!s)h=p,s=Sz(t,h);else if(Sz(t,p)){t.rotate(d).translate(x);var E=Sz(t,p),k=FDt(s,E),A=ODt(zDt(b,k)),L=r.r=qDt(A,s,v);(!isFinite(L[0])||!isFinite(L[1])||!isFinite(L[2]))&&(L=v),t.rotate(L),v=L}u(i.of(this,arguments))}),l(i.of(this,arguments))}).on(\"zoomend\",function(){Zh.select(this).style(AX),o.call(n,\"zoom\",null),c(i.of(this,arguments)),MX(e,t,f)}).on(\"zoom.redraw\",function(){e.render(!0);var h=t.rotate();e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.projection.rotation.lon\":-h[0],\"geo.projection.rotation.lat\":-h[1]})});function l(h){a++||h({type:\"zoomstart\"})}function u(h){h({type:\"zoom\"})}function c(h){--a||h({type:\"zoomend\"})}function f(h){var d=t.rotate();h(\"projection.rotation.lon\",-d[0]),h(\"projection.rotation.lat\",-d[1])}return Zh.rebind(n,i,\"on\")}function Sz(e,t){var r=e.invert(t);return r&&isFinite(r[0])&&isFinite(r[1])&&BDt(r)}function DDt(e){var t=.5*e[0]*Z5,r=.5*e[1]*Z5,n=.5*e[2]*Z5,i=Math.sin(t),a=Math.cos(t),o=Math.sin(r),s=Math.cos(r),l=Math.sin(n),u=Math.cos(n);return[a*s*u+i*o*l,i*s*u-a*o*l,a*o*u+i*s*l,a*s*l-i*o*u]}function zDt(e,t){var r=e[0],n=e[1],i=e[2],a=e[3],o=t[0],s=t[1],l=t[2],u=t[3];return[r*o-n*s-i*l-a*u,r*s+n*o+i*u-a*l,r*l-n*u+i*o+a*s,r*u+n*l-i*s+a*o]}function FDt(e,t){if(!(!e||!t)){var r=NDt(e,t),n=Math.sqrt(ARe(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,ARe(e,t)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}}function qDt(e,t,r){var n=wX(t,2,e[0]);n=wX(n,1,e[1]),n=wX(n,0,e[2]-r[2]);var i=t[0],a=t[1],o=t[2],s=n[0],l=n[1],u=n[2],c=Math.atan2(a,i)*G2,f=Math.sqrt(i*i+a*a),h,d;Math.abs(l)>f?(d=(l>0?90:-90)-c,h=0):(d=Math.asin(l/f)*G2-c,h=Math.sqrt(f*f-l*l));var v=180-d-2*c,x=(Math.atan2(u,s)-Math.atan2(o,h))*G2,b=(Math.atan2(u,s)-Math.atan2(o,-h))*G2,p=wRe(r[0],r[1],d,x),E=wRe(r[0],r[1],v,b);return p<=E?[d,x,r[2]]:[v,b,r[2]]}function wRe(e,t,r,n){var i=TRe(r-e),a=TRe(n-t);return Math.sqrt(i*i+a*a)}function TRe(e){return(e%360+540)%360-180}function wX(e,t,r){var n=r*Z5,i=e.slice(),a=t===0?1:0,o=t===2?1:2,s=Math.cos(n),l=Math.sin(n);return i[a]=e[a]*s-e[o]*l,i[o]=e[o]*s+e[a]*l,i}function ODt(e){return[Math.atan2(2*(e[0]*e[1]+e[2]*e[3]),1-2*(e[1]*e[1]+e[2]*e[2]))*G2,Math.asin(Math.max(-1,Math.min(1,2*(e[0]*e[2]-e[3]*e[1]))))*G2,Math.atan2(2*(e[0]*e[3]+e[1]*e[2]),1-2*(e[2]*e[2]+e[3]*e[3]))*G2]}function BDt(e){var t=e[0]*Z5,r=e[1]*Z5,n=Math.cos(r);return[n*Math.cos(t),n*Math.sin(t),Math.sin(r)]}function ARe(e,t){for(var r=0,n=0,i=e.length;n<i;++n)r+=e[n]*t[n];return r}function NDt(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function UDt(e){for(var t=0,r=arguments.length,n=[];++t<r;)n.push(arguments[t]);var i=Zh.dispatch.apply(null,n);return i.of=function(a,o){return function(s){var l;try{l=s.sourceEvent=Zh.event,s.target=e,Zh.event=s,i[s.type].apply(a,o)}finally{Zh.event=l}}},i}});var RRe=ye((zpr,IRe)=>{\"use strict\";var t1=xa(),CX=xX(),VDt=CX.geoPath,HDt=CX.geoDistance,GDt=bRe(),jDt=ba(),ek=Mr(),WDt=ek.strTranslate,Mz=va(),QE=ao(),ERe=Nc(),ZDt=Xu(),kX=Qa(),kRe=wg().getAutoRange,EX=gv(),XDt=wf().prepSelect,YDt=wf().clearOutline,KDt=wf().selectOnClick,JDt=MRe(),fp=YE(),$Dt=nx(),LRe=cz(),QDt=aX().feature;function PRe(e){this.id=e.id,this.graphDiv=e.graphDiv,this.container=e.container,this.topojsonURL=e.topojsonURL,this.isStatic=e.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.scope=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}var $g=PRe.prototype;IRe.exports=function(t){return new PRe(t)};$g.plot=function(e,t,r,n){var i=this;if(n)return i.update(e,t,!0);i._geoCalcData=e,i._fullLayout=t;var a=t[this.id],o=[],s=!1;for(var l in fp.layerNameToAdjective)if(l!==\"frame\"&&a[\"show\"+l]){s=!0;break}for(var u=!1,c=0;c<e.length;c++){var f=e[0][0].trace;f._geo=i,f.locationmode&&(s=!0);var h=f.marker;if(h){var d=h.angle,v=h.angleref;(d||v===\"north\"||v===\"previous\")&&(u=!0)}}if(this._hasMarkerAngles=u,s){var x=LRe.getTopojsonName(a);(i.topojson===null||x!==i.topojsonName)&&(i.topojsonName=x,PlotlyGeoAssets.topojson[i.topojsonName]===void 0&&o.push(i.fetchTopojson()))}o=o.concat($Dt.fetchTraceGeoData(e)),r.push(new Promise(function(b,p){Promise.all(o).then(function(){i.topojson=PlotlyGeoAssets.topojson[i.topojsonName],i.update(e,t),b()}).catch(p)}))};$g.fetchTopojson=function(){var e=this,t=LRe.getTopojsonPath(e.topojsonURL,e.topojsonName);return new Promise(function(r,n){t1.json(t,function(i,a){if(i)return i.status===404?n(new Error([\"plotly.js could not find topojson file at\",t+\".\",\"Make sure the *topojsonURL* plot config option\",\"is set properly.\"].join(\" \"))):n(new Error([\"unexpected error while fetching topojson file at\",t].join(\" \")));PlotlyGeoAssets.topojson[e.topojsonName]=a,r()})})};$g.update=function(e,t,r){var n=t[this.id];this.hasChoropleth=!1;for(var i=0;i<e.length;i++){var a=e[i],o=a[0].trace;o.type===\"choropleth\"&&(this.hasChoropleth=!0),o.visible===!0&&o._length>0&&o._module.calcGeoJSON(a,t)}if(!r){var s=this.updateProjection(e,t);if(s)return;(!this.viewInitial||this.scope!==n.scope)&&this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(t,n),this.updateDims(t,n),this.updateFx(t,n),ZDt.generalUpdatePerTraceModule(this.graphDiv,this,e,n);var l=this.layers.frontplot.select(\".scatterlayer\");this.dataPoints.point=l.selectAll(\".point\"),this.dataPoints.text=l.selectAll(\"text\"),this.dataPaths.line=l.selectAll(\".js-line\");var u=this.layers.backplot.select(\".choroplethlayer\");this.dataPaths.choropleth=u.selectAll(\"path\"),this._render()};$g.updateProjection=function(e,t){var r=this.graphDiv,n=t[this.id],i=t._size,a=n.domain,o=n.projection,s=n.lonaxis,l=n.lataxis,u=s._ax,c=l._ax,f=this.projection=ezt(n),h=[[i.l+i.w*a.x[0],i.t+i.h*(1-a.y[1])],[i.l+i.w*a.x[1],i.t+i.h*(1-a.y[0])]],d=n.center||{},v=o.rotation||{},x=s.range||[],b=l.range||[];if(n.fitbounds){u._length=h[1][0]-h[0][0],c._length=h[1][1]-h[0][1],u.range=kRe(r,u),c.range=kRe(r,c);var p=(u.range[0]+u.range[1])/2,E=(c.range[0]+c.range[1])/2;if(n._isScoped)d={lon:p,lat:E};else if(n._isClipped){d={lon:p,lat:E},v={lon:p,lat:E,roll:v.roll};var k=o.type,A=fp.lonaxisSpan[k]/2||180,L=fp.lataxisSpan[k]/2||90;x=[p-A,p+A],b=[E-L,E+L]}else d={lon:p,lat:E},v={lon:p,lat:v.lat,roll:v.roll}}f.center([d.lon-v.lon,d.lat-v.lat]).rotate([-v.lon,-v.lat,v.roll]).parallels(o.parallels);var _=CRe(x,b);f.fitExtent(h,_);var C=this.bounds=f.getBounds(_),M=this.fitScale=f.scale(),g=f.translate();if(n.fitbounds){var P=f.getBounds(CRe(u.range,c.range)),T=Math.min((C[1][0]-C[0][0])/(P[1][0]-P[0][0]),(C[1][1]-C[0][1])/(P[1][1]-P[0][1]));isFinite(T)?f.scale(T*M):ek.warn(\"Something went wrong during\"+this.id+\"fitbounds computations.\")}else f.scale(o.scale*M);var F=this.midPt=[(C[0][0]+C[1][0])/2,(C[0][1]+C[1][1])/2];if(f.translate([g[0]+(F[0]-g[0]),g[1]+(F[1]-g[1])]).clipExtent(C),n._isAlbersUsa){var q=f([d.lon,d.lat]),V=f.translate();f.translate([V[0]-(q[0]-V[0]),V[1]-(q[1]-V[1])])}};$g.updateBaseLayers=function(e,t){var r=this,n=r.topojson,i=r.layers,a=r.basePaths;function o(h){return h===\"lonaxis\"||h===\"lataxis\"}function s(h){return!!fp.lineLayers[h]}function l(h){return!!fp.fillLayers[h]}var u=this.hasChoropleth?fp.layersForChoropleth:fp.layers,c=u.filter(function(h){return s(h)||l(h)?t[\"show\"+h]:o(h)?t[h].showgrid:!0}),f=r.framework.selectAll(\".layer\").data(c,String);f.exit().each(function(h){delete i[h],delete a[h],t1.select(this).remove()}),f.enter().append(\"g\").attr(\"class\",function(h){return\"layer \"+h}).each(function(h){var d=i[h]=t1.select(this);h===\"bg\"?r.bgRect=d.append(\"rect\").style(\"pointer-events\",\"all\"):o(h)?a[h]=d.append(\"path\").style(\"fill\",\"none\"):h===\"backplot\"?d.append(\"g\").classed(\"choroplethlayer\",!0):h===\"frontplot\"?d.append(\"g\").classed(\"scatterlayer\",!0):s(h)?a[h]=d.append(\"path\").style(\"fill\",\"none\").style(\"stroke-miterlimit\",2):l(h)&&(a[h]=d.append(\"path\").style(\"stroke\",\"none\"))}),f.order(),f.each(function(h){var d=a[h],v=fp.layerNameToAdjective[h];h===\"frame\"?d.datum(fp.sphereSVG):s(h)||l(h)?d.datum(QDt(n,n.objects[h])):o(h)&&d.datum(tzt(h,t,e)).call(Mz.stroke,t[h].gridcolor).call(QE.dashLine,t[h].griddash,t[h].gridwidth),s(h)?d.call(Mz.stroke,t[v+\"color\"]).call(QE.dashLine,\"\",t[v+\"width\"]):l(h)&&d.call(Mz.fill,t[v+\"color\"])})};$g.updateDims=function(e,t){var r=this.bounds,n=(t.framewidth||0)/2,i=r[0][0]-n,a=r[0][1]-n,o=r[1][0]-i+n,s=r[1][1]-a+n;QE.setRect(this.clipRect,i,a,o,s),this.bgRect.call(QE.setRect,i,a,o,s).call(Mz.fill,t.bgcolor),this.xaxis._offset=i,this.xaxis._length=o,this.yaxis._offset=a,this.yaxis._length=s};$g.updateFx=function(e,t){var r=this,n=r.graphDiv,i=r.bgRect,a=e.dragmode,o=e.clickmode;if(r.isStatic)return;function s(){var f=r.viewInitial,h={};for(var d in f)h[r.id+\".\"+d]=f[d];jDt.call(\"_guiRelayout\",n,h),n.emit(\"plotly_doubleclick\",null)}function l(f){return r.projection.invert([f[0]+r.xaxis._offset,f[1]+r.yaxis._offset])}var u=function(f,h){if(h.isRect){var d=f.range={};d[r.id]=[l([h.xmin,h.ymin]),l([h.xmax,h.ymax])]}else{var v=f.lassoPoints={};v[r.id]=h.map(l)}},c={element:r.bgRect.node(),gd:n,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:u},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(f){f===2&&YDt(n)}};a===\"pan\"?(i.node().onmousedown=null,i.call(JDt(r,t)),i.on(\"dblclick.zoom\",s),n._context._scrollZoom.geo||i.on(\"wheel.zoom\",null)):(a===\"select\"||a===\"lasso\")&&(i.on(\".zoom\",null),c.prepFn=function(f,h,d){XDt(f,h,d,c,a)},EX.init(c)),i.on(\"mousemove\",function(){var f=r.projection.invert(ek.getPositionFromD3Event());if(!f)return EX.unhover(n,t1.event);r.xaxis.p2c=function(){return f[0]},r.yaxis.p2c=function(){return f[1]},ERe.hover(n,t1.event,r.id)}),i.on(\"mouseout\",function(){n._dragging||EX.unhover(n,t1.event)}),i.on(\"click\",function(){a!==\"select\"&&a!==\"lasso\"&&(o.indexOf(\"select\")>-1&&KDt(t1.event,n,[r.xaxis],[r.yaxis],r.id,c),o.indexOf(\"event\")>-1&&ERe.click(n,t1.event))})};$g.makeFramework=function(){var e=this,t=e.graphDiv,r=t._fullLayout,n=\"clip\"+r._uid+e.id;e.clipDef=r._clips.append(\"clipPath\").attr(\"id\",n),e.clipRect=e.clipDef.append(\"rect\"),e.framework=t1.select(e.container).append(\"g\").attr(\"class\",\"geo \"+e.id).call(QE.setClipUrl,n,t),e.project=function(i){var a=e.projection(i);return a?[a[0]-e.xaxis._offset,a[1]-e.yaxis._offset]:[null,null]},e.xaxis={_id:\"x\",c2p:function(i){return e.project(i)[0]}},e.yaxis={_id:\"y\",c2p:function(i){return e.project(i)[1]}},e.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},kX.setConvert(e.mockAxis,r)};$g.saveViewInitial=function(e){var t=e.center||{},r=e.projection,n=r.rotation||{};this.viewInitial={fitbounds:e.fitbounds,\"projection.scale\":r.scale};var i;e._isScoped?i={\"center.lon\":t.lon,\"center.lat\":t.lat}:e._isClipped?i={\"projection.rotation.lon\":n.lon,\"projection.rotation.lat\":n.lat}:i={\"center.lon\":t.lon,\"center.lat\":t.lat,\"projection.rotation.lon\":n.lon},ek.extendFlat(this.viewInitial,i)};$g.render=function(e){this._hasMarkerAngles&&e?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()};$g._render=function(){var e=this.projection,t=e.getPath(),r;function n(a){var o=e(a.lonlat);return o?WDt(o[0],o[1]):null}function i(a){return e.isLonLatOverEdges(a.lonlat)?\"none\":null}for(r in this.basePaths)this.basePaths[r].attr(\"d\",t);for(r in this.dataPaths)this.dataPaths[r].attr(\"d\",function(a){return t(a.geojson)});for(r in this.dataPoints)this.dataPoints[r].attr(\"display\",i).attr(\"transform\",n)};function ezt(e){var t=e.projection,r=t.type,n=fp.projNames[r];n=\"geo\"+ek.titleCase(n);for(var i=CX[n]||GDt[n],a=i(),o=e._isSatellite?Math.acos(1/t.distance)*180/Math.PI:e._isClipped?fp.lonaxisSpan[r]/2:null,s=[\"center\",\"rotate\",\"parallels\",\"clipExtent\"],l=function(f){return f?a:[]},u=0;u<s.length;u++){var c=s[u];typeof a[c]!=\"function\"&&(a[c]=l)}return a.isLonLatOverEdges=function(f){if(a(f)===null)return!0;if(o){var h=a.rotate(),d=HDt(f,[-h[0],-h[1]]),v=o*Math.PI/180;return d>v}else return!1},a.getPath=function(){return VDt().projection(a)},a.getBounds=function(f){return a.getPath().bounds(f)},a.precision(fp.precision),e._isSatellite&&a.tilt(t.tilt).distance(t.distance),o&&a.clipAngle(o-fp.clipPad),a}function tzt(e,t,r){var n=1e-6,i=2.5,a=t[e],o=fp.scopeDefaults[t.scope],s,l,u;e===\"lonaxis\"?(s=o.lonaxisRange,l=o.lataxisRange,u=function(E,k){return[E,k]}):e===\"lataxis\"&&(s=o.lataxisRange,l=o.lonaxisRange,u=function(E,k){return[k,E]});var c={type:\"linear\",range:[s[0],s[1]-n],tick0:a.tick0,dtick:a.dtick};kX.setConvert(c,r);var f=kX.calcTicks(c);!t.isScoped&&e===\"lonaxis\"&&f.pop();for(var h=f.length,d=new Array(h),v=0;v<h;v++)for(var x=f[v].x,b=d[v]=[],p=l[0];p<l[1]+i;p+=i)b.push(u(x,p));return{type:\"MultiLineString\",coordinates:d}}function CRe(e,t){var r=fp.clipPad,n=e[0]+r,i=e[1]-r,a=t[0]+r,o=t[1]-r;n>0&&i<0&&(i+=360);var s=(i-n)/4;return{type:\"Polygon\",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}});var LX=ye((Fpr,FRe)=>{\"use strict\";var Y5=dh(),rzt=Ju().attributes,izt=Ed().dash,X5=YE(),nzt=Bu().overrideAll,DRe=Y1(),zRe={range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},showgrid:{valType:\"boolean\",dflt:!1},tick0:{valType:\"number\",dflt:0},dtick:{valType:\"number\"},gridcolor:{valType:\"color\",dflt:Y5.lightLine},gridwidth:{valType:\"number\",min:0,dflt:1},griddash:izt},azt=FRe.exports=nzt({domain:rzt({name:\"geo\"},{}),fitbounds:{valType:\"enumerated\",values:[!1,\"locations\",\"geojson\"],dflt:!1,editType:\"plot\"},resolution:{valType:\"enumerated\",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:\"enumerated\",values:DRe(X5.scopeDefaults),dflt:\"world\"},projection:{type:{valType:\"enumerated\",values:DRe(X5.projNames)},rotation:{lon:{valType:\"number\"},lat:{valType:\"number\"},roll:{valType:\"number\"}},tilt:{valType:\"number\",dflt:0},distance:{valType:\"number\",min:1.001,dflt:2},parallels:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},scale:{valType:\"number\",min:0,dflt:1}},center:{lon:{valType:\"number\"},lat:{valType:\"number\"}},visible:{valType:\"boolean\",dflt:!0},showcoastlines:{valType:\"boolean\"},coastlinecolor:{valType:\"color\",dflt:Y5.defaultLine},coastlinewidth:{valType:\"number\",min:0,dflt:1},showland:{valType:\"boolean\",dflt:!1},landcolor:{valType:\"color\",dflt:X5.landColor},showocean:{valType:\"boolean\",dflt:!1},oceancolor:{valType:\"color\",dflt:X5.waterColor},showlakes:{valType:\"boolean\",dflt:!1},lakecolor:{valType:\"color\",dflt:X5.waterColor},showrivers:{valType:\"boolean\",dflt:!1},rivercolor:{valType:\"color\",dflt:X5.waterColor},riverwidth:{valType:\"number\",min:0,dflt:1},showcountries:{valType:\"boolean\"},countrycolor:{valType:\"color\",dflt:Y5.defaultLine},countrywidth:{valType:\"number\",min:0,dflt:1},showsubunits:{valType:\"boolean\"},subunitcolor:{valType:\"color\",dflt:Y5.defaultLine},subunitwidth:{valType:\"number\",min:0,dflt:1},showframe:{valType:\"boolean\"},framecolor:{valType:\"color\",dflt:Y5.defaultLine},framewidth:{valType:\"number\",min:0,dflt:1},bgcolor:{valType:\"color\",dflt:Y5.background},lonaxis:zRe,lataxis:zRe},\"plot\",\"from-root\");azt.uirevision={valType:\"any\",editType:\"none\"}});var BRe=ye((qpr,ORe)=>{\"use strict\";var Ez=Mr(),ozt=C_(),szt=kd().getSubplotData,kz=YE(),lzt=LX(),qRe=kz.axesNames;ORe.exports=function(t,r,n){ozt(t,r,n,{type:\"geo\",attributes:lzt,handleDefaults:uzt,fullData:n,partition:\"y\"})};function uzt(e,t,r,n){var i=szt(n.fullData,\"geo\",n.id),a=i.map(function(ae){return ae.index}),o=r(\"resolution\"),s=r(\"scope\"),l=kz.scopeDefaults[s],u=r(\"projection.type\",l.projType),c=t._isAlbersUsa=u===\"albers usa\";c&&(s=t.scope=\"usa\");var f=t._isScoped=s!==\"world\",h=t._isSatellite=u===\"satellite\",d=t._isConic=u.indexOf(\"conic\")!==-1||u===\"albers\",v=t._isClipped=!!kz.lonaxisSpan[u];if(e.visible===!1){var x=Ez.extendDeep({},t._template);x.showcoastlines=!1,x.showcountries=!1,x.showframe=!1,x.showlakes=!1,x.showland=!1,x.showocean=!1,x.showrivers=!1,x.showsubunits=!1,x.lonaxis&&(x.lonaxis.showgrid=!1),x.lataxis&&(x.lataxis.showgrid=!1),t._template=x}for(var b=r(\"visible\"),p,E=0;E<qRe.length;E++){var k=qRe[E],A=[30,10][E],L;if(f)L=l[k+\"Range\"];else{var _=kz[k+\"Span\"],C=(_[u]||_[\"*\"])/2,M=r(\"projection.rotation.\"+k.substr(0,3),l.projRotate[E]);L=[M-C,M+C]}var g=r(k+\".range\",L);r(k+\".tick0\"),r(k+\".dtick\",A),p=r(k+\".showgrid\",b?void 0:!1),p&&(r(k+\".gridcolor\"),r(k+\".gridwidth\"),r(k+\".griddash\")),t[k]._ax={type:\"linear\",_id:k.slice(0,3),_traceIndices:a,setScale:Ez.identity,c2l:Ez.identity,r2l:Ez.identity,autorange:!0,range:g.slice(),_m:1,_input:{}}}var P=t.lonaxis.range,T=t.lataxis.range,F=P[0],q=P[1];F>0&&q<0&&(q+=360);var V=(F+q)/2,H;if(!c){var X=f?l.projRotate:[V,0,0];H=r(\"projection.rotation.lon\",X[0]),r(\"projection.rotation.lat\",X[1]),r(\"projection.rotation.roll\",X[2]),p=r(\"showcoastlines\",!f&&b),p&&(r(\"coastlinecolor\"),r(\"coastlinewidth\")),p=r(\"showocean\",b?void 0:!1),p&&r(\"oceancolor\")}var G,N;if(c?(G=-96.6,N=38.7):(G=f?V:H,N=(T[0]+T[1])/2),r(\"center.lon\",G),r(\"center.lat\",N),h&&(r(\"projection.tilt\"),r(\"projection.distance\")),d){var W=l.projParallels||[0,60];r(\"projection.parallels\",W)}r(\"projection.scale\"),p=r(\"showland\",b?void 0:!1),p&&r(\"landcolor\"),p=r(\"showlakes\",b?void 0:!1),p&&r(\"lakecolor\"),p=r(\"showrivers\",b?void 0:!1),p&&(r(\"rivercolor\"),r(\"riverwidth\")),p=r(\"showcountries\",f&&s!==\"usa\"&&b),p&&(r(\"countrycolor\"),r(\"countrywidth\")),(s===\"usa\"||s===\"north america\"&&o===50)&&(r(\"showsubunits\",b),r(\"subunitcolor\"),r(\"subunitwidth\")),f||(p=r(\"showframe\",b),p&&(r(\"framecolor\"),r(\"framewidth\"))),r(\"bgcolor\");var re=r(\"fitbounds\");re&&(delete t.projection.scale,f?(delete t.center.lon,delete t.center.lat):v?(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon,delete t.projection.rotation.lat,delete t.lonaxis.range,delete t.lataxis.range):(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon))}});var PX=ye((Opr,VRe)=>{\"use strict\";var czt=kd().getSubplotCalcData,fzt=Mr().counterRegex,hzt=RRe(),Wm=\"geo\",NRe=fzt(Wm),URe={};URe[Wm]={valType:\"subplotid\",dflt:Wm,editType:\"calc\"};function dzt(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[Wm],i=0;i<n.length;i++){var a=n[i],o=czt(r,Wm,a),s=t[a],l=s._subplot;l||(l=hzt({id:a,graphDiv:e,container:t._geolayer.node(),topojsonURL:e._context.topojsonURL,staticPlot:e._context.staticPlot}),t[a]._subplot=l),l.plot(o,t,e._promises)}}function vzt(e,t,r,n){for(var i=n._subplots[Wm]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!t[o]&&s&&(s.framework.remove(),s.clipDef.remove())}}function pzt(e){for(var t=e._fullLayout,r=t._subplots[Wm],n=0;n<r.length;n++){var i=t[r[n]],a=i._subplot;a.updateFx(t,i)}}VRe.exports={attr:Wm,name:Wm,idRoot:Wm,idRegex:NRe,attrRegex:NRe,attributes:URe,layoutAttributes:LX(),supplyLayoutDefaults:BRe(),plot:dzt,updateFx:pzt,clean:vzt}});var GRe=ye((Bpr,HRe)=>{\"use strict\";HRe.exports={attributes:H2(),supplyDefaults:A8e(),colorbar:Kd(),formatLabels:E8e(),calc:lz(),calcGeoJSON:_X().calcGeoJSON,plot:_X().plot,style:pX(),styleOnSelect:op().styleOnSelect,hoverPoints:hRe(),eventData:vRe(),selectPoints:mRe(),moduleType:\"trace\",name:\"scattergeo\",basePlotModule:PX(),categories:[\"geo\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var WRe=ye((Npr,jRe)=>{\"use strict\";jRe.exports=GRe()});var K5=ye((Upr,YRe)=>{\"use strict\";var gzt=Wo().hovertemplateAttrs,ox=H2(),mzt=Jl(),ZRe=vl(),yzt=dh().defaultLine,ax=no().extendFlat,XRe=ox.marker.line;YRe.exports=ax({locations:{valType:\"data_array\",editType:\"calc\"},locationmode:ox.locationmode,z:{valType:\"data_array\",editType:\"calc\"},geojson:ax({},ox.geojson,{}),featureidkey:ox.featureidkey,text:ax({},ox.text,{}),hovertext:ax({},ox.hovertext,{}),marker:{line:{color:ax({},XRe.color,{dflt:yzt}),width:ax({},XRe.width,{dflt:1}),editType:\"calc\"},opacity:{valType:\"number\",arrayOk:!0,min:0,max:1,dflt:1,editType:\"style\"},editType:\"calc\"},selected:{marker:{opacity:ox.selected.marker.opacity,editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:ox.unselected.marker.opacity,editType:\"plot\"},editType:\"plot\"},hoverinfo:ax({},ZRe.hoverinfo,{editType:\"calc\",flags:[\"location\",\"z\",\"text\",\"name\"]}),hovertemplate:gzt(),showlegend:ax({},ZRe.showlegend,{dflt:!1})},mzt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var JRe=ye((Vpr,KRe)=>{\"use strict\";var Cz=Mr(),_zt=Uh(),xzt=K5();KRe.exports=function(t,r,n,i){function a(h,d){return Cz.coerce(t,r,xzt,h,d)}var o=a(\"locations\"),s=a(\"z\");if(!(o&&o.length&&Cz.isArrayOrTypedArray(s)&&s.length)){r.visible=!1;return}r._length=Math.min(o.length,s.length);var l=a(\"geojson\"),u;(typeof l==\"string\"&&l!==\"\"||Cz.isPlainObject(l))&&(u=\"geojson-id\");var c=a(\"locationmode\",u);c===\"geojson-id\"&&a(\"featureidkey\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\");var f=a(\"marker.line.width\");f&&a(\"marker.line.color\"),a(\"marker.opacity\"),_zt(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),Cz.coerceSelectionMarkerOpacity(r,a)}});var Lz=ye((Hpr,eDe)=>{\"use strict\";var $Re=uo(),bzt=es().BADNUM,wzt=zv(),Tzt=km(),Azt=F0();function QRe(e){return e&&typeof e==\"string\"}eDe.exports=function(t,r){var n=r._length,i=new Array(n),a;r.geojson?a=function(c){return QRe(c)||$Re(c)}:a=QRe;for(var o=0;o<n;o++){var s=i[o]={},l=r.locations[o],u=r.z[o];a(l)&&$Re(u)?(s.loc=l,s.z=u):(s.loc=null,s.z=bzt),s.index=o}return Tzt(i,r),wzt(t,r,{vals:r.z,containerStr:\"\",cLetter:\"z\"}),Azt(i,r),i}});var Pz=ye((Gpr,rDe)=>{\"use strict\";var Szt=xa(),Mzt=va(),IX=ao(),Ezt=Mu();function kzt(e,t){t&&tDe(e,t)}function tDe(e,t){var r=t[0].trace,n=t[0].node3,i=n.selectAll(\".choroplethlocation\"),a=r.marker||{},o=a.line||{},s=Ezt.makeColorScaleFuncFromTrace(r);i.each(function(l){Szt.select(this).attr(\"fill\",s(l.z)).call(Mzt.stroke,l.mlc||o.color).call(IX.dashLine,\"\",l.mlw||o.width||0).style(\"opacity\",a.opacity)}),IX.selectedPointStyle(i,r)}function Czt(e,t){var r=t[0].node3,n=t[0].trace;n.selectedpoints?IX.selectedPointStyle(r.selectAll(\".choroplethlocation\"),n):tDe(e,t)}rDe.exports={style:kzt,styleOnSelect:Czt}});var RX=ye((jpr,aDe)=>{\"use strict\";var Lzt=xa(),iDe=Mr(),J5=nx(),Pzt=cz().getTopojsonFeatures,nDe=wg().findExtremes,Izt=Pz().style;function Rzt(e,t,r){var n=t.layers.backplot.select(\".choroplethlayer\");iDe.makeTraceGroups(n,r,\"trace choropleth\").each(function(i){var a=Lzt.select(this),o=a.selectAll(\"path.choroplethlocation\").data(iDe.identity);o.enter().append(\"path\").classed(\"choroplethlocation\",!0),o.exit().remove(),Izt(e,i)})}function Dzt(e,t){for(var r=e[0].trace,n=t[r.geo],i=n._subplot,a=r.locationmode,o=r._length,s=a===\"geojson-id\"?J5.extractTraceFeature(e):Pzt(r,i.topojson),l=[],u=[],c=0;c<o;c++){var f=e[c],h=a===\"geojson-id\"?f.fOut:J5.locationToFeature(a,f.loc,s);if(h){f.geojson=h,f.ct=h.properties.ct,f._polygons=J5.feature2polygons(h);var d=J5.computeBbox(h);l.push(d[0],d[2]),u.push(d[1],d[3])}else f.geojson=null}if(n.fitbounds===\"geojson\"&&a===\"geojson-id\"){var v=J5.computeBbox(J5.getTraceGeojson(r));l=[v[0],v[2]],u=[v[1],v[3]]}var x={padded:!0};r._extremes.lon=nDe(n.lonaxis._ax,l,x),r._extremes.lat=nDe(n.lataxis._ax,u,x)}aDe.exports={calcGeoJSON:Dzt,plot:Rzt}});var Iz=ye((Wpr,oDe)=>{\"use strict\";var zzt=Qa(),Fzt=K5(),qzt=Mr().fillText;oDe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.subplot,s,l,u,c,f=[r,n],h=[r+360,n];for(l=0;l<i.length;l++)if(s=i[l],c=!1,s._polygons){for(u=0;u<s._polygons.length;u++)s._polygons[u].contains(f)&&(c=!c),s._polygons[u].contains(h)&&(c=!c);if(c)break}if(!(!c||!s))return t.x0=t.x1=t.xa.c2p(s.ct),t.y0=t.y1=t.ya.c2p(s.ct),t.index=s.index,t.location=s.loc,t.z=s.z,t.zLabel=zzt.tickText(o.mockAxis,o.mockAxis.c2l(s.z),\"hover\").text,t.hovertemplate=s.hovertemplate,Ozt(t,a,s),[t]};function Ozt(e,t,r){if(!t.hovertemplate){var n=r.hi||t.hoverinfo,i=String(r.loc),a=n===\"all\"?Fzt.hoverinfo.flags:n.split(\"+\"),o=a.indexOf(\"name\")!==-1,s=a.indexOf(\"location\")!==-1,l=a.indexOf(\"z\")!==-1,u=a.indexOf(\"text\")!==-1,c=!o&&s,f=[];c?e.nameOverride=i:(o&&(e.nameOverride=t.name),s&&f.push(i)),l&&f.push(e.zLabel),u&&qzt(r,t,f),e.extraText=f.join(\"<br>\")}}});var Rz=ye((Zpr,sDe)=>{\"use strict\";sDe.exports=function(t,r,n,i,a){t.location=r.location,t.z=r.z;var o=i[a];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t.ct=o.ct,t}});var Dz=ye((Xpr,lDe)=>{\"use strict\";lDe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l,u,c,f;if(r===!1)for(s=0;s<n.length;s++)n[s].selected=0;else for(s=0;s<n.length;s++)l=n[s],u=l.ct,u&&(c=i.c2p(u),f=a.c2p(u),r.contains([c,f],null,s,t)?(o.push({pointNumber:s,lon:u[0],lat:u[1]}),l.selected=1):l.selected=0);return o}});var cDe=ye((Ypr,uDe)=>{\"use strict\";uDe.exports={attributes:K5(),supplyDefaults:JRe(),colorbar:M_(),calc:Lz(),calcGeoJSON:RX().calcGeoJSON,plot:RX().plot,style:Pz().style,styleOnSelect:Pz().styleOnSelect,hoverPoints:Iz(),eventData:Rz(),selectPoints:Dz(),moduleType:\"trace\",name:\"choropleth\",basePlotModule:PX(),categories:[\"geo\",\"noOpacity\",\"showLegend\"],meta:{}}});var hDe=ye((Kpr,fDe)=>{\"use strict\";fDe.exports=cDe()});var zz=ye((Jpr,vDe)=>{\"use strict\";var Bzt=ba(),s0=Mr(),Nzt=oT();function Uzt(e,t,r,n){var i=e.cd,a=i[0].t,o=i[0].trace,s=e.xa,l=e.ya,u=a.x,c=a.y,f=s.c2p(t),h=l.c2p(r),d=e.distance,v;if(a.tree){var x=s.p2c(f-d),b=s.p2c(f+d),p=l.p2c(h-d),E=l.p2c(h+d);n===\"x\"?v=a.tree.range(Math.min(x,b),Math.min(l._rl[0],l._rl[1]),Math.max(x,b),Math.max(l._rl[0],l._rl[1])):v=a.tree.range(Math.min(x,b),Math.min(p,E),Math.max(x,b),Math.max(p,E))}else v=a.ids;var k,A,L,_,C,M,g,P,T,F=d;if(n===\"x\"){var q=!!o.xperiodalignment,V=!!o.yperiodalignment;for(C=0;C<v.length;C++){if(k=v[C],L=u[k],M=Math.abs(s.c2p(L)-f),q){var H=s.c2p(o._xStarts[k]),X=s.c2p(o._xEnds[k]);M=f>=Math.min(H,X)&&f<=Math.max(H,X)?0:1/0}if(M<F){if(F=M,_=c[k],g=l.c2p(_)-h,V){var G=l.c2p(o._yStarts[k]),N=l.c2p(o._yEnds[k]);g=h>=Math.min(G,N)&&h<=Math.max(G,N)?0:1/0}T=Math.sqrt(M*M+g*g),A=v[C]}}}else for(C=v.length-1;C>-1;C--)k=v[C],L=u[k],_=c[k],M=s.c2p(L)-f,g=l.c2p(_)-h,P=Math.sqrt(M*M+g*g),P<F&&(F=T=P,A=k);return e.index=A,e.distance=F,e.dxy=T,A===void 0?[e]:[dDe(e,u,c,o)]}function dDe(e,t,r,n){var i=e.xa,a=e.ya,o=e.distance,s=e.dxy,l=e.index,u={pointNumber:l,x:t[l],y:r[l]};u.tx=s0.isArrayOrTypedArray(n.text)?n.text[l]:n.text,u.htx=Array.isArray(n.hovertext)?n.hovertext[l]:n.hovertext,u.data=Array.isArray(n.customdata)?n.customdata[l]:n.customdata,u.tp=Array.isArray(n.textposition)?n.textposition[l]:n.textposition;var c=n.textfont;c&&(u.ts=s0.isArrayOrTypedArray(c.size)?c.size[l]:c.size,u.tc=s0.isArrayOrTypedArray(c.color)?c.color[l]:c.color,u.tf=Array.isArray(c.family)?c.family[l]:c.family,u.tw=Array.isArray(c.weight)?c.weight[l]:c.weight,u.ty=Array.isArray(c.style)?c.style[l]:c.style,u.tv=Array.isArray(c.variant)?c.variant[l]:c.variant);var f=n.marker;f&&(u.ms=s0.isArrayOrTypedArray(f.size)?f.size[l]:f.size,u.mo=s0.isArrayOrTypedArray(f.opacity)?f.opacity[l]:f.opacity,u.mx=s0.isArrayOrTypedArray(f.symbol)?f.symbol[l]:f.symbol,u.ma=s0.isArrayOrTypedArray(f.angle)?f.angle[l]:f.angle,u.mc=s0.isArrayOrTypedArray(f.color)?f.color[l]:f.color);var h=f&&f.line;h&&(u.mlc=Array.isArray(h.color)?h.color[l]:h.color,u.mlw=s0.isArrayOrTypedArray(h.width)?h.width[l]:h.width);var d=f&&f.gradient;d&&d.type!==\"none\"&&(u.mgt=Array.isArray(d.type)?d.type[l]:d.type,u.mgc=Array.isArray(d.color)?d.color[l]:d.color);var v=i.c2p(u.x,!0),x=a.c2p(u.y,!0),b=u.mrc||1,p=n.hoverlabel;p&&(u.hbg=Array.isArray(p.bgcolor)?p.bgcolor[l]:p.bgcolor,u.hbc=Array.isArray(p.bordercolor)?p.bordercolor[l]:p.bordercolor,u.hts=s0.isArrayOrTypedArray(p.font.size)?p.font.size[l]:p.font.size,u.htc=Array.isArray(p.font.color)?p.font.color[l]:p.font.color,u.htf=Array.isArray(p.font.family)?p.font.family[l]:p.font.family,u.hnl=s0.isArrayOrTypedArray(p.namelength)?p.namelength[l]:p.namelength);var E=n.hoverinfo;E&&(u.hi=Array.isArray(E)?E[l]:E);var k=n.hovertemplate;k&&(u.ht=Array.isArray(k)?k[l]:k);var A={};A[e.index]=u;var L=n._origX,_=n._origY,C=s0.extendFlat({},e,{color:Nzt(n,u),x0:v-b,x1:v+b,xLabelVal:L?L[l]:u.x,y0:x-b,y1:x+b,yLabelVal:_?_[l]:u.y,cd:A,distance:o,spikeDistance:s,hovertemplate:u.ht});return u.htx?C.text=u.htx:u.tx?C.text=u.tx:n.text&&(C.text=n.text),s0.fillText(u,n,C),Bzt.getComponentMethod(\"errorbars\",\"hoverInfo\")(u,n,C),C}vDe.exports={hoverPoints:Uzt,calcHover:dDe}});var sx=ye(($pr,gDe)=>{\"use strict\";var pDe=20;gDe.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:pDe,SYMBOL_STROKE:pDe/20,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]}}});var tk=ye((Qpr,xDe)=>{\"use strict\";var Vzt=vl(),Hzt=Su(),Gzt=Eg(),Af=Uc(),mDe=Oc().axisHoverFormat,yDe=Jl(),jzt=Y1(),DX=no().extendFlat,Wzt=Bu().overrideAll,Zzt=sx().DASHES,_De=Af.line,r1=Af.marker,Xzt=r1.line,$5=xDe.exports=Wzt({x:Af.x,x0:Af.x0,dx:Af.dx,y:Af.y,y0:Af.y0,dy:Af.dy,xperiod:Af.xperiod,yperiod:Af.yperiod,xperiod0:Af.xperiod0,yperiod0:Af.yperiod0,xperiodalignment:Af.xperiodalignment,yperiodalignment:Af.yperiodalignment,xhoverformat:mDe(\"x\"),yhoverformat:mDe(\"y\"),text:Af.text,hovertext:Af.hovertext,textposition:Af.textposition,textfont:Hzt({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:\"calc\",colorEditType:\"style\",arrayOk:!0,noNumericWeightValues:!0,variantValues:[\"normal\",\"small-caps\"]}),mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"]},line:{color:_De.color,width:_De.width,shape:{valType:\"enumerated\",values:[\"linear\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\",editType:\"plot\"},dash:{valType:\"enumerated\",values:jzt(Zzt),dflt:\"solid\"}},marker:DX({},yDe(\"marker\"),{symbol:r1.symbol,angle:r1.angle,size:r1.size,sizeref:r1.sizeref,sizemin:r1.sizemin,sizemode:r1.sizemode,opacity:r1.opacity,colorbar:r1.colorbar,line:DX({},yDe(\"marker.line\"),{width:Xzt.width})}),connectgaps:Af.connectgaps,fill:DX({},Af.fill,{dflt:\"none\"}),fillcolor:Gzt(),selected:{marker:Af.selected.marker,textfont:Af.selected.textfont},unselected:{marker:Af.unselected.marker,textfont:Af.unselected.textfont},opacity:Vzt.opacity},\"calc\",\"nested\");$5.x.editType=$5.y.editType=$5.x0.editType=$5.y0.editType=\"calc+clearAxisTypes\";$5.hovertemplate=Af.hovertemplate;$5.texttemplate=Af.texttemplate});var Fz=ye(zX=>{\"use strict\";var bDe=sx();zX.isOpenSymbol=function(e){return typeof e==\"string\"?bDe.OPEN_RE.test(e):e%200>100};zX.isDotSymbol=function(e){return typeof e==\"string\"?bDe.DOT_RE.test(e):e>200}});var ADe=ye((t0r,TDe)=>{\"use strict\";var wDe=Mr(),Yzt=ba(),Kzt=Fz(),Jzt=tk(),$zt=Sm(),qz=lu(),Qzt=K3(),eFt=Pg(),tFt=$p(),rFt=R0(),iFt=Ig(),nFt=D0();TDe.exports=function(t,r,n,i){function a(d,v){return wDe.coerce(t,r,Jzt,d,v)}var o=t.marker?Kzt.isOpenSymbol(t.marker.symbol):!1,s=qz.isBubble(t),l=Qzt(t,r,i,a);if(!l){r.visible=!1;return}eFt(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\");var u=l<$zt.PTS_LINESONLY?\"lines+markers\":\"lines\";a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"mode\",u),qz.hasMarkers(r)&&(tFt(t,r,n,i,a,{noAngleRef:!0,noStandOff:!0}),a(\"marker.line.width\",o||s?1:0)),qz.hasLines(r)&&(a(\"connectgaps\"),rFt(t,r,n,i,a),a(\"line.shape\")),qz.hasText(r)&&(a(\"texttemplate\"),nFt(t,r,i,a,{noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}));var c=(r.line||{}).color,f=(r.marker||{}).color;a(\"fill\"),r.fill!==\"none\"&&iFt(t,r,n,a);var h=Yzt.getComponentMethod(\"errorbars\",\"supplyDefaults\");h(t,r,c||f||n,{axis:\"y\"}),h(t,r,c||f||n,{axis:\"x\",inherit:\"y\"}),wDe.coerceSelectionMarkerOpacity(r,a)}});var MDe=ye((r0r,SDe)=>{\"use strict\";var aFt=$P();SDe.exports=function(t,r,n){var i=t.i;return\"x\"in t||(t.x=r._x[i]),\"y\"in t||(t.y=r._y[i]),aFt(t,r,n)}});var kDe=ye((i0r,EDe)=>{\"use strict\";function oFt(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>=0?(a=o,i=o-1):n=o+1}return a}function sFt(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>0?(a=o,i=o-1):n=o+1}return a}function lFt(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<0?(a=o,n=o+1):i=o-1}return a}function uFt(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<=0?(a=o,n=o+1):i=o-1}return a}function cFt(e,t,r,n,i){for(;n<=i;){var a=n+i>>>1,o=e[a],s=r!==void 0?r(o,t):o-t;if(s===0)return a;s<=0?n=a+1:i=a-1}return-1}function rk(e,t,r,n,i,a){return typeof r==\"function\"?a(e,t,r,n===void 0?0:n|0,i===void 0?e.length-1:i|0):a(e,t,void 0,r===void 0?0:r|0,n===void 0?e.length-1:n|0)}EDe.exports={ge:function(e,t,r,n,i){return rk(e,t,r,n,i,oFt)},gt:function(e,t,r,n,i){return rk(e,t,r,n,i,sFt)},lt:function(e,t,r,n,i){return rk(e,t,r,n,i,lFt)},le:function(e,t,r,n,i){return rk(e,t,r,n,i,uFt)},eq:function(e,t,r,n,i){return rk(e,t,r,n,i,cFt)}}});var Zm=ye((n0r,LDe)=>{\"use strict\";LDe.exports=function(t,r,n){var i={},a,o;if(typeof r==\"string\"&&(r=CDe(r)),Array.isArray(r)){var s={};for(o=0;o<r.length;o++)s[r[o]]=!0;r=s}for(a in r)r[a]=CDe(r[a]);var l={};for(a in r){var u=r[a];if(Array.isArray(u))for(o=0;o<u.length;o++){var c=u[o];if(n&&(l[c]=!0),c in t){if(i[a]=t[c],n)for(var f=o;f<u.length;f++)l[u[f]]=!0;break}}else a in t&&(r[a]&&(i[a]=t[a]),n&&(l[a]=!0))}if(n)for(a in t)l[a]||(i[a]=t[a]);return i};var FX={};function CDe(e){return FX[e]?FX[e]:(typeof e==\"string\"&&(e=FX[e]=e.split(/\\s*,\\s*|\\s+/)),e)}});var Q5=ye((a0r,PDe)=>{\"use strict\";var fFt=Zm();PDe.exports=hFt;function hFt(e){var t;return arguments.length>1&&(e=arguments),typeof e==\"string\"?e=e.split(/\\s/).map(parseFloat):typeof e==\"number\"&&(e=[e]),e.length&&typeof e[0]==\"number\"?e.length===1?t={width:e[0],height:e[0],x:0,y:0}:e.length===2?t={width:e[0],height:e[1],x:0,y:0}:t={x:e[0],y:e[1],width:e[2]-e[0]||0,height:e[3]-e[1]||0}:e&&(e=fFt(e,{left:\"x l left Left\",top:\"y t top Top\",width:\"w width W Width\",height:\"h height W Width\",bottom:\"b bottom Bottom\",right:\"r right Right\"}),t={x:e.left||0,y:e.top||0},e.width==null?e.right?t.width=e.right-t.x:t.width=0:t.width=e.width,e.height==null?e.bottom?t.height=e.bottom-t.y:t.height=0:t.height=e.height),t}});var j2=ye((o0r,IDe)=>{\"use strict\";IDe.exports=dFt;function dFt(e,t){if(!e||e.length==null)throw Error(\"Argument should be an array\");t==null?t=1:t=Math.floor(t);for(var r=Array(t*2),n=0;n<t;n++){for(var i=-1/0,a=1/0,o=n,s=e.length;o<s;o+=t)e[o]>i&&(i=e[o]),e[o]<a&&(a=e[o]);r[n]=a,r[t+n]=i}return r}});var DDe=ye((s0r,RDe)=>{RDe.exports=function(){for(var e=0;e<arguments.length;e++)if(arguments[e]!==void 0)return arguments[e]}});var W2=ye((l0r,FDe)=>{var zDe=HD();FDe.exports=vFt;function vFt(e,t,r){if(!e)throw new TypeError(\"must specify data as first parameter\");if(r=+(r||0)|0,Array.isArray(e)&&e[0]&&typeof e[0][0]==\"number\"){var n=e[0].length,i=e.length*n,a,o,s,l;(!t||typeof t==\"string\")&&(t=new(zDe(t||\"float32\"))(i+r));var u=t.length-r;if(i!==u)throw new Error(\"source length \"+i+\" (\"+n+\"x\"+e.length+\") does not match destination length \"+u);for(a=0,s=r;a<e.length;a++)for(o=0;o<n;o++)t[s++]=e[a][o]===null?NaN:e[a][o]}else if(!t||typeof t==\"string\"){var c=zDe(t||\"float32\");if(Array.isArray(e)||t===\"array\")for(t=new c(e.length+r),a=0,s=r,l=t.length;s<l;s++,a++)t[s]=e[a]===null?NaN:e[a];else r===0?t=new c(e):(t=new c(e.length+r),t.set(e,r))}else t.set(e,r);return t}});var ODe=ye((u0r,qDe)=>{\"use strict\";qDe.exports=function(e){var t=typeof e;return e!==null&&(t===\"object\"||t===\"function\")}});var NDe=ye((c0r,BDe)=>{\"use strict\";BDe.exports=Math.log2||function(e){return Math.log(e)*Math.LOG2E}});var ZDe=ye((f0r,WDe)=>{\"use strict\";var UDe=kDe(),VDe=VE(),pFt=Q5(),gFt=j2(),HDe=Zm(),qX=DDe(),mFt=W2(),yFt=ODe(),_Ft=HD(),GDe=NDe(),xFt=1073741824;WDe.exports=function(t,r){r||(r={}),t=mFt(t,\"float64\"),r=HDe(r,{bounds:\"range bounds dataBox databox\",maxDepth:\"depth maxDepth maxdepth level maxLevel maxlevel levels\",dtype:\"type dtype format out dst output destination\"});let n=qX(r.maxDepth,255),i=qX(r.bounds,gFt(t,2));i[0]===i[2]&&i[2]++,i[1]===i[3]&&i[3]++;let a=jDe(t,i),o=t.length>>>1,s;r.dtype||(r.dtype=\"array\"),typeof r.dtype==\"string\"?s=new(_Ft(r.dtype))(o):r.dtype&&(s=r.dtype,Array.isArray(s)&&(s.length=o));for(let p=0;p<o;++p)s[p]=p;let l=[],u=[],c=[],f=[];d(0,0,1,s,0,1);let h=0;for(let p=0;p<l.length;p++){let E=l[p];if(s.set)s.set(E,h);else for(let A=0,L=E.length;A<L;A++)s[A+h]=E[A];let k=h+l[p].length;f[p]=[h,k],h=k}return s.range=v,s;function d(p,E,k,A,L,_){if(!A.length)return null;let C=l[L]||(l[L]=[]),M=c[L]||(c[L]=[]),g=u[L]||(u[L]=[]),P=C.length;if(L++,L>n||_>xFt){for(let N=0;N<A.length;N++)C.push(A[N]),M.push(_),g.push(null,null,null,null);return P}if(C.push(A[0]),M.push(_),A.length<=1)return g.push(null,null,null,null),P;let T=k*.5,F=p+T,q=E+T,V=[],H=[],X=[],G=[];for(let N=1,W=A.length;N<W;N++){let re=A[N],ae=a[re*2],_e=a[re*2+1];ae<F?_e<q?V.push(re):H.push(re):_e<q?X.push(re):G.push(re)}return _<<=2,g.push(d(p,E,T,V,L,_),d(p,q,T,H,L,_+1),d(F,E,T,X,L,_+2),d(F,q,T,G,L,_+3)),P}function v(...p){let E;if(yFt(p[p.length-1])){let X=p.pop();!p.length&&(X.x!=null||X.l!=null||X.left!=null)&&(p=[X],E={}),E=HDe(X,{level:\"level maxLevel\",d:\"d diam diameter r radius px pxSize pixel pixelSize maxD size minSize\",lod:\"lod details ranges offsets\"})}else E={};p.length||(p=i);let k=pFt(...p),[A,L,_,C]=[Math.min(k.x,k.x+k.width),Math.min(k.y,k.y+k.height),Math.max(k.x,k.x+k.width),Math.max(k.y,k.y+k.height)],[M,g,P,T]=jDe([A,L,_,C],i),F=qX(E.level,l.length);if(E.d!=null){let X;typeof E.d==\"number\"?X=[E.d,E.d]:E.d.length&&(X=E.d),F=Math.min(Math.max(Math.ceil(-GDe(Math.abs(X[0])/(i[2]-i[0]))),Math.ceil(-GDe(Math.abs(X[1])/(i[3]-i[1])))),F)}if(F=Math.min(F,l.length),E.lod)return x(M,g,P,T,F);let q=[];V(0,0,1,0,0,1);function V(X,G,N,W,re,ae){if(re===null||ae===null)return;let _e=X+N,Me=G+N;if(M>_e||g>Me||P<X||T<G||W>=F||re===ae)return;let ke=l[W];ae===void 0&&(ae=ke.length);for(let Re=re;Re<ae;Re++){let ce=ke[Re],Ge=t[ce*2],nt=t[ce*2+1];Ge>=A&&Ge<=_&&nt>=L&&nt<=C&&q.push(ce)}let ge=u[W],ie=ge[re*4+0],Te=ge[re*4+1],Ee=ge[re*4+2],Ae=ge[re*4+3],ze=H(ge,re+1),Ce=N*.5,me=W+1;V(X,G,Ce,me,ie,Te||Ee||Ae||ze),V(X,G+Ce,Ce,me,Te,Ee||Ae||ze),V(X+Ce,G,Ce,me,Ee,Ae||ze),V(X+Ce,G+Ce,Ce,me,Ae,ze)}function H(X,G){let N=null,W=0;for(;N===null;)if(N=X[G*4+W],W++,W>X.length)return null;return N}return q}function x(p,E,k,A,L){let _=[];for(let C=0;C<L;C++){let M=c[C],g=f[C][0],P=b(p,E,C),T=b(k,A,C),F=UDe.ge(M,P),q=UDe.gt(M,T,F,M.length-1);_[C]=[F+g,q+g]}return _}function b(p,E,k){let A=1,L=.5,_=.5,C=.5;for(let M=0;M<k;M++)A<<=2,A+=p<L?E<_?0:1:E<_?2:3,C*=.5,L+=p<L?-C:C,_+=E<_?-C:C;return A}};function jDe(e,t){let[r,n,i,a]=t,o=1/(i-r),s=1/(a-n),l=new Array(e.length);for(let u=0,c=e.length/2;u<c;u++)l[2*u]=VDe((e[2*u]-r)*o,0,1),l[2*u+1]=VDe((e[2*u+1]-n)*s,0,1);return l}});var Oz=ye((h0r,XDe)=>{\"use strict\";XDe.exports=ZDe()});var OX=ye((d0r,YDe)=>{YDe.exports=bFt;function bFt(e){var t=0,r=0,n=0,i=0;return e.map(function(a){a=a.slice();var o=a[0],s=o.toUpperCase();if(o!=s)switch(a[0]=s,o){case\"a\":a[6]+=n,a[7]+=i;break;case\"v\":a[1]+=i;break;case\"h\":a[1]+=n;break;default:for(var l=1;l<a.length;)a[l++]+=n,a[l++]+=i}switch(s){case\"Z\":n=t,i=r;break;case\"H\":n=a[1];break;case\"V\":i=a[1];break;case\"M\":n=t=a[1],i=r=a[2];break;default:n=a[a.length-2],i=a[a.length-1]}return a})}});var $De=ye((Bz,JDe)=>{\"use strict\";Object.defineProperty(Bz,\"__esModule\",{value:!0});var wFt=function(){function e(t,r){var n=[],i=!0,a=!1,o=void 0;try{for(var s=t[Symbol.iterator](),l;!(i=(l=s.next()).done)&&(n.push(l.value),!(r&&n.length===r));i=!0);}catch(u){a=!0,o=u}finally{try{!i&&s.return&&s.return()}finally{if(a)throw o}}return n}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),ik=Math.PI*2,BX=function(t,r,n,i,a,o,s){var l=t.x,u=t.y;l*=r,u*=n;var c=i*l-a*u,f=a*l+i*u;return{x:c+o,y:f+s}},TFt=function(t,r){var n=r===1.5707963267948966?.551915024494:r===-1.5707963267948966?-.551915024494:1.3333333333333333*Math.tan(r/4),i=Math.cos(t),a=Math.sin(t),o=Math.cos(t+r),s=Math.sin(t+r);return[{x:i-a*n,y:a+i*n},{x:o+s*n,y:s-o*n},{x:o,y:s}]},KDe=function(t,r,n,i){var a=t*i-r*n<0?-1:1,o=t*n+r*i;return o>1&&(o=1),o<-1&&(o=-1),a*Math.acos(o)},AFt=function(t,r,n,i,a,o,s,l,u,c,f,h){var d=Math.pow(a,2),v=Math.pow(o,2),x=Math.pow(f,2),b=Math.pow(h,2),p=d*v-d*b-v*x;p<0&&(p=0),p/=d*b+v*x,p=Math.sqrt(p)*(s===l?-1:1);var E=p*a/o*h,k=p*-o/a*f,A=c*E-u*k+(t+n)/2,L=u*E+c*k+(r+i)/2,_=(f-E)/a,C=(h-k)/o,M=(-f-E)/a,g=(-h-k)/o,P=KDe(1,0,_,C),T=KDe(_,C,M,g);return l===0&&T>0&&(T-=ik),l===1&&T<0&&(T+=ik),[A,L,P,T]},SFt=function(t){var r=t.px,n=t.py,i=t.cx,a=t.cy,o=t.rx,s=t.ry,l=t.xAxisRotation,u=l===void 0?0:l,c=t.largeArcFlag,f=c===void 0?0:c,h=t.sweepFlag,d=h===void 0?0:h,v=[];if(o===0||s===0)return[];var x=Math.sin(u*ik/360),b=Math.cos(u*ik/360),p=b*(r-i)/2+x*(n-a)/2,E=-x*(r-i)/2+b*(n-a)/2;if(p===0&&E===0)return[];o=Math.abs(o),s=Math.abs(s);var k=Math.pow(p,2)/Math.pow(o,2)+Math.pow(E,2)/Math.pow(s,2);k>1&&(o*=Math.sqrt(k),s*=Math.sqrt(k));var A=AFt(r,n,i,a,o,s,f,d,x,b,p,E),L=wFt(A,4),_=L[0],C=L[1],M=L[2],g=L[3],P=Math.abs(g)/(ik/4);Math.abs(1-P)<1e-7&&(P=1);var T=Math.max(Math.ceil(P),1);g/=T;for(var F=0;F<T;F++)v.push(TFt(M,g)),M+=g;return v.map(function(q){var V=BX(q[0],o,s,b,x,_,C),H=V.x,X=V.y,G=BX(q[1],o,s,b,x,_,C),N=G.x,W=G.y,re=BX(q[2],o,s,b,x,_,C),ae=re.x,_e=re.y;return{x1:H,y1:X,x2:N,y2:W,x:ae,y:_e}})};Bz.default=SFt;JDe.exports=Bz.default});var tze=ye((v0r,eze)=>{\"use strict\";eze.exports=EFt;var MFt=$De();function EFt(e){for(var t,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,f=0,h=e.length;f<h;f++){var d=e[f],v=d[0];switch(v){case\"M\":a=d[1],o=d[2];break;case\"A\":var x=MFt({px:u,py:c,cx:d[6],cy:d[7],rx:d[1],ry:d[2],xAxisRotation:d[3],largeArcFlag:d[4],sweepFlag:d[5]});if(!x.length)continue;for(var b=0,p;b<x.length;b++)p=x[b],d=[\"C\",p.x1,p.y1,p.x2,p.y2,p.x,p.y],b<x.length-1&&r.push(d);break;case\"S\":var E=u,k=c;(t==\"C\"||t==\"S\")&&(E+=E-n,k+=k-i),d=[\"C\",E,k,d[1],d[2],d[3],d[4]];break;case\"T\":t==\"Q\"||t==\"T\"?(s=u*2-s,l=c*2-l):(s=u,l=c),d=QDe(u,c,s,l,d[1],d[2]);break;case\"Q\":s=d[1],l=d[2],d=QDe(u,c,d[1],d[2],d[3],d[4]);break;case\"L\":d=Nz(u,c,d[1],d[2]);break;case\"H\":d=Nz(u,c,d[1],c);break;case\"V\":d=Nz(u,c,u,d[1]);break;case\"Z\":d=Nz(u,c,a,o);break}t=v,u=d[d.length-2],c=d[d.length-1],d.length>4?(n=d[d.length-4],i=d[d.length-3]):(n=u,i=c),r.push(d)}return r}function Nz(e,t,r,n){return[\"C\",e,t,r,n,r,n]}function QDe(e,t,r,n,i,a){return[\"C\",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}});var NX=ye((p0r,rze)=>{\"use strict\";rze.exports=function(t){return typeof t!=\"string\"?!1:(t=t.trim(),!!(/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\\dz]$/i.test(t)&&t.length>4))}});var aze=ye((g0r,nze)=>{\"use strict\";var kFt=XS(),CFt=OX(),LFt=tze(),PFt=NX(),ize=tE();nze.exports=IFt;function IFt(e){if(Array.isArray(e)&&e.length===1&&typeof e[0]==\"string\"&&(e=e[0]),typeof e==\"string\"&&(ize(PFt(e),\"String is not an SVG path.\"),e=kFt(e)),ize(Array.isArray(e),\"Argument should be a string or an array of path segments.\"),e=CFt(e),e=LFt(e),!e.length)return[0,0,0,0];for(var t=[1/0,1/0,-1/0,-1/0],r=0,n=e.length;r<n;r++)for(var i=e[r].slice(1),a=0;a<i.length;a+=2)i[a+0]<t[0]&&(t[0]=i[a+0]),i[a+1]<t[1]&&(t[1]=i[a+1]),i[a+0]>t[2]&&(t[2]=i[a+0]),i[a+1]>t[3]&&(t[3]=i[a+1]);return t}});var fze=ye((m0r,cze)=>{var Z2=Math.PI,oze=uze(120);cze.exports=RFt;function RFt(e){for(var t,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,f=0,h=e.length;f<h;f++){var d=e[f],v=d[0];switch(v){case\"M\":a=d[1],o=d[2];break;case\"A\":d=lze(u,c,d[1],d[2],uze(d[3]),d[4],d[5],d[6],d[7]),d.unshift(\"C\"),d.length>7&&(r.push(d.splice(0,7)),d.unshift(\"C\"));break;case\"S\":var x=u,b=c;(t==\"C\"||t==\"S\")&&(x+=x-n,b+=b-i),d=[\"C\",x,b,d[1],d[2],d[3],d[4]];break;case\"T\":t==\"Q\"||t==\"T\"?(s=u*2-s,l=c*2-l):(s=u,l=c),d=sze(u,c,s,l,d[1],d[2]);break;case\"Q\":s=d[1],l=d[2],d=sze(u,c,d[1],d[2],d[3],d[4]);break;case\"L\":d=Uz(u,c,d[1],d[2]);break;case\"H\":d=Uz(u,c,d[1],c);break;case\"V\":d=Uz(u,c,u,d[1]);break;case\"Z\":d=Uz(u,c,a,o);break}t=v,u=d[d.length-2],c=d[d.length-1],d.length>4?(n=d[d.length-4],i=d[d.length-3]):(n=u,i=c),r.push(d)}return r}function Uz(e,t,r,n){return[\"C\",e,t,r,n,r,n]}function sze(e,t,r,n,i,a){return[\"C\",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function lze(e,t,r,n,i,a,o,s,l,u){if(u)k=u[0],A=u[1],p=u[2],E=u[3];else{var c=UX(e,t,-i);e=c.x,t=c.y,c=UX(s,l,-i),s=c.x,l=c.y;var f=(e-s)/2,h=(t-l)/2,d=f*f/(r*r)+h*h/(n*n);d>1&&(d=Math.sqrt(d),r=d*r,n=d*n);var v=r*r,x=n*n,b=(a==o?-1:1)*Math.sqrt(Math.abs((v*x-v*h*h-x*f*f)/(v*h*h+x*f*f)));b==1/0&&(b=1);var p=b*r*h/n+(e+s)/2,E=b*-n*f/r+(t+l)/2,k=Math.asin(((t-E)/n).toFixed(9)),A=Math.asin(((l-E)/n).toFixed(9));k=e<p?Z2-k:k,A=s<p?Z2-A:A,k<0&&(k=Z2*2+k),A<0&&(A=Z2*2+A),o&&k>A&&(k=k-Z2*2),!o&&A>k&&(A=A-Z2*2)}if(Math.abs(A-k)>oze){var L=A,_=s,C=l;A=k+oze*(o&&A>k?1:-1),s=p+r*Math.cos(A),l=E+n*Math.sin(A);var M=lze(s,l,r,n,i,0,o,_,C,[A,L,p,E])}var g=Math.tan((A-k)/4),P=4/3*r*g,T=4/3*n*g,F=[2*e-(e+P*Math.sin(k)),2*t-(t-T*Math.cos(k)),s+P*Math.sin(A),l-T*Math.cos(A),s,l];if(u)return F;M&&(F=F.concat(M));for(var q=0;q<F.length;){var V=UX(F[q],F[q+1],i);F[q++]=V.x,F[q++]=V.y}return F}function UX(e,t,r){return{x:e*Math.cos(r)-t*Math.sin(r),y:e*Math.sin(r)+t*Math.cos(r)}}function uze(e){return e*(Z2/180)}});var dze=ye((y0r,hze)=>{var DFt=OX(),zFt=fze(),FFt={M:\"moveTo\",C:\"bezierCurveTo\"};hze.exports=function(e,t){e.beginPath(),zFt(DFt(t)).forEach(function(r){var n=r[0],i=r.slice(1);e[FFt[n]].apply(e,i)}),e.closePath()}});var mze=ye((_0r,gze)=>{\"use strict\";var qFt=VE();gze.exports=OFt;var nk=1e20;function OFt(e,t){t||(t={});var r=t.cutoff==null?.25:t.cutoff,n=t.radius==null?8:t.radius,i=t.channel||0,a,o,s,l,u,c,f,h,d,v,x;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error(\"For raw data width and height should be provided by options\");a=t.width,o=t.height,l=e,t.stride?c=t.stride:c=Math.floor(e.length/a/o)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(h=e,f=h.getContext(\"2d\"),a=h.width,o=h.height,d=f.getImageData(0,0,a,o),l=d.data,c=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(h=e.canvas,f=e,a=h.width,o=h.height,d=f.getImageData(0,0,a,o),l=d.data,c=4):window.ImageData&&e instanceof window.ImageData&&(d=e,a=e.width,o=e.height,l=d.data,c=4);if(s=Math.max(a,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(u=l,l=Array(a*o),v=0,x=u.length;v<x;v++)l[v]=u[v*c+i]/255;else if(c!==1)throw Error(\"Raw data can have only 1 value per pixel\");var b=Array(a*o),p=Array(a*o),E=Array(s),k=Array(s),A=Array(s+1),L=Array(s);for(v=0,x=a*o;v<x;v++){var _=l[v];b[v]=_===1?0:_===0?nk:Math.pow(Math.max(0,.5-_),2),p[v]=_===1?nk:_===0?0:Math.pow(Math.max(0,_-.5),2)}vze(b,a,o,E,k,L,A),vze(p,a,o,E,k,L,A);var C=window.Float32Array?new Float32Array(a*o):new Array(a*o);for(v=0,x=a*o;v<x;v++)C[v]=qFt(1-((b[v]-p[v])/n+r),0,1);return C}function vze(e,t,r,n,i,a,o){for(var s=0;s<t;s++){for(var l=0;l<r;l++)n[l]=e[l*t+s];for(pze(n,i,a,o,r),l=0;l<r;l++)e[l*t+s]=i[l]}for(l=0;l<r;l++){for(s=0;s<t;s++)n[s]=e[l*t+s];for(pze(n,i,a,o,t),s=0;s<t;s++)e[l*t+s]=Math.sqrt(i[s])}}function pze(e,t,r,n,i){r[0]=0,n[0]=-nk,n[1]=+nk;for(var a=1,o=0;a<i;a++){for(var s=(e[a]+a*a-(e[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);s<=n[o];)o--,s=(e[a]+a*a-(e[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);o++,r[o]=a,n[o]=s,n[o+1]=+nk}for(a=0,o=0;a<i;a++){for(;n[o+1]<a;)o++;t[a]=(a-r[o])*(a-r[o])+e[r[o]]}}});var _ze=ye((x0r,yze)=>{\"use strict\";var BFt=aze(),NFt=XS(),UFt=dze(),VFt=NX(),HFt=mze(),VX=document.createElement(\"canvas\"),hp=VX.getContext(\"2d\");yze.exports=GFt;function GFt(e,t){if(!VFt(e))throw Error(\"Argument should be valid svg path string\");t||(t={});var r,n;t.shape?(r=t.shape[0],n=t.shape[1]):(r=VX.width=t.w||t.width||200,n=VX.height=t.h||t.height||200);var i=Math.min(r,n),a=t.stroke||0,o=t.viewbox||t.viewBox||BFt(e),s=[r/(o[2]-o[0]),n/(o[3]-o[1])],l=Math.min(s[0]||0,s[1]||0)/2;if(hp.fillStyle=\"black\",hp.fillRect(0,0,r,n),hp.fillStyle=\"white\",a&&(typeof a!=\"number\"&&(a=1),a>0?hp.strokeStyle=\"white\":hp.strokeStyle=\"black\",hp.lineWidth=Math.abs(a)),hp.translate(r*.5,n*.5),hp.scale(l,l),jFt()){var u=new Path2D(e);hp.fill(u),a&&hp.stroke(u)}else{var c=NFt(e);UFt(hp,c),hp.fill(),a&&hp.stroke()}hp.setTransform(1,0,0,1,0,0);var f=HFt(hp,{cutoff:t.cutoff!=null?t.cutoff:.5,radius:t.radius!=null?t.radius:i*.5});return f}var Vz;function jFt(){if(Vz!=null)return Vz;var e=document.createElement(\"canvas\").getContext(\"2d\");if(e.canvas.width=e.canvas.height=1,!window.Path2D)return Vz=!1;var t=new Path2D(\"M0,0h1v1h-1v-1Z\");e.fillStyle=\"black\",e.fill(t);var r=e.getImageData(0,0,1,1);return Vz=r&&r.data&&r.data[3]===255}});var Y2=ye((b0r,Lze)=>{\"use strict\";var Gz=uo(),WFt=_ze(),Hz=$_(),ZFt=ba(),rA=Mr(),Qf=rA.isArrayOrTypedArray,eA=ao(),xze=af(),bze=$y().formatColor,tA=lu(),XFt=S3(),GX=Fz(),ak=sx(),YFt=U1().DESELECTDIM,wze={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},KFt=rp().appendArrayPointValue;function JFt(e,t){var r,n={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0},i=e._context.plotGlPixelRatio;if(t.visible!==!0)return n;if(tA.hasText(t)&&(n.text=Cze(e,t),n.textSel=Aze(e,t,t.selected),n.textUnsel=Aze(e,t,t.unselected)),tA.hasMarkers(t)&&(n.marker=WX(e,t),n.markerSel=jX(e,t,t.selected),n.markerUnsel=jX(e,t,t.unselected),!t.unselected&&Qf(t.marker.opacity))){var a=t.marker.opacity;for(n.markerUnsel.opacity=new Array(a.length),r=0;r<a.length;r++)n.markerUnsel.opacity[r]=YFt*a[r]}if(tA.hasLines(t)){n.line={overlay:!0,thickness:t.line.width*i,color:t.line.color,opacity:t.opacity};var o=(ak.DASHES[t.line.dash]||[1]).slice();for(r=0;r<o.length;++r)o[r]*=t.line.width*i;n.line.dashes=o}return t.error_x&&t.error_x.visible&&(n.errorX=Sze(t,t.error_x,i)),t.error_y&&t.error_y.visible&&(n.errorY=Sze(t,t.error_y,i)),t.fill&&t.fill!==\"none\"&&(n.fill={closed:!0,fill:t.fillcolor,thickness:0}),n}function Cze(e,t){var r=e._fullLayout,n=t._length,i=t.textfont,a=t.textposition,o=Qf(a)?a:[a],s=i.color,l=i.size,u=i.family,c=i.weight,f=i.style,h=i.variant,d={},v,x=e._context.plotGlPixelRatio,b=t.texttemplate;if(b){d.text=[];var p=r._d3locale,E=Array.isArray(b),k=E?Math.min(b.length,n):n,A=E?function(T){return b[T]}:function(){return b};for(v=0;v<k;v++){var L={i:v},_=t._module.formatLabels(L,t,r),C={};KFt(C,t,v);var M=t._meta||{};d.text.push(rA.texttemplateString(A(v),_,p,C,L,M))}}else Qf(t.text)&&t.text.length<n?d.text=t.text.slice():d.text=t.text;if(Qf(d.text))for(v=d.text.length;v<n;v++)d.text[v]=\"\";for(d.opacity=t.opacity,d.font={},d.align=[],d.baseline=[],v=0;v<o.length;v++){var g=o[v].split(/\\s+/);switch(g[1]){case\"left\":d.align.push(\"right\");break;case\"right\":d.align.push(\"left\");break;default:d.align.push(g[1])}switch(g[0]){case\"top\":d.baseline.push(\"bottom\");break;case\"bottom\":d.baseline.push(\"top\");break;default:d.baseline.push(g[0])}}if(Qf(s))for(d.color=new Array(n),v=0;v<n;v++)d.color[v]=s[v];else d.color=s;if(Qf(l)||Array.isArray(u)||Qf(c)||Array.isArray(f)||Array.isArray(h))for(d.font=new Array(n),v=0;v<n;v++){var P=d.font[v]={};P.size=(rA.isTypedArray(l)?l[v]:Qf(l)?Gz(l[v])?l[v]:0:l)*x,P.family=Array.isArray(u)?u[v]:u,P.weight=Tze(Qf(c)?c[v]:c),P.style=Array.isArray(f)?f[v]:f,P.variant=Array.isArray(h)?h[v]:h}else d.font={size:l*x,family:u,weight:Tze(c),style:f,variant:h};return d}function Tze(e){return e<=1e3?e>500?\"bold\":\"normal\":e}function WX(e,t){var r=t._length,n=t.marker,i={},a,o=Qf(n.symbol),s=Qf(n.angle),l=Qf(n.color),u=Qf(n.line.color),c=Qf(n.opacity),f=Qf(n.size),h=Qf(n.line.width),d;if(o||(d=GX.isOpenSymbol(n.symbol)),o||l||u||c||s){i.symbols=new Array(r),i.angles=new Array(r),i.colors=new Array(r),i.borderColors=new Array(r);var v=n.symbol,x=n.angle,b=bze(n,n.opacity,r),p=bze(n.line,n.opacity,r);if(!Qf(p[0])){var E=p;for(p=Array(r),a=0;a<r;a++)p[a]=E}if(!Qf(b[0])){var k=b;for(b=Array(r),a=0;a<r;a++)b[a]=k}if(!Qf(v)){var A=v;for(v=Array(r),a=0;a<r;a++)v[a]=A}if(!Qf(x)){var L=x;for(x=Array(r),a=0;a<r;a++)x[a]=L}for(i.symbols=v,i.angles=x,i.colors=b,i.borderColors=p,a=0;a<r;a++)o&&(d=GX.isOpenSymbol(n.symbol[a])),d&&(p[a]=b[a].slice(),b[a]=b[a].slice(),b[a][3]=0);for(i.opacity=t.opacity,i.markers=new Array(r),a=0;a<r;a++)i.markers[a]=kze({mx:i.symbols[a],ma:i.angles[a]},t)}else d?(i.color=Hz(n.color,\"uint8\"),i.color[3]=0,i.borderColor=Hz(n.color,\"uint8\")):(i.color=Hz(n.color,\"uint8\"),i.borderColor=Hz(n.line.color,\"uint8\")),i.opacity=t.opacity*n.opacity,i.marker=kze({mx:n.symbol,ma:n.angle},t);var _=1,C=XFt(t,_),M;if(f||h){var g=i.sizes=new Array(r),P=i.borderSizes=new Array(r),T=0,F;if(f){for(a=0;a<r;a++)g[a]=C(n.size[a]),T+=g[a];F=T/r}else for(M=C(n.size),a=0;a<r;a++)g[a]=M;if(h)for(a=0;a<r;a++)P[a]=n.line.width[a];else for(M=n.line.width,a=0;a<r;a++)P[a]=M;i.sizeAvg=F}else i.size=C(n&&n.size||10),i.borderSizes=C(n.line.width);return i}function jX(e,t,r){var n=t.marker,i={};return r&&(r.marker&&r.marker.symbol?i=WX(e,rA.extendFlat({},n,r.marker)):r.marker&&(r.marker.size&&(i.size=r.marker.size),r.marker.color&&(i.colors=r.marker.color),r.marker.opacity!==void 0&&(i.opacity=r.marker.opacity))),i}function Aze(e,t,r){var n={};if(!r)return n;if(r.textfont){var i={opacity:1,text:t.text,texttemplate:t.texttemplate,textposition:t.textposition,textfont:rA.extendFlat({},t.textfont)};r.textfont&&rA.extendFlat(i.textfont,r.textfont),n=Cze(e,i)}return n}function Sze(e,t,r){var n={capSize:t.width*2*r,lineWidth:t.thickness*r,color:t.color};return t.copy_ystyle&&(n=e.error_y),n}var Mze=ak.SYMBOL_SDF_SIZE,X2=ak.SYMBOL_SIZE,Eze=ak.SYMBOL_STROKE,HX={},$Ft=eA.symbolFuncs[0](X2*.05);function kze(e,t){var r=e.mx;if(r===\"circle\")return null;var n,i,a=eA.symbolNumber(r),o=eA.symbolFuncs[a%100],s=!!eA.symbolNoDot[a%100],l=!!eA.symbolNoFill[a%100],u=GX.isDotSymbol(r);if(e.ma&&(r+=\"_\"+e.ma),HX[r])return HX[r];var c=eA.getMarkerAngle(e,t);return u&&!s?n=o(X2*1.1,c)+$Ft:n=o(X2,c),i=WFt(n,{w:Mze,h:Mze,viewBox:[-X2,-X2,X2,X2],stroke:l?Eze:-Eze}),HX[r]=i,i||null}function QFt(e,t,r){var n=r.length,i=n/2,a,o;if(tA.hasLines(t)&&i)if(t.line.shape===\"hv\"){for(a=[],o=0;o<i-1;o++)isNaN(r[o*2])||isNaN(r[o*2+1])?a.push(NaN,NaN,NaN,NaN):(a.push(r[o*2],r[o*2+1]),!isNaN(r[o*2+2])&&!isNaN(r[o*2+3])?a.push(r[o*2+2],r[o*2+1]):a.push(NaN,NaN));a.push(r[n-2],r[n-1])}else if(t.line.shape===\"hvh\"){for(a=[],o=0;o<i-1;o++)if(isNaN(r[o*2])||isNaN(r[o*2+1])||isNaN(r[o*2+2])||isNaN(r[o*2+3]))!isNaN(r[o*2])&&!isNaN(r[o*2+1])?a.push(r[o*2],r[o*2+1]):a.push(NaN,NaN),a.push(NaN,NaN);else{var s=(r[o*2]+r[o*2+2])/2;a.push(r[o*2],r[o*2+1],s,r[o*2+1],s,r[o*2+3])}a.push(r[n-2],r[n-1])}else if(t.line.shape===\"vhv\"){for(a=[],o=0;o<i-1;o++)if(isNaN(r[o*2])||isNaN(r[o*2+1])||isNaN(r[o*2+2])||isNaN(r[o*2+3]))!isNaN(r[o*2])&&!isNaN(r[o*2+1])?a.push(r[o*2],r[o*2+1]):a.push(NaN,NaN),a.push(NaN,NaN);else{var l=(r[o*2+1]+r[o*2+3])/2;a.push(r[o*2],r[o*2+1],r[o*2],l,r[o*2+2],l)}a.push(r[n-2],r[n-1])}else if(t.line.shape===\"vh\"){for(a=[],o=0;o<i-1;o++)isNaN(r[o*2])||isNaN(r[o*2+1])?a.push(NaN,NaN,NaN,NaN):(a.push(r[o*2],r[o*2+1]),!isNaN(r[o*2+2])&&!isNaN(r[o*2+3])?a.push(r[o*2],r[o*2+3]):a.push(NaN,NaN));a.push(r[n-2],r[n-1])}else a=r;var u=!1;for(o=0;o<a.length;o++)if(isNaN(a[o])){u=!0;break}var c=u||a.length>ak.TOO_MANY_POINTS||tA.hasMarkers(t)?\"rect\":\"round\";if(u&&t.connectgaps){var f=a[0],h=a[1];for(o=0;o<a.length;o+=2)isNaN(a[o])||isNaN(a[o+1])?(a[o]=f,a[o+1]=h):(f=a[o],h=a[o+1])}return{join:c,positions:a}}function e7t(e,t,r,n,i){var a=ZFt.getComponentMethod(\"errorbars\",\"makeComputeError\"),o=xze.getFromId(e,t.xaxis,\"x\"),s=xze.getFromId(e,t.yaxis,\"y\"),l=r.length/2,u={};function c(f,h){var d=h._id.charAt(0),v=t[\"error_\"+d];if(v&&v.visible&&(h.type===\"linear\"||h.type===\"log\")){for(var x=a(v),b={x:0,y:1}[d],p={x:[0,1,2,3],y:[2,3,0,1]}[d],E=new Float64Array(4*l),k=1/0,A=-1/0,L=0,_=0;L<l;L++,_+=4){var C=f[L];if(Gz(C)){var M=r[L*2+b],g=x(C,L),P=g[0],T=g[1];if(Gz(P)&&Gz(T)){var F=C-P,q=C+T;E[_+p[0]]=M-h.c2l(F),E[_+p[1]]=h.c2l(q)-M,E[_+p[2]]=0,E[_+p[3]]=0,k=Math.min(k,C-P),A=Math.max(A,C+T)}}}u[d]={positions:r,errors:E,_bnds:[k,A]}}}return c(n,o),c(i,s),u}function t7t(e,t,r,n){var i=t._length,a={},o;if(tA.hasMarkers(t)){var s=r.font,l=r.align,u=r.baseline;for(a.offset=new Array(i),o=0;o<i;o++){var c=n.sizes?n.sizes[o]:n.size,f=Qf(s)?s[o].size:s.size,h=Qf(l)?l.length>1?l[o]:l[0]:l,d=Qf(u)?u.length>1?u[o]:u[0]:u,v=wze[h],x=wze[d],b=c?c/.8+1:0,p=-x*b-x*.5;a.offset[o]=[v*b/f,p/f]}}return a}Lze.exports={style:JFt,markerStyle:WX,markerSelection:jX,linePositions:QFt,errorBarPositions:e7t,textPosition:t7t}});var ZX=ye((w0r,Pze)=>{\"use strict\";var jz=Mr();Pze.exports=function(t,r){var n=r._scene,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},a={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return r._scene||(n=r._scene={},n.init=function(){jz.extendFlat(n,a,i)},n.init(),n.update=function(s){var l=jz.repeat(s,n.count);if(n.fill2d&&n.fill2d.update(l),n.scatter2d&&n.scatter2d.update(l),n.line2d&&n.line2d.update(l),n.error2d&&n.error2d.update(l.concat(l)),n.select2d&&n.select2d.update(l),n.glText)for(var u=0;u<n.count;u++)n.glText[u].update(s)},n.draw=function(){for(var s=n.count,l=n.fill2d,u=n.error2d,c=n.line2d,f=n.scatter2d,h=n.glText,d=n.select2d,v=n.selectBatch,x=n.unselectBatch,b=0;b<s;b++){if(l&&n.fillOrder[b]&&l.draw(n.fillOrder[b]),c&&n.lineOptions[b]&&c.draw(b),u&&(n.errorXOptions[b]&&u.draw(b),n.errorYOptions[b]&&u.draw(b+s)),f&&n.markerOptions[b])if(x[b].length){var p=jz.repeat([],n.count);p[b]=x[b],f.draw(p)}else v[b].length||f.draw(b);h[b]&&n.textOptions[b]&&h[b].render()}d&&d.draw(v),n.dirty=!1},n.destroy=function(){n.fill2d&&n.fill2d.destroy&&n.fill2d.destroy(),n.scatter2d&&n.scatter2d.destroy&&n.scatter2d.destroy(),n.error2d&&n.error2d.destroy&&n.error2d.destroy(),n.line2d&&n.line2d.destroy&&n.line2d.destroy(),n.select2d&&n.select2d.destroy&&n.select2d.destroy(),n.glText&&n.glText.forEach(function(s){s.destroy&&s.destroy()}),n.lineOptions=null,n.fillOptions=null,n.markerOptions=null,n.markerSelectedOptions=null,n.markerUnselectedOptions=null,n.errorXOptions=null,n.errorYOptions=null,n.textOptions=null,n.textSelectedOptions=null,n.textUnselectedOptions=null,n.selectBatch=null,n.unselectBatch=null,r._scene=null}),n.dirty||jz.extendFlat(n,i),n}});var qze=ye((T0r,Fze)=>{\"use strict\";var r7t=Oz(),iA=Mr(),Ize=af(),i7t=wg().findExtremes,Rze=Rg(),XX=q0(),n7t=XX.calcMarkerSize,a7t=XX.calcAxisExpansion,o7t=XX.setFirstScatter,s7t=z0(),nA=Y2(),l7t=ZX(),Dze=es().BADNUM,u7t=sx().TOO_MANY_POINTS;Fze.exports=function(t,r){var n=t._fullLayout,i=r._xA=Ize.getFromId(t,r.xaxis,\"x\"),a=r._yA=Ize.getFromId(t,r.yaxis,\"y\"),o=n._plots[r.xaxis+r.yaxis],s=r._length,l=s>=u7t,u=s*2,c={},f,h=i.makeCalcdata(r,\"x\"),d=a.makeCalcdata(r,\"y\"),v=Rze(r,i,\"x\",h),x=Rze(r,a,\"y\",d),b=v.vals,p=x.vals;r._x=b,r._y=p,r.xperiodalignment&&(r._origX=h,r._xStarts=v.starts,r._xEnds=v.ends),r.yperiodalignment&&(r._origY=d,r._yStarts=x.starts,r._yEnds=x.ends);var E=new Array(u),k=new Array(s);for(f=0;f<s;f++)E[f*2]=b[f]===Dze?NaN:b[f],E[f*2+1]=p[f]===Dze?NaN:p[f],k[f]=f;if(i.type===\"log\")for(f=0;f<u;f+=2)E[f]=i.c2l(E[f]);if(a.type===\"log\")for(f=1;f<u;f+=2)E[f]=a.c2l(E[f]);l&&i.type!==\"log\"&&a.type!==\"log\"?c.tree=r7t(E):c.ids=k,s7t(t,r);var A=c7t(t,o,r,E,b,p),L=l7t(t,o);o7t(n,r);var _;return l?A.marker&&(_=A.marker.sizeAvg||Math.max(A.marker.size,3)):_=n7t(r,s),a7t(t,r,i,a,b,p,_),A.errorX&&zze(r,i,A.errorX),A.errorY&&zze(r,a,A.errorY),A.fill&&!L.fill2d&&(L.fill2d=!0),A.marker&&!L.scatter2d&&(L.scatter2d=!0),A.line&&!L.line2d&&(L.line2d=!0),(A.errorX||A.errorY)&&!L.error2d&&(L.error2d=!0),A.text&&!L.glText&&(L.glText=!0),A.marker&&(A.marker.snap=s),L.lineOptions.push(A.line),L.errorXOptions.push(A.errorX),L.errorYOptions.push(A.errorY),L.fillOptions.push(A.fill),L.markerOptions.push(A.marker),L.markerSelectedOptions.push(A.markerSel),L.markerUnselectedOptions.push(A.markerUnsel),L.textOptions.push(A.text),L.textSelectedOptions.push(A.textSel),L.textUnselectedOptions.push(A.textUnsel),L.selectBatch.push([]),L.unselectBatch.push([]),c._scene=L,c.index=L.count,c.x=b,c.y=p,c.positions=E,L.count++,[{x:!1,y:!1,t:c,trace:r}]};function zze(e,t,r){var n=e._extremes[t._id],i=i7t(t,r._bnds,{padded:!0});n.min=n.min.concat(i.min),n.max=n.max.concat(i.max)}function c7t(e,t,r,n,i,a){var o=nA.style(e,r);if(o.marker&&(o.marker.positions=n),o.line&&n.length>1&&iA.extendFlat(o.line,nA.linePositions(e,r,n)),o.errorX||o.errorY){var s=nA.errorBarPositions(e,r,n,i,a);o.errorX&&iA.extendFlat(o.errorX,s.x),o.errorY&&iA.extendFlat(o.errorY,s.y)}return o.text&&(iA.extendFlat(o.text,{positions:n},nA.textPosition(e,r,o.text,o.marker)),iA.extendFlat(o.textSel,{positions:n},nA.textPosition(e,r,o.text,o.markerSel)),iA.extendFlat(o.textUnsel,{positions:n},nA.textPosition(e,r,o.text,o.markerUnsel))),o}});var YX=ye((A0r,Bze)=>{\"use strict\";var Oze=Mr(),f7t=va(),h7t=U1().DESELECTDIM;function d7t(e){var t=e[0],r=t.trace,n=t.t,i=n._scene,a=n.index,o=i.selectBatch[a],s=i.unselectBatch[a],l=i.textOptions[a],u=i.textSelectedOptions[a]||{},c=i.textUnselectedOptions[a]||{},f=Oze.extendFlat({},l),h,d;if(o.length||s.length){var v=u.color,x=c.color,b=l.color,p=Oze.isArrayOrTypedArray(b);for(f.color=new Array(r._length),h=0;h<o.length;h++)d=o[h],f.color[d]=v||(p?b[d]:b);for(h=0;h<s.length;h++){d=s[h];var E=p?b[d]:b;f.color[d]=x||(v?E:f7t.addOpacity(E,h7t))}}i.glText[a].update(f)}Bze.exports={styleTextSelection:d7t}});var KX=ye((S0r,Uze)=>{\"use strict\";var Nze=lu(),v7t=YX().styleTextSelection;Uze.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l=n[0].t,u=s._length,c=l.x,f=l.y,h=l._scene,d=l.index;if(!h)return o;var v=Nze.hasText(s),x=Nze.hasMarkers(s),b=!x&&!v;if(s.visible!==!0||b)return o;var p=[],E=[];if(r!==!1&&!r.degenerate)for(var k=0;k<u;k++)r.contains([l.xpx[k],l.ypx[k]],!1,k,t)?(p.push(k),o.push({pointNumber:k,x:i.c2d(c[k]),y:a.c2d(f[k])})):E.push(k);if(x){var A=h.scatter2d;if(!p.length&&!E.length){var L=new Array(h.count);L[d]=h.markerOptions[d],A.update.apply(A,L)}else if(!h.selectBatch[d].length&&!h.unselectBatch[d].length){var _=new Array(h.count);_[d]=h.markerUnselectedOptions[d],A.update.apply(A,_)}}return h.selectBatch[d]=p,h.unselectBatch[d]=E,v&&v7t(n),o}});var Hze=ye((M0r,Vze)=>{\"use strict\";var p7t=zz();Vze.exports={moduleType:\"trace\",name:\"scattergl\",basePlotModule:Jf(),categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\"],attributes:tk(),supplyDefaults:ADe(),crossTraceDefaults:$N(),colorbar:Kd(),formatLabels:MDe(),calc:qze(),hoverPoints:p7t.hoverPoints,selectPoints:KX(),meta:{}}});var jze=ye((E0r,Zz)=>{\"use strict\";var Wz=VE();Zz.exports=Gze;Zz.exports.to=Gze;Zz.exports.from=g7t;function Gze(e,t){t==null&&(t=!0);var r=e[0],n=e[1],i=e[2],a=e[3];a==null&&(a=t?1:255),t&&(r*=255,n*=255,i*=255,a*=255),r=Wz(r,0,255)&255,n=Wz(n,0,255)&255,i=Wz(i,0,255)&255,a=Wz(a,0,255)&255;var o=r*16777216+(n<<16)+(i<<8)+a;return o}function g7t(e,t){e=+e;var r=e>>>24,n=(e&16711680)>>>16,i=(e&65280)>>>8,a=e&255;return t===!1?[r,n,i,a]:[r/255,n/255,i/255,a/255]}});var bh=ye((k0r,Zze)=>{\"use strict\";var Wze=Object.getOwnPropertySymbols,m7t=Object.prototype.hasOwnProperty,y7t=Object.prototype.propertyIsEnumerable;function _7t(e){if(e==null)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}function x7t(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",Object.getOwnPropertyNames(e)[0]===\"5\")return!1;for(var t={},r=0;r<10;r++)t[\"_\"+String.fromCharCode(r)]=r;var n=Object.getOwnPropertyNames(t).map(function(a){return t[a]});if(n.join(\"\")!==\"0123456789\")return!1;var i={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(a){i[a]=a}),Object.keys(Object.assign({},i)).join(\"\")===\"abcdefghijklmnopqrst\"}catch(a){return!1}}Zze.exports=x7t()?Object.assign:function(e,t){for(var r,n=_7t(e),i,a=1;a<arguments.length;a++){r=Object(arguments[a]);for(var o in r)m7t.call(r,o)&&(n[o]=r[o]);if(Wze){i=Wze(r);for(var s=0;s<i.length;s++)y7t.call(r,i[s])&&(n[i[s]]=r[i[s]])}}return n}});var Yze=ye((C0r,Xze)=>{Xze.exports=function(e){typeof e==\"string\"&&(e=[e]);for(var t=[].slice.call(arguments,1),r=[],n=0;n<e.length-1;n++)r.push(e[n],t[n]||\"\");return r.push(e[n]),r.join(\"\")}});var JX=ye((L0r,Kze)=>{\"use strict\";Kze.exports=function(t,r,n){Array.isArray(n)||(n=[].slice.call(arguments,2));for(var i=0,a=n.length;i<a;i++){var o=n[i];for(var s in o)if(!(r[s]!==void 0&&!Array.isArray(r[s])&&t[s]===r[s])&&s in r){var l;if(o[s]===!0)l=r[s];else{if(o[s]===!1)continue;if(typeof o[s]==\"function\"&&(l=o[s](r[s],t,r),l===void 0))continue}t[s]=l}}return t}});var $ze=ye((P0r,Jze)=>{\"use strict\";Jze.exports=typeof navigator!=\"undefined\"&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion))});var Xz=ye((I0r,aA)=>{\"use strict\";aA.exports=ok;aA.exports.float32=aA.exports.float=ok;aA.exports.fract32=aA.exports.fract=b7t;var Qze=new Float32Array(1);function b7t(e,t){if(e.length){if(e instanceof Float32Array)return new Float32Array(e.length);t instanceof Float32Array||(t=ok(e));for(var r=0,n=t.length;r<n;r++)t[r]=e[r]-t[r];return t}return ok(e-ok(e))}function ok(e){return e.length?e instanceof Float32Array?e:new Float32Array(e):(Qze[0]=e,Qze[0])}});var QX=ye((R0r,rFe)=>{\"use strict\";function w7t(e,t){var r=e==null?null:typeof Symbol!=\"undefined\"&&e[Symbol.iterator]||e[\"@@iterator\"];if(r!=null){var n,i,a,o,s=[],l=!0,u=!1;try{if(a=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(c){u=!0,i=c}finally{try{if(!l&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}function T7t(e,t){return M7t(e)||w7t(e,t)||tFe(e,t)||C7t()}function A7t(e){return S7t(e)||E7t(e)||tFe(e)||k7t()}function S7t(e){if(Array.isArray(e))return $X(e)}function M7t(e){if(Array.isArray(e))return e}function E7t(e){if(typeof Symbol!=\"undefined\"&&e[Symbol.iterator]!=null||e[\"@@iterator\"]!=null)return Array.from(e)}function tFe(e,t){if(e){if(typeof e==\"string\")return $X(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r===\"Object\"&&e.constructor&&(r=e.constructor.name),r===\"Map\"||r===\"Set\")return Array.from(e);if(r===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $X(e,t)}}function $X(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function k7t(){throw new TypeError(`Invalid attempt to spread non-iterable instance.\n", - "In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function C7t(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.\n", - "In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var L7t=$_(),P7t=j2(),I7t=jze(),R7t=Oz(),K2=bh(),Yz=Yze(),D7t=Zm(),z7t=JX(),F7t=W2(),eFe=$ze(),Kz=Xz(),q7t=Q5(),O7t=rv;function rv(e,t){var r=this;if(!(this instanceof rv))return new rv(e,t);typeof e==\"function\"?(t||(t={}),t.regl=e):(t=e,e=null),t&&t.length&&(t.positions=t),e=t.regl;var n=e._gl,i,a=[],o={},s=[],l=[null],u=[null],c=255,f=100;this.tooManyColors=eFe,i=e.texture({data:new Uint8Array(c*4),width:c,height:1,type:\"uint8\",format:\"rgba\",wrapS:\"clamp\",wrapT:\"clamp\",mag:\"nearest\",min:\"nearest\"}),K2(this,{regl:e,gl:n,groups:s,markerCache:u,markerTextures:l,palette:a,paletteIds:o,paletteTexture:i,maxColors:c,maxSize:f,canvas:n.canvas}),this.update(t);var h={uniforms:{constPointSize:!!t.constPointSize,opacity:e.prop(\"opacity\"),paletteSize:function(b,p){return[r.tooManyColors?0:c,i.height]},pixelRatio:e.context(\"pixelRatio\"),scale:e.prop(\"scale\"),scaleFract:e.prop(\"scaleFract\"),translate:e.prop(\"translate\"),translateFract:e.prop(\"translateFract\"),markerTexture:e.prop(\"markerTexture\"),paletteTexture:i},attributes:{x:function(b,p){return p.xAttr||{buffer:p.positionBuffer,stride:8,offset:0}},y:function(b,p){return p.yAttr||{buffer:p.positionBuffer,stride:8,offset:4}},xFract:function(b,p){return p.xAttr?{constant:[0,0]}:{buffer:p.positionFractBuffer,stride:8,offset:0}},yFract:function(b,p){return p.yAttr?{constant:[0,0]}:{buffer:p.positionFractBuffer,stride:8,offset:4}},size:function(b,p){return p.size.length?{buffer:p.sizeBuffer,stride:2,offset:0}:{constant:[Math.round(p.size*255/r.maxSize)]}},borderSize:function(b,p){return p.borderSize.length?{buffer:p.sizeBuffer,stride:2,offset:1}:{constant:[Math.round(p.borderSize*255/r.maxSize)]}},colorId:function(b,p){return p.color.length?{buffer:p.colorBuffer,stride:r.tooManyColors?8:4,offset:0}:{constant:r.tooManyColors?a.slice(p.color*4,p.color*4+4):[p.color]}},borderColorId:function(b,p){return p.borderColor.length?{buffer:p.colorBuffer,stride:r.tooManyColors?8:4,offset:r.tooManyColors?4:2}:{constant:r.tooManyColors?a.slice(p.borderColor*4,p.borderColor*4+4):[p.borderColor]}},isActive:function(b,p){return p.activation===!0?{constant:[1]}:p.activation?p.activation:{constant:[0]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},scissor:{enable:!0,box:e.prop(\"viewport\")},viewport:e.prop(\"viewport\"),stencil:{enable:!1},depth:{enable:!1},elements:e.prop(\"elements\"),count:e.prop(\"count\"),offset:e.prop(\"offset\"),primitive:\"points\"},d=K2({},h);d.frag=Yz([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform float opacity;\n", - "uniform sampler2D markerTexture;\n", - "\n", - "varying vec4 fragColor, fragBorderColor;\n", - "varying float fragWidth, fragBorderColorLevel, fragColorLevel;\n", - "\n", - "float smoothStep(float x, float y) {\n", - " return 1.0 / (1.0 + exp(50.0*(x - y)));\n", - "}\n", - "\n", - "void main() {\n", - " float dist = texture2D(markerTexture, gl_PointCoord).r, delta = fragWidth;\n", - "\n", - " // max-distance alpha\n", - " if (dist < 0.003) discard;\n", - "\n", - " // null-border case\n", - " if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) {\n", - " float colorAmt = smoothstep(.5 - delta, .5 + delta, dist);\n", - " gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a * opacity);\n", - " }\n", - " else {\n", - " float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist);\n", - " float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist);\n", - "\n", - " vec4 color = fragBorderColor;\n", - " color.a *= borderColorAmt;\n", - " color = mix(color, fragColor, colorAmt);\n", - " color.a *= opacity;\n", - "\n", - " gl_FragColor = color;\n", - " }\n", - "\n", - "}\n", - "`]),d.vert=Yz([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute float x, y, xFract, yFract;\n", - "attribute float size, borderSize;\n", - "attribute vec4 colorId, borderColorId;\n", - "attribute 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.\n", - "invariant gl_Position;\n", - "\n", - "uniform bool constPointSize;\n", - "uniform float pixelRatio;\n", - "uniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\n", - "uniform sampler2D paletteTexture;\n", - "\n", - "const float maxSize = 100.;\n", - "const float borderLevel = .5;\n", - "\n", - "varying vec4 fragColor, fragBorderColor;\n", - "varying float fragPointSize, fragBorderRadius, fragWidth, fragBorderColorLevel, fragColorLevel;\n", - "\n", - "float pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n", - "\n", - "bool isDirect = (paletteSize.x < 1.);\n", - "\n", - "vec4 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", - "\n", - "void main() {\n", - " // ignore inactive points\n", - " if (isActive == 0.) return;\n", - "\n", - " vec2 position = vec2(x, y);\n", - " vec2 positionFract = vec2(xFract, yFract);\n", - "\n", - " vec4 color = getColor(colorId);\n", - " vec4 borderColor = getColor(borderColorId);\n", - "\n", - " float size = size * maxSize / 255.;\n", - " float borderSize = borderSize * maxSize / 255.;\n", - "\n", - " gl_PointSize = 2. * size * pointSizeScale;\n", - " fragPointSize = size * pixelRatio;\n", - "\n", - " vec2 pos = (position + translate) * scale\n", - " + (positionFract + translateFract) * scale\n", - " + (position + translate) * scaleFract\n", - " + (positionFract + translateFract) * scaleFract;\n", - "\n", - " gl_Position = vec4(pos * 2. - 1., 0., 1.);\n", - "\n", - " fragColor = color;\n", - " fragBorderColor = borderColor;\n", - " fragWidth = 1. / gl_PointSize;\n", - "\n", - " fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.);\n", - " fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.);\n", - "}\n", - "`]),this.drawMarker=e(d);var v=K2({},h);v.frag=Yz([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "varying vec4 fragColor, fragBorderColor;\n", - "varying float fragBorderRadius, fragWidth;\n", - "\n", - "uniform float opacity;\n", - "\n", - "float smoothStep(float edge0, float edge1, float x) {\n", - "\tfloat t;\n", - "\tt = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n", - "\treturn t * t * (3.0 - 2.0 * t);\n", - "}\n", - "\n", - "void main() {\n", - "\tfloat radius, alpha = 1.0, delta = fragWidth;\n", - "\n", - "\tradius = length(2.0 * gl_PointCoord.xy - 1.0);\n", - "\n", - "\tif (radius > 1.0 + delta) {\n", - "\t\tdiscard;\n", - "\t}\n", - "\n", - "\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n", - "\n", - "\tfloat borderRadius = fragBorderRadius;\n", - "\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n", - "\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n", - "\tcolor.a *= alpha * opacity;\n", - "\tgl_FragColor = color;\n", - "}\n", - "`]),v.vert=Yz([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute float x, y, xFract, yFract;\n", - "attribute float size, borderSize;\n", - "attribute vec4 colorId, borderColorId;\n", - "attribute 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.\n", - "invariant gl_Position;\n", - "\n", - "uniform bool constPointSize;\n", - "uniform float pixelRatio;\n", - "uniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\n", - "uniform sampler2D paletteTexture;\n", - "\n", - "const float maxSize = 100.;\n", - "\n", - "varying vec4 fragColor, fragBorderColor;\n", - "varying float fragBorderRadius, fragWidth;\n", - "\n", - "float pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n", - "\n", - "bool isDirect = (paletteSize.x < 1.);\n", - "\n", - "vec4 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", - "\n", - "void 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", - "`]),eFe&&(v.frag=v.frag.replace(\"smoothstep\",\"smoothStep\"),d.frag=d.frag.replace(\"smoothstep\",\"smoothStep\")),this.drawCircle=e(v)}rv.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};rv.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this};rv.prototype.draw=function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];var i=this.groups;if(r.length===1&&Array.isArray(r[0])&&(r[0][0]===null||Array.isArray(r[0][0]))&&(r=r[0]),this.regl._refresh(),r.length)for(var a=0;a<r.length;a++)this.drawItem(a,r[a]);else i.forEach(function(o,s){e.drawItem(s)});return this};rv.prototype.drawItem=function(e,t){var r=this.groups,n=r[e];if(typeof t==\"number\"&&(e=t,n=r[t],t=null),!!(n&&n.count&&n.opacity)){n.activation[0]&&this.drawCircle(this.getMarkerDrawOptions(0,n,t));for(var i=[],a=1;a<n.activation.length;a++)!n.activation[a]||n.activation[a]!==!0&&!n.activation[a].data.length||i.push.apply(i,A7t(this.getMarkerDrawOptions(a,n,t)));i.length&&this.drawMarker(i)}};rv.prototype.getMarkerDrawOptions=function(e,t,r){var n=t.range,i=t.tree,a=t.viewport,o=t.activation,s=t.selectionBuffer,l=t.count,u=this.regl;if(!i)return r?[K2({},t,{markerTexture:this.markerTextures[e],activation:o[e],count:r.length,elements:r,offset:0})]:[K2({},t,{markerTexture:this.markerTextures[e],activation:o[e],offset:0})];var c=[],f=i.range(n,{lod:!0,px:[(n[2]-n[0])/a.width,(n[3]-n[1])/a.height]});if(r){for(var h=o[e],d=h.data,v=new Uint8Array(l),x=0;x<r.length;x++){var b=r[x];v[b]=d?d[b]:1}s.subdata(v)}for(var p=f.length;p--;){var E=T7t(f[p],2),k=E[0],A=E[1];c.push(K2({},t,{markerTexture:this.markerTextures[e],activation:r?s:o[e],offset:k,count:A-k}))}return c};rv.prototype.update=function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];if(r.length){r.length===1&&Array.isArray(r[0])&&(r=r[0]);var i=this.groups,a=this.gl,o=this.regl,s=this.maxSize,l=this.maxColors,u=this.palette;this.groups=i=r.map(function(c,f){var h=i[f];if(c===void 0)return h;c===null?c={positions:null}:typeof c==\"function\"?c={ondraw:c}:typeof c[0]==\"number\"&&(c={positions:c}),c=D7t(c,{positions:\"positions data points\",snap:\"snap cluster lod tree\",size:\"sizes size radius\",borderSize:\"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline\",color:\"colors color fill fill-color fillColor\",borderColor:\"borderColors borderColor stroke stroke-color strokeColor\",marker:\"markers marker shape\",range:\"range dataBox databox\",viewport:\"viewport viewPort viewBox viewbox\",opacity:\"opacity alpha transparency\",bounds:\"bound bounds boundaries limits\",tooManyColors:\"tooManyColors palette paletteMode optimizePalette enablePalette\"}),c.positions===null&&(c.positions=[]),c.tooManyColors!=null&&(e.tooManyColors=c.tooManyColors),h||(i[f]=h={id:f,scale:null,translate:null,scaleFract:null,translateFract:null,activation:[],selectionBuffer:o.buffer({data:new Uint8Array(0),usage:\"stream\",type:\"uint8\"}),sizeBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"uint8\"}),colorBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"uint8\"}),positionBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"float\"}),positionFractBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"float\"})},c=K2({},rv.defaults,c)),c.positions&&!(\"marker\"in c)&&(c.marker=h.marker,delete h.marker),c.marker&&!(\"positions\"in c)&&(c.positions=h.positions,delete h.positions);var d=0,v=0;if(z7t(h,c,[{snap:!0,size:function(G,N){return G==null&&(G=rv.defaults.size),d+=G&&G.length?1:0,G},borderSize:function(G,N){return G==null&&(G=rv.defaults.borderSize),d+=G&&G.length?1:0,G},opacity:parseFloat,color:function(G,N){return G==null&&(G=rv.defaults.color),G=e.updateColor(G),v++,G},borderColor:function(G,N){return G==null&&(G=rv.defaults.borderColor),G=e.updateColor(G),v++,G},bounds:function(G,N,W){return\"range\"in W||(W.range=null),G},positions:function(G,N,W){var re=N.snap,ae=N.positionBuffer,_e=N.positionFractBuffer,Me=N.selectionBuffer;if(G.x||G.y)return G.x.length?N.xAttr={buffer:o.buffer(G.x),offset:0,stride:4,count:G.x.length}:N.xAttr={buffer:G.x.buffer,offset:G.x.offset*4||0,stride:(G.x.stride||1)*4,count:G.x.count},G.y.length?N.yAttr={buffer:o.buffer(G.y),offset:0,stride:4,count:G.y.length}:N.yAttr={buffer:G.y.buffer,offset:G.y.offset*4||0,stride:(G.y.stride||1)*4,count:G.y.count},N.count=Math.max(N.xAttr.count,N.yAttr.count),G;G=F7t(G,\"float64\");var ke=N.count=Math.floor(G.length/2),ge=N.bounds=ke?P7t(G,2):null;if(!W.range&&!N.range&&(delete N.range,W.range=ge),!W.marker&&!N.marker&&(delete N.marker,W.marker=null),re&&(re===!0||ke>re)?N.tree=R7t(G,{bounds:ge}):re&&re.length&&(N.tree=re),N.tree){var ie={primitive:\"points\",usage:\"static\",data:N.tree,type:\"uint32\"};N.elements?N.elements(ie):N.elements=o.elements(ie)}var Te=Kz.float32(G);ae({data:Te,usage:\"dynamic\"});var Ee=Kz.fract32(G,Te);return _e({data:Ee,usage:\"dynamic\"}),Me({data:new Uint8Array(ke),type:\"uint8\",usage:\"stream\"}),G}},{marker:function(G,N,W){var re=N.activation;if(re.forEach(function(Ee){return Ee&&Ee.destroy&&Ee.destroy()}),re.length=0,!G||typeof G[0]==\"number\"){var ae=e.addMarker(G);re[ae]=!0}else{for(var _e=[],Me=0,ke=Math.min(G.length,N.count);Me<ke;Me++){var ge=e.addMarker(G[Me]);_e[ge]||(_e[ge]=new Uint8Array(N.count)),_e[ge][Me]=1}for(var ie=0;ie<_e.length;ie++)if(_e[ie]){var Te={data:_e[ie],type:\"uint8\",usage:\"static\"};re[ie]?re[ie](Te):re[ie]=o.buffer(Te),re[ie].data=_e[ie]}}return G},range:function(G,N,W){var re=N.bounds;if(re)return G||(G=re),N.scale=[1/(G[2]-G[0]),1/(G[3]-G[1])],N.translate=[-G[0],-G[1]],N.scaleFract=Kz.fract(N.scale),N.translateFract=Kz.fract(N.translate),G},viewport:function(G){var N=q7t(G||[a.drawingBufferWidth,a.drawingBufferHeight]);return N}}]),d){var x=h,b=x.count,p=x.size,E=x.borderSize,k=x.sizeBuffer,A=new Uint8Array(b*2);if(p.length||E.length)for(var L=0;L<b;L++)A[L*2]=Math.round((p[L]==null?p:p[L])*255/s),A[L*2+1]=Math.round((E[L]==null?E:E[L])*255/s);k({data:A,usage:\"dynamic\"})}if(v){var _=h,C=_.count,M=_.color,g=_.borderColor,P=_.colorBuffer,T;if(e.tooManyColors){if(M.length||g.length){T=new Uint8Array(C*8);for(var F=0;F<C;F++){var q=M[F];T[F*8]=u[q*4],T[F*8+1]=u[q*4+1],T[F*8+2]=u[q*4+2],T[F*8+3]=u[q*4+3];var V=g[F];T[F*8+4]=u[V*4],T[F*8+5]=u[V*4+1],T[F*8+6]=u[V*4+2],T[F*8+7]=u[V*4+3]}}}else if(M.length||g.length){T=new Uint8Array(C*4+2);for(var H=0;H<C;H++)M[H]!=null&&(T[H*4]=M[H]%l,T[H*4+1]=Math.floor(M[H]/l)),g[H]!=null&&(T[H*4+2]=g[H]%l,T[H*4+3]=Math.floor(g[H]/l))}P({data:T||new Uint8Array(0),type:\"uint8\",usage:\"dynamic\"})}return h})}};rv.prototype.addMarker=function(e){var t=this.markerTextures,r=this.regl,n=this.markerCache,i=e==null?0:n.indexOf(e);if(i>=0)return i;var a;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)a=e;else{a=new Uint8Array(e.length);for(var o=0,s=e.length;o<s;o++)a[o]=e[o]*255}var l=Math.floor(Math.sqrt(a.length));return i=t.length,n.push(e),t.push(r.texture({channels:1,data:a,radius:l,mag:\"linear\",min:\"linear\"})),i};rv.prototype.updateColor=function(e){var t=this.paletteIds,r=this.palette,n=this.maxColors;Array.isArray(e)||(e=[e]);var i=[];if(typeof e[0]==\"number\"){var a=[];if(Array.isArray(e))for(var o=0;o<e.length;o+=4)a.push(e.slice(o,o+4));else for(var s=0;s<e.length;s+=4)a.push(e.subarray(s,s+4));e=a}for(var l=0;l<e.length;l++){var u=e[l];u=L7t(u,\"uint8\");var c=I7t(u,!1);if(t[c]==null){var f=r.length;t[c]=Math.floor(f/4),r[f]=u[0],r[f+1]=u[1],r[f+2]=u[2],r[f+3]=u[3]}i[l]=t[c]}return!this.tooManyColors&&r.length>n*4&&(this.tooManyColors=!0),this.updatePalette(r),i.length===1?i[0]:i};rv.prototype.updatePalette=function(e){if(!this.tooManyColors){var t=this.maxColors,r=this.paletteTexture,n=Math.ceil(e.length*.25/t);if(n>1){e=e.slice();for(var i=e.length*.25%t;i<n*t;i++)e.push(0,0,0,0)}r.height<n&&r.resize(t,n),r.subimage({width:Math.min(e.length*.25,t),height:n,data:e},0,0)}};rv.prototype.destroy=function(){return this.groups.forEach(function(e){e.sizeBuffer.destroy(),e.positionBuffer.destroy(),e.positionFractBuffer.destroy(),e.colorBuffer.destroy(),e.activation.forEach(function(t){return t&&t.destroy&&t.destroy()}),e.selectionBuffer.destroy(),e.elements&&e.elements.destroy()}),this.groups.length=0,this.paletteTexture.destroy(),this.markerTextures.forEach(function(e){return e&&e.destroy&&e.destroy()}),this};var B7t=bh(),N7t=function(t,r){var n=new O7t(t,r),i=n.render.bind(n);return B7t(i,{render:i,update:n.update.bind(n),draw:n.draw.bind(n),destroy:n.destroy.bind(n),regl:n.regl,gl:n.gl,canvas:n.gl.canvas,groups:n.groups,markers:n.markerCache,palette:n.palette}),i};rFe.exports=N7t});var sFe=ye((D0r,iY)=>{\"use strict\";iY.exports=Qz;iY.exports.default=Qz;function Qz(e,t,r){r=r||2;var n=t&&t.length,i=n?t[0]*r:e.length,a=nFe(e,0,i,r,!0),o=[];if(!a||a.next===a.prev)return o;var s,l,u,c,f,h,d;if(n&&(a=j7t(e,t,a,r)),e.length>80*r){s=u=e[0],l=c=e[1];for(var v=r;v<i;v+=r)f=e[v],h=e[v+1],f<s&&(s=f),h<l&&(l=h),f>u&&(u=f),h>c&&(c=h);d=Math.max(u-s,c-l),d=d!==0?32767/d:0}return sk(a,o,r,s,l,d,0),o}function nFe(e,t,r,n,i){var a,o;if(i===rY(e,t,r,n)>0)for(a=t;a<r;a+=n)o=iFe(a,e[a],e[a+1],o);else for(a=r-n;a>=t;a-=n)o=iFe(a,e[a],e[a+1],o);return o&&eF(o,o.next)&&(uk(o),o=o.next),o}function J2(e,t){if(!e)return e;t||(t=e);var r=e,n;do if(n=!1,!r.steiner&&(eF(r,r.next)||eh(r.prev,r,r.next)===0)){if(uk(r),r=t=r.prev,r===r.next)break;n=!0}else r=r.next;while(n||r!==t);return t}function sk(e,t,r,n,i,a,o){if(e){!o&&a&&K7t(e,n,i,a);for(var s=e,l,u;e.prev!==e.next;){if(l=e.prev,u=e.next,a?V7t(e,n,i,a):U7t(e)){t.push(l.i/r|0),t.push(e.i/r|0),t.push(u.i/r|0),uk(e),e=u.next,s=u.next;continue}if(e=u,e===s){o?o===1?(e=H7t(J2(e),t,r),sk(e,t,r,n,i,a,2)):o===2&&G7t(e,t,r,n,i,a):sk(J2(e),t,r,n,i,a,1);break}}}}function U7t(e){var t=e.prev,r=e,n=e.next;if(eh(t,r,n)>=0)return!1;for(var i=t.x,a=r.x,o=n.x,s=t.y,l=r.y,u=n.y,c=i<a?i<o?i:o:a<o?a:o,f=s<l?s<u?s:u:l<u?l:u,h=i>a?i>o?i:o:a>o?a:o,d=s>l?s>u?s:u:l>u?l:u,v=n.next;v!==t;){if(v.x>=c&&v.x<=h&&v.y>=f&&v.y<=d&&oA(i,s,a,l,o,u,v.x,v.y)&&eh(v.prev,v,v.next)>=0)return!1;v=v.next}return!0}function V7t(e,t,r,n){var i=e.prev,a=e,o=e.next;if(eh(i,a,o)>=0)return!1;for(var s=i.x,l=a.x,u=o.x,c=i.y,f=a.y,h=o.y,d=s<l?s<u?s:u:l<u?l:u,v=c<f?c<h?c:h:f<h?f:h,x=s>l?s>u?s:u:l>u?l:u,b=c>f?c>h?c:h:f>h?f:h,p=eY(d,v,t,r,n),E=eY(x,b,t,r,n),k=e.prevZ,A=e.nextZ;k&&k.z>=p&&A&&A.z<=E;){if(k.x>=d&&k.x<=x&&k.y>=v&&k.y<=b&&k!==i&&k!==o&&oA(s,c,l,f,u,h,k.x,k.y)&&eh(k.prev,k,k.next)>=0||(k=k.prevZ,A.x>=d&&A.x<=x&&A.y>=v&&A.y<=b&&A!==i&&A!==o&&oA(s,c,l,f,u,h,A.x,A.y)&&eh(A.prev,A,A.next)>=0))return!1;A=A.nextZ}for(;k&&k.z>=p;){if(k.x>=d&&k.x<=x&&k.y>=v&&k.y<=b&&k!==i&&k!==o&&oA(s,c,l,f,u,h,k.x,k.y)&&eh(k.prev,k,k.next)>=0)return!1;k=k.prevZ}for(;A&&A.z<=E;){if(A.x>=d&&A.x<=x&&A.y>=v&&A.y<=b&&A!==i&&A!==o&&oA(s,c,l,f,u,h,A.x,A.y)&&eh(A.prev,A,A.next)>=0)return!1;A=A.nextZ}return!0}function H7t(e,t,r){var n=e;do{var i=n.prev,a=n.next.next;!eF(i,a)&&aFe(i,n,n.next,a)&&lk(i,a)&&lk(a,i)&&(t.push(i.i/r|0),t.push(n.i/r|0),t.push(a.i/r|0),uk(n),uk(n.next),n=e=a),n=n.next}while(n!==e);return J2(n)}function G7t(e,t,r,n,i,a){var o=e;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&Q7t(o,s)){var l=oFe(o,s);o=J2(o,o.next),l=J2(l,l.next),sk(o,t,r,n,i,a,0),sk(l,t,r,n,i,a,0);return}s=s.next}o=o.next}while(o!==e)}function j7t(e,t,r,n){var i=[],a,o,s,l,u;for(a=0,o=t.length;a<o;a++)s=t[a]*n,l=a<o-1?t[a+1]*n:e.length,u=nFe(e,s,l,n,!1),u===u.next&&(u.steiner=!0),i.push($7t(u));for(i.sort(W7t),a=0;a<i.length;a++)r=Z7t(i[a],r);return r}function W7t(e,t){return e.x-t.x}function Z7t(e,t){var r=X7t(e,t);if(!r)return t;var n=oFe(r,e);return J2(n,n.next),J2(r,r.next)}function X7t(e,t){var r=t,n=e.x,i=e.y,a=-1/0,o;do{if(i<=r.y&&i>=r.next.y&&r.next.y!==r.y){var s=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(s<=n&&s>a&&(a=s,o=r.x<r.next.x?r:r.next,s===n))return o}r=r.next}while(r!==t);if(!o)return null;var l=o,u=o.x,c=o.y,f=1/0,h;r=o;do n>=r.x&&r.x>=u&&n!==r.x&&oA(i<c?n:a,i,u,c,i<c?a:n,i,r.x,r.y)&&(h=Math.abs(i-r.y)/(n-r.x),lk(r,e)&&(h<f||h===f&&(r.x>o.x||r.x===o.x&&Y7t(o,r)))&&(o=r,f=h)),r=r.next;while(r!==l);return o}function Y7t(e,t){return eh(e.prev,e,t.prev)<0&&eh(t.next,e,e.next)<0}function K7t(e,t,r,n){var i=e;do i.z===0&&(i.z=eY(i.x,i.y,t,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,J7t(i)}function J7t(e){var t,r,n,i,a,o,s,l,u=1;do{for(r=e,e=null,a=null,o=0;r;){for(o++,n=r,s=0,t=0;t<u&&(s++,n=n.nextZ,!!n);t++);for(l=u;s>0||l>0&&n;)s!==0&&(l===0||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1);return e}function eY(e,t,r,n,i){return e=(e-r)*i|0,t=(t-n)*i|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function $7t(e){var t=e,r=e;do(t.x<r.x||t.x===r.x&&t.y<r.y)&&(r=t),t=t.next;while(t!==e);return r}function oA(e,t,r,n,i,a,o,s){return(i-o)*(t-s)>=(e-o)*(a-s)&&(e-o)*(n-s)>=(r-o)*(t-s)&&(r-o)*(a-s)>=(i-o)*(n-s)}function Q7t(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!e9t(e,t)&&(lk(e,t)&&lk(t,e)&&t9t(e,t)&&(eh(e.prev,e,t.prev)||eh(e,t.prev,t))||eF(e,t)&&eh(e.prev,e,e.next)>0&&eh(t.prev,t,t.next)>0)}function eh(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function eF(e,t){return e.x===t.x&&e.y===t.y}function aFe(e,t,r,n){var i=$z(eh(e,t,r)),a=$z(eh(e,t,n)),o=$z(eh(r,n,e)),s=$z(eh(r,n,t));return!!(i!==a&&o!==s||i===0&&Jz(e,r,t)||a===0&&Jz(e,n,t)||o===0&&Jz(r,e,n)||s===0&&Jz(r,t,n))}function Jz(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function $z(e){return e>0?1:e<0?-1:0}function e9t(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&aFe(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function lk(e,t){return eh(e.prev,e,e.next)<0?eh(e,t,e.next)>=0&&eh(e,e.prev,t)>=0:eh(e,t,e.prev)<0||eh(e,e.next,t)<0}function t9t(e,t){var r=e,n=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;while(r!==e);return n}function oFe(e,t){var r=new tY(e.i,e.x,e.y),n=new tY(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function iFe(e,t,r,n){var i=new tY(e,t,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function uk(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function tY(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}Qz.deviation=function(e,t,r,n){var i=t&&t.length,a=i?t[0]*r:e.length,o=Math.abs(rY(e,0,a,r));if(i)for(var s=0,l=t.length;s<l;s++){var u=t[s]*r,c=s<l-1?t[s+1]*r:e.length;o-=Math.abs(rY(e,u,c,r))}var f=0;for(s=0;s<n.length;s+=3){var h=n[s]*r,d=n[s+1]*r,v=n[s+2]*r;f+=Math.abs((e[h]-e[v])*(e[d+1]-e[h+1])-(e[h]-e[d])*(e[v+1]-e[h+1]))}return o===0&&f===0?0:Math.abs((f-o)/o)};function rY(e,t,r,n){for(var i=0,a=t,o=r-n;a<r;a+=n)i+=(e[o]-e[a])*(e[a+1]+e[o+1]),o=a;return i}Qz.flatten=function(e){for(var t=e[0][0].length,r={vertices:[],holes:[],dimensions:t},n=0,i=0;i<e.length;i++){for(var a=0;a<e[i].length;a++)for(var o=0;o<t;o++)r.vertices.push(e[i][a][o]);i>0&&(n+=e[i-1].length,r.holes.push(n))}return r}});var uFe=ye((z0r,lFe)=>{\"use strict\";var r9t=j2();lFe.exports=i9t;function i9t(e,t,r){if(!e||e.length==null)throw Error(\"Argument should be an array\");t==null&&(t=1),r==null&&(r=r9t(e,t));for(var n=0;n<t;n++){var i=r[t+n],a=r[n],o=n,s=e.length;if(i===1/0&&a===-1/0)for(o=n;o<s;o+=t)e[o]=e[o]===i?1:e[o]===a?0:.5;else if(i===1/0)for(o=n;o<s;o+=t)e[o]=e[o]===i?1:0;else if(a===-1/0)for(o=n;o<s;o+=t)e[o]=e[o]===a?0:1;else{var l=i-a;for(o=n;o<s;o+=t)isNaN(e[o])||(e[o]=l===0?.5:(e[o]-a)/l)}}return e}});var fFe=ye((F0r,cFe)=>{\"use strict\";cFe.exports=function(){var e,t;if(typeof WeakMap!=\"function\")return!1;try{e=new WeakMap([[t={},\"one\"],[{},\"two\"],[{},\"three\"]])}catch(r){return!1}return!(String(e)!==\"[object WeakMap]\"||typeof e.set!=\"function\"||e.set({},1)!==e||typeof e.delete!=\"function\"||typeof e.has!=\"function\"||e.get(t)!==\"one\")}});var dFe=ye((q0r,hFe)=>{\"use strict\";hFe.exports=function(){}});var lx=ye((O0r,vFe)=>{\"use strict\";var n9t=dFe()();vFe.exports=function(e){return e!==n9t&&e!==null}});var nY=ye((B0r,gFe)=>{\"use strict\";var a9t=Object.create,o9t=Object.getPrototypeOf,pFe={};gFe.exports=function(){var e=Object.setPrototypeOf,t=arguments[0]||a9t;return typeof e!=\"function\"?!1:o9t(e(t(null),pFe))===pFe}});var aY=ye((N0r,mFe)=>{\"use strict\";var s9t=lx(),l9t={function:!0,object:!0};mFe.exports=function(e){return s9t(e)&&l9t[typeof e]||!1}});var i1=ye((U0r,yFe)=>{\"use strict\";var u9t=lx();yFe.exports=function(e){if(!u9t(e))throw new TypeError(\"Cannot use null or undefined\");return e}});var xFe=ye((V0r,_Fe)=>{\"use strict\";var oY=Object.create,tF;nY()()||(tF=sY());_Fe.exports=function(){var e,t,r;return!tF||tF.level!==1?oY:(e={},t={},r={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(n){if(n===\"__proto__\"){t[n]={configurable:!0,enumerable:!1,writable:!0,value:void 0};return}t[n]=r}),Object.defineProperties(e,t),Object.defineProperty(tF,\"nullPolyfill\",{configurable:!1,enumerable:!1,writable:!1,value:e}),function(n,i){return oY(n===null?e:n,i)})}()});var sY=ye((H0r,bFe)=>{\"use strict\";var c9t=aY(),f9t=i1(),h9t=Object.prototype.isPrototypeOf,d9t=Object.defineProperty,v9t={configurable:!0,enumerable:!1,writable:!0,value:void 0},rF;rF=function(e,t){if(f9t(e),t===null||c9t(t))return e;throw new TypeError(\"Prototype must be null or an object\")};bFe.exports=function(e){var t,r;return e?(e.level===2?e.set?(r=e.set,t=function(n,i){return r.call(rF(n,i),i),n}):t=function(n,i){return rF(n,i).__proto__=i,n}:t=function n(i,a){var o;return rF(i,a),o=h9t.call(n.nullPolyfill,i),o&&delete n.nullPolyfill.__proto__,a===null&&(a=n.nullPolyfill),i.__proto__=a,o&&d9t(n.nullPolyfill,\"__proto__\",v9t),i},Object.defineProperty(t,\"level\",{configurable:!1,enumerable:!1,writable:!1,value:e.level})):null}(function(){var e=Object.create(null),t={},r,n=Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\");if(n){try{r=n.set,r.call(e,t)}catch(i){}if(Object.getPrototypeOf(e)===t)return{set:r,level:2}}return e.__proto__=t,Object.getPrototypeOf(e)===t?{level:2}:(e={},e.__proto__=t,Object.getPrototypeOf(e)===t?{level:1}:!1)}());xFe()});var iF=ye((G0r,wFe)=>{\"use strict\";wFe.exports=nY()()?Object.setPrototypeOf:sY()});var AFe=ye((j0r,TFe)=>{\"use strict\";var p9t=aY();TFe.exports=function(e){if(!p9t(e))throw new TypeError(e+\" is not an Object\");return e}});var MFe=ye((W0r,SFe)=>{\"use strict\";var g9t=Object.create(null),m9t=Math.random;SFe.exports=function(){var e;do e=m9t().toString(36).slice(2);while(g9t[e]);return e}});var $2=ye((Z0r,EFe)=>{\"use strict\";var y9t=void 0;EFe.exports=function(e){return e!==y9t&&e!==null}});var nF=ye((X0r,kFe)=>{\"use strict\";var _9t=$2(),x9t={object:!0,function:!0,undefined:!0};kFe.exports=function(e){return _9t(e)?hasOwnProperty.call(x9t,typeof e):!1}});var LFe=ye((Y0r,CFe)=>{\"use strict\";var b9t=nF();CFe.exports=function(e){if(!b9t(e))return!1;try{return e.constructor?e.constructor.prototype===e:!1}catch(t){return!1}}});var IFe=ye((K0r,PFe)=>{\"use strict\";var w9t=LFe();PFe.exports=function(e){if(typeof e!=\"function\"||!hasOwnProperty.call(e,\"length\"))return!1;try{if(typeof e.length!=\"number\"||typeof e.call!=\"function\"||typeof e.apply!=\"function\")return!1}catch(t){return!1}return!w9t(e)}});var lY=ye((J0r,RFe)=>{\"use strict\";var T9t=IFe(),A9t=/^\\s*class[\\s{/}]/,S9t=Function.prototype.toString;RFe.exports=function(e){return!(!T9t(e)||A9t.test(S9t.call(e)))}});var zFe=ye(($0r,DFe)=>{\"use strict\";DFe.exports=function(){var e=Object.assign,t;return typeof e!=\"function\"?!1:(t={foo:\"raz\"},e(t,{bar:\"dwa\"},{trzy:\"trzy\"}),t.foo+t.bar+t.trzy===\"razdwatrzy\")}});var qFe=ye((Q0r,FFe)=>{\"use strict\";FFe.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(e){return!1}}});var BFe=ye((egr,OFe)=>{\"use strict\";var M9t=lx(),E9t=Object.keys;OFe.exports=function(e){return E9t(M9t(e)?Object(e):e)}});var UFe=ye((tgr,NFe)=>{\"use strict\";NFe.exports=qFe()()?Object.keys:BFe()});var HFe=ye((rgr,VFe)=>{\"use strict\";var k9t=UFe(),C9t=i1(),L9t=Math.max;VFe.exports=function(e,t){var r,n,i=L9t(arguments.length,2),a;for(e=Object(C9t(e)),a=function(o){try{e[o]=t[o]}catch(s){r||(r=s)}},n=1;n<i;++n)t=arguments[n],k9t(t).forEach(a);if(r!==void 0)throw r;return e}});var aF=ye((igr,GFe)=>{\"use strict\";GFe.exports=zFe()()?Object.assign:HFe()});var uY=ye((ngr,jFe)=>{\"use strict\";var P9t=lx(),I9t=Array.prototype.forEach,R9t=Object.create,D9t=function(e,t){var r;for(r in e)t[r]=e[r]};jFe.exports=function(e){var t=R9t(null);return I9t.call(arguments,function(r){P9t(r)&&D9t(Object(r),t)}),t}});var ZFe=ye((agr,WFe)=>{\"use strict\";var cY=\"razdwatrzy\";WFe.exports=function(){return typeof cY.contains!=\"function\"?!1:cY.contains(\"dwa\")===!0&&cY.contains(\"foo\")===!1}});var YFe=ye((ogr,XFe)=>{\"use strict\";var z9t=String.prototype.indexOf;XFe.exports=function(e){return z9t.call(this,e,arguments[1])>-1}});var fY=ye((sgr,KFe)=>{\"use strict\";KFe.exports=ZFe()()?String.prototype.contains:YFe()});var n1=ye((lgr,e7e)=>{\"use strict\";var oF=$2(),JFe=lY(),$Fe=aF(),QFe=uY(),ck=fY(),F9t=e7e.exports=function(e,t){var r,n,i,a,o;return arguments.length<2||typeof e!=\"string\"?(a=t,t=e,e=null):a=arguments[2],oF(e)?(r=ck.call(e,\"c\"),n=ck.call(e,\"e\"),i=ck.call(e,\"w\")):(r=i=!0,n=!1),o={value:t,configurable:r,enumerable:n,writable:i},a?$Fe(QFe(a),o):o};F9t.gs=function(e,t,r){var n,i,a,o;return typeof e!=\"string\"?(a=r,r=t,t=e,e=null):a=arguments[3],oF(t)?JFe(t)?oF(r)?JFe(r)||(a=r,r=void 0):r=void 0:(a=t,t=r=void 0):t=void 0,oF(e)?(n=ck.call(e,\"c\"),i=ck.call(e,\"e\")):(n=!0,i=!1),o={get:t,set:r,configurable:n,enumerable:i},a?$Fe(QFe(a),o):o}});var fk=ye((ugr,r7e)=>{\"use strict\";var t7e=Object.prototype.toString,q9t=t7e.call(function(){return arguments}());r7e.exports=function(e){return t7e.call(e)===q9t}});var hk=ye((cgr,n7e)=>{\"use strict\";var i7e=Object.prototype.toString,O9t=i7e.call(\"\");n7e.exports=function(e){return typeof e==\"string\"||e&&typeof e==\"object\"&&(e instanceof String||i7e.call(e)===O9t)||!1}});var o7e=ye((fgr,a7e)=>{\"use strict\";a7e.exports=function(){return typeof globalThis!=\"object\"||!globalThis?!1:globalThis.Array===Array}});var u7e=ye((hgr,l7e)=>{var s7e=function(){if(typeof self==\"object\"&&self)return self;if(typeof window==\"object\"&&window)return window;throw new Error(\"Unable to resolve global `this`\")};l7e.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,\"__global__\",{get:function(){return this},configurable:!0})}catch(e){return s7e()}try{return __global__||s7e()}finally{delete Object.prototype.__global__}}()});var dk=ye((dgr,c7e)=>{\"use strict\";c7e.exports=o7e()()?globalThis:u7e()});var h7e=ye((vgr,f7e)=>{\"use strict\";var B9t=dk(),hY={object:!0,symbol:!0};f7e.exports=function(){var e=B9t.Symbol,t;if(typeof e!=\"function\")return!1;t=e(\"test symbol\");try{String(t)}catch(r){return!1}return!(!hY[typeof e.iterator]||!hY[typeof e.toPrimitive]||!hY[typeof e.toStringTag])}});var v7e=ye((pgr,d7e)=>{\"use strict\";d7e.exports=function(e){return e?typeof e==\"symbol\"?!0:!e.constructor||e.constructor.name!==\"Symbol\"?!1:e[e.constructor.toStringTag]===\"Symbol\":!1}});var dY=ye((ggr,p7e)=>{\"use strict\";var N9t=v7e();p7e.exports=function(e){if(!N9t(e))throw new TypeError(e+\" is not a symbol\");return e}});var x7e=ye((mgr,_7e)=>{\"use strict\";var g7e=n1(),U9t=Object.create,m7e=Object.defineProperty,V9t=Object.prototype,y7e=U9t(null);_7e.exports=function(e){for(var t=0,r,n;y7e[e+(t||\"\")];)++t;return e+=t||\"\",y7e[e]=!0,r=\"@@\"+e,m7e(V9t,r,g7e.gs(null,function(i){n||(n=!0,m7e(this,r,g7e(i)),n=!1)})),r}});var w7e=ye((ygr,b7e)=>{\"use strict\";var Qg=n1(),wh=dk().Symbol;b7e.exports=function(e){return Object.defineProperties(e,{hasInstance:Qg(\"\",wh&&wh.hasInstance||e(\"hasInstance\")),isConcatSpreadable:Qg(\"\",wh&&wh.isConcatSpreadable||e(\"isConcatSpreadable\")),iterator:Qg(\"\",wh&&wh.iterator||e(\"iterator\")),match:Qg(\"\",wh&&wh.match||e(\"match\")),replace:Qg(\"\",wh&&wh.replace||e(\"replace\")),search:Qg(\"\",wh&&wh.search||e(\"search\")),species:Qg(\"\",wh&&wh.species||e(\"species\")),split:Qg(\"\",wh&&wh.split||e(\"split\")),toPrimitive:Qg(\"\",wh&&wh.toPrimitive||e(\"toPrimitive\")),toStringTag:Qg(\"\",wh&&wh.toStringTag||e(\"toStringTag\")),unscopables:Qg(\"\",wh&&wh.unscopables||e(\"unscopables\"))})}});var S7e=ye((_gr,A7e)=>{\"use strict\";var T7e=n1(),H9t=dY(),vk=Object.create(null);A7e.exports=function(e){return Object.defineProperties(e,{for:T7e(function(t){return vk[t]?vk[t]:vk[t]=e(String(t))}),keyFor:T7e(function(t){var r;H9t(t);for(r in vk)if(vk[r]===t)return r})})}});var k7e=ye((xgr,E7e)=>{\"use strict\";var Xm=n1(),vY=dY(),sF=dk().Symbol,G9t=x7e(),j9t=w7e(),W9t=S7e(),Z9t=Object.create,pY=Object.defineProperties,lF=Object.defineProperty,Wv,sA,M7e;if(typeof sF==\"function\")try{String(sF()),M7e=!0}catch(e){}else sF=null;sA=function(t){if(this instanceof sA)throw new TypeError(\"Symbol is not a constructor\");return Wv(t)};E7e.exports=Wv=function e(t){var r;if(this instanceof e)throw new TypeError(\"Symbol is not a constructor\");return M7e?sF(t):(r=Z9t(sA.prototype),t=t===void 0?\"\":String(t),pY(r,{__description__:Xm(\"\",t),__name__:Xm(\"\",G9t(t))}))};j9t(Wv);W9t(Wv);pY(sA.prototype,{constructor:Xm(Wv),toString:Xm(\"\",function(){return this.__name__})});pY(Wv.prototype,{toString:Xm(function(){return\"Symbol (\"+vY(this).__description__+\")\"}),valueOf:Xm(function(){return vY(this)})});lF(Wv.prototype,Wv.toPrimitive,Xm(\"\",function(){var e=vY(this);return typeof e==\"symbol\"?e:e.toString()}));lF(Wv.prototype,Wv.toStringTag,Xm(\"c\",\"Symbol\"));lF(sA.prototype,Wv.toStringTag,Xm(\"c\",Wv.prototype[Wv.toStringTag]));lF(sA.prototype,Wv.toPrimitive,Xm(\"c\",Wv.prototype[Wv.toPrimitive]))});var ux=ye((bgr,C7e)=>{\"use strict\";C7e.exports=h7e()()?dk().Symbol:k7e()});var P7e=ye((wgr,L7e)=>{\"use strict\";var X9t=i1();L7e.exports=function(){return X9t(this).length=0,this}});var lA=ye((Tgr,I7e)=>{\"use strict\";I7e.exports=function(e){if(typeof e!=\"function\")throw new TypeError(e+\" is not a function\");return e}});var D7e=ye((Agr,R7e)=>{\"use strict\";var Y9t=$2(),K9t=nF(),J9t=Object.prototype.toString;R7e.exports=function(e){if(!Y9t(e))return null;if(K9t(e)){var t=e.toString;if(typeof t!=\"function\"||t===J9t)return null}try{return\"\"+e}catch(r){return null}}});var F7e=ye((Sgr,z7e)=>{\"use strict\";z7e.exports=function(e){try{return e.toString()}catch(t){try{return String(e)}catch(r){return null}}}});var O7e=ye((Mgr,q7e)=>{\"use strict\";var $9t=F7e(),Q9t=/[\\n\\r\\u2028\\u2029]/g;q7e.exports=function(e){var t=$9t(e);return t===null?\"<Non-coercible to string value>\":(t.length>100&&(t=t.slice(0,99)+\"\\u2026\"),t=t.replace(Q9t,function(r){switch(r){case`\n", - "`:return\"\\\\n\";case\"\\r\":return\"\\\\r\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw new Error(\"Unexpected character\")}}),t)}});var gY=ye((Egr,U7e)=>{\"use strict\";var B7e=$2(),eqt=nF(),tqt=D7e(),rqt=O7e(),N7e=function(e,t){return e.replace(\"%v\",rqt(t))};U7e.exports=function(e,t,r){if(!eqt(r))throw new TypeError(N7e(t,e));if(!B7e(e)){if(\"default\"in r)return r.default;if(r.isOptional)return null}var n=tqt(r.errorMessage);throw B7e(n)||(n=t),new TypeError(N7e(n,e))}});var H7e=ye((kgr,V7e)=>{\"use strict\";var iqt=gY(),nqt=$2();V7e.exports=function(e){return nqt(e)?e:iqt(e,\"Cannot use %v\",arguments[1])}});var j7e=ye((Cgr,G7e)=>{\"use strict\";var aqt=gY(),oqt=lY();G7e.exports=function(e){return oqt(e)?e:aqt(e,\"%v is not a plain function\",arguments[1])}});var Z7e=ye((Lgr,W7e)=>{\"use strict\";W7e.exports=function(){var e=Array.from,t,r;return typeof e!=\"function\"?!1:(t=[\"raz\",\"dwa\"],r=e(t),!!(r&&r!==t&&r[1]===\"dwa\"))}});var Y7e=ye((Pgr,X7e)=>{\"use strict\";var sqt=Object.prototype.toString,lqt=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);X7e.exports=function(e){return typeof e==\"function\"&&lqt(sqt.call(e))}});var J7e=ye((Igr,K7e)=>{\"use strict\";K7e.exports=function(){var e=Math.sign;return typeof e!=\"function\"?!1:e(10)===1&&e(-20)===-1}});var Q7e=ye((Rgr,$7e)=>{\"use strict\";$7e.exports=function(e){return e=Number(e),isNaN(e)||e===0?e:e>0?1:-1}});var t9e=ye((Dgr,e9e)=>{\"use strict\";e9e.exports=J7e()()?Math.sign:Q7e()});var i9e=ye((zgr,r9e)=>{\"use strict\";var uqt=t9e(),cqt=Math.abs,fqt=Math.floor;r9e.exports=function(e){return isNaN(e)?0:(e=Number(e),e===0||!isFinite(e)?e:uqt(e)*fqt(cqt(e)))}});var a9e=ye((Fgr,n9e)=>{\"use strict\";var hqt=i9e(),dqt=Math.max;n9e.exports=function(e){return dqt(0,hqt(e))}});var u9e=ye((qgr,l9e)=>{\"use strict\";var vqt=ux().iterator,pqt=fk(),gqt=Y7e(),mqt=a9e(),o9e=lA(),yqt=i1(),_qt=lx(),xqt=hk(),s9e=Array.isArray,mY=Function.prototype.call,Q2={configurable:!0,enumerable:!0,writable:!0,value:null},yY=Object.defineProperty;l9e.exports=function(e){var t=arguments[1],r=arguments[2],n,i,a,o,s,l,u,c,f,h;if(e=Object(yqt(e)),_qt(t)&&o9e(t),!this||this===Array||!gqt(this)){if(!t){if(pqt(e))return s=e.length,s!==1?Array.apply(null,e):(o=new Array(1),o[0]=e[0],o);if(s9e(e)){for(o=new Array(s=e.length),i=0;i<s;++i)o[i]=e[i];return o}}o=[]}else n=this;if(!s9e(e)){if((f=e[vqt])!==void 0){for(u=o9e(f).call(e),n&&(o=new n),c=u.next(),i=0;!c.done;)h=t?mY.call(t,r,c.value,i):c.value,n?(Q2.value=h,yY(o,i,Q2)):o[i]=h,c=u.next(),++i;s=i}else if(xqt(e)){for(s=e.length,n&&(o=new n),i=0,a=0;i<s;++i)h=e[i],i+1<s&&(l=h.charCodeAt(0),l>=55296&&l<=56319&&(h+=e[++i])),h=t?mY.call(t,r,h,a):h,n?(Q2.value=h,yY(o,a,Q2)):o[a]=h,++a;s=a}}if(s===void 0)for(s=mqt(e.length),n&&(o=new n(s)),i=0;i<s;++i)h=t?mY.call(t,r,e[i],i):e[i],n?(Q2.value=h,yY(o,i,Q2)):o[i]=h;return n&&(Q2.value=null,o.length=s),o}});var f9e=ye((Ogr,c9e)=>{\"use strict\";c9e.exports=Z7e()()?Array.from:u9e()});var d9e=ye((Bgr,h9e)=>{\"use strict\";var bqt=f9e(),wqt=aF(),Tqt=i1();h9e.exports=function(e){var t=Object(Tqt(e)),r=arguments[1],n=Object(arguments[2]);if(t!==e&&!r)return t;var i={};return r?bqt(r,function(a){(n.ensure||a in e)&&(i[a]=e[a])}):wqt(i,e),i}});var g9e=ye((Ngr,p9e)=>{\"use strict\";var Aqt=lA(),Sqt=i1(),Mqt=Function.prototype.bind,v9e=Function.prototype.call,Eqt=Object.keys,kqt=Object.prototype.propertyIsEnumerable;p9e.exports=function(e,t){return function(r,n){var i,a=arguments[2],o=arguments[3];return r=Object(Sqt(r)),Aqt(n),i=Eqt(r),o&&i.sort(typeof o==\"function\"?Mqt.call(o,r):void 0),typeof e!=\"function\"&&(e=i[e]),v9e.call(e,i,function(s,l){return kqt.call(r,s)?v9e.call(n,a,r[s],s,r,l):t})}}});var y9e=ye((Ugr,m9e)=>{\"use strict\";m9e.exports=g9e()(\"forEach\")});var x9e=ye((Vgr,_9e)=>{\"use strict\";var Cqt=lA(),Lqt=y9e(),Pqt=Function.prototype.call;_9e.exports=function(e,t){var r={},n=arguments[2];return Cqt(t),Lqt(e,function(i,a,o,s){r[a]=Pqt.call(t,n,i,a,o,s)}),r}});var A9e=ye((Hgr,T9e)=>{\"use strict\";var Iqt=$2(),Rqt=H7e(),b9e=j7e(),Dqt=d9e(),zqt=uY(),Fqt=x9e(),qqt=Function.prototype.bind,Oqt=Object.defineProperty,Bqt=Object.prototype.hasOwnProperty,w9e;w9e=function(e,t,r){var n=Rqt(t)&&b9e(t.value),i;return i=Dqt(t),delete i.writable,delete i.value,i.get=function(){return!r.overwriteDefinition&&Bqt.call(this,e)?n:(t.value=qqt.call(n,r.resolveContext?r.resolveContext(this):this),Oqt(this,e,t),this[e])},i};T9e.exports=function(e){var t=zqt(arguments[1]);return Iqt(t.resolveContext)&&b9e(t.resolveContext),Fqt(e,function(r,n){return w9e(n,r,t)})}});var _Y=ye((Ggr,k9e)=>{\"use strict\";var Nqt=P7e(),Uqt=aF(),Vqt=lA(),Hqt=i1(),Op=n1(),Gqt=A9e(),S9e=ux(),M9e=Object.defineProperty,E9e=Object.defineProperties,pk;k9e.exports=pk=function(e,t){if(!(this instanceof pk))throw new TypeError(\"Constructor requires 'new'\");E9e(this,{__list__:Op(\"w\",Hqt(e)),__context__:Op(\"w\",t),__nextIndex__:Op(\"w\",0)}),t&&(Vqt(t.on),t.on(\"_add\",this._onAdd),t.on(\"_delete\",this._onDelete),t.on(\"_clear\",this._onClear))};delete pk.prototype.constructor;E9e(pk.prototype,Uqt({_next:Op(function(){var e;if(this.__list__){if(this.__redo__&&(e=this.__redo__.shift(),e!==void 0))return e;if(this.__nextIndex__<this.__list__.length)return this.__nextIndex__++;this._unBind()}}),next:Op(function(){return this._createResult(this._next())}),_createResult:Op(function(e){return e===void 0?{done:!0,value:void 0}:{done:!1,value:this._resolve(e)}}),_resolve:Op(function(e){return this.__list__[e]}),_unBind:Op(function(){this.__list__=null,delete this.__redo__,this.__context__&&(this.__context__.off(\"_add\",this._onAdd),this.__context__.off(\"_delete\",this._onDelete),this.__context__.off(\"_clear\",this._onClear),this.__context__=null)}),toString:Op(function(){return\"[object \"+(this[S9e.toStringTag]||\"Object\")+\"]\"})},Gqt({_onAdd:Op(function(e){if(!(e>=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__){M9e(this,\"__redo__\",Op(\"c\",[e]));return}this.__redo__.forEach(function(t,r){t>=e&&(this.__redo__[r]=++t)},this),this.__redo__.push(e)}}),_onDelete:Op(function(e){var t;e>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(t=this.__redo__.indexOf(e),t!==-1&&this.__redo__.splice(t,1),this.__redo__.forEach(function(r,n){r>e&&(this.__redo__[n]=--r)},this)))}),_onClear:Op(function(){this.__redo__&&Nqt.call(this.__redo__),this.__nextIndex__=0})})));M9e(pk.prototype,S9e.iterator,Op(function(){return this}))});var R9e=ye((jgr,I9e)=>{\"use strict\";var C9e=iF(),L9e=fY(),xY=n1(),jqt=ux(),bY=_Y(),P9e=Object.defineProperty,uA;uA=I9e.exports=function(e,t){if(!(this instanceof uA))throw new TypeError(\"Constructor requires 'new'\");bY.call(this,e),t?L9e.call(t,\"key+value\")?t=\"key+value\":L9e.call(t,\"key\")?t=\"key\":t=\"value\":t=\"value\",P9e(this,\"__kind__\",xY(\"\",t))};C9e&&C9e(uA,bY);delete uA.prototype.constructor;uA.prototype=Object.create(bY.prototype,{_resolve:xY(function(e){return this.__kind__===\"value\"?this.__list__[e]:this.__kind__===\"key+value\"?[e,this.__list__[e]]:e})});P9e(uA.prototype,jqt.toStringTag,xY(\"c\",\"Array Iterator\"))});var q9e=ye((Wgr,F9e)=>{\"use strict\";var D9e=iF(),uF=n1(),Wqt=ux(),wY=_Y(),z9e=Object.defineProperty,cA;cA=F9e.exports=function(e){if(!(this instanceof cA))throw new TypeError(\"Constructor requires 'new'\");e=String(e),wY.call(this,e),z9e(this,\"__length__\",uF(\"\",e.length))};D9e&&D9e(cA,wY);delete cA.prototype.constructor;cA.prototype=Object.create(wY.prototype,{_next:uF(function(){if(this.__list__){if(this.__nextIndex__<this.__length__)return this.__nextIndex__++;this._unBind()}}),_resolve:uF(function(e){var t=this.__list__[e],r;return this.__nextIndex__===this.__length__?t:(r=t.charCodeAt(0),r>=55296&&r<=56319?t+this.__list__[this.__nextIndex__++]:t)})});z9e(cA.prototype,Wqt.toStringTag,uF(\"c\",\"String Iterator\"))});var B9e=ye((Zgr,O9e)=>{\"use strict\";var Zqt=fk(),Xqt=lx(),Yqt=hk(),Kqt=ux().iterator,Jqt=Array.isArray;O9e.exports=function(e){return Xqt(e)?Jqt(e)||Yqt(e)||Zqt(e)?!0:typeof e[Kqt]==\"function\":!1}});var U9e=ye((Xgr,N9e)=>{\"use strict\";var $qt=B9e();N9e.exports=function(e){if(!$qt(e))throw new TypeError(e+\" is not iterable\");return e}});var TY=ye((Ygr,G9e)=>{\"use strict\";var Qqt=fk(),eOt=hk(),V9e=R9e(),tOt=q9e(),rOt=U9e(),H9e=ux().iterator;G9e.exports=function(e){return typeof rOt(e)[H9e]==\"function\"?e[H9e]():Qqt(e)?new V9e(e):eOt(e)?new tOt(e):new V9e(e)}});var W9e=ye((Kgr,j9e)=>{\"use strict\";var iOt=fk(),nOt=lA(),aOt=hk(),oOt=TY(),sOt=Array.isArray,AY=Function.prototype.call,lOt=Array.prototype.some;j9e.exports=function(e,t){var r,n=arguments[2],i,a,o,s,l,u,c;if(sOt(e)||iOt(e)?r=\"array\":aOt(e)?r=\"string\":e=oOt(e),nOt(t),a=function(){o=!0},r===\"array\"){lOt.call(e,function(f){return AY.call(t,n,f,a),o});return}if(r===\"string\"){for(l=e.length,s=0;s<l&&(u=e[s],s+1<l&&(c=u.charCodeAt(0),c>=55296&&c<=56319&&(u+=e[++s])),AY.call(t,n,u,a),!o);++s);return}for(i=e.next();!i.done;){if(AY.call(t,n,i.value,a),o)return;i=e.next()}}});var X9e=ye((Jgr,Z9e)=>{\"use strict\";Z9e.exports=function(){return typeof WeakMap!=\"function\"?!1:Object.prototype.toString.call(new WeakMap)===\"[object WeakMap]\"}()});var J9e=ye(($gr,K9e)=>{\"use strict\";var uOt=lx(),fF=iF(),cF=AFe(),cOt=i1(),fOt=MFe(),a1=n1(),hOt=TY(),dOt=W9e(),vOt=ux().toStringTag,Y9e=X9e(),pOt=Array.isArray,MY=Object.defineProperty,SY=Object.prototype.hasOwnProperty,gOt=Object.getPrototypeOf,cx;K9e.exports=cx=function(){var e=arguments[0],t;if(!(this instanceof cx))throw new TypeError(\"Constructor requires 'new'\");return t=Y9e&&fF&&WeakMap!==cx?fF(new WeakMap,gOt(this)):this,uOt(e)&&(pOt(e)||(e=hOt(e))),MY(t,\"__weakMapData__\",a1(\"c\",\"$weakMap$\"+fOt())),e&&dOt(e,function(r){cOt(r),t.set(r[0],r[1])}),t};Y9e&&(fF&&fF(cx,WeakMap),cx.prototype=Object.create(WeakMap.prototype,{constructor:a1(cx)}));Object.defineProperties(cx.prototype,{delete:a1(function(e){return SY.call(cF(e),this.__weakMapData__)?(delete e[this.__weakMapData__],!0):!1}),get:a1(function(e){if(SY.call(cF(e),this.__weakMapData__))return e[this.__weakMapData__]}),has:a1(function(e){return SY.call(cF(e),this.__weakMapData__)}),set:a1(function(e,t){return MY(cF(e),this.__weakMapData__,a1(\"c\",t)),this}),toString:a1(function(){return\"[object WeakMap]\"})});MY(cx.prototype,vOt,a1(\"c\",\"WeakMap\"))});var EY=ye((Qgr,$9e)=>{\"use strict\";$9e.exports=fFe()()?WeakMap:J9e()});var eqe=ye((emr,Q9e)=>{\"use strict\";Q9e.exports=function(e,t,r){if(typeof Array.prototype.findIndex==\"function\")return e.findIndex(t,r);if(typeof t!=\"function\")throw new TypeError(\"predicate must be a function\");var n=Object(e),i=n.length;if(i===0)return-1;for(var a=0;a<i;a++)if(t.call(r,n[a],a,n))return a;return-1}});var LY=ye((tmr,iqe)=>{\"use strict\";var hF=$_(),mOt=j2(),CY=bh(),yOt=Zm(),_Ot=W2(),tqe=sFe(),xOt=uFe(),{float32:bOt,fract32:kY}=Xz(),wOt=EY(),rqe=Q5(),TOt=eqe(),AOt=`\n", - "precision highp float;\n", - "\n", - "attribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\n", - "attribute vec4 color;\n", - "attribute float lineEnd, lineTop;\n", - "\n", - "uniform vec2 scale, scaleFract, translate, translateFract;\n", - "uniform float thickness, pixelRatio, id, depth;\n", - "uniform vec4 viewport;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec2 tangent;\n", - "\n", - "vec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n", - "\t// the order is important\n", - "\treturn position * scale + translate\n", - " + positionFract * scale + translateFract\n", - " + position * scaleFract\n", - " + positionFract * scaleFract;\n", - "}\n", - "\n", - "void main() {\n", - "\tfloat lineStart = 1. - lineEnd;\n", - "\tfloat lineOffset = lineTop * 2. - 1.;\n", - "\n", - "\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n", - "\ttangent = normalize(diff * scale * viewport.zw);\n", - "\tvec2 normal = vec2(-tangent.y, tangent.x);\n", - "\n", - "\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\n", - "\t\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\n", - "\n", - "\t\t+ thickness * normal * .5 * lineOffset / viewport.zw;\n", - "\n", - "\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n", - "\n", - "\tfragColor = color / 255.;\n", - "}\n", - "`,SOt=`\n", - "precision highp float;\n", - "\n", - "uniform float dashLength, pixelRatio, thickness, opacity, id;\n", - "uniform sampler2D dashTexture;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec2 tangent;\n", - "\n", - "void main() {\n", - "\tfloat alpha = 1.;\n", - "\n", - "\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\n", - "\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\n", - "\n", - "\tgl_FragColor = fragColor;\n", - "\tgl_FragColor.a *= alpha * opacity * dash;\n", - "}\n", - "`,MOt=`\n", - "precision highp float;\n", - "\n", - "attribute vec2 position, positionFract;\n", - "\n", - "uniform vec4 color;\n", - "uniform vec2 scale, scaleFract, translate, translateFract;\n", - "uniform float pixelRatio, id;\n", - "uniform vec4 viewport;\n", - "uniform float opacity;\n", - "\n", - "varying vec4 fragColor;\n", - "\n", - "const float MAX_LINES = 256.;\n", - "\n", - "void 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", - "`,EOt=`\n", - "precision highp float;\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - "\tgl_FragColor = fragColor;\n", - "}\n", - "`,kOt=`\n", - "precision highp float;\n", - "\n", - "attribute vec2 aCoord, bCoord, nextCoord, prevCoord;\n", - "attribute vec4 aColor, bColor;\n", - "attribute float lineEnd, lineTop;\n", - "\n", - "uniform vec2 scale, translate;\n", - "uniform float thickness, pixelRatio, id, depth;\n", - "uniform vec4 viewport;\n", - "uniform float miterLimit, miterMode;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec4 startCutoff, endCutoff;\n", - "varying vec2 tangent;\n", - "varying vec2 startCoord, endCoord;\n", - "varying float enableStartMiter, enableEndMiter;\n", - "\n", - "const float REVERSE_THRESHOLD = -.875;\n", - "const float MIN_DIFF = 1e-6;\n", - "\n", - "// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\n", - "// TODO: precalculate dot products, normalize things beforehead etc.\n", - "// TODO: refactor to rectangular algorithm\n", - "\n", - "float 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", - "\n", - "bool isNaN( float val ){\n", - " return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\n", - "}\n", - "\n", - "void main() {\n", - "\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n", - "\n", - " vec2 adjustedScale;\n", - " adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x;\n", - " adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y;\n", - "\n", - " vec2 scaleRatio = adjustedScale * viewport.zw;\n", - "\tvec2 normalWidth = thickness / scaleRatio;\n", - "\n", - "\tfloat lineStart = 1. - lineEnd;\n", - "\tfloat lineBot = 1. - lineTop;\n", - "\n", - "\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\n", - "\n", - "\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\n", - "\n", - "\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\n", - "\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\n", - "\n", - "\n", - "\tvec2 prevDiff = aCoord - prevCoord;\n", - "\tvec2 currDiff = bCoord - aCoord;\n", - "\tvec2 nextDiff = nextCoord - bCoord;\n", - "\n", - "\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\n", - "\tvec2 currTangent = normalize(currDiff * scaleRatio);\n", - "\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\n", - "\n", - "\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\n", - "\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\n", - "\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\n", - "\n", - "\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\n", - "\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\n", - "\n", - "\t// collapsed/unidirectional segment cases\n", - "\t// FIXME: there should be more elegant solution\n", - "\tvec2 prevTanDiff = abs(prevTangent - currTangent);\n", - "\tvec2 nextTanDiff = abs(nextTangent - currTangent);\n", - "\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\n", - "\t\tstartJoinDirection = currNormal;\n", - "\t}\n", - "\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\n", - "\t\tendJoinDirection = currNormal;\n", - "\t}\n", - "\tif (aCoord == bCoord) {\n", - "\t\tendJoinDirection = startJoinDirection;\n", - "\t\tcurrNormal = prevNormal;\n", - "\t\tcurrTangent = prevTangent;\n", - "\t}\n", - "\n", - "\ttangent = currTangent;\n", - "\n", - "\t//calculate join shifts relative to normals\n", - "\tfloat startJoinShift = dot(currNormal, startJoinDirection);\n", - "\tfloat endJoinShift = dot(currNormal, endJoinDirection);\n", - "\n", - "\tfloat startMiterRatio = abs(1. / startJoinShift);\n", - "\tfloat endMiterRatio = abs(1. / endJoinShift);\n", - "\n", - "\tvec2 startJoin = startJoinDirection * startMiterRatio;\n", - "\tvec2 endJoin = endJoinDirection * endMiterRatio;\n", - "\n", - "\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\n", - "\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\n", - "\tstartBotJoin = -startTopJoin;\n", - "\n", - "\tendTopJoin = sign(endJoinShift) * endJoin * .5;\n", - "\tendBotJoin = -endTopJoin;\n", - "\n", - "\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\n", - "\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\n", - "\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\n", - "\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\n", - "\n", - "\t//miter anti-clipping\n", - "\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\n", - "\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\n", - "\n", - "\t//prevent close to reverse direction switch\n", - "\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) < length(normalWidth * currNormal);\n", - "\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) < length(normalWidth * currNormal);\n", - "\n", - "\tif (prevReverse) {\n", - "\t\t//make join rectangular\n", - "\t\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\n", - "\t\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\n", - "\t\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n", - "\t\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n", - "\t}\n", - "\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\n", - "\t\t//handle miter clipping\n", - "\t\tbTopCoord -= normalWidth * endTopJoin;\n", - "\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n", - "\t}\n", - "\n", - "\tif (nextReverse) {\n", - "\t\t//make join rectangular\n", - "\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n", - "\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n", - "\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n", - "\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n", - "\t}\n", - "\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n", - "\t\t//handle miter clipping\n", - "\t\taBotCoord -= normalWidth * startBotJoin;\n", - "\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n", - "\t}\n", - "\n", - "\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n", - "\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n", - "\n", - "\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n", - "\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n", - "\n", - "\t//position is normalized 0..1 coord on the screen\n", - "\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n", - "\n", - "\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n", - "\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n", - "\n", - "\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n", - "\n", - "\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n", - "\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n", - "\n", - "\t//bevel miter cutoffs\n", - "\tif (miterMode == 1.) {\n", - "\t\tif (enableStartMiter == 1.) {\n", - "\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n", - "\t\t\tstartCutoff = vec4(aCoord, aCoord);\n", - "\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n", - "\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", - "\t\t\tstartCutoff += viewport.xyxy;\n", - "\t\t\tstartCutoff += startMiterWidth.xyxy;\n", - "\t\t}\n", - "\n", - "\t\tif (enableEndMiter == 1.) {\n", - "\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n", - "\t\t\tendCutoff = vec4(bCoord, bCoord);\n", - "\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n", - "\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", - "\t\t\tendCutoff += viewport.xyxy;\n", - "\t\t\tendCutoff += endMiterWidth.xyxy;\n", - "\t\t}\n", - "\t}\n", - "\n", - "\t//round miter cutoffs\n", - "\telse if (miterMode == 2.) {\n", - "\t\tif (enableStartMiter == 1.) {\n", - "\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n", - "\t\t\tstartCutoff = vec4(aCoord, aCoord);\n", - "\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n", - "\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", - "\t\t\tstartCutoff += viewport.xyxy;\n", - "\t\t\tstartCutoff += startMiterWidth.xyxy;\n", - "\t\t}\n", - "\n", - "\t\tif (enableEndMiter == 1.) {\n", - "\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n", - "\t\t\tendCutoff = vec4(bCoord, bCoord);\n", - "\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n", - "\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", - "\t\t\tendCutoff += viewport.xyxy;\n", - "\t\t\tendCutoff += endMiterWidth.xyxy;\n", - "\t\t}\n", - "\t}\n", - "}\n", - "`,COt=`\n", - "precision highp float;\n", - "\n", - "uniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\n", - "uniform sampler2D dashTexture;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec2 tangent;\n", - "varying vec4 startCutoff, endCutoff;\n", - "varying vec2 startCoord, endCoord;\n", - "varying float enableStartMiter, enableEndMiter;\n", - "\n", - "float 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", - "\n", - "void 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", - "`;iqe.exports=uc;function uc(e,t){if(!(this instanceof uc))return new uc(e,t);if(typeof e==\"function\"?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),e=t.regl,!e.hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");this.gl=e._gl,this.regl=e,this.passes=[],this.shaders=uc.shaders.has(e)?uc.shaders.get(e):uc.shaders.set(e,uc.createShaders(e)).get(e),this.update(t)}uc.dashMult=2;uc.maxPatternLength=256;uc.precisionThreshold=3e6;uc.maxPoints=1e4;uc.maxLines=2048;uc.shaders=new wOt;uc.createShaders=function(e){let t=e.buffer({usage:\"static\",type:\"float\",data:[0,1,0,0,1,1,1,0]}),r={primitive:\"triangle strip\",instances:e.prop(\"count\"),count:4,offset:0,uniforms:{miterMode:(o,s)=>s.join===\"round\"?2:1,miterLimit:e.prop(\"miterLimit\"),scale:e.prop(\"scale\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),translate:e.prop(\"translate\"),thickness:e.prop(\"thickness\"),dashTexture:e.prop(\"dashTexture\"),opacity:e.prop(\"opacity\"),pixelRatio:e.context(\"pixelRatio\"),id:e.prop(\"id\"),dashLength:e.prop(\"dashLength\"),viewport:(o,s)=>[s.viewport.x,s.viewport.y,o.viewportWidth,o.viewportHeight],depth:e.prop(\"depth\")},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:(o,s)=>!s.overlay},stencil:{enable:!1},scissor:{enable:!0,box:e.prop(\"viewport\")},viewport:e.prop(\"viewport\")},n=e(CY({vert:AOt,frag:SOt,attributes:{lineEnd:{buffer:t,divisor:0,stride:8,offset:0},lineTop:{buffer:t,divisor:0,stride:8,offset:4},aCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:16,divisor:1},color:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1}}},r)),i;try{i=e(CY({cull:{enable:!0,face:\"back\"},vert:kOt,frag:COt,attributes:{lineEnd:{buffer:t,divisor:0,stride:8,offset:0},lineTop:{buffer:t,divisor:0,stride:8,offset:4},aColor:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1},bColor:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:4,divisor:1},prevCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:0,divisor:1},aCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},nextCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:24,divisor:1}}},r))}catch(o){i=n}return{fill:e({primitive:\"triangle\",elements:(o,s)=>s.triangles,offset:0,vert:MOt,frag:EOt,uniforms:{scale:e.prop(\"scale\"),color:e.prop(\"fill\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),translate:e.prop(\"translate\"),opacity:e.prop(\"opacity\"),pixelRatio:e.context(\"pixelRatio\"),id:e.prop(\"id\"),viewport:(o,s)=>[s.viewport.x,s.viewport.y,o.viewportWidth,o.viewportHeight]},attributes:{position:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8},positionFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:8}},blend:r.blend,depth:{enable:!1},scissor:r.scissor,stencil:r.stencil,viewport:r.viewport}),rect:n,miter:i}};uc.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};uc.prototype.render=function(...e){e.length&&this.update(...e),this.draw()};uc.prototype.draw=function(...e){return(e.length?e:this.passes).forEach((t,r)=>{if(t&&Array.isArray(t))return this.draw(...t);typeof t==\"number\"&&(t=this.passes[t]),t&&t.count>1&&t.opacity&&(this.regl._refresh(),t.fill&&t.triangles&&t.triangles.length>2&&this.shaders.fill(t),t.thickness&&(t.scale[0]*t.viewport.width>uc.precisionThreshold||t.scale[1]*t.viewport.height>uc.precisionThreshold?this.shaders.rect(t):t.join===\"rect\"||!t.join&&(t.thickness<=2||t.count>=uc.maxPoints)?this.shaders.rect(t):this.shaders.miter(t)))}),this};uc.prototype.update=function(e){if(!e)return;e.length!=null?typeof e[0]==\"number\"&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);let{regl:t,gl:r}=this;if(e.forEach((i,a)=>{let o=this.passes[a];if(i!==void 0){if(i===null){this.passes[a]=null;return}if(typeof i[0]==\"number\"&&(i={positions:i}),i=yOt(i,{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\"}),o||(this.passes[a]=o={id:a,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:t.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:\"linear\",min:\"linear\"}),colorBuffer:t.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array}),positionBuffer:t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),positionFractBuffer:t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array})},i=CY({},uc.defaults,i)),i.thickness!=null&&(o.thickness=parseFloat(i.thickness)),i.opacity!=null&&(o.opacity=parseFloat(i.opacity)),i.miterLimit!=null&&(o.miterLimit=parseFloat(i.miterLimit)),i.overlay!=null&&(o.overlay=!!i.overlay,a<uc.maxLines&&(o.depth=2*(uc.maxLines-1-a%uc.maxLines)/uc.maxLines-1)),i.join!=null&&(o.join=i.join),i.hole!=null&&(o.hole=i.hole),i.fill!=null&&(o.fill=i.fill?hF(i.fill,\"uint8\"):null),i.viewport!=null&&(o.viewport=rqe(i.viewport)),o.viewport||(o.viewport=rqe([r.drawingBufferWidth,r.drawingBufferHeight])),i.close!=null&&(o.close=i.close),i.positions===null&&(i.positions=[]),i.positions){let u,c;if(i.positions.x&&i.positions.y){let v=i.positions.x,x=i.positions.y;c=o.count=Math.max(v.length,x.length),u=new Float64Array(c*2);for(let b=0;b<c;b++)u[b*2]=v[b],u[b*2+1]=x[b]}else u=_Ot(i.positions,\"float64\"),c=o.count=Math.floor(u.length/2);let f=o.bounds=mOt(u,2);if(o.fill){let v=[],x={},b=0;for(let p=0,E=0,k=o.count;p<k;p++){let A=u[p*2],L=u[p*2+1];isNaN(A)||isNaN(L)||A==null||L==null?(A=u[b*2],L=u[b*2+1],x[p]=b):b=p,v[E++]=A,v[E++]=L}if(i.splitNull){o.count-1 in x||(x[o.count]=o.count-1);let p=Object.keys(x).map(Number).sort((L,_)=>L-_),E=[],k=0,A=o.hole!=null?o.hole[0]:null;if(A!=null){let L=TOt(p,_=>_>=A);p=p.slice(0,L),p.push(A)}for(let L=0;L<p.length;L++){let _=v.slice(k*2,p[L]*2).concat(A?v.slice(A*2):[]),C=(o.hole||[]).map(g=>g-A+(p[L]-k)),M=tqe(_,C);M=M.map(g=>g+k+(g+k<p[L]?0:A-p[L])),E.push(...M),k=p[L]+1}for(let L=0,_=E.length;L<_;L++)x[E[L]]!=null&&(E[L]=x[E[L]]);o.triangles=E}else{let p=tqe(v,o.hole||[]);for(let E=0,k=p.length;E<k;E++)x[p[E]]!=null&&(p[E]=x[p[E]]);o.triangles=p}}let h=new Float64Array(u);xOt(h,2,f);let d=new Float64Array(c*2+6);o.close?u[0]===u[c*2-2]&&u[1]===u[c*2-1]?(d[0]=h[c*2-4],d[1]=h[c*2-3]):(d[0]=h[c*2-2],d[1]=h[c*2-1]):(d[0]=h[0],d[1]=h[1]),d.set(h,2),o.close?u[0]===u[c*2-2]&&u[1]===u[c*2-1]?(d[c*2+2]=h[2],d[c*2+3]=h[3],o.count-=1):(d[c*2+2]=h[0],d[c*2+3]=h[1],d[c*2+4]=h[2],d[c*2+5]=h[3]):(d[c*2+2]=h[c*2-2],d[c*2+3]=h[c*2-1],d[c*2+4]=h[c*2-2],d[c*2+5]=h[c*2-1]);var s=bOt(d);o.positionBuffer(s);var l=kY(d,s);o.positionFractBuffer(l)}if(i.range?o.range=i.range:o.range||(o.range=o.bounds),(i.range||i.positions)&&o.count){let u=o.bounds,c=u[2]-u[0],f=u[3]-u[1],h=o.range[2]-o.range[0],d=o.range[3]-o.range[1];o.scale=[c/h,f/d],o.translate=[-o.range[0]/h+u[0]/h||0,-o.range[1]/d+u[1]/d||0],o.scaleFract=kY(o.scale),o.translateFract=kY(o.translate)}if(i.dashes){let u=0,c;if(!i.dashes||i.dashes.length<2)u=1,c=new Uint8Array([255,255,255,255,255,255,255,255]);else{u=0;for(let d=0;d<i.dashes.length;++d)u+=i.dashes[d];c=new Uint8Array(u*uc.dashMult);let f=0,h=255;for(let d=0;d<2;d++)for(let v=0;v<i.dashes.length;++v){for(let x=0,b=i.dashes[v]*uc.dashMult*.5;x<b;++x)c[f++]=h;h^=255}}o.dashLength=u,o.dashTexture({channels:1,data:c,width:c.length,height:1,mag:\"linear\",min:\"linear\"},0,0)}if(i.color){let u=o.count,c=i.color;c||(c=\"transparent\");let f=new Uint8Array(u*4+4);if(!Array.isArray(c)||typeof c[0]==\"number\"){let h=hF(c,\"uint8\");for(let d=0;d<u+1;d++)f.set(h,d*4)}else{for(let h=0;h<u;h++){let d=hF(c[h],\"uint8\");f.set(d,h*4)}f.set(hF(c[0],\"uint8\"),u*4)}o.colorBuffer({usage:\"dynamic\",type:\"uint8\",data:f})}}}),e.length<this.passes.length){for(let i=e.length;i<this.passes.length;i++){let a=this.passes[i];a&&(a.colorBuffer.destroy(),a.positionBuffer.destroy(),a.dashTexture.destroy())}this.passes.length=e.length}let n=[];for(let i=0;i<this.passes.length;i++)this.passes[i]!==null&&n.push(this.passes[i]);return this.passes=n,this};uc.prototype.destroy=function(){return this.passes.forEach(e=>{e.colorBuffer.destroy(),e.positionBuffer.destroy(),e.dashTexture.destroy()}),this.passes.length=0,this}});var lqe=ye((rmr,sqe)=>{\"use strict\";var LOt=j2(),POt=$_(),IOt=JX(),ROt=Zm(),nqe=bh(),aqe=W2(),{float32:DOt,fract32:PY}=Xz();sqe.exports=zOt;var oqe=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]];function zOt(e,t){if(typeof e==\"function\"?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),e=t.regl,!e.hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");let r=e._gl,n,i,a,o,s,l,u={color:\"black\",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},c=[];return o=e.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array(0)}),i=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),a=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),s=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),l=e.buffer({usage:\"static\",type:\"float\",data:oqe}),v(t),n=e({vert:`\n", - "\t\tprecision highp float;\n", - "\n", - "\t\tattribute vec2 position, positionFract;\n", - "\t\tattribute vec4 error;\n", - "\t\tattribute vec4 color;\n", - "\n", - "\t\tattribute vec2 direction, lineOffset, capOffset;\n", - "\n", - "\t\tuniform vec4 viewport;\n", - "\t\tuniform float lineWidth, capSize;\n", - "\t\tuniform vec2 scale, scaleFract, translate, translateFract;\n", - "\n", - "\t\tvarying vec4 fragColor;\n", - "\n", - "\t\tvoid main() {\n", - "\t\t\tfragColor = color / 255.;\n", - "\n", - "\t\t\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\n", - "\n", - "\t\t\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\n", - "\n", - "\t\t\tvec2 position = position + dxy;\n", - "\n", - "\t\t\tvec2 pos = (position + translate) * scale\n", - "\t\t\t\t+ (positionFract + translateFract) * scale\n", - "\t\t\t\t+ (position + translate) * scaleFract\n", - "\t\t\t\t+ (positionFract + translateFract) * scaleFract;\n", - "\n", - "\t\t\tpos += pixelOffset / viewport.zw;\n", - "\n", - "\t\t\tgl_Position = vec4(pos * 2. - 1., 0, 1);\n", - "\t\t}\n", - "\t\t`,frag:`\n", - "\t\tprecision highp float;\n", - "\n", - "\t\tvarying vec4 fragColor;\n", - "\n", - "\t\tuniform float opacity;\n", - "\n", - "\t\tvoid main() {\n", - "\t\t\tgl_FragColor = fragColor;\n", - "\t\t\tgl_FragColor.a *= opacity;\n", - "\t\t}\n", - "\t\t`,uniforms:{range:e.prop(\"range\"),lineWidth:e.prop(\"lineWidth\"),capSize:e.prop(\"capSize\"),opacity:e.prop(\"opacity\"),scale:e.prop(\"scale\"),translate:e.prop(\"translate\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),viewport:(b,p)=>[p.viewport.x,p.viewport.y,b.viewportWidth,b.viewportHeight]},attributes:{color:{buffer:o,offset:(b,p)=>p.offset*4,divisor:1},position:{buffer:i,offset:(b,p)=>p.offset*8,divisor:1},positionFract:{buffer:a,offset:(b,p)=>p.offset*8,divisor:1},error:{buffer:s,offset:(b,p)=>p.offset*16,divisor:1},direction:{buffer:l,stride:24,offset:0},lineOffset:{buffer:l,stride:24,offset:8},capOffset:{buffer:l,stride:24,offset:16}},primitive:\"triangles\",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:!1},scissor:{enable:!0,box:e.prop(\"viewport\")},viewport:e.prop(\"viewport\"),stencil:!1,instances:e.prop(\"count\"),count:oqe.length}),nqe(f,{update:v,draw:h,destroy:x,regl:e,gl:r,canvas:r.canvas,groups:c}),f;function f(b){b?v(b):b===null&&x(),h()}function h(b){if(typeof b==\"number\")return d(b);b&&!Array.isArray(b)&&(b=[b]),e._refresh(),c.forEach((p,E)=>{if(p){if(b&&(b[E]?p.draw=!0:p.draw=!1),!p.draw){p.draw=!0;return}d(E)}})}function d(b){typeof b==\"number\"&&(b=c[b]),b!=null&&b&&b.count&&b.color&&b.opacity&&b.positions&&b.positions.length>1&&(b.scaleRatio=[b.scale[0]*b.viewport.width,b.scale[1]*b.viewport.height],n(b),b.after&&b.after(b))}function v(b){if(!b)return;b.length!=null?typeof b[0]==\"number\"&&(b=[{positions:b}]):Array.isArray(b)||(b=[b]);let p=0,E=0;if(f.groups=c=b.map((L,_)=>{let C=c[_];if(L)typeof L==\"function\"?L={after:L}:typeof L[0]==\"number\"&&(L={positions:L});else return C;return L=ROt(L,{color:\"color colors fill\",capSize:\"capSize cap capsize cap-size\",lineWidth:\"lineWidth line-width width line thickness\",opacity:\"opacity alpha\",range:\"range dataBox\",viewport:\"viewport viewBox\",errors:\"errors error\",positions:\"positions position data points\"}),C||(c[_]=C={id:_,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},L=nqe({},u,L)),IOt(C,L,[{lineWidth:M=>+M*.5,capSize:M=>+M*.5,opacity:parseFloat,errors:M=>(M=aqe(M),E+=M.length,M),positions:(M,g)=>(M=aqe(M,\"float64\"),g.count=Math.floor(M.length/2),g.bounds=LOt(M,2),g.offset=p,p+=g.count,M)},{color:(M,g)=>{let P=g.count;if(M||(M=\"transparent\"),!Array.isArray(M)||typeof M[0]==\"number\"){let F=M;M=Array(P);for(let q=0;q<P;q++)M[q]=F}if(M.length<P)throw Error(\"Not enough colors\");let T=new Uint8Array(P*4);for(let F=0;F<P;F++){let q=POt(M[F],\"uint8\");T.set(q,F*4)}return T},range:(M,g,P)=>{let T=g.bounds;return M||(M=T),g.scale=[1/(M[2]-M[0]),1/(M[3]-M[1])],g.translate=[-M[0],-M[1]],g.scaleFract=PY(g.scale),g.translateFract=PY(g.translate),M},viewport:M=>{let g;return Array.isArray(M)?g={x:M[0],y:M[1],width:M[2]-M[0],height:M[3]-M[1]}:M?(g={x:M.x||M.left||0,y:M.y||M.top||0},M.right?g.width=M.right-g.x:g.width=M.w||M.width||0,M.bottom?g.height=M.bottom-g.y:g.height=M.h||M.height||0):g={x:0,y:0,width:r.drawingBufferWidth,height:r.drawingBufferHeight},g}}]),C}),p||E){let L=c.reduce((g,P,T)=>g+(P?P.count:0),0),_=new Float64Array(L*2),C=new Uint8Array(L*4),M=new Float32Array(L*4);c.forEach((g,P)=>{if(!g)return;let{positions:T,count:F,offset:q,color:V,errors:H}=g;F&&(C.set(V,q*4),M.set(H,q*4),_.set(T,q*2))});var k=DOt(_);i(k);var A=PY(_,k);a(A),o(C),s(M)}}function x(){i.destroy(),a.destroy(),o.destroy(),s.destroy(),l.destroy()}}});var fqe=ye((imr,cqe)=>{var uqe=/[\\'\\\"]/;cqe.exports=function(t){return t?(uqe.test(t.charAt(0))&&(t=t.substr(1)),uqe.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):\"\"}});var IY=ye(()=>{});var RY=ye(()=>{});var DY=ye(()=>{});var zY=ye(()=>{});var FY=ye(()=>{});var pqe=ye((vmr,vqe)=>{\"use strict\";function hqe(e,t){if(typeof e!=\"string\")return[e];var r=[e];typeof t==\"string\"||Array.isArray(t)?t={brackets:t}:t||(t={});var n=t.brackets?Array.isArray(t.brackets)?t.brackets:[t.brackets]:[\"{}\",\"[]\",\"()\"],i=t.escape||\"___\",a=!!t.flat;n.forEach(function(l){var u=new RegExp([\"\\\\\",l[0],\"[^\\\\\",l[0],\"\\\\\",l[1],\"]*\\\\\",l[1]].join(\"\")),c=[];function f(h,d,v){var x=r.push(h.slice(l[0].length,-l[1].length))-1;return c.push(x),i+x+i}r.forEach(function(h,d){for(var v,x=0;h!=v;)if(v=h,h=h.replace(u,f),x++>1e4)throw Error(\"References have circular dependency. Please, check them.\");r[d]=h}),c=c.reverse(),r=r.map(function(h){return c.forEach(function(d){h=h.replace(new RegExp(\"(\\\\\"+i+d+\"\\\\\"+i+\")\",\"g\"),l[0]+\"$1\"+l[1])}),h})});var o=new RegExp(\"\\\\\"+i+\"([0-9]+)\\\\\"+i);function s(l,u,c){for(var f=[],h,d=0;h=o.exec(l);){if(d++>1e4)throw Error(\"Circular references in parenthesis\");f.push(l.slice(0,h.index)),f.push(s(u[h[1]],u)),l=l.slice(h.index+h[0].length)}return f.push(l),f}return a?r:s(r[0],r)}function dqe(e,t){if(t&&t.flat){var r=t&&t.escape||\"___\",n=e[0],i;if(!n)return\"\";for(var a=new RegExp(\"\\\\\"+r+\"([0-9]+)\\\\\"+r),o=0;n!=i;){if(o++>1e4)throw Error(\"Circular references in \"+e);i=n,n=n.replace(a,s)}return n}return e.reduce(function l(u,c){return Array.isArray(c)&&(c=c.reduce(l,\"\")),u+c},\"\");function s(l,u){if(e[u]==null)throw Error(\"Reference \"+u+\"is undefined\");return e[u]}}function qY(e,t){return Array.isArray(e)?dqe(e,t):hqe(e,t)}qY.parse=hqe;qY.stringify=dqe;vqe.exports=qY});var yqe=ye((pmr,mqe)=>{\"use strict\";var gqe=pqe();mqe.exports=function(t,r,n){if(t==null)throw Error(\"First argument should be a string\");if(r==null)throw Error(\"Separator should be a string or a RegExp\");n?(typeof n==\"string\"||Array.isArray(n))&&(n={ignore:n}):n={},n.escape==null&&(n.escape=!0),n.ignore==null?n.ignore=[\"[]\",\"()\",\"{}\",\"<>\",'\"\"',\"''\",\"``\",\"\\u201C\\u201D\",\"\\xAB\\xBB\"]:(typeof n.ignore==\"string\"&&(n.ignore=[n.ignore]),n.ignore=n.ignore.map(function(f){return f.length===1&&(f=f+f),f}));var i=gqe.parse(t,{flat:!0,brackets:n.ignore}),a=i[0],o=a.split(r);if(n.escape){for(var s=[],l=0;l<o.length;l++){var u=o[l],c=o[l+1];u[u.length-1]===\"\\\\\"&&u[u.length-2]!==\"\\\\\"?(s.push(u+r+c),l++):s.push(u)}o=s}for(var l=0;l<o.length;l++)i[0]=o[l],o[l]=gqe.stringify(i,{flat:!0});return o}});var _qe=ye(()=>{});var OY=ye((ymr,xqe)=>{\"use strict\";var FOt=_qe();xqe.exports={isSize:function(t){return/^[\\d\\.]/.test(t)||t.indexOf(\"/\")!==-1||FOt.indexOf(t)!==-1}}});var Aqe=ye((_mr,Tqe)=>{\"use strict\";var qOt=fqe(),OOt=IY(),BOt=RY(),NOt=DY(),UOt=zY(),VOt=FY(),BY=yqe(),HOt=OY().isSize;Tqe.exports=wqe;var gk=wqe.cache={};function wqe(e){if(typeof e!=\"string\")throw new Error(\"Font argument must be a string.\");if(gk[e])return gk[e];if(e===\"\")throw new Error(\"Cannot parse an empty string.\");if(BOt.indexOf(e)!==-1)return gk[e]={system:e};for(var t={style:\"normal\",variant:\"normal\",weight:\"normal\",stretch:\"normal\",lineHeight:\"normal\",size:\"1rem\",family:[\"serif\"]},r=BY(e,/\\s+/),n;n=r.shift();){if(OOt.indexOf(n)!==-1)return[\"style\",\"variant\",\"weight\",\"stretch\"].forEach(function(a){t[a]=n}),gk[e]=t;if(UOt.indexOf(n)!==-1){t.style=n;continue}if(n===\"normal\"||n===\"small-caps\"){t.variant=n;continue}if(VOt.indexOf(n)!==-1){t.stretch=n;continue}if(NOt.indexOf(n)!==-1){t.weight=n;continue}if(HOt(n)){var i=BY(n,\"/\");if(t.size=i[0],i[1]!=null?t.lineHeight=bqe(i[1]):r[0]===\"/\"&&(r.shift(),t.lineHeight=bqe(r.shift())),!r.length)throw new Error(\"Missing required font-family.\");return t.family=BY(r.join(\" \"),/\\s*,\\s*/).map(qOt),gk[e]=t}throw new Error(\"Unknown or unsupported font token: \"+n)}throw new Error(\"Missing required font-size.\")}function bqe(e){var t=parseFloat(e);return t.toString()===e?t:e}});var UY=ye((xmr,Sqe)=>{\"use strict\";var GOt=Zm(),jOt=OY().isSize,WOt=yk(IY()),ZOt=yk(RY()),XOt=yk(DY()),YOt=yk(zY()),KOt=yk(FY()),JOt={normal:1,\"small-caps\":1},$Ot={serif:1,\"sans-serif\":1,monospace:1,cursive:1,fantasy:1,\"system-ui\":1},NY={style:\"normal\",variant:\"normal\",weight:\"normal\",stretch:\"normal\",size:\"1rem\",lineHeight:\"normal\",family:\"serif\"};Sqe.exports=function(t){if(t=GOt(t,{style:\"style fontstyle fontStyle font-style slope distinction\",variant:\"variant font-variant fontVariant fontvariant var capitalization\",weight:\"weight w font-weight fontWeight fontweight\",stretch:\"stretch font-stretch fontStretch fontstretch width\",size:\"size s font-size fontSize fontsize height em emSize\",lineHeight:\"lh line-height lineHeight lineheight leading\",family:\"font family fontFamily font-family fontfamily type typeface face\",system:\"system reserved default global\"}),t.system)return t.system&&mk(t.system,ZOt),t.system;if(mk(t.style,YOt),mk(t.variant,JOt),mk(t.weight,XOt),mk(t.stretch,KOt),t.size==null&&(t.size=NY.size),typeof t.size==\"number\"&&(t.size+=\"px\"),!jOt)throw Error(\"Bad size value `\"+t.size+\"`\");t.family||(t.family=NY.family),Array.isArray(t.family)&&(t.family.length||(t.family=[NY.family]),t.family=t.family.map(function(n){return $Ot[n]?n:'\"'+n+'\"'}).join(\", \"));var r=[];return r.push(t.style),t.variant!==t.style&&r.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&r.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&r.push(t.stretch),r.push(t.size+(t.lineHeight==null||t.lineHeight===\"normal\"||t.lineHeight+\"\"==\"1\"?\"\":\"/\"+t.lineHeight)),r.push(t.family),r.filter(Boolean).join(\" \")};function mk(e,t){if(e&&!t[e]&&!WOt[e])throw Error(\"Unknown keyword `\"+e+\"`\");return e}function yk(e){for(var t={},r=0;r<e.length;r++)t[e[r]]=1;return t}});var Eqe=ye((bmr,Mqe)=>{\"use strict\";Mqe.exports={parse:Aqe(),stringify:UY()}});var GY=ye((VY,HY)=>{(function(e,t){typeof VY==\"object\"&&typeof HY!=\"undefined\"?HY.exports=t():e.createREGL=t()})(VY,function(){\"use strict\";var e=function(At,Er){for(var Wr=Object.keys(Er),wi=0;wi<Wr.length;++wi)At[Wr[wi]]=Er[Wr[wi]];return At},t=0,r=0,n=5,i=6;function a(At,Er){this.id=t++,this.type=At,this.data=Er}function o(At){return At.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')}function s(At){if(At.length===0)return[];var Er=At.charAt(0),Wr=At.charAt(At.length-1);if(At.length>1&&Er===Wr&&(Er==='\"'||Er===\"'\"))return['\"'+o(At.substr(1,At.length-2))+'\"'];var wi=/\\[(false|true|null|\\d+|'[^']*'|\"[^\"]*\")\\]/.exec(At);if(wi)return s(At.substr(0,wi.index)).concat(s(wi[1])).concat(s(At.substr(wi.index+wi[0].length)));var Ui=At.split(\".\");if(Ui.length===1)return['\"'+o(At)+'\"'];for(var Oi=[],Bi=0;Bi<Ui.length;++Bi)Oi=Oi.concat(s(Ui[Bi]));return Oi}function l(At){return\"[\"+s(At).join(\"][\")+\"]\"}function u(At,Er){return new a(At,l(Er+\"\"))}function c(At){return typeof At==\"function\"&&!At._reglType||At instanceof a}function f(At,Er){if(typeof At==\"function\")return new a(r,At);if(typeof At==\"number\"||typeof At==\"boolean\")return new a(n,At);if(Array.isArray(At))return new a(i,At.map(function(Wr,wi){return f(Wr,Er+\"[\"+wi+\"]\")}));if(At instanceof a)return At}var h={DynamicVariable:a,define:u,isDynamic:c,unbox:f,accessor:l},d={next:typeof requestAnimationFrame==\"function\"?function(At){return requestAnimationFrame(At)}:function(At){return setTimeout(At,16)},cancel:typeof cancelAnimationFrame==\"function\"?function(At){return cancelAnimationFrame(At)}:clearTimeout},v=typeof performance!=\"undefined\"&&performance.now?function(){return performance.now()}:function(){return+new Date};function x(){var At={\"\":0},Er=[\"\"];return{id:function(Wr){var wi=At[Wr];return wi||(wi=At[Wr]=Er.length,Er.push(Wr),wi)},str:function(Wr){return Er[Wr]}}}function b(At,Er,Wr){var wi=document.createElement(\"canvas\");e(wi.style,{border:0,margin:0,padding:0,top:0,left:0,width:\"100%\",height:\"100%\"}),At.appendChild(wi),At===document.body&&(wi.style.position=\"absolute\",e(At.style,{margin:0,padding:0}));function Ui(){var cn=window.innerWidth,On=window.innerHeight;if(At!==document.body){var Bn=wi.getBoundingClientRect();cn=Bn.right-Bn.left,On=Bn.bottom-Bn.top}wi.width=Wr*cn,wi.height=Wr*On}var Oi;At!==document.body&&typeof ResizeObserver==\"function\"?(Oi=new ResizeObserver(function(){setTimeout(Ui)}),Oi.observe(At)):window.addEventListener(\"resize\",Ui,!1);function Bi(){Oi?Oi.disconnect():window.removeEventListener(\"resize\",Ui),At.removeChild(wi)}return Ui(),{canvas:wi,onDestroy:Bi}}function p(At,Er){function Wr(wi){try{return At.getContext(wi,Er)}catch(Ui){return null}}return Wr(\"webgl\")||Wr(\"experimental-webgl\")||Wr(\"webgl-experimental\")}function E(At){return typeof At.nodeName==\"string\"&&typeof At.appendChild==\"function\"&&typeof At.getBoundingClientRect==\"function\"}function k(At){return typeof At.drawArrays==\"function\"||typeof At.drawElements==\"function\"}function A(At){return typeof At==\"string\"?At.split():At}function L(At){return typeof At==\"string\"?document.querySelector(At):At}function _(At){var Er=At||{},Wr,wi,Ui,Oi,Bi={},cn=[],On=[],Bn=typeof window==\"undefined\"?1:window.devicePixelRatio,yn=!1,to={},Rn=function(Ai){},Dn=function(){};if(typeof Er==\"string\"?Wr=document.querySelector(Er):typeof Er==\"object\"&&(E(Er)?Wr=Er:k(Er)?(Oi=Er,Ui=Oi.canvas):(\"gl\"in Er?Oi=Er.gl:\"canvas\"in Er?Ui=L(Er.canvas):\"container\"in Er&&(wi=L(Er.container)),\"attributes\"in Er&&(Bi=Er.attributes),\"extensions\"in Er&&(cn=A(Er.extensions)),\"optionalExtensions\"in Er&&(On=A(Er.optionalExtensions)),\"onDone\"in Er&&(Rn=Er.onDone),\"profile\"in Er&&(yn=!!Er.profile),\"pixelRatio\"in Er&&(Bn=+Er.pixelRatio),\"cachedCode\"in Er&&(to=Er.cachedCode))),Wr&&(Wr.nodeName.toLowerCase()===\"canvas\"?Ui=Wr:wi=Wr),!Oi){if(!Ui){var fn=b(wi||document.body,Rn,Bn);if(!fn)return null;Ui=fn.canvas,Dn=fn.onDestroy}Bi.premultipliedAlpha===void 0&&(Bi.premultipliedAlpha=!0),Oi=p(Ui,Bi)}return Oi?{gl:Oi,canvas:Ui,container:wi,extensions:cn,optionalExtensions:On,pixelRatio:Bn,profile:yn,cachedCode:to,onDone:Rn,onDestroy:Dn}:(Dn(),Rn(\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\"),null)}function C(At,Er){var Wr={};function wi(Bi){var cn=Bi.toLowerCase(),On;try{On=Wr[cn]=At.getExtension(cn)}catch(Bn){}return!!On}for(var Ui=0;Ui<Er.extensions.length;++Ui){var Oi=Er.extensions[Ui];if(!wi(Oi))return Er.onDestroy(),Er.onDone('\"'+Oi+'\" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return Er.optionalExtensions.forEach(wi),{extensions:Wr,restore:function(){Object.keys(Wr).forEach(function(Bi){if(Wr[Bi]&&!wi(Bi))throw new Error(\"(regl): error restoring extension \"+Bi)})}}}function M(At,Er){for(var Wr=Array(At),wi=0;wi<At;++wi)Wr[wi]=Er(wi);return Wr}var g=5120,P=5121,T=5122,F=5123,q=5124,V=5125,H=5126;function X(At){for(var Er=16;Er<=1<<28;Er*=16)if(At<=Er)return Er;return 0}function G(At){var Er,Wr;return Er=(At>65535)<<4,At>>>=Er,Wr=(At>255)<<3,At>>>=Wr,Er|=Wr,Wr=(At>15)<<2,At>>>=Wr,Er|=Wr,Wr=(At>3)<<1,At>>>=Wr,Er|=Wr,Er|At>>1}function N(){var At=M(8,function(){return[]});function Er(Oi){var Bi=X(Oi),cn=At[G(Bi)>>2];return cn.length>0?cn.pop():new ArrayBuffer(Bi)}function Wr(Oi){At[G(Oi.byteLength)>>2].push(Oi)}function wi(Oi,Bi){var cn=null;switch(Oi){case g:cn=new Int8Array(Er(Bi),0,Bi);break;case P:cn=new Uint8Array(Er(Bi),0,Bi);break;case T:cn=new Int16Array(Er(2*Bi),0,Bi);break;case F:cn=new Uint16Array(Er(2*Bi),0,Bi);break;case q:cn=new Int32Array(Er(4*Bi),0,Bi);break;case V:cn=new Uint32Array(Er(4*Bi),0,Bi);break;case H:cn=new Float32Array(Er(4*Bi),0,Bi);break;default:return null}return cn.length!==Bi?cn.subarray(0,Bi):cn}function Ui(Oi){Wr(Oi.buffer)}return{alloc:Er,free:Wr,allocType:wi,freeType:Ui}}var W=N();W.zero=N();var re=3408,ae=3410,_e=3411,Me=3412,ke=3413,ge=3414,ie=3415,Te=33901,Ee=33902,Ae=3379,ze=3386,Ce=34921,me=36347,Re=36348,ce=35661,Ge=35660,nt=34930,ct=36349,qt=34076,rt=34024,ot=7936,Rt=7937,kt=7938,Ct=35724,Yt=34047,xr=36063,er=34852,Ke=3553,xt=34067,bt=34069,Lt=33984,St=6408,Et=5126,dt=5121,Ht=36160,$t=36053,fr=36064,_r=16384,Br=function(At,Er){var Wr=1;Er.ext_texture_filter_anisotropic&&(Wr=At.getParameter(Yt));var wi=1,Ui=1;Er.webgl_draw_buffers&&(wi=At.getParameter(er),Ui=At.getParameter(xr));var Oi=!!Er.oes_texture_float;if(Oi){var Bi=At.createTexture();At.bindTexture(Ke,Bi),At.texImage2D(Ke,0,St,1,1,0,St,Et,null);var cn=At.createFramebuffer();if(At.bindFramebuffer(Ht,cn),At.framebufferTexture2D(Ht,fr,Ke,Bi,0),At.bindTexture(Ke,null),At.checkFramebufferStatus(Ht)!==$t)Oi=!1;else{At.viewport(0,0,1,1),At.clearColor(1,0,0,1),At.clear(_r);var On=W.allocType(Et,4);At.readPixels(0,0,1,1,St,Et,On),At.getError()?Oi=!1:(At.deleteFramebuffer(cn),At.deleteTexture(Bi),Oi=On[0]===1),W.freeType(On)}}var Bn=typeof navigator!=\"undefined\"&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),yn=!0;if(!Bn){var to=At.createTexture(),Rn=W.allocType(dt,36);At.activeTexture(Lt),At.bindTexture(xt,to),At.texImage2D(bt,0,St,3,3,0,St,dt,Rn),W.freeType(Rn),At.bindTexture(xt,null),At.deleteTexture(to),yn=!At.getError()}return{colorBits:[At.getParameter(ae),At.getParameter(_e),At.getParameter(Me),At.getParameter(ke)],depthBits:At.getParameter(ge),stencilBits:At.getParameter(ie),subpixelBits:At.getParameter(re),extensions:Object.keys(Er).filter(function(Dn){return!!Er[Dn]}),maxAnisotropic:Wr,maxDrawbuffers:wi,maxColorAttachments:Ui,pointSizeDims:At.getParameter(Te),lineWidthDims:At.getParameter(Ee),maxViewportDims:At.getParameter(ze),maxCombinedTextureUnits:At.getParameter(ce),maxCubeMapSize:At.getParameter(qt),maxRenderbufferSize:At.getParameter(rt),maxTextureUnits:At.getParameter(nt),maxTextureSize:At.getParameter(Ae),maxAttributes:At.getParameter(Ce),maxVertexUniforms:At.getParameter(me),maxVertexTextureUnits:At.getParameter(Ge),maxVaryingVectors:At.getParameter(Re),maxFragmentUniforms:At.getParameter(ct),glsl:At.getParameter(Ct),renderer:At.getParameter(Rt),vendor:At.getParameter(ot),version:At.getParameter(kt),readFloat:Oi,npotTextureCube:yn}},Or=function(At){return At instanceof Uint8Array||At instanceof Uint16Array||At instanceof Uint32Array||At instanceof Int8Array||At instanceof Int16Array||At instanceof Int32Array||At instanceof Float32Array||At instanceof Float64Array||At instanceof Uint8ClampedArray};function Nr(At){return!!At&&typeof At==\"object\"&&Array.isArray(At.shape)&&Array.isArray(At.stride)&&typeof At.offset==\"number\"&&At.shape.length===At.stride.length&&(Array.isArray(At.data)||Or(At.data))}var ut=function(At){return Object.keys(At).map(function(Er){return At[Er]})},Ne={shape:xe,flatten:Le};function Ye(At,Er,Wr){for(var wi=0;wi<Er;++wi)Wr[wi]=At[wi]}function Ve(At,Er,Wr,wi){for(var Ui=0,Oi=0;Oi<Er;++Oi)for(var Bi=At[Oi],cn=0;cn<Wr;++cn)wi[Ui++]=Bi[cn]}function Xe(At,Er,Wr,wi,Ui,Oi){for(var Bi=Oi,cn=0;cn<Er;++cn)for(var On=At[cn],Bn=0;Bn<Wr;++Bn)for(var yn=On[Bn],to=0;to<wi;++to)Ui[Bi++]=yn[to]}function ht(At,Er,Wr,wi,Ui){for(var Oi=1,Bi=Wr+1;Bi<Er.length;++Bi)Oi*=Er[Bi];var cn=Er[Wr];if(Er.length-Wr===4){var On=Er[Wr+1],Bn=Er[Wr+2],yn=Er[Wr+3];for(Bi=0;Bi<cn;++Bi)Xe(At[Bi],On,Bn,yn,wi,Ui),Ui+=Oi}else for(Bi=0;Bi<cn;++Bi)ht(At[Bi],Er,Wr+1,wi,Ui),Ui+=Oi}function Le(At,Er,Wr,wi){var Ui=1;if(Er.length)for(var Oi=0;Oi<Er.length;++Oi)Ui*=Er[Oi];else Ui=0;var Bi=wi||W.allocType(Wr,Ui);switch(Er.length){case 0:break;case 1:Ye(At,Er[0],Bi);break;case 2:Ve(At,Er[0],Er[1],Bi);break;case 3:Xe(At,Er[0],Er[1],Er[2],Bi,0);break;default:ht(At,Er,0,Bi,0)}return Bi}function xe(At){for(var Er=[],Wr=At;Wr.length;Wr=Wr[0])Er.push(Wr.length);return Er}var Se={\"[object Int8Array]\":5120,\"[object Int16Array]\":5122,\"[object Int32Array]\":5124,\"[object Uint8Array]\":5121,\"[object Uint8ClampedArray]\":5121,\"[object Uint16Array]\":5123,\"[object Uint32Array]\":5125,\"[object Float32Array]\":5126,\"[object Float64Array]\":5121,\"[object ArrayBuffer]\":5121},lt=5120,Gt=5122,Vt=5124,ar=5121,Qr=5123,ai=5125,jr=5126,ri=5126,bi={int8:lt,int16:Gt,int32:Vt,uint8:ar,uint16:Qr,uint32:ai,float:jr,float32:ri},nn=35048,Wi=35040,Ni={dynamic:nn,stream:Wi,static:35044},_n=Ne.flatten,$i=Ne.shape,zn=35044,Wn=35040,It=5121,ft=5126,jt=[];jt[5120]=1,jt[5122]=2,jt[5124]=4,jt[5121]=1,jt[5123]=2,jt[5125]=4,jt[5126]=4;function Zt(At){return Se[Object.prototype.toString.call(At)]|0}function yr(At,Er){for(var Wr=0;Wr<Er.length;++Wr)At[Wr]=Er[Wr]}function Fr(At,Er,Wr,wi,Ui,Oi,Bi){for(var cn=0,On=0;On<Wr;++On)for(var Bn=0;Bn<wi;++Bn)At[cn++]=Er[Ui*On+Oi*Bn+Bi]}function Zr(At,Er,Wr,wi){var Ui=0,Oi={};function Bi(Ai){this.id=Ui++,this.buffer=At.createBuffer(),this.type=Ai,this.usage=zn,this.byteLength=0,this.dimension=1,this.dtype=It,this.persistentData=null,Wr.profile&&(this.stats={size:0})}Bi.prototype.bind=function(){At.bindBuffer(this.type,this.buffer)},Bi.prototype.destroy=function(){Rn(this)};var cn=[];function On(Ai,ji){var Ln=cn.pop();return Ln||(Ln=new Bi(Ai)),Ln.bind(),to(Ln,ji,Wn,0,1,!1),Ln}function Bn(Ai){cn.push(Ai)}function yn(Ai,ji,Ln){Ai.byteLength=ji.byteLength,At.bufferData(Ai.type,ji,Ln)}function to(Ai,ji,Ln,Un,gn,ca){var Kn;if(Ai.usage=Ln,Array.isArray(ji)){if(Ai.dtype=Un||ft,ji.length>0){var Za;if(Array.isArray(ji[0])){Kn=$i(ji);for(var wn=1,vn=1;vn<Kn.length;++vn)wn*=Kn[vn];Ai.dimension=wn,Za=_n(ji,Kn,Ai.dtype),yn(Ai,Za,Ln),ca?Ai.persistentData=Za:W.freeType(Za)}else if(typeof ji[0]==\"number\"){Ai.dimension=gn;var Aa=W.allocType(Ai.dtype,ji.length);yr(Aa,ji),yn(Ai,Aa,Ln),ca?Ai.persistentData=Aa:W.freeType(Aa)}else Or(ji[0])&&(Ai.dimension=ji[0].length,Ai.dtype=Un||Zt(ji[0])||ft,Za=_n(ji,[ji.length,ji[0].length],Ai.dtype),yn(Ai,Za,Ln),ca?Ai.persistentData=Za:W.freeType(Za))}}else if(Or(ji))Ai.dtype=Un||Zt(ji),Ai.dimension=gn,yn(Ai,ji,Ln),ca&&(Ai.persistentData=new Uint8Array(new Uint8Array(ji.buffer)));else if(Nr(ji)){Kn=ji.shape;var aa=ji.stride,Xn=ji.offset,Vn=0,ma=0,ro=0,Ao=0;Kn.length===1?(Vn=Kn[0],ma=1,ro=aa[0],Ao=0):Kn.length===2&&(Vn=Kn[0],ma=Kn[1],ro=aa[0],Ao=aa[1]),Ai.dtype=Un||Zt(ji.data)||ft,Ai.dimension=ma;var Jn=W.allocType(Ai.dtype,Vn*ma);Fr(Jn,ji.data,Vn,ma,ro,Ao,Xn),yn(Ai,Jn,Ln),ca?Ai.persistentData=Jn:W.freeType(Jn)}else ji instanceof ArrayBuffer&&(Ai.dtype=It,Ai.dimension=gn,yn(Ai,ji,Ln),ca&&(Ai.persistentData=new Uint8Array(new Uint8Array(ji))))}function Rn(Ai){Er.bufferCount--,wi(Ai);var ji=Ai.buffer;At.deleteBuffer(ji),Ai.buffer=null,delete Oi[Ai.id]}function Dn(Ai,ji,Ln,Un){Er.bufferCount++;var gn=new Bi(ji);Oi[gn.id]=gn;function ca(wn){var vn=zn,Aa=null,aa=0,Xn=0,Vn=1;return Array.isArray(wn)||Or(wn)||Nr(wn)||wn instanceof ArrayBuffer?Aa=wn:typeof wn==\"number\"?aa=wn|0:wn&&(\"data\"in wn&&(Aa=wn.data),\"usage\"in wn&&(vn=Ni[wn.usage]),\"type\"in wn&&(Xn=bi[wn.type]),\"dimension\"in wn&&(Vn=wn.dimension|0),\"length\"in wn&&(aa=wn.length|0)),gn.bind(),Aa?to(gn,Aa,vn,Xn,Vn,Un):(aa&&At.bufferData(gn.type,aa,vn),gn.dtype=Xn||It,gn.usage=vn,gn.dimension=Vn,gn.byteLength=aa),Wr.profile&&(gn.stats.size=gn.byteLength*jt[gn.dtype]),ca}function Kn(wn,vn){At.bufferSubData(gn.type,vn,wn)}function Za(wn,vn){var Aa=(vn||0)|0,aa;if(gn.bind(),Or(wn)||wn instanceof ArrayBuffer)Kn(wn,Aa);else if(Array.isArray(wn)){if(wn.length>0){if(typeof wn[0]==\"number\"){var Xn=W.allocType(gn.dtype,wn.length);yr(Xn,wn),Kn(Xn,Aa),W.freeType(Xn)}else if(Array.isArray(wn[0])||Or(wn[0])){aa=$i(wn);var Vn=_n(wn,aa,gn.dtype);Kn(Vn,Aa),W.freeType(Vn)}}}else if(Nr(wn)){aa=wn.shape;var ma=wn.stride,ro=0,Ao=0,Jn=0,Oa=0;aa.length===1?(ro=aa[0],Ao=1,Jn=ma[0],Oa=0):aa.length===2&&(ro=aa[0],Ao=aa[1],Jn=ma[0],Oa=ma[1]);var _o=Array.isArray(wn.data)?gn.dtype:Zt(wn.data),Po=W.allocType(_o,ro*Ao);Fr(Po,wn.data,ro,Ao,Jn,Oa,wn.offset),Kn(Po,Aa),W.freeType(Po)}return ca}return Ln||ca(Ai),ca._reglType=\"buffer\",ca._buffer=gn,ca.subdata=Za,Wr.profile&&(ca.stats=gn.stats),ca.destroy=function(){Rn(gn)},ca}function fn(){ut(Oi).forEach(function(Ai){Ai.buffer=At.createBuffer(),At.bindBuffer(Ai.type,Ai.buffer),At.bufferData(Ai.type,Ai.persistentData||Ai.byteLength,Ai.usage)})}return Wr.profile&&(Er.getTotalBufferSize=function(){var Ai=0;return Object.keys(Oi).forEach(function(ji){Ai+=Oi[ji].stats.size}),Ai}),{create:Dn,createStream:On,destroyStream:Bn,clear:function(){ut(Oi).forEach(Rn),cn.forEach(Rn)},getBuffer:function(Ai){return Ai&&Ai._buffer instanceof Bi?Ai._buffer:null},restore:fn,_initBuffer:to}}var Vr=0,gi=0,Si=1,Mi=1,Pi=4,Gi=4,Ki={points:Vr,point:gi,lines:Si,line:Mi,triangles:Pi,triangle:Gi,\"line loop\":2,\"line strip\":3,\"triangle strip\":5,\"triangle fan\":6},ka=0,jn=1,la=4,Fa=5120,Ra=5121,jo=5122,oa=5123,Sn=5124,Ha=5125,oo=34963,xn=35040,_t=35044;function br(At,Er,Wr,wi){var Ui={},Oi=0,Bi={uint8:Ra,uint16:oa};Er.oes_element_index_uint&&(Bi.uint32=Ha);function cn(fn){this.id=Oi++,Ui[this.id]=this,this.buffer=fn,this.primType=la,this.vertCount=0,this.type=0}cn.prototype.bind=function(){this.buffer.bind()};var On=[];function Bn(fn){var Ai=On.pop();return Ai||(Ai=new cn(Wr.create(null,oo,!0,!1)._buffer)),to(Ai,fn,xn,-1,-1,0,0),Ai}function yn(fn){On.push(fn)}function to(fn,Ai,ji,Ln,Un,gn,ca){fn.buffer.bind();var Kn;if(Ai){var Za=ca;!ca&&(!Or(Ai)||Nr(Ai)&&!Or(Ai.data))&&(Za=Er.oes_element_index_uint?Ha:oa),Wr._initBuffer(fn.buffer,Ai,ji,Za,3)}else At.bufferData(oo,gn,ji),fn.buffer.dtype=Kn||Ra,fn.buffer.usage=ji,fn.buffer.dimension=3,fn.buffer.byteLength=gn;if(Kn=ca,!ca){switch(fn.buffer.dtype){case Ra:case Fa:Kn=Ra;break;case oa:case jo:Kn=oa;break;case Ha:case Sn:Kn=Ha;break;default:}fn.buffer.dtype=Kn}fn.type=Kn;var wn=Un;wn<0&&(wn=fn.buffer.byteLength,Kn===oa?wn>>=1:Kn===Ha&&(wn>>=2)),fn.vertCount=wn;var vn=Ln;if(Ln<0){vn=la;var Aa=fn.buffer.dimension;Aa===1&&(vn=ka),Aa===2&&(vn=jn),Aa===3&&(vn=la)}fn.primType=vn}function Rn(fn){wi.elementsCount--,delete Ui[fn.id],fn.buffer.destroy(),fn.buffer=null}function Dn(fn,Ai){var ji=Wr.create(null,oo,!0),Ln=new cn(ji._buffer);wi.elementsCount++;function Un(gn){if(!gn)ji(),Ln.primType=la,Ln.vertCount=0,Ln.type=Ra;else if(typeof gn==\"number\")ji(gn),Ln.primType=la,Ln.vertCount=gn|0,Ln.type=Ra;else{var ca=null,Kn=_t,Za=-1,wn=-1,vn=0,Aa=0;Array.isArray(gn)||Or(gn)||Nr(gn)?ca=gn:(\"data\"in gn&&(ca=gn.data),\"usage\"in gn&&(Kn=Ni[gn.usage]),\"primitive\"in gn&&(Za=Ki[gn.primitive]),\"count\"in gn&&(wn=gn.count|0),\"type\"in gn&&(Aa=Bi[gn.type]),\"length\"in gn?vn=gn.length|0:(vn=wn,Aa===oa||Aa===jo?vn*=2:(Aa===Ha||Aa===Sn)&&(vn*=4))),to(Ln,ca,Kn,Za,wn,vn,Aa)}return Un}return Un(fn),Un._reglType=\"elements\",Un._elements=Ln,Un.subdata=function(gn,ca){return ji.subdata(gn,ca),Un},Un.destroy=function(){Rn(Ln)},Un}return{create:Dn,createStream:Bn,destroyStream:yn,getElements:function(fn){return typeof fn==\"function\"&&fn._elements instanceof cn?fn._elements:null},clear:function(){ut(Ui).forEach(Rn)}}}var Hr=new Float32Array(1),ti=new Uint32Array(Hr.buffer),zi=5123;function Yi(At){for(var Er=W.allocType(zi,At.length),Wr=0;Wr<At.length;++Wr)if(isNaN(At[Wr]))Er[Wr]=65535;else if(At[Wr]===1/0)Er[Wr]=31744;else if(At[Wr]===-1/0)Er[Wr]=64512;else{Hr[0]=At[Wr];var wi=ti[0],Ui=wi>>>31<<15,Oi=(wi<<1>>>24)-127,Bi=wi>>13&1023;if(Oi<-24)Er[Wr]=Ui;else if(Oi<-14){var cn=-14-Oi;Er[Wr]=Ui+(Bi+1024>>cn)}else Oi>15?Er[Wr]=Ui+31744:Er[Wr]=Ui+(Oi+15<<10)+Bi}return Er}function an(At){return Array.isArray(At)||Or(At)}var hi=34467,Ji=3553,ua=34067,Fn=34069,Sa=6408,go=6406,Oo=6407,ho=6409,Mo=6410,xo=32854,zs=32855,ks=36194,Zs=32819,Xs=32820,wl=33635,os=34042,cl=6402,Cs=34041,ml=35904,Ys=35906,Hs=36193,Eo=33776,fs=33777,Ql=33778,Hu=33779,fc=35986,ms=35987,on=34798,fa=35840,Qu=35841,Rl=35842,vo=35843,Zl=36196,Ks=5121,Xl=5123,Ec=5125,Zn=5126,ko=10242,Co=10243,Tl=10497,uf=33071,So=33648,cf=10240,rh=10241,Al=9728,Hc=9729,eu=9984,Ls=9985,mu=9986,kc=9987,Of=33170,Gc=4352,vd=4353,Bf=4354,ss=34046,ff=3317,ih=37440,Vl=37441,Js=37443,hc=37444,Cc=33984,ws=[eu,mu,Ls,kc],$s=[0,ho,Mo,Oo,Sa],hs={};hs[ho]=hs[go]=hs[cl]=1,hs[Cs]=hs[Mo]=2,hs[Oo]=hs[ml]=3,hs[Sa]=hs[Ys]=4;function Ms(At){return\"[object \"+At+\"]\"}var dc=Ms(\"HTMLCanvasElement\"),Sl=Ms(\"OffscreenCanvas\"),ec=Ms(\"CanvasRenderingContext2D\"),Ps=Ms(\"ImageBitmap\"),ov=Ms(\"HTMLImageElement\"),wo=Ms(\"HTMLVideoElement\"),Od=Object.keys(Se).concat([dc,Sl,ec,Ps,ov,wo]),$o=[];$o[Ks]=1,$o[Zn]=4,$o[Hs]=2,$o[Xl]=2,$o[Ec]=4;var Ja=[];Ja[xo]=2,Ja[zs]=2,Ja[ks]=2,Ja[Cs]=4,Ja[Eo]=.5,Ja[fs]=.5,Ja[Ql]=1,Ja[Hu]=1,Ja[fc]=.5,Ja[ms]=1,Ja[on]=1,Ja[fa]=.5,Ja[Qu]=.25,Ja[Rl]=.5,Ja[vo]=.25,Ja[Zl]=.5;function Ef(At){return Array.isArray(At)&&(At.length===0||typeof At[0]==\"number\")}function tc(At){if(!Array.isArray(At))return!1;var Er=At.length;return!(Er===0||!an(At[0]))}function uu(At){return Object.prototype.toString.call(At)}function Mh(At){return uu(At)===dc}function jc(At){return uu(At)===Sl}function kf(At){return uu(At)===ec}function Ml(At){return uu(At)===Ps}function Yh(At){return uu(At)===ov}function Eh(At){return uu(At)===wo}function nh(At){if(!At)return!1;var Er=uu(At);return Od.indexOf(Er)>=0?!0:Ef(At)||tc(At)||Nr(At)}function hf(At){return Se[Object.prototype.toString.call(At)]|0}function kh(At,Er){var Wr=Er.length;switch(At.type){case Ks:case Xl:case Ec:case Zn:var wi=W.allocType(At.type,Wr);wi.set(Er),At.data=wi;break;case Hs:At.data=Yi(Er);break;default:}}function Kh(At,Er){return W.allocType(At.type===Hs?Zn:At.type,Er)}function rc(At,Er){At.type===Hs?(At.data=Yi(Er),W.freeType(Er)):At.data=Er}function ah(At,Er,Wr,wi,Ui,Oi){for(var Bi=At.width,cn=At.height,On=At.channels,Bn=Bi*cn*On,yn=Kh(At,Bn),to=0,Rn=0;Rn<cn;++Rn)for(var Dn=0;Dn<Bi;++Dn)for(var fn=0;fn<On;++fn)yn[to++]=Er[Wr*Dn+wi*Rn+Ui*fn+Oi];rc(At,yn)}function Wc(At,Er,Wr,wi,Ui,Oi){var Bi;if(typeof Ja[At]!=\"undefined\"?Bi=Ja[At]:Bi=hs[At]*$o[Er],Oi&&(Bi*=6),Ui){for(var cn=0,On=Wr;On>=1;)cn+=Bi*On*On,On/=2;return cn}else return Bi*Wr*wi}function df(At,Er,Wr,wi,Ui,Oi,Bi){var cn={\"don't care\":Gc,\"dont care\":Gc,nice:Bf,fast:vd},On={repeat:Tl,clamp:uf,mirror:So},Bn={nearest:Al,linear:Hc},yn=e({mipmap:kc,\"nearest mipmap nearest\":eu,\"linear mipmap nearest\":Ls,\"nearest mipmap linear\":mu,\"linear mipmap linear\":kc},Bn),to={none:0,browser:hc},Rn={uint8:Ks,rgba4:Zs,rgb565:wl,\"rgb5 a1\":Xs},Dn={alpha:go,luminance:ho,\"luminance alpha\":Mo,rgb:Oo,rgba:Sa,rgba4:xo,\"rgb5 a1\":zs,rgb565:ks},fn={};Er.ext_srgb&&(Dn.srgb=ml,Dn.srgba=Ys),Er.oes_texture_float&&(Rn.float32=Rn.float=Zn),Er.oes_texture_half_float&&(Rn.float16=Rn[\"half float\"]=Hs),Er.webgl_depth_texture&&(e(Dn,{depth:cl,\"depth stencil\":Cs}),e(Rn,{uint16:Xl,uint32:Ec,\"depth stencil\":os})),Er.webgl_compressed_texture_s3tc&&e(fn,{\"rgb s3tc dxt1\":Eo,\"rgba s3tc dxt1\":fs,\"rgba s3tc dxt3\":Ql,\"rgba s3tc dxt5\":Hu}),Er.webgl_compressed_texture_atc&&e(fn,{\"rgb atc\":fc,\"rgba atc explicit alpha\":ms,\"rgba atc interpolated alpha\":on}),Er.webgl_compressed_texture_pvrtc&&e(fn,{\"rgb pvrtc 4bppv1\":fa,\"rgb pvrtc 2bppv1\":Qu,\"rgba pvrtc 4bppv1\":Rl,\"rgba pvrtc 2bppv1\":vo}),Er.webgl_compressed_texture_etc1&&(fn[\"rgb etc1\"]=Zl);var Ai=Array.prototype.slice.call(At.getParameter(hi));Object.keys(fn).forEach(function(de){var Ie=fn[de];Ai.indexOf(Ie)>=0&&(Dn[de]=Ie)});var ji=Object.keys(Dn);Wr.textureFormats=ji;var Ln=[];Object.keys(Dn).forEach(function(de){var Ie=Dn[de];Ln[Ie]=de});var Un=[];Object.keys(Rn).forEach(function(de){var Ie=Rn[de];Un[Ie]=de});var gn=[];Object.keys(Bn).forEach(function(de){var Ie=Bn[de];gn[Ie]=de});var ca=[];Object.keys(yn).forEach(function(de){var Ie=yn[de];ca[Ie]=de});var Kn=[];Object.keys(On).forEach(function(de){var Ie=On[de];Kn[Ie]=de});var Za=ji.reduce(function(de,Ie){var $e=Dn[Ie];return $e===ho||$e===go||$e===ho||$e===Mo||$e===cl||$e===Cs||Er.ext_srgb&&($e===ml||$e===Ys)?de[$e]=$e:$e===zs||Ie.indexOf(\"rgba\")>=0?de[$e]=Sa:de[$e]=Oo,de},{});function wn(){this.internalformat=Sa,this.format=Sa,this.type=Ks,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=hc,this.width=0,this.height=0,this.channels=0}function vn(de,Ie){de.internalformat=Ie.internalformat,de.format=Ie.format,de.type=Ie.type,de.compressed=Ie.compressed,de.premultiplyAlpha=Ie.premultiplyAlpha,de.flipY=Ie.flipY,de.unpackAlignment=Ie.unpackAlignment,de.colorSpace=Ie.colorSpace,de.width=Ie.width,de.height=Ie.height,de.channels=Ie.channels}function Aa(de,Ie){if(!(typeof Ie!=\"object\"||!Ie)){if(\"premultiplyAlpha\"in Ie&&(de.premultiplyAlpha=Ie.premultiplyAlpha),\"flipY\"in Ie&&(de.flipY=Ie.flipY),\"alignment\"in Ie&&(de.unpackAlignment=Ie.alignment),\"colorSpace\"in Ie&&(de.colorSpace=to[Ie.colorSpace]),\"type\"in Ie){var $e=Ie.type;de.type=Rn[$e]}var pt=de.width,Kt=de.height,ir=de.channels,Jt=!1;\"shape\"in Ie?(pt=Ie.shape[0],Kt=Ie.shape[1],Ie.shape.length===3&&(ir=Ie.shape[2],Jt=!0)):(\"radius\"in Ie&&(pt=Kt=Ie.radius),\"width\"in Ie&&(pt=Ie.width),\"height\"in Ie&&(Kt=Ie.height),\"channels\"in Ie&&(ir=Ie.channels,Jt=!0)),de.width=pt|0,de.height=Kt|0,de.channels=ir|0;var vt=!1;if(\"format\"in Ie){var Pt=Ie.format,Wt=de.internalformat=Dn[Pt];de.format=Za[Wt],Pt in Rn&&(\"type\"in Ie||(de.type=Rn[Pt])),Pt in fn&&(de.compressed=!0),vt=!0}!Jt&&vt?de.channels=hs[de.format]:Jt&&!vt&&de.channels!==$s[de.format]&&(de.format=de.internalformat=$s[de.channels])}}function aa(de){At.pixelStorei(ih,de.flipY),At.pixelStorei(Vl,de.premultiplyAlpha),At.pixelStorei(Js,de.colorSpace),At.pixelStorei(ff,de.unpackAlignment)}function Xn(){wn.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Vn(de,Ie){var $e=null;if(nh(Ie)?$e=Ie:Ie&&(Aa(de,Ie),\"x\"in Ie&&(de.xOffset=Ie.x|0),\"y\"in Ie&&(de.yOffset=Ie.y|0),nh(Ie.data)&&($e=Ie.data)),Ie.copy){var pt=Ui.viewportWidth,Kt=Ui.viewportHeight;de.width=de.width||pt-de.xOffset,de.height=de.height||Kt-de.yOffset,de.needsCopy=!0}else if(!$e)de.width=de.width||1,de.height=de.height||1,de.channels=de.channels||4;else if(Or($e))de.channels=de.channels||4,de.data=$e,!(\"type\"in Ie)&&de.type===Ks&&(de.type=hf($e));else if(Ef($e))de.channels=de.channels||4,kh(de,$e),de.alignment=1,de.needsFree=!0;else if(Nr($e)){var ir=$e.data;!Array.isArray(ir)&&de.type===Ks&&(de.type=hf(ir));var Jt=$e.shape,vt=$e.stride,Pt,Wt,rr,dr,pr,kr;Jt.length===3?(rr=Jt[2],kr=vt[2]):(rr=1,kr=1),Pt=Jt[0],Wt=Jt[1],dr=vt[0],pr=vt[1],de.alignment=1,de.width=Pt,de.height=Wt,de.channels=rr,de.format=de.internalformat=$s[rr],de.needsFree=!0,ah(de,ir,dr,pr,kr,$e.offset)}else if(Mh($e)||jc($e)||kf($e))Mh($e)||jc($e)?de.element=$e:de.element=$e.canvas,de.width=de.element.width,de.height=de.element.height,de.channels=4;else if(Ml($e))de.element=$e,de.width=$e.width,de.height=$e.height,de.channels=4;else if(Yh($e))de.element=$e,de.width=$e.naturalWidth,de.height=$e.naturalHeight,de.channels=4;else if(Eh($e))de.element=$e,de.width=$e.videoWidth,de.height=$e.videoHeight,de.channels=4;else if(tc($e)){var Ar=de.width||$e[0].length,gr=de.height||$e.length,Cr=de.channels;an($e[0][0])?Cr=Cr||$e[0][0].length:Cr=Cr||1;for(var cr=Ne.shape($e),Gr=1,ei=0;ei<cr.length;++ei)Gr*=cr[ei];var yi=Kh(de,Gr);Ne.flatten($e,cr,\"\",yi),rc(de,yi),de.alignment=1,de.width=Ar,de.height=gr,de.channels=Cr,de.format=de.internalformat=$s[Cr],de.needsFree=!0}de.type===Zn||de.type}function ma(de,Ie,$e){var pt=de.element,Kt=de.data,ir=de.internalformat,Jt=de.format,vt=de.type,Pt=de.width,Wt=de.height;aa(de),pt?At.texImage2D(Ie,$e,Jt,Jt,vt,pt):de.compressed?At.compressedTexImage2D(Ie,$e,ir,Pt,Wt,0,Kt):de.needsCopy?(wi(),At.copyTexImage2D(Ie,$e,Jt,de.xOffset,de.yOffset,Pt,Wt,0)):At.texImage2D(Ie,$e,Jt,Pt,Wt,0,Jt,vt,Kt||null)}function ro(de,Ie,$e,pt,Kt){var ir=de.element,Jt=de.data,vt=de.internalformat,Pt=de.format,Wt=de.type,rr=de.width,dr=de.height;aa(de),ir?At.texSubImage2D(Ie,Kt,$e,pt,Pt,Wt,ir):de.compressed?At.compressedTexSubImage2D(Ie,Kt,$e,pt,vt,rr,dr,Jt):de.needsCopy?(wi(),At.copyTexSubImage2D(Ie,Kt,$e,pt,de.xOffset,de.yOffset,rr,dr)):At.texSubImage2D(Ie,Kt,$e,pt,rr,dr,Pt,Wt,Jt)}var Ao=[];function Jn(){return Ao.pop()||new Xn}function Oa(de){de.needsFree&&W.freeType(de.data),Xn.call(de),Ao.push(de)}function _o(){wn.call(this),this.genMipmaps=!1,this.mipmapHint=Gc,this.mipmask=0,this.images=Array(16)}function Po(de,Ie,$e){var pt=de.images[0]=Jn();de.mipmask=1,pt.width=de.width=Ie,pt.height=de.height=$e,pt.channels=de.channels=4}function Jo(de,Ie){var $e=null;if(nh(Ie))$e=de.images[0]=Jn(),vn($e,de),Vn($e,Ie),de.mipmask=1;else if(Aa(de,Ie),Array.isArray(Ie.mipmap))for(var pt=Ie.mipmap,Kt=0;Kt<pt.length;++Kt)$e=de.images[Kt]=Jn(),vn($e,de),$e.width>>=Kt,$e.height>>=Kt,Vn($e,pt[Kt]),de.mipmask|=1<<Kt;else $e=de.images[0]=Jn(),vn($e,de),Vn($e,Ie),de.mipmask=1;vn(de,de.images[0]),de.compressed&&(de.internalformat===Eo||de.internalformat===fs||de.internalformat===Ql||de.internalformat)}function Yl(de,Ie){for(var $e=de.images,pt=0;pt<$e.length;++pt){if(!$e[pt])return;ma($e[pt],Ie,pt)}}var $c=[];function xs(){var de=$c.pop()||new _o;wn.call(de),de.mipmask=0;for(var Ie=0;Ie<16;++Ie)de.images[Ie]=null;return de}function Qc(de){for(var Ie=de.images,$e=0;$e<Ie.length;++$e)Ie[$e]&&Oa(Ie[$e]),Ie[$e]=null;$c.push(de)}function El(){this.minFilter=Al,this.magFilter=Al,this.wrapS=uf,this.wrapT=uf,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=Gc}function bc(de,Ie){if(\"min\"in Ie){var $e=Ie.min;de.minFilter=yn[$e],ws.indexOf(de.minFilter)>=0&&!(\"faces\"in Ie)&&(de.genMipmaps=!0)}if(\"mag\"in Ie){var pt=Ie.mag;de.magFilter=Bn[pt]}var Kt=de.wrapS,ir=de.wrapT;if(\"wrap\"in Ie){var Jt=Ie.wrap;typeof Jt==\"string\"?Kt=ir=On[Jt]:Array.isArray(Jt)&&(Kt=On[Jt[0]],ir=On[Jt[1]])}else{if(\"wrapS\"in Ie){var vt=Ie.wrapS;Kt=On[vt]}if(\"wrapT\"in Ie){var Pt=Ie.wrapT;ir=On[Pt]}}if(de.wrapS=Kt,de.wrapT=ir,\"anisotropic\"in Ie){var Wt=Ie.anisotropic;de.anisotropic=Ie.anisotropic}if(\"mipmap\"in Ie){var rr=!1;switch(typeof Ie.mipmap){case\"string\":de.mipmapHint=cn[Ie.mipmap],de.genMipmaps=!0,rr=!0;break;case\"boolean\":rr=de.genMipmaps=Ie.mipmap;break;case\"object\":de.genMipmaps=!1,rr=!0;break;default:}rr&&!(\"min\"in Ie)&&(de.minFilter=eu)}}function wc(de,Ie){At.texParameteri(Ie,rh,de.minFilter),At.texParameteri(Ie,cf,de.magFilter),At.texParameteri(Ie,ko,de.wrapS),At.texParameteri(Ie,Co,de.wrapT),Er.ext_texture_filter_anisotropic&&At.texParameteri(Ie,ss,de.anisotropic),de.genMipmaps&&(At.hint(Of,de.mipmapHint),At.generateMipmap(Ie))}var yf=0,Gl={},Fc=Wr.maxTextureUnits,ef=Array(Fc).map(function(){return null});function ls(de){wn.call(this),this.mipmask=0,this.internalformat=Sa,this.id=yf++,this.refCount=1,this.target=de,this.texture=At.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new El,Bi.profile&&(this.stats={size:0})}function _f(de){At.activeTexture(Cc),At.bindTexture(de.target,de.texture)}function ns(){var de=ef[0];de?At.bindTexture(de.target,de.texture):At.bindTexture(Ji,null)}function Y(de){var Ie=de.texture,$e=de.unit,pt=de.target;$e>=0&&(At.activeTexture(Cc+$e),At.bindTexture(pt,null),ef[$e]=null),At.deleteTexture(Ie),de.texture=null,de.params=null,de.pixels=null,de.refCount=0,delete Gl[de.id],Oi.textureCount--}e(ls.prototype,{bind:function(){var de=this;de.bindCount+=1;var Ie=de.unit;if(Ie<0){for(var $e=0;$e<Fc;++$e){var pt=ef[$e];if(pt){if(pt.bindCount>0)continue;pt.unit=-1}ef[$e]=de,Ie=$e;break}Ie>=Fc,Bi.profile&&Oi.maxTextureUnits<Ie+1&&(Oi.maxTextureUnits=Ie+1),de.unit=Ie,At.activeTexture(Cc+Ie),At.bindTexture(de.target,de.texture)}return Ie},unbind:function(){this.bindCount-=1},decRef:function(){--this.refCount<=0&&Y(this)}});function z(de,Ie){var $e=new ls(Ji);Gl[$e.id]=$e,Oi.textureCount++;function pt(Jt,vt){var Pt=$e.texInfo;El.call(Pt);var Wt=xs();return typeof Jt==\"number\"?typeof vt==\"number\"?Po(Wt,Jt|0,vt|0):Po(Wt,Jt|0,Jt|0):Jt?(bc(Pt,Jt),Jo(Wt,Jt)):Po(Wt,1,1),Pt.genMipmaps&&(Wt.mipmask=(Wt.width<<1)-1),$e.mipmask=Wt.mipmask,vn($e,Wt),$e.internalformat=Wt.internalformat,pt.width=Wt.width,pt.height=Wt.height,_f($e),Yl(Wt,Ji),wc(Pt,Ji),ns(),Qc(Wt),Bi.profile&&($e.stats.size=Wc($e.internalformat,$e.type,Wt.width,Wt.height,Pt.genMipmaps,!1)),pt.format=Ln[$e.internalformat],pt.type=Un[$e.type],pt.mag=gn[Pt.magFilter],pt.min=ca[Pt.minFilter],pt.wrapS=Kn[Pt.wrapS],pt.wrapT=Kn[Pt.wrapT],pt}function Kt(Jt,vt,Pt,Wt){var rr=vt|0,dr=Pt|0,pr=Wt|0,kr=Jn();return vn(kr,$e),kr.width=0,kr.height=0,Vn(kr,Jt),kr.width=kr.width||($e.width>>pr)-rr,kr.height=kr.height||($e.height>>pr)-dr,_f($e),ro(kr,Ji,rr,dr,pr),ns(),Oa(kr),pt}function ir(Jt,vt){var Pt=Jt|0,Wt=vt|0||Pt;if(Pt===$e.width&&Wt===$e.height)return pt;pt.width=$e.width=Pt,pt.height=$e.height=Wt,_f($e);for(var rr=0;$e.mipmask>>rr;++rr){var dr=Pt>>rr,pr=Wt>>rr;if(!dr||!pr)break;At.texImage2D(Ji,rr,$e.format,dr,pr,0,$e.format,$e.type,null)}return ns(),Bi.profile&&($e.stats.size=Wc($e.internalformat,$e.type,Pt,Wt,!1,!1)),pt}return pt(de,Ie),pt.subimage=Kt,pt.resize=ir,pt._reglType=\"texture2d\",pt._texture=$e,Bi.profile&&(pt.stats=$e.stats),pt.destroy=function(){$e.decRef()},pt}function K(de,Ie,$e,pt,Kt,ir){var Jt=new ls(ua);Gl[Jt.id]=Jt,Oi.cubeCount++;var vt=new Array(6);function Pt(dr,pr,kr,Ar,gr,Cr){var cr,Gr=Jt.texInfo;for(El.call(Gr),cr=0;cr<6;++cr)vt[cr]=xs();if(typeof dr==\"number\"||!dr){var ei=dr|0||1;for(cr=0;cr<6;++cr)Po(vt[cr],ei,ei)}else if(typeof dr==\"object\")if(pr)Jo(vt[0],dr),Jo(vt[1],pr),Jo(vt[2],kr),Jo(vt[3],Ar),Jo(vt[4],gr),Jo(vt[5],Cr);else if(bc(Gr,dr),Aa(Jt,dr),\"faces\"in dr){var yi=dr.faces;for(cr=0;cr<6;++cr)vn(vt[cr],Jt),Jo(vt[cr],yi[cr])}else for(cr=0;cr<6;++cr)Jo(vt[cr],dr);for(vn(Jt,vt[0]),Gr.genMipmaps?Jt.mipmask=(vt[0].width<<1)-1:Jt.mipmask=vt[0].mipmask,Jt.internalformat=vt[0].internalformat,Pt.width=vt[0].width,Pt.height=vt[0].height,_f(Jt),cr=0;cr<6;++cr)Yl(vt[cr],Fn+cr);for(wc(Gr,ua),ns(),Bi.profile&&(Jt.stats.size=Wc(Jt.internalformat,Jt.type,Pt.width,Pt.height,Gr.genMipmaps,!0)),Pt.format=Ln[Jt.internalformat],Pt.type=Un[Jt.type],Pt.mag=gn[Gr.magFilter],Pt.min=ca[Gr.minFilter],Pt.wrapS=Kn[Gr.wrapS],Pt.wrapT=Kn[Gr.wrapT],cr=0;cr<6;++cr)Qc(vt[cr]);return Pt}function Wt(dr,pr,kr,Ar,gr){var Cr=kr|0,cr=Ar|0,Gr=gr|0,ei=Jn();return vn(ei,Jt),ei.width=0,ei.height=0,Vn(ei,pr),ei.width=ei.width||(Jt.width>>Gr)-Cr,ei.height=ei.height||(Jt.height>>Gr)-cr,_f(Jt),ro(ei,Fn+dr,Cr,cr,Gr),ns(),Oa(ei),Pt}function rr(dr){var pr=dr|0;if(pr!==Jt.width){Pt.width=Jt.width=pr,Pt.height=Jt.height=pr,_f(Jt);for(var kr=0;kr<6;++kr)for(var Ar=0;Jt.mipmask>>Ar;++Ar)At.texImage2D(Fn+kr,Ar,Jt.format,pr>>Ar,pr>>Ar,0,Jt.format,Jt.type,null);return ns(),Bi.profile&&(Jt.stats.size=Wc(Jt.internalformat,Jt.type,Pt.width,Pt.height,!1,!0)),Pt}}return Pt(de,Ie,$e,pt,Kt,ir),Pt.subimage=Wt,Pt.resize=rr,Pt._reglType=\"textureCube\",Pt._texture=Jt,Bi.profile&&(Pt.stats=Jt.stats),Pt.destroy=function(){Jt.decRef()},Pt}function O(){for(var de=0;de<Fc;++de)At.activeTexture(Cc+de),At.bindTexture(Ji,null),ef[de]=null;ut(Gl).forEach(Y),Oi.cubeCount=0,Oi.textureCount=0}Bi.profile&&(Oi.getTotalTextureSize=function(){var de=0;return Object.keys(Gl).forEach(function(Ie){de+=Gl[Ie].stats.size}),de});function $(){for(var de=0;de<Fc;++de){var Ie=ef[de];Ie&&(Ie.bindCount=0,Ie.unit=-1,ef[de]=null)}ut(Gl).forEach(function($e){$e.texture=At.createTexture(),At.bindTexture($e.target,$e.texture);for(var pt=0;pt<32;++pt)if($e.mipmask&1<<pt)if($e.target===Ji)At.texImage2D(Ji,pt,$e.internalformat,$e.width>>pt,$e.height>>pt,0,$e.internalformat,$e.type,null);else for(var Kt=0;Kt<6;++Kt)At.texImage2D(Fn+Kt,pt,$e.internalformat,$e.width>>pt,$e.height>>pt,0,$e.internalformat,$e.type,null);wc($e.texInfo,$e.target)})}function pe(){for(var de=0;de<Fc;++de){var Ie=ef[de];Ie&&(Ie.bindCount=0,Ie.unit=-1,ef[de]=null),At.activeTexture(Cc+de),At.bindTexture(Ji,null),At.bindTexture(ua,null)}}return{create2D:z,createCube:K,clear:O,getTexture:function(de){return null},restore:$,refresh:pe}}var Cu=36161,Nf=32854,Zc=32855,ds=36194,Ch=33189,Bd=36168,Jh=34041,Cf=35907,pd=34836,Lu=34842,$h=34843,tu=[];tu[Nf]=2,tu[Zc]=2,tu[ds]=2,tu[Ch]=2,tu[Bd]=1,tu[Jh]=4,tu[Cf]=4,tu[pd]=16,tu[Lu]=8,tu[$h]=6;function Pu(At,Er,Wr){return tu[At]*Er*Wr}var Lc=function(At,Er,Wr,wi,Ui){var Oi={rgba4:Nf,rgb565:ds,\"rgb5 a1\":Zc,depth:Ch,stencil:Bd,\"depth stencil\":Jh};Er.ext_srgb&&(Oi.srgba=Cf),Er.ext_color_buffer_half_float&&(Oi.rgba16f=Lu,Oi.rgb16f=$h),Er.webgl_color_buffer_float&&(Oi.rgba32f=pd);var Bi=[];Object.keys(Oi).forEach(function(Dn){var fn=Oi[Dn];Bi[fn]=Dn});var cn=0,On={};function Bn(Dn){this.id=cn++,this.refCount=1,this.renderbuffer=Dn,this.format=Nf,this.width=0,this.height=0,Ui.profile&&(this.stats={size:0})}Bn.prototype.decRef=function(){--this.refCount<=0&&yn(this)};function yn(Dn){var fn=Dn.renderbuffer;At.bindRenderbuffer(Cu,null),At.deleteRenderbuffer(fn),Dn.renderbuffer=null,Dn.refCount=0,delete On[Dn.id],wi.renderbufferCount--}function to(Dn,fn){var Ai=new Bn(At.createRenderbuffer());On[Ai.id]=Ai,wi.renderbufferCount++;function ji(Un,gn){var ca=0,Kn=0,Za=Nf;if(typeof Un==\"object\"&&Un){var wn=Un;if(\"shape\"in wn){var vn=wn.shape;ca=vn[0]|0,Kn=vn[1]|0}else\"radius\"in wn&&(ca=Kn=wn.radius|0),\"width\"in wn&&(ca=wn.width|0),\"height\"in wn&&(Kn=wn.height|0);\"format\"in wn&&(Za=Oi[wn.format])}else typeof Un==\"number\"?(ca=Un|0,typeof gn==\"number\"?Kn=gn|0:Kn=ca):Un||(ca=Kn=1);if(!(ca===Ai.width&&Kn===Ai.height&&Za===Ai.format))return ji.width=Ai.width=ca,ji.height=Ai.height=Kn,Ai.format=Za,At.bindRenderbuffer(Cu,Ai.renderbuffer),At.renderbufferStorage(Cu,Za,ca,Kn),Ui.profile&&(Ai.stats.size=Pu(Ai.format,Ai.width,Ai.height)),ji.format=Bi[Ai.format],ji}function Ln(Un,gn){var ca=Un|0,Kn=gn|0||ca;return ca===Ai.width&&Kn===Ai.height||(ji.width=Ai.width=ca,ji.height=Ai.height=Kn,At.bindRenderbuffer(Cu,Ai.renderbuffer),At.renderbufferStorage(Cu,Ai.format,ca,Kn),Ui.profile&&(Ai.stats.size=Pu(Ai.format,Ai.width,Ai.height))),ji}return ji(Dn,fn),ji.resize=Ln,ji._reglType=\"renderbuffer\",ji._renderbuffer=Ai,Ui.profile&&(ji.stats=Ai.stats),ji.destroy=function(){Ai.decRef()},ji}Ui.profile&&(wi.getTotalRenderbufferSize=function(){var Dn=0;return Object.keys(On).forEach(function(fn){Dn+=On[fn].stats.size}),Dn});function Rn(){ut(On).forEach(function(Dn){Dn.renderbuffer=At.createRenderbuffer(),At.bindRenderbuffer(Cu,Dn.renderbuffer),At.renderbufferStorage(Cu,Dn.format,Dn.width,Dn.height)}),At.bindRenderbuffer(Cu,null)}return{create:to,clear:function(){ut(On).forEach(yn)},restore:Rn}},fl=36160,Xc=36161,ic=3553,yu=34069,Qs=36064,Qh=36096,gd=36128,Gu=33306,Pc=36053,vc=36193,sv=5121,Lf=5126,Uf=6407,Iu=6408,oh=[];oh[Iu]=4,oh[Uf]=3;var ru=[];ru[sv]=1,ru[Lf]=4,ru[vc]=2;function vf(At,Er,Wr,wi,Ui,Oi){var Bi={cur:null,next:null,dirty:!1,setFBO:null},cn=[\"rgba\"],On=[\"rgba4\",\"rgb565\",\"rgb5 a1\"];Er.ext_srgb&&On.push(\"srgba\"),Er.ext_color_buffer_half_float&&On.push(\"rgba16f\",\"rgb16f\"),Er.webgl_color_buffer_float&&On.push(\"rgba32f\");var Bn=[\"uint8\"];Er.oes_texture_half_float&&Bn.push(\"half float\",\"float16\"),Er.oes_texture_float&&Bn.push(\"float\",\"float32\");function yn(Xn,Vn,ma){this.target=Xn,this.texture=Vn,this.renderbuffer=ma;var ro=0,Ao=0;Vn?(ro=Vn.width,Ao=Vn.height):ma&&(ro=ma.width,Ao=ma.height),this.width=ro,this.height=Ao}function to(Xn){Xn&&(Xn.texture&&Xn.texture._texture.decRef(),Xn.renderbuffer&&Xn.renderbuffer._renderbuffer.decRef())}function Rn(Xn,Vn,ma){if(Xn)if(Xn.texture){var ro=Xn.texture._texture,Ao=Math.max(1,ro.width),Jn=Math.max(1,ro.height);ro.refCount+=1}else{var Oa=Xn.renderbuffer._renderbuffer;Oa.refCount+=1}}function Dn(Xn,Vn){Vn&&(Vn.texture?At.framebufferTexture2D(fl,Xn,Vn.target,Vn.texture._texture.texture,0):At.framebufferRenderbuffer(fl,Xn,Xc,Vn.renderbuffer._renderbuffer.renderbuffer))}function fn(Xn){var Vn=ic,ma=null,ro=null,Ao=Xn;typeof Xn==\"object\"&&(Ao=Xn.data,\"target\"in Xn&&(Vn=Xn.target|0));var Jn=Ao._reglType;return Jn===\"texture2d\"||Jn===\"textureCube\"?ma=Ao:Jn===\"renderbuffer\"&&(ro=Ao,Vn=Xc),new yn(Vn,ma,ro)}function Ai(Xn,Vn,ma,ro,Ao){if(ma){var Jn=wi.create2D({width:Xn,height:Vn,format:ro,type:Ao});return Jn._texture.refCount=0,new yn(ic,Jn,null)}else{var Oa=Ui.create({width:Xn,height:Vn,format:ro});return Oa._renderbuffer.refCount=0,new yn(Xc,null,Oa)}}function ji(Xn){return Xn&&(Xn.texture||Xn.renderbuffer)}function Ln(Xn,Vn,ma){Xn&&(Xn.texture?Xn.texture.resize(Vn,ma):Xn.renderbuffer&&Xn.renderbuffer.resize(Vn,ma),Xn.width=Vn,Xn.height=ma)}var Un=0,gn={};function ca(){this.id=Un++,gn[this.id]=this,this.framebuffer=At.createFramebuffer(),this.width=0,this.height=0,this.colorAttachments=[],this.depthAttachment=null,this.stencilAttachment=null,this.depthStencilAttachment=null}function Kn(Xn){Xn.colorAttachments.forEach(to),to(Xn.depthAttachment),to(Xn.stencilAttachment),to(Xn.depthStencilAttachment)}function Za(Xn){var Vn=Xn.framebuffer;At.deleteFramebuffer(Vn),Xn.framebuffer=null,Oi.framebufferCount--,delete gn[Xn.id]}function wn(Xn){var Vn;At.bindFramebuffer(fl,Xn.framebuffer);var ma=Xn.colorAttachments;for(Vn=0;Vn<ma.length;++Vn)Dn(Qs+Vn,ma[Vn]);for(Vn=ma.length;Vn<Wr.maxColorAttachments;++Vn)At.framebufferTexture2D(fl,Qs+Vn,ic,null,0);At.framebufferTexture2D(fl,Gu,ic,null,0),At.framebufferTexture2D(fl,Qh,ic,null,0),At.framebufferTexture2D(fl,gd,ic,null,0),Dn(Qh,Xn.depthAttachment),Dn(gd,Xn.stencilAttachment),Dn(Gu,Xn.depthStencilAttachment);var ro=At.checkFramebufferStatus(fl);At.isContextLost(),At.bindFramebuffer(fl,Bi.next?Bi.next.framebuffer:null),Bi.cur=Bi.next,At.getError()}function vn(Xn,Vn){var ma=new ca;Oi.framebufferCount++;function ro(Jn,Oa){var _o,Po=0,Jo=0,Yl=!0,$c=!0,xs=null,Qc=!0,El=\"rgba\",bc=\"uint8\",wc=1,yf=null,Gl=null,Fc=null,ef=!1;if(typeof Jn==\"number\")Po=Jn|0,Jo=Oa|0||Po;else if(!Jn)Po=Jo=1;else{var ls=Jn;if(\"shape\"in ls){var _f=ls.shape;Po=_f[0],Jo=_f[1]}else\"radius\"in ls&&(Po=Jo=ls.radius),\"width\"in ls&&(Po=ls.width),\"height\"in ls&&(Jo=ls.height);(\"color\"in ls||\"colors\"in ls)&&(xs=ls.color||ls.colors,Array.isArray(xs)),xs||(\"colorCount\"in ls&&(wc=ls.colorCount|0),\"colorTexture\"in ls&&(Qc=!!ls.colorTexture,El=\"rgba4\"),\"colorType\"in ls&&(bc=ls.colorType,Qc||(bc===\"half float\"||bc===\"float16\"?El=\"rgba16f\":(bc===\"float\"||bc===\"float32\")&&(El=\"rgba32f\"))),\"colorFormat\"in ls&&(El=ls.colorFormat,cn.indexOf(El)>=0?Qc=!0:On.indexOf(El)>=0&&(Qc=!1))),(\"depthTexture\"in ls||\"depthStencilTexture\"in ls)&&(ef=!!(ls.depthTexture||ls.depthStencilTexture)),\"depth\"in ls&&(typeof ls.depth==\"boolean\"?Yl=ls.depth:(yf=ls.depth,$c=!1)),\"stencil\"in ls&&(typeof ls.stencil==\"boolean\"?$c=ls.stencil:(Gl=ls.stencil,Yl=!1)),\"depthStencil\"in ls&&(typeof ls.depthStencil==\"boolean\"?Yl=$c=ls.depthStencil:(Fc=ls.depthStencil,Yl=!1,$c=!1))}var ns=null,Y=null,z=null,K=null;if(Array.isArray(xs))ns=xs.map(fn);else if(xs)ns=[fn(xs)];else for(ns=new Array(wc),_o=0;_o<wc;++_o)ns[_o]=Ai(Po,Jo,Qc,El,bc);Po=Po||ns[0].width,Jo=Jo||ns[0].height,yf?Y=fn(yf):Yl&&!$c&&(Y=Ai(Po,Jo,ef,\"depth\",\"uint32\")),Gl?z=fn(Gl):$c&&!Yl&&(z=Ai(Po,Jo,!1,\"stencil\",\"uint8\")),Fc?K=fn(Fc):!yf&&!Gl&&$c&&Yl&&(K=Ai(Po,Jo,ef,\"depth stencil\",\"depth stencil\"));var O=null;for(_o=0;_o<ns.length;++_o)if(Rn(ns[_o],Po,Jo),ns[_o]&&ns[_o].texture){var $=oh[ns[_o].texture._texture.format]*ru[ns[_o].texture._texture.type];O===null&&(O=$)}return Rn(Y,Po,Jo),Rn(z,Po,Jo),Rn(K,Po,Jo),Kn(ma),ma.width=Po,ma.height=Jo,ma.colorAttachments=ns,ma.depthAttachment=Y,ma.stencilAttachment=z,ma.depthStencilAttachment=K,ro.color=ns.map(ji),ro.depth=ji(Y),ro.stencil=ji(z),ro.depthStencil=ji(K),ro.width=ma.width,ro.height=ma.height,wn(ma),ro}function Ao(Jn,Oa){var _o=Math.max(Jn|0,1),Po=Math.max(Oa|0||_o,1);if(_o===ma.width&&Po===ma.height)return ro;for(var Jo=ma.colorAttachments,Yl=0;Yl<Jo.length;++Yl)Ln(Jo[Yl],_o,Po);return Ln(ma.depthAttachment,_o,Po),Ln(ma.stencilAttachment,_o,Po),Ln(ma.depthStencilAttachment,_o,Po),ma.width=ro.width=_o,ma.height=ro.height=Po,wn(ma),ro}return ro(Xn,Vn),e(ro,{resize:Ao,_reglType:\"framebuffer\",_framebuffer:ma,destroy:function(){Za(ma),Kn(ma)},use:function(Jn){Bi.setFBO({framebuffer:ro},Jn)}})}function Aa(Xn){var Vn=Array(6);function ma(Ao){var Jn,Oa={color:null},_o=0,Po=null,Jo=\"rgba\",Yl=\"uint8\",$c=1;if(typeof Ao==\"number\")_o=Ao|0;else if(!Ao)_o=1;else{var xs=Ao;if(\"shape\"in xs){var Qc=xs.shape;_o=Qc[0]}else\"radius\"in xs&&(_o=xs.radius|0),\"width\"in xs?(_o=xs.width|0,\"height\"in xs):\"height\"in xs&&(_o=xs.height|0);(\"color\"in xs||\"colors\"in xs)&&(Po=xs.color||xs.colors,Array.isArray(Po)),Po||(\"colorCount\"in xs&&($c=xs.colorCount|0),\"colorType\"in xs&&(Yl=xs.colorType),\"colorFormat\"in xs&&(Jo=xs.colorFormat)),\"depth\"in xs&&(Oa.depth=xs.depth),\"stencil\"in xs&&(Oa.stencil=xs.stencil),\"depthStencil\"in xs&&(Oa.depthStencil=xs.depthStencil)}var El;if(Po)if(Array.isArray(Po))for(El=[],Jn=0;Jn<Po.length;++Jn)El[Jn]=Po[Jn];else El=[Po];else{El=Array($c);var bc={radius:_o,format:Jo,type:Yl};for(Jn=0;Jn<$c;++Jn)El[Jn]=wi.createCube(bc)}for(Oa.color=Array(El.length),Jn=0;Jn<El.length;++Jn){var wc=El[Jn];_o=_o||wc.width,Oa.color[Jn]={target:yu,data:El[Jn]}}for(Jn=0;Jn<6;++Jn){for(var yf=0;yf<El.length;++yf)Oa.color[yf].target=yu+Jn;Jn>0&&(Oa.depth=Vn[0].depth,Oa.stencil=Vn[0].stencil,Oa.depthStencil=Vn[0].depthStencil),Vn[Jn]?Vn[Jn](Oa):Vn[Jn]=vn(Oa)}return e(ma,{width:_o,height:_o,color:El})}function ro(Ao){var Jn,Oa=Ao|0;if(Oa===ma.width)return ma;var _o=ma.color;for(Jn=0;Jn<_o.length;++Jn)_o[Jn].resize(Oa);for(Jn=0;Jn<6;++Jn)Vn[Jn].resize(Oa);return ma.width=ma.height=Oa,ma}return ma(Xn),e(ma,{faces:Vn,resize:ro,_reglType:\"framebufferCube\",destroy:function(){Vn.forEach(function(Ao){Ao.destroy()})}})}function aa(){Bi.cur=null,Bi.next=null,Bi.dirty=!0,ut(gn).forEach(function(Xn){Xn.framebuffer=At.createFramebuffer(),wn(Xn)})}return e(Bi,{getFramebuffer:function(Xn){if(typeof Xn==\"function\"&&Xn._reglType===\"framebuffer\"){var Vn=Xn._framebuffer;if(Vn instanceof ca)return Vn}return null},create:vn,createCube:Aa,clear:function(){ut(gn).forEach(Za)},restore:aa})}var md=5126,sh=34962,Fs=34963;function _u(){this.state=0,this.x=0,this.y=0,this.z=0,this.w=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=md,this.offset=0,this.stride=0,this.divisor=0}function xu(At,Er,Wr,wi,Ui,Oi,Bi){for(var cn=Wr.maxAttributes,On=new Array(cn),Bn=0;Bn<cn;++Bn)On[Bn]=new _u;var yn=0,to={},Rn={Record:_u,scope:{},state:On,currentVAO:null,targetVAO:null,restore:fn()?Kn:function(){},createVAO:Za,getVAO:ji,destroyBuffer:Dn,setVAO:fn()?Ln:Un,clear:fn()?gn:function(){}};function Dn(wn){for(var vn=0;vn<On.length;++vn){var Aa=On[vn];Aa.buffer===wn&&(At.disableVertexAttribArray(vn),Aa.buffer=null)}}function fn(){return Er.oes_vertex_array_object}function Ai(){return Er.angle_instanced_arrays}function ji(wn){return typeof wn==\"function\"&&wn._vao?wn._vao:null}function Ln(wn){if(wn!==Rn.currentVAO){var vn=fn();wn?vn.bindVertexArrayOES(wn.vao):vn.bindVertexArrayOES(null),Rn.currentVAO=wn}}function Un(wn){if(wn!==Rn.currentVAO){if(wn)wn.bindAttrs();else{for(var vn=Ai(),Aa=0;Aa<On.length;++Aa){var aa=On[Aa];aa.buffer?(At.enableVertexAttribArray(Aa),aa.buffer.bind(),At.vertexAttribPointer(Aa,aa.size,aa.type,aa.normalized,aa.stride,aa.offfset),vn&&aa.divisor&&vn.vertexAttribDivisorANGLE(Aa,aa.divisor)):(At.disableVertexAttribArray(Aa),At.vertexAttrib4f(Aa,aa.x,aa.y,aa.z,aa.w))}Bi.elements?At.bindBuffer(Fs,Bi.elements.buffer.buffer):At.bindBuffer(Fs,null)}Rn.currentVAO=wn}}function gn(){ut(to).forEach(function(wn){wn.destroy()})}function ca(){this.id=++yn,this.attributes=[],this.elements=null,this.ownsElements=!1,this.count=0,this.offset=0,this.instances=-1,this.primitive=4;var wn=fn();wn?this.vao=wn.createVertexArrayOES():this.vao=null,to[this.id]=this,this.buffers=[]}ca.prototype.bindAttrs=function(){for(var wn=Ai(),vn=this.attributes,Aa=0;Aa<vn.length;++Aa){var aa=vn[Aa];aa.buffer?(At.enableVertexAttribArray(Aa),At.bindBuffer(sh,aa.buffer.buffer),At.vertexAttribPointer(Aa,aa.size,aa.type,aa.normalized,aa.stride,aa.offset),wn&&aa.divisor&&wn.vertexAttribDivisorANGLE(Aa,aa.divisor)):(At.disableVertexAttribArray(Aa),At.vertexAttrib4f(Aa,aa.x,aa.y,aa.z,aa.w))}for(var Xn=vn.length;Xn<cn;++Xn)At.disableVertexAttribArray(Xn);var Vn=Oi.getElements(this.elements);Vn?At.bindBuffer(Fs,Vn.buffer.buffer):At.bindBuffer(Fs,null)},ca.prototype.refresh=function(){var wn=fn();wn&&(wn.bindVertexArrayOES(this.vao),this.bindAttrs(),Rn.currentVAO=null,wn.bindVertexArrayOES(null))},ca.prototype.destroy=function(){if(this.vao){var wn=fn();this===Rn.currentVAO&&(Rn.currentVAO=null,wn.bindVertexArrayOES(null)),wn.deleteVertexArrayOES(this.vao),this.vao=null}this.ownsElements&&(this.elements.destroy(),this.elements=null,this.ownsElements=!1),to[this.id]&&(delete to[this.id],wi.vaoCount-=1)};function Kn(){var wn=fn();wn&&ut(to).forEach(function(vn){vn.refresh()})}function Za(wn){var vn=new ca;wi.vaoCount+=1;function Aa(aa){var Xn;if(Array.isArray(aa))Xn=aa,vn.elements&&vn.ownsElements&&vn.elements.destroy(),vn.elements=null,vn.ownsElements=!1,vn.offset=0,vn.count=0,vn.instances=-1,vn.primitive=4;else{if(aa.elements){var Vn=aa.elements;vn.ownsElements?typeof Vn==\"function\"&&Vn._reglType===\"elements\"?(vn.elements.destroy(),vn.ownsElements=!1):(vn.elements(Vn),vn.ownsElements=!1):Oi.getElements(aa.elements)?(vn.elements=aa.elements,vn.ownsElements=!1):(vn.elements=Oi.create(aa.elements),vn.ownsElements=!0)}else vn.elements=null,vn.ownsElements=!1;Xn=aa.attributes,vn.offset=0,vn.count=-1,vn.instances=-1,vn.primitive=4,vn.elements&&(vn.count=vn.elements._elements.vertCount,vn.primitive=vn.elements._elements.primType),\"offset\"in aa&&(vn.offset=aa.offset|0),\"count\"in aa&&(vn.count=aa.count|0),\"instances\"in aa&&(vn.instances=aa.instances|0),\"primitive\"in aa&&(vn.primitive=Ki[aa.primitive])}var ma={},ro=vn.attributes;ro.length=Xn.length;for(var Ao=0;Ao<Xn.length;++Ao){var Jn=Xn[Ao],Oa=ro[Ao]=new _u,_o=Jn.data||Jn;if(Array.isArray(_o)||Or(_o)||Nr(_o)){var Po;vn.buffers[Ao]&&(Po=vn.buffers[Ao],Or(_o)&&Po._buffer.byteLength>=_o.byteLength?Po.subdata(_o):(Po.destroy(),vn.buffers[Ao]=null)),vn.buffers[Ao]||(Po=vn.buffers[Ao]=Ui.create(Jn,sh,!1,!0)),Oa.buffer=Ui.getBuffer(Po),Oa.size=Oa.buffer.dimension|0,Oa.normalized=!1,Oa.type=Oa.buffer.dtype,Oa.offset=0,Oa.stride=0,Oa.divisor=0,Oa.state=1,ma[Ao]=1}else Ui.getBuffer(Jn)?(Oa.buffer=Ui.getBuffer(Jn),Oa.size=Oa.buffer.dimension|0,Oa.normalized=!1,Oa.type=Oa.buffer.dtype,Oa.offset=0,Oa.stride=0,Oa.divisor=0,Oa.state=1):Ui.getBuffer(Jn.buffer)?(Oa.buffer=Ui.getBuffer(Jn.buffer),Oa.size=(+Jn.size||Oa.buffer.dimension)|0,Oa.normalized=!!Jn.normalized||!1,\"type\"in Jn?Oa.type=bi[Jn.type]:Oa.type=Oa.buffer.dtype,Oa.offset=(Jn.offset||0)|0,Oa.stride=(Jn.stride||0)|0,Oa.divisor=(Jn.divisor||0)|0,Oa.state=1):\"x\"in Jn&&(Oa.x=+Jn.x||0,Oa.y=+Jn.y||0,Oa.z=+Jn.z||0,Oa.w=+Jn.w||0,Oa.state=2)}for(var Jo=0;Jo<vn.buffers.length;++Jo)!ma[Jo]&&vn.buffers[Jo]&&(vn.buffers[Jo].destroy(),vn.buffers[Jo]=null);return vn.refresh(),Aa}return Aa.destroy=function(){for(var aa=0;aa<vn.buffers.length;++aa)vn.buffers[aa]&&vn.buffers[aa].destroy();vn.buffers.length=0,vn.ownsElements&&(vn.elements.destroy(),vn.elements=null,vn.ownsElements=!1),vn.destroy()},Aa._vao=vn,Aa._reglType=\"vao\",Aa(wn)}return Rn}var Lh=35632,Is=35633,Pf=35718,Ic=35721;function ju(At,Er,Wr,wi){var Ui={},Oi={};function Bi(Ai,ji,Ln,Un){this.name=Ai,this.id=ji,this.location=Ln,this.info=Un}function cn(Ai,ji){for(var Ln=0;Ln<Ai.length;++Ln)if(Ai[Ln].id===ji.id){Ai[Ln].location=ji.location;return}Ai.push(ji)}function On(Ai,ji,Ln){var Un=Ai===Lh?Ui:Oi,gn=Un[ji];if(!gn){var ca=Er.str(ji);gn=At.createShader(Ai),At.shaderSource(gn,ca),At.compileShader(gn),Un[ji]=gn}return gn}var Bn={},yn=[],to=0;function Rn(Ai,ji){this.id=to++,this.fragId=Ai,this.vertId=ji,this.program=null,this.uniforms=[],this.attributes=[],this.refCount=1,wi.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function Dn(Ai,ji,Ln){var Un,gn,ca=On(Lh,Ai.fragId),Kn=On(Is,Ai.vertId),Za=Ai.program=At.createProgram();if(At.attachShader(Za,ca),At.attachShader(Za,Kn),Ln)for(Un=0;Un<Ln.length;++Un){var wn=Ln[Un];At.bindAttribLocation(Za,wn[0],wn[1])}At.linkProgram(Za);var vn=At.getProgramParameter(Za,Pf);wi.profile&&(Ai.stats.uniformsCount=vn);var Aa=Ai.uniforms;for(Un=0;Un<vn;++Un)if(gn=At.getActiveUniform(Za,Un),gn)if(gn.size>1)for(var aa=0;aa<gn.size;++aa){var Xn=gn.name.replace(\"[0]\",\"[\"+aa+\"]\");cn(Aa,new Bi(Xn,Er.id(Xn),At.getUniformLocation(Za,Xn),gn))}else cn(Aa,new Bi(gn.name,Er.id(gn.name),At.getUniformLocation(Za,gn.name),gn));var Vn=At.getProgramParameter(Za,Ic);wi.profile&&(Ai.stats.attributesCount=Vn);var ma=Ai.attributes;for(Un=0;Un<Vn;++Un)gn=At.getActiveAttrib(Za,Un),gn&&cn(ma,new Bi(gn.name,Er.id(gn.name),At.getAttribLocation(Za,gn.name),gn))}wi.profile&&(Wr.getMaxUniformsCount=function(){var Ai=0;return yn.forEach(function(ji){ji.stats.uniformsCount>Ai&&(Ai=ji.stats.uniformsCount)}),Ai},Wr.getMaxAttributesCount=function(){var Ai=0;return yn.forEach(function(ji){ji.stats.attributesCount>Ai&&(Ai=ji.stats.attributesCount)}),Ai});function fn(){Ui={},Oi={};for(var Ai=0;Ai<yn.length;++Ai)Dn(yn[Ai],null,yn[Ai].attributes.map(function(ji){return[ji.location,ji.name]}))}return{clear:function(){var Ai=At.deleteShader.bind(At);ut(Ui).forEach(Ai),Ui={},ut(Oi).forEach(Ai),Oi={},yn.forEach(function(ji){At.deleteProgram(ji.program)}),yn.length=0,Bn={},Wr.shaderCount=0},program:function(Ai,ji,Ln,Un){var gn=Bn[ji];gn||(gn=Bn[ji]={});var ca=gn[Ai];if(ca&&(ca.refCount++,!Un))return ca;var Kn=new Rn(ji,Ai);return Wr.shaderCount++,Dn(Kn,Ln,Un),ca||(gn[Ai]=Kn),yn.push(Kn),e(Kn,{destroy:function(){if(Kn.refCount--,Kn.refCount<=0){At.deleteProgram(Kn.program);var Za=yn.indexOf(Kn);yn.splice(Za,1),Wr.shaderCount--}gn[Kn.vertId].refCount<=0&&(At.deleteShader(Oi[Kn.vertId]),delete Oi[Kn.vertId],delete Bn[Kn.fragId][Kn.vertId]),Object.keys(Bn[Kn.fragId]).length||(At.deleteShader(Ui[Kn.fragId]),delete Ui[Kn.fragId],delete Bn[Kn.fragId])}})},restore:fn,shader:On,frag:-1,vert:-1}}var Vf=6408,pc=5121,pf=3333,Ph=5126;function Dl(At,Er,Wr,wi,Ui,Oi,Bi){function cn(yn){var to;Er.next===null?to=pc:to=Er.next.colorAttachments[0].texture._texture.type;var Rn=0,Dn=0,fn=wi.framebufferWidth,Ai=wi.framebufferHeight,ji=null;Or(yn)?ji=yn:yn&&(Rn=yn.x|0,Dn=yn.y|0,fn=(yn.width||wi.framebufferWidth-Rn)|0,Ai=(yn.height||wi.framebufferHeight-Dn)|0,ji=yn.data||null),Wr();var Ln=fn*Ai*4;return ji||(to===pc?ji=new Uint8Array(Ln):to===Ph&&(ji=ji||new Float32Array(Ln))),At.pixelStorei(pf,4),At.readPixels(Rn,Dn,fn,Ai,Vf,to,ji),ji}function On(yn){var to;return Er.setFBO({framebuffer:yn.framebuffer},function(){to=cn(yn)}),to}function Bn(yn){return!yn||!(\"framebuffer\"in yn)?cn(yn):On(yn)}return Bn}var Ih=0,Wu=\"\";function Rc(At){return iu(gc(nc(At)))}function gc(At){return gt(Ti(gf(At),At.length*8))}function hl(At,Er){var Wr=gf(At);Wr.length>16&&(Wr=Ti(Wr,At.length*8));for(var wi=Array(16),Ui=Array(16),Oi=0;Oi<16;Oi++)wi[Oi]=Wr[Oi]^909522486,Ui[Oi]=Wr[Oi]^1549556828;var Bi=Ti(wi.concat(gf(Er)),512+Er.length*8);return gt(Ti(Ui.concat(Bi),768))}function iu(At){for(var Er=Ih?\"0123456789ABCDEF\":\"0123456789abcdef\",Wr=\"\",wi,Ui=0;Ui<At.length;Ui++)wi=At.charCodeAt(Ui),Wr+=Er.charAt(wi>>>4&15)+Er.charAt(wi&15);return Wr}function mc(At){for(var Er=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",Wr=\"\",wi=At.length,Ui=0;Ui<wi;Ui+=3)for(var Oi=At.charCodeAt(Ui)<<16|(Ui+1<wi?At.charCodeAt(Ui+1)<<8:0)|(Ui+2<wi?At.charCodeAt(Ui+2):0),Bi=0;Bi<4;Bi++)Ui*8+Bi*6>At.length*8?Wr+=Wu:Wr+=Er.charAt(Oi>>>6*(3-Bi)&63);return Wr}function Yc(At,Er){var Wr=Er.length,wi=Array(),Ui,Oi,Bi,cn,On=Array(Math.ceil(At.length/2));for(Ui=0;Ui<On.length;Ui++)On[Ui]=At.charCodeAt(Ui*2)<<8|At.charCodeAt(Ui*2+1);for(;On.length>0;){for(cn=Array(),Bi=0,Ui=0;Ui<On.length;Ui++)Bi=(Bi<<16)+On[Ui],Oi=Math.floor(Bi/Wr),Bi-=Oi*Wr,(cn.length>0||Oi>0)&&(cn[cn.length]=Oi);wi[wi.length]=Bi,On=cn}var Bn=\"\";for(Ui=wi.length-1;Ui>=0;Ui--)Bn+=Er.charAt(wi[Ui]);var yn=Math.ceil(At.length*8/(Math.log(Er.length)/Math.log(2)));for(Ui=Bn.length;Ui<yn;Ui++)Bn=Er[0]+Bn;return Bn}function nc(At){for(var Er=\"\",Wr=-1,wi,Ui;++Wr<At.length;)wi=At.charCodeAt(Wr),Ui=Wr+1<At.length?At.charCodeAt(Wr+1):0,55296<=wi&&wi<=56319&&56320<=Ui&&Ui<=57343&&(wi=65536+((wi&1023)<<10)+(Ui&1023),Wr++),wi<=127?Er+=String.fromCharCode(wi):wi<=2047?Er+=String.fromCharCode(192|wi>>>6&31,128|wi&63):wi<=65535?Er+=String.fromCharCode(224|wi>>>12&15,128|wi>>>6&63,128|wi&63):wi<=2097151&&(Er+=String.fromCharCode(240|wi>>>18&7,128|wi>>>12&63,128|wi>>>6&63,128|wi&63));return Er}function gf(At){for(var Er=Array(At.length>>2),Wr=0;Wr<Er.length;Wr++)Er[Wr]=0;for(var Wr=0;Wr<At.length*8;Wr+=8)Er[Wr>>5]|=(At.charCodeAt(Wr/8)&255)<<24-Wr%32;return Er}function gt(At){for(var Er=\"\",Wr=0;Wr<At.length*32;Wr+=8)Er+=String.fromCharCode(At[Wr>>5]>>>24-Wr%32&255);return Er}function Bt(At,Er){return At>>>Er|At<<32-Er}function wr(At,Er){return At>>>Er}function vr(At,Er,Wr){return At&Er^~At&Wr}function Ur(At,Er,Wr){return At&Er^At&Wr^Er&Wr}function fi(At){return Bt(At,2)^Bt(At,13)^Bt(At,22)}function xi(At){return Bt(At,6)^Bt(At,11)^Bt(At,25)}function Fi(At){return Bt(At,7)^Bt(At,18)^wr(At,3)}function Xi(At){return Bt(At,17)^Bt(At,19)^wr(At,10)}var hn=new Array(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);function Ti(At,Er){var Wr=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),wi=new Array(64),Ui,Oi,Bi,cn,On,Bn,yn,to,Rn,Dn,fn,Ai;for(At[Er>>5]|=128<<24-Er%32,At[(Er+64>>9<<4)+15]=Er,Rn=0;Rn<At.length;Rn+=16){for(Ui=Wr[0],Oi=Wr[1],Bi=Wr[2],cn=Wr[3],On=Wr[4],Bn=Wr[5],yn=Wr[6],to=Wr[7],Dn=0;Dn<64;Dn++)Dn<16?wi[Dn]=At[Dn+Rn]:wi[Dn]=qi(qi(qi(Xi(wi[Dn-2]),wi[Dn-7]),Fi(wi[Dn-15])),wi[Dn-16]),fn=qi(qi(qi(qi(to,xi(On)),vr(On,Bn,yn)),hn[Dn]),wi[Dn]),Ai=qi(fi(Ui),Ur(Ui,Oi,Bi)),to=yn,yn=Bn,Bn=On,On=qi(cn,fn),cn=Bi,Bi=Oi,Oi=Ui,Ui=qi(fn,Ai);Wr[0]=qi(Ui,Wr[0]),Wr[1]=qi(Oi,Wr[1]),Wr[2]=qi(Bi,Wr[2]),Wr[3]=qi(cn,Wr[3]),Wr[4]=qi(On,Wr[4]),Wr[5]=qi(Bn,Wr[5]),Wr[6]=qi(yn,Wr[6]),Wr[7]=qi(to,Wr[7])}return Wr}function qi(At,Er){var Wr=(At&65535)+(Er&65535),wi=(At>>16)+(Er>>16)+(Wr>>16);return wi<<16|Wr&65535}function Ii(At){return Array.prototype.slice.call(At)}function mi(At){return Ii(At).join(\"\")}function Pn(At){var Er=At&&At.cache,Wr=0,wi=[],Ui=[],Oi=[];function Bi(fn,Ai){var ji=Ai&&Ai.stable;if(!ji){for(var Ln=0;Ln<Ui.length;++Ln)if(Ui[Ln]===fn&&!Oi[Ln])return wi[Ln]}var Un=\"g\"+Wr++;return wi.push(Un),Ui.push(fn),Oi.push(ji),Un}function cn(){var fn=[];function Ai(){fn.push.apply(fn,Ii(arguments))}var ji=[];function Ln(){var Un=\"v\"+Wr++;return ji.push(Un),arguments.length>0&&(fn.push(Un,\"=\"),fn.push.apply(fn,Ii(arguments)),fn.push(\";\")),Un}return e(Ai,{def:Ln,toString:function(){return mi([ji.length>0?\"var \"+ji.join(\",\")+\";\":\"\",mi(fn)])}})}function On(){var fn=cn(),Ai=cn(),ji=fn.toString,Ln=Ai.toString;function Un(gn,ca){Ai(gn,ca,\"=\",fn.def(gn,ca),\";\")}return e(function(){fn.apply(fn,Ii(arguments))},{def:fn.def,entry:fn,exit:Ai,save:Un,set:function(gn,ca,Kn){Un(gn,ca),fn(gn,ca,\"=\",Kn,\";\")},toString:function(){return ji()+Ln()}})}function Bn(){var fn=mi(arguments),Ai=On(),ji=On(),Ln=Ai.toString,Un=ji.toString;return e(Ai,{then:function(){return Ai.apply(Ai,Ii(arguments)),this},else:function(){return ji.apply(ji,Ii(arguments)),this},toString:function(){var gn=Un();return gn&&(gn=\"else{\"+gn+\"}\"),mi([\"if(\",fn,\"){\",Ln(),\"}\",gn])}})}var yn=cn(),to={};function Rn(fn,Ai){var ji=[];function Ln(){var Za=\"a\"+ji.length;return ji.push(Za),Za}Ai=Ai||0;for(var Un=0;Un<Ai;++Un)Ln();var gn=On(),ca=gn.toString,Kn=to[fn]=e(gn,{arg:Ln,toString:function(){return mi([\"function(\",ji.join(),\"){\",ca(),\"}\"])}});return Kn}function Dn(){var fn=['\"use strict\";',yn,\"return {\"];Object.keys(to).forEach(function(Un){fn.push('\"',Un,'\":',to[Un].toString(),\",\")}),fn.push(\"}\");var Ai=mi(fn).replace(/;/g,`;\n", - "`).replace(/}/g,`}\n", - "`).replace(/{/g,`{\n", - "`),ji;if(Er&&(ji=Rc(Ai),Er[ji]))return Er[ji].apply(null,Ui);var Ln=Function.apply(null,wi.concat(Ai));return Er&&(Er[ji]=Ln),Ln.apply(null,Ui)}return{global:yn,link:Bi,block:cn,proc:Rn,scope:On,cond:Bn,compile:Dn}}var Ma=\"xyzw\".split(\"\"),Ta=5121,Ea=1,qa=2,Cn=0,sn=1,Ua=2,mo=3,Xo=4,Ts=5,Qo=6,ys=\"dither\",Bo=\"blend.enable\",yl=\"blend.color\",Gs=\"blend.equation\",Rs=\"blend.func\",ia=\"depth.enable\",Ka=\"depth.func\",vs=\"depth.range\",Ko=\"depth.mask\",nu=\"colorMask\",Ru=\"cull.enable\",ac=\"cull.face\",mf=\"frontFace\",bu=\"lineWidth\",Kc=\"polygonOffset.enable\",Du=\"polygonOffset.offset\",Dc=\"sample.alpha\",Da=\"sample.enable\",eo=\"sample.coverage\",Jc=\"stencil.enable\",yc=\"stencil.mask\",_c=\"stencil.func\",le=\"stencil.opFront\",w=\"stencil.opBack\",B=\"scissor.enable\",Q=\"scissor.box\",ee=\"viewport\",se=\"profile\",qe=\"framebuffer\",je=\"vert\",it=\"frag\",yt=\"elements\",Ot=\"primitive\",Nt=\"count\",hr=\"offset\",Sr=\"instances\",he=\"vao\",be=\"Width\",Pe=\"Height\",Oe=qe+be,Je=qe+Pe,He=ee+be,et=ee+Pe,Mt=\"drawingBuffer\",Dt=Mt+be,Ut=Mt+Pe,tr=[Rs,Gs,_c,le,w,eo,ee,Q,Du],mr=34962,Rr=34963,zr=2884,Xr=3042,di=3024,Li=2960,Ci=2929,Qi=3089,Mn=32823,pa=32926,ea=32928,Ga=5126,To=35664,Wa=35665,co=35666,Ro=5124,Ds=35667,As=35668,yo=35669,po=35670,_l=35671,Hl=35672,Zu=35673,cu=35674,el=35675,au=35676,zc=35678,zl=35680,Fl=4,Z=1028,oe=1029,we=2304,Be=2305,Ue=32775,We=32776,wt=519,tt=7680,zt=0,or=1,lr=32774,Dr=513,Ir=36160,oi=36064,ui={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},qr={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},Kr={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},ii={cw:we,ccw:Be};function vi(At){return Array.isArray(At)||Or(At)||Nr(At)}function ci(At){return At.sort(function(Er,Wr){return Er===ee?-1:Wr===ee?1:Er<Wr?-1:1})}function Jr(At,Er,Wr,wi){this.thisDep=At,this.contextDep=Er,this.propDep=Wr,this.append=wi}function un(At){return At&&!(At.thisDep||At.contextDep||At.propDep)}function dn(At){return new Jr(!1,!1,!1,At)}function En(At,Er){var Wr=At.type;if(Wr===Cn){var wi=At.data.length;return new Jr(!0,wi>=1,wi>=2,Er)}else if(Wr===Xo){var Ui=At.data;return new Jr(Ui.thisDep,Ui.contextDep,Ui.propDep,Er)}else{if(Wr===Ts)return new Jr(!1,!1,!1,Er);if(Wr===Qo){for(var Oi=!1,Bi=!1,cn=!1,On=0;On<At.data.length;++On){var Bn=At.data[On];if(Bn.type===sn)cn=!0;else if(Bn.type===Ua)Bi=!0;else if(Bn.type===mo)Oi=!0;else if(Bn.type===Cn){Oi=!0;var yn=Bn.data;yn>=1&&(Bi=!0),yn>=2&&(cn=!0)}else Bn.type===Xo&&(Oi=Oi||Bn.data.thisDep,Bi=Bi||Bn.data.contextDep,cn=cn||Bn.data.propDep)}return new Jr(Oi,Bi,cn,Er)}else return new Jr(Wr===mo,Wr===Ua,Wr===sn,Er)}}var Nn=new Jr(!1,!1,!1,function(){});function ga(At,Er,Wr,wi,Ui,Oi,Bi,cn,On,Bn,yn,to,Rn,Dn,fn,Ai){var ji=Bn.Record,Ln={add:32774,subtract:32778,\"reverse subtract\":32779};Wr.ext_blend_minmax&&(Ln.min=Ue,Ln.max=We);var Un=Wr.angle_instanced_arrays,gn=Wr.webgl_draw_buffers,ca=Wr.oes_vertex_array_object,Kn={dirty:!0,profile:Ai.profile},Za={},wn=[],vn={},Aa={};function aa(vt){return vt.replace(\".\",\"_\")}function Xn(vt,Pt,Wt){var rr=aa(vt);wn.push(vt),Za[rr]=Kn[rr]=!!Wt,vn[rr]=Pt}function Vn(vt,Pt,Wt){var rr=aa(vt);wn.push(vt),Array.isArray(Wt)?(Kn[rr]=Wt.slice(),Za[rr]=Wt.slice()):Kn[rr]=Za[rr]=Wt,Aa[rr]=Pt}function ma(vt){return!!isNaN(vt)}Xn(ys,di),Xn(Bo,Xr),Vn(yl,\"blendColor\",[0,0,0,0]),Vn(Gs,\"blendEquationSeparate\",[lr,lr]),Vn(Rs,\"blendFuncSeparate\",[or,zt,or,zt]),Xn(ia,Ci,!0),Vn(Ka,\"depthFunc\",Dr),Vn(vs,\"depthRange\",[0,1]),Vn(Ko,\"depthMask\",!0),Vn(nu,nu,[!0,!0,!0,!0]),Xn(Ru,zr),Vn(ac,\"cullFace\",oe),Vn(mf,mf,Be),Vn(bu,bu,1),Xn(Kc,Mn),Vn(Du,\"polygonOffset\",[0,0]),Xn(Dc,pa),Xn(Da,ea),Vn(eo,\"sampleCoverage\",[1,!1]),Xn(Jc,Li),Vn(yc,\"stencilMask\",-1),Vn(_c,\"stencilFunc\",[wt,0,-1]),Vn(le,\"stencilOpSeparate\",[Z,tt,tt,tt]),Vn(w,\"stencilOpSeparate\",[oe,tt,tt,tt]),Xn(B,Qi),Vn(Q,\"scissor\",[0,0,At.drawingBufferWidth,At.drawingBufferHeight]),Vn(ee,ee,[0,0,At.drawingBufferWidth,At.drawingBufferHeight]);var ro={gl:At,context:Rn,strings:Er,next:Za,current:Kn,draw:to,elements:Oi,buffer:Ui,shader:yn,attributes:Bn.state,vao:Bn,uniforms:On,framebuffer:cn,extensions:Wr,timer:Dn,isBufferArgs:vi},Ao={primTypes:Ki,compareFuncs:qr,blendFuncs:ui,blendEquations:Ln,stencilOps:Kr,glTypes:bi,orientationType:ii};gn&&(Ao.backBuffer=[oe],Ao.drawBuffer=M(wi.maxDrawbuffers,function(vt){return vt===0?[0]:M(vt,function(Pt){return oi+Pt})}));var Jn=0;function Oa(){var vt=Pn({cache:fn}),Pt=vt.link,Wt=vt.global;vt.id=Jn++,vt.batchId=\"0\";var rr=Pt(ro),dr=vt.shared={props:\"a0\"};Object.keys(ro).forEach(function(Cr){dr[Cr]=Wt.def(rr,\".\",Cr)});var pr=vt.next={},kr=vt.current={};Object.keys(Aa).forEach(function(Cr){Array.isArray(Kn[Cr])&&(pr[Cr]=Wt.def(dr.next,\".\",Cr),kr[Cr]=Wt.def(dr.current,\".\",Cr))});var Ar=vt.constants={};Object.keys(Ao).forEach(function(Cr){Ar[Cr]=Wt.def(JSON.stringify(Ao[Cr]))}),vt.invoke=function(Cr,cr){switch(cr.type){case Cn:var Gr=[\"this\",dr.context,dr.props,vt.batchId];return Cr.def(Pt(cr.data),\".call(\",Gr.slice(0,Math.max(cr.data.length+1,4)),\")\");case sn:return Cr.def(dr.props,cr.data);case Ua:return Cr.def(dr.context,cr.data);case mo:return Cr.def(\"this\",cr.data);case Xo:return cr.data.append(vt,Cr),cr.data.ref;case Ts:return cr.data.toString();case Qo:return cr.data.map(function(ei){return vt.invoke(Cr,ei)})}},vt.attribCache={};var gr={};return vt.scopeAttrib=function(Cr){var cr=Er.id(Cr);if(cr in gr)return gr[cr];var Gr=Bn.scope[cr];Gr||(Gr=Bn.scope[cr]=new ji);var ei=gr[cr]=Pt(Gr);return ei},vt}function _o(vt){var Pt=vt.static,Wt=vt.dynamic,rr;if(se in Pt){var dr=!!Pt[se];rr=dn(function(kr,Ar){return dr}),rr.enable=dr}else if(se in Wt){var pr=Wt[se];rr=En(pr,function(kr,Ar){return kr.invoke(Ar,pr)})}return rr}function Po(vt,Pt){var Wt=vt.static,rr=vt.dynamic;if(qe in Wt){var dr=Wt[qe];return dr?(dr=cn.getFramebuffer(dr),dn(function(kr,Ar){var gr=kr.link(dr),Cr=kr.shared;Ar.set(Cr.framebuffer,\".next\",gr);var cr=Cr.context;return Ar.set(cr,\".\"+Oe,gr+\".width\"),Ar.set(cr,\".\"+Je,gr+\".height\"),gr})):dn(function(kr,Ar){var gr=kr.shared;Ar.set(gr.framebuffer,\".next\",\"null\");var Cr=gr.context;return Ar.set(Cr,\".\"+Oe,Cr+\".\"+Dt),Ar.set(Cr,\".\"+Je,Cr+\".\"+Ut),\"null\"})}else if(qe in rr){var pr=rr[qe];return En(pr,function(kr,Ar){var gr=kr.invoke(Ar,pr),Cr=kr.shared,cr=Cr.framebuffer,Gr=Ar.def(cr,\".getFramebuffer(\",gr,\")\");Ar.set(cr,\".next\",Gr);var ei=Cr.context;return Ar.set(ei,\".\"+Oe,Gr+\"?\"+Gr+\".width:\"+ei+\".\"+Dt),Ar.set(ei,\".\"+Je,Gr+\"?\"+Gr+\".height:\"+ei+\".\"+Ut),Gr})}else return null}function Jo(vt,Pt,Wt){var rr=vt.static,dr=vt.dynamic;function pr(gr){if(gr in rr){var Cr=rr[gr],cr=!0,Gr=Cr.x|0,ei=Cr.y|0,yi,tn;return\"width\"in Cr?yi=Cr.width|0:cr=!1,\"height\"in Cr?tn=Cr.height|0:cr=!1,new Jr(!cr&&Pt&&Pt.thisDep,!cr&&Pt&&Pt.contextDep,!cr&&Pt&&Pt.propDep,function(Qn,qn){var rn=Qn.shared.context,bn=yi;\"width\"in Cr||(bn=qn.def(rn,\".\",Oe,\"-\",Gr));var mn=tn;return\"height\"in Cr||(mn=qn.def(rn,\".\",Je,\"-\",ei)),[Gr,ei,bn,mn]})}else if(gr in dr){var Ri=dr[gr],ln=En(Ri,function(Qn,qn){var rn=Qn.invoke(qn,Ri),bn=Qn.shared.context,mn=qn.def(rn,\".x|0\"),Gn=qn.def(rn,\".y|0\"),da=qn.def('\"width\" in ',rn,\"?\",rn,\".width|0:\",\"(\",bn,\".\",Oe,\"-\",mn,\")\"),No=qn.def('\"height\" in ',rn,\"?\",rn,\".height|0:\",\"(\",bn,\".\",Je,\"-\",Gn,\")\");return[mn,Gn,da,No]});return Pt&&(ln.thisDep=ln.thisDep||Pt.thisDep,ln.contextDep=ln.contextDep||Pt.contextDep,ln.propDep=ln.propDep||Pt.propDep),ln}else return Pt?new Jr(Pt.thisDep,Pt.contextDep,Pt.propDep,function(Qn,qn){var rn=Qn.shared.context;return[0,0,qn.def(rn,\".\",Oe),qn.def(rn,\".\",Je)]}):null}var kr=pr(ee);if(kr){var Ar=kr;kr=new Jr(kr.thisDep,kr.contextDep,kr.propDep,function(gr,Cr){var cr=Ar.append(gr,Cr),Gr=gr.shared.context;return Cr.set(Gr,\".\"+He,cr[2]),Cr.set(Gr,\".\"+et,cr[3]),cr})}return{viewport:kr,scissor_box:pr(Q)}}function Yl(vt,Pt){var Wt=vt.static,rr=typeof Wt[it]==\"string\"&&typeof Wt[je]==\"string\";if(rr){if(Object.keys(Pt.dynamic).length>0)return null;var dr=Pt.static,pr=Object.keys(dr);if(pr.length>0&&typeof dr[pr[0]]==\"number\"){for(var kr=[],Ar=0;Ar<pr.length;++Ar)kr.push([dr[pr[Ar]]|0,pr[Ar]]);return kr}}return null}function $c(vt,Pt,Wt){var rr=vt.static,dr=vt.dynamic;function pr(cr){if(cr in rr){var Gr=Er.id(rr[cr]),ei=dn(function(){return Gr});return ei.id=Gr,ei}else if(cr in dr){var yi=dr[cr];return En(yi,function(tn,Ri){var ln=tn.invoke(Ri,yi),Qn=Ri.def(tn.shared.strings,\".id(\",ln,\")\");return Qn})}return null}var kr=pr(it),Ar=pr(je),gr=null,Cr;return un(kr)&&un(Ar)?(gr=yn.program(Ar.id,kr.id,null,Wt),Cr=dn(function(cr,Gr){return cr.link(gr)})):Cr=new Jr(kr&&kr.thisDep||Ar&&Ar.thisDep,kr&&kr.contextDep||Ar&&Ar.contextDep,kr&&kr.propDep||Ar&&Ar.propDep,function(cr,Gr){var ei=cr.shared.shader,yi;kr?yi=kr.append(cr,Gr):yi=Gr.def(ei,\".\",it);var tn;Ar?tn=Ar.append(cr,Gr):tn=Gr.def(ei,\".\",je);var Ri=ei+\".program(\"+tn+\",\"+yi;return Gr.def(Ri+\")\")}),{frag:kr,vert:Ar,progVar:Cr,program:gr}}function xs(vt,Pt){var Wt=vt.static,rr=vt.dynamic,dr={},pr=!1;function kr(){if(he in Wt){var qn=Wt[he];return qn!==null&&Bn.getVAO(qn)===null&&(qn=Bn.createVAO(qn)),pr=!0,dr.vao=qn,dn(function(bn){var mn=Bn.getVAO(qn);return mn?bn.link(mn):\"null\"})}else if(he in rr){pr=!0;var rn=rr[he];return En(rn,function(bn,mn){var Gn=bn.invoke(mn,rn);return mn.def(bn.shared.vao+\".getVAO(\"+Gn+\")\")})}return null}var Ar=kr(),gr=!1;function Cr(){if(yt in Wt){var qn=Wt[yt];if(dr.elements=qn,vi(qn)){var rn=dr.elements=Oi.create(qn,!0);qn=Oi.getElements(rn),gr=!0}else qn&&(qn=Oi.getElements(qn),gr=!0);var bn=dn(function(Gn,da){if(qn){var No=Gn.link(qn);return Gn.ELEMENTS=No,No}return Gn.ELEMENTS=null,null});return bn.value=qn,bn}else if(yt in rr){gr=!0;var mn=rr[yt];return En(mn,function(Gn,da){var No=Gn.shared,Do=No.isBufferArgs,ps=No.elements,fo=Gn.invoke(da,mn),as=da.def(\"null\"),tl=da.def(Do,\"(\",fo,\")\"),zu=Gn.cond(tl).then(as,\"=\",ps,\".createStream(\",fo,\");\").else(as,\"=\",ps,\".getElements(\",fo,\");\");return da.entry(zu),da.exit(Gn.cond(tl).then(ps,\".destroyStream(\",as,\");\")),Gn.ELEMENTS=as,as})}else if(pr)return new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(Gn,da){return da.def(Gn.shared.vao+\".currentVAO?\"+Gn.shared.elements+\".getElements(\"+Gn.shared.vao+\".currentVAO.elements):null\")});return null}var cr=Cr();function Gr(){if(Ot in Wt){var qn=Wt[Ot];return dr.primitive=qn,dn(function(bn,mn){return Ki[qn]})}else if(Ot in rr){var rn=rr[Ot];return En(rn,function(bn,mn){var Gn=bn.constants.primTypes,da=bn.invoke(mn,rn);return mn.def(Gn,\"[\",da,\"]\")})}else{if(gr)return un(cr)?cr.value?dn(function(bn,mn){return mn.def(bn.ELEMENTS,\".primType\")}):dn(function(){return Fl}):new Jr(cr.thisDep,cr.contextDep,cr.propDep,function(bn,mn){var Gn=bn.ELEMENTS;return mn.def(Gn,\"?\",Gn,\".primType:\",Fl)});if(pr)return new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(bn,mn){return mn.def(bn.shared.vao+\".currentVAO?\"+bn.shared.vao+\".currentVAO.primitive:\"+Fl)})}return null}function ei(qn,rn){if(qn in Wt){var bn=Wt[qn]|0;return rn?dr.offset=bn:dr.instances=bn,dn(function(Gn,da){return rn&&(Gn.OFFSET=bn),bn})}else if(qn in rr){var mn=rr[qn];return En(mn,function(Gn,da){var No=Gn.invoke(da,mn);return rn&&(Gn.OFFSET=No),No})}else if(rn){if(gr)return dn(function(Gn,da){return Gn.OFFSET=0,0});if(pr)return new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(Gn,da){return da.def(Gn.shared.vao+\".currentVAO?\"+Gn.shared.vao+\".currentVAO.offset:0\")})}else if(pr)return new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(Gn,da){return da.def(Gn.shared.vao+\".currentVAO?\"+Gn.shared.vao+\".currentVAO.instances:-1\")});return null}var yi=ei(hr,!0);function tn(){if(Nt in Wt){var qn=Wt[Nt]|0;return dr.count=qn,dn(function(){return qn})}else if(Nt in rr){var rn=rr[Nt];return En(rn,function(da,No){var Do=da.invoke(No,rn);return Do})}else if(gr)if(un(cr)){if(cr)return yi?new Jr(yi.thisDep,yi.contextDep,yi.propDep,function(da,No){var Do=No.def(da.ELEMENTS,\".vertCount-\",da.OFFSET);return Do}):dn(function(da,No){return No.def(da.ELEMENTS,\".vertCount\")});var bn=dn(function(){return-1});return bn}else{var mn=new Jr(cr.thisDep||yi.thisDep,cr.contextDep||yi.contextDep,cr.propDep||yi.propDep,function(da,No){var Do=da.ELEMENTS;return da.OFFSET?No.def(Do,\"?\",Do,\".vertCount-\",da.OFFSET,\":-1\"):No.def(Do,\"?\",Do,\".vertCount:-1\")});return mn}else if(pr){var Gn=new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(da,No){return No.def(da.shared.vao,\".currentVAO?\",da.shared.vao,\".currentVAO.count:-1\")});return Gn}return null}var Ri=Gr(),ln=tn(),Qn=ei(Sr,!1);return{elements:cr,primitive:Ri,count:ln,instances:Qn,offset:yi,vao:Ar,vaoActive:pr,elementsActive:gr,static:dr}}function Qc(vt,Pt){var Wt=vt.static,rr=vt.dynamic,dr={};return wn.forEach(function(pr){var kr=aa(pr);function Ar(gr,Cr){if(pr in Wt){var cr=gr(Wt[pr]);dr[kr]=dn(function(){return cr})}else if(pr in rr){var Gr=rr[pr];dr[kr]=En(Gr,function(ei,yi){return Cr(ei,yi,ei.invoke(yi,Gr))})}}switch(pr){case Ru:case Bo:case ys:case Jc:case ia:case B:case Kc:case Dc:case Da:case Ko:return Ar(function(gr){return gr},function(gr,Cr,cr){return cr});case Ka:return Ar(function(gr){return qr[gr]},function(gr,Cr,cr){var Gr=gr.constants.compareFuncs;return Cr.def(Gr,\"[\",cr,\"]\")});case vs:return Ar(function(gr){return gr},function(gr,Cr,cr){var Gr=Cr.def(\"+\",cr,\"[0]\"),ei=Cr.def(\"+\",cr,\"[1]\");return[Gr,ei]});case Rs:return Ar(function(gr){var Cr=\"srcRGB\"in gr?gr.srcRGB:gr.src,cr=\"srcAlpha\"in gr?gr.srcAlpha:gr.src,Gr=\"dstRGB\"in gr?gr.dstRGB:gr.dst,ei=\"dstAlpha\"in gr?gr.dstAlpha:gr.dst;return[ui[Cr],ui[Gr],ui[cr],ui[ei]]},function(gr,Cr,cr){var Gr=gr.constants.blendFuncs;function ei(rn,bn){var mn=Cr.def('\"',rn,bn,'\" in ',cr,\"?\",cr,\".\",rn,bn,\":\",cr,\".\",rn);return mn}var yi=ei(\"src\",\"RGB\"),tn=ei(\"dst\",\"RGB\"),Ri=Cr.def(Gr,\"[\",yi,\"]\"),ln=Cr.def(Gr,\"[\",ei(\"src\",\"Alpha\"),\"]\"),Qn=Cr.def(Gr,\"[\",tn,\"]\"),qn=Cr.def(Gr,\"[\",ei(\"dst\",\"Alpha\"),\"]\");return[Ri,Qn,ln,qn]});case Gs:return Ar(function(gr){if(typeof gr==\"string\")return[Ln[gr],Ln[gr]];if(typeof gr==\"object\")return[Ln[gr.rgb],Ln[gr.alpha]]},function(gr,Cr,cr){var Gr=gr.constants.blendEquations,ei=Cr.def(),yi=Cr.def(),tn=gr.cond(\"typeof \",cr,'===\"string\"');return tn.then(ei,\"=\",yi,\"=\",Gr,\"[\",cr,\"];\"),tn.else(ei,\"=\",Gr,\"[\",cr,\".rgb];\",yi,\"=\",Gr,\"[\",cr,\".alpha];\"),Cr(tn),[ei,yi]});case yl:return Ar(function(gr){return M(4,function(Cr){return+gr[Cr]})},function(gr,Cr,cr){return M(4,function(Gr){return Cr.def(\"+\",cr,\"[\",Gr,\"]\")})});case yc:return Ar(function(gr){return gr|0},function(gr,Cr,cr){return Cr.def(cr,\"|0\")});case _c:return Ar(function(gr){var Cr=gr.cmp||\"keep\",cr=gr.ref||0,Gr=\"mask\"in gr?gr.mask:-1;return[qr[Cr],cr,Gr]},function(gr,Cr,cr){var Gr=gr.constants.compareFuncs,ei=Cr.def('\"cmp\" in ',cr,\"?\",Gr,\"[\",cr,\".cmp]\",\":\",tt),yi=Cr.def(cr,\".ref|0\"),tn=Cr.def('\"mask\" in ',cr,\"?\",cr,\".mask|0:-1\");return[ei,yi,tn]});case le:case w:return Ar(function(gr){var Cr=gr.fail||\"keep\",cr=gr.zfail||\"keep\",Gr=gr.zpass||\"keep\";return[pr===w?oe:Z,Kr[Cr],Kr[cr],Kr[Gr]]},function(gr,Cr,cr){var Gr=gr.constants.stencilOps;function ei(yi){return Cr.def('\"',yi,'\" in ',cr,\"?\",Gr,\"[\",cr,\".\",yi,\"]:\",tt)}return[pr===w?oe:Z,ei(\"fail\"),ei(\"zfail\"),ei(\"zpass\")]});case Du:return Ar(function(gr){var Cr=gr.factor|0,cr=gr.units|0;return[Cr,cr]},function(gr,Cr,cr){var Gr=Cr.def(cr,\".factor|0\"),ei=Cr.def(cr,\".units|0\");return[Gr,ei]});case ac:return Ar(function(gr){var Cr=0;return gr===\"front\"?Cr=Z:gr===\"back\"&&(Cr=oe),Cr},function(gr,Cr,cr){return Cr.def(cr,'===\"front\"?',Z,\":\",oe)});case bu:return Ar(function(gr){return gr},function(gr,Cr,cr){return cr});case mf:return Ar(function(gr){return ii[gr]},function(gr,Cr,cr){return Cr.def(cr+'===\"cw\"?'+we+\":\"+Be)});case nu:return Ar(function(gr){return gr.map(function(Cr){return!!Cr})},function(gr,Cr,cr){return M(4,function(Gr){return\"!!\"+cr+\"[\"+Gr+\"]\"})});case eo:return Ar(function(gr){var Cr=\"value\"in gr?gr.value:1,cr=!!gr.invert;return[Cr,cr]},function(gr,Cr,cr){var Gr=Cr.def('\"value\" in ',cr,\"?+\",cr,\".value:1\"),ei=Cr.def(\"!!\",cr,\".invert\");return[Gr,ei]})}}),dr}function El(vt,Pt){var Wt=vt.static,rr=vt.dynamic,dr={};return Object.keys(Wt).forEach(function(pr){var kr=Wt[pr],Ar;if(typeof kr==\"number\"||typeof kr==\"boolean\")Ar=dn(function(){return kr});else if(typeof kr==\"function\"){var gr=kr._reglType;gr===\"texture2d\"||gr===\"textureCube\"?Ar=dn(function(Cr){return Cr.link(kr)}):(gr===\"framebuffer\"||gr===\"framebufferCube\")&&(Ar=dn(function(Cr){return Cr.link(kr.color[0])}))}else an(kr)&&(Ar=dn(function(Cr){var cr=Cr.global.def(\"[\",M(kr.length,function(Gr){return kr[Gr]}),\"]\");return cr}));Ar.value=kr,dr[pr]=Ar}),Object.keys(rr).forEach(function(pr){var kr=rr[pr];dr[pr]=En(kr,function(Ar,gr){return Ar.invoke(gr,kr)})}),dr}function bc(vt,Pt){var Wt=vt.static,rr=vt.dynamic,dr={};return Object.keys(Wt).forEach(function(pr){var kr=Wt[pr],Ar=Er.id(pr),gr=new ji;if(vi(kr))gr.state=Ea,gr.buffer=Ui.getBuffer(Ui.create(kr,mr,!1,!0)),gr.type=0;else{var Cr=Ui.getBuffer(kr);if(Cr)gr.state=Ea,gr.buffer=Cr,gr.type=0;else if(\"constant\"in kr){var cr=kr.constant;gr.buffer=\"null\",gr.state=qa,typeof cr==\"number\"?gr.x=cr:Ma.forEach(function(Qn,qn){qn<cr.length&&(gr[Qn]=cr[qn])})}else{vi(kr.buffer)?Cr=Ui.getBuffer(Ui.create(kr.buffer,mr,!1,!0)):Cr=Ui.getBuffer(kr.buffer);var Gr=kr.offset|0,ei=kr.stride|0,yi=kr.size|0,tn=!!kr.normalized,Ri=0;\"type\"in kr&&(Ri=bi[kr.type]);var ln=kr.divisor|0;gr.buffer=Cr,gr.state=Ea,gr.size=yi,gr.normalized=tn,gr.type=Ri||Cr.dtype,gr.offset=Gr,gr.stride=ei,gr.divisor=ln}}dr[pr]=dn(function(Qn,qn){var rn=Qn.attribCache;if(Ar in rn)return rn[Ar];var bn={isStream:!1};return Object.keys(gr).forEach(function(mn){bn[mn]=gr[mn]}),gr.buffer&&(bn.buffer=Qn.link(gr.buffer),bn.type=bn.type||bn.buffer+\".dtype\"),rn[Ar]=bn,bn})}),Object.keys(rr).forEach(function(pr){var kr=rr[pr];function Ar(gr,Cr){var cr=gr.invoke(Cr,kr),Gr=gr.shared,ei=gr.constants,yi=Gr.isBufferArgs,tn=Gr.buffer,Ri={isStream:Cr.def(!1)},ln=new ji;ln.state=Ea,Object.keys(ln).forEach(function(bn){Ri[bn]=Cr.def(\"\"+ln[bn])});var Qn=Ri.buffer,qn=Ri.type;Cr(\"if(\",yi,\"(\",cr,\")){\",Ri.isStream,\"=true;\",Qn,\"=\",tn,\".createStream(\",mr,\",\",cr,\");\",qn,\"=\",Qn,\".dtype;\",\"}else{\",Qn,\"=\",tn,\".getBuffer(\",cr,\");\",\"if(\",Qn,\"){\",qn,\"=\",Qn,\".dtype;\",'}else if(\"constant\" in ',cr,\"){\",Ri.state,\"=\",qa,\";\",\"if(typeof \"+cr+'.constant === \"number\"){',Ri[Ma[0]],\"=\",cr,\".constant;\",Ma.slice(1).map(function(bn){return Ri[bn]}).join(\"=\"),\"=0;\",\"}else{\",Ma.map(function(bn,mn){return Ri[bn]+\"=\"+cr+\".constant.length>\"+mn+\"?\"+cr+\".constant[\"+mn+\"]:0;\"}).join(\"\"),\"}}else{\",\"if(\",yi,\"(\",cr,\".buffer)){\",Qn,\"=\",tn,\".createStream(\",mr,\",\",cr,\".buffer);\",\"}else{\",Qn,\"=\",tn,\".getBuffer(\",cr,\".buffer);\",\"}\",qn,'=\"type\" in ',cr,\"?\",ei.glTypes,\"[\",cr,\".type]:\",Qn,\".dtype;\",Ri.normalized,\"=!!\",cr,\".normalized;\");function rn(bn){Cr(Ri[bn],\"=\",cr,\".\",bn,\"|0;\")}return rn(\"size\"),rn(\"offset\"),rn(\"stride\"),rn(\"divisor\"),Cr(\"}}\"),Cr.exit(\"if(\",Ri.isStream,\"){\",tn,\".destroyStream(\",Qn,\");\",\"}\"),Ri}dr[pr]=En(kr,Ar)}),dr}function wc(vt){var Pt=vt.static,Wt=vt.dynamic,rr={};return Object.keys(Pt).forEach(function(dr){var pr=Pt[dr];rr[dr]=dn(function(kr,Ar){return typeof pr==\"number\"||typeof pr==\"boolean\"?\"\"+pr:kr.link(pr)})}),Object.keys(Wt).forEach(function(dr){var pr=Wt[dr];rr[dr]=En(pr,function(kr,Ar){return kr.invoke(Ar,pr)})}),rr}function yf(vt,Pt,Wt,rr,dr){var pr=vt.static,kr=vt.dynamic,Ar=Yl(vt,Pt),gr=Po(vt,dr),Cr=Jo(vt,gr,dr),cr=xs(vt,dr),Gr=Qc(vt,dr),ei=$c(vt,dr,Ar);function yi(rn){var bn=Cr[rn];bn&&(Gr[rn]=bn)}yi(ee),yi(aa(Q));var tn=Object.keys(Gr).length>0,Ri={framebuffer:gr,draw:cr,shader:ei,state:Gr,dirty:tn,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(Ri.profile=_o(vt,dr),Ri.uniforms=El(Wt,dr),Ri.drawVAO=Ri.scopeVAO=cr.vao,!Ri.drawVAO&&ei.program&&!Ar&&Wr.angle_instanced_arrays&&cr.static.elements){var ln=!0,Qn=ei.program.attributes.map(function(rn){var bn=Pt.static[rn];return ln=ln&&!!bn,bn});if(ln&&Qn.length>0){var qn=Bn.getVAO(Bn.createVAO({attributes:Qn,elements:cr.static.elements}));Ri.drawVAO=new Jr(null,null,null,function(rn,bn){return rn.link(qn)}),Ri.useVAO=!0}}return Ar?Ri.useVAO=!0:Ri.attributes=bc(Pt,dr),Ri.context=wc(rr,dr),Ri}function Gl(vt,Pt,Wt){var rr=vt.shared,dr=rr.context,pr=vt.scope();Object.keys(Wt).forEach(function(kr){Pt.save(dr,\".\"+kr);var Ar=Wt[kr],gr=Ar.append(vt,Pt);Array.isArray(gr)?pr(dr,\".\",kr,\"=[\",gr.join(),\"];\"):pr(dr,\".\",kr,\"=\",gr,\";\")}),Pt(pr)}function Fc(vt,Pt,Wt,rr){var dr=vt.shared,pr=dr.gl,kr=dr.framebuffer,Ar;gn&&(Ar=Pt.def(dr.extensions,\".webgl_draw_buffers\"));var gr=vt.constants,Cr=gr.drawBuffer,cr=gr.backBuffer,Gr;Wt?Gr=Wt.append(vt,Pt):Gr=Pt.def(kr,\".next\"),rr||Pt(\"if(\",Gr,\"!==\",kr,\".cur){\"),Pt(\"if(\",Gr,\"){\",pr,\".bindFramebuffer(\",Ir,\",\",Gr,\".framebuffer);\"),gn&&Pt(Ar,\".drawBuffersWEBGL(\",Cr,\"[\",Gr,\".colorAttachments.length]);\"),Pt(\"}else{\",pr,\".bindFramebuffer(\",Ir,\",null);\"),gn&&Pt(Ar,\".drawBuffersWEBGL(\",cr,\");\"),Pt(\"}\",kr,\".cur=\",Gr,\";\"),rr||Pt(\"}\")}function ef(vt,Pt,Wt){var rr=vt.shared,dr=rr.gl,pr=vt.current,kr=vt.next,Ar=rr.current,gr=rr.next,Cr=vt.cond(Ar,\".dirty\");wn.forEach(function(cr){var Gr=aa(cr);if(!(Gr in Wt.state)){var ei,yi;if(Gr in kr){ei=kr[Gr],yi=pr[Gr];var tn=M(Kn[Gr].length,function(ln){return Cr.def(ei,\"[\",ln,\"]\")});Cr(vt.cond(tn.map(function(ln,Qn){return ln+\"!==\"+yi+\"[\"+Qn+\"]\"}).join(\"||\")).then(dr,\".\",Aa[Gr],\"(\",tn,\");\",tn.map(function(ln,Qn){return yi+\"[\"+Qn+\"]=\"+ln}).join(\";\"),\";\"))}else{ei=Cr.def(gr,\".\",Gr);var Ri=vt.cond(ei,\"!==\",Ar,\".\",Gr);Cr(Ri),Gr in vn?Ri(vt.cond(ei).then(dr,\".enable(\",vn[Gr],\");\").else(dr,\".disable(\",vn[Gr],\");\"),Ar,\".\",Gr,\"=\",ei,\";\"):Ri(dr,\".\",Aa[Gr],\"(\",ei,\");\",Ar,\".\",Gr,\"=\",ei,\";\")}}}),Object.keys(Wt.state).length===0&&Cr(Ar,\".dirty=false;\"),Pt(Cr)}function ls(vt,Pt,Wt,rr){var dr=vt.shared,pr=vt.current,kr=dr.current,Ar=dr.gl,gr;ci(Object.keys(Wt)).forEach(function(Cr){var cr=Wt[Cr];if(!(rr&&!rr(cr))){var Gr=cr.append(vt,Pt);if(vn[Cr]){var ei=vn[Cr];un(cr)?(gr=vt.link(Gr,{stable:!0}),Pt(vt.cond(gr).then(Ar,\".enable(\",ei,\");\").else(Ar,\".disable(\",ei,\");\")),Pt(kr,\".\",Cr,\"=\",gr,\";\")):(Pt(vt.cond(Gr).then(Ar,\".enable(\",ei,\");\").else(Ar,\".disable(\",ei,\");\")),Pt(kr,\".\",Cr,\"=\",Gr,\";\"))}else if(an(Gr)){var yi=pr[Cr];Pt(Ar,\".\",Aa[Cr],\"(\",Gr,\");\",Gr.map(function(tn,Ri){return yi+\"[\"+Ri+\"]=\"+tn}).join(\";\"),\";\")}else un(cr)?(gr=vt.link(Gr,{stable:!0}),Pt(Ar,\".\",Aa[Cr],\"(\",gr,\");\",kr,\".\",Cr,\"=\",gr,\";\")):Pt(Ar,\".\",Aa[Cr],\"(\",Gr,\");\",kr,\".\",Cr,\"=\",Gr,\";\")}})}function _f(vt,Pt){Un&&(vt.instancing=Pt.def(vt.shared.extensions,\".angle_instanced_arrays\"))}function ns(vt,Pt,Wt,rr,dr){var pr=vt.shared,kr=vt.stats,Ar=pr.current,gr=pr.timer,Cr=Wt.profile;function cr(){return typeof performance==\"undefined\"?\"Date.now()\":\"performance.now()\"}var Gr,ei;function yi(rn){Gr=Pt.def(),rn(Gr,\"=\",cr(),\";\"),typeof dr==\"string\"?rn(kr,\".count+=\",dr,\";\"):rn(kr,\".count++;\"),Dn&&(rr?(ei=Pt.def(),rn(ei,\"=\",gr,\".getNumPendingQueries();\")):rn(gr,\".beginQuery(\",kr,\");\"))}function tn(rn){rn(kr,\".cpuTime+=\",cr(),\"-\",Gr,\";\"),Dn&&(rr?rn(gr,\".pushScopeStats(\",ei,\",\",gr,\".getNumPendingQueries(),\",kr,\");\"):rn(gr,\".endQuery();\"))}function Ri(rn){var bn=Pt.def(Ar,\".profile\");Pt(Ar,\".profile=\",rn,\";\"),Pt.exit(Ar,\".profile=\",bn,\";\")}var ln;if(Cr){if(un(Cr)){Cr.enable?(yi(Pt),tn(Pt.exit),Ri(\"true\")):Ri(\"false\");return}ln=Cr.append(vt,Pt),Ri(ln)}else ln=Pt.def(Ar,\".profile\");var Qn=vt.block();yi(Qn),Pt(\"if(\",ln,\"){\",Qn,\"}\");var qn=vt.block();tn(qn),Pt.exit(\"if(\",ln,\"){\",qn,\"}\")}function Y(vt,Pt,Wt,rr,dr){var pr=vt.shared;function kr(gr){switch(gr){case To:case Ds:case _l:return 2;case Wa:case As:case Hl:return 3;case co:case yo:case Zu:return 4;default:return 1}}function Ar(gr,Cr,cr){var Gr=pr.gl,ei=Pt.def(gr,\".location\"),yi=Pt.def(pr.attributes,\"[\",ei,\"]\"),tn=cr.state,Ri=cr.buffer,ln=[cr.x,cr.y,cr.z,cr.w],Qn=[\"buffer\",\"normalized\",\"offset\",\"stride\"];function qn(){Pt(\"if(!\",yi,\".buffer){\",Gr,\".enableVertexAttribArray(\",ei,\");}\");var bn=cr.type,mn;if(cr.size?mn=Pt.def(cr.size,\"||\",Cr):mn=Cr,Pt(\"if(\",yi,\".type!==\",bn,\"||\",yi,\".size!==\",mn,\"||\",Qn.map(function(da){return yi+\".\"+da+\"!==\"+cr[da]}).join(\"||\"),\"){\",Gr,\".bindBuffer(\",mr,\",\",Ri,\".buffer);\",Gr,\".vertexAttribPointer(\",[ei,mn,bn,cr.normalized,cr.stride,cr.offset],\");\",yi,\".type=\",bn,\";\",yi,\".size=\",mn,\";\",Qn.map(function(da){return yi+\".\"+da+\"=\"+cr[da]+\";\"}).join(\"\"),\"}\"),Un){var Gn=cr.divisor;Pt(\"if(\",yi,\".divisor!==\",Gn,\"){\",vt.instancing,\".vertexAttribDivisorANGLE(\",[ei,Gn],\");\",yi,\".divisor=\",Gn,\";}\")}}function rn(){Pt(\"if(\",yi,\".buffer){\",Gr,\".disableVertexAttribArray(\",ei,\");\",yi,\".buffer=null;\",\"}if(\",Ma.map(function(bn,mn){return yi+\".\"+bn+\"!==\"+ln[mn]}).join(\"||\"),\"){\",Gr,\".vertexAttrib4f(\",ei,\",\",ln,\");\",Ma.map(function(bn,mn){return yi+\".\"+bn+\"=\"+ln[mn]+\";\"}).join(\"\"),\"}\")}tn===Ea?qn():tn===qa?rn():(Pt(\"if(\",tn,\"===\",Ea,\"){\"),qn(),Pt(\"}else{\"),rn(),Pt(\"}\"))}rr.forEach(function(gr){var Cr=gr.name,cr=Wt.attributes[Cr],Gr;if(cr){if(!dr(cr))return;Gr=cr.append(vt,Pt)}else{if(!dr(Nn))return;var ei=vt.scopeAttrib(Cr);Gr={},Object.keys(new ji).forEach(function(yi){Gr[yi]=Pt.def(ei,\".\",yi)})}Ar(vt.link(gr),kr(gr.info.type),Gr)})}function z(vt,Pt,Wt,rr,dr,pr){for(var kr=vt.shared,Ar=kr.gl,gr,Cr=0;Cr<rr.length;++Cr){var cr=rr[Cr],Gr=cr.name,ei=cr.info.type,yi=Wt.uniforms[Gr],tn=vt.link(cr),Ri=tn+\".location\",ln;if(yi){if(!dr(yi))continue;if(un(yi)){var Qn=yi.value;if(ei===zc||ei===zl){var qn=vt.link(Qn._texture||Qn.color[0]._texture);Pt(Ar,\".uniform1i(\",Ri,\",\",qn+\".bind());\"),Pt.exit(qn,\".unbind();\")}else if(ei===cu||ei===el||ei===au){var rn=vt.global.def(\"new Float32Array([\"+Array.prototype.slice.call(Qn)+\"])\"),bn=2;ei===el?bn=3:ei===au&&(bn=4),Pt(Ar,\".uniformMatrix\",bn,\"fv(\",Ri,\",false,\",rn,\");\")}else{switch(ei){case Ga:gr=\"1f\";break;case To:gr=\"2f\";break;case Wa:gr=\"3f\";break;case co:gr=\"4f\";break;case po:gr=\"1i\";break;case Ro:gr=\"1i\";break;case _l:gr=\"2i\";break;case Ds:gr=\"2i\";break;case Hl:gr=\"3i\";break;case As:gr=\"3i\";break;case Zu:gr=\"4i\";break;case yo:gr=\"4i\";break}Pt(Ar,\".uniform\",gr,\"(\",Ri,\",\",an(Qn)?Array.prototype.slice.call(Qn):Qn,\");\")}continue}else ln=yi.append(vt,Pt)}else{if(!dr(Nn))continue;ln=Pt.def(kr.uniforms,\"[\",Er.id(Gr),\"]\")}ei===zc?Pt(\"if(\",ln,\"&&\",ln,'._reglType===\"framebuffer\"){',ln,\"=\",ln,\".color[0];\",\"}\"):ei===zl&&Pt(\"if(\",ln,\"&&\",ln,'._reglType===\"framebufferCube\"){',ln,\"=\",ln,\".color[0];\",\"}\");var mn=1;switch(ei){case zc:case zl:var Gn=Pt.def(ln,\"._texture\");Pt(Ar,\".uniform1i(\",Ri,\",\",Gn,\".bind());\"),Pt.exit(Gn,\".unbind();\");continue;case Ro:case po:gr=\"1i\";break;case Ds:case _l:gr=\"2i\",mn=2;break;case As:case Hl:gr=\"3i\",mn=3;break;case yo:case Zu:gr=\"4i\",mn=4;break;case Ga:gr=\"1f\";break;case To:gr=\"2f\",mn=2;break;case Wa:gr=\"3f\",mn=3;break;case co:gr=\"4f\",mn=4;break;case cu:gr=\"Matrix2fv\";break;case el:gr=\"Matrix3fv\";break;case au:gr=\"Matrix4fv\";break}if(gr.charAt(0)===\"M\"){Pt(Ar,\".uniform\",gr,\"(\",Ri,\",\");var da=Math.pow(ei-cu+2,2),No=vt.global.def(\"new Float32Array(\",da,\")\");Array.isArray(ln)?Pt(\"false,(\",M(da,function(tl){return No+\"[\"+tl+\"]=\"+ln[tl]}),\",\",No,\")\"):Pt(\"false,(Array.isArray(\",ln,\")||\",ln,\" instanceof Float32Array)?\",ln,\":(\",M(da,function(tl){return No+\"[\"+tl+\"]=\"+ln+\"[\"+tl+\"]\"}),\",\",No,\")\"),Pt(\");\")}else if(mn>1){for(var Do=[],ps=[],fo=0;fo<mn;++fo)Array.isArray(ln)?ps.push(ln[fo]):ps.push(Pt.def(ln+\"[\"+fo+\"]\")),pr&&Do.push(Pt.def());pr&&Pt(\"if(!\",vt.batchId,\"||\",Do.map(function(tl,zu){return tl+\"!==\"+ps[zu]}).join(\"||\"),\"){\",Do.map(function(tl,zu){return tl+\"=\"+ps[zu]+\";\"}).join(\"\")),Pt(Ar,\".uniform\",gr,\"(\",Ri,\",\",ps.join(\",\"),\");\"),pr&&Pt(\"}\")}else{if(pr){var as=Pt.def();Pt(\"if(!\",vt.batchId,\"||\",as,\"!==\",ln,\"){\",as,\"=\",ln,\";\")}Pt(Ar,\".uniform\",gr,\"(\",Ri,\",\",ln,\");\"),pr&&Pt(\"}\")}}}function K(vt,Pt,Wt,rr){var dr=vt.shared,pr=dr.gl,kr=dr.draw,Ar=rr.draw;function gr(){var mn=Ar.elements,Gn,da=Pt;return mn?((mn.contextDep&&rr.contextDynamic||mn.propDep)&&(da=Wt),Gn=mn.append(vt,da),Ar.elementsActive&&da(\"if(\"+Gn+\")\"+pr+\".bindBuffer(\"+Rr+\",\"+Gn+\".buffer.buffer);\")):(Gn=da.def(),da(Gn,\"=\",kr,\".\",yt,\";\",\"if(\",Gn,\"){\",pr,\".bindBuffer(\",Rr,\",\",Gn,\".buffer.buffer);}\",\"else if(\",dr.vao,\".currentVAO){\",Gn,\"=\",vt.shared.elements+\".getElements(\"+dr.vao,\".currentVAO.elements);\",ca?\"\":\"if(\"+Gn+\")\"+pr+\".bindBuffer(\"+Rr+\",\"+Gn+\".buffer.buffer);\",\"}\")),Gn}function Cr(){var mn=Ar.count,Gn,da=Pt;return mn?((mn.contextDep&&rr.contextDynamic||mn.propDep)&&(da=Wt),Gn=mn.append(vt,da)):Gn=da.def(kr,\".\",Nt),Gn}var cr=gr();function Gr(mn){var Gn=Ar[mn];return Gn?Gn.contextDep&&rr.contextDynamic||Gn.propDep?Gn.append(vt,Wt):Gn.append(vt,Pt):Pt.def(kr,\".\",mn)}var ei=Gr(Ot),yi=Gr(hr),tn=Cr();if(typeof tn==\"number\"){if(tn===0)return}else Wt(\"if(\",tn,\"){\"),Wt.exit(\"}\");var Ri,ln;Un&&(Ri=Gr(Sr),ln=vt.instancing);var Qn=cr+\".type\",qn=Ar.elements&&un(Ar.elements)&&!Ar.vaoActive;function rn(){function mn(){Wt(ln,\".drawElementsInstancedANGLE(\",[ei,tn,Qn,yi+\"<<((\"+Qn+\"-\"+Ta+\")>>1)\",Ri],\");\")}function Gn(){Wt(ln,\".drawArraysInstancedANGLE(\",[ei,yi,tn,Ri],\");\")}cr&&cr!==\"null\"?qn?mn():(Wt(\"if(\",cr,\"){\"),mn(),Wt(\"}else{\"),Gn(),Wt(\"}\")):Gn()}function bn(){function mn(){Wt(pr+\".drawElements(\"+[ei,tn,Qn,yi+\"<<((\"+Qn+\"-\"+Ta+\")>>1)\"]+\");\")}function Gn(){Wt(pr+\".drawArrays(\"+[ei,yi,tn]+\");\")}cr&&cr!==\"null\"?qn?mn():(Wt(\"if(\",cr,\"){\"),mn(),Wt(\"}else{\"),Gn(),Wt(\"}\")):Gn()}Un&&(typeof Ri!=\"number\"||Ri>=0)?typeof Ri==\"string\"?(Wt(\"if(\",Ri,\">0){\"),rn(),Wt(\"}else if(\",Ri,\"<0){\"),bn(),Wt(\"}\")):rn():bn()}function O(vt,Pt,Wt,rr,dr){var pr=Oa(),kr=pr.proc(\"body\",dr);return Un&&(pr.instancing=kr.def(pr.shared.extensions,\".angle_instanced_arrays\")),vt(pr,kr,Wt,rr),pr.compile().body}function $(vt,Pt,Wt,rr){_f(vt,Pt),Wt.useVAO?Wt.drawVAO?Pt(vt.shared.vao,\".setVAO(\",Wt.drawVAO.append(vt,Pt),\");\"):Pt(vt.shared.vao,\".setVAO(\",vt.shared.vao,\".targetVAO);\"):(Pt(vt.shared.vao,\".setVAO(null);\"),Y(vt,Pt,Wt,rr.attributes,function(){return!0})),z(vt,Pt,Wt,rr.uniforms,function(){return!0},!1),K(vt,Pt,Pt,Wt)}function pe(vt,Pt){var Wt=vt.proc(\"draw\",1);_f(vt,Wt),Gl(vt,Wt,Pt.context),Fc(vt,Wt,Pt.framebuffer),ef(vt,Wt,Pt),ls(vt,Wt,Pt.state),ns(vt,Wt,Pt,!1,!0);var rr=Pt.shader.progVar.append(vt,Wt);if(Wt(vt.shared.gl,\".useProgram(\",rr,\".program);\"),Pt.shader.program)$(vt,Wt,Pt,Pt.shader.program);else{Wt(vt.shared.vao,\".setVAO(null);\");var dr=vt.global.def(\"{}\"),pr=Wt.def(rr,\".id\"),kr=Wt.def(dr,\"[\",pr,\"]\");Wt(vt.cond(kr).then(kr,\".call(this,a0);\").else(kr,\"=\",dr,\"[\",pr,\"]=\",vt.link(function(Ar){return O($,vt,Pt,Ar,1)}),\"(\",rr,\");\",kr,\".call(this,a0);\"))}Object.keys(Pt.state).length>0&&Wt(vt.shared.current,\".dirty=true;\"),vt.shared.vao&&Wt(vt.shared.vao,\".setVAO(null);\")}function de(vt,Pt,Wt,rr){vt.batchId=\"a1\",_f(vt,Pt);function dr(){return!0}Y(vt,Pt,Wt,rr.attributes,dr),z(vt,Pt,Wt,rr.uniforms,dr,!1),K(vt,Pt,Pt,Wt)}function Ie(vt,Pt,Wt,rr){_f(vt,Pt);var dr=Wt.contextDep,pr=Pt.def(),kr=\"a0\",Ar=\"a1\",gr=Pt.def();vt.shared.props=gr,vt.batchId=pr;var Cr=vt.scope(),cr=vt.scope();Pt(Cr.entry,\"for(\",pr,\"=0;\",pr,\"<\",Ar,\";++\",pr,\"){\",gr,\"=\",kr,\"[\",pr,\"];\",cr,\"}\",Cr.exit);function Gr(Qn){return Qn.contextDep&&dr||Qn.propDep}function ei(Qn){return!Gr(Qn)}if(Wt.needsContext&&Gl(vt,cr,Wt.context),Wt.needsFramebuffer&&Fc(vt,cr,Wt.framebuffer),ls(vt,cr,Wt.state,Gr),Wt.profile&&Gr(Wt.profile)&&ns(vt,cr,Wt,!1,!0),rr)Wt.useVAO?Wt.drawVAO?Gr(Wt.drawVAO)?cr(vt.shared.vao,\".setVAO(\",Wt.drawVAO.append(vt,cr),\");\"):Cr(vt.shared.vao,\".setVAO(\",Wt.drawVAO.append(vt,Cr),\");\"):Cr(vt.shared.vao,\".setVAO(\",vt.shared.vao,\".targetVAO);\"):(Cr(vt.shared.vao,\".setVAO(null);\"),Y(vt,Cr,Wt,rr.attributes,ei),Y(vt,cr,Wt,rr.attributes,Gr)),z(vt,Cr,Wt,rr.uniforms,ei,!1),z(vt,cr,Wt,rr.uniforms,Gr,!0),K(vt,Cr,cr,Wt);else{var yi=vt.global.def(\"{}\"),tn=Wt.shader.progVar.append(vt,cr),Ri=cr.def(tn,\".id\"),ln=cr.def(yi,\"[\",Ri,\"]\");cr(vt.shared.gl,\".useProgram(\",tn,\".program);\",\"if(!\",ln,\"){\",ln,\"=\",yi,\"[\",Ri,\"]=\",vt.link(function(Qn){return O(de,vt,Wt,Qn,2)}),\"(\",tn,\");}\",ln,\".call(this,a0[\",pr,\"],\",pr,\");\")}}function $e(vt,Pt){var Wt=vt.proc(\"batch\",2);vt.batchId=\"0\",_f(vt,Wt);var rr=!1,dr=!0;Object.keys(Pt.context).forEach(function(yi){rr=rr||Pt.context[yi].propDep}),rr||(Gl(vt,Wt,Pt.context),dr=!1);var pr=Pt.framebuffer,kr=!1;pr?(pr.propDep?rr=kr=!0:pr.contextDep&&rr&&(kr=!0),kr||Fc(vt,Wt,pr)):Fc(vt,Wt,null),Pt.state.viewport&&Pt.state.viewport.propDep&&(rr=!0);function Ar(yi){return yi.contextDep&&rr||yi.propDep}ef(vt,Wt,Pt),ls(vt,Wt,Pt.state,function(yi){return!Ar(yi)}),(!Pt.profile||!Ar(Pt.profile))&&ns(vt,Wt,Pt,!1,\"a1\"),Pt.contextDep=rr,Pt.needsContext=dr,Pt.needsFramebuffer=kr;var gr=Pt.shader.progVar;if(gr.contextDep&&rr||gr.propDep)Ie(vt,Wt,Pt,null);else{var Cr=gr.append(vt,Wt);if(Wt(vt.shared.gl,\".useProgram(\",Cr,\".program);\"),Pt.shader.program)Ie(vt,Wt,Pt,Pt.shader.program);else{Wt(vt.shared.vao,\".setVAO(null);\");var cr=vt.global.def(\"{}\"),Gr=Wt.def(Cr,\".id\"),ei=Wt.def(cr,\"[\",Gr,\"]\");Wt(vt.cond(ei).then(ei,\".call(this,a0,a1);\").else(ei,\"=\",cr,\"[\",Gr,\"]=\",vt.link(function(yi){return O(Ie,vt,Pt,yi,2)}),\"(\",Cr,\");\",ei,\".call(this,a0,a1);\"))}}Object.keys(Pt.state).length>0&&Wt(vt.shared.current,\".dirty=true;\"),vt.shared.vao&&Wt(vt.shared.vao,\".setVAO(null);\")}function pt(vt,Pt){var Wt=vt.proc(\"scope\",3);vt.batchId=\"a2\";var rr=vt.shared,dr=rr.current;if(Gl(vt,Wt,Pt.context),Pt.framebuffer&&Pt.framebuffer.append(vt,Wt),ci(Object.keys(Pt.state)).forEach(function(Ar){var gr=Pt.state[Ar],Cr=gr.append(vt,Wt);an(Cr)?Cr.forEach(function(cr,Gr){ma(cr)?Wt.set(vt.next[Ar],\"[\"+Gr+\"]\",cr):Wt.set(vt.next[Ar],\"[\"+Gr+\"]\",vt.link(cr,{stable:!0}))}):un(gr)?Wt.set(rr.next,\".\"+Ar,vt.link(Cr,{stable:!0})):Wt.set(rr.next,\".\"+Ar,Cr)}),ns(vt,Wt,Pt,!0,!0),[yt,hr,Nt,Sr,Ot].forEach(function(Ar){var gr=Pt.draw[Ar];if(gr){var Cr=gr.append(vt,Wt);ma(Cr)?Wt.set(rr.draw,\".\"+Ar,Cr):Wt.set(rr.draw,\".\"+Ar,vt.link(Cr),{stable:!0})}}),Object.keys(Pt.uniforms).forEach(function(Ar){var gr=Pt.uniforms[Ar].append(vt,Wt);Array.isArray(gr)&&(gr=\"[\"+gr.map(function(Cr){return ma(Cr)?Cr:vt.link(Cr,{stable:!0})})+\"]\"),Wt.set(rr.uniforms,\"[\"+vt.link(Er.id(Ar),{stable:!0})+\"]\",gr)}),Object.keys(Pt.attributes).forEach(function(Ar){var gr=Pt.attributes[Ar].append(vt,Wt),Cr=vt.scopeAttrib(Ar);Object.keys(new ji).forEach(function(cr){Wt.set(Cr,\".\"+cr,gr[cr])})}),Pt.scopeVAO){var pr=Pt.scopeVAO.append(vt,Wt);ma(pr)?Wt.set(rr.vao,\".targetVAO\",pr):Wt.set(rr.vao,\".targetVAO\",vt.link(pr,{stable:!0}))}function kr(Ar){var gr=Pt.shader[Ar];if(gr){var Cr=gr.append(vt,Wt);ma(Cr)?Wt.set(rr.shader,\".\"+Ar,Cr):Wt.set(rr.shader,\".\"+Ar,vt.link(Cr,{stable:!0}))}}kr(je),kr(it),Object.keys(Pt.state).length>0&&(Wt(dr,\".dirty=true;\"),Wt.exit(dr,\".dirty=true;\")),Wt(\"a1(\",vt.shared.context,\",a0,\",vt.batchId,\");\")}function Kt(vt){if(!(typeof vt!=\"object\"||an(vt))){for(var Pt=Object.keys(vt),Wt=0;Wt<Pt.length;++Wt)if(h.isDynamic(vt[Pt[Wt]]))return!0;return!1}}function ir(vt,Pt,Wt){var rr=Pt.static[Wt];if(!rr||!Kt(rr))return;var dr=vt.global,pr=Object.keys(rr),kr=!1,Ar=!1,gr=!1,Cr=vt.global.def(\"{}\");pr.forEach(function(Gr){var ei=rr[Gr];if(h.isDynamic(ei)){typeof ei==\"function\"&&(ei=rr[Gr]=h.unbox(ei));var yi=En(ei,null);kr=kr||yi.thisDep,gr=gr||yi.propDep,Ar=Ar||yi.contextDep}else{switch(dr(Cr,\".\",Gr,\"=\"),typeof ei){case\"number\":dr(ei);break;case\"string\":dr('\"',ei,'\"');break;case\"object\":Array.isArray(ei)&&dr(\"[\",ei.join(),\"]\");break;default:dr(vt.link(ei));break}dr(\";\")}});function cr(Gr,ei){pr.forEach(function(yi){var tn=rr[yi];if(h.isDynamic(tn)){var Ri=Gr.invoke(ei,tn);ei(Cr,\".\",yi,\"=\",Ri,\";\")}})}Pt.dynamic[Wt]=new h.DynamicVariable(Xo,{thisDep:kr,contextDep:Ar,propDep:gr,ref:Cr,append:cr}),delete Pt.static[Wt]}function Jt(vt,Pt,Wt,rr,dr){var pr=Oa();pr.stats=pr.link(dr),Object.keys(Pt.static).forEach(function(Ar){ir(pr,Pt,Ar)}),tr.forEach(function(Ar){ir(pr,vt,Ar)});var kr=yf(vt,Pt,Wt,rr,pr);return kr.shader.program&&(kr.shader.program.attributes.sort(function(Ar,gr){return Ar.name<gr.name?-1:1}),kr.shader.program.uniforms.sort(function(Ar,gr){return Ar.name<gr.name?-1:1})),pe(pr,kr),pt(pr,kr),$e(pr,kr),e(pr.compile(),{destroy:function(){kr.shader.program.destroy()}})}return{next:Za,current:Kn,procs:function(){var vt=Oa(),Pt=vt.proc(\"poll\"),Wt=vt.proc(\"refresh\"),rr=vt.block();Pt(rr),Wt(rr);var dr=vt.shared,pr=dr.gl,kr=dr.next,Ar=dr.current;rr(Ar,\".dirty=false;\"),Fc(vt,Pt),Fc(vt,Wt,null,!0);var gr;Un&&(gr=vt.link(Un)),Wr.oes_vertex_array_object&&Wt(vt.link(Wr.oes_vertex_array_object),\".bindVertexArrayOES(null);\");var Cr=Wt.def(dr.attributes),cr=Wt.def(0),Gr=vt.cond(cr,\".buffer\");Gr.then(pr,\".enableVertexAttribArray(i);\",pr,\".bindBuffer(\",mr,\",\",cr,\".buffer.buffer);\",pr,\".vertexAttribPointer(i,\",cr,\".size,\",cr,\".type,\",cr,\".normalized,\",cr,\".stride,\",cr,\".offset);\").else(pr,\".disableVertexAttribArray(i);\",pr,\".vertexAttrib4f(i,\",cr,\".x,\",cr,\".y,\",cr,\".z,\",cr,\".w);\",cr,\".buffer=null;\");var ei=vt.link(wi.maxAttributes,{stable:!0});return Wt(\"for(var i=0;i<\",ei,\";++i){\",cr,\"=\",Cr,\"[i];\",Gr,\"}\"),Un&&Wt(\"for(var i=0;i<\",ei,\";++i){\",gr,\".vertexAttribDivisorANGLE(i,\",Cr,\"[i].divisor);\",\"}\"),Wt(vt.shared.vao,\".currentVAO=null;\",vt.shared.vao,\".setVAO(\",vt.shared.vao,\".targetVAO);\"),Object.keys(vn).forEach(function(yi){var tn=vn[yi],Ri=rr.def(kr,\".\",yi),ln=vt.block();ln(\"if(\",Ri,\"){\",pr,\".enable(\",tn,\")}else{\",pr,\".disable(\",tn,\")}\",Ar,\".\",yi,\"=\",Ri,\";\"),Wt(ln),Pt(\"if(\",Ri,\"!==\",Ar,\".\",yi,\"){\",ln,\"}\")}),Object.keys(Aa).forEach(function(yi){var tn=Aa[yi],Ri=Kn[yi],ln,Qn,qn=vt.block();if(qn(pr,\".\",tn,\"(\"),an(Ri)){var rn=Ri.length;ln=vt.global.def(kr,\".\",yi),Qn=vt.global.def(Ar,\".\",yi),qn(M(rn,function(bn){return ln+\"[\"+bn+\"]\"}),\");\",M(rn,function(bn){return Qn+\"[\"+bn+\"]=\"+ln+\"[\"+bn+\"];\"}).join(\"\")),Pt(\"if(\",M(rn,function(bn){return ln+\"[\"+bn+\"]!==\"+Qn+\"[\"+bn+\"]\"}).join(\"||\"),\"){\",qn,\"}\")}else ln=rr.def(kr,\".\",yi),Qn=rr.def(Ar,\".\",yi),qn(ln,\");\",Ar,\".\",yi,\"=\",ln,\";\"),Pt(\"if(\",ln,\"!==\",Qn,\"){\",qn,\"}\");Wt(qn)}),vt.compile()}(),compile:Jt}}function ya(){return{vaoCount:0,bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0}}var so=34918,wa=34919,io=35007,Ss=function(At,Er){if(!Er.ext_disjoint_timer_query)return null;var Wr=[];function wi(){return Wr.pop()||Er.ext_disjoint_timer_query.createQueryEXT()}function Ui(Ln){Wr.push(Ln)}var Oi=[];function Bi(Ln){var Un=wi();Er.ext_disjoint_timer_query.beginQueryEXT(io,Un),Oi.push(Un),Dn(Oi.length-1,Oi.length,Ln)}function cn(){Er.ext_disjoint_timer_query.endQueryEXT(io)}function On(){this.startQueryIndex=-1,this.endQueryIndex=-1,this.sum=0,this.stats=null}var Bn=[];function yn(){return Bn.pop()||new On}function to(Ln){Bn.push(Ln)}var Rn=[];function Dn(Ln,Un,gn){var ca=yn();ca.startQueryIndex=Ln,ca.endQueryIndex=Un,ca.sum=0,ca.stats=gn,Rn.push(ca)}var fn=[],Ai=[];function ji(){var Ln,Un,gn=Oi.length;if(gn!==0){Ai.length=Math.max(Ai.length,gn+1),fn.length=Math.max(fn.length,gn+1),fn[0]=0,Ai[0]=0;var ca=0;for(Ln=0,Un=0;Un<Oi.length;++Un){var Kn=Oi[Un];Er.ext_disjoint_timer_query.getQueryObjectEXT(Kn,wa)?(ca+=Er.ext_disjoint_timer_query.getQueryObjectEXT(Kn,so),Ui(Kn)):Oi[Ln++]=Kn,fn[Un+1]=ca,Ai[Un+1]=Ln}for(Oi.length=Ln,Ln=0,Un=0;Un<Rn.length;++Un){var Za=Rn[Un],wn=Za.startQueryIndex,vn=Za.endQueryIndex;Za.sum+=fn[vn]-fn[wn];var Aa=Ai[wn],aa=Ai[vn];aa===Aa?(Za.stats.gpuTime+=Za.sum/1e6,to(Za)):(Za.startQueryIndex=Aa,Za.endQueryIndex=aa,Rn[Ln++]=Za)}Rn.length=Ln}}return{beginQuery:Bi,endQuery:cn,pushScopeStats:Dn,update:ji,getNumPendingQueries:function(){return Oi.length},clear:function(){Wr.push.apply(Wr,Oi);for(var Ln=0;Ln<Wr.length;Ln++)Er.ext_disjoint_timer_query.deleteQueryEXT(Wr[Ln]);Oi.length=0,Wr.length=0},restore:function(){Oi.length=0,Wr.length=0}}},_s=16384,Ns=256,pn=1024,za=34962,Lo=\"webglcontextlost\",Fo=\"webglcontextrestored\",js=1,xl=2,fu=3;function dl(At,Er){for(var Wr=0;Wr<At.length;++Wr)if(At[Wr]===Er)return Wr;return-1}function xc(At){var Er=_(At);if(!Er)return null;var Wr=Er.gl,wi=Wr.getContextAttributes(),Ui=Wr.isContextLost(),Oi=C(Wr,Er);if(!Oi)return null;var Bi=x(),cn=ya(),On=Er.cachedCode||{},Bn=Oi.extensions,yn=Ss(Wr,Bn),to=v(),Rn=Wr.drawingBufferWidth,Dn=Wr.drawingBufferHeight,fn={tick:0,time:0,viewportWidth:Rn,viewportHeight:Dn,framebufferWidth:Rn,framebufferHeight:Dn,drawingBufferWidth:Rn,drawingBufferHeight:Dn,pixelRatio:Er.pixelRatio},Ai={},ji={elements:null,primitive:4,count:-1,offset:0,instances:-1},Ln=Br(Wr,Bn),Un=Zr(Wr,cn,Er,Kn),gn=br(Wr,Bn,Un,cn),ca=xu(Wr,Bn,Ln,cn,Un,gn,ji);function Kn(O){return ca.destroyBuffer(O)}var Za=ju(Wr,Bi,cn,Er),wn=df(Wr,Bn,Ln,function(){aa.procs.poll()},fn,cn,Er),vn=Lc(Wr,Bn,Ln,cn,Er),Aa=vf(Wr,Bn,Ln,wn,vn,cn),aa=ga(Wr,Bi,Bn,Ln,Un,gn,wn,Aa,Ai,ca,Za,ji,fn,yn,On,Er),Xn=Dl(Wr,Aa,aa.procs.poll,fn,wi,Bn,Ln),Vn=aa.next,ma=Wr.canvas,ro=[],Ao=[],Jn=[],Oa=[Er.onDestroy],_o=null;function Po(){if(ro.length===0){yn&&yn.update(),_o=null;return}_o=d.next(Po),ef();for(var O=ro.length-1;O>=0;--O){var $=ro[O];$&&$(fn,null,0)}Wr.flush(),yn&&yn.update()}function Jo(){!_o&&ro.length>0&&(_o=d.next(Po))}function Yl(){_o&&(d.cancel(Po),_o=null)}function $c(O){O.preventDefault(),Ui=!0,Yl(),Ao.forEach(function($){$()})}function xs(O){Wr.getError(),Ui=!1,Oi.restore(),Za.restore(),Un.restore(),wn.restore(),vn.restore(),Aa.restore(),ca.restore(),yn&&yn.restore(),aa.procs.refresh(),Jo(),Jn.forEach(function($){$()})}ma&&(ma.addEventListener(Lo,$c,!1),ma.addEventListener(Fo,xs,!1));function Qc(){ro.length=0,Yl(),ma&&(ma.removeEventListener(Lo,$c),ma.removeEventListener(Fo,xs)),Za.clear(),Aa.clear(),vn.clear(),ca.clear(),wn.clear(),gn.clear(),Un.clear(),yn&&yn.clear(),Oa.forEach(function(O){O()})}function El(O){function $(pr){var kr=e({},pr);delete kr.uniforms,delete kr.attributes,delete kr.context,delete kr.vao,\"stencil\"in kr&&kr.stencil.op&&(kr.stencil.opBack=kr.stencil.opFront=kr.stencil.op,delete kr.stencil.op);function Ar(gr){if(gr in kr){var Cr=kr[gr];delete kr[gr],Object.keys(Cr).forEach(function(cr){kr[gr+\".\"+cr]=Cr[cr]})}}return Ar(\"blend\"),Ar(\"depth\"),Ar(\"cull\"),Ar(\"stencil\"),Ar(\"polygonOffset\"),Ar(\"scissor\"),Ar(\"sample\"),\"vao\"in pr&&(kr.vao=pr.vao),kr}function pe(pr,kr){var Ar={},gr={};return Object.keys(pr).forEach(function(Cr){var cr=pr[Cr];if(h.isDynamic(cr)){gr[Cr]=h.unbox(cr,Cr);return}else if(kr&&Array.isArray(cr)){for(var Gr=0;Gr<cr.length;++Gr)if(h.isDynamic(cr[Gr])){gr[Cr]=h.unbox(cr,Cr);return}}Ar[Cr]=cr}),{dynamic:gr,static:Ar}}var de=pe(O.context||{},!0),Ie=pe(O.uniforms||{},!0),$e=pe(O.attributes||{},!1),pt=pe($(O),!1),Kt={gpuTime:0,cpuTime:0,count:0},ir=aa.compile(pt,$e,Ie,de,Kt),Jt=ir.draw,vt=ir.batch,Pt=ir.scope,Wt=[];function rr(pr){for(;Wt.length<pr;)Wt.push(null);return Wt}function dr(pr,kr){var Ar;if(typeof pr==\"function\")return Pt.call(this,null,pr,0);if(typeof kr==\"function\")if(typeof pr==\"number\")for(Ar=0;Ar<pr;++Ar)Pt.call(this,null,kr,Ar);else if(Array.isArray(pr))for(Ar=0;Ar<pr.length;++Ar)Pt.call(this,pr[Ar],kr,Ar);else return Pt.call(this,pr,kr,0);else if(typeof pr==\"number\"){if(pr>0)return vt.call(this,rr(pr|0),pr|0)}else if(Array.isArray(pr)){if(pr.length)return vt.call(this,pr,pr.length)}else return Jt.call(this,pr)}return e(dr,{stats:Kt,destroy:function(){ir.destroy()}})}var bc=Aa.setFBO=El({framebuffer:h.define.call(null,js,\"framebuffer\")});function wc(O,$){var pe=0;aa.procs.poll();var de=$.color;de&&(Wr.clearColor(+de[0]||0,+de[1]||0,+de[2]||0,+de[3]||0),pe|=_s),\"depth\"in $&&(Wr.clearDepth(+$.depth),pe|=Ns),\"stencil\"in $&&(Wr.clearStencil($.stencil|0),pe|=pn),Wr.clear(pe)}function yf(O){if(\"framebuffer\"in O)if(O.framebuffer&&O.framebuffer_reglType===\"framebufferCube\")for(var $=0;$<6;++$)bc(e({framebuffer:O.framebuffer.faces[$]},O),wc);else bc(O,wc);else wc(null,O)}function Gl(O){ro.push(O);function $(){var pe=dl(ro,O);function de(){var Ie=dl(ro,de);ro[Ie]=ro[ro.length-1],ro.length-=1,ro.length<=0&&Yl()}ro[pe]=de}return Jo(),{cancel:$}}function Fc(){var O=Vn.viewport,$=Vn.scissor_box;O[0]=O[1]=$[0]=$[1]=0,fn.viewportWidth=fn.framebufferWidth=fn.drawingBufferWidth=O[2]=$[2]=Wr.drawingBufferWidth,fn.viewportHeight=fn.framebufferHeight=fn.drawingBufferHeight=O[3]=$[3]=Wr.drawingBufferHeight}function ef(){fn.tick+=1,fn.time=_f(),Fc(),aa.procs.poll()}function ls(){wn.refresh(),Fc(),aa.procs.refresh(),yn&&yn.update()}function _f(){return(v()-to)/1e3}ls();function ns(O,$){var pe;switch(O){case\"frame\":return Gl($);case\"lost\":pe=Ao;break;case\"restore\":pe=Jn;break;case\"destroy\":pe=Oa;break;default:}return pe.push($),{cancel:function(){for(var de=0;de<pe.length;++de)if(pe[de]===$){pe[de]=pe[pe.length-1],pe.pop();return}}}}function Y(){return On}function z(O){Object.entries(O).forEach(function($){On[$[0]]=$[1]})}var K=e(El,{clear:yf,prop:h.define.bind(null,js),context:h.define.bind(null,xl),this:h.define.bind(null,fu),draw:El({}),buffer:function(O){return Un.create(O,za,!1,!1)},elements:function(O){return gn.create(O,!1)},texture:wn.create2D,cube:wn.createCube,renderbuffer:vn.create,framebuffer:Aa.create,framebufferCube:Aa.createCube,vao:ca.createVAO,attributes:wi,frame:Gl,on:ns,limits:Ln,hasExtension:function(O){return Ln.extensions.indexOf(O.toLowerCase())>=0},read:Xn,destroy:Qc,_gl:Wr,_refresh:ls,poll:function(){ef(),yn&&yn.update()},now:_f,stats:cn,getCachedCode:Y,preloadCachedCode:z});return Er.onDone(null,K),K}return xc})});var Iqe=ye((wmr,Pqe)=>{\"use strict\";var QOt=Zm();Pqe.exports=function(t){if(t?typeof t==\"string\"&&(t={container:t}):t={},Cqe(t)?t={container:t}:eBt(t)?t={container:t}:tBt(t)?t={gl:t}:t=QOt(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=window.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if(typeof t.container==\"string\"){var r=document.querySelector(t.container);if(!r)throw Error(\"Element \"+t.container+\" is not found\");t.container=r}Cqe(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=Lqe(),t.container.appendChild(t.canvas),kqe(t))}else if(!t.canvas)if(typeof document!=\"undefined\")t.container=document.body||document.documentElement,t.canvas=Lqe(),t.container.appendChild(t.canvas),kqe(t);else throw Error(\"Not DOM environment. Use headless-gl.\");return t.gl||[\"webgl\",\"experimental-webgl\",\"webgl-experimental\"].some(function(n){try{t.gl=t.canvas.getContext(n,t.attrs)}catch(i){}return t.gl}),t.gl};function kqe(e){if(e.container)if(e.container==document.body)document.body.style.width||(e.canvas.width=e.width||e.pixelRatio*window.innerWidth),document.body.style.height||(e.canvas.height=e.height||e.pixelRatio*window.innerHeight);else{var t=e.container.getBoundingClientRect();e.canvas.width=e.width||t.right-t.left,e.canvas.height=e.height||t.bottom-t.top}}function Cqe(e){return typeof e.getContext==\"function\"&&\"width\"in e&&\"height\"in e}function eBt(e){return typeof e.nodeName==\"string\"&&typeof e.appendChild==\"function\"&&typeof e.getBoundingClientRect==\"function\"}function tBt(e){return typeof e.drawArrays==\"function\"||typeof e.drawElements==\"function\"}function Lqe(){var e=document.createElement(\"canvas\");return e.style.position=\"absolute\",e.style.top=0,e.style.left=0,e}});var Dqe=ye((Tmr,Rqe)=>{\"use strict\";var rBt=UY(),iBt=[32,126];Rqe.exports=nBt;function nBt(e){e=e||{};var t=e.shape?e.shape:e.canvas?[e.canvas.width,e.canvas.height]:[512,512],r=e.canvas||document.createElement(\"canvas\"),n=e.font,i=typeof e.step==\"number\"?[e.step,e.step]:e.step||[32,32],a=e.chars||iBt;if(n&&typeof n!=\"string\"&&(n=rBt(n)),!Array.isArray(a))a=String(a).split(\"\");else if(a.length===2&&typeof a[0]==\"number\"&&typeof a[1]==\"number\"){for(var o=[],s=a[0],l=0;s<=a[1];s++)o[l++]=String.fromCharCode(s);a=o}t=t.slice(),r.width=t[0],r.height=t[1];var u=r.getContext(\"2d\");u.fillStyle=\"#000\",u.fillRect(0,0,r.width,r.height),u.font=n,u.textAlign=\"center\",u.textBaseline=\"middle\",u.fillStyle=\"#fff\";for(var c=i[0]/2,f=i[1]/2,s=0;s<a.length;s++)u.fillText(a[s],c,f),(c+=i[0])>t[0]-i[0]/2&&(c=i[0]/2,f+=i[1]);return r}});var WY=ye(Th=>{\"use strict\";\"use restrict\";var jY=32;Th.INT_BITS=jY;Th.INT_MAX=2147483647;Th.INT_MIN=-1<<jY-1;Th.sign=function(e){return(e>0)-(e<0)};Th.abs=function(e){var t=e>>jY-1;return(e^t)-t};Th.min=function(e,t){return t^(e^t)&-(e<t)};Th.max=function(e,t){return e^(e^t)&-(e<t)};Th.isPow2=function(e){return!(e&e-1)&&!!e};Th.log2=function(e){var t,r;return t=(e>65535)<<4,e>>>=t,r=(e>255)<<3,e>>>=r,t|=r,r=(e>15)<<2,e>>>=r,t|=r,r=(e>3)<<1,e>>>=r,t|=r,t|e>>1};Th.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0};Th.popCount=function(e){return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24};function zqe(e){var t=32;return e&=-e,e&&t--,e&65535&&(t-=16),e&16711935&&(t-=8),e&252645135&&(t-=4),e&858993459&&(t-=2),e&1431655765&&(t-=1),t}Th.countTrailingZeros=zqe;Th.nextPow2=function(e){return e+=e===0,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e+1};Th.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e-(e>>>1)};Th.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,e&=15,27030>>>e&1};var _k=new Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=r&1,--i;e[t]=n<<i&255}})(_k);Th.reverse=function(e){return _k[e&255]<<24|_k[e>>>8&255]<<16|_k[e>>>16&255]<<8|_k[e>>>24&255]};Th.interleave2=function(e,t){return e&=65535,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t&=65535,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1};Th.deinterleave2=function(e,t){return e=e>>>t&1431655765,e=(e|e>>>1)&858993459,e=(e|e>>>2)&252645135,e=(e|e>>>4)&16711935,e=(e|e>>>16)&65535,e<<16>>16};Th.interleave3=function(e,t,r){return e&=1023,e=(e|e<<16)&4278190335,e=(e|e<<8)&251719695,e=(e|e<<4)&3272356035,e=(e|e<<2)&1227133513,t&=1023,t=(t|t<<16)&4278190335,t=(t|t<<8)&251719695,t=(t|t<<4)&3272356035,t=(t|t<<2)&1227133513,e|=t<<1,r&=1023,r=(r|r<<16)&4278190335,r=(r|r<<8)&251719695,r=(r|r<<4)&3272356035,r=(r|r<<2)&1227133513,e|r<<2};Th.deinterleave3=function(e,t){return e=e>>>t&1227133513,e=(e|e>>>2)&3272356035,e=(e|e>>>4)&251719695,e=(e|e>>>8)&4278190335,e=(e|e>>>16)&1023,e<<22>>22};Th.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>zqe(e)+1}});var Oqe=ye((Smr,qqe)=>{\"use strict\";function Fqe(e,t,r){var n=e[r]|0;if(n<=0)return[];var i=new Array(n),a;if(r===e.length-1)for(a=0;a<n;++a)i[a]=t;else for(a=0;a<n;++a)i[a]=Fqe(e,t,r+1);return i}function aBt(e,t){var r,n;for(r=new Array(e),n=0;n<e;++n)r[n]=t;return r}function oBt(e,t){switch(typeof t==\"undefined\"&&(t=0),typeof e){case\"number\":if(e>0)return aBt(e|0,t);break;case\"object\":if(typeof e.length==\"number\")return Fqe(e,t,0);break}return[]}qqe.exports=oBt});var Qqe=ye(Wl=>{\"use strict\";var fx=WY(),Av=Oqe(),Bqe=u2().Buffer;window.__TYPEDARRAY_POOL||(window.__TYPEDARRAY_POOL={UINT8:Av([32,0]),UINT16:Av([32,0]),UINT32:Av([32,0]),BIGUINT64:Av([32,0]),INT8:Av([32,0]),INT16:Av([32,0]),INT32:Av([32,0]),BIGINT64:Av([32,0]),FLOAT:Av([32,0]),DOUBLE:Av([32,0]),DATA:Av([32,0]),UINT8C:Av([32,0]),BUFFER:Av([32,0])});var sBt=typeof Uint8ClampedArray!=\"undefined\",lBt=typeof BigUint64Array!=\"undefined\",uBt=typeof BigInt64Array!=\"undefined\",Xh=window.__TYPEDARRAY_POOL;Xh.UINT8C||(Xh.UINT8C=Av([32,0]));Xh.BIGUINT64||(Xh.BIGUINT64=Av([32,0]));Xh.BIGINT64||(Xh.BIGINT64=Av([32,0]));Xh.BUFFER||(Xh.BUFFER=Av([32,0]));var dF=Xh.DATA,vF=Xh.BUFFER;Wl.free=function(t){if(Bqe.isBuffer(t))vF[fx.log2(t.length)].push(t);else{if(Object.prototype.toString.call(t)!==\"[object ArrayBuffer]\"&&(t=t.buffer),!t)return;var r=t.length||t.byteLength,n=fx.log2(r)|0;dF[n].push(t)}};function Nqe(e){if(e){var t=e.length||e.byteLength,r=fx.log2(t);dF[r].push(e)}}function cBt(e){Nqe(e.buffer)}Wl.freeUint8=Wl.freeUint16=Wl.freeUint32=Wl.freeBigUint64=Wl.freeInt8=Wl.freeInt16=Wl.freeInt32=Wl.freeBigInt64=Wl.freeFloat32=Wl.freeFloat=Wl.freeFloat64=Wl.freeDouble=Wl.freeUint8Clamped=Wl.freeDataView=cBt;Wl.freeArrayBuffer=Nqe;Wl.freeBuffer=function(t){vF[fx.log2(t.length)].push(t)};Wl.malloc=function(t,r){if(r===void 0||r===\"arraybuffer\")return Bp(t);switch(r){case\"uint8\":return ZY(t);case\"uint16\":return Uqe(t);case\"uint32\":return Vqe(t);case\"int8\":return Hqe(t);case\"int16\":return Gqe(t);case\"int32\":return jqe(t);case\"float\":case\"float32\":return Wqe(t);case\"double\":case\"float64\":return Zqe(t);case\"uint8_clamped\":return Xqe(t);case\"bigint64\":return Kqe(t);case\"biguint64\":return Yqe(t);case\"buffer\":return $qe(t);case\"data\":case\"dataview\":return Jqe(t);default:return null}return null};function Bp(t){var t=fx.nextPow2(t),r=fx.log2(t),n=dF[r];return n.length>0?n.pop():new ArrayBuffer(t)}Wl.mallocArrayBuffer=Bp;function ZY(e){return new Uint8Array(Bp(e),0,e)}Wl.mallocUint8=ZY;function Uqe(e){return new Uint16Array(Bp(2*e),0,e)}Wl.mallocUint16=Uqe;function Vqe(e){return new Uint32Array(Bp(4*e),0,e)}Wl.mallocUint32=Vqe;function Hqe(e){return new Int8Array(Bp(e),0,e)}Wl.mallocInt8=Hqe;function Gqe(e){return new Int16Array(Bp(2*e),0,e)}Wl.mallocInt16=Gqe;function jqe(e){return new Int32Array(Bp(4*e),0,e)}Wl.mallocInt32=jqe;function Wqe(e){return new Float32Array(Bp(4*e),0,e)}Wl.mallocFloat32=Wl.mallocFloat=Wqe;function Zqe(e){return new Float64Array(Bp(8*e),0,e)}Wl.mallocFloat64=Wl.mallocDouble=Zqe;function Xqe(e){return sBt?new Uint8ClampedArray(Bp(e),0,e):ZY(e)}Wl.mallocUint8Clamped=Xqe;function Yqe(e){return lBt?new BigUint64Array(Bp(8*e),0,e):null}Wl.mallocBigUint64=Yqe;function Kqe(e){return uBt?new BigInt64Array(Bp(8*e),0,e):null}Wl.mallocBigInt64=Kqe;function Jqe(e){return new DataView(Bp(e),0,e)}Wl.mallocDataView=Jqe;function $qe(e){e=fx.nextPow2(e);var t=fx.log2(e),r=vF[t];return r.length>0?r.pop():new Bqe(e)}Wl.mallocBuffer=$qe;Wl.clearCache=function(){for(var t=0;t<32;++t)Xh.UINT8[t].length=0,Xh.UINT16[t].length=0,Xh.UINT32[t].length=0,Xh.INT8[t].length=0,Xh.INT16[t].length=0,Xh.INT32[t].length=0,Xh.FLOAT[t].length=0,Xh.DOUBLE[t].length=0,Xh.BIGUINT64[t].length=0,Xh.BIGINT64[t].length=0,Xh.UINT8C[t].length=0,dF[t].length=0,vF[t].length=0}});var tOe=ye((Emr,eOe)=>{\"use strict\";var fBt=Object.prototype.toString;eOe.exports=function(e){var t;return fBt.call(e)===\"[object Object]\"&&(t=Object.getPrototypeOf(e),t===null||t===Object.getPrototypeOf({}))}});var XY=ye((kmr,rOe)=>{rOe.exports=function(t,r){r||(r=[0,\"\"]),t=String(t);var n=parseFloat(t,10);return r[0]=n,r[1]=t.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",r}});var aOe=ye((Cmr,nOe)=>{\"use strict\";var hBt=XY();nOe.exports=iOe;var xk=96;function YY(e,t){var r=hBt(getComputedStyle(e).getPropertyValue(t));return r[0]*iOe(r[1],e)}function dBt(e,t){var r=document.createElement(\"div\");r.style[\"font-size\"]=\"128\"+e,t.appendChild(r);var n=YY(r,\"font-size\")/128;return t.removeChild(r),n}function iOe(e,t){switch(t=t||document.body,e=(e||\"px\").trim().toLowerCase(),(t===window||t===document)&&(t=document.body),e){case\"%\":return t.clientHeight/100;case\"ch\":case\"ex\":return dBt(e,t);case\"em\":return YY(t,\"font-size\");case\"rem\":return YY(document.body,\"font-size\");case\"vw\":return window.innerWidth/100;case\"vh\":return window.innerHeight/100;case\"vmin\":return Math.min(window.innerWidth,window.innerHeight)/100;case\"vmax\":return Math.max(window.innerWidth,window.innerHeight)/100;case\"in\":return xk;case\"cm\":return xk/2.54;case\"mm\":return xk/25.4;case\"pt\":return xk/72;case\"pc\":return xk/6}return 1}});var lOe=ye((Lmr,sOe)=>{\"use strict\";sOe.exports=mF;var vBt=mF.canvas=document.createElement(\"canvas\"),pF=vBt.getContext(\"2d\"),oOe=gF([32,126]);mF.createPairs=gF;mF.ascii=oOe;function mF(e,t){Array.isArray(e)&&(e=e.join(\", \"));var r={},n,i=16,a=.05;t&&(t.length===2&&typeof t[0]==\"number\"?n=gF(t):Array.isArray(t)?n=t:(t.o?n=gF(t.o):t.pairs&&(n=t.pairs),t.fontSize&&(i=t.fontSize),t.threshold!=null&&(a=t.threshold))),n||(n=oOe),pF.font=i+\"px \"+e;for(var o=0;o<n.length;o++){var s=n[o],l=pF.measureText(s[0]).width+pF.measureText(s[1]).width,u=pF.measureText(s).width;if(Math.abs(l-u)>i*a){var c=(u-l)/i;r[s]=c*1e3}}return r}function gF(e){for(var t=[],r=e[0];r<=e[1];r++)for(var n=String.fromCharCode(r),i=e[0];i<e[1];i++){var a=String.fromCharCode(i),o=n+a;t.push(o)}return t}});var hOe=ye((Pmr,fOe)=>{\"use strict\";fOe.exports=hx;hx.canvas=document.createElement(\"canvas\");hx.cache={};function hx(o,t){t||(t={}),(typeof o==\"string\"||Array.isArray(o))&&(t.family=o);var r=Array.isArray(t.family)?t.family.join(\", \"):t.family;if(!r)throw Error(\"`family` must be defined\");var n=t.size||t.fontSize||t.em||48,i=t.weight||t.fontWeight||\"\",a=t.style||t.fontStyle||\"\",o=[a,i,n].join(\" \")+\"px \"+r,s=t.origin||\"top\";if(hx.cache[r]&&n<=hx.cache[r].em)return uOe(hx.cache[r],s);var l=t.canvas||hx.canvas,u=l.getContext(\"2d\"),c={upper:t.upper!==void 0?t.upper:\"H\",lower:t.lower!==void 0?t.lower:\"x\",descent:t.descent!==void 0?t.descent:\"p\",ascent:t.ascent!==void 0?t.ascent:\"h\",tittle:t.tittle!==void 0?t.tittle:\"i\",overshoot:t.overshoot!==void 0?t.overshoot:\"O\"},f=Math.ceil(n*1.5);l.height=f,l.width=f*.5,u.font=o;var h=\"H\",d={top:0};u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillStyle=\"black\",u.fillText(h,0,0);var v=Ym(u.getImageData(0,0,f,f));u.clearRect(0,0,f,f),u.textBaseline=\"bottom\",u.fillText(h,0,f);var x=Ym(u.getImageData(0,0,f,f));d.lineHeight=d.bottom=f-x+v,u.clearRect(0,0,f,f),u.textBaseline=\"alphabetic\",u.fillText(h,0,f);var b=Ym(u.getImageData(0,0,f,f)),p=f-b-1+v;d.baseline=d.alphabetic=p,u.clearRect(0,0,f,f),u.textBaseline=\"middle\",u.fillText(h,0,f*.5);var E=Ym(u.getImageData(0,0,f,f));d.median=d.middle=f-E-1+v-f*.5,u.clearRect(0,0,f,f),u.textBaseline=\"hanging\",u.fillText(h,0,f*.5);var k=Ym(u.getImageData(0,0,f,f));d.hanging=f-k-1+v-f*.5,u.clearRect(0,0,f,f),u.textBaseline=\"ideographic\",u.fillText(h,0,f);var A=Ym(u.getImageData(0,0,f,f));if(d.ideographic=f-A-1+v,c.upper&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.upper,0,0),d.upper=Ym(u.getImageData(0,0,f,f)),d.capHeight=d.baseline-d.upper),c.lower&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.lower,0,0),d.lower=Ym(u.getImageData(0,0,f,f)),d.xHeight=d.baseline-d.lower),c.tittle&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.tittle,0,0),d.tittle=Ym(u.getImageData(0,0,f,f))),c.ascent&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.ascent,0,0),d.ascent=Ym(u.getImageData(0,0,f,f))),c.descent&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.descent,0,0),d.descent=cOe(u.getImageData(0,0,f,f))),c.overshoot){u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.overshoot,0,0);var L=cOe(u.getImageData(0,0,f,f));d.overshoot=L-p}for(var _ in d)d[_]/=n;return d.em=n,hx.cache[r]=d,uOe(d,s)}function uOe(e,t){var r={};typeof t==\"string\"&&(t=e[t]);for(var n in e)n!==\"em\"&&(r[n]=e[n]-t);return r}function Ym(e){for(var t=e.height,r=e.data,n=3;n<r.length;n+=4)if(r[n]!==0)return Math.floor((n-3)*.25/t)}function cOe(e){for(var t=e.height,r=e.data,n=r.length-1;n>0;n-=4)if(r[n]!==0)return Math.floor((n-3)*.25/t)}});var gOe=ye((Imr,pOe)=>{\"use strict\";var fA=Eqe(),pBt=Zm(),gBt=GY(),mBt=Iqe(),yBt=EY(),KY=$_(),_Bt=Dqe(),dx=Qqe(),xBt=Q5(),bBt=tOe(),wBt=XY(),TBt=aOe(),ABt=lOe(),SBt=bh(),MBt=hOe(),EBt=W2(),kBt=WY(),dOe=kBt.nextPow2,vOe=new yBt,_F=!1;document.body&&(yF=document.body.appendChild(document.createElement(\"div\")),yF.style.font=\"italic small-caps bold condensed 16px/2 cursive\",getComputedStyle(yF).fontStretch&&(_F=!0),document.body.removeChild(yF));var yF,Vu=function(t){CBt(t)?(t={regl:t},this.gl=t.regl._gl):this.gl=mBt(t),this.shader=vOe.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||gBt({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(),vOe.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(bBt(t)?t:{})};Vu.prototype.createShader=function(){var t=this.regl,r=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(i,a){return[a.atlas.width,a.atlas.height]},atlasDim:function(i,a){return[a.atlas.cols,a.atlas.rows]},atlas:function(i,a){return a.atlas.texture},charStep:function(i,a){return a.atlas.step},em:function(i,a){return a.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}`}),n={};return{regl:t,draw:r,atlas:n}};Vu.prototype.update=function(t){var r=this;if(typeof t==\"string\")t={text:t};else if(!t)return;t=pBt(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),t.opacity!=null&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map(function(ke){return parseFloat(ke)}):this.opacity=parseFloat(t.opacity)),t.viewport!=null&&(this.viewport=xBt(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),this.viewport==null&&(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]),t.kerning!=null&&(this.kerning=t.kerning),t.offset!=null&&(typeof t.offset==\"number\"&&(t.offset=[t.offset,0]),this.positionOffset=EBt(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=Vu.baseFontSize+\"px sans-serif\");var n=!1,i=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach(function(ke,ge){if(typeof ke==\"string\")try{ke=fA.parse(ke)}catch(Ge){ke=fA.parse(Vu.baseFontSize+\"px \"+ke)}else{var ie=ke.style,Te=ke.weight,Ee=ke.stretch,Ae=ke.variant;ke=fA.parse(fA.stringify(ke)),ie&&(ke.style=ie),Te&&(ke.weight=Te),Ee&&(ke.stretch=Ee),Ae&&(ke.variant=Ae)}var ze=fA.stringify({size:Vu.baseFontSize,family:ke.family,stretch:_F?ke.stretch:void 0,variant:ke.variant,weight:ke.weight,style:ke.style}),Ce=wBt(ke.size),me=Math.round(Ce[0]*TBt(Ce[1]));if(me!==r.fontSize[ge]&&(i=!0,r.fontSize[ge]=me),(!r.font[ge]||ze!=r.font[ge].baseString)&&(n=!0,r.font[ge]=Vu.fonts[ze],!r.font[ge])){var Re=ke.family.join(\", \"),ce=[ke.style];ke.style!=ke.variant&&ce.push(ke.variant),ke.variant!=ke.weight&&ce.push(ke.weight),_F&&ke.weight!=ke.stretch&&ce.push(ke.stretch),r.font[ge]={baseString:ze,family:Re,weight:ke.weight,stretch:ke.stretch,style:ke.style,variant:ke.variant,width:{},kerning:{},metrics:MBt(Re,{origin:\"top\",fontSize:Vu.baseFontSize,fontStyle:ce.join(\" \")})},Vu.fonts[ze]=r.font[ge]}}),(n||i)&&this.font.forEach(function(ke,ge){var ie=fA.stringify({size:r.fontSize[ge],family:ke.family,stretch:_F?ke.stretch:void 0,variant:ke.variant,weight:ke.weight,style:ke.style});if(r.fontAtlas[ge]=r.shader.atlas[ie],!r.fontAtlas[ge]){var Te=ke.metrics;r.shader.atlas[ie]=r.fontAtlas[ge]={fontString:ie,step:Math.ceil(r.fontSize[ge]*Te.bottom*.5)*2,em:r.fontSize[ge],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:r.regl.texture()}}t.text==null&&(t.text=r.text)}),typeof t.text==\"string\"&&t.position&&t.position.length>2){for(var a=Array(t.position.length*.5),o=0;o<a.length;o++)a[o]=t.text;t.text=a}var s;if(t.text!=null||n){if(this.textOffsets=[0],Array.isArray(t.text)){this.count=t.text[0].length,this.counts=[this.count];for(var l=1;l<t.text.length;l++)this.textOffsets[l]=this.textOffsets[l-1]+t.text[l-1].length,this.count+=t.text[l].length,this.counts.push(t.text[l].length);this.text=t.text.join(\"\")}else this.text=t.text,this.count=this.text.length,this.counts=[this.count];s=[],this.font.forEach(function(ke,ge){Vu.atlasContext.font=ke.baseString;for(var ie=r.fontAtlas[ge],Te=0;Te<r.text.length;Te++){var Ee=r.text.charAt(Te);if(ie.ids[Ee]==null&&(ie.ids[Ee]=ie.chars.length,ie.chars.push(Ee),s.push(Ee)),ke.width[Ee]==null&&(ke.width[Ee]=Vu.atlasContext.measureText(Ee).width/Vu.baseFontSize,r.kerning)){var Ae=[];for(var ze in ke.width)Ae.push(ze+Ee,Ee+ze);SBt(ke.kerning,ABt(ke.family,{pairs:Ae}))}}})}if(t.position)if(t.position.length>2){for(var u=!t.position[0].length,c=dx.mallocFloat(this.count*2),f=0,h=0;f<this.counts.length;f++){var d=this.counts[f];if(u)for(var v=0;v<d;v++)c[h++]=t.position[f*2],c[h++]=t.position[f*2+1];else for(var x=0;x<d;x++)c[h++]=t.position[f][0],c[h++]=t.position[f][1]}this.position.call?this.position({type:\"float\",data:c}):this.position=this.regl.buffer({type:\"float\",data:c}),dx.freeFloat(c)}else this.position.destroy&&this.position.destroy(),this.position={constant:t.position};if(t.text||n){var b=dx.mallocUint8(this.count),p=dx.mallocFloat(this.count*2);this.textWidth=[];for(var E=0,k=0;E<this.counts.length;E++){for(var A=this.counts[E],L=this.font[E]||this.font[0],_=this.fontAtlas[E]||this.fontAtlas[0],C=0;C<A;C++){var M=this.text.charAt(k),g=this.text.charAt(k-1);if(b[k]=_.ids[M],p[k*2]=L.width[M],C){var P=p[k*2-2],T=p[k*2],F=p[k*2-1],q=F+P*.5+T*.5;if(this.kerning){var V=L.kerning[g+M];V&&(q+=V*.001)}p[k*2+1]=q}else p[k*2+1]=p[k*2]*.5;k++}this.textWidth.push(p.length?p[k*2-2]*.5+p[k*2-1]:0)}t.align||(t.align=this.align),this.charBuffer({data:b,type:\"uint8\",usage:\"stream\"}),this.sizeBuffer({data:p,type:\"float\",usage:\"stream\"}),dx.freeUint8(b),dx.freeFloat(p),s.length&&this.font.forEach(function(ke,ge){var ie=r.fontAtlas[ge],Te=ie.step,Ee=Math.floor(Vu.maxAtlasSize/Te),Ae=Math.min(Ee,ie.chars.length),ze=Math.ceil(ie.chars.length/Ae),Ce=dOe(Ae*Te),me=dOe(ze*Te);ie.width=Ce,ie.height=me,ie.rows=ze,ie.cols=Ae,ie.em&&ie.texture({data:_Bt({canvas:Vu.atlasCanvas,font:ie.fontString,chars:ie.chars,shape:[Ce,me],step:[Te,Te]})})})}if(t.align&&(this.align=t.align,this.alignOffset=this.textWidth.map(function(ke,ge){var ie=Array.isArray(r.align)?r.align.length>1?r.align[ge]:r.align[0]:r.align;if(typeof ie==\"number\")return ie;switch(ie){case\"right\":case\"end\":return-ke;case\"center\":case\"centre\":case\"middle\":return-ke*.5}return 0})),this.baseline==null&&t.baseline==null&&(t.baseline=0),t.baseline!=null&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(ke,ge){var ie=(r.font[ge]||r.font[0]).metrics,Te=0;return Te+=ie.bottom*.5,typeof ke==\"number\"?Te+=ke-ie.baseline:Te+=-ie[ke],Te*=-1,Te})),t.color!=null)if(t.color||(t.color=\"transparent\"),typeof t.color==\"string\"||!isNaN(t.color))this.color=KY(t.color,\"uint8\");else{var H;if(typeof t.color[0]==\"number\"&&t.color.length>this.counts.length){var X=t.color.length;H=dx.mallocUint8(X);for(var G=(t.color.subarray||t.color.slice).bind(t.color),N=0;N<X;N+=4)H.set(KY(G(N,N+4),\"uint8\"),N)}else{var W=t.color.length;H=dx.mallocUint8(W*4);for(var re=0;re<W;re++)H.set(KY(t.color[re]||0,\"uint8\"),re*4)}this.color=H}if(t.position||t.text||t.color||t.baseline||t.align||t.font||t.offset||t.opacity){var ae=this.color.length>4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2;if(ae){var _e=Math.max(this.position.length*.5||0,this.color.length*.25||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,this.positionOffset.length*.5||0);this.batch=Array(_e);for(var Me=0;Me<this.batch.length;Me++)this.batch[Me]={count:this.counts.length>1?this.counts[Me]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[Me]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(Me*4,Me*4+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[Me]:this.opacity,baseline:this.baselineOffset[Me]!=null?this.baselineOffset[Me]:this.baselineOffset[0],align:this.align?this.alignOffset[Me]!=null?this.alignOffset[Me]:this.alignOffset[0]:0,atlas:this.fontAtlas[Me]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(Me*2,Me*2+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=[]}};Vu.prototype.destroy=function(){};Vu.prototype.kerning=!0;Vu.prototype.position={constant:new Float32Array(2)};Vu.prototype.translate=null;Vu.prototype.scale=null;Vu.prototype.font=null;Vu.prototype.text=\"\";Vu.prototype.positionOffset=[0,0];Vu.prototype.opacity=1;Vu.prototype.color=new Uint8Array([0,0,0,255]);Vu.prototype.alignOffset=[0,0];Vu.maxAtlasSize=1024;Vu.atlasCanvas=document.createElement(\"canvas\");Vu.atlasContext=Vu.atlasCanvas.getContext(\"2d\",{alpha:!1});Vu.baseFontSize=64;Vu.fonts={};function CBt(e){return typeof e==\"function\"&&e._gl&&e.prop&&e.texture&&e.buffer}pOe.exports=Vu});var xF=ye((Rmr,mOe)=>{\"use strict\";var LBt=pZ(),PBt=GY();mOe.exports=function(t,r,n){var i=t._fullLayout,a=!0;return i._glcanvas.each(function(o){if(o.regl){o.regl.preloadCachedCode(n);return}if(!(o.pick&&!i._has(\"parcoords\"))){try{o.regl=PBt({canvas:this,attributes:{antialias:!o.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||window.devicePixelRatio,extensions:r||[],cachedCode:n||{}})}catch(s){a=!1}o.regl||(a=!1),a&&this.addEventListener(\"webglcontextlost\",function(s){t&&t.emit&&t.emit(\"plotly_webglcontextlost\",{event:s,layer:o.key})},!1)}}),a||LBt({container:i._glcontainer.node()}),a}});var QY=ye(($Y,wOe)=>{\"use strict\";var yOe=QX(),_Oe=LY(),IBt=lqe(),xOe=gOe(),JY=Mr(),RBt=Sg().selectMode,DBt=xF(),zBt=lu(),FBt=hU(),qBt=YX().styleTextSelection,bOe={};function OBt(e,t,r,n){var i=e._size,a=e.width*n,o=e.height*n,s=i.l*n,l=i.b*n,u=i.r*n,c=i.t*n,f=i.w*n,h=i.h*n;return[s+t.domain[0]*f,l+r.domain[0]*h,a-u-(1-t.domain[1])*f,o-c-(1-r.domain[1])*h]}var $Y=wOe.exports=function(t,r,n){if(n.length){var i=t._fullLayout,a=r._scene,o=r.xaxis,s=r.yaxis,l,u;if(a){var c=DBt(t,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"],bOe);if(!c){a.init();return}var f=a.count,h=i._glcanvas.data()[0].regl;if(FBt(t,r,n),a.dirty){if((a.line2d||a.error2d)&&!(a.scatter2d||a.fill2d||a.glText)&&h.clear({}),a.error2d===!0&&(a.error2d=IBt(h)),a.line2d===!0&&(a.line2d=_Oe(h)),a.scatter2d===!0&&(a.scatter2d=yOe(h)),a.fill2d===!0&&(a.fill2d=_Oe(h)),a.glText===!0)for(a.glText=new Array(f),l=0;l<f;l++)a.glText[l]=new xOe(h);if(a.glText){if(f>a.glText.length){var d=f-a.glText.length;for(l=0;l<d;l++)a.glText.push(new xOe(h))}else if(f<a.glText.length){var v=a.glText.length-f,x=a.glText.splice(f,v);x.forEach(function(W){W.destroy()})}for(l=0;l<f;l++)a.glText[l].update(a.textOptions[l])}if(a.line2d&&(a.line2d.update(a.lineOptions),a.lineOptions=a.lineOptions.map(function(W){if(W&&W.positions){for(var re=W.positions,ae=0;ae<re.length&&(isNaN(re[ae])||isNaN(re[ae+1]));)ae+=2;for(var _e=re.length-2;_e>ae&&(isNaN(re[_e])||isNaN(re[_e+1]));)_e-=2;W.positions=re.slice(ae,_e+2)}return W}),a.line2d.update(a.lineOptions)),a.error2d){var b=(a.errorXOptions||[]).concat(a.errorYOptions||[]);a.error2d.update(b)}a.scatter2d&&a.scatter2d.update(a.markerOptions),a.fillOrder=JY.repeat(null,f),a.fill2d&&(a.fillOptions=a.fillOptions.map(function(W,re){var ae=n[re];if(!(!W||!ae||!ae[0]||!ae[0].trace)){var _e=ae[0],Me=_e.trace,ke=_e.t,ge=a.lineOptions[re],ie,Te,Ee=[];Me._ownfill&&Ee.push(re),Me._nexttrace&&Ee.push(re+1),Ee.length&&(a.fillOrder[re]=Ee);var Ae=[],ze=ge&&ge.positions||ke.positions,Ce,me;if(Me.fill===\"tozeroy\"){for(Ce=0;Ce<ze.length&&isNaN(ze[Ce+1]);)Ce+=2;for(me=ze.length-2;me>Ce&&isNaN(ze[me+1]);)me-=2;ze[Ce+1]!==0&&(Ae=[ze[Ce],0]),Ae=Ae.concat(ze.slice(Ce,me+2)),ze[me+1]!==0&&(Ae=Ae.concat([ze[me],0]))}else if(Me.fill===\"tozerox\"){for(Ce=0;Ce<ze.length&&isNaN(ze[Ce]);)Ce+=2;for(me=ze.length-2;me>Ce&&isNaN(ze[me]);)me-=2;ze[Ce]!==0&&(Ae=[0,ze[Ce+1]]),Ae=Ae.concat(ze.slice(Ce,me+2)),ze[me]!==0&&(Ae=Ae.concat([0,ze[me+1]]))}else if(Me.fill===\"toself\"||Me.fill===\"tonext\"){for(Ae=[],ie=0,W.splitNull=!0,Te=0;Te<ze.length;Te+=2)(isNaN(ze[Te])||isNaN(ze[Te+1]))&&(Ae=Ae.concat(ze.slice(ie,Te)),Ae.push(ze[ie],ze[ie+1]),Ae.push(null,null),ie=Te+2);Ae=Ae.concat(ze.slice(ie)),ie&&Ae.push(ze[ie],ze[ie+1])}else{var Re=Me._nexttrace;if(Re){var ce=a.lineOptions[re+1];if(ce){var Ge=ce.positions;if(Me.fill===\"tonexty\"){for(Ae=ze.slice(),re=Math.floor(Ge.length/2);re--;){var nt=Ge[re*2],ct=Ge[re*2+1];isNaN(nt)||isNaN(ct)||Ae.push(nt,ct)}W.fill=Re.fillcolor}}}}if(Me._prevtrace&&Me._prevtrace.fill===\"tonext\"){var qt=a.lineOptions[re-1].positions,rt=Ae.length/2;ie=rt;var ot=[ie];for(Te=0;Te<qt.length;Te+=2)(isNaN(qt[Te])||isNaN(qt[Te+1]))&&(ot.push(Te/2+rt+1),ie=Te+2);Ae=Ae.concat(qt),W.hole=ot}return W.fillmode=Me.fill,W.opacity=Me.opacity,W.positions=Ae,W}}),a.fill2d.update(a.fillOptions))}var p=i.dragmode,E=RBt(p),k=i.clickmode.indexOf(\"select\")>-1;for(l=0;l<f;l++){var A=n[l][0],L=A.trace,_=A.t,C=_.index,M=L._length,g=_.x,P=_.y;if(L.selectedpoints||E||k){if(E||(E=!0),L.selectedpoints){var T=a.selectBatch[C]=JY.selIndices2selPoints(L),F={};for(u=0;u<T.length;u++)F[T[u]]=1;var q=[];for(u=0;u<M;u++)F[u]||q.push(u);a.unselectBatch[C]=q}var V=_.xpx=new Array(M),H=_.ypx=new Array(M);for(u=0;u<M;u++)V[u]=o.c2p(g[u]),H[u]=s.c2p(P[u])}else _.xpx=_.ypx=null}if(E){if(a.select2d||(a.select2d=yOe(i._glcanvas.data()[1].regl)),a.scatter2d){var X=new Array(f);for(l=0;l<f;l++)X[l]=a.selectBatch[l].length||a.unselectBatch[l].length?a.markerUnselectedOptions[l]:{};a.scatter2d.update(X)}a.select2d&&(a.select2d.update(a.markerOptions),a.select2d.update(a.markerSelectedOptions)),a.glText&&n.forEach(function(W){var re=((W||[])[0]||{}).trace||{};zBt.hasText(re)&&qBt(W)})}else a.scatter2d&&a.scatter2d.update(a.markerOptions);var G={viewport:OBt(i,o,s,t._context.plotGlPixelRatio),range:[(o._rl||o.range)[0],(s._rl||s.range)[0],(o._rl||o.range)[1],(s._rl||s.range)[1]]},N=JY.repeat(G,a.count);a.fill2d&&a.fill2d.update(N),a.line2d&&a.line2d.update(N),a.error2d&&a.error2d.update(N.concat(N)),a.scatter2d&&a.scatter2d.update(N),a.select2d&&a.select2d.update(N),a.glText&&a.glText.forEach(function(W){W.update(G)})}}};$Y.reglPrecompiled=bOe});var SOe=ye((Dmr,AOe)=>{\"use strict\";var TOe=Hze();TOe.plot=QY();AOe.exports=TOe});var EOe=ye((zmr,MOe)=>{\"use strict\";MOe.exports=SOe()});var eK=ye((Fmr,POe)=>{\"use strict\";var BBt=Uc(),LOe=Jl(),kOe=Oc().axisHoverFormat,NBt=Wo().hovertemplateAttrs,bk=tk(),UBt=ad().idRegex,VBt=Vs().templatedArray,hA=no().extendFlat,o1=BBt.marker,HBt=o1.line,GBt=hA(LOe(\"marker.line\",{editTypeOverride:\"calc\"}),{width:hA({},HBt.width,{editType:\"calc\"}),editType:\"calc\"}),bF=hA(LOe(\"marker\"),{symbol:o1.symbol,angle:o1.angle,size:hA({},o1.size,{editType:\"markerSize\"}),sizeref:o1.sizeref,sizemin:o1.sizemin,sizemode:o1.sizemode,opacity:o1.opacity,colorbar:o1.colorbar,line:GBt,editType:\"calc\"});bF.color.editType=bF.cmin.editType=bF.cmax.editType=\"style\";function COe(e){return{valType:\"info_array\",freeLength:!0,editType:\"calc\",items:{valType:\"subplotid\",regex:UBt[e],editType:\"plot\"}}}POe.exports={dimensions:VBt(\"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:hA({},bk.text,{}),hovertext:hA({},bk.hovertext,{}),hovertemplate:NBt(),xhoverformat:kOe(\"x\"),yhoverformat:kOe(\"y\"),marker:bF,xaxes:COe(\"x\"),yaxes:COe(\"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:bk.selected.marker,editType:\"calc\"},unselected:{marker:bk.unselected.marker,editType:\"calc\"},opacity:bk.opacity}});var wF=ye((qmr,IOe)=>{\"use strict\";IOe.exports=function(e,t,r,n){n||(n=1/0);var i,a;for(i=0;i<t.length;i++)a=t[i],a.visible&&(n=Math.min(n,a[r].length));for(n===1/0&&(n=0),e._length=n,i=0;i<t.length;i++)a=t[i],a.visible&&(a._length=n);return n}});var zOe=ye((Omr,DOe)=>{\"use strict\";var tK=Mr(),jBt=Zd(),ROe=eK(),WBt=lu(),ZBt=$p(),XBt=wF(),YBt=Fz().isOpenSymbol;DOe.exports=function(t,r,n,i){function a(d,v){return tK.coerce(t,r,ROe,d,v)}var o=jBt(t,r,{name:\"dimensions\",handleItemDefaults:KBt}),s=a(\"diagonal.visible\"),l=a(\"showupperhalf\"),u=a(\"showlowerhalf\"),c=XBt(r,o,\"values\");if(!c||!s&&!l&&!u){r.visible=!1;return}a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\"),ZBt(t,r,n,i,a,{noAngleRef:!0,noStandOff:!0});var f=YBt(r.marker.symbol),h=WBt.isBubble(r);a(\"marker.line.width\",f||h?1:0),JBt(t,r,i,a),tK.coerceSelectionMarkerOpacity(r,a)};function KBt(e,t){function r(i,a){return tK.coerce(e,t,ROe.dimensions,i,a)}r(\"label\");var n=r(\"values\");n&&n.length?r(\"visible\"):t.visible=!1,r(\"axis.type\"),r(\"axis.matches\")}function JBt(e,t,r,n){var i=t.dimensions,a=i.length,o=t.showupperhalf,s=t.showlowerhalf,l=t.diagonal.visible,u,c,f=new Array(a),h=new Array(a);for(u=0;u<a;u++){var d=u?u+1:\"\";f[u]=\"x\"+d,h[u]=\"y\"+d}var v=n(\"xaxes\",f),x=n(\"yaxes\",h),b=t._diag=new Array(a);t._xaxes={},t._yaxes={};var p=[],E=[];function k(F,q,V,H){if(F){var X=F.charAt(0),G=r._splomAxes[X];if(t[\"_\"+X+\"axes\"][F]=1,H.push(F),!(F in G)){var N=G[F]={};V&&(N.label=V.label||\"\",V.visible&&V.axis&&(V.axis.type&&(N.type=V.axis.type),V.axis.matches&&(N.matches=q)))}}}var A=!l&&!s,L=!l&&!o;for(t._axesDim={},u=0;u<a;u++){var _=i[u],C=u===0,M=u===a-1,g=C&&A||M&&L?void 0:v[u],P=C&&L||M&&A?void 0:x[u];k(g,P,_,p),k(P,g,_,E),b[u]=[g,P],t._axesDim[g]=u,t._axesDim[P]=u}for(u=0;u<p.length;u++)for(c=0;c<E.length;c++){var T=p[u]+E[c];(u>c&&o||u<c&&s||u===c&&(l||!s||!o))&&(r._splomSubplots[T]=1)}(!s||!l&&o&&s)&&(r._splomGridDflt.xside=\"bottom\",r._splomGridDflt.yside=\"left\")}});var OOe=ye((Bmr,qOe)=>{\"use strict\";var FOe=Mr();qOe.exports=function(t,r){var n=t._fullLayout,i=r.uid,a=n._splomScenes;a||(a=n._splomScenes={});var o={dirty:!0,selectBatch:[],unselectBatch:[]},s={matrix:!1,selectBatch:[],unselectBatch:[]},l=a[r.uid];return l||(l=a[i]=FOe.extendFlat({},o,s),l.draw=function(){l.matrix&&l.matrix.draw&&(l.selectBatch.length||l.unselectBatch.length?l.matrix.draw(l.unselectBatch,l.selectBatch):l.matrix.draw()),l.dirty=!1},l.destroy=function(){l.matrix&&l.matrix.destroy&&l.matrix.destroy(),l.matrixOptions=null,l.selectBatch=null,l.unselectBatch=null,l=null}),l.dirty||FOe.extendFlat(l,o),l}});var UOe=ye((Nmr,NOe)=>{\"use strict\";var rK=Mr(),TF=af(),$Bt=q0().calcMarkerSize,QBt=q0().calcAxisExpansion,eNt=z0(),BOe=Y2().markerSelection,tNt=Y2().markerStyle,rNt=OOe(),iNt=es().BADNUM,nNt=sx().TOO_MANY_POINTS;NOe.exports=function(t,r){var n=r.dimensions,i=r._length,a={},o=a.cdata=[],s=a.data=[],l=r._visibleDims=[],u,c,f,h,d;function v(k,A){for(var L=k.makeCalcdata({v:A.values,vcalendar:r.calendar},\"v\"),_=0;_<L.length;_++)L[_]=L[_]===iNt?NaN:L[_];o.push(L),s.push(k.type===\"log\"?rK.simpleMap(L,k.c2l):L)}for(u=0;u<n.length;u++)if(f=n[u],f.visible){if(h=TF.getFromId(t,r._diag[u][0]),d=TF.getFromId(t,r._diag[u][1]),h&&d&&h.type!==d.type){rK.log(\"Skipping splom dimension \"+u+\" with conflicting axis types\");continue}h?(v(h,f),d&&d.type===\"category\"&&(d._categories=h._categories.slice())):v(d,f),l.push(u)}eNt(t,r),rK.extendFlat(a,tNt(t,r));var x=o.length,b=x*i>nNt,p;for(b?p=a.sizeAvg||Math.max(a.size,3):p=$Bt(r,i),c=0;c<l.length;c++)u=l[c],f=n[u],h=TF.getFromId(t,r._diag[u][0])||{},d=TF.getFromId(t,r._diag[u][1])||{},QBt(t,r,h,d,o[c],o[c],p);var E=rNt(t,r);return E.matrix||(E.matrix=!0),E.matrixOptions=a,E.selectedOptions=BOe(t,r,r.selected),E.unselectedOptions=BOe(t,r,r.unselected),[{x:!1,y:!1,t:{},trace:r}]}});var HOe=ye((VOe,wk)=>{(function(){var e,t,r,n,i,a;typeof performance!=\"undefined\"&&performance!==null&&performance.now?wk.exports=function(){return performance.now()}:typeof process!=\"undefined\"&&process!==null&&process.hrtime?(wk.exports=function(){return(e()-i)/1e6},t=process.hrtime,e=function(){var o;return o=t(),o[0]*1e9+o[1]},n=e(),a=process.uptime()*1e9,i=n-a):Date.now?(wk.exports=function(){return Date.now()-r},r=Date.now()):(wk.exports=function(){return new Date().getTime()-r},r=new Date().getTime())}).call(VOe)});var jOe=ye((Umr,MF)=>{var aNt=HOe(),s1=window,AF=[\"moz\",\"webkit\"],vA=\"AnimationFrame\",pA=s1[\"request\"+vA],Tk=s1[\"cancel\"+vA]||s1[\"cancelRequest\"+vA];for(dA=0;!pA&&dA<AF.length;dA++)pA=s1[AF[dA]+\"Request\"+vA],Tk=s1[AF[dA]+\"Cancel\"+vA]||s1[AF[dA]+\"CancelRequest\"+vA];var dA;(!pA||!Tk)&&(SF=0,iK=0,vx=[],GOe=1e3/60,pA=function(e){if(vx.length===0){var t=aNt(),r=Math.max(0,GOe-(t-SF));SF=r+t,setTimeout(function(){var n=vx.slice(0);vx.length=0;for(var i=0;i<n.length;i++)if(!n[i].cancelled)try{n[i].callback(SF)}catch(a){setTimeout(function(){throw a},0)}},Math.round(r))}return vx.push({handle:++iK,callback:e,cancelled:!1}),iK},Tk=function(e){for(var t=0;t<vx.length;t++)vx[t].handle===e&&(vx[t].cancelled=!0)});var SF,iK,vx,GOe;MF.exports=function(e){return pA.call(s1,e)};MF.exports.cancel=function(){Tk.apply(s1,arguments)};MF.exports.polyfill=function(e){e||(e=s1),e.requestAnimationFrame=pA,e.cancelAnimationFrame=Tk}});var ZOe=ye((Vmr,WOe)=>{WOe.exports=function(t,r){var n=typeof t==\"number\",i=typeof r==\"number\";n&&!i?(r=t,t=0):!n&&!i&&(t=0,r=0),t=t|0,r=r|0;var a=r-t;if(a<0)throw new Error(\"array length must be positive\");for(var o=new Array(a),s=0,l=t;s<a;s++,l++)o[s]=l;return o}});var JOe=ye((Hmr,KOe)=>{\"use strict\";var oNt=QX(),sNt=Zm(),lNt=j2(),XOe=jOe(),uNt=ZOe(),nK=Q5(),cNt=W2();KOe.exports=px;function px(e,t){if(!(this instanceof px))return new px(e,t);this.traces=[],this.passes={},this.regl=e,this.scatter=oNt(e),this.canvas=this.scatter.canvas}px.prototype.render=function(...e){return e.length&&this.update(...e),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?this.planned==null&&(this.planned=XOe(()=>{this.draw(),this.dirty=!0,this.planned=null})):(this.draw(),this.dirty=!0,XOe(()=>{this.dirty=!1})),this)};px.prototype.update=function(...e){if(!e.length)return;for(let n=0;n<e.length;n++)this.updateItem(n,e[n]);this.traces=this.traces.filter(Boolean);let t=[],r=0;for(let n=0;n<this.traces.length;n++){let i=this.traces[n],a=this.traces[n].passes;for(let o=0;o<a.length;o++)t.push(this.passes[a[o]]);i.passOffset=r,r+=i.passes.length}return this.scatter.update(...t),this};px.prototype.updateItem=function(e,t){let{regl:r}=this;if(t===null)return this.traces[e]=null,this;if(!t)return this;let n=sNt(t,{data:\"data items columns rows values dimensions samples x\",snap:\"snap cluster\",size:\"sizes size radius\",color:\"colors color fill fill-color fillColor\",opacity:\"opacity alpha transparency opaque\",borderSize:\"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline\",borderColor:\"borderColors borderColor bordercolor stroke stroke-color strokeColor\",marker:\"markers marker shape\",range:\"range ranges databox dataBox\",viewport:\"viewport viewBox viewbox\",domain:\"domain domains area areas\",padding:\"pad padding paddings pads margin margins\",transpose:\"transpose transposed\",diagonal:\"diagonal diag showDiagonal\",upper:\"upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf\",lower:\"lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower\"}),i=this.traces[e]||(this.traces[e]={id:e,buffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),color:\"black\",marker:null,size:12,borderColor:\"transparent\",borderSize:1,viewport:nK([r._gl.drawingBufferWidth,r._gl.drawingBufferHeight]),padding:[0,0,0,0],opacity:1,diagonal:!0,upper:!0,lower:!0});if(n.color!=null&&(i.color=n.color),n.size!=null&&(i.size=n.size),n.marker!=null&&(i.marker=n.marker),n.borderColor!=null&&(i.borderColor=n.borderColor),n.borderSize!=null&&(i.borderSize=n.borderSize),n.opacity!=null&&(i.opacity=n.opacity),n.viewport&&(i.viewport=nK(n.viewport)),n.diagonal!=null&&(i.diagonal=n.diagonal),n.upper!=null&&(i.upper=n.upper),n.lower!=null&&(i.lower=n.lower),n.data){i.buffer(cNt(n.data)),i.columns=n.data.length,i.count=n.data[0].length,i.bounds=[];for(let x=0;x<i.columns;x++)i.bounds[x]=lNt(n.data[x],1)}let a;n.range&&(i.range=n.range,a=i.range&&typeof i.range[0]!=\"number\"),n.domain&&(i.domain=n.domain);let o=!1;n.padding!=null&&(Array.isArray(n.padding)&&n.padding.length===i.columns&&typeof n.padding[n.padding.length-1]==\"number\"?(i.padding=n.padding.map(YOe),o=!0):i.padding=YOe(n.padding));let s=i.columns,l=i.count,u=i.viewport.width,c=i.viewport.height,f=i.viewport.x,h=i.viewport.y,d=u/s,v=c/s;i.passes=[];for(let x=0;x<s;x++)for(let b=0;b<s;b++){if(!i.diagonal&&b===x||!i.upper&&x>b||!i.lower&&x<b)continue;let p=fNt(i.id,x,b),E=this.passes[p]||(this.passes[p]={});if(n.data&&(n.transpose?E.positions={x:{buffer:i.buffer,offset:b,count:l,stride:s},y:{buffer:i.buffer,offset:x,count:l,stride:s}}:E.positions={x:{buffer:i.buffer,offset:b*l,count:l},y:{buffer:i.buffer,offset:x*l,count:l}},E.bounds=EF(i.bounds,x,b)),n.domain||n.viewport||n.data){let k=o?EF(i.padding,x,b):i.padding;if(i.domain){let[A,L,_,C]=EF(i.domain,x,b);E.viewport=[f+A*u+k[0],h+L*c+k[1],f+_*u-k[2],h+C*c-k[3]]}else E.viewport=[f+b*d+d*k[0],h+x*v+v*k[1],f+(b+1)*d-d*k[2],h+(x+1)*v-v*k[3]]}n.color&&(E.color=i.color),n.size&&(E.size=i.size),n.marker&&(E.marker=i.marker),n.borderSize&&(E.borderSize=i.borderSize),n.borderColor&&(E.borderColor=i.borderColor),n.opacity&&(E.opacity=i.opacity),n.range&&(E.range=a?EF(i.range,x,b):i.range||E.bounds),i.passes.push(p)}return this};px.prototype.draw=function(...e){if(!e.length)this.scatter.draw();else{let t=[];for(let r=0;r<e.length;r++)if(typeof e[r]==\"number\"){let{passes:n,passOffset:i}=this.traces[e[r]];t.push(...uNt(i,i+n.length))}else if(e[r].length){let n=e[r],{passes:i,passOffset:a}=this.traces[r];i=i.map((o,s)=>{t[a+s]=n})}this.scatter.draw(...t)}return this};px.prototype.destroy=function(){return this.traces.forEach(e=>{e.buffer&&e.buffer.destroy&&e.buffer.destroy()}),this.traces=null,this.passes=null,this.scatter.destroy(),this};function fNt(e,t,r){let n=e.id!=null?e.id:e,i=t,a=r;return n<<16|(i&255)<<8|a&255}function EF(e,t,r){let n,i,a,o,s,l,u,c,f=e[t],h=e[r];return f.length>2?(n=f[0],a=f[2],i=f[1],o=f[3]):f.length?(n=i=f[0],a=o=f[1]):(n=f.x,i=f.y,a=f.x+f.width,o=f.y+f.height),h.length>2?(s=h[0],u=h[2],l=h[1],c=h[3]):h.length?(s=l=h[0],u=c=h[1]):(s=h.x,l=h.y,u=h.x+h.width,c=h.y+h.height),[s,i,u,o]}function YOe(e){if(typeof e==\"number\")return[e,e,e,e];if(e.length===2)return[e[0],e[1],e[0],e[1]];{let t=nK(e);return[t.x,t.y,t.x+t.width,t.y+t.height]}}});var QOe=ye((Gmr,$Oe)=>{\"use strict\";var hNt=JOe(),aK=Mr(),kF=af(),dNt=Sg().selectMode;$Oe.exports=function(t,r,n){if(n.length)for(var i=0;i<n.length;i++)vNt(t,n[i][0])};function vNt(e,t){var r=e._fullLayout,n=r._size,i=t.trace,a=t.t,o=r._splomScenes[i.uid],s=o.matrixOptions,l=s.cdata,u=r._glcanvas.data()[0].regl,c=r.dragmode,f,h,d,v,x;if(l.length!==0){s.lower=i.showupperhalf,s.upper=i.showlowerhalf,s.diagonal=i.diagonal.visible;var b=i._visibleDims,p=l.length,E=o.viewOpts={};for(E.ranges=new Array(p),E.domains=new Array(p),x=0;x<b.length;x++){d=b[x];var k=E.ranges[x]=new Array(4),A=E.domains[x]=new Array(4);f=kF.getFromId(e,i._diag[d][0]),f&&(k[0]=f._rl[0],k[2]=f._rl[1],A[0]=f.domain[0],A[2]=f.domain[1]),h=kF.getFromId(e,i._diag[d][1]),h&&(k[1]=h._rl[0],k[3]=h._rl[1],A[1]=h.domain[0],A[3]=h.domain[1])}var L=e._context.plotGlPixelRatio,_=n.l*L,C=n.b*L,M=n.w*L,g=n.h*L;E.viewport=[_,C,M+_,g+C],o.matrix===!0&&(o.matrix=hNt(u));var P=r.clickmode.indexOf(\"select\")>-1,T=dNt(c)||!!i.selectedpoints||P,F=!0;if(T){var q=i._length;if(i.selectedpoints){o.selectBatch=i.selectedpoints;var V=i.selectedpoints,H={};for(d=0;d<V.length;d++)H[V[d]]=!0;var X=[];for(d=0;d<q;d++)H[d]||X.push(d);o.unselectBatch=X}var G=a.xpx=new Array(p),N=a.ypx=new Array(p);for(x=0;x<b.length;x++){if(d=b[x],f=kF.getFromId(e,i._diag[d][0]),f)for(G[x]=new Array(q),v=0;v<q;v++)G[x][v]=f.c2p(l[x][v]);if(h=kF.getFromId(e,i._diag[d][1]),h)for(N[x]=new Array(q),v=0;v<q;v++)N[x][v]=h.c2p(l[x][v])}if(o.selectBatch.length||o.unselectBatch.length){var W=aK.extendFlat({},s,o.unselectedOptions,E),re=aK.extendFlat({},s,o.selectedOptions,E);o.matrix.update(W,re),F=!1}}else a.xpx=a.ypx=null;if(F){var ae=aK.extendFlat({},s,E);o.matrix.update(ae,null)}}}});var oK=ye(eBe=>{\"use strict\";eBe.getDimIndex=function(t,r){for(var n=r._id,i=n.charAt(0),a={x:0,y:1}[i],o=t._visibleDims,s=0;s<o.length;s++){var l=o[s];if(t._diag[l][a]===n)return s}return!1}});var aBe=ye((Wmr,nBe)=>{\"use strict\";var tBe=oK(),pNt=zz().calcHover,rBe=Qa().getFromId,gNt=no().extendFlat;function mNt(e,t,r,n,i){i||(i={});var a=(n||\"\").charAt(0)===\"x\",o=(n||\"\").charAt(0)===\"y\",s=iBe(e,t,r);if((a||o)&&i.hoversubplots===\"axis\"&&s[0])for(var l=(a?e.xa:e.ya)._subplotsWith,u=i.gd,c=gNt({},e),f=0;f<l.length;f++){var h=l[f];if(h!==e.xa._id+e.ya._id){o?c.xa=rBe(u,h,\"x\"):c.ya=rBe(u,h,\"y\");var d=a||o,v=iBe(c,t,r,d);s=s.concat(v)}}return s}function iBe(e,t,r,n){var i=e.cd,a=i[0].trace,o=e.scene,s=o.matrixOptions.cdata,l=e.xa,u=e.ya,c=l.c2p(t),f=u.c2p(r),h=e.distance,d=tBe.getDimIndex(a,l),v=tBe.getDimIndex(a,u);if(d===!1||v===!1)return[e];for(var x=s[d],b=s[v],p,E,k=h,A=0;A<x.length;A++)if(!(n&&A!==e.index)){var L=x[A],_=b[A],C=l.c2p(L)-c,M=u.c2p(_)-f,g=Math.sqrt(C*C+M*M);(n||g<k)&&(k=E=g,p=A)}return e.index=p,e.distance=k,e.dxy=E,p===void 0?[e]:[pNt(e,x,b,a)]}nBe.exports={hoverPoints:mNt}});var fBe=ye((Zmr,cBe)=>{\"use strict\";var uBe=Mr(),oBe=uBe.pushUnique,sBe=lu(),lBe=oK();cBe.exports=function(t,r){var n=t.cd,i=n[0].trace,a=n[0].t,o=t.scene,s=o.matrixOptions.cdata,l=t.xaxis,u=t.yaxis,c=[];if(!o)return c;var f=!sBe.hasMarkers(i)&&!sBe.hasText(i);if(i.visible!==!0||f)return c;var h=lBe.getDimIndex(i,l),d=lBe.getDimIndex(i,u);if(h===!1||d===!1)return c;var v=a.xpx[h],x=a.ypx[d],b=s[h],p=s[d],E=(t.scene.selectBatch||[]).slice(),k=[];if(r!==!1&&!r.degenerate)for(var A=0;A<b.length;A++)r.contains([v[A],x[A]],null,A,t)?(c.push({pointNumber:A,x:b[A],y:p[A]}),oBe(E,A)):E.indexOf(A)!==-1?oBe(E,A):k.push(A);var L=o.matrixOptions;return!E.length&&!k.length?o.matrix.update(L,null):!o.selectBatch.length&&!o.unselectBatch.length&&o.matrix.update(o.unselectedOptions,uBe.extendFlat({},L,o.selectedOptions,o.viewOpts)),o.selectBatch=E,o.unselectBatch=k,c}});var vBe=ye((Xmr,dBe)=>{\"use strict\";var hBe=Mr(),yNt=z0(),_Nt=Y2().markerStyle;dBe.exports=function(t,r){var n=r.trace,i=t._fullLayout._splomScenes[n.uid];if(i){yNt(t,n),hBe.extendFlat(i.matrixOptions,_Nt(t,n));var a=hBe.extendFlat({},i.matrixOptions,i.viewOpts);i.matrix.update(a,null)}}});var gBe=ye((Ymr,pBe)=>{\"use strict\";var xNt=ba(),bNt=nV();pBe.exports={moduleType:\"trace\",name:\"splom\",categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:eK(),supplyDefaults:zOe(),colorbar:Kd(),calc:UOe(),plot:QOe(),hoverPoints:aBe().hoverPoints,selectPoints:fBe(),editStyle:vBe(),meta:{}};xNt.register(bNt)});var wBe=ye((Kmr,bBe)=>{\"use strict\";var wNt=LY(),TNt=ba(),ANt=xF(),SNt=kd().getModuleCalcData,gx=Jf(),mBe=af().getFromId,yBe=Qa().shouldShowZeroLine,_Be=\"splom\",xBe={};function MNt(e){var t=e._fullLayout,r=TNt.getModule(_Be),n=SNt(e.calcdata,r)[0],i=ANt(e,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"],xBe);i&&(t._hasOnlyLargeSploms&&sK(e),r.plot(e,{},n))}function ENt(e){var t=e.calcdata,r=e._fullLayout;r._hasOnlyLargeSploms&&sK(e);for(var n=0;n<t.length;n++){var i=t[n][0],a=i.trace,o=r._splomScenes[a.uid];a.type===\"splom\"&&o&&o.matrix&&kNt(e,a,o)}}function kNt(e,t,r){for(var n=r.matrixOptions.data.length,i=t._visibleDims,a=r.viewOpts.ranges=new Array(n),o=0;o<i.length;o++){var s=i[o],l=a[o]=new Array(4),u=mBe(e,t._diag[s][0]);u&&(l[0]=u.r2l(u.range[0]),l[2]=u.r2l(u.range[1]));var c=mBe(e,t._diag[s][1]);c&&(l[1]=c.r2l(c.range[0]),l[3]=c.r2l(c.range[1]))}r.selectBatch.length||r.unselectBatch.length?r.matrix.update({ranges:a},{ranges:a}):r.matrix.update({ranges:a})}function sK(e){var t=e._fullLayout,r=t._glcanvas.data()[0].regl,n=t._splomGrid;n||(n=t._splomGrid=wNt(r)),n.update(CNt(e))}function CNt(e){var t=e._context.plotGlPixelRatio,r=e._fullLayout,n=r._size,i=[0,0,r.width*t,r.height*t],a={},o;function s(_,C,M,g,P,T){M*=t,g*=t,P*=t,T*=t;var F=C[_+\"color\"],q=C[_+\"width\"],V=String(F+q);V in a?a[V].data.push(NaN,NaN,M,g,P,T):a[V]={data:[M,g,P,T],join:\"rect\",thickness:q*t,color:F,viewport:i,range:i,overlay:!1}}for(o in r._splomSubplots){var l=r._plots[o],u=l.xaxis,c=l.yaxis,f=u._gridVals,h=c._gridVals,d=u._offset,v=u._length,x=c._length,b=n.b+c.domain[0]*n.h,p=-c._m,E=-p*c.r2l(c.range[0],c.calendar),k,A;if(u.showgrid)for(o=0;o<f.length;o++)k=d+u.l2p(f[o].x),s(\"grid\",u,k,b,k,b+x);if(c.showgrid)for(o=0;o<h.length;o++)A=b+E+p*h[o].x,s(\"grid\",c,d,A,d+v,A);yBe(e,u,c)&&(k=d+u.l2p(0),s(\"zeroline\",u,k,b,k,b+x)),yBe(e,c,u)&&(A=b+E+0,s(\"zeroline\",c,d,A,d+v,A))}var L=[];for(o in a)L.push(a[o]);return L}function LNt(e,t,r,n){var i={},a;if(n._splomScenes){for(a=0;a<e.length;a++){var o=e[a];o.type===\"splom\"&&(i[o.uid]=1)}for(a=0;a<r.length;a++){var s=r[a];if(!i[s.uid]){var l=n._splomScenes[s.uid];l&&l.destroy&&l.destroy(),n._splomScenes[s.uid]=null,delete n._splomScenes[s.uid]}}}Object.keys(n._splomScenes||{}).length===0&&delete n._splomScenes,n._splomGrid&&!t._hasOnlyLargeSploms&&n._hasOnlyLargeSploms&&(n._splomGrid.destroy(),n._splomGrid=null,delete n._splomGrid),gx.clean(e,t,r,n)}bBe.exports={name:_Be,attr:gx.attr,attrRegex:gx.attrRegex,layoutAttributes:gx.layoutAttributes,supplyLayoutDefaults:gx.supplyLayoutDefaults,drawFramework:gx.drawFramework,plot:MNt,drag:ENt,updateGrid:sK,clean:LNt,updateFx:gx.updateFx,toSVG:gx.toSVG,reglPrecompiled:xBe}});var SBe=ye((Jmr,ABe)=>{\"use strict\";var TBe=gBe();TBe.basePlotModule=wBe(),ABe.exports=TBe});var EBe=ye(($mr,MBe)=>{\"use strict\";MBe.exports=SBe()});var cK=ye((Qmr,kBe)=>{\"use strict\";var PNt=Jl(),lK=Cd(),uK=Su(),INt=Ju().attributes,CF=no().extendFlat,RNt=Vs().templatedArray;kBe.exports={domain:INt({name:\"parcoords\",trace:!0,editType:\"plot\"}),labelangle:{valType:\"angle\",dflt:0,editType:\"plot\"},labelside:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},labelfont:uK({editType:\"plot\"}),tickfont:uK({autoShadowDflt:!0,editType:\"plot\"}),rangefont:uK({editType:\"plot\"}),dimensions:RNt(\"dimension\",{label:{valType:\"string\",editType:\"plot\"},tickvals:CF({},lK.tickvals,{editType:\"plot\"}),ticktext:CF({},lK.ticktext,{editType:\"plot\"}),tickformat:CF({},lK.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:CF({editType:\"calc\"},PNt(\"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\"}}});var Ak=ye((eyr,CBe)=>{\"use strict\";CBe.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:[\"contextLineLayer\",\"focusLineLayer\",\"pickLineLayer\"],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,captureWidth:10,fillColor:\"magenta\",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:\"axis-extent-text\",parcoordsLineLayers:\"parcoords-line-layers\",parcoordsLineLayer:\"parcoords-lines\",parcoords:\"parcoords\",parcoordsControlView:\"parcoords-control-view\",yAxis:\"y-axis\",axisOverlays:\"axis-overlays\",axis:\"axis\",axisHeading:\"axis-heading\",axisTitle:\"axis-title\",axisExtent:\"axis-extent\",axisExtentTop:\"axis-extent-top\",axisExtentTopText:\"axis-extent-top-text\",axisExtentBottom:\"axis-extent-bottom\",axisExtentBottomText:\"axis-extent-bottom-text\",axisBrush:\"axis-brush\"},id:{filterBarPattern:\"filter-bar-pattern\"}}});var Km=ye((tyr,PBe)=>{\"use strict\";var DNt=OS();function LBe(e){return[e]}PBe.exports={keyFun:function(e){return e.key},repeat:LBe,descend:DNt,wrap:LBe,unwrap:function(e){return e[0]}}});var dK=ye((ryr,VBe)=>{\"use strict\";var th=Ak(),em=xa(),zNt=Km().keyFun,LF=Km().repeat,gA=Mr().sorterAsc,FNt=Mr().strTranslate,IBe=th.bar.snapRatio;function RBe(e,t){return e*(1-IBe)+t*IBe}var DBe=th.bar.snapClose;function qNt(e,t){return e*(1-DBe)+t*DBe}function IF(e,t,r,n){if(ONt(r,n))return r;var i=e?-1:1,a=0,o=t.length-1;if(i<0){var s=a;a=o,o=s}for(var l=t[a],u=l,c=a;i*c<i*o;c+=i){var f=c+i,h=t[f];if(i*r<i*qNt(l,h))return RBe(l,u);if(i*r<i*h||f===o)return RBe(h,l);u=l,l=h}}function ONt(e,t){for(var r=0;r<t.length;r++)if(e>=t[r][0]&&e<=t[r][1])return!0;return!1}function BNt(e){e.attr(\"x\",-th.bar.captureWidth/2).attr(\"width\",th.bar.captureWidth)}function NNt(e){e.attr(\"visibility\",\"visible\").style(\"visibility\",\"visible\").attr(\"fill\",\"yellow\").attr(\"opacity\",0)}function UNt(e){if(!e.brush.filterSpecified)return\"0,\"+e.height;for(var t=zBe(e.brush.filter.getConsolidated(),e.height),r=[0],n,i,a,o=t.length?t[0][0]:null,s=0;s<t.length;s++)n=t[s],i=n[1]-n[0],r.push(o),r.push(i),a=s+1,a<t.length&&(o=t[a][0]-n[1]);return r.push(e.height),r}function zBe(e,t){return e.map(function(r){return r.map(function(n){return Math.max(0,n*t)}).sort(gA)})}function VNt(e,t){var r=th.bar.handleHeight;if(!(t>e[1]+r||t<e[0]-r))return t>=.9*e[1]+.1*e[0]?\"n\":t<=.9*e[0]+.1*e[1]?\"s\":\"ns\"}function FBe(){em.select(document.body).style(\"cursor\",null)}function hK(e){e.attr(\"stroke-dasharray\",UNt)}function PF(e,t){var r=em.select(e).selectAll(\".highlight, .highlight-shadow\"),n=t?r.transition().duration(th.bar.snapDuration).each(\"end\",t):r;hK(n)}function qBe(e,t){var r=e.brush,n=r.filterSpecified,i=NaN,a={},o;if(n){var s=e.height,l=r.filter.getConsolidated(),u=zBe(l,s),c=NaN,f=NaN,h=NaN;for(o=0;o<=u.length;o++){var d=u[o];if(d&&d[0]<=t&&t<=d[1]){c=o;break}else if(f=o?o-1:NaN,d&&d[0]>t){h=o;break}}if(i=c,isNaN(i)&&(isNaN(f)||isNaN(h)?i=isNaN(f)?h:f:i=t-u[f][1]<u[h][0]-t?f:h),!isNaN(i)){var v=u[i],x=VNt(v,t);x&&(a.interval=l[i],a.intervalPix=v,a.region=x)}}if(e.ordinal&&!a.region){var b=e.unitTickvals,p=e.unitToPaddedPx.invert(t);for(o=0;o<b.length;o++){var E=[b[Math.max(o-1,0)]*.25+b[o]*.75,b[Math.min(o+1,b.length-1)]*.25+b[o]*.75];if(p>=E[0]&&p<=E[1]){a.clickableOrdinalRange=E;break}}}return a}function HNt(e,t){em.event.sourceEvent.stopPropagation();var r=t.height-em.mouse(e)[1]-2*th.verticalPadding,n=t.unitToPaddedPx.invert(r),i=t.brush,a=qBe(t,r),o=a.interval,s=i.svgBrush;if(s.wasDragged=!1,s.grabbingBar=a.region===\"ns\",s.grabbingBar){var l=o.map(t.unitToPaddedPx);s.grabPoint=r-l[0]-th.verticalPadding,s.barLength=l[1]-l[0]}s.clickableOrdinalRange=a.clickableOrdinalRange,s.stayingIntervals=t.multiselect&&i.filterSpecified?i.filter.getConsolidated():[],o&&(s.stayingIntervals=s.stayingIntervals.filter(function(u){return u[0]!==o[0]&&u[1]!==o[1]})),s.startExtent=a.region?o[a.region===\"s\"?1:0]:n,t.parent.inBrushDrag=!0,s.brushStartCallback()}function OBe(e,t){em.event.sourceEvent.stopPropagation();var r=t.height-em.mouse(e)[1]-2*th.verticalPadding,n=t.brush.svgBrush;n.wasDragged=!0,n._dragging=!0,n.grabbingBar?n.newExtent=[r-n.grabPoint,r+n.barLength-n.grabPoint].map(t.unitToPaddedPx.invert):n.newExtent=[n.startExtent,t.unitToPaddedPx.invert(r)].sort(gA),t.brush.filterSpecified=!0,n.extent=n.stayingIntervals.concat([n.newExtent]),n.brushCallback(t),PF(e.parentNode)}function GNt(e,t){var r=t.brush,n=r.filter,i=r.svgBrush;i._dragging||(BBe(e,t),OBe(e,t),t.brush.svgBrush.wasDragged=!1),i._dragging=!1;var a=em.event;a.sourceEvent.stopPropagation();var o=i.grabbingBar;if(i.grabbingBar=!1,i.grabLocation=void 0,t.parent.inBrushDrag=!1,FBe(),!i.wasDragged){i.wasDragged=void 0,i.clickableOrdinalRange?r.filterSpecified&&t.multiselect?i.extent.push(i.clickableOrdinalRange):(i.extent=[i.clickableOrdinalRange],r.filterSpecified=!0):o?(i.extent=i.stayingIntervals,i.extent.length===0&&fK(r)):fK(r),i.brushCallback(t),PF(e.parentNode),i.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);return}var s=function(){n.set(n.getConsolidated())};if(t.ordinal){var l=t.unitTickvals;l[l.length-1]<l[0]&&l.reverse(),i.newExtent=[IF(0,l,i.newExtent[0],i.stayingIntervals),IF(1,l,i.newExtent[1],i.stayingIntervals)];var u=i.newExtent[1]>i.newExtent[0];i.extent=i.stayingIntervals.concat(u?[i.newExtent]:[]),i.extent.length||fK(r),i.brushCallback(t),u?PF(e.parentNode,s):(s(),PF(e.parentNode))}else s();i.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}function BBe(e,t){var r=t.height-em.mouse(e)[1]-2*th.verticalPadding,n=qBe(t,r),i=\"crosshair\";n.clickableOrdinalRange?i=\"pointer\":n.region&&(i=n.region+\"-resize\"),em.select(document.body).style(\"cursor\",i)}function jNt(e){e.on(\"mousemove\",function(t){em.event.preventDefault(),t.parent.inBrushDrag||BBe(this,t)}).on(\"mouseleave\",function(t){t.parent.inBrushDrag||FBe()}).call(em.behavior.drag().on(\"dragstart\",function(t){HNt(this,t)}).on(\"drag\",function(t){OBe(this,t)}).on(\"dragend\",function(t){GNt(this,t)}))}function NBe(e,t){return e[0]-t[0]}function WNt(e,t,r){var n=r._context.staticPlot,i=e.selectAll(\".background\").data(LF);i.enter().append(\"rect\").classed(\"background\",!0).call(BNt).call(NNt).style(\"pointer-events\",n?\"none\":\"auto\").attr(\"transform\",FNt(0,th.verticalPadding)),i.call(jNt).attr(\"height\",function(s){return s.height-th.verticalPadding});var a=e.selectAll(\".highlight-shadow\").data(LF);a.enter().append(\"line\").classed(\"highlight-shadow\",!0).attr(\"x\",-th.bar.width/2).attr(\"stroke-width\",th.bar.width+th.bar.strokeWidth).attr(\"stroke\",t).attr(\"opacity\",th.bar.strokeOpacity).attr(\"stroke-linecap\",\"butt\"),a.attr(\"y1\",function(s){return s.height}).call(hK);var o=e.selectAll(\".highlight\").data(LF);o.enter().append(\"line\").classed(\"highlight\",!0).attr(\"x\",-th.bar.width/2).attr(\"stroke-width\",th.bar.width-th.bar.strokeWidth).attr(\"stroke\",th.bar.fillColor).attr(\"opacity\",th.bar.fillOpacity).attr(\"stroke-linecap\",\"butt\"),o.attr(\"y1\",function(s){return s.height}).call(hK)}function ZNt(e,t,r){var n=e.selectAll(\".\"+th.cn.axisBrush).data(LF,zNt);n.enter().append(\"g\").classed(th.cn.axisBrush,!0),WNt(n,t,r)}function XNt(e){return e.svgBrush.extent.map(function(t){return t.slice()})}function fK(e){e.filterSpecified=!1,e.svgBrush.extent=[[-1/0,1/0]]}function YNt(e){return function(r){var n=r.brush,i=XNt(n),a=i.slice();n.filter.set(a),e()}}function UBe(e){for(var t=e.slice(),r=[],n,i=t.shift();i;){for(n=i.slice();(i=t.shift())&&i[0]<=n[1];)n[1]=Math.max(n[1],i[1]);r.push(n)}return r.length===1&&r[0][0]>r[0][1]&&(r=[]),r}function KNt(){var e=[],t,r;return{set:function(n){e=n.map(function(i){return i.slice().sort(gA)}).sort(NBe),e.length===1&&e[0][0]===-1/0&&e[0][1]===1/0&&(e=[[0,-1]]),t=UBe(e),r=e.reduce(function(i,a){return[Math.min(i[0],a[0]),Math.max(i[1],a[1])]},[1/0,-1/0])},get:function(){return e.slice()},getConsolidated:function(){return t},getBounds:function(){return r}}}function JNt(e,t,r,n,i,a){var o=KNt();return o.set(r),{filter:o,filterSpecified:t,svgBrush:{extent:[],brushStartCallback:n,brushCallback:YNt(i),brushEndCallback:a}}}function $Nt(e,t){if(Array.isArray(e[0])?(e=e.map(function(n){return n.sort(gA)}),t.multiselect?e=UBe(e.sort(NBe)):e=[e[0]]):e=[e.sort(gA)],t.tickvals){var r=t.tickvals.slice().sort(gA);if(e=e.map(function(n){var i=[IF(0,r,n[0],[]),IF(1,r,n[1],[])];if(i[1]>i[0])return i}).filter(function(n){return n}),!e.length)return}return e.length>1?e:e[0]}VBe.exports={makeBrush:JNt,ensureAxisBrush:ZNt,cleanRanges:$Nt}});var jBe=ye((iyr,GBe)=>{\"use strict\";var mx=Mr(),QNt=Dv().hasColorscale,eUt=Uh(),tUt=Ju().defaults,rUt=Zd(),iUt=Qa(),HBe=cK(),nUt=dK(),vK=Ak().maxDimensionCount,aUt=wF();function oUt(e,t,r,n,i){var a=i(\"line.color\",r);if(QNt(e,\"line\")&&mx.isArrayOrTypedArray(a)){if(a.length)return i(\"line.colorscale\"),eUt(e,t,n,i,{prefix:\"line.\",cLetter:\"c\"}),a.length;t.line.color=r}return 1/0}function sUt(e,t,r,n){function i(u,c){return mx.coerce(e,t,HBe.dimensions,u,c)}var a=i(\"values\"),o=i(\"visible\");if(a&&a.length||(o=t.visible=!1),o){i(\"label\"),i(\"tickvals\"),i(\"ticktext\"),i(\"tickformat\");var s=i(\"range\");t._ax={_id:\"y\",type:\"linear\",showexponent:\"all\",exponentformat:\"B\",range:s},iUt.setConvert(t._ax,n.layout),i(\"multiselect\");var l=i(\"constraintrange\");l&&(t.constraintrange=nUt.cleanRanges(l,t))}}GBe.exports=function(t,r,n,i){function a(c,f){return mx.coerce(t,r,HBe,c,f)}var o=t.dimensions;Array.isArray(o)&&o.length>vK&&(mx.log(\"parcoords traces support up to \"+vK+\" dimensions at the moment\"),o.splice(vK));var s=rUt(t,r,{name:\"dimensions\",layout:i,handleItemDefaults:sUt}),l=oUt(t,r,n,i,a);tUt(r,i,a),(!Array.isArray(s)||!s.length)&&(r.visible=!1),aUt(r,s,\"values\",l);var u=mx.extendFlat({},i.font,{size:Math.round(i.font.size/1.2)});mx.coerceFont(a,\"labelfont\",u),mx.coerceFont(a,\"tickfont\",u,{autoShadowDflt:!0}),mx.coerceFont(a,\"rangefont\",u),a(\"labelangle\"),a(\"labelside\"),a(\"unselected.line.color\"),a(\"unselected.line.opacity\")}});var ZBe=ye((nyr,WBe)=>{\"use strict\";var lUt=Mr().isArrayOrTypedArray,pK=Mu(),uUt=Km().wrap;WBe.exports=function(t,r){var n,i;return pK.hasColorscale(r,\"line\")&&lUt(r.line.color)?(n=r.line.color,i=pK.extractOpts(r.line).colorscale,pK.calc(t,r,{vals:n,containerStr:\"line\",cLetter:\"c\"})):(n=cUt(r._length),i=[[0,r.line.color],[1,r.line.color]]),uUt({lineColor:n,cscale:i})};function cUt(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=.5;return t}});function fUt(e){var c,f;var t,r=[],n=1,i;if(typeof e==\"number\")return{space:\"rgb\",values:[e>>>16,(e&65280)>>>8,e&255],alpha:1};if(typeof e==\"number\")return{space:\"rgb\",values:[e>>>16,(e&65280)>>>8,e&255],alpha:1};if(e=String(e).toLowerCase(),gK.default[e])r=gK.default[e].slice(),i=\"rgb\";else if(e===\"transparent\")n=0,i=\"rgb\",r=[0,0,0];else if(e[0]===\"#\"){var a=e.slice(1),o=a.length,s=o<=4;n=1,s?(r=[parseInt(a[0]+a[0],16),parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16)],o===4&&(n=parseInt(a[3]+a[3],16)/255)):(r=[parseInt(a[0]+a[1],16),parseInt(a[2]+a[3],16),parseInt(a[4]+a[5],16)],o===8&&(n=parseInt(a[6]+a[7],16)/255)),r[0]||(r[0]=0),r[1]||(r[1]=0),r[2]||(r[2]=0),i=\"rgb\"}else if(t=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\\s*\\(([^\\)]*)\\)/.exec(e)){var l=t[1];i=l.replace(/a$/,\"\");var u=i===\"cmyk\"?4:i===\"gray\"?1:3;r=t[2].trim().split(/\\s*[,\\/]\\s*|\\s+/),i===\"color\"&&(i=r.shift()),r=r.map(function(h,d){if(h[h.length-1]===\"%\")return h=parseFloat(h)/100,d===3?h:i===\"rgb\"?h*255:i[0]===\"h\"||i[0]===\"l\"&&!d?h*100:i===\"lab\"?h*125:i===\"lch\"?d<2?h*150:h*360:i[0]===\"o\"&&!d?h:i===\"oklab\"?h*.4:i===\"oklch\"?d<2?h*.4:h*360:h;if(i[d]===\"h\"||d===2&&i[i.length-1]===\"h\"){if(XBe[h]!==void 0)return XBe[h];if(h.endsWith(\"deg\"))return parseFloat(h);if(h.endsWith(\"turn\"))return parseFloat(h)*360;if(h.endsWith(\"grad\"))return parseFloat(h)*360/400;if(h.endsWith(\"rad\"))return parseFloat(h)*180/Math.PI}return h===\"none\"?0:parseFloat(h)}),n=r.length>u?r.pop():1}else/[0-9](?:\\s|\\/|,)/.test(e)&&(r=e.match(/([0-9]+)/g).map(function(h){return parseFloat(h)}),i=((f=(c=e.match(/([a-z])/ig))==null?void 0:c.join(\"\"))==null?void 0:f.toLowerCase())||\"rgb\");return{space:i,values:r,alpha:n}}var gK,YBe,XBe,KBe=Ll(()=>{gK=YQe(rZ(),1),YBe=fUt,XBe={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}});var Sk,mK=Ll(()=>{Sk={name:\"rgb\",min:[0,0,0],max:[255,255,255],channel:[\"red\",\"green\",\"blue\"],alias:[\"RGB\"]}});var RF,JBe=Ll(()=>{mK();RF={name:\"hsl\",min:[0,0,0],max:[360,100,100],channel:[\"hue\",\"saturation\",\"lightness\"],alias:[\"HSL\"],rgb:function(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100,i,a,o,s,l,u=0;if(r===0)return l=n*255,[l,l,l];for(a=n<.5?n*(1+r):n+r-n*r,i=2*n-a,s=[0,0,0];u<3;)o=t+1/3*-(u-1),o<0?o++:o>1&&o--,l=6*o<1?i+(a-i)*6*o:2*o<1?a:3*o<2?i+(a-i)*(2/3-o)*6:i,s[u++]=l*255;return s}};Sk.hsl=function(e){var t=e[0]/255,r=e[1]/255,n=e[2]/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=a-i,s,l,u;return a===i?s=0:t===a?s=(r-n)/o:r===a?s=2+(n-t)/o:n===a&&(s=4+(t-r)/o),s=Math.min(s*60,360),s<0&&(s+=360),u=(i+a)/2,a===i?l=0:u<=.5?l=o/(a+i):l=o/(2-a-i),[s,l*100,u*100]}});var QBe={};QQ(QBe,{default:()=>$Be});function $Be(e){Array.isArray(e)&&e.raw&&(e=String.raw(...arguments)),e instanceof Number&&(e=+e);var t,r,n,i=YBe(e);if(!i.space)return[];let a=i.space[0]===\"h\"?RF.min:Sk.min,o=i.space[0]===\"h\"?RF.max:Sk.max;return t=Array(3),t[0]=Math.min(Math.max(i.values[0],a[0]),o[0]),t[1]=Math.min(Math.max(i.values[1],a[1]),o[1]),t[2]=Math.min(Math.max(i.values[2],a[2]),o[2]),i.space[0]===\"h\"&&(t=RF.rgb(t)),t.push(Math.min(Math.max(i.alpha,0),1)),t}var eNe=Ll(()=>{KBe();mK();JBe()});var yK=ye(DF=>{\"use strict\";var hUt=Mr().isTypedArray;DF.convertTypedArray=function(e){return hUt(e)?Array.prototype.slice.call(e):e};DF.isOrdinal=function(e){return!!e.tickvals};DF.isVisible=function(e){return e.visible||!(\"visible\"in e)}});var cNe=ye((dyr,uNe)=>{\"use strict\";var dUt=[\"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", - "`),vUt=[\"precision highp float;\",\"\",\"varying vec4 fragColor;\",\"\",\"void main() {\",\" gl_FragColor = fragColor;\",\"}\"].join(`\n", - "`),Mk=Ak().maxDimensionCount,oNe=Mr(),tNe=1e-6,zF=2048,pUt=new Uint8Array(4),rNe=new Uint8Array(4),iNe={shape:[256,1],format:\"rgba\",type:\"uint8\",mag:\"nearest\",min:\"nearest\"};function gUt(e){e.read({x:0,y:0,width:1,height:1,data:pUt})}function sNe(e,t,r,n,i){var a=e._gl;a.enable(a.SCISSOR_TEST),a.scissor(t,r,n,i),e.clear({color:[0,0,0,0],depth:1})}function mUt(e,t,r,n,i,a){var o=a.key;function s(l){var u=Math.min(n,i-l*n);l===0&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],sNe(e,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),!r.clearOnly&&(a.count=2*u,a.offset=2*l*n,t(a),l*n+u<i&&(r.currentRafs[o]=window.requestAnimationFrame(function(){s(l+1)})),r.drawCompleted=!1)}r.drawCompleted||(gUt(e),r.drawCompleted=!0),s(0)}function yUt(e){return Math.max(tNe,Math.min(1-tNe,e))}function _Ut(e,t){for(var r=new Array(256),n=0;n<256;n++)r[n]=e(n/255).concat(t);return r}function _K(e,t){return(e>>>8*t)%256/255}function xUt(e,t,r){for(var n=new Array(e*(Mk+4)),i=0,a=0;a<e;a++){for(var o=0;o<Mk;o++)n[i++]=o<t.length?t[o].paddedUnitValues[a]:.5;n[i++]=_K(a,2),n[i++]=_K(a,1),n[i++]=_K(a,0),n[i++]=yUt(r[a])}return n}function bUt(e,t,r){for(var n=new Array(t*8),i=0,a=0;a<t;a++)for(var o=0;o<2;o++)for(var s=0;s<4;s++){var l=e*4+s,u=r[a*64+l];l===63&&o===0&&(u*=-1),n[i++]=u}return n}function nNe(e){var t=\"0\"+e;return t.substr(t.length-2)}function lNe(e){return e<Mk?\"p\"+nNe(e+1)+\"_\"+nNe(e+4):\"colors\"}function wUt(e,t,r){for(var n=0;n<=Mk;n+=4)e[lNe(n)](bUt(n/4,t,r))}function TUt(e){for(var t={},r=0;r<=Mk;r+=4)t[lNe(r)]=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)});return t}function AUt(e,t,r,n,i,a,o,s,l,u,c,f,h,d){for(var v=[[],[]],x=0;x<64;x++)v[0][x]=x===i?1:0,v[1][x]=x===a?1:0;o*=d,s*=d,l*=d,u*=d;var b=e.lines.canvasOverdrag*d,p=e.domain,E=e.canvasWidth*d,k=e.canvasHeight*d,A=e.pad.l*d,L=e.pad.b*d,_=e.layoutHeight*d,C=e.layoutWidth*d,M=e.deselectedLines.color,g=e.deselectedLines.opacity,P=oNe.extendFlat({key:c,resolution:[E,k],viewBoxPos:[o+b,s],viewBoxSize:[l,u],i0:i,i1:a,dim0A:v[0].slice(0,16),dim0B:v[0].slice(16,32),dim0C:v[0].slice(32,48),dim0D:v[0].slice(48,64),dim1A:v[1].slice(0,16),dim1B:v[1].slice(16,32),dim1C:v[1].slice(32,48),dim1D:v[1].slice(48,64),drwLayer:f,contextColor:[M[0]/255,M[1]/255,M[2]/255,g!==\"auto\"?M[3]*g:Math.max(1/255,Math.pow(1/e.lines.color.length,1/3))],scissorX:(n===t?0:o+b)+(A-b)+C*p.x[0],scissorWidth:(n===r?E-o+b:l+.5)+(n===t?o+b:0),scissorY:s+L+_*p.y[0],scissorHeight:u,viewportX:A-b+C*p.x[0],viewportY:L+_*p.y[0],viewportWidth:E,viewportHeight:k},h);return P}function aNe(e){var t=zF-1,r=Math.max(0,Math.floor(e[0]*t),0),n=Math.min(t,Math.ceil(e[1]*t),t);return[Math.min(r,n),Math.max(r,n)]}uNe.exports=function(e,t){var r=t.context,n=t.pick,i=t.regl,a=i._gl,o=a.getParameter(a.ALIASED_LINE_WIDTH_RANGE),s=Math.max(o[0],Math.min(o[1],t.viewModel.plotGlPixelRatio)),l={currentRafs:{},drawCompleted:!0,clearOnly:!1},u,c,f,h,d=TUt(i),v,x=i.texture(iNe),b=[];E(t);var p=i({profile:!1,blend:{enable:r,func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:1,dstAlpha:1},equation:{rgb:\"add\",alpha:\"add\"},color:[0,0,0,0]},depth:{enable:!r,mask:!0,func:\"less\",range:[0,1]},cull:{enable:!0,face:\"back\"},scissor:{enable:!0,box:{x:i.prop(\"scissorX\"),y:i.prop(\"scissorY\"),width:i.prop(\"scissorWidth\"),height:i.prop(\"scissorHeight\")}},viewport:{x:i.prop(\"viewportX\"),y:i.prop(\"viewportY\"),width:i.prop(\"viewportWidth\"),height:i.prop(\"viewportHeight\")},dither:!1,vert:dUt,frag:vUt,primitive:\"lines\",lineWidth:s,attributes:d,uniforms:{resolution:i.prop(\"resolution\"),viewBoxPos:i.prop(\"viewBoxPos\"),viewBoxSize:i.prop(\"viewBoxSize\"),dim0A:i.prop(\"dim0A\"),dim1A:i.prop(\"dim1A\"),dim0B:i.prop(\"dim0B\"),dim1B:i.prop(\"dim1B\"),dim0C:i.prop(\"dim0C\"),dim1C:i.prop(\"dim1C\"),dim0D:i.prop(\"dim0D\"),dim1D:i.prop(\"dim1D\"),loA:i.prop(\"loA\"),hiA:i.prop(\"hiA\"),loB:i.prop(\"loB\"),hiB:i.prop(\"hiB\"),loC:i.prop(\"loC\"),hiC:i.prop(\"hiC\"),loD:i.prop(\"loD\"),hiD:i.prop(\"hiD\"),palette:x,contextColor:i.prop(\"contextColor\"),maskTexture:i.prop(\"maskTexture\"),drwLayer:i.prop(\"drwLayer\"),maskHeight:i.prop(\"maskHeight\")},offset:i.prop(\"offset\"),count:i.prop(\"count\")});function E(M){u=M.model,c=M.viewModel,f=c.dimensions.slice(),h=f[0]?f[0].values.length:0;var g=u.lines,P=n?g.color.map(function(F,q){return q/g.color.length}):g.color,T=xUt(h,f,P);wUt(d,h,T),!r&&!n&&(x=i.texture(oNe.extendFlat({data:_Ut(u.unitToColor,255)},iNe)))}function k(M){var g,P,T,F=[[],[]];for(T=0;T<64;T++){var q=!M&&T<f.length?f[T].brush.filter.getBounds():[-1/0,1/0];F[0][T]=q[0],F[1][T]=q[1]}var V=zF*8,H=new Array(V);for(g=0;g<V;g++)H[g]=255;if(!M)for(g=0;g<f.length;g++){var X=g%8,G=(g-X)/8,N=Math.pow(2,X),W=f[g],re=W.brush.filter.get();if(!(re.length<2)){var ae=aNe(re[0])[1];for(P=1;P<re.length;P++){var _e=aNe(re[P]);for(T=ae+1;T<_e[0];T++)H[T*8+G]&=~N;ae=Math.max(ae,_e[1])}}}var Me={shape:[8,zF],format:\"alpha\",type:\"uint8\",mag:\"nearest\",min:\"nearest\",data:H};return v?v(Me):v=i.texture(Me),{maskTexture:v,maskHeight:zF,loA:F[0].slice(0,16),loB:F[0].slice(16,32),loC:F[0].slice(32,48),loD:F[0].slice(48,64),hiA:F[1].slice(0,16),hiB:F[1].slice(16,32),hiC:F[1].slice(32,48),hiD:F[1].slice(48,64)}}function A(M,g,P){var T=M.length,F,q,V,H=1/0,X=-1/0;for(F=0;F<T;F++)M[F].dim0.canvasX<H&&(H=M[F].dim0.canvasX,q=F),M[F].dim1.canvasX>X&&(X=M[F].dim1.canvasX,V=F);T===0&&sNe(i,0,0,u.canvasWidth,u.canvasHeight);var G=k(r);for(F=0;F<T;F++){var N=M[F],W=N.dim0.crossfilterDimensionIndex,re=N.dim1.crossfilterDimensionIndex,ae=N.canvasX,_e=N.canvasY,Me=ae+N.panelSizeX,ke=N.plotGlPixelRatio;if(g||!b[W]||b[W][0]!==ae||b[W][1]!==Me){b[W]=[ae,Me];var ge=AUt(u,q,V,F,W,re,ae,_e,N.panelSizeX,N.panelSizeY,N.dim0.crossfilterDimensionIndex,r?0:n?2:1,G,ke);l.clearOnly=P;var ie=g?u.lines.blockLineCount:h;mUt(i,p,l,ie,h,ge)}}}function L(M,g){return i.read({x:M,y:g,width:1,height:1,data:rNe}),rNe}function _(M,g,P,T){var F=new Uint8Array(4*P*T);return i.read({x:M,y:g,width:P,height:T,data:F}),F}function C(){e.style[\"pointer-events\"]=\"none\",x.destroy(),v&&v.destroy();for(var M in d)d[M].destroy()}return{render:A,readPixel:L,readPixels:_,destroy:C,update:E}}});var ANe=ye((vyr,TNe)=>{\"use strict\";var zd=xa(),l1=Mr(),xK=l1.isArrayOrTypedArray,gNe=l1.numberFormat,mNe=(eNe(),B1(QBe)).default,yNe=Qa(),SUt=l1.strRotate,Jm=l1.strTranslate,MUt=Pl(),FF=ao(),fNe=Mu(),TK=Km(),tg=TK.keyFun,$m=TK.repeat,_Ne=TK.unwrap,mA=yK(),ll=Ak(),xNe=dK(),EUt=cNe();function hNe(e,t,r){return l1.aggNums(e,null,t,r)}function bNe(e,t){return AK(hNe(Math.min,e,t),hNe(Math.max,e,t))}function qF(e){var t=e.range;return t?AK(t[0],t[1]):bNe(e.values,e._length)}function AK(e,t){return(isNaN(e)||!isFinite(e))&&(e=0),(isNaN(t)||!isFinite(t))&&(t=0),e===t&&(e===0?(e-=1,t+=1):(e*=.9,t*=1.1)),[e,t]}function kUt(e,t){return t?function(r,n){var i=t[n];return i==null?e(r):i}:e}function CUt(e,t,r,n,i){var a=qF(r);return n?zd.scale.ordinal().domain(n.map(kUt(gNe(r.tickformat),i))).range(n.map(function(o){var s=(o-a[0])/(a[1]-a[0]);return e-t+s*(2*t-e)})):zd.scale.linear().domain(a).range([e-t,t])}function LUt(e,t){return zd.scale.linear().range([t,e-t])}function PUt(e,t){return zd.scale.linear().domain(qF(e)).range([t,1-t])}function IUt(e){if(e.tickvals){var t=qF(e);return zd.scale.ordinal().domain(e.tickvals).range(e.tickvals.map(function(r){return(r-t[0])/(t[1]-t[0])}))}}function RUt(e){var t=e.map(function(a){return a[0]}),r=e.map(function(a){var o=mNe(a[1]);return zd.rgb(\"rgb(\"+o[0]+\",\"+o[1]+\",\"+o[2]+\")\")}),n=function(a){return function(o){return o[a]}},i=\"rgb\".split(\"\").map(function(a){return zd.scale.linear().clamp(!0).domain(t).range(r.map(n(a)))});return function(a){return i.map(function(o){return o(a)})}}function wK(e){return e.dimensions.some(function(t){return t.brush.filterSpecified})}function DUt(e,t,r){var n=_Ne(t),i=n.trace,a=mA.convertTypedArray(n.lineColor),o=i.line,s={color:mNe(i.unselected.line.color),opacity:i.unselected.line.opacity},l=fNe.extractOpts(o),u=l.reversescale?fNe.flipScale(n.cscale):n.cscale,c=i.domain,f=i.dimensions,h=e.width,d=i.labelangle,v=i.labelside,x=i.labelfont,b=i.tickfont,p=i.rangefont,E=l1.extendDeepNoArrays({},o,{color:a.map(zd.scale.linear().domain(qF({values:a,range:[l.min,l.max],_length:i._length}))),blockLineCount:ll.blockLineCount,canvasOverdrag:ll.overdrag*ll.canvasPixelRatio}),k=Math.floor(h*(c.x[1]-c.x[0])),A=Math.floor(e.height*(c.y[1]-c.y[0])),L=e.margin||{l:80,r:80,t:100,b:80},_=k,C=A;return{key:r,colCount:f.filter(mA.isVisible).length,dimensions:f,tickDistance:ll.tickDistance,unitToColor:RUt(u),lines:E,deselectedLines:s,labelAngle:d,labelSide:v,labelFont:x,tickFont:b,rangeFont:p,layoutWidth:h,layoutHeight:e.height,domain:c,translateX:c.x[0]*h,translateY:e.height-c.y[1]*e.height,pad:L,canvasWidth:_*ll.canvasPixelRatio+2*E.canvasOverdrag,canvasHeight:C*ll.canvasPixelRatio,width:_,height:C,canvasPixelRatio:ll.canvasPixelRatio}}function zUt(e,t,r){var n=r.width,i=r.height,a=r.dimensions,o=r.canvasPixelRatio,s=function(h){return n*h/Math.max(1,r.colCount-1)},l=ll.verticalPadding/i,u=LUt(i,ll.verticalPadding),c={key:r.key,xScale:s,model:r,inBrushDrag:!1},f={};return c.dimensions=a.filter(mA.isVisible).map(function(h,d){var v=PUt(h,l),x=f[h.label];f[h.label]=(x||0)+1;var b=h.label+(x?\"__\"+x:\"\"),p=h.constraintrange,E=p&&p.length;E&&!xK(p[0])&&(p=[p]);var k=E?p.map(function(q){return q.map(v)}):[[-1/0,1/0]],A=function(){var q=c;q.focusLayer&&q.focusLayer.render(q.panels,!0);var V=wK(q);!e.contextShown()&&V?(q.contextLayer&&q.contextLayer.render(q.panels,!0),e.contextShown(!0)):e.contextShown()&&!V&&(q.contextLayer&&q.contextLayer.render(q.panels,!0,!0),e.contextShown(!1))},L=h.values;L.length>h._length&&(L=L.slice(0,h._length));var _=h.tickvals,C;function M(q,V){return{val:q,text:C[V]}}function g(q,V){return q.val-V.val}if(xK(_)&&_.length){l1.isTypedArray(_)&&(_=Array.from(_)),C=h.ticktext,!xK(C)||!C.length?C=_.map(gNe(h.tickformat)):C.length>_.length?C=C.slice(0,_.length):_.length>C.length&&(_=_.slice(0,C.length));for(var P=1;P<_.length;P++)if(_[P]<_[P-1]){for(var T=_.map(M).sort(g),F=0;F<_.length;F++)_[F]=T[F].val,C[F]=T[F].text;break}}else _=void 0;return L=mA.convertTypedArray(L),{key:b,label:h.label,tickFormat:h.tickformat,tickvals:_,ticktext:C,ordinal:mA.isOrdinal(h),multiselect:h.multiselect,xIndex:d,crossfilterDimensionIndex:d,visibleIndex:h._index,height:i,values:L,paddedUnitValues:L.map(v),unitTickvals:_&&_.map(v),xScale:s,x:s(d),canvasX:s(d)*o,unitToPaddedPx:u,domainScale:CUt(i,ll.verticalPadding,h,_,C),ordinalScale:IUt(h),parent:c,model:r,brush:xNe.makeBrush(e,E,k,function(){e.linePickActive(!1)},A,function(q){if(c.focusLayer.render(c.panels,!0),c.pickLayer&&c.pickLayer.render(c.panels,!0),e.linePickActive(!0),t&&t.filterChanged){var V=v.invert,H=q.map(function(X){return X.map(V).sort(l1.sorterAsc)}).sort(function(X,G){return X[0]-G[0]});t.filterChanged(c.key,h._index,H)}})}}),c}function dNe(e){e.classed(ll.cn.axisExtentText,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"default\")}function FUt(){var e=!0,t=!1;return{linePickActive:function(r){return arguments.length?e=!!r:e},contextShown:function(r){return arguments.length?t=!!r:t}}}function vNe(e,t){var r=t===\"top\"?1:-1,n=e*Math.PI/180,i=Math.sin(n),a=Math.cos(n);return{dir:r,dx:i,dy:a,degrees:e}}function bK(e,t,r){for(var n=t.panels||(t.panels=[]),i=e.data(),a=0;a<i.length-1;a++){var o=n[a]||(n[a]={}),s=i[a],l=i[a+1];o.dim0=s,o.dim1=l,o.canvasX=s.canvasX,o.panelSizeX=l.canvasX-s.canvasX,o.panelSizeY=t.model.canvasHeight,o.y=0,o.canvasY=0,o.plotGlPixelRatio=r}}function qUt(e){for(var t=0;t<e.length;t++)for(var r=0;r<e[t].length;r++)for(var n=e[t][r].trace,i=n.dimensions,a=0;a<i.length;a++){var o=i[a].values,s=i[a]._ax;s&&(s.range?s.range=AK(s.range[0],s.range[1]):s.range=bNe(o,n._length),s.dtick||(s.dtick=.01*(Math.abs(s.range[1]-s.range[0])||1)),s.tickformat=i[a].tickformat,yNe.calcTicks(s),s.cleanRange())}}function wNe(e,t){return yNe.tickText(e._ax,t,!1).text}function pNe(e,t){if(e.ordinal)return\"\";var r=e.domainScale.domain(),n=r[t?r.length-1:0];return wNe(e.model.dimensions[e.visibleIndex],n)}TNe.exports=function(t,r,n,i){var a=t._context.staticPlot,o=t._fullLayout,s=o._toppaper,l=o._glcontainer,u=t._context.plotGlPixelRatio,c=t._fullLayout.paper_bgcolor;qUt(r);var f=FUt(),h=r.filter(function(F){return _Ne(F).trace.visible}).map(DUt.bind(0,n)).map(zUt.bind(0,f,i));l.each(function(F,q){return l1.extendFlat(F,h[q])});var d=l.selectAll(\".gl-canvas\").each(function(F){F.viewModel=h[0],F.viewModel.plotGlPixelRatio=u,F.viewModel.paperColor=c,F.model=F.viewModel?F.viewModel.model:null}),v=null,x=d.filter(function(F){return F.pick});x.style(\"pointer-events\",a?\"none\":\"auto\").on(\"mousemove\",function(F){if(f.linePickActive()&&F.lineLayer&&i&&i.hover){var q=zd.event,V=this.width,H=this.height,X=zd.mouse(this),G=X[0],N=X[1];if(G<0||N<0||G>=V||N>=H)return;var W=F.lineLayer.readPixel(G,H-1-N),re=W[3]!==0,ae=re?W[2]+256*(W[1]+256*W[0]):null,_e={x:G,y:N,clientX:q.clientX,clientY:q.clientY,dataIndex:F.model.key,curveNumber:ae};ae!==v&&(re?i.hover(_e):i.unhover&&i.unhover(_e),v=ae)}}),d.style(\"opacity\",function(F){return F.pick?0:1}),s.style(\"background\",\"rgba(255, 255, 255, 0)\");var b=s.selectAll(\".\"+ll.cn.parcoords).data(h,tg);b.exit().remove(),b.enter().append(\"g\").classed(ll.cn.parcoords,!0).style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"none\"),b.attr(\"transform\",function(F){return Jm(F.model.translateX,F.model.translateY)});var p=b.selectAll(\".\"+ll.cn.parcoordsControlView).data($m,tg);p.enter().append(\"g\").classed(ll.cn.parcoordsControlView,!0),p.attr(\"transform\",function(F){return Jm(F.model.pad.l,F.model.pad.t)});var E=p.selectAll(\".\"+ll.cn.yAxis).data(function(F){return F.dimensions},tg);E.enter().append(\"g\").classed(ll.cn.yAxis,!0),p.each(function(F){bK(E,F,u)}),d.each(function(F){if(F.viewModel){!F.lineLayer||i?F.lineLayer=EUt(this,F):F.lineLayer.update(F),(F.key||F.key===0)&&(F.viewModel[F.key]=F.lineLayer);var q=!F.context||i;F.lineLayer.render(F.viewModel.panels,q)}}),E.attr(\"transform\",function(F){return Jm(F.xScale(F.xIndex),0)}),E.call(zd.behavior.drag().origin(function(F){return F}).on(\"drag\",function(F){var q=F.parent;f.linePickActive(!1),F.x=Math.max(-ll.overdrag,Math.min(F.model.width+ll.overdrag,zd.event.x)),F.canvasX=F.x*F.model.canvasPixelRatio,E.sort(function(V,H){return V.x-H.x}).each(function(V,H){V.xIndex=H,V.x=F===V?V.x:V.xScale(V.xIndex),V.canvasX=V.x*V.model.canvasPixelRatio}),bK(E,q,u),E.filter(function(V){return Math.abs(F.xIndex-V.xIndex)!==0}).attr(\"transform\",function(V){return Jm(V.xScale(V.xIndex),0)}),zd.select(this).attr(\"transform\",Jm(F.x,0)),E.each(function(V,H,X){X===F.parent.key&&(q.dimensions[H]=V)}),q.contextLayer&&q.contextLayer.render(q.panels,!1,!wK(q)),q.focusLayer.render&&q.focusLayer.render(q.panels)}).on(\"dragend\",function(F){var q=F.parent;F.x=F.xScale(F.xIndex),F.canvasX=F.x*F.model.canvasPixelRatio,bK(E,q,u),zd.select(this).attr(\"transform\",function(V){return Jm(V.x,0)}),q.contextLayer&&q.contextLayer.render(q.panels,!1,!wK(q)),q.focusLayer&&q.focusLayer.render(q.panels),q.pickLayer&&q.pickLayer.render(q.panels,!0),f.linePickActive(!0),i&&i.axesMoved&&i.axesMoved(q.key,q.dimensions.map(function(V){return V.crossfilterDimensionIndex}))})),E.exit().remove();var k=E.selectAll(\".\"+ll.cn.axisOverlays).data($m,tg);k.enter().append(\"g\").classed(ll.cn.axisOverlays,!0),k.selectAll(\".\"+ll.cn.axis).remove();var A=k.selectAll(\".\"+ll.cn.axis).data($m,tg);A.enter().append(\"g\").classed(ll.cn.axis,!0),A.each(function(F){var q=F.model.height/F.model.tickDistance,V=F.domainScale,H=V.domain();zd.select(this).call(zd.svg.axis().orient(\"left\").tickSize(4).outerTickSize(2).ticks(q,F.tickFormat).tickValues(F.ordinal?H:null).tickFormat(function(X){return mA.isOrdinal(F)?X:wNe(F.model.dimensions[F.visibleIndex],X)}).scale(V)),FF.font(A.selectAll(\"text\"),F.model.tickFont)}),A.selectAll(\".domain, .tick>line\").attr(\"fill\",\"none\").attr(\"stroke\",\"black\").attr(\"stroke-opacity\",.25).attr(\"stroke-width\",\"1px\"),A.selectAll(\"text\").style(\"cursor\",\"default\");var L=k.selectAll(\".\"+ll.cn.axisHeading).data($m,tg);L.enter().append(\"g\").classed(ll.cn.axisHeading,!0);var _=L.selectAll(\".\"+ll.cn.axisTitle).data($m,tg);_.enter().append(\"text\").classed(ll.cn.axisTitle,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"ew-resize\").style(\"pointer-events\",a?\"none\":\"auto\"),_.text(function(F){return F.label}).each(function(F){var q=zd.select(this);FF.font(q,F.model.labelFont),MUt.convertToTspans(q,t)}).attr(\"transform\",function(F){var q=vNe(F.model.labelAngle,F.model.labelSide),V=ll.axisTitleOffset;return(q.dir>0?\"\":Jm(0,2*V+F.model.height))+SUt(q.degrees)+Jm(-V*q.dx,-V*q.dy)}).attr(\"text-anchor\",function(F){var q=vNe(F.model.labelAngle,F.model.labelSide),V=Math.abs(q.dx),H=Math.abs(q.dy);return 2*V>H?q.dir*q.dx<0?\"start\":\"end\":\"middle\"});var C=k.selectAll(\".\"+ll.cn.axisExtent).data($m,tg);C.enter().append(\"g\").classed(ll.cn.axisExtent,!0);var M=C.selectAll(\".\"+ll.cn.axisExtentTop).data($m,tg);M.enter().append(\"g\").classed(ll.cn.axisExtentTop,!0),M.attr(\"transform\",Jm(0,-ll.axisExtentOffset));var g=M.selectAll(\".\"+ll.cn.axisExtentTopText).data($m,tg);g.enter().append(\"text\").classed(ll.cn.axisExtentTopText,!0).call(dNe),g.text(function(F){return pNe(F,!0)}).each(function(F){FF.font(zd.select(this),F.model.rangeFont)});var P=C.selectAll(\".\"+ll.cn.axisExtentBottom).data($m,tg);P.enter().append(\"g\").classed(ll.cn.axisExtentBottom,!0),P.attr(\"transform\",function(F){return Jm(0,F.model.height+ll.axisExtentOffset)});var T=P.selectAll(\".\"+ll.cn.axisExtentBottomText).data($m,tg);T.enter().append(\"text\").classed(ll.cn.axisExtentBottomText,!0).attr(\"dy\",\"0.75em\").call(dNe),T.text(function(F){return pNe(F,!1)}).each(function(F){FF.font(zd.select(this),F.model.rangeFont)}),xNe.ensureAxisBrush(k,c,t)}});var MK=ye((SK,kNe)=>{\"use strict\";var OUt=ANe(),BUt=xF(),SNe=yK().isVisible,ENe={};function MNe(e,t,r){var n=t.indexOf(r),i=e.indexOf(n);return i===-1&&(i+=t.length),i}function NUt(e,t){return function(n,i){return MNe(e,t,n)-MNe(e,t,i)}}var SK=kNe.exports=function(t,r){var n=t._fullLayout,i=BUt(t,[],ENe);if(i){var a={},o={},s={},l={},u=n._size;r.forEach(function(v,x){var b=v[0].trace;s[x]=b.index;var p=l[x]=b.index;a[x]=t.data[p].dimensions,o[x]=t.data[p].dimensions.slice()});var c=function(v,x,b){var p=o[v][x],E=b.map(function(M){return M.slice()}),k=\"dimensions[\"+x+\"].constraintrange\",A=n._tracePreGUI[t._fullData[s[v]]._fullInput.uid];if(A[k]===void 0){var L=p.constraintrange;A[k]=L||null}var _=t._fullData[s[v]].dimensions[x];E.length?(E.length===1&&(E=E[0]),p.constraintrange=E,_.constraintrange=E.slice(),E=[E]):(delete p.constraintrange,delete _.constraintrange,E=null);var C={};C[k]=E,t.emit(\"plotly_restyle\",[C,[l[v]]])},f=function(v){t.emit(\"plotly_hover\",v)},h=function(v){t.emit(\"plotly_unhover\",v)},d=function(v,x){var b=NUt(x,o[v].filter(SNe));a[v].sort(b),o[v].filter(function(p){return!SNe(p)}).sort(function(p){return o[v].indexOf(p)}).forEach(function(p){a[v].splice(a[v].indexOf(p),1),a[v].splice(o[v].indexOf(p),0,p)}),t.emit(\"plotly_restyle\",[{dimensions:[a[v]]},[l[v]]])};OUt(t,r,{width:u.w,height:u.h,margin:{t:u.t,r:u.r,b:u.b,l:u.l}},{filterChanged:c,hover:f,unhover:h,axesMoved:d})}};SK.reglPrecompiled=ENe});var LNe=ye(Ek=>{\"use strict\";var CNe=xa(),UUt=kd().getModuleCalcData,VUt=MK(),HUt=Zp();Ek.name=\"parcoords\";Ek.plot=function(e){var t=UUt(e.calcdata,\"parcoords\")[0];t.length&&VUt(e,t)};Ek.clean=function(e,t,r,n){var i=n._has&&n._has(\"parcoords\"),a=t._has&&t._has(\"parcoords\");i&&!a&&(n._paperdiv.selectAll(\".parcoords\").remove(),n._glimages.selectAll(\"*\").remove())};Ek.toSVG=function(e){var t=e._fullLayout._glimages,r=CNe.select(e).selectAll(\".svg-container\"),n=r.filter(function(a,o){return o===r.size()-1}).selectAll(\".gl-canvas-context, .gl-canvas-focus\");function i(){var a=this,o=a.toDataURL(\"image/png\"),s=t.append(\"svg:image\");s.attr({xmlns:HUt.svg,\"xlink:href\":o,preserveAspectRatio:\"none\",x:0,y:0,width:a.style.width,height:a.style.height})}n.each(i),window.setTimeout(function(){CNe.selectAll(\"#filterBarPattern\").attr(\"id\",\"filterBarPattern\")},60)}});var INe=ye((gyr,PNe)=>{\"use strict\";PNe.exports={attributes:cK(),supplyDefaults:jBe(),calc:ZBe(),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcoords\",basePlotModule:LNe(),categories:[\"gl\",\"regl\",\"noOpacity\",\"noHover\"],meta:{}}});var zNe=ye((myr,DNe)=>{\"use strict\";var RNe=INe();RNe.plot=MK();DNe.exports=RNe});var qNe=ye((yyr,FNe)=>{\"use strict\";FNe.exports=zNe()});var EK=ye((_yr,UNe)=>{\"use strict\";var BNe=no().extendFlat,GUt=vl(),ONe=Su(),jUt=Jl(),NNe=Wo().hovertemplateAttrs,WUt=Ju().attributes,ZUt=BNe({editType:\"calc\"},jUt(\"line\",{editTypeOverride:\"calc\"}),{shape:{valType:\"enumerated\",values:[\"linear\",\"hspline\"],dflt:\"linear\",editType:\"plot\"},hovertemplate:NNe({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\"]})});UNe.exports={domain:WUt({name:\"parcats\",trace:!0,editType:\"calc\"}),hoverinfo:BNe({},GUt.hoverinfo,{flags:[\"count\",\"probability\"],editType:\"plot\",arrayOk:!1}),hoveron:{valType:\"enumerated\",values:[\"category\",\"color\",\"dimension\"],dflt:\"category\",editType:\"plot\"},hovertemplate:NNe({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\",\"category\",\"categorycount\",\"colorcount\",\"bandcolorcount\"]}),arrangement:{valType:\"enumerated\",values:[\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"perpendicular\",editType:\"plot\"},bundlecolors:{valType:\"boolean\",dflt:!0,editType:\"plot\"},sortpaths:{valType:\"enumerated\",values:[\"forward\",\"backward\"],dflt:\"forward\",editType:\"plot\"},labelfont:ONe({editType:\"calc\"}),tickfont:ONe({autoShadowDflt:!0,editType:\"calc\"}),dimensions:{_isLinkedToArray:\"dimension\",label:{valType:\"string\",editType:\"calc\"},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},values:{valType:\"data_array\",dflt:[],editType:\"calc\"},displayindex:{valType:\"integer\",editType:\"calc\"},editType:\"calc\",visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"}},line:ZUt,counts:{valType:\"number\",min:0,dflt:1,arrayOk:!0,editType:\"calc\"},customdata:void 0,hoverlabel:void 0,ids:void 0,legend:void 0,legendgroup:void 0,legendrank:void 0,opacity:void 0,selectedpoints:void 0,showlegend:void 0}});var GNe=ye((xyr,HNe)=>{\"use strict\";var yA=Mr(),XUt=Dv().hasColorscale,YUt=Uh(),KUt=Ju().defaults,JUt=Zd(),VNe=EK(),$Ut=wF(),QUt=vv().isTypedArraySpec;function eVt(e,t,r,n,i){i(\"line.shape\"),i(\"line.hovertemplate\");var a=i(\"line.color\",n.colorway[0]);if(XUt(e,\"line\")&&yA.isArrayOrTypedArray(a)){if(a.length)return i(\"line.colorscale\"),YUt(e,t,n,i,{prefix:\"line.\",cLetter:\"c\"}),a.length;t.line.color=r}return 1/0}function tVt(e,t){function r(u,c){return yA.coerce(e,t,VNe.dimensions,u,c)}var n=r(\"values\"),i=r(\"visible\");if(n&&n.length||(i=t.visible=!1),i){r(\"label\"),r(\"displayindex\",t._index);var a=e.categoryarray,o=yA.isArrayOrTypedArray(a)&&a.length>0||QUt(a),s;o&&(s=\"array\");var l=r(\"categoryorder\",s);l===\"array\"?(r(\"categoryarray\"),r(\"ticktext\")):(delete e.categoryarray,delete e.ticktext),!o&&l===\"array\"&&(t.categoryorder=\"trace\")}}HNe.exports=function(t,r,n,i){function a(u,c){return yA.coerce(t,r,VNe,u,c)}var o=JUt(t,r,{name:\"dimensions\",handleItemDefaults:tVt}),s=eVt(t,r,n,i,a);KUt(r,i,a),(!Array.isArray(o)||!o.length)&&(r.visible=!1),$Ut(r,o,\"values\",s),a(\"hoveron\"),a(\"hovertemplate\"),a(\"arrangement\"),a(\"bundlecolors\"),a(\"sortpaths\"),a(\"counts\");var l=i.font;yA.coerceFont(a,\"labelfont\",l,{overrideDflt:{size:Math.round(l.size)}}),yA.coerceFont(a,\"tickfont\",l,{autoShadowDflt:!0,overrideDflt:{size:Math.round(l.size/1.2)}})}});var WNe=ye((byr,jNe)=>{\"use strict\";var rVt=Km().wrap,iVt=Dv().hasColorscale,nVt=zv(),aVt=jq(),oVt=ao(),kk=Mr(),sVt=uo();jNe.exports=function(t,r){var n=kk.filterVisible(r.dimensions);if(n.length===0)return[];var i=n.map(function(g){var P;if(g.categoryorder===\"trace\")P=null;else if(g.categoryorder===\"array\")P=g.categoryarray;else{P=aVt(g.values);for(var T=!0,F=0;F<P.length;F++)if(!sVt(P[F])){T=!1;break}P.sort(T?kk.sorterAsc:void 0),g.categoryorder===\"category descending\"&&(P=P.reverse())}return vVt(g.values,P)}),a,o,s;kk.isArrayOrTypedArray(r.counts)?a=r.counts:a=[r.counts],pVt(n),n.forEach(function(g,P){gVt(g,i[P])});var l=r.line,u;l?(iVt(r,\"line\")&&nVt(t,r,{vals:r.line.color,containerStr:\"line\",cLetter:\"c\"}),u=oVt.tryColorscale(l)):u=kk.identity;function c(g){var P,T;return kk.isArrayOrTypedArray(l.color)?(P=l.color[g%l.color.length],T=P):P=l.color,{color:u(P),rawColor:T}}var f=n[0].values.length,h={},d=i.map(function(g){return g.inds});s=0;var v,x;for(v=0;v<f;v++){var b=[];for(x=0;x<d.length;x++)b.push(d[x][v]);o=a[v%a.length],s+=o;var p=c(v),E=b+\"-\"+p.rawColor;h[E]===void 0&&(h[E]=hVt(b,p.color,p.rawColor)),dVt(h[E],v,o)}var k=n.map(function(g,P){return uVt(P,g._index,g._displayindex,g.label,s)});for(v=0;v<f;v++)for(o=a[v%a.length],x=0;x<k.length;x++){var A=k[x].containerInd,L=i[x].inds[v],_=k[x].categories;if(_[L]===void 0){var C=r.dimensions[A]._categoryarray[L],M=r.dimensions[A]._ticktext[L];_[L]=cVt(x,L,C,M)}fVt(_[L],v,o)}return rVt(lVt(k,h,s))};function lVt(e,t,r){var n=e.map(function(i){return i.categories.length}).reduce(function(i,a){return Math.max(i,a)});return{dimensions:e,paths:t,trace:void 0,maxCats:n,count:r}}function uVt(e,t,r,n,i){return{dimensionInd:e,containerInd:t,displayInd:r,dimensionLabel:n,count:i,categories:[],dragX:null}}function cVt(e,t,r,n){return{dimensionInd:e,categoryInd:t,categoryValue:r,displayInd:t,categoryLabel:n,valueInds:[],count:0,dragY:null}}function fVt(e,t,r){e.valueInds.push(t),e.count+=r}function hVt(e,t,r){return{categoryInds:e,color:t,rawColor:r,valueInds:[],count:0}}function dVt(e,t,r){e.valueInds.push(t),e.count+=r}function vVt(e,t){t==null?t=[]:t=t.map(function(u){return u});var r={},n={},i=[];t.forEach(function(u,c){r[u]=0,n[u]=c});for(var a=0;a<e.length;a++){var o=e[a],s;r[o]===void 0?(r[o]=1,s=t.push(o)-1,n[o]=s):(r[o]++,s=n[o]),i.push(s)}var l=t.map(function(u){return r[u]});return{uniqueValues:t,uniqueCounts:l,inds:i}}function pVt(e){var t=e.map(function(n){return n.displayindex}),r;if(mVt(t))for(r=0;r<e.length;r++)e[r]._displayindex=e[r].displayindex;else for(r=0;r<e.length;r++)e[r]._displayindex=r}function gVt(e,t){e._categoryarray=t.uniqueValues,e.ticktext===null||e.ticktext===void 0?e._ticktext=[]:e._ticktext=e.ticktext.slice();for(var r=e._ticktext.length;r<t.uniqueValues.length;r++)e._ticktext.push(t.uniqueValues[r])}function mVt(e){for(var t=new Array(e.length),r=0;r<e.length;r++){if(e[r]<0||e[r]>=e.length||t[e[r]]!==void 0)return!1;t[e[r]]=!0}return!0}});var tUe=ye((wyr,eUe)=>{\"use strict\";var ul=xa(),yVt=(R2(),B1(I2)).interpolateNumber,_Vt=OP(),Pk=Nc(),yx=Mr(),Ck=yx.strTranslate,ZNe=ao(),kK=id(),xVt=Pl();function bVt(e,t,r,n){var i=t._context.staticPlot,a=e.map(FVt.bind(0,t,r)),o=n.selectAll(\"g.parcatslayer\").data([null]);o.enter().append(\"g\").attr(\"class\",\"parcatslayer\").style(\"pointer-events\",i?\"none\":\"all\");var s=o.selectAll(\"g.trace.parcats\").data(a,u1),l=s.enter().append(\"g\").attr(\"class\",\"trace parcats\");s.attr(\"transform\",function(E){return Ck(E.x,E.y)}),l.append(\"g\").attr(\"class\",\"paths\");var u=s.select(\"g.paths\"),c=u.selectAll(\"path.path\").data(function(E){return E.paths},u1);c.attr(\"fill\",function(E){return E.model.color});var f=c.enter().append(\"path\").attr(\"class\",\"path\").attr(\"stroke-opacity\",0).attr(\"fill\",function(E){return E.model.color}).attr(\"fill-opacity\",0);PK(f),c.attr(\"d\",function(E){return E.svgD}),f.empty()||c.sort(CK),c.exit().remove(),c.on(\"mouseover\",wVt).on(\"mouseout\",TVt).on(\"click\",AVt),l.append(\"g\").attr(\"class\",\"dimensions\");var h=s.select(\"g.dimensions\"),d=h.selectAll(\"g.dimension\").data(function(E){return E.dimensions},u1);d.enter().append(\"g\").attr(\"class\",\"dimension\"),d.attr(\"transform\",function(E){return Ck(E.x,0)}),d.exit().remove();var v=d.selectAll(\"g.category\").data(function(E){return E.categories},u1),x=v.enter().append(\"g\").attr(\"class\",\"category\");v.attr(\"transform\",function(E){return Ck(0,E.y)}),x.append(\"rect\").attr(\"class\",\"catrect\").attr(\"pointer-events\",\"none\"),v.select(\"rect.catrect\").attr(\"fill\",\"none\").attr(\"width\",function(E){return E.width}).attr(\"height\",function(E){return E.height}),YNe(x);var b=v.selectAll(\"rect.bandrect\").data(function(E){return E.bands},u1);b.each(function(){yx.raiseToTop(this)}),b.attr(\"fill\",function(E){return E.color});var p=b.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"stroke-opacity\",0).attr(\"fill\",function(E){return E.color}).attr(\"fill-opacity\",0);b.attr(\"fill\",function(E){return E.color}).attr(\"width\",function(E){return E.width}).attr(\"height\",function(E){return E.height}).attr(\"y\",function(E){return E.y}).attr(\"cursor\",function(E){return E.parcatsViewModel.arrangement===\"fixed\"?\"default\":E.parcatsViewModel.arrangement===\"perpendicular\"?\"ns-resize\":\"move\"}),RK(p),b.exit().remove(),x.append(\"text\").attr(\"class\",\"catlabel\").attr(\"pointer-events\",\"none\"),v.select(\"text.catlabel\").attr(\"text-anchor\",function(E){return Lk(E)?\"start\":\"end\"}).attr(\"alignment-baseline\",\"middle\").style(\"fill\",\"rgb(0, 0, 0)\").attr(\"x\",function(E){return Lk(E)?E.width+5:-5}).attr(\"y\",function(E){return E.height/2}).text(function(E){return E.model.categoryLabel}).each(function(E){ZNe.font(ul.select(this),E.parcatsViewModel.categorylabelfont),xVt.convertToTspans(ul.select(this),t)}),x.append(\"text\").attr(\"class\",\"dimlabel\"),v.select(\"text.dimlabel\").attr(\"text-anchor\",\"middle\").attr(\"alignment-baseline\",\"baseline\").attr(\"cursor\",function(E){return E.parcatsViewModel.arrangement===\"fixed\"?\"default\":\"ew-resize\"}).attr(\"x\",function(E){return E.width/2}).attr(\"y\",-5).text(function(E,k){return k===0?E.parcatsViewModel.model.dimensions[E.model.dimensionInd].dimensionLabel:null}).each(function(E){ZNe.font(ul.select(this),E.parcatsViewModel.labelfont)}),v.selectAll(\"rect.bandrect\").on(\"mouseover\",PVt).on(\"mouseout\",IVt),v.exit().remove(),d.call(ul.behavior.drag().origin(function(E){return{x:E.x,y:0}}).on(\"dragstart\",RVt).on(\"drag\",DVt).on(\"dragend\",zVt)),s.each(function(E){E.traceSelection=ul.select(this),E.pathSelection=ul.select(this).selectAll(\"g.paths\").selectAll(\"path.path\"),E.dimensionSelection=ul.select(this).selectAll(\"g.dimensions\").selectAll(\"g.dimension\")}),s.exit().remove()}eUe.exports=function(e,t,r,n){bVt(r,e,n,t)};function u1(e){return e.key}function Lk(e){var t=e.parcatsViewModel.dimensions.length,r=e.parcatsViewModel.dimensions[t-1].model.dimensionInd;return e.model.dimensionInd===r}function CK(e,t){return e.model.rawColor>t.model.rawColor?1:e.model.rawColor<t.model.rawColor?-1:0}function wVt(e){if(!e.parcatsViewModel.dragDimension&&e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1){yx.raiseToTop(this),IK(ul.select(this));var t=Ik(e),r=LK(e);if(e.parcatsViewModel.graphDiv.emit(\"plotly_hover\",{points:t,event:ul.event,constraints:r}),e.parcatsViewModel.hoverinfoItems.indexOf(\"none\")===-1){var n=ul.mouse(this)[0],i=e.parcatsViewModel.graphDiv,a=e.parcatsViewModel.trace,o=i._fullLayout,s=o._paperdiv.node().getBoundingClientRect(),l=e.parcatsViewModel.graphDiv.getBoundingClientRect(),u,c,f;for(f=0;f<e.leftXs.length-1;f++)if(e.leftXs[f]+e.dimWidths[f]-2<=n&&n<=e.leftXs[f+1]+2){var h=e.parcatsViewModel.dimensions[f],d=e.parcatsViewModel.dimensions[f+1];u=(h.x+h.width+d.x)/2,c=(e.topYs[f]+e.topYs[f+1]+e.height)/2;break}var v=e.parcatsViewModel.x+u,x=e.parcatsViewModel.y+c,b=kK.mostReadable(e.model.color,[\"black\",\"white\"]),p=e.model.count,E=p/e.parcatsViewModel.model.count,k={countLabel:p,probabilityLabel:E.toFixed(3)},A=[];e.parcatsViewModel.hoverinfoItems.indexOf(\"count\")!==-1&&A.push([\"Count:\",k.countLabel].join(\" \")),e.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")!==-1&&A.push([\"P:\",k.probabilityLabel].join(\" \"));var L=A.join(\"<br>\"),_=ul.mouse(i)[0];Pk.loneHover({trace:a,x:v-s.left+l.left,y:x-s.top+l.top,text:L,color:e.model.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:10,fontColor:b,idealAlign:_<v?\"right\":\"left\",hovertemplate:(a.line||{}).hovertemplate,hovertemplateLabels:k,eventData:[{data:a._input,fullData:a,count:p,probability:E}]},{container:o._hoverlayer.node(),outerContainer:o._paper.node(),gd:i})}}}function TVt(e){if(!e.parcatsViewModel.dragDimension&&(PK(ul.select(this)),Pk.loneUnhover(e.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()),e.parcatsViewModel.pathSelection.sort(CK),e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1)){var t=Ik(e),r=LK(e);e.parcatsViewModel.graphDiv.emit(\"plotly_unhover\",{points:t,event:ul.event,constraints:r})}}function Ik(e){for(var t=[],r=JNe(e.parcatsViewModel),n=0;n<e.model.valueInds.length;n++){var i=e.model.valueInds[n];t.push({curveNumber:r,pointNumber:i})}return t}function LK(e){for(var t={},r=e.parcatsViewModel.model.dimensions,n=0;n<r.length;n++){var i=r[n],a=i.categories[e.model.categoryInds[n]];t[i.containerInd]=a.categoryValue}return e.model.rawColor!==void 0&&(t.color=e.model.rawColor),t}function AVt(e){if(e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1){var t=Ik(e),r=LK(e);e.parcatsViewModel.graphDiv.emit(\"plotly_click\",{points:t,event:ul.event,constraints:r})}}function PK(e){e.attr(\"fill\",function(t){return t.model.color}).attr(\"fill-opacity\",.6).attr(\"stroke\",\"lightgray\").attr(\"stroke-width\",.2).attr(\"stroke-opacity\",1)}function IK(e){e.attr(\"fill-opacity\",.8).attr(\"stroke\",function(t){return kK.mostReadable(t.model.color,[\"black\",\"white\"])}).attr(\"stroke-width\",.3)}function SVt(e){e.select(\"rect.catrect\").attr(\"stroke\",\"black\").attr(\"stroke-width\",2.5)}function YNe(e){e.select(\"rect.catrect\").attr(\"stroke\",\"black\").attr(\"stroke-width\",1).attr(\"stroke-opacity\",1)}function MVt(e){e.attr(\"stroke\",\"black\").attr(\"stroke-width\",1.5)}function RK(e){e.attr(\"stroke\",\"black\").attr(\"stroke-width\",.2).attr(\"stroke-opacity\",1).attr(\"fill-opacity\",1)}function OF(e){var t=e.parcatsViewModel.pathSelection,r=e.categoryViewModel.model.dimensionInd,n=e.categoryViewModel.model.categoryInd;return t.filter(function(i){return i.model.categoryInds[r]===n&&i.model.color===e.color})}function EVt(e){var t=ul.select(e.parentNode).selectAll(\"rect.bandrect\");t.each(function(r){var n=OF(r);IK(n),n.each(function(){yx.raiseToTop(this)})}),SVt(ul.select(e.parentNode))}function kVt(e){var t=ul.select(e).datum(),r=OF(t);IK(r),r.each(function(){yx.raiseToTop(this)}),ul.select(e.parentNode).selectAll(\"rect.bandrect\").filter(function(n){return n.color===t.color}).each(function(){yx.raiseToTop(this),MVt(ul.select(this))})}function DK(e,t,r){var n=ul.select(e).datum(),i=n.categoryViewModel.model,a=n.parcatsViewModel.graphDiv,o=ul.select(e.parentNode).selectAll(\"rect.bandrect\"),s=[];o.each(function(u){var c=OF(u);c.each(function(f){Array.prototype.push.apply(s,Ik(f))})});var l={};l[i.dimensionInd]=i.categoryValue,a.emit(t,{points:s,event:r,constraints:l})}function zK(e,t,r){var n=ul.select(e).datum(),i=n.categoryViewModel.model,a=n.parcatsViewModel.graphDiv,o=OF(n),s=[];o.each(function(u){Array.prototype.push.apply(s,Ik(u))});var l={};l[i.dimensionInd]=i.categoryValue,n.rawColor!==void 0&&(l.color=n.rawColor),a.emit(t,{points:s,event:r,constraints:l})}function KNe(e,t,r){e._fullLayout._calcInverseTransform(e);var n=e._fullLayout._invScaleX,i=e._fullLayout._invScaleY,a=ul.select(r.parentNode).select(\"rect.catrect\"),o=a.node().getBoundingClientRect(),s=a.datum(),l=s.parcatsViewModel,u=l.model.dimensions[s.model.dimensionInd],c=l.trace,f=o.top+o.height/2,h,d;l.dimensions.length>1&&u.displayInd===l.dimensions.length-1?(h=o.left,d=\"left\"):(h=o.left+o.width,d=\"right\");var v=s.model.count,x=s.model.categoryLabel,b=v/s.parcatsViewModel.model.count,p={countLabel:v,categoryLabel:x,probabilityLabel:b.toFixed(3)},E=[];s.parcatsViewModel.hoverinfoItems.indexOf(\"count\")!==-1&&E.push([\"Count:\",p.countLabel].join(\" \")),s.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")!==-1&&E.push([\"P(\"+p.categoryLabel+\"):\",p.probabilityLabel].join(\" \"));var k=E.join(\"<br>\");return{trace:c,x:n*(h-t.left),y:i*(f-t.top),text:k,color:\"lightgray\",borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:12,fontColor:\"black\",idealAlign:d,hovertemplate:c.hovertemplate,hovertemplateLabels:p,eventData:[{data:c._input,fullData:c,count:v,category:x,probability:b}]}}function CVt(e,t,r){var n=[];return ul.select(r.parentNode.parentNode).selectAll(\"g.category\").select(\"rect.catrect\").each(function(){var i=this;n.push(KNe(e,t,i))}),n}function LVt(e,t,r){e._fullLayout._calcInverseTransform(e);var n=e._fullLayout._invScaleX,i=e._fullLayout._invScaleY,a=r.getBoundingClientRect(),o=ul.select(r).datum(),s=o.categoryViewModel,l=s.parcatsViewModel,u=l.model.dimensions[s.model.dimensionInd],c=l.trace,f=a.y+a.height/2,h,d;l.dimensions.length>1&&u.displayInd===l.dimensions.length-1?(h=a.left,d=\"left\"):(h=a.left+a.width,d=\"right\");var v=s.model.categoryLabel,x=o.parcatsViewModel.model.count,b=0;o.categoryViewModel.bands.forEach(function(P){P.color===o.color&&(b+=P.count)});var p=s.model.count,E=0;l.pathSelection.each(function(P){P.model.color===o.color&&(E+=P.model.count)});var k=b/x,A=b/E,L=b/p,_={countLabel:b,categoryLabel:v,probabilityLabel:k.toFixed(3)},C=[];s.parcatsViewModel.hoverinfoItems.indexOf(\"count\")!==-1&&C.push([\"Count:\",_.countLabel].join(\" \")),s.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")!==-1&&(C.push(\"P(color \\u2229 \"+v+\"): \"+_.probabilityLabel),C.push(\"P(\"+v+\" | color): \"+A.toFixed(3)),C.push(\"P(color | \"+v+\"): \"+L.toFixed(3)));var M=C.join(\"<br>\"),g=kK.mostReadable(o.color,[\"black\",\"white\"]);return{trace:c,x:n*(h-t.left),y:i*(f-t.top),text:M,color:o.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontColor:g,fontSize:10,idealAlign:d,hovertemplate:c.hovertemplate,hovertemplateLabels:_,eventData:[{data:c._input,fullData:c,category:v,count:x,probability:k,categorycount:p,colorcount:E,bandcolorcount:b}]}}function PVt(e){if(!e.parcatsViewModel.dragDimension&&e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1){var t=ul.mouse(this)[1];if(t<-1)return;var r=e.parcatsViewModel.graphDiv,n=r._fullLayout,i=n._paperdiv.node().getBoundingClientRect(),a=e.parcatsViewModel.hoveron,o=this;if(a===\"color\"?(kVt(o),zK(o,\"plotly_hover\",ul.event)):(EVt(o),DK(o,\"plotly_hover\",ul.event)),e.parcatsViewModel.hoverinfoItems.indexOf(\"none\")===-1){var s;a===\"category\"?s=KNe(r,i,o):a===\"color\"?s=LVt(r,i,o):a===\"dimension\"&&(s=CVt(r,i,o)),s&&Pk.loneHover(s,{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:r})}}}function IVt(e){var t=e.parcatsViewModel;if(!t.dragDimension&&(PK(t.pathSelection),YNe(t.dimensionSelection.selectAll(\"g.category\")),RK(t.dimensionSelection.selectAll(\"g.category\").selectAll(\"rect.bandrect\")),Pk.loneUnhover(t.graphDiv._fullLayout._hoverlayer.node()),t.pathSelection.sort(CK),t.hoverinfoItems.indexOf(\"skip\")===-1)){var r=e.parcatsViewModel.hoveron,n=this;r===\"color\"?zK(n,\"plotly_unhover\",ul.event):DK(n,\"plotly_unhover\",ul.event)}}function RVt(e){e.parcatsViewModel.arrangement!==\"fixed\"&&(e.dragDimensionDisplayInd=e.model.displayInd,e.initialDragDimensionDisplayInds=e.parcatsViewModel.model.dimensions.map(function(t){return t.displayInd}),e.dragHasMoved=!1,e.dragCategoryDisplayInd=null,ul.select(this).selectAll(\"g.category\").select(\"rect.catrect\").each(function(t){var r=ul.mouse(this)[0],n=ul.mouse(this)[1];-2<=r&&r<=t.width+2&&-2<=n&&n<=t.height+2&&(e.dragCategoryDisplayInd=t.model.displayInd,e.initialDragCategoryDisplayInds=e.model.categories.map(function(i){return i.displayInd}),t.model.dragY=t.y,yx.raiseToTop(this.parentNode),ul.select(this.parentNode).selectAll(\"rect.bandrect\").each(function(i){i.y<n&&n<=i.y+i.height&&(e.potentialClickBand=this)}))}),e.parcatsViewModel.dragDimension=e,Pk.loneUnhover(e.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()))}function DVt(e){if(e.parcatsViewModel.arrangement!==\"fixed\"&&(e.dragHasMoved=!0,e.dragDimensionDisplayInd!==null)){var t=e.dragDimensionDisplayInd,r=t-1,n=t+1,i=e.parcatsViewModel.dimensions[t];if(e.dragCategoryDisplayInd!==null){var a=i.categories[e.dragCategoryDisplayInd];a.model.dragY+=ul.event.dy;var o=a.model.dragY,s=a.model.displayInd,l=i.categories,u=l[s-1],c=l[s+1];u!==void 0&&o<u.y+u.height/2&&(a.model.displayInd=u.model.displayInd,u.model.displayInd=s),c!==void 0&&o+a.height>c.y+c.height/2&&(a.model.displayInd=c.model.displayInd,c.model.displayInd=s),e.dragCategoryDisplayInd=a.model.displayInd}if(e.dragCategoryDisplayInd===null||e.parcatsViewModel.arrangement===\"freeform\"){i.model.dragX=ul.event.x;var f=e.parcatsViewModel.dimensions[r],h=e.parcatsViewModel.dimensions[n];f!==void 0&&i.model.dragX<f.x+f.width&&(i.model.displayInd=f.model.displayInd,f.model.displayInd=t),h!==void 0&&i.model.dragX+i.width>h.x&&(i.model.displayInd=h.model.displayInd,h.model.displayInd=e.dragDimensionDisplayInd),e.dragDimensionDisplayInd=i.model.displayInd}qK(e.parcatsViewModel),FK(e.parcatsViewModel),QNe(e.parcatsViewModel),$Ne(e.parcatsViewModel)}}function zVt(e){if(e.parcatsViewModel.arrangement!==\"fixed\"&&e.dragDimensionDisplayInd!==null){ul.select(this).selectAll(\"text\").attr(\"font-weight\",\"normal\");var t={},r=JNe(e.parcatsViewModel),n=e.parcatsViewModel.model.dimensions.map(function(h){return h.displayInd}),i=e.initialDragDimensionDisplayInds.some(function(h,d){return h!==n[d]});i&&n.forEach(function(h,d){var v=e.parcatsViewModel.model.dimensions[d].containerInd;t[\"dimensions[\"+v+\"].displayindex\"]=h});var a=!1;if(e.dragCategoryDisplayInd!==null){var o=e.model.categories.map(function(h){return h.displayInd});if(a=e.initialDragCategoryDisplayInds.some(function(h,d){return h!==o[d]}),a){var s=e.model.categories.slice().sort(function(h,d){return h.displayInd-d.displayInd}),l=s.map(function(h){return h.categoryValue}),u=s.map(function(h){return h.categoryLabel});t[\"dimensions[\"+e.model.containerInd+\"].categoryarray\"]=[l],t[\"dimensions[\"+e.model.containerInd+\"].ticktext\"]=[u],t[\"dimensions[\"+e.model.containerInd+\"].categoryorder\"]=\"array\"}}if(e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1&&!e.dragHasMoved&&e.potentialClickBand&&(e.parcatsViewModel.hoveron===\"color\"?zK(e.potentialClickBand,\"plotly_click\",ul.event.sourceEvent):DK(e.potentialClickBand,\"plotly_click\",ul.event.sourceEvent)),e.model.dragX=null,e.dragCategoryDisplayInd!==null){var c=e.parcatsViewModel.dimensions[e.dragDimensionDisplayInd].categories[e.dragCategoryDisplayInd];c.model.dragY=null,e.dragCategoryDisplayInd=null}e.dragDimensionDisplayInd=null,e.parcatsViewModel.dragDimension=null,e.dragHasMoved=null,e.potentialClickBand=null,qK(e.parcatsViewModel),FK(e.parcatsViewModel);var f=ul.transition().duration(300).ease(\"cubic-in-out\");f.each(function(){QNe(e.parcatsViewModel,!0),$Ne(e.parcatsViewModel,!0)}).each(\"end\",function(){(i||a)&&_Vt.restyle(e.parcatsViewModel.graphDiv,t,[r])})}}function JNe(e){for(var t,r=e.graphDiv._fullData,n=0;n<r.length;n++)if(e.key===r[n].uid){t=n;break}return t}function $Ne(e,t){t===void 0&&(t=!1);function r(n){return t?n.transition():n}e.pathSelection.data(function(n){return n.paths},u1),r(e.pathSelection).attr(\"d\",function(n){return n.svgD})}function QNe(e,t){t===void 0&&(t=!1);function r(l){return t?l.transition():l}e.dimensionSelection.data(function(l){return l.dimensions},u1);var n=e.dimensionSelection.selectAll(\"g.category\").data(function(l){return l.categories},u1);r(e.dimensionSelection).attr(\"transform\",function(l){return Ck(l.x,0)}),r(n).attr(\"transform\",function(l){return Ck(0,l.y)});var i=n.select(\".dimlabel\");i.text(function(l,u){return u===0?l.parcatsViewModel.model.dimensions[l.model.dimensionInd].dimensionLabel:null});var a=n.select(\".catlabel\");a.attr(\"text-anchor\",function(l){return Lk(l)?\"start\":\"end\"}).attr(\"x\",function(l){return Lk(l)?l.width+5:-5}).each(function(l){var u,c;Lk(l)?(u=l.width+5,c=\"start\"):(u=-5,c=\"end\"),ul.select(this).selectAll(\"tspan\").attr(\"x\",u).attr(\"text-anchor\",c)});var o=n.selectAll(\"rect.bandrect\").data(function(l){return l.bands},u1),s=o.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"cursor\",\"move\").attr(\"stroke-opacity\",0).attr(\"fill\",function(l){return l.color}).attr(\"fill-opacity\",0);o.attr(\"fill\",function(l){return l.color}).attr(\"width\",function(l){return l.width}).attr(\"height\",function(l){return l.height}).attr(\"y\",function(l){return l.y}),RK(s),o.each(function(){yx.raiseToTop(this)}),o.exit().remove()}function FVt(e,t,r){var n=r[0],i=t.margin||{l:80,r:80,t:100,b:80},a=n.trace,o=a.domain,s=t.width,l=t.height,u=Math.floor(s*(o.x[1]-o.x[0])),c=Math.floor(l*(o.y[1]-o.y[0])),f=o.x[0]*s+i.l,h=t.height-o.y[1]*t.height+i.t,d=a.line.shape,v;a.hoverinfo===\"all\"?v=[\"count\",\"probability\"]:v=(a.hoverinfo||\"\").split(\"+\");var x={trace:a,key:a.uid,model:n,x:f,y:h,width:u,height:c,hoveron:a.hoveron,hoverinfoItems:v,arrangement:a.arrangement,bundlecolors:a.bundlecolors,sortpaths:a.sortpaths,labelfont:a.labelfont,categorylabelfont:a.tickfont,pathShape:d,dragDimension:null,margin:i,paths:[],dimensions:[],graphDiv:e,traceSelection:null,pathSelection:null,dimensionSelection:null};return n.dimensions&&(qK(x),FK(x)),x}function XNe(e,t,r,n,i){var a=[],o=[],s,l;for(l=0;l<r.length-1;l++)s=yVt(r[l]+e[l],e[l+1]),a.push(s(i)),o.push(s(1-i));var u=\"M \"+e[0]+\",\"+t[0];for(u+=\"l\"+r[0]+\",0 \",l=1;l<r.length;l++)u+=\"C\"+a[l-1]+\",\"+t[l-1]+\" \"+o[l-1]+\",\"+t[l]+\" \"+e[l]+\",\"+t[l],u+=\"l\"+r[l]+\",0 \";for(u+=\"l0,\"+n+\" \",u+=\"l -\"+r[r.length-1]+\",0 \",l=r.length-2;l>=0;l--)u+=\"C\"+o[l]+\",\"+(t[l+1]+n)+\" \"+a[l]+\",\"+(t[l]+n)+\" \"+(e[l]+r[l])+\",\"+(t[l]+n),u+=\"l-\"+r[l]+\",0 \";return u+=\"Z\",u}function FK(e){var t=e.dimensions,r=e.model,n=t.map(function(q){return q.categories.map(function(V){return V.y})}),i=e.model.dimensions.map(function(q){return q.categories.map(function(V){return V.displayInd})}),a=e.model.dimensions.map(function(q){return q.displayInd}),o=e.dimensions.map(function(q){return q.model.dimensionInd}),s=t.map(function(q){return q.x}),l=t.map(function(q){return q.width}),u=[];for(var c in r.paths)r.paths.hasOwnProperty(c)&&u.push(r.paths[c]);function f(q){var V=q.categoryInds.map(function(X,G){return i[G][X]}),H=o.map(function(X){return V[X]});return H}u.sort(function(q,V){var H=f(q),X=f(V);return e.sortpaths===\"backward\"&&(H.reverse(),X.reverse()),H.push(q.valueInds[0]),X.push(V.valueInds[0]),e.bundlecolors&&(H.unshift(q.rawColor),X.unshift(V.rawColor)),H<X?-1:H>X?1:0});for(var h=new Array(u.length),d=t[0].model.count,v=t[0].categories.map(function(q){return q.height}).reduce(function(q,V){return q+V}),x=0;x<u.length;x++){var b=u[x],p;d>0?p=v*(b.count/d):p=0;for(var E=new Array(n.length),k=0;k<b.categoryInds.length;k++){var A=b.categoryInds[k],L=i[k][A],_=a[k];E[_]=n[_][L],n[_][L]+=p;var C=e.dimensions[_].categories[L],M=C.bands.length,g=C.bands[M-1];if(g===void 0||b.rawColor!==g.rawColor){var P=g===void 0?0:g.y+g.height;C.bands.push({key:P,color:b.color,rawColor:b.rawColor,height:p,width:C.width,count:b.count,y:P,categoryViewModel:C,parcatsViewModel:e})}else{var T=C.bands[M-1];T.height+=p,T.count+=b.count}}var F;e.pathShape===\"hspline\"?F=XNe(s,E,l,p,.5):F=XNe(s,E,l,p,0),h[x]={key:b.valueInds[0],model:b,height:p,leftXs:s,topYs:E,dimWidths:l,svgD:F,parcatsViewModel:e}}e.paths=h}function qK(e){var t=e.model.dimensions.map(function(o){return{displayInd:o.displayInd,dimensionInd:o.dimensionInd}});t.sort(function(o,s){return o.displayInd-s.displayInd});var r=[];for(var n in t){var i=t[n].dimensionInd,a=e.model.dimensions[i];r.push(qVt(e,a))}e.dimensions=r}function qVt(e,t){var r=40,n=16,i=e.model.dimensions.length,a=t.displayInd,o,s,l;i>1?o=(e.width-2*r-n)/(i-1):o=0,s=r,l=s+o*a;var u=[],c=e.model.maxCats,f=t.categories.length,h=8,d=t.count,v=e.height-h*(c-1),x,b,p,E,k,A=(c-f)*h/2,L=t.categories.map(function(_){return{displayInd:_.displayInd,categoryInd:_.categoryInd}});for(L.sort(function(_,C){return _.displayInd-C.displayInd}),k=0;k<f;k++)E=L[k].categoryInd,b=t.categories[E],d>0?x=b.count/d*v:x=0,p={key:b.valueInds[0],model:b,width:n,height:x,y:b.dragY!==null?b.dragY:A,bands:[],parcatsViewModel:e},A=A+x+h,u.push(p);return{key:t.dimensionInd,x:t.dragX!==null?t.dragX:l,y:0,width:n,model:t,categories:u,parcatsViewModel:e,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}});var OK=ye((Tyr,rUe)=>{\"use strict\";var OVt=tUe();rUe.exports=function(t,r,n,i){var a=t._fullLayout,o=a._paper,s=a._size;OVt(t,o,r,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},n,i)}});var nUe=ye(BF=>{\"use strict\";var BVt=kd().getModuleCalcData,NVt=OK(),iUe=\"parcats\";BF.name=iUe;BF.plot=function(e,t,r,n){var i=BVt(e.calcdata,iUe);if(i.length){var a=i[0];NVt(e,a,r,n)}};BF.clean=function(e,t,r,n){var i=n._has&&n._has(\"parcats\"),a=t._has&&t._has(\"parcats\");i&&!a&&n._paperdiv.selectAll(\".parcats\").remove()}});var oUe=ye((Syr,aUe)=>{\"use strict\";aUe.exports={attributes:EK(),supplyDefaults:GNe(),calc:WNe(),plot:OK(),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcats\",basePlotModule:nUe(),categories:[\"noOpacity\"],meta:{}}});var lUe=ye((Myr,sUe)=>{\"use strict\";sUe.exports=oUe()});var c1=ye((Eyr,pUe)=>{\"use strict\";var UVt=Y1(),uUe=\"1.13.4\",dUe='\\xA9 <a target=\"_blank\" href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors',cUe=['\\xA9 <a target=\"_blank\" href=\"https://carto.com/\">Carto</a>',dUe].join(\" \"),fUe=['Map tiles by <a target=\"_blank\" href=\"https://stamen.com\">Stamen Design</a>','under <a target=\"_blank\" href=\"https://creativecommons.org/licenses/by/3.0\">CC BY 3.0</a>',\"|\",'Data by <a target=\"_blank\" href=\"https://openstreetmap.org\">OpenStreetMap</a> contributors','under <a target=\"_blank\" href=\"https://www.openstreetmap.org/copyright\">ODbL</a>'].join(\" \"),VVt=['Map tiles by <a target=\"_blank\" href=\"https://stamen.com\">Stamen Design</a>','under <a target=\"_blank\" href=\"https://creativecommons.org/licenses/by/3.0\">CC BY 3.0</a>',\"|\",'Data by <a target=\"_blank\" href=\"https://openstreetmap.org\">OpenStreetMap</a> contributors','under <a target=\"_blank\" href=\"https://creativecommons.org/licenses/by-sa/3.0\">CC BY SA</a>'].join(\" \"),vUe={\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:dUe,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:cUe,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:cUe,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:fUe,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:fUe,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:VVt,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\"}},hUe=UVt(vUe);pUe.exports={requiredVersion:uUe,styleUrlPrefix:\"mapbox://styles/mapbox/\",styleUrlSuffix:\"v9\",styleValuesMapbox:[\"basic\",\"streets\",\"outdoors\",\"light\",\"dark\",\"satellite\",\"satellite-streets\"],styleValueDflt:\"basic\",stylesNonMapbox:vUe,styleValuesNonMapbox:hUe,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@\"+uUe+\".\"].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:\",hUe.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')`}}});var Rk=ye((kyr,_Ue)=>{\"use strict\";var gUe=Mr(),mUe=va().defaultLine,HVt=Ju().attributes,GVt=Su(),jVt=Uc().textposition,WVt=Bu().overrideAll,ZVt=Vs().templatedArray,BK=c1(),yUe=GVt({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});yUe.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\";var XVt=_Ue.exports=WVt({_arrayAttrRegexps:[gUe.counterRegex(\"mapbox\",\".layers\",!0)],domain:HVt({name:\"mapbox\"}),accesstoken:{valType:\"string\",noBlank:!0,strict:!0},style:{valType:\"any\",values:BK.styleValuesMapbox.concat(BK.styleValuesNonMapbox),dflt:BK.styleValueDflt},center:{lon:{valType:\"number\",dflt:0},lat:{valType:\"number\",dflt:0}},zoom:{valType:\"number\",dflt:1},bearing:{valType:\"number\",dflt:0},pitch:{valType:\"number\",dflt:0},bounds:{west:{valType:\"number\"},east:{valType:\"number\"},south:{valType:\"number\"},north:{valType:\"number\"}},layers:ZVt(\"layer\",{visible:{valType:\"boolean\",dflt:!0},sourcetype:{valType:\"enumerated\",values:[\"geojson\",\"vector\",\"raster\",\"image\"],dflt:\"geojson\"},source:{valType:\"any\"},sourcelayer:{valType:\"string\",dflt:\"\"},sourceattribution:{valType:\"string\"},type:{valType:\"enumerated\",values:[\"circle\",\"line\",\"fill\",\"symbol\",\"raster\"],dflt:\"circle\"},coordinates:{valType:\"any\"},below:{valType:\"string\"},color:{valType:\"color\",dflt:mUe},opacity:{valType:\"number\",min:0,max:1,dflt:1},minzoom:{valType:\"number\",min:0,max:24,dflt:0},maxzoom:{valType:\"number\",min:0,max:24,dflt:24},circle:{radius:{valType:\"number\",dflt:15}},line:{width:{valType:\"number\",dflt:2},dash:{valType:\"data_array\"}},fill:{outlinecolor:{valType:\"color\",dflt:mUe}},symbol:{icon:{valType:\"string\",dflt:\"marker\"},iconsize:{valType:\"number\",dflt:10},text:{valType:\"string\",dflt:\"\"},placement:{valType:\"enumerated\",values:[\"point\",\"line\",\"line-center\"],dflt:\"point\"},textfont:yUe,textposition:gUe.extendFlat({},jVt,{arrayOk:!1})}})},\"plot\",\"from-root\");XVt.uirevision={valType:\"any\",editType:\"none\"}});var NF=ye((Cyr,wUe)=>{\"use strict\";var YVt=Wo().hovertemplateAttrs,KVt=Wo().texttemplateAttrs,JVt=Eg(),Dk=H2(),_A=Uc(),xUe=Rk(),$Vt=vl(),QVt=Jl(),ew=no().extendFlat,eHt=Bu().overrideAll,tHt=Rk(),bUe=Dk.line,xA=Dk.marker;wUe.exports=eHt({lon:Dk.lon,lat:Dk.lat,cluster:{enabled:{valType:\"boolean\"},maxzoom:ew({},tHt.layers.maxzoom,{}),step:{valType:\"number\",arrayOk:!0,dflt:-1,min:-1},size:{valType:\"number\",arrayOk:!0,dflt:20,min:0},color:{valType:\"color\",arrayOk:!0},opacity:ew({},xA.opacity,{dflt:1})},mode:ew({},_A.mode,{dflt:\"markers\"}),text:ew({},_A.text,{}),texttemplate:KVt({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"text\"]}),hovertext:ew({},_A.hovertext,{}),line:{color:bUe.color,width:bUe.width},connectgaps:_A.connectgaps,marker:ew({symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},angle:{valType:\"number\",dflt:\"auto\",arrayOk:!0},allowoverlap:{valType:\"boolean\",dflt:!1},opacity:xA.opacity,size:xA.size,sizeref:xA.sizeref,sizemin:xA.sizemin,sizemode:xA.sizemode},QVt(\"marker\")),fill:Dk.fill,fillcolor:JVt(),textfont:xUe.layers.symbol.textfont,textposition:xUe.layers.symbol.textposition,below:{valType:\"string\"},selected:{marker:_A.selected.marker},unselected:{marker:_A.unselected.marker},hoverinfo:ew({},$Vt.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]}),hovertemplate:YVt()},\"calc\",\"nested\")});var NK=ye((Lyr,TUe)=>{\"use strict\";var rHt=[\"Metropolis Black Italic\",\"Metropolis Black\",\"Metropolis Bold Italic\",\"Metropolis Bold\",\"Metropolis Extra Bold Italic\",\"Metropolis Extra Bold\",\"Metropolis Extra Light Italic\",\"Metropolis Extra Light\",\"Metropolis Light Italic\",\"Metropolis Light\",\"Metropolis Medium Italic\",\"Metropolis Medium\",\"Metropolis Regular Italic\",\"Metropolis Regular\",\"Metropolis Semi Bold Italic\",\"Metropolis Semi Bold\",\"Metropolis Thin Italic\",\"Metropolis Thin\",\"Open Sans Bold Italic\",\"Open Sans Bold\",\"Open Sans Extrabold Italic\",\"Open Sans Extrabold\",\"Open Sans Italic\",\"Open Sans Light Italic\",\"Open Sans Light\",\"Open Sans Regular\",\"Open Sans Semibold Italic\",\"Open Sans Semibold\",\"Klokantech Noto Sans Bold\",\"Klokantech Noto Sans CJK Bold\",\"Klokantech Noto Sans CJK Regular\",\"Klokantech Noto Sans Italic\",\"Klokantech Noto Sans Regular\"];TUe.exports={isSupportedFont:function(e){return rHt.indexOf(e)!==-1}}});var MUe=ye((Pyr,SUe)=>{\"use strict\";var zk=Mr(),UK=lu(),iHt=$p(),nHt=R0(),aHt=D0(),oHt=Ig(),AUe=NF(),sHt=NK().isSupportedFont;SUe.exports=function(t,r,n,i){function a(p,E){return zk.coerce(t,r,AUe,p,E)}function o(p,E){return zk.coerce2(t,r,AUe,p,E)}var s=lHt(t,r,a);if(!s){r.visible=!1;return}if(a(\"text\"),a(\"texttemplate\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"mode\"),a(\"below\"),UK.hasMarkers(r)){iHt(t,r,n,i,a,{noLine:!0,noAngle:!0}),a(\"marker.allowoverlap\"),a(\"marker.angle\");var l=r.marker;l.symbol!==\"circle\"&&(zk.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),zk.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}UK.hasLines(r)&&(nHt(t,r,n,i,a,{noDash:!0}),a(\"connectgaps\"));var u=o(\"cluster.maxzoom\"),c=o(\"cluster.step\"),f=o(\"cluster.color\",r.marker&&r.marker.color||n),h=o(\"cluster.size\"),d=o(\"cluster.opacity\"),v=u!==!1||c!==!1||f!==!1||h!==!1||d!==!1,x=a(\"cluster.enabled\",v);if(x||UK.hasText(r)){var b=i.font.family;aHt(t,r,i,a,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:sHt(b)?b:\"Open Sans Regular\",weight:i.font.weight,style:i.font.style,size:i.font.size,color:i.font.color}})}a(\"fill\"),r.fill!==\"none\"&&oHt(t,r,n,a),zk.coerceSelectionMarkerOpacity(r,a)};function lHt(e,t,r){var n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length);return t._length=a,a}});var VK=ye((Iyr,kUe)=>{\"use strict\";var EUe=Qa();kUe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=EUe.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=EUe.tickText(o,o.c2l(s[1]),!0).text,i}});var HK=ye((Ryr,LUe)=>{\"use strict\";var CUe=Mr();LUe.exports=function(t,r){var n=t.split(\" \"),i=n[0],a=n[1],o=CUe.isArrayOrTypedArray(r)?CUe.mean(r):r,s=.5+o/100,l=1.5+o/100,u=[\"\",\"\"],c=[0,0];switch(i){case\"top\":u[0]=\"top\",c[1]=-l;break;case\"bottom\":u[0]=\"bottom\",c[1]=l;break}switch(a){case\"left\":u[1]=\"right\",c[0]=-s;break;case\"right\":u[1]=\"left\",c[0]=s;break}var f;return u[0]&&u[1]?f=u.join(\"-\"):u[0]?f=u[0]:u[1]?f=u[1]:f=\"center\",{anchor:f,offset:c}}});var FUe=ye((Dyr,zUe)=>{\"use strict\";var RUe=uo(),iv=Mr(),uHt=es().BADNUM,VF=rx(),PUe=Mu(),cHt=ao(),fHt=S3(),HF=lu(),hHt=NK().isSupportedFont,dHt=HK(),vHt=rp().appendArrayPointValue,pHt=Pl().NEWLINES,gHt=Pl().BR_TAG_ALL;zUe.exports=function(t,r){var n=r[0].trace,i=n.visible===!0&&n._length!==0,a=n.fill!==\"none\",o=HF.hasLines(n),s=HF.hasMarkers(n),l=HF.hasText(n),u=s&&n.marker.symbol===\"circle\",c=s&&n.marker.symbol!==\"circle\",f=n.cluster&&n.cluster.enabled,h=UF(\"fill\"),d=UF(\"line\"),v=UF(\"circle\"),x=UF(\"symbol\"),b={fill:h,line:d,circle:v,symbol:x};if(!i)return b;var p;if((a||o)&&(p=VF.calcTraceToLineCoords(r)),a&&(h.geojson=VF.makePolygon(p),h.layout.visibility=\"visible\",iv.extendFlat(h.paint,{\"fill-color\":n.fillcolor})),o&&(d.geojson=VF.makeLine(p),d.layout.visibility=\"visible\",iv.extendFlat(d.paint,{\"line-width\":n.line.width,\"line-color\":n.line.color,\"line-opacity\":n.opacity})),u){var E=mHt(r);v.geojson=E.geojson,v.layout.visibility=\"visible\",f&&(v.filter=[\"!\",[\"has\",\"point_count\"]],b.cluster={type:\"circle\",filter:[\"has\",\"point_count\"],layout:{visibility:\"visible\"},paint:{\"circle-color\":jK(n.cluster.color,n.cluster.step),\"circle-radius\":jK(n.cluster.size,n.cluster.step),\"circle-opacity\":jK(n.cluster.opacity,n.cluster.step)}},b.clusterCount={type:\"symbol\",filter:[\"has\",\"point_count\"],paint:{},layout:{\"text-field\":\"{point_count_abbreviated}\",\"text-font\":IUe(n),\"text-size\":12}}),iv.extendFlat(v.paint,{\"circle-color\":E.mcc,\"circle-radius\":E.mrc,\"circle-opacity\":E.mo})}if(u&&f&&(v.filter=[\"!\",[\"has\",\"point_count\"]]),(c||l)&&(x.geojson=yHt(r,t),iv.extendFlat(x.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),c&&(iv.extendFlat(x.layout,{\"icon-size\":n.marker.size/10}),\"angle\"in n.marker&&n.marker.angle!==\"auto\"&&iv.extendFlat(x.layout,{\"icon-rotate\":{type:\"identity\",property:\"angle\"},\"icon-rotation-alignment\":\"map\"}),x.layout[\"icon-allow-overlap\"]=n.marker.allowoverlap,iv.extendFlat(x.paint,{\"icon-opacity\":n.opacity*n.marker.opacity,\"icon-color\":n.marker.color})),l)){var k=(n.marker||{}).size,A=dHt(n.textposition,k);iv.extendFlat(x.layout,{\"text-size\":n.textfont.size,\"text-anchor\":A.anchor,\"text-offset\":A.offset,\"text-font\":IUe(n)}),iv.extendFlat(x.paint,{\"text-color\":n.textfont.color,\"text-opacity\":n.opacity})}return b};function UF(e){return{type:e,geojson:VF.makeBlank(),layout:{visibility:\"none\"},filter:null,paint:{}}}function mHt(e){var t=e[0].trace,r=t.marker,n=t.selectedpoints,i=iv.isArrayOrTypedArray(r.color),a=iv.isArrayOrTypedArray(r.size),o=iv.isArrayOrTypedArray(r.opacity),s;function l(k){return t.opacity*k}function u(k){return k/2}var c;i&&(PUe.hasColorscale(t,\"marker\")?c=PUe.makeColorScaleFuncFromTrace(r):c=iv.identity);var f;a&&(f=fHt(t));var h;o&&(h=function(k){var A=RUe(k)?+iv.constrain(k,0,1):0;return l(A)});var d=[];for(s=0;s<e.length;s++){var v=e[s],x=v.lonlat;if(!DUe(x)){var b={};c&&(b.mcc=v.mcc=c(v.mc)),f&&(b.mrc=v.mrc=f(v.ms)),h&&(b.mo=h(v.mo)),n&&(b.selected=v.selected||0),d.push({type:\"Feature\",id:s+1,geometry:{type:\"Point\",coordinates:x},properties:b})}}var p;if(n)for(p=cHt.makeSelectedPointStyleFns(t),s=0;s<d.length;s++){var E=d[s].properties;p.selectedOpacityFn&&(E.mo=l(p.selectedOpacityFn(E))),p.selectedColorFn&&(E.mcc=p.selectedColorFn(E)),p.selectedSizeFn&&(E.mrc=p.selectedSizeFn(E))}return{geojson:{type:\"FeatureCollection\",features:d},mcc:i||p&&p.selectedColorFn?{type:\"identity\",property:\"mcc\"}:r.color,mrc:a||p&&p.selectedSizeFn?{type:\"identity\",property:\"mrc\"}:u(r.size),mo:o||p&&p.selectedOpacityFn?{type:\"identity\",property:\"mo\"}:l(r.opacity)}}function yHt(e,t){for(var r=t._fullLayout,n=e[0].trace,i=n.marker||{},a=i.symbol,o=i.angle,s=a!==\"circle\"?GK(a):GF,l=o!==\"auto\"?GK(o,!0):GF,u=HF.hasText(n)?GK(n.text):GF,c=[],f=0;f<e.length;f++){var h=e[f];if(!DUe(h.lonlat)){var d=n.texttemplate,v;if(d){var x=Array.isArray(d)?d[f]||\"\":d,b=n._module.formatLabels(h,n,r),p={};vHt(p,n,h.i);var E=n._meta||{};v=iv.texttemplateString(x,b,r._d3locale,p,h,E)}else v=u(f);v&&(v=v.replace(pHt,\"\").replace(gHt,`\n", - "`)),c.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:h.lonlat},properties:{symbol:s(f),angle:l(f),text:v}})}}return{type:\"FeatureCollection\",features:c}}function GK(e,t){return iv.isArrayOrTypedArray(e)?t?function(r){return RUe(e[r])?+e[r]:0}:function(r){return e[r]}:e?function(){return e}:GF}function GF(){return\"\"}function DUe(e){return e[0]===uHt}function jK(e,t){var r;if(iv.isArrayOrTypedArray(e)&&iv.isArrayOrTypedArray(t)){r=[\"step\",[\"get\",\"point_count\"],e[0]];for(var n=1;n<e.length;n++)r.push(t[n-1],e[n])}else r=e;return r}function IUe(e){var t=e.textfont,r=t.family,n=t.style,i=t.weight,a=r.split(\" \"),o=a[a.length-1]===\"Italic\";o&&a.pop(),o=o||n===\"italic\";var s=a.join(\" \");i===\"bold\"&&a.indexOf(\"Bold\")===-1?s+=\" Bold\":i<=1e3&&(a[0]===\"Metropolis\"?(s=\"Metropolis\",i>850?s+=\" Black\":i>750?s+=\" Extra Bold\":i>650?s+=\" Bold\":i>550?s+=\" Semi Bold\":i>450?s+=\" Medium\":i>350?s+=\" Regular\":i>250?s+=\" Light\":i>150?s+=\" Extra Light\":s+=\" Thin\"):a.slice(0,2).join(\" \")===\"Open Sans\"?(s=\"Open Sans\",i>750?s+=\" Extrabold\":i>650?s+=\" Bold\":i>550?s+=\" Semibold\":i>350?s+=\" Regular\":s+=\" Light\"):a.slice(0,3).join(\" \")===\"Klokantech Noto Sans\"&&(s=\"Klokantech Noto Sans\",a[3]===\"CJK\"&&(s+=\" CJK\"),s+=i>500?\" Bold\":\" Regular\")),o&&(s+=\" Italic\"),s===\"Open Sans Regular Italic\"?s=\"Open Sans Italic\":s===\"Open Sans Regular Bold\"?s=\"Open Sans Bold\":s===\"Open Sans Regular Bold Italic\"?s=\"Open Sans Bold Italic\":s===\"Klokantech Noto Sans Regular Italic\"&&(s=\"Klokantech Noto Sans Italic\"),hHt(s)||(s=r);var l=s.split(\", \");return l}});var NUe=ye((zyr,BUe)=>{\"use strict\";var _Ht=Mr(),qUe=FUe(),bA=c1().traceLayerPrefix,rg={cluster:[\"cluster\",\"clusterCount\",\"circle\"],nonCluster:[\"fill\",\"line\",\"circle\",\"symbol\"]};function OUe(e,t,r,n){this.type=\"scattermapbox\",this.subplot=e,this.uid=t,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:\"source-\"+t+\"-fill\",line:\"source-\"+t+\"-line\",circle:\"source-\"+t+\"-circle\",symbol:\"source-\"+t+\"-symbol\",cluster:\"source-\"+t+\"-circle\",clusterCount:\"source-\"+t+\"-circle\"},this.layerIds={fill:bA+t+\"-fill\",line:bA+t+\"-line\",circle:bA+t+\"-circle\",symbol:bA+t+\"-symbol\",cluster:bA+t+\"-cluster\",clusterCount:bA+t+\"-cluster-count\"},this.below=null}var Fk=OUe.prototype;Fk.addSource=function(e,t,r){var n={type:\"geojson\",data:t.geojson};r&&r.enabled&&_Ht.extendFlat(n,{cluster:!0,clusterMaxZoom:r.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[e]);i?i.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[e],n)};Fk.setSourceData=function(e,t){this.subplot.map.getSource(this.sourceIds[e]).setData(t.geojson)};Fk.addLayer=function(e,t,r){var n={type:t.type,id:this.layerIds[e],source:this.sourceIds[e],layout:t.layout,paint:t.paint};t.filter&&(n.filter=t.filter);for(var i=this.layerIds[e],a,o=this.subplot.getMapLayers(),s=0;s<o.length;s++)if(o[s].id===i){a=!0;break}a?(this.subplot.setOptions(i,\"setLayoutProperty\",n.layout),n.layout.visibility===\"visible\"&&this.subplot.setOptions(i,\"setPaintProperty\",n.paint)):this.subplot.addLayer(n,r)};Fk.update=function(t){var r=t[0].trace,n=this.subplot,i=n.map,a=qUe(n.gd,t),o=n.belowLookup[\"trace-\"+this.uid],s=!!(r.cluster&&r.cluster.enabled),l=!!this.clusterEnabled,u=this;function c(k){k||u.addSource(\"circle\",a.circle,r.cluster);for(var A=rg.cluster,L=0;L<A.length;L++){var _=A[L],C=a[_];u.addLayer(_,C,o)}}function f(k){for(var A=rg.cluster,L=A.length-1;L>=0;L--){var _=A[L];i.removeLayer(u.layerIds[_])}k||i.removeSource(u.sourceIds.circle)}function h(k){for(var A=rg.nonCluster,L=0;L<A.length;L++){var _=A[L],C=a[_];k||u.addSource(_,C),u.addLayer(_,C,o)}}function d(k){for(var A=rg.nonCluster,L=A.length-1;L>=0;L--){var _=A[L];i.removeLayer(u.layerIds[_]),k||i.removeSource(u.sourceIds[_])}}function v(k){l?f(k):d(k)}function x(k){s?c(k):h(k)}function b(){for(var k=s?rg.cluster:rg.nonCluster,A=0;A<k.length;A++){var L=k[A],_=a[L];_&&(n.setOptions(u.layerIds[L],\"setLayoutProperty\",_.layout),_.layout.visibility===\"visible\"&&(L!==\"cluster\"&&u.setSourceData(L,_),n.setOptions(u.layerIds[L],\"setPaintProperty\",_.paint)))}}var p=this.isHidden,E=r.visible!==!0;E?p||v():p?E||x():l!==s?(v(),x()):(this.below!==o&&(v(!0),x(!0)),b()),this.clusterEnabled=s,this.isHidden=E,this.below=o,t[0].trace._glTrace=this};Fk.dispose=function(){for(var t=this.subplot.map,r=this.clusterEnabled?rg.cluster:rg.nonCluster,n=r.length-1;n>=0;n--){var i=r[n];t.removeLayer(this.layerIds[i]),t.removeSource(this.sourceIds[i])}};BUe.exports=function(t,r){var n=r[0].trace,i=n.cluster&&n.cluster.enabled,a=n.visible!==!0,o=new OUe(t,n.uid,i,a),s=qUe(t.gd,r),l=o.below=t.belowLookup[\"trace-\"+n.uid],u,c,f;if(i)for(o.addSource(\"circle\",s.circle,n.cluster),u=0;u<rg.cluster.length;u++)c=rg.cluster[u],f=s[c],o.addLayer(c,f,l);else for(u=0;u<rg.nonCluster.length;u++)c=rg.nonCluster[u],f=s[c],o.addSource(c,f,n.cluster),o.addLayer(c,f,l);return r[0].trace._glTrace=o,o}});var jF=ye((Fyr,VUe)=>{\"use strict\";var xHt=Nc(),WK=Mr(),bHt=oT(),wHt=WK.fillText,THt=es().BADNUM,AHt=c1().traceLayerPrefix;function SHt(e,t,r){var n=e.cd,i=n[0].trace,a=e.xa,o=e.ya,s=e.subplot,l=[],u=AHt+i.uid+\"-circle\",c=i.cluster&&i.cluster.enabled;if(c){var f=s.map.queryRenderedFeatures(null,{layers:[u]});l=f.map(function(M){return M.id})}var h=t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360),d=h*360,v=t-d;function x(M){var g=M.lonlat;if(g[0]===THt||c&&l.indexOf(M.i+1)===-1)return 1/0;var P=WK.modHalf(g[0],360),T=g[1],F=s.project([P,T]),q=F.x-a.c2p([v,T]),V=F.y-o.c2p([P,r]),H=Math.max(3,M.mrc||0);return Math.max(Math.sqrt(q*q+V*V)-H,1-3/H)}if(xHt.getClosest(n,x,e),e.index!==!1){var b=n[e.index],p=b.lonlat,E=[WK.modHalf(p[0],360)+d,p[1]],k=a.c2p(E),A=o.c2p(E),L=b.mrc||1;e.x0=k-L,e.x1=k+L,e.y0=A-L,e.y1=A+L;var _={};_[i.subplot]={_subplot:s};var C=i._module.formatLabels(b,i,_);return e.lonLabel=C.lonLabel,e.latLabel=C.latLabel,e.color=bHt(i,b),e.extraText=UUe(i,b,n[0].t.labels),e.hovertemplate=i.hovertemplate,[e]}}function UUe(e,t,r){if(e.hovertemplate)return;var n=t.hi||e.hoverinfo,i=n.split(\"+\"),a=i.indexOf(\"all\")!==-1,o=i.indexOf(\"lon\")!==-1,s=i.indexOf(\"lat\")!==-1,l=t.lonlat,u=[];function c(f){return f+\"\\xB0\"}return a||o&&s?u.push(\"(\"+c(l[1])+\", \"+c(l[0])+\")\"):o?u.push(r.lon+c(l[0])):s&&u.push(r.lat+c(l[1])),(a||i.indexOf(\"text\")!==-1)&&wHt(t,e,u),u.join(\"<br>\")}VUe.exports={hoverPoints:SHt,getExtraText:UUe}});var GUe=ye((qyr,HUe)=>{\"use strict\";HUe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t}});var WUe=ye((Oyr,jUe)=>{\"use strict\";var MHt=Mr(),EHt=lu(),kHt=es().BADNUM;jUe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l;if(!EHt.hasMarkers(s))return[];if(r===!1)for(l=0;l<n.length;l++)n[l].selected=0;else for(l=0;l<n.length;l++){var u=n[l],c=u.lonlat;if(c[0]!==kHt){var f=[MHt.modHalf(c[0],360),c[1]],h=[i.c2p(f),a.c2p(f)];r.contains(h,null,l,t)?(o.push({pointNumber:l,lon:c[0],lat:c[1]}),u.selected=1):u.selected=0}}return o}});var YK=ye((ZK,XK)=>{(function(e,t){typeof ZK==\"object\"&&typeof XK!=\"undefined\"?XK.exports=t():(e=e||self,e.mapboxgl=t())})(ZK,function(){\"use strict\";var e,t,r;function n(i,a){if(!e)e=a;else if(!t)t=a;else{var o=\"var sharedChunk = {}; (\"+e+\")(sharedChunk); (\"+t+\")(sharedChunk);\",s={};e(s),r=a(s),typeof window!=\"undefined\"&&(r.workerUrl=window.URL.createObjectURL(new Blob([o],{type:\"text/javascript\"})))}}return n([\"exports\"],function(i){\"use strict\";function a(m,y){return y={exports:{}},m(y,y.exports),y.exports}var o=\"1.13.4\",s=l;function l(m,y,I,U){this.cx=3*m,this.bx=3*(I-m)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*y,this.by=3*(U-y)-this.cy,this.ay=1-this.cy-this.by,this.p1x=m,this.p1y=U,this.p2x=I,this.p2y=U}l.prototype.sampleCurveX=function(m){return((this.ax*m+this.bx)*m+this.cx)*m},l.prototype.sampleCurveY=function(m){return((this.ay*m+this.by)*m+this.cy)*m},l.prototype.sampleCurveDerivativeX=function(m){return(3*this.ax*m+2*this.bx)*m+this.cx},l.prototype.solveCurveX=function(m,y){typeof y==\"undefined\"&&(y=1e-6);var I,U,J,ne,fe;for(J=m,fe=0;fe<8;fe++){if(ne=this.sampleCurveX(J)-m,Math.abs(ne)<y)return J;var Fe=this.sampleCurveDerivativeX(J);if(Math.abs(Fe)<1e-6)break;J=J-ne/Fe}if(I=0,U=1,J=m,J<I)return I;if(J>U)return U;for(;I<U;){if(ne=this.sampleCurveX(J),Math.abs(ne-m)<y)return J;m>ne?I=J:U=J,J=(U-I)*.5+I}return J},l.prototype.solve=function(m,y){return this.sampleCurveY(this.solveCurveX(m,y))};var u=c;function c(m,y){this.x=m,this.y=y}c.prototype={clone:function(){return new c(this.x,this.y)},add:function(m){return this.clone()._add(m)},sub:function(m){return this.clone()._sub(m)},multByPoint:function(m){return this.clone()._multByPoint(m)},divByPoint:function(m){return this.clone()._divByPoint(m)},mult:function(m){return this.clone()._mult(m)},div:function(m){return this.clone()._div(m)},rotate:function(m){return this.clone()._rotate(m)},rotateAround:function(m,y){return this.clone()._rotateAround(m,y)},matMult:function(m){return this.clone()._matMult(m)},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(m){return this.x===m.x&&this.y===m.y},dist:function(m){return Math.sqrt(this.distSqr(m))},distSqr:function(m){var y=m.x-this.x,I=m.y-this.y;return y*y+I*I},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(m){return Math.atan2(this.y-m.y,this.x-m.x)},angleWith:function(m){return this.angleWithSep(m.x,m.y)},angleWithSep:function(m,y){return Math.atan2(this.x*y-this.y*m,this.x*m+this.y*y)},_matMult:function(m){var y=m[0]*this.x+m[1]*this.y,I=m[2]*this.x+m[3]*this.y;return this.x=y,this.y=I,this},_add:function(m){return this.x+=m.x,this.y+=m.y,this},_sub:function(m){return this.x-=m.x,this.y-=m.y,this},_mult:function(m){return this.x*=m,this.y*=m,this},_div:function(m){return this.x/=m,this.y/=m,this},_multByPoint:function(m){return this.x*=m.x,this.y*=m.y,this},_divByPoint:function(m){return this.x/=m.x,this.y/=m.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var m=this.y;return this.y=this.x,this.x=-m,this},_rotate:function(m){var y=Math.cos(m),I=Math.sin(m),U=y*this.x-I*this.y,J=I*this.x+y*this.y;return this.x=U,this.y=J,this},_rotateAround:function(m,y){var I=Math.cos(m),U=Math.sin(m),J=y.x+I*(this.x-y.x)-U*(this.y-y.y),ne=y.y+U*(this.x-y.x)+I*(this.y-y.y);return this.x=J,this.y=ne,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},c.convert=function(m){return m instanceof c?m:Array.isArray(m)?new c(m[0],m[1]):m};var f=typeof self!=\"undefined\"?self:{};function h(m,y){if(Array.isArray(m)){if(!Array.isArray(y)||m.length!==y.length)return!1;for(var I=0;I<m.length;I++)if(!h(m[I],y[I]))return!1;return!0}if(typeof m==\"object\"&&m!==null&&y!==null){if(typeof y!=\"object\")return!1;var U=Object.keys(m);if(U.length!==Object.keys(y).length)return!1;for(var J in m)if(!h(m[J],y[J]))return!1;return!0}return m===y}var d=Math.pow(2,53)-1;function v(m){if(m<=0)return 0;if(m>=1)return 1;var y=m*m,I=y*m;return 4*(m<.5?I:3*(m-y)+I-.75)}function x(m,y,I,U){var J=new s(m,y,I,U);return function(ne){return J.solve(ne)}}var b=x(.25,.1,.25,1);function p(m,y,I){return Math.min(I,Math.max(y,m))}function E(m,y,I){var U=I-y,J=((m-y)%U+U)%U+y;return J===y?I:J}function k(m,y,I){if(!m.length)return I(null,[]);var U=m.length,J=new Array(m.length),ne=null;m.forEach(function(fe,Fe){y(fe,function(Qe,st){Qe&&(ne=Qe),J[Fe]=st,--U===0&&I(ne,J)})})}function A(m){var y=[];for(var I in m)y.push(m[I]);return y}function L(m,y){var I=[];for(var U in m)U in y||I.push(U);return I}function _(m){for(var y=[],I=arguments.length-1;I-- >0;)y[I]=arguments[I+1];for(var U=0,J=y;U<J.length;U+=1){var ne=J[U];for(var fe in ne)m[fe]=ne[fe]}return m}function C(m,y){for(var I={},U=0;U<y.length;U++){var J=y[U];J in m&&(I[J]=m[J])}return I}var M=1;function g(){return M++}function P(){function m(y){return y?(y^Math.random()*16>>y/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,m)}return m()}function T(m){return m<=1?1:Math.pow(2,Math.ceil(Math.log(m)/Math.LN2))}function F(m){return m?/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(m):!1}function q(m,y){m.forEach(function(I){y[I]&&(y[I]=y[I].bind(y))})}function V(m,y){return m.indexOf(y,m.length-y.length)!==-1}function H(m,y,I){var U={};for(var J in m)U[J]=y.call(I||this,m[J],J,m);return U}function X(m,y,I){var U={};for(var J in m)y.call(I||this,m[J],J,m)&&(U[J]=m[J]);return U}function G(m){return Array.isArray(m)?m.map(G):typeof m==\"object\"&&m?H(m,G):m}function N(m,y){for(var I=0;I<m.length;I++)if(y.indexOf(m[I])>=0)return!0;return!1}var W={};function re(m){W[m]||(typeof console!=\"undefined\"&&console.warn(m),W[m]=!0)}function ae(m,y,I){return(I.y-m.y)*(y.x-m.x)>(y.y-m.y)*(I.x-m.x)}function _e(m){for(var y=0,I=0,U=m.length,J=U-1,ne=void 0,fe=void 0;I<U;J=I++)ne=m[I],fe=m[J],y+=(fe.x-ne.x)*(ne.y+fe.y);return y}function Me(m){var y=m[0],I=m[1],U=m[2];return I+=90,I*=Math.PI/180,U*=Math.PI/180,{x:y*Math.cos(I)*Math.sin(U),y:y*Math.sin(I)*Math.sin(U),z:y*Math.cos(U)}}function ke(){return typeof WorkerGlobalScope!=\"undefined\"&&typeof self!=\"undefined\"&&self instanceof WorkerGlobalScope}function ge(m){var y=/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,I={};if(m.replace(y,function(J,ne,fe,Fe){var Qe=fe||Fe;return I[ne]=Qe?Qe.toLowerCase():!0,\"\"}),I[\"max-age\"]){var U=parseInt(I[\"max-age\"],10);isNaN(U)?delete I[\"max-age\"]:I[\"max-age\"]=U}return I}var ie=null;function Te(m){if(ie==null){var y=m.navigator?m.navigator.userAgent:null;ie=!!m.safari||!!(y&&(/\\b(iPad|iPhone|iPod)\\b/.test(y)||y.match(\"Safari\")&&!y.match(\"Chrome\")))}return ie}function Ee(m){try{var y=f[m];return y.setItem(\"_mapbox_test_\",1),y.removeItem(\"_mapbox_test_\"),!0}catch(I){return!1}}function Ae(m){return f.btoa(encodeURIComponent(m).replace(/%([0-9A-F]{2})/g,function(y,I){return String.fromCharCode(+(\"0x\"+I))}))}function ze(m){return decodeURIComponent(f.atob(m).split(\"\").map(function(y){return\"%\"+(\"00\"+y.charCodeAt(0).toString(16)).slice(-2)}).join(\"\"))}var Ce=f.performance&&f.performance.now?f.performance.now.bind(f.performance):Date.now.bind(Date),me=f.requestAnimationFrame||f.mozRequestAnimationFrame||f.webkitRequestAnimationFrame||f.msRequestAnimationFrame,Re=f.cancelAnimationFrame||f.mozCancelAnimationFrame||f.webkitCancelAnimationFrame||f.msCancelAnimationFrame,ce,Ge,nt={now:Ce,frame:function(y){var I=me(y);return{cancel:function(){return Re(I)}}},getImageData:function(y,I){I===void 0&&(I=0);var U=f.document.createElement(\"canvas\"),J=U.getContext(\"2d\");if(!J)throw new Error(\"failed to create canvas 2d context\");return U.width=y.width,U.height=y.height,J.drawImage(y,0,0,y.width,y.height),J.getImageData(-I,-I,y.width+2*I,y.height+2*I)},resolveURL:function(y){return ce||(ce=f.document.createElement(\"a\")),ce.href=y,ce.href},hardwareConcurrency:f.navigator&&f.navigator.hardwareConcurrency||4,get devicePixelRatio(){return f.devicePixelRatio},get prefersReducedMotion(){return f.matchMedia?(Ge==null&&(Ge=f.matchMedia(\"(prefers-reduced-motion: reduce)\")),Ge.matches):!1}},ct={API_URL:\"https://api.mapbox.com\",get EVENTS_URL(){return this.API_URL?this.API_URL.indexOf(\"https://api.mapbox.cn\")===0?\"https://events.mapbox.cn/events/v2\":this.API_URL.indexOf(\"https://api.mapbox.com\")===0?\"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},qt={supported:!1,testSupport:Ct},rt,ot=!1,Rt,kt=!1;f.document&&(Rt=f.document.createElement(\"img\"),Rt.onload=function(){rt&&Yt(rt),rt=null,kt=!0},Rt.onerror=function(){ot=!0,rt=null},Rt.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\");function Ct(m){ot||!Rt||(kt?Yt(m):rt=m)}function Yt(m){var y=m.createTexture();m.bindTexture(m.TEXTURE_2D,y);try{if(m.texImage2D(m.TEXTURE_2D,0,m.RGBA,m.RGBA,m.UNSIGNED_BYTE,Rt),m.isContextLost())return;qt.supported=!0}catch(I){}m.deleteTexture(y),ot=!0}var xr=\"01\";function er(){for(var m=\"1\",y=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\",I=\"\",U=0;U<10;U++)I+=y[Math.floor(Math.random()*62)];var J=12*60*60*1e3,ne=[m,xr,I].join(\"\"),fe=Date.now()+J;return{token:ne,tokenExpiresAt:fe}}var Ke=function(y,I){this._transformRequestFn=y,this._customAccessToken=I,this._createSkuToken()};Ke.prototype._createSkuToken=function(){var y=er();this._skuToken=y.token,this._skuTokenExpiresAt=y.tokenExpiresAt},Ke.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},Ke.prototype.transformRequest=function(y,I){return this._transformRequestFn?this._transformRequestFn(y,I)||{url:y}:{url:y}},Ke.prototype.normalizeStyleURL=function(y,I){if(!xt(y))return y;var U=Ht(y);return U.path=\"/styles/v1\"+U.path,this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeGlyphsURL=function(y,I){if(!xt(y))return y;var U=Ht(y);return U.path=\"/fonts/v1\"+U.path,this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeSourceURL=function(y,I){if(!xt(y))return y;var U=Ht(y);return U.path=\"/v4/\"+U.authority+\".json\",U.params.push(\"secure\"),this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeSpriteURL=function(y,I,U,J){var ne=Ht(y);return xt(y)?(ne.path=\"/styles/v1\"+ne.path+\"/sprite\"+I+U,this._makeAPIURL(ne,this._customAccessToken||J)):(ne.path+=\"\"+I+U,$t(ne))},Ke.prototype.normalizeTileURL=function(y,I){if(this._isSkuTokenExpired()&&this._createSkuToken(),y&&!xt(y))return y;var U=Ht(y),J=/(\\.(png|jpg)\\d*)(?=$)/,ne=/^.+\\/v4\\//,fe=nt.devicePixelRatio>=2||I===512?\"@2x\":\"\",Fe=qt.supported?\".webp\":\"$1\";U.path=U.path.replace(J,\"\"+fe+Fe),U.path=U.path.replace(ne,\"/\"),U.path=\"/v4\"+U.path;var Qe=this._customAccessToken||Et(U.params)||ct.ACCESS_TOKEN;return ct.REQUIRE_ACCESS_TOKEN&&Qe&&this._skuToken&&U.params.push(\"sku=\"+this._skuToken),this._makeAPIURL(U,Qe)},Ke.prototype.canonicalizeTileURL=function(y,I){var U=\"/v4/\",J=/\\.[\\w]+$/,ne=Ht(y);if(!ne.path.match(/(^\\/v4\\/)/)||!ne.path.match(J))return y;var fe=\"mapbox://tiles/\";fe+=ne.path.replace(U,\"\");var Fe=ne.params;return I&&(Fe=Fe.filter(function(Qe){return!Qe.match(/^access_token=/)})),Fe.length&&(fe+=\"?\"+Fe.join(\"&\")),fe},Ke.prototype.canonicalizeTileset=function(y,I){for(var U=I?xt(I):!1,J=[],ne=0,fe=y.tiles||[];ne<fe.length;ne+=1){var Fe=fe[ne];Lt(Fe)?J.push(this.canonicalizeTileURL(Fe,U)):J.push(Fe)}return J},Ke.prototype._makeAPIURL=function(y,I){var U=\"See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\",J=Ht(ct.API_URL);if(y.protocol=J.protocol,y.authority=J.authority,y.protocol===\"http\"){var ne=y.params.indexOf(\"secure\");ne>=0&&y.params.splice(ne,1)}if(J.path!==\"/\"&&(y.path=\"\"+J.path+y.path),!ct.REQUIRE_ACCESS_TOKEN)return $t(y);if(I=I||ct.ACCESS_TOKEN,!I)throw new Error(\"An API access token is required to use Mapbox GL. \"+U);if(I[0]===\"s\")throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+U);return y.params=y.params.filter(function(fe){return fe.indexOf(\"access_token\")===-1}),y.params.push(\"access_token=\"+I),$t(y)};function xt(m){return m.indexOf(\"mapbox:\")===0}var bt=/^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/|\\?|$)/i;function Lt(m){return bt.test(m)}function St(m){return m.indexOf(\"sku=\")>0&&Lt(m)}function Et(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y],J=U.match(/^access_token=(.*)$/);if(J)return J[1]}return null}var dt=/^(\\w+):\\/\\/([^/?]*)(\\/[^?]+)?\\??(.+)?/;function Ht(m){var y=m.match(dt);if(!y)throw new Error(\"Unable to parse URL object\");return{protocol:y[1],authority:y[2],path:y[3]||\"/\",params:y[4]?y[4].split(\"&\"):[]}}function $t(m){var y=m.params.length?\"?\"+m.params.join(\"&\"):\"\";return m.protocol+\"://\"+m.authority+m.path+y}var fr=\"mapbox.eventData\";function _r(m){if(!m)return null;var y=m.split(\".\");if(!y||y.length!==3)return null;try{var I=JSON.parse(ze(y[1]));return I}catch(U){return null}}var Br=function(y){this.type=y,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};Br.prototype.getStorageKey=function(y){var I=_r(ct.ACCESS_TOKEN),U=\"\";return I&&I.u?U=Ae(I.u):U=ct.ACCESS_TOKEN||\"\",y?fr+\".\"+y+\":\"+U:fr+\":\"+U},Br.prototype.fetchEventData=function(){var y=Ee(\"localStorage\"),I=this.getStorageKey(),U=this.getStorageKey(\"uuid\");if(y)try{var J=f.localStorage.getItem(I);J&&(this.eventData=JSON.parse(J));var ne=f.localStorage.getItem(U);ne&&(this.anonId=ne)}catch(fe){re(\"Unable to read from LocalStorage\")}},Br.prototype.saveEventData=function(){var y=Ee(\"localStorage\"),I=this.getStorageKey(),U=this.getStorageKey(\"uuid\");if(y)try{f.localStorage.setItem(U,this.anonId),Object.keys(this.eventData).length>=1&&f.localStorage.setItem(I,JSON.stringify(this.eventData))}catch(J){re(\"Unable to write to LocalStorage\")}},Br.prototype.processRequests=function(y){},Br.prototype.postEvent=function(y,I,U,J){var ne=this;if(ct.EVENTS_URL){var fe=Ht(ct.EVENTS_URL);fe.params.push(\"access_token=\"+(J||ct.ACCESS_TOKEN||\"\"));var Fe={event:this.type,created:new Date(y).toISOString(),sdkIdentifier:\"mapbox-gl-js\",sdkVersion:o,skuId:xr,userId:this.anonId},Qe=I?_(Fe,I):Fe,st={url:$t(fe),headers:{\"Content-Type\":\"text/plain\"},body:JSON.stringify([Qe])};this.pendingRequest=Vr(st,function(mt){ne.pendingRequest=null,U(mt),ne.saveEventData(),ne.processRequests(J)})}},Br.prototype.queueRequest=function(y,I){this.queue.push(y),this.processRequests(I)};var Or=function(m){function y(){m.call(this,\"map.load\"),this.success={},this.skuToken=\"\"}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.postMapLoadEvent=function(U,J,ne,fe){this.skuToken=ne,(ct.EVENTS_URL&&fe||ct.ACCESS_TOKEN&&Array.isArray(U)&&U.some(function(Fe){return xt(Fe)||Lt(Fe)}))&&this.queueRequest({id:J,timestamp:Date.now()},fe)},y.prototype.processRequests=function(U){var J=this;if(!(this.pendingRequest||this.queue.length===0)){var ne=this.queue.shift(),fe=ne.id,Fe=ne.timestamp;fe&&this.success[fe]||(this.anonId||this.fetchEventData(),F(this.anonId)||(this.anonId=P()),this.postEvent(Fe,{skuToken:this.skuToken},function(Qe){Qe||fe&&(J.success[fe]=!0)},U))}},y}(Br),Nr=function(m){function y(I){m.call(this,\"appUserTurnstile\"),this._customAccessToken=I}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.postTurnstileEvent=function(U,J){ct.EVENTS_URL&&ct.ACCESS_TOKEN&&Array.isArray(U)&&U.some(function(ne){return xt(ne)||Lt(ne)})&&this.queueRequest(Date.now(),J)},y.prototype.processRequests=function(U){var J=this;if(!(this.pendingRequest||this.queue.length===0)){(!this.anonId||!this.eventData.lastSuccess||!this.eventData.tokenU)&&this.fetchEventData();var ne=_r(ct.ACCESS_TOKEN),fe=ne?ne.u:ct.ACCESS_TOKEN,Fe=fe!==this.eventData.tokenU;F(this.anonId)||(this.anonId=P(),Fe=!0);var Qe=this.queue.shift();if(this.eventData.lastSuccess){var st=new Date(this.eventData.lastSuccess),mt=new Date(Qe),Xt=(Qe-this.eventData.lastSuccess)/(24*60*60*1e3);Fe=Fe||Xt>=1||Xt<-1||st.getDate()!==mt.getDate()}else Fe=!0;if(!Fe)return this.processRequests();this.postEvent(Qe,{\"enabled.telemetry\":!1},function(ur){ur||(J.eventData.lastSuccess=Qe,J.eventData.tokenU=fe)},U)}},y}(Br),ut=new Nr,Ne=ut.postTurnstileEvent.bind(ut),Ye=new Or,Ve=Ye.postMapLoadEvent.bind(Ye),Xe=\"mapbox-tiles\",ht=500,Le=50,xe=1e3*60*7,Se;function lt(){f.caches&&!Se&&(Se=f.caches.open(Xe))}var Gt;function Vt(m,y){if(Gt===void 0)try{new Response(new ReadableStream),Gt=!0}catch(I){Gt=!1}Gt?y(m.body):m.blob().then(y)}function ar(m,y,I){if(lt(),!!Se){var U={status:y.status,statusText:y.statusText,headers:new f.Headers};y.headers.forEach(function(fe,Fe){return U.headers.set(Fe,fe)});var J=ge(y.headers.get(\"Cache-Control\")||\"\");if(!J[\"no-store\"]){J[\"max-age\"]&&U.headers.set(\"Expires\",new Date(I+J[\"max-age\"]*1e3).toUTCString());var ne=new Date(U.headers.get(\"Expires\")).getTime()-I;ne<xe||Vt(y,function(fe){var Fe=new f.Response(fe,U);lt(),Se&&Se.then(function(Qe){return Qe.put(Qr(m.url),Fe)}).catch(function(Qe){return re(Qe.message)})})}}}function Qr(m){var y=m.indexOf(\"?\");return y<0?m:m.slice(0,y)}function ai(m,y){if(lt(),!Se)return y(null);var I=Qr(m.url);Se.then(function(U){U.match(I).then(function(J){var ne=jr(J);U.delete(I),ne&&U.put(I,J.clone()),y(null,J,ne)}).catch(y)}).catch(y)}function jr(m){if(!m)return!1;var y=new Date(m.headers.get(\"Expires\")||0),I=ge(m.headers.get(\"Cache-Control\")||\"\");return y>Date.now()&&!I[\"no-cache\"]}var ri=1/0;function bi(m){ri++,ri>Le&&(m.getActor().send(\"enforceCacheSizeLimit\",ht),ri=0)}function nn(m){lt(),Se&&Se.then(function(y){y.keys().then(function(I){for(var U=0;U<I.length-m;U++)y.delete(I[U])})})}function Wi(m){var y=f.caches.delete(Xe);m&&y.catch(m).then(function(){return m()})}function Ni(m,y){ht=m,Le=y}var _n;function $i(){return _n==null&&(_n=f.OffscreenCanvas&&new f.OffscreenCanvas(1,1).getContext(\"2d\")&&typeof f.createImageBitmap==\"function\"),_n}var zn={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};typeof Object.freeze==\"function\"&&Object.freeze(zn);var Wn=function(m){function y(I,U,J){U===401&&Lt(J)&&(I+=\": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\"),m.call(this,I),this.status=U,this.url=J,this.name=this.constructor.name,this.message=I}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.toString=function(){return this.name+\": \"+this.message+\" (\"+this.status+\"): \"+this.url},y}(Error),It=ke()?function(){return self.worker&&self.worker.referrer}:function(){return(f.location.protocol===\"blob:\"?f.parent:f).location.href},ft=function(m){return/^file:/.test(m)||/^file:/.test(It())&&!/^\\w+:/.test(m)};function jt(m,y){var I=new f.AbortController,U=new f.Request(m.url,{method:m.method||\"GET\",body:m.body,credentials:m.credentials,headers:m.headers,referrer:It(),signal:I.signal}),J=!1,ne=!1,fe=St(U.url);m.type===\"json\"&&U.headers.set(\"Accept\",\"application/json\");var Fe=function(st,mt,Xt){if(!ne){if(st&&st.message!==\"SecurityError\"&&re(st),mt&&Xt)return Qe(mt);var ur=Date.now();f.fetch(U).then(function(nr){if(nr.ok){var Lr=fe?nr.clone():null;return Qe(nr,Lr,ur)}else return y(new Wn(nr.statusText,nr.status,m.url))}).catch(function(nr){nr.code!==20&&y(new Error(nr.message))})}},Qe=function(st,mt,Xt){(m.type===\"arrayBuffer\"?st.arrayBuffer():m.type===\"json\"?st.json():st.text()).then(function(ur){ne||(mt&&Xt&&ar(U,mt,Xt),J=!0,y(null,ur,st.headers.get(\"Cache-Control\"),st.headers.get(\"Expires\")))}).catch(function(ur){ne||y(new Error(ur.message))})};return fe?ai(U,Fe):Fe(null,null),{cancel:function(){ne=!0,J||I.abort()}}}function Zt(m,y){var I=new f.XMLHttpRequest;I.open(m.method||\"GET\",m.url,!0),m.type===\"arrayBuffer\"&&(I.responseType=\"arraybuffer\");for(var U in m.headers)I.setRequestHeader(U,m.headers[U]);return m.type===\"json\"&&(I.responseType=\"text\",I.setRequestHeader(\"Accept\",\"application/json\")),I.withCredentials=m.credentials===\"include\",I.onerror=function(){y(new Error(I.statusText))},I.onload=function(){if((I.status>=200&&I.status<300||I.status===0)&&I.response!==null){var J=I.response;if(m.type===\"json\")try{J=JSON.parse(I.response)}catch(ne){return y(ne)}y(null,J,I.getResponseHeader(\"Cache-Control\"),I.getResponseHeader(\"Expires\"))}else y(new Wn(I.statusText,I.status,m.url))},I.send(m.body),{cancel:function(){return I.abort()}}}var yr=function(m,y){if(!ft(m.url)){if(f.fetch&&f.Request&&f.AbortController&&f.Request.prototype.hasOwnProperty(\"signal\"))return jt(m,y);if(ke()&&self.worker&&self.worker.actor){var I=!0;return self.worker.actor.send(\"getResource\",m,y,void 0,I)}}return Zt(m,y)},Fr=function(m,y){return yr(_(m,{type:\"json\"}),y)},Zr=function(m,y){return yr(_(m,{type:\"arrayBuffer\"}),y)},Vr=function(m,y){return yr(_(m,{method:\"POST\"}),y)};function gi(m){var y=f.document.createElement(\"a\");return y.href=m,y.protocol===f.document.location.protocol&&y.host===f.document.location.host}var Si=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";function Mi(m,y,I,U){var J=new f.Image,ne=f.URL;J.onload=function(){y(null,J),ne.revokeObjectURL(J.src),J.onload=null,f.requestAnimationFrame(function(){J.src=Si})},J.onerror=function(){return y(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))};var fe=new f.Blob([new Uint8Array(m)],{type:\"image/png\"});J.cacheControl=I,J.expires=U,J.src=m.byteLength?ne.createObjectURL(fe):Si}function Pi(m,y){var I=new f.Blob([new Uint8Array(m)],{type:\"image/png\"});f.createImageBitmap(I).then(function(U){y(null,U)}).catch(function(U){y(new Error(\"Could not load image because of \"+U.message+\". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))})}var Gi,Ki,ka=function(){Gi=[],Ki=0};ka();var jn=function(m,y){if(qt.supported&&(m.headers||(m.headers={}),m.headers.accept=\"image/webp,*/*\"),Ki>=ct.MAX_PARALLEL_IMAGE_REQUESTS){var I={requestParameters:m,callback:y,cancelled:!1,cancel:function(){this.cancelled=!0}};return Gi.push(I),I}Ki++;var U=!1,J=function(){if(!U)for(U=!0,Ki--;Gi.length&&Ki<ct.MAX_PARALLEL_IMAGE_REQUESTS;){var fe=Gi.shift(),Fe=fe.requestParameters,Qe=fe.callback,st=fe.cancelled;st||(fe.cancel=jn(Fe,Qe).cancel)}},ne=Zr(m,function(fe,Fe,Qe,st){J(),fe?y(fe):Fe&&($i()?Pi(Fe,y):Mi(Fe,y,Qe,st))});return{cancel:function(){ne.cancel(),J()}}},la=function(m,y){var I=f.document.createElement(\"video\");I.muted=!0,I.onloadstart=function(){y(null,I)};for(var U=0;U<m.length;U++){var J=f.document.createElement(\"source\");gi(m[U])||(I.crossOrigin=\"Anonymous\"),J.src=m[U],I.appendChild(J)}return{cancel:function(){}}};function Fa(m,y,I){var U=I[m]&&I[m].indexOf(y)!==-1;U||(I[m]=I[m]||[],I[m].push(y))}function Ra(m,y,I){if(I&&I[m]){var U=I[m].indexOf(y);U!==-1&&I[m].splice(U,1)}}var jo=function(y,I){I===void 0&&(I={}),_(this,I),this.type=y},oa=function(m){function y(I,U){U===void 0&&(U={}),m.call(this,\"error\",_({error:I},U))}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(jo),Sn=function(){};Sn.prototype.on=function(y,I){return this._listeners=this._listeners||{},Fa(y,I,this._listeners),this},Sn.prototype.off=function(y,I){return Ra(y,I,this._listeners),Ra(y,I,this._oneTimeListeners),this},Sn.prototype.once=function(y,I){return this._oneTimeListeners=this._oneTimeListeners||{},Fa(y,I,this._oneTimeListeners),this},Sn.prototype.fire=function(y,I){typeof y==\"string\"&&(y=new jo(y,I||{}));var U=y.type;if(this.listens(U)){y.target=this;for(var J=this._listeners&&this._listeners[U]?this._listeners[U].slice():[],ne=0,fe=J;ne<fe.length;ne+=1){var Fe=fe[ne];Fe.call(this,y)}for(var Qe=this._oneTimeListeners&&this._oneTimeListeners[U]?this._oneTimeListeners[U].slice():[],st=0,mt=Qe;st<mt.length;st+=1){var Xt=mt[st];Ra(U,Xt,this._oneTimeListeners),Xt.call(this,y)}var ur=this._eventedParent;ur&&(_(y,typeof this._eventedParentData==\"function\"?this._eventedParentData():this._eventedParentData),ur.fire(y))}else y instanceof oa&&console.error(y.error);return this},Sn.prototype.listens=function(y){return this._listeners&&this._listeners[y]&&this._listeners[y].length>0||this._oneTimeListeners&&this._oneTimeListeners[y]&&this._oneTimeListeners[y].length>0||this._eventedParent&&this._eventedParent.listens(y)},Sn.prototype.setEventedParent=function(y,I){return this._eventedParent=y,this._eventedParentData=I,this};var Ha=8,oo={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\"}},xn={\"*\":{type:\"source\"}},_t=[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],br={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:\"*\"}},Hr={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:\"*\"}},ti={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:\"*\"}},zi={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\"}},Yi={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\"}}},an={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\"}}},hi={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\"}},Ji=[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],ua={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},Fn={\"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\"}},Sa={\"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\"}},go={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},Oo={\"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\"}},ho={\"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\"}},Mo={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},xo={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},zs={type:\"array\",value:\"*\"},ks={type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{},within:{}}},Zs={type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},Xs={type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},wl={type:\"array\",value:\"*\",minimum:1},os={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}},cl=[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],Cs={\"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\"}},ml={\"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\"}},Ys={\"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\"}},Hs={\"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\"}},Eo={\"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\"}},fs={\"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\"}},Ql={\"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\"}},Hu={\"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\"}},fc={duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},ms={\"*\":{type:\"string\"}},on={$version:Ha,$root:oo,sources:xn,source:_t,source_vector:br,source_raster:Hr,source_raster_dem:ti,source_geojson:zi,source_video:Yi,source_image:an,layer:hi,layout:Ji,layout_background:ua,layout_fill:Fn,layout_circle:Sa,layout_heatmap:go,\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:Oo,layout_symbol:ho,layout_raster:Mo,layout_hillshade:xo,filter:zs,filter_operator:ks,geometry_type:Zs,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:Xs,expression:wl,light:os,paint:cl,paint_fill:Cs,\"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:ml,paint_circle:Ys,paint_heatmap:Hs,paint_symbol:Eo,paint_raster:fs,paint_hillshade:Ql,paint_background:Hu,transition:fc,\"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:ms},fa=function(y,I,U,J){this.message=(y?y+\": \":\"\")+U,J&&(this.identifier=J),I!=null&&I.__line__&&(this.line=I.__line__)};function Qu(m){var y=m.key,I=m.value;return I?[new fa(y,I,\"constants have been deprecated as of v8\")]:[]}function Rl(m){for(var y=[],I=arguments.length-1;I-- >0;)y[I]=arguments[I+1];for(var U=0,J=y;U<J.length;U+=1){var ne=J[U];for(var fe in ne)m[fe]=ne[fe]}return m}function vo(m){return m instanceof Number||m instanceof String||m instanceof Boolean?m.valueOf():m}function Zl(m){if(Array.isArray(m))return m.map(Zl);if(m instanceof Object&&!(m instanceof Number||m instanceof String||m instanceof Boolean)){var y={};for(var I in m)y[I]=Zl(m[I]);return y}return vo(m)}var Ks=function(m){function y(I,U){m.call(this,U),this.message=U,this.key=I}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(Error),Xl=function(y,I){I===void 0&&(I=[]),this.parent=y,this.bindings={};for(var U=0,J=I;U<J.length;U+=1){var ne=J[U],fe=ne[0],Fe=ne[1];this.bindings[fe]=Fe}};Xl.prototype.concat=function(y){return new Xl(this,y)},Xl.prototype.get=function(y){if(this.bindings[y])return this.bindings[y];if(this.parent)return this.parent.get(y);throw new Error(y+\" not found in scope.\")},Xl.prototype.has=function(y){return this.bindings[y]?!0:this.parent?this.parent.has(y):!1};var Ec={kind:\"null\"},Zn={kind:\"number\"},ko={kind:\"string\"},Co={kind:\"boolean\"},Tl={kind:\"color\"},uf={kind:\"object\"},So={kind:\"value\"},cf={kind:\"error\"},rh={kind:\"collator\"},Al={kind:\"formatted\"},Hc={kind:\"resolvedImage\"};function eu(m,y){return{kind:\"array\",itemType:m,N:y}}function Ls(m){if(m.kind===\"array\"){var y=Ls(m.itemType);return typeof m.N==\"number\"?\"array<\"+y+\", \"+m.N+\">\":m.itemType.kind===\"value\"?\"array\":\"array<\"+y+\">\"}else return m.kind}var mu=[Ec,Zn,ko,Co,Tl,Al,uf,eu(So),Hc];function kc(m,y){if(y.kind===\"error\")return null;if(m.kind===\"array\"){if(y.kind===\"array\"&&(y.N===0&&y.itemType.kind===\"value\"||!kc(m.itemType,y.itemType))&&(typeof m.N!=\"number\"||m.N===y.N))return null}else{if(m.kind===y.kind)return null;if(m.kind===\"value\")for(var I=0,U=mu;I<U.length;I+=1){var J=U[I];if(!kc(J,y))return null}}return\"Expected \"+Ls(m)+\" but found \"+Ls(y)+\" instead.\"}function Of(m,y){return y.some(function(I){return I.kind===m.kind})}function Gc(m,y){return y.some(function(I){return I===\"null\"?m===null:I===\"array\"?Array.isArray(m):I===\"object\"?m&&!Array.isArray(m)&&typeof m==\"object\":I===typeof m})}var vd=a(function(m,y){var I={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function U(st){return st=Math.round(st),st<0?0:st>255?255:st}function J(st){return st<0?0:st>1?1:st}function ne(st){return st[st.length-1]===\"%\"?U(parseFloat(st)/100*255):U(parseInt(st))}function fe(st){return st[st.length-1]===\"%\"?J(parseFloat(st)/100):J(parseFloat(st))}function Fe(st,mt,Xt){return Xt<0?Xt+=1:Xt>1&&(Xt-=1),Xt*6<1?st+(mt-st)*Xt*6:Xt*2<1?mt:Xt*3<2?st+(mt-st)*(2/3-Xt)*6:st}function Qe(st){var mt=st.replace(/ /g,\"\").toLowerCase();if(mt in I)return I[mt].slice();if(mt[0]===\"#\"){if(mt.length===4){var Xt=parseInt(mt.substr(1),16);return Xt>=0&&Xt<=4095?[(Xt&3840)>>4|(Xt&3840)>>8,Xt&240|(Xt&240)>>4,Xt&15|(Xt&15)<<4,1]:null}else if(mt.length===7){var Xt=parseInt(mt.substr(1),16);return Xt>=0&&Xt<=16777215?[(Xt&16711680)>>16,(Xt&65280)>>8,Xt&255,1]:null}return null}var ur=mt.indexOf(\"(\"),nr=mt.indexOf(\")\");if(ur!==-1&&nr+1===mt.length){var Lr=mt.substr(0,ur),Yr=mt.substr(ur+1,nr-(ur+1)).split(\",\"),_i=1;switch(Lr){case\"rgba\":if(Yr.length!==4)return null;_i=fe(Yr.pop());case\"rgb\":return Yr.length!==3?null:[ne(Yr[0]),ne(Yr[1]),ne(Yr[2]),_i];case\"hsla\":if(Yr.length!==4)return null;_i=fe(Yr.pop());case\"hsl\":if(Yr.length!==3)return null;var si=(parseFloat(Yr[0])%360+360)%360/360,Hi=fe(Yr[1]),Ei=fe(Yr[2]),Vi=Ei<=.5?Ei*(Hi+1):Ei+Hi-Ei*Hi,en=Ei*2-Vi;return[U(Fe(en,Vi,si+1/3)*255),U(Fe(en,Vi,si)*255),U(Fe(en,Vi,si-1/3)*255),_i];default:return null}}return null}try{y.parseCSSColor=Qe}catch(st){}}),Bf=vd.parseCSSColor,ss=function(y,I,U,J){J===void 0&&(J=1),this.r=y,this.g=I,this.b=U,this.a=J};ss.parse=function(y){if(y){if(y instanceof ss)return y;if(typeof y==\"string\"){var I=Bf(y);if(I)return new ss(I[0]/255*I[3],I[1]/255*I[3],I[2]/255*I[3],I[3])}}},ss.prototype.toString=function(){var y=this.toArray(),I=y[0],U=y[1],J=y[2],ne=y[3];return\"rgba(\"+Math.round(I)+\",\"+Math.round(U)+\",\"+Math.round(J)+\",\"+ne+\")\"},ss.prototype.toArray=function(){var y=this,I=y.r,U=y.g,J=y.b,ne=y.a;return ne===0?[0,0,0,0]:[I*255/ne,U*255/ne,J*255/ne,ne]},ss.black=new ss(0,0,0,1),ss.white=new ss(1,1,1,1),ss.transparent=new ss(0,0,0,0),ss.red=new ss(1,0,0,1);var ff=function(y,I,U){y?this.sensitivity=I?\"variant\":\"case\":this.sensitivity=I?\"accent\":\"base\",this.locale=U,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})};ff.prototype.compare=function(y,I){return this.collator.compare(y,I)},ff.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var ih=function(y,I,U,J,ne){this.text=y,this.image=I,this.scale=U,this.fontStack=J,this.textColor=ne},Vl=function(y){this.sections=y};Vl.fromString=function(y){return new Vl([new ih(y,null,null,null,null)])},Vl.prototype.isEmpty=function(){return this.sections.length===0?!0:!this.sections.some(function(y){return y.text.length!==0||y.image&&y.image.name.length!==0})},Vl.factory=function(y){return y instanceof Vl?y:Vl.fromString(y)},Vl.prototype.toString=function(){return this.sections.length===0?\"\":this.sections.map(function(y){return y.text}).join(\"\")},Vl.prototype.serialize=function(){for(var y=[\"format\"],I=0,U=this.sections;I<U.length;I+=1){var J=U[I];if(J.image){y.push([\"image\",J.image.name]);continue}y.push(J.text);var ne={};J.fontStack&&(ne[\"text-font\"]=[\"literal\",J.fontStack.split(\",\")]),J.scale&&(ne[\"font-scale\"]=J.scale),J.textColor&&(ne[\"text-color\"]=[\"rgba\"].concat(J.textColor.toArray())),y.push(ne)}return y};var Js=function(y){this.name=y.name,this.available=y.available};Js.prototype.toString=function(){return this.name},Js.fromString=function(y){return y?new Js({name:y,available:!1}):null},Js.prototype.serialize=function(){return[\"image\",this.name]};function hc(m,y,I,U){if(!(typeof m==\"number\"&&m>=0&&m<=255&&typeof y==\"number\"&&y>=0&&y<=255&&typeof I==\"number\"&&I>=0&&I<=255)){var J=typeof U==\"number\"?[m,y,I,U]:[m,y,I];return\"Invalid rgba value [\"+J.join(\", \")+\"]: 'r', 'g', and 'b' must be between 0 and 255.\"}return typeof U==\"undefined\"||typeof U==\"number\"&&U>=0&&U<=1?null:\"Invalid rgba value [\"+[m,y,I,U].join(\", \")+\"]: 'a' must be between 0 and 1.\"}function Cc(m){if(m===null)return!0;if(typeof m==\"string\")return!0;if(typeof m==\"boolean\")return!0;if(typeof m==\"number\")return!0;if(m instanceof ss)return!0;if(m instanceof ff)return!0;if(m instanceof Vl)return!0;if(m instanceof Js)return!0;if(Array.isArray(m)){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(!Cc(U))return!1}return!0}else if(typeof m==\"object\"){for(var J in m)if(!Cc(m[J]))return!1;return!0}else return!1}function ws(m){if(m===null)return Ec;if(typeof m==\"string\")return ko;if(typeof m==\"boolean\")return Co;if(typeof m==\"number\")return Zn;if(m instanceof ss)return Tl;if(m instanceof ff)return rh;if(m instanceof Vl)return Al;if(m instanceof Js)return Hc;if(Array.isArray(m)){for(var y=m.length,I,U=0,J=m;U<J.length;U+=1){var ne=J[U],fe=ws(ne);if(!I)I=fe;else{if(I===fe)continue;I=So;break}}return eu(I||So,y)}else return uf}function $s(m){var y=typeof m;return m===null?\"\":y===\"string\"||y===\"number\"||y===\"boolean\"?String(m):m instanceof ss||m instanceof Vl||m instanceof Js?m.toString():JSON.stringify(m)}var hs=function(y,I){this.type=y,this.value=I};hs.parse=function(y,I){if(y.length!==2)return I.error(\"'literal' expression requires exactly one argument, but found \"+(y.length-1)+\" instead.\");if(!Cc(y[1]))return I.error(\"invalid value\");var U=y[1],J=ws(U),ne=I.expectedType;return J.kind===\"array\"&&J.N===0&&ne&&ne.kind===\"array\"&&(typeof ne.N!=\"number\"||ne.N===0)&&(J=ne),new hs(J,U)},hs.prototype.evaluate=function(){return this.value},hs.prototype.eachChild=function(){},hs.prototype.outputDefined=function(){return!0},hs.prototype.serialize=function(){return this.type.kind===\"array\"||this.type.kind===\"object\"?[\"literal\",this.value]:this.value instanceof ss?[\"rgba\"].concat(this.value.toArray()):this.value instanceof Vl?this.value.serialize():this.value};var Ms=function(y){this.name=\"ExpressionEvaluationError\",this.message=y};Ms.prototype.toJSON=function(){return this.message};var dc={string:ko,number:Zn,boolean:Co,object:uf},Sl=function(y,I){this.type=y,this.args=I};Sl.parse=function(y,I){if(y.length<2)return I.error(\"Expected at least one argument.\");var U=1,J,ne=y[0];if(ne===\"array\"){var fe;if(y.length>2){var Fe=y[1];if(typeof Fe!=\"string\"||!(Fe in dc)||Fe===\"object\")return I.error('The item type argument of \"array\" must be one of string, number, boolean',1);fe=dc[Fe],U++}else fe=So;var Qe;if(y.length>3){if(y[2]!==null&&(typeof y[2]!=\"number\"||y[2]<0||y[2]!==Math.floor(y[2])))return I.error('The length argument to \"array\" must be a positive integer literal',2);Qe=y[2],U++}J=eu(fe,Qe)}else J=dc[ne];for(var st=[];U<y.length;U++){var mt=I.parse(y[U],U,So);if(!mt)return null;st.push(mt)}return new Sl(J,st)},Sl.prototype.evaluate=function(y){for(var I=0;I<this.args.length;I++){var U=this.args[I].evaluate(y),J=kc(this.type,ws(U));if(J){if(I===this.args.length-1)throw new Ms(\"Expected value to be of type \"+Ls(this.type)+\", but found \"+Ls(ws(U))+\" instead.\")}else return U}return null},Sl.prototype.eachChild=function(y){this.args.forEach(y)},Sl.prototype.outputDefined=function(){return this.args.every(function(y){return y.outputDefined()})},Sl.prototype.serialize=function(){var y=this.type,I=[y.kind];if(y.kind===\"array\"){var U=y.itemType;if(U.kind===\"string\"||U.kind===\"number\"||U.kind===\"boolean\"){I.push(U.kind);var J=y.N;(typeof J==\"number\"||this.args.length>1)&&I.push(J)}}return I.concat(this.args.map(function(ne){return ne.serialize()}))};var ec=function(y){this.type=Al,this.sections=y};ec.parse=function(y,I){if(y.length<2)return I.error(\"Expected at least one argument.\");var U=y[1];if(!Array.isArray(U)&&typeof U==\"object\")return I.error(\"First argument must be an image or text section.\");for(var J=[],ne=!1,fe=1;fe<=y.length-1;++fe){var Fe=y[fe];if(ne&&typeof Fe==\"object\"&&!Array.isArray(Fe)){ne=!1;var Qe=null;if(Fe[\"font-scale\"]&&(Qe=I.parse(Fe[\"font-scale\"],1,Zn),!Qe))return null;var st=null;if(Fe[\"text-font\"]&&(st=I.parse(Fe[\"text-font\"],1,eu(ko)),!st))return null;var mt=null;if(Fe[\"text-color\"]&&(mt=I.parse(Fe[\"text-color\"],1,Tl),!mt))return null;var Xt=J[J.length-1];Xt.scale=Qe,Xt.font=st,Xt.textColor=mt}else{var ur=I.parse(y[fe],1,So);if(!ur)return null;var nr=ur.type.kind;if(nr!==\"string\"&&nr!==\"value\"&&nr!==\"null\"&&nr!==\"resolvedImage\")return I.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");ne=!0,J.push({content:ur,scale:null,font:null,textColor:null})}}return new ec(J)},ec.prototype.evaluate=function(y){var I=function(U){var J=U.content.evaluate(y);return ws(J)===Hc?new ih(\"\",J,null,null,null):new ih($s(J),null,U.scale?U.scale.evaluate(y):null,U.font?U.font.evaluate(y).join(\",\"):null,U.textColor?U.textColor.evaluate(y):null)};return new Vl(this.sections.map(I))},ec.prototype.eachChild=function(y){for(var I=0,U=this.sections;I<U.length;I+=1){var J=U[I];y(J.content),J.scale&&y(J.scale),J.font&&y(J.font),J.textColor&&y(J.textColor)}},ec.prototype.outputDefined=function(){return!1},ec.prototype.serialize=function(){for(var y=[\"format\"],I=0,U=this.sections;I<U.length;I+=1){var J=U[I];y.push(J.content.serialize());var ne={};J.scale&&(ne[\"font-scale\"]=J.scale.serialize()),J.font&&(ne[\"text-font\"]=J.font.serialize()),J.textColor&&(ne[\"text-color\"]=J.textColor.serialize()),y.push(ne)}return y};var Ps=function(y){this.type=Hc,this.input=y};Ps.parse=function(y,I){if(y.length!==2)return I.error(\"Expected two arguments.\");var U=I.parse(y[1],1,ko);return U?new Ps(U):I.error(\"No image name provided.\")},Ps.prototype.evaluate=function(y){var I=this.input.evaluate(y),U=Js.fromString(I);return U&&y.availableImages&&(U.available=y.availableImages.indexOf(I)>-1),U},Ps.prototype.eachChild=function(y){y(this.input)},Ps.prototype.outputDefined=function(){return!1},Ps.prototype.serialize=function(){return[\"image\",this.input.serialize()]};var ov={\"to-boolean\":Co,\"to-color\":Tl,\"to-number\":Zn,\"to-string\":ko},wo=function(y,I){this.type=y,this.args=I};wo.parse=function(y,I){if(y.length<2)return I.error(\"Expected at least one argument.\");var U=y[0];if((U===\"to-boolean\"||U===\"to-string\")&&y.length!==2)return I.error(\"Expected one argument.\");for(var J=ov[U],ne=[],fe=1;fe<y.length;fe++){var Fe=I.parse(y[fe],fe,So);if(!Fe)return null;ne.push(Fe)}return new wo(J,ne)},wo.prototype.evaluate=function(y){if(this.type.kind===\"boolean\")return!!this.args[0].evaluate(y);if(this.type.kind===\"color\"){for(var I,U,J=0,ne=this.args;J<ne.length;J+=1){var fe=ne[J];if(I=fe.evaluate(y),U=null,I instanceof ss)return I;if(typeof I==\"string\"){var Fe=y.parseColor(I);if(Fe)return Fe}else if(Array.isArray(I)&&(I.length<3||I.length>4?U=\"Invalid rbga value \"+JSON.stringify(I)+\": expected an array containing either three or four numeric values.\":U=hc(I[0],I[1],I[2],I[3]),!U))return new ss(I[0]/255,I[1]/255,I[2]/255,I[3])}throw new Ms(U||\"Could not parse color from value '\"+(typeof I==\"string\"?I:String(JSON.stringify(I)))+\"'\")}else if(this.type.kind===\"number\"){for(var Qe=null,st=0,mt=this.args;st<mt.length;st+=1){var Xt=mt[st];if(Qe=Xt.evaluate(y),Qe===null)return 0;var ur=Number(Qe);if(!isNaN(ur))return ur}throw new Ms(\"Could not convert \"+JSON.stringify(Qe)+\" to number.\")}else return this.type.kind===\"formatted\"?Vl.fromString($s(this.args[0].evaluate(y))):this.type.kind===\"resolvedImage\"?Js.fromString($s(this.args[0].evaluate(y))):$s(this.args[0].evaluate(y))},wo.prototype.eachChild=function(y){this.args.forEach(y)},wo.prototype.outputDefined=function(){return this.args.every(function(y){return y.outputDefined()})},wo.prototype.serialize=function(){if(this.type.kind===\"formatted\")return new ec([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if(this.type.kind===\"resolvedImage\")return new Ps(this.args[0]).serialize();var y=[\"to-\"+this.type.kind];return this.eachChild(function(I){y.push(I.serialize())}),y};var Od=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],$o=function(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null};$o.prototype.id=function(){return this.feature&&\"id\"in this.feature?this.feature.id:null},$o.prototype.geometryType=function(){return this.feature?typeof this.feature.type==\"number\"?Od[this.feature.type]:this.feature.type:null},$o.prototype.geometry=function(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null},$o.prototype.canonicalID=function(){return this.canonical},$o.prototype.properties=function(){return this.feature&&this.feature.properties||{}},$o.prototype.parseColor=function(y){var I=this._parseColorCache[y];return I||(I=this._parseColorCache[y]=ss.parse(y)),I};var Ja=function(y,I,U,J){this.name=y,this.type=I,this._evaluate=U,this.args=J};Ja.prototype.evaluate=function(y){return this._evaluate(y,this.args)},Ja.prototype.eachChild=function(y){this.args.forEach(y)},Ja.prototype.outputDefined=function(){return!1},Ja.prototype.serialize=function(){return[this.name].concat(this.args.map(function(y){return y.serialize()}))},Ja.parse=function(y,I){var U,J=y[0],ne=Ja.definitions[J];if(!ne)return I.error('Unknown expression \"'+J+'\". If you wanted a literal array, use [\"literal\", [...]].',0);for(var fe=Array.isArray(ne)?ne[0]:ne.type,Fe=Array.isArray(ne)?[[ne[1],ne[2]]]:ne.overloads,Qe=Fe.filter(function(Na){var ja=Na[0];return!Array.isArray(ja)||ja.length===y.length-1}),st=null,mt=0,Xt=Qe;mt<Xt.length;mt+=1){var ur=Xt[mt],nr=ur[0],Lr=ur[1];st=new fl(I.registry,I.path,null,I.scope);for(var Yr=[],_i=!1,si=1;si<y.length;si++){var Hi=y[si],Ei=Array.isArray(nr)?nr[si-1]:nr.type,Vi=st.parse(Hi,1+Yr.length,Ei);if(!Vi){_i=!0;break}Yr.push(Vi)}if(!_i){if(Array.isArray(nr)&&nr.length!==Yr.length){st.error(\"Expected \"+nr.length+\" arguments, but found \"+Yr.length+\" instead.\");continue}for(var en=0;en<Yr.length;en++){var An=Array.isArray(nr)?nr[en]:nr.type,ra=Yr[en];st.concat(en+1).checkSubtype(An,ra.type)}if(st.errors.length===0)return new Ja(J,fe,Lr,Yr)}}if(Qe.length===1)(U=I.errors).push.apply(U,st.errors);else{for(var $n=Qe.length?Qe:Fe,Ba=$n.map(function(Na){var ja=Na[0];return Ef(ja)}).join(\" | \"),_a=[],Pa=1;Pa<y.length;Pa++){var qo=I.parse(y[Pa],1+_a.length);if(!qo)return null;_a.push(Ls(qo.type))}I.error(\"Expected arguments of type \"+Ba+\", but found (\"+_a.join(\", \")+\") instead.\")}return null},Ja.register=function(y,I){Ja.definitions=I;for(var U in I)y[U]=Ja};function Ef(m){return Array.isArray(m)?\"(\"+m.map(Ls).join(\", \")+\")\":\"(\"+Ls(m.type)+\"...)\"}var tc=function(y,I,U){this.type=rh,this.locale=U,this.caseSensitive=y,this.diacriticSensitive=I};tc.parse=function(y,I){if(y.length!==2)return I.error(\"Expected one argument.\");var U=y[1];if(typeof U!=\"object\"||Array.isArray(U))return I.error(\"Collator options argument must be an object.\");var J=I.parse(U[\"case-sensitive\"]===void 0?!1:U[\"case-sensitive\"],1,Co);if(!J)return null;var ne=I.parse(U[\"diacritic-sensitive\"]===void 0?!1:U[\"diacritic-sensitive\"],1,Co);if(!ne)return null;var fe=null;return U.locale&&(fe=I.parse(U.locale,1,ko),!fe)?null:new tc(J,ne,fe)},tc.prototype.evaluate=function(y){return new ff(this.caseSensitive.evaluate(y),this.diacriticSensitive.evaluate(y),this.locale?this.locale.evaluate(y):null)},tc.prototype.eachChild=function(y){y(this.caseSensitive),y(this.diacriticSensitive),this.locale&&y(this.locale)},tc.prototype.outputDefined=function(){return!1},tc.prototype.serialize=function(){var y={};return y[\"case-sensitive\"]=this.caseSensitive.serialize(),y[\"diacritic-sensitive\"]=this.diacriticSensitive.serialize(),this.locale&&(y.locale=this.locale.serialize()),[\"collator\",y]};var uu=8192;function Mh(m,y){m[0]=Math.min(m[0],y[0]),m[1]=Math.min(m[1],y[1]),m[2]=Math.max(m[2],y[0]),m[3]=Math.max(m[3],y[1])}function jc(m){return(180+m)/360}function kf(m){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+m*Math.PI/360)))/360}function Ml(m,y){return!(m[0]<=y[0]||m[2]>=y[2]||m[1]<=y[1]||m[3]>=y[3])}function Yh(m,y){var I=jc(m[0]),U=kf(m[1]),J=Math.pow(2,y.z);return[Math.round(I*J*uu),Math.round(U*J*uu)]}function Eh(m,y,I){var U=m[0]-y[0],J=m[1]-y[1],ne=m[0]-I[0],fe=m[1]-I[1];return U*fe-ne*J===0&&U*ne<=0&&J*fe<=0}function nh(m,y,I){return y[1]>m[1]!=I[1]>m[1]&&m[0]<(I[0]-y[0])*(m[1]-y[1])/(I[1]-y[1])+y[0]}function hf(m,y){for(var I=!1,U=0,J=y.length;U<J;U++)for(var ne=y[U],fe=0,Fe=ne.length;fe<Fe-1;fe++){if(Eh(m,ne[fe],ne[fe+1]))return!1;nh(m,ne[fe],ne[fe+1])&&(I=!I)}return I}function kh(m,y){for(var I=0;I<y.length;I++)if(hf(m,y[I]))return!0;return!1}function Kh(m,y){return m[0]*y[1]-m[1]*y[0]}function rc(m,y,I,U){var J=m[0]-I[0],ne=m[1]-I[1],fe=y[0]-I[0],Fe=y[1]-I[1],Qe=U[0]-I[0],st=U[1]-I[1],mt=J*st-Qe*ne,Xt=fe*st-Qe*Fe;return mt>0&&Xt<0||mt<0&&Xt>0}function ah(m,y,I,U){var J=[y[0]-m[0],y[1]-m[1]],ne=[U[0]-I[0],U[1]-I[1]];return Kh(ne,J)===0?!1:!!(rc(m,y,I,U)&&rc(I,U,m,y))}function Wc(m,y,I){for(var U=0,J=I;U<J.length;U+=1)for(var ne=J[U],fe=0;fe<ne.length-1;++fe)if(ah(m,y,ne[fe],ne[fe+1]))return!0;return!1}function df(m,y){for(var I=0;I<m.length;++I)if(!hf(m[I],y))return!1;for(var U=0;U<m.length-1;++U)if(Wc(m[U],m[U+1],y))return!1;return!0}function Cu(m,y){for(var I=0;I<y.length;I++)if(df(m,y[I]))return!0;return!1}function Nf(m,y,I){for(var U=[],J=0;J<m.length;J++){for(var ne=[],fe=0;fe<m[J].length;fe++){var Fe=Yh(m[J][fe],I);Mh(y,Fe),ne.push(Fe)}U.push(ne)}return U}function Zc(m,y,I){for(var U=[],J=0;J<m.length;J++){var ne=Nf(m[J],y,I);U.push(ne)}return U}function ds(m,y,I,U){if(m[0]<I[0]||m[0]>I[2]){var J=U*.5,ne=m[0]-I[0]>J?-U:I[0]-m[0]>J?U:0;ne===0&&(ne=m[0]-I[2]>J?-U:I[2]-m[0]>J?U:0),m[0]+=ne}Mh(y,m)}function Ch(m){m[0]=m[1]=1/0,m[2]=m[3]=-1/0}function Bd(m,y,I,U){for(var J=Math.pow(2,U.z)*uu,ne=[U.x*uu,U.y*uu],fe=[],Fe=0,Qe=m;Fe<Qe.length;Fe+=1)for(var st=Qe[Fe],mt=0,Xt=st;mt<Xt.length;mt+=1){var ur=Xt[mt],nr=[ur.x+ne[0],ur.y+ne[1]];ds(nr,y,I,J),fe.push(nr)}return fe}function Jh(m,y,I,U){for(var J=Math.pow(2,U.z)*uu,ne=[U.x*uu,U.y*uu],fe=[],Fe=0,Qe=m;Fe<Qe.length;Fe+=1){for(var st=Qe[Fe],mt=[],Xt=0,ur=st;Xt<ur.length;Xt+=1){var nr=ur[Xt],Lr=[nr.x+ne[0],nr.y+ne[1]];Mh(y,Lr),mt.push(Lr)}fe.push(mt)}if(y[2]-y[0]<=J/2){Ch(y);for(var Yr=0,_i=fe;Yr<_i.length;Yr+=1)for(var si=_i[Yr],Hi=0,Ei=si;Hi<Ei.length;Hi+=1){var Vi=Ei[Hi];ds(Vi,y,I,J)}}return fe}function Cf(m,y){var I=[1/0,1/0,-1/0,-1/0],U=[1/0,1/0,-1/0,-1/0],J=m.canonicalID();if(y.type===\"Polygon\"){var ne=Nf(y.coordinates,U,J),fe=Bd(m.geometry(),I,U,J);if(!Ml(I,U))return!1;for(var Fe=0,Qe=fe;Fe<Qe.length;Fe+=1){var st=Qe[Fe];if(!hf(st,ne))return!1}}if(y.type===\"MultiPolygon\"){var mt=Zc(y.coordinates,U,J),Xt=Bd(m.geometry(),I,U,J);if(!Ml(I,U))return!1;for(var ur=0,nr=Xt;ur<nr.length;ur+=1){var Lr=nr[ur];if(!kh(Lr,mt))return!1}}return!0}function pd(m,y){var I=[1/0,1/0,-1/0,-1/0],U=[1/0,1/0,-1/0,-1/0],J=m.canonicalID();if(y.type===\"Polygon\"){var ne=Nf(y.coordinates,U,J),fe=Jh(m.geometry(),I,U,J);if(!Ml(I,U))return!1;for(var Fe=0,Qe=fe;Fe<Qe.length;Fe+=1){var st=Qe[Fe];if(!df(st,ne))return!1}}if(y.type===\"MultiPolygon\"){var mt=Zc(y.coordinates,U,J),Xt=Jh(m.geometry(),I,U,J);if(!Ml(I,U))return!1;for(var ur=0,nr=Xt;ur<nr.length;ur+=1){var Lr=nr[ur];if(!Cu(Lr,mt))return!1}}return!0}var Lu=function(y,I){this.type=Co,this.geojson=y,this.geometries=I};Lu.parse=function(y,I){if(y.length!==2)return I.error(\"'within' expression requires exactly one argument, but found \"+(y.length-1)+\" instead.\");if(Cc(y[1])){var U=y[1];if(U.type===\"FeatureCollection\")for(var J=0;J<U.features.length;++J){var ne=U.features[J].geometry.type;if(ne===\"Polygon\"||ne===\"MultiPolygon\")return new Lu(U,U.features[J].geometry)}else if(U.type===\"Feature\"){var fe=U.geometry.type;if(fe===\"Polygon\"||fe===\"MultiPolygon\")return new Lu(U,U.geometry)}else if(U.type===\"Polygon\"||U.type===\"MultiPolygon\")return new Lu(U,U)}return I.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")},Lu.prototype.evaluate=function(y){if(y.geometry()!=null&&y.canonicalID()!=null){if(y.geometryType()===\"Point\")return Cf(y,this.geometries);if(y.geometryType()===\"LineString\")return pd(y,this.geometries)}return!1},Lu.prototype.eachChild=function(){},Lu.prototype.outputDefined=function(){return!0},Lu.prototype.serialize=function(){return[\"within\",this.geojson]};function $h(m){if(m instanceof Ja){if(m.name===\"get\"&&m.args.length===1)return!1;if(m.name===\"feature-state\")return!1;if(m.name===\"has\"&&m.args.length===1)return!1;if(m.name===\"properties\"||m.name===\"geometry-type\"||m.name===\"id\")return!1;if(/^filter-/.test(m.name))return!1}if(m instanceof Lu)return!1;var y=!0;return m.eachChild(function(I){y&&!$h(I)&&(y=!1)}),y}function tu(m){if(m instanceof Ja&&m.name===\"feature-state\")return!1;var y=!0;return m.eachChild(function(I){y&&!tu(I)&&(y=!1)}),y}function Pu(m,y){if(m instanceof Ja&&y.indexOf(m.name)>=0)return!1;var I=!0;return m.eachChild(function(U){I&&!Pu(U,y)&&(I=!1)}),I}var Lc=function(y,I){this.type=I.type,this.name=y,this.boundExpression=I};Lc.parse=function(y,I){if(y.length!==2||typeof y[1]!=\"string\")return I.error(\"'var' expression requires exactly one string literal argument.\");var U=y[1];return I.scope.has(U)?new Lc(U,I.scope.get(U)):I.error('Unknown variable \"'+U+'\". Make sure \"'+U+'\" has been bound in an enclosing \"let\" expression before using it.',1)},Lc.prototype.evaluate=function(y){return this.boundExpression.evaluate(y)},Lc.prototype.eachChild=function(){},Lc.prototype.outputDefined=function(){return!1},Lc.prototype.serialize=function(){return[\"var\",this.name]};var fl=function(y,I,U,J,ne){I===void 0&&(I=[]),J===void 0&&(J=new Xl),ne===void 0&&(ne=[]),this.registry=y,this.path=I,this.key=I.map(function(fe){return\"[\"+fe+\"]\"}).join(\"\"),this.scope=J,this.errors=ne,this.expectedType=U};fl.prototype.parse=function(y,I,U,J,ne){return ne===void 0&&(ne={}),I?this.concat(I,U,J)._parse(y,ne):this._parse(y,ne)},fl.prototype._parse=function(y,I){(y===null||typeof y==\"string\"||typeof y==\"boolean\"||typeof y==\"number\")&&(y=[\"literal\",y]);function U(mt,Xt,ur){return ur===\"assert\"?new Sl(Xt,[mt]):ur===\"coerce\"?new wo(Xt,[mt]):mt}if(Array.isArray(y)){if(y.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');var J=y[0];if(typeof J!=\"string\")return this.error(\"Expression name must be a string, but found \"+typeof J+' instead. If you wanted a literal array, use [\"literal\", [...]].',0),null;var ne=this.registry[J];if(ne){var fe=ne.parse(y,this);if(!fe)return null;if(this.expectedType){var Fe=this.expectedType,Qe=fe.type;if((Fe.kind===\"string\"||Fe.kind===\"number\"||Fe.kind===\"boolean\"||Fe.kind===\"object\"||Fe.kind===\"array\")&&Qe.kind===\"value\")fe=U(fe,Fe,I.typeAnnotation||\"assert\");else if((Fe.kind===\"color\"||Fe.kind===\"formatted\"||Fe.kind===\"resolvedImage\")&&(Qe.kind===\"value\"||Qe.kind===\"string\"))fe=U(fe,Fe,I.typeAnnotation||\"coerce\");else if(this.checkSubtype(Fe,Qe))return null}if(!(fe instanceof hs)&&fe.type.kind!==\"resolvedImage\"&&Xc(fe)){var st=new $o;try{fe=new hs(fe.type,fe.evaluate(st))}catch(mt){return this.error(mt.message),null}}return fe}return this.error('Unknown expression \"'+J+'\". If you wanted a literal array, use [\"literal\", [...]].',0)}else return typeof y==\"undefined\"?this.error(\"'undefined' value invalid. Use null instead.\"):typeof y==\"object\"?this.error('Bare objects invalid. Use [\"literal\", {...}] instead.'):this.error(\"Expected an array, but found \"+typeof y+\" instead.\")},fl.prototype.concat=function(y,I,U){var J=typeof y==\"number\"?this.path.concat(y):this.path,ne=U?this.scope.concat(U):this.scope;return new fl(this.registry,J,I||null,ne,this.errors)},fl.prototype.error=function(y){for(var I=[],U=arguments.length-1;U-- >0;)I[U]=arguments[U+1];var J=\"\"+this.key+I.map(function(ne){return\"[\"+ne+\"]\"}).join(\"\");this.errors.push(new Ks(J,y))},fl.prototype.checkSubtype=function(y,I){var U=kc(y,I);return U&&this.error(U),U};function Xc(m){if(m instanceof Lc)return Xc(m.boundExpression);if(m instanceof Ja&&m.name===\"error\")return!1;if(m instanceof tc)return!1;if(m instanceof Lu)return!1;var y=m instanceof wo||m instanceof Sl,I=!0;return m.eachChild(function(U){y?I=I&&Xc(U):I=I&&U instanceof hs}),I?$h(m)&&Pu(m,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"]):!1}function ic(m,y){for(var I=m.length-1,U=0,J=I,ne=0,fe,Fe;U<=J;)if(ne=Math.floor((U+J)/2),fe=m[ne],Fe=m[ne+1],fe<=y){if(ne===I||y<Fe)return ne;U=ne+1}else if(fe>y)J=ne-1;else throw new Ms(\"Input is not a number.\");return 0}var yu=function(y,I,U){this.type=y,this.input=I,this.labels=[],this.outputs=[];for(var J=0,ne=U;J<ne.length;J+=1){var fe=ne[J],Fe=fe[0],Qe=fe[1];this.labels.push(Fe),this.outputs.push(Qe)}};yu.parse=function(y,I){if(y.length-1<4)return I.error(\"Expected at least 4 arguments, but found only \"+(y.length-1)+\".\");if((y.length-1)%2!==0)return I.error(\"Expected an even number of arguments.\");var U=I.parse(y[1],1,Zn);if(!U)return null;var J=[],ne=null;I.expectedType&&I.expectedType.kind!==\"value\"&&(ne=I.expectedType);for(var fe=1;fe<y.length;fe+=2){var Fe=fe===1?-1/0:y[fe],Qe=y[fe+1],st=fe,mt=fe+1;if(typeof Fe!=\"number\")return I.error('Input/output pairs for \"step\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',st);if(J.length&&J[J.length-1][0]>=Fe)return I.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',st);var Xt=I.parse(Qe,mt,ne);if(!Xt)return null;ne=ne||Xt.type,J.push([Fe,Xt])}return new yu(ne,U,J)},yu.prototype.evaluate=function(y){var I=this.labels,U=this.outputs;if(I.length===1)return U[0].evaluate(y);var J=this.input.evaluate(y);if(J<=I[0])return U[0].evaluate(y);var ne=I.length;if(J>=I[ne-1])return U[ne-1].evaluate(y);var fe=ic(I,J);return U[fe].evaluate(y)},yu.prototype.eachChild=function(y){y(this.input);for(var I=0,U=this.outputs;I<U.length;I+=1){var J=U[I];y(J)}},yu.prototype.outputDefined=function(){return this.outputs.every(function(y){return y.outputDefined()})},yu.prototype.serialize=function(){for(var y=[\"step\",this.input.serialize()],I=0;I<this.labels.length;I++)I>0&&y.push(this.labels[I]),y.push(this.outputs[I].serialize());return y};function Qs(m,y,I){return m*(1-I)+y*I}function Qh(m,y,I){return new ss(Qs(m.r,y.r,I),Qs(m.g,y.g,I),Qs(m.b,y.b,I),Qs(m.a,y.a,I))}function gd(m,y,I){return m.map(function(U,J){return Qs(U,y[J],I)})}var Gu=Object.freeze({__proto__:null,number:Qs,color:Qh,array:gd}),Pc=.95047,vc=1,sv=1.08883,Lf=4/29,Uf=6/29,Iu=3*Uf*Uf,oh=Uf*Uf*Uf,ru=Math.PI/180,vf=180/Math.PI;function md(m){return m>oh?Math.pow(m,1/3):m/Iu+Lf}function sh(m){return m>Uf?m*m*m:Iu*(m-Lf)}function Fs(m){return 255*(m<=.0031308?12.92*m:1.055*Math.pow(m,1/2.4)-.055)}function _u(m){return m/=255,m<=.04045?m/12.92:Math.pow((m+.055)/1.055,2.4)}function xu(m){var y=_u(m.r),I=_u(m.g),U=_u(m.b),J=md((.4124564*y+.3575761*I+.1804375*U)/Pc),ne=md((.2126729*y+.7151522*I+.072175*U)/vc),fe=md((.0193339*y+.119192*I+.9503041*U)/sv);return{l:116*ne-16,a:500*(J-ne),b:200*(ne-fe),alpha:m.a}}function Lh(m){var y=(m.l+16)/116,I=isNaN(m.a)?y:y+m.a/500,U=isNaN(m.b)?y:y-m.b/200;return y=vc*sh(y),I=Pc*sh(I),U=sv*sh(U),new ss(Fs(3.2404542*I-1.5371385*y-.4985314*U),Fs(-.969266*I+1.8760108*y+.041556*U),Fs(.0556434*I-.2040259*y+1.0572252*U),m.alpha)}function Is(m,y,I){return{l:Qs(m.l,y.l,I),a:Qs(m.a,y.a,I),b:Qs(m.b,y.b,I),alpha:Qs(m.alpha,y.alpha,I)}}function Pf(m){var y=xu(m),I=y.l,U=y.a,J=y.b,ne=Math.atan2(J,U)*vf;return{h:ne<0?ne+360:ne,c:Math.sqrt(U*U+J*J),l:I,alpha:m.a}}function Ic(m){var y=m.h*ru,I=m.c,U=m.l;return Lh({l:U,a:Math.cos(y)*I,b:Math.sin(y)*I,alpha:m.alpha})}function ju(m,y,I){var U=y-m;return m+I*(U>180||U<-180?U-360*Math.round(U/360):U)}function Vf(m,y,I){return{h:ju(m.h,y.h,I),c:Qs(m.c,y.c,I),l:Qs(m.l,y.l,I),alpha:Qs(m.alpha,y.alpha,I)}}var pc={forward:xu,reverse:Lh,interpolate:Is},pf={forward:Pf,reverse:Ic,interpolate:Vf},Ph=Object.freeze({__proto__:null,lab:pc,hcl:pf}),Dl=function(y,I,U,J,ne){this.type=y,this.operator=I,this.interpolation=U,this.input=J,this.labels=[],this.outputs=[];for(var fe=0,Fe=ne;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=Qe[0],mt=Qe[1];this.labels.push(st),this.outputs.push(mt)}};Dl.interpolationFactor=function(y,I,U,J){var ne=0;if(y.name===\"exponential\")ne=Ih(I,y.base,U,J);else if(y.name===\"linear\")ne=Ih(I,1,U,J);else if(y.name===\"cubic-bezier\"){var fe=y.controlPoints,Fe=new s(fe[0],fe[1],fe[2],fe[3]);ne=Fe.solve(Ih(I,1,U,J))}return ne},Dl.parse=function(y,I){var U=y[0],J=y[1],ne=y[2],fe=y.slice(3);if(!Array.isArray(J)||J.length===0)return I.error(\"Expected an interpolation type expression.\",1);if(J[0]===\"linear\")J={name:\"linear\"};else if(J[0]===\"exponential\"){var Fe=J[1];if(typeof Fe!=\"number\")return I.error(\"Exponential interpolation requires a numeric base.\",1,1);J={name:\"exponential\",base:Fe}}else if(J[0]===\"cubic-bezier\"){var Qe=J.slice(1);if(Qe.length!==4||Qe.some(function(si){return typeof si!=\"number\"||si<0||si>1}))return I.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);J={name:\"cubic-bezier\",controlPoints:Qe}}else return I.error(\"Unknown interpolation type \"+String(J[0]),1,0);if(y.length-1<4)return I.error(\"Expected at least 4 arguments, but found only \"+(y.length-1)+\".\");if((y.length-1)%2!==0)return I.error(\"Expected an even number of arguments.\");if(ne=I.parse(ne,2,Zn),!ne)return null;var st=[],mt=null;U===\"interpolate-hcl\"||U===\"interpolate-lab\"?mt=Tl:I.expectedType&&I.expectedType.kind!==\"value\"&&(mt=I.expectedType);for(var Xt=0;Xt<fe.length;Xt+=2){var ur=fe[Xt],nr=fe[Xt+1],Lr=Xt+3,Yr=Xt+4;if(typeof ur!=\"number\")return I.error('Input/output pairs for \"interpolate\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',Lr);if(st.length&&st[st.length-1][0]>=ur)return I.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',Lr);var _i=I.parse(nr,Yr,mt);if(!_i)return null;mt=mt||_i.type,st.push([ur,_i])}return mt.kind!==\"number\"&&mt.kind!==\"color\"&&!(mt.kind===\"array\"&&mt.itemType.kind===\"number\"&&typeof mt.N==\"number\")?I.error(\"Type \"+Ls(mt)+\" is not interpolatable.\"):new Dl(mt,U,J,ne,st)},Dl.prototype.evaluate=function(y){var I=this.labels,U=this.outputs;if(I.length===1)return U[0].evaluate(y);var J=this.input.evaluate(y);if(J<=I[0])return U[0].evaluate(y);var ne=I.length;if(J>=I[ne-1])return U[ne-1].evaluate(y);var fe=ic(I,J),Fe=I[fe],Qe=I[fe+1],st=Dl.interpolationFactor(this.interpolation,J,Fe,Qe),mt=U[fe].evaluate(y),Xt=U[fe+1].evaluate(y);return this.operator===\"interpolate\"?Gu[this.type.kind.toLowerCase()](mt,Xt,st):this.operator===\"interpolate-hcl\"?pf.reverse(pf.interpolate(pf.forward(mt),pf.forward(Xt),st)):pc.reverse(pc.interpolate(pc.forward(mt),pc.forward(Xt),st))},Dl.prototype.eachChild=function(y){y(this.input);for(var I=0,U=this.outputs;I<U.length;I+=1){var J=U[I];y(J)}},Dl.prototype.outputDefined=function(){return this.outputs.every(function(y){return y.outputDefined()})},Dl.prototype.serialize=function(){var y;this.interpolation.name===\"linear\"?y=[\"linear\"]:this.interpolation.name===\"exponential\"?this.interpolation.base===1?y=[\"linear\"]:y=[\"exponential\",this.interpolation.base]:y=[\"cubic-bezier\"].concat(this.interpolation.controlPoints);for(var I=[this.operator,y,this.input.serialize()],U=0;U<this.labels.length;U++)I.push(this.labels[U],this.outputs[U].serialize());return I};function Ih(m,y,I,U){var J=U-I,ne=m-I;return J===0?0:y===1?ne/J:(Math.pow(y,ne)-1)/(Math.pow(y,J)-1)}var Wu=function(y,I){this.type=y,this.args=I};Wu.parse=function(y,I){if(y.length<2)return I.error(\"Expectected at least one argument.\");var U=null,J=I.expectedType;J&&J.kind!==\"value\"&&(U=J);for(var ne=[],fe=0,Fe=y.slice(1);fe<Fe.length;fe+=1){var Qe=Fe[fe],st=I.parse(Qe,1+ne.length,U,void 0,{typeAnnotation:\"omit\"});if(!st)return null;U=U||st.type,ne.push(st)}var mt=J&&ne.some(function(Xt){return kc(J,Xt.type)});return mt?new Wu(So,ne):new Wu(U,ne)},Wu.prototype.evaluate=function(y){for(var I=null,U=0,J,ne=0,fe=this.args;ne<fe.length;ne+=1){var Fe=fe[ne];if(U++,I=Fe.evaluate(y),I&&I instanceof Js&&!I.available&&(J||(J=I.name),I=null,U===this.args.length&&(I=J)),I!==null)break}return I},Wu.prototype.eachChild=function(y){this.args.forEach(y)},Wu.prototype.outputDefined=function(){return this.args.every(function(y){return y.outputDefined()})},Wu.prototype.serialize=function(){var y=[\"coalesce\"];return this.eachChild(function(I){y.push(I.serialize())}),y};var Rc=function(y,I){this.type=I.type,this.bindings=[].concat(y),this.result=I};Rc.prototype.evaluate=function(y){return this.result.evaluate(y)},Rc.prototype.eachChild=function(y){for(var I=0,U=this.bindings;I<U.length;I+=1){var J=U[I];y(J[1])}y(this.result)},Rc.parse=function(y,I){if(y.length<4)return I.error(\"Expected at least 3 arguments, but found \"+(y.length-1)+\" instead.\");for(var U=[],J=1;J<y.length-1;J+=2){var ne=y[J];if(typeof ne!=\"string\")return I.error(\"Expected string, but found \"+typeof ne+\" instead.\",J);if(/[^a-zA-Z0-9_]/.test(ne))return I.error(\"Variable names must contain only alphanumeric characters or '_'.\",J);var fe=I.parse(y[J+1],J+1);if(!fe)return null;U.push([ne,fe])}var Fe=I.parse(y[y.length-1],y.length-1,I.expectedType,U);return Fe?new Rc(U,Fe):null},Rc.prototype.outputDefined=function(){return this.result.outputDefined()},Rc.prototype.serialize=function(){for(var y=[\"let\"],I=0,U=this.bindings;I<U.length;I+=1){var J=U[I],ne=J[0],fe=J[1];y.push(ne,fe.serialize())}return y.push(this.result.serialize()),y};var gc=function(y,I,U){this.type=y,this.index=I,this.input=U};gc.parse=function(y,I){if(y.length!==3)return I.error(\"Expected 2 arguments, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1,Zn),J=I.parse(y[2],2,eu(I.expectedType||So));if(!U||!J)return null;var ne=J.type;return new gc(ne.itemType,U,J)},gc.prototype.evaluate=function(y){var I=this.index.evaluate(y),U=this.input.evaluate(y);if(I<0)throw new Ms(\"Array index out of bounds: \"+I+\" < 0.\");if(I>=U.length)throw new Ms(\"Array index out of bounds: \"+I+\" > \"+(U.length-1)+\".\");if(I!==Math.floor(I))throw new Ms(\"Array index must be an integer, but found \"+I+\" instead.\");return U[I]},gc.prototype.eachChild=function(y){y(this.index),y(this.input)},gc.prototype.outputDefined=function(){return!1},gc.prototype.serialize=function(){return[\"at\",this.index.serialize(),this.input.serialize()]};var hl=function(y,I){this.type=Co,this.needle=y,this.haystack=I};hl.parse=function(y,I){if(y.length!==3)return I.error(\"Expected 2 arguments, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,So);return!U||!J?null:Of(U.type,[Co,ko,Zn,Ec,So])?new hl(U,J):I.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(U.type)+\" instead\")},hl.prototype.evaluate=function(y){var I=this.needle.evaluate(y),U=this.haystack.evaluate(y);if(!U)return!1;if(!Gc(I,[\"boolean\",\"string\",\"number\",\"null\"]))throw new Ms(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(ws(I))+\" instead.\");if(!Gc(U,[\"string\",\"array\"]))throw new Ms(\"Expected second argument to be of type array or string, but found \"+Ls(ws(U))+\" instead.\");return U.indexOf(I)>=0},hl.prototype.eachChild=function(y){y(this.needle),y(this.haystack)},hl.prototype.outputDefined=function(){return!0},hl.prototype.serialize=function(){return[\"in\",this.needle.serialize(),this.haystack.serialize()]};var iu=function(y,I,U){this.type=Zn,this.needle=y,this.haystack=I,this.fromIndex=U};iu.parse=function(y,I){if(y.length<=2||y.length>=5)return I.error(\"Expected 3 or 4 arguments, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,So);if(!U||!J)return null;if(!Of(U.type,[Co,ko,Zn,Ec,So]))return I.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(U.type)+\" instead\");if(y.length===4){var ne=I.parse(y[3],3,Zn);return ne?new iu(U,J,ne):null}else return new iu(U,J)},iu.prototype.evaluate=function(y){var I=this.needle.evaluate(y),U=this.haystack.evaluate(y);if(!Gc(I,[\"boolean\",\"string\",\"number\",\"null\"]))throw new Ms(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(ws(I))+\" instead.\");if(!Gc(U,[\"string\",\"array\"]))throw new Ms(\"Expected second argument to be of type array or string, but found \"+Ls(ws(U))+\" instead.\");if(this.fromIndex){var J=this.fromIndex.evaluate(y);return U.indexOf(I,J)}return U.indexOf(I)},iu.prototype.eachChild=function(y){y(this.needle),y(this.haystack),this.fromIndex&&y(this.fromIndex)},iu.prototype.outputDefined=function(){return!1},iu.prototype.serialize=function(){if(this.fromIndex!=null&&this.fromIndex!==void 0){var y=this.fromIndex.serialize();return[\"index-of\",this.needle.serialize(),this.haystack.serialize(),y]}return[\"index-of\",this.needle.serialize(),this.haystack.serialize()]};var mc=function(y,I,U,J,ne,fe){this.inputType=y,this.type=I,this.input=U,this.cases=J,this.outputs=ne,this.otherwise=fe};mc.parse=function(y,I){if(y.length<5)return I.error(\"Expected at least 4 arguments, but found only \"+(y.length-1)+\".\");if(y.length%2!==1)return I.error(\"Expected an even number of arguments.\");var U,J;I.expectedType&&I.expectedType.kind!==\"value\"&&(J=I.expectedType);for(var ne={},fe=[],Fe=2;Fe<y.length-1;Fe+=2){var Qe=y[Fe],st=y[Fe+1];Array.isArray(Qe)||(Qe=[Qe]);var mt=I.concat(Fe);if(Qe.length===0)return mt.error(\"Expected at least one branch label.\");for(var Xt=0,ur=Qe;Xt<ur.length;Xt+=1){var nr=ur[Xt];if(typeof nr!=\"number\"&&typeof nr!=\"string\")return mt.error(\"Branch labels must be numbers or strings.\");if(typeof nr==\"number\"&&Math.abs(nr)>Number.MAX_SAFE_INTEGER)return mt.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\");if(typeof nr==\"number\"&&Math.floor(nr)!==nr)return mt.error(\"Numeric branch labels must be integer values.\");if(!U)U=ws(nr);else if(mt.checkSubtype(U,ws(nr)))return null;if(typeof ne[String(nr)]!=\"undefined\")return mt.error(\"Branch labels must be unique.\");ne[String(nr)]=fe.length}var Lr=I.parse(st,Fe,J);if(!Lr)return null;J=J||Lr.type,fe.push(Lr)}var Yr=I.parse(y[1],1,So);if(!Yr)return null;var _i=I.parse(y[y.length-1],y.length-1,J);return!_i||Yr.type.kind!==\"value\"&&I.concat(1).checkSubtype(U,Yr.type)?null:new mc(U,J,Yr,ne,fe,_i)},mc.prototype.evaluate=function(y){var I=this.input.evaluate(y),U=ws(I)===this.inputType&&this.outputs[this.cases[I]]||this.otherwise;return U.evaluate(y)},mc.prototype.eachChild=function(y){y(this.input),this.outputs.forEach(y),y(this.otherwise)},mc.prototype.outputDefined=function(){return this.outputs.every(function(y){return y.outputDefined()})&&this.otherwise.outputDefined()},mc.prototype.serialize=function(){for(var y=this,I=[\"match\",this.input.serialize()],U=Object.keys(this.cases).sort(),J=[],ne={},fe=0,Fe=U;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=ne[this.cases[Qe]];st===void 0?(ne[this.cases[Qe]]=J.length,J.push([this.cases[Qe],[Qe]])):J[st][1].push(Qe)}for(var mt=function(Yr){return y.inputType.kind===\"number\"?Number(Yr):Yr},Xt=0,ur=J;Xt<ur.length;Xt+=1){var nr=ur[Xt],st=nr[0],Lr=nr[1];Lr.length===1?I.push(mt(Lr[0])):I.push(Lr.map(mt)),I.push(this.outputs[outputIndex$1].serialize())}return I.push(this.otherwise.serialize()),I};var Yc=function(y,I,U){this.type=y,this.branches=I,this.otherwise=U};Yc.parse=function(y,I){if(y.length<4)return I.error(\"Expected at least 3 arguments, but found only \"+(y.length-1)+\".\");if(y.length%2!==0)return I.error(\"Expected an odd number of arguments.\");var U;I.expectedType&&I.expectedType.kind!==\"value\"&&(U=I.expectedType);for(var J=[],ne=1;ne<y.length-1;ne+=2){var fe=I.parse(y[ne],ne,Co);if(!fe)return null;var Fe=I.parse(y[ne+1],ne+1,U);if(!Fe)return null;J.push([fe,Fe]),U=U||Fe.type}var Qe=I.parse(y[y.length-1],y.length-1,U);return Qe?new Yc(U,J,Qe):null},Yc.prototype.evaluate=function(y){for(var I=0,U=this.branches;I<U.length;I+=1){var J=U[I],ne=J[0],fe=J[1];if(ne.evaluate(y))return fe.evaluate(y)}return this.otherwise.evaluate(y)},Yc.prototype.eachChild=function(y){for(var I=0,U=this.branches;I<U.length;I+=1){var J=U[I],ne=J[0],fe=J[1];y(ne),y(fe)}y(this.otherwise)},Yc.prototype.outputDefined=function(){return this.branches.every(function(y){var I=y[0],U=y[1];return U.outputDefined()})&&this.otherwise.outputDefined()},Yc.prototype.serialize=function(){var y=[\"case\"];return this.eachChild(function(I){y.push(I.serialize())}),y};var nc=function(y,I,U,J){this.type=y,this.input=I,this.beginIndex=U,this.endIndex=J};nc.parse=function(y,I){if(y.length<=2||y.length>=5)return I.error(\"Expected 3 or 4 arguments, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,Zn);if(!U||!J)return null;if(!Of(U.type,[eu(So),ko,So]))return I.error(\"Expected first argument to be of type array or string, but found \"+Ls(U.type)+\" instead\");if(y.length===4){var ne=I.parse(y[3],3,Zn);return ne?new nc(U.type,U,J,ne):null}else return new nc(U.type,U,J)},nc.prototype.evaluate=function(y){var I=this.input.evaluate(y),U=this.beginIndex.evaluate(y);if(!Gc(I,[\"string\",\"array\"]))throw new Ms(\"Expected first argument to be of type array or string, but found \"+Ls(ws(I))+\" instead.\");if(this.endIndex){var J=this.endIndex.evaluate(y);return I.slice(U,J)}return I.slice(U)},nc.prototype.eachChild=function(y){y(this.input),y(this.beginIndex),this.endIndex&&y(this.endIndex)},nc.prototype.outputDefined=function(){return!1},nc.prototype.serialize=function(){if(this.endIndex!=null&&this.endIndex!==void 0){var y=this.endIndex.serialize();return[\"slice\",this.input.serialize(),this.beginIndex.serialize(),y]}return[\"slice\",this.input.serialize(),this.beginIndex.serialize()]};function gf(m,y){return m===\"==\"||m===\"!=\"?y.kind===\"boolean\"||y.kind===\"string\"||y.kind===\"number\"||y.kind===\"null\"||y.kind===\"value\":y.kind===\"string\"||y.kind===\"number\"||y.kind===\"value\"}function gt(m,y,I){return y===I}function Bt(m,y,I){return y!==I}function wr(m,y,I){return y<I}function vr(m,y,I){return y>I}function Ur(m,y,I){return y<=I}function fi(m,y,I){return y>=I}function xi(m,y,I,U){return U.compare(y,I)===0}function Fi(m,y,I,U){return!xi(m,y,I,U)}function Xi(m,y,I,U){return U.compare(y,I)<0}function hn(m,y,I,U){return U.compare(y,I)>0}function Ti(m,y,I,U){return U.compare(y,I)<=0}function qi(m,y,I,U){return U.compare(y,I)>=0}function Ii(m,y,I){var U=m!==\"==\"&&m!==\"!=\";return function(){function J(ne,fe,Fe){this.type=Co,this.lhs=ne,this.rhs=fe,this.collator=Fe,this.hasUntypedArgument=ne.type.kind===\"value\"||fe.type.kind===\"value\"}return J.parse=function(fe,Fe){if(fe.length!==3&&fe.length!==4)return Fe.error(\"Expected two or three arguments.\");var Qe=fe[0],st=Fe.parse(fe[1],1,So);if(!st)return null;if(!gf(Qe,st.type))return Fe.concat(1).error('\"'+Qe+`\" comparisons are not supported for type '`+Ls(st.type)+\"'.\");var mt=Fe.parse(fe[2],2,So);if(!mt)return null;if(!gf(Qe,mt.type))return Fe.concat(2).error('\"'+Qe+`\" comparisons are not supported for type '`+Ls(mt.type)+\"'.\");if(st.type.kind!==mt.type.kind&&st.type.kind!==\"value\"&&mt.type.kind!==\"value\")return Fe.error(\"Cannot compare types '\"+Ls(st.type)+\"' and '\"+Ls(mt.type)+\"'.\");U&&(st.type.kind===\"value\"&&mt.type.kind!==\"value\"?st=new Sl(mt.type,[st]):st.type.kind!==\"value\"&&mt.type.kind===\"value\"&&(mt=new Sl(st.type,[mt])));var Xt=null;if(fe.length===4){if(st.type.kind!==\"string\"&&mt.type.kind!==\"string\"&&st.type.kind!==\"value\"&&mt.type.kind!==\"value\")return Fe.error(\"Cannot use collator to compare non-string types.\");if(Xt=Fe.parse(fe[3],3,rh),!Xt)return null}return new J(st,mt,Xt)},J.prototype.evaluate=function(fe){var Fe=this.lhs.evaluate(fe),Qe=this.rhs.evaluate(fe);if(U&&this.hasUntypedArgument){var st=ws(Fe),mt=ws(Qe);if(st.kind!==mt.kind||!(st.kind===\"string\"||st.kind===\"number\"))throw new Ms('Expected arguments for \"'+m+'\" to be (string, string) or (number, number), but found ('+st.kind+\", \"+mt.kind+\") instead.\")}if(this.collator&&!U&&this.hasUntypedArgument){var Xt=ws(Fe),ur=ws(Qe);if(Xt.kind!==\"string\"||ur.kind!==\"string\")return y(fe,Fe,Qe)}return this.collator?I(fe,Fe,Qe,this.collator.evaluate(fe)):y(fe,Fe,Qe)},J.prototype.eachChild=function(fe){fe(this.lhs),fe(this.rhs),this.collator&&fe(this.collator)},J.prototype.outputDefined=function(){return!0},J.prototype.serialize=function(){var fe=[m];return this.eachChild(function(Fe){fe.push(Fe.serialize())}),fe},J}()}var mi=Ii(\"==\",gt,xi),Pn=Ii(\"!=\",Bt,Fi),Ma=Ii(\"<\",wr,Xi),Ta=Ii(\">\",vr,hn),Ea=Ii(\"<=\",Ur,Ti),qa=Ii(\">=\",fi,qi),Cn=function(y,I,U,J,ne){this.type=ko,this.number=y,this.locale=I,this.currency=U,this.minFractionDigits=J,this.maxFractionDigits=ne};Cn.parse=function(y,I){if(y.length!==3)return I.error(\"Expected two arguments.\");var U=I.parse(y[1],1,Zn);if(!U)return null;var J=y[2];if(typeof J!=\"object\"||Array.isArray(J))return I.error(\"NumberFormat options argument must be an object.\");var ne=null;if(J.locale&&(ne=I.parse(J.locale,1,ko),!ne))return null;var fe=null;if(J.currency&&(fe=I.parse(J.currency,1,ko),!fe))return null;var Fe=null;if(J[\"min-fraction-digits\"]&&(Fe=I.parse(J[\"min-fraction-digits\"],1,Zn),!Fe))return null;var Qe=null;return J[\"max-fraction-digits\"]&&(Qe=I.parse(J[\"max-fraction-digits\"],1,Zn),!Qe)?null:new Cn(U,ne,fe,Fe,Qe)},Cn.prototype.evaluate=function(y){return new Intl.NumberFormat(this.locale?this.locale.evaluate(y):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(y):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(y):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(y):void 0}).format(this.number.evaluate(y))},Cn.prototype.eachChild=function(y){y(this.number),this.locale&&y(this.locale),this.currency&&y(this.currency),this.minFractionDigits&&y(this.minFractionDigits),this.maxFractionDigits&&y(this.maxFractionDigits)},Cn.prototype.outputDefined=function(){return!1},Cn.prototype.serialize=function(){var y={};return this.locale&&(y.locale=this.locale.serialize()),this.currency&&(y.currency=this.currency.serialize()),this.minFractionDigits&&(y[\"min-fraction-digits\"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(y[\"max-fraction-digits\"]=this.maxFractionDigits.serialize()),[\"number-format\",this.number.serialize(),y]};var sn=function(y){this.type=Zn,this.input=y};sn.parse=function(y,I){if(y.length!==2)return I.error(\"Expected 1 argument, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1);return U?U.type.kind!==\"array\"&&U.type.kind!==\"string\"&&U.type.kind!==\"value\"?I.error(\"Expected argument of type string or array, but found \"+Ls(U.type)+\" instead.\"):new sn(U):null},sn.prototype.evaluate=function(y){var I=this.input.evaluate(y);if(typeof I==\"string\")return I.length;if(Array.isArray(I))return I.length;throw new Ms(\"Expected value to be of type string or array, but found \"+Ls(ws(I))+\" instead.\")},sn.prototype.eachChild=function(y){y(this.input)},sn.prototype.outputDefined=function(){return!1},sn.prototype.serialize=function(){var y=[\"length\"];return this.eachChild(function(I){y.push(I.serialize())}),y};var Ua={\"==\":mi,\"!=\":Pn,\">\":Ta,\"<\":Ma,\">=\":qa,\"<=\":Ea,array:Sl,at:gc,boolean:Sl,case:Yc,coalesce:Wu,collator:tc,format:ec,image:Ps,in:hl,\"index-of\":iu,interpolate:Dl,\"interpolate-hcl\":Dl,\"interpolate-lab\":Dl,length:sn,let:Rc,literal:hs,match:mc,number:Sl,\"number-format\":Cn,object:Sl,slice:nc,step:yu,string:Sl,\"to-boolean\":wo,\"to-color\":wo,\"to-number\":wo,\"to-string\":wo,var:Lc,within:Lu};function mo(m,y){var I=y[0],U=y[1],J=y[2],ne=y[3];I=I.evaluate(m),U=U.evaluate(m),J=J.evaluate(m);var fe=ne?ne.evaluate(m):1,Fe=hc(I,U,J,fe);if(Fe)throw new Ms(Fe);return new ss(I/255*fe,U/255*fe,J/255*fe,fe)}function Xo(m,y){return m in y}function Ts(m,y){var I=y[m];return typeof I==\"undefined\"?null:I}function Qo(m,y,I,U){for(;I<=U;){var J=I+U>>1;if(y[J]===m)return!0;y[J]>m?U=J-1:I=J+1}return!1}function ys(m){return{type:m}}Ja.register(Ua,{error:[cf,[ko],function(m,y){var I=y[0];throw new Ms(I.evaluate(m))}],typeof:[ko,[So],function(m,y){var I=y[0];return Ls(ws(I.evaluate(m)))}],\"to-rgba\":[eu(Zn,4),[Tl],function(m,y){var I=y[0];return I.evaluate(m).toArray()}],rgb:[Tl,[Zn,Zn,Zn],mo],rgba:[Tl,[Zn,Zn,Zn,Zn],mo],has:{type:Co,overloads:[[[ko],function(m,y){var I=y[0];return Xo(I.evaluate(m),m.properties())}],[[ko,uf],function(m,y){var I=y[0],U=y[1];return Xo(I.evaluate(m),U.evaluate(m))}]]},get:{type:So,overloads:[[[ko],function(m,y){var I=y[0];return Ts(I.evaluate(m),m.properties())}],[[ko,uf],function(m,y){var I=y[0],U=y[1];return Ts(I.evaluate(m),U.evaluate(m))}]]},\"feature-state\":[So,[ko],function(m,y){var I=y[0];return Ts(I.evaluate(m),m.featureState||{})}],properties:[uf,[],function(m){return m.properties()}],\"geometry-type\":[ko,[],function(m){return m.geometryType()}],id:[So,[],function(m){return m.id()}],zoom:[Zn,[],function(m){return m.globals.zoom}],\"heatmap-density\":[Zn,[],function(m){return m.globals.heatmapDensity||0}],\"line-progress\":[Zn,[],function(m){return m.globals.lineProgress||0}],accumulated:[So,[],function(m){return m.globals.accumulated===void 0?null:m.globals.accumulated}],\"+\":[Zn,ys(Zn),function(m,y){for(var I=0,U=0,J=y;U<J.length;U+=1){var ne=J[U];I+=ne.evaluate(m)}return I}],\"*\":[Zn,ys(Zn),function(m,y){for(var I=1,U=0,J=y;U<J.length;U+=1){var ne=J[U];I*=ne.evaluate(m)}return I}],\"-\":{type:Zn,overloads:[[[Zn,Zn],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)-U.evaluate(m)}],[[Zn],function(m,y){var I=y[0];return-I.evaluate(m)}]]},\"/\":[Zn,[Zn,Zn],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)/U.evaluate(m)}],\"%\":[Zn,[Zn,Zn],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)%U.evaluate(m)}],ln2:[Zn,[],function(){return Math.LN2}],pi:[Zn,[],function(){return Math.PI}],e:[Zn,[],function(){return Math.E}],\"^\":[Zn,[Zn,Zn],function(m,y){var I=y[0],U=y[1];return Math.pow(I.evaluate(m),U.evaluate(m))}],sqrt:[Zn,[Zn],function(m,y){var I=y[0];return Math.sqrt(I.evaluate(m))}],log10:[Zn,[Zn],function(m,y){var I=y[0];return Math.log(I.evaluate(m))/Math.LN10}],ln:[Zn,[Zn],function(m,y){var I=y[0];return Math.log(I.evaluate(m))}],log2:[Zn,[Zn],function(m,y){var I=y[0];return Math.log(I.evaluate(m))/Math.LN2}],sin:[Zn,[Zn],function(m,y){var I=y[0];return Math.sin(I.evaluate(m))}],cos:[Zn,[Zn],function(m,y){var I=y[0];return Math.cos(I.evaluate(m))}],tan:[Zn,[Zn],function(m,y){var I=y[0];return Math.tan(I.evaluate(m))}],asin:[Zn,[Zn],function(m,y){var I=y[0];return Math.asin(I.evaluate(m))}],acos:[Zn,[Zn],function(m,y){var I=y[0];return Math.acos(I.evaluate(m))}],atan:[Zn,[Zn],function(m,y){var I=y[0];return Math.atan(I.evaluate(m))}],min:[Zn,ys(Zn),function(m,y){return Math.min.apply(Math,y.map(function(I){return I.evaluate(m)}))}],max:[Zn,ys(Zn),function(m,y){return Math.max.apply(Math,y.map(function(I){return I.evaluate(m)}))}],abs:[Zn,[Zn],function(m,y){var I=y[0];return Math.abs(I.evaluate(m))}],round:[Zn,[Zn],function(m,y){var I=y[0],U=I.evaluate(m);return U<0?-Math.round(-U):Math.round(U)}],floor:[Zn,[Zn],function(m,y){var I=y[0];return Math.floor(I.evaluate(m))}],ceil:[Zn,[Zn],function(m,y){var I=y[0];return Math.ceil(I.evaluate(m))}],\"filter-==\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1];return m.properties()[I.value]===U.value}],\"filter-id-==\":[Co,[So],function(m,y){var I=y[0];return m.id()===I.value}],\"filter-type-==\":[Co,[ko],function(m,y){var I=y[0];return m.geometryType()===I.value}],\"filter-<\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J<ne}],\"filter-id-<\":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U<J}],\"filter->\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J>ne}],\"filter-id->\":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U>J}],\"filter-<=\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J<=ne}],\"filter-id-<=\":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U<=J}],\"filter->=\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J>=ne}],\"filter-id->=\":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U>=J}],\"filter-has\":[Co,[So],function(m,y){var I=y[0];return I.value in m.properties()}],\"filter-has-id\":[Co,[],function(m){return m.id()!==null&&m.id()!==void 0}],\"filter-type-in\":[Co,[eu(ko)],function(m,y){var I=y[0];return I.value.indexOf(m.geometryType())>=0}],\"filter-id-in\":[Co,[eu(So)],function(m,y){var I=y[0];return I.value.indexOf(m.id())>=0}],\"filter-in-small\":[Co,[ko,eu(So)],function(m,y){var I=y[0],U=y[1];return U.value.indexOf(m.properties()[I.value])>=0}],\"filter-in-large\":[Co,[ko,eu(So)],function(m,y){var I=y[0],U=y[1];return Qo(m.properties()[I.value],U.value,0,U.value.length-1)}],all:{type:Co,overloads:[[[Co,Co],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)&&U.evaluate(m)}],[ys(Co),function(m,y){for(var I=0,U=y;I<U.length;I+=1){var J=U[I];if(!J.evaluate(m))return!1}return!0}]]},any:{type:Co,overloads:[[[Co,Co],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)||U.evaluate(m)}],[ys(Co),function(m,y){for(var I=0,U=y;I<U.length;I+=1){var J=U[I];if(J.evaluate(m))return!0}return!1}]]},\"!\":[Co,[Co],function(m,y){var I=y[0];return!I.evaluate(m)}],\"is-supported-script\":[Co,[ko],function(m,y){var I=y[0],U=m.globals&&m.globals.isSupportedScript;return U?U(I.evaluate(m)):!0}],upcase:[ko,[ko],function(m,y){var I=y[0];return I.evaluate(m).toUpperCase()}],downcase:[ko,[ko],function(m,y){var I=y[0];return I.evaluate(m).toLowerCase()}],concat:[ko,ys(So),function(m,y){return y.map(function(I){return $s(I.evaluate(m))}).join(\"\")}],\"resolved-locale\":[ko,[rh],function(m,y){var I=y[0];return I.evaluate(m).resolvedLocale()}]});function Bo(m){return{result:\"success\",value:m}}function yl(m){return{result:\"error\",value:m}}function Gs(m){return m[\"property-type\"]===\"data-driven\"||m[\"property-type\"]===\"cross-faded-data-driven\"}function Rs(m){return!!m.expression&&m.expression.parameters.indexOf(\"zoom\")>-1}function ia(m){return!!m.expression&&m.expression.interpolated}function Ka(m){return m instanceof Number?\"number\":m instanceof String?\"string\":m instanceof Boolean?\"boolean\":Array.isArray(m)?\"array\":m===null?\"null\":typeof m}function vs(m){return typeof m==\"object\"&&m!==null&&!Array.isArray(m)}function Ko(m){return m}function nu(m,y){var I=y.type===\"color\",U=m.stops&&typeof m.stops[0][0]==\"object\",J=U||m.property!==void 0,ne=U||!J,fe=m.type||(ia(y)?\"exponential\":\"interval\");if(I&&(m=Rl({},m),m.stops&&(m.stops=m.stops.map(function($n){return[$n[0],ss.parse($n[1])]})),m.default?m.default=ss.parse(m.default):m.default=ss.parse(y.default)),m.colorSpace&&m.colorSpace!==\"rgb\"&&!Ph[m.colorSpace])throw new Error(\"Unknown color space: \"+m.colorSpace);var Fe,Qe,st;if(fe===\"exponential\")Fe=bu;else if(fe===\"interval\")Fe=mf;else if(fe===\"categorical\"){Fe=ac,Qe=Object.create(null);for(var mt=0,Xt=m.stops;mt<Xt.length;mt+=1){var ur=Xt[mt];Qe[ur[0]]=ur[1]}st=typeof m.stops[0][0]}else if(fe===\"identity\")Fe=Kc;else throw new Error('Unknown function type \"'+fe+'\"');if(U){for(var nr={},Lr=[],Yr=0;Yr<m.stops.length;Yr++){var _i=m.stops[Yr],si=_i[0].zoom;nr[si]===void 0&&(nr[si]={zoom:si,type:m.type,property:m.property,default:m.default,stops:[]},Lr.push(si)),nr[si].stops.push([_i[0].value,_i[1]])}for(var Hi=[],Ei=0,Vi=Lr;Ei<Vi.length;Ei+=1){var en=Vi[Ei];Hi.push([nr[en].zoom,nu(nr[en],y)])}var An={name:\"linear\"};return{kind:\"composite\",interpolationType:An,interpolationFactor:Dl.interpolationFactor.bind(void 0,An),zoomStops:Hi.map(function($n){return $n[0]}),evaluate:function(Ba,_a){var Pa=Ba.zoom;return bu({stops:Hi,base:m.base},y,Pa).evaluate(Pa,_a)}}}else if(ne){var ra=fe===\"exponential\"?{name:\"exponential\",base:m.base!==void 0?m.base:1}:null;return{kind:\"camera\",interpolationType:ra,interpolationFactor:Dl.interpolationFactor.bind(void 0,ra),zoomStops:m.stops.map(function($n){return $n[0]}),evaluate:function($n){var Ba=$n.zoom;return Fe(m,y,Ba,Qe,st)}}}else return{kind:\"source\",evaluate:function(Ba,_a){var Pa=_a&&_a.properties?_a.properties[m.property]:void 0;return Pa===void 0?Ru(m.default,y.default):Fe(m,y,Pa,Qe,st)}}}function Ru(m,y,I){if(m!==void 0)return m;if(y!==void 0)return y;if(I!==void 0)return I}function ac(m,y,I,U,J){var ne=typeof I===J?U[I]:void 0;return Ru(ne,m.default,y.default)}function mf(m,y,I){if(Ka(I)!==\"number\")return Ru(m.default,y.default);var U=m.stops.length;if(U===1||I<=m.stops[0][0])return m.stops[0][1];if(I>=m.stops[U-1][0])return m.stops[U-1][1];var J=ic(m.stops.map(function(ne){return ne[0]}),I);return m.stops[J][1]}function bu(m,y,I){var U=m.base!==void 0?m.base:1;if(Ka(I)!==\"number\")return Ru(m.default,y.default);var J=m.stops.length;if(J===1||I<=m.stops[0][0])return m.stops[0][1];if(I>=m.stops[J-1][0])return m.stops[J-1][1];var ne=ic(m.stops.map(function(Xt){return Xt[0]}),I),fe=Du(I,U,m.stops[ne][0],m.stops[ne+1][0]),Fe=m.stops[ne][1],Qe=m.stops[ne+1][1],st=Gu[y.type]||Ko;if(m.colorSpace&&m.colorSpace!==\"rgb\"){var mt=Ph[m.colorSpace];st=function(Xt,ur){return mt.reverse(mt.interpolate(mt.forward(Xt),mt.forward(ur),fe))}}return typeof Fe.evaluate==\"function\"?{evaluate:function(){for(var ur=[],nr=arguments.length;nr--;)ur[nr]=arguments[nr];var Lr=Fe.evaluate.apply(void 0,ur),Yr=Qe.evaluate.apply(void 0,ur);if(!(Lr===void 0||Yr===void 0))return st(Lr,Yr,fe)}}:st(Fe,Qe,fe)}function Kc(m,y,I){return y.type===\"color\"?I=ss.parse(I):y.type===\"formatted\"?I=Vl.fromString(I.toString()):y.type===\"resolvedImage\"?I=Js.fromString(I.toString()):Ka(I)!==y.type&&(y.type!==\"enum\"||!y.values[I])&&(I=void 0),Ru(I,m.default,y.default)}function Du(m,y,I,U){var J=U-I,ne=m-I;return J===0?0:y===1?ne/J:(Math.pow(y,ne)-1)/(Math.pow(y,J)-1)}var Dc=function(y,I){this.expression=y,this._warningHistory={},this._evaluator=new $o,this._defaultValue=I?ee(I):null,this._enumValues=I&&I.type===\"enum\"?I.values:null};Dc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._evaluator.globals=y,this._evaluator.feature=I,this._evaluator.featureState=U,this._evaluator.canonical=J,this._evaluator.availableImages=ne||null,this._evaluator.formattedSection=fe,this.expression.evaluate(this._evaluator)},Dc.prototype.evaluate=function(y,I,U,J,ne,fe){this._evaluator.globals=y,this._evaluator.feature=I||null,this._evaluator.featureState=U||null,this._evaluator.canonical=J,this._evaluator.availableImages=ne||null,this._evaluator.formattedSection=fe||null;try{var Fe=this.expression.evaluate(this._evaluator);if(Fe==null||typeof Fe==\"number\"&&Fe!==Fe)return this._defaultValue;if(this._enumValues&&!(Fe in this._enumValues))throw new Ms(\"Expected value to be one of \"+Object.keys(this._enumValues).map(function(Qe){return JSON.stringify(Qe)}).join(\", \")+\", but found \"+JSON.stringify(Fe)+\" instead.\");return Fe}catch(Qe){return this._warningHistory[Qe.message]||(this._warningHistory[Qe.message]=!0,typeof console!=\"undefined\"&&console.warn(Qe.message)),this._defaultValue}};function Da(m){return Array.isArray(m)&&m.length>0&&typeof m[0]==\"string\"&&m[0]in Ua}function eo(m,y){var I=new fl(Ua,[],y?Q(y):void 0),U=I.parse(m,void 0,void 0,void 0,y&&y.type===\"string\"?{typeAnnotation:\"coerce\"}:void 0);return U?Bo(new Dc(U,y)):yl(I.errors)}var Jc=function(y,I){this.kind=y,this._styleExpression=I,this.isStateDependent=y!==\"constant\"&&!tu(I.expression)};Jc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._styleExpression.evaluateWithoutErrorHandling(y,I,U,J,ne,fe)},Jc.prototype.evaluate=function(y,I,U,J,ne,fe){return this._styleExpression.evaluate(y,I,U,J,ne,fe)};var yc=function(y,I,U,J){this.kind=y,this.zoomStops=U,this._styleExpression=I,this.isStateDependent=y!==\"camera\"&&!tu(I.expression),this.interpolationType=J};yc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._styleExpression.evaluateWithoutErrorHandling(y,I,U,J,ne,fe)},yc.prototype.evaluate=function(y,I,U,J,ne,fe){return this._styleExpression.evaluate(y,I,U,J,ne,fe)},yc.prototype.interpolationFactor=function(y,I,U){return this.interpolationType?Dl.interpolationFactor(this.interpolationType,y,I,U):0};function _c(m,y){if(m=eo(m,y),m.result===\"error\")return m;var I=m.value.expression,U=$h(I);if(!U&&!Gs(y))return yl([new Ks(\"\",\"data expressions not supported\")]);var J=Pu(I,[\"zoom\"]);if(!J&&!Rs(y))return yl([new Ks(\"\",\"zoom expressions not supported\")]);var ne=B(I);if(!ne&&!J)return yl([new Ks(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')]);if(ne instanceof Ks)return yl([ne]);if(ne instanceof Dl&&!ia(y))return yl([new Ks(\"\",'\"interpolate\" expressions cannot be used with this property')]);if(!ne)return Bo(U?new Jc(\"constant\",m.value):new Jc(\"source\",m.value));var fe=ne instanceof Dl?ne.interpolation:void 0;return Bo(U?new yc(\"camera\",m.value,ne.labels,fe):new yc(\"composite\",m.value,ne.labels,fe))}var le=function(y,I){this._parameters=y,this._specification=I,Rl(this,nu(this._parameters,this._specification))};le.deserialize=function(y){return new le(y._parameters,y._specification)},le.serialize=function(y){return{_parameters:y._parameters,_specification:y._specification}};function w(m,y){if(vs(m))return new le(m,y);if(Da(m)){var I=_c(m,y);if(I.result===\"error\")throw new Error(I.value.map(function(J){return J.key+\": \"+J.message}).join(\", \"));return I.value}else{var U=m;return typeof m==\"string\"&&y.type===\"color\"&&(U=ss.parse(m)),{kind:\"constant\",evaluate:function(){return U}}}}function B(m){var y=null;if(m instanceof Rc)y=B(m.result);else if(m instanceof Wu)for(var I=0,U=m.args;I<U.length;I+=1){var J=U[I];if(y=B(J),y)break}else(m instanceof yu||m instanceof Dl)&&m.input instanceof Ja&&m.input.name===\"zoom\"&&(y=m);return y instanceof Ks||m.eachChild(function(ne){var fe=B(ne);fe instanceof Ks?y=fe:!y&&fe?y=new Ks(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):y&&fe&&y!==fe&&(y=new Ks(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))}),y}function Q(m){var y={color:Tl,string:ko,number:Zn,enum:ko,boolean:Co,formatted:Al,resolvedImage:Hc};return m.type===\"array\"?eu(y[m.value]||So,m.length):y[m.type]}function ee(m){return m.type===\"color\"&&vs(m.default)?new ss(0,0,0,0):m.type===\"color\"?ss.parse(m.default)||null:m.default===void 0?null:m.default}function se(m){var y=m.key,I=m.value,U=m.valueSpec||{},J=m.objectElementValidators||{},ne=m.style,fe=m.styleSpec,Fe=[],Qe=Ka(I);if(Qe!==\"object\")return[new fa(y,I,\"object expected, \"+Qe+\" found\")];for(var st in I){var mt=st.split(\".\")[0],Xt=U[mt]||U[\"*\"],ur=void 0;if(J[mt])ur=J[mt];else if(U[mt])ur=Wa;else if(J[\"*\"])ur=J[\"*\"];else if(U[\"*\"])ur=Wa;else{Fe.push(new fa(y,I[st],'unknown property \"'+st+'\"'));continue}Fe=Fe.concat(ur({key:(y&&y+\".\")+st,value:I[st],valueSpec:Xt,style:ne,styleSpec:fe,object:I,objectKey:st},I))}for(var nr in U)J[nr]||U[nr].required&&U[nr].default===void 0&&I[nr]===void 0&&Fe.push(new fa(y,I,'missing required property \"'+nr+'\"'));return Fe}function qe(m){var y=m.value,I=m.valueSpec,U=m.style,J=m.styleSpec,ne=m.key,fe=m.arrayElementValidator||Wa;if(Ka(y)!==\"array\")return[new fa(ne,y,\"array expected, \"+Ka(y)+\" found\")];if(I.length&&y.length!==I.length)return[new fa(ne,y,\"array length \"+I.length+\" expected, length \"+y.length+\" found\")];if(I[\"min-length\"]&&y.length<I[\"min-length\"])return[new fa(ne,y,\"array length at least \"+I[\"min-length\"]+\" expected, length \"+y.length+\" found\")];var Fe={type:I.value,values:I.values};J.$version<7&&(Fe.function=I.function),Ka(I.value)===\"object\"&&(Fe=I.value);for(var Qe=[],st=0;st<y.length;st++)Qe=Qe.concat(fe({array:y,arrayIndex:st,value:y[st],valueSpec:Fe,style:U,styleSpec:J,key:ne+\"[\"+st+\"]\"}));return Qe}function je(m){var y=m.key,I=m.value,U=m.valueSpec,J=Ka(I);return J===\"number\"&&I!==I&&(J=\"NaN\"),J!==\"number\"?[new fa(y,I,\"number expected, \"+J+\" found\")]:\"minimum\"in U&&I<U.minimum?[new fa(y,I,I+\" is less than the minimum value \"+U.minimum)]:\"maximum\"in U&&I>U.maximum?[new fa(y,I,I+\" is greater than the maximum value \"+U.maximum)]:[]}function it(m){var y=m.valueSpec,I=vo(m.value.type),U,J={},ne,fe,Fe=I!==\"categorical\"&&m.value.property===void 0,Qe=!Fe,st=Ka(m.value.stops)===\"array\"&&Ka(m.value.stops[0])===\"array\"&&Ka(m.value.stops[0][0])===\"object\",mt=se({key:m.key,value:m.value,valueSpec:m.styleSpec.function,style:m.style,styleSpec:m.styleSpec,objectElementValidators:{stops:Xt,default:Lr}});return I===\"identity\"&&Fe&&mt.push(new fa(m.key,m.value,'missing required property \"property\"')),I!==\"identity\"&&!m.value.stops&&mt.push(new fa(m.key,m.value,'missing required property \"stops\"')),I===\"exponential\"&&m.valueSpec.expression&&!ia(m.valueSpec)&&mt.push(new fa(m.key,m.value,\"exponential functions not supported\")),m.styleSpec.$version>=8&&(Qe&&!Gs(m.valueSpec)?mt.push(new fa(m.key,m.value,\"property functions not supported\")):Fe&&!Rs(m.valueSpec)&&mt.push(new fa(m.key,m.value,\"zoom functions not supported\"))),(I===\"categorical\"||st)&&m.value.property===void 0&&mt.push(new fa(m.key,m.value,'\"property\" property is required')),mt;function Xt(Yr){if(I===\"identity\")return[new fa(Yr.key,Yr.value,'identity function may not have a \"stops\" property')];var _i=[],si=Yr.value;return _i=_i.concat(qe({key:Yr.key,value:si,valueSpec:Yr.valueSpec,style:Yr.style,styleSpec:Yr.styleSpec,arrayElementValidator:ur})),Ka(si)===\"array\"&&si.length===0&&_i.push(new fa(Yr.key,si,\"array must have at least one stop\")),_i}function ur(Yr){var _i=[],si=Yr.value,Hi=Yr.key;if(Ka(si)!==\"array\")return[new fa(Hi,si,\"array expected, \"+Ka(si)+\" found\")];if(si.length!==2)return[new fa(Hi,si,\"array length 2 expected, length \"+si.length+\" found\")];if(st){if(Ka(si[0])!==\"object\")return[new fa(Hi,si,\"object expected, \"+Ka(si[0])+\" found\")];if(si[0].zoom===void 0)return[new fa(Hi,si,\"object stop key must have zoom\")];if(si[0].value===void 0)return[new fa(Hi,si,\"object stop key must have value\")];if(fe&&fe>vo(si[0].zoom))return[new fa(Hi,si[0].zoom,\"stop zoom values must appear in ascending order\")];vo(si[0].zoom)!==fe&&(fe=vo(si[0].zoom),ne=void 0,J={}),_i=_i.concat(se({key:Hi+\"[0]\",value:si[0],valueSpec:{zoom:{}},style:Yr.style,styleSpec:Yr.styleSpec,objectElementValidators:{zoom:je,value:nr}}))}else _i=_i.concat(nr({key:Hi+\"[0]\",value:si[0],valueSpec:{},style:Yr.style,styleSpec:Yr.styleSpec},si));return Da(Zl(si[1]))?_i.concat([new fa(Hi+\"[1]\",si[1],\"expressions are not allowed in function stops.\")]):_i.concat(Wa({key:Hi+\"[1]\",value:si[1],valueSpec:y,style:Yr.style,styleSpec:Yr.styleSpec}))}function nr(Yr,_i){var si=Ka(Yr.value),Hi=vo(Yr.value),Ei=Yr.value!==null?Yr.value:_i;if(!U)U=si;else if(si!==U)return[new fa(Yr.key,Ei,si+\" stop domain type must match previous stop domain type \"+U)];if(si!==\"number\"&&si!==\"string\"&&si!==\"boolean\")return[new fa(Yr.key,Ei,\"stop domain value must be a number, string, or boolean\")];if(si!==\"number\"&&I!==\"categorical\"){var Vi=\"number expected, \"+si+\" found\";return Gs(y)&&I===void 0&&(Vi+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new fa(Yr.key,Ei,Vi)]}return I===\"categorical\"&&si===\"number\"&&(!isFinite(Hi)||Math.floor(Hi)!==Hi)?[new fa(Yr.key,Ei,\"integer expected, found \"+Hi)]:I!==\"categorical\"&&si===\"number\"&&ne!==void 0&&Hi<ne?[new fa(Yr.key,Ei,\"stop domain values must appear in ascending order\")]:(ne=Hi,I===\"categorical\"&&Hi in J?[new fa(Yr.key,Ei,\"stop domain values must be unique\")]:(J[Hi]=!0,[]))}function Lr(Yr){return Wa({key:Yr.key,value:Yr.value,valueSpec:y,style:Yr.style,styleSpec:Yr.styleSpec})}}function yt(m){var y=(m.expressionContext===\"property\"?_c:eo)(Zl(m.value),m.valueSpec);if(y.result===\"error\")return y.value.map(function(U){return new fa(\"\"+m.key+U.key,m.value,U.message)});var I=y.value.expression||y.value._styleExpression.expression;if(m.expressionContext===\"property\"&&m.propertyKey===\"text-font\"&&!I.outputDefined())return[new fa(m.key,m.value,'Invalid data expression for \"'+m.propertyKey+'\". Output values must be contained as literals within the expression.')];if(m.expressionContext===\"property\"&&m.propertyType===\"layout\"&&!tu(I))return[new fa(m.key,m.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(m.expressionContext===\"filter\"&&!tu(I))return[new fa(m.key,m.value,'\"feature-state\" data expressions are not supported with filters.')];if(m.expressionContext&&m.expressionContext.indexOf(\"cluster\")===0){if(!Pu(I,[\"zoom\",\"feature-state\"]))return[new fa(m.key,m.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(m.expressionContext===\"cluster-initial\"&&!$h(I))return[new fa(m.key,m.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function Ot(m){var y=m.value,I=m.key,U=Ka(y);return U!==\"boolean\"?[new fa(I,y,\"boolean expected, \"+U+\" found\")]:[]}function Nt(m){var y=m.key,I=m.value,U=Ka(I);return U!==\"string\"?[new fa(y,I,\"color expected, \"+U+\" found\")]:Bf(I)===null?[new fa(y,I,'color expected, \"'+I+'\" found')]:[]}function hr(m){var y=m.key,I=m.value,U=m.valueSpec,J=[];return Array.isArray(U.values)?U.values.indexOf(vo(I))===-1&&J.push(new fa(y,I,\"expected one of [\"+U.values.join(\", \")+\"], \"+JSON.stringify(I)+\" found\")):Object.keys(U.values).indexOf(vo(I))===-1&&J.push(new fa(y,I,\"expected one of [\"+Object.keys(U.values).join(\", \")+\"], \"+JSON.stringify(I)+\" found\")),J}function Sr(m){if(m===!0||m===!1)return!0;if(!Array.isArray(m)||m.length===0)return!1;switch(m[0]){case\"has\":return m.length>=2&&m[1]!==\"$id\"&&m[1]!==\"$type\";case\"in\":return m.length>=3&&(typeof m[1]!=\"string\"||Array.isArray(m[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return m.length!==3||Array.isArray(m[1])||Array.isArray(m[2]);case\"any\":case\"all\":for(var y=0,I=m.slice(1);y<I.length;y+=1){var U=I[y];if(!Sr(U)&&typeof U!=\"boolean\")return!1}return!0;default:return!0}}var he={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function be(m){if(m==null)return{filter:function(){return!0},needGeometry:!1};Sr(m)||(m=Je(m));var y=eo(m,he);if(y.result===\"error\")throw new Error(y.value.map(function(U){return U.key+\": \"+U.message}).join(\", \"));var I=Oe(m);return{filter:function(U,J,ne){return y.value.evaluate(U,J,{},ne)},needGeometry:I}}function Pe(m,y){return m<y?-1:m>y?1:0}function Oe(m){if(!Array.isArray(m))return!1;if(m[0]===\"within\")return!0;for(var y=1;y<m.length;y++)if(Oe(m[y]))return!0;return!1}function Je(m){if(!m)return!0;var y=m[0];if(m.length<=1)return y!==\"any\";var I=y===\"==\"?He(m[1],m[2],\"==\"):y===\"!=\"?Ut(He(m[1],m[2],\"==\")):y===\"<\"||y===\">\"||y===\"<=\"||y===\">=\"?He(m[1],m[2],y):y===\"any\"?et(m.slice(1)):y===\"all\"?[\"all\"].concat(m.slice(1).map(Je)):y===\"none\"?[\"all\"].concat(m.slice(1).map(Je).map(Ut)):y===\"in\"?Mt(m[1],m.slice(2)):y===\"!in\"?Ut(Mt(m[1],m.slice(2))):y===\"has\"?Dt(m[1]):y===\"!has\"?Ut(Dt(m[1])):y===\"within\"?m:!0;return I}function He(m,y,I){switch(m){case\"$type\":return[\"filter-type-\"+I,y];case\"$id\":return[\"filter-id-\"+I,y];default:return[\"filter-\"+I,m,y]}}function et(m){return[\"any\"].concat(m.map(Je))}function Mt(m,y){if(y.length===0)return!1;switch(m){case\"$type\":return[\"filter-type-in\",[\"literal\",y]];case\"$id\":return[\"filter-id-in\",[\"literal\",y]];default:return y.length>200&&!y.some(function(I){return typeof I!=typeof y[0]})?[\"filter-in-large\",m,[\"literal\",y.sort(Pe)]]:[\"filter-in-small\",m,[\"literal\",y]]}}function Dt(m){switch(m){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",m]}}function Ut(m){return[\"!\",m]}function tr(m){return Sr(Zl(m.value))?yt(Rl({},m,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):mr(m)}function mr(m){var y=m.value,I=m.key;if(Ka(y)!==\"array\")return[new fa(I,y,\"array expected, \"+Ka(y)+\" found\")];var U=m.styleSpec,J,ne=[];if(y.length<1)return[new fa(I,y,\"filter array must have at least 1 element\")];switch(ne=ne.concat(hr({key:I+\"[0]\",value:y[0],valueSpec:U.filter_operator,style:m.style,styleSpec:m.styleSpec})),vo(y[0])){case\"<\":case\"<=\":case\">\":case\">=\":y.length>=2&&vo(y[1])===\"$type\"&&ne.push(new fa(I,y,'\"$type\" cannot be use with operator \"'+y[0]+'\"'));case\"==\":case\"!=\":y.length!==3&&ne.push(new fa(I,y,'filter array for operator \"'+y[0]+'\" must have 3 elements'));case\"in\":case\"!in\":y.length>=2&&(J=Ka(y[1]),J!==\"string\"&&ne.push(new fa(I+\"[1]\",y[1],\"string expected, \"+J+\" found\")));for(var fe=2;fe<y.length;fe++)J=Ka(y[fe]),vo(y[1])===\"$type\"?ne=ne.concat(hr({key:I+\"[\"+fe+\"]\",value:y[fe],valueSpec:U.geometry_type,style:m.style,styleSpec:m.styleSpec})):J!==\"string\"&&J!==\"number\"&&J!==\"boolean\"&&ne.push(new fa(I+\"[\"+fe+\"]\",y[fe],\"string, number, or boolean expected, \"+J+\" found\"));break;case\"any\":case\"all\":case\"none\":for(var Fe=1;Fe<y.length;Fe++)ne=ne.concat(mr({key:I+\"[\"+Fe+\"]\",value:y[Fe],style:m.style,styleSpec:m.styleSpec}));break;case\"has\":case\"!has\":J=Ka(y[1]),y.length!==2?ne.push(new fa(I,y,'filter array for \"'+y[0]+'\" operator must have 2 elements')):J!==\"string\"&&ne.push(new fa(I+\"[1]\",y[1],\"string expected, \"+J+\" found\"));break;case\"within\":J=Ka(y[1]),y.length!==2?ne.push(new fa(I,y,'filter array for \"'+y[0]+'\" operator must have 2 elements')):J!==\"object\"&&ne.push(new fa(I+\"[1]\",y[1],\"object expected, \"+J+\" found\"));break}return ne}function Rr(m,y){var I=m.key,U=m.style,J=m.styleSpec,ne=m.value,fe=m.objectKey,Fe=J[y+\"_\"+m.layerType];if(!Fe)return[];var Qe=fe.match(/^(.*)-transition$/);if(y===\"paint\"&&Qe&&Fe[Qe[1]]&&Fe[Qe[1]].transition)return Wa({key:I,value:ne,valueSpec:J.transition,style:U,styleSpec:J});var st=m.valueSpec||Fe[fe];if(!st)return[new fa(I,ne,'unknown property \"'+fe+'\"')];var mt;if(Ka(ne)===\"string\"&&Gs(st)&&!st.tokens&&(mt=/^{([^}]+)}$/.exec(ne)))return[new fa(I,ne,'\"'+fe+'\" does not support interpolation syntax\\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": '+JSON.stringify(mt[1])+\" }`.\")];var Xt=[];return m.layerType===\"symbol\"&&(fe===\"text-field\"&&U&&!U.glyphs&&Xt.push(new fa(I,ne,'use of \"text-field\" requires a style \"glyphs\" property')),fe===\"text-font\"&&vs(Zl(ne))&&vo(ne.type)===\"identity\"&&Xt.push(new fa(I,ne,'\"text-font\" does not support identity functions'))),Xt.concat(Wa({key:m.key,value:ne,valueSpec:st,style:U,styleSpec:J,expressionContext:\"property\",propertyType:y,propertyKey:fe}))}function zr(m){return Rr(m,\"paint\")}function Xr(m){return Rr(m,\"layout\")}function di(m){var y=[],I=m.value,U=m.key,J=m.style,ne=m.styleSpec;!I.type&&!I.ref&&y.push(new fa(U,I,'either \"type\" or \"ref\" is required'));var fe=vo(I.type),Fe=vo(I.ref);if(I.id)for(var Qe=vo(I.id),st=0;st<m.arrayIndex;st++){var mt=J.layers[st];vo(mt.id)===Qe&&y.push(new fa(U,I.id,'duplicate layer id \"'+I.id+'\", previously used at line '+mt.id.__line__))}if(\"ref\"in I){[\"type\",\"source\",\"source-layer\",\"filter\",\"layout\"].forEach(function(Lr){Lr in I&&y.push(new fa(U,I[Lr],'\"'+Lr+'\" is prohibited for ref layers'))});var Xt;J.layers.forEach(function(Lr){vo(Lr.id)===Fe&&(Xt=Lr)}),Xt?Xt.ref?y.push(new fa(U,I.ref,\"ref cannot reference another ref layer\")):fe=vo(Xt.type):y.push(new fa(U,I.ref,'ref layer \"'+Fe+'\" not found'))}else if(fe!==\"background\")if(!I.source)y.push(new fa(U,I,'missing required property \"source\"'));else{var ur=J.sources&&J.sources[I.source],nr=ur&&vo(ur.type);ur?nr===\"vector\"&&fe===\"raster\"?y.push(new fa(U,I.source,'layer \"'+I.id+'\" requires a raster source')):nr===\"raster\"&&fe!==\"raster\"?y.push(new fa(U,I.source,'layer \"'+I.id+'\" requires a vector source')):nr===\"vector\"&&!I[\"source-layer\"]?y.push(new fa(U,I,'layer \"'+I.id+'\" must specify a \"source-layer\"')):nr===\"raster-dem\"&&fe!==\"hillshade\"?y.push(new fa(U,I.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):fe===\"line\"&&I.paint&&I.paint[\"line-gradient\"]&&(nr!==\"geojson\"||!ur.lineMetrics)&&y.push(new fa(U,I,'layer \"'+I.id+'\" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.')):y.push(new fa(U,I.source,'source \"'+I.source+'\" not found'))}return y=y.concat(se({key:U,value:I,valueSpec:ne.layer,style:m.style,styleSpec:m.styleSpec,objectElementValidators:{\"*\":function(){return[]},type:function(){return Wa({key:U+\".type\",value:I.type,valueSpec:ne.layer.type,style:m.style,styleSpec:m.styleSpec,object:I,objectKey:\"type\"})},filter:tr,layout:function(Yr){return se({layer:I,key:Yr.key,value:Yr.value,style:Yr.style,styleSpec:Yr.styleSpec,objectElementValidators:{\"*\":function(si){return Xr(Rl({layerType:fe},si))}}})},paint:function(Yr){return se({layer:I,key:Yr.key,value:Yr.value,style:Yr.style,styleSpec:Yr.styleSpec,objectElementValidators:{\"*\":function(si){return zr(Rl({layerType:fe},si))}}})}}})),y}function Li(m){var y=m.value,I=m.key,U=Ka(y);return U!==\"string\"?[new fa(I,y,\"string expected, \"+U+\" found\")]:[]}var Ci={promoteId:Mn};function Qi(m){var y=m.value,I=m.key,U=m.styleSpec,J=m.style;if(!y.type)return[new fa(I,y,'\"type\" is required')];var ne=vo(y.type),fe;switch(ne){case\"vector\":case\"raster\":case\"raster-dem\":return fe=se({key:I,value:y,valueSpec:U[\"source_\"+ne.replace(\"-\",\"_\")],style:m.style,styleSpec:U,objectElementValidators:Ci}),fe;case\"geojson\":if(fe=se({key:I,value:y,valueSpec:U.source_geojson,style:J,styleSpec:U,objectElementValidators:Ci}),y.cluster)for(var Fe in y.clusterProperties){var Qe=y.clusterProperties[Fe],st=Qe[0],mt=Qe[1],Xt=typeof st==\"string\"?[st,[\"accumulated\"],[\"get\",Fe]]:st;fe.push.apply(fe,yt({key:I+\".\"+Fe+\".map\",value:mt,expressionContext:\"cluster-map\"})),fe.push.apply(fe,yt({key:I+\".\"+Fe+\".reduce\",value:Xt,expressionContext:\"cluster-reduce\"}))}return fe;case\"video\":return se({key:I,value:y,valueSpec:U.source_video,style:J,styleSpec:U});case\"image\":return se({key:I,value:y,valueSpec:U.source_image,style:J,styleSpec:U});case\"canvas\":return[new fa(I,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return hr({key:I+\".type\",value:y.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:J,styleSpec:U})}}function Mn(m){var y=m.key,I=m.value;if(Ka(I)===\"string\")return Li({key:y,value:I});var U=[];for(var J in I)U.push.apply(U,Li({key:y+\".\"+J,value:I[J]}));return U}function pa(m){var y=m.value,I=m.styleSpec,U=I.light,J=m.style,ne=[],fe=Ka(y);if(y===void 0)return ne;if(fe!==\"object\")return ne=ne.concat([new fa(\"light\",y,\"object expected, \"+fe+\" found\")]),ne;for(var Fe in y){var Qe=Fe.match(/^(.*)-transition$/);Qe&&U[Qe[1]]&&U[Qe[1]].transition?ne=ne.concat(Wa({key:Fe,value:y[Fe],valueSpec:I.transition,style:J,styleSpec:I})):U[Fe]?ne=ne.concat(Wa({key:Fe,value:y[Fe],valueSpec:U[Fe],style:J,styleSpec:I})):ne=ne.concat([new fa(Fe,y[Fe],'unknown property \"'+Fe+'\"')])}return ne}function ea(m){return Li(m).length===0?[]:yt(m)}function Ga(m){return Li(m).length===0?[]:yt(m)}var To={\"*\":function(){return[]},array:qe,boolean:Ot,number:je,color:Nt,constants:Qu,enum:hr,filter:tr,function:it,layer:di,object:se,source:Qi,light:pa,string:Li,formatted:ea,resolvedImage:Ga};function Wa(m){var y=m.value,I=m.valueSpec,U=m.styleSpec;if(I.expression&&vs(vo(y)))return it(m);if(I.expression&&Da(Zl(y)))return yt(m);if(I.type&&To[I.type])return To[I.type](m);var J=se(Rl({},m,{valueSpec:I.type?U[I.type]:I}));return J}function co(m){var y=m.value,I=m.key,U=Li(m);return U.length||(y.indexOf(\"{fontstack}\")===-1&&U.push(new fa(I,y,'\"glyphs\" url must include a \"{fontstack}\" token')),y.indexOf(\"{range}\")===-1&&U.push(new fa(I,y,'\"glyphs\" url must include a \"{range}\" token'))),U}function Ro(m,y){y===void 0&&(y=on);var I=[];return I=I.concat(Wa({key:\"\",value:m,valueSpec:y.$root,styleSpec:y,style:m,objectElementValidators:{glyphs:co,\"*\":function(){return[]}}})),m.constants&&(I=I.concat(Qu({key:\"constants\",value:m.constants,style:m,styleSpec:y}))),Ds(I)}Ro.source=As(Qi),Ro.light=As(pa),Ro.layer=As(di),Ro.filter=As(tr),Ro.paintProperty=As(zr),Ro.layoutProperty=As(Xr);function Ds(m){return[].concat(m).sort(function(y,I){return y.line-I.line})}function As(m){return function(){for(var y=[],I=arguments.length;I--;)y[I]=arguments[I];return Ds(m.apply(this,y))}}var yo=Ro,po=yo.light,_l=yo.paintProperty,Hl=yo.layoutProperty;function Zu(m,y){var I=!1;if(y&&y.length)for(var U=0,J=y;U<J.length;U+=1){var ne=J[U];m.fire(new oa(new Error(ne.message))),I=!0}return I}var cu=au,el=3;function au(m,y,I){var U=this.cells=[];if(m instanceof ArrayBuffer){this.arrayBuffer=m;var J=new Int32Array(this.arrayBuffer);m=J[0],y=J[1],I=J[2],this.d=y+2*I;for(var ne=0;ne<this.d*this.d;ne++){var fe=J[el+ne],Fe=J[el+ne+1];U.push(fe===Fe?null:J.subarray(fe,Fe))}var Qe=J[el+U.length],st=J[el+U.length+1];this.keys=J.subarray(Qe,st),this.bboxes=J.subarray(st),this.insert=this._insertReadonly}else{this.d=y+2*I;for(var mt=0;mt<this.d*this.d;mt++)U.push([]);this.keys=[],this.bboxes=[]}this.n=y,this.extent=m,this.padding=I,this.scale=y/m,this.uid=0;var Xt=I/y*m;this.min=-Xt,this.max=m+Xt}au.prototype.insert=function(m,y,I,U,J){this._forEachCell(y,I,U,J,this._insertCell,this.uid++),this.keys.push(m),this.bboxes.push(y),this.bboxes.push(I),this.bboxes.push(U),this.bboxes.push(J)},au.prototype._insertReadonly=function(){throw\"Cannot insert into a GridIndex created from an ArrayBuffer.\"},au.prototype._insertCell=function(m,y,I,U,J,ne){this.cells[J].push(ne)},au.prototype.query=function(m,y,I,U,J){var ne=this.min,fe=this.max;if(m<=ne&&y<=ne&&fe<=I&&fe<=U&&!J)return Array.prototype.slice.call(this.keys);var Fe=[],Qe={};return this._forEachCell(m,y,I,U,this._queryCell,Fe,Qe,J),Fe},au.prototype._queryCell=function(m,y,I,U,J,ne,fe,Fe){var Qe=this.cells[J];if(Qe!==null)for(var st=this.keys,mt=this.bboxes,Xt=0;Xt<Qe.length;Xt++){var ur=Qe[Xt];if(fe[ur]===void 0){var nr=ur*4;(Fe?Fe(mt[nr+0],mt[nr+1],mt[nr+2],mt[nr+3]):m<=mt[nr+2]&&y<=mt[nr+3]&&I>=mt[nr+0]&&U>=mt[nr+1])?(fe[ur]=!0,ne.push(st[ur])):fe[ur]=!1}}},au.prototype._forEachCell=function(m,y,I,U,J,ne,fe,Fe){for(var Qe=this._convertToCellCoord(m),st=this._convertToCellCoord(y),mt=this._convertToCellCoord(I),Xt=this._convertToCellCoord(U),ur=Qe;ur<=mt;ur++)for(var nr=st;nr<=Xt;nr++){var Lr=this.d*nr+ur;if(!(Fe&&!Fe(this._convertFromCellCoord(ur),this._convertFromCellCoord(nr),this._convertFromCellCoord(ur+1),this._convertFromCellCoord(nr+1)))&&J.call(this,m,y,I,U,Lr,ne,fe,Fe))return}},au.prototype._convertFromCellCoord=function(m){return(m-this.padding)/this.scale},au.prototype._convertToCellCoord=function(m){return Math.max(0,Math.min(this.d-1,Math.floor(m*this.scale)+this.padding))},au.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var m=this.cells,y=el+this.cells.length+1+1,I=0,U=0;U<this.cells.length;U++)I+=this.cells[U].length;var J=new Int32Array(y+I+this.keys.length+this.bboxes.length);J[0]=this.extent,J[1]=this.n,J[2]=this.padding;for(var ne=y,fe=0;fe<m.length;fe++){var Fe=m[fe];J[el+fe]=ne,J.set(Fe,ne),ne+=Fe.length}return J[el+m.length]=ne,J.set(this.keys,ne),ne+=this.keys.length,J[el+m.length+1]=ne,J.set(this.bboxes,ne),ne+=this.bboxes.length,J.buffer};var zc=f.ImageData,zl=f.ImageBitmap,Fl={};function Z(m,y,I){I===void 0&&(I={}),Object.defineProperty(y,\"_classRegistryKey\",{value:m,writeable:!1}),Fl[m]={klass:y,omit:I.omit||[],shallow:I.shallow||[]}}Z(\"Object\",Object),cu.serialize=function(y,I){var U=y.toArrayBuffer();return I&&I.push(U),{buffer:U}},cu.deserialize=function(y){return new cu(y.buffer)},Z(\"Grid\",cu),Z(\"Color\",ss),Z(\"Error\",Error),Z(\"ResolvedImage\",Js),Z(\"StylePropertyFunction\",le),Z(\"StyleExpression\",Dc,{omit:[\"_evaluator\"]}),Z(\"ZoomDependentExpression\",yc),Z(\"ZoomConstantExpression\",Jc),Z(\"CompoundExpression\",Ja,{omit:[\"_evaluate\"]});for(var oe in Ua)Ua[oe]._classRegistryKey||Z(\"Expression_\"+oe,Ua[oe]);function we(m){return m&&typeof ArrayBuffer!=\"undefined\"&&(m instanceof ArrayBuffer||m.constructor&&m.constructor.name===\"ArrayBuffer\")}function Be(m){return zl&&m instanceof zl}function Ue(m,y){if(m==null||typeof m==\"boolean\"||typeof m==\"number\"||typeof m==\"string\"||m instanceof Boolean||m instanceof Number||m instanceof String||m instanceof Date||m instanceof RegExp)return m;if(we(m)||Be(m))return y&&y.push(m),m;if(ArrayBuffer.isView(m)){var I=m;return y&&y.push(I.buffer),I}if(m instanceof zc)return y&&y.push(m.data.buffer),m;if(Array.isArray(m)){for(var U=[],J=0,ne=m;J<ne.length;J+=1){var fe=ne[J];U.push(Ue(fe,y))}return U}if(typeof m==\"object\"){var Fe=m.constructor,Qe=Fe._classRegistryKey;if(!Qe)throw new Error(\"can't serialize object of unregistered class\");var st=Fe.serialize?Fe.serialize(m,y):{};if(!Fe.serialize){for(var mt in m)if(m.hasOwnProperty(mt)&&!(Fl[Qe].omit.indexOf(mt)>=0)){var Xt=m[mt];st[mt]=Fl[Qe].shallow.indexOf(mt)>=0?Xt:Ue(Xt,y)}m instanceof Error&&(st.message=m.message)}if(st.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return Qe!==\"Object\"&&(st.$name=Qe),st}throw new Error(\"can't serialize object of type \"+typeof m)}function We(m){if(m==null||typeof m==\"boolean\"||typeof m==\"number\"||typeof m==\"string\"||m instanceof Boolean||m instanceof Number||m instanceof String||m instanceof Date||m instanceof RegExp||we(m)||Be(m)||ArrayBuffer.isView(m)||m instanceof zc)return m;if(Array.isArray(m))return m.map(We);if(typeof m==\"object\"){var y=m.$name||\"Object\",I=Fl[y],U=I.klass;if(!U)throw new Error(\"can't deserialize unregistered class \"+y);if(U.deserialize)return U.deserialize(m);for(var J=Object.create(U.prototype),ne=0,fe=Object.keys(m);ne<fe.length;ne+=1){var Fe=fe[ne];if(Fe!==\"$name\"){var Qe=m[Fe];J[Fe]=Fl[y].shallow.indexOf(Fe)>=0?Qe:We(Qe)}}return J}throw new Error(\"can't deserialize object of type \"+typeof m)}var wt=function(){this.first=!0};wt.prototype.update=function(y,I){var U=Math.floor(y);return this.first?(this.first=!1,this.lastIntegerZoom=U,this.lastIntegerZoomTime=0,this.lastZoom=y,this.lastFloorZoom=U,!0):(this.lastFloorZoom>U?(this.lastIntegerZoom=U+1,this.lastIntegerZoomTime=I):this.lastFloorZoom<U&&(this.lastIntegerZoom=U,this.lastIntegerZoomTime=I),y!==this.lastZoom?(this.lastZoom=y,this.lastFloorZoom=U,!0):!1)};var tt={\"Latin-1 Supplement\":function(m){return m>=128&&m<=255},Arabic:function(m){return m>=1536&&m<=1791},\"Arabic Supplement\":function(m){return m>=1872&&m<=1919},\"Arabic Extended-A\":function(m){return m>=2208&&m<=2303},\"Hangul Jamo\":function(m){return m>=4352&&m<=4607},\"Unified Canadian Aboriginal Syllabics\":function(m){return m>=5120&&m<=5759},Khmer:function(m){return m>=6016&&m<=6143},\"Unified Canadian Aboriginal Syllabics Extended\":function(m){return m>=6320&&m<=6399},\"General Punctuation\":function(m){return m>=8192&&m<=8303},\"Letterlike Symbols\":function(m){return m>=8448&&m<=8527},\"Number Forms\":function(m){return m>=8528&&m<=8591},\"Miscellaneous Technical\":function(m){return m>=8960&&m<=9215},\"Control Pictures\":function(m){return m>=9216&&m<=9279},\"Optical Character Recognition\":function(m){return m>=9280&&m<=9311},\"Enclosed Alphanumerics\":function(m){return m>=9312&&m<=9471},\"Geometric Shapes\":function(m){return m>=9632&&m<=9727},\"Miscellaneous Symbols\":function(m){return m>=9728&&m<=9983},\"Miscellaneous Symbols and Arrows\":function(m){return m>=11008&&m<=11263},\"CJK Radicals Supplement\":function(m){return m>=11904&&m<=12031},\"Kangxi Radicals\":function(m){return m>=12032&&m<=12255},\"Ideographic Description Characters\":function(m){return m>=12272&&m<=12287},\"CJK Symbols and Punctuation\":function(m){return m>=12288&&m<=12351},Hiragana:function(m){return m>=12352&&m<=12447},Katakana:function(m){return m>=12448&&m<=12543},Bopomofo:function(m){return m>=12544&&m<=12591},\"Hangul Compatibility Jamo\":function(m){return m>=12592&&m<=12687},Kanbun:function(m){return m>=12688&&m<=12703},\"Bopomofo Extended\":function(m){return m>=12704&&m<=12735},\"CJK Strokes\":function(m){return m>=12736&&m<=12783},\"Katakana Phonetic Extensions\":function(m){return m>=12784&&m<=12799},\"Enclosed CJK Letters and Months\":function(m){return m>=12800&&m<=13055},\"CJK Compatibility\":function(m){return m>=13056&&m<=13311},\"CJK Unified Ideographs Extension A\":function(m){return m>=13312&&m<=19903},\"Yijing Hexagram Symbols\":function(m){return m>=19904&&m<=19967},\"CJK Unified Ideographs\":function(m){return m>=19968&&m<=40959},\"Yi Syllables\":function(m){return m>=40960&&m<=42127},\"Yi Radicals\":function(m){return m>=42128&&m<=42191},\"Hangul Jamo Extended-A\":function(m){return m>=43360&&m<=43391},\"Hangul Syllables\":function(m){return m>=44032&&m<=55215},\"Hangul Jamo Extended-B\":function(m){return m>=55216&&m<=55295},\"Private Use Area\":function(m){return m>=57344&&m<=63743},\"CJK Compatibility Ideographs\":function(m){return m>=63744&&m<=64255},\"Arabic Presentation Forms-A\":function(m){return m>=64336&&m<=65023},\"Vertical Forms\":function(m){return m>=65040&&m<=65055},\"CJK Compatibility Forms\":function(m){return m>=65072&&m<=65103},\"Small Form Variants\":function(m){return m>=65104&&m<=65135},\"Arabic Presentation Forms-B\":function(m){return m>=65136&&m<=65279},\"Halfwidth and Fullwidth Forms\":function(m){return m>=65280&&m<=65519}};function zt(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(Ir(U.charCodeAt(0)))return!0}return!1}function or(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(!lr(U.charCodeAt(0)))return!1}return!0}function lr(m){return!(tt.Arabic(m)||tt[\"Arabic Supplement\"](m)||tt[\"Arabic Extended-A\"](m)||tt[\"Arabic Presentation Forms-A\"](m)||tt[\"Arabic Presentation Forms-B\"](m))}function Dr(m){return m<11904?!1:!!(tt[\"Bopomofo Extended\"](m)||tt.Bopomofo(m)||tt[\"CJK Compatibility Forms\"](m)||tt[\"CJK Compatibility Ideographs\"](m)||tt[\"CJK Compatibility\"](m)||tt[\"CJK Radicals Supplement\"](m)||tt[\"CJK Strokes\"](m)||tt[\"CJK Symbols and Punctuation\"](m)||tt[\"CJK Unified Ideographs Extension A\"](m)||tt[\"CJK Unified Ideographs\"](m)||tt[\"Enclosed CJK Letters and Months\"](m)||tt[\"Halfwidth and Fullwidth Forms\"](m)||tt.Hiragana(m)||tt[\"Ideographic Description Characters\"](m)||tt[\"Kangxi Radicals\"](m)||tt[\"Katakana Phonetic Extensions\"](m)||tt.Katakana(m)||tt[\"Vertical Forms\"](m)||tt[\"Yi Radicals\"](m)||tt[\"Yi Syllables\"](m))}function Ir(m){return m===746||m===747?!0:m<4352?!1:!!(tt[\"Bopomofo Extended\"](m)||tt.Bopomofo(m)||tt[\"CJK Compatibility Forms\"](m)&&!(m>=65097&&m<=65103)||tt[\"CJK Compatibility Ideographs\"](m)||tt[\"CJK Compatibility\"](m)||tt[\"CJK Radicals Supplement\"](m)||tt[\"CJK Strokes\"](m)||tt[\"CJK Symbols and Punctuation\"](m)&&!(m>=12296&&m<=12305)&&!(m>=12308&&m<=12319)&&m!==12336||tt[\"CJK Unified Ideographs Extension A\"](m)||tt[\"CJK Unified Ideographs\"](m)||tt[\"Enclosed CJK Letters and Months\"](m)||tt[\"Hangul Compatibility Jamo\"](m)||tt[\"Hangul Jamo Extended-A\"](m)||tt[\"Hangul Jamo Extended-B\"](m)||tt[\"Hangul Jamo\"](m)||tt[\"Hangul Syllables\"](m)||tt.Hiragana(m)||tt[\"Ideographic Description Characters\"](m)||tt.Kanbun(m)||tt[\"Kangxi Radicals\"](m)||tt[\"Katakana Phonetic Extensions\"](m)||tt.Katakana(m)&&m!==12540||tt[\"Halfwidth and Fullwidth Forms\"](m)&&m!==65288&&m!==65289&&m!==65293&&!(m>=65306&&m<=65310)&&m!==65339&&m!==65341&&m!==65343&&!(m>=65371&&m<=65503)&&m!==65507&&!(m>=65512&&m<=65519)||tt[\"Small Form Variants\"](m)&&!(m>=65112&&m<=65118)&&!(m>=65123&&m<=65126)||tt[\"Unified Canadian Aboriginal Syllabics\"](m)||tt[\"Unified Canadian Aboriginal Syllabics Extended\"](m)||tt[\"Vertical Forms\"](m)||tt[\"Yijing Hexagram Symbols\"](m)||tt[\"Yi Syllables\"](m)||tt[\"Yi Radicals\"](m))}function oi(m){return!!(tt[\"Latin-1 Supplement\"](m)&&(m===167||m===169||m===174||m===177||m===188||m===189||m===190||m===215||m===247)||tt[\"General Punctuation\"](m)&&(m===8214||m===8224||m===8225||m===8240||m===8241||m===8251||m===8252||m===8258||m===8263||m===8264||m===8265||m===8273)||tt[\"Letterlike Symbols\"](m)||tt[\"Number Forms\"](m)||tt[\"Miscellaneous Technical\"](m)&&(m>=8960&&m<=8967||m>=8972&&m<=8991||m>=8996&&m<=9e3||m===9003||m>=9085&&m<=9114||m>=9150&&m<=9165||m===9167||m>=9169&&m<=9179||m>=9186&&m<=9215)||tt[\"Control Pictures\"](m)&&m!==9251||tt[\"Optical Character Recognition\"](m)||tt[\"Enclosed Alphanumerics\"](m)||tt[\"Geometric Shapes\"](m)||tt[\"Miscellaneous Symbols\"](m)&&!(m>=9754&&m<=9759)||tt[\"Miscellaneous Symbols and Arrows\"](m)&&(m>=11026&&m<=11055||m>=11088&&m<=11097||m>=11192&&m<=11243)||tt[\"CJK Symbols and Punctuation\"](m)||tt.Katakana(m)||tt[\"Private Use Area\"](m)||tt[\"CJK Compatibility Forms\"](m)||tt[\"Small Form Variants\"](m)||tt[\"Halfwidth and Fullwidth Forms\"](m)||m===8734||m===8756||m===8757||m>=9984&&m<=10087||m>=10102&&m<=10131||m===65532||m===65533)}function ui(m){return!(Ir(m)||oi(m))}function qr(m){return tt.Arabic(m)||tt[\"Arabic Supplement\"](m)||tt[\"Arabic Extended-A\"](m)||tt[\"Arabic Presentation Forms-A\"](m)||tt[\"Arabic Presentation Forms-B\"](m)}function Kr(m){return m>=1424&&m<=2303||tt[\"Arabic Presentation Forms-A\"](m)||tt[\"Arabic Presentation Forms-B\"](m)}function ii(m,y){return!(!y&&Kr(m)||m>=2304&&m<=3583||m>=3840&&m<=4255||tt.Khmer(m))}function vi(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(Kr(U.charCodeAt(0)))return!0}return!1}function ci(m,y){for(var I=0,U=m;I<U.length;I+=1){var J=U[I];if(!ii(J.charCodeAt(0),y))return!1}return!0}var Jr={unavailable:\"unavailable\",deferred:\"deferred\",loading:\"loading\",loaded:\"loaded\",error:\"error\"},un=null,dn=Jr.unavailable,En=null,Nn=function(m){m&&typeof m==\"string\"&&m.indexOf(\"NetworkError\")>-1&&(dn=Jr.error),un&&un(m)};function ga(){ya.fire(new jo(\"pluginStateChange\",{pluginStatus:dn,pluginURL:En}))}var ya=new Sn,so=function(){return dn},wa=function(m){return m({pluginStatus:dn,pluginURL:En}),ya.on(\"pluginStateChange\",m),m},io=function(m,y,I){if(I===void 0&&(I=!1),dn===Jr.deferred||dn===Jr.loading||dn===Jr.loaded)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");En=nt.resolveURL(m),dn=Jr.deferred,un=y,ga(),I||Ss()},Ss=function(){if(dn!==Jr.deferred||!En)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");dn=Jr.loading,ga(),En&&Zr({url:En},function(m){m?Nn(m):(dn=Jr.loaded,ga())})},_s={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return dn===Jr.loaded||_s.applyArabicShaping!=null},isLoading:function(){return dn===Jr.loading},setState:function(y){dn=y.pluginStatus,En=y.pluginURL},isParsed:function(){return _s.applyArabicShaping!=null&&_s.processBidirectionalText!=null&&_s.processStyledBidirectionalText!=null},getPluginURL:function(){return En}},Ns=function(){!_s.isLoading()&&!_s.isLoaded()&&so()===\"deferred\"&&Ss()},pn=function(y,I){this.zoom=y,I?(this.now=I.now,this.fadeDuration=I.fadeDuration,this.zoomHistory=I.zoomHistory,this.transition=I.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new wt,this.transition={})};pn.prototype.isSupportedScript=function(y){return ci(y,_s.isLoaded())},pn.prototype.crossFadingFactor=function(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},pn.prototype.getCrossfadeParameters=function(){var y=this.zoom,I=y-Math.floor(y),U=this.crossFadingFactor();return y>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:I+(1-I)*U}:{fromScale:.5,toScale:1,t:1-(1-U)*I}};var za=function(y,I){this.property=y,this.value=I,this.expression=w(I===void 0?y.specification.default:I,y.specification)};za.prototype.isDataDriven=function(){return this.expression.kind===\"source\"||this.expression.kind===\"composite\"},za.prototype.possiblyEvaluate=function(y,I,U){return this.property.possiblyEvaluate(this,y,I,U)};var Lo=function(y){this.property=y,this.value=new za(y,void 0)};Lo.prototype.transitioned=function(y,I){return new js(this.property,this.value,I,_({},y.transition,this.transition),y.now)},Lo.prototype.untransitioned=function(){return new js(this.property,this.value,null,{},0)};var Fo=function(y){this._properties=y,this._values=Object.create(y.defaultTransitionablePropertyValues)};Fo.prototype.getValue=function(y){return G(this._values[y].value.value)},Fo.prototype.setValue=function(y,I){this._values.hasOwnProperty(y)||(this._values[y]=new Lo(this._values[y].property)),this._values[y].value=new za(this._values[y].property,I===null?void 0:G(I))},Fo.prototype.getTransition=function(y){return G(this._values[y].transition)},Fo.prototype.setTransition=function(y,I){this._values.hasOwnProperty(y)||(this._values[y]=new Lo(this._values[y].property)),this._values[y].transition=G(I)||void 0},Fo.prototype.serialize=function(){for(var y={},I=0,U=Object.keys(this._values);I<U.length;I+=1){var J=U[I],ne=this.getValue(J);ne!==void 0&&(y[J]=ne);var fe=this.getTransition(J);fe!==void 0&&(y[J+\"-transition\"]=fe)}return y},Fo.prototype.transitioned=function(y,I){for(var U=new xl(this._properties),J=0,ne=Object.keys(this._values);J<ne.length;J+=1){var fe=ne[J];U._values[fe]=this._values[fe].transitioned(y,I._values[fe])}return U},Fo.prototype.untransitioned=function(){for(var y=new xl(this._properties),I=0,U=Object.keys(this._values);I<U.length;I+=1){var J=U[I];y._values[J]=this._values[J].untransitioned()}return y};var js=function(y,I,U,J,ne){this.property=y,this.value=I,this.begin=ne+J.delay||0,this.end=this.begin+J.duration||0,y.specification.transition&&(J.delay||J.duration)&&(this.prior=U)};js.prototype.possiblyEvaluate=function(y,I,U){var J=y.now||0,ne=this.value.possiblyEvaluate(y,I,U),fe=this.prior;if(fe){if(J>this.end)return this.prior=null,ne;if(this.value.isDataDriven())return this.prior=null,ne;if(J<this.begin)return fe.possiblyEvaluate(y,I,U);var Fe=(J-this.begin)/(this.end-this.begin);return this.property.interpolate(fe.possiblyEvaluate(y,I,U),ne,v(Fe))}else return ne};var xl=function(y){this._properties=y,this._values=Object.create(y.defaultTransitioningPropertyValues)};xl.prototype.possiblyEvaluate=function(y,I,U){for(var J=new xc(this._properties),ne=0,fe=Object.keys(this._values);ne<fe.length;ne+=1){var Fe=fe[ne];J._values[Fe]=this._values[Fe].possiblyEvaluate(y,I,U)}return J},xl.prototype.hasTransition=function(){for(var y=0,I=Object.keys(this._values);y<I.length;y+=1){var U=I[y];if(this._values[U].prior)return!0}return!1};var fu=function(y){this._properties=y,this._values=Object.create(y.defaultPropertyValues)};fu.prototype.getValue=function(y){return G(this._values[y].value)},fu.prototype.setValue=function(y,I){this._values[y]=new za(this._values[y].property,I===null?void 0:G(I))},fu.prototype.serialize=function(){for(var y={},I=0,U=Object.keys(this._values);I<U.length;I+=1){var J=U[I],ne=this.getValue(J);ne!==void 0&&(y[J]=ne)}return y},fu.prototype.possiblyEvaluate=function(y,I,U){for(var J=new xc(this._properties),ne=0,fe=Object.keys(this._values);ne<fe.length;ne+=1){var Fe=fe[ne];J._values[Fe]=this._values[Fe].possiblyEvaluate(y,I,U)}return J};var dl=function(y,I,U){this.property=y,this.value=I,this.parameters=U};dl.prototype.isConstant=function(){return this.value.kind===\"constant\"},dl.prototype.constantOr=function(y){return this.value.kind===\"constant\"?this.value.value:y},dl.prototype.evaluate=function(y,I,U,J){return this.property.evaluate(this.value,this.parameters,y,I,U,J)};var xc=function(y){this._properties=y,this._values=Object.create(y.defaultPossiblyEvaluatedValues)};xc.prototype.get=function(y){return this._values[y]};var At=function(y){this.specification=y};At.prototype.possiblyEvaluate=function(y,I){return y.expression.evaluate(I)},At.prototype.interpolate=function(y,I,U){var J=Gu[this.specification.type];return J?J(y,I,U):y};var Er=function(y,I){this.specification=y,this.overrides=I};Er.prototype.possiblyEvaluate=function(y,I,U,J){return y.expression.kind===\"constant\"||y.expression.kind===\"camera\"?new dl(this,{kind:\"constant\",value:y.expression.evaluate(I,null,{},U,J)},I):new dl(this,y.expression,I)},Er.prototype.interpolate=function(y,I,U){if(y.value.kind!==\"constant\"||I.value.kind!==\"constant\")return y;if(y.value.value===void 0||I.value.value===void 0)return new dl(this,{kind:\"constant\",value:void 0},y.parameters);var J=Gu[this.specification.type];return J?new dl(this,{kind:\"constant\",value:J(y.value.value,I.value.value,U)},y.parameters):y},Er.prototype.evaluate=function(y,I,U,J,ne,fe){return y.kind===\"constant\"?y.value:y.evaluate(I,U,J,ne,fe)};var Wr=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.possiblyEvaluate=function(U,J,ne,fe){if(U.value===void 0)return new dl(this,{kind:\"constant\",value:void 0},J);if(U.expression.kind===\"constant\"){var Fe=U.expression.evaluate(J,null,{},ne,fe),Qe=U.property.specification.type===\"resolvedImage\",st=Qe&&typeof Fe!=\"string\"?Fe.name:Fe,mt=this._calculate(st,st,st,J);return new dl(this,{kind:\"constant\",value:mt},J)}else if(U.expression.kind===\"camera\"){var Xt=this._calculate(U.expression.evaluate({zoom:J.zoom-1}),U.expression.evaluate({zoom:J.zoom}),U.expression.evaluate({zoom:J.zoom+1}),J);return new dl(this,{kind:\"constant\",value:Xt},J)}else return new dl(this,U.expression,J)},y.prototype.evaluate=function(U,J,ne,fe,Fe,Qe){if(U.kind===\"source\"){var st=U.evaluate(J,ne,fe,Fe,Qe);return this._calculate(st,st,st,J)}else return U.kind===\"composite\"?this._calculate(U.evaluate({zoom:Math.floor(J.zoom)-1},ne,fe),U.evaluate({zoom:Math.floor(J.zoom)},ne,fe),U.evaluate({zoom:Math.floor(J.zoom)+1},ne,fe),J):U.value},y.prototype._calculate=function(U,J,ne,fe){var Fe=fe.zoom;return Fe>fe.zoomHistory.lastIntegerZoom?{from:U,to:J}:{from:ne,to:J}},y.prototype.interpolate=function(U){return U},y}(Er),wi=function(y){this.specification=y};wi.prototype.possiblyEvaluate=function(y,I,U,J){if(y.value!==void 0)if(y.expression.kind===\"constant\"){var ne=y.expression.evaluate(I,null,{},U,J);return this._calculate(ne,ne,ne,I)}else return this._calculate(y.expression.evaluate(new pn(Math.floor(I.zoom-1),I)),y.expression.evaluate(new pn(Math.floor(I.zoom),I)),y.expression.evaluate(new pn(Math.floor(I.zoom+1),I)),I)},wi.prototype._calculate=function(y,I,U,J){var ne=J.zoom;return ne>J.zoomHistory.lastIntegerZoom?{from:y,to:I}:{from:U,to:I}},wi.prototype.interpolate=function(y){return y};var Ui=function(y){this.specification=y};Ui.prototype.possiblyEvaluate=function(y,I,U,J){return!!y.expression.evaluate(I,null,{},U,J)},Ui.prototype.interpolate=function(){return!1};var Oi=function(y){this.properties=y,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(var I in y){var U=y[I];U.specification.overridable&&this.overridableProperties.push(I);var J=this.defaultPropertyValues[I]=new za(U,void 0),ne=this.defaultTransitionablePropertyValues[I]=new Lo(U);this.defaultTransitioningPropertyValues[I]=ne.untransitioned(),this.defaultPossiblyEvaluatedValues[I]=J.possiblyEvaluate({})}};Z(\"DataDrivenProperty\",Er),Z(\"DataConstantProperty\",At),Z(\"CrossFadedDataDrivenProperty\",Wr),Z(\"CrossFadedProperty\",wi),Z(\"ColorRampProperty\",Ui);var Bi=\"-transition\",cn=function(m){function y(I,U){if(m.call(this),this.id=I.id,this.type=I.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},I.type!==\"custom\"&&(I=I,this.metadata=I.metadata,this.minzoom=I.minzoom,this.maxzoom=I.maxzoom,I.type!==\"background\"&&(this.source=I.source,this.sourceLayer=I[\"source-layer\"],this.filter=I.filter),U.layout&&(this._unevaluatedLayout=new fu(U.layout)),U.paint)){this._transitionablePaint=new Fo(U.paint);for(var J in I.paint)this.setPaintProperty(J,I.paint[J],{validate:!1});for(var ne in I.layout)this.setLayoutProperty(ne,I.layout[ne],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new xc(U.paint)}}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},y.prototype.getLayoutProperty=function(U){return U===\"visibility\"?this.visibility:this._unevaluatedLayout.getValue(U)},y.prototype.setLayoutProperty=function(U,J,ne){if(ne===void 0&&(ne={}),J!=null){var fe=\"layers.\"+this.id+\".layout.\"+U;if(this._validate(Hl,fe,U,J,ne))return}if(U===\"visibility\"){this.visibility=J;return}this._unevaluatedLayout.setValue(U,J)},y.prototype.getPaintProperty=function(U){return V(U,Bi)?this._transitionablePaint.getTransition(U.slice(0,-Bi.length)):this._transitionablePaint.getValue(U)},y.prototype.setPaintProperty=function(U,J,ne){if(ne===void 0&&(ne={}),J!=null){var fe=\"layers.\"+this.id+\".paint.\"+U;if(this._validate(_l,fe,U,J,ne))return!1}if(V(U,Bi))return this._transitionablePaint.setTransition(U.slice(0,-Bi.length),J||void 0),!1;var Fe=this._transitionablePaint._values[U],Qe=Fe.property.specification[\"property-type\"]===\"cross-faded-data-driven\",st=Fe.value.isDataDriven(),mt=Fe.value;this._transitionablePaint.setValue(U,J),this._handleSpecialPaintPropertyUpdate(U);var Xt=this._transitionablePaint._values[U].value,ur=Xt.isDataDriven();return ur||st||Qe||this._handleOverridablePaintPropertyUpdate(U,mt,Xt)},y.prototype._handleSpecialPaintPropertyUpdate=function(U){},y.prototype._handleOverridablePaintPropertyUpdate=function(U,J,ne){return!1},y.prototype.isHidden=function(U){return this.minzoom&&U<this.minzoom||this.maxzoom&&U>=this.maxzoom?!0:this.visibility===\"none\"},y.prototype.updateTransitions=function(U){this._transitioningPaint=this._transitionablePaint.transitioned(U,this._transitioningPaint)},y.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},y.prototype.recalculate=function(U,J){U.getCrossfadeParameters&&(this._crossfadeParameters=U.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(U,void 0,J)),this.paint=this._transitioningPaint.possiblyEvaluate(U,void 0,J)},y.prototype.serialize=function(){var U={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&&(U.layout=U.layout||{},U.layout.visibility=this.visibility),X(U,function(J,ne){return J!==void 0&&!(ne===\"layout\"&&!Object.keys(J).length)&&!(ne===\"paint\"&&!Object.keys(J).length)})},y.prototype._validate=function(U,J,ne,fe,Fe){return Fe===void 0&&(Fe={}),Fe&&Fe.validate===!1?!1:Zu(this,U.call(yo,{key:J,layerType:this.type,objectKey:ne,value:fe,styleSpec:on,style:{glyphs:!0,sprite:!0}}))},y.prototype.is3D=function(){return!1},y.prototype.isTileClipped=function(){return!1},y.prototype.hasOffscreenPass=function(){return!1},y.prototype.resize=function(){},y.prototype.isStateDependent=function(){for(var U in this.paint._values){var J=this.paint.get(U);if(!(!(J instanceof dl)||!Gs(J.property.specification))&&(J.value.kind===\"source\"||J.value.kind===\"composite\")&&J.value.isStateDependent)return!0}return!1},y}(Sn),On={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Bn=function(y,I){this._structArray=y,this._pos1=I*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},yn=128,to=5,Rn=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};Rn.serialize=function(y,I){return y._trim(),I&&(y.isTransferred=!0,I.push(y.arrayBuffer)),{length:y.length,arrayBuffer:y.arrayBuffer}},Rn.deserialize=function(y){var I=Object.create(this.prototype);return I.arrayBuffer=y.arrayBuffer,I.length=y.length,I.capacity=y.arrayBuffer.byteLength/I.bytesPerElement,I._refreshViews(),I},Rn.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Rn.prototype.clear=function(){this.length=0},Rn.prototype.resize=function(y){this.reserve(y),this.length=y},Rn.prototype.reserve=function(y){if(y>this.capacity){this.capacity=Math.max(y,Math.floor(this.capacity*to),yn),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var I=this.uint8;this._refreshViews(),I&&this.uint8.set(I)}},Rn.prototype._refreshViews=function(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")};function Dn(m,y){y===void 0&&(y=1);var I=0,U=0,J=m.map(function(fe){var Fe=fn(fe.type),Qe=I=Ai(I,Math.max(y,Fe)),st=fe.components||1;return U=Math.max(U,Fe),I+=Fe*st,{name:fe.name,type:fe.type,components:st,offset:Qe}}),ne=Ai(I,Math.max(U,y));return{members:J,size:ne,alignment:y}}function fn(m){return On[m].BYTES_PER_ELEMENT}function Ai(m,y){return Math.ceil(m/y)*y}var ji=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.int16[fe+0]=J,this.int16[fe+1]=ne,U},y}(Rn);ji.prototype.bytesPerElement=4,Z(\"StructArrayLayout2i4\",ji);var Ln=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*4;return this.int16[Qe+0]=J,this.int16[Qe+1]=ne,this.int16[Qe+2]=fe,this.int16[Qe+3]=Fe,U},y}(Rn);Ln.prototype.bytesPerElement=8,Z(\"StructArrayLayout4i8\",Ln);var Un=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*6;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.int16[mt+2]=fe,this.int16[mt+3]=Fe,this.int16[mt+4]=Qe,this.int16[mt+5]=st,U},y}(Rn);Un.prototype.bytesPerElement=12,Z(\"StructArrayLayout2i4i12\",Un);var gn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*4,Xt=U*8;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.uint8[Xt+4]=fe,this.uint8[Xt+5]=Fe,this.uint8[Xt+6]=Qe,this.uint8[Xt+7]=st,U},y}(Rn);gn.prototype.bytesPerElement=8,Z(\"StructArrayLayout2i4ub8\",gn);var ca=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.float32[fe+0]=J,this.float32[fe+1]=ne,U},y}(Rn);ca.prototype.bytesPerElement=8,Z(\"StructArrayLayout2f8\",ca);var Kn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){var nr=this.length;return this.resize(nr+1),this.emplace(nr,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr){var Lr=U*10;return this.uint16[Lr+0]=J,this.uint16[Lr+1]=ne,this.uint16[Lr+2]=fe,this.uint16[Lr+3]=Fe,this.uint16[Lr+4]=Qe,this.uint16[Lr+5]=st,this.uint16[Lr+6]=mt,this.uint16[Lr+7]=Xt,this.uint16[Lr+8]=ur,this.uint16[Lr+9]=nr,U},y}(Rn);Kn.prototype.bytesPerElement=20,Z(\"StructArrayLayout10ui20\",Kn);var Za=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr){var Yr=this.length;return this.resize(Yr+1),this.emplace(Yr,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr){var _i=U*12;return this.int16[_i+0]=J,this.int16[_i+1]=ne,this.int16[_i+2]=fe,this.int16[_i+3]=Fe,this.uint16[_i+4]=Qe,this.uint16[_i+5]=st,this.uint16[_i+6]=mt,this.uint16[_i+7]=Xt,this.int16[_i+8]=ur,this.int16[_i+9]=nr,this.int16[_i+10]=Lr,this.int16[_i+11]=Yr,U},y}(Rn);Za.prototype.bytesPerElement=24,Z(\"StructArrayLayout4i4ui4i24\",Za);var wn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.float32[Fe+0]=J,this.float32[Fe+1]=ne,this.float32[Fe+2]=fe,U},y}(Rn);wn.prototype.bytesPerElement=12,Z(\"StructArrayLayout3f12\",wn);var vn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.uint32[ne+0]=J,U},y}(Rn);vn.prototype.bytesPerElement=4,Z(\"StructArrayLayout1ul4\",vn);var Aa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.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)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt){var ur=this.length;return this.resize(ur+1),this.emplace(ur,U,J,ne,fe,Fe,Qe,st,mt,Xt)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){var nr=U*10,Lr=U*5;return this.int16[nr+0]=J,this.int16[nr+1]=ne,this.int16[nr+2]=fe,this.int16[nr+3]=Fe,this.int16[nr+4]=Qe,this.int16[nr+5]=st,this.uint32[Lr+3]=mt,this.uint16[nr+8]=Xt,this.uint16[nr+9]=ur,U},y}(Rn);Aa.prototype.bytesPerElement=20,Z(\"StructArrayLayout6i1ul2ui20\",Aa);var aa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*6;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.int16[mt+2]=fe,this.int16[mt+3]=Fe,this.int16[mt+4]=Qe,this.int16[mt+5]=st,U},y}(Rn);aa.prototype.bytesPerElement=12,Z(\"StructArrayLayout2i2i2i12\",aa);var Xn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe){var Qe=this.length;return this.resize(Qe+1),this.emplace(Qe,U,J,ne,fe,Fe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe){var st=U*4,mt=U*8;return this.float32[st+0]=J,this.float32[st+1]=ne,this.float32[st+2]=fe,this.int16[mt+6]=Fe,this.int16[mt+7]=Qe,U},y}(Rn);Xn.prototype.bytesPerElement=16,Z(\"StructArrayLayout2f1f2i16\",Xn);var Vn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*12,st=U*3;return this.uint8[Qe+0]=J,this.uint8[Qe+1]=ne,this.float32[st+1]=fe,this.float32[st+2]=Fe,U},y}(Rn);Vn.prototype.bytesPerElement=12,Z(\"StructArrayLayout2ub2f12\",Vn);var ma=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.uint16[Fe+0]=J,this.uint16[Fe+1]=ne,this.uint16[Fe+2]=fe,U},y}(Rn);ma.prototype.bytesPerElement=6,Z(\"StructArrayLayout3ui6\",ma);var ro=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.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)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei){var Vi=this.length;return this.resize(Vi+1),this.emplace(Vi,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi){var en=U*24,An=U*12,ra=U*48;return this.int16[en+0]=J,this.int16[en+1]=ne,this.uint16[en+2]=fe,this.uint16[en+3]=Fe,this.uint32[An+2]=Qe,this.uint32[An+3]=st,this.uint32[An+4]=mt,this.uint16[en+10]=Xt,this.uint16[en+11]=ur,this.uint16[en+12]=nr,this.float32[An+7]=Lr,this.float32[An+8]=Yr,this.uint8[ra+36]=_i,this.uint8[ra+37]=si,this.uint8[ra+38]=Hi,this.uint32[An+10]=Ei,this.int16[en+22]=Vi,U},y}(Rn);ro.prototype.bytesPerElement=48,Z(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",ro);var Ao=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.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)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,_a,Pa,qo,Na,ja){var us=this.length;return this.resize(us+1),this.emplace(us,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,_a,Pa,qo,Na,ja)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,_a,Pa,qo,Na,ja,us){var zo=U*34,rl=U*17;return this.int16[zo+0]=J,this.int16[zo+1]=ne,this.int16[zo+2]=fe,this.int16[zo+3]=Fe,this.int16[zo+4]=Qe,this.int16[zo+5]=st,this.int16[zo+6]=mt,this.int16[zo+7]=Xt,this.uint16[zo+8]=ur,this.uint16[zo+9]=nr,this.uint16[zo+10]=Lr,this.uint16[zo+11]=Yr,this.uint16[zo+12]=_i,this.uint16[zo+13]=si,this.uint16[zo+14]=Hi,this.uint16[zo+15]=Ei,this.uint16[zo+16]=Vi,this.uint16[zo+17]=en,this.uint16[zo+18]=An,this.uint16[zo+19]=ra,this.uint16[zo+20]=$n,this.uint16[zo+21]=Ba,this.uint16[zo+22]=_a,this.uint32[rl+12]=Pa,this.float32[rl+13]=qo,this.float32[rl+14]=Na,this.float32[rl+15]=ja,this.float32[rl+16]=us,U},y}(Rn);Ao.prototype.bytesPerElement=68,Z(\"StructArrayLayout8i15ui1ul4f68\",Ao);var Jn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.float32[ne+0]=J,U},y}(Rn);Jn.prototype.bytesPerElement=4,Z(\"StructArrayLayout1f4\",Jn);var Oa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.int16[Fe+0]=J,this.int16[Fe+1]=ne,this.int16[Fe+2]=fe,U},y}(Rn);Oa.prototype.bytesPerElement=6,Z(\"StructArrayLayout3i6\",Oa);var _o=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*2,Qe=U*4;return this.uint32[Fe+0]=J,this.uint16[Qe+2]=ne,this.uint16[Qe+3]=fe,U},y}(Rn);_o.prototype.bytesPerElement=8,Z(\"StructArrayLayout1ul2ui8\",_o);var Po=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.uint16[fe+0]=J,this.uint16[fe+1]=ne,U},y}(Rn);Po.prototype.bytesPerElement=4,Z(\"StructArrayLayout2ui4\",Po);var Jo=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.uint16[ne+0]=J,U},y}(Rn);Jo.prototype.bytesPerElement=2,Z(\"StructArrayLayout1ui2\",Jo);var Yl=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*4;return this.float32[Qe+0]=J,this.float32[Qe+1]=ne,this.float32[Qe+2]=fe,this.float32[Qe+3]=Fe,U},y}(Rn);Yl.prototype.bytesPerElement=16,Z(\"StructArrayLayout4f16\",Yl);var $c=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={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 I.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},I.x1.get=function(){return this._structArray.int16[this._pos2+2]},I.y1.get=function(){return this._structArray.int16[this._pos2+3]},I.x2.get=function(){return this._structArray.int16[this._pos2+4]},I.y2.get=function(){return this._structArray.int16[this._pos2+5]},I.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},I.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},I.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},I.anchorPoint.get=function(){return new u(this.anchorPointX,this.anchorPointY)},Object.defineProperties(y.prototype,I),y}(Bn);$c.prototype.size=20;var xs=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new $c(this,U)},y}(Aa);Z(\"CollisionBoxArray\",xs);var Qc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={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 I.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},I.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},I.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},I.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},I.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},I.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},I.segment.get=function(){return this._structArray.uint16[this._pos2+10]},I.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},I.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},I.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},I.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},I.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},I.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},I.placedOrientation.set=function(U){this._structArray.uint8[this._pos1+37]=U},I.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},I.hidden.set=function(U){this._structArray.uint8[this._pos1+38]=U},I.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},I.crossTileID.set=function(U){this._structArray.uint32[this._pos4+10]=U},I.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(y.prototype,I),y}(Bn);Qc.prototype.size=48;var El=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new Qc(this,U)},y}(ro);Z(\"PlacedSymbolArray\",El);var bc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={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 I.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},I.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},I.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},I.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},I.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},I.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},I.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},I.key.get=function(){return this._structArray.uint16[this._pos2+8]},I.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},I.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},I.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},I.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},I.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},I.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},I.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},I.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},I.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},I.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},I.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},I.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},I.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},I.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},I.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},I.crossTileID.set=function(U){this._structArray.uint32[this._pos4+12]=U},I.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},I.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},I.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},I.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(y.prototype,I),y}(Bn);bc.prototype.size=68;var wc=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new bc(this,U)},y}(Ao);Z(\"SymbolInstanceArray\",wc);var yf=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getoffsetX=function(U){return this.float32[U*1+0]},y}(Jn);Z(\"GlyphOffsetArray\",yf);var Gl=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getx=function(U){return this.int16[U*3+0]},y.prototype.gety=function(U){return this.int16[U*3+1]},y.prototype.gettileUnitDistanceFromAnchor=function(U){return this.int16[U*3+2]},y}(Oa);Z(\"SymbolLineVertexArray\",Gl);var Fc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return I.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},I.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},I.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(y.prototype,I),y}(Bn);Fc.prototype.size=8;var ef=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new Fc(this,U)},y}(_o);Z(\"FeatureIndexArray\",ef);var ls=Dn([{name:\"a_pos\",components:2,type:\"Int16\"}],4),_f=ls.members,ns=function(y){y===void 0&&(y=[]),this.segments=y};ns.prototype.prepareSegment=function(y,I,U,J){var ne=this.segments[this.segments.length-1];return y>ns.MAX_VERTEX_ARRAY_LENGTH&&re(\"Max vertices per segment is \"+ns.MAX_VERTEX_ARRAY_LENGTH+\": bucket requested \"+y),(!ne||ne.vertexLength+y>ns.MAX_VERTEX_ARRAY_LENGTH||ne.sortKey!==J)&&(ne={vertexOffset:I.length,primitiveOffset:U.length,vertexLength:0,primitiveLength:0},J!==void 0&&(ne.sortKey=J),this.segments.push(ne)),ne},ns.prototype.get=function(){return this.segments},ns.prototype.destroy=function(){for(var y=0,I=this.segments;y<I.length;y+=1){var U=I[y];for(var J in U.vaos)U.vaos[J].destroy()}},ns.simpleSegment=function(y,I,U,J){return new ns([{vertexOffset:y,primitiveOffset:I,vertexLength:U,primitiveLength:J,vaos:{},sortKey:0}])},ns.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Z(\"SegmentVector\",ns);function Y(m,y){return m=p(Math.floor(m),0,255),y=p(Math.floor(y),0,255),256*m+y}var z=Dn([{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\"}]),K=a(function(m){function y(I,U){var J,ne,fe,Fe,Qe,st,mt,Xt;for(J=I.length&3,ne=I.length-J,fe=U,Qe=3432918353,st=461845907,Xt=0;Xt<ne;)mt=I.charCodeAt(Xt)&255|(I.charCodeAt(++Xt)&255)<<8|(I.charCodeAt(++Xt)&255)<<16|(I.charCodeAt(++Xt)&255)<<24,++Xt,mt=(mt&65535)*Qe+(((mt>>>16)*Qe&65535)<<16)&4294967295,mt=mt<<15|mt>>>17,mt=(mt&65535)*st+(((mt>>>16)*st&65535)<<16)&4294967295,fe^=mt,fe=fe<<13|fe>>>19,Fe=(fe&65535)*5+(((fe>>>16)*5&65535)<<16)&4294967295,fe=(Fe&65535)+27492+(((Fe>>>16)+58964&65535)<<16);switch(mt=0,J){case 3:mt^=(I.charCodeAt(Xt+2)&255)<<16;case 2:mt^=(I.charCodeAt(Xt+1)&255)<<8;case 1:mt^=I.charCodeAt(Xt)&255,mt=(mt&65535)*Qe+(((mt>>>16)*Qe&65535)<<16)&4294967295,mt=mt<<15|mt>>>17,mt=(mt&65535)*st+(((mt>>>16)*st&65535)<<16)&4294967295,fe^=mt}return fe^=I.length,fe^=fe>>>16,fe=(fe&65535)*2246822507+(((fe>>>16)*2246822507&65535)<<16)&4294967295,fe^=fe>>>13,fe=(fe&65535)*3266489909+(((fe>>>16)*3266489909&65535)<<16)&4294967295,fe^=fe>>>16,fe>>>0}m.exports=y}),O=a(function(m){function y(I,U){for(var J=I.length,ne=U^J,fe=0,Fe;J>=4;)Fe=I.charCodeAt(fe)&255|(I.charCodeAt(++fe)&255)<<8|(I.charCodeAt(++fe)&255)<<16|(I.charCodeAt(++fe)&255)<<24,Fe=(Fe&65535)*1540483477+(((Fe>>>16)*1540483477&65535)<<16),Fe^=Fe>>>24,Fe=(Fe&65535)*1540483477+(((Fe>>>16)*1540483477&65535)<<16),ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16)^Fe,J-=4,++fe;switch(J){case 3:ne^=(I.charCodeAt(fe+2)&255)<<16;case 2:ne^=(I.charCodeAt(fe+1)&255)<<8;case 1:ne^=I.charCodeAt(fe)&255,ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16)}return ne^=ne>>>13,ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16),ne^=ne>>>15,ne>>>0}m.exports=y}),$=K,pe=K,de=O;$.murmur3=pe,$.murmur2=de;var Ie=function(){this.ids=[],this.positions=[],this.indexed=!1};Ie.prototype.add=function(y,I,U,J){this.ids.push(pt(y)),this.positions.push(I,U,J)},Ie.prototype.getPositions=function(y){for(var I=pt(y),U=0,J=this.ids.length-1;U<J;){var ne=U+J>>1;this.ids[ne]>=I?J=ne:U=ne+1}for(var fe=[];this.ids[U]===I;){var Fe=this.positions[3*U],Qe=this.positions[3*U+1],st=this.positions[3*U+2];fe.push({index:Fe,start:Qe,end:st}),U++}return fe},Ie.serialize=function(y,I){var U=new Float64Array(y.ids),J=new Uint32Array(y.positions);return Kt(U,J,0,U.length-1),I&&I.push(U.buffer,J.buffer),{ids:U,positions:J}},Ie.deserialize=function(y){var I=new Ie;return I.ids=y.ids,I.positions=y.positions,I.indexed=!0,I};var $e=Math.pow(2,53)-1;function pt(m){var y=+m;return!isNaN(y)&&y<=$e?y:$(String(m))}function Kt(m,y,I,U){for(;I<U;){for(var J=m[I+U>>1],ne=I-1,fe=U+1;;){do ne++;while(m[ne]<J);do fe--;while(m[fe]>J);if(ne>=fe)break;ir(m,ne,fe),ir(y,3*ne,3*fe),ir(y,3*ne+1,3*fe+1),ir(y,3*ne+2,3*fe+2)}fe-I<U-fe?(Kt(m,y,I,fe),I=fe+1):(Kt(m,y,fe+1,U),U=fe)}}function ir(m,y,I){var U=m[y];m[y]=m[I],m[I]=U}Z(\"FeaturePositionMap\",Ie);var Jt=function(y,I){this.gl=y.gl,this.location=I},vt=function(m){function y(I,U){m.call(this,I,U),this.current=0}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){this.current!==U&&(this.current=U,this.gl.uniform1i(this.location,U))},y}(Jt),Pt=function(m){function y(I,U){m.call(this,I,U),this.current=0}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){this.current!==U&&(this.current=U,this.gl.uniform1f(this.location,U))},y}(Jt),Wt=function(m){function y(I,U){m.call(this,I,U),this.current=[0,0]}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){(U[0]!==this.current[0]||U[1]!==this.current[1])&&(this.current=U,this.gl.uniform2f(this.location,U[0],U[1]))},y}(Jt),rr=function(m){function y(I,U){m.call(this,I,U),this.current=[0,0,0]}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){(U[0]!==this.current[0]||U[1]!==this.current[1]||U[2]!==this.current[2])&&(this.current=U,this.gl.uniform3f(this.location,U[0],U[1],U[2]))},y}(Jt),dr=function(m){function y(I,U){m.call(this,I,U),this.current=[0,0,0,0]}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){(U[0]!==this.current[0]||U[1]!==this.current[1]||U[2]!==this.current[2]||U[3]!==this.current[3])&&(this.current=U,this.gl.uniform4f(this.location,U[0],U[1],U[2],U[3]))},y}(Jt),pr=function(m){function y(I,U){m.call(this,I,U),this.current=ss.transparent}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){(U.r!==this.current.r||U.g!==this.current.g||U.b!==this.current.b||U.a!==this.current.a)&&(this.current=U,this.gl.uniform4f(this.location,U.r,U.g,U.b,U.a))},y}(Jt),kr=new Float32Array(16),Ar=function(m){function y(I,U){m.call(this,I,U),this.current=kr}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){if(U[12]!==this.current[12]||U[0]!==this.current[0]){this.current=U,this.gl.uniformMatrix4fv(this.location,!1,U);return}for(var J=1;J<16;J++)if(U[J]!==this.current[J]){this.current=U,this.gl.uniformMatrix4fv(this.location,!1,U);break}},y}(Jt);function gr(m){return[Y(255*m.r,255*m.g),Y(255*m.b,255*m.a)]}var Cr=function(y,I,U){this.value=y,this.uniformNames=I.map(function(J){return\"u_\"+J}),this.type=U};Cr.prototype.setUniform=function(y,I,U){y.set(U.constantOr(this.value))},Cr.prototype.getBinding=function(y,I,U){return this.type===\"color\"?new pr(y,I):new Pt(y,I)};var cr=function(y,I){this.uniformNames=I.map(function(U){return\"u_\"+U}),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1};cr.prototype.setConstantPatternPositions=function(y,I){this.pixelRatioFrom=I.pixelRatio,this.pixelRatioTo=y.pixelRatio,this.patternFrom=I.tlbr,this.patternTo=y.tlbr},cr.prototype.setUniform=function(y,I,U,J){var ne=J===\"u_pattern_to\"?this.patternTo:J===\"u_pattern_from\"?this.patternFrom:J===\"u_pixel_ratio_to\"?this.pixelRatioTo:J===\"u_pixel_ratio_from\"?this.pixelRatioFrom:null;ne&&y.set(ne)},cr.prototype.getBinding=function(y,I,U){return U.substr(0,9)===\"u_pattern\"?new dr(y,I):new Pt(y,I)};var Gr=function(y,I,U,J){this.expression=y,this.type=U,this.maxValue=0,this.paintVertexAttributes=I.map(function(ne){return{name:\"a_\"+ne,type:\"Float32\",components:U===\"color\"?2:1,offset:0}}),this.paintVertexArray=new J};Gr.prototype.populatePaintArray=function(y,I,U,J,ne){var fe=this.paintVertexArray.length,Fe=this.expression.evaluate(new pn(0),I,{},J,[],ne);this.paintVertexArray.resize(y),this._setPaintValue(fe,y,Fe)},Gr.prototype.updatePaintArray=function(y,I,U,J){var ne=this.expression.evaluate({zoom:0},U,J);this._setPaintValue(y,I,ne)},Gr.prototype._setPaintValue=function(y,I,U){if(this.type===\"color\")for(var J=gr(U),ne=y;ne<I;ne++)this.paintVertexArray.emplace(ne,J[0],J[1]);else{for(var fe=y;fe<I;fe++)this.paintVertexArray.emplace(fe,U);this.maxValue=Math.max(this.maxValue,Math.abs(U))}},Gr.prototype.upload=function(y){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=y.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},Gr.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()};var ei=function(y,I,U,J,ne,fe){this.expression=y,this.uniformNames=I.map(function(Fe){return\"u_\"+Fe+\"_t\"}),this.type=U,this.useIntegerZoom=J,this.zoom=ne,this.maxValue=0,this.paintVertexAttributes=I.map(function(Fe){return{name:\"a_\"+Fe,type:\"Float32\",components:U===\"color\"?4:2,offset:0}}),this.paintVertexArray=new fe};ei.prototype.populatePaintArray=function(y,I,U,J,ne){var fe=this.expression.evaluate(new pn(this.zoom),I,{},J,[],ne),Fe=this.expression.evaluate(new pn(this.zoom+1),I,{},J,[],ne),Qe=this.paintVertexArray.length;this.paintVertexArray.resize(y),this._setPaintValue(Qe,y,fe,Fe)},ei.prototype.updatePaintArray=function(y,I,U,J){var ne=this.expression.evaluate({zoom:this.zoom},U,J),fe=this.expression.evaluate({zoom:this.zoom+1},U,J);this._setPaintValue(y,I,ne,fe)},ei.prototype._setPaintValue=function(y,I,U,J){if(this.type===\"color\")for(var ne=gr(U),fe=gr(J),Fe=y;Fe<I;Fe++)this.paintVertexArray.emplace(Fe,ne[0],ne[1],fe[0],fe[1]);else{for(var Qe=y;Qe<I;Qe++)this.paintVertexArray.emplace(Qe,U,J);this.maxValue=Math.max(this.maxValue,Math.abs(U),Math.abs(J))}},ei.prototype.upload=function(y){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=y.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},ei.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},ei.prototype.setUniform=function(y,I){var U=this.useIntegerZoom?Math.floor(I.zoom):I.zoom,J=p(this.expression.interpolationFactor(U,this.zoom,this.zoom+1),0,1);y.set(J)},ei.prototype.getBinding=function(y,I,U){return new Pt(y,I)};var yi=function(y,I,U,J,ne,fe){this.expression=y,this.type=I,this.useIntegerZoom=U,this.zoom=J,this.layerId=fe,this.zoomInPaintVertexArray=new ne,this.zoomOutPaintVertexArray=new ne};yi.prototype.populatePaintArray=function(y,I,U){var J=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(y),this.zoomOutPaintVertexArray.resize(y),this._setPaintValues(J,y,I.patterns&&I.patterns[this.layerId],U)},yi.prototype.updatePaintArray=function(y,I,U,J,ne){this._setPaintValues(y,I,U.patterns&&U.patterns[this.layerId],ne)},yi.prototype._setPaintValues=function(y,I,U,J){if(!(!J||!U)){var ne=U.min,fe=U.mid,Fe=U.max,Qe=J[ne],st=J[fe],mt=J[Fe];if(!(!Qe||!st||!mt))for(var Xt=y;Xt<I;Xt++)this.zoomInPaintVertexArray.emplace(Xt,st.tl[0],st.tl[1],st.br[0],st.br[1],Qe.tl[0],Qe.tl[1],Qe.br[0],Qe.br[1],st.pixelRatio,Qe.pixelRatio),this.zoomOutPaintVertexArray.emplace(Xt,st.tl[0],st.tl[1],st.br[0],st.br[1],mt.tl[0],mt.tl[1],mt.br[0],mt.br[1],st.pixelRatio,mt.pixelRatio)}},yi.prototype.upload=function(y){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=y.createVertexBuffer(this.zoomInPaintVertexArray,z.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=y.createVertexBuffer(this.zoomOutPaintVertexArray,z.members,this.expression.isStateDependent))},yi.prototype.destroy=function(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()};var tn=function(y,I,U){this.binders={},this._buffers=[];var J=[];for(var ne in y.paint._values)if(U(ne)){var fe=y.paint.get(ne);if(!(!(fe instanceof dl)||!Gs(fe.property.specification))){var Fe=ln(ne,y.type),Qe=fe.value,st=fe.property.specification.type,mt=fe.property.useIntegerZoom,Xt=fe.property.specification[\"property-type\"],ur=Xt===\"cross-faded\"||Xt===\"cross-faded-data-driven\";if(Qe.kind===\"constant\")this.binders[ne]=ur?new cr(Qe.value,Fe):new Cr(Qe.value,Fe,st),J.push(\"/u_\"+ne);else if(Qe.kind===\"source\"||ur){var nr=qn(ne,st,\"source\");this.binders[ne]=ur?new yi(Qe,st,mt,I,nr,y.id):new Gr(Qe,Fe,st,nr),J.push(\"/a_\"+ne)}else{var Lr=qn(ne,st,\"composite\");this.binders[ne]=new ei(Qe,Fe,st,mt,I,Lr),J.push(\"/z_\"+ne)}}}this.cacheKey=J.sort().join(\"\")};tn.prototype.getMaxValue=function(y){var I=this.binders[y];return I instanceof Gr||I instanceof ei?I.maxValue:0},tn.prototype.populatePaintArrays=function(y,I,U,J,ne){for(var fe in this.binders){var Fe=this.binders[fe];(Fe instanceof Gr||Fe instanceof ei||Fe instanceof yi)&&Fe.populatePaintArray(y,I,U,J,ne)}},tn.prototype.setConstantPatternPositions=function(y,I){for(var U in this.binders){var J=this.binders[U];J instanceof cr&&J.setConstantPatternPositions(y,I)}},tn.prototype.updatePaintArrays=function(y,I,U,J,ne){var fe=!1;for(var Fe in y)for(var Qe=I.getPositions(Fe),st=0,mt=Qe;st<mt.length;st+=1){var Xt=mt[st],ur=U.feature(Xt.index);for(var nr in this.binders){var Lr=this.binders[nr];if((Lr instanceof Gr||Lr instanceof ei||Lr instanceof yi)&&Lr.expression.isStateDependent===!0){var Yr=J.paint.get(nr);Lr.expression=Yr.value,Lr.updatePaintArray(Xt.start,Xt.end,ur,y[Fe],ne),fe=!0}}}return fe},tn.prototype.defines=function(){var y=[];for(var I in this.binders){var U=this.binders[I];(U instanceof Cr||U instanceof cr)&&y.push.apply(y,U.uniformNames.map(function(J){return\"#define HAS_UNIFORM_\"+J}))}return y},tn.prototype.getBinderAttributes=function(){var y=[];for(var I in this.binders){var U=this.binders[I];if(U instanceof Gr||U instanceof ei)for(var J=0;J<U.paintVertexAttributes.length;J++)y.push(U.paintVertexAttributes[J].name);else if(U instanceof yi)for(var ne=0;ne<z.members.length;ne++)y.push(z.members[ne].name)}return y},tn.prototype.getBinderUniforms=function(){var y=[];for(var I in this.binders){var U=this.binders[I];if(U instanceof Cr||U instanceof cr||U instanceof ei)for(var J=0,ne=U.uniformNames;J<ne.length;J+=1){var fe=ne[J];y.push(fe)}}return y},tn.prototype.getPaintVertexBuffers=function(){return this._buffers},tn.prototype.getUniforms=function(y,I){var U=[];for(var J in this.binders){var ne=this.binders[J];if(ne instanceof Cr||ne instanceof cr||ne instanceof ei)for(var fe=0,Fe=ne.uniformNames;fe<Fe.length;fe+=1){var Qe=Fe[fe];if(I[Qe]){var st=ne.getBinding(y,I[Qe],Qe);U.push({name:Qe,property:J,binding:st})}}}return U},tn.prototype.setUniforms=function(y,I,U,J){for(var ne=0,fe=I;ne<fe.length;ne+=1){var Fe=fe[ne],Qe=Fe.name,st=Fe.property,mt=Fe.binding;this.binders[st].setUniform(mt,J,U.get(st),Qe)}},tn.prototype.updatePaintBuffers=function(y){this._buffers=[];for(var I in this.binders){var U=this.binders[I];if(y&&U instanceof yi){var J=y.fromScale===2?U.zoomInPaintVertexBuffer:U.zoomOutPaintVertexBuffer;J&&this._buffers.push(J)}else(U instanceof Gr||U instanceof ei)&&U.paintVertexBuffer&&this._buffers.push(U.paintVertexBuffer)}},tn.prototype.upload=function(y){for(var I in this.binders){var U=this.binders[I];(U instanceof Gr||U instanceof ei||U instanceof yi)&&U.upload(y)}this.updatePaintBuffers()},tn.prototype.destroy=function(){for(var y in this.binders){var I=this.binders[y];(I instanceof Gr||I instanceof ei||I instanceof yi)&&I.destroy()}};var Ri=function(y,I,U){U===void 0&&(U=function(){return!0}),this.programConfigurations={};for(var J=0,ne=y;J<ne.length;J+=1){var fe=ne[J];this.programConfigurations[fe.id]=new tn(fe,I,U)}this.needsUpload=!1,this._featureMap=new Ie,this._bufferOffset=0};Ri.prototype.populatePaintArrays=function(y,I,U,J,ne,fe){for(var Fe in this.programConfigurations)this.programConfigurations[Fe].populatePaintArrays(y,I,J,ne,fe);I.id!==void 0&&this._featureMap.add(I.id,U,this._bufferOffset,y),this._bufferOffset=y,this.needsUpload=!0},Ri.prototype.updatePaintArrays=function(y,I,U,J){for(var ne=0,fe=U;ne<fe.length;ne+=1){var Fe=fe[ne];this.needsUpload=this.programConfigurations[Fe.id].updatePaintArrays(y,this._featureMap,I,Fe,J)||this.needsUpload}},Ri.prototype.get=function(y){return this.programConfigurations[y]},Ri.prototype.upload=function(y){if(this.needsUpload){for(var I in this.programConfigurations)this.programConfigurations[I].upload(y);this.needsUpload=!1}},Ri.prototype.destroy=function(){for(var y in this.programConfigurations)this.programConfigurations[y].destroy()};function ln(m,y){var I={\"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\"]};return I[m]||[m.replace(y+\"-\",\"\").replace(/-/g,\"_\")]}function Qn(m){var y={\"line-pattern\":{source:Kn,composite:Kn},\"fill-pattern\":{source:Kn,composite:Kn},\"fill-extrusion-pattern\":{source:Kn,composite:Kn}};return y[m]}function qn(m,y,I){var U={color:{source:ca,composite:Yl},number:{source:Jn,composite:ca}},J=Qn(m);return J&&J[I]||U[y][I]}Z(\"ConstantBinder\",Cr),Z(\"CrossFadedConstantBinder\",cr),Z(\"SourceExpressionBinder\",Gr),Z(\"CrossFadedCompositeBinder\",yi),Z(\"CompositeExpressionBinder\",ei),Z(\"ProgramConfiguration\",tn,{omit:[\"_buffers\"]}),Z(\"ProgramConfigurationSet\",Ri);var rn=8192,bn=15,mn=Math.pow(2,bn-1)-1,Gn=-mn-1;function da(m){for(var y=rn/m.extent,I=m.loadGeometry(),U=0;U<I.length;U++)for(var J=I[U],ne=0;ne<J.length;ne++){var fe=J[ne],Fe=Math.round(fe.x*y),Qe=Math.round(fe.y*y);fe.x=p(Fe,Gn,mn),fe.y=p(Qe,Gn,mn),(Fe<fe.x||Fe>fe.x+1||Qe<fe.y||Qe>fe.y+1)&&re(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return I}function No(m,y){return{type:m.type,id:m.id,properties:m.properties,geometry:y?da(m):[]}}function Do(m,y,I,U,J){m.emplaceBack(y*2+(U+1)/2,I*2+(J+1)/2)}var ps=function(y){this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=y.index,this.hasPattern=!1,this.layoutVertexArray=new ji,this.indexArray=new ma,this.segments=new ns,this.programConfigurations=new Ri(y.layers,y.zoom),this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};ps.prototype.populate=function(y,I,U){var J=this.layers[0],ne=[],fe=null;J.type===\"circle\"&&(fe=J.layout.get(\"circle-sort-key\"));for(var Fe=0,Qe=y;Fe<Qe.length;Fe+=1){var st=Qe[Fe],mt=st.feature,Xt=st.id,ur=st.index,nr=st.sourceLayerIndex,Lr=this.layers[0]._featureFilter.needGeometry,Yr=No(mt,Lr);if(this.layers[0]._featureFilter.filter(new pn(this.zoom),Yr,U)){var _i=fe?fe.evaluate(Yr,{},U):void 0,si={id:Xt,properties:mt.properties,type:mt.type,sourceLayerIndex:nr,index:ur,geometry:Lr?Yr.geometry:da(mt),patterns:{},sortKey:_i};ne.push(si)}}fe&&ne.sort(function(_a,Pa){return _a.sortKey-Pa.sortKey});for(var Hi=0,Ei=ne;Hi<Ei.length;Hi+=1){var Vi=Ei[Hi],en=Vi,An=en.geometry,ra=en.index,$n=en.sourceLayerIndex,Ba=y[ra].feature;this.addFeature(Vi,An,ra,U),I.featureIndex.insert(Ba,An,ra,$n,this.index)}},ps.prototype.update=function(y,I,U){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(y,I,this.stateDependentLayers,U)},ps.prototype.isEmpty=function(){return this.layoutVertexArray.length===0},ps.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},ps.prototype.upload=function(y){this.uploaded||(this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,_f),this.indexBuffer=y.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(y),this.uploaded=!0},ps.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},ps.prototype.addFeature=function(y,I,U,J){for(var ne=0,fe=I;ne<fe.length;ne+=1)for(var Fe=fe[ne],Qe=0,st=Fe;Qe<st.length;Qe+=1){var mt=st[Qe],Xt=mt.x,ur=mt.y;if(!(Xt<0||Xt>=rn||ur<0||ur>=rn)){var nr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,y.sortKey),Lr=nr.vertexLength;Do(this.layoutVertexArray,Xt,ur,-1,-1),Do(this.layoutVertexArray,Xt,ur,1,-1),Do(this.layoutVertexArray,Xt,ur,1,1),Do(this.layoutVertexArray,Xt,ur,-1,1),this.indexArray.emplaceBack(Lr,Lr+1,Lr+2),this.indexArray.emplaceBack(Lr,Lr+3,Lr+2),nr.vertexLength+=4,nr.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,y,U,{},J)},Z(\"CircleBucket\",ps,{omit:[\"layers\"]});function fo(m,y){for(var I=0;I<m.length;I++)if(_d(y,m[I]))return!0;for(var U=0;U<y.length;U++)if(_d(m,y[U]))return!0;return!!Ev(m,y)}function as(m,y,I){return!!(_d(m,y)||Yv(y,m,I))}function tl(m,y){if(m.length===1)return vp(y,m[0]);for(var I=0;I<y.length;I++)for(var U=y[I],J=0;J<U.length;J++)if(_d(m,U[J]))return!0;for(var ne=0;ne<m.length;ne++)if(vp(y,m[ne]))return!0;for(var fe=0;fe<y.length;fe++)if(Ev(m,y[fe]))return!0;return!1}function zu(m,y,I){for(var U=0;U<y.length;U++){var J=y[U];if(m.length>=3){for(var ne=0;ne<J.length;ne++)if(_d(m,J[ne]))return!0}if(Mv(m,J,I))return!0}return!1}function Mv(m,y,I){if(m.length>1){if(Ev(m,y))return!0;for(var U=0;U<y.length;U++)if(Yv(y[U],m,I))return!0}for(var J=0;J<m.length;J++)if(Yv(m[J],y,I))return!0;return!1}function Ev(m,y){if(m.length===0||y.length===0)return!1;for(var I=0;I<m.length-1;I++)for(var U=m[I],J=m[I+1],ne=0;ne<y.length-1;ne++){var fe=y[ne],Fe=y[ne+1];if(yd(U,J,fe,Fe))return!0}return!1}function yd(m,y,I,U){return ae(m,I,U)!==ae(y,I,U)&&ae(m,y,I)!==ae(m,y,U)}function Yv(m,y,I){var U=I*I;if(y.length===1)return m.distSqr(y[0])<U;for(var J=1;J<y.length;J++){var ne=y[J-1],fe=y[J];if(cg(m,ne,fe)<U)return!0}return!1}function cg(m,y,I){var U=y.distSqr(I);if(U===0)return m.distSqr(y);var J=((m.x-y.x)*(I.x-y.x)+(m.y-y.y)*(I.y-y.y))/U;return J<0?m.distSqr(y):J>1?m.distSqr(I):m.distSqr(I.sub(y)._mult(J)._add(y))}function vp(m,y){for(var I=!1,U,J,ne,fe=0;fe<m.length;fe++){U=m[fe];for(var Fe=0,Qe=U.length-1;Fe<U.length;Qe=Fe++)J=U[Fe],ne=U[Qe],J.y>y.y!=ne.y>y.y&&y.x<(ne.x-J.x)*(y.y-J.y)/(ne.y-J.y)+J.x&&(I=!I)}return I}function _d(m,y){for(var I=!1,U=0,J=m.length-1;U<m.length;J=U++){var ne=m[U],fe=m[J];ne.y>y.y!=fe.y>y.y&&y.x<(fe.x-ne.x)*(y.y-ne.y)/(fe.y-ne.y)+ne.x&&(I=!I)}return I}function pp(m,y,I,U,J){for(var ne=0,fe=m;ne<fe.length;ne+=1){var Fe=fe[ne];if(y<=Fe.x&&I<=Fe.y&&U>=Fe.x&&J>=Fe.y)return!0}var Qe=[new u(y,I),new u(y,J),new u(U,J),new u(U,I)];if(m.length>2)for(var st=0,mt=Qe;st<mt.length;st+=1){var Xt=mt[st];if(_d(m,Xt))return!0}for(var ur=0;ur<m.length-1;ur++){var nr=m[ur],Lr=m[ur+1];if(Nd(nr,Lr,Qe))return!0}return!1}function Nd(m,y,I){var U=I[0],J=I[2];if(m.x<U.x&&y.x<U.x||m.x>J.x&&y.x>J.x||m.y<U.y&&y.y<U.y||m.y>J.y&&y.y>J.y)return!1;var ne=ae(m,y,I[0]);return ne!==ae(m,y,I[1])||ne!==ae(m,y,I[2])||ne!==ae(m,y,I[3])}function xd(m,y,I){var U=y.paint.get(m).value;return U.kind===\"constant\"?U.value:I.programConfigurations.get(y.id).getMaxValue(m)}function kv(m){return Math.sqrt(m[0]*m[0]+m[1]*m[1])}function Kv(m,y,I,U,J){if(!y[0]&&!y[1])return m;var ne=u.convert(y)._mult(J);I===\"viewport\"&&ne._rotate(-U);for(var fe=[],Fe=0;Fe<m.length;Fe++){var Qe=m[Fe];fe.push(Qe.sub(ne))}return fe}var Cv=new Oi({\"circle-sort-key\":new Er(on.layout_circle[\"circle-sort-key\"])}),ny=new Oi({\"circle-radius\":new Er(on.paint_circle[\"circle-radius\"]),\"circle-color\":new Er(on.paint_circle[\"circle-color\"]),\"circle-blur\":new Er(on.paint_circle[\"circle-blur\"]),\"circle-opacity\":new Er(on.paint_circle[\"circle-opacity\"]),\"circle-translate\":new At(on.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new At(on.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new At(on.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new At(on.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new Er(on.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new Er(on.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new Er(on.paint_circle[\"circle-stroke-opacity\"])}),fg={paint:ny,layout:Cv},Hf=typeof Float32Array!=\"undefined\"?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var m=arguments,y=0,I=arguments.length;I--;)y+=m[I]*m[I];return Math.sqrt(y)});function hg(){var m=new Hf(4);return Hf!=Float32Array&&(m[1]=0,m[2]=0),m[0]=1,m[3]=1,m}function ay(m,y,I){var U=y[0],J=y[1],ne=y[2],fe=y[3],Fe=Math.sin(I),Qe=Math.cos(I);return m[0]=U*Qe+ne*Fe,m[1]=J*Qe+fe*Fe,m[2]=U*-Fe+ne*Qe,m[3]=J*-Fe+fe*Qe,m}function Rh(){var m=new Hf(9);return Hf!=Float32Array&&(m[1]=0,m[2]=0,m[3]=0,m[5]=0,m[6]=0,m[7]=0),m[0]=1,m[4]=1,m[8]=1,m}function rm(m,y){var I=Math.sin(y),U=Math.cos(y);return m[0]=U,m[1]=I,m[2]=0,m[3]=-I,m[4]=U,m[5]=0,m[6]=0,m[7]=0,m[8]=1,m}function w1(){var m=new Hf(16);return Hf!=Float32Array&&(m[1]=0,m[2]=0,m[3]=0,m[4]=0,m[6]=0,m[7]=0,m[8]=0,m[9]=0,m[11]=0,m[12]=0,m[13]=0,m[14]=0),m[0]=1,m[5]=1,m[10]=1,m[15]=1,m}function T1(m){var y=new Hf(16);return y[0]=m[0],y[1]=m[1],y[2]=m[2],y[3]=m[3],y[4]=m[4],y[5]=m[5],y[6]=m[6],y[7]=m[7],y[8]=m[8],y[9]=m[9],y[10]=m[10],y[11]=m[11],y[12]=m[12],y[13]=m[13],y[14]=m[14],y[15]=m[15],y}function oy(m){return m[0]=1,m[1]=0,m[2]=0,m[3]=0,m[4]=0,m[5]=1,m[6]=0,m[7]=0,m[8]=0,m[9]=0,m[10]=1,m[11]=0,m[12]=0,m[13]=0,m[14]=0,m[15]=1,m}function im(m,y){var I=y[0],U=y[1],J=y[2],ne=y[3],fe=y[4],Fe=y[5],Qe=y[6],st=y[7],mt=y[8],Xt=y[9],ur=y[10],nr=y[11],Lr=y[12],Yr=y[13],_i=y[14],si=y[15],Hi=I*Fe-U*fe,Ei=I*Qe-J*fe,Vi=I*st-ne*fe,en=U*Qe-J*Fe,An=U*st-ne*Fe,ra=J*st-ne*Qe,$n=mt*Yr-Xt*Lr,Ba=mt*_i-ur*Lr,_a=mt*si-nr*Lr,Pa=Xt*_i-ur*Yr,qo=Xt*si-nr*Yr,Na=ur*si-nr*_i,ja=Hi*Na-Ei*qo+Vi*Pa+en*_a-An*Ba+ra*$n;return ja?(ja=1/ja,m[0]=(Fe*Na-Qe*qo+st*Pa)*ja,m[1]=(J*qo-U*Na-ne*Pa)*ja,m[2]=(Yr*ra-_i*An+si*en)*ja,m[3]=(ur*An-Xt*ra-nr*en)*ja,m[4]=(Qe*_a-fe*Na-st*Ba)*ja,m[5]=(I*Na-J*_a+ne*Ba)*ja,m[6]=(_i*Vi-Lr*ra-si*Ei)*ja,m[7]=(mt*ra-ur*Vi+nr*Ei)*ja,m[8]=(fe*qo-Fe*_a+st*$n)*ja,m[9]=(U*_a-I*qo-ne*$n)*ja,m[10]=(Lr*An-Yr*Vi+si*Hi)*ja,m[11]=(Xt*Vi-mt*An-nr*Hi)*ja,m[12]=(Fe*Ba-fe*Pa-Qe*$n)*ja,m[13]=(I*Pa-U*Ba+J*$n)*ja,m[14]=(Yr*Ei-Lr*en-_i*Hi)*ja,m[15]=(mt*en-Xt*Ei+ur*Hi)*ja,m):null}function nm(m,y,I){var U=y[0],J=y[1],ne=y[2],fe=y[3],Fe=y[4],Qe=y[5],st=y[6],mt=y[7],Xt=y[8],ur=y[9],nr=y[10],Lr=y[11],Yr=y[12],_i=y[13],si=y[14],Hi=y[15],Ei=I[0],Vi=I[1],en=I[2],An=I[3];return m[0]=Ei*U+Vi*Fe+en*Xt+An*Yr,m[1]=Ei*J+Vi*Qe+en*ur+An*_i,m[2]=Ei*ne+Vi*st+en*nr+An*si,m[3]=Ei*fe+Vi*mt+en*Lr+An*Hi,Ei=I[4],Vi=I[5],en=I[6],An=I[7],m[4]=Ei*U+Vi*Fe+en*Xt+An*Yr,m[5]=Ei*J+Vi*Qe+en*ur+An*_i,m[6]=Ei*ne+Vi*st+en*nr+An*si,m[7]=Ei*fe+Vi*mt+en*Lr+An*Hi,Ei=I[8],Vi=I[9],en=I[10],An=I[11],m[8]=Ei*U+Vi*Fe+en*Xt+An*Yr,m[9]=Ei*J+Vi*Qe+en*ur+An*_i,m[10]=Ei*ne+Vi*st+en*nr+An*si,m[11]=Ei*fe+Vi*mt+en*Lr+An*Hi,Ei=I[12],Vi=I[13],en=I[14],An=I[15],m[12]=Ei*U+Vi*Fe+en*Xt+An*Yr,m[13]=Ei*J+Vi*Qe+en*ur+An*_i,m[14]=Ei*ne+Vi*st+en*nr+An*si,m[15]=Ei*fe+Vi*mt+en*Lr+An*Hi,m}function Fu(m,y,I){var U=I[0],J=I[1],ne=I[2],fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si;return y===m?(m[12]=y[0]*U+y[4]*J+y[8]*ne+y[12],m[13]=y[1]*U+y[5]*J+y[9]*ne+y[13],m[14]=y[2]*U+y[6]*J+y[10]*ne+y[14],m[15]=y[3]*U+y[7]*J+y[11]*ne+y[15]):(fe=y[0],Fe=y[1],Qe=y[2],st=y[3],mt=y[4],Xt=y[5],ur=y[6],nr=y[7],Lr=y[8],Yr=y[9],_i=y[10],si=y[11],m[0]=fe,m[1]=Fe,m[2]=Qe,m[3]=st,m[4]=mt,m[5]=Xt,m[6]=ur,m[7]=nr,m[8]=Lr,m[9]=Yr,m[10]=_i,m[11]=si,m[12]=fe*U+mt*J+Lr*ne+y[12],m[13]=Fe*U+Xt*J+Yr*ne+y[13],m[14]=Qe*U+ur*J+_i*ne+y[14],m[15]=st*U+nr*J+si*ne+y[15]),m}function kl(m,y,I){var U=I[0],J=I[1],ne=I[2];return m[0]=y[0]*U,m[1]=y[1]*U,m[2]=y[2]*U,m[3]=y[3]*U,m[4]=y[4]*J,m[5]=y[5]*J,m[6]=y[6]*J,m[7]=y[7]*J,m[8]=y[8]*ne,m[9]=y[9]*ne,m[10]=y[10]*ne,m[11]=y[11]*ne,m[12]=y[12],m[13]=y[13],m[14]=y[14],m[15]=y[15],m}function bd(m,y,I){var U=Math.sin(I),J=Math.cos(I),ne=y[4],fe=y[5],Fe=y[6],Qe=y[7],st=y[8],mt=y[9],Xt=y[10],ur=y[11];return y!==m&&(m[0]=y[0],m[1]=y[1],m[2]=y[2],m[3]=y[3],m[12]=y[12],m[13]=y[13],m[14]=y[14],m[15]=y[15]),m[4]=ne*J+st*U,m[5]=fe*J+mt*U,m[6]=Fe*J+Xt*U,m[7]=Qe*J+ur*U,m[8]=st*J-ne*U,m[9]=mt*J-fe*U,m[10]=Xt*J-Fe*U,m[11]=ur*J-Qe*U,m}function sy(m,y,I){var U=Math.sin(I),J=Math.cos(I),ne=y[0],fe=y[1],Fe=y[2],Qe=y[3],st=y[4],mt=y[5],Xt=y[6],ur=y[7];return y!==m&&(m[8]=y[8],m[9]=y[9],m[10]=y[10],m[11]=y[11],m[12]=y[12],m[13]=y[13],m[14]=y[14],m[15]=y[15]),m[0]=ne*J+st*U,m[1]=fe*J+mt*U,m[2]=Fe*J+Xt*U,m[3]=Qe*J+ur*U,m[4]=st*J-ne*U,m[5]=mt*J-fe*U,m[6]=Xt*J-Fe*U,m[7]=ur*J-Qe*U,m}function A1(m,y,I,U,J){var ne=1/Math.tan(y/2),fe;return m[0]=ne/I,m[1]=0,m[2]=0,m[3]=0,m[4]=0,m[5]=ne,m[6]=0,m[7]=0,m[8]=0,m[9]=0,m[11]=-1,m[12]=0,m[13]=0,m[15]=0,J!=null&&J!==1/0?(fe=1/(U-J),m[10]=(J+U)*fe,m[14]=2*J*U*fe):(m[10]=-1,m[14]=-2*U),m}function Kl(m,y,I,U,J,ne,fe){var Fe=1/(y-I),Qe=1/(U-J),st=1/(ne-fe);return m[0]=-2*Fe,m[1]=0,m[2]=0,m[3]=0,m[4]=0,m[5]=-2*Qe,m[6]=0,m[7]=0,m[8]=0,m[9]=0,m[10]=2*st,m[11]=0,m[12]=(y+I)*Fe,m[13]=(J+U)*Qe,m[14]=(fe+ne)*st,m[15]=1,m}var Nx=nm;function am(){var m=new Hf(3);return Hf!=Float32Array&&(m[0]=0,m[1]=0,m[2]=0),m}function Mw(m){var y=new Hf(3);return y[0]=m[0],y[1]=m[1],y[2]=m[2],y}function Lv(m,y,I){return m[0]=y[0]+I[0],m[1]=y[1]+I[1],m[2]=y[2]+I[2],m}function om(m,y,I){return m[0]=y[0]-I[0],m[1]=y[1]-I[1],m[2]=y[2]-I[2],m}function Ew(m,y,I){return m[0]=y[0]*I,m[1]=y[1]*I,m[2]=y[2]*I,m}function Ux(m,y){var I=y[0],U=y[1],J=y[2],ne=I*I+U*U+J*J;return ne>0&&(ne=1/Math.sqrt(ne)),m[0]=y[0]*ne,m[1]=y[1]*ne,m[2]=y[2]*ne,m}function P9(m,y){return m[0]*y[0]+m[1]*y[1]+m[2]*y[2]}function I9(m,y,I){var U=y[0],J=y[1],ne=y[2],fe=I[0],Fe=I[1],Qe=I[2];return m[0]=J*Qe-ne*Fe,m[1]=ne*fe-U*Qe,m[2]=U*Fe-J*fe,m}function R9(m,y,I){var U=y[0],J=y[1],ne=y[2];return m[0]=U*I[0]+J*I[3]+ne*I[6],m[1]=U*I[1]+J*I[4]+ne*I[7],m[2]=U*I[2]+J*I[5]+ne*I[8],m}var D9=om,mQ=function(){var m=am();return function(y,I,U,J,ne,fe){var Fe,Qe;for(I||(I=3),U||(U=0),J?Qe=Math.min(J*I+U,y.length):Qe=y.length,Fe=U;Fe<Qe;Fe+=I)m[0]=y[Fe],m[1]=y[Fe+1],m[2]=y[Fe+2],ne(m,m,fe),y[Fe]=m[0],y[Fe+1]=m[1],y[Fe+2]=m[2];return y}}();function z9(){var m=new Hf(4);return Hf!=Float32Array&&(m[0]=0,m[1]=0,m[2]=0,m[3]=0),m}function F9(m,y,I){return m[0]=y[0]*I,m[1]=y[1]*I,m[2]=y[2]*I,m[3]=y[3]*I,m}function q9(m,y){return m[0]*y[0]+m[1]*y[1]+m[2]*y[2]+m[3]*y[3]}function ly(m,y,I){var U=y[0],J=y[1],ne=y[2],fe=y[3];return m[0]=I[0]*U+I[4]*J+I[8]*ne+I[12]*fe,m[1]=I[1]*U+I[5]*J+I[9]*ne+I[13]*fe,m[2]=I[2]*U+I[6]*J+I[10]*ne+I[14]*fe,m[3]=I[3]*U+I[7]*J+I[11]*ne+I[15]*fe,m}var Vx=function(){var m=z9();return function(y,I,U,J,ne,fe){var Fe,Qe;for(I||(I=4),U||(U=0),J?Qe=Math.min(J*I+U,y.length):Qe=y.length,Fe=U;Fe<Qe;Fe+=I)m[0]=y[Fe],m[1]=y[Fe+1],m[2]=y[Fe+2],m[3]=y[Fe+3],ne(m,m,fe),y[Fe]=m[0],y[Fe+1]=m[1],y[Fe+2]=m[2],y[Fe+3]=m[3];return y}}();function cC(){var m=new Hf(2);return Hf!=Float32Array&&(m[0]=0,m[1]=0),m}function eS(m){var y=m[0],I=m[1];return y*y+I*I}var tS=eS,yQ=function(){var m=cC();return function(y,I,U,J,ne,fe){var Fe,Qe;for(I||(I=2),U||(U=0),J?Qe=Math.min(J*I+U,y.length):Qe=y.length,Fe=U;Fe<Qe;Fe+=I)m[0]=y[Fe],m[1]=y[Fe+1],ne(m,m,fe),y[Fe]=m[0],y[Fe+1]=m[1];return y}}(),O9=function(m){function y(I){m.call(this,I,fg)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.createBucket=function(U){return new ps(U)},y.prototype.queryRadius=function(U){var J=U;return xd(\"circle-radius\",this,J)+xd(\"circle-stroke-width\",this,J)+kv(this.paint.get(\"circle-translate\"))},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st,mt){for(var Xt=Kv(U,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),Qe.angle,st),ur=this.paint.get(\"circle-radius\").evaluate(J,ne),nr=this.paint.get(\"circle-stroke-width\").evaluate(J,ne),Lr=ur+nr,Yr=this.paint.get(\"circle-pitch-alignment\")===\"map\",_i=Yr?Xt:hC(Xt,mt),si=Yr?Lr*st:Lr,Hi=0,Ei=fe;Hi<Ei.length;Hi+=1)for(var Vi=Ei[Hi],en=0,An=Vi;en<An.length;en+=1){var ra=An[en],$n=Yr?ra:fC(ra,mt),Ba=si,_a=ly([],[ra.x,ra.y,0,1],mt);if(this.paint.get(\"circle-pitch-scale\")===\"viewport\"&&this.paint.get(\"circle-pitch-alignment\")===\"map\"?Ba*=_a[3]/Qe.cameraToCenterDistance:this.paint.get(\"circle-pitch-scale\")===\"map\"&&this.paint.get(\"circle-pitch-alignment\")===\"viewport\"&&(Ba*=Qe.cameraToCenterDistance/_a[3]),as(_i,$n,Ba))return!0}return!1},y}(cn);function fC(m,y){var I=ly([],[m.x,m.y,0,1],y);return new u(I[0]/I[3],I[1]/I[3])}function hC(m,y){return m.map(function(I){return fC(I,y)})}var rS=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(ps);Z(\"HeatmapBucket\",rS,{omit:[\"layers\"]});function wd(m,y,I,U){var J=y.width,ne=y.height;if(!U)U=new Uint8Array(J*ne*I);else if(U instanceof Uint8ClampedArray)U=new Uint8Array(U.buffer);else if(U.length!==J*ne*I)throw new RangeError(\"mismatched image size\");return m.width=J,m.height=ne,m.data=U,m}function kw(m,y,I){var U=y.width,J=y.height;if(!(U===m.width&&J===m.height)){var ne=wd({},{width:U,height:J},I);Cw(m,ne,{x:0,y:0},{x:0,y:0},{width:Math.min(m.width,U),height:Math.min(m.height,J)},I),m.width=U,m.height=J,m.data=ne.data}}function Cw(m,y,I,U,J,ne){if(J.width===0||J.height===0)return y;if(J.width>m.width||J.height>m.height||I.x>m.width-J.width||I.y>m.height-J.height)throw new RangeError(\"out of range source coordinates for image copy\");if(J.width>y.width||J.height>y.height||U.x>y.width-J.width||U.y>y.height-J.height)throw new RangeError(\"out of range destination coordinates for image copy\");for(var fe=m.data,Fe=y.data,Qe=0;Qe<J.height;Qe++)for(var st=((I.y+Qe)*m.width+I.x)*ne,mt=((U.y+Qe)*y.width+U.x)*ne,Xt=0;Xt<J.width*ne;Xt++)Fe[mt+Xt]=fe[st+Xt];return y}var Pv=function(y,I){wd(this,y,1,I)};Pv.prototype.resize=function(y){kw(this,y,1)},Pv.prototype.clone=function(){return new Pv({width:this.width,height:this.height},new Uint8Array(this.data))},Pv.copy=function(y,I,U,J,ne){Cw(y,I,U,J,ne,1)};var lh=function(y,I){wd(this,y,4,I)};lh.prototype.resize=function(y){kw(this,y,4)},lh.prototype.replace=function(y,I){I?this.data.set(y):y instanceof Uint8ClampedArray?this.data=new Uint8Array(y.buffer):this.data=y},lh.prototype.clone=function(){return new lh({width:this.width,height:this.height},new Uint8Array(this.data))},lh.copy=function(y,I,U,J,ne){Cw(y,I,U,J,ne,4)},Z(\"AlphaImage\",Pv),Z(\"RGBAImage\",lh);var Hx=new Oi({\"heatmap-radius\":new Er(on.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new Er(on.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new At(on.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new Ui(on.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new At(on.paint_heatmap[\"heatmap-opacity\"])}),S1={paint:Hx};function Gx(m){var y={},I=m.resolution||256,U=m.clips?m.clips.length:1,J=m.image||new lh({width:I,height:U}),ne=function(Hi,Ei,Vi){y[m.evaluationKey]=Vi;var en=m.expression.evaluate(y);J.data[Hi+Ei+0]=Math.floor(en.r*255/en.a),J.data[Hi+Ei+1]=Math.floor(en.g*255/en.a),J.data[Hi+Ei+2]=Math.floor(en.b*255/en.a),J.data[Hi+Ei+3]=Math.floor(en.a*255)};if(m.clips)for(var st=0,mt=0;st<U;++st,mt+=I*4)for(var Xt=0,ur=0;Xt<I;Xt++,ur+=4){var nr=Xt/(I-1),Lr=m.clips[st],Yr=Lr.start,_i=Lr.end,si=Yr*(1-nr)+_i*nr;ne(mt,ur,si)}else for(var fe=0,Fe=0;fe<I;fe++,Fe+=4){var Qe=fe/(I-1);ne(0,Fe,Qe)}return J}var Lw=function(m){function y(I){m.call(this,I,S1),this._updateColorRamp()}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.createBucket=function(U){return new rS(U)},y.prototype._handleSpecialPaintPropertyUpdate=function(U){U===\"heatmap-color\"&&this._updateColorRamp()},y.prototype._updateColorRamp=function(){var U=this._transitionablePaint._values[\"heatmap-color\"].value.expression;this.colorRamp=Gx({expression:U,evaluationKey:\"heatmapDensity\",image:this.colorRamp}),this.colorRampTexture=null},y.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)},y.prototype.queryRadius=function(){return 0},y.prototype.queryIntersectsFeature=function(){return!1},y.prototype.hasOffscreenPass=function(){return this.paint.get(\"heatmap-opacity\")!==0&&this.visibility!==\"none\"},y}(cn),B9=new Oi({\"hillshade-illumination-direction\":new At(on.paint_hillshade[\"hillshade-illumination-direction\"]),\"hillshade-illumination-anchor\":new At(on.paint_hillshade[\"hillshade-illumination-anchor\"]),\"hillshade-exaggeration\":new At(on.paint_hillshade[\"hillshade-exaggeration\"]),\"hillshade-shadow-color\":new At(on.paint_hillshade[\"hillshade-shadow-color\"]),\"hillshade-highlight-color\":new At(on.paint_hillshade[\"hillshade-highlight-color\"]),\"hillshade-accent-color\":new At(on.paint_hillshade[\"hillshade-accent-color\"])}),N9={paint:B9},dC=function(m){function y(I){m.call(this,I,N9)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.hasOffscreenPass=function(){return this.paint.get(\"hillshade-exaggeration\")!==0&&this.visibility!==\"none\"},y}(cn),vC=Dn([{name:\"a_pos\",components:2,type:\"Int16\"}],4),U9=vC.members,Pw=M1,pC=M1;function M1(m,y,I){I=I||2;var U=y&&y.length,J=U?y[0]*I:m.length,ne=Iw(m,0,J,I,!0),fe=[];if(!ne||ne.next===ne.prev)return fe;var Fe,Qe,st,mt,Xt,ur,nr;if(U&&(ne=lm(m,y,ne,I)),m.length>80*I){Fe=st=m[0],Qe=mt=m[1];for(var Lr=I;Lr<J;Lr+=I)Xt=m[Lr],ur=m[Lr+1],Xt<Fe&&(Fe=Xt),ur<Qe&&(Qe=ur),Xt>st&&(st=Xt),ur>mt&&(mt=ur);nr=Math.max(st-Fe,mt-Qe),nr=nr!==0?1/nr:0}return jx(ne,fe,I,Fe,Qe,nr),fe}function Iw(m,y,I,U,J){var ne,fe;if(J===uS(m,y,I,U)>0)for(ne=y;ne<I;ne+=U)fe=xC(ne,m[ne],m[ne+1],fe);else for(ne=I-U;ne>=y;ne-=U)fe=xC(ne,m[ne],m[ne+1],fe);return fe&&Zx(fe,fe.next)&&(Kx(fe),fe=fe.next),fe}function sm(m,y){if(!m)return m;y||(y=m);var I=m,U;do if(U=!1,!I.steiner&&(Zx(I,I.next)||tf(I.prev,I,I.next)===0)){if(Kx(I),I=y=I.prev,I===I.next)break;U=!0}else I=I.next;while(U||I!==y);return y}function jx(m,y,I,U,J,ne,fe){if(m){!fe&&ne&&Rw(m,U,J,ne);for(var Fe=m,Qe,st;m.prev!==m.next;){if(Qe=m.prev,st=m.next,ne?mC(m,U,J,ne):gC(m)){y.push(Qe.i/I),y.push(m.i/I),y.push(st.i/I),Kx(m),m=st.next,Fe=st.next;continue}if(m=st,m===Fe){fe?fe===1?(m=Wx(sm(m),y,I),jx(m,y,I,U,J,ne,2)):fe===2&&v0(m,y,I,U,J,ne):jx(sm(m),y,I,U,J,ne,1);break}}}}function gC(m){var y=m.prev,I=m,U=m.next;if(tf(y,I,U)>=0)return!1;for(var J=m.next.next;J!==m.prev;){if(um(y.x,y.y,I.x,I.y,U.x,U.y,J.x,J.y)&&tf(J.prev,J,J.next)>=0)return!1;J=J.next}return!0}function mC(m,y,I,U){var J=m.prev,ne=m,fe=m.next;if(tf(J,ne,fe)>=0)return!1;for(var Fe=J.x<ne.x?J.x<fe.x?J.x:fe.x:ne.x<fe.x?ne.x:fe.x,Qe=J.y<ne.y?J.y<fe.y?J.y:fe.y:ne.y<fe.y?ne.y:fe.y,st=J.x>ne.x?J.x>fe.x?J.x:fe.x:ne.x>fe.x?ne.x:fe.x,mt=J.y>ne.y?J.y>fe.y?J.y:fe.y:ne.y>fe.y?ne.y:fe.y,Xt=aS(Fe,Qe,y,I,U),ur=aS(st,mt,y,I,U),nr=m.prevZ,Lr=m.nextZ;nr&&nr.z>=Xt&&Lr&&Lr.z<=ur;){if(nr!==m.prev&&nr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,nr.x,nr.y)&&tf(nr.prev,nr,nr.next)>=0||(nr=nr.prevZ,Lr!==m.prev&&Lr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,Lr.x,Lr.y)&&tf(Lr.prev,Lr,Lr.next)>=0))return!1;Lr=Lr.nextZ}for(;nr&&nr.z>=Xt;){if(nr!==m.prev&&nr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,nr.x,nr.y)&&tf(nr.prev,nr,nr.next)>=0)return!1;nr=nr.prevZ}for(;Lr&&Lr.z<=ur;){if(Lr!==m.prev&&Lr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,Lr.x,Lr.y)&&tf(Lr.prev,Lr,Lr.next)>=0)return!1;Lr=Lr.nextZ}return!0}function Wx(m,y,I){var U=m;do{var J=U.prev,ne=U.next.next;!Zx(J,ne)&&Dw(J,U,U.next,ne)&&Yx(J,ne)&&Yx(ne,J)&&(y.push(J.i/I),y.push(U.i/I),y.push(ne.i/I),Kx(U),Kx(U.next),U=m=ne),U=U.next}while(U!==m);return sm(U)}function v0(m,y,I,U,J,ne){var fe=m;do{for(var Fe=fe.next.next;Fe!==fe.prev;){if(fe.i!==Fe.i&&E1(fe,Fe)){var Qe=sS(fe,Fe);fe=sm(fe,fe.next),Qe=sm(Qe,Qe.next),jx(fe,y,I,U,J,ne),jx(Qe,y,I,U,J,ne);return}Fe=Fe.next}fe=fe.next}while(fe!==m)}function lm(m,y,I,U){var J=[],ne,fe,Fe,Qe,st;for(ne=0,fe=y.length;ne<fe;ne++)Fe=y[ne]*U,Qe=ne<fe-1?y[ne+1]*U:m.length,st=Iw(m,Fe,Qe,U,!1),st===st.next&&(st.steiner=!0),J.push(oS(st));for(J.sort(yC),ne=0;ne<J.length;ne++)iS(J[ne],I),I=sm(I,I.next);return I}function yC(m,y){return m.x-y.x}function iS(m,y){if(y=V9(m,y),y){var I=sS(y,m);sm(y,y.next),sm(I,I.next)}}function V9(m,y){var I=y,U=m.x,J=m.y,ne=-1/0,fe;do{if(J<=I.y&&J>=I.next.y&&I.next.y!==I.y){var Fe=I.x+(J-I.y)*(I.next.x-I.x)/(I.next.y-I.y);if(Fe<=U&&Fe>ne){if(ne=Fe,Fe===U){if(J===I.y)return I;if(J===I.next.y)return I.next}fe=I.x<I.next.x?I:I.next}}I=I.next}while(I!==y);if(!fe)return null;if(U===ne)return fe;var Qe=fe,st=fe.x,mt=fe.y,Xt=1/0,ur;I=fe;do U>=I.x&&I.x>=st&&U!==I.x&&um(J<mt?U:ne,J,st,mt,J<mt?ne:U,J,I.x,I.y)&&(ur=Math.abs(J-I.y)/(U-I.x),Yx(I,m)&&(ur<Xt||ur===Xt&&(I.x>fe.x||I.x===fe.x&&H9(fe,I)))&&(fe=I,Xt=ur)),I=I.next;while(I!==Qe);return fe}function H9(m,y){return tf(m.prev,m,y.prev)<0&&tf(y.next,m,m.next)<0}function Rw(m,y,I,U){var J=m;do J.z===null&&(J.z=aS(J.x,J.y,y,I,U)),J.prevZ=J.prev,J.nextZ=J.next,J=J.next;while(J!==m);J.prevZ.nextZ=null,J.prevZ=null,nS(J)}function nS(m){var y,I,U,J,ne,fe,Fe,Qe,st=1;do{for(I=m,m=null,ne=null,fe=0;I;){for(fe++,U=I,Fe=0,y=0;y<st&&(Fe++,U=U.nextZ,!!U);y++);for(Qe=st;Fe>0||Qe>0&&U;)Fe!==0&&(Qe===0||!U||I.z<=U.z)?(J=I,I=I.nextZ,Fe--):(J=U,U=U.nextZ,Qe--),ne?ne.nextZ=J:m=J,J.prevZ=ne,ne=J;I=U}ne.nextZ=null,st*=2}while(fe>1);return m}function aS(m,y,I,U,J){return m=32767*(m-I)*J,y=32767*(y-U)*J,m=(m|m<<8)&16711935,m=(m|m<<4)&252645135,m=(m|m<<2)&858993459,m=(m|m<<1)&1431655765,y=(y|y<<8)&16711935,y=(y|y<<4)&252645135,y=(y|y<<2)&858993459,y=(y|y<<1)&1431655765,m|y<<1}function oS(m){var y=m,I=m;do(y.x<I.x||y.x===I.x&&y.y<I.y)&&(I=y),y=y.next;while(y!==m);return I}function um(m,y,I,U,J,ne,fe,Fe){return(J-fe)*(y-Fe)-(m-fe)*(ne-Fe)>=0&&(m-fe)*(U-Fe)-(I-fe)*(y-Fe)>=0&&(I-fe)*(ne-Fe)-(J-fe)*(U-Fe)>=0}function E1(m,y){return m.next.i!==y.i&&m.prev.i!==y.i&&!_C(m,y)&&(Yx(m,y)&&Yx(y,m)&&G9(m,y)&&(tf(m.prev,m,y.prev)||tf(m,y.prev,y))||Zx(m,y)&&tf(m.prev,m,m.next)>0&&tf(y.prev,y,y.next)>0)}function tf(m,y,I){return(y.y-m.y)*(I.x-y.x)-(y.x-m.x)*(I.y-y.y)}function Zx(m,y){return m.x===y.x&&m.y===y.y}function Dw(m,y,I,U){var J=uy(tf(m,y,I)),ne=uy(tf(m,y,U)),fe=uy(tf(I,U,m)),Fe=uy(tf(I,U,y));return!!(J!==ne&&fe!==Fe||J===0&&Xx(m,I,y)||ne===0&&Xx(m,U,y)||fe===0&&Xx(I,m,U)||Fe===0&&Xx(I,y,U))}function Xx(m,y,I){return y.x<=Math.max(m.x,I.x)&&y.x>=Math.min(m.x,I.x)&&y.y<=Math.max(m.y,I.y)&&y.y>=Math.min(m.y,I.y)}function uy(m){return m>0?1:m<0?-1:0}function _C(m,y){var I=m;do{if(I.i!==m.i&&I.next.i!==m.i&&I.i!==y.i&&I.next.i!==y.i&&Dw(I,I.next,m,y))return!0;I=I.next}while(I!==m);return!1}function Yx(m,y){return tf(m.prev,m,m.next)<0?tf(m,y,m.next)>=0&&tf(m,m.prev,y)>=0:tf(m,y,m.prev)<0||tf(m,m.next,y)<0}function G9(m,y){var I=m,U=!1,J=(m.x+y.x)/2,ne=(m.y+y.y)/2;do I.y>ne!=I.next.y>ne&&I.next.y!==I.y&&J<(I.next.x-I.x)*(ne-I.y)/(I.next.y-I.y)+I.x&&(U=!U),I=I.next;while(I!==m);return U}function sS(m,y){var I=new lS(m.i,m.x,m.y),U=new lS(y.i,y.x,y.y),J=m.next,ne=y.prev;return m.next=y,y.prev=m,I.next=J,J.prev=I,U.next=I,I.prev=U,ne.next=U,U.prev=ne,U}function xC(m,y,I,U){var J=new lS(m,y,I);return U?(J.next=U.next,J.prev=U,U.next.prev=J,U.next=J):(J.prev=J,J.next=J),J}function Kx(m){m.next.prev=m.prev,m.prev.next=m.next,m.prevZ&&(m.prevZ.nextZ=m.nextZ),m.nextZ&&(m.nextZ.prevZ=m.prevZ)}function lS(m,y,I){this.i=m,this.x=y,this.y=I,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}M1.deviation=function(m,y,I,U){var J=y&&y.length,ne=J?y[0]*I:m.length,fe=Math.abs(uS(m,0,ne,I));if(J)for(var Fe=0,Qe=y.length;Fe<Qe;Fe++){var st=y[Fe]*I,mt=Fe<Qe-1?y[Fe+1]*I:m.length;fe-=Math.abs(uS(m,st,mt,I))}var Xt=0;for(Fe=0;Fe<U.length;Fe+=3){var ur=U[Fe]*I,nr=U[Fe+1]*I,Lr=U[Fe+2]*I;Xt+=Math.abs((m[ur]-m[Lr])*(m[nr+1]-m[ur+1])-(m[ur]-m[nr])*(m[Lr+1]-m[ur+1]))}return fe===0&&Xt===0?0:Math.abs((Xt-fe)/fe)};function uS(m,y,I,U){for(var J=0,ne=y,fe=I-U;ne<I;ne+=U)J+=(m[fe]-m[ne])*(m[ne+1]+m[fe+1]),fe=ne;return J}M1.flatten=function(m){for(var y=m[0][0].length,I={vertices:[],holes:[],dimensions:y},U=0,J=0;J<m.length;J++){for(var ne=0;ne<m[J].length;ne++)for(var fe=0;fe<y;fe++)I.vertices.push(m[J][ne][fe]);J>0&&(U+=m[J-1].length,I.holes.push(U))}return I},Pw.default=pC;function cS(m,y,I,U,J){dg(m,y,I||0,U||m.length-1,J||bC)}function dg(m,y,I,U,J){for(;U>I;){if(U-I>600){var ne=U-I+1,fe=y-I+1,Fe=Math.log(ne),Qe=.5*Math.exp(2*Fe/3),st=.5*Math.sqrt(Fe*Qe*(ne-Qe)/ne)*(fe-ne/2<0?-1:1),mt=Math.max(I,Math.floor(y-fe*Qe/ne+st)),Xt=Math.min(U,Math.floor(y+(ne-fe)*Qe/ne+st));dg(m,y,mt,Xt,J)}var ur=m[y],nr=I,Lr=U;for(k1(m,I,y),J(m[U],ur)>0&&k1(m,I,U);nr<Lr;){for(k1(m,nr,Lr),nr++,Lr--;J(m[nr],ur)<0;)nr++;for(;J(m[Lr],ur)>0;)Lr--}J(m[I],ur)===0?k1(m,I,Lr):(Lr++,k1(m,Lr,U)),Lr<=y&&(I=Lr+1),y<=Lr&&(U=Lr-1)}}function k1(m,y,I){var U=m[y];m[y]=m[I],m[I]=U}function bC(m,y){return m<y?-1:m>y?1:0}function zw(m,y){var I=m.length;if(I<=1)return[m];for(var U=[],J,ne,fe=0;fe<I;fe++){var Fe=_e(m[fe]);Fe!==0&&(m[fe].area=Math.abs(Fe),ne===void 0&&(ne=Fe<0),ne===Fe<0?(J&&U.push(J),J=[m[fe]]):J.push(m[fe]))}if(J&&U.push(J),y>1)for(var Qe=0;Qe<U.length;Qe++)U[Qe].length<=y||(cS(U[Qe],y,1,U[Qe].length-1,wC),U[Qe]=U[Qe].slice(0,y));return U}function wC(m,y){return y.area-m.area}function Fw(m,y,I){for(var U=I.patternDependencies,J=!1,ne=0,fe=y;ne<fe.length;ne+=1){var Fe=fe[ne],Qe=Fe.paint.get(m+\"-pattern\");Qe.isConstant()||(J=!0);var st=Qe.constantOr(null);st&&(J=!0,U[st.to]=!0,U[st.from]=!0)}return J}function Jx(m,y,I,U,J){for(var ne=J.patternDependencies,fe=0,Fe=y;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=Qe.paint.get(m+\"-pattern\"),mt=st.value;if(mt.kind!==\"constant\"){var Xt=mt.evaluate({zoom:U-1},I,{},J.availableImages),ur=mt.evaluate({zoom:U},I,{},J.availableImages),nr=mt.evaluate({zoom:U+1},I,{},J.availableImages);Xt=Xt&&Xt.name?Xt.name:Xt,ur=ur&&ur.name?ur.name:ur,nr=nr&&nr.name?nr.name:nr,ne[Xt]=!0,ne[ur]=!0,ne[nr]=!0,I.patterns[Qe.id]={min:Xt,mid:ur,max:nr}}}return I}var $x=500,gp=function(y){this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=y.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ji,this.indexArray=new ma,this.indexArray2=new Po,this.programConfigurations=new Ri(y.layers,y.zoom),this.segments=new ns,this.segments2=new ns,this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};gp.prototype.populate=function(y,I,U){this.hasPattern=Fw(\"fill\",this.layers,I);for(var J=this.layers[0].layout.get(\"fill-sort-key\"),ne=[],fe=0,Fe=y;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=Qe.feature,mt=Qe.id,Xt=Qe.index,ur=Qe.sourceLayerIndex,nr=this.layers[0]._featureFilter.needGeometry,Lr=No(st,nr);if(this.layers[0]._featureFilter.filter(new pn(this.zoom),Lr,U)){var Yr=J?J.evaluate(Lr,{},U,I.availableImages):void 0,_i={id:mt,properties:st.properties,type:st.type,sourceLayerIndex:ur,index:Xt,geometry:nr?Lr.geometry:da(st),patterns:{},sortKey:Yr};ne.push(_i)}}J&&ne.sort(function(_a,Pa){return _a.sortKey-Pa.sortKey});for(var si=0,Hi=ne;si<Hi.length;si+=1){var Ei=Hi[si],Vi=Ei,en=Vi.geometry,An=Vi.index,ra=Vi.sourceLayerIndex;if(this.hasPattern){var $n=Jx(\"fill\",this.layers,Ei,this.zoom,I);this.patternFeatures.push($n)}else this.addFeature(Ei,en,An,U,{});var Ba=y[An].feature;I.featureIndex.insert(Ba,en,An,ra,this.index)}},gp.prototype.update=function(y,I,U){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(y,I,this.stateDependentLayers,U)},gp.prototype.addFeatures=function(y,I,U){for(var J=0,ne=this.patternFeatures;J<ne.length;J+=1){var fe=ne[J];this.addFeature(fe,fe.geometry,fe.index,I,U)}},gp.prototype.isEmpty=function(){return this.layoutVertexArray.length===0},gp.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},gp.prototype.upload=function(y){this.uploaded||(this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,U9),this.indexBuffer=y.createIndexBuffer(this.indexArray),this.indexBuffer2=y.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(y),this.uploaded=!0},gp.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())},gp.prototype.addFeature=function(y,I,U,J,ne){for(var fe=0,Fe=zw(I,$x);fe<Fe.length;fe+=1){for(var Qe=Fe[fe],st=0,mt=0,Xt=Qe;mt<Xt.length;mt+=1){var ur=Xt[mt];st+=ur.length}for(var nr=this.segments.prepareSegment(st,this.layoutVertexArray,this.indexArray),Lr=nr.vertexLength,Yr=[],_i=[],si=0,Hi=Qe;si<Hi.length;si+=1){var Ei=Hi[si];if(Ei.length!==0){Ei!==Qe[0]&&_i.push(Yr.length/2);var Vi=this.segments2.prepareSegment(Ei.length,this.layoutVertexArray,this.indexArray2),en=Vi.vertexLength;this.layoutVertexArray.emplaceBack(Ei[0].x,Ei[0].y),this.indexArray2.emplaceBack(en+Ei.length-1,en),Yr.push(Ei[0].x),Yr.push(Ei[0].y);for(var An=1;An<Ei.length;An++)this.layoutVertexArray.emplaceBack(Ei[An].x,Ei[An].y),this.indexArray2.emplaceBack(en+An-1,en+An),Yr.push(Ei[An].x),Yr.push(Ei[An].y);Vi.vertexLength+=Ei.length,Vi.primitiveLength+=Ei.length}}for(var ra=Pw(Yr,_i),$n=0;$n<ra.length;$n+=3)this.indexArray.emplaceBack(Lr+ra[$n],Lr+ra[$n+1],Lr+ra[$n+2]);nr.vertexLength+=st,nr.primitiveLength+=ra.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,y,U,ne,J)},Z(\"FillBucket\",gp,{omit:[\"layers\",\"patternFeatures\"]});var fS=new Oi({\"fill-sort-key\":new Er(on.layout_fill[\"fill-sort-key\"])}),TC=new Oi({\"fill-antialias\":new At(on.paint_fill[\"fill-antialias\"]),\"fill-opacity\":new Er(on.paint_fill[\"fill-opacity\"]),\"fill-color\":new Er(on.paint_fill[\"fill-color\"]),\"fill-outline-color\":new Er(on.paint_fill[\"fill-outline-color\"]),\"fill-translate\":new At(on.paint_fill[\"fill-translate\"]),\"fill-translate-anchor\":new At(on.paint_fill[\"fill-translate-anchor\"]),\"fill-pattern\":new Wr(on.paint_fill[\"fill-pattern\"])}),Jv={paint:TC,layout:fS},Qx=function(m){function y(I){m.call(this,I,Jv)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.recalculate=function(U,J){m.prototype.recalculate.call(this,U,J);var ne=this.paint._values[\"fill-outline-color\"];ne.value.kind===\"constant\"&&ne.value.value===void 0&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"])},y.prototype.createBucket=function(U){return new gp(U)},y.prototype.queryRadius=function(){return kv(this.paint.get(\"fill-translate\"))},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st){var mt=Kv(U,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),Qe.angle,st);return tl(mt,fe)},y.prototype.isTileClipped=function(){return!0},y}(cn),AC=Dn([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal_ed\",components:4,type:\"Int16\"}],4),SC=AC.members,hS=cy;function cy(m,y,I,U,J){this.properties={},this.extent=I,this.type=0,this._pbf=m,this._geometry=-1,this._keys=U,this._values=J,m.readFields(MC,this,y)}function MC(m,y,I){m==1?y.id=I.readVarint():m==2?EC(I,y):m==3?y.type=I.readVarint():m==4&&(y._geometry=I.pos)}function EC(m,y){for(var I=m.readVarint()+m.pos;m.pos<I;){var U=y._keys[m.readVarint()],J=y._values[m.readVarint()];y.properties[U]=J}}cy.types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],cy.prototype.loadGeometry=function(){var m=this._pbf;m.pos=this._geometry;for(var y=m.readVarint()+m.pos,I=1,U=0,J=0,ne=0,fe=[],Fe;m.pos<y;){if(U<=0){var Qe=m.readVarint();I=Qe&7,U=Qe>>3}if(U--,I===1||I===2)J+=m.readSVarint(),ne+=m.readSVarint(),I===1&&(Fe&&fe.push(Fe),Fe=[]),Fe.push(new u(J,ne));else if(I===7)Fe&&Fe.push(Fe[0].clone());else throw new Error(\"unknown command \"+I)}return Fe&&fe.push(Fe),fe},cy.prototype.bbox=function(){var m=this._pbf;m.pos=this._geometry;for(var y=m.readVarint()+m.pos,I=1,U=0,J=0,ne=0,fe=1/0,Fe=-1/0,Qe=1/0,st=-1/0;m.pos<y;){if(U<=0){var mt=m.readVarint();I=mt&7,U=mt>>3}if(U--,I===1||I===2)J+=m.readSVarint(),ne+=m.readSVarint(),J<fe&&(fe=J),J>Fe&&(Fe=J),ne<Qe&&(Qe=ne),ne>st&&(st=ne);else if(I!==7)throw new Error(\"unknown command \"+I)}return[fe,Qe,Fe,st]},cy.prototype.toGeoJSON=function(m,y,I){var U=this.extent*Math.pow(2,I),J=this.extent*m,ne=this.extent*y,fe=this.loadGeometry(),Fe=cy.types[this.type],Qe,st;function mt(nr){for(var Lr=0;Lr<nr.length;Lr++){var Yr=nr[Lr],_i=180-(Yr.y+ne)*360/U;nr[Lr]=[(Yr.x+J)*360/U-180,360/Math.PI*Math.atan(Math.exp(_i*Math.PI/180))-90]}}switch(this.type){case 1:var Xt=[];for(Qe=0;Qe<fe.length;Qe++)Xt[Qe]=fe[Qe][0];fe=Xt,mt(fe);break;case 2:for(Qe=0;Qe<fe.length;Qe++)mt(fe[Qe]);break;case 3:for(fe=j9(fe),Qe=0;Qe<fe.length;Qe++)for(st=0;st<fe[Qe].length;st++)mt(fe[Qe][st]);break}fe.length===1?fe=fe[0]:Fe=\"Multi\"+Fe;var ur={type:\"Feature\",geometry:{type:Fe,coordinates:fe},properties:this.properties};return\"id\"in this&&(ur.id=this.id),ur};function j9(m){var y=m.length;if(y<=1)return[m];for(var I=[],U,J,ne=0;ne<y;ne++){var fe=kC(m[ne]);fe!==0&&(J===void 0&&(J=fe<0),J===fe<0?(U&&I.push(U),U=[m[ne]]):U.push(m[ne]))}return U&&I.push(U),I}function kC(m){for(var y=0,I=0,U=m.length,J=U-1,ne,fe;I<U;J=I++)ne=m[I],fe=m[J],y+=(fe.x-ne.x)*(ne.y+fe.y);return y}var vg=dS;function dS(m,y){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=m,this._keys=[],this._values=[],this._features=[],m.readFields(CC,this,y),this.length=this._features.length}function CC(m,y,I){m===15?y.version=I.readVarint():m===1?y.name=I.readString():m===5?y.extent=I.readVarint():m===2?y._features.push(I.pos):m===3?y._keys.push(I.readString()):m===4&&y._values.push(LC(I))}function LC(m){for(var y=null,I=m.readVarint()+m.pos;m.pos<I;){var U=m.readVarint()>>3;y=U===1?m.readString():U===2?m.readFloat():U===3?m.readDouble():U===4?m.readVarint64():U===5?m.readVarint():U===6?m.readSVarint():U===7?m.readBoolean():null}return y}dS.prototype.feature=function(m){if(m<0||m>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[m];var y=this._pbf.readVarint()+this._pbf.pos;return new hS(this._pbf,y,this.extent,this._keys,this._values)};var PC=W9;function W9(m,y){this.layers=m.readFields(Z9,{},y)}function Z9(m,y,I){if(m===3){var U=new vg(I,I.readVarint()+I.pos);U.length&&(y[U.name]=U)}}var IC=PC,C1=hS,RC=vg,pg={VectorTile:IC,VectorTileFeature:C1,VectorTileLayer:RC},DC=pg.VectorTileFeature.types,qw=500,L1=Math.pow(2,13);function cm(m,y,I,U,J,ne,fe,Fe){m.emplaceBack(y,I,Math.floor(U*L1)*2+fe,J*L1*2,ne*L1*2,Math.round(Fe))}var Hp=function(y){this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=y.index,this.hasPattern=!1,this.layoutVertexArray=new Un,this.indexArray=new ma,this.programConfigurations=new Ri(y.layers,y.zoom),this.segments=new ns,this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};Hp.prototype.populate=function(y,I,U){this.features=[],this.hasPattern=Fw(\"fill-extrusion\",this.layers,I);for(var J=0,ne=y;J<ne.length;J+=1){var fe=ne[J],Fe=fe.feature,Qe=fe.id,st=fe.index,mt=fe.sourceLayerIndex,Xt=this.layers[0]._featureFilter.needGeometry,ur=No(Fe,Xt);if(this.layers[0]._featureFilter.filter(new pn(this.zoom),ur,U)){var nr={id:Qe,sourceLayerIndex:mt,index:st,geometry:Xt?ur.geometry:da(Fe),properties:Fe.properties,type:Fe.type,patterns:{}};this.hasPattern?this.features.push(Jx(\"fill-extrusion\",this.layers,nr,this.zoom,I)):this.addFeature(nr,nr.geometry,st,U,{}),I.featureIndex.insert(Fe,nr.geometry,st,mt,this.index,!0)}}},Hp.prototype.addFeatures=function(y,I,U){for(var J=0,ne=this.features;J<ne.length;J+=1){var fe=ne[J],Fe=fe.geometry;this.addFeature(fe,Fe,fe.index,I,U)}},Hp.prototype.update=function(y,I,U){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(y,I,this.stateDependentLayers,U)},Hp.prototype.isEmpty=function(){return this.layoutVertexArray.length===0},Hp.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Hp.prototype.upload=function(y){this.uploaded||(this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,SC),this.indexBuffer=y.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(y),this.uploaded=!0},Hp.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Hp.prototype.addFeature=function(y,I,U,J,ne){for(var fe=0,Fe=zw(I,qw);fe<Fe.length;fe+=1){for(var Qe=Fe[fe],st=0,mt=0,Xt=Qe;mt<Xt.length;mt+=1){var ur=Xt[mt];st+=ur.length}for(var nr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),Lr=0,Yr=Qe;Lr<Yr.length;Lr+=1){var _i=Yr[Lr];if(_i.length!==0&&!Y9(_i))for(var si=0,Hi=0;Hi<_i.length;Hi++){var Ei=_i[Hi];if(Hi>=1){var Vi=_i[Hi-1];if(!X9(Ei,Vi)){nr.vertexLength+4>ns.MAX_VERTEX_ARRAY_LENGTH&&(nr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var en=Ei.sub(Vi)._perp()._unit(),An=Vi.dist(Ei);si+An>32768&&(si=0),cm(this.layoutVertexArray,Ei.x,Ei.y,en.x,en.y,0,0,si),cm(this.layoutVertexArray,Ei.x,Ei.y,en.x,en.y,0,1,si),si+=An,cm(this.layoutVertexArray,Vi.x,Vi.y,en.x,en.y,0,0,si),cm(this.layoutVertexArray,Vi.x,Vi.y,en.x,en.y,0,1,si);var ra=nr.vertexLength;this.indexArray.emplaceBack(ra,ra+2,ra+1),this.indexArray.emplaceBack(ra+1,ra+2,ra+3),nr.vertexLength+=4,nr.primitiveLength+=2}}}}if(nr.vertexLength+st>ns.MAX_VERTEX_ARRAY_LENGTH&&(nr=this.segments.prepareSegment(st,this.layoutVertexArray,this.indexArray)),DC[y.type]===\"Polygon\"){for(var $n=[],Ba=[],_a=nr.vertexLength,Pa=0,qo=Qe;Pa<qo.length;Pa+=1){var Na=qo[Pa];if(Na.length!==0){Na!==Qe[0]&&Ba.push($n.length/2);for(var ja=0;ja<Na.length;ja++){var us=Na[ja];cm(this.layoutVertexArray,us.x,us.y,0,0,1,1,0),$n.push(us.x),$n.push(us.y)}}}for(var zo=Pw($n,Ba),rl=0;rl<zo.length;rl+=3)this.indexArray.emplaceBack(_a+zo[rl],_a+zo[rl+2],_a+zo[rl+1]);nr.primitiveLength+=zo.length/3,nr.vertexLength+=st}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,y,U,ne,J)},Z(\"FillExtrusionBucket\",Hp,{omit:[\"layers\",\"features\"]});function X9(m,y){return m.x===y.x&&(m.x<0||m.x>rn)||m.y===y.y&&(m.y<0||m.y>rn)}function Y9(m){return m.every(function(y){return y.x<0})||m.every(function(y){return y.x>rn})||m.every(function(y){return y.y<0})||m.every(function(y){return y.y>rn})}var P1=new Oi({\"fill-extrusion-opacity\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new Er(on[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Wr(on[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new Er(on[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new Er(on[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])}),ed={paint:P1},fm=function(m){function y(I){m.call(this,I,ed)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.createBucket=function(U){return new Hp(U)},y.prototype.queryRadius=function(){return kv(this.paint.get(\"fill-extrusion-translate\"))},y.prototype.is3D=function(){return!0},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st,mt){var Xt=Kv(U,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),Qe.angle,st),ur=this.paint.get(\"fill-extrusion-height\").evaluate(J,ne),nr=this.paint.get(\"fill-extrusion-base\").evaluate(J,ne),Lr=K9(Xt,mt,Qe,0),Yr=pS(fe,nr,ur,mt),_i=Yr[0],si=Yr[1];return zC(_i,si,Lr)},y}(cn);function fy(m,y){return m.x*y.x+m.y*y.y}function vS(m,y){if(m.length===1){for(var I=0,U=y[I++],J;!J||U.equals(J);)if(J=y[I++],!J)return 1/0;for(;I<y.length;I++){var ne=y[I],fe=m[0],Fe=J.sub(U),Qe=ne.sub(U),st=fe.sub(U),mt=fy(Fe,Fe),Xt=fy(Fe,Qe),ur=fy(Qe,Qe),nr=fy(st,Fe),Lr=fy(st,Qe),Yr=mt*ur-Xt*Xt,_i=(ur*nr-Xt*Lr)/Yr,si=(mt*Lr-Xt*nr)/Yr,Hi=1-_i-si,Ei=U.z*Hi+J.z*_i+ne.z*si;if(isFinite(Ei))return Ei}return 1/0}else{for(var Vi=1/0,en=0,An=y;en<An.length;en+=1){var ra=An[en];Vi=Math.min(Vi,ra.z)}return Vi}}function zC(m,y,I){var U=1/0;tl(I,y)&&(U=vS(I,y[0]));for(var J=0;J<y.length;J++)for(var ne=y[J],fe=m[J],Fe=0;Fe<ne.length-1;Fe++){var Qe=ne[Fe],st=ne[Fe+1],mt=fe[Fe],Xt=fe[Fe+1],ur=[Qe,st,Xt,mt,Qe];fo(I,ur)&&(U=Math.min(U,vS(I,ur)))}return U===1/0?!1:U}function pS(m,y,I,U){for(var J=[],ne=[],fe=U[8]*y,Fe=U[9]*y,Qe=U[10]*y,st=U[11]*y,mt=U[8]*I,Xt=U[9]*I,ur=U[10]*I,nr=U[11]*I,Lr=0,Yr=m;Lr<Yr.length;Lr+=1){for(var _i=Yr[Lr],si=[],Hi=[],Ei=0,Vi=_i;Ei<Vi.length;Ei+=1){var en=Vi[Ei],An=en.x,ra=en.y,$n=U[0]*An+U[4]*ra+U[12],Ba=U[1]*An+U[5]*ra+U[13],_a=U[2]*An+U[6]*ra+U[14],Pa=U[3]*An+U[7]*ra+U[15],qo=$n+fe,Na=Ba+Fe,ja=_a+Qe,us=Pa+st,zo=$n+mt,rl=Ba+Xt,su=_a+ur,il=Pa+nr,nl=new u(qo/us,Na/us);nl.z=ja/us,si.push(nl);var Ws=new u(zo/il,rl/il);Ws.z=su/il,Hi.push(Ws)}J.push(si),ne.push(Hi)}return[J,ne]}function K9(m,y,I,U){for(var J=[],ne=0,fe=m;ne<fe.length;ne+=1){var Fe=fe[ne],Qe=[Fe.x,Fe.y,U,1];ly(Qe,Qe,y),J.push(new u(Qe[0]/Qe[3],Qe[1]/Qe[3]))}return J}var FC=Dn([{name:\"a_pos_normal\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}],4),qC=FC.members,J9=Dn([{name:\"a_uv_x\",components:1,type:\"Float32\"},{name:\"a_split_index\",components:1,type:\"Float32\"}]),OC=J9.members,gS=pg.VectorTileFeature.types,Ow=63,BC=Math.cos(75/2*(Math.PI/180)),eb=15,mS=20,NC=15,Bw=1/2,tb=Math.pow(2,NC-1)/Bw,Gf=function(y){var I=this;this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(U){return U.id}),this.index=y.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(function(U){I.gradients[U.id]={}}),this.layoutVertexArray=new gn,this.layoutVertexArray2=new ca,this.indexArray=new ma,this.programConfigurations=new Ri(y.layers,y.zoom),this.segments=new ns,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(function(U){return U.isStateDependent()}).map(function(U){return U.id})};Gf.prototype.populate=function(y,I,U){this.hasPattern=Fw(\"line\",this.layers,I);for(var J=this.layers[0].layout.get(\"line-sort-key\"),ne=[],fe=0,Fe=y;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=Qe.feature,mt=Qe.id,Xt=Qe.index,ur=Qe.sourceLayerIndex,nr=this.layers[0]._featureFilter.needGeometry,Lr=No(st,nr);if(this.layers[0]._featureFilter.filter(new pn(this.zoom),Lr,U)){var Yr=J?J.evaluate(Lr,{},U):void 0,_i={id:mt,properties:st.properties,type:st.type,sourceLayerIndex:ur,index:Xt,geometry:nr?Lr.geometry:da(st),patterns:{},sortKey:Yr};ne.push(_i)}}J&&ne.sort(function(_a,Pa){return _a.sortKey-Pa.sortKey});for(var si=0,Hi=ne;si<Hi.length;si+=1){var Ei=Hi[si],Vi=Ei,en=Vi.geometry,An=Vi.index,ra=Vi.sourceLayerIndex;if(this.hasPattern){var $n=Jx(\"line\",this.layers,Ei,this.zoom,I);this.patternFeatures.push($n)}else this.addFeature(Ei,en,An,U,{});var Ba=y[An].feature;I.featureIndex.insert(Ba,en,An,ra,this.index)}},Gf.prototype.update=function(y,I,U){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(y,I,this.stateDependentLayers,U)},Gf.prototype.addFeatures=function(y,I,U){for(var J=0,ne=this.patternFeatures;J<ne.length;J+=1){var fe=ne[J];this.addFeature(fe,fe.geometry,fe.index,I,U)}},Gf.prototype.isEmpty=function(){return this.layoutVertexArray.length===0},Gf.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Gf.prototype.upload=function(y){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=y.createVertexBuffer(this.layoutVertexArray2,OC)),this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,qC),this.indexBuffer=y.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(y),this.uploaded=!0},Gf.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Gf.prototype.lineFeatureClips=function(y){if(y.properties&&y.properties.hasOwnProperty(\"mapbox_clip_start\")&&y.properties.hasOwnProperty(\"mapbox_clip_end\")){var I=+y.properties.mapbox_clip_start,U=+y.properties.mapbox_clip_end;return{start:I,end:U}}},Gf.prototype.addFeature=function(y,I,U,J,ne){var fe=this.layers[0].layout,Fe=fe.get(\"line-join\").evaluate(y,{}),Qe=fe.get(\"line-cap\"),st=fe.get(\"line-miter-limit\"),mt=fe.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(y);for(var Xt=0,ur=I;Xt<ur.length;Xt+=1){var nr=ur[Xt];this.addLine(nr,y,Fe,Qe,st,mt)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,y,U,ne,J)},Gf.prototype.addLine=function(y,I,U,J,ne,fe){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(var Fe=0;Fe<y.length-1;Fe++)this.totalDistance+=y[Fe].dist(y[Fe+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}for(var Qe=gS[I.type]===\"Polygon\",st=y.length;st>=2&&y[st-1].equals(y[st-2]);)st--;for(var mt=0;mt<st-1&&y[mt].equals(y[mt+1]);)mt++;if(!(st<(Qe?3:2))){U===\"bevel\"&&(ne=1.05);var Xt=this.overscaling<=16?eb*rn/(512*this.overscaling):0,ur=this.segments.prepareSegment(st*10,this.layoutVertexArray,this.indexArray),nr,Lr=void 0,Yr=void 0,_i=void 0,si=void 0;this.e1=this.e2=-1,Qe&&(nr=y[st-2],si=y[mt].sub(nr)._unit()._perp());for(var Hi=mt;Hi<st;Hi++)if(Yr=Hi===st-1?Qe?y[mt+1]:void 0:y[Hi+1],!(Yr&&y[Hi].equals(Yr))){si&&(_i=si),nr&&(Lr=nr),nr=y[Hi],si=Yr?Yr.sub(nr)._unit()._perp():_i,_i=_i||si;var Ei=_i.add(si);(Ei.x!==0||Ei.y!==0)&&Ei._unit();var Vi=_i.x*si.x+_i.y*si.y,en=Ei.x*si.x+Ei.y*si.y,An=en!==0?1/en:1/0,ra=2*Math.sqrt(2-2*en),$n=en<BC&&Lr&&Yr,Ba=_i.x*si.y-_i.y*si.x>0;if($n&&Hi>mt){var _a=nr.dist(Lr);if(_a>2*Xt){var Pa=nr.sub(nr.sub(Lr)._mult(Xt/_a)._round());this.updateDistance(Lr,Pa),this.addCurrentVertex(Pa,_i,0,0,ur),Lr=Pa}}var qo=Lr&&Yr,Na=qo?U:Qe?\"butt\":J;if(qo&&Na===\"round\"&&(An<fe?Na=\"miter\":An<=2&&(Na=\"fakeround\")),Na===\"miter\"&&An>ne&&(Na=\"bevel\"),Na===\"bevel\"&&(An>2&&(Na=\"flipbevel\"),An<ne&&(Na=\"miter\")),Lr&&this.updateDistance(Lr,nr),Na===\"miter\")Ei._mult(An),this.addCurrentVertex(nr,Ei,0,0,ur);else if(Na===\"flipbevel\"){if(An>100)Ei=si.mult(-1);else{var ja=An*_i.add(si).mag()/_i.sub(si).mag();Ei._perp()._mult(ja*(Ba?-1:1))}this.addCurrentVertex(nr,Ei,0,0,ur),this.addCurrentVertex(nr,Ei.mult(-1),0,0,ur)}else if(Na===\"bevel\"||Na===\"fakeround\"){var us=-Math.sqrt(An*An-1),zo=Ba?us:0,rl=Ba?0:us;if(Lr&&this.addCurrentVertex(nr,_i,zo,rl,ur),Na===\"fakeround\")for(var su=Math.round(ra*180/Math.PI/mS),il=1;il<su;il++){var nl=il/su;if(nl!==.5){var Ws=nl-.5,Au=1.0904+Vi*(-3.2452+Vi*(3.55645-Vi*1.43519)),Ou=.848013+Vi*(-1.06021+Vi*.215638);nl=nl+nl*Ws*(nl-1)*(Au*Ws*Ws+Ou)}var nf=si.sub(_i)._mult(nl)._add(_i)._unit()._mult(Ba?-1:1);this.addHalfVertex(nr,nf.x,nf.y,!1,Ba,0,ur)}Yr&&this.addCurrentVertex(nr,si,-zo,-rl,ur)}else if(Na===\"butt\")this.addCurrentVertex(nr,Ei,0,0,ur);else if(Na===\"square\"){var bf=Lr?1:-1;this.addCurrentVertex(nr,Ei,bf,bf,ur)}else Na===\"round\"&&(Lr&&(this.addCurrentVertex(nr,_i,0,0,ur),this.addCurrentVertex(nr,_i,1,1,ur,!0)),Yr&&(this.addCurrentVertex(nr,si,-1,-1,ur,!0),this.addCurrentVertex(nr,si,0,0,ur)));if($n&&Hi<st-1){var qh=nr.dist(Yr);if(qh>2*Xt){var Zf=nr.add(Yr.sub(nr)._mult(Xt/qh)._round());this.updateDistance(nr,Zf),this.addCurrentVertex(Zf,si,0,0,ur),nr=Zf}}}}},Gf.prototype.addCurrentVertex=function(y,I,U,J,ne,fe){fe===void 0&&(fe=!1);var Fe=I.x+I.y*U,Qe=I.y-I.x*U,st=-I.x+I.y*J,mt=-I.y-I.x*J;this.addHalfVertex(y,Fe,Qe,fe,!1,U,ne),this.addHalfVertex(y,st,mt,fe,!0,-J,ne),this.distance>tb/2&&this.totalDistance===0&&(this.distance=0,this.addCurrentVertex(y,I,U,J,ne,fe))},Gf.prototype.addHalfVertex=function(y,I,U,J,ne,fe,Fe){var Qe=y.x,st=y.y,mt=this.lineClips?this.scaledDistance*(tb-1):this.scaledDistance,Xt=mt*Bw;if(this.layoutVertexArray.emplaceBack((Qe<<1)+(J?1:0),(st<<1)+(ne?1:0),Math.round(Ow*I)+128,Math.round(Ow*U)+128,(fe===0?0:fe<0?-1:1)+1|(Xt&63)<<2,Xt>>6),this.lineClips){var ur=this.scaledDistance-this.lineClips.start,nr=this.lineClips.end-this.lineClips.start,Lr=ur/nr;this.layoutVertexArray2.emplaceBack(Lr,this.lineClipsArray.length)}var Yr=Fe.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Yr),Fe.primitiveLength++),ne?this.e2=Yr:this.e1=Yr},Gf.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},Gf.prototype.updateDistance=function(y,I){this.distance+=y.dist(I),this.updateScaledDistance()},Z(\"LineBucket\",Gf,{omit:[\"layers\",\"patternFeatures\"]});var yS=new Oi({\"line-cap\":new At(on.layout_line[\"line-cap\"]),\"line-join\":new Er(on.layout_line[\"line-join\"]),\"line-miter-limit\":new At(on.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new At(on.layout_line[\"line-round-limit\"]),\"line-sort-key\":new Er(on.layout_line[\"line-sort-key\"])}),_S=new Oi({\"line-opacity\":new Er(on.paint_line[\"line-opacity\"]),\"line-color\":new Er(on.paint_line[\"line-color\"]),\"line-translate\":new At(on.paint_line[\"line-translate\"]),\"line-translate-anchor\":new At(on.paint_line[\"line-translate-anchor\"]),\"line-width\":new Er(on.paint_line[\"line-width\"]),\"line-gap-width\":new Er(on.paint_line[\"line-gap-width\"]),\"line-offset\":new Er(on.paint_line[\"line-offset\"]),\"line-blur\":new Er(on.paint_line[\"line-blur\"]),\"line-dasharray\":new wi(on.paint_line[\"line-dasharray\"]),\"line-pattern\":new Wr(on.paint_line[\"line-pattern\"]),\"line-gradient\":new Ui(on.paint_line[\"line-gradient\"])}),Nw={paint:_S,layout:yS},$9=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.possiblyEvaluate=function(U,J){return J=new pn(Math.floor(J.zoom),{now:J.now,fadeDuration:J.fadeDuration,zoomHistory:J.zoomHistory,transition:J.transition}),m.prototype.possiblyEvaluate.call(this,U,J)},y.prototype.evaluate=function(U,J,ne,fe){return J=_({},J,{zoom:Math.floor(J.zoom)}),m.prototype.evaluate.call(this,U,J,ne,fe)},y}(Er),R=new $9(Nw.paint.properties[\"line-width\"].specification);R.useIntegerZoom=!0;var S=function(m){function y(I){m.call(this,I,Nw),this.gradientVersion=0}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._handleSpecialPaintPropertyUpdate=function(U){if(U===\"line-gradient\"){var J=this._transitionablePaint._values[\"line-gradient\"].value.expression;this.stepInterpolant=J._styleExpression.expression instanceof yu,this.gradientVersion=(this.gradientVersion+1)%d}},y.prototype.gradientExpression=function(){return this._transitionablePaint._values[\"line-gradient\"].value.expression},y.prototype.recalculate=function(U,J){m.prototype.recalculate.call(this,U,J),this.paint._values[\"line-floorwidth\"]=R.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,U)},y.prototype.createBucket=function(U){return new Gf(U)},y.prototype.queryRadius=function(U){var J=U,ne=D(xd(\"line-width\",this,J),xd(\"line-gap-width\",this,J)),fe=xd(\"line-offset\",this,J);return ne/2+Math.abs(fe)+kv(this.paint.get(\"line-translate\"))},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st){var mt=Kv(U,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),Qe.angle,st),Xt=st/2*D(this.paint.get(\"line-width\").evaluate(J,ne),this.paint.get(\"line-gap-width\").evaluate(J,ne)),ur=this.paint.get(\"line-offset\").evaluate(J,ne);return ur&&(fe=j(fe,ur*st)),zu(mt,fe,Xt)},y.prototype.isTileClipped=function(){return!0},y}(cn);function D(m,y){return y>0?y+2*m:m}function j(m,y){for(var I=[],U=new u(0,0),J=0;J<m.length;J++){for(var ne=m[J],fe=[],Fe=0;Fe<ne.length;Fe++){var Qe=ne[Fe-1],st=ne[Fe],mt=ne[Fe+1],Xt=Fe===0?U:st.sub(Qe)._unit()._perp(),ur=Fe===ne.length-1?U:mt.sub(st)._unit()._perp(),nr=Xt._add(ur)._unit(),Lr=nr.x*ur.x+nr.y*ur.y;nr._mult(1/Lr),fe.push(nr._mult(y)._add(st))}I.push(fe)}return I}var te=Dn([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),ue=Dn([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4),ve=Dn([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4),De=Dn([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}]),Ze=Dn([{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\"}]),at=Dn([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),Tt=Dn([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4),Ft=Dn([{name:\"triangle\",components:3,type:\"Uint16\"}]),Qt=Dn([{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\"}]),sr=Dn([{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\"}]),Tr=Dn([{type:\"Float32\",name:\"offsetX\"}]),Pr=Dn([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]);function $r(m,y,I){var U=y.layout.get(\"text-transform\").evaluate(I,{});return U===\"uppercase\"?m=m.toLocaleUpperCase():U===\"lowercase\"&&(m=m.toLocaleLowerCase()),_s.applyArabicShaping&&(m=_s.applyArabicShaping(m)),m}function ni(m,y,I){return m.sections.forEach(function(U){U.text=$r(U.text,y,I)}),m}function Di(m){var y={},I={},U=[],J=0;function ne(si){U.push(m[si]),J++}function fe(si,Hi,Ei){var Vi=I[si];return delete I[si],I[Hi]=Vi,U[Vi].geometry[0].pop(),U[Vi].geometry[0]=U[Vi].geometry[0].concat(Ei[0]),Vi}function Fe(si,Hi,Ei){var Vi=y[Hi];return delete y[Hi],y[si]=Vi,U[Vi].geometry[0].shift(),U[Vi].geometry[0]=Ei[0].concat(U[Vi].geometry[0]),Vi}function Qe(si,Hi,Ei){var Vi=Ei?Hi[0][Hi[0].length-1]:Hi[0][0];return si+\":\"+Vi.x+\":\"+Vi.y}for(var st=0;st<m.length;st++){var mt=m[st],Xt=mt.geometry,ur=mt.text?mt.text.toString():null;if(!ur){ne(st);continue}var nr=Qe(ur,Xt),Lr=Qe(ur,Xt,!0);if(nr in I&&Lr in y&&I[nr]!==y[Lr]){var Yr=Fe(nr,Lr,Xt),_i=fe(nr,Lr,U[Yr].geometry);delete y[nr],delete I[Lr],I[Qe(ur,U[_i].geometry,!0)]=_i,U[Yr].geometry=null}else nr in I?fe(nr,Lr,Xt):Lr in y?Fe(nr,Lr,Xt):(ne(st),y[nr]=J-1,I[Lr]=J-1)}return U.filter(function(si){return si.geometry})}var pi={\"!\":\"\\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\"};function ki(m){for(var y=\"\",I=0;I<m.length;I++){var U=m.charCodeAt(I+1)||null,J=m.charCodeAt(I-1)||null,ne=(!U||!ui(U)||pi[m[I+1]])&&(!J||!ui(J)||pi[m[I-1]]);ne&&pi[m[I]]?y+=pi[m[I]]:y+=m[I]}return y}var Zi=24,ta=function(m,y,I,U,J){var ne,fe,Fe=J*8-U-1,Qe=(1<<Fe)-1,st=Qe>>1,mt=-7,Xt=I?J-1:0,ur=I?-1:1,nr=m[y+Xt];for(Xt+=ur,ne=nr&(1<<-mt)-1,nr>>=-mt,mt+=Fe;mt>0;ne=ne*256+m[y+Xt],Xt+=ur,mt-=8);for(fe=ne&(1<<-mt)-1,ne>>=-mt,mt+=U;mt>0;fe=fe*256+m[y+Xt],Xt+=ur,mt-=8);if(ne===0)ne=1-st;else{if(ne===Qe)return fe?NaN:(nr?-1:1)*(1/0);fe=fe+Math.pow(2,U),ne=ne-st}return(nr?-1:1)*fe*Math.pow(2,ne-U)},Va=function(m,y,I,U,J,ne){var fe,Fe,Qe,st=ne*8-J-1,mt=(1<<st)-1,Xt=mt>>1,ur=J===23?Math.pow(2,-24)-Math.pow(2,-77):0,nr=U?0:ne-1,Lr=U?1:-1,Yr=y<0||y===0&&1/y<0?1:0;for(y=Math.abs(y),isNaN(y)||y===1/0?(Fe=isNaN(y)?1:0,fe=mt):(fe=Math.floor(Math.log(y)/Math.LN2),y*(Qe=Math.pow(2,-fe))<1&&(fe--,Qe*=2),fe+Xt>=1?y+=ur/Qe:y+=ur*Math.pow(2,1-Xt),y*Qe>=2&&(fe++,Qe/=2),fe+Xt>=mt?(Fe=0,fe=mt):fe+Xt>=1?(Fe=(y*Qe-1)*Math.pow(2,J),fe=fe+Xt):(Fe=y*Math.pow(2,Xt-1)*Math.pow(2,J),fe=0));J>=8;m[I+nr]=Fe&255,nr+=Lr,Fe/=256,J-=8);for(fe=fe<<J|Fe,st+=J;st>0;m[I+nr]=fe&255,nr+=Lr,fe/=256,st-=8);m[I+nr-Lr]|=Yr*128},Io={read:ta,write:Va},La=Hn;function Hn(m){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(m)?m:new Uint8Array(m||0),this.pos=0,this.type=0,this.length=this.buf.length}Hn.Varint=0,Hn.Fixed64=1,Hn.Bytes=2,Hn.Fixed32=5;var lo=65536*65536,$a=1/lo,Xa=12,Tn=typeof TextDecoder==\"undefined\"?null:new TextDecoder(\"utf8\");Hn.prototype={destroy:function(){this.buf=null},readFields:function(m,y,I){for(I=I||this.length;this.pos<I;){var U=this.readVarint(),J=U>>3,ne=this.pos;this.type=U&7,m(J,y,this),this.pos===ne&&this.skip(U)}return y},readMessage:function(m,y){return this.readFields(m,y,this.readVarint()+this.pos)},readFixed32:function(){var m=Dh(this.buf,this.pos);return this.pos+=4,m},readSFixed32:function(){var m=Iv(this.buf,this.pos);return this.pos+=4,m},readFixed64:function(){var m=Dh(this.buf,this.pos)+Dh(this.buf,this.pos+4)*lo;return this.pos+=8,m},readSFixed64:function(){var m=Dh(this.buf,this.pos)+Iv(this.buf,this.pos+4)*lo;return this.pos+=8,m},readFloat:function(){var m=Io.read(this.buf,this.pos,!0,23,4);return this.pos+=4,m},readDouble:function(){var m=Io.read(this.buf,this.pos,!0,52,8);return this.pos+=8,m},readVarint:function(m){var y=this.buf,I,U;return U=y[this.pos++],I=U&127,U<128||(U=y[this.pos++],I|=(U&127)<<7,U<128)||(U=y[this.pos++],I|=(U&127)<<14,U<128)||(U=y[this.pos++],I|=(U&127)<<21,U<128)?I:(U=y[this.pos],I|=(U&15)<<28,bo(I,m,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var m=this.readVarint();return m%2===1?(m+1)/-2:m/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var m=this.readVarint()+this.pos,y=this.pos;return this.pos=m,m-y>=Xa&&Tn?Cl(this.buf,y,m):lv(this.buf,y,m)},readBytes:function(){var m=this.readVarint()+this.pos,y=this.buf.subarray(this.pos,m);return this.pos=m,y},readPackedVarint:function(m,y){if(this.type!==Hn.Bytes)return m.push(this.readVarint(y));var I=Ya(this);for(m=m||[];this.pos<I;)m.push(this.readVarint(y));return m},readPackedSVarint:function(m){if(this.type!==Hn.Bytes)return m.push(this.readSVarint());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readSVarint());return m},readPackedBoolean:function(m){if(this.type!==Hn.Bytes)return m.push(this.readBoolean());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readBoolean());return m},readPackedFloat:function(m){if(this.type!==Hn.Bytes)return m.push(this.readFloat());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readFloat());return m},readPackedDouble:function(m){if(this.type!==Hn.Bytes)return m.push(this.readDouble());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readDouble());return m},readPackedFixed32:function(m){if(this.type!==Hn.Bytes)return m.push(this.readFixed32());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readFixed32());return m},readPackedSFixed32:function(m){if(this.type!==Hn.Bytes)return m.push(this.readSFixed32());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readSFixed32());return m},readPackedFixed64:function(m){if(this.type!==Hn.Bytes)return m.push(this.readFixed64());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readFixed64());return m},readPackedSFixed64:function(m){if(this.type!==Hn.Bytes)return m.push(this.readSFixed64());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readSFixed64());return m},skip:function(m){var y=m&7;if(y===Hn.Varint)for(;this.buf[this.pos++]>127;);else if(y===Hn.Bytes)this.pos=this.readVarint()+this.pos;else if(y===Hn.Fixed32)this.pos+=4;else if(y===Hn.Fixed64)this.pos+=8;else throw new Error(\"Unimplemented type: \"+y)},writeTag:function(m,y){this.writeVarint(m<<3|y)},realloc:function(m){for(var y=this.length||16;y<this.pos+m;)y*=2;if(y!==this.length){var I=new Uint8Array(y);I.set(this.buf),this.buf=I,this.length=y}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(m){this.realloc(4),xf(this.buf,m,this.pos),this.pos+=4},writeSFixed32:function(m){this.realloc(4),xf(this.buf,m,this.pos),this.pos+=4},writeFixed64:function(m){this.realloc(8),xf(this.buf,m&-1,this.pos),xf(this.buf,Math.floor(m*$a),this.pos+4),this.pos+=8},writeSFixed64:function(m){this.realloc(8),xf(this.buf,m&-1,this.pos),xf(this.buf,Math.floor(m*$a),this.pos+4),this.pos+=8},writeVarint:function(m){if(m=+m||0,m>268435455||m<0){wu(m,this);return}this.realloc(4),this.buf[this.pos++]=m&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=(m>>>=7)&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=(m>>>=7)&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=m>>>7&127)))},writeSVarint:function(m){this.writeVarint(m<0?-m*2-1:m*2)},writeBoolean:function(m){this.writeVarint(!!m)},writeString:function(m){m=String(m),this.realloc(m.length*4),this.pos++;var y=this.pos;this.pos=qu(this.buf,m,this.pos);var I=this.pos-y;I>=128&&$v(y,I,this),this.pos=y-1,this.writeVarint(I),this.pos+=I},writeFloat:function(m){this.realloc(4),Io.write(this.buf,m,this.pos,!0,23,4),this.pos+=4},writeDouble:function(m){this.realloc(8),Io.write(this.buf,m,this.pos,!0,52,8),this.pos+=8},writeBytes:function(m){var y=m.length;this.writeVarint(y),this.realloc(y);for(var I=0;I<y;I++)this.buf[this.pos++]=m[I]},writeRawMessage:function(m,y){this.pos++;var I=this.pos;m(y,this);var U=this.pos-I;U>=128&&$v(I,U,this),this.pos=I-1,this.writeVarint(U),this.pos+=U},writeMessage:function(m,y,I){this.writeTag(m,Hn.Bytes),this.writeRawMessage(y,I)},writePackedVarint:function(m,y){y.length&&this.writeMessage(m,td,y)},writePackedSVarint:function(m,y){y.length&&this.writeMessage(m,ch,y)},writePackedBoolean:function(m,y){y.length&&this.writeMessage(m,Hd,y)},writePackedFloat:function(m,y){y.length&&this.writeMessage(m,Ud,y)},writePackedDouble:function(m,y){y.length&&this.writeMessage(m,Vd,y)},writePackedFixed32:function(m,y){y.length&&this.writeMessage(m,rf,y)},writePackedSFixed32:function(m,y){y.length&&this.writeMessage(m,fh,y)},writePackedFixed64:function(m,y){y.length&&this.writeMessage(m,Td,y)},writePackedSFixed64:function(m,y){y.length&&this.writeMessage(m,rd,y)},writeBytesField:function(m,y){this.writeTag(m,Hn.Bytes),this.writeBytes(y)},writeFixed32Field:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeFixed32(y)},writeSFixed32Field:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeSFixed32(y)},writeFixed64Field:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeFixed64(y)},writeSFixed64Field:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeSFixed64(y)},writeVarintField:function(m,y){this.writeTag(m,Hn.Varint),this.writeVarint(y)},writeSVarintField:function(m,y){this.writeTag(m,Hn.Varint),this.writeSVarint(y)},writeStringField:function(m,y){this.writeTag(m,Hn.Bytes),this.writeString(y)},writeFloatField:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeFloat(y)},writeDoubleField:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeDouble(y)},writeBooleanField:function(m,y){this.writeVarintField(m,!!y)}};function bo(m,y,I){var U=I.buf,J,ne;if(ne=U[I.pos++],J=(ne&112)>>4,ne<128||(ne=U[I.pos++],J|=(ne&127)<<3,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<10,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<17,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<24,ne<128)||(ne=U[I.pos++],J|=(ne&1)<<31,ne<128))return Uo(m,J,y);throw new Error(\"Expected varint not more than 10 bytes\")}function Ya(m){return m.type===Hn.Bytes?m.readVarint()+m.pos:m.pos+1}function Uo(m,y,I){return I?y*4294967296+(m>>>0):(y>>>0)*4294967296+(m>>>0)}function wu(m,y){var I,U;if(m>=0?(I=m%4294967296|0,U=m/4294967296|0):(I=~(-m%4294967296),U=~(-m/4294967296),I^4294967295?I=I+1|0:(I=0,U=U+1|0)),m>=18446744073709552e3||m<-18446744073709552e3)throw new Error(\"Given varint doesn't fit into 10 bytes\");y.realloc(10),hu(I,U,y),uh(U,y)}function hu(m,y,I){I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos]=m&127}function uh(m,y){var I=(m&7)<<4;y.buf[y.pos++]|=I|((m>>>=3)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127)))))}function $v(m,y,I){var U=y<=16383?1:y<=2097151?2:y<=268435455?3:Math.floor(Math.log(y)/(Math.LN2*7));I.realloc(U);for(var J=I.pos-1;J>=m;J--)I.buf[J+U]=I.buf[J]}function td(m,y){for(var I=0;I<m.length;I++)y.writeVarint(m[I])}function ch(m,y){for(var I=0;I<m.length;I++)y.writeSVarint(m[I])}function Ud(m,y){for(var I=0;I<m.length;I++)y.writeFloat(m[I])}function Vd(m,y){for(var I=0;I<m.length;I++)y.writeDouble(m[I])}function Hd(m,y){for(var I=0;I<m.length;I++)y.writeBoolean(m[I])}function rf(m,y){for(var I=0;I<m.length;I++)y.writeFixed32(m[I])}function fh(m,y){for(var I=0;I<m.length;I++)y.writeSFixed32(m[I])}function Td(m,y){for(var I=0;I<m.length;I++)y.writeFixed64(m[I])}function rd(m,y){for(var I=0;I<m.length;I++)y.writeSFixed64(m[I])}function Dh(m,y){return(m[y]|m[y+1]<<8|m[y+2]<<16)+m[y+3]*16777216}function xf(m,y,I){m[I]=y,m[I+1]=y>>>8,m[I+2]=y>>>16,m[I+3]=y>>>24}function Iv(m,y){return(m[y]|m[y+1]<<8|m[y+2]<<16)+(m[y+3]<<24)}function lv(m,y,I){for(var U=\"\",J=y;J<I;){var ne=m[J],fe=null,Fe=ne>239?4:ne>223?3:ne>191?2:1;if(J+Fe>I)break;var Qe,st,mt;Fe===1?ne<128&&(fe=ne):Fe===2?(Qe=m[J+1],(Qe&192)===128&&(fe=(ne&31)<<6|Qe&63,fe<=127&&(fe=null))):Fe===3?(Qe=m[J+1],st=m[J+2],(Qe&192)===128&&(st&192)===128&&(fe=(ne&15)<<12|(Qe&63)<<6|st&63,(fe<=2047||fe>=55296&&fe<=57343)&&(fe=null))):Fe===4&&(Qe=m[J+1],st=m[J+2],mt=m[J+3],(Qe&192)===128&&(st&192)===128&&(mt&192)===128&&(fe=(ne&15)<<18|(Qe&63)<<12|(st&63)<<6|mt&63,(fe<=65535||fe>=1114112)&&(fe=null))),fe===null?(fe=65533,Fe=1):fe>65535&&(fe-=65536,U+=String.fromCharCode(fe>>>10&1023|55296),fe=56320|fe&1023),U+=String.fromCharCode(fe),J+=Fe}return U}function Cl(m,y,I){return Tn.decode(m.subarray(y,I))}function qu(m,y,I){for(var U=0,J,ne;U<y.length;U++){if(J=y.charCodeAt(U),J>55295&&J<57344)if(ne)if(J<56320){m[I++]=239,m[I++]=191,m[I++]=189,ne=J;continue}else J=ne-55296<<10|J-56320|65536,ne=null;else{J>56319||U+1===y.length?(m[I++]=239,m[I++]=191,m[I++]=189):ne=J;continue}else ne&&(m[I++]=239,m[I++]=191,m[I++]=189,ne=null);J<128?m[I++]=J:(J<2048?m[I++]=J>>6|192:(J<65536?m[I++]=J>>12|224:(m[I++]=J>>18|240,m[I++]=J>>12&63|128),m[I++]=J>>6&63|128),m[I++]=J&63|128)}return I}var Tu=3;function Rv(m,y,I){m===1&&I.readMessage(qc,y)}function qc(m,y,I){if(m===3){var U=I.readMessage(I1,{}),J=U.id,ne=U.bitmap,fe=U.width,Fe=U.height,Qe=U.left,st=U.top,mt=U.advance;y.push({id:J,bitmap:new Pv({width:fe+2*Tu,height:Fe+2*Tu},ne),metrics:{width:fe,height:Fe,left:Qe,top:st,advance:mt}})}}function I1(m,y,I){m===1?y.id=I.readVarint():m===2?y.bitmap=I.readBytes():m===3?y.width=I.readVarint():m===4?y.height=I.readVarint():m===5?y.left=I.readSVarint():m===6?y.top=I.readSVarint():m===7&&(y.advance=I.readVarint())}function p0(m){return new La(m).readFields(Rv,[])}var Gp=Tu;function Qv(m){for(var y=0,I=0,U=0,J=m;U<J.length;U+=1){var ne=J[U];y+=ne.w*ne.h,I=Math.max(I,ne.w)}m.sort(function(_i,si){return si.h-_i.h});for(var fe=Math.max(Math.ceil(Math.sqrt(y/.95)),I),Fe=[{x:0,y:0,w:fe,h:1/0}],Qe=0,st=0,mt=0,Xt=m;mt<Xt.length;mt+=1)for(var ur=Xt[mt],nr=Fe.length-1;nr>=0;nr--){var Lr=Fe[nr];if(!(ur.w>Lr.w||ur.h>Lr.h)){if(ur.x=Lr.x,ur.y=Lr.y,st=Math.max(st,ur.y+ur.h),Qe=Math.max(Qe,ur.x+ur.w),ur.w===Lr.w&&ur.h===Lr.h){var Yr=Fe.pop();nr<Fe.length&&(Fe[nr]=Yr)}else ur.h===Lr.h?(Lr.x+=ur.w,Lr.w-=ur.w):ur.w===Lr.w?(Lr.y+=ur.h,Lr.h-=ur.h):(Fe.push({x:Lr.x+ur.w,y:Lr.y,w:Lr.w-ur.w,h:ur.h}),Lr.y+=ur.h,Lr.h-=ur.h);break}}return{w:Qe,h:st,fill:y/(Qe*st)||0}}var oc=1,If=function(y,I){var U=I.pixelRatio,J=I.version,ne=I.stretchX,fe=I.stretchY,Fe=I.content;this.paddedRect=y,this.pixelRatio=U,this.stretchX=ne,this.stretchY=fe,this.content=Fe,this.version=J},ep={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};ep.tl.get=function(){return[this.paddedRect.x+oc,this.paddedRect.y+oc]},ep.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-oc,this.paddedRect.y+this.paddedRect.h-oc]},ep.tlbr.get=function(){return this.tl.concat(this.br)},ep.displaySize.get=function(){return[(this.paddedRect.w-oc*2)/this.pixelRatio,(this.paddedRect.h-oc*2)/this.pixelRatio]},Object.defineProperties(If.prototype,ep);var gg=function(y,I){var U={},J={};this.haveRenderCallbacks=[];var ne=[];this.addImages(y,U,ne),this.addImages(I,J,ne);var fe=Qv(ne),Fe=fe.w,Qe=fe.h,st=new lh({width:Fe||1,height:Qe||1});for(var mt in y){var Xt=y[mt],ur=U[mt].paddedRect;lh.copy(Xt.data,st,{x:0,y:0},{x:ur.x+oc,y:ur.y+oc},Xt.data)}for(var nr in I){var Lr=I[nr],Yr=J[nr].paddedRect,_i=Yr.x+oc,si=Yr.y+oc,Hi=Lr.data.width,Ei=Lr.data.height;lh.copy(Lr.data,st,{x:0,y:0},{x:_i,y:si},Lr.data),lh.copy(Lr.data,st,{x:0,y:Ei-1},{x:_i,y:si-1},{width:Hi,height:1}),lh.copy(Lr.data,st,{x:0,y:0},{x:_i,y:si+Ei},{width:Hi,height:1}),lh.copy(Lr.data,st,{x:Hi-1,y:0},{x:_i-1,y:si},{width:1,height:Ei}),lh.copy(Lr.data,st,{x:0,y:0},{x:_i+Hi,y:si},{width:1,height:Ei})}this.image=st,this.iconPositions=U,this.patternPositions=J};gg.prototype.addImages=function(y,I,U){for(var J in y){var ne=y[J],fe={x:0,y:0,w:ne.data.width+2*oc,h:ne.data.height+2*oc};U.push(fe),I[J]=new If(fe,ne),ne.hasRenderCallback&&this.haveRenderCallbacks.push(J)}},gg.prototype.patchUpdatedImages=function(y,I){y.dispatchRenderCallbacks(this.haveRenderCallbacks);for(var U in y.updatedImages)this.patchUpdatedImage(this.iconPositions[U],y.getImage(U),I),this.patchUpdatedImage(this.patternPositions[U],y.getImage(U),I)},gg.prototype.patchUpdatedImage=function(y,I,U){if(!(!y||!I)&&y.version!==I.version){y.version=I.version;var J=y.tl,ne=J[0],fe=J[1];U.update(I.data,void 0,{x:ne,y:fe})}},Z(\"ImagePosition\",If),Z(\"ImageAtlas\",gg);var uv={horizontal:1,vertical:2,horizontalOnly:3},R1=-17;function xS(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(U.positionedGlyphs.length!==0)return!1}return!0}var Uw=57344,g0=63743,hy=function(){this.scale=1,this.fontStack=\"\",this.imageName=null};hy.forText=function(y,I){var U=new hy;return U.scale=y||1,U.fontStack=I,U},hy.forImage=function(y){var I=new hy;return I.imageName=y,I};var zh=function(){this.text=\"\",this.sectionIndex=[],this.sections=[],this.imageSectionID=null};zh.fromFeature=function(y,I){for(var U=new zh,J=0;J<y.sections.length;J++){var ne=y.sections[J];ne.image?U.addImageSection(ne):U.addTextSection(ne,I)}return U},zh.prototype.length=function(){return this.text.length},zh.prototype.getSection=function(y){return this.sections[this.sectionIndex[y]]},zh.prototype.getSectionIndex=function(y){return this.sectionIndex[y]},zh.prototype.getCharCode=function(y){return this.text.charCodeAt(y)},zh.prototype.verticalizePunctuation=function(){this.text=ki(this.text)},zh.prototype.trim=function(){for(var y=0,I=0;I<this.text.length&&m0[this.text.charCodeAt(I)];I++)y++;for(var U=this.text.length,J=this.text.length-1;J>=0&&J>=y&&m0[this.text.charCodeAt(J)];J--)U--;this.text=this.text.substring(y,U),this.sectionIndex=this.sectionIndex.slice(y,U)},zh.prototype.substring=function(y,I){var U=new zh;return U.text=this.text.substring(y,I),U.sectionIndex=this.sectionIndex.slice(y,I),U.sections=this.sections,U},zh.prototype.toString=function(){return this.text},zh.prototype.getMaxScale=function(){var y=this;return this.sectionIndex.reduce(function(I,U){return Math.max(I,y.sections[U].scale)},0)},zh.prototype.addTextSection=function(y,I){this.text+=y.text,this.sections.push(hy.forText(y.scale,y.fontStack||I));for(var U=this.sections.length-1,J=0;J<y.text.length;++J)this.sectionIndex.push(U)},zh.prototype.addImageSection=function(y){var I=y.image?y.image.name:\"\";if(I.length===0){re(\"Can't add FormattedSection with an empty image.\");return}var U=this.getNextImageSectionCharCode();if(!U){re(\"Reached maximum number of images \"+(g0-Uw+2));return}this.text+=String.fromCharCode(U),this.sections.push(hy.forImage(I)),this.sectionIndex.push(this.sections.length-1)},zh.prototype.getNextImageSectionCharCode=function(){return this.imageSectionID?this.imageSectionID>=g0?null:++this.imageSectionID:(this.imageSectionID=Uw,this.imageSectionID)};function Q9(m,y){for(var I=[],U=m.text,J=0,ne=0,fe=y;ne<fe.length;ne+=1){var Fe=fe[ne];I.push(m.substring(J,Fe)),J=Fe}return J<U.length&&I.push(m.substring(J,U.length)),I}function Vw(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr){var _i=zh.fromFeature(m,J);Xt===uv.vertical&&_i.verticalizePunctuation();var si,Hi=_s.processBidirectionalText,Ei=_s.processStyledBidirectionalText;if(Hi&&_i.sections.length===1){si=[];for(var Vi=Hi(_i.toString(),Hw(_i,st,ne,y,U,nr,Lr)),en=0,An=Vi;en<An.length;en+=1){var ra=An[en],$n=new zh;$n.text=ra,$n.sections=_i.sections;for(var Ba=0;Ba<ra.length;Ba++)$n.sectionIndex.push(0);si.push($n)}}else if(Ei){si=[];for(var _a=Ei(_i.text,_i.sectionIndex,Hw(_i,st,ne,y,U,nr,Lr)),Pa=0,qo=_a;Pa<qo.length;Pa+=1){var Na=qo[Pa],ja=new zh;ja.text=Na[0],ja.sectionIndex=Na[1],ja.sections=_i.sections,si.push(ja)}}else si=Q9(_i,Hw(_i,st,ne,y,U,nr,Lr));var us=[],zo={positionedLines:us,text:_i.toString(),top:mt[1],bottom:mt[1],left:mt[0],right:mt[0],writingMode:Xt,iconsInText:!1,verticalizable:!1};return rq(zo,y,I,U,si,fe,Fe,Qe,Xt,st,ur,Yr),xS(us)?!1:zo}var m0={};m0[9]=!0,m0[10]=!0,m0[11]=!0,m0[12]=!0,m0[13]=!0,m0[32]=!0;var cv={};cv[10]=!0,cv[32]=!0,cv[38]=!0,cv[40]=!0,cv[41]=!0,cv[43]=!0,cv[45]=!0,cv[47]=!0,cv[173]=!0,cv[183]=!0,cv[8203]=!0,cv[8208]=!0,cv[8211]=!0,cv[8231]=!0;function UC(m,y,I,U,J,ne){if(y.imageName){var Qe=U[y.imageName];return Qe?Qe.displaySize[0]*y.scale*Zi/ne+J:0}else{var fe=I[y.fontStack],Fe=fe&&fe[m];return Fe?Fe.metrics.advance*y.scale+J:0}}function eq(m,y,I,U,J,ne){for(var fe=0,Fe=0;Fe<m.length();Fe++){var Qe=m.getSection(Fe);fe+=UC(m.getCharCode(Fe),Qe,U,J,y,ne)}var st=Math.max(1,Math.ceil(fe/I));return fe/st}function VC(m,y,I,U){var J=Math.pow(m-y,2);return U?m<y?J/2:J*2:J+Math.abs(I)*I}function tq(m,y,I){var U=0;return m===10&&(U-=1e4),I&&(U+=150),(m===40||m===65288)&&(U+=50),(y===41||y===65289)&&(U+=50),U}function mp(m,y,I,U,J,ne){for(var fe=null,Fe=VC(y,I,J,ne),Qe=0,st=U;Qe<st.length;Qe+=1){var mt=st[Qe],Xt=y-mt.x,ur=VC(Xt,I,J,ne)+mt.badness;ur<=Fe&&(fe=mt,Fe=ur)}return{index:m,x:y,priorBreak:fe,badness:Fe}}function rb(m){return m?rb(m.priorBreak).concat(m.index):[]}function Hw(m,y,I,U,J,ne,fe){if(ne!==\"point\")return[];if(!m)return[];for(var Fe=[],Qe=eq(m,y,I,U,J,fe),st=m.text.indexOf(\"\\u200B\")>=0,mt=0,Xt=0;Xt<m.length();Xt++){var ur=m.getSection(Xt),nr=m.getCharCode(Xt);if(m0[nr]||(mt+=UC(nr,ur,U,J,y,fe)),Xt<m.length()-1){var Lr=Dr(nr);(cv[nr]||Lr||ur.imageName)&&Fe.push(mp(Xt+1,mt,Qe,Fe,tq(nr,m.getCharCode(Xt+1),Lr&&st),!1))}}return rb(mp(m.length(),mt,Qe,Fe,0,!0))}function bS(m){var y=.5,I=.5;switch(m){case\"right\":case\"top-right\":case\"bottom-right\":y=1;break;case\"left\":case\"top-left\":case\"bottom-left\":y=0;break}switch(m){case\"bottom\":case\"bottom-right\":case\"bottom-left\":I=1;break;case\"top\":case\"top-right\":case\"top-left\":I=0;break}return{horizontalAlign:y,verticalAlign:I}}function rq(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt){for(var ur=0,nr=R1,Lr=0,Yr=0,_i=Fe===\"right\"?1:Fe===\"left\"?0:.5,si=0,Hi=0,Ei=J;Hi<Ei.length;Hi+=1){var Vi=Ei[Hi];Vi.trim();var en=Vi.getMaxScale(),An=(en-1)*Zi,ra={positionedGlyphs:[],lineOffset:0};m.positionedLines[si]=ra;var $n=ra.positionedGlyphs,Ba=0;if(!Vi.length()){nr+=ne,++si;continue}for(var _a=0;_a<Vi.length();_a++){var Pa=Vi.getSection(_a),qo=Vi.getSectionIndex(_a),Na=Vi.getCharCode(_a),ja=0,us=null,zo=null,rl=null,su=Zi,il=!(Qe===uv.horizontal||!mt&&!Ir(Na)||mt&&(m0[Na]||qr(Na)));if(Pa.imageName){var nf=U[Pa.imageName];if(!nf)continue;rl=Pa.imageName,m.iconsInText=m.iconsInText||!0,zo=nf.paddedRect;var bf=nf.displaySize;Pa.scale=Pa.scale*Zi/Xt,us={width:bf[0],height:bf[1],left:oc,top:-Gp,advance:il?bf[1]:bf[0]};var qh=Zi-bf[1]*Pa.scale;ja=An+qh,su=us.advance;var Zf=il?bf[0]*Pa.scale-Zi*en:bf[1]*Pa.scale-Zi*en;Zf>0&&Zf>Ba&&(Ba=Zf)}else{var nl=I[Pa.fontStack],Ws=nl&&nl[Na];if(Ws&&Ws.rect)zo=Ws.rect,us=Ws.metrics;else{var Au=y[Pa.fontStack],Ou=Au&&Au[Na];if(!Ou)continue;us=Ou.metrics}ja=(en-Pa.scale)*Zi}il?(m.verticalizable=!0,$n.push({glyph:Na,imageName:rl,x:ur,y:nr+ja,vertical:il,scale:Pa.scale,fontStack:Pa.fontStack,sectionIndex:qo,metrics:us,rect:zo}),ur+=su*Pa.scale+st):($n.push({glyph:Na,imageName:rl,x:ur,y:nr+ja,vertical:il,scale:Pa.scale,fontStack:Pa.fontStack,sectionIndex:qo,metrics:us,rect:zo}),ur+=us.advance*Pa.scale+st)}if($n.length!==0){var jd=ur-st;Lr=Math.max(jd,Lr),iq($n,0,$n.length-1,_i,Ba)}ur=0;var Wd=ne*en+Ba;ra.lineOffset=Math.max(Ba,An),nr+=Wd,Yr=Math.max(Wd,Yr),++si}var Oh=nr-R1,fv=bS(fe),hv=fv.horizontalAlign,hh=fv.verticalAlign;Ad(m.positionedLines,_i,hv,hh,Lr,Yr,ne,Oh,J.length),m.top+=-hh*Oh,m.bottom=m.top+Oh,m.left+=-hv*Lr,m.right=m.left+Lr}function iq(m,y,I,U,J){if(!(!U&&!J))for(var ne=m[I],fe=ne.metrics.advance*ne.scale,Fe=(m[I].x+fe)*U,Qe=y;Qe<=I;Qe++)m[Qe].x-=Fe,m[Qe].y+=J}function Ad(m,y,I,U,J,ne,fe,Fe,Qe){var st=(y-I)*J,mt=0;ne!==fe?mt=-Fe*U-R1:mt=(-U*Qe+.5)*fe;for(var Xt=0,ur=m;Xt<ur.length;Xt+=1)for(var nr=ur[Xt],Lr=0,Yr=nr.positionedGlyphs;Lr<Yr.length;Lr+=1){var _i=Yr[Lr];_i.x+=st,_i.y+=mt}}function tp(m,y,I){var U=bS(I),J=U.horizontalAlign,ne=U.verticalAlign,fe=y[0],Fe=y[1],Qe=fe-m.displaySize[0]*J,st=Qe+m.displaySize[0],mt=Fe-m.displaySize[1]*ne,Xt=mt+m.displaySize[1];return{image:m,top:mt,bottom:Xt,left:Qe,right:st}}function hm(m,y,I,U,J,ne){var fe=m.image,Fe;if(fe.content){var Qe=fe.content,st=fe.pixelRatio||1;Fe=[Qe[0]/st,Qe[1]/st,fe.displaySize[0]-Qe[2]/st,fe.displaySize[1]-Qe[3]/st]}var mt=y.left*ne,Xt=y.right*ne,ur,nr,Lr,Yr;I===\"width\"||I===\"both\"?(Yr=J[0]+mt-U[3],nr=J[0]+Xt+U[1]):(Yr=J[0]+(mt+Xt-fe.displaySize[0])/2,nr=Yr+fe.displaySize[0]);var _i=y.top*ne,si=y.bottom*ne;return I===\"height\"||I===\"both\"?(ur=J[1]+_i-U[0],Lr=J[1]+si+U[2]):(ur=J[1]+(_i+si-fe.displaySize[1])/2,Lr=ur+fe.displaySize[1]),{image:fe,top:ur,right:nr,bottom:Lr,left:Yr,collisionPadding:Fe}}var Gd=function(m){function y(I,U,J,ne){m.call(this,I,U),this.angle=J,ne!==void 0&&(this.segment=ne)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.clone=function(){return new y(this.x,this.y,this.angle,this.segment)},y}(u);Z(\"Anchor\",Gd);var Sd=128;function yp(m,y){var I=y.expression;if(I.kind===\"constant\"){var U=I.evaluate(new pn(m+1));return{kind:\"constant\",layoutSize:U}}else{if(I.kind===\"source\")return{kind:\"source\"};for(var J=I.zoomStops,ne=I.interpolationType,fe=0;fe<J.length&&J[fe]<=m;)fe++;fe=Math.max(0,fe-1);for(var Fe=fe;Fe<J.length&&J[Fe]<m+1;)Fe++;Fe=Math.min(J.length-1,Fe);var Qe=J[fe],st=J[Fe];if(I.kind===\"composite\")return{kind:\"composite\",minZoom:Qe,maxZoom:st,interpolationType:ne};var mt=I.evaluate(new pn(Qe)),Xt=I.evaluate(new pn(st));return{kind:\"camera\",minZoom:Qe,maxZoom:st,minSize:mt,maxSize:Xt,interpolationType:ne}}}function _Q(m,y,I){var U=y.uSize,J=y.uSizeT,ne=I.lowerSize,fe=I.upperSize;return m.kind===\"source\"?ne/Sd:m.kind===\"composite\"?Qs(ne/Sd,fe/Sd,J):U}function xQ(m,y){var I=0,U=0;if(m.kind===\"constant\")U=m.layoutSize;else if(m.kind!==\"source\"){var J=m.interpolationType,ne=m.minZoom,fe=m.maxZoom,Fe=J?p(Dl.interpolationFactor(J,y,ne,fe),0,1):0;m.kind===\"camera\"?U=Qs(m.minSize,m.maxSize,Fe):I=Fe}return{uSizeT:I,uSize:U}}var iQe=Object.freeze({__proto__:null,getSizeData:yp,evaluateSizeForFeature:_Q,evaluateSizeForZoom:xQ,SIZE_PACK_FACTOR:Sd});function bQ(m,y,I,U,J){if(y.segment===void 0)return!0;for(var ne=y,fe=y.segment+1,Fe=0;Fe>-I/2;){if(fe--,fe<0)return!1;Fe-=m[fe].dist(ne),ne=m[fe]}Fe+=m[fe].dist(m[fe+1]),fe++;for(var Qe=[],st=0;Fe<I/2;){var mt=m[fe-1],Xt=m[fe],ur=m[fe+1];if(!ur)return!1;var nr=mt.angleTo(Xt)-Xt.angleTo(ur);for(nr=Math.abs((nr+3*Math.PI)%(Math.PI*2)-Math.PI),Qe.push({distance:Fe,angleDelta:nr}),st+=nr;Fe-Qe[0].distance>U;)st-=Qe.shift().angleDelta;if(st>J)return!1;fe++,Fe+=Xt.dist(ur)}return!0}function wQ(m){for(var y=0,I=0;I<m.length-1;I++)y+=m[I].dist(m[I+1]);return y}function TQ(m,y,I){return m?3/5*y*I:0}function AQ(m,y){return Math.max(m?m.right-m.left:0,y?y.right-y.left:0)}function nQe(m,y,I,U,J,ne){for(var fe=TQ(I,J,ne),Fe=AQ(I,U)*ne,Qe=0,st=wQ(m)/2,mt=0;mt<m.length-1;mt++){var Xt=m[mt],ur=m[mt+1],nr=Xt.dist(ur);if(Qe+nr>st){var Lr=(st-Qe)/nr,Yr=Qs(Xt.x,ur.x,Lr),_i=Qs(Xt.y,ur.y,Lr),si=new Gd(Yr,_i,ur.angleTo(Xt),mt);return si._round(),!fe||bQ(m,si,Fe,fe,y)?si:void 0}Qe+=nr}}function aQe(m,y,I,U,J,ne,fe,Fe,Qe){var st=TQ(U,ne,fe),mt=AQ(U,J),Xt=mt*fe,ur=m[0].x===0||m[0].x===Qe||m[0].y===0||m[0].y===Qe;y-Xt<y/4&&(y=Xt+y/4);var nr=ne*2,Lr=ur?y/2*Fe%y:(mt/2+nr)*fe*Fe%y;return SQ(m,Lr,y,st,I,Xt,ur,!1,Qe)}function SQ(m,y,I,U,J,ne,fe,Fe,Qe){for(var st=ne/2,mt=wQ(m),Xt=0,ur=y-I,nr=[],Lr=0;Lr<m.length-1;Lr++){for(var Yr=m[Lr],_i=m[Lr+1],si=Yr.dist(_i),Hi=_i.angleTo(Yr);ur+I<Xt+si;){ur+=I;var Ei=(ur-Xt)/si,Vi=Qs(Yr.x,_i.x,Ei),en=Qs(Yr.y,_i.y,Ei);if(Vi>=0&&Vi<Qe&&en>=0&&en<Qe&&ur-st>=0&&ur+st<=mt){var An=new Gd(Vi,en,Hi,Lr);An._round(),(!U||bQ(m,An,ne,U,J))&&nr.push(An)}}Xt+=si}return!Fe&&!nr.length&&!fe&&(nr=SQ(m,Xt/2,I,U,J,ne,fe,!0,Qe)),nr}function MQ(m,y,I,U,J){for(var ne=[],fe=0;fe<m.length;fe++)for(var Fe=m[fe],Qe=void 0,st=0;st<Fe.length-1;st++){var mt=Fe[st],Xt=Fe[st+1];mt.x<y&&Xt.x<y||(mt.x<y?mt=new u(y,mt.y+(Xt.y-mt.y)*((y-mt.x)/(Xt.x-mt.x)))._round():Xt.x<y&&(Xt=new u(y,mt.y+(Xt.y-mt.y)*((y-mt.x)/(Xt.x-mt.x)))._round()),!(mt.y<I&&Xt.y<I)&&(mt.y<I?mt=new u(mt.x+(Xt.x-mt.x)*((I-mt.y)/(Xt.y-mt.y)),I)._round():Xt.y<I&&(Xt=new u(mt.x+(Xt.x-mt.x)*((I-mt.y)/(Xt.y-mt.y)),I)._round()),!(mt.x>=U&&Xt.x>=U)&&(mt.x>=U?mt=new u(U,mt.y+(Xt.y-mt.y)*((U-mt.x)/(Xt.x-mt.x)))._round():Xt.x>=U&&(Xt=new u(U,mt.y+(Xt.y-mt.y)*((U-mt.x)/(Xt.x-mt.x)))._round()),!(mt.y>=J&&Xt.y>=J)&&(mt.y>=J?mt=new u(mt.x+(Xt.x-mt.x)*((J-mt.y)/(Xt.y-mt.y)),J)._round():Xt.y>=J&&(Xt=new u(mt.x+(Xt.x-mt.x)*((J-mt.y)/(Xt.y-mt.y)),J)._round()),(!Qe||!mt.equals(Qe[Qe.length-1]))&&(Qe=[mt],ne.push(Qe)),Qe.push(Xt)))))}return ne}var Gw=oc;function EQ(m,y,I,U){var J=[],ne=m.image,fe=ne.pixelRatio,Fe=ne.paddedRect.w-2*Gw,Qe=ne.paddedRect.h-2*Gw,st=m.right-m.left,mt=m.bottom-m.top,Xt=ne.stretchX||[[0,Fe]],ur=ne.stretchY||[[0,Qe]],nr=function(nl,Ws){return nl+Ws[1]-Ws[0]},Lr=Xt.reduce(nr,0),Yr=ur.reduce(nr,0),_i=Fe-Lr,si=Qe-Yr,Hi=0,Ei=Lr,Vi=0,en=Yr,An=0,ra=_i,$n=0,Ba=si;if(ne.content&&U){var _a=ne.content;Hi=HC(Xt,0,_a[0]),Vi=HC(ur,0,_a[1]),Ei=HC(Xt,_a[0],_a[2]),en=HC(ur,_a[1],_a[3]),An=_a[0]-Hi,$n=_a[1]-Vi,ra=_a[2]-_a[0]-Ei,Ba=_a[3]-_a[1]-en}var Pa=function(nl,Ws,Au,Ou){var nf=GC(nl.stretch-Hi,Ei,st,m.left),bf=jC(nl.fixed-An,ra,nl.stretch,Lr),qh=GC(Ws.stretch-Vi,en,mt,m.top),Zf=jC(Ws.fixed-$n,Ba,Ws.stretch,Yr),jd=GC(Au.stretch-Hi,Ei,st,m.left),Wd=jC(Au.fixed-An,ra,Au.stretch,Lr),Oh=GC(Ou.stretch-Vi,en,mt,m.top),fv=jC(Ou.fixed-$n,Ba,Ou.stretch,Yr),hv=new u(nf,qh),hh=new u(jd,qh),dv=new u(jd,Oh),_p=new u(nf,Oh),py=new u(bf/fe,Zf/fe),F1=new u(Wd/fe,fv/fe),q1=y*Math.PI/180;if(q1){var O1=Math.sin(q1),$w=Math.cos(q1),y0=[$w,-O1,O1,$w];hv._matMult(y0),hh._matMult(y0),_p._matMult(y0),dv._matMult(y0)}var JC=nl.stretch+nl.fixed,fq=Au.stretch+Au.fixed,$C=Ws.stretch+Ws.fixed,hq=Ou.stretch+Ou.fixed,jp={x:ne.paddedRect.x+Gw+JC,y:ne.paddedRect.y+Gw+$C,w:fq-JC,h:hq-$C},Qw=ra/fe/st,QC=Ba/fe/mt;return{tl:hv,tr:hh,bl:_p,br:dv,tex:jp,writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:py,pixelOffsetBR:F1,minFontScaleX:Qw,minFontScaleY:QC,isSDF:I}};if(!U||!ne.stretchX&&!ne.stretchY)J.push(Pa({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:Fe+1},{fixed:0,stretch:Qe+1}));else for(var qo=kQ(Xt,_i,Lr),Na=kQ(ur,si,Yr),ja=0;ja<qo.length-1;ja++)for(var us=qo[ja],zo=qo[ja+1],rl=0;rl<Na.length-1;rl++){var su=Na[rl],il=Na[rl+1];J.push(Pa(us,su,zo,il))}return J}function HC(m,y,I){for(var U=0,J=0,ne=m;J<ne.length;J+=1){var fe=ne[J];U+=Math.max(y,Math.min(I,fe[1]))-Math.max(y,Math.min(I,fe[0]))}return U}function kQ(m,y,I){for(var U=[{fixed:-Gw,stretch:0}],J=0,ne=m;J<ne.length;J+=1){var fe=ne[J],Fe=fe[0],Qe=fe[1],st=U[U.length-1];U.push({fixed:Fe-st.stretch,stretch:st.stretch}),U.push({fixed:Fe-st.stretch,stretch:st.stretch+(Qe-Fe)})}return U.push({fixed:y+Gw,stretch:I}),U}function GC(m,y,I,U){return m/y*I+U}function jC(m,y,I,U){return m-y*I/U}function oQe(m,y,I,U,J,ne,fe,Fe){for(var Qe=U.layout.get(\"text-rotate\").evaluate(ne,{})*Math.PI/180,st=[],mt=0,Xt=y.positionedLines;mt<Xt.length;mt+=1)for(var ur=Xt[mt],nr=0,Lr=ur.positionedGlyphs;nr<Lr.length;nr+=1){var Yr=Lr[nr];if(Yr.rect){var _i=Yr.rect||{},si=1,Hi=Gp+si,Ei=!0,Vi=1,en=0,An=(J||Fe)&&Yr.vertical,ra=Yr.metrics.advance*Yr.scale/2;if(Fe&&y.verticalizable){var $n=(Yr.scale-1)*Zi,Ba=(Zi-Yr.metrics.width*Yr.scale)/2;en=ur.lineOffset/2-(Yr.imageName?-Ba:$n)}if(Yr.imageName){var _a=fe[Yr.imageName];Ei=_a.sdf,Vi=_a.pixelRatio,Hi=oc/Vi}var Pa=J?[Yr.x+ra,Yr.y]:[0,0],qo=J?[0,0]:[Yr.x+ra+I[0],Yr.y+I[1]-en],Na=[0,0];An&&(Na=qo,qo=[0,0]);var ja=(Yr.metrics.left-Hi)*Yr.scale-ra+qo[0],us=(-Yr.metrics.top-Hi)*Yr.scale+qo[1],zo=ja+_i.w*Yr.scale/Vi,rl=us+_i.h*Yr.scale/Vi,su=new u(ja,us),il=new u(zo,us),nl=new u(ja,rl),Ws=new u(zo,rl);if(An){var Au=new u(-ra,ra-R1),Ou=-Math.PI/2,nf=Zi/2-ra,bf=Yr.imageName?nf:0,qh=new u(5-R1-nf,-bf),Zf=new(Function.prototype.bind.apply(u,[null].concat(Na)));su._rotateAround(Ou,Au)._add(qh)._add(Zf),il._rotateAround(Ou,Au)._add(qh)._add(Zf),nl._rotateAround(Ou,Au)._add(qh)._add(Zf),Ws._rotateAround(Ou,Au)._add(qh)._add(Zf)}if(Qe){var jd=Math.sin(Qe),Wd=Math.cos(Qe),Oh=[Wd,-jd,jd,Wd];su._matMult(Oh),il._matMult(Oh),nl._matMult(Oh),Ws._matMult(Oh)}var fv=new u(0,0),hv=new u(0,0),hh=0,dv=0;st.push({tl:su,tr:il,bl:nl,br:Ws,tex:_i,writingMode:y.writingMode,glyphOffset:Pa,sectionIndex:Yr.sectionIndex,isSDF:Ei,pixelOffsetTL:fv,pixelOffsetBR:hv,minFontScaleX:hh,minFontScaleY:dv})}}return st}var WC=function(y,I,U,J,ne,fe,Fe,Qe,st,mt){if(this.boxStartIndex=y.length,st){var Xt=fe.top,ur=fe.bottom,nr=fe.collisionPadding;nr&&(Xt-=nr[1],ur+=nr[3]);var Lr=ur-Xt;Lr>0&&(Lr=Math.max(10,Lr),this.circleDiameter=Lr)}else{var Yr=fe.top*Fe-Qe,_i=fe.bottom*Fe+Qe,si=fe.left*Fe-Qe,Hi=fe.right*Fe+Qe,Ei=fe.collisionPadding;if(Ei&&(si-=Ei[0]*Fe,Yr-=Ei[1]*Fe,Hi+=Ei[2]*Fe,_i+=Ei[3]*Fe),mt){var Vi=new u(si,Yr),en=new u(Hi,Yr),An=new u(si,_i),ra=new u(Hi,_i),$n=mt*Math.PI/180;Vi._rotate($n),en._rotate($n),An._rotate($n),ra._rotate($n),si=Math.min(Vi.x,en.x,An.x,ra.x),Hi=Math.max(Vi.x,en.x,An.x,ra.x),Yr=Math.min(Vi.y,en.y,An.y,ra.y),_i=Math.max(Vi.y,en.y,An.y,ra.y)}y.emplaceBack(I.x,I.y,si,Yr,Hi,_i,U,J,ne)}this.boxEndIndex=y.length},jw=function(y,I){if(y===void 0&&(y=[]),I===void 0&&(I=sQe),this.data=y,this.length=this.data.length,this.compare=I,this.length>0)for(var U=(this.length>>1)-1;U>=0;U--)this._down(U)};jw.prototype.push=function(y){this.data.push(y),this.length++,this._up(this.length-1)},jw.prototype.pop=function(){if(this.length!==0){var y=this.data[0],I=this.data.pop();return this.length--,this.length>0&&(this.data[0]=I,this._down(0)),y}},jw.prototype.peek=function(){return this.data[0]},jw.prototype._up=function(y){for(var I=this,U=I.data,J=I.compare,ne=U[y];y>0;){var fe=y-1>>1,Fe=U[fe];if(J(ne,Fe)>=0)break;U[y]=Fe,y=fe}U[y]=ne},jw.prototype._down=function(y){for(var I=this,U=I.data,J=I.compare,ne=this.length>>1,fe=U[y];y<ne;){var Fe=(y<<1)+1,Qe=U[Fe],st=Fe+1;if(st<this.length&&J(U[st],Qe)<0&&(Fe=st,Qe=U[st]),J(Qe,fe)>=0)break;U[y]=Qe,y=Fe}U[y]=fe};function sQe(m,y){return m<y?-1:m>y?1:0}function lQe(m,y,I){y===void 0&&(y=1),I===void 0&&(I=!1);for(var U=1/0,J=1/0,ne=-1/0,fe=-1/0,Fe=m[0],Qe=0;Qe<Fe.length;Qe++){var st=Fe[Qe];(!Qe||st.x<U)&&(U=st.x),(!Qe||st.y<J)&&(J=st.y),(!Qe||st.x>ne)&&(ne=st.x),(!Qe||st.y>fe)&&(fe=st.y)}var mt=ne-U,Xt=fe-J,ur=Math.min(mt,Xt),nr=ur/2,Lr=new jw([],uQe);if(ur===0)return new u(U,J);for(var Yr=U;Yr<ne;Yr+=ur)for(var _i=J;_i<fe;_i+=ur)Lr.push(new Ww(Yr+nr,_i+nr,nr,m));for(var si=fQe(m),Hi=Lr.length;Lr.length;){var Ei=Lr.pop();(Ei.d>si.d||!si.d)&&(si=Ei,I&&console.log(\"found best %d after %d probes\",Math.round(1e4*Ei.d)/1e4,Hi)),!(Ei.max-si.d<=y)&&(nr=Ei.h/2,Lr.push(new Ww(Ei.p.x-nr,Ei.p.y-nr,nr,m)),Lr.push(new Ww(Ei.p.x+nr,Ei.p.y-nr,nr,m)),Lr.push(new Ww(Ei.p.x-nr,Ei.p.y+nr,nr,m)),Lr.push(new Ww(Ei.p.x+nr,Ei.p.y+nr,nr,m)),Hi+=4)}return I&&(console.log(\"num probes: \"+Hi),console.log(\"best distance: \"+si.d)),si.p}function uQe(m,y){return y.max-m.max}function Ww(m,y,I,U){this.p=new u(m,y),this.h=I,this.d=cQe(this.p,U),this.max=this.d+this.h*Math.SQRT2}function cQe(m,y){for(var I=!1,U=1/0,J=0;J<y.length;J++)for(var ne=y[J],fe=0,Fe=ne.length,Qe=Fe-1;fe<Fe;Qe=fe++){var st=ne[fe],mt=ne[Qe];st.y>m.y!=mt.y>m.y&&m.x<(mt.x-st.x)*(m.y-st.y)/(mt.y-st.y)+st.x&&(I=!I),U=Math.min(U,cg(m,st,mt))}return(I?1:-1)*Math.sqrt(U)}function fQe(m){for(var y=0,I=0,U=0,J=m[0],ne=0,fe=J.length,Fe=fe-1;ne<fe;Fe=ne++){var Qe=J[ne],st=J[Fe],mt=Qe.x*st.y-st.x*Qe.y;I+=(Qe.x+st.x)*mt,U+=(Qe.y+st.y)*mt,y+=mt*3}return new Ww(I/y,U/y,0,m)}var Zw=7,nq=Number.POSITIVE_INFINITY;function CQ(m,y){function I(J,ne){var fe=0,Fe=0;ne<0&&(ne=0);var Qe=ne/Math.sqrt(2);switch(J){case\"top-right\":case\"top-left\":Fe=Qe-Zw;break;case\"bottom-right\":case\"bottom-left\":Fe=-Qe+Zw;break;case\"bottom\":Fe=-ne+Zw;break;case\"top\":Fe=ne-Zw;break}switch(J){case\"top-right\":case\"bottom-right\":fe=-Qe;break;case\"top-left\":case\"bottom-left\":fe=Qe;break;case\"left\":fe=ne;break;case\"right\":fe=-ne;break}return[fe,Fe]}function U(J,ne,fe){var Fe=0,Qe=0;switch(ne=Math.abs(ne),fe=Math.abs(fe),J){case\"top-right\":case\"top-left\":case\"top\":Qe=fe-Zw;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":Qe=-fe+Zw;break}switch(J){case\"top-right\":case\"bottom-right\":case\"right\":Fe=-ne;break;case\"top-left\":case\"bottom-left\":case\"left\":Fe=ne;break}return[Fe,Qe]}return y[1]!==nq?U(m,y[0],y[1]):I(m,y[0])}function hQe(m,y,I,U,J,ne,fe){m.createArrays();var Fe=512*m.overscaling;m.tilePixelRatio=rn/Fe,m.compareText={},m.iconsNeedLinear=!1;var Qe=m.layers[0].layout,st=m.layers[0]._unevaluatedLayout._values,mt={};if(m.textSizeData.kind===\"composite\"){var Xt=m.textSizeData,ur=Xt.minZoom,nr=Xt.maxZoom;mt.compositeTextSizes=[st[\"text-size\"].possiblyEvaluate(new pn(ur),fe),st[\"text-size\"].possiblyEvaluate(new pn(nr),fe)]}if(m.iconSizeData.kind===\"composite\"){var Lr=m.iconSizeData,Yr=Lr.minZoom,_i=Lr.maxZoom;mt.compositeIconSizes=[st[\"icon-size\"].possiblyEvaluate(new pn(Yr),fe),st[\"icon-size\"].possiblyEvaluate(new pn(_i),fe)]}mt.layoutTextSize=st[\"text-size\"].possiblyEvaluate(new pn(m.zoom+1),fe),mt.layoutIconSize=st[\"icon-size\"].possiblyEvaluate(new pn(m.zoom+1),fe),mt.textMaxSize=st[\"text-size\"].possiblyEvaluate(new pn(18));for(var si=Qe.get(\"text-line-height\")*Zi,Hi=Qe.get(\"text-rotation-alignment\")===\"map\"&&Qe.get(\"symbol-placement\")!==\"point\",Ei=Qe.get(\"text-keep-upright\"),Vi=Qe.get(\"text-size\"),en=function(){var $n=ra[An],Ba=Qe.get(\"text-font\").evaluate($n,{},fe).join(\",\"),_a=Vi.evaluate($n,{},fe),Pa=mt.layoutTextSize.evaluate($n,{},fe),qo=mt.layoutIconSize.evaluate($n,{},fe),Na={horizontal:{},vertical:void 0},ja=$n.text,us=[0,0];if(ja){var zo=ja.toString(),rl=Qe.get(\"text-letter-spacing\").evaluate($n,{},fe)*Zi,su=or(zo)?rl:0,il=Qe.get(\"text-anchor\").evaluate($n,{},fe),nl=Qe.get(\"text-variable-anchor\");if(!nl){var Ws=Qe.get(\"text-radial-offset\").evaluate($n,{},fe);Ws?us=CQ(il,[Ws*Zi,nq]):us=Qe.get(\"text-offset\").evaluate($n,{},fe).map(function(py){return py*Zi})}var Au=Hi?\"center\":Qe.get(\"text-justify\").evaluate($n,{},fe),Ou=Qe.get(\"symbol-placement\"),nf=Ou===\"point\"?Qe.get(\"text-max-width\").evaluate($n,{},fe)*Zi:0,bf=function(){m.allowVerticalPlacement&&zt(zo)&&(Na.vertical=Vw(ja,y,I,J,Ba,nf,si,il,\"left\",su,us,uv.vertical,!0,Ou,Pa,_a))};if(!Hi&&nl){for(var qh=Au===\"auto\"?nl.map(function(py){return aq(py)}):[Au],Zf=!1,jd=0;jd<qh.length;jd++){var Wd=qh[jd];if(!Na.horizontal[Wd])if(Zf)Na.horizontal[Wd]=Na.horizontal[0];else{var Oh=Vw(ja,y,I,J,Ba,nf,si,\"center\",Wd,su,us,uv.horizontal,!1,Ou,Pa,_a);Oh&&(Na.horizontal[Wd]=Oh,Zf=Oh.positionedLines.length===1)}}bf()}else{Au===\"auto\"&&(Au=aq(il));var fv=Vw(ja,y,I,J,Ba,nf,si,il,Au,su,us,uv.horizontal,!1,Ou,Pa,_a);fv&&(Na.horizontal[Au]=fv),bf(),zt(zo)&&Hi&&Ei&&(Na.vertical=Vw(ja,y,I,J,Ba,nf,si,il,Au,su,us,uv.vertical,!1,Ou,Pa,_a))}}var hv=void 0,hh=!1;if($n.icon&&$n.icon.name){var dv=U[$n.icon.name];dv&&(hv=tp(J[$n.icon.name],Qe.get(\"icon-offset\").evaluate($n,{},fe),Qe.get(\"icon-anchor\").evaluate($n,{},fe)),hh=dv.sdf,m.sdfIcons===void 0?m.sdfIcons=dv.sdf:m.sdfIcons!==dv.sdf&&re(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),(dv.pixelRatio!==m.pixelRatio||Qe.get(\"icon-rotate\").constantOr(1)!==0)&&(m.iconsNeedLinear=!0))}var _p=PQ(Na.horizontal)||Na.vertical;m.iconsInText=_p?_p.iconsInText:!1,(_p||hv)&&dQe(m,$n,Na,hv,U,mt,Pa,qo,us,hh,fe)},An=0,ra=m.features;An<ra.length;An+=1)en();ne&&m.generateCollisionDebugBuffers()}function aq(m){switch(m){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function dQe(m,y,I,U,J,ne,fe,Fe,Qe,st,mt){var Xt=ne.textMaxSize.evaluate(y,{});Xt===void 0&&(Xt=fe);var ur=m.layers[0].layout,nr=ur.get(\"icon-offset\").evaluate(y,{},mt),Lr=PQ(I.horizontal),Yr=24,_i=fe/Yr,si=m.tilePixelRatio*_i,Hi=m.tilePixelRatio*Xt/Yr,Ei=m.tilePixelRatio*Fe,Vi=m.tilePixelRatio*ur.get(\"symbol-spacing\"),en=ur.get(\"text-padding\")*m.tilePixelRatio,An=ur.get(\"icon-padding\")*m.tilePixelRatio,ra=ur.get(\"text-max-angle\")/180*Math.PI,$n=ur.get(\"text-rotation-alignment\")===\"map\"&&ur.get(\"symbol-placement\")!==\"point\",Ba=ur.get(\"icon-rotation-alignment\")===\"map\"&&ur.get(\"symbol-placement\")!==\"point\",_a=ur.get(\"symbol-placement\"),Pa=Vi/2,qo=ur.get(\"icon-text-fit\"),Na;U&&qo!==\"none\"&&(m.allowVerticalPlacement&&I.vertical&&(Na=hm(U,I.vertical,qo,ur.get(\"icon-text-fit-padding\"),nr,_i)),Lr&&(U=hm(U,Lr,qo,ur.get(\"icon-text-fit-padding\"),nr,_i)));var ja=function($w,y0){y0.x<0||y0.x>=rn||y0.y<0||y0.y>=rn||vQe(m,y0,$w,I,U,J,Na,m.layers[0],m.collisionBoxArray,y.index,y.sourceLayerIndex,m.index,si,en,$n,Qe,Ei,An,Ba,nr,y,ne,st,mt,fe)};if(_a===\"line\")for(var us=0,zo=MQ(y.geometry,0,0,rn,rn);us<zo.length;us+=1)for(var rl=zo[us],su=aQe(rl,Vi,ra,I.vertical||Lr,U,Yr,Hi,m.overscaling,rn),il=0,nl=su;il<nl.length;il+=1){var Ws=nl[il],Au=Lr;(!Au||!pQe(m,Au.text,Pa,Ws))&&ja(rl,Ws)}else if(_a===\"line-center\")for(var Ou=0,nf=y.geometry;Ou<nf.length;Ou+=1){var bf=nf[Ou];if(bf.length>1){var qh=nQe(bf,ra,I.vertical||Lr,U,Yr,Hi);qh&&ja(bf,qh)}}else if(y.type===\"Polygon\")for(var Zf=0,jd=zw(y.geometry,0);Zf<jd.length;Zf+=1){var Wd=jd[Zf],Oh=lQe(Wd,16);ja(Wd[0],new Gd(Oh.x,Oh.y,0))}else if(y.type===\"LineString\")for(var fv=0,hv=y.geometry;fv<hv.length;fv+=1){var hh=hv[fv];ja(hh,new Gd(hh[0].x,hh[0].y,0))}else if(y.type===\"Point\")for(var dv=0,_p=y.geometry;dv<_p.length;dv+=1)for(var py=_p[dv],F1=0,q1=py;F1<q1.length;F1+=1){var O1=q1[F1];ja([O1],new Gd(O1.x,O1.y,0))}}var wS=255,D1=wS*Sd;function LQ(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr){var Yr=oQe(y,I,Fe,J,ne,fe,U,m.allowVerticalPlacement),_i=m.textSizeData,si=null;_i.kind===\"source\"?(si=[Sd*J.layout.get(\"text-size\").evaluate(fe,{})],si[0]>D1&&re(m.layerIds[0]+': Value for \"text-size\" is >= '+wS+'. Reduce your \"text-size\".')):_i.kind===\"composite\"&&(si=[Sd*nr.compositeTextSizes[0].evaluate(fe,{},Lr),Sd*nr.compositeTextSizes[1].evaluate(fe,{},Lr)],(si[0]>D1||si[1]>D1)&&re(m.layerIds[0]+': Value for \"text-size\" is >= '+wS+'. Reduce your \"text-size\".')),m.addSymbols(m.text,Yr,si,Fe,ne,fe,st,y,Qe.lineStartIndex,Qe.lineLength,ur,Lr);for(var Hi=0,Ei=mt;Hi<Ei.length;Hi+=1){var Vi=Ei[Hi];Xt[Vi]=m.text.placedSymbolArray.length-1}return Yr.length*4}function PQ(m){for(var y in m)return m[y];return null}function vQe(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n){var Ba,_a=m.addToLineVertexArray(y,I),Pa,qo,Na,ja,us=0,zo=0,rl=0,su=0,il=-1,nl=-1,Ws={},Au=$(\"\"),Ou=0,nf=0;if(Fe._unevaluatedLayout.getValue(\"text-radial-offset\")===void 0?(Ba=Fe.layout.get(\"text-offset\").evaluate(Vi,{},ra).map(function(SS){return SS*Zi}),Ou=Ba[0],nf=Ba[1]):(Ou=Fe.layout.get(\"text-radial-offset\").evaluate(Vi,{},ra)*Zi,nf=nq),m.allowVerticalPlacement&&U.vertical){var bf=Fe.layout.get(\"text-rotate\").evaluate(Vi,{},ra),qh=bf+90,Zf=U.vertical;Na=new WC(Qe,y,st,mt,Xt,Zf,ur,nr,Lr,qh),fe&&(ja=new WC(Qe,y,st,mt,Xt,fe,_i,si,Lr,qh))}if(J){var jd=Fe.layout.get(\"icon-rotate\").evaluate(Vi,{}),Wd=Fe.layout.get(\"icon-text-fit\")!==\"none\",Oh=EQ(J,jd,An,Wd),fv=fe?EQ(fe,jd,An,Wd):void 0;qo=new WC(Qe,y,st,mt,Xt,J,_i,si,!1,jd),us=Oh.length*4;var hv=m.iconSizeData,hh=null;hv.kind===\"source\"?(hh=[Sd*Fe.layout.get(\"icon-size\").evaluate(Vi,{})],hh[0]>D1&&re(m.layerIds[0]+': Value for \"icon-size\" is >= '+wS+'. Reduce your \"icon-size\".')):hv.kind===\"composite\"&&(hh=[Sd*en.compositeIconSizes[0].evaluate(Vi,{},ra),Sd*en.compositeIconSizes[1].evaluate(Vi,{},ra)],(hh[0]>D1||hh[1]>D1)&&re(m.layerIds[0]+': Value for \"icon-size\" is >= '+wS+'. Reduce your \"icon-size\".')),m.addSymbols(m.icon,Oh,hh,Ei,Hi,Vi,!1,y,_a.lineStartIndex,_a.lineLength,-1,ra),il=m.icon.placedSymbolArray.length-1,fv&&(zo=fv.length*4,m.addSymbols(m.icon,fv,hh,Ei,Hi,Vi,uv.vertical,y,_a.lineStartIndex,_a.lineLength,-1,ra),nl=m.icon.placedSymbolArray.length-1)}for(var dv in U.horizontal){var _p=U.horizontal[dv];if(!Pa){Au=$(_p.text);var py=Fe.layout.get(\"text-rotate\").evaluate(Vi,{},ra);Pa=new WC(Qe,y,st,mt,Xt,_p,ur,nr,Lr,py)}var F1=_p.positionedLines.length===1;if(rl+=LQ(m,y,_p,ne,Fe,Lr,Vi,Yr,_a,U.vertical?uv.horizontal:uv.horizontalOnly,F1?Object.keys(U.horizontal):[dv],Ws,il,en,ra),F1)break}U.vertical&&(su+=LQ(m,y,U.vertical,ne,Fe,Lr,Vi,Yr,_a,uv.vertical,[\"vertical\"],Ws,nl,en,ra));var q1=Pa?Pa.boxStartIndex:m.collisionBoxArray.length,O1=Pa?Pa.boxEndIndex:m.collisionBoxArray.length,$w=Na?Na.boxStartIndex:m.collisionBoxArray.length,y0=Na?Na.boxEndIndex:m.collisionBoxArray.length,JC=qo?qo.boxStartIndex:m.collisionBoxArray.length,fq=qo?qo.boxEndIndex:m.collisionBoxArray.length,$C=ja?ja.boxStartIndex:m.collisionBoxArray.length,hq=ja?ja.boxEndIndex:m.collisionBoxArray.length,jp=-1,Qw=function(SS,ZQ){return SS&&SS.circleDiameter?Math.max(SS.circleDiameter,ZQ):ZQ};jp=Qw(Pa,jp),jp=Qw(Na,jp),jp=Qw(qo,jp),jp=Qw(ja,jp);var QC=jp>-1?1:0;QC&&(jp*=$n/Zi),m.glyphOffsetArray.length>=ou.MAX_GLYPHS&&re(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),Vi.sortKey!==void 0&&m.addToSortKeyRanges(m.symbolInstances.length,Vi.sortKey),m.symbolInstances.emplaceBack(y.x,y.y,Ws.right>=0?Ws.right:-1,Ws.center>=0?Ws.center:-1,Ws.left>=0?Ws.left:-1,Ws.vertical||-1,il,nl,Au,q1,O1,$w,y0,JC,fq,$C,hq,st,rl,su,us,zo,QC,0,ur,Ou,nf,jp)}function pQe(m,y,I,U){var J=m.compareText;if(!(y in J))J[y]=[];else for(var ne=J[y],fe=ne.length-1;fe>=0;fe--)if(U.dist(ne[fe])<I)return!0;return J[y].push(U),!1}var gQe=pg.VectorTileFeature.types,mQe=[{name:\"a_fade_opacity\",components:1,type:\"Uint8\",offset:0}];function ZC(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){var nr=Fe?Math.min(D1,Math.round(Fe[0])):0,Lr=Fe?Math.min(D1,Math.round(Fe[1])):0;m.emplaceBack(y,I,Math.round(U*32),Math.round(J*32),ne,fe,(nr<<1)+(Qe?1:0),Lr,st*16,mt*16,Xt*256,ur*256)}function oq(m,y,I){m.emplaceBack(y.x,y.y,I),m.emplaceBack(y.x,y.y,I),m.emplaceBack(y.x,y.y,I),m.emplaceBack(y.x,y.y,I)}function yQe(m){for(var y=0,I=m.sections;y<I.length;y+=1){var U=I[y];if(vi(U.text))return!0}return!1}var Xw=function(y){this.layoutVertexArray=new Za,this.indexArray=new ma,this.programConfigurations=y,this.segments=new ns,this.dynamicLayoutVertexArray=new wn,this.opacityVertexArray=new vn,this.placedSymbolArray=new El};Xw.prototype.isEmpty=function(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0},Xw.prototype.upload=function(y,I,U,J){this.isEmpty()||(U&&(this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,te.members),this.indexBuffer=y.createIndexBuffer(this.indexArray,I),this.dynamicLayoutVertexBuffer=y.createVertexBuffer(this.dynamicLayoutVertexArray,ue.members,!0),this.opacityVertexBuffer=y.createVertexBuffer(this.opacityVertexArray,mQe,!0),this.opacityVertexBuffer.itemSize=1),(U||J)&&this.programConfigurations.upload(y))},Xw.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},Z(\"SymbolBuffers\",Xw);var TS=function(y,I,U){this.layoutVertexArray=new y,this.layoutAttributes=I,this.indexArray=new U,this.segments=new ns,this.collisionVertexArray=new Vn};TS.prototype.upload=function(y){this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=y.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=y.createVertexBuffer(this.collisionVertexArray,De.members,!0)},TS.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},Z(\"CollisionBuffers\",TS);var ou=function(y){this.collisionBoxArray=y.collisionBoxArray,this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(Qe){return Qe.id}),this.index=y.index,this.pixelRatio=y.pixelRatio,this.sourceLayerIndex=y.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=oy([]),this.placementViewportMatrix=oy([]);var I=this.layers[0],U=I._unevaluatedLayout._values;this.textSizeData=yp(this.zoom,U[\"text-size\"]),this.iconSizeData=yp(this.zoom,U[\"icon-size\"]);var J=this.layers[0].layout,ne=J.get(\"symbol-sort-key\"),fe=J.get(\"symbol-z-order\");this.canOverlap=J.get(\"text-allow-overlap\")||J.get(\"icon-allow-overlap\")||J.get(\"text-ignore-placement\")||J.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=fe!==\"viewport-y\"&&ne.constantOr(1)!==void 0;var Fe=fe===\"viewport-y\"||fe===\"auto\"&&!this.sortFeaturesByKey;this.sortFeaturesByY=Fe&&this.canOverlap,J.get(\"symbol-placement\")===\"point\"&&(this.writingModes=J.get(\"text-writing-mode\").map(function(Qe){return uv[Qe]})),this.stateDependentLayerIds=this.layers.filter(function(Qe){return Qe.isStateDependent()}).map(function(Qe){return Qe.id}),this.sourceID=y.sourceID};ou.prototype.createArrays=function(){this.text=new Xw(new Ri(this.layers,this.zoom,function(y){return/^text/.test(y)})),this.icon=new Xw(new Ri(this.layers,this.zoom,function(y){return/^icon/.test(y)})),this.glyphOffsetArray=new yf,this.lineVertexArray=new Gl,this.symbolInstances=new wc},ou.prototype.calculateGlyphDependencies=function(y,I,U,J,ne){for(var fe=0;fe<y.length;fe++)if(I[y.charCodeAt(fe)]=!0,(U||J)&&ne){var Fe=pi[y.charAt(fe)];Fe&&(I[Fe.charCodeAt(0)]=!0)}},ou.prototype.populate=function(y,I,U){var J=this.layers[0],ne=J.layout,fe=ne.get(\"text-font\"),Fe=ne.get(\"text-field\"),Qe=ne.get(\"icon-image\"),st=(Fe.value.kind!==\"constant\"||Fe.value.value instanceof Vl&&!Fe.value.value.isEmpty()||Fe.value.value.toString().length>0)&&(fe.value.kind!==\"constant\"||fe.value.value.length>0),mt=Qe.value.kind!==\"constant\"||!!Qe.value.value||Object.keys(Qe.parameters).length>0,Xt=ne.get(\"symbol-sort-key\");if(this.features=[],!(!st&&!mt)){for(var ur=I.iconDependencies,nr=I.glyphDependencies,Lr=I.availableImages,Yr=new pn(this.zoom),_i=0,si=y;_i<si.length;_i+=1){var Hi=si[_i],Ei=Hi.feature,Vi=Hi.id,en=Hi.index,An=Hi.sourceLayerIndex,ra=J._featureFilter.needGeometry,$n=No(Ei,ra);if(J._featureFilter.filter(Yr,$n,U)){ra||($n.geometry=da(Ei));var Ba=void 0;if(st){var _a=J.getValueAndResolveTokens(\"text-field\",$n,U,Lr),Pa=Vl.factory(_a);yQe(Pa)&&(this.hasRTLText=!0),(!this.hasRTLText||so()===\"unavailable\"||this.hasRTLText&&_s.isParsed())&&(Ba=ni(Pa,J,$n))}var qo=void 0;if(mt){var Na=J.getValueAndResolveTokens(\"icon-image\",$n,U,Lr);Na instanceof Js?qo=Na:qo=Js.fromString(Na)}if(!(!Ba&&!qo)){var ja=this.sortFeaturesByKey?Xt.evaluate($n,{},U):void 0,us={id:Vi,text:Ba,icon:qo,index:en,sourceLayerIndex:An,geometry:$n.geometry,properties:Ei.properties,type:gQe[Ei.type],sortKey:ja};if(this.features.push(us),qo&&(ur[qo.name]=!0),Ba){var zo=fe.evaluate($n,{},U).join(\",\"),rl=ne.get(\"text-rotation-alignment\")===\"map\"&&ne.get(\"symbol-placement\")!==\"point\";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(uv.vertical)>=0;for(var su=0,il=Ba.sections;su<il.length;su+=1){var nl=il[su];if(nl.image)ur[nl.image.name]=!0;else{var Ws=zt(Ba.toString()),Au=nl.fontStack||zo,Ou=nr[Au]=nr[Au]||{};this.calculateGlyphDependencies(nl.text,Ou,rl,this.allowVerticalPlacement,Ws)}}}}}}ne.get(\"symbol-placement\")===\"line\"&&(this.features=Di(this.features)),this.sortFeaturesByKey&&this.features.sort(function(nf,bf){return nf.sortKey-bf.sortKey})}},ou.prototype.update=function(y,I,U){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(y,I,this.layers,U),this.icon.programConfigurations.updatePaintArrays(y,I,this.layers,U))},ou.prototype.isEmpty=function(){return this.symbolInstances.length===0&&!this.hasRTLText},ou.prototype.uploadPending=function(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload},ou.prototype.upload=function(y){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(y),this.iconCollisionBox.upload(y)),this.text.upload(y,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(y,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0},ou.prototype.destroyDebugData=function(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()},ou.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()},ou.prototype.addToLineVertexArray=function(y,I){var U=this.lineVertexArray.length;if(y.segment!==void 0){for(var J=y.dist(I[y.segment+1]),ne=y.dist(I[y.segment]),fe={},Fe=y.segment+1;Fe<I.length;Fe++)fe[Fe]={x:I[Fe].x,y:I[Fe].y,tileUnitDistanceFromAnchor:J},Fe<I.length-1&&(J+=I[Fe+1].dist(I[Fe]));for(var Qe=y.segment||0;Qe>=0;Qe--)fe[Qe]={x:I[Qe].x,y:I[Qe].y,tileUnitDistanceFromAnchor:ne},Qe>0&&(ne+=I[Qe-1].dist(I[Qe]));for(var st=0;st<I.length;st++){var mt=fe[st];this.lineVertexArray.emplaceBack(mt.x,mt.y,mt.tileUnitDistanceFromAnchor)}}return{lineStartIndex:U,lineLength:this.lineVertexArray.length-U}},ou.prototype.addSymbols=function(y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){for(var nr=y.indexArray,Lr=y.layoutVertexArray,Yr=y.segments.prepareSegment(4*I.length,Lr,nr,this.canOverlap?fe.sortKey:void 0),_i=this.glyphOffsetArray.length,si=Yr.vertexLength,Hi=this.allowVerticalPlacement&&Fe===uv.vertical?Math.PI/2:0,Ei=fe.text&&fe.text.sections,Vi=0;Vi<I.length;Vi++){var en=I[Vi],An=en.tl,ra=en.tr,$n=en.bl,Ba=en.br,_a=en.tex,Pa=en.pixelOffsetTL,qo=en.pixelOffsetBR,Na=en.minFontScaleX,ja=en.minFontScaleY,us=en.glyphOffset,zo=en.isSDF,rl=en.sectionIndex,su=Yr.vertexLength,il=us[1];ZC(Lr,Qe.x,Qe.y,An.x,il+An.y,_a.x,_a.y,U,zo,Pa.x,Pa.y,Na,ja),ZC(Lr,Qe.x,Qe.y,ra.x,il+ra.y,_a.x+_a.w,_a.y,U,zo,qo.x,Pa.y,Na,ja),ZC(Lr,Qe.x,Qe.y,$n.x,il+$n.y,_a.x,_a.y+_a.h,U,zo,Pa.x,qo.y,Na,ja),ZC(Lr,Qe.x,Qe.y,Ba.x,il+Ba.y,_a.x+_a.w,_a.y+_a.h,U,zo,qo.x,qo.y,Na,ja),oq(y.dynamicLayoutVertexArray,Qe,Hi),nr.emplaceBack(su,su+1,su+2),nr.emplaceBack(su+1,su+2,su+3),Yr.vertexLength+=4,Yr.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(us[0]),(Vi===I.length-1||rl!==I[Vi+1].sectionIndex)&&y.programConfigurations.populatePaintArrays(Lr.length,fe,fe.index,{},ur,Ei&&Ei[rl])}y.placedSymbolArray.emplaceBack(Qe.x,Qe.y,_i,this.glyphOffsetArray.length-_i,si,st,mt,Qe.segment,U?U[0]:0,U?U[1]:0,J[0],J[1],Fe,0,!1,0,Xt)},ou.prototype._addCollisionDebugVertex=function(y,I,U,J,ne,fe){return I.emplaceBack(0,0),y.emplaceBack(U.x,U.y,J,ne,Math.round(fe.x),Math.round(fe.y))},ou.prototype.addCollisionDebugVertices=function(y,I,U,J,ne,fe,Fe){var Qe=ne.segments.prepareSegment(4,ne.layoutVertexArray,ne.indexArray),st=Qe.vertexLength,mt=ne.layoutVertexArray,Xt=ne.collisionVertexArray,ur=Fe.anchorX,nr=Fe.anchorY;this._addCollisionDebugVertex(mt,Xt,fe,ur,nr,new u(y,I)),this._addCollisionDebugVertex(mt,Xt,fe,ur,nr,new u(U,I)),this._addCollisionDebugVertex(mt,Xt,fe,ur,nr,new u(U,J)),this._addCollisionDebugVertex(mt,Xt,fe,ur,nr,new u(y,J)),Qe.vertexLength+=4;var Lr=ne.indexArray;Lr.emplaceBack(st,st+1),Lr.emplaceBack(st+1,st+2),Lr.emplaceBack(st+2,st+3),Lr.emplaceBack(st+3,st),Qe.primitiveLength+=4},ou.prototype.addDebugCollisionBoxes=function(y,I,U,J){for(var ne=y;ne<I;ne++){var fe=this.collisionBoxArray.get(ne),Fe=fe.x1,Qe=fe.y1,st=fe.x2,mt=fe.y2;this.addCollisionDebugVertices(Fe,Qe,st,mt,J?this.textCollisionBox:this.iconCollisionBox,fe.anchorPoint,U)}},ou.prototype.generateCollisionDebugBuffers=function(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new TS(aa,at.members,Po),this.iconCollisionBox=new TS(aa,at.members,Po);for(var y=0;y<this.symbolInstances.length;y++){var I=this.symbolInstances.get(y);this.addDebugCollisionBoxes(I.textBoxStartIndex,I.textBoxEndIndex,I,!0),this.addDebugCollisionBoxes(I.verticalTextBoxStartIndex,I.verticalTextBoxEndIndex,I,!0),this.addDebugCollisionBoxes(I.iconBoxStartIndex,I.iconBoxEndIndex,I,!1),this.addDebugCollisionBoxes(I.verticalIconBoxStartIndex,I.verticalIconBoxEndIndex,I,!1)}},ou.prototype._deserializeCollisionBoxesForSymbol=function(y,I,U,J,ne,fe,Fe,Qe,st){for(var mt={},Xt=I;Xt<U;Xt++){var ur=y.get(Xt);mt.textBox={x1:ur.x1,y1:ur.y1,x2:ur.x2,y2:ur.y2,anchorPointX:ur.anchorPointX,anchorPointY:ur.anchorPointY},mt.textFeatureIndex=ur.featureIndex;break}for(var nr=J;nr<ne;nr++){var Lr=y.get(nr);mt.verticalTextBox={x1:Lr.x1,y1:Lr.y1,x2:Lr.x2,y2:Lr.y2,anchorPointX:Lr.anchorPointX,anchorPointY:Lr.anchorPointY},mt.verticalTextFeatureIndex=Lr.featureIndex;break}for(var Yr=fe;Yr<Fe;Yr++){var _i=y.get(Yr);mt.iconBox={x1:_i.x1,y1:_i.y1,x2:_i.x2,y2:_i.y2,anchorPointX:_i.anchorPointX,anchorPointY:_i.anchorPointY},mt.iconFeatureIndex=_i.featureIndex;break}for(var si=Qe;si<st;si++){var Hi=y.get(si);mt.verticalIconBox={x1:Hi.x1,y1:Hi.y1,x2:Hi.x2,y2:Hi.y2,anchorPointX:Hi.anchorPointX,anchorPointY:Hi.anchorPointY},mt.verticalIconFeatureIndex=Hi.featureIndex;break}return mt},ou.prototype.deserializeCollisionBoxes=function(y){this.collisionArrays=[];for(var I=0;I<this.symbolInstances.length;I++){var U=this.symbolInstances.get(I);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(y,U.textBoxStartIndex,U.textBoxEndIndex,U.verticalTextBoxStartIndex,U.verticalTextBoxEndIndex,U.iconBoxStartIndex,U.iconBoxEndIndex,U.verticalIconBoxStartIndex,U.verticalIconBoxEndIndex))}},ou.prototype.hasTextData=function(){return this.text.segments.get().length>0},ou.prototype.hasIconData=function(){return this.icon.segments.get().length>0},ou.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},ou.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},ou.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},ou.prototype.addIndicesForPlacedSymbol=function(y,I){for(var U=y.placedSymbolArray.get(I),J=U.vertexStartIndex+U.numGlyphs*4,ne=U.vertexStartIndex;ne<J;ne+=4)y.indexArray.emplaceBack(ne,ne+1,ne+2),y.indexArray.emplaceBack(ne+1,ne+2,ne+3)},ou.prototype.getSortedSymbolIndexes=function(y){if(this.sortedAngle===y&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;for(var I=Math.sin(y),U=Math.cos(y),J=[],ne=[],fe=[],Fe=0;Fe<this.symbolInstances.length;++Fe){fe.push(Fe);var Qe=this.symbolInstances.get(Fe);J.push(Math.round(I*Qe.anchorX+U*Qe.anchorY)|0),ne.push(Qe.featureIndex)}return fe.sort(function(st,mt){return J[st]-J[mt]||ne[mt]-ne[st]}),fe},ou.prototype.addToSortKeyRanges=function(y,I){var U=this.sortKeyRanges[this.sortKeyRanges.length-1];U&&U.sortKey===I?U.symbolInstanceEnd=y+1:this.sortKeyRanges.push({sortKey:I,symbolInstanceStart:y,symbolInstanceEnd:y+1})},ou.prototype.sortFeatures=function(y){var I=this;if(this.sortFeaturesByY&&this.sortedAngle!==y&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(y),this.sortedAngle=y,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var U=0,J=this.symbolInstanceIndexes;U<J.length;U+=1){var ne=J[U],fe=this.symbolInstances.get(ne);this.featureSortOrder.push(fe.featureIndex),[fe.rightJustifiedTextSymbolIndex,fe.centerJustifiedTextSymbolIndex,fe.leftJustifiedTextSymbolIndex].forEach(function(Fe,Qe,st){Fe>=0&&st.indexOf(Fe)===Qe&&I.addIndicesForPlacedSymbol(I.text,Fe)}),fe.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,fe.verticalPlacedTextSymbolIndex),fe.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,fe.placedIconSymbolIndex),fe.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,fe.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},Z(\"SymbolBucket\",ou,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),ou.MAX_GLYPHS=65535,ou.addDynamicAttributes=oq;function _Qe(m,y){return y.replace(/{([^{}]+)}/g,function(I,U){return U in m?String(m[U]):\"\"})}var xQe=new Oi({\"symbol-placement\":new At(on.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new At(on.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new At(on.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new Er(on.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new At(on.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new At(on.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new At(on.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new At(on.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new At(on.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new Er(on.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new At(on.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new At(on.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new Er(on.layout_symbol[\"icon-image\"]),\"icon-rotate\":new Er(on.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new At(on.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new At(on.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new Er(on.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new Er(on.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new At(on.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new At(on.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new At(on.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new Er(on.layout_symbol[\"text-field\"]),\"text-font\":new Er(on.layout_symbol[\"text-font\"]),\"text-size\":new Er(on.layout_symbol[\"text-size\"]),\"text-max-width\":new Er(on.layout_symbol[\"text-max-width\"]),\"text-line-height\":new At(on.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new Er(on.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new Er(on.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new Er(on.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new At(on.layout_symbol[\"text-variable-anchor\"]),\"text-anchor\":new Er(on.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new At(on.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new At(on.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new Er(on.layout_symbol[\"text-rotate\"]),\"text-padding\":new At(on.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new At(on.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new Er(on.layout_symbol[\"text-transform\"]),\"text-offset\":new Er(on.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new At(on.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new At(on.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new At(on.layout_symbol[\"text-optional\"])}),bQe=new Oi({\"icon-opacity\":new Er(on.paint_symbol[\"icon-opacity\"]),\"icon-color\":new Er(on.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new Er(on.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new Er(on.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new Er(on.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new At(on.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new At(on.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new Er(on.paint_symbol[\"text-opacity\"]),\"text-color\":new Er(on.paint_symbol[\"text-color\"],{runtimeType:Tl,getOverride:function(m){return m.textColor},hasOverride:function(m){return!!m.textColor}}),\"text-halo-color\":new Er(on.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new Er(on.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new Er(on.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new At(on.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new At(on.paint_symbol[\"text-translate-anchor\"])}),sq={paint:bQe,layout:xQe},Yw=function(y){this.type=y.property.overrides?y.property.overrides.runtimeType:Ec,this.defaultValue=y};Yw.prototype.evaluate=function(y){if(y.formattedSection){var I=this.defaultValue.property.overrides;if(I&&I.hasOverride(y.formattedSection))return I.getOverride(y.formattedSection)}return y.feature&&y.featureState?this.defaultValue.evaluate(y.feature,y.featureState):this.defaultValue.property.specification.default},Yw.prototype.eachChild=function(y){if(!this.defaultValue.isConstant()){var I=this.defaultValue.value;y(I._styleExpression.expression)}},Yw.prototype.outputDefined=function(){return!1},Yw.prototype.serialize=function(){return null},Z(\"FormatSectionOverride\",Yw,{omit:[\"defaultValue\"]});var wQe=function(m){function y(I){m.call(this,I,sq)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.recalculate=function(U,J){if(m.prototype.recalculate.call(this,U,J),this.layout.get(\"icon-rotation-alignment\")===\"auto\"&&(this.layout.get(\"symbol-placement\")!==\"point\"?this.layout._values[\"icon-rotation-alignment\"]=\"map\":this.layout._values[\"icon-rotation-alignment\"]=\"viewport\"),this.layout.get(\"text-rotation-alignment\")===\"auto\"&&(this.layout.get(\"symbol-placement\")!==\"point\"?this.layout._values[\"text-rotation-alignment\"]=\"map\":this.layout._values[\"text-rotation-alignment\"]=\"viewport\"),this.layout.get(\"text-pitch-alignment\")===\"auto\"&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")),this.layout.get(\"icon-pitch-alignment\")===\"auto\"&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),this.layout.get(\"symbol-placement\")===\"point\"){var ne=this.layout.get(\"text-writing-mode\");if(ne){for(var fe=[],Fe=0,Qe=ne;Fe<Qe.length;Fe+=1){var st=Qe[Fe];fe.indexOf(st)<0&&fe.push(st)}this.layout._values[\"text-writing-mode\"]=fe}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]}this._setPaintOverrides()},y.prototype.getValueAndResolveTokens=function(U,J,ne,fe){var Fe=this.layout.get(U).evaluate(J,{},ne,fe),Qe=this._unevaluatedLayout._values[U];return!Qe.isDataDriven()&&!Da(Qe.value)&&Fe?_Qe(J.properties,Fe):Fe},y.prototype.createBucket=function(U){return new ou(U)},y.prototype.queryRadius=function(){return 0},y.prototype.queryIntersectsFeature=function(){return!1},y.prototype._setPaintOverrides=function(){for(var U=0,J=sq.paint.overridableProperties;U<J.length;U+=1){var ne=J[U];if(y.hasPaintOverride(this.layout,ne)){var fe=this.paint.get(ne),Fe=new Yw(fe),Qe=new Dc(Fe,fe.property.specification),st=null;fe.value.kind===\"constant\"||fe.value.kind===\"source\"?st=new Jc(\"source\",Qe):st=new yc(\"composite\",Qe,fe.value.zoomStops,fe.value._interpolationType),this.paint._values[ne]=new dl(fe.property,st,fe.parameters)}}},y.prototype._handleOverridablePaintPropertyUpdate=function(U,J,ne){return!this.layout||J.isDataDriven()||ne.isDataDriven()?!1:y.hasPaintOverride(this.layout,U)},y.hasPaintOverride=function(U,J){var ne=U.get(\"text-field\"),fe=sq.paint.properties[J],Fe=!1,Qe=function(Xt){for(var ur=0,nr=Xt;ur<nr.length;ur+=1){var Lr=nr[ur];if(fe.overrides&&fe.overrides.hasOverride(Lr)){Fe=!0;return}}};if(ne.value.kind===\"constant\"&&ne.value.value instanceof Vl)Qe(ne.value.value.sections);else if(ne.value.kind===\"source\"){var st=function(Xt){if(!Fe)if(Xt instanceof hs&&ws(Xt.value)===Al){var ur=Xt.value;Qe(ur.sections)}else Xt instanceof ec?Qe(Xt.sections):Xt.eachChild(st)},mt=ne.value;mt._styleExpression&&st(mt._styleExpression.expression)}return Fe},y}(cn),TQe=new Oi({\"background-color\":new At(on.paint_background[\"background-color\"]),\"background-pattern\":new wi(on.paint_background[\"background-pattern\"]),\"background-opacity\":new At(on.paint_background[\"background-opacity\"])}),AQe={paint:TQe},SQe=function(m){function y(I){m.call(this,I,AQe)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(cn),MQe=new Oi({\"raster-opacity\":new At(on.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new At(on.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new At(on.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new At(on.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new At(on.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new At(on.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new At(on.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new At(on.paint_raster[\"raster-fade-duration\"])}),EQe={paint:MQe},kQe=function(m){function y(I){m.call(this,I,EQe)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(cn);function CQe(m){var y=[],I=m.id;return I===void 0&&y.push({message:\"layers.\"+I+': missing required property \"id\"'}),m.render===void 0&&y.push({message:\"layers.\"+I+': missing required method \"render\"'}),m.renderingMode&&m.renderingMode!==\"2d\"&&m.renderingMode!==\"3d\"&&y.push({message:\"layers.\"+I+': property \"renderingMode\" must be either \"2d\" or \"3d\"'}),y}var LQe=function(m){function y(I){m.call(this,I,{}),this.implementation=I}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.is3D=function(){return this.implementation.renderingMode===\"3d\"},y.prototype.hasOffscreenPass=function(){return this.implementation.prerender!==void 0},y.prototype.recalculate=function(){},y.prototype.updateTransitions=function(){},y.prototype.hasTransition=function(){},y.prototype.serialize=function(){},y.prototype.onAdd=function(U){this.implementation.onAdd&&this.implementation.onAdd(U,U.painter.context.gl)},y.prototype.onRemove=function(U){this.implementation.onRemove&&this.implementation.onRemove(U,U.painter.context.gl)},y}(cn),PQe={circle:O9,heatmap:Lw,hillshade:dC,fill:Qx,\"fill-extrusion\":fm,line:S,symbol:wQe,background:SQe,raster:kQe};function IQe(m){return m.type===\"custom\"?new LQe(m):new PQe[m.type](m)}var IQ=f.HTMLImageElement,RQ=f.HTMLCanvasElement,DQ=f.HTMLVideoElement,zQ=f.ImageData,XC=f.ImageBitmap,ib=function(y,I,U,J){this.context=y,this.format=U,this.texture=y.gl.createTexture(),this.update(I,J)};ib.prototype.update=function(y,I,U){var J=y.width,ne=y.height,fe=(!this.size||this.size[0]!==J||this.size[1]!==ne)&&!U,Fe=this,Qe=Fe.context,st=Qe.gl;if(this.useMipmap=!!(I&&I.useMipmap),st.bindTexture(st.TEXTURE_2D,this.texture),Qe.pixelStoreUnpackFlipY.set(!1),Qe.pixelStoreUnpack.set(1),Qe.pixelStoreUnpackPremultiplyAlpha.set(this.format===st.RGBA&&(!I||I.premultiply!==!1)),fe)this.size=[J,ne],y instanceof IQ||y instanceof RQ||y instanceof DQ||y instanceof zQ||XC&&y instanceof XC?st.texImage2D(st.TEXTURE_2D,0,this.format,this.format,st.UNSIGNED_BYTE,y):st.texImage2D(st.TEXTURE_2D,0,this.format,J,ne,0,this.format,st.UNSIGNED_BYTE,y.data);else{var mt=U||{x:0,y:0},Xt=mt.x,ur=mt.y;y instanceof IQ||y instanceof RQ||y instanceof DQ||y instanceof zQ||XC&&y instanceof XC?st.texSubImage2D(st.TEXTURE_2D,0,Xt,ur,st.RGBA,st.UNSIGNED_BYTE,y):st.texSubImage2D(st.TEXTURE_2D,0,Xt,ur,J,ne,st.RGBA,st.UNSIGNED_BYTE,y.data)}this.useMipmap&&this.isSizePowerOfTwo()&&st.generateMipmap(st.TEXTURE_2D)},ib.prototype.bind=function(y,I,U){var J=this,ne=J.context,fe=ne.gl;fe.bindTexture(fe.TEXTURE_2D,this.texture),U===fe.LINEAR_MIPMAP_NEAREST&&!this.isSizePowerOfTwo()&&(U=fe.LINEAR),y!==this.filter&&(fe.texParameteri(fe.TEXTURE_2D,fe.TEXTURE_MAG_FILTER,y),fe.texParameteri(fe.TEXTURE_2D,fe.TEXTURE_MIN_FILTER,U||y),this.filter=y),I!==this.wrap&&(fe.texParameteri(fe.TEXTURE_2D,fe.TEXTURE_WRAP_S,I),fe.texParameteri(fe.TEXTURE_2D,fe.TEXTURE_WRAP_T,I),this.wrap=I)},ib.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1===0},ib.prototype.destroy=function(){var y=this.context,I=y.gl;I.deleteTexture(this.texture),this.texture=null};var lq=function(y){var I=this;this._callback=y,this._triggered=!1,typeof MessageChannel!=\"undefined\"&&(this._channel=new MessageChannel,this._channel.port2.onmessage=function(){I._triggered=!1,I._callback()})};lq.prototype.trigger=function(){var y=this;this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(function(){y._triggered=!1,y._callback()},0))},lq.prototype.remove=function(){delete this._channel,this._callback=function(){}};var Kw=function(y,I,U){this.target=y,this.parent=I,this.mapId=U,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},q([\"receive\",\"process\"],this),this.invoker=new lq(this.process),this.target.addEventListener(\"message\",this.receive,!1),this.globalScope=ke()?y:f};Kw.prototype.send=function(y,I,U,J,ne){var fe=this;ne===void 0&&(ne=!1);var Fe=Math.round(Math.random()*1e18).toString(36).substring(0,10);U&&(this.callbacks[Fe]=U);var Qe=Te(this.globalScope)?void 0:[];return this.target.postMessage({id:Fe,type:y,hasCallback:!!U,targetMapId:J,mustQueue:ne,sourceMapId:this.mapId,data:Ue(I,Qe)},Qe),{cancel:function(){U&&delete fe.callbacks[Fe],fe.target.postMessage({id:Fe,type:\"<cancel>\",targetMapId:J,sourceMapId:fe.mapId})}}},Kw.prototype.receive=function(y){var I=y.data,U=I.id;if(U&&!(I.targetMapId&&this.mapId!==I.targetMapId))if(I.type===\"<cancel>\"){delete this.tasks[U];var J=this.cancelCallbacks[U];delete this.cancelCallbacks[U],J&&J()}else ke()||I.mustQueue?(this.tasks[U]=I,this.taskQueue.push(U),this.invoker.trigger()):this.processTask(U,I)},Kw.prototype.process=function(){if(this.taskQueue.length){var y=this.taskQueue.shift(),I=this.tasks[y];delete this.tasks[y],this.taskQueue.length&&this.invoker.trigger(),I&&this.processTask(y,I)}},Kw.prototype.processTask=function(y,I){var U=this;if(I.type===\"<response>\"){var J=this.callbacks[y];delete this.callbacks[y],J&&(I.error?J(We(I.error)):J(null,We(I.data)))}else{var ne=!1,fe=Te(this.globalScope)?void 0:[],Fe=I.hasCallback?function(ur,nr){ne=!0,delete U.cancelCallbacks[y],U.target.postMessage({id:y,type:\"<response>\",sourceMapId:U.mapId,error:ur?Ue(ur):null,data:Ue(nr,fe)},fe)}:function(ur){ne=!0},Qe=null,st=We(I.data);if(this.parent[I.type])Qe=this.parent[I.type](I.sourceMapId,st,Fe);else if(this.parent.getWorkerSource){var mt=I.type.split(\".\"),Xt=this.parent.getWorkerSource(I.sourceMapId,mt[0],st.source);Qe=Xt[mt[1]](st,Fe)}else Fe(new Error(\"Could not find function \"+I.type));!ne&&Qe&&Qe.cancel&&(this.cancelCallbacks[y]=Qe.cancel)}},Kw.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1)};function RQe(m,y,I){y=Math.pow(2,I)-y-1;var U=FQ(m*256,y*256,I),J=FQ((m+1)*256,(y+1)*256,I);return U[0]+\",\"+U[1]+\",\"+J[0]+\",\"+J[1]}function FQ(m,y,I){var U=2*Math.PI*6378137/256/Math.pow(2,I),J=m*U-2*Math.PI*6378137/2,ne=y*U-2*Math.PI*6378137/2;return[J,ne]}var jf=function(y,I){y&&(I?this.setSouthWest(y).setNorthEast(I):y.length===4?this.setSouthWest([y[0],y[1]]).setNorthEast([y[2],y[3]]):this.setSouthWest(y[0]).setNorthEast(y[1]))};jf.prototype.setNorthEast=function(y){return this._ne=y instanceof sc?new sc(y.lng,y.lat):sc.convert(y),this},jf.prototype.setSouthWest=function(y){return this._sw=y instanceof sc?new sc(y.lng,y.lat):sc.convert(y),this},jf.prototype.extend=function(y){var I=this._sw,U=this._ne,J,ne;if(y instanceof sc)J=y,ne=y;else if(y instanceof jf){if(J=y._sw,ne=y._ne,!J||!ne)return this}else{if(Array.isArray(y))if(y.length===4||y.every(Array.isArray)){var fe=y;return this.extend(jf.convert(fe))}else{var Fe=y;return this.extend(sc.convert(Fe))}return this}return!I&&!U?(this._sw=new sc(J.lng,J.lat),this._ne=new sc(ne.lng,ne.lat)):(I.lng=Math.min(J.lng,I.lng),I.lat=Math.min(J.lat,I.lat),U.lng=Math.max(ne.lng,U.lng),U.lat=Math.max(ne.lat,U.lat)),this},jf.prototype.getCenter=function(){return new sc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},jf.prototype.getSouthWest=function(){return this._sw},jf.prototype.getNorthEast=function(){return this._ne},jf.prototype.getNorthWest=function(){return new sc(this.getWest(),this.getNorth())},jf.prototype.getSouthEast=function(){return new sc(this.getEast(),this.getSouth())},jf.prototype.getWest=function(){return this._sw.lng},jf.prototype.getSouth=function(){return this._sw.lat},jf.prototype.getEast=function(){return this._ne.lng},jf.prototype.getNorth=function(){return this._ne.lat},jf.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},jf.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},jf.prototype.isEmpty=function(){return!(this._sw&&this._ne)},jf.prototype.contains=function(y){var I=sc.convert(y),U=I.lng,J=I.lat,ne=this._sw.lat<=J&&J<=this._ne.lat,fe=this._sw.lng<=U&&U<=this._ne.lng;return this._sw.lng>this._ne.lng&&(fe=this._sw.lng>=U&&U>=this._ne.lng),ne&&fe},jf.convert=function(y){return!y||y instanceof jf?y:new jf(y)};var qQ=63710088e-1,sc=function(y,I){if(isNaN(y)||isNaN(I))throw new Error(\"Invalid LngLat object: (\"+y+\", \"+I+\")\");if(this.lng=+y,this.lat=+I,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};sc.prototype.wrap=function(){return new sc(E(this.lng,-180,180),this.lat)},sc.prototype.toArray=function(){return[this.lng,this.lat]},sc.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},sc.prototype.distanceTo=function(y){var I=Math.PI/180,U=this.lat*I,J=y.lat*I,ne=Math.sin(U)*Math.sin(J)+Math.cos(U)*Math.cos(J)*Math.cos((y.lng-this.lng)*I),fe=qQ*Math.acos(Math.min(ne,1));return fe},sc.prototype.toBounds=function(y){y===void 0&&(y=0);var I=40075017,U=360*y/I,J=U/Math.cos(Math.PI/180*this.lat);return new jf(new sc(this.lng-J,this.lat-U),new sc(this.lng+J,this.lat+U))},sc.convert=function(y){if(y instanceof sc)return y;if(Array.isArray(y)&&(y.length===2||y.length===3))return new sc(Number(y[0]),Number(y[1]));if(!Array.isArray(y)&&typeof y==\"object\"&&y!==null)return new sc(Number(\"lng\"in y?y.lng:y.lon),Number(y.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\")};var OQ=2*Math.PI*qQ;function BQ(m){return OQ*Math.cos(m*Math.PI/180)}function NQ(m){return(180+m)/360}function UQ(m){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+m*Math.PI/360)))/360}function VQ(m,y){return m/BQ(y)}function DQe(m){return m*360-180}function uq(m){var y=180-m*360;return 360/Math.PI*Math.atan(Math.exp(y*Math.PI/180))-90}function zQe(m,y){return m*BQ(uq(y))}function FQe(m){return 1/Math.cos(m*Math.PI/180)}var nb=function(y,I,U){U===void 0&&(U=0),this.x=+y,this.y=+I,this.z=+U};nb.fromLngLat=function(y,I){I===void 0&&(I=0);var U=sc.convert(y);return new nb(NQ(U.lng),UQ(U.lat),VQ(I,U.lat))},nb.prototype.toLngLat=function(){return new sc(DQe(this.x),uq(this.y))},nb.prototype.toAltitude=function(){return zQe(this.z,this.y)},nb.prototype.meterInMercatorCoordinateUnits=function(){return 1/OQ*FQe(uq(this.y))};var ab=function(y,I,U){this.z=y,this.x=I,this.y=U,this.key=AS(0,y,y,I,U)};ab.prototype.equals=function(y){return this.z===y.z&&this.x===y.x&&this.y===y.y},ab.prototype.url=function(y,I){var U=RQe(this.x,this.y,this.z),J=qQe(this.z,this.x,this.y);return y[(this.x+this.y)%y.length].replace(\"{prefix}\",(this.x%16).toString(16)+(this.y%16).toString(16)).replace(\"{z}\",String(this.z)).replace(\"{x}\",String(this.x)).replace(\"{y}\",String(I===\"tms\"?Math.pow(2,this.z)-this.y-1:this.y)).replace(\"{quadkey}\",J).replace(\"{bbox-epsg-3857}\",U)},ab.prototype.getTilePoint=function(y){var I=Math.pow(2,this.z);return new u((y.x*I-this.x)*rn,(y.y*I-this.y)*rn)},ab.prototype.toString=function(){return this.z+\"/\"+this.x+\"/\"+this.y};var HQ=function(y,I){this.wrap=y,this.canonical=I,this.key=AS(y,I.z,I.z,I.x,I.y)},Wf=function(y,I,U,J,ne){this.overscaledZ=y,this.wrap=I,this.canonical=new ab(U,+J,+ne),this.key=AS(I,y,U,J,ne)};Wf.prototype.equals=function(y){return this.overscaledZ===y.overscaledZ&&this.wrap===y.wrap&&this.canonical.equals(y.canonical)},Wf.prototype.scaledTo=function(y){var I=this.canonical.z-y;return y>this.canonical.z?new Wf(y,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Wf(y,this.wrap,y,this.canonical.x>>I,this.canonical.y>>I)},Wf.prototype.calculateScaledKey=function(y,I){var U=this.canonical.z-y;return y>this.canonical.z?AS(this.wrap*+I,y,this.canonical.z,this.canonical.x,this.canonical.y):AS(this.wrap*+I,y,y,this.canonical.x>>U,this.canonical.y>>U)},Wf.prototype.isChildOf=function(y){if(y.wrap!==this.wrap)return!1;var I=this.canonical.z-y.canonical.z;return y.overscaledZ===0||y.overscaledZ<this.overscaledZ&&y.canonical.x===this.canonical.x>>I&&y.canonical.y===this.canonical.y>>I},Wf.prototype.children=function(y){if(this.overscaledZ>=y)return[new Wf(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var I=this.canonical.z+1,U=this.canonical.x*2,J=this.canonical.y*2;return[new Wf(I,this.wrap,I,U,J),new Wf(I,this.wrap,I,U+1,J),new Wf(I,this.wrap,I,U,J+1),new Wf(I,this.wrap,I,U+1,J+1)]},Wf.prototype.isLessThan=function(y){return this.wrap<y.wrap?!0:this.wrap>y.wrap?!1:this.overscaledZ<y.overscaledZ?!0:this.overscaledZ>y.overscaledZ?!1:this.canonical.x<y.canonical.x?!0:this.canonical.x>y.canonical.x?!1:this.canonical.y<y.canonical.y},Wf.prototype.wrapped=function(){return new Wf(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},Wf.prototype.unwrapTo=function(y){return new Wf(this.overscaledZ,y,this.canonical.z,this.canonical.x,this.canonical.y)},Wf.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},Wf.prototype.toUnwrapped=function(){return new HQ(this.wrap,this.canonical)},Wf.prototype.toString=function(){return this.overscaledZ+\"/\"+this.canonical.x+\"/\"+this.canonical.y},Wf.prototype.getTilePoint=function(y){return this.canonical.getTilePoint(new nb(y.x-this.wrap,y.y))};function AS(m,y,I,U,J){m*=2,m<0&&(m=m*-1-1);var ne=1<<I;return(ne*ne*m+ne*J+U).toString(36)+I.toString(36)+y.toString(36)}function qQe(m,y,I){for(var U=\"\",J,ne=m;ne>0;ne--)J=1<<ne-1,U+=(y&J?1:0)+(I&J?2:0);return U}Z(\"CanonicalTileID\",ab),Z(\"OverscaledTileID\",Wf,{omit:[\"posMatrix\"]});var dy=function(y,I,U){if(this.uid=y,I.height!==I.width)throw new RangeError(\"DEM tiles must be square\");if(U&&U!==\"mapbox\"&&U!==\"terrarium\")return re('\"'+U+'\" is not a valid encoding type. Valid types include \"mapbox\" and \"terrarium\".');this.stride=I.height;var J=this.dim=I.height-2;this.data=new Uint32Array(I.data.buffer),this.encoding=U||\"mapbox\";for(var ne=0;ne<J;ne++)this.data[this._idx(-1,ne)]=this.data[this._idx(0,ne)],this.data[this._idx(J,ne)]=this.data[this._idx(J-1,ne)],this.data[this._idx(ne,-1)]=this.data[this._idx(ne,0)],this.data[this._idx(ne,J)]=this.data[this._idx(ne,J-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(J,-1)]=this.data[this._idx(J-1,0)],this.data[this._idx(-1,J)]=this.data[this._idx(0,J-1)],this.data[this._idx(J,J)]=this.data[this._idx(J-1,J-1)]};dy.prototype.get=function(y,I){var U=new Uint8Array(this.data.buffer),J=this._idx(y,I)*4,ne=this.encoding===\"terrarium\"?this._unpackTerrarium:this._unpackMapbox;return ne(U[J],U[J+1],U[J+2])},dy.prototype.getUnpackVector=function(){return this.encoding===\"terrarium\"?[256,1,1/256,32768]:[6553.6,25.6,.1,1e4]},dy.prototype._idx=function(y,I){if(y<-1||y>=this.dim+1||I<-1||I>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(I+1)*this.stride+(y+1)},dy.prototype._unpackMapbox=function(y,I,U){return(y*256*256+I*256+U)/10-1e4},dy.prototype._unpackTerrarium=function(y,I,U){return y*256+I+U/256-32768},dy.prototype.getPixels=function(){return new lh({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},dy.prototype.backfillBorder=function(y,I,U){if(this.dim!==y.dim)throw new Error(\"dem dimension mismatch\");var J=I*this.dim,ne=I*this.dim+this.dim,fe=U*this.dim,Fe=U*this.dim+this.dim;switch(I){case-1:J=ne-1;break;case 1:ne=J+1;break}switch(U){case-1:fe=Fe-1;break;case 1:Fe=fe+1;break}for(var Qe=-I*this.dim,st=-U*this.dim,mt=fe;mt<Fe;mt++)for(var Xt=J;Xt<ne;Xt++)this.data[this._idx(Xt,mt)]=y.data[this._idx(Xt+Qe,mt+st)]},Z(\"DEMData\",dy);function OQe(m,y){var I={};if(!y)return I;for(var U=function(){var fe=ne[J],Fe=fe.layerIds.map(function(Xt){return y.getLayer(Xt)}).filter(Boolean);if(Fe.length!==0){fe.layers=Fe,fe.stateDependentLayerIds&&(fe.stateDependentLayers=fe.stateDependentLayerIds.map(function(Xt){return Fe.filter(function(ur){return ur.id===Xt})[0]}));for(var Qe=0,st=Fe;Qe<st.length;Qe+=1){var mt=st[Qe];I[mt.id]=fe}}},J=0,ne=m;J<ne.length;J+=1)U();return I}var YC=function(y){this._stringToNumber={},this._numberToString=[];for(var I=0;I<y.length;I++){var U=y[I];this._stringToNumber[U]=I,this._numberToString[I]=U}};YC.prototype.encode=function(y){return this._stringToNumber[y]},YC.prototype.decode=function(y){return this._numberToString[y]};var KC=function(y,I,U,J,ne){this.type=\"Feature\",this._vectorTileFeature=y,y._z=I,y._x=U,y._y=J,this.properties=y.properties,this.id=ne},cq={geometry:{configurable:!0}};cq.geometry.get=function(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},cq.geometry.set=function(m){this._geometry=m},KC.prototype.toJSON=function(){var y={geometry:this.geometry};for(var I in this)I===\"_geometry\"||I===\"_vectorTileFeature\"||(y[I]=this[I]);return y},Object.defineProperties(KC.prototype,cq);var Jw=function(){this.state={},this.stateChanges={},this.deletedStates={}};Jw.prototype.updateState=function(y,I,U){var J=String(I);if(this.stateChanges[y]=this.stateChanges[y]||{},this.stateChanges[y][J]=this.stateChanges[y][J]||{},_(this.stateChanges[y][J],U),this.deletedStates[y]===null){this.deletedStates[y]={};for(var ne in this.state[y])ne!==J&&(this.deletedStates[y][ne]=null)}else{var fe=this.deletedStates[y]&&this.deletedStates[y][J]===null;if(fe){this.deletedStates[y][J]={};for(var Fe in this.state[y][J])U[Fe]||(this.deletedStates[y][J][Fe]=null)}else for(var Qe in U){var st=this.deletedStates[y]&&this.deletedStates[y][J]&&this.deletedStates[y][J][Qe]===null;st&&delete this.deletedStates[y][J][Qe]}}},Jw.prototype.removeFeatureState=function(y,I,U){var J=this.deletedStates[y]===null;if(!J){var ne=String(I);if(this.deletedStates[y]=this.deletedStates[y]||{},U&&I!==void 0)this.deletedStates[y][ne]!==null&&(this.deletedStates[y][ne]=this.deletedStates[y][ne]||{},this.deletedStates[y][ne][U]=null);else if(I!==void 0){var fe=this.stateChanges[y]&&this.stateChanges[y][ne];if(fe){this.deletedStates[y][ne]={};for(U in this.stateChanges[y][ne])this.deletedStates[y][ne][U]=null}else this.deletedStates[y][ne]=null}else this.deletedStates[y]=null}},Jw.prototype.getState=function(y,I){var U=String(I),J=this.state[y]||{},ne=this.stateChanges[y]||{},fe=_({},J[U],ne[U]);if(this.deletedStates[y]===null)return{};if(this.deletedStates[y]){var Fe=this.deletedStates[y][I];if(Fe===null)return{};for(var Qe in Fe)delete fe[Qe]}return fe},Jw.prototype.initializeTileState=function(y,I){y.setFeatureState(this.state,I)},Jw.prototype.coalesceChanges=function(y,I){var U={};for(var J in this.stateChanges){this.state[J]=this.state[J]||{};var ne={};for(var fe in this.stateChanges[J])this.state[J][fe]||(this.state[J][fe]={}),_(this.state[J][fe],this.stateChanges[J][fe]),ne[fe]=this.state[J][fe];U[J]=ne}for(var Fe in this.deletedStates){this.state[Fe]=this.state[Fe]||{};var Qe={};if(this.deletedStates[Fe]===null)for(var st in this.state[Fe])Qe[st]={},this.state[Fe][st]={};else for(var mt in this.deletedStates[Fe]){var Xt=this.deletedStates[Fe][mt]===null;if(Xt)this.state[Fe][mt]={};else for(var ur=0,nr=Object.keys(this.deletedStates[Fe][mt]);ur<nr.length;ur+=1){var Lr=nr[ur];delete this.state[Fe][mt][Lr]}Qe[mt]=this.state[Fe][mt]}U[Fe]=U[Fe]||{},_(U[Fe],Qe)}if(this.stateChanges={},this.deletedStates={},Object.keys(U).length!==0)for(var Yr in y){var _i=y[Yr];_i.setFeatureState(U,I)}};var vy=function(y,I){this.tileID=y,this.x=y.canonical.x,this.y=y.canonical.y,this.z=y.canonical.z,this.grid=new cu(rn,16,0),this.grid3D=new cu(rn,16,0),this.featureIndexArray=new ef,this.promoteId=I};vy.prototype.insert=function(y,I,U,J,ne,fe){var Fe=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(U,J,ne);for(var Qe=fe?this.grid3D:this.grid,st=0;st<I.length;st++){for(var mt=I[st],Xt=[1/0,1/0,-1/0,-1/0],ur=0;ur<mt.length;ur++){var nr=mt[ur];Xt[0]=Math.min(Xt[0],nr.x),Xt[1]=Math.min(Xt[1],nr.y),Xt[2]=Math.max(Xt[2],nr.x),Xt[3]=Math.max(Xt[3],nr.y)}Xt[0]<rn&&Xt[1]<rn&&Xt[2]>=0&&Xt[3]>=0&&Qe.insert(Fe,Xt[0],Xt[1],Xt[2],Xt[3])}},vy.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new pg.VectorTile(new La(this.rawTileData)).layers,this.sourceLayerCoder=new YC(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers},vy.prototype.query=function(y,I,U,J){var ne=this;this.loadVTLayers();for(var fe=y.params||{},Fe=rn/y.tileSize/y.scale,Qe=be(fe.filter),st=y.queryGeometry,mt=y.queryPadding*Fe,Xt=jQ(st),ur=this.grid.query(Xt.minX-mt,Xt.minY-mt,Xt.maxX+mt,Xt.maxY+mt),nr=jQ(y.cameraQueryGeometry),Lr=this.grid3D.query(nr.minX-mt,nr.minY-mt,nr.maxX+mt,nr.maxY+mt,function(An,ra,$n,Ba){return pp(y.cameraQueryGeometry,An-mt,ra-mt,$n+mt,Ba+mt)}),Yr=0,_i=Lr;Yr<_i.length;Yr+=1){var si=_i[Yr];ur.push(si)}ur.sort(BQe);for(var Hi={},Ei,Vi=function(An){var ra=ur[An];if(ra!==Ei){Ei=ra;var $n=ne.featureIndexArray.get(ra),Ba=null;ne.loadMatchingFeature(Hi,$n.bucketIndex,$n.sourceLayerIndex,$n.featureIndex,Qe,fe.layers,fe.availableImages,I,U,J,function(_a,Pa,qo){return Ba||(Ba=da(_a)),Pa.queryIntersectsFeature(st,_a,qo,Ba,ne.z,y.transform,Fe,y.pixelPosMatrix)})}},en=0;en<ur.length;en++)Vi(en);return Hi},vy.prototype.loadMatchingFeature=function(y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt){var ur=this.bucketLayerIDs[I];if(!(fe&&!N(fe,ur))){var nr=this.sourceLayerCoder.decode(U),Lr=this.vtLayers[nr],Yr=Lr.feature(J);if(ne.needGeometry){var _i=No(Yr,!0);if(!ne.filter(new pn(this.tileID.overscaledZ),_i,this.tileID.canonical))return}else if(!ne.filter(new pn(this.tileID.overscaledZ),Yr))return;for(var si=this.getId(Yr,nr),Hi=0;Hi<ur.length;Hi++){var Ei=ur[Hi];if(!(fe&&fe.indexOf(Ei)<0)){var Vi=Qe[Ei];if(Vi){var en={};si!==void 0&&mt&&(en=mt.getState(Vi.sourceLayer||\"_geojsonTileLayer\",si));var An=_({},st[Ei]);An.paint=GQ(An.paint,Vi.paint,Yr,en,Fe),An.layout=GQ(An.layout,Vi.layout,Yr,en,Fe);var ra=!Xt||Xt(Yr,Vi,en);if(ra){var $n=new KC(Yr,this.z,this.x,this.y,si);$n.layer=An;var Ba=y[Ei];Ba===void 0&&(Ba=y[Ei]=[]),Ba.push({featureIndex:J,feature:$n,intersectionZ:ra})}}}}}},vy.prototype.lookupSymbolFeatures=function(y,I,U,J,ne,fe,Fe,Qe){var st={};this.loadVTLayers();for(var mt=be(ne),Xt=0,ur=y;Xt<ur.length;Xt+=1){var nr=ur[Xt];this.loadMatchingFeature(st,U,J,nr,mt,fe,Fe,Qe,I)}return st},vy.prototype.hasLayer=function(y){for(var I=0,U=this.bucketLayerIDs;I<U.length;I+=1)for(var J=U[I],ne=0,fe=J;ne<fe.length;ne+=1){var Fe=fe[ne];if(y===Fe)return!0}return!1},vy.prototype.getId=function(y,I){var U=y.id;if(this.promoteId){var J=typeof this.promoteId==\"string\"?this.promoteId:this.promoteId[I];U=y.properties[J],typeof U==\"boolean\"&&(U=Number(U))}return U},Z(\"FeatureIndex\",vy,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});function GQ(m,y,I,U,J){return H(m,function(ne,fe){var Fe=y instanceof xc?y.get(fe):null;return Fe&&Fe.evaluate?Fe.evaluate(I,U,J):Fe})}function jQ(m){for(var y=1/0,I=1/0,U=-1/0,J=-1/0,ne=0,fe=m;ne<fe.length;ne+=1){var Fe=fe[ne];y=Math.min(y,Fe.x),I=Math.min(I,Fe.y),U=Math.max(U,Fe.x),J=Math.max(J,Fe.y)}return{minX:y,minY:I,maxX:U,maxY:J}}function BQe(m,y){return y-m}var NQe=3e4,Fh=function(y,I){this.tileID=y,this.uid=g(),this.uses=0,this.tileSize=I,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.expiredRequestCount=0,this.state=\"loading\"};Fh.prototype.registerFadeDuration=function(y){var I=y+this.timeAdded;I<nt.now()||this.fadeEndTime&&I<this.fadeEndTime||(this.fadeEndTime=I)},Fh.prototype.wasRequested=function(){return this.state===\"errored\"||this.state===\"loaded\"||this.state===\"reloading\"},Fh.prototype.loadVectorData=function(y,I,U){if(this.hasData()&&this.unloadVectorData(),this.state=\"loaded\",!y){this.collisionBoxArray=new xs;return}y.featureIndex&&(this.latestFeatureIndex=y.featureIndex,y.rawTileData?(this.latestRawTileData=y.rawTileData,this.latestFeatureIndex.rawTileData=y.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=y.collisionBoxArray,this.buckets=OQe(y.buckets,I.style),this.hasSymbolBuckets=!1;for(var J in this.buckets){var ne=this.buckets[J];if(ne instanceof ou)if(this.hasSymbolBuckets=!0,U)ne.justReloaded=!0;else break}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(var fe in this.buckets){var Fe=this.buckets[fe];if(Fe instanceof ou&&Fe.hasRTLText){this.hasRTLText=!0,Ns();break}}this.queryPadding=0;for(var Qe in this.buckets){var st=this.buckets[Qe];this.queryPadding=Math.max(this.queryPadding,I.style.getLayer(Qe).queryRadius(st))}y.imageAtlas&&(this.imageAtlas=y.imageAtlas),y.glyphAtlasImage&&(this.glyphAtlasImage=y.glyphAtlasImage)},Fh.prototype.unloadVectorData=function(){for(var y in this.buckets)this.buckets[y].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\"},Fh.prototype.getBucket=function(y){return this.buckets[y.id]},Fh.prototype.upload=function(y){for(var I in this.buckets){var U=this.buckets[I];U.uploadPending()&&U.upload(y)}var J=y.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new ib(y,this.imageAtlas.image,J.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new ib(y,this.glyphAtlasImage,J.ALPHA),this.glyphAtlasImage=null)},Fh.prototype.prepare=function(y){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(y,this.imageAtlasTexture)},Fh.prototype.queryRenderedFeatures=function(y,I,U,J,ne,fe,Fe,Qe,st,mt){return!this.latestFeatureIndex||!this.latestFeatureIndex.rawTileData?{}:this.latestFeatureIndex.query({queryGeometry:J,cameraQueryGeometry:ne,scale:fe,tileSize:this.tileSize,pixelPosMatrix:mt,transform:Qe,params:Fe,queryPadding:this.queryPadding*st},y,I,U)},Fh.prototype.querySourceFeatures=function(y,I){var U=this.latestFeatureIndex;if(!(!U||!U.rawTileData)){var J=U.loadVTLayers(),ne=I?I.sourceLayer:\"\",fe=J._geojsonTileLayer||J[ne];if(fe)for(var Fe=be(I&&I.filter),Qe=this.tileID.canonical,st=Qe.z,mt=Qe.x,Xt=Qe.y,ur={z:st,x:mt,y:Xt},nr=0;nr<fe.length;nr++){var Lr=fe.feature(nr);if(Fe.needGeometry){var Yr=No(Lr,!0);if(!Fe.filter(new pn(this.tileID.overscaledZ),Yr,this.tileID.canonical))continue}else if(!Fe.filter(new pn(this.tileID.overscaledZ),Lr))continue;var _i=U.getId(Lr,ne),si=new KC(Lr,st,mt,Xt,_i);si.tile=ur,y.push(si)}}},Fh.prototype.hasData=function(){return this.state===\"loaded\"||this.state===\"reloading\"||this.state===\"expired\"},Fh.prototype.patternsLoaded=function(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length},Fh.prototype.setExpiryData=function(y){var I=this.expirationTime;if(y.cacheControl){var U=ge(y.cacheControl);U[\"max-age\"]&&(this.expirationTime=Date.now()+U[\"max-age\"]*1e3)}else y.expires&&(this.expirationTime=new Date(y.expires).getTime());if(this.expirationTime){var J=Date.now(),ne=!1;if(this.expirationTime>J)ne=!1;else if(!I)ne=!0;else if(this.expirationTime<I)ne=!0;else{var fe=this.expirationTime-I;fe?this.expirationTime=J+Math.max(fe,NQe):ne=!0}ne?(this.expiredRequestCount++,this.state=\"expired\"):this.expiredRequestCount=0}},Fh.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-new Date().getTime(),Math.pow(2,31)-1)},Fh.prototype.setFeatureState=function(y,I){if(!(!this.latestFeatureIndex||!this.latestFeatureIndex.rawTileData||Object.keys(y).length===0)){var U=this.latestFeatureIndex.loadVTLayers();for(var J in this.buckets)if(I.style.hasLayer(J)){var ne=this.buckets[J],fe=ne.layers[0].sourceLayer||\"_geojsonTileLayer\",Fe=U[fe],Qe=y[fe];if(!(!Fe||!Qe||Object.keys(Qe).length===0)){ne.update(Qe,Fe,this.imageAtlas&&this.imageAtlas.patternPositions||{});var st=I&&I.style&&I.style.getLayer(J);st&&(this.queryPadding=Math.max(this.queryPadding,st.queryRadius(ne)))}}}},Fh.prototype.holdingForFade=function(){return this.symbolFadeHoldUntil!==void 0},Fh.prototype.symbolFadeFinished=function(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<nt.now()},Fh.prototype.clearFadeHold=function(){this.symbolFadeHoldUntil=void 0},Fh.prototype.setHoldDuration=function(y){this.symbolFadeHoldUntil=nt.now()+y},Fh.prototype.setDependencies=function(y,I){for(var U={},J=0,ne=I;J<ne.length;J+=1){var fe=ne[J];U[fe]=!0}this.dependencies[y]=U},Fh.prototype.hasDependency=function(y,I){for(var U=0,J=y;U<J.length;U+=1){var ne=J[U],fe=this.dependencies[ne];if(fe)for(var Fe=0,Qe=I;Fe<Qe.length;Fe+=1){var st=Qe[Fe];if(fe[st])return!0}}return!1};var UQe=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"],z1=f.performance,WQ=function(y){this._marks={start:[y.url,\"start\"].join(\"#\"),end:[y.url,\"end\"].join(\"#\"),measure:y.url.toString()},z1.mark(this._marks.start)};WQ.prototype.finish=function(){z1.mark(this._marks.end);var y=z1.getEntriesByName(this._marks.measure);return y.length===0&&(z1.measure(this._marks.measure,this._marks.start,this._marks.end),y=z1.getEntriesByName(this._marks.measure),z1.clearMarks(this._marks.start),z1.clearMarks(this._marks.end),z1.clearMeasures(this._marks.measure)),y},i.Actor=Kw,i.AlphaImage=Pv,i.CanonicalTileID=ab,i.CollisionBoxArray=xs,i.Color=ss,i.DEMData=dy,i.DataConstantProperty=At,i.DictionaryCoder=YC,i.EXTENT=rn,i.ErrorEvent=oa,i.EvaluationParameters=pn,i.Event=jo,i.Evented=Sn,i.FeatureIndex=vy,i.FillBucket=gp,i.FillExtrusionBucket=Hp,i.ImageAtlas=gg,i.ImagePosition=If,i.LineBucket=Gf,i.LngLat=sc,i.LngLatBounds=jf,i.MercatorCoordinate=nb,i.ONE_EM=Zi,i.OverscaledTileID=Wf,i.Point=u,i.Point$1=u,i.Properties=Oi,i.Protobuf=La,i.RGBAImage=lh,i.RequestManager=Ke,i.RequestPerformance=WQ,i.ResourceType=zn,i.SegmentVector=ns,i.SourceFeatureState=Jw,i.StructArrayLayout1ui2=Jo,i.StructArrayLayout2f1f2i16=Xn,i.StructArrayLayout2i4=ji,i.StructArrayLayout3ui6=ma,i.StructArrayLayout4i8=Ln,i.SymbolBucket=ou,i.Texture=ib,i.Tile=Fh,i.Transitionable=Fo,i.Uniform1f=Pt,i.Uniform1i=vt,i.Uniform2f=Wt,i.Uniform3f=rr,i.Uniform4f=dr,i.UniformColor=pr,i.UniformMatrix4f=Ar,i.UnwrappedTileID=HQ,i.ValidationError=fa,i.WritingMode=uv,i.ZoomHistory=wt,i.add=Lv,i.addDynamicAttributes=oq,i.asyncAll=k,i.bezier=x,i.bindAll=q,i.browser=nt,i.cacheEntryPossiblyAdded=bi,i.clamp=p,i.clearTileCache=Wi,i.clipLine=MQ,i.clone=T1,i.clone$1=G,i.clone$2=Mw,i.collisionCircleLayout=Tt,i.config=ct,i.create=w1,i.create$1=Rh,i.create$2=hg,i.createCommonjsModule=a,i.createExpression=eo,i.createLayout=Dn,i.createStyleLayer=IQe,i.cross=I9,i.deepEqual=h,i.dot=P9,i.dot$1=q9,i.ease=b,i.emitValidationErrors=Zu,i.endsWith=V,i.enforceCacheSizeLimit=nn,i.evaluateSizeForFeature=_Q,i.evaluateSizeForZoom=xQ,i.evaluateVariableOffset=CQ,i.evented=ya,i.extend=_,i.featureFilter=be,i.filterObject=X,i.fromRotation=rm,i.getAnchorAlignment=bS,i.getAnchorJustification=aq,i.getArrayBuffer=Zr,i.getImage=jn,i.getJSON=Fr,i.getRTLTextPluginStatus=so,i.getReferrer=It,i.getVideo=la,i.identity=oy,i.invert=im,i.isChar=tt,i.isMapboxURL=xt,i.keysDifference=L,i.makeRequest=yr,i.mapObject=H,i.mercatorXfromLng=NQ,i.mercatorYfromLat=UQ,i.mercatorZfromAltitude=VQ,i.mul=Nx,i.multiply=nm,i.mvt=pg,i.nextPowerOfTwo=T,i.normalize=Ux,i.number=Qs,i.offscreenCanvasSupported=$i,i.ortho=Kl,i.parseGlyphPBF=p0,i.pbf=La,i.performSymbolLayout=hQe,i.perspective=A1,i.pick=C,i.plugin=_s,i.polygonIntersectsPolygon=fo,i.postMapLoadEvent=Ve,i.postTurnstileEvent=Ne,i.potpack=Qv,i.refProperties=UQe,i.register=Z,i.registerForPluginStateChange=wa,i.renderColorRamp=Gx,i.rotate=ay,i.rotateX=bd,i.rotateZ=sy,i.scale=kl,i.scale$1=F9,i.scale$2=Ew,i.setCacheLimits=Ni,i.setRTLTextPlugin=io,i.sphericalToCartesian=Me,i.sqrLen=tS,i.styleSpec=on,i.sub=D9,i.symbolSize=iQe,i.transformMat3=R9,i.transformMat4=ly,i.translate=Fu,i.triggerPluginCompletionEvent=Nn,i.uniqueId=g,i.validateCustomStyleLayer=CQe,i.validateLight=po,i.validateStyle=yo,i.values=A,i.vectorTile=pg,i.version=o,i.warnOnce=re,i.webpSupported=qt,i.window=f,i.wrap=E}),n([\"./shared\"],function(i){\"use strict\";function a(It){var ft=typeof It;if(ft===\"number\"||ft===\"boolean\"||ft===\"string\"||It===void 0||It===null)return JSON.stringify(It);if(Array.isArray(It)){for(var jt=\"[\",Zt=0,yr=It;Zt<yr.length;Zt+=1){var Fr=yr[Zt];jt+=a(Fr)+\",\"}return jt+\"]\"}for(var Zr=Object.keys(It).sort(),Vr=\"{\",gi=0;gi<Zr.length;gi++)Vr+=JSON.stringify(Zr[gi])+\":\"+a(It[Zr[gi]])+\",\";return Vr+\"}\"}function o(It){for(var ft=\"\",jt=0,Zt=i.refProperties;jt<Zt.length;jt+=1){var yr=Zt[jt];ft+=\"/\"+a(It[yr])}return ft}function s(It,ft){for(var jt={},Zt=0;Zt<It.length;Zt++){var yr=ft&&ft[It[Zt].id]||o(It[Zt]);ft&&(ft[It[Zt].id]=yr);var Fr=jt[yr];Fr||(Fr=jt[yr]=[]),Fr.push(It[Zt])}var Zr=[];for(var Vr in jt)Zr.push(jt[Vr]);return Zr}var l=function(ft){this.keyCache={},ft&&this.replace(ft)};l.prototype.replace=function(ft){this._layerConfigs={},this._layers={},this.update(ft,[])},l.prototype.update=function(ft,jt){for(var Zt=this,yr=0,Fr=ft;yr<Fr.length;yr+=1){var Zr=Fr[yr];this._layerConfigs[Zr.id]=Zr;var Vr=this._layers[Zr.id]=i.createStyleLayer(Zr);Vr._featureFilter=i.featureFilter(Vr.filter),this.keyCache[Zr.id]&&delete this.keyCache[Zr.id]}for(var gi=0,Si=jt;gi<Si.length;gi+=1){var Mi=Si[gi];delete this.keyCache[Mi],delete this._layerConfigs[Mi],delete this._layers[Mi]}this.familiesBySource={};for(var Pi=s(i.values(this._layerConfigs),this.keyCache),Gi=0,Ki=Pi;Gi<Ki.length;Gi+=1){var ka=Ki[Gi],jn=ka.map(function(Sn){return Zt._layers[Sn.id]}),la=jn[0];if(la.visibility!==\"none\"){var Fa=la.source||\"\",Ra=this.familiesBySource[Fa];Ra||(Ra=this.familiesBySource[Fa]={});var jo=la.sourceLayer||\"_geojsonTileLayer\",oa=Ra[jo];oa||(oa=Ra[jo]=[]),oa.push(jn)}}};var u=1,c=function(ft){var jt={},Zt=[];for(var yr in ft){var Fr=ft[yr],Zr=jt[yr]={};for(var Vr in Fr){var gi=Fr[+Vr];if(!(!gi||gi.bitmap.width===0||gi.bitmap.height===0)){var Si={x:0,y:0,w:gi.bitmap.width+2*u,h:gi.bitmap.height+2*u};Zt.push(Si),Zr[Vr]={rect:Si,metrics:gi.metrics}}}}var Mi=i.potpack(Zt),Pi=Mi.w,Gi=Mi.h,Ki=new i.AlphaImage({width:Pi||1,height:Gi||1});for(var ka in ft){var jn=ft[ka];for(var la in jn){var Fa=jn[+la];if(!(!Fa||Fa.bitmap.width===0||Fa.bitmap.height===0)){var Ra=jt[ka][la].rect;i.AlphaImage.copy(Fa.bitmap,Ki,{x:0,y:0},{x:Ra.x+u,y:Ra.y+u},Fa.bitmap)}}}this.image=Ki,this.positions=jt};i.register(\"GlyphAtlas\",c);var f=function(ft){this.tileID=new i.OverscaledTileID(ft.tileID.overscaledZ,ft.tileID.wrap,ft.tileID.canonical.z,ft.tileID.canonical.x,ft.tileID.canonical.y),this.uid=ft.uid,this.zoom=ft.zoom,this.pixelRatio=ft.pixelRatio,this.tileSize=ft.tileSize,this.source=ft.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=ft.showCollisionBoxes,this.collectResourceTiming=!!ft.collectResourceTiming,this.returnDependencies=!!ft.returnDependencies,this.promoteId=ft.promoteId};f.prototype.parse=function(ft,jt,Zt,yr,Fr){var Zr=this;this.status=\"parsing\",this.data=ft,this.collisionBoxArray=new i.CollisionBoxArray;var Vr=new i.DictionaryCoder(Object.keys(ft.layers).sort()),gi=new i.FeatureIndex(this.tileID,this.promoteId);gi.bucketLayerIDs=[];var Si={},Mi={featureIndex:gi,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:Zt},Pi=jt.familiesBySource[this.source];for(var Gi in Pi){var Ki=ft.layers[Gi];if(Ki){Ki.version===1&&i.warnOnce('Vector tile source \"'+this.source+'\" layer \"'+Gi+'\" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var ka=Vr.encode(Gi),jn=[],la=0;la<Ki.length;la++){var Fa=Ki.feature(la),Ra=gi.getId(Fa,Gi);jn.push({feature:Fa,id:Ra,index:la,sourceLayerIndex:ka})}for(var jo=0,oa=Pi[Gi];jo<oa.length;jo+=1){var Sn=oa[jo],Ha=Sn[0];if(!(Ha.minzoom&&this.zoom<Math.floor(Ha.minzoom))&&!(Ha.maxzoom&&this.zoom>=Ha.maxzoom)&&Ha.visibility!==\"none\"){h(Sn,this.zoom,Zt);var oo=Si[Ha.id]=Ha.createBucket({index:gi.bucketLayerIDs.length,layers:Sn,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:ka,sourceID:this.source});oo.populate(jn,Mi,this.tileID.canonical),gi.bucketLayerIDs.push(Sn.map(function(hi){return hi.id}))}}}}var xn,_t,br,Hr,ti=i.mapObject(Mi.glyphDependencies,function(hi){return Object.keys(hi).map(Number)});Object.keys(ti).length?yr.send(\"getGlyphs\",{uid:this.uid,stacks:ti},function(hi,Ji){xn||(xn=hi,_t=Ji,an.call(Zr))}):_t={};var zi=Object.keys(Mi.iconDependencies);zi.length?yr.send(\"getImages\",{icons:zi,source:this.source,tileID:this.tileID,type:\"icons\"},function(hi,Ji){xn||(xn=hi,br=Ji,an.call(Zr))}):br={};var Yi=Object.keys(Mi.patternDependencies);Yi.length?yr.send(\"getImages\",{icons:Yi,source:this.source,tileID:this.tileID,type:\"patterns\"},function(hi,Ji){xn||(xn=hi,Hr=Ji,an.call(Zr))}):Hr={},an.call(this);function an(){if(xn)return Fr(xn);if(_t&&br&&Hr){var hi=new c(_t),Ji=new i.ImageAtlas(br,Hr);for(var ua in Si){var Fn=Si[ua];Fn instanceof i.SymbolBucket?(h(Fn.layers,this.zoom,Zt),i.performSymbolLayout(Fn,_t,hi.positions,br,Ji.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):Fn.hasPattern&&(Fn instanceof i.LineBucket||Fn instanceof i.FillBucket||Fn instanceof i.FillExtrusionBucket)&&(h(Fn.layers,this.zoom,Zt),Fn.addFeatures(Mi,this.tileID.canonical,Ji.patternPositions))}this.status=\"done\",Fr(null,{buckets:i.values(Si).filter(function(Sa){return!Sa.isEmpty()}),featureIndex:gi,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:hi.image,imageAtlas:Ji,glyphMap:this.returnDependencies?_t:null,iconMap:this.returnDependencies?br:null,glyphPositions:this.returnDependencies?hi.positions:null})}}};function h(It,ft,jt){for(var Zt=new i.EvaluationParameters(ft),yr=0,Fr=It;yr<Fr.length;yr+=1){var Zr=Fr[yr];Zr.recalculate(Zt,jt)}}function d(It,ft){var jt=i.getArrayBuffer(It.request,function(Zt,yr,Fr,Zr){Zt?ft(Zt):yr&&ft(null,{vectorTile:new i.vectorTile.VectorTile(new i.pbf(yr)),rawData:yr,cacheControl:Fr,expires:Zr})});return function(){jt.cancel(),ft()}}var v=function(ft,jt,Zt,yr){this.actor=ft,this.layerIndex=jt,this.availableImages=Zt,this.loadVectorData=yr||d,this.loading={},this.loaded={}};v.prototype.loadTile=function(ft,jt){var Zt=this,yr=ft.uid;this.loading||(this.loading={});var Fr=ft&&ft.request&&ft.request.collectResourceTiming?new i.RequestPerformance(ft.request):!1,Zr=this.loading[yr]=new f(ft);Zr.abort=this.loadVectorData(ft,function(Vr,gi){if(delete Zt.loading[yr],Vr||!gi)return Zr.status=\"done\",Zt.loaded[yr]=Zr,jt(Vr);var Si=gi.rawData,Mi={};gi.expires&&(Mi.expires=gi.expires),gi.cacheControl&&(Mi.cacheControl=gi.cacheControl);var Pi={};if(Fr){var Gi=Fr.finish();Gi&&(Pi.resourceTiming=JSON.parse(JSON.stringify(Gi)))}Zr.vectorTile=gi.vectorTile,Zr.parse(gi.vectorTile,Zt.layerIndex,Zt.availableImages,Zt.actor,function(Ki,ka){if(Ki||!ka)return jt(Ki);jt(null,i.extend({rawTileData:Si.slice(0)},ka,Mi,Pi))}),Zt.loaded=Zt.loaded||{},Zt.loaded[yr]=Zr})},v.prototype.reloadTile=function(ft,jt){var Zt=this,yr=this.loaded,Fr=ft.uid,Zr=this;if(yr&&yr[Fr]){var Vr=yr[Fr];Vr.showCollisionBoxes=ft.showCollisionBoxes;var gi=function(Si,Mi){var Pi=Vr.reloadCallback;Pi&&(delete Vr.reloadCallback,Vr.parse(Vr.vectorTile,Zr.layerIndex,Zt.availableImages,Zr.actor,Pi)),jt(Si,Mi)};Vr.status===\"parsing\"?Vr.reloadCallback=gi:Vr.status===\"done\"&&(Vr.vectorTile?Vr.parse(Vr.vectorTile,this.layerIndex,this.availableImages,this.actor,gi):gi())}},v.prototype.abortTile=function(ft,jt){var Zt=this.loading,yr=ft.uid;Zt&&Zt[yr]&&Zt[yr].abort&&(Zt[yr].abort(),delete Zt[yr]),jt()},v.prototype.removeTile=function(ft,jt){var Zt=this.loaded,yr=ft.uid;Zt&&Zt[yr]&&delete Zt[yr],jt()};var x=i.window.ImageBitmap,b=function(){this.loaded={}};b.prototype.loadTile=function(ft,jt){var Zt=ft.uid,yr=ft.encoding,Fr=ft.rawImageData,Zr=x&&Fr instanceof x?this.getImageData(Fr):Fr,Vr=new i.DEMData(Zt,Zr,yr);this.loaded=this.loaded||{},this.loaded[Zt]=Vr,jt(null,Vr)},b.prototype.getImageData=function(ft){(!this.offscreenCanvas||!this.offscreenCanvasContext)&&(this.offscreenCanvas=new OffscreenCanvas(ft.width,ft.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext(\"2d\")),this.offscreenCanvas.width=ft.width,this.offscreenCanvas.height=ft.height,this.offscreenCanvasContext.drawImage(ft,0,0,ft.width,ft.height);var jt=this.offscreenCanvasContext.getImageData(-1,-1,ft.width+2,ft.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new i.RGBAImage({width:jt.width,height:jt.height},jt.data)},b.prototype.removeTile=function(ft){var jt=this.loaded,Zt=ft.uid;jt&&jt[Zt]&&delete jt[Zt]};var p=E;function E(It,ft){var jt=It&&It.type,Zt;if(jt===\"FeatureCollection\")for(Zt=0;Zt<It.features.length;Zt++)E(It.features[Zt],ft);else if(jt===\"GeometryCollection\")for(Zt=0;Zt<It.geometries.length;Zt++)E(It.geometries[Zt],ft);else if(jt===\"Feature\")E(It.geometry,ft);else if(jt===\"Polygon\")k(It.coordinates,ft);else if(jt===\"MultiPolygon\")for(Zt=0;Zt<It.coordinates.length;Zt++)k(It.coordinates[Zt],ft);return It}function k(It,ft){if(It.length!==0){A(It[0],ft);for(var jt=1;jt<It.length;jt++)A(It[jt],!ft)}}function A(It,ft){for(var jt=0,Zt=0,yr=It.length,Fr=yr-1;Zt<yr;Fr=Zt++)jt+=(It[Zt][0]-It[Fr][0])*(It[Fr][1]+It[Zt][1]);jt>=0!=!!ft&&It.reverse()}var L=i.vectorTile.VectorTileFeature.prototype.toGeoJSON,_=function(ft){this._feature=ft,this.extent=i.EXTENT,this.type=ft.type,this.properties=ft.tags,\"id\"in ft&&!isNaN(ft.id)&&(this.id=parseInt(ft.id,10))};_.prototype.loadGeometry=function(){if(this._feature.type===1){for(var ft=[],jt=0,Zt=this._feature.geometry;jt<Zt.length;jt+=1){var yr=Zt[jt];ft.push([new i.Point$1(yr[0],yr[1])])}return ft}else{for(var Fr=[],Zr=0,Vr=this._feature.geometry;Zr<Vr.length;Zr+=1){for(var gi=Vr[Zr],Si=[],Mi=0,Pi=gi;Mi<Pi.length;Mi+=1){var Gi=Pi[Mi];Si.push(new i.Point$1(Gi[0],Gi[1]))}Fr.push(Si)}return Fr}},_.prototype.toGeoJSON=function(ft,jt,Zt){return L.call(this,ft,jt,Zt)};var C=function(ft){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=i.EXTENT,this.length=ft.length,this._features=ft};C.prototype.feature=function(ft){return new _(this._features[ft])};var M=i.vectorTile.VectorTileFeature,g=P;function P(It,ft){this.options=ft||{},this.features=It,this.length=It.length}P.prototype.feature=function(It){return new T(this.features[It],this.options.extent)};function T(It,ft){this.id=typeof It.id==\"number\"?It.id:void 0,this.type=It.type,this.rawGeometry=It.type===1?[It.geometry]:It.geometry,this.properties=It.tags,this.extent=ft||4096}T.prototype.loadGeometry=function(){var It=this.rawGeometry;this.geometry=[];for(var ft=0;ft<It.length;ft++){for(var jt=It[ft],Zt=[],yr=0;yr<jt.length;yr++)Zt.push(new i.Point$1(jt[yr][0],jt[yr][1]));this.geometry.push(Zt)}return this.geometry},T.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var It=this.geometry,ft=1/0,jt=-1/0,Zt=1/0,yr=-1/0,Fr=0;Fr<It.length;Fr++)for(var Zr=It[Fr],Vr=0;Vr<Zr.length;Vr++){var gi=Zr[Vr];ft=Math.min(ft,gi.x),jt=Math.max(jt,gi.x),Zt=Math.min(Zt,gi.y),yr=Math.max(yr,gi.y)}return[ft,Zt,jt,yr]},T.prototype.toGeoJSON=M.prototype.toGeoJSON;var F=X,q=X,V=G,H=g;function X(It){var ft=new i.pbf;return N(It,ft),ft.finish()}function G(It,ft){ft=ft||{};var jt={};for(var Zt in It)jt[Zt]=new g(It[Zt].features,ft),jt[Zt].name=Zt,jt[Zt].version=ft.version,jt[Zt].extent=ft.extent;return X({layers:jt})}function N(It,ft){for(var jt in It.layers)ft.writeMessage(3,W,It.layers[jt])}function W(It,ft){ft.writeVarintField(15,It.version||1),ft.writeStringField(1,It.name||\"\"),ft.writeVarintField(5,It.extent||4096);var jt,Zt={keys:[],values:[],keycache:{},valuecache:{}};for(jt=0;jt<It.length;jt++)Zt.feature=It.feature(jt),ft.writeMessage(2,re,Zt);var yr=Zt.keys;for(jt=0;jt<yr.length;jt++)ft.writeStringField(3,yr[jt]);var Fr=Zt.values;for(jt=0;jt<Fr.length;jt++)ft.writeMessage(4,ge,Fr[jt])}function re(It,ft){var jt=It.feature;jt.id!==void 0&&ft.writeVarintField(1,jt.id),ft.writeMessage(2,ae,It),ft.writeVarintField(3,jt.type),ft.writeMessage(4,ke,jt)}function ae(It,ft){var jt=It.feature,Zt=It.keys,yr=It.values,Fr=It.keycache,Zr=It.valuecache;for(var Vr in jt.properties){var gi=Fr[Vr];typeof gi==\"undefined\"&&(Zt.push(Vr),gi=Zt.length-1,Fr[Vr]=gi),ft.writeVarint(gi);var Si=jt.properties[Vr],Mi=typeof Si;Mi!==\"string\"&&Mi!==\"boolean\"&&Mi!==\"number\"&&(Si=JSON.stringify(Si));var Pi=Mi+\":\"+Si,Gi=Zr[Pi];typeof Gi==\"undefined\"&&(yr.push(Si),Gi=yr.length-1,Zr[Pi]=Gi),ft.writeVarint(Gi)}}function _e(It,ft){return(ft<<3)+(It&7)}function Me(It){return It<<1^It>>31}function ke(It,ft){for(var jt=It.loadGeometry(),Zt=It.type,yr=0,Fr=0,Zr=jt.length,Vr=0;Vr<Zr;Vr++){var gi=jt[Vr],Si=1;Zt===1&&(Si=gi.length),ft.writeVarint(_e(1,Si));for(var Mi=Zt===3?gi.length-1:gi.length,Pi=0;Pi<Mi;Pi++){Pi===1&&Zt!==1&&ft.writeVarint(_e(2,Mi-1));var Gi=gi[Pi].x-yr,Ki=gi[Pi].y-Fr;ft.writeVarint(Me(Gi)),ft.writeVarint(Me(Ki)),yr+=Gi,Fr+=Ki}Zt===3&&ft.writeVarint(_e(7,1))}}function ge(It,ft){var jt=typeof It;jt===\"string\"?ft.writeStringField(1,It):jt===\"boolean\"?ft.writeBooleanField(7,It):jt===\"number\"&&(It%1!==0?ft.writeDoubleField(3,It):It<0?ft.writeSVarintField(6,It):ft.writeVarintField(5,It))}F.fromVectorTileJs=q,F.fromGeojsonVt=V,F.GeoJSONWrapper=H;function ie(It,ft,jt,Zt,yr,Fr){if(!(yr-Zt<=jt)){var Zr=Zt+yr>>1;Te(It,ft,Zr,Zt,yr,Fr%2),ie(It,ft,jt,Zt,Zr-1,Fr+1),ie(It,ft,jt,Zr+1,yr,Fr+1)}}function Te(It,ft,jt,Zt,yr,Fr){for(;yr>Zt;){if(yr-Zt>600){var Zr=yr-Zt+1,Vr=jt-Zt+1,gi=Math.log(Zr),Si=.5*Math.exp(2*gi/3),Mi=.5*Math.sqrt(gi*Si*(Zr-Si)/Zr)*(Vr-Zr/2<0?-1:1),Pi=Math.max(Zt,Math.floor(jt-Vr*Si/Zr+Mi)),Gi=Math.min(yr,Math.floor(jt+(Zr-Vr)*Si/Zr+Mi));Te(It,ft,jt,Pi,Gi,Fr)}var Ki=ft[2*jt+Fr],ka=Zt,jn=yr;for(Ee(It,ft,Zt,jt),ft[2*yr+Fr]>Ki&&Ee(It,ft,Zt,yr);ka<jn;){for(Ee(It,ft,ka,jn),ka++,jn--;ft[2*ka+Fr]<Ki;)ka++;for(;ft[2*jn+Fr]>Ki;)jn--}ft[2*Zt+Fr]===Ki?Ee(It,ft,Zt,jn):(jn++,Ee(It,ft,jn,yr)),jn<=jt&&(Zt=jn+1),jt<=jn&&(yr=jn-1)}}function Ee(It,ft,jt,Zt){Ae(It,jt,Zt),Ae(ft,2*jt,2*Zt),Ae(ft,2*jt+1,2*Zt+1)}function Ae(It,ft,jt){var Zt=It[ft];It[ft]=It[jt],It[jt]=Zt}function ze(It,ft,jt,Zt,yr,Fr,Zr){for(var Vr=[0,It.length-1,0],gi=[],Si,Mi;Vr.length;){var Pi=Vr.pop(),Gi=Vr.pop(),Ki=Vr.pop();if(Gi-Ki<=Zr){for(var ka=Ki;ka<=Gi;ka++)Si=ft[2*ka],Mi=ft[2*ka+1],Si>=jt&&Si<=yr&&Mi>=Zt&&Mi<=Fr&&gi.push(It[ka]);continue}var jn=Math.floor((Ki+Gi)/2);Si=ft[2*jn],Mi=ft[2*jn+1],Si>=jt&&Si<=yr&&Mi>=Zt&&Mi<=Fr&&gi.push(It[jn]);var la=(Pi+1)%2;(Pi===0?jt<=Si:Zt<=Mi)&&(Vr.push(Ki),Vr.push(jn-1),Vr.push(la)),(Pi===0?yr>=Si:Fr>=Mi)&&(Vr.push(jn+1),Vr.push(Gi),Vr.push(la))}return gi}function Ce(It,ft,jt,Zt,yr,Fr){for(var Zr=[0,It.length-1,0],Vr=[],gi=yr*yr;Zr.length;){var Si=Zr.pop(),Mi=Zr.pop(),Pi=Zr.pop();if(Mi-Pi<=Fr){for(var Gi=Pi;Gi<=Mi;Gi++)me(ft[2*Gi],ft[2*Gi+1],jt,Zt)<=gi&&Vr.push(It[Gi]);continue}var Ki=Math.floor((Pi+Mi)/2),ka=ft[2*Ki],jn=ft[2*Ki+1];me(ka,jn,jt,Zt)<=gi&&Vr.push(It[Ki]);var la=(Si+1)%2;(Si===0?jt-yr<=ka:Zt-yr<=jn)&&(Zr.push(Pi),Zr.push(Ki-1),Zr.push(la)),(Si===0?jt+yr>=ka:Zt+yr>=jn)&&(Zr.push(Ki+1),Zr.push(Mi),Zr.push(la))}return Vr}function me(It,ft,jt,Zt){var yr=It-jt,Fr=ft-Zt;return yr*yr+Fr*Fr}var Re=function(It){return It[0]},ce=function(It){return It[1]},Ge=function(ft,jt,Zt,yr,Fr){jt===void 0&&(jt=Re),Zt===void 0&&(Zt=ce),yr===void 0&&(yr=64),Fr===void 0&&(Fr=Float64Array),this.nodeSize=yr,this.points=ft;for(var Zr=ft.length<65536?Uint16Array:Uint32Array,Vr=this.ids=new Zr(ft.length),gi=this.coords=new Fr(ft.length*2),Si=0;Si<ft.length;Si++)Vr[Si]=Si,gi[2*Si]=jt(ft[Si]),gi[2*Si+1]=Zt(ft[Si]);ie(Vr,gi,yr,0,Vr.length-1,0)};Ge.prototype.range=function(ft,jt,Zt,yr){return ze(this.ids,this.coords,ft,jt,Zt,yr,this.nodeSize)},Ge.prototype.within=function(ft,jt,Zt){return Ce(this.ids,this.coords,ft,jt,Zt,this.nodeSize)};var nt={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(It){return It}},ct=function(ft){this.options=er(Object.create(nt),ft),this.trees=new Array(this.options.maxZoom+1)};ct.prototype.load=function(ft){var jt=this.options,Zt=jt.log,yr=jt.minZoom,Fr=jt.maxZoom,Zr=jt.nodeSize;Zt&&console.time(\"total time\");var Vr=\"prepare \"+ft.length+\" points\";Zt&&console.time(Vr),this.points=ft;for(var gi=[],Si=0;Si<ft.length;Si++)ft[Si].geometry&&gi.push(rt(ft[Si],Si));this.trees[Fr+1]=new Ge(gi,Ke,xt,Zr,Float32Array),Zt&&console.timeEnd(Vr);for(var Mi=Fr;Mi>=yr;Mi--){var Pi=+Date.now();gi=this._cluster(gi,Mi),this.trees[Mi]=new Ge(gi,Ke,xt,Zr,Float32Array),Zt&&console.log(\"z%d: %d clusters in %dms\",Mi,gi.length,+Date.now()-Pi)}return Zt&&console.timeEnd(\"total time\"),this},ct.prototype.getClusters=function(ft,jt){var Zt=((ft[0]+180)%360+360)%360-180,yr=Math.max(-90,Math.min(90,ft[1])),Fr=ft[2]===180?180:((ft[2]+180)%360+360)%360-180,Zr=Math.max(-90,Math.min(90,ft[3]));if(ft[2]-ft[0]>=360)Zt=-180,Fr=180;else if(Zt>Fr){var Vr=this.getClusters([Zt,yr,180,Zr],jt),gi=this.getClusters([-180,yr,Fr,Zr],jt);return Vr.concat(gi)}for(var Si=this.trees[this._limitZoom(jt)],Mi=Si.range(kt(Zt),Ct(Zr),kt(Fr),Ct(yr)),Pi=[],Gi=0,Ki=Mi;Gi<Ki.length;Gi+=1){var ka=Ki[Gi],jn=Si.points[ka];Pi.push(jn.numPoints?ot(jn):this.points[jn.index])}return Pi},ct.prototype.getChildren=function(ft){var jt=this._getOriginId(ft),Zt=this._getOriginZoom(ft),yr=\"No cluster with the specified id.\",Fr=this.trees[Zt];if(!Fr)throw new Error(yr);var Zr=Fr.points[jt];if(!Zr)throw new Error(yr);for(var Vr=this.options.radius/(this.options.extent*Math.pow(2,Zt-1)),gi=Fr.within(Zr.x,Zr.y,Vr),Si=[],Mi=0,Pi=gi;Mi<Pi.length;Mi+=1){var Gi=Pi[Mi],Ki=Fr.points[Gi];Ki.parentId===ft&&Si.push(Ki.numPoints?ot(Ki):this.points[Ki.index])}if(Si.length===0)throw new Error(yr);return Si},ct.prototype.getLeaves=function(ft,jt,Zt){jt=jt||10,Zt=Zt||0;var yr=[];return this._appendLeaves(yr,ft,jt,Zt,0),yr},ct.prototype.getTile=function(ft,jt,Zt){var yr=this.trees[this._limitZoom(ft)],Fr=Math.pow(2,ft),Zr=this.options,Vr=Zr.extent,gi=Zr.radius,Si=gi/Vr,Mi=(Zt-Si)/Fr,Pi=(Zt+1+Si)/Fr,Gi={features:[]};return this._addTileFeatures(yr.range((jt-Si)/Fr,Mi,(jt+1+Si)/Fr,Pi),yr.points,jt,Zt,Fr,Gi),jt===0&&this._addTileFeatures(yr.range(1-Si/Fr,Mi,1,Pi),yr.points,Fr,Zt,Fr,Gi),jt===Fr-1&&this._addTileFeatures(yr.range(0,Mi,Si/Fr,Pi),yr.points,-1,Zt,Fr,Gi),Gi.features.length?Gi:null},ct.prototype.getClusterExpansionZoom=function(ft){for(var jt=this._getOriginZoom(ft)-1;jt<=this.options.maxZoom;){var Zt=this.getChildren(ft);if(jt++,Zt.length!==1)break;ft=Zt[0].properties.cluster_id}return jt},ct.prototype._appendLeaves=function(ft,jt,Zt,yr,Fr){for(var Zr=this.getChildren(jt),Vr=0,gi=Zr;Vr<gi.length;Vr+=1){var Si=gi[Vr],Mi=Si.properties;if(Mi&&Mi.cluster?Fr+Mi.point_count<=yr?Fr+=Mi.point_count:Fr=this._appendLeaves(ft,Mi.cluster_id,Zt,yr,Fr):Fr<yr?Fr++:ft.push(Si),ft.length===Zt)break}return Fr},ct.prototype._addTileFeatures=function(ft,jt,Zt,yr,Fr,Zr){for(var Vr=0,gi=ft;Vr<gi.length;Vr+=1){var Si=gi[Vr],Mi=jt[Si],Pi=Mi.numPoints,Gi={type:1,geometry:[[Math.round(this.options.extent*(Mi.x*Fr-Zt)),Math.round(this.options.extent*(Mi.y*Fr-yr))]],tags:Pi?Rt(Mi):this.points[Mi.index].properties},Ki=void 0;Pi?Ki=Mi.id:this.options.generateId?Ki=Mi.index:this.points[Mi.index].id&&(Ki=this.points[Mi.index].id),Ki!==void 0&&(Gi.id=Ki),Zr.features.push(Gi)}},ct.prototype._limitZoom=function(ft){return Math.max(this.options.minZoom,Math.min(+ft,this.options.maxZoom+1))},ct.prototype._cluster=function(ft,jt){for(var Zt=[],yr=this.options,Fr=yr.radius,Zr=yr.extent,Vr=yr.reduce,gi=yr.minPoints,Si=Fr/(Zr*Math.pow(2,jt)),Mi=0;Mi<ft.length;Mi++){var Pi=ft[Mi];if(!(Pi.zoom<=jt)){Pi.zoom=jt;for(var Gi=this.trees[jt+1],Ki=Gi.within(Pi.x,Pi.y,Si),ka=Pi.numPoints||1,jn=ka,la=0,Fa=Ki;la<Fa.length;la+=1){var Ra=Fa[la],jo=Gi.points[Ra];jo.zoom>jt&&(jn+=jo.numPoints||1)}if(jn>=gi){for(var oa=Pi.x*ka,Sn=Pi.y*ka,Ha=Vr&&ka>1?this._map(Pi,!0):null,oo=(Mi<<5)+(jt+1)+this.points.length,xn=0,_t=Ki;xn<_t.length;xn+=1){var br=_t[xn],Hr=Gi.points[br];if(!(Hr.zoom<=jt)){Hr.zoom=jt;var ti=Hr.numPoints||1;oa+=Hr.x*ti,Sn+=Hr.y*ti,Hr.parentId=oo,Vr&&(Ha||(Ha=this._map(Pi,!0)),Vr(Ha,this._map(Hr)))}}Pi.parentId=oo,Zt.push(qt(oa/jn,Sn/jn,oo,jn,Ha))}else if(Zt.push(Pi),jn>1)for(var zi=0,Yi=Ki;zi<Yi.length;zi+=1){var an=Yi[zi],hi=Gi.points[an];hi.zoom<=jt||(hi.zoom=jt,Zt.push(hi))}}}return Zt},ct.prototype._getOriginId=function(ft){return ft-this.points.length>>5},ct.prototype._getOriginZoom=function(ft){return(ft-this.points.length)%32},ct.prototype._map=function(ft,jt){if(ft.numPoints)return jt?er({},ft.properties):ft.properties;var Zt=this.points[ft.index].properties,yr=this.options.map(Zt);return jt&&yr===Zt?er({},yr):yr};function qt(It,ft,jt,Zt,yr){return{x:It,y:ft,zoom:1/0,id:jt,parentId:-1,numPoints:Zt,properties:yr}}function rt(It,ft){var jt=It.geometry.coordinates,Zt=jt[0],yr=jt[1];return{x:kt(Zt),y:Ct(yr),zoom:1/0,index:ft,parentId:-1}}function ot(It){return{type:\"Feature\",id:It.id,properties:Rt(It),geometry:{type:\"Point\",coordinates:[Yt(It.x),xr(It.y)]}}}function Rt(It){var ft=It.numPoints,jt=ft>=1e4?Math.round(ft/1e3)+\"k\":ft>=1e3?Math.round(ft/100)/10+\"k\":ft;return er(er({},It.properties),{cluster:!0,cluster_id:It.id,point_count:ft,point_count_abbreviated:jt})}function kt(It){return It/360+.5}function Ct(It){var ft=Math.sin(It*Math.PI/180),jt=.5-.25*Math.log((1+ft)/(1-ft))/Math.PI;return jt<0?0:jt>1?1:jt}function Yt(It){return(It-.5)*360}function xr(It){var ft=(180-It*360)*Math.PI/180;return 360*Math.atan(Math.exp(ft))/Math.PI-90}function er(It,ft){for(var jt in ft)It[jt]=ft[jt];return It}function Ke(It){return It.x}function xt(It){return It.y}function bt(It,ft,jt,Zt){for(var yr=Zt,Fr=jt-ft>>1,Zr=jt-ft,Vr,gi=It[ft],Si=It[ft+1],Mi=It[jt],Pi=It[jt+1],Gi=ft+3;Gi<jt;Gi+=3){var Ki=Lt(It[Gi],It[Gi+1],gi,Si,Mi,Pi);if(Ki>yr)Vr=Gi,yr=Ki;else if(Ki===yr){var ka=Math.abs(Gi-Fr);ka<Zr&&(Vr=Gi,Zr=ka)}}yr>Zt&&(Vr-ft>3&&bt(It,ft,Vr,Zt),It[Vr+2]=yr,jt-Vr>3&&bt(It,Vr,jt,Zt))}function Lt(It,ft,jt,Zt,yr,Fr){var Zr=yr-jt,Vr=Fr-Zt;if(Zr!==0||Vr!==0){var gi=((It-jt)*Zr+(ft-Zt)*Vr)/(Zr*Zr+Vr*Vr);gi>1?(jt=yr,Zt=Fr):gi>0&&(jt+=Zr*gi,Zt+=Vr*gi)}return Zr=It-jt,Vr=ft-Zt,Zr*Zr+Vr*Vr}function St(It,ft,jt,Zt){var yr={id:typeof It==\"undefined\"?null:It,type:ft,geometry:jt,tags:Zt,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return Et(yr),yr}function Et(It){var ft=It.geometry,jt=It.type;if(jt===\"Point\"||jt===\"MultiPoint\"||jt===\"LineString\")dt(It,ft);else if(jt===\"Polygon\"||jt===\"MultiLineString\")for(var Zt=0;Zt<ft.length;Zt++)dt(It,ft[Zt]);else if(jt===\"MultiPolygon\")for(Zt=0;Zt<ft.length;Zt++)for(var yr=0;yr<ft[Zt].length;yr++)dt(It,ft[Zt][yr])}function dt(It,ft){for(var jt=0;jt<ft.length;jt+=3)It.minX=Math.min(It.minX,ft[jt]),It.minY=Math.min(It.minY,ft[jt+1]),It.maxX=Math.max(It.maxX,ft[jt]),It.maxY=Math.max(It.maxY,ft[jt+1])}function Ht(It,ft){var jt=[];if(It.type===\"FeatureCollection\")for(var Zt=0;Zt<It.features.length;Zt++)$t(jt,It.features[Zt],ft,Zt);else It.type===\"Feature\"?$t(jt,It,ft):$t(jt,{geometry:It},ft);return jt}function $t(It,ft,jt,Zt){if(ft.geometry){var yr=ft.geometry.coordinates,Fr=ft.geometry.type,Zr=Math.pow(jt.tolerance/((1<<jt.maxZoom)*jt.extent),2),Vr=[],gi=ft.id;if(jt.promoteId?gi=ft.properties[jt.promoteId]:jt.generateId&&(gi=Zt||0),Fr===\"Point\")fr(yr,Vr);else if(Fr===\"MultiPoint\")for(var Si=0;Si<yr.length;Si++)fr(yr[Si],Vr);else if(Fr===\"LineString\")_r(yr,Vr,Zr,!1);else if(Fr===\"MultiLineString\")if(jt.lineMetrics){for(Si=0;Si<yr.length;Si++)Vr=[],_r(yr[Si],Vr,Zr,!1),It.push(St(gi,\"LineString\",Vr,ft.properties));return}else Br(yr,Vr,Zr,!1);else if(Fr===\"Polygon\")Br(yr,Vr,Zr,!0);else if(Fr===\"MultiPolygon\")for(Si=0;Si<yr.length;Si++){var Mi=[];Br(yr[Si],Mi,Zr,!0),Vr.push(Mi)}else if(Fr===\"GeometryCollection\"){for(Si=0;Si<ft.geometry.geometries.length;Si++)$t(It,{id:gi,geometry:ft.geometry.geometries[Si],properties:ft.properties},jt,Zt);return}else throw new Error(\"Input data is not a valid GeoJSON object.\");It.push(St(gi,Fr,Vr,ft.properties))}}function fr(It,ft){ft.push(Or(It[0])),ft.push(Nr(It[1])),ft.push(0)}function _r(It,ft,jt,Zt){for(var yr,Fr,Zr=0,Vr=0;Vr<It.length;Vr++){var gi=Or(It[Vr][0]),Si=Nr(It[Vr][1]);ft.push(gi),ft.push(Si),ft.push(0),Vr>0&&(Zt?Zr+=(yr*Si-gi*Fr)/2:Zr+=Math.sqrt(Math.pow(gi-yr,2)+Math.pow(Si-Fr,2))),yr=gi,Fr=Si}var Mi=ft.length-3;ft[2]=1,bt(ft,0,Mi,jt),ft[Mi+2]=1,ft.size=Math.abs(Zr),ft.start=0,ft.end=ft.size}function Br(It,ft,jt,Zt){for(var yr=0;yr<It.length;yr++){var Fr=[];_r(It[yr],Fr,jt,Zt),ft.push(Fr)}}function Or(It){return It/360+.5}function Nr(It){var ft=Math.sin(It*Math.PI/180),jt=.5-.25*Math.log((1+ft)/(1-ft))/Math.PI;return jt<0?0:jt>1?1:jt}function ut(It,ft,jt,Zt,yr,Fr,Zr,Vr){if(jt/=ft,Zt/=ft,Fr>=jt&&Zr<Zt)return It;if(Zr<jt||Fr>=Zt)return null;for(var gi=[],Si=0;Si<It.length;Si++){var Mi=It[Si],Pi=Mi.geometry,Gi=Mi.type,Ki=yr===0?Mi.minX:Mi.minY,ka=yr===0?Mi.maxX:Mi.maxY;if(Ki>=jt&&ka<Zt){gi.push(Mi);continue}else if(ka<jt||Ki>=Zt)continue;var jn=[];if(Gi===\"Point\"||Gi===\"MultiPoint\")Ne(Pi,jn,jt,Zt,yr);else if(Gi===\"LineString\")Ye(Pi,jn,jt,Zt,yr,!1,Vr.lineMetrics);else if(Gi===\"MultiLineString\")Xe(Pi,jn,jt,Zt,yr,!1);else if(Gi===\"Polygon\")Xe(Pi,jn,jt,Zt,yr,!0);else if(Gi===\"MultiPolygon\")for(var la=0;la<Pi.length;la++){var Fa=[];Xe(Pi[la],Fa,jt,Zt,yr,!0),Fa.length&&jn.push(Fa)}if(jn.length){if(Vr.lineMetrics&&Gi===\"LineString\"){for(la=0;la<jn.length;la++)gi.push(St(Mi.id,Gi,jn[la],Mi.tags));continue}(Gi===\"LineString\"||Gi===\"MultiLineString\")&&(jn.length===1?(Gi=\"LineString\",jn=jn[0]):Gi=\"MultiLineString\"),(Gi===\"Point\"||Gi===\"MultiPoint\")&&(Gi=jn.length===3?\"Point\":\"MultiPoint\"),gi.push(St(Mi.id,Gi,jn,Mi.tags))}}return gi.length?gi:null}function Ne(It,ft,jt,Zt,yr){for(var Fr=0;Fr<It.length;Fr+=3){var Zr=It[Fr+yr];Zr>=jt&&Zr<=Zt&&(ft.push(It[Fr]),ft.push(It[Fr+1]),ft.push(It[Fr+2]))}}function Ye(It,ft,jt,Zt,yr,Fr,Zr){for(var Vr=Ve(It),gi=yr===0?Le:xe,Si=It.start,Mi,Pi,Gi=0;Gi<It.length-3;Gi+=3){var Ki=It[Gi],ka=It[Gi+1],jn=It[Gi+2],la=It[Gi+3],Fa=It[Gi+4],Ra=yr===0?Ki:ka,jo=yr===0?la:Fa,oa=!1;Zr&&(Mi=Math.sqrt(Math.pow(Ki-la,2)+Math.pow(ka-Fa,2))),Ra<jt?jo>jt&&(Pi=gi(Vr,Ki,ka,la,Fa,jt),Zr&&(Vr.start=Si+Mi*Pi)):Ra>Zt?jo<Zt&&(Pi=gi(Vr,Ki,ka,la,Fa,Zt),Zr&&(Vr.start=Si+Mi*Pi)):ht(Vr,Ki,ka,jn),jo<jt&&Ra>=jt&&(Pi=gi(Vr,Ki,ka,la,Fa,jt),oa=!0),jo>Zt&&Ra<=Zt&&(Pi=gi(Vr,Ki,ka,la,Fa,Zt),oa=!0),!Fr&&oa&&(Zr&&(Vr.end=Si+Mi*Pi),ft.push(Vr),Vr=Ve(It)),Zr&&(Si+=Mi)}var Sn=It.length-3;Ki=It[Sn],ka=It[Sn+1],jn=It[Sn+2],Ra=yr===0?Ki:ka,Ra>=jt&&Ra<=Zt&&ht(Vr,Ki,ka,jn),Sn=Vr.length-3,Fr&&Sn>=3&&(Vr[Sn]!==Vr[0]||Vr[Sn+1]!==Vr[1])&&ht(Vr,Vr[0],Vr[1],Vr[2]),Vr.length&&ft.push(Vr)}function Ve(It){var ft=[];return ft.size=It.size,ft.start=It.start,ft.end=It.end,ft}function Xe(It,ft,jt,Zt,yr,Fr){for(var Zr=0;Zr<It.length;Zr++)Ye(It[Zr],ft,jt,Zt,yr,Fr,!1)}function ht(It,ft,jt,Zt){It.push(ft),It.push(jt),It.push(Zt)}function Le(It,ft,jt,Zt,yr,Fr){var Zr=(Fr-ft)/(Zt-ft);return It.push(Fr),It.push(jt+(yr-jt)*Zr),It.push(1),Zr}function xe(It,ft,jt,Zt,yr,Fr){var Zr=(Fr-jt)/(yr-jt);return It.push(ft+(Zt-ft)*Zr),It.push(Fr),It.push(1),Zr}function Se(It,ft){var jt=ft.buffer/ft.extent,Zt=It,yr=ut(It,1,-1-jt,jt,0,-1,2,ft),Fr=ut(It,1,1-jt,2+jt,0,-1,2,ft);return(yr||Fr)&&(Zt=ut(It,1,-jt,1+jt,0,-1,2,ft)||[],yr&&(Zt=lt(yr,1).concat(Zt)),Fr&&(Zt=Zt.concat(lt(Fr,-1)))),Zt}function lt(It,ft){for(var jt=[],Zt=0;Zt<It.length;Zt++){var yr=It[Zt],Fr=yr.type,Zr;if(Fr===\"Point\"||Fr===\"MultiPoint\"||Fr===\"LineString\")Zr=Gt(yr.geometry,ft);else if(Fr===\"MultiLineString\"||Fr===\"Polygon\"){Zr=[];for(var Vr=0;Vr<yr.geometry.length;Vr++)Zr.push(Gt(yr.geometry[Vr],ft))}else if(Fr===\"MultiPolygon\")for(Zr=[],Vr=0;Vr<yr.geometry.length;Vr++){for(var gi=[],Si=0;Si<yr.geometry[Vr].length;Si++)gi.push(Gt(yr.geometry[Vr][Si],ft));Zr.push(gi)}jt.push(St(yr.id,Fr,Zr,yr.tags))}return jt}function Gt(It,ft){var jt=[];jt.size=It.size,It.start!==void 0&&(jt.start=It.start,jt.end=It.end);for(var Zt=0;Zt<It.length;Zt+=3)jt.push(It[Zt]+ft,It[Zt+1],It[Zt+2]);return jt}function Vt(It,ft){if(It.transformed)return It;var jt=1<<It.z,Zt=It.x,yr=It.y,Fr,Zr,Vr;for(Fr=0;Fr<It.features.length;Fr++){var gi=It.features[Fr],Si=gi.geometry,Mi=gi.type;if(gi.geometry=[],Mi===1)for(Zr=0;Zr<Si.length;Zr+=2)gi.geometry.push(ar(Si[Zr],Si[Zr+1],ft,jt,Zt,yr));else for(Zr=0;Zr<Si.length;Zr++){var Pi=[];for(Vr=0;Vr<Si[Zr].length;Vr+=2)Pi.push(ar(Si[Zr][Vr],Si[Zr][Vr+1],ft,jt,Zt,yr));gi.geometry.push(Pi)}}return It.transformed=!0,It}function ar(It,ft,jt,Zt,yr,Fr){return[Math.round(jt*(It*Zt-yr)),Math.round(jt*(ft*Zt-Fr))]}function Qr(It,ft,jt,Zt,yr){for(var Fr=ft===yr.maxZoom?0:yr.tolerance/((1<<ft)*yr.extent),Zr={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:jt,y:Zt,z:ft,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},Vr=0;Vr<It.length;Vr++){Zr.numFeatures++,ai(Zr,It[Vr],Fr,yr);var gi=It[Vr].minX,Si=It[Vr].minY,Mi=It[Vr].maxX,Pi=It[Vr].maxY;gi<Zr.minX&&(Zr.minX=gi),Si<Zr.minY&&(Zr.minY=Si),Mi>Zr.maxX&&(Zr.maxX=Mi),Pi>Zr.maxY&&(Zr.maxY=Pi)}return Zr}function ai(It,ft,jt,Zt){var yr=ft.geometry,Fr=ft.type,Zr=[];if(Fr===\"Point\"||Fr===\"MultiPoint\")for(var Vr=0;Vr<yr.length;Vr+=3)Zr.push(yr[Vr]),Zr.push(yr[Vr+1]),It.numPoints++,It.numSimplified++;else if(Fr===\"LineString\")jr(Zr,yr,It,jt,!1,!1);else if(Fr===\"MultiLineString\"||Fr===\"Polygon\")for(Vr=0;Vr<yr.length;Vr++)jr(Zr,yr[Vr],It,jt,Fr===\"Polygon\",Vr===0);else if(Fr===\"MultiPolygon\")for(var gi=0;gi<yr.length;gi++){var Si=yr[gi];for(Vr=0;Vr<Si.length;Vr++)jr(Zr,Si[Vr],It,jt,!0,Vr===0)}if(Zr.length){var Mi=ft.tags||null;if(Fr===\"LineString\"&&Zt.lineMetrics){Mi={};for(var Pi in ft.tags)Mi[Pi]=ft.tags[Pi];Mi.mapbox_clip_start=yr.start/yr.size,Mi.mapbox_clip_end=yr.end/yr.size}var Gi={geometry:Zr,type:Fr===\"Polygon\"||Fr===\"MultiPolygon\"?3:Fr===\"LineString\"||Fr===\"MultiLineString\"?2:1,tags:Mi};ft.id!==null&&(Gi.id=ft.id),It.features.push(Gi)}}function jr(It,ft,jt,Zt,yr,Fr){var Zr=Zt*Zt;if(Zt>0&&ft.size<(yr?Zr:Zt)){jt.numPoints+=ft.length/3;return}for(var Vr=[],gi=0;gi<ft.length;gi+=3)(Zt===0||ft[gi+2]>Zr)&&(jt.numSimplified++,Vr.push(ft[gi]),Vr.push(ft[gi+1])),jt.numPoints++;yr&&ri(Vr,Fr),It.push(Vr)}function ri(It,ft){for(var jt=0,Zt=0,yr=It.length,Fr=yr-2;Zt<yr;Fr=Zt,Zt+=2)jt+=(It[Zt]-It[Fr])*(It[Zt+1]+It[Fr+1]);if(jt>0===ft)for(Zt=0,yr=It.length;Zt<yr/2;Zt+=2){var Zr=It[Zt],Vr=It[Zt+1];It[Zt]=It[yr-2-Zt],It[Zt+1]=It[yr-1-Zt],It[yr-2-Zt]=Zr,It[yr-1-Zt]=Vr}}function bi(It,ft){return new nn(It,ft)}function nn(It,ft){ft=this.options=Ni(Object.create(this.options),ft);var jt=ft.debug;if(jt&&console.time(\"preprocess data\"),ft.maxZoom<0||ft.maxZoom>24)throw new Error(\"maxZoom should be in the 0-24 range\");if(ft.promoteId&&ft.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var Zt=Ht(It,ft);this.tiles={},this.tileCoords=[],jt&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",ft.indexMaxZoom,ft.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),Zt=Se(Zt,ft),Zt.length&&this.splitTile(Zt,0,0,0),jt&&(Zt.length&&console.log(\"features: %d, points: %d\",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(\"generate tiles\"),console.log(\"tiles generated:\",this.total,JSON.stringify(this.stats)))}nn.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},nn.prototype.splitTile=function(It,ft,jt,Zt,yr,Fr,Zr){for(var Vr=[It,ft,jt,Zt],gi=this.options,Si=gi.debug;Vr.length;){Zt=Vr.pop(),jt=Vr.pop(),ft=Vr.pop(),It=Vr.pop();var Mi=1<<ft,Pi=Wi(ft,jt,Zt),Gi=this.tiles[Pi];if(!Gi&&(Si>1&&console.time(\"creation\"),Gi=this.tiles[Pi]=Qr(It,ft,jt,Zt,gi),this.tileCoords.push({z:ft,x:jt,y:Zt}),Si)){Si>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",ft,jt,Zt,Gi.numFeatures,Gi.numPoints,Gi.numSimplified),console.timeEnd(\"creation\"));var Ki=\"z\"+ft;this.stats[Ki]=(this.stats[Ki]||0)+1,this.total++}if(Gi.source=It,yr){if(ft===gi.maxZoom||ft===yr)continue;var ka=1<<yr-ft;if(jt!==Math.floor(Fr/ka)||Zt!==Math.floor(Zr/ka))continue}else if(ft===gi.indexMaxZoom||Gi.numPoints<=gi.indexMaxPoints)continue;if(Gi.source=null,It.length!==0){Si>1&&console.time(\"clipping\");var jn=.5*gi.buffer/gi.extent,la=.5-jn,Fa=.5+jn,Ra=1+jn,jo,oa,Sn,Ha,oo,xn;jo=oa=Sn=Ha=null,oo=ut(It,Mi,jt-jn,jt+Fa,0,Gi.minX,Gi.maxX,gi),xn=ut(It,Mi,jt+la,jt+Ra,0,Gi.minX,Gi.maxX,gi),It=null,oo&&(jo=ut(oo,Mi,Zt-jn,Zt+Fa,1,Gi.minY,Gi.maxY,gi),oa=ut(oo,Mi,Zt+la,Zt+Ra,1,Gi.minY,Gi.maxY,gi),oo=null),xn&&(Sn=ut(xn,Mi,Zt-jn,Zt+Fa,1,Gi.minY,Gi.maxY,gi),Ha=ut(xn,Mi,Zt+la,Zt+Ra,1,Gi.minY,Gi.maxY,gi),xn=null),Si>1&&console.timeEnd(\"clipping\"),Vr.push(jo||[],ft+1,jt*2,Zt*2),Vr.push(oa||[],ft+1,jt*2,Zt*2+1),Vr.push(Sn||[],ft+1,jt*2+1,Zt*2),Vr.push(Ha||[],ft+1,jt*2+1,Zt*2+1)}}},nn.prototype.getTile=function(It,ft,jt){var Zt=this.options,yr=Zt.extent,Fr=Zt.debug;if(It<0||It>24)return null;var Zr=1<<It;ft=(ft%Zr+Zr)%Zr;var Vr=Wi(It,ft,jt);if(this.tiles[Vr])return Vt(this.tiles[Vr],yr);Fr>1&&console.log(\"drilling down to z%d-%d-%d\",It,ft,jt);for(var gi=It,Si=ft,Mi=jt,Pi;!Pi&&gi>0;)gi--,Si=Math.floor(Si/2),Mi=Math.floor(Mi/2),Pi=this.tiles[Wi(gi,Si,Mi)];return!Pi||!Pi.source?null:(Fr>1&&console.log(\"found parent tile z%d-%d-%d\",gi,Si,Mi),Fr>1&&console.time(\"drilling down\"),this.splitTile(Pi.source,gi,Si,Mi,It,ft,jt),Fr>1&&console.timeEnd(\"drilling down\"),this.tiles[Vr]?Vt(this.tiles[Vr],yr):null)};function Wi(It,ft,jt){return((1<<It)*jt+ft)*32+It}function Ni(It,ft){for(var jt in ft)It[jt]=ft[jt];return It}function _n(It,ft){var jt=It.tileID.canonical;if(!this._geoJSONIndex)return ft(null,null);var Zt=this._geoJSONIndex.getTile(jt.z,jt.x,jt.y);if(!Zt)return ft(null,null);var yr=new C(Zt.features),Fr=F(yr);(Fr.byteOffset!==0||Fr.byteLength!==Fr.buffer.byteLength)&&(Fr=new Uint8Array(Fr)),ft(null,{vectorTile:yr,rawData:Fr.buffer})}var $i=function(It){function ft(jt,Zt,yr,Fr){It.call(this,jt,Zt,yr,_n),Fr&&(this.loadGeoJSON=Fr)}return It&&(ft.__proto__=It),ft.prototype=Object.create(It&&It.prototype),ft.prototype.constructor=ft,ft.prototype.loadData=function(Zt,yr){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=yr,this._pendingLoadDataParams=Zt,this._state&&this._state!==\"Idle\"?this._state=\"NeedsLoadData\":(this._state=\"Coalescing\",this._loadData())},ft.prototype._loadData=function(){var Zt=this;if(!(!this._pendingCallback||!this._pendingLoadDataParams)){var yr=this._pendingCallback,Fr=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var Zr=Fr&&Fr.request&&Fr.request.collectResourceTiming?new i.RequestPerformance(Fr.request):!1;this.loadGeoJSON(Fr,function(Vr,gi){if(Vr||!gi)return yr(Vr);if(typeof gi!=\"object\")return yr(new Error(\"Input data given to '\"+Fr.source+\"' is not a valid GeoJSON object.\"));p(gi,!0);try{if(Fr.filter){var Si=i.createExpression(Fr.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(Si.result===\"error\")throw new Error(Si.value.map(function(Ki){return Ki.key+\": \"+Ki.message}).join(\", \"));var Mi=gi.features.filter(function(Ki){return Si.value.evaluate({zoom:0},Ki)});gi={type:\"FeatureCollection\",features:Mi}}Zt._geoJSONIndex=Fr.cluster?new ct(zn(Fr)).load(gi.features):bi(gi,Fr.geojsonVtOptions)}catch(Ki){return yr(Ki)}Zt.loaded={};var Pi={};if(Zr){var Gi=Zr.finish();Gi&&(Pi.resourceTiming={},Pi.resourceTiming[Fr.source]=JSON.parse(JSON.stringify(Gi)))}yr(null,Pi)})}},ft.prototype.coalesce=function(){this._state===\"Coalescing\"?this._state=\"Idle\":this._state===\"NeedsLoadData\"&&(this._state=\"Coalescing\",this._loadData())},ft.prototype.reloadTile=function(Zt,yr){var Fr=this.loaded,Zr=Zt.uid;return Fr&&Fr[Zr]?It.prototype.reloadTile.call(this,Zt,yr):this.loadTile(Zt,yr)},ft.prototype.loadGeoJSON=function(Zt,yr){if(Zt.request)i.getJSON(Zt.request,yr);else if(typeof Zt.data==\"string\")try{return yr(null,JSON.parse(Zt.data))}catch(Fr){return yr(new Error(\"Input data given to '\"+Zt.source+\"' is not a valid GeoJSON object.\"))}else return yr(new Error(\"Input data given to '\"+Zt.source+\"' is not a valid GeoJSON object.\"))},ft.prototype.removeSource=function(Zt,yr){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),yr()},ft.prototype.getClusterExpansionZoom=function(Zt,yr){try{yr(null,this._geoJSONIndex.getClusterExpansionZoom(Zt.clusterId))}catch(Fr){yr(Fr)}},ft.prototype.getClusterChildren=function(Zt,yr){try{yr(null,this._geoJSONIndex.getChildren(Zt.clusterId))}catch(Fr){yr(Fr)}},ft.prototype.getClusterLeaves=function(Zt,yr){try{yr(null,this._geoJSONIndex.getLeaves(Zt.clusterId,Zt.limit,Zt.offset))}catch(Fr){yr(Fr)}},ft}(v);function zn(It){var ft=It.superclusterOptions,jt=It.clusterProperties;if(!jt||!ft)return ft;for(var Zt={},yr={},Fr={accumulated:null,zoom:0},Zr={properties:null},Vr=Object.keys(jt),gi=0,Si=Vr;gi<Si.length;gi+=1){var Mi=Si[gi],Pi=jt[Mi],Gi=Pi[0],Ki=Pi[1],ka=i.createExpression(Ki),jn=i.createExpression(typeof Gi==\"string\"?[Gi,[\"accumulated\"],[\"get\",Mi]]:Gi);Zt[Mi]=ka.value,yr[Mi]=jn.value}return ft.map=function(la){Zr.properties=la;for(var Fa={},Ra=0,jo=Vr;Ra<jo.length;Ra+=1){var oa=jo[Ra];Fa[oa]=Zt[oa].evaluate(Fr,Zr)}return Fa},ft.reduce=function(la,Fa){Zr.properties=Fa;for(var Ra=0,jo=Vr;Ra<jo.length;Ra+=1){var oa=jo[Ra];Fr.accumulated=la[oa],la[oa]=yr[oa].evaluate(Fr,Zr)}},ft}var Wn=function(ft){var jt=this;this.self=ft,this.actor=new i.Actor(ft,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:v,geojson:$i},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(Zt,yr){if(jt.workerSourceTypes[Zt])throw new Error('Worker source with name \"'+Zt+'\" already registered.');jt.workerSourceTypes[Zt]=yr},this.self.registerRTLTextPlugin=function(Zt){if(i.plugin.isParsed())throw new Error(\"RTL text plugin already registered.\");i.plugin.applyArabicShaping=Zt.applyArabicShaping,i.plugin.processBidirectionalText=Zt.processBidirectionalText,i.plugin.processStyledBidirectionalText=Zt.processStyledBidirectionalText}};return Wn.prototype.setReferrer=function(ft,jt){this.referrer=jt},Wn.prototype.setImages=function(ft,jt,Zt){this.availableImages[ft]=jt;for(var yr in this.workerSources[ft]){var Fr=this.workerSources[ft][yr];for(var Zr in Fr)Fr[Zr].availableImages=jt}Zt()},Wn.prototype.setLayers=function(ft,jt,Zt){this.getLayerIndex(ft).replace(jt),Zt()},Wn.prototype.updateLayers=function(ft,jt,Zt){this.getLayerIndex(ft).update(jt.layers,jt.removedIds),Zt()},Wn.prototype.loadTile=function(ft,jt,Zt){this.getWorkerSource(ft,jt.type,jt.source).loadTile(jt,Zt)},Wn.prototype.loadDEMTile=function(ft,jt,Zt){this.getDEMWorkerSource(ft,jt.source).loadTile(jt,Zt)},Wn.prototype.reloadTile=function(ft,jt,Zt){this.getWorkerSource(ft,jt.type,jt.source).reloadTile(jt,Zt)},Wn.prototype.abortTile=function(ft,jt,Zt){this.getWorkerSource(ft,jt.type,jt.source).abortTile(jt,Zt)},Wn.prototype.removeTile=function(ft,jt,Zt){this.getWorkerSource(ft,jt.type,jt.source).removeTile(jt,Zt)},Wn.prototype.removeDEMTile=function(ft,jt){this.getDEMWorkerSource(ft,jt.source).removeTile(jt)},Wn.prototype.removeSource=function(ft,jt,Zt){if(!(!this.workerSources[ft]||!this.workerSources[ft][jt.type]||!this.workerSources[ft][jt.type][jt.source])){var yr=this.workerSources[ft][jt.type][jt.source];delete this.workerSources[ft][jt.type][jt.source],yr.removeSource!==void 0?yr.removeSource(jt,Zt):Zt()}},Wn.prototype.loadWorkerSource=function(ft,jt,Zt){try{this.self.importScripts(jt.url),Zt()}catch(yr){Zt(yr.toString())}},Wn.prototype.syncRTLPluginState=function(ft,jt,Zt){try{i.plugin.setState(jt);var yr=i.plugin.getPluginURL();if(i.plugin.isLoaded()&&!i.plugin.isParsed()&&yr!=null){this.self.importScripts(yr);var Fr=i.plugin.isParsed(),Zr=Fr?void 0:new Error(\"RTL Text Plugin failed to import scripts from \"+yr);Zt(Zr,Fr)}}catch(Vr){Zt(Vr.toString())}},Wn.prototype.getAvailableImages=function(ft){var jt=this.availableImages[ft];return jt||(jt=[]),jt},Wn.prototype.getLayerIndex=function(ft){var jt=this.layerIndexes[ft];return jt||(jt=this.layerIndexes[ft]=new l),jt},Wn.prototype.getWorkerSource=function(ft,jt,Zt){var yr=this;if(this.workerSources[ft]||(this.workerSources[ft]={}),this.workerSources[ft][jt]||(this.workerSources[ft][jt]={}),!this.workerSources[ft][jt][Zt]){var Fr={send:function(Zr,Vr,gi){yr.actor.send(Zr,Vr,gi,ft)}};this.workerSources[ft][jt][Zt]=new this.workerSourceTypes[jt](Fr,this.getLayerIndex(ft),this.getAvailableImages(ft))}return this.workerSources[ft][jt][Zt]},Wn.prototype.getDEMWorkerSource=function(ft,jt){return this.demWorkerSources[ft]||(this.demWorkerSources[ft]={}),this.demWorkerSources[ft][jt]||(this.demWorkerSources[ft][jt]=new b),this.demWorkerSources[ft][jt]},Wn.prototype.enforceCacheSizeLimit=function(ft,jt){i.enforceCacheSizeLimit(jt)},typeof WorkerGlobalScope!=\"undefined\"&&typeof self!=\"undefined\"&&self instanceof WorkerGlobalScope&&(self.worker=new Wn(self)),Wn}),n([\"./shared\"],function(i){\"use strict\";var a=i.createCommonjsModule(function(Y){Y.exports?Y.exports=z:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=z,window.mapboxgl.notSupportedReason=K);function z(rr){return!K(rr)}function K(rr){if(!O())return\"not a browser\";if(!$())return\"insufficent Array support\";if(!pe())return\"insufficient Function support\";if(!de())return\"insufficient Object support\";if(!Ie())return\"insufficient JSON support\";if(!$e())return\"insufficient worker support\";if(!pt())return\"insufficient Uint8ClampedArray support\";if(!Kt())return\"insufficient ArrayBuffer support\";if(!ir())return\"insufficient Canvas/getImageData support\";if(!vt(rr&&rr.failIfMajorPerformanceCaveat))return\"insufficient WebGL support\"}function O(){return typeof window!=\"undefined\"&&typeof document!=\"undefined\"}function $(){return Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray}function pe(){return Function.prototype&&Function.prototype.bind}function de(){return Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions}function Ie(){return\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON}function $e(){if(!(\"Worker\"in window&&\"Blob\"in window&&\"URL\"in window))return!1;var rr=new Blob([\"\"],{type:\"text/javascript\"}),dr=URL.createObjectURL(rr),pr,kr;try{kr=new Worker(dr),pr=!0}catch(Ar){pr=!1}return kr&&kr.terminate(),URL.revokeObjectURL(dr),pr}function pt(){return\"Uint8ClampedArray\"in window}function Kt(){return ArrayBuffer.isView}function ir(){var rr=document.createElement(\"canvas\");rr.width=rr.height=1;var dr=rr.getContext(\"2d\");if(!dr)return!1;var pr=dr.getImageData(0,0,1,1);return pr&&pr.width===rr.width}var Jt={};function vt(rr){return Jt[rr]===void 0&&(Jt[rr]=Wt(rr)),Jt[rr]}z.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0};function Pt(rr){var dr=document.createElement(\"canvas\"),pr=Object.create(z.webGLContextAttributes);return pr.failIfMajorPerformanceCaveat=rr,dr.probablySupportsContext?dr.probablySupportsContext(\"webgl\",pr)||dr.probablySupportsContext(\"experimental-webgl\",pr):dr.supportsContext?dr.supportsContext(\"webgl\",pr)||dr.supportsContext(\"experimental-webgl\",pr):dr.getContext(\"webgl\",pr)||dr.getContext(\"experimental-webgl\",pr)}function Wt(rr){var dr=Pt(rr);if(!dr)return!1;var pr=dr.createShader(dr.VERTEX_SHADER);return!pr||dr.isContextLost()?!1:(dr.shaderSource(pr,\"void main() {}\"),dr.compileShader(pr),dr.getShaderParameter(pr,dr.COMPILE_STATUS)===!0)}}),o={};o.create=function(Y,z,K){var O=i.window.document.createElement(Y);return z!==void 0&&(O.className=z),K&&K.appendChild(O),O},o.createNS=function(Y,z){var K=i.window.document.createElementNS(Y,z);return K};var s=i.window.document&&i.window.document.documentElement.style;function l(Y){if(!s)return Y[0];for(var z=0;z<Y.length;z++)if(Y[z]in s)return Y[z];return Y[0]}var u=l([\"userSelect\",\"MozUserSelect\",\"WebkitUserSelect\",\"msUserSelect\"]),c;o.disableDrag=function(){s&&u&&(c=s[u],s[u]=\"none\")},o.enableDrag=function(){s&&u&&(s[u]=c)};var f=l([\"transform\",\"WebkitTransform\"]);o.setTransform=function(Y,z){Y.style[f]=z};var h=!1;try{var d=Object.defineProperty({},\"passive\",{get:function(){h=!0}});i.window.addEventListener(\"test\",d,d),i.window.removeEventListener(\"test\",d,d)}catch(Y){h=!1}o.addEventListener=function(Y,z,K,O){O===void 0&&(O={}),\"passive\"in O&&h?Y.addEventListener(z,K,O):Y.addEventListener(z,K,O.capture)},o.removeEventListener=function(Y,z,K,O){O===void 0&&(O={}),\"passive\"in O&&h?Y.removeEventListener(z,K,O):Y.removeEventListener(z,K,O.capture)};var v=function(Y){Y.preventDefault(),Y.stopPropagation(),i.window.removeEventListener(\"click\",v,!0)};o.suppressClick=function(){i.window.addEventListener(\"click\",v,!0),i.window.setTimeout(function(){i.window.removeEventListener(\"click\",v,!0)},0)},o.mousePos=function(Y,z){var K=Y.getBoundingClientRect();return new i.Point(z.clientX-K.left-Y.clientLeft,z.clientY-K.top-Y.clientTop)},o.touchPos=function(Y,z){for(var K=Y.getBoundingClientRect(),O=[],$=0;$<z.length;$++)O.push(new i.Point(z[$].clientX-K.left-Y.clientLeft,z[$].clientY-K.top-Y.clientTop));return O},o.mouseButton=function(Y){return typeof i.window.InstallTrigger!=\"undefined\"&&Y.button===2&&Y.ctrlKey&&i.window.navigator.platform.toUpperCase().indexOf(\"MAC\")>=0?0:Y.button},o.remove=function(Y){Y.parentNode&&Y.parentNode.removeChild(Y)};function x(Y,z,K){var O,$,pe,de=i.browser.devicePixelRatio>1?\"@2x\":\"\",Ie=i.getJSON(z.transformRequest(z.normalizeSpriteURL(Y,de,\".json\"),i.ResourceType.SpriteJSON),function(Kt,ir){Ie=null,pe||(pe=Kt,O=ir,pt())}),$e=i.getImage(z.transformRequest(z.normalizeSpriteURL(Y,de,\".png\"),i.ResourceType.SpriteImage),function(Kt,ir){$e=null,pe||(pe=Kt,$=ir,pt())});function pt(){if(pe)K(pe);else if(O&&$){var Kt=i.browser.getImageData($),ir={};for(var Jt in O){var vt=O[Jt],Pt=vt.width,Wt=vt.height,rr=vt.x,dr=vt.y,pr=vt.sdf,kr=vt.pixelRatio,Ar=vt.stretchX,gr=vt.stretchY,Cr=vt.content,cr=new i.RGBAImage({width:Pt,height:Wt});i.RGBAImage.copy(Kt,cr,{x:rr,y:dr},{x:0,y:0},{width:Pt,height:Wt}),ir[Jt]={data:cr,pixelRatio:kr,sdf:pr,stretchX:Ar,stretchY:gr,content:Cr}}K(null,ir)}}return{cancel:function(){Ie&&(Ie.cancel(),Ie=null),$e&&($e.cancel(),$e=null)}}}function b(Y){var z=Y.userImage;if(z&&z.render){var K=z.render();if(K)return Y.data.replace(new Uint8Array(z.data.buffer)),!0}return!1}var p=1,E=function(Y){function z(){Y.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new i.RGBAImage({width:1,height:1}),this.dirty=!0}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.isLoaded=function(){return this.loaded},z.prototype.setLoaded=function(O){if(this.loaded!==O&&(this.loaded=O,O)){for(var $=0,pe=this.requestors;$<pe.length;$+=1){var de=pe[$],Ie=de.ids,$e=de.callback;this._notify(Ie,$e)}this.requestors=[]}},z.prototype.getImage=function(O){return this.images[O]},z.prototype.addImage=function(O,$){this._validate(O,$)&&(this.images[O]=$)},z.prototype._validate=function(O,$){var pe=!0;return this._validateStretch($.stretchX,$.data&&$.data.width)||(this.fire(new i.ErrorEvent(new Error('Image \"'+O+'\" has invalid \"stretchX\" value'))),pe=!1),this._validateStretch($.stretchY,$.data&&$.data.height)||(this.fire(new i.ErrorEvent(new Error('Image \"'+O+'\" has invalid \"stretchY\" value'))),pe=!1),this._validateContent($.content,$)||(this.fire(new i.ErrorEvent(new Error('Image \"'+O+'\" has invalid \"content\" value'))),pe=!1),pe},z.prototype._validateStretch=function(O,$){if(!O)return!0;for(var pe=0,de=0,Ie=O;de<Ie.length;de+=1){var $e=Ie[de];if($e[0]<pe||$e[1]<$e[0]||$<$e[1])return!1;pe=$e[1]}return!0},z.prototype._validateContent=function(O,$){return O?!(O.length!==4||O[0]<0||$.data.width<O[0]||O[1]<0||$.data.height<O[1]||O[2]<0||$.data.width<O[2]||O[3]<0||$.data.height<O[3]||O[2]<O[0]||O[3]<O[1]):!0},z.prototype.updateImage=function(O,$){var pe=this.images[O];$.version=pe.version+1,this.images[O]=$,this.updatedImages[O]=!0},z.prototype.removeImage=function(O){var $=this.images[O];delete this.images[O],delete this.patterns[O],$.userImage&&$.userImage.onRemove&&$.userImage.onRemove()},z.prototype.listImages=function(){return Object.keys(this.images)},z.prototype.getImages=function(O,$){var pe=!0;if(!this.isLoaded())for(var de=0,Ie=O;de<Ie.length;de+=1){var $e=Ie[de];this.images[$e]||(pe=!1)}this.isLoaded()||pe?this._notify(O,$):this.requestors.push({ids:O,callback:$})},z.prototype._notify=function(O,$){for(var pe={},de=0,Ie=O;de<Ie.length;de+=1){var $e=Ie[de];this.images[$e]||this.fire(new i.Event(\"styleimagemissing\",{id:$e}));var pt=this.images[$e];pt?pe[$e]={data:pt.data.clone(),pixelRatio:pt.pixelRatio,sdf:pt.sdf,version:pt.version,stretchX:pt.stretchX,stretchY:pt.stretchY,content:pt.content,hasRenderCallback:!!(pt.userImage&&pt.userImage.render)}:i.warnOnce('Image \"'+$e+'\" 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.')}$(null,pe)},z.prototype.getPixelSize=function(){var O=this.atlasImage,$=O.width,pe=O.height;return{width:$,height:pe}},z.prototype.getPattern=function(O){var $=this.patterns[O],pe=this.getImage(O);if(!pe)return null;if($&&$.position.version===pe.version)return $.position;if($)$.position.version=pe.version;else{var de=pe.data.width+p*2,Ie=pe.data.height+p*2,$e={w:de,h:Ie,x:0,y:0},pt=new i.ImagePosition($e,pe);this.patterns[O]={bin:$e,position:pt}}return this._updatePatternAtlas(),this.patterns[O].position},z.prototype.bind=function(O){var $=O.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new i.Texture(O,this.atlasImage,$.RGBA),this.atlasTexture.bind($.LINEAR,$.CLAMP_TO_EDGE)},z.prototype._updatePatternAtlas=function(){var O=[];for(var $ in this.patterns)O.push(this.patterns[$].bin);var pe=i.potpack(O),de=pe.w,Ie=pe.h,$e=this.atlasImage;$e.resize({width:de||1,height:Ie||1});for(var pt in this.patterns){var Kt=this.patterns[pt],ir=Kt.bin,Jt=ir.x+p,vt=ir.y+p,Pt=this.images[pt].data,Wt=Pt.width,rr=Pt.height;i.RGBAImage.copy(Pt,$e,{x:0,y:0},{x:Jt,y:vt},{width:Wt,height:rr}),i.RGBAImage.copy(Pt,$e,{x:0,y:rr-1},{x:Jt,y:vt-1},{width:Wt,height:1}),i.RGBAImage.copy(Pt,$e,{x:0,y:0},{x:Jt,y:vt+rr},{width:Wt,height:1}),i.RGBAImage.copy(Pt,$e,{x:Wt-1,y:0},{x:Jt-1,y:vt},{width:1,height:rr}),i.RGBAImage.copy(Pt,$e,{x:0,y:0},{x:Jt+Wt,y:vt},{width:1,height:rr})}this.dirty=!0},z.prototype.beginFrame=function(){this.callbackDispatchedThisFrame={}},z.prototype.dispatchRenderCallbacks=function(O){for(var $=0,pe=O;$<pe.length;$+=1){var de=pe[$];if(!this.callbackDispatchedThisFrame[de]){this.callbackDispatchedThisFrame[de]=!0;var Ie=this.images[de],$e=b(Ie);$e&&this.updateImage(de,Ie)}}},z}(i.Evented);function k(Y,z,K,O,$){var pe=z*256,de=pe+255,Ie=O.transformRequest(O.normalizeGlyphsURL(K).replace(\"{fontstack}\",Y).replace(\"{range}\",pe+\"-\"+de),i.ResourceType.Glyphs);i.getArrayBuffer(Ie,function($e,pt){if($e)$($e);else if(pt){for(var Kt={},ir=0,Jt=i.parseGlyphPBF(pt);ir<Jt.length;ir+=1){var vt=Jt[ir];Kt[vt.id]=vt}$(null,Kt)}})}var A=C,L=C,_=1e20;function C(Y,z,K,O,$,pe){this.fontSize=Y||24,this.buffer=z===void 0?3:z,this.cutoff=O||.25,this.fontFamily=$||\"sans-serif\",this.fontWeight=pe||\"normal\",this.radius=K||8;var de=this.size=this.fontSize+this.buffer*2;this.canvas=document.createElement(\"canvas\"),this.canvas.width=this.canvas.height=de,this.ctx=this.canvas.getContext(\"2d\"),this.ctx.font=this.fontWeight+\" \"+this.fontSize+\"px \"+this.fontFamily,this.ctx.textBaseline=\"middle\",this.ctx.fillStyle=\"black\",this.gridOuter=new Float64Array(de*de),this.gridInner=new Float64Array(de*de),this.f=new Float64Array(de),this.d=new Float64Array(de),this.z=new Float64Array(de+1),this.v=new Int16Array(de),this.middle=Math.round(de/2*(navigator.userAgent.indexOf(\"Gecko/\")>=0?1.2:1))}C.prototype.draw=function(Y){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(Y,this.buffer,this.middle);for(var z=this.ctx.getImageData(0,0,this.size,this.size),K=new Uint8ClampedArray(this.size*this.size),O=0;O<this.size*this.size;O++){var $=z.data[O*4+3]/255;this.gridOuter[O]=$===1?0:$===0?_:Math.pow(Math.max(0,.5-$),2),this.gridInner[O]=$===1?_:$===0?0:Math.pow(Math.max(0,$-.5),2)}for(M(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),M(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),O=0;O<this.size*this.size;O++){var pe=this.gridOuter[O]-this.gridInner[O];K[O]=Math.max(0,Math.min(255,Math.round(255-255*(pe/this.radius+this.cutoff))))}return K};function M(Y,z,K,O,$,pe,de){for(var Ie=0;Ie<z;Ie++){for(var $e=0;$e<K;$e++)O[$e]=Y[$e*z+Ie];for(g(O,$,pe,de,K),$e=0;$e<K;$e++)Y[$e*z+Ie]=$[$e]}for($e=0;$e<K;$e++){for(Ie=0;Ie<z;Ie++)O[Ie]=Y[$e*z+Ie];for(g(O,$,pe,de,z),Ie=0;Ie<z;Ie++)Y[$e*z+Ie]=Math.sqrt($[Ie])}}function g(Y,z,K,O,$){K[0]=0,O[0]=-_,O[1]=+_;for(var pe=1,de=0;pe<$;pe++){for(var Ie=(Y[pe]+pe*pe-(Y[K[de]]+K[de]*K[de]))/(2*pe-2*K[de]);Ie<=O[de];)de--,Ie=(Y[pe]+pe*pe-(Y[K[de]]+K[de]*K[de]))/(2*pe-2*K[de]);de++,K[de]=pe,O[de]=Ie,O[de+1]=+_}for(pe=0,de=0;pe<$;pe++){for(;O[de+1]<pe;)de++;z[pe]=(pe-K[de])*(pe-K[de])+Y[K[de]]}}A.default=L;var P=function(z,K){this.requestManager=z,this.localIdeographFontFamily=K,this.entries={}};P.prototype.setURL=function(z){this.url=z},P.prototype.getGlyphs=function(z,K){var O=this,$=[];for(var pe in z)for(var de=0,Ie=z[pe];de<Ie.length;de+=1){var $e=Ie[de];$.push({stack:pe,id:$e})}i.asyncAll($,function(pt,Kt){var ir=pt.stack,Jt=pt.id,vt=O.entries[ir];vt||(vt=O.entries[ir]={glyphs:{},requests:{},ranges:{}});var Pt=vt.glyphs[Jt];if(Pt!==void 0){Kt(null,{stack:ir,id:Jt,glyph:Pt});return}if(Pt=O._tinySDF(vt,ir,Jt),Pt){vt.glyphs[Jt]=Pt,Kt(null,{stack:ir,id:Jt,glyph:Pt});return}var Wt=Math.floor(Jt/256);if(Wt*256>65535){Kt(new Error(\"glyphs > 65535 not supported\"));return}if(vt.ranges[Wt]){Kt(null,{stack:ir,id:Jt,glyph:Pt});return}var rr=vt.requests[Wt];rr||(rr=vt.requests[Wt]=[],P.loadGlyphRange(ir,Wt,O.url,O.requestManager,function(dr,pr){if(pr){for(var kr in pr)O._doesCharSupportLocalGlyph(+kr)||(vt.glyphs[+kr]=pr[+kr]);vt.ranges[Wt]=!0}for(var Ar=0,gr=rr;Ar<gr.length;Ar+=1){var Cr=gr[Ar];Cr(dr,pr)}delete vt.requests[Wt]})),rr.push(function(dr,pr){dr?Kt(dr):pr&&Kt(null,{stack:ir,id:Jt,glyph:pr[Jt]||null})})},function(pt,Kt){if(pt)K(pt);else if(Kt){for(var ir={},Jt=0,vt=Kt;Jt<vt.length;Jt+=1){var Pt=vt[Jt],Wt=Pt.stack,rr=Pt.id,dr=Pt.glyph;(ir[Wt]||(ir[Wt]={}))[rr]=dr&&{id:dr.id,bitmap:dr.bitmap.clone(),metrics:dr.metrics}}K(null,ir)}})},P.prototype._doesCharSupportLocalGlyph=function(z){return!!this.localIdeographFontFamily&&(i.isChar[\"CJK Unified Ideographs\"](z)||i.isChar[\"Hangul Syllables\"](z)||i.isChar.Hiragana(z)||i.isChar.Katakana(z))},P.prototype._tinySDF=function(z,K,O){var $=this.localIdeographFontFamily;if($&&this._doesCharSupportLocalGlyph(O)){var pe=z.tinySDF;if(!pe){var de=\"400\";/bold/i.test(K)?de=\"900\":/medium/i.test(K)?de=\"500\":/light/i.test(K)&&(de=\"200\"),pe=z.tinySDF=new P.TinySDF(24,3,8,.25,$,de)}return{id:O,bitmap:new i.AlphaImage({width:30,height:30},pe.draw(String.fromCharCode(O))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},P.loadGlyphRange=k,P.TinySDF=A;var T=function(){this.specification=i.styleSpec.light.position};T.prototype.possiblyEvaluate=function(z,K){return i.sphericalToCartesian(z.expression.evaluate(K))},T.prototype.interpolate=function(z,K,O){return{x:i.number(z.x,K.x,O),y:i.number(z.y,K.y,O),z:i.number(z.z,K.z,O)}};var F=new i.Properties({anchor:new i.DataConstantProperty(i.styleSpec.light.anchor),position:new T,color:new i.DataConstantProperty(i.styleSpec.light.color),intensity:new i.DataConstantProperty(i.styleSpec.light.intensity)}),q=\"-transition\",V=function(Y){function z(K){Y.call(this),this._transitionable=new i.Transitionable(F),this.setLight(K),this._transitioning=this._transitionable.untransitioned()}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getLight=function(){return this._transitionable.serialize()},z.prototype.setLight=function(O,$){if($===void 0&&($={}),!this._validate(i.validateLight,O,$))for(var pe in O){var de=O[pe];i.endsWith(pe,q)?this._transitionable.setTransition(pe.slice(0,-q.length),de):this._transitionable.setValue(pe,de)}},z.prototype.updateTransitions=function(O){this._transitioning=this._transitionable.transitioned(O,this._transitioning)},z.prototype.hasTransition=function(){return this._transitioning.hasTransition()},z.prototype.recalculate=function(O){this.properties=this._transitioning.possiblyEvaluate(O)},z.prototype._validate=function(O,$,pe){return pe&&pe.validate===!1?!1:i.emitValidationErrors(this,O.call(i.validateStyle,i.extend({value:$,style:{glyphs:!0,sprite:!0},styleSpec:i.styleSpec})))},z}(i.Evented),H=function(z,K){this.width=z,this.height=K,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}};H.prototype.getDash=function(z,K){var O=z.join(\",\")+String(K);return this.dashEntry[O]||(this.dashEntry[O]=this.addDash(z,K)),this.dashEntry[O]},H.prototype.getDashRanges=function(z,K,O){var $=z.length%2===1,pe=[],de=$?-z[z.length-1]*O:0,Ie=z[0]*O,$e=!0;pe.push({left:de,right:Ie,isDash:$e,zeroLength:z[0]===0});for(var pt=z[0],Kt=1;Kt<z.length;Kt++){$e=!$e;var ir=z[Kt];de=pt*O,pt+=ir,Ie=pt*O,pe.push({left:de,right:Ie,isDash:$e,zeroLength:ir===0})}return pe},H.prototype.addRoundDash=function(z,K,O){for(var $=K/2,pe=-O;pe<=O;pe++)for(var de=this.nextRow+O+pe,Ie=this.width*de,$e=0,pt=z[$e],Kt=0;Kt<this.width;Kt++){Kt/pt.right>1&&(pt=z[++$e]);var ir=Math.abs(Kt-pt.left),Jt=Math.abs(Kt-pt.right),vt=Math.min(ir,Jt),Pt=void 0,Wt=pe/O*($+1);if(pt.isDash){var rr=$-Math.abs(Wt);Pt=Math.sqrt(vt*vt+rr*rr)}else Pt=$-Math.sqrt(vt*vt+Wt*Wt);this.data[Ie+Kt]=Math.max(0,Math.min(255,Pt+128))}},H.prototype.addRegularDash=function(z){for(var K=z.length-1;K>=0;--K){var O=z[K],$=z[K+1];O.zeroLength?z.splice(K,1):$&&$.isDash===O.isDash&&($.left=O.left,z.splice(K,1))}var pe=z[0],de=z[z.length-1];pe.isDash===de.isDash&&(pe.left=de.left-this.width,de.right=pe.right+this.width);for(var Ie=this.width*this.nextRow,$e=0,pt=z[$e],Kt=0;Kt<this.width;Kt++){Kt/pt.right>1&&(pt=z[++$e]);var ir=Math.abs(Kt-pt.left),Jt=Math.abs(Kt-pt.right),vt=Math.min(ir,Jt),Pt=pt.isDash?vt:-vt;this.data[Ie+Kt]=Math.max(0,Math.min(255,Pt+128))}},H.prototype.addDash=function(z,K){var O=K?7:0,$=2*O+1;if(this.nextRow+$>this.height)return i.warnOnce(\"LineAtlas out of space\"),null;for(var pe=0,de=0;de<z.length;de++)pe+=z[de];if(pe!==0){var Ie=this.width/pe,$e=this.getDashRanges(z,this.width,Ie);K?this.addRoundDash($e,Ie,O):this.addRegularDash($e)}var pt={y:(this.nextRow+O+.5)/this.height,height:2*O/this.height,width:pe};return this.nextRow+=$,this.dirty=!0,pt},H.prototype.bind=function(z){var K=z.gl;this.texture?(K.bindTexture(K.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,K.texSubImage2D(K.TEXTURE_2D,0,0,0,this.width,this.height,K.ALPHA,K.UNSIGNED_BYTE,this.data))):(this.texture=K.createTexture(),K.bindTexture(K.TEXTURE_2D,this.texture),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_WRAP_S,K.REPEAT),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_WRAP_T,K.REPEAT),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_MIN_FILTER,K.LINEAR),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_MAG_FILTER,K.LINEAR),K.texImage2D(K.TEXTURE_2D,0,K.ALPHA,this.width,this.height,0,K.ALPHA,K.UNSIGNED_BYTE,this.data))};var X=function Y(z,K){this.workerPool=z,this.actors=[],this.currentActor=0,this.id=i.uniqueId();for(var O=this.workerPool.acquire(this.id),$=0;$<O.length;$++){var pe=O[$],de=new Y.Actor(pe,K,this.id);de.name=\"Worker \"+$,this.actors.push(de)}};X.prototype.broadcast=function(z,K,O){O=O||function(){},i.asyncAll(this.actors,function($,pe){$.send(z,K,pe)},O)},X.prototype.getActor=function(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]},X.prototype.remove=function(){this.actors.forEach(function(z){z.remove()}),this.actors=[],this.workerPool.release(this.id)},X.Actor=i.Actor;function G(Y,z,K){var O=function($,pe){if($)return K($);if(pe){var de=i.pick(i.extend(pe,Y),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"mapbox_logo\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);pe.vector_layers&&(de.vectorLayers=pe.vector_layers,de.vectorLayerIds=de.vectorLayers.map(function(Ie){return Ie.id})),de.tiles=z.canonicalizeTileset(de,Y.url),K(null,de)}};return Y.url?i.getJSON(z.transformRequest(z.normalizeSourceURL(Y.url),i.ResourceType.Source),O):i.browser.frame(function(){return O(null,Y)})}var N=function(z,K,O){this.bounds=i.LngLatBounds.convert(this.validateBounds(z)),this.minzoom=K||0,this.maxzoom=O||24};N.prototype.validateBounds=function(z){return!Array.isArray(z)||z.length!==4?[-180,-90,180,90]:[Math.max(-180,z[0]),Math.max(-90,z[1]),Math.min(180,z[2]),Math.min(90,z[3])]},N.prototype.contains=function(z){var K=Math.pow(2,z.z),O={minX:Math.floor(i.mercatorXfromLng(this.bounds.getWest())*K),minY:Math.floor(i.mercatorYfromLat(this.bounds.getNorth())*K),maxX:Math.ceil(i.mercatorXfromLng(this.bounds.getEast())*K),maxY:Math.ceil(i.mercatorYfromLat(this.bounds.getSouth())*K)},$=z.x>=O.minX&&z.x<O.maxX&&z.y>=O.minY&&z.y<O.maxY;return $};var W=function(Y){function z(K,O,$,pe){if(Y.call(this),this.id=K,this.dispatcher=$,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,i.extend(this,i.pick(O,[\"url\",\"scheme\",\"tileSize\",\"promoteId\"])),this._options=i.extend({type:\"vector\"},O),this._collectResourceTiming=O.collectResourceTiming,this.tileSize!==512)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(pe)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){var O=this;this._loaded=!1,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=G(this._options,this.map._requestManager,function($,pe){O._tileJSONRequest=null,O._loaded=!0,$?O.fire(new i.ErrorEvent($)):pe&&(i.extend(O,pe),pe.bounds&&(O.tileBounds=new N(pe.bounds,O.minzoom,O.maxzoom)),i.postTurnstileEvent(pe.tiles,O.map._requestManager._customAccessToken),i.postMapLoadEvent(pe.tiles,O.map._getMapId(),O.map._requestManager._skuToken,O.map._requestManager._customAccessToken),O.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),O.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})},z.prototype.loaded=function(){return this._loaded},z.prototype.hasTile=function(O){return!this.tileBounds||this.tileBounds.contains(O.canonical)},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.setSourceProperty=function(O){this._tileJSONRequest&&this._tileJSONRequest.cancel(),O();var $=this.map.style.sourceCaches[this.id];$.clearTiles(),this.load()},z.prototype.setTiles=function(O){var $=this;return this.setSourceProperty(function(){$._options.tiles=O}),this},z.prototype.setUrl=function(O){var $=this;return this.setSourceProperty(function(){$.url=O,$._options.url=O}),this},z.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},z.prototype.serialize=function(){return i.extend({},this._options)},z.prototype.loadTile=function(O,$){var pe=this.map._requestManager.normalizeTileURL(O.tileID.canonical.url(this.tiles,this.scheme)),de={request:this.map._requestManager.transformRequest(pe,i.ResourceType.Tile),uid:O.uid,tileID:O.tileID,zoom:O.tileID.overscaledZ,tileSize:this.tileSize*O.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:i.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};de.request.collectResourceTiming=this._collectResourceTiming,!O.actor||O.state===\"expired\"?(O.actor=this.dispatcher.getActor(),O.request=O.actor.send(\"loadTile\",de,Ie.bind(this))):O.state===\"loading\"?O.reloadCallback=$:O.request=O.actor.send(\"reloadTile\",de,Ie.bind(this));function Ie($e,pt){if(delete O.request,O.aborted)return $(null);if($e&&$e.status!==404)return $($e);pt&&pt.resourceTiming&&(O.resourceTiming=pt.resourceTiming),this.map._refreshExpiredTiles&&pt&&O.setExpiryData(pt),O.loadVectorData(pt,this.map.painter),i.cacheEntryPossiblyAdded(this.dispatcher),$(null),O.reloadCallback&&(this.loadTile(O,O.reloadCallback),O.reloadCallback=null)}},z.prototype.abortTile=function(O){O.request&&(O.request.cancel(),delete O.request),O.actor&&O.actor.send(\"abortTile\",{uid:O.uid,type:this.type,source:this.id},void 0)},z.prototype.unloadTile=function(O){O.unloadVectorData(),O.actor&&O.actor.send(\"removeTile\",{uid:O.uid,type:this.type,source:this.id},void 0)},z.prototype.hasTransition=function(){return!1},z}(i.Evented),re=function(Y){function z(K,O,$,pe){Y.call(this),this.id=K,this.dispatcher=$,this.setEventedParent(pe),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=i.extend({type:\"raster\"},O),i.extend(this,i.pick(O,[\"url\",\"scheme\",\"tileSize\"]))}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){var O=this;this._loaded=!1,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=G(this._options,this.map._requestManager,function($,pe){O._tileJSONRequest=null,O._loaded=!0,$?O.fire(new i.ErrorEvent($)):pe&&(i.extend(O,pe),pe.bounds&&(O.tileBounds=new N(pe.bounds,O.minzoom,O.maxzoom)),i.postTurnstileEvent(pe.tiles),i.postMapLoadEvent(pe.tiles,O.map._getMapId(),O.map._requestManager._skuToken),O.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),O.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})},z.prototype.loaded=function(){return this._loaded},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},z.prototype.serialize=function(){return i.extend({},this._options)},z.prototype.hasTile=function(O){return!this.tileBounds||this.tileBounds.contains(O.canonical)},z.prototype.loadTile=function(O,$){var pe=this,de=this.map._requestManager.normalizeTileURL(O.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);O.request=i.getImage(this.map._requestManager.transformRequest(de,i.ResourceType.Tile),function(Ie,$e){if(delete O.request,O.aborted)O.state=\"unloaded\",$(null);else if(Ie)O.state=\"errored\",$(Ie);else if($e){pe.map._refreshExpiredTiles&&O.setExpiryData($e),delete $e.cacheControl,delete $e.expires;var pt=pe.map.painter.context,Kt=pt.gl;O.texture=pe.map.painter.getTileTexture($e.width),O.texture?O.texture.update($e,{useMipmap:!0}):(O.texture=new i.Texture(pt,$e,Kt.RGBA,{useMipmap:!0}),O.texture.bind(Kt.LINEAR,Kt.CLAMP_TO_EDGE,Kt.LINEAR_MIPMAP_NEAREST),pt.extTextureFilterAnisotropic&&Kt.texParameterf(Kt.TEXTURE_2D,pt.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,pt.extTextureFilterAnisotropicMax)),O.state=\"loaded\",i.cacheEntryPossiblyAdded(pe.dispatcher),$(null)}})},z.prototype.abortTile=function(O,$){O.request&&(O.request.cancel(),delete O.request),$()},z.prototype.unloadTile=function(O,$){O.texture&&this.map.painter.saveTileTexture(O.texture),$()},z.prototype.hasTransition=function(){return!1},z}(i.Evented),ae=function(Y){function z(K,O,$,pe){Y.call(this,K,O,$,pe),this.type=\"raster-dem\",this.maxzoom=22,this._options=i.extend({type:\"raster-dem\"},O),this.encoding=O.encoding||\"mapbox\"}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.serialize=function(){return{type:\"raster-dem\",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}},z.prototype.loadTile=function(O,$){var pe=this.map._requestManager.normalizeTileURL(O.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);O.request=i.getImage(this.map._requestManager.transformRequest(pe,i.ResourceType.Tile),de.bind(this)),O.neighboringTiles=this._getNeighboringTiles(O.tileID);function de($e,pt){if(delete O.request,O.aborted)O.state=\"unloaded\",$(null);else if($e)O.state=\"errored\",$($e);else if(pt){this.map._refreshExpiredTiles&&O.setExpiryData(pt),delete pt.cacheControl,delete pt.expires;var Kt=i.window.ImageBitmap&&pt instanceof i.window.ImageBitmap&&i.offscreenCanvasSupported(),ir=Kt?pt:i.browser.getImageData(pt,1),Jt={uid:O.uid,coord:O.tileID,source:this.id,rawImageData:ir,encoding:this.encoding};(!O.actor||O.state===\"expired\")&&(O.actor=this.dispatcher.getActor(),O.actor.send(\"loadDEMTile\",Jt,Ie.bind(this)))}}function Ie($e,pt){$e&&(O.state=\"errored\",$($e)),pt&&(O.dem=pt,O.needsHillshadePrepare=!0,O.state=\"loaded\",$(null))}},z.prototype._getNeighboringTiles=function(O){var $=O.canonical,pe=Math.pow(2,$.z),de=($.x-1+pe)%pe,Ie=$.x===0?O.wrap-1:O.wrap,$e=($.x+1+pe)%pe,pt=$.x+1===pe?O.wrap+1:O.wrap,Kt={};return Kt[new i.OverscaledTileID(O.overscaledZ,Ie,$.z,de,$.y).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,pt,$.z,$e,$.y).key]={backfilled:!1},$.y>0&&(Kt[new i.OverscaledTileID(O.overscaledZ,Ie,$.z,de,$.y-1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,O.wrap,$.z,$.x,$.y-1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,pt,$.z,$e,$.y-1).key]={backfilled:!1}),$.y+1<pe&&(Kt[new i.OverscaledTileID(O.overscaledZ,Ie,$.z,de,$.y+1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,O.wrap,$.z,$.x,$.y+1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,pt,$.z,$e,$.y+1).key]={backfilled:!1}),Kt},z.prototype.unloadTile=function(O){O.demTexture&&this.map.painter.saveTileTexture(O.demTexture),O.fbo&&(O.fbo.destroy(),delete O.fbo),O.dem&&delete O.dem,delete O.neighboringTiles,O.state=\"unloaded\",O.actor&&O.actor.send(\"removeDEMTile\",{uid:O.uid,source:this.id})},z}(re),_e=function(Y){function z(K,O,$,pe){Y.call(this),this.id=K,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._loaded=!1,this.actor=$.getActor(),this.setEventedParent(pe),this._data=O.data,this._options=i.extend({},O),this._collectResourceTiming=O.collectResourceTiming,this._resourceTiming=[],O.maxzoom!==void 0&&(this.maxzoom=O.maxzoom),O.type&&(this.type=O.type),O.attribution&&(this.attribution=O.attribution),this.promoteId=O.promoteId;var de=i.EXTENT/this.tileSize;this.workerOptions=i.extend({source:this.id,cluster:O.cluster||!1,geojsonVtOptions:{buffer:(O.buffer!==void 0?O.buffer:128)*de,tolerance:(O.tolerance!==void 0?O.tolerance:.375)*de,extent:i.EXTENT,maxZoom:this.maxzoom,lineMetrics:O.lineMetrics||!1,generateId:O.generateId||!1},superclusterOptions:{maxZoom:O.clusterMaxZoom!==void 0?Math.min(O.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,minPoints:Math.max(2,O.clusterMinPoints||2),extent:i.EXTENT,radius:(O.clusterRadius||50)*de,log:!1,generateId:O.generateId||!1},clusterProperties:O.clusterProperties,filter:O.filter},O.workerOptions)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){var O=this;this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData(function($){if($){O.fire(new i.ErrorEvent($));return}var pe={dataType:\"source\",sourceDataType:\"metadata\"};O._collectResourceTiming&&O._resourceTiming&&O._resourceTiming.length>0&&(pe.resourceTiming=O._resourceTiming,O._resourceTiming=[]),O.fire(new i.Event(\"data\",pe))})},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.setData=function(O){var $=this;return this._data=O,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData(function(pe){if(pe){$.fire(new i.ErrorEvent(pe));return}var de={dataType:\"source\",sourceDataType:\"content\"};$._collectResourceTiming&&$._resourceTiming&&$._resourceTiming.length>0&&(de.resourceTiming=$._resourceTiming,$._resourceTiming=[]),$.fire(new i.Event(\"data\",de))}),this},z.prototype.getClusterExpansionZoom=function(O,$){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:O,source:this.id},$),this},z.prototype.getClusterChildren=function(O,$){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:O,source:this.id},$),this},z.prototype.getClusterLeaves=function(O,$,pe,de){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:O,limit:$,offset:pe},de),this},z.prototype._updateWorkerData=function(O){var $=this;this._loaded=!1;var pe=i.extend({},this.workerOptions),de=this._data;typeof de==\"string\"?(pe.request=this.map._requestManager.transformRequest(i.browser.resolveURL(de),i.ResourceType.Source),pe.request.collectResourceTiming=this._collectResourceTiming):pe.data=JSON.stringify(de),this.actor.send(this.type+\".loadData\",pe,function(Ie,$e){$._removed||$e&&$e.abandoned||($._loaded=!0,$e&&$e.resourceTiming&&$e.resourceTiming[$.id]&&($._resourceTiming=$e.resourceTiming[$.id].slice(0)),$.actor.send($.type+\".coalesce\",{source:pe.source},null),O(Ie))})},z.prototype.loaded=function(){return this._loaded},z.prototype.loadTile=function(O,$){var pe=this,de=O.actor?\"reloadTile\":\"loadTile\";O.actor=this.actor;var Ie={type:this.type,uid:O.uid,tileID:O.tileID,zoom:O.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:i.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};O.request=this.actor.send(de,Ie,function($e,pt){return delete O.request,O.unloadVectorData(),O.aborted?$(null):$e?$($e):(O.loadVectorData(pt,pe.map.painter,de===\"reloadTile\"),$(null))})},z.prototype.abortTile=function(O){O.request&&(O.request.cancel(),delete O.request),O.aborted=!0},z.prototype.unloadTile=function(O){O.unloadVectorData(),this.actor.send(\"removeTile\",{uid:O.uid,type:this.type,source:this.id})},z.prototype.onRemove=function(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id})},z.prototype.serialize=function(){return i.extend({},this._options,{type:this.type,data:this._data})},z.prototype.hasTransition=function(){return!1},z}(i.Evented),Me=i.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]),ke=function(Y){function z(K,O,$,pe){Y.call(this),this.id=K,this.dispatcher=$,this.coordinates=O.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(pe),this.options=O}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(O,$){var pe=this;this._loaded=!1,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,i.getImage(this.map._requestManager.transformRequest(this.url,i.ResourceType.Image),function(de,Ie){pe._loaded=!0,de?pe.fire(new i.ErrorEvent(de)):Ie&&(pe.image=Ie,O&&(pe.coordinates=O),$&&$(),pe._finishLoading())})},z.prototype.loaded=function(){return this._loaded},z.prototype.updateImage=function(O){var $=this;return!this.image||!O.url?this:(this.options.url=O.url,this.load(O.coordinates,function(){$.texture=null}),this)},z.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.setCoordinates=function(O){var $=this;this.coordinates=O;var pe=O.map(i.MercatorCoordinate.fromLngLat);this.tileID=ge(pe),this.minzoom=this.maxzoom=this.tileID.z;var de=pe.map(function(Ie){return $.tileID.getTilePoint(Ie)._round()});return this._boundsArray=new i.StructArrayLayout4i8,this._boundsArray.emplaceBack(de[0].x,de[0].y,0,0),this._boundsArray.emplaceBack(de[1].x,de[1].y,i.EXTENT,0),this._boundsArray.emplaceBack(de[3].x,de[3].y,0,i.EXTENT),this._boundsArray.emplaceBack(de[2].x,de[2].y,i.EXTENT,i.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this},z.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||!this.image)){var O=this.map.painter.context,$=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new i.Texture(O,this.image,$.RGBA),this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE));for(var pe in this.tiles){var de=this.tiles[pe];de.state!==\"loaded\"&&(de.state=\"loaded\",de.texture=this.texture)}}},z.prototype.loadTile=function(O,$){this.tileID&&this.tileID.equals(O.tileID.canonical)?(this.tiles[String(O.tileID.wrap)]=O,O.buckets={},$(null)):(O.state=\"errored\",$(null))},z.prototype.serialize=function(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}},z.prototype.hasTransition=function(){return!1},z}(i.Evented);function ge(Y){for(var z=1/0,K=1/0,O=-1/0,$=-1/0,pe=0,de=Y;pe<de.length;pe+=1){var Ie=de[pe];z=Math.min(z,Ie.x),K=Math.min(K,Ie.y),O=Math.max(O,Ie.x),$=Math.max($,Ie.y)}var $e=O-z,pt=$-K,Kt=Math.max($e,pt),ir=Math.max(0,Math.floor(-Math.log(Kt)/Math.LN2)),Jt=Math.pow(2,ir);return new i.CanonicalTileID(ir,Math.floor((z+O)/2*Jt),Math.floor((K+$)/2*Jt))}var ie=function(Y){function z(K,O,$,pe){Y.call(this,K,O,$,pe),this.roundZoom=!0,this.type=\"video\",this.options=O}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){var O=this;this._loaded=!1;var $=this.options;this.urls=[];for(var pe=0,de=$.urls;pe<de.length;pe+=1){var Ie=de[pe];this.urls.push(this.map._requestManager.transformRequest(Ie,i.ResourceType.Source).url)}i.getVideo(this.urls,function($e,pt){O._loaded=!0,$e?O.fire(new i.ErrorEvent($e)):pt&&(O.video=pt,O.video.loop=!0,O.video.addEventListener(\"playing\",function(){O.map.triggerRepaint()}),O.map&&O.video.play(),O._finishLoading())})},z.prototype.pause=function(){this.video&&this.video.pause()},z.prototype.play=function(){this.video&&this.video.play()},z.prototype.seek=function(O){if(this.video){var $=this.video.seekable;O<$.start(0)||O>$.end(0)?this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+this.id,null,\"Playback for this video can be set only between the \"+$.start(0)+\" and \"+$.end(0)+\"-second mark.\"))):this.video.currentTime=O}},z.prototype.getVideo=function(){return this.video},z.prototype.onAdd=function(O){this.map||(this.map=O,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},z.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||this.video.readyState<2)){var O=this.map.painter.context,$=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE),$.texSubImage2D($.TEXTURE_2D,0,0,0,$.RGBA,$.UNSIGNED_BYTE,this.video)):(this.texture=new i.Texture(O,this.video,$.RGBA),this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE));for(var pe in this.tiles){var de=this.tiles[pe];de.state!==\"loaded\"&&(de.state=\"loaded\",de.texture=this.texture)}}},z.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},z.prototype.hasTransition=function(){return this.video&&!this.video.paused},z}(ke),Te=function(Y){function z(K,O,$,pe){Y.call(this,K,O,$,pe),O.coordinates?(!Array.isArray(O.coordinates)||O.coordinates.length!==4||O.coordinates.some(function(de){return!Array.isArray(de)||de.length!==2||de.some(function(Ie){return typeof Ie!=\"number\"})}))&&this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'missing required property \"coordinates\"'))),O.animate&&typeof O.animate!=\"boolean\"&&this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'optional \"animate\" property must be a boolean value'))),O.canvas?typeof O.canvas!=\"string\"&&!(O.canvas instanceof i.window.HTMLCanvasElement)&&this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,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 i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'missing required property \"canvas\"'))),this.options=O,this.animate=O.animate!==void 0?O.animate:!0}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){if(this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof i.window.HTMLCanvasElement?this.options.canvas:i.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()){this.fire(new i.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\")));return}this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading()},z.prototype.getCanvas=function(){return this.canvas},z.prototype.onAdd=function(O){this.map=O,this.load(),this.canvas&&this.animate&&this.play()},z.prototype.onRemove=function(){this.pause()},z.prototype.prepare=function(){var O=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,O=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,O=!0),!this._hasInvalidDimensions()&&Object.keys(this.tiles).length!==0){var $=this.map.painter.context,pe=$.gl;this.boundsBuffer||(this.boundsBuffer=$.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(O||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new i.Texture($,this.canvas,pe.RGBA,{premultiply:!0});for(var de in this.tiles){var Ie=this.tiles[de];Ie.state!==\"loaded\"&&(Ie.state=\"loaded\",Ie.texture=this.texture)}}},z.prototype.serialize=function(){return{type:\"canvas\",coordinates:this.coordinates}},z.prototype.hasTransition=function(){return this._playing},z.prototype._hasInvalidDimensions=function(){for(var O=0,$=[this.canvas.width,this.canvas.height];O<$.length;O+=1){var pe=$[O];if(isNaN(pe)||pe<=0)return!0}return!1},z}(ke),Ee={vector:W,raster:re,\"raster-dem\":ae,geojson:_e,video:ie,image:ke,canvas:Te},Ae=function(Y,z,K,O){var $=new Ee[z.type](Y,z,K,O);if($.id!==Y)throw new Error(\"Expected Source id to be \"+Y+\" instead of \"+$.id);return i.bindAll([\"load\",\"abort\",\"unload\",\"serialize\",\"prepare\"],$),$},ze=function(Y){return Ee[Y]},Ce=function(Y,z){Ee[Y]=z};function me(Y,z){var K=i.identity([]);return i.translate(K,K,[1,1,0]),i.scale(K,K,[Y.width*.5,Y.height*.5,1]),i.multiply(K,K,Y.calculatePosMatrix(z.toUnwrapped()))}function Re(Y,z,K){if(Y)for(var O=0,$=Y;O<$.length;O+=1){var pe=$[O],de=z[pe];if(de&&de.source===K&&de.type===\"fill-extrusion\")return!0}else for(var Ie in z){var $e=z[Ie];if($e.source===K&&$e.type===\"fill-extrusion\")return!0}return!1}function ce(Y,z,K,O,$,pe){var de=Re($&&$.layers,z,Y.id),Ie=pe.maxPitchScaleFactor(),$e=Y.tilesIn(O,Ie,de);$e.sort(ct);for(var pt=[],Kt=0,ir=$e;Kt<ir.length;Kt+=1){var Jt=ir[Kt];pt.push({wrappedTileID:Jt.tileID.wrapped().key,queryResults:Jt.tile.queryRenderedFeatures(z,K,Y._state,Jt.queryGeometry,Jt.cameraQueryGeometry,Jt.scale,$,pe,Ie,me(Y.transform,Jt.tileID))})}var vt=qt(pt);for(var Pt in vt)vt[Pt].forEach(function(Wt){var rr=Wt.feature,dr=Y.getFeatureState(rr.layer[\"source-layer\"],rr.id);rr.source=rr.layer.source,rr.layer[\"source-layer\"]&&(rr.sourceLayer=rr.layer[\"source-layer\"]),rr.state=dr});return vt}function Ge(Y,z,K,O,$,pe,de){for(var Ie={},$e=pe.queryRenderedSymbols(O),pt=[],Kt=0,ir=Object.keys($e).map(Number);Kt<ir.length;Kt+=1){var Jt=ir[Kt];pt.push(de[Jt])}pt.sort(ct);for(var vt=function(){var pr=Wt[Pt],kr=pr.featureIndex.lookupSymbolFeatures($e[pr.bucketInstanceId],z,pr.bucketIndex,pr.sourceLayerIndex,$.filter,$.layers,$.availableImages,Y);for(var Ar in kr){var gr=Ie[Ar]=Ie[Ar]||[],Cr=kr[Ar];Cr.sort(function(yi,tn){var Ri=pr.featureSortOrder;if(Ri){var ln=Ri.indexOf(yi.featureIndex),Qn=Ri.indexOf(tn.featureIndex);return Qn-ln}else return tn.featureIndex-yi.featureIndex});for(var cr=0,Gr=Cr;cr<Gr.length;cr+=1){var ei=Gr[cr];gr.push(ei)}}},Pt=0,Wt=pt;Pt<Wt.length;Pt+=1)vt();var rr=function(pr){Ie[pr].forEach(function(kr){var Ar=kr.feature,gr=Y[pr],Cr=K[gr.source],cr=Cr.getFeatureState(Ar.layer[\"source-layer\"],Ar.id);Ar.source=Ar.layer.source,Ar.layer[\"source-layer\"]&&(Ar.sourceLayer=Ar.layer[\"source-layer\"]),Ar.state=cr})};for(var dr in Ie)rr(dr);return Ie}function nt(Y,z){for(var K=Y.getRenderableIds().map(function($e){return Y.getTileByID($e)}),O=[],$={},pe=0;pe<K.length;pe++){var de=K[pe],Ie=de.tileID.canonical.key;$[Ie]||($[Ie]=!0,de.querySourceFeatures(O,z))}return O}function ct(Y,z){var K=Y.tileID,O=z.tileID;return K.overscaledZ-O.overscaledZ||K.canonical.y-O.canonical.y||K.wrap-O.wrap||K.canonical.x-O.canonical.x}function qt(Y){for(var z={},K={},O=0,$=Y;O<$.length;O+=1){var pe=$[O],de=pe.queryResults,Ie=pe.wrappedTileID,$e=K[Ie]=K[Ie]||{};for(var pt in de)for(var Kt=de[pt],ir=$e[pt]=$e[pt]||{},Jt=z[pt]=z[pt]||[],vt=0,Pt=Kt;vt<Pt.length;vt+=1){var Wt=Pt[vt];ir[Wt.featureIndex]||(ir[Wt.featureIndex]=!0,Jt.push(Wt))}}return z}var rt=function(z,K){this.max=z,this.onRemove=K,this.reset()};rt.prototype.reset=function(){for(var z in this.data)for(var K=0,O=this.data[z];K<O.length;K+=1){var $=O[K];$.timeout&&clearTimeout($.timeout),this.onRemove($.value)}return this.data={},this.order=[],this},rt.prototype.add=function(z,K,O){var $=this,pe=z.wrapped().key;this.data[pe]===void 0&&(this.data[pe]=[]);var de={value:K,timeout:void 0};if(O!==void 0&&(de.timeout=setTimeout(function(){$.remove(z,de)},O)),this.data[pe].push(de),this.order.push(pe),this.order.length>this.max){var Ie=this._getAndRemoveByKey(this.order[0]);Ie&&this.onRemove(Ie)}return this},rt.prototype.has=function(z){return z.wrapped().key in this.data},rt.prototype.getAndRemove=function(z){return this.has(z)?this._getAndRemoveByKey(z.wrapped().key):null},rt.prototype._getAndRemoveByKey=function(z){var K=this.data[z].shift();return K.timeout&&clearTimeout(K.timeout),this.data[z].length===0&&delete this.data[z],this.order.splice(this.order.indexOf(z),1),K.value},rt.prototype.getByKey=function(z){var K=this.data[z];return K?K[0].value:null},rt.prototype.get=function(z){if(!this.has(z))return null;var K=this.data[z.wrapped().key][0];return K.value},rt.prototype.remove=function(z,K){if(!this.has(z))return this;var O=z.wrapped().key,$=K===void 0?0:this.data[O].indexOf(K),pe=this.data[O][$];return this.data[O].splice($,1),pe.timeout&&clearTimeout(pe.timeout),this.data[O].length===0&&delete this.data[O],this.onRemove(pe.value),this.order.splice(this.order.indexOf(O),1),this},rt.prototype.setMaxSize=function(z){for(this.max=z;this.order.length>this.max;){var K=this._getAndRemoveByKey(this.order[0]);K&&this.onRemove(K)}return this},rt.prototype.filter=function(z){var K=[];for(var O in this.data)for(var $=0,pe=this.data[O];$<pe.length;$+=1){var de=pe[$];z(de.value)||K.push(de)}for(var Ie=0,$e=K;Ie<$e.length;Ie+=1){var pt=$e[Ie];this.remove(pt.value.tileID,pt)}};var ot=function(z,K,O){this.context=z;var $=z.gl;this.buffer=$.createBuffer(),this.dynamicDraw=!!O,this.context.unbindVAO(),z.bindElementBuffer.set(this.buffer),$.bufferData($.ELEMENT_ARRAY_BUFFER,K.arrayBuffer,this.dynamicDraw?$.DYNAMIC_DRAW:$.STATIC_DRAW),this.dynamicDraw||delete K.arrayBuffer};ot.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},ot.prototype.updateData=function(z){var K=this.context.gl;this.context.unbindVAO(),this.bind(),K.bufferSubData(K.ELEMENT_ARRAY_BUFFER,0,z.arrayBuffer)},ot.prototype.destroy=function(){var z=this.context.gl;this.buffer&&(z.deleteBuffer(this.buffer),delete this.buffer)};var Rt={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"},kt=function(z,K,O,$){this.length=K.length,this.attributes=O,this.itemSize=K.bytesPerElement,this.dynamicDraw=$,this.context=z;var pe=z.gl;this.buffer=pe.createBuffer(),z.bindVertexBuffer.set(this.buffer),pe.bufferData(pe.ARRAY_BUFFER,K.arrayBuffer,this.dynamicDraw?pe.DYNAMIC_DRAW:pe.STATIC_DRAW),this.dynamicDraw||delete K.arrayBuffer};kt.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},kt.prototype.updateData=function(z){var K=this.context.gl;this.bind(),K.bufferSubData(K.ARRAY_BUFFER,0,z.arrayBuffer)},kt.prototype.enableAttributes=function(z,K){for(var O=0;O<this.attributes.length;O++){var $=this.attributes[O],pe=K.attributes[$.name];pe!==void 0&&z.enableVertexAttribArray(pe)}},kt.prototype.setVertexAttribPointers=function(z,K,O){for(var $=0;$<this.attributes.length;$++){var pe=this.attributes[$],de=K.attributes[pe.name];de!==void 0&&z.vertexAttribPointer(de,pe.components,z[Rt[pe.type]],!1,this.itemSize,pe.offset+this.itemSize*(O||0))}},kt.prototype.destroy=function(){var z=this.context.gl;this.buffer&&(z.deleteBuffer(this.buffer),delete this.buffer)};var Ct=function(z){this.gl=z.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1};Ct.prototype.get=function(){return this.current},Ct.prototype.set=function(z){},Ct.prototype.getDefault=function(){return this.default},Ct.prototype.setDefault=function(){this.set(this.default)};var Yt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return i.Color.transparent},z.prototype.set=function(O){var $=this.current;O.r===$.r&&O.g===$.g&&O.b===$.b&&O.a===$.a&&!this.dirty||(this.gl.clearColor(O.r,O.g,O.b,O.a),this.current=O,this.dirty=!1)},z}(Ct),xr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return 1},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.clearDepth(O),this.current=O,this.dirty=!1)},z}(Ct),er=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return 0},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.clearStencil(O),this.current=O,this.dirty=!1)},z}(Ct),Ke=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return[!0,!0,!0,!0]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&O[2]===$[2]&&O[3]===$[3]&&!this.dirty||(this.gl.colorMask(O[0],O[1],O[2],O[3]),this.current=O,this.dirty=!1)},z}(Ct),xt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!0},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.depthMask(O),this.current=O,this.dirty=!1)},z}(Ct),bt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return 255},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.stencilMask(O),this.current=O,this.dirty=!1)},z}(Ct),Lt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return{func:this.gl.ALWAYS,ref:0,mask:255}},z.prototype.set=function(O){var $=this.current;O.func===$.func&&O.ref===$.ref&&O.mask===$.mask&&!this.dirty||(this.gl.stencilFunc(O.func,O.ref,O.mask),this.current=O,this.dirty=!1)},z}(Ct),St=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){var O=this.gl;return[O.KEEP,O.KEEP,O.KEEP]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&O[2]===$[2]&&!this.dirty||(this.gl.stencilOp(O[0],O[1],O[2]),this.current=O,this.dirty=!1)},z}(Ct),Et=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;O?$.enable($.STENCIL_TEST):$.disable($.STENCIL_TEST),this.current=O,this.dirty=!1}},z}(Ct),dt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return[0,1]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&!this.dirty||(this.gl.depthRange(O[0],O[1]),this.current=O,this.dirty=!1)},z}(Ct),Ht=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;O?$.enable($.DEPTH_TEST):$.disable($.DEPTH_TEST),this.current=O,this.dirty=!1}},z}(Ct),$t=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.LESS},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.depthFunc(O),this.current=O,this.dirty=!1)},z}(Ct),fr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;O?$.enable($.BLEND):$.disable($.BLEND),this.current=O,this.dirty=!1}},z}(Ct),_r=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){var O=this.gl;return[O.ONE,O.ZERO]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&!this.dirty||(this.gl.blendFunc(O[0],O[1]),this.current=O,this.dirty=!1)},z}(Ct),Br=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return i.Color.transparent},z.prototype.set=function(O){var $=this.current;O.r===$.r&&O.g===$.g&&O.b===$.b&&O.a===$.a&&!this.dirty||(this.gl.blendColor(O.r,O.g,O.b,O.a),this.current=O,this.dirty=!1)},z}(Ct),Or=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.FUNC_ADD},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.blendEquation(O),this.current=O,this.dirty=!1)},z}(Ct),Nr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;O?$.enable($.CULL_FACE):$.disable($.CULL_FACE),this.current=O,this.dirty=!1}},z}(Ct),ut=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.BACK},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.cullFace(O),this.current=O,this.dirty=!1)},z}(Ct),Ne=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.CCW},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.frontFace(O),this.current=O,this.dirty=!1)},z}(Ct),Ye=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.useProgram(O),this.current=O,this.dirty=!1)},z}(Ct),Ve=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.TEXTURE0},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.activeTexture(O),this.current=O,this.dirty=!1)},z}(Ct),Xe=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){var O=this.gl;return[0,0,O.drawingBufferWidth,O.drawingBufferHeight]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&O[2]===$[2]&&O[3]===$[3]&&!this.dirty||(this.gl.viewport(O[0],O[1],O[2],O[3]),this.current=O,this.dirty=!1)},z}(Ct),ht=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.bindFramebuffer($.FRAMEBUFFER,O),this.current=O,this.dirty=!1}},z}(Ct),Le=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.bindRenderbuffer($.RENDERBUFFER,O),this.current=O,this.dirty=!1}},z}(Ct),xe=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.bindTexture($.TEXTURE_2D,O),this.current=O,this.dirty=!1}},z}(Ct),Se=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.bindBuffer($.ARRAY_BUFFER,O),this.current=O,this.dirty=!1}},z}(Ct),lt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){var $=this.gl;$.bindBuffer($.ELEMENT_ARRAY_BUFFER,O),this.current=O,this.dirty=!1},z}(Ct),Gt=function(Y){function z(K){Y.call(this,K),this.vao=K.extVertexArrayObject}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){!this.vao||O===this.current&&!this.dirty||(this.vao.bindVertexArrayOES(O),this.current=O,this.dirty=!1)},z}(Ct),Vt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return 4},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.pixelStorei($.UNPACK_ALIGNMENT,O),this.current=O,this.dirty=!1}},z}(Ct),ar=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.pixelStorei($.UNPACK_PREMULTIPLY_ALPHA_WEBGL,O),this.current=O,this.dirty=!1}},z}(Ct),Qr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.pixelStorei($.UNPACK_FLIP_Y_WEBGL,O),this.current=O,this.dirty=!1}},z}(Ct),ai=function(Y){function z(K,O){Y.call(this,K),this.context=K,this.parent=O}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z}(Ct),jr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.setDirty=function(){this.dirty=!0},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){this.context.bindFramebuffer.set(this.parent);var $=this.gl;$.framebufferTexture2D($.FRAMEBUFFER,$.COLOR_ATTACHMENT0,$.TEXTURE_2D,O,0),this.current=O,this.dirty=!1}},z}(ai),ri=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){this.context.bindFramebuffer.set(this.parent);var $=this.gl;$.framebufferRenderbuffer($.FRAMEBUFFER,$.DEPTH_ATTACHMENT,$.RENDERBUFFER,O),this.current=O,this.dirty=!1}},z}(ai),bi=function(z,K,O,$){this.context=z,this.width=K,this.height=O;var pe=z.gl,de=this.framebuffer=pe.createFramebuffer();this.colorAttachment=new jr(z,de),$&&(this.depthAttachment=new ri(z,de))};bi.prototype.destroy=function(){var z=this.context.gl,K=this.colorAttachment.get();if(K&&z.deleteTexture(K),this.depthAttachment){var O=this.depthAttachment.get();O&&z.deleteRenderbuffer(O)}z.deleteFramebuffer(this.framebuffer)};var nn=519,Wi=function(z,K,O){this.func=z,this.mask=K,this.range=O};Wi.ReadOnly=!1,Wi.ReadWrite=!0,Wi.disabled=new Wi(nn,Wi.ReadOnly,[0,1]);var Ni=519,_n=7680,$i=function(z,K,O,$,pe,de){this.test=z,this.ref=K,this.mask=O,this.fail=$,this.depthFail=pe,this.pass=de};$i.disabled=new $i({func:Ni,mask:0},0,0,_n,_n,_n);var zn=0,Wn=1,It=771,ft=function(z,K,O){this.blendFunction=z,this.blendColor=K,this.mask=O};ft.Replace=[Wn,zn],ft.disabled=new ft(ft.Replace,i.Color.transparent,[!1,!1,!1,!1]),ft.unblended=new ft(ft.Replace,i.Color.transparent,[!0,!0,!0,!0]),ft.alphaBlended=new ft([Wn,It],i.Color.transparent,[!0,!0,!0,!0]);var jt=1029,Zt=2305,yr=function(z,K,O){this.enable=z,this.mode=K,this.frontFace=O};yr.disabled=new yr(!1,jt,Zt),yr.backCCW=new yr(!0,jt,Zt);var Fr=function(z){this.gl=z,this.extVertexArrayObject=this.gl.getExtension(\"OES_vertex_array_object\"),this.clearColor=new Yt(this),this.clearDepth=new xr(this),this.clearStencil=new er(this),this.colorMask=new Ke(this),this.depthMask=new xt(this),this.stencilMask=new bt(this),this.stencilFunc=new Lt(this),this.stencilOp=new St(this),this.stencilTest=new Et(this),this.depthRange=new dt(this),this.depthTest=new Ht(this),this.depthFunc=new $t(this),this.blend=new fr(this),this.blendFunc=new _r(this),this.blendColor=new Br(this),this.blendEquation=new Or(this),this.cullFace=new Nr(this),this.cullFaceSide=new ut(this),this.frontFace=new Ne(this),this.program=new Ye(this),this.activeTexture=new Ve(this),this.viewport=new Xe(this),this.bindFramebuffer=new ht(this),this.bindRenderbuffer=new Le(this),this.bindTexture=new xe(this),this.bindVertexBuffer=new Se(this),this.bindElementBuffer=new lt(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new Gt(this),this.pixelStoreUnpack=new Vt(this),this.pixelStoreUnpackPremultiplyAlpha=new ar(this),this.pixelStoreUnpackFlipY=new Qr(this),this.extTextureFilterAnisotropic=z.getExtension(\"EXT_texture_filter_anisotropic\")||z.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||z.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=z.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=z.getExtension(\"OES_texture_half_float\"),this.extTextureHalfFloat&&(z.getExtension(\"OES_texture_half_float_linear\"),this.extRenderToTextureHalfFloat=z.getExtension(\"EXT_color_buffer_half_float\")),this.extTimerQuery=z.getExtension(\"EXT_disjoint_timer_query\"),this.maxTextureSize=z.getParameter(z.MAX_TEXTURE_SIZE)};Fr.prototype.setDefault=function(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()},Fr.prototype.setDirty=function(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.extVertexArrayObject&&(this.bindVertexArrayOES.dirty=!0),this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0},Fr.prototype.createIndexBuffer=function(z,K){return new ot(this,z,K)},Fr.prototype.createVertexBuffer=function(z,K,O){return new kt(this,z,K,O)},Fr.prototype.createRenderbuffer=function(z,K,O){var $=this.gl,pe=$.createRenderbuffer();return this.bindRenderbuffer.set(pe),$.renderbufferStorage($.RENDERBUFFER,z,K,O),this.bindRenderbuffer.set(null),pe},Fr.prototype.createFramebuffer=function(z,K,O){return new bi(this,z,K,O)},Fr.prototype.clear=function(z){var K=z.color,O=z.depth,$=this.gl,pe=0;K&&(pe|=$.COLOR_BUFFER_BIT,this.clearColor.set(K),this.colorMask.set([!0,!0,!0,!0])),typeof O!=\"undefined\"&&(pe|=$.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(O),this.depthMask.set(!0)),$.clear(pe)},Fr.prototype.setCullFace=function(z){z.enable===!1?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(z.mode),this.frontFace.set(z.frontFace))},Fr.prototype.setDepthMode=function(z){z.func===this.gl.ALWAYS&&!z.mask?this.depthTest.set(!1):(this.depthTest.set(!0),this.depthFunc.set(z.func),this.depthMask.set(z.mask),this.depthRange.set(z.range))},Fr.prototype.setStencilMode=function(z){z.test.func===this.gl.ALWAYS&&!z.mask?this.stencilTest.set(!1):(this.stencilTest.set(!0),this.stencilMask.set(z.mask),this.stencilOp.set([z.fail,z.depthFail,z.pass]),this.stencilFunc.set({func:z.test.func,ref:z.ref,mask:z.test.mask}))},Fr.prototype.setColorMode=function(z){i.deepEqual(z.blendFunction,ft.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(z.blendFunction),this.blendColor.set(z.blendColor)),this.colorMask.set(z.mask)},Fr.prototype.unbindVAO=function(){this.extVertexArrayObject&&this.bindVertexArrayOES.set(null)};var Zr=function(Y){function z(K,O,$){var pe=this;Y.call(this),this.id=K,this.dispatcher=$,this.on(\"data\",function(de){de.dataType===\"source\"&&de.sourceDataType===\"metadata\"&&(pe._sourceLoaded=!0),pe._sourceLoaded&&!pe._paused&&de.dataType===\"source\"&&de.sourceDataType===\"content\"&&(pe.reload(),pe.transform&&pe.update(pe.transform))}),this.on(\"error\",function(){pe._sourceErrored=!0}),this._source=Ae(K,O,$,this),this._tiles={},this._cache=new rt(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new i.SourceFeatureState}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.onAdd=function(O){this.map=O,this._maxTileCacheSize=O?O._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(O)},z.prototype.onRemove=function(O){this._source&&this._source.onRemove&&this._source.onRemove(O)},z.prototype.loaded=function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;for(var O in this._tiles){var $=this._tiles[O];if($.state!==\"loaded\"&&$.state!==\"errored\")return!1}return!0},z.prototype.getSource=function(){return this._source},z.prototype.pause=function(){this._paused=!0},z.prototype.resume=function(){if(this._paused){var O=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,O&&this.reload(),this.transform&&this.update(this.transform)}},z.prototype._loadTile=function(O,$){return this._source.loadTile(O,$)},z.prototype._unloadTile=function(O){if(this._source.unloadTile)return this._source.unloadTile(O,function(){})},z.prototype._abortTile=function(O){if(this._source.abortTile)return this._source.abortTile(O,function(){})},z.prototype.serialize=function(){return this._source.serialize()},z.prototype.prepare=function(O){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(var $ in this._tiles){var pe=this._tiles[$];pe.upload(O),pe.prepare(this.map.style.imageManager)}},z.prototype.getIds=function(){return i.values(this._tiles).map(function(O){return O.tileID}).sort(Vr).map(function(O){return O.key})},z.prototype.getRenderableIds=function(O){var $=this,pe=[];for(var de in this._tiles)this._isIdRenderable(de,O)&&pe.push(this._tiles[de]);return O?pe.sort(function(Ie,$e){var pt=Ie.tileID,Kt=$e.tileID,ir=new i.Point(pt.canonical.x,pt.canonical.y)._rotate($.transform.angle),Jt=new i.Point(Kt.canonical.x,Kt.canonical.y)._rotate($.transform.angle);return pt.overscaledZ-Kt.overscaledZ||Jt.y-ir.y||Jt.x-ir.x}).map(function(Ie){return Ie.tileID.key}):pe.map(function(Ie){return Ie.tileID}).sort(Vr).map(function(Ie){return Ie.key})},z.prototype.hasRenderableParent=function(O){var $=this.findLoadedParent(O,0);return $?this._isIdRenderable($.tileID.key):!1},z.prototype._isIdRenderable=function(O,$){return this._tiles[O]&&this._tiles[O].hasData()&&!this._coveredTiles[O]&&($||!this._tiles[O].holdingForFade())},z.prototype.reload=function(){if(this._paused){this._shouldReloadOnResume=!0;return}this._cache.reset();for(var O in this._tiles)this._tiles[O].state!==\"errored\"&&this._reloadTile(O,\"reloading\")},z.prototype._reloadTile=function(O,$){var pe=this._tiles[O];pe&&(pe.state!==\"loading\"&&(pe.state=$),this._loadTile(pe,this._tileLoaded.bind(this,pe,O,$)))},z.prototype._tileLoaded=function(O,$,pe,de){if(de){O.state=\"errored\",de.status!==404?this._source.fire(new i.ErrorEvent(de,{tile:O})):this.update(this.transform);return}O.timeAdded=i.browser.now(),pe===\"expired\"&&(O.refreshedUponExpiration=!0),this._setTileReloadTimer($,O),this.getSource().type===\"raster-dem\"&&O.dem&&this._backfillDEM(O),this._state.initializeTileState(O,this.map?this.map.painter:null),this._source.fire(new i.Event(\"data\",{dataType:\"source\",tile:O,coord:O.tileID}))},z.prototype._backfillDEM=function(O){for(var $=this.getRenderableIds(),pe=0;pe<$.length;pe++){var de=$[pe];if(O.neighboringTiles&&O.neighboringTiles[de]){var Ie=this.getTileByID(de);$e(O,Ie),$e(Ie,O)}}function $e(pt,Kt){pt.needsHillshadePrepare=!0;var ir=Kt.tileID.canonical.x-pt.tileID.canonical.x,Jt=Kt.tileID.canonical.y-pt.tileID.canonical.y,vt=Math.pow(2,pt.tileID.canonical.z),Pt=Kt.tileID.key;ir===0&&Jt===0||Math.abs(Jt)>1||(Math.abs(ir)>1&&(Math.abs(ir+vt)===1?ir+=vt:Math.abs(ir-vt)===1&&(ir-=vt)),!(!Kt.dem||!pt.dem)&&(pt.dem.backfillBorder(Kt.dem,ir,Jt),pt.neighboringTiles&&pt.neighboringTiles[Pt]&&(pt.neighboringTiles[Pt].backfilled=!0)))}},z.prototype.getTile=function(O){return this.getTileByID(O.key)},z.prototype.getTileByID=function(O){return this._tiles[O]},z.prototype._retainLoadedChildren=function(O,$,pe,de){for(var Ie in this._tiles){var $e=this._tiles[Ie];if(!(de[Ie]||!$e.hasData()||$e.tileID.overscaledZ<=$||$e.tileID.overscaledZ>pe)){for(var pt=$e.tileID;$e&&$e.tileID.overscaledZ>$+1;){var Kt=$e.tileID.scaledTo($e.tileID.overscaledZ-1);$e=this._tiles[Kt.key],$e&&$e.hasData()&&(pt=Kt)}for(var ir=pt;ir.overscaledZ>$;)if(ir=ir.scaledTo(ir.overscaledZ-1),O[ir.key]){de[pt.key]=pt;break}}}},z.prototype.findLoadedParent=function(O,$){if(O.key in this._loadedParentTiles){var pe=this._loadedParentTiles[O.key];return pe&&pe.tileID.overscaledZ>=$?pe:null}for(var de=O.overscaledZ-1;de>=$;de--){var Ie=O.scaledTo(de),$e=this._getLoadedTile(Ie);if($e)return $e}},z.prototype._getLoadedTile=function(O){var $=this._tiles[O.key];if($&&$.hasData())return $;var pe=this._cache.getByKey(O.wrapped().key);return pe},z.prototype.updateCacheSize=function(O){var $=Math.ceil(O.width/this._source.tileSize)+1,pe=Math.ceil(O.height/this._source.tileSize)+1,de=$*pe,Ie=5,$e=Math.floor(de*Ie),pt=typeof this._maxTileCacheSize==\"number\"?Math.min(this._maxTileCacheSize,$e):$e;this._cache.setMaxSize(pt)},z.prototype.handleWrapJump=function(O){var $=this._prevLng===void 0?O:this._prevLng,pe=O-$,de=pe/360,Ie=Math.round(de);if(this._prevLng=O,Ie){var $e={};for(var pt in this._tiles){var Kt=this._tiles[pt];Kt.tileID=Kt.tileID.unwrapTo(Kt.tileID.wrap+Ie),$e[Kt.tileID.key]=Kt}this._tiles=$e;for(var ir in this._timers)clearTimeout(this._timers[ir]),delete this._timers[ir];for(var Jt in this._tiles){var vt=this._tiles[Jt];this._setTileReloadTimer(Jt,vt)}}},z.prototype.update=function(O){var $=this;if(this.transform=O,!(!this._sourceLoaded||this._paused)){this.updateCacheSize(O),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={};var pe;this.used?this._source.tileID?pe=O.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(yi){return new i.OverscaledTileID(yi.canonical.z,yi.wrap,yi.canonical.z,yi.canonical.x,yi.canonical.y)}):(pe=O.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(pe=pe.filter(function(yi){return $._source.hasTile(yi)}))):pe=[];var de=O.coveringZoomLevel(this._source),Ie=Math.max(de-z.maxOverzooming,this._source.minzoom),$e=Math.max(de+z.maxUnderzooming,this._source.minzoom),pt=this._updateRetainedTiles(pe,de);if(gi(this._source.type)){for(var Kt={},ir={},Jt=Object.keys(pt),vt=0,Pt=Jt;vt<Pt.length;vt+=1){var Wt=Pt[vt],rr=pt[Wt],dr=this._tiles[Wt];if(!(!dr||dr.fadeEndTime&&dr.fadeEndTime<=i.browser.now())){var pr=this.findLoadedParent(rr,Ie);pr&&(this._addTile(pr.tileID),Kt[pr.tileID.key]=pr.tileID),ir[Wt]=rr}}this._retainLoadedChildren(ir,de,$e,pt);for(var kr in Kt)pt[kr]||(this._coveredTiles[kr]=!0,pt[kr]=Kt[kr])}for(var Ar in pt)this._tiles[Ar].clearFadeHold();for(var gr=i.keysDifference(this._tiles,pt),Cr=0,cr=gr;Cr<cr.length;Cr+=1){var Gr=cr[Cr],ei=this._tiles[Gr];ei.hasSymbolBuckets&&!ei.holdingForFade()?ei.setHoldDuration(this.map._fadeDuration):(!ei.hasSymbolBuckets||ei.symbolFadeFinished())&&this._removeTile(Gr)}this._updateLoadedParentTileCache()}},z.prototype.releaseSymbolFadeTiles=function(){for(var O in this._tiles)this._tiles[O].holdingForFade()&&this._removeTile(O)},z.prototype._updateRetainedTiles=function(O,$){for(var pe={},de={},Ie=Math.max($-z.maxOverzooming,this._source.minzoom),$e=Math.max($+z.maxUnderzooming,this._source.minzoom),pt={},Kt=0,ir=O;Kt<ir.length;Kt+=1){var Jt=ir[Kt],vt=this._addTile(Jt);pe[Jt.key]=Jt,!vt.hasData()&&$<this._source.maxzoom&&(pt[Jt.key]=Jt)}this._retainLoadedChildren(pt,$,$e,pe);for(var Pt=0,Wt=O;Pt<Wt.length;Pt+=1){var rr=Wt[Pt],dr=this._tiles[rr.key];if(!dr.hasData()){if($+1>this._source.maxzoom){var pr=rr.children(this._source.maxzoom)[0],kr=this.getTile(pr);if(kr&&kr.hasData()){pe[pr.key]=pr;continue}}else{var Ar=rr.children(this._source.maxzoom);if(pe[Ar[0].key]&&pe[Ar[1].key]&&pe[Ar[2].key]&&pe[Ar[3].key])continue}for(var gr=dr.wasRequested(),Cr=rr.overscaledZ-1;Cr>=Ie;--Cr){var cr=rr.scaledTo(Cr);if(de[cr.key]||(de[cr.key]=!0,dr=this.getTile(cr),!dr&&gr&&(dr=this._addTile(cr)),dr&&(pe[cr.key]=cr,gr=dr.wasRequested(),dr.hasData())))break}}}return pe},z.prototype._updateLoadedParentTileCache=function(){this._loadedParentTiles={};for(var O in this._tiles){for(var $=[],pe=void 0,de=this._tiles[O].tileID;de.overscaledZ>0;){if(de.key in this._loadedParentTiles){pe=this._loadedParentTiles[de.key];break}$.push(de.key);var Ie=de.scaledTo(de.overscaledZ-1);if(pe=this._getLoadedTile(Ie),pe)break;de=Ie}for(var $e=0,pt=$;$e<pt.length;$e+=1){var Kt=pt[$e];this._loadedParentTiles[Kt]=pe}}},z.prototype._addTile=function(O){var $=this._tiles[O.key];if($)return $;$=this._cache.getAndRemove(O),$&&(this._setTileReloadTimer(O.key,$),$.tileID=O,this._state.initializeTileState($,this.map?this.map.painter:null),this._cacheTimers[O.key]&&(clearTimeout(this._cacheTimers[O.key]),delete this._cacheTimers[O.key],this._setTileReloadTimer(O.key,$)));var pe=!!$;return pe||($=new i.Tile(O,this._source.tileSize*O.overscaleFactor()),this._loadTile($,this._tileLoaded.bind(this,$,O.key,$.state))),$?($.uses++,this._tiles[O.key]=$,pe||this._source.fire(new i.Event(\"dataloading\",{tile:$,coord:$.tileID,dataType:\"source\"})),$):null},z.prototype._setTileReloadTimer=function(O,$){var pe=this;O in this._timers&&(clearTimeout(this._timers[O]),delete this._timers[O]);var de=$.getExpiryTimeout();de&&(this._timers[O]=setTimeout(function(){pe._reloadTile(O,\"expired\"),delete pe._timers[O]},de))},z.prototype._removeTile=function(O){var $=this._tiles[O];$&&($.uses--,delete this._tiles[O],this._timers[O]&&(clearTimeout(this._timers[O]),delete this._timers[O]),!($.uses>0)&&($.hasData()&&$.state!==\"reloading\"?this._cache.add($.tileID,$,$.getExpiryTimeout()):($.aborted=!0,this._abortTile($),this._unloadTile($))))},z.prototype.clearTiles=function(){this._shouldReloadOnResume=!1,this._paused=!1;for(var O in this._tiles)this._removeTile(O);this._cache.reset()},z.prototype.tilesIn=function(O,$,pe){var de=this,Ie=[],$e=this.transform;if(!$e)return Ie;for(var pt=pe?$e.getCameraQueryGeometry(O):O,Kt=O.map(function(Cr){return $e.pointCoordinate(Cr)}),ir=pt.map(function(Cr){return $e.pointCoordinate(Cr)}),Jt=this.getIds(),vt=1/0,Pt=1/0,Wt=-1/0,rr=-1/0,dr=0,pr=ir;dr<pr.length;dr+=1){var kr=pr[dr];vt=Math.min(vt,kr.x),Pt=Math.min(Pt,kr.y),Wt=Math.max(Wt,kr.x),rr=Math.max(rr,kr.y)}for(var Ar=function(Cr){var cr=de._tiles[Jt[Cr]];if(!cr.holdingForFade()){var Gr=cr.tileID,ei=Math.pow(2,$e.zoom-cr.tileID.overscaledZ),yi=$*cr.queryPadding*i.EXTENT/cr.tileSize/ei,tn=[Gr.getTilePoint(new i.MercatorCoordinate(vt,Pt)),Gr.getTilePoint(new i.MercatorCoordinate(Wt,rr))];if(tn[0].x-yi<i.EXTENT&&tn[0].y-yi<i.EXTENT&&tn[1].x+yi>=0&&tn[1].y+yi>=0){var Ri=Kt.map(function(Qn){return Gr.getTilePoint(Qn)}),ln=ir.map(function(Qn){return Gr.getTilePoint(Qn)});Ie.push({tile:cr,tileID:Gr,queryGeometry:Ri,cameraQueryGeometry:ln,scale:ei})}}},gr=0;gr<Jt.length;gr++)Ar(gr);return Ie},z.prototype.getVisibleCoordinates=function(O){for(var $=this,pe=this.getRenderableIds(O).map(function(pt){return $._tiles[pt].tileID}),de=0,Ie=pe;de<Ie.length;de+=1){var $e=Ie[de];$e.posMatrix=this.transform.calculatePosMatrix($e.toUnwrapped())}return pe},z.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(gi(this._source.type))for(var O in this._tiles){var $=this._tiles[O];if($.fadeEndTime!==void 0&&$.fadeEndTime>=i.browser.now())return!0}return!1},z.prototype.setFeatureState=function(O,$,pe){O=O||\"_geojsonTileLayer\",this._state.updateState(O,$,pe)},z.prototype.removeFeatureState=function(O,$,pe){O=O||\"_geojsonTileLayer\",this._state.removeFeatureState(O,$,pe)},z.prototype.getFeatureState=function(O,$){return O=O||\"_geojsonTileLayer\",this._state.getState(O,$)},z.prototype.setDependencies=function(O,$,pe){var de=this._tiles[O];de&&de.setDependencies($,pe)},z.prototype.reloadTilesForDependencies=function(O,$){for(var pe in this._tiles){var de=this._tiles[pe];de.hasDependency(O,$)&&this._reloadTile(pe,\"reloading\")}this._cache.filter(function(Ie){return!Ie.hasDependency(O,$)})},z}(i.Evented);Zr.maxOverzooming=10,Zr.maxUnderzooming=3;function Vr(Y,z){var K=Math.abs(Y.wrap*2)-+(Y.wrap<0),O=Math.abs(z.wrap*2)-+(z.wrap<0);return Y.overscaledZ-z.overscaledZ||O-K||z.canonical.y-Y.canonical.y||z.canonical.x-Y.canonical.x}function gi(Y){return Y===\"raster\"||Y===\"image\"||Y===\"video\"}function Si(){return new i.window.Worker(ns.workerUrl)}var Mi=\"mapboxgl_preloaded_worker_pool\",Pi=function(){this.active={}};Pi.prototype.acquire=function(z){if(!this.workers)for(this.workers=[];this.workers.length<Pi.workerCount;)this.workers.push(new Si);return this.active[z]=!0,this.workers.slice()},Pi.prototype.release=function(z){delete this.active[z],this.numActive()===0&&(this.workers.forEach(function(K){K.terminate()}),this.workers=null)},Pi.prototype.isPreloaded=function(){return!!this.active[Mi]},Pi.prototype.numActive=function(){return Object.keys(this.active).length};var Gi=Math.floor(i.browser.hardwareConcurrency/2);Pi.workerCount=Math.max(Math.min(Gi,6),1);var Ki;function ka(){return Ki||(Ki=new Pi),Ki}function jn(){var Y=ka();Y.acquire(Mi)}function la(){var Y=Ki;Y&&(Y.isPreloaded()&&Y.numActive()===1?(Y.release(Mi),Ki=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()\"))}function Fa(Y,z){var K={};for(var O in Y)O!==\"ref\"&&(K[O]=Y[O]);return i.refProperties.forEach(function($){$ in z&&(K[$]=z[$])}),K}function Ra(Y){Y=Y.slice();for(var z=Object.create(null),K=0;K<Y.length;K++)z[Y[K].id]=Y[K];for(var O=0;O<Y.length;O++)\"ref\"in Y[O]&&(Y[O]=Fa(Y[O],z[Y[O].ref]));return Y}function jo(){var Y={},z=i.styleSpec.$version;for(var K in i.styleSpec.$root){var O=i.styleSpec.$root[K];if(O.required){var $=null;K===\"version\"?$=z:O.type===\"array\"?$=[]:$={},$!=null&&(Y[K]=$)}}return Y}var oa={setStyle:\"setStyle\",addLayer:\"addLayer\",removeLayer:\"removeLayer\",setPaintProperty:\"setPaintProperty\",setLayoutProperty:\"setLayoutProperty\",setFilter:\"setFilter\",addSource:\"addSource\",removeSource:\"removeSource\",setGeoJSONSourceData:\"setGeoJSONSourceData\",setLayerZoomRange:\"setLayerZoomRange\",setLayerProperty:\"setLayerProperty\",setCenter:\"setCenter\",setZoom:\"setZoom\",setBearing:\"setBearing\",setPitch:\"setPitch\",setSprite:\"setSprite\",setGlyphs:\"setGlyphs\",setTransition:\"setTransition\",setLight:\"setLight\"};function Sn(Y,z,K){K.push({command:oa.addSource,args:[Y,z[Y]]})}function Ha(Y,z,K){z.push({command:oa.removeSource,args:[Y]}),K[Y]=!0}function oo(Y,z,K,O){Ha(Y,K,O),Sn(Y,z,K)}function xn(Y,z,K){var O;for(O in Y[K])if(Y[K].hasOwnProperty(O)&&O!==\"data\"&&!i.deepEqual(Y[K][O],z[K][O]))return!1;for(O in z[K])if(z[K].hasOwnProperty(O)&&O!==\"data\"&&!i.deepEqual(Y[K][O],z[K][O]))return!1;return!0}function _t(Y,z,K,O){Y=Y||{},z=z||{};var $;for($ in Y)Y.hasOwnProperty($)&&(z.hasOwnProperty($)||Ha($,K,O));for($ in z)z.hasOwnProperty($)&&(Y.hasOwnProperty($)?i.deepEqual(Y[$],z[$])||(Y[$].type===\"geojson\"&&z[$].type===\"geojson\"&&xn(Y,z,$)?K.push({command:oa.setGeoJSONSourceData,args:[$,z[$].data]}):oo($,z,K,O)):Sn($,z,K))}function br(Y,z,K,O,$,pe){Y=Y||{},z=z||{};var de;for(de in Y)Y.hasOwnProperty(de)&&(i.deepEqual(Y[de],z[de])||K.push({command:pe,args:[O,de,z[de],$]}));for(de in z)!z.hasOwnProperty(de)||Y.hasOwnProperty(de)||i.deepEqual(Y[de],z[de])||K.push({command:pe,args:[O,de,z[de],$]})}function Hr(Y){return Y.id}function ti(Y,z){return Y[z.id]=z,Y}function zi(Y,z,K){Y=Y||[],z=z||[];var O=Y.map(Hr),$=z.map(Hr),pe=Y.reduce(ti,{}),de=z.reduce(ti,{}),Ie=O.slice(),$e=Object.create(null),pt,Kt,ir,Jt,vt,Pt,Wt;for(pt=0,Kt=0;pt<O.length;pt++)ir=O[pt],de.hasOwnProperty(ir)?Kt++:(K.push({command:oa.removeLayer,args:[ir]}),Ie.splice(Ie.indexOf(ir,Kt),1));for(pt=0,Kt=0;pt<$.length;pt++)ir=$[$.length-1-pt],Ie[Ie.length-1-pt]!==ir&&(pe.hasOwnProperty(ir)?(K.push({command:oa.removeLayer,args:[ir]}),Ie.splice(Ie.lastIndexOf(ir,Ie.length-Kt),1)):Kt++,Pt=Ie[Ie.length-pt],K.push({command:oa.addLayer,args:[de[ir],Pt]}),Ie.splice(Ie.length-pt,0,ir),$e[ir]=!0);for(pt=0;pt<$.length;pt++)if(ir=$[pt],Jt=pe[ir],vt=de[ir],!($e[ir]||i.deepEqual(Jt,vt))){if(!i.deepEqual(Jt.source,vt.source)||!i.deepEqual(Jt[\"source-layer\"],vt[\"source-layer\"])||!i.deepEqual(Jt.type,vt.type)){K.push({command:oa.removeLayer,args:[ir]}),Pt=Ie[Ie.lastIndexOf(ir)+1],K.push({command:oa.addLayer,args:[vt,Pt]});continue}br(Jt.layout,vt.layout,K,ir,null,oa.setLayoutProperty),br(Jt.paint,vt.paint,K,ir,null,oa.setPaintProperty),i.deepEqual(Jt.filter,vt.filter)||K.push({command:oa.setFilter,args:[ir,vt.filter]}),(!i.deepEqual(Jt.minzoom,vt.minzoom)||!i.deepEqual(Jt.maxzoom,vt.maxzoom))&&K.push({command:oa.setLayerZoomRange,args:[ir,vt.minzoom,vt.maxzoom]});for(Wt in Jt)Jt.hasOwnProperty(Wt)&&(Wt===\"layout\"||Wt===\"paint\"||Wt===\"filter\"||Wt===\"metadata\"||Wt===\"minzoom\"||Wt===\"maxzoom\"||(Wt.indexOf(\"paint.\")===0?br(Jt[Wt],vt[Wt],K,ir,Wt.slice(6),oa.setPaintProperty):i.deepEqual(Jt[Wt],vt[Wt])||K.push({command:oa.setLayerProperty,args:[ir,Wt,vt[Wt]]})));for(Wt in vt)!vt.hasOwnProperty(Wt)||Jt.hasOwnProperty(Wt)||Wt===\"layout\"||Wt===\"paint\"||Wt===\"filter\"||Wt===\"metadata\"||Wt===\"minzoom\"||Wt===\"maxzoom\"||(Wt.indexOf(\"paint.\")===0?br(Jt[Wt],vt[Wt],K,ir,Wt.slice(6),oa.setPaintProperty):i.deepEqual(Jt[Wt],vt[Wt])||K.push({command:oa.setLayerProperty,args:[ir,Wt,vt[Wt]]}))}}function Yi(Y,z){if(!Y)return[{command:oa.setStyle,args:[z]}];var K=[];try{if(!i.deepEqual(Y.version,z.version))return[{command:oa.setStyle,args:[z]}];i.deepEqual(Y.center,z.center)||K.push({command:oa.setCenter,args:[z.center]}),i.deepEqual(Y.zoom,z.zoom)||K.push({command:oa.setZoom,args:[z.zoom]}),i.deepEqual(Y.bearing,z.bearing)||K.push({command:oa.setBearing,args:[z.bearing]}),i.deepEqual(Y.pitch,z.pitch)||K.push({command:oa.setPitch,args:[z.pitch]}),i.deepEqual(Y.sprite,z.sprite)||K.push({command:oa.setSprite,args:[z.sprite]}),i.deepEqual(Y.glyphs,z.glyphs)||K.push({command:oa.setGlyphs,args:[z.glyphs]}),i.deepEqual(Y.transition,z.transition)||K.push({command:oa.setTransition,args:[z.transition]}),i.deepEqual(Y.light,z.light)||K.push({command:oa.setLight,args:[z.light]});var O={},$=[];_t(Y.sources,z.sources,$,O);var pe=[];Y.layers&&Y.layers.forEach(function(de){O[de.source]?K.push({command:oa.removeLayer,args:[de.id]}):pe.push(de)}),K=K.concat($),zi(pe,z.layers,K)}catch(de){console.warn(\"Unable to compute style diff:\",de),K=[{command:oa.setStyle,args:[z]}]}return K}var an=function(z,K){this.reset(z,K)};an.prototype.reset=function(z,K){this.points=z||[],this._distances=[0];for(var O=1;O<this.points.length;O++)this._distances[O]=this._distances[O-1]+this.points[O].dist(this.points[O-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(K||0,this.length*.5),this.paddedLength=this.length-this.padding*2},an.prototype.lerp=function(z){if(this.points.length===1)return this.points[0];z=i.clamp(z,0,1);for(var K=1,O=this._distances[K],$=z*this.paddedLength+this.padding;O<$&&K<this._distances.length;)O=this._distances[++K];var pe=K-1,de=this._distances[pe],Ie=O-de,$e=Ie>0?($-de)/Ie:0;return this.points[pe].mult(1-$e).add(this.points[K].mult($e))};var hi=function(z,K,O){var $=this.boxCells=[],pe=this.circleCells=[];this.xCellCount=Math.ceil(z/O),this.yCellCount=Math.ceil(K/O);for(var de=0;de<this.xCellCount*this.yCellCount;de++)$.push([]),pe.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=z,this.height=K,this.xScale=this.xCellCount/z,this.yScale=this.yCellCount/K,this.boxUid=0,this.circleUid=0};hi.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},hi.prototype.insert=function(z,K,O,$,pe){this._forEachCell(K,O,$,pe,this._insertBoxCell,this.boxUid++),this.boxKeys.push(z),this.bboxes.push(K),this.bboxes.push(O),this.bboxes.push($),this.bboxes.push(pe)},hi.prototype.insertCircle=function(z,K,O,$){this._forEachCell(K-$,O-$,K+$,O+$,this._insertCircleCell,this.circleUid++),this.circleKeys.push(z),this.circles.push(K),this.circles.push(O),this.circles.push($)},hi.prototype._insertBoxCell=function(z,K,O,$,pe,de){this.boxCells[pe].push(de)},hi.prototype._insertCircleCell=function(z,K,O,$,pe,de){this.circleCells[pe].push(de)},hi.prototype._query=function(z,K,O,$,pe,de){if(O<0||z>this.width||$<0||K>this.height)return pe?!1:[];var Ie=[];if(z<=0&&K<=0&&this.width<=O&&this.height<=$){if(pe)return!0;for(var $e=0;$e<this.boxKeys.length;$e++)Ie.push({key:this.boxKeys[$e],x1:this.bboxes[$e*4],y1:this.bboxes[$e*4+1],x2:this.bboxes[$e*4+2],y2:this.bboxes[$e*4+3]});for(var pt=0;pt<this.circleKeys.length;pt++){var Kt=this.circles[pt*3],ir=this.circles[pt*3+1],Jt=this.circles[pt*3+2];Ie.push({key:this.circleKeys[pt],x1:Kt-Jt,y1:ir-Jt,x2:Kt+Jt,y2:ir+Jt})}return de?Ie.filter(de):Ie}else{var vt={hitTest:pe,seenUids:{box:{},circle:{}}};return this._forEachCell(z,K,O,$,this._queryCell,Ie,vt,de),pe?Ie.length>0:Ie}},hi.prototype._queryCircle=function(z,K,O,$,pe){var de=z-O,Ie=z+O,$e=K-O,pt=K+O;if(Ie<0||de>this.width||pt<0||$e>this.height)return $?!1:[];var Kt=[],ir={hitTest:$,circle:{x:z,y:K,radius:O},seenUids:{box:{},circle:{}}};return this._forEachCell(de,$e,Ie,pt,this._queryCellCircle,Kt,ir,pe),$?Kt.length>0:Kt},hi.prototype.query=function(z,K,O,$,pe){return this._query(z,K,O,$,!1,pe)},hi.prototype.hitTest=function(z,K,O,$,pe){return this._query(z,K,O,$,!0,pe)},hi.prototype.hitTestCircle=function(z,K,O,$){return this._queryCircle(z,K,O,!0,$)},hi.prototype._queryCell=function(z,K,O,$,pe,de,Ie,$e){var pt=Ie.seenUids,Kt=this.boxCells[pe];if(Kt!==null)for(var ir=this.bboxes,Jt=0,vt=Kt;Jt<vt.length;Jt+=1){var Pt=vt[Jt];if(!pt.box[Pt]){pt.box[Pt]=!0;var Wt=Pt*4;if(z<=ir[Wt+2]&&K<=ir[Wt+3]&&O>=ir[Wt+0]&&$>=ir[Wt+1]&&(!$e||$e(this.boxKeys[Pt]))){if(Ie.hitTest)return de.push(!0),!0;de.push({key:this.boxKeys[Pt],x1:ir[Wt],y1:ir[Wt+1],x2:ir[Wt+2],y2:ir[Wt+3]})}}}var rr=this.circleCells[pe];if(rr!==null)for(var dr=this.circles,pr=0,kr=rr;pr<kr.length;pr+=1){var Ar=kr[pr];if(!pt.circle[Ar]){pt.circle[Ar]=!0;var gr=Ar*3;if(this._circleAndRectCollide(dr[gr],dr[gr+1],dr[gr+2],z,K,O,$)&&(!$e||$e(this.circleKeys[Ar]))){if(Ie.hitTest)return de.push(!0),!0;var Cr=dr[gr],cr=dr[gr+1],Gr=dr[gr+2];de.push({key:this.circleKeys[Ar],x1:Cr-Gr,y1:cr-Gr,x2:Cr+Gr,y2:cr+Gr})}}}},hi.prototype._queryCellCircle=function(z,K,O,$,pe,de,Ie,$e){var pt=Ie.circle,Kt=Ie.seenUids,ir=this.boxCells[pe];if(ir!==null)for(var Jt=this.bboxes,vt=0,Pt=ir;vt<Pt.length;vt+=1){var Wt=Pt[vt];if(!Kt.box[Wt]){Kt.box[Wt]=!0;var rr=Wt*4;if(this._circleAndRectCollide(pt.x,pt.y,pt.radius,Jt[rr+0],Jt[rr+1],Jt[rr+2],Jt[rr+3])&&(!$e||$e(this.boxKeys[Wt])))return de.push(!0),!0}}var dr=this.circleCells[pe];if(dr!==null)for(var pr=this.circles,kr=0,Ar=dr;kr<Ar.length;kr+=1){var gr=Ar[kr];if(!Kt.circle[gr]){Kt.circle[gr]=!0;var Cr=gr*3;if(this._circlesCollide(pr[Cr],pr[Cr+1],pr[Cr+2],pt.x,pt.y,pt.radius)&&(!$e||$e(this.circleKeys[gr])))return de.push(!0),!0}}},hi.prototype._forEachCell=function(z,K,O,$,pe,de,Ie,$e){for(var pt=this._convertToXCellCoord(z),Kt=this._convertToYCellCoord(K),ir=this._convertToXCellCoord(O),Jt=this._convertToYCellCoord($),vt=pt;vt<=ir;vt++)for(var Pt=Kt;Pt<=Jt;Pt++){var Wt=this.xCellCount*Pt+vt;if(pe.call(this,z,K,O,$,Wt,de,Ie,$e))return}},hi.prototype._convertToXCellCoord=function(z){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(z*this.xScale)))},hi.prototype._convertToYCellCoord=function(z){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(z*this.yScale)))},hi.prototype._circlesCollide=function(z,K,O,$,pe,de){var Ie=$-z,$e=pe-K,pt=O+de;return pt*pt>Ie*Ie+$e*$e},hi.prototype._circleAndRectCollide=function(z,K,O,$,pe,de,Ie){var $e=(de-$)/2,pt=Math.abs(z-($+$e));if(pt>$e+O)return!1;var Kt=(Ie-pe)/2,ir=Math.abs(K-(pe+Kt));if(ir>Kt+O)return!1;if(pt<=$e||ir<=Kt)return!0;var Jt=pt-$e,vt=ir-Kt;return Jt*Jt+vt*vt<=O*O};function Ji(Y,z,K,O,$){var pe=i.create();return z?(i.scale(pe,pe,[1/$,1/$,1]),K||i.rotateZ(pe,pe,O.angle)):i.multiply(pe,O.labelPlaneMatrix,Y),pe}function ua(Y,z,K,O,$){if(z){var pe=i.clone(Y);return i.scale(pe,pe,[$,$,1]),K||i.rotateZ(pe,pe,-O.angle),pe}else return O.glCoordMatrix}function Fn(Y,z){var K=[Y.x,Y.y,0,1];wl(K,K,z);var O=K[3];return{point:new i.Point(K[0]/O,K[1]/O),signedDistanceFromCamera:O}}function Sa(Y,z){return .5+.5*(Y/z)}function go(Y,z){var K=Y[0]/Y[3],O=Y[1]/Y[3],$=K>=-z[0]&&K<=z[0]&&O>=-z[1]&&O<=z[1];return $}function Oo(Y,z,K,O,$,pe,de,Ie){var $e=O?Y.textSizeData:Y.iconSizeData,pt=i.evaluateSizeForZoom($e,K.transform.zoom),Kt=[256/K.width*2+1,256/K.height*2+1],ir=O?Y.text.dynamicLayoutVertexArray:Y.icon.dynamicLayoutVertexArray;ir.clear();for(var Jt=Y.lineVertexArray,vt=O?Y.text.placedSymbolArray:Y.icon.placedSymbolArray,Pt=K.transform.width/K.transform.height,Wt=!1,rr=0;rr<vt.length;rr++){var dr=vt.get(rr);if(dr.hidden||dr.writingMode===i.WritingMode.vertical&&!Wt){Xs(dr.numGlyphs,ir);continue}Wt=!1;var pr=[dr.anchorX,dr.anchorY,0,1];if(i.transformMat4(pr,pr,z),!go(pr,Kt)){Xs(dr.numGlyphs,ir);continue}var kr=pr[3],Ar=Sa(K.transform.cameraToCenterDistance,kr),gr=i.evaluateSizeForFeature($e,pt,dr),Cr=de?gr/Ar:gr*Ar,cr=new i.Point(dr.anchorX,dr.anchorY),Gr=Fn(cr,$).point,ei={},yi=xo(dr,Cr,!1,Ie,z,$,pe,Y.glyphOffsetArray,Jt,ir,Gr,cr,ei,Pt);Wt=yi.useVertical,(yi.notEnoughRoom||Wt||yi.needsFlipping&&xo(dr,Cr,!0,Ie,z,$,pe,Y.glyphOffsetArray,Jt,ir,Gr,cr,ei,Pt).notEnoughRoom)&&Xs(dr.numGlyphs,ir)}O?Y.text.dynamicLayoutVertexBuffer.updateData(ir):Y.icon.dynamicLayoutVertexBuffer.updateData(ir)}function ho(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt){var ir=Ie.glyphStartIndex+Ie.numGlyphs,Jt=Ie.lineStartIndex,vt=Ie.lineStartIndex+Ie.lineLength,Pt=z.getoffsetX(Ie.glyphStartIndex),Wt=z.getoffsetX(ir-1),rr=ks(Y*Pt,K,O,$,pe,de,Ie.segment,Jt,vt,$e,pt,Kt);if(!rr)return null;var dr=ks(Y*Wt,K,O,$,pe,de,Ie.segment,Jt,vt,$e,pt,Kt);return dr?{first:rr,last:dr}:null}function Mo(Y,z,K,O){if(Y===i.WritingMode.horizontal){var $=Math.abs(K.y-z.y),pe=Math.abs(K.x-z.x)*O;if($>pe)return{useVertical:!0}}return(Y===i.WritingMode.vertical?z.y<K.y:z.x>K.x)?{needsFlipping:!0}:null}function xo(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt,ir,Jt,vt){var Pt=z/24,Wt=Y.lineOffsetX*Pt,rr=Y.lineOffsetY*Pt,dr;if(Y.numGlyphs>1){var pr=Y.glyphStartIndex+Y.numGlyphs,kr=Y.lineStartIndex,Ar=Y.lineStartIndex+Y.lineLength,gr=ho(Pt,Ie,Wt,rr,K,Kt,ir,Y,$e,pe,Jt);if(!gr)return{notEnoughRoom:!0};var Cr=Fn(gr.first.point,de).point,cr=Fn(gr.last.point,de).point;if(O&&!K){var Gr=Mo(Y.writingMode,Cr,cr,vt);if(Gr)return Gr}dr=[gr.first];for(var ei=Y.glyphStartIndex+1;ei<pr-1;ei++)dr.push(ks(Pt*Ie.getoffsetX(ei),Wt,rr,K,Kt,ir,Y.segment,kr,Ar,$e,pe,Jt));dr.push(gr.last)}else{if(O&&!K){var yi=Fn(ir,$).point,tn=Y.lineStartIndex+Y.segment+1,Ri=new i.Point($e.getx(tn),$e.gety(tn)),ln=Fn(Ri,$),Qn=ln.signedDistanceFromCamera>0?ln.point:zs(ir,Ri,yi,1,$),qn=Mo(Y.writingMode,yi,Qn,vt);if(qn)return qn}var rn=ks(Pt*Ie.getoffsetX(Y.glyphStartIndex),Wt,rr,K,Kt,ir,Y.segment,Y.lineStartIndex,Y.lineStartIndex+Y.lineLength,$e,pe,Jt);if(!rn)return{notEnoughRoom:!0};dr=[rn]}for(var bn=0,mn=dr;bn<mn.length;bn+=1){var Gn=mn[bn];i.addDynamicAttributes(pt,Gn.point,Gn.angle)}return{}}function zs(Y,z,K,O,$){var pe=Fn(Y.add(Y.sub(z)._unit()),$).point,de=K.sub(pe);return K.add(de._mult(O/de.mag()))}function ks(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt,ir){var Jt=O?Y-z:Y+z,vt=Jt>0?1:-1,Pt=0;O&&(vt*=-1,Pt=Math.PI),vt<0&&(Pt+=Math.PI);for(var Wt=vt>0?Ie+de:Ie+de+1,rr=$,dr=$,pr=0,kr=0,Ar=Math.abs(Jt),gr=[];pr+kr<=Ar;){if(Wt+=vt,Wt<Ie||Wt>=$e)return null;if(dr=rr,gr.push(rr),rr=ir[Wt],rr===void 0){var Cr=new i.Point(pt.getx(Wt),pt.gety(Wt)),cr=Fn(Cr,Kt);if(cr.signedDistanceFromCamera>0)rr=ir[Wt]=cr.point;else{var Gr=Wt-vt,ei=pr===0?pe:new i.Point(pt.getx(Gr),pt.gety(Gr));rr=zs(ei,Cr,dr,Ar-pr+1,Kt)}}pr+=kr,kr=dr.dist(rr)}var yi=(Ar-pr)/kr,tn=rr.sub(dr),Ri=tn.mult(yi)._add(dr);Ri._add(tn._unit()._perp()._mult(K*vt));var ln=Pt+Math.atan2(rr.y-dr.y,rr.x-dr.x);return gr.push(Ri),{point:Ri,angle:ln,path:gr}}var Zs=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Xs(Y,z){for(var K=0;K<Y;K++){var O=z.length;z.resize(O+4),z.float32.set(Zs,O*3)}}function wl(Y,z,K){var O=z[0],$=z[1];return Y[0]=K[0]*O+K[4]*$+K[12],Y[1]=K[1]*O+K[5]*$+K[13],Y[3]=K[3]*O+K[7]*$+K[15],Y}var os=100,cl=function(z,K,O){K===void 0&&(K=new hi(z.width+2*os,z.height+2*os,25)),O===void 0&&(O=new hi(z.width+2*os,z.height+2*os,25)),this.transform=z,this.grid=K,this.ignoredGrid=O,this.pitchfactor=Math.cos(z._pitch)*z.cameraToCenterDistance,this.screenRightBoundary=z.width+os,this.screenBottomBoundary=z.height+os,this.gridRightBoundary=z.width+2*os,this.gridBottomBoundary=z.height+2*os};cl.prototype.placeCollisionBox=function(z,K,O,$,pe){var de=this.projectAndGetPerspectiveRatio($,z.anchorPointX,z.anchorPointY),Ie=O*de.perspectiveRatio,$e=z.x1*Ie+de.point.x,pt=z.y1*Ie+de.point.y,Kt=z.x2*Ie+de.point.x,ir=z.y2*Ie+de.point.y;return!this.isInsideGrid($e,pt,Kt,ir)||!K&&this.grid.hitTest($e,pt,Kt,ir,pe)?{box:[],offscreen:!1}:{box:[$e,pt,Kt,ir],offscreen:this.isOffscreen($e,pt,Kt,ir)}},cl.prototype.placeCollisionCircles=function(z,K,O,$,pe,de,Ie,$e,pt,Kt,ir,Jt,vt){var Pt=[],Wt=new i.Point(K.anchorX,K.anchorY),rr=Fn(Wt,de),dr=Sa(this.transform.cameraToCenterDistance,rr.signedDistanceFromCamera),pr=Kt?pe/dr:pe*dr,kr=pr/i.ONE_EM,Ar=Fn(Wt,Ie).point,gr={},Cr=K.lineOffsetX*kr,cr=K.lineOffsetY*kr,Gr=ho(kr,$,Cr,cr,!1,Ar,Wt,K,O,Ie,gr),ei=!1,yi=!1,tn=!0;if(Gr){for(var Ri=Jt*.5*dr+vt,ln=new i.Point(-os,-os),Qn=new i.Point(this.screenRightBoundary,this.screenBottomBoundary),qn=new an,rn=Gr.first,bn=Gr.last,mn=[],Gn=rn.path.length-1;Gn>=1;Gn--)mn.push(rn.path[Gn]);for(var da=1;da<bn.path.length;da++)mn.push(bn.path[da]);var No=Ri*2.5;if($e){var Do=mn.map(function(Cv){return Fn(Cv,$e)});Do.some(function(Cv){return Cv.signedDistanceFromCamera<=0})?mn=[]:mn=Do.map(function(Cv){return Cv.point})}var ps=[];if(mn.length>0){for(var fo=mn[0].clone(),as=mn[0].clone(),tl=1;tl<mn.length;tl++)fo.x=Math.min(fo.x,mn[tl].x),fo.y=Math.min(fo.y,mn[tl].y),as.x=Math.max(as.x,mn[tl].x),as.y=Math.max(as.y,mn[tl].y);fo.x>=ln.x&&as.x<=Qn.x&&fo.y>=ln.y&&as.y<=Qn.y?ps=[mn]:as.x<ln.x||fo.x>Qn.x||as.y<ln.y||fo.y>Qn.y?ps=[]:ps=i.clipLine([mn],ln.x,ln.y,Qn.x,Qn.y)}for(var zu=0,Mv=ps;zu<Mv.length;zu+=1){var Ev=Mv[zu];qn.reset(Ev,Ri*.25);var yd=0;qn.length<=.5*Ri?yd=1:yd=Math.ceil(qn.paddedLength/No)+1;for(var Yv=0;Yv<yd;Yv++){var cg=Yv/Math.max(yd-1,1),vp=qn.lerp(cg),_d=vp.x+os,pp=vp.y+os;Pt.push(_d,pp,Ri,0);var Nd=_d-Ri,xd=pp-Ri,kv=_d+Ri,Kv=pp+Ri;if(tn=tn&&this.isOffscreen(Nd,xd,kv,Kv),yi=yi||this.isInsideGrid(Nd,xd,kv,Kv),!z&&this.grid.hitTestCircle(_d,pp,Ri,ir)&&(ei=!0,!pt))return{circles:[],offscreen:!1,collisionDetected:ei}}}}return{circles:!pt&&ei||!yi?[]:Pt,offscreen:tn,collisionDetected:ei}},cl.prototype.queryRenderedSymbols=function(z){if(z.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};for(var K=[],O=1/0,$=1/0,pe=-1/0,de=-1/0,Ie=0,$e=z;Ie<$e.length;Ie+=1){var pt=$e[Ie],Kt=new i.Point(pt.x+os,pt.y+os);O=Math.min(O,Kt.x),$=Math.min($,Kt.y),pe=Math.max(pe,Kt.x),de=Math.max(de,Kt.y),K.push(Kt)}for(var ir=this.grid.query(O,$,pe,de).concat(this.ignoredGrid.query(O,$,pe,de)),Jt={},vt={},Pt=0,Wt=ir;Pt<Wt.length;Pt+=1){var rr=Wt[Pt],dr=rr.key;if(Jt[dr.bucketInstanceId]===void 0&&(Jt[dr.bucketInstanceId]={}),!Jt[dr.bucketInstanceId][dr.featureIndex]){var pr=[new i.Point(rr.x1,rr.y1),new i.Point(rr.x2,rr.y1),new i.Point(rr.x2,rr.y2),new i.Point(rr.x1,rr.y2)];i.polygonIntersectsPolygon(K,pr)&&(Jt[dr.bucketInstanceId][dr.featureIndex]=!0,vt[dr.bucketInstanceId]===void 0&&(vt[dr.bucketInstanceId]=[]),vt[dr.bucketInstanceId].push(dr.featureIndex))}}return vt},cl.prototype.insertCollisionBox=function(z,K,O,$,pe){var de=K?this.ignoredGrid:this.grid,Ie={bucketInstanceId:O,featureIndex:$,collisionGroupID:pe};de.insert(Ie,z[0],z[1],z[2],z[3])},cl.prototype.insertCollisionCircles=function(z,K,O,$,pe){for(var de=K?this.ignoredGrid:this.grid,Ie={bucketInstanceId:O,featureIndex:$,collisionGroupID:pe},$e=0;$e<z.length;$e+=4)de.insertCircle(Ie,z[$e],z[$e+1],z[$e+2])},cl.prototype.projectAndGetPerspectiveRatio=function(z,K,O){var $=[K,O,0,1];wl($,$,z);var pe=new i.Point(($[0]/$[3]+1)/2*this.transform.width+os,(-$[1]/$[3]+1)/2*this.transform.height+os);return{point:pe,perspectiveRatio:.5+.5*(this.transform.cameraToCenterDistance/$[3])}},cl.prototype.isOffscreen=function(z,K,O,$){return O<os||z>=this.screenRightBoundary||$<os||K>this.screenBottomBoundary},cl.prototype.isInsideGrid=function(z,K,O,$){return O>=0&&z<this.gridRightBoundary&&$>=0&&K<this.gridBottomBoundary},cl.prototype.getViewportMatrix=function(){var z=i.identity([]);return i.translate(z,z,[-os,-os,0]),z};function Cs(Y,z,K){return z*(i.EXTENT/(Y.tileSize*Math.pow(2,K-Y.tileID.overscaledZ)))}var ml=function(z,K,O,$){z?this.opacity=Math.max(0,Math.min(1,z.opacity+(z.placed?K:-K))):this.opacity=$&&O?1:0,this.placed=O};ml.prototype.isHidden=function(){return this.opacity===0&&!this.placed};var Ys=function(z,K,O,$,pe){this.text=new ml(z?z.text:null,K,O,pe),this.icon=new ml(z?z.icon:null,K,$,pe)};Ys.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var Hs=function(z,K,O){this.text=z,this.icon=K,this.skipFade=O},Eo=function(){this.invProjMatrix=i.create(),this.viewportMatrix=i.create(),this.circles=[]},fs=function(z,K,O,$,pe){this.bucketInstanceId=z,this.featureIndex=K,this.sourceLayerIndex=O,this.bucketIndex=$,this.tileID=pe},Ql=function(z){this.crossSourceCollisions=z,this.maxGroupID=0,this.collisionGroups={}};Ql.prototype.get=function(z){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[z]){var K=++this.maxGroupID;this.collisionGroups[z]={ID:K,predicate:function(O){return O.collisionGroupID===K}}}return this.collisionGroups[z]};function Hu(Y,z,K,O,$){var pe=i.getAnchorAlignment(Y),de=pe.horizontalAlign,Ie=pe.verticalAlign,$e=-(de-.5)*z,pt=-(Ie-.5)*K,Kt=i.evaluateVariableOffset(Y,O);return new i.Point($e+Kt[0]*$,pt+Kt[1]*$)}function fc(Y,z,K,O,$,pe){var de=Y.x1,Ie=Y.x2,$e=Y.y1,pt=Y.y2,Kt=Y.anchorPointX,ir=Y.anchorPointY,Jt=new i.Point(z,K);return O&&Jt._rotate($?pe:-pe),{x1:de+Jt.x,y1:$e+Jt.y,x2:Ie+Jt.x,y2:pt+Jt.y,anchorPointX:Kt,anchorPointY:ir}}var ms=function(z,K,O,$){this.transform=z.clone(),this.collisionIndex=new cl(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=K,this.retainedQueryData={},this.collisionGroups=new Ql(O),this.collisionCircleArrays={},this.prevPlacement=$,$&&($.prevPlacement=void 0),this.placedOrientations={}};ms.prototype.getBucketParts=function(z,K,O,$){var pe=O.getBucket(K),de=O.latestFeatureIndex;if(!(!pe||!de||K.id!==pe.layerIds[0])){var Ie=O.collisionBoxArray,$e=pe.layers[0].layout,pt=Math.pow(2,this.transform.zoom-O.tileID.overscaledZ),Kt=O.tileSize/i.EXTENT,ir=this.transform.calculatePosMatrix(O.tileID.toUnwrapped()),Jt=$e.get(\"text-pitch-alignment\")===\"map\",vt=$e.get(\"text-rotation-alignment\")===\"map\",Pt=Cs(O,1,this.transform.zoom),Wt=Ji(ir,Jt,vt,this.transform,Pt),rr=null;if(Jt){var dr=ua(ir,Jt,vt,this.transform,Pt);rr=i.multiply([],this.transform.labelPlaneMatrix,dr)}this.retainedQueryData[pe.bucketInstanceId]=new fs(pe.bucketInstanceId,de,pe.sourceLayerIndex,pe.index,O.tileID);var pr={bucket:pe,layout:$e,posMatrix:ir,textLabelPlaneMatrix:Wt,labelToScreenMatrix:rr,scale:pt,textPixelRatio:Kt,holdingForFade:O.holdingForFade(),collisionBoxArray:Ie,partiallyEvaluatedTextSize:i.evaluateSizeForZoom(pe.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(pe.sourceID)};if($)for(var kr=0,Ar=pe.sortKeyRanges;kr<Ar.length;kr+=1){var gr=Ar[kr],Cr=gr.sortKey,cr=gr.symbolInstanceStart,Gr=gr.symbolInstanceEnd;z.push({sortKey:Cr,symbolInstanceStart:cr,symbolInstanceEnd:Gr,parameters:pr})}else z.push({symbolInstanceStart:0,symbolInstanceEnd:pe.symbolInstances.length,parameters:pr})}},ms.prototype.attemptAnchorPlacement=function(z,K,O,$,pe,de,Ie,$e,pt,Kt,ir,Jt,vt,Pt,Wt){var rr=[Jt.textOffset0,Jt.textOffset1],dr=Hu(z,O,$,rr,pe),pr=this.collisionIndex.placeCollisionBox(fc(K,dr.x,dr.y,de,Ie,this.transform.angle),ir,$e,pt,Kt.predicate);if(Wt){var kr=this.collisionIndex.placeCollisionBox(fc(Wt,dr.x,dr.y,de,Ie,this.transform.angle),ir,$e,pt,Kt.predicate);if(kr.box.length===0)return}if(pr.box.length>0){var Ar;return this.prevPlacement&&this.prevPlacement.variableOffsets[Jt.crossTileID]&&this.prevPlacement.placements[Jt.crossTileID]&&this.prevPlacement.placements[Jt.crossTileID].text&&(Ar=this.prevPlacement.variableOffsets[Jt.crossTileID].anchor),this.variableOffsets[Jt.crossTileID]={textOffset:rr,width:O,height:$,anchor:z,textBoxScale:pe,prevAnchor:Ar},this.markUsedJustification(vt,z,Jt,Pt),vt.allowVerticalPlacement&&(this.markUsedOrientation(vt,Pt,Jt),this.placedOrientations[Jt.crossTileID]=Pt),{shift:dr,placedGlyphBoxes:pr}}},ms.prototype.placeLayerBucketPart=function(z,K,O){var $=this,pe=z.parameters,de=pe.bucket,Ie=pe.layout,$e=pe.posMatrix,pt=pe.textLabelPlaneMatrix,Kt=pe.labelToScreenMatrix,ir=pe.textPixelRatio,Jt=pe.holdingForFade,vt=pe.collisionBoxArray,Pt=pe.partiallyEvaluatedTextSize,Wt=pe.collisionGroup,rr=Ie.get(\"text-optional\"),dr=Ie.get(\"icon-optional\"),pr=Ie.get(\"text-allow-overlap\"),kr=Ie.get(\"icon-allow-overlap\"),Ar=Ie.get(\"text-rotation-alignment\")===\"map\",gr=Ie.get(\"text-pitch-alignment\")===\"map\",Cr=Ie.get(\"icon-text-fit\")!==\"none\",cr=Ie.get(\"symbol-z-order\")===\"viewport-y\",Gr=pr&&(kr||!de.hasIconData()||dr),ei=kr&&(pr||!de.hasTextData()||rr);!de.collisionArrays&&vt&&de.deserializeCollisionBoxes(vt);var yi=function(rn,bn){if(!K[rn.crossTileID]){if(Jt){$.placements[rn.crossTileID]=new Hs(!1,!1,!1);return}var mn=!1,Gn=!1,da=!0,No=null,Do={box:null,offscreen:null},ps={box:null,offscreen:null},fo=null,as=null,tl=null,zu=0,Mv=0,Ev=0;bn.textFeatureIndex?zu=bn.textFeatureIndex:rn.useRuntimeCollisionCircles&&(zu=rn.featureIndex),bn.verticalTextFeatureIndex&&(Mv=bn.verticalTextFeatureIndex);var yd=bn.textBox;if(yd){var Yv=function(Fu){var kl=i.WritingMode.horizontal;if(de.allowVerticalPlacement&&!Fu&&$.prevPlacement){var bd=$.prevPlacement.placedOrientations[rn.crossTileID];bd&&($.placedOrientations[rn.crossTileID]=bd,kl=bd,$.markUsedOrientation(de,kl,rn))}return kl},cg=function(Fu,kl){if(de.allowVerticalPlacement&&rn.numVerticalGlyphVertices>0&&bn.verticalTextBox)for(var bd=0,sy=de.writingModes;bd<sy.length;bd+=1){var A1=sy[bd];if(A1===i.WritingMode.vertical?(Do=kl(),ps=Do):Do=Fu(),Do&&Do.box&&Do.box.length)break}else Do=Fu()};if(Ie.get(\"text-variable-anchor\")){var Nd=Ie.get(\"text-variable-anchor\");if($.prevPlacement&&$.prevPlacement.variableOffsets[rn.crossTileID]){var xd=$.prevPlacement.variableOffsets[rn.crossTileID];Nd.indexOf(xd.anchor)>0&&(Nd=Nd.filter(function(Fu){return Fu!==xd.anchor}),Nd.unshift(xd.anchor))}var kv=function(Fu,kl,bd){for(var sy=Fu.x2-Fu.x1,A1=Fu.y2-Fu.y1,Kl=rn.textBoxScale,Nx=Cr&&!kr?kl:null,am={box:[],offscreen:!1},Mw=pr?Nd.length*2:Nd.length,Lv=0;Lv<Mw;++Lv){var om=Nd[Lv%Nd.length],Ew=Lv>=Nd.length,Ux=$.attemptAnchorPlacement(om,Fu,sy,A1,Kl,Ar,gr,ir,$e,Wt,Ew,rn,de,bd,Nx);if(Ux&&(am=Ux.placedGlyphBoxes,am&&am.box&&am.box.length)){mn=!0,No=Ux.shift;break}}return am},Kv=function(){return kv(yd,bn.iconBox,i.WritingMode.horizontal)},Cv=function(){var Fu=bn.verticalTextBox,kl=Do&&Do.box&&Do.box.length;return de.allowVerticalPlacement&&!kl&&rn.numVerticalGlyphVertices>0&&Fu?kv(Fu,bn.verticalIconBox,i.WritingMode.vertical):{box:null,offscreen:null}};cg(Kv,Cv),Do&&(mn=Do.box,da=Do.offscreen);var ny=Yv(Do&&Do.box);if(!mn&&$.prevPlacement){var fg=$.prevPlacement.variableOffsets[rn.crossTileID];fg&&($.variableOffsets[rn.crossTileID]=fg,$.markUsedJustification(de,fg.anchor,rn,ny))}}else{var vp=function(Fu,kl){var bd=$.collisionIndex.placeCollisionBox(Fu,pr,ir,$e,Wt.predicate);return bd&&bd.box&&bd.box.length&&($.markUsedOrientation(de,kl,rn),$.placedOrientations[rn.crossTileID]=kl),bd},_d=function(){return vp(yd,i.WritingMode.horizontal)},pp=function(){var Fu=bn.verticalTextBox;return de.allowVerticalPlacement&&rn.numVerticalGlyphVertices>0&&Fu?vp(Fu,i.WritingMode.vertical):{box:null,offscreen:null}};cg(_d,pp),Yv(Do&&Do.box&&Do.box.length)}}if(fo=Do,mn=fo&&fo.box&&fo.box.length>0,da=fo&&fo.offscreen,rn.useRuntimeCollisionCircles){var Hf=de.text.placedSymbolArray.get(rn.centerJustifiedTextSymbolIndex),hg=i.evaluateSizeForFeature(de.textSizeData,Pt,Hf),ay=Ie.get(\"text-padding\"),Rh=rn.collisionCircleDiameter;as=$.collisionIndex.placeCollisionCircles(pr,Hf,de.lineVertexArray,de.glyphOffsetArray,hg,$e,pt,Kt,O,gr,Wt.predicate,Rh,ay),mn=pr||as.circles.length>0&&!as.collisionDetected,da=da&&as.offscreen}if(bn.iconFeatureIndex&&(Ev=bn.iconFeatureIndex),bn.iconBox){var rm=function(Fu){var kl=Cr&&No?fc(Fu,No.x,No.y,Ar,gr,$.transform.angle):Fu;return $.collisionIndex.placeCollisionBox(kl,kr,ir,$e,Wt.predicate)};ps&&ps.box&&ps.box.length&&bn.verticalIconBox?(tl=rm(bn.verticalIconBox),Gn=tl.box.length>0):(tl=rm(bn.iconBox),Gn=tl.box.length>0),da=da&&tl.offscreen}var w1=rr||rn.numHorizontalGlyphVertices===0&&rn.numVerticalGlyphVertices===0,T1=dr||rn.numIconVertices===0;if(!w1&&!T1?Gn=mn=Gn&&mn:T1?w1||(Gn=Gn&&mn):mn=Gn&&mn,mn&&fo&&fo.box&&(ps&&ps.box&&Mv?$.collisionIndex.insertCollisionBox(fo.box,Ie.get(\"text-ignore-placement\"),de.bucketInstanceId,Mv,Wt.ID):$.collisionIndex.insertCollisionBox(fo.box,Ie.get(\"text-ignore-placement\"),de.bucketInstanceId,zu,Wt.ID)),Gn&&tl&&$.collisionIndex.insertCollisionBox(tl.box,Ie.get(\"icon-ignore-placement\"),de.bucketInstanceId,Ev,Wt.ID),as&&(mn&&$.collisionIndex.insertCollisionCircles(as.circles,Ie.get(\"text-ignore-placement\"),de.bucketInstanceId,zu,Wt.ID),O)){var oy=de.bucketInstanceId,im=$.collisionCircleArrays[oy];im===void 0&&(im=$.collisionCircleArrays[oy]=new Eo);for(var nm=0;nm<as.circles.length;nm+=4)im.circles.push(as.circles[nm+0]),im.circles.push(as.circles[nm+1]),im.circles.push(as.circles[nm+2]),im.circles.push(as.collisionDetected?1:0)}$.placements[rn.crossTileID]=new Hs(mn||Gr,Gn||ei,da||de.justReloaded),K[rn.crossTileID]=!0}};if(cr)for(var tn=de.getSortedSymbolIndexes(this.transform.angle),Ri=tn.length-1;Ri>=0;--Ri){var ln=tn[Ri];yi(de.symbolInstances.get(ln),de.collisionArrays[ln])}else for(var Qn=z.symbolInstanceStart;Qn<z.symbolInstanceEnd;Qn++)yi(de.symbolInstances.get(Qn),de.collisionArrays[Qn]);if(O&&de.bucketInstanceId in this.collisionCircleArrays){var qn=this.collisionCircleArrays[de.bucketInstanceId];i.invert(qn.invProjMatrix,$e),qn.viewportMatrix=this.collisionIndex.getViewportMatrix()}de.justReloaded=!1},ms.prototype.markUsedJustification=function(z,K,O,$){var pe={left:O.leftJustifiedTextSymbolIndex,center:O.centerJustifiedTextSymbolIndex,right:O.rightJustifiedTextSymbolIndex},de;$===i.WritingMode.vertical?de=O.verticalPlacedTextSymbolIndex:de=pe[i.getAnchorJustification(K)];for(var Ie=[O.leftJustifiedTextSymbolIndex,O.centerJustifiedTextSymbolIndex,O.rightJustifiedTextSymbolIndex,O.verticalPlacedTextSymbolIndex],$e=0,pt=Ie;$e<pt.length;$e+=1){var Kt=pt[$e];Kt>=0&&(de>=0&&Kt!==de?z.text.placedSymbolArray.get(Kt).crossTileID=0:z.text.placedSymbolArray.get(Kt).crossTileID=O.crossTileID)}},ms.prototype.markUsedOrientation=function(z,K,O){for(var $=K===i.WritingMode.horizontal||K===i.WritingMode.horizontalOnly?K:0,pe=K===i.WritingMode.vertical?K:0,de=[O.leftJustifiedTextSymbolIndex,O.centerJustifiedTextSymbolIndex,O.rightJustifiedTextSymbolIndex],Ie=0,$e=de;Ie<$e.length;Ie+=1){var pt=$e[Ie];z.text.placedSymbolArray.get(pt).placedOrientation=$}O.verticalPlacedTextSymbolIndex&&(z.text.placedSymbolArray.get(O.verticalPlacedTextSymbolIndex).placedOrientation=pe)},ms.prototype.commit=function(z){this.commitTime=z,this.zoomAtLastRecencyCheck=this.transform.zoom;var K=this.prevPlacement,O=!1;this.prevZoomAdjustment=K?K.zoomAdjustment(this.transform.zoom):0;var $=K?K.symbolFadeChange(z):1,pe=K?K.opacities:{},de=K?K.variableOffsets:{},Ie=K?K.placedOrientations:{};for(var $e in this.placements){var pt=this.placements[$e],Kt=pe[$e];Kt?(this.opacities[$e]=new Ys(Kt,$,pt.text,pt.icon),O=O||pt.text!==Kt.text.placed||pt.icon!==Kt.icon.placed):(this.opacities[$e]=new Ys(null,$,pt.text,pt.icon,pt.skipFade),O=O||pt.text||pt.icon)}for(var ir in pe){var Jt=pe[ir];if(!this.opacities[ir]){var vt=new Ys(Jt,$,!1,!1);vt.isHidden()||(this.opacities[ir]=vt,O=O||Jt.text.placed||Jt.icon.placed)}}for(var Pt in de)!this.variableOffsets[Pt]&&this.opacities[Pt]&&!this.opacities[Pt].isHidden()&&(this.variableOffsets[Pt]=de[Pt]);for(var Wt in Ie)!this.placedOrientations[Wt]&&this.opacities[Wt]&&!this.opacities[Wt].isHidden()&&(this.placedOrientations[Wt]=Ie[Wt]);O?this.lastPlacementChangeTime=z:typeof this.lastPlacementChangeTime!=\"number\"&&(this.lastPlacementChangeTime=K?K.lastPlacementChangeTime:z)},ms.prototype.updateLayerOpacities=function(z,K){for(var O={},$=0,pe=K;$<pe.length;$+=1){var de=pe[$],Ie=de.getBucket(z);Ie&&de.latestFeatureIndex&&z.id===Ie.layerIds[0]&&this.updateBucketOpacities(Ie,O,de.collisionBoxArray)}},ms.prototype.updateBucketOpacities=function(z,K,O){var $=this;z.hasTextData()&&z.text.opacityVertexArray.clear(),z.hasIconData()&&z.icon.opacityVertexArray.clear(),z.hasIconCollisionBoxData()&&z.iconCollisionBox.collisionVertexArray.clear(),z.hasTextCollisionBoxData()&&z.textCollisionBox.collisionVertexArray.clear();var pe=z.layers[0].layout,de=new Ys(null,0,!1,!1,!0),Ie=pe.get(\"text-allow-overlap\"),$e=pe.get(\"icon-allow-overlap\"),pt=pe.get(\"text-variable-anchor\"),Kt=pe.get(\"text-rotation-alignment\")===\"map\",ir=pe.get(\"text-pitch-alignment\")===\"map\",Jt=pe.get(\"icon-text-fit\")!==\"none\",vt=new Ys(null,0,Ie&&($e||!z.hasIconData()||pe.get(\"icon-optional\")),$e&&(Ie||!z.hasTextData()||pe.get(\"text-optional\")),!0);!z.collisionArrays&&O&&(z.hasIconCollisionBoxData()||z.hasTextCollisionBoxData())&&z.deserializeCollisionBoxes(O);for(var Pt=function(pr,kr,Ar){for(var gr=0;gr<kr/4;gr++)pr.opacityVertexArray.emplaceBack(Ar)},Wt=function(pr){var kr=z.symbolInstances.get(pr),Ar=kr.numHorizontalGlyphVertices,gr=kr.numVerticalGlyphVertices,Cr=kr.crossTileID,cr=K[Cr],Gr=$.opacities[Cr];cr?Gr=de:Gr||(Gr=vt,$.opacities[Cr]=Gr),K[Cr]=!0;var ei=Ar>0||gr>0,yi=kr.numIconVertices>0,tn=$.placedOrientations[kr.crossTileID],Ri=tn===i.WritingMode.vertical,ln=tn===i.WritingMode.horizontal||tn===i.WritingMode.horizontalOnly;if(ei){var Qn=Ec(Gr.text),qn=Ri?Zn:Qn;Pt(z.text,Ar,qn);var rn=ln?Zn:Qn;Pt(z.text,gr,rn);var bn=Gr.text.isHidden();[kr.rightJustifiedTextSymbolIndex,kr.centerJustifiedTextSymbolIndex,kr.leftJustifiedTextSymbolIndex].forEach(function(Ev){Ev>=0&&(z.text.placedSymbolArray.get(Ev).hidden=bn||Ri?1:0)}),kr.verticalPlacedTextSymbolIndex>=0&&(z.text.placedSymbolArray.get(kr.verticalPlacedTextSymbolIndex).hidden=bn||ln?1:0);var mn=$.variableOffsets[kr.crossTileID];mn&&$.markUsedJustification(z,mn.anchor,kr,tn);var Gn=$.placedOrientations[kr.crossTileID];Gn&&($.markUsedJustification(z,\"left\",kr,Gn),$.markUsedOrientation(z,Gn,kr))}if(yi){var da=Ec(Gr.icon),No=!(Jt&&kr.verticalPlacedIconSymbolIndex&&Ri);if(kr.placedIconSymbolIndex>=0){var Do=No?da:Zn;Pt(z.icon,kr.numIconVertices,Do),z.icon.placedSymbolArray.get(kr.placedIconSymbolIndex).hidden=Gr.icon.isHidden()}if(kr.verticalPlacedIconSymbolIndex>=0){var ps=No?Zn:da;Pt(z.icon,kr.numVerticalIconVertices,ps),z.icon.placedSymbolArray.get(kr.verticalPlacedIconSymbolIndex).hidden=Gr.icon.isHidden()}}if(z.hasIconCollisionBoxData()||z.hasTextCollisionBoxData()){var fo=z.collisionArrays[pr];if(fo){var as=new i.Point(0,0);if(fo.textBox||fo.verticalTextBox){var tl=!0;if(pt){var zu=$.variableOffsets[Cr];zu?(as=Hu(zu.anchor,zu.width,zu.height,zu.textOffset,zu.textBoxScale),Kt&&as._rotate(ir?$.transform.angle:-$.transform.angle)):tl=!1}fo.textBox&&on(z.textCollisionBox.collisionVertexArray,Gr.text.placed,!tl||Ri,as.x,as.y),fo.verticalTextBox&&on(z.textCollisionBox.collisionVertexArray,Gr.text.placed,!tl||ln,as.x,as.y)}var Mv=!!(!ln&&fo.verticalIconBox);fo.iconBox&&on(z.iconCollisionBox.collisionVertexArray,Gr.icon.placed,Mv,Jt?as.x:0,Jt?as.y:0),fo.verticalIconBox&&on(z.iconCollisionBox.collisionVertexArray,Gr.icon.placed,!Mv,Jt?as.x:0,Jt?as.y:0)}}},rr=0;rr<z.symbolInstances.length;rr++)Wt(rr);if(z.sortFeatures(this.transform.angle),this.retainedQueryData[z.bucketInstanceId]&&(this.retainedQueryData[z.bucketInstanceId].featureSortOrder=z.featureSortOrder),z.hasTextData()&&z.text.opacityVertexBuffer&&z.text.opacityVertexBuffer.updateData(z.text.opacityVertexArray),z.hasIconData()&&z.icon.opacityVertexBuffer&&z.icon.opacityVertexBuffer.updateData(z.icon.opacityVertexArray),z.hasIconCollisionBoxData()&&z.iconCollisionBox.collisionVertexBuffer&&z.iconCollisionBox.collisionVertexBuffer.updateData(z.iconCollisionBox.collisionVertexArray),z.hasTextCollisionBoxData()&&z.textCollisionBox.collisionVertexBuffer&&z.textCollisionBox.collisionVertexBuffer.updateData(z.textCollisionBox.collisionVertexArray),z.bucketInstanceId in this.collisionCircleArrays){var dr=this.collisionCircleArrays[z.bucketInstanceId];z.placementInvProjMatrix=dr.invProjMatrix,z.placementViewportMatrix=dr.viewportMatrix,z.collisionCircleArray=dr.circles,delete this.collisionCircleArrays[z.bucketInstanceId]}},ms.prototype.symbolFadeChange=function(z){return this.fadeDuration===0?1:(z-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment},ms.prototype.zoomAdjustment=function(z){return Math.max(0,(this.transform.zoom-z)/1.5)},ms.prototype.hasTransitions=function(z){return this.stale||z-this.lastPlacementChangeTime<this.fadeDuration},ms.prototype.stillRecent=function(z,K){var O=this.zoomAtLastRecencyCheck===K?1-this.zoomAdjustment(K):1;return this.zoomAtLastRecencyCheck=K,this.commitTime+this.fadeDuration*O>z},ms.prototype.setStale=function(){this.stale=!0};function on(Y,z,K,O,$){Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0)}var fa=Math.pow(2,25),Qu=Math.pow(2,24),Rl=Math.pow(2,17),vo=Math.pow(2,16),Zl=Math.pow(2,9),Ks=Math.pow(2,8),Xl=Math.pow(2,1);function Ec(Y){if(Y.opacity===0&&!Y.placed)return 0;if(Y.opacity===1&&Y.placed)return 4294967295;var z=Y.placed?1:0,K=Math.floor(Y.opacity*127);return K*fa+z*Qu+K*Rl+z*vo+K*Zl+z*Ks+K*Xl+z}var Zn=0,ko=function(z){this._sortAcrossTiles=z.layout.get(\"symbol-z-order\")!==\"viewport-y\"&&z.layout.get(\"symbol-sort-key\").constantOr(1)!==void 0,this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};ko.prototype.continuePlacement=function(z,K,O,$,pe){for(var de=this._bucketParts;this._currentTileIndex<z.length;){var Ie=z[this._currentTileIndex];if(K.getBucketParts(de,$,Ie,this._sortAcrossTiles),this._currentTileIndex++,pe())return!0}for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,de.sort(function(pt,Kt){return pt.sortKey-Kt.sortKey}));this._currentPartIndex<de.length;){var $e=de[this._currentPartIndex];if(K.placeLayerBucketPart($e,this._seenCrossTileIDs,O),this._currentPartIndex++,pe())return!0}return!1};var Co=function(z,K,O,$,pe,de,Ie){this.placement=new ms(z,pe,de,Ie),this._currentPlacementIndex=K.length-1,this._forceFullPlacement=O,this._showCollisionBoxes=$,this._done=!1};Co.prototype.isDone=function(){return this._done},Co.prototype.continuePlacement=function(z,K,O){for(var $=this,pe=i.browser.now(),de=function(){var ir=i.browser.now()-pe;return $._forceFullPlacement?!1:ir>2};this._currentPlacementIndex>=0;){var Ie=z[this._currentPlacementIndex],$e=K[Ie],pt=this.placement.collisionIndex.transform.zoom;if($e.type===\"symbol\"&&(!$e.minzoom||$e.minzoom<=pt)&&(!$e.maxzoom||$e.maxzoom>pt)){this._inProgressLayer||(this._inProgressLayer=new ko($e));var Kt=this._inProgressLayer.continuePlacement(O[$e.source],this.placement,this._showCollisionBoxes,$e,de);if(Kt)return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Co.prototype.commit=function(z){return this.placement.commit(z),this.placement};var Tl=512/i.EXTENT/2,uf=function(z,K,O){this.tileID=z,this.indexedSymbolInstances={},this.bucketInstanceId=O;for(var $=0;$<K.length;$++){var pe=K.get($),de=pe.key;this.indexedSymbolInstances[de]||(this.indexedSymbolInstances[de]=[]),this.indexedSymbolInstances[de].push({crossTileID:pe.crossTileID,coord:this.getScaledCoordinates(pe,z)})}};uf.prototype.getScaledCoordinates=function(z,K){var O=K.canonical.z-this.tileID.canonical.z,$=Tl/Math.pow(2,O);return{x:Math.floor((K.canonical.x*i.EXTENT+z.anchorX)*$),y:Math.floor((K.canonical.y*i.EXTENT+z.anchorY)*$)}},uf.prototype.findMatches=function(z,K,O){for(var $=this.tileID.canonical.z<K.canonical.z?1:Math.pow(2,this.tileID.canonical.z-K.canonical.z),pe=0;pe<z.length;pe++){var de=z.get(pe);if(!de.crossTileID){var Ie=this.indexedSymbolInstances[de.key];if(Ie)for(var $e=this.getScaledCoordinates(de,K),pt=0,Kt=Ie;pt<Kt.length;pt+=1){var ir=Kt[pt];if(Math.abs(ir.coord.x-$e.x)<=$&&Math.abs(ir.coord.y-$e.y)<=$&&!O[ir.crossTileID]){O[ir.crossTileID]=!0,de.crossTileID=ir.crossTileID;break}}}}};var So=function(){this.maxCrossTileID=0};So.prototype.generate=function(){return++this.maxCrossTileID};var cf=function(){this.indexes={},this.usedCrossTileIDs={},this.lng=0};cf.prototype.handleWrapJump=function(z){var K=Math.round((z-this.lng)/360);if(K!==0)for(var O in this.indexes){var $=this.indexes[O],pe={};for(var de in $){var Ie=$[de];Ie.tileID=Ie.tileID.unwrapTo(Ie.tileID.wrap+K),pe[Ie.tileID.key]=Ie}this.indexes[O]=pe}this.lng=z},cf.prototype.addBucket=function(z,K,O){if(this.indexes[z.overscaledZ]&&this.indexes[z.overscaledZ][z.key]){if(this.indexes[z.overscaledZ][z.key].bucketInstanceId===K.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(z.overscaledZ,this.indexes[z.overscaledZ][z.key])}for(var $=0;$<K.symbolInstances.length;$++){var pe=K.symbolInstances.get($);pe.crossTileID=0}this.usedCrossTileIDs[z.overscaledZ]||(this.usedCrossTileIDs[z.overscaledZ]={});var de=this.usedCrossTileIDs[z.overscaledZ];for(var Ie in this.indexes){var $e=this.indexes[Ie];if(Number(Ie)>z.overscaledZ)for(var pt in $e){var Kt=$e[pt];Kt.tileID.isChildOf(z)&&Kt.findMatches(K.symbolInstances,z,de)}else{var ir=z.scaledTo(Number(Ie)),Jt=$e[ir.key];Jt&&Jt.findMatches(K.symbolInstances,z,de)}}for(var vt=0;vt<K.symbolInstances.length;vt++){var Pt=K.symbolInstances.get(vt);Pt.crossTileID||(Pt.crossTileID=O.generate(),de[Pt.crossTileID]=!0)}return this.indexes[z.overscaledZ]===void 0&&(this.indexes[z.overscaledZ]={}),this.indexes[z.overscaledZ][z.key]=new uf(z,K.symbolInstances,K.bucketInstanceId),!0},cf.prototype.removeBucketCrossTileIDs=function(z,K){for(var O in K.indexedSymbolInstances)for(var $=0,pe=K.indexedSymbolInstances[O];$<pe.length;$+=1){var de=pe[$];delete this.usedCrossTileIDs[z][de.crossTileID]}},cf.prototype.removeStaleBuckets=function(z){var K=!1;for(var O in this.indexes){var $=this.indexes[O];for(var pe in $)z[$[pe].bucketInstanceId]||(this.removeBucketCrossTileIDs(O,$[pe]),delete $[pe],K=!0)}return K};var rh=function(){this.layerIndexes={},this.crossTileIDs=new So,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}};rh.prototype.addLayer=function(z,K,O){var $=this.layerIndexes[z.id];$===void 0&&($=this.layerIndexes[z.id]=new cf);var pe=!1,de={};$.handleWrapJump(O);for(var Ie=0,$e=K;Ie<$e.length;Ie+=1){var pt=$e[Ie],Kt=pt.getBucket(z);!Kt||z.id!==Kt.layerIds[0]||(Kt.bucketInstanceId||(Kt.bucketInstanceId=++this.maxBucketInstanceId),$.addBucket(pt.tileID,Kt,this.crossTileIDs)&&(pe=!0),de[Kt.bucketInstanceId]=!0)}return $.removeStaleBuckets(de)&&(pe=!0),pe},rh.prototype.pruneUnusedLayers=function(z){var K={};z.forEach(function($){K[$]=!0});for(var O in this.layerIndexes)K[O]||delete this.layerIndexes[O]};var Al=function(Y,z){return i.emitValidationErrors(Y,z&&z.filter(function(K){return K.identifier!==\"source.canvas\"}))},Hc=i.pick(oa,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\"]),eu=i.pick(oa,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),Ls=jo(),mu=function(Y){function z(K,O){var $=this;O===void 0&&(O={}),Y.call(this),this.map=K,this.dispatcher=new X(ka(),this),this.imageManager=new E,this.imageManager.setEventedParent(this),this.glyphManager=new P(K._requestManager,O.localIdeographFontFamily),this.lineAtlas=new H(256,512),this.crossTileSymbolIndex=new rh,this._layers={},this._serializedLayers={},this._order=[],this.sourceCaches={},this.zoomHistory=new i.ZoomHistory,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"setReferrer\",i.getReferrer());var pe=this;this._rtlTextPluginCallback=z.registerForPluginStateChange(function(de){var Ie={pluginStatus:de.pluginStatus,pluginURL:de.pluginURL};pe.dispatcher.broadcast(\"syncRTLPluginState\",Ie,function($e,pt){if(i.triggerPluginCompletionEvent($e),pt){var Kt=pt.every(function(Jt){return Jt});if(Kt)for(var ir in pe.sourceCaches)pe.sourceCaches[ir].reload()}})}),this.on(\"data\",function(de){if(!(de.dataType!==\"source\"||de.sourceDataType!==\"metadata\")){var Ie=$.sourceCaches[de.sourceId];if(Ie){var $e=Ie.getSource();if(!(!$e||!$e.vectorLayerIds))for(var pt in $._layers){var Kt=$._layers[pt];Kt.source===$e.id&&$._validateLayer(Kt)}}}})}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.loadURL=function(O,$){var pe=this;$===void 0&&($={}),this.fire(new i.Event(\"dataloading\",{dataType:\"style\"}));var de=typeof $.validate==\"boolean\"?$.validate:!i.isMapboxURL(O);O=this.map._requestManager.normalizeStyleURL(O,$.accessToken);var Ie=this.map._requestManager.transformRequest(O,i.ResourceType.Style);this._request=i.getJSON(Ie,function($e,pt){pe._request=null,$e?pe.fire(new i.ErrorEvent($e)):pt&&pe._load(pt,de)})},z.prototype.loadJSON=function(O,$){var pe=this;$===void 0&&($={}),this.fire(new i.Event(\"dataloading\",{dataType:\"style\"})),this._request=i.browser.frame(function(){pe._request=null,pe._load(O,$.validate!==!1)})},z.prototype.loadEmpty=function(){this.fire(new i.Event(\"dataloading\",{dataType:\"style\"})),this._load(Ls,!1)},z.prototype._load=function(O,$){if(!($&&Al(this,i.validateStyle(O)))){this._loaded=!0,this.stylesheet=O;for(var pe in O.sources)this.addSource(pe,O.sources[pe],{validate:!1});O.sprite?this._loadSprite(O.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(O.glyphs);var de=Ra(this.stylesheet.layers);this._order=de.map(function(Kt){return Kt.id}),this._layers={},this._serializedLayers={};for(var Ie=0,$e=de;Ie<$e.length;Ie+=1){var pt=$e[Ie];pt=i.createStyleLayer(pt),pt.setEventedParent(this,{layer:{id:pt.id}}),this._layers[pt.id]=pt,this._serializedLayers[pt.id]=pt.serialize()}this.dispatcher.broadcast(\"setLayers\",this._serializeLayers(this._order)),this.light=new V(this.stylesheet.light),this.fire(new i.Event(\"data\",{dataType:\"style\"})),this.fire(new i.Event(\"style.load\"))}},z.prototype._loadSprite=function(O){var $=this;this._spriteRequest=x(O,this.map._requestManager,function(pe,de){if($._spriteRequest=null,pe)$.fire(new i.ErrorEvent(pe));else if(de)for(var Ie in de)$.imageManager.addImage(Ie,de[Ie]);$.imageManager.setLoaded(!0),$._availableImages=$.imageManager.listImages(),$.dispatcher.broadcast(\"setImages\",$._availableImages),$.fire(new i.Event(\"data\",{dataType:\"style\"}))})},z.prototype._validateLayer=function(O){var $=this.sourceCaches[O.source];if($){var pe=O.sourceLayer;if(pe){var de=$.getSource();(de.type===\"geojson\"||de.vectorLayerIds&&de.vectorLayerIds.indexOf(pe)===-1)&&this.fire(new i.ErrorEvent(new Error('Source layer \"'+pe+'\" does not exist on source \"'+de.id+'\" as specified by style layer \"'+O.id+'\"')))}}},z.prototype.loaded=function(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(var O in this.sourceCaches)if(!this.sourceCaches[O].loaded())return!1;return!!this.imageManager.isLoaded()},z.prototype._serializeLayers=function(O){for(var $=[],pe=0,de=O;pe<de.length;pe+=1){var Ie=de[pe],$e=this._layers[Ie];$e.type!==\"custom\"&&$.push($e.serialize())}return $},z.prototype.hasTransitions=function(){if(this.light&&this.light.hasTransition())return!0;for(var O in this.sourceCaches)if(this.sourceCaches[O].hasTransition())return!0;for(var $ in this._layers)if(this._layers[$].hasTransition())return!0;return!1},z.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\"Style is not done loading\")},z.prototype.update=function(O){if(this._loaded){var $=this._changed;if(this._changed){var pe=Object.keys(this._updatedLayers),de=Object.keys(this._removedLayers);(pe.length||de.length)&&this._updateWorkerLayers(pe,de);for(var Ie in this._updatedSources){var $e=this._updatedSources[Ie];$e===\"reload\"?this._reloadSource(Ie):$e===\"clear\"&&this._clearSource(Ie)}this._updateTilesForChangedImages();for(var pt in this._updatedPaintProps)this._layers[pt].updateTransitions(O);this.light.updateTransitions(O),this._resetUpdates()}var Kt={};for(var ir in this.sourceCaches){var Jt=this.sourceCaches[ir];Kt[ir]=Jt.used,Jt.used=!1}for(var vt=0,Pt=this._order;vt<Pt.length;vt+=1){var Wt=Pt[vt],rr=this._layers[Wt];rr.recalculate(O,this._availableImages),!rr.isHidden(O.zoom)&&rr.source&&(this.sourceCaches[rr.source].used=!0)}for(var dr in Kt){var pr=this.sourceCaches[dr];Kt[dr]!==pr.used&&pr.fire(new i.Event(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:dr}))}this.light.recalculate(O),this.z=O.zoom,$&&this.fire(new i.Event(\"data\",{dataType:\"style\"}))}},z.prototype._updateTilesForChangedImages=function(){var O=Object.keys(this._changedImages);if(O.length){for(var $ in this.sourceCaches)this.sourceCaches[$].reloadTilesForDependencies([\"icons\",\"patterns\"],O);this._changedImages={}}},z.prototype._updateWorkerLayers=function(O,$){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(O),removedIds:$})},z.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={}},z.prototype.setState=function(O){var $=this;if(this._checkLoaded(),Al(this,i.validateStyle(O)))return!1;O=i.clone$1(O),O.layers=Ra(O.layers);var pe=Yi(this.serialize(),O).filter(function(Ie){return!(Ie.command in eu)});if(pe.length===0)return!1;var de=pe.filter(function(Ie){return!(Ie.command in Hc)});if(de.length>0)throw new Error(\"Unimplemented: \"+de.map(function(Ie){return Ie.command}).join(\", \")+\".\");return pe.forEach(function(Ie){Ie.command!==\"setTransition\"&&$[Ie.command].apply($,Ie.args)}),this.stylesheet=O,!0},z.prototype.addImage=function(O,$){if(this.getImage(O))return this.fire(new i.ErrorEvent(new Error(\"An image with this name already exists.\")));this.imageManager.addImage(O,$),this._afterImageUpdated(O)},z.prototype.updateImage=function(O,$){this.imageManager.updateImage(O,$)},z.prototype.getImage=function(O){return this.imageManager.getImage(O)},z.prototype.removeImage=function(O){if(!this.getImage(O))return this.fire(new i.ErrorEvent(new Error(\"No image with this name exists.\")));this.imageManager.removeImage(O),this._afterImageUpdated(O)},z.prototype._afterImageUpdated=function(O){this._availableImages=this.imageManager.listImages(),this._changedImages[O]=!0,this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new i.Event(\"data\",{dataType:\"style\"}))},z.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},z.prototype.addSource=function(O,$,pe){var de=this;if(pe===void 0&&(pe={}),this._checkLoaded(),this.sourceCaches[O]!==void 0)throw new Error(\"There is already a source with this ID\");if(!$.type)throw new Error(\"The type property must be defined, but only the following properties were given: \"+Object.keys($).join(\", \")+\".\");var Ie=[\"vector\",\"raster\",\"geojson\",\"video\",\"image\"],$e=Ie.indexOf($.type)>=0;if(!($e&&this._validate(i.validateStyle.source,\"sources.\"+O,$,null,pe))){this.map&&this.map._collectResourceTiming&&($.collectResourceTiming=!0);var pt=this.sourceCaches[O]=new Zr(O,$,this.dispatcher);pt.style=this,pt.setEventedParent(this,function(){return{isSourceLoaded:de.loaded(),source:pt.serialize(),sourceId:O}}),pt.onAdd(this.map),this._changed=!0}},z.prototype.removeSource=function(O){if(this._checkLoaded(),this.sourceCaches[O]===void 0)throw new Error(\"There is no source with this ID\");for(var $ in this._layers)if(this._layers[$].source===O)return this.fire(new i.ErrorEvent(new Error('Source \"'+O+'\" cannot be removed while layer \"'+$+'\" is using it.')));var pe=this.sourceCaches[O];delete this.sourceCaches[O],delete this._updatedSources[O],pe.fire(new i.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:O})),pe.setEventedParent(null),pe.clearTiles(),pe.onRemove&&pe.onRemove(this.map),this._changed=!0},z.prototype.setGeoJSONSourceData=function(O,$){this._checkLoaded();var pe=this.sourceCaches[O].getSource();pe.setData($),this._changed=!0},z.prototype.getSource=function(O){return this.sourceCaches[O]&&this.sourceCaches[O].getSource()},z.prototype.addLayer=function(O,$,pe){pe===void 0&&(pe={}),this._checkLoaded();var de=O.id;if(this.getLayer(de)){this.fire(new i.ErrorEvent(new Error('Layer with id \"'+de+'\" already exists on this map')));return}var Ie;if(O.type===\"custom\"){if(Al(this,i.validateCustomStyleLayer(O)))return;Ie=i.createStyleLayer(O)}else{if(typeof O.source==\"object\"&&(this.addSource(de,O.source),O=i.clone$1(O),O=i.extend(O,{source:de})),this._validate(i.validateStyle.layer,\"layers.\"+de,O,{arrayIndex:-1},pe))return;Ie=i.createStyleLayer(O),this._validateLayer(Ie),Ie.setEventedParent(this,{layer:{id:de}}),this._serializedLayers[Ie.id]=Ie.serialize()}var $e=$?this._order.indexOf($):this._order.length;if($&&$e===-1){this.fire(new i.ErrorEvent(new Error('Layer with id \"'+$+'\" does not exist on this map.')));return}if(this._order.splice($e,0,de),this._layerOrderChanged=!0,this._layers[de]=Ie,this._removedLayers[de]&&Ie.source&&Ie.type!==\"custom\"){var pt=this._removedLayers[de];delete this._removedLayers[de],pt.type!==Ie.type?this._updatedSources[Ie.source]=\"clear\":(this._updatedSources[Ie.source]=\"reload\",this.sourceCaches[Ie.source].pause())}this._updateLayer(Ie),Ie.onAdd&&Ie.onAdd(this.map)},z.prototype.moveLayer=function(O,$){this._checkLoaded(),this._changed=!0;var pe=this._layers[O];if(!pe){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be moved.\")));return}if(O!==$){var de=this._order.indexOf(O);this._order.splice(de,1);var Ie=$?this._order.indexOf($):this._order.length;if($&&Ie===-1){this.fire(new i.ErrorEvent(new Error('Layer with id \"'+$+'\" does not exist on this map.')));return}this._order.splice(Ie,0,O),this._layerOrderChanged=!0}},z.prototype.removeLayer=function(O){this._checkLoaded();var $=this._layers[O];if(!$){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be removed.\")));return}$.setEventedParent(null);var pe=this._order.indexOf(O);this._order.splice(pe,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[O]=$,delete this._layers[O],delete this._serializedLayers[O],delete this._updatedLayers[O],delete this._updatedPaintProps[O],$.onRemove&&$.onRemove(this.map)},z.prototype.getLayer=function(O){return this._layers[O]},z.prototype.hasLayer=function(O){return O in this._layers},z.prototype.setLayerZoomRange=function(O,$,pe){this._checkLoaded();var de=this.getLayer(O);if(!de){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot have zoom extent.\")));return}de.minzoom===$&&de.maxzoom===pe||($!=null&&(de.minzoom=$),pe!=null&&(de.maxzoom=pe),this._updateLayer(de))},z.prototype.setFilter=function(O,$,pe){pe===void 0&&(pe={}),this._checkLoaded();var de=this.getLayer(O);if(!de){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be filtered.\")));return}if(!i.deepEqual(de.filter,$)){if($==null){de.filter=void 0,this._updateLayer(de);return}this._validate(i.validateStyle.filter,\"layers.\"+de.id+\".filter\",$,null,pe)||(de.filter=i.clone$1($),this._updateLayer(de))}},z.prototype.getFilter=function(O){return i.clone$1(this.getLayer(O).filter)},z.prototype.setLayoutProperty=function(O,$,pe,de){de===void 0&&(de={}),this._checkLoaded();var Ie=this.getLayer(O);if(!Ie){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be styled.\")));return}i.deepEqual(Ie.getLayoutProperty($),pe)||(Ie.setLayoutProperty($,pe,de),this._updateLayer(Ie))},z.prototype.getLayoutProperty=function(O,$){var pe=this.getLayer(O);if(!pe){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style.\")));return}return pe.getLayoutProperty($)},z.prototype.setPaintProperty=function(O,$,pe,de){de===void 0&&(de={}),this._checkLoaded();var Ie=this.getLayer(O);if(!Ie){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be styled.\")));return}if(!i.deepEqual(Ie.getPaintProperty($),pe)){var $e=Ie.setPaintProperty($,pe,de);$e&&this._updateLayer(Ie),this._changed=!0,this._updatedPaintProps[O]=!0}},z.prototype.getPaintProperty=function(O,$){return this.getLayer(O).getPaintProperty($)},z.prototype.setFeatureState=function(O,$){this._checkLoaded();var pe=O.source,de=O.sourceLayer,Ie=this.sourceCaches[pe];if(Ie===void 0){this.fire(new i.ErrorEvent(new Error(\"The source '\"+pe+\"' does not exist in the map's style.\")));return}var $e=Ie.getSource().type;if($e===\"geojson\"&&de){this.fire(new i.ErrorEvent(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\")));return}if($e===\"vector\"&&!de){this.fire(new i.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}O.id===void 0&&this.fire(new i.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),Ie.setFeatureState(de,O.id,$)},z.prototype.removeFeatureState=function(O,$){this._checkLoaded();var pe=O.source,de=this.sourceCaches[pe];if(de===void 0){this.fire(new i.ErrorEvent(new Error(\"The source '\"+pe+\"' does not exist in the map's style.\")));return}var Ie=de.getSource().type,$e=Ie===\"vector\"?O.sourceLayer:void 0;if(Ie===\"vector\"&&!$e){this.fire(new i.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}if($&&typeof O.id!=\"string\"&&typeof O.id!=\"number\"){this.fire(new i.ErrorEvent(new Error(\"A feature id is required to remove its specific state property.\")));return}de.removeFeatureState($e,O.id,$)},z.prototype.getFeatureState=function(O){this._checkLoaded();var $=O.source,pe=O.sourceLayer,de=this.sourceCaches[$];if(de===void 0){this.fire(new i.ErrorEvent(new Error(\"The source '\"+$+\"' does not exist in the map's style.\")));return}var Ie=de.getSource().type;if(Ie===\"vector\"&&!pe){this.fire(new i.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}return O.id===void 0&&this.fire(new i.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),de.getFeatureState(pe,O.id)},z.prototype.getTransition=function(){return i.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},z.prototype.serialize=function(){return i.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:i.mapObject(this.sourceCaches,function(O){return O.serialize()}),layers:this._serializeLayers(this._order)},function(O){return O!==void 0})},z.prototype._updateLayer=function(O){this._updatedLayers[O.id]=!0,O.source&&!this._updatedSources[O.source]&&this.sourceCaches[O.source].getSource().type!==\"raster\"&&(this._updatedSources[O.source]=\"reload\",this.sourceCaches[O.source].pause()),this._changed=!0},z.prototype._flattenAndSortRenderedFeatures=function(O){for(var $=this,pe=function(ln){return $._layers[ln].type===\"fill-extrusion\"},de={},Ie=[],$e=this._order.length-1;$e>=0;$e--){var pt=this._order[$e];if(pe(pt)){de[pt]=$e;for(var Kt=0,ir=O;Kt<ir.length;Kt+=1){var Jt=ir[Kt],vt=Jt[pt];if(vt)for(var Pt=0,Wt=vt;Pt<Wt.length;Pt+=1){var rr=Wt[Pt];Ie.push(rr)}}}}Ie.sort(function(ln,Qn){return Qn.intersectionZ-ln.intersectionZ});for(var dr=[],pr=this._order.length-1;pr>=0;pr--){var kr=this._order[pr];if(pe(kr))for(var Ar=Ie.length-1;Ar>=0;Ar--){var gr=Ie[Ar].feature;if(de[gr.layer.id]<pr)break;dr.push(gr),Ie.pop()}else for(var Cr=0,cr=O;Cr<cr.length;Cr+=1){var Gr=cr[Cr],ei=Gr[kr];if(ei)for(var yi=0,tn=ei;yi<tn.length;yi+=1){var Ri=tn[yi];dr.push(Ri.feature)}}}return dr},z.prototype.queryRenderedFeatures=function(O,$,pe){$&&$.filter&&this._validate(i.validateStyle.filter,\"queryRenderedFeatures.filter\",$.filter,null,$);var de={};if($&&$.layers){if(!Array.isArray($.layers))return this.fire(new i.ErrorEvent(new Error(\"parameters.layers must be an Array.\"))),[];for(var Ie=0,$e=$.layers;Ie<$e.length;Ie+=1){var pt=$e[Ie],Kt=this._layers[pt];if(!Kt)return this.fire(new i.ErrorEvent(new Error(\"The layer '\"+pt+\"' does not exist in the map's style and cannot be queried for features.\"))),[];de[Kt.source]=!0}}var ir=[];$.availableImages=this._availableImages;for(var Jt in this.sourceCaches)$.layers&&!de[Jt]||ir.push(ce(this.sourceCaches[Jt],this._layers,this._serializedLayers,O,$,pe));return this.placement&&ir.push(Ge(this._layers,this._serializedLayers,this.sourceCaches,O,$,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(ir)},z.prototype.querySourceFeatures=function(O,$){$&&$.filter&&this._validate(i.validateStyle.filter,\"querySourceFeatures.filter\",$.filter,null,$);var pe=this.sourceCaches[O];return pe?nt(pe,$):[]},z.prototype.addSourceType=function(O,$,pe){if(z.getSourceType(O))return pe(new Error('A source type called \"'+O+'\" already exists.'));if(z.setSourceType(O,$),!$.workerSourceURL)return pe(null,null);this.dispatcher.broadcast(\"loadWorkerSource\",{name:O,url:$.workerSourceURL},pe)},z.prototype.getLight=function(){return this.light.getLight()},z.prototype.setLight=function(O,$){$===void 0&&($={}),this._checkLoaded();var pe=this.light.getLight(),de=!1;for(var Ie in O)if(!i.deepEqual(O[Ie],pe[Ie])){de=!0;break}if(de){var $e={now:i.browser.now(),transition:i.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(O,$),this.light.updateTransitions($e)}},z.prototype._validate=function(O,$,pe,de,Ie){return Ie===void 0&&(Ie={}),Ie&&Ie.validate===!1?!1:Al(this,O.call(i.validateStyle,i.extend({key:$,style:this.serialize(),value:pe,styleSpec:i.styleSpec},de)))},z.prototype._remove=function(){this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),i.evented.off(\"pluginStateChange\",this._rtlTextPluginCallback);for(var O in this._layers){var $=this._layers[O];$.setEventedParent(null)}for(var pe in this.sourceCaches)this.sourceCaches[pe].clearTiles(),this.sourceCaches[pe].setEventedParent(null);this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove()},z.prototype._clearSource=function(O){this.sourceCaches[O].clearTiles()},z.prototype._reloadSource=function(O){this.sourceCaches[O].resume(),this.sourceCaches[O].reload()},z.prototype._updateSources=function(O){for(var $ in this.sourceCaches)this.sourceCaches[$].update(O)},z.prototype._generateCollisionBoxes=function(){for(var O in this.sourceCaches)this._reloadSource(O)},z.prototype._updatePlacement=function(O,$,pe,de,Ie){Ie===void 0&&(Ie=!1);for(var $e=!1,pt=!1,Kt={},ir=0,Jt=this._order;ir<Jt.length;ir+=1){var vt=Jt[ir],Pt=this._layers[vt];if(Pt.type===\"symbol\"){if(!Kt[Pt.source]){var Wt=this.sourceCaches[Pt.source];Kt[Pt.source]=Wt.getRenderableIds(!0).map(function(Cr){return Wt.getTileByID(Cr)}).sort(function(Cr,cr){return cr.tileID.overscaledZ-Cr.tileID.overscaledZ||(Cr.tileID.isLessThan(cr.tileID)?-1:1)})}var rr=this.crossTileSymbolIndex.addLayer(Pt,Kt[Pt.source],O.center.lng);$e=$e||rr}}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),Ie=Ie||this._layerOrderChanged||pe===0,(Ie||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(i.browser.now(),O.zoom))&&(this.pauseablePlacement=new Co(O,this._order,Ie,$,pe,de,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,Kt),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(i.browser.now()),pt=!0),$e&&this.pauseablePlacement.placement.setStale()),pt||$e)for(var dr=0,pr=this._order;dr<pr.length;dr+=1){var kr=pr[dr],Ar=this._layers[kr];Ar.type===\"symbol\"&&this.placement.updateLayerOpacities(Ar,Kt[Ar.source])}var gr=!this.pauseablePlacement.isDone()||this.placement.hasTransitions(i.browser.now());return gr},z.prototype._releaseSymbolFadeTiles=function(){for(var O in this.sourceCaches)this.sourceCaches[O].releaseSymbolFadeTiles()},z.prototype.getImages=function(O,$,pe){this.imageManager.getImages($.icons,pe),this._updateTilesForChangedImages();var de=this.sourceCaches[$.source];de&&de.setDependencies($.tileID.key,$.type,$.icons)},z.prototype.getGlyphs=function(O,$,pe){this.glyphManager.getGlyphs($.stacks,pe)},z.prototype.getResource=function(O,$,pe){return i.makeRequest($,pe)},z}(i.Evented);mu.getSourceType=ze,mu.setSourceType=Ce,mu.registerForPluginStateChange=i.registerForPluginStateChange;var kc=i.createLayout([{name:\"a_pos\",type:\"Int16\",components:2}]),Of=`#ifdef GL_ES\n", - "precision 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`,Gc=`#ifdef GL_ES\n", - "precision 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\n", - "vec2 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;}`,vd=`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Bf=\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\",ss=`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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,ff=\"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);}\",ih=`varying vec3 v_data;\n", - "#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define mediump float radius\n", - "#pragma mapbox: define lowp float blur\n", - "#pragma mapbox: define lowp float opacity\n", - "#pragma mapbox: define highp vec4 stroke_color\n", - "#pragma mapbox: define mediump float stroke_width\n", - "#pragma mapbox: define lowp float stroke_opacity\n", - "void 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\n", - "vec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Vl=`uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;\n", - "#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define mediump float radius\n", - "#pragma mapbox: define lowp float blur\n", - "#pragma mapbox: define lowp float opacity\n", - "#pragma mapbox: define highp vec4 stroke_color\n", - "#pragma mapbox: define mediump float stroke_width\n", - "#pragma mapbox: define lowp float stroke_opacity\n", - "void 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\n", - "vec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`,Js=\"void main() {gl_FragColor=vec4(1.0);}\",hc=\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\",Cc=`uniform highp float u_intensity;varying vec2 v_extrude;\n", - "#pragma mapbox: define highp float weight\n", - "#define GAUSS_COEF 0.3989422804014327\n", - "void main() {\n", - "#pragma mapbox: initialize highp float weight\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,ws=`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\n", - "const highp float ZERO=1.0/255.0/16.0;\n", - "#define GAUSS_COEF 0.3989422804014327\n", - "void main(void) {\n", - "#pragma mapbox: initialize highp float weight\n", - "#pragma mapbox: initialize mediump float radius\n", - "vec2 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;}`,$s=`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\n", - "gl_FragColor=vec4(0.0);\n", - "#endif\n", - "}`,hs=\"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;}\",Ms=\"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;}}\",dc=\"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;}\",Sl=\"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;}\",ec=\"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);}\",Ps=\"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);}\",ov=\"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);}\",wo=`#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_FragColor=color*opacity;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Od=`attribute vec2 a_pos;uniform mat4 u_matrix;\n", - "#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_Position=u_matrix*vec4(a_pos,0,1);}`,$o=`varying vec2 v_pos;\n", - "#pragma mapbox: define highp vec4 outline_color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 outline_color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Ja=`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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 outline_color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`,Ef=`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\n", - "void 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", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,tc=`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\n", - "void 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\n", - "vec2 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;}`,uu=`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\n", - "void 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", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Mh=`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\n", - "void 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\n", - "vec2 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);}`,jc=`varying vec4 v_color;void main() {gl_FragColor=v_color;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,kf=`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\n", - "void main() {\n", - "#pragma mapbox: initialize highp float base\n", - "#pragma mapbox: initialize highp float height\n", - "#pragma mapbox: initialize highp vec4 color\n", - "vec3 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;}`,Ml=`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\n", - "void 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\n", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Yh=`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\n", - "void 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\n", - "vec2 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;}`,Eh=`#ifdef GL_ES\n", - "precision highp float;\n", - "#endif\n", - "uniform 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,nh=\"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;}\",hf=`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\n", - "void 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,kh=\"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;}\",Kh=`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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float blur\n", - "#pragma mapbox: initialize lowp float opacity\n", - "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);gl_FragColor=color*(alpha*opacity);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,rc=`\n", - "#define scale 0.015873016\n", - "attribute 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\n", - "void 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", - "float 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);}`,ah=`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\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float blur\n", - "#pragma mapbox: initialize lowp float opacity\n", - "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);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Wc=`\n", - "#define scale 0.015873016\n", - "attribute 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\n", - "void 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\n", - "float 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);}`,df=`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\n", - "void 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\n", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Cu=`\n", - "#define scale 0.015873016\n", - "#define LINE_DISTANCE_SCALE 2.0\n", - "attribute 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\n", - "void 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\n", - "float 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;}`,Nf=`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\n", - "void 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\n", - "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 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Zc=`\n", - "#define scale 0.015873016\n", - "#define LINE_DISTANCE_SCALE 2.0\n", - "attribute 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\n", - "void 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\n", - "float 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);}`,ds=`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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Ch=\"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;}\",Bd=`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float opacity\n", - "lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Jh=`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\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float opacity\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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));}`,Cf=`#define SDF_PX 8.0\n", - "uniform 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\n", - "void 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\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,pd=`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\n", - "void 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\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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);}`,Lu=`#define SDF_PX 8.0\n", - "#define SDF 1.0\n", - "#define ICON 0.0\n", - "uniform 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\n", - "void 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\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "return;}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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,$h=`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\n", - "void 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\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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);}`,tu=Is(Of,Gc),Pu=Is(vd,Bf),Lc=Is(ss,ff),fl=Is(ih,Vl),Xc=Is(Js,hc),ic=Is(Cc,ws),yu=Is($s,hs),Qs=Is(Ms,dc),Qh=Is(Sl,ec),gd=Is(Ps,ov),Gu=Is(wo,Od),Pc=Is($o,Ja),vc=Is(Ef,tc),sv=Is(uu,Mh),Lf=Is(jc,kf),Uf=Is(Ml,Yh),Iu=Is(Eh,nh),oh=Is(hf,kh),ru=Is(Kh,rc),vf=Is(ah,Wc),md=Is(df,Cu),sh=Is(Nf,Zc),Fs=Is(ds,Ch),_u=Is(Bd,Jh),xu=Is(Cf,pd),Lh=Is(Lu,$h);function Is(Y,z){var K=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,O=z.match(/attribute ([\\w]+) ([\\w]+)/g),$=Y.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),pe=z.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),de=pe?pe.concat($):$,Ie={};return Y=Y.replace(K,function($e,pt,Kt,ir,Jt){return Ie[Jt]=!0,pt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - "varying `+Kt+\" \"+ir+\" \"+Jt+`;\n", - "#else\n", - "uniform `+Kt+\" \"+ir+\" u_\"+Jt+`;\n", - "#endif\n", - "`:`\n", - "#ifdef HAS_UNIFORM_u_`+Jt+`\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`}),z=z.replace(K,function($e,pt,Kt,ir,Jt){var vt=ir===\"float\"?\"vec2\":\"vec4\",Pt=Jt.match(/color/)?\"color\":vt;return Ie[Jt]?pt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - "uniform lowp float u_`+Jt+`_t;\n", - "attribute `+Kt+\" \"+vt+\" a_\"+Jt+`;\n", - "varying `+Kt+\" \"+ir+\" \"+Jt+`;\n", - "#else\n", - "uniform `+Kt+\" \"+ir+\" u_\"+Jt+`;\n", - "#endif\n", - "`:Pt===\"vec4\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - " `+Jt+\" = a_\"+Jt+`;\n", - "#else\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`:`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - " `+Jt+\" = unpack_mix_\"+Pt+\"(a_\"+Jt+\", u_\"+Jt+`_t);\n", - "#else\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`:pt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - "uniform lowp float u_`+Jt+`_t;\n", - "attribute `+Kt+\" \"+vt+\" a_\"+Jt+`;\n", - "#else\n", - "uniform `+Kt+\" \"+ir+\" u_\"+Jt+`;\n", - "#endif\n", - "`:Pt===\"vec4\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = a_\"+Jt+`;\n", - "#else\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`:`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = unpack_mix_\"+Pt+\"(a_\"+Jt+\", u_\"+Jt+`_t);\n", - "#else\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`}),{fragmentSource:Y,vertexSource:z,staticAttributes:O,staticUniforms:de}}var Pf=Object.freeze({__proto__:null,prelude:tu,background:Pu,backgroundPattern:Lc,circle:fl,clippingMask:Xc,heatmap:ic,heatmapTexture:yu,collisionBox:Qs,collisionCircle:Qh,debug:gd,fill:Gu,fillOutline:Pc,fillOutlinePattern:vc,fillPattern:sv,fillExtrusion:Lf,fillExtrusionPattern:Uf,hillshadePrepare:Iu,hillshade:oh,line:ru,lineGradient:vf,linePattern:md,lineSDF:sh,raster:Fs,symbolIcon:_u,symbolSDF:xu,symbolTextAndIcon:Lh}),Ic=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};Ic.prototype.bind=function(z,K,O,$,pe,de,Ie,$e){this.context=z;for(var pt=this.boundPaintVertexBuffers.length!==$.length,Kt=0;!pt&&Kt<$.length;Kt++)this.boundPaintVertexBuffers[Kt]!==$[Kt]&&(pt=!0);var ir=!this.vao||this.boundProgram!==K||this.boundLayoutVertexBuffer!==O||pt||this.boundIndexBuffer!==pe||this.boundVertexOffset!==de||this.boundDynamicVertexBuffer!==Ie||this.boundDynamicVertexBuffer2!==$e;!z.extVertexArrayObject||ir?this.freshBind(K,O,$,pe,de,Ie,$e):(z.bindVertexArrayOES.set(this.vao),Ie&&Ie.bind(),pe&&pe.dynamicDraw&&pe.bind(),$e&&$e.bind())},Ic.prototype.freshBind=function(z,K,O,$,pe,de,Ie){var $e,pt=z.numAttributes,Kt=this.context,ir=Kt.gl;if(Kt.extVertexArrayObject)this.vao&&this.destroy(),this.vao=Kt.extVertexArrayObject.createVertexArrayOES(),Kt.bindVertexArrayOES.set(this.vao),$e=0,this.boundProgram=z,this.boundLayoutVertexBuffer=K,this.boundPaintVertexBuffers=O,this.boundIndexBuffer=$,this.boundVertexOffset=pe,this.boundDynamicVertexBuffer=de,this.boundDynamicVertexBuffer2=Ie;else{$e=Kt.currentNumAttributes||0;for(var Jt=pt;Jt<$e;Jt++)ir.disableVertexAttribArray(Jt)}K.enableAttributes(ir,z);for(var vt=0,Pt=O;vt<Pt.length;vt+=1){var Wt=Pt[vt];Wt.enableAttributes(ir,z)}de&&de.enableAttributes(ir,z),Ie&&Ie.enableAttributes(ir,z),K.bind(),K.setVertexAttribPointers(ir,z,pe);for(var rr=0,dr=O;rr<dr.length;rr+=1){var pr=dr[rr];pr.bind(),pr.setVertexAttribPointers(ir,z,pe)}de&&(de.bind(),de.setVertexAttribPointers(ir,z,pe)),$&&$.bind(),Ie&&(Ie.bind(),Ie.setVertexAttribPointers(ir,z,pe)),Kt.currentNumAttributes=pt},Ic.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)};function ju(Y){for(var z=[],K=0;K<Y.length;K++)if(Y[K]!==null){var O=Y[K].split(\" \");z.push(O.pop())}return z}var Vf=function(z,K,O,$,pe,de){var Ie=z.gl;this.program=Ie.createProgram();for(var $e=ju(O.staticAttributes),pt=$?$.getBinderAttributes():[],Kt=$e.concat(pt),ir=O.staticUniforms?ju(O.staticUniforms):[],Jt=$?$.getBinderUniforms():[],vt=ir.concat(Jt),Pt=[],Wt=0,rr=vt;Wt<rr.length;Wt+=1){var dr=rr[Wt];Pt.indexOf(dr)<0&&Pt.push(dr)}var pr=$?$.defines():[];de&&pr.push(\"#define OVERDRAW_INSPECTOR;\");var kr=pr.concat(tu.fragmentSource,O.fragmentSource).join(`\n", - "`),Ar=pr.concat(tu.vertexSource,O.vertexSource).join(`\n", - "`),gr=Ie.createShader(Ie.FRAGMENT_SHADER);if(Ie.isContextLost()){this.failedToCreate=!0;return}Ie.shaderSource(gr,kr),Ie.compileShader(gr),Ie.attachShader(this.program,gr);var Cr=Ie.createShader(Ie.VERTEX_SHADER);if(Ie.isContextLost()){this.failedToCreate=!0;return}Ie.shaderSource(Cr,Ar),Ie.compileShader(Cr),Ie.attachShader(this.program,Cr),this.attributes={};var cr={};this.numAttributes=Kt.length;for(var Gr=0;Gr<this.numAttributes;Gr++)Kt[Gr]&&(Ie.bindAttribLocation(this.program,Gr,Kt[Gr]),this.attributes[Kt[Gr]]=Gr);Ie.linkProgram(this.program),Ie.deleteShader(Cr),Ie.deleteShader(gr);for(var ei=0;ei<Pt.length;ei++){var yi=Pt[ei];if(yi&&!cr[yi]){var tn=Ie.getUniformLocation(this.program,yi);tn&&(cr[yi]=tn)}}this.fixedUniforms=pe(z,cr),this.binderUniforms=$?$.getUniforms(z,cr):[]};Vf.prototype.draw=function(z,K,O,$,pe,de,Ie,$e,pt,Kt,ir,Jt,vt,Pt,Wt,rr){var dr,pr=z.gl;if(!this.failedToCreate){z.program.set(this.program),z.setDepthMode(O),z.setStencilMode($),z.setColorMode(pe),z.setCullFace(de);for(var kr in this.fixedUniforms)this.fixedUniforms[kr].set(Ie[kr]);Pt&&Pt.setUniforms(z,this.binderUniforms,Jt,{zoom:vt});for(var Ar=(dr={},dr[pr.LINES]=2,dr[pr.TRIANGLES]=3,dr[pr.LINE_STRIP]=1,dr)[K],gr=0,Cr=ir.get();gr<Cr.length;gr+=1){var cr=Cr[gr],Gr=cr.vaos||(cr.vaos={}),ei=Gr[$e]||(Gr[$e]=new Ic);ei.bind(z,this,pt,Pt?Pt.getPaintVertexBuffers():[],Kt,cr.vertexOffset,Wt,rr),pr.drawElements(K,cr.primitiveLength*Ar,pr.UNSIGNED_SHORT,cr.primitiveOffset*Ar*2)}}};function pc(Y,z,K){var O=1/Cs(K,1,z.transform.tileZoom),$=Math.pow(2,K.tileID.overscaledZ),pe=K.tileSize*Math.pow(2,z.transform.tileZoom)/$,de=pe*(K.tileID.canonical.x+K.tileID.wrap*$),Ie=pe*K.tileID.canonical.y;return{u_image:0,u_texsize:K.imageAtlasTexture.size,u_scale:[O,Y.fromScale,Y.toScale],u_fade:Y.t,u_pixel_coord_upper:[de>>16,Ie>>16],u_pixel_coord_lower:[de&65535,Ie&65535]}}function pf(Y,z,K,O){var $=K.imageManager.getPattern(Y.from.toString()),pe=K.imageManager.getPattern(Y.to.toString()),de=K.imageManager.getPixelSize(),Ie=de.width,$e=de.height,pt=Math.pow(2,O.tileID.overscaledZ),Kt=O.tileSize*Math.pow(2,K.transform.tileZoom)/pt,ir=Kt*(O.tileID.canonical.x+O.tileID.wrap*pt),Jt=Kt*O.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:$.tl,u_pattern_br_a:$.br,u_pattern_tl_b:pe.tl,u_pattern_br_b:pe.br,u_texsize:[Ie,$e],u_mix:z.t,u_pattern_size_a:$.displaySize,u_pattern_size_b:pe.displaySize,u_scale_a:z.fromScale,u_scale_b:z.toScale,u_tile_units_to_pixels:1/Cs(O,1,K.transform.tileZoom),u_pixel_coord_upper:[ir>>16,Jt>>16],u_pixel_coord_lower:[ir&65535,Jt&65535]}}var Ph=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_lightpos:new i.Uniform3f(Y,z.u_lightpos),u_lightintensity:new i.Uniform1f(Y,z.u_lightintensity),u_lightcolor:new i.Uniform3f(Y,z.u_lightcolor),u_vertical_gradient:new i.Uniform1f(Y,z.u_vertical_gradient),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},Dl=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_lightpos:new i.Uniform3f(Y,z.u_lightpos),u_lightintensity:new i.Uniform1f(Y,z.u_lightintensity),u_lightcolor:new i.Uniform3f(Y,z.u_lightcolor),u_vertical_gradient:new i.Uniform1f(Y,z.u_vertical_gradient),u_height_factor:new i.Uniform1f(Y,z.u_height_factor),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},Ih=function(Y,z,K,O){var $=z.style.light,pe=$.properties.get(\"position\"),de=[pe.x,pe.y,pe.z],Ie=i.create$1();$.properties.get(\"anchor\")===\"viewport\"&&i.fromRotation(Ie,-z.transform.angle),i.transformMat3(de,de,Ie);var $e=$.properties.get(\"color\");return{u_matrix:Y,u_lightpos:de,u_lightintensity:$.properties.get(\"intensity\"),u_lightcolor:[$e.r,$e.g,$e.b],u_vertical_gradient:+K,u_opacity:O}},Wu=function(Y,z,K,O,$,pe,de){return i.extend(Ih(Y,z,K,O),pc(pe,z,de),{u_height_factor:-Math.pow(2,$.overscaledZ)/de.tileSize/8})},Rc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},gc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},hl=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world)}},iu=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},mc=function(Y){return{u_matrix:Y}},Yc=function(Y,z,K,O){return i.extend(mc(Y),pc(K,z,O))},nc=function(Y,z){return{u_matrix:Y,u_world:z}},gf=function(Y,z,K,O,$){return i.extend(Yc(Y,z,K,O),{u_world:$})},gt=function(Y,z){return{u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_scale_with_map:new i.Uniform1i(Y,z.u_scale_with_map),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_extrude_scale:new i.Uniform2f(Y,z.u_extrude_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},Bt=function(Y,z,K,O){var $=Y.transform,pe,de;if(O.paint.get(\"circle-pitch-alignment\")===\"map\"){var Ie=Cs(K,1,$.zoom);pe=!0,de=[Ie,Ie]}else pe=!1,de=$.pixelsToGLUnits;return{u_camera_to_center_distance:$.cameraToCenterDistance,u_scale_with_map:+(O.paint.get(\"circle-pitch-scale\")===\"map\"),u_matrix:Y.translatePosMatrix(z.posMatrix,K,O.paint.get(\"circle-translate\"),O.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+pe,u_device_pixel_ratio:i.browser.devicePixelRatio,u_extrude_scale:de}},wr=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pixels_to_tile_units:new i.Uniform1f(Y,z.u_pixels_to_tile_units),u_extrude_scale:new i.Uniform2f(Y,z.u_extrude_scale),u_overscale_factor:new i.Uniform1f(Y,z.u_overscale_factor)}},vr=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_inv_matrix:new i.UniformMatrix4f(Y,z.u_inv_matrix),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_viewport_size:new i.Uniform2f(Y,z.u_viewport_size)}},Ur=function(Y,z,K){var O=Cs(K,1,z.zoom),$=Math.pow(2,z.zoom-K.tileID.overscaledZ),pe=K.tileID.overscaleFactor();return{u_matrix:Y,u_camera_to_center_distance:z.cameraToCenterDistance,u_pixels_to_tile_units:O,u_extrude_scale:[z.pixelsToGLUnits[0]/(O*$),z.pixelsToGLUnits[1]/(O*$)],u_overscale_factor:pe}},fi=function(Y,z,K){return{u_matrix:Y,u_inv_matrix:z,u_camera_to_center_distance:K.cameraToCenterDistance,u_viewport_size:[K.width,K.height]}},xi=function(Y,z){return{u_color:new i.UniformColor(Y,z.u_color),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_overlay:new i.Uniform1i(Y,z.u_overlay),u_overlay_scale:new i.Uniform1f(Y,z.u_overlay_scale)}},Fi=function(Y,z,K){return K===void 0&&(K=1),{u_matrix:Y,u_color:z,u_overlay:0,u_overlay_scale:K}},Xi=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},hn=function(Y){return{u_matrix:Y}},Ti=function(Y,z){return{u_extrude_scale:new i.Uniform1f(Y,z.u_extrude_scale),u_intensity:new i.Uniform1f(Y,z.u_intensity),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},qi=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world),u_image:new i.Uniform1i(Y,z.u_image),u_color_ramp:new i.Uniform1i(Y,z.u_color_ramp),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},Ii=function(Y,z,K,O){return{u_matrix:Y,u_extrude_scale:Cs(z,1,K),u_intensity:O}},mi=function(Y,z,K,O){var $=i.create();i.ortho($,0,Y.width,Y.height,0,0,1);var pe=Y.context.gl;return{u_matrix:$,u_world:[pe.drawingBufferWidth,pe.drawingBufferHeight],u_image:K,u_color_ramp:O,u_opacity:z.paint.get(\"heatmap-opacity\")}},Pn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_latrange:new i.Uniform2f(Y,z.u_latrange),u_light:new i.Uniform2f(Y,z.u_light),u_shadow:new i.UniformColor(Y,z.u_shadow),u_highlight:new i.UniformColor(Y,z.u_highlight),u_accent:new i.UniformColor(Y,z.u_accent)}},Ma=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_dimension:new i.Uniform2f(Y,z.u_dimension),u_zoom:new i.Uniform1f(Y,z.u_zoom),u_unpack:new i.Uniform4f(Y,z.u_unpack)}},Ta=function(Y,z,K){var O=K.paint.get(\"hillshade-shadow-color\"),$=K.paint.get(\"hillshade-highlight-color\"),pe=K.paint.get(\"hillshade-accent-color\"),de=K.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);K.paint.get(\"hillshade-illumination-anchor\")===\"viewport\"&&(de-=Y.transform.angle);var Ie=!Y.options.moving;return{u_matrix:Y.transform.calculatePosMatrix(z.tileID.toUnwrapped(),Ie),u_image:0,u_latrange:qa(Y,z.tileID),u_light:[K.paint.get(\"hillshade-exaggeration\"),de],u_shadow:O,u_highlight:$,u_accent:pe}},Ea=function(Y,z){var K=z.stride,O=i.create();return i.ortho(O,0,i.EXTENT,-i.EXTENT,0,0,1),i.translate(O,O,[0,-i.EXTENT,0]),{u_matrix:O,u_image:1,u_dimension:[K,K],u_zoom:Y.overscaledZ,u_unpack:z.getUnpackVector()}};function qa(Y,z){var K=Math.pow(2,z.canonical.z),O=z.canonical.y;return[new i.MercatorCoordinate(0,O/K).toLngLat().lat,new i.MercatorCoordinate(0,(O+1)/K).toLngLat().lat]}var Cn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels)}},sn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_image:new i.Uniform1i(Y,z.u_image),u_image_height:new i.Uniform1f(Y,z.u_image_height)}},Ua=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_image:new i.Uniform1i(Y,z.u_image),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},mo=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_patternscale_a:new i.Uniform2f(Y,z.u_patternscale_a),u_patternscale_b:new i.Uniform2f(Y,z.u_patternscale_b),u_sdfgamma:new i.Uniform1f(Y,z.u_sdfgamma),u_image:new i.Uniform1i(Y,z.u_image),u_tex_y_a:new i.Uniform1f(Y,z.u_tex_y_a),u_tex_y_b:new i.Uniform1f(Y,z.u_tex_y_b),u_mix:new i.Uniform1f(Y,z.u_mix)}},Xo=function(Y,z,K){var O=Y.transform;return{u_matrix:yl(Y,z,K),u_ratio:1/Cs(z,1,O.zoom),u_device_pixel_ratio:i.browser.devicePixelRatio,u_units_to_pixels:[1/O.pixelsToGLUnits[0],1/O.pixelsToGLUnits[1]]}},Ts=function(Y,z,K,O){return i.extend(Xo(Y,z,K),{u_image:0,u_image_height:O})},Qo=function(Y,z,K,O){var $=Y.transform,pe=Bo(z,$);return{u_matrix:yl(Y,z,K),u_texsize:z.imageAtlasTexture.size,u_ratio:1/Cs(z,1,$.zoom),u_device_pixel_ratio:i.browser.devicePixelRatio,u_image:0,u_scale:[pe,O.fromScale,O.toScale],u_fade:O.t,u_units_to_pixels:[1/$.pixelsToGLUnits[0],1/$.pixelsToGLUnits[1]]}},ys=function(Y,z,K,O,$){var pe=Y.transform,de=Y.lineAtlas,Ie=Bo(z,pe),$e=K.layout.get(\"line-cap\")===\"round\",pt=de.getDash(O.from,$e),Kt=de.getDash(O.to,$e),ir=pt.width*$.fromScale,Jt=Kt.width*$.toScale;return i.extend(Xo(Y,z,K),{u_patternscale_a:[Ie/ir,-pt.height/2],u_patternscale_b:[Ie/Jt,-Kt.height/2],u_sdfgamma:de.width/(Math.min(ir,Jt)*256*i.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:pt.y,u_tex_y_b:Kt.y,u_mix:$.t})};function Bo(Y,z){return 1/Cs(Y,1,z.tileZoom)}function yl(Y,z,K){return Y.translatePosMatrix(z.tileID.posMatrix,z,K.paint.get(\"line-translate\"),K.paint.get(\"line-translate-anchor\"))}var Gs=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_tl_parent:new i.Uniform2f(Y,z.u_tl_parent),u_scale_parent:new i.Uniform1f(Y,z.u_scale_parent),u_buffer_scale:new i.Uniform1f(Y,z.u_buffer_scale),u_fade_t:new i.Uniform1f(Y,z.u_fade_t),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_image0:new i.Uniform1i(Y,z.u_image0),u_image1:new i.Uniform1i(Y,z.u_image1),u_brightness_low:new i.Uniform1f(Y,z.u_brightness_low),u_brightness_high:new i.Uniform1f(Y,z.u_brightness_high),u_saturation_factor:new i.Uniform1f(Y,z.u_saturation_factor),u_contrast_factor:new i.Uniform1f(Y,z.u_contrast_factor),u_spin_weights:new i.Uniform3f(Y,z.u_spin_weights)}},Rs=function(Y,z,K,O,$){return{u_matrix:Y,u_tl_parent:z,u_scale_parent:K,u_buffer_scale:1,u_fade_t:O.mix,u_opacity:O.opacity*$.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:$.paint.get(\"raster-brightness-min\"),u_brightness_high:$.paint.get(\"raster-brightness-max\"),u_saturation_factor:vs($.paint.get(\"raster-saturation\")),u_contrast_factor:Ka($.paint.get(\"raster-contrast\")),u_spin_weights:ia($.paint.get(\"raster-hue-rotate\"))}};function ia(Y){Y*=Math.PI/180;var z=Math.sin(Y),K=Math.cos(Y);return[(2*K+1)/3,(-Math.sqrt(3)*z-K+1)/3,(Math.sqrt(3)*z-K+1)/3]}function Ka(Y){return Y>0?1/(1-Y):1+Y}function vs(Y){return Y>0?1-1/(1.001-Y):-Y}var Ko=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texture:new i.Uniform1i(Y,z.u_texture)}},nu=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texture:new i.Uniform1i(Y,z.u_texture),u_gamma_scale:new i.Uniform1f(Y,z.u_gamma_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_is_halo:new i.Uniform1i(Y,z.u_is_halo)}},Ru=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texsize_icon:new i.Uniform2f(Y,z.u_texsize_icon),u_texture:new i.Uniform1i(Y,z.u_texture),u_texture_icon:new i.Uniform1i(Y,z.u_texture_icon),u_gamma_scale:new i.Uniform1f(Y,z.u_gamma_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_is_halo:new i.Uniform1i(Y,z.u_is_halo)}},ac=function(Y,z,K,O,$,pe,de,Ie,$e,pt){var Kt=$.transform;return{u_is_size_zoom_constant:+(Y===\"constant\"||Y===\"source\"),u_is_size_feature_constant:+(Y===\"constant\"||Y===\"camera\"),u_size_t:z?z.uSizeT:0,u_size:z?z.uSize:0,u_camera_to_center_distance:Kt.cameraToCenterDistance,u_pitch:Kt.pitch/360*2*Math.PI,u_rotate_symbol:+K,u_aspect_ratio:Kt.width/Kt.height,u_fade_change:$.options.fadeDuration?$.symbolFadeChange:1,u_matrix:pe,u_label_plane_matrix:de,u_coord_matrix:Ie,u_is_text:+$e,u_pitch_with_map:+O,u_texsize:pt,u_texture:0}},mf=function(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt){var ir=$.transform;return i.extend(ac(Y,z,K,O,$,pe,de,Ie,$e,pt),{u_gamma_scale:O?Math.cos(ir._pitch)*ir.cameraToCenterDistance:1,u_device_pixel_ratio:i.browser.devicePixelRatio,u_is_halo:+Kt})},bu=function(Y,z,K,O,$,pe,de,Ie,$e,pt){return i.extend(mf(Y,z,K,O,$,pe,de,Ie,!0,$e,!0),{u_texsize_icon:pt,u_texture_icon:1})},Kc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_color:new i.UniformColor(Y,z.u_color)}},Du=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_image:new i.Uniform1i(Y,z.u_image),u_pattern_tl_a:new i.Uniform2f(Y,z.u_pattern_tl_a),u_pattern_br_a:new i.Uniform2f(Y,z.u_pattern_br_a),u_pattern_tl_b:new i.Uniform2f(Y,z.u_pattern_tl_b),u_pattern_br_b:new i.Uniform2f(Y,z.u_pattern_br_b),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_mix:new i.Uniform1f(Y,z.u_mix),u_pattern_size_a:new i.Uniform2f(Y,z.u_pattern_size_a),u_pattern_size_b:new i.Uniform2f(Y,z.u_pattern_size_b),u_scale_a:new i.Uniform1f(Y,z.u_scale_a),u_scale_b:new i.Uniform1f(Y,z.u_scale_b),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_tile_units_to_pixels:new i.Uniform1f(Y,z.u_tile_units_to_pixels)}},Dc=function(Y,z,K){return{u_matrix:Y,u_opacity:z,u_color:K}},Da=function(Y,z,K,O,$,pe){return i.extend(pf(O,pe,K,$),{u_matrix:Y,u_opacity:z})},eo={fillExtrusion:Ph,fillExtrusionPattern:Dl,fill:Rc,fillPattern:gc,fillOutline:hl,fillOutlinePattern:iu,circle:gt,collisionBox:wr,collisionCircle:vr,debug:xi,clippingMask:Xi,heatmap:Ti,heatmapTexture:qi,hillshade:Pn,hillshadePrepare:Ma,line:Cn,lineGradient:sn,linePattern:Ua,lineSDF:mo,raster:Gs,symbolIcon:Ko,symbolSDF:nu,symbolTextAndIcon:Ru,background:Kc,backgroundPattern:Du},Jc;function yc(Y,z,K,O,$,pe,de){for(var Ie=Y.context,$e=Ie.gl,pt=Y.useProgram(\"collisionBox\"),Kt=[],ir=0,Jt=0,vt=0;vt<O.length;vt++){var Pt=O[vt],Wt=z.getTile(Pt),rr=Wt.getBucket(K);if(rr){var dr=Pt.posMatrix;($[0]!==0||$[1]!==0)&&(dr=Y.translatePosMatrix(Pt.posMatrix,Wt,$,pe));var pr=de?rr.textCollisionBox:rr.iconCollisionBox,kr=rr.collisionCircleArray;if(kr.length>0){var Ar=i.create(),gr=dr;i.mul(Ar,rr.placementInvProjMatrix,Y.transform.glCoordMatrix),i.mul(Ar,Ar,rr.placementViewportMatrix),Kt.push({circleArray:kr,circleOffset:Jt,transform:gr,invTransform:Ar}),ir+=kr.length/4,Jt=ir}pr&&pt.draw(Ie,$e.LINES,Wi.disabled,$i.disabled,Y.colorModeForRenderPass(),yr.disabled,Ur(dr,Y.transform,Wt),K.id,pr.layoutVertexBuffer,pr.indexBuffer,pr.segments,null,Y.transform.zoom,null,null,pr.collisionVertexBuffer)}}if(!(!de||!Kt.length)){var Cr=Y.useProgram(\"collisionCircle\"),cr=new i.StructArrayLayout2f1f2i16;cr.resize(ir*4),cr._trim();for(var Gr=0,ei=0,yi=Kt;ei<yi.length;ei+=1)for(var tn=yi[ei],Ri=0;Ri<tn.circleArray.length/4;Ri++){var ln=Ri*4,Qn=tn.circleArray[ln+0],qn=tn.circleArray[ln+1],rn=tn.circleArray[ln+2],bn=tn.circleArray[ln+3];cr.emplace(Gr++,Qn,qn,rn,bn,0),cr.emplace(Gr++,Qn,qn,rn,bn,1),cr.emplace(Gr++,Qn,qn,rn,bn,2),cr.emplace(Gr++,Qn,qn,rn,bn,3)}(!Jc||Jc.length<ir*2)&&(Jc=_c(ir));for(var mn=Ie.createIndexBuffer(Jc,!0),Gn=Ie.createVertexBuffer(cr,i.collisionCircleLayout.members,!0),da=0,No=Kt;da<No.length;da+=1){var Do=No[da],ps=fi(Do.transform,Do.invTransform,Y.transform);Cr.draw(Ie,$e.TRIANGLES,Wi.disabled,$i.disabled,Y.colorModeForRenderPass(),yr.disabled,ps,K.id,Gn,mn,i.SegmentVector.simpleSegment(0,Do.circleOffset*2,Do.circleArray.length,Do.circleArray.length/2),null,Y.transform.zoom,null,null,null)}Gn.destroy(),mn.destroy()}}function _c(Y){var z=Y*2,K=new i.StructArrayLayout3ui6;K.resize(z),K._trim();for(var O=0;O<z;O++){var $=O*6;K.uint16[$+0]=O*4+0,K.uint16[$+1]=O*4+1,K.uint16[$+2]=O*4+2,K.uint16[$+3]=O*4+2,K.uint16[$+4]=O*4+3,K.uint16[$+5]=O*4+0}return K}var le=i.identity(new Float32Array(16));function w(Y,z,K,O,$){if(Y.renderPass===\"translucent\"){var pe=$i.disabled,de=Y.colorModeForRenderPass(),Ie=K.layout.get(\"text-variable-anchor\");Ie&&Q(O,Y,K,z,K.layout.get(\"text-rotation-alignment\"),K.layout.get(\"text-pitch-alignment\"),$),K.paint.get(\"icon-opacity\").constantOr(1)!==0&&qe(Y,z,K,O,!1,K.paint.get(\"icon-translate\"),K.paint.get(\"icon-translate-anchor\"),K.layout.get(\"icon-rotation-alignment\"),K.layout.get(\"icon-pitch-alignment\"),K.layout.get(\"icon-keep-upright\"),pe,de),K.paint.get(\"text-opacity\").constantOr(1)!==0&&qe(Y,z,K,O,!0,K.paint.get(\"text-translate\"),K.paint.get(\"text-translate-anchor\"),K.layout.get(\"text-rotation-alignment\"),K.layout.get(\"text-pitch-alignment\"),K.layout.get(\"text-keep-upright\"),pe,de),z.map.showCollisionBoxes&&(yc(Y,z,K,O,K.paint.get(\"text-translate\"),K.paint.get(\"text-translate-anchor\"),!0),yc(Y,z,K,O,K.paint.get(\"icon-translate\"),K.paint.get(\"icon-translate-anchor\"),!1))}}function B(Y,z,K,O,$,pe){var de=i.getAnchorAlignment(Y),Ie=de.horizontalAlign,$e=de.verticalAlign,pt=-(Ie-.5)*z,Kt=-($e-.5)*K,ir=i.evaluateVariableOffset(Y,O);return new i.Point((pt/$+ir[0])*pe,(Kt/$+ir[1])*pe)}function Q(Y,z,K,O,$,pe,de){for(var Ie=z.transform,$e=$===\"map\",pt=pe===\"map\",Kt=0,ir=Y;Kt<ir.length;Kt+=1){var Jt=ir[Kt],vt=O.getTile(Jt),Pt=vt.getBucket(K);if(!(!Pt||!Pt.text||!Pt.text.segments.get().length)){var Wt=Pt.textSizeData,rr=i.evaluateSizeForZoom(Wt,Ie.zoom),dr=Cs(vt,1,z.transform.zoom),pr=Ji(Jt.posMatrix,pt,$e,z.transform,dr),kr=K.layout.get(\"icon-text-fit\")!==\"none\"&&Pt.hasIconData();if(rr){var Ar=Math.pow(2,Ie.zoom-vt.tileID.overscaledZ);ee(Pt,$e,pt,de,i.symbolSize,Ie,pr,Jt.posMatrix,Ar,rr,kr)}}}}function ee(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt){var ir=Y.text.placedSymbolArray,Jt=Y.text.dynamicLayoutVertexArray,vt=Y.icon.dynamicLayoutVertexArray,Pt={};Jt.clear();for(var Wt=0;Wt<ir.length;Wt++){var rr=ir.get(Wt),dr=Y.allowVerticalPlacement&&!rr.placedOrientation,pr=!rr.hidden&&rr.crossTileID&&!dr?O[rr.crossTileID]:null;if(!pr)Xs(rr.numGlyphs,Jt);else{var kr=new i.Point(rr.anchorX,rr.anchorY),Ar=Fn(kr,K?Ie:de),gr=Sa(pe.cameraToCenterDistance,Ar.signedDistanceFromCamera),Cr=$.evaluateSizeForFeature(Y.textSizeData,pt,rr)*gr/i.ONE_EM;K&&(Cr*=Y.tilePixelRatio/$e);for(var cr=pr.width,Gr=pr.height,ei=pr.anchor,yi=pr.textOffset,tn=pr.textBoxScale,Ri=B(ei,cr,Gr,yi,tn,Cr),ln=K?Fn(kr.add(Ri),de).point:Ar.point.add(z?Ri.rotate(-pe.angle):Ri),Qn=Y.allowVerticalPlacement&&rr.placedOrientation===i.WritingMode.vertical?Math.PI/2:0,qn=0;qn<rr.numGlyphs;qn++)i.addDynamicAttributes(Jt,ln,Qn);Kt&&rr.associatedIconIndex>=0&&(Pt[rr.associatedIconIndex]={shiftedAnchor:ln,angle:Qn})}}if(Kt){vt.clear();for(var rn=Y.icon.placedSymbolArray,bn=0;bn<rn.length;bn++){var mn=rn.get(bn);if(mn.hidden)Xs(mn.numGlyphs,vt);else{var Gn=Pt[bn];if(!Gn)Xs(mn.numGlyphs,vt);else for(var da=0;da<mn.numGlyphs;da++)i.addDynamicAttributes(vt,Gn.shiftedAnchor,Gn.angle)}}Y.icon.dynamicLayoutVertexBuffer.updateData(vt)}Y.text.dynamicLayoutVertexBuffer.updateData(Jt)}function se(Y,z,K){return K.iconsInText&&z?\"symbolTextAndIcon\":Y?\"symbolSDF\":\"symbolIcon\"}function qe(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt,ir){for(var Jt=Y.context,vt=Jt.gl,Pt=Y.transform,Wt=Ie===\"map\",rr=$e===\"map\",dr=Wt&&K.layout.get(\"symbol-placement\")!==\"point\",pr=Wt&&!rr&&!dr,kr=K.layout.get(\"symbol-sort-key\").constantOr(1)!==void 0,Ar=!1,gr=Y.depthModeForSublayer(0,Wi.ReadOnly),Cr=K.layout.get(\"text-variable-anchor\"),cr=[],Gr=0,ei=O;Gr<ei.length;Gr+=1){var yi=ei[Gr],tn=z.getTile(yi),Ri=tn.getBucket(K);if(Ri){var ln=$?Ri.text:Ri.icon;if(!(!ln||!ln.segments.get().length)){var Qn=ln.programConfigurations.get(K.id),qn=$||Ri.sdfIcons,rn=$?Ri.textSizeData:Ri.iconSizeData,bn=rr||Pt.pitch!==0,mn=Y.useProgram(se(qn,$,Ri),Qn),Gn=i.evaluateSizeForZoom(rn,Pt.zoom),da=void 0,No=[0,0],Do=void 0,ps=void 0,fo=null,as=void 0;if($){if(Do=tn.glyphAtlasTexture,ps=vt.LINEAR,da=tn.glyphAtlasTexture.size,Ri.iconsInText){No=tn.imageAtlasTexture.size,fo=tn.imageAtlasTexture;var tl=rn.kind===\"composite\"||rn.kind===\"camera\";as=bn||Y.options.rotating||Y.options.zooming||tl?vt.LINEAR:vt.NEAREST}}else{var zu=K.layout.get(\"icon-size\").constantOr(0)!==1||Ri.iconsNeedLinear;Do=tn.imageAtlasTexture,ps=qn||Y.options.rotating||Y.options.zooming||zu||bn?vt.LINEAR:vt.NEAREST,da=tn.imageAtlasTexture.size}var Mv=Cs(tn,1,Y.transform.zoom),Ev=Ji(yi.posMatrix,rr,Wt,Y.transform,Mv),yd=ua(yi.posMatrix,rr,Wt,Y.transform,Mv),Yv=Cr&&Ri.hasTextData(),cg=K.layout.get(\"icon-text-fit\")!==\"none\"&&Yv&&Ri.hasIconData();dr&&Oo(Ri,yi.posMatrix,Y,$,Ev,yd,rr,pt);var vp=Y.translatePosMatrix(yi.posMatrix,tn,pe,de),_d=dr||$&&Cr||cg?le:Ev,pp=Y.translatePosMatrix(yd,tn,pe,de,!0),Nd=qn&&K.paint.get($?\"text-halo-width\":\"icon-halo-width\").constantOr(1)!==0,xd=void 0;qn?Ri.iconsInText?xd=bu(rn.kind,Gn,pr,rr,Y,vp,_d,pp,da,No):xd=mf(rn.kind,Gn,pr,rr,Y,vp,_d,pp,$,da,!0):xd=ac(rn.kind,Gn,pr,rr,Y,vp,_d,pp,$,da);var kv={program:mn,buffers:ln,uniformValues:xd,atlasTexture:Do,atlasTextureIcon:fo,atlasInterpolation:ps,atlasInterpolationIcon:as,isSDF:qn,hasHalo:Nd};if(kr&&Ri.canOverlap){Ar=!0;for(var Kv=ln.segments.get(),Cv=0,ny=Kv;Cv<ny.length;Cv+=1){var fg=ny[Cv];cr.push({segments:new i.SegmentVector([fg]),sortKey:fg.sortKey,state:kv})}}else cr.push({segments:ln.segments,sortKey:0,state:kv})}}}Ar&&cr.sort(function(w1,T1){return w1.sortKey-T1.sortKey});for(var Hf=0,hg=cr;Hf<hg.length;Hf+=1){var ay=hg[Hf],Rh=ay.state;if(Jt.activeTexture.set(vt.TEXTURE0),Rh.atlasTexture.bind(Rh.atlasInterpolation,vt.CLAMP_TO_EDGE),Rh.atlasTextureIcon&&(Jt.activeTexture.set(vt.TEXTURE1),Rh.atlasTextureIcon&&Rh.atlasTextureIcon.bind(Rh.atlasInterpolationIcon,vt.CLAMP_TO_EDGE)),Rh.isSDF){var rm=Rh.uniformValues;Rh.hasHalo&&(rm.u_is_halo=1,je(Rh.buffers,ay.segments,K,Y,Rh.program,gr,Kt,ir,rm)),rm.u_is_halo=0}je(Rh.buffers,ay.segments,K,Y,Rh.program,gr,Kt,ir,Rh.uniformValues)}}function je(Y,z,K,O,$,pe,de,Ie,$e){var pt=O.context,Kt=pt.gl;$.draw(pt,Kt.TRIANGLES,pe,de,Ie,yr.disabled,$e,K.id,Y.layoutVertexBuffer,Y.indexBuffer,z,K.paint,O.transform.zoom,Y.programConfigurations.get(K.id),Y.dynamicLayoutVertexBuffer,Y.opacityVertexBuffer)}function it(Y,z,K,O){if(Y.renderPass===\"translucent\"){var $=K.paint.get(\"circle-opacity\"),pe=K.paint.get(\"circle-stroke-width\"),de=K.paint.get(\"circle-stroke-opacity\"),Ie=K.layout.get(\"circle-sort-key\").constantOr(1)!==void 0;if(!($.constantOr(1)===0&&(pe.constantOr(1)===0||de.constantOr(1)===0))){for(var $e=Y.context,pt=$e.gl,Kt=Y.depthModeForSublayer(0,Wi.ReadOnly),ir=$i.disabled,Jt=Y.colorModeForRenderPass(),vt=[],Pt=0;Pt<O.length;Pt++){var Wt=O[Pt],rr=z.getTile(Wt),dr=rr.getBucket(K);if(dr){var pr=dr.programConfigurations.get(K.id),kr=Y.useProgram(\"circle\",pr),Ar=dr.layoutVertexBuffer,gr=dr.indexBuffer,Cr=Bt(Y,Wt,rr,K),cr={programConfiguration:pr,program:kr,layoutVertexBuffer:Ar,indexBuffer:gr,uniformValues:Cr};if(Ie)for(var Gr=dr.segments.get(),ei=0,yi=Gr;ei<yi.length;ei+=1){var tn=yi[ei];vt.push({segments:new i.SegmentVector([tn]),sortKey:tn.sortKey,state:cr})}else vt.push({segments:dr.segments,sortKey:0,state:cr})}}Ie&&vt.sort(function(Do,ps){return Do.sortKey-ps.sortKey});for(var Ri=0,ln=vt;Ri<ln.length;Ri+=1){var Qn=ln[Ri],qn=Qn.state,rn=qn.programConfiguration,bn=qn.program,mn=qn.layoutVertexBuffer,Gn=qn.indexBuffer,da=qn.uniformValues,No=Qn.segments;bn.draw($e,pt.TRIANGLES,Kt,ir,Jt,yr.disabled,da,K.id,mn,Gn,No,K.paint,Y.transform.zoom,rn)}}}}function yt(Y,z,K,O){if(K.paint.get(\"heatmap-opacity\")!==0)if(Y.renderPass===\"offscreen\"){var $=Y.context,pe=$.gl,de=$i.disabled,Ie=new ft([pe.ONE,pe.ONE],i.Color.transparent,[!0,!0,!0,!0]);Ot($,Y,K),$.clear({color:i.Color.transparent});for(var $e=0;$e<O.length;$e++){var pt=O[$e];if(!z.hasRenderableParent(pt)){var Kt=z.getTile(pt),ir=Kt.getBucket(K);if(ir){var Jt=ir.programConfigurations.get(K.id),vt=Y.useProgram(\"heatmap\",Jt),Pt=Y.transform,Wt=Pt.zoom;vt.draw($,pe.TRIANGLES,Wi.disabled,de,Ie,yr.disabled,Ii(pt.posMatrix,Kt,Wt,K.paint.get(\"heatmap-intensity\")),K.id,ir.layoutVertexBuffer,ir.indexBuffer,ir.segments,K.paint,Y.transform.zoom,Jt)}}}$.viewport.set([0,0,Y.width,Y.height])}else Y.renderPass===\"translucent\"&&(Y.context.setColorMode(Y.colorModeForRenderPass()),hr(Y,K))}function Ot(Y,z,K){var O=Y.gl;Y.activeTexture.set(O.TEXTURE1),Y.viewport.set([0,0,z.width/4,z.height/4]);var $=K.heatmapFbo;if($)O.bindTexture(O.TEXTURE_2D,$.colorAttachment.get()),Y.bindFramebuffer.set($.framebuffer);else{var pe=O.createTexture();O.bindTexture(O.TEXTURE_2D,pe),O.texParameteri(O.TEXTURE_2D,O.TEXTURE_WRAP_S,O.CLAMP_TO_EDGE),O.texParameteri(O.TEXTURE_2D,O.TEXTURE_WRAP_T,O.CLAMP_TO_EDGE),O.texParameteri(O.TEXTURE_2D,O.TEXTURE_MIN_FILTER,O.LINEAR),O.texParameteri(O.TEXTURE_2D,O.TEXTURE_MAG_FILTER,O.LINEAR),$=K.heatmapFbo=Y.createFramebuffer(z.width/4,z.height/4,!1),Nt(Y,z,pe,$)}}function Nt(Y,z,K,O){var $=Y.gl,pe=Y.extRenderToTextureHalfFloat?Y.extTextureHalfFloat.HALF_FLOAT_OES:$.UNSIGNED_BYTE;$.texImage2D($.TEXTURE_2D,0,$.RGBA,z.width/4,z.height/4,0,$.RGBA,pe,null),O.colorAttachment.set(K)}function hr(Y,z){var K=Y.context,O=K.gl,$=z.heatmapFbo;if($){K.activeTexture.set(O.TEXTURE0),O.bindTexture(O.TEXTURE_2D,$.colorAttachment.get()),K.activeTexture.set(O.TEXTURE1);var pe=z.colorRampTexture;pe||(pe=z.colorRampTexture=new i.Texture(K,z.colorRamp,O.RGBA)),pe.bind(O.LINEAR,O.CLAMP_TO_EDGE),Y.useProgram(\"heatmapTexture\").draw(K,O.TRIANGLES,Wi.disabled,$i.disabled,Y.colorModeForRenderPass(),yr.disabled,mi(Y,z,0,1),z.id,Y.viewportBuffer,Y.quadTriangleIndexBuffer,Y.viewportSegments,z.paint,Y.transform.zoom)}}function Sr(Y,z,K,O){if(Y.renderPass===\"translucent\"){var $=K.paint.get(\"line-opacity\"),pe=K.paint.get(\"line-width\");if(!($.constantOr(1)===0||pe.constantOr(1)===0))for(var de=Y.depthModeForSublayer(0,Wi.ReadOnly),Ie=Y.colorModeForRenderPass(),$e=K.paint.get(\"line-dasharray\"),pt=K.paint.get(\"line-pattern\"),Kt=pt.constantOr(1),ir=K.paint.get(\"line-gradient\"),Jt=K.getCrossfadeParameters(),vt=Kt?\"linePattern\":$e?\"lineSDF\":ir?\"lineGradient\":\"line\",Pt=Y.context,Wt=Pt.gl,rr=!0,dr=0,pr=O;dr<pr.length;dr+=1){var kr=pr[dr],Ar=z.getTile(kr);if(!(Kt&&!Ar.patternsLoaded())){var gr=Ar.getBucket(K);if(gr){var Cr=gr.programConfigurations.get(K.id),cr=Y.context.program.get(),Gr=Y.useProgram(vt,Cr),ei=rr||Gr.program!==cr,yi=pt.constantOr(null);if(yi&&Ar.imageAtlas){var tn=Ar.imageAtlas,Ri=tn.patternPositions[yi.to.toString()],ln=tn.patternPositions[yi.from.toString()];Ri&&ln&&Cr.setConstantPatternPositions(Ri,ln)}var Qn=Kt?Qo(Y,Ar,K,Jt):$e?ys(Y,Ar,K,$e,Jt):ir?Ts(Y,Ar,K,gr.lineClipsArray.length):Xo(Y,Ar,K);if(Kt)Pt.activeTexture.set(Wt.TEXTURE0),Ar.imageAtlasTexture.bind(Wt.LINEAR,Wt.CLAMP_TO_EDGE),Cr.updatePaintBuffers(Jt);else if($e&&(ei||Y.lineAtlas.dirty))Pt.activeTexture.set(Wt.TEXTURE0),Y.lineAtlas.bind(Pt);else if(ir){var qn=gr.gradients[K.id],rn=qn.texture;if(K.gradientVersion!==qn.version){var bn=256;if(K.stepInterpolant){var mn=z.getSource().maxzoom,Gn=kr.canonical.z===mn?Math.ceil(1<<Y.transform.maxZoom-kr.canonical.z):1,da=gr.maxLineLength/i.EXTENT,No=1024,Do=da*No*Gn;bn=i.clamp(i.nextPowerOfTwo(Do),256,Pt.maxTextureSize)}qn.gradient=i.renderColorRamp({expression:K.gradientExpression(),evaluationKey:\"lineProgress\",resolution:bn,image:qn.gradient||void 0,clips:gr.lineClipsArray}),qn.texture?qn.texture.update(qn.gradient):qn.texture=new i.Texture(Pt,qn.gradient,Wt.RGBA),qn.version=K.gradientVersion,rn=qn.texture}Pt.activeTexture.set(Wt.TEXTURE0),rn.bind(K.stepInterpolant?Wt.NEAREST:Wt.LINEAR,Wt.CLAMP_TO_EDGE)}Gr.draw(Pt,Wt.TRIANGLES,de,Y.stencilModeForClipping(kr),Ie,yr.disabled,Qn,K.id,gr.layoutVertexBuffer,gr.indexBuffer,gr.segments,K.paint,Y.transform.zoom,Cr,gr.layoutVertexBuffer2),rr=!1}}}}}function he(Y,z,K,O){var $=K.paint.get(\"fill-color\"),pe=K.paint.get(\"fill-opacity\");if(pe.constantOr(1)!==0){var de=Y.colorModeForRenderPass(),Ie=K.paint.get(\"fill-pattern\"),$e=Y.opaquePassEnabledForLayer()&&!Ie.constantOr(1)&&$.constantOr(i.Color.transparent).a===1&&pe.constantOr(0)===1?\"opaque\":\"translucent\";if(Y.renderPass===$e){var pt=Y.depthModeForSublayer(1,Y.renderPass===\"opaque\"?Wi.ReadWrite:Wi.ReadOnly);be(Y,z,K,O,pt,de,!1)}if(Y.renderPass===\"translucent\"&&K.paint.get(\"fill-antialias\")){var Kt=Y.depthModeForSublayer(K.getPaintProperty(\"fill-outline-color\")?2:0,Wi.ReadOnly);be(Y,z,K,O,Kt,de,!0)}}}function be(Y,z,K,O,$,pe,de){var Ie=Y.context.gl,$e=K.paint.get(\"fill-pattern\"),pt=$e&&$e.constantOr(1),Kt=K.getCrossfadeParameters(),ir,Jt,vt,Pt,Wt;de?(Jt=pt&&!K.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",ir=Ie.LINES):(Jt=pt?\"fillPattern\":\"fill\",ir=Ie.TRIANGLES);for(var rr=0,dr=O;rr<dr.length;rr+=1){var pr=dr[rr],kr=z.getTile(pr);if(!(pt&&!kr.patternsLoaded())){var Ar=kr.getBucket(K);if(Ar){var gr=Ar.programConfigurations.get(K.id),Cr=Y.useProgram(Jt,gr);pt&&(Y.context.activeTexture.set(Ie.TEXTURE0),kr.imageAtlasTexture.bind(Ie.LINEAR,Ie.CLAMP_TO_EDGE),gr.updatePaintBuffers(Kt));var cr=$e.constantOr(null);if(cr&&kr.imageAtlas){var Gr=kr.imageAtlas,ei=Gr.patternPositions[cr.to.toString()],yi=Gr.patternPositions[cr.from.toString()];ei&&yi&&gr.setConstantPatternPositions(ei,yi)}var tn=Y.translatePosMatrix(pr.posMatrix,kr,K.paint.get(\"fill-translate\"),K.paint.get(\"fill-translate-anchor\"));if(!de)Pt=Ar.indexBuffer,Wt=Ar.segments,vt=pt?Yc(tn,Y,Kt,kr):mc(tn);else{Pt=Ar.indexBuffer2,Wt=Ar.segments2;var Ri=[Ie.drawingBufferWidth,Ie.drawingBufferHeight];vt=Jt===\"fillOutlinePattern\"&&pt?gf(tn,Y,Kt,kr,Ri):nc(tn,Ri)}Cr.draw(Y.context,ir,$,Y.stencilModeForClipping(pr),pe,yr.disabled,vt,K.id,Ar.layoutVertexBuffer,Pt,Wt,K.paint,Y.transform.zoom,gr)}}}}function Pe(Y,z,K,O){var $=K.paint.get(\"fill-extrusion-opacity\");if($!==0&&Y.renderPass===\"translucent\"){var pe=new Wi(Y.context.gl.LEQUAL,Wi.ReadWrite,Y.depthRangeFor3D);if($===1&&!K.paint.get(\"fill-extrusion-pattern\").constantOr(1)){var de=Y.colorModeForRenderPass();Oe(Y,z,K,O,pe,$i.disabled,de)}else Oe(Y,z,K,O,pe,$i.disabled,ft.disabled),Oe(Y,z,K,O,pe,Y.stencilModeFor3D(),Y.colorModeForRenderPass())}}function Oe(Y,z,K,O,$,pe,de){for(var Ie=Y.context,$e=Ie.gl,pt=K.paint.get(\"fill-extrusion-pattern\"),Kt=pt.constantOr(1),ir=K.getCrossfadeParameters(),Jt=K.paint.get(\"fill-extrusion-opacity\"),vt=0,Pt=O;vt<Pt.length;vt+=1){var Wt=Pt[vt],rr=z.getTile(Wt),dr=rr.getBucket(K);if(dr){var pr=dr.programConfigurations.get(K.id),kr=Y.useProgram(Kt?\"fillExtrusionPattern\":\"fillExtrusion\",pr);Kt&&(Y.context.activeTexture.set($e.TEXTURE0),rr.imageAtlasTexture.bind($e.LINEAR,$e.CLAMP_TO_EDGE),pr.updatePaintBuffers(ir));var Ar=pt.constantOr(null);if(Ar&&rr.imageAtlas){var gr=rr.imageAtlas,Cr=gr.patternPositions[Ar.to.toString()],cr=gr.patternPositions[Ar.from.toString()];Cr&&cr&&pr.setConstantPatternPositions(Cr,cr)}var Gr=Y.translatePosMatrix(Wt.posMatrix,rr,K.paint.get(\"fill-extrusion-translate\"),K.paint.get(\"fill-extrusion-translate-anchor\")),ei=K.paint.get(\"fill-extrusion-vertical-gradient\"),yi=Kt?Wu(Gr,Y,ei,Jt,Wt,ir,rr):Ih(Gr,Y,ei,Jt);kr.draw(Ie,Ie.gl.TRIANGLES,$,pe,de,yr.backCCW,yi,K.id,dr.layoutVertexBuffer,dr.indexBuffer,dr.segments,K.paint,Y.transform.zoom,pr)}}}function Je(Y,z,K,O){if(!(Y.renderPass!==\"offscreen\"&&Y.renderPass!==\"translucent\")){for(var $=Y.context,pe=Y.depthModeForSublayer(0,Wi.ReadOnly),de=Y.colorModeForRenderPass(),Ie=Y.renderPass===\"translucent\"?Y.stencilConfigForOverlap(O):[{},O],$e=Ie[0],pt=Ie[1],Kt=0,ir=pt;Kt<ir.length;Kt+=1){var Jt=ir[Kt],vt=z.getTile(Jt);vt.needsHillshadePrepare&&Y.renderPass===\"offscreen\"?et(Y,vt,K,pe,$i.disabled,de):Y.renderPass===\"translucent\"&&He(Y,vt,K,pe,$e[Jt.overscaledZ],de)}$.viewport.set([0,0,Y.width,Y.height])}}function He(Y,z,K,O,$,pe){var de=Y.context,Ie=de.gl,$e=z.fbo;if($e){var pt=Y.useProgram(\"hillshade\");de.activeTexture.set(Ie.TEXTURE0),Ie.bindTexture(Ie.TEXTURE_2D,$e.colorAttachment.get());var Kt=Ta(Y,z,K);pt.draw(de,Ie.TRIANGLES,O,$,pe,yr.disabled,Kt,K.id,Y.rasterBoundsBuffer,Y.quadTriangleIndexBuffer,Y.rasterBoundsSegments)}}function et(Y,z,K,O,$,pe){var de=Y.context,Ie=de.gl,$e=z.dem;if($e&&$e.data){var pt=$e.dim,Kt=$e.stride,ir=$e.getPixels();if(de.activeTexture.set(Ie.TEXTURE1),de.pixelStoreUnpackPremultiplyAlpha.set(!1),z.demTexture=z.demTexture||Y.getTileTexture(Kt),z.demTexture){var Jt=z.demTexture;Jt.update(ir,{premultiply:!1}),Jt.bind(Ie.NEAREST,Ie.CLAMP_TO_EDGE)}else z.demTexture=new i.Texture(de,ir,Ie.RGBA,{premultiply:!1}),z.demTexture.bind(Ie.NEAREST,Ie.CLAMP_TO_EDGE);de.activeTexture.set(Ie.TEXTURE0);var vt=z.fbo;if(!vt){var Pt=new i.Texture(de,{width:pt,height:pt,data:null},Ie.RGBA);Pt.bind(Ie.LINEAR,Ie.CLAMP_TO_EDGE),vt=z.fbo=de.createFramebuffer(pt,pt,!0),vt.colorAttachment.set(Pt.texture)}de.bindFramebuffer.set(vt.framebuffer),de.viewport.set([0,0,pt,pt]),Y.useProgram(\"hillshadePrepare\").draw(de,Ie.TRIANGLES,O,$,pe,yr.disabled,Ea(z.tileID,$e),K.id,Y.rasterBoundsBuffer,Y.quadTriangleIndexBuffer,Y.rasterBoundsSegments),z.needsHillshadePrepare=!1}}function Mt(Y,z,K,O){if(Y.renderPass===\"translucent\"&&K.paint.get(\"raster-opacity\")!==0&&O.length)for(var $=Y.context,pe=$.gl,de=z.getSource(),Ie=Y.useProgram(\"raster\"),$e=Y.colorModeForRenderPass(),pt=de instanceof ke?[{},O]:Y.stencilConfigForOverlap(O),Kt=pt[0],ir=pt[1],Jt=ir[ir.length-1].overscaledZ,vt=!Y.options.moving,Pt=0,Wt=ir;Pt<Wt.length;Pt+=1){var rr=Wt[Pt],dr=Y.depthModeForSublayer(rr.overscaledZ-Jt,K.paint.get(\"raster-opacity\")===1?Wi.ReadWrite:Wi.ReadOnly,pe.LESS),pr=z.getTile(rr),kr=Y.transform.calculatePosMatrix(rr.toUnwrapped(),vt);pr.registerFadeDuration(K.paint.get(\"raster-fade-duration\"));var Ar=z.findLoadedParent(rr,0),gr=Dt(pr,Ar,z,K,Y.transform),Cr=void 0,cr=void 0,Gr=K.paint.get(\"raster-resampling\")===\"nearest\"?pe.NEAREST:pe.LINEAR;$.activeTexture.set(pe.TEXTURE0),pr.texture.bind(Gr,pe.CLAMP_TO_EDGE,pe.LINEAR_MIPMAP_NEAREST),$.activeTexture.set(pe.TEXTURE1),Ar?(Ar.texture.bind(Gr,pe.CLAMP_TO_EDGE,pe.LINEAR_MIPMAP_NEAREST),Cr=Math.pow(2,Ar.tileID.overscaledZ-pr.tileID.overscaledZ),cr=[pr.tileID.canonical.x*Cr%1,pr.tileID.canonical.y*Cr%1]):pr.texture.bind(Gr,pe.CLAMP_TO_EDGE,pe.LINEAR_MIPMAP_NEAREST);var ei=Rs(kr,cr||[0,0],Cr||1,gr,K);de instanceof ke?Ie.draw($,pe.TRIANGLES,dr,$i.disabled,$e,yr.disabled,ei,K.id,de.boundsBuffer,Y.quadTriangleIndexBuffer,de.boundsSegments):Ie.draw($,pe.TRIANGLES,dr,Kt[rr.overscaledZ],$e,yr.disabled,ei,K.id,Y.rasterBoundsBuffer,Y.quadTriangleIndexBuffer,Y.rasterBoundsSegments)}}function Dt(Y,z,K,O,$){var pe=O.paint.get(\"raster-fade-duration\");if(pe>0){var de=i.browser.now(),Ie=(de-Y.timeAdded)/pe,$e=z?(de-z.timeAdded)/pe:-1,pt=K.getSource(),Kt=$.coveringZoomLevel({tileSize:pt.tileSize,roundZoom:pt.roundZoom}),ir=!z||Math.abs(z.tileID.overscaledZ-Kt)>Math.abs(Y.tileID.overscaledZ-Kt),Jt=ir&&Y.refreshedUponExpiration?1:i.clamp(ir?Ie:1-$e,0,1);return Y.refreshedUponExpiration&&Ie>=1&&(Y.refreshedUponExpiration=!1),z?{opacity:1,mix:1-Jt}:{opacity:Jt,mix:0}}else return{opacity:1,mix:0}}function Ut(Y,z,K){var O=K.paint.get(\"background-color\"),$=K.paint.get(\"background-opacity\");if($!==0){var pe=Y.context,de=pe.gl,Ie=Y.transform,$e=Ie.tileSize,pt=K.paint.get(\"background-pattern\");if(!Y.isPatternMissing(pt)){var Kt=!pt&&O.a===1&&$===1&&Y.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(Y.renderPass===Kt){var ir=$i.disabled,Jt=Y.depthModeForSublayer(0,Kt===\"opaque\"?Wi.ReadWrite:Wi.ReadOnly),vt=Y.colorModeForRenderPass(),Pt=Y.useProgram(pt?\"backgroundPattern\":\"background\"),Wt=Ie.coveringTiles({tileSize:$e});pt&&(pe.activeTexture.set(de.TEXTURE0),Y.imageManager.bind(Y.context));for(var rr=K.getCrossfadeParameters(),dr=0,pr=Wt;dr<pr.length;dr+=1){var kr=pr[dr],Ar=Y.transform.calculatePosMatrix(kr.toUnwrapped()),gr=pt?Da(Ar,$,Y,pt,{tileID:kr,tileSize:$e},rr):Dc(Ar,$,O);Pt.draw(pe,de.TRIANGLES,Jt,ir,vt,yr.disabled,gr,K.id,Y.tileExtentBuffer,Y.quadTriangleIndexBuffer,Y.tileExtentSegments)}}}}}var tr=new i.Color(1,0,0,1),mr=new i.Color(0,1,0,1),Rr=new i.Color(0,0,1,1),zr=new i.Color(1,0,1,1),Xr=new i.Color(0,1,1,1);function di(Y){var z=Y.transform.padding,K=3;Ci(Y,Y.transform.height-(z.top||0),K,tr),Ci(Y,z.bottom||0,K,mr),Qi(Y,z.left||0,K,Rr),Qi(Y,Y.transform.width-(z.right||0),K,zr);var O=Y.transform.centerPoint;Li(Y,O.x,Y.transform.height-O.y,Xr)}function Li(Y,z,K,O){var $=20,pe=2;Mn(Y,z-pe/2,K-$/2,pe,$,O),Mn(Y,z-$/2,K-pe/2,$,pe,O)}function Ci(Y,z,K,O){Mn(Y,0,z+K/2,Y.transform.width,K,O)}function Qi(Y,z,K,O){Mn(Y,z-K/2,0,K,Y.transform.height,O)}function Mn(Y,z,K,O,$,pe){var de=Y.context,Ie=de.gl;Ie.enable(Ie.SCISSOR_TEST),Ie.scissor(z*i.browser.devicePixelRatio,K*i.browser.devicePixelRatio,O*i.browser.devicePixelRatio,$*i.browser.devicePixelRatio),de.clear({color:pe}),Ie.disable(Ie.SCISSOR_TEST)}function pa(Y,z,K){for(var O=0;O<K.length;O++)ea(Y,z,K[O])}function ea(Y,z,K){var O=Y.context,$=O.gl,pe=K.posMatrix,de=Y.useProgram(\"debug\"),Ie=Wi.disabled,$e=$i.disabled,pt=Y.colorModeForRenderPass(),Kt=\"$debug\";O.activeTexture.set($.TEXTURE0),Y.emptyTexture.bind($.LINEAR,$.CLAMP_TO_EDGE),de.draw(O,$.LINE_STRIP,Ie,$e,pt,yr.disabled,Fi(pe,i.Color.red),Kt,Y.debugBuffer,Y.tileBorderIndexBuffer,Y.debugSegments);var ir=z.getTileByID(K.key).latestRawTileData,Jt=ir&&ir.byteLength||0,vt=Math.floor(Jt/1024),Pt=z.getTile(K).tileSize,Wt=512/Math.min(Pt,512)*(K.overscaledZ/Y.transform.zoom)*.5,rr=K.canonical.toString();K.overscaledZ!==K.canonical.z&&(rr+=\" => \"+K.overscaledZ);var dr=rr+\" \"+vt+\"kb\";Ga(Y,dr),de.draw(O,$.TRIANGLES,Ie,$e,ft.alphaBlended,yr.disabled,Fi(pe,i.Color.transparent,Wt),Kt,Y.debugBuffer,Y.quadTriangleIndexBuffer,Y.debugSegments)}function Ga(Y,z){Y.initDebugOverlayCanvas();var K=Y.debugOverlayCanvas,O=Y.context.gl,$=Y.debugOverlayCanvas.getContext(\"2d\");$.clearRect(0,0,K.width,K.height),$.shadowColor=\"white\",$.shadowBlur=2,$.lineWidth=1.5,$.strokeStyle=\"white\",$.textBaseline=\"top\",$.font=\"bold 36px Open Sans, sans-serif\",$.fillText(z,5,5),$.strokeText(z,5,5),Y.debugOverlayTexture.update(K),Y.debugOverlayTexture.bind(O.LINEAR,O.CLAMP_TO_EDGE)}function To(Y,z,K){var O=Y.context,$=K.implementation;if(Y.renderPass===\"offscreen\"){var pe=$.prerender;pe&&(Y.setCustomLayerDefaults(),O.setColorMode(Y.colorModeForRenderPass()),pe.call($,O.gl,Y.transform.customLayerMatrix()),O.setDirty(),Y.setBaseState())}else if(Y.renderPass===\"translucent\"){Y.setCustomLayerDefaults(),O.setColorMode(Y.colorModeForRenderPass()),O.setStencilMode($i.disabled);var de=$.renderingMode===\"3d\"?new Wi(Y.context.gl.LEQUAL,Wi.ReadWrite,Y.depthRangeFor3D):Y.depthModeForSublayer(0,Wi.ReadOnly);O.setDepthMode(de),$.render(O.gl,Y.transform.customLayerMatrix()),O.setDirty(),Y.setBaseState(),O.bindFramebuffer.set(null)}}var Wa={symbol:w,circle:it,heatmap:yt,line:Sr,fill:he,\"fill-extrusion\":Pe,hillshade:Je,raster:Mt,background:Ut,debug:pa,custom:To},co=function(z,K){this.context=new Fr(z),this.transform=K,this._tileTextures={},this.setup(),this.numSublayers=Zr.maxUnderzooming+Zr.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new rh,this.gpuTimers={}};co.prototype.resize=function(z,K){if(this.width=z*i.browser.devicePixelRatio,this.height=K*i.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var O=0,$=this.style._order;O<$.length;O+=1){var pe=$[O];this.style._layers[pe].resize()}},co.prototype.setup=function(){var z=this.context,K=new i.StructArrayLayout2i4;K.emplaceBack(0,0),K.emplaceBack(i.EXTENT,0),K.emplaceBack(0,i.EXTENT),K.emplaceBack(i.EXTENT,i.EXTENT),this.tileExtentBuffer=z.createVertexBuffer(K,kc.members),this.tileExtentSegments=i.SegmentVector.simpleSegment(0,0,4,2);var O=new i.StructArrayLayout2i4;O.emplaceBack(0,0),O.emplaceBack(i.EXTENT,0),O.emplaceBack(0,i.EXTENT),O.emplaceBack(i.EXTENT,i.EXTENT),this.debugBuffer=z.createVertexBuffer(O,kc.members),this.debugSegments=i.SegmentVector.simpleSegment(0,0,4,5);var $=new i.StructArrayLayout4i8;$.emplaceBack(0,0,0,0),$.emplaceBack(i.EXTENT,0,i.EXTENT,0),$.emplaceBack(0,i.EXTENT,0,i.EXTENT),$.emplaceBack(i.EXTENT,i.EXTENT,i.EXTENT,i.EXTENT),this.rasterBoundsBuffer=z.createVertexBuffer($,Me.members),this.rasterBoundsSegments=i.SegmentVector.simpleSegment(0,0,4,2);var pe=new i.StructArrayLayout2i4;pe.emplaceBack(0,0),pe.emplaceBack(1,0),pe.emplaceBack(0,1),pe.emplaceBack(1,1),this.viewportBuffer=z.createVertexBuffer(pe,kc.members),this.viewportSegments=i.SegmentVector.simpleSegment(0,0,4,2);var de=new i.StructArrayLayout1ui2;de.emplaceBack(0),de.emplaceBack(1),de.emplaceBack(3),de.emplaceBack(2),de.emplaceBack(0),this.tileBorderIndexBuffer=z.createIndexBuffer(de);var Ie=new i.StructArrayLayout3ui6;Ie.emplaceBack(0,1,2),Ie.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=z.createIndexBuffer(Ie),this.emptyTexture=new i.Texture(z,{width:1,height:1,data:new Uint8Array([0,0,0,0])},z.gl.RGBA);var $e=this.context.gl;this.stencilClearMode=new $i({func:$e.ALWAYS,mask:0},0,255,$e.ZERO,$e.ZERO,$e.ZERO)},co.prototype.clearStencil=function(){var z=this.context,K=z.gl;this.nextStencilID=1,this.currentStencilSource=void 0;var O=i.create();i.ortho(O,0,this.width,this.height,0,0,1),i.scale(O,O,[K.drawingBufferWidth,K.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(z,K.TRIANGLES,Wi.disabled,this.stencilClearMode,ft.disabled,yr.disabled,hn(O),\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)},co.prototype._renderTileClippingMasks=function(z,K){if(!(this.currentStencilSource===z.source||!z.isTileClipped()||!K||!K.length)){this.currentStencilSource=z.source;var O=this.context,$=O.gl;this.nextStencilID+K.length>256&&this.clearStencil(),O.setColorMode(ft.disabled),O.setDepthMode(Wi.disabled);var pe=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(var de=0,Ie=K;de<Ie.length;de+=1){var $e=Ie[de],pt=this._tileClippingMaskIDs[$e.key]=this.nextStencilID++;pe.draw(O,$.TRIANGLES,Wi.disabled,new $i({func:$.ALWAYS,mask:0},pt,255,$.KEEP,$.KEEP,$.REPLACE),ft.disabled,yr.disabled,hn($e.posMatrix),\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}},co.prototype.stencilModeFor3D=function(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();var z=this.nextStencilID++,K=this.context.gl;return new $i({func:K.NOTEQUAL,mask:255},z,255,K.KEEP,K.KEEP,K.REPLACE)},co.prototype.stencilModeForClipping=function(z){var K=this.context.gl;return new $i({func:K.EQUAL,mask:255},this._tileClippingMaskIDs[z.key],0,K.KEEP,K.KEEP,K.REPLACE)},co.prototype.stencilConfigForOverlap=function(z){var K,O=this.context.gl,$=z.sort(function(pt,Kt){return Kt.overscaledZ-pt.overscaledZ}),pe=$[$.length-1].overscaledZ,de=$[0].overscaledZ-pe+1;if(de>1){this.currentStencilSource=void 0,this.nextStencilID+de>256&&this.clearStencil();for(var Ie={},$e=0;$e<de;$e++)Ie[$e+pe]=new $i({func:O.GEQUAL,mask:255},$e+this.nextStencilID,255,O.KEEP,O.KEEP,O.REPLACE);return this.nextStencilID+=de,[Ie,$]}return[(K={},K[pe]=$i.disabled,K),$]},co.prototype.colorModeForRenderPass=function(){var z=this.context.gl;if(this._showOverdrawInspector){var K=8,O=1/K;return new ft([z.CONSTANT_COLOR,z.ONE],new i.Color(O,O,O,0),[!0,!0,!0,!0])}else return this.renderPass===\"opaque\"?ft.unblended:ft.alphaBlended},co.prototype.depthModeForSublayer=function(z,K,O){if(!this.opaquePassEnabledForLayer())return Wi.disabled;var $=1-((1+this.currentLayer)*this.numSublayers+z)*this.depthEpsilon;return new Wi(O||this.context.gl.LEQUAL,K,[$,$])},co.prototype.opaquePassEnabledForLayer=function(){return this.currentLayer<this.opaquePassCutoff},co.prototype.render=function(z,K){var O=this;this.style=z,this.options=K,this.lineAtlas=z.lineAtlas,this.imageManager=z.imageManager,this.glyphManager=z.glyphManager,this.symbolFadeChange=z.placement.symbolFadeChange(i.browser.now()),this.imageManager.beginFrame();var $=this.style._order,pe=this.style.sourceCaches;for(var de in pe){var Ie=pe[de];Ie.used&&Ie.prepare(this.context)}var $e={},pt={},Kt={};for(var ir in pe){var Jt=pe[ir];$e[ir]=Jt.getVisibleCoordinates(),pt[ir]=$e[ir].slice().reverse(),Kt[ir]=Jt.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(var vt=0;vt<$.length;vt++){var Pt=$[vt];if(this.style._layers[Pt].is3D()){this.opaquePassCutoff=vt;break}}this.renderPass=\"offscreen\";for(var Wt=0,rr=$;Wt<rr.length;Wt+=1){var dr=rr[Wt],pr=this.style._layers[dr];if(!(!pr.hasOffscreenPass()||pr.isHidden(this.transform.zoom))){var kr=pt[pr.source];pr.type!==\"custom\"&&!kr.length||this.renderLayer(this,pe[pr.source],pr,kr)}}for(this.context.bindFramebuffer.set(null),this.context.clear({color:K.showOverdrawInspector?i.Color.black:i.Color.transparent,depth:1}),this.clearStencil(),this._showOverdrawInspector=K.showOverdrawInspector,this.depthRangeFor3D=[0,1-(z._order.length+2)*this.numSublayers*this.depthEpsilon],this.renderPass=\"opaque\",this.currentLayer=$.length-1;this.currentLayer>=0;this.currentLayer--){var Ar=this.style._layers[$[this.currentLayer]],gr=pe[Ar.source],Cr=$e[Ar.source];this._renderTileClippingMasks(Ar,Cr),this.renderLayer(this,gr,Ar,Cr)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer<$.length;this.currentLayer++){var cr=this.style._layers[$[this.currentLayer]],Gr=pe[cr.source],ei=(cr.type===\"symbol\"?Kt:pt)[cr.source];this._renderTileClippingMasks(cr,$e[cr.source]),this.renderLayer(this,Gr,cr,ei)}if(this.options.showTileBoundaries){var yi,tn,Ri=i.values(this.style._layers);Ri.forEach(function(ln){ln.source&&!ln.isHidden(O.transform.zoom)&&(ln.source!==(tn&&tn.id)&&(tn=O.style.sourceCaches[ln.source]),(!yi||yi.getSource().maxzoom<tn.getSource().maxzoom)&&(yi=tn))}),yi&&Wa.debug(this,yi,yi.getVisibleCoordinates())}this.options.showPadding&&di(this),this.context.setDefault()},co.prototype.renderLayer=function(z,K,O,$){O.isHidden(this.transform.zoom)||O.type!==\"background\"&&O.type!==\"custom\"&&!$.length||(this.id=O.id,this.gpuTimingStart(O),Wa[O.type](z,K,O,$,this.style.placement.variableOffsets),this.gpuTimingEnd())},co.prototype.gpuTimingStart=function(z){if(this.options.gpuTiming){var K=this.context.extTimerQuery,O=this.gpuTimers[z.id];O||(O=this.gpuTimers[z.id]={calls:0,cpuTime:0,query:K.createQueryEXT()}),O.calls++,K.beginQueryEXT(K.TIME_ELAPSED_EXT,O.query)}},co.prototype.gpuTimingEnd=function(){if(this.options.gpuTiming){var z=this.context.extTimerQuery;z.endQueryEXT(z.TIME_ELAPSED_EXT)}},co.prototype.collectGpuTimers=function(){var z=this.gpuTimers;return this.gpuTimers={},z},co.prototype.queryGpuTimers=function(z){var K={};for(var O in z){var $=z[O],pe=this.context.extTimerQuery,de=pe.getQueryObjectEXT($.query,pe.QUERY_RESULT_EXT)/(1e3*1e3);pe.deleteQueryEXT($.query),K[O]=de}return K},co.prototype.translatePosMatrix=function(z,K,O,$,pe){if(!O[0]&&!O[1])return z;var de=pe?$===\"map\"?this.transform.angle:0:$===\"viewport\"?-this.transform.angle:0;if(de){var Ie=Math.sin(de),$e=Math.cos(de);O=[O[0]*$e-O[1]*Ie,O[0]*Ie+O[1]*$e]}var pt=[pe?O[0]:Cs(K,O[0],this.transform.zoom),pe?O[1]:Cs(K,O[1],this.transform.zoom),0],Kt=new Float32Array(16);return i.translate(Kt,z,pt),Kt},co.prototype.saveTileTexture=function(z){var K=this._tileTextures[z.size[0]];K?K.push(z):this._tileTextures[z.size[0]]=[z]},co.prototype.getTileTexture=function(z){var K=this._tileTextures[z];return K&&K.length>0?K.pop():null},co.prototype.isPatternMissing=function(z){if(!z)return!1;if(!z.from||!z.to)return!0;var K=this.imageManager.getPattern(z.from.toString()),O=this.imageManager.getPattern(z.to.toString());return!K||!O},co.prototype.useProgram=function(z,K){this.cache=this.cache||{};var O=\"\"+z+(K?K.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\");return this.cache[O]||(this.cache[O]=new Vf(this.context,z,Pf[z],K,eo[z],this._showOverdrawInspector)),this.cache[O]},co.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()},co.prototype.setBaseState=function(){var z=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(z.FUNC_ADD)},co.prototype.initDebugOverlayCanvas=function(){if(this.debugOverlayCanvas==null){this.debugOverlayCanvas=i.window.document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var z=this.context.gl;this.debugOverlayTexture=new i.Texture(this.context,this.debugOverlayCanvas,z.RGBA)}},co.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var Ro=function(z,K){this.points=z,this.planes=K};Ro.fromInvProjectionMatrix=function(z,K,O){var $=[[-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]],pe=Math.pow(2,O),de=$.map(function(pt){return i.transformMat4([],pt,z)}).map(function(pt){return i.scale$1([],pt,1/pt[3]/K*pe)}),Ie=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]],$e=Ie.map(function(pt){var Kt=i.sub([],de[pt[0]],de[pt[1]]),ir=i.sub([],de[pt[2]],de[pt[1]]),Jt=i.normalize([],i.cross([],Kt,ir)),vt=-i.dot(Jt,de[pt[1]]);return Jt.concat(vt)});return new Ro(de,$e)};var Ds=function(z,K){this.min=z,this.max=K,this.center=i.scale$2([],i.add([],this.min,this.max),.5)};Ds.prototype.quadrant=function(z){for(var K=[z%2===0,z<2],O=i.clone$2(this.min),$=i.clone$2(this.max),pe=0;pe<K.length;pe++)O[pe]=K[pe]?this.min[pe]:this.center[pe],$[pe]=K[pe]?this.center[pe]:this.max[pe];return $[2]=this.max[2],new Ds(O,$)},Ds.prototype.distanceX=function(z){var K=Math.max(Math.min(this.max[0],z[0]),this.min[0]);return K-z[0]},Ds.prototype.distanceY=function(z){var K=Math.max(Math.min(this.max[1],z[1]),this.min[1]);return K-z[1]},Ds.prototype.intersects=function(z){for(var K=[[this.min[0],this.min[1],0,1],[this.max[0],this.min[1],0,1],[this.max[0],this.max[1],0,1],[this.min[0],this.max[1],0,1]],O=!0,$=0;$<z.planes.length;$++){for(var pe=z.planes[$],de=0,Ie=0;Ie<K.length;Ie++)de+=i.dot$1(pe,K[Ie])>=0;if(de===0)return 0;de!==K.length&&(O=!1)}if(O)return 2;for(var $e=0;$e<3;$e++){for(var pt=Number.MAX_VALUE,Kt=-Number.MAX_VALUE,ir=0;ir<z.points.length;ir++){var Jt=z.points[ir][$e]-this.min[$e];pt=Math.min(pt,Jt),Kt=Math.max(Kt,Jt)}if(Kt<0||pt>this.max[$e]-this.min[$e])return 0}return 1};var As=function(z,K,O,$){if(z===void 0&&(z=0),K===void 0&&(K=0),O===void 0&&(O=0),$===void 0&&($=0),isNaN(z)||z<0||isNaN(K)||K<0||isNaN(O)||O<0||isNaN($)||$<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=z,this.bottom=K,this.left=O,this.right=$};As.prototype.interpolate=function(z,K,O){return K.top!=null&&z.top!=null&&(this.top=i.number(z.top,K.top,O)),K.bottom!=null&&z.bottom!=null&&(this.bottom=i.number(z.bottom,K.bottom,O)),K.left!=null&&z.left!=null&&(this.left=i.number(z.left,K.left,O)),K.right!=null&&z.right!=null&&(this.right=i.number(z.right,K.right,O)),this},As.prototype.getCenter=function(z,K){var O=i.clamp((this.left+z-this.right)/2,0,z),$=i.clamp((this.top+K-this.bottom)/2,0,K);return new i.Point(O,$)},As.prototype.equals=function(z){return this.top===z.top&&this.bottom===z.bottom&&this.left===z.left&&this.right===z.right},As.prototype.clone=function(){return new As(this.top,this.bottom,this.left,this.right)},As.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var yo=function(z,K,O,$,pe){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=pe===void 0?!0:pe,this._minZoom=z||0,this._maxZoom=K||22,this._minPitch=O==null?0:O,this._maxPitch=$==null?60:$,this.setMaxBounds(),this.width=0,this.height=0,this._center=new i.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new As,this._posMatrixCache={},this._alignedPosMatrixCache={}},po={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}};yo.prototype.clone=function(){var z=new yo(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return z.tileSize=this.tileSize,z.latRange=this.latRange,z.width=this.width,z.height=this.height,z._center=this._center,z.zoom=this.zoom,z.angle=this.angle,z._fov=this._fov,z._pitch=this._pitch,z._unmodified=this._unmodified,z._edgeInsets=this._edgeInsets.clone(),z._calcMatrices(),z},po.minZoom.get=function(){return this._minZoom},po.minZoom.set=function(Y){this._minZoom!==Y&&(this._minZoom=Y,this.zoom=Math.max(this.zoom,Y))},po.maxZoom.get=function(){return this._maxZoom},po.maxZoom.set=function(Y){this._maxZoom!==Y&&(this._maxZoom=Y,this.zoom=Math.min(this.zoom,Y))},po.minPitch.get=function(){return this._minPitch},po.minPitch.set=function(Y){this._minPitch!==Y&&(this._minPitch=Y,this.pitch=Math.max(this.pitch,Y))},po.maxPitch.get=function(){return this._maxPitch},po.maxPitch.set=function(Y){this._maxPitch!==Y&&(this._maxPitch=Y,this.pitch=Math.min(this.pitch,Y))},po.renderWorldCopies.get=function(){return this._renderWorldCopies},po.renderWorldCopies.set=function(Y){Y===void 0?Y=!0:Y===null&&(Y=!1),this._renderWorldCopies=Y},po.worldSize.get=function(){return this.tileSize*this.scale},po.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},po.size.get=function(){return new i.Point(this.width,this.height)},po.bearing.get=function(){return-this.angle/Math.PI*180},po.bearing.set=function(Y){var z=-i.wrap(Y,-180,180)*Math.PI/180;this.angle!==z&&(this._unmodified=!1,this.angle=z,this._calcMatrices(),this.rotationMatrix=i.create$2(),i.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},po.pitch.get=function(){return this._pitch/Math.PI*180},po.pitch.set=function(Y){var z=i.clamp(Y,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==z&&(this._unmodified=!1,this._pitch=z,this._calcMatrices())},po.fov.get=function(){return this._fov/Math.PI*180},po.fov.set=function(Y){Y=Math.max(.01,Math.min(60,Y)),this._fov!==Y&&(this._unmodified=!1,this._fov=Y/180*Math.PI,this._calcMatrices())},po.zoom.get=function(){return this._zoom},po.zoom.set=function(Y){var z=Math.min(Math.max(Y,this.minZoom),this.maxZoom);this._zoom!==z&&(this._unmodified=!1,this._zoom=z,this.scale=this.zoomScale(z),this.tileZoom=Math.floor(z),this.zoomFraction=z-this.tileZoom,this._constrain(),this._calcMatrices())},po.center.get=function(){return this._center},po.center.set=function(Y){Y.lat===this._center.lat&&Y.lng===this._center.lng||(this._unmodified=!1,this._center=Y,this._constrain(),this._calcMatrices())},po.padding.get=function(){return this._edgeInsets.toJSON()},po.padding.set=function(Y){this._edgeInsets.equals(Y)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,Y,1),this._calcMatrices())},po.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},yo.prototype.isPaddingEqual=function(z){return this._edgeInsets.equals(z)},yo.prototype.interpolatePadding=function(z,K,O){this._unmodified=!1,this._edgeInsets.interpolate(z,K,O),this._constrain(),this._calcMatrices()},yo.prototype.coveringZoomLevel=function(z){var K=(z.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/z.tileSize));return Math.max(0,K)},yo.prototype.getVisibleUnwrappedCoordinates=function(z){var K=[new i.UnwrappedTileID(0,z)];if(this._renderWorldCopies)for(var O=this.pointCoordinate(new i.Point(0,0)),$=this.pointCoordinate(new i.Point(this.width,0)),pe=this.pointCoordinate(new i.Point(this.width,this.height)),de=this.pointCoordinate(new i.Point(0,this.height)),Ie=Math.floor(Math.min(O.x,$.x,pe.x,de.x)),$e=Math.floor(Math.max(O.x,$.x,pe.x,de.x)),pt=1,Kt=Ie-pt;Kt<=$e+pt;Kt++)Kt!==0&&K.push(new i.UnwrappedTileID(Kt,z));return K},yo.prototype.coveringTiles=function(z){var K=this.coveringZoomLevel(z),O=K;if(z.minzoom!==void 0&&K<z.minzoom)return[];z.maxzoom!==void 0&&K>z.maxzoom&&(K=z.maxzoom);var $=i.MercatorCoordinate.fromLngLat(this.center),pe=Math.pow(2,K),de=[pe*$.x,pe*$.y,0],Ie=Ro.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,K),$e=z.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&($e=K);var pt=3,Kt=function(Ri){return{aabb:new Ds([Ri*pe,0,0],[(Ri+1)*pe,pe,0]),zoom:0,x:0,y:0,wrap:Ri,fullyVisible:!1}},ir=[],Jt=[],vt=K,Pt=z.reparseOverscaled?O:K;if(this._renderWorldCopies)for(var Wt=1;Wt<=3;Wt++)ir.push(Kt(-Wt)),ir.push(Kt(Wt));for(ir.push(Kt(0));ir.length>0;){var rr=ir.pop(),dr=rr.x,pr=rr.y,kr=rr.fullyVisible;if(!kr){var Ar=rr.aabb.intersects(Ie);if(Ar===0)continue;kr=Ar===2}var gr=rr.aabb.distanceX(de),Cr=rr.aabb.distanceY(de),cr=Math.max(Math.abs(gr),Math.abs(Cr)),Gr=pt+(1<<vt-rr.zoom)-2;if(rr.zoom===vt||cr>Gr&&rr.zoom>=$e){Jt.push({tileID:new i.OverscaledTileID(rr.zoom===vt?Pt:rr.zoom,rr.wrap,rr.zoom,dr,pr),distanceSq:i.sqrLen([de[0]-.5-dr,de[1]-.5-pr])});continue}for(var ei=0;ei<4;ei++){var yi=(dr<<1)+ei%2,tn=(pr<<1)+(ei>>1);ir.push({aabb:rr.aabb.quadrant(ei),zoom:rr.zoom+1,x:yi,y:tn,wrap:rr.wrap,fullyVisible:kr})}}return Jt.sort(function(Ri,ln){return Ri.distanceSq-ln.distanceSq}).map(function(Ri){return Ri.tileID})},yo.prototype.resize=function(z,K){this.width=z,this.height=K,this.pixelsToGLUnits=[2/z,-2/K],this._constrain(),this._calcMatrices()},po.unmodified.get=function(){return this._unmodified},yo.prototype.zoomScale=function(z){return Math.pow(2,z)},yo.prototype.scaleZoom=function(z){return Math.log(z)/Math.LN2},yo.prototype.project=function(z){var K=i.clamp(z.lat,-this.maxValidLatitude,this.maxValidLatitude);return new i.Point(i.mercatorXfromLng(z.lng)*this.worldSize,i.mercatorYfromLat(K)*this.worldSize)},yo.prototype.unproject=function(z){return new i.MercatorCoordinate(z.x/this.worldSize,z.y/this.worldSize).toLngLat()},po.point.get=function(){return this.project(this.center)},yo.prototype.setLocationAtPoint=function(z,K){var O=this.pointCoordinate(K),$=this.pointCoordinate(this.centerPoint),pe=this.locationCoordinate(z),de=new i.MercatorCoordinate(pe.x-(O.x-$.x),pe.y-(O.y-$.y));this.center=this.coordinateLocation(de),this._renderWorldCopies&&(this.center=this.center.wrap())},yo.prototype.locationPoint=function(z){return this.coordinatePoint(this.locationCoordinate(z))},yo.prototype.pointLocation=function(z){return this.coordinateLocation(this.pointCoordinate(z))},yo.prototype.locationCoordinate=function(z){return i.MercatorCoordinate.fromLngLat(z)},yo.prototype.coordinateLocation=function(z){return z.toLngLat()},yo.prototype.pointCoordinate=function(z){var K=0,O=[z.x,z.y,0,1],$=[z.x,z.y,1,1];i.transformMat4(O,O,this.pixelMatrixInverse),i.transformMat4($,$,this.pixelMatrixInverse);var pe=O[3],de=$[3],Ie=O[0]/pe,$e=$[0]/de,pt=O[1]/pe,Kt=$[1]/de,ir=O[2]/pe,Jt=$[2]/de,vt=ir===Jt?0:(K-ir)/(Jt-ir);return new i.MercatorCoordinate(i.number(Ie,$e,vt)/this.worldSize,i.number(pt,Kt,vt)/this.worldSize)},yo.prototype.coordinatePoint=function(z){var K=[z.x*this.worldSize,z.y*this.worldSize,0,1];return i.transformMat4(K,K,this.pixelMatrix),new i.Point(K[0]/K[3],K[1]/K[3])},yo.prototype.getBounds=function(){return new i.LngLatBounds().extend(this.pointLocation(new i.Point(0,0))).extend(this.pointLocation(new i.Point(this.width,0))).extend(this.pointLocation(new i.Point(this.width,this.height))).extend(this.pointLocation(new i.Point(0,this.height)))},yo.prototype.getMaxBounds=function(){return!this.latRange||this.latRange.length!==2||!this.lngRange||this.lngRange.length!==2?null:new i.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]])},yo.prototype.setMaxBounds=function(z){z?(this.lngRange=[z.getWest(),z.getEast()],this.latRange=[z.getSouth(),z.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},yo.prototype.calculatePosMatrix=function(z,K){K===void 0&&(K=!1);var O=z.key,$=K?this._alignedPosMatrixCache:this._posMatrixCache;if($[O])return $[O];var pe=z.canonical,de=this.worldSize/this.zoomScale(pe.z),Ie=pe.x+Math.pow(2,pe.z)*z.wrap,$e=i.identity(new Float64Array(16));return i.translate($e,$e,[Ie*de,pe.y*de,0]),i.scale($e,$e,[de/i.EXTENT,de/i.EXTENT,1]),i.multiply($e,K?this.alignedProjMatrix:this.projMatrix,$e),$[O]=new Float32Array($e),$[O]},yo.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},yo.prototype._constrain=function(){if(!(!this.center||!this.width||!this.height||this._constraining)){this._constraining=!0;var z=-90,K=90,O=-180,$=180,pe,de,Ie,$e,pt=this.size,Kt=this._unmodified;if(this.latRange){var ir=this.latRange;z=i.mercatorYfromLat(ir[1])*this.worldSize,K=i.mercatorYfromLat(ir[0])*this.worldSize,pe=K-z<pt.y?pt.y/(K-z):0}if(this.lngRange){var Jt=this.lngRange;O=i.mercatorXfromLng(Jt[0])*this.worldSize,$=i.mercatorXfromLng(Jt[1])*this.worldSize,de=$-O<pt.x?pt.x/($-O):0}var vt=this.point,Pt=Math.max(de||0,pe||0);if(Pt){this.center=this.unproject(new i.Point(de?($+O)/2:vt.x,pe?(K+z)/2:vt.y)),this.zoom+=this.scaleZoom(Pt),this._unmodified=Kt,this._constraining=!1;return}if(this.latRange){var Wt=vt.y,rr=pt.y/2;Wt-rr<z&&($e=z+rr),Wt+rr>K&&($e=K-rr)}if(this.lngRange){var dr=vt.x,pr=pt.x/2;dr-pr<O&&(Ie=O+pr),dr+pr>$&&(Ie=$-pr)}(Ie!==void 0||$e!==void 0)&&(this.center=this.unproject(new i.Point(Ie!==void 0?Ie:vt.x,$e!==void 0?$e:vt.y))),this._unmodified=Kt,this._constraining=!1}},yo.prototype._calcMatrices=function(){if(this.height){var z=this._fov/2,K=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(z)*this.height;var O=Math.PI/2+this._pitch,$=this._fov*(.5+K.y/this.height),pe=Math.sin($)*this.cameraToCenterDistance/Math.sin(i.clamp(Math.PI-O-$,.01,Math.PI-.01)),de=this.point,Ie=de.x,$e=de.y,pt=Math.cos(Math.PI/2-this._pitch)*pe+this.cameraToCenterDistance,Kt=pt*1.01,ir=this.height/50,Jt=new Float64Array(16);i.perspective(Jt,this._fov,this.width/this.height,ir,Kt),Jt[8]=-K.x*2/this.width,Jt[9]=K.y*2/this.height,i.scale(Jt,Jt,[1,-1,1]),i.translate(Jt,Jt,[0,0,-this.cameraToCenterDistance]),i.rotateX(Jt,Jt,this._pitch),i.rotateZ(Jt,Jt,this.angle),i.translate(Jt,Jt,[-Ie,-$e,0]),this.mercatorMatrix=i.scale([],Jt,[this.worldSize,this.worldSize,this.worldSize]),i.scale(Jt,Jt,[1,1,i.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=Jt,this.invProjMatrix=i.invert([],this.projMatrix);var vt=this.width%2/2,Pt=this.height%2/2,Wt=Math.cos(this.angle),rr=Math.sin(this.angle),dr=Ie-Math.round(Ie)+Wt*vt+rr*Pt,pr=$e-Math.round($e)+Wt*Pt+rr*vt,kr=new Float64Array(Jt);if(i.translate(kr,kr,[dr>.5?dr-1:dr,pr>.5?pr-1:pr,0]),this.alignedProjMatrix=kr,Jt=i.create(),i.scale(Jt,Jt,[this.width/2,-this.height/2,1]),i.translate(Jt,Jt,[1,-1,0]),this.labelPlaneMatrix=Jt,Jt=i.create(),i.scale(Jt,Jt,[1,-1,1]),i.translate(Jt,Jt,[-1,-1,0]),i.scale(Jt,Jt,[2/this.width,2/this.height,1]),this.glCoordMatrix=Jt,this.pixelMatrix=i.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),Jt=i.invert(new Float64Array(16),this.pixelMatrix),!Jt)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=Jt,this._posMatrixCache={},this._alignedPosMatrixCache={}}},yo.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var z=this.pointCoordinate(new i.Point(0,0)),K=[z.x*this.worldSize,z.y*this.worldSize,0,1],O=i.transformMat4(K,K,this.pixelMatrix);return O[3]/this.cameraToCenterDistance},yo.prototype.getCameraPoint=function(){var z=this._pitch,K=Math.tan(z)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new i.Point(0,K))},yo.prototype.getCameraQueryGeometry=function(z){var K=this.getCameraPoint();if(z.length===1)return[z[0],K];for(var O=K.x,$=K.y,pe=K.x,de=K.y,Ie=0,$e=z;Ie<$e.length;Ie+=1){var pt=$e[Ie];O=Math.min(O,pt.x),$=Math.min($,pt.y),pe=Math.max(pe,pt.x),de=Math.max(de,pt.y)}return[new i.Point(O,$),new i.Point(pe,$),new i.Point(pe,de),new i.Point(O,de),new i.Point(O,$)]},Object.defineProperties(yo.prototype,po);function _l(Y,z){var K=!1,O=null,$=function(){O=null,K&&(Y(),O=setTimeout($,z),K=!1)};return function(){return K=!0,O||$(),O}}var Hl=function(z){this._hashName=z&&encodeURIComponent(z),i.bindAll([\"_getCurrentHash\",\"_onHashChange\",\"_updateHash\"],this),this._updateHash=_l(this._updateHashUnthrottled.bind(this),30*1e3/100)};Hl.prototype.addTo=function(z){return this._map=z,i.window.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},Hl.prototype.remove=function(){return i.window.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},Hl.prototype.getHashString=function(z){var K=this._map.getCenter(),O=Math.round(this._map.getZoom()*100)/100,$=Math.ceil((O*Math.LN2+Math.log(512/360/.5))/Math.LN10),pe=Math.pow(10,$),de=Math.round(K.lng*pe)/pe,Ie=Math.round(K.lat*pe)/pe,$e=this._map.getBearing(),pt=this._map.getPitch(),Kt=\"\";if(z?Kt+=\"/\"+de+\"/\"+Ie+\"/\"+O:Kt+=O+\"/\"+Ie+\"/\"+de,($e||pt)&&(Kt+=\"/\"+Math.round($e*10)/10),pt&&(Kt+=\"/\"+Math.round(pt)),this._hashName){var ir=this._hashName,Jt=!1,vt=i.window.location.hash.slice(1).split(\"&\").map(function(Pt){var Wt=Pt.split(\"=\")[0];return Wt===ir?(Jt=!0,Wt+\"=\"+Kt):Pt}).filter(function(Pt){return Pt});return Jt||vt.push(ir+\"=\"+Kt),\"#\"+vt.join(\"&\")}return\"#\"+Kt},Hl.prototype._getCurrentHash=function(){var z=this,K=i.window.location.hash.replace(\"#\",\"\");if(this._hashName){var O;return K.split(\"&\").map(function($){return $.split(\"=\")}).forEach(function($){$[0]===z._hashName&&(O=$)}),(O&&O[1]||\"\").split(\"/\")}return K.split(\"/\")},Hl.prototype._onHashChange=function(){var z=this._getCurrentHash();if(z.length>=3&&!z.some(function(O){return isNaN(O)})){var K=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(z[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+z[2],+z[1]],zoom:+z[0],bearing:K,pitch:+(z[4]||0)}),!0}return!1},Hl.prototype._updateHashUnthrottled=function(){var z=i.window.location.href.replace(/(#.+)?$/,this.getHashString());try{i.window.history.replaceState(i.window.history.state,null,z)}catch(K){}};var Zu={linearity:.3,easing:i.bezier(0,0,.3,1)},cu=i.extend({deceleration:2500,maxSpeed:1400},Zu),el=i.extend({deceleration:20,maxSpeed:1400},Zu),au=i.extend({deceleration:1e3,maxSpeed:360},Zu),zc=i.extend({deceleration:1e3,maxSpeed:90},Zu),zl=function(z){this._map=z,this.clear()};zl.prototype.clear=function(){this._inertiaBuffer=[]},zl.prototype.record=function(z){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:i.browser.now(),settings:z})},zl.prototype._drainInertiaBuffer=function(){for(var z=this._inertiaBuffer,K=i.browser.now(),O=160;z.length>0&&K-z[0].time>O;)z.shift()},zl.prototype._onMoveEnd=function(z){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var K={zoom:0,bearing:0,pitch:0,pan:new i.Point(0,0),pinchAround:void 0,around:void 0},O=0,$=this._inertiaBuffer;O<$.length;O+=1){var pe=$[O],de=pe.settings;K.zoom+=de.zoomDelta||0,K.bearing+=de.bearingDelta||0,K.pitch+=de.pitchDelta||0,de.panDelta&&K.pan._add(de.panDelta),de.around&&(K.around=de.around),de.pinchAround&&(K.pinchAround=de.pinchAround)}var Ie=this._inertiaBuffer[this._inertiaBuffer.length-1],$e=Ie.time-this._inertiaBuffer[0].time,pt={};if(K.pan.mag()){var Kt=Z(K.pan.mag(),$e,i.extend({},cu,z||{}));pt.offset=K.pan.mult(Kt.amount/K.pan.mag()),pt.center=this._map.transform.center,Fl(pt,Kt)}if(K.zoom){var ir=Z(K.zoom,$e,el);pt.zoom=this._map.transform.zoom+ir.amount,Fl(pt,ir)}if(K.bearing){var Jt=Z(K.bearing,$e,au);pt.bearing=this._map.transform.bearing+i.clamp(Jt.amount,-179,179),Fl(pt,Jt)}if(K.pitch){var vt=Z(K.pitch,$e,zc);pt.pitch=this._map.transform.pitch+vt.amount,Fl(pt,vt)}if(pt.zoom||pt.bearing){var Pt=K.pinchAround===void 0?K.around:K.pinchAround;pt.around=Pt?this._map.unproject(Pt):this._map.getCenter()}return this.clear(),i.extend(pt,{noMoveStart:!0})}};function Fl(Y,z){(!Y.duration||Y.duration<z.duration)&&(Y.duration=z.duration,Y.easing=z.easing)}function Z(Y,z,K){var O=K.maxSpeed,$=K.linearity,pe=K.deceleration,de=i.clamp(Y*$/(z/1e3),-O,O),Ie=Math.abs(de)/(pe*$);return{easing:K.easing,duration:Ie*1e3,amount:de*(Ie/2)}}var oe=function(Y){function z(O,$,pe,de){de===void 0&&(de={});var Ie=o.mousePos($.getCanvasContainer(),pe),$e=$.unproject(Ie);Y.call(this,O,i.extend({point:Ie,lngLat:$e,originalEvent:pe},de)),this._defaultPrevented=!1,this.target=$}Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z;var K={defaultPrevented:{configurable:!0}};return z.prototype.preventDefault=function(){this._defaultPrevented=!0},K.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(z.prototype,K),z}(i.Event),we=function(Y){function z(O,$,pe){var de=O===\"touchend\"?pe.changedTouches:pe.touches,Ie=o.touchPos($.getCanvasContainer(),de),$e=Ie.map(function(ir){return $.unproject(ir)}),pt=Ie.reduce(function(ir,Jt,vt,Pt){return ir.add(Jt.div(Pt.length))},new i.Point(0,0)),Kt=$.unproject(pt);Y.call(this,O,{points:Ie,point:pt,lngLats:$e,lngLat:Kt,originalEvent:pe}),this._defaultPrevented=!1}Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z;var K={defaultPrevented:{configurable:!0}};return z.prototype.preventDefault=function(){this._defaultPrevented=!0},K.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(z.prototype,K),z}(i.Event),Be=function(Y){function z(O,$,pe){Y.call(this,O,{originalEvent:pe}),this._defaultPrevented=!1}Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z;var K={defaultPrevented:{configurable:!0}};return z.prototype.preventDefault=function(){this._defaultPrevented=!0},K.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(z.prototype,K),z}(i.Event),Ue=function(z,K){this._map=z,this._clickTolerance=K.clickTolerance};Ue.prototype.reset=function(){delete this._mousedownPos},Ue.prototype.wheel=function(z){return this._firePreventable(new Be(z.type,this._map,z))},Ue.prototype.mousedown=function(z,K){return this._mousedownPos=K,this._firePreventable(new oe(z.type,this._map,z))},Ue.prototype.mouseup=function(z){this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.click=function(z,K){this._mousedownPos&&this._mousedownPos.dist(K)>=this._clickTolerance||this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.dblclick=function(z){return this._firePreventable(new oe(z.type,this._map,z))},Ue.prototype.mouseover=function(z){this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.mouseout=function(z){this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.touchstart=function(z){return this._firePreventable(new we(z.type,this._map,z))},Ue.prototype.touchmove=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype.touchend=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype.touchcancel=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype._firePreventable=function(z){if(this._map.fire(z),z.defaultPrevented)return{}},Ue.prototype.isEnabled=function(){return!0},Ue.prototype.isActive=function(){return!1},Ue.prototype.enable=function(){},Ue.prototype.disable=function(){};var We=function(z){this._map=z};We.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},We.prototype.mousemove=function(z){this._map.fire(new oe(z.type,this._map,z))},We.prototype.mousedown=function(){this._delayContextMenu=!0},We.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new oe(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},We.prototype.contextmenu=function(z){this._delayContextMenu?this._contextMenuEvent=z:this._map.fire(new oe(z.type,this._map,z)),this._map.listens(\"contextmenu\")&&z.preventDefault()},We.prototype.isEnabled=function(){return!0},We.prototype.isActive=function(){return!1},We.prototype.enable=function(){},We.prototype.disable=function(){};var wt=function(z,K){this._map=z,this._el=z.getCanvasContainer(),this._container=z.getContainer(),this._clickTolerance=K.clickTolerance||1};wt.prototype.isEnabled=function(){return!!this._enabled},wt.prototype.isActive=function(){return!!this._active},wt.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},wt.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},wt.prototype.mousedown=function(z,K){this.isEnabled()&&z.shiftKey&&z.button===0&&(o.disableDrag(),this._startPos=this._lastPos=K,this._active=!0)},wt.prototype.mousemoveWindow=function(z,K){if(this._active){var O=K;if(!(this._lastPos.equals(O)||!this._box&&O.dist(this._startPos)<this._clickTolerance)){var $=this._startPos;this._lastPos=O,this._box||(this._box=o.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",z));var pe=Math.min($.x,O.x),de=Math.max($.x,O.x),Ie=Math.min($.y,O.y),$e=Math.max($.y,O.y);o.setTransform(this._box,\"translate(\"+pe+\"px,\"+Ie+\"px)\"),this._box.style.width=de-pe+\"px\",this._box.style.height=$e-Ie+\"px\"}}},wt.prototype.mouseupWindow=function(z,K){var O=this;if(this._active&&z.button===0){var $=this._startPos,pe=K;if(this.reset(),o.suppressClick(),$.x===pe.x&&$.y===pe.y)this._fireEvent(\"boxzoomcancel\",z);else return this._map.fire(new i.Event(\"boxzoomend\",{originalEvent:z})),{cameraAnimation:function(de){return de.fitScreenCoordinates($,pe,O._map.getBearing(),{linear:!0})}}}},wt.prototype.keydown=function(z){this._active&&z.keyCode===27&&(this.reset(),this._fireEvent(\"boxzoomcancel\",z))},wt.prototype.reset=function(){this._active=!1,this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(o.remove(this._box),this._box=null),o.enableDrag(),delete this._startPos,delete this._lastPos},wt.prototype._fireEvent=function(z,K){return this._map.fire(new i.Event(z,{originalEvent:K}))};function tt(Y,z){for(var K={},O=0;O<Y.length;O++)K[Y[O].identifier]=z[O];return K}function zt(Y){for(var z=new i.Point(0,0),K=0,O=Y;K<O.length;K+=1){var $=O[K];z._add($)}return z.div(Y.length)}var or=500,lr=500,Dr=30,Ir=function(z){this.reset(),this.numTouches=z.numTouches};Ir.prototype.reset=function(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1},Ir.prototype.touchstart=function(z,K,O){(this.centroid||O.length>this.numTouches)&&(this.aborted=!0),!this.aborted&&(this.startTime===void 0&&(this.startTime=z.timeStamp),O.length===this.numTouches&&(this.centroid=zt(K),this.touches=tt(O,K)))},Ir.prototype.touchmove=function(z,K,O){if(!(this.aborted||!this.centroid)){var $=tt(O,K);for(var pe in this.touches){var de=this.touches[pe],Ie=$[pe];(!Ie||Ie.dist(de)>Dr)&&(this.aborted=!0)}}},Ir.prototype.touchend=function(z,K,O){if((!this.centroid||z.timeStamp-this.startTime>lr)&&(this.aborted=!0),O.length===0){var $=!this.aborted&&this.centroid;if(this.reset(),$)return $}};var oi=function(z){this.singleTap=new Ir(z),this.numTaps=z.numTaps,this.reset()};oi.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},oi.prototype.touchstart=function(z,K,O){this.singleTap.touchstart(z,K,O)},oi.prototype.touchmove=function(z,K,O){this.singleTap.touchmove(z,K,O)},oi.prototype.touchend=function(z,K,O){var $=this.singleTap.touchend(z,K,O);if($){var pe=z.timeStamp-this.lastTime<or,de=!this.lastTap||this.lastTap.dist($)<Dr;if((!pe||!de)&&this.reset(),this.count++,this.lastTime=z.timeStamp,this.lastTap=$,this.count===this.numTaps)return this.reset(),$}};var ui=function(){this._zoomIn=new oi({numTouches:1,numTaps:2}),this._zoomOut=new oi({numTouches:2,numTaps:1}),this.reset()};ui.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},ui.prototype.touchstart=function(z,K,O){this._zoomIn.touchstart(z,K,O),this._zoomOut.touchstart(z,K,O)},ui.prototype.touchmove=function(z,K,O){this._zoomIn.touchmove(z,K,O),this._zoomOut.touchmove(z,K,O)},ui.prototype.touchend=function(z,K,O){var $=this,pe=this._zoomIn.touchend(z,K,O),de=this._zoomOut.touchend(z,K,O);if(pe)return this._active=!0,z.preventDefault(),setTimeout(function(){return $.reset()},0),{cameraAnimation:function(Ie){return Ie.easeTo({duration:300,zoom:Ie.getZoom()+1,around:Ie.unproject(pe)},{originalEvent:z})}};if(de)return this._active=!0,z.preventDefault(),setTimeout(function(){return $.reset()},0),{cameraAnimation:function(Ie){return Ie.easeTo({duration:300,zoom:Ie.getZoom()-1,around:Ie.unproject(de)},{originalEvent:z})}}},ui.prototype.touchcancel=function(){this.reset()},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 qr=0,Kr=2,ii={};ii[qr]=1,ii[Kr]=2;function vi(Y,z){var K=ii[z];return Y.buttons===void 0||(Y.buttons&K)!==K}var ci=function(z){this.reset(),this._clickTolerance=z.clickTolerance||1};ci.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},ci.prototype._correctButton=function(z,K){return!1},ci.prototype._move=function(z,K){return{}},ci.prototype.mousedown=function(z,K){if(!this._lastPoint){var O=o.mouseButton(z);this._correctButton(z,O)&&(this._lastPoint=K,this._eventButton=O)}},ci.prototype.mousemoveWindow=function(z,K){var O=this._lastPoint;if(O){if(z.preventDefault(),vi(z,this._eventButton)){this.reset();return}if(!(!this._moved&&K.dist(O)<this._clickTolerance))return this._moved=!0,this._lastPoint=K,this._move(O,K)}},ci.prototype.mouseupWindow=function(z){if(this._lastPoint){var K=o.mouseButton(z);K===this._eventButton&&(this._moved&&o.suppressClick(),this.reset())}},ci.prototype.enable=function(){this._enabled=!0},ci.prototype.disable=function(){this._enabled=!1,this.reset()},ci.prototype.isEnabled=function(){return this._enabled},ci.prototype.isActive=function(){return this._active};var Jr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.mousedown=function(O,$){Y.prototype.mousedown.call(this,O,$),this._lastPoint&&(this._active=!0)},z.prototype._correctButton=function(O,$){return $===qr&&!O.ctrlKey},z.prototype._move=function(O,$){return{around:$,panDelta:$.sub(O)}},z}(ci),un=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype._correctButton=function(O,$){return $===qr&&O.ctrlKey||$===Kr},z.prototype._move=function(O,$){var pe=.8,de=($.x-O.x)*pe;if(de)return this._active=!0,{bearingDelta:de}},z.prototype.contextmenu=function(O){O.preventDefault()},z}(ci),dn=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype._correctButton=function(O,$){return $===qr&&O.ctrlKey||$===Kr},z.prototype._move=function(O,$){var pe=-.5,de=($.y-O.y)*pe;if(de)return this._active=!0,{pitchDelta:de}},z.prototype.contextmenu=function(O){O.preventDefault()},z}(ci),En=function(z){this._minTouches=1,this._clickTolerance=z.clickTolerance||1,this.reset()};En.prototype.reset=function(){this._active=!1,this._touches={},this._sum=new i.Point(0,0)},En.prototype.touchstart=function(z,K,O){return this._calculateTransform(z,K,O)},En.prototype.touchmove=function(z,K,O){if(!(!this._active||O.length<this._minTouches))return z.preventDefault(),this._calculateTransform(z,K,O)},En.prototype.touchend=function(z,K,O){this._calculateTransform(z,K,O),this._active&&O.length<this._minTouches&&this.reset()},En.prototype.touchcancel=function(){this.reset()},En.prototype._calculateTransform=function(z,K,O){O.length>0&&(this._active=!0);var $=tt(O,K),pe=new i.Point(0,0),de=new i.Point(0,0),Ie=0;for(var $e in $){var pt=$[$e],Kt=this._touches[$e];Kt&&(pe._add(pt),de._add(pt.sub(Kt)),Ie++,$[$e]=pt)}if(this._touches=$,!(Ie<this._minTouches||!de.mag())){var ir=de.div(Ie);if(this._sum._add(ir),!(this._sum.mag()<this._clickTolerance)){var Jt=pe.div(Ie);return{around:Jt,panDelta:ir}}}},En.prototype.enable=function(){this._enabled=!0},En.prototype.disable=function(){this._enabled=!1,this.reset()},En.prototype.isEnabled=function(){return this._enabled},En.prototype.isActive=function(){return this._active};var Nn=function(){this.reset()};Nn.prototype.reset=function(){this._active=!1,delete this._firstTwoTouches},Nn.prototype._start=function(z){},Nn.prototype._move=function(z,K,O){return{}},Nn.prototype.touchstart=function(z,K,O){this._firstTwoTouches||O.length<2||(this._firstTwoTouches=[O[0].identifier,O[1].identifier],this._start([K[0],K[1]]))},Nn.prototype.touchmove=function(z,K,O){if(this._firstTwoTouches){z.preventDefault();var $=this._firstTwoTouches,pe=$[0],de=$[1],Ie=ga(O,K,pe),$e=ga(O,K,de);if(!(!Ie||!$e)){var pt=this._aroundCenter?null:Ie.add($e).div(2);return this._move([Ie,$e],pt,z)}}},Nn.prototype.touchend=function(z,K,O){if(this._firstTwoTouches){var $=this._firstTwoTouches,pe=$[0],de=$[1],Ie=ga(O,K,pe),$e=ga(O,K,de);Ie&&$e||(this._active&&o.suppressClick(),this.reset())}},Nn.prototype.touchcancel=function(){this.reset()},Nn.prototype.enable=function(z){this._enabled=!0,this._aroundCenter=!!z&&z.around===\"center\"},Nn.prototype.disable=function(){this._enabled=!1,this.reset()},Nn.prototype.isEnabled=function(){return this._enabled},Nn.prototype.isActive=function(){return this._active};function ga(Y,z,K){for(var O=0;O<Y.length;O++)if(Y[O].identifier===K)return z[O]}var ya=.1;function so(Y,z){return Math.log(Y/z)/Math.LN2}var wa=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.reset=function(){Y.prototype.reset.call(this),delete this._distance,delete this._startDistance},z.prototype._start=function(O){this._startDistance=this._distance=O[0].dist(O[1])},z.prototype._move=function(O,$){var pe=this._distance;if(this._distance=O[0].dist(O[1]),!(!this._active&&Math.abs(so(this._distance,this._startDistance))<ya))return this._active=!0,{zoomDelta:so(this._distance,pe),pinchAround:$}},z}(Nn),io=25;function Ss(Y,z){return Y.angleWith(z)*180/Math.PI}var _s=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.reset=function(){Y.prototype.reset.call(this),delete this._minDiameter,delete this._startVector,delete this._vector},z.prototype._start=function(O){this._startVector=this._vector=O[0].sub(O[1]),this._minDiameter=O[0].dist(O[1])},z.prototype._move=function(O,$){var pe=this._vector;if(this._vector=O[0].sub(O[1]),!(!this._active&&this._isBelowThreshold(this._vector)))return this._active=!0,{bearingDelta:Ss(this._vector,pe),pinchAround:$}},z.prototype._isBelowThreshold=function(O){this._minDiameter=Math.min(this._minDiameter,O.mag());var $=Math.PI*this._minDiameter,pe=io/$*360,de=Ss(O,this._startVector);return Math.abs(de)<pe},z}(Nn);function Ns(Y){return Math.abs(Y.y)>Math.abs(Y.x)}var pn=100,za=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.reset=function(){Y.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},z.prototype._start=function(O){this._lastPoints=O,Ns(O[0].sub(O[1]))&&(this._valid=!1)},z.prototype._move=function(O,$,pe){var de=O[0].sub(this._lastPoints[0]),Ie=O[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(de,Ie,pe.timeStamp),!!this._valid){this._lastPoints=O,this._active=!0;var $e=(de.y+Ie.y)/2,pt=-.5;return{pitchDelta:$e*pt}}},z.prototype.gestureBeginsVertically=function(O,$,pe){if(this._valid!==void 0)return this._valid;var de=2,Ie=O.mag()>=de,$e=$.mag()>=de;if(!(!Ie&&!$e)){if(!Ie||!$e)return this._firstMove===void 0&&(this._firstMove=pe),pe-this._firstMove<pn?void 0:!1;var pt=O.y>0==$.y>0;return Ns(O)&&Ns($)&&pt}},z}(Nn),Lo={panStep:100,bearingStep:15,pitchStep:10},Fo=function(){var z=Lo;this._panStep=z.panStep,this._bearingStep=z.bearingStep,this._pitchStep=z.pitchStep,this._rotationDisabled=!1};Fo.prototype.reset=function(){this._active=!1},Fo.prototype.keydown=function(z){var K=this;if(!(z.altKey||z.ctrlKey||z.metaKey)){var O=0,$=0,pe=0,de=0,Ie=0;switch(z.keyCode){case 61:case 107:case 171:case 187:O=1;break;case 189:case 109:case 173:O=-1;break;case 37:z.shiftKey?$=-1:(z.preventDefault(),de=-1);break;case 39:z.shiftKey?$=1:(z.preventDefault(),de=1);break;case 38:z.shiftKey?pe=1:(z.preventDefault(),Ie=-1);break;case 40:z.shiftKey?pe=-1:(z.preventDefault(),Ie=1);break;default:return}return this._rotationDisabled&&($=0,pe=0),{cameraAnimation:function($e){var pt=$e.getZoom();$e.easeTo({duration:300,easeId:\"keyboardHandler\",easing:js,zoom:O?Math.round(pt)+O*(z.shiftKey?2:1):pt,bearing:$e.getBearing()+$*K._bearingStep,pitch:$e.getPitch()+pe*K._pitchStep,offset:[-de*K._panStep,-Ie*K._panStep],center:$e.getCenter()},{originalEvent:z})}}}},Fo.prototype.enable=function(){this._enabled=!0},Fo.prototype.disable=function(){this._enabled=!1,this.reset()},Fo.prototype.isEnabled=function(){return this._enabled},Fo.prototype.isActive=function(){return this._active},Fo.prototype.disableRotation=function(){this._rotationDisabled=!0},Fo.prototype.enableRotation=function(){this._rotationDisabled=!1};function js(Y){return Y*(2-Y)}var xl=4.000244140625,fu=1/100,dl=1/450,xc=2,At=function(z,K){this._map=z,this._el=z.getCanvasContainer(),this._handler=K,this._delta=0,this._defaultZoomRate=fu,this._wheelZoomRate=dl,i.bindAll([\"_onTimeout\"],this)};At.prototype.setZoomRate=function(z){this._defaultZoomRate=z},At.prototype.setWheelZoomRate=function(z){this._wheelZoomRate=z},At.prototype.isEnabled=function(){return!!this._enabled},At.prototype.isActive=function(){return!!this._active||this._finishTimeout!==void 0},At.prototype.isZooming=function(){return!!this._zooming},At.prototype.enable=function(z){this.isEnabled()||(this._enabled=!0,this._aroundCenter=z&&z.around===\"center\")},At.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},At.prototype.wheel=function(z){if(this.isEnabled()){var K=z.deltaMode===i.window.WheelEvent.DOM_DELTA_LINE?z.deltaY*40:z.deltaY,O=i.browser.now(),$=O-(this._lastWheelEventTime||0);this._lastWheelEventTime=O,K!==0&&K%xl===0?this._type=\"wheel\":K!==0&&Math.abs(K)<4?this._type=\"trackpad\":$>400?(this._type=null,this._lastValue=K,this._timeout=setTimeout(this._onTimeout,40,z)):this._type||(this._type=Math.abs($*K)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,K+=this._lastValue)),z.shiftKey&&K&&(K=K/4),this._type&&(this._lastWheelEvent=z,this._delta-=K,this._active||this._start(z)),z.preventDefault()}},At.prototype._onTimeout=function(z){this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(z)},At.prototype._start=function(z){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 K=o.mousePos(this._el,z);this._around=i.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(K)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},At.prototype.renderFrame=function(){var z=this;if(this._frameId&&(this._frameId=null,!!this.isActive())){var K=this._map.transform;if(this._delta!==0){var O=this._type===\"wheel\"&&Math.abs(this._delta)>xl?this._wheelZoomRate:this._defaultZoomRate,$=xc/(1+Math.exp(-Math.abs(this._delta*O)));this._delta<0&&$!==0&&($=1/$);var pe=typeof this._targetZoom==\"number\"?K.zoomScale(this._targetZoom):K.scale;this._targetZoom=Math.min(K.maxZoom,Math.max(K.minZoom,K.scaleZoom(pe*$))),this._type===\"wheel\"&&(this._startZoom=K.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var de=typeof this._targetZoom==\"number\"?this._targetZoom:K.zoom,Ie=this._startZoom,$e=this._easing,pt=!1,Kt;if(this._type===\"wheel\"&&Ie&&$e){var ir=Math.min((i.browser.now()-this._lastWheelEventTime)/200,1),Jt=$e(ir);Kt=i.number(Ie,de,Jt),ir<1?this._frameId||(this._frameId=!0):pt=!0}else Kt=de,pt=!0;return this._active=!0,pt&&(this._active=!1,this._finishTimeout=setTimeout(function(){z._zooming=!1,z._handler._triggerRenderFrame(),delete z._targetZoom,delete z._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!pt,zoomDelta:Kt-K.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},At.prototype._smoothOutEasing=function(z){var K=i.ease;if(this._prevEase){var O=this._prevEase,$=(i.browser.now()-O.start)/O.duration,pe=O.easing($+.01)-O.easing($),de=.27/Math.sqrt(pe*pe+1e-4)*.01,Ie=Math.sqrt(.27*.27-de*de);K=i.bezier(de,Ie,.25,1)}return this._prevEase={start:i.browser.now(),duration:z,easing:K},K},At.prototype.reset=function(){this._active=!1};var Er=function(z,K){this._clickZoom=z,this._tapZoom=K};Er.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},Er.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},Er.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},Er.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var Wr=function(){this.reset()};Wr.prototype.reset=function(){this._active=!1},Wr.prototype.dblclick=function(z,K){return z.preventDefault(),{cameraAnimation:function(O){O.easeTo({duration:300,zoom:O.getZoom()+(z.shiftKey?-1:1),around:O.unproject(K)},{originalEvent:z})}}},Wr.prototype.enable=function(){this._enabled=!0},Wr.prototype.disable=function(){this._enabled=!1,this.reset()},Wr.prototype.isEnabled=function(){return this._enabled},Wr.prototype.isActive=function(){return this._active};var wi=function(){this._tap=new oi({numTouches:1,numTaps:1}),this.reset()};wi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},wi.prototype.touchstart=function(z,K,O){this._swipePoint||(this._tapTime&&z.timeStamp-this._tapTime>or&&this.reset(),this._tapTime?O.length>0&&(this._swipePoint=K[0],this._swipeTouch=O[0].identifier):this._tap.touchstart(z,K,O))},wi.prototype.touchmove=function(z,K,O){if(!this._tapTime)this._tap.touchmove(z,K,O);else if(this._swipePoint){if(O[0].identifier!==this._swipeTouch)return;var $=K[0],pe=$.y-this._swipePoint.y;return this._swipePoint=$,z.preventDefault(),this._active=!0,{zoomDelta:pe/128}}},wi.prototype.touchend=function(z,K,O){if(this._tapTime)this._swipePoint&&O.length===0&&this.reset();else{var $=this._tap.touchend(z,K,O);$&&(this._tapTime=z.timeStamp)}},wi.prototype.touchcancel=function(){this.reset()},wi.prototype.enable=function(){this._enabled=!0},wi.prototype.disable=function(){this._enabled=!1,this.reset()},wi.prototype.isEnabled=function(){return this._enabled},wi.prototype.isActive=function(){return this._active};var Ui=function(z,K,O){this._el=z,this._mousePan=K,this._touchPan=O};Ui.prototype.enable=function(z){this._inertiaOptions=z||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"mapboxgl-touch-drag-pan\")},Ui.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"mapboxgl-touch-drag-pan\")},Ui.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},Ui.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var Oi=function(z,K,O){this._pitchWithRotate=z.pitchWithRotate,this._mouseRotate=K,this._mousePitch=O};Oi.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},Oi.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},Oi.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},Oi.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var Bi=function(z,K,O,$){this._el=z,this._touchZoom=K,this._touchRotate=O,this._tapDragZoom=$,this._rotationDisabled=!1,this._enabled=!0};Bi.prototype.enable=function(z){this._touchZoom.enable(z),this._rotationDisabled||this._touchRotate.enable(z),this._tapDragZoom.enable(),this._el.classList.add(\"mapboxgl-touch-zoom-rotate\")},Bi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\")},Bi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},Bi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},Bi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},Bi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var cn=function(Y){return Y.zoom||Y.drag||Y.pitch||Y.rotate},On=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z}(i.Event);function Bn(Y){return Y.panDelta&&Y.panDelta.mag()||Y.zoomDelta||Y.bearingDelta||Y.pitchDelta}var yn=function(z,K){this._map=z,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new zl(z),this._bearingSnap=K.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(K),i.bindAll([\"handleEvent\",\"handleWindowEvent\"],this);var O=this._el;this._listeners=[[O,\"touchstart\",{passive:!0}],[O,\"touchmove\",{passive:!1}],[O,\"touchend\",void 0],[O,\"touchcancel\",void 0],[O,\"mousedown\",void 0],[O,\"mousemove\",void 0],[O,\"mouseup\",void 0],[i.window.document,\"mousemove\",{capture:!0}],[i.window.document,\"mouseup\",void 0],[O,\"mouseover\",void 0],[O,\"mouseout\",void 0],[O,\"dblclick\",void 0],[O,\"click\",void 0],[O,\"keydown\",{capture:!1}],[O,\"keyup\",void 0],[O,\"wheel\",{passive:!1}],[O,\"contextmenu\",void 0],[i.window,\"blur\",void 0]];for(var $=0,pe=this._listeners;$<pe.length;$+=1){var de=pe[$],Ie=de[0],$e=de[1],pt=de[2];o.addEventListener(Ie,$e,Ie===i.window.document?this.handleWindowEvent:this.handleEvent,pt)}};yn.prototype.destroy=function(){for(var z=0,K=this._listeners;z<K.length;z+=1){var O=K[z],$=O[0],pe=O[1],de=O[2];o.removeEventListener($,pe,$===i.window.document?this.handleWindowEvent:this.handleEvent,de)}},yn.prototype._addDefaultHandlers=function(z){var K=this._map,O=K.getCanvasContainer();this._add(\"mapEvent\",new Ue(K,z));var $=K.boxZoom=new wt(K,z);this._add(\"boxZoom\",$);var pe=new ui,de=new Wr;K.doubleClickZoom=new Er(de,pe),this._add(\"tapZoom\",pe),this._add(\"clickZoom\",de);var Ie=new wi;this._add(\"tapDragZoom\",Ie);var $e=K.touchPitch=new za;this._add(\"touchPitch\",$e);var pt=new un(z),Kt=new dn(z);K.dragRotate=new Oi(z,pt,Kt),this._add(\"mouseRotate\",pt,[\"mousePitch\"]),this._add(\"mousePitch\",Kt,[\"mouseRotate\"]);var ir=new Jr(z),Jt=new En(z);K.dragPan=new Ui(O,ir,Jt),this._add(\"mousePan\",ir),this._add(\"touchPan\",Jt,[\"touchZoom\",\"touchRotate\"]);var vt=new _s,Pt=new wa;K.touchZoomRotate=new Bi(O,Pt,vt,Ie),this._add(\"touchRotate\",vt,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",Pt,[\"touchPan\",\"touchRotate\"]);var Wt=K.scrollZoom=new At(K,this);this._add(\"scrollZoom\",Wt,[\"mousePan\"]);var rr=K.keyboard=new Fo;this._add(\"keyboard\",rr),this._add(\"blockableMapEvent\",new We(K));for(var dr=0,pr=[\"boxZoom\",\"doubleClickZoom\",\"tapDragZoom\",\"touchPitch\",\"dragRotate\",\"dragPan\",\"touchZoomRotate\",\"scrollZoom\",\"keyboard\"];dr<pr.length;dr+=1){var kr=pr[dr];z.interactive&&z[kr]&&K[kr].enable(z[kr])}},yn.prototype._add=function(z,K,O){this._handlers.push({handlerName:z,handler:K,allowed:O}),this._handlersById[z]=K},yn.prototype.stop=function(z){if(!this._updatingCamera){for(var K=0,O=this._handlers;K<O.length;K+=1){var $=O[K],pe=$.handler;pe.reset()}this._inertia.clear(),this._fireEvents({},{},z),this._changes=[]}},yn.prototype.isActive=function(){for(var z=0,K=this._handlers;z<K.length;z+=1){var O=K[z],$=O.handler;if($.isActive())return!0}return!1},yn.prototype.isZooming=function(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()},yn.prototype.isRotating=function(){return!!this._eventsInProgress.rotate},yn.prototype.isMoving=function(){return!!cn(this._eventsInProgress)||this.isZooming()},yn.prototype._blockedByActive=function(z,K,O){for(var $ in z)if($!==O&&(!K||K.indexOf($)<0))return!0;return!1},yn.prototype.handleWindowEvent=function(z){this.handleEvent(z,z.type+\"Window\")},yn.prototype._getMapTouches=function(z){for(var K=[],O=0,$=z;O<$.length;O+=1){var pe=$[O],de=pe.target;this._el.contains(de)&&K.push(pe)}return K},yn.prototype.handleEvent=function(z,K){if(z.type===\"blur\"){this.stop(!0);return}this._updatingCamera=!0;for(var O=z.type===\"renderFrame\"?void 0:z,$={needsRenderFrame:!1},pe={},de={},Ie=z.touches?this._getMapTouches(z.touches):void 0,$e=Ie?o.touchPos(this._el,Ie):o.mousePos(this._el,z),pt=0,Kt=this._handlers;pt<Kt.length;pt+=1){var ir=Kt[pt],Jt=ir.handlerName,vt=ir.handler,Pt=ir.allowed;if(vt.isEnabled()){var Wt=void 0;this._blockedByActive(de,Pt,Jt)?vt.reset():vt[K||z.type]&&(Wt=vt[K||z.type](z,$e,Ie),this.mergeHandlerResult($,pe,Wt,Jt,O),Wt&&Wt.needsRenderFrame&&this._triggerRenderFrame()),(Wt||vt.isActive())&&(de[Jt]=vt)}}var rr={};for(var dr in this._previousActiveHandlers)de[dr]||(rr[dr]=O);this._previousActiveHandlers=de,(Object.keys(rr).length||Bn($))&&(this._changes.push([$,pe,rr]),this._triggerRenderFrame()),(Object.keys(de).length||Bn($))&&this._map._stop(!0),this._updatingCamera=!1;var pr=$.cameraAnimation;pr&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],pr(this._map))},yn.prototype.mergeHandlerResult=function(z,K,O,$,pe){if(O){i.extend(z,O);var de={handlerName:$,originalEvent:O.originalEvent||pe};O.zoomDelta!==void 0&&(K.zoom=de),O.panDelta!==void 0&&(K.drag=de),O.pitchDelta!==void 0&&(K.pitch=de),O.bearingDelta!==void 0&&(K.rotate=de)}},yn.prototype._applyChanges=function(){for(var z={},K={},O={},$=0,pe=this._changes;$<pe.length;$+=1){var de=pe[$],Ie=de[0],$e=de[1],pt=de[2];Ie.panDelta&&(z.panDelta=(z.panDelta||new i.Point(0,0))._add(Ie.panDelta)),Ie.zoomDelta&&(z.zoomDelta=(z.zoomDelta||0)+Ie.zoomDelta),Ie.bearingDelta&&(z.bearingDelta=(z.bearingDelta||0)+Ie.bearingDelta),Ie.pitchDelta&&(z.pitchDelta=(z.pitchDelta||0)+Ie.pitchDelta),Ie.around!==void 0&&(z.around=Ie.around),Ie.pinchAround!==void 0&&(z.pinchAround=Ie.pinchAround),Ie.noInertia&&(z.noInertia=Ie.noInertia),i.extend(K,$e),i.extend(O,pt)}this._updateMapTransform(z,K,O),this._changes=[]},yn.prototype._updateMapTransform=function(z,K,O){var $=this._map,pe=$.transform;if(!Bn(z))return this._fireEvents(K,O,!0);var de=z.panDelta,Ie=z.zoomDelta,$e=z.bearingDelta,pt=z.pitchDelta,Kt=z.around,ir=z.pinchAround;ir!==void 0&&(Kt=ir),$._stop(!0),Kt=Kt||$.transform.centerPoint;var Jt=pe.pointLocation(de?Kt.sub(de):Kt);$e&&(pe.bearing+=$e),pt&&(pe.pitch+=pt),Ie&&(pe.zoom+=Ie),pe.setLocationAtPoint(Jt,Kt),this._map._update(),z.noInertia||this._inertia.record(z),this._fireEvents(K,O,!0)},yn.prototype._fireEvents=function(z,K,O){var $=this,pe=cn(this._eventsInProgress),de=cn(z),Ie={};for(var $e in z){var pt=z[$e],Kt=pt.originalEvent;this._eventsInProgress[$e]||(Ie[$e+\"start\"]=Kt),this._eventsInProgress[$e]=z[$e]}!pe&&de&&this._fireEvent(\"movestart\",de.originalEvent);for(var ir in Ie)this._fireEvent(ir,Ie[ir]);de&&this._fireEvent(\"move\",de.originalEvent);for(var Jt in z){var vt=z[Jt],Pt=vt.originalEvent;this._fireEvent(Jt,Pt)}var Wt={},rr;for(var dr in this._eventsInProgress){var pr=this._eventsInProgress[dr],kr=pr.handlerName,Ar=pr.originalEvent;this._handlersById[kr].isActive()||(delete this._eventsInProgress[dr],rr=K[kr]||Ar,Wt[dr+\"end\"]=rr)}for(var gr in Wt)this._fireEvent(gr,Wt[gr]);var Cr=cn(this._eventsInProgress);if(O&&(pe||de)&&!Cr){this._updatingCamera=!0;var cr=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),Gr=function(ei){return ei!==0&&-$._bearingSnap<ei&&ei<$._bearingSnap};cr?(Gr(cr.bearing||this._map.getBearing())&&(cr.bearing=0),this._map.easeTo(cr,{originalEvent:rr})):(this._map.fire(new i.Event(\"moveend\",{originalEvent:rr})),Gr(this._map.getBearing())&&this._map.resetNorth()),this._updatingCamera=!1}},yn.prototype._fireEvent=function(z,K){this._map.fire(new i.Event(z,K?{originalEvent:K}:{}))},yn.prototype._requestFrame=function(){var z=this;return this._map.triggerRepaint(),this._map._renderTaskQueue.add(function(K){delete z._frameId,z.handleEvent(new On(\"renderFrame\",{timeStamp:K})),z._applyChanges()})},yn.prototype._triggerRenderFrame=function(){this._frameId===void 0&&(this._frameId=this._requestFrame())};var to=function(Y){function z(K,O){Y.call(this),this._moving=!1,this._zooming=!1,this.transform=K,this._bearingSnap=O.bearingSnap,i.bindAll([\"_renderFrameCallback\"],this)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getCenter=function(){return new i.LngLat(this.transform.center.lng,this.transform.center.lat)},z.prototype.setCenter=function(O,$){return this.jumpTo({center:O},$)},z.prototype.panBy=function(O,$,pe){return O=i.Point.convert(O).mult(-1),this.panTo(this.transform.center,i.extend({offset:O},$),pe)},z.prototype.panTo=function(O,$,pe){return this.easeTo(i.extend({center:O},$),pe)},z.prototype.getZoom=function(){return this.transform.zoom},z.prototype.setZoom=function(O,$){return this.jumpTo({zoom:O},$),this},z.prototype.zoomTo=function(O,$,pe){return this.easeTo(i.extend({zoom:O},$),pe)},z.prototype.zoomIn=function(O,$){return this.zoomTo(this.getZoom()+1,O,$),this},z.prototype.zoomOut=function(O,$){return this.zoomTo(this.getZoom()-1,O,$),this},z.prototype.getBearing=function(){return this.transform.bearing},z.prototype.setBearing=function(O,$){return this.jumpTo({bearing:O},$),this},z.prototype.getPadding=function(){return this.transform.padding},z.prototype.setPadding=function(O,$){return this.jumpTo({padding:O},$),this},z.prototype.rotateTo=function(O,$,pe){return this.easeTo(i.extend({bearing:O},$),pe)},z.prototype.resetNorth=function(O,$){return this.rotateTo(0,i.extend({duration:1e3},O),$),this},z.prototype.resetNorthPitch=function(O,$){return this.easeTo(i.extend({bearing:0,pitch:0,duration:1e3},O),$),this},z.prototype.snapToNorth=function(O,$){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(O,$):this},z.prototype.getPitch=function(){return this.transform.pitch},z.prototype.setPitch=function(O,$){return this.jumpTo({pitch:O},$),this},z.prototype.cameraForBounds=function(O,$){O=i.LngLatBounds.convert(O);var pe=$&&$.bearing||0;return this._cameraForBoxAndBearing(O.getNorthWest(),O.getSouthEast(),pe,$)},z.prototype._cameraForBoxAndBearing=function(O,$,pe,de){var Ie={top:0,bottom:0,right:0,left:0};if(de=i.extend({padding:Ie,offset:[0,0],maxZoom:this.transform.maxZoom},de),typeof de.padding==\"number\"){var $e=de.padding;de.padding={top:$e,bottom:$e,right:$e,left:$e}}de.padding=i.extend(Ie,de.padding);var pt=this.transform,Kt=pt.padding,ir=pt.project(i.LngLat.convert(O)),Jt=pt.project(i.LngLat.convert($)),vt=ir.rotate(-pe*Math.PI/180),Pt=Jt.rotate(-pe*Math.PI/180),Wt=new i.Point(Math.max(vt.x,Pt.x),Math.max(vt.y,Pt.y)),rr=new i.Point(Math.min(vt.x,Pt.x),Math.min(vt.y,Pt.y)),dr=Wt.sub(rr),pr=(pt.width-(Kt.left+Kt.right+de.padding.left+de.padding.right))/dr.x,kr=(pt.height-(Kt.top+Kt.bottom+de.padding.top+de.padding.bottom))/dr.y;if(kr<0||pr<0){i.warnOnce(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\");return}var Ar=Math.min(pt.scaleZoom(pt.scale*Math.min(pr,kr)),de.maxZoom),gr=typeof de.offset.x==\"number\"?new i.Point(de.offset.x,de.offset.y):i.Point.convert(de.offset),Cr=(de.padding.left-de.padding.right)/2,cr=(de.padding.top-de.padding.bottom)/2,Gr=new i.Point(Cr,cr),ei=Gr.rotate(pe*Math.PI/180),yi=gr.add(ei),tn=yi.mult(pt.scale/pt.zoomScale(Ar)),Ri=pt.unproject(ir.add(Jt).div(2).sub(tn));return{center:Ri,zoom:Ar,bearing:pe}},z.prototype.fitBounds=function(O,$,pe){return this._fitInternal(this.cameraForBounds(O,$),$,pe)},z.prototype.fitScreenCoordinates=function(O,$,pe,de,Ie){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(i.Point.convert(O)),this.transform.pointLocation(i.Point.convert($)),pe,de),de,Ie)},z.prototype._fitInternal=function(O,$,pe){return O?($=i.extend(O,$),delete $.padding,$.linear?this.easeTo($,pe):this.flyTo($,pe)):this},z.prototype.jumpTo=function(O,$){this.stop();var pe=this.transform,de=!1,Ie=!1,$e=!1;return\"zoom\"in O&&pe.zoom!==+O.zoom&&(de=!0,pe.zoom=+O.zoom),O.center!==void 0&&(pe.center=i.LngLat.convert(O.center)),\"bearing\"in O&&pe.bearing!==+O.bearing&&(Ie=!0,pe.bearing=+O.bearing),\"pitch\"in O&&pe.pitch!==+O.pitch&&($e=!0,pe.pitch=+O.pitch),O.padding!=null&&!pe.isPaddingEqual(O.padding)&&(pe.padding=O.padding),this.fire(new i.Event(\"movestart\",$)).fire(new i.Event(\"move\",$)),de&&this.fire(new i.Event(\"zoomstart\",$)).fire(new i.Event(\"zoom\",$)).fire(new i.Event(\"zoomend\",$)),Ie&&this.fire(new i.Event(\"rotatestart\",$)).fire(new i.Event(\"rotate\",$)).fire(new i.Event(\"rotateend\",$)),$e&&this.fire(new i.Event(\"pitchstart\",$)).fire(new i.Event(\"pitch\",$)).fire(new i.Event(\"pitchend\",$)),this.fire(new i.Event(\"moveend\",$))},z.prototype.easeTo=function(O,$){var pe=this;this._stop(!1,O.easeId),O=i.extend({offset:[0,0],duration:500,easing:i.ease},O),(O.animate===!1||!O.essential&&i.browser.prefersReducedMotion)&&(O.duration=0);var de=this.transform,Ie=this.getZoom(),$e=this.getBearing(),pt=this.getPitch(),Kt=this.getPadding(),ir=\"zoom\"in O?+O.zoom:Ie,Jt=\"bearing\"in O?this._normalizeBearing(O.bearing,$e):$e,vt=\"pitch\"in O?+O.pitch:pt,Pt=\"padding\"in O?O.padding:de.padding,Wt=i.Point.convert(O.offset),rr=de.centerPoint.add(Wt),dr=de.pointLocation(rr),pr=i.LngLat.convert(O.center||dr);this._normalizeCenter(pr);var kr=de.project(dr),Ar=de.project(pr).sub(kr),gr=de.zoomScale(ir-Ie),Cr,cr;O.around&&(Cr=i.LngLat.convert(O.around),cr=de.locationPoint(Cr));var Gr={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=this._zooming||ir!==Ie,this._rotating=this._rotating||$e!==Jt,this._pitching=this._pitching||vt!==pt,this._padding=!de.isPaddingEqual(Pt),this._easeId=O.easeId,this._prepareEase($,O.noMoveStart,Gr),this._ease(function(ei){if(pe._zooming&&(de.zoom=i.number(Ie,ir,ei)),pe._rotating&&(de.bearing=i.number($e,Jt,ei)),pe._pitching&&(de.pitch=i.number(pt,vt,ei)),pe._padding&&(de.interpolatePadding(Kt,Pt,ei),rr=de.centerPoint.add(Wt)),Cr)de.setLocationAtPoint(Cr,cr);else{var yi=de.zoomScale(de.zoom-Ie),tn=ir>Ie?Math.min(2,gr):Math.max(.5,gr),Ri=Math.pow(tn,1-ei),ln=de.unproject(kr.add(Ar.mult(ei*Ri)).mult(yi));de.setLocationAtPoint(de.renderWorldCopies?ln.wrap():ln,rr)}pe._fireMoveEvents($)},function(ei){pe._afterEase($,ei)},O),this},z.prototype._prepareEase=function(O,$,pe){pe===void 0&&(pe={}),this._moving=!0,!$&&!pe.moving&&this.fire(new i.Event(\"movestart\",O)),this._zooming&&!pe.zooming&&this.fire(new i.Event(\"zoomstart\",O)),this._rotating&&!pe.rotating&&this.fire(new i.Event(\"rotatestart\",O)),this._pitching&&!pe.pitching&&this.fire(new i.Event(\"pitchstart\",O))},z.prototype._fireMoveEvents=function(O){this.fire(new i.Event(\"move\",O)),this._zooming&&this.fire(new i.Event(\"zoom\",O)),this._rotating&&this.fire(new i.Event(\"rotate\",O)),this._pitching&&this.fire(new i.Event(\"pitch\",O))},z.prototype._afterEase=function(O,$){if(!(this._easeId&&$&&this._easeId===$)){delete this._easeId;var pe=this._zooming,de=this._rotating,Ie=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,pe&&this.fire(new i.Event(\"zoomend\",O)),de&&this.fire(new i.Event(\"rotateend\",O)),Ie&&this.fire(new i.Event(\"pitchend\",O)),this.fire(new i.Event(\"moveend\",O))}},z.prototype.flyTo=function(O,$){var pe=this;if(!O.essential&&i.browser.prefersReducedMotion){var de=i.pick(O,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(de,$)}this.stop(),O=i.extend({offset:[0,0],speed:1.2,curve:1.42,easing:i.ease},O);var Ie=this.transform,$e=this.getZoom(),pt=this.getBearing(),Kt=this.getPitch(),ir=this.getPadding(),Jt=\"zoom\"in O?i.clamp(+O.zoom,Ie.minZoom,Ie.maxZoom):$e,vt=\"bearing\"in O?this._normalizeBearing(O.bearing,pt):pt,Pt=\"pitch\"in O?+O.pitch:Kt,Wt=\"padding\"in O?O.padding:Ie.padding,rr=Ie.zoomScale(Jt-$e),dr=i.Point.convert(O.offset),pr=Ie.centerPoint.add(dr),kr=Ie.pointLocation(pr),Ar=i.LngLat.convert(O.center||kr);this._normalizeCenter(Ar);var gr=Ie.project(kr),Cr=Ie.project(Ar).sub(gr),cr=O.curve,Gr=Math.max(Ie.width,Ie.height),ei=Gr/rr,yi=Cr.mag();if(\"minZoom\"in O){var tn=i.clamp(Math.min(O.minZoom,$e,Jt),Ie.minZoom,Ie.maxZoom),Ri=Gr/Ie.zoomScale(tn-$e);cr=Math.sqrt(Ri/yi*2)}var ln=cr*cr;function Qn(fo){var as=(ei*ei-Gr*Gr+(fo?-1:1)*ln*ln*yi*yi)/(2*(fo?ei:Gr)*ln*yi);return Math.log(Math.sqrt(as*as+1)-as)}function qn(fo){return(Math.exp(fo)-Math.exp(-fo))/2}function rn(fo){return(Math.exp(fo)+Math.exp(-fo))/2}function bn(fo){return qn(fo)/rn(fo)}var mn=Qn(0),Gn=function(fo){return rn(mn)/rn(mn+cr*fo)},da=function(fo){return Gr*((rn(mn)*bn(mn+cr*fo)-qn(mn))/ln)/yi},No=(Qn(1)-mn)/cr;if(Math.abs(yi)<1e-6||!isFinite(No)){if(Math.abs(Gr-ei)<1e-6)return this.easeTo(O,$);var Do=ei<Gr?-1:1;No=Math.abs(Math.log(ei/Gr))/cr,da=function(){return 0},Gn=function(fo){return Math.exp(Do*cr*fo)}}if(\"duration\"in O)O.duration=+O.duration;else{var ps=\"screenSpeed\"in O?+O.screenSpeed/cr:+O.speed;O.duration=1e3*No/ps}return O.maxDuration&&O.duration>O.maxDuration&&(O.duration=0),this._zooming=!0,this._rotating=pt!==vt,this._pitching=Pt!==Kt,this._padding=!Ie.isPaddingEqual(Wt),this._prepareEase($,!1),this._ease(function(fo){var as=fo*No,tl=1/Gn(as);Ie.zoom=fo===1?Jt:$e+Ie.scaleZoom(tl),pe._rotating&&(Ie.bearing=i.number(pt,vt,fo)),pe._pitching&&(Ie.pitch=i.number(Kt,Pt,fo)),pe._padding&&(Ie.interpolatePadding(ir,Wt,fo),pr=Ie.centerPoint.add(dr));var zu=fo===1?Ar:Ie.unproject(gr.add(Cr.mult(da(as))).mult(tl));Ie.setLocationAtPoint(Ie.renderWorldCopies?zu.wrap():zu,pr),pe._fireMoveEvents($)},function(){return pe._afterEase($)},O),this},z.prototype.isEasing=function(){return!!this._easeFrameId},z.prototype.stop=function(){return this._stop()},z.prototype._stop=function(O,$){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var pe=this._onEaseEnd;delete this._onEaseEnd,pe.call(this,$)}if(!O){var de=this.handlers;de&&de.stop(!1)}return this},z.prototype._ease=function(O,$,pe){pe.animate===!1||pe.duration===0?(O(1),$()):(this._easeStart=i.browser.now(),this._easeOptions=pe,this._onEaseFrame=O,this._onEaseEnd=$,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},z.prototype._renderFrameCallback=function(){var O=Math.min((i.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(O)),O<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},z.prototype._normalizeBearing=function(O,$){O=i.wrap(O,-180,180);var pe=Math.abs(O-$);return Math.abs(O-360-$)<pe&&(O-=360),Math.abs(O+360-$)<pe&&(O+=360),O},z.prototype._normalizeCenter=function(O){var $=this.transform;if(!(!$.renderWorldCopies||$.lngRange)){var pe=O.lng-$.center.lng;O.lng+=pe>180?-360:pe<-180?360:0}},z}(i.Evented),Rn=function(z){z===void 0&&(z={}),this.options=z,i.bindAll([\"_toggleAttribution\",\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this)};Rn.prototype.getDefaultPosition=function(){return\"bottom-right\"},Rn.prototype.onAdd=function(z){var K=this.options&&this.options.compact;return this._map=z,this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),this._compactButton=o.create(\"button\",\"mapboxgl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=o.create(\"div\",\"mapboxgl-ctrl-attrib-inner\",this._container),this._innerContainer.setAttribute(\"role\",\"list\"),K&&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),K===void 0&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},Rn.prototype.onRemove=function(){o.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},Rn.prototype._setElementTitle=function(z,K){var O=this._map._getUIString(\"AttributionControl.\"+K);z.title=O,z.setAttribute(\"aria-label\",O)},Rn.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\"))},Rn.prototype._updateEditLink=function(){var z=this._editLink;z||(z=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));var K=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:this._map._requestManager._customAccessToken||i.config.ACCESS_TOKEN}];if(z){var O=K.reduce(function($,pe,de){return pe.value&&($+=pe.key+\"=\"+pe.value+(de<K.length-1?\"&\":\"\")),$},\"?\");z.href=i.config.FEEDBACK_URL+\"/\"+O+(this._map._hash?this._map._hash.getHashString(!0):\"\"),z.rel=\"noopener nofollow\",this._setElementTitle(z,\"MapFeedback\")}},Rn.prototype._updateData=function(z){z&&(z.sourceDataType===\"metadata\"||z.sourceDataType===\"visibility\"||z.dataType===\"style\")&&(this._updateAttributions(),this._updateEditLink())},Rn.prototype._updateAttributions=function(){if(this._map.style){var z=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?z=z.concat(this.options.customAttribution.map(function($e){return typeof $e!=\"string\"?\"\":$e})):typeof this.options.customAttribution==\"string\"&&z.push(this.options.customAttribution)),this._map.style.stylesheet){var K=this._map.style.stylesheet;this.styleOwner=K.owner,this.styleId=K.id}var O=this._map.style.sourceCaches;for(var $ in O){var pe=O[$];if(pe.used){var de=pe.getSource();de.attribution&&z.indexOf(de.attribution)<0&&z.push(de.attribution)}}z.sort(function($e,pt){return $e.length-pt.length}),z=z.filter(function($e,pt){for(var Kt=pt+1;Kt<z.length;Kt++)if(z[Kt].indexOf($e)>=0)return!1;return!0});var Ie=z.join(\" | \");Ie!==this._attribHTML&&(this._attribHTML=Ie,z.length?(this._innerContainer.innerHTML=Ie,this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null)}},Rn.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\",\"mapboxgl-compact-show\")};var Dn=function(){i.bindAll([\"_updateLogo\"],this),i.bindAll([\"_updateCompact\"],this)};Dn.prototype.onAdd=function(z){this._map=z,this._container=o.create(\"div\",\"mapboxgl-ctrl\");var K=o.create(\"a\",\"mapboxgl-ctrl-logo\");return K.target=\"_blank\",K.rel=\"noopener nofollow\",K.href=\"https://www.mapbox.com/\",K.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),K.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(K),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container},Dn.prototype.onRemove=function(){o.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo),this._map.off(\"resize\",this._updateCompact)},Dn.prototype.getDefaultPosition=function(){return\"bottom-left\"},Dn.prototype._updateLogo=function(z){(!z||z.sourceDataType===\"metadata\")&&(this._container.style.display=this._logoRequired()?\"block\":\"none\")},Dn.prototype._logoRequired=function(){if(this._map.style){var z=this._map.style.sourceCaches;for(var K in z){var O=z[K].getSource();if(O.mapbox_logo)return!0}return!1}},Dn.prototype._updateCompact=function(){var z=this._container.children;if(z.length){var K=z[0];this._map.getCanvasContainer().offsetWidth<250?K.classList.add(\"mapboxgl-compact\"):K.classList.remove(\"mapboxgl-compact\")}};var fn=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};fn.prototype.add=function(z){var K=++this._id,O=this._queue;return O.push({callback:z,id:K,cancelled:!1}),K},fn.prototype.remove=function(z){for(var K=this._currentlyRunning,O=K?this._queue.concat(K):this._queue,$=0,pe=O;$<pe.length;$+=1){var de=pe[$];if(de.id===z){de.cancelled=!0;return}}},fn.prototype.run=function(z){z===void 0&&(z=0);var K=this._currentlyRunning=this._queue;this._queue=[];for(var O=0,$=K;O<$.length;O+=1){var pe=$[O];if(!pe.cancelled&&(pe.callback(z),this._cleared))break}this._cleared=!1,this._currentlyRunning=!1},fn.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]};var Ai={\"AttributionControl.ToggleAttribution\":\"Toggle attribution\",\"AttributionControl.MapFeedback\":\"Map feedback\",\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"Mapbox logo\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"ScaleControl.Feet\":\"ft\",\"ScaleControl.Meters\":\"m\",\"ScaleControl.Kilometers\":\"km\",\"ScaleControl.Miles\":\"mi\",\"ScaleControl.NauticalMiles\":\"nm\"},ji=i.window.HTMLImageElement,Ln=i.window.HTMLElement,Un=i.window.ImageBitmap,gn=-2,ca=22,Kn=0,Za=60,wn={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:gn,maxZoom:ca,minPitch:Kn,maxPitch:Za,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:\"sans-serif\",transformRequest:null,accessToken:null,fadeDuration:300,crossSourceCollisions:!0},vn=function(Y){function z(O){var $=this;if(O=i.extend({},wn,O),O.minZoom!=null&&O.maxZoom!=null&&O.minZoom>O.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(O.minPitch!=null&&O.maxPitch!=null&&O.minPitch>O.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(O.minPitch!=null&&O.minPitch<Kn)throw new Error(\"minPitch must be greater than or equal to \"+Kn);if(O.maxPitch!=null&&O.maxPitch>Za)throw new Error(\"maxPitch must be less than or equal to \"+Za);var pe=new yo(O.minZoom,O.maxZoom,O.minPitch,O.maxPitch,O.renderWorldCopies);if(Y.call(this,pe,O),this._interactive=O.interactive,this._maxTileCacheSize=O.maxTileCacheSize,this._failIfMajorPerformanceCaveat=O.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=O.preserveDrawingBuffer,this._antialias=O.antialias,this._trackResize=O.trackResize,this._bearingSnap=O.bearingSnap,this._refreshExpiredTiles=O.refreshExpiredTiles,this._fadeDuration=O.fadeDuration,this._crossSourceCollisions=O.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=O.collectResourceTiming,this._renderTaskQueue=new fn,this._controls=[],this._mapId=i.uniqueId(),this._locale=i.extend({},Ai,O.locale),this._clickTolerance=O.clickTolerance,this._requestManager=new i.RequestManager(O.transformRequest,O.accessToken),typeof O.container==\"string\"){if(this._container=i.window.document.getElementById(O.container),!this._container)throw new Error(\"Container '\"+O.container+\"' not found.\")}else if(O.container instanceof Ln)this._container=O.container;else throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");if(O.maxBounds&&this.setMaxBounds(O.maxBounds),i.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_onMapScroll\",\"_contextLost\",\"_contextRestored\"],this),this._setupContainer(),this._setupPainter(),this.painter===void 0)throw new Error(\"Failed to initialize WebGL.\");this.on(\"move\",function(){return $._update(!1)}),this.on(\"moveend\",function(){return $._update(!1)}),this.on(\"zoom\",function(){return $._update(!0)}),typeof i.window!=\"undefined\"&&(i.window.addEventListener(\"online\",this._onWindowOnline,!1),i.window.addEventListener(\"resize\",this._onWindowResize,!1),i.window.addEventListener(\"orientationchange\",this._onWindowResize,!1)),this.handlers=new yn(this,O);var de=typeof O.hash==\"string\"&&O.hash||void 0;this._hash=O.hash&&new Hl(de).addTo(this),(!this._hash||!this._hash._onHashChange())&&(this.jumpTo({center:O.center,zoom:O.zoom,bearing:O.bearing,pitch:O.pitch}),O.bounds&&(this.resize(),this.fitBounds(O.bounds,i.extend({},O.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=O.localIdeographFontFamily,O.style&&this.setStyle(O.style,{localIdeographFontFamily:O.localIdeographFontFamily}),O.attributionControl&&this.addControl(new Rn({customAttribution:O.customAttribution})),this.addControl(new Dn,O.logoPosition),this.on(\"style.load\",function(){$.transform.unmodified&&$.jumpTo($.style.stylesheet)}),this.on(\"data\",function(Ie){$._update(Ie.dataType===\"style\"),$.fire(new i.Event(Ie.dataType+\"data\",Ie))}),this.on(\"dataloading\",function(Ie){$.fire(new i.Event(Ie.dataType+\"dataloading\",Ie))})}Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z;var K={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return z.prototype._getMapId=function(){return this._mapId},z.prototype.addControl=function($,pe){if(pe===void 0&&($.getDefaultPosition?pe=$.getDefaultPosition():pe=\"top-right\"),!$||!$.onAdd)return this.fire(new i.ErrorEvent(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));var de=$.onAdd(this);this._controls.push($);var Ie=this._controlPositions[pe];return pe.indexOf(\"bottom\")!==-1?Ie.insertBefore(de,Ie.firstChild):Ie.appendChild(de),this},z.prototype.removeControl=function($){if(!$||!$.onRemove)return this.fire(new i.ErrorEvent(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));var pe=this._controls.indexOf($);return pe>-1&&this._controls.splice(pe,1),$.onRemove(this),this},z.prototype.hasControl=function($){return this._controls.indexOf($)>-1},z.prototype.resize=function($){var pe=this._containerDimensions(),de=pe[0],Ie=pe[1];this._resizeCanvas(de,Ie),this.transform.resize(de,Ie),this.painter.resize(de,Ie);var $e=!this._moving;return $e&&(this.stop(),this.fire(new i.Event(\"movestart\",$)).fire(new i.Event(\"move\",$))),this.fire(new i.Event(\"resize\",$)),$e&&this.fire(new i.Event(\"moveend\",$)),this},z.prototype.getBounds=function(){return this.transform.getBounds()},z.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},z.prototype.setMaxBounds=function($){return this.transform.setMaxBounds(i.LngLatBounds.convert($)),this._update()},z.prototype.setMinZoom=function($){if($=$==null?gn:$,$>=gn&&$<=this.transform.maxZoom)return this.transform.minZoom=$,this._update(),this.getZoom()<$&&this.setZoom($),this;throw new Error(\"minZoom must be between \"+gn+\" and the current maxZoom, inclusive\")},z.prototype.getMinZoom=function(){return this.transform.minZoom},z.prototype.setMaxZoom=function($){if($=$==null?ca:$,$>=this.transform.minZoom)return this.transform.maxZoom=$,this._update(),this.getZoom()>$&&this.setZoom($),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},z.prototype.getMaxZoom=function(){return this.transform.maxZoom},z.prototype.setMinPitch=function($){if($=$==null?Kn:$,$<Kn)throw new Error(\"minPitch must be greater than or equal to \"+Kn);if($>=Kn&&$<=this.transform.maxPitch)return this.transform.minPitch=$,this._update(),this.getPitch()<$&&this.setPitch($),this;throw new Error(\"minPitch must be between \"+Kn+\" and the current maxPitch, inclusive\")},z.prototype.getMinPitch=function(){return this.transform.minPitch},z.prototype.setMaxPitch=function($){if($=$==null?Za:$,$>Za)throw new Error(\"maxPitch must be less than or equal to \"+Za);if($>=this.transform.minPitch)return this.transform.maxPitch=$,this._update(),this.getPitch()>$&&this.setPitch($),this;throw new Error(\"maxPitch must be greater than the current minPitch\")},z.prototype.getMaxPitch=function(){return this.transform.maxPitch},z.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},z.prototype.setRenderWorldCopies=function($){return this.transform.renderWorldCopies=$,this._update()},z.prototype.project=function($){return this.transform.locationPoint(i.LngLat.convert($))},z.prototype.unproject=function($){return this.transform.pointLocation(i.Point.convert($))},z.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},z.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},z.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},z.prototype._createDelegatedListener=function($,pe,de){var Ie=this,$e;if($===\"mouseenter\"||$===\"mouseover\"){var pt=!1,Kt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length?pt||(pt=!0,de.call(Ie,new oe($,Ie,rr.originalEvent,{features:dr}))):pt=!1},ir=function(){pt=!1};return{layer:pe,listener:de,delegates:{mousemove:Kt,mouseout:ir}}}else if($===\"mouseleave\"||$===\"mouseout\"){var Jt=!1,vt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length?Jt=!0:Jt&&(Jt=!1,de.call(Ie,new oe($,Ie,rr.originalEvent)))},Pt=function(rr){Jt&&(Jt=!1,de.call(Ie,new oe($,Ie,rr.originalEvent)))};return{layer:pe,listener:de,delegates:{mousemove:vt,mouseout:Pt}}}else{var Wt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length&&(rr.features=dr,de.call(Ie,rr),delete rr.features)};return{layer:pe,listener:de,delegates:($e={},$e[$]=Wt,$e)}}},z.prototype.on=function($,pe,de){if(de===void 0)return Y.prototype.on.call(this,$,pe);var Ie=this._createDelegatedListener($,pe,de);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[$]=this._delegatedListeners[$]||[],this._delegatedListeners[$].push(Ie);for(var $e in Ie.delegates)this.on($e,Ie.delegates[$e]);return this},z.prototype.once=function($,pe,de){if(de===void 0)return Y.prototype.once.call(this,$,pe);var Ie=this._createDelegatedListener($,pe,de);for(var $e in Ie.delegates)this.once($e,Ie.delegates[$e]);return this},z.prototype.off=function($,pe,de){var Ie=this;if(de===void 0)return Y.prototype.off.call(this,$,pe);var $e=function(pt){for(var Kt=pt[$],ir=0;ir<Kt.length;ir++){var Jt=Kt[ir];if(Jt.layer===pe&&Jt.listener===de){for(var vt in Jt.delegates)Ie.off(vt,Jt.delegates[vt]);return Kt.splice(ir,1),Ie}}};return this._delegatedListeners&&this._delegatedListeners[$]&&$e(this._delegatedListeners),this},z.prototype.queryRenderedFeatures=function($,pe){if(!this.style)return[];pe===void 0&&$!==void 0&&!($ instanceof i.Point)&&!Array.isArray($)&&(pe=$,$=void 0),pe=pe||{},$=$||[[0,0],[this.transform.width,this.transform.height]];var de;if($ instanceof i.Point||typeof $[0]==\"number\")de=[i.Point.convert($)];else{var Ie=i.Point.convert($[0]),$e=i.Point.convert($[1]);de=[Ie,new i.Point($e.x,Ie.y),$e,new i.Point(Ie.x,$e.y),Ie]}return this.style.queryRenderedFeatures(de,pe,this.transform)},z.prototype.querySourceFeatures=function($,pe){return this.style.querySourceFeatures($,pe)},z.prototype.setStyle=function($,pe){return pe=i.extend({},{localIdeographFontFamily:this._localIdeographFontFamily},pe),pe.diff!==!1&&pe.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&$?(this._diffStyle($,pe),this):(this._localIdeographFontFamily=pe.localIdeographFontFamily,this._updateStyle($,pe))},z.prototype._getUIString=function($){var pe=this._locale[$];if(pe==null)throw new Error(\"Missing UI string '\"+$+\"'\");return pe},z.prototype._updateStyle=function($,pe){if(this.style&&(this.style.setEventedParent(null),this.style._remove()),$)this.style=new mu(this,pe||{});else return delete this.style,this;return this.style.setEventedParent(this,{style:this.style}),typeof $==\"string\"?this.style.loadURL($):this.style.loadJSON($),this},z.prototype._lazyInitEmptyStyle=function(){this.style||(this.style=new mu(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())},z.prototype._diffStyle=function($,pe){var de=this;if(typeof $==\"string\"){var Ie=this._requestManager.normalizeStyleURL($),$e=this._requestManager.transformRequest(Ie,i.ResourceType.Style);i.getJSON($e,function(pt,Kt){pt?de.fire(new i.ErrorEvent(pt)):Kt&&de._updateDiff(Kt,pe)})}else typeof $==\"object\"&&this._updateDiff($,pe)},z.prototype._updateDiff=function($,pe){try{this.style.setState($)&&this._update(!0)}catch(de){i.warnOnce(\"Unable to perform style diff: \"+(de.message||de.error||de)+\". Rebuilding the style from scratch.\"),this._updateStyle($,pe)}},z.prototype.getStyle=function(){if(this.style)return this.style.serialize()},z.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():i.warnOnce(\"There is no style added to the map.\")},z.prototype.addSource=function($,pe){return this._lazyInitEmptyStyle(),this.style.addSource($,pe),this._update(!0)},z.prototype.isSourceLoaded=function($){var pe=this.style&&this.style.sourceCaches[$];if(pe===void 0){this.fire(new i.ErrorEvent(new Error(\"There is no source with ID '\"+$+\"'\")));return}return pe.loaded()},z.prototype.areTilesLoaded=function(){var $=this.style&&this.style.sourceCaches;for(var pe in $){var de=$[pe],Ie=de._tiles;for(var $e in Ie){var pt=Ie[$e];if(!(pt.state===\"loaded\"||pt.state===\"errored\"))return!1}}return!0},z.prototype.addSourceType=function($,pe,de){return this._lazyInitEmptyStyle(),this.style.addSourceType($,pe,de)},z.prototype.removeSource=function($){return this.style.removeSource($),this._update(!0)},z.prototype.getSource=function($){return this.style.getSource($)},z.prototype.addImage=function($,pe,de){de===void 0&&(de={});var Ie=de.pixelRatio;Ie===void 0&&(Ie=1);var $e=de.sdf;$e===void 0&&($e=!1);var pt=de.stretchX,Kt=de.stretchY,ir=de.content;this._lazyInitEmptyStyle();var Jt=0;if(pe instanceof ji||Un&&pe instanceof Un){var vt=i.browser.getImageData(pe),Pt=vt.width,Wt=vt.height,rr=vt.data;this.style.addImage($,{data:new i.RGBAImage({width:Pt,height:Wt},rr),pixelRatio:Ie,stretchX:pt,stretchY:Kt,content:ir,sdf:$e,version:Jt})}else{if(pe.width===void 0||pe.height===void 0)return this.fire(new i.ErrorEvent(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));var dr=pe.width,pr=pe.height,kr=pe.data,Ar=pe;this.style.addImage($,{data:new i.RGBAImage({width:dr,height:pr},new Uint8Array(kr)),pixelRatio:Ie,stretchX:pt,stretchY:Kt,content:ir,sdf:$e,version:Jt,userImage:Ar}),Ar.onAdd&&Ar.onAdd(this,$)}},z.prototype.updateImage=function($,pe){var de=this.style.getImage($);if(!de)return this.fire(new i.ErrorEvent(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));var Ie=pe instanceof ji||Un&&pe instanceof Un?i.browser.getImageData(pe):pe,$e=Ie.width,pt=Ie.height,Kt=Ie.data;if($e===void 0||pt===void 0)return this.fire(new i.ErrorEvent(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));if($e!==de.data.width||pt!==de.data.height)return this.fire(new i.ErrorEvent(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));var ir=!(pe instanceof ji||Un&&pe instanceof Un);de.data.replace(Kt,ir),this.style.updateImage($,de)},z.prototype.hasImage=function($){return $?!!this.style.getImage($):(this.fire(new i.ErrorEvent(new Error(\"Missing required image id\"))),!1)},z.prototype.removeImage=function($){this.style.removeImage($)},z.prototype.loadImage=function($,pe){i.getImage(this._requestManager.transformRequest($,i.ResourceType.Image),pe)},z.prototype.listImages=function(){return this.style.listImages()},z.prototype.addLayer=function($,pe){return this._lazyInitEmptyStyle(),this.style.addLayer($,pe),this._update(!0)},z.prototype.moveLayer=function($,pe){return this.style.moveLayer($,pe),this._update(!0)},z.prototype.removeLayer=function($){return this.style.removeLayer($),this._update(!0)},z.prototype.getLayer=function($){return this.style.getLayer($)},z.prototype.setLayerZoomRange=function($,pe,de){return this.style.setLayerZoomRange($,pe,de),this._update(!0)},z.prototype.setFilter=function($,pe,de){return de===void 0&&(de={}),this.style.setFilter($,pe,de),this._update(!0)},z.prototype.getFilter=function($){return this.style.getFilter($)},z.prototype.setPaintProperty=function($,pe,de,Ie){return Ie===void 0&&(Ie={}),this.style.setPaintProperty($,pe,de,Ie),this._update(!0)},z.prototype.getPaintProperty=function($,pe){return this.style.getPaintProperty($,pe)},z.prototype.setLayoutProperty=function($,pe,de,Ie){return Ie===void 0&&(Ie={}),this.style.setLayoutProperty($,pe,de,Ie),this._update(!0)},z.prototype.getLayoutProperty=function($,pe){return this.style.getLayoutProperty($,pe)},z.prototype.setLight=function($,pe){return pe===void 0&&(pe={}),this._lazyInitEmptyStyle(),this.style.setLight($,pe),this._update(!0)},z.prototype.getLight=function(){return this.style.getLight()},z.prototype.setFeatureState=function($,pe){return this.style.setFeatureState($,pe),this._update()},z.prototype.removeFeatureState=function($,pe){return this.style.removeFeatureState($,pe),this._update()},z.prototype.getFeatureState=function($){return this.style.getFeatureState($)},z.prototype.getContainer=function(){return this._container},z.prototype.getCanvasContainer=function(){return this._canvasContainer},z.prototype.getCanvas=function(){return this._canvas},z.prototype._containerDimensions=function(){var $=0,pe=0;return this._container&&($=this._container.clientWidth||400,pe=this._container.clientHeight||300),[$,pe]},z.prototype._detectMissingCSS=function(){var $=i.window.getComputedStyle(this._missingCSSCanary).getPropertyValue(\"background-color\");$!==\"rgb(250, 128, 114)\"&&i.warnOnce(\"This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.\")},z.prototype._setupContainer=function(){var $=this._container;$.classList.add(\"mapboxgl-map\");var pe=this._missingCSSCanary=o.create(\"div\",\"mapboxgl-canary\",$);pe.style.visibility=\"hidden\",this._detectMissingCSS();var de=this._canvasContainer=o.create(\"div\",\"mapboxgl-canvas-container\",$);this._interactive&&de.classList.add(\"mapboxgl-interactive\"),this._canvas=o.create(\"canvas\",\"mapboxgl-canvas\",de),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",\"Map\"),this._canvas.setAttribute(\"role\",\"region\");var Ie=this._containerDimensions();this._resizeCanvas(Ie[0],Ie[1]);var $e=this._controlContainer=o.create(\"div\",\"mapboxgl-control-container\",$),pt=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(function(Kt){pt[Kt]=o.create(\"div\",\"mapboxgl-ctrl-\"+Kt,$e)}),this._container.addEventListener(\"scroll\",this._onMapScroll,!1)},z.prototype._resizeCanvas=function($,pe){var de=i.browser.devicePixelRatio||1;this._canvas.width=de*$,this._canvas.height=de*pe,this._canvas.style.width=$+\"px\",this._canvas.style.height=pe+\"px\"},z.prototype._setupPainter=function(){var $=i.extend({},a.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),pe=this._canvas.getContext(\"webgl\",$)||this._canvas.getContext(\"experimental-webgl\",$);if(!pe){this.fire(new i.ErrorEvent(new Error(\"Failed to initialize WebGL\")));return}this.painter=new co(pe,this.transform),i.webpSupported.testSupport(pe)},z.prototype._contextLost=function($){$.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new i.Event(\"webglcontextlost\",{originalEvent:$}))},z.prototype._contextRestored=function($){this._setupPainter(),this.resize(),this._update(),this.fire(new i.Event(\"webglcontextrestored\",{originalEvent:$}))},z.prototype._onMapScroll=function($){if($.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},z.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()},z.prototype._update=function($){return this.style?(this._styleDirty=this._styleDirty||$,this._sourcesDirty=!0,this.triggerRepaint(),this):this},z.prototype._requestRenderFrame=function($){return this._update(),this._renderTaskQueue.add($)},z.prototype._cancelRenderFrame=function($){this._renderTaskQueue.remove($)},z.prototype._render=function($){var pe=this,de,Ie=0,$e=this.painter.context.extTimerQuery;if(this.listens(\"gpu-timing-frame\")&&(de=$e.createQueryEXT(),$e.beginQueryEXT($e.TIME_ELAPSED_EXT,de),Ie=i.browser.now()),this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run($),!this._removed){var pt=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var Kt=this.transform.zoom,ir=i.browser.now();this.style.zoomHistory.update(Kt,ir);var Jt=new i.EvaluationParameters(Kt,{now:ir,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),vt=Jt.crossFadingFactor();(vt!==1||vt!==this._crossFadingFactor)&&(pt=!0,this._crossFadingFactor=vt),this.style.update(Jt)}if(this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration,showPadding:this.showPadding,gpuTiming:!!this.listens(\"gpu-timing-layer\")}),this.fire(new i.Event(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new i.Event(\"load\"))),this.style&&(this.style.hasTransitions()||pt)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this.listens(\"gpu-timing-frame\")){var Pt=i.browser.now()-Ie;$e.endQueryEXT($e.TIME_ELAPSED_EXT,de),setTimeout(function(){var dr=$e.getQueryObjectEXT(de,$e.QUERY_RESULT_EXT)/1e6;$e.deleteQueryEXT(de),pe.fire(new i.Event(\"gpu-timing-frame\",{cpuTime:Pt,gpuTime:dr}))},50)}if(this.listens(\"gpu-timing-layer\")){var Wt=this.painter.collectGpuTimers();setTimeout(function(){var dr=pe.painter.queryGpuTimers(Wt);pe.fire(new i.Event(\"gpu-timing-layer\",{layerTimes:dr}))},50)}var rr=this._sourcesDirty||this._styleDirty||this._placementDirty;return rr||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new i.Event(\"idle\")),this._loaded&&!this._fullyLoaded&&!rr&&(this._fullyLoaded=!0),this}},z.prototype.remove=function(){this._hash&&this._hash.remove();for(var $=0,pe=this._controls;$<pe.length;$+=1){var de=pe[$];de.onRemove(this)}this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof i.window!=\"undefined\"&&(i.window.removeEventListener(\"resize\",this._onWindowResize,!1),i.window.removeEventListener(\"orientationchange\",this._onWindowResize,!1),i.window.removeEventListener(\"online\",this._onWindowOnline,!1));var Ie=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");Ie&&Ie.loseContext&&Ie.loseContext(),Aa(this._canvasContainer),Aa(this._controlContainer),Aa(this._missingCSSCanary),this._container.classList.remove(\"mapboxgl-map\"),this._removed=!0,this.fire(new i.Event(\"remove\"))},z.prototype.triggerRepaint=function(){var $=this;this.style&&!this._frame&&(this._frame=i.browser.frame(function(pe){$._frame=null,$._render(pe)}))},z.prototype._onWindowOnline=function(){this._update()},z.prototype._onWindowResize=function($){this._trackResize&&this.resize({originalEvent:$})._update()},K.showTileBoundaries.get=function(){return!!this._showTileBoundaries},K.showTileBoundaries.set=function(O){this._showTileBoundaries!==O&&(this._showTileBoundaries=O,this._update())},K.showPadding.get=function(){return!!this._showPadding},K.showPadding.set=function(O){this._showPadding!==O&&(this._showPadding=O,this._update())},K.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},K.showCollisionBoxes.set=function(O){this._showCollisionBoxes!==O&&(this._showCollisionBoxes=O,O?this.style._generateCollisionBoxes():this._update())},K.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},K.showOverdrawInspector.set=function(O){this._showOverdrawInspector!==O&&(this._showOverdrawInspector=O,this._update())},K.repaint.get=function(){return!!this._repaint},K.repaint.set=function(O){this._repaint!==O&&(this._repaint=O,this.triggerRepaint())},K.vertices.get=function(){return!!this._vertices},K.vertices.set=function(O){this._vertices=O,this._update()},z.prototype._setCacheLimits=function($,pe){i.setCacheLimits($,pe)},K.version.get=function(){return i.version},Object.defineProperties(z.prototype,K),z}(to);function Aa(Y){Y.parentNode&&Y.parentNode.removeChild(Y)}var aa={showCompass:!0,showZoom:!0,visualizePitch:!1},Xn=function(z){var K=this;this.options=i.extend({},aa,z),this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",function(O){return O.preventDefault()}),this.options.showZoom&&(i.bindAll([\"_setButtonTitle\",\"_updateZoomButtons\"],this),this._zoomInButton=this._createButton(\"mapboxgl-ctrl-zoom-in\",function(O){return K._map.zoomIn({},{originalEvent:O})}),o.create(\"span\",\"mapboxgl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",!0),this._zoomOutButton=this._createButton(\"mapboxgl-ctrl-zoom-out\",function(O){return K._map.zoomOut({},{originalEvent:O})}),o.create(\"span\",\"mapboxgl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",!0)),this.options.showCompass&&(i.bindAll([\"_rotateCompassArrow\"],this),this._compass=this._createButton(\"mapboxgl-ctrl-compass\",function(O){K.options.visualizePitch?K._map.resetNorthPitch({},{originalEvent:O}):K._map.resetNorth({},{originalEvent:O})}),this._compassIcon=o.create(\"span\",\"mapboxgl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",!0))};Xn.prototype._updateZoomButtons=function(){var z=this._map.getZoom(),K=z===this._map.getMaxZoom(),O=z===this._map.getMinZoom();this._zoomInButton.disabled=K,this._zoomOutButton.disabled=O,this._zoomInButton.setAttribute(\"aria-disabled\",K.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",O.toString())},Xn.prototype._rotateCompassArrow=function(){var z=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=z},Xn.prototype.onAdd=function(z){return this._map=z,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 Vn(this._map,this._compass,this.options.visualizePitch)),this._container},Xn.prototype.onRemove=function(){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},Xn.prototype._createButton=function(z,K){var O=o.create(\"button\",z,this._container);return O.type=\"button\",O.addEventListener(\"click\",K),O},Xn.prototype._setButtonTitle=function(z,K){var O=this._map._getUIString(\"NavigationControl.\"+K);z.title=O,z.setAttribute(\"aria-label\",O)};var Vn=function(z,K,O){O===void 0&&(O=!1),this._clickTolerance=10,this.element=K,this.mouseRotate=new un({clickTolerance:z.dragRotate._mouseRotate._clickTolerance}),this.map=z,O&&(this.mousePitch=new dn({clickTolerance:z.dragRotate._mousePitch._clickTolerance})),i.bindAll([\"mousedown\",\"mousemove\",\"mouseup\",\"touchstart\",\"touchmove\",\"touchend\",\"reset\"],this),o.addEventListener(K,\"mousedown\",this.mousedown),o.addEventListener(K,\"touchstart\",this.touchstart,{passive:!1}),o.addEventListener(K,\"touchmove\",this.touchmove),o.addEventListener(K,\"touchend\",this.touchend),o.addEventListener(K,\"touchcancel\",this.reset)};Vn.prototype.down=function(z,K){this.mouseRotate.mousedown(z,K),this.mousePitch&&this.mousePitch.mousedown(z,K),o.disableDrag()},Vn.prototype.move=function(z,K){var O=this.map,$=this.mouseRotate.mousemoveWindow(z,K);if($&&$.bearingDelta&&O.setBearing(O.getBearing()+$.bearingDelta),this.mousePitch){var pe=this.mousePitch.mousemoveWindow(z,K);pe&&pe.pitchDelta&&O.setPitch(O.getPitch()+pe.pitchDelta)}},Vn.prototype.off=function(){var z=this.element;o.removeEventListener(z,\"mousedown\",this.mousedown),o.removeEventListener(z,\"touchstart\",this.touchstart,{passive:!1}),o.removeEventListener(z,\"touchmove\",this.touchmove),o.removeEventListener(z,\"touchend\",this.touchend),o.removeEventListener(z,\"touchcancel\",this.reset),this.offTemp()},Vn.prototype.offTemp=function(){o.enableDrag(),o.removeEventListener(i.window,\"mousemove\",this.mousemove),o.removeEventListener(i.window,\"mouseup\",this.mouseup)},Vn.prototype.mousedown=function(z){this.down(i.extend({},z,{ctrlKey:!0,preventDefault:function(){return z.preventDefault()}}),o.mousePos(this.element,z)),o.addEventListener(i.window,\"mousemove\",this.mousemove),o.addEventListener(i.window,\"mouseup\",this.mouseup)},Vn.prototype.mousemove=function(z){this.move(z,o.mousePos(this.element,z))},Vn.prototype.mouseup=function(z){this.mouseRotate.mouseupWindow(z),this.mousePitch&&this.mousePitch.mouseupWindow(z),this.offTemp()},Vn.prototype.touchstart=function(z){z.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=o.touchPos(this.element,z.targetTouches)[0],this.down({type:\"mousedown\",button:0,ctrlKey:!0,preventDefault:function(){return z.preventDefault()}},this._startPos))},Vn.prototype.touchmove=function(z){z.targetTouches.length!==1?this.reset():(this._lastPos=o.touchPos(this.element,z.targetTouches)[0],this.move({preventDefault:function(){return z.preventDefault()}},this._lastPos))},Vn.prototype.touchend=function(z){z.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),this.reset()},Vn.prototype.reset=function(){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()};function ma(Y,z,K){if(Y=new i.LngLat(Y.lng,Y.lat),z){var O=new i.LngLat(Y.lng-360,Y.lat),$=new i.LngLat(Y.lng+360,Y.lat),pe=K.locationPoint(Y).distSqr(z);K.locationPoint(O).distSqr(z)<pe?Y=O:K.locationPoint($).distSqr(z)<pe&&(Y=$)}for(;Math.abs(Y.lng-K.center.lng)>180;){var de=K.locationPoint(Y);if(de.x>=0&&de.y>=0&&de.x<=K.width&&de.y<=K.height)break;Y.lng>K.center.lng?Y.lng-=360:Y.lng+=360}return Y}var ro={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 Ao(Y,z,K){var O=Y.classList;for(var $ in ro)O.remove(\"mapboxgl-\"+K+\"-anchor-\"+$);O.add(\"mapboxgl-\"+K+\"-anchor-\"+z)}var Jn=function(Y){function z(K,O){if(Y.call(this),(K instanceof i.window.HTMLElement||O)&&(K=i.extend({element:K},O)),i.bindAll([\"_update\",\"_onMove\",\"_onUp\",\"_addDragHandler\",\"_onMapClick\",\"_onKeyPress\"],this),this._anchor=K&&K.anchor||\"center\",this._color=K&&K.color||\"#3FB1CE\",this._scale=K&&K.scale||1,this._draggable=K&&K.draggable||!1,this._clickTolerance=K&&K.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=K&&K.rotation||0,this._rotationAlignment=K&&K.rotationAlignment||\"auto\",this._pitchAlignment=K&&K.pitchAlignment&&K.pitchAlignment!==\"auto\"?K.pitchAlignment:this._rotationAlignment,!K||!K.element){this._defaultMarker=!0,this._element=o.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");var $=o.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),pe=41,de=27;$.setAttributeNS(null,\"display\",\"block\"),$.setAttributeNS(null,\"height\",pe+\"px\"),$.setAttributeNS(null,\"width\",de+\"px\"),$.setAttributeNS(null,\"viewBox\",\"0 0 \"+de+\" \"+pe);var Ie=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");Ie.setAttributeNS(null,\"stroke\",\"none\"),Ie.setAttributeNS(null,\"stroke-width\",\"1\"),Ie.setAttributeNS(null,\"fill\",\"none\"),Ie.setAttributeNS(null,\"fill-rule\",\"evenodd\");var $e=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");$e.setAttributeNS(null,\"fill-rule\",\"nonzero\");var pt=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");pt.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),pt.setAttributeNS(null,\"fill\",\"#000000\");for(var Kt=[{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\"}],ir=0,Jt=Kt;ir<Jt.length;ir+=1){var vt=Jt[ir],Pt=o.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");Pt.setAttributeNS(null,\"opacity\",\"0.04\"),Pt.setAttributeNS(null,\"cx\",\"10.5\"),Pt.setAttributeNS(null,\"cy\",\"5.80029008\"),Pt.setAttributeNS(null,\"rx\",vt.rx),Pt.setAttributeNS(null,\"ry\",vt.ry),pt.appendChild(Pt)}var Wt=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");Wt.setAttributeNS(null,\"fill\",this._color);var rr=o.createNS(\"http://www.w3.org/2000/svg\",\"path\");rr.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\"),Wt.appendChild(rr);var dr=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");dr.setAttributeNS(null,\"opacity\",\"0.25\"),dr.setAttributeNS(null,\"fill\",\"#000000\");var pr=o.createNS(\"http://www.w3.org/2000/svg\",\"path\");pr.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\"),dr.appendChild(pr);var kr=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");kr.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),kr.setAttributeNS(null,\"fill\",\"#FFFFFF\");var Ar=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");Ar.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");var gr=o.createNS(\"http://www.w3.org/2000/svg\",\"circle\");gr.setAttributeNS(null,\"fill\",\"#000000\"),gr.setAttributeNS(null,\"opacity\",\"0.25\"),gr.setAttributeNS(null,\"cx\",\"5.5\"),gr.setAttributeNS(null,\"cy\",\"5.5\"),gr.setAttributeNS(null,\"r\",\"5.4999962\");var Cr=o.createNS(\"http://www.w3.org/2000/svg\",\"circle\");Cr.setAttributeNS(null,\"fill\",\"#FFFFFF\"),Cr.setAttributeNS(null,\"cx\",\"5.5\"),Cr.setAttributeNS(null,\"cy\",\"5.5\"),Cr.setAttributeNS(null,\"r\",\"5.4999962\"),Ar.appendChild(gr),Ar.appendChild(Cr),$e.appendChild(pt),$e.appendChild(Wt),$e.appendChild(dr),$e.appendChild(kr),$e.appendChild(Ar),$.appendChild($e),$.setAttributeNS(null,\"height\",pe*this._scale+\"px\"),$.setAttributeNS(null,\"width\",de*this._scale+\"px\"),this._element.appendChild($),this._offset=i.Point.convert(K&&K.offset||[0,-14])}else this._element=K.element,this._offset=i.Point.convert(K&&K.offset||[0,0]);this._element.classList.add(\"mapboxgl-marker\"),this._element.addEventListener(\"dragstart\",function(cr){cr.preventDefault()}),this._element.addEventListener(\"mousedown\",function(cr){cr.preventDefault()}),Ao(this._element,this._anchor,\"marker\"),this._popup=null}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.addTo=function(O){return this.remove(),this._map=O,O.getCanvasContainer().appendChild(this._element),O.on(\"move\",this._update),O.on(\"moveend\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this},z.prototype.remove=function(){return this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler),this._map.off(\"mouseup\",this._onUp),this._map.off(\"touchend\",this._onUp),this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),delete this._map),o.remove(this._element),this._popup&&this._popup.remove(),this},z.prototype.getLngLat=function(){return this._lngLat},z.prototype.setLngLat=function(O){return this._lngLat=i.LngLat.convert(O),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},z.prototype.getElement=function(){return this._element},z.prototype.setPopup=function(O){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),O){if(!(\"offset\"in O.options)){var $=38.1,pe=13.5,de=Math.sqrt(Math.pow(pe,2)/2);O.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-$],\"bottom-left\":[de,($-pe+de)*-1],\"bottom-right\":[-de,($-pe+de)*-1],left:[pe,($-pe)*-1],right:[-pe,($-pe)*-1]}:this._offset}this._popup=O,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress)}return this},z.prototype._onKeyPress=function(O){var $=O.code,pe=O.charCode||O.keyCode;($===\"Space\"||$===\"Enter\"||pe===32||pe===13)&&this.togglePopup()},z.prototype._onMapClick=function(O){var $=O.originalEvent.target,pe=this._element;this._popup&&($===pe||pe.contains($))&&this.togglePopup()},z.prototype.getPopup=function(){return this._popup},z.prototype.togglePopup=function(){var O=this._popup;if(O)O.isOpen()?O.remove():O.addTo(this._map);else return this;return this},z.prototype._update=function(O){if(this._map){this._map.transform.renderWorldCopies&&(this._lngLat=ma(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);var $=\"\";this._rotationAlignment===\"viewport\"||this._rotationAlignment===\"auto\"?$=\"rotateZ(\"+this._rotation+\"deg)\":this._rotationAlignment===\"map\"&&($=\"rotateZ(\"+(this._rotation-this._map.getBearing())+\"deg)\");var pe=\"\";this._pitchAlignment===\"viewport\"||this._pitchAlignment===\"auto\"?pe=\"rotateX(0deg)\":this._pitchAlignment===\"map\"&&(pe=\"rotateX(\"+this._map.getPitch()+\"deg)\"),(!O||O.type===\"moveend\")&&(this._pos=this._pos.round()),o.setTransform(this._element,ro[this._anchor]+\" translate(\"+this._pos.x+\"px, \"+this._pos.y+\"px) \"+pe+\" \"+$)}},z.prototype.getOffset=function(){return this._offset},z.prototype.setOffset=function(O){return this._offset=i.Point.convert(O),this._update(),this},z.prototype._onMove=function(O){if(!this._isDragging){var $=this._clickTolerance||this._map._clickTolerance;this._isDragging=O.point.dist(this._pointerdownPos)>=$}this._isDragging&&(this._pos=O.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",this._state===\"pending\"&&(this._state=\"active\",this.fire(new i.Event(\"dragstart\"))),this.fire(new i.Event(\"drag\")))},z.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),this._state===\"active\"&&this.fire(new i.Event(\"dragend\")),this._state=\"inactive\"},z.prototype._addDragHandler=function(O){this._element.contains(O.originalEvent.target)&&(O.preventDefault(),this._positionDelta=O.point.sub(this._pos).add(this._offset),this._pointerdownPos=O.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))},z.prototype.setDraggable=function(O){return this._draggable=!!O,this._map&&(O?(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},z.prototype.isDraggable=function(){return this._draggable},z.prototype.setRotation=function(O){return this._rotation=O||0,this._update(),this},z.prototype.getRotation=function(){return this._rotation},z.prototype.setRotationAlignment=function(O){return this._rotationAlignment=O||\"auto\",this._update(),this},z.prototype.getRotationAlignment=function(){return this._rotationAlignment},z.prototype.setPitchAlignment=function(O){return this._pitchAlignment=O&&O!==\"auto\"?O:this._rotationAlignment,this._update(),this},z.prototype.getPitchAlignment=function(){return this._pitchAlignment},z}(i.Evented),Oa={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},_o;function Po(Y){_o!==void 0?Y(_o):i.window.navigator.permissions!==void 0?i.window.navigator.permissions.query({name:\"geolocation\"}).then(function(z){_o=z.state!==\"denied\",Y(_o)}):(_o=!!i.window.navigator.geolocation,Y(_o))}var Jo=0,Yl=!1,$c=function(Y){function z(K){Y.call(this),this.options=i.extend({},Oa,K),i.bindAll([\"_onSuccess\",\"_onError\",\"_onZoom\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\"],this)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.onAdd=function(O){return this._map=O,this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),Po(this._setupUI),this._container},z.prototype.onRemove=function(){this._geolocationWatchID!==void 0&&(i.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,Jo=0,Yl=!1},z.prototype._isOutOfMapMaxBounds=function(O){var $=this._map.getMaxBounds(),pe=O.coords;return $&&(pe.longitude<$.getWest()||pe.longitude>$.getEast()||pe.latitude<$.getSouth()||pe.latitude>$.getNorth())},z.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\");break}},z.prototype._onSuccess=function(O){if(this._map){if(this._isOutOfMapMaxBounds(O)){this._setErrorState(),this.fire(new i.Event(\"outofmaxbounds\",O)),this._updateMarker(),this._finish();return}if(this.options.trackUserLocation)switch(this._lastKnownPosition=O,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\");break}this.options.showUserLocation&&this._watchState!==\"OFF\"&&this._updateMarker(O),(!this.options.trackUserLocation||this._watchState===\"ACTIVE_LOCK\")&&this._updateCamera(O),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(new i.Event(\"geolocate\",O)),this._finish()}},z.prototype._updateCamera=function(O){var $=new i.LngLat(O.coords.longitude,O.coords.latitude),pe=O.coords.accuracy,de=this._map.getBearing(),Ie=i.extend({bearing:de},this.options.fitBoundsOptions);this._map.fitBounds($.toBounds(pe),Ie,{geolocateSource:!0})},z.prototype._updateMarker=function(O){if(O){var $=new i.LngLat(O.coords.longitude,O.coords.latitude);this._accuracyCircleMarker.setLngLat($).addTo(this._map),this._userLocationDotMarker.setLngLat($).addTo(this._map),this._accuracy=O.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},z.prototype._updateCircleRadius=function(){var O=this._map._container.clientHeight/2,$=this._map.unproject([0,O]),pe=this._map.unproject([1,O]),de=$.distanceTo(pe),Ie=Math.ceil(2*this._accuracy/de);this._circleElement.style.width=Ie+\"px\",this._circleElement.style.height=Ie+\"px\"},z.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},z.prototype._onError=function(O){if(this._map){if(this.options.trackUserLocation)if(O.code===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._geolocateButton.disabled=!0;var $=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=$,this._geolocateButton.setAttribute(\"aria-label\",$),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(O.code===3&&Yl)return;this._setErrorState()}this._watchState!==\"OFF\"&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(new i.Event(\"error\",O)),this._finish()}},z.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},z.prototype._setupUI=function(O){var $=this;if(this._container.addEventListener(\"contextmenu\",function(Ie){return Ie.preventDefault()}),this._geolocateButton=o.create(\"button\",\"mapboxgl-ctrl-geolocate\",this._container),o.create(\"span\",\"mapboxgl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",!0),this._geolocateButton.type=\"button\",O===!1){i.warnOnce(\"Geolocation support is not available so the GeolocateControl will be disabled.\");var pe=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=pe,this._geolocateButton.setAttribute(\"aria-label\",pe)}else{var de=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=de,this._geolocateButton.setAttribute(\"aria-label\",de)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=o.create(\"div\",\"mapboxgl-user-location-dot\"),this._userLocationDotMarker=new Jn(this._dotElement),this._circleElement=o.create(\"div\",\"mapboxgl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Jn({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(Ie){var $e=Ie.originalEvent&&Ie.originalEvent.type===\"resize\";!Ie.geolocateSource&&$._watchState===\"ACTIVE_LOCK\"&&!$e&&($._watchState=\"BACKGROUND\",$._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),$._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),$.fire(new i.Event(\"trackuserlocationend\")))})},z.prototype.trigger=function(){if(!this._setup)return i.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 i.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":Jo--,Yl=!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 i.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 i.Event(\"trackuserlocationstart\"));break}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\");break}if(this._watchState===\"OFF\"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),Jo++;var O;Jo>1?(O={maximumAge:6e5,timeout:0},Yl=!0):(O=this.options.positionOptions,Yl=!1),this._geolocationWatchID=i.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,O)}}else i.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},z.prototype._clearWatch=function(){i.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)},z}(i.Evented),xs={maxWidth:100,unit:\"metric\"},Qc=function(z){this.options=i.extend({},xs,z),i.bindAll([\"_onMove\",\"setUnit\"],this)};Qc.prototype.getDefaultPosition=function(){return\"bottom-left\"},Qc.prototype._onMove=function(){El(this._map,this._container,this.options)},Qc.prototype.onAdd=function(z){return this._map=z,this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",z.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},Qc.prototype.onRemove=function(){o.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},Qc.prototype.setUnit=function(z){this.options.unit=z,El(this._map,this._container,this.options)};function El(Y,z,K){var O=K&&K.maxWidth||100,$=Y._container.clientHeight/2,pe=Y.unproject([0,$]),de=Y.unproject([O,$]),Ie=pe.distanceTo(de);if(K&&K.unit===\"imperial\"){var $e=3.2808*Ie;if($e>5280){var pt=$e/5280;bc(z,O,pt,Y._getUIString(\"ScaleControl.Miles\"))}else bc(z,O,$e,Y._getUIString(\"ScaleControl.Feet\"))}else if(K&&K.unit===\"nautical\"){var Kt=Ie/1852;bc(z,O,Kt,Y._getUIString(\"ScaleControl.NauticalMiles\"))}else Ie>=1e3?bc(z,O,Ie/1e3,Y._getUIString(\"ScaleControl.Kilometers\")):bc(z,O,Ie,Y._getUIString(\"ScaleControl.Meters\"))}function bc(Y,z,K,O){var $=yf(K),pe=$/K;Y.style.width=z*pe+\"px\",Y.innerHTML=$+\" \"+O}function wc(Y){var z=Math.pow(10,Math.ceil(-Math.log(Y)/Math.LN10));return Math.round(Y*z)/z}function yf(Y){var z=Math.pow(10,(\"\"+Math.floor(Y)).length-1),K=Y/z;return K=K>=10?10:K>=5?5:K>=3?3:K>=2?2:K>=1?1:wc(K),z*K}var Gl=function(z){this._fullscreen=!1,z&&z.container&&(z.container instanceof i.window.HTMLElement?this._container=z.container:i.warnOnce(\"Full screen control 'container' must be a DOM element.\")),i.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in i.window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in i.window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in i.window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in i.window.document&&(this._fullscreenchange=\"MSFullscreenChange\")};Gl.prototype.onAdd=function(z){return this._map=z,this._container||(this._container=this._map.getContainer()),this._controlContainer=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display=\"none\",i.warnOnce(\"This device does not support fullscreen mode.\")),this._controlContainer},Gl.prototype.onRemove=function(){o.remove(this._controlContainer),this._map=null,i.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Gl.prototype._checkFullscreenSupport=function(){return!!(i.window.document.fullscreenEnabled||i.window.document.mozFullScreenEnabled||i.window.document.msFullscreenEnabled||i.window.document.webkitFullscreenEnabled)},Gl.prototype._setupUI=function(){var z=this._fullscreenButton=o.create(\"button\",\"mapboxgl-ctrl-fullscreen\",this._controlContainer);o.create(\"span\",\"mapboxgl-ctrl-icon\",z).setAttribute(\"aria-hidden\",!0),z.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),i.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},Gl.prototype._updateTitle=function(){var z=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",z),this._fullscreenButton.title=z},Gl.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")},Gl.prototype._isFullscreen=function(){return this._fullscreen},Gl.prototype._changeIcon=function(){var z=i.window.document.fullscreenElement||i.window.document.mozFullScreenElement||i.window.document.webkitFullscreenElement||i.window.document.msFullscreenElement;z===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-fullscreen\"),this._updateTitle())},Gl.prototype._onClickFullscreen=function(){this._isFullscreen()?i.window.document.exitFullscreen?i.window.document.exitFullscreen():i.window.document.mozCancelFullScreen?i.window.document.mozCancelFullScreen():i.window.document.msExitFullscreen?i.window.document.msExitFullscreen():i.window.document.webkitCancelFullScreen&&i.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 Fc={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\"},ef=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \"),ls=function(Y){function z(K){Y.call(this),this.options=i.extend(Object.create(Fc),K),i.bindAll([\"_update\",\"_onClose\",\"remove\",\"_onMouseMove\",\"_onMouseUp\",\"_onDrag\"],this)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.addTo=function(O){return this._map&&this.remove(),this._map=O,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 i.Event(\"open\")),this},z.prototype.isOpen=function(){return!!this._map},z.prototype.remove=function(){return 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),delete this._map),this.fire(new i.Event(\"close\")),this},z.prototype.getLngLat=function(){return this._lngLat},z.prototype.setLngLat=function(O){return this._lngLat=i.LngLat.convert(O),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},z.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},z.prototype.getElement=function(){return this._container},z.prototype.setText=function(O){return this.setDOMContent(i.window.document.createTextNode(O))},z.prototype.setHTML=function(O){var $=i.window.document.createDocumentFragment(),pe=i.window.document.createElement(\"body\"),de;for(pe.innerHTML=O;de=pe.firstChild,!!de;)$.appendChild(de);return this.setDOMContent($)},z.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},z.prototype.setMaxWidth=function(O){return this.options.maxWidth=O,this._update(),this},z.prototype.setDOMContent=function(O){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=o.create(\"div\",\"mapboxgl-popup-content\",this._container);return this._content.appendChild(O),this._createCloseButton(),this._update(),this._focusFirstElement(),this},z.prototype.addClassName=function(O){this._container&&this._container.classList.add(O)},z.prototype.removeClassName=function(O){this._container&&this._container.classList.remove(O)},z.prototype.setOffset=function(O){return this.options.offset=O,this._update(),this},z.prototype.toggleClassName=function(O){if(this._container)return this._container.classList.toggle(O)},z.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=o.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))},z.prototype._onMouseUp=function(O){this._update(O.point)},z.prototype._onMouseMove=function(O){this._update(O.point)},z.prototype._onDrag=function(O){this._update(O.point)},z.prototype._update=function(O){var $=this,pe=this._lngLat||this._trackPointer;if(!(!this._map||!pe||!this._content)&&(this._container||(this._container=o.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=o.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(\" \").forEach(function(vt){return $._container.classList.add(vt)}),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=ma(this._lngLat,this._pos,this._map.transform)),!(this._trackPointer&&!O))){var de=this._pos=this._trackPointer&&O?O:this._map.project(this._lngLat),Ie=this.options.anchor,$e=_f(this.options.offset);if(!Ie){var pt=this._container.offsetWidth,Kt=this._container.offsetHeight,ir;de.y+$e.bottom.y<Kt?ir=[\"top\"]:de.y>this._map.transform.height-Kt?ir=[\"bottom\"]:ir=[],de.x<pt/2?ir.push(\"left\"):de.x>this._map.transform.width-pt/2&&ir.push(\"right\"),ir.length===0?Ie=\"bottom\":Ie=ir.join(\"-\")}var Jt=de.add($e[Ie]).round();o.setTransform(this._container,ro[Ie]+\" translate(\"+Jt.x+\"px,\"+Jt.y+\"px)\"),Ao(this._container,Ie,\"popup\")}},z.prototype._focusFirstElement=function(){if(!(!this.options.focusAfterOpen||!this._container)){var O=this._container.querySelector(ef);O&&O.focus()}},z.prototype._onClose=function(){this.remove()},z}(i.Evented);function _f(Y){if(Y)if(typeof Y==\"number\"){var z=Math.round(Math.sqrt(.5*Math.pow(Y,2)));return{center:new i.Point(0,0),top:new i.Point(0,Y),\"top-left\":new i.Point(z,z),\"top-right\":new i.Point(-z,z),bottom:new i.Point(0,-Y),\"bottom-left\":new i.Point(z,-z),\"bottom-right\":new i.Point(-z,-z),left:new i.Point(Y,0),right:new i.Point(-Y,0)}}else if(Y instanceof i.Point||Array.isArray(Y)){var K=i.Point.convert(Y);return{center:K,top:K,\"top-left\":K,\"top-right\":K,bottom:K,\"bottom-left\":K,\"bottom-right\":K,left:K,right:K}}else return{center:i.Point.convert(Y.center||[0,0]),top:i.Point.convert(Y.top||[0,0]),\"top-left\":i.Point.convert(Y[\"top-left\"]||[0,0]),\"top-right\":i.Point.convert(Y[\"top-right\"]||[0,0]),bottom:i.Point.convert(Y.bottom||[0,0]),\"bottom-left\":i.Point.convert(Y[\"bottom-left\"]||[0,0]),\"bottom-right\":i.Point.convert(Y[\"bottom-right\"]||[0,0]),left:i.Point.convert(Y.left||[0,0]),right:i.Point.convert(Y.right||[0,0])};else return _f(new i.Point(0,0))}var ns={version:i.version,supported:a,setRTLTextPlugin:i.setRTLTextPlugin,getRTLTextPluginStatus:i.getRTLTextPluginStatus,Map:vn,NavigationControl:Xn,GeolocateControl:$c,AttributionControl:Rn,ScaleControl:Qc,FullscreenControl:Gl,Popup:ls,Marker:Jn,Style:mu,LngLat:i.LngLat,LngLatBounds:i.LngLatBounds,Point:i.Point,MercatorCoordinate:i.MercatorCoordinate,Evented:i.Evented,config:i.config,prewarm:jn,clearPrewarmedResources:la,get accessToken(){return i.config.ACCESS_TOKEN},set accessToken(Y){i.config.ACCESS_TOKEN=Y},get baseApiUrl(){return i.config.API_URL},set baseApiUrl(Y){i.config.API_URL=Y},get workerCount(){return Pi.workerCount},set workerCount(Y){Pi.workerCount=Y},get maxParallelImageRequests(){return i.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(Y){i.config.MAX_PARALLEL_IMAGE_REQUESTS=Y},clearStorage:function(z){i.clearTileCache(z)},workerUrl:\"\"};return ns}),r})});var JUe=ye((Byr,KUe)=>{\"use strict\";var tw=Mr(),CHt=Pl().sanitizeHTML,LHt=HK(),ZUe=c1();function XUe(e,t){this.subplot=e,this.uid=e.uid+\"-\"+t,this.index=t,this.idSource=\"source-\"+this.uid,this.idLayer=ZUe.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var ig=XUe.prototype;ig.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=WF(t)};ig.needsNewImage=function(e){var t=this.subplot.map;return t.getSource(this.idSource)&&this.sourceType===\"image\"&&e.sourcetype===\"image\"&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))};ig.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type};ig.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]};ig.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]};ig.updateImage=function(e){var t=this.subplot.map;t.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var r=this.findFollowingMapboxLayerId(this.lookupBelow());r!==null&&this.subplot.map.moveLayer(this.idLayer,r)};ig.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,!!WF(e)){var r=PHt(e);t.addSource(this.idSource,r)}};ig.findFollowingMapboxLayerId=function(e){if(e===\"traces\")for(var t=this.subplot.getMapLayers(),r=0;r<t.length;r++){var n=t[r].id;if(typeof n==\"string\"&&n.indexOf(ZUe.traceLayerPrefix)===0){e=n;break}}return e};ig.updateLayer=function(e){var t=this.subplot,r=YUe(e),n=this.lookupBelow(),i=this.findFollowingMapboxLayerId(n);this.removeLayer(),WF(e)&&t.addLayer({id:this.idLayer,source:this.idSource,\"source-layer\":e.sourcelayer||\"\",type:e.type,minzoom:e.minzoom,maxzoom:e.maxzoom,layout:r.layout,paint:r.paint},i),this.layerType=e.type,this.below=n};ig.updateStyle=function(e){if(WF(e)){var t=YUe(e);this.subplot.setOptions(this.idLayer,\"setLayoutProperty\",t.layout),this.subplot.setOptions(this.idLayer,\"setPaintProperty\",t.paint)}};ig.removeLayer=function(){var e=this.subplot.map;e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer)};ig.dispose=function(){var e=this.subplot.map;e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer),e.getSource(this.idSource)&&e.removeSource(this.idSource)};function WF(e){if(!e.visible)return!1;var t=e.source;if(Array.isArray(t)&&t.length>0){for(var r=0;r<t.length;r++)if(typeof t[r]!=\"string\"||t[r].length===0)return!1;return!0}return tw.isPlainObject(t)||typeof t==\"string\"&&t.length>0}function YUe(e){var t={},r={};switch(e.type){case\"circle\":tw.extendFlat(r,{\"circle-radius\":e.circle.radius,\"circle-color\":e.color,\"circle-opacity\":e.opacity});break;case\"line\":tw.extendFlat(r,{\"line-width\":e.line.width,\"line-color\":e.color,\"line-opacity\":e.opacity,\"line-dasharray\":e.line.dash});break;case\"fill\":tw.extendFlat(r,{\"fill-color\":e.color,\"fill-outline-color\":e.fill.outlinecolor,\"fill-opacity\":e.opacity});break;case\"symbol\":var n=e.symbol,i=LHt(n.textposition,n.iconsize);tw.extendFlat(t,{\"icon-image\":n.icon+\"-15\",\"icon-size\":n.iconsize/10,\"text-field\":n.text,\"text-size\":n.textfont.size,\"text-anchor\":i.anchor,\"text-offset\":i.offset,\"symbol-placement\":n.placement}),tw.extendFlat(r,{\"icon-color\":e.color,\"text-color\":n.textfont.color,\"text-opacity\":e.opacity});break;case\"raster\":tw.extendFlat(r,{\"raster-fade-duration\":0,\"raster-opacity\":e.opacity});break}return{layout:t,paint:r}}function PHt(e){var t=e.sourcetype,r=e.source,n={type:t},i;return t===\"geojson\"?i=\"data\":t===\"vector\"?i=typeof r==\"string\"?\"url\":\"tiles\":t===\"raster\"?(i=\"tiles\",n.tileSize=256):t===\"image\"&&(i=\"url\",n.coordinates=e.coordinates),n[i]=r,e.sourceattribution&&(n.attribution=CHt(e.sourceattribution)),n}KUe.exports=function(t,r,n){var i=new XUe(t,r);return i.update(n),i}});var oVe=ye((Nyr,aVe)=>{\"use strict\";var KK=YK(),JK=Mr(),tVe=nx(),$Ue=ba(),IHt=Qa(),RHt=gv(),ZF=Nc(),rVe=Sg(),DHt=rVe.drawMode,zHt=rVe.selectMode,FHt=wf().prepSelect,qHt=wf().clearOutline,OHt=wf().clearSelectionsCache,BHt=wf().selectOnClick,_x=c1(),NHt=JUe();function iVe(e,t){this.id=t,this.gd=e;var r=e._fullLayout,n=e._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+\"-\"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var Ah=iVe.prototype;Ah.plot=function(e,t,r){var n=this,i=t[n.id];n.map&&i.accesstoken!==n.accessToken&&(n.map.remove(),n.map=null,n.styleObj=null,n.traceHash={},n.layerList=[]);var a;n.map?a=new Promise(function(o,s){n.updateMap(e,t,o,s)}):a=new Promise(function(o,s){n.createMap(e,t,o,s)}),r.push(a)};Ah.createMap=function(e,t,r,n){var i=this,a=t[i.id],o=i.styleObj=nVe(a.style,t);i.accessToken=a.accesstoken;var s=a.bounds,l=s?[[s.west,s.south],[s.east,s.north]]:null,u=i.map=new KK.Map({container:i.div,style:o.style,center:$K(a.center),zoom:a.zoom,bearing:a.bearing,pitch:a.pitch,maxBounds:l,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new KK.AttributionControl({compact:!0}));u._canvas.style.left=\"0px\",u._canvas.style.top=\"0px\",i.rejectOnError(n),i.isStatic||i.initFx(e,t);var c=[];c.push(new Promise(function(f){u.once(\"load\",f)})),c=c.concat(tVe.fetchTraceGeoData(e)),Promise.all(c).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Ah.updateMap=function(e,t,r,n){var i=this,a=i.map,o=t[this.id];i.rejectOnError(n);var s=[],l=nVe(o.style,t);JSON.stringify(i.styleObj)!==JSON.stringify(l)&&(i.styleObj=l,a.setStyle(l.style),i.traceHash={},s.push(new Promise(function(u){a.once(\"styledata\",u)}))),s=s.concat(tVe.fetchTraceGeoData(e)),Promise.all(s).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Ah.fillBelowLookup=function(e,t){var r=t[this.id],n=r.layers,i,a,o=this.belowLookup={},s=!1;for(i=0;i<e.length;i++){var l=e[i][0].trace,u=l._module;typeof l.below==\"string\"?a=l.below:u.getBelow&&(a=u.getBelow(l,this)),a===\"\"&&(s=!0),o[\"trace-\"+l.uid]=a||\"\"}for(i=0;i<n.length;i++){var c=n[i];typeof c.below==\"string\"?a=c.below:s?a=\"traces\":a=\"\",o[\"layout-\"+i]=a}var f={},h,d;for(h in o)a=o[h],f[a]?f[a].push(h):f[a]=[h];for(a in f){var v=f[a];if(v.length>1)for(i=0;i<v.length;i++)h=v[i],h.indexOf(\"trace-\")===0?(d=h.split(\"trace-\")[1],this.traceHash[d]&&(this.traceHash[d].below=null)):h.indexOf(\"layout-\")===0&&(d=h.split(\"layout-\")[1],this.layerList[d]&&(this.layerList[d].below=null))}};var QUe={choroplethmapbox:0,densitymapbox:1,scattermapbox:2};Ah.updateData=function(e){var t=this.traceHash,r,n,i,a,o=e.slice().sort(function(f,h){return QUe[f[0].trace.type]-QUe[h[0].trace.type]});for(i=0;i<o.length;i++){var s=o[i];n=s[0].trace,r=t[n.uid];var l=!1;r&&(r.type===n.type?(r.update(s),l=!0):r.dispose()),!l&&n._module&&(t[n.uid]=n._module.plot(this,s))}var u=Object.keys(t);e:for(i=0;i<u.length;i++){var c=u[i];for(a=0;a<e.length;a++)if(n=e[a][0].trace,c===n.uid)continue e;r=t[c],r.dispose(),delete t[c]}};Ah.updateLayout=function(e){var t=this.map,r=e[this.id];!this.dragging&&!this.wheeling&&(t.setCenter($K(r.center)),t.setZoom(r.zoom),t.setBearing(r.bearing),t.setPitch(r.pitch)),this.updateLayers(e),this.updateFramework(e),this.updateFx(e),this.map.resize(),this.gd._context._scrollZoom.mapbox?t.scrollZoom.enable():t.scrollZoom.disable()};Ah.resolveOnRender=function(e){var t=this.map;t.on(\"render\",function r(){t.loaded()&&(t.off(\"render\",r),setTimeout(e,10))})};Ah.rejectOnError=function(e){var t=this.map;function r(){e(new Error(_x.mapOnErrorMsg))}t.once(\"error\",r),t.once(\"style.error\",r),t.once(\"source.error\",r),t.once(\"tile.error\",r),t.once(\"layer.error\",r)};Ah.createFramework=function(e){var t=this,r=t.div=document.createElement(\"div\");r.id=t.uid,r.style.position=\"absolute\",t.container.appendChild(r),t.xaxis={_id:\"x\",c2p:function(n){return t.project(n).x}},t.yaxis={_id:\"y\",c2p:function(n){return t.project(n).y}},t.updateFramework(e),t.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},IHt.setConvert(t.mockAxis,e)};Ah.initFx=function(e,t){var r=this,n=r.gd,i=r.map;i.on(\"moveend\",function(s){if(r.map){var l=n._fullLayout;if(s.originalEvent||r.wheeling){var u=l[r.id];$Ue.call(\"_storeDirectGUIEdit\",n.layout,l._preGUI,r.getViewEdits(u));var c=r.getView();u._input.center=u.center=c.center,u._input.zoom=u.zoom=c.zoom,u._input.bearing=u.bearing=c.bearing,u._input.pitch=u.pitch=c.pitch,n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(c))}s.originalEvent&&s.originalEvent.type===\"mouseup\"?r.dragging=!1:r.wheeling&&(r.wheeling=!1),l._rehover&&l._rehover()}}),i.on(\"wheel\",function(){r.wheeling=!0}),i.on(\"mousemove\",function(s){var l=r.div.getBoundingClientRect(),u=[s.originalEvent.offsetX,s.originalEvent.offsetY];s.target.getBoundingClientRect=function(){return l},r.xaxis.p2c=function(){return i.unproject(u).lng},r.yaxis.p2c=function(){return i.unproject(u).lat},n._fullLayout._rehover=function(){n._fullLayout._hoversubplot===r.id&&n._fullLayout[r.id]&&ZF.hover(n,s,r.id)},ZF.hover(n,s,r.id),n._fullLayout._hoversubplot=r.id});function a(){ZF.loneUnhover(t._hoverlayer)}i.on(\"dragstart\",function(){r.dragging=!0,a()}),i.on(\"zoomstart\",a),i.on(\"mouseout\",function(){n._fullLayout._hoversubplot=null});function o(){var s=r.getView();n.emit(\"plotly_relayouting\",r.getViewEditsWithDerived(s))}i.on(\"drag\",o),i.on(\"zoom\",o),i.on(\"dblclick\",function(){var s=n._fullLayout[r.id];$Ue.call(\"_storeDirectGUIEdit\",n.layout,n._fullLayout._preGUI,r.getViewEdits(s));var l=r.viewInitial;i.setCenter($K(l.center)),i.setZoom(l.zoom),i.setBearing(l.bearing),i.setPitch(l.pitch);var u=r.getView();s._input.center=s.center=u.center,s._input.zoom=s.zoom=u.zoom,s._input.bearing=s.bearing=u.bearing,s._input.pitch=s.pitch=u.pitch,n.emit(\"plotly_doubleclick\",null),n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(u))}),r.clearOutline=function(){OHt(r.dragOptions),qHt(r.dragOptions.gd)},r.onClickInPanFn=function(s){return function(l){var u=n._fullLayout.clickmode;u.indexOf(\"select\")>-1&&BHt(l.originalEvent,n,[r.xaxis],[r.yaxis],r.id,s),u.indexOf(\"event\")>-1&&ZF.click(n,l.originalEvent)}}};Ah.updateFx=function(e){var t=this,r=t.map,n=t.gd;if(t.isStatic)return;function i(l){var u=t.map.unproject(l);return[u.lng,u.lat]}var a=e.dragmode,o;o=function(l,u){if(u.isRect){var c=l.range={};c[t.id]=[i([u.xmin,u.ymin]),i([u.xmax,u.ymax])]}else{var f=l.lassoPoints={};f[t.id]=u.map(i)}};var s=t.dragOptions;t.dragOptions=JK.extendDeep(s||{},{dragmode:e.dragmode,element:t.div,gd:n,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:o},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off(\"click\",t.onClickInPanHandler),zHt(a)||DHt(a)?(r.dragPan.disable(),r.on(\"zoomstart\",t.clearOutline),t.dragOptions.prepFn=function(l,u,c){FHt(l,u,c,t.dragOptions,a)},RHt.init(t.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener(\"touchstart\",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on(\"click\",t.onClickInPanHandler))};Ah.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+\"px\",n.height=r.h*(t.y[1]-t.y[0])+\"px\",n.left=r.l+t.x[0]*r.w+\"px\",n.top=r.t+(1-t.y[1])*r.h+\"px\",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])};Ah.updateLayers=function(e){var t=e[this.id],r=t.layers,n=this.layerList,i;if(r.length!==n.length){for(i=0;i<n.length;i++)n[i].dispose();for(n=this.layerList=[],i=0;i<r.length;i++)n.push(NHt(this,i,r[i]))}else for(i=0;i<r.length;i++)n[i].update(r[i])};Ah.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))};Ah.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()};Ah.setOptions=function(e,t,r){for(var n in r)this.map[t](e,n,r[n])};Ah.getMapLayers=function(){return this.map.getStyle().layers};Ah.addLayer=function(e,t){var r=this.map;if(typeof t==\"string\"){if(t===\"\"){r.addLayer(e,t);return}for(var n=this.getMapLayers(),i=0;i<n.length;i++)if(t===n[i].id){r.addLayer(e,t);return}JK.warn([\"Trying to add layer with *below* value\",t,\"referencing a layer that does not exist\",\"or that does not yet exist.\"].join(\" \"))}r.addLayer(e)};Ah.project=function(e){return this.map.project(new KK.LngLat(e[0],e[1]))};Ah.getView=function(){var e=this.map,t=e.getCenter(),r=t.lng,n=t.lat,i={lon:r,lat:n},a=e.getCanvas(),o=parseInt(a.style.width),s=parseInt(a.style.height);return{center:i,zoom:e.getZoom(),bearing:e.getBearing(),pitch:e.getPitch(),_derived:{coordinates:[e.unproject([0,0]).toArray(),e.unproject([o,0]).toArray(),e.unproject([o,s]).toArray(),e.unproject([0,s]).toArray()]}}};Ah.getViewEdits=function(e){for(var t=this.id,r=[\"center\",\"zoom\",\"bearing\",\"pitch\"],n={},i=0;i<r.length;i++){var a=r[i];n[t+\".\"+a]=e[a]}return n};Ah.getViewEditsWithDerived=function(e){var t=this.id,r=this.getViewEdits(e);return r[t+\"._derived\"]=e._derived,r};function nVe(e,t){var r={};if(JK.isPlainObject(e))r.id=e.id,r.style=e;else if(typeof e==\"string\")if(r.id=e,_x.styleValuesMapbox.indexOf(e)!==-1)r.style=eVe(e);else if(_x.stylesNonMapbox[e]){r.style=_x.stylesNonMapbox[e];var n=r.style.sources[\"plotly-\"+e],i=n?n.tiles:void 0;i&&i[0]&&i[0].slice(-9)===\"?api_key=\"&&(i[0]+=t._mapboxAccessToken)}else r.style=e;else r.id=_x.styleValueDflt,r.style=eVe(_x.styleValueDflt);return r.transition={duration:0,delay:0},r}function eVe(e){return _x.styleUrlPrefix+e+\"-\"+_x.styleUrlSuffix}function $K(e){return[e.lon,e.lat]}aVe.exports=iVe});var uVe=ye((Uyr,lVe)=>{\"use strict\";var QK=Mr(),UHt=C_(),VHt=Zd(),sVe=Rk();lVe.exports=function(t,r,n){UHt(t,r,n,{type:\"mapbox\",attributes:sVe,handleDefaults:HHt,partition:\"y\",accessToken:r._mapboxAccessToken})};function HHt(e,t,r,n){r(\"accesstoken\",n.accessToken),r(\"style\"),r(\"center.lon\"),r(\"center.lat\"),r(\"zoom\"),r(\"bearing\"),r(\"pitch\");var i=r(\"bounds.west\"),a=r(\"bounds.east\"),o=r(\"bounds.south\"),s=r(\"bounds.north\");(i===void 0||a===void 0||o===void 0||s===void 0)&&delete t.bounds,VHt(e,t,{name:\"layers\",handleItemDefaults:GHt}),t._input=e}function GHt(e,t){function r(l,u){return QK.coerce(e,t,sVe.layers,l,u)}var n=r(\"visible\");if(n){var i=r(\"sourcetype\"),a=i===\"raster\"||i===\"image\";r(\"source\"),r(\"sourceattribution\"),i===\"vector\"&&r(\"sourcelayer\"),i===\"image\"&&r(\"coordinates\");var o;a&&(o=\"raster\");var s=r(\"type\",o);a&&s!==\"raster\"&&(s=t.type=\"raster\",QK.log(\"Source types *raster* and *image* must drawn *raster* layer type.\")),r(\"below\"),r(\"color\"),r(\"opacity\"),r(\"minzoom\"),r(\"maxzoom\"),s===\"circle\"&&r(\"circle.radius\"),s===\"line\"&&(r(\"line.width\"),r(\"line.dash\")),s===\"fill\"&&r(\"fill.outlinecolor\"),s===\"symbol\"&&(r(\"symbol.icon\"),r(\"symbol.iconsize\"),r(\"symbol.text\"),QK.coerceFont(r,\"symbol.textfont\",void 0,{noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}),r(\"symbol.textposition\"),r(\"symbol.placement\"))}}});var XF=ye(Np=>{\"use strict\";var cVe=YK(),tm=Mr(),eJ=tm.strTranslate,jHt=tm.strScale,WHt=kd().getSubplotCalcData,ZHt=Zp(),XHt=xa(),fVe=ao(),YHt=Pl(),KHt=oVe(),xx=\"mapbox\",Qm=Np.constants=c1();Np.name=xx;Np.attr=\"subplot\";Np.idRoot=xx;Np.idRegex=Np.attrRegex=tm.counterRegex(xx);var JHt=[\"mapbox subplots and traces are deprecated!\",\"Please consider switching to `map` subplots and traces.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");Np.attributes={subplot:{valType:\"subplotid\",dflt:\"mapbox\",editType:\"calc\"}};Np.layoutAttributes=Rk();Np.supplyLayoutDefaults=uVe();var hVe=!0;Np.plot=function(t){hVe&&(hVe=!1,tm.warn(JHt));var r=t._fullLayout,n=t.calcdata,i=r._subplots[xx];if(cVe.version!==Qm.requiredVersion)throw new Error(Qm.wrongVersionErrorMsg);var a=$Ht(t,i);cVe.accessToken=a;for(var o=0;o<i.length;o++){var s=i[o],l=WHt(n,xx,s),u=r[s],c=u._subplot;c||(c=new KHt(t,s),r[s]._subplot=c),c.viewInitial||(c.viewInitial={center:tm.extendFlat({},u.center),zoom:u.zoom,bearing:u.bearing,pitch:u.pitch}),c.plot(l,r,t._promises)}};Np.clean=function(e,t,r,n){for(var i=n._subplots[xx]||[],a=0;a<i.length;a++){var o=i[a];!t[o]&&n[o]._subplot&&n[o]._subplot.destroy()}};Np.toSVG=function(e){for(var t=e._fullLayout,r=t._subplots[xx],n=t._size,i=0;i<r.length;i++){var a=t[r[i]],o=a.domain,s=a._subplot,l=s.toImage(\"png\"),u=t._glimages.append(\"svg:image\");u.attr({xmlns:ZHt.svg,\"xlink:href\":l,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"});var c=XHt.select(a._subplot.div),f=c.select(\".mapboxgl-ctrl-logo\").node().offsetParent===null;if(!f){var h=t._glimages.append(\"g\");h.attr(\"transform\",eJ(n.l+n.w*o.x[0]+10,n.t+n.h*(1-o.y[0])-31)),h.append(\"path\").attr(\"d\",Qm.mapboxLogo.path0).style({opacity:.9,fill:\"#ffffff\",\"enable-background\":\"new\"}),h.append(\"path\").attr(\"d\",Qm.mapboxLogo.path1).style(\"opacity\",.35).style(\"enable-background\",\"new\"),h.append(\"path\").attr(\"d\",Qm.mapboxLogo.path2).style(\"opacity\",.35).style(\"enable-background\",\"new\"),h.append(\"polygon\").attr(\"points\",Qm.mapboxLogo.polygon).style({opacity:.9,fill:\"#ffffff\",\"enable-background\":\"new\"})}var d=c.select(\".mapboxgl-ctrl-attrib\").text().replace(\"Improve this map\",\"\"),v=t._glimages.append(\"g\"),x=v.append(\"text\");x.text(d).classed(\"static-attribution\",!0).attr({\"font-size\":12,\"font-family\":\"Arial\",color:\"rgba(0, 0, 0, 0.75)\",\"text-anchor\":\"end\",\"data-unformatted\":d});var b=fVe.bBox(x.node()),p=n.w*(o.x[1]-o.x[0]);if(b.width>p/2){var E=d.split(\"|\").join(\"<br>\");x.text(E).attr(\"data-unformatted\",E).call(YHt.convertToTspans,e),b=fVe.bBox(x.node())}x.attr(\"transform\",eJ(-3,-b.height+8)),v.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>p&&(k=p/(b.width+6));var A=[n.l+n.w*o.x[1],n.t+n.h*(1-o.y[0])];v.attr(\"transform\",eJ(A[0],A[1])+jHt(k))}};function $Ht(e,t){var r=e._fullLayout,n=e._context;if(n.mapboxAccessToken===\"\")return\"\";for(var i=[],a=[],o=!1,s=!1,l=0;l<t.length;l++){var u=r[t[l]],c=u.accesstoken;dVe(u.style)&&(c?tm.pushUnique(i,c):(dVe(u._input.style)&&(tm.error(\"Uses Mapbox map style, but did not set an access token.\"),o=!0),s=!0)),c&&tm.pushUnique(a,c)}if(s){var f=o?Qm.noAccessTokenErrorMsg:Qm.missingStyleErrorMsg;throw tm.error(f),new Error(f)}return i.length?(i.length>1&&tm.warn(Qm.multipleTokensErrorMsg),i[0]):(a.length&&tm.log([\"Listed mapbox access token(s)\",a.join(\",\"),\"but did not use a Mapbox map style, ignoring token(s).\"].join(\" \")),\"\")}function dVe(e){return typeof e==\"string\"&&(Qm.styleValuesMapbox.indexOf(e)!==-1||e.indexOf(\"mapbox://\")===0||e.indexOf(\"stamen\")===0)}Np.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[xx],n=0;n<r.length;n++){var i=t[r[n]]._subplot;i.updateFx(t)}}});var pVe=ye((Gyr,vVe)=>{\"use strict\";var Hyr=[\"*scattermapbox* trace is deprecated!\",\"Please consider switching to the *scattermap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");vVe.exports={attributes:NF(),supplyDefaults:MUe(),colorbar:Kd(),formatLabels:VK(),calc:lz(),plot:NUe(),hoverPoints:jF().hoverPoints,eventData:GUe(),selectPoints:WUe(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.update(t)}},moduleType:\"trace\",name:\"scattermapbox\",basePlotModule:XF(),categories:[\"mapbox\",\"gl\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var mVe=ye((jyr,gVe)=>{\"use strict\";gVe.exports=pVe()});var tJ=ye((Wyr,yVe)=>{\"use strict\";var f1=K5(),QHt=Jl(),eGt=Wo().hovertemplateAttrs,tGt=vl(),bx=no().extendFlat;yVe.exports=bx({locations:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:bx({},f1.featureidkey,{}),below:{valType:\"string\",editType:\"plot\"},text:f1.text,hovertext:f1.hovertext,marker:{line:{color:bx({},f1.marker.line.color,{editType:\"plot\"}),width:bx({},f1.marker.line.width,{editType:\"plot\"}),editType:\"calc\"},opacity:bx({},f1.marker.opacity,{editType:\"plot\"}),editType:\"calc\"},selected:{marker:{opacity:bx({},f1.selected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:bx({},f1.unselected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},hoverinfo:f1.hoverinfo,hovertemplate:eGt({},{keys:[\"properties\"]}),showlegend:bx({},tGt.showlegend,{dflt:!1})},QHt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var xVe=ye((Zyr,_Ve)=>{\"use strict\";var qk=Mr(),rGt=Uh(),iGt=tJ();_Ve.exports=function(t,r,n,i){function a(c,f){return qk.coerce(t,r,iGt,c,f)}var o=a(\"locations\"),s=a(\"z\"),l=a(\"geojson\");if(!qk.isArrayOrTypedArray(o)||!o.length||!qk.isArrayOrTypedArray(s)||!s.length||!(typeof l==\"string\"&&l!==\"\"||qk.isPlainObject(l))){r.visible=!1;return}a(\"featureidkey\"),r._length=Math.min(o.length,s.length),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\");var u=a(\"marker.line.width\");u&&a(\"marker.line.color\"),a(\"marker.opacity\"),rGt(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),qk.coerceSelectionMarkerOpacity(r,a)}});var rJ=ye((Xyr,TVe)=>{\"use strict\";var nGt=uo(),h1=Mr(),aGt=Mu(),oGt=ao(),sGt=rx().makeBlank,bVe=nx();function lGt(e){var t=e[0].trace,r=t.visible===!0&&t._length!==0,n={layout:{visibility:\"none\"},paint:{}},i={layout:{visibility:\"none\"},paint:{}},a=t._opts={fill:n,line:i,geojson:sGt()};if(!r)return a;var o=bVe.extractTraceFeature(e);if(!o)return a;var s=aGt.makeColorScaleFuncFromTrace(t),l=t.marker,u=l.line||{},c;h1.isArrayOrTypedArray(l.opacity)&&(c=function(E){var k=E.mo;return nGt(k)?+h1.constrain(k,0,1):0});var f;h1.isArrayOrTypedArray(u.color)&&(f=function(E){return E.mlc});var h;h1.isArrayOrTypedArray(u.width)&&(h=function(E){return E.mlw});for(var d=0;d<e.length;d++){var v=e[d],x=v.fOut;if(x){var b=x.properties;b.fc=s(v.z),c&&(b.mo=c(v)),f&&(b.mlc=f(v)),h&&(b.mlw=h(v)),v.ct=b.ct,v._polygons=bVe.feature2polygons(x)}}var p=c?{type:\"identity\",property:\"mo\"}:l.opacity;return h1.extendFlat(n.paint,{\"fill-color\":{type:\"identity\",property:\"fc\"},\"fill-opacity\":p}),h1.extendFlat(i.paint,{\"line-color\":f?{type:\"identity\",property:\"mlc\"}:u.color,\"line-width\":h?{type:\"identity\",property:\"mlw\"}:u.width,\"line-opacity\":p}),n.layout.visibility=\"visible\",i.layout.visibility=\"visible\",a.geojson={type:\"FeatureCollection\",features:o},wVe(e),a}function wVe(e){var t=e[0].trace,r=t._opts,n;if(t.selectedpoints){for(var i=oGt.makeSelectedPointStyleFns(t),a=0;a<e.length;a++){var o=e[a];o.fOut&&(o.fOut.properties.mo2=i.selectedOpacityFn(o))}n={type:\"identity\",property:\"mo2\"}}else n=h1.isArrayOrTypedArray(t.marker.opacity)?{type:\"identity\",property:\"mo\"}:t.marker.opacity;return h1.extendFlat(r.fill.paint,{\"fill-opacity\":n}),h1.extendFlat(r.line.paint,{\"line-opacity\":n}),r}TVe.exports={convert:lGt,convertOnSelect:wVe}});var kVe=ye((Yyr,EVe)=>{\"use strict\";var SVe=rJ().convert,uGt=rJ().convertOnSelect,AVe=c1().traceLayerPrefix;function MVe(e,t){this.type=\"choroplethmapbox\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"fill\",AVe+t+\"-fill\"],[\"line\",AVe+t+\"-line\"]],this.below=null}var wA=MVe.prototype;wA.update=function(e){this._update(SVe(e)),e[0].trace._glTrace=this};wA.updateOnSelect=function(e){this._update(uGt(e))};wA._update=function(e){var t=this.subplot,r=this.layerList,n=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(e.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(e,n),this.below=n);for(var i=0;i<r.length;i++){var a=r[i],o=a[0],s=a[1],l=e[o];t.setOptions(s,\"setLayoutProperty\",l.layout),l.layout.visibility===\"visible\"&&t.setOptions(s,\"setPaintProperty\",l.paint)}};wA._addLayers=function(e,t){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=e[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},t)}};wA._removeLayers=function(){for(var e=this.subplot.map,t=this.layerList,r=t.length-1;r>=0;r--)e.removeLayer(t[r][1])};wA.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};EVe.exports=function(t,r){var n=r[0].trace,i=new MVe(t,n.uid),a=i.sourceId,o=SVe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),r[0].trace._glTrace=i,i}});var LVe=ye((Jyr,CVe)=>{\"use strict\";var Kyr=[\"*choroplethmapbox* trace is deprecated!\",\"Please consider switching to the *choroplethmap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");CVe.exports={attributes:tJ(),supplyDefaults:xVe(),colorbar:M_(),calc:Lz(),plot:kVe(),hoverPoints:Iz(),eventData:Rz(),selectPoints:Dz(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.updateOnSelect(t)}},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if(typeof i==\"string\"&&i.indexOf(\"water\")===0){for(var a=n+1;a<r.length;a++)if(i=r[a].id,typeof i==\"string\"&&i.indexOf(\"plotly-\")===-1)return i}}},moduleType:\"trace\",name:\"choroplethmapbox\",basePlotModule:XF(),categories:[\"mapbox\",\"gl\",\"noOpacity\",\"showLegend\"],meta:{hr_name:\"choropleth_mapbox\"}}});var IVe=ye(($yr,PVe)=>{\"use strict\";PVe.exports=LVe()});var nJ=ye((Qyr,DVe)=>{\"use strict\";var cGt=Jl(),fGt=Wo().hovertemplateAttrs,RVe=vl(),YF=NF(),iJ=no().extendFlat;DVe.exports=iJ({lon:YF.lon,lat:YF.lat,z:{valType:\"data_array\",editType:\"calc\"},radius:{valType:\"number\",editType:\"plot\",arrayOk:!0,min:1,dflt:30},below:{valType:\"string\",editType:\"plot\"},text:YF.text,hovertext:YF.hovertext,hoverinfo:iJ({},RVe.hoverinfo,{flags:[\"lon\",\"lat\",\"z\",\"text\",\"name\"]}),hovertemplate:fGt(),showlegend:iJ({},RVe.showlegend,{dflt:!1})},cGt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var FVe=ye((e1r,zVe)=>{\"use strict\";var hGt=Mr(),dGt=Uh(),vGt=nJ();zVe.exports=function(t,r,n,i){function a(u,c){return hGt.coerce(t,r,vGt,u,c)}var o=a(\"lon\")||[],s=a(\"lat\")||[],l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a(\"z\"),a(\"radius\"),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),dGt(t,r,i,a,{prefix:\"\",cLetter:\"z\"})}});var BVe=ye((t1r,OVe)=>{\"use strict\";var aJ=uo(),pGt=Mr().isArrayOrTypedArray,oJ=es().BADNUM,gGt=zv(),qVe=Mr()._;OVe.exports=function(t,r){for(var n=r._length,i=new Array(n),a=r.z,o=pGt(a)&&a.length,s=0;s<n;s++){var l=i[s]={},u=r.lon[s],c=r.lat[s];if(l.lonlat=aJ(u)&&aJ(c)?[+u,+c]:[oJ,oJ],o){var f=a[s];l.z=aJ(f)?f:oJ}}return gGt(t,r,{vals:o?a:[0,1],containerStr:\"\",cLetter:\"z\"}),n&&(i[0].t={labels:{lat:qVe(t,\"lat:\")+\" \",lon:qVe(t,\"lon:\")+\" \"}}),i}});var GVe=ye((r1r,HVe)=>{\"use strict\";var mGt=uo(),sJ=Mr(),NVe=va(),UVe=Mu(),VVe=es().BADNUM,yGt=rx().makeBlank;HVe.exports=function(t){var r=t[0].trace,n=r.visible===!0&&r._length!==0,i={layout:{visibility:\"none\"},paint:{}},a=r._opts={heatmap:i,geojson:yGt()};if(!n)return a;var o=[],s,l=r.z,u=r.radius,c=sJ.isArrayOrTypedArray(l)&&l.length,f=sJ.isArrayOrTypedArray(u);for(s=0;s<t.length;s++){var h=t[s],d=h.lonlat;if(d[0]!==VVe){var v={};if(c){var x=h.z;v.z=x!==VVe?x:0}f&&(v.r=mGt(u[s])&&u[s]>0?+u[s]:0),o.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:d},properties:v})}}var b=UVe.extractOpts(r),p=b.reversescale?UVe.flipScale(b.colorscale):b.colorscale,E=p[0][1],k=NVe.opacity(E)<1?E:NVe.addOpacity(E,0),A=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,k];for(s=1;s<p.length;s++)A.push(p[s][0],p[s][1]);var L=[\"interpolate\",[\"linear\"],[\"get\",\"z\"],b.min,0,b.max,1];return sJ.extendFlat(a.heatmap.paint,{\"heatmap-weight\":c?L:1/(b.max-b.min),\"heatmap-color\":A,\"heatmap-radius\":f?{type:\"identity\",property:\"r\"}:r.radius,\"heatmap-opacity\":r.opacity}),a.geojson={type:\"FeatureCollection\",features:o},a.heatmap.layout.visibility=\"visible\",a}});var XVe=ye((i1r,ZVe)=>{\"use strict\";var jVe=GVe(),_Gt=c1().traceLayerPrefix;function WVe(e,t){this.type=\"densitymapbox\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"heatmap\",_Gt+t+\"-heatmap\"]],this.below=null}var KF=WVe.prototype;KF.update=function(e){var t=this.subplot,r=this.layerList,n=jVe(e),i=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(n.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(n,i),this.below=i);for(var a=0;a<r.length;a++){var o=r[a],s=o[0],l=o[1],u=n[s];t.setOptions(l,\"setLayoutProperty\",u.layout),u.layout.visibility===\"visible\"&&t.setOptions(l,\"setPaintProperty\",u.paint)}};KF._addLayers=function(e,t){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=e[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},t)}};KF._removeLayers=function(){for(var e=this.subplot.map,t=this.layerList,r=t.length-1;r>=0;r--)e.removeLayer(t[r][1])};KF.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};ZVe.exports=function(t,r){var n=r[0].trace,i=new WVe(t,n.uid),a=i.sourceId,o=jVe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),i}});var KVe=ye((n1r,YVe)=>{\"use strict\";var xGt=Qa(),bGt=jF().hoverPoints,wGt=jF().getExtraText;YVe.exports=function(t,r,n){var i=bGt(t,r,n);if(i){var a=i[0],o=a.cd,s=o[0].trace,l=o[a.index];if(delete a.color,\"z\"in l){var u=a.subplot.mockAxis;a.z=l.z,a.zLabel=xGt.tickText(u,u.c2l(l.z),\"hover\").text}return a.extraText=wGt(s,l,o[0].t.labels),[a]}}});var $Ve=ye((a1r,JVe)=>{\"use strict\";JVe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t.z=r.z,t}});var eHe=ye((s1r,QVe)=>{\"use strict\";var o1r=[\"*densitymapbox* trace is deprecated!\",\"Please consider switching to the *densitymap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");QVe.exports={attributes:nJ(),supplyDefaults:FVe(),colorbar:M_(),formatLabels:VK(),calc:BVe(),plot:XVe(),hoverPoints:KVe(),eventData:$Ve(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n<r.length;n++){var i=r[n],a=i.id;if(i.type===\"symbol\"&&typeof a==\"string\"&&a.indexOf(\"plotly-\")===-1)return a}},moduleType:\"trace\",name:\"densitymapbox\",basePlotModule:XF(),categories:[\"mapbox\",\"gl\",\"showLegend\"],meta:{hr_name:\"density_mapbox\"}}});var rHe=ye((l1r,tHe)=>{\"use strict\";tHe.exports=eHe()});var nHe=ye((u1r,iHe)=>{iHe.exports={version:8,name:\"orto\",metadata:{\"maputnik:renderer\":\"mlgljs\"},center:[1.537786,41.837539],zoom:12,bearing:0,pitch:0,light:{anchor:\"viewport\",color:\"white\",intensity:.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 © <a href='http://www.esri.com'>ESRI</a>\"},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,.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,.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,.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,.8],[20,4]]},\"line-opacity\":.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,.9],[10,.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\":[.5,.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,.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,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.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\":[.5,.25],\"line-width\":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.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,.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,.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,.5],[20,18]]},\"line-opacity\":.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,.5],[20,18]]},\"line-opacity\":.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,.4],[15,.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,.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\":.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,.6]]},\"line-width\":{base:1.2,stops:[[7,0],[8,.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,.5]]},\"line-width\":{base:1.2,stops:[[5,0],[6,.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,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":{stops:[[4,0],[5,.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,.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\":.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,.5],[20,13]]},\"line-opacity\":.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,.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,.5],[20,18]]},\"line-opacity\":.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,.5],[20,18]]},\"line-opacity\":.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,.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\":[.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,.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\":[.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,.4],[15,.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\":[.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,.4],[6,.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,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.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,.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,.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,.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,.5],[20,18]]},\"line-opacity\":.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,.4],[15,.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\":[.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,.4],[5,1],[12,3]]},\"line-opacity\":.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,.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,.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,.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\":.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\":.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\":.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\":.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,.6],\"text-size\":12,\"text-max-width\":9},paint:{\"text-halo-blur\":.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,.6],\"text-size\":12,\"text-max-width\":9},paint:{\"text-halo-blur\":.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,.6],\"text-size\":11,\"text-max-width\":9},paint:{\"text-halo-blur\":.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,.6],\"text-size\":12,\"text-max-width\":9,\"icon-optional\":!1,\"icon-ignore-placement\":!1,\"icon-allow-overlap\":!1,\"text-ignore-placement\":!1,\"text-allow-overlap\":!1,\"text-optional\":!0},paint:{\"text-halo-blur\":.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,.5],[19,1]]}},paint:{\"icon-opacity\":.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,.5],[19,1]]}},paint:{\"icon-opacity\":.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\":.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\":.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\":.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\":.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\":.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\":[.4,0],\"icon-size\":.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\"}});var oHe=ye((c1r,aHe)=>{aHe.exports={version:8,name:\"orto\",metadata:{},center:[1.537786,41.837539],zoom:12,bearing:0,pitch:0,light:{anchor:\"viewport\",color:\"white\",intensity:.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 © <a href='http://www.esri.com'>ESRI</a>\"},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\"}}]}});var wx=ye((f1r,fHe)=>{\"use strict\";var TGt=Y1(),AGt=nHe(),SGt=oHe(),MGt='\\xA9 <a target=\"_blank\" href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors',sHe=\"https://basemaps.cartocdn.com/gl/positron-gl-style/style.json\",lHe=\"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json\",JF=\"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json\",EGt=\"https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json\",kGt=\"https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json\",CGt=\"https://basemaps.cartocdn.com/gl/voyager-nolabels-gl-style/style.json\",cHe={basic:JF,streets:JF,outdoors:JF,light:sHe,dark:lHe,satellite:SGt,\"satellite-streets\":AGt,\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:MGt,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\":sHe,\"carto-darkmatter\":lHe,\"carto-voyager\":JF,\"carto-positron-nolabels\":EGt,\"carto-darkmatter-nolabels\":kGt,\"carto-voyager-nolabels\":CGt},uHe=TGt(cHe);fHe.exports={styleValueDflt:\"basic\",stylesMap:cHe,styleValuesMap:uHe,traceLayerPrefix:\"plotly-trace-layer-\",layoutLayerPrefix:\"plotly-layout-layer-\",missingStyleErrorMsg:[\"No valid maplibre style found, please set `map.style` to one of:\",uHe.join(\", \"),\"or use a tile service.\"].join(`\n", - "`),mapOnErrorMsg:\"Map error.\"}});var Ok=ye((h1r,gHe)=>{\"use strict\";var hHe=Mr(),dHe=va().defaultLine,LGt=Ju().attributes,PGt=Su(),IGt=Uc().textposition,RGt=Bu().overrideAll,DGt=Vs().templatedArray,vHe=wx(),pHe=PGt({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});pHe.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\";var zGt=gHe.exports=RGt({_arrayAttrRegexps:[hHe.counterRegex(\"map\",\".layers\",!0)],domain:LGt({name:\"map\"}),style:{valType:\"any\",values:vHe.styleValuesMap,dflt:vHe.styleValueDflt},center:{lon:{valType:\"number\",dflt:0},lat:{valType:\"number\",dflt:0}},zoom:{valType:\"number\",dflt:1},bearing:{valType:\"number\",dflt:0},pitch:{valType:\"number\",dflt:0},bounds:{west:{valType:\"number\"},east:{valType:\"number\"},south:{valType:\"number\"},north:{valType:\"number\"}},layers:DGt(\"layer\",{visible:{valType:\"boolean\",dflt:!0},sourcetype:{valType:\"enumerated\",values:[\"geojson\",\"vector\",\"raster\",\"image\"],dflt:\"geojson\"},source:{valType:\"any\"},sourcelayer:{valType:\"string\",dflt:\"\"},sourceattribution:{valType:\"string\"},type:{valType:\"enumerated\",values:[\"circle\",\"line\",\"fill\",\"symbol\",\"raster\"],dflt:\"circle\"},coordinates:{valType:\"any\"},below:{valType:\"string\"},color:{valType:\"color\",dflt:dHe},opacity:{valType:\"number\",min:0,max:1,dflt:1},minzoom:{valType:\"number\",min:0,max:24,dflt:0},maxzoom:{valType:\"number\",min:0,max:24,dflt:24},circle:{radius:{valType:\"number\",dflt:15}},line:{width:{valType:\"number\",dflt:2},dash:{valType:\"data_array\"}},fill:{outlinecolor:{valType:\"color\",dflt:dHe}},symbol:{icon:{valType:\"string\",dflt:\"marker\"},iconsize:{valType:\"number\",dflt:10},text:{valType:\"string\",dflt:\"\"},placement:{valType:\"enumerated\",values:[\"point\",\"line\",\"line-center\"],dflt:\"point\"},textfont:pHe,textposition:hHe.extendFlat({},IGt,{arrayOk:!1})}})},\"plot\",\"from-root\");zGt.uirevision={valType:\"any\",editType:\"none\"}});var $F=ye((d1r,_He)=>{\"use strict\";var FGt=Wo().hovertemplateAttrs,qGt=Wo().texttemplateAttrs,OGt=Eg(),Bk=H2(),TA=Uc(),mHe=Ok(),BGt=vl(),NGt=Jl(),rw=no().extendFlat,UGt=Bu().overrideAll,VGt=Ok(),yHe=Bk.line,AA=Bk.marker;_He.exports=UGt({lon:Bk.lon,lat:Bk.lat,cluster:{enabled:{valType:\"boolean\"},maxzoom:rw({},VGt.layers.maxzoom,{}),step:{valType:\"number\",arrayOk:!0,dflt:-1,min:-1},size:{valType:\"number\",arrayOk:!0,dflt:20,min:0},color:{valType:\"color\",arrayOk:!0},opacity:rw({},AA.opacity,{dflt:1})},mode:rw({},TA.mode,{dflt:\"markers\"}),text:rw({},TA.text,{}),texttemplate:qGt({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"text\"]}),hovertext:rw({},TA.hovertext,{}),line:{color:yHe.color,width:yHe.width},connectgaps:TA.connectgaps,marker:rw({symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},angle:{valType:\"number\",dflt:\"auto\",arrayOk:!0},allowoverlap:{valType:\"boolean\",dflt:!1},opacity:AA.opacity,size:AA.size,sizeref:AA.sizeref,sizemin:AA.sizemin,sizemode:AA.sizemode},NGt(\"marker\")),fill:Bk.fill,fillcolor:OGt(),textfont:mHe.layers.symbol.textfont,textposition:mHe.layers.symbol.textposition,below:{valType:\"string\"},selected:{marker:TA.selected.marker},unselected:{marker:TA.unselected.marker},hoverinfo:rw({},BGt.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]}),hovertemplate:FGt()},\"calc\",\"nested\")});var lJ=ye((v1r,xHe)=>{\"use strict\";var HGt=[\"Metropolis Black Italic\",\"Metropolis Black\",\"Metropolis Bold Italic\",\"Metropolis Bold\",\"Metropolis Extra Bold Italic\",\"Metropolis Extra Bold\",\"Metropolis Extra Light Italic\",\"Metropolis Extra Light\",\"Metropolis Light Italic\",\"Metropolis Light\",\"Metropolis Medium Italic\",\"Metropolis Medium\",\"Metropolis Regular Italic\",\"Metropolis Regular\",\"Metropolis Semi Bold Italic\",\"Metropolis Semi Bold\",\"Metropolis Thin Italic\",\"Metropolis Thin\",\"Open Sans Bold Italic\",\"Open Sans Bold\",\"Open Sans Extrabold Italic\",\"Open Sans Extrabold\",\"Open Sans Italic\",\"Open Sans Light Italic\",\"Open Sans Light\",\"Open Sans Regular\",\"Open Sans Semibold Italic\",\"Open Sans Semibold\",\"Klokantech Noto Sans Bold\",\"Klokantech Noto Sans CJK Bold\",\"Klokantech Noto Sans CJK Regular\",\"Klokantech Noto Sans Italic\",\"Klokantech Noto Sans Regular\"];xHe.exports={isSupportedFont:function(e){return HGt.indexOf(e)!==-1}}});var THe=ye((p1r,wHe)=>{\"use strict\";var Nk=Mr(),uJ=lu(),GGt=$p(),jGt=R0(),WGt=D0(),ZGt=Ig(),bHe=$F(),XGt=lJ().isSupportedFont;wHe.exports=function(t,r,n,i){function a(p,E){return Nk.coerce(t,r,bHe,p,E)}function o(p,E){return Nk.coerce2(t,r,bHe,p,E)}var s=YGt(t,r,a);if(!s){r.visible=!1;return}if(a(\"text\"),a(\"texttemplate\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"mode\"),a(\"below\"),uJ.hasMarkers(r)){GGt(t,r,n,i,a,{noLine:!0,noAngle:!0}),a(\"marker.allowoverlap\"),a(\"marker.angle\");var l=r.marker;l.symbol!==\"circle\"&&(Nk.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),Nk.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}uJ.hasLines(r)&&(jGt(t,r,n,i,a,{noDash:!0}),a(\"connectgaps\"));var u=o(\"cluster.maxzoom\"),c=o(\"cluster.step\"),f=o(\"cluster.color\",r.marker&&r.marker.color||n),h=o(\"cluster.size\"),d=o(\"cluster.opacity\"),v=u!==!1||c!==!1||f!==!1||h!==!1||d!==!1,x=a(\"cluster.enabled\",v);if(x||uJ.hasText(r)){var b=i.font.family;WGt(t,r,i,a,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:XGt(b)?b:\"Open Sans Regular\",weight:i.font.weight,style:i.font.style,size:i.font.size,color:i.font.color}})}a(\"fill\"),r.fill!==\"none\"&&ZGt(t,r,n,a),Nk.coerceSelectionMarkerOpacity(r,a)};function YGt(e,t,r){var n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length);return t._length=a,a}});var cJ=ye((g1r,SHe)=>{\"use strict\";var AHe=Qa();SHe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=AHe.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=AHe.tickText(o,o.c2l(s[1]),!0).text,i}});var fJ=ye((m1r,EHe)=>{\"use strict\";var MHe=Mr();EHe.exports=function(t,r){var n=t.split(\" \"),i=n[0],a=n[1],o=MHe.isArrayOrTypedArray(r)?MHe.mean(r):r,s=.5+o/100,l=1.5+o/100,u=[\"\",\"\"],c=[0,0];switch(i){case\"top\":u[0]=\"top\",c[1]=-l;break;case\"bottom\":u[0]=\"bottom\",c[1]=l;break}switch(a){case\"left\":u[1]=\"right\",c[0]=-s;break;case\"right\":u[1]=\"left\",c[0]=s;break}var f;return u[0]&&u[1]?f=u.join(\"-\"):u[0]?f=u[0]:u[1]?f=u[1]:f=\"center\",{anchor:f,offset:c}}});var RHe=ye((y1r,IHe)=>{\"use strict\";var LHe=uo(),nv=Mr(),KGt=es().BADNUM,e7=rx(),kHe=Mu(),JGt=ao(),$Gt=S3(),t7=lu(),QGt=lJ().isSupportedFont,ejt=fJ(),tjt=rp().appendArrayPointValue,rjt=Pl().NEWLINES,ijt=Pl().BR_TAG_ALL;IHe.exports=function(t,r){var n=r[0].trace,i=n.visible===!0&&n._length!==0,a=n.fill!==\"none\",o=t7.hasLines(n),s=t7.hasMarkers(n),l=t7.hasText(n),u=s&&n.marker.symbol===\"circle\",c=s&&n.marker.symbol!==\"circle\",f=n.cluster&&n.cluster.enabled,h=QF(\"fill\"),d=QF(\"line\"),v=QF(\"circle\"),x=QF(\"symbol\"),b={fill:h,line:d,circle:v,symbol:x};if(!i)return b;var p;if((a||o)&&(p=e7.calcTraceToLineCoords(r)),a&&(h.geojson=e7.makePolygon(p),h.layout.visibility=\"visible\",nv.extendFlat(h.paint,{\"fill-color\":n.fillcolor})),o&&(d.geojson=e7.makeLine(p),d.layout.visibility=\"visible\",nv.extendFlat(d.paint,{\"line-width\":n.line.width,\"line-color\":n.line.color,\"line-opacity\":n.opacity})),u){var E=njt(r);v.geojson=E.geojson,v.layout.visibility=\"visible\",f&&(v.filter=[\"!\",[\"has\",\"point_count\"]],b.cluster={type:\"circle\",filter:[\"has\",\"point_count\"],layout:{visibility:\"visible\"},paint:{\"circle-color\":dJ(n.cluster.color,n.cluster.step),\"circle-radius\":dJ(n.cluster.size,n.cluster.step),\"circle-opacity\":dJ(n.cluster.opacity,n.cluster.step)}},b.clusterCount={type:\"symbol\",filter:[\"has\",\"point_count\"],paint:{},layout:{\"text-field\":\"{point_count_abbreviated}\",\"text-font\":CHe(n),\"text-size\":12}}),nv.extendFlat(v.paint,{\"circle-color\":E.mcc,\"circle-radius\":E.mrc,\"circle-opacity\":E.mo})}if(u&&f&&(v.filter=[\"!\",[\"has\",\"point_count\"]]),(c||l)&&(x.geojson=ajt(r,t),nv.extendFlat(x.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),c&&(nv.extendFlat(x.layout,{\"icon-size\":n.marker.size/10}),\"angle\"in n.marker&&n.marker.angle!==\"auto\"&&nv.extendFlat(x.layout,{\"icon-rotate\":{type:\"identity\",property:\"angle\"},\"icon-rotation-alignment\":\"map\"}),x.layout[\"icon-allow-overlap\"]=n.marker.allowoverlap,nv.extendFlat(x.paint,{\"icon-opacity\":n.opacity*n.marker.opacity,\"icon-color\":n.marker.color})),l)){var k=(n.marker||{}).size,A=ejt(n.textposition,k);nv.extendFlat(x.layout,{\"text-size\":n.textfont.size,\"text-anchor\":A.anchor,\"text-offset\":A.offset,\"text-font\":CHe(n)}),nv.extendFlat(x.paint,{\"text-color\":n.textfont.color,\"text-opacity\":n.opacity})}return b};function QF(e){return{type:e,geojson:e7.makeBlank(),layout:{visibility:\"none\"},filter:null,paint:{}}}function njt(e){var t=e[0].trace,r=t.marker,n=t.selectedpoints,i=nv.isArrayOrTypedArray(r.color),a=nv.isArrayOrTypedArray(r.size),o=nv.isArrayOrTypedArray(r.opacity),s;function l(k){return t.opacity*k}function u(k){return k/2}var c;i&&(kHe.hasColorscale(t,\"marker\")?c=kHe.makeColorScaleFuncFromTrace(r):c=nv.identity);var f;a&&(f=$Gt(t));var h;o&&(h=function(k){var A=LHe(k)?+nv.constrain(k,0,1):0;return l(A)});var d=[];for(s=0;s<e.length;s++){var v=e[s],x=v.lonlat;if(!PHe(x)){var b={};c&&(b.mcc=v.mcc=c(v.mc)),f&&(b.mrc=v.mrc=f(v.ms)),h&&(b.mo=h(v.mo)),n&&(b.selected=v.selected||0),d.push({type:\"Feature\",id:s+1,geometry:{type:\"Point\",coordinates:x},properties:b})}}var p;if(n)for(p=JGt.makeSelectedPointStyleFns(t),s=0;s<d.length;s++){var E=d[s].properties;p.selectedOpacityFn&&(E.mo=l(p.selectedOpacityFn(E))),p.selectedColorFn&&(E.mcc=p.selectedColorFn(E)),p.selectedSizeFn&&(E.mrc=p.selectedSizeFn(E))}return{geojson:{type:\"FeatureCollection\",features:d},mcc:i||p&&p.selectedColorFn?{type:\"identity\",property:\"mcc\"}:r.color,mrc:a||p&&p.selectedSizeFn?{type:\"identity\",property:\"mrc\"}:u(r.size),mo:o||p&&p.selectedOpacityFn?{type:\"identity\",property:\"mo\"}:l(r.opacity)}}function ajt(e,t){for(var r=t._fullLayout,n=e[0].trace,i=n.marker||{},a=i.symbol,o=i.angle,s=a!==\"circle\"?hJ(a):r7,l=o!==\"auto\"?hJ(o,!0):r7,u=t7.hasText(n)?hJ(n.text):r7,c=[],f=0;f<e.length;f++){var h=e[f];if(!PHe(h.lonlat)){var d=n.texttemplate,v;if(d){var x=Array.isArray(d)?d[f]||\"\":d,b=n._module.formatLabels(h,n,r),p={};tjt(p,n,h.i);var E=n._meta||{};v=nv.texttemplateString(x,b,r._d3locale,p,h,E)}else v=u(f);v&&(v=v.replace(rjt,\"\").replace(ijt,`\n", - "`)),c.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:h.lonlat},properties:{symbol:s(f),angle:l(f),text:v}})}}return{type:\"FeatureCollection\",features:c}}function hJ(e,t){return nv.isArrayOrTypedArray(e)?t?function(r){return LHe(e[r])?+e[r]:0}:function(r){return e[r]}:e?function(){return e}:r7}function r7(){return\"\"}function PHe(e){return e[0]===KGt}function dJ(e,t){var r;if(nv.isArrayOrTypedArray(e)&&nv.isArrayOrTypedArray(t)){r=[\"step\",[\"get\",\"point_count\"],e[0]];for(var n=1;n<e.length;n++)r.push(t[n-1],e[n])}else r=e;return r}function CHe(e){var t=e.textfont,r=t.family,n=t.style,i=t.weight,a=r.split(\" \"),o=a[a.length-1]===\"Italic\";o&&a.pop(),o=o||n===\"italic\";var s=a.join(\" \");i===\"bold\"&&a.indexOf(\"Bold\")===-1?s+=\" Bold\":i<=1e3&&(a[0]===\"Metropolis\"?(s=\"Metropolis\",i>850?s+=\" Black\":i>750?s+=\" Extra Bold\":i>650?s+=\" Bold\":i>550?s+=\" Semi Bold\":i>450?s+=\" Medium\":i>350?s+=\" Regular\":i>250?s+=\" Light\":i>150?s+=\" Extra Light\":s+=\" Thin\"):a.slice(0,2).join(\" \")===\"Open Sans\"?(s=\"Open Sans\",i>750?s+=\" Extrabold\":i>650?s+=\" Bold\":i>550?s+=\" Semibold\":i>350?s+=\" Regular\":s+=\" Light\"):a.slice(0,3).join(\" \")===\"Klokantech Noto Sans\"&&(s=\"Klokantech Noto Sans\",a[3]===\"CJK\"&&(s+=\" CJK\"),s+=i>500?\" Bold\":\" Regular\")),o&&(s+=\" Italic\"),s===\"Open Sans Regular Italic\"?s=\"Open Sans Italic\":s===\"Open Sans Regular Bold\"?s=\"Open Sans Bold\":s===\"Open Sans Regular Bold Italic\"?s=\"Open Sans Bold Italic\":s===\"Klokantech Noto Sans Regular Italic\"&&(s=\"Klokantech Noto Sans Italic\"),QGt(s)||(s=r);var l=s.split(\", \");return l}});var qHe=ye((_1r,FHe)=>{\"use strict\";var ojt=Mr(),DHe=RHe(),SA=wx().traceLayerPrefix,ng={cluster:[\"cluster\",\"clusterCount\",\"circle\"],nonCluster:[\"fill\",\"line\",\"circle\",\"symbol\"]};function zHe(e,t,r,n){this.type=\"scattermap\",this.subplot=e,this.uid=t,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:\"source-\"+t+\"-fill\",line:\"source-\"+t+\"-line\",circle:\"source-\"+t+\"-circle\",symbol:\"source-\"+t+\"-symbol\",cluster:\"source-\"+t+\"-circle\",clusterCount:\"source-\"+t+\"-circle\"},this.layerIds={fill:SA+t+\"-fill\",line:SA+t+\"-line\",circle:SA+t+\"-circle\",symbol:SA+t+\"-symbol\",cluster:SA+t+\"-cluster\",clusterCount:SA+t+\"-cluster-count\"},this.below=null}var Uk=zHe.prototype;Uk.addSource=function(e,t,r){var n={type:\"geojson\",data:t.geojson};r&&r.enabled&&ojt.extendFlat(n,{cluster:!0,clusterMaxZoom:r.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[e]);i?i.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[e],n)};Uk.setSourceData=function(e,t){this.subplot.map.getSource(this.sourceIds[e]).setData(t.geojson)};Uk.addLayer=function(e,t,r){var n={type:t.type,id:this.layerIds[e],source:this.sourceIds[e],layout:t.layout,paint:t.paint};t.filter&&(n.filter=t.filter);for(var i=this.layerIds[e],a,o=this.subplot.getMapLayers(),s=0;s<o.length;s++)if(o[s].id===i){a=!0;break}a?(this.subplot.setOptions(i,\"setLayoutProperty\",n.layout),n.layout.visibility===\"visible\"&&this.subplot.setOptions(i,\"setPaintProperty\",n.paint)):this.subplot.addLayer(n,r)};Uk.update=function(t){var r=t[0].trace,n=this.subplot,i=n.map,a=DHe(n.gd,t),o=n.belowLookup[\"trace-\"+this.uid],s=!!(r.cluster&&r.cluster.enabled),l=!!this.clusterEnabled,u=this;function c(k){k||u.addSource(\"circle\",a.circle,r.cluster);for(var A=ng.cluster,L=0;L<A.length;L++){var _=A[L],C=a[_];u.addLayer(_,C,o)}}function f(k){for(var A=ng.cluster,L=A.length-1;L>=0;L--){var _=A[L];i.removeLayer(u.layerIds[_])}k||i.removeSource(u.sourceIds.circle)}function h(k){for(var A=ng.nonCluster,L=0;L<A.length;L++){var _=A[L],C=a[_];k||u.addSource(_,C),u.addLayer(_,C,o)}}function d(k){for(var A=ng.nonCluster,L=A.length-1;L>=0;L--){var _=A[L];i.removeLayer(u.layerIds[_]),k||i.removeSource(u.sourceIds[_])}}function v(k){l?f(k):d(k)}function x(k){s?c(k):h(k)}function b(){for(var k=s?ng.cluster:ng.nonCluster,A=0;A<k.length;A++){var L=k[A],_=a[L];_&&(n.setOptions(u.layerIds[L],\"setLayoutProperty\",_.layout),_.layout.visibility===\"visible\"&&(L!==\"cluster\"&&u.setSourceData(L,_),n.setOptions(u.layerIds[L],\"setPaintProperty\",_.paint)))}}var p=this.isHidden,E=r.visible!==!0;E?p||v():p?E||x():l!==s?(v(),x()):(this.below!==o&&(v(!0),x(!0)),b()),this.clusterEnabled=s,this.isHidden=E,this.below=o,t[0].trace._glTrace=this};Uk.dispose=function(){for(var t=this.subplot.map,r=this.clusterEnabled?ng.cluster:ng.nonCluster,n=r.length-1;n>=0;n--){var i=r[n];t.removeLayer(this.layerIds[i]),t.removeSource(this.sourceIds[i])}};FHe.exports=function(t,r){var n=r[0].trace,i=n.cluster&&n.cluster.enabled,a=n.visible!==!0,o=new zHe(t,n.uid,i,a),s=DHe(t.gd,r),l=o.below=t.belowLookup[\"trace-\"+n.uid],u,c,f;if(i)for(o.addSource(\"circle\",s.circle,n.cluster),u=0;u<ng.cluster.length;u++)c=ng.cluster[u],f=s[c],o.addLayer(c,f,l);else for(u=0;u<ng.nonCluster.length;u++)c=ng.nonCluster[u],f=s[c],o.addSource(c,f,n.cluster),o.addLayer(c,f,l);return r[0].trace._glTrace=o,o}});var i7=ye((x1r,BHe)=>{\"use strict\";var sjt=Nc(),vJ=Mr(),ljt=oT(),ujt=vJ.fillText,cjt=es().BADNUM,fjt=wx().traceLayerPrefix;function hjt(e,t,r){var n=e.cd,i=n[0].trace,a=e.xa,o=e.ya,s=e.subplot,l=[],u=fjt+i.uid+\"-circle\",c=i.cluster&&i.cluster.enabled;if(c){var f=s.map.queryRenderedFeatures(null,{layers:[u]});l=f.map(function(M){return M.id})}var h=t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360),d=h*360,v=t-d;function x(M){var g=M.lonlat;if(g[0]===cjt||c&&l.indexOf(M.i+1)===-1)return 1/0;var P=vJ.modHalf(g[0],360),T=g[1],F=s.project([P,T]),q=F.x-a.c2p([v,T]),V=F.y-o.c2p([P,r]),H=Math.max(3,M.mrc||0);return Math.max(Math.sqrt(q*q+V*V)-H,1-3/H)}if(sjt.getClosest(n,x,e),e.index!==!1){var b=n[e.index],p=b.lonlat,E=[vJ.modHalf(p[0],360)+d,p[1]],k=a.c2p(E),A=o.c2p(E),L=b.mrc||1;e.x0=k-L,e.x1=k+L,e.y0=A-L,e.y1=A+L;var _={};_[i.subplot]={_subplot:s};var C=i._module.formatLabels(b,i,_);return e.lonLabel=C.lonLabel,e.latLabel=C.latLabel,e.color=ljt(i,b),e.extraText=OHe(i,b,n[0].t.labels),e.hovertemplate=i.hovertemplate,[e]}}function OHe(e,t,r){if(e.hovertemplate)return;var n=t.hi||e.hoverinfo,i=n.split(\"+\"),a=i.indexOf(\"all\")!==-1,o=i.indexOf(\"lon\")!==-1,s=i.indexOf(\"lat\")!==-1,l=t.lonlat,u=[];function c(f){return f+\"\\xB0\"}return a||o&&s?u.push(\"(\"+c(l[1])+\", \"+c(l[0])+\")\"):o?u.push(r.lon+c(l[0])):s&&u.push(r.lat+c(l[1])),(a||i.indexOf(\"text\")!==-1)&&ujt(t,e,u),u.join(\"<br>\")}BHe.exports={hoverPoints:hjt,getExtraText:OHe}});var UHe=ye((b1r,NHe)=>{\"use strict\";NHe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t}});var HHe=ye((w1r,VHe)=>{\"use strict\";var djt=Mr(),vjt=lu(),pjt=es().BADNUM;VHe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l;if(!vjt.hasMarkers(s))return[];if(r===!1)for(l=0;l<n.length;l++)n[l].selected=0;else for(l=0;l<n.length;l++){var u=n[l],c=u.lonlat;if(c[0]!==pjt){var f=[djt.modHalf(c[0],360),c[1]],h=[i.c2p(f),a.c2p(f)];r.contains(h,null,l,t)?(o.push({pointNumber:l,lon:c[0],lat:c[1]}),u.selected=1):u.selected=0}}return o}});var jHe=ye((pJ,gJ)=>{(function(e,t){typeof pJ==\"object\"&&typeof gJ!=\"undefined\"?gJ.exports=t():(e=typeof globalThis!=\"undefined\"?globalThis:e||self,e.maplibregl=t())})(pJ,function(){\"use strict\";var e={},t={};function r(i,a,o){if(t[i]=o,i===\"index\"){var s=\"var sharedModule = {}; (\"+t.shared+\")(sharedModule); (\"+t.worker+\")(sharedModule);\",l={};return t.shared(l),t.index(e,l),typeof window!=\"undefined\"&&e.setWorkerUrl(window.URL.createObjectURL(new Blob([s],{type:\"text/javascript\"}))),e}}r(\"shared\",[\"exports\"],function(i){\"use strict\";function a(R,S,D,j){return new(D||(D=Promise))(function(te,ue){function ve(at){try{Ze(j.next(at))}catch(Tt){ue(Tt)}}function De(at){try{Ze(j.throw(at))}catch(Tt){ue(Tt)}}function Ze(at){var Tt;at.done?te(at.value):(Tt=at.value,Tt instanceof D?Tt:new D(function(Ft){Ft(Tt)})).then(ve,De)}Ze((j=j.apply(R,S||[])).next())})}function o(R){return R&&R.__esModule&&Object.prototype.hasOwnProperty.call(R,\"default\")?R.default:R}typeof SuppressedError==\"function\"&&SuppressedError;var s=l;function l(R,S){this.x=R,this.y=S}l.prototype={clone:function(){return new l(this.x,this.y)},add:function(R){return this.clone()._add(R)},sub:function(R){return this.clone()._sub(R)},multByPoint:function(R){return this.clone()._multByPoint(R)},divByPoint:function(R){return this.clone()._divByPoint(R)},mult:function(R){return this.clone()._mult(R)},div:function(R){return this.clone()._div(R)},rotate:function(R){return this.clone()._rotate(R)},rotateAround:function(R,S){return this.clone()._rotateAround(R,S)},matMult:function(R){return this.clone()._matMult(R)},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(R){return this.x===R.x&&this.y===R.y},dist:function(R){return Math.sqrt(this.distSqr(R))},distSqr:function(R){var S=R.x-this.x,D=R.y-this.y;return S*S+D*D},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(R){return Math.atan2(this.y-R.y,this.x-R.x)},angleWith:function(R){return this.angleWithSep(R.x,R.y)},angleWithSep:function(R,S){return Math.atan2(this.x*S-this.y*R,this.x*R+this.y*S)},_matMult:function(R){var S=R[2]*this.x+R[3]*this.y;return this.x=R[0]*this.x+R[1]*this.y,this.y=S,this},_add:function(R){return this.x+=R.x,this.y+=R.y,this},_sub:function(R){return this.x-=R.x,this.y-=R.y,this},_mult:function(R){return this.x*=R,this.y*=R,this},_div:function(R){return this.x/=R,this.y/=R,this},_multByPoint:function(R){return this.x*=R.x,this.y*=R.y,this},_divByPoint:function(R){return this.x/=R.x,this.y/=R.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var R=this.y;return this.y=this.x,this.x=-R,this},_rotate:function(R){var S=Math.cos(R),D=Math.sin(R),j=D*this.x+S*this.y;return this.x=S*this.x-D*this.y,this.y=j,this},_rotateAround:function(R,S){var D=Math.cos(R),j=Math.sin(R),te=S.y+j*(this.x-S.x)+D*(this.y-S.y);return this.x=S.x+D*(this.x-S.x)-j*(this.y-S.y),this.y=te,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},l.convert=function(R){return R instanceof l?R:Array.isArray(R)?new l(R[0],R[1]):R};var u=o(s),c=f;function f(R,S,D,j){this.cx=3*R,this.bx=3*(D-R)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*S,this.by=3*(j-S)-this.cy,this.ay=1-this.cy-this.by,this.p1x=R,this.p1y=S,this.p2x=D,this.p2y=j}f.prototype={sampleCurveX:function(R){return((this.ax*R+this.bx)*R+this.cx)*R},sampleCurveY:function(R){return((this.ay*R+this.by)*R+this.cy)*R},sampleCurveDerivativeX:function(R){return(3*this.ax*R+2*this.bx)*R+this.cx},solveCurveX:function(R,S){if(S===void 0&&(S=1e-6),R<0)return 0;if(R>1)return 1;for(var D=R,j=0;j<8;j++){var te=this.sampleCurveX(D)-R;if(Math.abs(te)<S)return D;var ue=this.sampleCurveDerivativeX(D);if(Math.abs(ue)<1e-6)break;D-=te/ue}var ve=0,De=1;for(D=R,j=0;j<20&&(te=this.sampleCurveX(D),!(Math.abs(te-R)<S));j++)R>te?ve=D:De=D,D=.5*(De-ve)+ve;return D},solve:function(R,S){return this.sampleCurveY(this.solveCurveX(R,S))}};var h=o(c);let d,v;function x(){return d==null&&(d=typeof OffscreenCanvas!=\"undefined\"&&new OffscreenCanvas(1,1).getContext(\"2d\")&&typeof createImageBitmap==\"function\"),d}function b(){if(v==null&&(v=!1,x())){let S=new OffscreenCanvas(5,5).getContext(\"2d\",{willReadFrequently:!0});if(S){for(let j=0;j<5*5;j++){let te=4*j;S.fillStyle=`rgb(${te},${te+1},${te+2})`,S.fillRect(j%5,Math.floor(j/5),1,1)}let D=S.getImageData(0,0,5,5).data;for(let j=0;j<5*5*4;j++)if(j%4!=3&&D[j]!==j){v=!0;break}}}return v||!1}function p(R,S,D,j){let te=new h(R,S,D,j);return ue=>te.solve(ue)}let E=p(.25,.1,.25,1);function k(R,S,D){return Math.min(D,Math.max(S,R))}function A(R,S,D){let j=D-S,te=((R-S)%j+j)%j+S;return te===S?D:te}function L(R,...S){for(let D of S)for(let j in D)R[j]=D[j];return R}let _=1;function C(R,S,D){let j={};for(let te in R)j[te]=S.call(this,R[te],te,R);return j}function M(R,S,D){let j={};for(let te in R)S.call(this,R[te],te,R)&&(j[te]=R[te]);return j}function g(R){return Array.isArray(R)?R.map(g):typeof R==\"object\"&&R?C(R,g):R}let P={};function T(R){P[R]||(typeof console!=\"undefined\"&&console.warn(R),P[R]=!0)}function F(R,S,D){return(D.y-R.y)*(S.x-R.x)>(S.y-R.y)*(D.x-R.x)}function q(R){return typeof WorkerGlobalScope!=\"undefined\"&&R!==void 0&&R instanceof WorkerGlobalScope}let V=null;function H(R){return typeof ImageBitmap!=\"undefined\"&&R instanceof ImageBitmap}let X=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";function G(R,S,D,j,te){return a(this,void 0,void 0,function*(){if(typeof VideoFrame==\"undefined\")throw new Error(\"VideoFrame not supported\");let ue=new VideoFrame(R,{timestamp:0});try{let ve=ue==null?void 0:ue.format;if(!ve||!ve.startsWith(\"BGR\")&&!ve.startsWith(\"RGB\"))throw new Error(`Unrecognized format ${ve}`);let De=ve.startsWith(\"BGR\"),Ze=new Uint8ClampedArray(j*te*4);if(yield ue.copyTo(Ze,function(at,Tt,Ft,Qt,sr){let Tr=4*Math.max(-Tt,0),Pr=(Math.max(0,Ft)-Ft)*Qt*4+Tr,$r=4*Qt,ni=Math.max(0,Tt),Di=Math.max(0,Ft);return{rect:{x:ni,y:Di,width:Math.min(at.width,Tt+Qt)-ni,height:Math.min(at.height,Ft+sr)-Di},layout:[{offset:Pr,stride:$r}]}}(R,S,D,j,te)),De)for(let at=0;at<Ze.length;at+=4){let Tt=Ze[at];Ze[at]=Ze[at+2],Ze[at+2]=Tt}return Ze}finally{ue.close()}})}let N,W,re=\"AbortError\";function ae(){return new Error(re)}let _e={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:\"\"};function Me(R){return _e.REGISTERED_PROTOCOLS[R.substring(0,R.indexOf(\"://\"))]}let ke=\"global-dispatcher\";class ge extends Error{constructor(S,D,j,te){super(`AJAXError: ${D} (${S}): ${j}`),this.status=S,this.statusText=D,this.url=j,this.body=te}}let ie=()=>q(self)?self.worker&&self.worker.referrer:(window.location.protocol===\"blob:\"?window.parent:window).location.href,Te=function(R,S){if(/:\\/\\//.test(R.url)&&!/^https?:|^file:/.test(R.url)){let j=Me(R.url);if(j)return j(R,S);if(q(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:R,targetMapId:ke},S)}if(!(/^file:/.test(D=R.url)||/^file:/.test(ie())&&!/^\\w+:/.test(D))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,\"signal\"))return function(j,te){return a(this,void 0,void 0,function*(){let ue=new Request(j.url,{method:j.method||\"GET\",body:j.body,credentials:j.credentials,headers:j.headers,cache:j.cache,referrer:ie(),signal:te.signal});j.type!==\"json\"||ue.headers.has(\"Accept\")||ue.headers.set(\"Accept\",\"application/json\");let ve=yield fetch(ue);if(!ve.ok){let at=yield ve.blob();throw new ge(ve.status,ve.statusText,j.url,at)}let De;De=j.type===\"arrayBuffer\"||j.type===\"image\"?ve.arrayBuffer():j.type===\"json\"?ve.json():ve.text();let Ze=yield De;if(te.signal.aborted)throw ae();return{data:Ze,cacheControl:ve.headers.get(\"Cache-Control\"),expires:ve.headers.get(\"Expires\")}})}(R,S);if(q(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:R,mustQueue:!0,targetMapId:ke},S)}var D;return function(j,te){return new Promise((ue,ve)=>{var De;let Ze=new XMLHttpRequest;Ze.open(j.method||\"GET\",j.url,!0),j.type!==\"arrayBuffer\"&&j.type!==\"image\"||(Ze.responseType=\"arraybuffer\");for(let at in j.headers)Ze.setRequestHeader(at,j.headers[at]);j.type===\"json\"&&(Ze.responseType=\"text\",!((De=j.headers)===null||De===void 0)&&De.Accept||Ze.setRequestHeader(\"Accept\",\"application/json\")),Ze.withCredentials=j.credentials===\"include\",Ze.onerror=()=>{ve(new Error(Ze.statusText))},Ze.onload=()=>{if(!te.signal.aborted)if((Ze.status>=200&&Ze.status<300||Ze.status===0)&&Ze.response!==null){let at=Ze.response;if(j.type===\"json\")try{at=JSON.parse(Ze.response)}catch(Tt){return void ve(Tt)}ue({data:at,cacheControl:Ze.getResponseHeader(\"Cache-Control\"),expires:Ze.getResponseHeader(\"Expires\")})}else{let at=new Blob([Ze.response],{type:Ze.getResponseHeader(\"Content-Type\")});ve(new ge(Ze.status,Ze.statusText,j.url,at))}},te.signal.addEventListener(\"abort\",()=>{Ze.abort(),ve(ae())}),Ze.send(j.body)})}(R,S)};function Ee(R){if(!R||R.indexOf(\"://\")<=0||R.indexOf(\"data:image/\")===0||R.indexOf(\"blob:\")===0)return!0;let S=new URL(R),D=window.location;return S.protocol===D.protocol&&S.host===D.host}function Ae(R,S,D){D[R]&&D[R].indexOf(S)!==-1||(D[R]=D[R]||[],D[R].push(S))}function ze(R,S,D){if(D&&D[R]){let j=D[R].indexOf(S);j!==-1&&D[R].splice(j,1)}}class Ce{constructor(S,D={}){L(this,D),this.type=S}}class me extends Ce{constructor(S,D={}){super(\"error\",L({error:S},D))}}class Re{on(S,D){return this._listeners=this._listeners||{},Ae(S,D,this._listeners),this}off(S,D){return ze(S,D,this._listeners),ze(S,D,this._oneTimeListeners),this}once(S,D){return D?(this._oneTimeListeners=this._oneTimeListeners||{},Ae(S,D,this._oneTimeListeners),this):new Promise(j=>this.once(S,j))}fire(S,D){typeof S==\"string\"&&(S=new Ce(S,D||{}));let j=S.type;if(this.listens(j)){S.target=this;let te=this._listeners&&this._listeners[j]?this._listeners[j].slice():[];for(let De of te)De.call(this,S);let ue=this._oneTimeListeners&&this._oneTimeListeners[j]?this._oneTimeListeners[j].slice():[];for(let De of ue)ze(j,De,this._oneTimeListeners),De.call(this,S);let ve=this._eventedParent;ve&&(L(S,typeof this._eventedParentData==\"function\"?this._eventedParentData():this._eventedParentData),ve.fire(S))}else S instanceof me&&console.error(S.error);return this}listens(S){return this._listeners&&this._listeners[S]&&this._listeners[S].length>0||this._oneTimeListeners&&this._oneTimeListeners[S]&&this._oneTimeListeners[S].length>0||this._eventedParent&&this._eventedParent.listens(S)}setEventedParent(S,D){return this._eventedParent=S,this._eventedParentData=D,this}}var ce={$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\"}}};let Ge=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"];function nt(R,S){let D={};for(let j in R)j!==\"ref\"&&(D[j]=R[j]);return Ge.forEach(j=>{j in S&&(D[j]=S[j])}),D}function ct(R,S){if(Array.isArray(R)){if(!Array.isArray(S)||R.length!==S.length)return!1;for(let D=0;D<R.length;D++)if(!ct(R[D],S[D]))return!1;return!0}if(typeof R==\"object\"&&R!==null&&S!==null){if(typeof S!=\"object\"||Object.keys(R).length!==Object.keys(S).length)return!1;for(let D in R)if(!ct(R[D],S[D]))return!1;return!0}return R===S}function qt(R,S){R.push(S)}function rt(R,S,D){qt(D,{command:\"addSource\",args:[R,S[R]]})}function ot(R,S,D){qt(S,{command:\"removeSource\",args:[R]}),D[R]=!0}function Rt(R,S,D,j){ot(R,D,j),rt(R,S,D)}function kt(R,S,D){let j;for(j in R[D])if(Object.prototype.hasOwnProperty.call(R[D],j)&&j!==\"data\"&&!ct(R[D][j],S[D][j]))return!1;for(j in S[D])if(Object.prototype.hasOwnProperty.call(S[D],j)&&j!==\"data\"&&!ct(R[D][j],S[D][j]))return!1;return!0}function Ct(R,S,D,j,te,ue){R=R||{},S=S||{};for(let ve in R)Object.prototype.hasOwnProperty.call(R,ve)&&(ct(R[ve],S[ve])||D.push({command:ue,args:[j,ve,S[ve],te]}));for(let ve in S)Object.prototype.hasOwnProperty.call(S,ve)&&!Object.prototype.hasOwnProperty.call(R,ve)&&(ct(R[ve],S[ve])||D.push({command:ue,args:[j,ve,S[ve],te]}))}function Yt(R){return R.id}function xr(R,S){return R[S.id]=S,R}class er{constructor(S,D,j,te){this.message=(S?`${S}: `:\"\")+j,te&&(this.identifier=te),D!=null&&D.__line__&&(this.line=D.__line__)}}function Ke(R,...S){for(let D of S)for(let j in D)R[j]=D[j];return R}class xt extends Error{constructor(S,D){super(D),this.message=D,this.key=S}}class bt{constructor(S,D=[]){this.parent=S,this.bindings={};for(let[j,te]of D)this.bindings[j]=te}concat(S){return new bt(this,S)}get(S){if(this.bindings[S])return this.bindings[S];if(this.parent)return this.parent.get(S);throw new Error(`${S} not found in scope.`)}has(S){return!!this.bindings[S]||!!this.parent&&this.parent.has(S)}}let Lt={kind:\"null\"},St={kind:\"number\"},Et={kind:\"string\"},dt={kind:\"boolean\"},Ht={kind:\"color\"},$t={kind:\"object\"},fr={kind:\"value\"},_r={kind:\"collator\"},Br={kind:\"formatted\"},Or={kind:\"padding\"},Nr={kind:\"resolvedImage\"},ut={kind:\"variableAnchorOffsetCollection\"};function Ne(R,S){return{kind:\"array\",itemType:R,N:S}}function Ye(R){if(R.kind===\"array\"){let S=Ye(R.itemType);return typeof R.N==\"number\"?`array<${S}, ${R.N}>`:R.itemType.kind===\"value\"?\"array\":`array<${S}>`}return R.kind}let Ve=[Lt,St,Et,dt,Ht,Br,$t,Ne(fr),Or,Nr,ut];function Xe(R,S){if(S.kind===\"error\")return null;if(R.kind===\"array\"){if(S.kind===\"array\"&&(S.N===0&&S.itemType.kind===\"value\"||!Xe(R.itemType,S.itemType))&&(typeof R.N!=\"number\"||R.N===S.N))return null}else{if(R.kind===S.kind)return null;if(R.kind===\"value\"){for(let D of Ve)if(!Xe(D,S))return null}}return`Expected ${Ye(R)} but found ${Ye(S)} instead.`}function ht(R,S){return S.some(D=>D.kind===R.kind)}function Le(R,S){return S.some(D=>D===\"null\"?R===null:D===\"array\"?Array.isArray(R):D===\"object\"?R&&!Array.isArray(R)&&typeof R==\"object\":D===typeof R)}function xe(R,S){return R.kind===\"array\"&&S.kind===\"array\"?R.itemType.kind===S.itemType.kind&&typeof R.N==\"number\":R.kind===S.kind}let Se=.96422,lt=.82521,Gt=4/29,Vt=6/29,ar=3*Vt*Vt,Qr=Vt*Vt*Vt,ai=Math.PI/180,jr=180/Math.PI;function ri(R){return(R%=360)<0&&(R+=360),R}function bi([R,S,D,j]){let te,ue,ve=Wi((.2225045*(R=nn(R))+.7168786*(S=nn(S))+.0606169*(D=nn(D)))/1);R===S&&S===D?te=ue=ve:(te=Wi((.4360747*R+.3850649*S+.1430804*D)/Se),ue=Wi((.0139322*R+.0971045*S+.7141733*D)/lt));let De=116*ve-16;return[De<0?0:De,500*(te-ve),200*(ve-ue),j]}function nn(R){return R<=.04045?R/12.92:Math.pow((R+.055)/1.055,2.4)}function Wi(R){return R>Qr?Math.pow(R,1/3):R/ar+Gt}function Ni([R,S,D,j]){let te=(R+16)/116,ue=isNaN(S)?te:te+S/500,ve=isNaN(D)?te:te-D/200;return te=1*$i(te),ue=Se*$i(ue),ve=lt*$i(ve),[_n(3.1338561*ue-1.6168667*te-.4906146*ve),_n(-.9787684*ue+1.9161415*te+.033454*ve),_n(.0719453*ue-.2289914*te+1.4052427*ve),j]}function _n(R){return(R=R<=.00304?12.92*R:1.055*Math.pow(R,1/2.4)-.055)<0?0:R>1?1:R}function $i(R){return R>Vt?R*R*R:ar*(R-Gt)}function zn(R){return parseInt(R.padEnd(2,R),16)/255}function Wn(R,S){return It(S?R/100:R,0,1)}function It(R,S,D){return Math.min(Math.max(S,R),D)}function ft(R){return!R.some(Number.isNaN)}let jt={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 Zt{constructor(S,D,j,te=1,ue=!0){this.r=S,this.g=D,this.b=j,this.a=te,ue||(this.r*=te,this.g*=te,this.b*=te,te||this.overwriteGetter(\"rgb\",[S,D,j,te]))}static parse(S){if(S instanceof Zt)return S;if(typeof S!=\"string\")return;let D=function(j){if((j=j.toLowerCase().trim())===\"transparent\")return[0,0,0,0];let te=jt[j];if(te){let[ve,De,Ze]=te;return[ve/255,De/255,Ze/255,1]}if(j.startsWith(\"#\")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(j)){let ve=j.length<6?1:2,De=1;return[zn(j.slice(De,De+=ve)),zn(j.slice(De,De+=ve)),zn(j.slice(De,De+=ve)),zn(j.slice(De,De+ve)||\"ff\")]}if(j.startsWith(\"rgb\")){let ve=j.match(/^rgba?\\(\\s*([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(ve){let[De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di]=ve,pi=[Tt||\" \",sr||\" \",$r].join(\"\");if(pi===\" \"||pi===\" /\"||pi===\",,\"||pi===\",,,\"){let ki=[at,Qt,Pr].join(\"\"),Zi=ki===\"%%%\"?100:ki===\"\"?255:0;if(Zi){let ta=[It(+Ze/Zi,0,1),It(+Ft/Zi,0,1),It(+Tr/Zi,0,1),ni?Wn(+ni,Di):1];if(ft(ta))return ta}}return}}let ue=j.match(/^hsla?\\(\\s*([\\de.+-]+)(?:deg)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(ue){let[ve,De,Ze,at,Tt,Ft,Qt,sr,Tr]=ue,Pr=[Ze||\" \",Tt||\" \",Qt].join(\"\");if(Pr===\" \"||Pr===\" /\"||Pr===\",,\"||Pr===\",,,\"){let $r=[+De,It(+at,0,100),It(+Ft,0,100),sr?Wn(+sr,Tr):1];if(ft($r))return function([ni,Di,pi,ki]){function Zi(ta){let Va=(ta+ni/30)%12,Io=Di*Math.min(pi,1-pi);return pi-Io*Math.max(-1,Math.min(Va-3,9-Va,1))}return ni=ri(ni),Di/=100,pi/=100,[Zi(0),Zi(8),Zi(4),ki]}($r)}}}(S);return D?new Zt(...D,!1):void 0}get rgb(){let{r:S,g:D,b:j,a:te}=this,ue=te||1/0;return this.overwriteGetter(\"rgb\",[S/ue,D/ue,j/ue,te])}get hcl(){return this.overwriteGetter(\"hcl\",function(S){let[D,j,te,ue]=bi(S),ve=Math.sqrt(j*j+te*te);return[Math.round(1e4*ve)?ri(Math.atan2(te,j)*jr):NaN,ve,D,ue]}(this.rgb))}get lab(){return this.overwriteGetter(\"lab\",bi(this.rgb))}overwriteGetter(S,D){return Object.defineProperty(this,S,{value:D}),D}toString(){let[S,D,j,te]=this.rgb;return`rgba(${[S,D,j].map(ue=>Math.round(255*ue)).join(\",\")},${te})`}}Zt.black=new Zt(0,0,0,1),Zt.white=new Zt(1,1,1,1),Zt.transparent=new Zt(0,0,0,0),Zt.red=new Zt(1,0,0,1);class yr{constructor(S,D,j){this.sensitivity=S?D?\"variant\":\"case\":D?\"accent\":\"base\",this.locale=j,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})}compare(S,D){return this.collator.compare(S,D)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Fr{constructor(S,D,j,te,ue){this.text=S,this.image=D,this.scale=j,this.fontStack=te,this.textColor=ue}}class Zr{constructor(S){this.sections=S}static fromString(S){return new Zr([new Fr(S,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(S=>S.text.length!==0||S.image&&S.image.name.length!==0)}static factory(S){return S instanceof Zr?S:Zr.fromString(S)}toString(){return this.sections.length===0?\"\":this.sections.map(S=>S.text).join(\"\")}}class Vr{constructor(S){this.values=S.slice()}static parse(S){if(S instanceof Vr)return S;if(typeof S==\"number\")return new Vr([S,S,S,S]);if(Array.isArray(S)&&!(S.length<1||S.length>4)){for(let D of S)if(typeof D!=\"number\")return;switch(S.length){case 1:S=[S[0],S[0],S[0],S[0]];break;case 2:S=[S[0],S[1],S[0],S[1]];break;case 3:S=[S[0],S[1],S[2],S[1]]}return new Vr(S)}}toString(){return JSON.stringify(this.values)}}let gi=new Set([\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"]);class Si{constructor(S){this.values=S.slice()}static parse(S){if(S instanceof Si)return S;if(Array.isArray(S)&&!(S.length<1)&&S.length%2==0){for(let D=0;D<S.length;D+=2){let j=S[D],te=S[D+1];if(typeof j!=\"string\"||!gi.has(j)||!Array.isArray(te)||te.length!==2||typeof te[0]!=\"number\"||typeof te[1]!=\"number\")return}return new Si(S)}}toString(){return JSON.stringify(this.values)}}class Mi{constructor(S){this.name=S.name,this.available=S.available}toString(){return this.name}static fromString(S){return S?new Mi({name:S,available:!1}):null}}function Pi(R,S,D,j){return typeof R==\"number\"&&R>=0&&R<=255&&typeof S==\"number\"&&S>=0&&S<=255&&typeof D==\"number\"&&D>=0&&D<=255?j===void 0||typeof j==\"number\"&&j>=0&&j<=1?null:`Invalid rgba value [${[R,S,D,j].join(\", \")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof j==\"number\"?[R,S,D,j]:[R,S,D]).join(\", \")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Gi(R){if(R===null||typeof R==\"string\"||typeof R==\"boolean\"||typeof R==\"number\"||R instanceof Zt||R instanceof yr||R instanceof Zr||R instanceof Vr||R instanceof Si||R instanceof Mi)return!0;if(Array.isArray(R)){for(let S of R)if(!Gi(S))return!1;return!0}if(typeof R==\"object\"){for(let S in R)if(!Gi(R[S]))return!1;return!0}return!1}function Ki(R){if(R===null)return Lt;if(typeof R==\"string\")return Et;if(typeof R==\"boolean\")return dt;if(typeof R==\"number\")return St;if(R instanceof Zt)return Ht;if(R instanceof yr)return _r;if(R instanceof Zr)return Br;if(R instanceof Vr)return Or;if(R instanceof Si)return ut;if(R instanceof Mi)return Nr;if(Array.isArray(R)){let S=R.length,D;for(let j of R){let te=Ki(j);if(D){if(D===te)continue;D=fr;break}D=te}return Ne(D||fr,S)}return $t}function ka(R){let S=typeof R;return R===null?\"\":S===\"string\"||S===\"number\"||S===\"boolean\"?String(R):R instanceof Zt||R instanceof Zr||R instanceof Vr||R instanceof Si||R instanceof Mi?R.toString():JSON.stringify(R)}class jn{constructor(S,D){this.type=S,this.value=D}static parse(S,D){if(S.length!==2)return D.error(`'literal' expression requires exactly one argument, but found ${S.length-1} instead.`);if(!Gi(S[1]))return D.error(\"invalid value\");let j=S[1],te=Ki(j),ue=D.expectedType;return te.kind!==\"array\"||te.N!==0||!ue||ue.kind!==\"array\"||typeof ue.N==\"number\"&&ue.N!==0||(te=ue),new jn(te,j)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class la{constructor(S){this.name=\"ExpressionEvaluationError\",this.message=S}toJSON(){return this.message}}let Fa={string:Et,number:St,boolean:dt,object:$t};class Ra{constructor(S,D){this.type=S,this.args=D}static parse(S,D){if(S.length<2)return D.error(\"Expected at least one argument.\");let j,te=1,ue=S[0];if(ue===\"array\"){let De,Ze;if(S.length>2){let at=S[1];if(typeof at!=\"string\"||!(at in Fa)||at===\"object\")return D.error('The item type argument of \"array\" must be one of string, number, boolean',1);De=Fa[at],te++}else De=fr;if(S.length>3){if(S[2]!==null&&(typeof S[2]!=\"number\"||S[2]<0||S[2]!==Math.floor(S[2])))return D.error('The length argument to \"array\" must be a positive integer literal',2);Ze=S[2],te++}j=Ne(De,Ze)}else{if(!Fa[ue])throw new Error(`Types doesn't contain name = ${ue}`);j=Fa[ue]}let ve=[];for(;te<S.length;te++){let De=D.parse(S[te],te,fr);if(!De)return null;ve.push(De)}return new Ra(j,ve)}evaluate(S){for(let D=0;D<this.args.length;D++){let j=this.args[D].evaluate(S);if(!Xe(this.type,Ki(j)))return j;if(D===this.args.length-1)throw new la(`Expected value to be of type ${Ye(this.type)}, but found ${Ye(Ki(j))} instead.`)}throw new Error}eachChild(S){this.args.forEach(S)}outputDefined(){return this.args.every(S=>S.outputDefined())}}let jo={\"to-boolean\":dt,\"to-color\":Ht,\"to-number\":St,\"to-string\":Et};class oa{constructor(S,D){this.type=S,this.args=D}static parse(S,D){if(S.length<2)return D.error(\"Expected at least one argument.\");let j=S[0];if(!jo[j])throw new Error(`Can't parse ${j} as it is not part of the known types`);if((j===\"to-boolean\"||j===\"to-string\")&&S.length!==2)return D.error(\"Expected one argument.\");let te=jo[j],ue=[];for(let ve=1;ve<S.length;ve++){let De=D.parse(S[ve],ve,fr);if(!De)return null;ue.push(De)}return new oa(te,ue)}evaluate(S){switch(this.type.kind){case\"boolean\":return!!this.args[0].evaluate(S);case\"color\":{let D,j;for(let te of this.args){if(D=te.evaluate(S),j=null,D instanceof Zt)return D;if(typeof D==\"string\"){let ue=S.parseColor(D);if(ue)return ue}else if(Array.isArray(D)&&(j=D.length<3||D.length>4?`Invalid rbga value ${JSON.stringify(D)}: expected an array containing either three or four numeric values.`:Pi(D[0],D[1],D[2],D[3]),!j))return new Zt(D[0]/255,D[1]/255,D[2]/255,D[3])}throw new la(j||`Could not parse color from value '${typeof D==\"string\"?D:JSON.stringify(D)}'`)}case\"padding\":{let D;for(let j of this.args){D=j.evaluate(S);let te=Vr.parse(D);if(te)return te}throw new la(`Could not parse padding from value '${typeof D==\"string\"?D:JSON.stringify(D)}'`)}case\"variableAnchorOffsetCollection\":{let D;for(let j of this.args){D=j.evaluate(S);let te=Si.parse(D);if(te)return te}throw new la(`Could not parse variableAnchorOffsetCollection from value '${typeof D==\"string\"?D:JSON.stringify(D)}'`)}case\"number\":{let D=null;for(let j of this.args){if(D=j.evaluate(S),D===null)return 0;let te=Number(D);if(!isNaN(te))return te}throw new la(`Could not convert ${JSON.stringify(D)} to number.`)}case\"formatted\":return Zr.fromString(ka(this.args[0].evaluate(S)));case\"resolvedImage\":return Mi.fromString(ka(this.args[0].evaluate(S)));default:return ka(this.args[0].evaluate(S))}}eachChild(S){this.args.forEach(S)}outputDefined(){return this.args.every(S=>S.outputDefined())}}let Sn=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];class Ha{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?typeof this.feature.type==\"number\"?Sn[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(S){let D=this._parseColorCache[S];return D||(D=this._parseColorCache[S]=Zt.parse(S)),D}}class oo{constructor(S,D,j=[],te,ue=new bt,ve=[]){this.registry=S,this.path=j,this.key=j.map(De=>`[${De}]`).join(\"\"),this.scope=ue,this.errors=ve,this.expectedType=te,this._isConstant=D}parse(S,D,j,te,ue={}){return D?this.concat(D,j,te)._parse(S,ue):this._parse(S,ue)}_parse(S,D){function j(te,ue,ve){return ve===\"assert\"?new Ra(ue,[te]):ve===\"coerce\"?new oa(ue,[te]):te}if(S!==null&&typeof S!=\"string\"&&typeof S!=\"boolean\"&&typeof S!=\"number\"||(S=[\"literal\",S]),Array.isArray(S)){if(S.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');let te=S[0];if(typeof te!=\"string\")return this.error(`Expression name must be a string, but found ${typeof te} instead. If you wanted a literal array, use [\"literal\", [...]].`,0),null;let ue=this.registry[te];if(ue){let ve=ue.parse(S,this);if(!ve)return null;if(this.expectedType){let De=this.expectedType,Ze=ve.type;if(De.kind!==\"string\"&&De.kind!==\"number\"&&De.kind!==\"boolean\"&&De.kind!==\"object\"&&De.kind!==\"array\"||Ze.kind!==\"value\")if(De.kind!==\"color\"&&De.kind!==\"formatted\"&&De.kind!==\"resolvedImage\"||Ze.kind!==\"value\"&&Ze.kind!==\"string\")if(De.kind!==\"padding\"||Ze.kind!==\"value\"&&Ze.kind!==\"number\"&&Ze.kind!==\"array\")if(De.kind!==\"variableAnchorOffsetCollection\"||Ze.kind!==\"value\"&&Ze.kind!==\"array\"){if(this.checkSubtype(De,Ze))return null}else ve=j(ve,De,D.typeAnnotation||\"coerce\");else ve=j(ve,De,D.typeAnnotation||\"coerce\");else ve=j(ve,De,D.typeAnnotation||\"coerce\");else ve=j(ve,De,D.typeAnnotation||\"assert\")}if(!(ve instanceof jn)&&ve.type.kind!==\"resolvedImage\"&&this._isConstant(ve)){let De=new Ha;try{ve=new jn(ve.type,ve.evaluate(De))}catch(Ze){return this.error(Ze.message),null}}return ve}return this.error(`Unknown expression \"${te}\". If you wanted a literal array, use [\"literal\", [...]].`,0)}return this.error(S===void 0?\"'undefined' value invalid. Use null instead.\":typeof S==\"object\"?'Bare objects invalid. Use [\"literal\", {...}] instead.':`Expected an array, but found ${typeof S} instead.`)}concat(S,D,j){let te=typeof S==\"number\"?this.path.concat(S):this.path,ue=j?this.scope.concat(j):this.scope;return new oo(this.registry,this._isConstant,te,D||null,ue,this.errors)}error(S,...D){let j=`${this.key}${D.map(te=>`[${te}]`).join(\"\")}`;this.errors.push(new xt(j,S))}checkSubtype(S,D){let j=Xe(S,D);return j&&this.error(j),j}}class xn{constructor(S,D){this.type=D.type,this.bindings=[].concat(S),this.result=D}evaluate(S){return this.result.evaluate(S)}eachChild(S){for(let D of this.bindings)S(D[1]);S(this.result)}static parse(S,D){if(S.length<4)return D.error(`Expected at least 3 arguments, but found ${S.length-1} instead.`);let j=[];for(let ue=1;ue<S.length-1;ue+=2){let ve=S[ue];if(typeof ve!=\"string\")return D.error(`Expected string, but found ${typeof ve} instead.`,ue);if(/[^a-zA-Z0-9_]/.test(ve))return D.error(\"Variable names must contain only alphanumeric characters or '_'.\",ue);let De=D.parse(S[ue+1],ue+1);if(!De)return null;j.push([ve,De])}let te=D.parse(S[S.length-1],S.length-1,D.expectedType,j);return te?new xn(j,te):null}outputDefined(){return this.result.outputDefined()}}class _t{constructor(S,D){this.type=D.type,this.name=S,this.boundExpression=D}static parse(S,D){if(S.length!==2||typeof S[1]!=\"string\")return D.error(\"'var' expression requires exactly one string literal argument.\");let j=S[1];return D.scope.has(j)?new _t(j,D.scope.get(j)):D.error(`Unknown variable \"${j}\". Make sure \"${j}\" has been bound in an enclosing \"let\" expression before using it.`,1)}evaluate(S){return this.boundExpression.evaluate(S)}eachChild(){}outputDefined(){return!1}}class br{constructor(S,D,j){this.type=S,this.index=D,this.input=j}static parse(S,D){if(S.length!==3)return D.error(`Expected 2 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,St),te=D.parse(S[2],2,Ne(D.expectedType||fr));return j&&te?new br(te.type.itemType,j,te):null}evaluate(S){let D=this.index.evaluate(S),j=this.input.evaluate(S);if(D<0)throw new la(`Array index out of bounds: ${D} < 0.`);if(D>=j.length)throw new la(`Array index out of bounds: ${D} > ${j.length-1}.`);if(D!==Math.floor(D))throw new la(`Array index must be an integer, but found ${D} instead.`);return j[D]}eachChild(S){S(this.index),S(this.input)}outputDefined(){return!1}}class Hr{constructor(S,D){this.type=dt,this.needle=S,this.haystack=D}static parse(S,D){if(S.length!==3)return D.error(`Expected 2 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,fr),te=D.parse(S[2],2,fr);return j&&te?ht(j.type,[dt,Et,St,Lt,fr])?new Hr(j,te):D.error(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(j.type)} instead`):null}evaluate(S){let D=this.needle.evaluate(S),j=this.haystack.evaluate(S);if(!j)return!1;if(!Le(D,[\"boolean\",\"string\",\"number\",\"null\"]))throw new la(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(Ki(D))} instead.`);if(!Le(j,[\"string\",\"array\"]))throw new la(`Expected second argument to be of type array or string, but found ${Ye(Ki(j))} instead.`);return j.indexOf(D)>=0}eachChild(S){S(this.needle),S(this.haystack)}outputDefined(){return!0}}class ti{constructor(S,D,j){this.type=St,this.needle=S,this.haystack=D,this.fromIndex=j}static parse(S,D){if(S.length<=2||S.length>=5)return D.error(`Expected 3 or 4 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,fr),te=D.parse(S[2],2,fr);if(!j||!te)return null;if(!ht(j.type,[dt,Et,St,Lt,fr]))return D.error(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(j.type)} instead`);if(S.length===4){let ue=D.parse(S[3],3,St);return ue?new ti(j,te,ue):null}return new ti(j,te)}evaluate(S){let D=this.needle.evaluate(S),j=this.haystack.evaluate(S);if(!Le(D,[\"boolean\",\"string\",\"number\",\"null\"]))throw new la(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(Ki(D))} instead.`);let te;if(this.fromIndex&&(te=this.fromIndex.evaluate(S)),Le(j,[\"string\"])){let ue=j.indexOf(D,te);return ue===-1?-1:[...j.slice(0,ue)].length}if(Le(j,[\"array\"]))return j.indexOf(D,te);throw new la(`Expected second argument to be of type array or string, but found ${Ye(Ki(j))} instead.`)}eachChild(S){S(this.needle),S(this.haystack),this.fromIndex&&S(this.fromIndex)}outputDefined(){return!1}}class zi{constructor(S,D,j,te,ue,ve){this.inputType=S,this.type=D,this.input=j,this.cases=te,this.outputs=ue,this.otherwise=ve}static parse(S,D){if(S.length<5)return D.error(`Expected at least 4 arguments, but found only ${S.length-1}.`);if(S.length%2!=1)return D.error(\"Expected an even number of arguments.\");let j,te;D.expectedType&&D.expectedType.kind!==\"value\"&&(te=D.expectedType);let ue={},ve=[];for(let at=2;at<S.length-1;at+=2){let Tt=S[at],Ft=S[at+1];Array.isArray(Tt)||(Tt=[Tt]);let Qt=D.concat(at);if(Tt.length===0)return Qt.error(\"Expected at least one branch label.\");for(let Tr of Tt){if(typeof Tr!=\"number\"&&typeof Tr!=\"string\")return Qt.error(\"Branch labels must be numbers or strings.\");if(typeof Tr==\"number\"&&Math.abs(Tr)>Number.MAX_SAFE_INTEGER)return Qt.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof Tr==\"number\"&&Math.floor(Tr)!==Tr)return Qt.error(\"Numeric branch labels must be integer values.\");if(j){if(Qt.checkSubtype(j,Ki(Tr)))return null}else j=Ki(Tr);if(ue[String(Tr)]!==void 0)return Qt.error(\"Branch labels must be unique.\");ue[String(Tr)]=ve.length}let sr=D.parse(Ft,at,te);if(!sr)return null;te=te||sr.type,ve.push(sr)}let De=D.parse(S[1],1,fr);if(!De)return null;let Ze=D.parse(S[S.length-1],S.length-1,te);return Ze?De.type.kind!==\"value\"&&D.concat(1).checkSubtype(j,De.type)?null:new zi(j,te,De,ue,ve,Ze):null}evaluate(S){let D=this.input.evaluate(S);return(Ki(D)===this.inputType&&this.outputs[this.cases[D]]||this.otherwise).evaluate(S)}eachChild(S){S(this.input),this.outputs.forEach(S),S(this.otherwise)}outputDefined(){return this.outputs.every(S=>S.outputDefined())&&this.otherwise.outputDefined()}}class Yi{constructor(S,D,j){this.type=S,this.branches=D,this.otherwise=j}static parse(S,D){if(S.length<4)return D.error(`Expected at least 3 arguments, but found only ${S.length-1}.`);if(S.length%2!=0)return D.error(\"Expected an odd number of arguments.\");let j;D.expectedType&&D.expectedType.kind!==\"value\"&&(j=D.expectedType);let te=[];for(let ve=1;ve<S.length-1;ve+=2){let De=D.parse(S[ve],ve,dt);if(!De)return null;let Ze=D.parse(S[ve+1],ve+1,j);if(!Ze)return null;te.push([De,Ze]),j=j||Ze.type}let ue=D.parse(S[S.length-1],S.length-1,j);if(!ue)return null;if(!j)throw new Error(\"Can't infer output type\");return new Yi(j,te,ue)}evaluate(S){for(let[D,j]of this.branches)if(D.evaluate(S))return j.evaluate(S);return this.otherwise.evaluate(S)}eachChild(S){for(let[D,j]of this.branches)S(D),S(j);S(this.otherwise)}outputDefined(){return this.branches.every(([S,D])=>D.outputDefined())&&this.otherwise.outputDefined()}}class an{constructor(S,D,j,te){this.type=S,this.input=D,this.beginIndex=j,this.endIndex=te}static parse(S,D){if(S.length<=2||S.length>=5)return D.error(`Expected 3 or 4 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,fr),te=D.parse(S[2],2,St);if(!j||!te)return null;if(!ht(j.type,[Ne(fr),Et,fr]))return D.error(`Expected first argument to be of type array or string, but found ${Ye(j.type)} instead`);if(S.length===4){let ue=D.parse(S[3],3,St);return ue?new an(j.type,j,te,ue):null}return new an(j.type,j,te)}evaluate(S){let D=this.input.evaluate(S),j=this.beginIndex.evaluate(S),te;if(this.endIndex&&(te=this.endIndex.evaluate(S)),Le(D,[\"string\"]))return[...D].slice(j,te).join(\"\");if(Le(D,[\"array\"]))return D.slice(j,te);throw new la(`Expected first argument to be of type array or string, but found ${Ye(Ki(D))} instead.`)}eachChild(S){S(this.input),S(this.beginIndex),this.endIndex&&S(this.endIndex)}outputDefined(){return!1}}function hi(R,S){let D=R.length-1,j,te,ue=0,ve=D,De=0;for(;ue<=ve;)if(De=Math.floor((ue+ve)/2),j=R[De],te=R[De+1],j<=S){if(De===D||S<te)return De;ue=De+1}else{if(!(j>S))throw new la(\"Input is not a number.\");ve=De-1}return 0}class Ji{constructor(S,D,j){this.type=S,this.input=D,this.labels=[],this.outputs=[];for(let[te,ue]of j)this.labels.push(te),this.outputs.push(ue)}static parse(S,D){if(S.length-1<4)return D.error(`Expected at least 4 arguments, but found only ${S.length-1}.`);if((S.length-1)%2!=0)return D.error(\"Expected an even number of arguments.\");let j=D.parse(S[1],1,St);if(!j)return null;let te=[],ue=null;D.expectedType&&D.expectedType.kind!==\"value\"&&(ue=D.expectedType);for(let ve=1;ve<S.length;ve+=2){let De=ve===1?-1/0:S[ve],Ze=S[ve+1],at=ve,Tt=ve+1;if(typeof De!=\"number\")return D.error('Input/output pairs for \"step\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',at);if(te.length&&te[te.length-1][0]>=De)return D.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',at);let Ft=D.parse(Ze,Tt,ue);if(!Ft)return null;ue=ue||Ft.type,te.push([De,Ft])}return new Ji(ue,j,te)}evaluate(S){let D=this.labels,j=this.outputs;if(D.length===1)return j[0].evaluate(S);let te=this.input.evaluate(S);if(te<=D[0])return j[0].evaluate(S);let ue=D.length;return te>=D[ue-1]?j[ue-1].evaluate(S):j[hi(D,te)].evaluate(S)}eachChild(S){S(this.input);for(let D of this.outputs)S(D)}outputDefined(){return this.outputs.every(S=>S.outputDefined())}}function ua(R){return R&&R.__esModule&&Object.prototype.hasOwnProperty.call(R,\"default\")?R.default:R}var Fn=Sa;function Sa(R,S,D,j){this.cx=3*R,this.bx=3*(D-R)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*S,this.by=3*(j-S)-this.cy,this.ay=1-this.cy-this.by,this.p1x=R,this.p1y=S,this.p2x=D,this.p2y=j}Sa.prototype={sampleCurveX:function(R){return((this.ax*R+this.bx)*R+this.cx)*R},sampleCurveY:function(R){return((this.ay*R+this.by)*R+this.cy)*R},sampleCurveDerivativeX:function(R){return(3*this.ax*R+2*this.bx)*R+this.cx},solveCurveX:function(R,S){if(S===void 0&&(S=1e-6),R<0)return 0;if(R>1)return 1;for(var D=R,j=0;j<8;j++){var te=this.sampleCurveX(D)-R;if(Math.abs(te)<S)return D;var ue=this.sampleCurveDerivativeX(D);if(Math.abs(ue)<1e-6)break;D-=te/ue}var ve=0,De=1;for(D=R,j=0;j<20&&(te=this.sampleCurveX(D),!(Math.abs(te-R)<S));j++)R>te?ve=D:De=D,D=.5*(De-ve)+ve;return D},solve:function(R,S){return this.sampleCurveY(this.solveCurveX(R,S))}};var go=ua(Fn);function Oo(R,S,D){return R+D*(S-R)}function ho(R,S,D){return R.map((j,te)=>Oo(j,S[te],D))}let Mo={number:Oo,color:function(R,S,D,j=\"rgb\"){switch(j){case\"rgb\":{let[te,ue,ve,De]=ho(R.rgb,S.rgb,D);return new Zt(te,ue,ve,De,!1)}case\"hcl\":{let[te,ue,ve,De]=R.hcl,[Ze,at,Tt,Ft]=S.hcl,Qt,sr;if(isNaN(te)||isNaN(Ze))isNaN(te)?isNaN(Ze)?Qt=NaN:(Qt=Ze,ve!==1&&ve!==0||(sr=at)):(Qt=te,Tt!==1&&Tt!==0||(sr=ue));else{let Di=Ze-te;Ze>te&&Di>180?Di-=360:Ze<te&&te-Ze>180&&(Di+=360),Qt=te+D*Di}let[Tr,Pr,$r,ni]=function([Di,pi,ki,Zi]){return Di=isNaN(Di)?0:Di*ai,Ni([ki,Math.cos(Di)*pi,Math.sin(Di)*pi,Zi])}([Qt,sr!=null?sr:Oo(ue,at,D),Oo(ve,Tt,D),Oo(De,Ft,D)]);return new Zt(Tr,Pr,$r,ni,!1)}case\"lab\":{let[te,ue,ve,De]=Ni(ho(R.lab,S.lab,D));return new Zt(te,ue,ve,De,!1)}}},array:ho,padding:function(R,S,D){return new Vr(ho(R.values,S.values,D))},variableAnchorOffsetCollection:function(R,S,D){let j=R.values,te=S.values;if(j.length!==te.length)throw new la(`Cannot interpolate values of different length. from: ${R.toString()}, to: ${S.toString()}`);let ue=[];for(let ve=0;ve<j.length;ve+=2){if(j[ve]!==te[ve])throw new la(`Cannot interpolate values containing mismatched anchors. from[${ve}]: ${j[ve]}, to[${ve}]: ${te[ve]}`);ue.push(j[ve]);let[De,Ze]=j[ve+1],[at,Tt]=te[ve+1];ue.push([Oo(De,at,D),Oo(Ze,Tt,D)])}return new Si(ue)}};class xo{constructor(S,D,j,te,ue){this.type=S,this.operator=D,this.interpolation=j,this.input=te,this.labels=[],this.outputs=[];for(let[ve,De]of ue)this.labels.push(ve),this.outputs.push(De)}static interpolationFactor(S,D,j,te){let ue=0;if(S.name===\"exponential\")ue=zs(D,S.base,j,te);else if(S.name===\"linear\")ue=zs(D,1,j,te);else if(S.name===\"cubic-bezier\"){let ve=S.controlPoints;ue=new go(ve[0],ve[1],ve[2],ve[3]).solve(zs(D,1,j,te))}return ue}static parse(S,D){let[j,te,ue,...ve]=S;if(!Array.isArray(te)||te.length===0)return D.error(\"Expected an interpolation type expression.\",1);if(te[0]===\"linear\")te={name:\"linear\"};else if(te[0]===\"exponential\"){let at=te[1];if(typeof at!=\"number\")return D.error(\"Exponential interpolation requires a numeric base.\",1,1);te={name:\"exponential\",base:at}}else{if(te[0]!==\"cubic-bezier\")return D.error(`Unknown interpolation type ${String(te[0])}`,1,0);{let at=te.slice(1);if(at.length!==4||at.some(Tt=>typeof Tt!=\"number\"||Tt<0||Tt>1))return D.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);te={name:\"cubic-bezier\",controlPoints:at}}}if(S.length-1<4)return D.error(`Expected at least 4 arguments, but found only ${S.length-1}.`);if((S.length-1)%2!=0)return D.error(\"Expected an even number of arguments.\");if(ue=D.parse(ue,2,St),!ue)return null;let De=[],Ze=null;j===\"interpolate-hcl\"||j===\"interpolate-lab\"?Ze=Ht:D.expectedType&&D.expectedType.kind!==\"value\"&&(Ze=D.expectedType);for(let at=0;at<ve.length;at+=2){let Tt=ve[at],Ft=ve[at+1],Qt=at+3,sr=at+4;if(typeof Tt!=\"number\")return D.error('Input/output pairs for \"interpolate\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',Qt);if(De.length&&De[De.length-1][0]>=Tt)return D.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',Qt);let Tr=D.parse(Ft,sr,Ze);if(!Tr)return null;Ze=Ze||Tr.type,De.push([Tt,Tr])}return xe(Ze,St)||xe(Ze,Ht)||xe(Ze,Or)||xe(Ze,ut)||xe(Ze,Ne(St))?new xo(Ze,j,te,ue,De):D.error(`Type ${Ye(Ze)} is not interpolatable.`)}evaluate(S){let D=this.labels,j=this.outputs;if(D.length===1)return j[0].evaluate(S);let te=this.input.evaluate(S);if(te<=D[0])return j[0].evaluate(S);let ue=D.length;if(te>=D[ue-1])return j[ue-1].evaluate(S);let ve=hi(D,te),De=xo.interpolationFactor(this.interpolation,te,D[ve],D[ve+1]),Ze=j[ve].evaluate(S),at=j[ve+1].evaluate(S);switch(this.operator){case\"interpolate\":return Mo[this.type.kind](Ze,at,De);case\"interpolate-hcl\":return Mo.color(Ze,at,De,\"hcl\");case\"interpolate-lab\":return Mo.color(Ze,at,De,\"lab\")}}eachChild(S){S(this.input);for(let D of this.outputs)S(D)}outputDefined(){return this.outputs.every(S=>S.outputDefined())}}function zs(R,S,D,j){let te=j-D,ue=R-D;return te===0?0:S===1?ue/te:(Math.pow(S,ue)-1)/(Math.pow(S,te)-1)}class ks{constructor(S,D){this.type=S,this.args=D}static parse(S,D){if(S.length<2)return D.error(\"Expectected at least one argument.\");let j=null,te=D.expectedType;te&&te.kind!==\"value\"&&(j=te);let ue=[];for(let De of S.slice(1)){let Ze=D.parse(De,1+ue.length,j,void 0,{typeAnnotation:\"omit\"});if(!Ze)return null;j=j||Ze.type,ue.push(Ze)}if(!j)throw new Error(\"No output type\");let ve=te&&ue.some(De=>Xe(te,De.type));return new ks(ve?fr:j,ue)}evaluate(S){let D,j=null,te=0;for(let ue of this.args)if(te++,j=ue.evaluate(S),j&&j instanceof Mi&&!j.available&&(D||(D=j.name),j=null,te===this.args.length&&(j=D)),j!==null)break;return j}eachChild(S){this.args.forEach(S)}outputDefined(){return this.args.every(S=>S.outputDefined())}}function Zs(R,S){return R===\"==\"||R===\"!=\"?S.kind===\"boolean\"||S.kind===\"string\"||S.kind===\"number\"||S.kind===\"null\"||S.kind===\"value\":S.kind===\"string\"||S.kind===\"number\"||S.kind===\"value\"}function Xs(R,S,D,j){return j.compare(S,D)===0}function wl(R,S,D){let j=R!==\"==\"&&R!==\"!=\";return class GHe{constructor(ue,ve,De){this.type=dt,this.lhs=ue,this.rhs=ve,this.collator=De,this.hasUntypedArgument=ue.type.kind===\"value\"||ve.type.kind===\"value\"}static parse(ue,ve){if(ue.length!==3&&ue.length!==4)return ve.error(\"Expected two or three arguments.\");let De=ue[0],Ze=ve.parse(ue[1],1,fr);if(!Ze)return null;if(!Zs(De,Ze.type))return ve.concat(1).error(`\"${De}\" comparisons are not supported for type '${Ye(Ze.type)}'.`);let at=ve.parse(ue[2],2,fr);if(!at)return null;if(!Zs(De,at.type))return ve.concat(2).error(`\"${De}\" comparisons are not supported for type '${Ye(at.type)}'.`);if(Ze.type.kind!==at.type.kind&&Ze.type.kind!==\"value\"&&at.type.kind!==\"value\")return ve.error(`Cannot compare types '${Ye(Ze.type)}' and '${Ye(at.type)}'.`);j&&(Ze.type.kind===\"value\"&&at.type.kind!==\"value\"?Ze=new Ra(at.type,[Ze]):Ze.type.kind!==\"value\"&&at.type.kind===\"value\"&&(at=new Ra(Ze.type,[at])));let Tt=null;if(ue.length===4){if(Ze.type.kind!==\"string\"&&at.type.kind!==\"string\"&&Ze.type.kind!==\"value\"&&at.type.kind!==\"value\")return ve.error(\"Cannot use collator to compare non-string types.\");if(Tt=ve.parse(ue[3],3,_r),!Tt)return null}return new GHe(Ze,at,Tt)}evaluate(ue){let ve=this.lhs.evaluate(ue),De=this.rhs.evaluate(ue);if(j&&this.hasUntypedArgument){let Ze=Ki(ve),at=Ki(De);if(Ze.kind!==at.kind||Ze.kind!==\"string\"&&Ze.kind!==\"number\")throw new la(`Expected arguments for \"${R}\" to be (string, string) or (number, number), but found (${Ze.kind}, ${at.kind}) instead.`)}if(this.collator&&!j&&this.hasUntypedArgument){let Ze=Ki(ve),at=Ki(De);if(Ze.kind!==\"string\"||at.kind!==\"string\")return S(ue,ve,De)}return this.collator?D(ue,ve,De,this.collator.evaluate(ue)):S(ue,ve,De)}eachChild(ue){ue(this.lhs),ue(this.rhs),this.collator&&ue(this.collator)}outputDefined(){return!0}}}let os=wl(\"==\",function(R,S,D){return S===D},Xs),cl=wl(\"!=\",function(R,S,D){return S!==D},function(R,S,D,j){return!Xs(0,S,D,j)}),Cs=wl(\"<\",function(R,S,D){return S<D},function(R,S,D,j){return j.compare(S,D)<0}),ml=wl(\">\",function(R,S,D){return S>D},function(R,S,D,j){return j.compare(S,D)>0}),Ys=wl(\"<=\",function(R,S,D){return S<=D},function(R,S,D,j){return j.compare(S,D)<=0}),Hs=wl(\">=\",function(R,S,D){return S>=D},function(R,S,D,j){return j.compare(S,D)>=0});class Eo{constructor(S,D,j){this.type=_r,this.locale=j,this.caseSensitive=S,this.diacriticSensitive=D}static parse(S,D){if(S.length!==2)return D.error(\"Expected one argument.\");let j=S[1];if(typeof j!=\"object\"||Array.isArray(j))return D.error(\"Collator options argument must be an object.\");let te=D.parse(j[\"case-sensitive\"]!==void 0&&j[\"case-sensitive\"],1,dt);if(!te)return null;let ue=D.parse(j[\"diacritic-sensitive\"]!==void 0&&j[\"diacritic-sensitive\"],1,dt);if(!ue)return null;let ve=null;return j.locale&&(ve=D.parse(j.locale,1,Et),!ve)?null:new Eo(te,ue,ve)}evaluate(S){return new yr(this.caseSensitive.evaluate(S),this.diacriticSensitive.evaluate(S),this.locale?this.locale.evaluate(S):null)}eachChild(S){S(this.caseSensitive),S(this.diacriticSensitive),this.locale&&S(this.locale)}outputDefined(){return!1}}class fs{constructor(S,D,j,te,ue){this.type=Et,this.number=S,this.locale=D,this.currency=j,this.minFractionDigits=te,this.maxFractionDigits=ue}static parse(S,D){if(S.length!==3)return D.error(\"Expected two arguments.\");let j=D.parse(S[1],1,St);if(!j)return null;let te=S[2];if(typeof te!=\"object\"||Array.isArray(te))return D.error(\"NumberFormat options argument must be an object.\");let ue=null;if(te.locale&&(ue=D.parse(te.locale,1,Et),!ue))return null;let ve=null;if(te.currency&&(ve=D.parse(te.currency,1,Et),!ve))return null;let De=null;if(te[\"min-fraction-digits\"]&&(De=D.parse(te[\"min-fraction-digits\"],1,St),!De))return null;let Ze=null;return te[\"max-fraction-digits\"]&&(Ze=D.parse(te[\"max-fraction-digits\"],1,St),!Ze)?null:new fs(j,ue,ve,De,Ze)}evaluate(S){return new Intl.NumberFormat(this.locale?this.locale.evaluate(S):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(S):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(S):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(S):void 0}).format(this.number.evaluate(S))}eachChild(S){S(this.number),this.locale&&S(this.locale),this.currency&&S(this.currency),this.minFractionDigits&&S(this.minFractionDigits),this.maxFractionDigits&&S(this.maxFractionDigits)}outputDefined(){return!1}}class Ql{constructor(S){this.type=Br,this.sections=S}static parse(S,D){if(S.length<2)return D.error(\"Expected at least one argument.\");let j=S[1];if(!Array.isArray(j)&&typeof j==\"object\")return D.error(\"First argument must be an image or text section.\");let te=[],ue=!1;for(let ve=1;ve<=S.length-1;++ve){let De=S[ve];if(ue&&typeof De==\"object\"&&!Array.isArray(De)){ue=!1;let Ze=null;if(De[\"font-scale\"]&&(Ze=D.parse(De[\"font-scale\"],1,St),!Ze))return null;let at=null;if(De[\"text-font\"]&&(at=D.parse(De[\"text-font\"],1,Ne(Et)),!at))return null;let Tt=null;if(De[\"text-color\"]&&(Tt=D.parse(De[\"text-color\"],1,Ht),!Tt))return null;let Ft=te[te.length-1];Ft.scale=Ze,Ft.font=at,Ft.textColor=Tt}else{let Ze=D.parse(S[ve],1,fr);if(!Ze)return null;let at=Ze.type.kind;if(at!==\"string\"&&at!==\"value\"&&at!==\"null\"&&at!==\"resolvedImage\")return D.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");ue=!0,te.push({content:Ze,scale:null,font:null,textColor:null})}}return new Ql(te)}evaluate(S){return new Zr(this.sections.map(D=>{let j=D.content.evaluate(S);return Ki(j)===Nr?new Fr(\"\",j,null,null,null):new Fr(ka(j),null,D.scale?D.scale.evaluate(S):null,D.font?D.font.evaluate(S).join(\",\"):null,D.textColor?D.textColor.evaluate(S):null)}))}eachChild(S){for(let D of this.sections)S(D.content),D.scale&&S(D.scale),D.font&&S(D.font),D.textColor&&S(D.textColor)}outputDefined(){return!1}}class Hu{constructor(S){this.type=Nr,this.input=S}static parse(S,D){if(S.length!==2)return D.error(\"Expected two arguments.\");let j=D.parse(S[1],1,Et);return j?new Hu(j):D.error(\"No image name provided.\")}evaluate(S){let D=this.input.evaluate(S),j=Mi.fromString(D);return j&&S.availableImages&&(j.available=S.availableImages.indexOf(D)>-1),j}eachChild(S){S(this.input)}outputDefined(){return!1}}class fc{constructor(S){this.type=St,this.input=S}static parse(S,D){if(S.length!==2)return D.error(`Expected 1 argument, but found ${S.length-1} instead.`);let j=D.parse(S[1],1);return j?j.type.kind!==\"array\"&&j.type.kind!==\"string\"&&j.type.kind!==\"value\"?D.error(`Expected argument of type string or array, but found ${Ye(j.type)} instead.`):new fc(j):null}evaluate(S){let D=this.input.evaluate(S);if(typeof D==\"string\")return[...D].length;if(Array.isArray(D))return D.length;throw new la(`Expected value to be of type string or array, but found ${Ye(Ki(D))} instead.`)}eachChild(S){S(this.input)}outputDefined(){return!1}}let ms=8192;function on(R,S){let D=(180+R[0])/360,j=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+R[1]*Math.PI/360)))/360,te=Math.pow(2,S.z);return[Math.round(D*te*ms),Math.round(j*te*ms)]}function fa(R,S){let D=Math.pow(2,S.z);return[(te=(R[0]/ms+S.x)/D,360*te-180),(j=(R[1]/ms+S.y)/D,360/Math.PI*Math.atan(Math.exp((180-360*j)*Math.PI/180))-90)];var j,te}function Qu(R,S){R[0]=Math.min(R[0],S[0]),R[1]=Math.min(R[1],S[1]),R[2]=Math.max(R[2],S[0]),R[3]=Math.max(R[3],S[1])}function Rl(R,S){return!(R[0]<=S[0]||R[2]>=S[2]||R[1]<=S[1]||R[3]>=S[3])}function vo(R,S,D){let j=R[0]-S[0],te=R[1]-S[1],ue=R[0]-D[0],ve=R[1]-D[1];return j*ve-ue*te==0&&j*ue<=0&&te*ve<=0}function Zl(R,S,D,j){return(te=[j[0]-D[0],j[1]-D[1]])[0]*(ue=[S[0]-R[0],S[1]-R[1]])[1]-te[1]*ue[0]!=0&&!(!Co(R,S,D,j)||!Co(D,j,R,S));var te,ue}function Ks(R,S,D){for(let j of D)for(let te=0;te<j.length-1;++te)if(Zl(R,S,j[te],j[te+1]))return!0;return!1}function Xl(R,S,D=!1){let j=!1;for(let De of S)for(let Ze=0;Ze<De.length-1;Ze++){if(vo(R,De[Ze],De[Ze+1]))return D;(ue=De[Ze])[1]>(te=R)[1]!=(ve=De[Ze+1])[1]>te[1]&&te[0]<(ve[0]-ue[0])*(te[1]-ue[1])/(ve[1]-ue[1])+ue[0]&&(j=!j)}var te,ue,ve;return j}function Ec(R,S){for(let D of S)if(Xl(R,D))return!0;return!1}function Zn(R,S){for(let D of R)if(!Xl(D,S))return!1;for(let D=0;D<R.length-1;++D)if(Ks(R[D],R[D+1],S))return!1;return!0}function ko(R,S){for(let D of S)if(Zn(R,D))return!0;return!1}function Co(R,S,D,j){let te=j[0]-D[0],ue=j[1]-D[1],ve=(R[0]-D[0])*ue-te*(R[1]-D[1]),De=(S[0]-D[0])*ue-te*(S[1]-D[1]);return ve>0&&De<0||ve<0&&De>0}function Tl(R,S,D){let j=[];for(let te=0;te<R.length;te++){let ue=[];for(let ve=0;ve<R[te].length;ve++){let De=on(R[te][ve],D);Qu(S,De),ue.push(De)}j.push(ue)}return j}function uf(R,S,D){let j=[];for(let te=0;te<R.length;te++){let ue=Tl(R[te],S,D);j.push(ue)}return j}function So(R,S,D,j){if(R[0]<D[0]||R[0]>D[2]){let te=.5*j,ue=R[0]-D[0]>te?-j:D[0]-R[0]>te?j:0;ue===0&&(ue=R[0]-D[2]>te?-j:D[2]-R[0]>te?j:0),R[0]+=ue}Qu(S,R)}function cf(R,S,D,j){let te=Math.pow(2,j.z)*ms,ue=[j.x*ms,j.y*ms],ve=[];for(let De of R)for(let Ze of De){let at=[Ze.x+ue[0],Ze.y+ue[1]];So(at,S,D,te),ve.push(at)}return ve}function rh(R,S,D,j){let te=Math.pow(2,j.z)*ms,ue=[j.x*ms,j.y*ms],ve=[];for(let Ze of R){let at=[];for(let Tt of Ze){let Ft=[Tt.x+ue[0],Tt.y+ue[1]];Qu(S,Ft),at.push(Ft)}ve.push(at)}if(S[2]-S[0]<=te/2){(De=S)[0]=De[1]=1/0,De[2]=De[3]=-1/0;for(let Ze of ve)for(let at of Ze)So(at,S,D,te)}var De;return ve}class Al{constructor(S,D){this.type=dt,this.geojson=S,this.geometries=D}static parse(S,D){if(S.length!==2)return D.error(`'within' expression requires exactly one argument, but found ${S.length-1} instead.`);if(Gi(S[1])){let j=S[1];if(j.type===\"FeatureCollection\"){let te=[];for(let ue of j.features){let{type:ve,coordinates:De}=ue.geometry;ve===\"Polygon\"&&te.push(De),ve===\"MultiPolygon\"&&te.push(...De)}if(te.length)return new Al(j,{type:\"MultiPolygon\",coordinates:te})}else if(j.type===\"Feature\"){let te=j.geometry.type;if(te===\"Polygon\"||te===\"MultiPolygon\")return new Al(j,j.geometry)}else if(j.type===\"Polygon\"||j.type===\"MultiPolygon\")return new Al(j,j)}return D.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(S){if(S.geometry()!=null&&S.canonicalID()!=null){if(S.geometryType()===\"Point\")return function(D,j){let te=[1/0,1/0,-1/0,-1/0],ue=[1/0,1/0,-1/0,-1/0],ve=D.canonicalID();if(j.type===\"Polygon\"){let De=Tl(j.coordinates,ue,ve),Ze=cf(D.geometry(),te,ue,ve);if(!Rl(te,ue))return!1;for(let at of Ze)if(!Xl(at,De))return!1}if(j.type===\"MultiPolygon\"){let De=uf(j.coordinates,ue,ve),Ze=cf(D.geometry(),te,ue,ve);if(!Rl(te,ue))return!1;for(let at of Ze)if(!Ec(at,De))return!1}return!0}(S,this.geometries);if(S.geometryType()===\"LineString\")return function(D,j){let te=[1/0,1/0,-1/0,-1/0],ue=[1/0,1/0,-1/0,-1/0],ve=D.canonicalID();if(j.type===\"Polygon\"){let De=Tl(j.coordinates,ue,ve),Ze=rh(D.geometry(),te,ue,ve);if(!Rl(te,ue))return!1;for(let at of Ze)if(!Zn(at,De))return!1}if(j.type===\"MultiPolygon\"){let De=uf(j.coordinates,ue,ve),Ze=rh(D.geometry(),te,ue,ve);if(!Rl(te,ue))return!1;for(let at of Ze)if(!ko(at,De))return!1}return!0}(S,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let Hc=class{constructor(R=[],S=(D,j)=>D<j?-1:D>j?1:0){if(this.data=R,this.length=this.data.length,this.compare=S,this.length>0)for(let D=(this.length>>1)-1;D>=0;D--)this._down(D)}push(R){this.data.push(R),this._up(this.length++)}pop(){if(this.length===0)return;let R=this.data[0],S=this.data.pop();return--this.length>0&&(this.data[0]=S,this._down(0)),R}peek(){return this.data[0]}_up(R){let{data:S,compare:D}=this,j=S[R];for(;R>0;){let te=R-1>>1,ue=S[te];if(D(j,ue)>=0)break;S[R]=ue,R=te}S[R]=j}_down(R){let{data:S,compare:D}=this,j=this.length>>1,te=S[R];for(;R<j;){let ue=1+(R<<1),ve=ue+1;if(ve<this.length&&D(S[ve],S[ue])<0&&(ue=ve),D(S[ue],te)>=0)break;S[R]=S[ue],R=ue}S[R]=te}};function eu(R,S,D,j,te){Ls(R,S,D,j||R.length-1,te||kc)}function Ls(R,S,D,j,te){for(;j>D;){if(j-D>600){var ue=j-D+1,ve=S-D+1,De=Math.log(ue),Ze=.5*Math.exp(2*De/3),at=.5*Math.sqrt(De*Ze*(ue-Ze)/ue)*(ve-ue/2<0?-1:1);Ls(R,S,Math.max(D,Math.floor(S-ve*Ze/ue+at)),Math.min(j,Math.floor(S+(ue-ve)*Ze/ue+at)),te)}var Tt=R[S],Ft=D,Qt=j;for(mu(R,D,S),te(R[j],Tt)>0&&mu(R,D,j);Ft<Qt;){for(mu(R,Ft,Qt),Ft++,Qt--;te(R[Ft],Tt)<0;)Ft++;for(;te(R[Qt],Tt)>0;)Qt--}te(R[D],Tt)===0?mu(R,D,Qt):mu(R,++Qt,j),Qt<=S&&(D=Qt+1),S<=Qt&&(j=Qt-1)}}function mu(R,S,D){var j=R[S];R[S]=R[D],R[D]=j}function kc(R,S){return R<S?-1:R>S?1:0}function Of(R,S){if(R.length<=1)return[R];let D=[],j,te;for(let ue of R){let ve=vd(ue);ve!==0&&(ue.area=Math.abs(ve),te===void 0&&(te=ve<0),te===ve<0?(j&&D.push(j),j=[ue]):j.push(ue))}if(j&&D.push(j),S>1)for(let ue=0;ue<D.length;ue++)D[ue].length<=S||(eu(D[ue],S,1,D[ue].length-1,Gc),D[ue]=D[ue].slice(0,S));return D}function Gc(R,S){return S.area-R.area}function vd(R){let S=0;for(let D,j,te=0,ue=R.length,ve=ue-1;te<ue;ve=te++)D=R[te],j=R[ve],S+=(j.x-D.x)*(D.y+j.y);return S}let Bf=1/298.257223563,ss=Bf*(2-Bf),ff=Math.PI/180;class ih{constructor(S){let D=6378.137*ff*1e3,j=Math.cos(S*ff),te=1/(1-ss*(1-j*j)),ue=Math.sqrt(te);this.kx=D*ue*j,this.ky=D*ue*te*(1-ss)}distance(S,D){let j=this.wrap(S[0]-D[0])*this.kx,te=(S[1]-D[1])*this.ky;return Math.sqrt(j*j+te*te)}pointOnLine(S,D){let j,te,ue,ve,De=1/0;for(let Ze=0;Ze<S.length-1;Ze++){let at=S[Ze][0],Tt=S[Ze][1],Ft=this.wrap(S[Ze+1][0]-at)*this.kx,Qt=(S[Ze+1][1]-Tt)*this.ky,sr=0;Ft===0&&Qt===0||(sr=(this.wrap(D[0]-at)*this.kx*Ft+(D[1]-Tt)*this.ky*Qt)/(Ft*Ft+Qt*Qt),sr>1?(at=S[Ze+1][0],Tt=S[Ze+1][1]):sr>0&&(at+=Ft/this.kx*sr,Tt+=Qt/this.ky*sr)),Ft=this.wrap(D[0]-at)*this.kx,Qt=(D[1]-Tt)*this.ky;let Tr=Ft*Ft+Qt*Qt;Tr<De&&(De=Tr,j=at,te=Tt,ue=Ze,ve=sr)}return{point:[j,te],index:ue,t:Math.max(0,Math.min(1,ve))}}wrap(S){for(;S<-180;)S+=360;for(;S>180;)S-=360;return S}}function Vl(R,S){return S[0]-R[0]}function Js(R){return R[1]-R[0]+1}function hc(R,S){return R[1]>=R[0]&&R[1]<S}function Cc(R,S){if(R[0]>R[1])return[null,null];let D=Js(R);if(S){if(D===2)return[R,null];let te=Math.floor(D/2);return[[R[0],R[0]+te],[R[0]+te,R[1]]]}if(D===1)return[R,null];let j=Math.floor(D/2)-1;return[[R[0],R[0]+j],[R[0]+j+1,R[1]]]}function ws(R,S){if(!hc(S,R.length))return[1/0,1/0,-1/0,-1/0];let D=[1/0,1/0,-1/0,-1/0];for(let j=S[0];j<=S[1];++j)Qu(D,R[j]);return D}function $s(R){let S=[1/0,1/0,-1/0,-1/0];for(let D of R)for(let j of D)Qu(S,j);return S}function hs(R){return R[0]!==-1/0&&R[1]!==-1/0&&R[2]!==1/0&&R[3]!==1/0}function Ms(R,S,D){if(!hs(R)||!hs(S))return NaN;let j=0,te=0;return R[2]<S[0]&&(j=S[0]-R[2]),R[0]>S[2]&&(j=R[0]-S[2]),R[1]>S[3]&&(te=R[1]-S[3]),R[3]<S[1]&&(te=S[1]-R[3]),D.distance([0,0],[j,te])}function dc(R,S,D){let j=D.pointOnLine(S,R);return D.distance(R,j.point)}function Sl(R,S,D,j,te){let ue=Math.min(dc(R,[D,j],te),dc(S,[D,j],te)),ve=Math.min(dc(D,[R,S],te),dc(j,[R,S],te));return Math.min(ue,ve)}function ec(R,S,D,j,te){if(!hc(S,R.length)||!hc(j,D.length))return 1/0;let ue=1/0;for(let ve=S[0];ve<S[1];++ve){let De=R[ve],Ze=R[ve+1];for(let at=j[0];at<j[1];++at){let Tt=D[at],Ft=D[at+1];if(Zl(De,Ze,Tt,Ft))return 0;ue=Math.min(ue,Sl(De,Ze,Tt,Ft,te))}}return ue}function Ps(R,S,D,j,te){if(!hc(S,R.length)||!hc(j,D.length))return NaN;let ue=1/0;for(let ve=S[0];ve<=S[1];++ve)for(let De=j[0];De<=j[1];++De)if(ue=Math.min(ue,te.distance(R[ve],D[De])),ue===0)return ue;return ue}function ov(R,S,D){if(Xl(R,S,!0))return 0;let j=1/0;for(let te of S){let ue=te[0],ve=te[te.length-1];if(ue!==ve&&(j=Math.min(j,dc(R,[ve,ue],D)),j===0))return j;let De=D.pointOnLine(te,R);if(j=Math.min(j,D.distance(R,De.point)),j===0)return j}return j}function wo(R,S,D,j){if(!hc(S,R.length))return NaN;for(let ue=S[0];ue<=S[1];++ue)if(Xl(R[ue],D,!0))return 0;let te=1/0;for(let ue=S[0];ue<S[1];++ue){let ve=R[ue],De=R[ue+1];for(let Ze of D)for(let at=0,Tt=Ze.length,Ft=Tt-1;at<Tt;Ft=at++){let Qt=Ze[Ft],sr=Ze[at];if(Zl(ve,De,Qt,sr))return 0;te=Math.min(te,Sl(ve,De,Qt,sr,j))}}return te}function Od(R,S){for(let D of R)for(let j of D)if(Xl(j,S,!0))return!0;return!1}function $o(R,S,D,j=1/0){let te=$s(R),ue=$s(S);if(j!==1/0&&Ms(te,ue,D)>=j)return j;if(Rl(te,ue)){if(Od(R,S))return 0}else if(Od(S,R))return 0;let ve=1/0;for(let De of R)for(let Ze=0,at=De.length,Tt=at-1;Ze<at;Tt=Ze++){let Ft=De[Tt],Qt=De[Ze];for(let sr of S)for(let Tr=0,Pr=sr.length,$r=Pr-1;Tr<Pr;$r=Tr++){let ni=sr[$r],Di=sr[Tr];if(Zl(Ft,Qt,ni,Di))return 0;ve=Math.min(ve,Sl(Ft,Qt,ni,Di,D))}}return ve}function Ja(R,S,D,j,te,ue){if(!ue)return;let ve=Ms(ws(j,ue),te,D);ve<S&&R.push([ve,ue,[0,0]])}function Ef(R,S,D,j,te,ue,ve){if(!ue||!ve)return;let De=Ms(ws(j,ue),ws(te,ve),D);De<S&&R.push([De,ue,ve])}function tc(R,S,D,j,te=1/0){let ue=Math.min(j.distance(R[0],D[0][0]),te);if(ue===0)return ue;let ve=new Hc([[0,[0,R.length-1],[0,0]]],Vl),De=$s(D);for(;ve.length>0;){let Ze=ve.pop();if(Ze[0]>=ue)continue;let at=Ze[1],Tt=S?50:100;if(Js(at)<=Tt){if(!hc(at,R.length))return NaN;if(S){let Ft=wo(R,at,D,j);if(isNaN(Ft)||Ft===0)return Ft;ue=Math.min(ue,Ft)}else for(let Ft=at[0];Ft<=at[1];++Ft){let Qt=ov(R[Ft],D,j);if(ue=Math.min(ue,Qt),ue===0)return 0}}else{let Ft=Cc(at,S);Ja(ve,ue,j,R,De,Ft[0]),Ja(ve,ue,j,R,De,Ft[1])}}return ue}function uu(R,S,D,j,te,ue=1/0){let ve=Math.min(ue,te.distance(R[0],D[0]));if(ve===0)return ve;let De=new Hc([[0,[0,R.length-1],[0,D.length-1]]],Vl);for(;De.length>0;){let Ze=De.pop();if(Ze[0]>=ve)continue;let at=Ze[1],Tt=Ze[2],Ft=S?50:100,Qt=j?50:100;if(Js(at)<=Ft&&Js(Tt)<=Qt){if(!hc(at,R.length)&&hc(Tt,D.length))return NaN;let sr;if(S&&j)sr=ec(R,at,D,Tt,te),ve=Math.min(ve,sr);else if(S&&!j){let Tr=R.slice(at[0],at[1]+1);for(let Pr=Tt[0];Pr<=Tt[1];++Pr)if(sr=dc(D[Pr],Tr,te),ve=Math.min(ve,sr),ve===0)return ve}else if(!S&&j){let Tr=D.slice(Tt[0],Tt[1]+1);for(let Pr=at[0];Pr<=at[1];++Pr)if(sr=dc(R[Pr],Tr,te),ve=Math.min(ve,sr),ve===0)return ve}else sr=Ps(R,at,D,Tt,te),ve=Math.min(ve,sr)}else{let sr=Cc(at,S),Tr=Cc(Tt,j);Ef(De,ve,te,R,D,sr[0],Tr[0]),Ef(De,ve,te,R,D,sr[0],Tr[1]),Ef(De,ve,te,R,D,sr[1],Tr[0]),Ef(De,ve,te,R,D,sr[1],Tr[1])}}return ve}function Mh(R){return R.type===\"MultiPolygon\"?R.coordinates.map(S=>({type:\"Polygon\",coordinates:S})):R.type===\"MultiLineString\"?R.coordinates.map(S=>({type:\"LineString\",coordinates:S})):R.type===\"MultiPoint\"?R.coordinates.map(S=>({type:\"Point\",coordinates:S})):[R]}class jc{constructor(S,D){this.type=St,this.geojson=S,this.geometries=D}static parse(S,D){if(S.length!==2)return D.error(`'distance' expression requires exactly one argument, but found ${S.length-1} instead.`);if(Gi(S[1])){let j=S[1];if(j.type===\"FeatureCollection\")return new jc(j,j.features.map(te=>Mh(te.geometry)).flat());if(j.type===\"Feature\")return new jc(j,Mh(j.geometry));if(\"type\"in j&&\"coordinates\"in j)return new jc(j,Mh(j))}return D.error(\"'distance' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(S){if(S.geometry()!=null&&S.canonicalID()!=null){if(S.geometryType()===\"Point\")return function(D,j){let te=D.geometry(),ue=te.flat().map(Ze=>fa([Ze.x,Ze.y],D.canonical));if(te.length===0)return NaN;let ve=new ih(ue[0][1]),De=1/0;for(let Ze of j){switch(Ze.type){case\"Point\":De=Math.min(De,uu(ue,!1,[Ze.coordinates],!1,ve,De));break;case\"LineString\":De=Math.min(De,uu(ue,!1,Ze.coordinates,!0,ve,De));break;case\"Polygon\":De=Math.min(De,tc(ue,!1,Ze.coordinates,ve,De))}if(De===0)return De}return De}(S,this.geometries);if(S.geometryType()===\"LineString\")return function(D,j){let te=D.geometry(),ue=te.flat().map(Ze=>fa([Ze.x,Ze.y],D.canonical));if(te.length===0)return NaN;let ve=new ih(ue[0][1]),De=1/0;for(let Ze of j){switch(Ze.type){case\"Point\":De=Math.min(De,uu(ue,!0,[Ze.coordinates],!1,ve,De));break;case\"LineString\":De=Math.min(De,uu(ue,!0,Ze.coordinates,!0,ve,De));break;case\"Polygon\":De=Math.min(De,tc(ue,!0,Ze.coordinates,ve,De))}if(De===0)return De}return De}(S,this.geometries);if(S.geometryType()===\"Polygon\")return function(D,j){let te=D.geometry();if(te.length===0||te[0].length===0)return NaN;let ue=Of(te,0).map(Ze=>Ze.map(at=>at.map(Tt=>fa([Tt.x,Tt.y],D.canonical)))),ve=new ih(ue[0][0][0][1]),De=1/0;for(let Ze of j)for(let at of ue){switch(Ze.type){case\"Point\":De=Math.min(De,tc([Ze.coordinates],!1,at,ve,De));break;case\"LineString\":De=Math.min(De,tc(Ze.coordinates,!0,at,ve,De));break;case\"Polygon\":De=Math.min(De,$o(at,Ze.coordinates,ve,De))}if(De===0)return De}return De}(S,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}let kf={\"==\":os,\"!=\":cl,\">\":ml,\"<\":Cs,\">=\":Hs,\"<=\":Ys,array:Ra,at:br,boolean:Ra,case:Yi,coalesce:ks,collator:Eo,format:Ql,image:Hu,in:Hr,\"index-of\":ti,interpolate:xo,\"interpolate-hcl\":xo,\"interpolate-lab\":xo,length:fc,let:xn,literal:jn,match:zi,number:Ra,\"number-format\":fs,object:Ra,slice:an,step:Ji,string:Ra,\"to-boolean\":oa,\"to-color\":oa,\"to-number\":oa,\"to-string\":oa,var:_t,within:Al,distance:jc};class Ml{constructor(S,D,j,te){this.name=S,this.type=D,this._evaluate=j,this.args=te}evaluate(S){return this._evaluate(S,this.args)}eachChild(S){this.args.forEach(S)}outputDefined(){return!1}static parse(S,D){let j=S[0],te=Ml.definitions[j];if(!te)return D.error(`Unknown expression \"${j}\". If you wanted a literal array, use [\"literal\", [...]].`,0);let ue=Array.isArray(te)?te[0]:te.type,ve=Array.isArray(te)?[[te[1],te[2]]]:te.overloads,De=ve.filter(([at])=>!Array.isArray(at)||at.length===S.length-1),Ze=null;for(let[at,Tt]of De){Ze=new oo(D.registry,kh,D.path,null,D.scope);let Ft=[],Qt=!1;for(let sr=1;sr<S.length;sr++){let Tr=S[sr],Pr=Array.isArray(at)?at[sr-1]:at.type,$r=Ze.parse(Tr,1+Ft.length,Pr);if(!$r){Qt=!0;break}Ft.push($r)}if(!Qt)if(Array.isArray(at)&&at.length!==Ft.length)Ze.error(`Expected ${at.length} arguments, but found ${Ft.length} instead.`);else{for(let sr=0;sr<Ft.length;sr++){let Tr=Array.isArray(at)?at[sr]:at.type,Pr=Ft[sr];Ze.concat(sr+1).checkSubtype(Tr,Pr.type)}if(Ze.errors.length===0)return new Ml(j,ue,Tt,Ft)}}if(De.length===1)D.errors.push(...Ze.errors);else{let at=(De.length?De:ve).map(([Ft])=>{return Qt=Ft,Array.isArray(Qt)?`(${Qt.map(Ye).join(\", \")})`:`(${Ye(Qt.type)}...)`;var Qt}).join(\" | \"),Tt=[];for(let Ft=1;Ft<S.length;Ft++){let Qt=D.parse(S[Ft],1+Tt.length);if(!Qt)return null;Tt.push(Ye(Qt.type))}D.error(`Expected arguments of type ${at}, but found (${Tt.join(\", \")}) instead.`)}return null}static register(S,D){Ml.definitions=D;for(let j in D)S[j]=Ml}}function Yh(R,[S,D,j,te]){S=S.evaluate(R),D=D.evaluate(R),j=j.evaluate(R);let ue=te?te.evaluate(R):1,ve=Pi(S,D,j,ue);if(ve)throw new la(ve);return new Zt(S/255,D/255,j/255,ue,!1)}function Eh(R,S){return R in S}function nh(R,S){let D=S[R];return D===void 0?null:D}function hf(R){return{type:R}}function kh(R){if(R instanceof _t)return kh(R.boundExpression);if(R instanceof Ml&&R.name===\"error\"||R instanceof Eo||R instanceof Al||R instanceof jc)return!1;let S=R instanceof oa||R instanceof Ra,D=!0;return R.eachChild(j=>{D=S?D&&kh(j):D&&j instanceof jn}),!!D&&Kh(R)&&ah(R,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}function Kh(R){if(R instanceof Ml&&(R.name===\"get\"&&R.args.length===1||R.name===\"feature-state\"||R.name===\"has\"&&R.args.length===1||R.name===\"properties\"||R.name===\"geometry-type\"||R.name===\"id\"||/^filter-/.test(R.name))||R instanceof Al||R instanceof jc)return!1;let S=!0;return R.eachChild(D=>{S&&!Kh(D)&&(S=!1)}),S}function rc(R){if(R instanceof Ml&&R.name===\"feature-state\")return!1;let S=!0;return R.eachChild(D=>{S&&!rc(D)&&(S=!1)}),S}function ah(R,S){if(R instanceof Ml&&S.indexOf(R.name)>=0)return!1;let D=!0;return R.eachChild(j=>{D&&!ah(j,S)&&(D=!1)}),D}function Wc(R){return{result:\"success\",value:R}}function df(R){return{result:\"error\",value:R}}function Cu(R){return R[\"property-type\"]===\"data-driven\"||R[\"property-type\"]===\"cross-faded-data-driven\"}function Nf(R){return!!R.expression&&R.expression.parameters.indexOf(\"zoom\")>-1}function Zc(R){return!!R.expression&&R.expression.interpolated}function ds(R){return R instanceof Number?\"number\":R instanceof String?\"string\":R instanceof Boolean?\"boolean\":Array.isArray(R)?\"array\":R===null?\"null\":typeof R}function Ch(R){return typeof R==\"object\"&&R!==null&&!Array.isArray(R)}function Bd(R){return R}function Jh(R,S){let D=S.type===\"color\",j=R.stops&&typeof R.stops[0][0]==\"object\",te=j||!(j||R.property!==void 0),ue=R.type||(Zc(S)?\"exponential\":\"interval\");if(D||S.type===\"padding\"){let Tt=D?Zt.parse:Vr.parse;(R=Ke({},R)).stops&&(R.stops=R.stops.map(Ft=>[Ft[0],Tt(Ft[1])])),R.default=Tt(R.default?R.default:S.default)}if(R.colorSpace&&(ve=R.colorSpace)!==\"rgb\"&&ve!==\"hcl\"&&ve!==\"lab\")throw new Error(`Unknown color space: \"${R.colorSpace}\"`);var ve;let De,Ze,at;if(ue===\"exponential\")De=$h;else if(ue===\"interval\")De=Lu;else if(ue===\"categorical\"){De=pd,Ze=Object.create(null);for(let Tt of R.stops)Ze[Tt[0]]=Tt[1];at=typeof R.stops[0][0]}else{if(ue!==\"identity\")throw new Error(`Unknown function type \"${ue}\"`);De=tu}if(j){let Tt={},Ft=[];for(let Tr=0;Tr<R.stops.length;Tr++){let Pr=R.stops[Tr],$r=Pr[0].zoom;Tt[$r]===void 0&&(Tt[$r]={zoom:$r,type:R.type,property:R.property,default:R.default,stops:[]},Ft.push($r)),Tt[$r].stops.push([Pr[0].value,Pr[1]])}let Qt=[];for(let Tr of Ft)Qt.push([Tt[Tr].zoom,Jh(Tt[Tr],S)]);let sr={name:\"linear\"};return{kind:\"composite\",interpolationType:sr,interpolationFactor:xo.interpolationFactor.bind(void 0,sr),zoomStops:Qt.map(Tr=>Tr[0]),evaluate:({zoom:Tr},Pr)=>$h({stops:Qt,base:R.base},S,Tr).evaluate(Tr,Pr)}}if(te){let Tt=ue===\"exponential\"?{name:\"exponential\",base:R.base!==void 0?R.base:1}:null;return{kind:\"camera\",interpolationType:Tt,interpolationFactor:xo.interpolationFactor.bind(void 0,Tt),zoomStops:R.stops.map(Ft=>Ft[0]),evaluate:({zoom:Ft})=>De(R,S,Ft,Ze,at)}}return{kind:\"source\",evaluate(Tt,Ft){let Qt=Ft&&Ft.properties?Ft.properties[R.property]:void 0;return Qt===void 0?Cf(R.default,S.default):De(R,S,Qt,Ze,at)}}}function Cf(R,S,D){return R!==void 0?R:S!==void 0?S:D!==void 0?D:void 0}function pd(R,S,D,j,te){return Cf(typeof D===te?j[D]:void 0,R.default,S.default)}function Lu(R,S,D){if(ds(D)!==\"number\")return Cf(R.default,S.default);let j=R.stops.length;if(j===1||D<=R.stops[0][0])return R.stops[0][1];if(D>=R.stops[j-1][0])return R.stops[j-1][1];let te=hi(R.stops.map(ue=>ue[0]),D);return R.stops[te][1]}function $h(R,S,D){let j=R.base!==void 0?R.base:1;if(ds(D)!==\"number\")return Cf(R.default,S.default);let te=R.stops.length;if(te===1||D<=R.stops[0][0])return R.stops[0][1];if(D>=R.stops[te-1][0])return R.stops[te-1][1];let ue=hi(R.stops.map(Tt=>Tt[0]),D),ve=function(Tt,Ft,Qt,sr){let Tr=sr-Qt,Pr=Tt-Qt;return Tr===0?0:Ft===1?Pr/Tr:(Math.pow(Ft,Pr)-1)/(Math.pow(Ft,Tr)-1)}(D,j,R.stops[ue][0],R.stops[ue+1][0]),De=R.stops[ue][1],Ze=R.stops[ue+1][1],at=Mo[S.type]||Bd;return typeof De.evaluate==\"function\"?{evaluate(...Tt){let Ft=De.evaluate.apply(void 0,Tt),Qt=Ze.evaluate.apply(void 0,Tt);if(Ft!==void 0&&Qt!==void 0)return at(Ft,Qt,ve,R.colorSpace)}}:at(De,Ze,ve,R.colorSpace)}function tu(R,S,D){switch(S.type){case\"color\":D=Zt.parse(D);break;case\"formatted\":D=Zr.fromString(D.toString());break;case\"resolvedImage\":D=Mi.fromString(D.toString());break;case\"padding\":D=Vr.parse(D);break;default:ds(D)===S.type||S.type===\"enum\"&&S.values[D]||(D=void 0)}return Cf(D,R.default,S.default)}Ml.register(kf,{error:[{kind:\"error\"},[Et],(R,[S])=>{throw new la(S.evaluate(R))}],typeof:[Et,[fr],(R,[S])=>Ye(Ki(S.evaluate(R)))],\"to-rgba\":[Ne(St,4),[Ht],(R,[S])=>{let[D,j,te,ue]=S.evaluate(R).rgb;return[255*D,255*j,255*te,ue]}],rgb:[Ht,[St,St,St],Yh],rgba:[Ht,[St,St,St,St],Yh],has:{type:dt,overloads:[[[Et],(R,[S])=>Eh(S.evaluate(R),R.properties())],[[Et,$t],(R,[S,D])=>Eh(S.evaluate(R),D.evaluate(R))]]},get:{type:fr,overloads:[[[Et],(R,[S])=>nh(S.evaluate(R),R.properties())],[[Et,$t],(R,[S,D])=>nh(S.evaluate(R),D.evaluate(R))]]},\"feature-state\":[fr,[Et],(R,[S])=>nh(S.evaluate(R),R.featureState||{})],properties:[$t,[],R=>R.properties()],\"geometry-type\":[Et,[],R=>R.geometryType()],id:[fr,[],R=>R.id()],zoom:[St,[],R=>R.globals.zoom],\"heatmap-density\":[St,[],R=>R.globals.heatmapDensity||0],\"line-progress\":[St,[],R=>R.globals.lineProgress||0],accumulated:[fr,[],R=>R.globals.accumulated===void 0?null:R.globals.accumulated],\"+\":[St,hf(St),(R,S)=>{let D=0;for(let j of S)D+=j.evaluate(R);return D}],\"*\":[St,hf(St),(R,S)=>{let D=1;for(let j of S)D*=j.evaluate(R);return D}],\"-\":{type:St,overloads:[[[St,St],(R,[S,D])=>S.evaluate(R)-D.evaluate(R)],[[St],(R,[S])=>-S.evaluate(R)]]},\"/\":[St,[St,St],(R,[S,D])=>S.evaluate(R)/D.evaluate(R)],\"%\":[St,[St,St],(R,[S,D])=>S.evaluate(R)%D.evaluate(R)],ln2:[St,[],()=>Math.LN2],pi:[St,[],()=>Math.PI],e:[St,[],()=>Math.E],\"^\":[St,[St,St],(R,[S,D])=>Math.pow(S.evaluate(R),D.evaluate(R))],sqrt:[St,[St],(R,[S])=>Math.sqrt(S.evaluate(R))],log10:[St,[St],(R,[S])=>Math.log(S.evaluate(R))/Math.LN10],ln:[St,[St],(R,[S])=>Math.log(S.evaluate(R))],log2:[St,[St],(R,[S])=>Math.log(S.evaluate(R))/Math.LN2],sin:[St,[St],(R,[S])=>Math.sin(S.evaluate(R))],cos:[St,[St],(R,[S])=>Math.cos(S.evaluate(R))],tan:[St,[St],(R,[S])=>Math.tan(S.evaluate(R))],asin:[St,[St],(R,[S])=>Math.asin(S.evaluate(R))],acos:[St,[St],(R,[S])=>Math.acos(S.evaluate(R))],atan:[St,[St],(R,[S])=>Math.atan(S.evaluate(R))],min:[St,hf(St),(R,S)=>Math.min(...S.map(D=>D.evaluate(R)))],max:[St,hf(St),(R,S)=>Math.max(...S.map(D=>D.evaluate(R)))],abs:[St,[St],(R,[S])=>Math.abs(S.evaluate(R))],round:[St,[St],(R,[S])=>{let D=S.evaluate(R);return D<0?-Math.round(-D):Math.round(D)}],floor:[St,[St],(R,[S])=>Math.floor(S.evaluate(R))],ceil:[St,[St],(R,[S])=>Math.ceil(S.evaluate(R))],\"filter-==\":[dt,[Et,fr],(R,[S,D])=>R.properties()[S.value]===D.value],\"filter-id-==\":[dt,[fr],(R,[S])=>R.id()===S.value],\"filter-type-==\":[dt,[Et],(R,[S])=>R.geometryType()===S.value],\"filter-<\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j<te}],\"filter-id-<\":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D<j}],\"filter->\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j>te}],\"filter-id->\":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D>j}],\"filter-<=\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j<=te}],\"filter-id-<=\":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D<=j}],\"filter->=\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j>=te}],\"filter-id->=\":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D>=j}],\"filter-has\":[dt,[fr],(R,[S])=>S.value in R.properties()],\"filter-has-id\":[dt,[],R=>R.id()!==null&&R.id()!==void 0],\"filter-type-in\":[dt,[Ne(Et)],(R,[S])=>S.value.indexOf(R.geometryType())>=0],\"filter-id-in\":[dt,[Ne(fr)],(R,[S])=>S.value.indexOf(R.id())>=0],\"filter-in-small\":[dt,[Et,Ne(fr)],(R,[S,D])=>D.value.indexOf(R.properties()[S.value])>=0],\"filter-in-large\":[dt,[Et,Ne(fr)],(R,[S,D])=>function(j,te,ue,ve){for(;ue<=ve;){let De=ue+ve>>1;if(te[De]===j)return!0;te[De]>j?ve=De-1:ue=De+1}return!1}(R.properties()[S.value],D.value,0,D.value.length-1)],all:{type:dt,overloads:[[[dt,dt],(R,[S,D])=>S.evaluate(R)&&D.evaluate(R)],[hf(dt),(R,S)=>{for(let D of S)if(!D.evaluate(R))return!1;return!0}]]},any:{type:dt,overloads:[[[dt,dt],(R,[S,D])=>S.evaluate(R)||D.evaluate(R)],[hf(dt),(R,S)=>{for(let D of S)if(D.evaluate(R))return!0;return!1}]]},\"!\":[dt,[dt],(R,[S])=>!S.evaluate(R)],\"is-supported-script\":[dt,[Et],(R,[S])=>{let D=R.globals&&R.globals.isSupportedScript;return!D||D(S.evaluate(R))}],upcase:[Et,[Et],(R,[S])=>S.evaluate(R).toUpperCase()],downcase:[Et,[Et],(R,[S])=>S.evaluate(R).toLowerCase()],concat:[Et,hf(fr),(R,S)=>S.map(D=>ka(D.evaluate(R))).join(\"\")],\"resolved-locale\":[Et,[_r],(R,[S])=>S.evaluate(R).resolvedLocale()]});class Pu{constructor(S,D){var j;this.expression=S,this._warningHistory={},this._evaluator=new Ha,this._defaultValue=D?(j=D).type===\"color\"&&Ch(j.default)?new Zt(0,0,0,0):j.type===\"color\"?Zt.parse(j.default)||null:j.type===\"padding\"?Vr.parse(j.default)||null:j.type===\"variableAnchorOffsetCollection\"?Si.parse(j.default)||null:j.default===void 0?null:j.default:null,this._enumValues=D&&D.type===\"enum\"?D.values:null}evaluateWithoutErrorHandling(S,D,j,te,ue,ve){return this._evaluator.globals=S,this._evaluator.feature=D,this._evaluator.featureState=j,this._evaluator.canonical=te,this._evaluator.availableImages=ue||null,this._evaluator.formattedSection=ve,this.expression.evaluate(this._evaluator)}evaluate(S,D,j,te,ue,ve){this._evaluator.globals=S,this._evaluator.feature=D||null,this._evaluator.featureState=j||null,this._evaluator.canonical=te,this._evaluator.availableImages=ue||null,this._evaluator.formattedSection=ve||null;try{let De=this.expression.evaluate(this._evaluator);if(De==null||typeof De==\"number\"&&De!=De)return this._defaultValue;if(this._enumValues&&!(De in this._enumValues))throw new la(`Expected value to be one of ${Object.keys(this._enumValues).map(Ze=>JSON.stringify(Ze)).join(\", \")}, but found ${JSON.stringify(De)} instead.`);return De}catch(De){return this._warningHistory[De.message]||(this._warningHistory[De.message]=!0,typeof console!=\"undefined\"&&console.warn(De.message)),this._defaultValue}}}function Lc(R){return Array.isArray(R)&&R.length>0&&typeof R[0]==\"string\"&&R[0]in kf}function fl(R,S){let D=new oo(kf,kh,[],S?function(te){let ue={color:Ht,string:Et,number:St,enum:Et,boolean:dt,formatted:Br,padding:Or,resolvedImage:Nr,variableAnchorOffsetCollection:ut};return te.type===\"array\"?Ne(ue[te.value]||fr,te.length):ue[te.type]}(S):void 0),j=D.parse(R,void 0,void 0,void 0,S&&S.type===\"string\"?{typeAnnotation:\"coerce\"}:void 0);return j?Wc(new Pu(j,S)):df(D.errors)}class Xc{constructor(S,D){this.kind=S,this._styleExpression=D,this.isStateDependent=S!==\"constant\"&&!rc(D.expression)}evaluateWithoutErrorHandling(S,D,j,te,ue,ve){return this._styleExpression.evaluateWithoutErrorHandling(S,D,j,te,ue,ve)}evaluate(S,D,j,te,ue,ve){return this._styleExpression.evaluate(S,D,j,te,ue,ve)}}class ic{constructor(S,D,j,te){this.kind=S,this.zoomStops=j,this._styleExpression=D,this.isStateDependent=S!==\"camera\"&&!rc(D.expression),this.interpolationType=te}evaluateWithoutErrorHandling(S,D,j,te,ue,ve){return this._styleExpression.evaluateWithoutErrorHandling(S,D,j,te,ue,ve)}evaluate(S,D,j,te,ue,ve){return this._styleExpression.evaluate(S,D,j,te,ue,ve)}interpolationFactor(S,D,j){return this.interpolationType?xo.interpolationFactor(this.interpolationType,S,D,j):0}}function yu(R,S){let D=fl(R,S);if(D.result===\"error\")return D;let j=D.value.expression,te=Kh(j);if(!te&&!Cu(S))return df([new xt(\"\",\"data expressions not supported\")]);let ue=ah(j,[\"zoom\"]);if(!ue&&!Nf(S))return df([new xt(\"\",\"zoom expressions not supported\")]);let ve=Qh(j);return ve||ue?ve instanceof xt?df([ve]):ve instanceof xo&&!Zc(S)?df([new xt(\"\",'\"interpolate\" expressions cannot be used with this property')]):Wc(ve?new ic(te?\"camera\":\"composite\",D.value,ve.labels,ve instanceof xo?ve.interpolation:void 0):new Xc(te?\"constant\":\"source\",D.value)):df([new xt(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}class Qs{constructor(S,D){this._parameters=S,this._specification=D,Ke(this,Jh(this._parameters,this._specification))}static deserialize(S){return new Qs(S._parameters,S._specification)}static serialize(S){return{_parameters:S._parameters,_specification:S._specification}}}function Qh(R){let S=null;if(R instanceof xn)S=Qh(R.result);else if(R instanceof ks){for(let D of R.args)if(S=Qh(D),S)break}else(R instanceof Ji||R instanceof xo)&&R.input instanceof Ml&&R.input.name===\"zoom\"&&(S=R);return S instanceof xt||R.eachChild(D=>{let j=Qh(D);j instanceof xt?S=j:!S&&j?S=new xt(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):S&&j&&S!==j&&(S=new xt(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))}),S}function gd(R){if(R===!0||R===!1)return!0;if(!Array.isArray(R)||R.length===0)return!1;switch(R[0]){case\"has\":return R.length>=2&&R[1]!==\"$id\"&&R[1]!==\"$type\";case\"in\":return R.length>=3&&(typeof R[1]!=\"string\"||Array.isArray(R[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return R.length!==3||Array.isArray(R[1])||Array.isArray(R[2]);case\"any\":case\"all\":for(let S of R.slice(1))if(!gd(S)&&typeof S!=\"boolean\")return!1;return!0;default:return!0}}let Gu={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function Pc(R){if(R==null)return{filter:()=>!0,needGeometry:!1};gd(R)||(R=Lf(R));let S=fl(R,Gu);if(S.result===\"error\")throw new Error(S.value.map(D=>`${D.key}: ${D.message}`).join(\", \"));return{filter:(D,j,te)=>S.value.evaluate(D,j,{},te),needGeometry:sv(R)}}function vc(R,S){return R<S?-1:R>S?1:0}function sv(R){if(!Array.isArray(R))return!1;if(R[0]===\"within\"||R[0]===\"distance\")return!0;for(let S=1;S<R.length;S++)if(sv(R[S]))return!0;return!1}function Lf(R){if(!R)return!0;let S=R[0];return R.length<=1?S!==\"any\":S===\"==\"?Uf(R[1],R[2],\"==\"):S===\"!=\"?ru(Uf(R[1],R[2],\"==\")):S===\"<\"||S===\">\"||S===\"<=\"||S===\">=\"?Uf(R[1],R[2],S):S===\"any\"?(D=R.slice(1),[\"any\"].concat(D.map(Lf))):S===\"all\"?[\"all\"].concat(R.slice(1).map(Lf)):S===\"none\"?[\"all\"].concat(R.slice(1).map(Lf).map(ru)):S===\"in\"?Iu(R[1],R.slice(2)):S===\"!in\"?ru(Iu(R[1],R.slice(2))):S===\"has\"?oh(R[1]):S!==\"!has\"||ru(oh(R[1]));var D}function Uf(R,S,D){switch(R){case\"$type\":return[`filter-type-${D}`,S];case\"$id\":return[`filter-id-${D}`,S];default:return[`filter-${D}`,R,S]}}function Iu(R,S){if(S.length===0)return!1;switch(R){case\"$type\":return[\"filter-type-in\",[\"literal\",S]];case\"$id\":return[\"filter-id-in\",[\"literal\",S]];default:return S.length>200&&!S.some(D=>typeof D!=typeof S[0])?[\"filter-in-large\",R,[\"literal\",S.sort(vc)]]:[\"filter-in-small\",R,[\"literal\",S]]}}function oh(R){switch(R){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",R]}}function ru(R){return[\"!\",R]}function vf(R){let S=typeof R;if(S===\"number\"||S===\"boolean\"||S===\"string\"||R==null)return JSON.stringify(R);if(Array.isArray(R)){let te=\"[\";for(let ue of R)te+=`${vf(ue)},`;return`${te}]`}let D=Object.keys(R).sort(),j=\"{\";for(let te=0;te<D.length;te++)j+=`${JSON.stringify(D[te])}:${vf(R[D[te]])},`;return`${j}}`}function md(R){let S=\"\";for(let D of Ge)S+=`/${vf(R[D])}`;return S}function sh(R){let S=R.value;return S?[new er(R.key,S,\"constants have been deprecated as of v8\")]:[]}function Fs(R){return R instanceof Number||R instanceof String||R instanceof Boolean?R.valueOf():R}function _u(R){if(Array.isArray(R))return R.map(_u);if(R instanceof Object&&!(R instanceof Number||R instanceof String||R instanceof Boolean)){let S={};for(let D in R)S[D]=_u(R[D]);return S}return Fs(R)}function xu(R){let S=R.key,D=R.value,j=R.valueSpec||{},te=R.objectElementValidators||{},ue=R.style,ve=R.styleSpec,De=R.validateSpec,Ze=[],at=ds(D);if(at!==\"object\")return[new er(S,D,`object expected, ${at} found`)];for(let Tt in D){let Ft=Tt.split(\".\")[0],Qt=j[Ft]||j[\"*\"],sr;if(te[Ft])sr=te[Ft];else if(j[Ft])sr=De;else if(te[\"*\"])sr=te[\"*\"];else{if(!j[\"*\"]){Ze.push(new er(S,D[Tt],`unknown property \"${Tt}\"`));continue}sr=De}Ze=Ze.concat(sr({key:(S&&`${S}.`)+Tt,value:D[Tt],valueSpec:Qt,style:ue,styleSpec:ve,object:D,objectKey:Tt,validateSpec:De},D))}for(let Tt in j)te[Tt]||j[Tt].required&&j[Tt].default===void 0&&D[Tt]===void 0&&Ze.push(new er(S,D,`missing required property \"${Tt}\"`));return Ze}function Lh(R){let S=R.value,D=R.valueSpec,j=R.style,te=R.styleSpec,ue=R.key,ve=R.arrayElementValidator||R.validateSpec;if(ds(S)!==\"array\")return[new er(ue,S,`array expected, ${ds(S)} found`)];if(D.length&&S.length!==D.length)return[new er(ue,S,`array length ${D.length} expected, length ${S.length} found`)];if(D[\"min-length\"]&&S.length<D[\"min-length\"])return[new er(ue,S,`array length at least ${D[\"min-length\"]} expected, length ${S.length} found`)];let De={type:D.value,values:D.values};te.$version<7&&(De.function=D.function),ds(D.value)===\"object\"&&(De=D.value);let Ze=[];for(let at=0;at<S.length;at++)Ze=Ze.concat(ve({array:S,arrayIndex:at,value:S[at],valueSpec:De,validateSpec:R.validateSpec,style:j,styleSpec:te,key:`${ue}[${at}]`}));return Ze}function Is(R){let S=R.key,D=R.value,j=R.valueSpec,te=ds(D);return te===\"number\"&&D!=D&&(te=\"NaN\"),te!==\"number\"?[new er(S,D,`number expected, ${te} found`)]:\"minimum\"in j&&D<j.minimum?[new er(S,D,`${D} is less than the minimum value ${j.minimum}`)]:\"maximum\"in j&&D>j.maximum?[new er(S,D,`${D} is greater than the maximum value ${j.maximum}`)]:[]}function Pf(R){let S=R.valueSpec,D=Fs(R.value.type),j,te,ue,ve={},De=D!==\"categorical\"&&R.value.property===void 0,Ze=!De,at=ds(R.value.stops)===\"array\"&&ds(R.value.stops[0])===\"array\"&&ds(R.value.stops[0][0])===\"object\",Tt=xu({key:R.key,value:R.value,valueSpec:R.styleSpec.function,validateSpec:R.validateSpec,style:R.style,styleSpec:R.styleSpec,objectElementValidators:{stops:function(sr){if(D===\"identity\")return[new er(sr.key,sr.value,'identity function may not have a \"stops\" property')];let Tr=[],Pr=sr.value;return Tr=Tr.concat(Lh({key:sr.key,value:Pr,valueSpec:sr.valueSpec,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec,arrayElementValidator:Ft})),ds(Pr)===\"array\"&&Pr.length===0&&Tr.push(new er(sr.key,Pr,\"array must have at least one stop\")),Tr},default:function(sr){return sr.validateSpec({key:sr.key,value:sr.value,valueSpec:S,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec})}}});return D===\"identity\"&&De&&Tt.push(new er(R.key,R.value,'missing required property \"property\"')),D===\"identity\"||R.value.stops||Tt.push(new er(R.key,R.value,'missing required property \"stops\"')),D===\"exponential\"&&R.valueSpec.expression&&!Zc(R.valueSpec)&&Tt.push(new er(R.key,R.value,\"exponential functions not supported\")),R.styleSpec.$version>=8&&(Ze&&!Cu(R.valueSpec)?Tt.push(new er(R.key,R.value,\"property functions not supported\")):De&&!Nf(R.valueSpec)&&Tt.push(new er(R.key,R.value,\"zoom functions not supported\"))),D!==\"categorical\"&&!at||R.value.property!==void 0||Tt.push(new er(R.key,R.value,'\"property\" property is required')),Tt;function Ft(sr){let Tr=[],Pr=sr.value,$r=sr.key;if(ds(Pr)!==\"array\")return[new er($r,Pr,`array expected, ${ds(Pr)} found`)];if(Pr.length!==2)return[new er($r,Pr,`array length 2 expected, length ${Pr.length} found`)];if(at){if(ds(Pr[0])!==\"object\")return[new er($r,Pr,`object expected, ${ds(Pr[0])} found`)];if(Pr[0].zoom===void 0)return[new er($r,Pr,\"object stop key must have zoom\")];if(Pr[0].value===void 0)return[new er($r,Pr,\"object stop key must have value\")];if(ue&&ue>Fs(Pr[0].zoom))return[new er($r,Pr[0].zoom,\"stop zoom values must appear in ascending order\")];Fs(Pr[0].zoom)!==ue&&(ue=Fs(Pr[0].zoom),te=void 0,ve={}),Tr=Tr.concat(xu({key:`${$r}[0]`,value:Pr[0],valueSpec:{zoom:{}},validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec,objectElementValidators:{zoom:Is,value:Qt}}))}else Tr=Tr.concat(Qt({key:`${$r}[0]`,value:Pr[0],valueSpec:{},validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec},Pr));return Lc(_u(Pr[1]))?Tr.concat([new er(`${$r}[1]`,Pr[1],\"expressions are not allowed in function stops.\")]):Tr.concat(sr.validateSpec({key:`${$r}[1]`,value:Pr[1],valueSpec:S,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec}))}function Qt(sr,Tr){let Pr=ds(sr.value),$r=Fs(sr.value),ni=sr.value!==null?sr.value:Tr;if(j){if(Pr!==j)return[new er(sr.key,ni,`${Pr} stop domain type must match previous stop domain type ${j}`)]}else j=Pr;if(Pr!==\"number\"&&Pr!==\"string\"&&Pr!==\"boolean\")return[new er(sr.key,ni,\"stop domain value must be a number, string, or boolean\")];if(Pr!==\"number\"&&D!==\"categorical\"){let Di=`number expected, ${Pr} found`;return Cu(S)&&D===void 0&&(Di+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new er(sr.key,ni,Di)]}return D!==\"categorical\"||Pr!==\"number\"||isFinite($r)&&Math.floor($r)===$r?D!==\"categorical\"&&Pr===\"number\"&&te!==void 0&&$r<te?[new er(sr.key,ni,\"stop domain values must appear in ascending order\")]:(te=$r,D===\"categorical\"&&$r in ve?[new er(sr.key,ni,\"stop domain values must be unique\")]:(ve[$r]=!0,[])):[new er(sr.key,ni,`integer expected, found ${$r}`)]}}function Ic(R){let S=(R.expressionContext===\"property\"?yu:fl)(_u(R.value),R.valueSpec);if(S.result===\"error\")return S.value.map(j=>new er(`${R.key}${j.key}`,R.value,j.message));let D=S.value.expression||S.value._styleExpression.expression;if(R.expressionContext===\"property\"&&R.propertyKey===\"text-font\"&&!D.outputDefined())return[new er(R.key,R.value,`Invalid data expression for \"${R.propertyKey}\". Output values must be contained as literals within the expression.`)];if(R.expressionContext===\"property\"&&R.propertyType===\"layout\"&&!rc(D))return[new er(R.key,R.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(R.expressionContext===\"filter\"&&!rc(D))return[new er(R.key,R.value,'\"feature-state\" data expressions are not supported with filters.')];if(R.expressionContext&&R.expressionContext.indexOf(\"cluster\")===0){if(!ah(D,[\"zoom\",\"feature-state\"]))return[new er(R.key,R.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(R.expressionContext===\"cluster-initial\"&&!Kh(D))return[new er(R.key,R.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function ju(R){let S=R.key,D=R.value,j=R.valueSpec,te=[];return Array.isArray(j.values)?j.values.indexOf(Fs(D))===-1&&te.push(new er(S,D,`expected one of [${j.values.join(\", \")}], ${JSON.stringify(D)} found`)):Object.keys(j.values).indexOf(Fs(D))===-1&&te.push(new er(S,D,`expected one of [${Object.keys(j.values).join(\", \")}], ${JSON.stringify(D)} found`)),te}function Vf(R){return gd(_u(R.value))?Ic(Ke({},R,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):pc(R)}function pc(R){let S=R.value,D=R.key;if(ds(S)!==\"array\")return[new er(D,S,`array expected, ${ds(S)} found`)];let j=R.styleSpec,te,ue=[];if(S.length<1)return[new er(D,S,\"filter array must have at least 1 element\")];switch(ue=ue.concat(ju({key:`${D}[0]`,value:S[0],valueSpec:j.filter_operator,style:R.style,styleSpec:R.styleSpec})),Fs(S[0])){case\"<\":case\"<=\":case\">\":case\">=\":S.length>=2&&Fs(S[1])===\"$type\"&&ue.push(new er(D,S,`\"$type\" cannot be use with operator \"${S[0]}\"`));case\"==\":case\"!=\":S.length!==3&&ue.push(new er(D,S,`filter array for operator \"${S[0]}\" must have 3 elements`));case\"in\":case\"!in\":S.length>=2&&(te=ds(S[1]),te!==\"string\"&&ue.push(new er(`${D}[1]`,S[1],`string expected, ${te} found`)));for(let ve=2;ve<S.length;ve++)te=ds(S[ve]),Fs(S[1])===\"$type\"?ue=ue.concat(ju({key:`${D}[${ve}]`,value:S[ve],valueSpec:j.geometry_type,style:R.style,styleSpec:R.styleSpec})):te!==\"string\"&&te!==\"number\"&&te!==\"boolean\"&&ue.push(new er(`${D}[${ve}]`,S[ve],`string, number, or boolean expected, ${te} found`));break;case\"any\":case\"all\":case\"none\":for(let ve=1;ve<S.length;ve++)ue=ue.concat(pc({key:`${D}[${ve}]`,value:S[ve],style:R.style,styleSpec:R.styleSpec}));break;case\"has\":case\"!has\":te=ds(S[1]),S.length!==2?ue.push(new er(D,S,`filter array for \"${S[0]}\" operator must have 2 elements`)):te!==\"string\"&&ue.push(new er(`${D}[1]`,S[1],`string expected, ${te} found`))}return ue}function pf(R,S){let D=R.key,j=R.validateSpec,te=R.style,ue=R.styleSpec,ve=R.value,De=R.objectKey,Ze=ue[`${S}_${R.layerType}`];if(!Ze)return[];let at=De.match(/^(.*)-transition$/);if(S===\"paint\"&&at&&Ze[at[1]]&&Ze[at[1]].transition)return j({key:D,value:ve,valueSpec:ue.transition,style:te,styleSpec:ue});let Tt=R.valueSpec||Ze[De];if(!Tt)return[new er(D,ve,`unknown property \"${De}\"`)];let Ft;if(ds(ve)===\"string\"&&Cu(Tt)&&!Tt.tokens&&(Ft=/^{([^}]+)}$/.exec(ve)))return[new er(D,ve,`\"${De}\" does not support interpolation syntax\n", - "Use an identity property function instead: \\`{ \"type\": \"identity\", \"property\": ${JSON.stringify(Ft[1])} }\\`.`)];let Qt=[];return R.layerType===\"symbol\"&&(De===\"text-field\"&&te&&!te.glyphs&&Qt.push(new er(D,ve,'use of \"text-field\" requires a style \"glyphs\" property')),De===\"text-font\"&&Ch(_u(ve))&&Fs(ve.type)===\"identity\"&&Qt.push(new er(D,ve,'\"text-font\" does not support identity functions'))),Qt.concat(j({key:R.key,value:ve,valueSpec:Tt,style:te,styleSpec:ue,expressionContext:\"property\",propertyType:S,propertyKey:De}))}function Ph(R){return pf(R,\"paint\")}function Dl(R){return pf(R,\"layout\")}function Ih(R){let S=[],D=R.value,j=R.key,te=R.style,ue=R.styleSpec;D.type||D.ref||S.push(new er(j,D,'either \"type\" or \"ref\" is required'));let ve=Fs(D.type),De=Fs(D.ref);if(D.id){let Ze=Fs(D.id);for(let at=0;at<R.arrayIndex;at++){let Tt=te.layers[at];Fs(Tt.id)===Ze&&S.push(new er(j,D.id,`duplicate layer id \"${D.id}\", previously used at line ${Tt.id.__line__}`))}}if(\"ref\"in D){let Ze;[\"type\",\"source\",\"source-layer\",\"filter\",\"layout\"].forEach(at=>{at in D&&S.push(new er(j,D[at],`\"${at}\" is prohibited for ref layers`))}),te.layers.forEach(at=>{Fs(at.id)===De&&(Ze=at)}),Ze?Ze.ref?S.push(new er(j,D.ref,\"ref cannot reference another ref layer\")):ve=Fs(Ze.type):S.push(new er(j,D.ref,`ref layer \"${De}\" not found`))}else if(ve!==\"background\")if(D.source){let Ze=te.sources&&te.sources[D.source],at=Ze&&Fs(Ze.type);Ze?at===\"vector\"&&ve===\"raster\"?S.push(new er(j,D.source,`layer \"${D.id}\" requires a raster source`)):at!==\"raster-dem\"&&ve===\"hillshade\"?S.push(new er(j,D.source,`layer \"${D.id}\" requires a raster-dem source`)):at===\"raster\"&&ve!==\"raster\"?S.push(new er(j,D.source,`layer \"${D.id}\" requires a vector source`)):at!==\"vector\"||D[\"source-layer\"]?at===\"raster-dem\"&&ve!==\"hillshade\"?S.push(new er(j,D.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):ve!==\"line\"||!D.paint||!D.paint[\"line-gradient\"]||at===\"geojson\"&&Ze.lineMetrics||S.push(new er(j,D,`layer \"${D.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):S.push(new er(j,D,`layer \"${D.id}\" must specify a \"source-layer\"`)):S.push(new er(j,D.source,`source \"${D.source}\" not found`))}else S.push(new er(j,D,'missing required property \"source\"'));return S=S.concat(xu({key:j,value:D,valueSpec:ue.layer,style:R.style,styleSpec:R.styleSpec,validateSpec:R.validateSpec,objectElementValidators:{\"*\":()=>[],type:()=>R.validateSpec({key:`${j}.type`,value:D.type,valueSpec:ue.layer.type,style:R.style,styleSpec:R.styleSpec,validateSpec:R.validateSpec,object:D,objectKey:\"type\"}),filter:Vf,layout:Ze=>xu({layer:D,key:Ze.key,value:Ze.value,style:Ze.style,styleSpec:Ze.styleSpec,validateSpec:Ze.validateSpec,objectElementValidators:{\"*\":at=>Dl(Ke({layerType:ve},at))}}),paint:Ze=>xu({layer:D,key:Ze.key,value:Ze.value,style:Ze.style,styleSpec:Ze.styleSpec,validateSpec:Ze.validateSpec,objectElementValidators:{\"*\":at=>Ph(Ke({layerType:ve},at))}})}})),S}function Wu(R){let S=R.value,D=R.key,j=ds(S);return j!==\"string\"?[new er(D,S,`string expected, ${j} found`)]:[]}let Rc={promoteId:function({key:R,value:S}){if(ds(S)===\"string\")return Wu({key:R,value:S});{let D=[];for(let j in S)D.push(...Wu({key:`${R}.${j}`,value:S[j]}));return D}}};function gc(R){let S=R.value,D=R.key,j=R.styleSpec,te=R.style,ue=R.validateSpec;if(!S.type)return[new er(D,S,'\"type\" is required')];let ve=Fs(S.type),De;switch(ve){case\"vector\":case\"raster\":return De=xu({key:D,value:S,valueSpec:j[`source_${ve.replace(\"-\",\"_\")}`],style:R.style,styleSpec:j,objectElementValidators:Rc,validateSpec:ue}),De;case\"raster-dem\":return De=function(Ze){var at;let Tt=(at=Ze.sourceName)!==null&&at!==void 0?at:\"\",Ft=Ze.value,Qt=Ze.styleSpec,sr=Qt.source_raster_dem,Tr=Ze.style,Pr=[],$r=ds(Ft);if(Ft===void 0)return Pr;if($r!==\"object\")return Pr.push(new er(\"source_raster_dem\",Ft,`object expected, ${$r} found`)),Pr;let ni=Fs(Ft.encoding)===\"custom\",Di=[\"redFactor\",\"greenFactor\",\"blueFactor\",\"baseShift\"],pi=Ze.value.encoding?`\"${Ze.value.encoding}\"`:\"Default\";for(let ki in Ft)!ni&&Di.includes(ki)?Pr.push(new er(ki,Ft[ki],`In \"${Tt}\": \"${ki}\" is only valid when \"encoding\" is set to \"custom\". ${pi} encoding found`)):sr[ki]?Pr=Pr.concat(Ze.validateSpec({key:ki,value:Ft[ki],valueSpec:sr[ki],validateSpec:Ze.validateSpec,style:Tr,styleSpec:Qt})):Pr.push(new er(ki,Ft[ki],`unknown property \"${ki}\"`));return Pr}({sourceName:D,value:S,style:R.style,styleSpec:j,validateSpec:ue}),De;case\"geojson\":if(De=xu({key:D,value:S,valueSpec:j.source_geojson,style:te,styleSpec:j,validateSpec:ue,objectElementValidators:Rc}),S.cluster)for(let Ze in S.clusterProperties){let[at,Tt]=S.clusterProperties[Ze],Ft=typeof at==\"string\"?[at,[\"accumulated\"],[\"get\",Ze]]:at;De.push(...Ic({key:`${D}.${Ze}.map`,value:Tt,validateSpec:ue,expressionContext:\"cluster-map\"})),De.push(...Ic({key:`${D}.${Ze}.reduce`,value:Ft,validateSpec:ue,expressionContext:\"cluster-reduce\"}))}return De;case\"video\":return xu({key:D,value:S,valueSpec:j.source_video,style:te,validateSpec:ue,styleSpec:j});case\"image\":return xu({key:D,value:S,valueSpec:j.source_image,style:te,validateSpec:ue,styleSpec:j});case\"canvas\":return[new er(D,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return ju({key:`${D}.type`,value:S.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:te,validateSpec:ue,styleSpec:j})}}function hl(R){let S=R.value,D=R.styleSpec,j=D.light,te=R.style,ue=[],ve=ds(S);if(S===void 0)return ue;if(ve!==\"object\")return ue=ue.concat([new er(\"light\",S,`object expected, ${ve} found`)]),ue;for(let De in S){let Ze=De.match(/^(.*)-transition$/);ue=ue.concat(Ze&&j[Ze[1]]&&j[Ze[1]].transition?R.validateSpec({key:De,value:S[De],valueSpec:D.transition,validateSpec:R.validateSpec,style:te,styleSpec:D}):j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],validateSpec:R.validateSpec,style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)])}return ue}function iu(R){let S=R.value,D=R.styleSpec,j=D.sky,te=R.style,ue=ds(S);if(S===void 0)return[];if(ue!==\"object\")return[new er(\"sky\",S,`object expected, ${ue} found`)];let ve=[];for(let De in S)ve=ve.concat(j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)]);return ve}function mc(R){let S=R.value,D=R.styleSpec,j=D.terrain,te=R.style,ue=[],ve=ds(S);if(S===void 0)return ue;if(ve!==\"object\")return ue=ue.concat([new er(\"terrain\",S,`object expected, ${ve} found`)]),ue;for(let De in S)ue=ue.concat(j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],validateSpec:R.validateSpec,style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)]);return ue}function Yc(R){let S=[],D=R.value,j=R.key;if(Array.isArray(D)){let te=[],ue=[];for(let ve in D)D[ve].id&&te.includes(D[ve].id)&&S.push(new er(j,D,`all the sprites' ids must be unique, but ${D[ve].id} is duplicated`)),te.push(D[ve].id),D[ve].url&&ue.includes(D[ve].url)&&S.push(new er(j,D,`all the sprites' URLs must be unique, but ${D[ve].url} is duplicated`)),ue.push(D[ve].url),S=S.concat(xu({key:`${j}[${ve}]`,value:D[ve],valueSpec:{id:{type:\"string\",required:!0},url:{type:\"string\",required:!0}},validateSpec:R.validateSpec}));return S}return Wu({key:j,value:D})}let nc={\"*\":()=>[],array:Lh,boolean:function(R){let S=R.value,D=R.key,j=ds(S);return j!==\"boolean\"?[new er(D,S,`boolean expected, ${j} found`)]:[]},number:Is,color:function(R){let S=R.key,D=R.value,j=ds(D);return j!==\"string\"?[new er(S,D,`color expected, ${j} found`)]:Zt.parse(String(D))?[]:[new er(S,D,`color expected, \"${D}\" found`)]},constants:sh,enum:ju,filter:Vf,function:Pf,layer:Ih,object:xu,source:gc,light:hl,sky:iu,terrain:mc,projection:function(R){let S=R.value,D=R.styleSpec,j=D.projection,te=R.style,ue=ds(S);if(S===void 0)return[];if(ue!==\"object\")return[new er(\"projection\",S,`object expected, ${ue} found`)];let ve=[];for(let De in S)ve=ve.concat(j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)]);return ve},string:Wu,formatted:function(R){return Wu(R).length===0?[]:Ic(R)},resolvedImage:function(R){return Wu(R).length===0?[]:Ic(R)},padding:function(R){let S=R.key,D=R.value;if(ds(D)===\"array\"){if(D.length<1||D.length>4)return[new er(S,D,`padding requires 1 to 4 values; ${D.length} values found`)];let j={type:\"number\"},te=[];for(let ue=0;ue<D.length;ue++)te=te.concat(R.validateSpec({key:`${S}[${ue}]`,value:D[ue],validateSpec:R.validateSpec,valueSpec:j}));return te}return Is({key:S,value:D,valueSpec:{}})},variableAnchorOffsetCollection:function(R){let S=R.key,D=R.value,j=ds(D),te=R.styleSpec;if(j!==\"array\"||D.length<1||D.length%2!=0)return[new er(S,D,\"variableAnchorOffsetCollection requires a non-empty array of even length\")];let ue=[];for(let ve=0;ve<D.length;ve+=2)ue=ue.concat(ju({key:`${S}[${ve}]`,value:D[ve],valueSpec:te.layout_symbol[\"text-anchor\"]})),ue=ue.concat(Lh({key:`${S}[${ve+1}]`,value:D[ve+1],valueSpec:{length:2,value:\"number\"},validateSpec:R.validateSpec,style:R.style,styleSpec:te}));return ue},sprite:Yc};function gf(R){let S=R.value,D=R.valueSpec,j=R.styleSpec;return R.validateSpec=gf,D.expression&&Ch(Fs(S))?Pf(R):D.expression&&Lc(_u(S))?Ic(R):D.type&&nc[D.type]?nc[D.type](R):xu(Ke({},R,{valueSpec:D.type?j[D.type]:D}))}function gt(R){let S=R.value,D=R.key,j=Wu(R);return j.length||(S.indexOf(\"{fontstack}\")===-1&&j.push(new er(D,S,'\"glyphs\" url must include a \"{fontstack}\" token')),S.indexOf(\"{range}\")===-1&&j.push(new er(D,S,'\"glyphs\" url must include a \"{range}\" token'))),j}function Bt(R,S=ce){let D=[];return D=D.concat(gf({key:\"\",value:R,valueSpec:S.$root,styleSpec:S,style:R,validateSpec:gf,objectElementValidators:{glyphs:gt,\"*\":()=>[]}})),R.constants&&(D=D.concat(sh({key:\"constants\",value:R.constants,style:R,styleSpec:S,validateSpec:gf}))),vr(D)}function wr(R){return function(S){return R($Q(JQ({},S),{validateSpec:gf}))}}function vr(R){return[].concat(R).sort((S,D)=>S.line-D.line)}function Ur(R){return function(...S){return vr(R.apply(this,S))}}Bt.source=Ur(wr(gc)),Bt.sprite=Ur(wr(Yc)),Bt.glyphs=Ur(wr(gt)),Bt.light=Ur(wr(hl)),Bt.sky=Ur(wr(iu)),Bt.terrain=Ur(wr(mc)),Bt.layer=Ur(wr(Ih)),Bt.filter=Ur(wr(Vf)),Bt.paintProperty=Ur(wr(Ph)),Bt.layoutProperty=Ur(wr(Dl));let fi=Bt,xi=fi.light,Fi=fi.sky,Xi=fi.paintProperty,hn=fi.layoutProperty;function Ti(R,S){let D=!1;if(S&&S.length)for(let j of S)R.fire(new me(new Error(j.message))),D=!0;return D}class qi{constructor(S,D,j){let te=this.cells=[];if(S instanceof ArrayBuffer){this.arrayBuffer=S;let ve=new Int32Array(this.arrayBuffer);S=ve[0],this.d=(D=ve[1])+2*(j=ve[2]);for(let Ze=0;Ze<this.d*this.d;Ze++){let at=ve[3+Ze],Tt=ve[3+Ze+1];te.push(at===Tt?null:ve.subarray(at,Tt))}let De=ve[3+te.length+1];this.keys=ve.subarray(ve[3+te.length],De),this.bboxes=ve.subarray(De),this.insert=this._insertReadonly}else{this.d=D+2*j;for(let ve=0;ve<this.d*this.d;ve++)te.push([]);this.keys=[],this.bboxes=[]}this.n=D,this.extent=S,this.padding=j,this.scale=D/S,this.uid=0;let ue=j/D*S;this.min=-ue,this.max=S+ue}insert(S,D,j,te,ue){this._forEachCell(D,j,te,ue,this._insertCell,this.uid++,void 0,void 0),this.keys.push(S),this.bboxes.push(D),this.bboxes.push(j),this.bboxes.push(te),this.bboxes.push(ue)}_insertReadonly(){throw new Error(\"Cannot insert into a GridIndex created from an ArrayBuffer.\")}_insertCell(S,D,j,te,ue,ve){this.cells[ue].push(ve)}query(S,D,j,te,ue){let ve=this.min,De=this.max;if(S<=ve&&D<=ve&&De<=j&&De<=te&&!ue)return Array.prototype.slice.call(this.keys);{let Ze=[];return this._forEachCell(S,D,j,te,this._queryCell,Ze,{},ue),Ze}}_queryCell(S,D,j,te,ue,ve,De,Ze){let at=this.cells[ue];if(at!==null){let Tt=this.keys,Ft=this.bboxes;for(let Qt=0;Qt<at.length;Qt++){let sr=at[Qt];if(De[sr]===void 0){let Tr=4*sr;(Ze?Ze(Ft[Tr+0],Ft[Tr+1],Ft[Tr+2],Ft[Tr+3]):S<=Ft[Tr+2]&&D<=Ft[Tr+3]&&j>=Ft[Tr+0]&&te>=Ft[Tr+1])?(De[sr]=!0,ve.push(Tt[sr])):De[sr]=!1}}}}_forEachCell(S,D,j,te,ue,ve,De,Ze){let at=this._convertToCellCoord(S),Tt=this._convertToCellCoord(D),Ft=this._convertToCellCoord(j),Qt=this._convertToCellCoord(te);for(let sr=at;sr<=Ft;sr++)for(let Tr=Tt;Tr<=Qt;Tr++){let Pr=this.d*Tr+sr;if((!Ze||Ze(this._convertFromCellCoord(sr),this._convertFromCellCoord(Tr),this._convertFromCellCoord(sr+1),this._convertFromCellCoord(Tr+1)))&&ue.call(this,S,D,j,te,Pr,ve,De,Ze))return}}_convertFromCellCoord(S){return(S-this.padding)/this.scale}_convertToCellCoord(S){return Math.max(0,Math.min(this.d-1,Math.floor(S*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let S=this.cells,D=3+this.cells.length+1+1,j=0;for(let ve=0;ve<this.cells.length;ve++)j+=this.cells[ve].length;let te=new Int32Array(D+j+this.keys.length+this.bboxes.length);te[0]=this.extent,te[1]=this.n,te[2]=this.padding;let ue=D;for(let ve=0;ve<S.length;ve++){let De=S[ve];te[3+ve]=ue,te.set(De,ue),ue+=De.length}return te[3+S.length]=ue,te.set(this.keys,ue),ue+=this.keys.length,te[3+S.length+1]=ue,te.set(this.bboxes,ue),ue+=this.bboxes.length,te.buffer}static serialize(S,D){let j=S.toArrayBuffer();return D&&D.push(j),{buffer:j}}static deserialize(S){return new qi(S.buffer)}}let Ii={};function mi(R,S,D={}){if(Ii[R])throw new Error(`${R} is already registered.`);Object.defineProperty(S,\"_classRegistryKey\",{value:R,writeable:!1}),Ii[R]={klass:S,omit:D.omit||[],shallow:D.shallow||[]}}mi(\"Object\",Object),mi(\"TransferableGridIndex\",qi),mi(\"Color\",Zt),mi(\"Error\",Error),mi(\"AJAXError\",ge),mi(\"ResolvedImage\",Mi),mi(\"StylePropertyFunction\",Qs),mi(\"StyleExpression\",Pu,{omit:[\"_evaluator\"]}),mi(\"ZoomDependentExpression\",ic),mi(\"ZoomConstantExpression\",Xc),mi(\"CompoundExpression\",Ml,{omit:[\"_evaluate\"]});for(let R in kf)kf[R]._classRegistryKey||mi(`Expression_${R}`,kf[R]);function Pn(R){return R&&typeof ArrayBuffer!=\"undefined\"&&(R instanceof ArrayBuffer||R.constructor&&R.constructor.name===\"ArrayBuffer\")}function Ma(R){return R.$name||R.constructor._classRegistryKey}function Ta(R){return!function(S){if(S===null||typeof S!=\"object\")return!1;let D=Ma(S);return!(!D||D===\"Object\")}(R)&&(R==null||typeof R==\"boolean\"||typeof R==\"number\"||typeof R==\"string\"||R instanceof Boolean||R instanceof Number||R instanceof String||R instanceof Date||R instanceof RegExp||R instanceof Blob||R instanceof Error||Pn(R)||H(R)||ArrayBuffer.isView(R)||R instanceof ImageData)}function Ea(R,S){if(Ta(R))return(Pn(R)||H(R))&&S&&S.push(R),ArrayBuffer.isView(R)&&S&&S.push(R.buffer),R instanceof ImageData&&S&&S.push(R.data.buffer),R;if(Array.isArray(R)){let ue=[];for(let ve of R)ue.push(Ea(ve,S));return ue}if(typeof R!=\"object\")throw new Error(\"can't serialize object of type \"+typeof R);let D=Ma(R);if(!D)throw new Error(`can't serialize object of unregistered class ${R.constructor.name}`);if(!Ii[D])throw new Error(`${D} is not registered.`);let{klass:j}=Ii[D],te=j.serialize?j.serialize(R,S):{};if(j.serialize){if(S&&te===S[S.length-1])throw new Error(\"statically serialized object won't survive transfer of $name property\")}else{for(let ue in R){if(!R.hasOwnProperty(ue)||Ii[D].omit.indexOf(ue)>=0)continue;let ve=R[ue];te[ue]=Ii[D].shallow.indexOf(ue)>=0?ve:Ea(ve,S)}R instanceof Error&&(te.message=R.message)}if(te.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return D!==\"Object\"&&(te.$name=D),te}function qa(R){if(Ta(R))return R;if(Array.isArray(R))return R.map(qa);if(typeof R!=\"object\")throw new Error(\"can't deserialize object of type \"+typeof R);let S=Ma(R)||\"Object\";if(!Ii[S])throw new Error(`can't deserialize unregistered class ${S}`);let{klass:D}=Ii[S];if(!D)throw new Error(`can't deserialize unregistered class ${S}`);if(D.deserialize)return D.deserialize(R);let j=Object.create(D.prototype);for(let te of Object.keys(R)){if(te===\"$name\")continue;let ue=R[te];j[te]=Ii[S].shallow.indexOf(te)>=0?ue:qa(ue)}return j}class Cn{constructor(){this.first=!0}update(S,D){let j=Math.floor(S);return this.first?(this.first=!1,this.lastIntegerZoom=j,this.lastIntegerZoomTime=0,this.lastZoom=S,this.lastFloorZoom=j,!0):(this.lastFloorZoom>j?(this.lastIntegerZoom=j+1,this.lastIntegerZoomTime=D):this.lastFloorZoom<j&&(this.lastIntegerZoom=j,this.lastIntegerZoomTime=D),S!==this.lastZoom&&(this.lastZoom=S,this.lastFloorZoom=j,!0))}}let sn={\"Latin-1 Supplement\":R=>R>=128&&R<=255,\"Hangul Jamo\":R=>R>=4352&&R<=4607,Khmer:R=>R>=6016&&R<=6143,\"General Punctuation\":R=>R>=8192&&R<=8303,\"Letterlike Symbols\":R=>R>=8448&&R<=8527,\"Number Forms\":R=>R>=8528&&R<=8591,\"Miscellaneous Technical\":R=>R>=8960&&R<=9215,\"Control Pictures\":R=>R>=9216&&R<=9279,\"Optical Character Recognition\":R=>R>=9280&&R<=9311,\"Enclosed Alphanumerics\":R=>R>=9312&&R<=9471,\"Geometric Shapes\":R=>R>=9632&&R<=9727,\"Miscellaneous Symbols\":R=>R>=9728&&R<=9983,\"Miscellaneous Symbols and Arrows\":R=>R>=11008&&R<=11263,\"Ideographic Description Characters\":R=>R>=12272&&R<=12287,\"CJK Symbols and Punctuation\":R=>R>=12288&&R<=12351,Katakana:R=>R>=12448&&R<=12543,Kanbun:R=>R>=12688&&R<=12703,\"CJK Strokes\":R=>R>=12736&&R<=12783,\"Enclosed CJK Letters and Months\":R=>R>=12800&&R<=13055,\"CJK Compatibility\":R=>R>=13056&&R<=13311,\"Yijing Hexagram Symbols\":R=>R>=19904&&R<=19967,\"Private Use Area\":R=>R>=57344&&R<=63743,\"Vertical Forms\":R=>R>=65040&&R<=65055,\"CJK Compatibility Forms\":R=>R>=65072&&R<=65103,\"Small Form Variants\":R=>R>=65104&&R<=65135,\"Halfwidth and Fullwidth Forms\":R=>R>=65280&&R<=65519};function Ua(R){for(let S of R)if(Bo(S.charCodeAt(0)))return!0;return!1}function mo(R){for(let S of R)if(!Qo(S.charCodeAt(0)))return!1;return!0}function Xo(R){let S=R.map(D=>{try{return new RegExp(`\\\\p{sc=${D}}`,\"u\").source}catch(j){return null}}).filter(D=>D);return new RegExp(S.join(\"|\"),\"u\")}let Ts=Xo([\"Arab\",\"Dupl\",\"Mong\",\"Ougr\",\"Syrc\"]);function Qo(R){return!Ts.test(String.fromCodePoint(R))}let ys=Xo([\"Bopo\",\"Hani\",\"Hira\",\"Kana\",\"Kits\",\"Nshu\",\"Tang\",\"Yiii\"]);function Bo(R){return!(R!==746&&R!==747&&(R<4352||!(sn[\"CJK Compatibility Forms\"](R)&&!(R>=65097&&R<=65103)||sn[\"CJK Compatibility\"](R)||sn[\"CJK Strokes\"](R)||!(!sn[\"CJK Symbols and Punctuation\"](R)||R>=12296&&R<=12305||R>=12308&&R<=12319||R===12336)||sn[\"Enclosed CJK Letters and Months\"](R)||sn[\"Ideographic Description Characters\"](R)||sn.Kanbun(R)||sn.Katakana(R)&&R!==12540||!(!sn[\"Halfwidth and Fullwidth Forms\"](R)||R===65288||R===65289||R===65293||R>=65306&&R<=65310||R===65339||R===65341||R===65343||R>=65371&&R<=65503||R===65507||R>=65512&&R<=65519)||!(!sn[\"Small Form Variants\"](R)||R>=65112&&R<=65118||R>=65123&&R<=65126)||sn[\"Vertical Forms\"](R)||sn[\"Yijing Hexagram Symbols\"](R)||new RegExp(\"\\\\p{sc=Cans}\",\"u\").test(String.fromCodePoint(R))||new RegExp(\"\\\\p{sc=Hang}\",\"u\").test(String.fromCodePoint(R))||ys.test(String.fromCodePoint(R)))))}function yl(R){return!(Bo(R)||function(S){return!!(sn[\"Latin-1 Supplement\"](S)&&(S===167||S===169||S===174||S===177||S===188||S===189||S===190||S===215||S===247)||sn[\"General Punctuation\"](S)&&(S===8214||S===8224||S===8225||S===8240||S===8241||S===8251||S===8252||S===8258||S===8263||S===8264||S===8265||S===8273)||sn[\"Letterlike Symbols\"](S)||sn[\"Number Forms\"](S)||sn[\"Miscellaneous Technical\"](S)&&(S>=8960&&S<=8967||S>=8972&&S<=8991||S>=8996&&S<=9e3||S===9003||S>=9085&&S<=9114||S>=9150&&S<=9165||S===9167||S>=9169&&S<=9179||S>=9186&&S<=9215)||sn[\"Control Pictures\"](S)&&S!==9251||sn[\"Optical Character Recognition\"](S)||sn[\"Enclosed Alphanumerics\"](S)||sn[\"Geometric Shapes\"](S)||sn[\"Miscellaneous Symbols\"](S)&&!(S>=9754&&S<=9759)||sn[\"Miscellaneous Symbols and Arrows\"](S)&&(S>=11026&&S<=11055||S>=11088&&S<=11097||S>=11192&&S<=11243)||sn[\"CJK Symbols and Punctuation\"](S)||sn.Katakana(S)||sn[\"Private Use Area\"](S)||sn[\"CJK Compatibility Forms\"](S)||sn[\"Small Form Variants\"](S)||sn[\"Halfwidth and Fullwidth Forms\"](S)||S===8734||S===8756||S===8757||S>=9984&&S<=10087||S>=10102&&S<=10131||S===65532||S===65533)}(R))}let Gs=Xo([\"Adlm\",\"Arab\",\"Armi\",\"Avst\",\"Chrs\",\"Cprt\",\"Egyp\",\"Elym\",\"Gara\",\"Hatr\",\"Hebr\",\"Hung\",\"Khar\",\"Lydi\",\"Mand\",\"Mani\",\"Mend\",\"Merc\",\"Mero\",\"Narb\",\"Nbat\",\"Nkoo\",\"Orkh\",\"Palm\",\"Phli\",\"Phlp\",\"Phnx\",\"Prti\",\"Rohg\",\"Samr\",\"Sarb\",\"Sogo\",\"Syrc\",\"Thaa\",\"Todr\",\"Yezi\"]);function Rs(R){return Gs.test(String.fromCodePoint(R))}function ia(R,S){return!(!S&&Rs(R)||R>=2304&&R<=3583||R>=3840&&R<=4255||sn.Khmer(R))}function Ka(R){for(let S of R)if(Rs(S.charCodeAt(0)))return!0;return!1}let vs=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus=\"unavailable\",this.pluginURL=null}setState(R){this.pluginStatus=R.pluginStatus,this.pluginURL=R.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(R){this.applyArabicShaping=R.applyArabicShaping,this.processBidirectionalText=R.processBidirectionalText,this.processStyledBidirectionalText=R.processStyledBidirectionalText}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Ko{constructor(S,D){this.zoom=S,D?(this.now=D.now,this.fadeDuration=D.fadeDuration,this.zoomHistory=D.zoomHistory,this.transition=D.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Cn,this.transition={})}isSupportedScript(S){return function(D,j){for(let te of D)if(!ia(te.charCodeAt(0),j))return!1;return!0}(S,vs.getRTLTextPluginStatus()===\"loaded\")}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let S=this.zoom,D=S-Math.floor(S),j=this.crossFadingFactor();return S>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:D+(1-D)*j}:{fromScale:.5,toScale:1,t:1-(1-j)*D}}}class nu{constructor(S,D){this.property=S,this.value=D,this.expression=function(j,te){if(Ch(j))return new Qs(j,te);if(Lc(j)){let ue=yu(j,te);if(ue.result===\"error\")throw new Error(ue.value.map(ve=>`${ve.key}: ${ve.message}`).join(\", \"));return ue.value}{let ue=j;return te.type===\"color\"&&typeof j==\"string\"?ue=Zt.parse(j):te.type!==\"padding\"||typeof j!=\"number\"&&!Array.isArray(j)?te.type===\"variableAnchorOffsetCollection\"&&Array.isArray(j)&&(ue=Si.parse(j)):ue=Vr.parse(j),{kind:\"constant\",evaluate:()=>ue}}}(D===void 0?S.specification.default:D,S.specification)}isDataDriven(){return this.expression.kind===\"source\"||this.expression.kind===\"composite\"}possiblyEvaluate(S,D,j){return this.property.possiblyEvaluate(this,S,D,j)}}class Ru{constructor(S){this.property=S,this.value=new nu(S,void 0)}transitioned(S,D){return new mf(this.property,this.value,D,L({},S.transition,this.transition),S.now)}untransitioned(){return new mf(this.property,this.value,null,{},0)}}class ac{constructor(S){this._properties=S,this._values=Object.create(S.defaultTransitionablePropertyValues)}getValue(S){return g(this._values[S].value.value)}setValue(S,D){Object.prototype.hasOwnProperty.call(this._values,S)||(this._values[S]=new Ru(this._values[S].property)),this._values[S].value=new nu(this._values[S].property,D===null?void 0:g(D))}getTransition(S){return g(this._values[S].transition)}setTransition(S,D){Object.prototype.hasOwnProperty.call(this._values,S)||(this._values[S]=new Ru(this._values[S].property)),this._values[S].transition=g(D)||void 0}serialize(){let S={};for(let D of Object.keys(this._values)){let j=this.getValue(D);j!==void 0&&(S[D]=j);let te=this.getTransition(D);te!==void 0&&(S[`${D}-transition`]=te)}return S}transitioned(S,D){let j=new bu(this._properties);for(let te of Object.keys(this._values))j._values[te]=this._values[te].transitioned(S,D._values[te]);return j}untransitioned(){let S=new bu(this._properties);for(let D of Object.keys(this._values))S._values[D]=this._values[D].untransitioned();return S}}class mf{constructor(S,D,j,te,ue){this.property=S,this.value=D,this.begin=ue+te.delay||0,this.end=this.begin+te.duration||0,S.specification.transition&&(te.delay||te.duration)&&(this.prior=j)}possiblyEvaluate(S,D,j){let te=S.now||0,ue=this.value.possiblyEvaluate(S,D,j),ve=this.prior;if(ve){if(te>this.end)return this.prior=null,ue;if(this.value.isDataDriven())return this.prior=null,ue;if(te<this.begin)return ve.possiblyEvaluate(S,D,j);{let De=(te-this.begin)/(this.end-this.begin);return this.property.interpolate(ve.possiblyEvaluate(S,D,j),ue,function(Ze){if(Ze<=0)return 0;if(Ze>=1)return 1;let at=Ze*Ze,Tt=at*Ze;return 4*(Ze<.5?Tt:3*(Ze-at)+Tt-.75)}(De))}}return ue}}class bu{constructor(S){this._properties=S,this._values=Object.create(S.defaultTransitioningPropertyValues)}possiblyEvaluate(S,D,j){let te=new Dc(this._properties);for(let ue of Object.keys(this._values))te._values[ue]=this._values[ue].possiblyEvaluate(S,D,j);return te}hasTransition(){for(let S of Object.keys(this._values))if(this._values[S].prior)return!0;return!1}}class Kc{constructor(S){this._properties=S,this._values=Object.create(S.defaultPropertyValues)}hasValue(S){return this._values[S].value!==void 0}getValue(S){return g(this._values[S].value)}setValue(S,D){this._values[S]=new nu(this._values[S].property,D===null?void 0:g(D))}serialize(){let S={};for(let D of Object.keys(this._values)){let j=this.getValue(D);j!==void 0&&(S[D]=j)}return S}possiblyEvaluate(S,D,j){let te=new Dc(this._properties);for(let ue of Object.keys(this._values))te._values[ue]=this._values[ue].possiblyEvaluate(S,D,j);return te}}class Du{constructor(S,D,j){this.property=S,this.value=D,this.parameters=j}isConstant(){return this.value.kind===\"constant\"}constantOr(S){return this.value.kind===\"constant\"?this.value.value:S}evaluate(S,D,j,te){return this.property.evaluate(this.value,this.parameters,S,D,j,te)}}class Dc{constructor(S){this._properties=S,this._values=Object.create(S.defaultPossiblyEvaluatedValues)}get(S){return this._values[S]}}class Da{constructor(S){this.specification=S}possiblyEvaluate(S,D){if(S.isDataDriven())throw new Error(\"Value should not be data driven\");return S.expression.evaluate(D)}interpolate(S,D,j){let te=Mo[this.specification.type];return te?te(S,D,j):S}}class eo{constructor(S,D){this.specification=S,this.overrides=D}possiblyEvaluate(S,D,j,te){return new Du(this,S.expression.kind===\"constant\"||S.expression.kind===\"camera\"?{kind:\"constant\",value:S.expression.evaluate(D,null,{},j,te)}:S.expression,D)}interpolate(S,D,j){if(S.value.kind!==\"constant\"||D.value.kind!==\"constant\")return S;if(S.value.value===void 0||D.value.value===void 0)return new Du(this,{kind:\"constant\",value:void 0},S.parameters);let te=Mo[this.specification.type];if(te){let ue=te(S.value.value,D.value.value,j);return new Du(this,{kind:\"constant\",value:ue},S.parameters)}return S}evaluate(S,D,j,te,ue,ve){return S.kind===\"constant\"?S.value:S.evaluate(D,j,te,ue,ve)}}class Jc extends eo{possiblyEvaluate(S,D,j,te){if(S.value===void 0)return new Du(this,{kind:\"constant\",value:void 0},D);if(S.expression.kind===\"constant\"){let ue=S.expression.evaluate(D,null,{},j,te),ve=S.property.specification.type===\"resolvedImage\"&&typeof ue!=\"string\"?ue.name:ue,De=this._calculate(ve,ve,ve,D);return new Du(this,{kind:\"constant\",value:De},D)}if(S.expression.kind===\"camera\"){let ue=this._calculate(S.expression.evaluate({zoom:D.zoom-1}),S.expression.evaluate({zoom:D.zoom}),S.expression.evaluate({zoom:D.zoom+1}),D);return new Du(this,{kind:\"constant\",value:ue},D)}return new Du(this,S.expression,D)}evaluate(S,D,j,te,ue,ve){if(S.kind===\"source\"){let De=S.evaluate(D,j,te,ue,ve);return this._calculate(De,De,De,D)}return S.kind===\"composite\"?this._calculate(S.evaluate({zoom:Math.floor(D.zoom)-1},j,te),S.evaluate({zoom:Math.floor(D.zoom)},j,te),S.evaluate({zoom:Math.floor(D.zoom)+1},j,te),D):S.value}_calculate(S,D,j,te){return te.zoom>te.zoomHistory.lastIntegerZoom?{from:S,to:D}:{from:j,to:D}}interpolate(S){return S}}class yc{constructor(S){this.specification=S}possiblyEvaluate(S,D,j,te){if(S.value!==void 0){if(S.expression.kind===\"constant\"){let ue=S.expression.evaluate(D,null,{},j,te);return this._calculate(ue,ue,ue,D)}return this._calculate(S.expression.evaluate(new Ko(Math.floor(D.zoom-1),D)),S.expression.evaluate(new Ko(Math.floor(D.zoom),D)),S.expression.evaluate(new Ko(Math.floor(D.zoom+1),D)),D)}}_calculate(S,D,j,te){return te.zoom>te.zoomHistory.lastIntegerZoom?{from:S,to:D}:{from:j,to:D}}interpolate(S){return S}}class _c{constructor(S){this.specification=S}possiblyEvaluate(S,D,j,te){return!!S.expression.evaluate(D,null,{},j,te)}interpolate(){return!1}}class le{constructor(S){this.properties=S,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let D in S){let j=S[D];j.specification.overridable&&this.overridableProperties.push(D);let te=this.defaultPropertyValues[D]=new nu(j,void 0),ue=this.defaultTransitionablePropertyValues[D]=new Ru(j);this.defaultTransitioningPropertyValues[D]=ue.untransitioned(),this.defaultPossiblyEvaluatedValues[D]=te.possiblyEvaluate({})}}}mi(\"DataDrivenProperty\",eo),mi(\"DataConstantProperty\",Da),mi(\"CrossFadedDataDrivenProperty\",Jc),mi(\"CrossFadedProperty\",yc),mi(\"ColorRampProperty\",_c);let w=\"-transition\";class B extends Re{constructor(S,D){if(super(),this.id=S.id,this.type=S.type,this._featureFilter={filter:()=>!0,needGeometry:!1},S.type!==\"custom\"&&(this.metadata=S.metadata,this.minzoom=S.minzoom,this.maxzoom=S.maxzoom,S.type!==\"background\"&&(this.source=S.source,this.sourceLayer=S[\"source-layer\"],this.filter=S.filter),D.layout&&(this._unevaluatedLayout=new Kc(D.layout)),D.paint)){this._transitionablePaint=new ac(D.paint);for(let j in S.paint)this.setPaintProperty(j,S.paint[j],{validate:!1});for(let j in S.layout)this.setLayoutProperty(j,S.layout[j],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Dc(D.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(S){return S===\"visibility\"?this.visibility:this._unevaluatedLayout.getValue(S)}setLayoutProperty(S,D,j={}){D!=null&&this._validate(hn,`layers.${this.id}.layout.${S}`,S,D,j)||(S!==\"visibility\"?this._unevaluatedLayout.setValue(S,D):this.visibility=D)}getPaintProperty(S){return S.endsWith(w)?this._transitionablePaint.getTransition(S.slice(0,-11)):this._transitionablePaint.getValue(S)}setPaintProperty(S,D,j={}){if(D!=null&&this._validate(Xi,`layers.${this.id}.paint.${S}`,S,D,j))return!1;if(S.endsWith(w))return this._transitionablePaint.setTransition(S.slice(0,-11),D||void 0),!1;{let te=this._transitionablePaint._values[S],ue=te.property.specification[\"property-type\"]===\"cross-faded-data-driven\",ve=te.value.isDataDriven(),De=te.value;this._transitionablePaint.setValue(S,D),this._handleSpecialPaintPropertyUpdate(S);let Ze=this._transitionablePaint._values[S].value;return Ze.isDataDriven()||ve||ue||this._handleOverridablePaintPropertyUpdate(S,De,Ze)}}_handleSpecialPaintPropertyUpdate(S){}_handleOverridablePaintPropertyUpdate(S,D,j){return!1}isHidden(S){return!!(this.minzoom&&S<this.minzoom)||!!(this.maxzoom&&S>=this.maxzoom)||this.visibility===\"none\"}updateTransitions(S){this._transitioningPaint=this._transitionablePaint.transitioned(S,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(S,D){S.getCrossfadeParameters&&(this._crossfadeParameters=S.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(S,void 0,D)),this.paint=this._transitioningPaint.possiblyEvaluate(S,void 0,D)}serialize(){let S={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&&(S.layout=S.layout||{},S.layout.visibility=this.visibility),M(S,(D,j)=>!(D===void 0||j===\"layout\"&&!Object.keys(D).length||j===\"paint\"&&!Object.keys(D).length))}_validate(S,D,j,te,ue={}){return(!ue||ue.validate!==!1)&&Ti(this,S.call(fi,{key:D,layerType:this.type,objectKey:j,value:te,styleSpec:ce,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let S in this.paint._values){let D=this.paint.get(S);if(D instanceof Du&&Cu(D.property.specification)&&(D.value.kind===\"source\"||D.value.kind===\"composite\")&&D.value.isStateDependent)return!0}return!1}}let Q={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class ee{constructor(S,D){this._structArray=S,this._pos1=D*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class se{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(S,D){return S._trim(),D&&(S.isTransferred=!0,D.push(S.arrayBuffer)),{length:S.length,arrayBuffer:S.arrayBuffer}}static deserialize(S){let D=Object.create(this.prototype);return D.arrayBuffer=S.arrayBuffer,D.length=S.length,D.capacity=S.arrayBuffer.byteLength/D.bytesPerElement,D._refreshViews(),D}_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(S){this.reserve(S),this.length=S}reserve(S){if(S>this.capacity){this.capacity=Math.max(S,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let D=this.uint8;this._refreshViews(),D&&this.uint8.set(D)}}_refreshViews(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")}}function qe(R,S=1){let D=0,j=0;return{members:R.map(te=>{let ue=Q[te.type].BYTES_PER_ELEMENT,ve=D=je(D,Math.max(S,ue)),De=te.components||1;return j=Math.max(j,ue),D+=ue*De,{name:te.name,type:te.type,components:De,offset:ve}}),size:je(D,Math.max(j,S)),alignment:S}}function je(R,S){return Math.ceil(R/S)*S}class it extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D){let j=this.length;return this.resize(j+1),this.emplace(j,S,D)}emplace(S,D,j){let te=2*S;return this.int16[te+0]=D,this.int16[te+1]=j,S}}it.prototype.bytesPerElement=4,mi(\"StructArrayLayout2i4\",it);class yt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.int16[ue+0]=D,this.int16[ue+1]=j,this.int16[ue+2]=te,S}}yt.prototype.bytesPerElement=6,mi(\"StructArrayLayout3i6\",yt);class Ot extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te){let ue=this.length;return this.resize(ue+1),this.emplace(ue,S,D,j,te)}emplace(S,D,j,te,ue){let ve=4*S;return this.int16[ve+0]=D,this.int16[ve+1]=j,this.int16[ve+2]=te,this.int16[ve+3]=ue,S}}Ot.prototype.bytesPerElement=8,mi(\"StructArrayLayout4i8\",Ot);class Nt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=6*S;return this.int16[Ze+0]=D,this.int16[Ze+1]=j,this.int16[Ze+2]=te,this.int16[Ze+3]=ue,this.int16[Ze+4]=ve,this.int16[Ze+5]=De,S}}Nt.prototype.bytesPerElement=12,mi(\"StructArrayLayout2i4i12\",Nt);class hr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=4*S,at=8*S;return this.int16[Ze+0]=D,this.int16[Ze+1]=j,this.uint8[at+4]=te,this.uint8[at+5]=ue,this.uint8[at+6]=ve,this.uint8[at+7]=De,S}}hr.prototype.bytesPerElement=8,mi(\"StructArrayLayout2i4ub8\",hr);class Sr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D){let j=this.length;return this.resize(j+1),this.emplace(j,S,D)}emplace(S,D,j){let te=2*S;return this.float32[te+0]=D,this.float32[te+1]=j,S}}Sr.prototype.bytesPerElement=8,mi(\"StructArrayLayout2f8\",Sr);class he extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve,De,Ze,at,Tt){let Ft=this.length;return this.resize(Ft+1),this.emplace(Ft,S,D,j,te,ue,ve,De,Ze,at,Tt)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft){let Qt=10*S;return this.uint16[Qt+0]=D,this.uint16[Qt+1]=j,this.uint16[Qt+2]=te,this.uint16[Qt+3]=ue,this.uint16[Qt+4]=ve,this.uint16[Qt+5]=De,this.uint16[Qt+6]=Ze,this.uint16[Qt+7]=at,this.uint16[Qt+8]=Tt,this.uint16[Qt+9]=Ft,S}}he.prototype.bytesPerElement=20,mi(\"StructArrayLayout10ui20\",he);class be extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt){let sr=this.length;return this.resize(sr+1),this.emplace(sr,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr){let Tr=12*S;return this.int16[Tr+0]=D,this.int16[Tr+1]=j,this.int16[Tr+2]=te,this.int16[Tr+3]=ue,this.uint16[Tr+4]=ve,this.uint16[Tr+5]=De,this.uint16[Tr+6]=Ze,this.uint16[Tr+7]=at,this.int16[Tr+8]=Tt,this.int16[Tr+9]=Ft,this.int16[Tr+10]=Qt,this.int16[Tr+11]=sr,S}}be.prototype.bytesPerElement=24,mi(\"StructArrayLayout4i4ui4i24\",be);class Pe extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.float32[ue+0]=D,this.float32[ue+1]=j,this.float32[ue+2]=te,S}}Pe.prototype.bytesPerElement=12,mi(\"StructArrayLayout3f12\",Pe);class Oe extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(S){let D=this.length;return this.resize(D+1),this.emplace(D,S)}emplace(S,D){return this.uint32[1*S+0]=D,S}}Oe.prototype.bytesPerElement=4,mi(\"StructArrayLayout1ul4\",Oe);class Je extends se{_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(S,D,j,te,ue,ve,De,Ze,at){let Tt=this.length;return this.resize(Tt+1),this.emplace(Tt,S,D,j,te,ue,ve,De,Ze,at)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt){let Ft=10*S,Qt=5*S;return this.int16[Ft+0]=D,this.int16[Ft+1]=j,this.int16[Ft+2]=te,this.int16[Ft+3]=ue,this.int16[Ft+4]=ve,this.int16[Ft+5]=De,this.uint32[Qt+3]=Ze,this.uint16[Ft+8]=at,this.uint16[Ft+9]=Tt,S}}Je.prototype.bytesPerElement=20,mi(\"StructArrayLayout6i1ul2ui20\",Je);class He extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=6*S;return this.int16[Ze+0]=D,this.int16[Ze+1]=j,this.int16[Ze+2]=te,this.int16[Ze+3]=ue,this.int16[Ze+4]=ve,this.int16[Ze+5]=De,S}}He.prototype.bytesPerElement=12,mi(\"StructArrayLayout2i2i2i12\",He);class et extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue){let ve=this.length;return this.resize(ve+1),this.emplace(ve,S,D,j,te,ue)}emplace(S,D,j,te,ue,ve){let De=4*S,Ze=8*S;return this.float32[De+0]=D,this.float32[De+1]=j,this.float32[De+2]=te,this.int16[Ze+6]=ue,this.int16[Ze+7]=ve,S}}et.prototype.bytesPerElement=16,mi(\"StructArrayLayout2f1f2i16\",et);class Mt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=16*S,at=4*S,Tt=8*S;return this.uint8[Ze+0]=D,this.uint8[Ze+1]=j,this.float32[at+1]=te,this.float32[at+2]=ue,this.int16[Tt+6]=ve,this.int16[Tt+7]=De,S}}Mt.prototype.bytesPerElement=16,mi(\"StructArrayLayout2ub2f2i16\",Mt);class Dt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.uint16[ue+0]=D,this.uint16[ue+1]=j,this.uint16[ue+2]=te,S}}Dt.prototype.bytesPerElement=6,mi(\"StructArrayLayout3ui6\",Dt);class Ut extends se{_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(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni){let Di=this.length;return this.resize(Di+1),this.emplace(Di,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di){let pi=24*S,ki=12*S,Zi=48*S;return this.int16[pi+0]=D,this.int16[pi+1]=j,this.uint16[pi+2]=te,this.uint16[pi+3]=ue,this.uint32[ki+2]=ve,this.uint32[ki+3]=De,this.uint32[ki+4]=Ze,this.uint16[pi+10]=at,this.uint16[pi+11]=Tt,this.uint16[pi+12]=Ft,this.float32[ki+7]=Qt,this.float32[ki+8]=sr,this.uint8[Zi+36]=Tr,this.uint8[Zi+37]=Pr,this.uint8[Zi+38]=$r,this.uint32[ki+10]=ni,this.int16[pi+22]=Di,S}}Ut.prototype.bytesPerElement=48,mi(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",Ut);class tr extends se{_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(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di,pi,ki,Zi,ta,Va,Io,La,Hn,lo,$a){let Xa=this.length;return this.resize(Xa+1),this.emplace(Xa,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di,pi,ki,Zi,ta,Va,Io,La,Hn,lo,$a)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di,pi,ki,Zi,ta,Va,Io,La,Hn,lo,$a,Xa){let Tn=32*S,bo=16*S;return this.int16[Tn+0]=D,this.int16[Tn+1]=j,this.int16[Tn+2]=te,this.int16[Tn+3]=ue,this.int16[Tn+4]=ve,this.int16[Tn+5]=De,this.int16[Tn+6]=Ze,this.int16[Tn+7]=at,this.uint16[Tn+8]=Tt,this.uint16[Tn+9]=Ft,this.uint16[Tn+10]=Qt,this.uint16[Tn+11]=sr,this.uint16[Tn+12]=Tr,this.uint16[Tn+13]=Pr,this.uint16[Tn+14]=$r,this.uint16[Tn+15]=ni,this.uint16[Tn+16]=Di,this.uint16[Tn+17]=pi,this.uint16[Tn+18]=ki,this.uint16[Tn+19]=Zi,this.uint16[Tn+20]=ta,this.uint16[Tn+21]=Va,this.uint16[Tn+22]=Io,this.uint32[bo+12]=La,this.float32[bo+13]=Hn,this.float32[bo+14]=lo,this.uint16[Tn+30]=$a,this.uint16[Tn+31]=Xa,S}}tr.prototype.bytesPerElement=64,mi(\"StructArrayLayout8i15ui1ul2f2ui64\",tr);class mr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S){let D=this.length;return this.resize(D+1),this.emplace(D,S)}emplace(S,D){return this.float32[1*S+0]=D,S}}mr.prototype.bytesPerElement=4,mi(\"StructArrayLayout1f4\",mr);class Rr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.uint16[6*S+0]=D,this.float32[ue+1]=j,this.float32[ue+2]=te,S}}Rr.prototype.bytesPerElement=12,mi(\"StructArrayLayout1ui2f12\",Rr);class zr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=4*S;return this.uint32[2*S+0]=D,this.uint16[ue+2]=j,this.uint16[ue+3]=te,S}}zr.prototype.bytesPerElement=8,mi(\"StructArrayLayout1ul2ui8\",zr);class Xr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D){let j=this.length;return this.resize(j+1),this.emplace(j,S,D)}emplace(S,D,j){let te=2*S;return this.uint16[te+0]=D,this.uint16[te+1]=j,S}}Xr.prototype.bytesPerElement=4,mi(\"StructArrayLayout2ui4\",Xr);class di extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S){let D=this.length;return this.resize(D+1),this.emplace(D,S)}emplace(S,D){return this.uint16[1*S+0]=D,S}}di.prototype.bytesPerElement=2,mi(\"StructArrayLayout1ui2\",di);class Li extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j,te){let ue=this.length;return this.resize(ue+1),this.emplace(ue,S,D,j,te)}emplace(S,D,j,te,ue){let ve=4*S;return this.float32[ve+0]=D,this.float32[ve+1]=j,this.float32[ve+2]=te,this.float32[ve+3]=ue,S}}Li.prototype.bytesPerElement=16,mi(\"StructArrayLayout4f16\",Li);class Ci extends ee{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 u(this.anchorPointX,this.anchorPointY)}}Ci.prototype.size=20;class Qi extends Je{get(S){return new Ci(this,S)}}mi(\"CollisionBoxArray\",Qi);class Mn extends ee{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(S){this._structArray.uint8[this._pos1+37]=S}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(S){this._structArray.uint8[this._pos1+38]=S}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(S){this._structArray.uint32[this._pos4+10]=S}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Mn.prototype.size=48;class pa extends Ut{get(S){return new Mn(this,S)}}mi(\"PlacedSymbolArray\",pa);class ea extends ee{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(S){this._structArray.uint32[this._pos4+12]=S}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]}}ea.prototype.size=64;class Ga extends tr{get(S){return new ea(this,S)}}mi(\"SymbolInstanceArray\",Ga);class To extends mr{getoffsetX(S){return this.float32[1*S+0]}}mi(\"GlyphOffsetArray\",To);class Wa extends yt{getx(S){return this.int16[3*S+0]}gety(S){return this.int16[3*S+1]}gettileUnitDistanceFromAnchor(S){return this.int16[3*S+2]}}mi(\"SymbolLineVertexArray\",Wa);class co extends ee{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]}}co.prototype.size=12;class Ro extends Rr{get(S){return new co(this,S)}}mi(\"TextAnchorOffsetArray\",Ro);class Ds extends ee{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]}}Ds.prototype.size=8;class As extends zr{get(S){return new Ds(this,S)}}mi(\"FeatureIndexArray\",As);class yo extends it{}class po extends it{}class _l extends it{}class Hl extends Nt{}class Zu extends hr{}class cu extends Sr{}class el extends he{}class au extends be{}class zc extends Pe{}class zl extends Oe{}class Fl extends He{}class Z extends Mt{}class oe extends Dt{}class we extends Xr{}let Be=qe([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:Ue}=Be;class We{constructor(S=[]){this.segments=S}prepareSegment(S,D,j,te){let ue=this.segments[this.segments.length-1];return S>We.MAX_VERTEX_ARRAY_LENGTH&&T(`Max vertices per segment is ${We.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${S}`),(!ue||ue.vertexLength+S>We.MAX_VERTEX_ARRAY_LENGTH||ue.sortKey!==te)&&(ue={vertexOffset:D.length,primitiveOffset:j.length,vertexLength:0,primitiveLength:0},te!==void 0&&(ue.sortKey=te),this.segments.push(ue)),ue}get(){return this.segments}destroy(){for(let S of this.segments)for(let D in S.vaos)S.vaos[D].destroy()}static simpleSegment(S,D,j,te){return new We([{vertexOffset:S,primitiveOffset:D,vertexLength:j,primitiveLength:te,vaos:{},sortKey:0}])}}function wt(R,S){return 256*(R=k(Math.floor(R),0,255))+k(Math.floor(S),0,255)}We.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,mi(\"SegmentVector\",We);let tt=qe([{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 zt={exports:{}},or={exports:{}};or.exports=function(R,S){var D,j,te,ue,ve,De,Ze,at;for(j=R.length-(D=3&R.length),te=S,ve=3432918353,De=461845907,at=0;at<j;)Ze=255&R.charCodeAt(at)|(255&R.charCodeAt(++at))<<8|(255&R.charCodeAt(++at))<<16|(255&R.charCodeAt(++at))<<24,++at,te=27492+(65535&(ue=5*(65535&(te=(te^=Ze=(65535&(Ze=(Ze=(65535&Ze)*ve+(((Ze>>>16)*ve&65535)<<16)&4294967295)<<15|Ze>>>17))*De+(((Ze>>>16)*De&65535)<<16)&4294967295)<<13|te>>>19))+((5*(te>>>16)&65535)<<16)&4294967295))+((58964+(ue>>>16)&65535)<<16);switch(Ze=0,D){case 3:Ze^=(255&R.charCodeAt(at+2))<<16;case 2:Ze^=(255&R.charCodeAt(at+1))<<8;case 1:te^=Ze=(65535&(Ze=(Ze=(65535&(Ze^=255&R.charCodeAt(at)))*ve+(((Ze>>>16)*ve&65535)<<16)&4294967295)<<15|Ze>>>17))*De+(((Ze>>>16)*De&65535)<<16)&4294967295}return te^=R.length,te=2246822507*(65535&(te^=te>>>16))+((2246822507*(te>>>16)&65535)<<16)&4294967295,te=3266489909*(65535&(te^=te>>>13))+((3266489909*(te>>>16)&65535)<<16)&4294967295,(te^=te>>>16)>>>0};var lr=or.exports,Dr={exports:{}};Dr.exports=function(R,S){for(var D,j=R.length,te=S^j,ue=0;j>=4;)D=1540483477*(65535&(D=255&R.charCodeAt(ue)|(255&R.charCodeAt(++ue))<<8|(255&R.charCodeAt(++ue))<<16|(255&R.charCodeAt(++ue))<<24))+((1540483477*(D>>>16)&65535)<<16),te=1540483477*(65535&te)+((1540483477*(te>>>16)&65535)<<16)^(D=1540483477*(65535&(D^=D>>>24))+((1540483477*(D>>>16)&65535)<<16)),j-=4,++ue;switch(j){case 3:te^=(255&R.charCodeAt(ue+2))<<16;case 2:te^=(255&R.charCodeAt(ue+1))<<8;case 1:te=1540483477*(65535&(te^=255&R.charCodeAt(ue)))+((1540483477*(te>>>16)&65535)<<16)}return te=1540483477*(65535&(te^=te>>>13))+((1540483477*(te>>>16)&65535)<<16),(te^=te>>>15)>>>0};var Ir=lr,oi=Dr.exports;zt.exports=Ir,zt.exports.murmur3=Ir,zt.exports.murmur2=oi;var ui=o(zt.exports);class qr{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(S,D,j,te){this.ids.push(Kr(S)),this.positions.push(D,j,te)}getPositions(S){if(!this.indexed)throw new Error(\"Trying to get index, but feature positions are not indexed\");let D=Kr(S),j=0,te=this.ids.length-1;for(;j<te;){let ve=j+te>>1;this.ids[ve]>=D?te=ve:j=ve+1}let ue=[];for(;this.ids[j]===D;)ue.push({index:this.positions[3*j],start:this.positions[3*j+1],end:this.positions[3*j+2]}),j++;return ue}static serialize(S,D){let j=new Float64Array(S.ids),te=new Uint32Array(S.positions);return ii(j,te,0,j.length-1),D&&D.push(j.buffer,te.buffer),{ids:j,positions:te}}static deserialize(S){let D=new qr;return D.ids=S.ids,D.positions=S.positions,D.indexed=!0,D}}function Kr(R){let S=+R;return!isNaN(S)&&S<=Number.MAX_SAFE_INTEGER?S:ui(String(R))}function ii(R,S,D,j){for(;D<j;){let te=R[D+j>>1],ue=D-1,ve=j+1;for(;;){do ue++;while(R[ue]<te);do ve--;while(R[ve]>te);if(ue>=ve)break;vi(R,ue,ve),vi(S,3*ue,3*ve),vi(S,3*ue+1,3*ve+1),vi(S,3*ue+2,3*ve+2)}ve-D<j-ve?(ii(R,S,D,ve),D=ve+1):(ii(R,S,ve+1,j),j=ve)}}function vi(R,S,D){let j=R[S];R[S]=R[D],R[D]=j}mi(\"FeaturePositionMap\",qr);class ci{constructor(S,D){this.gl=S.gl,this.location=D}}class Jr extends ci{constructor(S,D){super(S,D),this.current=0}set(S){this.current!==S&&(this.current=S,this.gl.uniform1f(this.location,S))}}class un extends ci{constructor(S,D){super(S,D),this.current=[0,0,0,0]}set(S){S[0]===this.current[0]&&S[1]===this.current[1]&&S[2]===this.current[2]&&S[3]===this.current[3]||(this.current=S,this.gl.uniform4f(this.location,S[0],S[1],S[2],S[3]))}}class dn extends ci{constructor(S,D){super(S,D),this.current=Zt.transparent}set(S){S.r===this.current.r&&S.g===this.current.g&&S.b===this.current.b&&S.a===this.current.a||(this.current=S,this.gl.uniform4f(this.location,S.r,S.g,S.b,S.a))}}let En=new Float32Array(16);function Nn(R){return[wt(255*R.r,255*R.g),wt(255*R.b,255*R.a)]}class ga{constructor(S,D,j){this.value=S,this.uniformNames=D.map(te=>`u_${te}`),this.type=j}setUniform(S,D,j){S.set(j.constantOr(this.value))}getBinding(S,D,j){return this.type===\"color\"?new dn(S,D):new Jr(S,D)}}class ya{constructor(S,D){this.uniformNames=D.map(j=>`u_${j}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(S,D){this.pixelRatioFrom=D.pixelRatio,this.pixelRatioTo=S.pixelRatio,this.patternFrom=D.tlbr,this.patternTo=S.tlbr}setUniform(S,D,j,te){let ue=te===\"u_pattern_to\"?this.patternTo:te===\"u_pattern_from\"?this.patternFrom:te===\"u_pixel_ratio_to\"?this.pixelRatioTo:te===\"u_pixel_ratio_from\"?this.pixelRatioFrom:null;ue&&S.set(ue)}getBinding(S,D,j){return j.substr(0,9)===\"u_pattern\"?new un(S,D):new Jr(S,D)}}class so{constructor(S,D,j,te){this.expression=S,this.type=j,this.maxValue=0,this.paintVertexAttributes=D.map(ue=>({name:`a_${ue}`,type:\"Float32\",components:j===\"color\"?2:1,offset:0})),this.paintVertexArray=new te}populatePaintArray(S,D,j,te,ue){let ve=this.paintVertexArray.length,De=this.expression.evaluate(new Ko(0),D,{},te,[],ue);this.paintVertexArray.resize(S),this._setPaintValue(ve,S,De)}updatePaintArray(S,D,j,te){let ue=this.expression.evaluate({zoom:0},j,te);this._setPaintValue(S,D,ue)}_setPaintValue(S,D,j){if(this.type===\"color\"){let te=Nn(j);for(let ue=S;ue<D;ue++)this.paintVertexArray.emplace(ue,te[0],te[1])}else{for(let te=S;te<D;te++)this.paintVertexArray.emplace(te,j);this.maxValue=Math.max(this.maxValue,Math.abs(j))}}upload(S){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=S.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}}class wa{constructor(S,D,j,te,ue,ve){this.expression=S,this.uniformNames=D.map(De=>`u_${De}_t`),this.type=j,this.useIntegerZoom=te,this.zoom=ue,this.maxValue=0,this.paintVertexAttributes=D.map(De=>({name:`a_${De}`,type:\"Float32\",components:j===\"color\"?4:2,offset:0})),this.paintVertexArray=new ve}populatePaintArray(S,D,j,te,ue){let ve=this.expression.evaluate(new Ko(this.zoom),D,{},te,[],ue),De=this.expression.evaluate(new Ko(this.zoom+1),D,{},te,[],ue),Ze=this.paintVertexArray.length;this.paintVertexArray.resize(S),this._setPaintValue(Ze,S,ve,De)}updatePaintArray(S,D,j,te){let ue=this.expression.evaluate({zoom:this.zoom},j,te),ve=this.expression.evaluate({zoom:this.zoom+1},j,te);this._setPaintValue(S,D,ue,ve)}_setPaintValue(S,D,j,te){if(this.type===\"color\"){let ue=Nn(j),ve=Nn(te);for(let De=S;De<D;De++)this.paintVertexArray.emplace(De,ue[0],ue[1],ve[0],ve[1])}else{for(let ue=S;ue<D;ue++)this.paintVertexArray.emplace(ue,j,te);this.maxValue=Math.max(this.maxValue,Math.abs(j),Math.abs(te))}}upload(S){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=S.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}setUniform(S,D){let j=this.useIntegerZoom?Math.floor(D.zoom):D.zoom,te=k(this.expression.interpolationFactor(j,this.zoom,this.zoom+1),0,1);S.set(te)}getBinding(S,D,j){return new Jr(S,D)}}class io{constructor(S,D,j,te,ue,ve){this.expression=S,this.type=D,this.useIntegerZoom=j,this.zoom=te,this.layerId=ve,this.zoomInPaintVertexArray=new ue,this.zoomOutPaintVertexArray=new ue}populatePaintArray(S,D,j){let te=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(S),this.zoomOutPaintVertexArray.resize(S),this._setPaintValues(te,S,D.patterns&&D.patterns[this.layerId],j)}updatePaintArray(S,D,j,te,ue){this._setPaintValues(S,D,j.patterns&&j.patterns[this.layerId],ue)}_setPaintValues(S,D,j,te){if(!te||!j)return;let{min:ue,mid:ve,max:De}=j,Ze=te[ue],at=te[ve],Tt=te[De];if(Ze&&at&&Tt)for(let Ft=S;Ft<D;Ft++)this.zoomInPaintVertexArray.emplace(Ft,at.tl[0],at.tl[1],at.br[0],at.br[1],Ze.tl[0],Ze.tl[1],Ze.br[0],Ze.br[1],at.pixelRatio,Ze.pixelRatio),this.zoomOutPaintVertexArray.emplace(Ft,at.tl[0],at.tl[1],at.br[0],at.br[1],Tt.tl[0],Tt.tl[1],Tt.br[0],Tt.br[1],at.pixelRatio,Tt.pixelRatio)}upload(S){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=S.createVertexBuffer(this.zoomInPaintVertexArray,tt.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=S.createVertexBuffer(this.zoomOutPaintVertexArray,tt.members,this.expression.isStateDependent))}destroy(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()}}class Ss{constructor(S,D,j){this.binders={},this._buffers=[];let te=[];for(let ue in S.paint._values){if(!j(ue))continue;let ve=S.paint.get(ue);if(!(ve instanceof Du&&Cu(ve.property.specification)))continue;let De=Ns(ue,S.type),Ze=ve.value,at=ve.property.specification.type,Tt=ve.property.useIntegerZoom,Ft=ve.property.specification[\"property-type\"],Qt=Ft===\"cross-faded\"||Ft===\"cross-faded-data-driven\";if(Ze.kind===\"constant\")this.binders[ue]=Qt?new ya(Ze.value,De):new ga(Ze.value,De,at),te.push(`/u_${ue}`);else if(Ze.kind===\"source\"||Qt){let sr=pn(ue,at,\"source\");this.binders[ue]=Qt?new io(Ze,at,Tt,D,sr,S.id):new so(Ze,De,at,sr),te.push(`/a_${ue}`)}else{let sr=pn(ue,at,\"composite\");this.binders[ue]=new wa(Ze,De,at,Tt,D,sr),te.push(`/z_${ue}`)}}this.cacheKey=te.sort().join(\"\")}getMaxValue(S){let D=this.binders[S];return D instanceof so||D instanceof wa?D.maxValue:0}populatePaintArrays(S,D,j,te,ue){for(let ve in this.binders){let De=this.binders[ve];(De instanceof so||De instanceof wa||De instanceof io)&&De.populatePaintArray(S,D,j,te,ue)}}setConstantPatternPositions(S,D){for(let j in this.binders){let te=this.binders[j];te instanceof ya&&te.setConstantPatternPositions(S,D)}}updatePaintArrays(S,D,j,te,ue){let ve=!1;for(let De in S){let Ze=D.getPositions(De);for(let at of Ze){let Tt=j.feature(at.index);for(let Ft in this.binders){let Qt=this.binders[Ft];if((Qt instanceof so||Qt instanceof wa||Qt instanceof io)&&Qt.expression.isStateDependent===!0){let sr=te.paint.get(Ft);Qt.expression=sr.value,Qt.updatePaintArray(at.start,at.end,Tt,S[De],ue),ve=!0}}}}return ve}defines(){let S=[];for(let D in this.binders){let j=this.binders[D];(j instanceof ga||j instanceof ya)&&S.push(...j.uniformNames.map(te=>`#define HAS_UNIFORM_${te}`))}return S}getBinderAttributes(){let S=[];for(let D in this.binders){let j=this.binders[D];if(j instanceof so||j instanceof wa)for(let te=0;te<j.paintVertexAttributes.length;te++)S.push(j.paintVertexAttributes[te].name);else if(j instanceof io)for(let te=0;te<tt.members.length;te++)S.push(tt.members[te].name)}return S}getBinderUniforms(){let S=[];for(let D in this.binders){let j=this.binders[D];if(j instanceof ga||j instanceof ya||j instanceof wa)for(let te of j.uniformNames)S.push(te)}return S}getPaintVertexBuffers(){return this._buffers}getUniforms(S,D){let j=[];for(let te in this.binders){let ue=this.binders[te];if(ue instanceof ga||ue instanceof ya||ue instanceof wa){for(let ve of ue.uniformNames)if(D[ve]){let De=ue.getBinding(S,D[ve],ve);j.push({name:ve,property:te,binding:De})}}}return j}setUniforms(S,D,j,te){for(let{name:ue,property:ve,binding:De}of D)this.binders[ve].setUniform(De,te,j.get(ve),ue)}updatePaintBuffers(S){this._buffers=[];for(let D in this.binders){let j=this.binders[D];if(S&&j instanceof io){let te=S.fromScale===2?j.zoomInPaintVertexBuffer:j.zoomOutPaintVertexBuffer;te&&this._buffers.push(te)}else(j instanceof so||j instanceof wa)&&j.paintVertexBuffer&&this._buffers.push(j.paintVertexBuffer)}}upload(S){for(let D in this.binders){let j=this.binders[D];(j instanceof so||j instanceof wa||j instanceof io)&&j.upload(S)}this.updatePaintBuffers()}destroy(){for(let S in this.binders){let D=this.binders[S];(D instanceof so||D instanceof wa||D instanceof io)&&D.destroy()}}}class _s{constructor(S,D,j=()=>!0){this.programConfigurations={};for(let te of S)this.programConfigurations[te.id]=new Ss(te,D,j);this.needsUpload=!1,this._featureMap=new qr,this._bufferOffset=0}populatePaintArrays(S,D,j,te,ue,ve){for(let De in this.programConfigurations)this.programConfigurations[De].populatePaintArrays(S,D,te,ue,ve);D.id!==void 0&&this._featureMap.add(D.id,j,this._bufferOffset,S),this._bufferOffset=S,this.needsUpload=!0}updatePaintArrays(S,D,j,te){for(let ue of j)this.needsUpload=this.programConfigurations[ue.id].updatePaintArrays(S,this._featureMap,D,ue,te)||this.needsUpload}get(S){return this.programConfigurations[S]}upload(S){if(this.needsUpload){for(let D in this.programConfigurations)this.programConfigurations[D].upload(S);this.needsUpload=!1}}destroy(){for(let S in this.programConfigurations)this.programConfigurations[S].destroy()}}function Ns(R,S){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\"]}[R]||[R.replace(`${S}-`,\"\").replace(/-/g,\"_\")]}function pn(R,S,D){let j={color:{source:Sr,composite:Li},number:{source:mr,composite:Sr}},te=function(ue){return{\"line-pattern\":{source:el,composite:el},\"fill-pattern\":{source:el,composite:el},\"fill-extrusion-pattern\":{source:el,composite:el}}[ue]}(R);return te&&te[D]||j[S][D]}mi(\"ConstantBinder\",ga),mi(\"CrossFadedConstantBinder\",ya),mi(\"SourceExpressionBinder\",so),mi(\"CrossFadedCompositeBinder\",io),mi(\"CompositeExpressionBinder\",wa),mi(\"ProgramConfiguration\",Ss,{omit:[\"_buffers\"]}),mi(\"ProgramConfigurationSet\",_s);let za=8192,Lo=Math.pow(2,14)-1,Fo=-Lo-1;function js(R){let S=za/R.extent,D=R.loadGeometry();for(let j=0;j<D.length;j++){let te=D[j];for(let ue=0;ue<te.length;ue++){let ve=te[ue],De=Math.round(ve.x*S),Ze=Math.round(ve.y*S);ve.x=k(De,Fo,Lo),ve.y=k(Ze,Fo,Lo),(De<ve.x||De>ve.x+1||Ze<ve.y||Ze>ve.y+1)&&T(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}}return D}function xl(R,S){return{type:R.type,id:R.id,properties:R.properties,geometry:S?js(R):[]}}function fu(R,S,D,j,te){R.emplaceBack(2*S+(j+1)/2,2*D+(te+1)/2)}class dl{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.layoutVertexArray=new po,this.indexArray=new oe,this.segments=new We,this.programConfigurations=new _s(S.layers,S.zoom),this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){let te=this.layers[0],ue=[],ve=null,De=!1;te.type===\"circle\"&&(ve=te.layout.get(\"circle-sort-key\"),De=!ve.isConstant());for(let{feature:Ze,id:at,index:Tt,sourceLayerIndex:Ft}of S){let Qt=this.layers[0]._featureFilter.needGeometry,sr=xl(Ze,Qt);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),sr,j))continue;let Tr=De?ve.evaluate(sr,{},j):void 0,Pr={id:at,properties:Ze.properties,type:Ze.type,sourceLayerIndex:Ft,index:Tt,geometry:Qt?sr.geometry:js(Ze),patterns:{},sortKey:Tr};ue.push(Pr)}De&&ue.sort((Ze,at)=>Ze.sortKey-at.sortKey);for(let Ze of ue){let{geometry:at,index:Tt,sourceLayerIndex:Ft}=Ze,Qt=S[Tt].feature;this.addFeature(Ze,at,Tt,j),D.featureIndex.insert(Qt,at,Tt,Ft,this.index)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,Ue),this.indexBuffer=S.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(S),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(S,D,j,te){for(let ue of D)for(let ve of ue){let De=ve.x,Ze=ve.y;if(De<0||De>=za||Ze<0||Ze>=za)continue;let at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,S.sortKey),Tt=at.vertexLength;fu(this.layoutVertexArray,De,Ze,-1,-1),fu(this.layoutVertexArray,De,Ze,1,-1),fu(this.layoutVertexArray,De,Ze,1,1),fu(this.layoutVertexArray,De,Ze,-1,1),this.indexArray.emplaceBack(Tt,Tt+1,Tt+2),this.indexArray.emplaceBack(Tt,Tt+3,Tt+2),at.vertexLength+=4,at.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,{},te)}}function xc(R,S){for(let D=0;D<R.length;D++)if(On(S,R[D]))return!0;for(let D=0;D<S.length;D++)if(On(R,S[D]))return!0;return!!wi(R,S)}function At(R,S,D){return!!On(R,S)||!!Oi(S,R,D)}function Er(R,S){if(R.length===1)return cn(S,R[0]);for(let D=0;D<S.length;D++){let j=S[D];for(let te=0;te<j.length;te++)if(On(R,j[te]))return!0}for(let D=0;D<R.length;D++)if(cn(S,R[D]))return!0;for(let D=0;D<S.length;D++)if(wi(R,S[D]))return!0;return!1}function Wr(R,S,D){if(R.length>1){if(wi(R,S))return!0;for(let j=0;j<S.length;j++)if(Oi(S[j],R,D))return!0}for(let j=0;j<R.length;j++)if(Oi(R[j],S,D))return!0;return!1}function wi(R,S){if(R.length===0||S.length===0)return!1;for(let D=0;D<R.length-1;D++){let j=R[D],te=R[D+1];for(let ue=0;ue<S.length-1;ue++)if(Ui(j,te,S[ue],S[ue+1]))return!0}return!1}function Ui(R,S,D,j){return F(R,D,j)!==F(S,D,j)&&F(R,S,D)!==F(R,S,j)}function Oi(R,S,D){let j=D*D;if(S.length===1)return R.distSqr(S[0])<j;for(let te=1;te<S.length;te++)if(Bi(R,S[te-1],S[te])<j)return!0;return!1}function Bi(R,S,D){let j=S.distSqr(D);if(j===0)return R.distSqr(S);let te=((R.x-S.x)*(D.x-S.x)+(R.y-S.y)*(D.y-S.y))/j;return R.distSqr(te<0?S:te>1?D:D.sub(S)._mult(te)._add(S))}function cn(R,S){let D,j,te,ue=!1;for(let ve=0;ve<R.length;ve++){D=R[ve];for(let De=0,Ze=D.length-1;De<D.length;Ze=De++)j=D[De],te=D[Ze],j.y>S.y!=te.y>S.y&&S.x<(te.x-j.x)*(S.y-j.y)/(te.y-j.y)+j.x&&(ue=!ue)}return ue}function On(R,S){let D=!1;for(let j=0,te=R.length-1;j<R.length;te=j++){let ue=R[j],ve=R[te];ue.y>S.y!=ve.y>S.y&&S.x<(ve.x-ue.x)*(S.y-ue.y)/(ve.y-ue.y)+ue.x&&(D=!D)}return D}function Bn(R,S,D){let j=D[0],te=D[2];if(R.x<j.x&&S.x<j.x||R.x>te.x&&S.x>te.x||R.y<j.y&&S.y<j.y||R.y>te.y&&S.y>te.y)return!1;let ue=F(R,S,D[0]);return ue!==F(R,S,D[1])||ue!==F(R,S,D[2])||ue!==F(R,S,D[3])}function yn(R,S,D){let j=S.paint.get(R).value;return j.kind===\"constant\"?j.value:D.programConfigurations.get(S.id).getMaxValue(R)}function to(R){return Math.sqrt(R[0]*R[0]+R[1]*R[1])}function Rn(R,S,D,j,te){if(!S[0]&&!S[1])return R;let ue=u.convert(S)._mult(te);D===\"viewport\"&&ue._rotate(-j);let ve=[];for(let De=0;De<R.length;De++)ve.push(R[De].sub(ue));return ve}let Dn,fn;mi(\"CircleBucket\",dl,{omit:[\"layers\"]});var Ai={get paint(){return fn=fn||new le({\"circle-radius\":new eo(ce.paint_circle[\"circle-radius\"]),\"circle-color\":new eo(ce.paint_circle[\"circle-color\"]),\"circle-blur\":new eo(ce.paint_circle[\"circle-blur\"]),\"circle-opacity\":new eo(ce.paint_circle[\"circle-opacity\"]),\"circle-translate\":new Da(ce.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new Da(ce.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new Da(ce.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new Da(ce.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new eo(ce.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new eo(ce.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new eo(ce.paint_circle[\"circle-stroke-opacity\"])})},get layout(){return Dn=Dn||new le({\"circle-sort-key\":new eo(ce.layout_circle[\"circle-sort-key\"])})}},ji=1e-6,Ln=typeof Float32Array!=\"undefined\"?Float32Array:Array;function Un(R){return R[0]=1,R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=1,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[10]=1,R[11]=0,R[12]=0,R[13]=0,R[14]=0,R[15]=1,R}function gn(R,S,D){var j=S[0],te=S[1],ue=S[2],ve=S[3],De=S[4],Ze=S[5],at=S[6],Tt=S[7],Ft=S[8],Qt=S[9],sr=S[10],Tr=S[11],Pr=S[12],$r=S[13],ni=S[14],Di=S[15],pi=D[0],ki=D[1],Zi=D[2],ta=D[3];return R[0]=pi*j+ki*De+Zi*Ft+ta*Pr,R[1]=pi*te+ki*Ze+Zi*Qt+ta*$r,R[2]=pi*ue+ki*at+Zi*sr+ta*ni,R[3]=pi*ve+ki*Tt+Zi*Tr+ta*Di,R[4]=(pi=D[4])*j+(ki=D[5])*De+(Zi=D[6])*Ft+(ta=D[7])*Pr,R[5]=pi*te+ki*Ze+Zi*Qt+ta*$r,R[6]=pi*ue+ki*at+Zi*sr+ta*ni,R[7]=pi*ve+ki*Tt+Zi*Tr+ta*Di,R[8]=(pi=D[8])*j+(ki=D[9])*De+(Zi=D[10])*Ft+(ta=D[11])*Pr,R[9]=pi*te+ki*Ze+Zi*Qt+ta*$r,R[10]=pi*ue+ki*at+Zi*sr+ta*ni,R[11]=pi*ve+ki*Tt+Zi*Tr+ta*Di,R[12]=(pi=D[12])*j+(ki=D[13])*De+(Zi=D[14])*Ft+(ta=D[15])*Pr,R[13]=pi*te+ki*Ze+Zi*Qt+ta*$r,R[14]=pi*ue+ki*at+Zi*sr+ta*ni,R[15]=pi*ve+ki*Tt+Zi*Tr+ta*Di,R}Math.hypot||(Math.hypot=function(){for(var R=0,S=arguments.length;S--;)R+=arguments[S]*arguments[S];return Math.sqrt(R)});var ca,Kn=gn;function Za(R,S,D){var j=S[0],te=S[1],ue=S[2],ve=S[3];return R[0]=D[0]*j+D[4]*te+D[8]*ue+D[12]*ve,R[1]=D[1]*j+D[5]*te+D[9]*ue+D[13]*ve,R[2]=D[2]*j+D[6]*te+D[10]*ue+D[14]*ve,R[3]=D[3]*j+D[7]*te+D[11]*ue+D[15]*ve,R}ca=new Ln(4),Ln!=Float32Array&&(ca[0]=0,ca[1]=0,ca[2]=0,ca[3]=0);class wn extends B{constructor(S){super(S,Ai)}createBucket(S){return new dl(S)}queryRadius(S){let D=S;return yn(\"circle-radius\",this,D)+yn(\"circle-stroke-width\",this,D)+to(this.paint.get(\"circle-translate\"))}queryIntersectsFeature(S,D,j,te,ue,ve,De,Ze){let at=Rn(S,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),ve.angle,De),Tt=this.paint.get(\"circle-radius\").evaluate(D,j)+this.paint.get(\"circle-stroke-width\").evaluate(D,j),Ft=this.paint.get(\"circle-pitch-alignment\")===\"map\",Qt=Ft?at:function(Tr,Pr){return Tr.map($r=>vn($r,Pr))}(at,Ze),sr=Ft?Tt*De:Tt;for(let Tr of te)for(let Pr of Tr){let $r=Ft?Pr:vn(Pr,Ze),ni=sr,Di=Za([],[Pr.x,Pr.y,0,1],Ze);if(this.paint.get(\"circle-pitch-scale\")===\"viewport\"&&this.paint.get(\"circle-pitch-alignment\")===\"map\"?ni*=Di[3]/ve.cameraToCenterDistance:this.paint.get(\"circle-pitch-scale\")===\"map\"&&this.paint.get(\"circle-pitch-alignment\")===\"viewport\"&&(ni*=ve.cameraToCenterDistance/Di[3]),At(Qt,$r,ni))return!0}return!1}}function vn(R,S){let D=Za([],[R.x,R.y,0,1],S);return new u(D[0]/D[3],D[1]/D[3])}class Aa extends dl{}let aa;mi(\"HeatmapBucket\",Aa,{omit:[\"layers\"]});var Xn={get paint(){return aa=aa||new le({\"heatmap-radius\":new eo(ce.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new eo(ce.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new Da(ce.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new _c(ce.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new Da(ce.paint_heatmap[\"heatmap-opacity\"])})}};function Vn(R,{width:S,height:D},j,te){if(te){if(te instanceof Uint8ClampedArray)te=new Uint8Array(te.buffer);else if(te.length!==S*D*j)throw new RangeError(`mismatched image size. expected: ${te.length} but got: ${S*D*j}`)}else te=new Uint8Array(S*D*j);return R.width=S,R.height=D,R.data=te,R}function ma(R,{width:S,height:D},j){if(S===R.width&&D===R.height)return;let te=Vn({},{width:S,height:D},j);ro(R,te,{x:0,y:0},{x:0,y:0},{width:Math.min(R.width,S),height:Math.min(R.height,D)},j),R.width=S,R.height=D,R.data=te.data}function ro(R,S,D,j,te,ue){if(te.width===0||te.height===0)return S;if(te.width>R.width||te.height>R.height||D.x>R.width-te.width||D.y>R.height-te.height)throw new RangeError(\"out of range source coordinates for image copy\");if(te.width>S.width||te.height>S.height||j.x>S.width-te.width||j.y>S.height-te.height)throw new RangeError(\"out of range destination coordinates for image copy\");let ve=R.data,De=S.data;if(ve===De)throw new Error(\"srcData equals dstData, so image is already copied\");for(let Ze=0;Ze<te.height;Ze++){let at=((D.y+Ze)*R.width+D.x)*ue,Tt=((j.y+Ze)*S.width+j.x)*ue;for(let Ft=0;Ft<te.width*ue;Ft++)De[Tt+Ft]=ve[at+Ft]}return S}class Ao{constructor(S,D){Vn(this,S,1,D)}resize(S){ma(this,S,1)}clone(){return new Ao({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(S,D,j,te,ue){ro(S,D,j,te,ue,1)}}class Jn{constructor(S,D){Vn(this,S,4,D)}resize(S){ma(this,S,4)}replace(S,D){D?this.data.set(S):this.data=S instanceof Uint8ClampedArray?new Uint8Array(S.buffer):S}clone(){return new Jn({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(S,D,j,te,ue){ro(S,D,j,te,ue,4)}}function Oa(R){let S={},D=R.resolution||256,j=R.clips?R.clips.length:1,te=R.image||new Jn({width:D,height:j});if(Math.log(D)/Math.LN2%1!=0)throw new Error(`width is not a power of 2 - ${D}`);let ue=(ve,De,Ze)=>{S[R.evaluationKey]=Ze;let at=R.expression.evaluate(S);te.data[ve+De+0]=Math.floor(255*at.r/at.a),te.data[ve+De+1]=Math.floor(255*at.g/at.a),te.data[ve+De+2]=Math.floor(255*at.b/at.a),te.data[ve+De+3]=Math.floor(255*at.a)};if(R.clips)for(let ve=0,De=0;ve<j;++ve,De+=4*D)for(let Ze=0,at=0;Ze<D;Ze++,at+=4){let Tt=Ze/(D-1),{start:Ft,end:Qt}=R.clips[ve];ue(De,at,Ft*(1-Tt)+Qt*Tt)}else for(let ve=0,De=0;ve<D;ve++,De+=4)ue(0,De,ve/(D-1));return te}mi(\"AlphaImage\",Ao),mi(\"RGBAImage\",Jn);let _o=\"big-fb\";class Po extends B{createBucket(S){return new Aa(S)}constructor(S){super(S,Xn),this.heatmapFbos=new Map,this._updateColorRamp()}_handleSpecialPaintPropertyUpdate(S){S===\"heatmap-color\"&&this._updateColorRamp()}_updateColorRamp(){this.colorRamp=Oa({expression:this._transitionablePaint._values[\"heatmap-color\"].value.expression,evaluationKey:\"heatmapDensity\",image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbos.has(_o)&&this.heatmapFbos.delete(_o)}queryRadius(){return 0}queryIntersectsFeature(){return!1}hasOffscreenPass(){return this.paint.get(\"heatmap-opacity\")!==0&&this.visibility!==\"none\"}}let Jo;var Yl={get paint(){return Jo=Jo||new le({\"hillshade-illumination-direction\":new Da(ce.paint_hillshade[\"hillshade-illumination-direction\"]),\"hillshade-illumination-anchor\":new Da(ce.paint_hillshade[\"hillshade-illumination-anchor\"]),\"hillshade-exaggeration\":new Da(ce.paint_hillshade[\"hillshade-exaggeration\"]),\"hillshade-shadow-color\":new Da(ce.paint_hillshade[\"hillshade-shadow-color\"]),\"hillshade-highlight-color\":new Da(ce.paint_hillshade[\"hillshade-highlight-color\"]),\"hillshade-accent-color\":new Da(ce.paint_hillshade[\"hillshade-accent-color\"])})}};class $c extends B{constructor(S){super(S,Yl)}hasOffscreenPass(){return this.paint.get(\"hillshade-exaggeration\")!==0&&this.visibility!==\"none\"}}let xs=qe([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:Qc}=xs;function El(R,S,D=2){let j=S&&S.length,te=j?S[0]*D:R.length,ue=bc(R,0,te,D,!0),ve=[];if(!ue||ue.next===ue.prev)return ve;let De,Ze,at;if(j&&(ue=function(Tt,Ft,Qt,sr){let Tr=[];for(let Pr=0,$r=Ft.length;Pr<$r;Pr++){let ni=bc(Tt,Ft[Pr]*sr,Pr<$r-1?Ft[Pr+1]*sr:Tt.length,sr,!1);ni===ni.next&&(ni.steiner=!0),Tr.push(K(ni))}Tr.sort(_f);for(let Pr=0;Pr<Tr.length;Pr++)Qt=ns(Tr[Pr],Qt);return Qt}(R,S,ue,D)),R.length>80*D){De=1/0,Ze=1/0;let Tt=-1/0,Ft=-1/0;for(let Qt=D;Qt<te;Qt+=D){let sr=R[Qt],Tr=R[Qt+1];sr<De&&(De=sr),Tr<Ze&&(Ze=Tr),sr>Tt&&(Tt=sr),Tr>Ft&&(Ft=Tr)}at=Math.max(Tt-De,Ft-Ze),at=at!==0?32767/at:0}return yf(ue,ve,D,De,Ze,at,0),ve}function bc(R,S,D,j,te){let ue;if(te===function(ve,De,Ze,at){let Tt=0;for(let Ft=De,Qt=Ze-at;Ft<Ze;Ft+=at)Tt+=(ve[Qt]-ve[Ft])*(ve[Ft+1]+ve[Qt+1]),Qt=Ft;return Tt}(R,S,D,j)>0)for(let ve=S;ve<D;ve+=j)ue=Jt(ve/j|0,R[ve],R[ve+1],ue);else for(let ve=D-j;ve>=S;ve-=j)ue=Jt(ve/j|0,R[ve],R[ve+1],ue);return ue&&de(ue,ue.next)&&(vt(ue),ue=ue.next),ue}function wc(R,S){if(!R)return R;S||(S=R);let D,j=R;do if(D=!1,j.steiner||!de(j,j.next)&&pe(j.prev,j,j.next)!==0)j=j.next;else{if(vt(j),j=S=j.prev,j===j.next)break;D=!0}while(D||j!==S);return S}function yf(R,S,D,j,te,ue,ve){if(!R)return;!ve&&ue&&function(Ze,at,Tt,Ft){let Qt=Ze;do Qt.z===0&&(Qt.z=z(Qt.x,Qt.y,at,Tt,Ft)),Qt.prevZ=Qt.prev,Qt.nextZ=Qt.next,Qt=Qt.next;while(Qt!==Ze);Qt.prevZ.nextZ=null,Qt.prevZ=null,function(sr){let Tr,Pr=1;do{let $r,ni=sr;sr=null;let Di=null;for(Tr=0;ni;){Tr++;let pi=ni,ki=0;for(let ta=0;ta<Pr&&(ki++,pi=pi.nextZ,pi);ta++);let Zi=Pr;for(;ki>0||Zi>0&π)ki!==0&&(Zi===0||!pi||ni.z<=pi.z)?($r=ni,ni=ni.nextZ,ki--):($r=pi,pi=pi.nextZ,Zi--),Di?Di.nextZ=$r:sr=$r,$r.prevZ=Di,Di=$r;ni=pi}Di.nextZ=null,Pr*=2}while(Tr>1)}(Qt)}(R,j,te,ue);let De=R;for(;R.prev!==R.next;){let Ze=R.prev,at=R.next;if(ue?Fc(R,j,te,ue):Gl(R))S.push(Ze.i,R.i,at.i),vt(R),R=at.next,De=at.next;else if((R=at)===De){ve?ve===1?yf(R=ef(wc(R),S),S,D,j,te,ue,2):ve===2&&ls(R,S,D,j,te,ue):yf(wc(R),S,D,j,te,ue,1);break}}}function Gl(R){let S=R.prev,D=R,j=R.next;if(pe(S,D,j)>=0)return!1;let te=S.x,ue=D.x,ve=j.x,De=S.y,Ze=D.y,at=j.y,Tt=te<ue?te<ve?te:ve:ue<ve?ue:ve,Ft=De<Ze?De<at?De:at:Ze<at?Ze:at,Qt=te>ue?te>ve?te:ve:ue>ve?ue:ve,sr=De>Ze?De>at?De:at:Ze>at?Ze:at,Tr=j.next;for(;Tr!==S;){if(Tr.x>=Tt&&Tr.x<=Qt&&Tr.y>=Ft&&Tr.y<=sr&&O(te,De,ue,Ze,ve,at,Tr.x,Tr.y)&&pe(Tr.prev,Tr,Tr.next)>=0)return!1;Tr=Tr.next}return!0}function Fc(R,S,D,j){let te=R.prev,ue=R,ve=R.next;if(pe(te,ue,ve)>=0)return!1;let De=te.x,Ze=ue.x,at=ve.x,Tt=te.y,Ft=ue.y,Qt=ve.y,sr=De<Ze?De<at?De:at:Ze<at?Ze:at,Tr=Tt<Ft?Tt<Qt?Tt:Qt:Ft<Qt?Ft:Qt,Pr=De>Ze?De>at?De:at:Ze>at?Ze:at,$r=Tt>Ft?Tt>Qt?Tt:Qt:Ft>Qt?Ft:Qt,ni=z(sr,Tr,S,D,j),Di=z(Pr,$r,S,D,j),pi=R.prevZ,ki=R.nextZ;for(;pi&&pi.z>=ni&&ki&&ki.z<=Di;){if(pi.x>=sr&&pi.x<=Pr&&pi.y>=Tr&&pi.y<=$r&&pi!==te&&pi!==ve&&O(De,Tt,Ze,Ft,at,Qt,pi.x,pi.y)&&pe(pi.prev,pi,pi.next)>=0||(pi=pi.prevZ,ki.x>=sr&&ki.x<=Pr&&ki.y>=Tr&&ki.y<=$r&&ki!==te&&ki!==ve&&O(De,Tt,Ze,Ft,at,Qt,ki.x,ki.y)&&pe(ki.prev,ki,ki.next)>=0))return!1;ki=ki.nextZ}for(;pi&&pi.z>=ni;){if(pi.x>=sr&&pi.x<=Pr&&pi.y>=Tr&&pi.y<=$r&&pi!==te&&pi!==ve&&O(De,Tt,Ze,Ft,at,Qt,pi.x,pi.y)&&pe(pi.prev,pi,pi.next)>=0)return!1;pi=pi.prevZ}for(;ki&&ki.z<=Di;){if(ki.x>=sr&&ki.x<=Pr&&ki.y>=Tr&&ki.y<=$r&&ki!==te&&ki!==ve&&O(De,Tt,Ze,Ft,at,Qt,ki.x,ki.y)&&pe(ki.prev,ki,ki.next)>=0)return!1;ki=ki.nextZ}return!0}function ef(R,S){let D=R;do{let j=D.prev,te=D.next.next;!de(j,te)&&Ie(j,D,D.next,te)&&Kt(j,te)&&Kt(te,j)&&(S.push(j.i,D.i,te.i),vt(D),vt(D.next),D=R=te),D=D.next}while(D!==R);return wc(D)}function ls(R,S,D,j,te,ue){let ve=R;do{let De=ve.next.next;for(;De!==ve.prev;){if(ve.i!==De.i&&$(ve,De)){let Ze=ir(ve,De);return ve=wc(ve,ve.next),Ze=wc(Ze,Ze.next),yf(ve,S,D,j,te,ue,0),void yf(Ze,S,D,j,te,ue,0)}De=De.next}ve=ve.next}while(ve!==R)}function _f(R,S){return R.x-S.x}function ns(R,S){let D=function(te,ue){let ve=ue,De=te.x,Ze=te.y,at,Tt=-1/0;do{if(Ze<=ve.y&&Ze>=ve.next.y&&ve.next.y!==ve.y){let Pr=ve.x+(Ze-ve.y)*(ve.next.x-ve.x)/(ve.next.y-ve.y);if(Pr<=De&&Pr>Tt&&(Tt=Pr,at=ve.x<ve.next.x?ve:ve.next,Pr===De))return at}ve=ve.next}while(ve!==ue);if(!at)return null;let Ft=at,Qt=at.x,sr=at.y,Tr=1/0;ve=at;do{if(De>=ve.x&&ve.x>=Qt&&De!==ve.x&&O(Ze<sr?De:Tt,Ze,Qt,sr,Ze<sr?Tt:De,Ze,ve.x,ve.y)){let Pr=Math.abs(Ze-ve.y)/(De-ve.x);Kt(ve,te)&&(Pr<Tr||Pr===Tr&&(ve.x>at.x||ve.x===at.x&&Y(at,ve)))&&(at=ve,Tr=Pr)}ve=ve.next}while(ve!==Ft);return at}(R,S);if(!D)return S;let j=ir(D,R);return wc(j,j.next),wc(D,D.next)}function Y(R,S){return pe(R.prev,R,S.prev)<0&&pe(S.next,R,R.next)<0}function z(R,S,D,j,te){return(R=1431655765&((R=858993459&((R=252645135&((R=16711935&((R=(R-D)*te|0)|R<<8))|R<<4))|R<<2))|R<<1))|(S=1431655765&((S=858993459&((S=252645135&((S=16711935&((S=(S-j)*te|0)|S<<8))|S<<4))|S<<2))|S<<1))<<1}function K(R){let S=R,D=R;do(S.x<D.x||S.x===D.x&&S.y<D.y)&&(D=S),S=S.next;while(S!==R);return D}function O(R,S,D,j,te,ue,ve,De){return(te-ve)*(S-De)>=(R-ve)*(ue-De)&&(R-ve)*(j-De)>=(D-ve)*(S-De)&&(D-ve)*(ue-De)>=(te-ve)*(j-De)}function $(R,S){return R.next.i!==S.i&&R.prev.i!==S.i&&!function(D,j){let te=D;do{if(te.i!==D.i&&te.next.i!==D.i&&te.i!==j.i&&te.next.i!==j.i&&Ie(te,te.next,D,j))return!0;te=te.next}while(te!==D);return!1}(R,S)&&(Kt(R,S)&&Kt(S,R)&&function(D,j){let te=D,ue=!1,ve=(D.x+j.x)/2,De=(D.y+j.y)/2;do te.y>De!=te.next.y>De&&te.next.y!==te.y&&ve<(te.next.x-te.x)*(De-te.y)/(te.next.y-te.y)+te.x&&(ue=!ue),te=te.next;while(te!==D);return ue}(R,S)&&(pe(R.prev,R,S.prev)||pe(R,S.prev,S))||de(R,S)&&pe(R.prev,R,R.next)>0&&pe(S.prev,S,S.next)>0)}function pe(R,S,D){return(S.y-R.y)*(D.x-S.x)-(S.x-R.x)*(D.y-S.y)}function de(R,S){return R.x===S.x&&R.y===S.y}function Ie(R,S,D,j){let te=pt(pe(R,S,D)),ue=pt(pe(R,S,j)),ve=pt(pe(D,j,R)),De=pt(pe(D,j,S));return te!==ue&&ve!==De||!(te!==0||!$e(R,D,S))||!(ue!==0||!$e(R,j,S))||!(ve!==0||!$e(D,R,j))||!(De!==0||!$e(D,S,j))}function $e(R,S,D){return S.x<=Math.max(R.x,D.x)&&S.x>=Math.min(R.x,D.x)&&S.y<=Math.max(R.y,D.y)&&S.y>=Math.min(R.y,D.y)}function pt(R){return R>0?1:R<0?-1:0}function Kt(R,S){return pe(R.prev,R,R.next)<0?pe(R,S,R.next)>=0&&pe(R,R.prev,S)>=0:pe(R,S,R.prev)<0||pe(R,R.next,S)<0}function ir(R,S){let D=Pt(R.i,R.x,R.y),j=Pt(S.i,S.x,S.y),te=R.next,ue=S.prev;return R.next=S,S.prev=R,D.next=te,te.prev=D,j.next=D,D.prev=j,ue.next=j,j.prev=ue,j}function Jt(R,S,D,j){let te=Pt(R,S,D);return j?(te.next=j.next,te.prev=j,j.next.prev=te,j.next=te):(te.prev=te,te.next=te),te}function vt(R){R.next.prev=R.prev,R.prev.next=R.next,R.prevZ&&(R.prevZ.nextZ=R.nextZ),R.nextZ&&(R.nextZ.prevZ=R.prevZ)}function Pt(R,S,D){return{i:R,x:S,y:D,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function Wt(R,S,D){let j=D.patternDependencies,te=!1;for(let ue of S){let ve=ue.paint.get(`${R}-pattern`);ve.isConstant()||(te=!0);let De=ve.constantOr(null);De&&(te=!0,j[De.to]=!0,j[De.from]=!0)}return te}function rr(R,S,D,j,te){let ue=te.patternDependencies;for(let ve of S){let De=ve.paint.get(`${R}-pattern`).value;if(De.kind!==\"constant\"){let Ze=De.evaluate({zoom:j-1},D,{},te.availableImages),at=De.evaluate({zoom:j},D,{},te.availableImages),Tt=De.evaluate({zoom:j+1},D,{},te.availableImages);Ze=Ze&&Ze.name?Ze.name:Ze,at=at&&at.name?at.name:at,Tt=Tt&&Tt.name?Tt.name:Tt,ue[Ze]=!0,ue[at]=!0,ue[Tt]=!0,D.patterns[ve.id]={min:Ze,mid:at,max:Tt}}}return D}class dr{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new _l,this.indexArray=new oe,this.indexArray2=new we,this.programConfigurations=new _s(S.layers,S.zoom),this.segments=new We,this.segments2=new We,this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){this.hasPattern=Wt(\"fill\",this.layers,D);let te=this.layers[0].layout.get(\"fill-sort-key\"),ue=!te.isConstant(),ve=[];for(let{feature:De,id:Ze,index:at,sourceLayerIndex:Tt}of S){let Ft=this.layers[0]._featureFilter.needGeometry,Qt=xl(De,Ft);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),Qt,j))continue;let sr=ue?te.evaluate(Qt,{},j,D.availableImages):void 0,Tr={id:Ze,properties:De.properties,type:De.type,sourceLayerIndex:Tt,index:at,geometry:Ft?Qt.geometry:js(De),patterns:{},sortKey:sr};ve.push(Tr)}ue&&ve.sort((De,Ze)=>De.sortKey-Ze.sortKey);for(let De of ve){let{geometry:Ze,index:at,sourceLayerIndex:Tt}=De;if(this.hasPattern){let Ft=rr(\"fill\",this.layers,De,this.zoom,D);this.patternFeatures.push(Ft)}else this.addFeature(De,Ze,at,j,{});D.featureIndex.insert(S[at].feature,Ze,at,Tt,this.index)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}addFeatures(S,D,j){for(let te of this.patternFeatures)this.addFeature(te,te.geometry,te.index,D,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,Qc),this.indexBuffer=S.createIndexBuffer(this.indexArray),this.indexBuffer2=S.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(S),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(S,D,j,te,ue){for(let ve of Of(D,500)){let De=0;for(let sr of ve)De+=sr.length;let Ze=this.segments.prepareSegment(De,this.layoutVertexArray,this.indexArray),at=Ze.vertexLength,Tt=[],Ft=[];for(let sr of ve){if(sr.length===0)continue;sr!==ve[0]&&Ft.push(Tt.length/2);let Tr=this.segments2.prepareSegment(sr.length,this.layoutVertexArray,this.indexArray2),Pr=Tr.vertexLength;this.layoutVertexArray.emplaceBack(sr[0].x,sr[0].y),this.indexArray2.emplaceBack(Pr+sr.length-1,Pr),Tt.push(sr[0].x),Tt.push(sr[0].y);for(let $r=1;$r<sr.length;$r++)this.layoutVertexArray.emplaceBack(sr[$r].x,sr[$r].y),this.indexArray2.emplaceBack(Pr+$r-1,Pr+$r),Tt.push(sr[$r].x),Tt.push(sr[$r].y);Tr.vertexLength+=sr.length,Tr.primitiveLength+=sr.length}let Qt=El(Tt,Ft);for(let sr=0;sr<Qt.length;sr+=3)this.indexArray.emplaceBack(at+Qt[sr],at+Qt[sr+1],at+Qt[sr+2]);Ze.vertexLength+=De,Ze.primitiveLength+=Qt.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,ue,te)}}let pr,kr;mi(\"FillBucket\",dr,{omit:[\"layers\",\"patternFeatures\"]});var Ar={get paint(){return kr=kr||new le({\"fill-antialias\":new Da(ce.paint_fill[\"fill-antialias\"]),\"fill-opacity\":new eo(ce.paint_fill[\"fill-opacity\"]),\"fill-color\":new eo(ce.paint_fill[\"fill-color\"]),\"fill-outline-color\":new eo(ce.paint_fill[\"fill-outline-color\"]),\"fill-translate\":new Da(ce.paint_fill[\"fill-translate\"]),\"fill-translate-anchor\":new Da(ce.paint_fill[\"fill-translate-anchor\"]),\"fill-pattern\":new Jc(ce.paint_fill[\"fill-pattern\"])})},get layout(){return pr=pr||new le({\"fill-sort-key\":new eo(ce.layout_fill[\"fill-sort-key\"])})}};class gr extends B{constructor(S){super(S,Ar)}recalculate(S,D){super.recalculate(S,D);let j=this.paint._values[\"fill-outline-color\"];j.value.kind===\"constant\"&&j.value.value===void 0&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"])}createBucket(S){return new dr(S)}queryRadius(){return to(this.paint.get(\"fill-translate\"))}queryIntersectsFeature(S,D,j,te,ue,ve,De){return Er(Rn(S,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),ve.angle,De),te)}isTileClipped(){return!0}}let Cr=qe([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal_ed\",components:4,type:\"Int16\"}],4),cr=qe([{name:\"a_centroid\",components:2,type:\"Int16\"}],4),{members:Gr}=Cr;var ei={},yi=s,tn=Ri;function Ri(R,S,D,j,te){this.properties={},this.extent=D,this.type=0,this._pbf=R,this._geometry=-1,this._keys=j,this._values=te,R.readFields(ln,this,S)}function ln(R,S,D){R==1?S.id=D.readVarint():R==2?function(j,te){for(var ue=j.readVarint()+j.pos;j.pos<ue;){var ve=te._keys[j.readVarint()],De=te._values[j.readVarint()];te.properties[ve]=De}}(D,S):R==3?S.type=D.readVarint():R==4&&(S._geometry=D.pos)}function Qn(R){for(var S,D,j=0,te=0,ue=R.length,ve=ue-1;te<ue;ve=te++)j+=((D=R[ve]).x-(S=R[te]).x)*(S.y+D.y);return j}Ri.types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],Ri.prototype.loadGeometry=function(){var R=this._pbf;R.pos=this._geometry;for(var S,D=R.readVarint()+R.pos,j=1,te=0,ue=0,ve=0,De=[];R.pos<D;){if(te<=0){var Ze=R.readVarint();j=7&Ze,te=Ze>>3}if(te--,j===1||j===2)ue+=R.readSVarint(),ve+=R.readSVarint(),j===1&&(S&&De.push(S),S=[]),S.push(new yi(ue,ve));else{if(j!==7)throw new Error(\"unknown command \"+j);S&&S.push(S[0].clone())}}return S&&De.push(S),De},Ri.prototype.bbox=function(){var R=this._pbf;R.pos=this._geometry;for(var S=R.readVarint()+R.pos,D=1,j=0,te=0,ue=0,ve=1/0,De=-1/0,Ze=1/0,at=-1/0;R.pos<S;){if(j<=0){var Tt=R.readVarint();D=7&Tt,j=Tt>>3}if(j--,D===1||D===2)(te+=R.readSVarint())<ve&&(ve=te),te>De&&(De=te),(ue+=R.readSVarint())<Ze&&(Ze=ue),ue>at&&(at=ue);else if(D!==7)throw new Error(\"unknown command \"+D)}return[ve,Ze,De,at]},Ri.prototype.toGeoJSON=function(R,S,D){var j,te,ue=this.extent*Math.pow(2,D),ve=this.extent*R,De=this.extent*S,Ze=this.loadGeometry(),at=Ri.types[this.type];function Tt(sr){for(var Tr=0;Tr<sr.length;Tr++){var Pr=sr[Tr];sr[Tr]=[360*(Pr.x+ve)/ue-180,360/Math.PI*Math.atan(Math.exp((180-360*(Pr.y+De)/ue)*Math.PI/180))-90]}}switch(this.type){case 1:var Ft=[];for(j=0;j<Ze.length;j++)Ft[j]=Ze[j][0];Tt(Ze=Ft);break;case 2:for(j=0;j<Ze.length;j++)Tt(Ze[j]);break;case 3:for(Ze=function(sr){var Tr=sr.length;if(Tr<=1)return[sr];for(var Pr,$r,ni=[],Di=0;Di<Tr;Di++){var pi=Qn(sr[Di]);pi!==0&&($r===void 0&&($r=pi<0),$r===pi<0?(Pr&&ni.push(Pr),Pr=[sr[Di]]):Pr.push(sr[Di]))}return Pr&&ni.push(Pr),ni}(Ze),j=0;j<Ze.length;j++)for(te=0;te<Ze[j].length;te++)Tt(Ze[j][te])}Ze.length===1?Ze=Ze[0]:at=\"Multi\"+at;var Qt={type:\"Feature\",geometry:{type:at,coordinates:Ze},properties:this.properties};return\"id\"in this&&(Qt.id=this.id),Qt};var qn=tn,rn=bn;function bn(R,S){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=R,this._keys=[],this._values=[],this._features=[],R.readFields(mn,this,S),this.length=this._features.length}function mn(R,S,D){R===15?S.version=D.readVarint():R===1?S.name=D.readString():R===5?S.extent=D.readVarint():R===2?S._features.push(D.pos):R===3?S._keys.push(D.readString()):R===4&&S._values.push(function(j){for(var te=null,ue=j.readVarint()+j.pos;j.pos<ue;){var ve=j.readVarint()>>3;te=ve===1?j.readString():ve===2?j.readFloat():ve===3?j.readDouble():ve===4?j.readVarint64():ve===5?j.readVarint():ve===6?j.readSVarint():ve===7?j.readBoolean():null}return te}(D))}bn.prototype.feature=function(R){if(R<0||R>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[R];var S=this._pbf.readVarint()+this._pbf.pos;return new qn(this._pbf,S,this.extent,this._keys,this._values)};var Gn=rn;function da(R,S,D){if(R===3){var j=new Gn(D,D.readVarint()+D.pos);j.length&&(S[j.name]=j)}}ei.VectorTile=function(R,S){this.layers=R.readFields(da,{},S)},ei.VectorTileFeature=tn,ei.VectorTileLayer=rn;let No=ei.VectorTileFeature.types,Do=Math.pow(2,13);function ps(R,S,D,j,te,ue,ve,De){R.emplaceBack(S,D,2*Math.floor(j*Do)+ve,te*Do*2,ue*Do*2,Math.round(De))}class fo{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.layoutVertexArray=new Hl,this.centroidVertexArray=new yo,this.indexArray=new oe,this.programConfigurations=new _s(S.layers,S.zoom),this.segments=new We,this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){this.features=[],this.hasPattern=Wt(\"fill-extrusion\",this.layers,D);for(let{feature:te,id:ue,index:ve,sourceLayerIndex:De}of S){let Ze=this.layers[0]._featureFilter.needGeometry,at=xl(te,Ze);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),at,j))continue;let Tt={id:ue,sourceLayerIndex:De,index:ve,geometry:Ze?at.geometry:js(te),properties:te.properties,type:te.type,patterns:{}};this.hasPattern?this.features.push(rr(\"fill-extrusion\",this.layers,Tt,this.zoom,D)):this.addFeature(Tt,Tt.geometry,ve,j,{}),D.featureIndex.insert(te,Tt.geometry,ve,De,this.index,!0)}}addFeatures(S,D,j){for(let te of this.features){let{geometry:ue}=te;this.addFeature(te,ue,te.index,D,j)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,Gr),this.centroidVertexBuffer=S.createVertexBuffer(this.centroidVertexArray,cr.members,!0),this.indexBuffer=S.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(S),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(S,D,j,te,ue){for(let ve of Of(D,500)){let De={x:0,y:0,vertexCount:0},Ze=0;for(let Tr of ve)Ze+=Tr.length;let at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let Tr of ve){if(Tr.length===0||tl(Tr))continue;let Pr=0;for(let $r=0;$r<Tr.length;$r++){let ni=Tr[$r];if($r>=1){let Di=Tr[$r-1];if(!as(ni,Di)){at.vertexLength+4>We.MAX_VERTEX_ARRAY_LENGTH&&(at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let pi=ni.sub(Di)._perp()._unit(),ki=Di.dist(ni);Pr+ki>32768&&(Pr=0),ps(this.layoutVertexArray,ni.x,ni.y,pi.x,pi.y,0,0,Pr),ps(this.layoutVertexArray,ni.x,ni.y,pi.x,pi.y,0,1,Pr),De.x+=2*ni.x,De.y+=2*ni.y,De.vertexCount+=2,Pr+=ki,ps(this.layoutVertexArray,Di.x,Di.y,pi.x,pi.y,0,0,Pr),ps(this.layoutVertexArray,Di.x,Di.y,pi.x,pi.y,0,1,Pr),De.x+=2*Di.x,De.y+=2*Di.y,De.vertexCount+=2;let Zi=at.vertexLength;this.indexArray.emplaceBack(Zi,Zi+2,Zi+1),this.indexArray.emplaceBack(Zi+1,Zi+2,Zi+3),at.vertexLength+=4,at.primitiveLength+=2}}}}if(at.vertexLength+Ze>We.MAX_VERTEX_ARRAY_LENGTH&&(at=this.segments.prepareSegment(Ze,this.layoutVertexArray,this.indexArray)),No[S.type]!==\"Polygon\")continue;let Tt=[],Ft=[],Qt=at.vertexLength;for(let Tr of ve)if(Tr.length!==0){Tr!==ve[0]&&Ft.push(Tt.length/2);for(let Pr=0;Pr<Tr.length;Pr++){let $r=Tr[Pr];ps(this.layoutVertexArray,$r.x,$r.y,0,0,1,1,0),De.x+=$r.x,De.y+=$r.y,De.vertexCount+=1,Tt.push($r.x),Tt.push($r.y)}}let sr=El(Tt,Ft);for(let Tr=0;Tr<sr.length;Tr+=3)this.indexArray.emplaceBack(Qt+sr[Tr],Qt+sr[Tr+2],Qt+sr[Tr+1]);at.primitiveLength+=sr.length/3,at.vertexLength+=Ze;for(let Tr=0;Tr<De.vertexCount;Tr++){let Pr=Math.floor(De.x/De.vertexCount),$r=Math.floor(De.y/De.vertexCount);this.centroidVertexArray.emplaceBack(Pr,$r)}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,ue,te)}}function as(R,S){return R.x===S.x&&(R.x<0||R.x>za)||R.y===S.y&&(R.y<0||R.y>za)}function tl(R){return R.every(S=>S.x<0)||R.every(S=>S.x>za)||R.every(S=>S.y<0)||R.every(S=>S.y>za)}let zu;mi(\"FillExtrusionBucket\",fo,{omit:[\"layers\",\"features\"]});var Mv={get paint(){return zu=zu||new le({\"fill-extrusion-opacity\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new eo(ce[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Jc(ce[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new eo(ce[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new eo(ce[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})}};class Ev extends B{constructor(S){super(S,Mv)}createBucket(S){return new fo(S)}queryRadius(){return to(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return!0}queryIntersectsFeature(S,D,j,te,ue,ve,De,Ze){let at=Rn(S,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),ve.angle,De),Tt=this.paint.get(\"fill-extrusion-height\").evaluate(D,j),Ft=this.paint.get(\"fill-extrusion-base\").evaluate(D,j),Qt=function(Tr,Pr,$r,ni){let Di=[];for(let pi of Tr){let ki=[pi.x,pi.y,0,1];Za(ki,ki,Pr),Di.push(new u(ki[0]/ki[3],ki[1]/ki[3]))}return Di}(at,Ze),sr=function(Tr,Pr,$r,ni){let Di=[],pi=[],ki=ni[8]*Pr,Zi=ni[9]*Pr,ta=ni[10]*Pr,Va=ni[11]*Pr,Io=ni[8]*$r,La=ni[9]*$r,Hn=ni[10]*$r,lo=ni[11]*$r;for(let $a of Tr){let Xa=[],Tn=[];for(let bo of $a){let Ya=bo.x,Uo=bo.y,wu=ni[0]*Ya+ni[4]*Uo+ni[12],hu=ni[1]*Ya+ni[5]*Uo+ni[13],uh=ni[2]*Ya+ni[6]*Uo+ni[14],$v=ni[3]*Ya+ni[7]*Uo+ni[15],td=uh+ta,ch=$v+Va,Ud=wu+Io,Vd=hu+La,Hd=uh+Hn,rf=$v+lo,fh=new u((wu+ki)/ch,(hu+Zi)/ch);fh.z=td/ch,Xa.push(fh);let Td=new u(Ud/rf,Vd/rf);Td.z=Hd/rf,Tn.push(Td)}Di.push(Xa),pi.push(Tn)}return[Di,pi]}(te,Ft,Tt,Ze);return function(Tr,Pr,$r){let ni=1/0;Er($r,Pr)&&(ni=Yv($r,Pr[0]));for(let Di=0;Di<Pr.length;Di++){let pi=Pr[Di],ki=Tr[Di];for(let Zi=0;Zi<pi.length-1;Zi++){let ta=pi[Zi],Va=[ta,pi[Zi+1],ki[Zi+1],ki[Zi],ta];xc($r,Va)&&(ni=Math.min(ni,Yv($r,Va)))}}return ni!==1/0&&ni}(sr[0],sr[1],Qt)}}function yd(R,S){return R.x*S.x+R.y*S.y}function Yv(R,S){if(R.length===1){let D=0,j=S[D++],te;for(;!te||j.equals(te);)if(te=S[D++],!te)return 1/0;for(;D<S.length;D++){let ue=S[D],ve=R[0],De=te.sub(j),Ze=ue.sub(j),at=ve.sub(j),Tt=yd(De,De),Ft=yd(De,Ze),Qt=yd(Ze,Ze),sr=yd(at,De),Tr=yd(at,Ze),Pr=Tt*Qt-Ft*Ft,$r=(Qt*sr-Ft*Tr)/Pr,ni=(Tt*Tr-Ft*sr)/Pr,Di=j.z*(1-$r-ni)+te.z*$r+ue.z*ni;if(isFinite(Di))return Di}return 1/0}{let D=1/0;for(let j of S)D=Math.min(D,j.z);return D}}let cg=qe([{name:\"a_pos_normal\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}],4),{members:vp}=cg,_d=qe([{name:\"a_uv_x\",components:1,type:\"Float32\"},{name:\"a_split_index\",components:1,type:\"Float32\"}]),{members:pp}=_d,Nd=ei.VectorTileFeature.types,xd=Math.cos(Math.PI/180*37.5),kv=Math.pow(2,14)/.5;class Kv{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(D=>{this.gradients[D.id]={}}),this.layoutVertexArray=new Zu,this.layoutVertexArray2=new cu,this.indexArray=new oe,this.programConfigurations=new _s(S.layers,S.zoom),this.segments=new We,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){this.hasPattern=Wt(\"line\",this.layers,D);let te=this.layers[0].layout.get(\"line-sort-key\"),ue=!te.isConstant(),ve=[];for(let{feature:De,id:Ze,index:at,sourceLayerIndex:Tt}of S){let Ft=this.layers[0]._featureFilter.needGeometry,Qt=xl(De,Ft);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),Qt,j))continue;let sr=ue?te.evaluate(Qt,{},j):void 0,Tr={id:Ze,properties:De.properties,type:De.type,sourceLayerIndex:Tt,index:at,geometry:Ft?Qt.geometry:js(De),patterns:{},sortKey:sr};ve.push(Tr)}ue&&ve.sort((De,Ze)=>De.sortKey-Ze.sortKey);for(let De of ve){let{geometry:Ze,index:at,sourceLayerIndex:Tt}=De;if(this.hasPattern){let Ft=rr(\"line\",this.layers,De,this.zoom,D);this.patternFeatures.push(Ft)}else this.addFeature(De,Ze,at,j,{});D.featureIndex.insert(S[at].feature,Ze,at,Tt,this.index)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}addFeatures(S,D,j){for(let te of this.patternFeatures)this.addFeature(te,te.geometry,te.index,D,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=S.createVertexBuffer(this.layoutVertexArray2,pp)),this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,vp),this.indexBuffer=S.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(S),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(S){if(S.properties&&Object.prototype.hasOwnProperty.call(S.properties,\"mapbox_clip_start\")&&Object.prototype.hasOwnProperty.call(S.properties,\"mapbox_clip_end\"))return{start:+S.properties.mapbox_clip_start,end:+S.properties.mapbox_clip_end}}addFeature(S,D,j,te,ue){let ve=this.layers[0].layout,De=ve.get(\"line-join\").evaluate(S,{}),Ze=ve.get(\"line-cap\"),at=ve.get(\"line-miter-limit\"),Tt=ve.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(S);for(let Ft of D)this.addLine(Ft,S,De,Ze,at,Tt);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,ue,te)}addLine(S,D,j,te,ue,ve){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let ni=0;ni<S.length-1;ni++)this.totalDistance+=S[ni].dist(S[ni+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}let De=Nd[D.type]===\"Polygon\",Ze=S.length;for(;Ze>=2&&S[Ze-1].equals(S[Ze-2]);)Ze--;let at=0;for(;at<Ze-1&&S[at].equals(S[at+1]);)at++;if(Ze<(De?3:2))return;j===\"bevel\"&&(ue=1.05);let Tt=this.overscaling<=16?15*za/(512*this.overscaling):0,Ft=this.segments.prepareSegment(10*Ze,this.layoutVertexArray,this.indexArray),Qt,sr,Tr,Pr,$r;this.e1=this.e2=-1,De&&(Qt=S[Ze-2],$r=S[at].sub(Qt)._unit()._perp());for(let ni=at;ni<Ze;ni++){if(Tr=ni===Ze-1?De?S[at+1]:void 0:S[ni+1],Tr&&S[ni].equals(Tr))continue;$r&&(Pr=$r),Qt&&(sr=Qt),Qt=S[ni],$r=Tr?Tr.sub(Qt)._unit()._perp():Pr,Pr=Pr||$r;let Di=Pr.add($r);Di.x===0&&Di.y===0||Di._unit();let pi=Pr.x*$r.x+Pr.y*$r.y,ki=Di.x*$r.x+Di.y*$r.y,Zi=ki!==0?1/ki:1/0,ta=2*Math.sqrt(2-2*ki),Va=ki<xd&&sr&&Tr,Io=Pr.x*$r.y-Pr.y*$r.x>0;if(Va&&ni>at){let lo=Qt.dist(sr);if(lo>2*Tt){let $a=Qt.sub(Qt.sub(sr)._mult(Tt/lo)._round());this.updateDistance(sr,$a),this.addCurrentVertex($a,Pr,0,0,Ft),sr=$a}}let La=sr&&Tr,Hn=La?j:De?\"butt\":te;if(La&&Hn===\"round\"&&(Zi<ve?Hn=\"miter\":Zi<=2&&(Hn=\"fakeround\")),Hn===\"miter\"&&Zi>ue&&(Hn=\"bevel\"),Hn===\"bevel\"&&(Zi>2&&(Hn=\"flipbevel\"),Zi<ue&&(Hn=\"miter\")),sr&&this.updateDistance(sr,Qt),Hn===\"miter\")Di._mult(Zi),this.addCurrentVertex(Qt,Di,0,0,Ft);else if(Hn===\"flipbevel\"){if(Zi>100)Di=$r.mult(-1);else{let lo=Zi*Pr.add($r).mag()/Pr.sub($r).mag();Di._perp()._mult(lo*(Io?-1:1))}this.addCurrentVertex(Qt,Di,0,0,Ft),this.addCurrentVertex(Qt,Di.mult(-1),0,0,Ft)}else if(Hn===\"bevel\"||Hn===\"fakeround\"){let lo=-Math.sqrt(Zi*Zi-1),$a=Io?lo:0,Xa=Io?0:lo;if(sr&&this.addCurrentVertex(Qt,Pr,$a,Xa,Ft),Hn===\"fakeround\"){let Tn=Math.round(180*ta/Math.PI/20);for(let bo=1;bo<Tn;bo++){let Ya=bo/Tn;if(Ya!==.5){let wu=Ya-.5;Ya+=Ya*wu*(Ya-1)*((1.0904+pi*(pi*(3.55645-1.43519*pi)-3.2452))*wu*wu+(.848013+pi*(.215638*pi-1.06021)))}let Uo=$r.sub(Pr)._mult(Ya)._add(Pr)._unit()._mult(Io?-1:1);this.addHalfVertex(Qt,Uo.x,Uo.y,!1,Io,0,Ft)}}Tr&&this.addCurrentVertex(Qt,$r,-$a,-Xa,Ft)}else if(Hn===\"butt\")this.addCurrentVertex(Qt,Di,0,0,Ft);else if(Hn===\"square\"){let lo=sr?1:-1;this.addCurrentVertex(Qt,Di,lo,lo,Ft)}else Hn===\"round\"&&(sr&&(this.addCurrentVertex(Qt,Pr,0,0,Ft),this.addCurrentVertex(Qt,Pr,1,1,Ft,!0)),Tr&&(this.addCurrentVertex(Qt,$r,-1,-1,Ft,!0),this.addCurrentVertex(Qt,$r,0,0,Ft)));if(Va&&ni<Ze-1){let lo=Qt.dist(Tr);if(lo>2*Tt){let $a=Qt.add(Tr.sub(Qt)._mult(Tt/lo)._round());this.updateDistance(Qt,$a),this.addCurrentVertex($a,$r,0,0,Ft),Qt=$a}}}}addCurrentVertex(S,D,j,te,ue,ve=!1){let De=D.y*te-D.x,Ze=-D.y-D.x*te;this.addHalfVertex(S,D.x+D.y*j,D.y-D.x*j,ve,!1,j,ue),this.addHalfVertex(S,De,Ze,ve,!0,-te,ue),this.distance>kv/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(S,D,j,te,ue,ve))}addHalfVertex({x:S,y:D},j,te,ue,ve,De,Ze){let at=.5*(this.lineClips?this.scaledDistance*(kv-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((S<<1)+(ue?1:0),(D<<1)+(ve?1:0),Math.round(63*j)+128,Math.round(63*te)+128,1+(De===0?0:De<0?-1:1)|(63&at)<<2,at>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let Tt=Ze.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Tt),Ze.primitiveLength++),ve?this.e2=Tt:this.e1=Tt}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(S,D){this.distance+=S.dist(D),this.updateScaledDistance()}}let Cv,ny;mi(\"LineBucket\",Kv,{omit:[\"layers\",\"patternFeatures\"]});var fg={get paint(){return ny=ny||new le({\"line-opacity\":new eo(ce.paint_line[\"line-opacity\"]),\"line-color\":new eo(ce.paint_line[\"line-color\"]),\"line-translate\":new Da(ce.paint_line[\"line-translate\"]),\"line-translate-anchor\":new Da(ce.paint_line[\"line-translate-anchor\"]),\"line-width\":new eo(ce.paint_line[\"line-width\"]),\"line-gap-width\":new eo(ce.paint_line[\"line-gap-width\"]),\"line-offset\":new eo(ce.paint_line[\"line-offset\"]),\"line-blur\":new eo(ce.paint_line[\"line-blur\"]),\"line-dasharray\":new yc(ce.paint_line[\"line-dasharray\"]),\"line-pattern\":new Jc(ce.paint_line[\"line-pattern\"]),\"line-gradient\":new _c(ce.paint_line[\"line-gradient\"])})},get layout(){return Cv=Cv||new le({\"line-cap\":new Da(ce.layout_line[\"line-cap\"]),\"line-join\":new eo(ce.layout_line[\"line-join\"]),\"line-miter-limit\":new Da(ce.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new Da(ce.layout_line[\"line-round-limit\"]),\"line-sort-key\":new eo(ce.layout_line[\"line-sort-key\"])})}};class Hf extends eo{possiblyEvaluate(S,D){return D=new Ko(Math.floor(D.zoom),{now:D.now,fadeDuration:D.fadeDuration,zoomHistory:D.zoomHistory,transition:D.transition}),super.possiblyEvaluate(S,D)}evaluate(S,D,j,te){return D=L({},D,{zoom:Math.floor(D.zoom)}),super.evaluate(S,D,j,te)}}let hg;class ay extends B{constructor(S){super(S,fg),this.gradientVersion=0,hg||(hg=new Hf(fg.paint.properties[\"line-width\"].specification),hg.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(S){if(S===\"line-gradient\"){let D=this.gradientExpression();this.stepInterpolant=!!function(j){return j._styleExpression!==void 0}(D)&&D._styleExpression.expression instanceof Ji,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values[\"line-gradient\"].value.expression}recalculate(S,D){super.recalculate(S,D),this.paint._values[\"line-floorwidth\"]=hg.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,S)}createBucket(S){return new Kv(S)}queryRadius(S){let D=S,j=Rh(yn(\"line-width\",this,D),yn(\"line-gap-width\",this,D)),te=yn(\"line-offset\",this,D);return j/2+Math.abs(te)+to(this.paint.get(\"line-translate\"))}queryIntersectsFeature(S,D,j,te,ue,ve,De){let Ze=Rn(S,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),ve.angle,De),at=De/2*Rh(this.paint.get(\"line-width\").evaluate(D,j),this.paint.get(\"line-gap-width\").evaluate(D,j)),Tt=this.paint.get(\"line-offset\").evaluate(D,j);return Tt&&(te=function(Ft,Qt){let sr=[];for(let Tr=0;Tr<Ft.length;Tr++){let Pr=Ft[Tr],$r=[];for(let ni=0;ni<Pr.length;ni++){let Di=Pr[ni-1],pi=Pr[ni],ki=Pr[ni+1],Zi=ni===0?new u(0,0):pi.sub(Di)._unit()._perp(),ta=ni===Pr.length-1?new u(0,0):ki.sub(pi)._unit()._perp(),Va=Zi._add(ta)._unit(),Io=Va.x*ta.x+Va.y*ta.y;Io!==0&&Va._mult(1/Io),$r.push(Va._mult(Qt)._add(pi))}sr.push($r)}return sr}(te,Tt*De)),function(Ft,Qt,sr){for(let Tr=0;Tr<Qt.length;Tr++){let Pr=Qt[Tr];if(Ft.length>=3){for(let $r=0;$r<Pr.length;$r++)if(On(Ft,Pr[$r]))return!0}if(Wr(Ft,Pr,sr))return!0}return!1}(Ze,te,at)}isTileClipped(){return!0}}function Rh(R,S){return S>0?S+2*R:R}let rm=qe([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),w1=qe([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4);qe([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);let T1=qe([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"},{name:\"a_box_real\",components:2,type:\"Int16\"}]);qe([{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\"}]);let oy=qe([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),im=qe([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function nm(R,S,D){return R.sections.forEach(j=>{j.text=function(te,ue,ve){let De=ue.layout.get(\"text-transform\").evaluate(ve,{});return De===\"uppercase\"?te=te.toLocaleUpperCase():De===\"lowercase\"&&(te=te.toLocaleLowerCase()),vs.applyArabicShaping&&(te=vs.applyArabicShaping(te)),te}(j.text,S,D)}),R}qe([{name:\"triangle\",components:3,type:\"Uint16\"}]),qe([{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\"}]),qe([{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\"}]),qe([{type:\"Float32\",name:\"offsetX\"}]),qe([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]),qe([{type:\"Uint16\",name:\"textAnchor\"},{type:\"Float32\",components:2,name:\"textOffset\"}]);let Fu={\"!\":\"\\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 kl=24,bd=Kl,sy=function(R,S,D,j,te){var ue,ve,De=8*te-j-1,Ze=(1<<De)-1,at=Ze>>1,Tt=-7,Ft=D?te-1:0,Qt=D?-1:1,sr=R[S+Ft];for(Ft+=Qt,ue=sr&(1<<-Tt)-1,sr>>=-Tt,Tt+=De;Tt>0;ue=256*ue+R[S+Ft],Ft+=Qt,Tt-=8);for(ve=ue&(1<<-Tt)-1,ue>>=-Tt,Tt+=j;Tt>0;ve=256*ve+R[S+Ft],Ft+=Qt,Tt-=8);if(ue===0)ue=1-at;else{if(ue===Ze)return ve?NaN:1/0*(sr?-1:1);ve+=Math.pow(2,j),ue-=at}return(sr?-1:1)*ve*Math.pow(2,ue-j)},A1=function(R,S,D,j,te,ue){var ve,De,Ze,at=8*ue-te-1,Tt=(1<<at)-1,Ft=Tt>>1,Qt=te===23?Math.pow(2,-24)-Math.pow(2,-77):0,sr=j?0:ue-1,Tr=j?1:-1,Pr=S<0||S===0&&1/S<0?1:0;for(S=Math.abs(S),isNaN(S)||S===1/0?(De=isNaN(S)?1:0,ve=Tt):(ve=Math.floor(Math.log(S)/Math.LN2),S*(Ze=Math.pow(2,-ve))<1&&(ve--,Ze*=2),(S+=ve+Ft>=1?Qt/Ze:Qt*Math.pow(2,1-Ft))*Ze>=2&&(ve++,Ze/=2),ve+Ft>=Tt?(De=0,ve=Tt):ve+Ft>=1?(De=(S*Ze-1)*Math.pow(2,te),ve+=Ft):(De=S*Math.pow(2,Ft-1)*Math.pow(2,te),ve=0));te>=8;R[D+sr]=255&De,sr+=Tr,De/=256,te-=8);for(ve=ve<<te|De,at+=te;at>0;R[D+sr]=255&ve,sr+=Tr,ve/=256,at-=8);R[D+sr-Tr]|=128*Pr};function Kl(R){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(R)?R:new Uint8Array(R||0),this.pos=0,this.type=0,this.length=this.buf.length}Kl.Varint=0,Kl.Fixed64=1,Kl.Bytes=2,Kl.Fixed32=5;var Nx=4294967296,am=1/Nx,Mw=typeof TextDecoder==\"undefined\"?null:new TextDecoder(\"utf-8\");function Lv(R){return R.type===Kl.Bytes?R.readVarint()+R.pos:R.pos+1}function om(R,S,D){return D?4294967296*S+(R>>>0):4294967296*(S>>>0)+(R>>>0)}function Ew(R,S,D){var j=S<=16383?1:S<=2097151?2:S<=268435455?3:Math.floor(Math.log(S)/(7*Math.LN2));D.realloc(j);for(var te=D.pos-1;te>=R;te--)D.buf[te+j]=D.buf[te]}function Ux(R,S){for(var D=0;D<R.length;D++)S.writeVarint(R[D])}function P9(R,S){for(var D=0;D<R.length;D++)S.writeSVarint(R[D])}function I9(R,S){for(var D=0;D<R.length;D++)S.writeFloat(R[D])}function R9(R,S){for(var D=0;D<R.length;D++)S.writeDouble(R[D])}function D9(R,S){for(var D=0;D<R.length;D++)S.writeBoolean(R[D])}function mQ(R,S){for(var D=0;D<R.length;D++)S.writeFixed32(R[D])}function z9(R,S){for(var D=0;D<R.length;D++)S.writeSFixed32(R[D])}function F9(R,S){for(var D=0;D<R.length;D++)S.writeFixed64(R[D])}function q9(R,S){for(var D=0;D<R.length;D++)S.writeSFixed64(R[D])}function ly(R,S){return(R[S]|R[S+1]<<8|R[S+2]<<16)+16777216*R[S+3]}function Vx(R,S,D){R[D]=S,R[D+1]=S>>>8,R[D+2]=S>>>16,R[D+3]=S>>>24}function cC(R,S){return(R[S]|R[S+1]<<8|R[S+2]<<16)+(R[S+3]<<24)}Kl.prototype={destroy:function(){this.buf=null},readFields:function(R,S,D){for(D=D||this.length;this.pos<D;){var j=this.readVarint(),te=j>>3,ue=this.pos;this.type=7&j,R(te,S,this),this.pos===ue&&this.skip(j)}return S},readMessage:function(R,S){return this.readFields(R,S,this.readVarint()+this.pos)},readFixed32:function(){var R=ly(this.buf,this.pos);return this.pos+=4,R},readSFixed32:function(){var R=cC(this.buf,this.pos);return this.pos+=4,R},readFixed64:function(){var R=ly(this.buf,this.pos)+ly(this.buf,this.pos+4)*Nx;return this.pos+=8,R},readSFixed64:function(){var R=ly(this.buf,this.pos)+cC(this.buf,this.pos+4)*Nx;return this.pos+=8,R},readFloat:function(){var R=sy(this.buf,this.pos,!0,23,4);return this.pos+=4,R},readDouble:function(){var R=sy(this.buf,this.pos,!0,52,8);return this.pos+=8,R},readVarint:function(R){var S,D,j=this.buf;return S=127&(D=j[this.pos++]),D<128?S:(S|=(127&(D=j[this.pos++]))<<7,D<128?S:(S|=(127&(D=j[this.pos++]))<<14,D<128?S:(S|=(127&(D=j[this.pos++]))<<21,D<128?S:function(te,ue,ve){var De,Ze,at=ve.buf;if(De=(112&(Ze=at[ve.pos++]))>>4,Ze<128||(De|=(127&(Ze=at[ve.pos++]))<<3,Ze<128)||(De|=(127&(Ze=at[ve.pos++]))<<10,Ze<128)||(De|=(127&(Ze=at[ve.pos++]))<<17,Ze<128)||(De|=(127&(Ze=at[ve.pos++]))<<24,Ze<128)||(De|=(1&(Ze=at[ve.pos++]))<<31,Ze<128))return om(te,De,ue);throw new Error(\"Expected varint not more than 10 bytes\")}(S|=(15&(D=j[this.pos]))<<28,R,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var R=this.readVarint();return R%2==1?(R+1)/-2:R/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var R=this.readVarint()+this.pos,S=this.pos;return this.pos=R,R-S>=12&&Mw?function(D,j,te){return Mw.decode(D.subarray(j,te))}(this.buf,S,R):function(D,j,te){for(var ue=\"\",ve=j;ve<te;){var De,Ze,at,Tt=D[ve],Ft=null,Qt=Tt>239?4:Tt>223?3:Tt>191?2:1;if(ve+Qt>te)break;Qt===1?Tt<128&&(Ft=Tt):Qt===2?(192&(De=D[ve+1]))==128&&(Ft=(31&Tt)<<6|63&De)<=127&&(Ft=null):Qt===3?(Ze=D[ve+2],(192&(De=D[ve+1]))==128&&(192&Ze)==128&&((Ft=(15&Tt)<<12|(63&De)<<6|63&Ze)<=2047||Ft>=55296&&Ft<=57343)&&(Ft=null)):Qt===4&&(Ze=D[ve+2],at=D[ve+3],(192&(De=D[ve+1]))==128&&(192&Ze)==128&&(192&at)==128&&((Ft=(15&Tt)<<18|(63&De)<<12|(63&Ze)<<6|63&at)<=65535||Ft>=1114112)&&(Ft=null)),Ft===null?(Ft=65533,Qt=1):Ft>65535&&(Ft-=65536,ue+=String.fromCharCode(Ft>>>10&1023|55296),Ft=56320|1023&Ft),ue+=String.fromCharCode(Ft),ve+=Qt}return ue}(this.buf,S,R)},readBytes:function(){var R=this.readVarint()+this.pos,S=this.buf.subarray(this.pos,R);return this.pos=R,S},readPackedVarint:function(R,S){if(this.type!==Kl.Bytes)return R.push(this.readVarint(S));var D=Lv(this);for(R=R||[];this.pos<D;)R.push(this.readVarint(S));return R},readPackedSVarint:function(R){if(this.type!==Kl.Bytes)return R.push(this.readSVarint());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readSVarint());return R},readPackedBoolean:function(R){if(this.type!==Kl.Bytes)return R.push(this.readBoolean());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readBoolean());return R},readPackedFloat:function(R){if(this.type!==Kl.Bytes)return R.push(this.readFloat());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readFloat());return R},readPackedDouble:function(R){if(this.type!==Kl.Bytes)return R.push(this.readDouble());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readDouble());return R},readPackedFixed32:function(R){if(this.type!==Kl.Bytes)return R.push(this.readFixed32());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readFixed32());return R},readPackedSFixed32:function(R){if(this.type!==Kl.Bytes)return R.push(this.readSFixed32());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readSFixed32());return R},readPackedFixed64:function(R){if(this.type!==Kl.Bytes)return R.push(this.readFixed64());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readFixed64());return R},readPackedSFixed64:function(R){if(this.type!==Kl.Bytes)return R.push(this.readSFixed64());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readSFixed64());return R},skip:function(R){var S=7&R;if(S===Kl.Varint)for(;this.buf[this.pos++]>127;);else if(S===Kl.Bytes)this.pos=this.readVarint()+this.pos;else if(S===Kl.Fixed32)this.pos+=4;else{if(S!==Kl.Fixed64)throw new Error(\"Unimplemented type: \"+S);this.pos+=8}},writeTag:function(R,S){this.writeVarint(R<<3|S)},realloc:function(R){for(var S=this.length||16;S<this.pos+R;)S*=2;if(S!==this.length){var D=new Uint8Array(S);D.set(this.buf),this.buf=D,this.length=S}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(R){this.realloc(4),Vx(this.buf,R,this.pos),this.pos+=4},writeSFixed32:function(R){this.realloc(4),Vx(this.buf,R,this.pos),this.pos+=4},writeFixed64:function(R){this.realloc(8),Vx(this.buf,-1&R,this.pos),Vx(this.buf,Math.floor(R*am),this.pos+4),this.pos+=8},writeSFixed64:function(R){this.realloc(8),Vx(this.buf,-1&R,this.pos),Vx(this.buf,Math.floor(R*am),this.pos+4),this.pos+=8},writeVarint:function(R){(R=+R||0)>268435455||R<0?function(S,D){var j,te;if(S>=0?(j=S%4294967296|0,te=S/4294967296|0):(te=~(-S/4294967296),4294967295^(j=~(-S%4294967296))?j=j+1|0:(j=0,te=te+1|0)),S>=18446744073709552e3||S<-18446744073709552e3)throw new Error(\"Given varint doesn't fit into 10 bytes\");D.realloc(10),function(ue,ve,De){De.buf[De.pos++]=127&ue|128,ue>>>=7,De.buf[De.pos++]=127&ue|128,ue>>>=7,De.buf[De.pos++]=127&ue|128,ue>>>=7,De.buf[De.pos++]=127&ue|128,De.buf[De.pos]=127&(ue>>>=7)}(j,0,D),function(ue,ve){var De=(7&ue)<<4;ve.buf[ve.pos++]|=De|((ue>>>=3)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue)))))}(te,D)}(R,this):(this.realloc(4),this.buf[this.pos++]=127&R|(R>127?128:0),R<=127||(this.buf[this.pos++]=127&(R>>>=7)|(R>127?128:0),R<=127||(this.buf[this.pos++]=127&(R>>>=7)|(R>127?128:0),R<=127||(this.buf[this.pos++]=R>>>7&127))))},writeSVarint:function(R){this.writeVarint(R<0?2*-R-1:2*R)},writeBoolean:function(R){this.writeVarint(!!R)},writeString:function(R){R=String(R),this.realloc(4*R.length),this.pos++;var S=this.pos;this.pos=function(j,te,ue){for(var ve,De,Ze=0;Ze<te.length;Ze++){if((ve=te.charCodeAt(Ze))>55295&&ve<57344){if(!De){ve>56319||Ze+1===te.length?(j[ue++]=239,j[ue++]=191,j[ue++]=189):De=ve;continue}if(ve<56320){j[ue++]=239,j[ue++]=191,j[ue++]=189,De=ve;continue}ve=De-55296<<10|ve-56320|65536,De=null}else De&&(j[ue++]=239,j[ue++]=191,j[ue++]=189,De=null);ve<128?j[ue++]=ve:(ve<2048?j[ue++]=ve>>6|192:(ve<65536?j[ue++]=ve>>12|224:(j[ue++]=ve>>18|240,j[ue++]=ve>>12&63|128),j[ue++]=ve>>6&63|128),j[ue++]=63&ve|128)}return ue}(this.buf,R,this.pos);var D=this.pos-S;D>=128&&Ew(S,D,this),this.pos=S-1,this.writeVarint(D),this.pos+=D},writeFloat:function(R){this.realloc(4),A1(this.buf,R,this.pos,!0,23,4),this.pos+=4},writeDouble:function(R){this.realloc(8),A1(this.buf,R,this.pos,!0,52,8),this.pos+=8},writeBytes:function(R){var S=R.length;this.writeVarint(S),this.realloc(S);for(var D=0;D<S;D++)this.buf[this.pos++]=R[D]},writeRawMessage:function(R,S){this.pos++;var D=this.pos;R(S,this);var j=this.pos-D;j>=128&&Ew(D,j,this),this.pos=D-1,this.writeVarint(j),this.pos+=j},writeMessage:function(R,S,D){this.writeTag(R,Kl.Bytes),this.writeRawMessage(S,D)},writePackedVarint:function(R,S){S.length&&this.writeMessage(R,Ux,S)},writePackedSVarint:function(R,S){S.length&&this.writeMessage(R,P9,S)},writePackedBoolean:function(R,S){S.length&&this.writeMessage(R,D9,S)},writePackedFloat:function(R,S){S.length&&this.writeMessage(R,I9,S)},writePackedDouble:function(R,S){S.length&&this.writeMessage(R,R9,S)},writePackedFixed32:function(R,S){S.length&&this.writeMessage(R,mQ,S)},writePackedSFixed32:function(R,S){S.length&&this.writeMessage(R,z9,S)},writePackedFixed64:function(R,S){S.length&&this.writeMessage(R,F9,S)},writePackedSFixed64:function(R,S){S.length&&this.writeMessage(R,q9,S)},writeBytesField:function(R,S){this.writeTag(R,Kl.Bytes),this.writeBytes(S)},writeFixed32Field:function(R,S){this.writeTag(R,Kl.Fixed32),this.writeFixed32(S)},writeSFixed32Field:function(R,S){this.writeTag(R,Kl.Fixed32),this.writeSFixed32(S)},writeFixed64Field:function(R,S){this.writeTag(R,Kl.Fixed64),this.writeFixed64(S)},writeSFixed64Field:function(R,S){this.writeTag(R,Kl.Fixed64),this.writeSFixed64(S)},writeVarintField:function(R,S){this.writeTag(R,Kl.Varint),this.writeVarint(S)},writeSVarintField:function(R,S){this.writeTag(R,Kl.Varint),this.writeSVarint(S)},writeStringField:function(R,S){this.writeTag(R,Kl.Bytes),this.writeString(S)},writeFloatField:function(R,S){this.writeTag(R,Kl.Fixed32),this.writeFloat(S)},writeDoubleField:function(R,S){this.writeTag(R,Kl.Fixed64),this.writeDouble(S)},writeBooleanField:function(R,S){this.writeVarintField(R,!!S)}};var eS=o(bd);let tS=3;function yQ(R,S,D){R===1&&D.readMessage(O9,S)}function O9(R,S,D){if(R===3){let{id:j,bitmap:te,width:ue,height:ve,left:De,top:Ze,advance:at}=D.readMessage(fC,{});S.push({id:j,bitmap:new Ao({width:ue+2*tS,height:ve+2*tS},te),metrics:{width:ue,height:ve,left:De,top:Ze,advance:at}})}}function fC(R,S,D){R===1?S.id=D.readVarint():R===2?S.bitmap=D.readBytes():R===3?S.width=D.readVarint():R===4?S.height=D.readVarint():R===5?S.left=D.readSVarint():R===6?S.top=D.readSVarint():R===7&&(S.advance=D.readVarint())}let hC=tS;function rS(R){let S=0,D=0;for(let ve of R)S+=ve.w*ve.h,D=Math.max(D,ve.w);R.sort((ve,De)=>De.h-ve.h);let j=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(S/.95)),D),h:1/0}],te=0,ue=0;for(let ve of R)for(let De=j.length-1;De>=0;De--){let Ze=j[De];if(!(ve.w>Ze.w||ve.h>Ze.h)){if(ve.x=Ze.x,ve.y=Ze.y,ue=Math.max(ue,ve.y+ve.h),te=Math.max(te,ve.x+ve.w),ve.w===Ze.w&&ve.h===Ze.h){let at=j.pop();De<j.length&&(j[De]=at)}else ve.h===Ze.h?(Ze.x+=ve.w,Ze.w-=ve.w):ve.w===Ze.w?(Ze.y+=ve.h,Ze.h-=ve.h):(j.push({x:Ze.x+ve.w,y:Ze.y,w:Ze.w-ve.w,h:ve.h}),Ze.y+=ve.h,Ze.h-=ve.h);break}}return{w:te,h:ue,fill:S/(te*ue)||0}}let wd=1;class kw{constructor(S,{pixelRatio:D,version:j,stretchX:te,stretchY:ue,content:ve,textFitWidth:De,textFitHeight:Ze}){this.paddedRect=S,this.pixelRatio=D,this.stretchX=te,this.stretchY=ue,this.content=ve,this.version=j,this.textFitWidth=De,this.textFitHeight=Ze}get tl(){return[this.paddedRect.x+wd,this.paddedRect.y+wd]}get br(){return[this.paddedRect.x+this.paddedRect.w-wd,this.paddedRect.y+this.paddedRect.h-wd]}get tlbr(){return this.tl.concat(this.br)}get displaySize(){return[(this.paddedRect.w-2*wd)/this.pixelRatio,(this.paddedRect.h-2*wd)/this.pixelRatio]}}class Cw{constructor(S,D){let j={},te={};this.haveRenderCallbacks=[];let ue=[];this.addImages(S,j,ue),this.addImages(D,te,ue);let{w:ve,h:De}=rS(ue),Ze=new Jn({width:ve||1,height:De||1});for(let at in S){let Tt=S[at],Ft=j[at].paddedRect;Jn.copy(Tt.data,Ze,{x:0,y:0},{x:Ft.x+wd,y:Ft.y+wd},Tt.data)}for(let at in D){let Tt=D[at],Ft=te[at].paddedRect,Qt=Ft.x+wd,sr=Ft.y+wd,Tr=Tt.data.width,Pr=Tt.data.height;Jn.copy(Tt.data,Ze,{x:0,y:0},{x:Qt,y:sr},Tt.data),Jn.copy(Tt.data,Ze,{x:0,y:Pr-1},{x:Qt,y:sr-1},{width:Tr,height:1}),Jn.copy(Tt.data,Ze,{x:0,y:0},{x:Qt,y:sr+Pr},{width:Tr,height:1}),Jn.copy(Tt.data,Ze,{x:Tr-1,y:0},{x:Qt-1,y:sr},{width:1,height:Pr}),Jn.copy(Tt.data,Ze,{x:0,y:0},{x:Qt+Tr,y:sr},{width:1,height:Pr})}this.image=Ze,this.iconPositions=j,this.patternPositions=te}addImages(S,D,j){for(let te in S){let ue=S[te],ve={x:0,y:0,w:ue.data.width+2*wd,h:ue.data.height+2*wd};j.push(ve),D[te]=new kw(ve,ue),ue.hasRenderCallback&&this.haveRenderCallbacks.push(te)}}patchUpdatedImages(S,D){S.dispatchRenderCallbacks(this.haveRenderCallbacks);for(let j in S.updatedImages)this.patchUpdatedImage(this.iconPositions[j],S.getImage(j),D),this.patchUpdatedImage(this.patternPositions[j],S.getImage(j),D)}patchUpdatedImage(S,D,j){if(!S||!D||S.version===D.version)return;S.version=D.version;let[te,ue]=S.tl;j.update(D.data,void 0,{x:te,y:ue})}}var Pv;mi(\"ImagePosition\",kw),mi(\"ImageAtlas\",Cw),i.ah=void 0,(Pv=i.ah||(i.ah={}))[Pv.none=0]=\"none\",Pv[Pv.horizontal=1]=\"horizontal\",Pv[Pv.vertical=2]=\"vertical\",Pv[Pv.horizontalOnly=3]=\"horizontalOnly\";let lh=-17;class Hx{constructor(){this.scale=1,this.fontStack=\"\",this.imageName=null}static forText(S,D){let j=new Hx;return j.scale=S||1,j.fontStack=D,j}static forImage(S){let D=new Hx;return D.imageName=S,D}}class S1{constructor(){this.text=\"\",this.sectionIndex=[],this.sections=[],this.imageSectionID=null}static fromFeature(S,D){let j=new S1;for(let te=0;te<S.sections.length;te++){let ue=S.sections[te];ue.image?j.addImageSection(ue):j.addTextSection(ue,D)}return j}length(){return this.text.length}getSection(S){return this.sections[this.sectionIndex[S]]}getSectionIndex(S){return this.sectionIndex[S]}getCharCode(S){return this.text.charCodeAt(S)}verticalizePunctuation(){this.text=function(S){let D=\"\";for(let j=0;j<S.length;j++){let te=S.charCodeAt(j+1)||null,ue=S.charCodeAt(j-1)||null;D+=te&&yl(te)&&!Fu[S[j+1]]||ue&&yl(ue)&&!Fu[S[j-1]]||!Fu[S[j]]?S[j]:Fu[S[j]]}return D}(this.text)}trim(){let S=0;for(let j=0;j<this.text.length&&Lw[this.text.charCodeAt(j)];j++)S++;let D=this.text.length;for(let j=this.text.length-1;j>=0&&j>=S&&Lw[this.text.charCodeAt(j)];j--)D--;this.text=this.text.substring(S,D),this.sectionIndex=this.sectionIndex.slice(S,D)}substring(S,D){let j=new S1;return j.text=this.text.substring(S,D),j.sectionIndex=this.sectionIndex.slice(S,D),j.sections=this.sections,j}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((S,D)=>Math.max(S,this.sections[D].scale),0)}addTextSection(S,D){this.text+=S.text,this.sections.push(Hx.forText(S.scale,S.fontStack||D));let j=this.sections.length-1;for(let te=0;te<S.text.length;++te)this.sectionIndex.push(j)}addImageSection(S){let D=S.image?S.image.name:\"\";if(D.length===0)return void T(\"Can't add FormattedSection with an empty image.\");let j=this.getNextImageSectionCharCode();j?(this.text+=String.fromCharCode(j),this.sections.push(Hx.forImage(D)),this.sectionIndex.push(this.sections.length-1)):T(\"Reached maximum number of images 6401\")}getNextImageSectionCharCode(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Gx(R,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr){let Pr=S1.fromFeature(R,te),$r;Ft===i.ah.vertical&&Pr.verticalizePunctuation();let{processBidirectionalText:ni,processStyledBidirectionalText:Di}=vs;if(ni&&Pr.sections.length===1){$r=[];let Zi=ni(Pr.toString(),M1(Pr,at,ue,S,j,sr));for(let ta of Zi){let Va=new S1;Va.text=ta,Va.sections=Pr.sections;for(let Io=0;Io<ta.length;Io++)Va.sectionIndex.push(0);$r.push(Va)}}else if(Di){$r=[];let Zi=Di(Pr.text,Pr.sectionIndex,M1(Pr,at,ue,S,j,sr));for(let ta of Zi){let Va=new S1;Va.text=ta[0],Va.sectionIndex=ta[1],Va.sections=Pr.sections,$r.push(Va)}}else $r=function(Zi,ta){let Va=[],Io=Zi.text,La=0;for(let Hn of ta)Va.push(Zi.substring(La,Hn)),La=Hn;return La<Io.length&&Va.push(Zi.substring(La,Io.length)),Va}(Pr,M1(Pr,at,ue,S,j,sr));let pi=[],ki={positionedLines:pi,text:Pr.toString(),top:Tt[1],bottom:Tt[1],left:Tt[0],right:Tt[0],writingMode:Ft,iconsInText:!1,verticalizable:!1};return function(Zi,ta,Va,Io,La,Hn,lo,$a,Xa,Tn,bo,Ya){let Uo=0,wu=lh,hu=0,uh=0,$v=$a===\"right\"?1:$a===\"left\"?0:.5,td=0;for(let rf of La){rf.trim();let fh=rf.getMaxScale(),Td=(fh-1)*kl,rd={positionedGlyphs:[],lineOffset:0};Zi.positionedLines[td]=rd;let Dh=rd.positionedGlyphs,xf=0;if(!rf.length()){wu+=Hn,++td;continue}for(let lv=0;lv<rf.length();lv++){let Cl=rf.getSection(lv),qu=rf.getSectionIndex(lv),Tu=rf.getCharCode(lv),Rv=0,qc=null,I1=null,p0=null,Gp=kl,Qv=!(Xa===i.ah.horizontal||!bo&&!Bo(Tu)||bo&&(Lw[Tu]||(ch=Tu,new RegExp(\"\\\\p{sc=Arab}\",\"u\").test(String.fromCodePoint(ch)))));if(Cl.imageName){let oc=Io[Cl.imageName];if(!oc)continue;p0=Cl.imageName,Zi.iconsInText=Zi.iconsInText||!0,I1=oc.paddedRect;let If=oc.displaySize;Cl.scale=Cl.scale*kl/Ya,qc={width:If[0],height:If[1],left:wd,top:-hC,advance:Qv?If[1]:If[0]},Rv=Td+(kl-If[1]*Cl.scale),Gp=qc.advance;let ep=Qv?If[0]*Cl.scale-kl*fh:If[1]*Cl.scale-kl*fh;ep>0&&ep>xf&&(xf=ep)}else{let oc=Va[Cl.fontStack],If=oc&&oc[Tu];if(If&&If.rect)I1=If.rect,qc=If.metrics;else{let ep=ta[Cl.fontStack],gg=ep&&ep[Tu];if(!gg)continue;qc=gg.metrics}Rv=(fh-Cl.scale)*kl}Qv?(Zi.verticalizable=!0,Dh.push({glyph:Tu,imageName:p0,x:Uo,y:wu+Rv,vertical:Qv,scale:Cl.scale,fontStack:Cl.fontStack,sectionIndex:qu,metrics:qc,rect:I1}),Uo+=Gp*Cl.scale+Tn):(Dh.push({glyph:Tu,imageName:p0,x:Uo,y:wu+Rv,vertical:Qv,scale:Cl.scale,fontStack:Cl.fontStack,sectionIndex:qu,metrics:qc,rect:I1}),Uo+=qc.advance*Cl.scale+Tn)}Dh.length!==0&&(hu=Math.max(Uo-Tn,hu),sm(Dh,0,Dh.length-1,$v,xf)),Uo=0;let Iv=Hn*fh+xf;rd.lineOffset=Math.max(xf,Td),wu+=Iv,uh=Math.max(Iv,uh),++td}var ch;let Ud=wu-lh,{horizontalAlign:Vd,verticalAlign:Hd}=Iw(lo);(function(rf,fh,Td,rd,Dh,xf,Iv,lv,Cl){let qu=(fh-Td)*Dh,Tu=0;Tu=xf!==Iv?-lv*rd-lh:(-rd*Cl+.5)*Iv;for(let Rv of rf)for(let qc of Rv.positionedGlyphs)qc.x+=qu,qc.y+=Tu})(Zi.positionedLines,$v,Vd,Hd,hu,uh,Hn,Ud,La.length),Zi.top+=-Hd*Ud,Zi.bottom=Zi.top+Ud,Zi.left+=-Vd*hu,Zi.right=Zi.left+hu}(ki,S,D,j,$r,ve,De,Ze,Ft,at,Qt,Tr),!function(Zi){for(let ta of Zi)if(ta.positionedGlyphs.length!==0)return!1;return!0}(pi)&&ki}let Lw={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},B9={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},N9={40:!0};function dC(R,S,D,j,te,ue){if(S.imageName){let ve=j[S.imageName];return ve?ve.displaySize[0]*S.scale*kl/ue+te:0}{let ve=D[S.fontStack],De=ve&&ve[R];return De?De.metrics.advance*S.scale+te:0}}function vC(R,S,D,j){let te=Math.pow(R-S,2);return j?R<S?te/2:2*te:te+Math.abs(D)*D}function U9(R,S,D){let j=0;return R===10&&(j-=1e4),D&&(j+=150),R!==40&&R!==65288||(j+=50),S!==41&&S!==65289||(j+=50),j}function Pw(R,S,D,j,te,ue){let ve=null,De=vC(S,D,te,ue);for(let Ze of j){let at=vC(S-Ze.x,D,te,ue)+Ze.badness;at<=De&&(ve=Ze,De=at)}return{index:R,x:S,priorBreak:ve,badness:De}}function pC(R){return R?pC(R.priorBreak).concat(R.index):[]}function M1(R,S,D,j,te,ue){if(!R)return[];let ve=[],De=function(Ft,Qt,sr,Tr,Pr,$r){let ni=0;for(let Di=0;Di<Ft.length();Di++){let pi=Ft.getSection(Di);ni+=dC(Ft.getCharCode(Di),pi,Tr,Pr,Qt,$r)}return ni/Math.max(1,Math.ceil(ni/sr))}(R,S,D,j,te,ue),Ze=R.text.indexOf(\"\\u200B\")>=0,at=0;for(let Ft=0;Ft<R.length();Ft++){let Qt=R.getSection(Ft),sr=R.getCharCode(Ft);if(Lw[sr]||(at+=dC(sr,Qt,j,te,S,ue)),Ft<R.length()-1){let Tr=!((Tt=sr)<11904)&&(!!sn[\"CJK Compatibility Forms\"](Tt)||!!sn[\"CJK Compatibility\"](Tt)||!!sn[\"CJK Strokes\"](Tt)||!!sn[\"CJK Symbols and Punctuation\"](Tt)||!!sn[\"Enclosed CJK Letters and Months\"](Tt)||!!sn[\"Halfwidth and Fullwidth Forms\"](Tt)||!!sn[\"Ideographic Description Characters\"](Tt)||!!sn[\"Vertical Forms\"](Tt)||ys.test(String.fromCodePoint(Tt)));(B9[sr]||Tr||Qt.imageName||Ft!==R.length()-2&&N9[R.getCharCode(Ft+1)])&&ve.push(Pw(Ft+1,at,De,ve,U9(sr,R.getCharCode(Ft+1),Tr&&Ze),!1))}}var Tt;return pC(Pw(R.length(),at,De,ve,0,!0))}function Iw(R){let S=.5,D=.5;switch(R){case\"right\":case\"top-right\":case\"bottom-right\":S=1;break;case\"left\":case\"top-left\":case\"bottom-left\":S=0}switch(R){case\"bottom\":case\"bottom-right\":case\"bottom-left\":D=1;break;case\"top\":case\"top-right\":case\"top-left\":D=0}return{horizontalAlign:S,verticalAlign:D}}function sm(R,S,D,j,te){if(!j&&!te)return;let ue=R[D],ve=(R[D].x+ue.metrics.advance*ue.scale)*j;for(let De=S;De<=D;De++)R[De].x-=ve,R[De].y+=te}function jx(R,S,D){let{horizontalAlign:j,verticalAlign:te}=Iw(D),ue=S[0]-R.displaySize[0]*j,ve=S[1]-R.displaySize[1]*te;return{image:R,top:ve,bottom:ve+R.displaySize[1],left:ue,right:ue+R.displaySize[0]}}function gC(R){var S,D;let j=R.left,te=R.top,ue=R.right-j,ve=R.bottom-te,De=(S=R.image.textFitWidth)!==null&&S!==void 0?S:\"stretchOrShrink\",Ze=(D=R.image.textFitHeight)!==null&&D!==void 0?D:\"stretchOrShrink\",at=(R.image.content[2]-R.image.content[0])/(R.image.content[3]-R.image.content[1]);if(Ze===\"proportional\"){if(De===\"stretchOnly\"&&ue/ve<at||De===\"proportional\"){let Tt=Math.ceil(ve*at);j*=Tt/ue,ue=Tt}}else if(De===\"proportional\"&&Ze===\"stretchOnly\"&&at!==0&&ue/ve>at){let Tt=Math.ceil(ue/at);te*=Tt/ve,ve=Tt}return{x1:j,y1:te,x2:j+ue,y2:te+ve}}function mC(R,S,D,j,te,ue){let ve=R.image,De;if(ve.content){let $r=ve.content,ni=ve.pixelRatio||1;De=[$r[0]/ni,$r[1]/ni,ve.displaySize[0]-$r[2]/ni,ve.displaySize[1]-$r[3]/ni]}let Ze=S.left*ue,at=S.right*ue,Tt,Ft,Qt,sr;D===\"width\"||D===\"both\"?(sr=te[0]+Ze-j[3],Ft=te[0]+at+j[1]):(sr=te[0]+(Ze+at-ve.displaySize[0])/2,Ft=sr+ve.displaySize[0]);let Tr=S.top*ue,Pr=S.bottom*ue;return D===\"height\"||D===\"both\"?(Tt=te[1]+Tr-j[0],Qt=te[1]+Pr+j[2]):(Tt=te[1]+(Tr+Pr-ve.displaySize[1])/2,Qt=Tt+ve.displaySize[1]),{image:ve,top:Tt,right:Ft,bottom:Qt,left:sr,collisionPadding:De}}let Wx=255,v0=128,lm=Wx*v0;function yC(R,S){let{expression:D}=S;if(D.kind===\"constant\")return{kind:\"constant\",layoutSize:D.evaluate(new Ko(R+1))};if(D.kind===\"source\")return{kind:\"source\"};{let{zoomStops:j,interpolationType:te}=D,ue=0;for(;ue<j.length&&j[ue]<=R;)ue++;ue=Math.max(0,ue-1);let ve=ue;for(;ve<j.length&&j[ve]<R+1;)ve++;ve=Math.min(j.length-1,ve);let De=j[ue],Ze=j[ve];return D.kind===\"composite\"?{kind:\"composite\",minZoom:De,maxZoom:Ze,interpolationType:te}:{kind:\"camera\",minZoom:De,maxZoom:Ze,minSize:D.evaluate(new Ko(De)),maxSize:D.evaluate(new Ko(Ze)),interpolationType:te}}}function iS(R,S,D){let j=\"never\",te=R.get(S);return te?j=te:R.get(D)&&(j=\"always\"),j}let V9=ei.VectorTileFeature.types,H9=[{name:\"a_fade_opacity\",components:1,type:\"Uint8\",offset:0}];function Rw(R,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt){let sr=De?Math.min(lm,Math.round(De[0])):0,Tr=De?Math.min(lm,Math.round(De[1])):0;R.emplaceBack(S,D,Math.round(32*j),Math.round(32*te),ue,ve,(sr<<1)+(Ze?1:0),Tr,16*at,16*Tt,256*Ft,256*Qt)}function nS(R,S,D){R.emplaceBack(S.x,S.y,D),R.emplaceBack(S.x,S.y,D),R.emplaceBack(S.x,S.y,D),R.emplaceBack(S.x,S.y,D)}function aS(R){for(let S of R.sections)if(Ka(S.text))return!0;return!1}class oS{constructor(S){this.layoutVertexArray=new au,this.indexArray=new oe,this.programConfigurations=S,this.segments=new We,this.dynamicLayoutVertexArray=new zc,this.opacityVertexArray=new zl,this.hasVisibleVertices=!1,this.placedSymbolArray=new pa}isEmpty(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0}upload(S,D,j,te){this.isEmpty()||(j&&(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,rm.members),this.indexBuffer=S.createIndexBuffer(this.indexArray,D),this.dynamicLayoutVertexBuffer=S.createVertexBuffer(this.dynamicLayoutVertexArray,w1.members,!0),this.opacityVertexBuffer=S.createVertexBuffer(this.opacityVertexArray,H9,!0),this.opacityVertexBuffer.itemSize=1),(j||te)&&this.programConfigurations.upload(S))}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())}}mi(\"SymbolBuffers\",oS);class um{constructor(S,D,j){this.layoutVertexArray=new S,this.layoutAttributes=D,this.indexArray=new j,this.segments=new We,this.collisionVertexArray=new Z}upload(S){this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=S.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=S.createVertexBuffer(this.collisionVertexArray,T1.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())}}mi(\"CollisionBuffers\",um);class E1{constructor(S){this.collisionBoxArray=S.collisionBoxArray,this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(ve=>ve.id),this.index=S.index,this.pixelRatio=S.pixelRatio,this.sourceLayerIndex=S.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=Un([]),this.placementViewportMatrix=Un([]);let D=this.layers[0]._unevaluatedLayout._values;this.textSizeData=yC(this.zoom,D[\"text-size\"]),this.iconSizeData=yC(this.zoom,D[\"icon-size\"]);let j=this.layers[0].layout,te=j.get(\"symbol-sort-key\"),ue=j.get(\"symbol-z-order\");this.canOverlap=iS(j,\"text-overlap\",\"text-allow-overlap\")!==\"never\"||iS(j,\"icon-overlap\",\"icon-allow-overlap\")!==\"never\"||j.get(\"text-ignore-placement\")||j.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=ue!==\"viewport-y\"&&!te.isConstant(),this.sortFeaturesByY=(ue===\"viewport-y\"||ue===\"auto\"&&!this.sortFeaturesByKey)&&this.canOverlap,j.get(\"symbol-placement\")===\"point\"&&(this.writingModes=j.get(\"text-writing-mode\").map(ve=>i.ah[ve])),this.stateDependentLayerIds=this.layers.filter(ve=>ve.isStateDependent()).map(ve=>ve.id),this.sourceID=S.sourceID}createArrays(){this.text=new oS(new _s(this.layers,this.zoom,S=>/^text/.test(S))),this.icon=new oS(new _s(this.layers,this.zoom,S=>/^icon/.test(S))),this.glyphOffsetArray=new To,this.lineVertexArray=new Wa,this.symbolInstances=new Ga,this.textAnchorOffsets=new Ro}calculateGlyphDependencies(S,D,j,te,ue){for(let ve=0;ve<S.length;ve++)if(D[S.charCodeAt(ve)]=!0,(j||te)&&ue){let De=Fu[S.charAt(ve)];De&&(D[De.charCodeAt(0)]=!0)}}populate(S,D,j){let te=this.layers[0],ue=te.layout,ve=ue.get(\"text-font\"),De=ue.get(\"text-field\"),Ze=ue.get(\"icon-image\"),at=(De.value.kind!==\"constant\"||De.value.value instanceof Zr&&!De.value.value.isEmpty()||De.value.value.toString().length>0)&&(ve.value.kind!==\"constant\"||ve.value.value.length>0),Tt=Ze.value.kind!==\"constant\"||!!Ze.value.value||Object.keys(Ze.parameters).length>0,Ft=ue.get(\"symbol-sort-key\");if(this.features=[],!at&&!Tt)return;let Qt=D.iconDependencies,sr=D.glyphDependencies,Tr=D.availableImages,Pr=new Ko(this.zoom);for(let{feature:$r,id:ni,index:Di,sourceLayerIndex:pi}of S){let ki=te._featureFilter.needGeometry,Zi=xl($r,ki);if(!te._featureFilter.filter(Pr,Zi,j))continue;let ta,Va;if(ki||(Zi.geometry=js($r)),at){let La=te.getValueAndResolveTokens(\"text-field\",Zi,j,Tr),Hn=Zr.factory(La),lo=this.hasRTLText=this.hasRTLText||aS(Hn);(!lo||vs.getRTLTextPluginStatus()===\"unavailable\"||lo&&vs.isParsed())&&(ta=nm(Hn,te,Zi))}if(Tt){let La=te.getValueAndResolveTokens(\"icon-image\",Zi,j,Tr);Va=La instanceof Mi?La:Mi.fromString(La)}if(!ta&&!Va)continue;let Io=this.sortFeaturesByKey?Ft.evaluate(Zi,{},j):void 0;if(this.features.push({id:ni,text:ta,icon:Va,index:Di,sourceLayerIndex:pi,geometry:Zi.geometry,properties:$r.properties,type:V9[$r.type],sortKey:Io}),Va&&(Qt[Va.name]=!0),ta){let La=ve.evaluate(Zi,{},j).join(\",\"),Hn=ue.get(\"text-rotation-alignment\")!==\"viewport\"&&ue.get(\"symbol-placement\")!==\"point\";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(i.ah.vertical)>=0;for(let lo of ta.sections)if(lo.image)Qt[lo.image.name]=!0;else{let $a=Ua(ta.toString()),Xa=lo.fontStack||La,Tn=sr[Xa]=sr[Xa]||{};this.calculateGlyphDependencies(lo.text,Tn,Hn,this.allowVerticalPlacement,$a)}}}ue.get(\"symbol-placement\")===\"line\"&&(this.features=function($r){let ni={},Di={},pi=[],ki=0;function Zi(La){pi.push($r[La]),ki++}function ta(La,Hn,lo){let $a=Di[La];return delete Di[La],Di[Hn]=$a,pi[$a].geometry[0].pop(),pi[$a].geometry[0]=pi[$a].geometry[0].concat(lo[0]),$a}function Va(La,Hn,lo){let $a=ni[Hn];return delete ni[Hn],ni[La]=$a,pi[$a].geometry[0].shift(),pi[$a].geometry[0]=lo[0].concat(pi[$a].geometry[0]),$a}function Io(La,Hn,lo){let $a=lo?Hn[0][Hn[0].length-1]:Hn[0][0];return`${La}:${$a.x}:${$a.y}`}for(let La=0;La<$r.length;La++){let Hn=$r[La],lo=Hn.geometry,$a=Hn.text?Hn.text.toString():null;if(!$a){Zi(La);continue}let Xa=Io($a,lo),Tn=Io($a,lo,!0);if(Xa in Di&&Tn in ni&&Di[Xa]!==ni[Tn]){let bo=Va(Xa,Tn,lo),Ya=ta(Xa,Tn,pi[bo].geometry);delete ni[Xa],delete Di[Tn],Di[Io($a,pi[Ya].geometry,!0)]=Ya,pi[bo].geometry=null}else Xa in Di?ta(Xa,Tn,lo):Tn in ni?Va(Xa,Tn,lo):(Zi(La),ni[Xa]=ki-1,Di[Tn]=ki-1)}return pi.filter(La=>La.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort(($r,ni)=>$r.sortKey-ni.sortKey)}update(S,D,j){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(S,D,this.layers,j),this.icon.programConfigurations.updatePaintArrays(S,D,this.layers,j))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(S){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(S),this.iconCollisionBox.upload(S)),this.text.upload(S,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(S,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(S,D){let j=this.lineVertexArray.length;if(S.segment!==void 0){let te=S.dist(D[S.segment+1]),ue=S.dist(D[S.segment]),ve={};for(let De=S.segment+1;De<D.length;De++)ve[De]={x:D[De].x,y:D[De].y,tileUnitDistanceFromAnchor:te},De<D.length-1&&(te+=D[De+1].dist(D[De]));for(let De=S.segment||0;De>=0;De--)ve[De]={x:D[De].x,y:D[De].y,tileUnitDistanceFromAnchor:ue},De>0&&(ue+=D[De-1].dist(D[De]));for(let De=0;De<D.length;De++){let Ze=ve[De];this.lineVertexArray.emplaceBack(Ze.x,Ze.y,Ze.tileUnitDistanceFromAnchor)}}return{lineStartIndex:j,lineLength:this.lineVertexArray.length-j}}addSymbols(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt){let sr=S.indexArray,Tr=S.layoutVertexArray,Pr=S.segments.prepareSegment(4*D.length,Tr,sr,this.canOverlap?ve.sortKey:void 0),$r=this.glyphOffsetArray.length,ni=Pr.vertexLength,Di=this.allowVerticalPlacement&&De===i.ah.vertical?Math.PI/2:0,pi=ve.text&&ve.text.sections;for(let ki=0;ki<D.length;ki++){let{tl:Zi,tr:ta,bl:Va,br:Io,tex:La,pixelOffsetTL:Hn,pixelOffsetBR:lo,minFontScaleX:$a,minFontScaleY:Xa,glyphOffset:Tn,isSDF:bo,sectionIndex:Ya}=D[ki],Uo=Pr.vertexLength,wu=Tn[1];Rw(Tr,Ze.x,Ze.y,Zi.x,wu+Zi.y,La.x,La.y,j,bo,Hn.x,Hn.y,$a,Xa),Rw(Tr,Ze.x,Ze.y,ta.x,wu+ta.y,La.x+La.w,La.y,j,bo,lo.x,Hn.y,$a,Xa),Rw(Tr,Ze.x,Ze.y,Va.x,wu+Va.y,La.x,La.y+La.h,j,bo,Hn.x,lo.y,$a,Xa),Rw(Tr,Ze.x,Ze.y,Io.x,wu+Io.y,La.x+La.w,La.y+La.h,j,bo,lo.x,lo.y,$a,Xa),nS(S.dynamicLayoutVertexArray,Ze,Di),sr.emplaceBack(Uo,Uo+1,Uo+2),sr.emplaceBack(Uo+1,Uo+2,Uo+3),Pr.vertexLength+=4,Pr.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(Tn[0]),ki!==D.length-1&&Ya===D[ki+1].sectionIndex||S.programConfigurations.populatePaintArrays(Tr.length,ve,ve.index,{},Qt,pi&&pi[Ya])}S.placedSymbolArray.emplaceBack(Ze.x,Ze.y,$r,this.glyphOffsetArray.length-$r,ni,at,Tt,Ze.segment,j?j[0]:0,j?j[1]:0,te[0],te[1],De,0,!1,0,Ft)}_addCollisionDebugVertex(S,D,j,te,ue,ve){return D.emplaceBack(0,0),S.emplaceBack(j.x,j.y,te,ue,Math.round(ve.x),Math.round(ve.y))}addCollisionDebugVertices(S,D,j,te,ue,ve,De){let Ze=ue.segments.prepareSegment(4,ue.layoutVertexArray,ue.indexArray),at=Ze.vertexLength,Tt=ue.layoutVertexArray,Ft=ue.collisionVertexArray,Qt=De.anchorX,sr=De.anchorY;this._addCollisionDebugVertex(Tt,Ft,ve,Qt,sr,new u(S,D)),this._addCollisionDebugVertex(Tt,Ft,ve,Qt,sr,new u(j,D)),this._addCollisionDebugVertex(Tt,Ft,ve,Qt,sr,new u(j,te)),this._addCollisionDebugVertex(Tt,Ft,ve,Qt,sr,new u(S,te)),Ze.vertexLength+=4;let Tr=ue.indexArray;Tr.emplaceBack(at,at+1),Tr.emplaceBack(at+1,at+2),Tr.emplaceBack(at+2,at+3),Tr.emplaceBack(at+3,at),Ze.primitiveLength+=4}addDebugCollisionBoxes(S,D,j,te){for(let ue=S;ue<D;ue++){let ve=this.collisionBoxArray.get(ue);this.addCollisionDebugVertices(ve.x1,ve.y1,ve.x2,ve.y2,te?this.textCollisionBox:this.iconCollisionBox,ve.anchorPoint,j)}}generateCollisionDebugBuffers(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new um(Fl,oy.members,we),this.iconCollisionBox=new um(Fl,oy.members,we);for(let S=0;S<this.symbolInstances.length;S++){let D=this.symbolInstances.get(S);this.addDebugCollisionBoxes(D.textBoxStartIndex,D.textBoxEndIndex,D,!0),this.addDebugCollisionBoxes(D.verticalTextBoxStartIndex,D.verticalTextBoxEndIndex,D,!0),this.addDebugCollisionBoxes(D.iconBoxStartIndex,D.iconBoxEndIndex,D,!1),this.addDebugCollisionBoxes(D.verticalIconBoxStartIndex,D.verticalIconBoxEndIndex,D,!1)}}_deserializeCollisionBoxesForSymbol(S,D,j,te,ue,ve,De,Ze,at){let Tt={};for(let Ft=D;Ft<j;Ft++){let Qt=S.get(Ft);Tt.textBox={x1:Qt.x1,y1:Qt.y1,x2:Qt.x2,y2:Qt.y2,anchorPointX:Qt.anchorPointX,anchorPointY:Qt.anchorPointY},Tt.textFeatureIndex=Qt.featureIndex;break}for(let Ft=te;Ft<ue;Ft++){let Qt=S.get(Ft);Tt.verticalTextBox={x1:Qt.x1,y1:Qt.y1,x2:Qt.x2,y2:Qt.y2,anchorPointX:Qt.anchorPointX,anchorPointY:Qt.anchorPointY},Tt.verticalTextFeatureIndex=Qt.featureIndex;break}for(let Ft=ve;Ft<De;Ft++){let Qt=S.get(Ft);Tt.iconBox={x1:Qt.x1,y1:Qt.y1,x2:Qt.x2,y2:Qt.y2,anchorPointX:Qt.anchorPointX,anchorPointY:Qt.anchorPointY},Tt.iconFeatureIndex=Qt.featureIndex;break}for(let Ft=Ze;Ft<at;Ft++){let Qt=S.get(Ft);Tt.verticalIconBox={x1:Qt.x1,y1:Qt.y1,x2:Qt.x2,y2:Qt.y2,anchorPointX:Qt.anchorPointX,anchorPointY:Qt.anchorPointY},Tt.verticalIconFeatureIndex=Qt.featureIndex;break}return Tt}deserializeCollisionBoxes(S){this.collisionArrays=[];for(let D=0;D<this.symbolInstances.length;D++){let j=this.symbolInstances.get(D);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(S,j.textBoxStartIndex,j.textBoxEndIndex,j.verticalTextBoxStartIndex,j.verticalTextBoxEndIndex,j.iconBoxStartIndex,j.iconBoxEndIndex,j.verticalIconBoxStartIndex,j.verticalIconBoxEndIndex))}}hasTextData(){return this.text.segments.get().length>0}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(S,D){let j=S.placedSymbolArray.get(D),te=j.vertexStartIndex+4*j.numGlyphs;for(let ue=j.vertexStartIndex;ue<te;ue+=4)S.indexArray.emplaceBack(ue,ue+1,ue+2),S.indexArray.emplaceBack(ue+1,ue+2,ue+3)}getSortedSymbolIndexes(S){if(this.sortedAngle===S&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;let D=Math.sin(S),j=Math.cos(S),te=[],ue=[],ve=[];for(let De=0;De<this.symbolInstances.length;++De){ve.push(De);let Ze=this.symbolInstances.get(De);te.push(0|Math.round(D*Ze.anchorX+j*Ze.anchorY)),ue.push(Ze.featureIndex)}return ve.sort((De,Ze)=>te[De]-te[Ze]||ue[Ze]-ue[De]),ve}addToSortKeyRanges(S,D){let j=this.sortKeyRanges[this.sortKeyRanges.length-1];j&&j.sortKey===D?j.symbolInstanceEnd=S+1:this.sortKeyRanges.push({sortKey:D,symbolInstanceStart:S,symbolInstanceEnd:S+1})}sortFeatures(S){if(this.sortFeaturesByY&&this.sortedAngle!==S&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(S),this.sortedAngle=S,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let D of this.symbolInstanceIndexes){let j=this.symbolInstances.get(D);this.featureSortOrder.push(j.featureIndex),[j.rightJustifiedTextSymbolIndex,j.centerJustifiedTextSymbolIndex,j.leftJustifiedTextSymbolIndex].forEach((te,ue,ve)=>{te>=0&&ve.indexOf(te)===ue&&this.addIndicesForPlacedSymbol(this.text,te)}),j.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,j.verticalPlacedTextSymbolIndex),j.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,j.placedIconSymbolIndex),j.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,j.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let tf,Zx;mi(\"SymbolBucket\",E1,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),E1.MAX_GLYPHS=65535,E1.addDynamicAttributes=nS;var Dw={get paint(){return Zx=Zx||new le({\"icon-opacity\":new eo(ce.paint_symbol[\"icon-opacity\"]),\"icon-color\":new eo(ce.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new eo(ce.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new eo(ce.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new eo(ce.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new Da(ce.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new Da(ce.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new eo(ce.paint_symbol[\"text-opacity\"]),\"text-color\":new eo(ce.paint_symbol[\"text-color\"],{runtimeType:Ht,getOverride:R=>R.textColor,hasOverride:R=>!!R.textColor}),\"text-halo-color\":new eo(ce.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new eo(ce.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new eo(ce.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new Da(ce.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new Da(ce.paint_symbol[\"text-translate-anchor\"])})},get layout(){return tf=tf||new le({\"symbol-placement\":new Da(ce.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new Da(ce.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new Da(ce.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new eo(ce.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new Da(ce.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new Da(ce.layout_symbol[\"icon-allow-overlap\"]),\"icon-overlap\":new Da(ce.layout_symbol[\"icon-overlap\"]),\"icon-ignore-placement\":new Da(ce.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new Da(ce.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new Da(ce.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new eo(ce.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new Da(ce.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new Da(ce.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new eo(ce.layout_symbol[\"icon-image\"]),\"icon-rotate\":new eo(ce.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new eo(ce.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new Da(ce.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new eo(ce.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new eo(ce.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new Da(ce.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new Da(ce.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new Da(ce.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new eo(ce.layout_symbol[\"text-field\"]),\"text-font\":new eo(ce.layout_symbol[\"text-font\"]),\"text-size\":new eo(ce.layout_symbol[\"text-size\"]),\"text-max-width\":new eo(ce.layout_symbol[\"text-max-width\"]),\"text-line-height\":new Da(ce.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new eo(ce.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new eo(ce.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new eo(ce.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new Da(ce.layout_symbol[\"text-variable-anchor\"]),\"text-variable-anchor-offset\":new eo(ce.layout_symbol[\"text-variable-anchor-offset\"]),\"text-anchor\":new eo(ce.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new Da(ce.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new Da(ce.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new eo(ce.layout_symbol[\"text-rotate\"]),\"text-padding\":new Da(ce.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new Da(ce.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new eo(ce.layout_symbol[\"text-transform\"]),\"text-offset\":new eo(ce.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new Da(ce.layout_symbol[\"text-allow-overlap\"]),\"text-overlap\":new Da(ce.layout_symbol[\"text-overlap\"]),\"text-ignore-placement\":new Da(ce.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new Da(ce.layout_symbol[\"text-optional\"])})}};class Xx{constructor(S){if(S.property.overrides===void 0)throw new Error(\"overrides must be provided to instantiate FormatSectionOverride class\");this.type=S.property.overrides?S.property.overrides.runtimeType:Lt,this.defaultValue=S}evaluate(S){if(S.formattedSection){let D=this.defaultValue.property.overrides;if(D&&D.hasOverride(S.formattedSection))return D.getOverride(S.formattedSection)}return S.feature&&S.featureState?this.defaultValue.evaluate(S.feature,S.featureState):this.defaultValue.property.specification.default}eachChild(S){this.defaultValue.isConstant()||S(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}mi(\"FormatSectionOverride\",Xx,{omit:[\"defaultValue\"]});class uy extends B{constructor(S){super(S,Dw)}recalculate(S,D){if(super.recalculate(S,D),this.layout.get(\"icon-rotation-alignment\")===\"auto\"&&(this.layout._values[\"icon-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-rotation-alignment\")===\"auto\"&&(this.layout._values[\"text-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-pitch-alignment\")===\"auto\"&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")===\"map\"?\"map\":\"viewport\"),this.layout.get(\"icon-pitch-alignment\")===\"auto\"&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),this.layout.get(\"symbol-placement\")===\"point\"){let j=this.layout.get(\"text-writing-mode\");if(j){let te=[];for(let ue of j)te.indexOf(ue)<0&&te.push(ue);this.layout._values[\"text-writing-mode\"]=te}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]}this._setPaintOverrides()}getValueAndResolveTokens(S,D,j,te){let ue=this.layout.get(S).evaluate(D,{},j,te),ve=this._unevaluatedLayout._values[S];return ve.isDataDriven()||Lc(ve.value)||!ue?ue:function(De,Ze){return Ze.replace(/{([^{}]+)}/g,(at,Tt)=>De&&Tt in De?String(De[Tt]):\"\")}(D.properties,ue)}createBucket(S){return new E1(S)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error(\"Should take a different path in FeatureIndex\")}_setPaintOverrides(){for(let S of Dw.paint.overridableProperties){if(!uy.hasPaintOverride(this.layout,S))continue;let D=this.paint.get(S),j=new Xx(D),te=new Pu(j,D.property.specification),ue=null;ue=D.value.kind===\"constant\"||D.value.kind===\"source\"?new Xc(\"source\",te):new ic(\"composite\",te,D.value.zoomStops),this.paint._values[S]=new Du(D.property,ue,D.parameters)}}_handleOverridablePaintPropertyUpdate(S,D,j){return!(!this.layout||D.isDataDriven()||j.isDataDriven())&&uy.hasPaintOverride(this.layout,S)}static hasPaintOverride(S,D){let j=S.get(\"text-field\"),te=Dw.paint.properties[D],ue=!1,ve=De=>{for(let Ze of De)if(te.overrides&&te.overrides.hasOverride(Ze))return void(ue=!0)};if(j.value.kind===\"constant\"&&j.value.value instanceof Zr)ve(j.value.value.sections);else if(j.value.kind===\"source\"){let De=at=>{ue||(at instanceof jn&&Ki(at.value)===Br?ve(at.value.sections):at instanceof Ql?ve(at.sections):at.eachChild(De))},Ze=j.value;Ze._styleExpression&&De(Ze._styleExpression.expression)}return ue}}let _C;var Yx={get paint(){return _C=_C||new le({\"background-color\":new Da(ce.paint_background[\"background-color\"]),\"background-pattern\":new yc(ce.paint_background[\"background-pattern\"]),\"background-opacity\":new Da(ce.paint_background[\"background-opacity\"])})}};class G9 extends B{constructor(S){super(S,Yx)}}let sS;var xC={get paint(){return sS=sS||new le({\"raster-opacity\":new Da(ce.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new Da(ce.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new Da(ce.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new Da(ce.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new Da(ce.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new Da(ce.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new Da(ce.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new Da(ce.paint_raster[\"raster-fade-duration\"])})}};class Kx extends B{constructor(S){super(S,xC)}}class lS extends B{constructor(S){super(S,{}),this.onAdd=D=>{this.implementation.onAdd&&this.implementation.onAdd(D,D.painter.context.gl)},this.onRemove=D=>{this.implementation.onRemove&&this.implementation.onRemove(D,D.painter.context.gl)},this.implementation=S}is3D(){return this.implementation.renderingMode===\"3d\"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error(\"Custom layers cannot be serialized\")}}class uS{constructor(S){this._methodToThrottle=S,this._triggered=!1,typeof MessageChannel!=\"undefined\"&&(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=()=>{}}}let cS=63710088e-1;class dg{constructor(S,D){if(isNaN(S)||isNaN(D))throw new Error(`Invalid LngLat object: (${S}, ${D})`);if(this.lng=+S,this.lat=+D,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")}wrap(){return new dg(A(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(S){let D=Math.PI/180,j=this.lat*D,te=S.lat*D,ue=Math.sin(j)*Math.sin(te)+Math.cos(j)*Math.cos(te)*Math.cos((S.lng-this.lng)*D);return cS*Math.acos(Math.min(ue,1))}static convert(S){if(S instanceof dg)return S;if(Array.isArray(S)&&(S.length===2||S.length===3))return new dg(Number(S[0]),Number(S[1]));if(!Array.isArray(S)&&typeof S==\"object\"&&S!==null)return new dg(Number(\"lng\"in S?S.lng:S.lon),Number(S.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\")}}let k1=2*Math.PI*cS;function bC(R){return k1*Math.cos(R*Math.PI/180)}function zw(R){return(180+R)/360}function wC(R){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+R*Math.PI/360)))/360}function Fw(R,S){return R/bC(S)}function Jx(R){return 360/Math.PI*Math.atan(Math.exp((180-360*R)*Math.PI/180))-90}class $x{constructor(S,D,j=0){this.x=+S,this.y=+D,this.z=+j}static fromLngLat(S,D=0){let j=dg.convert(S);return new $x(zw(j.lng),wC(j.lat),Fw(D,j.lat))}toLngLat(){return new dg(360*this.x-180,Jx(this.y))}toAltitude(){return this.z*bC(Jx(this.y))}meterInMercatorCoordinateUnits(){return 1/k1*(S=Jx(this.y),1/Math.cos(S*Math.PI/180));var S}}function gp(R,S,D){var j=2*Math.PI*6378137/256/Math.pow(2,D);return[R*j-2*Math.PI*6378137/2,S*j-2*Math.PI*6378137/2]}class fS{constructor(S,D,j){if(!function(te,ue,ve){return!(te<0||te>25||ve<0||ve>=Math.pow(2,te)||ue<0||ue>=Math.pow(2,te))}(S,D,j))throw new Error(`x=${D}, y=${j}, z=${S} outside of bounds. 0<=x<${Math.pow(2,S)}, 0<=y<${Math.pow(2,S)} 0<=z<=25 `);this.z=S,this.x=D,this.y=j,this.key=Qx(0,S,S,D,j)}equals(S){return this.z===S.z&&this.x===S.x&&this.y===S.y}url(S,D,j){let te=(ve=this.y,De=this.z,Ze=gp(256*(ue=this.x),256*(ve=Math.pow(2,De)-ve-1),De),at=gp(256*(ue+1),256*(ve+1),De),Ze[0]+\",\"+Ze[1]+\",\"+at[0]+\",\"+at[1]);var ue,ve,De,Ze,at;let Tt=function(Ft,Qt,sr){let Tr,Pr=\"\";for(let $r=Ft;$r>0;$r--)Tr=1<<$r-1,Pr+=(Qt&Tr?1:0)+(sr&Tr?2:0);return Pr}(this.z,this.x,this.y);return S[(this.x+this.y)%S.length].replace(/{prefix}/g,(this.x%16).toString(16)+(this.y%16).toString(16)).replace(/{z}/g,String(this.z)).replace(/{x}/g,String(this.x)).replace(/{y}/g,String(j===\"tms\"?Math.pow(2,this.z)-this.y-1:this.y)).replace(/{ratio}/g,D>1?\"@2x\":\"\").replace(/{quadkey}/g,Tt).replace(/{bbox-epsg-3857}/g,te)}isChildOf(S){let D=this.z-S.z;return D>0&&S.x===this.x>>D&&S.y===this.y>>D}getTilePoint(S){let D=Math.pow(2,this.z);return new u((S.x*D-this.x)*za,(S.y*D-this.y)*za)}toString(){return`${this.z}/${this.x}/${this.y}`}}class TC{constructor(S,D){this.wrap=S,this.canonical=D,this.key=Qx(S,D.z,D.z,D.x,D.y)}}class Jv{constructor(S,D,j,te,ue){if(S<j)throw new Error(`overscaledZ should be >= z; overscaledZ = ${S}; z = ${j}`);this.overscaledZ=S,this.wrap=D,this.canonical=new fS(j,+te,+ue),this.key=Qx(D,S,j,te,ue)}clone(){return new Jv(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(S){return this.overscaledZ===S.overscaledZ&&this.wrap===S.wrap&&this.canonical.equals(S.canonical)}scaledTo(S){if(S>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${S}; overscaledZ = ${this.overscaledZ}`);let D=this.canonical.z-S;return S>this.canonical.z?new Jv(S,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Jv(S,this.wrap,S,this.canonical.x>>D,this.canonical.y>>D)}calculateScaledKey(S,D){if(S>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${S}; overscaledZ = ${this.overscaledZ}`);let j=this.canonical.z-S;return S>this.canonical.z?Qx(this.wrap*+D,S,this.canonical.z,this.canonical.x,this.canonical.y):Qx(this.wrap*+D,S,S,this.canonical.x>>j,this.canonical.y>>j)}isChildOf(S){if(S.wrap!==this.wrap)return!1;let D=this.canonical.z-S.canonical.z;return S.overscaledZ===0||S.overscaledZ<this.overscaledZ&&S.canonical.x===this.canonical.x>>D&&S.canonical.y===this.canonical.y>>D}children(S){if(this.overscaledZ>=S)return[new Jv(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let D=this.canonical.z+1,j=2*this.canonical.x,te=2*this.canonical.y;return[new Jv(D,this.wrap,D,j,te),new Jv(D,this.wrap,D,j+1,te),new Jv(D,this.wrap,D,j,te+1),new Jv(D,this.wrap,D,j+1,te+1)]}isLessThan(S){return this.wrap<S.wrap||!(this.wrap>S.wrap)&&(this.overscaledZ<S.overscaledZ||!(this.overscaledZ>S.overscaledZ)&&(this.canonical.x<S.canonical.x||!(this.canonical.x>S.canonical.x)&&this.canonical.y<S.canonical.y))}wrapped(){return new Jv(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)}unwrapTo(S){return new Jv(this.overscaledZ,S,this.canonical.z,this.canonical.x,this.canonical.y)}overscaleFactor(){return Math.pow(2,this.overscaledZ-this.canonical.z)}toUnwrapped(){return new TC(this.wrap,this.canonical)}toString(){return`${this.overscaledZ}/${this.canonical.x}/${this.canonical.y}`}getTilePoint(S){return this.canonical.getTilePoint(new $x(S.x-this.wrap,S.y))}}function Qx(R,S,D,j,te){(R*=2)<0&&(R=-1*R-1);let ue=1<<D;return(ue*ue*R+ue*te+j).toString(36)+D.toString(36)+S.toString(36)}mi(\"CanonicalTileID\",fS),mi(\"OverscaledTileID\",Jv,{omit:[\"posMatrix\"]});class AC{constructor(S,D,j,te=1,ue=1,ve=1,De=0){if(this.uid=S,D.height!==D.width)throw new RangeError(\"DEM tiles must be square\");if(j&&![\"mapbox\",\"terrarium\",\"custom\"].includes(j))return void T(`\"${j}\" is not a valid encoding type. Valid types include \"mapbox\", \"terrarium\" and \"custom\".`);this.stride=D.height;let Ze=this.dim=D.height-2;switch(this.data=new Uint32Array(D.data.buffer),j){case\"terrarium\":this.redFactor=256,this.greenFactor=1,this.blueFactor=1/256,this.baseShift=32768;break;case\"custom\":this.redFactor=te,this.greenFactor=ue,this.blueFactor=ve,this.baseShift=De;break;default:this.redFactor=6553.6,this.greenFactor=25.6,this.blueFactor=.1,this.baseShift=1e4}for(let at=0;at<Ze;at++)this.data[this._idx(-1,at)]=this.data[this._idx(0,at)],this.data[this._idx(Ze,at)]=this.data[this._idx(Ze-1,at)],this.data[this._idx(at,-1)]=this.data[this._idx(at,0)],this.data[this._idx(at,Ze)]=this.data[this._idx(at,Ze-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(Ze,-1)]=this.data[this._idx(Ze-1,0)],this.data[this._idx(-1,Ze)]=this.data[this._idx(0,Ze-1)],this.data[this._idx(Ze,Ze)]=this.data[this._idx(Ze-1,Ze-1)],this.min=Number.MAX_SAFE_INTEGER,this.max=Number.MIN_SAFE_INTEGER;for(let at=0;at<Ze;at++)for(let Tt=0;Tt<Ze;Tt++){let Ft=this.get(at,Tt);Ft>this.max&&(this.max=Ft),Ft<this.min&&(this.min=Ft)}}get(S,D){let j=new Uint8Array(this.data.buffer),te=4*this._idx(S,D);return this.unpack(j[te],j[te+1],j[te+2])}getUnpackVector(){return[this.redFactor,this.greenFactor,this.blueFactor,this.baseShift]}_idx(S,D){if(S<-1||S>=this.dim+1||D<-1||D>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(D+1)*this.stride+(S+1)}unpack(S,D,j){return S*this.redFactor+D*this.greenFactor+j*this.blueFactor-this.baseShift}getPixels(){return new Jn({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(S,D,j){if(this.dim!==S.dim)throw new Error(\"dem dimension mismatch\");let te=D*this.dim,ue=D*this.dim+this.dim,ve=j*this.dim,De=j*this.dim+this.dim;switch(D){case-1:te=ue-1;break;case 1:ue=te+1}switch(j){case-1:ve=De-1;break;case 1:De=ve+1}let Ze=-D*this.dim,at=-j*this.dim;for(let Tt=ve;Tt<De;Tt++)for(let Ft=te;Ft<ue;Ft++)this.data[this._idx(Ft,Tt)]=S.data[this._idx(Ft+Ze,Tt+at)]}}mi(\"DEMData\",AC);class SC{constructor(S){this._stringToNumber={},this._numberToString=[];for(let D=0;D<S.length;D++){let j=S[D];this._stringToNumber[j]=D,this._numberToString[D]=j}}encode(S){return this._stringToNumber[S]}decode(S){if(S>=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${S} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[S]}}class hS{constructor(S,D,j,te,ue){this.type=\"Feature\",this._vectorTileFeature=S,S._z=D,S._x=j,S._y=te,this.properties=S.properties,this.id=ue}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(S){this._geometry=S}toJSON(){let S={geometry:this.geometry};for(let D in this)D!==\"_geometry\"&&D!==\"_vectorTileFeature\"&&(S[D]=this[D]);return S}}class cy{constructor(S,D){this.tileID=S,this.x=S.canonical.x,this.y=S.canonical.y,this.z=S.canonical.z,this.grid=new qi(za,16,0),this.grid3D=new qi(za,16,0),this.featureIndexArray=new As,this.promoteId=D}insert(S,D,j,te,ue,ve){let De=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(j,te,ue);let Ze=ve?this.grid3D:this.grid;for(let at=0;at<D.length;at++){let Tt=D[at],Ft=[1/0,1/0,-1/0,-1/0];for(let Qt=0;Qt<Tt.length;Qt++){let sr=Tt[Qt];Ft[0]=Math.min(Ft[0],sr.x),Ft[1]=Math.min(Ft[1],sr.y),Ft[2]=Math.max(Ft[2],sr.x),Ft[3]=Math.max(Ft[3],sr.y)}Ft[0]<za&&Ft[1]<za&&Ft[2]>=0&&Ft[3]>=0&&Ze.insert(De,Ft[0],Ft[1],Ft[2],Ft[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new ei.VectorTile(new eS(this.rawTileData)).layers,this.sourceLayerCoder=new SC(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers}query(S,D,j,te){this.loadVTLayers();let ue=S.params||{},ve=za/S.tileSize/S.scale,De=Pc(ue.filter),Ze=S.queryGeometry,at=S.queryPadding*ve,Tt=EC(Ze),Ft=this.grid.query(Tt.minX-at,Tt.minY-at,Tt.maxX+at,Tt.maxY+at),Qt=EC(S.cameraQueryGeometry),sr=this.grid3D.query(Qt.minX-at,Qt.minY-at,Qt.maxX+at,Qt.maxY+at,($r,ni,Di,pi)=>function(ki,Zi,ta,Va,Io){for(let Hn of ki)if(Zi<=Hn.x&&ta<=Hn.y&&Va>=Hn.x&&Io>=Hn.y)return!0;let La=[new u(Zi,ta),new u(Zi,Io),new u(Va,Io),new u(Va,ta)];if(ki.length>2){for(let Hn of La)if(On(ki,Hn))return!0}for(let Hn=0;Hn<ki.length-1;Hn++)if(Bn(ki[Hn],ki[Hn+1],La))return!0;return!1}(S.cameraQueryGeometry,$r-at,ni-at,Di+at,pi+at));for(let $r of sr)Ft.push($r);Ft.sort(j9);let Tr={},Pr;for(let $r=0;$r<Ft.length;$r++){let ni=Ft[$r];if(ni===Pr)continue;Pr=ni;let Di=this.featureIndexArray.get(ni),pi=null;this.loadMatchingFeature(Tr,Di.bucketIndex,Di.sourceLayerIndex,Di.featureIndex,De,ue.layers,ue.availableImages,D,j,te,(ki,Zi,ta)=>(pi||(pi=js(ki)),Zi.queryIntersectsFeature(Ze,ki,ta,pi,this.z,S.transform,ve,S.pixelPosMatrix)))}return Tr}loadMatchingFeature(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft){let Qt=this.bucketLayerIDs[D];if(ve&&!function($r,ni){for(let Di=0;Di<$r.length;Di++)if(ni.indexOf($r[Di])>=0)return!0;return!1}(ve,Qt))return;let sr=this.sourceLayerCoder.decode(j),Tr=this.vtLayers[sr].feature(te);if(ue.needGeometry){let $r=xl(Tr,!0);if(!ue.filter(new Ko(this.tileID.overscaledZ),$r,this.tileID.canonical))return}else if(!ue.filter(new Ko(this.tileID.overscaledZ),Tr))return;let Pr=this.getId(Tr,sr);for(let $r=0;$r<Qt.length;$r++){let ni=Qt[$r];if(ve&&ve.indexOf(ni)<0)continue;let Di=Ze[ni];if(!Di)continue;let pi={};Pr&&Tt&&(pi=Tt.getState(Di.sourceLayer||\"_geojsonTileLayer\",Pr));let ki=L({},at[ni]);ki.paint=MC(ki.paint,Di.paint,Tr,pi,De),ki.layout=MC(ki.layout,Di.layout,Tr,pi,De);let Zi=!Ft||Ft(Tr,Di,pi);if(!Zi)continue;let ta=new hS(Tr,this.z,this.x,this.y,Pr);ta.layer=ki;let Va=S[ni];Va===void 0&&(Va=S[ni]=[]),Va.push({featureIndex:te,feature:ta,intersectionZ:Zi})}}lookupSymbolFeatures(S,D,j,te,ue,ve,De,Ze){let at={};this.loadVTLayers();let Tt=Pc(ue);for(let Ft of S)this.loadMatchingFeature(at,j,te,Ft,Tt,ve,De,Ze,D);return at}hasLayer(S){for(let D of this.bucketLayerIDs)for(let j of D)if(S===j)return!0;return!1}getId(S,D){let j=S.id;return this.promoteId&&(j=S.properties[typeof this.promoteId==\"string\"?this.promoteId:this.promoteId[D]],typeof j==\"boolean\"&&(j=Number(j))),j}}function MC(R,S,D,j,te){return C(R,(ue,ve)=>{let De=S instanceof Dc?S.get(ve):null;return De&&De.evaluate?De.evaluate(D,j,te):De})}function EC(R){let S=1/0,D=1/0,j=-1/0,te=-1/0;for(let ue of R)S=Math.min(S,ue.x),D=Math.min(D,ue.y),j=Math.max(j,ue.x),te=Math.max(te,ue.y);return{minX:S,minY:D,maxX:j,maxY:te}}function j9(R,S){return S-R}function kC(R,S,D,j,te){let ue=[];for(let ve=0;ve<R.length;ve++){let De=R[ve],Ze;for(let at=0;at<De.length-1;at++){let Tt=De[at],Ft=De[at+1];Tt.x<S&&Ft.x<S||(Tt.x<S?Tt=new u(S,Tt.y+(S-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round():Ft.x<S&&(Ft=new u(S,Tt.y+(S-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round()),Tt.y<D&&Ft.y<D||(Tt.y<D?Tt=new u(Tt.x+(D-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),D)._round():Ft.y<D&&(Ft=new u(Tt.x+(D-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),D)._round()),Tt.x>=j&&Ft.x>=j||(Tt.x>=j?Tt=new u(j,Tt.y+(j-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round():Ft.x>=j&&(Ft=new u(j,Tt.y+(j-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round()),Tt.y>=te&&Ft.y>=te||(Tt.y>=te?Tt=new u(Tt.x+(te-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),te)._round():Ft.y>=te&&(Ft=new u(Tt.x+(te-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),te)._round()),Ze&&Tt.equals(Ze[Ze.length-1])||(Ze=[Tt],ue.push(Ze)),Ze.push(Ft)))))}}return ue}mi(\"FeatureIndex\",cy,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});class vg extends u{constructor(S,D,j,te){super(S,D),this.angle=j,te!==void 0&&(this.segment=te)}clone(){return new vg(this.x,this.y,this.angle,this.segment)}}function dS(R,S,D,j,te){if(S.segment===void 0||D===0)return!0;let ue=S,ve=S.segment+1,De=0;for(;De>-D/2;){if(ve--,ve<0)return!1;De-=R[ve].dist(ue),ue=R[ve]}De+=R[ve].dist(R[ve+1]),ve++;let Ze=[],at=0;for(;De<D/2;){let Tt=R[ve],Ft=R[ve+1];if(!Ft)return!1;let Qt=R[ve-1].angleTo(Tt)-Tt.angleTo(Ft);for(Qt=Math.abs((Qt+3*Math.PI)%(2*Math.PI)-Math.PI),Ze.push({distance:De,angleDelta:Qt}),at+=Qt;De-Ze[0].distance>j;)at-=Ze.shift().angleDelta;if(at>te)return!1;ve++,De+=Tt.dist(Ft)}return!0}function CC(R){let S=0;for(let D=0;D<R.length-1;D++)S+=R[D].dist(R[D+1]);return S}function LC(R,S,D){return R?.6*S*D:0}function PC(R,S){return Math.max(R?R.right-R.left:0,S?S.right-S.left:0)}function W9(R,S,D,j,te,ue){let ve=LC(D,te,ue),De=PC(D,j)*ue,Ze=0,at=CC(R)/2;for(let Tt=0;Tt<R.length-1;Tt++){let Ft=R[Tt],Qt=R[Tt+1],sr=Ft.dist(Qt);if(Ze+sr>at){let Tr=(at-Ze)/sr,Pr=Mo.number(Ft.x,Qt.x,Tr),$r=Mo.number(Ft.y,Qt.y,Tr),ni=new vg(Pr,$r,Qt.angleTo(Ft),Tt);return ni._round(),!ve||dS(R,ni,De,ve,S)?ni:void 0}Ze+=sr}}function Z9(R,S,D,j,te,ue,ve,De,Ze){let at=LC(j,ue,ve),Tt=PC(j,te),Ft=Tt*ve,Qt=R[0].x===0||R[0].x===Ze||R[0].y===0||R[0].y===Ze;return S-Ft<S/4&&(S=Ft+S/4),IC(R,Qt?S/2*De%S:(Tt/2+2*ue)*ve*De%S,S,at,D,Ft,Qt,!1,Ze)}function IC(R,S,D,j,te,ue,ve,De,Ze){let at=ue/2,Tt=CC(R),Ft=0,Qt=S-D,sr=[];for(let Tr=0;Tr<R.length-1;Tr++){let Pr=R[Tr],$r=R[Tr+1],ni=Pr.dist($r),Di=$r.angleTo(Pr);for(;Qt+D<Ft+ni;){Qt+=D;let pi=(Qt-Ft)/ni,ki=Mo.number(Pr.x,$r.x,pi),Zi=Mo.number(Pr.y,$r.y,pi);if(ki>=0&&ki<Ze&&Zi>=0&&Zi<Ze&&Qt-at>=0&&Qt+at<=Tt){let ta=new vg(ki,Zi,Di,Tr);ta._round(),j&&!dS(R,ta,ue,j,te)||sr.push(ta)}}Ft+=ni}return De||sr.length||ve||(sr=IC(R,Ft/2,D,j,te,ue,ve,!0,Ze)),sr}mi(\"Anchor\",vg);let C1=wd;function RC(R,S,D,j){let te=[],ue=R.image,ve=ue.pixelRatio,De=ue.paddedRect.w-2*C1,Ze=ue.paddedRect.h-2*C1,at={x1:R.left,y1:R.top,x2:R.right,y2:R.bottom},Tt=ue.stretchX||[[0,De]],Ft=ue.stretchY||[[0,Ze]],Qt=(Tn,bo)=>Tn+bo[1]-bo[0],sr=Tt.reduce(Qt,0),Tr=Ft.reduce(Qt,0),Pr=De-sr,$r=Ze-Tr,ni=0,Di=sr,pi=0,ki=Tr,Zi=0,ta=Pr,Va=0,Io=$r;if(ue.content&&j){let Tn=ue.content,bo=Tn[2]-Tn[0],Ya=Tn[3]-Tn[1];(ue.textFitWidth||ue.textFitHeight)&&(at=gC(R)),ni=pg(Tt,0,Tn[0]),pi=pg(Ft,0,Tn[1]),Di=pg(Tt,Tn[0],Tn[2]),ki=pg(Ft,Tn[1],Tn[3]),Zi=Tn[0]-ni,Va=Tn[1]-pi,ta=bo-Di,Io=Ya-ki}let La=at.x1,Hn=at.y1,lo=at.x2-La,$a=at.y2-Hn,Xa=(Tn,bo,Ya,Uo)=>{let wu=qw(Tn.stretch-ni,Di,lo,La),hu=L1(Tn.fixed-Zi,ta,Tn.stretch,sr),uh=qw(bo.stretch-pi,ki,$a,Hn),$v=L1(bo.fixed-Va,Io,bo.stretch,Tr),td=qw(Ya.stretch-ni,Di,lo,La),ch=L1(Ya.fixed-Zi,ta,Ya.stretch,sr),Ud=qw(Uo.stretch-pi,ki,$a,Hn),Vd=L1(Uo.fixed-Va,Io,Uo.stretch,Tr),Hd=new u(wu,uh),rf=new u(td,uh),fh=new u(td,Ud),Td=new u(wu,Ud),rd=new u(hu/ve,$v/ve),Dh=new u(ch/ve,Vd/ve),xf=S*Math.PI/180;if(xf){let Cl=Math.sin(xf),qu=Math.cos(xf),Tu=[qu,-Cl,Cl,qu];Hd._matMult(Tu),rf._matMult(Tu),Td._matMult(Tu),fh._matMult(Tu)}let Iv=Tn.stretch+Tn.fixed,lv=bo.stretch+bo.fixed;return{tl:Hd,tr:rf,bl:Td,br:fh,tex:{x:ue.paddedRect.x+C1+Iv,y:ue.paddedRect.y+C1+lv,w:Ya.stretch+Ya.fixed-Iv,h:Uo.stretch+Uo.fixed-lv},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:rd,pixelOffsetBR:Dh,minFontScaleX:ta/ve/lo,minFontScaleY:Io/ve/$a,isSDF:D}};if(j&&(ue.stretchX||ue.stretchY)){let Tn=DC(Tt,Pr,sr),bo=DC(Ft,$r,Tr);for(let Ya=0;Ya<Tn.length-1;Ya++){let Uo=Tn[Ya],wu=Tn[Ya+1];for(let hu=0;hu<bo.length-1;hu++)te.push(Xa(Uo,bo[hu],wu,bo[hu+1]))}}else te.push(Xa({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:De+1},{fixed:0,stretch:Ze+1}));return te}function pg(R,S,D){let j=0;for(let te of R)j+=Math.max(S,Math.min(D,te[1]))-Math.max(S,Math.min(D,te[0]));return j}function DC(R,S,D){let j=[{fixed:-C1,stretch:0}];for(let[te,ue]of R){let ve=j[j.length-1];j.push({fixed:te-ve.stretch,stretch:ve.stretch}),j.push({fixed:te-ve.stretch,stretch:ve.stretch+(ue-te)})}return j.push({fixed:S+C1,stretch:D}),j}function qw(R,S,D,j){return R/S*D+j}function L1(R,S,D,j){return R-S*D/j}class cm{constructor(S,D,j,te,ue,ve,De,Ze,at,Tt){var Ft;if(this.boxStartIndex=S.length,at){let Qt=ve.top,sr=ve.bottom,Tr=ve.collisionPadding;Tr&&(Qt-=Tr[1],sr+=Tr[3]);let Pr=sr-Qt;Pr>0&&(Pr=Math.max(10,Pr),this.circleDiameter=Pr)}else{let Qt=!((Ft=ve.image)===null||Ft===void 0)&&Ft.content&&(ve.image.textFitWidth||ve.image.textFitHeight)?gC(ve):{x1:ve.left,y1:ve.top,x2:ve.right,y2:ve.bottom};Qt.y1=Qt.y1*De-Ze[0],Qt.y2=Qt.y2*De+Ze[2],Qt.x1=Qt.x1*De-Ze[3],Qt.x2=Qt.x2*De+Ze[1];let sr=ve.collisionPadding;if(sr&&(Qt.x1-=sr[0]*De,Qt.y1-=sr[1]*De,Qt.x2+=sr[2]*De,Qt.y2+=sr[3]*De),Tt){let Tr=new u(Qt.x1,Qt.y1),Pr=new u(Qt.x2,Qt.y1),$r=new u(Qt.x1,Qt.y2),ni=new u(Qt.x2,Qt.y2),Di=Tt*Math.PI/180;Tr._rotate(Di),Pr._rotate(Di),$r._rotate(Di),ni._rotate(Di),Qt.x1=Math.min(Tr.x,Pr.x,$r.x,ni.x),Qt.x2=Math.max(Tr.x,Pr.x,$r.x,ni.x),Qt.y1=Math.min(Tr.y,Pr.y,$r.y,ni.y),Qt.y2=Math.max(Tr.y,Pr.y,$r.y,ni.y)}S.emplaceBack(D.x,D.y,Qt.x1,Qt.y1,Qt.x2,Qt.y2,j,te,ue)}this.boxEndIndex=S.length}}class Hp{constructor(S=[],D=(j,te)=>j<te?-1:j>te?1:0){if(this.data=S,this.length=this.data.length,this.compare=D,this.length>0)for(let j=(this.length>>1)-1;j>=0;j--)this._down(j)}push(S){this.data.push(S),this._up(this.length++)}pop(){if(this.length===0)return;let S=this.data[0],D=this.data.pop();return--this.length>0&&(this.data[0]=D,this._down(0)),S}peek(){return this.data[0]}_up(S){let{data:D,compare:j}=this,te=D[S];for(;S>0;){let ue=S-1>>1,ve=D[ue];if(j(te,ve)>=0)break;D[S]=ve,S=ue}D[S]=te}_down(S){let{data:D,compare:j}=this,te=this.length>>1,ue=D[S];for(;S<te;){let ve=1+(S<<1),De=ve+1;if(De<this.length&&j(D[De],D[ve])<0&&(ve=De),j(D[ve],ue)>=0)break;D[S]=D[ve],S=ve}D[S]=ue}}function X9(R,S=1,D=!1){let j=1/0,te=1/0,ue=-1/0,ve=-1/0,De=R[0];for(let sr=0;sr<De.length;sr++){let Tr=De[sr];(!sr||Tr.x<j)&&(j=Tr.x),(!sr||Tr.y<te)&&(te=Tr.y),(!sr||Tr.x>ue)&&(ue=Tr.x),(!sr||Tr.y>ve)&&(ve=Tr.y)}let Ze=Math.min(ue-j,ve-te),at=Ze/2,Tt=new Hp([],Y9);if(Ze===0)return new u(j,te);for(let sr=j;sr<ue;sr+=Ze)for(let Tr=te;Tr<ve;Tr+=Ze)Tt.push(new P1(sr+at,Tr+at,at,R));let Ft=function(sr){let Tr=0,Pr=0,$r=0,ni=sr[0];for(let Di=0,pi=ni.length,ki=pi-1;Di<pi;ki=Di++){let Zi=ni[Di],ta=ni[ki],Va=Zi.x*ta.y-ta.x*Zi.y;Pr+=(Zi.x+ta.x)*Va,$r+=(Zi.y+ta.y)*Va,Tr+=3*Va}return new P1(Pr/Tr,$r/Tr,0,sr)}(R),Qt=Tt.length;for(;Tt.length;){let sr=Tt.pop();(sr.d>Ft.d||!Ft.d)&&(Ft=sr,D&&console.log(\"found best %d after %d probes\",Math.round(1e4*sr.d)/1e4,Qt)),sr.max-Ft.d<=S||(at=sr.h/2,Tt.push(new P1(sr.p.x-at,sr.p.y-at,at,R)),Tt.push(new P1(sr.p.x+at,sr.p.y-at,at,R)),Tt.push(new P1(sr.p.x-at,sr.p.y+at,at,R)),Tt.push(new P1(sr.p.x+at,sr.p.y+at,at,R)),Qt+=4)}return D&&(console.log(`num probes: ${Qt}`),console.log(`best distance: ${Ft.d}`)),Ft.p}function Y9(R,S){return S.max-R.max}function P1(R,S,D,j){this.p=new u(R,S),this.h=D,this.d=function(te,ue){let ve=!1,De=1/0;for(let Ze=0;Ze<ue.length;Ze++){let at=ue[Ze];for(let Tt=0,Ft=at.length,Qt=Ft-1;Tt<Ft;Qt=Tt++){let sr=at[Tt],Tr=at[Qt];sr.y>te.y!=Tr.y>te.y&&te.x<(Tr.x-sr.x)*(te.y-sr.y)/(Tr.y-sr.y)+sr.x&&(ve=!ve),De=Math.min(De,Bi(te,sr,Tr))}}return(ve?1:-1)*Math.sqrt(De)}(this.p,j),this.max=this.d+this.h*Math.SQRT2}var ed;i.aq=void 0,(ed=i.aq||(i.aq={}))[ed.center=1]=\"center\",ed[ed.left=2]=\"left\",ed[ed.right=3]=\"right\",ed[ed.top=4]=\"top\",ed[ed.bottom=5]=\"bottom\",ed[ed[\"top-left\"]=6]=\"top-left\",ed[ed[\"top-right\"]=7]=\"top-right\",ed[ed[\"bottom-left\"]=8]=\"bottom-left\",ed[ed[\"bottom-right\"]=9]=\"bottom-right\";let fm=7,fy=Number.POSITIVE_INFINITY;function vS(R,S){return S[1]!==fy?function(D,j,te){let ue=0,ve=0;switch(j=Math.abs(j),te=Math.abs(te),D){case\"top-right\":case\"top-left\":case\"top\":ve=te-fm;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":ve=-te+fm}switch(D){case\"top-right\":case\"bottom-right\":case\"right\":ue=-j;break;case\"top-left\":case\"bottom-left\":case\"left\":ue=j}return[ue,ve]}(R,S[0],S[1]):function(D,j){let te=0,ue=0;j<0&&(j=0);let ve=j/Math.SQRT2;switch(D){case\"top-right\":case\"top-left\":ue=ve-fm;break;case\"bottom-right\":case\"bottom-left\":ue=-ve+fm;break;case\"bottom\":ue=-j+fm;break;case\"top\":ue=j-fm}switch(D){case\"top-right\":case\"bottom-right\":te=-ve;break;case\"top-left\":case\"bottom-left\":te=ve;break;case\"left\":te=j;break;case\"right\":te=-j}return[te,ue]}(R,S[0])}function zC(R,S,D){var j;let te=R.layout,ue=(j=te.get(\"text-variable-anchor-offset\"))===null||j===void 0?void 0:j.evaluate(S,{},D);if(ue){let De=ue.values,Ze=[];for(let at=0;at<De.length;at+=2){let Tt=Ze[at]=De[at],Ft=De[at+1].map(Qt=>Qt*kl);Tt.startsWith(\"top\")?Ft[1]-=fm:Tt.startsWith(\"bottom\")&&(Ft[1]+=fm),Ze[at+1]=Ft}return new Si(Ze)}let ve=te.get(\"text-variable-anchor\");if(ve){let De;De=R._unevaluatedLayout.getValue(\"text-radial-offset\")!==void 0?[te.get(\"text-radial-offset\").evaluate(S,{},D)*kl,fy]:te.get(\"text-offset\").evaluate(S,{},D).map(at=>at*kl);let Ze=[];for(let at of ve)Ze.push(at,vS(at,De));return new Si(Ze)}return null}function pS(R){switch(R){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function K9(R,S,D,j,te,ue,ve,De,Ze,at,Tt){let Ft=ue.textMaxSize.evaluate(S,{});Ft===void 0&&(Ft=ve);let Qt=R.layers[0].layout,sr=Qt.get(\"icon-offset\").evaluate(S,{},Tt),Tr=qC(D.horizontal),Pr=ve/24,$r=R.tilePixelRatio*Pr,ni=R.tilePixelRatio*Ft/24,Di=R.tilePixelRatio*De,pi=R.tilePixelRatio*Qt.get(\"symbol-spacing\"),ki=Qt.get(\"text-padding\")*R.tilePixelRatio,Zi=function(Tn,bo,Ya,Uo=1){let wu=Tn.get(\"icon-padding\").evaluate(bo,{},Ya),hu=wu&&wu.values;return[hu[0]*Uo,hu[1]*Uo,hu[2]*Uo,hu[3]*Uo]}(Qt,S,Tt,R.tilePixelRatio),ta=Qt.get(\"text-max-angle\")/180*Math.PI,Va=Qt.get(\"text-rotation-alignment\")!==\"viewport\"&&Qt.get(\"symbol-placement\")!==\"point\",Io=Qt.get(\"icon-rotation-alignment\")===\"map\"&&Qt.get(\"symbol-placement\")!==\"point\",La=Qt.get(\"symbol-placement\"),Hn=pi/2,lo=Qt.get(\"icon-text-fit\"),$a;j&&lo!==\"none\"&&(R.allowVerticalPlacement&&D.vertical&&($a=mC(j,D.vertical,lo,Qt.get(\"icon-text-fit-padding\"),sr,Pr)),Tr&&(j=mC(j,Tr,lo,Qt.get(\"icon-text-fit-padding\"),sr,Pr)));let Xa=(Tn,bo)=>{bo.x<0||bo.x>=za||bo.y<0||bo.y>=za||function(Ya,Uo,wu,hu,uh,$v,td,ch,Ud,Vd,Hd,rf,fh,Td,rd,Dh,xf,Iv,lv,Cl,qu,Tu,Rv,qc,I1){let p0=Ya.addToLineVertexArray(Uo,wu),Gp,Qv,oc,If,ep=0,gg=0,uv=0,R1=0,xS=-1,Uw=-1,g0={},hy=ui(\"\");if(Ya.allowVerticalPlacement&&hu.vertical){let Ad=ch.layout.get(\"text-rotate\").evaluate(qu,{},qc)+90;oc=new cm(Ud,Uo,Vd,Hd,rf,hu.vertical,fh,Td,rd,Ad),td&&(If=new cm(Ud,Uo,Vd,Hd,rf,td,xf,Iv,rd,Ad))}if(uh){let Ad=ch.layout.get(\"icon-rotate\").evaluate(qu,{}),tp=ch.layout.get(\"icon-text-fit\")!==\"none\",hm=RC(uh,Ad,Rv,tp),Gd=td?RC(td,Ad,Rv,tp):void 0;Qv=new cm(Ud,Uo,Vd,Hd,rf,uh,xf,Iv,!1,Ad),ep=4*hm.length;let Sd=Ya.iconSizeData,yp=null;Sd.kind===\"source\"?(yp=[v0*ch.layout.get(\"icon-size\").evaluate(qu,{})],yp[0]>lm&&T(`${Ya.layerIds[0]}: Value for \"icon-size\" is >= ${Wx}. Reduce your \"icon-size\".`)):Sd.kind===\"composite\"&&(yp=[v0*Tu.compositeIconSizes[0].evaluate(qu,{},qc),v0*Tu.compositeIconSizes[1].evaluate(qu,{},qc)],(yp[0]>lm||yp[1]>lm)&&T(`${Ya.layerIds[0]}: Value for \"icon-size\" is >= ${Wx}. Reduce your \"icon-size\".`)),Ya.addSymbols(Ya.icon,hm,yp,Cl,lv,qu,i.ah.none,Uo,p0.lineStartIndex,p0.lineLength,-1,qc),xS=Ya.icon.placedSymbolArray.length-1,Gd&&(gg=4*Gd.length,Ya.addSymbols(Ya.icon,Gd,yp,Cl,lv,qu,i.ah.vertical,Uo,p0.lineStartIndex,p0.lineLength,-1,qc),Uw=Ya.icon.placedSymbolArray.length-1)}let zh=Object.keys(hu.horizontal);for(let Ad of zh){let tp=hu.horizontal[Ad];if(!Gp){hy=ui(tp.text);let Gd=ch.layout.get(\"text-rotate\").evaluate(qu,{},qc);Gp=new cm(Ud,Uo,Vd,Hd,rf,tp,fh,Td,rd,Gd)}let hm=tp.positionedLines.length===1;if(uv+=FC(Ya,Uo,tp,$v,ch,rd,qu,Dh,p0,hu.vertical?i.ah.horizontal:i.ah.horizontalOnly,hm?zh:[Ad],g0,xS,Tu,qc),hm)break}hu.vertical&&(R1+=FC(Ya,Uo,hu.vertical,$v,ch,rd,qu,Dh,p0,i.ah.vertical,[\"vertical\"],g0,Uw,Tu,qc));let Q9=Gp?Gp.boxStartIndex:Ya.collisionBoxArray.length,Vw=Gp?Gp.boxEndIndex:Ya.collisionBoxArray.length,m0=oc?oc.boxStartIndex:Ya.collisionBoxArray.length,cv=oc?oc.boxEndIndex:Ya.collisionBoxArray.length,UC=Qv?Qv.boxStartIndex:Ya.collisionBoxArray.length,eq=Qv?Qv.boxEndIndex:Ya.collisionBoxArray.length,VC=If?If.boxStartIndex:Ya.collisionBoxArray.length,tq=If?If.boxEndIndex:Ya.collisionBoxArray.length,mp=-1,rb=(Ad,tp)=>Ad&&Ad.circleDiameter?Math.max(Ad.circleDiameter,tp):tp;mp=rb(Gp,mp),mp=rb(oc,mp),mp=rb(Qv,mp),mp=rb(If,mp);let Hw=mp>-1?1:0;Hw&&(mp*=I1/kl),Ya.glyphOffsetArray.length>=E1.MAX_GLYPHS&&T(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),qu.sortKey!==void 0&&Ya.addToSortKeyRanges(Ya.symbolInstances.length,qu.sortKey);let bS=zC(ch,qu,qc),[rq,iq]=function(Ad,tp){let hm=Ad.length,Gd=tp==null?void 0:tp.values;if((Gd==null?void 0:Gd.length)>0)for(let Sd=0;Sd<Gd.length;Sd+=2){let yp=Gd[Sd+1];Ad.emplaceBack(i.aq[Gd[Sd]],yp[0],yp[1])}return[hm,Ad.length]}(Ya.textAnchorOffsets,bS);Ya.symbolInstances.emplaceBack(Uo.x,Uo.y,g0.right>=0?g0.right:-1,g0.center>=0?g0.center:-1,g0.left>=0?g0.left:-1,g0.vertical||-1,xS,Uw,hy,Q9,Vw,m0,cv,UC,eq,VC,tq,Vd,uv,R1,ep,gg,Hw,0,fh,mp,rq,iq)}(R,bo,Tn,D,j,te,$a,R.layers[0],R.collisionBoxArray,S.index,S.sourceLayerIndex,R.index,$r,[ki,ki,ki,ki],Va,Ze,Di,Zi,Io,sr,S,ue,at,Tt,ve)};if(La===\"line\")for(let Tn of kC(S.geometry,0,0,za,za)){let bo=Z9(Tn,pi,ta,D.vertical||Tr,j,24,ni,R.overscaling,za);for(let Ya of bo)Tr&&J9(R,Tr.text,Hn,Ya)||Xa(Tn,Ya)}else if(La===\"line-center\"){for(let Tn of S.geometry)if(Tn.length>1){let bo=W9(Tn,ta,D.vertical||Tr,j,24,ni);bo&&Xa(Tn,bo)}}else if(S.type===\"Polygon\")for(let Tn of Of(S.geometry,0)){let bo=X9(Tn,16);Xa(Tn[0],new vg(bo.x,bo.y,0))}else if(S.type===\"LineString\")for(let Tn of S.geometry)Xa(Tn,new vg(Tn[0].x,Tn[0].y,0));else if(S.type===\"Point\")for(let Tn of S.geometry)for(let bo of Tn)Xa([bo],new vg(bo.x,bo.y,0))}function FC(R,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr){let Pr=function(Di,pi,ki,Zi,ta,Va,Io,La){let Hn=Zi.layout.get(\"text-rotate\").evaluate(Va,{})*Math.PI/180,lo=[];for(let $a of pi.positionedLines)for(let Xa of $a.positionedGlyphs){if(!Xa.rect)continue;let Tn=Xa.rect||{},bo=hC+1,Ya=!0,Uo=1,wu=0,hu=(ta||La)&&Xa.vertical,uh=Xa.metrics.advance*Xa.scale/2;if(La&&pi.verticalizable&&(wu=$a.lineOffset/2-(Xa.imageName?-(kl-Xa.metrics.width*Xa.scale)/2:(Xa.scale-1)*kl)),Xa.imageName){let Cl=Io[Xa.imageName];Ya=Cl.sdf,Uo=Cl.pixelRatio,bo=wd/Uo}let $v=ta?[Xa.x+uh,Xa.y]:[0,0],td=ta?[0,0]:[Xa.x+uh+ki[0],Xa.y+ki[1]-wu],ch=[0,0];hu&&(ch=td,td=[0,0]);let Ud=Xa.metrics.isDoubleResolution?2:1,Vd=(Xa.metrics.left-bo)*Xa.scale-uh+td[0],Hd=(-Xa.metrics.top-bo)*Xa.scale+td[1],rf=Vd+Tn.w/Ud*Xa.scale/Uo,fh=Hd+Tn.h/Ud*Xa.scale/Uo,Td=new u(Vd,Hd),rd=new u(rf,Hd),Dh=new u(Vd,fh),xf=new u(rf,fh);if(hu){let Cl=new u(-uh,uh-lh),qu=-Math.PI/2,Tu=kl/2-uh,Rv=new u(5-lh-Tu,-(Xa.imageName?Tu:0)),qc=new u(...ch);Td._rotateAround(qu,Cl)._add(Rv)._add(qc),rd._rotateAround(qu,Cl)._add(Rv)._add(qc),Dh._rotateAround(qu,Cl)._add(Rv)._add(qc),xf._rotateAround(qu,Cl)._add(Rv)._add(qc)}if(Hn){let Cl=Math.sin(Hn),qu=Math.cos(Hn),Tu=[qu,-Cl,Cl,qu];Td._matMult(Tu),rd._matMult(Tu),Dh._matMult(Tu),xf._matMult(Tu)}let Iv=new u(0,0),lv=new u(0,0);lo.push({tl:Td,tr:rd,bl:Dh,br:xf,tex:Tn,writingMode:pi.writingMode,glyphOffset:$v,sectionIndex:Xa.sectionIndex,isSDF:Ya,pixelOffsetTL:Iv,pixelOffsetBR:lv,minFontScaleX:0,minFontScaleY:0})}return lo}(0,D,De,te,ue,ve,j,R.allowVerticalPlacement),$r=R.textSizeData,ni=null;$r.kind===\"source\"?(ni=[v0*te.layout.get(\"text-size\").evaluate(ve,{})],ni[0]>lm&&T(`${R.layerIds[0]}: Value for \"text-size\" is >= ${Wx}. Reduce your \"text-size\".`)):$r.kind===\"composite\"&&(ni=[v0*sr.compositeTextSizes[0].evaluate(ve,{},Tr),v0*sr.compositeTextSizes[1].evaluate(ve,{},Tr)],(ni[0]>lm||ni[1]>lm)&&T(`${R.layerIds[0]}: Value for \"text-size\" is >= ${Wx}. Reduce your \"text-size\".`)),R.addSymbols(R.text,Pr,ni,De,ue,ve,at,S,Ze.lineStartIndex,Ze.lineLength,Qt,Tr);for(let Di of Tt)Ft[Di]=R.text.placedSymbolArray.length-1;return 4*Pr.length}function qC(R){for(let S in R)return R[S];return null}function J9(R,S,D,j){let te=R.compareText;if(S in te){let ue=te[S];for(let ve=ue.length-1;ve>=0;ve--)if(j.dist(ue[ve])<D)return!0}else te[S]=[];return te[S].push(j),!1}let OC=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class gS{static from(S){if(!(S instanceof ArrayBuffer))throw new Error(\"Data must be an instance of ArrayBuffer.\");let[D,j]=new Uint8Array(S,0,2);if(D!==219)throw new Error(\"Data does not appear to be in a KDBush format.\");let te=j>>4;if(te!==1)throw new Error(`Got v${te} data when expected v1.`);let ue=OC[15&j];if(!ue)throw new Error(\"Unrecognized array type.\");let[ve]=new Uint16Array(S,2,1),[De]=new Uint32Array(S,4,1);return new gS(De,ve,ue,S)}constructor(S,D=64,j=Float64Array,te){if(isNaN(S)||S<0)throw new Error(`Unpexpected numItems value: ${S}.`);this.numItems=+S,this.nodeSize=Math.min(Math.max(+D,2),65535),this.ArrayType=j,this.IndexArrayType=S<65536?Uint16Array:Uint32Array;let ue=OC.indexOf(this.ArrayType),ve=2*S*this.ArrayType.BYTES_PER_ELEMENT,De=S*this.IndexArrayType.BYTES_PER_ELEMENT,Ze=(8-De%8)%8;if(ue<0)throw new Error(`Unexpected typed array class: ${j}.`);te&&te instanceof ArrayBuffer?(this.data=te,this.ids=new this.IndexArrayType(this.data,8,S),this.coords=new this.ArrayType(this.data,8+De+Ze,2*S),this._pos=2*S,this._finished=!0):(this.data=new ArrayBuffer(8+ve+De+Ze),this.ids=new this.IndexArrayType(this.data,8,S),this.coords=new this.ArrayType(this.data,8+De+Ze,2*S),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+ue]),new Uint16Array(this.data,2,1)[0]=D,new Uint32Array(this.data,4,1)[0]=S)}add(S,D){let j=this._pos>>1;return this.ids[j]=j,this.coords[this._pos++]=S,this.coords[this._pos++]=D,j}finish(){let S=this._pos>>1;if(S!==this.numItems)throw new Error(`Added ${S} items when expected ${this.numItems}.`);return Ow(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(S,D,j,te){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:ue,coords:ve,nodeSize:De}=this,Ze=[0,ue.length-1,0],at=[];for(;Ze.length;){let Tt=Ze.pop()||0,Ft=Ze.pop()||0,Qt=Ze.pop()||0;if(Ft-Qt<=De){for(let $r=Qt;$r<=Ft;$r++){let ni=ve[2*$r],Di=ve[2*$r+1];ni>=S&&ni<=j&&Di>=D&&Di<=te&&at.push(ue[$r])}continue}let sr=Qt+Ft>>1,Tr=ve[2*sr],Pr=ve[2*sr+1];Tr>=S&&Tr<=j&&Pr>=D&&Pr<=te&&at.push(ue[sr]),(Tt===0?S<=Tr:D<=Pr)&&(Ze.push(Qt),Ze.push(sr-1),Ze.push(1-Tt)),(Tt===0?j>=Tr:te>=Pr)&&(Ze.push(sr+1),Ze.push(Ft),Ze.push(1-Tt))}return at}within(S,D,j){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:te,coords:ue,nodeSize:ve}=this,De=[0,te.length-1,0],Ze=[],at=j*j;for(;De.length;){let Tt=De.pop()||0,Ft=De.pop()||0,Qt=De.pop()||0;if(Ft-Qt<=ve){for(let $r=Qt;$r<=Ft;$r++)NC(ue[2*$r],ue[2*$r+1],S,D)<=at&&Ze.push(te[$r]);continue}let sr=Qt+Ft>>1,Tr=ue[2*sr],Pr=ue[2*sr+1];NC(Tr,Pr,S,D)<=at&&Ze.push(te[sr]),(Tt===0?S-j<=Tr:D-j<=Pr)&&(De.push(Qt),De.push(sr-1),De.push(1-Tt)),(Tt===0?S+j>=Tr:D+j>=Pr)&&(De.push(sr+1),De.push(Ft),De.push(1-Tt))}return Ze}}function Ow(R,S,D,j,te,ue){if(te-j<=D)return;let ve=j+te>>1;BC(R,S,ve,j,te,ue),Ow(R,S,D,j,ve-1,1-ue),Ow(R,S,D,ve+1,te,1-ue)}function BC(R,S,D,j,te,ue){for(;te>j;){if(te-j>600){let at=te-j+1,Tt=D-j+1,Ft=Math.log(at),Qt=.5*Math.exp(2*Ft/3),sr=.5*Math.sqrt(Ft*Qt*(at-Qt)/at)*(Tt-at/2<0?-1:1);BC(R,S,D,Math.max(j,Math.floor(D-Tt*Qt/at+sr)),Math.min(te,Math.floor(D+(at-Tt)*Qt/at+sr)),ue)}let ve=S[2*D+ue],De=j,Ze=te;for(eb(R,S,j,D),S[2*te+ue]>ve&&eb(R,S,j,te);De<Ze;){for(eb(R,S,De,Ze),De++,Ze--;S[2*De+ue]<ve;)De++;for(;S[2*Ze+ue]>ve;)Ze--}S[2*j+ue]===ve?eb(R,S,j,Ze):(Ze++,eb(R,S,Ze,te)),Ze<=D&&(j=Ze+1),D<=Ze&&(te=Ze-1)}}function eb(R,S,D,j){mS(R,D,j),mS(S,2*D,2*j),mS(S,2*D+1,2*j+1)}function mS(R,S,D){let j=R[S];R[S]=R[D],R[D]=j}function NC(R,S,D,j){let te=R-D,ue=S-j;return te*te+ue*ue}var Bw;i.bg=void 0,(Bw=i.bg||(i.bg={})).create=\"create\",Bw.load=\"load\",Bw.fullLoad=\"fullLoad\";let tb=null,Gf=[],yS=1e3/60,_S=\"loadTime\",Nw=\"fullLoadTime\",$9={mark(R){performance.mark(R)},frame(R){let S=R;tb!=null&&Gf.push(S-tb),tb=S},clearMetrics(){tb=null,Gf=[],performance.clearMeasures(_S),performance.clearMeasures(Nw);for(let R in i.bg)performance.clearMarks(i.bg[R])},getPerformanceMetrics(){performance.measure(_S,i.bg.create,i.bg.load),performance.measure(Nw,i.bg.create,i.bg.fullLoad);let R=performance.getEntriesByName(_S)[0].duration,S=performance.getEntriesByName(Nw)[0].duration,D=Gf.length,j=1/(Gf.reduce((ue,ve)=>ue+ve,0)/D/1e3),te=Gf.filter(ue=>ue>yS).reduce((ue,ve)=>ue+(ve-yS)/yS,0);return{loadTime:R,fullLoadTime:S,fps:j,percentDroppedFrames:te/(D+te)*100,totalFrames:D}}};i.$=class extends Ot{},i.A=Ln,i.B=Fi,i.C=function(R){if(V==null){let S=R.navigator?R.navigator.userAgent:null;V=!!R.safari||!(!S||!(/\\b(iPad|iPhone|iPod)\\b/.test(S)||S.match(\"Safari\")&&!S.match(\"Chrome\")))}return V},i.D=Da,i.E=Re,i.F=class{constructor(R,S){this.target=R,this.mapId=S,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new uS(()=>this.process()),this.subscription=function(D,j,te,ue){return D.addEventListener(j,te,!1),{unsubscribe:()=>{D.removeEventListener(j,te,!1)}}}(this.target,\"message\",D=>this.receive(D)),this.globalScope=q(self)?R:window}registerMessageHandler(R,S){this.messageHandlers[R]=S}sendAsync(R,S){return new Promise((D,j)=>{let te=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[te]={resolve:D,reject:j},S&&S.signal.addEventListener(\"abort\",()=>{delete this.resolveRejects[te];let De={id:te,type:\"<cancel>\",origin:location.origin,targetMapId:R.targetMapId,sourceMapId:this.mapId};this.target.postMessage(De)},{once:!0});let ue=[],ve=Object.assign(Object.assign({},R),{id:te,sourceMapId:this.mapId,origin:location.origin,data:Ea(R.data,ue)});this.target.postMessage(ve,{transfer:ue})})}receive(R){let S=R.data,D=S.id;if(!(S.origin!==\"file://\"&&location.origin!==\"file://\"&&S.origin!==\"resource://android\"&&location.origin!==\"resource://android\"&&S.origin!==location.origin||S.targetMapId&&this.mapId!==S.targetMapId)){if(S.type===\"<cancel>\"){delete this.tasks[D];let j=this.abortControllers[D];return delete this.abortControllers[D],void(j&&j.abort())}if(q(self)||S.mustQueue)return this.tasks[D]=S,this.taskQueue.push(D),void this.invoker.trigger();this.processTask(D,S)}}process(){if(this.taskQueue.length===0)return;let R=this.taskQueue.shift(),S=this.tasks[R];delete this.tasks[R],this.taskQueue.length>0&&this.invoker.trigger(),S&&this.processTask(R,S)}processTask(R,S){return a(this,void 0,void 0,function*(){if(S.type===\"<response>\"){let te=this.resolveRejects[R];return delete this.resolveRejects[R],te?void(S.error?te.reject(qa(S.error)):te.resolve(qa(S.data))):void 0}if(!this.messageHandlers[S.type])return void this.completeTask(R,new Error(`Could not find a registered handler for ${S.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(\", \")}`));let D=qa(S.data),j=new AbortController;this.abortControllers[R]=j;try{let te=yield this.messageHandlers[S.type](S.sourceMapId,D,j);this.completeTask(R,null,te)}catch(te){this.completeTask(R,te)}})}completeTask(R,S,D){let j=[];delete this.abortControllers[R];let te={id:R,type:\"<response>\",sourceMapId:this.mapId,origin:location.origin,error:S?Ea(S):null,data:Ea(D,j)};this.target.postMessage(te,{transfer:j})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},i.G=ke,i.H=function(){var R=new Ln(16);return Ln!=Float32Array&&(R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[11]=0,R[12]=0,R[13]=0,R[14]=0),R[0]=1,R[5]=1,R[10]=1,R[15]=1,R},i.I=kw,i.J=function(R,S,D){var j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr=D[0],$r=D[1],ni=D[2];return S===R?(R[12]=S[0]*Pr+S[4]*$r+S[8]*ni+S[12],R[13]=S[1]*Pr+S[5]*$r+S[9]*ni+S[13],R[14]=S[2]*Pr+S[6]*$r+S[10]*ni+S[14],R[15]=S[3]*Pr+S[7]*$r+S[11]*ni+S[15]):(te=S[1],ue=S[2],ve=S[3],De=S[4],Ze=S[5],at=S[6],Tt=S[7],Ft=S[8],Qt=S[9],sr=S[10],Tr=S[11],R[0]=j=S[0],R[1]=te,R[2]=ue,R[3]=ve,R[4]=De,R[5]=Ze,R[6]=at,R[7]=Tt,R[8]=Ft,R[9]=Qt,R[10]=sr,R[11]=Tr,R[12]=j*Pr+De*$r+Ft*ni+S[12],R[13]=te*Pr+Ze*$r+Qt*ni+S[13],R[14]=ue*Pr+at*$r+sr*ni+S[14],R[15]=ve*Pr+Tt*$r+Tr*ni+S[15]),R},i.K=function(R,S,D){var j=D[0],te=D[1],ue=D[2];return R[0]=S[0]*j,R[1]=S[1]*j,R[2]=S[2]*j,R[3]=S[3]*j,R[4]=S[4]*te,R[5]=S[5]*te,R[6]=S[6]*te,R[7]=S[7]*te,R[8]=S[8]*ue,R[9]=S[9]*ue,R[10]=S[10]*ue,R[11]=S[11]*ue,R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15],R},i.L=gn,i.M=function(R,S){let D={};for(let j=0;j<S.length;j++){let te=S[j];te in R&&(D[te]=R[te])}return D},i.N=dg,i.O=zw,i.P=u,i.Q=wC,i.R=Jn,i.S=Jv,i.T=ac,i.U=x,i.V=b,i.W=G,i.X=za,i.Y=qe,i.Z=$x,i._=a,i.a=_e,i.a$=function(R,S){var D=R[0],j=R[1],te=R[2],ue=R[3],ve=R[4],De=R[5],Ze=R[6],at=R[7],Tt=R[8],Ft=R[9],Qt=R[10],sr=R[11],Tr=R[12],Pr=R[13],$r=R[14],ni=R[15],Di=S[0],pi=S[1],ki=S[2],Zi=S[3],ta=S[4],Va=S[5],Io=S[6],La=S[7],Hn=S[8],lo=S[9],$a=S[10],Xa=S[11],Tn=S[12],bo=S[13],Ya=S[14],Uo=S[15];return Math.abs(D-Di)<=ji*Math.max(1,Math.abs(D),Math.abs(Di))&&Math.abs(j-pi)<=ji*Math.max(1,Math.abs(j),Math.abs(pi))&&Math.abs(te-ki)<=ji*Math.max(1,Math.abs(te),Math.abs(ki))&&Math.abs(ue-Zi)<=ji*Math.max(1,Math.abs(ue),Math.abs(Zi))&&Math.abs(ve-ta)<=ji*Math.max(1,Math.abs(ve),Math.abs(ta))&&Math.abs(De-Va)<=ji*Math.max(1,Math.abs(De),Math.abs(Va))&&Math.abs(Ze-Io)<=ji*Math.max(1,Math.abs(Ze),Math.abs(Io))&&Math.abs(at-La)<=ji*Math.max(1,Math.abs(at),Math.abs(La))&&Math.abs(Tt-Hn)<=ji*Math.max(1,Math.abs(Tt),Math.abs(Hn))&&Math.abs(Ft-lo)<=ji*Math.max(1,Math.abs(Ft),Math.abs(lo))&&Math.abs(Qt-$a)<=ji*Math.max(1,Math.abs(Qt),Math.abs($a))&&Math.abs(sr-Xa)<=ji*Math.max(1,Math.abs(sr),Math.abs(Xa))&&Math.abs(Tr-Tn)<=ji*Math.max(1,Math.abs(Tr),Math.abs(Tn))&&Math.abs(Pr-bo)<=ji*Math.max(1,Math.abs(Pr),Math.abs(bo))&&Math.abs($r-Ya)<=ji*Math.max(1,Math.abs($r),Math.abs(Ya))&&Math.abs(ni-Uo)<=ji*Math.max(1,Math.abs(ni),Math.abs(Uo))},i.a0=We,i.a1=fS,i.a2=er,i.a3=R=>{let S=window.document.createElement(\"video\");return S.muted=!0,new Promise(D=>{S.onloadstart=()=>{D(S)};for(let j of R){let te=window.document.createElement(\"source\");Ee(j)||(S.crossOrigin=\"Anonymous\"),te.src=j,S.appendChild(te)}})},i.a4=function(){return _++},i.a5=Qi,i.a6=E1,i.a7=Pc,i.a8=xl,i.a9=hS,i.aA=function(R){if(R.type===\"custom\")return new lS(R);switch(R.type){case\"background\":return new G9(R);case\"circle\":return new wn(R);case\"fill\":return new gr(R);case\"fill-extrusion\":return new Ev(R);case\"heatmap\":return new Po(R);case\"hillshade\":return new $c(R);case\"line\":return new ay(R);case\"raster\":return new Kx(R);case\"symbol\":return new uy(R)}},i.aB=g,i.aC=function(R,S){if(!R)return[{command:\"setStyle\",args:[S]}];let D=[];try{if(!ct(R.version,S.version))return[{command:\"setStyle\",args:[S]}];ct(R.center,S.center)||D.push({command:\"setCenter\",args:[S.center]}),ct(R.zoom,S.zoom)||D.push({command:\"setZoom\",args:[S.zoom]}),ct(R.bearing,S.bearing)||D.push({command:\"setBearing\",args:[S.bearing]}),ct(R.pitch,S.pitch)||D.push({command:\"setPitch\",args:[S.pitch]}),ct(R.sprite,S.sprite)||D.push({command:\"setSprite\",args:[S.sprite]}),ct(R.glyphs,S.glyphs)||D.push({command:\"setGlyphs\",args:[S.glyphs]}),ct(R.transition,S.transition)||D.push({command:\"setTransition\",args:[S.transition]}),ct(R.light,S.light)||D.push({command:\"setLight\",args:[S.light]}),ct(R.terrain,S.terrain)||D.push({command:\"setTerrain\",args:[S.terrain]}),ct(R.sky,S.sky)||D.push({command:\"setSky\",args:[S.sky]}),ct(R.projection,S.projection)||D.push({command:\"setProjection\",args:[S.projection]});let j={},te=[];(function(ve,De,Ze,at){let Tt;for(Tt in De=De||{},ve=ve||{})Object.prototype.hasOwnProperty.call(ve,Tt)&&(Object.prototype.hasOwnProperty.call(De,Tt)||ot(Tt,Ze,at));for(Tt in De)Object.prototype.hasOwnProperty.call(De,Tt)&&(Object.prototype.hasOwnProperty.call(ve,Tt)?ct(ve[Tt],De[Tt])||(ve[Tt].type===\"geojson\"&&De[Tt].type===\"geojson\"&&kt(ve,De,Tt)?qt(Ze,{command:\"setGeoJSONSourceData\",args:[Tt,De[Tt].data]}):Rt(Tt,De,Ze,at)):rt(Tt,De,Ze))})(R.sources,S.sources,te,j);let ue=[];R.layers&&R.layers.forEach(ve=>{\"source\"in ve&&j[ve.source]?D.push({command:\"removeLayer\",args:[ve.id]}):ue.push(ve)}),D=D.concat(te),function(ve,De,Ze){De=De||[];let at=(ve=ve||[]).map(Yt),Tt=De.map(Yt),Ft=ve.reduce(xr,{}),Qt=De.reduce(xr,{}),sr=at.slice(),Tr=Object.create(null),Pr,$r,ni,Di,pi;for(let ki=0,Zi=0;ki<at.length;ki++)Pr=at[ki],Object.prototype.hasOwnProperty.call(Qt,Pr)?Zi++:(qt(Ze,{command:\"removeLayer\",args:[Pr]}),sr.splice(sr.indexOf(Pr,Zi),1));for(let ki=0,Zi=0;ki<Tt.length;ki++)Pr=Tt[Tt.length-1-ki],sr[sr.length-1-ki]!==Pr&&(Object.prototype.hasOwnProperty.call(Ft,Pr)?(qt(Ze,{command:\"removeLayer\",args:[Pr]}),sr.splice(sr.lastIndexOf(Pr,sr.length-Zi),1)):Zi++,Di=sr[sr.length-ki],qt(Ze,{command:\"addLayer\",args:[Qt[Pr],Di]}),sr.splice(sr.length-ki,0,Pr),Tr[Pr]=!0);for(let ki=0;ki<Tt.length;ki++)if(Pr=Tt[ki],$r=Ft[Pr],ni=Qt[Pr],!Tr[Pr]&&!ct($r,ni))if(ct($r.source,ni.source)&&ct($r[\"source-layer\"],ni[\"source-layer\"])&&ct($r.type,ni.type)){for(pi in Ct($r.layout,ni.layout,Ze,Pr,null,\"setLayoutProperty\"),Ct($r.paint,ni.paint,Ze,Pr,null,\"setPaintProperty\"),ct($r.filter,ni.filter)||qt(Ze,{command:\"setFilter\",args:[Pr,ni.filter]}),ct($r.minzoom,ni.minzoom)&&ct($r.maxzoom,ni.maxzoom)||qt(Ze,{command:\"setLayerZoomRange\",args:[Pr,ni.minzoom,ni.maxzoom]}),$r)Object.prototype.hasOwnProperty.call($r,pi)&&pi!==\"layout\"&&pi!==\"paint\"&&pi!==\"filter\"&&pi!==\"metadata\"&&pi!==\"minzoom\"&&pi!==\"maxzoom\"&&(pi.indexOf(\"paint.\")===0?Ct($r[pi],ni[pi],Ze,Pr,pi.slice(6),\"setPaintProperty\"):ct($r[pi],ni[pi])||qt(Ze,{command:\"setLayerProperty\",args:[Pr,pi,ni[pi]]}));for(pi in ni)Object.prototype.hasOwnProperty.call(ni,pi)&&!Object.prototype.hasOwnProperty.call($r,pi)&&pi!==\"layout\"&&pi!==\"paint\"&&pi!==\"filter\"&&pi!==\"metadata\"&&pi!==\"minzoom\"&&pi!==\"maxzoom\"&&(pi.indexOf(\"paint.\")===0?Ct($r[pi],ni[pi],Ze,Pr,pi.slice(6),\"setPaintProperty\"):ct($r[pi],ni[pi])||qt(Ze,{command:\"setLayerProperty\",args:[Pr,pi,ni[pi]]}))}else qt(Ze,{command:\"removeLayer\",args:[Pr]}),Di=sr[sr.lastIndexOf(Pr)+1],qt(Ze,{command:\"addLayer\",args:[ni,Di]})}(ue,S.layers,D)}catch(j){console.warn(\"Unable to compute style diff:\",j),D=[{command:\"setStyle\",args:[S]}]}return D},i.aD=function(R){let S=[],D=R.id;return D===void 0&&S.push({message:`layers.${D}: missing required property \"id\"`}),R.render===void 0&&S.push({message:`layers.${D}: missing required method \"render\"`}),R.renderingMode&&R.renderingMode!==\"2d\"&&R.renderingMode!==\"3d\"&&S.push({message:`layers.${D}: property \"renderingMode\" must be either \"2d\" or \"3d\"`}),S},i.aE=function R(S,D){if(Array.isArray(S)){if(!Array.isArray(D)||S.length!==D.length)return!1;for(let j=0;j<S.length;j++)if(!R(S[j],D[j]))return!1;return!0}if(typeof S==\"object\"&&S!==null&&D!==null){if(typeof D!=\"object\"||Object.keys(S).length!==Object.keys(D).length)return!1;for(let j in S)if(!R(S[j],D[j]))return!1;return!0}return S===D},i.aF=C,i.aG=M,i.aH=class extends ci{constructor(R,S){super(R,S),this.current=0}set(R){this.current!==R&&(this.current=R,this.gl.uniform1i(this.location,R))}},i.aI=Jr,i.aJ=class extends ci{constructor(R,S){super(R,S),this.current=En}set(R){if(R[12]!==this.current[12]||R[0]!==this.current[0])return this.current=R,void this.gl.uniformMatrix4fv(this.location,!1,R);for(let S=1;S<16;S++)if(R[S]!==this.current[S]){this.current=R,this.gl.uniformMatrix4fv(this.location,!1,R);break}}},i.aK=un,i.aL=dn,i.aM=Zt,i.aN=class extends ci{constructor(R,S){super(R,S),this.current=[0,0,0]}set(R){R[0]===this.current[0]&&R[1]===this.current[1]&&R[2]===this.current[2]||(this.current=R,this.gl.uniform3f(this.location,R[0],R[1],R[2]))}},i.aO=class extends ci{constructor(R,S){super(R,S),this.current=[0,0]}set(R){R[0]===this.current[0]&&R[1]===this.current[1]||(this.current=R,this.gl.uniform2f(this.location,R[0],R[1]))}},i.aP=function(R,S,D,j,te,ue,ve){var De=1/(S-D),Ze=1/(j-te),at=1/(ue-ve);return R[0]=-2*De,R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=-2*Ze,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[10]=2*at,R[11]=0,R[12]=(S+D)*De,R[13]=(te+j)*Ze,R[14]=(ve+ue)*at,R[15]=1,R},i.aQ=Kn,i.aR=class extends et{},i.aS=im,i.aT=class extends Dt{},i.aU=_o,i.aV=function(R){return R<=1?1:Math.pow(2,Math.ceil(Math.log(R)/Math.LN2))},i.aW=Oa,i.aX=yo,i.aY=oe,i.aZ=class extends di{},i.a_=function(R,S){return R[0]===S[0]&&R[1]===S[1]&&R[2]===S[2]&&R[3]===S[3]&&R[4]===S[4]&&R[5]===S[5]&&R[6]===S[6]&&R[7]===S[7]&&R[8]===S[8]&&R[9]===S[9]&&R[10]===S[10]&&R[11]===S[11]&&R[12]===S[12]&&R[13]===S[13]&&R[14]===S[14]&&R[15]===S[15]},i.aa=function(R){let S={};if(R.replace(/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,(D,j,te,ue)=>{let ve=te||ue;return S[j]=!ve||ve.toLowerCase(),\"\"}),S[\"max-age\"]){let D=parseInt(S[\"max-age\"],10);isNaN(D)?delete S[\"max-age\"]:S[\"max-age\"]=D}return S},i.ab=function(R,S){let D=[];for(let j in R)j in S||D.push(j);return D},i.ac=k,i.ad=function(R,S,D){var j=Math.sin(D),te=Math.cos(D),ue=S[0],ve=S[1],De=S[2],Ze=S[3],at=S[4],Tt=S[5],Ft=S[6],Qt=S[7];return S!==R&&(R[8]=S[8],R[9]=S[9],R[10]=S[10],R[11]=S[11],R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15]),R[0]=ue*te+at*j,R[1]=ve*te+Tt*j,R[2]=De*te+Ft*j,R[3]=Ze*te+Qt*j,R[4]=at*te-ue*j,R[5]=Tt*te-ve*j,R[6]=Ft*te-De*j,R[7]=Qt*te-Ze*j,R},i.ae=function(R){var S=new Ln(16);return S[0]=R[0],S[1]=R[1],S[2]=R[2],S[3]=R[3],S[4]=R[4],S[5]=R[5],S[6]=R[6],S[7]=R[7],S[8]=R[8],S[9]=R[9],S[10]=R[10],S[11]=R[11],S[12]=R[12],S[13]=R[13],S[14]=R[14],S[15]=R[15],S},i.af=Za,i.ag=function(R,S){let D=0,j=0;if(R.kind===\"constant\")j=R.layoutSize;else if(R.kind!==\"source\"){let{interpolationType:te,minZoom:ue,maxZoom:ve}=R,De=te?k(xo.interpolationFactor(te,S,ue,ve),0,1):0;R.kind===\"camera\"?j=Mo.number(R.minSize,R.maxSize,De):D=De}return{uSizeT:D,uSize:j}},i.ai=function(R,{uSize:S,uSizeT:D},{lowerSize:j,upperSize:te}){return R.kind===\"source\"?j/v0:R.kind===\"composite\"?Mo.number(j/v0,te/v0,D):S},i.aj=nS,i.ak=function(R,S,D,j){let te=S.y-R.y,ue=S.x-R.x,ve=j.y-D.y,De=j.x-D.x,Ze=ve*ue-De*te;if(Ze===0)return null;let at=(De*(R.y-D.y)-ve*(R.x-D.x))/Ze;return new u(R.x+at*ue,R.y+at*te)},i.al=kC,i.am=xc,i.an=Un,i.ao=function(R){let S=1/0,D=1/0,j=-1/0,te=-1/0;for(let ue of R)S=Math.min(S,ue.x),D=Math.min(D,ue.y),j=Math.max(j,ue.x),te=Math.max(te,ue.y);return[S,D,j,te]},i.ap=kl,i.ar=iS,i.as=function(R,S){var D=S[0],j=S[1],te=S[2],ue=S[3],ve=S[4],De=S[5],Ze=S[6],at=S[7],Tt=S[8],Ft=S[9],Qt=S[10],sr=S[11],Tr=S[12],Pr=S[13],$r=S[14],ni=S[15],Di=D*De-j*ve,pi=D*Ze-te*ve,ki=D*at-ue*ve,Zi=j*Ze-te*De,ta=j*at-ue*De,Va=te*at-ue*Ze,Io=Tt*Pr-Ft*Tr,La=Tt*$r-Qt*Tr,Hn=Tt*ni-sr*Tr,lo=Ft*$r-Qt*Pr,$a=Ft*ni-sr*Pr,Xa=Qt*ni-sr*$r,Tn=Di*Xa-pi*$a+ki*lo+Zi*Hn-ta*La+Va*Io;return Tn?(R[0]=(De*Xa-Ze*$a+at*lo)*(Tn=1/Tn),R[1]=(te*$a-j*Xa-ue*lo)*Tn,R[2]=(Pr*Va-$r*ta+ni*Zi)*Tn,R[3]=(Qt*ta-Ft*Va-sr*Zi)*Tn,R[4]=(Ze*Hn-ve*Xa-at*La)*Tn,R[5]=(D*Xa-te*Hn+ue*La)*Tn,R[6]=($r*ki-Tr*Va-ni*pi)*Tn,R[7]=(Tt*Va-Qt*ki+sr*pi)*Tn,R[8]=(ve*$a-De*Hn+at*Io)*Tn,R[9]=(j*Hn-D*$a-ue*Io)*Tn,R[10]=(Tr*ta-Pr*ki+ni*Di)*Tn,R[11]=(Ft*ki-Tt*ta-sr*Di)*Tn,R[12]=(De*La-ve*lo-Ze*Io)*Tn,R[13]=(D*lo-j*La+te*Io)*Tn,R[14]=(Pr*pi-Tr*Zi-$r*Di)*Tn,R[15]=(Tt*Zi-Ft*pi+Qt*Di)*Tn,R):null},i.at=pS,i.au=Iw,i.av=gS,i.aw=function(){let R={},S=ce.$version;for(let D in ce.$root){let j=ce.$root[D];if(j.required){let te=null;te=D===\"version\"?S:j.type===\"array\"?[]:{},te!=null&&(R[D]=te)}}return R},i.ax=Cn,i.ay=ie,i.az=function(R){R=R.slice();let S=Object.create(null);for(let D=0;D<R.length;D++)S[R[D].id]=R[D];for(let D=0;D<R.length;D++)\"ref\"in R[D]&&(R[D]=nt(R[D],S[R[D].ref]));return R},i.b=H,i.b0=function(R,S){return R[0]=S[0],R[1]=S[1],R[2]=S[2],R[3]=S[3],R[4]=S[4],R[5]=S[5],R[6]=S[6],R[7]=S[7],R[8]=S[8],R[9]=S[9],R[10]=S[10],R[11]=S[11],R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15],R},i.b1=function(R,S,D){return R[0]=S[0]*D[0],R[1]=S[1]*D[1],R[2]=S[2]*D[2],R[3]=S[3]*D[3],R},i.b2=function(R,S){return R[0]*S[0]+R[1]*S[1]+R[2]*S[2]+R[3]*S[3]},i.b3=A,i.b4=TC,i.b5=Fw,i.b6=function(R,S,D,j,te){var ue,ve=1/Math.tan(S/2);return R[0]=ve/D,R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=ve,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[11]=-1,R[12]=0,R[13]=0,R[15]=0,te!=null&&te!==1/0?(R[10]=(te+j)*(ue=1/(j-te)),R[14]=2*te*j*ue):(R[10]=-1,R[14]=-2*j),R},i.b7=function(R,S,D){var j=Math.sin(D),te=Math.cos(D),ue=S[4],ve=S[5],De=S[6],Ze=S[7],at=S[8],Tt=S[9],Ft=S[10],Qt=S[11];return S!==R&&(R[0]=S[0],R[1]=S[1],R[2]=S[2],R[3]=S[3],R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15]),R[4]=ue*te+at*j,R[5]=ve*te+Tt*j,R[6]=De*te+Ft*j,R[7]=Ze*te+Qt*j,R[8]=at*te-ue*j,R[9]=Tt*te-ve*j,R[10]=Ft*te-De*j,R[11]=Qt*te-Ze*j,R},i.b8=p,i.b9=E,i.bA=bd,i.bB=function(R){return R.message===re},i.bC=fl,i.bD=vs,i.ba=function(R){return R*Math.PI/180},i.bb=function(R,S){let{x:D,y:j}=$x.fromLngLat(S);return!(R<0||R>25||j<0||j>=1||D<0||D>=1)},i.bc=function(R,S){return R[0]=S[0],R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=S[1],R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[10]=S[2],R[11]=0,R[12]=0,R[13]=0,R[14]=0,R[15]=1,R},i.bd=class extends yt{},i.be=cS,i.bf=$9,i.bh=ge,i.bi=function(R,S){_e.REGISTERED_PROTOCOLS[R]=S},i.bj=function(R){delete _e.REGISTERED_PROTOCOLS[R]},i.bk=function(R,S){let D={};for(let te=0;te<R.length;te++){let ue=S&&S[R[te].id]||md(R[te]);S&&(S[R[te].id]=ue);let ve=D[ue];ve||(ve=D[ue]=[]),ve.push(R[te])}let j=[];for(let te in D)j.push(D[te]);return j},i.bl=mi,i.bm=SC,i.bn=cy,i.bo=Cw,i.bp=function(R){R.bucket.createArrays(),R.bucket.tilePixelRatio=za/(512*R.bucket.overscaling),R.bucket.compareText={},R.bucket.iconsNeedLinear=!1;let S=R.bucket.layers[0],D=S.layout,j=S._unevaluatedLayout._values,te={layoutIconSize:j[\"icon-size\"].possiblyEvaluate(new Ko(R.bucket.zoom+1),R.canonical),layoutTextSize:j[\"text-size\"].possiblyEvaluate(new Ko(R.bucket.zoom+1),R.canonical),textMaxSize:j[\"text-size\"].possiblyEvaluate(new Ko(18))};if(R.bucket.textSizeData.kind===\"composite\"){let{minZoom:at,maxZoom:Tt}=R.bucket.textSizeData;te.compositeTextSizes=[j[\"text-size\"].possiblyEvaluate(new Ko(at),R.canonical),j[\"text-size\"].possiblyEvaluate(new Ko(Tt),R.canonical)]}if(R.bucket.iconSizeData.kind===\"composite\"){let{minZoom:at,maxZoom:Tt}=R.bucket.iconSizeData;te.compositeIconSizes=[j[\"icon-size\"].possiblyEvaluate(new Ko(at),R.canonical),j[\"icon-size\"].possiblyEvaluate(new Ko(Tt),R.canonical)]}let ue=D.get(\"text-line-height\")*kl,ve=D.get(\"text-rotation-alignment\")!==\"viewport\"&&D.get(\"symbol-placement\")!==\"point\",De=D.get(\"text-keep-upright\"),Ze=D.get(\"text-size\");for(let at of R.bucket.features){let Tt=D.get(\"text-font\").evaluate(at,{},R.canonical).join(\",\"),Ft=Ze.evaluate(at,{},R.canonical),Qt=te.layoutTextSize.evaluate(at,{},R.canonical),sr=te.layoutIconSize.evaluate(at,{},R.canonical),Tr={horizontal:{},vertical:void 0},Pr=at.text,$r,ni=[0,0];if(Pr){let ki=Pr.toString(),Zi=D.get(\"text-letter-spacing\").evaluate(at,{},R.canonical)*kl,ta=mo(ki)?Zi:0,Va=D.get(\"text-anchor\").evaluate(at,{},R.canonical),Io=zC(S,at,R.canonical);if(!Io){let $a=D.get(\"text-radial-offset\").evaluate(at,{},R.canonical);ni=$a?vS(Va,[$a*kl,fy]):D.get(\"text-offset\").evaluate(at,{},R.canonical).map(Xa=>Xa*kl)}let La=ve?\"center\":D.get(\"text-justify\").evaluate(at,{},R.canonical),Hn=D.get(\"symbol-placement\")===\"point\"?D.get(\"text-max-width\").evaluate(at,{},R.canonical)*kl:1/0,lo=()=>{R.bucket.allowVerticalPlacement&&Ua(ki)&&(Tr.vertical=Gx(Pr,R.glyphMap,R.glyphPositions,R.imagePositions,Tt,Hn,ue,Va,\"left\",ta,ni,i.ah.vertical,!0,Qt,Ft))};if(!ve&&Io){let $a=new Set;if(La===\"auto\")for(let Tn=0;Tn<Io.values.length;Tn+=2)$a.add(pS(Io.values[Tn]));else $a.add(La);let Xa=!1;for(let Tn of $a)if(!Tr.horizontal[Tn])if(Xa)Tr.horizontal[Tn]=Tr.horizontal[0];else{let bo=Gx(Pr,R.glyphMap,R.glyphPositions,R.imagePositions,Tt,Hn,ue,\"center\",Tn,ta,ni,i.ah.horizontal,!1,Qt,Ft);bo&&(Tr.horizontal[Tn]=bo,Xa=bo.positionedLines.length===1)}lo()}else{La===\"auto\"&&(La=pS(Va));let $a=Gx(Pr,R.glyphMap,R.glyphPositions,R.imagePositions,Tt,Hn,ue,Va,La,ta,ni,i.ah.horizontal,!1,Qt,Ft);$a&&(Tr.horizontal[La]=$a),lo(),Ua(ki)&&ve&&De&&(Tr.vertical=Gx(Pr,R.glyphMap,R.glyphPositions,R.imagePositions,Tt,Hn,ue,Va,La,ta,ni,i.ah.vertical,!1,Qt,Ft))}}let Di=!1;if(at.icon&&at.icon.name){let ki=R.imageMap[at.icon.name];ki&&($r=jx(R.imagePositions[at.icon.name],D.get(\"icon-offset\").evaluate(at,{},R.canonical),D.get(\"icon-anchor\").evaluate(at,{},R.canonical)),Di=!!ki.sdf,R.bucket.sdfIcons===void 0?R.bucket.sdfIcons=Di:R.bucket.sdfIcons!==Di&&T(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),(ki.pixelRatio!==R.bucket.pixelRatio||D.get(\"icon-rotate\").constantOr(1)!==0)&&(R.bucket.iconsNeedLinear=!0))}let pi=qC(Tr.horizontal)||Tr.vertical;R.bucket.iconsInText=!!pi&&pi.iconsInText,(pi||$r)&&K9(R.bucket,at,Tr,$r,R.imageMap,te,Qt,sr,ni,Di,R.canonical)}R.showCollisionBoxes&&R.bucket.generateCollisionDebugBuffers()},i.bq=Kv,i.br=dr,i.bs=fo,i.bt=ei,i.bu=eS,i.bv=class{constructor(R){this._marks={start:[R.url,\"start\"].join(\"#\"),end:[R.url,\"end\"].join(\"#\"),measure:R.url.toString()},performance.mark(this._marks.start)}finish(){performance.mark(this._marks.end);let R=performance.getEntriesByName(this._marks.measure);return R.length===0&&(performance.measure(this._marks.measure,this._marks.start,this._marks.end),R=performance.getEntriesByName(this._marks.measure),performance.clearMarks(this._marks.start),performance.clearMarks(this._marks.end),performance.clearMeasures(this._marks.measure)),R}},i.bw=function(R,S,D,j,te){return a(this,void 0,void 0,function*(){if(b())try{return yield G(R,S,D,j,te)}catch(ue){}return function(ue,ve,De,Ze,at){let Tt=ue.width,Ft=ue.height;N&&W||(N=new OffscreenCanvas(Tt,Ft),W=N.getContext(\"2d\",{willReadFrequently:!0})),N.width=Tt,N.height=Ft,W.drawImage(ue,0,0,Tt,Ft);let Qt=W.getImageData(ve,De,Ze,at);return W.clearRect(0,0,Tt,Ft),Qt.data}(R,S,D,j,te)})},i.bx=AC,i.by=o,i.bz=s,i.c=ae,i.d=R=>a(void 0,void 0,void 0,function*(){if(R.byteLength===0)return createImageBitmap(new ImageData(1,1));let S=new Blob([new Uint8Array(R)],{type:\"image/png\"});try{return createImageBitmap(S)}catch(D){throw new Error(`Could not load image because of ${D.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),i.e=L,i.f=R=>new Promise((S,D)=>{let j=new Image;j.onload=()=>{S(j),URL.revokeObjectURL(j.src),j.onload=null,window.requestAnimationFrame(()=>{j.src=X})},j.onerror=()=>D(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.\"));let te=new Blob([new Uint8Array(R)],{type:\"image/png\"});j.src=R.byteLength?URL.createObjectURL(te):X}),i.g=Me,i.h=(R,S)=>Te(L(R,{type:\"json\"}),S),i.i=q,i.j=me,i.k=Ce,i.l=(R,S)=>Te(L(R,{type:\"arrayBuffer\"}),S),i.m=Te,i.n=function(R){return new eS(R).readFields(yQ,[])},i.o=Ao,i.p=rS,i.q=le,i.r=xi,i.s=Ee,i.t=Ti,i.u=fi,i.v=ce,i.w=T,i.x=function([R,S,D]){return S+=90,S*=Math.PI/180,D*=Math.PI/180,{x:R*Math.cos(S)*Math.sin(D),y:R*Math.sin(S)*Math.sin(D),z:R*Math.cos(D)}},i.y=Mo,i.z=Ko}),r(\"worker\",[\"./shared\"],function(i){\"use strict\";class a{constructor(Ne){this.keyCache={},Ne&&this.replace(Ne)}replace(Ne){this._layerConfigs={},this._layers={},this.update(Ne,[])}update(Ne,Ye){for(let Xe of Ne){this._layerConfigs[Xe.id]=Xe;let ht=this._layers[Xe.id]=i.aA(Xe);ht._featureFilter=i.a7(ht.filter),this.keyCache[Xe.id]&&delete this.keyCache[Xe.id]}for(let Xe of Ye)delete this.keyCache[Xe],delete this._layerConfigs[Xe],delete this._layers[Xe];this.familiesBySource={};let Ve=i.bk(Object.values(this._layerConfigs),this.keyCache);for(let Xe of Ve){let ht=Xe.map(Vt=>this._layers[Vt.id]),Le=ht[0];if(Le.visibility===\"none\")continue;let xe=Le.source||\"\",Se=this.familiesBySource[xe];Se||(Se=this.familiesBySource[xe]={});let lt=Le.sourceLayer||\"_geojsonTileLayer\",Gt=Se[lt];Gt||(Gt=Se[lt]=[]),Gt.push(ht)}}}class o{constructor(Ne){let Ye={},Ve=[];for(let xe in Ne){let Se=Ne[xe],lt=Ye[xe]={};for(let Gt in Se){let Vt=Se[+Gt];if(!Vt||Vt.bitmap.width===0||Vt.bitmap.height===0)continue;let ar={x:0,y:0,w:Vt.bitmap.width+2,h:Vt.bitmap.height+2};Ve.push(ar),lt[Gt]={rect:ar,metrics:Vt.metrics}}}let{w:Xe,h:ht}=i.p(Ve),Le=new i.o({width:Xe||1,height:ht||1});for(let xe in Ne){let Se=Ne[xe];for(let lt in Se){let Gt=Se[+lt];if(!Gt||Gt.bitmap.width===0||Gt.bitmap.height===0)continue;let Vt=Ye[xe][lt].rect;i.o.copy(Gt.bitmap,Le,{x:0,y:0},{x:Vt.x+1,y:Vt.y+1},Gt.bitmap)}}this.image=Le,this.positions=Ye}}i.bl(\"GlyphAtlas\",o);class s{constructor(Ne){this.tileID=new i.S(Ne.tileID.overscaledZ,Ne.tileID.wrap,Ne.tileID.canonical.z,Ne.tileID.canonical.x,Ne.tileID.canonical.y),this.uid=Ne.uid,this.zoom=Ne.zoom,this.pixelRatio=Ne.pixelRatio,this.tileSize=Ne.tileSize,this.source=Ne.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=Ne.showCollisionBoxes,this.collectResourceTiming=!!Ne.collectResourceTiming,this.returnDependencies=!!Ne.returnDependencies,this.promoteId=Ne.promoteId,this.inFlightDependencies=[]}parse(Ne,Ye,Ve,Xe){return i._(this,void 0,void 0,function*(){this.status=\"parsing\",this.data=Ne,this.collisionBoxArray=new i.a5;let ht=new i.bm(Object.keys(Ne.layers).sort()),Le=new i.bn(this.tileID,this.promoteId);Le.bucketLayerIDs=[];let xe={},Se={featureIndex:Le,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:Ve},lt=Ye.familiesBySource[this.source];for(let _n in lt){let $i=Ne.layers[_n];if(!$i)continue;$i.version===1&&i.w(`Vector tile source \"${this.source}\" layer \"${_n}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);let zn=ht.encode(_n),Wn=[];for(let It=0;It<$i.length;It++){let ft=$i.feature(It),jt=Le.getId(ft,_n);Wn.push({feature:ft,id:jt,index:It,sourceLayerIndex:zn})}for(let It of lt[_n]){let ft=It[0];ft.source!==this.source&&i.w(`layer.source = ${ft.source} does not equal this.source = ${this.source}`),ft.minzoom&&this.zoom<Math.floor(ft.minzoom)||ft.maxzoom&&this.zoom>=ft.maxzoom||ft.visibility!==\"none\"&&(l(It,this.zoom,Ve),(xe[ft.id]=ft.createBucket({index:Le.bucketLayerIDs.length,layers:It,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:zn,sourceID:this.source})).populate(Wn,Se,this.tileID.canonical),Le.bucketLayerIDs.push(It.map(jt=>jt.id)))}}let Gt=i.aF(Se.glyphDependencies,_n=>Object.keys(_n).map(Number));this.inFlightDependencies.forEach(_n=>_n==null?void 0:_n.abort()),this.inFlightDependencies=[];let Vt=Promise.resolve({});if(Object.keys(Gt).length){let _n=new AbortController;this.inFlightDependencies.push(_n),Vt=Xe.sendAsync({type:\"GG\",data:{stacks:Gt,source:this.source,tileID:this.tileID,type:\"glyphs\"}},_n)}let ar=Object.keys(Se.iconDependencies),Qr=Promise.resolve({});if(ar.length){let _n=new AbortController;this.inFlightDependencies.push(_n),Qr=Xe.sendAsync({type:\"GI\",data:{icons:ar,source:this.source,tileID:this.tileID,type:\"icons\"}},_n)}let ai=Object.keys(Se.patternDependencies),jr=Promise.resolve({});if(ai.length){let _n=new AbortController;this.inFlightDependencies.push(_n),jr=Xe.sendAsync({type:\"GI\",data:{icons:ai,source:this.source,tileID:this.tileID,type:\"patterns\"}},_n)}let[ri,bi,nn]=yield Promise.all([Vt,Qr,jr]),Wi=new o(ri),Ni=new i.bo(bi,nn);for(let _n in xe){let $i=xe[_n];$i instanceof i.a6?(l($i.layers,this.zoom,Ve),i.bp({bucket:$i,glyphMap:ri,glyphPositions:Wi.positions,imageMap:bi,imagePositions:Ni.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):$i.hasPattern&&($i instanceof i.bq||$i instanceof i.br||$i instanceof i.bs)&&(l($i.layers,this.zoom,Ve),$i.addFeatures(Se,this.tileID.canonical,Ni.patternPositions))}return this.status=\"done\",{buckets:Object.values(xe).filter(_n=>!_n.isEmpty()),featureIndex:Le,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:Wi.image,imageAtlas:Ni,glyphMap:this.returnDependencies?ri:null,iconMap:this.returnDependencies?bi:null,glyphPositions:this.returnDependencies?Wi.positions:null}})}}function l(ut,Ne,Ye){let Ve=new i.z(Ne);for(let Xe of ut)Xe.recalculate(Ve,Ye)}class u{constructor(Ne,Ye,Ve){this.actor=Ne,this.layerIndex=Ye,this.availableImages=Ve,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(Ne,Ye){return i._(this,void 0,void 0,function*(){let Ve=yield i.l(Ne.request,Ye);try{return{vectorTile:new i.bt.VectorTile(new i.bu(Ve.data)),rawData:Ve.data,cacheControl:Ve.cacheControl,expires:Ve.expires}}catch(Xe){let ht=new Uint8Array(Ve.data),Le=`Unable to parse the tile at ${Ne.request.url}, `;throw Le+=ht[0]===31&&ht[1]===139?\"please make sure the data is not gzipped and that you have configured the relevant header in the server\":`got error: ${Xe.message}`,new Error(Le)}})}loadTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=Ne.uid,Ve=!!(Ne&&Ne.request&&Ne.request.collectResourceTiming)&&new i.bv(Ne.request),Xe=new s(Ne);this.loading[Ye]=Xe;let ht=new AbortController;Xe.abort=ht;try{let Le=yield this.loadVectorTile(Ne,ht);if(delete this.loading[Ye],!Le)return null;let xe=Le.rawData,Se={};Le.expires&&(Se.expires=Le.expires),Le.cacheControl&&(Se.cacheControl=Le.cacheControl);let lt={};if(Ve){let Vt=Ve.finish();Vt&&(lt.resourceTiming=JSON.parse(JSON.stringify(Vt)))}Xe.vectorTile=Le.vectorTile;let Gt=Xe.parse(Le.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[Ye]=Xe,this.fetching[Ye]={rawTileData:xe,cacheControl:Se,resourceTiming:lt};try{let Vt=yield Gt;return i.e({rawTileData:xe.slice(0)},Vt,Se,lt)}finally{delete this.fetching[Ye]}}catch(Le){throw delete this.loading[Ye],Xe.status=\"done\",this.loaded[Ye]=Xe,Le}})}reloadTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=Ne.uid;if(!this.loaded||!this.loaded[Ye])throw new Error(\"Should not be trying to reload a tile that was never loaded or has been removed\");let Ve=this.loaded[Ye];if(Ve.showCollisionBoxes=Ne.showCollisionBoxes,Ve.status===\"parsing\"){let Xe=yield Ve.parse(Ve.vectorTile,this.layerIndex,this.availableImages,this.actor),ht;if(this.fetching[Ye]){let{rawTileData:Le,cacheControl:xe,resourceTiming:Se}=this.fetching[Ye];delete this.fetching[Ye],ht=i.e({rawTileData:Le.slice(0)},Xe,xe,Se)}else ht=Xe;return ht}if(Ve.status===\"done\"&&Ve.vectorTile)return Ve.parse(Ve.vectorTile,this.layerIndex,this.availableImages,this.actor)})}abortTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=this.loading,Ve=Ne.uid;Ye&&Ye[Ve]&&Ye[Ve].abort&&(Ye[Ve].abort.abort(),delete Ye[Ve])})}removeTile(Ne){return i._(this,void 0,void 0,function*(){this.loaded&&this.loaded[Ne.uid]&&delete this.loaded[Ne.uid]})}}class c{constructor(){this.loaded={}}loadTile(Ne){return i._(this,void 0,void 0,function*(){let{uid:Ye,encoding:Ve,rawImageData:Xe,redFactor:ht,greenFactor:Le,blueFactor:xe,baseShift:Se}=Ne,lt=Xe.width+2,Gt=Xe.height+2,Vt=i.b(Xe)?new i.R({width:lt,height:Gt},yield i.bw(Xe,-1,-1,lt,Gt)):Xe,ar=new i.bx(Ye,Vt,Ve,ht,Le,xe,Se);return this.loaded=this.loaded||{},this.loaded[Ye]=ar,ar})}removeTile(Ne){let Ye=this.loaded,Ve=Ne.uid;Ye&&Ye[Ve]&&delete Ye[Ve]}}function f(ut,Ne){if(ut.length!==0){h(ut[0],Ne);for(var Ye=1;Ye<ut.length;Ye++)h(ut[Ye],!Ne)}}function h(ut,Ne){for(var Ye=0,Ve=0,Xe=0,ht=ut.length,Le=ht-1;Xe<ht;Le=Xe++){var xe=(ut[Xe][0]-ut[Le][0])*(ut[Le][1]+ut[Xe][1]),Se=Ye+xe;Ve+=Math.abs(Ye)>=Math.abs(xe)?Ye-Se+xe:xe-Se+Ye,Ye=Se}Ye+Ve>=0!=!!Ne&&ut.reverse()}var d=i.by(function ut(Ne,Ye){var Ve,Xe=Ne&&Ne.type;if(Xe===\"FeatureCollection\")for(Ve=0;Ve<Ne.features.length;Ve++)ut(Ne.features[Ve],Ye);else if(Xe===\"GeometryCollection\")for(Ve=0;Ve<Ne.geometries.length;Ve++)ut(Ne.geometries[Ve],Ye);else if(Xe===\"Feature\")ut(Ne.geometry,Ye);else if(Xe===\"Polygon\")f(Ne.coordinates,Ye);else if(Xe===\"MultiPolygon\")for(Ve=0;Ve<Ne.coordinates.length;Ve++)f(Ne.coordinates[Ve],Ye);return Ne});let v=i.bt.VectorTileFeature.prototype.toGeoJSON;var x={exports:{}},b=i.bz,p=i.bt.VectorTileFeature,E=k;function k(ut,Ne){this.options=Ne||{},this.features=ut,this.length=ut.length}function A(ut,Ne){this.id=typeof ut.id==\"number\"?ut.id:void 0,this.type=ut.type,this.rawGeometry=ut.type===1?[ut.geometry]:ut.geometry,this.properties=ut.tags,this.extent=Ne||4096}k.prototype.feature=function(ut){return new A(this.features[ut],this.options.extent)},A.prototype.loadGeometry=function(){var ut=this.rawGeometry;this.geometry=[];for(var Ne=0;Ne<ut.length;Ne++){for(var Ye=ut[Ne],Ve=[],Xe=0;Xe<Ye.length;Xe++)Ve.push(new b(Ye[Xe][0],Ye[Xe][1]));this.geometry.push(Ve)}return this.geometry},A.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var ut=this.geometry,Ne=1/0,Ye=-1/0,Ve=1/0,Xe=-1/0,ht=0;ht<ut.length;ht++)for(var Le=ut[ht],xe=0;xe<Le.length;xe++){var Se=Le[xe];Ne=Math.min(Ne,Se.x),Ye=Math.max(Ye,Se.x),Ve=Math.min(Ve,Se.y),Xe=Math.max(Xe,Se.y)}return[Ne,Ve,Ye,Xe]},A.prototype.toGeoJSON=p.prototype.toGeoJSON;var L=i.bA,_=E;function C(ut){var Ne=new L;return function(Ye,Ve){for(var Xe in Ye.layers)Ve.writeMessage(3,M,Ye.layers[Xe])}(ut,Ne),Ne.finish()}function M(ut,Ne){var Ye;Ne.writeVarintField(15,ut.version||1),Ne.writeStringField(1,ut.name||\"\"),Ne.writeVarintField(5,ut.extent||4096);var Ve={keys:[],values:[],keycache:{},valuecache:{}};for(Ye=0;Ye<ut.length;Ye++)Ve.feature=ut.feature(Ye),Ne.writeMessage(2,g,Ve);var Xe=Ve.keys;for(Ye=0;Ye<Xe.length;Ye++)Ne.writeStringField(3,Xe[Ye]);var ht=Ve.values;for(Ye=0;Ye<ht.length;Ye++)Ne.writeMessage(4,V,ht[Ye])}function g(ut,Ne){var Ye=ut.feature;Ye.id!==void 0&&Ne.writeVarintField(1,Ye.id),Ne.writeMessage(2,P,ut),Ne.writeVarintField(3,Ye.type),Ne.writeMessage(4,q,Ye)}function P(ut,Ne){var Ye=ut.feature,Ve=ut.keys,Xe=ut.values,ht=ut.keycache,Le=ut.valuecache;for(var xe in Ye.properties){var Se=Ye.properties[xe],lt=ht[xe];if(Se!==null){lt===void 0&&(Ve.push(xe),ht[xe]=lt=Ve.length-1),Ne.writeVarint(lt);var Gt=typeof Se;Gt!==\"string\"&&Gt!==\"boolean\"&&Gt!==\"number\"&&(Se=JSON.stringify(Se));var Vt=Gt+\":\"+Se,ar=Le[Vt];ar===void 0&&(Xe.push(Se),Le[Vt]=ar=Xe.length-1),Ne.writeVarint(ar)}}}function T(ut,Ne){return(Ne<<3)+(7&ut)}function F(ut){return ut<<1^ut>>31}function q(ut,Ne){for(var Ye=ut.loadGeometry(),Ve=ut.type,Xe=0,ht=0,Le=Ye.length,xe=0;xe<Le;xe++){var Se=Ye[xe],lt=1;Ve===1&&(lt=Se.length),Ne.writeVarint(T(1,lt));for(var Gt=Ve===3?Se.length-1:Se.length,Vt=0;Vt<Gt;Vt++){Vt===1&&Ve!==1&&Ne.writeVarint(T(2,Gt-1));var ar=Se[Vt].x-Xe,Qr=Se[Vt].y-ht;Ne.writeVarint(F(ar)),Ne.writeVarint(F(Qr)),Xe+=ar,ht+=Qr}Ve===3&&Ne.writeVarint(T(7,1))}}function V(ut,Ne){var Ye=typeof ut;Ye===\"string\"?Ne.writeStringField(1,ut):Ye===\"boolean\"?Ne.writeBooleanField(7,ut):Ye===\"number\"&&(ut%1!=0?Ne.writeDoubleField(3,ut):ut<0?Ne.writeSVarintField(6,ut):Ne.writeVarintField(5,ut))}x.exports=C,x.exports.fromVectorTileJs=C,x.exports.fromGeojsonVt=function(ut,Ne){Ne=Ne||{};var Ye={};for(var Ve in ut)Ye[Ve]=new _(ut[Ve].features,Ne),Ye[Ve].name=Ve,Ye[Ve].version=Ne.version,Ye[Ve].extent=Ne.extent;return C({layers:Ye})},x.exports.GeoJSONWrapper=_;var H=i.by(x.exports);let X={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:ut=>ut},G=Math.fround||(N=new Float32Array(1),ut=>(N[0]=+ut,N[0]));var N;let W=3,re=5,ae=6;class _e{constructor(Ne){this.options=Object.assign(Object.create(X),Ne),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(Ne){let{log:Ye,minZoom:Ve,maxZoom:Xe}=this.options;Ye&&console.time(\"total time\");let ht=`prepare ${Ne.length} points`;Ye&&console.time(ht),this.points=Ne;let Le=[];for(let Se=0;Se<Ne.length;Se++){let lt=Ne[Se];if(!lt.geometry)continue;let[Gt,Vt]=lt.geometry.coordinates,ar=G(ge(Gt)),Qr=G(ie(Vt));Le.push(ar,Qr,1/0,Se,-1,1),this.options.reduce&&Le.push(0)}let xe=this.trees[Xe+1]=this._createTree(Le);Ye&&console.timeEnd(ht);for(let Se=Xe;Se>=Ve;Se--){let lt=+Date.now();xe=this.trees[Se]=this._createTree(this._cluster(xe,Se)),Ye&&console.log(\"z%d: %d clusters in %dms\",Se,xe.numItems,+Date.now()-lt)}return Ye&&console.timeEnd(\"total time\"),this}getClusters(Ne,Ye){let Ve=((Ne[0]+180)%360+360)%360-180,Xe=Math.max(-90,Math.min(90,Ne[1])),ht=Ne[2]===180?180:((Ne[2]+180)%360+360)%360-180,Le=Math.max(-90,Math.min(90,Ne[3]));if(Ne[2]-Ne[0]>=360)Ve=-180,ht=180;else if(Ve>ht){let Vt=this.getClusters([Ve,Xe,180,Le],Ye),ar=this.getClusters([-180,Xe,ht,Le],Ye);return Vt.concat(ar)}let xe=this.trees[this._limitZoom(Ye)],Se=xe.range(ge(Ve),ie(Le),ge(ht),ie(Xe)),lt=xe.data,Gt=[];for(let Vt of Se){let ar=this.stride*Vt;Gt.push(lt[ar+re]>1?Me(lt,ar,this.clusterProps):this.points[lt[ar+W]])}return Gt}getChildren(Ne){let Ye=this._getOriginId(Ne),Ve=this._getOriginZoom(Ne),Xe=\"No cluster with the specified id.\",ht=this.trees[Ve];if(!ht)throw new Error(Xe);let Le=ht.data;if(Ye*this.stride>=Le.length)throw new Error(Xe);let xe=this.options.radius/(this.options.extent*Math.pow(2,Ve-1)),Se=ht.within(Le[Ye*this.stride],Le[Ye*this.stride+1],xe),lt=[];for(let Gt of Se){let Vt=Gt*this.stride;Le[Vt+4]===Ne&<.push(Le[Vt+re]>1?Me(Le,Vt,this.clusterProps):this.points[Le[Vt+W]])}if(lt.length===0)throw new Error(Xe);return lt}getLeaves(Ne,Ye,Ve){let Xe=[];return this._appendLeaves(Xe,Ne,Ye=Ye||10,Ve=Ve||0,0),Xe}getTile(Ne,Ye,Ve){let Xe=this.trees[this._limitZoom(Ne)],ht=Math.pow(2,Ne),{extent:Le,radius:xe}=this.options,Se=xe/Le,lt=(Ve-Se)/ht,Gt=(Ve+1+Se)/ht,Vt={features:[]};return this._addTileFeatures(Xe.range((Ye-Se)/ht,lt,(Ye+1+Se)/ht,Gt),Xe.data,Ye,Ve,ht,Vt),Ye===0&&this._addTileFeatures(Xe.range(1-Se/ht,lt,1,Gt),Xe.data,ht,Ve,ht,Vt),Ye===ht-1&&this._addTileFeatures(Xe.range(0,lt,Se/ht,Gt),Xe.data,-1,Ve,ht,Vt),Vt.features.length?Vt:null}getClusterExpansionZoom(Ne){let Ye=this._getOriginZoom(Ne)-1;for(;Ye<=this.options.maxZoom;){let Ve=this.getChildren(Ne);if(Ye++,Ve.length!==1)break;Ne=Ve[0].properties.cluster_id}return Ye}_appendLeaves(Ne,Ye,Ve,Xe,ht){let Le=this.getChildren(Ye);for(let xe of Le){let Se=xe.properties;if(Se&&Se.cluster?ht+Se.point_count<=Xe?ht+=Se.point_count:ht=this._appendLeaves(Ne,Se.cluster_id,Ve,Xe,ht):ht<Xe?ht++:Ne.push(xe),Ne.length===Ve)break}return ht}_createTree(Ne){let Ye=new i.av(Ne.length/this.stride|0,this.options.nodeSize,Float32Array);for(let Ve=0;Ve<Ne.length;Ve+=this.stride)Ye.add(Ne[Ve],Ne[Ve+1]);return Ye.finish(),Ye.data=Ne,Ye}_addTileFeatures(Ne,Ye,Ve,Xe,ht,Le){for(let xe of Ne){let Se=xe*this.stride,lt=Ye[Se+re]>1,Gt,Vt,ar;if(lt)Gt=ke(Ye,Se,this.clusterProps),Vt=Ye[Se],ar=Ye[Se+1];else{let jr=this.points[Ye[Se+W]];Gt=jr.properties;let[ri,bi]=jr.geometry.coordinates;Vt=ge(ri),ar=ie(bi)}let Qr={type:1,geometry:[[Math.round(this.options.extent*(Vt*ht-Ve)),Math.round(this.options.extent*(ar*ht-Xe))]],tags:Gt},ai;ai=lt||this.options.generateId?Ye[Se+W]:this.points[Ye[Se+W]].id,ai!==void 0&&(Qr.id=ai),Le.features.push(Qr)}}_limitZoom(Ne){return Math.max(this.options.minZoom,Math.min(Math.floor(+Ne),this.options.maxZoom+1))}_cluster(Ne,Ye){let{radius:Ve,extent:Xe,reduce:ht,minPoints:Le}=this.options,xe=Ve/(Xe*Math.pow(2,Ye)),Se=Ne.data,lt=[],Gt=this.stride;for(let Vt=0;Vt<Se.length;Vt+=Gt){if(Se[Vt+2]<=Ye)continue;Se[Vt+2]=Ye;let ar=Se[Vt],Qr=Se[Vt+1],ai=Ne.within(Se[Vt],Se[Vt+1],xe),jr=Se[Vt+re],ri=jr;for(let bi of ai){let nn=bi*Gt;Se[nn+2]>Ye&&(ri+=Se[nn+re])}if(ri>jr&&ri>=Le){let bi,nn=ar*jr,Wi=Qr*jr,Ni=-1,_n=((Vt/Gt|0)<<5)+(Ye+1)+this.points.length;for(let $i of ai){let zn=$i*Gt;if(Se[zn+2]<=Ye)continue;Se[zn+2]=Ye;let Wn=Se[zn+re];nn+=Se[zn]*Wn,Wi+=Se[zn+1]*Wn,Se[zn+4]=_n,ht&&(bi||(bi=this._map(Se,Vt,!0),Ni=this.clusterProps.length,this.clusterProps.push(bi)),ht(bi,this._map(Se,zn)))}Se[Vt+4]=_n,lt.push(nn/ri,Wi/ri,1/0,_n,-1,ri),ht&<.push(Ni)}else{for(let bi=0;bi<Gt;bi++)lt.push(Se[Vt+bi]);if(ri>1)for(let bi of ai){let nn=bi*Gt;if(!(Se[nn+2]<=Ye)){Se[nn+2]=Ye;for(let Wi=0;Wi<Gt;Wi++)lt.push(Se[nn+Wi])}}}}return lt}_getOriginId(Ne){return Ne-this.points.length>>5}_getOriginZoom(Ne){return(Ne-this.points.length)%32}_map(Ne,Ye,Ve){if(Ne[Ye+re]>1){let Le=this.clusterProps[Ne[Ye+ae]];return Ve?Object.assign({},Le):Le}let Xe=this.points[Ne[Ye+W]].properties,ht=this.options.map(Xe);return Ve&&ht===Xe?Object.assign({},ht):ht}}function Me(ut,Ne,Ye){return{type:\"Feature\",id:ut[Ne+W],properties:ke(ut,Ne,Ye),geometry:{type:\"Point\",coordinates:[(Ve=ut[Ne],360*(Ve-.5)),Te(ut[Ne+1])]}};var Ve}function ke(ut,Ne,Ye){let Ve=ut[Ne+re],Xe=Ve>=1e4?`${Math.round(Ve/1e3)}k`:Ve>=1e3?Math.round(Ve/100)/10+\"k\":Ve,ht=ut[Ne+ae],Le=ht===-1?{}:Object.assign({},Ye[ht]);return Object.assign(Le,{cluster:!0,cluster_id:ut[Ne+W],point_count:Ve,point_count_abbreviated:Xe})}function ge(ut){return ut/360+.5}function ie(ut){let Ne=Math.sin(ut*Math.PI/180),Ye=.5-.25*Math.log((1+Ne)/(1-Ne))/Math.PI;return Ye<0?0:Ye>1?1:Ye}function Te(ut){let Ne=(180-360*ut)*Math.PI/180;return 360*Math.atan(Math.exp(Ne))/Math.PI-90}function Ee(ut,Ne,Ye,Ve){let Xe=Ve,ht=Ne+(Ye-Ne>>1),Le,xe=Ye-Ne,Se=ut[Ne],lt=ut[Ne+1],Gt=ut[Ye],Vt=ut[Ye+1];for(let ar=Ne+3;ar<Ye;ar+=3){let Qr=Ae(ut[ar],ut[ar+1],Se,lt,Gt,Vt);if(Qr>Xe)Le=ar,Xe=Qr;else if(Qr===Xe){let ai=Math.abs(ar-ht);ai<xe&&(Le=ar,xe=ai)}}Xe>Ve&&(Le-Ne>3&&Ee(ut,Ne,Le,Ve),ut[Le+2]=Xe,Ye-Le>3&&Ee(ut,Le,Ye,Ve))}function Ae(ut,Ne,Ye,Ve,Xe,ht){let Le=Xe-Ye,xe=ht-Ve;if(Le!==0||xe!==0){let Se=((ut-Ye)*Le+(Ne-Ve)*xe)/(Le*Le+xe*xe);Se>1?(Ye=Xe,Ve=ht):Se>0&&(Ye+=Le*Se,Ve+=xe*Se)}return Le=ut-Ye,xe=Ne-Ve,Le*Le+xe*xe}function ze(ut,Ne,Ye,Ve){let Xe={id:ut==null?null:ut,type:Ne,geometry:Ye,tags:Ve,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(Ne===\"Point\"||Ne===\"MultiPoint\"||Ne===\"LineString\")Ce(Xe,Ye);else if(Ne===\"Polygon\")Ce(Xe,Ye[0]);else if(Ne===\"MultiLineString\")for(let ht of Ye)Ce(Xe,ht);else if(Ne===\"MultiPolygon\")for(let ht of Ye)Ce(Xe,ht[0]);return Xe}function Ce(ut,Ne){for(let Ye=0;Ye<Ne.length;Ye+=3)ut.minX=Math.min(ut.minX,Ne[Ye]),ut.minY=Math.min(ut.minY,Ne[Ye+1]),ut.maxX=Math.max(ut.maxX,Ne[Ye]),ut.maxY=Math.max(ut.maxY,Ne[Ye+1])}function me(ut,Ne,Ye,Ve){if(!Ne.geometry)return;let Xe=Ne.geometry.coordinates;if(Xe&&Xe.length===0)return;let ht=Ne.geometry.type,Le=Math.pow(Ye.tolerance/((1<<Ye.maxZoom)*Ye.extent),2),xe=[],Se=Ne.id;if(Ye.promoteId?Se=Ne.properties[Ye.promoteId]:Ye.generateId&&(Se=Ve||0),ht===\"Point\")Re(Xe,xe);else if(ht===\"MultiPoint\")for(let lt of Xe)Re(lt,xe);else if(ht===\"LineString\")ce(Xe,xe,Le,!1);else if(ht===\"MultiLineString\"){if(Ye.lineMetrics){for(let lt of Xe)xe=[],ce(lt,xe,Le,!1),ut.push(ze(Se,\"LineString\",xe,Ne.properties));return}Ge(Xe,xe,Le,!1)}else if(ht===\"Polygon\")Ge(Xe,xe,Le,!0);else{if(ht!==\"MultiPolygon\"){if(ht===\"GeometryCollection\"){for(let lt of Ne.geometry.geometries)me(ut,{id:Se,geometry:lt,properties:Ne.properties},Ye,Ve);return}throw new Error(\"Input data is not a valid GeoJSON object.\")}for(let lt of Xe){let Gt=[];Ge(lt,Gt,Le,!0),xe.push(Gt)}}ut.push(ze(Se,ht,xe,Ne.properties))}function Re(ut,Ne){Ne.push(nt(ut[0]),ct(ut[1]),0)}function ce(ut,Ne,Ye,Ve){let Xe,ht,Le=0;for(let Se=0;Se<ut.length;Se++){let lt=nt(ut[Se][0]),Gt=ct(ut[Se][1]);Ne.push(lt,Gt,0),Se>0&&(Le+=Ve?(Xe*Gt-lt*ht)/2:Math.sqrt(Math.pow(lt-Xe,2)+Math.pow(Gt-ht,2))),Xe=lt,ht=Gt}let xe=Ne.length-3;Ne[2]=1,Ee(Ne,0,xe,Ye),Ne[xe+2]=1,Ne.size=Math.abs(Le),Ne.start=0,Ne.end=Ne.size}function Ge(ut,Ne,Ye,Ve){for(let Xe=0;Xe<ut.length;Xe++){let ht=[];ce(ut[Xe],ht,Ye,Ve),Ne.push(ht)}}function nt(ut){return ut/360+.5}function ct(ut){let Ne=Math.sin(ut*Math.PI/180),Ye=.5-.25*Math.log((1+Ne)/(1-Ne))/Math.PI;return Ye<0?0:Ye>1?1:Ye}function qt(ut,Ne,Ye,Ve,Xe,ht,Le,xe){if(Ve/=Ne,ht>=(Ye/=Ne)&&Le<Ve)return ut;if(Le<Ye||ht>=Ve)return null;let Se=[];for(let lt of ut){let Gt=lt.geometry,Vt=lt.type,ar=Xe===0?lt.minX:lt.minY,Qr=Xe===0?lt.maxX:lt.maxY;if(ar>=Ye&&Qr<Ve){Se.push(lt);continue}if(Qr<Ye||ar>=Ve)continue;let ai=[];if(Vt===\"Point\"||Vt===\"MultiPoint\")rt(Gt,ai,Ye,Ve,Xe);else if(Vt===\"LineString\")ot(Gt,ai,Ye,Ve,Xe,!1,xe.lineMetrics);else if(Vt===\"MultiLineString\")kt(Gt,ai,Ye,Ve,Xe,!1);else if(Vt===\"Polygon\")kt(Gt,ai,Ye,Ve,Xe,!0);else if(Vt===\"MultiPolygon\")for(let jr of Gt){let ri=[];kt(jr,ri,Ye,Ve,Xe,!0),ri.length&&ai.push(ri)}if(ai.length){if(xe.lineMetrics&&Vt===\"LineString\"){for(let jr of ai)Se.push(ze(lt.id,Vt,jr,lt.tags));continue}Vt!==\"LineString\"&&Vt!==\"MultiLineString\"||(ai.length===1?(Vt=\"LineString\",ai=ai[0]):Vt=\"MultiLineString\"),Vt!==\"Point\"&&Vt!==\"MultiPoint\"||(Vt=ai.length===3?\"Point\":\"MultiPoint\"),Se.push(ze(lt.id,Vt,ai,lt.tags))}}return Se.length?Se:null}function rt(ut,Ne,Ye,Ve,Xe){for(let ht=0;ht<ut.length;ht+=3){let Le=ut[ht+Xe];Le>=Ye&&Le<=Ve&&Ct(Ne,ut[ht],ut[ht+1],ut[ht+2])}}function ot(ut,Ne,Ye,Ve,Xe,ht,Le){let xe=Rt(ut),Se=Xe===0?Yt:xr,lt,Gt,Vt=ut.start;for(let ri=0;ri<ut.length-3;ri+=3){let bi=ut[ri],nn=ut[ri+1],Wi=ut[ri+2],Ni=ut[ri+3],_n=ut[ri+4],$i=Xe===0?bi:nn,zn=Xe===0?Ni:_n,Wn=!1;Le&&(lt=Math.sqrt(Math.pow(bi-Ni,2)+Math.pow(nn-_n,2))),$i<Ye?zn>Ye&&(Gt=Se(xe,bi,nn,Ni,_n,Ye),Le&&(xe.start=Vt+lt*Gt)):$i>Ve?zn<Ve&&(Gt=Se(xe,bi,nn,Ni,_n,Ve),Le&&(xe.start=Vt+lt*Gt)):Ct(xe,bi,nn,Wi),zn<Ye&&$i>=Ye&&(Gt=Se(xe,bi,nn,Ni,_n,Ye),Wn=!0),zn>Ve&&$i<=Ve&&(Gt=Se(xe,bi,nn,Ni,_n,Ve),Wn=!0),!ht&&Wn&&(Le&&(xe.end=Vt+lt*Gt),Ne.push(xe),xe=Rt(ut)),Le&&(Vt+=lt)}let ar=ut.length-3,Qr=ut[ar],ai=ut[ar+1],jr=Xe===0?Qr:ai;jr>=Ye&&jr<=Ve&&Ct(xe,Qr,ai,ut[ar+2]),ar=xe.length-3,ht&&ar>=3&&(xe[ar]!==xe[0]||xe[ar+1]!==xe[1])&&Ct(xe,xe[0],xe[1],xe[2]),xe.length&&Ne.push(xe)}function Rt(ut){let Ne=[];return Ne.size=ut.size,Ne.start=ut.start,Ne.end=ut.end,Ne}function kt(ut,Ne,Ye,Ve,Xe,ht){for(let Le of ut)ot(Le,Ne,Ye,Ve,Xe,ht,!1)}function Ct(ut,Ne,Ye,Ve){ut.push(Ne,Ye,Ve)}function Yt(ut,Ne,Ye,Ve,Xe,ht){let Le=(ht-Ne)/(Ve-Ne);return Ct(ut,ht,Ye+(Xe-Ye)*Le,1),Le}function xr(ut,Ne,Ye,Ve,Xe,ht){let Le=(ht-Ye)/(Xe-Ye);return Ct(ut,Ne+(Ve-Ne)*Le,ht,1),Le}function er(ut,Ne){let Ye=[];for(let Ve=0;Ve<ut.length;Ve++){let Xe=ut[Ve],ht=Xe.type,Le;if(ht===\"Point\"||ht===\"MultiPoint\"||ht===\"LineString\")Le=Ke(Xe.geometry,Ne);else if(ht===\"MultiLineString\"||ht===\"Polygon\"){Le=[];for(let xe of Xe.geometry)Le.push(Ke(xe,Ne))}else if(ht===\"MultiPolygon\"){Le=[];for(let xe of Xe.geometry){let Se=[];for(let lt of xe)Se.push(Ke(lt,Ne));Le.push(Se)}}Ye.push(ze(Xe.id,ht,Le,Xe.tags))}return Ye}function Ke(ut,Ne){let Ye=[];Ye.size=ut.size,ut.start!==void 0&&(Ye.start=ut.start,Ye.end=ut.end);for(let Ve=0;Ve<ut.length;Ve+=3)Ye.push(ut[Ve]+Ne,ut[Ve+1],ut[Ve+2]);return Ye}function xt(ut,Ne){if(ut.transformed)return ut;let Ye=1<<ut.z,Ve=ut.x,Xe=ut.y;for(let ht of ut.features){let Le=ht.geometry,xe=ht.type;if(ht.geometry=[],xe===1)for(let Se=0;Se<Le.length;Se+=2)ht.geometry.push(bt(Le[Se],Le[Se+1],Ne,Ye,Ve,Xe));else for(let Se=0;Se<Le.length;Se++){let lt=[];for(let Gt=0;Gt<Le[Se].length;Gt+=2)lt.push(bt(Le[Se][Gt],Le[Se][Gt+1],Ne,Ye,Ve,Xe));ht.geometry.push(lt)}}return ut.transformed=!0,ut}function bt(ut,Ne,Ye,Ve,Xe,ht){return[Math.round(Ye*(ut*Ve-Xe)),Math.round(Ye*(Ne*Ve-ht))]}function Lt(ut,Ne,Ye,Ve,Xe){let ht=Ne===Xe.maxZoom?0:Xe.tolerance/((1<<Ne)*Xe.extent),Le={features:[],numPoints:0,numSimplified:0,numFeatures:ut.length,source:null,x:Ye,y:Ve,z:Ne,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0};for(let xe of ut)St(Le,xe,ht,Xe);return Le}function St(ut,Ne,Ye,Ve){let Xe=Ne.geometry,ht=Ne.type,Le=[];if(ut.minX=Math.min(ut.minX,Ne.minX),ut.minY=Math.min(ut.minY,Ne.minY),ut.maxX=Math.max(ut.maxX,Ne.maxX),ut.maxY=Math.max(ut.maxY,Ne.maxY),ht===\"Point\"||ht===\"MultiPoint\")for(let xe=0;xe<Xe.length;xe+=3)Le.push(Xe[xe],Xe[xe+1]),ut.numPoints++,ut.numSimplified++;else if(ht===\"LineString\")Et(Le,Xe,ut,Ye,!1,!1);else if(ht===\"MultiLineString\"||ht===\"Polygon\")for(let xe=0;xe<Xe.length;xe++)Et(Le,Xe[xe],ut,Ye,ht===\"Polygon\",xe===0);else if(ht===\"MultiPolygon\")for(let xe=0;xe<Xe.length;xe++){let Se=Xe[xe];for(let lt=0;lt<Se.length;lt++)Et(Le,Se[lt],ut,Ye,!0,lt===0)}if(Le.length){let xe=Ne.tags||null;if(ht===\"LineString\"&&Ve.lineMetrics){xe={};for(let lt in Ne.tags)xe[lt]=Ne.tags[lt];xe.mapbox_clip_start=Xe.start/Xe.size,xe.mapbox_clip_end=Xe.end/Xe.size}let Se={geometry:Le,type:ht===\"Polygon\"||ht===\"MultiPolygon\"?3:ht===\"LineString\"||ht===\"MultiLineString\"?2:1,tags:xe};Ne.id!==null&&(Se.id=Ne.id),ut.features.push(Se)}}function Et(ut,Ne,Ye,Ve,Xe,ht){let Le=Ve*Ve;if(Ve>0&&Ne.size<(Xe?Le:Ve))return void(Ye.numPoints+=Ne.length/3);let xe=[];for(let Se=0;Se<Ne.length;Se+=3)(Ve===0||Ne[Se+2]>Le)&&(Ye.numSimplified++,xe.push(Ne[Se],Ne[Se+1])),Ye.numPoints++;Xe&&function(Se,lt){let Gt=0;for(let Vt=0,ar=Se.length,Qr=ar-2;Vt<ar;Qr=Vt,Vt+=2)Gt+=(Se[Vt]-Se[Qr])*(Se[Vt+1]+Se[Qr+1]);if(Gt>0===lt)for(let Vt=0,ar=Se.length;Vt<ar/2;Vt+=2){let Qr=Se[Vt],ai=Se[Vt+1];Se[Vt]=Se[ar-2-Vt],Se[Vt+1]=Se[ar-1-Vt],Se[ar-2-Vt]=Qr,Se[ar-1-Vt]=ai}}(xe,ht),ut.push(xe)}let dt={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0};class Ht{constructor(Ne,Ye){let Ve=(Ye=this.options=function(ht,Le){for(let xe in Le)ht[xe]=Le[xe];return ht}(Object.create(dt),Ye)).debug;if(Ve&&console.time(\"preprocess data\"),Ye.maxZoom<0||Ye.maxZoom>24)throw new Error(\"maxZoom should be in the 0-24 range\");if(Ye.promoteId&&Ye.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");let Xe=function(ht,Le){let xe=[];if(ht.type===\"FeatureCollection\")for(let Se=0;Se<ht.features.length;Se++)me(xe,ht.features[Se],Le,Se);else me(xe,ht.type===\"Feature\"?ht:{geometry:ht},Le);return xe}(Ne,Ye);this.tiles={},this.tileCoords=[],Ve&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",Ye.indexMaxZoom,Ye.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),Xe=function(ht,Le){let xe=Le.buffer/Le.extent,Se=ht,lt=qt(ht,1,-1-xe,xe,0,-1,2,Le),Gt=qt(ht,1,1-xe,2+xe,0,-1,2,Le);return(lt||Gt)&&(Se=qt(ht,1,-xe,1+xe,0,-1,2,Le)||[],lt&&(Se=er(lt,1).concat(Se)),Gt&&(Se=Se.concat(er(Gt,-1)))),Se}(Xe,Ye),Xe.length&&this.splitTile(Xe,0,0,0),Ve&&(Xe.length&&console.log(\"features: %d, points: %d\",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(\"generate tiles\"),console.log(\"tiles generated:\",this.total,JSON.stringify(this.stats)))}splitTile(Ne,Ye,Ve,Xe,ht,Le,xe){let Se=[Ne,Ye,Ve,Xe],lt=this.options,Gt=lt.debug;for(;Se.length;){Xe=Se.pop(),Ve=Se.pop(),Ye=Se.pop(),Ne=Se.pop();let Vt=1<<Ye,ar=$t(Ye,Ve,Xe),Qr=this.tiles[ar];if(!Qr&&(Gt>1&&console.time(\"creation\"),Qr=this.tiles[ar]=Lt(Ne,Ye,Ve,Xe,lt),this.tileCoords.push({z:Ye,x:Ve,y:Xe}),Gt)){Gt>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",Ye,Ve,Xe,Qr.numFeatures,Qr.numPoints,Qr.numSimplified),console.timeEnd(\"creation\"));let Wn=`z${Ye}`;this.stats[Wn]=(this.stats[Wn]||0)+1,this.total++}if(Qr.source=Ne,ht==null){if(Ye===lt.indexMaxZoom||Qr.numPoints<=lt.indexMaxPoints)continue}else{if(Ye===lt.maxZoom||Ye===ht)continue;if(ht!=null){let Wn=ht-Ye;if(Ve!==Le>>Wn||Xe!==xe>>Wn)continue}}if(Qr.source=null,Ne.length===0)continue;Gt>1&&console.time(\"clipping\");let ai=.5*lt.buffer/lt.extent,jr=.5-ai,ri=.5+ai,bi=1+ai,nn=null,Wi=null,Ni=null,_n=null,$i=qt(Ne,Vt,Ve-ai,Ve+ri,0,Qr.minX,Qr.maxX,lt),zn=qt(Ne,Vt,Ve+jr,Ve+bi,0,Qr.minX,Qr.maxX,lt);Ne=null,$i&&(nn=qt($i,Vt,Xe-ai,Xe+ri,1,Qr.minY,Qr.maxY,lt),Wi=qt($i,Vt,Xe+jr,Xe+bi,1,Qr.minY,Qr.maxY,lt),$i=null),zn&&(Ni=qt(zn,Vt,Xe-ai,Xe+ri,1,Qr.minY,Qr.maxY,lt),_n=qt(zn,Vt,Xe+jr,Xe+bi,1,Qr.minY,Qr.maxY,lt),zn=null),Gt>1&&console.timeEnd(\"clipping\"),Se.push(nn||[],Ye+1,2*Ve,2*Xe),Se.push(Wi||[],Ye+1,2*Ve,2*Xe+1),Se.push(Ni||[],Ye+1,2*Ve+1,2*Xe),Se.push(_n||[],Ye+1,2*Ve+1,2*Xe+1)}}getTile(Ne,Ye,Ve){Ne=+Ne,Ye=+Ye,Ve=+Ve;let Xe=this.options,{extent:ht,debug:Le}=Xe;if(Ne<0||Ne>24)return null;let xe=1<<Ne,Se=$t(Ne,Ye=Ye+xe&xe-1,Ve);if(this.tiles[Se])return xt(this.tiles[Se],ht);Le>1&&console.log(\"drilling down to z%d-%d-%d\",Ne,Ye,Ve);let lt,Gt=Ne,Vt=Ye,ar=Ve;for(;!lt&&Gt>0;)Gt--,Vt>>=1,ar>>=1,lt=this.tiles[$t(Gt,Vt,ar)];return lt&<.source?(Le>1&&(console.log(\"found parent tile z%d-%d-%d\",Gt,Vt,ar),console.time(\"drilling down\")),this.splitTile(lt.source,Gt,Vt,ar,Ne,Ye,Ve),Le>1&&console.timeEnd(\"drilling down\"),this.tiles[Se]?xt(this.tiles[Se],ht):null):null}}function $t(ut,Ne,Ye){return 32*((1<<ut)*Ye+Ne)+ut}function fr(ut,Ne){return Ne?ut.properties[Ne]:ut.id}function _r(ut,Ne){if(ut==null)return!0;if(ut.type===\"Feature\")return fr(ut,Ne)!=null;if(ut.type===\"FeatureCollection\"){let Ye=new Set;for(let Ve of ut.features){let Xe=fr(Ve,Ne);if(Xe==null||Ye.has(Xe))return!1;Ye.add(Xe)}return!0}return!1}function Br(ut,Ne){let Ye=new Map;if(ut!=null)if(ut.type===\"Feature\")Ye.set(fr(ut,Ne),ut);else for(let Ve of ut.features)Ye.set(fr(Ve,Ne),Ve);return Ye}class Or extends u{constructor(){super(...arguments),this._dataUpdateable=new Map}loadVectorTile(Ne,Ye){return i._(this,void 0,void 0,function*(){let Ve=Ne.tileID.canonical;if(!this._geoJSONIndex)throw new Error(\"Unable to parse the data into a cluster or geojson\");let Xe=this._geoJSONIndex.getTile(Ve.z,Ve.x,Ve.y);if(!Xe)return null;let ht=new class{constructor(xe){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=i.X,this.length=xe.length,this._features=xe}feature(xe){return new class{constructor(Se){this._feature=Se,this.extent=i.X,this.type=Se.type,this.properties=Se.tags,\"id\"in Se&&!isNaN(Se.id)&&(this.id=parseInt(Se.id,10))}loadGeometry(){if(this._feature.type===1){let Se=[];for(let lt of this._feature.geometry)Se.push([new i.P(lt[0],lt[1])]);return Se}{let Se=[];for(let lt of this._feature.geometry){let Gt=[];for(let Vt of lt)Gt.push(new i.P(Vt[0],Vt[1]));Se.push(Gt)}return Se}}toGeoJSON(Se,lt,Gt){return v.call(this,Se,lt,Gt)}}(this._features[xe])}}(Xe.features),Le=H(ht);return Le.byteOffset===0&&Le.byteLength===Le.buffer.byteLength||(Le=new Uint8Array(Le)),{vectorTile:ht,rawData:Le.buffer}})}loadData(Ne){return i._(this,void 0,void 0,function*(){var Ye;(Ye=this._pendingRequest)===null||Ye===void 0||Ye.abort();let Ve=!!(Ne&&Ne.request&&Ne.request.collectResourceTiming)&&new i.bv(Ne.request);this._pendingRequest=new AbortController;try{this._pendingData=this.loadAndProcessGeoJSON(Ne,this._pendingRequest),this._geoJSONIndex=Ne.cluster?new _e(function({superclusterOptions:Le,clusterProperties:xe}){if(!xe||!Le)return Le;let Se={},lt={},Gt={accumulated:null,zoom:0},Vt={properties:null},ar=Object.keys(xe);for(let Qr of ar){let[ai,jr]=xe[Qr],ri=i.bC(jr),bi=i.bC(typeof ai==\"string\"?[ai,[\"accumulated\"],[\"get\",Qr]]:ai);Se[Qr]=ri.value,lt[Qr]=bi.value}return Le.map=Qr=>{Vt.properties=Qr;let ai={};for(let jr of ar)ai[jr]=Se[jr].evaluate(Gt,Vt);return ai},Le.reduce=(Qr,ai)=>{Vt.properties=ai;for(let jr of ar)Gt.accumulated=Qr[jr],Qr[jr]=lt[jr].evaluate(Gt,Vt)},Le}(Ne)).load((yield this._pendingData).features):(Xe=yield this._pendingData,new Ht(Xe,Ne.geojsonVtOptions)),this.loaded={};let ht={};if(Ve){let Le=Ve.finish();Le&&(ht.resourceTiming={},ht.resourceTiming[Ne.source]=JSON.parse(JSON.stringify(Le)))}return ht}catch(ht){if(delete this._pendingRequest,i.bB(ht))return{abandoned:!0};throw ht}var Xe})}getData(){return i._(this,void 0,void 0,function*(){return this._pendingData})}reloadTile(Ne){let Ye=this.loaded;return Ye&&Ye[Ne.uid]?super.reloadTile(Ne):this.loadTile(Ne)}loadAndProcessGeoJSON(Ne,Ye){return i._(this,void 0,void 0,function*(){let Ve=yield this.loadGeoJSON(Ne,Ye);if(delete this._pendingRequest,typeof Ve!=\"object\")throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`);if(d(Ve,!0),Ne.filter){let Xe=i.bC(Ne.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(Xe.result===\"error\")throw new Error(Xe.value.map(Le=>`${Le.key}: ${Le.message}`).join(\", \"));Ve={type:\"FeatureCollection\",features:Ve.features.filter(Le=>Xe.value.evaluate({zoom:0},Le))}}return Ve})}loadGeoJSON(Ne,Ye){return i._(this,void 0,void 0,function*(){let{promoteId:Ve}=Ne;if(Ne.request){let Xe=yield i.h(Ne.request,Ye);return this._dataUpdateable=_r(Xe.data,Ve)?Br(Xe.data,Ve):void 0,Xe.data}if(typeof Ne.data==\"string\")try{let Xe=JSON.parse(Ne.data);return this._dataUpdateable=_r(Xe,Ve)?Br(Xe,Ve):void 0,Xe}catch(Xe){throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`)}if(!Ne.dataDiff)throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${Ne.source}`);return function(Xe,ht,Le){var xe,Se,lt,Gt;if(ht.removeAll&&Xe.clear(),ht.remove)for(let Vt of ht.remove)Xe.delete(Vt);if(ht.add)for(let Vt of ht.add){let ar=fr(Vt,Le);ar!=null&&Xe.set(ar,Vt)}if(ht.update)for(let Vt of ht.update){let ar=Xe.get(Vt.id);if(ar==null)continue;let Qr=!Vt.removeAllProperties&&(((xe=Vt.removeProperties)===null||xe===void 0?void 0:xe.length)>0||((Se=Vt.addOrUpdateProperties)===null||Se===void 0?void 0:Se.length)>0);if((Vt.newGeometry||Vt.removeAllProperties||Qr)&&(ar=Object.assign({},ar),Xe.set(Vt.id,ar),Qr&&(ar.properties=Object.assign({},ar.properties))),Vt.newGeometry&&(ar.geometry=Vt.newGeometry),Vt.removeAllProperties)ar.properties={};else if(((lt=Vt.removeProperties)===null||lt===void 0?void 0:lt.length)>0)for(let ai of Vt.removeProperties)Object.prototype.hasOwnProperty.call(ar.properties,ai)&&delete ar.properties[ai];if(((Gt=Vt.addOrUpdateProperties)===null||Gt===void 0?void 0:Gt.length)>0)for(let{key:ai,value:jr}of Vt.addOrUpdateProperties)ar.properties[ai]=jr}}(this._dataUpdateable,Ne.dataDiff,Ve),{type:\"FeatureCollection\",features:Array.from(this._dataUpdateable.values())}})}removeSource(Ne){return i._(this,void 0,void 0,function*(){this._pendingRequest&&this._pendingRequest.abort()})}getClusterExpansionZoom(Ne){return this._geoJSONIndex.getClusterExpansionZoom(Ne.clusterId)}getClusterChildren(Ne){return this._geoJSONIndex.getChildren(Ne.clusterId)}getClusterLeaves(Ne){return this._geoJSONIndex.getLeaves(Ne.clusterId,Ne.limit,Ne.offset)}}class Nr{constructor(Ne){this.self=Ne,this.actor=new i.F(Ne),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(Ye,Ve)=>{if(this.externalWorkerSourceTypes[Ye])throw new Error(`Worker source with name \"${Ye}\" already registered.`);this.externalWorkerSourceTypes[Ye]=Ve},this.self.addProtocol=i.bi,this.self.removeProtocol=i.bj,this.self.registerRTLTextPlugin=Ye=>{if(i.bD.isParsed())throw new Error(\"RTL text plugin already registered.\");i.bD.setMethods(Ye)},this.actor.registerMessageHandler(\"LDT\",(Ye,Ve)=>this._getDEMWorkerSource(Ye,Ve.source).loadTile(Ve)),this.actor.registerMessageHandler(\"RDT\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getDEMWorkerSource(Ye,Ve.source).removeTile(Ve)})),this.actor.registerMessageHandler(\"GCEZ\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterExpansionZoom(Ve)})),this.actor.registerMessageHandler(\"GCC\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterChildren(Ve)})),this.actor.registerMessageHandler(\"GCL\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterLeaves(Ve)})),this.actor.registerMessageHandler(\"LD\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).loadData(Ve)),this.actor.registerMessageHandler(\"GD\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).getData()),this.actor.registerMessageHandler(\"LT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).loadTile(Ve)),this.actor.registerMessageHandler(\"RT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).reloadTile(Ve)),this.actor.registerMessageHandler(\"AT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).abortTile(Ve)),this.actor.registerMessageHandler(\"RMT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).removeTile(Ve)),this.actor.registerMessageHandler(\"RS\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){if(!this.workerSources[Ye]||!this.workerSources[Ye][Ve.type]||!this.workerSources[Ye][Ve.type][Ve.source])return;let Xe=this.workerSources[Ye][Ve.type][Ve.source];delete this.workerSources[Ye][Ve.type][Ve.source],Xe.removeSource!==void 0&&Xe.removeSource(Ve)})),this.actor.registerMessageHandler(\"RM\",Ye=>i._(this,void 0,void 0,function*(){delete this.layerIndexes[Ye],delete this.availableImages[Ye],delete this.workerSources[Ye],delete this.demWorkerSources[Ye]})),this.actor.registerMessageHandler(\"SR\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this.referrer=Ve})),this.actor.registerMessageHandler(\"SRPS\",(Ye,Ve)=>this._syncRTLPluginState(Ye,Ve)),this.actor.registerMessageHandler(\"IS\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this.self.importScripts(Ve)})),this.actor.registerMessageHandler(\"SI\",(Ye,Ve)=>this._setImages(Ye,Ve)),this.actor.registerMessageHandler(\"UL\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getLayerIndex(Ye).update(Ve.layers,Ve.removedIds)})),this.actor.registerMessageHandler(\"SL\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getLayerIndex(Ye).replace(Ve)}))}_setImages(Ne,Ye){return i._(this,void 0,void 0,function*(){this.availableImages[Ne]=Ye;for(let Ve in this.workerSources[Ne]){let Xe=this.workerSources[Ne][Ve];for(let ht in Xe)Xe[ht].availableImages=Ye}})}_syncRTLPluginState(Ne,Ye){return i._(this,void 0,void 0,function*(){if(i.bD.isParsed())return i.bD.getState();if(Ye.pluginStatus!==\"loading\")return i.bD.setState(Ye),Ye;let Ve=Ye.pluginURL;if(this.self.importScripts(Ve),i.bD.isParsed()){let Xe={pluginStatus:\"loaded\",pluginURL:Ve};return i.bD.setState(Xe),Xe}throw i.bD.setState({pluginStatus:\"error\",pluginURL:\"\"}),new Error(`RTL Text Plugin failed to import scripts from ${Ve}`)})}_getAvailableImages(Ne){let Ye=this.availableImages[Ne];return Ye||(Ye=[]),Ye}_getLayerIndex(Ne){let Ye=this.layerIndexes[Ne];return Ye||(Ye=this.layerIndexes[Ne]=new a),Ye}_getWorkerSource(Ne,Ye,Ve){if(this.workerSources[Ne]||(this.workerSources[Ne]={}),this.workerSources[Ne][Ye]||(this.workerSources[Ne][Ye]={}),!this.workerSources[Ne][Ye][Ve]){let Xe={sendAsync:(ht,Le)=>(ht.targetMapId=Ne,this.actor.sendAsync(ht,Le))};switch(Ye){case\"vector\":this.workerSources[Ne][Ye][Ve]=new u(Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne));break;case\"geojson\":this.workerSources[Ne][Ye][Ve]=new Or(Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne));break;default:this.workerSources[Ne][Ye][Ve]=new this.externalWorkerSourceTypes[Ye](Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne))}}return this.workerSources[Ne][Ye][Ve]}_getDEMWorkerSource(Ne,Ye){return this.demWorkerSources[Ne]||(this.demWorkerSources[Ne]={}),this.demWorkerSources[Ne][Ye]||(this.demWorkerSources[Ne][Ye]=new c),this.demWorkerSources[Ne][Ye]}}return i.i(self)&&(self.worker=new Nr(self)),Nr}),r(\"index\",[\"exports\",\"./shared\"],function(i,a){\"use strict\";var o=\"4.7.1\";let s,l,u={now:typeof performance!=\"undefined\"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:le=>new Promise((w,B)=>{let Q=requestAnimationFrame(w);le.signal.addEventListener(\"abort\",()=>{cancelAnimationFrame(Q),B(a.c())})}),getImageData(le,w=0){return this.getImageCanvasContext(le).getImageData(-w,-w,le.width+2*w,le.height+2*w)},getImageCanvasContext(le){let w=window.document.createElement(\"canvas\"),B=w.getContext(\"2d\",{willReadFrequently:!0});if(!B)throw new Error(\"failed to create canvas 2d context\");return w.width=le.width,w.height=le.height,B.drawImage(le,0,0,le.width,le.height),B},resolveURL:le=>(s||(s=document.createElement(\"a\")),s.href=le,s.href),hardwareConcurrency:typeof navigator!=\"undefined\"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(l==null&&(l=matchMedia(\"(prefers-reduced-motion: reduce)\")),l.matches)}};class c{static testProp(w){if(!c.docStyle)return w[0];for(let B=0;B<w.length;B++)if(w[B]in c.docStyle)return w[B];return w[0]}static create(w,B,Q){let ee=window.document.createElement(w);return B!==void 0&&(ee.className=B),Q&&Q.appendChild(ee),ee}static createNS(w,B){return window.document.createElementNS(w,B)}static disableDrag(){c.docStyle&&c.selectProp&&(c.userSelect=c.docStyle[c.selectProp],c.docStyle[c.selectProp]=\"none\")}static enableDrag(){c.docStyle&&c.selectProp&&(c.docStyle[c.selectProp]=c.userSelect)}static setTransform(w,B){w.style[c.transformProp]=B}static addEventListener(w,B,Q,ee={}){w.addEventListener(B,Q,\"passive\"in ee?ee:ee.capture)}static removeEventListener(w,B,Q,ee={}){w.removeEventListener(B,Q,\"passive\"in ee?ee:ee.capture)}static suppressClickInternal(w){w.preventDefault(),w.stopPropagation(),window.removeEventListener(\"click\",c.suppressClickInternal,!0)}static suppressClick(){window.addEventListener(\"click\",c.suppressClickInternal,!0),window.setTimeout(()=>{window.removeEventListener(\"click\",c.suppressClickInternal,!0)},0)}static getScale(w){let B=w.getBoundingClientRect();return{x:B.width/w.offsetWidth||1,y:B.height/w.offsetHeight||1,boundingClientRect:B}}static getPoint(w,B,Q){let ee=B.boundingClientRect;return new a.P((Q.clientX-ee.left)/B.x-w.clientLeft,(Q.clientY-ee.top)/B.y-w.clientTop)}static mousePos(w,B){let Q=c.getScale(w);return c.getPoint(w,Q,B)}static touchPos(w,B){let Q=[],ee=c.getScale(w);for(let se=0;se<B.length;se++)Q.push(c.getPoint(w,ee,B[se]));return Q}static mouseButton(w){return w.button}static remove(w){w.parentNode&&w.parentNode.removeChild(w)}}c.docStyle=typeof window!=\"undefined\"&&window.document&&window.document.documentElement.style,c.selectProp=c.testProp([\"userSelect\",\"MozUserSelect\",\"WebkitUserSelect\",\"msUserSelect\"]),c.transformProp=c.testProp([\"transform\",\"WebkitTransform\"]);let f={supported:!1,testSupport:function(le){!v&&d&&(x?b(le):h=le)}},h,d,v=!1,x=!1;function b(le){let w=le.createTexture();le.bindTexture(le.TEXTURE_2D,w);try{if(le.texImage2D(le.TEXTURE_2D,0,le.RGBA,le.RGBA,le.UNSIGNED_BYTE,d),le.isContextLost())return;f.supported=!0}catch(B){}le.deleteTexture(w),v=!0}var p;typeof document!=\"undefined\"&&(d=document.createElement(\"img\"),d.onload=()=>{h&&b(h),h=null,x=!0},d.onerror=()=>{v=!0,h=null},d.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\"),function(le){let w,B,Q,ee;le.resetRequestQueue=()=>{w=[],B=0,Q=0,ee={}},le.addThrottleControl=it=>{let yt=Q++;return ee[yt]=it,yt},le.removeThrottleControl=it=>{delete ee[it],qe()},le.getImage=(it,yt,Ot=!0)=>new Promise((Nt,hr)=>{f.supported&&(it.headers||(it.headers={}),it.headers.accept=\"image/webp,*/*\"),a.e(it,{type:\"image\"}),w.push({abortController:yt,requestParameters:it,supportImageRefresh:Ot,state:\"queued\",onError:Sr=>{hr(Sr)},onSuccess:Sr=>{Nt(Sr)}}),qe()});let se=it=>a._(this,void 0,void 0,function*(){it.state=\"running\";let{requestParameters:yt,supportImageRefresh:Ot,onError:Nt,onSuccess:hr,abortController:Sr}=it,he=Ot===!1&&!a.i(self)&&!a.g(yt.url)&&(!yt.headers||Object.keys(yt.headers).reduce((Oe,Je)=>Oe&&Je===\"accept\",!0));B++;let be=he?je(yt,Sr):a.m(yt,Sr);try{let Oe=yield be;delete it.abortController,it.state=\"completed\",Oe.data instanceof HTMLImageElement||a.b(Oe.data)?hr(Oe):Oe.data&&hr({data:yield(Pe=Oe.data,typeof createImageBitmap==\"function\"?a.d(Pe):a.f(Pe)),cacheControl:Oe.cacheControl,expires:Oe.expires})}catch(Oe){delete it.abortController,Nt(Oe)}finally{B--,qe()}var Pe}),qe=()=>{let it=(()=>{for(let yt of Object.keys(ee))if(ee[yt]())return!0;return!1})()?a.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:a.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let yt=B;yt<it&&w.length>0;yt++){let Ot=w.shift();Ot.abortController.signal.aborted?yt--:se(Ot)}},je=(it,yt)=>new Promise((Ot,Nt)=>{let hr=new Image,Sr=it.url,he=it.credentials;he&&he===\"include\"?hr.crossOrigin=\"use-credentials\":(he&&he===\"same-origin\"||!a.s(Sr))&&(hr.crossOrigin=\"anonymous\"),yt.signal.addEventListener(\"abort\",()=>{hr.src=\"\",Nt(a.c())}),hr.fetchPriority=\"high\",hr.onload=()=>{hr.onerror=hr.onload=null,Ot({data:hr})},hr.onerror=()=>{hr.onerror=hr.onload=null,yt.signal.aborted||Nt(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.\"))},hr.src=Sr})}(p||(p={})),p.resetRequestQueue();class E{constructor(w){this._transformRequestFn=w}transformRequest(w,B){return this._transformRequestFn&&this._transformRequestFn(w,B)||{url:w}}setTransformRequest(w){this._transformRequestFn=w}}function k(le){var w=new a.A(3);return w[0]=le[0],w[1]=le[1],w[2]=le[2],w}var A,L=function(le,w,B){return le[0]=w[0]-B[0],le[1]=w[1]-B[1],le[2]=w[2]-B[2],le};A=new a.A(3),a.A!=Float32Array&&(A[0]=0,A[1]=0,A[2]=0);var _=function(le){var w=le[0],B=le[1];return w*w+B*B};function C(le){let w=[];if(typeof le==\"string\")w.push({id:\"default\",url:le});else if(le&&le.length>0){let B=[];for(let{id:Q,url:ee}of le){let se=`${Q}${ee}`;B.indexOf(se)===-1&&(B.push(se),w.push({id:Q,url:ee}))}}return w}function M(le,w,B){let Q=le.split(\"?\");return Q[0]+=`${w}${B}`,Q.join(\"?\")}(function(){var le=new a.A(2);a.A!=Float32Array&&(le[0]=0,le[1]=0)})();class g{constructor(w,B,Q,ee){this.context=w,this.format=Q,this.texture=w.gl.createTexture(),this.update(B,ee)}update(w,B,Q){let{width:ee,height:se}=w,qe=!(this.size&&this.size[0]===ee&&this.size[1]===se||Q),{context:je}=this,{gl:it}=je;if(this.useMipmap=!!(B&&B.useMipmap),it.bindTexture(it.TEXTURE_2D,this.texture),je.pixelStoreUnpackFlipY.set(!1),je.pixelStoreUnpack.set(1),je.pixelStoreUnpackPremultiplyAlpha.set(this.format===it.RGBA&&(!B||B.premultiply!==!1)),qe)this.size=[ee,se],w instanceof HTMLImageElement||w instanceof HTMLCanvasElement||w instanceof HTMLVideoElement||w instanceof ImageData||a.b(w)?it.texImage2D(it.TEXTURE_2D,0,this.format,this.format,it.UNSIGNED_BYTE,w):it.texImage2D(it.TEXTURE_2D,0,this.format,ee,se,0,this.format,it.UNSIGNED_BYTE,w.data);else{let{x:yt,y:Ot}=Q||{x:0,y:0};w instanceof HTMLImageElement||w instanceof HTMLCanvasElement||w instanceof HTMLVideoElement||w instanceof ImageData||a.b(w)?it.texSubImage2D(it.TEXTURE_2D,0,yt,Ot,it.RGBA,it.UNSIGNED_BYTE,w):it.texSubImage2D(it.TEXTURE_2D,0,yt,Ot,ee,se,it.RGBA,it.UNSIGNED_BYTE,w.data)}this.useMipmap&&this.isSizePowerOfTwo()&&it.generateMipmap(it.TEXTURE_2D)}bind(w,B,Q){let{context:ee}=this,{gl:se}=ee;se.bindTexture(se.TEXTURE_2D,this.texture),Q!==se.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(Q=se.LINEAR),w!==this.filter&&(se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MAG_FILTER,w),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MIN_FILTER,Q||w),this.filter=w),B!==this.wrap&&(se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_S,B),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_T,B),this.wrap=B)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:w}=this.context;w.deleteTexture(this.texture),this.texture=null}}function P(le){let{userImage:w}=le;return!!(w&&w.render&&w.render())&&(le.data.replace(new Uint8Array(w.data.buffer)),!0)}class T extends a.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new a.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(w){if(this.loaded!==w&&(this.loaded=w,w)){for(let{ids:B,promiseResolve:Q}of this.requestors)Q(this._getImagesForIds(B));this.requestors=[]}}getImage(w){let B=this.images[w];if(B&&!B.data&&B.spriteData){let Q=B.spriteData;B.data=new a.R({width:Q.width,height:Q.height},Q.context.getImageData(Q.x,Q.y,Q.width,Q.height).data),B.spriteData=null}return B}addImage(w,B){if(this.images[w])throw new Error(`Image id ${w} already exist, use updateImage instead`);this._validate(w,B)&&(this.images[w]=B)}_validate(w,B){let Q=!0,ee=B.data||B.spriteData;return this._validateStretch(B.stretchX,ee&&ee.width)||(this.fire(new a.j(new Error(`Image \"${w}\" has invalid \"stretchX\" value`))),Q=!1),this._validateStretch(B.stretchY,ee&&ee.height)||(this.fire(new a.j(new Error(`Image \"${w}\" has invalid \"stretchY\" value`))),Q=!1),this._validateContent(B.content,B)||(this.fire(new a.j(new Error(`Image \"${w}\" has invalid \"content\" value`))),Q=!1),Q}_validateStretch(w,B){if(!w)return!0;let Q=0;for(let ee of w){if(ee[0]<Q||ee[1]<ee[0]||B<ee[1])return!1;Q=ee[1]}return!0}_validateContent(w,B){if(!w)return!0;if(w.length!==4)return!1;let Q=B.spriteData,ee=Q&&Q.width||B.data.width,se=Q&&Q.height||B.data.height;return!(w[0]<0||ee<w[0]||w[1]<0||se<w[1]||w[2]<0||ee<w[2]||w[3]<0||se<w[3]||w[2]<w[0]||w[3]<w[1])}updateImage(w,B,Q=!0){let ee=this.getImage(w);if(Q&&(ee.data.width!==B.data.width||ee.data.height!==B.data.height))throw new Error(`size mismatch between old image (${ee.data.width}x${ee.data.height}) and new image (${B.data.width}x${B.data.height}).`);B.version=ee.version+1,this.images[w]=B,this.updatedImages[w]=!0}removeImage(w){let B=this.images[w];delete this.images[w],delete this.patterns[w],B.userImage&&B.userImage.onRemove&&B.userImage.onRemove()}listImages(){return Object.keys(this.images)}getImages(w){return new Promise((B,Q)=>{let ee=!0;if(!this.isLoaded())for(let se of w)this.images[se]||(ee=!1);this.isLoaded()||ee?B(this._getImagesForIds(w)):this.requestors.push({ids:w,promiseResolve:B})})}_getImagesForIds(w){let B={};for(let Q of w){let ee=this.getImage(Q);ee||(this.fire(new a.k(\"styleimagemissing\",{id:Q})),ee=this.getImage(Q)),ee?B[Q]={data:ee.data.clone(),pixelRatio:ee.pixelRatio,sdf:ee.sdf,version:ee.version,stretchX:ee.stretchX,stretchY:ee.stretchY,content:ee.content,textFitWidth:ee.textFitWidth,textFitHeight:ee.textFitHeight,hasRenderCallback:!!(ee.userImage&&ee.userImage.render)}:a.w(`Image \"${Q}\" 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 B}getPixelSize(){let{width:w,height:B}=this.atlasImage;return{width:w,height:B}}getPattern(w){let B=this.patterns[w],Q=this.getImage(w);if(!Q)return null;if(B&&B.position.version===Q.version)return B.position;if(B)B.position.version=Q.version;else{let ee={w:Q.data.width+2,h:Q.data.height+2,x:0,y:0},se=new a.I(ee,Q);this.patterns[w]={bin:ee,position:se}}return this._updatePatternAtlas(),this.patterns[w].position}bind(w){let B=w.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new g(w,this.atlasImage,B.RGBA),this.atlasTexture.bind(B.LINEAR,B.CLAMP_TO_EDGE)}_updatePatternAtlas(){let w=[];for(let se in this.patterns)w.push(this.patterns[se].bin);let{w:B,h:Q}=a.p(w),ee=this.atlasImage;ee.resize({width:B||1,height:Q||1});for(let se in this.patterns){let{bin:qe}=this.patterns[se],je=qe.x+1,it=qe.y+1,yt=this.getImage(se).data,Ot=yt.width,Nt=yt.height;a.R.copy(yt,ee,{x:0,y:0},{x:je,y:it},{width:Ot,height:Nt}),a.R.copy(yt,ee,{x:0,y:Nt-1},{x:je,y:it-1},{width:Ot,height:1}),a.R.copy(yt,ee,{x:0,y:0},{x:je,y:it+Nt},{width:Ot,height:1}),a.R.copy(yt,ee,{x:Ot-1,y:0},{x:je-1,y:it},{width:1,height:Nt}),a.R.copy(yt,ee,{x:0,y:0},{x:je+Ot,y:it},{width:1,height:Nt})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(w){for(let B of w){if(this.callbackDispatchedThisFrame[B])continue;this.callbackDispatchedThisFrame[B]=!0;let Q=this.getImage(B);Q||a.w(`Image with ID: \"${B}\" was not found`),P(Q)&&this.updateImage(B,Q)}}}let F=1e20;function q(le,w,B,Q,ee,se,qe,je,it){for(let yt=w;yt<w+Q;yt++)V(le,B*se+yt,se,ee,qe,je,it);for(let yt=B;yt<B+ee;yt++)V(le,yt*se+w,1,Q,qe,je,it)}function V(le,w,B,Q,ee,se,qe){se[0]=0,qe[0]=-F,qe[1]=F,ee[0]=le[w];for(let je=1,it=0,yt=0;je<Q;je++){ee[je]=le[w+je*B];let Ot=je*je;do{let Nt=se[it];yt=(ee[je]-ee[Nt]+Ot-Nt*Nt)/(je-Nt)/2}while(yt<=qe[it]&&--it>-1);it++,se[it]=je,qe[it]=yt,qe[it+1]=F}for(let je=0,it=0;je<Q;je++){for(;qe[it+1]<je;)it++;let yt=se[it],Ot=je-yt;le[w+je*B]=ee[yt]+Ot*Ot}}class H{constructor(w,B){this.requestManager=w,this.localIdeographFontFamily=B,this.entries={}}setURL(w){this.url=w}getGlyphs(w){return a._(this,void 0,void 0,function*(){let B=[];for(let se in w)for(let qe of w[se])B.push(this._getAndCacheGlyphsPromise(se,qe));let Q=yield Promise.all(B),ee={};for(let{stack:se,id:qe,glyph:je}of Q)ee[se]||(ee[se]={}),ee[se][qe]=je&&{id:je.id,bitmap:je.bitmap.clone(),metrics:je.metrics};return ee})}_getAndCacheGlyphsPromise(w,B){return a._(this,void 0,void 0,function*(){let Q=this.entries[w];Q||(Q=this.entries[w]={glyphs:{},requests:{},ranges:{}});let ee=Q.glyphs[B];if(ee!==void 0)return{stack:w,id:B,glyph:ee};if(ee=this._tinySDF(Q,w,B),ee)return Q.glyphs[B]=ee,{stack:w,id:B,glyph:ee};let se=Math.floor(B/256);if(256*se>65535)throw new Error(\"glyphs > 65535 not supported\");if(Q.ranges[se])return{stack:w,id:B,glyph:ee};if(!this.url)throw new Error(\"glyphsUrl is not set\");if(!Q.requests[se]){let je=H.loadGlyphRange(w,se,this.url,this.requestManager);Q.requests[se]=je}let qe=yield Q.requests[se];for(let je in qe)this._doesCharSupportLocalGlyph(+je)||(Q.glyphs[+je]=qe[+je]);return Q.ranges[se]=!0,{stack:w,id:B,glyph:qe[B]||null}})}_doesCharSupportLocalGlyph(w){return!!this.localIdeographFontFamily&&new RegExp(\"\\\\p{Ideo}|\\\\p{sc=Hang}|\\\\p{sc=Hira}|\\\\p{sc=Kana}\",\"u\").test(String.fromCodePoint(w))}_tinySDF(w,B,Q){let ee=this.localIdeographFontFamily;if(!ee||!this._doesCharSupportLocalGlyph(Q))return;let se=w.tinySDF;if(!se){let je=\"400\";/bold/i.test(B)?je=\"900\":/medium/i.test(B)?je=\"500\":/light/i.test(B)&&(je=\"200\"),se=w.tinySDF=new H.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:ee,fontWeight:je})}let qe=se.draw(String.fromCharCode(Q));return{id:Q,bitmap:new a.o({width:qe.width||60,height:qe.height||60},qe.data),metrics:{width:qe.glyphWidth/2||24,height:qe.glyphHeight/2||24,left:qe.glyphLeft/2+.5||0,top:qe.glyphTop/2-27.5||-8,advance:qe.glyphAdvance/2||24,isDoubleResolution:!0}}}}H.loadGlyphRange=function(le,w,B,Q){return a._(this,void 0,void 0,function*(){let ee=256*w,se=ee+255,qe=Q.transformRequest(B.replace(\"{fontstack}\",le).replace(\"{range}\",`${ee}-${se}`),\"Glyphs\"),je=yield a.l(qe,new AbortController);if(!je||!je.data)throw new Error(`Could not load glyph range. range: ${w}, ${ee}-${se}`);let it={};for(let yt of a.n(je.data))it[yt.id]=yt;return it})},H.TinySDF=class{constructor({fontSize:le=24,buffer:w=3,radius:B=8,cutoff:Q=.25,fontFamily:ee=\"sans-serif\",fontWeight:se=\"normal\",fontStyle:qe=\"normal\"}={}){this.buffer=w,this.cutoff=Q,this.radius=B;let je=this.size=le+4*w,it=this._createCanvas(je),yt=this.ctx=it.getContext(\"2d\",{willReadFrequently:!0});yt.font=`${qe} ${se} ${le}px ${ee}`,yt.textBaseline=\"alphabetic\",yt.textAlign=\"left\",yt.fillStyle=\"black\",this.gridOuter=new Float64Array(je*je),this.gridInner=new Float64Array(je*je),this.f=new Float64Array(je),this.z=new Float64Array(je+1),this.v=new Uint16Array(je)}_createCanvas(le){let w=document.createElement(\"canvas\");return w.width=w.height=le,w}draw(le){let{width:w,actualBoundingBoxAscent:B,actualBoundingBoxDescent:Q,actualBoundingBoxLeft:ee,actualBoundingBoxRight:se}=this.ctx.measureText(le),qe=Math.ceil(B),je=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(se-ee))),it=Math.min(this.size-this.buffer,qe+Math.ceil(Q)),yt=je+2*this.buffer,Ot=it+2*this.buffer,Nt=Math.max(yt*Ot,0),hr=new Uint8ClampedArray(Nt),Sr={data:hr,width:yt,height:Ot,glyphWidth:je,glyphHeight:it,glyphTop:qe,glyphLeft:0,glyphAdvance:w};if(je===0||it===0)return Sr;let{ctx:he,buffer:be,gridInner:Pe,gridOuter:Oe}=this;he.clearRect(be,be,je,it),he.fillText(le,be,be+qe);let Je=he.getImageData(be,be,je,it);Oe.fill(F,0,Nt),Pe.fill(0,0,Nt);for(let He=0;He<it;He++)for(let et=0;et<je;et++){let Mt=Je.data[4*(He*je+et)+3]/255;if(Mt===0)continue;let Dt=(He+be)*yt+et+be;if(Mt===1)Oe[Dt]=0,Pe[Dt]=F;else{let Ut=.5-Mt;Oe[Dt]=Ut>0?Ut*Ut:0,Pe[Dt]=Ut<0?Ut*Ut:0}}q(Oe,0,0,yt,Ot,yt,this.f,this.v,this.z),q(Pe,be,be,je,it,yt,this.f,this.v,this.z);for(let He=0;He<Nt;He++){let et=Math.sqrt(Oe[He])-Math.sqrt(Pe[He]);hr[He]=Math.round(255-255*(et/this.radius+this.cutoff))}return Sr}};class X{constructor(){this.specification=a.v.light.position}possiblyEvaluate(w,B){return a.x(w.expression.evaluate(B))}interpolate(w,B,Q){return{x:a.y.number(w.x,B.x,Q),y:a.y.number(w.y,B.y,Q),z:a.y.number(w.z,B.z,Q)}}}let G;class N extends a.E{constructor(w){super(),G=G||new a.q({anchor:new a.D(a.v.light.anchor),position:new X,color:new a.D(a.v.light.color),intensity:new a.D(a.v.light.intensity)}),this._transitionable=new a.T(G),this.setLight(w),this._transitioning=this._transitionable.untransitioned()}getLight(){return this._transitionable.serialize()}setLight(w,B={}){if(!this._validate(a.r,w,B))for(let Q in w){let ee=w[Q];Q.endsWith(\"-transition\")?this._transitionable.setTransition(Q.slice(0,-11),ee):this._transitionable.setValue(Q,ee)}}updateTransitions(w){this._transitioning=this._transitionable.transitioned(w,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(w){this.properties=this._transitioning.possiblyEvaluate(w)}_validate(w,B,Q){return(!Q||Q.validate!==!1)&&a.t(this,w.call(a.u,{value:B,style:{glyphs:!0,sprite:!0},styleSpec:a.v}))}}let W=new a.q({\"sky-color\":new a.D(a.v.sky[\"sky-color\"]),\"horizon-color\":new a.D(a.v.sky[\"horizon-color\"]),\"fog-color\":new a.D(a.v.sky[\"fog-color\"]),\"fog-ground-blend\":new a.D(a.v.sky[\"fog-ground-blend\"]),\"horizon-fog-blend\":new a.D(a.v.sky[\"horizon-fog-blend\"]),\"sky-horizon-blend\":new a.D(a.v.sky[\"sky-horizon-blend\"]),\"atmosphere-blend\":new a.D(a.v.sky[\"atmosphere-blend\"])});class re extends a.E{constructor(w){super(),this._transitionable=new a.T(W),this.setSky(w),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new a.z(0))}setSky(w,B={}){if(!this._validate(a.B,w,B)){w||(w={\"sky-color\":\"transparent\",\"horizon-color\":\"transparent\",\"fog-color\":\"transparent\",\"fog-ground-blend\":1,\"atmosphere-blend\":0});for(let Q in w){let ee=w[Q];Q.endsWith(\"-transition\")?this._transitionable.setTransition(Q.slice(0,-11),ee):this._transitionable.setValue(Q,ee)}}}getSky(){return this._transitionable.serialize()}updateTransitions(w){this._transitioning=this._transitionable.transitioned(w,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(w){this.properties=this._transitioning.possiblyEvaluate(w)}_validate(w,B,Q={}){return(Q==null?void 0:Q.validate)!==!1&&a.t(this,w.call(a.u,a.e({value:B,style:{glyphs:!0,sprite:!0},styleSpec:a.v})))}calculateFogBlendOpacity(w){return w<60?0:w<70?(w-60)/10:1}}class ae{constructor(w,B){this.width=w,this.height=B,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}}getDash(w,B){let Q=w.join(\",\")+String(B);return this.dashEntry[Q]||(this.dashEntry[Q]=this.addDash(w,B)),this.dashEntry[Q]}getDashRanges(w,B,Q){let ee=[],se=w.length%2==1?-w[w.length-1]*Q:0,qe=w[0]*Q,je=!0;ee.push({left:se,right:qe,isDash:je,zeroLength:w[0]===0});let it=w[0];for(let yt=1;yt<w.length;yt++){je=!je;let Ot=w[yt];se=it*Q,it+=Ot,qe=it*Q,ee.push({left:se,right:qe,isDash:je,zeroLength:Ot===0})}return ee}addRoundDash(w,B,Q){let ee=B/2;for(let se=-Q;se<=Q;se++){let qe=this.width*(this.nextRow+Q+se),je=0,it=w[je];for(let yt=0;yt<this.width;yt++){yt/it.right>1&&(it=w[++je]);let Ot=Math.abs(yt-it.left),Nt=Math.abs(yt-it.right),hr=Math.min(Ot,Nt),Sr,he=se/Q*(ee+1);if(it.isDash){let be=ee-Math.abs(he);Sr=Math.sqrt(hr*hr+be*be)}else Sr=ee-Math.sqrt(hr*hr+he*he);this.data[qe+yt]=Math.max(0,Math.min(255,Sr+128))}}}addRegularDash(w){for(let je=w.length-1;je>=0;--je){let it=w[je],yt=w[je+1];it.zeroLength?w.splice(je,1):yt&&yt.isDash===it.isDash&&(yt.left=it.left,w.splice(je,1))}let B=w[0],Q=w[w.length-1];B.isDash===Q.isDash&&(B.left=Q.left-this.width,Q.right=B.right+this.width);let ee=this.width*this.nextRow,se=0,qe=w[se];for(let je=0;je<this.width;je++){je/qe.right>1&&(qe=w[++se]);let it=Math.abs(je-qe.left),yt=Math.abs(je-qe.right),Ot=Math.min(it,yt);this.data[ee+je]=Math.max(0,Math.min(255,(qe.isDash?Ot:-Ot)+128))}}addDash(w,B){let Q=B?7:0,ee=2*Q+1;if(this.nextRow+ee>this.height)return a.w(\"LineAtlas out of space\"),null;let se=0;for(let je=0;je<w.length;je++)se+=w[je];if(se!==0){let je=this.width/se,it=this.getDashRanges(w,this.width,je);B?this.addRoundDash(it,je,Q):this.addRegularDash(it)}let qe={y:(this.nextRow+Q+.5)/this.height,height:2*Q/this.height,width:se};return this.nextRow+=ee,this.dirty=!0,qe}bind(w){let B=w.gl;this.texture?(B.bindTexture(B.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,B.texSubImage2D(B.TEXTURE_2D,0,0,0,this.width,this.height,B.ALPHA,B.UNSIGNED_BYTE,this.data))):(this.texture=B.createTexture(),B.bindTexture(B.TEXTURE_2D,this.texture),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_S,B.REPEAT),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_T,B.REPEAT),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MIN_FILTER,B.LINEAR),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MAG_FILTER,B.LINEAR),B.texImage2D(B.TEXTURE_2D,0,B.ALPHA,this.width,this.height,0,B.ALPHA,B.UNSIGNED_BYTE,this.data))}}let _e=\"maplibre_preloaded_worker_pool\";class Me{constructor(){this.active={}}acquire(w){if(!this.workers)for(this.workers=[];this.workers.length<Me.workerCount;)this.workers.push(new Worker(a.a.WORKER_URL));return this.active[w]=!0,this.workers.slice()}release(w){delete this.active[w],this.numActive()===0&&(this.workers.forEach(B=>{B.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[_e]}numActive(){return Object.keys(this.active).length}}let ke=Math.floor(u.hardwareConcurrency/2),ge,ie;function Te(){return ge||(ge=new Me),ge}Me.workerCount=a.C(globalThis)?Math.max(Math.min(ke,3),1):1;class Ee{constructor(w,B){this.workerPool=w,this.actors=[],this.currentActor=0,this.id=B;let Q=this.workerPool.acquire(B);for(let ee=0;ee<Q.length;ee++){let se=new a.F(Q[ee],B);se.name=`Worker ${ee}`,this.actors.push(se)}if(!this.actors.length)throw new Error(\"No actors found\")}broadcast(w,B){let Q=[];for(let ee of this.actors)Q.push(ee.sendAsync({type:w,data:B}));return Promise.all(Q)}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(w=!0){this.actors.forEach(B=>{B.remove()}),this.actors=[],w&&this.workerPool.release(this.id)}registerMessageHandler(w,B){for(let Q of this.actors)Q.registerMessageHandler(w,B)}}function Ae(){return ie||(ie=new Ee(Te(),a.G),ie.registerMessageHandler(\"GR\",(le,w,B)=>a.m(w,B))),ie}function ze(le,w){let B=a.H();return a.J(B,B,[1,1,0]),a.K(B,B,[.5*le.width,.5*le.height,1]),a.L(B,B,le.calculatePosMatrix(w.toUnwrapped()))}function Ce(le,w,B,Q,ee,se){let qe=function(Nt,hr,Sr){if(Nt)for(let he of Nt){let be=hr[he];if(be&&be.source===Sr&&be.type===\"fill-extrusion\")return!0}else for(let he in hr){let be=hr[he];if(be.source===Sr&&be.type===\"fill-extrusion\")return!0}return!1}(ee&&ee.layers,w,le.id),je=se.maxPitchScaleFactor(),it=le.tilesIn(Q,je,qe);it.sort(me);let yt=[];for(let Nt of it)yt.push({wrappedTileID:Nt.tileID.wrapped().key,queryResults:Nt.tile.queryRenderedFeatures(w,B,le._state,Nt.queryGeometry,Nt.cameraQueryGeometry,Nt.scale,ee,se,je,ze(le.transform,Nt.tileID))});let Ot=function(Nt){let hr={},Sr={};for(let he of Nt){let be=he.queryResults,Pe=he.wrappedTileID,Oe=Sr[Pe]=Sr[Pe]||{};for(let Je in be){let He=be[Je],et=Oe[Je]=Oe[Je]||{},Mt=hr[Je]=hr[Je]||[];for(let Dt of He)et[Dt.featureIndex]||(et[Dt.featureIndex]=!0,Mt.push(Dt))}}return hr}(yt);for(let Nt in Ot)Ot[Nt].forEach(hr=>{let Sr=hr.feature,he=le.getFeatureState(Sr.layer[\"source-layer\"],Sr.id);Sr.source=Sr.layer.source,Sr.layer[\"source-layer\"]&&(Sr.sourceLayer=Sr.layer[\"source-layer\"]),Sr.state=he});return Ot}function me(le,w){let B=le.tileID,Q=w.tileID;return B.overscaledZ-Q.overscaledZ||B.canonical.y-Q.canonical.y||B.wrap-Q.wrap||B.canonical.x-Q.canonical.x}function Re(le,w,B){return a._(this,void 0,void 0,function*(){let Q=le;if(le.url?Q=(yield a.h(w.transformRequest(le.url,\"Source\"),B)).data:yield u.frameAsync(B),!Q)return null;let ee=a.M(a.e(Q,le),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);return\"vector_layers\"in Q&&Q.vector_layers&&(ee.vectorLayerIds=Q.vector_layers.map(se=>se.id)),ee})}class ce{constructor(w,B){w&&(B?this.setSouthWest(w).setNorthEast(B):Array.isArray(w)&&(w.length===4?this.setSouthWest([w[0],w[1]]).setNorthEast([w[2],w[3]]):this.setSouthWest(w[0]).setNorthEast(w[1])))}setNorthEast(w){return this._ne=w instanceof a.N?new a.N(w.lng,w.lat):a.N.convert(w),this}setSouthWest(w){return this._sw=w instanceof a.N?new a.N(w.lng,w.lat):a.N.convert(w),this}extend(w){let B=this._sw,Q=this._ne,ee,se;if(w instanceof a.N)ee=w,se=w;else{if(!(w instanceof ce))return Array.isArray(w)?w.length===4||w.every(Array.isArray)?this.extend(ce.convert(w)):this.extend(a.N.convert(w)):w&&(\"lng\"in w||\"lon\"in w)&&\"lat\"in w?this.extend(a.N.convert(w)):this;if(ee=w._sw,se=w._ne,!ee||!se)return this}return B||Q?(B.lng=Math.min(ee.lng,B.lng),B.lat=Math.min(ee.lat,B.lat),Q.lng=Math.max(se.lng,Q.lng),Q.lat=Math.max(se.lat,Q.lat)):(this._sw=new a.N(ee.lng,ee.lat),this._ne=new a.N(se.lng,se.lat)),this}getCenter(){return new a.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 a.N(this.getWest(),this.getNorth())}getSouthEast(){return new a.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(w){let{lng:B,lat:Q}=a.N.convert(w),ee=this._sw.lng<=B&&B<=this._ne.lng;return this._sw.lng>this._ne.lng&&(ee=this._sw.lng>=B&&B>=this._ne.lng),this._sw.lat<=Q&&Q<=this._ne.lat&&ee}static convert(w){return w instanceof ce?w:w&&new ce(w)}static fromLngLat(w,B=0){let Q=360*B/40075017,ee=Q/Math.cos(Math.PI/180*w.lat);return new ce(new a.N(w.lng-ee,w.lat-Q),new a.N(w.lng+ee,w.lat+Q))}adjustAntiMeridian(){let w=new a.N(this._sw.lng,this._sw.lat),B=new a.N(this._ne.lng,this._ne.lat);return new ce(w,w.lng>B.lng?new a.N(B.lng+360,B.lat):B)}}class Ge{constructor(w,B,Q){this.bounds=ce.convert(this.validateBounds(w)),this.minzoom=B||0,this.maxzoom=Q||24}validateBounds(w){return Array.isArray(w)&&w.length===4?[Math.max(-180,w[0]),Math.max(-90,w[1]),Math.min(180,w[2]),Math.min(90,w[3])]:[-180,-90,180,90]}contains(w){let B=Math.pow(2,w.z),Q=Math.floor(a.O(this.bounds.getWest())*B),ee=Math.floor(a.Q(this.bounds.getNorth())*B),se=Math.ceil(a.O(this.bounds.getEast())*B),qe=Math.ceil(a.Q(this.bounds.getSouth())*B);return w.x>=Q&&w.x<se&&w.y>=ee&&w.y<qe}}class nt extends a.E{constructor(w,B,Q,ee){if(super(),this.id=w,this.dispatcher=Q,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,a.e(this,a.M(B,[\"url\",\"scheme\",\"tileSize\",\"promoteId\"])),this._options=a.e({type:\"vector\"},B),this._collectResourceTiming=B.collectResourceTiming,this.tileSize!==512)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(ee)}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=new AbortController;try{let w=yield Re(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,this.map.style.sourceCaches[this.id].clearTiles(),w&&(a.e(this,w),w.bounds&&(this.tileBounds=new Ge(w.bounds,this.minzoom,this.maxzoom)),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))}catch(w){this._tileJSONRequest=null,this.fire(new a.j(w))}})}loaded(){return this._loaded}hasTile(w){return!this.tileBounds||this.tileBounds.contains(w.canonical)}onAdd(w){this.map=w,this.load()}setSourceProperty(w){this._tileJSONRequest&&this._tileJSONRequest.abort(),w(),this.load()}setTiles(w){return this.setSourceProperty(()=>{this._options.tiles=w}),this}setUrl(w){return this.setSourceProperty(()=>{this.url=w,this._options.url=w}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return a.e({},this._options)}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),Q={request:this.map._requestManager.transformRequest(B,\"Tile\"),uid:w.uid,tileID:w.tileID,zoom:w.tileID.overscaledZ,tileSize:this.tileSize*w.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};Q.request.collectResourceTiming=this._collectResourceTiming;let ee=\"RT\";if(w.actor&&w.state!==\"expired\"){if(w.state===\"loading\")return new Promise((se,qe)=>{w.reloadPromise={resolve:se,reject:qe}})}else w.actor=this.dispatcher.getActor(),ee=\"LT\";w.abortController=new AbortController;try{let se=yield w.actor.sendAsync({type:ee,data:Q},w.abortController);if(delete w.abortController,w.aborted)return;this._afterTileLoadWorkerResponse(w,se)}catch(se){if(delete w.abortController,w.aborted)return;if(se&&se.status!==404)throw se;this._afterTileLoadWorkerResponse(w,null)}})}_afterTileLoadWorkerResponse(w,B){if(B&&B.resourceTiming&&(w.resourceTiming=B.resourceTiming),B&&this.map._refreshExpiredTiles&&w.setExpiryData(B),w.loadVectorData(B,this.map.painter),w.reloadPromise){let Q=w.reloadPromise;w.reloadPromise=null,this.loadTile(w).then(Q.resolve).catch(Q.reject)}}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController),w.actor&&(yield w.actor.sendAsync({type:\"AT\",data:{uid:w.uid,type:this.type,source:this.id}}))})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.unloadVectorData(),w.actor&&(yield w.actor.sendAsync({type:\"RMT\",data:{uid:w.uid,type:this.type,source:this.id}}))})}hasTransition(){return!1}}class ct extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.dispatcher=Q,this.setEventedParent(ee),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=a.e({type:\"raster\"},B),a.e(this,a.M(B,[\"url\",\"scheme\",\"tileSize\"]))}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=new AbortController;try{let w=yield Re(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,w&&(a.e(this,w),w.bounds&&(this.tileBounds=new Ge(w.bounds,this.minzoom,this.maxzoom)),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))}catch(w){this._tileJSONRequest=null,this.fire(new a.j(w))}})}loaded(){return this._loaded}onAdd(w){this.map=w,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(w){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),w(),this.load()}setTiles(w){return this.setSourceProperty(()=>{this._options.tiles=w}),this}setUrl(w){return this.setSourceProperty(()=>{this.url=w,this._options.url=w}),this}serialize(){return a.e({},this._options)}hasTile(w){return!this.tileBounds||this.tileBounds.contains(w.canonical)}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);w.abortController=new AbortController;try{let Q=yield p.getImage(this.map._requestManager.transformRequest(B,\"Tile\"),w.abortController,this.map._refreshExpiredTiles);if(delete w.abortController,w.aborted)return void(w.state=\"unloaded\");if(Q&&Q.data){this.map._refreshExpiredTiles&&Q.cacheControl&&Q.expires&&w.setExpiryData({cacheControl:Q.cacheControl,expires:Q.expires});let ee=this.map.painter.context,se=ee.gl,qe=Q.data;w.texture=this.map.painter.getTileTexture(qe.width),w.texture?w.texture.update(qe,{useMipmap:!0}):(w.texture=new g(ee,qe,se.RGBA,{useMipmap:!0}),w.texture.bind(se.LINEAR,se.CLAMP_TO_EDGE,se.LINEAR_MIPMAP_NEAREST)),w.state=\"loaded\"}}catch(Q){if(delete w.abortController,w.aborted)w.state=\"unloaded\";else if(Q)throw w.state=\"errored\",Q}})}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController)})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.texture&&this.map.painter.saveTileTexture(w.texture)})}hasTransition(){return!1}}class qt extends ct{constructor(w,B,Q,ee){super(w,B,Q,ee),this.type=\"raster-dem\",this.maxzoom=22,this._options=a.e({type:\"raster-dem\"},B),this.encoding=B.encoding||\"mapbox\",this.redFactor=B.redFactor,this.greenFactor=B.greenFactor,this.blueFactor=B.blueFactor,this.baseShift=B.baseShift}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),Q=this.map._requestManager.transformRequest(B,\"Tile\");w.neighboringTiles=this._getNeighboringTiles(w.tileID),w.abortController=new AbortController;try{let ee=yield p.getImage(Q,w.abortController,this.map._refreshExpiredTiles);if(delete w.abortController,w.aborted)return void(w.state=\"unloaded\");if(ee&&ee.data){let se=ee.data;this.map._refreshExpiredTiles&&ee.cacheControl&&ee.expires&&w.setExpiryData({cacheControl:ee.cacheControl,expires:ee.expires});let qe=a.b(se)&&a.U()?se:yield this.readImageNow(se),je={type:this.type,uid:w.uid,source:this.id,rawImageData:qe,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!w.actor||w.state===\"expired\"){w.actor=this.dispatcher.getActor();let it=yield w.actor.sendAsync({type:\"LDT\",data:je});w.dem=it,w.needsHillshadePrepare=!0,w.needsTerrainPrepare=!0,w.state=\"loaded\"}}}catch(ee){if(delete w.abortController,w.aborted)w.state=\"unloaded\";else if(ee)throw w.state=\"errored\",ee}})}readImageNow(w){return a._(this,void 0,void 0,function*(){if(typeof VideoFrame!=\"undefined\"&&a.V()){let B=w.width+2,Q=w.height+2;try{return new a.R({width:B,height:Q},yield a.W(w,-1,-1,B,Q))}catch(ee){}}return u.getImageData(w,1)})}_getNeighboringTiles(w){let B=w.canonical,Q=Math.pow(2,B.z),ee=(B.x-1+Q)%Q,se=B.x===0?w.wrap-1:w.wrap,qe=(B.x+1+Q)%Q,je=B.x+1===Q?w.wrap+1:w.wrap,it={};return it[new a.S(w.overscaledZ,se,B.z,ee,B.y).key]={backfilled:!1},it[new a.S(w.overscaledZ,je,B.z,qe,B.y).key]={backfilled:!1},B.y>0&&(it[new a.S(w.overscaledZ,se,B.z,ee,B.y-1).key]={backfilled:!1},it[new a.S(w.overscaledZ,w.wrap,B.z,B.x,B.y-1).key]={backfilled:!1},it[new a.S(w.overscaledZ,je,B.z,qe,B.y-1).key]={backfilled:!1}),B.y+1<Q&&(it[new a.S(w.overscaledZ,se,B.z,ee,B.y+1).key]={backfilled:!1},it[new a.S(w.overscaledZ,w.wrap,B.z,B.x,B.y+1).key]={backfilled:!1},it[new a.S(w.overscaledZ,je,B.z,qe,B.y+1).key]={backfilled:!1}),it}unloadTile(w){return a._(this,void 0,void 0,function*(){w.demTexture&&this.map.painter.saveTileTexture(w.demTexture),w.fbo&&(w.fbo.destroy(),delete w.fbo),w.dem&&delete w.dem,delete w.neighboringTiles,w.state=\"unloaded\",w.actor&&(yield w.actor.sendAsync({type:\"RDT\",data:{type:this.type,uid:w.uid,source:this.id}}))})}}class rt extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._pendingLoads=0,this.actor=Q.getActor(),this.setEventedParent(ee),this._data=B.data,this._options=a.e({},B),this._collectResourceTiming=B.collectResourceTiming,B.maxzoom!==void 0&&(this.maxzoom=B.maxzoom),B.type&&(this.type=B.type),B.attribution&&(this.attribution=B.attribution),this.promoteId=B.promoteId;let se=a.X/this.tileSize;B.clusterMaxZoom!==void 0&&this.maxzoom<=B.clusterMaxZoom&&a.w(`The maxzoom value \"${this.maxzoom}\" is expected to be greater than the clusterMaxZoom value \"${B.clusterMaxZoom}\".`),this.workerOptions=a.e({source:this.id,cluster:B.cluster||!1,geojsonVtOptions:{buffer:(B.buffer!==void 0?B.buffer:128)*se,tolerance:(B.tolerance!==void 0?B.tolerance:.375)*se,extent:a.X,maxZoom:this.maxzoom,lineMetrics:B.lineMetrics||!1,generateId:B.generateId||!1},superclusterOptions:{maxZoom:B.clusterMaxZoom!==void 0?B.clusterMaxZoom:this.maxzoom-1,minPoints:Math.max(2,B.clusterMinPoints||2),extent:a.X,radius:(B.clusterRadius||50)*se,log:!1,generateId:B.generateId||!1},clusterProperties:B.clusterProperties,filter:B.filter},B.workerOptions),typeof this.promoteId==\"string\"&&(this.workerOptions.promoteId=this.promoteId)}load(){return a._(this,void 0,void 0,function*(){yield this._updateWorkerData()})}onAdd(w){this.map=w,this.load()}setData(w){return this._data=w,this._updateWorkerData(),this}updateData(w){return this._updateWorkerData(w),this}getData(){return a._(this,void 0,void 0,function*(){let w=a.e({type:this.type},this.workerOptions);return this.actor.sendAsync({type:\"GD\",data:w})})}setClusterOptions(w){return this.workerOptions.cluster=w.cluster,w&&(w.clusterRadius!==void 0&&(this.workerOptions.superclusterOptions.radius=w.clusterRadius),w.clusterMaxZoom!==void 0&&(this.workerOptions.superclusterOptions.maxZoom=w.clusterMaxZoom)),this._updateWorkerData(),this}getClusterExpansionZoom(w){return this.actor.sendAsync({type:\"GCEZ\",data:{type:this.type,clusterId:w,source:this.id}})}getClusterChildren(w){return this.actor.sendAsync({type:\"GCC\",data:{type:this.type,clusterId:w,source:this.id}})}getClusterLeaves(w,B,Q){return this.actor.sendAsync({type:\"GCL\",data:{type:this.type,source:this.id,clusterId:w,limit:B,offset:Q}})}_updateWorkerData(w){return a._(this,void 0,void 0,function*(){let B=a.e({type:this.type},this.workerOptions);w?B.dataDiff=w:typeof this._data==\"string\"?(B.request=this.map._requestManager.transformRequest(u.resolveURL(this._data),\"Source\"),B.request.collectResourceTiming=this._collectResourceTiming):B.data=JSON.stringify(this._data),this._pendingLoads++,this.fire(new a.k(\"dataloading\",{dataType:\"source\"}));try{let Q=yield this.actor.sendAsync({type:\"LD\",data:B});if(this._pendingLoads--,this._removed||Q.abandoned)return void this.fire(new a.k(\"dataabort\",{dataType:\"source\"}));let ee=null;Q.resourceTiming&&Q.resourceTiming[this.id]&&(ee=Q.resourceTiming[this.id].slice(0));let se={dataType:\"source\"};this._collectResourceTiming&&ee&&ee.length>0&&a.e(se,{resourceTiming:ee}),this.fire(new a.k(\"data\",Object.assign(Object.assign({},se),{sourceDataType:\"metadata\"}))),this.fire(new a.k(\"data\",Object.assign(Object.assign({},se),{sourceDataType:\"content\"})))}catch(Q){if(this._pendingLoads--,this._removed)return void this.fire(new a.k(\"dataabort\",{dataType:\"source\"}));this.fire(new a.j(Q))}})}loaded(){return this._pendingLoads===0}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.actor?\"RT\":\"LT\";w.actor=this.actor;let Q={type:this.type,uid:w.uid,tileID:w.tileID,zoom:w.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};w.abortController=new AbortController;let ee=yield this.actor.sendAsync({type:B,data:Q},w.abortController);delete w.abortController,w.unloadVectorData(),w.aborted||w.loadVectorData(ee,this.map.painter,B===\"RT\")})}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController),w.aborted=!0})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.unloadVectorData(),yield this.actor.sendAsync({type:\"RMT\",data:{uid:w.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 a.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var ot=a.Y([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);class Rt extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.dispatcher=Q,this.coordinates=B.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(ee),this.options=B}load(w){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,this._request=new AbortController;try{let B=yield p.getImage(this.map._requestManager.transformRequest(this.url,\"Image\"),this._request);this._request=null,this._loaded=!0,B&&B.data&&(this.image=B.data,w&&(this.coordinates=w),this._finishLoading())}catch(B){this._request=null,this._loaded=!0,this.fire(new a.j(B))}})}loaded(){return this._loaded}updateImage(w){return w.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=w.url,this.load(w.coordinates).finally(()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))}onAdd(w){this.map=w,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(w){this.coordinates=w;let B=w.map(a.Z.fromLngLat);this.tileID=function(ee){let se=1/0,qe=1/0,je=-1/0,it=-1/0;for(let hr of ee)se=Math.min(se,hr.x),qe=Math.min(qe,hr.y),je=Math.max(je,hr.x),it=Math.max(it,hr.y);let yt=Math.max(je-se,it-qe),Ot=Math.max(0,Math.floor(-Math.log(yt)/Math.LN2)),Nt=Math.pow(2,Ot);return new a.a1(Ot,Math.floor((se+je)/2*Nt),Math.floor((qe+it)/2*Nt))}(B),this.minzoom=this.maxzoom=this.tileID.z;let Q=B.map(ee=>this.tileID.getTilePoint(ee)._round());return this._boundsArray=new a.$,this._boundsArray.emplaceBack(Q[0].x,Q[0].y,0,0),this._boundsArray.emplaceBack(Q[1].x,Q[1].y,a.X,0),this._boundsArray.emplaceBack(Q[3].x,Q[3].y,0,a.X),this._boundsArray.emplaceBack(Q[2].x,Q[2].y,a.X,a.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let w=this.map.painter.context,B=w.gl;this.boundsBuffer||(this.boundsBuffer=w.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new g(w,this.image,B.RGBA),this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE));let Q=!1;for(let ee in this.tiles){let se=this.tiles[ee];se.state!==\"loaded\"&&(se.state=\"loaded\",se.texture=this.texture,Q=!0)}Q&&this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}loadTile(w){return a._(this,void 0,void 0,function*(){this.tileID&&this.tileID.equals(w.tileID.canonical)?(this.tiles[String(w.tileID.wrap)]=w,w.buckets={}):w.state=\"errored\"})}serialize(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class kt extends Rt{constructor(w,B,Q,ee){super(w,B,Q,ee),this.roundZoom=!0,this.type=\"video\",this.options=B}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1;let w=this.options;this.urls=[];for(let B of w.urls)this.urls.push(this.map._requestManager.transformRequest(B,\"Source\").url);try{let B=yield a.a3(this.urls);if(this._loaded=!0,!B)return;this.video=B,this.video.loop=!0,this.video.addEventListener(\"playing\",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading()}catch(B){this.fire(new a.j(B))}})}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(w){if(this.video){let B=this.video.seekable;w<B.start(0)||w>B.end(0)?this.fire(new a.j(new a.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${B.start(0)} and ${B.end(0)}-second mark.`))):this.video.currentTime=w}}getVideo(){return this.video}onAdd(w){this.map||(this.map=w,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let w=this.map.painter.context,B=w.gl;this.boundsBuffer||(this.boundsBuffer=w.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE),B.texSubImage2D(B.TEXTURE_2D,0,0,0,B.RGBA,B.UNSIGNED_BYTE,this.video)):(this.texture=new g(w,this.video,B.RGBA),this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE));let Q=!1;for(let ee in this.tiles){let se=this.tiles[ee];se.state!==\"loaded\"&&(se.state=\"loaded\",se.texture=this.texture,Q=!0)}Q&&this.fire(new a.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 Ct extends Rt{constructor(w,B,Q,ee){super(w,B,Q,ee),B.coordinates?Array.isArray(B.coordinates)&&B.coordinates.length===4&&!B.coordinates.some(se=>!Array.isArray(se)||se.length!==2||se.some(qe=>typeof qe!=\"number\"))||this.fire(new a.j(new a.a2(`sources.${w}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new a.j(new a.a2(`sources.${w}`,null,'missing required property \"coordinates\"'))),B.animate&&typeof B.animate!=\"boolean\"&&this.fire(new a.j(new a.a2(`sources.${w}`,null,'optional \"animate\" property must be a boolean value'))),B.canvas?typeof B.canvas==\"string\"||B.canvas instanceof HTMLCanvasElement||this.fire(new a.j(new a.a2(`sources.${w}`,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 a.j(new a.a2(`sources.${w}`,null,'missing required property \"canvas\"'))),this.options=B,this.animate=B.animate===void 0||B.animate}load(){return a._(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 a.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(w){this.map=w,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let w=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,w=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,w=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let B=this.map.painter.context,Q=B.gl;this.boundsBuffer||(this.boundsBuffer=B.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture?(w||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new g(B,this.canvas,Q.RGBA,{premultiply:!0});let ee=!1;for(let se in this.tiles){let qe=this.tiles[se];qe.state!==\"loaded\"&&(qe.state=\"loaded\",qe.texture=this.texture,ee=!0)}ee&&this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}serialize(){return{type:\"canvas\",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let w of[this.canvas.width,this.canvas.height])if(isNaN(w)||w<=0)return!0;return!1}}let Yt={},xr=le=>{switch(le){case\"geojson\":return rt;case\"image\":return Rt;case\"raster\":return ct;case\"raster-dem\":return qt;case\"vector\":return nt;case\"video\":return kt;case\"canvas\":return Ct}return Yt[le]},er=\"RTLPluginLoaded\";class Ke extends a.E{constructor(){super(...arguments),this.status=\"unavailable\",this.url=null,this.dispatcher=Ae()}_syncState(w){return this.status=w,this.dispatcher.broadcast(\"SRPS\",{pluginStatus:w,pluginURL:this.url}).catch(B=>{throw this.status=\"error\",B})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status=\"unavailable\",this.url=null}setRTLTextPlugin(w){return a._(this,arguments,void 0,function*(B,Q=!1){if(this.url)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");if(this.url=u.resolveURL(B),!this.url)throw new Error(`requested url ${B} is invalid`);if(this.status===\"unavailable\"){if(!Q)return this._requestImport();this.status=\"deferred\",this._syncState(this.status)}else if(this.status===\"requested\")return this._requestImport()})}_requestImport(){return a._(this,void 0,void 0,function*(){yield this._syncState(\"loading\"),this.status=\"loaded\",this.fire(new a.k(er))})}lazyLoad(){this.status===\"unavailable\"?this.status=\"requested\":this.status===\"deferred\"&&this._requestImport()}}let xt=null;function bt(){return xt||(xt=new Ke),xt}class Lt{constructor(w,B){this.timeAdded=0,this.fadeEndTime=0,this.tileID=w,this.uid=a.a4(),this.uses=0,this.tileSize=B,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(w){let B=w+this.timeAdded;B<this.fadeEndTime||(this.fadeEndTime=B)}wasRequested(){return this.state===\"errored\"||this.state===\"loaded\"||this.state===\"reloading\"}clearTextures(w){this.demTexture&&w.saveTileTexture(this.demTexture),this.demTexture=null}loadVectorData(w,B,Q){if(this.hasData()&&this.unloadVectorData(),this.state=\"loaded\",w){w.featureIndex&&(this.latestFeatureIndex=w.featureIndex,w.rawTileData?(this.latestRawTileData=w.rawTileData,this.latestFeatureIndex.rawTileData=w.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=w.collisionBoxArray,this.buckets=function(ee,se){let qe={};if(!se)return qe;for(let je of ee){let it=je.layerIds.map(yt=>se.getLayer(yt)).filter(Boolean);if(it.length!==0){je.layers=it,je.stateDependentLayerIds&&(je.stateDependentLayers=je.stateDependentLayerIds.map(yt=>it.filter(Ot=>Ot.id===yt)[0]));for(let yt of it)qe[yt.id]=je}}return qe}(w.buckets,B.style),this.hasSymbolBuckets=!1;for(let ee in this.buckets){let se=this.buckets[ee];if(se instanceof a.a6){if(this.hasSymbolBuckets=!0,!Q)break;se.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let ee in this.buckets){let se=this.buckets[ee];if(se instanceof a.a6&&se.hasRTLText){this.hasRTLText=!0,bt().lazyLoad();break}}this.queryPadding=0;for(let ee in this.buckets){let se=this.buckets[ee];this.queryPadding=Math.max(this.queryPadding,B.style.getLayer(ee).queryRadius(se))}w.imageAtlas&&(this.imageAtlas=w.imageAtlas),w.glyphAtlasImage&&(this.glyphAtlasImage=w.glyphAtlasImage)}else this.collisionBoxArray=new a.a5}unloadVectorData(){for(let w in this.buckets)this.buckets[w].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(w){return this.buckets[w.id]}upload(w){for(let Q in this.buckets){let ee=this.buckets[Q];ee.uploadPending()&&ee.upload(w)}let B=w.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new g(w,this.imageAtlas.image,B.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new g(w,this.glyphAtlasImage,B.ALPHA),this.glyphAtlasImage=null)}prepare(w){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(w,this.imageAtlasTexture)}queryRenderedFeatures(w,B,Q,ee,se,qe,je,it,yt,Ot){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:ee,cameraQueryGeometry:se,scale:qe,tileSize:this.tileSize,pixelPosMatrix:Ot,transform:it,params:je,queryPadding:this.queryPadding*yt},w,B,Q):{}}querySourceFeatures(w,B){let Q=this.latestFeatureIndex;if(!Q||!Q.rawTileData)return;let ee=Q.loadVTLayers(),se=B&&B.sourceLayer?B.sourceLayer:\"\",qe=ee._geojsonTileLayer||ee[se];if(!qe)return;let je=a.a7(B&&B.filter),{z:it,x:yt,y:Ot}=this.tileID.canonical,Nt={z:it,x:yt,y:Ot};for(let hr=0;hr<qe.length;hr++){let Sr=qe.feature(hr);if(je.needGeometry){let Pe=a.a8(Sr,!0);if(!je.filter(new a.z(this.tileID.overscaledZ),Pe,this.tileID.canonical))continue}else if(!je.filter(new a.z(this.tileID.overscaledZ),Sr))continue;let he=Q.getId(Sr,se),be=new a.a9(Sr,it,yt,Ot,he);be.tile=Nt,w.push(be)}}hasData(){return this.state===\"loaded\"||this.state===\"reloading\"||this.state===\"expired\"}patternsLoaded(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length}setExpiryData(w){let B=this.expirationTime;if(w.cacheControl){let Q=a.aa(w.cacheControl);Q[\"max-age\"]&&(this.expirationTime=Date.now()+1e3*Q[\"max-age\"])}else w.expires&&(this.expirationTime=new Date(w.expires).getTime());if(this.expirationTime){let Q=Date.now(),ee=!1;if(this.expirationTime>Q)ee=!1;else if(B)if(this.expirationTime<B)ee=!0;else{let se=this.expirationTime-B;se?this.expirationTime=Q+Math.max(se,3e4):ee=!0}else ee=!0;ee?(this.expiredRequestCount++,this.state=\"expired\"):this.expiredRequestCount=0}}getExpiryTimeout(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-new Date().getTime(),Math.pow(2,31)-1)}setFeatureState(w,B){if(!this.latestFeatureIndex||!this.latestFeatureIndex.rawTileData||Object.keys(w).length===0)return;let Q=this.latestFeatureIndex.loadVTLayers();for(let ee in this.buckets){if(!B.style.hasLayer(ee))continue;let se=this.buckets[ee],qe=se.layers[0].sourceLayer||\"_geojsonTileLayer\",je=Q[qe],it=w[qe];if(!je||!it||Object.keys(it).length===0)continue;se.update(it,je,this.imageAtlas&&this.imageAtlas.patternPositions||{});let yt=B&&B.style&&B.style.getLayer(ee);yt&&(this.queryPadding=Math.max(this.queryPadding,yt.queryRadius(se)))}}holdingForFade(){return this.symbolFadeHoldUntil!==void 0}symbolFadeFinished(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<u.now()}clearFadeHold(){this.symbolFadeHoldUntil=void 0}setHoldDuration(w){this.symbolFadeHoldUntil=u.now()+w}setDependencies(w,B){let Q={};for(let ee of B)Q[ee]=!0;this.dependencies[w]=Q}hasDependency(w,B){for(let Q of w){let ee=this.dependencies[Q];if(ee){for(let se of B)if(ee[se])return!0}}return!1}}class St{constructor(w,B){this.max=w,this.onRemove=B,this.reset()}reset(){for(let w in this.data)for(let B of this.data[w])B.timeout&&clearTimeout(B.timeout),this.onRemove(B.value);return this.data={},this.order=[],this}add(w,B,Q){let ee=w.wrapped().key;this.data[ee]===void 0&&(this.data[ee]=[]);let se={value:B,timeout:void 0};if(Q!==void 0&&(se.timeout=setTimeout(()=>{this.remove(w,se)},Q)),this.data[ee].push(se),this.order.push(ee),this.order.length>this.max){let qe=this._getAndRemoveByKey(this.order[0]);qe&&this.onRemove(qe)}return this}has(w){return w.wrapped().key in this.data}getAndRemove(w){return this.has(w)?this._getAndRemoveByKey(w.wrapped().key):null}_getAndRemoveByKey(w){let B=this.data[w].shift();return B.timeout&&clearTimeout(B.timeout),this.data[w].length===0&&delete this.data[w],this.order.splice(this.order.indexOf(w),1),B.value}getByKey(w){let B=this.data[w];return B?B[0].value:null}get(w){return this.has(w)?this.data[w.wrapped().key][0].value:null}remove(w,B){if(!this.has(w))return this;let Q=w.wrapped().key,ee=B===void 0?0:this.data[Q].indexOf(B),se=this.data[Q][ee];return this.data[Q].splice(ee,1),se.timeout&&clearTimeout(se.timeout),this.data[Q].length===0&&delete this.data[Q],this.onRemove(se.value),this.order.splice(this.order.indexOf(Q),1),this}setMaxSize(w){for(this.max=w;this.order.length>this.max;){let B=this._getAndRemoveByKey(this.order[0]);B&&this.onRemove(B)}return this}filter(w){let B=[];for(let Q in this.data)for(let ee of this.data[Q])w(ee.value)||B.push(ee);for(let Q of B)this.remove(Q.value.tileID,Q)}}class Et{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(w,B,Q){let ee=String(B);if(this.stateChanges[w]=this.stateChanges[w]||{},this.stateChanges[w][ee]=this.stateChanges[w][ee]||{},a.e(this.stateChanges[w][ee],Q),this.deletedStates[w]===null){this.deletedStates[w]={};for(let se in this.state[w])se!==ee&&(this.deletedStates[w][se]=null)}else if(this.deletedStates[w]&&this.deletedStates[w][ee]===null){this.deletedStates[w][ee]={};for(let se in this.state[w][ee])Q[se]||(this.deletedStates[w][ee][se]=null)}else for(let se in Q)this.deletedStates[w]&&this.deletedStates[w][ee]&&this.deletedStates[w][ee][se]===null&&delete this.deletedStates[w][ee][se]}removeFeatureState(w,B,Q){if(this.deletedStates[w]===null)return;let ee=String(B);if(this.deletedStates[w]=this.deletedStates[w]||{},Q&&B!==void 0)this.deletedStates[w][ee]!==null&&(this.deletedStates[w][ee]=this.deletedStates[w][ee]||{},this.deletedStates[w][ee][Q]=null);else if(B!==void 0)if(this.stateChanges[w]&&this.stateChanges[w][ee])for(Q in this.deletedStates[w][ee]={},this.stateChanges[w][ee])this.deletedStates[w][ee][Q]=null;else this.deletedStates[w][ee]=null;else this.deletedStates[w]=null}getState(w,B){let Q=String(B),ee=a.e({},(this.state[w]||{})[Q],(this.stateChanges[w]||{})[Q]);if(this.deletedStates[w]===null)return{};if(this.deletedStates[w]){let se=this.deletedStates[w][B];if(se===null)return{};for(let qe in se)delete ee[qe]}return ee}initializeTileState(w,B){w.setFeatureState(this.state,B)}coalesceChanges(w,B){let Q={};for(let ee in this.stateChanges){this.state[ee]=this.state[ee]||{};let se={};for(let qe in this.stateChanges[ee])this.state[ee][qe]||(this.state[ee][qe]={}),a.e(this.state[ee][qe],this.stateChanges[ee][qe]),se[qe]=this.state[ee][qe];Q[ee]=se}for(let ee in this.deletedStates){this.state[ee]=this.state[ee]||{};let se={};if(this.deletedStates[ee]===null)for(let qe in this.state[ee])se[qe]={},this.state[ee][qe]={};else for(let qe in this.deletedStates[ee]){if(this.deletedStates[ee][qe]===null)this.state[ee][qe]={};else for(let je of Object.keys(this.deletedStates[ee][qe]))delete this.state[ee][qe][je];se[qe]=this.state[ee][qe]}Q[ee]=Q[ee]||{},a.e(Q[ee],se)}if(this.stateChanges={},this.deletedStates={},Object.keys(Q).length!==0)for(let ee in w)w[ee].setFeatureState(Q,B)}}class dt extends a.E{constructor(w,B,Q){super(),this.id=w,this.dispatcher=Q,this.on(\"data\",ee=>this._dataHandler(ee)),this.on(\"dataloading\",()=>{this._sourceErrored=!1}),this.on(\"error\",()=>{this._sourceErrored=this._source.loaded()}),this._source=((ee,se,qe,je)=>{let it=new(xr(se.type))(ee,se,qe,je);if(it.id!==ee)throw new Error(`Expected Source id to be ${ee} instead of ${it.id}`);return it})(w,B,Q,this),this._tiles={},this._cache=new St(0,ee=>this._unloadTile(ee)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new Et,this._didEmitContent=!1,this._updated=!1}onAdd(w){this.map=w,this._maxTileCacheSize=w?w._maxTileCacheSize:null,this._maxTileCacheZoomLevels=w?w._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(w)}onRemove(w){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(w)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let w in this._tiles){let B=this._tiles[w];if(B.state!==\"loaded\"&&B.state!==\"errored\")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let w=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,w&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(w,B,Q){return a._(this,void 0,void 0,function*(){try{yield this._source.loadTile(w),this._tileLoaded(w,B,Q)}catch(ee){w.state=\"errored\",ee.status!==404?this._source.fire(new a.j(ee,{tile:w})):this.update(this.transform,this.terrain)}})}_unloadTile(w){this._source.unloadTile&&this._source.unloadTile(w)}_abortTile(w){this._source.abortTile&&this._source.abortTile(w),this._source.fire(new a.k(\"dataabort\",{tile:w,coord:w.tileID,dataType:\"source\"}))}serialize(){return this._source.serialize()}prepare(w){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let B in this._tiles){let Q=this._tiles[B];Q.upload(w),Q.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(w=>w.tileID).sort(Ht).map(w=>w.key)}getRenderableIds(w){let B=[];for(let Q in this._tiles)this._isIdRenderable(Q,w)&&B.push(this._tiles[Q]);return w?B.sort((Q,ee)=>{let se=Q.tileID,qe=ee.tileID,je=new a.P(se.canonical.x,se.canonical.y)._rotate(this.transform.angle),it=new a.P(qe.canonical.x,qe.canonical.y)._rotate(this.transform.angle);return se.overscaledZ-qe.overscaledZ||it.y-je.y||it.x-je.x}).map(Q=>Q.tileID.key):B.map(Q=>Q.tileID).sort(Ht).map(Q=>Q.key)}hasRenderableParent(w){let B=this.findLoadedParent(w,0);return!!B&&this._isIdRenderable(B.tileID.key)}_isIdRenderable(w,B){return this._tiles[w]&&this._tiles[w].hasData()&&!this._coveredTiles[w]&&(B||!this._tiles[w].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let w in this._tiles)this._tiles[w].state!==\"errored\"&&this._reloadTile(w,\"reloading\")}}_reloadTile(w,B){return a._(this,void 0,void 0,function*(){let Q=this._tiles[w];Q&&(Q.state!==\"loading\"&&(Q.state=B),yield this._loadTile(Q,w,B))})}_tileLoaded(w,B,Q){w.timeAdded=u.now(),Q===\"expired\"&&(w.refreshedUponExpiration=!0),this._setTileReloadTimer(B,w),this.getSource().type===\"raster-dem\"&&w.dem&&this._backfillDEM(w),this._state.initializeTileState(w,this.map?this.map.painter:null),w.aborted||this._source.fire(new a.k(\"data\",{dataType:\"source\",tile:w,coord:w.tileID}))}_backfillDEM(w){let B=this.getRenderableIds();for(let ee=0;ee<B.length;ee++){let se=B[ee];if(w.neighboringTiles&&w.neighboringTiles[se]){let qe=this.getTileByID(se);Q(w,qe),Q(qe,w)}}function Q(ee,se){ee.needsHillshadePrepare=!0,ee.needsTerrainPrepare=!0;let qe=se.tileID.canonical.x-ee.tileID.canonical.x,je=se.tileID.canonical.y-ee.tileID.canonical.y,it=Math.pow(2,ee.tileID.canonical.z),yt=se.tileID.key;qe===0&&je===0||Math.abs(je)>1||(Math.abs(qe)>1&&(Math.abs(qe+it)===1?qe+=it:Math.abs(qe-it)===1&&(qe-=it)),se.dem&&ee.dem&&(ee.dem.backfillBorder(se.dem,qe,je),ee.neighboringTiles&&ee.neighboringTiles[yt]&&(ee.neighboringTiles[yt].backfilled=!0)))}}getTile(w){return this.getTileByID(w.key)}getTileByID(w){return this._tiles[w]}_retainLoadedChildren(w,B,Q,ee){for(let se in this._tiles){let qe=this._tiles[se];if(ee[se]||!qe.hasData()||qe.tileID.overscaledZ<=B||qe.tileID.overscaledZ>Q)continue;let je=qe.tileID;for(;qe&&qe.tileID.overscaledZ>B+1;){let yt=qe.tileID.scaledTo(qe.tileID.overscaledZ-1);qe=this._tiles[yt.key],qe&&qe.hasData()&&(je=yt)}let it=je;for(;it.overscaledZ>B;)if(it=it.scaledTo(it.overscaledZ-1),w[it.key]){ee[je.key]=je;break}}}findLoadedParent(w,B){if(w.key in this._loadedParentTiles){let Q=this._loadedParentTiles[w.key];return Q&&Q.tileID.overscaledZ>=B?Q:null}for(let Q=w.overscaledZ-1;Q>=B;Q--){let ee=w.scaledTo(Q),se=this._getLoadedTile(ee);if(se)return se}}findLoadedSibling(w){return this._getLoadedTile(w)}_getLoadedTile(w){let B=this._tiles[w.key];return B&&B.hasData()?B:this._cache.getByKey(w.wrapped().key)}updateCacheSize(w){let B=Math.ceil(w.width/this._source.tileSize)+1,Q=Math.ceil(w.height/this._source.tileSize)+1,ee=Math.floor(B*Q*(this._maxTileCacheZoomLevels===null?a.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),se=typeof this._maxTileCacheSize==\"number\"?Math.min(this._maxTileCacheSize,ee):ee;this._cache.setMaxSize(se)}handleWrapJump(w){let B=Math.round((w-(this._prevLng===void 0?w:this._prevLng))/360);if(this._prevLng=w,B){let Q={};for(let ee in this._tiles){let se=this._tiles[ee];se.tileID=se.tileID.unwrapTo(se.tileID.wrap+B),Q[se.tileID.key]=se}this._tiles=Q;for(let ee in this._timers)clearTimeout(this._timers[ee]),delete this._timers[ee];for(let ee in this._tiles)this._setTileReloadTimer(ee,this._tiles[ee])}}_updateCoveredAndRetainedTiles(w,B,Q,ee,se,qe){let je={},it={},yt=Object.keys(w),Ot=u.now();for(let Nt of yt){let hr=w[Nt],Sr=this._tiles[Nt];if(!Sr||Sr.fadeEndTime!==0&&Sr.fadeEndTime<=Ot)continue;let he=this.findLoadedParent(hr,B),be=this.findLoadedSibling(hr),Pe=he||be||null;Pe&&(this._addTile(Pe.tileID),je[Pe.tileID.key]=Pe.tileID),it[Nt]=hr}this._retainLoadedChildren(it,ee,Q,w);for(let Nt in je)w[Nt]||(this._coveredTiles[Nt]=!0,w[Nt]=je[Nt]);if(qe){let Nt={},hr={};for(let Sr of se)this._tiles[Sr.key].hasData()?Nt[Sr.key]=Sr:hr[Sr.key]=Sr;for(let Sr in hr){let he=hr[Sr].children(this._source.maxzoom);this._tiles[he[0].key]&&this._tiles[he[1].key]&&this._tiles[he[2].key]&&this._tiles[he[3].key]&&(Nt[he[0].key]=w[he[0].key]=he[0],Nt[he[1].key]=w[he[1].key]=he[1],Nt[he[2].key]=w[he[2].key]=he[2],Nt[he[3].key]=w[he[3].key]=he[3],delete hr[Sr])}for(let Sr in hr){let he=hr[Sr],be=this.findLoadedParent(he,this._source.minzoom),Pe=this.findLoadedSibling(he),Oe=be||Pe||null;if(Oe){Nt[Oe.tileID.key]=w[Oe.tileID.key]=Oe.tileID;for(let Je in Nt)Nt[Je].isChildOf(Oe.tileID)&&delete Nt[Je]}}for(let Sr in this._tiles)Nt[Sr]||(this._coveredTiles[Sr]=!0)}}update(w,B){if(!this._sourceLoaded||this._paused)return;let Q;this.transform=w,this.terrain=B,this.updateCacheSize(w),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?Q=w.getVisibleUnwrappedCoordinates(this._source.tileID).map(Ot=>new a.S(Ot.canonical.z,Ot.wrap,Ot.canonical.z,Ot.canonical.x,Ot.canonical.y)):(Q=w.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:B}),this._source.hasTile&&(Q=Q.filter(Ot=>this._source.hasTile(Ot)))):Q=[];let ee=w.coveringZoomLevel(this._source),se=Math.max(ee-dt.maxOverzooming,this._source.minzoom),qe=Math.max(ee+dt.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let Ot={};for(let Nt of Q)if(Nt.canonical.z>this._source.minzoom){let hr=Nt.scaledTo(Nt.canonical.z-1);Ot[hr.key]=hr;let Sr=Nt.scaledTo(Math.max(this._source.minzoom,Math.min(Nt.canonical.z,5)));Ot[Sr.key]=Sr}Q=Q.concat(Object.values(Ot))}let je=Q.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,je&&this.fire(new a.k(\"data\",{sourceDataType:\"idle\",dataType:\"source\",sourceId:this.id}));let it=this._updateRetainedTiles(Q,ee);$t(this._source.type)&&this._updateCoveredAndRetainedTiles(it,se,qe,ee,Q,B);for(let Ot in it)this._tiles[Ot].clearFadeHold();let yt=a.ab(this._tiles,it);for(let Ot of yt){let Nt=this._tiles[Ot];Nt.hasSymbolBuckets&&!Nt.holdingForFade()?Nt.setHoldDuration(this.map._fadeDuration):Nt.hasSymbolBuckets&&!Nt.symbolFadeFinished()||this._removeTile(Ot)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(let w in this._tiles)this._tiles[w].holdingForFade()&&this._removeTile(w)}_updateRetainedTiles(w,B){var Q;let ee={},se={},qe=Math.max(B-dt.maxOverzooming,this._source.minzoom),je=Math.max(B+dt.maxUnderzooming,this._source.minzoom),it={};for(let yt of w){let Ot=this._addTile(yt);ee[yt.key]=yt,Ot.hasData()||B<this._source.maxzoom&&(it[yt.key]=yt)}this._retainLoadedChildren(it,B,je,ee);for(let yt of w){let Ot=this._tiles[yt.key];if(Ot.hasData())continue;if(B+1>this._source.maxzoom){let hr=yt.children(this._source.maxzoom)[0],Sr=this.getTile(hr);if(Sr&&Sr.hasData()){ee[hr.key]=hr;continue}}else{let hr=yt.children(this._source.maxzoom);if(ee[hr[0].key]&&ee[hr[1].key]&&ee[hr[2].key]&&ee[hr[3].key])continue}let Nt=Ot.wasRequested();for(let hr=yt.overscaledZ-1;hr>=qe;--hr){let Sr=yt.scaledTo(hr);if(se[Sr.key])break;if(se[Sr.key]=!0,Ot=this.getTile(Sr),!Ot&&Nt&&(Ot=this._addTile(Sr)),Ot){let he=Ot.hasData();if((he||!(!((Q=this.map)===null||Q===void 0)&&Q.cancelPendingTileRequestsWhileZooming)||Nt)&&(ee[Sr.key]=Sr),Nt=Ot.wasRequested(),he)break}}}return ee}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let w in this._tiles){let B=[],Q,ee=this._tiles[w].tileID;for(;ee.overscaledZ>0;){if(ee.key in this._loadedParentTiles){Q=this._loadedParentTiles[ee.key];break}B.push(ee.key);let se=ee.scaledTo(ee.overscaledZ-1);if(Q=this._getLoadedTile(se),Q)break;ee=se}for(let se of B)this._loadedParentTiles[se]=Q}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(let w in this._tiles){let B=this._tiles[w].tileID,Q=this._getLoadedTile(B);this._loadedSiblingTiles[B.key]=Q}}_addTile(w){let B=this._tiles[w.key];if(B)return B;B=this._cache.getAndRemove(w),B&&(this._setTileReloadTimer(w.key,B),B.tileID=w,this._state.initializeTileState(B,this.map?this.map.painter:null),this._cacheTimers[w.key]&&(clearTimeout(this._cacheTimers[w.key]),delete this._cacheTimers[w.key],this._setTileReloadTimer(w.key,B)));let Q=B;return B||(B=new Lt(w,this._source.tileSize*w.overscaleFactor()),this._loadTile(B,w.key,B.state)),B.uses++,this._tiles[w.key]=B,Q||this._source.fire(new a.k(\"dataloading\",{tile:B,coord:B.tileID,dataType:\"source\"})),B}_setTileReloadTimer(w,B){w in this._timers&&(clearTimeout(this._timers[w]),delete this._timers[w]);let Q=B.getExpiryTimeout();Q&&(this._timers[w]=setTimeout(()=>{this._reloadTile(w,\"expired\"),delete this._timers[w]},Q))}_removeTile(w){let B=this._tiles[w];B&&(B.uses--,delete this._tiles[w],this._timers[w]&&(clearTimeout(this._timers[w]),delete this._timers[w]),B.uses>0||(B.hasData()&&B.state!==\"reloading\"?this._cache.add(B.tileID,B,B.getExpiryTimeout()):(B.aborted=!0,this._abortTile(B),this._unloadTile(B))))}_dataHandler(w){let B=w.sourceDataType;w.dataType===\"source\"&&B===\"metadata\"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&w.dataType===\"source\"&&B===\"content\"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let w in this._tiles)this._removeTile(w);this._cache.reset()}tilesIn(w,B,Q){let ee=[],se=this.transform;if(!se)return ee;let qe=Q?se.getCameraQueryGeometry(w):w,je=w.map(he=>se.pointCoordinate(he,this.terrain)),it=qe.map(he=>se.pointCoordinate(he,this.terrain)),yt=this.getIds(),Ot=1/0,Nt=1/0,hr=-1/0,Sr=-1/0;for(let he of it)Ot=Math.min(Ot,he.x),Nt=Math.min(Nt,he.y),hr=Math.max(hr,he.x),Sr=Math.max(Sr,he.y);for(let he=0;he<yt.length;he++){let be=this._tiles[yt[he]];if(be.holdingForFade())continue;let Pe=be.tileID,Oe=Math.pow(2,se.zoom-be.tileID.overscaledZ),Je=B*be.queryPadding*a.X/be.tileSize/Oe,He=[Pe.getTilePoint(new a.Z(Ot,Nt)),Pe.getTilePoint(new a.Z(hr,Sr))];if(He[0].x-Je<a.X&&He[0].y-Je<a.X&&He[1].x+Je>=0&&He[1].y+Je>=0){let et=je.map(Dt=>Pe.getTilePoint(Dt)),Mt=it.map(Dt=>Pe.getTilePoint(Dt));ee.push({tile:be,tileID:Pe,queryGeometry:et,cameraQueryGeometry:Mt,scale:Oe})}}return ee}getVisibleCoordinates(w){let B=this.getRenderableIds(w).map(Q=>this._tiles[Q].tileID);for(let Q of B)Q.posMatrix=this.transform.calculatePosMatrix(Q.toUnwrapped());return B}hasTransition(){if(this._source.hasTransition())return!0;if($t(this._source.type)){let w=u.now();for(let B in this._tiles)if(this._tiles[B].fadeEndTime>=w)return!0}return!1}setFeatureState(w,B,Q){this._state.updateState(w=w||\"_geojsonTileLayer\",B,Q)}removeFeatureState(w,B,Q){this._state.removeFeatureState(w=w||\"_geojsonTileLayer\",B,Q)}getFeatureState(w,B){return this._state.getState(w=w||\"_geojsonTileLayer\",B)}setDependencies(w,B,Q){let ee=this._tiles[w];ee&&ee.setDependencies(B,Q)}reloadTilesForDependencies(w,B){for(let Q in this._tiles)this._tiles[Q].hasDependency(w,B)&&this._reloadTile(Q,\"reloading\");this._cache.filter(Q=>!Q.hasDependency(w,B))}}function Ht(le,w){let B=Math.abs(2*le.wrap)-+(le.wrap<0),Q=Math.abs(2*w.wrap)-+(w.wrap<0);return le.overscaledZ-w.overscaledZ||Q-B||w.canonical.y-le.canonical.y||w.canonical.x-le.canonical.x}function $t(le){return le===\"raster\"||le===\"image\"||le===\"video\"}dt.maxOverzooming=10,dt.maxUnderzooming=3;class fr{constructor(w,B){this.reset(w,B)}reset(w,B){this.points=w||[],this._distances=[0];for(let Q=1;Q<this.points.length;Q++)this._distances[Q]=this._distances[Q-1]+this.points[Q].dist(this.points[Q-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(B||0,.5*this.length),this.paddedLength=this.length-2*this.padding}lerp(w){if(this.points.length===1)return this.points[0];w=a.ac(w,0,1);let B=1,Q=this._distances[B],ee=w*this.paddedLength+this.padding;for(;Q<ee&&B<this._distances.length;)Q=this._distances[++B];let se=B-1,qe=this._distances[se],je=Q-qe,it=je>0?(ee-qe)/je:0;return this.points[se].mult(1-it).add(this.points[B].mult(it))}}function _r(le,w){let B=!0;return le===\"always\"||le!==\"never\"&&w!==\"never\"||(B=!1),B}class Br{constructor(w,B,Q){let ee=this.boxCells=[],se=this.circleCells=[];this.xCellCount=Math.ceil(w/Q),this.yCellCount=Math.ceil(B/Q);for(let qe=0;qe<this.xCellCount*this.yCellCount;qe++)ee.push([]),se.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=w,this.height=B,this.xScale=this.xCellCount/w,this.yScale=this.yCellCount/B,this.boxUid=0,this.circleUid=0}keysLength(){return this.boxKeys.length+this.circleKeys.length}insert(w,B,Q,ee,se){this._forEachCell(B,Q,ee,se,this._insertBoxCell,this.boxUid++),this.boxKeys.push(w),this.bboxes.push(B),this.bboxes.push(Q),this.bboxes.push(ee),this.bboxes.push(se)}insertCircle(w,B,Q,ee){this._forEachCell(B-ee,Q-ee,B+ee,Q+ee,this._insertCircleCell,this.circleUid++),this.circleKeys.push(w),this.circles.push(B),this.circles.push(Q),this.circles.push(ee)}_insertBoxCell(w,B,Q,ee,se,qe){this.boxCells[se].push(qe)}_insertCircleCell(w,B,Q,ee,se,qe){this.circleCells[se].push(qe)}_query(w,B,Q,ee,se,qe,je){if(Q<0||w>this.width||ee<0||B>this.height)return[];let it=[];if(w<=0&&B<=0&&this.width<=Q&&this.height<=ee){if(se)return[{key:null,x1:w,y1:B,x2:Q,y2:ee}];for(let yt=0;yt<this.boxKeys.length;yt++)it.push({key:this.boxKeys[yt],x1:this.bboxes[4*yt],y1:this.bboxes[4*yt+1],x2:this.bboxes[4*yt+2],y2:this.bboxes[4*yt+3]});for(let yt=0;yt<this.circleKeys.length;yt++){let Ot=this.circles[3*yt],Nt=this.circles[3*yt+1],hr=this.circles[3*yt+2];it.push({key:this.circleKeys[yt],x1:Ot-hr,y1:Nt-hr,x2:Ot+hr,y2:Nt+hr})}}else this._forEachCell(w,B,Q,ee,this._queryCell,it,{hitTest:se,overlapMode:qe,seenUids:{box:{},circle:{}}},je);return it}query(w,B,Q,ee){return this._query(w,B,Q,ee,!1,null)}hitTest(w,B,Q,ee,se,qe){return this._query(w,B,Q,ee,!0,se,qe).length>0}hitTestCircle(w,B,Q,ee,se){let qe=w-Q,je=w+Q,it=B-Q,yt=B+Q;if(je<0||qe>this.width||yt<0||it>this.height)return!1;let Ot=[];return this._forEachCell(qe,it,je,yt,this._queryCellCircle,Ot,{hitTest:!0,overlapMode:ee,circle:{x:w,y:B,radius:Q},seenUids:{box:{},circle:{}}},se),Ot.length>0}_queryCell(w,B,Q,ee,se,qe,je,it){let{seenUids:yt,hitTest:Ot,overlapMode:Nt}=je,hr=this.boxCells[se];if(hr!==null){let he=this.bboxes;for(let be of hr)if(!yt.box[be]){yt.box[be]=!0;let Pe=4*be,Oe=this.boxKeys[be];if(w<=he[Pe+2]&&B<=he[Pe+3]&&Q>=he[Pe+0]&&ee>=he[Pe+1]&&(!it||it(Oe))&&(!Ot||!_r(Nt,Oe.overlapMode))&&(qe.push({key:Oe,x1:he[Pe],y1:he[Pe+1],x2:he[Pe+2],y2:he[Pe+3]}),Ot))return!0}}let Sr=this.circleCells[se];if(Sr!==null){let he=this.circles;for(let be of Sr)if(!yt.circle[be]){yt.circle[be]=!0;let Pe=3*be,Oe=this.circleKeys[be];if(this._circleAndRectCollide(he[Pe],he[Pe+1],he[Pe+2],w,B,Q,ee)&&(!it||it(Oe))&&(!Ot||!_r(Nt,Oe.overlapMode))){let Je=he[Pe],He=he[Pe+1],et=he[Pe+2];if(qe.push({key:Oe,x1:Je-et,y1:He-et,x2:Je+et,y2:He+et}),Ot)return!0}}}return!1}_queryCellCircle(w,B,Q,ee,se,qe,je,it){let{circle:yt,seenUids:Ot,overlapMode:Nt}=je,hr=this.boxCells[se];if(hr!==null){let he=this.bboxes;for(let be of hr)if(!Ot.box[be]){Ot.box[be]=!0;let Pe=4*be,Oe=this.boxKeys[be];if(this._circleAndRectCollide(yt.x,yt.y,yt.radius,he[Pe+0],he[Pe+1],he[Pe+2],he[Pe+3])&&(!it||it(Oe))&&!_r(Nt,Oe.overlapMode))return qe.push(!0),!0}}let Sr=this.circleCells[se];if(Sr!==null){let he=this.circles;for(let be of Sr)if(!Ot.circle[be]){Ot.circle[be]=!0;let Pe=3*be,Oe=this.circleKeys[be];if(this._circlesCollide(he[Pe],he[Pe+1],he[Pe+2],yt.x,yt.y,yt.radius)&&(!it||it(Oe))&&!_r(Nt,Oe.overlapMode))return qe.push(!0),!0}}}_forEachCell(w,B,Q,ee,se,qe,je,it){let yt=this._convertToXCellCoord(w),Ot=this._convertToYCellCoord(B),Nt=this._convertToXCellCoord(Q),hr=this._convertToYCellCoord(ee);for(let Sr=yt;Sr<=Nt;Sr++)for(let he=Ot;he<=hr;he++)if(se.call(this,w,B,Q,ee,this.xCellCount*he+Sr,qe,je,it))return}_convertToXCellCoord(w){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(w*this.xScale)))}_convertToYCellCoord(w){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(w*this.yScale)))}_circlesCollide(w,B,Q,ee,se,qe){let je=ee-w,it=se-B,yt=Q+qe;return yt*yt>je*je+it*it}_circleAndRectCollide(w,B,Q,ee,se,qe,je){let it=(qe-ee)/2,yt=Math.abs(w-(ee+it));if(yt>it+Q)return!1;let Ot=(je-se)/2,Nt=Math.abs(B-(se+Ot));if(Nt>Ot+Q)return!1;if(yt<=it||Nt<=Ot)return!0;let hr=yt-it,Sr=Nt-Ot;return hr*hr+Sr*Sr<=Q*Q}}function Or(le,w,B,Q,ee){let se=a.H();return w?(a.K(se,se,[1/ee,1/ee,1]),B||a.ad(se,se,Q.angle)):a.L(se,Q.labelPlaneMatrix,le),se}function Nr(le,w,B,Q,ee){if(w){let se=a.ae(le);return a.K(se,se,[ee,ee,1]),B||a.ad(se,se,-Q.angle),se}return Q.glCoordMatrix}function ut(le,w,B,Q){let ee;Q?(ee=[le,w,Q(le,w),1],a.af(ee,ee,B)):(ee=[le,w,0,1],jr(ee,ee,B));let se=ee[3];return{point:new a.P(ee[0]/se,ee[1]/se),signedDistanceFromCamera:se,isOccluded:!1}}function Ne(le,w){return .5+le/w*.5}function Ye(le,w){return le.x>=-w[0]&&le.x<=w[0]&&le.y>=-w[1]&&le.y<=w[1]}function Ve(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he){let be=Q?le.textSizeData:le.iconSizeData,Pe=a.ag(be,B.transform.zoom),Oe=[256/B.width*2+1,256/B.height*2+1],Je=Q?le.text.dynamicLayoutVertexArray:le.icon.dynamicLayoutVertexArray;Je.clear();let He=le.lineVertexArray,et=Q?le.text.placedSymbolArray:le.icon.placedSymbolArray,Mt=B.transform.width/B.transform.height,Dt=!1;for(let Ut=0;Ut<et.length;Ut++){let tr=et.get(Ut);if(tr.hidden||tr.writingMode===a.ah.vertical&&!Dt){ai(tr.numGlyphs,Je);continue}Dt=!1;let mr=ut(tr.anchorX,tr.anchorY,w,he);if(!Ye(mr.point,Oe)){ai(tr.numGlyphs,Je);continue}let Rr=Ne(B.transform.cameraToCenterDistance,mr.signedDistanceFromCamera),zr=a.ai(be,Pe,tr),Xr=qe?zr/Rr:zr*Rr,di={getElevation:he,labelPlaneMatrix:ee,lineVertexArray:He,pitchWithMap:qe,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},projection:yt,tileAnchorPoint:new a.P(tr.anchorX,tr.anchorY),unwrappedTileID:Ot,width:Nt,height:hr,translation:Sr},Li=Le(di,tr,Xr,!1,je,w,se,le.glyphOffsetArray,Je,Mt,it);Dt=Li.useVertical,(Li.notEnoughRoom||Dt||Li.needsFlipping&&Le(di,tr,Xr,!0,je,w,se,le.glyphOffsetArray,Je,Mt,it).notEnoughRoom)&&ai(tr.numGlyphs,Je)}Q?le.text.dynamicLayoutVertexBuffer.updateData(Je):le.icon.dynamicLayoutVertexBuffer.updateData(Je)}function Xe(le,w,B,Q,ee,se,qe,je){let it=se.glyphStartIndex+se.numGlyphs,yt=se.lineStartIndex,Ot=se.lineStartIndex+se.lineLength,Nt=w.getoffsetX(se.glyphStartIndex),hr=w.getoffsetX(it-1),Sr=ar(le*Nt,B,Q,ee,se.segment,yt,Ot,je,qe);if(!Sr)return null;let he=ar(le*hr,B,Q,ee,se.segment,yt,Ot,je,qe);return he?je.projectionCache.anyProjectionOccluded?null:{first:Sr,last:he}:null}function ht(le,w,B,Q){return le===a.ah.horizontal&&Math.abs(B.y-w.y)>Math.abs(B.x-w.x)*Q?{useVertical:!0}:(le===a.ah.vertical?w.y<B.y:w.x>B.x)?{needsFlipping:!0}:null}function Le(le,w,B,Q,ee,se,qe,je,it,yt,Ot){let Nt=B/24,hr=w.lineOffsetX*Nt,Sr=w.lineOffsetY*Nt,he;if(w.numGlyphs>1){let be=w.glyphStartIndex+w.numGlyphs,Pe=w.lineStartIndex,Oe=w.lineStartIndex+w.lineLength,Je=Xe(Nt,je,hr,Sr,Q,w,Ot,le);if(!Je)return{notEnoughRoom:!0};let He=ut(Je.first.point.x,Je.first.point.y,qe,le.getElevation).point,et=ut(Je.last.point.x,Je.last.point.y,qe,le.getElevation).point;if(ee&&!Q){let Mt=ht(w.writingMode,He,et,yt);if(Mt)return Mt}he=[Je.first];for(let Mt=w.glyphStartIndex+1;Mt<be-1;Mt++)he.push(ar(Nt*je.getoffsetX(Mt),hr,Sr,Q,w.segment,Pe,Oe,le,Ot));he.push(Je.last)}else{if(ee&&!Q){let Pe=ut(le.tileAnchorPoint.x,le.tileAnchorPoint.y,se,le.getElevation).point,Oe=w.lineStartIndex+w.segment+1,Je=new a.P(le.lineVertexArray.getx(Oe),le.lineVertexArray.gety(Oe)),He=ut(Je.x,Je.y,se,le.getElevation),et=He.signedDistanceFromCamera>0?He.point:function(Dt,Ut,tr,mr,Rr,zr){return xe(Dt,Ut,tr,1,Rr,zr)}(le.tileAnchorPoint,Je,Pe,0,se,le),Mt=ht(w.writingMode,Pe,et,yt);if(Mt)return Mt}let be=ar(Nt*je.getoffsetX(w.glyphStartIndex),hr,Sr,Q,w.segment,w.lineStartIndex,w.lineStartIndex+w.lineLength,le,Ot);if(!be||le.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};he=[be]}for(let be of he)a.aj(it,be.point,be.angle);return{}}function xe(le,w,B,Q,ee,se){let qe=le.add(le.sub(w)._unit()),je=ee!==void 0?ut(qe.x,qe.y,ee,se.getElevation).point:lt(qe.x,qe.y,se).point,it=B.sub(je);return B.add(it._mult(Q/it.mag()))}function Se(le,w,B){let Q=w.projectionCache;if(Q.projections[le])return Q.projections[le];let ee=new a.P(w.lineVertexArray.getx(le),w.lineVertexArray.gety(le)),se=lt(ee.x,ee.y,w);if(se.signedDistanceFromCamera>0)return Q.projections[le]=se.point,Q.anyProjectionOccluded=Q.anyProjectionOccluded||se.isOccluded,se.point;let qe=le-B.direction;return function(je,it,yt,Ot,Nt){return xe(je,it,yt,Ot,void 0,Nt)}(B.distanceFromAnchor===0?w.tileAnchorPoint:new a.P(w.lineVertexArray.getx(qe),w.lineVertexArray.gety(qe)),ee,B.previousVertex,B.absOffsetX-B.distanceFromAnchor+1,w)}function lt(le,w,B){let Q=le+B.translation[0],ee=w+B.translation[1],se;return!B.pitchWithMap&&B.projection.useSpecialProjectionForSymbols?(se=B.projection.projectTileCoordinates(Q,ee,B.unwrappedTileID,B.getElevation),se.point.x=(.5*se.point.x+.5)*B.width,se.point.y=(.5*-se.point.y+.5)*B.height):(se=ut(Q,ee,B.labelPlaneMatrix,B.getElevation),se.isOccluded=!1),se}function Gt(le,w,B){return le._unit()._perp()._mult(w*B)}function Vt(le,w,B,Q,ee,se,qe,je,it){if(je.projectionCache.offsets[le])return je.projectionCache.offsets[le];let yt=B.add(w);if(le+it.direction<Q||le+it.direction>=ee)return je.projectionCache.offsets[le]=yt,yt;let Ot=Se(le+it.direction,je,it),Nt=Gt(Ot.sub(B),qe,it.direction),hr=B.add(Nt),Sr=Ot.add(Nt);return je.projectionCache.offsets[le]=a.ak(se,yt,hr,Sr)||yt,je.projectionCache.offsets[le]}function ar(le,w,B,Q,ee,se,qe,je,it){let yt=Q?le-w:le+w,Ot=yt>0?1:-1,Nt=0;Q&&(Ot*=-1,Nt=Math.PI),Ot<0&&(Nt+=Math.PI);let hr,Sr=Ot>0?se+ee:se+ee+1;je.projectionCache.cachedAnchorPoint?hr=je.projectionCache.cachedAnchorPoint:(hr=lt(je.tileAnchorPoint.x,je.tileAnchorPoint.y,je).point,je.projectionCache.cachedAnchorPoint=hr);let he,be,Pe=hr,Oe=hr,Je=0,He=0,et=Math.abs(yt),Mt=[],Dt;for(;Je+He<=et;){if(Sr+=Ot,Sr<se||Sr>=qe)return null;Je+=He,Oe=Pe,be=he;let mr={absOffsetX:et,direction:Ot,distanceFromAnchor:Je,previousVertex:Oe};if(Pe=Se(Sr,je,mr),B===0)Mt.push(Oe),Dt=Pe.sub(Oe);else{let Rr,zr=Pe.sub(Oe);Rr=zr.mag()===0?Gt(Se(Sr+Ot,je,mr).sub(Pe),B,Ot):Gt(zr,B,Ot),be||(be=Oe.add(Rr)),he=Vt(Sr,Rr,Pe,se,qe,be,B,je,mr),Mt.push(be),Dt=he.sub(be)}He=Dt.mag()}let Ut=Dt._mult((et-Je)/He)._add(be||Oe),tr=Nt+Math.atan2(Pe.y-Oe.y,Pe.x-Oe.x);return Mt.push(Ut),{point:Ut,angle:it?tr:0,path:Mt}}let Qr=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ai(le,w){for(let B=0;B<le;B++){let Q=w.length;w.resize(Q+4),w.float32.set(Qr,3*Q)}}function jr(le,w,B){let Q=w[0],ee=w[1];return le[0]=B[0]*Q+B[4]*ee+B[12],le[1]=B[1]*Q+B[5]*ee+B[13],le[3]=B[3]*Q+B[7]*ee+B[15],le}let ri=100;class bi{constructor(w,B,Q=new Br(w.width+200,w.height+200,25),ee=new Br(w.width+200,w.height+200,25)){this.transform=w,this.mapProjection=B,this.grid=Q,this.ignoredGrid=ee,this.pitchFactor=Math.cos(w._pitch)*w.cameraToCenterDistance,this.screenRightBoundary=w.width+ri,this.screenBottomBoundary=w.height+ri,this.gridRightBoundary=w.width+200,this.gridBottomBoundary=w.height+200,this.perspectiveRatioCutoff=.6}placeCollisionBox(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt){let hr=w.anchorPointX+it[0],Sr=w.anchorPointY+it[1],he=this.projectAndGetPerspectiveRatio(ee,hr,Sr,se,Ot),be=Q*he.perspectiveRatio,Pe;if(qe||je)Pe=this._projectCollisionBox(w,be,ee,se,qe,je,it,he,Ot,Nt);else{let Mt=he.point.x+(Nt?Nt.x*be:0),Dt=he.point.y+(Nt?Nt.y*be:0);Pe={allPointsOccluded:!1,box:[Mt+w.x1*be,Dt+w.y1*be,Mt+w.x2*be,Dt+w.y2*be]}}let[Oe,Je,He,et]=Pe.box;return this.mapProjection.useSpecialProjectionForSymbols&&(qe?Pe.allPointsOccluded:this.mapProjection.isOccluded(hr,Sr,se))||he.perspectiveRatio<this.perspectiveRatioCutoff||!this.isInsideGrid(Oe,Je,He,et)||B!==\"always\"&&this.grid.hitTest(Oe,Je,He,et,B,yt)?{box:[Oe,Je,He,et],placeable:!1,offscreen:!1}:{box:[Oe,Je,He,et],placeable:!0,offscreen:this.isOffscreen(Oe,Je,He,et)}}placeCollisionCircles(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he,be,Pe){let Oe=[],Je=new a.P(B.anchorX,B.anchorY),He=this.getPerspectiveRatio(qe,Je.x,Je.y,je,Pe),et=(Nt?se/He:se*He)/a.ap,Mt={getElevation:Pe,labelPlaneMatrix:it,lineVertexArray:Q,pitchWithMap:Nt,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},projection:this.mapProjection,tileAnchorPoint:Je,unwrappedTileID:je,width:this.transform.width,height:this.transform.height,translation:be},Dt=Xe(et,ee,B.lineOffsetX*et,B.lineOffsetY*et,!1,B,!1,Mt),Ut=!1,tr=!1,mr=!0;if(Dt){let Rr=.5*Sr*He+he,zr=new a.P(-100,-100),Xr=new a.P(this.screenRightBoundary,this.screenBottomBoundary),di=new fr,Li=Dt.first,Ci=Dt.last,Qi=[];for(let ea=Li.path.length-1;ea>=1;ea--)Qi.push(Li.path[ea]);for(let ea=1;ea<Ci.path.length;ea++)Qi.push(Ci.path[ea]);let Mn=2.5*Rr;if(yt){let ea=this.projectPathToScreenSpace(Qi,Mt,yt);Qi=ea.some(Ga=>Ga.signedDistanceFromCamera<=0)?[]:ea.map(Ga=>Ga.point)}let pa=[];if(Qi.length>0){let ea=Qi[0].clone(),Ga=Qi[0].clone();for(let To=1;To<Qi.length;To++)ea.x=Math.min(ea.x,Qi[To].x),ea.y=Math.min(ea.y,Qi[To].y),Ga.x=Math.max(Ga.x,Qi[To].x),Ga.y=Math.max(Ga.y,Qi[To].y);pa=ea.x>=zr.x&&Ga.x<=Xr.x&&ea.y>=zr.y&&Ga.y<=Xr.y?[Qi]:Ga.x<zr.x||ea.x>Xr.x||Ga.y<zr.y||ea.y>Xr.y?[]:a.al([Qi],zr.x,zr.y,Xr.x,Xr.y)}for(let ea of pa){di.reset(ea,.25*Rr);let Ga=0;Ga=di.length<=.5*Rr?1:Math.ceil(di.paddedLength/Mn)+1;for(let To=0;To<Ga;To++){let Wa=To/Math.max(Ga-1,1),co=di.lerp(Wa),Ro=co.x+ri,Ds=co.y+ri;Oe.push(Ro,Ds,Rr,0);let As=Ro-Rr,yo=Ds-Rr,po=Ro+Rr,_l=Ds+Rr;if(mr=mr&&this.isOffscreen(As,yo,po,_l),tr=tr||this.isInsideGrid(As,yo,po,_l),w!==\"always\"&&this.grid.hitTestCircle(Ro,Ds,Rr,w,hr)&&(Ut=!0,!Ot))return{circles:[],offscreen:!1,collisionDetected:Ut}}}}return{circles:!Ot&&Ut||!tr||He<this.perspectiveRatioCutoff?[]:Oe,offscreen:mr,collisionDetected:Ut}}projectPathToScreenSpace(w,B,Q){return w.map(ee=>ut(ee.x,ee.y,Q,B.getElevation))}queryRenderedSymbols(w){if(w.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let B=[],Q=1/0,ee=1/0,se=-1/0,qe=-1/0;for(let Ot of w){let Nt=new a.P(Ot.x+ri,Ot.y+ri);Q=Math.min(Q,Nt.x),ee=Math.min(ee,Nt.y),se=Math.max(se,Nt.x),qe=Math.max(qe,Nt.y),B.push(Nt)}let je=this.grid.query(Q,ee,se,qe).concat(this.ignoredGrid.query(Q,ee,se,qe)),it={},yt={};for(let Ot of je){let Nt=Ot.key;if(it[Nt.bucketInstanceId]===void 0&&(it[Nt.bucketInstanceId]={}),it[Nt.bucketInstanceId][Nt.featureIndex])continue;let hr=[new a.P(Ot.x1,Ot.y1),new a.P(Ot.x2,Ot.y1),new a.P(Ot.x2,Ot.y2),new a.P(Ot.x1,Ot.y2)];a.am(B,hr)&&(it[Nt.bucketInstanceId][Nt.featureIndex]=!0,yt[Nt.bucketInstanceId]===void 0&&(yt[Nt.bucketInstanceId]=[]),yt[Nt.bucketInstanceId].push(Nt.featureIndex))}return yt}insertCollisionBox(w,B,Q,ee,se,qe){(Q?this.ignoredGrid:this.grid).insert({bucketInstanceId:ee,featureIndex:se,collisionGroupID:qe,overlapMode:B},w[0],w[1],w[2],w[3])}insertCollisionCircles(w,B,Q,ee,se,qe){let je=Q?this.ignoredGrid:this.grid,it={bucketInstanceId:ee,featureIndex:se,collisionGroupID:qe,overlapMode:B};for(let yt=0;yt<w.length;yt+=4)je.insertCircle(it,w[yt],w[yt+1],w[yt+2])}projectAndGetPerspectiveRatio(w,B,Q,ee,se){let qe;se?(qe=[B,Q,se(B,Q),1],a.af(qe,qe,w)):(qe=[B,Q,0,1],jr(qe,qe,w));let je=qe[3];return{point:new a.P((qe[0]/je+1)/2*this.transform.width+ri,(-qe[1]/je+1)/2*this.transform.height+ri),perspectiveRatio:.5+this.transform.cameraToCenterDistance/je*.5,isOccluded:!1,signedDistanceFromCamera:je}}getPerspectiveRatio(w,B,Q,ee,se){let qe=this.mapProjection.useSpecialProjectionForSymbols?this.mapProjection.projectTileCoordinates(B,Q,ee,se):ut(B,Q,w,se);return .5+this.transform.cameraToCenterDistance/qe.signedDistanceFromCamera*.5}isOffscreen(w,B,Q,ee){return Q<ri||w>=this.screenRightBoundary||ee<ri||B>this.screenBottomBoundary}isInsideGrid(w,B,Q,ee){return Q>=0&&w<this.gridRightBoundary&&ee>=0&&B<this.gridBottomBoundary}getViewportMatrix(){let w=a.an([]);return a.J(w,w,[-100,-100,0]),w}_projectCollisionBox(w,B,Q,ee,se,qe,je,it,yt,Ot){let Nt=new a.P(1,0),hr=new a.P(0,1),Sr=new a.P(w.anchorPointX+je[0],w.anchorPointY+je[1]);if(qe&&!se){let mr=this.projectAndGetPerspectiveRatio(Q,Sr.x+1,Sr.y,ee,yt).point.sub(it.point).unit(),Rr=Math.atan(mr.y/mr.x)+(mr.x<0?Math.PI:0),zr=Math.sin(Rr),Xr=Math.cos(Rr);Nt=new a.P(Xr,zr),hr=new a.P(-zr,Xr)}else if(!qe&&se){let mr=-this.transform.angle,Rr=Math.sin(mr),zr=Math.cos(mr);Nt=new a.P(zr,Rr),hr=new a.P(-Rr,zr)}let he=it.point,be=B;if(se){he=Sr;let mr=this.transform.zoom-Math.floor(this.transform.zoom);be=Math.pow(2,-mr),be*=this.mapProjection.getPitchedTextCorrection(this.transform,Sr,ee),Ot||(be*=a.ac(.5+it.signedDistanceFromCamera/this.transform.cameraToCenterDistance*.5,0,4))}Ot&&(he=he.add(Nt.mult(Ot.x*be)).add(hr.mult(Ot.y*be)));let Pe=w.x1*be,Oe=w.x2*be,Je=(Pe+Oe)/2,He=w.y1*be,et=w.y2*be,Mt=(He+et)/2,Dt=[{offsetX:Pe,offsetY:He},{offsetX:Je,offsetY:He},{offsetX:Oe,offsetY:He},{offsetX:Oe,offsetY:Mt},{offsetX:Oe,offsetY:et},{offsetX:Je,offsetY:et},{offsetX:Pe,offsetY:et},{offsetX:Pe,offsetY:Mt}],Ut=[];for(let{offsetX:mr,offsetY:Rr}of Dt)Ut.push(new a.P(he.x+Nt.x*mr+hr.x*Rr,he.y+Nt.y*mr+hr.y*Rr));let tr=!1;if(se){let mr=Ut.map(Rr=>this.projectAndGetPerspectiveRatio(Q,Rr.x,Rr.y,ee,yt));tr=mr.some(Rr=>!Rr.isOccluded),Ut=mr.map(Rr=>Rr.point)}else tr=!0;return{box:a.ao(Ut),allPointsOccluded:!tr}}}function nn(le,w,B){return w*(a.X/(le.tileSize*Math.pow(2,B-le.tileID.overscaledZ)))}class Wi{constructor(w,B,Q,ee){this.opacity=w?Math.max(0,Math.min(1,w.opacity+(w.placed?B:-B))):ee&&Q?1:0,this.placed=Q}isHidden(){return this.opacity===0&&!this.placed}}class Ni{constructor(w,B,Q,ee,se){this.text=new Wi(w?w.text:null,B,Q,se),this.icon=new Wi(w?w.icon:null,B,ee,se)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class _n{constructor(w,B,Q){this.text=w,this.icon=B,this.skipFade=Q}}class $i{constructor(){this.invProjMatrix=a.H(),this.viewportMatrix=a.H(),this.circles=[]}}class zn{constructor(w,B,Q,ee,se){this.bucketInstanceId=w,this.featureIndex=B,this.sourceLayerIndex=Q,this.bucketIndex=ee,this.tileID=se}}class Wn{constructor(w){this.crossSourceCollisions=w,this.maxGroupID=0,this.collisionGroups={}}get(w){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[w]){let B=++this.maxGroupID;this.collisionGroups[w]={ID:B,predicate:Q=>Q.collisionGroupID===B}}return this.collisionGroups[w]}}function It(le,w,B,Q,ee){let{horizontalAlign:se,verticalAlign:qe}=a.au(le);return new a.P(-(se-.5)*w+Q[0]*ee,-(qe-.5)*B+Q[1]*ee)}class ft{constructor(w,B,Q,ee,se,qe){this.transform=w.clone(),this.terrain=Q,this.collisionIndex=new bi(this.transform,B),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=ee,this.retainedQueryData={},this.collisionGroups=new Wn(se),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=qe,qe&&(qe.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(w){let B=this.terrain;return B?(Q,ee)=>B.getElevation(w,Q,ee):null}getBucketParts(w,B,Q,ee){let se=Q.getBucket(B),qe=Q.latestFeatureIndex;if(!se||!qe||B.id!==se.layerIds[0])return;let je=Q.collisionBoxArray,it=se.layers[0].layout,yt=se.layers[0].paint,Ot=Math.pow(2,this.transform.zoom-Q.tileID.overscaledZ),Nt=Q.tileSize/a.X,hr=Q.tileID.toUnwrapped(),Sr=this.transform.calculatePosMatrix(hr),he=it.get(\"text-pitch-alignment\")===\"map\",be=it.get(\"text-rotation-alignment\")===\"map\",Pe=nn(Q,1,this.transform.zoom),Oe=this.collisionIndex.mapProjection.translatePosition(this.transform,Q,yt.get(\"text-translate\"),yt.get(\"text-translate-anchor\")),Je=this.collisionIndex.mapProjection.translatePosition(this.transform,Q,yt.get(\"icon-translate\"),yt.get(\"icon-translate-anchor\")),He=Or(Sr,he,be,this.transform,Pe),et=null;if(he){let Dt=Nr(Sr,he,be,this.transform,Pe);et=a.L([],this.transform.labelPlaneMatrix,Dt)}this.retainedQueryData[se.bucketInstanceId]=new zn(se.bucketInstanceId,qe,se.sourceLayerIndex,se.index,Q.tileID);let Mt={bucket:se,layout:it,translationText:Oe,translationIcon:Je,posMatrix:Sr,unwrappedTileID:hr,textLabelPlaneMatrix:He,labelToScreenMatrix:et,scale:Ot,textPixelRatio:Nt,holdingForFade:Q.holdingForFade(),collisionBoxArray:je,partiallyEvaluatedTextSize:a.ag(se.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(se.sourceID)};if(ee)for(let Dt of se.sortKeyRanges){let{sortKey:Ut,symbolInstanceStart:tr,symbolInstanceEnd:mr}=Dt;w.push({sortKey:Ut,symbolInstanceStart:tr,symbolInstanceEnd:mr,parameters:Mt})}else w.push({symbolInstanceStart:0,symbolInstanceEnd:se.symbolInstances.length,parameters:Mt})}attemptAnchorPlacement(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he,be,Pe,Oe,Je,He){let et=a.aq[w.textAnchor],Mt=[w.textOffset0,w.textOffset1],Dt=It(et,Q,ee,Mt,se),Ut=this.collisionIndex.placeCollisionBox(B,hr,it,yt,Ot,je,qe,Pe,Nt.predicate,He,Dt);if((!Je||this.collisionIndex.placeCollisionBox(Je,hr,it,yt,Ot,je,qe,Oe,Nt.predicate,He,Dt).placeable)&&Ut.placeable){let tr;if(this.prevPlacement&&this.prevPlacement.variableOffsets[Sr.crossTileID]&&this.prevPlacement.placements[Sr.crossTileID]&&this.prevPlacement.placements[Sr.crossTileID].text&&(tr=this.prevPlacement.variableOffsets[Sr.crossTileID].anchor),Sr.crossTileID===0)throw new Error(\"symbolInstance.crossTileID can't be 0\");return this.variableOffsets[Sr.crossTileID]={textOffset:Mt,width:Q,height:ee,anchor:et,textBoxScale:se,prevAnchor:tr},this.markUsedJustification(he,et,Sr,be),he.allowVerticalPlacement&&(this.markUsedOrientation(he,be,Sr),this.placedOrientations[Sr.crossTileID]=be),{shift:Dt,placedGlyphBoxes:Ut}}}placeLayerBucketPart(w,B,Q){let{bucket:ee,layout:se,translationText:qe,translationIcon:je,posMatrix:it,unwrappedTileID:yt,textLabelPlaneMatrix:Ot,labelToScreenMatrix:Nt,textPixelRatio:hr,holdingForFade:Sr,collisionBoxArray:he,partiallyEvaluatedTextSize:be,collisionGroup:Pe}=w.parameters,Oe=se.get(\"text-optional\"),Je=se.get(\"icon-optional\"),He=a.ar(se,\"text-overlap\",\"text-allow-overlap\"),et=He===\"always\",Mt=a.ar(se,\"icon-overlap\",\"icon-allow-overlap\"),Dt=Mt===\"always\",Ut=se.get(\"text-rotation-alignment\")===\"map\",tr=se.get(\"text-pitch-alignment\")===\"map\",mr=se.get(\"icon-text-fit\")!==\"none\",Rr=se.get(\"symbol-z-order\")===\"viewport-y\",zr=et&&(Dt||!ee.hasIconData()||Je),Xr=Dt&&(et||!ee.hasTextData()||Oe);!ee.collisionArrays&&he&&ee.deserializeCollisionBoxes(he);let di=this._getTerrainElevationFunc(this.retainedQueryData[ee.bucketInstanceId].tileID),Li=(Ci,Qi,Mn)=>{var pa,ea;if(B[Ci.crossTileID])return;if(Sr)return void(this.placements[Ci.crossTileID]=new _n(!1,!1,!1));let Ga=!1,To=!1,Wa=!0,co=null,Ro={box:null,placeable:!1,offscreen:null},Ds={box:null,placeable:!1,offscreen:null},As=null,yo=null,po=null,_l=0,Hl=0,Zu=0;Qi.textFeatureIndex?_l=Qi.textFeatureIndex:Ci.useRuntimeCollisionCircles&&(_l=Ci.featureIndex),Qi.verticalTextFeatureIndex&&(Hl=Qi.verticalTextFeatureIndex);let cu=Qi.textBox;if(cu){let zl=we=>{let Be=a.ah.horizontal;if(ee.allowVerticalPlacement&&!we&&this.prevPlacement){let Ue=this.prevPlacement.placedOrientations[Ci.crossTileID];Ue&&(this.placedOrientations[Ci.crossTileID]=Ue,Be=Ue,this.markUsedOrientation(ee,Be,Ci))}return Be},Fl=(we,Be)=>{if(ee.allowVerticalPlacement&&Ci.numVerticalGlyphVertices>0&&Qi.verticalTextBox){for(let Ue of ee.writingModes)if(Ue===a.ah.vertical?(Ro=Be(),Ds=Ro):Ro=we(),Ro&&Ro.placeable)break}else Ro=we()},Z=Ci.textAnchorOffsetStartIndex,oe=Ci.textAnchorOffsetEndIndex;if(oe===Z){let we=(Be,Ue)=>{let We=this.collisionIndex.placeCollisionBox(Be,He,hr,it,yt,tr,Ut,qe,Pe.predicate,di);return We&&We.placeable&&(this.markUsedOrientation(ee,Ue,Ci),this.placedOrientations[Ci.crossTileID]=Ue),We};Fl(()=>we(cu,a.ah.horizontal),()=>{let Be=Qi.verticalTextBox;return ee.allowVerticalPlacement&&Ci.numVerticalGlyphVertices>0&&Be?we(Be,a.ah.vertical):{box:null,offscreen:null}}),zl(Ro&&Ro.placeable)}else{let we=a.aq[(ea=(pa=this.prevPlacement)===null||pa===void 0?void 0:pa.variableOffsets[Ci.crossTileID])===null||ea===void 0?void 0:ea.anchor],Be=(We,wt,tt)=>{let zt=We.x2-We.x1,or=We.y2-We.y1,lr=Ci.textBoxScale,Dr=mr&&Mt===\"never\"?wt:null,Ir=null,oi=He===\"never\"?1:2,ui=\"never\";we&&oi++;for(let qr=0;qr<oi;qr++){for(let Kr=Z;Kr<oe;Kr++){let ii=ee.textAnchorOffsets.get(Kr);if(we&&ii.textAnchor!==we)continue;let vi=this.attemptAnchorPlacement(ii,We,zt,or,lr,Ut,tr,hr,it,yt,Pe,ui,Ci,ee,tt,qe,je,Dr,di);if(vi&&(Ir=vi.placedGlyphBoxes,Ir&&Ir.placeable))return Ga=!0,co=vi.shift,Ir}we?we=null:ui=He}return Q&&!Ir&&(Ir={box:this.collisionIndex.placeCollisionBox(cu,\"always\",hr,it,yt,tr,Ut,qe,Pe.predicate,di,new a.P(0,0)).box,offscreen:!1,placeable:!1}),Ir};Fl(()=>Be(cu,Qi.iconBox,a.ah.horizontal),()=>{let We=Qi.verticalTextBox;return ee.allowVerticalPlacement&&(!Ro||!Ro.placeable)&&Ci.numVerticalGlyphVertices>0&&We?Be(We,Qi.verticalIconBox,a.ah.vertical):{box:null,occluded:!0,offscreen:null}}),Ro&&(Ga=Ro.placeable,Wa=Ro.offscreen);let Ue=zl(Ro&&Ro.placeable);if(!Ga&&this.prevPlacement){let We=this.prevPlacement.variableOffsets[Ci.crossTileID];We&&(this.variableOffsets[Ci.crossTileID]=We,this.markUsedJustification(ee,We.anchor,Ci,Ue))}}}if(As=Ro,Ga=As&&As.placeable,Wa=As&&As.offscreen,Ci.useRuntimeCollisionCircles){let zl=ee.text.placedSymbolArray.get(Ci.centerJustifiedTextSymbolIndex),Fl=a.ai(ee.textSizeData,be,zl),Z=se.get(\"text-padding\");yo=this.collisionIndex.placeCollisionCircles(He,zl,ee.lineVertexArray,ee.glyphOffsetArray,Fl,it,yt,Ot,Nt,Q,tr,Pe.predicate,Ci.collisionCircleDiameter,Z,qe,di),yo.circles.length&&yo.collisionDetected&&!Q&&a.w(\"Collisions detected, but collision boxes are not shown\"),Ga=et||yo.circles.length>0&&!yo.collisionDetected,Wa=Wa&&yo.offscreen}if(Qi.iconFeatureIndex&&(Zu=Qi.iconFeatureIndex),Qi.iconBox){let zl=Fl=>this.collisionIndex.placeCollisionBox(Fl,Mt,hr,it,yt,tr,Ut,je,Pe.predicate,di,mr&&co?co:void 0);Ds&&Ds.placeable&&Qi.verticalIconBox?(po=zl(Qi.verticalIconBox),To=po.placeable):(po=zl(Qi.iconBox),To=po.placeable),Wa=Wa&&po.offscreen}let el=Oe||Ci.numHorizontalGlyphVertices===0&&Ci.numVerticalGlyphVertices===0,au=Je||Ci.numIconVertices===0;el||au?au?el||(To=To&&Ga):Ga=To&&Ga:To=Ga=To&&Ga;let zc=To&&po.placeable;if(Ga&&As.placeable&&this.collisionIndex.insertCollisionBox(As.box,He,se.get(\"text-ignore-placement\"),ee.bucketInstanceId,Ds&&Ds.placeable&&Hl?Hl:_l,Pe.ID),zc&&this.collisionIndex.insertCollisionBox(po.box,Mt,se.get(\"icon-ignore-placement\"),ee.bucketInstanceId,Zu,Pe.ID),yo&&Ga&&this.collisionIndex.insertCollisionCircles(yo.circles,He,se.get(\"text-ignore-placement\"),ee.bucketInstanceId,_l,Pe.ID),Q&&this.storeCollisionData(ee.bucketInstanceId,Mn,Qi,As,po,yo),Ci.crossTileID===0)throw new Error(\"symbolInstance.crossTileID can't be 0\");if(ee.bucketInstanceId===0)throw new Error(\"bucket.bucketInstanceId can't be 0\");this.placements[Ci.crossTileID]=new _n(Ga||zr,To||Xr,Wa||ee.justReloaded),B[Ci.crossTileID]=!0};if(Rr){if(w.symbolInstanceStart!==0)throw new Error(\"bucket.bucketInstanceId should be 0\");let Ci=ee.getSortedSymbolIndexes(this.transform.angle);for(let Qi=Ci.length-1;Qi>=0;--Qi){let Mn=Ci[Qi];Li(ee.symbolInstances.get(Mn),ee.collisionArrays[Mn],Mn)}}else for(let Ci=w.symbolInstanceStart;Ci<w.symbolInstanceEnd;Ci++)Li(ee.symbolInstances.get(Ci),ee.collisionArrays[Ci],Ci);if(Q&&ee.bucketInstanceId in this.collisionCircleArrays){let Ci=this.collisionCircleArrays[ee.bucketInstanceId];a.as(Ci.invProjMatrix,it),Ci.viewportMatrix=this.collisionIndex.getViewportMatrix()}ee.justReloaded=!1}storeCollisionData(w,B,Q,ee,se,qe){if(Q.textBox||Q.iconBox){let je,it;this.collisionBoxArrays.has(w)?je=this.collisionBoxArrays.get(w):(je=new Map,this.collisionBoxArrays.set(w,je)),je.has(B)?it=je.get(B):(it={text:null,icon:null},je.set(B,it)),Q.textBox&&(it.text=ee.box),Q.iconBox&&(it.icon=se.box)}if(qe){let je=this.collisionCircleArrays[w];je===void 0&&(je=this.collisionCircleArrays[w]=new $i);for(let it=0;it<qe.circles.length;it+=4)je.circles.push(qe.circles[it+0]),je.circles.push(qe.circles[it+1]),je.circles.push(qe.circles[it+2]),je.circles.push(qe.collisionDetected?1:0)}}markUsedJustification(w,B,Q,ee){let se;se=ee===a.ah.vertical?Q.verticalPlacedTextSymbolIndex:{left:Q.leftJustifiedTextSymbolIndex,center:Q.centerJustifiedTextSymbolIndex,right:Q.rightJustifiedTextSymbolIndex}[a.at(B)];let qe=[Q.leftJustifiedTextSymbolIndex,Q.centerJustifiedTextSymbolIndex,Q.rightJustifiedTextSymbolIndex,Q.verticalPlacedTextSymbolIndex];for(let je of qe)je>=0&&(w.text.placedSymbolArray.get(je).crossTileID=se>=0&&je!==se?0:Q.crossTileID)}markUsedOrientation(w,B,Q){let ee=B===a.ah.horizontal||B===a.ah.horizontalOnly?B:0,se=B===a.ah.vertical?B:0,qe=[Q.leftJustifiedTextSymbolIndex,Q.centerJustifiedTextSymbolIndex,Q.rightJustifiedTextSymbolIndex];for(let je of qe)w.text.placedSymbolArray.get(je).placedOrientation=ee;Q.verticalPlacedTextSymbolIndex&&(w.text.placedSymbolArray.get(Q.verticalPlacedTextSymbolIndex).placedOrientation=se)}commit(w){this.commitTime=w,this.zoomAtLastRecencyCheck=this.transform.zoom;let B=this.prevPlacement,Q=!1;this.prevZoomAdjustment=B?B.zoomAdjustment(this.transform.zoom):0;let ee=B?B.symbolFadeChange(w):1,se=B?B.opacities:{},qe=B?B.variableOffsets:{},je=B?B.placedOrientations:{};for(let it in this.placements){let yt=this.placements[it],Ot=se[it];Ot?(this.opacities[it]=new Ni(Ot,ee,yt.text,yt.icon),Q=Q||yt.text!==Ot.text.placed||yt.icon!==Ot.icon.placed):(this.opacities[it]=new Ni(null,ee,yt.text,yt.icon,yt.skipFade),Q=Q||yt.text||yt.icon)}for(let it in se){let yt=se[it];if(!this.opacities[it]){let Ot=new Ni(yt,ee,!1,!1);Ot.isHidden()||(this.opacities[it]=Ot,Q=Q||yt.text.placed||yt.icon.placed)}}for(let it in qe)this.variableOffsets[it]||!this.opacities[it]||this.opacities[it].isHidden()||(this.variableOffsets[it]=qe[it]);for(let it in je)this.placedOrientations[it]||!this.opacities[it]||this.opacities[it].isHidden()||(this.placedOrientations[it]=je[it]);if(B&&B.lastPlacementChangeTime===void 0)throw new Error(\"Last placement time for previous placement is not defined\");Q?this.lastPlacementChangeTime=w:typeof this.lastPlacementChangeTime!=\"number\"&&(this.lastPlacementChangeTime=B?B.lastPlacementChangeTime:w)}updateLayerOpacities(w,B){let Q={};for(let ee of B){let se=ee.getBucket(w);se&&ee.latestFeatureIndex&&w.id===se.layerIds[0]&&this.updateBucketOpacities(se,ee.tileID,Q,ee.collisionBoxArray)}}updateBucketOpacities(w,B,Q,ee){w.hasTextData()&&(w.text.opacityVertexArray.clear(),w.text.hasVisibleVertices=!1),w.hasIconData()&&(w.icon.opacityVertexArray.clear(),w.icon.hasVisibleVertices=!1),w.hasIconCollisionBoxData()&&w.iconCollisionBox.collisionVertexArray.clear(),w.hasTextCollisionBoxData()&&w.textCollisionBox.collisionVertexArray.clear();let se=w.layers[0],qe=se.layout,je=new Ni(null,0,!1,!1,!0),it=qe.get(\"text-allow-overlap\"),yt=qe.get(\"icon-allow-overlap\"),Ot=se._unevaluatedLayout.hasValue(\"text-variable-anchor\")||se._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),Nt=qe.get(\"text-rotation-alignment\")===\"map\",hr=qe.get(\"text-pitch-alignment\")===\"map\",Sr=qe.get(\"icon-text-fit\")!==\"none\",he=new Ni(null,0,it&&(yt||!w.hasIconData()||qe.get(\"icon-optional\")),yt&&(it||!w.hasTextData()||qe.get(\"text-optional\")),!0);!w.collisionArrays&&ee&&(w.hasIconCollisionBoxData()||w.hasTextCollisionBoxData())&&w.deserializeCollisionBoxes(ee);let be=(Oe,Je,He)=>{for(let et=0;et<Je/4;et++)Oe.opacityVertexArray.emplaceBack(He);Oe.hasVisibleVertices=Oe.hasVisibleVertices||He!==Pi},Pe=this.collisionBoxArrays.get(w.bucketInstanceId);for(let Oe=0;Oe<w.symbolInstances.length;Oe++){let Je=w.symbolInstances.get(Oe),{numHorizontalGlyphVertices:He,numVerticalGlyphVertices:et,crossTileID:Mt}=Je,Dt=this.opacities[Mt];Q[Mt]?Dt=je:Dt||(Dt=he,this.opacities[Mt]=Dt),Q[Mt]=!0;let Ut=Je.numIconVertices>0,tr=this.placedOrientations[Je.crossTileID],mr=tr===a.ah.vertical,Rr=tr===a.ah.horizontal||tr===a.ah.horizontalOnly;if(He>0||et>0){let Xr=Mi(Dt.text);be(w.text,He,mr?Pi:Xr),be(w.text,et,Rr?Pi:Xr);let di=Dt.text.isHidden();[Je.rightJustifiedTextSymbolIndex,Je.centerJustifiedTextSymbolIndex,Je.leftJustifiedTextSymbolIndex].forEach(Qi=>{Qi>=0&&(w.text.placedSymbolArray.get(Qi).hidden=di||mr?1:0)}),Je.verticalPlacedTextSymbolIndex>=0&&(w.text.placedSymbolArray.get(Je.verticalPlacedTextSymbolIndex).hidden=di||Rr?1:0);let Li=this.variableOffsets[Je.crossTileID];Li&&this.markUsedJustification(w,Li.anchor,Je,tr);let Ci=this.placedOrientations[Je.crossTileID];Ci&&(this.markUsedJustification(w,\"left\",Je,Ci),this.markUsedOrientation(w,Ci,Je))}if(Ut){let Xr=Mi(Dt.icon),di=!(Sr&&Je.verticalPlacedIconSymbolIndex&&mr);Je.placedIconSymbolIndex>=0&&(be(w.icon,Je.numIconVertices,di?Xr:Pi),w.icon.placedSymbolArray.get(Je.placedIconSymbolIndex).hidden=Dt.icon.isHidden()),Je.verticalPlacedIconSymbolIndex>=0&&(be(w.icon,Je.numVerticalIconVertices,di?Pi:Xr),w.icon.placedSymbolArray.get(Je.verticalPlacedIconSymbolIndex).hidden=Dt.icon.isHidden())}let zr=Pe&&Pe.has(Oe)?Pe.get(Oe):{text:null,icon:null};if(w.hasIconCollisionBoxData()||w.hasTextCollisionBoxData()){let Xr=w.collisionArrays[Oe];if(Xr){let di=new a.P(0,0);if(Xr.textBox||Xr.verticalTextBox){let Li=!0;if(Ot){let Ci=this.variableOffsets[Mt];Ci?(di=It(Ci.anchor,Ci.width,Ci.height,Ci.textOffset,Ci.textBoxScale),Nt&&di._rotate(hr?this.transform.angle:-this.transform.angle)):Li=!1}if(Xr.textBox||Xr.verticalTextBox){let Ci;Xr.textBox&&(Ci=mr),Xr.verticalTextBox&&(Ci=Rr),jt(w.textCollisionBox.collisionVertexArray,Dt.text.placed,!Li||Ci,zr.text,di.x,di.y)}}if(Xr.iconBox||Xr.verticalIconBox){let Li=!!(!Rr&&Xr.verticalIconBox),Ci;Xr.iconBox&&(Ci=Li),Xr.verticalIconBox&&(Ci=!Li),jt(w.iconCollisionBox.collisionVertexArray,Dt.icon.placed,Ci,zr.icon,Sr?di.x:0,Sr?di.y:0)}}}}if(w.sortFeatures(this.transform.angle),this.retainedQueryData[w.bucketInstanceId]&&(this.retainedQueryData[w.bucketInstanceId].featureSortOrder=w.featureSortOrder),w.hasTextData()&&w.text.opacityVertexBuffer&&w.text.opacityVertexBuffer.updateData(w.text.opacityVertexArray),w.hasIconData()&&w.icon.opacityVertexBuffer&&w.icon.opacityVertexBuffer.updateData(w.icon.opacityVertexArray),w.hasIconCollisionBoxData()&&w.iconCollisionBox.collisionVertexBuffer&&w.iconCollisionBox.collisionVertexBuffer.updateData(w.iconCollisionBox.collisionVertexArray),w.hasTextCollisionBoxData()&&w.textCollisionBox.collisionVertexBuffer&&w.textCollisionBox.collisionVertexBuffer.updateData(w.textCollisionBox.collisionVertexArray),w.text.opacityVertexArray.length!==w.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${w.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${w.text.layoutVertexArray.length}) / 4`);if(w.icon.opacityVertexArray.length!==w.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${w.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${w.icon.layoutVertexArray.length}) / 4`);if(w.bucketInstanceId in this.collisionCircleArrays){let Oe=this.collisionCircleArrays[w.bucketInstanceId];w.placementInvProjMatrix=Oe.invProjMatrix,w.placementViewportMatrix=Oe.viewportMatrix,w.collisionCircleArray=Oe.circles,delete this.collisionCircleArrays[w.bucketInstanceId]}}symbolFadeChange(w){return this.fadeDuration===0?1:(w-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(w){return Math.max(0,(this.transform.zoom-w)/1.5)}hasTransitions(w){return this.stale||w-this.lastPlacementChangeTime<this.fadeDuration}stillRecent(w,B){let Q=this.zoomAtLastRecencyCheck===B?1-this.zoomAdjustment(B):1;return this.zoomAtLastRecencyCheck=B,this.commitTime+this.fadeDuration*Q>w}setStale(){this.stale=!0}}function jt(le,w,B,Q,ee,se){Q&&Q.length!==0||(Q=[0,0,0,0]);let qe=Q[0]-ri,je=Q[1]-ri,it=Q[2]-ri,yt=Q[3]-ri;le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,qe,je),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,it,je),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,it,yt),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,qe,yt)}let Zt=Math.pow(2,25),yr=Math.pow(2,24),Fr=Math.pow(2,17),Zr=Math.pow(2,16),Vr=Math.pow(2,9),gi=Math.pow(2,8),Si=Math.pow(2,1);function Mi(le){if(le.opacity===0&&!le.placed)return 0;if(le.opacity===1&&le.placed)return 4294967295;let w=le.placed?1:0,B=Math.floor(127*le.opacity);return B*Zt+w*yr+B*Fr+w*Zr+B*Vr+w*gi+B*Si+w}let Pi=0;function Gi(){return{isOccluded:(le,w,B)=>!1,getPitchedTextCorrection:(le,w,B)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(le,w,B,Q){throw new Error(\"Not implemented.\")},translatePosition:(le,w,B,Q)=>function(ee,se,qe,je,it=!1){if(!qe[0]&&!qe[1])return[0,0];let yt=it?je===\"map\"?ee.angle:0:je===\"viewport\"?-ee.angle:0;if(yt){let Ot=Math.sin(yt),Nt=Math.cos(yt);qe=[qe[0]*Nt-qe[1]*Ot,qe[0]*Ot+qe[1]*Nt]}return[it?qe[0]:nn(se,qe[0],ee.zoom),it?qe[1]:nn(se,qe[1],ee.zoom)]}(le,w,B,Q),getCircleRadiusCorrection:le=>1}}class Ki{constructor(w){this._sortAcrossTiles=w.layout.get(\"symbol-z-order\")!==\"viewport-y\"&&!w.layout.get(\"symbol-sort-key\").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(w,B,Q,ee,se){let qe=this._bucketParts;for(;this._currentTileIndex<w.length;)if(B.getBucketParts(qe,ee,w[this._currentTileIndex],this._sortAcrossTiles),this._currentTileIndex++,se())return!0;for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,qe.sort((je,it)=>je.sortKey-it.sortKey));this._currentPartIndex<qe.length;)if(B.placeLayerBucketPart(qe[this._currentPartIndex],this._seenCrossTileIDs,Q),this._currentPartIndex++,se())return!0;return!1}}class ka{constructor(w,B,Q,ee,se,qe,je,it){this.placement=new ft(w,Gi(),B,qe,je,it),this._currentPlacementIndex=Q.length-1,this._forceFullPlacement=ee,this._showCollisionBoxes=se,this._done=!1}isDone(){return this._done}continuePlacement(w,B,Q){let ee=u.now(),se=()=>!this._forceFullPlacement&&u.now()-ee>2;for(;this._currentPlacementIndex>=0;){let qe=B[w[this._currentPlacementIndex]],je=this.placement.collisionIndex.transform.zoom;if(qe.type===\"symbol\"&&(!qe.minzoom||qe.minzoom<=je)&&(!qe.maxzoom||qe.maxzoom>je)){if(this._inProgressLayer||(this._inProgressLayer=new Ki(qe)),this._inProgressLayer.continuePlacement(Q[qe.source],this.placement,this._showCollisionBoxes,qe,se))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(w){return this.placement.commit(w),this.placement}}let jn=512/a.X/2;class la{constructor(w,B,Q){this.tileID=w,this.bucketInstanceId=Q,this._symbolsByKey={};let ee=new Map;for(let se=0;se<B.length;se++){let qe=B.get(se),je=qe.key,it=ee.get(je);it?it.push(qe):ee.set(je,[qe])}for(let[se,qe]of ee){let je={positions:qe.map(it=>({x:Math.floor(it.anchorX*jn),y:Math.floor(it.anchorY*jn)})),crossTileIDs:qe.map(it=>it.crossTileID)};if(je.positions.length>128){let it=new a.av(je.positions.length,16,Uint16Array);for(let{x:yt,y:Ot}of je.positions)it.add(yt,Ot);it.finish(),delete je.positions,je.index=it}this._symbolsByKey[se]=je}}getScaledCoordinates(w,B){let{x:Q,y:ee,z:se}=this.tileID.canonical,{x:qe,y:je,z:it}=B.canonical,yt=jn/Math.pow(2,it-se),Ot=(je*a.X+w.anchorY)*yt,Nt=ee*a.X*jn;return{x:Math.floor((qe*a.X+w.anchorX)*yt-Q*a.X*jn),y:Math.floor(Ot-Nt)}}findMatches(w,B,Q){let ee=this.tileID.canonical.z<B.canonical.z?1:Math.pow(2,this.tileID.canonical.z-B.canonical.z);for(let se=0;se<w.length;se++){let qe=w.get(se);if(qe.crossTileID)continue;let je=this._symbolsByKey[qe.key];if(!je)continue;let it=this.getScaledCoordinates(qe,B);if(je.index){let yt=je.index.range(it.x-ee,it.y-ee,it.x+ee,it.y+ee).sort();for(let Ot of yt){let Nt=je.crossTileIDs[Ot];if(!Q[Nt]){Q[Nt]=!0,qe.crossTileID=Nt;break}}}else if(je.positions)for(let yt=0;yt<je.positions.length;yt++){let Ot=je.positions[yt],Nt=je.crossTileIDs[yt];if(Math.abs(Ot.x-it.x)<=ee&&Math.abs(Ot.y-it.y)<=ee&&!Q[Nt]){Q[Nt]=!0,qe.crossTileID=Nt;break}}}}getCrossTileIDsLists(){return Object.values(this._symbolsByKey).map(({crossTileIDs:w})=>w)}}class Fa{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class Ra{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(w){let B=Math.round((w-this.lng)/360);if(B!==0)for(let Q in this.indexes){let ee=this.indexes[Q],se={};for(let qe in ee){let je=ee[qe];je.tileID=je.tileID.unwrapTo(je.tileID.wrap+B),se[je.tileID.key]=je}this.indexes[Q]=se}this.lng=w}addBucket(w,B,Q){if(this.indexes[w.overscaledZ]&&this.indexes[w.overscaledZ][w.key]){if(this.indexes[w.overscaledZ][w.key].bucketInstanceId===B.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(w.overscaledZ,this.indexes[w.overscaledZ][w.key])}for(let se=0;se<B.symbolInstances.length;se++)B.symbolInstances.get(se).crossTileID=0;this.usedCrossTileIDs[w.overscaledZ]||(this.usedCrossTileIDs[w.overscaledZ]={});let ee=this.usedCrossTileIDs[w.overscaledZ];for(let se in this.indexes){let qe=this.indexes[se];if(Number(se)>w.overscaledZ)for(let je in qe){let it=qe[je];it.tileID.isChildOf(w)&&it.findMatches(B.symbolInstances,w,ee)}else{let je=qe[w.scaledTo(Number(se)).key];je&&je.findMatches(B.symbolInstances,w,ee)}}for(let se=0;se<B.symbolInstances.length;se++){let qe=B.symbolInstances.get(se);qe.crossTileID||(qe.crossTileID=Q.generate(),ee[qe.crossTileID]=!0)}return this.indexes[w.overscaledZ]===void 0&&(this.indexes[w.overscaledZ]={}),this.indexes[w.overscaledZ][w.key]=new la(w,B.symbolInstances,B.bucketInstanceId),!0}removeBucketCrossTileIDs(w,B){for(let Q of B.getCrossTileIDsLists())for(let ee of Q)delete this.usedCrossTileIDs[w][ee]}removeStaleBuckets(w){let B=!1;for(let Q in this.indexes){let ee=this.indexes[Q];for(let se in ee)w[ee[se].bucketInstanceId]||(this.removeBucketCrossTileIDs(Q,ee[se]),delete ee[se],B=!0)}return B}}class jo{constructor(){this.layerIndexes={},this.crossTileIDs=new Fa,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}}addLayer(w,B,Q){let ee=this.layerIndexes[w.id];ee===void 0&&(ee=this.layerIndexes[w.id]=new Ra);let se=!1,qe={};ee.handleWrapJump(Q);for(let je of B){let it=je.getBucket(w);it&&w.id===it.layerIds[0]&&(it.bucketInstanceId||(it.bucketInstanceId=++this.maxBucketInstanceId),ee.addBucket(je.tileID,it,this.crossTileIDs)&&(se=!0),qe[it.bucketInstanceId]=!0)}return ee.removeStaleBuckets(qe)&&(se=!0),se}pruneUnusedLayers(w){let B={};w.forEach(Q=>{B[Q]=!0});for(let Q in this.layerIndexes)B[Q]||delete this.layerIndexes[Q]}}let oa=(le,w)=>a.t(le,w&&w.filter(B=>B.identifier!==\"source.canvas\")),Sn=a.aw();class Ha extends a.E{constructor(w,B={}){super(),this._rtlPluginLoaded=()=>{for(let Q in this.sourceCaches){let ee=this.sourceCaches[Q].getSource().type;ee!==\"vector\"&&ee!==\"geojson\"||this.sourceCaches[Q].reload()}},this.map=w,this.dispatcher=new Ee(Te(),w._getMapId()),this.dispatcher.registerMessageHandler(\"GG\",(Q,ee)=>this.getGlyphs(Q,ee)),this.dispatcher.registerMessageHandler(\"GI\",(Q,ee)=>this.getImages(Q,ee)),this.imageManager=new T,this.imageManager.setEventedParent(this),this.glyphManager=new H(w._requestManager,B.localIdeographFontFamily),this.lineAtlas=new ae(256,512),this.crossTileSymbolIndex=new jo,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new a.ax,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"SR\",a.ay()),bt().on(er,this._rtlPluginLoaded),this.on(\"data\",Q=>{if(Q.dataType!==\"source\"||Q.sourceDataType!==\"metadata\")return;let ee=this.sourceCaches[Q.sourceId];if(!ee)return;let se=ee.getSource();if(se&&se.vectorLayerIds)for(let qe in this._layers){let je=this._layers[qe];je.source===se.id&&this._validateLayer(je)}})}loadURL(w,B={},Q){this.fire(new a.k(\"dataloading\",{dataType:\"style\"})),B.validate=typeof B.validate!=\"boolean\"||B.validate;let ee=this.map._requestManager.transformRequest(w,\"Style\");this._loadStyleRequest=new AbortController;let se=this._loadStyleRequest;a.h(ee,this._loadStyleRequest).then(qe=>{this._loadStyleRequest=null,this._load(qe.data,B,Q)}).catch(qe=>{this._loadStyleRequest=null,qe&&!se.signal.aborted&&this.fire(new a.j(qe))})}loadJSON(w,B={},Q){this.fire(new a.k(\"dataloading\",{dataType:\"style\"})),this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then(()=>{this._frameRequest=null,B.validate=B.validate!==!1,this._load(w,B,Q)}).catch(()=>{})}loadEmpty(){this.fire(new a.k(\"dataloading\",{dataType:\"style\"})),this._load(Sn,{validate:!1})}_load(w,B,Q){var ee;let se=B.transformStyle?B.transformStyle(Q,w):w;if(!B.validate||!oa(this,a.u(se))){this._loaded=!0,this.stylesheet=se;for(let qe in se.sources)this.addSource(qe,se.sources[qe],{validate:!1});se.sprite?this._loadSprite(se.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(se.glyphs),this._createLayers(),this.light=new N(this.stylesheet.light),this.sky=new re(this.stylesheet.sky),this.map.setTerrain((ee=this.stylesheet.terrain)!==null&&ee!==void 0?ee:null),this.fire(new a.k(\"data\",{dataType:\"style\"})),this.fire(new a.k(\"style.load\"))}}_createLayers(){let w=a.az(this.stylesheet.layers);this.dispatcher.broadcast(\"SL\",w),this._order=w.map(B=>B.id),this._layers={},this._serializedLayers=null;for(let B of w){let Q=a.aA(B);Q.setEventedParent(this,{layer:{id:B.id}}),this._layers[B.id]=Q}}_loadSprite(w,B=!1,Q=void 0){let ee;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(se,qe,je,it){return a._(this,void 0,void 0,function*(){let yt=C(se),Ot=je>1?\"@2x\":\"\",Nt={},hr={};for(let{id:Sr,url:he}of yt){let be=qe.transformRequest(M(he,Ot,\".json\"),\"SpriteJSON\");Nt[Sr]=a.h(be,it);let Pe=qe.transformRequest(M(he,Ot,\".png\"),\"SpriteImage\");hr[Sr]=p.getImage(Pe,it)}return yield Promise.all([...Object.values(Nt),...Object.values(hr)]),function(Sr,he){return a._(this,void 0,void 0,function*(){let be={};for(let Pe in Sr){be[Pe]={};let Oe=u.getImageCanvasContext((yield he[Pe]).data),Je=(yield Sr[Pe]).data;for(let He in Je){let{width:et,height:Mt,x:Dt,y:Ut,sdf:tr,pixelRatio:mr,stretchX:Rr,stretchY:zr,content:Xr,textFitWidth:di,textFitHeight:Li}=Je[He];be[Pe][He]={data:null,pixelRatio:mr,sdf:tr,stretchX:Rr,stretchY:zr,content:Xr,textFitWidth:di,textFitHeight:Li,spriteData:{width:et,height:Mt,x:Dt,y:Ut,context:Oe}}}}return be})}(Nt,hr)})}(w,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then(se=>{if(this._spriteRequest=null,se)for(let qe in se){this._spritesImagesIds[qe]=[];let je=this._spritesImagesIds[qe]?this._spritesImagesIds[qe].filter(it=>!(it in se)):[];for(let it of je)this.imageManager.removeImage(it),this._changedImages[it]=!0;for(let it in se[qe]){let yt=qe===\"default\"?it:`${qe}:${it}`;this._spritesImagesIds[qe].push(yt),yt in this.imageManager.images?this.imageManager.updateImage(yt,se[qe][it],!1):this.imageManager.addImage(yt,se[qe][it]),B&&(this._changedImages[yt]=!0)}}}).catch(se=>{this._spriteRequest=null,ee=se,this.fire(new a.j(ee))}).finally(()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),B&&(this._changed=!0),this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"})),Q&&Q(ee)})}_unloadSprite(){for(let w of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(w),this._changedImages[w]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"}))}_validateLayer(w){let B=this.sourceCaches[w.source];if(!B)return;let Q=w.sourceLayer;if(!Q)return;let ee=B.getSource();(ee.type===\"geojson\"||ee.vectorLayerIds&&ee.vectorLayerIds.indexOf(Q)===-1)&&this.fire(new a.j(new Error(`Source layer \"${Q}\" does not exist on source \"${ee.id}\" as specified by style layer \"${w.id}\".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let w in this.sourceCaches)if(!this.sourceCaches[w].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(w,B=!1){let Q=this._serializedAllLayers();if(!w||w.length===0)return Object.values(B?a.aB(Q):Q);let ee=[];for(let se of w)if(Q[se]){let qe=B?a.aB(Q[se]):Q[se];ee.push(qe)}return ee}_serializedAllLayers(){let w=this._serializedLayers;if(w)return w;w=this._serializedLayers={};let B=Object.keys(this._layers);for(let Q of B){let ee=this._layers[Q];ee.type!==\"custom\"&&(w[Q]=ee.serialize())}return w}hasTransitions(){if(this.light&&this.light.hasTransition()||this.sky&&this.sky.hasTransition())return!0;for(let w in this.sourceCaches)if(this.sourceCaches[w].hasTransition())return!0;for(let w in this._layers)if(this._layers[w].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error(\"Style is not done loading.\")}update(w){if(!this._loaded)return;let B=this._changed;if(B){let ee=Object.keys(this._updatedLayers),se=Object.keys(this._removedLayers);(ee.length||se.length)&&this._updateWorkerLayers(ee,se);for(let qe in this._updatedSources){let je=this._updatedSources[qe];if(je===\"reload\")this._reloadSource(qe);else{if(je!==\"clear\")throw new Error(`Invalid action ${je}`);this._clearSource(qe)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let qe in this._updatedPaintProps)this._layers[qe].updateTransitions(w);this.light.updateTransitions(w),this.sky.updateTransitions(w),this._resetUpdates()}let Q={};for(let ee in this.sourceCaches){let se=this.sourceCaches[ee];Q[ee]=se.used,se.used=!1}for(let ee of this._order){let se=this._layers[ee];se.recalculate(w,this._availableImages),!se.isHidden(w.zoom)&&se.source&&(this.sourceCaches[se.source].used=!0)}for(let ee in Q){let se=this.sourceCaches[ee];!!Q[ee]!=!!se.used&&se.fire(new a.k(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:ee}))}this.light.recalculate(w),this.sky.recalculate(w),this.z=w.zoom,B&&this.fire(new a.k(\"data\",{dataType:\"style\"}))}_updateTilesForChangedImages(){let w=Object.keys(this._changedImages);if(w.length){for(let B in this.sourceCaches)this.sourceCaches[B].reloadTilesForDependencies([\"icons\",\"patterns\"],w);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let w in this.sourceCaches)this.sourceCaches[w].reloadTilesForDependencies([\"glyphs\"],[\"\"]);this._glyphsDidChange=!1}}_updateWorkerLayers(w,B){this.dispatcher.broadcast(\"UL\",{layers:this._serializeByIds(w,!1),removedIds:B})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(w,B={}){var Q;this._checkLoaded();let ee=this.serialize();if(w=B.transformStyle?B.transformStyle(ee,w):w,((Q=B.validate)===null||Q===void 0||Q)&&oa(this,a.u(w)))return!1;(w=a.aB(w)).layers=a.az(w.layers);let se=a.aC(ee,w),qe=this._getOperationsToPerform(se);if(qe.unimplemented.length>0)throw new Error(`Unimplemented: ${qe.unimplemented.join(\", \")}.`);if(qe.operations.length===0)return!1;for(let je of qe.operations)je();return this.stylesheet=w,this._serializedLayers=null,!0}_getOperationsToPerform(w){let B=[],Q=[];for(let ee of w)switch(ee.command){case\"setCenter\":case\"setZoom\":case\"setBearing\":case\"setPitch\":continue;case\"addLayer\":B.push(()=>this.addLayer.apply(this,ee.args));break;case\"removeLayer\":B.push(()=>this.removeLayer.apply(this,ee.args));break;case\"setPaintProperty\":B.push(()=>this.setPaintProperty.apply(this,ee.args));break;case\"setLayoutProperty\":B.push(()=>this.setLayoutProperty.apply(this,ee.args));break;case\"setFilter\":B.push(()=>this.setFilter.apply(this,ee.args));break;case\"addSource\":B.push(()=>this.addSource.apply(this,ee.args));break;case\"removeSource\":B.push(()=>this.removeSource.apply(this,ee.args));break;case\"setLayerZoomRange\":B.push(()=>this.setLayerZoomRange.apply(this,ee.args));break;case\"setLight\":B.push(()=>this.setLight.apply(this,ee.args));break;case\"setGeoJSONSourceData\":B.push(()=>this.setGeoJSONSourceData.apply(this,ee.args));break;case\"setGlyphs\":B.push(()=>this.setGlyphs.apply(this,ee.args));break;case\"setSprite\":B.push(()=>this.setSprite.apply(this,ee.args));break;case\"setSky\":B.push(()=>this.setSky.apply(this,ee.args));break;case\"setTerrain\":B.push(()=>this.map.setTerrain.apply(this,ee.args));break;case\"setTransition\":B.push(()=>{});break;default:Q.push(ee.command)}return{operations:B,unimplemented:Q}}addImage(w,B){if(this.getImage(w))return this.fire(new a.j(new Error(`An image named \"${w}\" already exists.`)));this.imageManager.addImage(w,B),this._afterImageUpdated(w)}updateImage(w,B){this.imageManager.updateImage(w,B)}getImage(w){return this.imageManager.getImage(w)}removeImage(w){if(!this.getImage(w))return this.fire(new a.j(new Error(`An image named \"${w}\" does not exist.`)));this.imageManager.removeImage(w),this._afterImageUpdated(w)}_afterImageUpdated(w){this._availableImages=this.imageManager.listImages(),this._changedImages[w]=!0,this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(w,B,Q={}){if(this._checkLoaded(),this.sourceCaches[w]!==void 0)throw new Error(`Source \"${w}\" already exists.`);if(!B.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(B).join(\", \")}.`);if([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(B.type)>=0&&this._validate(a.u.source,`sources.${w}`,B,null,Q))return;this.map&&this.map._collectResourceTiming&&(B.collectResourceTiming=!0);let ee=this.sourceCaches[w]=new dt(w,B,this.dispatcher);ee.style=this,ee.setEventedParent(this,()=>({isSourceLoaded:ee.loaded(),source:ee.serialize(),sourceId:w})),ee.onAdd(this.map),this._changed=!0}removeSource(w){if(this._checkLoaded(),this.sourceCaches[w]===void 0)throw new Error(\"There is no source with this ID\");for(let Q in this._layers)if(this._layers[Q].source===w)return this.fire(new a.j(new Error(`Source \"${w}\" cannot be removed while layer \"${Q}\" is using it.`)));let B=this.sourceCaches[w];delete this.sourceCaches[w],delete this._updatedSources[w],B.fire(new a.k(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:w})),B.setEventedParent(null),B.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(w,B){if(this._checkLoaded(),this.sourceCaches[w]===void 0)throw new Error(`There is no source with this ID=${w}`);let Q=this.sourceCaches[w].getSource();if(Q.type!==\"geojson\")throw new Error(`geojsonSource.type is ${Q.type}, which is !== 'geojson`);Q.setData(B),this._changed=!0}getSource(w){return this.sourceCaches[w]&&this.sourceCaches[w].getSource()}addLayer(w,B,Q={}){this._checkLoaded();let ee=w.id;if(this.getLayer(ee))return void this.fire(new a.j(new Error(`Layer \"${ee}\" already exists on this map.`)));let se;if(w.type===\"custom\"){if(oa(this,a.aD(w)))return;se=a.aA(w)}else{if(\"source\"in w&&typeof w.source==\"object\"&&(this.addSource(ee,w.source),w=a.aB(w),w=a.e(w,{source:ee})),this._validate(a.u.layer,`layers.${ee}`,w,{arrayIndex:-1},Q))return;se=a.aA(w),this._validateLayer(se),se.setEventedParent(this,{layer:{id:ee}})}let qe=B?this._order.indexOf(B):this._order.length;if(B&&qe===-1)this.fire(new a.j(new Error(`Cannot add layer \"${ee}\" before non-existing layer \"${B}\".`)));else{if(this._order.splice(qe,0,ee),this._layerOrderChanged=!0,this._layers[ee]=se,this._removedLayers[ee]&&se.source&&se.type!==\"custom\"){let je=this._removedLayers[ee];delete this._removedLayers[ee],je.type!==se.type?this._updatedSources[se.source]=\"clear\":(this._updatedSources[se.source]=\"reload\",this.sourceCaches[se.source].pause())}this._updateLayer(se),se.onAdd&&se.onAdd(this.map)}}moveLayer(w,B){if(this._checkLoaded(),this._changed=!0,!this._layers[w])return void this.fire(new a.j(new Error(`The layer '${w}' does not exist in the map's style and cannot be moved.`)));if(w===B)return;let Q=this._order.indexOf(w);this._order.splice(Q,1);let ee=B?this._order.indexOf(B):this._order.length;B&&ee===-1?this.fire(new a.j(new Error(`Cannot move layer \"${w}\" before non-existing layer \"${B}\".`))):(this._order.splice(ee,0,w),this._layerOrderChanged=!0)}removeLayer(w){this._checkLoaded();let B=this._layers[w];if(!B)return void this.fire(new a.j(new Error(`Cannot remove non-existing layer \"${w}\".`)));B.setEventedParent(null);let Q=this._order.indexOf(w);this._order.splice(Q,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[w]=B,delete this._layers[w],this._serializedLayers&&delete this._serializedLayers[w],delete this._updatedLayers[w],delete this._updatedPaintProps[w],B.onRemove&&B.onRemove(this.map)}getLayer(w){return this._layers[w]}getLayersOrder(){return[...this._order]}hasLayer(w){return w in this._layers}setLayerZoomRange(w,B,Q){this._checkLoaded();let ee=this.getLayer(w);ee?ee.minzoom===B&&ee.maxzoom===Q||(B!=null&&(ee.minzoom=B),Q!=null&&(ee.maxzoom=Q),this._updateLayer(ee)):this.fire(new a.j(new Error(`Cannot set the zoom range of non-existing layer \"${w}\".`)))}setFilter(w,B,Q={}){this._checkLoaded();let ee=this.getLayer(w);if(ee){if(!a.aE(ee.filter,B))return B==null?(ee.filter=void 0,void this._updateLayer(ee)):void(this._validate(a.u.filter,`layers.${ee.id}.filter`,B,null,Q)||(ee.filter=a.aB(B),this._updateLayer(ee)))}else this.fire(new a.j(new Error(`Cannot filter non-existing layer \"${w}\".`)))}getFilter(w){return a.aB(this.getLayer(w).filter)}setLayoutProperty(w,B,Q,ee={}){this._checkLoaded();let se=this.getLayer(w);se?a.aE(se.getLayoutProperty(B),Q)||(se.setLayoutProperty(B,Q,ee),this._updateLayer(se)):this.fire(new a.j(new Error(`Cannot style non-existing layer \"${w}\".`)))}getLayoutProperty(w,B){let Q=this.getLayer(w);if(Q)return Q.getLayoutProperty(B);this.fire(new a.j(new Error(`Cannot get style of non-existing layer \"${w}\".`)))}setPaintProperty(w,B,Q,ee={}){this._checkLoaded();let se=this.getLayer(w);se?a.aE(se.getPaintProperty(B),Q)||(se.setPaintProperty(B,Q,ee)&&this._updateLayer(se),this._changed=!0,this._updatedPaintProps[w]=!0,this._serializedLayers=null):this.fire(new a.j(new Error(`Cannot style non-existing layer \"${w}\".`)))}getPaintProperty(w,B){return this.getLayer(w).getPaintProperty(B)}setFeatureState(w,B){this._checkLoaded();let Q=w.source,ee=w.sourceLayer,se=this.sourceCaches[Q];if(se===void 0)return void this.fire(new a.j(new Error(`The source '${Q}' does not exist in the map's style.`)));let qe=se.getSource().type;qe===\"geojson\"&&ee?this.fire(new a.j(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):qe!==\"vector\"||ee?(w.id===void 0&&this.fire(new a.j(new Error(\"The feature id parameter must be provided.\"))),se.setFeatureState(ee,w.id,B)):this.fire(new a.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}removeFeatureState(w,B){this._checkLoaded();let Q=w.source,ee=this.sourceCaches[Q];if(ee===void 0)return void this.fire(new a.j(new Error(`The source '${Q}' does not exist in the map's style.`)));let se=ee.getSource().type,qe=se===\"vector\"?w.sourceLayer:void 0;se!==\"vector\"||qe?B&&typeof w.id!=\"string\"&&typeof w.id!=\"number\"?this.fire(new a.j(new Error(\"A feature id is required to remove its specific state property.\"))):ee.removeFeatureState(qe,w.id,B):this.fire(new a.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}getFeatureState(w){this._checkLoaded();let B=w.source,Q=w.sourceLayer,ee=this.sourceCaches[B];if(ee!==void 0)return ee.getSource().type!==\"vector\"||Q?(w.id===void 0&&this.fire(new a.j(new Error(\"The feature id parameter must be provided.\"))),ee.getFeatureState(Q,w.id)):void this.fire(new a.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));this.fire(new a.j(new Error(`The source '${B}' does not exist in the map's style.`)))}getTransition(){return a.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let w=a.aF(this.sourceCaches,se=>se.serialize()),B=this._serializeByIds(this._order,!0),Q=this.map.getTerrain()||void 0,ee=this.stylesheet;return a.aG({version:ee.version,name:ee.name,metadata:ee.metadata,light:ee.light,sky:ee.sky,center:ee.center,zoom:ee.zoom,bearing:ee.bearing,pitch:ee.pitch,sprite:ee.sprite,glyphs:ee.glyphs,transition:ee.transition,sources:w,layers:B,terrain:Q},se=>se!==void 0)}_updateLayer(w){this._updatedLayers[w.id]=!0,w.source&&!this._updatedSources[w.source]&&this.sourceCaches[w.source].getSource().type!==\"raster\"&&(this._updatedSources[w.source]=\"reload\",this.sourceCaches[w.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(w){let B=qe=>this._layers[qe].type===\"fill-extrusion\",Q={},ee=[];for(let qe=this._order.length-1;qe>=0;qe--){let je=this._order[qe];if(B(je)){Q[je]=qe;for(let it of w){let yt=it[je];if(yt)for(let Ot of yt)ee.push(Ot)}}}ee.sort((qe,je)=>je.intersectionZ-qe.intersectionZ);let se=[];for(let qe=this._order.length-1;qe>=0;qe--){let je=this._order[qe];if(B(je))for(let it=ee.length-1;it>=0;it--){let yt=ee[it].feature;if(Q[yt.layer.id]<qe)break;se.push(yt),ee.pop()}else for(let it of w){let yt=it[je];if(yt)for(let Ot of yt)se.push(Ot.feature)}}return se}queryRenderedFeatures(w,B,Q){B&&B.filter&&this._validate(a.u.filter,\"queryRenderedFeatures.filter\",B.filter,null,B);let ee={};if(B&&B.layers){if(!Array.isArray(B.layers))return this.fire(new a.j(new Error(\"parameters.layers must be an Array.\"))),[];for(let je of B.layers){let it=this._layers[je];if(!it)return this.fire(new a.j(new Error(`The layer '${je}' does not exist in the map's style and cannot be queried for features.`))),[];ee[it.source]=!0}}let se=[];B.availableImages=this._availableImages;let qe=this._serializedAllLayers();for(let je in this.sourceCaches)B.layers&&!ee[je]||se.push(Ce(this.sourceCaches[je],this._layers,qe,w,B,Q));return this.placement&&se.push(function(je,it,yt,Ot,Nt,hr,Sr){let he={},be=hr.queryRenderedSymbols(Ot),Pe=[];for(let Oe of Object.keys(be).map(Number))Pe.push(Sr[Oe]);Pe.sort(me);for(let Oe of Pe){let Je=Oe.featureIndex.lookupSymbolFeatures(be[Oe.bucketInstanceId],it,Oe.bucketIndex,Oe.sourceLayerIndex,Nt.filter,Nt.layers,Nt.availableImages,je);for(let He in Je){let et=he[He]=he[He]||[],Mt=Je[He];Mt.sort((Dt,Ut)=>{let tr=Oe.featureSortOrder;if(tr){let mr=tr.indexOf(Dt.featureIndex);return tr.indexOf(Ut.featureIndex)-mr}return Ut.featureIndex-Dt.featureIndex});for(let Dt of Mt)et.push(Dt)}}for(let Oe in he)he[Oe].forEach(Je=>{let He=Je.feature,et=yt[je[Oe].source].getFeatureState(He.layer[\"source-layer\"],He.id);He.source=He.layer.source,He.layer[\"source-layer\"]&&(He.sourceLayer=He.layer[\"source-layer\"]),He.state=et});return he}(this._layers,qe,this.sourceCaches,w,B,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(se)}querySourceFeatures(w,B){B&&B.filter&&this._validate(a.u.filter,\"querySourceFeatures.filter\",B.filter,null,B);let Q=this.sourceCaches[w];return Q?function(ee,se){let qe=ee.getRenderableIds().map(yt=>ee.getTileByID(yt)),je=[],it={};for(let yt=0;yt<qe.length;yt++){let Ot=qe[yt],Nt=Ot.tileID.canonical.key;it[Nt]||(it[Nt]=!0,Ot.querySourceFeatures(je,se))}return je}(Q,B):[]}getLight(){return this.light.getLight()}setLight(w,B={}){this._checkLoaded();let Q=this.light.getLight(),ee=!1;for(let qe in w)if(!a.aE(w[qe],Q[qe])){ee=!0;break}if(!ee)return;let se={now:u.now(),transition:a.e({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(w,B),this.light.updateTransitions(se)}getSky(){var w;return(w=this.stylesheet)===null||w===void 0?void 0:w.sky}setSky(w,B={}){let Q=this.getSky(),ee=!1;if(!w&&!Q)return;if(w&&!Q)ee=!0;else if(!w&&Q)ee=!0;else for(let qe in w)if(!a.aE(w[qe],Q[qe])){ee=!0;break}if(!ee)return;let se={now:u.now(),transition:a.e({duration:300,delay:0},this.stylesheet.transition)};this.stylesheet.sky=w,this.sky.setSky(w,B),this.sky.updateTransitions(se)}_validate(w,B,Q,ee,se={}){return(!se||se.validate!==!1)&&oa(this,w.call(a.u,a.e({key:B,style:this.serialize(),value:Q,styleSpec:a.v},ee)))}_remove(w=!0){this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._loadStyleRequest&&(this._loadStyleRequest.abort(),this._loadStyleRequest=null),this._spriteRequest&&(this._spriteRequest.abort(),this._spriteRequest=null),bt().off(er,this._rtlPluginLoaded);for(let B in this._layers)this._layers[B].setEventedParent(null);for(let B in this.sourceCaches){let Q=this.sourceCaches[B];Q.setEventedParent(null),Q.onRemove(this.map)}this.imageManager.setEventedParent(null),this.setEventedParent(null),w&&this.dispatcher.broadcast(\"RM\",void 0),this.dispatcher.remove(w)}_clearSource(w){this.sourceCaches[w].clearTiles()}_reloadSource(w){this.sourceCaches[w].resume(),this.sourceCaches[w].reload()}_updateSources(w){for(let B in this.sourceCaches)this.sourceCaches[B].update(w,this.map.terrain)}_generateCollisionBoxes(){for(let w in this.sourceCaches)this._reloadSource(w)}_updatePlacement(w,B,Q,ee,se=!1){let qe=!1,je=!1,it={};for(let yt of this._order){let Ot=this._layers[yt];if(Ot.type!==\"symbol\")continue;if(!it[Ot.source]){let hr=this.sourceCaches[Ot.source];it[Ot.source]=hr.getRenderableIds(!0).map(Sr=>hr.getTileByID(Sr)).sort((Sr,he)=>he.tileID.overscaledZ-Sr.tileID.overscaledZ||(Sr.tileID.isLessThan(he.tileID)?-1:1))}let Nt=this.crossTileSymbolIndex.addLayer(Ot,it[Ot.source],w.center.lng);qe=qe||Nt}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((se=se||this._layerOrderChanged||Q===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(u.now(),w.zoom))&&(this.pauseablePlacement=new ka(w,this.map.terrain,this._order,se,B,Q,ee,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,it),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(u.now()),je=!0),qe&&this.pauseablePlacement.placement.setStale()),je||qe)for(let yt of this._order){let Ot=this._layers[yt];Ot.type===\"symbol\"&&this.placement.updateLayerOpacities(Ot,it[Ot.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(u.now())}_releaseSymbolFadeTiles(){for(let w in this.sourceCaches)this.sourceCaches[w].releaseSymbolFadeTiles()}getImages(w,B){return a._(this,void 0,void 0,function*(){let Q=yield this.imageManager.getImages(B.icons);this._updateTilesForChangedImages();let ee=this.sourceCaches[B.source];return ee&&ee.setDependencies(B.tileID.key,B.type,B.icons),Q})}getGlyphs(w,B){return a._(this,void 0,void 0,function*(){let Q=yield this.glyphManager.getGlyphs(B.stacks),ee=this.sourceCaches[B.source];return ee&&ee.setDependencies(B.tileID.key,B.type,[\"\"]),Q})}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(w,B={}){this._checkLoaded(),w&&this._validate(a.u.glyphs,\"glyphs\",w,null,B)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=w,this.glyphManager.entries={},this.glyphManager.setURL(w))}addSprite(w,B,Q={},ee){this._checkLoaded();let se=[{id:w,url:B}],qe=[...C(this.stylesheet.sprite),...se];this._validate(a.u.sprite,\"sprite\",qe,null,Q)||(this.stylesheet.sprite=qe,this._loadSprite(se,!0,ee))}removeSprite(w){this._checkLoaded();let B=C(this.stylesheet.sprite);if(B.find(Q=>Q.id===w)){if(this._spritesImagesIds[w])for(let Q of this._spritesImagesIds[w])this.imageManager.removeImage(Q),this._changedImages[Q]=!0;B.splice(B.findIndex(Q=>Q.id===w),1),this.stylesheet.sprite=B.length>0?B:void 0,delete this._spritesImagesIds[w],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"}))}else this.fire(new a.j(new Error(`Sprite \"${w}\" doesn't exists on this map.`)))}getSprite(){return C(this.stylesheet.sprite)}setSprite(w,B={},Q){this._checkLoaded(),w&&this._validate(a.u.sprite,\"sprite\",w,null,B)||(this.stylesheet.sprite=w,w?this._loadSprite(w,!0,Q):(this._unloadSprite(),Q&&Q(null)))}}var oo=a.Y([{name:\"a_pos\",type:\"Int16\",components:2}]);let xn={prelude:_t(`#ifdef GL_ES\n", - "precision 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\n", - "precision 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\n", - "vec2 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\n", - "uniform 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\n", - "const 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\n", - "highp 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\n", - "return 1.0;\n", - "#endif\n", - "}float calculate_visibility(vec4 pos) {\n", - "#ifdef TERRAIN3D\n", - "vec3 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\n", - "return 1.0;\n", - "#endif\n", - "}float ele(vec2 pos) {\n", - "#ifdef TERRAIN3D\n", - "vec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n", - "#else\n", - "return 0.0;\n", - "#endif\n", - "}float get_elevation(vec2 pos) {\n", - "#ifdef TERRAIN3D\n", - "vec2 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\n", - "return 0.0;\n", - "#endif\n", - "}`),background:_t(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_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:_t(`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\n", - "gl_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:_t(`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\n", - "void 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\n", - "vec2 extrude=v_data.xy;float extrude_length=length(extrude);float antialiased_blur=v_data.z;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\n", - "gl_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\n", - "void 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\n", - "vec2 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;}}float antialiasblur=-max(1.0/u_device_pixel_ratio/(radius+stroke_width),blur);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:_t(\"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:_t(`uniform highp float u_intensity;varying vec2 v_extrude;\n", - "#pragma mapbox: define highp float weight\n", - "#define GAUSS_COEF 0.3989422804014327\n", - "void main() {\n", - "#pragma mapbox: initialize highp float weight\n", - "float 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\n", - "gl_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\n", - "const highp float ZERO=1.0/255.0/16.0;\n", - "#define GAUSS_COEF 0.3989422804014327\n", - "void main(void) {\n", - "#pragma mapbox: initialize highp float weight\n", - "#pragma mapbox: initialize mediump float radius\n", - "vec2 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,get_elevation(floor(a_pos*0.5)),1);gl_Position=u_matrix*pos;}`),heatmapTexture:_t(`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\n", - "gl_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:_t(\"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:_t(\"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:_t(\"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:_t(`#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_FragColor=color*opacity;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:_t(`varying vec2 v_pos;\n", - "#pragma mapbox: define highp vec4 outline_color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 outline_color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "float 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\n", - "gl_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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 outline_color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:_t(`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\n", - "void 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", - "vec2 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\n", - "gl_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\n", - "void 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\n", - "vec2 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:_t(`#ifdef GL_ES\n", - "precision highp float;\n", - "#endif\n", - "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\n", - "void 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", - "vec2 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\n", - "gl_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\n", - "void 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\n", - "vec2 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:_t(`varying vec4 v_color;void main() {gl_FragColor=v_color;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_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\n", - "attribute vec2 a_centroid;\n", - "#endif\n", - "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\n", - "void main() {\n", - "#pragma mapbox: initialize highp float base\n", - "#pragma mapbox: initialize highp float height\n", - "#pragma mapbox: initialize highp vec4 color\n", - "vec3 normal=a_normal_ed.xyz;\n", - "#ifdef TERRAIN3D\n", - "float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n", - "#else\n", - "float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n", - "#endif\n", - "base=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:_t(`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\n", - "void 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\n", - "vec2 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\n", - "gl_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\n", - "attribute vec2 a_centroid;\n", - "#endif\n", - "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\n", - "void 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\n", - "vec2 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\n", - "float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n", - "#else\n", - "float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n", - "#endif\n", - "base=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:_t(`#ifdef GL_ES\n", - "precision highp float;\n", - "#endif\n", - "uniform 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\n", - "gl_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:_t(`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\n", - "void 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\n", - "gl_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:_t(`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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float blur\n", - "#pragma mapbox: initialize lowp float opacity\n", - "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);gl_FragColor=color*(alpha*opacity);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,`\n", - "#define scale 0.015873016\n", - "attribute 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\n", - "void 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", - "float 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\n", - "v_gamma_scale=1.0;\n", - "#else\n", - "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;\n", - "#endif\n", - "v_width2=vec2(outset,inset);}`),lineGradient:_t(`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\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float blur\n", - "#pragma mapbox: initialize lowp float opacity\n", - "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);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,`\n", - "#define scale 0.015873016\n", - "attribute 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\n", - "void 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\n", - "float 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\n", - "v_gamma_scale=1.0;\n", - "#else\n", - "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;\n", - "#endif\n", - "v_width2=vec2(outset,inset);}`),linePattern:_t(`#ifdef GL_ES\n", - "precision highp float;\n", - "#endif\n", - "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\n", - "void 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\n", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,`\n", - "#define scale 0.015873016\n", - "#define LINE_DISTANCE_SCALE 2.0\n", - "attribute 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\n", - "void 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\n", - "float 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\n", - "v_gamma_scale=1.0;\n", - "#else\n", - "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;\n", - "#endif\n", - "v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:_t(`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\n", - "void 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\n", - "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 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,`\n", - "#define scale 0.015873016\n", - "#define LINE_DISTANCE_SCALE 2.0\n", - "attribute 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\n", - "void 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\n", - "float 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\n", - "v_gamma_scale=1.0;\n", - "#else\n", - "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;\n", - "#endif\n", - "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);}`),raster:_t(`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\n", - "gl_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:_t(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float opacity\n", - "lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_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\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float opacity\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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:_t(`#define SDF_PX 8.0\n", - "uniform 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\n", - "void 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\n", - "float 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\n", - "gl_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\n", - "void 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\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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:_t(`#define SDF_PX 8.0\n", - "#define SDF 1.0\n", - "#define ICON 0.0\n", - "uniform 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\n", - "void 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\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "return;}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\n", - "gl_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\n", - "void 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\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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:_t(\"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:_t(\"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:_t(\"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:_t(\"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 _t(le,w){let B=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,Q=w.match(/attribute ([\\w]+) ([\\w]+)/g),ee=le.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),se=w.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),qe=se?se.concat(ee):ee,je={};return{fragmentSource:le=le.replace(B,(it,yt,Ot,Nt,hr)=>(je[hr]=!0,yt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - "varying ${Ot} ${Nt} ${hr};\n", - "#else\n", - "uniform ${Ot} ${Nt} u_${hr};\n", - "#endif\n", - "`:`\n", - "#ifdef HAS_UNIFORM_u_${hr}\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`)),vertexSource:w=w.replace(B,(it,yt,Ot,Nt,hr)=>{let Sr=Nt===\"float\"?\"vec2\":\"vec4\",he=hr.match(/color/)?\"color\":Sr;return je[hr]?yt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - "uniform lowp float u_${hr}_t;\n", - "attribute ${Ot} ${Sr} a_${hr};\n", - "varying ${Ot} ${Nt} ${hr};\n", - "#else\n", - "uniform ${Ot} ${Nt} u_${hr};\n", - "#endif\n", - "`:he===\"vec4\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - " ${hr} = a_${hr};\n", - "#else\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`:`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - " ${hr} = unpack_mix_${he}(a_${hr}, u_${hr}_t);\n", - "#else\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`:yt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - "uniform lowp float u_${hr}_t;\n", - "attribute ${Ot} ${Sr} a_${hr};\n", - "#else\n", - "uniform ${Ot} ${Nt} u_${hr};\n", - "#endif\n", - "`:he===\"vec4\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - " ${Ot} ${Nt} ${hr} = a_${hr};\n", - "#else\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`:`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - " ${Ot} ${Nt} ${hr} = unpack_mix_${he}(a_${hr}, u_${hr}_t);\n", - "#else\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`}),staticAttributes:Q,staticUniforms:qe}}class br{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(w,B,Q,ee,se,qe,je,it,yt){this.context=w;let Ot=this.boundPaintVertexBuffers.length!==ee.length;for(let Nt=0;!Ot&&Nt<ee.length;Nt++)this.boundPaintVertexBuffers[Nt]!==ee[Nt]&&(Ot=!0);!this.vao||this.boundProgram!==B||this.boundLayoutVertexBuffer!==Q||Ot||this.boundIndexBuffer!==se||this.boundVertexOffset!==qe||this.boundDynamicVertexBuffer!==je||this.boundDynamicVertexBuffer2!==it||this.boundDynamicVertexBuffer3!==yt?this.freshBind(B,Q,ee,se,qe,je,it,yt):(w.bindVertexArray.set(this.vao),je&&je.bind(),se&&se.dynamicDraw&&se.bind(),it&&it.bind(),yt&&yt.bind())}freshBind(w,B,Q,ee,se,qe,je,it){let yt=w.numAttributes,Ot=this.context,Nt=Ot.gl;this.vao&&this.destroy(),this.vao=Ot.createVertexArray(),Ot.bindVertexArray.set(this.vao),this.boundProgram=w,this.boundLayoutVertexBuffer=B,this.boundPaintVertexBuffers=Q,this.boundIndexBuffer=ee,this.boundVertexOffset=se,this.boundDynamicVertexBuffer=qe,this.boundDynamicVertexBuffer2=je,this.boundDynamicVertexBuffer3=it,B.enableAttributes(Nt,w);for(let hr of Q)hr.enableAttributes(Nt,w);qe&&qe.enableAttributes(Nt,w),je&&je.enableAttributes(Nt,w),it&&it.enableAttributes(Nt,w),B.bind(),B.setVertexAttribPointers(Nt,w,se);for(let hr of Q)hr.bind(),hr.setVertexAttribPointers(Nt,w,se);qe&&(qe.bind(),qe.setVertexAttribPointers(Nt,w,se)),ee&&ee.bind(),je&&(je.bind(),je.setVertexAttribPointers(Nt,w,se)),it&&(it.bind(),it.setVertexAttribPointers(Nt,w,se)),Ot.currentNumAttributes=yt}destroy(){this.vao&&(this.context.deleteVertexArray(this.vao),this.vao=null)}}let Hr=(le,w,B,Q,ee)=>({u_matrix:le,u_texture:0,u_ele_delta:w,u_fog_matrix:B,u_fog_color:Q?Q.properties.get(\"fog-color\"):a.aM.white,u_fog_ground_blend:Q?Q.properties.get(\"fog-ground-blend\"):1,u_fog_ground_blend_opacity:Q?Q.calculateFogBlendOpacity(ee):0,u_horizon_color:Q?Q.properties.get(\"horizon-color\"):a.aM.white,u_horizon_fog_blend:Q?Q.properties.get(\"horizon-fog-blend\"):1});function ti(le){let w=[];for(let B=0;B<le.length;B++){if(le[B]===null)continue;let Q=le[B].split(\" \");w.push(Q.pop())}return w}class zi{constructor(w,B,Q,ee,se,qe){let je=w.gl;this.program=je.createProgram();let it=ti(B.staticAttributes),yt=Q?Q.getBinderAttributes():[],Ot=it.concat(yt),Nt=xn.prelude.staticUniforms?ti(xn.prelude.staticUniforms):[],hr=B.staticUniforms?ti(B.staticUniforms):[],Sr=Q?Q.getBinderUniforms():[],he=Nt.concat(hr).concat(Sr),be=[];for(let Dt of he)be.indexOf(Dt)<0&&be.push(Dt);let Pe=Q?Q.defines():[];se&&Pe.push(\"#define OVERDRAW_INSPECTOR;\"),qe&&Pe.push(\"#define TERRAIN3D;\");let Oe=Pe.concat(xn.prelude.fragmentSource,B.fragmentSource).join(`\n", - "`),Je=Pe.concat(xn.prelude.vertexSource,B.vertexSource).join(`\n", - "`),He=je.createShader(je.FRAGMENT_SHADER);if(je.isContextLost())return void(this.failedToCreate=!0);if(je.shaderSource(He,Oe),je.compileShader(He),!je.getShaderParameter(He,je.COMPILE_STATUS))throw new Error(`Could not compile fragment shader: ${je.getShaderInfoLog(He)}`);je.attachShader(this.program,He);let et=je.createShader(je.VERTEX_SHADER);if(je.isContextLost())return void(this.failedToCreate=!0);if(je.shaderSource(et,Je),je.compileShader(et),!je.getShaderParameter(et,je.COMPILE_STATUS))throw new Error(`Could not compile vertex shader: ${je.getShaderInfoLog(et)}`);je.attachShader(this.program,et),this.attributes={};let Mt={};this.numAttributes=Ot.length;for(let Dt=0;Dt<this.numAttributes;Dt++)Ot[Dt]&&(je.bindAttribLocation(this.program,Dt,Ot[Dt]),this.attributes[Ot[Dt]]=Dt);if(je.linkProgram(this.program),!je.getProgramParameter(this.program,je.LINK_STATUS))throw new Error(`Program failed to link: ${je.getProgramInfoLog(this.program)}`);je.deleteShader(et),je.deleteShader(He);for(let Dt=0;Dt<be.length;Dt++){let Ut=be[Dt];if(Ut&&!Mt[Ut]){let tr=je.getUniformLocation(this.program,Ut);tr&&(Mt[Ut]=tr)}}this.fixedUniforms=ee(w,Mt),this.terrainUniforms=((Dt,Ut)=>({u_depth:new a.aH(Dt,Ut.u_depth),u_terrain:new a.aH(Dt,Ut.u_terrain),u_terrain_dim:new a.aI(Dt,Ut.u_terrain_dim),u_terrain_matrix:new a.aJ(Dt,Ut.u_terrain_matrix),u_terrain_unpack:new a.aK(Dt,Ut.u_terrain_unpack),u_terrain_exaggeration:new a.aI(Dt,Ut.u_terrain_exaggeration)}))(w,Mt),this.binderUniforms=Q?Q.getUniforms(w,Mt):[]}draw(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he,be,Pe,Oe,Je){let He=w.gl;if(this.failedToCreate)return;if(w.program.set(this.program),w.setDepthMode(Q),w.setStencilMode(ee),w.setColorMode(se),w.setCullFace(qe),it){w.activeTexture.set(He.TEXTURE2),He.bindTexture(He.TEXTURE_2D,it.depthTexture),w.activeTexture.set(He.TEXTURE3),He.bindTexture(He.TEXTURE_2D,it.texture);for(let Mt in this.terrainUniforms)this.terrainUniforms[Mt].set(it[Mt])}for(let Mt in this.fixedUniforms)this.fixedUniforms[Mt].set(je[Mt]);be&&be.setUniforms(w,this.binderUniforms,Sr,{zoom:he});let et=0;switch(B){case He.LINES:et=2;break;case He.TRIANGLES:et=3;break;case He.LINE_STRIP:et=1}for(let Mt of hr.get()){let Dt=Mt.vaos||(Mt.vaos={});(Dt[yt]||(Dt[yt]=new br)).bind(w,this,Ot,be?be.getPaintVertexBuffers():[],Nt,Mt.vertexOffset,Pe,Oe,Je),He.drawElements(B,Mt.primitiveLength*et,He.UNSIGNED_SHORT,Mt.primitiveOffset*et*2)}}}function Yi(le,w,B){let Q=1/nn(B,1,w.transform.tileZoom),ee=Math.pow(2,B.tileID.overscaledZ),se=B.tileSize*Math.pow(2,w.transform.tileZoom)/ee,qe=se*(B.tileID.canonical.x+B.tileID.wrap*ee),je=se*B.tileID.canonical.y;return{u_image:0,u_texsize:B.imageAtlasTexture.size,u_scale:[Q,le.fromScale,le.toScale],u_fade:le.t,u_pixel_coord_upper:[qe>>16,je>>16],u_pixel_coord_lower:[65535&qe,65535&je]}}let an=(le,w,B,Q)=>{let ee=w.style.light,se=ee.properties.get(\"position\"),qe=[se.x,se.y,se.z],je=function(){var yt=new a.A(9);return a.A!=Float32Array&&(yt[1]=0,yt[2]=0,yt[3]=0,yt[5]=0,yt[6]=0,yt[7]=0),yt[0]=1,yt[4]=1,yt[8]=1,yt}();ee.properties.get(\"anchor\")===\"viewport\"&&function(yt,Ot){var Nt=Math.sin(Ot),hr=Math.cos(Ot);yt[0]=hr,yt[1]=Nt,yt[2]=0,yt[3]=-Nt,yt[4]=hr,yt[5]=0,yt[6]=0,yt[7]=0,yt[8]=1}(je,-w.transform.angle),function(yt,Ot,Nt){var hr=Ot[0],Sr=Ot[1],he=Ot[2];yt[0]=hr*Nt[0]+Sr*Nt[3]+he*Nt[6],yt[1]=hr*Nt[1]+Sr*Nt[4]+he*Nt[7],yt[2]=hr*Nt[2]+Sr*Nt[5]+he*Nt[8]}(qe,qe,je);let it=ee.properties.get(\"color\");return{u_matrix:le,u_lightpos:qe,u_lightintensity:ee.properties.get(\"intensity\"),u_lightcolor:[it.r,it.g,it.b],u_vertical_gradient:+B,u_opacity:Q}},hi=(le,w,B,Q,ee,se,qe)=>a.e(an(le,w,B,Q),Yi(se,w,qe),{u_height_factor:-Math.pow(2,ee.overscaledZ)/qe.tileSize/8}),Ji=le=>({u_matrix:le}),ua=(le,w,B,Q)=>a.e(Ji(le),Yi(B,w,Q)),Fn=(le,w)=>({u_matrix:le,u_world:w}),Sa=(le,w,B,Q,ee)=>a.e(ua(le,w,B,Q),{u_world:ee}),go=(le,w,B,Q)=>{let ee=le.transform,se,qe;if(Q.paint.get(\"circle-pitch-alignment\")===\"map\"){let je=nn(B,1,ee.zoom);se=!0,qe=[je,je]}else se=!1,qe=ee.pixelsToGLUnits;return{u_camera_to_center_distance:ee.cameraToCenterDistance,u_scale_with_map:+(Q.paint.get(\"circle-pitch-scale\")===\"map\"),u_matrix:le.translatePosMatrix(w.posMatrix,B,Q.paint.get(\"circle-translate\"),Q.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+se,u_device_pixel_ratio:le.pixelRatio,u_extrude_scale:qe}},Oo=(le,w,B)=>({u_matrix:le,u_inv_matrix:w,u_camera_to_center_distance:B.cameraToCenterDistance,u_viewport_size:[B.width,B.height]}),ho=(le,w,B=1)=>({u_matrix:le,u_color:w,u_overlay:0,u_overlay_scale:B}),Mo=le=>({u_matrix:le}),xo=(le,w,B,Q)=>({u_matrix:le,u_extrude_scale:nn(w,1,B),u_intensity:Q}),zs=(le,w,B,Q)=>{let ee=a.H();a.aP(ee,0,le.width,le.height,0,0,1);let se=le.context.gl;return{u_matrix:ee,u_world:[se.drawingBufferWidth,se.drawingBufferHeight],u_image:B,u_color_ramp:Q,u_opacity:w.paint.get(\"heatmap-opacity\")}};function ks(le,w){let B=Math.pow(2,w.canonical.z),Q=w.canonical.y;return[new a.Z(0,Q/B).toLngLat().lat,new a.Z(0,(Q+1)/B).toLngLat().lat]}let Zs=(le,w,B,Q)=>{let ee=le.transform;return{u_matrix:Cs(le,w,B,Q),u_ratio:1/nn(w,1,ee.zoom),u_device_pixel_ratio:le.pixelRatio,u_units_to_pixels:[1/ee.pixelsToGLUnits[0],1/ee.pixelsToGLUnits[1]]}},Xs=(le,w,B,Q,ee)=>a.e(Zs(le,w,B,ee),{u_image:0,u_image_height:Q}),wl=(le,w,B,Q,ee)=>{let se=le.transform,qe=cl(w,se);return{u_matrix:Cs(le,w,B,ee),u_texsize:w.imageAtlasTexture.size,u_ratio:1/nn(w,1,se.zoom),u_device_pixel_ratio:le.pixelRatio,u_image:0,u_scale:[qe,Q.fromScale,Q.toScale],u_fade:Q.t,u_units_to_pixels:[1/se.pixelsToGLUnits[0],1/se.pixelsToGLUnits[1]]}},os=(le,w,B,Q,ee,se)=>{let qe=le.lineAtlas,je=cl(w,le.transform),it=B.layout.get(\"line-cap\")===\"round\",yt=qe.getDash(Q.from,it),Ot=qe.getDash(Q.to,it),Nt=yt.width*ee.fromScale,hr=Ot.width*ee.toScale;return a.e(Zs(le,w,B,se),{u_patternscale_a:[je/Nt,-yt.height/2],u_patternscale_b:[je/hr,-Ot.height/2],u_sdfgamma:qe.width/(256*Math.min(Nt,hr)*le.pixelRatio)/2,u_image:0,u_tex_y_a:yt.y,u_tex_y_b:Ot.y,u_mix:ee.t})};function cl(le,w){return 1/nn(le,1,w.tileZoom)}function Cs(le,w,B,Q){return le.translatePosMatrix(Q?Q.posMatrix:w.tileID.posMatrix,w,B.paint.get(\"line-translate\"),B.paint.get(\"line-translate-anchor\"))}let ml=(le,w,B,Q,ee)=>{return{u_matrix:le,u_tl_parent:w,u_scale_parent:B,u_buffer_scale:1,u_fade_t:Q.mix,u_opacity:Q.opacity*ee.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:ee.paint.get(\"raster-brightness-min\"),u_brightness_high:ee.paint.get(\"raster-brightness-max\"),u_saturation_factor:(qe=ee.paint.get(\"raster-saturation\"),qe>0?1-1/(1.001-qe):-qe),u_contrast_factor:(se=ee.paint.get(\"raster-contrast\"),se>0?1/(1-se):1+se),u_spin_weights:Ys(ee.paint.get(\"raster-hue-rotate\"))};var se,qe};function Ys(le){le*=Math.PI/180;let w=Math.sin(le),B=Math.cos(le);return[(2*B+1)/3,(-Math.sqrt(3)*w-B+1)/3,(Math.sqrt(3)*w-B+1)/3]}let Hs=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr)=>{let he=qe.transform;return{u_is_size_zoom_constant:+(le===\"constant\"||le===\"source\"),u_is_size_feature_constant:+(le===\"constant\"||le===\"camera\"),u_size_t:w?w.uSizeT:0,u_size:w?w.uSize:0,u_camera_to_center_distance:he.cameraToCenterDistance,u_pitch:he.pitch/360*2*Math.PI,u_rotate_symbol:+B,u_aspect_ratio:he.width/he.height,u_fade_change:qe.options.fadeDuration?qe.symbolFadeChange:1,u_matrix:je,u_label_plane_matrix:it,u_coord_matrix:yt,u_is_text:+Nt,u_pitch_with_map:+Q,u_is_along_line:ee,u_is_variable_anchor:se,u_texsize:hr,u_texture:0,u_translation:Ot,u_pitched_scale:Sr}},Eo=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he)=>{let be=qe.transform;return a.e(Hs(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,he),{u_gamma_scale:Q?Math.cos(be._pitch)*be.cameraToCenterDistance:1,u_device_pixel_ratio:qe.pixelRatio,u_is_halo:+Sr})},fs=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr)=>a.e(Eo(le,w,B,Q,ee,se,qe,je,it,yt,Ot,!0,Nt,!0,Sr),{u_texsize_icon:hr,u_texture_icon:1}),Ql=(le,w,B)=>({u_matrix:le,u_opacity:w,u_color:B}),Hu=(le,w,B,Q,ee,se)=>a.e(function(qe,je,it,yt){let Ot=it.imageManager.getPattern(qe.from.toString()),Nt=it.imageManager.getPattern(qe.to.toString()),{width:hr,height:Sr}=it.imageManager.getPixelSize(),he=Math.pow(2,yt.tileID.overscaledZ),be=yt.tileSize*Math.pow(2,it.transform.tileZoom)/he,Pe=be*(yt.tileID.canonical.x+yt.tileID.wrap*he),Oe=be*yt.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:Ot.tl,u_pattern_br_a:Ot.br,u_pattern_tl_b:Nt.tl,u_pattern_br_b:Nt.br,u_texsize:[hr,Sr],u_mix:je.t,u_pattern_size_a:Ot.displaySize,u_pattern_size_b:Nt.displaySize,u_scale_a:je.fromScale,u_scale_b:je.toScale,u_tile_units_to_pixels:1/nn(yt,1,it.transform.tileZoom),u_pixel_coord_upper:[Pe>>16,Oe>>16],u_pixel_coord_lower:[65535&Pe,65535&Oe]}}(Q,se,B,ee),{u_matrix:le,u_opacity:w}),fc={fillExtrusion:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_lightpos:new a.aN(le,w.u_lightpos),u_lightintensity:new a.aI(le,w.u_lightintensity),u_lightcolor:new a.aN(le,w.u_lightcolor),u_vertical_gradient:new a.aI(le,w.u_vertical_gradient),u_opacity:new a.aI(le,w.u_opacity)}),fillExtrusionPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_lightpos:new a.aN(le,w.u_lightpos),u_lightintensity:new a.aI(le,w.u_lightintensity),u_lightcolor:new a.aN(le,w.u_lightcolor),u_vertical_gradient:new a.aI(le,w.u_vertical_gradient),u_height_factor:new a.aI(le,w.u_height_factor),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade),u_opacity:new a.aI(le,w.u_opacity)}),fill:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix)}),fillPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),fillOutline:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world)}),fillOutlinePattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),circle:(le,w)=>({u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_scale_with_map:new a.aH(le,w.u_scale_with_map),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_extrude_scale:new a.aO(le,w.u_extrude_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_matrix:new a.aJ(le,w.u_matrix)}),collisionBox:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_pixel_extrude_scale:new a.aO(le,w.u_pixel_extrude_scale)}),collisionCircle:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_inv_matrix:new a.aJ(le,w.u_inv_matrix),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_viewport_size:new a.aO(le,w.u_viewport_size)}),debug:(le,w)=>({u_color:new a.aL(le,w.u_color),u_matrix:new a.aJ(le,w.u_matrix),u_overlay:new a.aH(le,w.u_overlay),u_overlay_scale:new a.aI(le,w.u_overlay_scale)}),clippingMask:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix)}),heatmap:(le,w)=>({u_extrude_scale:new a.aI(le,w.u_extrude_scale),u_intensity:new a.aI(le,w.u_intensity),u_matrix:new a.aJ(le,w.u_matrix)}),heatmapTexture:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world),u_image:new a.aH(le,w.u_image),u_color_ramp:new a.aH(le,w.u_color_ramp),u_opacity:new a.aI(le,w.u_opacity)}),hillshade:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_latrange:new a.aO(le,w.u_latrange),u_light:new a.aO(le,w.u_light),u_shadow:new a.aL(le,w.u_shadow),u_highlight:new a.aL(le,w.u_highlight),u_accent:new a.aL(le,w.u_accent)}),hillshadePrepare:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_dimension:new a.aO(le,w.u_dimension),u_zoom:new a.aI(le,w.u_zoom),u_unpack:new a.aK(le,w.u_unpack)}),line:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels)}),lineGradient:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_image:new a.aH(le,w.u_image),u_image_height:new a.aI(le,w.u_image_height)}),linePattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texsize:new a.aO(le,w.u_texsize),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_image:new a.aH(le,w.u_image),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),lineSDF:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_patternscale_a:new a.aO(le,w.u_patternscale_a),u_patternscale_b:new a.aO(le,w.u_patternscale_b),u_sdfgamma:new a.aI(le,w.u_sdfgamma),u_image:new a.aH(le,w.u_image),u_tex_y_a:new a.aI(le,w.u_tex_y_a),u_tex_y_b:new a.aI(le,w.u_tex_y_b),u_mix:new a.aI(le,w.u_mix)}),raster:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_tl_parent:new a.aO(le,w.u_tl_parent),u_scale_parent:new a.aI(le,w.u_scale_parent),u_buffer_scale:new a.aI(le,w.u_buffer_scale),u_fade_t:new a.aI(le,w.u_fade_t),u_opacity:new a.aI(le,w.u_opacity),u_image0:new a.aH(le,w.u_image0),u_image1:new a.aH(le,w.u_image1),u_brightness_low:new a.aI(le,w.u_brightness_low),u_brightness_high:new a.aI(le,w.u_brightness_high),u_saturation_factor:new a.aI(le,w.u_saturation_factor),u_contrast_factor:new a.aI(le,w.u_contrast_factor),u_spin_weights:new a.aN(le,w.u_spin_weights)}),symbolIcon:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texture:new a.aH(le,w.u_texture),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),symbolSDF:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texture:new a.aH(le,w.u_texture),u_gamma_scale:new a.aI(le,w.u_gamma_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_is_halo:new a.aH(le,w.u_is_halo),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),symbolTextAndIcon:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texsize_icon:new a.aO(le,w.u_texsize_icon),u_texture:new a.aH(le,w.u_texture),u_texture_icon:new a.aH(le,w.u_texture_icon),u_gamma_scale:new a.aI(le,w.u_gamma_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_is_halo:new a.aH(le,w.u_is_halo),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),background:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_opacity:new a.aI(le,w.u_opacity),u_color:new a.aL(le,w.u_color)}),backgroundPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_opacity:new a.aI(le,w.u_opacity),u_image:new a.aH(le,w.u_image),u_pattern_tl_a:new a.aO(le,w.u_pattern_tl_a),u_pattern_br_a:new a.aO(le,w.u_pattern_br_a),u_pattern_tl_b:new a.aO(le,w.u_pattern_tl_b),u_pattern_br_b:new a.aO(le,w.u_pattern_br_b),u_texsize:new a.aO(le,w.u_texsize),u_mix:new a.aI(le,w.u_mix),u_pattern_size_a:new a.aO(le,w.u_pattern_size_a),u_pattern_size_b:new a.aO(le,w.u_pattern_size_b),u_scale_a:new a.aI(le,w.u_scale_a),u_scale_b:new a.aI(le,w.u_scale_b),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_tile_units_to_pixels:new a.aI(le,w.u_tile_units_to_pixels)}),terrain:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texture:new a.aH(le,w.u_texture),u_ele_delta:new a.aI(le,w.u_ele_delta),u_fog_matrix:new a.aJ(le,w.u_fog_matrix),u_fog_color:new a.aL(le,w.u_fog_color),u_fog_ground_blend:new a.aI(le,w.u_fog_ground_blend),u_fog_ground_blend_opacity:new a.aI(le,w.u_fog_ground_blend_opacity),u_horizon_color:new a.aL(le,w.u_horizon_color),u_horizon_fog_blend:new a.aI(le,w.u_horizon_fog_blend)}),terrainDepth:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ele_delta:new a.aI(le,w.u_ele_delta)}),terrainCoords:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texture:new a.aH(le,w.u_texture),u_terrain_coords_id:new a.aI(le,w.u_terrain_coords_id),u_ele_delta:new a.aI(le,w.u_ele_delta)}),sky:(le,w)=>({u_sky_color:new a.aL(le,w.u_sky_color),u_horizon_color:new a.aL(le,w.u_horizon_color),u_horizon:new a.aI(le,w.u_horizon),u_sky_horizon_blend:new a.aI(le,w.u_sky_horizon_blend)})};class ms{constructor(w,B,Q){this.context=w;let ee=w.gl;this.buffer=ee.createBuffer(),this.dynamicDraw=!!Q,this.context.unbindVAO(),w.bindElementBuffer.set(this.buffer),ee.bufferData(ee.ELEMENT_ARRAY_BUFFER,B.arrayBuffer,this.dynamicDraw?ee.DYNAMIC_DRAW:ee.STATIC_DRAW),this.dynamicDraw||delete B.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(w){let B=this.context.gl;if(!this.dynamicDraw)throw new Error(\"Attempted to update data while not in dynamic mode.\");this.context.unbindVAO(),this.bind(),B.bufferSubData(B.ELEMENT_ARRAY_BUFFER,0,w.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let on={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"};class fa{constructor(w,B,Q,ee){this.length=B.length,this.attributes=Q,this.itemSize=B.bytesPerElement,this.dynamicDraw=ee,this.context=w;let se=w.gl;this.buffer=se.createBuffer(),w.bindVertexBuffer.set(this.buffer),se.bufferData(se.ARRAY_BUFFER,B.arrayBuffer,this.dynamicDraw?se.DYNAMIC_DRAW:se.STATIC_DRAW),this.dynamicDraw||delete B.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(w){if(w.length!==this.length)throw new Error(`Length of new data is ${w.length}, which doesn't match current length of ${this.length}`);let B=this.context.gl;this.bind(),B.bufferSubData(B.ARRAY_BUFFER,0,w.arrayBuffer)}enableAttributes(w,B){for(let Q=0;Q<this.attributes.length;Q++){let ee=B.attributes[this.attributes[Q].name];ee!==void 0&&w.enableVertexAttribArray(ee)}}setVertexAttribPointers(w,B,Q){for(let ee=0;ee<this.attributes.length;ee++){let se=this.attributes[ee],qe=B.attributes[se.name];qe!==void 0&&w.vertexAttribPointer(qe,se.components,w[on[se.type]],!1,this.itemSize,se.offset+this.itemSize*(Q||0))}}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let Qu=new WeakMap;function Rl(le){var w;if(Qu.has(le))return Qu.get(le);{let B=(w=le.getParameter(le.VERSION))===null||w===void 0?void 0:w.startsWith(\"WebGL 2.0\");return Qu.set(le,B),B}}class vo{constructor(w){this.gl=w.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1}get(){return this.current}set(w){}getDefault(){return this.default}setDefault(){this.set(this.default)}}class Zl extends vo{getDefault(){return a.aM.transparent}set(w){let B=this.current;(w.r!==B.r||w.g!==B.g||w.b!==B.b||w.a!==B.a||this.dirty)&&(this.gl.clearColor(w.r,w.g,w.b,w.a),this.current=w,this.dirty=!1)}}class Ks extends vo{getDefault(){return 1}set(w){(w!==this.current||this.dirty)&&(this.gl.clearDepth(w),this.current=w,this.dirty=!1)}}class Xl extends vo{getDefault(){return 0}set(w){(w!==this.current||this.dirty)&&(this.gl.clearStencil(w),this.current=w,this.dirty=!1)}}class Ec extends vo{getDefault(){return[!0,!0,!0,!0]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||w[2]!==B[2]||w[3]!==B[3]||this.dirty)&&(this.gl.colorMask(w[0],w[1],w[2],w[3]),this.current=w,this.dirty=!1)}}class Zn extends vo{getDefault(){return!0}set(w){(w!==this.current||this.dirty)&&(this.gl.depthMask(w),this.current=w,this.dirty=!1)}}class ko extends vo{getDefault(){return 255}set(w){(w!==this.current||this.dirty)&&(this.gl.stencilMask(w),this.current=w,this.dirty=!1)}}class Co extends vo{getDefault(){return{func:this.gl.ALWAYS,ref:0,mask:255}}set(w){let B=this.current;(w.func!==B.func||w.ref!==B.ref||w.mask!==B.mask||this.dirty)&&(this.gl.stencilFunc(w.func,w.ref,w.mask),this.current=w,this.dirty=!1)}}class Tl extends vo{getDefault(){let w=this.gl;return[w.KEEP,w.KEEP,w.KEEP]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||w[2]!==B[2]||this.dirty)&&(this.gl.stencilOp(w[0],w[1],w[2]),this.current=w,this.dirty=!1)}}class uf extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;w?B.enable(B.STENCIL_TEST):B.disable(B.STENCIL_TEST),this.current=w,this.dirty=!1}}class So extends vo{getDefault(){return[0,1]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||this.dirty)&&(this.gl.depthRange(w[0],w[1]),this.current=w,this.dirty=!1)}}class cf extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;w?B.enable(B.DEPTH_TEST):B.disable(B.DEPTH_TEST),this.current=w,this.dirty=!1}}class rh extends vo{getDefault(){return this.gl.LESS}set(w){(w!==this.current||this.dirty)&&(this.gl.depthFunc(w),this.current=w,this.dirty=!1)}}class Al extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;w?B.enable(B.BLEND):B.disable(B.BLEND),this.current=w,this.dirty=!1}}class Hc extends vo{getDefault(){let w=this.gl;return[w.ONE,w.ZERO]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||this.dirty)&&(this.gl.blendFunc(w[0],w[1]),this.current=w,this.dirty=!1)}}class eu extends vo{getDefault(){return a.aM.transparent}set(w){let B=this.current;(w.r!==B.r||w.g!==B.g||w.b!==B.b||w.a!==B.a||this.dirty)&&(this.gl.blendColor(w.r,w.g,w.b,w.a),this.current=w,this.dirty=!1)}}class Ls extends vo{getDefault(){return this.gl.FUNC_ADD}set(w){(w!==this.current||this.dirty)&&(this.gl.blendEquation(w),this.current=w,this.dirty=!1)}}class mu extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;w?B.enable(B.CULL_FACE):B.disable(B.CULL_FACE),this.current=w,this.dirty=!1}}class kc extends vo{getDefault(){return this.gl.BACK}set(w){(w!==this.current||this.dirty)&&(this.gl.cullFace(w),this.current=w,this.dirty=!1)}}class Of extends vo{getDefault(){return this.gl.CCW}set(w){(w!==this.current||this.dirty)&&(this.gl.frontFace(w),this.current=w,this.dirty=!1)}}class Gc extends vo{getDefault(){return null}set(w){(w!==this.current||this.dirty)&&(this.gl.useProgram(w),this.current=w,this.dirty=!1)}}class vd extends vo{getDefault(){return this.gl.TEXTURE0}set(w){(w!==this.current||this.dirty)&&(this.gl.activeTexture(w),this.current=w,this.dirty=!1)}}class Bf extends vo{getDefault(){let w=this.gl;return[0,0,w.drawingBufferWidth,w.drawingBufferHeight]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||w[2]!==B[2]||w[3]!==B[3]||this.dirty)&&(this.gl.viewport(w[0],w[1],w[2],w[3]),this.current=w,this.dirty=!1)}}class ss extends vo{getDefault(){return null}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.bindFramebuffer(B.FRAMEBUFFER,w),this.current=w,this.dirty=!1}}class ff extends vo{getDefault(){return null}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.bindRenderbuffer(B.RENDERBUFFER,w),this.current=w,this.dirty=!1}}class ih extends vo{getDefault(){return null}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.bindTexture(B.TEXTURE_2D,w),this.current=w,this.dirty=!1}}class Vl extends vo{getDefault(){return null}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.bindBuffer(B.ARRAY_BUFFER,w),this.current=w,this.dirty=!1}}class Js extends vo{getDefault(){return null}set(w){let B=this.gl;B.bindBuffer(B.ELEMENT_ARRAY_BUFFER,w),this.current=w,this.dirty=!1}}class hc extends vo{getDefault(){return null}set(w){var B;if(w===this.current&&!this.dirty)return;let Q=this.gl;Rl(Q)?Q.bindVertexArray(w):(B=Q.getExtension(\"OES_vertex_array_object\"))===null||B===void 0||B.bindVertexArrayOES(w),this.current=w,this.dirty=!1}}class Cc extends vo{getDefault(){return 4}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.pixelStorei(B.UNPACK_ALIGNMENT,w),this.current=w,this.dirty=!1}}class ws extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.pixelStorei(B.UNPACK_PREMULTIPLY_ALPHA_WEBGL,w),this.current=w,this.dirty=!1}}class $s extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.pixelStorei(B.UNPACK_FLIP_Y_WEBGL,w),this.current=w,this.dirty=!1}}class hs extends vo{constructor(w,B){super(w),this.context=w,this.parent=B}getDefault(){return null}}class Ms extends hs{setDirty(){this.dirty=!0}set(w){if(w===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let B=this.gl;B.framebufferTexture2D(B.FRAMEBUFFER,B.COLOR_ATTACHMENT0,B.TEXTURE_2D,w,0),this.current=w,this.dirty=!1}}class dc extends hs{set(w){if(w===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let B=this.gl;B.framebufferRenderbuffer(B.FRAMEBUFFER,B.DEPTH_ATTACHMENT,B.RENDERBUFFER,w),this.current=w,this.dirty=!1}}class Sl extends hs{set(w){if(w===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let B=this.gl;B.framebufferRenderbuffer(B.FRAMEBUFFER,B.DEPTH_STENCIL_ATTACHMENT,B.RENDERBUFFER,w),this.current=w,this.dirty=!1}}class ec{constructor(w,B,Q,ee,se){this.context=w,this.width=B,this.height=Q;let qe=w.gl,je=this.framebuffer=qe.createFramebuffer();if(this.colorAttachment=new Ms(w,je),ee)this.depthAttachment=se?new Sl(w,je):new dc(w,je);else if(se)throw new Error(\"Stencil cannot be set without depth\");if(qe.checkFramebufferStatus(qe.FRAMEBUFFER)!==qe.FRAMEBUFFER_COMPLETE)throw new Error(\"Framebuffer is not complete\")}destroy(){let w=this.context.gl,B=this.colorAttachment.get();if(B&&w.deleteTexture(B),this.depthAttachment){let Q=this.depthAttachment.get();Q&&w.deleteRenderbuffer(Q)}w.deleteFramebuffer(this.framebuffer)}}class Ps{constructor(w,B,Q){this.blendFunction=w,this.blendColor=B,this.mask=Q}}Ps.Replace=[1,0],Ps.disabled=new Ps(Ps.Replace,a.aM.transparent,[!1,!1,!1,!1]),Ps.unblended=new Ps(Ps.Replace,a.aM.transparent,[!0,!0,!0,!0]),Ps.alphaBlended=new Ps([1,771],a.aM.transparent,[!0,!0,!0,!0]);class ov{constructor(w){var B,Q;if(this.gl=w,this.clearColor=new Zl(this),this.clearDepth=new Ks(this),this.clearStencil=new Xl(this),this.colorMask=new Ec(this),this.depthMask=new Zn(this),this.stencilMask=new ko(this),this.stencilFunc=new Co(this),this.stencilOp=new Tl(this),this.stencilTest=new uf(this),this.depthRange=new So(this),this.depthTest=new cf(this),this.depthFunc=new rh(this),this.blend=new Al(this),this.blendFunc=new Hc(this),this.blendColor=new eu(this),this.blendEquation=new Ls(this),this.cullFace=new mu(this),this.cullFaceSide=new kc(this),this.frontFace=new Of(this),this.program=new Gc(this),this.activeTexture=new vd(this),this.viewport=new Bf(this),this.bindFramebuffer=new ss(this),this.bindRenderbuffer=new ff(this),this.bindTexture=new ih(this),this.bindVertexBuffer=new Vl(this),this.bindElementBuffer=new Js(this),this.bindVertexArray=new hc(this),this.pixelStoreUnpack=new Cc(this),this.pixelStoreUnpackPremultiplyAlpha=new ws(this),this.pixelStoreUnpackFlipY=new $s(this),this.extTextureFilterAnisotropic=w.getExtension(\"EXT_texture_filter_anisotropic\")||w.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||w.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=w.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.maxTextureSize=w.getParameter(w.MAX_TEXTURE_SIZE),Rl(w)){this.HALF_FLOAT=w.HALF_FLOAT;let ee=w.getExtension(\"EXT_color_buffer_half_float\");this.RGBA16F=(B=w.RGBA16F)!==null&&B!==void 0?B:ee==null?void 0:ee.RGBA16F_EXT,this.RGB16F=(Q=w.RGB16F)!==null&&Q!==void 0?Q:ee==null?void 0:ee.RGB16F_EXT,w.getExtension(\"EXT_color_buffer_float\")}else{w.getExtension(\"EXT_color_buffer_half_float\"),w.getExtension(\"OES_texture_half_float_linear\");let ee=w.getExtension(\"OES_texture_half_float\");this.HALF_FLOAT=ee==null?void 0:ee.HALF_FLOAT_OES}}setDefault(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()}setDirty(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.bindVertexArray.dirty=!0,this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0}createIndexBuffer(w,B){return new ms(this,w,B)}createVertexBuffer(w,B,Q){return new fa(this,w,B,Q)}createRenderbuffer(w,B,Q){let ee=this.gl,se=ee.createRenderbuffer();return this.bindRenderbuffer.set(se),ee.renderbufferStorage(ee.RENDERBUFFER,w,B,Q),this.bindRenderbuffer.set(null),se}createFramebuffer(w,B,Q,ee){return new ec(this,w,B,Q,ee)}clear({color:w,depth:B,stencil:Q}){let ee=this.gl,se=0;w&&(se|=ee.COLOR_BUFFER_BIT,this.clearColor.set(w),this.colorMask.set([!0,!0,!0,!0])),B!==void 0&&(se|=ee.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(B),this.depthMask.set(!0)),Q!==void 0&&(se|=ee.STENCIL_BUFFER_BIT,this.clearStencil.set(Q),this.stencilMask.set(255)),ee.clear(se)}setCullFace(w){w.enable===!1?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(w.mode),this.frontFace.set(w.frontFace))}setDepthMode(w){w.func!==this.gl.ALWAYS||w.mask?(this.depthTest.set(!0),this.depthFunc.set(w.func),this.depthMask.set(w.mask),this.depthRange.set(w.range)):this.depthTest.set(!1)}setStencilMode(w){w.test.func!==this.gl.ALWAYS||w.mask?(this.stencilTest.set(!0),this.stencilMask.set(w.mask),this.stencilOp.set([w.fail,w.depthFail,w.pass]),this.stencilFunc.set({func:w.test.func,ref:w.ref,mask:w.test.mask})):this.stencilTest.set(!1)}setColorMode(w){a.aE(w.blendFunction,Ps.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(w.blendFunction),this.blendColor.set(w.blendColor)),this.colorMask.set(w.mask)}createVertexArray(){var w;return Rl(this.gl)?this.gl.createVertexArray():(w=this.gl.getExtension(\"OES_vertex_array_object\"))===null||w===void 0?void 0:w.createVertexArrayOES()}deleteVertexArray(w){var B;return Rl(this.gl)?this.gl.deleteVertexArray(w):(B=this.gl.getExtension(\"OES_vertex_array_object\"))===null||B===void 0?void 0:B.deleteVertexArrayOES(w)}unbindVAO(){this.bindVertexArray.set(null)}}class wo{constructor(w,B,Q){this.func=w,this.mask=B,this.range=Q}}wo.ReadOnly=!1,wo.ReadWrite=!0,wo.disabled=new wo(519,wo.ReadOnly,[0,1]);let Od=7680;class $o{constructor(w,B,Q,ee,se,qe){this.test=w,this.ref=B,this.mask=Q,this.fail=ee,this.depthFail=se,this.pass=qe}}$o.disabled=new $o({func:519,mask:0},0,0,Od,Od,Od);class Ja{constructor(w,B,Q){this.enable=w,this.mode=B,this.frontFace=Q}}let Ef;function tc(le,w,B,Q,ee){let se=le.context,qe=se.gl,je=le.useProgram(\"collisionBox\"),it=[],yt=0,Ot=0;for(let Oe=0;Oe<Q.length;Oe++){let Je=Q[Oe],He=w.getTile(Je).getBucket(B);if(!He)continue;let et=ee?He.textCollisionBox:He.iconCollisionBox,Mt=He.collisionCircleArray;if(Mt.length>0){let Dt=a.H();a.aQ(Dt,He.placementInvProjMatrix,le.transform.glCoordMatrix),a.aQ(Dt,Dt,He.placementViewportMatrix),it.push({circleArray:Mt,circleOffset:Ot,transform:Je.posMatrix,invTransform:Dt,coord:Je}),yt+=Mt.length/4,Ot=yt}et&&je.draw(se,qe.LINES,wo.disabled,$o.disabled,le.colorModeForRenderPass(),Ja.disabled,{u_matrix:Je.posMatrix,u_pixel_extrude_scale:[1/(Nt=le.transform).width,1/Nt.height]},le.style.map.terrain&&le.style.map.terrain.getTerrainData(Je),B.id,et.layoutVertexBuffer,et.indexBuffer,et.segments,null,le.transform.zoom,null,null,et.collisionVertexBuffer)}var Nt;if(!ee||!it.length)return;let hr=le.useProgram(\"collisionCircle\"),Sr=new a.aR;Sr.resize(4*yt),Sr._trim();let he=0;for(let Oe of it)for(let Je=0;Je<Oe.circleArray.length/4;Je++){let He=4*Je,et=Oe.circleArray[He+0],Mt=Oe.circleArray[He+1],Dt=Oe.circleArray[He+2],Ut=Oe.circleArray[He+3];Sr.emplace(he++,et,Mt,Dt,Ut,0),Sr.emplace(he++,et,Mt,Dt,Ut,1),Sr.emplace(he++,et,Mt,Dt,Ut,2),Sr.emplace(he++,et,Mt,Dt,Ut,3)}(!Ef||Ef.length<2*yt)&&(Ef=function(Oe){let Je=2*Oe,He=new a.aT;He.resize(Je),He._trim();for(let et=0;et<Je;et++){let Mt=6*et;He.uint16[Mt+0]=4*et+0,He.uint16[Mt+1]=4*et+1,He.uint16[Mt+2]=4*et+2,He.uint16[Mt+3]=4*et+2,He.uint16[Mt+4]=4*et+3,He.uint16[Mt+5]=4*et+0}return He}(yt));let be=se.createIndexBuffer(Ef,!0),Pe=se.createVertexBuffer(Sr,a.aS.members,!0);for(let Oe of it){let Je=Oo(Oe.transform,Oe.invTransform,le.transform);hr.draw(se,qe.TRIANGLES,wo.disabled,$o.disabled,le.colorModeForRenderPass(),Ja.disabled,Je,le.style.map.terrain&&le.style.map.terrain.getTerrainData(Oe.coord),B.id,Pe,be,a.a0.simpleSegment(0,2*Oe.circleOffset,Oe.circleArray.length,Oe.circleArray.length/2),null,le.transform.zoom,null,null,null)}Pe.destroy(),be.destroy()}Ja.disabled=new Ja(!1,1029,2305),Ja.backCCW=new Ja(!0,1029,2305);let uu=a.an(new Float32Array(16));function Mh(le,w,B,Q,ee,se){let{horizontalAlign:qe,verticalAlign:je}=a.au(le);return new a.P((-(qe-.5)*w/ee+Q[0])*se,(-(je-.5)*B/ee+Q[1])*se)}function jc(le,w,B,Q,ee,se){let qe=w.tileAnchorPoint.add(new a.P(w.translation[0],w.translation[1]));if(w.pitchWithMap){let je=Q.mult(se);B||(je=je.rotate(-ee));let it=qe.add(je);return ut(it.x,it.y,w.labelPlaneMatrix,w.getElevation).point}if(B){let je=lt(w.tileAnchorPoint.x+1,w.tileAnchorPoint.y,w).point.sub(le),it=Math.atan(je.y/je.x)+(je.x<0?Math.PI:0);return le.add(Q.rotate(it))}return le.add(Q)}function kf(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr){let he=le.text.placedSymbolArray,be=le.text.dynamicLayoutVertexArray,Pe=le.icon.dynamicLayoutVertexArray,Oe={};be.clear();for(let Je=0;Je<he.length;Je++){let He=he.get(Je),et=He.hidden||!He.crossTileID||le.allowVerticalPlacement&&!He.placedOrientation?null:Q[He.crossTileID];if(et){let Mt=new a.P(He.anchorX,He.anchorY),Dt={getElevation:Sr,width:ee.width,height:ee.height,labelPlaneMatrix:se,lineVertexArray:null,pitchWithMap:B,projection:Ot,projectionCache:null,tileAnchorPoint:Mt,translation:Nt,unwrappedTileID:hr},Ut=B?ut(Mt.x,Mt.y,qe,Sr):lt(Mt.x,Mt.y,Dt),tr=Ne(ee.cameraToCenterDistance,Ut.signedDistanceFromCamera),mr=a.ai(le.textSizeData,it,He)*tr/a.ap;B&&(mr*=le.tilePixelRatio/je);let{width:Rr,height:zr,anchor:Xr,textOffset:di,textBoxScale:Li}=et,Ci=Mh(Xr,Rr,zr,di,Li,mr),Qi=Ot.getPitchedTextCorrection(ee,Mt.add(new a.P(Nt[0],Nt[1])),hr),Mn=jc(Ut.point,Dt,w,Ci,ee.angle,Qi),pa=le.allowVerticalPlacement&&He.placedOrientation===a.ah.vertical?Math.PI/2:0;for(let ea=0;ea<He.numGlyphs;ea++)a.aj(be,Mn,pa);yt&&He.associatedIconIndex>=0&&(Oe[He.associatedIconIndex]={shiftedAnchor:Mn,angle:pa})}else ai(He.numGlyphs,be)}if(yt){Pe.clear();let Je=le.icon.placedSymbolArray;for(let He=0;He<Je.length;He++){let et=Je.get(He);if(et.hidden)ai(et.numGlyphs,Pe);else{let Mt=Oe[He];if(Mt)for(let Dt=0;Dt<et.numGlyphs;Dt++)a.aj(Pe,Mt.shiftedAnchor,Mt.angle);else ai(et.numGlyphs,Pe)}}le.icon.dynamicLayoutVertexBuffer.updateData(Pe)}le.text.dynamicLayoutVertexBuffer.updateData(be)}function Ml(le,w,B){return B.iconsInText&&w?\"symbolTextAndIcon\":le?\"symbolSDF\":\"symbolIcon\"}function Yh(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt){let hr=le.context,Sr=hr.gl,he=le.transform,be=Gi(),Pe=je===\"map\",Oe=it===\"map\",Je=je!==\"viewport\"&&B.layout.get(\"symbol-placement\")!==\"point\",He=Pe&&!Oe&&!Je,et=!Oe&&Je,Mt=!B.layout.get(\"symbol-sort-key\").isConstant(),Dt=!1,Ut=le.depthModeForSublayer(0,wo.ReadOnly),tr=B._unevaluatedLayout.hasValue(\"text-variable-anchor\")||B._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),mr=[],Rr=be.getCircleRadiusCorrection(he);for(let zr of Q){let Xr=w.getTile(zr),di=Xr.getBucket(B);if(!di)continue;let Li=ee?di.text:di.icon;if(!Li||!Li.segments.get().length||!Li.hasVisibleVertices)continue;let Ci=Li.programConfigurations.get(B.id),Qi=ee||di.sdfIcons,Mn=ee?di.textSizeData:di.iconSizeData,pa=Oe||he.pitch!==0,ea=le.useProgram(Ml(Qi,ee,di),Ci),Ga=a.ag(Mn,he.zoom),To=le.style.map.terrain&&le.style.map.terrain.getTerrainData(zr),Wa,co,Ro,Ds,As=[0,0],yo=null;if(ee)co=Xr.glyphAtlasTexture,Ro=Sr.LINEAR,Wa=Xr.glyphAtlasTexture.size,di.iconsInText&&(As=Xr.imageAtlasTexture.size,yo=Xr.imageAtlasTexture,Ds=pa||le.options.rotating||le.options.zooming||Mn.kind===\"composite\"||Mn.kind===\"camera\"?Sr.LINEAR:Sr.NEAREST);else{let We=B.layout.get(\"icon-size\").constantOr(0)!==1||di.iconsNeedLinear;co=Xr.imageAtlasTexture,Ro=Qi||le.options.rotating||le.options.zooming||We||pa?Sr.LINEAR:Sr.NEAREST,Wa=Xr.imageAtlasTexture.size}let po=nn(Xr,1,le.transform.zoom),_l=et?zr.posMatrix:uu,Hl=Or(_l,Oe,Pe,le.transform,po),Zu=Nr(_l,Oe,Pe,le.transform,po),cu=Nr(zr.posMatrix,Oe,Pe,le.transform,po),el=be.translatePosition(le.transform,Xr,se,qe),au=tr&&di.hasTextData(),zc=B.layout.get(\"icon-text-fit\")!==\"none\"&&au&&di.hasIconData();if(Je){let We=le.style.map.terrain?(tt,zt)=>le.style.map.terrain.getElevation(zr,tt,zt):null,wt=B.layout.get(\"text-rotation-alignment\")===\"map\";Ve(di,zr.posMatrix,le,ee,Hl,cu,Oe,yt,wt,be,zr.toUnwrapped(),he.width,he.height,el,We)}let zl=zr.posMatrix,Fl=ee&&tr||zc,Z=Je||Fl?uu:Hl,oe=Zu,we=Qi&&B.paint.get(ee?\"text-halo-width\":\"icon-halo-width\").constantOr(1)!==0,Be;Be=Qi?di.iconsInText?fs(Mn.kind,Ga,He,Oe,Je,Fl,le,zl,Z,oe,el,Wa,As,Rr):Eo(Mn.kind,Ga,He,Oe,Je,Fl,le,zl,Z,oe,el,ee,Wa,!0,Rr):Hs(Mn.kind,Ga,He,Oe,Je,Fl,le,zl,Z,oe,el,ee,Wa,Rr);let Ue={program:ea,buffers:Li,uniformValues:Be,atlasTexture:co,atlasTextureIcon:yo,atlasInterpolation:Ro,atlasInterpolationIcon:Ds,isSDF:Qi,hasHalo:we};if(Mt&&di.canOverlap){Dt=!0;let We=Li.segments.get();for(let wt of We)mr.push({segments:new a.a0([wt]),sortKey:wt.sortKey,state:Ue,terrainData:To})}else mr.push({segments:Li.segments,sortKey:0,state:Ue,terrainData:To})}Dt&&mr.sort((zr,Xr)=>zr.sortKey-Xr.sortKey);for(let zr of mr){let Xr=zr.state;if(hr.activeTexture.set(Sr.TEXTURE0),Xr.atlasTexture.bind(Xr.atlasInterpolation,Sr.CLAMP_TO_EDGE),Xr.atlasTextureIcon&&(hr.activeTexture.set(Sr.TEXTURE1),Xr.atlasTextureIcon&&Xr.atlasTextureIcon.bind(Xr.atlasInterpolationIcon,Sr.CLAMP_TO_EDGE)),Xr.isSDF){let di=Xr.uniformValues;Xr.hasHalo&&(di.u_is_halo=1,Eh(Xr.buffers,zr.segments,B,le,Xr.program,Ut,Ot,Nt,di,zr.terrainData)),di.u_is_halo=0}Eh(Xr.buffers,zr.segments,B,le,Xr.program,Ut,Ot,Nt,Xr.uniformValues,zr.terrainData)}}function Eh(le,w,B,Q,ee,se,qe,je,it,yt){let Ot=Q.context;ee.draw(Ot,Ot.gl.TRIANGLES,se,qe,je,Ja.disabled,it,yt,B.id,le.layoutVertexBuffer,le.indexBuffer,w,B.paint,Q.transform.zoom,le.programConfigurations.get(B.id),le.dynamicLayoutVertexBuffer,le.opacityVertexBuffer)}function nh(le,w,B,Q){let ee=le.context,se=ee.gl,qe=$o.disabled,je=new Ps([se.ONE,se.ONE],a.aM.transparent,[!0,!0,!0,!0]),it=w.getBucket(B);if(!it)return;let yt=Q.key,Ot=B.heatmapFbos.get(yt);Ot||(Ot=kh(ee,w.tileSize,w.tileSize),B.heatmapFbos.set(yt,Ot)),ee.bindFramebuffer.set(Ot.framebuffer),ee.viewport.set([0,0,w.tileSize,w.tileSize]),ee.clear({color:a.aM.transparent});let Nt=it.programConfigurations.get(B.id),hr=le.useProgram(\"heatmap\",Nt),Sr=le.style.map.terrain.getTerrainData(Q);hr.draw(ee,se.TRIANGLES,wo.disabled,qe,je,Ja.disabled,xo(Q.posMatrix,w,le.transform.zoom,B.paint.get(\"heatmap-intensity\")),Sr,B.id,it.layoutVertexBuffer,it.indexBuffer,it.segments,B.paint,le.transform.zoom,Nt)}function hf(le,w,B){let Q=le.context,ee=Q.gl;Q.setColorMode(le.colorModeForRenderPass());let se=Kh(Q,w),qe=B.key,je=w.heatmapFbos.get(qe);je&&(Q.activeTexture.set(ee.TEXTURE0),ee.bindTexture(ee.TEXTURE_2D,je.colorAttachment.get()),Q.activeTexture.set(ee.TEXTURE1),se.bind(ee.LINEAR,ee.CLAMP_TO_EDGE),le.useProgram(\"heatmapTexture\").draw(Q,ee.TRIANGLES,wo.disabled,$o.disabled,le.colorModeForRenderPass(),Ja.disabled,zs(le,w,0,1),null,w.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments,w.paint,le.transform.zoom),je.destroy(),w.heatmapFbos.delete(qe))}function kh(le,w,B){var Q,ee;let se=le.gl,qe=se.createTexture();se.bindTexture(se.TEXTURE_2D,qe),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_S,se.CLAMP_TO_EDGE),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_T,se.CLAMP_TO_EDGE),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MIN_FILTER,se.LINEAR),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MAG_FILTER,se.LINEAR);let je=(Q=le.HALF_FLOAT)!==null&&Q!==void 0?Q:se.UNSIGNED_BYTE,it=(ee=le.RGBA16F)!==null&&ee!==void 0?ee:se.RGBA;se.texImage2D(se.TEXTURE_2D,0,it,w,B,0,se.RGBA,je,null);let yt=le.createFramebuffer(w,B,!1,!1);return yt.colorAttachment.set(qe),yt}function Kh(le,w){return w.colorRampTexture||(w.colorRampTexture=new g(le,w.colorRamp,le.gl.RGBA)),w.colorRampTexture}function rc(le,w,B,Q,ee){if(!B||!Q||!Q.imageAtlas)return;let se=Q.imageAtlas.patternPositions,qe=se[B.to.toString()],je=se[B.from.toString()];if(!qe&&je&&(qe=je),!je&&qe&&(je=qe),!qe||!je){let it=ee.getPaintProperty(w);qe=se[it],je=se[it]}qe&&je&&le.setConstantPatternPositions(qe,je)}function ah(le,w,B,Q,ee,se,qe){let je=le.context.gl,it=\"fill-pattern\",yt=B.paint.get(it),Ot=yt&&yt.constantOr(1),Nt=B.getCrossfadeParameters(),hr,Sr,he,be,Pe;qe?(Sr=Ot&&!B.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",hr=je.LINES):(Sr=Ot?\"fillPattern\":\"fill\",hr=je.TRIANGLES);let Oe=yt.constantOr(null);for(let Je of Q){let He=w.getTile(Je);if(Ot&&!He.patternsLoaded())continue;let et=He.getBucket(B);if(!et)continue;let Mt=et.programConfigurations.get(B.id),Dt=le.useProgram(Sr,Mt),Ut=le.style.map.terrain&&le.style.map.terrain.getTerrainData(Je);Ot&&(le.context.activeTexture.set(je.TEXTURE0),He.imageAtlasTexture.bind(je.LINEAR,je.CLAMP_TO_EDGE),Mt.updatePaintBuffers(Nt)),rc(Mt,it,Oe,He,B);let tr=Ut?Je:null,mr=le.translatePosMatrix(tr?tr.posMatrix:Je.posMatrix,He,B.paint.get(\"fill-translate\"),B.paint.get(\"fill-translate-anchor\"));if(qe){be=et.indexBuffer2,Pe=et.segments2;let Rr=[je.drawingBufferWidth,je.drawingBufferHeight];he=Sr===\"fillOutlinePattern\"&&Ot?Sa(mr,le,Nt,He,Rr):Fn(mr,Rr)}else be=et.indexBuffer,Pe=et.segments,he=Ot?ua(mr,le,Nt,He):Ji(mr);Dt.draw(le.context,hr,ee,le.stencilModeForClipping(Je),se,Ja.disabled,he,Ut,B.id,et.layoutVertexBuffer,be,Pe,B.paint,le.transform.zoom,Mt)}}function Wc(le,w,B,Q,ee,se,qe){let je=le.context,it=je.gl,yt=\"fill-extrusion-pattern\",Ot=B.paint.get(yt),Nt=Ot.constantOr(1),hr=B.getCrossfadeParameters(),Sr=B.paint.get(\"fill-extrusion-opacity\"),he=Ot.constantOr(null);for(let be of Q){let Pe=w.getTile(be),Oe=Pe.getBucket(B);if(!Oe)continue;let Je=le.style.map.terrain&&le.style.map.terrain.getTerrainData(be),He=Oe.programConfigurations.get(B.id),et=le.useProgram(Nt?\"fillExtrusionPattern\":\"fillExtrusion\",He);Nt&&(le.context.activeTexture.set(it.TEXTURE0),Pe.imageAtlasTexture.bind(it.LINEAR,it.CLAMP_TO_EDGE),He.updatePaintBuffers(hr)),rc(He,yt,he,Pe,B);let Mt=le.translatePosMatrix(be.posMatrix,Pe,B.paint.get(\"fill-extrusion-translate\"),B.paint.get(\"fill-extrusion-translate-anchor\")),Dt=B.paint.get(\"fill-extrusion-vertical-gradient\"),Ut=Nt?hi(Mt,le,Dt,Sr,be,hr,Pe):an(Mt,le,Dt,Sr);et.draw(je,je.gl.TRIANGLES,ee,se,qe,Ja.backCCW,Ut,Je,B.id,Oe.layoutVertexBuffer,Oe.indexBuffer,Oe.segments,B.paint,le.transform.zoom,He,le.style.map.terrain&&Oe.centroidVertexBuffer)}}function df(le,w,B,Q,ee,se,qe){let je=le.context,it=je.gl,yt=B.fbo;if(!yt)return;let Ot=le.useProgram(\"hillshade\"),Nt=le.style.map.terrain&&le.style.map.terrain.getTerrainData(w);je.activeTexture.set(it.TEXTURE0),it.bindTexture(it.TEXTURE_2D,yt.colorAttachment.get()),Ot.draw(je,it.TRIANGLES,ee,se,qe,Ja.disabled,((hr,Sr,he,be)=>{let Pe=he.paint.get(\"hillshade-shadow-color\"),Oe=he.paint.get(\"hillshade-highlight-color\"),Je=he.paint.get(\"hillshade-accent-color\"),He=he.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);he.paint.get(\"hillshade-illumination-anchor\")===\"viewport\"&&(He-=hr.transform.angle);let et=!hr.options.moving;return{u_matrix:be?be.posMatrix:hr.transform.calculatePosMatrix(Sr.tileID.toUnwrapped(),et),u_image:0,u_latrange:ks(0,Sr.tileID),u_light:[he.paint.get(\"hillshade-exaggeration\"),He],u_shadow:Pe,u_highlight:Oe,u_accent:Je}})(le,B,Q,Nt?w:null),Nt,Q.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments)}function Cu(le,w,B,Q,ee,se){let qe=le.context,je=qe.gl,it=w.dem;if(it&&it.data){let yt=it.dim,Ot=it.stride,Nt=it.getPixels();if(qe.activeTexture.set(je.TEXTURE1),qe.pixelStoreUnpackPremultiplyAlpha.set(!1),w.demTexture=w.demTexture||le.getTileTexture(Ot),w.demTexture){let Sr=w.demTexture;Sr.update(Nt,{premultiply:!1}),Sr.bind(je.NEAREST,je.CLAMP_TO_EDGE)}else w.demTexture=new g(qe,Nt,je.RGBA,{premultiply:!1}),w.demTexture.bind(je.NEAREST,je.CLAMP_TO_EDGE);qe.activeTexture.set(je.TEXTURE0);let hr=w.fbo;if(!hr){let Sr=new g(qe,{width:yt,height:yt,data:null},je.RGBA);Sr.bind(je.LINEAR,je.CLAMP_TO_EDGE),hr=w.fbo=qe.createFramebuffer(yt,yt,!0,!1),hr.colorAttachment.set(Sr.texture)}qe.bindFramebuffer.set(hr.framebuffer),qe.viewport.set([0,0,yt,yt]),le.useProgram(\"hillshadePrepare\").draw(qe,je.TRIANGLES,Q,ee,se,Ja.disabled,((Sr,he)=>{let be=he.stride,Pe=a.H();return a.aP(Pe,0,a.X,-a.X,0,0,1),a.J(Pe,Pe,[0,-a.X,0]),{u_matrix:Pe,u_image:1,u_dimension:[be,be],u_zoom:Sr.overscaledZ,u_unpack:he.getUnpackVector()}})(w.tileID,it),null,B.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments),w.needsHillshadePrepare=!1}}function Nf(le,w,B,Q,ee,se){let qe=Q.paint.get(\"raster-fade-duration\");if(!se&&qe>0){let je=u.now(),it=(je-le.timeAdded)/qe,yt=w?(je-w.timeAdded)/qe:-1,Ot=B.getSource(),Nt=ee.coveringZoomLevel({tileSize:Ot.tileSize,roundZoom:Ot.roundZoom}),hr=!w||Math.abs(w.tileID.overscaledZ-Nt)>Math.abs(le.tileID.overscaledZ-Nt),Sr=hr&&le.refreshedUponExpiration?1:a.ac(hr?it:1-yt,0,1);return le.refreshedUponExpiration&&it>=1&&(le.refreshedUponExpiration=!1),w?{opacity:1,mix:1-Sr}:{opacity:Sr,mix:0}}return{opacity:1,mix:0}}let Zc=new a.aM(1,0,0,1),ds=new a.aM(0,1,0,1),Ch=new a.aM(0,0,1,1),Bd=new a.aM(1,0,1,1),Jh=new a.aM(0,1,1,1);function Cf(le,w,B,Q){Lu(le,0,w+B/2,le.transform.width,B,Q)}function pd(le,w,B,Q){Lu(le,w-B/2,0,B,le.transform.height,Q)}function Lu(le,w,B,Q,ee,se){let qe=le.context,je=qe.gl;je.enable(je.SCISSOR_TEST),je.scissor(w*le.pixelRatio,B*le.pixelRatio,Q*le.pixelRatio,ee*le.pixelRatio),qe.clear({color:se}),je.disable(je.SCISSOR_TEST)}function $h(le,w,B){let Q=le.context,ee=Q.gl,se=B.posMatrix,qe=le.useProgram(\"debug\"),je=wo.disabled,it=$o.disabled,yt=le.colorModeForRenderPass(),Ot=\"$debug\",Nt=le.style.map.terrain&&le.style.map.terrain.getTerrainData(B);Q.activeTexture.set(ee.TEXTURE0);let hr=w.getTileByID(B.key).latestRawTileData,Sr=Math.floor((hr&&hr.byteLength||0)/1024),he=w.getTile(B).tileSize,be=512/Math.min(he,512)*(B.overscaledZ/le.transform.zoom)*.5,Pe=B.canonical.toString();B.overscaledZ!==B.canonical.z&&(Pe+=` => ${B.overscaledZ}`),function(Oe,Je){Oe.initDebugOverlayCanvas();let He=Oe.debugOverlayCanvas,et=Oe.context.gl,Mt=Oe.debugOverlayCanvas.getContext(\"2d\");Mt.clearRect(0,0,He.width,He.height),Mt.shadowColor=\"white\",Mt.shadowBlur=2,Mt.lineWidth=1.5,Mt.strokeStyle=\"white\",Mt.textBaseline=\"top\",Mt.font=\"bold 36px Open Sans, sans-serif\",Mt.fillText(Je,5,5),Mt.strokeText(Je,5,5),Oe.debugOverlayTexture.update(He),Oe.debugOverlayTexture.bind(et.LINEAR,et.CLAMP_TO_EDGE)}(le,`${Pe} ${Sr}kB`),qe.draw(Q,ee.TRIANGLES,je,it,Ps.alphaBlended,Ja.disabled,ho(se,a.aM.transparent,be),null,Ot,le.debugBuffer,le.quadTriangleIndexBuffer,le.debugSegments),qe.draw(Q,ee.LINE_STRIP,je,it,yt,Ja.disabled,ho(se,a.aM.red),Nt,Ot,le.debugBuffer,le.tileBorderIndexBuffer,le.debugSegments)}function tu(le,w,B){let Q=le.context,ee=Q.gl,se=le.colorModeForRenderPass(),qe=new wo(ee.LEQUAL,wo.ReadWrite,le.depthRangeFor3D),je=le.useProgram(\"terrain\"),it=w.getTerrainMesh();Q.bindFramebuffer.set(null),Q.viewport.set([0,0,le.width,le.height]);for(let yt of B){let Ot=le.renderToTexture.getTexture(yt),Nt=w.getTerrainData(yt.tileID);Q.activeTexture.set(ee.TEXTURE0),ee.bindTexture(ee.TEXTURE_2D,Ot.texture);let hr=le.transform.calculatePosMatrix(yt.tileID.toUnwrapped()),Sr=w.getMeshFrameDelta(le.transform.zoom),he=le.transform.calculateFogMatrix(yt.tileID.toUnwrapped()),be=Hr(hr,Sr,he,le.style.sky,le.transform.pitch);je.draw(Q,ee.TRIANGLES,qe,$o.disabled,se,Ja.backCCW,be,Nt,\"terrain\",it.vertexBuffer,it.indexBuffer,it.segments)}}class Pu{constructor(w,B,Q){this.vertexBuffer=w,this.indexBuffer=B,this.segments=Q}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class Lc{constructor(w,B){this.context=new ov(w),this.transform=B,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:a.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=dt.maxUnderzooming+dt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new jo}resize(w,B,Q){if(this.width=Math.floor(w*Q),this.height=Math.floor(B*Q),this.pixelRatio=Q,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let ee of this.style._order)this.style._layers[ee].resize()}setup(){let w=this.context,B=new a.aX;B.emplaceBack(0,0),B.emplaceBack(a.X,0),B.emplaceBack(0,a.X),B.emplaceBack(a.X,a.X),this.tileExtentBuffer=w.createVertexBuffer(B,oo.members),this.tileExtentSegments=a.a0.simpleSegment(0,0,4,2);let Q=new a.aX;Q.emplaceBack(0,0),Q.emplaceBack(a.X,0),Q.emplaceBack(0,a.X),Q.emplaceBack(a.X,a.X),this.debugBuffer=w.createVertexBuffer(Q,oo.members),this.debugSegments=a.a0.simpleSegment(0,0,4,5);let ee=new a.$;ee.emplaceBack(0,0,0,0),ee.emplaceBack(a.X,0,a.X,0),ee.emplaceBack(0,a.X,0,a.X),ee.emplaceBack(a.X,a.X,a.X,a.X),this.rasterBoundsBuffer=w.createVertexBuffer(ee,ot.members),this.rasterBoundsSegments=a.a0.simpleSegment(0,0,4,2);let se=new a.aX;se.emplaceBack(0,0),se.emplaceBack(1,0),se.emplaceBack(0,1),se.emplaceBack(1,1),this.viewportBuffer=w.createVertexBuffer(se,oo.members),this.viewportSegments=a.a0.simpleSegment(0,0,4,2);let qe=new a.aZ;qe.emplaceBack(0),qe.emplaceBack(1),qe.emplaceBack(3),qe.emplaceBack(2),qe.emplaceBack(0),this.tileBorderIndexBuffer=w.createIndexBuffer(qe);let je=new a.aY;je.emplaceBack(0,1,2),je.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=w.createIndexBuffer(je);let it=this.context.gl;this.stencilClearMode=new $o({func:it.ALWAYS,mask:0},0,255,it.ZERO,it.ZERO,it.ZERO)}clearStencil(){let w=this.context,B=w.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let Q=a.H();a.aP(Q,0,this.width,this.height,0,0,1),a.K(Q,Q,[B.drawingBufferWidth,B.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(w,B.TRIANGLES,wo.disabled,this.stencilClearMode,Ps.disabled,Ja.disabled,Mo(Q),null,\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(w,B){if(this.currentStencilSource===w.source||!w.isTileClipped()||!B||!B.length)return;this.currentStencilSource=w.source;let Q=this.context,ee=Q.gl;this.nextStencilID+B.length>256&&this.clearStencil(),Q.setColorMode(Ps.disabled),Q.setDepthMode(wo.disabled);let se=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(let qe of B){let je=this._tileClippingMaskIDs[qe.key]=this.nextStencilID++,it=this.style.map.terrain&&this.style.map.terrain.getTerrainData(qe);se.draw(Q,ee.TRIANGLES,wo.disabled,new $o({func:ee.ALWAYS,mask:0},je,255,ee.KEEP,ee.KEEP,ee.REPLACE),Ps.disabled,Ja.disabled,Mo(qe.posMatrix),it,\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let w=this.nextStencilID++,B=this.context.gl;return new $o({func:B.NOTEQUAL,mask:255},w,255,B.KEEP,B.KEEP,B.REPLACE)}stencilModeForClipping(w){let B=this.context.gl;return new $o({func:B.EQUAL,mask:255},this._tileClippingMaskIDs[w.key],0,B.KEEP,B.KEEP,B.REPLACE)}stencilConfigForOverlap(w){let B=this.context.gl,Q=w.sort((qe,je)=>je.overscaledZ-qe.overscaledZ),ee=Q[Q.length-1].overscaledZ,se=Q[0].overscaledZ-ee+1;if(se>1){this.currentStencilSource=void 0,this.nextStencilID+se>256&&this.clearStencil();let qe={};for(let je=0;je<se;je++)qe[je+ee]=new $o({func:B.GEQUAL,mask:255},je+this.nextStencilID,255,B.KEEP,B.KEEP,B.REPLACE);return this.nextStencilID+=se,[qe,Q]}return[{[ee]:$o.disabled},Q]}colorModeForRenderPass(){let w=this.context.gl;return this._showOverdrawInspector?new Ps([w.CONSTANT_COLOR,w.ONE],new a.aM(.125,.125,.125,0),[!0,!0,!0,!0]):this.renderPass===\"opaque\"?Ps.unblended:Ps.alphaBlended}depthModeForSublayer(w,B,Q){if(!this.opaquePassEnabledForLayer())return wo.disabled;let ee=1-((1+this.currentLayer)*this.numSublayers+w)*this.depthEpsilon;return new wo(Q||this.context.gl.LEQUAL,B,[ee,ee])}opaquePassEnabledForLayer(){return this.currentLayer<this.opaquePassCutoff}render(w,B){this.style=w,this.options=B,this.lineAtlas=w.lineAtlas,this.imageManager=w.imageManager,this.glyphManager=w.glyphManager,this.symbolFadeChange=w.placement.symbolFadeChange(u.now()),this.imageManager.beginFrame();let Q=this.style._order,ee=this.style.sourceCaches,se={},qe={},je={};for(let it in ee){let yt=ee[it];yt.used&&yt.prepare(this.context),se[it]=yt.getVisibleCoordinates(),qe[it]=se[it].slice().reverse(),je[it]=yt.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(let it=0;it<Q.length;it++)if(this.style._layers[Q[it]].is3D()){this.opaquePassCutoff=it;break}this.maybeDrawDepthAndCoords(!1),this.renderToTexture&&(this.renderToTexture.prepareForRender(this.style,this.transform.zoom),this.opaquePassCutoff=0),this.renderPass=\"offscreen\";for(let it of Q){let yt=this.style._layers[it];if(!yt.hasOffscreenPass()||yt.isHidden(this.transform.zoom))continue;let Ot=qe[yt.source];(yt.type===\"custom\"||Ot.length)&&this.renderLayer(this,ee[yt.source],yt,Ot)}if(this.context.bindFramebuffer.set(null),this.context.clear({color:B.showOverdrawInspector?a.aM.black:a.aM.transparent,depth:1}),this.clearStencil(),this.style.sky&&function(it,yt){let Ot=it.context,Nt=Ot.gl,hr=((Oe,Je,He)=>({u_sky_color:Oe.properties.get(\"sky-color\"),u_horizon_color:Oe.properties.get(\"horizon-color\"),u_horizon:(Je.height/2+Je.getHorizon())*He,u_sky_horizon_blend:Oe.properties.get(\"sky-horizon-blend\")*Je.height/2*He}))(yt,it.style.map.transform,it.pixelRatio),Sr=new wo(Nt.LEQUAL,wo.ReadWrite,[0,1]),he=$o.disabled,be=it.colorModeForRenderPass(),Pe=it.useProgram(\"sky\");if(!yt.mesh){let Oe=new a.aX;Oe.emplaceBack(-1,-1),Oe.emplaceBack(1,-1),Oe.emplaceBack(1,1),Oe.emplaceBack(-1,1);let Je=new a.aY;Je.emplaceBack(0,1,2),Je.emplaceBack(0,2,3),yt.mesh=new Pu(Ot.createVertexBuffer(Oe,oo.members),Ot.createIndexBuffer(Je),a.a0.simpleSegment(0,0,Oe.length,Je.length))}Pe.draw(Ot,Nt.TRIANGLES,Sr,he,be,Ja.disabled,hr,void 0,\"sky\",yt.mesh.vertexBuffer,yt.mesh.indexBuffer,yt.mesh.segments)}(this,this.style.sky),this._showOverdrawInspector=B.showOverdrawInspector,this.depthRangeFor3D=[0,1-(w._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass=\"opaque\",this.currentLayer=Q.length-1;this.currentLayer>=0;this.currentLayer--){let it=this.style._layers[Q[this.currentLayer]],yt=ee[it.source],Ot=se[it.source];this._renderTileClippingMasks(it,Ot),this.renderLayer(this,yt,it,Ot)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer<Q.length;this.currentLayer++){let it=this.style._layers[Q[this.currentLayer]],yt=ee[it.source];if(this.renderToTexture&&this.renderToTexture.renderLayer(it))continue;let Ot=(it.type===\"symbol\"?je:qe)[it.source];this._renderTileClippingMasks(it,se[it.source]),this.renderLayer(this,yt,it,Ot)}if(this.options.showTileBoundaries){let it=function(yt,Ot){let Nt=null,hr=Object.values(yt._layers).flatMap(Pe=>Pe.source&&!Pe.isHidden(Ot)?[yt.sourceCaches[Pe.source]]:[]),Sr=hr.filter(Pe=>Pe.getSource().type===\"vector\"),he=hr.filter(Pe=>Pe.getSource().type!==\"vector\"),be=Pe=>{(!Nt||Nt.getSource().maxzoom<Pe.getSource().maxzoom)&&(Nt=Pe)};return Sr.forEach(Pe=>be(Pe)),Nt||he.forEach(Pe=>be(Pe)),Nt}(this.style,this.transform.zoom);it&&function(yt,Ot,Nt){for(let hr=0;hr<Nt.length;hr++)$h(yt,Ot,Nt[hr])}(this,it,it.getVisibleCoordinates())}this.options.showPadding&&function(it){let yt=it.transform.padding;Cf(it,it.transform.height-(yt.top||0),3,Zc),Cf(it,yt.bottom||0,3,ds),pd(it,yt.left||0,3,Ch),pd(it,it.transform.width-(yt.right||0),3,Bd);let Ot=it.transform.centerPoint;(function(Nt,hr,Sr,he){Lu(Nt,hr-1,Sr-10,2,20,he),Lu(Nt,hr-10,Sr-1,20,2,he)})(it,Ot.x,it.transform.height-Ot.y,Jh)}(this),this.context.setDefault()}maybeDrawDepthAndCoords(w){if(!this.style||!this.style.map||!this.style.map.terrain)return;let B=this.terrainFacilitator.matrix,Q=this.transform.modelViewProjectionMatrix,ee=this.terrainFacilitator.dirty;ee||(ee=w?!a.a_(B,Q):!a.a$(B,Q)),ee||(ee=this.style.map.terrain.sourceCache.tilesAfterTime(this.terrainFacilitator.renderTime).length>0),ee&&(a.b0(B,Q),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(se,qe){let je=se.context,it=je.gl,yt=Ps.unblended,Ot=new wo(it.LEQUAL,wo.ReadWrite,[0,1]),Nt=qe.getTerrainMesh(),hr=qe.sourceCache.getRenderableTiles(),Sr=se.useProgram(\"terrainDepth\");je.bindFramebuffer.set(qe.getFramebuffer(\"depth\").framebuffer),je.viewport.set([0,0,se.width/devicePixelRatio,se.height/devicePixelRatio]),je.clear({color:a.aM.transparent,depth:1});for(let he of hr){let be=qe.getTerrainData(he.tileID),Pe={u_matrix:se.transform.calculatePosMatrix(he.tileID.toUnwrapped()),u_ele_delta:qe.getMeshFrameDelta(se.transform.zoom)};Sr.draw(je,it.TRIANGLES,Ot,$o.disabled,yt,Ja.backCCW,Pe,be,\"terrain\",Nt.vertexBuffer,Nt.indexBuffer,Nt.segments)}je.bindFramebuffer.set(null),je.viewport.set([0,0,se.width,se.height])}(this,this.style.map.terrain),function(se,qe){let je=se.context,it=je.gl,yt=Ps.unblended,Ot=new wo(it.LEQUAL,wo.ReadWrite,[0,1]),Nt=qe.getTerrainMesh(),hr=qe.getCoordsTexture(),Sr=qe.sourceCache.getRenderableTiles(),he=se.useProgram(\"terrainCoords\");je.bindFramebuffer.set(qe.getFramebuffer(\"coords\").framebuffer),je.viewport.set([0,0,se.width/devicePixelRatio,se.height/devicePixelRatio]),je.clear({color:a.aM.transparent,depth:1}),qe.coordsIndex=[];for(let be of Sr){let Pe=qe.getTerrainData(be.tileID);je.activeTexture.set(it.TEXTURE0),it.bindTexture(it.TEXTURE_2D,hr.texture);let Oe={u_matrix:se.transform.calculatePosMatrix(be.tileID.toUnwrapped()),u_terrain_coords_id:(255-qe.coordsIndex.length)/255,u_texture:0,u_ele_delta:qe.getMeshFrameDelta(se.transform.zoom)};he.draw(je,it.TRIANGLES,Ot,$o.disabled,yt,Ja.backCCW,Oe,Pe,\"terrain\",Nt.vertexBuffer,Nt.indexBuffer,Nt.segments),qe.coordsIndex.push(be.tileID.key)}je.bindFramebuffer.set(null),je.viewport.set([0,0,se.width,se.height])}(this,this.style.map.terrain))}renderLayer(w,B,Q,ee){if(!Q.isHidden(this.transform.zoom)&&(Q.type===\"background\"||Q.type===\"custom\"||(ee||[]).length))switch(this.id=Q.id,Q.type){case\"symbol\":(function(se,qe,je,it,yt){if(se.renderPass!==\"translucent\")return;let Ot=$o.disabled,Nt=se.colorModeForRenderPass();(je._unevaluatedLayout.hasValue(\"text-variable-anchor\")||je._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"))&&function(hr,Sr,he,be,Pe,Oe,Je,He,et){let Mt=Sr.transform,Dt=Gi(),Ut=Pe===\"map\",tr=Oe===\"map\";for(let mr of hr){let Rr=be.getTile(mr),zr=Rr.getBucket(he);if(!zr||!zr.text||!zr.text.segments.get().length)continue;let Xr=a.ag(zr.textSizeData,Mt.zoom),di=nn(Rr,1,Sr.transform.zoom),Li=Or(mr.posMatrix,tr,Ut,Sr.transform,di),Ci=he.layout.get(\"icon-text-fit\")!==\"none\"&&zr.hasIconData();if(Xr){let Qi=Math.pow(2,Mt.zoom-Rr.tileID.overscaledZ),Mn=Sr.style.map.terrain?(ea,Ga)=>Sr.style.map.terrain.getElevation(mr,ea,Ga):null,pa=Dt.translatePosition(Mt,Rr,Je,He);kf(zr,Ut,tr,et,Mt,Li,mr.posMatrix,Qi,Xr,Ci,Dt,pa,mr.toUnwrapped(),Mn)}}}(it,se,je,qe,je.layout.get(\"text-rotation-alignment\"),je.layout.get(\"text-pitch-alignment\"),je.paint.get(\"text-translate\"),je.paint.get(\"text-translate-anchor\"),yt),je.paint.get(\"icon-opacity\").constantOr(1)!==0&&Yh(se,qe,je,it,!1,je.paint.get(\"icon-translate\"),je.paint.get(\"icon-translate-anchor\"),je.layout.get(\"icon-rotation-alignment\"),je.layout.get(\"icon-pitch-alignment\"),je.layout.get(\"icon-keep-upright\"),Ot,Nt),je.paint.get(\"text-opacity\").constantOr(1)!==0&&Yh(se,qe,je,it,!0,je.paint.get(\"text-translate\"),je.paint.get(\"text-translate-anchor\"),je.layout.get(\"text-rotation-alignment\"),je.layout.get(\"text-pitch-alignment\"),je.layout.get(\"text-keep-upright\"),Ot,Nt),qe.map.showCollisionBoxes&&(tc(se,qe,je,it,!0),tc(se,qe,je,it,!1))})(w,B,Q,ee,this.style.placement.variableOffsets);break;case\"circle\":(function(se,qe,je,it){if(se.renderPass!==\"translucent\")return;let yt=je.paint.get(\"circle-opacity\"),Ot=je.paint.get(\"circle-stroke-width\"),Nt=je.paint.get(\"circle-stroke-opacity\"),hr=!je.layout.get(\"circle-sort-key\").isConstant();if(yt.constantOr(1)===0&&(Ot.constantOr(1)===0||Nt.constantOr(1)===0))return;let Sr=se.context,he=Sr.gl,be=se.depthModeForSublayer(0,wo.ReadOnly),Pe=$o.disabled,Oe=se.colorModeForRenderPass(),Je=[];for(let He=0;He<it.length;He++){let et=it[He],Mt=qe.getTile(et),Dt=Mt.getBucket(je);if(!Dt)continue;let Ut=Dt.programConfigurations.get(je.id),tr=se.useProgram(\"circle\",Ut),mr=Dt.layoutVertexBuffer,Rr=Dt.indexBuffer,zr=se.style.map.terrain&&se.style.map.terrain.getTerrainData(et),Xr={programConfiguration:Ut,program:tr,layoutVertexBuffer:mr,indexBuffer:Rr,uniformValues:go(se,et,Mt,je),terrainData:zr};if(hr){let di=Dt.segments.get();for(let Li of di)Je.push({segments:new a.a0([Li]),sortKey:Li.sortKey,state:Xr})}else Je.push({segments:Dt.segments,sortKey:0,state:Xr})}hr&&Je.sort((He,et)=>He.sortKey-et.sortKey);for(let He of Je){let{programConfiguration:et,program:Mt,layoutVertexBuffer:Dt,indexBuffer:Ut,uniformValues:tr,terrainData:mr}=He.state;Mt.draw(Sr,he.TRIANGLES,be,Pe,Oe,Ja.disabled,tr,mr,je.id,Dt,Ut,He.segments,je.paint,se.transform.zoom,et)}})(w,B,Q,ee);break;case\"heatmap\":(function(se,qe,je,it){if(je.paint.get(\"heatmap-opacity\")===0)return;let yt=se.context;if(se.style.map.terrain){for(let Ot of it){let Nt=qe.getTile(Ot);qe.hasRenderableParent(Ot)||(se.renderPass===\"offscreen\"?nh(se,Nt,je,Ot):se.renderPass===\"translucent\"&&hf(se,je,Ot))}yt.viewport.set([0,0,se.width,se.height])}else se.renderPass===\"offscreen\"?function(Ot,Nt,hr,Sr){let he=Ot.context,be=he.gl,Pe=$o.disabled,Oe=new Ps([be.ONE,be.ONE],a.aM.transparent,[!0,!0,!0,!0]);(function(Je,He,et){let Mt=Je.gl;Je.activeTexture.set(Mt.TEXTURE1),Je.viewport.set([0,0,He.width/4,He.height/4]);let Dt=et.heatmapFbos.get(a.aU);Dt?(Mt.bindTexture(Mt.TEXTURE_2D,Dt.colorAttachment.get()),Je.bindFramebuffer.set(Dt.framebuffer)):(Dt=kh(Je,He.width/4,He.height/4),et.heatmapFbos.set(a.aU,Dt))})(he,Ot,hr),he.clear({color:a.aM.transparent});for(let Je=0;Je<Sr.length;Je++){let He=Sr[Je];if(Nt.hasRenderableParent(He))continue;let et=Nt.getTile(He),Mt=et.getBucket(hr);if(!Mt)continue;let Dt=Mt.programConfigurations.get(hr.id),Ut=Ot.useProgram(\"heatmap\",Dt),{zoom:tr}=Ot.transform;Ut.draw(he,be.TRIANGLES,wo.disabled,Pe,Oe,Ja.disabled,xo(He.posMatrix,et,tr,hr.paint.get(\"heatmap-intensity\")),null,hr.id,Mt.layoutVertexBuffer,Mt.indexBuffer,Mt.segments,hr.paint,Ot.transform.zoom,Dt)}he.viewport.set([0,0,Ot.width,Ot.height])}(se,qe,je,it):se.renderPass===\"translucent\"&&function(Ot,Nt){let hr=Ot.context,Sr=hr.gl;hr.setColorMode(Ot.colorModeForRenderPass());let he=Nt.heatmapFbos.get(a.aU);he&&(hr.activeTexture.set(Sr.TEXTURE0),Sr.bindTexture(Sr.TEXTURE_2D,he.colorAttachment.get()),hr.activeTexture.set(Sr.TEXTURE1),Kh(hr,Nt).bind(Sr.LINEAR,Sr.CLAMP_TO_EDGE),Ot.useProgram(\"heatmapTexture\").draw(hr,Sr.TRIANGLES,wo.disabled,$o.disabled,Ot.colorModeForRenderPass(),Ja.disabled,zs(Ot,Nt,0,1),null,Nt.id,Ot.viewportBuffer,Ot.quadTriangleIndexBuffer,Ot.viewportSegments,Nt.paint,Ot.transform.zoom))}(se,je)})(w,B,Q,ee);break;case\"line\":(function(se,qe,je,it){if(se.renderPass!==\"translucent\")return;let yt=je.paint.get(\"line-opacity\"),Ot=je.paint.get(\"line-width\");if(yt.constantOr(1)===0||Ot.constantOr(1)===0)return;let Nt=se.depthModeForSublayer(0,wo.ReadOnly),hr=se.colorModeForRenderPass(),Sr=je.paint.get(\"line-dasharray\"),he=je.paint.get(\"line-pattern\"),be=he.constantOr(1),Pe=je.paint.get(\"line-gradient\"),Oe=je.getCrossfadeParameters(),Je=be?\"linePattern\":Sr?\"lineSDF\":Pe?\"lineGradient\":\"line\",He=se.context,et=He.gl,Mt=!0;for(let Dt of it){let Ut=qe.getTile(Dt);if(be&&!Ut.patternsLoaded())continue;let tr=Ut.getBucket(je);if(!tr)continue;let mr=tr.programConfigurations.get(je.id),Rr=se.context.program.get(),zr=se.useProgram(Je,mr),Xr=Mt||zr.program!==Rr,di=se.style.map.terrain&&se.style.map.terrain.getTerrainData(Dt),Li=he.constantOr(null);if(Li&&Ut.imageAtlas){let Mn=Ut.imageAtlas,pa=Mn.patternPositions[Li.to.toString()],ea=Mn.patternPositions[Li.from.toString()];pa&&ea&&mr.setConstantPatternPositions(pa,ea)}let Ci=di?Dt:null,Qi=be?wl(se,Ut,je,Oe,Ci):Sr?os(se,Ut,je,Sr,Oe,Ci):Pe?Xs(se,Ut,je,tr.lineClipsArray.length,Ci):Zs(se,Ut,je,Ci);if(be)He.activeTexture.set(et.TEXTURE0),Ut.imageAtlasTexture.bind(et.LINEAR,et.CLAMP_TO_EDGE),mr.updatePaintBuffers(Oe);else if(Sr&&(Xr||se.lineAtlas.dirty))He.activeTexture.set(et.TEXTURE0),se.lineAtlas.bind(He);else if(Pe){let Mn=tr.gradients[je.id],pa=Mn.texture;if(je.gradientVersion!==Mn.version){let ea=256;if(je.stepInterpolant){let Ga=qe.getSource().maxzoom,To=Dt.canonical.z===Ga?Math.ceil(1<<se.transform.maxZoom-Dt.canonical.z):1;ea=a.ac(a.aV(tr.maxLineLength/a.X*1024*To),256,He.maxTextureSize)}Mn.gradient=a.aW({expression:je.gradientExpression(),evaluationKey:\"lineProgress\",resolution:ea,image:Mn.gradient||void 0,clips:tr.lineClipsArray}),Mn.texture?Mn.texture.update(Mn.gradient):Mn.texture=new g(He,Mn.gradient,et.RGBA),Mn.version=je.gradientVersion,pa=Mn.texture}He.activeTexture.set(et.TEXTURE0),pa.bind(je.stepInterpolant?et.NEAREST:et.LINEAR,et.CLAMP_TO_EDGE)}zr.draw(He,et.TRIANGLES,Nt,se.stencilModeForClipping(Dt),hr,Ja.disabled,Qi,di,je.id,tr.layoutVertexBuffer,tr.indexBuffer,tr.segments,je.paint,se.transform.zoom,mr,tr.layoutVertexBuffer2),Mt=!1}})(w,B,Q,ee);break;case\"fill\":(function(se,qe,je,it){let yt=je.paint.get(\"fill-color\"),Ot=je.paint.get(\"fill-opacity\");if(Ot.constantOr(1)===0)return;let Nt=se.colorModeForRenderPass(),hr=je.paint.get(\"fill-pattern\"),Sr=se.opaquePassEnabledForLayer()&&!hr.constantOr(1)&&yt.constantOr(a.aM.transparent).a===1&&Ot.constantOr(0)===1?\"opaque\":\"translucent\";if(se.renderPass===Sr){let he=se.depthModeForSublayer(1,se.renderPass===\"opaque\"?wo.ReadWrite:wo.ReadOnly);ah(se,qe,je,it,he,Nt,!1)}if(se.renderPass===\"translucent\"&&je.paint.get(\"fill-antialias\")){let he=se.depthModeForSublayer(je.getPaintProperty(\"fill-outline-color\")?2:0,wo.ReadOnly);ah(se,qe,je,it,he,Nt,!0)}})(w,B,Q,ee);break;case\"fill-extrusion\":(function(se,qe,je,it){let yt=je.paint.get(\"fill-extrusion-opacity\");if(yt!==0&&se.renderPass===\"translucent\"){let Ot=new wo(se.context.gl.LEQUAL,wo.ReadWrite,se.depthRangeFor3D);if(yt!==1||je.paint.get(\"fill-extrusion-pattern\").constantOr(1))Wc(se,qe,je,it,Ot,$o.disabled,Ps.disabled),Wc(se,qe,je,it,Ot,se.stencilModeFor3D(),se.colorModeForRenderPass());else{let Nt=se.colorModeForRenderPass();Wc(se,qe,je,it,Ot,$o.disabled,Nt)}}})(w,B,Q,ee);break;case\"hillshade\":(function(se,qe,je,it){if(se.renderPass!==\"offscreen\"&&se.renderPass!==\"translucent\")return;let yt=se.context,Ot=se.depthModeForSublayer(0,wo.ReadOnly),Nt=se.colorModeForRenderPass(),[hr,Sr]=se.renderPass===\"translucent\"?se.stencilConfigForOverlap(it):[{},it];for(let he of Sr){let be=qe.getTile(he);be.needsHillshadePrepare!==void 0&&be.needsHillshadePrepare&&se.renderPass===\"offscreen\"?Cu(se,be,je,Ot,$o.disabled,Nt):se.renderPass===\"translucent\"&&df(se,he,be,je,Ot,hr[he.overscaledZ],Nt)}yt.viewport.set([0,0,se.width,se.height])})(w,B,Q,ee);break;case\"raster\":(function(se,qe,je,it){if(se.renderPass!==\"translucent\"||je.paint.get(\"raster-opacity\")===0||!it.length)return;let yt=se.context,Ot=yt.gl,Nt=qe.getSource(),hr=se.useProgram(\"raster\"),Sr=se.colorModeForRenderPass(),[he,be]=Nt instanceof Rt?[{},it]:se.stencilConfigForOverlap(it),Pe=be[be.length-1].overscaledZ,Oe=!se.options.moving;for(let Je of be){let He=se.depthModeForSublayer(Je.overscaledZ-Pe,je.paint.get(\"raster-opacity\")===1?wo.ReadWrite:wo.ReadOnly,Ot.LESS),et=qe.getTile(Je);et.registerFadeDuration(je.paint.get(\"raster-fade-duration\"));let Mt=qe.findLoadedParent(Je,0),Dt=qe.findLoadedSibling(Je),Ut=Nf(et,Mt||Dt||null,qe,je,se.transform,se.style.map.terrain),tr,mr,Rr=je.paint.get(\"raster-resampling\")===\"nearest\"?Ot.NEAREST:Ot.LINEAR;yt.activeTexture.set(Ot.TEXTURE0),et.texture.bind(Rr,Ot.CLAMP_TO_EDGE,Ot.LINEAR_MIPMAP_NEAREST),yt.activeTexture.set(Ot.TEXTURE1),Mt?(Mt.texture.bind(Rr,Ot.CLAMP_TO_EDGE,Ot.LINEAR_MIPMAP_NEAREST),tr=Math.pow(2,Mt.tileID.overscaledZ-et.tileID.overscaledZ),mr=[et.tileID.canonical.x*tr%1,et.tileID.canonical.y*tr%1]):et.texture.bind(Rr,Ot.CLAMP_TO_EDGE,Ot.LINEAR_MIPMAP_NEAREST),et.texture.useMipmap&&yt.extTextureFilterAnisotropic&&se.transform.pitch>20&&Ot.texParameterf(Ot.TEXTURE_2D,yt.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,yt.extTextureFilterAnisotropicMax);let zr=se.style.map.terrain&&se.style.map.terrain.getTerrainData(Je),Xr=zr?Je:null,di=Xr?Xr.posMatrix:se.transform.calculatePosMatrix(Je.toUnwrapped(),Oe),Li=ml(di,mr||[0,0],tr||1,Ut,je);Nt instanceof Rt?hr.draw(yt,Ot.TRIANGLES,He,$o.disabled,Sr,Ja.disabled,Li,zr,je.id,Nt.boundsBuffer,se.quadTriangleIndexBuffer,Nt.boundsSegments):hr.draw(yt,Ot.TRIANGLES,He,he[Je.overscaledZ],Sr,Ja.disabled,Li,zr,je.id,se.rasterBoundsBuffer,se.quadTriangleIndexBuffer,se.rasterBoundsSegments)}})(w,B,Q,ee);break;case\"background\":(function(se,qe,je,it){let yt=je.paint.get(\"background-color\"),Ot=je.paint.get(\"background-opacity\");if(Ot===0)return;let Nt=se.context,hr=Nt.gl,Sr=se.transform,he=Sr.tileSize,be=je.paint.get(\"background-pattern\");if(se.isPatternMissing(be))return;let Pe=!be&&yt.a===1&&Ot===1&&se.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(se.renderPass!==Pe)return;let Oe=$o.disabled,Je=se.depthModeForSublayer(0,Pe===\"opaque\"?wo.ReadWrite:wo.ReadOnly),He=se.colorModeForRenderPass(),et=se.useProgram(be?\"backgroundPattern\":\"background\"),Mt=it||Sr.coveringTiles({tileSize:he,terrain:se.style.map.terrain});be&&(Nt.activeTexture.set(hr.TEXTURE0),se.imageManager.bind(se.context));let Dt=je.getCrossfadeParameters();for(let Ut of Mt){let tr=it?Ut.posMatrix:se.transform.calculatePosMatrix(Ut.toUnwrapped()),mr=be?Hu(tr,Ot,se,be,{tileID:Ut,tileSize:he},Dt):Ql(tr,Ot,yt),Rr=se.style.map.terrain&&se.style.map.terrain.getTerrainData(Ut);et.draw(Nt,hr.TRIANGLES,Je,Oe,He,Ja.disabled,mr,Rr,je.id,se.tileExtentBuffer,se.quadTriangleIndexBuffer,se.tileExtentSegments)}})(w,0,Q,ee);break;case\"custom\":(function(se,qe,je){let it=se.context,yt=je.implementation;if(se.renderPass===\"offscreen\"){let Ot=yt.prerender;Ot&&(se.setCustomLayerDefaults(),it.setColorMode(se.colorModeForRenderPass()),Ot.call(yt,it.gl,se.transform.customLayerMatrix()),it.setDirty(),se.setBaseState())}else if(se.renderPass===\"translucent\"){se.setCustomLayerDefaults(),it.setColorMode(se.colorModeForRenderPass()),it.setStencilMode($o.disabled);let Ot=yt.renderingMode===\"3d\"?new wo(se.context.gl.LEQUAL,wo.ReadWrite,se.depthRangeFor3D):se.depthModeForSublayer(0,wo.ReadOnly);it.setDepthMode(Ot),yt.render(it.gl,se.transform.customLayerMatrix(),{farZ:se.transform.farZ,nearZ:se.transform.nearZ,fov:se.transform._fov,modelViewProjectionMatrix:se.transform.modelViewProjectionMatrix,projectionMatrix:se.transform.projectionMatrix}),it.setDirty(),se.setBaseState(),it.bindFramebuffer.set(null)}})(w,0,Q)}}translatePosMatrix(w,B,Q,ee,se){if(!Q[0]&&!Q[1])return w;let qe=se?ee===\"map\"?this.transform.angle:0:ee===\"viewport\"?-this.transform.angle:0;if(qe){let yt=Math.sin(qe),Ot=Math.cos(qe);Q=[Q[0]*Ot-Q[1]*yt,Q[0]*yt+Q[1]*Ot]}let je=[se?Q[0]:nn(B,Q[0],this.transform.zoom),se?Q[1]:nn(B,Q[1],this.transform.zoom),0],it=new Float32Array(16);return a.J(it,w,je),it}saveTileTexture(w){let B=this._tileTextures[w.size[0]];B?B.push(w):this._tileTextures[w.size[0]]=[w]}getTileTexture(w){let B=this._tileTextures[w];return B&&B.length>0?B.pop():null}isPatternMissing(w){if(!w)return!1;if(!w.from||!w.to)return!0;let B=this.imageManager.getPattern(w.from.toString()),Q=this.imageManager.getPattern(w.to.toString());return!B||!Q}useProgram(w,B){this.cache=this.cache||{};let Q=w+(B?B.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\")+(this.style.map.terrain?\"/terrain\":\"\");return this.cache[Q]||(this.cache[Q]=new zi(this.context,xn[w],B,fc[w],this._showOverdrawInspector,this.style.map.terrain)),this.cache[Q]}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(){let w=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(w.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new g(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:w,drawingBufferHeight:B}=this.context.gl;return this.width!==w||this.height!==B}}class fl{constructor(w,B){this.points=w,this.planes=B}static fromInvProjectionMatrix(w,B,Q){let ee=Math.pow(2,Q),se=[[-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(je=>{let it=1/(je=a.af([],je,w))[3]/B*ee;return a.b1(je,je,[it,it,1/je[3],it])}),qe=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(je=>{let it=function(hr,Sr){var he=Sr[0],be=Sr[1],Pe=Sr[2],Oe=he*he+be*be+Pe*Pe;return Oe>0&&(Oe=1/Math.sqrt(Oe)),hr[0]=Sr[0]*Oe,hr[1]=Sr[1]*Oe,hr[2]=Sr[2]*Oe,hr}([],function(hr,Sr,he){var be=Sr[0],Pe=Sr[1],Oe=Sr[2],Je=he[0],He=he[1],et=he[2];return hr[0]=Pe*et-Oe*He,hr[1]=Oe*Je-be*et,hr[2]=be*He-Pe*Je,hr}([],L([],se[je[0]],se[je[1]]),L([],se[je[2]],se[je[1]]))),yt=-((Ot=it)[0]*(Nt=se[je[1]])[0]+Ot[1]*Nt[1]+Ot[2]*Nt[2]);var Ot,Nt;return it.concat(yt)});return new fl(se,qe)}}class Xc{constructor(w,B){this.min=w,this.max=B,this.center=function(Q,ee,se){return Q[0]=.5*ee[0],Q[1]=.5*ee[1],Q[2]=.5*ee[2],Q}([],function(Q,ee,se){return Q[0]=ee[0]+se[0],Q[1]=ee[1]+se[1],Q[2]=ee[2]+se[2],Q}([],this.min,this.max))}quadrant(w){let B=[w%2==0,w<2],Q=k(this.min),ee=k(this.max);for(let se=0;se<B.length;se++)Q[se]=B[se]?this.min[se]:this.center[se],ee[se]=B[se]?this.center[se]:this.max[se];return ee[2]=this.max[2],new Xc(Q,ee)}distanceX(w){return Math.max(Math.min(this.max[0],w[0]),this.min[0])-w[0]}distanceY(w){return Math.max(Math.min(this.max[1],w[1]),this.min[1])-w[1]}intersects(w){let B=[[this.min[0],this.min[1],this.min[2],1],[this.max[0],this.min[1],this.min[2],1],[this.max[0],this.max[1],this.min[2],1],[this.min[0],this.max[1],this.min[2],1],[this.min[0],this.min[1],this.max[2],1],[this.max[0],this.min[1],this.max[2],1],[this.max[0],this.max[1],this.max[2],1],[this.min[0],this.max[1],this.max[2],1]],Q=!0;for(let ee=0;ee<w.planes.length;ee++){let se=w.planes[ee],qe=0;for(let je=0;je<B.length;je++)a.b2(se,B[je])>=0&&qe++;if(qe===0)return 0;qe!==B.length&&(Q=!1)}if(Q)return 2;for(let ee=0;ee<3;ee++){let se=Number.MAX_VALUE,qe=-Number.MAX_VALUE;for(let je=0;je<w.points.length;je++){let it=w.points[je][ee]-this.min[ee];se=Math.min(se,it),qe=Math.max(qe,it)}if(qe<0||se>this.max[ee]-this.min[ee])return 0}return 1}}class ic{constructor(w=0,B=0,Q=0,ee=0){if(isNaN(w)||w<0||isNaN(B)||B<0||isNaN(Q)||Q<0||isNaN(ee)||ee<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=w,this.bottom=B,this.left=Q,this.right=ee}interpolate(w,B,Q){return B.top!=null&&w.top!=null&&(this.top=a.y.number(w.top,B.top,Q)),B.bottom!=null&&w.bottom!=null&&(this.bottom=a.y.number(w.bottom,B.bottom,Q)),B.left!=null&&w.left!=null&&(this.left=a.y.number(w.left,B.left,Q)),B.right!=null&&w.right!=null&&(this.right=a.y.number(w.right,B.right,Q)),this}getCenter(w,B){let Q=a.ac((this.left+w-this.right)/2,0,w),ee=a.ac((this.top+B-this.bottom)/2,0,B);return new a.P(Q,ee)}equals(w){return this.top===w.top&&this.bottom===w.bottom&&this.left===w.left&&this.right===w.right}clone(){return new ic(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}let yu=85.051129;class Qs{constructor(w,B,Q,ee,se){this.tileSize=512,this._renderWorldCopies=se===void 0||!!se,this._minZoom=w||0,this._maxZoom=B||22,this._minPitch=Q==null?0:Q,this._maxPitch=ee==null?60:ee,this.setMaxBounds(),this.width=0,this.height=0,this._center=new a.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new ic,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){let w=new Qs(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return w.apply(this),w}apply(w){this.tileSize=w.tileSize,this.latRange=w.latRange,this.lngRange=w.lngRange,this.width=w.width,this.height=w.height,this._center=w._center,this._elevation=w._elevation,this.minElevationForCurrentTile=w.minElevationForCurrentTile,this.zoom=w.zoom,this.angle=w.angle,this._fov=w._fov,this._pitch=w._pitch,this._unmodified=w._unmodified,this._edgeInsets=w._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(w){this._minZoom!==w&&(this._minZoom=w,this.zoom=Math.max(this.zoom,w))}get maxZoom(){return this._maxZoom}set maxZoom(w){this._maxZoom!==w&&(this._maxZoom=w,this.zoom=Math.min(this.zoom,w))}get minPitch(){return this._minPitch}set minPitch(w){this._minPitch!==w&&(this._minPitch=w,this.pitch=Math.max(this.pitch,w))}get maxPitch(){return this._maxPitch}set maxPitch(w){this._maxPitch!==w&&(this._maxPitch=w,this.pitch=Math.min(this.pitch,w))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(w){w===void 0?w=!0:w===null&&(w=!1),this._renderWorldCopies=w}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new a.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(w){let B=-a.b3(w,-180,180)*Math.PI/180;this.angle!==B&&(this._unmodified=!1,this.angle=B,this._calcMatrices(),this.rotationMatrix=function(){var Q=new a.A(4);return a.A!=Float32Array&&(Q[1]=0,Q[2]=0),Q[0]=1,Q[3]=1,Q}(),function(Q,ee,se){var qe=ee[0],je=ee[1],it=ee[2],yt=ee[3],Ot=Math.sin(se),Nt=Math.cos(se);Q[0]=qe*Nt+it*Ot,Q[1]=je*Nt+yt*Ot,Q[2]=qe*-Ot+it*Nt,Q[3]=je*-Ot+yt*Nt}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(w){let B=a.ac(w,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==B&&(this._unmodified=!1,this._pitch=B,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(w){w=Math.max(.01,Math.min(60,w)),this._fov!==w&&(this._unmodified=!1,this._fov=w/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(w){let B=Math.min(Math.max(w,this.minZoom),this.maxZoom);this._zoom!==B&&(this._unmodified=!1,this._zoom=B,this.tileZoom=Math.max(0,Math.floor(B)),this.scale=this.zoomScale(B),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(w){w.lat===this._center.lat&&w.lng===this._center.lng||(this._unmodified=!1,this._center=w,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(w){w!==this._elevation&&(this._elevation=w,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(w){this._edgeInsets.equals(w)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,w,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(w){return this._edgeInsets.equals(w)}interpolatePadding(w,B,Q){this._unmodified=!1,this._edgeInsets.interpolate(w,B,Q),this._constrain(),this._calcMatrices()}coveringZoomLevel(w){let B=(w.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/w.tileSize));return Math.max(0,B)}getVisibleUnwrappedCoordinates(w){let B=[new a.b4(0,w)];if(this._renderWorldCopies){let Q=this.pointCoordinate(new a.P(0,0)),ee=this.pointCoordinate(new a.P(this.width,0)),se=this.pointCoordinate(new a.P(this.width,this.height)),qe=this.pointCoordinate(new a.P(0,this.height)),je=Math.floor(Math.min(Q.x,ee.x,se.x,qe.x)),it=Math.floor(Math.max(Q.x,ee.x,se.x,qe.x)),yt=1;for(let Ot=je-yt;Ot<=it+yt;Ot++)Ot!==0&&B.push(new a.b4(Ot,w))}return B}coveringTiles(w){var B,Q;let ee=this.coveringZoomLevel(w),se=ee;if(w.minzoom!==void 0&&ee<w.minzoom)return[];w.maxzoom!==void 0&&ee>w.maxzoom&&(ee=w.maxzoom);let qe=this.pointCoordinate(this.getCameraPoint()),je=a.Z.fromLngLat(this.center),it=Math.pow(2,ee),yt=[it*qe.x,it*qe.y,0],Ot=[it*je.x,it*je.y,0],Nt=fl.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,ee),hr=w.minzoom||0;!w.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(hr=ee);let Sr=w.terrain?2/Math.min(this.tileSize,w.tileSize)*this.tileSize:3,he=He=>({aabb:new Xc([He*it,0,0],[(He+1)*it,it,0]),zoom:0,x:0,y:0,wrap:He,fullyVisible:!1}),be=[],Pe=[],Oe=ee,Je=w.reparseOverscaled?se:ee;if(this._renderWorldCopies)for(let He=1;He<=3;He++)be.push(he(-He)),be.push(he(He));for(be.push(he(0));be.length>0;){let He=be.pop(),et=He.x,Mt=He.y,Dt=He.fullyVisible;if(!Dt){let zr=He.aabb.intersects(Nt);if(zr===0)continue;Dt=zr===2}let Ut=w.terrain?yt:Ot,tr=He.aabb.distanceX(Ut),mr=He.aabb.distanceY(Ut),Rr=Math.max(Math.abs(tr),Math.abs(mr));if(He.zoom===Oe||Rr>Sr+(1<<Oe-He.zoom)-2&&He.zoom>=hr){let zr=Oe-He.zoom,Xr=yt[0]-.5-(et<<zr),di=yt[1]-.5-(Mt<<zr);Pe.push({tileID:new a.S(He.zoom===Oe?Je:He.zoom,He.wrap,He.zoom,et,Mt),distanceSq:_([Ot[0]-.5-et,Ot[1]-.5-Mt]),tileDistanceToCamera:Math.sqrt(Xr*Xr+di*di)})}else for(let zr=0;zr<4;zr++){let Xr=(et<<1)+zr%2,di=(Mt<<1)+(zr>>1),Li=He.zoom+1,Ci=He.aabb.quadrant(zr);if(w.terrain){let Qi=new a.S(Li,He.wrap,Li,Xr,di),Mn=w.terrain.getMinMaxElevation(Qi),pa=(B=Mn.minElevation)!==null&&B!==void 0?B:this.elevation,ea=(Q=Mn.maxElevation)!==null&&Q!==void 0?Q:this.elevation;Ci=new Xc([Ci.min[0],Ci.min[1],pa],[Ci.max[0],Ci.max[1],ea])}be.push({aabb:Ci,zoom:Li,x:Xr,y:di,wrap:He.wrap,fullyVisible:Dt})}}return Pe.sort((He,et)=>He.distanceSq-et.distanceSq).map(He=>He.tileID)}resize(w,B){this.width=w,this.height=B,this.pixelsToGLUnits=[2/w,-2/B],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(w){return Math.pow(2,w)}scaleZoom(w){return Math.log(w)/Math.LN2}project(w){let B=a.ac(w.lat,-85.051129,yu);return new a.P(a.O(w.lng)*this.worldSize,a.Q(B)*this.worldSize)}unproject(w){return new a.Z(w.x/this.worldSize,w.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(w){let B=this.elevation,Q=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,ee=this.pointLocation(this.centerPoint,w),se=w.getElevationForLngLatZoom(ee,this.tileZoom);if(!(this.elevation-se))return;let qe=Q+B-se,je=Math.cos(this._pitch)*this.cameraToCenterDistance/qe/a.b5(1,ee.lat),it=this.scaleZoom(je/this.tileSize);this._elevation=se,this._center=ee,this.zoom=it}setLocationAtPoint(w,B){let Q=this.pointCoordinate(B),ee=this.pointCoordinate(this.centerPoint),se=this.locationCoordinate(w),qe=new a.Z(se.x-(Q.x-ee.x),se.y-(Q.y-ee.y));this.center=this.coordinateLocation(qe),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(w,B){return B?this.coordinatePoint(this.locationCoordinate(w),B.getElevationForLngLatZoom(w,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(w))}pointLocation(w,B){return this.coordinateLocation(this.pointCoordinate(w,B))}locationCoordinate(w){return a.Z.fromLngLat(w)}coordinateLocation(w){return w&&w.toLngLat()}pointCoordinate(w,B){if(B){let hr=B.pointCoordinate(w);if(hr!=null)return hr}let Q=[w.x,w.y,0,1],ee=[w.x,w.y,1,1];a.af(Q,Q,this.pixelMatrixInverse),a.af(ee,ee,this.pixelMatrixInverse);let se=Q[3],qe=ee[3],je=Q[1]/se,it=ee[1]/qe,yt=Q[2]/se,Ot=ee[2]/qe,Nt=yt===Ot?0:(0-yt)/(Ot-yt);return new a.Z(a.y.number(Q[0]/se,ee[0]/qe,Nt)/this.worldSize,a.y.number(je,it,Nt)/this.worldSize)}coordinatePoint(w,B=0,Q=this.pixelMatrix){let ee=[w.x*this.worldSize,w.y*this.worldSize,B,1];return a.af(ee,ee,Q),new a.P(ee[0]/ee[3],ee[1]/ee[3])}getBounds(){let w=Math.max(0,this.height/2-this.getHorizon());return new ce().extend(this.pointLocation(new a.P(0,w))).extend(this.pointLocation(new a.P(this.width,w))).extend(this.pointLocation(new a.P(this.width,this.height))).extend(this.pointLocation(new a.P(0,this.height)))}getMaxBounds(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new ce([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(w){w?(this.lngRange=[w.getWest(),w.getEast()],this.latRange=[w.getSouth(),w.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,yu])}calculateTileMatrix(w){let B=w.canonical,Q=this.worldSize/this.zoomScale(B.z),ee=B.x+Math.pow(2,B.z)*w.wrap,se=a.an(new Float64Array(16));return a.J(se,se,[ee*Q,B.y*Q,0]),a.K(se,se,[Q/a.X,Q/a.X,1]),se}calculatePosMatrix(w,B=!1){let Q=w.key,ee=B?this._alignedPosMatrixCache:this._posMatrixCache;if(ee[Q])return ee[Q];let se=this.calculateTileMatrix(w);return a.L(se,B?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,se),ee[Q]=new Float32Array(se),ee[Q]}calculateFogMatrix(w){let B=w.key,Q=this._fogMatrixCache;if(Q[B])return Q[B];let ee=this.calculateTileMatrix(w);return a.L(ee,this.fogMatrix,ee),Q[B]=new Float32Array(ee),Q[B]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(w,B){B=a.ac(+B,this.minZoom,this.maxZoom);let Q={center:new a.N(w.lng,w.lat),zoom:B},ee=this.lngRange;if(!this._renderWorldCopies&&ee===null){let He=179.9999999999;ee=[-He,He]}let se=this.tileSize*this.zoomScale(Q.zoom),qe=0,je=se,it=0,yt=se,Ot=0,Nt=0,{x:hr,y:Sr}=this.size;if(this.latRange){let He=this.latRange;qe=a.Q(He[1])*se,je=a.Q(He[0])*se,je-qe<Sr&&(Ot=Sr/(je-qe))}ee&&(it=a.b3(a.O(ee[0])*se,0,se),yt=a.b3(a.O(ee[1])*se,0,se),yt<it&&(yt+=se),yt-it<hr&&(Nt=hr/(yt-it)));let{x:he,y:be}=this.project.call({worldSize:se},w),Pe,Oe,Je=Math.max(Nt||0,Ot||0);if(Je){let He=new a.P(Nt?(yt+it)/2:he,Ot?(je+qe)/2:be);return Q.center=this.unproject.call({worldSize:se},He).wrap(),Q.zoom+=this.scaleZoom(Je),Q}if(this.latRange){let He=Sr/2;be-He<qe&&(Oe=qe+He),be+He>je&&(Oe=je-He)}if(ee){let He=(it+yt)/2,et=he;this._renderWorldCopies&&(et=a.b3(he,He-se/2,He+se/2));let Mt=hr/2;et-Mt<it&&(Pe=it+Mt),et+Mt>yt&&(Pe=yt-Mt)}if(Pe!==void 0||Oe!==void 0){let He=new a.P(Pe!=null?Pe:he,Oe!=null?Oe:be);Q.center=this.unproject.call({worldSize:se},He).wrap()}return Q}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let w=this._unmodified,{center:B,zoom:Q}=this.getConstrained(this.center,this.zoom);this.center=B,this.zoom=Q,this._unmodified=w,this._constraining=!1}_calcMatrices(){if(!this.height)return;let w=this.centerOffset,B=this.point.x,Q=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=a.b5(1,this.center.lat)*this.worldSize;let ee=a.an(new Float64Array(16));a.K(ee,ee,[this.width/2,-this.height/2,1]),a.J(ee,ee,[1,-1,0]),this.labelPlaneMatrix=ee,ee=a.an(new Float64Array(16)),a.K(ee,ee,[1,-1,1]),a.J(ee,ee,[-1,-1,0]),a.K(ee,ee,[2/this.width,2/this.height,1]),this.glCoordMatrix=ee;let se=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),qe=Math.min(this.elevation,this.minElevationForCurrentTile),je=se-qe*this._pixelPerMeter/Math.cos(this._pitch),it=qe<0?je:se,yt=Math.PI/2+this._pitch,Ot=this._fov*(.5+w.y/this.height),Nt=Math.sin(Ot)*it/Math.sin(a.ac(Math.PI-yt-Ot,.01,Math.PI-.01)),hr=this.getHorizon(),Sr=2*Math.atan(hr/this.cameraToCenterDistance)*(.5+w.y/(2*hr)),he=Math.sin(Sr)*it/Math.sin(a.ac(Math.PI-yt-Sr,.01,Math.PI-.01)),be=Math.min(Nt,he);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*be+it),this.nearZ=this.height/50,ee=new Float64Array(16),a.b6(ee,this._fov,this.width/this.height,this.nearZ,this.farZ),ee[8]=2*-w.x/this.width,ee[9]=2*w.y/this.height,this.projectionMatrix=a.ae(ee),a.K(ee,ee,[1,-1,1]),a.J(ee,ee,[0,0,-this.cameraToCenterDistance]),a.b7(ee,ee,this._pitch),a.ad(ee,ee,this.angle),a.J(ee,ee,[-B,-Q,0]),this.mercatorMatrix=a.K([],ee,[this.worldSize,this.worldSize,this.worldSize]),a.K(ee,ee,[1,1,this._pixelPerMeter]),this.pixelMatrix=a.L(new Float64Array(16),this.labelPlaneMatrix,ee),a.J(ee,ee,[0,0,-this.elevation]),this.modelViewProjectionMatrix=ee,this.invModelViewProjectionMatrix=a.as([],ee),this.fogMatrix=new Float64Array(16),a.b6(this.fogMatrix,this._fov,this.width/this.height,se,this.farZ),this.fogMatrix[8]=2*-w.x/this.width,this.fogMatrix[9]=2*w.y/this.height,a.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),a.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),a.b7(this.fogMatrix,this.fogMatrix,this._pitch),a.ad(this.fogMatrix,this.fogMatrix,this.angle),a.J(this.fogMatrix,this.fogMatrix,[-B,-Q,0]),a.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),a.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=a.L(new Float64Array(16),this.labelPlaneMatrix,ee);let Pe=this.width%2/2,Oe=this.height%2/2,Je=Math.cos(this.angle),He=Math.sin(this.angle),et=B-Math.round(B)+Je*Pe+He*Oe,Mt=Q-Math.round(Q)+Je*Oe+He*Pe,Dt=new Float64Array(ee);if(a.J(Dt,Dt,[et>.5?et-1:et,Mt>.5?Mt-1:Mt,0]),this.alignedModelViewProjectionMatrix=Dt,ee=a.as(new Float64Array(16),this.pixelMatrix),!ee)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=ee,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let w=this.pointCoordinate(new a.P(0,0)),B=[w.x*this.worldSize,w.y*this.worldSize,0,1];return a.af(B,B,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let w=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new a.P(0,w))}getCameraQueryGeometry(w){let B=this.getCameraPoint();if(w.length===1)return[w[0],B];{let Q=B.x,ee=B.y,se=B.x,qe=B.y;for(let je of w)Q=Math.min(Q,je.x),ee=Math.min(ee,je.y),se=Math.max(se,je.x),qe=Math.max(qe,je.y);return[new a.P(Q,ee),new a.P(se,ee),new a.P(se,qe),new a.P(Q,qe),new a.P(Q,ee)]}}lngLatToCameraDepth(w,B){let Q=this.locationCoordinate(w),ee=[Q.x*this.worldSize,Q.y*this.worldSize,B,1];return a.af(ee,ee,this.modelViewProjectionMatrix),ee[2]/ee[3]}}function Qh(le,w){let B,Q=!1,ee=null,se=null,qe=()=>{ee=null,Q&&(le.apply(se,B),ee=setTimeout(qe,w),Q=!1)};return(...je)=>(Q=!0,se=this,B=je,ee||qe(),ee)}class gd{constructor(w){this._getCurrentHash=()=>{let B=window.location.hash.replace(\"#\",\"\");if(this._hashName){let Q;return B.split(\"&\").map(ee=>ee.split(\"=\")).forEach(ee=>{ee[0]===this._hashName&&(Q=ee)}),(Q&&Q[1]||\"\").split(\"/\")}return B.split(\"/\")},this._onHashChange=()=>{let B=this._getCurrentHash();if(B.length>=3&&!B.some(Q=>isNaN(Q))){let Q=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(B[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+B[2],+B[1]],zoom:+B[0],bearing:Q,pitch:+(B[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let B=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,B)},this._removeHash=()=>{let B=this._getCurrentHash();if(B.length===0)return;let Q=B.join(\"/\"),ee=Q;ee.split(\"&\").length>0&&(ee=ee.split(\"&\")[0]),this._hashName&&(ee=`${this._hashName}=${Q}`);let se=window.location.hash.replace(ee,\"\");se.startsWith(\"#&\")?se=se.slice(0,1)+se.slice(2):se===\"#\"&&(se=\"\");let qe=window.location.href.replace(/(#.+)?$/,se);qe=qe.replace(\"&&\",\"&\"),window.history.replaceState(window.history.state,null,qe)},this._updateHash=Qh(this._updateHashUnthrottled,300),this._hashName=w&&encodeURIComponent(w)}addTo(w){return this._map=w,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(w){let B=this._map.getCenter(),Q=Math.round(100*this._map.getZoom())/100,ee=Math.ceil((Q*Math.LN2+Math.log(512/360/.5))/Math.LN10),se=Math.pow(10,ee),qe=Math.round(B.lng*se)/se,je=Math.round(B.lat*se)/se,it=this._map.getBearing(),yt=this._map.getPitch(),Ot=\"\";if(Ot+=w?`/${qe}/${je}/${Q}`:`${Q}/${je}/${qe}`,(it||yt)&&(Ot+=\"/\"+Math.round(10*it)/10),yt&&(Ot+=`/${Math.round(yt)}`),this._hashName){let Nt=this._hashName,hr=!1,Sr=window.location.hash.slice(1).split(\"&\").map(he=>{let be=he.split(\"=\")[0];return be===Nt?(hr=!0,`${be}=${Ot}`):he}).filter(he=>he);return hr||Sr.push(`${Nt}=${Ot}`),`#${Sr.join(\"&\")}`}return`#${Ot}`}}let Gu={linearity:.3,easing:a.b8(0,0,.3,1)},Pc=a.e({deceleration:2500,maxSpeed:1400},Gu),vc=a.e({deceleration:20,maxSpeed:1400},Gu),sv=a.e({deceleration:1e3,maxSpeed:360},Gu),Lf=a.e({deceleration:1e3,maxSpeed:90},Gu);class Uf{constructor(w){this._map=w,this.clear()}clear(){this._inertiaBuffer=[]}record(w){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:u.now(),settings:w})}_drainInertiaBuffer(){let w=this._inertiaBuffer,B=u.now();for(;w.length>0&&B-w[0].time>160;)w.shift()}_onMoveEnd(w){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let B={zoom:0,bearing:0,pitch:0,pan:new a.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:se}of this._inertiaBuffer)B.zoom+=se.zoomDelta||0,B.bearing+=se.bearingDelta||0,B.pitch+=se.pitchDelta||0,se.panDelta&&B.pan._add(se.panDelta),se.around&&(B.around=se.around),se.pinchAround&&(B.pinchAround=se.pinchAround);let Q=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,ee={};if(B.pan.mag()){let se=oh(B.pan.mag(),Q,a.e({},Pc,w||{}));ee.offset=B.pan.mult(se.amount/B.pan.mag()),ee.center=this._map.transform.center,Iu(ee,se)}if(B.zoom){let se=oh(B.zoom,Q,vc);ee.zoom=this._map.transform.zoom+se.amount,Iu(ee,se)}if(B.bearing){let se=oh(B.bearing,Q,sv);ee.bearing=this._map.transform.bearing+a.ac(se.amount,-179,179),Iu(ee,se)}if(B.pitch){let se=oh(B.pitch,Q,Lf);ee.pitch=this._map.transform.pitch+se.amount,Iu(ee,se)}if(ee.zoom||ee.bearing){let se=B.pinchAround===void 0?B.around:B.pinchAround;ee.around=se?this._map.unproject(se):this._map.getCenter()}return this.clear(),a.e(ee,{noMoveStart:!0})}}function Iu(le,w){(!le.duration||le.duration<w.duration)&&(le.duration=w.duration,le.easing=w.easing)}function oh(le,w,B){let{maxSpeed:Q,linearity:ee,deceleration:se}=B,qe=a.ac(le*ee/(w/1e3),-Q,Q),je=Math.abs(qe)/(se*ee);return{easing:B.easing,duration:1e3*je,amount:qe*(je/2)}}class ru extends a.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(w,B,Q,ee={}){let se=c.mousePos(B.getCanvas(),Q),qe=B.unproject(se);super(w,a.e({point:se,lngLat:qe,originalEvent:Q},ee)),this._defaultPrevented=!1,this.target=B}}class vf extends a.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(w,B,Q){let ee=w===\"touchend\"?Q.changedTouches:Q.touches,se=c.touchPos(B.getCanvasContainer(),ee),qe=se.map(it=>B.unproject(it)),je=se.reduce((it,yt,Ot,Nt)=>it.add(yt.div(Nt.length)),new a.P(0,0));super(w,{points:se,point:je,lngLats:qe,lngLat:B.unproject(je),originalEvent:Q}),this._defaultPrevented=!1}}class md extends a.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(w,B,Q){super(w,{originalEvent:Q}),this._defaultPrevented=!1}}class sh{constructor(w,B){this._map=w,this._clickTolerance=B.clickTolerance}reset(){delete this._mousedownPos}wheel(w){return this._firePreventable(new md(w.type,this._map,w))}mousedown(w,B){return this._mousedownPos=B,this._firePreventable(new ru(w.type,this._map,w))}mouseup(w){this._map.fire(new ru(w.type,this._map,w))}click(w,B){this._mousedownPos&&this._mousedownPos.dist(B)>=this._clickTolerance||this._map.fire(new ru(w.type,this._map,w))}dblclick(w){return this._firePreventable(new ru(w.type,this._map,w))}mouseover(w){this._map.fire(new ru(w.type,this._map,w))}mouseout(w){this._map.fire(new ru(w.type,this._map,w))}touchstart(w){return this._firePreventable(new vf(w.type,this._map,w))}touchmove(w){this._map.fire(new vf(w.type,this._map,w))}touchend(w){this._map.fire(new vf(w.type,this._map,w))}touchcancel(w){this._map.fire(new vf(w.type,this._map,w))}_firePreventable(w){if(this._map.fire(w),w.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Fs{constructor(w){this._map=w}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(w){this._map.fire(new ru(w.type,this._map,w))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new ru(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(w){this._delayContextMenu?this._contextMenuEvent=w:this._ignoreContextMenu||this._map.fire(new ru(w.type,this._map,w)),this._map.listens(\"contextmenu\")&&w.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class _u{constructor(w){this._map=w}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(w){return this.transform.pointLocation(a.P.convert(w),this._map.terrain)}}class xu{constructor(w,B){this._map=w,this._tr=new _u(w),this._el=w.getCanvasContainer(),this._container=w.getContainer(),this._clickTolerance=B.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(w,B){this.isEnabled()&&w.shiftKey&&w.button===0&&(c.disableDrag(),this._startPos=this._lastPos=B,this._active=!0)}mousemoveWindow(w,B){if(!this._active)return;let Q=B;if(this._lastPos.equals(Q)||!this._box&&Q.dist(this._startPos)<this._clickTolerance)return;let ee=this._startPos;this._lastPos=Q,this._box||(this._box=c.create(\"div\",\"maplibregl-boxzoom\",this._container),this._container.classList.add(\"maplibregl-crosshair\"),this._fireEvent(\"boxzoomstart\",w));let se=Math.min(ee.x,Q.x),qe=Math.max(ee.x,Q.x),je=Math.min(ee.y,Q.y),it=Math.max(ee.y,Q.y);c.setTransform(this._box,`translate(${se}px,${je}px)`),this._box.style.width=qe-se+\"px\",this._box.style.height=it-je+\"px\"}mouseupWindow(w,B){if(!this._active||w.button!==0)return;let Q=this._startPos,ee=B;if(this.reset(),c.suppressClick(),Q.x!==ee.x||Q.y!==ee.y)return this._map.fire(new a.k(\"boxzoomend\",{originalEvent:w})),{cameraAnimation:se=>se.fitScreenCoordinates(Q,ee,this._tr.bearing,{linear:!0})};this._fireEvent(\"boxzoomcancel\",w)}keydown(w){this._active&&w.keyCode===27&&(this.reset(),this._fireEvent(\"boxzoomcancel\",w))}reset(){this._active=!1,this._container.classList.remove(\"maplibregl-crosshair\"),this._box&&(c.remove(this._box),this._box=null),c.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(w,B){return this._map.fire(new a.k(w,{originalEvent:B}))}}function Lh(le,w){if(le.length!==w.length)throw new Error(`The number of touches and points are not equal - touches ${le.length}, points ${w.length}`);let B={};for(let Q=0;Q<le.length;Q++)B[le[Q].identifier]=w[Q];return B}class Is{constructor(w){this.reset(),this.numTouches=w.numTouches}reset(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1}touchstart(w,B,Q){(this.centroid||Q.length>this.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=w.timeStamp),Q.length===this.numTouches&&(this.centroid=function(ee){let se=new a.P(0,0);for(let qe of ee)se._add(qe);return se.div(ee.length)}(B),this.touches=Lh(Q,B)))}touchmove(w,B,Q){if(this.aborted||!this.centroid)return;let ee=Lh(Q,B);for(let se in this.touches){let qe=ee[se];(!qe||qe.dist(this.touches[se])>30)&&(this.aborted=!0)}}touchend(w,B,Q){if((!this.centroid||w.timeStamp-this.startTime>500)&&(this.aborted=!0),Q.length===0){let ee=!this.aborted&&this.centroid;if(this.reset(),ee)return ee}}}class Pf{constructor(w){this.singleTap=new Is(w),this.numTaps=w.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(w,B,Q){this.singleTap.touchstart(w,B,Q)}touchmove(w,B,Q){this.singleTap.touchmove(w,B,Q)}touchend(w,B,Q){let ee=this.singleTap.touchend(w,B,Q);if(ee){let se=w.timeStamp-this.lastTime<500,qe=!this.lastTap||this.lastTap.dist(ee)<30;if(se&&qe||this.reset(),this.count++,this.lastTime=w.timeStamp,this.lastTap=ee,this.count===this.numTaps)return this.reset(),ee}}}class Ic{constructor(w){this._tr=new _u(w),this._zoomIn=new Pf({numTouches:1,numTaps:2}),this._zoomOut=new Pf({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(w,B,Q){this._zoomIn.touchstart(w,B,Q),this._zoomOut.touchstart(w,B,Q)}touchmove(w,B,Q){this._zoomIn.touchmove(w,B,Q),this._zoomOut.touchmove(w,B,Q)}touchend(w,B,Q){let ee=this._zoomIn.touchend(w,B,Q),se=this._zoomOut.touchend(w,B,Q),qe=this._tr;return ee?(this._active=!0,w.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:je=>je.easeTo({duration:300,zoom:qe.zoom+1,around:qe.unproject(ee)},{originalEvent:w})}):se?(this._active=!0,w.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:je=>je.easeTo({duration:300,zoom:qe.zoom-1,around:qe.unproject(se)},{originalEvent:w})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class ju{constructor(w){this._enabled=!!w.enable,this._moveStateManager=w.moveStateManager,this._clickTolerance=w.clickTolerance||1,this._moveFunction=w.move,this._activateOnStart=!!w.activateOnStart,w.assignEvents(this),this.reset()}reset(w){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(w)}_move(...w){let B=this._moveFunction(...w);if(B.bearingDelta||B.pitchDelta||B.around||B.panDelta)return this._active=!0,B}dragStart(w,B){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(w)&&(this._moveStateManager.startMove(w),this._lastPoint=B.length?B[0]:B,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(w,B){if(!this.isEnabled())return;let Q=this._lastPoint;if(!Q)return;if(w.preventDefault(),!this._moveStateManager.isValidMoveEvent(w))return void this.reset(w);let ee=B.length?B[0]:B;return!this._moved&&ee.dist(Q)<this._clickTolerance?void 0:(this._moved=!0,this._lastPoint=ee,this._move(Q,ee))}dragEnd(w){this.isEnabled()&&this._lastPoint&&this._moveStateManager.isValidEndEvent(w)&&(this._moved&&c.suppressClick(),this.reset(w))}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}getClickTolerance(){return this._clickTolerance}}let Vf={0:1,2:2};class pc{constructor(w){this._correctEvent=w.checkCorrectEvent}startMove(w){let B=c.mouseButton(w);this._eventButton=B}endMove(w){delete this._eventButton}isValidStartEvent(w){return this._correctEvent(w)}isValidMoveEvent(w){return!function(B,Q){let ee=Vf[Q];return B.buttons===void 0||(B.buttons&ee)!==ee}(w,this._eventButton)}isValidEndEvent(w){return c.mouseButton(w)===this._eventButton}}class pf{constructor(){this._firstTouch=void 0}_isOneFingerTouch(w){return w.targetTouches.length===1}_isSameTouchEvent(w){return w.targetTouches[0].identifier===this._firstTouch}startMove(w){this._firstTouch=w.targetTouches[0].identifier}endMove(w){delete this._firstTouch}isValidStartEvent(w){return this._isOneFingerTouch(w)}isValidMoveEvent(w){return this._isOneFingerTouch(w)&&this._isSameTouchEvent(w)}isValidEndEvent(w){return this._isOneFingerTouch(w)&&this._isSameTouchEvent(w)}}let Ph=le=>{le.mousedown=le.dragStart,le.mousemoveWindow=le.dragMove,le.mouseup=le.dragEnd,le.contextmenu=w=>{w.preventDefault()}},Dl=({enable:le,clickTolerance:w,bearingDegreesPerPixelMoved:B=.8})=>{let Q=new pc({checkCorrectEvent:ee=>c.mouseButton(ee)===0&&ee.ctrlKey||c.mouseButton(ee)===2});return new ju({clickTolerance:w,move:(ee,se)=>({bearingDelta:(se.x-ee.x)*B}),moveStateManager:Q,enable:le,assignEvents:Ph})},Ih=({enable:le,clickTolerance:w,pitchDegreesPerPixelMoved:B=-.5})=>{let Q=new pc({checkCorrectEvent:ee=>c.mouseButton(ee)===0&&ee.ctrlKey||c.mouseButton(ee)===2});return new ju({clickTolerance:w,move:(ee,se)=>({pitchDelta:(se.y-ee.y)*B}),moveStateManager:Q,enable:le,assignEvents:Ph})};class Wu{constructor(w,B){this._clickTolerance=w.clickTolerance||1,this._map=B,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new a.P(0,0)}_shouldBePrevented(w){return w<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(w,B,Q){return this._calculateTransform(w,B,Q)}touchmove(w,B,Q){if(this._active){if(!this._shouldBePrevented(Q.length))return w.preventDefault(),this._calculateTransform(w,B,Q);this._map.cooperativeGestures.notifyGestureBlocked(\"touch_pan\",w)}}touchend(w,B,Q){this._calculateTransform(w,B,Q),this._active&&this._shouldBePrevented(Q.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(w,B,Q){Q.length>0&&(this._active=!0);let ee=Lh(Q,B),se=new a.P(0,0),qe=new a.P(0,0),je=0;for(let yt in ee){let Ot=ee[yt],Nt=this._touches[yt];Nt&&(se._add(Ot),qe._add(Ot.sub(Nt)),je++,ee[yt]=Ot)}if(this._touches=ee,this._shouldBePrevented(je)||!qe.mag())return;let it=qe.div(je);return this._sum._add(it),this._sum.mag()<this._clickTolerance?void 0:{around:se.div(je),panDelta:it}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Rc{constructor(){this.reset()}reset(){this._active=!1,delete this._firstTwoTouches}touchstart(w,B,Q){this._firstTwoTouches||Q.length<2||(this._firstTwoTouches=[Q[0].identifier,Q[1].identifier],this._start([B[0],B[1]]))}touchmove(w,B,Q){if(!this._firstTwoTouches)return;w.preventDefault();let[ee,se]=this._firstTwoTouches,qe=gc(Q,B,ee),je=gc(Q,B,se);if(!qe||!je)return;let it=this._aroundCenter?null:qe.add(je).div(2);return this._move([qe,je],it,w)}touchend(w,B,Q){if(!this._firstTwoTouches)return;let[ee,se]=this._firstTwoTouches,qe=gc(Q,B,ee),je=gc(Q,B,se);qe&&je||(this._active&&c.suppressClick(),this.reset())}touchcancel(){this.reset()}enable(w){this._enabled=!0,this._aroundCenter=!!w&&w.around===\"center\"}disable(){this._enabled=!1,this.reset()}isEnabled(){return!!this._enabled}isActive(){return!!this._active}}function gc(le,w,B){for(let Q=0;Q<le.length;Q++)if(le[Q].identifier===B)return w[Q]}function hl(le,w){return Math.log(le/w)/Math.LN2}class iu extends Rc{reset(){super.reset(),delete this._distance,delete this._startDistance}_start(w){this._startDistance=this._distance=w[0].dist(w[1])}_move(w,B){let Q=this._distance;if(this._distance=w[0].dist(w[1]),this._active||!(Math.abs(hl(this._distance,this._startDistance))<.1))return this._active=!0,{zoomDelta:hl(this._distance,Q),pinchAround:B}}}function mc(le,w){return 180*le.angleWith(w)/Math.PI}class Yc extends Rc{reset(){super.reset(),delete this._minDiameter,delete this._startVector,delete this._vector}_start(w){this._startVector=this._vector=w[0].sub(w[1]),this._minDiameter=w[0].dist(w[1])}_move(w,B,Q){let ee=this._vector;if(this._vector=w[0].sub(w[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:mc(this._vector,ee),pinchAround:B}}_isBelowThreshold(w){this._minDiameter=Math.min(this._minDiameter,w.mag());let B=25/(Math.PI*this._minDiameter)*360,Q=mc(w,this._startVector);return Math.abs(Q)<B}}function nc(le){return Math.abs(le.y)>Math.abs(le.x)}class gf extends Rc{constructor(w){super(),this._currentTouchCount=0,this._map=w}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(w,B,Q){super.touchstart(w,B,Q),this._currentTouchCount=Q.length}_start(w){this._lastPoints=w,nc(w[0].sub(w[1]))&&(this._valid=!1)}_move(w,B,Q){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let ee=w[0].sub(this._lastPoints[0]),se=w[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(ee,se,Q.timeStamp),this._valid?(this._lastPoints=w,this._active=!0,{pitchDelta:(ee.y+se.y)/2*-.5}):void 0}gestureBeginsVertically(w,B,Q){if(this._valid!==void 0)return this._valid;let ee=w.mag()>=2,se=B.mag()>=2;if(!ee&&!se)return;if(!ee||!se)return this._firstMove===void 0&&(this._firstMove=Q),Q-this._firstMove<100&&void 0;let qe=w.y>0==B.y>0;return nc(w)&&nc(B)&&qe}}let gt={panStep:100,bearingStep:15,pitchStep:10};class Bt{constructor(w){this._tr=new _u(w);let B=gt;this._panStep=B.panStep,this._bearingStep=B.bearingStep,this._pitchStep=B.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(w){if(w.altKey||w.ctrlKey||w.metaKey)return;let B=0,Q=0,ee=0,se=0,qe=0;switch(w.keyCode){case 61:case 107:case 171:case 187:B=1;break;case 189:case 109:case 173:B=-1;break;case 37:w.shiftKey?Q=-1:(w.preventDefault(),se=-1);break;case 39:w.shiftKey?Q=1:(w.preventDefault(),se=1);break;case 38:w.shiftKey?ee=1:(w.preventDefault(),qe=-1);break;case 40:w.shiftKey?ee=-1:(w.preventDefault(),qe=1);break;default:return}return this._rotationDisabled&&(Q=0,ee=0),{cameraAnimation:je=>{let it=this._tr;je.easeTo({duration:300,easeId:\"keyboardHandler\",easing:wr,zoom:B?Math.round(it.zoom)+B*(w.shiftKey?2:1):it.zoom,bearing:it.bearing+Q*this._bearingStep,pitch:it.pitch+ee*this._pitchStep,offset:[-se*this._panStep,-qe*this._panStep],center:it.center},{originalEvent:w})}}}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 wr(le){return le*(2-le)}let vr=4.000244140625;class Ur{constructor(w,B){this._onTimeout=Q=>{this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(Q)},this._map=w,this._tr=new _u(w),this._triggerRenderFrame=B,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(w){this._defaultZoomRate=w}setWheelZoomRate(w){this._wheelZoomRate=w}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(w){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!w&&w.around===\"center\")}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(w){return!!this._map.cooperativeGestures.isEnabled()&&!(w.ctrlKey||this._map.cooperativeGestures.isBypassed(w))}wheel(w){if(!this.isEnabled())return;if(this._shouldBePrevented(w))return void this._map.cooperativeGestures.notifyGestureBlocked(\"wheel_zoom\",w);let B=w.deltaMode===WheelEvent.DOM_DELTA_LINE?40*w.deltaY:w.deltaY,Q=u.now(),ee=Q-(this._lastWheelEventTime||0);this._lastWheelEventTime=Q,B!==0&&B%vr==0?this._type=\"wheel\":B!==0&&Math.abs(B)<4?this._type=\"trackpad\":ee>400?(this._type=null,this._lastValue=B,this._timeout=setTimeout(this._onTimeout,40,w)):this._type||(this._type=Math.abs(ee*B)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,B+=this._lastValue)),w.shiftKey&&B&&(B/=4),this._type&&(this._lastWheelEvent=w,this._delta-=B,this._active||this._start(w)),w.preventDefault()}_start(w){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);let B=c.mousePos(this._map.getCanvas(),w),Q=this._tr;this._around=B.y>Q.transform.height/2-Q.transform.getHorizon()?a.N.convert(this._aroundCenter?Q.center:Q.unproject(B)):a.N.convert(Q.center),this._aroundPoint=Q.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let w=this._tr.transform;if(this._delta!==0){let it=this._type===\"wheel\"&&Math.abs(this._delta)>vr?this._wheelZoomRate:this._defaultZoomRate,yt=2/(1+Math.exp(-Math.abs(this._delta*it)));this._delta<0&&yt!==0&&(yt=1/yt);let Ot=typeof this._targetZoom==\"number\"?w.zoomScale(this._targetZoom):w.scale;this._targetZoom=Math.min(w.maxZoom,Math.max(w.minZoom,w.scaleZoom(Ot*yt))),this._type===\"wheel\"&&(this._startZoom=w.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let B=typeof this._targetZoom==\"number\"?this._targetZoom:w.zoom,Q=this._startZoom,ee=this._easing,se,qe=!1,je=u.now()-this._lastWheelEventTime;if(this._type===\"wheel\"&&Q&&ee&&je){let it=Math.min(je/200,1),yt=ee(it);se=a.y.number(Q,B,yt),it<1?this._frameId||(this._frameId=!0):qe=!0}else se=B,qe=!0;return this._active=!0,qe&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!qe,zoomDelta:se-w.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(w){let B=a.b9;if(this._prevEase){let Q=this._prevEase,ee=(u.now()-Q.start)/Q.duration,se=Q.easing(ee+.01)-Q.easing(ee),qe=.27/Math.sqrt(se*se+1e-4)*.01,je=Math.sqrt(.0729-qe*qe);B=a.b8(qe,je,.25,1)}return this._prevEase={start:u.now(),duration:w,easing:B},B}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class fi{constructor(w,B){this._clickZoom=w,this._tapZoom=B}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 xi{constructor(w){this._tr=new _u(w),this.reset()}reset(){this._active=!1}dblclick(w,B){return w.preventDefault(),{cameraAnimation:Q=>{Q.easeTo({duration:300,zoom:this._tr.zoom+(w.shiftKey?-1:1),around:this._tr.unproject(B)},{originalEvent:w})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Fi{constructor(){this._tap=new Pf({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(w,B,Q){if(!this._swipePoint)if(this._tapTime){let ee=B[0],se=w.timeStamp-this._tapTime<500,qe=this._tapPoint.dist(ee)<30;se&&qe?Q.length>0&&(this._swipePoint=ee,this._swipeTouch=Q[0].identifier):this.reset()}else this._tap.touchstart(w,B,Q)}touchmove(w,B,Q){if(this._tapTime){if(this._swipePoint){if(Q[0].identifier!==this._swipeTouch)return;let ee=B[0],se=ee.y-this._swipePoint.y;return this._swipePoint=ee,w.preventDefault(),this._active=!0,{zoomDelta:se/128}}}else this._tap.touchmove(w,B,Q)}touchend(w,B,Q){if(this._tapTime)this._swipePoint&&Q.length===0&&this.reset();else{let ee=this._tap.touchend(w,B,Q);ee&&(this._tapTime=w.timeStamp,this._tapPoint=ee)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Xi{constructor(w,B,Q){this._el=w,this._mousePan=B,this._touchPan=Q}enable(w){this._inertiaOptions=w||{},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 hn{constructor(w,B,Q){this._pitchWithRotate=w.pitchWithRotate,this._mouseRotate=B,this._mousePitch=Q}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 Ti{constructor(w,B,Q,ee){this._el=w,this._touchZoom=B,this._touchRotate=Q,this._tapDragZoom=ee,this._rotationDisabled=!1,this._enabled=!0}enable(w){this._touchZoom.enable(w),this._rotationDisabled||this._touchRotate.enable(w),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 qi{constructor(w,B){this._bypassKey=navigator.userAgent.indexOf(\"Mac\")!==-1?\"metaKey\":\"ctrlKey\",this._map=w,this._options=B,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let w=this._map.getCanvasContainer();w.classList.add(\"maplibregl-cooperative-gestures\"),this._container=c.create(\"div\",\"maplibregl-cooperative-gesture-screen\",w);let B=this._map._getUIString(\"CooperativeGesturesHandler.WindowsHelpText\");this._bypassKey===\"metaKey\"&&(B=this._map._getUIString(\"CooperativeGesturesHandler.MacHelpText\"));let Q=this._map._getUIString(\"CooperativeGesturesHandler.MobileHelpText\"),ee=document.createElement(\"div\");ee.className=\"maplibregl-desktop-message\",ee.textContent=B,this._container.appendChild(ee);let se=document.createElement(\"div\");se.className=\"maplibregl-mobile-message\",se.textContent=Q,this._container.appendChild(se),this._container.setAttribute(\"aria-hidden\",\"true\")}_destroyUI(){this._container&&(c.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(w){return w[this._bypassKey]}notifyGestureBlocked(w,B){this._enabled&&(this._map.fire(new a.k(\"cooperativegestureprevented\",{gestureType:w,originalEvent:B})),this._container.classList.add(\"maplibregl-show\"),setTimeout(()=>{this._container.classList.remove(\"maplibregl-show\")},100))}}let Ii=le=>le.zoom||le.drag||le.pitch||le.rotate;class mi extends a.k{}function Pn(le){return le.panDelta&&le.panDelta.mag()||le.zoomDelta||le.bearingDelta||le.pitchDelta}class Ma{constructor(w,B){this.handleWindowEvent=ee=>{this.handleEvent(ee,`${ee.type}Window`)},this.handleEvent=(ee,se)=>{if(ee.type===\"blur\")return void this.stop(!0);this._updatingCamera=!0;let qe=ee.type===\"renderFrame\"?void 0:ee,je={needsRenderFrame:!1},it={},yt={},Ot=ee.touches,Nt=Ot?this._getMapTouches(Ot):void 0,hr=Nt?c.touchPos(this._map.getCanvas(),Nt):c.mousePos(this._map.getCanvas(),ee);for(let{handlerName:be,handler:Pe,allowed:Oe}of this._handlers){if(!Pe.isEnabled())continue;let Je;this._blockedByActive(yt,Oe,be)?Pe.reset():Pe[se||ee.type]&&(Je=Pe[se||ee.type](ee,hr,Nt),this.mergeHandlerResult(je,it,Je,be,qe),Je&&Je.needsRenderFrame&&this._triggerRenderFrame()),(Je||Pe.isActive())&&(yt[be]=Pe)}let Sr={};for(let be in this._previousActiveHandlers)yt[be]||(Sr[be]=qe);this._previousActiveHandlers=yt,(Object.keys(Sr).length||Pn(je))&&(this._changes.push([je,it,Sr]),this._triggerRenderFrame()),(Object.keys(yt).length||Pn(je))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:he}=je;he&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],he(this._map))},this._map=w,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Uf(w),this._bearingSnap=B.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(B);let Q=this._el;this._listeners=[[Q,\"touchstart\",{passive:!0}],[Q,\"touchmove\",{passive:!1}],[Q,\"touchend\",void 0],[Q,\"touchcancel\",void 0],[Q,\"mousedown\",void 0],[Q,\"mousemove\",void 0],[Q,\"mouseup\",void 0],[document,\"mousemove\",{capture:!0}],[document,\"mouseup\",void 0],[Q,\"mouseover\",void 0],[Q,\"mouseout\",void 0],[Q,\"dblclick\",void 0],[Q,\"click\",void 0],[Q,\"keydown\",{capture:!1}],[Q,\"keyup\",void 0],[Q,\"wheel\",{passive:!1}],[Q,\"contextmenu\",void 0],[window,\"blur\",void 0]];for(let[ee,se,qe]of this._listeners)c.addEventListener(ee,se,ee===document?this.handleWindowEvent:this.handleEvent,qe)}destroy(){for(let[w,B,Q]of this._listeners)c.removeEventListener(w,B,w===document?this.handleWindowEvent:this.handleEvent,Q)}_addDefaultHandlers(w){let B=this._map,Q=B.getCanvasContainer();this._add(\"mapEvent\",new sh(B,w));let ee=B.boxZoom=new xu(B,w);this._add(\"boxZoom\",ee),w.interactive&&w.boxZoom&&ee.enable();let se=B.cooperativeGestures=new qi(B,w.cooperativeGestures);this._add(\"cooperativeGestures\",se),w.cooperativeGestures&&se.enable();let qe=new Ic(B),je=new xi(B);B.doubleClickZoom=new fi(je,qe),this._add(\"tapZoom\",qe),this._add(\"clickZoom\",je),w.interactive&&w.doubleClickZoom&&B.doubleClickZoom.enable();let it=new Fi;this._add(\"tapDragZoom\",it);let yt=B.touchPitch=new gf(B);this._add(\"touchPitch\",yt),w.interactive&&w.touchPitch&&B.touchPitch.enable(w.touchPitch);let Ot=Dl(w),Nt=Ih(w);B.dragRotate=new hn(w,Ot,Nt),this._add(\"mouseRotate\",Ot,[\"mousePitch\"]),this._add(\"mousePitch\",Nt,[\"mouseRotate\"]),w.interactive&&w.dragRotate&&B.dragRotate.enable();let hr=(({enable:Je,clickTolerance:He})=>{let et=new pc({checkCorrectEvent:Mt=>c.mouseButton(Mt)===0&&!Mt.ctrlKey});return new ju({clickTolerance:He,move:(Mt,Dt)=>({around:Dt,panDelta:Dt.sub(Mt)}),activateOnStart:!0,moveStateManager:et,enable:Je,assignEvents:Ph})})(w),Sr=new Wu(w,B);B.dragPan=new Xi(Q,hr,Sr),this._add(\"mousePan\",hr),this._add(\"touchPan\",Sr,[\"touchZoom\",\"touchRotate\"]),w.interactive&&w.dragPan&&B.dragPan.enable(w.dragPan);let he=new Yc,be=new iu;B.touchZoomRotate=new Ti(Q,be,he,it),this._add(\"touchRotate\",he,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",be,[\"touchPan\",\"touchRotate\"]),w.interactive&&w.touchZoomRotate&&B.touchZoomRotate.enable(w.touchZoomRotate);let Pe=B.scrollZoom=new Ur(B,()=>this._triggerRenderFrame());this._add(\"scrollZoom\",Pe,[\"mousePan\"]),w.interactive&&w.scrollZoom&&B.scrollZoom.enable(w.scrollZoom);let Oe=B.keyboard=new Bt(B);this._add(\"keyboard\",Oe),w.interactive&&w.keyboard&&B.keyboard.enable(),this._add(\"blockableMapEvent\",new Fs(B))}_add(w,B,Q){this._handlers.push({handlerName:w,handler:B,allowed:Q}),this._handlersById[w]=B}stop(w){if(!this._updatingCamera){for(let{handler:B}of this._handlers)B.reset();this._inertia.clear(),this._fireEvents({},{},w),this._changes=[]}}isActive(){for(let{handler:w}of this._handlers)if(w.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Ii(this._eventsInProgress)||this.isZooming()}_blockedByActive(w,B,Q){for(let ee in w)if(ee!==Q&&(!B||B.indexOf(ee)<0))return!0;return!1}_getMapTouches(w){let B=[];for(let Q of w)this._el.contains(Q.target)&&B.push(Q);return B}mergeHandlerResult(w,B,Q,ee,se){if(!Q)return;a.e(w,Q);let qe={handlerName:ee,originalEvent:Q.originalEvent||se};Q.zoomDelta!==void 0&&(B.zoom=qe),Q.panDelta!==void 0&&(B.drag=qe),Q.pitchDelta!==void 0&&(B.pitch=qe),Q.bearingDelta!==void 0&&(B.rotate=qe)}_applyChanges(){let w={},B={},Q={};for(let[ee,se,qe]of this._changes)ee.panDelta&&(w.panDelta=(w.panDelta||new a.P(0,0))._add(ee.panDelta)),ee.zoomDelta&&(w.zoomDelta=(w.zoomDelta||0)+ee.zoomDelta),ee.bearingDelta&&(w.bearingDelta=(w.bearingDelta||0)+ee.bearingDelta),ee.pitchDelta&&(w.pitchDelta=(w.pitchDelta||0)+ee.pitchDelta),ee.around!==void 0&&(w.around=ee.around),ee.pinchAround!==void 0&&(w.pinchAround=ee.pinchAround),ee.noInertia&&(w.noInertia=ee.noInertia),a.e(B,se),a.e(Q,qe);this._updateMapTransform(w,B,Q),this._changes=[]}_updateMapTransform(w,B,Q){let ee=this._map,se=ee._getTransformForUpdate(),qe=ee.terrain;if(!(Pn(w)||qe&&this._terrainMovement))return this._fireEvents(B,Q,!0);let{panDelta:je,zoomDelta:it,bearingDelta:yt,pitchDelta:Ot,around:Nt,pinchAround:hr}=w;hr!==void 0&&(Nt=hr),ee._stop(!0),Nt=Nt||ee.transform.centerPoint;let Sr=se.pointLocation(je?Nt.sub(je):Nt);yt&&(se.bearing+=yt),Ot&&(se.pitch+=Ot),it&&(se.zoom+=it),qe?this._terrainMovement||!B.drag&&!B.zoom?B.drag&&this._terrainMovement?se.center=se.pointLocation(se.centerPoint.sub(je)):se.setLocationAtPoint(Sr,Nt):(this._terrainMovement=!0,this._map._elevationFreeze=!0,se.setLocationAtPoint(Sr,Nt)):se.setLocationAtPoint(Sr,Nt),ee._applyUpdatedTransform(se),this._map._update(),w.noInertia||this._inertia.record(w),this._fireEvents(B,Q,!0)}_fireEvents(w,B,Q){let ee=Ii(this._eventsInProgress),se=Ii(w),qe={};for(let Nt in w){let{originalEvent:hr}=w[Nt];this._eventsInProgress[Nt]||(qe[`${Nt}start`]=hr),this._eventsInProgress[Nt]=w[Nt]}!ee&&se&&this._fireEvent(\"movestart\",se.originalEvent);for(let Nt in qe)this._fireEvent(Nt,qe[Nt]);se&&this._fireEvent(\"move\",se.originalEvent);for(let Nt in w){let{originalEvent:hr}=w[Nt];this._fireEvent(Nt,hr)}let je={},it;for(let Nt in this._eventsInProgress){let{handlerName:hr,originalEvent:Sr}=this._eventsInProgress[Nt];this._handlersById[hr].isActive()||(delete this._eventsInProgress[Nt],it=B[hr]||Sr,je[`${Nt}end`]=it)}for(let Nt in je)this._fireEvent(Nt,je[Nt]);let yt=Ii(this._eventsInProgress),Ot=(ee||se)&&!yt;if(Ot&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;let Nt=this._map._getTransformForUpdate();Nt.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(Nt)}if(Q&&Ot){this._updatingCamera=!0;let Nt=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),hr=Sr=>Sr!==0&&-this._bearingSnap<Sr&&Sr<this._bearingSnap;!Nt||!Nt.essential&&u.prefersReducedMotion?(this._map.fire(new a.k(\"moveend\",{originalEvent:it})),hr(this._map.getBearing())&&this._map.resetNorth()):(hr(Nt.bearing||this._map.getBearing())&&(Nt.bearing=0),Nt.freezeElevation=!0,this._map.easeTo(Nt,{originalEvent:it})),this._updatingCamera=!1}}_fireEvent(w,B){this._map.fire(new a.k(w,B?{originalEvent:B}:{}))}_requestFrame(){return this._map.triggerRepaint(),this._map._renderTaskQueue.add(w=>{delete this._frameId,this.handleEvent(new mi(\"renderFrame\",{timeStamp:w})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class Ta extends a.E{constructor(w,B){super(),this._renderFrameCallback=()=>{let Q=Math.min((u.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(Q)),Q<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=w,this._bearingSnap=B.bearingSnap,this.on(\"moveend\",()=>{delete this._requestedCameraState})}getCenter(){return new a.N(this.transform.center.lng,this.transform.center.lat)}setCenter(w,B){return this.jumpTo({center:w},B)}panBy(w,B,Q){return w=a.P.convert(w).mult(-1),this.panTo(this.transform.center,a.e({offset:w},B),Q)}panTo(w,B,Q){return this.easeTo(a.e({center:w},B),Q)}getZoom(){return this.transform.zoom}setZoom(w,B){return this.jumpTo({zoom:w},B),this}zoomTo(w,B,Q){return this.easeTo(a.e({zoom:w},B),Q)}zoomIn(w,B){return this.zoomTo(this.getZoom()+1,w,B),this}zoomOut(w,B){return this.zoomTo(this.getZoom()-1,w,B),this}getBearing(){return this.transform.bearing}setBearing(w,B){return this.jumpTo({bearing:w},B),this}getPadding(){return this.transform.padding}setPadding(w,B){return this.jumpTo({padding:w},B),this}rotateTo(w,B,Q){return this.easeTo(a.e({bearing:w},B),Q)}resetNorth(w,B){return this.rotateTo(0,a.e({duration:1e3},w),B),this}resetNorthPitch(w,B){return this.easeTo(a.e({bearing:0,pitch:0,duration:1e3},w),B),this}snapToNorth(w,B){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(w,B):this}getPitch(){return this.transform.pitch}setPitch(w,B){return this.jumpTo({pitch:w},B),this}cameraForBounds(w,B){w=ce.convert(w).adjustAntiMeridian();let Q=B&&B.bearing||0;return this._cameraForBoxAndBearing(w.getNorthWest(),w.getSouthEast(),Q,B)}_cameraForBoxAndBearing(w,B,Q,ee){let se={top:0,bottom:0,right:0,left:0};if(typeof(ee=a.e({padding:se,offset:[0,0],maxZoom:this.transform.maxZoom},ee)).padding==\"number\"){let zr=ee.padding;ee.padding={top:zr,bottom:zr,right:zr,left:zr}}ee.padding=a.e(se,ee.padding);let qe=this.transform,je=qe.padding,it=new ce(w,B),yt=qe.project(it.getNorthWest()),Ot=qe.project(it.getNorthEast()),Nt=qe.project(it.getSouthEast()),hr=qe.project(it.getSouthWest()),Sr=a.ba(-Q),he=yt.rotate(Sr),be=Ot.rotate(Sr),Pe=Nt.rotate(Sr),Oe=hr.rotate(Sr),Je=new a.P(Math.max(he.x,be.x,Oe.x,Pe.x),Math.max(he.y,be.y,Oe.y,Pe.y)),He=new a.P(Math.min(he.x,be.x,Oe.x,Pe.x),Math.min(he.y,be.y,Oe.y,Pe.y)),et=Je.sub(He),Mt=(qe.width-(je.left+je.right+ee.padding.left+ee.padding.right))/et.x,Dt=(qe.height-(je.top+je.bottom+ee.padding.top+ee.padding.bottom))/et.y;if(Dt<0||Mt<0)return void a.w(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\");let Ut=Math.min(qe.scaleZoom(qe.scale*Math.min(Mt,Dt)),ee.maxZoom),tr=a.P.convert(ee.offset),mr=new a.P((ee.padding.left-ee.padding.right)/2,(ee.padding.top-ee.padding.bottom)/2).rotate(a.ba(Q)),Rr=tr.add(mr).mult(qe.scale/qe.zoomScale(Ut));return{center:qe.unproject(yt.add(Nt).div(2).sub(Rr)),zoom:Ut,bearing:Q}}fitBounds(w,B,Q){return this._fitInternal(this.cameraForBounds(w,B),B,Q)}fitScreenCoordinates(w,B,Q,ee,se){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(a.P.convert(w)),this.transform.pointLocation(a.P.convert(B)),Q,ee),ee,se)}_fitInternal(w,B,Q){return w?(delete(B=a.e(w,B)).padding,B.linear?this.easeTo(B,Q):this.flyTo(B,Q)):this}jumpTo(w,B){this.stop();let Q=this._getTransformForUpdate(),ee=!1,se=!1,qe=!1;return\"zoom\"in w&&Q.zoom!==+w.zoom&&(ee=!0,Q.zoom=+w.zoom),w.center!==void 0&&(Q.center=a.N.convert(w.center)),\"bearing\"in w&&Q.bearing!==+w.bearing&&(se=!0,Q.bearing=+w.bearing),\"pitch\"in w&&Q.pitch!==+w.pitch&&(qe=!0,Q.pitch=+w.pitch),w.padding==null||Q.isPaddingEqual(w.padding)||(Q.padding=w.padding),this._applyUpdatedTransform(Q),this.fire(new a.k(\"movestart\",B)).fire(new a.k(\"move\",B)),ee&&this.fire(new a.k(\"zoomstart\",B)).fire(new a.k(\"zoom\",B)).fire(new a.k(\"zoomend\",B)),se&&this.fire(new a.k(\"rotatestart\",B)).fire(new a.k(\"rotate\",B)).fire(new a.k(\"rotateend\",B)),qe&&this.fire(new a.k(\"pitchstart\",B)).fire(new a.k(\"pitch\",B)).fire(new a.k(\"pitchend\",B)),this.fire(new a.k(\"moveend\",B))}calculateCameraOptionsFromTo(w,B,Q,ee=0){let se=a.Z.fromLngLat(w,B),qe=a.Z.fromLngLat(Q,ee),je=qe.x-se.x,it=qe.y-se.y,yt=qe.z-se.z,Ot=Math.hypot(je,it,yt);if(Ot===0)throw new Error(\"Can't calculate camera options with same From and To\");let Nt=Math.hypot(je,it),hr=this.transform.scaleZoom(this.transform.cameraToCenterDistance/Ot/this.transform.tileSize),Sr=180*Math.atan2(je,-it)/Math.PI,he=180*Math.acos(Nt/Ot)/Math.PI;return he=yt<0?90-he:90+he,{center:qe.toLngLat(),zoom:hr,pitch:he,bearing:Sr}}easeTo(w,B){var Q;this._stop(!1,w.easeId),((w=a.e({offset:[0,0],duration:500,easing:a.b9},w)).animate===!1||!w.essential&&u.prefersReducedMotion)&&(w.duration=0);let ee=this._getTransformForUpdate(),se=ee.zoom,qe=ee.bearing,je=ee.pitch,it=ee.padding,yt=\"bearing\"in w?this._normalizeBearing(w.bearing,qe):qe,Ot=\"pitch\"in w?+w.pitch:je,Nt=\"padding\"in w?w.padding:ee.padding,hr=a.P.convert(w.offset),Sr=ee.centerPoint.add(hr),he=ee.pointLocation(Sr),{center:be,zoom:Pe}=ee.getConstrained(a.N.convert(w.center||he),(Q=w.zoom)!==null&&Q!==void 0?Q:se);this._normalizeCenter(be,ee);let Oe=ee.project(he),Je=ee.project(be).sub(Oe),He=ee.zoomScale(Pe-se),et,Mt;w.around&&(et=a.N.convert(w.around),Mt=ee.locationPoint(et));let Dt={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=this._zooming||Pe!==se,this._rotating=this._rotating||qe!==yt,this._pitching=this._pitching||Ot!==je,this._padding=!ee.isPaddingEqual(Nt),this._easeId=w.easeId,this._prepareEase(B,w.noMoveStart,Dt),this.terrain&&this._prepareElevation(be),this._ease(Ut=>{if(this._zooming&&(ee.zoom=a.y.number(se,Pe,Ut)),this._rotating&&(ee.bearing=a.y.number(qe,yt,Ut)),this._pitching&&(ee.pitch=a.y.number(je,Ot,Ut)),this._padding&&(ee.interpolatePadding(it,Nt,Ut),Sr=ee.centerPoint.add(hr)),this.terrain&&!w.freezeElevation&&this._updateElevation(Ut),et)ee.setLocationAtPoint(et,Mt);else{let tr=ee.zoomScale(ee.zoom-se),mr=Pe>se?Math.min(2,He):Math.max(.5,He),Rr=Math.pow(mr,1-Ut),zr=ee.unproject(Oe.add(Je.mult(Ut*Rr)).mult(tr));ee.setLocationAtPoint(ee.renderWorldCopies?zr.wrap():zr,Sr)}this._applyUpdatedTransform(ee),this._fireMoveEvents(B)},Ut=>{this.terrain&&w.freezeElevation&&this._finalizeElevation(),this._afterEase(B,Ut)},w),this}_prepareEase(w,B,Q={}){this._moving=!0,B||Q.moving||this.fire(new a.k(\"movestart\",w)),this._zooming&&!Q.zooming&&this.fire(new a.k(\"zoomstart\",w)),this._rotating&&!Q.rotating&&this.fire(new a.k(\"rotatestart\",w)),this._pitching&&!Q.pitching&&this.fire(new a.k(\"pitchstart\",w))}_prepareElevation(w){this._elevationCenter=w,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(w,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(w){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let B=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(w<1&&B!==this._elevationTarget){let Q=this._elevationTarget-this._elevationStart;this._elevationStart+=w*(Q-(B-(Q*w+this._elevationStart))/(1-w)),this._elevationTarget=B}this.transform.elevation=a.y.number(this._elevationStart,this._elevationTarget,w)}_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(w){let B=w.getCameraPosition(),Q=this.terrain.getElevationForLngLatZoom(B.lngLat,w.zoom);if(B.altitude<Q){let ee=this.calculateCameraOptionsFromTo(B.lngLat,Q,w.center,w.elevation);return{pitch:ee.pitch,zoom:ee.zoom}}return{}}_applyUpdatedTransform(w){let B=[];if(this.terrain&&B.push(ee=>this._elevateCameraIfInsideTerrain(ee)),this.transformCameraUpdate&&B.push(ee=>this.transformCameraUpdate(ee)),!B.length)return;let Q=w.clone();for(let ee of B){let se=Q.clone(),{center:qe,zoom:je,pitch:it,bearing:yt,elevation:Ot}=ee(se);qe&&(se.center=qe),je!==void 0&&(se.zoom=je),it!==void 0&&(se.pitch=it),yt!==void 0&&(se.bearing=yt),Ot!==void 0&&(se.elevation=Ot),Q.apply(se)}this.transform.apply(Q)}_fireMoveEvents(w){this.fire(new a.k(\"move\",w)),this._zooming&&this.fire(new a.k(\"zoom\",w)),this._rotating&&this.fire(new a.k(\"rotate\",w)),this._pitching&&this.fire(new a.k(\"pitch\",w))}_afterEase(w,B){if(this._easeId&&B&&this._easeId===B)return;delete this._easeId;let Q=this._zooming,ee=this._rotating,se=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,Q&&this.fire(new a.k(\"zoomend\",w)),ee&&this.fire(new a.k(\"rotateend\",w)),se&&this.fire(new a.k(\"pitchend\",w)),this.fire(new a.k(\"moveend\",w))}flyTo(w,B){var Q;if(!w.essential&&u.prefersReducedMotion){let Qi=a.M(w,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(Qi,B)}this.stop(),w=a.e({offset:[0,0],speed:1.2,curve:1.42,easing:a.b9},w);let ee=this._getTransformForUpdate(),se=ee.zoom,qe=ee.bearing,je=ee.pitch,it=ee.padding,yt=\"bearing\"in w?this._normalizeBearing(w.bearing,qe):qe,Ot=\"pitch\"in w?+w.pitch:je,Nt=\"padding\"in w?w.padding:ee.padding,hr=a.P.convert(w.offset),Sr=ee.centerPoint.add(hr),he=ee.pointLocation(Sr),{center:be,zoom:Pe}=ee.getConstrained(a.N.convert(w.center||he),(Q=w.zoom)!==null&&Q!==void 0?Q:se);this._normalizeCenter(be,ee);let Oe=ee.zoomScale(Pe-se),Je=ee.project(he),He=ee.project(be).sub(Je),et=w.curve,Mt=Math.max(ee.width,ee.height),Dt=Mt/Oe,Ut=He.mag();if(\"minZoom\"in w){let Qi=a.ac(Math.min(w.minZoom,se,Pe),ee.minZoom,ee.maxZoom),Mn=Mt/ee.zoomScale(Qi-se);et=Math.sqrt(Mn/Ut*2)}let tr=et*et;function mr(Qi){let Mn=(Dt*Dt-Mt*Mt+(Qi?-1:1)*tr*tr*Ut*Ut)/(2*(Qi?Dt:Mt)*tr*Ut);return Math.log(Math.sqrt(Mn*Mn+1)-Mn)}function Rr(Qi){return(Math.exp(Qi)-Math.exp(-Qi))/2}function zr(Qi){return(Math.exp(Qi)+Math.exp(-Qi))/2}let Xr=mr(!1),di=function(Qi){return zr(Xr)/zr(Xr+et*Qi)},Li=function(Qi){return Mt*((zr(Xr)*(Rr(Mn=Xr+et*Qi)/zr(Mn))-Rr(Xr))/tr)/Ut;var Mn},Ci=(mr(!0)-Xr)/et;if(Math.abs(Ut)<1e-6||!isFinite(Ci)){if(Math.abs(Mt-Dt)<1e-6)return this.easeTo(w,B);let Qi=Dt<Mt?-1:1;Ci=Math.abs(Math.log(Dt/Mt))/et,Li=()=>0,di=Mn=>Math.exp(Qi*et*Mn)}return w.duration=\"duration\"in w?+w.duration:1e3*Ci/(\"screenSpeed\"in w?+w.screenSpeed/et:+w.speed),w.maxDuration&&w.duration>w.maxDuration&&(w.duration=0),this._zooming=!0,this._rotating=qe!==yt,this._pitching=Ot!==je,this._padding=!ee.isPaddingEqual(Nt),this._prepareEase(B,!1),this.terrain&&this._prepareElevation(be),this._ease(Qi=>{let Mn=Qi*Ci,pa=1/di(Mn);ee.zoom=Qi===1?Pe:se+ee.scaleZoom(pa),this._rotating&&(ee.bearing=a.y.number(qe,yt,Qi)),this._pitching&&(ee.pitch=a.y.number(je,Ot,Qi)),this._padding&&(ee.interpolatePadding(it,Nt,Qi),Sr=ee.centerPoint.add(hr)),this.terrain&&!w.freezeElevation&&this._updateElevation(Qi);let ea=Qi===1?be:ee.unproject(Je.add(He.mult(Li(Mn))).mult(pa));ee.setLocationAtPoint(ee.renderWorldCopies?ea.wrap():ea,Sr),this._applyUpdatedTransform(ee),this._fireMoveEvents(B)},()=>{this.terrain&&w.freezeElevation&&this._finalizeElevation(),this._afterEase(B)},w),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(w,B){var Q;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let ee=this._onEaseEnd;delete this._onEaseEnd,ee.call(this,B)}return w||(Q=this.handlers)===null||Q===void 0||Q.stop(!1),this}_ease(w,B,Q){Q.animate===!1||Q.duration===0?(w(1),B()):(this._easeStart=u.now(),this._easeOptions=Q,this._onEaseFrame=w,this._onEaseEnd=B,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(w,B){w=a.b3(w,-180,180);let Q=Math.abs(w-B);return Math.abs(w-360-B)<Q&&(w-=360),Math.abs(w+360-B)<Q&&(w+=360),w}_normalizeCenter(w,B){if(!B.renderWorldCopies||B.lngRange)return;let Q=w.lng-B.center.lng;w.lng+=Q>180?-360:Q<-180?360:0}queryTerrainElevation(w){return this.terrain?this.terrain.getElevationForLngLatZoom(a.N.convert(w),this.transform.tileZoom)-this.transform.elevation:null}}let Ea={compact:!0,customAttribution:'<a href=\"https://maplibre.org/\" target=\"_blank\">MapLibre</a>'};class qa{constructor(w=Ea){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=B=>{!B||B.sourceDataType!==\"metadata\"&&B.sourceDataType!==\"visibility\"&&B.dataType!==\"style\"&&B.type!==\"terrain\"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?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=w}getDefaultPosition(){return\"bottom-right\"}onAdd(w){return this._map=w,this._compact=this.options.compact,this._container=c.create(\"details\",\"maplibregl-ctrl maplibregl-ctrl-attrib\"),this._compactButton=c.create(\"summary\",\"maplibregl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=c.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(){c.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(w,B){let Q=this._map._getUIString(`AttributionControl.${B}`);w.title=Q,w.setAttribute(\"aria-label\",Q)}_updateAttributions(){if(!this._map.style)return;let w=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?w=w.concat(this.options.customAttribution.map(ee=>typeof ee!=\"string\"?\"\":ee)):typeof this.options.customAttribution==\"string\"&&w.push(this.options.customAttribution)),this._map.style.stylesheet){let ee=this._map.style.stylesheet;this.styleOwner=ee.owner,this.styleId=ee.id}let B=this._map.style.sourceCaches;for(let ee in B){let se=B[ee];if(se.used||se.usedForTerrain){let qe=se.getSource();qe.attribution&&w.indexOf(qe.attribution)<0&&w.push(qe.attribution)}}w=w.filter(ee=>String(ee).trim()),w.sort((ee,se)=>ee.length-se.length),w=w.filter((ee,se)=>{for(let qe=se+1;qe<w.length;qe++)if(w[qe].indexOf(ee)>=0)return!1;return!0});let Q=w.join(\" | \");Q!==this._attribHTML&&(this._attribHTML=Q,w.length?(this._innerContainer.innerHTML=Q,this._container.classList.remove(\"maplibregl-attrib-empty\")):this._container.classList.add(\"maplibregl-attrib-empty\"),this._updateCompact(),this._editLink=null)}}class Cn{constructor(w={}){this._updateCompact=()=>{let B=this._container.children;if(B.length){let Q=B[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&Q.classList.add(\"maplibregl-compact\"):Q.classList.remove(\"maplibregl-compact\")}},this.options=w}getDefaultPosition(){return\"bottom-left\"}onAdd(w){this._map=w,this._compact=this.options&&this.options.compact,this._container=c.create(\"div\",\"maplibregl-ctrl\");let B=c.create(\"a\",\"maplibregl-ctrl-logo\");return B.target=\"_blank\",B.rel=\"noopener nofollow\",B.href=\"https://maplibre.org/\",B.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),B.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(B),this._container.style.display=\"block\",this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container}onRemove(){c.remove(this._container),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._compact=void 0}}class sn{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(w){let B=++this._id;return this._queue.push({callback:w,id:B,cancelled:!1}),B}remove(w){let B=this._currentlyRunning,Q=B?this._queue.concat(B):this._queue;for(let ee of Q)if(ee.id===w)return void(ee.cancelled=!0)}run(w=0){if(this._currentlyRunning)throw new Error(\"Attempting to run(), but is already running.\");let B=this._currentlyRunning=this._queue;this._queue=[];for(let Q of B)if(!Q.cancelled&&(Q.callback(w),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var Ua=a.Y([{name:\"a_pos3d\",type:\"Int16\",components:3}]);class mo extends a.E{constructor(w){super(),this.sourceCache=w,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,w.usedForTerrain=!0,w.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(w,B){this.sourceCache.update(w,B),this._renderableTilesKeys=[];let Q={};for(let ee of w.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:B}))Q[ee.key]=!0,this._renderableTilesKeys.push(ee.key),this._tiles[ee.key]||(ee.posMatrix=new Float64Array(16),a.aP(ee.posMatrix,0,a.X,0,a.X,0,1),this._tiles[ee.key]=new Lt(ee,this.tileSize));for(let ee in this._tiles)Q[ee]||delete this._tiles[ee]}freeRtt(w){for(let B in this._tiles){let Q=this._tiles[B];(!w||Q.tileID.equals(w)||Q.tileID.isChildOf(w)||w.isChildOf(Q.tileID))&&(Q.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(w=>this.getTileByID(w))}getTileByID(w){return this._tiles[w]}getTerrainCoords(w){let B={};for(let Q of this._renderableTilesKeys){let ee=this._tiles[Q].tileID;if(ee.canonical.equals(w.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16),a.aP(se.posMatrix,0,a.X,0,a.X,0,1),B[Q]=se}else if(ee.canonical.isChildOf(w.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16);let qe=ee.canonical.z-w.canonical.z,je=ee.canonical.x-(ee.canonical.x>>qe<<qe),it=ee.canonical.y-(ee.canonical.y>>qe<<qe),yt=a.X>>qe;a.aP(se.posMatrix,0,yt,0,yt,0,1),a.J(se.posMatrix,se.posMatrix,[-je*yt,-it*yt,0]),B[Q]=se}else if(w.canonical.isChildOf(ee.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16);let qe=w.canonical.z-ee.canonical.z,je=w.canonical.x-(w.canonical.x>>qe<<qe),it=w.canonical.y-(w.canonical.y>>qe<<qe),yt=a.X>>qe;a.aP(se.posMatrix,0,a.X,0,a.X,0,1),a.J(se.posMatrix,se.posMatrix,[je*yt,it*yt,0]),a.K(se.posMatrix,se.posMatrix,[1/2**qe,1/2**qe,0]),B[Q]=se}}return B}getSourceTile(w,B){let Q=this.sourceCache._source,ee=w.overscaledZ-this.deltaZoom;if(ee>Q.maxzoom&&(ee=Q.maxzoom),ee<Q.minzoom)return null;this._sourceTileCache[w.key]||(this._sourceTileCache[w.key]=w.scaledTo(ee).key);let se=this.sourceCache.getTileByID(this._sourceTileCache[w.key]);if((!se||!se.dem)&&B)for(;ee>=Q.minzoom&&(!se||!se.dem);)se=this.sourceCache.getTileByID(w.scaledTo(ee--).key);return se}tilesAfterTime(w=Date.now()){return Object.values(this._tiles).filter(B=>B.timeAdded>=w)}}class Xo{constructor(w,B,Q){this.painter=w,this.sourceCache=new mo(B),this.options=Q,this.exaggeration=typeof Q.exaggeration==\"number\"?Q.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(w,B,Q,ee=a.X){var se;if(!(B>=0&&B<ee&&Q>=0&&Q<ee))return 0;let qe=this.getTerrainData(w),je=(se=qe.tile)===null||se===void 0?void 0:se.dem;if(!je)return 0;let it=function(he,be,Pe){var Oe=be[0],Je=be[1];return he[0]=Pe[0]*Oe+Pe[4]*Je+Pe[12],he[1]=Pe[1]*Oe+Pe[5]*Je+Pe[13],he}([],[B/ee*a.X,Q/ee*a.X],qe.u_terrain_matrix),yt=[it[0]*je.dim,it[1]*je.dim],Ot=Math.floor(yt[0]),Nt=Math.floor(yt[1]),hr=yt[0]-Ot,Sr=yt[1]-Nt;return je.get(Ot,Nt)*(1-hr)*(1-Sr)+je.get(Ot+1,Nt)*hr*(1-Sr)+je.get(Ot,Nt+1)*(1-hr)*Sr+je.get(Ot+1,Nt+1)*hr*Sr}getElevationForLngLatZoom(w,B){if(!a.bb(B,w.wrap()))return 0;let{tileID:Q,mercatorX:ee,mercatorY:se}=this._getOverscaledTileIDFromLngLatZoom(w,B);return this.getElevation(Q,ee%a.X,se%a.X,a.X)}getElevation(w,B,Q,ee=a.X){return this.getDEMElevation(w,B,Q,ee)*this.exaggeration}getTerrainData(w){if(!this._emptyDemTexture){let ee=this.painter.context,se=new a.R({width:1,height:1},new Uint8Array(4));this._emptyDepthTexture=new g(ee,se,ee.gl.RGBA,{premultiply:!1}),this._emptyDemUnpack=[0,0,0,0],this._emptyDemTexture=new g(ee,new a.R({width:1,height:1}),ee.gl.RGBA,{premultiply:!1}),this._emptyDemTexture.bind(ee.gl.NEAREST,ee.gl.CLAMP_TO_EDGE),this._emptyDemMatrix=a.an([])}let B=this.sourceCache.getSourceTile(w,!0);if(B&&B.dem&&(!B.demTexture||B.needsTerrainPrepare)){let ee=this.painter.context;B.demTexture=this.painter.getTileTexture(B.dem.stride),B.demTexture?B.demTexture.update(B.dem.getPixels(),{premultiply:!1}):B.demTexture=new g(ee,B.dem.getPixels(),ee.gl.RGBA,{premultiply:!1}),B.demTexture.bind(ee.gl.NEAREST,ee.gl.CLAMP_TO_EDGE),B.needsTerrainPrepare=!1}let Q=B&&B+B.tileID.key+w.key;if(Q&&!this._demMatrixCache[Q]){let ee=this.sourceCache.sourceCache._source.maxzoom,se=w.canonical.z-B.tileID.canonical.z;w.overscaledZ>w.canonical.z&&(w.canonical.z>=ee?se=w.canonical.z-ee:a.w(\"cannot calculate elevation if elevation maxzoom > source.maxzoom\"));let qe=w.canonical.x-(w.canonical.x>>se<<se),je=w.canonical.y-(w.canonical.y>>se<<se),it=a.bc(new Float64Array(16),[1/(a.X<<se),1/(a.X<<se),0]);a.J(it,it,[qe*a.X,je*a.X,0]),this._demMatrixCache[w.key]={matrix:it,coord:w}}return{u_depth:2,u_terrain:3,u_terrain_dim:B&&B.dem&&B.dem.dim||1,u_terrain_matrix:Q?this._demMatrixCache[w.key].matrix:this._emptyDemMatrix,u_terrain_unpack:B&&B.dem&&B.dem.getUnpackVector()||this._emptyDemUnpack,u_terrain_exaggeration:this.exaggeration,texture:(B&&B.demTexture||this._emptyDemTexture).texture,depthTexture:(this._fboDepthTexture||this._emptyDepthTexture).texture,tile:B}}getFramebuffer(w){let B=this.painter,Q=B.width/devicePixelRatio,ee=B.height/devicePixelRatio;return!this._fbo||this._fbo.width===Q&&this._fbo.height===ee||(this._fbo.destroy(),this._fboCoordsTexture.destroy(),this._fboDepthTexture.destroy(),delete this._fbo,delete this._fboDepthTexture,delete this._fboCoordsTexture),this._fboCoordsTexture||(this._fboCoordsTexture=new g(B.context,{width:Q,height:ee,data:null},B.context.gl.RGBA,{premultiply:!1}),this._fboCoordsTexture.bind(B.context.gl.NEAREST,B.context.gl.CLAMP_TO_EDGE)),this._fboDepthTexture||(this._fboDepthTexture=new g(B.context,{width:Q,height:ee,data:null},B.context.gl.RGBA,{premultiply:!1}),this._fboDepthTexture.bind(B.context.gl.NEAREST,B.context.gl.CLAMP_TO_EDGE)),this._fbo||(this._fbo=B.context.createFramebuffer(Q,ee,!0,!1),this._fbo.depthAttachment.set(B.context.createRenderbuffer(B.context.gl.DEPTH_COMPONENT16,Q,ee))),this._fbo.colorAttachment.set(w===\"coords\"?this._fboCoordsTexture.texture:this._fboDepthTexture.texture),this._fbo}getCoordsTexture(){let w=this.painter.context;if(this._coordsTexture)return this._coordsTexture;let B=new Uint8Array(this._coordsTextureSize*this._coordsTextureSize*4);for(let se=0,qe=0;se<this._coordsTextureSize;se++)for(let je=0;je<this._coordsTextureSize;je++,qe+=4)B[qe+0]=255&je,B[qe+1]=255&se,B[qe+2]=je>>8<<4|se>>8,B[qe+3]=0;let Q=new a.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(B.buffer)),ee=new g(w,Q,w.gl.RGBA,{premultiply:!1});return ee.bind(w.gl.NEAREST,w.gl.CLAMP_TO_EDGE),this._coordsTexture=ee,ee}pointCoordinate(w){this.painter.maybeDrawDepthAndCoords(!0);let B=new Uint8Array(4),Q=this.painter.context,ee=Q.gl,se=Math.round(w.x*this.painter.pixelRatio/devicePixelRatio),qe=Math.round(w.y*this.painter.pixelRatio/devicePixelRatio),je=Math.round(this.painter.height/devicePixelRatio);Q.bindFramebuffer.set(this.getFramebuffer(\"coords\").framebuffer),ee.readPixels(se,je-qe-1,1,1,ee.RGBA,ee.UNSIGNED_BYTE,B),Q.bindFramebuffer.set(null);let it=B[0]+(B[2]>>4<<8),yt=B[1]+((15&B[2])<<8),Ot=this.coordsIndex[255-B[3]],Nt=Ot&&this.sourceCache.getTileByID(Ot);if(!Nt)return null;let hr=this._coordsTextureSize,Sr=(1<<Nt.tileID.canonical.z)*hr;return new a.Z((Nt.tileID.canonical.x*hr+it)/Sr+Nt.tileID.wrap,(Nt.tileID.canonical.y*hr+yt)/Sr,this.getElevation(Nt.tileID,it,yt,hr))}depthAtPoint(w){let B=new Uint8Array(4),Q=this.painter.context,ee=Q.gl;return Q.bindFramebuffer.set(this.getFramebuffer(\"depth\").framebuffer),ee.readPixels(w.x,this.painter.height/devicePixelRatio-w.y-1,1,1,ee.RGBA,ee.UNSIGNED_BYTE,B),Q.bindFramebuffer.set(null),(B[0]/16777216+B[1]/65536+B[2]/256+B[3])/256}getTerrainMesh(){if(this._mesh)return this._mesh;let w=this.painter.context,B=new a.bd,Q=new a.aY,ee=this.meshSize,se=a.X/ee,qe=ee*ee;for(let Nt=0;Nt<=ee;Nt++)for(let hr=0;hr<=ee;hr++)B.emplaceBack(hr*se,Nt*se,0);for(let Nt=0;Nt<qe;Nt+=ee+1)for(let hr=0;hr<ee;hr++)Q.emplaceBack(hr+Nt,ee+hr+Nt+1,ee+hr+Nt+2),Q.emplaceBack(hr+Nt,ee+hr+Nt+2,hr+Nt+1);let je=B.length,it=je+2*(ee+1);for(let Nt of[0,1])for(let hr=0;hr<=ee;hr++)for(let Sr of[0,1])B.emplaceBack(hr*se,Nt*a.X,Sr);for(let Nt=0;Nt<2*ee;Nt+=2)Q.emplaceBack(it+Nt,it+Nt+1,it+Nt+3),Q.emplaceBack(it+Nt,it+Nt+3,it+Nt+2),Q.emplaceBack(je+Nt,je+Nt+3,je+Nt+1),Q.emplaceBack(je+Nt,je+Nt+2,je+Nt+3);let yt=B.length,Ot=yt+2*(ee+1);for(let Nt of[0,1])for(let hr=0;hr<=ee;hr++)for(let Sr of[0,1])B.emplaceBack(Nt*a.X,hr*se,Sr);for(let Nt=0;Nt<2*ee;Nt+=2)Q.emplaceBack(yt+Nt,yt+Nt+1,yt+Nt+3),Q.emplaceBack(yt+Nt,yt+Nt+3,yt+Nt+2),Q.emplaceBack(Ot+Nt,Ot+Nt+3,Ot+Nt+1),Q.emplaceBack(Ot+Nt,Ot+Nt+2,Ot+Nt+3);return this._mesh=new Pu(w.createVertexBuffer(B,Ua.members),w.createIndexBuffer(Q),a.a0.simpleSegment(0,0,B.length,Q.length)),this._mesh}getMeshFrameDelta(w){return 2*Math.PI*a.be/Math.pow(2,w)/5}getMinTileElevationForLngLatZoom(w,B){var Q;let{tileID:ee}=this._getOverscaledTileIDFromLngLatZoom(w,B);return(Q=this.getMinMaxElevation(ee).minElevation)!==null&&Q!==void 0?Q:0}getMinMaxElevation(w){let B=this.getTerrainData(w).tile,Q={minElevation:null,maxElevation:null};return B&&B.dem&&(Q.minElevation=B.dem.min*this.exaggeration,Q.maxElevation=B.dem.max*this.exaggeration),Q}_getOverscaledTileIDFromLngLatZoom(w,B){let Q=a.Z.fromLngLat(w.wrap()),ee=(1<<B)*a.X,se=Q.x*ee,qe=Q.y*ee,je=Math.floor(se/a.X),it=Math.floor(qe/a.X);return{tileID:new a.S(B,0,B,je,it),mercatorX:se,mercatorY:qe}}}class Ts{constructor(w,B,Q){this._context=w,this._size=B,this._tileSize=Q,this._objects=[],this._recentlyUsed=[],this._stamp=0}destruct(){for(let w of this._objects)w.texture.destroy(),w.fbo.destroy()}_createObject(w){let B=this._context.createFramebuffer(this._tileSize,this._tileSize,!0,!0),Q=new g(this._context,{width:this._tileSize,height:this._tileSize,data:null},this._context.gl.RGBA);return Q.bind(this._context.gl.LINEAR,this._context.gl.CLAMP_TO_EDGE),B.depthAttachment.set(this._context.createRenderbuffer(this._context.gl.DEPTH_STENCIL,this._tileSize,this._tileSize)),B.colorAttachment.set(Q.texture),{id:w,fbo:B,texture:Q,stamp:-1,inUse:!1}}getObjectForId(w){return this._objects[w]}useObject(w){w.inUse=!0,this._recentlyUsed=this._recentlyUsed.filter(B=>w.id!==B),this._recentlyUsed.push(w.id)}stampObject(w){w.stamp=++this._stamp}getOrCreateFreeObject(){for(let B of this._recentlyUsed)if(!this._objects[B].inUse)return this._objects[B];if(this._objects.length>=this._size)throw new Error(\"No free RenderPool available, call freeAllObjects() required!\");let w=this._createObject(this._objects.length);return this._objects.push(w),w}freeObject(w){w.inUse=!1}freeAllObjects(){for(let w of this._objects)this.freeObject(w)}isFull(){return!(this._objects.length<this._size)&&this._objects.some(w=>!w.inUse)===!1}}let Qo={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class ys{constructor(w,B){this.painter=w,this.terrain=B,this.pool=new Ts(w.context,30,B.sourceCache.tileSize*B.qualityFactor)}destruct(){this.pool.destruct()}getTexture(w){return this.pool.getObjectForId(w.rtt[this._stacks.length-1].id).texture}prepareForRender(w,B){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=w._order.filter(Q=>!w._layers[Q].isHidden(B)),this._coordsDescendingInv={};for(let Q in w.sourceCaches){this._coordsDescendingInv[Q]={};let ee=w.sourceCaches[Q].getVisibleCoordinates();for(let se of ee){let qe=this.terrain.sourceCache.getTerrainCoords(se);for(let je in qe)this._coordsDescendingInv[Q][je]||(this._coordsDescendingInv[Q][je]=[]),this._coordsDescendingInv[Q][je].push(qe[je])}}this._coordsDescendingInvStr={};for(let Q of w._order){let ee=w._layers[Q],se=ee.source;if(Qo[ee.type]&&!this._coordsDescendingInvStr[se]){this._coordsDescendingInvStr[se]={};for(let qe in this._coordsDescendingInv[se])this._coordsDescendingInvStr[se][qe]=this._coordsDescendingInv[se][qe].map(je=>je.key).sort().join()}}for(let Q of this._renderableTiles)for(let ee in this._coordsDescendingInvStr){let se=this._coordsDescendingInvStr[ee][Q.tileID.key];se&&se!==Q.rttCoords[ee]&&(Q.rtt=[])}}renderLayer(w){if(w.isHidden(this.painter.transform.zoom))return!1;let B=w.type,Q=this.painter,ee=this._renderableLayerIds[this._renderableLayerIds.length-1]===w.id;if(Qo[B]&&(this._prevType&&Qo[this._prevType]||this._stacks.push([]),this._prevType=B,this._stacks[this._stacks.length-1].push(w.id),!ee))return!0;if(Qo[this._prevType]||Qo[B]&&ee){this._prevType=B;let se=this._stacks.length-1,qe=this._stacks[se]||[];for(let je of this._renderableTiles){if(this.pool.isFull()&&(tu(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(je),je.rtt[se]){let yt=this.pool.getObjectForId(je.rtt[se].id);if(yt.stamp===je.rtt[se].stamp){this.pool.useObject(yt);continue}}let it=this.pool.getOrCreateFreeObject();this.pool.useObject(it),this.pool.stampObject(it),je.rtt[se]={id:it.id,stamp:it.stamp},Q.context.bindFramebuffer.set(it.fbo.framebuffer),Q.context.clear({color:a.aM.transparent,stencil:0}),Q.currentStencilSource=void 0;for(let yt=0;yt<qe.length;yt++){let Ot=Q.style._layers[qe[yt]],Nt=Ot.source?this._coordsDescendingInv[Ot.source][je.tileID.key]:[je.tileID];Q.context.viewport.set([0,0,it.fbo.width,it.fbo.height]),Q._renderTileClippingMasks(Ot,Nt),Q.renderLayer(Q,Q.style.sourceCaches[Ot.source],Ot,Nt),Ot.source&&(je.rttCoords[Ot.source]=this._coordsDescendingInvStr[Ot.source][je.tileID.key])}}return tu(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects(),Qo[B]}return!1}}let Bo={\"AttributionControl.ToggleAttribution\":\"Toggle attribution\",\"AttributionControl.MapFeedback\":\"Map feedback\",\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"MapLibre logo\",\"Map.Title\":\"Map\",\"Marker.Title\":\"Map marker\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"Popup.Close\":\"Close popup\",\"ScaleControl.Feet\":\"ft\",\"ScaleControl.Meters\":\"m\",\"ScaleControl.Kilometers\":\"km\",\"ScaleControl.Miles\":\"mi\",\"ScaleControl.NauticalMiles\":\"nm\",\"TerrainControl.Enable\":\"Enable terrain\",\"TerrainControl.Disable\":\"Disable terrain\",\"CooperativeGesturesHandler.WindowsHelpText\":\"Use Ctrl + scroll to zoom the map\",\"CooperativeGesturesHandler.MacHelpText\":\"Use \\u2318 + scroll to zoom the map\",\"CooperativeGesturesHandler.MobileHelpText\":\"Use two fingers to move the map\"},yl=o,Gs={hash:!1,interactive:!0,bearingSnap:7,attributionControl:Ea,maplibreLogo:!1,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,refreshExpiredTiles:!0,scrollZoom:!0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:!1,trackResize:!0,center:[0,0],zoom:0,bearing:0,pitch:0,renderWorldCopies:!0,maxTileCacheSize:null,maxTileCacheZoomLevels:a.a.MAX_TILE_CACHE_ZOOM_LEVELS,transformRequest:null,transformCameraUpdate:null,fadeDuration:300,crossSourceCollisions:!0,clickTolerance:3,localIdeographFontFamily:\"sans-serif\",pitchWithRotate:!0,validateStyle:!0,maxCanvasSize:[4096,4096],cancelPendingTileRequestsWhileZooming:!0},Rs=le=>{le.touchstart=le.dragStart,le.touchmoveWindow=le.dragMove,le.touchend=le.dragEnd},ia={showCompass:!0,showZoom:!0,visualizePitch:!1};class Ka{constructor(w,B,Q=!1){this.mousedown=qe=>{this.startMouse(a.e({},qe,{ctrlKey:!0,preventDefault:()=>qe.preventDefault()}),c.mousePos(this.element,qe)),c.addEventListener(window,\"mousemove\",this.mousemove),c.addEventListener(window,\"mouseup\",this.mouseup)},this.mousemove=qe=>{this.moveMouse(qe,c.mousePos(this.element,qe))},this.mouseup=qe=>{this.mouseRotate.dragEnd(qe),this.mousePitch&&this.mousePitch.dragEnd(qe),this.offTemp()},this.touchstart=qe=>{qe.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=c.touchPos(this.element,qe.targetTouches)[0],this.startTouch(qe,this._startPos),c.addEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.addEventListener(window,\"touchend\",this.touchend))},this.touchmove=qe=>{qe.targetTouches.length!==1?this.reset():(this._lastPos=c.touchPos(this.element,qe.targetTouches)[0],this.moveTouch(qe,this._lastPos))},this.touchend=qe=>{qe.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),delete this._startPos,delete this._lastPos,this.offTemp()},this.reset=()=>{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;let ee=w.dragRotate._mouseRotate.getClickTolerance(),se=w.dragRotate._mousePitch.getClickTolerance();this.element=B,this.mouseRotate=Dl({clickTolerance:ee,enable:!0}),this.touchRotate=(({enable:qe,clickTolerance:je,bearingDegreesPerPixelMoved:it=.8})=>{let yt=new pf;return new ju({clickTolerance:je,move:(Ot,Nt)=>({bearingDelta:(Nt.x-Ot.x)*it}),moveStateManager:yt,enable:qe,assignEvents:Rs})})({clickTolerance:ee,enable:!0}),this.map=w,Q&&(this.mousePitch=Ih({clickTolerance:se,enable:!0}),this.touchPitch=(({enable:qe,clickTolerance:je,pitchDegreesPerPixelMoved:it=-.5})=>{let yt=new pf;return new ju({clickTolerance:je,move:(Ot,Nt)=>({pitchDelta:(Nt.y-Ot.y)*it}),moveStateManager:yt,enable:qe,assignEvents:Rs})})({clickTolerance:se,enable:!0})),c.addEventListener(B,\"mousedown\",this.mousedown),c.addEventListener(B,\"touchstart\",this.touchstart,{passive:!1}),c.addEventListener(B,\"touchcancel\",this.reset)}startMouse(w,B){this.mouseRotate.dragStart(w,B),this.mousePitch&&this.mousePitch.dragStart(w,B),c.disableDrag()}startTouch(w,B){this.touchRotate.dragStart(w,B),this.touchPitch&&this.touchPitch.dragStart(w,B),c.disableDrag()}moveMouse(w,B){let Q=this.map,{bearingDelta:ee}=this.mouseRotate.dragMove(w,B)||{};if(ee&&Q.setBearing(Q.getBearing()+ee),this.mousePitch){let{pitchDelta:se}=this.mousePitch.dragMove(w,B)||{};se&&Q.setPitch(Q.getPitch()+se)}}moveTouch(w,B){let Q=this.map,{bearingDelta:ee}=this.touchRotate.dragMove(w,B)||{};if(ee&&Q.setBearing(Q.getBearing()+ee),this.touchPitch){let{pitchDelta:se}=this.touchPitch.dragMove(w,B)||{};se&&Q.setPitch(Q.getPitch()+se)}}off(){let w=this.element;c.removeEventListener(w,\"mousedown\",this.mousedown),c.removeEventListener(w,\"touchstart\",this.touchstart,{passive:!1}),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend),c.removeEventListener(w,\"touchcancel\",this.reset),this.offTemp()}offTemp(){c.enableDrag(),c.removeEventListener(window,\"mousemove\",this.mousemove),c.removeEventListener(window,\"mouseup\",this.mouseup),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend)}}let vs;function Ko(le,w,B){let Q=new a.N(le.lng,le.lat);if(le=new a.N(le.lng,le.lat),w){let ee=new a.N(le.lng-360,le.lat),se=new a.N(le.lng+360,le.lat),qe=B.locationPoint(le).distSqr(w);B.locationPoint(ee).distSqr(w)<qe?le=ee:B.locationPoint(se).distSqr(w)<qe&&(le=se)}for(;Math.abs(le.lng-B.center.lng)>180;){let ee=B.locationPoint(le);if(ee.x>=0&&ee.y>=0&&ee.x<=B.width&&ee.y<=B.height)break;le.lng>B.center.lng?le.lng-=360:le.lng+=360}return le.lng!==Q.lng&&B.locationPoint(le).y>B.height/2-B.getHorizon()?le:Q}let nu={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 Ru(le,w,B){let Q=le.classList;for(let ee in nu)Q.remove(`maplibregl-${B}-anchor-${ee}`);Q.add(`maplibregl-${B}-anchor-${w}`)}class ac extends a.E{constructor(w){if(super(),this._onKeyPress=B=>{let Q=B.code,ee=B.charCode||B.keyCode;Q!==\"Space\"&&Q!==\"Enter\"&&ee!==32&&ee!==13||this.togglePopup()},this._onMapClick=B=>{let Q=B.originalEvent.target,ee=this._element;this._popup&&(Q===ee||ee.contains(Q))&&this.togglePopup()},this._update=B=>{var Q;if(!this._map)return;let ee=this._map.loaded()&&!this._map.isMoving();((B==null?void 0:B.type)===\"terrain\"||(B==null?void 0:B.type)===\"render\"&&!ee)&&this._map.once(\"render\",this._update),this._lngLat=this._map.transform.renderWorldCopies?Ko(this._lngLat,this._flatPos,this._map.transform):(Q=this._lngLat)===null||Q===void 0?void 0:Q.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 se=\"\";this._rotationAlignment===\"viewport\"||this._rotationAlignment===\"auto\"?se=`rotateZ(${this._rotation}deg)`:this._rotationAlignment===\"map\"&&(se=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let qe=\"\";this._pitchAlignment===\"viewport\"||this._pitchAlignment===\"auto\"?qe=\"rotateX(0deg)\":this._pitchAlignment===\"map\"&&(qe=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||B&&B.type!==\"moveend\"||(this._pos=this._pos.round()),c.setTransform(this._element,`${nu[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${qe} ${se}`),u.frameAsync(new AbortController).then(()=>{this._updateOpacity(B&&B.type===\"moveend\")}).catch(()=>{})},this._onMove=B=>{if(!this._isDragging){let Q=this._clickTolerance||this._map._clickTolerance;this._isDragging=B.point.dist(this._pointerdownPos)>=Q}this._isDragging&&(this._pos=B.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",this._state===\"pending\"&&(this._state=\"active\",this.fire(new a.k(\"dragstart\"))),this.fire(new a.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),this._state===\"active\"&&this.fire(new a.k(\"dragend\")),this._state=\"inactive\"},this._addDragHandler=B=>{this._element.contains(B.originalEvent.target)&&(B.preventDefault(),this._positionDelta=B.point.sub(this._pos).add(this._offset),this._pointerdownPos=B.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=w&&w.anchor||\"center\",this._color=w&&w.color||\"#3FB1CE\",this._scale=w&&w.scale||1,this._draggable=w&&w.draggable||!1,this._clickTolerance=w&&w.clickTolerance||0,this._subpixelPositioning=w&&w.subpixelPositioning||!1,this._isDragging=!1,this._state=\"inactive\",this._rotation=w&&w.rotation||0,this._rotationAlignment=w&&w.rotationAlignment||\"auto\",this._pitchAlignment=w&&w.pitchAlignment&&w.pitchAlignment!==\"auto\"?w.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(w==null?void 0:w.opacity,w==null?void 0:w.opacityWhenCovered),w&&w.element)this._element=w.element,this._offset=a.P.convert(w&&w.offset||[0,0]);else{this._defaultMarker=!0,this._element=c.create(\"div\");let B=c.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),Q=41,ee=27;B.setAttributeNS(null,\"display\",\"block\"),B.setAttributeNS(null,\"height\",`${Q}px`),B.setAttributeNS(null,\"width\",`${ee}px`),B.setAttributeNS(null,\"viewBox\",`0 0 ${ee} ${Q}`);let se=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");se.setAttributeNS(null,\"stroke\",\"none\"),se.setAttributeNS(null,\"stroke-width\",\"1\"),se.setAttributeNS(null,\"fill\",\"none\"),se.setAttributeNS(null,\"fill-rule\",\"evenodd\");let qe=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");qe.setAttributeNS(null,\"fill-rule\",\"nonzero\");let je=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");je.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),je.setAttributeNS(null,\"fill\",\"#000000\");let it=[{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(let Oe of it){let Je=c.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");Je.setAttributeNS(null,\"opacity\",\"0.04\"),Je.setAttributeNS(null,\"cx\",\"10.5\"),Je.setAttributeNS(null,\"cy\",\"5.80029008\"),Je.setAttributeNS(null,\"rx\",Oe.rx),Je.setAttributeNS(null,\"ry\",Oe.ry),je.appendChild(Je)}let yt=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");yt.setAttributeNS(null,\"fill\",this._color);let Ot=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");Ot.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\"),yt.appendChild(Ot);let Nt=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");Nt.setAttributeNS(null,\"opacity\",\"0.25\"),Nt.setAttributeNS(null,\"fill\",\"#000000\");let hr=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");hr.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\"),Nt.appendChild(hr);let Sr=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");Sr.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),Sr.setAttributeNS(null,\"fill\",\"#FFFFFF\");let he=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");he.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");let be=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");be.setAttributeNS(null,\"fill\",\"#000000\"),be.setAttributeNS(null,\"opacity\",\"0.25\"),be.setAttributeNS(null,\"cx\",\"5.5\"),be.setAttributeNS(null,\"cy\",\"5.5\"),be.setAttributeNS(null,\"r\",\"5.4999962\");let Pe=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");Pe.setAttributeNS(null,\"fill\",\"#FFFFFF\"),Pe.setAttributeNS(null,\"cx\",\"5.5\"),Pe.setAttributeNS(null,\"cy\",\"5.5\"),Pe.setAttributeNS(null,\"r\",\"5.4999962\"),he.appendChild(be),he.appendChild(Pe),qe.appendChild(je),qe.appendChild(yt),qe.appendChild(Nt),qe.appendChild(Sr),qe.appendChild(he),B.appendChild(qe),B.setAttributeNS(null,\"height\",Q*this._scale+\"px\"),B.setAttributeNS(null,\"width\",ee*this._scale+\"px\"),this._element.appendChild(B),this._offset=a.P.convert(w&&w.offset||[0,-14])}if(this._element.classList.add(\"maplibregl-marker\"),this._element.addEventListener(\"dragstart\",B=>{B.preventDefault()}),this._element.addEventListener(\"mousedown\",B=>{B.preventDefault()}),Ru(this._element,this._anchor,\"marker\"),w&&w.className)for(let B of w.className.split(\" \"))this._element.classList.add(B);this._popup=null}addTo(w){return this.remove(),this._map=w,this._element.setAttribute(\"aria-label\",w._getUIString(\"Marker.Title\")),w.getCanvasContainer().appendChild(this._element),w.on(\"move\",this._update),w.on(\"moveend\",this._update),w.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),c.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(w){return this._lngLat=a.N.convert(w),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(w){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),w){if(!(\"offset\"in w.options)){let ee=Math.abs(13.5)/Math.SQRT2;w.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-38.1],\"bottom-left\":[ee,-1*(38.1-13.5+ee)],\"bottom-right\":[-ee,-1*(38.1-13.5+ee)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=w,this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress)}return this}setSubpixelPositioning(w){return this._subpixelPositioning=w,this}getPopup(){return this._popup}togglePopup(){let w=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:w?(w.isOpen()?w.remove():(w.setLngLat(this._lngLat),w.addTo(this._map)),this):this}_updateOpacity(w=!1){var B,Q;if(!(!((B=this._map)===null||B===void 0)&&B.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(w)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}let ee=this._map,se=ee.terrain.depthAtPoint(this._pos),qe=ee.terrain.getElevationForLngLatZoom(this._lngLat,ee.transform.tileZoom);if(ee.transform.lngLatToCameraDepth(this._lngLat,qe)-se<.006)return void(this._element.style.opacity=this._opacity);let je=-this._offset.y/ee.transform._pixelPerMeter,it=Math.sin(ee.getPitch()*Math.PI/180)*je,yt=ee.terrain.depthAtPoint(new a.P(this._pos.x,this._pos.y-this._offset.y)),Ot=ee.transform.lngLatToCameraDepth(this._lngLat,qe+it)-yt>.006;!((Q=this._popup)===null||Q===void 0)&&Q.isOpen()&&Ot&&this._popup.remove(),this._element.style.opacity=Ot?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(w){return this._offset=a.P.convert(w),this._update(),this}addClassName(w){this._element.classList.add(w)}removeClassName(w){this._element.classList.remove(w)}toggleClassName(w){return this._element.classList.toggle(w)}setDraggable(w){return this._draggable=!!w,this._map&&(w?(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(w){return this._rotation=w||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(w){return this._rotationAlignment=w||\"auto\",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(w){return this._pitchAlignment=w&&w!==\"auto\"?w:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(w,B){return w===void 0&&B===void 0&&(this._opacity=\"1\",this._opacityWhenCovered=\"0.2\"),w!==void 0&&(this._opacity=w),B!==void 0&&(this._opacityWhenCovered=B),this._map&&this._updateOpacity(!0),this}}let mf={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},bu=0,Kc=!1,Du={maxWidth:100,unit:\"metric\"};function Dc(le,w,B){let Q=B&&B.maxWidth||100,ee=le._container.clientHeight/2,se=le.unproject([0,ee]),qe=le.unproject([Q,ee]),je=se.distanceTo(qe);if(B&&B.unit===\"imperial\"){let it=3.2808*je;it>5280?Da(w,Q,it/5280,le._getUIString(\"ScaleControl.Miles\")):Da(w,Q,it,le._getUIString(\"ScaleControl.Feet\"))}else B&&B.unit===\"nautical\"?Da(w,Q,je/1852,le._getUIString(\"ScaleControl.NauticalMiles\")):je>=1e3?Da(w,Q,je/1e3,le._getUIString(\"ScaleControl.Kilometers\")):Da(w,Q,je,le._getUIString(\"ScaleControl.Meters\"))}function Da(le,w,B,Q){let ee=function(se){let qe=Math.pow(10,`${Math.floor(se)}`.length-1),je=se/qe;return je=je>=10?10:je>=5?5:je>=3?3:je>=2?2:je>=1?1:function(it){let yt=Math.pow(10,Math.ceil(-Math.log(it)/Math.LN10));return Math.round(it*yt)/yt}(je),qe*je}(B);le.style.width=w*(ee/B)+\"px\",le.innerHTML=`${ee} ${Q}`}let eo={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\",subpixelPositioning:!1},Jc=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \");function yc(le){if(le){if(typeof le==\"number\"){let w=Math.round(Math.abs(le)/Math.SQRT2);return{center:new a.P(0,0),top:new a.P(0,le),\"top-left\":new a.P(w,w),\"top-right\":new a.P(-w,w),bottom:new a.P(0,-le),\"bottom-left\":new a.P(w,-w),\"bottom-right\":new a.P(-w,-w),left:new a.P(le,0),right:new a.P(-le,0)}}if(le instanceof a.P||Array.isArray(le)){let w=a.P.convert(le);return{center:w,top:w,\"top-left\":w,\"top-right\":w,bottom:w,\"bottom-left\":w,\"bottom-right\":w,left:w,right:w}}return{center:a.P.convert(le.center||[0,0]),top:a.P.convert(le.top||[0,0]),\"top-left\":a.P.convert(le[\"top-left\"]||[0,0]),\"top-right\":a.P.convert(le[\"top-right\"]||[0,0]),bottom:a.P.convert(le.bottom||[0,0]),\"bottom-left\":a.P.convert(le[\"bottom-left\"]||[0,0]),\"bottom-right\":a.P.convert(le[\"bottom-right\"]||[0,0]),left:a.P.convert(le.left||[0,0]),right:a.P.convert(le.right||[0,0])}}return yc(new a.P(0,0))}let _c=o;i.AJAXError=a.bh,i.Evented=a.E,i.LngLat=a.N,i.MercatorCoordinate=a.Z,i.Point=a.P,i.addProtocol=a.bi,i.config=a.a,i.removeProtocol=a.bj,i.AttributionControl=qa,i.BoxZoomHandler=xu,i.CanvasSource=Ct,i.CooperativeGesturesHandler=qi,i.DoubleClickZoomHandler=fi,i.DragPanHandler=Xi,i.DragRotateHandler=hn,i.EdgeInsets=ic,i.FullscreenControl=class extends a.E{constructor(le={}){super(),this._onFullscreenChange=()=>{var w;let B=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;!((w=B==null?void 0:B.shadowRoot)===null||w===void 0)&&w.fullscreenElement;)B=B.shadowRoot.fullscreenElement;B===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,le&&le.container&&(le.container instanceof HTMLElement?this._container=le.container:a.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(le){return this._map=le,this._container||(this._container=this._map.getContainer()),this._controlContainer=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),this._controlContainer}onRemove(){c.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let le=this._fullscreenButton=c.create(\"button\",\"maplibregl-ctrl-fullscreen\",this._controlContainer);c.create(\"span\",\"maplibregl-ctrl-icon\",le).setAttribute(\"aria-hidden\",\"true\"),le.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let le=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",le),this._fullscreenButton.title=le}_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 a.k(\"fullscreenstart\")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new a.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()}},i.GeoJSONSource=rt,i.GeolocateControl=class extends a.E{constructor(le){super(),this._onSuccess=w=>{if(this._map){if(this._isOutOfMapMaxBounds(w))return this._setErrorState(),this.fire(new a.k(\"outofmaxbounds\",w)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=w,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&&this._watchState!==\"OFF\"&&this._updateMarker(w),this.options.trackUserLocation&&this._watchState!==\"ACTIVE_LOCK\"||this._updateCamera(w),this.options.showUserLocation&&this._dotElement.classList.remove(\"maplibregl-user-location-dot-stale\"),this.fire(new a.k(\"geolocate\",w)),this._finish()}},this._updateCamera=w=>{let B=new a.N(w.coords.longitude,w.coords.latitude),Q=w.coords.accuracy,ee=this._map.getBearing(),se=a.e({bearing:ee},this.options.fitBoundsOptions),qe=ce.fromLngLat(B,Q);this._map.fitBounds(qe,se,{geolocateSource:!0})},this._updateMarker=w=>{if(w){let B=new a.N(w.coords.longitude,w.coords.latitude);this._accuracyCircleMarker.setLngLat(B).addTo(this._map),this._userLocationDotMarker.setLngLat(B).addTo(this._map),this._accuracy=w.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=w=>{if(this._map){if(this.options.trackUserLocation)if(w.code===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._geolocateButton.disabled=!0;let B=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=B,this._geolocateButton.setAttribute(\"aria-label\",B),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(w.code===3&&Kc)return;this._setErrorState()}this._watchState!==\"OFF\"&&this.options.showUserLocation&&this._dotElement.classList.add(\"maplibregl-user-location-dot-stale\"),this.fire(new a.k(\"error\",w)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener(\"contextmenu\",w=>w.preventDefault()),this._geolocateButton=c.create(\"button\",\"maplibregl-ctrl-geolocate\",this._container),c.create(\"span\",\"maplibregl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",this._geolocateButton.disabled=!0)},this._finishSetupUI=w=>{if(this._map){if(w===!1){a.w(\"Geolocation support is not available so the GeolocateControl will be disabled.\");let B=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=B,this._geolocateButton.setAttribute(\"aria-label\",B)}else{let B=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.disabled=!1,this._geolocateButton.title=B,this._geolocateButton.setAttribute(\"aria-label\",B)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=c.create(\"div\",\"maplibregl-user-location-dot\"),this._userLocationDotMarker=new ac({element:this._dotElement}),this._circleElement=c.create(\"div\",\"maplibregl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new ac({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\",B=>{B.geolocateSource||this._watchState!==\"ACTIVE_LOCK\"||B.originalEvent&&B.originalEvent.type===\"resize\"||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this.fire(new a.k(\"trackuserlocationend\")),this.fire(new a.k(\"userlocationlostfocus\")))})}},this.options=a.e({},mf,le)}onAdd(le){return this._map=le,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),function(){return a._(this,arguments,void 0,function*(w=!1){if(vs!==void 0&&!w)return vs;if(window.navigator.permissions===void 0)return vs=!!window.navigator.geolocation,vs;try{vs=(yield window.navigator.permissions.query({name:\"geolocation\"})).state!==\"denied\"}catch(B){vs=!!window.navigator.geolocation}return vs})}().then(w=>this._finishSetupUI(w)),this._container}onRemove(){this._geolocationWatchID!==void 0&&(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(),c.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,bu=0,Kc=!1}_isOutOfMapMaxBounds(le){let w=this._map.getMaxBounds(),B=le.coords;return w&&(B.longitude<w.getWest()||B.longitude>w.getEast()||B.latitude<w.getSouth()||B.latitude>w.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(){let le=this._map.getBounds(),w=le.getSouthEast(),B=le.getNorthEast(),Q=w.distanceTo(B),ee=Math.ceil(this._accuracy/(Q/this._map._container.clientHeight)*2);this._circleElement.style.width=`${ee}px`,this._circleElement.style.height=`${ee}px`}trigger(){if(!this._setup)return a.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 a.k(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":bu--,Kc=!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 a.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 a.k(\"trackuserlocationstart\")),this.fire(new a.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(this._watchState===\"OFF\"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let le;this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),bu++,bu>1?(le={maximumAge:6e5,timeout:0},Kc=!0):(le=this.options.positionOptions,Kc=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,le)}}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)}},i.Hash=gd,i.ImageSource=Rt,i.KeyboardHandler=Bt,i.LngLatBounds=ce,i.LogoControl=Cn,i.Map=class extends Ta{constructor(le){a.bf.mark(a.bg.create);let w=Object.assign(Object.assign({},Gs),le);if(w.minZoom!=null&&w.maxZoom!=null&&w.minZoom>w.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(w.minPitch!=null&&w.maxPitch!=null&&w.minPitch>w.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(w.minPitch!=null&&w.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(w.maxPitch!=null&&w.maxPitch>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(super(new Qs(w.minZoom,w.maxZoom,w.minPitch,w.maxPitch,w.renderWorldCopies),{bearingSnap:w.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new sn,this._controls=[],this._mapId=a.a4(),this._contextLost=B=>{B.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new a.k(\"webglcontextlost\",{originalEvent:B}))},this._contextRestored=B=>{this._setupPainter(),this.resize(),this._update(),this.fire(new a.k(\"webglcontextrestored\",{originalEvent:B}))},this._onMapScroll=B=>{if(B.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=w.interactive,this._maxTileCacheSize=w.maxTileCacheSize,this._maxTileCacheZoomLevels=w.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=w.failIfMajorPerformanceCaveat===!0,this._preserveDrawingBuffer=w.preserveDrawingBuffer===!0,this._antialias=w.antialias===!0,this._trackResize=w.trackResize===!0,this._bearingSnap=w.bearingSnap,this._refreshExpiredTiles=w.refreshExpiredTiles===!0,this._fadeDuration=w.fadeDuration,this._crossSourceCollisions=w.crossSourceCollisions===!0,this._collectResourceTiming=w.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},Bo),w.locale),this._clickTolerance=w.clickTolerance,this._overridePixelRatio=w.pixelRatio,this._maxCanvasSize=w.maxCanvasSize,this.transformCameraUpdate=w.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=w.cancelPendingTileRequestsWhileZooming===!0,this._imageQueueHandle=p.addThrottleControl(()=>this.isMoving()),this._requestManager=new E(w.transformRequest),typeof w.container==\"string\"){if(this._container=document.getElementById(w.container),!this._container)throw new Error(`Container '${w.container}' not found.`)}else{if(!(w.container instanceof HTMLElement))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=w.container}if(w.maxBounds&&this.setMaxBounds(w.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}),typeof window!=\"undefined\"){addEventListener(\"online\",this._onWindowOnline,!1);let B=!1,Q=Qh(ee=>{this._trackResize&&!this._removed&&(this.resize(ee),this.redraw())},50);this._resizeObserver=new ResizeObserver(ee=>{B?Q(ee):B=!0}),this._resizeObserver.observe(this._container)}this.handlers=new Ma(this,w),this._hash=w.hash&&new gd(typeof w.hash==\"string\"&&w.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:w.center,zoom:w.zoom,bearing:w.bearing,pitch:w.pitch}),w.bounds&&(this.resize(),this.fitBounds(w.bounds,a.e({},w.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=w.localIdeographFontFamily,this._validateStyle=w.validateStyle,w.style&&this.setStyle(w.style,{localIdeographFontFamily:w.localIdeographFontFamily}),w.attributionControl&&this.addControl(new qa(typeof w.attributionControl==\"boolean\"?void 0:w.attributionControl)),w.maplibreLogo&&this.addControl(new Cn,w.logoPosition),this.on(\"style.load\",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on(\"data\",B=>{this._update(B.dataType===\"style\"),this.fire(new a.k(`${B.dataType}data`,B))}),this.on(\"dataloading\",B=>{this.fire(new a.k(`${B.dataType}dataloading`,B))}),this.on(\"dataabort\",B=>{this.fire(new a.k(\"sourcedataabort\",B))})}_getMapId(){return this._mapId}addControl(le,w){if(w===void 0&&(w=le.getDefaultPosition?le.getDefaultPosition():\"top-right\"),!le||!le.onAdd)return this.fire(new a.j(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));let B=le.onAdd(this);this._controls.push(le);let Q=this._controlPositions[w];return w.indexOf(\"bottom\")!==-1?Q.insertBefore(B,Q.firstChild):Q.appendChild(B),this}removeControl(le){if(!le||!le.onRemove)return this.fire(new a.j(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));let w=this._controls.indexOf(le);return w>-1&&this._controls.splice(w,1),le.onRemove(this),this}hasControl(le){return this._controls.indexOf(le)>-1}calculateCameraOptionsFromTo(le,w,B,Q){return Q==null&&this.terrain&&(Q=this.terrain.getElevationForLngLatZoom(B,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(le,w,B,Q)}resize(le){var w;let B=this._containerDimensions(),Q=B[0],ee=B[1],se=this._getClampedPixelRatio(Q,ee);if(this._resizeCanvas(Q,ee,se),this.painter.resize(Q,ee,se),this.painter.overLimit()){let je=this.painter.context.gl;this._maxCanvasSize=[je.drawingBufferWidth,je.drawingBufferHeight];let it=this._getClampedPixelRatio(Q,ee);this._resizeCanvas(Q,ee,it),this.painter.resize(Q,ee,it)}this.transform.resize(Q,ee),(w=this._requestedCameraState)===null||w===void 0||w.resize(Q,ee);let qe=!this._moving;return qe&&(this.stop(),this.fire(new a.k(\"movestart\",le)).fire(new a.k(\"move\",le))),this.fire(new a.k(\"resize\",le)),qe&&this.fire(new a.k(\"moveend\",le)),this}_getClampedPixelRatio(le,w){let{0:B,1:Q}=this._maxCanvasSize,ee=this.getPixelRatio(),se=le*ee,qe=w*ee;return Math.min(se>B?B/se:1,qe>Q?Q/qe:1)*ee}getPixelRatio(){var le;return(le=this._overridePixelRatio)!==null&&le!==void 0?le:devicePixelRatio}setPixelRatio(le){this._overridePixelRatio=le,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(le){return this.transform.setMaxBounds(ce.convert(le)),this._update()}setMinZoom(le){if((le=le==null?-2:le)>=-2&&le<=this.transform.maxZoom)return this.transform.minZoom=le,this._update(),this.getZoom()<le&&this.setZoom(le),this;throw new Error(\"minZoom must be between -2 and the current maxZoom, inclusive\")}getMinZoom(){return this.transform.minZoom}setMaxZoom(le){if((le=le==null?22:le)>=this.transform.minZoom)return this.transform.maxZoom=le,this._update(),this.getZoom()>le&&this.setZoom(le),this;throw new Error(\"maxZoom must be greater than the current minZoom\")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(le){if((le=le==null?0:le)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(le>=0&&le<=this.transform.maxPitch)return this.transform.minPitch=le,this._update(),this.getPitch()<le&&this.setPitch(le),this;throw new Error(\"minPitch must be between 0 and the current maxPitch, inclusive\")}getMinPitch(){return this.transform.minPitch}setMaxPitch(le){if((le=le==null?60:le)>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(le>=this.transform.minPitch)return this.transform.maxPitch=le,this._update(),this.getPitch()>le&&this.setPitch(le),this;throw new Error(\"maxPitch must be greater than the current minPitch\")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(le){return this.transform.renderWorldCopies=le,this._update()}project(le){return this.transform.locationPoint(a.N.convert(le),this.style&&this.terrain)}unproject(le){return this.transform.pointLocation(a.P.convert(le),this.terrain)}isMoving(){var le;return this._moving||((le=this.handlers)===null||le===void 0?void 0:le.isMoving())}isZooming(){var le;return this._zooming||((le=this.handlers)===null||le===void 0?void 0:le.isZooming())}isRotating(){var le;return this._rotating||((le=this.handlers)===null||le===void 0?void 0:le.isRotating())}_createDelegatedListener(le,w,B){if(le===\"mouseenter\"||le===\"mouseover\"){let Q=!1;return{layers:w,listener:B,delegates:{mousemove:se=>{let qe=w.filter(it=>this.getLayer(it)),je=qe.length!==0?this.queryRenderedFeatures(se.point,{layers:qe}):[];je.length?Q||(Q=!0,B.call(this,new ru(le,this,se.originalEvent,{features:je}))):Q=!1},mouseout:()=>{Q=!1}}}}if(le===\"mouseleave\"||le===\"mouseout\"){let Q=!1;return{layers:w,listener:B,delegates:{mousemove:qe=>{let je=w.filter(it=>this.getLayer(it));(je.length!==0?this.queryRenderedFeatures(qe.point,{layers:je}):[]).length?Q=!0:Q&&(Q=!1,B.call(this,new ru(le,this,qe.originalEvent)))},mouseout:qe=>{Q&&(Q=!1,B.call(this,new ru(le,this,qe.originalEvent)))}}}}{let Q=ee=>{let se=w.filter(je=>this.getLayer(je)),qe=se.length!==0?this.queryRenderedFeatures(ee.point,{layers:se}):[];qe.length&&(ee.features=qe,B.call(this,ee),delete ee.features)};return{layers:w,listener:B,delegates:{[le]:Q}}}}_saveDelegatedListener(le,w){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[le]=this._delegatedListeners[le]||[],this._delegatedListeners[le].push(w)}_removeDelegatedListener(le,w,B){if(!this._delegatedListeners||!this._delegatedListeners[le])return;let Q=this._delegatedListeners[le];for(let ee=0;ee<Q.length;ee++){let se=Q[ee];if(se.listener===B&&se.layers.length===w.length&&se.layers.every(qe=>w.includes(qe))){for(let qe in se.delegates)this.off(qe,se.delegates[qe]);return void Q.splice(ee,1)}}}on(le,w,B){if(B===void 0)return super.on(le,w);let Q=this._createDelegatedListener(le,typeof w==\"string\"?[w]:w,B);this._saveDelegatedListener(le,Q);for(let ee in Q.delegates)this.on(ee,Q.delegates[ee]);return this}once(le,w,B){if(B===void 0)return super.once(le,w);let Q=typeof w==\"string\"?[w]:w,ee=this._createDelegatedListener(le,Q,B);for(let se in ee.delegates){let qe=ee.delegates[se];ee.delegates[se]=(...je)=>{this._removeDelegatedListener(le,Q,B),qe(...je)}}this._saveDelegatedListener(le,ee);for(let se in ee.delegates)this.once(se,ee.delegates[se]);return this}off(le,w,B){return B===void 0?super.off(le,w):(this._removeDelegatedListener(le,typeof w==\"string\"?[w]:w,B),this)}queryRenderedFeatures(le,w){if(!this.style)return[];let B,Q=le instanceof a.P||Array.isArray(le),ee=Q?le:[[0,0],[this.transform.width,this.transform.height]];if(w=w||(Q?{}:le)||{},ee instanceof a.P||typeof ee[0]==\"number\")B=[a.P.convert(ee)];else{let se=a.P.convert(ee[0]),qe=a.P.convert(ee[1]);B=[se,new a.P(qe.x,se.y),qe,new a.P(se.x,qe.y),se]}return this.style.queryRenderedFeatures(B,w,this.transform)}querySourceFeatures(le,w){return this.style.querySourceFeatures(le,w)}setStyle(le,w){return(w=a.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},w)).diff!==!1&&w.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&le?(this._diffStyle(le,w),this):(this._localIdeographFontFamily=w.localIdeographFontFamily,this._updateStyle(le,w))}setTransformRequest(le){return this._requestManager.setTransformRequest(le),this}_getUIString(le){let w=this._locale[le];if(w==null)throw new Error(`Missing UI string '${le}'`);return w}_updateStyle(le,w){if(w.transformStyle&&this.style&&!this.style._loaded)return void this.style.once(\"style.load\",()=>this._updateStyle(le,w));let B=this.style&&w.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!le)),le?(this.style=new Ha(this,w||{}),this.style.setEventedParent(this,{style:this.style}),typeof le==\"string\"?this.style.loadURL(le,w,B):this.style.loadJSON(le,w,B),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new Ha(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(le,w){if(typeof le==\"string\"){let B=this._requestManager.transformRequest(le,\"Style\");a.h(B,new AbortController).then(Q=>{this._updateDiff(Q.data,w)}).catch(Q=>{Q&&this.fire(new a.j(Q))})}else typeof le==\"object\"&&this._updateDiff(le,w)}_updateDiff(le,w){try{this.style.setState(le,w)&&this._update(!0)}catch(B){a.w(`Unable to perform style diff: ${B.message||B.error||B}. Rebuilding the style from scratch.`),this._updateStyle(le,w)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():a.w(\"There is no style added to the map.\")}addSource(le,w){return this._lazyInitEmptyStyle(),this.style.addSource(le,w),this._update(!0)}isSourceLoaded(le){let w=this.style&&this.style.sourceCaches[le];if(w!==void 0)return w.loaded();this.fire(new a.j(new Error(`There is no source with ID '${le}'`)))}setTerrain(le){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off(\"data\",this._terrainDataCallback),le){let w=this.style.sourceCaches[le.source];if(!w)throw new Error(`cannot load terrain, because there exists no source with ID: ${le.source}`);this.terrain===null&&w.reload();for(let B in this.style._layers){let Q=this.style._layers[B];Q.type===\"hillshade\"&&Q.source===le.source&&a.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 Xo(this.painter,w,le),this.painter.renderToTexture=new ys(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=B=>{B.dataType===\"style\"?this.terrain.sourceCache.freeRtt():B.dataType===\"source\"&&B.tile&&(B.sourceId!==le.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(B.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 a.k(\"terrain\",{terrain:le})),this}getTerrain(){var le,w;return(w=(le=this.terrain)===null||le===void 0?void 0:le.options)!==null&&w!==void 0?w:null}areTilesLoaded(){let le=this.style&&this.style.sourceCaches;for(let w in le){let B=le[w]._tiles;for(let Q in B){let ee=B[Q];if(ee.state!==\"loaded\"&&ee.state!==\"errored\")return!1}}return!0}removeSource(le){return this.style.removeSource(le),this._update(!0)}getSource(le){return this.style.getSource(le)}addImage(le,w,B={}){let{pixelRatio:Q=1,sdf:ee=!1,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt}=B;if(this._lazyInitEmptyStyle(),!(w instanceof HTMLImageElement||a.b(w))){if(w.width===void 0||w.height===void 0)return this.fire(new a.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`\")));{let{width:Ot,height:Nt,data:hr}=w,Sr=w;return this.style.addImage(le,{data:new a.R({width:Ot,height:Nt},new Uint8Array(hr)),pixelRatio:Q,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt,sdf:ee,version:0,userImage:Sr}),Sr.onAdd&&Sr.onAdd(this,le),this}}{let{width:Ot,height:Nt,data:hr}=u.getImageData(w);this.style.addImage(le,{data:new a.R({width:Ot,height:Nt},hr),pixelRatio:Q,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt,sdf:ee,version:0})}}updateImage(le,w){let B=this.style.getImage(le);if(!B)return this.fire(new a.j(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));let Q=w instanceof HTMLImageElement||a.b(w)?u.getImageData(w):w,{width:ee,height:se,data:qe}=Q;if(ee===void 0||se===void 0)return this.fire(new a.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(ee!==B.data.width||se!==B.data.height)return this.fire(new a.j(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));let je=!(w instanceof HTMLImageElement||a.b(w));return B.data.replace(qe,je),this.style.updateImage(le,B),this}getImage(le){return this.style.getImage(le)}hasImage(le){return le?!!this.style.getImage(le):(this.fire(new a.j(new Error(\"Missing required image id\"))),!1)}removeImage(le){this.style.removeImage(le)}loadImage(le){return p.getImage(this._requestManager.transformRequest(le,\"Image\"),new AbortController)}listImages(){return this.style.listImages()}addLayer(le,w){return this._lazyInitEmptyStyle(),this.style.addLayer(le,w),this._update(!0)}moveLayer(le,w){return this.style.moveLayer(le,w),this._update(!0)}removeLayer(le){return this.style.removeLayer(le),this._update(!0)}getLayer(le){return this.style.getLayer(le)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(le,w,B){return this.style.setLayerZoomRange(le,w,B),this._update(!0)}setFilter(le,w,B={}){return this.style.setFilter(le,w,B),this._update(!0)}getFilter(le){return this.style.getFilter(le)}setPaintProperty(le,w,B,Q={}){return this.style.setPaintProperty(le,w,B,Q),this._update(!0)}getPaintProperty(le,w){return this.style.getPaintProperty(le,w)}setLayoutProperty(le,w,B,Q={}){return this.style.setLayoutProperty(le,w,B,Q),this._update(!0)}getLayoutProperty(le,w){return this.style.getLayoutProperty(le,w)}setGlyphs(le,w={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(le,w),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(le,w,B={}){return this._lazyInitEmptyStyle(),this.style.addSprite(le,w,B,Q=>{Q||this._update(!0)}),this}removeSprite(le){return this._lazyInitEmptyStyle(),this.style.removeSprite(le),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(le,w={}){return this._lazyInitEmptyStyle(),this.style.setSprite(le,w,B=>{B||this._update(!0)}),this}setLight(le,w={}){return this._lazyInitEmptyStyle(),this.style.setLight(le,w),this._update(!0)}getLight(){return this.style.getLight()}setSky(le){return this._lazyInitEmptyStyle(),this.style.setSky(le),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(le,w){return this.style.setFeatureState(le,w),this._update()}removeFeatureState(le,w){return this.style.removeFeatureState(le,w),this._update()}getFeatureState(le){return this.style.getFeatureState(le)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let le=0,w=0;return this._container&&(le=this._container.clientWidth||400,w=this._container.clientHeight||300),[le,w]}_setupContainer(){let le=this._container;le.classList.add(\"maplibregl-map\");let w=this._canvasContainer=c.create(\"div\",\"maplibregl-canvas-container\",le);this._interactive&&w.classList.add(\"maplibregl-interactive\"),this._canvas=c.create(\"canvas\",\"maplibregl-canvas\",w),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\");let B=this._containerDimensions(),Q=this._getClampedPixelRatio(B[0],B[1]);this._resizeCanvas(B[0],B[1],Q);let ee=this._controlContainer=c.create(\"div\",\"maplibregl-control-container\",le),se=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(qe=>{se[qe]=c.create(\"div\",`maplibregl-ctrl-${qe} `,ee)}),this._container.addEventListener(\"scroll\",this._onMapScroll,!1)}_resizeCanvas(le,w,B){this._canvas.width=Math.floor(B*le),this._canvas.height=Math.floor(B*w),this._canvas.style.width=`${le}px`,this._canvas.style.height=`${w}px`}_setupPainter(){let le={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},w=null;this._canvas.addEventListener(\"webglcontextcreationerror\",Q=>{w={requestedAttributes:le},Q&&(w.statusMessage=Q.statusMessage,w.type=Q.type)},{once:!0});let B=this._canvas.getContext(\"webgl2\",le)||this._canvas.getContext(\"webgl\",le);if(!B){let Q=\"Failed to initialize WebGL\";throw w?(w.message=Q,new Error(JSON.stringify(w))):new Error(Q)}this.painter=new Lc(B,this.transform),f.testSupport(B)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(le){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||le,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(le){return this._update(),this._renderTaskQueue.add(le)}_cancelRenderFrame(le){this._renderTaskQueue.remove(le)}_render(le){let w=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(le),this._removed)return;let B=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let ee=this.transform.zoom,se=u.now();this.style.zoomHistory.update(ee,se);let qe=new a.z(ee,{now:se,fadeDuration:w,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),je=qe.crossFadingFactor();je===1&&je===this._crossFadingFactor||(B=!0,this._crossFadingFactor=je),this.style.update(qe)}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,w,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:w,showPadding:this.showPadding}),this.fire(new a.k(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,a.bf.mark(a.bg.load),this.fire(new a.k(\"load\"))),this.style&&(this.style.hasTransitions()||B)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let Q=this._sourcesDirty||this._styleDirty||this._placementDirty;return Q||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new a.k(\"idle\")),!this._loaded||this._fullyLoaded||Q||(this._fullyLoaded=!0,a.bf.mark(a.bg.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var le;this._hash&&this._hash.remove();for(let B of this._controls)B.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),typeof window!=\"undefined\"&&removeEventListener(\"online\",this._onWindowOnline,!1),p.removeThrottleControl(this._imageQueueHandle),(le=this._resizeObserver)===null||le===void 0||le.disconnect();let w=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");w!=null&&w.loseContext&&w.loseContext(),this._canvas.removeEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.removeEventListener(\"webglcontextlost\",this._contextLost,!1),c.remove(this._canvasContainer),c.remove(this._controlContainer),this._container.classList.remove(\"maplibregl-map\"),a.bf.clearMetrics(),this._removed=!0,this.fire(new a.k(\"remove\"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then(le=>{a.bf.frame(le),this._frameRequest=null,this._render(le)}).catch(()=>{}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(le){this._showTileBoundaries!==le&&(this._showTileBoundaries=le,this._update())}get showPadding(){return!!this._showPadding}set showPadding(le){this._showPadding!==le&&(this._showPadding=le,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(le){this._showCollisionBoxes!==le&&(this._showCollisionBoxes=le,le?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(le){this._showOverdrawInspector!==le&&(this._showOverdrawInspector=le,this._update())}get repaint(){return!!this._repaint}set repaint(le){this._repaint!==le&&(this._repaint=le,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(le){this._vertices=le,this._update()}get version(){return yl}getCameraTargetElevation(){return this.transform.elevation}},i.MapMouseEvent=ru,i.MapTouchEvent=vf,i.MapWheelEvent=md,i.Marker=ac,i.NavigationControl=class{constructor(le){this._updateZoomButtons=()=>{let w=this._map.getZoom(),B=w===this._map.getMaxZoom(),Q=w===this._map.getMinZoom();this._zoomInButton.disabled=B,this._zoomOutButton.disabled=Q,this._zoomInButton.setAttribute(\"aria-disabled\",B.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",Q.toString())},this._rotateCompassArrow=()=>{let w=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=w},this._setButtonTitle=(w,B)=>{let Q=this._map._getUIString(`NavigationControl.${B}`);w.title=Q,w.setAttribute(\"aria-label\",Q)},this.options=a.e({},ia,le),this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",w=>w.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton(\"maplibregl-ctrl-zoom-in\",w=>this._map.zoomIn({},{originalEvent:w})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",\"true\"),this._zoomOutButton=this._createButton(\"maplibregl-ctrl-zoom-out\",w=>this._map.zoomOut({},{originalEvent:w})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",\"true\")),this.options.showCompass&&(this._compass=this._createButton(\"maplibregl-ctrl-compass\",w=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:w}):this._map.resetNorth({},{originalEvent:w})}),this._compassIcon=c.create(\"span\",\"maplibregl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",\"true\"))}onAdd(le){return this._map=le,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 Ka(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){c.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(le,w){let B=c.create(\"button\",le,this._container);return B.type=\"button\",B.addEventListener(\"click\",w),B}},i.Popup=class extends a.E{constructor(le){super(),this.remove=()=>(this._content&&c.remove(this._content),this._container&&(c.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 a.k(\"close\"))),this),this._onMouseUp=w=>{this._update(w.point)},this._onMouseMove=w=>{this._update(w.point)},this._onDrag=w=>{this._update(w.point)},this._update=w=>{var B;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=c.create(\"div\",\"maplibregl-popup\",this._map.getContainer()),this._tip=c.create(\"div\",\"maplibregl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className)for(let je of this.options.className.split(\" \"))this._container.classList.add(je);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._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?Ko(this._lngLat,this._flatPos,this._map.transform):(B=this._lngLat)===null||B===void 0?void 0:B.wrap(),this._trackPointer&&!w)return;let Q=this._flatPos=this._pos=this._trackPointer&&w?w:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&w?w:this._map.transform.locationPoint(this._lngLat));let ee=this.options.anchor,se=yc(this.options.offset);if(!ee){let je=this._container.offsetWidth,it=this._container.offsetHeight,yt;yt=Q.y+se.bottom.y<it?[\"top\"]:Q.y>this._map.transform.height-it?[\"bottom\"]:[],Q.x<je/2?yt.push(\"left\"):Q.x>this._map.transform.width-je/2&&yt.push(\"right\"),ee=yt.length===0?\"bottom\":yt.join(\"-\")}let qe=Q.add(se[ee]);this.options.subpixelPositioning||(qe=qe.round()),c.setTransform(this._container,`${nu[ee]} translate(${qe.x}px,${qe.y}px)`),Ru(this._container,ee,\"popup\")},this._onClose=()=>{this.remove()},this.options=a.e(Object.create(eo),le)}addTo(le){return this._map&&this.remove(),this._map=le,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 a.k(\"open\")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(le){return this._lngLat=a.N.convert(le),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(le){return this.setDOMContent(document.createTextNode(le))}setHTML(le){let w=document.createDocumentFragment(),B=document.createElement(\"body\"),Q;for(B.innerHTML=le;Q=B.firstChild,Q;)w.appendChild(Q);return this.setDOMContent(w)}getMaxWidth(){var le;return(le=this._container)===null||le===void 0?void 0:le.style.maxWidth}setMaxWidth(le){return this.options.maxWidth=le,this._update(),this}setDOMContent(le){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=c.create(\"div\",\"maplibregl-popup-content\",this._container);return this._content.appendChild(le),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(le){return this._container&&this._container.classList.add(le),this}removeClassName(le){return this._container&&this._container.classList.remove(le),this}setOffset(le){return this.options.offset=le,this._update(),this}toggleClassName(le){if(this._container)return this._container.classList.toggle(le)}setSubpixelPositioning(le){this.options.subpixelPositioning=le}_createCloseButton(){this.options.closeButton&&(this._closeButton=c.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;let le=this._container.querySelector(Jc);le&&le.focus()}},i.RasterDEMTileSource=qt,i.RasterTileSource=ct,i.ScaleControl=class{constructor(le){this._onMove=()=>{Dc(this._map,this._container,this.options)},this.setUnit=w=>{this.options.unit=w,Dc(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},Du),le)}getDefaultPosition(){return\"bottom-left\"}onAdd(le){return this._map=le,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-scale\",le.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container}onRemove(){c.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0}},i.ScrollZoomHandler=Ur,i.Style=Ha,i.TerrainControl=class{constructor(le){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=le}onAdd(le){return this._map=le,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._terrainButton=c.create(\"button\",\"maplibregl-ctrl-terrain\",this._container),c.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(){c.remove(this._container),this._map.off(\"terrain\",this._updateTerrainIcon),this._map=void 0}},i.TwoFingersTouchPitchHandler=gf,i.TwoFingersTouchRotateHandler=Yc,i.TwoFingersTouchZoomHandler=iu,i.TwoFingersTouchZoomRotateHandler=Ti,i.VectorTileSource=nt,i.VideoSource=kt,i.addSourceType=(le,w)=>a._(void 0,void 0,void 0,function*(){if(xr(le))throw new Error(`A source type called \"${le}\" already exists.`);((B,Q)=>{Yt[B]=Q})(le,w)}),i.clearPrewarmedResources=function(){let le=ge;le&&(le.isPreloaded()&&le.numActive()===1?(le.release(_e),ge=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()\"))},i.getMaxParallelImageRequests=function(){return a.a.MAX_PARALLEL_IMAGE_REQUESTS},i.getRTLTextPluginStatus=function(){return bt().getRTLTextPluginStatus()},i.getVersion=function(){return _c},i.getWorkerCount=function(){return Me.workerCount},i.getWorkerUrl=function(){return a.a.WORKER_URL},i.importScriptInWorkers=function(le){return Ae().broadcast(\"IS\",le)},i.prewarm=function(){Te().acquire(_e)},i.setMaxParallelImageRequests=function(le){a.a.MAX_PARALLEL_IMAGE_REQUESTS=le},i.setRTLTextPlugin=function(le,w){return bt().setRTLTextPlugin(le,w)},i.setWorkerCount=function(le){Me.workerCount=le},i.setWorkerUrl=function(le){a.a.WORKER_URL=le}});var n=e;return n})});var KHe=ye((Z1r,YHe)=>{\"use strict\";var iw=Mr(),gjt=Pl().sanitizeHTML,mjt=fJ(),WHe=wx();function ZHe(e,t){this.subplot=e,this.uid=e.uid+\"-\"+t,this.index=t,this.idSource=\"source-\"+this.uid,this.idLayer=WHe.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var ag=ZHe.prototype;ag.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=n7(t)};ag.needsNewImage=function(e){var t=this.subplot.map;return t.getSource(this.idSource)&&this.sourceType===\"image\"&&e.sourcetype===\"image\"&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))};ag.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type};ag.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]};ag.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]};ag.updateImage=function(e){var t=this.subplot.map;t.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var r=this.findFollowingMapLayerId(this.lookupBelow());r!==null&&this.subplot.map.moveLayer(this.idLayer,r)};ag.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,!!n7(e)){var r=yjt(e);t.addSource(this.idSource,r)}};ag.findFollowingMapLayerId=function(e){if(e===\"traces\")for(var t=this.subplot.getMapLayers(),r=0;r<t.length;r++){var n=t[r].id;if(typeof n==\"string\"&&n.indexOf(WHe.traceLayerPrefix)===0){e=n;break}}return e};ag.updateLayer=function(e){var t=this.subplot,r=XHe(e),n=this.lookupBelow(),i=this.findFollowingMapLayerId(n);this.removeLayer(),n7(e)&&t.addLayer({id:this.idLayer,source:this.idSource,\"source-layer\":e.sourcelayer||\"\",type:e.type,minzoom:e.minzoom,maxzoom:e.maxzoom,layout:r.layout,paint:r.paint},i),this.layerType=e.type,this.below=n};ag.updateStyle=function(e){if(n7(e)){var t=XHe(e);this.subplot.setOptions(this.idLayer,\"setLayoutProperty\",t.layout),this.subplot.setOptions(this.idLayer,\"setPaintProperty\",t.paint)}};ag.removeLayer=function(){var e=this.subplot.map;e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer)};ag.dispose=function(){var e=this.subplot.map;e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer),e.getSource(this.idSource)&&e.removeSource(this.idSource)};function n7(e){if(!e.visible)return!1;var t=e.source;if(Array.isArray(t)&&t.length>0){for(var r=0;r<t.length;r++)if(typeof t[r]!=\"string\"||t[r].length===0)return!1;return!0}return iw.isPlainObject(t)||typeof t==\"string\"&&t.length>0}function XHe(e){var t={},r={};switch(e.type){case\"circle\":iw.extendFlat(r,{\"circle-radius\":e.circle.radius,\"circle-color\":e.color,\"circle-opacity\":e.opacity});break;case\"line\":iw.extendFlat(r,{\"line-width\":e.line.width,\"line-color\":e.color,\"line-opacity\":e.opacity,\"line-dasharray\":e.line.dash});break;case\"fill\":iw.extendFlat(r,{\"fill-color\":e.color,\"fill-outline-color\":e.fill.outlinecolor,\"fill-opacity\":e.opacity});break;case\"symbol\":var n=e.symbol,i=mjt(n.textposition,n.iconsize);iw.extendFlat(t,{\"icon-image\":n.icon+\"-15\",\"icon-size\":n.iconsize/10,\"text-field\":n.text,\"text-size\":n.textfont.size,\"text-anchor\":i.anchor,\"text-offset\":i.offset,\"symbol-placement\":n.placement}),iw.extendFlat(r,{\"icon-color\":e.color,\"text-color\":n.textfont.color,\"text-opacity\":e.opacity});break;case\"raster\":iw.extendFlat(r,{\"raster-fade-duration\":0,\"raster-opacity\":e.opacity});break}return{layout:t,paint:r}}function yjt(e){var t=e.sourcetype,r=e.source,n={type:t},i;return t===\"geojson\"?i=\"data\":t===\"vector\"?i=typeof r==\"string\"?\"url\":\"tiles\":t===\"raster\"?(i=\"tiles\",n.tileSize=256):t===\"image\"&&(i=\"url\",n.coordinates=e.coordinates),n[i]=r,e.sourceattribution&&(n.attribution=gjt(e.sourceattribution)),n}YHe.exports=function(t,r,n){var i=new ZHe(t,r);return i.update(n),i}});var nGe=ye((X1r,iGe)=>{\"use strict\";var mJ=jHe(),yJ=Mr(),QHe=nx(),JHe=ba(),_jt=Qa(),xjt=gv(),a7=Nc(),eGe=Sg(),bjt=eGe.drawMode,wjt=eGe.selectMode,Tjt=wf().prepSelect,Ajt=wf().clearOutline,Sjt=wf().clearSelectionsCache,Mjt=wf().selectOnClick,nw=wx(),Ejt=KHe();function tGe(e,t){this.id=t,this.gd=e;var r=e._fullLayout,n=e._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+\"-\"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var Sh=tGe.prototype;Sh.plot=function(e,t,r){var n=this,i;n.map?i=new Promise(function(a,o){n.updateMap(e,t,a,o)}):i=new Promise(function(a,o){n.createMap(e,t,a,o)}),r.push(i)};Sh.createMap=function(e,t,r,n){var i=this,a=t[i.id],o=i.styleObj=rGe(a.style),s=a.bounds,l=s?[[s.west,s.south],[s.east,s.north]]:null,u=i.map=new mJ.Map({container:i.div,style:o.style,center:_J(a.center),zoom:a.zoom,bearing:a.bearing,pitch:a.pitch,maxBounds:l,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new mJ.AttributionControl({compact:!0})),c={};u.on(\"styleimagemissing\",function(h){var d=h.id;if(!c[d]&&d.includes(\"-15\")){c[d]=!0;var v=new Image(15,15);v.onload=function(){u.addImage(d,v)},v.crossOrigin=\"Anonymous\",v.src=\"https://unpkg.com/maki@2.1.0/icons/\"+d+\".svg\"}}),u.setTransformRequest(function(h){return h=h.replace(\"https://fonts.openmaptiles.org/Open Sans Extrabold\",\"https://fonts.openmaptiles.org/Open Sans Extra Bold\"),h=h.replace(\"https://tiles.basemaps.cartocdn.com/fonts/Open Sans Extrabold\",\"https://fonts.openmaptiles.org/Open Sans Extra Bold\"),h=h.replace(\"https://fonts.openmaptiles.org/Open Sans Regular,Arial Unicode MS Regular\",\"https://fonts.openmaptiles.org/Klokantech Noto Sans Regular\"),{url:h}}),u._canvas.style.left=\"0px\",u._canvas.style.top=\"0px\",i.rejectOnError(n),i.isStatic||i.initFx(e,t);var f=[];f.push(new Promise(function(h){u.once(\"load\",h)})),f=f.concat(QHe.fetchTraceGeoData(e)),Promise.all(f).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Sh.updateMap=function(e,t,r,n){var i=this,a=i.map,o=t[this.id];i.rejectOnError(n);var s=[],l=rGe(o.style);JSON.stringify(i.styleObj)!==JSON.stringify(l)&&(i.styleObj=l,a.setStyle(l.style),i.traceHash={},s.push(new Promise(function(u){a.once(\"styledata\",u)}))),s=s.concat(QHe.fetchTraceGeoData(e)),Promise.all(s).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Sh.fillBelowLookup=function(e,t){var r=t[this.id],n=r.layers,i,a,o=this.belowLookup={},s=!1;for(i=0;i<e.length;i++){var l=e[i][0].trace,u=l._module;typeof l.below==\"string\"?a=l.below:u.getBelow&&(a=u.getBelow(l,this)),a===\"\"&&(s=!0),o[\"trace-\"+l.uid]=a||\"\"}for(i=0;i<n.length;i++){var c=n[i];typeof c.below==\"string\"?a=c.below:s?a=\"traces\":a=\"\",o[\"layout-\"+i]=a}var f={},h,d;for(h in o)a=o[h],f[a]?f[a].push(h):f[a]=[h];for(a in f){var v=f[a];if(v.length>1)for(i=0;i<v.length;i++)h=v[i],h.indexOf(\"trace-\")===0?(d=h.split(\"trace-\")[1],this.traceHash[d]&&(this.traceHash[d].below=null)):h.indexOf(\"layout-\")===0&&(d=h.split(\"layout-\")[1],this.layerList[d]&&(this.layerList[d].below=null))}};var $He={choroplethmap:0,densitymap:1,scattermap:2};Sh.updateData=function(e){var t=this.traceHash,r,n,i,a,o=e.slice().sort(function(f,h){return $He[f[0].trace.type]-$He[h[0].trace.type]});for(i=0;i<o.length;i++){var s=o[i];n=s[0].trace,r=t[n.uid];var l=!1;r&&(r.type===n.type?(r.update(s),l=!0):r.dispose()),!l&&n._module&&(t[n.uid]=n._module.plot(this,s))}var u=Object.keys(t);e:for(i=0;i<u.length;i++){var c=u[i];for(a=0;a<e.length;a++)if(n=e[a][0].trace,c===n.uid)continue e;r=t[c],r.dispose(),delete t[c]}};Sh.updateLayout=function(e){var t=this.map,r=e[this.id];!this.dragging&&!this.wheeling&&(t.setCenter(_J(r.center)),t.setZoom(r.zoom),t.setBearing(r.bearing),t.setPitch(r.pitch)),this.updateLayers(e),this.updateFramework(e),this.updateFx(e),this.map.resize(),this.gd._context._scrollZoom.map?t.scrollZoom.enable():t.scrollZoom.disable()};Sh.resolveOnRender=function(e){var t=this.map;t.on(\"render\",function r(){t.loaded()&&(t.off(\"render\",r),setTimeout(e,10))})};Sh.rejectOnError=function(e){var t=this.map;function r(){e(new Error(nw.mapOnErrorMsg))}t.once(\"error\",r),t.once(\"style.error\",r),t.once(\"source.error\",r),t.once(\"tile.error\",r),t.once(\"layer.error\",r)};Sh.createFramework=function(e){var t=this,r=t.div=document.createElement(\"div\");r.id=t.uid,r.style.position=\"absolute\",t.container.appendChild(r),t.xaxis={_id:\"x\",c2p:function(n){return t.project(n).x}},t.yaxis={_id:\"y\",c2p:function(n){return t.project(n).y}},t.updateFramework(e),t.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},_jt.setConvert(t.mockAxis,e)};Sh.initFx=function(e,t){var r=this,n=r.gd,i=r.map;i.on(\"moveend\",function(s){if(r.map){var l=n._fullLayout;if(s.originalEvent||r.wheeling){var u=l[r.id];JHe.call(\"_storeDirectGUIEdit\",n.layout,l._preGUI,r.getViewEdits(u));var c=r.getView();u._input.center=u.center=c.center,u._input.zoom=u.zoom=c.zoom,u._input.bearing=u.bearing=c.bearing,u._input.pitch=u.pitch=c.pitch,n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(c))}s.originalEvent&&s.originalEvent.type===\"mouseup\"?r.dragging=!1:r.wheeling&&(r.wheeling=!1),l&&l._rehover&&l._rehover()}}),i.on(\"wheel\",function(){r.wheeling=!0}),i.on(\"mousemove\",function(s){var l=r.div.getBoundingClientRect(),u=[s.originalEvent.offsetX,s.originalEvent.offsetY];s.target.getBoundingClientRect=function(){return l},r.xaxis.p2c=function(){return i.unproject(u).lng},r.yaxis.p2c=function(){return i.unproject(u).lat},n._fullLayout._rehover=function(){n._fullLayout._hoversubplot===r.id&&n._fullLayout[r.id]&&a7.hover(n,s,r.id)},a7.hover(n,s,r.id),n._fullLayout._hoversubplot=r.id});function a(){a7.loneUnhover(t._hoverlayer)}i.on(\"dragstart\",function(){r.dragging=!0,a()}),i.on(\"zoomstart\",a),i.on(\"mouseout\",function(){n._fullLayout._hoversubplot=null});function o(){var s=r.getView();n.emit(\"plotly_relayouting\",r.getViewEditsWithDerived(s))}i.on(\"drag\",o),i.on(\"zoom\",o),i.on(\"dblclick\",function(){var s=n._fullLayout[r.id];JHe.call(\"_storeDirectGUIEdit\",n.layout,n._fullLayout._preGUI,r.getViewEdits(s));var l=r.viewInitial;i.setCenter(_J(l.center)),i.setZoom(l.zoom),i.setBearing(l.bearing),i.setPitch(l.pitch);var u=r.getView();s._input.center=s.center=u.center,s._input.zoom=s.zoom=u.zoom,s._input.bearing=s.bearing=u.bearing,s._input.pitch=s.pitch=u.pitch,n.emit(\"plotly_doubleclick\",null),n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(u))}),r.clearOutline=function(){Sjt(r.dragOptions),Ajt(r.dragOptions.gd)},r.onClickInPanFn=function(s){return function(l){var u=n._fullLayout.clickmode;u.indexOf(\"select\")>-1&&Mjt(l.originalEvent,n,[r.xaxis],[r.yaxis],r.id,s),u.indexOf(\"event\")>-1&&a7.click(n,l.originalEvent)}}};Sh.updateFx=function(e){var t=this,r=t.map,n=t.gd;if(t.isStatic)return;function i(l){var u=t.map.unproject(l);return[u.lng,u.lat]}var a=e.dragmode,o;o=function(l,u){if(u.isRect){var c=l.range={};c[t.id]=[i([u.xmin,u.ymin]),i([u.xmax,u.ymax])]}else{var f=l.lassoPoints={};f[t.id]=u.map(i)}};var s=t.dragOptions;t.dragOptions=yJ.extendDeep(s||{},{dragmode:e.dragmode,element:t.div,gd:n,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:o},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off(\"click\",t.onClickInPanHandler),wjt(a)||bjt(a)?(r.dragPan.disable(),r.on(\"zoomstart\",t.clearOutline),t.dragOptions.prepFn=function(l,u,c){Tjt(l,u,c,t.dragOptions,a)},xjt.init(t.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener(\"touchstart\",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on(\"click\",t.onClickInPanHandler))};Sh.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+\"px\",n.height=r.h*(t.y[1]-t.y[0])+\"px\",n.left=r.l+t.x[0]*r.w+\"px\",n.top=r.t+(1-t.y[1])*r.h+\"px\",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])};Sh.updateLayers=function(e){var t=e[this.id],r=t.layers,n=this.layerList,i;if(r.length!==n.length){for(i=0;i<n.length;i++)n[i].dispose();for(n=this.layerList=[],i=0;i<r.length;i++)n.push(Ejt(this,i,r[i]))}else for(i=0;i<r.length;i++)n[i].update(r[i])};Sh.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))};Sh.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()};Sh.setOptions=function(e,t,r){for(var n in r)this.map[t](e,n,r[n])};Sh.getMapLayers=function(){return this.map.getStyle().layers};Sh.addLayer=function(e,t){var r=this.map;if(typeof t==\"string\"){if(t===\"\"){r.addLayer(e,t);return}for(var n=this.getMapLayers(),i=0;i<n.length;i++)if(t===n[i].id){r.addLayer(e,t);return}yJ.warn([\"Trying to add layer with *below* value\",t,\"referencing a layer that does not exist\",\"or that does not yet exist.\"].join(\" \"))}r.addLayer(e)};Sh.project=function(e){return this.map.project(new mJ.LngLat(e[0],e[1]))};Sh.getView=function(){var e=this.map,t=e.getCenter(),r=t.lng,n=t.lat,i={lon:r,lat:n},a=e.getCanvas(),o=parseInt(a.style.width),s=parseInt(a.style.height);return{center:i,zoom:e.getZoom(),bearing:e.getBearing(),pitch:e.getPitch(),_derived:{coordinates:[e.unproject([0,0]).toArray(),e.unproject([o,0]).toArray(),e.unproject([o,s]).toArray(),e.unproject([0,s]).toArray()]}}};Sh.getViewEdits=function(e){for(var t=this.id,r=[\"center\",\"zoom\",\"bearing\",\"pitch\"],n={},i=0;i<r.length;i++){var a=r[i];n[t+\".\"+a]=e[a]}return n};Sh.getViewEditsWithDerived=function(e){var t=this.id,r=this.getViewEdits(e);return r[t+\"._derived\"]=e._derived,r};function rGe(e){var t={};return yJ.isPlainObject(e)?(t.id=e.id,t.style=e):typeof e==\"string\"?(t.id=e,nw.stylesMap[e]?t.style=nw.stylesMap[e]:t.style=e):(t.id=nw.styleValueDflt,t.style=kjt(nw.styleValueDflt)),t.transition={duration:0,delay:0},t}function kjt(e){return nw.styleUrlPrefix+e+\"-\"+nw.styleUrlSuffix}function _J(e){return[e.lon,e.lat]}iGe.exports=tGe});var sGe=ye((Y1r,oGe)=>{\"use strict\";var xJ=Mr(),Cjt=C_(),Ljt=Zd(),aGe=Ok();oGe.exports=function(t,r,n){Cjt(t,r,n,{type:\"map\",attributes:aGe,handleDefaults:Pjt,partition:\"y\"})};function Pjt(e,t,r){r(\"style\"),r(\"center.lon\"),r(\"center.lat\"),r(\"zoom\"),r(\"bearing\"),r(\"pitch\");var n=r(\"bounds.west\"),i=r(\"bounds.east\"),a=r(\"bounds.south\"),o=r(\"bounds.north\");(n===void 0||i===void 0||a===void 0||o===void 0)&&delete t.bounds,Ljt(e,t,{name:\"layers\",handleItemDefaults:Ijt}),t._input=e}function Ijt(e,t){function r(l,u){return xJ.coerce(e,t,aGe.layers,l,u)}var n=r(\"visible\");if(n){var i=r(\"sourcetype\"),a=i===\"raster\"||i===\"image\";r(\"source\"),r(\"sourceattribution\"),i===\"vector\"&&r(\"sourcelayer\"),i===\"image\"&&r(\"coordinates\");var o;a&&(o=\"raster\");var s=r(\"type\",o);a&&s!==\"raster\"&&(s=t.type=\"raster\",xJ.log(\"Source types *raster* and *image* must drawn *raster* layer type.\")),r(\"below\"),r(\"color\"),r(\"opacity\"),r(\"minzoom\"),r(\"maxzoom\"),s===\"circle\"&&r(\"circle.radius\"),s===\"line\"&&(r(\"line.width\"),r(\"line.dash\")),s===\"fill\"&&r(\"fill.outlinecolor\"),s===\"symbol\"&&(r(\"symbol.icon\"),r(\"symbol.iconsize\"),r(\"symbol.text\"),xJ.coerceFont(r,\"symbol.textfont\",void 0,{noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}),r(\"symbol.textposition\"),r(\"symbol.placement\"))}}});var s7=ye(l0=>{\"use strict\";var o7=Mr(),lGe=o7.strTranslate,Rjt=o7.strScale,Djt=kd().getSubplotCalcData,zjt=Zp(),Fjt=xa(),uGe=ao(),qjt=Pl(),Ojt=nGe(),Tx=\"map\";l0.name=Tx;l0.attr=\"subplot\";l0.idRoot=Tx;l0.idRegex=l0.attrRegex=o7.counterRegex(Tx);l0.attributes={subplot:{valType:\"subplotid\",dflt:\"map\",editType:\"calc\"}};l0.layoutAttributes=Ok();l0.supplyLayoutDefaults=sGe();l0.plot=function(t){for(var r=t._fullLayout,n=t.calcdata,i=r._subplots[Tx],a=0;a<i.length;a++){var o=i[a],s=Djt(n,Tx,o),l=r[o],u=l._subplot;u||(u=new Ojt(t,o),r[o]._subplot=u),u.viewInitial||(u.viewInitial={center:o7.extendFlat({},l.center),zoom:l.zoom,bearing:l.bearing,pitch:l.pitch}),u.plot(s,r,t._promises)}};l0.clean=function(e,t,r,n){for(var i=n._subplots[Tx]||[],a=0;a<i.length;a++){var o=i[a];!t[o]&&n[o]._subplot&&n[o]._subplot.destroy()}};l0.toSVG=function(e){for(var t=e._fullLayout,r=t._subplots[Tx],n=t._size,i=0;i<r.length;i++){var a=t[r[i]],o=a.domain,s=a._subplot,l=s.toImage(\"png\"),u=t._glimages.append(\"svg:image\");u.attr({xmlns:zjt.svg,\"xlink:href\":l,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"});var c=Fjt.select(a._subplot.div),f=c.select(\".maplibregl-ctrl-attrib\").text().replace(\"Improve this map\",\"\"),h=t._glimages.append(\"g\"),d=h.append(\"text\");d.text(f).classed(\"static-attribution\",!0).attr({\"font-size\":12,\"font-family\":\"Arial\",color:\"rgba(0, 0, 0, 0.75)\",\"text-anchor\":\"end\",\"data-unformatted\":f});var v=uGe.bBox(d.node()),x=n.w*(o.x[1]-o.x[0]);if(v.width>x/2){var b=f.split(\"|\").join(\"<br>\");d.text(b).attr(\"data-unformatted\",b).call(qjt.convertToTspans,e),v=uGe.bBox(d.node())}d.attr(\"transform\",lGe(-3,-v.height+8)),h.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 p=1;v.width+6>x&&(p=x/(v.width+6));var E=[n.l+n.w*o.x[1],n.t+n.h*(1-o.y[0])];h.attr(\"transform\",lGe(E[0],E[1])+Rjt(p))}};l0.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[Tx],n=0;n<r.length;n++){var i=t[r[n]]._subplot;i.updateFx(t)}}});var fGe=ye((J1r,cGe)=>{\"use strict\";cGe.exports={attributes:$F(),supplyDefaults:THe(),colorbar:Kd(),formatLabels:cJ(),calc:lz(),plot:qHe(),hoverPoints:i7().hoverPoints,eventData:UHe(),selectPoints:HHe(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.update(t)}},moduleType:\"trace\",name:\"scattermap\",basePlotModule:s7(),categories:[\"map\",\"gl\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var dGe=ye(($1r,hGe)=>{\"use strict\";hGe.exports=fGe()});var bJ=ye((Q1r,vGe)=>{\"use strict\";var d1=K5(),Bjt=Jl(),Njt=Wo().hovertemplateAttrs,Ujt=vl(),Ax=no().extendFlat;vGe.exports=Ax({locations:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:Ax({},d1.featureidkey,{}),below:{valType:\"string\",editType:\"plot\"},text:d1.text,hovertext:d1.hovertext,marker:{line:{color:Ax({},d1.marker.line.color,{editType:\"plot\"}),width:Ax({},d1.marker.line.width,{editType:\"plot\"}),editType:\"calc\"},opacity:Ax({},d1.marker.opacity,{editType:\"plot\"}),editType:\"calc\"},selected:{marker:{opacity:Ax({},d1.selected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:Ax({},d1.unselected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},hoverinfo:d1.hoverinfo,hovertemplate:Njt({},{keys:[\"properties\"]}),showlegend:Ax({},Ujt.showlegend,{dflt:!1})},Bjt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var gGe=ye((e_r,pGe)=>{\"use strict\";var Vk=Mr(),Vjt=Uh(),Hjt=bJ();pGe.exports=function(t,r,n,i){function a(c,f){return Vk.coerce(t,r,Hjt,c,f)}var o=a(\"locations\"),s=a(\"z\"),l=a(\"geojson\");if(!Vk.isArrayOrTypedArray(o)||!o.length||!Vk.isArrayOrTypedArray(s)||!s.length||!(typeof l==\"string\"&&l!==\"\"||Vk.isPlainObject(l))){r.visible=!1;return}a(\"featureidkey\"),r._length=Math.min(o.length,s.length),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\");var u=a(\"marker.line.width\");u&&a(\"marker.line.color\"),a(\"marker.opacity\"),Vjt(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),Vk.coerceSelectionMarkerOpacity(r,a)}});var wJ=ye((t_r,_Ge)=>{\"use strict\";var Gjt=uo(),v1=Mr(),jjt=Mu(),Wjt=ao(),Zjt=rx().makeBlank,mGe=nx();function Xjt(e){var t=e[0].trace,r=t.visible===!0&&t._length!==0,n={layout:{visibility:\"none\"},paint:{}},i={layout:{visibility:\"none\"},paint:{}},a=t._opts={fill:n,line:i,geojson:Zjt()};if(!r)return a;var o=mGe.extractTraceFeature(e);if(!o)return a;var s=jjt.makeColorScaleFuncFromTrace(t),l=t.marker,u=l.line||{},c;v1.isArrayOrTypedArray(l.opacity)&&(c=function(E){var k=E.mo;return Gjt(k)?+v1.constrain(k,0,1):0});var f;v1.isArrayOrTypedArray(u.color)&&(f=function(E){return E.mlc});var h;v1.isArrayOrTypedArray(u.width)&&(h=function(E){return E.mlw});for(var d=0;d<e.length;d++){var v=e[d],x=v.fOut;if(x){var b=x.properties;b.fc=s(v.z),c&&(b.mo=c(v)),f&&(b.mlc=f(v)),h&&(b.mlw=h(v)),v.ct=b.ct,v._polygons=mGe.feature2polygons(x)}}var p=c?{type:\"identity\",property:\"mo\"}:l.opacity;return v1.extendFlat(n.paint,{\"fill-color\":{type:\"identity\",property:\"fc\"},\"fill-opacity\":p}),v1.extendFlat(i.paint,{\"line-color\":f?{type:\"identity\",property:\"mlc\"}:u.color,\"line-width\":h?{type:\"identity\",property:\"mlw\"}:u.width,\"line-opacity\":p}),n.layout.visibility=\"visible\",i.layout.visibility=\"visible\",a.geojson={type:\"FeatureCollection\",features:o},yGe(e),a}function yGe(e){var t=e[0].trace,r=t._opts,n;if(t.selectedpoints){for(var i=Wjt.makeSelectedPointStyleFns(t),a=0;a<e.length;a++){var o=e[a];o.fOut&&(o.fOut.properties.mo2=i.selectedOpacityFn(o))}n={type:\"identity\",property:\"mo2\"}}else n=v1.isArrayOrTypedArray(t.marker.opacity)?{type:\"identity\",property:\"mo\"}:t.marker.opacity;return v1.extendFlat(r.fill.paint,{\"fill-opacity\":n}),v1.extendFlat(r.line.paint,{\"line-opacity\":n}),r}_Ge.exports={convert:Xjt,convertOnSelect:yGe}});var AGe=ye((r_r,TGe)=>{\"use strict\";var bGe=wJ().convert,Yjt=wJ().convertOnSelect,xGe=wx().traceLayerPrefix;function wGe(e,t){this.type=\"choroplethmap\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"fill\",xGe+t+\"-fill\"],[\"line\",xGe+t+\"-line\"]],this.below=null}var MA=wGe.prototype;MA.update=function(e){this._update(bGe(e)),e[0].trace._glTrace=this};MA.updateOnSelect=function(e){this._update(Yjt(e))};MA._update=function(e){var t=this.subplot,r=this.layerList,n=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(e.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(e,n),this.below=n);for(var i=0;i<r.length;i++){var a=r[i],o=a[0],s=a[1],l=e[o];t.setOptions(s,\"setLayoutProperty\",l.layout),l.layout.visibility===\"visible\"&&t.setOptions(s,\"setPaintProperty\",l.paint)}};MA._addLayers=function(e,t){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=e[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},t)}};MA._removeLayers=function(){for(var e=this.subplot.map,t=this.layerList,r=t.length-1;r>=0;r--)e.removeLayer(t[r][1])};MA.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};TGe.exports=function(t,r){var n=r[0].trace,i=new wGe(t,n.uid),a=i.sourceId,o=bGe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),r[0].trace._glTrace=i,i}});var MGe=ye((i_r,SGe)=>{\"use strict\";SGe.exports={attributes:bJ(),supplyDefaults:gGe(),colorbar:M_(),calc:Lz(),plot:AGe(),hoverPoints:Iz(),eventData:Rz(),selectPoints:Dz(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.updateOnSelect(t)}},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if(typeof i==\"string\"&&i.indexOf(\"water\")===0){for(var a=n+1;a<r.length;a++)if(i=r[a].id,typeof i==\"string\"&&i.indexOf(\"plotly-\")===-1)return i}}},moduleType:\"trace\",name:\"choroplethmap\",basePlotModule:s7(),categories:[\"map\",\"gl\",\"noOpacity\",\"showLegend\"],meta:{hr_name:\"choropleth_map\"}}});var kGe=ye((n_r,EGe)=>{\"use strict\";EGe.exports=MGe()});var AJ=ye((a_r,LGe)=>{\"use strict\";var Kjt=Jl(),Jjt=Wo().hovertemplateAttrs,CGe=vl(),l7=$F(),TJ=no().extendFlat;LGe.exports=TJ({lon:l7.lon,lat:l7.lat,z:{valType:\"data_array\",editType:\"calc\"},radius:{valType:\"number\",editType:\"plot\",arrayOk:!0,min:1,dflt:30},below:{valType:\"string\",editType:\"plot\"},text:l7.text,hovertext:l7.hovertext,hoverinfo:TJ({},CGe.hoverinfo,{flags:[\"lon\",\"lat\",\"z\",\"text\",\"name\"]}),hovertemplate:Jjt(),showlegend:TJ({},CGe.showlegend,{dflt:!1})},Kjt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var IGe=ye((o_r,PGe)=>{\"use strict\";var $jt=Mr(),Qjt=Uh(),eWt=AJ();PGe.exports=function(t,r,n,i){function a(u,c){return $jt.coerce(t,r,eWt,u,c)}var o=a(\"lon\")||[],s=a(\"lat\")||[],l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a(\"z\"),a(\"radius\"),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),Qjt(t,r,i,a,{prefix:\"\",cLetter:\"z\"})}});var zGe=ye((s_r,DGe)=>{\"use strict\";var SJ=uo(),tWt=Mr().isArrayOrTypedArray,MJ=es().BADNUM,rWt=zv(),RGe=Mr()._;DGe.exports=function(t,r){for(var n=r._length,i=new Array(n),a=r.z,o=tWt(a)&&a.length,s=0;s<n;s++){var l=i[s]={},u=r.lon[s],c=r.lat[s];if(l.lonlat=SJ(u)&&SJ(c)?[+u,+c]:[MJ,MJ],o){var f=a[s];l.z=SJ(f)?f:MJ}}return rWt(t,r,{vals:o?a:[0,1],containerStr:\"\",cLetter:\"z\"}),n&&(i[0].t={labels:{lat:RGe(t,\"lat:\")+\" \",lon:RGe(t,\"lon:\")+\" \"}}),i}});var NGe=ye((l_r,BGe)=>{\"use strict\";var iWt=uo(),EJ=Mr(),FGe=va(),qGe=Mu(),OGe=es().BADNUM,nWt=rx().makeBlank;BGe.exports=function(t){var r=t[0].trace,n=r.visible===!0&&r._length!==0,i={layout:{visibility:\"none\"},paint:{}},a=r._opts={heatmap:i,geojson:nWt()};if(!n)return a;var o=[],s,l=r.z,u=r.radius,c=EJ.isArrayOrTypedArray(l)&&l.length,f=EJ.isArrayOrTypedArray(u);for(s=0;s<t.length;s++){var h=t[s],d=h.lonlat;if(d[0]!==OGe){var v={};if(c){var x=h.z;v.z=x!==OGe?x:0}f&&(v.r=iWt(u[s])&&u[s]>0?+u[s]:0),o.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:d},properties:v})}}var b=qGe.extractOpts(r),p=b.reversescale?qGe.flipScale(b.colorscale):b.colorscale,E=p[0][1],k=FGe.opacity(E)<1?E:FGe.addOpacity(E,0),A=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,k];for(s=1;s<p.length;s++)A.push(p[s][0],p[s][1]);var L=[\"interpolate\",[\"linear\"],[\"get\",\"z\"],b.min,0,b.max,1];return EJ.extendFlat(a.heatmap.paint,{\"heatmap-weight\":c?L:1/(b.max-b.min),\"heatmap-color\":A,\"heatmap-radius\":f?{type:\"identity\",property:\"r\"}:r.radius,\"heatmap-opacity\":r.opacity}),a.geojson={type:\"FeatureCollection\",features:o},a.heatmap.layout.visibility=\"visible\",a}});var GGe=ye((u_r,HGe)=>{\"use strict\";var UGe=NGe(),aWt=wx().traceLayerPrefix;function VGe(e,t){this.type=\"densitymap\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"heatmap\",aWt+t+\"-heatmap\"]],this.below=null}var u7=VGe.prototype;u7.update=function(e){var t=this.subplot,r=this.layerList,n=UGe(e),i=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(n.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(n,i),this.below=i);for(var a=0;a<r.length;a++){var o=r[a],s=o[0],l=o[1],u=n[s];t.setOptions(l,\"setLayoutProperty\",u.layout),u.layout.visibility===\"visible\"&&t.setOptions(l,\"setPaintProperty\",u.paint)}};u7._addLayers=function(e,t){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=e[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},t)}};u7._removeLayers=function(){for(var e=this.subplot.map,t=this.layerList,r=t.length-1;r>=0;r--)e.removeLayer(t[r][1])};u7.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};HGe.exports=function(t,r){var n=r[0].trace,i=new VGe(t,n.uid),a=i.sourceId,o=UGe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),i}});var WGe=ye((c_r,jGe)=>{\"use strict\";var oWt=Qa(),sWt=i7().hoverPoints,lWt=i7().getExtraText;jGe.exports=function(t,r,n){var i=sWt(t,r,n);if(i){var a=i[0],o=a.cd,s=o[0].trace,l=o[a.index];if(delete a.color,\"z\"in l){var u=a.subplot.mockAxis;a.z=l.z,a.zLabel=oWt.tickText(u,u.c2l(l.z),\"hover\").text}return a.extraText=lWt(s,l,o[0].t.labels),[a]}}});var XGe=ye((f_r,ZGe)=>{\"use strict\";ZGe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t.z=r.z,t}});var KGe=ye((h_r,YGe)=>{\"use strict\";YGe.exports={attributes:AJ(),supplyDefaults:IGe(),colorbar:M_(),formatLabels:cJ(),calc:zGe(),plot:GGe(),hoverPoints:WGe(),eventData:XGe(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n<r.length;n++){var i=r[n],a=i.id;if(i.type===\"symbol\"&&typeof a==\"string\"&&a.indexOf(\"plotly-\")===-1)return a}},moduleType:\"trace\",name:\"densitymap\",basePlotModule:s7(),categories:[\"map\",\"gl\",\"showLegend\"],meta:{hr_name:\"density_map\"}}});var $Ge=ye((d_r,JGe)=>{\"use strict\";JGe.exports=KGe()});var CJ=ye((p_r,rje)=>{\"use strict\";var uWt=Su(),cWt=vl(),QGe=dh(),kJ=i3(),fWt=Ju().attributes,eje=Wo().hovertemplateAttrs,hWt=Jl(),dWt=Vs().templatedArray,vWt=Oc().descriptionOnlyNumbers,tje=no().extendFlat,pWt=Bu().overrideAll,v_r=rje.exports=pWt({hoverinfo:tje({},cWt.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:kJ.hoverlabel,domain:fWt({name:\"sankey\",trace:!0}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\"},valueformat:{valType:\"string\",dflt:\".3s\",description:vWt(\"value\")},valuesuffix:{valType:\"string\",dflt:\"\"},arrangement:{valType:\"enumerated\",values:[\"snap\",\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"snap\"},textfont:uWt({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:QGe.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:kJ.hoverlabel,hovertemplate:eje({},{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:QGe.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:kJ.hoverlabel,hovertemplate:eje({},{keys:[\"value\",\"label\"]}),colorscales:dWt(\"concentrationscales\",{editType:\"calc\",label:{valType:\"string\",editType:\"calc\",dflt:\"\"},cmax:{valType:\"number\",editType:\"calc\",dflt:1},cmin:{valType:\"number\",editType:\"calc\",dflt:0},colorscale:tje(hWt().colorscale,{dflt:[[0,\"white\"],[1,\"black\"]]})})}},\"calc\",\"nested\")});var sje=ye((g_r,oje)=>{\"use strict\";var EA=Mr(),c7=CJ(),gWt=va(),ije=id(),mWt=Ju().defaults,nje=oM(),aje=Vs(),yWt=Zd();oje.exports=function(t,r,n,i){function a(A,L){return EA.coerce(t,r,c7,A,L)}var o=EA.extendDeep(i.hoverlabel,t.hoverlabel),s=t.node,l=aje.newContainer(r,\"node\");function u(A,L){return EA.coerce(s,l,c7.node,A,L)}u(\"label\"),u(\"groups\"),u(\"x\"),u(\"y\"),u(\"pad\"),u(\"thickness\"),u(\"line.color\"),u(\"line.width\"),u(\"hoverinfo\",t.hoverinfo),nje(s,l,u,o),u(\"hovertemplate\"),u(\"align\");var c=i.colorway,f=function(A){return c[A%c.length]};u(\"color\",l.label.map(function(A,L){return gWt.addOpacity(f(L),.8)})),u(\"customdata\");var h=t.link||{},d=aje.newContainer(r,\"link\");function v(A,L){return EA.coerce(h,d,c7.link,A,L)}v(\"label\"),v(\"arrowlen\"),v(\"source\"),v(\"target\"),v(\"value\"),v(\"line.color\"),v(\"line.width\"),v(\"hoverinfo\",t.hoverinfo),nje(h,d,v,o),v(\"hovertemplate\");var x=ije(i.paper_bgcolor).getLuminance()<.333,b=x?\"rgba(255, 255, 255, 0.6)\":\"rgba(0, 0, 0, 0.2)\",p=v(\"color\",b);function E(A){var L=ije(A);if(!L.isValid())return A;var _=L.getAlpha();return _<=.8?L.setAlpha(_+.2):L=x?L.brighten():L.darken(),L.toRgbString()}v(\"hovercolor\",Array.isArray(p)?p.map(E):E(p)),v(\"customdata\"),yWt(h,d,{name:\"colorscales\",handleItemDefaults:_Wt}),mWt(r,i,a),a(\"orientation\"),a(\"valueformat\"),a(\"valuesuffix\");var k;l.x.length&&l.y.length&&(k=\"freeform\"),a(\"arrangement\",k),EA.coerceFont(a,\"textfont\",i.font,{autoShadowDflt:!0}),r._length=null};function _Wt(e,t){function r(n,i){return EA.coerce(e,t,c7.link.colorscales,n,i)}r(\"label\"),r(\"cmin\"),r(\"cmax\"),r(\"colorscale\")}});var LJ=ye((m_r,lje)=>{\"use strict\";lje.exports=xWt;function xWt(e){for(var t=e.length,r=new Array(t),n=new Array(t),i=new Array(t),a=new Array(t),o=new Array(t),s=new Array(t),l=0;l<t;++l)r[l]=-1,n[l]=0,i[l]=!1,a[l]=0,o[l]=-1,s[l]=[];var u=0,c=[],f=[];function h(b){var p=[b],E=[b];for(r[b]=n[b]=u,i[b]=!0,u+=1;E.length>0;){b=E[E.length-1];var k=e[b];if(a[b]<k.length){for(var A=a[b];A<k.length;++A){var L=k[A];if(r[L]<0){r[L]=n[L]=u,i[L]=!0,u+=1,p.push(L),E.push(L);break}else i[L]&&(n[b]=Math.min(n[b],n[L])|0);o[L]>=0&&s[b].push(o[L])}a[b]=A}else{if(n[b]===r[b]){for(var _=[],C=[],M=0,A=p.length-1;A>=0;--A){var g=p[A];if(i[g]=!1,_.push(g),C.push(s[g]),M+=s[g].length,o[g]=c.length,g===b){p.length=A;break}}c.push(_);for(var P=new Array(M),A=0;A<C.length;A++)for(var T=0;T<C[A].length;T++)P[--M]=C[A][T];f.push(P)}E.pop()}}}for(var l=0;l<t;++l)r[l]<0&&h(l);for(var d,l=0;l<f.length;l++){var v=f[l];if(v.length!==0){v.sort(function(p,E){return p-E}),d=[v[0]];for(var x=1;x<v.length;x++)v[x]!==v[x-1]&&d.push(v[x]);f[l]=d}}return{components:c,adjacencyList:f}}});var hje=ye((y_r,fje)=>{\"use strict\";var bWt=LJ(),kA=Mr(),wWt=Km().wrap,Hk=kA.isArrayOrTypedArray,uje=kA.isIndex,cje=Mu();function TWt(e){var t=e.node,r=e.link,n=[],i=Hk(r.color),a=Hk(r.hovercolor),o=Hk(r.customdata),s={},l={},u=r.colorscales.length,c;for(c=0;c<u;c++){var f=r.colorscales[c],h=cje.extractScale(f,{cLetter:\"c\"}),d=cje.makeColorScaleFunc(h);l[f.label]=d}var v=0;for(c=0;c<r.value.length;c++)r.source[c]>v&&(v=r.source[c]),r.target[c]>v&&(v=r.target[c]);var x=v+1;e.node._count=x;var b,p=e.node.groups,E={};for(c=0;c<p.length;c++){var k=p[c];for(b=0;b<k.length;b++){var A=k[b],L=x+c;E.hasOwnProperty(A)?kA.warn(\"Node \"+A+\" is already part of a group.\"):E[A]=L}}var _={source:[],target:[]};for(c=0;c<r.value.length;c++){var C=r.value[c],M=r.source[c],g=r.target[c];if(C>0&&uje(M,x)&&uje(g,x)&&!(E.hasOwnProperty(M)&&E.hasOwnProperty(g)&&E[M]===E[g])){E.hasOwnProperty(g)&&(g=E[g]),E.hasOwnProperty(M)&&(M=E[M]),M=+M,g=+g,s[M]=s[g]=!0;var P=\"\";r.label&&r.label[c]&&(P=r.label[c]);var T=null;P&&l.hasOwnProperty(P)&&(T=l[P]),n.push({pointNumber:c,label:P,color:i?r.color[c]:r.color,hovercolor:a?r.hovercolor[c]:r.hovercolor,customdata:o?r.customdata[c]:r.customdata,concentrationscale:T,source:M,target:g,value:+C}),_.source.push(M),_.target.push(g)}}var F=x+p.length,q=Hk(t.color),V=Hk(t.customdata),H=[];for(c=0;c<F;c++)if(s[c]){var X=t.label[c];H.push({group:c>x-1,childrenNodes:[],pointNumber:c,label:X,color:q?t.color[c]:t.color,customdata:V?t.customdata[c]:t.customdata})}var G=!1;return AWt(F,_.source,_.target)&&(G=!0),{circular:G,links:n,nodes:H,groups:p,groupLookup:E}}function AWt(e,t,r){for(var n=kA.init2dArray(e,0),i=0;i<Math.min(t.length,r.length);i++)if(kA.isIndex(t[i],e)&&kA.isIndex(r[i],e)){if(t[i]===r[i])return!0;n[t[i]].push(r[i])}var a=bWt(n);return a.components.some(function(o){return o.length>1})}fje.exports=function(t,r){var n=TWt(r);return wWt({circular:n.circular,_nodes:n.nodes,_links:n.links,_groups:n.groups,_groupLookup:n.groupLookup})}});var vje=ye((f7,dje)=>{(function(e,t){typeof f7==\"object\"&&typeof dje!=\"undefined\"?t(f7):(e=e||self,t(e.d3=e.d3||{}))})(f7,function(e){\"use strict\";function t(C){var M=+this._x.call(null,C),g=+this._y.call(null,C);return r(this.cover(M,g),M,g,C)}function r(C,M,g,P){if(isNaN(M)||isNaN(g))return C;var T,F=C._root,q={data:P},V=C._x0,H=C._y0,X=C._x1,G=C._y1,N,W,re,ae,_e,Me,ke,ge;if(!F)return C._root=q,C;for(;F.length;)if((_e=M>=(N=(V+X)/2))?V=N:X=N,(Me=g>=(W=(H+G)/2))?H=W:G=W,T=F,!(F=F[ke=Me<<1|_e]))return T[ke]=q,C;if(re=+C._x.call(null,F.data),ae=+C._y.call(null,F.data),M===re&&g===ae)return q.next=F,T?T[ke]=q:C._root=q,C;do T=T?T[ke]=new Array(4):C._root=new Array(4),(_e=M>=(N=(V+X)/2))?V=N:X=N,(Me=g>=(W=(H+G)/2))?H=W:G=W;while((ke=Me<<1|_e)===(ge=(ae>=W)<<1|re>=N));return T[ge]=F,T[ke]=q,C}function n(C){var M,g,P=C.length,T,F,q=new Array(P),V=new Array(P),H=1/0,X=1/0,G=-1/0,N=-1/0;for(g=0;g<P;++g)isNaN(T=+this._x.call(null,M=C[g]))||isNaN(F=+this._y.call(null,M))||(q[g]=T,V[g]=F,T<H&&(H=T),T>G&&(G=T),F<X&&(X=F),F>N&&(N=F));if(H>G||X>N)return this;for(this.cover(H,X).cover(G,N),g=0;g<P;++g)r(this,q[g],V[g],C[g]);return this}function i(C,M){if(isNaN(C=+C)||isNaN(M=+M))return this;var g=this._x0,P=this._y0,T=this._x1,F=this._y1;if(isNaN(g))T=(g=Math.floor(C))+1,F=(P=Math.floor(M))+1;else{for(var q=T-g,V=this._root,H,X;g>C||C>=T||P>M||M>=F;)switch(X=(M<P)<<1|C<g,H=new Array(4),H[X]=V,V=H,q*=2,X){case 0:T=g+q,F=P+q;break;case 1:g=T-q,F=P+q;break;case 2:T=g+q,P=F-q;break;case 3:g=T-q,P=F-q;break}this._root&&this._root.length&&(this._root=V)}return this._x0=g,this._y0=P,this._x1=T,this._y1=F,this}function a(){var C=[];return this.visit(function(M){if(!M.length)do C.push(M.data);while(M=M.next)}),C}function o(C){return arguments.length?this.cover(+C[0][0],+C[0][1]).cover(+C[1][0],+C[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function s(C,M,g,P,T){this.node=C,this.x0=M,this.y0=g,this.x1=P,this.y1=T}function l(C,M,g){var P,T=this._x0,F=this._y0,q,V,H,X,G=this._x1,N=this._y1,W=[],re=this._root,ae,_e;for(re&&W.push(new s(re,T,F,G,N)),g==null?g=1/0:(T=C-g,F=M-g,G=C+g,N=M+g,g*=g);ae=W.pop();)if(!(!(re=ae.node)||(q=ae.x0)>G||(V=ae.y0)>N||(H=ae.x1)<T||(X=ae.y1)<F))if(re.length){var Me=(q+H)/2,ke=(V+X)/2;W.push(new s(re[3],Me,ke,H,X),new s(re[2],q,ke,Me,X),new s(re[1],Me,V,H,ke),new s(re[0],q,V,Me,ke)),(_e=(M>=ke)<<1|C>=Me)&&(ae=W[W.length-1],W[W.length-1]=W[W.length-1-_e],W[W.length-1-_e]=ae)}else{var ge=C-+this._x.call(null,re.data),ie=M-+this._y.call(null,re.data),Te=ge*ge+ie*ie;if(Te<g){var Ee=Math.sqrt(g=Te);T=C-Ee,F=M-Ee,G=C+Ee,N=M+Ee,P=re.data}}return P}function u(C){if(isNaN(G=+this._x.call(null,C))||isNaN(N=+this._y.call(null,C)))return this;var M,g=this._root,P,T,F,q=this._x0,V=this._y0,H=this._x1,X=this._y1,G,N,W,re,ae,_e,Me,ke;if(!g)return this;if(g.length)for(;;){if((ae=G>=(W=(q+H)/2))?q=W:H=W,(_e=N>=(re=(V+X)/2))?V=re:X=re,M=g,!(g=g[Me=_e<<1|ae]))return this;if(!g.length)break;(M[Me+1&3]||M[Me+2&3]||M[Me+3&3])&&(P=M,ke=Me)}for(;g.data!==C;)if(T=g,!(g=g.next))return this;return(F=g.next)&&delete g.next,T?(F?T.next=F:delete T.next,this):M?(F?M[Me]=F:delete M[Me],(g=M[0]||M[1]||M[2]||M[3])&&g===(M[3]||M[2]||M[1]||M[0])&&!g.length&&(P?P[ke]=g:this._root=g),this):(this._root=F,this)}function c(C){for(var M=0,g=C.length;M<g;++M)this.remove(C[M]);return this}function f(){return this._root}function h(){var C=0;return this.visit(function(M){if(!M.length)do++C;while(M=M.next)}),C}function d(C){var M=[],g,P=this._root,T,F,q,V,H;for(P&&M.push(new s(P,this._x0,this._y0,this._x1,this._y1));g=M.pop();)if(!C(P=g.node,F=g.x0,q=g.y0,V=g.x1,H=g.y1)&&P.length){var X=(F+V)/2,G=(q+H)/2;(T=P[3])&&M.push(new s(T,X,G,V,H)),(T=P[2])&&M.push(new s(T,F,G,X,H)),(T=P[1])&&M.push(new s(T,X,q,V,G)),(T=P[0])&&M.push(new s(T,F,q,X,G))}return this}function v(C){var M=[],g=[],P;for(this._root&&M.push(new s(this._root,this._x0,this._y0,this._x1,this._y1));P=M.pop();){var T=P.node;if(T.length){var F,q=P.x0,V=P.y0,H=P.x1,X=P.y1,G=(q+H)/2,N=(V+X)/2;(F=T[0])&&M.push(new s(F,q,V,G,N)),(F=T[1])&&M.push(new s(F,G,V,H,N)),(F=T[2])&&M.push(new s(F,q,N,G,X)),(F=T[3])&&M.push(new s(F,G,N,H,X))}g.push(P)}for(;P=g.pop();)C(P.node,P.x0,P.y0,P.x1,P.y1);return this}function x(C){return C[0]}function b(C){return arguments.length?(this._x=C,this):this._x}function p(C){return C[1]}function E(C){return arguments.length?(this._y=C,this):this._y}function k(C,M,g){var P=new A(M==null?x:M,g==null?p:g,NaN,NaN,NaN,NaN);return C==null?P:P.addAll(C)}function A(C,M,g,P,T,F){this._x=C,this._y=M,this._x0=g,this._y0=P,this._x1=T,this._y1=F,this._root=void 0}function L(C){for(var M={data:C.data},g=M;C=C.next;)g=g.next={data:C.data};return M}var _=k.prototype=A.prototype;_.copy=function(){var C=new A(this._x,this._y,this._x0,this._y0,this._x1,this._y1),M=this._root,g,P;if(!M)return C;if(!M.length)return C._root=L(M),C;for(g=[{source:M,target:C._root=new Array(4)}];M=g.pop();)for(var T=0;T<4;++T)(P=M.source[T])&&(P.length?g.push({source:P,target:M.target[T]=new Array(4)}):M.target[T]=L(P));return C},_.add=t,_.addAll=n,_.cover=i,_.data=a,_.extent=o,_.find=l,_.remove=u,_.removeAll=c,_.root=f,_.size=h,_.visit=d,_.visitAfter=v,_.x=b,_.y=E,e.quadtree=k,Object.defineProperty(e,\"__esModule\",{value:!0})})});var d7=ye((h7,pje)=>{(function(e,t){t(typeof h7==\"object\"&&typeof pje!=\"undefined\"?h7:e.d3=e.d3||{})})(h7,function(e){\"use strict\";var t=\"$\";function r(){}r.prototype=n.prototype={constructor:r,has:function(x){return t+x in this},get:function(x){return this[t+x]},set:function(x,b){return this[t+x]=b,this},remove:function(x){var b=t+x;return b in this&&delete this[b]},clear:function(){for(var x in this)x[0]===t&&delete this[x]},keys:function(){var x=[];for(var b in this)b[0]===t&&x.push(b.slice(1));return x},values:function(){var x=[];for(var b in this)b[0]===t&&x.push(this[b]);return x},entries:function(){var x=[];for(var b in this)b[0]===t&&x.push({key:b.slice(1),value:this[b]});return x},size:function(){var x=0;for(var b in this)b[0]===t&&++x;return x},empty:function(){for(var x in this)if(x[0]===t)return!1;return!0},each:function(x){for(var b in this)b[0]===t&&x(this[b],b.slice(1),this)}};function n(x,b){var p=new r;if(x instanceof r)x.each(function(_,C){p.set(C,_)});else if(Array.isArray(x)){var E=-1,k=x.length,A;if(b==null)for(;++E<k;)p.set(E,x[E]);else for(;++E<k;)p.set(b(A=x[E],E,x),A)}else if(x)for(var L in x)p.set(L,x[L]);return p}function i(){var x=[],b=[],p,E,k;function A(_,C,M,g){if(C>=x.length)return p!=null&&_.sort(p),E!=null?E(_):_;for(var P=-1,T=_.length,F=x[C++],q,V,H=n(),X,G=M();++P<T;)(X=H.get(q=F(V=_[P])+\"\"))?X.push(V):H.set(q,[V]);return H.each(function(N,W){g(G,W,A(N,C,M,g))}),G}function L(_,C){if(++C>x.length)return _;var M,g=b[C-1];return E!=null&&C>=x.length?M=_.entries():(M=[],_.each(function(P,T){M.push({key:T,values:L(P,C)})})),g!=null?M.sort(function(P,T){return g(P.key,T.key)}):M}return k={object:function(_){return A(_,0,a,o)},map:function(_){return A(_,0,s,l)},entries:function(_){return L(A(_,0,s,l),0)},key:function(_){return x.push(_),k},sortKeys:function(_){return b[x.length-1]=_,k},sortValues:function(_){return p=_,k},rollup:function(_){return E=_,k}}}function a(){return{}}function o(x,b,p){x[b]=p}function s(){return n()}function l(x,b,p){x.set(b,p)}function u(){}var c=n.prototype;u.prototype=f.prototype={constructor:u,has:c.has,add:function(x){return x+=\"\",this[t+x]=x,this},remove:c.remove,clear:c.clear,values:c.keys,size:c.size,empty:c.empty,each:c.each};function f(x,b){var p=new u;if(x instanceof u)x.each(function(A){p.add(A)});else if(x){var E=-1,k=x.length;if(b==null)for(;++E<k;)p.add(x[E]);else for(;++E<k;)p.add(b(x[E],E,x))}return p}function h(x){var b=[];for(var p in x)b.push(p);return b}function d(x){var b=[];for(var p in x)b.push(x[p]);return b}function v(x){var b=[];for(var p in x)b.push({key:p,value:x[p]});return b}e.nest=i,e.set=f,e.map=n,e.keys=h,e.values=d,e.entries=v,Object.defineProperty(e,\"__esModule\",{value:!0})})});var mje=ye((v7,gje)=>{(function(e,t){typeof v7==\"object\"&&typeof gje!=\"undefined\"?t(v7):(e=e||self,t(e.d3=e.d3||{}))})(v7,function(e){\"use strict\";var t={value:function(){}};function r(){for(var s=0,l=arguments.length,u={},c;s<l;++s){if(!(c=arguments[s]+\"\")||c in u||/[\\s.]/.test(c))throw new Error(\"illegal type: \"+c);u[c]=[]}return new n(u)}function n(s){this._=s}function i(s,l){return s.trim().split(/^|\\s+/).map(function(u){var c=\"\",f=u.indexOf(\".\");if(f>=0&&(c=u.slice(f+1),u=u.slice(0,f)),u&&!l.hasOwnProperty(u))throw new Error(\"unknown type: \"+u);return{type:u,name:c}})}n.prototype=r.prototype={constructor:n,on:function(s,l){var u=this._,c=i(s+\"\",u),f,h=-1,d=c.length;if(arguments.length<2){for(;++h<d;)if((f=(s=c[h]).type)&&(f=a(u[f],s.name)))return f;return}if(l!=null&&typeof l!=\"function\")throw new Error(\"invalid callback: \"+l);for(;++h<d;)if(f=(s=c[h]).type)u[f]=o(u[f],s.name,l);else if(l==null)for(f in u)u[f]=o(u[f],s.name,null);return this},copy:function(){var s={},l=this._;for(var u in l)s[u]=l[u].slice();return new n(s)},call:function(s,l){if((f=arguments.length-2)>0)for(var u=new Array(f),c=0,f,h;c<f;++c)u[c]=arguments[c+2];if(!this._.hasOwnProperty(s))throw new Error(\"unknown type: \"+s);for(h=this._[s],c=0,f=h.length;c<f;++c)h[c].value.apply(l,u)},apply:function(s,l,u){if(!this._.hasOwnProperty(s))throw new Error(\"unknown type: \"+s);for(var c=this._[s],f=0,h=c.length;f<h;++f)c[f].value.apply(l,u)}};function a(s,l){for(var u=0,c=s.length,f;u<c;++u)if((f=s[u]).name===l)return f.value}function o(s,l,u){for(var c=0,f=s.length;c<f;++c)if(s[c].name===l){s[c]=t,s=s.slice(0,c).concat(s.slice(c+1));break}return u!=null&&s.push({name:l,value:u}),s}e.dispatch=r,Object.defineProperty(e,\"__esModule\",{value:!0})})});var _je=ye((p7,yje)=>{(function(e,t){typeof p7==\"object\"&&typeof yje!=\"undefined\"?t(p7):(e=e||self,t(e.d3=e.d3||{}))})(p7,function(e){\"use strict\";var t=0,r=0,n=0,i=1e3,a,o,s=0,l=0,u=0,c=typeof performance==\"object\"&&performance.now?performance:Date,f=typeof window==\"object\"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(C){setTimeout(C,17)};function h(){return l||(f(d),l=c.now()+u)}function d(){l=0}function v(){this._call=this._time=this._next=null}v.prototype=x.prototype={constructor:v,restart:function(C,M,g){if(typeof C!=\"function\")throw new TypeError(\"callback is not a function\");g=(g==null?h():+g)+(M==null?0:+M),!this._next&&o!==this&&(o?o._next=this:a=this,o=this),this._call=C,this._time=g,A()},stop:function(){this._call&&(this._call=null,this._time=1/0,A())}};function x(C,M,g){var P=new v;return P.restart(C,M,g),P}function b(){h(),++t;for(var C=a,M;C;)(M=l-C._time)>=0&&C._call.call(null,M),C=C._next;--t}function p(){l=(s=c.now())+u,t=r=0;try{b()}finally{t=0,k(),l=0}}function E(){var C=c.now(),M=C-s;M>i&&(u-=M,s=C)}function k(){for(var C,M=a,g,P=1/0;M;)M._call?(P>M._time&&(P=M._time),C=M,M=M._next):(g=M._next,M._next=null,M=C?C._next=g:a=g);o=C,A(P)}function A(C){if(!t){r&&(r=clearTimeout(r));var M=C-l;M>24?(C<1/0&&(r=setTimeout(p,C-c.now()-u)),n&&(n=clearInterval(n))):(n||(s=c.now(),n=setInterval(E,i)),t=1,f(p))}}function L(C,M,g){var P=new v;return M=M==null?0:+M,P.restart(function(T){P.stop(),C(T+M)},M,g),P}function _(C,M,g){var P=new v,T=M;return M==null?(P.restart(C,M,g),P):(M=+M,g=g==null?h():+g,P.restart(function F(q){q+=T,P.restart(F,T+=M,g),C(q)},M,g),P)}e.interval=_,e.now=h,e.timeout=L,e.timer=x,e.timerFlush=b,Object.defineProperty(e,\"__esModule\",{value:!0})})});var bje=ye((g7,xje)=>{(function(e,t){typeof g7==\"object\"&&typeof xje!=\"undefined\"?t(g7,vje(),d7(),mje(),_je()):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,e.d3)})(g7,function(e,t,r,n,i){\"use strict\";function a(C,M){var g;C==null&&(C=0),M==null&&(M=0);function P(){var T,F=g.length,q,V=0,H=0;for(T=0;T<F;++T)q=g[T],V+=q.x,H+=q.y;for(V=V/F-C,H=H/F-M,T=0;T<F;++T)q=g[T],q.x-=V,q.y-=H}return P.initialize=function(T){g=T},P.x=function(T){return arguments.length?(C=+T,P):C},P.y=function(T){return arguments.length?(M=+T,P):M},P}function o(C){return function(){return C}}function s(){return(Math.random()-.5)*1e-6}function l(C){return C.x+C.vx}function u(C){return C.y+C.vy}function c(C){var M,g,P=1,T=1;typeof C!=\"function\"&&(C=o(C==null?1:+C));function F(){for(var H,X=M.length,G,N,W,re,ae,_e,Me=0;Me<T;++Me)for(G=t.quadtree(M,l,u).visitAfter(q),H=0;H<X;++H)N=M[H],ae=g[N.index],_e=ae*ae,W=N.x+N.vx,re=N.y+N.vy,G.visit(ke);function ke(ge,ie,Te,Ee,Ae){var ze=ge.data,Ce=ge.r,me=ae+Ce;if(ze){if(ze.index>N.index){var Re=W-ze.x-ze.vx,ce=re-ze.y-ze.vy,Ge=Re*Re+ce*ce;Ge<me*me&&(Re===0&&(Re=s(),Ge+=Re*Re),ce===0&&(ce=s(),Ge+=ce*ce),Ge=(me-(Ge=Math.sqrt(Ge)))/Ge*P,N.vx+=(Re*=Ge)*(me=(Ce*=Ce)/(_e+Ce)),N.vy+=(ce*=Ge)*me,ze.vx-=Re*(me=1-me),ze.vy-=ce*me)}return}return ie>W+me||Ee<W-me||Te>re+me||Ae<re-me}}function q(H){if(H.data)return H.r=g[H.data.index];for(var X=H.r=0;X<4;++X)H[X]&&H[X].r>H.r&&(H.r=H[X].r)}function V(){if(M){var H,X=M.length,G;for(g=new Array(X),H=0;H<X;++H)G=M[H],g[G.index]=+C(G,H,M)}}return F.initialize=function(H){M=H,V()},F.iterations=function(H){return arguments.length?(T=+H,F):T},F.strength=function(H){return arguments.length?(P=+H,F):P},F.radius=function(H){return arguments.length?(C=typeof H==\"function\"?H:o(+H),V(),F):C},F}function f(C){return C.index}function h(C,M){var g=C.get(M);if(!g)throw new Error(\"missing: \"+M);return g}function d(C){var M=f,g=G,P,T=o(30),F,q,V,H,X=1;C==null&&(C=[]);function G(_e){return 1/Math.min(V[_e.source.index],V[_e.target.index])}function N(_e){for(var Me=0,ke=C.length;Me<X;++Me)for(var ge=0,ie,Te,Ee,Ae,ze,Ce,me;ge<ke;++ge)ie=C[ge],Te=ie.source,Ee=ie.target,Ae=Ee.x+Ee.vx-Te.x-Te.vx||s(),ze=Ee.y+Ee.vy-Te.y-Te.vy||s(),Ce=Math.sqrt(Ae*Ae+ze*ze),Ce=(Ce-F[ge])/Ce*_e*P[ge],Ae*=Ce,ze*=Ce,Ee.vx-=Ae*(me=H[ge]),Ee.vy-=ze*me,Te.vx+=Ae*(me=1-me),Te.vy+=ze*me}function W(){if(q){var _e,Me=q.length,ke=C.length,ge=r.map(q,M),ie;for(_e=0,V=new Array(Me);_e<ke;++_e)ie=C[_e],ie.index=_e,typeof ie.source!=\"object\"&&(ie.source=h(ge,ie.source)),typeof ie.target!=\"object\"&&(ie.target=h(ge,ie.target)),V[ie.source.index]=(V[ie.source.index]||0)+1,V[ie.target.index]=(V[ie.target.index]||0)+1;for(_e=0,H=new Array(ke);_e<ke;++_e)ie=C[_e],H[_e]=V[ie.source.index]/(V[ie.source.index]+V[ie.target.index]);P=new Array(ke),re(),F=new Array(ke),ae()}}function re(){if(q)for(var _e=0,Me=C.length;_e<Me;++_e)P[_e]=+g(C[_e],_e,C)}function ae(){if(q)for(var _e=0,Me=C.length;_e<Me;++_e)F[_e]=+T(C[_e],_e,C)}return N.initialize=function(_e){q=_e,W()},N.links=function(_e){return arguments.length?(C=_e,W(),N):C},N.id=function(_e){return arguments.length?(M=_e,N):M},N.iterations=function(_e){return arguments.length?(X=+_e,N):X},N.strength=function(_e){return arguments.length?(g=typeof _e==\"function\"?_e:o(+_e),re(),N):g},N.distance=function(_e){return arguments.length?(T=typeof _e==\"function\"?_e:o(+_e),ae(),N):T},N}function v(C){return C.x}function x(C){return C.y}var b=10,p=Math.PI*(3-Math.sqrt(5));function E(C){var M,g=1,P=.001,T=1-Math.pow(P,1/300),F=0,q=.6,V=r.map(),H=i.timer(G),X=n.dispatch(\"tick\",\"end\");C==null&&(C=[]);function G(){N(),X.call(\"tick\",M),g<P&&(H.stop(),X.call(\"end\",M))}function N(ae){var _e,Me=C.length,ke;ae===void 0&&(ae=1);for(var ge=0;ge<ae;++ge)for(g+=(F-g)*T,V.each(function(ie){ie(g)}),_e=0;_e<Me;++_e)ke=C[_e],ke.fx==null?ke.x+=ke.vx*=q:(ke.x=ke.fx,ke.vx=0),ke.fy==null?ke.y+=ke.vy*=q:(ke.y=ke.fy,ke.vy=0);return M}function W(){for(var ae=0,_e=C.length,Me;ae<_e;++ae){if(Me=C[ae],Me.index=ae,Me.fx!=null&&(Me.x=Me.fx),Me.fy!=null&&(Me.y=Me.fy),isNaN(Me.x)||isNaN(Me.y)){var ke=b*Math.sqrt(ae),ge=ae*p;Me.x=ke*Math.cos(ge),Me.y=ke*Math.sin(ge)}(isNaN(Me.vx)||isNaN(Me.vy))&&(Me.vx=Me.vy=0)}}function re(ae){return ae.initialize&&ae.initialize(C),ae}return W(),M={tick:N,restart:function(){return H.restart(G),M},stop:function(){return H.stop(),M},nodes:function(ae){return arguments.length?(C=ae,W(),V.each(re),M):C},alpha:function(ae){return arguments.length?(g=+ae,M):g},alphaMin:function(ae){return arguments.length?(P=+ae,M):P},alphaDecay:function(ae){return arguments.length?(T=+ae,M):+T},alphaTarget:function(ae){return arguments.length?(F=+ae,M):F},velocityDecay:function(ae){return arguments.length?(q=1-ae,M):1-q},force:function(ae,_e){return arguments.length>1?(_e==null?V.remove(ae):V.set(ae,re(_e)),M):V.get(ae)},find:function(ae,_e,Me){var ke=0,ge=C.length,ie,Te,Ee,Ae,ze;for(Me==null?Me=1/0:Me*=Me,ke=0;ke<ge;++ke)Ae=C[ke],ie=ae-Ae.x,Te=_e-Ae.y,Ee=ie*ie+Te*Te,Ee<Me&&(ze=Ae,Me=Ee);return ze},on:function(ae,_e){return arguments.length>1?(X.on(ae,_e),M):X.on(ae)}}}function k(){var C,M,g,P=o(-30),T,F=1,q=1/0,V=.81;function H(W){var re,ae=C.length,_e=t.quadtree(C,v,x).visitAfter(G);for(g=W,re=0;re<ae;++re)M=C[re],_e.visit(N)}function X(){if(C){var W,re=C.length,ae;for(T=new Array(re),W=0;W<re;++W)ae=C[W],T[ae.index]=+P(ae,W,C)}}function G(W){var re=0,ae,_e,Me=0,ke,ge,ie;if(W.length){for(ke=ge=ie=0;ie<4;++ie)(ae=W[ie])&&(_e=Math.abs(ae.value))&&(re+=ae.value,Me+=_e,ke+=_e*ae.x,ge+=_e*ae.y);W.x=ke/Me,W.y=ge/Me}else{ae=W,ae.x=ae.data.x,ae.y=ae.data.y;do re+=T[ae.data.index];while(ae=ae.next)}W.value=re}function N(W,re,ae,_e){if(!W.value)return!0;var Me=W.x-M.x,ke=W.y-M.y,ge=_e-re,ie=Me*Me+ke*ke;if(ge*ge/V<ie)return ie<q&&(Me===0&&(Me=s(),ie+=Me*Me),ke===0&&(ke=s(),ie+=ke*ke),ie<F&&(ie=Math.sqrt(F*ie)),M.vx+=Me*W.value*g/ie,M.vy+=ke*W.value*g/ie),!0;if(W.length||ie>=q)return;(W.data!==M||W.next)&&(Me===0&&(Me=s(),ie+=Me*Me),ke===0&&(ke=s(),ie+=ke*ke),ie<F&&(ie=Math.sqrt(F*ie)));do W.data!==M&&(ge=T[W.data.index]*g/ie,M.vx+=Me*ge,M.vy+=ke*ge);while(W=W.next)}return H.initialize=function(W){C=W,X()},H.strength=function(W){return arguments.length?(P=typeof W==\"function\"?W:o(+W),X(),H):P},H.distanceMin=function(W){return arguments.length?(F=W*W,H):Math.sqrt(F)},H.distanceMax=function(W){return arguments.length?(q=W*W,H):Math.sqrt(q)},H.theta=function(W){return arguments.length?(V=W*W,H):Math.sqrt(V)},H}function A(C,M,g){var P,T=o(.1),F,q;typeof C!=\"function\"&&(C=o(+C)),M==null&&(M=0),g==null&&(g=0);function V(X){for(var G=0,N=P.length;G<N;++G){var W=P[G],re=W.x-M||1e-6,ae=W.y-g||1e-6,_e=Math.sqrt(re*re+ae*ae),Me=(q[G]-_e)*F[G]*X/_e;W.vx+=re*Me,W.vy+=ae*Me}}function H(){if(P){var X,G=P.length;for(F=new Array(G),q=new Array(G),X=0;X<G;++X)q[X]=+C(P[X],X,P),F[X]=isNaN(q[X])?0:+T(P[X],X,P)}}return V.initialize=function(X){P=X,H()},V.strength=function(X){return arguments.length?(T=typeof X==\"function\"?X:o(+X),H(),V):T},V.radius=function(X){return arguments.length?(C=typeof X==\"function\"?X:o(+X),H(),V):C},V.x=function(X){return arguments.length?(M=+X,V):M},V.y=function(X){return arguments.length?(g=+X,V):g},V}function L(C){var M=o(.1),g,P,T;typeof C!=\"function\"&&(C=o(C==null?0:+C));function F(V){for(var H=0,X=g.length,G;H<X;++H)G=g[H],G.vx+=(T[H]-G.x)*P[H]*V}function q(){if(g){var V,H=g.length;for(P=new Array(H),T=new Array(H),V=0;V<H;++V)P[V]=isNaN(T[V]=+C(g[V],V,g))?0:+M(g[V],V,g)}}return F.initialize=function(V){g=V,q()},F.strength=function(V){return arguments.length?(M=typeof V==\"function\"?V:o(+V),q(),F):M},F.x=function(V){return arguments.length?(C=typeof V==\"function\"?V:o(+V),q(),F):C},F}function _(C){var M=o(.1),g,P,T;typeof C!=\"function\"&&(C=o(C==null?0:+C));function F(V){for(var H=0,X=g.length,G;H<X;++H)G=g[H],G.vy+=(T[H]-G.y)*P[H]*V}function q(){if(g){var V,H=g.length;for(P=new Array(H),T=new Array(H),V=0;V<H;++V)P[V]=isNaN(T[V]=+C(g[V],V,g))?0:+M(g[V],V,g)}}return F.initialize=function(V){g=V,q()},F.strength=function(V){return arguments.length?(M=typeof V==\"function\"?V:o(+V),q(),F):M},F.y=function(V){return arguments.length?(C=typeof V==\"function\"?V:o(+V),q(),F):C},F}e.forceCenter=a,e.forceCollide=c,e.forceLink=d,e.forceManyBody=k,e.forceRadial=A,e.forceSimulation=E,e.forceX=L,e.forceY=_,Object.defineProperty(e,\"__esModule\",{value:!0})})});var Tje=ye((m7,wje)=>{(function(e,t){typeof m7==\"object\"&&typeof wje!=\"undefined\"?t(m7):(e=e||self,t(e.d3=e.d3||{}))})(m7,function(e){\"use strict\";var t=Math.PI,r=2*t,n=1e-6,i=r-n;function a(){this._x0=this._y0=this._x1=this._y1=null,this._=\"\"}function o(){return new a}a.prototype=o.prototype={constructor:a,moveTo:function(s,l){this._+=\"M\"+(this._x0=this._x1=+s)+\",\"+(this._y0=this._y1=+l)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+=\"Z\")},lineTo:function(s,l){this._+=\"L\"+(this._x1=+s)+\",\"+(this._y1=+l)},quadraticCurveTo:function(s,l,u,c){this._+=\"Q\"+ +s+\",\"+ +l+\",\"+(this._x1=+u)+\",\"+(this._y1=+c)},bezierCurveTo:function(s,l,u,c,f,h){this._+=\"C\"+ +s+\",\"+ +l+\",\"+ +u+\",\"+ +c+\",\"+(this._x1=+f)+\",\"+(this._y1=+h)},arcTo:function(s,l,u,c,f){s=+s,l=+l,u=+u,c=+c,f=+f;var h=this._x1,d=this._y1,v=u-s,x=c-l,b=h-s,p=d-l,E=b*b+p*p;if(f<0)throw new Error(\"negative radius: \"+f);if(this._x1===null)this._+=\"M\"+(this._x1=s)+\",\"+(this._y1=l);else if(E>n)if(!(Math.abs(p*v-x*b)>n)||!f)this._+=\"L\"+(this._x1=s)+\",\"+(this._y1=l);else{var k=u-h,A=c-d,L=v*v+x*x,_=k*k+A*A,C=Math.sqrt(L),M=Math.sqrt(E),g=f*Math.tan((t-Math.acos((L+E-_)/(2*C*M)))/2),P=g/M,T=g/C;Math.abs(P-1)>n&&(this._+=\"L\"+(s+P*b)+\",\"+(l+P*p)),this._+=\"A\"+f+\",\"+f+\",0,0,\"+ +(p*k>b*A)+\",\"+(this._x1=s+T*v)+\",\"+(this._y1=l+T*x)}},arc:function(s,l,u,c,f,h){s=+s,l=+l,u=+u,h=!!h;var d=u*Math.cos(c),v=u*Math.sin(c),x=s+d,b=l+v,p=1^h,E=h?c-f:f-c;if(u<0)throw new Error(\"negative radius: \"+u);this._x1===null?this._+=\"M\"+x+\",\"+b:(Math.abs(this._x1-x)>n||Math.abs(this._y1-b)>n)&&(this._+=\"L\"+x+\",\"+b),u&&(E<0&&(E=E%r+r),E>i?this._+=\"A\"+u+\",\"+u+\",0,1,\"+p+\",\"+(s-d)+\",\"+(l-v)+\"A\"+u+\",\"+u+\",0,1,\"+p+\",\"+(this._x1=x)+\",\"+(this._y1=b):E>n&&(this._+=\"A\"+u+\",\"+u+\",0,\"+ +(E>=t)+\",\"+p+\",\"+(this._x1=s+u*Math.cos(f))+\",\"+(this._y1=l+u*Math.sin(f))))},rect:function(s,l,u,c){this._+=\"M\"+(this._x0=this._x1=+s)+\",\"+(this._y0=this._y1=+l)+\"h\"+ +u+\"v\"+ +c+\"h\"+-u+\"Z\"},toString:function(){return this._}},e.path=o,Object.defineProperty(e,\"__esModule\",{value:!0})})});var PJ=ye((y7,Aje)=>{(function(e,t){typeof y7==\"object\"&&typeof Aje!=\"undefined\"?t(y7,Tje()):(e=e||self,t(e.d3=e.d3||{},e.d3))})(y7,function(e,t){\"use strict\";function r(_t){return function(){return _t}}var n=Math.abs,i=Math.atan2,a=Math.cos,o=Math.max,s=Math.min,l=Math.sin,u=Math.sqrt,c=1e-12,f=Math.PI,h=f/2,d=2*f;function v(_t){return _t>1?0:_t<-1?f:Math.acos(_t)}function x(_t){return _t>=1?h:_t<=-1?-h:Math.asin(_t)}function b(_t){return _t.innerRadius}function p(_t){return _t.outerRadius}function E(_t){return _t.startAngle}function k(_t){return _t.endAngle}function A(_t){return _t&&_t.padAngle}function L(_t,br,Hr,ti,zi,Yi,an,hi){var Ji=Hr-_t,ua=ti-br,Fn=an-zi,Sa=hi-Yi,go=Sa*Ji-Fn*ua;if(!(go*go<c))return go=(Fn*(br-Yi)-Sa*(_t-zi))/go,[_t+go*Ji,br+go*ua]}function _(_t,br,Hr,ti,zi,Yi,an){var hi=_t-Hr,Ji=br-ti,ua=(an?Yi:-Yi)/u(hi*hi+Ji*Ji),Fn=ua*Ji,Sa=-ua*hi,go=_t+Fn,Oo=br+Sa,ho=Hr+Fn,Mo=ti+Sa,xo=(go+ho)/2,zs=(Oo+Mo)/2,ks=ho-go,Zs=Mo-Oo,Xs=ks*ks+Zs*Zs,wl=zi-Yi,os=go*Mo-ho*Oo,cl=(Zs<0?-1:1)*u(o(0,wl*wl*Xs-os*os)),Cs=(os*Zs-ks*cl)/Xs,ml=(-os*ks-Zs*cl)/Xs,Ys=(os*Zs+ks*cl)/Xs,Hs=(-os*ks+Zs*cl)/Xs,Eo=Cs-xo,fs=ml-zs,Ql=Ys-xo,Hu=Hs-zs;return Eo*Eo+fs*fs>Ql*Ql+Hu*Hu&&(Cs=Ys,ml=Hs),{cx:Cs,cy:ml,x01:-Fn,y01:-Sa,x11:Cs*(zi/wl-1),y11:ml*(zi/wl-1)}}function C(){var _t=b,br=p,Hr=r(0),ti=null,zi=E,Yi=k,an=A,hi=null;function Ji(){var ua,Fn,Sa=+_t.apply(this,arguments),go=+br.apply(this,arguments),Oo=zi.apply(this,arguments)-h,ho=Yi.apply(this,arguments)-h,Mo=n(ho-Oo),xo=ho>Oo;if(hi||(hi=ua=t.path()),go<Sa&&(Fn=go,go=Sa,Sa=Fn),!(go>c))hi.moveTo(0,0);else if(Mo>d-c)hi.moveTo(go*a(Oo),go*l(Oo)),hi.arc(0,0,go,Oo,ho,!xo),Sa>c&&(hi.moveTo(Sa*a(ho),Sa*l(ho)),hi.arc(0,0,Sa,ho,Oo,xo));else{var zs=Oo,ks=ho,Zs=Oo,Xs=ho,wl=Mo,os=Mo,cl=an.apply(this,arguments)/2,Cs=cl>c&&(ti?+ti.apply(this,arguments):u(Sa*Sa+go*go)),ml=s(n(go-Sa)/2,+Hr.apply(this,arguments)),Ys=ml,Hs=ml,Eo,fs;if(Cs>c){var Ql=x(Cs/Sa*l(cl)),Hu=x(Cs/go*l(cl));(wl-=Ql*2)>c?(Ql*=xo?1:-1,Zs+=Ql,Xs-=Ql):(wl=0,Zs=Xs=(Oo+ho)/2),(os-=Hu*2)>c?(Hu*=xo?1:-1,zs+=Hu,ks-=Hu):(os=0,zs=ks=(Oo+ho)/2)}var fc=go*a(zs),ms=go*l(zs),on=Sa*a(Xs),fa=Sa*l(Xs);if(ml>c){var Qu=go*a(ks),Rl=go*l(ks),vo=Sa*a(Zs),Zl=Sa*l(Zs),Ks;if(Mo<f&&(Ks=L(fc,ms,vo,Zl,Qu,Rl,on,fa))){var Xl=fc-Ks[0],Ec=ms-Ks[1],Zn=Qu-Ks[0],ko=Rl-Ks[1],Co=1/l(v((Xl*Zn+Ec*ko)/(u(Xl*Xl+Ec*Ec)*u(Zn*Zn+ko*ko)))/2),Tl=u(Ks[0]*Ks[0]+Ks[1]*Ks[1]);Ys=s(ml,(Sa-Tl)/(Co-1)),Hs=s(ml,(go-Tl)/(Co+1))}}os>c?Hs>c?(Eo=_(vo,Zl,fc,ms,go,Hs,xo),fs=_(Qu,Rl,on,fa,go,Hs,xo),hi.moveTo(Eo.cx+Eo.x01,Eo.cy+Eo.y01),Hs<ml?hi.arc(Eo.cx,Eo.cy,Hs,i(Eo.y01,Eo.x01),i(fs.y01,fs.x01),!xo):(hi.arc(Eo.cx,Eo.cy,Hs,i(Eo.y01,Eo.x01),i(Eo.y11,Eo.x11),!xo),hi.arc(0,0,go,i(Eo.cy+Eo.y11,Eo.cx+Eo.x11),i(fs.cy+fs.y11,fs.cx+fs.x11),!xo),hi.arc(fs.cx,fs.cy,Hs,i(fs.y11,fs.x11),i(fs.y01,fs.x01),!xo))):(hi.moveTo(fc,ms),hi.arc(0,0,go,zs,ks,!xo)):hi.moveTo(fc,ms),!(Sa>c)||!(wl>c)?hi.lineTo(on,fa):Ys>c?(Eo=_(on,fa,Qu,Rl,Sa,-Ys,xo),fs=_(fc,ms,vo,Zl,Sa,-Ys,xo),hi.lineTo(Eo.cx+Eo.x01,Eo.cy+Eo.y01),Ys<ml?hi.arc(Eo.cx,Eo.cy,Ys,i(Eo.y01,Eo.x01),i(fs.y01,fs.x01),!xo):(hi.arc(Eo.cx,Eo.cy,Ys,i(Eo.y01,Eo.x01),i(Eo.y11,Eo.x11),!xo),hi.arc(0,0,Sa,i(Eo.cy+Eo.y11,Eo.cx+Eo.x11),i(fs.cy+fs.y11,fs.cx+fs.x11),xo),hi.arc(fs.cx,fs.cy,Ys,i(fs.y11,fs.x11),i(fs.y01,fs.x01),!xo))):hi.arc(0,0,Sa,Xs,Zs,xo)}if(hi.closePath(),ua)return hi=null,ua+\"\"||null}return Ji.centroid=function(){var ua=(+_t.apply(this,arguments)+ +br.apply(this,arguments))/2,Fn=(+zi.apply(this,arguments)+ +Yi.apply(this,arguments))/2-f/2;return[a(Fn)*ua,l(Fn)*ua]},Ji.innerRadius=function(ua){return arguments.length?(_t=typeof ua==\"function\"?ua:r(+ua),Ji):_t},Ji.outerRadius=function(ua){return arguments.length?(br=typeof ua==\"function\"?ua:r(+ua),Ji):br},Ji.cornerRadius=function(ua){return arguments.length?(Hr=typeof ua==\"function\"?ua:r(+ua),Ji):Hr},Ji.padRadius=function(ua){return arguments.length?(ti=ua==null?null:typeof ua==\"function\"?ua:r(+ua),Ji):ti},Ji.startAngle=function(ua){return arguments.length?(zi=typeof ua==\"function\"?ua:r(+ua),Ji):zi},Ji.endAngle=function(ua){return arguments.length?(Yi=typeof ua==\"function\"?ua:r(+ua),Ji):Yi},Ji.padAngle=function(ua){return arguments.length?(an=typeof ua==\"function\"?ua:r(+ua),Ji):an},Ji.context=function(ua){return arguments.length?(hi=ua==null?null:ua,Ji):hi},Ji}function M(_t){this._context=_t}M.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;default:this._context.lineTo(_t,br);break}}};function g(_t){return new M(_t)}function P(_t){return _t[0]}function T(_t){return _t[1]}function F(){var _t=P,br=T,Hr=r(!0),ti=null,zi=g,Yi=null;function an(hi){var Ji,ua=hi.length,Fn,Sa=!1,go;for(ti==null&&(Yi=zi(go=t.path())),Ji=0;Ji<=ua;++Ji)!(Ji<ua&&Hr(Fn=hi[Ji],Ji,hi))===Sa&&((Sa=!Sa)?Yi.lineStart():Yi.lineEnd()),Sa&&Yi.point(+_t(Fn,Ji,hi),+br(Fn,Ji,hi));if(go)return Yi=null,go+\"\"||null}return an.x=function(hi){return arguments.length?(_t=typeof hi==\"function\"?hi:r(+hi),an):_t},an.y=function(hi){return arguments.length?(br=typeof hi==\"function\"?hi:r(+hi),an):br},an.defined=function(hi){return arguments.length?(Hr=typeof hi==\"function\"?hi:r(!!hi),an):Hr},an.curve=function(hi){return arguments.length?(zi=hi,ti!=null&&(Yi=zi(ti)),an):zi},an.context=function(hi){return arguments.length?(hi==null?ti=Yi=null:Yi=zi(ti=hi),an):ti},an}function q(){var _t=P,br=null,Hr=r(0),ti=T,zi=r(!0),Yi=null,an=g,hi=null;function Ji(Fn){var Sa,go,Oo,ho=Fn.length,Mo,xo=!1,zs,ks=new Array(ho),Zs=new Array(ho);for(Yi==null&&(hi=an(zs=t.path())),Sa=0;Sa<=ho;++Sa){if(!(Sa<ho&&zi(Mo=Fn[Sa],Sa,Fn))===xo)if(xo=!xo)go=Sa,hi.areaStart(),hi.lineStart();else{for(hi.lineEnd(),hi.lineStart(),Oo=Sa-1;Oo>=go;--Oo)hi.point(ks[Oo],Zs[Oo]);hi.lineEnd(),hi.areaEnd()}xo&&(ks[Sa]=+_t(Mo,Sa,Fn),Zs[Sa]=+Hr(Mo,Sa,Fn),hi.point(br?+br(Mo,Sa,Fn):ks[Sa],ti?+ti(Mo,Sa,Fn):Zs[Sa]))}if(zs)return hi=null,zs+\"\"||null}function ua(){return F().defined(zi).curve(an).context(Yi)}return Ji.x=function(Fn){return arguments.length?(_t=typeof Fn==\"function\"?Fn:r(+Fn),br=null,Ji):_t},Ji.x0=function(Fn){return arguments.length?(_t=typeof Fn==\"function\"?Fn:r(+Fn),Ji):_t},Ji.x1=function(Fn){return arguments.length?(br=Fn==null?null:typeof Fn==\"function\"?Fn:r(+Fn),Ji):br},Ji.y=function(Fn){return arguments.length?(Hr=typeof Fn==\"function\"?Fn:r(+Fn),ti=null,Ji):Hr},Ji.y0=function(Fn){return arguments.length?(Hr=typeof Fn==\"function\"?Fn:r(+Fn),Ji):Hr},Ji.y1=function(Fn){return arguments.length?(ti=Fn==null?null:typeof Fn==\"function\"?Fn:r(+Fn),Ji):ti},Ji.lineX0=Ji.lineY0=function(){return ua().x(_t).y(Hr)},Ji.lineY1=function(){return ua().x(_t).y(ti)},Ji.lineX1=function(){return ua().x(br).y(Hr)},Ji.defined=function(Fn){return arguments.length?(zi=typeof Fn==\"function\"?Fn:r(!!Fn),Ji):zi},Ji.curve=function(Fn){return arguments.length?(an=Fn,Yi!=null&&(hi=an(Yi)),Ji):an},Ji.context=function(Fn){return arguments.length?(Fn==null?Yi=hi=null:hi=an(Yi=Fn),Ji):Yi},Ji}function V(_t,br){return br<_t?-1:br>_t?1:br>=_t?0:NaN}function H(_t){return _t}function X(){var _t=H,br=V,Hr=null,ti=r(0),zi=r(d),Yi=r(0);function an(hi){var Ji,ua=hi.length,Fn,Sa,go=0,Oo=new Array(ua),ho=new Array(ua),Mo=+ti.apply(this,arguments),xo=Math.min(d,Math.max(-d,zi.apply(this,arguments)-Mo)),zs,ks=Math.min(Math.abs(xo)/ua,Yi.apply(this,arguments)),Zs=ks*(xo<0?-1:1),Xs;for(Ji=0;Ji<ua;++Ji)(Xs=ho[Oo[Ji]=Ji]=+_t(hi[Ji],Ji,hi))>0&&(go+=Xs);for(br!=null?Oo.sort(function(wl,os){return br(ho[wl],ho[os])}):Hr!=null&&Oo.sort(function(wl,os){return Hr(hi[wl],hi[os])}),Ji=0,Sa=go?(xo-ua*Zs)/go:0;Ji<ua;++Ji,Mo=zs)Fn=Oo[Ji],Xs=ho[Fn],zs=Mo+(Xs>0?Xs*Sa:0)+Zs,ho[Fn]={data:hi[Fn],index:Ji,value:Xs,startAngle:Mo,endAngle:zs,padAngle:ks};return ho}return an.value=function(hi){return arguments.length?(_t=typeof hi==\"function\"?hi:r(+hi),an):_t},an.sortValues=function(hi){return arguments.length?(br=hi,Hr=null,an):br},an.sort=function(hi){return arguments.length?(Hr=hi,br=null,an):Hr},an.startAngle=function(hi){return arguments.length?(ti=typeof hi==\"function\"?hi:r(+hi),an):ti},an.endAngle=function(hi){return arguments.length?(zi=typeof hi==\"function\"?hi:r(+hi),an):zi},an.padAngle=function(hi){return arguments.length?(Yi=typeof hi==\"function\"?hi:r(+hi),an):Yi},an}var G=W(g);function N(_t){this._curve=_t}N.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(_t,br){this._curve.point(br*Math.sin(_t),br*-Math.cos(_t))}};function W(_t){function br(Hr){return new N(_t(Hr))}return br._curve=_t,br}function re(_t){var br=_t.curve;return _t.angle=_t.x,delete _t.x,_t.radius=_t.y,delete _t.y,_t.curve=function(Hr){return arguments.length?br(W(Hr)):br()._curve},_t}function ae(){return re(F().curve(G))}function _e(){var _t=q().curve(G),br=_t.curve,Hr=_t.lineX0,ti=_t.lineX1,zi=_t.lineY0,Yi=_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 re(Hr())},delete _t.lineX0,_t.lineEndAngle=function(){return re(ti())},delete _t.lineX1,_t.lineInnerRadius=function(){return re(zi())},delete _t.lineY0,_t.lineOuterRadius=function(){return re(Yi())},delete _t.lineY1,_t.curve=function(an){return arguments.length?br(W(an)):br()._curve},_t}function Me(_t,br){return[(br=+br)*Math.cos(_t-=Math.PI/2),br*Math.sin(_t)]}var ke=Array.prototype.slice;function ge(_t){return _t.source}function ie(_t){return _t.target}function Te(_t){var br=ge,Hr=ie,ti=P,zi=T,Yi=null;function an(){var hi,Ji=ke.call(arguments),ua=br.apply(this,Ji),Fn=Hr.apply(this,Ji);if(Yi||(Yi=hi=t.path()),_t(Yi,+ti.apply(this,(Ji[0]=ua,Ji)),+zi.apply(this,Ji),+ti.apply(this,(Ji[0]=Fn,Ji)),+zi.apply(this,Ji)),hi)return Yi=null,hi+\"\"||null}return an.source=function(hi){return arguments.length?(br=hi,an):br},an.target=function(hi){return arguments.length?(Hr=hi,an):Hr},an.x=function(hi){return arguments.length?(ti=typeof hi==\"function\"?hi:r(+hi),an):ti},an.y=function(hi){return arguments.length?(zi=typeof hi==\"function\"?hi:r(+hi),an):zi},an.context=function(hi){return arguments.length?(Yi=hi==null?null:hi,an):Yi},an}function Ee(_t,br,Hr,ti,zi){_t.moveTo(br,Hr),_t.bezierCurveTo(br=(br+ti)/2,Hr,br,zi,ti,zi)}function Ae(_t,br,Hr,ti,zi){_t.moveTo(br,Hr),_t.bezierCurveTo(br,Hr=(Hr+zi)/2,ti,Hr,ti,zi)}function ze(_t,br,Hr,ti,zi){var Yi=Me(br,Hr),an=Me(br,Hr=(Hr+zi)/2),hi=Me(ti,Hr),Ji=Me(ti,zi);_t.moveTo(Yi[0],Yi[1]),_t.bezierCurveTo(an[0],an[1],hi[0],hi[1],Ji[0],Ji[1])}function Ce(){return Te(Ee)}function me(){return Te(Ae)}function Re(){var _t=Te(ze);return _t.angle=_t.x,delete _t.x,_t.radius=_t.y,delete _t.y,_t}var ce={draw:function(_t,br){var Hr=Math.sqrt(br/f);_t.moveTo(Hr,0),_t.arc(0,0,Hr,0,d)}},Ge={draw:function(_t,br){var Hr=Math.sqrt(br/5)/2;_t.moveTo(-3*Hr,-Hr),_t.lineTo(-Hr,-Hr),_t.lineTo(-Hr,-3*Hr),_t.lineTo(Hr,-3*Hr),_t.lineTo(Hr,-Hr),_t.lineTo(3*Hr,-Hr),_t.lineTo(3*Hr,Hr),_t.lineTo(Hr,Hr),_t.lineTo(Hr,3*Hr),_t.lineTo(-Hr,3*Hr),_t.lineTo(-Hr,Hr),_t.lineTo(-3*Hr,Hr),_t.closePath()}},nt=Math.sqrt(1/3),ct=nt*2,qt={draw:function(_t,br){var Hr=Math.sqrt(br/ct),ti=Hr*nt;_t.moveTo(0,-Hr),_t.lineTo(ti,0),_t.lineTo(0,Hr),_t.lineTo(-ti,0),_t.closePath()}},rt=.8908130915292852,ot=Math.sin(f/10)/Math.sin(7*f/10),Rt=Math.sin(d/10)*ot,kt=-Math.cos(d/10)*ot,Ct={draw:function(_t,br){var Hr=Math.sqrt(br*rt),ti=Rt*Hr,zi=kt*Hr;_t.moveTo(0,-Hr),_t.lineTo(ti,zi);for(var Yi=1;Yi<5;++Yi){var an=d*Yi/5,hi=Math.cos(an),Ji=Math.sin(an);_t.lineTo(Ji*Hr,-hi*Hr),_t.lineTo(hi*ti-Ji*zi,Ji*ti+hi*zi)}_t.closePath()}},Yt={draw:function(_t,br){var Hr=Math.sqrt(br),ti=-Hr/2;_t.rect(ti,ti,Hr,Hr)}},xr=Math.sqrt(3),er={draw:function(_t,br){var Hr=-Math.sqrt(br/(xr*3));_t.moveTo(0,Hr*2),_t.lineTo(-xr*Hr,-Hr),_t.lineTo(xr*Hr,-Hr),_t.closePath()}},Ke=-.5,xt=Math.sqrt(3)/2,bt=1/Math.sqrt(12),Lt=(bt/2+1)*3,St={draw:function(_t,br){var Hr=Math.sqrt(br/Lt),ti=Hr/2,zi=Hr*bt,Yi=ti,an=Hr*bt+Hr,hi=-Yi,Ji=an;_t.moveTo(ti,zi),_t.lineTo(Yi,an),_t.lineTo(hi,Ji),_t.lineTo(Ke*ti-xt*zi,xt*ti+Ke*zi),_t.lineTo(Ke*Yi-xt*an,xt*Yi+Ke*an),_t.lineTo(Ke*hi-xt*Ji,xt*hi+Ke*Ji),_t.lineTo(Ke*ti+xt*zi,Ke*zi-xt*ti),_t.lineTo(Ke*Yi+xt*an,Ke*an-xt*Yi),_t.lineTo(Ke*hi+xt*Ji,Ke*Ji-xt*hi),_t.closePath()}},Et=[ce,Ge,qt,Yt,Ct,er,St];function dt(){var _t=r(ce),br=r(64),Hr=null;function ti(){var zi;if(Hr||(Hr=zi=t.path()),_t.apply(this,arguments).draw(Hr,+br.apply(this,arguments)),zi)return Hr=null,zi+\"\"||null}return ti.type=function(zi){return arguments.length?(_t=typeof zi==\"function\"?zi:r(zi),ti):_t},ti.size=function(zi){return arguments.length?(br=typeof zi==\"function\"?zi:r(+zi),ti):br},ti.context=function(zi){return arguments.length?(Hr=zi==null?null:zi,ti):Hr},ti}function Ht(){}function $t(_t,br,Hr){_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+br)/6,(_t._y0+4*_t._y1+Hr)/6)}function fr(_t){this._context=_t}fr.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:$t(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);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:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function _r(_t){return new fr(_t)}function Br(_t){this._context=_t}Br.prototype={areaStart:Ht,areaEnd:Ht,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);break}}},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._x2=_t,this._y2=br;break;case 1:this._point=2,this._x3=_t,this._y3=br;break;case 2:this._point=3,this._x4=_t,this._y4=br,this._context.moveTo((this._x0+4*this._x1+_t)/6,(this._y0+4*this._y1+br)/6);break;default:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function Or(_t){return new Br(_t)}function Nr(_t){this._context=_t}Nr.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var Hr=(this._x0+4*this._x1+_t)/6,ti=(this._y0+4*this._y1+br)/6;this._line?this._context.lineTo(Hr,ti):this._context.moveTo(Hr,ti);break;case 3:this._point=4;default:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function ut(_t){return new Nr(_t)}function Ne(_t,br){this._basis=new fr(_t),this._beta=br}Ne.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var _t=this._x,br=this._y,Hr=_t.length-1;if(Hr>0)for(var ti=_t[0],zi=br[0],Yi=_t[Hr]-ti,an=br[Hr]-zi,hi=-1,Ji;++hi<=Hr;)Ji=hi/Hr,this._basis.point(this._beta*_t[hi]+(1-this._beta)*(ti+Ji*Yi),this._beta*br[hi]+(1-this._beta)*(zi+Ji*an));this._x=this._y=null,this._basis.lineEnd()},point:function(_t,br){this._x.push(+_t),this._y.push(+br)}};var Ye=function _t(br){function Hr(ti){return br===1?new fr(ti):new Ne(ti,br)}return Hr.beta=function(ti){return _t(+ti)},Hr}(.85);function Ve(_t,br,Hr){_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-br),_t._y2+_t._k*(_t._y1-Hr),_t._x2,_t._y2)}function Xe(_t,br){this._context=_t,this._k=(1-br)/6}Xe.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:Ve(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2,this._x1=_t,this._y1=br;break;case 2:this._point=3;default:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var ht=function _t(br){function Hr(ti){return new Xe(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Le(_t,br){this._context=_t,this._k=(1-br)/6}Le.prototype={areaStart:Ht,areaEnd:Ht,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);break}}},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._x3=_t,this._y3=br;break;case 1:this._point=2,this._context.moveTo(this._x4=_t,this._y4=br);break;case 2:this._point=3,this._x5=_t,this._y5=br;break;default:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var xe=function _t(br){function Hr(ti){return new Le(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Se(_t,br){this._context=_t,this._k=(1-br)/6}Se.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,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:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var lt=function _t(br){function Hr(ti){return new Se(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Gt(_t,br,Hr){var ti=_t._x1,zi=_t._y1,Yi=_t._x2,an=_t._y2;if(_t._l01_a>c){var hi=2*_t._l01_2a+3*_t._l01_a*_t._l12_a+_t._l12_2a,Ji=3*_t._l01_a*(_t._l01_a+_t._l12_a);ti=(ti*hi-_t._x0*_t._l12_2a+_t._x2*_t._l01_2a)/Ji,zi=(zi*hi-_t._y0*_t._l12_2a+_t._y2*_t._l01_2a)/Ji}if(_t._l23_a>c){var ua=2*_t._l23_2a+3*_t._l23_a*_t._l12_a+_t._l12_2a,Fn=3*_t._l23_a*(_t._l23_a+_t._l12_a);Yi=(Yi*ua+_t._x1*_t._l23_2a-br*_t._l12_2a)/Fn,an=(an*ua+_t._y1*_t._l23_2a-Hr*_t._l12_2a)/Fn}_t._context.bezierCurveTo(ti,zi,Yi,an,_t._x2,_t._y2)}function Vt(_t,br){this._context=_t,this._alpha=br}Vt.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);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;break;case 2:this._point=3;default:Gt(this,_t,br);break}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=br}};var ar=function _t(br){function Hr(ti){return br?new Vt(ti,br):new Xe(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function Qr(_t,br){this._context=_t,this._alpha=br}Qr.prototype={areaStart:Ht,areaEnd:Ht,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);break}}},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=_t,this._y3=br;break;case 1:this._point=2,this._context.moveTo(this._x4=_t,this._y4=br);break;case 2:this._point=3,this._x5=_t,this._y5=br;break;default:Gt(this,_t,br);break}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=br}};var ai=function _t(br){function Hr(ti){return br?new Qr(ti,br):new Le(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function jr(_t,br){this._context=_t,this._alpha=br}jr.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,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:Gt(this,_t,br);break}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=br}};var ri=function _t(br){function Hr(ti){return br?new jr(ti,br):new Se(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function bi(_t){this._context=_t}bi.prototype={areaStart:Ht,areaEnd:Ht,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(_t,br){_t=+_t,br=+br,this._point?this._context.lineTo(_t,br):(this._point=1,this._context.moveTo(_t,br))}};function nn(_t){return new bi(_t)}function Wi(_t){return _t<0?-1:1}function Ni(_t,br,Hr){var ti=_t._x1-_t._x0,zi=br-_t._x1,Yi=(_t._y1-_t._y0)/(ti||zi<0&&-0),an=(Hr-_t._y1)/(zi||ti<0&&-0),hi=(Yi*zi+an*ti)/(ti+zi);return(Wi(Yi)+Wi(an))*Math.min(Math.abs(Yi),Math.abs(an),.5*Math.abs(hi))||0}function _n(_t,br){var Hr=_t._x1-_t._x0;return Hr?(3*(_t._y1-_t._y0)/Hr-br)/2:br}function $i(_t,br,Hr){var ti=_t._x0,zi=_t._y0,Yi=_t._x1,an=_t._y1,hi=(Yi-ti)/3;_t._context.bezierCurveTo(ti+hi,zi+hi*br,Yi-hi,an-hi*Hr,Yi,an)}function zn(_t){this._context=_t}zn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:$i(this,this._t0,_n(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){var Hr=NaN;if(_t=+_t,br=+br,!(_t===this._x1&&br===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;break;case 2:this._point=3,$i(this,_n(this,Hr=Ni(this,_t,br)),Hr);break;default:$i(this,this._t0,Hr=Ni(this,_t,br));break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br,this._t0=Hr}}};function Wn(_t){this._context=new It(_t)}(Wn.prototype=Object.create(zn.prototype)).point=function(_t,br){zn.prototype.point.call(this,br,_t)};function It(_t){this._context=_t}It.prototype={moveTo:function(_t,br){this._context.moveTo(br,_t)},closePath:function(){this._context.closePath()},lineTo:function(_t,br){this._context.lineTo(br,_t)},bezierCurveTo:function(_t,br,Hr,ti,zi,Yi){this._context.bezierCurveTo(br,_t,ti,Hr,Yi,zi)}};function ft(_t){return new zn(_t)}function jt(_t){return new Wn(_t)}function Zt(_t){this._context=_t}Zt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var _t=this._x,br=this._y,Hr=_t.length;if(Hr)if(this._line?this._context.lineTo(_t[0],br[0]):this._context.moveTo(_t[0],br[0]),Hr===2)this._context.lineTo(_t[1],br[1]);else for(var ti=yr(_t),zi=yr(br),Yi=0,an=1;an<Hr;++Yi,++an)this._context.bezierCurveTo(ti[0][Yi],zi[0][Yi],ti[1][Yi],zi[1][Yi],_t[an],br[an]);(this._line||this._line!==0&&Hr===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(_t,br){this._x.push(+_t),this._y.push(+br)}};function yr(_t){var br,Hr=_t.length-1,ti,zi=new Array(Hr),Yi=new Array(Hr),an=new Array(Hr);for(zi[0]=0,Yi[0]=2,an[0]=_t[0]+2*_t[1],br=1;br<Hr-1;++br)zi[br]=1,Yi[br]=4,an[br]=4*_t[br]+2*_t[br+1];for(zi[Hr-1]=2,Yi[Hr-1]=7,an[Hr-1]=8*_t[Hr-1]+_t[Hr],br=1;br<Hr;++br)ti=zi[br]/Yi[br-1],Yi[br]-=ti,an[br]-=ti*an[br-1];for(zi[Hr-1]=an[Hr-1]/Yi[Hr-1],br=Hr-2;br>=0;--br)zi[br]=(an[br]-zi[br+1])/Yi[br];for(Yi[Hr-1]=(_t[Hr]+zi[Hr-1])/2,br=0;br<Hr-1;++br)Yi[br]=2*_t[br+1]-zi[br+1];return[zi,Yi]}function Fr(_t){return new Zt(_t)}function Zr(_t,br){this._context=_t,this._t=br}Zr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,br),this._context.lineTo(_t,br);else{var Hr=this._x*(1-this._t)+_t*this._t;this._context.lineTo(Hr,this._y),this._context.lineTo(Hr,br)}break}}this._x=_t,this._y=br}};function Vr(_t){return new Zr(_t,.5)}function gi(_t){return new Zr(_t,0)}function Si(_t){return new Zr(_t,1)}function Mi(_t,br){if((an=_t.length)>1)for(var Hr=1,ti,zi,Yi=_t[br[0]],an,hi=Yi.length;Hr<an;++Hr)for(zi=Yi,Yi=_t[br[Hr]],ti=0;ti<hi;++ti)Yi[ti][1]+=Yi[ti][0]=isNaN(zi[ti][1])?zi[ti][0]:zi[ti][1]}function Pi(_t){for(var br=_t.length,Hr=new Array(br);--br>=0;)Hr[br]=br;return Hr}function Gi(_t,br){return _t[br]}function Ki(){var _t=r([]),br=Pi,Hr=Mi,ti=Gi;function zi(Yi){var an=_t.apply(this,arguments),hi,Ji=Yi.length,ua=an.length,Fn=new Array(ua),Sa;for(hi=0;hi<ua;++hi){for(var go=an[hi],Oo=Fn[hi]=new Array(Ji),ho=0,Mo;ho<Ji;++ho)Oo[ho]=Mo=[0,+ti(Yi[ho],go,ho,Yi)],Mo.data=Yi[ho];Oo.key=go}for(hi=0,Sa=br(Fn);hi<ua;++hi)Fn[Sa[hi]].index=hi;return Hr(Fn,Sa),Fn}return zi.keys=function(Yi){return arguments.length?(_t=typeof Yi==\"function\"?Yi:r(ke.call(Yi)),zi):_t},zi.value=function(Yi){return arguments.length?(ti=typeof Yi==\"function\"?Yi:r(+Yi),zi):ti},zi.order=function(Yi){return arguments.length?(br=Yi==null?Pi:typeof Yi==\"function\"?Yi:r(ke.call(Yi)),zi):br},zi.offset=function(Yi){return arguments.length?(Hr=Yi==null?Mi:Yi,zi):Hr},zi}function ka(_t,br){if((ti=_t.length)>0){for(var Hr,ti,zi=0,Yi=_t[0].length,an;zi<Yi;++zi){for(an=Hr=0;Hr<ti;++Hr)an+=_t[Hr][zi][1]||0;if(an)for(Hr=0;Hr<ti;++Hr)_t[Hr][zi][1]/=an}Mi(_t,br)}}function jn(_t,br){if((Ji=_t.length)>0)for(var Hr,ti=0,zi,Yi,an,hi,Ji,ua=_t[br[0]].length;ti<ua;++ti)for(an=hi=0,Hr=0;Hr<Ji;++Hr)(Yi=(zi=_t[br[Hr]][ti])[1]-zi[0])>0?(zi[0]=an,zi[1]=an+=Yi):Yi<0?(zi[1]=hi,zi[0]=hi+=Yi):(zi[0]=0,zi[1]=Yi)}function la(_t,br){if((zi=_t.length)>0){for(var Hr=0,ti=_t[br[0]],zi,Yi=ti.length;Hr<Yi;++Hr){for(var an=0,hi=0;an<zi;++an)hi+=_t[an][Hr][1]||0;ti[Hr][1]+=ti[Hr][0]=-hi/2}Mi(_t,br)}}function Fa(_t,br){if(!(!((an=_t.length)>0)||!((Yi=(zi=_t[br[0]]).length)>0))){for(var Hr=0,ti=1,zi,Yi,an;ti<Yi;++ti){for(var hi=0,Ji=0,ua=0;hi<an;++hi){for(var Fn=_t[br[hi]],Sa=Fn[ti][1]||0,go=Fn[ti-1][1]||0,Oo=(Sa-go)/2,ho=0;ho<hi;++ho){var Mo=_t[br[ho]],xo=Mo[ti][1]||0,zs=Mo[ti-1][1]||0;Oo+=xo-zs}Ji+=Sa,ua+=Oo*Sa}zi[ti-1][1]+=zi[ti-1][0]=Hr,Ji&&(Hr-=ua/Ji)}zi[ti-1][1]+=zi[ti-1][0]=Hr,Mi(_t,br)}}function Ra(_t){var br=_t.map(jo);return Pi(_t).sort(function(Hr,ti){return br[Hr]-br[ti]})}function jo(_t){for(var br=-1,Hr=0,ti=_t.length,zi,Yi=-1/0;++br<ti;)(zi=+_t[br][1])>Yi&&(Yi=zi,Hr=br);return Hr}function oa(_t){var br=_t.map(Sn);return Pi(_t).sort(function(Hr,ti){return br[Hr]-br[ti]})}function Sn(_t){for(var br=0,Hr=-1,ti=_t.length,zi;++Hr<ti;)(zi=+_t[Hr][1])&&(br+=zi);return br}function Ha(_t){return oa(_t).reverse()}function oo(_t){var br=_t.length,Hr,ti,zi=_t.map(Sn),Yi=Ra(_t),an=0,hi=0,Ji=[],ua=[];for(Hr=0;Hr<br;++Hr)ti=Yi[Hr],an<hi?(an+=zi[ti],Ji.push(ti)):(hi+=zi[ti],ua.push(ti));return ua.reverse().concat(Ji)}function xn(_t){return Pi(_t).reverse()}e.arc=C,e.area=q,e.areaRadial=_e,e.curveBasis=_r,e.curveBasisClosed=Or,e.curveBasisOpen=ut,e.curveBundle=Ye,e.curveCardinal=ht,e.curveCardinalClosed=xe,e.curveCardinalOpen=lt,e.curveCatmullRom=ar,e.curveCatmullRomClosed=ai,e.curveCatmullRomOpen=ri,e.curveLinear=g,e.curveLinearClosed=nn,e.curveMonotoneX=ft,e.curveMonotoneY=jt,e.curveNatural=Fr,e.curveStep=Vr,e.curveStepAfter=Si,e.curveStepBefore=gi,e.line=F,e.lineRadial=ae,e.linkHorizontal=Ce,e.linkRadial=Re,e.linkVertical=me,e.pie=X,e.pointRadial=Me,e.radialArea=_e,e.radialLine=ae,e.stack=Ki,e.stackOffsetDiverging=jn,e.stackOffsetExpand=ka,e.stackOffsetNone=Mi,e.stackOffsetSilhouette=la,e.stackOffsetWiggle=Fa,e.stackOrderAppearance=Ra,e.stackOrderAscending=oa,e.stackOrderDescending=Ha,e.stackOrderInsideOut=oo,e.stackOrderNone=Pi,e.stackOrderReverse=xn,e.symbol=dt,e.symbolCircle=ce,e.symbolCross=Ge,e.symbolDiamond=qt,e.symbolSquare=Yt,e.symbolStar=Ct,e.symbolTriangle=er,e.symbolWye=St,e.symbols=Et,Object.defineProperty(e,\"__esModule\",{value:!0})})});var Mje=ye((_7,Sje)=>{(function(e,t){typeof _7==\"object\"&&typeof Sje!=\"undefined\"?t(_7,$E(),d7(),PJ()):t(e.d3=e.d3||{},e.d3,e.d3,e.d3)})(_7,function(e,t,r,n){\"use strict\";function i(g){return g.target.depth}function a(g){return g.depth}function o(g,P){return P-1-g.height}function s(g,P){return g.sourceLinks.length?g.depth:P-1}function l(g){return g.targetLinks.length?g.depth:g.sourceLinks.length?t.min(g.sourceLinks,i)-1:0}function u(g){return function(){return g}}function c(g,P){return h(g.source,P.source)||g.index-P.index}function f(g,P){return h(g.target,P.target)||g.index-P.index}function h(g,P){return g.y0-P.y0}function d(g){return g.value}function v(g){return(g.y0+g.y1)/2}function x(g){return v(g.source)*g.value}function b(g){return v(g.target)*g.value}function p(g){return g.index}function E(g){return g.nodes}function k(g){return g.links}function A(g,P){var T=g.get(P);if(!T)throw new Error(\"missing: \"+P);return T}var L=function(){var g=0,P=0,T=1,F=1,q=24,V=8,H=p,X=s,G=E,N=k,W=32,re=2/3;function ae(){var Te={nodes:G.apply(null,arguments),links:N.apply(null,arguments)};return _e(Te),Me(Te),ke(Te),ge(Te,W),ie(Te),Te}ae.update=function(Te){return ie(Te),Te},ae.nodeId=function(Te){return arguments.length?(H=typeof Te==\"function\"?Te:u(Te),ae):H},ae.nodeAlign=function(Te){return arguments.length?(X=typeof Te==\"function\"?Te:u(Te),ae):X},ae.nodeWidth=function(Te){return arguments.length?(q=+Te,ae):q},ae.nodePadding=function(Te){return arguments.length?(V=+Te,ae):V},ae.nodes=function(Te){return arguments.length?(G=typeof Te==\"function\"?Te:u(Te),ae):G},ae.links=function(Te){return arguments.length?(N=typeof Te==\"function\"?Te:u(Te),ae):N},ae.size=function(Te){return arguments.length?(g=P=0,T=+Te[0],F=+Te[1],ae):[T-g,F-P]},ae.extent=function(Te){return arguments.length?(g=+Te[0][0],T=+Te[1][0],P=+Te[0][1],F=+Te[1][1],ae):[[g,P],[T,F]]},ae.iterations=function(Te){return arguments.length?(W=+Te,ae):W};function _e(Te){Te.nodes.forEach(function(Ae,ze){Ae.index=ze,Ae.sourceLinks=[],Ae.targetLinks=[]});var Ee=r.map(Te.nodes,H);Te.links.forEach(function(Ae,ze){Ae.index=ze;var Ce=Ae.source,me=Ae.target;typeof Ce!=\"object\"&&(Ce=Ae.source=A(Ee,Ce)),typeof me!=\"object\"&&(me=Ae.target=A(Ee,me)),Ce.sourceLinks.push(Ae),me.targetLinks.push(Ae)})}function Me(Te){Te.nodes.forEach(function(Ee){Ee.value=Math.max(t.sum(Ee.sourceLinks,d),t.sum(Ee.targetLinks,d))})}function ke(Te){var Ee,Ae,ze;for(Ee=Te.nodes,Ae=[],ze=0;Ee.length;++ze,Ee=Ae,Ae=[])Ee.forEach(function(me){me.depth=ze,me.sourceLinks.forEach(function(Re){Ae.indexOf(Re.target)<0&&Ae.push(Re.target)})});for(Ee=Te.nodes,Ae=[],ze=0;Ee.length;++ze,Ee=Ae,Ae=[])Ee.forEach(function(me){me.height=ze,me.targetLinks.forEach(function(Re){Ae.indexOf(Re.source)<0&&Ae.push(Re.source)})});var Ce=(T-g-q)/(ze-1);Te.nodes.forEach(function(me){me.x1=(me.x0=g+Math.max(0,Math.min(ze-1,Math.floor(X.call(null,me,ze))))*Ce)+q})}function ge(Te){var Ee=r.nest().key(function(Ge){return Ge.x0}).sortKeys(t.ascending).entries(Te.nodes).map(function(Ge){return Ge.values});Ce(),ce();for(var Ae=1,ze=W;ze>0;--ze)Re(Ae*=.99),ce(),me(Ae),ce();function Ce(){var Ge=t.max(Ee,function(qt){return qt.length}),nt=re*(F-P)/(Ge-1);V>nt&&(V=nt);var ct=t.min(Ee,function(qt){return(F-P-(qt.length-1)*V)/t.sum(qt,d)});Ee.forEach(function(qt){qt.forEach(function(rt,ot){rt.y1=(rt.y0=ot)+rt.value*ct})}),Te.links.forEach(function(qt){qt.width=qt.value*ct})}function me(Ge){Ee.forEach(function(nt){nt.forEach(function(ct){if(ct.targetLinks.length){var qt=(t.sum(ct.targetLinks,x)/t.sum(ct.targetLinks,d)-v(ct))*Ge;ct.y0+=qt,ct.y1+=qt}})})}function Re(Ge){Ee.slice().reverse().forEach(function(nt){nt.forEach(function(ct){if(ct.sourceLinks.length){var qt=(t.sum(ct.sourceLinks,b)/t.sum(ct.sourceLinks,d)-v(ct))*Ge;ct.y0+=qt,ct.y1+=qt}})})}function ce(){Ee.forEach(function(Ge){var nt,ct,qt=P,rt=Ge.length,ot;for(Ge.sort(h),ot=0;ot<rt;++ot)nt=Ge[ot],ct=qt-nt.y0,ct>0&&(nt.y0+=ct,nt.y1+=ct),qt=nt.y1+V;if(ct=qt-V-F,ct>0)for(qt=nt.y0-=ct,nt.y1-=ct,ot=rt-2;ot>=0;--ot)nt=Ge[ot],ct=nt.y1+V-qt,ct>0&&(nt.y0-=ct,nt.y1-=ct),qt=nt.y0})}}function ie(Te){Te.nodes.forEach(function(Ee){Ee.sourceLinks.sort(f),Ee.targetLinks.sort(c)}),Te.nodes.forEach(function(Ee){var Ae=Ee.y0,ze=Ae;Ee.sourceLinks.forEach(function(Ce){Ce.y0=Ae+Ce.width/2,Ae+=Ce.width}),Ee.targetLinks.forEach(function(Ce){Ce.y1=ze+Ce.width/2,ze+=Ce.width})})}return ae};function _(g){return[g.source.x1,g.y0]}function C(g){return[g.target.x0,g.y1]}var M=function(){return n.linkHorizontal().source(_).target(C)};e.sankey=L,e.sankeyCenter=l,e.sankeyLeft=a,e.sankeyRight=o,e.sankeyJustify=s,e.sankeyLinkHorizontal=M,Object.defineProperty(e,\"__esModule\",{value:!0})})});var kje=ye((__r,Eje)=>{var SWt=LJ();Eje.exports=function(t,r){var n=[],i=[],a=[],o={},s=[],l;function u(k){a[k]=!1,o.hasOwnProperty(k)&&Object.keys(o[k]).forEach(function(A){delete o[k][A],a[A]&&u(A)})}function c(k){var A=!1;i.push(k),a[k]=!0;var L,_;for(L=0;L<s[k].length;L++)_=s[k][L],_===l?(f(l,i),A=!0):a[_]||(A=c(_));if(A)u(k);else for(L=0;L<s[k].length;L++){_=s[k][L];var C=o[_];C||(C={},o[_]=C),C[_]=!0}return i.pop(),A}function f(k,A){var L=[].concat(A).concat(k);r?r(c):n.push(L)}function h(k){for(var A=0;A<t.length;A++)A<k&&(t[A]=[]),t[A]=t[A].filter(function(L){return L>=k})}function d(k){h(k);for(var A=t,L=SWt(A),_=L.components.filter(function(q){return q.length>1}),C=1/0,M,g=0;g<_.length;g++)for(var P=0;P<_[g].length;P++)_[g][P]<C&&(C=_[g][P],M=g);var T=_[M];if(!T)return!1;var F=t.map(function(q,V){return T.indexOf(V)===-1?[]:q.filter(function(H){return T.indexOf(H)!==-1})});return{leastVertex:C,adjList:F}}l=0;for(var v=t.length;l<v;){var x=d(l);if(l=x.leastVertex,s=x.adjList,s){for(var b=0;b<s.length;b++)for(var p=0;p<s[b].length;p++){var E=s[b][p];a[+E]=!1,o[E]={}}c(l),l=l+1}else l=v}if(!r)return n}});var Lje=ye((x7,Cje)=>{(function(e,t){typeof x7==\"object\"&&typeof Cje!=\"undefined\"?t(x7,$E(),d7(),PJ(),kje()):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,null)})(x7,function(e,t,r,n,i){\"use strict\";i=i&&i.hasOwnProperty(\"default\")?i.default:i;function a(rt){return rt.target.depth}function o(rt){return rt.depth}function s(rt,ot){return ot-1-rt.height}function l(rt,ot){return rt.sourceLinks.length?rt.depth:ot-1}function u(rt){return rt.targetLinks.length?rt.depth:rt.sourceLinks.length?t.min(rt.sourceLinks,a)-1:0}function c(rt){return function(){return rt}}var f=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(rt){return typeof rt}:function(rt){return rt&&typeof Symbol==\"function\"&&rt.constructor===Symbol&&rt!==Symbol.prototype?\"symbol\":typeof rt};function h(rt,ot){return v(rt.source,ot.source)||rt.index-ot.index}function d(rt,ot){return v(rt.target,ot.target)||rt.index-ot.index}function v(rt,ot){return rt.partOfCycle===ot.partOfCycle?rt.y0-ot.y0:rt.circularLinkType===\"top\"||ot.circularLinkType===\"bottom\"?-1:1}function x(rt){return rt.value}function b(rt){return(rt.y0+rt.y1)/2}function p(rt){return b(rt.source)}function E(rt){return b(rt.target)}function k(rt){return rt.index}function A(rt){return rt.nodes}function L(rt){return rt.links}function _(rt,ot){var Rt=rt.get(ot);if(!Rt)throw new Error(\"missing: \"+ot);return Rt}function C(rt,ot){return ot(rt)}var M=25,g=10,P=.3;function T(){var rt=0,ot=0,Rt=1,kt=1,Ct=24,Yt,xr=k,er=l,Ke=A,xt=L,bt=32,Lt=2,St,Et=null;function dt(){var ut={nodes:Ke.apply(null,arguments),links:xt.apply(null,arguments)};Ht(ut),F(ut,xr,Et),$t(ut),Br(ut),q(ut,xr),Or(ut,bt,xr),Nr(ut);for(var Ne=4,Ye=0;Ye<Ne;Ye++)Re(ut,kt,xr),ce(ut,kt,xr),ze(ut,ot,kt,xr),Re(ut,kt,xr),ce(ut,kt,xr);return qt(ut,ot,kt),W(ut,Lt,kt,xr),ut}dt.nodeId=function(ut){return arguments.length?(xr=typeof ut==\"function\"?ut:c(ut),dt):xr},dt.nodeAlign=function(ut){return arguments.length?(er=typeof ut==\"function\"?ut:c(ut),dt):er},dt.nodeWidth=function(ut){return arguments.length?(Ct=+ut,dt):Ct},dt.nodePadding=function(ut){return arguments.length?(Yt=+ut,dt):Yt},dt.nodes=function(ut){return arguments.length?(Ke=typeof ut==\"function\"?ut:c(ut),dt):Ke},dt.links=function(ut){return arguments.length?(xt=typeof ut==\"function\"?ut:c(ut),dt):xt},dt.size=function(ut){return arguments.length?(rt=ot=0,Rt=+ut[0],kt=+ut[1],dt):[Rt-rt,kt-ot]},dt.extent=function(ut){return arguments.length?(rt=+ut[0][0],Rt=+ut[1][0],ot=+ut[0][1],kt=+ut[1][1],dt):[[rt,ot],[Rt,kt]]},dt.iterations=function(ut){return arguments.length?(bt=+ut,dt):bt},dt.circularLinkGap=function(ut){return arguments.length?(Lt=+ut,dt):Lt},dt.nodePaddingRatio=function(ut){return arguments.length?(St=+ut,dt):St},dt.sortNodes=function(ut){return arguments.length?(Et=ut,dt):Et},dt.update=function(ut){return q(ut,xr),Nr(ut),ut.links.forEach(function(Ne){Ne.circular&&(Ne.circularLinkType=Ne.y0+Ne.y1<kt?\"top\":\"bottom\",Ne.source.circularLinkType=Ne.circularLinkType,Ne.target.circularLinkType=Ne.circularLinkType)}),Re(ut,kt,xr,!1),ce(ut,kt,xr),W(ut,Lt,kt,xr),ut};function Ht(ut){ut.nodes.forEach(function(Ye,Ve){Ye.index=Ve,Ye.sourceLinks=[],Ye.targetLinks=[]});var Ne=r.map(ut.nodes,xr);return ut.links.forEach(function(Ye,Ve){Ye.index=Ve;var Xe=Ye.source,ht=Ye.target;(typeof Xe==\"undefined\"?\"undefined\":f(Xe))!==\"object\"&&(Xe=Ye.source=_(Ne,Xe)),(typeof ht==\"undefined\"?\"undefined\":f(ht))!==\"object\"&&(ht=Ye.target=_(Ne,ht)),Xe.sourceLinks.push(Ye),ht.targetLinks.push(Ye)}),ut}function $t(ut){ut.nodes.forEach(function(Ne){Ne.partOfCycle=!1,Ne.value=Math.max(t.sum(Ne.sourceLinks,x),t.sum(Ne.targetLinks,x)),Ne.sourceLinks.forEach(function(Ye){Ye.circular&&(Ne.partOfCycle=!0,Ne.circularLinkType=Ye.circularLinkType)}),Ne.targetLinks.forEach(function(Ye){Ye.circular&&(Ne.partOfCycle=!0,Ne.circularLinkType=Ye.circularLinkType)})})}function fr(ut){var Ne=0,Ye=0,Ve=0,Xe=0,ht=t.max(ut.nodes,function(Le){return Le.column});return ut.links.forEach(function(Le){Le.circular&&(Le.circularLinkType==\"top\"?Ne=Ne+Le.width:Ye=Ye+Le.width,Le.target.column==0&&(Xe=Xe+Le.width),Le.source.column==ht&&(Ve=Ve+Le.width))}),Ne=Ne>0?Ne+M+g:Ne,Ye=Ye>0?Ye+M+g:Ye,Ve=Ve>0?Ve+M+g:Ve,Xe=Xe>0?Xe+M+g:Xe,{top:Ne,bottom:Ye,left:Xe,right:Ve}}function _r(ut,Ne){var Ye=t.max(ut.nodes,function(lt){return lt.column}),Ve=Rt-rt,Xe=kt-ot,ht=Ve+Ne.right+Ne.left,Le=Xe+Ne.top+Ne.bottom,xe=Ve/ht,Se=Xe/Le;return rt=rt*xe+Ne.left,Rt=Ne.right==0?Rt:Rt*xe,ot=ot*Se+Ne.top,kt=kt*Se,ut.nodes.forEach(function(lt){lt.x0=rt+lt.column*((Rt-rt-Ct)/Ye),lt.x1=lt.x0+Ct}),Se}function Br(ut){var Ne,Ye,Ve;for(Ne=ut.nodes,Ye=[],Ve=0;Ne.length;++Ve,Ne=Ye,Ye=[])Ne.forEach(function(Xe){Xe.depth=Ve,Xe.sourceLinks.forEach(function(ht){Ye.indexOf(ht.target)<0&&!ht.circular&&Ye.push(ht.target)})});for(Ne=ut.nodes,Ye=[],Ve=0;Ne.length;++Ve,Ne=Ye,Ye=[])Ne.forEach(function(Xe){Xe.height=Ve,Xe.targetLinks.forEach(function(ht){Ye.indexOf(ht.source)<0&&!ht.circular&&Ye.push(ht.source)})});ut.nodes.forEach(function(Xe){Xe.column=Math.floor(er.call(null,Xe,Ve))})}function Or(ut,Ne,Ye){var Ve=r.nest().key(function(lt){return lt.column}).sortKeys(t.ascending).entries(ut.nodes).map(function(lt){return lt.values});Le(Ye),Se();for(var Xe=1,ht=Ne;ht>0;--ht)xe(Xe*=.99,Ye),Se();function Le(lt){if(St){var Gt=1/0;Ve.forEach(function(ai){var jr=kt*St/(ai.length+1);Gt=jr<Gt?jr:Gt}),Yt=Gt}var Vt=t.min(Ve,function(ai){return(kt-ot-(ai.length-1)*Yt)/t.sum(ai,x)});Vt=Vt*P,ut.links.forEach(function(ai){ai.width=ai.value*Vt});var ar=fr(ut),Qr=_r(ut,ar);Vt=Vt*Qr,ut.links.forEach(function(ai){ai.width=ai.value*Vt}),Ve.forEach(function(ai){var jr=ai.length;ai.forEach(function(ri,bi){ri.depth==Ve.length-1&&jr==1||ri.depth==0&&jr==1?(ri.y0=kt/2-ri.value*Vt,ri.y1=ri.y0+ri.value*Vt):ri.partOfCycle?X(ri,lt)==0?(ri.y0=kt/2+bi,ri.y1=ri.y0+ri.value*Vt):ri.circularLinkType==\"top\"?(ri.y0=ot+bi,ri.y1=ri.y0+ri.value*Vt):(ri.y0=kt-ri.value*Vt-bi,ri.y1=ri.y0+ri.value*Vt):ar.top==0||ar.bottom==0?(ri.y0=(kt-ot)/jr*bi,ri.y1=ri.y0+ri.value*Vt):(ri.y0=(kt-ot)/2-jr/2+bi,ri.y1=ri.y0+ri.value*Vt)})})}function xe(lt,Gt){var Vt=Ve.length;Ve.forEach(function(ar){var Qr=ar.length,ai=ar[0].depth;ar.forEach(function(jr){var ri;if((jr.sourceLinks.length||jr.targetLinks.length)&&!(jr.partOfCycle&&X(jr,Gt)>0))if(ai==0&&Qr==1)ri=jr.y1-jr.y0,jr.y0=kt/2-ri/2,jr.y1=kt/2+ri/2;else if(ai==Vt-1&&Qr==1)ri=jr.y1-jr.y0,jr.y0=kt/2-ri/2,jr.y1=kt/2+ri/2;else{var bi=0,nn=t.mean(jr.sourceLinks,E),Wi=t.mean(jr.targetLinks,p);nn&&Wi?bi=(nn+Wi)/2:bi=nn||Wi;var Ni=(bi-b(jr))*lt;jr.y0+=Ni,jr.y1+=Ni}})})}function Se(){Ve.forEach(function(lt){var Gt,Vt,ar=ot,Qr=lt.length,ai;for(lt.sort(v),ai=0;ai<Qr;++ai)Gt=lt[ai],Vt=ar-Gt.y0,Vt>0&&(Gt.y0+=Vt,Gt.y1+=Vt),ar=Gt.y1+Yt;if(Vt=ar-Yt-kt,Vt>0)for(ar=Gt.y0-=Vt,Gt.y1-=Vt,ai=Qr-2;ai>=0;--ai)Gt=lt[ai],Vt=Gt.y1+Yt-ar,Vt>0&&(Gt.y0-=Vt,Gt.y1-=Vt),ar=Gt.y0})}}function Nr(ut){ut.nodes.forEach(function(Ne){Ne.sourceLinks.sort(d),Ne.targetLinks.sort(h)}),ut.nodes.forEach(function(Ne){var Ye=Ne.y0,Ve=Ye,Xe=Ne.y1,ht=Xe;Ne.sourceLinks.forEach(function(Le){Le.circular?(Le.y0=Xe-Le.width/2,Xe=Xe-Le.width):(Le.y0=Ye+Le.width/2,Ye+=Le.width)}),Ne.targetLinks.forEach(function(Le){Le.circular?(Le.y1=ht-Le.width/2,ht=ht-Le.width):(Le.y1=Ve+Le.width/2,Ve+=Le.width)})})}return dt}function F(rt,ot,Rt){var kt=0;if(Rt===null){for(var Ct=[],Yt=0;Yt<rt.links.length;Yt++){var xr=rt.links[Yt],er=xr.source.index,Ke=xr.target.index;Ct[er]||(Ct[er]=[]),Ct[Ke]||(Ct[Ke]=[]),Ct[er].indexOf(Ke)===-1&&Ct[er].push(Ke)}var xt=i(Ct);xt.sort(function(Et,dt){return Et.length-dt.length});var bt={};for(Yt=0;Yt<xt.length;Yt++){var Lt=xt[Yt],St=Lt.slice(-2);bt[St[0]]||(bt[St[0]]={}),bt[St[0]][St[1]]=!0}rt.links.forEach(function(Et){var dt=Et.target.index,Ht=Et.source.index;dt===Ht||bt[Ht]&&bt[Ht][dt]?(Et.circular=!0,Et.circularLinkID=kt,kt=kt+1):Et.circular=!1})}else rt.links.forEach(function(Et){Et.source[Rt]<Et.target[Rt]?Et.circular=!1:(Et.circular=!0,Et.circularLinkID=kt,kt=kt+1)})}function q(rt,ot){var Rt=0,kt=0;rt.links.forEach(function(Ct){Ct.circular&&(Ct.source.circularLinkType||Ct.target.circularLinkType?Ct.circularLinkType=Ct.source.circularLinkType?Ct.source.circularLinkType:Ct.target.circularLinkType:Ct.circularLinkType=Rt<kt?\"top\":\"bottom\",Ct.circularLinkType==\"top\"?Rt=Rt+1:kt=kt+1,rt.nodes.forEach(function(Yt){(C(Yt,ot)==C(Ct.source,ot)||C(Yt,ot)==C(Ct.target,ot))&&(Yt.circularLinkType=Ct.circularLinkType)}))}),rt.links.forEach(function(Ct){Ct.circular&&(Ct.source.circularLinkType==Ct.target.circularLinkType&&(Ct.circularLinkType=Ct.source.circularLinkType),ct(Ct,ot)&&(Ct.circularLinkType=Ct.source.circularLinkType))})}function V(rt){var ot=Math.abs(rt.y1-rt.y0),Rt=Math.abs(rt.target.x0-rt.source.x1);return Math.atan(Rt/ot)}function H(rt,ot){return rt.source.column<ot.target.column?!1:!(rt.target.column>ot.source.column)}function X(rt,ot){var Rt=0;rt.sourceLinks.forEach(function(Ct){Rt=Ct.circular&&!ct(Ct,ot)?Rt+1:Rt});var kt=0;return rt.targetLinks.forEach(function(Ct){kt=Ct.circular&&!ct(Ct,ot)?kt+1:kt}),Rt+kt}function G(rt){var ot=rt.source.sourceLinks,Rt=0;ot.forEach(function(Yt){Rt=Yt.circular?Rt+1:Rt});var kt=rt.target.targetLinks,Ct=0;return kt.forEach(function(Yt){Ct=Yt.circular?Ct+1:Ct}),!(Rt>1||Ct>1)}function N(rt,ot,Rt){return rt.sort(ae),rt.forEach(function(kt,Ct){var Yt=0;if(ct(kt,Rt)&&G(kt))kt.circularPathData.verticalBuffer=Yt+kt.width/2;else{var xr=0;for(xr;xr<Ct;xr++)if(H(rt[Ct],rt[xr])){var er=rt[xr].circularPathData.verticalBuffer+rt[xr].width/2+ot;Yt=er>Yt?er:Yt}kt.circularPathData.verticalBuffer=Yt+kt.width/2}}),rt}function W(rt,ot,Rt,kt){var Ct=5,Yt=t.min(rt.links,function(Ke){return Ke.source.y0});rt.links.forEach(function(Ke){Ke.circular&&(Ke.circularPathData={})});var xr=rt.links.filter(function(Ke){return Ke.circularLinkType==\"top\"});N(xr,ot,kt);var er=rt.links.filter(function(Ke){return Ke.circularLinkType==\"bottom\"});N(er,ot,kt),rt.links.forEach(function(Ke){if(Ke.circular){if(Ke.circularPathData.arcRadius=Ke.width+g,Ke.circularPathData.leftNodeBuffer=Ct,Ke.circularPathData.rightNodeBuffer=Ct,Ke.circularPathData.sourceWidth=Ke.source.x1-Ke.source.x0,Ke.circularPathData.sourceX=Ke.source.x0+Ke.circularPathData.sourceWidth,Ke.circularPathData.targetX=Ke.target.x0,Ke.circularPathData.sourceY=Ke.y0,Ke.circularPathData.targetY=Ke.y1,ct(Ke,kt)&&G(Ke))Ke.circularPathData.leftSmallArcRadius=g+Ke.width/2,Ke.circularPathData.leftLargeArcRadius=g+Ke.width/2,Ke.circularPathData.rightSmallArcRadius=g+Ke.width/2,Ke.circularPathData.rightLargeArcRadius=g+Ke.width/2,Ke.circularLinkType==\"bottom\"?(Ke.circularPathData.verticalFullExtent=Ke.source.y1+M+Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.rightLargeArcRadius):(Ke.circularPathData.verticalFullExtent=Ke.source.y0-M-Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.rightLargeArcRadius);else{var xt=Ke.source.column,bt=Ke.circularLinkType,Lt=rt.links.filter(function(dt){return dt.source.column==xt&&dt.circularLinkType==bt});Ke.circularLinkType==\"bottom\"?Lt.sort(Me):Lt.sort(_e);var St=0;Lt.forEach(function(dt,Ht){dt.circularLinkID==Ke.circularLinkID&&(Ke.circularPathData.leftSmallArcRadius=g+Ke.width/2+St,Ke.circularPathData.leftLargeArcRadius=g+Ke.width/2+Ht*ot+St),St=St+dt.width}),xt=Ke.target.column,Lt=rt.links.filter(function(dt){return dt.target.column==xt&&dt.circularLinkType==bt}),Ke.circularLinkType==\"bottom\"?Lt.sort(ge):Lt.sort(ke),St=0,Lt.forEach(function(dt,Ht){dt.circularLinkID==Ke.circularLinkID&&(Ke.circularPathData.rightSmallArcRadius=g+Ke.width/2+St,Ke.circularPathData.rightLargeArcRadius=g+Ke.width/2+Ht*ot+St),St=St+dt.width}),Ke.circularLinkType==\"bottom\"?(Ke.circularPathData.verticalFullExtent=Math.max(Rt,Ke.source.y1,Ke.target.y1)+M+Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.rightLargeArcRadius):(Ke.circularPathData.verticalFullExtent=Yt-M-Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.rightLargeArcRadius)}Ke.circularPathData.leftInnerExtent=Ke.circularPathData.sourceX+Ke.circularPathData.leftNodeBuffer,Ke.circularPathData.rightInnerExtent=Ke.circularPathData.targetX-Ke.circularPathData.rightNodeBuffer,Ke.circularPathData.leftFullExtent=Ke.circularPathData.sourceX+Ke.circularPathData.leftLargeArcRadius+Ke.circularPathData.leftNodeBuffer,Ke.circularPathData.rightFullExtent=Ke.circularPathData.targetX-Ke.circularPathData.rightLargeArcRadius-Ke.circularPathData.rightNodeBuffer}if(Ke.circular)Ke.path=re(Ke);else{var Et=n.linkHorizontal().source(function(dt){var Ht=dt.source.x0+(dt.source.x1-dt.source.x0),$t=dt.y0;return[Ht,$t]}).target(function(dt){var Ht=dt.target.x0,$t=dt.y1;return[Ht,$t]});Ke.path=Et(Ke)}})}function re(rt){var ot=\"\";return rt.circularLinkType==\"top\"?ot=\"M\"+rt.circularPathData.sourceX+\" \"+rt.circularPathData.sourceY+\" L\"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.sourceY+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftSmallArcRadius+\" 0 0 0 \"+rt.circularPathData.leftFullExtent+\" \"+(rt.circularPathData.sourceY-rt.circularPathData.leftSmallArcRadius)+\" L\"+rt.circularPathData.leftFullExtent+\" \"+rt.circularPathData.verticalLeftInnerExtent+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftLargeArcRadius+\" 0 0 0 \"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" L\"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightLargeArcRadius+\" 0 0 0 \"+rt.circularPathData.rightFullExtent+\" \"+rt.circularPathData.verticalRightInnerExtent+\" L\"+rt.circularPathData.rightFullExtent+\" \"+(rt.circularPathData.targetY-rt.circularPathData.rightSmallArcRadius)+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightSmallArcRadius+\" 0 0 0 \"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.targetY+\" L\"+rt.circularPathData.targetX+\" \"+rt.circularPathData.targetY:ot=\"M\"+rt.circularPathData.sourceX+\" \"+rt.circularPathData.sourceY+\" L\"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.sourceY+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftSmallArcRadius+\" 0 0 1 \"+rt.circularPathData.leftFullExtent+\" \"+(rt.circularPathData.sourceY+rt.circularPathData.leftSmallArcRadius)+\" L\"+rt.circularPathData.leftFullExtent+\" \"+rt.circularPathData.verticalLeftInnerExtent+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftLargeArcRadius+\" 0 0 1 \"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" L\"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightLargeArcRadius+\" 0 0 1 \"+rt.circularPathData.rightFullExtent+\" \"+rt.circularPathData.verticalRightInnerExtent+\" L\"+rt.circularPathData.rightFullExtent+\" \"+(rt.circularPathData.targetY+rt.circularPathData.rightSmallArcRadius)+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightSmallArcRadius+\" 0 0 1 \"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.targetY+\" L\"+rt.circularPathData.targetX+\" \"+rt.circularPathData.targetY,ot}function ae(rt,ot){return ie(rt)==ie(ot)?rt.circularLinkType==\"bottom\"?Me(rt,ot):_e(rt,ot):ie(ot)-ie(rt)}function _e(rt,ot){return rt.y0-ot.y0}function Me(rt,ot){return ot.y0-rt.y0}function ke(rt,ot){return rt.y1-ot.y1}function ge(rt,ot){return ot.y1-rt.y1}function ie(rt){return rt.target.column-rt.source.column}function Te(rt){return rt.target.x0-rt.source.x1}function Ee(rt,ot){var Rt=V(rt),kt=Te(ot)/Math.tan(Rt),Ct=nt(rt)==\"up\"?rt.y1+kt:rt.y1-kt;return Ct}function Ae(rt,ot){var Rt=V(rt),kt=Te(ot)/Math.tan(Rt),Ct=nt(rt)==\"up\"?rt.y1-kt:rt.y1+kt;return Ct}function ze(rt,ot,Rt,kt){rt.links.forEach(function(Ct){if(!Ct.circular&&Ct.target.column-Ct.source.column>1){var Yt=Ct.source.column+1,xr=Ct.target.column-1,er=1,Ke=xr-Yt+1;for(er=1;Yt<=xr;Yt++,er++)rt.nodes.forEach(function(xt){if(xt.column==Yt){var bt=er/(Ke+1),Lt=Math.pow(1-bt,3),St=3*bt*Math.pow(1-bt,2),Et=3*Math.pow(bt,2)*(1-bt),dt=Math.pow(bt,3),Ht=Lt*Ct.y0+St*Ct.y0+Et*Ct.y1+dt*Ct.y1,$t=Ht-Ct.width/2,fr=Ht+Ct.width/2,_r;$t>xt.y0&&$t<xt.y1?(_r=xt.y1-$t+10,_r=xt.circularLinkType==\"bottom\"?_r:-_r,xt=me(xt,_r,ot,Rt),rt.nodes.forEach(function(Br){C(Br,kt)==C(xt,kt)||Br.column!=xt.column||Ce(xt,Br)&&me(Br,_r,ot,Rt)})):fr>xt.y0&&fr<xt.y1?(_r=fr-xt.y0+10,xt=me(xt,_r,ot,Rt),rt.nodes.forEach(function(Br){C(Br,kt)==C(xt,kt)||Br.column!=xt.column||Br.y0<xt.y1&&Br.y1>xt.y1&&me(Br,_r,ot,Rt)})):$t<xt.y0&&fr>xt.y1&&(_r=fr-xt.y0+10,xt=me(xt,_r,ot,Rt),rt.nodes.forEach(function(Br){C(Br,kt)==C(xt,kt)||Br.column!=xt.column||Br.y0<xt.y1&&Br.y1>xt.y1&&me(Br,_r,ot,Rt)}))}})}})}function Ce(rt,ot){return rt.y0>ot.y0&&rt.y0<ot.y1||rt.y1>ot.y0&&rt.y1<ot.y1?!0:rt.y0<ot.y0&&rt.y1>ot.y1}function me(rt,ot,Rt,kt){return rt.y0+ot>=Rt&&rt.y1+ot<=kt&&(rt.y0=rt.y0+ot,rt.y1=rt.y1+ot,rt.targetLinks.forEach(function(Ct){Ct.y1=Ct.y1+ot}),rt.sourceLinks.forEach(function(Ct){Ct.y0=Ct.y0+ot})),rt}function Re(rt,ot,Rt,kt){rt.nodes.forEach(function(Ct){kt&&Ct.y+(Ct.y1-Ct.y0)>ot&&(Ct.y=Ct.y-(Ct.y+(Ct.y1-Ct.y0)-ot));var Yt=rt.links.filter(function(Ke){return C(Ke.source,Rt)==C(Ct,Rt)}),xr=Yt.length;xr>1&&Yt.sort(function(Ke,xt){if(!Ke.circular&&!xt.circular){if(Ke.target.column==xt.target.column)return Ke.y1-xt.y1;if(Ge(Ke,xt)){if(Ke.target.column>xt.target.column){var bt=Ae(xt,Ke);return Ke.y1-bt}if(xt.target.column>Ke.target.column){var Lt=Ae(Ke,xt);return Lt-xt.y1}}else return Ke.y1-xt.y1}if(Ke.circular&&!xt.circular)return Ke.circularLinkType==\"top\"?-1:1;if(xt.circular&&!Ke.circular)return xt.circularLinkType==\"top\"?1:-1;if(Ke.circular&&xt.circular)return Ke.circularLinkType===xt.circularLinkType&&Ke.circularLinkType==\"top\"?Ke.target.column===xt.target.column?Ke.target.y1-xt.target.y1:xt.target.column-Ke.target.column:Ke.circularLinkType===xt.circularLinkType&&Ke.circularLinkType==\"bottom\"?Ke.target.column===xt.target.column?xt.target.y1-Ke.target.y1:Ke.target.column-xt.target.column:Ke.circularLinkType==\"top\"?-1:1});var er=Ct.y0;Yt.forEach(function(Ke){Ke.y0=er+Ke.width/2,er=er+Ke.width}),Yt.forEach(function(Ke,xt){if(Ke.circularLinkType==\"bottom\"){var bt=xt+1,Lt=0;for(bt;bt<xr;bt++)Lt=Lt+Yt[bt].width;Ke.y0=Ct.y1-Lt-Ke.width/2}})})}function ce(rt,ot,Rt){rt.nodes.forEach(function(kt){var Ct=rt.links.filter(function(er){return C(er.target,Rt)==C(kt,Rt)}),Yt=Ct.length;Yt>1&&Ct.sort(function(er,Ke){if(!er.circular&&!Ke.circular){if(er.source.column==Ke.source.column)return er.y0-Ke.y0;if(Ge(er,Ke)){if(Ke.source.column<er.source.column){var xt=Ee(Ke,er);return er.y0-xt}if(er.source.column<Ke.source.column){var bt=Ee(er,Ke);return bt-Ke.y0}}else return er.y0-Ke.y0}if(er.circular&&!Ke.circular)return er.circularLinkType==\"top\"?-1:1;if(Ke.circular&&!er.circular)return Ke.circularLinkType==\"top\"?1:-1;if(er.circular&&Ke.circular)return er.circularLinkType===Ke.circularLinkType&&er.circularLinkType==\"top\"?er.source.column===Ke.source.column?er.source.y1-Ke.source.y1:er.source.column-Ke.source.column:er.circularLinkType===Ke.circularLinkType&&er.circularLinkType==\"bottom\"?er.source.column===Ke.source.column?er.source.y1-Ke.source.y1:Ke.source.column-er.source.column:er.circularLinkType==\"top\"?-1:1});var xr=kt.y0;Ct.forEach(function(er){er.y1=xr+er.width/2,xr=xr+er.width}),Ct.forEach(function(er,Ke){if(er.circularLinkType==\"bottom\"){var xt=Ke+1,bt=0;for(xt;xt<Yt;xt++)bt=bt+Ct[xt].width;er.y1=kt.y1-bt-er.width/2}})})}function Ge(rt,ot){return nt(rt)==nt(ot)}function nt(rt){return rt.y0-rt.y1>0?\"up\":\"down\"}function ct(rt,ot){return C(rt.source,ot)==C(rt.target,ot)}function qt(rt,ot,Rt){var kt=rt.nodes,Ct=rt.links,Yt=!1,xr=!1;if(Ct.forEach(function(St){St.circularLinkType==\"top\"?Yt=!0:St.circularLinkType==\"bottom\"&&(xr=!0)}),Yt==!1||xr==!1){var er=t.min(kt,function(St){return St.y0}),Ke=t.max(kt,function(St){return St.y1}),xt=Ke-er,bt=Rt-ot,Lt=bt/xt;kt.forEach(function(St){var Et=(St.y1-St.y0)*Lt;St.y0=(St.y0-er)*Lt,St.y1=St.y0+Et}),Ct.forEach(function(St){St.y0=(St.y0-er)*Lt,St.y1=(St.y1-er)*Lt,St.width=St.width*Lt})}}e.sankeyCircular=T,e.sankeyCenter=u,e.sankeyLeft=o,e.sankeyRight=s,e.sankeyJustify=l,Object.defineProperty(e,\"__esModule\",{value:!0})})});var IJ=ye((x_r,Pje)=>{\"use strict\";Pje.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\"}}});var Gje=ye((b_r,Hje)=>{\"use strict\";var Ije=bje(),MWt=(R2(),B1(I2)).interpolateNumber,CA=xa(),Gk=Mje(),EWt=Lje(),pu=IJ(),LA=id(),aw=va(),kWt=ao(),p1=Mr(),zJ=p1.strTranslate,CWt=p1.strRotate,FJ=Km(),jk=FJ.keyFun,b7=FJ.repeat,Oje=FJ.unwrap,Rje=Pl(),LWt=ba(),Bje=Nh(),PWt=Bje.CAP_SHIFT,IWt=Bje.LINE_SPACING,RWt=3;function DWt(e,t,r){var n=Oje(t),i=n.trace,a=i.domain,o=i.orientation===\"h\",s=i.node.pad,l=i.node.thickness,u={justify:Gk.sankeyJustify,left:Gk.sankeyLeft,right:Gk.sankeyRight,center:Gk.sankeyCenter}[i.node.align],c=e.width*(a.x[1]-a.x[0]),f=e.height*(a.y[1]-a.y[0]),h=n._nodes,d=n._links,v=n.circular,x;v?x=EWt.sankeyCircular().circularLinkGap(0):x=Gk.sankey(),x.iterations(pu.sankeyIterations).size(o?[c,f]:[f,c]).nodeWidth(l).nodePadding(s).nodeId(function(V){return V.pointNumber}).nodeAlign(u).nodes(h).links(d);var b=x();x.nodePadding()<s&&p1.warn(\"node.pad was reduced to \",x.nodePadding(),\" to fit within the figure.\");var p,E,k;for(var A in n._groupLookup){var L=parseInt(n._groupLookup[A]),_;for(p=0;p<b.nodes.length;p++)if(b.nodes[p].pointNumber===L){_=b.nodes[p];break}if(_){var C={pointNumber:parseInt(A),x0:_.x0,x1:_.x1,y0:_.y0,y1:_.y1,partOfGroup:!0,sourceLinks:[],targetLinks:[]};b.nodes.unshift(C),_.childrenNodes.unshift(C)}}function M(){for(p=0;p<b.nodes.length;p++){var V=b.nodes[p],H={},X,G;for(E=0;E<V.targetLinks.length;E++)G=V.targetLinks[E],X=G.source.pointNumber+\":\"+G.target.pointNumber,H.hasOwnProperty(X)||(H[X]=[]),H[X].push(G);var N=Object.keys(H);for(E=0;E<N.length;E++){X=N[E];var W=H[X],re=0,ae={};for(k=0;k<W.length;k++)G=W[k],ae[G.label]||(ae[G.label]=0),ae[G.label]+=G.value,re+=G.value;for(k=0;k<W.length;k++)G=W[k],G.flow={value:re,labelConcentration:ae[G.label]/re,concentration:G.value/re,links:W},G.concentrationscale&&(G.color=LA(G.concentrationscale(G.flow.labelConcentration)))}var _e=0;for(E=0;E<V.sourceLinks.length;E++)_e+=V.sourceLinks[E].value;for(E=0;E<V.sourceLinks.length;E++)G=V.sourceLinks[E],G.concentrationOut=G.value/_e;var Me=0;for(E=0;E<V.targetLinks.length;E++)Me+=V.targetLinks[E].value;for(E=0;E<V.targetLinks.length;E++)G=V.targetLinks[E],G.concenrationIn=G.value/Me}}M();function g(V){V.forEach(function(H){var X,G,N=0,W=H.length,re;for(H.sort(function(ae,_e){return ae.y0-_e.y0}),re=0;re<W;++re)X=H[re],X.y0>=N||(G=N-X.y0,G>1e-6&&(X.y0+=G,X.y1+=G)),N=X.y1+s})}function P(V){var H=V.map(function(_e,Me){return{x0:_e.x0,index:Me}}).sort(function(_e,Me){return _e.x0-Me.x0}),X=[],G=-1,N,W=-1/0,re;for(p=0;p<H.length;p++){var ae=V[H[p].index];ae.x0>W+l&&(G+=1,N=ae.x0),W=ae.x0,X[G]||(X[G]=[]),X[G].push(ae),re=N-ae.x0,ae.x0+=re,ae.x1+=re}return X}if(i.node.x.length&&i.node.y.length){for(p=0;p<Math.min(i.node.x.length,i.node.y.length,b.nodes.length);p++)if(i.node.x[p]&&i.node.y[p]){var T=[i.node.x[p]*c,i.node.y[p]*f];b.nodes[p].x0=T[0]-l/2,b.nodes[p].x1=T[0]+l/2;var F=b.nodes[p].y1-b.nodes[p].y0;b.nodes[p].y0=T[1]-F/2,b.nodes[p].y1=T[1]+F/2}if(i.arrangement===\"snap\"){h=b.nodes;var q=P(h);g(q)}x.update(b)}return{circular:v,key:r,trace:i,guid:p1.randstr(),horizontal:o,width:c,height:f,nodePad:i.node.pad,nodeLineColor:i.node.line.color,nodeLineWidth:i.node.line.width,linkLineColor:i.link.line.color,linkLineWidth:i.link.line.width,linkArrowLength:i.link.arrowlen,valueFormat:i.valueformat,valueSuffix:i.valuesuffix,textFont:i.textfont,translateX:a.x[0]*e.width+e.margin.l,translateY:e.height-a.y[1]*e.height+e.margin.t,dragParallel:o?f:c,dragPerpendicular:o?c:f,arrangement:i.arrangement,sankey:x,graph:b,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function zWt(e,t,r){var n=LA(t.color),i=LA(t.hovercolor),a=t.source.label+\"|\"+t.target.label,o=a+\"__\"+r;return t.trace=e.trace,t.curveNumber=e.trace.index,{circular:e.circular,key:o,traceId:e.key,pointNumber:t.pointNumber,link:t,tinyColorHue:aw.tinyRGB(n),tinyColorAlpha:n.getAlpha(),tinyColorHoverHue:aw.tinyRGB(i),tinyColorHoverAlpha:i.getAlpha(),linkPath:qJ,linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,linkArrowLength:e.linkArrowLength,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,parent:e,interactionState:e.interactionState,flow:t.flow}}function FWt(e,t){var r=\"\",n=e.width/2,i=e.circularPathData,a=i.sourceX+i.verticalBuffer<i.targetX,o=i.rightFullExtent-i.rightLargeArcRadius-t<=i.leftFullExtent-n,s=Math.abs(i.rightFullExtent-i.leftFullExtent-n)<n;return e.circularLinkType===\"top\"?(r=\"M \"+(i.targetX-t)+\" \"+(i.targetY+n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.targetY+n)+\"A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightSmallArcRadius+n)+\" 0 0 1 \"+(i.rightFullExtent-n-t)+\" \"+(i.targetY-i.rightSmallArcRadius)+\"L \"+(i.rightFullExtent-n-t)+\" \"+i.verticalRightInnerExtent,a&&o?r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 1 \"+(i.rightFullExtent+n-t-(i.rightLargeArcRadius-n))+\" \"+(i.verticalRightInnerExtent-(i.rightLargeArcRadius+n))+\" L \"+(i.rightFullExtent+n-(i.rightLargeArcRadius-n)-t)+\" \"+(i.verticalRightInnerExtent-(i.rightLargeArcRadius+n))+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftLargeArcRadius+n)+\" 0 0 1 \"+(i.leftFullExtent+n)+\" \"+i.verticalRightInnerExtent:a?r+=\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightLargeArcRadius-n)+\" 0 0 0 \"+(i.rightFullExtent-n-t-(i.rightLargeArcRadius-n))+\" \"+(i.verticalRightInnerExtent-(i.rightLargeArcRadius-n))+\" L \"+(i.leftFullExtent+n+(i.rightLargeArcRadius-n))+\" \"+(i.verticalRightInnerExtent-(i.rightLargeArcRadius-n))+\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftLargeArcRadius-n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent:r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 1 \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent-n)+\" L \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftLargeArcRadius+n)+\" 0 0 1 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent,r+=\" L \"+(i.leftFullExtent+n)+\" \"+(i.sourceY-i.leftSmallArcRadius)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 1 \"+i.leftInnerExtent+\" \"+(i.sourceY+n)+\" L \"+i.sourceX+\" \"+(i.sourceY+n)+\" L \"+i.sourceX+\" \"+(i.sourceY-n)+\" L \"+i.leftInnerExtent+\" \"+(i.sourceY-n)+\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftSmallArcRadius-n)+\" 0 0 0 \"+(i.leftFullExtent-n)+\" \"+(i.sourceY-i.leftSmallArcRadius)+\" L \"+(i.leftFullExtent-n)+\" \"+i.verticalLeftInnerExtent,a&&o?r+=\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent-n)+\" \"+(i.verticalFullExtent+n)+\"L\"+(i.rightFullExtent+n-t)+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 0 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:a?r+=\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 1 \"+(i.leftFullExtent+n)+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.rightFullExtent-n-t)+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 1 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:r+=\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftLargeArcRadius-n)+\" 0 0 0 \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent+n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightLargeArcRadius-n)+\" 0 0 0 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent,r+=\" L \"+(i.rightFullExtent+n-t)+\" \"+(i.targetY-i.rightSmallArcRadius)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 0 \"+(i.rightInnerExtent-t)+\" \"+(i.targetY-n)+\" L \"+(i.targetX-t)+\" \"+(i.targetY-n)+(t>0?\" L \"+i.targetX+\" \"+i.targetY:\"\")+\"Z\"):(r=\"M \"+(i.targetX-t)+\" \"+(i.targetY-n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.targetY-n)+\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightSmallArcRadius+n)+\" 0 0 0 \"+(i.rightFullExtent-n-t)+\" \"+(i.targetY+i.rightSmallArcRadius)+\" L \"+(i.rightFullExtent-n-t)+\" \"+i.verticalRightInnerExtent,a&&o?r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.rightInnerExtent-n-t)+\" \"+(i.verticalFullExtent+n)+\" L \"+(i.rightFullExtent+n-t-(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent:a?r+=\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.rightFullExtent-t-n-(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.leftFullExtent+n+(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent:r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent+n)+\" L \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftLargeArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent,r+=\" L \"+(i.leftFullExtent+n)+\" \"+(i.sourceY+i.leftSmallArcRadius)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 0 \"+i.leftInnerExtent+\" \"+(i.sourceY-n)+\" L \"+i.sourceX+\" \"+(i.sourceY-n)+\" L \"+i.sourceX+\" \"+(i.sourceY+n)+\" L \"+i.leftInnerExtent+\" \"+(i.sourceY+n)+\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftSmallArcRadius-n)+\" 0 0 1 \"+(i.leftFullExtent-n)+\" \"+(i.sourceY+i.leftSmallArcRadius)+\" L \"+(i.leftFullExtent-n)+\" \"+i.verticalLeftInnerExtent,a&&o?r+=\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.leftFullExtent-n-(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.rightFullExtent+n-t+(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:a?r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+(i.verticalFullExtent+n)+\" L \"+(i.rightFullExtent-t-n)+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:r+=\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftLargeArcRadius-n)+\" 0 0 1 \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightLargeArcRadius-n)+\" 0 0 1 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent,r+=\" L \"+(i.rightFullExtent+n-t)+\" \"+(i.targetY+i.rightSmallArcRadius)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.rightInnerExtent-t)+\" \"+(i.targetY+n)+\" L \"+(i.targetX-t)+\" \"+(i.targetY+n)+(t>0?\" L \"+i.targetX+\" \"+i.targetY:\"\")+\"Z\"),r}function qJ(){var e=.5;function t(r){var n=r.linkArrowLength;if(r.link.circular)return FWt(r.link,n);var i=Math.abs((r.link.target.x0-r.link.source.x1)/2);n>i&&(n=i);var a=r.link.source.x1,o=r.link.target.x0-n,s=MWt(a,o),l=s(e),u=s(1-e),c=r.link.y0-r.link.width/2,f=r.link.y0+r.link.width/2,h=r.link.y1-r.link.width/2,d=r.link.y1+r.link.width/2,v=\"M\"+a+\",\"+c,x=\"C\"+l+\",\"+c+\" \"+u+\",\"+h+\" \"+o+\",\"+h,b=\"C\"+u+\",\"+d+\" \"+l+\",\"+f+\" \"+a+\",\"+f,p=n>0?\"L\"+(o+n)+\",\"+(h+r.link.width/2):\"\";return p+=\"L\"+o+\",\"+d,v+x+p+b+\"Z\"}return t}function qWt(e,t){var r=LA(t.color),n=pu.nodePadAcross,i=e.nodePad/2;t.dx=t.x1-t.x0,t.dy=t.y1-t.y0;var a=t.dx,o=Math.max(.5,t.dy),s=\"node_\"+t.pointNumber;return t.group&&(s=p1.randstr()),t.trace=e.trace,t.curveNumber=e.trace.index,{index:t.pointNumber,key:s,partOfGroup:t.partOfGroup||!1,group:t.group,traceId:e.key,trace:e.trace,node:t,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:e.horizontal?t.dy/2+1:t.dx/2+1,left:t.originalLayer===1,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:aw.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,graph:e.graph,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,s].join(\"_\"),interactionState:e.interactionState,figure:e}}function DJ(e){e.attr(\"transform\",function(t){return zJ(t.node.x0.toFixed(3),t.node.y0.toFixed(3))})}function OWt(e){e.call(DJ)}function Nje(e,t){e.call(OWt),t.attr(\"d\",qJ())}function Dje(e){e.attr(\"width\",function(t){return t.node.x1-t.node.x0}).attr(\"height\",function(t){return t.visibleHeight})}function RJ(e){return e.link.width>1||e.linkLineWidth>0}function zje(e){var t=zJ(e.translateX,e.translateY);return t+(e.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\")}function Fje(e,t,r){e.on(\".basic\",null).on(\"mouseover.basic\",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.hover(this,n,t),n.interactionState.hovered=[this,n])}).on(\"mousemove.basic\",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.follow(this,n),n.interactionState.hovered=[this,n])}).on(\"mouseout.basic\",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.unhover(this,n,t),n.interactionState.hovered=!1)}).on(\"click.basic\",function(n){n.interactionState.hovered&&(r.unhover(this,n,t),n.interactionState.hovered=!1),!n.interactionState.dragInProgress&&!n.partOfGroup&&r.select(this,n,t)})}function BWt(e,t,r,n){var i=CA.behavior.drag().origin(function(a){return{x:a.node.x0+a.visibleWidth/2,y:a.node.y0+a.visibleHeight/2}}).on(\"dragstart\",function(a){if(a.arrangement!==\"fixed\"&&(p1.ensureSingle(n._fullLayout._infolayer,\"g\",\"dragcover\",function(s){n._fullLayout._dragCover=s}),p1.raiseToTop(this),a.interactionState.dragInProgress=a.node,qje(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),a.arrangement===\"snap\")){var o=a.traceId+\"|\"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):NWt(e,o,a,n),UWt(e,t,a,o,n)}}).on(\"drag\",function(a){if(a.arrangement!==\"fixed\"){var o=CA.event.x,s=CA.event.y;a.arrangement===\"snap\"?(a.node.x0=o-a.visibleWidth/2,a.node.x1=o+a.visibleWidth/2,a.node.y0=s-a.visibleHeight/2,a.node.y1=s+a.visibleHeight/2):(a.arrangement===\"freeform\"&&(a.node.x0=o-a.visibleWidth/2,a.node.x1=o+a.visibleWidth/2),s=Math.max(0,Math.min(a.size-a.visibleHeight/2,s)),a.node.y0=s-a.visibleHeight/2,a.node.y1=s+a.visibleHeight/2),qje(a.node),a.arrangement!==\"snap\"&&(a.sankey.update(a.graph),Nje(e.filter(Vje(a)),t))}}).on(\"dragend\",function(a){if(a.arrangement!==\"fixed\"){a.interactionState.dragInProgress=!1;for(var o=0;o<a.node.childrenNodes.length;o++)a.node.childrenNodes[o].x=a.node.x,a.node.childrenNodes[o].y=a.node.y;a.arrangement!==\"snap\"&&Uje(a,n)}});e.on(\".drag\",null).call(i)}function NWt(e,t,r,n){GWt(r.graph.nodes);var i=r.graph.nodes.filter(function(a){return a.originalX===r.node.originalX}).filter(function(a){return!a.partOfGroup});r.forceLayouts[t]=Ije.forceSimulation(i).alphaDecay(0).force(\"collide\",Ije.forceCollide().radius(function(a){return a.dy/2+r.nodePad/2}).strength(1).iterations(pu.forceIterations)).force(\"constrain\",VWt(e,t,i,r,n)).stop()}function UWt(e,t,r,n,i){window.requestAnimationFrame(function a(){var o;for(o=0;o<pu.forceTicksPerFrame;o++)r.forceLayouts[n].tick();var s=r.graph.nodes;if(jWt(s),r.sankey.update(r.graph),Nje(e.filter(Vje(r)),t),r.forceLayouts[n].alpha()>0)window.requestAnimationFrame(a);else{var l=r.node.originalX;r.node.x0=l-r.visibleWidth/2,r.node.x1=l+r.visibleWidth/2,Uje(r,i)}})}function VWt(e,t,r,n){return function(){for(var a=0,o=0;o<r.length;o++){var s=r[o];s===n.interactionState.dragInProgress?(s.x=s.lastDraggedX,s.y=s.lastDraggedY):(s.vx=(s.originalX-s.x)/pu.forceTicksPerFrame,s.y=Math.min(n.size-s.dy/2,Math.max(s.dy/2,s.y))),a=Math.max(a,Math.abs(s.vx),Math.abs(s.vy))}!n.interactionState.dragInProgress&&a<.1&&n.forceLayouts[t].alpha()>0&&n.forceLayouts[t].alpha(0)}}function Uje(e,t){for(var r=[],n=[],i=0;i<e.graph.nodes.length;i++){var a=(e.graph.nodes[i].x0+e.graph.nodes[i].x1)/2,o=(e.graph.nodes[i].y0+e.graph.nodes[i].y1)/2;r.push(a/e.figure.width),n.push(o/e.figure.height)}LWt.call(\"_guiRestyle\",t,{\"node.x\":[r],\"node.y\":[n]},e.trace.index).then(function(){t._fullLayout._dragCover&&t._fullLayout._dragCover.remove()})}function HWt(e){var t=[],r;for(r=0;r<e.length;r++)e[r].originalX=(e[r].x0+e[r].x1)/2,e[r].originalY=(e[r].y0+e[r].y1)/2,t.indexOf(e[r].originalX)===-1&&t.push(e[r].originalX);for(t.sort(function(n,i){return n-i}),r=0;r<e.length;r++)e[r].originalLayerIndex=t.indexOf(e[r].originalX),e[r].originalLayer=e[r].originalLayerIndex/(t.length-1)}function qje(e){e.lastDraggedX=e.x0+e.dx/2,e.lastDraggedY=e.y0+e.dy/2}function Vje(e){return function(t){return t.node.originalX===e.node.originalX}}function GWt(e){for(var t=0;t<e.length;t++)e[t].y=(e[t].y0+e[t].y1)/2,e[t].x=(e[t].x0+e[t].x1)/2}function jWt(e){for(var t=0;t<e.length;t++)e[t].y0=e[t].y-e[t].dy/2,e[t].y1=e[t].y0+e[t].dy,e[t].x0=e[t].x-e[t].dx/2,e[t].x1=e[t].x0+e[t].dx}Hje.exports=function(e,t,r,n,i){var a=e._context.staticPlot,o=!1;p1.ensureSingle(e._fullLayout._infolayer,\"g\",\"first-render\",function(){o=!0});var s=e._fullLayout._dragCover,l=r.filter(function(b){return Oje(b).trace.visible}).map(DWt.bind(null,n)),u=t.selectAll(\".\"+pu.cn.sankey).data(l,jk);u.exit().remove(),u.enter().append(\"g\").classed(pu.cn.sankey,!0).style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"shape-rendering\",\"geometricPrecision\").style(\"pointer-events\",a?\"none\":\"auto\").attr(\"transform\",zje),u.each(function(b,p){e._fullData[p]._sankey=b;var E=\"bgsankey-\"+b.trace.uid+\"-\"+p;p1.ensureSingle(e._fullLayout._draggers,\"rect\",E),e._fullData[p]._bgRect=CA.select(\".\"+E),e._fullData[p]._bgRect.style(\"pointer-events\",a?\"none\":\"all\").attr(\"width\",b.width).attr(\"height\",b.height).attr(\"x\",b.translateX).attr(\"y\",b.translateY).classed(\"bgsankey\",!0).style({fill:\"transparent\",\"stroke-width\":0})}),u.transition().ease(pu.ease).duration(pu.duration).attr(\"transform\",zje);var c=u.selectAll(\".\"+pu.cn.sankeyLinks).data(b7,jk);c.enter().append(\"g\").classed(pu.cn.sankeyLinks,!0).style(\"fill\",\"none\");var f=c.selectAll(\".\"+pu.cn.sankeyLink).data(function(b){var p=b.graph.links;return p.filter(function(E){return E.value}).map(zWt.bind(null,b))},jk);f.enter().append(\"path\").classed(pu.cn.sankeyLink,!0).call(Fje,u,i.linkEvents),f.style(\"stroke\",function(b){return RJ(b)?aw.tinyRGB(LA(b.linkLineColor)):b.tinyColorHue}).style(\"stroke-opacity\",function(b){return RJ(b)?aw.opacity(b.linkLineColor):b.tinyColorAlpha}).style(\"fill\",function(b){return b.tinyColorHue}).style(\"fill-opacity\",function(b){return b.tinyColorAlpha}).style(\"stroke-width\",function(b){return RJ(b)?b.linkLineWidth:1}).attr(\"d\",qJ()),f.style(\"opacity\",function(){return e._context.staticPlot||o||s?1:0}).transition().ease(pu.ease).duration(pu.duration).style(\"opacity\",1),f.exit().transition().ease(pu.ease).duration(pu.duration).style(\"opacity\",0).remove();var h=u.selectAll(\".\"+pu.cn.sankeyNodeSet).data(b7,jk);h.enter().append(\"g\").classed(pu.cn.sankeyNodeSet,!0),h.style(\"cursor\",function(b){switch(b.arrangement){case\"fixed\":return\"default\";case\"perpendicular\":return\"ns-resize\";default:return\"move\"}});var d=h.selectAll(\".\"+pu.cn.sankeyNode).data(function(b){var p=b.graph.nodes;return HWt(p),p.map(qWt.bind(null,b))},jk);d.enter().append(\"g\").classed(pu.cn.sankeyNode,!0).call(DJ).style(\"opacity\",function(b){return(e._context.staticPlot||o)&&!b.partOfGroup?1:0}),d.call(Fje,u,i.nodeEvents).call(BWt,f,i,e),d.transition().ease(pu.ease).duration(pu.duration).call(DJ).style(\"opacity\",function(b){return b.partOfGroup?0:1}),d.exit().transition().ease(pu.ease).duration(pu.duration).style(\"opacity\",0).remove();var v=d.selectAll(\".\"+pu.cn.nodeRect).data(b7);v.enter().append(\"rect\").classed(pu.cn.nodeRect,!0).call(Dje),v.style(\"stroke-width\",function(b){return b.nodeLineWidth}).style(\"stroke\",function(b){return aw.tinyRGB(LA(b.nodeLineColor))}).style(\"stroke-opacity\",function(b){return aw.opacity(b.nodeLineColor)}).style(\"fill\",function(b){return b.tinyColorHue}).style(\"fill-opacity\",function(b){return b.tinyColorAlpha}),v.transition().ease(pu.ease).duration(pu.duration).call(Dje);var x=d.selectAll(\".\"+pu.cn.nodeLabel).data(b7);x.enter().append(\"text\").classed(pu.cn.nodeLabel,!0).style(\"cursor\",\"default\"),x.attr(\"data-notex\",1).text(function(b){return b.node.label}).each(function(b){var p=CA.select(this);kWt.font(p,b.textFont),Rje.convertToTspans(p,e)}).attr(\"text-anchor\",function(b){return b.horizontal&&b.left?\"end\":\"start\"}).attr(\"transform\",function(b){var p=CA.select(this),E=Rje.lineCount(p),k=b.textFont.size*((E-1)*IWt-PWt),A=b.nodeLineWidth/2+RWt,L=((b.horizontal?b.visibleHeight:b.visibleWidth)-k)/2;b.horizontal&&(b.left?A=-A:A+=b.visibleWidth);var _=b.horizontal?\"\":\"scale(-1,1)\"+CWt(90);return zJ(b.horizontal?A:L,b.horizontal?L:A)+_}),x.transition().ease(pu.ease).duration(pu.duration)}});var NJ=ye((w_r,Qje)=>{\"use strict\";var Zv=xa(),BJ=Mr(),w7=BJ.numberFormat,WWt=Gje(),PA=Nc(),ZWt=va(),Sx=IJ().cn,Wk=BJ._;function jje(e){return e!==\"\"}function IA(e,t){return e.filter(function(r){return r.key===t.traceId})}function Wje(e,t){Zv.select(e).select(\"path\").style(\"fill-opacity\",t),Zv.select(e).select(\"rect\").style(\"fill-opacity\",t)}function Zje(e){Zv.select(e).select(\"text.name\").style(\"fill\",\"black\")}function Xje(e){return function(t){return e.node.sourceLinks.indexOf(t.link)!==-1||e.node.targetLinks.indexOf(t.link)!==-1}}function Yje(e){return function(t){return t.node.sourceLinks.indexOf(e.link)!==-1||t.node.targetLinks.indexOf(e.link)!==-1}}function Kje(e,t,r){t&&r&&IA(r,t).selectAll(\".\"+Sx.sankeyLink).filter(Xje(t)).call(Jje.bind(0,t,r,!1))}function OJ(e,t,r){t&&r&&IA(r,t).selectAll(\".\"+Sx.sankeyLink).filter(Xje(t)).call($je.bind(0,t,r,!1))}function Jje(e,t,r,n){n.style(\"fill\",function(i){if(!i.link.concentrationscale)return i.tinyColorHoverHue}).style(\"fill-opacity\",function(i){if(!i.link.concentrationscale)return i.tinyColorHoverAlpha}),n.each(function(i){var a=i.link.label;a!==\"\"&&IA(t,e).selectAll(\".\"+Sx.sankeyLink).filter(function(o){return o.link.label===a}).style(\"fill\",function(o){if(!o.link.concentrationscale)return o.tinyColorHoverHue}).style(\"fill-opacity\",function(o){if(!o.link.concentrationscale)return o.tinyColorHoverAlpha})}),r&&IA(t,e).selectAll(\".\"+Sx.sankeyNode).filter(Yje(e)).call(Kje)}function $je(e,t,r,n){n.style(\"fill\",function(i){return i.tinyColorHue}).style(\"fill-opacity\",function(i){return i.tinyColorAlpha}),n.each(function(i){var a=i.link.label;a!==\"\"&&IA(t,e).selectAll(\".\"+Sx.sankeyLink).filter(function(o){return o.link.label===a}).style(\"fill\",function(o){return o.tinyColorHue}).style(\"fill-opacity\",function(o){return o.tinyColorAlpha})}),r&&IA(t,e).selectAll(Sx.sankeyNode).filter(Yje(e)).call(OJ)}function lf(e,t){var r=e.hoverlabel||{},n=BJ.nestedProperty(r,t).get();return Array.isArray(n)?!1:n}Qje.exports=function(t,r){for(var n=t._fullLayout,i=n._paper,a=n._size,o=0;o<t._fullData.length;o++)if(t._fullData[o].visible&&t._fullData[o].type===Sx.sankey&&!t._fullData[o]._viewInitial){var s=t._fullData[o].node;t._fullData[o]._viewInitial={node:{groups:s.groups.slice(),x:s.x.slice(),y:s.y.slice()}}}var l=function(L,_){var C=_.link;C.originalEvent=Zv.event,t._hoverdata=[C],PA.click(t,{target:!0})},u=function(L,_,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call(Jje.bind(0,_,C,!0)),_.link.trace.link.hoverinfo!==\"skip\"&&(_.link.fullData=_.link.trace,t.emit(\"plotly_hover\",{event:Zv.event,points:[_.link]})))},c=Wk(t,\"source:\")+\" \",f=Wk(t,\"target:\")+\" \",h=Wk(t,\"concentration:\")+\" \",d=Wk(t,\"incoming flow count:\")+\" \",v=Wk(t,\"outgoing flow count:\")+\" \",x=function(L,_){if(t._fullLayout.hovermode===!1)return;var C=_.link.trace.link;if(C.hoverinfo===\"none\"||C.hoverinfo===\"skip\")return;var M=[];function g(X){var G,N;X.circular?(G=(X.circularPathData.leftInnerExtent+X.circularPathData.rightInnerExtent)/2,N=X.circularPathData.verticalFullExtent):(G=(X.source.x1+X.target.x0)/2,N=(X.y0+X.y1)/2);var W=[G,N];return X.trace.orientation===\"v\"&&W.reverse(),W[0]+=_.parent.translateX,W[1]+=_.parent.translateY,W}for(var P=0,T=0;T<_.flow.links.length;T++){var F=_.flow.links[T];if(!(t._fullLayout.hovermode===\"closest\"&&_.link.pointNumber!==F.pointNumber)){_.link.pointNumber===F.pointNumber&&(P=T),F.fullData=F.trace,C=_.link.trace.link;var q=g(F),V={valueLabel:w7(_.valueFormat)(F.value)+_.valueSuffix};M.push({x:q[0],y:q[1],name:V.valueLabel,text:[F.label||\"\",c+F.source.label,f+F.target.label,F.concentrationscale?h+w7(\"%0.2f\")(F.flow.labelConcentration):\"\"].filter(jje).join(\"<br>\"),color:lf(C,\"bgcolor\")||ZWt.addOpacity(F.color,1),borderColor:lf(C,\"bordercolor\"),fontFamily:lf(C,\"font.family\"),fontSize:lf(C,\"font.size\"),fontColor:lf(C,\"font.color\"),fontWeight:lf(C,\"font.weight\"),fontStyle:lf(C,\"font.style\"),fontVariant:lf(C,\"font.variant\"),fontTextcase:lf(C,\"font.textcase\"),fontLineposition:lf(C,\"font.lineposition\"),fontShadow:lf(C,\"font.shadow\"),nameLength:lf(C,\"namelength\"),textAlign:lf(C,\"align\"),idealAlign:Zv.event.x<q[0]?\"right\":\"left\",hovertemplate:C.hovertemplate,hovertemplateLabels:V,eventData:[F]})}}var H=PA.loneHover(M,{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t,anchorIndex:P});H.each(function(){var X=this;_.link.concentrationscale||Wje(X,.65),Zje(X)})},b=function(L,_,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call($je.bind(0,_,C,!0)),_.link.trace.link.hoverinfo!==\"skip\"&&(_.link.fullData=_.link.trace,t.emit(\"plotly_unhover\",{event:Zv.event,points:[_.link]})),PA.loneUnhover(n._hoverlayer.node()))},p=function(L,_,C){var M=_.node;M.originalEvent=Zv.event,t._hoverdata=[M],Zv.select(L).call(OJ,_,C),PA.click(t,{target:!0})},E=function(L,_,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call(Kje,_,C),_.node.trace.node.hoverinfo!==\"skip\"&&(_.node.fullData=_.node.trace,t.emit(\"plotly_hover\",{event:Zv.event,points:[_.node]})))},k=function(L,_){if(t._fullLayout.hovermode!==!1){var C=_.node.trace.node;if(!(C.hoverinfo===\"none\"||C.hoverinfo===\"skip\")){var M=Zv.select(L).select(\".\"+Sx.nodeRect),g=t._fullLayout._paperdiv.node().getBoundingClientRect(),P=M.node().getBoundingClientRect(),T=P.left-2-g.left,F=P.right+2-g.left,q=P.top+P.height/4-g.top,V={valueLabel:w7(_.valueFormat)(_.node.value)+_.valueSuffix};_.node.fullData=_.node.trace,t._fullLayout._calcInverseTransform(t);var H=t._fullLayout._invScaleX,X=t._fullLayout._invScaleY,G=PA.loneHover({x0:H*T,x1:H*F,y:X*q,name:w7(_.valueFormat)(_.node.value)+_.valueSuffix,text:[_.node.label,d+_.node.targetLinks.length,v+_.node.sourceLinks.length].filter(jje).join(\"<br>\"),color:lf(C,\"bgcolor\")||_.tinyColorHue,borderColor:lf(C,\"bordercolor\"),fontFamily:lf(C,\"font.family\"),fontSize:lf(C,\"font.size\"),fontColor:lf(C,\"font.color\"),fontWeight:lf(C,\"font.weight\"),fontStyle:lf(C,\"font.style\"),fontVariant:lf(C,\"font.variant\"),fontTextcase:lf(C,\"font.textcase\"),fontLineposition:lf(C,\"font.lineposition\"),fontShadow:lf(C,\"font.shadow\"),nameLength:lf(C,\"namelength\"),textAlign:lf(C,\"align\"),idealAlign:\"left\",hovertemplate:C.hovertemplate,hovertemplateLabels:V,eventData:[_.node]},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t});Wje(G,.85),Zje(G)}}},A=function(L,_,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call(OJ,_,C),_.node.trace.node.hoverinfo!==\"skip\"&&(_.node.fullData=_.node.trace,t.emit(\"plotly_unhover\",{event:Zv.event,points:[_.node]})),PA.loneUnhover(n._hoverlayer.node()))};WWt(t,i,r,{width:a.w,height:a.h,margin:{t:a.t,r:a.r,b:a.b,l:a.l}},{linkEvents:{hover:u,follow:x,unhover:b,select:l},nodeEvents:{hover:E,follow:k,unhover:A,select:p}})}});var eWe=ye(ow=>{\"use strict\";var XWt=Bu().overrideAll,YWt=kd().getModuleCalcData,KWt=NJ(),JWt=N1(),$Wt=Tg(),QWt=gv(),eZt=wf().prepSelect,UJ=Mr(),tZt=ba(),T7=\"sankey\";ow.name=T7;ow.baseLayoutAttrOverrides=XWt({hoverlabel:JWt.hoverlabel},\"plot\",\"nested\");ow.plot=function(e){var t=YWt(e.calcdata,T7)[0];KWt(e,t),ow.updateFx(e)};ow.clean=function(e,t,r,n){var i=n._has&&n._has(T7),a=t._has&&t._has(T7);i&&!a&&(n._paperdiv.selectAll(\".sankey\").remove(),n._paperdiv.selectAll(\".bgsankey\").remove())};ow.updateFx=function(e){for(var t=0;t<e._fullData.length;t++)rZt(e,t)};function rZt(e,t){var r=e._fullData[t],n=e._fullLayout,i=n.dragmode,a=n.dragmode===\"pan\"?\"move\":\"crosshair\",o=r._bgRect;if(o&&!(i===\"pan\"||i===\"zoom\")){$Wt(o,a);var s={_id:\"x\",c2p:UJ.identity,_offset:r._sankey.translateX,_length:r._sankey.width},l={_id:\"y\",c2p:UJ.identity,_offset:r._sankey.translateY,_length:r._sankey.height},u={gd:e,element:o.node(),plotinfo:{id:t,xaxis:s,yaxis:l,fillRangeItems:UJ.noop},subplot:t,xaxes:[s],yaxes:[l],doneFnCompleted:function(c){var f=e._fullData[t],h,d=f.node.groups.slice(),v=[];function x(k){for(var A=f._sankey.graph.nodes,L=0;L<A.length;L++)if(A[L].pointNumber===k)return A[L]}for(var b=0;b<c.length;b++){var p=x(c[b].pointNumber);if(p)if(p.group){for(var E=0;E<p.childrenNodes.length;E++)v.push(p.childrenNodes[E].pointNumber);d[p.pointNumber-f.node._count]=!1}else v.push(p.pointNumber)}h=d.filter(Boolean).concat([v]),tZt.call(\"_guiRestyle\",e,{\"node.groups\":[h]},t)}};u.prepFn=function(c,f,h){eZt(c,f,h,u,i)},QWt.init(u)}}});var rWe=ye((A_r,tWe)=>{\"use strict\";tWe.exports=function(t,r){for(var n=t.cd,i=[],a=n[0].trace,o=a._sankey.graph.nodes,s=0;s<o.length;s++){var l=o[s];if(!l.partOfGroup){var u=[(l.x0+l.x1)/2,(l.y0+l.y1)/2];a.orientation===\"v\"&&u.reverse(),r&&r.contains(u,!1,s,t)&&i.push({pointNumber:l.pointNumber})}}return i}});var nWe=ye((S_r,iWe)=>{\"use strict\";iWe.exports={attributes:CJ(),supplyDefaults:sje(),calc:hje(),plot:NJ(),moduleType:\"trace\",name:\"sankey\",basePlotModule:eWe(),selectPoints:rWe(),categories:[\"noOpacity\"],meta:{}}});var oWe=ye((M_r,aWe)=>{\"use strict\";aWe.exports=nWe()});var lWe=ye(RA=>{\"use strict\";var sWe=Xu();RA.name=\"indicator\";RA.plot=function(e,t,r,n){sWe.plotBasePlot(RA.name,e,t,r,n)};RA.clean=function(e,t,r,n){sWe.cleanBasePlot(RA.name,e,t,r,n)}});var HJ=ye((k_r,vWe)=>{\"use strict\";var Mx=no().extendFlat,cWe=no().extendDeep,iZt=Bu().overrideAll,fWe=Su(),hWe=dh(),nZt=Ju().attributes,Sf=Cd(),aZt=Vs().templatedArray,A7=HT(),uWe=Oc().descriptionOnlyNumbers,VJ=fWe({editType:\"plot\",colorEditType:\"plot\"}),Zk={color:{valType:\"color\",editType:\"plot\"},line:{color:{valType:\"color\",dflt:hWe.defaultLine,editType:\"plot\"},width:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},thickness:{valType:\"number\",min:0,max:1,dflt:1,editType:\"plot\"},editType:\"calc\"},dWe={valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],editType:\"plot\"},oZt=aZt(\"step\",cWe({},Zk,{range:dWe}));vWe.exports={mode:{valType:\"flaglist\",editType:\"calc\",flags:[\"number\",\"delta\",\"gauge\"],dflt:\"number\"},value:{valType:\"number\",editType:\"calc\",anim:!0},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],editType:\"plot\"},domain:nZt({name:\"indicator\",trace:!0,editType:\"calc\"}),title:{text:{valType:\"string\",editType:\"plot\"},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],editType:\"plot\"},font:Mx({},VJ,{}),editType:\"plot\"},number:{valueformat:{valType:\"string\",dflt:\"\",editType:\"plot\",description:uWe(\"value\")},font:Mx({},VJ,{}),prefix:{valType:\"string\",dflt:\"\",editType:\"plot\"},suffix:{valType:\"string\",dflt:\"\",editType:\"plot\"},editType:\"plot\"},delta:{reference:{valType:\"number\",editType:\"calc\"},position:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"],dflt:\"bottom\",editType:\"plot\"},relative:{valType:\"boolean\",editType:\"plot\",dflt:!1},valueformat:{valType:\"string\",editType:\"plot\",description:uWe(\"value\")},increasing:{symbol:{valType:\"string\",dflt:A7.INCREASING.SYMBOL,editType:\"plot\"},color:{valType:\"color\",dflt:A7.INCREASING.COLOR,editType:\"plot\"},editType:\"plot\"},decreasing:{symbol:{valType:\"string\",dflt:A7.DECREASING.SYMBOL,editType:\"plot\"},color:{valType:\"color\",dflt:A7.DECREASING.COLOR,editType:\"plot\"},editType:\"plot\"},font:Mx({},VJ,{}),prefix:{valType:\"string\",dflt:\"\",editType:\"plot\"},suffix:{valType:\"string\",dflt:\"\",editType:\"plot\"},editType:\"calc\"},gauge:{shape:{valType:\"enumerated\",editType:\"plot\",dflt:\"angular\",values:[\"angular\",\"bullet\"]},bar:cWe({},Zk,{color:{dflt:\"green\"}}),bgcolor:{valType:\"color\",editType:\"plot\"},bordercolor:{valType:\"color\",dflt:hWe.defaultLine,editType:\"plot\"},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},axis:iZt({range:dWe,visible:Mx({},Sf.visible,{dflt:!0}),tickmode:Sf.minor.tickmode,nticks:Sf.nticks,tick0:Sf.tick0,dtick:Sf.dtick,tickvals:Sf.tickvals,ticktext:Sf.ticktext,ticks:Mx({},Sf.ticks,{dflt:\"outside\"}),ticklen:Sf.ticklen,tickwidth:Sf.tickwidth,tickcolor:Sf.tickcolor,ticklabelstep:Sf.ticklabelstep,showticklabels:Sf.showticklabels,labelalias:Sf.labelalias,tickfont:fWe({}),tickangle:Sf.tickangle,tickformat:Sf.tickformat,tickformatstops:Sf.tickformatstops,tickprefix:Sf.tickprefix,showtickprefix:Sf.showtickprefix,ticksuffix:Sf.ticksuffix,showticksuffix:Sf.showticksuffix,separatethousands:Sf.separatethousands,exponentformat:Sf.exponentformat,minexponent:Sf.minexponent,showexponent:Sf.showexponent,editType:\"plot\"},\"plot\"),steps:oZt,threshold:{line:{color:Mx({},Zk.line.color,{}),width:Mx({},Zk.line.width,{dflt:1}),editType:\"plot\"},thickness:Mx({},Zk.thickness,{dflt:.85}),value:{valType:\"number\",editType:\"calc\",dflt:!1},editType:\"plot\"},editType:\"plot\"}}});var GJ=ye((C_r,pWe)=>{\"use strict\";pWe.exports={defaultNumberFontSize:80,bulletNumberDomainSize:.25,bulletPadding:.025,innerRadius:.75,valueThickness:.5,titlePadding:5,horizontalPadding:10}});var yWe=ye((L_r,mWe)=>{\"use strict\";var ey=Mr(),M7=HJ(),sZt=Ju().defaults,gWe=Vs(),lZt=Zd(),S7=GJ(),uZt=xb(),cZt=T3(),fZt=t_(),hZt=r_();function dZt(e,t,r,n){function i(_,C){return ey.coerce(e,t,M7,_,C)}sZt(t,n,i),i(\"mode\"),t._hasNumber=t.mode.indexOf(\"number\")!==-1,t._hasDelta=t.mode.indexOf(\"delta\")!==-1,t._hasGauge=t.mode.indexOf(\"gauge\")!==-1;var a=i(\"value\");t._range=[0,typeof a==\"number\"?1.5*a:1];var o=new Array(2),s;if(t._hasNumber){i(\"number.valueformat\");var l=ey.extendFlat({},n.font);l.size=void 0,ey.coerceFont(i,\"number.font\",l),t.number.font.size===void 0&&(t.number.font.size=S7.defaultNumberFontSize,o[0]=!0),i(\"number.prefix\"),i(\"number.suffix\"),s=t.number.font.size}var u;if(t._hasDelta){var c=ey.extendFlat({},n.font);c.size=void 0,ey.coerceFont(i,\"delta.font\",c),t.delta.font.size===void 0&&(t.delta.font.size=(t._hasNumber?.5:1)*(s||S7.defaultNumberFontSize),o[1]=!0),i(\"delta.reference\",t.value),i(\"delta.relative\"),i(\"delta.valueformat\",t.delta.relative?\"2%\":\"\"),i(\"delta.increasing.symbol\"),i(\"delta.increasing.color\"),i(\"delta.decreasing.symbol\"),i(\"delta.decreasing.color\"),i(\"delta.position\"),i(\"delta.prefix\"),i(\"delta.suffix\"),u=t.delta.font.size}t._scaleNumbers=(!t._hasNumber||o[0])&&(!t._hasDelta||o[1])||!1;var f=ey.extendFlat({},n.font);f.size=.25*(s||u||S7.defaultNumberFontSize),ey.coerceFont(i,\"title.font\",f),i(\"title.text\");var h,d,v,x;function b(_,C){return ey.coerce(h,d,M7.gauge,_,C)}function p(_,C){return ey.coerce(v,x,M7.gauge.axis,_,C)}if(t._hasGauge){h=e.gauge,h||(h={}),d=gWe.newContainer(t,\"gauge\"),b(\"shape\");var E=t._isBullet=t.gauge.shape===\"bullet\";E||i(\"title.align\",\"center\");var k=t._isAngular=t.gauge.shape===\"angular\";k||i(\"align\",\"center\"),b(\"bgcolor\",n.paper_bgcolor),b(\"borderwidth\"),b(\"bordercolor\"),b(\"bar.color\"),b(\"bar.line.color\"),b(\"bar.line.width\");var A=S7.valueThickness*(t.gauge.shape===\"bullet\"?.5:1);b(\"bar.thickness\",A),lZt(h,d,{name:\"steps\",handleItemDefaults:vZt}),b(\"threshold.value\"),b(\"threshold.thickness\"),b(\"threshold.line.width\"),b(\"threshold.line.color\"),v={},h&&(v=h.axis||{}),x=gWe.newContainer(d,\"axis\"),p(\"visible\"),t._range=p(\"range\",t._range);var L={font:n.font,noAutotickangles:!0,outerTicks:!0,noTicklabelshift:!0,noTicklabelstandoff:!0};uZt(v,x,p,\"linear\"),hZt(v,x,p,\"linear\",L),fZt(v,x,p,\"linear\",L),cZt(v,x,p,L)}else i(\"title.align\",\"center\"),i(\"align\",\"center\"),t._isAngular=t._isBullet=!1;t._length=null}function vZt(e,t){function r(n,i){return ey.coerce(e,t,M7.gauge.steps,n,i)}r(\"color\"),r(\"line.color\"),r(\"line.width\"),r(\"range\"),r(\"thickness\")}mWe.exports={supplyDefaults:dZt}});var xWe=ye((P_r,_We)=>{\"use strict\";function pZt(e,t){var r=[],n=t.value;typeof t._lastValue!=\"number\"&&(t._lastValue=t.value);var i=t._lastValue,a=i;return t._hasDelta&&typeof t.delta.reference==\"number\"&&(a=t.delta.reference),r[0]={y:n,lastY:i,delta:n-a,relativeDelta:(n-a)/a},r}_We.exports={calc:pZt}});var MWe=ye((I_r,SWe)=>{\"use strict\";var fw=xa(),gZt=(R2(),B1(I2)).interpolate,bWe=(R2(),B1(I2)).interpolateNumber,Ex=Mr(),mZt=Ex.strScale,Yk=Ex.strTranslate,yZt=Ex.rad2deg,_Zt=Nh().MID_SHIFT,cw=ao(),sw=GJ(),k7=Pl(),av=Qa(),xZt=JM(),bZt=iI(),wZt=Cd(),DA=va(),jJ={left:\"start\",center:\"middle\",right:\"end\"},lw={left:0,center:.5,right:1},wWe=/[yzafpnµmkMGTPEZY]/;function Kk(e){return e&&e.duration>0}SWe.exports=function(t,r,n,i){var a=t._fullLayout,o;Kk(n)&&i&&(o=i()),Ex.makeTraceGroups(a._indicatorlayer,r,\"trace\").each(function(s){var l=s[0],u=l.trace,c=fw.select(this),f=u._hasGauge,h=u._isAngular,d=u._isBullet,v=u.domain,x={w:a._size.w*(v.x[1]-v.x[0]),h:a._size.h*(v.y[1]-v.y[0]),l:a._size.l+a._size.w*v.x[0],r:a._size.r+a._size.w*(1-v.x[1]),t:a._size.t+a._size.h*(1-v.y[1]),b:a._size.b+a._size.h*v.y[0]},b=x.l+x.w/2,p=x.t+x.h/2,E=Math.min(x.w/2,x.h),k=sw.innerRadius*E,A,L,_,C=u.align||\"center\";if(L=p,!f)A=x.l+lw[C]*x.w,_=function(G){return TWe(G,x.w,x.h)};else if(h&&(A=b,L=p+E/2,_=function(G){return EZt(G,.9*k)}),d){var M=sw.bulletPadding,g=1-sw.bulletNumberDomainSize+M;A=x.l+(g+(1-g)*lw[C])*x.w,_=function(G){return TWe(G,(sw.bulletNumberDomainSize-M)*x.w,x.h)}}SZt(t,c,s,{numbersX:A,numbersY:L,numbersScaler:_,transitionOpts:n,onComplete:o});var P,T;f&&(P={range:u.gauge.axis.range,color:u.gauge.bgcolor,line:{color:u.gauge.bordercolor,width:0},thickness:1},T={range:u.gauge.axis.range,color:\"rgba(0, 0, 0, 0)\",line:{color:u.gauge.bordercolor,width:u.gauge.borderwidth},thickness:1});var F=c.selectAll(\"g.angular\").data(h?s:[]);F.exit().remove();var q=c.selectAll(\"g.angularaxis\").data(h?s:[]);q.exit().remove(),h&&AZt(t,c,s,{radius:E,innerRadius:k,gauge:F,layer:q,size:x,gaugeBg:P,gaugeOutline:T,transitionOpts:n,onComplete:o});var V=c.selectAll(\"g.bullet\").data(d?s:[]);V.exit().remove();var H=c.selectAll(\"g.bulletaxis\").data(d?s:[]);H.exit().remove(),d&&TZt(t,c,s,{gauge:V,layer:H,size:x,gaugeBg:P,gaugeOutline:T,transitionOpts:n,onComplete:o});var X=c.selectAll(\"text.title\").data(s);X.exit().remove(),X.enter().append(\"text\").classed(\"title\",!0),X.attr(\"text-anchor\",function(){return d?jJ.right:jJ[u.title.align]}).text(u.title.text).call(cw.font,u.title.font).call(k7.convertToTspans,t),X.attr(\"transform\",function(){var G=x.l+x.w*lw[u.title.align],N,W=sw.titlePadding,re=cw.bBox(X.node());if(f){if(h)if(u.gauge.axis.visible){var ae=cw.bBox(q.node());N=ae.top-W-re.bottom}else N=x.t+x.h/2-E/2-re.bottom-W;d&&(N=L-(re.top+re.bottom)/2,G=x.l-sw.bulletPadding*x.w)}else N=u._numbersTop-W-re.bottom;return Yk(G,N)})})};function TZt(e,t,r,n){var i=r[0].trace,a=n.gauge,o=n.layer,s=n.gaugeBg,l=n.gaugeOutline,u=n.size,c=i.domain,f=n.transitionOpts,h=n.onComplete,d,v,x,b,p;a.enter().append(\"g\").classed(\"bullet\",!0),a.attr(\"transform\",Yk(u.l,u.t)),o.enter().append(\"g\").classed(\"bulletaxis\",!0).classed(\"crisp\",!0),o.selectAll(\"g.xbulletaxistick,path,text\").remove();var E=u.h,k=i.gauge.bar.thickness*E,A=c.x[0],L=c.x[0]+(c.x[1]-c.x[0])*(i._hasNumber||i._hasDelta?1-sw.bulletNumberDomainSize:1);d=Xk(e,i.gauge.axis),d._id=\"xbulletaxis\",d.domain=[A,L],d.setScale(),v=av.calcTicks(d),x=av.makeTransTickFn(d),b=av.getTickSigns(d)[2],p=u.t+u.h,d.visible&&(av.drawTicks(e,d,{vals:d.ticks===\"inside\"?av.clipEnds(d,v):v,layer:o,path:av.makeTickPath(d,p,b),transFn:x}),av.drawLabels(e,d,{vals:v,layer:o,transFn:x,labelFns:av.makeLabelFns(d,p)}));function _(q){q.attr(\"width\",function(V){return Math.max(0,d.c2p(V.range[1])-d.c2p(V.range[0]))}).attr(\"x\",function(V){return d.c2p(V.range[0])}).attr(\"y\",function(V){return .5*(1-V.thickness)*E}).attr(\"height\",function(V){return V.thickness*E})}var C=[s].concat(i.gauge.steps),M=a.selectAll(\"g.bg-bullet\").data(C);M.enter().append(\"g\").classed(\"bg-bullet\",!0).append(\"rect\"),M.select(\"rect\").call(_).call(uw),M.exit().remove();var g=a.selectAll(\"g.value-bullet\").data([i.gauge.bar]);g.enter().append(\"g\").classed(\"value-bullet\",!0).append(\"rect\"),g.select(\"rect\").attr(\"height\",k).attr(\"y\",(E-k)/2).call(uw),Kk(f)?g.select(\"rect\").transition().duration(f.duration).ease(f.easing).each(\"end\",function(){h&&h()}).each(\"interrupt\",function(){h&&h()}).attr(\"width\",Math.max(0,d.c2p(Math.min(i.gauge.axis.range[1],r[0].y)))):g.select(\"rect\").attr(\"width\",typeof r[0].y==\"number\"?Math.max(0,d.c2p(Math.min(i.gauge.axis.range[1],r[0].y))):0),g.exit().remove();var P=r.filter(function(){return i.gauge.threshold.value||i.gauge.threshold.value===0}),T=a.selectAll(\"g.threshold-bullet\").data(P);T.enter().append(\"g\").classed(\"threshold-bullet\",!0).append(\"line\"),T.select(\"line\").attr(\"x1\",d.c2p(i.gauge.threshold.value)).attr(\"x2\",d.c2p(i.gauge.threshold.value)).attr(\"y1\",(1-i.gauge.threshold.thickness)/2*E).attr(\"y2\",(1-(1-i.gauge.threshold.thickness)/2)*E).call(DA.stroke,i.gauge.threshold.line.color).style(\"stroke-width\",i.gauge.threshold.line.width),T.exit().remove();var F=a.selectAll(\"g.gauge-outline\").data([l]);F.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"rect\"),F.select(\"rect\").call(_).call(uw),F.exit().remove()}function AZt(e,t,r,n){var i=r[0].trace,a=n.size,o=n.radius,s=n.innerRadius,l=n.gaugeBg,u=n.gaugeOutline,c=[a.l+a.w/2,a.t+a.h/2+o/2],f=n.gauge,h=n.layer,d=n.transitionOpts,v=n.onComplete,x=Math.PI/2;function b(_e){var Me=i.gauge.axis.range[0],ke=i.gauge.axis.range[1],ge=(_e-Me)/(ke-Me)*Math.PI-x;return ge<-x?-x:ge>x?x:ge}function p(_e){return fw.svg.arc().innerRadius((s+o)/2-_e/2*(o-s)).outerRadius((s+o)/2+_e/2*(o-s)).startAngle(-x)}function E(_e){_e.attr(\"d\",function(Me){return p(Me.thickness).startAngle(b(Me.range[0])).endAngle(b(Me.range[1]))()})}var k,A,L,_;f.enter().append(\"g\").classed(\"angular\",!0),f.attr(\"transform\",Yk(c[0],c[1])),h.enter().append(\"g\").classed(\"angularaxis\",!0).classed(\"crisp\",!0),h.selectAll(\"g.xangularaxistick,path,text\").remove(),k=Xk(e,i.gauge.axis),k.type=\"linear\",k.range=i.gauge.axis.range,k._id=\"xangularaxis\",k.ticklabeloverflow=\"allow\",k.setScale();var C=function(_e){return(k.range[0]-_e.x)/(k.range[1]-k.range[0])*Math.PI+Math.PI},M={},g=av.makeLabelFns(k,0),P=g.labelStandoff;M.xFn=function(_e){var Me=C(_e);return Math.cos(Me)*P},M.yFn=function(_e){var Me=C(_e),ke=Math.sin(Me)>0?.2:1;return-Math.sin(Me)*(P+_e.fontSize*ke)+Math.abs(Math.cos(Me))*(_e.fontSize*_Zt)},M.anchorFn=function(_e){var Me=C(_e),ke=Math.cos(Me);return Math.abs(ke)<.1?\"middle\":ke>0?\"start\":\"end\"},M.heightFn=function(_e,Me,ke){var ge=C(_e);return-.5*(1+Math.sin(ge))*ke};var T=function(_e){return Yk(c[0]+o*Math.cos(_e),c[1]-o*Math.sin(_e))};L=function(_e){return T(C(_e))};var F=function(_e){var Me=C(_e);return T(Me)+\"rotate(\"+-yZt(Me)+\")\"};if(A=av.calcTicks(k),_=av.getTickSigns(k)[2],k.visible){_=k.ticks===\"inside\"?-1:1;var q=(k.linewidth||1)/2;av.drawTicks(e,k,{vals:A,layer:h,path:\"M\"+_*q+\",0h\"+_*k.ticklen,transFn:F}),av.drawLabels(e,k,{vals:A,layer:h,transFn:L,labelFns:M})}var V=[l].concat(i.gauge.steps),H=f.selectAll(\"g.bg-arc\").data(V);H.enter().append(\"g\").classed(\"bg-arc\",!0).append(\"path\"),H.select(\"path\").call(E).call(uw),H.exit().remove();var X=p(i.gauge.bar.thickness),G=f.selectAll(\"g.value-arc\").data([i.gauge.bar]);G.enter().append(\"g\").classed(\"value-arc\",!0).append(\"path\");var N=G.select(\"path\");Kk(d)?(N.transition().duration(d.duration).ease(d.easing).each(\"end\",function(){v&&v()}).each(\"interrupt\",function(){v&&v()}).attrTween(\"d\",MZt(X,b(r[0].lastY),b(r[0].y))),i._lastValue=r[0].y):N.attr(\"d\",typeof r[0].y==\"number\"?X.endAngle(b(r[0].y)):\"M0,0Z\"),N.call(uw),G.exit().remove(),V=[];var W=i.gauge.threshold.value;(W||W===0)&&V.push({range:[W,W],color:i.gauge.threshold.color,line:{color:i.gauge.threshold.line.color,width:i.gauge.threshold.line.width},thickness:i.gauge.threshold.thickness});var re=f.selectAll(\"g.threshold-arc\").data(V);re.enter().append(\"g\").classed(\"threshold-arc\",!0).append(\"path\"),re.select(\"path\").call(E).call(uw),re.exit().remove();var ae=f.selectAll(\"g.gauge-outline\").data([u]);ae.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"path\"),ae.select(\"path\").call(E).call(uw),ae.exit().remove()}function SZt(e,t,r,n){var i=r[0].trace,a=n.numbersX,o=n.numbersY,s=i.align||\"center\",l=jJ[s],u=n.transitionOpts,c=n.onComplete,f=Ex.ensureSingle(t,\"g\",\"numbers\"),h,d,v,x=[];i._hasNumber&&x.push(\"number\"),i._hasDelta&&(x.push(\"delta\"),i.delta.position===\"left\"&&x.reverse());var b=f.selectAll(\"text\").data(x);b.enter().append(\"text\"),b.attr(\"text-anchor\",function(){return l}).attr(\"class\",function(T){return T}).attr(\"x\",null).attr(\"y\",null).attr(\"dx\",null).attr(\"dy\",null),b.exit().remove();function p(T,F,q,V){if(T.match(\"s\")&&q>=0!=V>=0&&!F(q).slice(-1).match(wWe)&&!F(V).slice(-1).match(wWe)){var H=T.slice().replace(\"s\",\"f\").replace(/\\d+/,function(G){return parseInt(G)-1}),X=Xk(e,{tickformat:H});return function(G){return Math.abs(G)<1?av.tickText(X,G).text:F(G)}}else return F}function E(){var T=Xk(e,{tickformat:i.number.valueformat},i._range);T.setScale(),av.prepTicks(T);var F=function(G){return av.tickText(T,G).text},q=i.number.suffix,V=i.number.prefix,H=f.select(\"text.number\");function X(){var G=typeof r[0].y==\"number\"?V+F(r[0].y)+q:\"-\";H.text(G).call(cw.font,i.number.font).call(k7.convertToTspans,e)}return Kk(u)?H.transition().duration(u.duration).ease(u.easing).each(\"end\",function(){X(),c&&c()}).each(\"interrupt\",function(){X(),c&&c()}).attrTween(\"text\",function(){var G=fw.select(this),N=bWe(r[0].lastY,r[0].y);i._lastValue=r[0].y;var W=p(i.number.valueformat,F,r[0].lastY,r[0].y);return function(re){G.text(V+W(N(re))+q)}}):X(),h=AWe(V+F(r[0].y)+q,i.number.font,l,e),H}function k(){var T=Xk(e,{tickformat:i.delta.valueformat},i._range);T.setScale(),av.prepTicks(T);var F=function(re){return av.tickText(T,re).text},q=i.delta.suffix,V=i.delta.prefix,H=function(re){var ae=i.delta.relative?re.relativeDelta:re.delta;return ae},X=function(re,ae){return re===0||typeof re!=\"number\"||isNaN(re)?\"-\":(re>0?i.delta.increasing.symbol:i.delta.decreasing.symbol)+V+ae(re)+q},G=function(re){return re.delta>=0?i.delta.increasing.color:i.delta.decreasing.color};i._deltaLastValue===void 0&&(i._deltaLastValue=H(r[0]));var N=f.select(\"text.delta\");N.call(cw.font,i.delta.font).call(DA.fill,G({delta:i._deltaLastValue}));function W(){N.text(X(H(r[0]),F)).call(DA.fill,G(r[0])).call(k7.convertToTspans,e)}return Kk(u)?N.transition().duration(u.duration).ease(u.easing).tween(\"text\",function(){var re=fw.select(this),ae=H(r[0]),_e=i._deltaLastValue,Me=p(i.delta.valueformat,F,_e,ae),ke=bWe(_e,ae);return i._deltaLastValue=ae,function(ge){re.text(X(ke(ge),Me)),re.call(DA.fill,G({delta:ke(ge)}))}}).each(\"end\",function(){W(),c&&c()}).each(\"interrupt\",function(){W(),c&&c()}):W(),d=AWe(X(H(r[0]),F),i.delta.font,l,e),N}var A=i.mode+i.align,L;if(i._hasDelta&&(L=k(),A+=i.delta.position+i.delta.font.size+i.delta.font.family+i.delta.valueformat,A+=i.delta.increasing.symbol+i.delta.decreasing.symbol,v=d),i._hasNumber&&(E(),A+=i.number.font.size+i.number.font.family+i.number.valueformat+i.number.suffix+i.number.prefix,v=h),i._hasDelta&&i._hasNumber){var _=[(h.left+h.right)/2,(h.top+h.bottom)/2],C=[(d.left+d.right)/2,(d.top+d.bottom)/2],M,g,P=.75*i.delta.font.size;i.delta.position===\"left\"&&(M=E7(i,\"deltaPos\",0,-1*(h.width*lw[i.align]+d.width*(1-lw[i.align])+P),A,Math.min),g=_[1]-C[1],v={width:h.width+d.width+P,height:Math.max(h.height,d.height),left:d.left+M,right:h.right,top:Math.min(h.top,d.top+g),bottom:Math.max(h.bottom,d.bottom+g)}),i.delta.position===\"right\"&&(M=E7(i,\"deltaPos\",0,h.width*(1-lw[i.align])+d.width*lw[i.align]+P,A,Math.max),g=_[1]-C[1],v={width:h.width+d.width+P,height:Math.max(h.height,d.height),left:h.left,right:d.right+M,top:Math.min(h.top,d.top+g),bottom:Math.max(h.bottom,d.bottom+g)}),i.delta.position===\"bottom\"&&(M=null,g=d.height,v={width:Math.max(h.width,d.width),height:h.height+d.height,left:Math.min(h.left,d.left),right:Math.max(h.right,d.right),top:h.bottom-h.height,bottom:h.bottom+d.height}),i.delta.position===\"top\"&&(M=null,g=h.top,v={width:Math.max(h.width,d.width),height:h.height+d.height,left:Math.min(h.left,d.left),right:Math.max(h.right,d.right),top:h.bottom-h.height-d.height,bottom:h.bottom}),L.attr({dx:M,dy:g})}(i._hasNumber||i._hasDelta)&&f.attr(\"transform\",function(){var T=n.numbersScaler(v);A+=T[2];var F=E7(i,\"numbersScale\",1,T[0],A,Math.min),q;i._scaleNumbers||(F=1),i._isAngular?q=o-F*v.bottom:q=o-F*(v.top+v.bottom)/2,i._numbersTop=F*v.top+q;var V=v[s];s===\"center\"&&(V=(v.left+v.right)/2);var H=a-F*V;return H=E7(i,\"numbersTranslate\",0,H,A,Math.max),Yk(H,q)+mZt(F)})}function uw(e){e.each(function(t){DA.stroke(fw.select(this),t.line.color)}).each(function(t){DA.fill(fw.select(this),t.color)}).style(\"stroke-width\",function(t){return t.line.width})}function MZt(e,t,r){return function(){var n=gZt(t,r);return function(i){return e.endAngle(n(i))()}}}function Xk(e,t,r){var n=e._fullLayout,i=Ex.extendFlat({type:\"linear\",ticks:\"outside\",range:r,showline:!0},t),a={type:\"linear\",_id:\"x\"+t._id},o={letter:\"x\",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function s(l,u){return Ex.coerce(i,a,wZt,l,u)}return xZt(i,a,s,o,n),bZt(i,a,s,o),a}function TWe(e,t,r){var n=Math.min(t/e.width,r/e.height);return[n,e,t+\"x\"+r]}function EZt(e,t){var r=Math.sqrt(e.width/2*(e.width/2)+e.height*e.height),n=t/r;return[n,e,t]}function AWe(e,t,r,n){var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"text\"),a=fw.select(i);return a.text(e).attr(\"x\",0).attr(\"y\",0).attr(\"text-anchor\",r).attr(\"data-unformatted\",e).call(k7.convertToTspans,n).call(cw.font,t),cw.bBox(a.node())}function E7(e,t,r,n,i,a){var o=\"_cache\"+t;e[o]&&e[o].key===i||(e[o]={key:i,value:r});var s=Ex.aggNums(a,null,[e[o].value,n],2);return e[o].value=s,s}});var kWe=ye((R_r,EWe)=>{\"use strict\";EWe.exports={moduleType:\"trace\",name:\"indicator\",basePlotModule:lWe(),categories:[\"svg\",\"noOpacity\",\"noHover\"],animatable:!0,attributes:HJ(),supplyDefaults:yWe().supplyDefaults,calc:xWe().calc,plot:MWe(),meta:{}}});var LWe=ye((D_r,CWe)=>{\"use strict\";CWe.exports=kWe()});var WJ=ye((F_r,DWe)=>{\"use strict\";var PWe=Nb(),C7=no().extendFlat,kZt=Bu().overrideAll,IWe=Su(),CZt=Ju().attributes,RWe=Oc().descriptionOnlyNumbers,z_r=DWe.exports=kZt({domain:CZt({name:\"table\",trace:!0}),columnwidth:{valType:\"number\",arrayOk:!0,dflt:null},columnorder:{valType:\"data_array\"},header:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[],description:RWe(\"cell value\")},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:28},align:C7({},PWe.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:C7({},IWe({arrayOk:!0}))},cells:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[],description:RWe(\"cell value\")},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:20},align:C7({},PWe.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:C7({},IWe({arrayOk:!0}))}},\"calc\",\"from-root\")});var FWe=ye((q_r,zWe)=>{\"use strict\";var ZJ=Mr(),LZt=WJ(),PZt=Ju().defaults;function IZt(e,t){for(var r=e.columnorder||[],n=e.header.values.length,i=r.slice(0,n),a=i.slice().sort(function(l,u){return l-u}),o=i.map(function(l){return a.indexOf(l)}),s=o.length;s<n;s++)o.push(s);t(\"columnorder\",o)}zWe.exports=function(t,r,n,i){function a(o,s){return ZJ.coerce(t,r,LZt,o,s)}PZt(r,i,a),a(\"columnwidth\"),a(\"header.values\"),a(\"header.format\"),a(\"header.align\"),a(\"header.prefix\"),a(\"header.suffix\"),a(\"header.height\"),a(\"header.line.width\"),a(\"header.line.color\"),a(\"header.fill.color\"),ZJ.coerceFont(a,\"header.font\",i.font),IZt(r,a),a(\"cells.values\"),a(\"cells.format\"),a(\"cells.align\"),a(\"cells.prefix\"),a(\"cells.suffix\"),a(\"cells.height\"),a(\"cells.line.width\"),a(\"cells.line.color\"),a(\"cells.fill.color\"),ZJ.coerceFont(a,\"cells.font\",i.font),r._length=null}});var OWe=ye((O_r,qWe)=>{\"use strict\";var RZt=Km().wrap;qWe.exports=function(){return RZt({})}});var XJ=ye((B_r,BWe)=>{\"use strict\";BWe.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\\$.*\\$$/,goldenRatio:1.618,lineBreaker:\"<br>\",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:\"cubic-out\",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:\"cubic-out\",uplift:5,wrapSpacer:\" \",wrapSplitCharacter:\" \",cn:{table:\"table\",tableControlView:\"table-control-view\",scrollBackground:\"scroll-background\",yColumn:\"y-column\",columnBlock:\"column-block\",scrollAreaClip:\"scroll-area-clip\",scrollAreaClipRect:\"scroll-area-clip-rect\",columnBoundary:\"column-boundary\",columnBoundaryClippath:\"column-boundary-clippath\",columnBoundaryRect:\"column-boundary-rect\",columnCells:\"column-cells\",columnCell:\"column-cell\",cellRect:\"cell-rect\",cellText:\"cell-text\",cellTextHolder:\"cell-text-holder\",scrollbarKit:\"scrollbar-kit\",scrollbar:\"scrollbar\",scrollbarSlider:\"scrollbar-slider\",scrollbarGlyph:\"scrollbar-glyph\",scrollbarCaptureZone:\"scrollbar-capture-zone\"}}});var XWe=ye((N_r,ZWe)=>{\"use strict\";var NWe=XJ(),KJ=no().extendFlat,DZt=uo(),zZt=vv().isTypedArray,L7=vv().isArrayOrTypedArray;ZWe.exports=function(t,r){var n=YJ(r.cells.values),i=function(g){return g.slice(r.header.values.length,g.length)},a=YJ(r.header.values);a.length&&!a[0].length&&(a[0]=[\"\"],a=YJ(a));var o=a.concat(i(n).map(function(){return WWe((a[0]||[\"\"]).length)})),s=r.domain,l=Math.floor(t._fullLayout._size.w*(s.x[1]-s.x[0])),u=Math.floor(t._fullLayout._size.h*(s.y[1]-s.y[0])),c=r.header.values.length?o[0].map(function(){return r.header.height}):[NWe.emptyHeaderHeight],f=n.length?n[0].map(function(){return r.cells.height}):[],h=c.reduce(UWe,0),d=u-h,v=d+NWe.uplift,x=GWe(f,v),b=GWe(c,h),p=HWe(b,[]),E=HWe(x,p),k={},A=r._fullInput.columnorder;L7(A)&&(A=Array.from(A)),A=A.concat(i(n.map(function(g,P){return P})));var L=o.map(function(g,P){var T=L7(r.columnwidth)?r.columnwidth[Math.min(P,r.columnwidth.length-1)]:r.columnwidth;return DZt(T)?Number(T):1}),_=L.reduce(UWe,0);L=L.map(function(g){return g/_*l});var C=Math.max(JJ(r.header.line.width),JJ(r.cells.line.width)),M={key:r.uid+t._context.staticPlot,translateX:s.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-s.y[1]),size:t._fullLayout._size,width:l,maxLineWidth:C,height:u,columnOrder:A,groupHeight:u,rowBlocks:E,headerRowBlocks:p,scrollY:0,cells:KJ({},r.cells,{values:n}),headerCells:KJ({},r.header,{values:o}),gdColumns:o.map(function(g){return g[0]}),gdColumnsOriginalOrder:o.map(function(g){return g[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:o.map(function(g,P){var T=k[g];k[g]=(T||0)+1;var F=g+\"__\"+k[g];return{key:F,label:g,specIndex:P,xIndex:A[P],xScale:VWe,x:void 0,calcdata:void 0,columnWidth:L[P]}})};return M.columns.forEach(function(g){g.calcdata=M,g.x=VWe(g)}),M};function JJ(e){if(L7(e)){for(var t=0,r=0;r<e.length;r++)t=Math.max(t,JJ(e[r]));return t}return e}function UWe(e,t){return e+t}function YJ(e){var t=e.slice(),r=1/0,n=0,i;for(i=0;i<t.length;i++)zZt(t[i])?t[i]=Array.from(t[i]):L7(t[i])||(t[i]=[t[i]]),r=Math.min(r,t[i].length),n=Math.max(n,t[i].length);if(r!==n)for(i=0;i<t.length;i++){var a=n-t[i].length;a&&(t[i]=t[i].concat(WWe(a)))}return t}function WWe(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=\"\";return t}function VWe(e){return e.calcdata.columns.reduce(function(t,r){return r.xIndex<e.xIndex?t+r.columnWidth:t},0)}function HWe(e,t){var r=Object.keys(e);return r.map(function(n){return KJ({},e[n],{auxiliaryBlocks:t})})}function GWe(e,t){for(var r={},n,i=0,a=0,o=jWe(),s=0,l=0,u=0;u<e.length;u++)n=e[u],o.rows.push({rowIndex:u,rowHeight:n}),a+=n,(a>=t||u===e.length-1)&&(r[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o=jWe(),i+=a,s=u+1,a=0);return r}function jWe(){return{firstRowIndex:null,lastRowIndex:null,rows:[]}}});var YWe=ye($J=>{\"use strict\";var P7=no().extendFlat;$J.splitToPanels=function(e){var t=[0,0],r=P7({},e,{key:\"header\",type:\"header\",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!0,values:e.calcdata.headerCells.values[e.specIndex],rowBlocks:e.calcdata.headerRowBlocks,calcdata:P7({},e.calcdata,{cells:e.calcdata.headerCells})}),n=P7({},e,{key:\"cells1\",type:\"cells\",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks}),i=P7({},e,{key:\"cells2\",type:\"cells\",page:1,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks});return[n,i,r]};$J.splitToCells=function(e){var t=FZt(e);return(e.values||[]).slice(t[0],t[1]).map(function(r,n){var i=typeof r==\"string\"&&r.match(/[<$&> ]/)?\"_keybuster_\"+Math.random():\"\";return{keyWithinBlock:n+i,key:t[0]+n,column:e,calcdata:e.calcdata,page:e.page,rowBlocks:e.rowBlocks,value:r}})};function FZt(e){var t=e.rowBlocks[e.page],r=t?t.rows[0].rowIndex:0,n=t?r+t.rows.length:0;return[r,n]}});var l$=ye((V_r,oZe)=>{\"use strict\";var Ia=XJ(),Mc=xa(),QJ=Mr(),qZt=QJ.numberFormat,gu=Km(),e$=ao(),OZt=Pl(),BZt=Mr().raiseToTop,og=Mr().strTranslate,NZt=Mr().cancelTransition,UZt=XWe(),rZe=YWe(),KWe=va();oZe.exports=function(t,r){var n=!t._context.staticPlot,i=t._fullLayout._paper.selectAll(\".\"+Ia.cn.table).data(r.map(function(E){var k=gu.unwrap(E),A=k.trace;return UZt(t,A)}),gu.keyFun);i.exit().remove(),i.enter().append(\"g\").classed(Ia.cn.table,!0).attr(\"overflow\",\"visible\").style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"overflow\",\"visible\").style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"all\"),i.attr(\"width\",function(E){return E.width+E.size.l+E.size.r}).attr(\"height\",function(E){return E.height+E.size.t+E.size.b}).attr(\"transform\",function(E){return og(E.translateX,E.translateY)});var a=i.selectAll(\".\"+Ia.cn.tableControlView).data(gu.repeat,gu.keyFun),o=a.enter().append(\"g\").classed(Ia.cn.tableControlView,!0).style(\"box-sizing\",\"content-box\");if(n){var s=\"onwheel\"in document?\"wheel\":\"mousewheel\";o.on(\"mousemove\",function(E){a.filter(function(k){return E===k}).call(Jk,t)}).on(s,function(E){if(!E.scrollbarState.wheeling){E.scrollbarState.wheeling=!0;var k=E.scrollY+Mc.event.deltaY,A=R7(t,a,null,k)(E);A||(Mc.event.stopPropagation(),Mc.event.preventDefault()),E.scrollbarState.wheeling=!1}}).call(Jk,t,!0)}a.attr(\"transform\",function(E){return og(E.size.l,E.size.t)});var l=a.selectAll(\".\"+Ia.cn.scrollBackground).data(gu.repeat,gu.keyFun);l.enter().append(\"rect\").classed(Ia.cn.scrollBackground,!0).attr(\"fill\",\"none\"),l.attr(\"width\",function(E){return E.width}).attr(\"height\",function(E){return E.height}),a.each(function(E){e$.setClipUrl(Mc.select(this),JWe(t,E),t)});var u=a.selectAll(\".\"+Ia.cn.yColumn).data(function(E){return E.columns},gu.keyFun);u.enter().append(\"g\").classed(Ia.cn.yColumn,!0),u.exit().remove(),u.attr(\"transform\",function(E){return og(E.x,0)}),n&&u.call(Mc.behavior.drag().origin(function(E){var k=Mc.select(this);return eZe(k,E,-Ia.uplift),BZt(this),E.calcdata.columnDragInProgress=!0,Jk(a.filter(function(A){return E.calcdata.key===A.key}),t),E}).on(\"drag\",function(E){var k=Mc.select(this),A=function(C){return(E===C?Mc.event.x:C.x)+C.columnWidth/2};E.x=Math.max(-Ia.overdrag,Math.min(E.calcdata.width+Ia.overdrag-E.columnWidth,Mc.event.x));var L=iZe(u).filter(function(C){return C.calcdata.key===E.calcdata.key}),_=L.sort(function(C,M){return A(C)-A(M)});_.forEach(function(C,M){C.xIndex=M,C.x=E===C?C.x:C.xScale(C)}),u.filter(function(C){return E!==C}).transition().ease(Ia.transitionEase).duration(Ia.transitionDuration).attr(\"transform\",function(C){return og(C.x,0)}),k.call(NZt).attr(\"transform\",og(E.x,-Ia.uplift))}).on(\"dragend\",function(E){var k=Mc.select(this),A=E.calcdata;E.x=E.xScale(E),E.calcdata.columnDragInProgress=!1,eZe(k,E,0),JZt(t,A,A.columns.map(function(L){return L.xIndex}))})),u.each(function(E){e$.setClipUrl(Mc.select(this),$We(t,E),t)});var c=u.selectAll(\".\"+Ia.cn.columnBlock).data(rZe.splitToPanels,gu.keyFun);c.enter().append(\"g\").classed(Ia.cn.columnBlock,!0).attr(\"id\",function(E){return E.key}),c.style(\"cursor\",function(E){return E.dragHandle?\"ew-resize\":E.calcdata.scrollbarState.barWiggleRoom?\"ns-resize\":\"default\"});var f=c.filter($Zt),h=c.filter(a$);n&&h.call(Mc.behavior.drag().origin(function(E){return Mc.event.stopPropagation(),E}).on(\"drag\",R7(t,a,-1)).on(\"dragend\",function(){})),t$(t,a,f,c),t$(t,a,h,c);var d=a.selectAll(\".\"+Ia.cn.scrollAreaClip).data(gu.repeat,gu.keyFun);d.enter().append(\"clipPath\").classed(Ia.cn.scrollAreaClip,!0).attr(\"id\",function(E){return JWe(t,E)});var v=d.selectAll(\".\"+Ia.cn.scrollAreaClipRect).data(gu.repeat,gu.keyFun);v.enter().append(\"rect\").classed(Ia.cn.scrollAreaClipRect,!0).attr(\"x\",-Ia.overdrag).attr(\"y\",-Ia.uplift).attr(\"fill\",\"none\"),v.attr(\"width\",function(E){return E.width+2*Ia.overdrag}).attr(\"height\",function(E){return E.height+Ia.uplift});var x=u.selectAll(\".\"+Ia.cn.columnBoundary).data(gu.repeat,gu.keyFun);x.enter().append(\"g\").classed(Ia.cn.columnBoundary,!0);var b=u.selectAll(\".\"+Ia.cn.columnBoundaryClippath).data(gu.repeat,gu.keyFun);b.enter().append(\"clipPath\").classed(Ia.cn.columnBoundaryClippath,!0),b.attr(\"id\",function(E){return $We(t,E)});var p=b.selectAll(\".\"+Ia.cn.columnBoundaryRect).data(gu.repeat,gu.keyFun);p.enter().append(\"rect\").classed(Ia.cn.columnBoundaryRect,!0).attr(\"fill\",\"none\"),p.attr(\"width\",function(E){return E.columnWidth+2*I7(E)}).attr(\"height\",function(E){return E.calcdata.height+2*I7(E)+Ia.uplift}).attr(\"x\",function(E){return-I7(E)}).attr(\"y\",function(E){return-I7(E)}),o$(null,h,a)};function I7(e){return Math.ceil(e.calcdata.maxLineWidth/2)}function JWe(e,t){return\"clip\"+e._fullLayout._uid+\"_scrollAreaBottomClip_\"+t.key}function $We(e,t){return\"clip\"+e._fullLayout._uid+\"_columnBoundaryClippath_\"+t.calcdata.key+\"_\"+t.specIndex}function iZe(e){return[].concat.apply([],e.map(function(t){return t})).map(function(t){return t.__data__})}function Jk(e,t,r){function n(u){var c=u.rowBlocks;return i$(c,c.length-1)+(c.length?D7(c[c.length-1],1/0):1)}var i=e.selectAll(\".\"+Ia.cn.scrollbarKit).data(gu.repeat,gu.keyFun);i.enter().append(\"g\").classed(Ia.cn.scrollbarKit,!0).style(\"shape-rendering\",\"geometricPrecision\"),i.each(function(u){var c=u.scrollbarState;c.totalHeight=n(u),c.scrollableAreaHeight=u.groupHeight-r$(u),c.currentlyVisibleHeight=Math.min(c.totalHeight,c.scrollableAreaHeight),c.ratio=c.currentlyVisibleHeight/c.totalHeight,c.barLength=Math.max(c.ratio*c.currentlyVisibleHeight,Ia.goldenRatio*Ia.scrollbarWidth),c.barWiggleRoom=c.currentlyVisibleHeight-c.barLength,c.wiggleRoom=Math.max(0,c.totalHeight-c.scrollableAreaHeight),c.topY=c.barWiggleRoom===0?0:u.scrollY/c.wiggleRoom*c.barWiggleRoom,c.bottomY=c.topY+c.barLength,c.dragMultiplier=c.wiggleRoom/c.barWiggleRoom}).attr(\"transform\",function(u){var c=u.width+Ia.scrollbarWidth/2+Ia.scrollbarOffset;return og(c,r$(u))});var a=i.selectAll(\".\"+Ia.cn.scrollbar).data(gu.repeat,gu.keyFun);a.enter().append(\"g\").classed(Ia.cn.scrollbar,!0);var o=a.selectAll(\".\"+Ia.cn.scrollbarSlider).data(gu.repeat,gu.keyFun);o.enter().append(\"g\").classed(Ia.cn.scrollbarSlider,!0),o.attr(\"transform\",function(u){return og(0,u.scrollbarState.topY||0)});var s=o.selectAll(\".\"+Ia.cn.scrollbarGlyph).data(gu.repeat,gu.keyFun);s.enter().append(\"line\").classed(Ia.cn.scrollbarGlyph,!0).attr(\"stroke\",\"black\").attr(\"stroke-width\",Ia.scrollbarWidth).attr(\"stroke-linecap\",\"round\").attr(\"y1\",Ia.scrollbarWidth/2),s.attr(\"y2\",function(u){return u.scrollbarState.barLength-Ia.scrollbarWidth/2}).attr(\"stroke-opacity\",function(u){return u.columnDragInProgress||!u.scrollbarState.barWiggleRoom||r?0:.4}),s.transition().delay(0).duration(0),s.transition().delay(Ia.scrollbarHideDelay).duration(Ia.scrollbarHideDuration).attr(\"stroke-opacity\",0);var l=a.selectAll(\".\"+Ia.cn.scrollbarCaptureZone).data(gu.repeat,gu.keyFun);l.enter().append(\"line\").classed(Ia.cn.scrollbarCaptureZone,!0).attr(\"stroke\",\"white\").attr(\"stroke-opacity\",.01).attr(\"stroke-width\",Ia.scrollbarCaptureWidth).attr(\"stroke-linecap\",\"butt\").attr(\"y1\",0).on(\"mousedown\",function(u){var c=Mc.event.y,f=this.getBoundingClientRect(),h=u.scrollbarState,d=c-f.top,v=Mc.scale.linear().domain([0,h.scrollableAreaHeight]).range([0,h.totalHeight]).clamp(!0);h.topY<=d&&d<=h.bottomY||R7(t,e,null,v(d-h.barLength/2))(u)}).call(Mc.behavior.drag().origin(function(u){return Mc.event.stopPropagation(),u.scrollbarState.scrollbarScrollInProgress=!0,u}).on(\"drag\",R7(t,e)).on(\"dragend\",function(){})),l.attr(\"y2\",function(u){return u.scrollbarState.scrollableAreaHeight}),t._context.staticPlot&&(s.remove(),l.remove())}function t$(e,t,r,n){var i=VZt(r),a=HZt(i);ZZt(a);var o=GZt(a);YZt(o);var s=WZt(a),l=jZt(s);XZt(l),nZe(l,t,n,e),s$(a)}function VZt(e){var t=e.selectAll(\".\"+Ia.cn.columnCells).data(gu.repeat,gu.keyFun);return t.enter().append(\"g\").classed(Ia.cn.columnCells,!0),t.exit().remove(),t}function HZt(e){var t=e.selectAll(\".\"+Ia.cn.columnCell).data(rZe.splitToCells,function(r){return r.keyWithinBlock});return t.enter().append(\"g\").classed(Ia.cn.columnCell,!0),t.exit().remove(),t}function GZt(e){var t=e.selectAll(\".\"+Ia.cn.cellRect).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append(\"rect\").classed(Ia.cn.cellRect,!0),t}function jZt(e){var t=e.selectAll(\".\"+Ia.cn.cellText).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append(\"text\").classed(Ia.cn.cellText,!0).style(\"cursor\",function(){return\"auto\"}).on(\"mousedown\",function(){Mc.event.stopPropagation()}),t}function WZt(e){var t=e.selectAll(\".\"+Ia.cn.cellTextHolder).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append(\"g\").classed(Ia.cn.cellTextHolder,!0).style(\"shape-rendering\",\"geometricPrecision\"),t}function ZZt(e){e.each(function(t,r){var n=t.calcdata.cells.font,i=t.column.specIndex,a={size:Xv(n.size,i,r),color:Xv(n.color,i,r),family:Xv(n.family,i,r),weight:Xv(n.weight,i,r),style:Xv(n.style,i,r),variant:Xv(n.variant,i,r),textcase:Xv(n.textcase,i,r),lineposition:Xv(n.lineposition,i,r),shadow:Xv(n.shadow,i,r)};t.rowNumber=t.key,t.align=Xv(t.calcdata.cells.align,i,r),t.cellBorderWidth=Xv(t.calcdata.cells.line.width,i,r),t.font=a})}function XZt(e){e.each(function(t){e$.font(Mc.select(this),t.font)})}function YZt(e){e.attr(\"width\",function(t){return t.column.columnWidth}).attr(\"stroke-width\",function(t){return t.cellBorderWidth}).each(function(t){var r=Mc.select(this);KWe.stroke(r,Xv(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),KWe.fill(r,Xv(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}function nZe(e,t,r,n){e.text(function(i){var a=i.column.specIndex,o=i.rowNumber,s=i.value,l=typeof s==\"string\",u=l&&s.match(/<br>/i),c=!l||u;i.mayHaveMarkup=l&&s.match(/[<&>]/);var f=KZt(s);i.latex=f;var h=f?\"\":Xv(i.calcdata.cells.prefix,a,o)||\"\",d=f?\"\":Xv(i.calcdata.cells.suffix,a,o)||\"\",v=f?null:Xv(i.calcdata.cells.format,a,o)||null,x=h+(v?qZt(v)(i.value):i.value)+d,b;i.wrappingNeeded=!i.wrapped&&!c&&!f&&(b=QWe(x)),i.cellHeightMayIncrease=u||f||i.mayHaveMarkup||(b===void 0?QWe(x):b),i.needsConvertToTspans=i.mayHaveMarkup||i.wrappingNeeded||i.latex;var p;if(i.wrappingNeeded){var E=Ia.wrapSplitCharacter===\" \"?x.replace(/<a href=/ig,\"<a_href=\"):x,k=E.split(Ia.wrapSplitCharacter),A=Ia.wrapSplitCharacter===\" \"?k.map(function(L){return L.replace(/<a_href=/ig,\"<a href=\")}):k;i.fragments=A.map(function(L){return{text:L,width:null}}),i.fragments.push({fragment:Ia.wrapSpacer,width:null}),p=A.join(Ia.lineBreaker)+Ia.lineBreaker+Ia.wrapSpacer}else delete i.fragments,p=x;return p}).attr(\"dy\",function(i){return i.needsConvertToTspans?0:\"0.75em\"}).each(function(i){var a=this,o=Mc.select(a),s=i.wrappingNeeded?eXt:tXt;i.needsConvertToTspans?OZt.convertToTspans(o,n,s(r,a,t,n,i)):Mc.select(a.parentNode).attr(\"transform\",function(l){return og(aZe(l),Ia.cellPad)}).attr(\"text-anchor\",function(l){return{left:\"start\",center:\"middle\",right:\"end\"}[l.align]})})}function KZt(e){return typeof e==\"string\"&&e.match(Ia.latexCheck)}function QWe(e){return e.indexOf(Ia.wrapSplitCharacter)!==-1}function JZt(e,t,r){var n=t.gdColumnsOriginalOrder;t.gdColumns.sort(function(i,a){return r[n.indexOf(i)]-r[n.indexOf(a)]}),t.columnorder=r,e.emit(\"plotly_restyle\")}function Xv(e,t,r){if(QJ.isArrayOrTypedArray(e)){var n=e[Math.min(t,e.length-1)];return QJ.isArrayOrTypedArray(n)?n[Math.min(r,n.length-1)]:n}else return e}function eZe(e,t,r){e.transition().ease(Ia.releaseTransitionEase).duration(Ia.releaseTransitionDuration).attr(\"transform\",og(t.x,r))}function a$(e){return e.type===\"cells\"}function $Zt(e){return e.type===\"header\"}function r$(e){var t=e.rowBlocks.length?e.rowBlocks[0].auxiliaryBlocks:[];return t.reduce(function(r,n){return r+D7(n,1/0)},0)}function QZt(e,t,r){for(var n=[],i=0,a=0;a<e.length;a++){for(var o=e[a],s=o.rows,l=0,u=0;u<s.length;u++)l+=s[u].rowHeight;o.allRowsHeight=l;var c=i+l,f=t,h=f+r;f<c&&h>i&&n.push(a),i+=l}return n}function o$(e,t,r){var n=iZe(t)[0];if(n!==void 0){var i=n.rowBlocks,a=n.calcdata,o=i$(i,i.length),s=n.calcdata.groupHeight-r$(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),u=QZt(i,l,s);u.length===1&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),t.each(function(c,f){c.page=u[f],c.scrollY=l}),t.attr(\"transform\",function(c){var f=i$(c.rowBlocks,c.page)-c.scrollY;return og(0,f)}),e&&(tZe(e,r,t,u,n.prevPages,n,0),tZe(e,r,t,u,n.prevPages,n,1),Jk(r,e))}}function R7(e,t,r,n){return function(a){var o=a.calcdata?a.calcdata:a,s=t.filter(function(f){return o.key===f.key}),l=r||o.scrollbarState.dragMultiplier,u=o.scrollY;o.scrollY=n===void 0?o.scrollY+l*Mc.event.dy:n;var c=s.selectAll(\".\"+Ia.cn.yColumn).selectAll(\".\"+Ia.cn.columnBlock).filter(a$);return o$(e,c,s),o.scrollY===u}}function tZe(e,t,r,n,i,a,o){var s=n[o]!==i[o];s&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var l=r.filter(function(u,c){return c===o&&n[c]!==i[c]});t$(e,t,l,r),i[o]=n[o]}))}function eXt(e,t,r,n){return function(){var a=Mc.select(t.parentNode);a.each(function(o){var s=o.fragments;a.selectAll(\"tspan.line\").each(function(x,b){s[b].width=this.getComputedTextLength()});var l=s[s.length-1].width,u=s.slice(0,-1),c=[],f,h,d=0,v=o.column.columnWidth-2*Ia.cellPad;for(o.value=\"\";u.length;)f=u.shift(),h=f.width+l,d+h>v&&(o.value+=c.join(Ia.wrapSpacer)+Ia.lineBreaker,c=[],d=0),c.push(f.text),d+=h;d&&(o.value+=c.join(Ia.wrapSpacer)),o.wrapped=!0}),a.selectAll(\"tspan.line\").remove(),nZe(a.select(\".\"+Ia.cn.cellText),r,e,n),Mc.select(t.parentNode.parentNode).call(s$)}}function tXt(e,t,r,n,i){return function(){if(!i.settledY){var o=Mc.select(t.parentNode),s=n$(i),l=i.key-s.firstRowIndex,u=s.rows[l].rowHeight,c=i.cellHeightMayIncrease?t.parentNode.getBoundingClientRect().height+2*Ia.cellPad:u,f=Math.max(c,u),h=f-s.rows[l].rowHeight;h&&(s.rows[l].rowHeight=f,e.selectAll(\".\"+Ia.cn.columnCell).call(s$),o$(null,e.filter(a$),0),Jk(r,n,!0)),o.attr(\"transform\",function(){var d=this,v=d.parentNode,x=v.getBoundingClientRect(),b=Mc.select(d.parentNode).select(\".\"+Ia.cn.cellRect).node().getBoundingClientRect(),p=d.transform.baseVal.consolidate(),E=b.top-x.top+(p?p.matrix.f:Ia.cellPad);return og(aZe(i,Mc.select(d.parentNode).select(\".\"+Ia.cn.cellTextHolder).node().getBoundingClientRect().width),E)}),i.settledY=!0}}}function aZe(e,t){switch(e.align){case\"left\":return Ia.cellPad;case\"right\":return e.column.columnWidth-(t||0)-Ia.cellPad;case\"center\":return(e.column.columnWidth-(t||0))/2;default:return Ia.cellPad}}function s$(e){e.attr(\"transform\",function(t){var r=t.rowBlocks[0].auxiliaryBlocks.reduce(function(o,s){return o+D7(s,1/0)},0),n=n$(t),i=D7(n,t.key),a=i+r;return og(0,a)}).selectAll(\".\"+Ia.cn.cellRect).attr(\"height\",function(t){return iXt(n$(t),t.key).rowHeight})}function i$(e,t){for(var r=0,n=t-1;n>=0;n--)r+=rXt(e[n]);return r}function D7(e,t){for(var r=0,n=0;n<e.rows.length&&e.rows[n].rowIndex<t;n++)r+=e.rows[n].rowHeight;return r}function rXt(e){var t=e.allRowsHeight;if(t!==void 0)return t;for(var r=0,n=0;n<e.rows.length;n++)r+=e.rows[n].rowHeight;return e.allRowsHeight=r,r}function n$(e){return e.rowBlocks[e.page]}function iXt(e,t){return e.rows[t-e.firstRowIndex]}});var sZe=ye(F7=>{\"use strict\";var nXt=kd().getModuleCalcData,aXt=l$(),z7=\"table\";F7.name=z7;F7.plot=function(e){var t=nXt(e.calcdata,z7)[0];t.length&&aXt(e,t)};F7.clean=function(e,t,r,n){var i=n._has&&n._has(z7),a=t._has&&t._has(z7);i&&!a&&n._paperdiv.selectAll(\".table\").remove()}});var uZe=ye((G_r,lZe)=>{\"use strict\";lZe.exports={attributes:WJ(),supplyDefaults:FWe(),calc:OWe(),plot:l$(),moduleType:\"trace\",name:\"table\",basePlotModule:sZe(),categories:[\"noOpacity\"],meta:{}}});var fZe=ye((j_r,cZe)=>{\"use strict\";cZe.exports=uZe()});var gZe=ye((W_r,pZe)=>{\"use strict\";var hZe=Su(),dZe=dh(),u$=Cd(),oXt=Oc().descriptionWithDates,sXt=Bu().overrideAll,vZe=Ed().dash,c$=no().extendFlat;pZe.exports={color:{valType:\"color\",editType:\"calc\"},smoothing:{valType:\"number\",dflt:1,min:0,max:1.3,editType:\"calc\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"calc\"},font:hZe({editType:\"calc\"}),offset:{valType:\"number\",dflt:10,editType:\"calc\"},editType:\"calc\"},type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"date\",\"category\"],dflt:\"-\",editType:\"calc\"},autotypenumbers:u$.autotypenumbers,autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],dflt:!0,editType:\"calc\"},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"calc\"},range:{valType:\"info_array\",editType:\"calc\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}]},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cheatertype:{valType:\"enumerated\",values:[\"index\",\"value\"],dflt:\"value\",editType:\"calc\"},tickmode:{valType:\"enumerated\",values:[\"linear\",\"array\"],dflt:\"array\",editType:\"calc\"},nticks:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},tickvals:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},showticklabels:{valType:\"enumerated\",values:[\"start\",\"end\",\"both\",\"none\"],dflt:\"start\",editType:\"calc\"},labelalias:c$({},u$.labelalias,{editType:\"calc\"}),tickfont:hZe({editType:\"calc\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"calc\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"calc\"},minexponent:{valType:\"number\",dflt:3,min:0,editType:\"calc\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"calc\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"calc\",description:oXt(\"tick label\")},tickformatstops:sXt(u$.tickformatstops,\"calc\",\"from-root\"),categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},labelpadding:{valType:\"integer\",dflt:10,editType:\"calc\"},labelprefix:{valType:\"string\",editType:\"calc\"},labelsuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showline:{valType:\"boolean\",dflt:!1,editType:\"calc\"},linecolor:{valType:\"color\",dflt:dZe.defaultLine,editType:\"calc\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},gridcolor:{valType:\"color\",editType:\"calc\"},gridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},griddash:c$({},vZe,{editType:\"calc\"}),showgrid:{valType:\"boolean\",dflt:!0,editType:\"calc\"},minorgridcount:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},minorgridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},minorgriddash:c$({},vZe,{editType:\"calc\"}),minorgridcolor:{valType:\"color\",dflt:dZe.lightLine,editType:\"calc\"},startline:{valType:\"boolean\",editType:\"calc\"},startlinecolor:{valType:\"color\",editType:\"calc\"},startlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endline:{valType:\"boolean\",editType:\"calc\"},endlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endlinecolor:{valType:\"color\",editType:\"calc\"},tick0:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},dtick:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},arraytick0:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},arraydtick:{valType:\"integer\",min:1,dflt:1,editType:\"calc\"},editType:\"calc\"}});var O7=ye((Z_r,_Ze)=>{\"use strict\";var lXt=Su(),mZe=gZe(),yZe=dh(),q7=lXt({editType:\"calc\"}),uXt=Uc().zorder;q7.family.dflt='\"Open Sans\", verdana, arial, sans-serif';q7.size.dflt=12;q7.color.dflt=yZe.defaultLine;_Ze.exports={carpet:{valType:\"string\",editType:\"calc\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},a:{valType:\"data_array\",editType:\"calc\"},a0:{valType:\"number\",dflt:0,editType:\"calc\"},da:{valType:\"number\",dflt:1,editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},b0:{valType:\"number\",dflt:0,editType:\"calc\"},db:{valType:\"number\",dflt:1,editType:\"calc\"},cheaterslope:{valType:\"number\",dflt:1,editType:\"calc\"},aaxis:mZe,baxis:mZe,font:q7,color:{valType:\"color\",dflt:yZe.defaultLine,editType:\"plot\"},zorder:uXt}});var wZe=ye((X_r,bZe)=>{\"use strict\";var xZe=Mr().isArray1D;bZe.exports=function(t,r,n){var i=n(\"x\"),a=i&&i.length,o=n(\"y\"),s=o&&o.length;if(!a&&!s)return!1;if(r._cheater=!i,(!a||xZe(i))&&(!s||xZe(o))){var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),r.a&&r.a.length&&(l=Math.min(l,r.a.length)),r.b&&r.b.length&&(l=Math.min(l,r.b.length)),r._length=l}else r._length=null;return!0}});var SZe=ye((Y_r,AZe)=>{\"use strict\";var cXt=O7(),TZe=va().addOpacity,fXt=ba(),$k=Mr(),hXt=xb(),dXt=t_(),vXt=r_(),pXt=eI(),gXt=ym(),mXt=L3();AZe.exports=function(t,r,n){var i=n.letter,a=n.font||{},o=cXt[i+\"axis\"];function s(g,P){return $k.coerce(t,r,o,g,P)}function l(g,P){return $k.coerce2(t,r,o,g,P)}n.name&&(r._name=n.name,r._id=n.name),s(\"autotypenumbers\",n.autotypenumbersDflt);var u=s(\"type\");if(u===\"-\"&&(n.data&&yXt(r,n.data),r.type===\"-\"?r.type=\"linear\":u=t.type=r.type),s(\"smoothing\"),s(\"cheatertype\"),s(\"showticklabels\"),s(\"labelprefix\",i+\" = \"),s(\"labelsuffix\"),s(\"showtickprefix\"),s(\"showticksuffix\"),s(\"separatethousands\"),s(\"tickformat\"),s(\"exponentformat\"),s(\"minexponent\"),s(\"showexponent\"),s(\"categoryorder\"),s(\"tickmode\"),s(\"tickvals\"),s(\"ticktext\"),s(\"tick0\"),s(\"dtick\"),r.tickmode===\"array\"&&(s(\"arraytick0\"),s(\"arraydtick\")),s(\"labelpadding\"),r._hovertitle=i,u===\"date\"){var c=fXt.getComponentMethod(\"calendars\",\"handleDefaults\");c(t,r,\"calendar\",n.calendar)}gXt(r,n.fullLayout),r.c2p=$k.identity;var f=s(\"color\",n.dfltColor),h=f===t.color?f:a.color,d=s(\"title.text\");d&&($k.coerceFont(s,\"title.font\",a,{overrideDflt:{size:$k.bigFont(a.size),color:h}}),s(\"title.offset\")),s(\"tickangle\");var v=s(\"autorange\",!r.isValidRange(t.range));v&&s(\"rangemode\"),s(\"range\"),r.cleanRange(),s(\"fixedrange\"),hXt(t,r,s,u),vXt(t,r,s,u,n),dXt(t,r,s,u,n),pXt(t,r,s,{data:n.data,dataAttr:i});var x=l(\"gridcolor\",TZe(f,.3)),b=l(\"gridwidth\"),p=l(\"griddash\"),E=s(\"showgrid\");E||(delete r.gridcolor,delete r.gridwidth,delete r.griddash);var k=l(\"startlinecolor\",f),A=l(\"startlinewidth\",b),L=s(\"startline\",r.showgrid||!!k||!!A);L||(delete r.startlinecolor,delete r.startlinewidth);var _=l(\"endlinecolor\",f),C=l(\"endlinewidth\",b),M=s(\"endline\",r.showgrid||!!_||!!C);return M||(delete r.endlinecolor,delete r.endlinewidth),E?(s(\"minorgridcount\"),s(\"minorgridwidth\",b),s(\"minorgriddash\",p),s(\"minorgridcolor\",TZe(x,.06)),r.minorgridcount||(delete r.minorgridwidth,delete r.minorgriddash,delete r.minorgridcolor)):(delete r.gridcolor,delete r.gridwidth,delete r.griddash),r.showticklabels===\"none\"&&(delete r.tickfont,delete r.tickangle,delete r.showexponent,delete r.exponentformat,delete r.minexponent,delete r.tickformat,delete r.showticksuffix,delete r.showtickprefix),r.showticksuffix||delete r.ticksuffix,r.showtickprefix||delete r.tickprefix,s(\"tickmode\"),r};function yXt(e,t){if(e.type===\"-\"){var r=e._id,n=r.charAt(0),i=n+\"calendar\",a=e[i];e.type=mXt(t,a,{autotypenumbers:e.autotypenumbers})}}});var EZe=ye((K_r,MZe)=>{\"use strict\";var _Xt=SZe(),xXt=Vs();MZe.exports=function(t,r,n,i,a){var o=i(\"a\");o||(i(\"da\"),i(\"a0\"));var s=i(\"b\");s||(i(\"db\"),i(\"b0\")),bXt(t,r,n,a)};function bXt(e,t,r,n){var i=[\"aaxis\",\"baxis\"];i.forEach(function(a){var o=a.charAt(0),s=e[a]||{},l=xXt.newContainer(t,a),u={noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,noTicklabelstep:!0,tickfont:\"x\",id:o+\"axis\",letter:o,font:t.font,name:a,data:e[o],calendar:t.calendar,dfltColor:n,bgColor:r.paper_bgcolor,autotypenumbersDflt:r.autotypenumbers,fullLayout:r};_Xt(s,l,u),l._categories=l._categories||[],!e[a]&&s.type!==\"-\"&&(e[a]={type:s.type})})}});var LZe=ye((J_r,CZe)=>{\"use strict\";var kZe=Mr(),wXt=wZe(),TXt=EZe(),AXt=O7(),SXt=dh();CZe.exports=function(t,r,n,i){function a(l,u){return kZe.coerce(t,r,AXt,l,u)}r._clipPathId=\"clip\"+r.uid+\"carpet\";var o=a(\"color\",SXt.defaultLine);if(kZe.coerceFont(a,\"font\",i.font),a(\"carpet\"),TXt(t,r,i,a,o),!r.a||!r.b){r.visible=!1;return}r.a.length<3&&(r.aaxis.smoothing=0),r.b.length<3&&(r.baxis.smoothing=0);var s=wXt(t,r,a);s||(r.visible=!1),r._cheater&&a(\"cheaterslope\"),a(\"zorder\")}});var f$=ye(($_r,PZe)=>{\"use strict\";var MXt=Mr().isArrayOrTypedArray;PZe.exports=function(t,r,n){var i;for(MXt(t)?t.length>r.length&&(t=t.slice(0,r.length)):t=[],i=0;i<r.length;i++)t[i]=n(r[i]);return t}});var h$=ye((Q_r,IZe)=>{\"use strict\";IZe.exports=function(t,r,n){if(t.length===0)return\"\";var i,a=[],o=n?3:1;for(i=0;i<t.length;i+=o)a.push(t[i]+\",\"+r[i]),n&&i<t.length-o&&(a.push(\"C\"),a.push([t[i+1]+\",\"+r[i+1],t[i+2]+\",\"+r[i+2]+\" \"].join(\" \")));return a.join(n?\"\":\"L\")}});var DZe=ye((exr,RZe)=>{\"use strict\";RZe.exports=function(t,r,n,i,a,o){var s=a[0]*t.dpdx(r),l=a[1]*t.dpdy(n),u=1,c=1;if(o){var f=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=Math.sqrt(o[0]*o[0]+o[1]*o[1]),d=(a[0]*o[0]+a[1]*o[1])/f/h;c=Math.max(0,d)}var v=Math.atan2(l,s)*180/Math.PI;return v<-90?(v+=180,u=-u):v>90&&(v-=180,u=-u),{angle:v,flip:u,p:t.c2p(i,r,n),offsetMultplier:c}}});var VZe=ye((txr,UZe)=>{\"use strict\";var V7=xa(),B7=ao(),N7=f$(),qZe=h$(),Qk=DZe(),d$=Pl(),Up=Mr(),OZe=Up.strRotate,U7=Up.strTranslate,BZe=Nh();UZe.exports=function(t,r,n,i){var a=t._context.staticPlot,o=r.xaxis,s=r.yaxis,l=t._fullLayout,u=l._clips;Up.makeTraceGroups(i,n,\"trace\").each(function(c){var f=V7.select(this),h=c[0],d=h.trace,v=d.aaxis,x=d.baxis,b=Up.ensureSingle(f,\"g\",\"minorlayer\"),p=Up.ensureSingle(f,\"g\",\"majorlayer\"),E=Up.ensureSingle(f,\"g\",\"boundarylayer\"),k=Up.ensureSingle(f,\"g\",\"labellayer\");f.style(\"opacity\",d.opacity),zA(o,s,p,v,\"a\",v._gridlines,!0,a),zA(o,s,p,x,\"b\",x._gridlines,!0,a),zA(o,s,b,v,\"a\",v._minorgridlines,!0,a),zA(o,s,b,x,\"b\",x._minorgridlines,!0,a),zA(o,s,E,v,\"a-boundary\",v._boundarylines,a),zA(o,s,E,x,\"b-boundary\",x._boundarylines,a);var A=zZe(t,o,s,d,h,k,v._labels,\"a-label\"),L=zZe(t,o,s,d,h,k,x._labels,\"b-label\");kXt(t,k,d,h,o,s,A,L),EXt(d,h,u,o,s)})};function EXt(e,t,r,n,i){var a,o,s,l,u=r.select(\"#\"+e._clipPathId);u.size()||(u=r.append(\"clipPath\").classed(\"carpetclip\",!0));var c=Up.ensureSingle(u,\"path\",\"carpetboundary\"),f=t.clipsegments,h=[];for(l=0;l<f.length;l++)a=f[l],o=N7([],a.x,n.c2p),s=N7([],a.y,i.c2p),h.push(qZe(o,s,a.bicubic));var d=\"M\"+h.join(\"L\")+\"Z\";u.attr(\"id\",e._clipPathId),c.attr(\"d\",d)}function zA(e,t,r,n,i,a,o){var s=\"const-\"+i+\"-lines\",l=r.selectAll(\".\"+s).data(a);l.enter().append(\"path\").classed(s,!0).style(\"vector-effect\",o?\"none\":\"non-scaling-stroke\"),l.each(function(u){var c=u,f=c.x,h=c.y,d=N7([],f,e.c2p),v=N7([],h,t.c2p),x=\"M\"+qZe(d,v,c.smoothing),b=V7.select(this);b.attr(\"d\",x).style(\"stroke-width\",c.width).style(\"stroke\",c.color).style(\"stroke-dasharray\",B7.dashStyle(c.dash,c.width)).style(\"fill\",\"none\")}),l.exit().remove()}function zZe(e,t,r,n,i,a,o,s){var l=a.selectAll(\"text.\"+s).data(o);l.enter().append(\"text\").classed(s,!0);var u=0,c={};return l.each(function(f,h){var d;if(f.axis.tickangle===\"auto\")d=Qk(n,t,r,f.xy,f.dxy);else{var v=(f.axis.tickangle+180)*Math.PI/180;d=Qk(n,t,r,f.xy,[Math.cos(v),Math.sin(v)])}h||(c={angle:d.angle,flip:d.flip});var x=(f.endAnchor?-1:1)*d.flip,b=V7.select(this).attr({\"text-anchor\":x>0?\"start\":\"end\",\"data-notex\":1}).call(B7.font,f.font).text(f.text).call(d$.convertToTspans,e),p=B7.bBox(this);b.attr(\"transform\",U7(d.p[0],d.p[1])+OZe(d.angle)+U7(f.axis.labelpadding*x,p.height*.3)),u=Math.max(u,p.width+f.axis.labelpadding)}),l.exit().remove(),c.maxExtent=u,c}function kXt(e,t,r,n,i,a,o,s){var l,u,c,f,h=Up.aggNums(Math.min,null,r.a),d=Up.aggNums(Math.max,null,r.a),v=Up.aggNums(Math.min,null,r.b),x=Up.aggNums(Math.max,null,r.b);l=.5*(h+d),u=v,c=r.ab2xy(l,u,!0),f=r.dxyda_rough(l,u),o.angle===void 0&&Up.extendFlat(o,Qk(r,i,a,c,r.dxydb_rough(l,u))),FZe(e,t,r,n,c,f,r.aaxis,i,a,o,\"a-title\"),l=h,u=.5*(v+x),c=r.ab2xy(l,u,!0),f=r.dxydb_rough(l,u),s.angle===void 0&&Up.extendFlat(s,Qk(r,i,a,c,r.dxyda_rough(l,u))),FZe(e,t,r,n,c,f,r.baxis,i,a,s,\"b-title\")}var NZe=BZe.LINE_SPACING,CXt=(1-BZe.MID_SHIFT)/NZe+1;function FZe(e,t,r,n,i,a,o,s,l,u,c){var f=[];o.title.text&&f.push(o.title.text);var h=t.selectAll(\"text.\"+c).data(f),d=u.maxExtent;h.enter().append(\"text\").classed(c,!0),h.each(function(){var v=Qk(r,s,l,i,a);[\"start\",\"both\"].indexOf(o.showticklabels)===-1&&(d=0);var x=o.title.font.size;d+=x+o.title.offset;var b=u.angle+(u.flip<0?180:0),p=(b-v.angle+450)%360,E=p>90&&p<270,k=V7.select(this);k.text(o.title.text).call(d$.convertToTspans,e),E&&(d=(-d$.lineCount(k)+CXt)*NZe*x-d),k.attr(\"transform\",U7(v.p[0],v.p[1])+OZe(v.angle)+U7(0,d)).attr(\"text-anchor\",\"middle\").call(B7.font,o.title.font)}),h.exit().remove()}});var GZe=ye((rxr,HZe)=>{\"use strict\";var H7=Mr().isArrayOrTypedArray;HZe.exports=function(e,t,r){var n,i,a,o,s,l,u=[],c=H7(e)?e.length:e,f=H7(t)?t.length:t,h=H7(e)?e:null,d=H7(t)?t:null;h&&(a=(h.length-1)/(h[h.length-1]-h[0])/(c-1)),d&&(o=(d.length-1)/(d[d.length-1]-d[0])/(f-1));var v,x=1/0,b=-1/0;for(i=0;i<f;i++)for(u[i]=[],l=d?(d[i]-d[0])*o:i/(f-1),n=0;n<c;n++)s=h?(h[n]-h[0])*a:n/(c-1),v=s-l*r,x=Math.min(v,x),b=Math.max(v,b),u[i][n]=v;var p=1/(b-x),E=-x*p;for(i=0;i<f;i++)for(n=0;n<c;n++)u[i][n]=p*u[i][n]+E;return u}});var XZe=ye((ixr,ZZe)=>{\"use strict\";var jZe=Mr().isArrayOrTypedArray;ZZe.exports=function(e){return WZe(e,0)};function WZe(e,t){if(!jZe(e)||t>=10)return null;for(var r=1/0,n=-1/0,i=e.length,a=0;a<i;a++){var o=e[a];if(jZe(o)){var s=WZe(o,t+1);s&&(r=Math.min(s[0],r),n=Math.max(s[1],n))}else r=Math.min(o,r),n=Math.max(o,n)}return[r,n]}});var KZe=ye((nxr,YZe)=>{\"use strict\";var LXt=Qa(),kx=no().extendFlat;YZe.exports=function(t,r,n){var i,a,o,s,l,u,c,f,h,d,v,x,b,p,E=t[\"_\"+r],k=t[r+\"axis\"],A=k._gridlines=[],L=k._minorgridlines=[],_=k._boundarylines=[],C=t[\"_\"+n],M=t[n+\"axis\"];k.tickmode===\"array\"&&(k.tickvals=E.slice());var g=t._xctrl,P=t._yctrl,T=g[0].length,F=g.length,q=t._a.length,V=t._b.length;LXt.prepTicks(k),k.tickmode===\"array\"&&delete k.tickvals;var H=k.smoothing?3:1;function X(N){var W,re,ae,_e,Me,ke,ge,ie,Te,Ee,Ae,ze,Ce=[],me=[],Re={};if(r===\"b\")for(re=t.b2j(N),ae=Math.floor(Math.max(0,Math.min(V-2,re))),_e=re-ae,Re.length=V,Re.crossLength=q,Re.xy=function(ce){return t.evalxy([],ce,re)},Re.dxy=function(ce,Ge){return t.dxydi([],ce,ae,Ge,_e)},W=0;W<q;W++)ke=Math.min(q-2,W),ge=W-ke,ie=t.evalxy([],W,re),M.smoothing&&W>0&&(Te=t.dxydi([],W-1,ae,0,_e),Ce.push(Me[0]+Te[0]/3),me.push(Me[1]+Te[1]/3),Ee=t.dxydi([],W-1,ae,1,_e),Ce.push(ie[0]-Ee[0]/3),me.push(ie[1]-Ee[1]/3)),Ce.push(ie[0]),me.push(ie[1]),Me=ie;else for(W=t.a2i(N),ke=Math.floor(Math.max(0,Math.min(q-2,W))),ge=W-ke,Re.length=q,Re.crossLength=V,Re.xy=function(ce){return t.evalxy([],W,ce)},Re.dxy=function(ce,Ge){return t.dxydj([],ke,ce,ge,Ge)},re=0;re<V;re++)ae=Math.min(V-2,re),_e=re-ae,ie=t.evalxy([],W,re),M.smoothing&&re>0&&(Ae=t.dxydj([],ke,re-1,ge,0),Ce.push(Me[0]+Ae[0]/3),me.push(Me[1]+Ae[1]/3),ze=t.dxydj([],ke,re-1,ge,1),Ce.push(ie[0]-ze[0]/3),me.push(ie[1]-ze[1]/3)),Ce.push(ie[0]),me.push(ie[1]),Me=ie;return Re.axisLetter=r,Re.axis=k,Re.crossAxis=M,Re.value=N,Re.constvar=n,Re.index=f,Re.x=Ce,Re.y=me,Re.smoothing=M.smoothing,Re}function G(N){var W,re,ae,_e,Me,ke=[],ge=[],ie={};if(ie.length=E.length,ie.crossLength=C.length,r===\"b\")for(ae=Math.max(0,Math.min(V-2,N)),Me=Math.min(1,Math.max(0,N-ae)),ie.xy=function(Te){return t.evalxy([],Te,N)},ie.dxy=function(Te,Ee){return t.dxydi([],Te,ae,Ee,Me)},W=0;W<T;W++)ke[W]=g[N*H][W],ge[W]=P[N*H][W];else for(re=Math.max(0,Math.min(q-2,N)),_e=Math.min(1,Math.max(0,N-re)),ie.xy=function(Te){return t.evalxy([],N,Te)},ie.dxy=function(Te,Ee){return t.dxydj([],re,Te,_e,Ee)},W=0;W<F;W++)ke[W]=g[W][N*H],ge[W]=P[W][N*H];return ie.axisLetter=r,ie.axis=k,ie.crossAxis=M,ie.value=E[N],ie.constvar=n,ie.index=N,ie.x=ke,ie.y=ge,ie.smoothing=M.smoothing,ie}if(k.tickmode===\"array\"){for(s=5e-15,l=[Math.floor((E.length-1-k.arraytick0)/k.arraydtick*(1+s)),Math.ceil(-k.arraytick0/k.arraydtick/(1+s))].sort(function(N,W){return N-W}),u=l[0]-1,c=l[1]+1,f=u;f<c;f++)a=k.arraytick0+k.arraydtick*f,!(a<0||a>E.length-1)&&A.push(kx(G(a),{color:k.gridcolor,width:k.gridwidth,dash:k.griddash}));for(f=u;f<c;f++)if(o=k.arraytick0+k.arraydtick*f,v=Math.min(o+k.arraydtick,E.length-1),!(o<0||o>E.length-1)&&!(v<0||v>E.length-1))for(x=E[o],b=E[v],i=0;i<k.minorgridcount;i++)p=v-o,!(p<=0)&&(d=x+(b-x)*(i+1)/(k.minorgridcount+1)*(k.arraydtick/p),!(d<E[0]||d>E[E.length-1])&&L.push(kx(X(d),{color:k.minorgridcolor,width:k.minorgridwidth,dash:k.minorgriddash})));k.startline&&_.push(kx(G(0),{color:k.startlinecolor,width:k.startlinewidth})),k.endline&&_.push(kx(G(E.length-1),{color:k.endlinecolor,width:k.endlinewidth}))}else{for(s=5e-15,l=[Math.floor((E[E.length-1]-k.tick0)/k.dtick*(1+s)),Math.ceil((E[0]-k.tick0)/k.dtick/(1+s))].sort(function(N,W){return N-W}),u=l[0],c=l[1],f=u;f<=c;f++)h=k.tick0+k.dtick*f,A.push(kx(X(h),{color:k.gridcolor,width:k.gridwidth,dash:k.griddash}));for(f=u-1;f<c+1;f++)for(h=k.tick0+k.dtick*f,i=0;i<k.minorgridcount;i++)d=h+k.dtick*(i+1)/(k.minorgridcount+1),!(d<E[0]||d>E[E.length-1])&&L.push(kx(X(d),{color:k.minorgridcolor,width:k.minorgridwidth,dash:k.minorgriddash}));k.startline&&_.push(kx(X(E[0]),{color:k.startlinecolor,width:k.startlinewidth})),k.endline&&_.push(kx(X(E[E.length-1]),{color:k.endlinecolor,width:k.endlinewidth}))}}});var eXe=ye((axr,QZe)=>{\"use strict\";var JZe=Qa(),$Ze=no().extendFlat;QZe.exports=function(t,r){var n,i,a,o,s,l=r._labels=[],u=r._gridlines;for(n=0;n<u.length;n++)s=u[n],[\"start\",\"both\"].indexOf(r.showticklabels)!==-1&&(i=JZe.tickText(r,s.value),$Ze(i,{prefix:a,suffix:o,endAnchor:!0,xy:s.xy(0),dxy:s.dxy(0,0),axis:s.axis,length:s.crossAxis.length,font:s.axis.tickfont,isFirst:n===0,isLast:n===u.length-1}),l.push(i)),[\"end\",\"both\"].indexOf(r.showticklabels)!==-1&&(i=JZe.tickText(r,s.value),$Ze(i,{endAnchor:!1,xy:s.xy(s.crossLength-1),dxy:s.dxy(s.crossLength-2,1),axis:s.axis,length:s.crossAxis.length,font:s.axis.tickfont,isFirst:n===0,isLast:n===u.length-1}),l.push(i))}});var rXe=ye((oxr,tXe)=>{\"use strict\";tXe.exports=function(t,r,n,i){var a,o,s,l=[],u=!!n.smoothing,c=!!i.smoothing,f=t[0].length-1,h=t.length-1;for(a=0,o=[],s=[];a<=f;a++)o[a]=t[0][a],s[a]=r[0][a];for(l.push({x:o,y:s,bicubic:u}),a=0,o=[],s=[];a<=h;a++)o[a]=t[a][f],s[a]=r[a][f];for(l.push({x:o,y:s,bicubic:c}),a=f,o=[],s=[];a>=0;a--)o[f-a]=t[h][a],s[f-a]=r[h][a];for(l.push({x:o,y:s,bicubic:u}),a=h,o=[],s=[];a>=0;a--)o[h-a]=t[a][0],s[h-a]=r[a][0];return l.push({x:o,y:s,bicubic:c}),l}});var nXe=ye((sxr,iXe)=>{\"use strict\";var PXt=Mr();iXe.exports=function(t,r,n){var i,a,o,s=[],l=[],u=t[0].length,c=t.length;function f(ae,_e){var Me=0,ke,ge=0;return ae>0&&(ke=t[_e][ae-1])!==void 0&&(ge++,Me+=ke),ae<u-1&&(ke=t[_e][ae+1])!==void 0&&(ge++,Me+=ke),_e>0&&(ke=t[_e-1][ae])!==void 0&&(ge++,Me+=ke),_e<c-1&&(ke=t[_e+1][ae])!==void 0&&(ge++,Me+=ke),Me/Math.max(1,ge)}var h=0;for(i=0;i<u;i++)for(a=0;a<c;a++)t[a][i]===void 0&&(s.push(i),l.push(a),t[a][i]=f(i,a)),h=Math.max(h,Math.abs(t[a][i]));if(!s.length)return t;var d,v,x,b,p,E,k,A,L,_,C,M=1e-5,g=0,P=100,T=0,F=s.length;do{for(g=0,o=0;o<F;o++){i=s[o],a=l[o];var q=0,V=0,H,X,G,N,W,re;i===0?(W=Math.min(u-1,2),G=r[W],N=r[1],H=t[a][W],X=t[a][1],V+=X+(X-H)*(r[0]-N)/(N-G),q++):i===u-1&&(W=Math.max(0,u-3),G=r[W],N=r[u-2],H=t[a][W],X=t[a][u-2],V+=X+(X-H)*(r[u-1]-N)/(N-G),q++),(i===0||i===u-1)&&a>0&&a<c-1&&(d=n[a+1]-n[a],v=n[a]-n[a-1],V+=(v*t[a+1][i]+d*t[a-1][i])/(v+d),q++),a===0?(re=Math.min(c-1,2),G=n[re],N=n[1],H=t[re][i],X=t[1][i],V+=X+(X-H)*(n[0]-N)/(N-G),q++):a===c-1&&(re=Math.max(0,c-3),G=n[re],N=n[c-2],H=t[re][i],X=t[c-2][i],V+=X+(X-H)*(n[c-1]-N)/(N-G),q++),(a===0||a===c-1)&&i>0&&i<u-1&&(d=r[i+1]-r[i],v=r[i]-r[i-1],V+=(v*t[a][i+1]+d*t[a][i-1])/(v+d),q++),q?V/=q:(x=r[i+1]-r[i],b=r[i]-r[i-1],p=n[a+1]-n[a],E=n[a]-n[a-1],k=x*b*(x+b),A=p*E*(p+E),V=(k*(E*t[a+1][i]+p*t[a-1][i])+A*(b*t[a][i+1]+x*t[a][i-1]))/(A*(b+x)+k*(E+p))),L=V-t[a][i],_=L/h,g+=_*_,C=q?0:.85,t[a][i]+=L*(1+C)}g=Math.sqrt(g)}while(T++<P&&g>M);return PXt.log(\"Smoother converged to\",g,\"after\",T,\"iterations\"),t}});var oXe=ye((lxr,aXe)=>{\"use strict\";aXe.exports={RELATIVE_CULL_TOLERANCE:1e-6}});var uXe=ye((uxr,lXe)=>{\"use strict\";var sXe=.5;lXe.exports=function(t,r,n,i){var a=t[0]-r[0],o=t[1]-r[1],s=n[0]-r[0],l=n[1]-r[1],u=Math.pow(a*a+o*o,sXe/2),c=Math.pow(s*s+l*l,sXe/2),f=(c*c*a-u*u*s)*i,h=(c*c*o-u*u*l)*i,d=c*(u+c)*3,v=u*(u+c)*3;return[[r[0]+(d&&f/d),r[1]+(d&&h/d)],[r[0]-(v&&f/v),r[1]-(v&&h/v)]]}});var fXe=ye((cxr,cXe)=>{\"use strict\";var v$=uXe(),G7=Mr().ensureArray;function FA(e,t,r){var n=-.5*r[0]+1.5*t[0],i=-.5*r[1]+1.5*t[1];return[(2*n+e[0])/3,(2*i+e[1])/3]}cXe.exports=function(t,r,n,i,a,o){var s,l,u,c,f,h,d,v,x,b,p=n[0].length,E=n.length,k=a?3*p-2:p,A=o?3*E-2:E;for(t=G7(t,A),r=G7(r,A),u=0;u<A;u++)t[u]=G7(t[u],k),r[u]=G7(r[u],k);for(l=0,c=0;l<E;l++,c+=o?3:1)for(f=t[c],h=r[c],d=n[l],v=i[l],s=0,u=0;s<p;s++,u+=a?3:1)f[u]=d[s],h[u]=v[s];if(a)for(l=0,c=0;l<E;l++,c+=o?3:1){for(s=1,u=3;s<p-1;s++,u+=3)x=v$([n[l][s-1],i[l][s-1]],[n[l][s],i[l][s]],[n[l][s+1],i[l][s+1]],a),t[c][u-1]=x[0][0],r[c][u-1]=x[0][1],t[c][u+1]=x[1][0],r[c][u+1]=x[1][1];b=FA([t[c][0],r[c][0]],[t[c][2],r[c][2]],[t[c][3],r[c][3]]),t[c][1]=b[0],r[c][1]=b[1],b=FA([t[c][k-1],r[c][k-1]],[t[c][k-3],r[c][k-3]],[t[c][k-4],r[c][k-4]]),t[c][k-2]=b[0],r[c][k-2]=b[1]}if(o)for(u=0;u<k;u++){for(c=3;c<A-3;c+=3)x=v$([t[c-3][u],r[c-3][u]],[t[c][u],r[c][u]],[t[c+3][u],r[c+3][u]],o),t[c-1][u]=x[0][0],r[c-1][u]=x[0][1],t[c+1][u]=x[1][0],r[c+1][u]=x[1][1];b=FA([t[0][u],r[0][u]],[t[2][u],r[2][u]],[t[3][u],r[3][u]]),t[1][u]=b[0],r[1][u]=b[1],b=FA([t[A-1][u],r[A-1][u]],[t[A-3][u],r[A-3][u]],[t[A-4][u],r[A-4][u]]),t[A-2][u]=b[0],r[A-2][u]=b[1]}if(a&&o)for(c=1;c<A;c+=(c+1)%3===0?2:1){for(u=3;u<k-3;u+=3)x=v$([t[c][u-3],r[c][u-3]],[t[c][u],r[c][u]],[t[c][u+3],r[c][u+3]],a),t[c][u-1]=.5*(t[c][u-1]+x[0][0]),r[c][u-1]=.5*(r[c][u-1]+x[0][1]),t[c][u+1]=.5*(t[c][u+1]+x[1][0]),r[c][u+1]=.5*(r[c][u+1]+x[1][1]);b=FA([t[c][0],r[c][0]],[t[c][2],r[c][2]],[t[c][3],r[c][3]]),t[c][1]=.5*(t[c][1]+b[0]),r[c][1]=.5*(r[c][1]+b[1]),b=FA([t[c][k-1],r[c][k-1]],[t[c][k-3],r[c][k-3]],[t[c][k-4],r[c][k-4]]),t[c][k-2]=.5*(t[c][k-2]+b[0]),r[c][k-2]=.5*(r[c][k-2]+b[1])}return[t,r]}});var dXe=ye((fxr,hXe)=>{\"use strict\";hXe.exports=function(e,t,r,n,i){var a=t-2,o=r-2;return n&&i?function(s,l,u){s||(s=[]);var c,f,h,d,v,x,b=Math.max(0,Math.min(Math.floor(l),a)),p=Math.max(0,Math.min(Math.floor(u),o)),E=Math.max(0,Math.min(1,l-b)),k=Math.max(0,Math.min(1,u-p));b*=3,p*=3;var A=E*E,L=A*E,_=1-E,C=_*_,M=C*_,g=k*k,P=g*k,T=1-k,F=T*T,q=F*T;for(x=0;x<e.length;x++)v=e[x],c=M*v[p][b]+3*(C*E*v[p][b+1]+_*A*v[p][b+2])+L*v[p][b+3],f=M*v[p+1][b]+3*(C*E*v[p+1][b+1]+_*A*v[p+1][b+2])+L*v[p+1][b+3],h=M*v[p+2][b]+3*(C*E*v[p+2][b+1]+_*A*v[p+2][b+2])+L*v[p+2][b+3],d=M*v[p+3][b]+3*(C*E*v[p+3][b+1]+_*A*v[p+3][b+2])+L*v[p+3][b+3],s[x]=q*c+3*(F*k*f+T*g*h)+P*d;return s}:n?function(s,l,u){s||(s=[]);var c=Math.max(0,Math.min(Math.floor(l),a)),f=Math.max(0,Math.min(Math.floor(u),o)),h=Math.max(0,Math.min(1,l-c)),d=Math.max(0,Math.min(1,u-f)),v,x,b,p,E,k;c*=3;var A=h*h,L=A*h,_=1-h,C=_*_,M=C*_,g=1-d;for(E=0;E<e.length;E++)k=e[E],v=g*k[f][c]+d*k[f+1][c],x=g*k[f][c+1]+d*k[f+1][c+1],b=g*k[f][c+2]+d*k[f+1][c+1],p=g*k[f][c+3]+d*k[f+1][c+1],s[E]=M*v+3*(C*h*x+_*A*b)+L*p;return s}:i?function(s,l,u){s||(s=[]);var c=Math.max(0,Math.min(Math.floor(l),a)),f=Math.max(0,Math.min(Math.floor(u),o)),h=Math.max(0,Math.min(1,l-c)),d=Math.max(0,Math.min(1,u-f)),v,x,b,p,E,k;f*=3;var A=d*d,L=A*d,_=1-d,C=_*_,M=C*_,g=1-h;for(E=0;E<e.length;E++)k=e[E],v=g*k[f][c]+h*k[f][c+1],x=g*k[f+1][c]+h*k[f+1][c+1],b=g*k[f+2][c]+h*k[f+2][c+1],p=g*k[f+3][c]+h*k[f+3][c+1],s[E]=M*v+3*(C*d*x+_*A*b)+L*p;return s}:function(s,l,u){s||(s=[]);var c=Math.max(0,Math.min(Math.floor(l),a)),f=Math.max(0,Math.min(Math.floor(u),o)),h=Math.max(0,Math.min(1,l-c)),d=Math.max(0,Math.min(1,u-f)),v,x,b,p,E=1-d,k=1-h;for(b=0;b<e.length;b++)p=e[b],v=k*p[f][c]+h*p[f][c+1],x=k*p[f+1][c]+h*p[f+1][c+1],s[b]=E*v+d*x;return s}}});var pXe=ye((hxr,vXe)=>{\"use strict\";vXe.exports=function(e,t,r){return t&&r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;i*=3,a*=3;var v=o*o,x=1-o,b=x*x,p=x*o*2,E=-3*b,k=3*(b-p),A=3*(p-v),L=3*v,_=s*s,C=_*s,M=1-s,g=M*M,P=g*M;for(d=0;d<e.length;d++)h=e[d],l=E*h[a][i]+k*h[a][i+1]+A*h[a][i+2]+L*h[a][i+3],u=E*h[a+1][i]+k*h[a+1][i+1]+A*h[a+1][i+2]+L*h[a+1][i+3],c=E*h[a+2][i]+k*h[a+2][i+1]+A*h[a+2][i+2]+L*h[a+2][i+3],f=E*h[a+3][i]+k*h[a+3][i+1]+A*h[a+3][i+2]+L*h[a+3][i+3],n[d]=P*l+3*(g*s*u+M*_*c)+C*f;return n}:t?function(n,i,a,o,s){n||(n=[]);var l,u,c,f;i*=3;var h=o*o,d=1-o,v=d*d,x=d*o*2,b=-3*v,p=3*(v-x),E=3*(x-h),k=3*h,A=1-s;for(c=0;c<e.length;c++)f=e[c],l=b*f[a][i]+p*f[a][i+1]+E*f[a][i+2]+k*f[a][i+3],u=b*f[a+1][i]+p*f[a+1][i+1]+E*f[a+1][i+2]+k*f[a+1][i+3],n[c]=A*l+s*u;return n}:r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;a*=3;var v=s*s,x=v*s,b=1-s,p=b*b,E=p*b;for(h=0;h<e.length;h++)d=e[h],l=d[a][i+1]-d[a][i],u=d[a+1][i+1]-d[a+1][i],c=d[a+2][i+1]-d[a+2][i],f=d[a+3][i+1]-d[a+3][i],n[h]=E*l+3*(p*s*u+b*v*c)+x*f;return n}:function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h=1-s;for(c=0;c<e.length;c++)f=e[c],l=f[a][i+1]-f[a][i],u=f[a+1][i+1]-f[a+1][i],n[c]=h*l+s*u;return n}}});var mXe=ye((dxr,gXe)=>{\"use strict\";gXe.exports=function(e,t,r){return t&&r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;i*=3,a*=3;var v=o*o,x=v*o,b=1-o,p=b*b,E=p*b,k=s*s,A=1-s,L=A*A,_=A*s*2,C=-3*L,M=3*(L-_),g=3*(_-k),P=3*k;for(d=0;d<e.length;d++)h=e[d],l=C*h[a][i]+M*h[a+1][i]+g*h[a+2][i]+P*h[a+3][i],u=C*h[a][i+1]+M*h[a+1][i+1]+g*h[a+2][i+1]+P*h[a+3][i+1],c=C*h[a][i+2]+M*h[a+1][i+2]+g*h[a+2][i+2]+P*h[a+3][i+2],f=C*h[a][i+3]+M*h[a+1][i+3]+g*h[a+2][i+3]+P*h[a+3][i+3],n[d]=E*l+3*(p*o*u+b*v*c)+x*f;return n}:t?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;i*=3;var v=s*s,x=v*s,b=1-s,p=b*b,E=p*b;for(h=0;h<e.length;h++)d=e[h],l=d[a+1][i]-d[a][i],u=d[a+1][i+1]-d[a][i+1],c=d[a+1][i+2]-d[a][i+2],f=d[a+1][i+3]-d[a][i+3],n[h]=E*l+3*(p*s*u+b*v*c)+x*f;return n}:r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f;a*=3;var h=1-o,d=s*s,v=1-s,x=v*v,b=v*s*2,p=-3*x,E=3*(x-b),k=3*(b-d),A=3*d;for(c=0;c<e.length;c++)f=e[c],l=p*f[a][i]+E*f[a+1][i]+k*f[a+2][i]+A*f[a+3][i],u=p*f[a][i+1]+E*f[a+1][i+1]+k*f[a+2][i+1]+A*f[a+3][i+1],n[c]=h*l+o*u;return n}:function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h=1-o;for(c=0;c<e.length;c++)f=e[c],l=f[a+1][i]-f[a][i],u=f[a+1][i+1]-f[a][i+1],n[c]=h*l+o*u;return n}}});var bXe=ye((vxr,xXe)=>{\"use strict\";var yXe=oXe(),_Xe=k6().findBin,IXt=fXe(),RXt=dXe(),DXt=pXe(),zXt=mXe();xXe.exports=function(t){var r=t._a,n=t._b,i=r.length,a=n.length,o=t.aaxis,s=t.baxis,l=r[0],u=r[i-1],c=n[0],f=n[a-1],h=r[r.length-1]-r[0],d=n[n.length-1]-n[0],v=h*yXe.RELATIVE_CULL_TOLERANCE,x=d*yXe.RELATIVE_CULL_TOLERANCE;l-=v,u+=v,c-=x,f+=x,t.isVisible=function(b,p){return b>l&&b<u&&p>c&&p<f},t.isOccluded=function(b,p){return b<l||b>u||p<c||p>f},t.setScale=function(){var b=t._x,p=t._y,E=IXt(t._xctrl,t._yctrl,b,p,o.smoothing,s.smoothing);t._xctrl=E[0],t._yctrl=E[1],t.evalxy=RXt([t._xctrl,t._yctrl],i,a,o.smoothing,s.smoothing),t.dxydi=DXt([t._xctrl,t._yctrl],o.smoothing,s.smoothing),t.dxydj=zXt([t._xctrl,t._yctrl],o.smoothing,s.smoothing)},t.i2a=function(b){var p=Math.max(0,Math.floor(b[0]),i-2),E=b[0]-p;return(1-E)*r[p]+E*r[p+1]},t.j2b=function(b){var p=Math.max(0,Math.floor(b[1]),i-2),E=b[1]-p;return(1-E)*n[p]+E*n[p+1]},t.ij2ab=function(b){return[t.i2a(b[0]),t.j2b(b[1])]},t.a2i=function(b){var p=Math.max(0,Math.min(_Xe(b,r),i-2)),E=r[p],k=r[p+1];return Math.max(0,Math.min(i-1,p+(b-E)/(k-E)))},t.b2j=function(b){var p=Math.max(0,Math.min(_Xe(b,n),a-2)),E=n[p],k=n[p+1];return Math.max(0,Math.min(a-1,p+(b-E)/(k-E)))},t.ab2ij=function(b){return[t.a2i(b[0]),t.b2j(b[1])]},t.i2c=function(b,p){return t.evalxy([],b,p)},t.ab2xy=function(b,p,E){if(!E&&(b<r[0]||b>r[i-1]|p<n[0]||p>n[a-1]))return[!1,!1];var k=t.a2i(b),A=t.b2j(p),L=t.evalxy([],k,A);if(E){var _=0,C=0,M=[],g,P,T,F;b<r[0]?(g=0,P=0,_=(b-r[0])/(r[1]-r[0])):b>r[i-1]?(g=i-2,P=1,_=(b-r[i-1])/(r[i-1]-r[i-2])):(g=Math.max(0,Math.min(i-2,Math.floor(k))),P=k-g),p<n[0]?(T=0,F=0,C=(p-n[0])/(n[1]-n[0])):p>n[a-1]?(T=a-2,F=1,C=(p-n[a-1])/(n[a-1]-n[a-2])):(T=Math.max(0,Math.min(a-2,Math.floor(A))),F=A-T),_&&(t.dxydi(M,g,T,P,F),L[0]+=M[0]*_,L[1]+=M[1]*_),C&&(t.dxydj(M,g,T,P,F),L[0]+=M[0]*C,L[1]+=M[1]*C)}return L},t.c2p=function(b,p,E){return[p.c2p(b[0]),E.c2p(b[1])]},t.p2x=function(b,p,E){return[p.p2c(b[0]),E.p2c(b[1])]},t.dadi=function(b){var p=Math.max(0,Math.min(r.length-2,b));return r[p+1]-r[p]},t.dbdj=function(b){var p=Math.max(0,Math.min(n.length-2,b));return n[p+1]-n[p]},t.dxyda=function(b,p,E,k){var A=t.dxydi(null,b,p,E,k),L=t.dadi(b,E);return[A[0]/L,A[1]/L]},t.dxydb=function(b,p,E,k){var A=t.dxydj(null,b,p,E,k),L=t.dbdj(p,k);return[A[0]/L,A[1]/L]},t.dxyda_rough=function(b,p,E){var k=h*(E||.1),A=t.ab2xy(b+k,p,!0),L=t.ab2xy(b-k,p,!0);return[(A[0]-L[0])*.5/k,(A[1]-L[1])*.5/k]},t.dxydb_rough=function(b,p,E){var k=d*(E||.1),A=t.ab2xy(b,p+k,!0),L=t.ab2xy(b,p-k,!0);return[(A[0]-L[0])*.5/k,(A[1]-L[1])*.5/k]},t.dpdx=function(b){return b._m},t.dpdy=function(b){return b._m}}});var CXe=ye((pxr,kXe)=>{\"use strict\";var j7=Qa(),wXe=Mr().isArray1D,FXt=GZe(),TXe=XZe(),AXe=KZe(),SXe=eXe(),qXt=rXe(),MXe=QI(),EXe=nXe(),OXt=JI(),BXt=bXe();kXe.exports=function(t,r){var n=j7.getFromId(t,r.xaxis),i=j7.getFromId(t,r.yaxis),a=r.aaxis,o=r.baxis,s=r.x,l=r.y,u=[];s&&wXe(s)&&u.push(\"x\"),l&&wXe(l)&&u.push(\"y\"),u.length&&OXt(r,a,o,\"a\",\"b\",u);var c=r._a=r._a||r.a,f=r._b=r._b||r.b;s=r._x||r.x,l=r._y||r.y;var h={};if(r._cheater){var d=a.cheatertype===\"index\"?c.length:c,v=o.cheatertype===\"index\"?f.length:f;s=FXt(d,v,r.cheaterslope)}r._x=s=MXe(s),r._y=l=MXe(l),EXe(s,c,f),EXe(l,c,f),BXt(r),r.setScale();var x=TXe(s),b=TXe(l),p=.5*(x[1]-x[0]),E=.5*(x[1]+x[0]),k=.5*(b[1]-b[0]),A=.5*(b[1]+b[0]),L=1.3;return x=[E-p*L,E+p*L],b=[A-k*L,A+k*L],r._extremes[n._id]=j7.findExtremes(n,x,{padded:!0}),r._extremes[i._id]=j7.findExtremes(i,b,{padded:!0}),AXe(r,\"a\",\"b\"),AXe(r,\"b\",\"a\"),SXe(r,a),SXe(r,o),h.clipsegments=qXt(r._xctrl,r._yctrl,a,o),h.x=s,h.y=l,h.a=c,h.b=f,[h]}});var PXe=ye((gxr,LXe)=>{\"use strict\";LXe.exports={attributes:O7(),supplyDefaults:LZe(),plot:VZe(),calc:CXe(),animatable:!0,isContainer:!0,moduleType:\"trace\",name:\"carpet\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"carpet\",\"carpetAxis\",\"notLegendIsolatable\",\"noMultiCategory\",\"noHover\",\"noSortingByValue\"],meta:{}}});var RXe=ye((mxr,IXe)=>{\"use strict\";IXe.exports=PXe()});var p$=ye((yxr,zXe)=>{\"use strict\";var NXt=Eg(),u0=Uc(),UXt=vl(),VXt=Wo().hovertemplateAttrs,HXt=Wo().texttemplateAttrs,DXe=Jl(),Cx=no().extendFlat,sg=u0.marker,qA=u0.line,GXt=sg.line;zXe.exports={carpet:{valType:\"string\",editType:\"calc\"},a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},mode:Cx({},u0.mode,{dflt:\"markers\"}),text:Cx({},u0.text,{}),texttemplate:HXt({editType:\"plot\"},{keys:[\"a\",\"b\",\"text\"]}),hovertext:Cx({},u0.hovertext,{}),line:{color:qA.color,width:qA.width,dash:qA.dash,backoff:qA.backoff,shape:Cx({},qA.shape,{values:[\"linear\",\"spline\"]}),smoothing:qA.smoothing,editType:\"calc\"},connectgaps:u0.connectgaps,fill:Cx({},u0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:NXt(),marker:Cx({symbol:sg.symbol,opacity:sg.opacity,maxdisplayed:sg.maxdisplayed,angle:sg.angle,angleref:sg.angleref,standoff:sg.standoff,size:sg.size,sizeref:sg.sizeref,sizemin:sg.sizemin,sizemode:sg.sizemode,line:Cx({width:GXt.width,editType:\"calc\"},DXe(\"marker.line\")),gradient:sg.gradient,editType:\"calc\"},DXe(\"marker\")),textfont:u0.textfont,textposition:u0.textposition,selected:u0.selected,unselected:u0.unselected,hoverinfo:Cx({},UXt.hoverinfo,{flags:[\"a\",\"b\",\"text\",\"name\"]}),hoveron:u0.hoveron,hovertemplate:VXt(),zorder:u0.zorder}});var BXe=ye((_xr,OXe)=>{\"use strict\";var FXe=Mr(),jXt=Sm(),OA=lu(),WXt=$p(),ZXt=R0(),qXe=J3(),XXt=D0(),YXt=Ig(),KXt=p$();OXe.exports=function(t,r,n,i){function a(h,d){return FXe.coerce(t,r,KXt,h,d)}a(\"carpet\"),r.xaxis=\"x\",r.yaxis=\"y\";var o=a(\"a\"),s=a(\"b\"),l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a(\"text\"),a(\"texttemplate\"),a(\"hovertext\");var u=l<jXt.PTS_LINESONLY?\"lines+markers\":\"lines\";a(\"mode\",u),OA.hasMarkers(r)&&WXt(t,r,n,i,a,{gradient:!0}),OA.hasLines(r)&&(ZXt(t,r,n,i,a,{backoff:!0}),qXe(t,r,a),a(\"connectgaps\")),OA.hasText(r)&&XXt(t,r,i,a);var c=[];(OA.hasMarkers(r)||OA.hasText(r))&&(a(\"marker.maxdisplayed\"),c.push(\"points\")),a(\"fill\"),r.fill!==\"none\"&&(YXt(t,r,n,a),OA.hasLines(r)||qXe(t,r,a)),(r.fill===\"tonext\"||r.fill===\"toself\")&&c.push(\"fills\");var f=a(\"hoveron\",c.join(\"+\")||\"points\");f!==\"fills\"&&a(\"hovertemplate\"),a(\"zorder\"),FXe.coerceSelectionMarkerOpacity(r,a)}});var UXe=ye((xxr,NXe)=>{\"use strict\";NXe.exports=function(t,r){var n={},i=r._carpet,a=i.ab2ij([t.a,t.b]),o=Math.floor(a[0]),s=a[0]-o,l=Math.floor(a[1]),u=a[1]-l,c=i.evalxy([],o,l,s,u);return n.yLabel=c[1].toFixed(3),n}});var W7=ye((bxr,VXe)=>{\"use strict\";VXe.exports=function(e,t){for(var r=e._fullData.length,n,i=0;i<r;i++){var a=e._fullData[i];if(a.index!==t.index&&a.type===\"carpet\"&&(n||(n=a),a.carpet===t.carpet))return a}return n}});var jXe=ye((wxr,GXe)=>{\"use strict\";var HXe=uo(),JXt=z0(),$Xt=km(),QXt=F0(),eYt=q0().calcMarkerSize,tYt=W7();GXe.exports=function(t,r){var n=r._carpetTrace=tYt(t,r);if(!(!n||!n.visible||n.visible===\"legendonly\")){var i;r.xaxis=n.xaxis,r.yaxis=n.yaxis;var a=r._length,o=new Array(a),s,l,u=!1;for(i=0;i<a;i++)if(s=r.a[i],l=r.b[i],HXe(s)&&HXe(l)){var c=n.ab2xy(+s,+l,!0),f=n.isVisible(+s,+l);f||(u=!0),o[i]={x:c[0],y:c[1],a:s,b:l,vis:f}}else o[i]={x:!1,y:!1};return r._needsCull=u,o[0].carpet=n,o[0].trace=r,eYt(r,a),JXt(t,r),$Xt(o,r),QXt(o,r),o}}});var XXe=ye((Txr,ZXe)=>{\"use strict\";var rYt=iT(),WXe=Qa(),iYt=ao();ZXe.exports=function(t,r,n,i){var a,o,s,l=n[0][0].carpet,u=WXe.getFromId(t,l.xaxis||\"x\"),c=WXe.getFromId(t,l.yaxis||\"y\"),f={xaxis:u,yaxis:c,plot:r.plot};for(a=0;a<n.length;a++)o=n[a][0].trace,o._xA=u,o._yA=c;for(rYt(t,f,n,i),a=0;a<n.length;a++)o=n[a][0].trace,s=i.selectAll(\"g.trace\"+o.uid+\" .js-line\"),iYt.setClipUrl(s,n[a][0].carpet._clipPathId,t)}});var KXe=ye((Axr,YXe)=>{\"use strict\";var nYt=sT(),aYt=Mr().fillText;YXe.exports=function(t,r,n,i){var a=nYt(t,r,n,i);if(!a||a[0].index===!1)return;var o=a[0];if(o.index===void 0){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,c=l-u;return o.x0=Math.max(Math.min(o.x0,c),u),o.x1=Math.max(Math.min(o.x1,c),u),a}var f=o.cd[o.index];o.a=f.a,o.b=f.b,o.xLabelVal=void 0,o.yLabelVal=void 0;var h=o.trace,d=h._carpet,v=h._module.formatLabels(f,h);o.yLabel=v.yLabel,delete o.text;var x=[];function b(k,A){var L;k.labelprefix&&k.labelprefix.length>0?L=k.labelprefix.replace(/ = $/,\"\"):L=k._hovertitle,x.push(L+\": \"+A.toFixed(3)+k.labelsuffix)}if(!h.hovertemplate){var p=f.hi||h.hoverinfo,E=p.split(\"+\");E.indexOf(\"all\")!==-1&&(E=[\"a\",\"b\",\"text\"]),E.indexOf(\"a\")!==-1&&b(d.aaxis,f.a),E.indexOf(\"b\")!==-1&&b(d.baxis,f.b),x.push(\"y: \"+o.yLabel),E.indexOf(\"text\")!==-1&&aYt(f,h,x),o.extraText=x.join(\"<br>\")}return a}});var $Xe=ye((Sxr,JXe)=>{\"use strict\";JXe.exports=function(t,r,n,i,a){var o=i[a];return t.a=o.a,t.b=o.b,t.y=o.y,t}});var eYe=ye((Mxr,QXe)=>{\"use strict\";QXe.exports={attributes:p$(),supplyDefaults:BXe(),colorbar:Kd(),formatLabels:UXe(),calc:jXe(),plot:XXe(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:KXe(),selectPoints:lT(),eventData:$Xe(),moduleType:\"trace\",name:\"scattercarpet\",basePlotModule:Jf(),categories:[\"svg\",\"carpet\",\"symbols\",\"showLegend\",\"carpetDependent\",\"zoomScale\"],meta:{}}});var rYe=ye((Exr,tYe)=>{\"use strict\";tYe.exports=eYe()});var g$=ye((kxr,iYe)=>{\"use strict\";var lg=ET(),g1=T4(),oYt=Jl(),sYt=no().extendFlat,ty=g1.contours;iYe.exports=sYt({carpet:{valType:\"string\",editType:\"calc\"},z:lg.z,a:lg.x,a0:lg.x0,da:lg.dx,b:lg.y,b0:lg.y0,db:lg.dy,text:lg.text,hovertext:lg.hovertext,transpose:lg.transpose,atype:lg.xtype,btype:lg.ytype,fillcolor:g1.fillcolor,autocontour:g1.autocontour,ncontours:g1.ncontours,contours:{type:ty.type,start:ty.start,end:ty.end,size:ty.size,coloring:{valType:\"enumerated\",values:[\"fill\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:ty.showlines,showlabels:ty.showlabels,labelfont:ty.labelfont,labelformat:ty.labelformat,operation:ty.operation,value:ty.value,editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:g1.line.color,width:g1.line.width,dash:g1.line.dash,smoothing:g1.line.smoothing,editType:\"plot\"},zorder:g1.zorder},oYt(\"\",{cLetter:\"z\",autoColorDflt:!1}))});var m$=ye((Cxr,oYe)=>{\"use strict\";var nYe=Mr(),lYt=XI(),aYe=g$(),uYt=yH(),cYt=y8(),fYt=_8();oYe.exports=function(t,r,n,i){function a(u,c){return nYe.coerce(t,r,aYe,u,c)}function o(u){return nYe.coerce2(t,r,aYe,u)}if(a(\"carpet\"),t.a&&t.b){var s=lYt(t,r,a,i,\"a\",\"b\");if(!s){r.visible=!1;return}a(\"text\");var l=a(\"contours.type\")===\"constraint\";l?uYt(t,r,a,i,n,{hasHover:!1}):(cYt(t,r,a,o),fYt(t,r,a,i,{hasHover:!1}))}else r._defaultColor=n,r._length=null;a(\"zorder\")}});var cYe=ye((Lxr,uYe)=>{\"use strict\";var hYt=zv(),sYe=Mr(),dYt=JI(),vYt=QI(),pYt=e8(),gYt=t8(),lYe=VV(),mYt=m$(),yYt=W7(),_Yt=oH();uYe.exports=function(t,r){var n=r._carpetTrace=yYt(t,r);if(!(!n||!n.visible||n.visible===\"legendonly\")){if(!r.a||!r.b){var i=t.data[n.index],a=t.data[r.index];a.a||(a.a=i.a),a.b||(a.b=i.b),mYt(a,r,r._defaultColor,t._fullLayout)}var o=xYt(t,r);return _Yt(r,r._z),o}};function xYt(e,t){var r=t._carpetTrace,n=r.aaxis,i=r.baxis,a,o,s,l,u,c,f;n._minDtick=0,i._minDtick=0,sYe.isArray1D(t.z)&&dYt(t,n,i,\"a\",\"b\",[\"z\"]),a=t._a=t._a||t.a,l=t._b=t._b||t.b,a=a?n.makeCalcdata(t,\"_a\"):[],l=l?i.makeCalcdata(t,\"_b\"):[],o=t.a0||0,s=t.da||1,u=t.b0||0,c=t.db||1,f=t._z=vYt(t._z||t.z,t.transpose),t._emptypoints=gYt(f),pYt(f,t._emptypoints);var h=sYe.maxRowLength(f),d=t.xtype===\"scaled\"?\"\":a,v=lYe(t,d,o,s,h,n),x=t.ytype===\"scaled\"?\"\":l,b=lYe(t,x,u,c,f.length,i),p={a:v,b,z:f};return t.contours.type===\"levels\"&&t.contours.coloring!==\"none\"&&hYt(e,t,{vals:f,containerStr:\"\",cLetter:\"z\"}),[p]}});var hYe=ye((Pxr,fYe)=>{\"use strict\";var bYt=Mr().isArrayOrTypedArray;fYe.exports=function(e,t,r,n){var i,a,o,s,l,u,c,f,h,d,v,x,b,p=bYt(r)?\"a\":\"b\",E=p===\"a\"?e.aaxis:e.baxis,k=E.smoothing,A=p===\"a\"?e.a2i:e.b2j,L=p===\"a\"?r:n,_=p===\"a\"?n:r,C=p===\"a\"?t.a.length:t.b.length,M=p===\"a\"?t.b.length:t.a.length,g=Math.floor(p===\"a\"?e.b2j(_):e.a2i(_)),P=p===\"a\"?function(_e){return e.evalxy([],_e,g)}:function(_e){return e.evalxy([],g,_e)};k&&(o=Math.max(0,Math.min(M-2,g)),s=g-o,a=p===\"a\"?function(_e,Me){return e.dxydi([],_e,o,Me,s)}:function(_e,Me){return e.dxydj([],o,_e,s,Me)});var T=A(L[0]),F=A(L[1]),q=T<F?1:-1,V=(F-T)*1e-8,H=q>0?Math.floor:Math.ceil,X=q>0?Math.ceil:Math.floor,G=q>0?Math.min:Math.max,N=q>0?Math.max:Math.min,W=H(T+V),re=X(F-V);c=P(T);var ae=[[c]];for(i=W;i*q<re*q;i+=q)l=[],v=N(T,i),x=G(F,i+q),b=x-v,u=Math.max(0,Math.min(C-2,Math.floor(.5*(v+x)))),f=P(x),k&&(h=a(u,v-u),d=a(u,x-u),l.push([c[0]+h[0]/3*b,c[1]+h[1]/3*b]),l.push([f[0]-d[0]/3*b,f[1]-d[1]/3*b])),l.push(f),ae.push(l),c=f;return ae}});var _Ye=ye((Ixr,yYe)=>{\"use strict\";var X7=xa(),Y7=f$(),mYe=h$(),eC=ao(),m1=Mr(),wYt=lH(),TYt=uH(),hw=w8(),Z7=S4(),AYt=dH(),SYt=hH(),MYt=vH(),EYt=W7(),dYe=hYe();yYe.exports=function(t,r,n,i){var a=r.xaxis,o=r.yaxis;m1.makeTraceGroups(i,n,\"contour\").each(function(s){var l=X7.select(this),u=s[0],c=u.trace,f=c._carpetTrace=EYt(t,c),h=t.calcdata[f.index][0];if(!f.visible||f.visible===\"legendonly\")return;var d=u.a,v=u.b,x=c.contours,b=SYt(x,r,u),p=x.type===\"constraint\",E=x._operation,k=p?E===\"=\"?\"lines\":\"fill\":x.coloring;function A(H){var X=f.ab2xy(H[0],H[1],!0);return[a.c2p(X[0]),o.c2p(X[1])]}var L=[[d[0],v[v.length-1]],[d[d.length-1],v[v.length-1]],[d[d.length-1],v[0]],[d[0],v[0]]];wYt(b);var _=(d[d.length-1]-d[0])*1e-8,C=(v[v.length-1]-v[0])*1e-8;TYt(b,_,C);var M=b;x.type===\"constraint\"&&(M=AYt(b,E)),kYt(b,A);var g,P,T,F,q=[];for(F=h.clipsegments.length-1;F>=0;F--)g=h.clipsegments[F],P=Y7([],g.x,a.c2p),T=Y7([],g.y,o.c2p),P.reverse(),T.reverse(),q.push(mYe(P,T,g.bicubic));var V=\"M\"+q.join(\"L\")+\"Z\";PYt(l,h.clipsegments,a,o,p,k),IYt(c,l,a,o,M,L,A,f,h,k,V),CYt(l,b,t,u,x,r,f),eC.setClipUrl(l,f._clipPathId,t)})};function kYt(e,t){var r,n,i,a,o,s,l,u,c;for(r=0;r<e.length;r++){for(a=e[r],o=a.pedgepaths=[],s=a.ppaths=[],n=0;n<a.edgepaths.length;n++){for(c=a.edgepaths[n],l=[],i=0;i<c.length;i++)l[i]=t(c[i]);o.push(l)}for(n=0;n<a.paths.length;n++){for(c=a.paths[n],u=[],i=0;i<c.length;i++)u[i]=t(c[i]);s.push(u)}}}function CYt(e,t,r,n,i,a,o){var s=r._context.staticPlot,l=m1.ensureSingle(e,\"g\",\"contourlines\"),u=i.showlines!==!1,c=i.showlabels,f=u&&c,h=hw.createLines(l,u||c,t,s),d=hw.createLineClip(l,f,r,n.trace.uid),v=e.selectAll(\"g.contourlabels\").data(c?[0]:[]);if(v.exit().remove(),v.enter().append(\"g\").classed(\"contourlabels\",!0),c){var x=a.xaxis,b=a.yaxis,p=x._length,E=b._length,k=[[[0,0],[p,0],[p,E],[0,E]]],A=[];m1.clearLocationCache();var L=hw.labelFormatter(r,n),_=eC.tester.append(\"text\").attr(\"data-notex\",1).call(eC.font,i.labelfont),C={left:0,right:p,center:p/2,top:0,bottom:E,middle:E/2},M=Math.sqrt(p*p+E*E),g=Z7.LABELDISTANCE*M/Math.max(1,t.length/Z7.LABELINCREASE);h.each(function(P){var T=hw.calcTextOpts(P.level,L,_,r);X7.select(this).selectAll(\"path\").each(function(F){var q=this,V=m1.getVisibleSegment(q,C,T.height/2);if(V&&(LYt(q,F,P,V,o,T.height),!(V.len<(T.width+T.height)*Z7.LABELMIN)))for(var H=Math.min(Math.ceil(V.len/g),Z7.LABELMAX),X=0;X<H;X++){var G=hw.findBestTextLocation(q,V,T,A,C);if(!G)break;hw.addLabelData(G,T,A,k)}})}),_.remove(),hw.drawLabels(v,A,r,d,f?k:null)}c&&!u&&h.remove()}function LYt(e,t,r,n,i,a){for(var o,s=0;s<r.pedgepaths.length;s++)t===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(!o)return;var l=i.a[0],u=i.a[i.a.length-1],c=i.b[0],f=i.b[i.b.length-1];function h(p,E){var k=0,A,L=.1;return(Math.abs(p[0]-l)<L||Math.abs(p[0]-u)<L)&&(A=pYe(i.dxydb_rough(p[0],p[1],L)),k=Math.max(k,a*gYe(E,A)/2)),(Math.abs(p[1]-c)<L||Math.abs(p[1]-f)<L)&&(A=pYe(i.dxyda_rough(p[0],p[1],L)),k=Math.max(k,a*gYe(E,A)/2)),k}var d=vYe(e,0,1),v=vYe(e,n.total,n.total-1),x=h(o[0],d),b=n.total-h(o[o.length-1],v);n.min<x&&(n.min=x),n.max>b&&(n.max=b),n.len=n.max-n.min}function vYe(e,t,r){var n=e.getPointAtLength(t),i=e.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function pYe(e){var t=Math.sqrt(e[0]*e[0]+e[1]*e[1]);return[e[0]/t,e[1]/t]}function gYe(e,t){var r=Math.abs(e[0]*t[0]+e[1]*t[1]),n=Math.sqrt(1-r*r);return n/r}function PYt(e,t,r,n,i,a){var o,s,l,u,c=m1.ensureSingle(e,\"g\",\"contourbg\"),f=c.selectAll(\"path\").data(a===\"fill\"&&!i?[0]:[]);f.enter().append(\"path\"),f.exit().remove();var h=[];for(u=0;u<t.length;u++)o=t[u],s=Y7([],o.x,r.c2p),l=Y7([],o.y,n.c2p),h.push(mYe(s,l,o.bicubic));f.attr(\"d\",\"M\"+h.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}function IYt(e,t,r,n,i,a,o,s,l,u,c){var f=u===\"fill\";f&&MYt(i,e.contours);var h=m1.ensureSingle(t,\"g\",\"contourfill\"),d=h.selectAll(\"path\").data(f?i:[]);d.enter().append(\"path\"),d.exit().remove(),d.each(function(v){var x=(v.prefixBoundary?c:\"\")+RYt(e,v,a,o,s,l,r,n);x?X7.select(this).attr(\"d\",x).style(\"stroke\",\"none\"):X7.select(this).remove()})}function RYt(e,t,r,n,i,a,o,s){var l,u=\"\",c=t.edgepaths.map(function(T,F){return F}),f=!0,h,d,v,x,b,p,E=Math.abs(r[0][0]-r[2][0])*1e-4,k=Math.abs(r[0][1]-r[2][1])*1e-4;function A(T){return Math.abs(T[1]-r[0][1])<k}function L(T){return Math.abs(T[1]-r[2][1])<k}function _(T){return Math.abs(T[0]-r[0][0])<E}function C(T){return Math.abs(T[0]-r[2][0])<E}function M(T,F){var q,V,H,X,G=\"\";for(A(T)&&!C(T)||L(T)&&!_(T)?(X=i.aaxis,H=dYe(i,a,[T[0],F[0]],.5*(T[1]+F[1]))):(X=i.baxis,H=dYe(i,a,.5*(T[0]+F[0]),[T[1],F[1]])),q=1;q<H.length;q++)for(G+=X.smoothing?\"C\":\"L\",V=0;V<H[q].length;V++){var N=H[q][V];G+=[o.c2p(N[0]),s.c2p(N[1])]+\" \"}return G}for(l=0,h=null;c.length;){var g=t.edgepaths[l][0];for(h&&(u+=M(h,g)),p=eC.smoothopen(t.edgepaths[l].map(n),t.smoothing),u+=f?p:p.replace(/^M/,\"L\"),c.splice(c.indexOf(l),1),h=t.edgepaths[l][t.edgepaths[l].length-1],x=-1,v=0;v<4;v++){if(!h){m1.log(\"Missing end?\",l,t);break}for(A(h)&&!C(h)?d=r[1]:_(h)?d=r[0]:L(h)?d=r[3]:C(h)&&(d=r[2]),b=0;b<t.edgepaths.length;b++){var P=t.edgepaths[b][0];Math.abs(h[0]-d[0])<E?Math.abs(h[0]-P[0])<E&&(P[1]-h[1])*(d[1]-P[1])>=0&&(d=P,x=b):Math.abs(h[1]-d[1])<k?Math.abs(h[1]-P[1])<k&&(P[0]-h[0])*(d[0]-P[0])>=0&&(d=P,x=b):m1.log(\"endpt to newendpt is not vert. or horz.\",h,d,P)}if(x>=0)break;u+=M(h,d),h=d}if(x===t.edgepaths.length){m1.log(\"unclosed perimeter path\");break}l=x,f=c.indexOf(l)===-1,f&&(l=c[0],u+=M(h,d)+\"Z\",h=null)}for(l=0;l<t.paths.length;l++)u+=eC.smoothclosed(t.paths[l].map(n),t.smoothing);return u}});var bYe=ye((Rxr,xYe)=>{\"use strict\";xYe.exports={attributes:g$(),supplyDefaults:m$(),colorbar:S8(),calc:cYe(),plot:_Ye(),style:A8(),moduleType:\"trace\",name:\"contourcarpet\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"carpet\",\"contour\",\"symbols\",\"showLegend\",\"hasLines\",\"carpetDependent\",\"noHover\",\"noSortingByValue\"],meta:{}}});var TYe=ye((Dxr,wYe)=>{\"use strict\";wYe.exports=bYe()});var J7=ye((zxr,kYe)=>{\"use strict\";var K7=Mr().extendFlat,tC=Uc(),AYe=Oc().axisHoverFormat,MYe=Ed().dash,DYt=i3(),EYe=HT(),zYt=EYe.INCREASING.COLOR,FYt=EYe.DECREASING.COLOR,y$=tC.line;function SYe(e){return{line:{color:K7({},y$.color,{dflt:e}),width:y$.width,dash:MYe,editType:\"style\"},editType:\"style\"}}kYe.exports={xperiod:tC.xperiod,xperiod0:tC.xperiod0,xperiodalignment:tC.xperiodalignment,xhoverformat:AYe(\"x\"),yhoverformat:AYe(\"y\"),x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},open:{valType:\"data_array\",editType:\"calc\"},high:{valType:\"data_array\",editType:\"calc\"},low:{valType:\"data_array\",editType:\"calc\"},close:{valType:\"data_array\",editType:\"calc\"},line:{width:K7({},y$.width,{}),dash:K7({},MYe,{}),editType:\"style\"},increasing:SYe(zYt),decreasing:SYe(FYt),text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},tickwidth:{valType:\"number\",min:0,max:.5,dflt:.3,editType:\"calc\"},hoverlabel:K7({},DYt.hoverlabel,{split:{valType:\"boolean\",dflt:!1,editType:\"style\"}}),zorder:tC.zorder}});var _$=ye((Fxr,CYe)=>{\"use strict\";var qYt=ba(),OYt=Mr();CYe.exports=function(t,r,n,i){var a=n(\"x\"),o=n(\"open\"),s=n(\"high\"),l=n(\"low\"),u=n(\"close\");n(\"hoverlabel.split\");var c=qYt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");if(c(t,r,[\"x\"],i),!!(o&&s&&l&&u)){var f=Math.min(o.length,s.length,l.length,u.length);return a&&(f=Math.min(f,OYt.minRowLength(a))),r._length=f,f}}});var IYe=ye((qxr,PYe)=>{\"use strict\";var BYt=Mr(),NYt=_$(),UYt=Pg(),VYt=J7();PYe.exports=function(t,r,n,i){function a(s,l){return BYt.coerce(t,r,VYt,s,l)}var o=NYt(t,r,a,i);if(!o){r.visible=!1;return}UYt(t,r,i,a,{x:!0}),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"line.width\"),a(\"line.dash\"),LYe(t,r,a,\"increasing\"),LYe(t,r,a,\"decreasing\"),a(\"text\"),a(\"hovertext\"),a(\"tickwidth\"),i._requestRangeslider[r.xaxis]=!0,a(\"zorder\")};function LYe(e,t,r,n){r(n+\".line.color\"),r(n+\".line.width\",t.line.width),r(n+\".line.dash\",t.line.dash)}});var x$=ye((Oxr,DYe)=>{\"use strict\";var BA=Mr(),$7=BA._,Q7=Qa(),HYt=Rg(),rC=es().BADNUM;function GYt(e,t){var r=Q7.getFromId(e,t.xaxis),n=Q7.getFromId(e,t.yaxis),i=WYt(e,r,t),a=t._minDiff;t._minDiff=null;var o=t._origX;t._origX=null;var s=t._xcalc;t._xcalc=null;var l=RYe(e,t,o,s,n,jYt);return t._extremes[r._id]=Q7.findExtremes(r,s,{vpad:a/2}),l.length?(BA.extendFlat(l[0].t,{wHover:a/2,tickLen:i}),l):[{t:{empty:!0}}]}function jYt(e,t,r,n){return{o:e,h:t,l:r,c:n}}function RYe(e,t,r,n,i,a){for(var o=i.makeCalcdata(t,\"open\"),s=i.makeCalcdata(t,\"high\"),l=i.makeCalcdata(t,\"low\"),u=i.makeCalcdata(t,\"close\"),c=BA.isArrayOrTypedArray(t.text),f=BA.isArrayOrTypedArray(t.hovertext),h=!0,d=null,v=!!t.xperiodalignment,x=[],b=0;b<n.length;b++){var p=n[b],E=o[b],k=s[b],A=l[b],L=u[b];if(p!==rC&&E!==rC&&k!==rC&&A!==rC&&L!==rC){L===E?d!==null&&L!==d&&(h=L>d):h=L>E,d=L;var _=a(E,k,A,L);_.pos=p,_.yc=(E+L)/2,_.i=b,_.dir=h?\"increasing\":\"decreasing\",_.x=_.pos,_.y=[A,k],v&&(_.orig_p=r[b]),c&&(_.tx=t.text[b]),f&&(_.htx=t.hovertext[b]),x.push(_)}else x.push({pos:p,empty:!0})}return t._extremes[i._id]=Q7.findExtremes(i,BA.concat(l,s),{padded:!0}),x.length&&(x[0].t={labels:{open:$7(e,\"open:\")+\" \",high:$7(e,\"high:\")+\" \",low:$7(e,\"low:\")+\" \",close:$7(e,\"close:\")+\" \"}}),x}function WYt(e,t,r){var n=r._minDiff;if(!n){var i=e._fullData,a=[];n=1/0;var o;for(o=0;o<i.length;o++){var s=i[o];if(s.type===\"ohlc\"&&s.visible===!0&&s.xaxis===t._id){a.push(s);var l=t.makeCalcdata(s,\"x\");s._origX=l;var u=HYt(r,t,\"x\",l).vals;s._xcalc=u;var c=BA.distinctVals(u).minDiff;c&&isFinite(c)&&(n=Math.min(n,c))}}for(n===1/0&&(n=1),o=0;o<a.length;o++)a[o]._minDiff=n}return n*r.tickwidth}DYe.exports={calc:GYt,calcCommon:RYe}});var qYe=ye((Bxr,FYe)=>{\"use strict\";var ZYt=xa(),zYe=Mr();FYe.exports=function(t,r,n,i){var a=r.yaxis,o=r.xaxis,s=!!o.rangebreaks;zYe.makeTraceGroups(i,n,\"trace ohlc\").each(function(l){var u=ZYt.select(this),c=l[0],f=c.t,h=c.trace;if(h.visible!==!0||f.empty){u.remove();return}var d=f.tickLen,v=u.selectAll(\"path\").data(zYe.identity);v.enter().append(\"path\"),v.exit().remove(),v.attr(\"d\",function(x){if(x.empty)return\"M0,0Z\";var b=o.c2p(x.pos-d,!0),p=o.c2p(x.pos+d,!0),E=s?(b+p)/2:o.c2p(x.pos,!0),k=a.c2p(x.o,!0),A=a.c2p(x.h,!0),L=a.c2p(x.l,!0),_=a.c2p(x.c,!0);return\"M\"+b+\",\"+k+\"H\"+E+\"M\"+E+\",\"+A+\"V\"+L+\"M\"+p+\",\"+_+\"H\"+E})})}});var BYe=ye((Nxr,OYe)=>{\"use strict\";var b$=xa(),XYt=ao(),YYt=va();OYe.exports=function(t,r,n){var i=n||b$.select(t).selectAll(\"g.ohlclayer\").selectAll(\"g.trace\");i.style(\"opacity\",function(a){return a[0].trace.opacity}),i.each(function(a){var o=a[0].trace;b$.select(this).selectAll(\"path\").each(function(s){if(!s.empty){var l=o[s.dir].line;b$.select(this).style(\"fill\",\"none\").call(YYt.stroke,l.color).call(XYt.dashLine,l.dash,l.width).style(\"opacity\",o.selectedpoints&&!s.selected?.3:1)}})})}});var T$=ye((Uxr,GYe)=>{\"use strict\";var w$=Qa(),KYt=Mr(),e9=Nc(),JYt=va(),$Yt=Mr().fillText,NYe=HT(),QYt={increasing:NYe.INCREASING.SYMBOL,decreasing:NYe.DECREASING.SYMBOL};function eKt(e,t,r,n){var i=e.cd,a=i[0].trace;return a.hoverlabel.split?VYe(e,t,r,n):HYe(e,t,r,n)}function UYe(e,t,r,n){var i=e.cd,a=e.xa,o=i[0].trace,s=i[0].t,l=o.type,u=l===\"ohlc\"?\"l\":\"min\",c=l===\"ohlc\"?\"h\":\"max\",f,h,d=s.bPos||0,v=function(P){return P.pos+d-t},x=s.bdPos||s.tickLen,b=s.wHover,p=Math.min(1,x/Math.abs(a.r2c(a.range[1])-a.r2c(a.range[0])));f=e.maxHoverDistance-p,h=e.maxSpikeDistance-p;function E(P){var T=v(P);return e9.inbox(T-b,T+b,f)}function k(P){var T=P[u],F=P[c];return T===F||e9.inbox(T-r,F-r,f)}function A(P){return(E(P)+k(P))/2}var L=e9.getDistanceFunction(n,E,k,A);if(e9.getClosest(i,L,e),e.index===!1)return null;var _=i[e.index];if(_.empty)return null;var C=_.dir,M=o[C],g=M.line.color;return JYt.opacity(g)&&M.line.width?e.color=g:e.color=M.fillcolor,e.x0=a.c2p(_.pos+d-x,!0),e.x1=a.c2p(_.pos+d+x,!0),e.xLabelVal=_.orig_p!==void 0?_.orig_p:_.pos,e.spikeDistance=A(_)*h/f,e.xSpike=a.c2p(_.pos,!0),e}function VYe(e,t,r,n){var i=e.cd,a=e.ya,o=i[0].trace,s=i[0].t,l=[],u=UYe(e,t,r,n);if(!u)return[];var c=u.index,f=i[c],h=f.hi||o.hoverinfo,d=h.split(\"+\"),v=h===\"all\",x=v||d.indexOf(\"y\")!==-1;if(!x)return[];for(var b=[\"high\",\"open\",\"close\",\"low\"],p={},E=0;E<b.length;E++){var k=b[E],A=o[k][u.index],L=a.c2p(A,!0),_;A in p?(_=p[A],_.yLabel+=\"<br>\"+s.labels[k]+w$.hoverLabelText(a,A,o.yhoverformat)):(_=KYt.extendFlat({},u),_.y0=_.y1=L,_.yLabelVal=A,_.yLabel=s.labels[k]+w$.hoverLabelText(a,A,o.yhoverformat),_.name=\"\",l.push(_),p[A]=_)}return l}function HYe(e,t,r,n){var i=e.cd,a=e.ya,o=i[0].trace,s=i[0].t,l=UYe(e,t,r,n);if(!l)return[];var u=l.index,c=i[u],f=l.index=c.i,h=c.dir;function d(A){return s.labels[A]+w$.hoverLabelText(a,o[A][f],o.yhoverformat)}var v=c.hi||o.hoverinfo,x=v.split(\"+\"),b=v===\"all\",p=b||x.indexOf(\"y\")!==-1,E=b||x.indexOf(\"text\")!==-1,k=p?[d(\"open\"),d(\"high\"),d(\"low\"),d(\"close\")+\" \"+QYt[h]]:[];return E&&$Yt(c,o,k),l.extraText=k.join(\"<br>\"),l.y0=l.y1=a.c2p(c.yc,!0),[l]}GYe.exports={hoverPoints:eKt,hoverSplit:VYe,hoverOnPoints:HYe}});var A$=ye((Vxr,jYe)=>{\"use strict\";jYe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l=n[0].t.bPos||0;if(r===!1)for(s=0;s<n.length;s++)n[s].selected=0;else for(s=0;s<n.length;s++){var u=n[s];r.contains([i.c2p(u.pos+l),a.c2p(u.yc)],null,u.i,t)?(o.push({pointNumber:u.i,x:i.c2d(u.pos),y:a.c2d(u.yc)}),u.selected=1):u.selected=0}return o}});var ZYe=ye((Hxr,WYe)=>{\"use strict\";WYe.exports={moduleType:\"trace\",name:\"ohlc\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"showLegend\"],meta:{},attributes:J7(),supplyDefaults:IYe(),calc:x$().calc,plot:qYe(),style:BYe(),hoverPoints:T$().hoverPoints,selectPoints:A$()}});var YYe=ye((Gxr,XYe)=>{\"use strict\";XYe.exports=ZYe()});var M$=ye((jxr,$Ye)=>{\"use strict\";var S$=Mr().extendFlat,KYe=Oc().axisHoverFormat,c0=J7(),NA=v4();function JYe(e){return{line:{color:S$({},NA.line.color,{dflt:e}),width:NA.line.width,editType:\"style\"},fillcolor:NA.fillcolor,editType:\"style\"}}$Ye.exports={xperiod:c0.xperiod,xperiod0:c0.xperiod0,xperiodalignment:c0.xperiodalignment,xhoverformat:KYe(\"x\"),yhoverformat:KYe(\"y\"),x:c0.x,open:c0.open,high:c0.high,low:c0.low,close:c0.close,line:{width:S$({},NA.line.width,{}),editType:\"style\"},increasing:JYe(c0.increasing.line.color.dflt),decreasing:JYe(c0.decreasing.line.color.dflt),text:c0.text,hovertext:c0.hovertext,whiskerwidth:S$({},NA.whiskerwidth,{dflt:0}),hoverlabel:c0.hoverlabel,zorder:NA.zorder}});var tKe=ye((Wxr,eKe)=>{\"use strict\";var tKt=Mr(),rKt=va(),iKt=_$(),nKt=Pg(),aKt=M$();eKe.exports=function(t,r,n,i){function a(s,l){return tKt.coerce(t,r,aKt,s,l)}var o=iKt(t,r,a,i);if(!o){r.visible=!1;return}nKt(t,r,i,a,{x:!0}),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"line.width\"),QYe(t,r,a,\"increasing\"),QYe(t,r,a,\"decreasing\"),a(\"text\"),a(\"hovertext\"),a(\"whiskerwidth\"),i._requestRangeslider[r.xaxis]=!0,a(\"zorder\")};function QYe(e,t,r,n){var i=r(n+\".line.color\");r(n+\".line.width\",t.line.width),r(n+\".fillcolor\",rKt.addOpacity(i,.5))}});var aKe=ye((Zxr,nKe)=>{\"use strict\";var rKe=Mr(),iKe=Qa(),oKt=Rg(),sKt=x$().calcCommon;nKe.exports=function(e,t){var r=e._fullLayout,n=iKe.getFromId(e,t.xaxis),i=iKe.getFromId(e,t.yaxis),a=n.makeCalcdata(t,\"x\"),o=oKt(t,n,\"x\",a).vals,s=sKt(e,t,a,o,i,lKt);return s.length?(rKe.extendFlat(s[0].t,{num:r._numBoxes,dPos:rKe.distinctVals(o).minDiff/2,posLetter:\"x\",valLetter:\"y\"}),r._numBoxes++,s):[{t:{empty:!0}}]};function lKt(e,t,r,n){return{min:r,q1:Math.min(e,n),med:n,q3:Math.max(e,n),max:t}}});var sKe=ye((Xxr,oKe)=>{\"use strict\";oKe.exports={moduleType:\"trace\",name:\"candlestick\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"showLegend\",\"candlestick\",\"boxLayout\"],meta:{},attributes:M$(),layoutAttributes:p4(),supplyLayoutDefaults:VI().supplyLayoutDefaults,crossTraceCalc:GI().crossTraceCalc,supplyDefaults:tKe(),calc:aKe(),plot:jI().plot,layerName:\"boxlayer\",style:WI().style,hoverPoints:T$().hoverPoints,selectPoints:A$()}});var uKe=ye((Yxr,lKe)=>{\"use strict\";lKe.exports=sKe()});var k$=ye((Kxr,cKe)=>{\"use strict\";var r9=Mr(),uKt=ym(),t9=r9.deg2rad,E$=r9.rad2deg;cKe.exports=function(t,r,n){switch(uKt(t,n),t._id){case\"x\":case\"radialaxis\":cKt(t,r);break;case\"angularaxis\":dKt(t,r);break}};function cKt(e,t){var r=t._subplot;e.setGeometry=function(){var n=e._rl[0],i=e._rl[1],a=r.innerRadius,o=(r.radius-a)/(i-n),s=a/o,l=n>i?function(u){return u<=0}:function(u){return u>=0};e.c2g=function(u){var c=e.c2l(u)-n;return(l(c)?c:0)+s},e.g2c=function(u){return e.l2c(u+n-s)},e.g2p=function(u){return u*o},e.c2p=function(u){return e.g2p(e.c2g(u))}}}function fKt(e,t){return t===\"degrees\"?t9(e):e}function hKt(e,t){return t===\"degrees\"?E$(e):e}function dKt(e,t){var r=e.type;if(r===\"linear\"){var n=e.d2c,i=e.c2d;e.d2c=function(a,o){return fKt(n(a),o)},e.c2d=function(a,o){return i(hKt(a,o))}}e.makeCalcdata=function(a,o){var s=a[o],l=a._length,u,c,f=function(b){return e.d2c(b,a.thetaunit)};if(s)for(u=new Array(l),c=0;c<l;c++)u[c]=f(s[c]);else{var h=o+\"0\",d=\"d\"+o,v=h in a?f(a[h]):0,x=a[d]?f(a[d]):(e.period||2*Math.PI)/l;for(u=new Array(l),c=0;c<l;c++)u[c]=v+c*x}return u},e.setGeometry=function(){var a=t.sector,o=a.map(t9),s={clockwise:-1,counterclockwise:1}[e.direction],l=t9(e.rotation),u=function(p){return s*p+l},c=function(p){return(p-l)/s},f,h,d,v;switch(r){case\"linear\":h=f=r9.identity,v=t9,d=E$,e.range=r9.isFullCircle(o)?[a[0],a[0]+360]:o.map(c).map(E$);break;case\"category\":var x=e._categories.length,b=e.period?Math.max(e.period,x):x;b===0&&(b=1),h=v=function(p){return p*2*Math.PI/b},f=d=function(p){return p*b/Math.PI/2},e.range=[0,b];break}e.c2g=function(p){return u(h(p))},e.g2c=function(p){return f(c(p))},e.t2g=function(p){return u(v(p))},e.g2t=function(p){return d(c(p))}}}});var i9=ye((Jxr,fKe)=>{\"use strict\";fKe.exports={attr:\"subplot\",name:\"polar\",axisNames:[\"angularaxis\",\"radialaxis\"],axisName2dataArray:{angularaxis:\"theta\",radialaxis:\"r\"},layerNames:[\"draglayer\",\"plotbg\",\"backplot\",\"angular-grid\",\"radial-grid\",\"frontplot\",\"angular-line\",\"radial-line\",\"angular-axis\",\"radial-axis\"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}});var a9=ye(($xr,gKe)=>{\"use strict\";var dw=Mr(),hKe=wM().tester,C$=dw.findIndexOfMin,vKe=dw.isAngleInsideSector,vKt=dw.angleDelta,dKe=dw.angleDist;function pKt(e,t,r,n,i){if(!vKe(t,n))return!1;var a,o;r[0]<r[1]?(a=r[0],o=r[1]):(a=r[1],o=r[0]);var s=hKe(UA(a,n[0],n[1],i)),l=hKe(UA(o,n[0],n[1],i)),u=[e*Math.cos(t),e*Math.sin(t)];return l.contains(u)&&!s.contains(u)}function pKe(e,t,r,n){var i,a,o=n[0],s=n[1],l=n9(Math.sin(t)-Math.sin(e)),u=n9(Math.cos(t)-Math.cos(e)),c=Math.tan(r),f=n9(1/c),h=l/u,d=s-h*o;return f?l&&u?(i=d/(c-h),a=c*i):u?(i=s*f,a=s):(i=o,a=o*c):l&&u?(i=0,a=d):u?(i=0,a=s):i=a=NaN,[i,a]}function gKt(e,t,r,n){var i=-t*r,a=t*t+1,o=2*(t*i-r),s=i*i+r*r-e*e,l=Math.sqrt(o*o-4*a*s),u=(-o+l)/(2*a),c=(-o-l)/(2*a);return[[u,t*u+i+n],[c,t*c+i+n]]}function mKt(e,t){var r=t.length,n=new Array(r+1),i;for(i=0;i<r;i++){var a=t[i];n[i]=[e*Math.cos(a),e*Math.sin(a)]}return n[i]=n[0].slice(),n}function yKt(e,t,r,n){var i=n.length,a=[],o,s;function l(p){return[e*Math.cos(p),e*Math.sin(p)]}function u(p,E,k){return pKe(p,E,k,l(p))}function c(p){return dw.mod(p,i)}function f(p){return vKe(p,[t,r])}var h=C$(n,function(p){return f(p)?dKe(p,t):1/0}),d=u(n[h],n[c(h-1)],t);for(a.push(d),o=h,s=0;s<i;o++,s++){var v=n[c(o)];if(!f(v))break;a.push(l(v))}var x=C$(n,function(p){return f(p)?dKe(p,r):1/0}),b=u(n[x],n[c(x+1)],r);return a.push(b),a.push([0,0]),a.push(a[0].slice()),a}function UA(e,t,r,n){return dw.isFullCircle([t,r])?mKt(e,n):yKt(e,t,r,n)}function _Kt(e,t,r,n){for(var i=1/0,a=1/0,o=UA(e,t,r,n),s=0;s<o.length;s++){var l=o[s];i=Math.min(i,l[0]),a=Math.min(a,-l[1])}return[i,a]}function xKt(e,t){var r=function(a){var o=vKt(a,e);return o>0?o:1/0},n=C$(t,r),i=dw.mod(n+1,t.length);return[t[n],t[i]]}function n9(e){return Math.abs(e)>1e-10?e:0}function L$(e,t,r){t=t||0,r=r||0;for(var n=e.length,i=new Array(n),a=0;a<n;a++){var o=e[a];i[a]=[t+o[0],r-o[1]]}return i}function bKt(e,t,r,n,i,a){var o=UA(e,t,r,n);return\"M\"+L$(o,i,a).join(\"L\")}function wKt(e,t,r,n,i,a,o){var s,l;e<t?(s=e,l=t):(s=t,l=e);var u=L$(UA(s,r,n,i),a,o),c=L$(UA(l,r,n,i),a,o);return\"M\"+c.reverse().join(\"L\")+\"M\"+u.join(\"L\")}gKe.exports={isPtInsidePolygon:pKt,findPolygonOffset:_Kt,findEnclosingVertexAngles:xKt,findIntersectionXY:pKe,findXYatLength:gKt,clampTiny:n9,pathPolygon:bKt,pathPolygonAnnulus:wKt}});var P$=ye((Qxr,_Ke)=>{\"use strict\";function mKe(e){return e<0?-1:e>0?1:0}function VA(e){var t=e[0],r=e[1];if(!isFinite(t)||!isFinite(r))return[1,0];var n=(t+1)*(t+1)+r*r;return[(t*t+r*r-1)/n,2*r/n]}function HA(e,t){var r=t[0],n=t[1];return[r*e.radius+e.cx,-n*e.radius+e.cy]}function yKe(e,t){return t*e.radius}function TKt(e,t,r,n){var i=HA(e,VA([r,t])),a=i[0],o=i[1],s=HA(e,VA([n,t])),l=s[0],u=s[1];if(t===0)return[\"M\"+a+\",\"+o,\"L\"+l+\",\"+u].join(\" \");var c=yKe(e,1/Math.abs(t));return[\"M\"+a+\",\"+o,\"A\"+c+\",\"+c+\" 0 0,\"+(t<0?1:0)+\" \"+l+\",\"+u].join(\" \")}function AKt(e,t,r,n){var i=yKe(e,1/(t+1)),a=HA(e,VA([t,r])),o=a[0],s=a[1],l=HA(e,VA([t,n])),u=l[0],c=l[1];if(mKe(r)!==mKe(n)){var f=HA(e,VA([t,0])),h=f[0],d=f[1];return[\"M\"+o+\",\"+s,\"A\"+i+\",\"+i+\" 0 0,\"+(0<r?0:1)+\" \"+h+\",\"+d,\"A\"+i+\",\"+i+\" 0 0,\"+(n<0?0:1)+u+\",\"+c].join(\" \")}return[\"M\"+o+\",\"+s,\"A\"+i+\",\"+i+\" 0 0,\"+(n<r?0:1)+\" \"+u+\",\"+c].join(\" \")}_Ke.exports={smith:VA,reactanceArc:TKt,resistanceArc:AKt,smithTransform:HA}});var D$=ye((ebr,kKe)=>{\"use strict\";var vw=xa(),SKt=id(),gw=ba(),cc=Mr(),ry=cc.strRotate,dd=cc.strTranslate,I$=va(),iC=ao(),MKt=Xu(),dp=Qa(),EKt=ym(),kKt=k$(),CKt=wg().doAutoRange,y1=DN(),l9=gv(),xKe=Nc(),LKt=Mb(),PKt=wf().prepSelect,IKt=wf().selectOnClick,R$=wf().clearOutline,bKe=Tg(),wKe=lM(),TKe=gM().redrawReglTraces,RKt=Nh().MID_SHIFT,Lx=i9(),_1=a9(),u9=P$(),o9=u9.smith,DKt=u9.reactanceArc,zKt=u9.resistanceArc,s9=u9.smithTransform,FKt=cc._,AKe=cc.mod,Px=cc.deg2rad,pw=cc.rad2deg;function SKe(e,t,r){this.isSmith=r||!1,this.id=t,this.gd=e,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var n=e._fullLayout,i=\"clip\"+n._uid+t;this.clipIds.forTraces=i+\"-for-traces\",this.clipPaths.forTraces=n._clips.append(\"clipPath\").attr(\"id\",this.clipIds.forTraces),this.clipPaths.forTraces.append(\"path\"),this.framework=n[\"_\"+(r?\"smith\":\"polar\")+\"layer\"].append(\"g\").attr(\"class\",t),this.getHole=function(a){return this.isSmith?0:a.hole},this.getSector=function(a){return this.isSmith?[0,360]:a.sector},this.getRadial=function(a){return this.isSmith?a.realaxis:a.radialaxis},this.getAngular=function(a){return this.isSmith?a.imaginaryaxis:a.angularaxis},r||(this.radialTickLayout=null,this.angularTickLayout=null)}var Fd=SKe.prototype;kKe.exports=function(t,r,n){return new SKe(t,r,n)};Fd.plot=function(e,t){for(var r=this,n=t[r.id],i=!1,a=0;a<e.length;a++){var o=e[a][0].trace;if(o.cliponaxis===!1){i=!0;break}}r._hasClipOnAxisFalse=i,r.updateLayers(t,n),r.updateLayout(t,n),MKt.generalUpdatePerTraceModule(r.gd,r,e,n),r.updateFx(t,n),r.isSmith&&(delete n.realaxis.range,delete n.imaginaryaxis.range)};Fd.updateLayers=function(e,t){var r=this,n=r.isSmith,i=r.layers,a=r.getRadial(t),o=r.getAngular(t),s=Lx.layerNames,l=s.indexOf(\"frontplot\"),u=s.slice(0,l),c=o.layer===\"below traces\",f=a.layer===\"below traces\";c&&u.push(\"angular-line\"),f&&u.push(\"radial-line\"),c&&u.push(\"angular-axis\"),f&&u.push(\"radial-axis\"),u.push(\"frontplot\"),c||u.push(\"angular-line\"),f||u.push(\"radial-line\"),c||u.push(\"angular-axis\"),f||u.push(\"radial-axis\");var h=(n?\"smith\":\"polar\")+\"sublayer\",d=r.framework.selectAll(\".\"+h).data(u,String);d.enter().append(\"g\").attr(\"class\",function(v){return h+\" \"+v}).each(function(v){var x=i[v]=vw.select(this);switch(v){case\"frontplot\":n||x.append(\"g\").classed(\"barlayer\",!0),x.append(\"g\").classed(\"scatterlayer\",!0);break;case\"backplot\":x.append(\"g\").classed(\"maplayer\",!0);break;case\"plotbg\":i.bg=x.append(\"path\");break;case\"radial-grid\":x.style(\"fill\",\"none\");break;case\"angular-grid\":x.style(\"fill\",\"none\");break;case\"radial-line\":x.append(\"line\").style(\"fill\",\"none\");break;case\"angular-line\":x.append(\"path\").style(\"fill\",\"none\");break}}),d.order()};Fd.updateLayout=function(e,t){var r=this,n=r.layers,i=e._size,a=r.getRadial(t),o=r.getAngular(t),s=t.domain.x,l=t.domain.y;r.xOffset=i.l+i.w*s[0],r.yOffset=i.t+i.h*(1-l[1]);var u=r.xLength=i.w*(s[1]-s[0]),c=r.yLength=i.h*(l[1]-l[0]),f=r.getSector(t);r.sectorInRad=f.map(Px);var h=r.sectorBBox=qKt(f),d=h[2]-h[0],v=h[3]-h[1],x=c/u,b=Math.abs(v/d),p,E,k,A,L;x>b?(p=u,E=u*b,L=(c-E)/i.h/2,k=[s[0],s[1]],A=[l[0]+L,l[1]-L]):(p=c/b,E=c,L=(u-p)/i.w/2,k=[s[0]+L,s[1]-L],A=[l[0],l[1]]),r.xLength2=p,r.yLength2=E,r.xDomain2=k,r.yDomain2=A;var _=r.xOffset2=i.l+i.w*k[0],C=r.yOffset2=i.t+i.h*(1-A[1]),M=r.radius=p/d,g=r.innerRadius=r.getHole(t)*M,P=r.cx=_-M*h[0],T=r.cy=C+M*h[3],F=r.cxx=P-_,q=r.cyy=T-C,V=a.side,H;V===\"counterclockwise\"?(H=V,V=\"top\"):V===\"clockwise\"&&(H=V,V=\"bottom\"),r.radialAxis=r.mockAxis(e,t,a,{_id:\"x\",side:V,_trueSide:H,domain:[g/i.w,M/i.w]}),r.angularAxis=r.mockAxis(e,t,o,{side:\"right\",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(e,t),r.updateAngularAxis(e,t),r.updateRadialAxis(e,t),r.updateRadialAxisTitle(e,t),r.xaxis=r.mockCartesianAxis(e,t,{_id:\"x\",domain:k}),r.yaxis=r.mockCartesianAxis(e,t,{_id:\"y\",domain:A});var X=r.pathSubplot();r.clipPaths.forTraces.select(\"path\").attr(\"d\",X).attr(\"transform\",dd(F,q)),n.frontplot.attr(\"transform\",dd(_,C)).call(iC.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr(\"d\",X).attr(\"transform\",dd(P,T)).call(I$.fill,t.bgcolor)};Fd.mockAxis=function(e,t,r,n){var i=cc.extendFlat({},r,n);return kKt(i,t,e),i};Fd.mockCartesianAxis=function(e,t,r){var n=this,i=n.isSmith,a=r._id,o=cc.extendFlat({type:\"linear\"},r);EKt(o,e);var s={x:[0,2],y:[1,3]};return o.setRange=function(){var l=n.sectorBBox,u=s[a],c=n.radialAxis._rl,f=(c[1]-c[0])/(1-n.getHole(t));o.range=[l[u[0]]*f,l[u[1]]*f]},o.isPtWithinRange=a===\"x\"&&!i?function(l){return n.isPtInside(l)}:function(){return!0},o.setRange(),o.setScale(),o};Fd.doAutoRange=function(e,t){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(t);CKt(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\")],i.minallowed!==void 0){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(i.maxallowed!==void 0){var l=i.r2l(i.maxallowed);i._rl[0]<i._rl[1]?i._rl[1]=Math.min(i._rl[1],l):i._rl[0]=Math.min(i._rl[0],l)}};Fd.updateRadialAxis=function(e,t){var r=this,n=r.gd,i=r.layers,a=r.radius,o=r.innerRadius,s=r.cx,l=r.cy,u=r.getRadial(t),c=AKe(r.getSector(t)[0],360),f=r.radialAxis,h=o<a,d=r.isSmith;d||(r.fillViewInitialKey(\"radialaxis.angle\",u.angle),r.fillViewInitialKey(\"radialaxis.range\",f.range.slice()),f.setGeometry()),f.tickangle===\"auto\"&&c>90&&c<=270&&(f.tickangle=180);var v=d?function(M){var g=s9(r,o9([M.x,0]));return dd(g[0]-s,g[1]-l)}:function(M){return dd(f.l2p(M.x)+o,0)},x=d?function(M){return zKt(r,M.x,-1/0,1/0)}:function(M){return r.pathArc(f.r2p(M.x)+o)},b=MKe(u);if(r.radialTickLayout!==b&&(i[\"radial-axis\"].selectAll(\".xtick\").remove(),r.radialTickLayout=b),h){f.setScale();var p=0,E=d?(f.tickvals||[]).filter(function(M){return M>=0}).map(function(M){return dp.tickText(f,M,!0,!1)}):dp.calcTicks(f),k=d?E:dp.clipEnds(f,E),A=dp.getTickSigns(f)[2];d&&((f.ticks===\"top\"&&f.side===\"bottom\"||f.ticks===\"bottom\"&&f.side===\"top\")&&(A=-A),f.ticks===\"top\"&&f.side===\"top\"&&(p=-f.ticklen),f.ticks===\"bottom\"&&f.side===\"bottom\"&&(p=f.ticklen)),dp.drawTicks(n,f,{vals:E,layer:i[\"radial-axis\"],path:dp.makeTickPath(f,0,A),transFn:v,crisp:!1}),dp.drawGrid(n,f,{vals:k,layer:i[\"radial-grid\"],path:x,transFn:cc.noop,crisp:!1}),dp.drawLabels(n,f,{vals:E,layer:i[\"radial-axis\"],transFn:v,labelFns:dp.makeLabelFns(f,p)})}var L=r.radialAxisAngle=r.vangles?pw(EKe(Px(u.angle),r.vangles)):u.angle,_=dd(s,l),C=_+ry(-L);nC(i[\"radial-axis\"],h&&(u.showticklabels||u.ticks),{transform:C}),nC(i[\"radial-grid\"],h&&u.showgrid,{transform:d?\"\":_}),nC(i[\"radial-line\"].select(\"line\"),h&&u.showline,{x1:d?-a:o,y1:0,x2:a,y2:0,transform:C}).attr(\"stroke-width\",u.linewidth).call(I$.stroke,u.linecolor)};Fd.updateRadialAxisTitle=function(e,t,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(t),u=n.id+\"title\",c=0;if(l.title){var f=iC.bBox(n.layers[\"radial-axis\"].node()).height,h=l.title.font.size,d=l.side;c=d===\"top\"?h:d===\"counterclockwise\"?-(f+h*.4):f+h*.8}var v=r!==void 0?r:n.radialAxisAngle,x=Px(v),b=Math.cos(x),p=Math.sin(x),E=o+a/2*b+c*p,k=s-a/2*p+c*b;n.layers[\"radial-axis-title\"]=LKt.draw(i,u,{propContainer:l,propName:n.id+\".radialaxis.title\",placeholder:FKt(i,\"Click to enter radial axis title\"),attributes:{x:E,y:k,\"text-anchor\":\"middle\"},transform:{rotate:-v}})}};Fd.updateAngularAxis=function(e,t){var r=this,n=r.gd,i=r.layers,a=r.radius,o=r.innerRadius,s=r.cx,l=r.cy,u=r.getAngular(t),c=r.angularAxis,f=r.isSmith;f||(r.fillViewInitialKey(\"angularaxis.rotation\",u.rotation),c.setGeometry(),c.setScale());var h=f?function(g){var P=s9(r,o9([0,g.x]));return Math.atan2(P[0]-s,P[1]-l)-Math.PI/2}:function(g){return c.t2g(g.x)};c.type===\"linear\"&&c.thetaunit===\"radians\"&&(c.tick0=pw(c.tick0),c.dtick=pw(c.dtick));var d=function(g){return dd(s+a*Math.cos(g),l-a*Math.sin(g))},v=f?function(g){var P=s9(r,o9([0,g.x]));return dd(P[0],P[1])}:function(g){return d(h(g))},x=f?function(g){var P=s9(r,o9([0,g.x])),T=Math.atan2(P[0]-s,P[1]-l)-Math.PI/2;return dd(P[0],P[1])+ry(-pw(T))}:function(g){var P=h(g);return d(P)+ry(-pw(P))},b=f?function(g){return DKt(r,g.x,0,1/0)}:function(g){var P=h(g),T=Math.cos(P),F=Math.sin(P);return\"M\"+[s+o*T,l-o*F]+\"L\"+[s+a*T,l-a*F]},p=dp.makeLabelFns(c,0),E=p.labelStandoff,k={};k.xFn=function(g){var P=h(g);return Math.cos(P)*E},k.yFn=function(g){var P=h(g),T=Math.sin(P)>0?.2:1;return-Math.sin(P)*(E+g.fontSize*T)+Math.abs(Math.cos(P))*(g.fontSize*RKt)},k.anchorFn=function(g){var P=h(g),T=Math.cos(P);return Math.abs(T)<.1?\"middle\":T>0?\"start\":\"end\"},k.heightFn=function(g,P,T){var F=h(g);return-.5*(1+Math.sin(F))*T};var A=MKe(u);r.angularTickLayout!==A&&(i[\"angular-axis\"].selectAll(\".\"+c._id+\"tick\").remove(),r.angularTickLayout=A);var L=f?[1/0].concat(c.tickvals||[]).map(function(g){return dp.tickText(c,g,!0,!1)}):dp.calcTicks(c);f&&(L[0].text=\"\\u221E\",L[0].fontSize*=1.75);var _;if(t.gridshape===\"linear\"?(_=L.map(h),cc.angleDelta(_[0],_[1])<0&&(_=_.slice().reverse())):_=null,r.vangles=_,c.type===\"category\"&&(L=L.filter(function(g){return cc.isAngleInsideSector(h(g),r.sectorInRad)})),c.visible){var C=c.ticks===\"inside\"?-1:1,M=(c.linewidth||1)/2;dp.drawTicks(n,c,{vals:L,layer:i[\"angular-axis\"],path:\"M\"+C*M+\",0h\"+C*c.ticklen,transFn:x,crisp:!1}),dp.drawGrid(n,c,{vals:L,layer:i[\"angular-grid\"],path:b,transFn:cc.noop,crisp:!1}),dp.drawLabels(n,c,{vals:L,layer:i[\"angular-axis\"],repositionOnUpdate:!0,transFn:v,labelFns:k})}nC(i[\"angular-line\"].select(\"path\"),u.showline,{d:r.pathSubplot(),transform:dd(s,l)}).attr(\"stroke-width\",u.linewidth).call(I$.stroke,u.linecolor)};Fd.updateFx=function(e,t){if(!this.gd._context.staticPlot){var r=!this.isSmith;r&&(this.updateAngularDrag(e),this.updateRadialDrag(e,t,0),this.updateRadialDrag(e,t,1)),this.updateHoverAndMainDrag(e)}};Fd.updateHoverAndMainDrag=function(e){var t=this,r=t.isSmith,n=t.gd,i=t.layers,a=e._zoomlayer,o=Lx.MINZOOM,s=Lx.OFFEDGE,l=t.radius,u=t.innerRadius,c=t.cx,f=t.cy,h=t.cxx,d=t.cyy,v=t.sectorInRad,x=t.vangles,b=t.radialAxis,p=_1.clampTiny,E=_1.findXYatLength,k=_1.findEnclosingVertexAngles,A=Lx.cornerHalfWidth,L=Lx.cornerLen/2,_,C,M=y1.makeDragger(i,\"path\",\"maindrag\",e.dragmode===!1?\"none\":\"crosshair\");vw.select(M).attr(\"d\",t.pathSubplot()).attr(\"transform\",dd(c,f)),M.onmousemove=function(ce){xKe.hover(n,ce,t.id),n._fullLayout._lasthover=M,n._fullLayout._hoversubplot=t.id},M.onmouseout=function(ce){n._dragging||l9.unhover(n,ce)};var g={element:M,gd:n,subplot:t.id,plotinfo:{id:t.id,xaxis:t.xaxis,yaxis:t.yaxis},xaxes:[t.xaxis],yaxes:[t.yaxis]},P,T,F,q,V,H,X,G,N;function W(ce,Ge){return Math.sqrt(ce*ce+Ge*Ge)}function re(ce,Ge){return W(ce-h,Ge-d)}function ae(ce,Ge){return Math.atan2(d-Ge,ce-h)}function _e(ce,Ge){return[ce*Math.cos(Ge),ce*Math.sin(-Ge)]}function Me(ce,Ge){if(ce===0)return t.pathSector(2*A);var nt=L/ce,ct=Ge-nt,qt=Ge+nt,rt=Math.max(0,Math.min(ce,l)),ot=rt-A,Rt=rt+A;return\"M\"+_e(ot,ct)+\"A\"+[ot,ot]+\" 0,0,0 \"+_e(ot,qt)+\"L\"+_e(Rt,qt)+\"A\"+[Rt,Rt]+\" 0,0,1 \"+_e(Rt,ct)+\"Z\"}function ke(ce,Ge,nt){if(ce===0)return t.pathSector(2*A);var ct=_e(ce,Ge),qt=_e(ce,nt),rt=p((ct[0]+qt[0])/2),ot=p((ct[1]+qt[1])/2),Rt,kt;if(rt&&ot){var Ct=ot/rt,Yt=-1/Ct,xr=E(A,Ct,rt,ot);Rt=E(L,Yt,xr[0][0],xr[0][1]),kt=E(L,Yt,xr[1][0],xr[1][1])}else{var er,Ke;ot?(er=L,Ke=A):(er=A,Ke=L),Rt=[[rt-er,ot-Ke],[rt+er,ot-Ke]],kt=[[rt-er,ot+Ke],[rt+er,ot+Ke]]}return\"M\"+Rt.join(\"L\")+\"L\"+kt.reverse().join(\"L\")+\"Z\"}function ge(){F=null,q=null,V=t.pathSubplot(),H=!1;var ce=n._fullLayout[t.id];X=SKt(ce.bgcolor).getLuminance(),G=y1.makeZoombox(a,X,c,f,V),G.attr(\"fill-rule\",\"evenodd\"),N=y1.makeCorners(a,c,f),R$(n)}function ie(ce,Ge){return Ge=Math.max(Math.min(Ge,l),u),ce<s?ce=0:l-ce<s?ce=l:Ge<s?Ge=0:l-Ge<s&&(Ge=l),Math.abs(Ge-ce)>o?(ce<Ge?(F=ce,q=Ge):(F=Ge,q=ce),!0):(F=null,q=null,!1)}function Te(ce,Ge){ce=ce||V,Ge=Ge||\"M0,0Z\",G.attr(\"d\",ce),N.attr(\"d\",Ge),y1.transitionZoombox(G,N,H,X),H=!0;var nt={};me(nt),n.emit(\"plotly_relayouting\",nt)}function Ee(ce,Ge){ce=ce*_,Ge=Ge*C;var nt=P+ce,ct=T+Ge,qt=re(P,T),rt=Math.min(re(nt,ct),l),ot=ae(P,T),Rt,kt;ie(qt,rt)&&(Rt=V+t.pathSector(q),F&&(Rt+=t.pathSector(F)),kt=Me(F,ot)+Me(q,ot)),Te(Rt,kt)}function Ae(ce,Ge,nt,ct){var qt=_1.findIntersectionXY(nt,ct,nt,[ce-h,d-Ge]);return W(qt[0],qt[1])}function ze(ce,Ge){var nt=P+ce,ct=T+Ge,qt=ae(P,T),rt=ae(nt,ct),ot=k(qt,x),Rt=k(rt,x),kt=Ae(P,T,ot[0],ot[1]),Ct=Math.min(Ae(nt,ct,Rt[0],Rt[1]),l),Yt,xr;ie(kt,Ct)&&(Yt=V+t.pathSector(q),F&&(Yt+=t.pathSector(F)),xr=[ke(F,ot[0],ot[1]),ke(q,ot[0],ot[1])].join(\" \")),Te(Yt,xr)}function Ce(){if(y1.removeZoombox(n),!(F===null||q===null)){var ce={};me(ce),y1.showDoubleClickNotifier(n),gw.call(\"_guiRelayout\",n,ce)}}function me(ce){var Ge=b._rl,nt=(Ge[1]-Ge[0])/(1-u/l)/l,ct=[Ge[0]+(F-u)*nt,Ge[0]+(q-u)*nt];ce[t.id+\".radialaxis.range\"]=ct}function Re(ce,Ge){var nt=n._fullLayout.clickmode;if(y1.removeZoombox(n),ce===2){var ct={};for(var qt in t.viewInitial)ct[t.id+\".\"+qt]=t.viewInitial[qt];n.emit(\"plotly_doubleclick\",null),gw.call(\"_guiRelayout\",n,ct)}nt.indexOf(\"select\")>-1&&ce===1&&IKt(Ge,n,[t.xaxis],[t.yaxis],t.id,g),nt.indexOf(\"event\")>-1&&xKe.click(n,Ge,t.id)}g.prepFn=function(ce,Ge,nt){var ct=n._fullLayout.dragmode,qt=M.getBoundingClientRect();n._fullLayout._calcInverseTransform(n);var rt=n._fullLayout._invTransform;_=n._fullLayout._invScaleX,C=n._fullLayout._invScaleY;var ot=cc.apply3DTransform(rt)(Ge-qt.left,nt-qt.top);if(P=ot[0],T=ot[1],x){var Rt=_1.findPolygonOffset(l,v[0],v[1],x);P+=h+Rt[0],T+=d+Rt[1]}switch(ct){case\"zoom\":g.clickFn=Re,r||(x?g.moveFn=ze:g.moveFn=Ee,g.doneFn=Ce,ge(ce,Ge,nt));break;case\"select\":case\"lasso\":PKt(ce,Ge,nt,g,ct);break}},l9.init(g)};Fd.updateRadialDrag=function(e,t,r){var n=this,i=n.gd,a=n.layers,o=n.radius,s=n.innerRadius,l=n.cx,u=n.cy,c=n.radialAxis,f=Lx.radialDragBoxSize,h=f/2;if(!c.visible)return;var d=Px(n.radialAxisAngle),v=c._rl,x=v[0],b=v[1],p=v[r],E=.75*(v[1]-v[0])/(1-n.getHole(t))/o,k,A,L;r?(k=l+(o+h)*Math.cos(d),A=u-(o+h)*Math.sin(d),L=\"radialdrag\"):(k=l+(s-h)*Math.cos(d),A=u-(s-h)*Math.sin(d),L=\"radialdrag-inner\");var _=y1.makeRectDragger(a,L,\"crosshair\",-h,-h,f,f),C={element:_,gd:i};e.dragmode===!1&&(C.dragmode=!1),nC(vw.select(_),c.visible&&s<o,{transform:dd(k,A)});var M,g,P;function T(X,G){if(M)M(X,G);else{var N=[X,-G],W=[Math.cos(d),Math.sin(d)],re=Math.abs(cc.dot(N,W)/Math.sqrt(cc.dot(N,N)));isNaN(re)||(M=re<.5?V:H)}var ae={};F(ae),i.emit(\"plotly_relayouting\",ae)}function F(X){g!==null?X[n.id+\".radialaxis.angle\"]=g:P!==null&&(X[n.id+\".radialaxis.range[\"+r+\"]\"]=P)}function q(){g!==null?gw.call(\"_guiRelayout\",i,n.id+\".radialaxis.angle\",g):P!==null&&gw.call(\"_guiRelayout\",i,n.id+\".radialaxis.range[\"+r+\"]\",P)}function V(X,G){if(r!==0){var N=k+X,W=A+G;g=Math.atan2(u-W,N-l),n.vangles&&(g=EKe(g,n.vangles)),g=pw(g);var re=dd(l,u)+ry(-g);a[\"radial-axis\"].attr(\"transform\",re),a[\"radial-line\"].select(\"line\").attr(\"transform\",re);var ae=n.gd._fullLayout,_e=ae[n.id];n.updateRadialAxisTitle(ae,_e,g)}}function H(X,G){var N=cc.dot([X,-G],[Math.cos(d),Math.sin(d)]);if(P=p-E*N,E>0!=(r?P>x:P<b)){P=null;return}var W=i._fullLayout,re=W[n.id];c.range[r]=P,c._rl[r]=P,n.updateRadialAxis(W,re),n.xaxis.setRange(),n.xaxis.setScale(),n.yaxis.setRange(),n.yaxis.setScale();var ae=!1;for(var _e in n.traceHash){var Me=n.traceHash[_e],ke=cc.filterVisible(Me),ge=Me[0][0].trace._module;ge.plot(i,n,ke,re),gw.traceIs(_e,\"gl\")&&ke.length&&(ae=!0)}ae&&(wKe(i),TKe(i))}C.prepFn=function(){M=null,g=null,P=null,C.moveFn=T,C.doneFn=q,R$(i)},C.clampFn=function(X,G){return Math.sqrt(X*X+G*G)<Lx.MINDRAG&&(X=0,G=0),[X,G]},l9.init(C)};Fd.updateAngularDrag=function(e){var t=this,r=t.gd,n=t.layers,i=t.radius,a=t.angularAxis,o=t.cx,s=t.cy,l=t.cxx,u=t.cyy,c=Lx.angularDragBoxSize,f=y1.makeDragger(n,\"path\",\"angulardrag\",e.dragmode===!1?\"none\":\"move\"),h={element:f,gd:r};e.dragmode===!1?h.dragmode=!1:vw.select(f).attr(\"d\",t.pathAnnulus(i,i+c)).attr(\"transform\",dd(o,s)).call(bKe,\"move\");function d(P,T){return Math.atan2(u+c-T,P-l-c)}var v=n.frontplot.select(\".scatterlayer\").selectAll(\".trace\"),x=v.selectAll(\".point\"),b=v.selectAll(\".textpoint\"),p,E,k,A,L,_;function C(P,T){var F=t.gd._fullLayout,q=F[t.id],V=p+P*e._invScaleX,H=E+T*e._invScaleY,X=d(V,H),G=pw(X-_);if(A=k+G,n.frontplot.attr(\"transform\",dd(t.xOffset2,t.yOffset2)+ry([-G,l,u])),t.vangles){L=t.radialAxisAngle+G;var N=dd(o,s)+ry(-G),W=dd(o,s)+ry(-L);n.bg.attr(\"transform\",N),n[\"radial-grid\"].attr(\"transform\",N),n[\"radial-axis\"].attr(\"transform\",W),n[\"radial-line\"].select(\"line\").attr(\"transform\",W),t.updateRadialAxisTitle(F,q,L)}else t.clipPaths.forTraces.select(\"path\").attr(\"transform\",dd(l,u)+ry(G));x.each(function(){var ie=vw.select(this),Te=iC.getTranslate(ie);ie.attr(\"transform\",dd(Te.x,Te.y)+ry([G]))}),b.each(function(){var ie=vw.select(this),Te=ie.select(\"text\"),Ee=iC.getTranslate(ie);ie.attr(\"transform\",ry([G,Te.attr(\"x\"),Te.attr(\"y\")])+dd(Ee.x,Ee.y))}),a.rotation=cc.modHalf(A,360),t.updateAngularAxis(F,q),t._hasClipOnAxisFalse&&!cc.isFullCircle(t.sectorInRad)&&v.call(iC.hideOutsideRangePoints,t);var re=!1;for(var ae in t.traceHash)if(gw.traceIs(ae,\"gl\")){var _e=t.traceHash[ae],Me=cc.filterVisible(_e),ke=_e[0][0].trace._module;ke.plot(r,t,Me,q),Me.length&&(re=!0)}re&&(wKe(r),TKe(r));var ge={};M(ge),r.emit(\"plotly_relayouting\",ge)}function M(P){P[t.id+\".angularaxis.rotation\"]=A,t.vangles&&(P[t.id+\".radialaxis.angle\"]=L)}function g(){b.select(\"text\").attr(\"transform\",null);var P={};M(P),gw.call(\"_guiRelayout\",r,P)}h.prepFn=function(P,T,F){var q=e[t.id];k=q.angularaxis.rotation;var V=f.getBoundingClientRect();p=T-V.left,E=F-V.top,r._fullLayout._calcInverseTransform(r);var H=cc.apply3DTransform(e._invTransform)(p,E);p=H[0],E=H[1],_=d(p,E),h.moveFn=C,h.doneFn=g,R$(r)},t.vangles&&!cc.isFullCircle(t.sectorInRad)&&(h.prepFn=cc.noop,bKe(vw.select(f),null)),l9.init(h)};Fd.isPtInside=function(e){if(this.isSmith)return!0;var t=this.sectorInRad,r=this.vangles,n=this.angularAxis.c2g(e.theta),i=this.radialAxis,a=i.c2l(e.r),o=i._rl,s=r?_1.isPtInsidePolygon:cc.isPtInsideSector;return s(a,n,o,t,r)};Fd.pathArc=function(e){var t=this.sectorInRad,r=this.vangles,n=r?_1.pathPolygon:cc.pathArc;return n(e,t[0],t[1],r)};Fd.pathSector=function(e){var t=this.sectorInRad,r=this.vangles,n=r?_1.pathPolygon:cc.pathSector;return n(e,t[0],t[1],r)};Fd.pathAnnulus=function(e,t){var r=this.sectorInRad,n=this.vangles,i=n?_1.pathPolygonAnnulus:cc.pathAnnulus;return i(e,t,r[0],r[1],n)};Fd.pathSubplot=function(){var e=this.innerRadius,t=this.radius;return e?this.pathAnnulus(e,t):this.pathSector(t)};Fd.fillViewInitialKey=function(e,t){e in this.viewInitial||(this.viewInitial[e]=t)};function MKe(e){var t=e.ticks+String(e.ticklen)+String(e.showticklabels);return\"side\"in e&&(t+=e.side),t}function qKt(e){var t=e[0],r=e[1],n=r-t,i=AKe(t,360),a=i+n,o=Math.cos(Px(i)),s=Math.sin(Px(i)),l=Math.cos(Px(a)),u=Math.sin(Px(a)),c,f,h,d;return i<=90&&a>=90||i>90&&a>=450?d=1:s<=0&&u<=0?d=0:d=Math.max(s,u),i<=180&&a>=180||i>180&&a>=540?c=-1:o>=0&&l>=0?c=0:c=Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?f=-1:s>=0&&u>=0?f=0:f=Math.min(s,u),a>=360?h=1:o<=0&&l<=0?h=0:h=Math.max(o,l),[c,f,h,d]}function EKe(e,t){var r=function(i){return cc.angleDist(e,i)},n=cc.findIndexOfMin(t,r);return t[n]}function nC(e,t,r){return t?(e.attr(\"display\",null),e.attr(r)):e&&e.attr(\"display\",\"none\"),e}});var z$=ye((tbr,DKe)=>{\"use strict\";var OKt=dh(),Yo=Cd(),BKt=Ju().attributes,f0=Mr().extendFlat,CKe=Bu().overrideAll,LKe=CKe({color:Yo.color,showline:f0({},Yo.showline,{dflt:!0}),linecolor:Yo.linecolor,linewidth:Yo.linewidth,showgrid:f0({},Yo.showgrid,{dflt:!0}),gridcolor:Yo.gridcolor,gridwidth:Yo.gridwidth,griddash:Yo.griddash},\"plot\",\"from-root\"),PKe=CKe({tickmode:Yo.minor.tickmode,nticks:Yo.nticks,tick0:Yo.tick0,dtick:Yo.dtick,tickvals:Yo.tickvals,ticktext:Yo.ticktext,ticks:Yo.ticks,ticklen:Yo.ticklen,tickwidth:Yo.tickwidth,tickcolor:Yo.tickcolor,ticklabelstep:Yo.ticklabelstep,showticklabels:Yo.showticklabels,labelalias:Yo.labelalias,showtickprefix:Yo.showtickprefix,tickprefix:Yo.tickprefix,showticksuffix:Yo.showticksuffix,ticksuffix:Yo.ticksuffix,showexponent:Yo.showexponent,exponentformat:Yo.exponentformat,minexponent:Yo.minexponent,separatethousands:Yo.separatethousands,tickfont:Yo.tickfont,tickangle:Yo.tickangle,tickformat:Yo.tickformat,tickformatstops:Yo.tickformatstops,layer:Yo.layer},\"plot\",\"from-root\"),IKe={visible:f0({},Yo.visible,{dflt:!0}),type:f0({},Yo.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autotypenumbers:Yo.autotypenumbers,autorangeoptions:{minallowed:Yo.autorangeoptions.minallowed,maxallowed:Yo.autorangeoptions.maxallowed,clipmin:Yo.autorangeoptions.clipmin,clipmax:Yo.autorangeoptions.clipmax,include:Yo.autorangeoptions.include,editType:\"plot\"},autorange:f0({},Yo.autorange,{editType:\"plot\"}),rangemode:{valType:\"enumerated\",values:[\"tozero\",\"nonnegative\",\"normal\"],dflt:\"tozero\",editType:\"calc\"},minallowed:f0({},Yo.minallowed,{editType:\"plot\"}),maxallowed:f0({},Yo.maxallowed,{editType:\"plot\"}),range:f0({},Yo.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],editType:\"plot\"}),categoryorder:Yo.categoryorder,categoryarray:Yo.categoryarray,angle:{valType:\"angle\",editType:\"plot\"},autotickangles:Yo.autotickangles,side:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"clockwise\",editType:\"plot\"},title:{text:f0({},Yo.title.text,{editType:\"plot\",dflt:\"\"}),font:f0({},Yo.title.font,{editType:\"plot\"}),editType:\"plot\"},hoverformat:Yo.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"};f0(IKe,LKe,PKe);var RKe={visible:f0({},Yo.visible,{dflt:!0}),type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"category\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},autotypenumbers:Yo.autotypenumbers,categoryorder:Yo.categoryorder,categoryarray:Yo.categoryarray,thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\"],dflt:\"degrees\",editType:\"calc\"},period:{valType:\"number\",editType:\"calc\",min:0},direction:{valType:\"enumerated\",values:[\"counterclockwise\",\"clockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"angle\",editType:\"calc\"},hoverformat:Yo.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"};f0(RKe,LKe,PKe);DKe.exports={domain:BKt({name:\"polar\",editType:\"plot\"}),sector:{valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],dflt:[0,360],editType:\"plot\"},hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot\"},bgcolor:{valType:\"color\",editType:\"plot\",dflt:OKt.background},radialaxis:IKe,angularaxis:RKe,gridshape:{valType:\"enumerated\",values:[\"circular\",\"linear\"],dflt:\"circular\",editType:\"plot\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"}});var OKe=ye((rbr,qKe)=>{\"use strict\";var c9=Mr(),NKt=va(),UKt=Vs(),VKt=C_(),HKt=kd().getSubplotData,GKt=xb(),jKt=T3(),WKt=t_(),ZKt=r_(),XKt=eI(),YKt=YM(),KKt=hB(),JKt=L3(),FKe=z$(),$Kt=k$(),f9=i9(),zKe=f9.axisNames;function QKt(e,t,r,n){var i=r(\"bgcolor\");n.bgColor=NKt.combine(i,n.paper_bgcolor);var a=r(\"sector\");r(\"hole\");var o=HKt(n.fullData,f9.name,n.id),s=n.layoutOut,l;function u(G,N){return r(l+\".\"+G,N)}for(var c=0;c<zKe.length;c++){l=zKe[c],c9.isPlainObject(e[l])||(e[l]={});var f=e[l],h=UKt.newContainer(t,l);h._id=h._name=l,h._attr=n.id+\".\"+l,h._traceIndices=o.map(function(G){return G.index});var d=f9.axisName2dataArray[l],v=eJt(f,h,u,o,d,n);XKt(f,h,u,{axData:o,dataAttr:d});var x=u(\"visible\");switch($Kt(h,t,s),u(\"uirevision\",t.uirevision),h._m=1,l){case\"radialaxis\":u(\"minallowed\"),u(\"maxallowed\");var b=u(\"range\"),p=h.getAutorangeDflt(b),E=u(\"autorange\",p),k;b&&(b[0]===null&&b[1]===null||(b[0]===null||b[1]===null)&&(E===\"reversed\"||E===!0)||b[0]!==null&&(E===\"min\"||E===\"max reversed\")||b[1]!==null&&(E===\"max\"||E===\"min reversed\"))&&(b=void 0,delete h.range,h.autorange=!0,k=!0),k||(p=h.getAutorangeDflt(b),E=u(\"autorange\",p)),f.autorange=E,E&&(KKt(u,E,b),(v===\"linear\"||v===\"-\")&&u(\"rangemode\"),h.isReversed()&&(h._m=-1)),h.cleanRange(\"range\",{dfltRange:[0,1]});break;case\"angularaxis\":if(v===\"date\"){c9.log(\"Polar plots do not support date angular axes yet.\");for(var A=0;A<o.length;A++)o[A].visible=!1;v=f.type=h.type=\"linear\"}u(v===\"linear\"?\"thetaunit\":\"period\");var L=u(\"direction\");u(\"rotation\",{counterclockwise:0,clockwise:90}[L]);break}if(ZKt(f,h,u,h.type,{tickSuffixDflt:h.thetaunit===\"degrees\"?\"\\xB0\":void 0}),x){var _,C,M,g,P,T,F,q,V,H,X=n.font||{};_=u(\"color\"),C=_===f.color?_:X.color,M=X.size,g=X.family,P=X.weight,T=X.style,F=X.variant,q=X.textcase,V=X.lineposition,H=X.shadow,GKt(f,h,u,h.type),WKt(f,h,u,h.type,{font:{weight:P,style:T,variant:F,textcase:q,lineposition:V,shadow:H,color:C,size:M,family:g},noAutotickangles:l===\"angularaxis\",noTicklabelshift:!0,noTicklabelstandoff:!0}),jKt(f,h,u,{outerTicks:!0}),YKt(f,h,u,{dfltColor:_,bgColor:n.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:FKe[l]}),u(\"layer\"),l===\"radialaxis\"&&(u(\"side\"),u(\"angle\",a[0]),u(\"title.text\"),c9.coerceFont(u,\"title.font\",{weight:P,style:T,variant:F,textcase:q,lineposition:V,shadow:H,color:C,size:c9.bigFont(M),family:g}))}v!==\"category\"&&u(\"hoverformat\"),h._input=f}t.angularaxis.type===\"category\"&&r(\"gridshape\")}function eJt(e,t,r,n,i,a){var o=r(\"autotypenumbers\",a.autotypenumbersDflt),s=r(\"type\");if(s===\"-\"){for(var l,u=0;u<n.length;u++)if(n[u].visible){l=n[u];break}l&&l[i]&&(t.type=JKt(l[i],\"gregorian\",{noMultiCategory:!0,autotypenumbers:o})),t.type===\"-\"?t.type=\"linear\":e.type=t.type}return t.type}qKe.exports=function(t,r,n){VKt(t,r,n,{type:f9.name,attributes:FKe,handleDefaults:QKt,font:r.font,autotypenumbersDflt:r.autotypenumbers,paper_bgcolor:r.paper_bgcolor,fullData:n,layoutOut:r})}});var h9=ye((ibr,HKe)=>{\"use strict\";var tJt=kd().getSubplotCalcData,rJt=Mr().counterRegex,iJt=D$(),NKe=i9(),UKe=NKe.attr,mw=NKe.name,BKe=rJt(mw),VKe={};VKe[UKe]={valType:\"subplotid\",dflt:mw,editType:\"calc\"};function nJt(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[mw],i=0;i<n.length;i++){var a=n[i],o=tJt(r,mw,a),s=t[a]._subplot;s||(s=iJt(e,a),t[a]._subplot=s),s.plot(o,t,e._promises)}}function aJt(e,t,r,n){for(var i=n._subplots[mw]||[],a=n._has&&n._has(\"gl\"),o=t._has&&t._has(\"gl\"),s=a&&!o,l=0;l<i.length;l++){var u=i[l],c=n[u]._subplot;if(!t[u]&&c){c.framework.remove(),c.layers[\"radial-axis-title\"].remove();for(var f in c.clipPaths)c.clipPaths[f].remove()}s&&c._scene&&(c._scene.destroy(),c._scene=null)}}HKe.exports={attr:UKe,name:mw,idRoot:mw,idRegex:BKe,attrRegex:BKe,attributes:VKe,layoutAttributes:z$(),supplyLayoutDefaults:OKe(),plot:nJt,clean:aJt,toSVG:Jf().toSVG}});var aC=ye((nbr,GKe)=>{\"use strict\";var oJt=Wo().hovertemplateAttrs,sJt=Wo().texttemplateAttrs,d9=no().extendFlat,lJt=Eg(),h0=Uc(),uJt=vl(),GA=h0.line;GKe.exports={mode:h0.mode,r:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},theta:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},r0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dr:{valType:\"number\",dflt:1,editType:\"calc\"},theta0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dtheta:{valType:\"number\",editType:\"calc\"},thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\",\"gradians\"],dflt:\"degrees\",editType:\"calc+clearAxisTypes\"},text:h0.text,texttemplate:sJt({editType:\"plot\"},{keys:[\"r\",\"theta\",\"text\"]}),hovertext:h0.hovertext,line:{color:GA.color,width:GA.width,dash:GA.dash,backoff:GA.backoff,shape:d9({},GA.shape,{values:[\"linear\",\"spline\"]}),smoothing:GA.smoothing,editType:\"calc\"},connectgaps:h0.connectgaps,marker:h0.marker,cliponaxis:d9({},h0.cliponaxis,{dflt:!1}),textposition:h0.textposition,textfont:h0.textfont,fill:d9({},h0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:lJt(),hoverinfo:d9({},uJt.hoverinfo,{flags:[\"r\",\"theta\",\"text\",\"name\"]}),hoveron:h0.hoveron,hovertemplate:oJt(),selected:h0.selected,unselected:h0.unselected}});var p9=ye((abr,ZKe)=>{\"use strict\";var v9=Mr(),jA=lu(),cJt=$p(),fJt=R0(),jKe=J3(),hJt=D0(),dJt=Ig(),vJt=Sm().PTS_LINESONLY,pJt=aC();function gJt(e,t,r,n){function i(s,l){return v9.coerce(e,t,pJt,s,l)}var a=WKe(e,t,n,i);if(!a){t.visible=!1;return}i(\"thetaunit\"),i(\"mode\",a<vJt?\"lines+markers\":\"lines\"),i(\"text\"),i(\"hovertext\"),t.hoveron!==\"fills\"&&i(\"hovertemplate\"),jA.hasMarkers(t)&&cJt(e,t,r,n,i,{gradient:!0}),jA.hasLines(t)&&(fJt(e,t,r,n,i,{backoff:!0}),jKe(e,t,i),i(\"connectgaps\")),jA.hasText(t)&&(i(\"texttemplate\"),hJt(e,t,n,i));var o=[];(jA.hasMarkers(t)||jA.hasText(t))&&(i(\"cliponaxis\"),i(\"marker.maxdisplayed\"),o.push(\"points\")),i(\"fill\"),t.fill!==\"none\"&&(dJt(e,t,r,i),jA.hasLines(t)||jKe(e,t,i)),(t.fill===\"tonext\"||t.fill===\"toself\")&&o.push(\"fills\"),i(\"hoveron\",o.join(\"+\")||\"points\"),v9.coerceSelectionMarkerOpacity(t,i)}function WKe(e,t,r,n){var i=n(\"r\"),a=n(\"theta\");v9.isTypedArray(i)&&(t.r=i=Array.from(i)),v9.isTypedArray(a)&&(t.theta=a=Array.from(a));var o;if(i)a?o=Math.min(i.length,a.length):(o=i.length,n(\"theta0\"),n(\"dtheta\"));else{if(!a)return 0;o=t.theta.length,n(\"r0\"),n(\"dr\")}return t._length=o,o}ZKe.exports={handleRThetaDefaults:WKe,supplyDefaults:gJt}});var g9=ye((obr,YKe)=>{\"use strict\";var mJt=Mr(),XKe=Qa();YKe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o,s;a?(o=a.radialAxis,s=a.angularAxis):(a=n[r.subplot],o=a.radialaxis,s=a.angularaxis);var l=o.c2l(t.r);i.rLabel=XKe.tickText(o,l,!0).text;var u=s.thetaunit===\"degrees\"?mJt.rad2deg(t.theta):t.theta;return i.thetaLabel=XKe.tickText(s,u,!0).text,i}});var $Ke=ye((sbr,JKe)=>{\"use strict\";var KKe=uo(),yJt=es().BADNUM,_Jt=Qa(),xJt=z0(),bJt=km(),wJt=F0(),TJt=q0().calcMarkerSize;JKe.exports=function(t,r){for(var n=t._fullLayout,i=r.subplot,a=n[i].radialaxis,o=n[i].angularaxis,s=a.makeCalcdata(r,\"r\"),l=o.makeCalcdata(r,\"theta\"),u=r._length,c=new Array(u),f=0;f<u;f++){var h=s[f],d=l[f],v=c[f]={};KKe(h)&&KKe(d)?(v.r=h,v.theta=d):v.r=yJt}var x=TJt(r,u);return r._extremes.x=_Jt.findExtremes(a,s,{ppad:x}),xJt(t,r),bJt(c,r),wJt(c,r),c}});var tJe=ye((lbr,eJe)=>{\"use strict\";var AJt=iT(),QKe=es().BADNUM;eJe.exports=function(t,r,n){for(var i=r.layers.frontplot.select(\"g.scatterlayer\"),a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:r.framework,layerClipId:r._hasClipOnAxisFalse?r.clipIds.forTraces:null},l=r.radialAxis,u=r.angularAxis,c=0;c<n.length;c++)for(var f=n[c],h=0;h<f.length;h++){h===0&&(f[0].trace._xA=a,f[0].trace._yA=o);var d=f[h],v=d.r;if(v===QKe)d.x=d.y=QKe;else{var x=l.c2g(v),b=u.c2g(d.theta);d.x=x*Math.cos(b),d.y=x*Math.sin(b)}}AJt(t,s,n,i)}});var m9=ye((ubr,iJe)=>{\"use strict\";var SJt=sT();function MJt(e,t,r,n){var i=SJt(e,t,r,n);if(!(!i||i[0].index===!1)){var a=i[0];if(a.index===void 0)return i;var o=e.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtInside(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,rJe(s,l,o,a),a.hovertemplate=l.hovertemplate,i}}function rJe(e,t,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle=\"r\",a._hovertitle=\"\\u03B8\";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.rLabel=s.rLabel,n.thetaLabel=s.thetaLabel;var l=e.hi||t.hoverinfo,u=[];function c(h,d){u.push(h._hovertitle+\": \"+d)}if(!t.hovertemplate){var f=l.split(\"+\");f.indexOf(\"all\")!==-1&&(f=[\"r\",\"theta\",\"text\"]),f.indexOf(\"r\")!==-1&&c(i,n.rLabel),f.indexOf(\"theta\")!==-1&&c(a,n.thetaLabel),f.indexOf(\"text\")!==-1&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join(\"<br>\")}}iJe.exports={hoverPoints:MJt,makeHoverPointText:rJe}});var aJe=ye((cbr,nJe)=>{\"use strict\";nJe.exports={moduleType:\"trace\",name:\"scatterpolar\",basePlotModule:h9(),categories:[\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:aC(),supplyDefaults:p9().supplyDefaults,colorbar:Kd(),formatLabels:g9(),calc:$Ke(),plot:tJe(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:m9().hoverPoints,selectPoints:lT(),meta:{}}});var sJe=ye((fbr,oJe)=>{\"use strict\";oJe.exports=aJe()});var F$=ye((hbr,lJe)=>{\"use strict\";var Vp=aC(),x1=tk(),EJt=Wo().texttemplateAttrs;lJe.exports={mode:Vp.mode,r:Vp.r,theta:Vp.theta,r0:Vp.r0,dr:Vp.dr,theta0:Vp.theta0,dtheta:Vp.dtheta,thetaunit:Vp.thetaunit,text:Vp.text,texttemplate:EJt({editType:\"plot\"},{keys:[\"r\",\"theta\",\"text\"]}),hovertext:Vp.hovertext,hovertemplate:Vp.hovertemplate,line:{color:x1.line.color,width:x1.line.width,dash:x1.line.dash,editType:\"calc\"},connectgaps:x1.connectgaps,marker:x1.marker,fill:x1.fill,fillcolor:x1.fillcolor,textposition:x1.textposition,textfont:x1.textfont,hoverinfo:Vp.hoverinfo,selected:Vp.selected,unselected:Vp.unselected}});var fJe=ye((dbr,cJe)=>{\"use strict\";var uJe=Mr(),q$=lu(),kJt=p9().handleRThetaDefaults,CJt=$p(),LJt=R0(),PJt=D0(),IJt=Ig(),RJt=Sm().PTS_LINESONLY,DJt=F$();cJe.exports=function(t,r,n,i){function a(s,l){return uJe.coerce(t,r,DJt,s,l)}var o=kJt(t,r,i,a);if(!o){r.visible=!1;return}a(\"thetaunit\"),a(\"mode\",o<RJt?\"lines+markers\":\"lines\"),a(\"text\"),a(\"hovertext\"),r.hoveron!==\"fills\"&&a(\"hovertemplate\"),q$.hasMarkers(r)&&CJt(t,r,n,i,a,{noAngleRef:!0,noStandOff:!0}),q$.hasLines(r)&&(LJt(t,r,n,i,a),a(\"connectgaps\")),q$.hasText(r)&&(a(\"texttemplate\"),PJt(t,r,i,a,{noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0})),a(\"fill\"),r.fill!==\"none\"&&IJt(t,r,n,a),uJe.coerceSelectionMarkerOpacity(r,a)}});var dJe=ye((vbr,hJe)=>{\"use strict\";var zJt=g9();hJe.exports=function(t,r,n){var i=t.i;return\"r\"in t||(t.r=r._r[i]),\"theta\"in t||(t.theta=r._theta[i]),zJt(t,r,n)}});var pJe=ye((pbr,vJe)=>{\"use strict\";var FJt=z0(),qJt=q0().calcMarkerSize,OJt=Y2(),BJt=Qa(),NJt=sx().TOO_MANY_POINTS;vJe.exports=function(t,r){var n=t._fullLayout,i=r.subplot,a=n[i].radialaxis,o=n[i].angularaxis,s=r._r=a.makeCalcdata(r,\"r\"),l=r._theta=o.makeCalcdata(r,\"theta\"),u=r._length,c={};u<s.length&&(s=s.slice(0,u)),u<l.length&&(l=l.slice(0,u)),c.r=s,c.theta=l,FJt(t,r);var f=c.opts=OJt.style(t,r),h;return u<NJt?h=qJt(r,u):f.marker&&(h=2*(f.marker.sizeAvg||Math.max(f.marker.size,3))),r._extremes.x=BJt.findExtremes(a,s,{ppad:h}),[{x:!1,y:!1,t:c,trace:r}]}});var mJe=ye((gbr,gJe)=>{\"use strict\";var UJt=zz(),VJt=m9().makeHoverPointText;function HJt(e,t,r,n){var i=e.cd,a=i[0].t,o=a.r,s=a.theta,l=UJt.hoverPoints(e,t,r,n);if(!(!l||l[0].index===!1)){var u=l[0];if(u.index===void 0)return l;var c=e.subplot,f=u.cd[u.index],h=u.trace;if(f.r=o[u.index],f.theta=s[u.index],!!c.isPtInside(f))return u.xLabelVal=void 0,u.yLabelVal=void 0,VJt(f,h,c,u),l}}gJe.exports={hoverPoints:HJt}});var _Je=ye((mbr,yJe)=>{\"use strict\";yJe.exports={moduleType:\"trace\",name:\"scatterpolargl\",basePlotModule:h9(),categories:[\"gl\",\"regl\",\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:F$(),supplyDefaults:fJe(),colorbar:Kd(),formatLabels:dJe(),calc:pJe(),hoverPoints:mJe().hoverPoints,selectPoints:KX(),meta:{}}});var xJe=ye((ybr,O$)=>{\"use strict\";var GJt=Oz(),jJt=uo(),WJt=QY(),ZJt=ZX(),y9=Y2(),_9=Mr(),XJt=sx().TOO_MANY_POINTS,YJt={};O$.exports=function(t,r,n){if(n.length){var i=r.radialAxis,a=r.angularAxis,o=ZJt(t,r);return n.forEach(function(s){if(!(!s||!s[0]||!s[0].trace)){var l=s[0],u=l.trace,c=l.t,f=u._length,h=c.r,d=c.theta,v=c.opts,x,b=h.slice(),p=d.slice();for(x=0;x<h.length;x++)r.isPtInside({r:h[x],theta:d[x]})||(b[x]=NaN,p[x]=NaN);var E=new Array(f*2),k=Array(f),A=Array(f);for(x=0;x<f;x++){var L=b[x],_,C;if(jJt(L)){var M=i.c2g(L),g=a.c2g(p[x],u.thetaunit);_=M*Math.cos(g),C=M*Math.sin(g)}else _=C=NaN;k[x]=E[x*2]=_,A[x]=E[x*2+1]=C}c.tree=GJt(E),v.marker&&f>=XJt&&(v.marker.cluster=c.tree),v.marker&&(v.markerSel.positions=v.markerUnsel.positions=v.marker.positions=E),v.line&&E.length>1&&_9.extendFlat(v.line,y9.linePositions(t,u,E)),v.text&&(_9.extendFlat(v.text,{positions:E},y9.textPosition(t,u,v.text,v.marker)),_9.extendFlat(v.textSel,{positions:E},y9.textPosition(t,u,v.text,v.markerSel)),_9.extendFlat(v.textUnsel,{positions:E},y9.textPosition(t,u,v.text,v.markerUnsel))),v.fill&&!o.fill2d&&(o.fill2d=!0),v.marker&&!o.scatter2d&&(o.scatter2d=!0),v.line&&!o.line2d&&(o.line2d=!0),v.text&&!o.glText&&(o.glText=!0),o.lineOptions.push(v.line),o.fillOptions.push(v.fill),o.markerOptions.push(v.marker),o.markerSelectedOptions.push(v.markerSel),o.markerUnselectedOptions.push(v.markerUnsel),o.textOptions.push(v.text),o.textSelectedOptions.push(v.textSel),o.textUnselectedOptions.push(v.textUnsel),o.selectBatch.push([]),o.unselectBatch.push([]),c.x=k,c.y=A,c.rawx=k,c.rawy=A,c.r=h,c.theta=d,c.positions=E,c._scene=o,c.index=o.count,o.count++}}),WJt(t,r,n)}};O$.exports.reglPrecompiled=YJt});var TJe=ye((_br,wJe)=>{\"use strict\";var bJe=_Je();bJe.plot=xJe();wJe.exports=bJe});var SJe=ye((xbr,AJe)=>{\"use strict\";AJe.exports=TJe()});var B$=ye((bbr,MJe)=>{\"use strict\";var KJt=Wo().hovertemplateAttrs,WA=no().extendFlat,Ix=aC(),Rx=Lm();MJe.exports={r:Ix.r,theta:Ix.theta,r0:Ix.r0,dr:Ix.dr,theta0:Ix.theta0,dtheta:Ix.dtheta,thetaunit:Ix.thetaunit,base:WA({},Rx.base,{}),offset:WA({},Rx.offset,{}),width:WA({},Rx.width,{}),text:WA({},Rx.text,{}),hovertext:WA({},Rx.hovertext,{}),marker:JJt(),hoverinfo:Ix.hoverinfo,hovertemplate:KJt(),selected:Rx.selected,unselected:Rx.unselected};function JJt(){var e=WA({},Rx.marker);return delete e.cornerradius,e}});var N$=ye((wbr,EJe)=>{\"use strict\";EJe.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},bargap:{valType:\"number\",dflt:.1,min:0,max:1,editType:\"calc\"}}});var LJe=ye((Tbr,CJe)=>{\"use strict\";var kJe=Mr(),$Jt=p9().handleRThetaDefaults,QJt=FI(),e$t=B$();CJe.exports=function(t,r,n,i){function a(s,l){return kJe.coerce(t,r,e$t,s,l)}var o=$Jt(t,r,i,a);if(!o){r.visible=!1;return}a(\"thetaunit\"),a(\"base\"),a(\"offset\"),a(\"width\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),QJt(t,r,a,n,i),kJe.coerceSelectionMarkerOpacity(r,a)}});var IJe=ye((Abr,PJe)=>{\"use strict\";var t$t=Mr(),r$t=N$();PJe.exports=function(e,t,r){var n={},i;function a(l,u){return t$t.coerce(e[i]||{},t[i],r$t,l,u)}for(var o=0;o<r.length;o++){var s=r[o];s.type===\"barpolar\"&&s.visible===!0&&(i=s.subplot,n[i]||(a(\"barmode\"),a(\"bargap\"),n[i]=1))}}});var U$=ye((Sbr,zJe)=>{\"use strict\";var RJe=Dv().hasColorscale,DJe=zv(),i$t=Mr().isArrayOrTypedArray,n$t=c4(),a$t=Gb().setGroupPositions,o$t=F0(),s$t=ba().traceIs,l$t=Mr().extendFlat;function u$t(e,t){for(var r=e._fullLayout,n=t.subplot,i=r[n].radialaxis,a=r[n].angularaxis,o=i.makeCalcdata(t,\"r\"),s=a.makeCalcdata(t,\"theta\"),l=t._length,u=new Array(l),c=o,f=s,h=0;h<l;h++)u[h]={p:f[h],s:c[h]};function d(v){var x=t[v];x!==void 0&&(t[\"_\"+v]=i$t(x)?a.makeCalcdata(t,v):a.d2c(x,t.thetaunit))}return a.type===\"linear\"&&(d(\"width\"),d(\"offset\")),RJe(t,\"marker\")&&DJe(e,t,{vals:t.marker.color,containerStr:\"marker\",cLetter:\"c\"}),RJe(t,\"marker.line\")&&DJe(e,t,{vals:t.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}),n$t(u,t),o$t(u,t),u}function c$t(e,t,r){for(var n=e.calcdata,i=[],a=0;a<n.length;a++){var o=n[a],s=o[0].trace;s.visible===!0&&s$t(s,\"bar\")&&s.subplot===r&&i.push(o)}var l=l$t({},t.radialaxis,{_id:\"x\"}),u=t.angularaxis;a$t(e,u,l,i,{mode:t.barmode,norm:t.barnorm,gap:t.bargap,groupgap:t.bargroupgap})}zJe.exports={calc:u$t,crossTraceCalc:c$t}});var OJe=ye((Mbr,qJe)=>{\"use strict\";var FJe=xa(),x9=uo(),ZA=Mr(),f$t=ao(),V$=a9();qJe.exports=function(t,r,n){var i=t._context.staticPlot,a=r.xaxis,o=r.yaxis,s=r.radialAxis,l=r.angularAxis,u=h$t(r),c=r.layers.frontplot.select(\"g.barlayer\");ZA.makeTraceGroups(c,n,\"trace bars\").each(function(){var f=FJe.select(this),h=ZA.ensureSingle(f,\"g\",\"points\"),d=h.selectAll(\"g.point\").data(ZA.identity);d.enter().append(\"g\").style(\"vector-effect\",i?\"none\":\"non-scaling-stroke\").style(\"stroke-miterlimit\",2).classed(\"point\",!0),d.exit().remove(),d.each(function(v){var x=FJe.select(this),b=v.rp0=s.c2p(v.s0),p=v.rp1=s.c2p(v.s1),E=v.thetag0=l.c2g(v.p0),k=v.thetag1=l.c2g(v.p1),A;if(!x9(b)||!x9(p)||!x9(E)||!x9(k)||b===p||E===k)A=\"M0,0Z\";else{var L=s.c2g(v.s1),_=(E+k)/2;v.ct=[a.c2p(L*Math.cos(_)),o.c2p(L*Math.sin(_))],A=u(b,p,E,k)}ZA.ensureSingle(x,\"path\").attr(\"d\",A)}),f$t.setClipUrl(f,r._hasClipOnAxisFalse?r.clipIds.forTraces:null,t)})};function h$t(e){var t=e.cxx,r=e.cyy;return e.vangles?function(n,i,a,o){var s,l;ZA.angleDelta(a,o)>0?(s=a,l=o):(s=o,l=a);var u=V$.findEnclosingVertexAngles(s,e.vangles)[0],c=V$.findEnclosingVertexAngles(l,e.vangles)[1],f=[u,(s+l)/2,c];return V$.pathPolygonAnnulus(n,i,s,l,f,t,r)}:function(n,i,a,o){return ZA.pathAnnulus(n,i,a,o,t,r)}}});var NJe=ye((Ebr,BJe)=>{\"use strict\";var d$t=Nc(),H$=Mr(),v$t=TT().getTraceColor,p$t=H$.fillText,g$t=m9().makeHoverPointText,m$t=a9().isPtInsidePolygon;BJe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.subplot,s=o.radialAxis,l=o.angularAxis,u=o.vangles,c=u?m$t:H$.isPtInsideSector,f=t.maxHoverDistance,h=l._period||2*Math.PI,d=Math.abs(s.g2p(Math.sqrt(r*r+n*n))),v=Math.atan2(n,r);s.range[0]>s.range[1]&&(v+=Math.PI);var x=function(k){return c(d,v,[k.rp0,k.rp1],[k.thetag0,k.thetag1],u)?f+Math.min(1,Math.abs(k.thetag1-k.thetag0)/h)-1+(k.rp1-d)/(k.rp1-k.rp0)-1:1/0};if(d$t.getClosest(i,x,t),t.index!==!1){var b=t.index,p=i[b];t.x0=t.x1=p.ct[0],t.y0=t.y1=p.ct[1];var E=H$.extendFlat({},p,{r:p.s,theta:p.p});return p$t(p,a,t),g$t(E,a,o,t),t.hovertemplate=a.hovertemplate,t.color=v$t(a,p),t.xLabelVal=t.yLabelVal=void 0,p.s<0&&(t.idealAlign=\"left\"),[t]}}});var VJe=ye((kbr,UJe)=>{\"use strict\";UJe.exports={moduleType:\"trace\",name:\"barpolar\",basePlotModule:h9(),categories:[\"polar\",\"bar\",\"showLegend\"],attributes:B$(),layoutAttributes:N$(),supplyDefaults:LJe(),supplyLayoutDefaults:IJe(),calc:U$().calc,crossTraceCalc:U$().crossTraceCalc,plot:OJe(),colorbar:Kd(),formatLabels:g9(),style:N0().style,styleOnSelect:N0().styleOnSelect,hoverPoints:NJe(),selectPoints:AT(),meta:{}}});var GJe=ye((Cbr,HJe)=>{\"use strict\";HJe.exports=VJe()});var G$=ye((Lbr,jJe)=>{\"use strict\";jJe.exports={attr:\"subplot\",name:\"smith\",axisNames:[\"realaxis\",\"imaginaryaxis\"],axisName2dataArray:{imaginaryaxis:\"imag\",realaxis:\"real\"}}});var j$=ye((Pbr,YJe)=>{\"use strict\";var y$t=dh(),Mf=Cd(),_$t=Ju().attributes,Dx=Mr().extendFlat,WJe=Bu().overrideAll,ZJe=WJe({color:Mf.color,showline:Dx({},Mf.showline,{dflt:!0}),linecolor:Mf.linecolor,linewidth:Mf.linewidth,showgrid:Dx({},Mf.showgrid,{dflt:!0}),gridcolor:Mf.gridcolor,gridwidth:Mf.gridwidth,griddash:Mf.griddash},\"plot\",\"from-root\"),XJe=WJe({ticklen:Mf.ticklen,tickwidth:Dx({},Mf.tickwidth,{dflt:2}),tickcolor:Mf.tickcolor,showticklabels:Mf.showticklabels,labelalias:Mf.labelalias,showtickprefix:Mf.showtickprefix,tickprefix:Mf.tickprefix,showticksuffix:Mf.showticksuffix,ticksuffix:Mf.ticksuffix,tickfont:Mf.tickfont,tickformat:Mf.tickformat,hoverformat:Mf.hoverformat,layer:Mf.layer},\"plot\",\"from-root\"),x$t=Dx({visible:Dx({},Mf.visible,{dflt:!0}),tickvals:{dflt:[.2,.5,1,2,5],valType:\"data_array\",editType:\"plot\"},tickangle:Dx({},Mf.tickangle,{dflt:90}),ticks:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"\"],editType:\"ticks\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},editType:\"calc\"},ZJe,XJe),b$t=Dx({visible:Dx({},Mf.visible,{dflt:!0}),tickvals:{valType:\"data_array\",editType:\"plot\"},ticks:Mf.ticks,editType:\"calc\"},ZJe,XJe);YJe.exports={domain:_$t({name:\"smith\",editType:\"plot\"}),bgcolor:{valType:\"color\",editType:\"plot\",dflt:y$t.background},realaxis:x$t,imaginaryaxis:b$t,editType:\"calc\"}});var $Je=ye((Ibr,JJe)=>{\"use strict\";var XA=Mr(),w$t=va(),T$t=Vs(),A$t=C_(),S$t=kd().getSubplotData,M$t=r_(),E$t=t_(),k$t=YM(),C$t=ym(),YA=j$(),W$=G$(),KJe=W$.axisNames,L$t=I$t(function(e){return XA.isTypedArray(e)&&(e=Array.from(e)),e.slice().reverse().map(function(t){return-t}).concat([0]).concat(e)},String);function P$t(e,t,r,n){var i=r(\"bgcolor\");n.bgColor=w$t.combine(i,n.paper_bgcolor);var a=S$t(n.fullData,W$.name,n.id),o=n.layoutOut,s;function l(L,_){return r(s+\".\"+L,_)}for(var u=0;u<KJe.length;u++){s=KJe[u],XA.isPlainObject(e[s])||(e[s]={});var c=e[s],f=T$t.newContainer(t,s);f._id=f._name=s,f._attr=n.id+\".\"+s,f._traceIndices=a.map(function(L){return L.index});var h=l(\"visible\");if(f.type=\"linear\",C$t(f,o),M$t(c,f,l,f.type),h){var d=s===\"realaxis\";if(d&&l(\"side\"),d)l(\"tickvals\");else{var v=L$t(t.realaxis.tickvals||YA.realaxis.tickvals.dflt);l(\"tickvals\",v)}XA.isTypedArray(f.tickvals)&&(f.tickvals=Array.from(f.tickvals));var x,b,p,E,k=n.font||{};h&&(x=l(\"color\"),b=x===c.color?x:k.color,p=k.size,E=k.family),E$t(c,f,l,f.type,{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,noTicklabelstep:!0,noAng:!d,noExp:!0,font:{color:b,size:p,family:E}}),XA.coerce2(e,t,YA,s+\".ticklen\"),XA.coerce2(e,t,YA,s+\".tickwidth\"),XA.coerce2(e,t,YA,s+\".tickcolor\",t.color);var A=l(\"ticks\");A||(delete t[s].ticklen,delete t[s].tickwidth,delete t[s].tickcolor),k$t(c,f,l,{dfltColor:x,bgColor:n.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:YA[s]}),l(\"layer\")}l(\"hoverformat\"),delete f.type,f._input=c}}JJe.exports=function(t,r,n){A$t(t,r,n,{noUirevision:!0,type:W$.name,attributes:YA,handleDefaults:P$t,font:r.font,paper_bgcolor:r.paper_bgcolor,fullData:n,layoutOut:r})};function I$t(e,t){var r={};return function(n){var i=t?t(n):n;if(i in r)return r[i];var a=e(n);return r[i]=a,a}}});var n$e=ye((Rbr,i$e)=>{\"use strict\";var R$t=kd().getSubplotCalcData,D$t=Mr().counterRegex,z$t=D$(),e$e=G$(),t$e=e$e.attr,yw=e$e.name,QJe=D$t(yw),r$e={};r$e[t$e]={valType:\"subplotid\",dflt:yw,editType:\"calc\"};function F$t(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[yw],i=0;i<n.length;i++){var a=n[i],o=R$t(r,yw,a),s=t[a]._subplot;s||(s=z$t(e,a,!0),t[a]._subplot=s),s.plot(o,t,e._promises)}}function q$t(e,t,r,n){for(var i=n._subplots[yw]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;if(!t[o]&&s){s.framework.remove();for(var l in s.clipPaths)s.clipPaths[l].remove()}}}i$e.exports={attr:t$e,name:yw,idRoot:yw,idRegex:QJe,attrRegex:QJe,attributes:r$e,layoutAttributes:j$(),supplyLayoutDefaults:$Je(),plot:F$t,clean:q$t,toSVG:Jf().toSVG}});var Z$=ye((Dbr,a$e)=>{\"use strict\";var O$t=Wo().hovertemplateAttrs,B$t=Wo().texttemplateAttrs,b9=no().extendFlat,N$t=Eg(),d0=Uc(),U$t=vl(),KA=d0.line;a$e.exports={mode:d0.mode,real:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},imag:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},text:d0.text,texttemplate:B$t({editType:\"plot\"},{keys:[\"real\",\"imag\",\"text\"]}),hovertext:d0.hovertext,line:{color:KA.color,width:KA.width,dash:KA.dash,backoff:KA.backoff,shape:b9({},KA.shape,{values:[\"linear\",\"spline\"]}),smoothing:KA.smoothing,editType:\"calc\"},connectgaps:d0.connectgaps,marker:d0.marker,cliponaxis:b9({},d0.cliponaxis,{dflt:!1}),textposition:d0.textposition,textfont:d0.textfont,fill:b9({},d0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:N$t(),hoverinfo:b9({},U$t.hoverinfo,{flags:[\"real\",\"imag\",\"text\",\"name\"]}),hoveron:d0.hoveron,hovertemplate:O$t(),selected:d0.selected,unselected:d0.unselected}});var l$e=ye((zbr,s$e)=>{\"use strict\";var w9=Mr(),JA=lu(),V$t=$p(),H$t=R0(),o$e=J3(),G$t=D0(),j$t=Ig(),W$t=Sm().PTS_LINESONLY,Z$t=Z$();s$e.exports=function(t,r,n,i){function a(l,u){return w9.coerce(t,r,Z$t,l,u)}var o=X$t(t,r,i,a);if(!o){r.visible=!1;return}a(\"mode\",o<W$t?\"lines+markers\":\"lines\"),a(\"text\"),a(\"hovertext\"),r.hoveron!==\"fills\"&&a(\"hovertemplate\"),JA.hasMarkers(r)&&V$t(t,r,n,i,a,{gradient:!0}),JA.hasLines(r)&&(H$t(t,r,n,i,a,{backoff:!0}),o$e(t,r,a),a(\"connectgaps\")),JA.hasText(r)&&(a(\"texttemplate\"),G$t(t,r,i,a));var s=[];(JA.hasMarkers(r)||JA.hasText(r))&&(a(\"cliponaxis\"),a(\"marker.maxdisplayed\"),s.push(\"points\")),a(\"fill\"),r.fill!==\"none\"&&(j$t(t,r,n,a),JA.hasLines(r)||o$e(t,r,a)),(r.fill===\"tonext\"||r.fill===\"toself\")&&s.push(\"fills\"),a(\"hoveron\",s.join(\"+\")||\"points\"),w9.coerceSelectionMarkerOpacity(r,a)};function X$t(e,t,r,n){var i=n(\"real\"),a=n(\"imag\"),o;return i&&a&&(o=Math.min(i.length,a.length)),w9.isTypedArray(i)&&(t.real=i=Array.from(i)),w9.isTypedArray(a)&&(t.imag=a=Array.from(a)),t._length=o,o}});var f$e=ye((Fbr,c$e)=>{\"use strict\";var u$e=Qa();c$e.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot;return i.realLabel=u$e.tickText(a.radialAxis,t.real,!0).text,i.imagLabel=u$e.tickText(a.angularAxis,t.imag,!0).text,i}});var v$e=ye((qbr,d$e)=>{\"use strict\";var h$e=uo(),Y$t=es().BADNUM,K$t=z0(),J$t=km(),$$t=F0(),Q$t=q0().calcMarkerSize;d$e.exports=function(t,r){for(var n=t._fullLayout,i=r.subplot,a=n[i].realaxis,o=n[i].imaginaryaxis,s=a.makeCalcdata(r,\"real\"),l=o.makeCalcdata(r,\"imag\"),u=r._length,c=new Array(u),f=0;f<u;f++){var h=s[f],d=l[f],v=c[f]={};h$e(h)&&h$e(d)?(v.real=h,v.imag=d):v.real=Y$t}return Q$t(r,u),K$t(t,r),J$t(c,r),$$t(c,r),c}});var m$e=ye((Obr,g$e)=>{\"use strict\";var eQt=iT(),p$e=es().BADNUM,tQt=P$(),rQt=tQt.smith;g$e.exports=function(t,r,n){for(var i=r.layers.frontplot.select(\"g.scatterlayer\"),a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:r.framework,layerClipId:r._hasClipOnAxisFalse?r.clipIds.forTraces:null},l=0;l<n.length;l++)for(var u=n[l],c=0;c<u.length;c++){c===0&&(u[0].trace._xA=a,u[0].trace._yA=o);var f=u[c],h=f.real;if(h===p$e)f.x=f.y=p$e;else{var d=rQt([h,f.imag]);f.x=d[0],f.y=d[1]}}eQt(t,s,n,i)}});var x$e=ye((Bbr,_$e)=>{\"use strict\";var iQt=sT();function nQt(e,t,r,n){var i=iQt(e,t,r,n);if(!(!i||i[0].index===!1)){var a=i[0];if(a.index===void 0)return i;var o=e.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtInside(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,y$e(s,l,o,a),a.hovertemplate=l.hovertemplate,i}}function y$e(e,t,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle=\"real\",a._hovertitle=\"imag\";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.realLabel=s.realLabel,n.imagLabel=s.imagLabel;var l=e.hi||t.hoverinfo,u=[];function c(h,d){u.push(h._hovertitle+\": \"+d)}if(!t.hovertemplate){var f=l.split(\"+\");f.indexOf(\"all\")!==-1&&(f=[\"real\",\"imag\",\"text\"]),f.indexOf(\"real\")!==-1&&c(i,n.realLabel),f.indexOf(\"imag\")!==-1&&c(a,n.imagLabel),f.indexOf(\"text\")!==-1&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join(\"<br>\")}}_$e.exports={hoverPoints:nQt,makeHoverPointText:y$e}});var w$e=ye((Nbr,b$e)=>{\"use strict\";b$e.exports={moduleType:\"trace\",name:\"scattersmith\",basePlotModule:n$e(),categories:[\"smith\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:Z$(),supplyDefaults:l$e(),colorbar:Kd(),formatLabels:f$e(),calc:v$e(),plot:m$e(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:x$e().hoverPoints,selectPoints:lT(),meta:{}}});var A$e=ye((Ubr,T$e)=>{\"use strict\";T$e.exports=w$e()});var Sv=ye((Vbr,M$e)=>{var A9=bh();function S$e(){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={}}A9(S$e.prototype,{instance:function(e,t){e=(e||\"gregorian\").toLowerCase(),t=t||\"\";var r=this._localCals[e+\"-\"+t];if(!r&&this.calendars[e]&&(r=new this.calendars[e](t),this._localCals[e+\"-\"+t]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[\"\"].invalidCalendar).replace(/\\{0\\}/,e);return r},newDate:function(e,t,r,n,i){return n=(e!=null&&e.year?e.calendar():typeof n==\"string\"?this.instance(n,i):n)||this.instance(),n.newDate(e,t,r)},substituteDigits:function(e){return function(t){return(t+\"\").replace(/[0-9]/g,function(r){return e[r]})}},substituteChineseDigits:function(e,t){return function(r){for(var n=\"\",i=0;r>0;){var a=r%10;n=(a===0?\"\":e[a]+t[i])+n,i++,r=Math.floor(r/10)}return n.indexOf(e[1]+t[1])===0&&(n=n.substr(1)),n||e[0]}}});function X$(e,t,r,n){if(this._calendar=e,this._year=t,this._month=r,this._day=n,this._calendar._validateLevel===0&&!this._calendar.isValid(this._year,this._month,this._day))throw(Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name)}function T9(e,t){return e=\"\"+e,\"000000\".substring(0,t-e.length)+e}A9(X$.prototype,{newDate:function(e,t,r){return this._calendar.newDate(e==null?this:e,t,r)},year:function(e){return arguments.length===0?this._year:this.set(e,\"y\")},month:function(e){return arguments.length===0?this._month:this.set(e,\"m\")},day:function(e){return arguments.length===0?this._day:this.set(e,\"d\")},date:function(e,t,r){if(!this._calendar.isValid(e,t,r))throw(Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name);return this._year=e,this._month=t,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(e,t){return this._calendar.add(this,e,t)},set:function(e,t){return this._calendar.set(this,e,t)},compareTo:function(e){if(this._calendar.name!==e._calendar.name)throw(Es.local.differentCalendars||Es.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this._calendar.local.name).replace(/\\{1\\}/,e._calendar.local.name);var t=this._year!==e._year?this._year-e._year:this._month!==e._month?this.monthOfYear()-e.monthOfYear():this._day-e._day;return t===0?0:t<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(e){return this._calendar.fromJD(e)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(e){return this._calendar.fromJSDate(e)},toString:function(){return(this.year()<0?\"-\":\"\")+T9(Math.abs(this.year()),4)+\"-\"+T9(this.month(),2)+\"-\"+T9(this.day(),2)}});function Y$(){this.shortYearCutoff=\"+10\"}A9(Y$.prototype,{_validateLevel:0,newDate:function(e,t,r){return e==null?this.today():(e.year&&(this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),r=e.day(),t=e.month(),e=e.year()),new X$(this,e,t,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(e){var t=this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear);return t.year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear);return(t.year()<0?\"-\":\"\")+T9(Math.abs(t.year()),4)},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear),12},monthOfYear:function(e,t){var r=this._validate(e,t,this.minDay,Es.local.invalidMonth||Es.regionalOptions[\"\"].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(e,t){var r=(t+this.firstMonth-2*this.minMonth)%this.monthsInYear(e)+this.minMonth;return this._validate(e,r,this.minDay,Es.local.invalidMonth||Es.regionalOptions[\"\"].invalidMonth),r},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear);return this.leapYear(t)?366:365},dayOfYear:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(e,t,r){return this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),{}},add:function(e,t,r){return this._validate(e,this.minMonth,this.minDay,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),this._correctAdd(e,this._add(e,t,r),t,r)},_add:function(e,t,r){if(this._validateLevel++,r===\"d\"||r===\"w\"){var n=e.toJD()+t*(r===\"w\"?this.daysInWeek():1),i=e.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=e.year()+(r===\"y\"?t:0),o=e.monthOfYear()+(r===\"m\"?t:0),i=e.day(),s=function(c){for(;o<c.minMonth;)a--,o+=c.monthsInYear(a);for(var f=c.monthsInYear(a);o>f-1+c.minMonth;)a++,o-=f,f=c.monthsInYear(a)};r===\"y\"?(e.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,e.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):r===\"m\"&&(s(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var l=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,l}catch(u){throw this._validateLevel--,u}},_correctAdd:function(e,t,r,n){if(!this.hasYearZero&&(n===\"y\"||n===\"m\")&&(t[0]===0||e.year()>0!=t[0]>0)){var i={y:[1,1,\"y\"],m:[1,this.monthsInYear(-1),\"m\"],w:[this.daysInWeek(),this.daysInYear(-1),\"d\"],d:[1,this.daysInYear(-1),\"d\"]}[n],a=r<0?-1:1;t=this._add(e,r*i[0]+a*i[1],i[2])}return e.date(t[0],t[1],t[2])},set:function(e,t,r){this._validate(e,this.minMonth,this.minDay,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);var n=r===\"y\"?t:e.year(),i=r===\"m\"?t:e.month(),a=r===\"d\"?t:e.day();return(r===\"y\"||r===\"m\")&&(a=Math.min(a,this.daysInMonth(n,i))),e.date(n,i,a)},isValid:function(e,t,r){this._validateLevel++;var n=this.hasYearZero||e!==0;if(n){var i=this.newDate(e,t,this.minDay);n=t>=this.minMonth&&t-this.minMonth<this.monthsInYear(i)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(i)}return this._validateLevel--,n},toJSDate:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);return Es.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(e){return this.fromJD(Es.instance().fromJSDate(e).toJD())},_validate:function(e,t,r,n){if(e.year){if(this._validateLevel===0&&this.name!==e.calendar().name)throw(Es.local.differentCalendars||Es.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this.local.name).replace(/\\{1\\}/,e.calendar().local.name);return e}try{if(this._validateLevel++,this._validateLevel===1&&!this.isValid(e,t,r))throw n.replace(/\\{0\\}/,this.local.name);var i=this.newDate(e,t,r);return this._validateLevel--,i}catch(a){throw this._validateLevel--,a}}});function K$(e){this.local=this.regionalOptions[e]||this.regionalOptions[\"\"]}K$.prototype=new Y$;A9(K$.prototype,{name:\"Gregorian\",jdEpoch:17214255e-1,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Gregorian\",epochs:[\"BCE\",\"CE\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"mm/dd/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===0&&(r%100!==0||r%400===0)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Es.local.invalidMonth||Es.regionalOptions[\"\"].invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);e=n.year(),t=n.month(),r=n.day(),e<0&&e++,t<3&&(t+=12,e--);var i=Math.floor(e/100),a=2-i+Math.floor(i/4);return Math.floor(365.25*(e+4716))+Math.floor(30.6001*(t+1))+r+a-1524.5},fromJD:function(e){var t=Math.floor(e+.5),r=Math.floor((t-186721625e-2)/36524.25);r=t+1+r-Math.floor(r/4);var n=r+1524,i=Math.floor((n-122.1)/365.25),a=Math.floor(365.25*i),o=Math.floor((n-a)/30.6001),s=n-a-Math.floor(o*30.6001),l=o-(o>13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(e){return this.newDate(e.getFullYear(),e.getMonth()+1,e.getDate())}});var Es=M$e.exports=new S$e;Es.cdate=X$;Es.baseCalendar=Y$;Es.calendars.gregorian=K$});var E$e=ye(()=>{var J$=bh(),qd=Sv();J$(qd.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\"});qd.local=qd.regionalOptions[\"\"];J$(qd.cdate.prototype,{formatDate:function(e,t){return typeof e!=\"string\"&&(t=e,e=\"\"),this._calendar.formatDate(e||\"\",this,t)}});J$(qd.baseCalendar.prototype,{UNIX_EPOCH:qd.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:24*60*60,TICKS_EPOCH:qd.instance().jdEpoch,TICKS_PER_DAY:24*60*60*1e7,ATOM:\"yyyy-mm-dd\",COOKIE:\"D, dd M yyyy\",FULL:\"DD, MM d, yyyy\",ISO_8601:\"yyyy-mm-dd\",JULIAN:\"J\",RFC_822:\"D, d M yy\",RFC_850:\"DD, dd-M-yy\",RFC_1036:\"D, d M yy\",RFC_1123:\"D, d M yyyy\",RFC_2822:\"D, d M yyyy\",RSS:\"D, d M yy\",TICKS:\"!\",TIMESTAMP:\"@\",W3C:\"yyyy-mm-dd\",formatDate:function(e,t,r){if(typeof e!=\"string\"&&(r=t,t=e,e=\"\"),!t)return\"\";if(t.calendar()!==this)throw qd.local.invalidFormat||qd.regionalOptions[\"\"].invalidFormat;e=e||this.local.dateFormat,r=r||{};for(var n=r.dayNamesShort||this.local.dayNamesShort,i=r.dayNames||this.local.dayNames,a=r.monthNumbers||this.local.monthNumbers,o=r.monthNamesShort||this.local.monthNamesShort,s=r.monthNames||this.local.monthNames,l=r.calculateWeek||this.local.calculateWeek,u=function(A,L){for(var _=1;k+_<e.length&&e.charAt(k+_)===A;)_++;return k+=_-1,Math.floor(_/(L||1))>1},c=function(A,L,_,C){var M=\"\"+L;if(u(A,C))for(;M.length<_;)M=\"0\"+M;return M},f=function(A,L,_,C){return u(A)?C[L]:_[L]},h=this,d=function(A){return typeof a==\"function\"?a.call(h,A,u(\"m\")):b(c(\"m\",A.month(),2))},v=function(A,L){return L?typeof s==\"function\"?s.call(h,A):s[A.month()-h.minMonth]:typeof o==\"function\"?o.call(h,A):o[A.month()-h.minMonth]},x=this.local.digits,b=function(A){return r.localNumbers&&x?x(A):A},p=\"\",E=!1,k=0;k<e.length;k++)if(E)e.charAt(k)===\"'\"&&!u(\"'\")?E=!1:p+=e.charAt(k);else switch(e.charAt(k)){case\"d\":p+=b(c(\"d\",t.day(),2));break;case\"D\":p+=f(\"D\",t.dayOfWeek(),n,i);break;case\"o\":p+=c(\"o\",t.dayOfYear(),3);break;case\"w\":p+=c(\"w\",t.weekOfYear(),2);break;case\"m\":p+=d(t);break;case\"M\":p+=v(t,u(\"M\"));break;case\"y\":p+=u(\"y\",2)?t.year():(t.year()%100<10?\"0\":\"\")+t.year()%100;break;case\"Y\":u(\"Y\",2),p+=t.formatYear();break;case\"J\":p+=t.toJD();break;case\"@\":p+=(t.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case\"!\":p+=(t.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case\"'\":u(\"'\")?p+=\"'\":E=!0;break;default:p+=e.charAt(k)}return p},parseDate:function(e,t,r){if(t==null)throw qd.local.invalidArguments||qd.regionalOptions[\"\"].invalidArguments;if(t=typeof t==\"object\"?t.toString():t+\"\",t===\"\")return null;e=e||this.local.dateFormat,r=r||{};var n=r.shortYearCutoff||this.shortYearCutoff;n=typeof n!=\"string\"?n:this.today().year()%100+parseInt(n,10);for(var i=r.dayNamesShort||this.local.dayNamesShort,a=r.dayNames||this.local.dayNames,o=r.parseMonth||this.local.parseMonth,s=r.monthNumbers||this.local.monthNumbers,l=r.monthNamesShort||this.local.monthNamesShort,u=r.monthNames||this.local.monthNames,c=-1,f=-1,h=-1,d=-1,v=-1,x=!1,b=!1,p=function(F,q){for(var V=1;g+V<e.length&&e.charAt(g+V)===F;)V++;return g+=V-1,Math.floor(V/(q||1))>1},E=function(F,q){var V=p(F,q),H=[2,3,V?4:2,V?4:2,10,11,20][\"oyYJ@!\".indexOf(F)+1],X=new RegExp(\"^-?\\\\d{1,\"+H+\"}\"),G=t.substring(M).match(X);if(!G)throw(qd.local.missingNumberAt||qd.regionalOptions[\"\"].missingNumberAt).replace(/\\{0\\}/,M);return M+=G[0].length,parseInt(G[0],10)},k=this,A=function(){if(typeof s==\"function\"){p(\"m\");var F=s.call(k,t.substring(M));return M+=F.length,F}return E(\"m\")},L=function(F,q,V,H){for(var X=p(F,H)?V:q,G=0;G<X.length;G++)if(t.substr(M,X[G].length).toLowerCase()===X[G].toLowerCase())return M+=X[G].length,G+k.minMonth;throw(qd.local.unknownNameAt||qd.regionalOptions[\"\"].unknownNameAt).replace(/\\{0\\}/,M)},_=function(){if(typeof u==\"function\"){var F=p(\"M\")?u.call(k,t.substring(M)):l.call(k,t.substring(M));return M+=F.length,F}return L(\"M\",l,u)},C=function(){if(t.charAt(M)!==e.charAt(g))throw(qd.local.unexpectedLiteralAt||qd.regionalOptions[\"\"].unexpectedLiteralAt).replace(/\\{0\\}/,M);M++},M=0,g=0;g<e.length;g++)if(b)e.charAt(g)===\"'\"&&!p(\"'\")?b=!1:C();else switch(e.charAt(g)){case\"d\":d=E(\"d\");break;case\"D\":L(\"D\",i,a);break;case\"o\":v=E(\"o\");break;case\"w\":E(\"w\");break;case\"m\":h=A();break;case\"M\":h=_();break;case\"y\":var P=g;x=!p(\"y\",2),g=P,f=E(\"y\",2);break;case\"Y\":f=E(\"Y\",2);break;case\"J\":c=E(\"J\")+.5,t.charAt(M)===\".\"&&(M++,E(\"J\"));break;case\"@\":c=E(\"@\")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case\"!\":c=E(\"!\")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case\"*\":M=t.length;break;case\"'\":p(\"'\")?C():b=!0;break;default:C()}if(M<t.length)throw qd.local.unexpectedText||qd.regionalOptions[\"\"].unexpectedText;if(f===-1?f=this.today().year():f<100&&x&&(f+=n===-1?1900:this.today().year()-this.today().year()%100-(f<=n?0:100)),typeof h==\"string\"&&(h=o.call(this,f,h)),v>-1){h=1,d=v;for(var T=this.daysInMonth(f,h);d>T;T=this.daysInMonth(f,h))h++,d-=T}return c>-1?this.fromJD(c):this.newDate(f,h,d)},determineDate:function(e,t,r,n,i){r&&typeof r!=\"object\"&&(i=n,n=r,r=null),typeof n!=\"string\"&&(i=n,n=\"\");var a=this,o=function(s){try{return a.parseDate(n,s,i)}catch(f){}s=s.toLowerCase();for(var l=(s.match(/^c/)&&r?r.newDate():null)||a.today(),u=/([+-]?[0-9]+)\\s*(d|w|m|y)?/g,c=u.exec(s);c;)l.add(parseInt(c[1],10),c[2]||\"d\"),c=u.exec(s);return l};return t=t?t.newDate():null,e=e==null?t:typeof e==\"string\"?o(e):typeof e==\"number\"?isNaN(e)||e===1/0||e===-1/0?t:a.today().add(e,\"d\"):a.newDate(e),e}})});var k$e=ye(()=>{var zx=Sv(),aQt=bh(),$$=zx.instance();function S9(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}S9.prototype=new zx.baseCalendar;aQt(S9.prototype,{name:\"Chinese\",jdEpoch:17214255e-1,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{\"\":{name:\"Chinese\",epochs:[\"BEC\",\"EC\"],monthNumbers:function(e,t){if(typeof e==\"string\"){var r=e.match(sQt);return r?r[0]:\"\"}var n=this._validateYear(e),i=e.month(),a=\"\"+this.toChineseMonth(n,i);return t&&a.length<2&&(a=\"0\"+a),this.isIntercalaryMonth(n,i)&&(a+=\"i\"),a},monthNames:function(e){if(typeof e==\"string\"){var t=e.match(lQt);return t?t[0]:\"\"}var r=this._validateYear(e),n=e.month(),i=this.toChineseMonth(r,n),a=[\"\\u4E00\\u6708\",\"\\u4E8C\\u6708\",\"\\u4E09\\u6708\",\"\\u56DB\\u6708\",\"\\u4E94\\u6708\",\"\\u516D\\u6708\",\"\\u4E03\\u6708\",\"\\u516B\\u6708\",\"\\u4E5D\\u6708\",\"\\u5341\\u6708\",\"\\u5341\\u4E00\\u6708\",\"\\u5341\\u4E8C\\u6708\"][i-1];return this.isIntercalaryMonth(r,n)&&(a=\"\\u95F0\"+a),a},monthNamesShort:function(e){if(typeof e==\"string\"){var t=e.match(uQt);return t?t[0]:\"\"}var r=this._validateYear(e),n=e.month(),i=this.toChineseMonth(r,n),a=[\"\\u4E00\",\"\\u4E8C\",\"\\u4E09\",\"\\u56DB\",\"\\u4E94\",\"\\u516D\",\"\\u4E03\",\"\\u516B\",\"\\u4E5D\",\"\\u5341\",\"\\u5341\\u4E00\",\"\\u5341\\u4E8C\"][i-1];return this.isIntercalaryMonth(r,n)&&(a=\"\\u95F0\"+a),a},parseMonth:function(e,t){e=this._validateYear(e);var r=parseInt(t),n;if(isNaN(r))t[0]===\"\\u95F0\"&&(n=!0,t=t.substring(1)),t[t.length-1]===\"\\u6708\"&&(t=t.substring(0,t.length-1)),r=1+[\"\\u4E00\",\"\\u4E8C\",\"\\u4E09\",\"\\u56DB\",\"\\u4E94\",\"\\u516D\",\"\\u4E03\",\"\\u516B\",\"\\u4E5D\",\"\\u5341\",\"\\u5341\\u4E00\",\"\\u5341\\u4E8C\"].indexOf(t);else{var i=t[t.length-1];n=i===\"i\"||i===\"I\"}var a=this.toMonthIndex(e,r,n);return a},dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:1,isRTL:!1}},_validateYear:function(e,t){if(e.year&&(e=e.year()),typeof e!=\"number\"||e<1888||e>2111)throw t.replace(/\\{0\\}/,this.local.name);return e},toMonthIndex:function(e,t,r){var n=this.intercalaryMonth(e),i=r&&t!==n;if(i||t<1||t>12)throw zx.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var a;return n?!r&&t<=n?a=t-1:a=t:a=t-1,a},toChineseMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e),n=r?12:11;if(t<0||t>n)throw zx.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var i;return r?t<r?i=t+1:i=t:i=t+1,i},intercalaryMonth:function(e){e=this._validateYear(e);var t=Fx[e-Fx[0]],r=t>>13;return r},isIntercalaryMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e);return!!r&&r===t},leapYear:function(e){return this.intercalaryMonth(e)!==0},weekOfYear:function(e,t,r){var n=this._validateYear(e,zx.local.invalidyear),i=qx[n-qx[0]],a=i>>9&4095,o=i>>5&15,s=i&31,l;l=$$.newDate(a,o,s),l.add(4-(l.dayOfWeek()||7),\"d\");var u=this.toJD(e,t,r)-l.toJD();return 1+Math.floor(u/7)},monthsInYear:function(e){return this.leapYear(e)?13:12},daysInMonth:function(e,t){e.year&&(t=e.month(),e=e.year()),e=this._validateYear(e);var r=Fx[e-Fx[0]],n=r>>13,i=n?12:11;if(t>i)throw zx.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var a=r&1<<12-t?30:29;return a},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,a,r,zx.local.invalidDate);e=this._validateYear(n.year()),t=n.month(),r=n.day();var i=this.isIntercalaryMonth(e,t),a=this.toChineseMonth(e,t),o=fQt(e,a,r,i);return $$.toJD(o.year,o.month,o.day)},fromJD:function(e){var t=$$.fromJD(e),r=cQt(t.year(),t.month(),t.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(e){var t=e.match(oQt),r=this._validateYear(+t[1]),n=+t[2],i=!!t[3],a=this.toMonthIndex(r,n,i),o=+t[4];return this.newDate(r,a,o)},add:function(e,t,r){var n=e.year(),i=e.month(),a=this.isIntercalaryMonth(n,i),o=this.toChineseMonth(n,i),s=Object.getPrototypeOf(S9.prototype).add.call(this,e,t,r);if(r===\"y\"){var l=s.year(),u=s.month(),c=this.isIntercalaryMonth(l,o),f=a&&c?this.toMonthIndex(l,o,!0):this.toMonthIndex(l,o,!1);f!==u&&s.month(f)}return s}});var oQt=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)[-/](\\d?\\d)([iI]?)[-/](\\d?\\d)/m,sQt=/^\\d?\\d[iI]?/m,lQt=/^闰?十?[一二三四五六七八九]?月/m,uQt=/^闰?十?[一二三四五六七八九]?/m;zx.calendars.chinese=S9;var Fx=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],qx=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904];function cQt(e,t,r,n){var i,a;if(typeof e==\"object\")i=e,a=t||{};else{var o=typeof e==\"number\"&&e>=1888&&e<=2111;if(!o)throw new Error(\"Solar year outside range 1888-2111\");var s=typeof t==\"number\"&&t>=1&&t<=12;if(!s)throw new Error(\"Solar month outside range 1 - 12\");var l=typeof r==\"number\"&&r>=1&&r<=31;if(!l)throw new Error(\"Solar day outside range 1 - 31\");i={year:e,month:t,day:r},a=n||{}}var u=qx[i.year-qx[0]],c=i.year<<9|i.month<<5|i.day;a.year=c>=u?i.year:i.year-1,u=qx[a.year-qx[0]];var f=u>>9&4095,h=u>>5&15,d=u&31,v,x=new Date(f,h-1,d),b=new Date(i.year,i.month-1,i.day);v=Math.round((b-x)/(24*3600*1e3));var p=Fx[a.year-Fx[0]],E;for(E=0;E<13;E++){var k=p&1<<12-E?30:29;if(v<k)break;v-=k}var A=p>>13;return!A||E<A?(a.isIntercalary=!1,a.month=1+E):E===A?(a.isIntercalary=!0,a.month=E):(a.isIntercalary=!1,a.month=E),a.day=1+v,a}function fQt(e,t,r,n,i){var a,o;if(typeof e==\"object\")o=e,a=t||{};else{var s=typeof e==\"number\"&&e>=1888&&e<=2111;if(!s)throw new Error(\"Lunar year outside range 1888-2111\");var l=typeof t==\"number\"&&t>=1&&t<=12;if(!l)throw new Error(\"Lunar month outside range 1 - 12\");var u=typeof r==\"number\"&&r>=1&&r<=30;if(!u)throw new Error(\"Lunar day outside range 1 - 30\");var c;typeof n==\"object\"?(c=!1,a=n):(c=!!n,a=i||{}),o={year:e,month:t,day:r,isIntercalary:c}}var f;f=o.day-1;var h=Fx[o.year-Fx[0]],d=h>>13,v;d&&(o.month>d||o.isIntercalary)?v=o.month:v=o.month-1;for(var x=0;x<v;x++){var b=h&1<<12-x?30:29;f+=b}var p=qx[o.year-qx[0]],E=p>>9&4095,k=p>>5&15,A=p&31,L=new Date(E,k-1,A+f);return a.year=L.getFullYear(),a.month=1+L.getMonth(),a.day=L.getDate(),a}});var C$e=ye(()=>{var _w=Sv(),hQt=bh();function Q$(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}Q$.prototype=new _w.baseCalendar;hQt(Q$.prototype,{name:\"Coptic\",jdEpoch:18250295e-1,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Coptic\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Thout\",\"Paopi\",\"Hathor\",\"Koiak\",\"Tobi\",\"Meshir\",\"Paremhat\",\"Paremoude\",\"Pashons\",\"Paoni\",\"Epip\",\"Mesori\",\"Pi Kogi Enavot\"],monthNamesShort:[\"Tho\",\"Pao\",\"Hath\",\"Koi\",\"Tob\",\"Mesh\",\"Pat\",\"Pad\",\"Pash\",\"Pao\",\"Epi\",\"Meso\",\"PiK\"],dayNames:[\"Tkyriaka\",\"Pesnau\",\"Pshoment\",\"Peftoou\",\"Ptiou\",\"Psoou\",\"Psabbaton\"],dayNamesShort:[\"Tky\",\"Pes\",\"Psh\",\"Pef\",\"Pti\",\"Pso\",\"Psa\"],dayNamesMin:[\"Tk\",\"Pes\",\"Psh\",\"Pef\",\"Pt\",\"Pso\",\"Psa\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,_w.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,_w.local.invalidYear||_w.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,_w.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,_w.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}});_w.calendars.coptic=Q$});var L$e=ye(()=>{var b1=Sv(),dQt=bh();function eQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}eQ.prototype=new b1.baseCalendar;dQt(eQ.prototype,{name:\"Discworld\",jdEpoch:17214255e-1,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Discworld\",epochs:[\"BUC\",\"UC\"],monthNames:[\"Ick\",\"Offle\",\"February\",\"March\",\"April\",\"May\",\"June\",\"Grune\",\"August\",\"Spune\",\"Sektober\",\"Ember\",\"December\"],monthNamesShort:[\"Ick\",\"Off\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Gru\",\"Aug\",\"Spu\",\"Sek\",\"Emb\",\"Dec\"],dayNames:[\"Sunday\",\"Octeday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Oct\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Oc\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:2,isRTL:!1}},leapYear:function(e){return this._validate(e,this.minMonth,this.minDay,b1.local.invalidYear),!1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,b1.local.invalidYear),13},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,b1.local.invalidYear),400},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,b1.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,b1.local.invalidDate);return(n.day()+1)%8},weekDay:function(e,t,r){var n=this.dayOfWeek(e,t,r);return n>=2&&n<=6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,b1.local.invalidDate);return{century:vQt[Math.floor((n.year()-1)/100)+1]||\"\"}},toJD:function(e,t,r){var n=this._validate(e,t,r,b1.local.invalidDate);return e=n.year()+(n.year()<0?1:0),t=n.month(),r=n.day(),r+(t>1?16:0)+(t>2?(t-2)*32:0)+(e-1)*400+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e+.5)-Math.floor(this.jdEpoch)-1;var t=Math.floor(e/400)+1;e-=(t-1)*400,e+=e>15?16:0;var r=Math.floor(e/32)+1,n=e-(r-1)*32+1;return this.newDate(t<=0?t-1:t,r,n)}});var vQt={20:\"Fruitbat\",21:\"Anchovy\"};b1.calendars.discworld=eQ});var P$e=ye(()=>{var xw=Sv(),pQt=bh();function tQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}tQ.prototype=new xw.baseCalendar;pQt(tQ.prototype,{name:\"Ethiopian\",jdEpoch:17242205e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,xw.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,xw.local.invalidYear||xw.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,xw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,xw.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}});xw.calendars.ethiopian=tQ});var I$e=ye(()=>{var Ox=Sv(),gQt=bh();function rQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}rQ.prototype=new Ox.baseCalendar;gQt(rQ.prototype,{name:\"Hebrew\",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{\"\":{name:\"Hebrew\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Nisan\",\"Iyar\",\"Sivan\",\"Tammuz\",\"Av\",\"Elul\",\"Tishrei\",\"Cheshvan\",\"Kislev\",\"Tevet\",\"Shevat\",\"Adar\",\"Adar II\"],monthNamesShort:[\"Nis\",\"Iya\",\"Siv\",\"Tam\",\"Av\",\"Elu\",\"Tis\",\"Che\",\"Kis\",\"Tev\",\"She\",\"Ada\",\"Ad2\"],dayNames:[\"Yom Rishon\",\"Yom Sheni\",\"Yom Shlishi\",\"Yom Revi'i\",\"Yom Chamishi\",\"Yom Shishi\",\"Yom Shabbat\"],dayNamesShort:[\"Ris\",\"She\",\"Shl\",\"Rev\",\"Cha\",\"Shi\",\"Sha\"],dayNamesMin:[\"Ri\",\"She\",\"Shl\",\"Re\",\"Ch\",\"Shi\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Ox.local.invalidYear);return this._leapYear(t.year())},_leapYear:function(e){return e=e<0?e+1:e,M9(e*7+1,19)<7},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Ox.local.invalidYear),this._leapYear(e.year?e.year():e)?13:12},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Ox.local.invalidYear);return e=t.year(),this.toJD(e===-1?1:e+1,7,1)-this.toJD(e,7,1)},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,Ox.local.invalidMonth),t===12&&this.leapYear(e)||t===8&&M9(this.daysInYear(e),10)===5?30:t===9&&M9(this.daysInYear(e),10)===3?29:this.daysPerMonth[t-1]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,Ox.local.invalidDate);return{yearType:(this.leapYear(n)?\"embolismic\":\"common\")+\" \"+[\"deficient\",\"regular\",\"complete\"][this.daysInYear(n)%10-3]}},toJD:function(e,t,r){var n=this._validate(e,t,r,Ox.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=e<=0?e+1:e,a=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(t<7){for(var o=7;o<=this.monthsInYear(e);o++)a+=this.daysInMonth(e,o);for(var o=1;o<t;o++)a+=this.daysInMonth(e,o)}else for(var o=7;o<t;o++)a+=this.daysInMonth(e,o);return a},_delay1:function(e){var t=Math.floor((235*e-234)/19),r=12084+13753*t,n=t*29+Math.floor(r/25920);return M9(3*(n+1),7)<3&&n++,n},_delay2:function(e){var t=this._delay1(e-1),r=this._delay1(e),n=this._delay1(e+1);return n-r===356?2:r-t===382?1:0},fromJD:function(e){e=Math.floor(e)+.5;for(var t=Math.floor((e-this.jdEpoch)*98496/35975351)-1;e>=this.toJD(t===-1?1:t+1,7,1);)t++;for(var r=e<this.toJD(t,1,1)?7:1;e>this.toJD(t,r,this.daysInMonth(t,r));)r++;var n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});function M9(e,t){return e-t*Math.floor(e/t)}Ox.calendars.hebrew=rQ});var R$e=ye(()=>{var oC=Sv(),mQt=bh();function iQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}iQ.prototype=new oC.baseCalendar;mQt(iQ.prototype,{name:\"Islamic\",jdEpoch:19484395e-1,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(e){var t=this._validate(e,this.minMonth,this.minDay,oC.local.invalidYear);return(t.year()*11+14)%30<11},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){return this.leapYear(e)?355:354},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,oC.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,oC.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e=e<=0?e+1:e,r+Math.ceil(29.5*(t-1))+(e-1)*354+Math.floor((3+11*e)/30)+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=Math.floor((30*(e-this.jdEpoch)+10646)/10631);t=t<=0?t-1:t;var r=Math.min(12,Math.ceil((e-29-this.toJD(t,1,1))/29.5)+1),n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});oC.calendars.islamic=iQ});var D$e=ye(()=>{var sC=Sv(),yQt=bh();function nQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}nQ.prototype=new sC.baseCalendar;yQt(nQ.prototype,{name:\"Julian\",jdEpoch:17214235e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,sC.local.invalidYear),r=t.year()<0?t.year()+1:t.year();return r%4===0},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,sC.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,sC.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e<0&&e++,t<=2&&(e--,t+=12),Math.floor(365.25*(e+4716))+Math.floor(30.6001*(t+1))+r-1524.5},fromJD:function(e){var t=Math.floor(e+.5),r=t+1524,n=Math.floor((r-122.1)/365.25),i=Math.floor(365.25*n),a=Math.floor((r-i)/30.6001),o=a-Math.floor(a<14?1:13),s=n-Math.floor(o>2?4716:4715),l=r-i-Math.floor(30.6001*a);return s<=0&&s--,this.newDate(s,o,l)}});sC.calendars.julian=nQ});var F$e=ye(()=>{var ug=Sv(),_Qt=bh();function oQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}oQ.prototype=new ug.baseCalendar;_Qt(oQ.prototype,{name:\"Mayan\",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{\"\":{name:\"Mayan\",epochs:[\"\",\"\"],monthNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],monthNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],dayNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesMin:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],digits:null,dateFormat:\"YYYY.m.d\",firstDay:0,isRTL:!1,haabMonths:[\"Pop\",\"Uo\",\"Zip\",\"Zotz\",\"Tzec\",\"Xul\",\"Yaxkin\",\"Mol\",\"Chen\",\"Yax\",\"Zac\",\"Ceh\",\"Mac\",\"Kankin\",\"Muan\",\"Pax\",\"Kayab\",\"Cumku\",\"Uayeb\"],tzolkinMonths:[\"Imix\",\"Ik\",\"Akbal\",\"Kan\",\"Chicchan\",\"Cimi\",\"Manik\",\"Lamat\",\"Muluc\",\"Oc\",\"Chuen\",\"Eb\",\"Ben\",\"Ix\",\"Men\",\"Cib\",\"Caban\",\"Etznab\",\"Cauac\",\"Ahau\"]}},leapYear:function(e){return this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear),!1},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear);e=t.year();var r=Math.floor(e/400);e=e%400,e+=e<0?400:0;var n=Math.floor(e/20);return r+\".\"+n+\".\"+e%20},forYear:function(e){if(e=e.split(\".\"),e.length<3)throw\"Invalid Mayan year\";for(var t=0,r=0;r<e.length;r++){var n=parseInt(e[r],10);if(Math.abs(n)>19||r>0&&n<0)throw\"Invalid Mayan year\";t=t*20+n}return t},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear),18},weekOfYear:function(e,t,r){return this._validate(e,t,r,ug.local.invalidDate),0},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear),360},daysInMonth:function(e,t){return this._validate(e,t,this.minDay,ug.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,ug.local.invalidDate);return n.day()},weekDay:function(e,t,r){return this._validate(e,t,r,ug.local.invalidDate),!0},extraInfo:function(e,t,r){var n=this._validate(e,t,r,ug.local.invalidDate),i=n.toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(e){e-=this.jdEpoch;var t=aQ(e+8+17*20,365);return[Math.floor(t/20)+1,aQ(t,20)]},_toTzolkin:function(e){return e-=this.jdEpoch,[z$e(e+20,20),z$e(e+4,13)]},toJD:function(e,t,r){var n=this._validate(e,t,r,ug.local.invalidDate);return n.day()+n.month()*20+n.year()*360+this.jdEpoch},fromJD:function(e){e=Math.floor(e)+.5-this.jdEpoch;var t=Math.floor(e/360);e=e%360,e+=e<0?360:0;var r=Math.floor(e/20),n=e%20;return this.newDate(t,r,n)}});function aQ(e,t){return e-t*Math.floor(e/t)}function z$e(e,t){return aQ(e-1,t)+1}ug.calendars.mayan=oQ});var O$e=ye(()=>{var bw=Sv(),xQt=bh();function sQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}sQ.prototype=new bw.baseCalendar;var q$e=bw.instance(\"gregorian\");xQt(sQ.prototype,{name:\"Nanakshahi\",jdEpoch:22576735e-1,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Nanakshahi\",epochs:[\"BN\",\"AN\"],monthNames:[\"Chet\",\"Vaisakh\",\"Jeth\",\"Harh\",\"Sawan\",\"Bhadon\",\"Assu\",\"Katak\",\"Maghar\",\"Poh\",\"Magh\",\"Phagun\"],monthNamesShort:[\"Che\",\"Vai\",\"Jet\",\"Har\",\"Saw\",\"Bha\",\"Ass\",\"Kat\",\"Mgr\",\"Poh\",\"Mgh\",\"Pha\"],dayNames:[\"Somvaar\",\"Mangalvar\",\"Budhvaar\",\"Veervaar\",\"Shukarvaar\",\"Sanicharvaar\",\"Etvaar\"],dayNamesShort:[\"Som\",\"Mangal\",\"Budh\",\"Veer\",\"Shukar\",\"Sanichar\",\"Et\"],dayNamesMin:[\"So\",\"Ma\",\"Bu\",\"Ve\",\"Sh\",\"Sa\",\"Et\"],digits:null,dateFormat:\"dd-mm-yyyy\",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,bw.local.invalidYear||bw.regionalOptions[\"\"].invalidYear);return q$e.leapYear(t.year()+(t.year()<1?1:0)+1469)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(1-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,bw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,bw.local.invalidMonth),i=n.year();i<0&&i++;for(var a=n.day(),o=1;o<n.month();o++)a+=this.daysPerMonth[o-1];return a+q$e.toJD(i+1468,3,13)},fromJD:function(e){e=Math.floor(e+.5);for(var t=Math.floor((e-(this.jdEpoch-1))/366);e>=this.toJD(t+1,1,1);)t++;for(var r=e-Math.floor(this.toJD(t,1,1)+.5)+1,n=1;r>this.daysInMonth(t,n);)r-=this.daysInMonth(t,n),n++;return this.newDate(t,n,r)}});bw.calendars.nanakshahi=sQ});var B$e=ye(()=>{var ww=Sv(),bQt=bh();function lQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}lQ.prototype=new ww.baseCalendar;bQt(lQ.prototype,{name:\"Nepali\",jdEpoch:17007095e-1,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{\"\":{name:\"Nepali\",epochs:[\"BBS\",\"ABS\"],monthNames:[\"Baisakh\",\"Jestha\",\"Ashadh\",\"Shrawan\",\"Bhadra\",\"Ashwin\",\"Kartik\",\"Mangsir\",\"Paush\",\"Mangh\",\"Falgun\",\"Chaitra\"],monthNamesShort:[\"Bai\",\"Je\",\"As\",\"Shra\",\"Bha\",\"Ash\",\"Kar\",\"Mang\",\"Pau\",\"Ma\",\"Fal\",\"Chai\"],dayNames:[\"Aaitabaar\",\"Sombaar\",\"Manglbaar\",\"Budhabaar\",\"Bihibaar\",\"Shukrabaar\",\"Shanibaar\"],dayNamesShort:[\"Aaita\",\"Som\",\"Mangl\",\"Budha\",\"Bihi\",\"Shukra\",\"Shani\"],dayNamesMin:[\"Aai\",\"So\",\"Man\",\"Bu\",\"Bi\",\"Shu\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:1,isRTL:!1}},leapYear:function(e){return this.daysInYear(e)!==this.daysPerYear},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,ww.local.invalidYear);if(e=t.year(),typeof this.NEPALI_CALENDAR_DATA[e]==\"undefined\")return this.daysPerYear;for(var r=0,n=this.minMonth;n<=12;n++)r+=this.NEPALI_CALENDAR_DATA[e][n];return r},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,ww.local.invalidMonth),typeof this.NEPALI_CALENDAR_DATA[e]==\"undefined\"?this.daysPerMonth[t-1]:this.NEPALI_CALENDAR_DATA[e][t]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},toJD:function(e,t,r){var n=this._validate(e,t,r,ww.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=ww.instance(),a=0,o=t,s=e;this._createMissingCalendarData(e);var l=e-(o>9||o===9&&r>=this.NEPALI_CALENDAR_DATA[s][0]?56:57);for(t!==9&&(a=r,o--);o!==9;)o<=0&&(o=12,s--),a+=this.NEPALI_CALENDAR_DATA[s][o],o--;return t===9?(a+=r-this.NEPALI_CALENDAR_DATA[s][0],a<0&&(a+=i.daysInYear(l))):a+=this.NEPALI_CALENDAR_DATA[s][9]-this.NEPALI_CALENDAR_DATA[s][0],i.newDate(l,1,1).add(a,\"d\").toJD()},fromJD:function(e){var t=ww.instance(),r=t.fromJD(e),n=r.year(),i=r.dayOfYear(),a=n+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++,o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var u=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,u)},_createMissingCalendarData:function(e){var t=this.daysPerMonth.slice(0);t.unshift(17);for(var r=e-1;r<e+2;r++)typeof this.NEPALI_CALENDAR_DATA[r]==\"undefined\"&&(this.NEPALI_CALENDAR_DATA[r]=t)},NEPALI_CALENDAR_DATA:{1970:[18,31,31,32,31,31,31,30,29,30,29,30,30],1971:[18,31,31,32,31,32,30,30,29,30,29,30,30],1972:[17,31,32,31,32,31,30,30,30,29,29,30,30],1973:[19,30,32,31,32,31,30,30,30,29,30,29,31],1974:[19,31,31,32,30,31,31,30,29,30,29,30,30],1975:[18,31,31,32,32,30,31,30,29,30,29,30,30],1976:[17,31,32,31,32,31,30,30,30,29,29,30,31],1977:[18,31,32,31,32,31,31,29,30,29,30,29,31],1978:[18,31,31,32,31,31,31,30,29,30,29,30,30],1979:[18,31,31,32,32,31,30,30,29,30,29,30,30],1980:[17,31,32,31,32,31,30,30,30,29,29,30,31],1981:[18,31,31,31,32,31,31,29,30,30,29,30,30],1982:[18,31,31,32,31,31,31,30,29,30,29,30,30],1983:[18,31,31,32,32,31,30,30,29,30,29,30,30],1984:[17,31,32,31,32,31,30,30,30,29,29,30,31],1985:[18,31,31,31,32,31,31,29,30,30,29,30,30],1986:[18,31,31,32,31,31,31,30,29,30,29,30,30],1987:[18,31,32,31,32,31,30,30,29,30,29,30,30],1988:[17,31,32,31,32,31,30,30,30,29,29,30,31],1989:[18,31,31,31,32,31,31,30,29,30,29,30,30],1990:[18,31,31,32,31,31,31,30,29,30,29,30,30],1991:[18,31,32,31,32,31,30,30,29,30,29,30,30],1992:[17,31,32,31,32,31,30,30,30,29,30,29,31],1993:[18,31,31,31,32,31,31,30,29,30,29,30,30],1994:[18,31,31,32,31,31,31,30,29,30,29,30,30],1995:[17,31,32,31,32,31,30,30,30,29,29,30,30],1996:[17,31,32,31,32,31,30,30,30,29,30,29,31],1997:[18,31,31,32,31,31,31,30,29,30,29,30,30],1998:[18,31,31,32,31,31,31,30,29,30,29,30,30],1999:[17,31,32,31,32,31,30,30,30,29,29,30,31],2e3:[17,30,32,31,32,31,30,30,30,29,30,29,31],2001:[18,31,31,32,31,31,31,30,29,30,29,30,30],2002:[18,31,31,32,32,31,30,30,29,30,29,30,30],2003:[17,31,32,31,32,31,30,30,30,29,29,30,31],2004:[17,30,32,31,32,31,30,30,30,29,30,29,31],2005:[18,31,31,32,31,31,31,30,29,30,29,30,30],2006:[18,31,31,32,32,31,30,30,29,30,29,30,30],2007:[17,31,32,31,32,31,30,30,30,29,29,30,31],2008:[17,31,31,31,32,31,31,29,30,30,29,29,31],2009:[18,31,31,32,31,31,31,30,29,30,29,30,30],2010:[18,31,31,32,32,31,30,30,29,30,29,30,30],2011:[17,31,32,31,32,31,30,30,30,29,29,30,31],2012:[17,31,31,31,32,31,31,29,30,30,29,30,30],2013:[18,31,31,32,31,31,31,30,29,30,29,30,30],2014:[18,31,31,32,32,31,30,30,29,30,29,30,30],2015:[17,31,32,31,32,31,30,30,30,29,29,30,31],2016:[17,31,31,31,32,31,31,29,30,30,29,30,30],2017:[18,31,31,32,31,31,31,30,29,30,29,30,30],2018:[18,31,32,31,32,31,30,30,29,30,29,30,30],2019:[17,31,32,31,32,31,30,30,30,29,30,29,31],2020:[17,31,31,31,32,31,31,30,29,30,29,30,30],2021:[18,31,31,32,31,31,31,30,29,30,29,30,30],2022:[17,31,32,31,32,31,30,30,30,29,29,30,30],2023:[17,31,32,31,32,31,30,30,30,29,30,29,31],2024:[17,31,31,31,32,31,31,30,29,30,29,30,30],2025:[18,31,31,32,31,31,31,30,29,30,29,30,30],2026:[17,31,32,31,32,31,30,30,30,29,29,30,31],2027:[17,30,32,31,32,31,30,30,30,29,30,29,31],2028:[17,31,31,32,31,31,31,30,29,30,29,30,30],2029:[18,31,31,32,31,32,30,30,29,30,29,30,30],2030:[17,31,32,31,32,31,30,30,30,30,30,30,31],2031:[17,31,32,31,32,31,31,31,31,31,31,31,31],2032:[17,32,32,32,32,32,32,32,32,32,32,32,32],2033:[18,31,31,32,32,31,30,30,29,30,29,30,30],2034:[17,31,32,31,32,31,30,30,30,29,29,30,31],2035:[17,30,32,31,32,31,31,29,30,30,29,29,31],2036:[17,31,31,32,31,31,31,30,29,30,29,30,30],2037:[18,31,31,32,32,31,30,30,29,30,29,30,30],2038:[17,31,32,31,32,31,30,30,30,29,29,30,31],2039:[17,31,31,31,32,31,31,29,30,30,29,30,30],2040:[17,31,31,32,31,31,31,30,29,30,29,30,30],2041:[18,31,31,32,32,31,30,30,29,30,29,30,30],2042:[17,31,32,31,32,31,30,30,30,29,29,30,31],2043:[17,31,31,31,32,31,31,29,30,30,29,30,30],2044:[17,31,31,32,31,31,31,30,29,30,29,30,30],2045:[18,31,32,31,32,31,30,30,29,30,29,30,30],2046:[17,31,32,31,32,31,30,30,30,29,29,30,31],2047:[17,31,31,31,32,31,31,30,29,30,29,30,30],2048:[17,31,31,32,31,31,31,30,29,30,29,30,30],2049:[17,31,32,31,32,31,30,30,30,29,29,30,30],2050:[17,31,32,31,32,31,30,30,30,29,30,29,31],2051:[17,31,31,31,32,31,31,30,29,30,29,30,30],2052:[17,31,31,32,31,31,31,30,29,30,29,30,30],2053:[17,31,32,31,32,31,30,30,30,29,29,30,30],2054:[17,31,32,31,32,31,30,30,30,29,30,29,31],2055:[17,31,31,32,31,31,31,30,29,30,30,29,30],2056:[17,31,31,32,31,32,30,30,29,30,29,30,30],2057:[17,31,32,31,32,31,30,30,30,29,29,30,31],2058:[17,30,32,31,32,31,30,30,30,29,30,29,31],2059:[17,31,31,32,31,31,31,30,29,30,29,30,30],2060:[17,31,31,32,32,31,30,30,29,30,29,30,30],2061:[17,31,32,31,32,31,30,30,30,29,29,30,31],2062:[17,30,32,31,32,31,31,29,30,29,30,29,31],2063:[17,31,31,32,31,31,31,30,29,30,29,30,30],2064:[17,31,31,32,32,31,30,30,29,30,29,30,30],2065:[17,31,32,31,32,31,30,30,30,29,29,30,31],2066:[17,31,31,31,32,31,31,29,30,30,29,29,31],2067:[17,31,31,32,31,31,31,30,29,30,29,30,30],2068:[17,31,31,32,32,31,30,30,29,30,29,30,30],2069:[17,31,32,31,32,31,30,30,30,29,29,30,31],2070:[17,31,31,31,32,31,31,29,30,30,29,30,30],2071:[17,31,31,32,31,31,31,30,29,30,29,30,30],2072:[17,31,32,31,32,31,30,30,29,30,29,30,30],2073:[17,31,32,31,32,31,30,30,30,29,29,30,31],2074:[17,31,31,31,32,31,31,30,29,30,29,30,30],2075:[17,31,31,32,31,31,31,30,29,30,29,30,30],2076:[16,31,32,31,32,31,30,30,30,29,29,30,30],2077:[17,31,32,31,32,31,30,30,30,29,30,29,31],2078:[17,31,31,31,32,31,31,30,29,30,29,30,30],2079:[17,31,31,32,31,31,31,30,29,30,29,30,30],2080:[16,31,32,31,32,31,30,30,30,29,29,30,30],2081:[17,31,31,32,32,31,30,30,30,29,30,30,30],2082:[17,31,32,31,32,31,30,30,30,29,30,30,30],2083:[17,31,31,32,31,31,30,30,30,29,30,30,30],2084:[17,31,31,32,31,31,30,30,30,29,30,30,30],2085:[17,31,32,31,32,31,31,30,30,29,30,30,30],2086:[17,31,32,31,32,31,30,30,30,29,30,30,30],2087:[16,31,31,32,31,31,31,30,30,29,30,30,30],2088:[16,30,31,32,32,30,31,30,30,29,30,30,30],2089:[17,31,32,31,32,31,30,30,30,29,30,30,30],2090:[17,31,32,31,32,31,30,30,30,29,30,30,30],2091:[16,31,31,32,31,31,31,30,30,29,30,30,30],2092:[16,31,31,32,32,31,30,30,30,29,30,30,30],2093:[17,31,32,31,32,31,30,30,30,29,30,30,30],2094:[17,31,31,32,31,31,30,30,30,29,30,30,30],2095:[17,31,31,32,31,31,31,30,29,30,30,30,30],2096:[17,30,31,32,32,31,30,30,29,30,29,30,30],2097:[17,31,32,31,32,31,30,30,30,29,30,30,30],2098:[17,31,31,32,31,31,31,29,30,29,30,30,31],2099:[17,31,31,32,31,31,31,30,29,29,30,30,30],2100:[17,31,32,31,32,30,31,30,29,30,29,30,30]}});ww.calendars.nepali=lQ});var N$e=ye(()=>{var $A=Sv(),wQt=bh();function E9(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}E9.prototype=new $A.baseCalendar;wQt(E9.prototype,{name:\"Persian\",jdEpoch:19483205e-1,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Persian\",epochs:[\"BP\",\"AP\"],monthNames:[\"Farvardin\",\"Ordibehesht\",\"Khordad\",\"Tir\",\"Mordad\",\"Shahrivar\",\"Mehr\",\"Aban\",\"Azar\",\"Day\",\"Bahman\",\"Esfand\"],monthNamesShort:[\"Far\",\"Ord\",\"Kho\",\"Tir\",\"Mor\",\"Sha\",\"Meh\",\"Aba\",\"Aza\",\"Day\",\"Bah\",\"Esf\"],dayNames:[\"Yekshambe\",\"Doshambe\",\"Seshambe\",\"Ch\\xE6harshambe\",\"Panjshambe\",\"Jom'e\",\"Shambe\"],dayNamesShort:[\"Yek\",\"Do\",\"Se\",\"Ch\\xE6\",\"Panj\",\"Jom\",\"Sha\"],dayNamesMin:[\"Ye\",\"Do\",\"Se\",\"Ch\",\"Pa\",\"Jo\",\"Sh\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,$A.local.invalidYear);return((t.year()-(t.year()>0?474:473))%2820+474+38)*682%2816<682},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-((n.dayOfWeek()+1)%7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,$A.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,$A.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=e-(e>=0?474:473),a=474+uQ(i,2820);return r+(t<=7?(t-1)*31:(t-1)*30+6)+Math.floor((a*682-110)/2816)+(a-1)*365+Math.floor(i/2820)*1029983+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=e-this.toJD(475,1,1),r=Math.floor(t/1029983),n=uQ(t,1029983),i=2820;if(n!==1029982){var a=Math.floor(n/366),o=uQ(n,366);i=Math.floor((2134*a+2816*o+2815)/1028522)+a+1}var s=i+2820*r+474;s=s<=0?s-1:s;var l=e-this.toJD(s,1,1)+1,u=l<=186?Math.ceil(l/31):Math.ceil((l-6)/30),c=e-this.toJD(s,u,1)+1;return this.newDate(s,u,c)}});function uQ(e,t){return e-t*Math.floor(e/t)}$A.calendars.persian=E9;$A.calendars.jalali=E9});var U$e=ye(()=>{var Tw=Sv(),TQt=bh(),k9=Tw.instance();function cQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}cQ.prototype=new Tw.baseCalendar;TQt(cQ.prototype,{name:\"Taiwan\",jdEpoch:24194025e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,Tw.local.invalidYear),r=this._t2gYear(t.year());return k9.leapYear(r)},weekOfYear:function(i,t,r){var n=this._validate(i,this.minMonth,this.minDay,Tw.local.invalidYear),i=this._t2gYear(n.year());return k9.weekOfYear(i,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Tw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,Tw.local.invalidDate),i=this._t2gYear(n.year());return k9.toJD(i,n.month(),n.day())},fromJD:function(e){var t=k9.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)},_g2tYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)}});Tw.calendars.taiwan=cQ});var V$e=ye(()=>{var Aw=Sv(),AQt=bh(),C9=Aw.instance();function fQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}fQ.prototype=new Aw.baseCalendar;AQt(fQ.prototype,{name:\"Thai\",jdEpoch:15230985e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,Aw.local.invalidYear),r=this._t2gYear(t.year());return C9.leapYear(r)},weekOfYear:function(i,t,r){var n=this._validate(i,this.minMonth,this.minDay,Aw.local.invalidYear),i=this._t2gYear(n.year());return C9.weekOfYear(i,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Aw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,Aw.local.invalidDate),i=this._t2gYear(n.year());return C9.toJD(i,n.month(),n.day())},fromJD:function(e){var t=C9.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)},_g2tYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)}});Aw.calendars.thai=fQ});var H$e=ye(()=>{var Sw=Sv(),SQt=bh();function hQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}hQ.prototype=new Sw.baseCalendar;SQt(hQ.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(e){var t=this._validate(e,this.minMonth,this.minDay,Sw.local.invalidYear);return this.daysInYear(t.year())===355},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){for(var t=0,r=1;r<=12;r++)t+=this.daysInMonth(e,r);return t},daysInMonth:function(e,t){for(var r=this._validate(e,t,this.minDay,Sw.local.invalidMonth),n=r.toJD()-24e5+.5,i=0,a=0;a<Bx.length;a++){if(Bx[a]>n)return Bx[i]-Bx[i-1];i++}return 30},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,Sw.local.invalidDate),i=12*(n.year()-1)+n.month()-15292,a=n.day()+Bx[i-1]-1;return a+24e5-.5},fromJD:function(e){for(var t=e-24e5+.5,r=0,n=0;n<Bx.length&&!(Bx[n]>t);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),o=a+1,s=i-12*a,l=t-Bx[r-1]+1;return this.newDate(o,s,l)},isValid:function(e,t,r){var n=Sw.baseCalendar.prototype.isValid.apply(this,arguments);return n&&(e=e.year!=null?e.year:e,n=e>=1276&&e<=1500),n},_validate:function(e,t,r,n){var i=Sw.baseCalendar.prototype._validate.apply(this,arguments);if(i.year<1276||i.year>1500)throw n.replace(/\\{0\\}/,this.local.name);return i}});Sw.calendars.ummalqura=hQ;var Bx=[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]});var j$e=ye((_2r,G$e)=>{\"use strict\";G$e.exports=Sv();E$e();k$e();C$e();L$e();P$e();I$e();R$e();D$e();F$e();O$e();B$e();N$e();U$e();V$e();H$e()});var $$e=ye((x2r,J$e)=>{\"use strict\";var Z$e=j$e(),lC=Mr(),X$e=es(),MQt=X$e.EPOCHJD,EQt=X$e.ONEDAY,pQ={valType:\"enumerated\",values:lC.sortObjectKeys(Z$e.calendars),editType:\"calc\",dflt:\"gregorian\"},Y$e=function(e,t,r,n){var i={};return i[r]=pQ,lC.coerce(e,t,i,r,n)},kQt=function(e,t,r,n){for(var i=0;i<r.length;i++)Y$e(e,t,r[i]+\"calendar\",n.calendar)},CQt={chinese:\"2000-01-01\",coptic:\"2000-01-01\",discworld:\"2000-01-01\",ethiopian:\"2000-01-01\",hebrew:\"5000-01-01\",islamic:\"1000-01-01\",julian:\"2000-01-01\",mayan:\"5000-01-01\",nanakshahi:\"1000-01-01\",nepali:\"2000-01-01\",persian:\"1000-01-01\",jalali:\"1000-01-01\",taiwan:\"1000-01-01\",thai:\"2000-01-01\",ummalqura:\"1400-01-01\"},LQt={chinese:\"2000-01-02\",coptic:\"2000-01-03\",discworld:\"2000-01-03\",ethiopian:\"2000-01-05\",hebrew:\"5000-01-01\",islamic:\"1000-01-02\",julian:\"2000-01-03\",mayan:\"5000-01-01\",nanakshahi:\"1000-01-05\",nepali:\"2000-01-05\",persian:\"1000-01-01\",jalali:\"1000-01-01\",taiwan:\"1000-01-04\",thai:\"2000-01-04\",ummalqura:\"1400-01-06\"},PQt={chinese:[\"2000-01-01\",\"2001-01-01\"],coptic:[\"1700-01-01\",\"1701-01-01\"],discworld:[\"1800-01-01\",\"1801-01-01\"],ethiopian:[\"2000-01-01\",\"2001-01-01\"],hebrew:[\"5700-01-01\",\"5701-01-01\"],islamic:[\"1400-01-01\",\"1401-01-01\"],julian:[\"2000-01-01\",\"2001-01-01\"],mayan:[\"5200-01-01\",\"5201-01-01\"],nanakshahi:[\"0500-01-01\",\"0501-01-01\"],nepali:[\"2000-01-01\",\"2001-01-01\"],persian:[\"1400-01-01\",\"1401-01-01\"],jalali:[\"1400-01-01\",\"1401-01-01\"],taiwan:[\"0100-01-01\",\"0101-01-01\"],thai:[\"2500-01-01\",\"2501-01-01\"],ummalqura:[\"1400-01-01\",\"1401-01-01\"]},L9=\"##\",IQt={d:{0:\"dd\",\"-\":\"d\"},e:{0:\"d\",\"-\":\"d\"},a:{0:\"D\",\"-\":\"D\"},A:{0:\"DD\",\"-\":\"DD\"},j:{0:\"oo\",\"-\":\"o\"},W:{0:\"ww\",\"-\":\"w\"},m:{0:\"mm\",\"-\":\"m\"},b:{0:\"M\",\"-\":\"M\"},B:{0:\"MM\",\"-\":\"MM\"},y:{0:\"yy\",\"-\":\"yy\"},Y:{0:\"yyyy\",\"-\":\"yyyy\"},U:L9,w:L9,c:{0:\"D M d %X yyyy\",\"-\":\"D M d %X yyyy\"},x:{0:\"mm/dd/yyyy\",\"-\":\"mm/dd/yyyy\"}};function RQt(e,t,r){for(var n=Math.floor((t+.05)/EQt)+MQt,i=K$e(r).fromJD(n),a=0,o,s,l,u,c;(a=e.indexOf(\"%\",a))!==-1;)o=e.charAt(a+1),o===\"0\"||o===\"-\"||o===\"_\"?(l=3,s=e.charAt(a+2),o===\"_\"&&(o=\"-\")):(s=o,o=\"0\",l=2),u=IQt[s],u?(u===L9?c=L9:c=i.formatDate(u[o]),e=e.substr(0,a)+c+e.substr(a+l),a+=c.length):a+=l;return e}var W$e={};function K$e(e){var t=W$e[e];return t||(t=W$e[e]=Z$e.instance(e),t)}function uC(e){return lC.extendFlat({},pQ,{description:e})}function gQ(e){return\"Sets the calendar system to use with `\"+e+\"` date data.\"}var vQ={xcalendar:uC(gQ(\"x\"))},iy=lC.extendFlat({},vQ,{ycalendar:uC(gQ(\"y\"))}),dQ=lC.extendFlat({},iy,{zcalendar:uC(gQ(\"z\"))}),QA=uC([\"Sets the calendar system to use for `range` and `tick0`\",\"if this is a date axis. This does not set the calendar for\",\"interpreting data on this axis, that's specified in the trace\",\"or via the global `layout.calendar`\"].join(\" \"));J$e.exports={moduleType:\"component\",name:\"calendars\",schema:{traces:{scatter:iy,bar:iy,box:iy,heatmap:iy,contour:iy,histogram:iy,histogram2d:iy,histogram2dcontour:iy,scatter3d:dQ,surface:dQ,mesh3d:dQ,scattergl:iy,ohlc:vQ,candlestick:vQ},layout:{calendar:uC([\"Sets the default calendar system to use for interpreting and\",\"displaying dates throughout the plot.\"].join(\" \"))},subplots:{xaxis:{calendar:QA},yaxis:{calendar:QA},scene:{xaxis:{calendar:QA},yaxis:{calendar:QA},zaxis:{calendar:QA}},polar:{radialaxis:{calendar:QA}}}},layoutAttributes:pQ,handleDefaults:Y$e,handleTraceDefaults:kQt,CANONICAL_SUNDAY:LQt,CANONICAL_TICK:CQt,DFLTRANGE:PQt,getCal:K$e,worldCalFmt:RQt}});var eQe=ye((b2r,Q$e)=>{\"use strict\";Q$e.exports=$$e()});var DQt=ye((w2r,rQe)=>{var tQe=Wme();tQe.register([Xye(),z1e(),Z_e(),dxe(),Mxe(),wbe(),zbe(),b2e(),K2e(),Pwe(),m3e(),j4e(),REe(),TCe(),c6e(),N6e(),uLe(),RPe(),$Pe(),gIe(),kIe(),VIe(),i8e(),_8e(),WRe(),hDe(),EOe(),EBe(),qNe(),lUe(),mVe(),IVe(),rHe(),dGe(),kGe(),$Ge(),oWe(),LWe(),fZe(),RXe(),rYe(),TYe(),YYe(),uKe(),sJe(),SJe(),GJe(),A$e(),eQe()]);rQe.exports=tQe});return DQt();})();\n", - "/*!\n", - " * The buffer module from node.js, for the browser.\n", - " *\n", - " * @author Feross Aboukhadijeh <https://feross.org>\n", - " * @license MIT\n", - " */\n", - "/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\n", - "/*!\n", - " * Determine if an object is a Buffer\n", - " *\n", - " * @author Feross Aboukhadijeh <https://feross.org>\n", - " * @license MIT\n", - " */\n", - "/*!\n", - " * pad-left <https://github.com/jonschlinkert/pad-left>\n", - " *\n", - " * Copyright (c) 2014-2015, Jon Schlinkert.\n", - " * Licensed under the MIT license.\n", - " */\n", - "/*!\n", - " * repeat-string <https://github.com/jonschlinkert/repeat-string>\n", - " *\n", - " * Copyright (c) 2014-2015, Jon Schlinkert.\n", - " * Licensed under the MIT License.\n", - " */\n", - "/*! Bundled license information:\n", - "\n", - "native-promise-only/lib/npo.src.js:\n", - " (*! Native Promise Only\n", - " v0.8.1 (c) Kyle Simpson\n", - " MIT License: http://getify.mit-license.org\n", - " *)\n", - "\n", - "polybooljs/index.js:\n", - " (*\n", - " * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc\n", - " * @license MIT\n", - " * @preserve Project Home: https://github.com/voidqk/polybooljs\n", - " *)\n", - "\n", - "ieee754/index.js:\n", - " (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> *)\n", - "\n", - "buffer/index.js:\n", - " (*!\n", - " * The buffer module from node.js, for the browser.\n", - " *\n", - " * @author Feross Aboukhadijeh <https://feross.org>\n", - " * @license MIT\n", - " *)\n", - "\n", - "safe-buffer/index.js:\n", - " (*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *)\n", - "\n", - "assert/build/internal/util/comparisons.js:\n", - " (*!\n", - " * The buffer module from node.js, for the browser.\n", - " *\n", - " * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n", - " * @license MIT\n", - " *)\n", - "\n", - "object-assign/index.js:\n", - " (*\n", - " object-assign\n", - " (c) Sindre Sorhus\n", - " @license MIT\n", - " *)\n", - "\n", - "maplibre-gl/dist/maplibre-gl.js:\n", - " (**\n", - " * MapLibre GL JS\n", - " * @license 3-Clause BSD. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v4.7.1/LICENSE.txt\n", - " *)\n", - "*/\n", - "\n", - "window.Plotly = Plotly;\n", - "return Plotly;\n", - "}));</script> <div id=\"d3e2da08-f27a-45ce-9b69-d4b4d07e35d1\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div> <script type=\"text/javascript\"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"d3e2da08-f27a-45ce-9b69-d4b4d07e35d1\")) { Plotly.newPlot( \"d3e2da08-f27a-45ce-9b69-d4b4d07e35d1\", [{\"hovertemplate\":\"speed=%{marker.color}\\u003cbr\\u003elat=%{lat}\\u003cbr\\u003elon=%{lon}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"lat\":{\"dtype\":\"f8\",\"bdata\":\"w2ok8KTFSECDIg7Ao8VIQCPswqyjxUhAHVuuAqXFSEB2szffpcVIQPgib\\u002fOlxUhAGNmleKLFSECgHngIpcVIQDqv82emxUhAUqhdAqbFSEDh2A6hpcVIQCkcKI2kxUhAdvpBXaTFSECmYPDdpMVIQO0mW9GkxUhAlBBR8aTFSEBSvrkipcVIQI7O2BulxUhAmnWtWqXFSECrszlSpsVIQPhVdzSnxUhAJ62u+afFSEAbErU8qMVIQGgPanWoxUhAOWVNsKjFSEC27ovwm8VIQD3LHGCgxUhA4jELBrrFSEBhYAybt8VIQJDJmHEJxkhAuJv5OMfGSEAsPYFNqcdIQHoCQJlvyEhAbs9eQ5HISEAt3yMwEMlIQOgVywQuyUhAMgpZSAbJSED0H043O8lIQESfVYfYyUhAc5HvEE7KSEB9eiqvLstIQIybnqDiy0hAoUU6LKLMSEC2wnCFYs1IQELiBa7+zUhAjFU5o5zOSEAXZqGdU89IQETomNrvz0hAmD4JpvnQSEAM8swuDNJIQN\\u002facPXv0UhAJrjk+m\\u002fRSEBoJ\\u002f9qQNBIQHdYdvsLz0hAXMuFRgfOSEB9yJ3K0M1IQKf7CBV\\u002fzUhAufAwq3\\u002fMSEAmcTU2ZMtIQI7uGAXeyUhAoweZvx3JSEBwrZv3JMhIQG\\u002fQReCbx0hAHloarkTHSEBT6\\u002f1GO8hIQIkeIZjdyEhAQUVZ6JjJSEAilZzy7MlIQBaQ7s53ykhAxxRqVWTKSECq52pMBMtIQEdmw9R1ykhAiolyDsPJSECY3dWjV8lIQNNocjGGyUhADNBTcLrISEDU76HIg8dIQARFA+MmxkhA+QWJJxrGSEDP5uVuX8ZIQI5ZtAhex0hAzbmIrajISEAj5mkrvMlIQHM29IGqykhA2JLArPHKSECp\\u002f+ak+8lIQPNqqVGCyUhAD8bbjEvISEDYe9ioWsdIQMQ58lkBx0hAQgE+7EPGSEAUpnvf8MZIQKrSmg+dyEhAMK5l8P\\u002fHSEAT9\\u002fXPlcZIQF\\u002fpnYZ\\u002fxEhAUkfH1UjDSECeoU1ISsFIQL8DbqMiv0hAplSyMWm9SEC1dctpqrtIQExQoqlHukhA9Rj+Nji5SED9VTZiHLlIQFWze7CUt0hAyiudMN21SEBvc9fQ1bNIQEvGtcrhsUhA1iAnp9GvSEBOnJrT\\u002fq1IQNbvFR+XrEhAhz7MHJqqSED16V8vIKlIQEP0tXhCp0hAAXGRWiylSEDgq8p8D6NIQO\\u002f\\u002fRq\\u002fEoUhA1EEDVrOgSEByhgOdoJ9IQFaZa8kRnkhAVRlCpfybSEAZTC6MFZpIQGT6sYuamEhAcppPZziYSECiK0tTiJdIQBF7V\\u002fNSl0hAP93EuRuXSEAtr+Cnv5dIQNk7SPTXl0hAU31j34CXSEChXvjalpdIQBZiHsfJl0hAXT3dL1WYSECiEQkyRJhIQOSD4Ol8mEhAqtRPrJGYSEBaUijq0JhIQNy0fNFcmUhAP+PCgZCZSED\\u002fN91PGZpIQC243dNumkhAYIo4vvKaSECMnKZLVptIQP\\u002fOk77Sm0hA+CGpZIScSEAIpw2gwpxIQLzwnJDKnEhAR05P7cacSECR4i2hzJxIQC5NGVG9nEhAf7jU1sKcSED1pa\\u002fOzpxIQJhG3RjMnEhAnWpnd8ycSEDM6OwJt5xIQDsGXD6vnEhAa0zCZK6cSEDKbLFXr5xIQLEJ\\u002fvG9nEhAz6RN1b2cSECGszJMs5xIQBJ11fK5nEhA\"},\"legendgroup\":\"\",\"lon\":{\"dtype\":\"f8\",\"bdata\":\"U3N\\u002fFsdFMkCd30luwUUyQA7vvejARTJAqTlxIMFFMkDl8bT8wEUyQCF0VF7ARTJAHIew0L1FMkBoeuRqv0UyQG5dnL6\\u002fRTJA\\u002fXfxPMBFMkDTgnqnwEUyQJg8tzPARTJAnfWljsBFMkBoiggYwEUyQFwS8+7ARTJAxyhT9cBFMkAaUXfxwEUyQAiWPAHBRTJAGqUJ48BFMkDfsthgwEUyQFwKYZjARTJAhlezSsBFMkAgrkEEwUUyQJH760\\u002fBRTJAkTXZ9cFFMkDoj0Du6EUyQL1ynF+9RTJANhCi59xEMkAKRmeR1EQyQG7EMLMRRDJAm32zBzlCMkDK+eYnakEyQDkC4djtPzJAX7SF7xY9MkBgRzVPIjsyQBKXTrGLODJA0Dtf\\u002fek1MkCTrtMnPTMyQF+4EDfpMTJAW6q5eTYwMkCnHzdwxTAyQL1yvW2mMDJAOy2qC5kvMkDAg1WrZS0yQO7gs7eMKjJAof83WRcpMkCILft9GCcyQA5\\u002fj\\u002fJ6IzJAPMZPwtAhMkBN5ooYlyAyQBlkHjugHjJAtBUDPTcZMkCemDd\\u002f+hQyQEc\\u002flhX1EDJA+CJv86UMMkCLZ5YltgcyQF8nkjuuAjJA2t40noT+MUCgPdFU0\\u002fkxQJZXEeKI+DFAkzHCBAP0MUB4mopcie8xQJLGT4C06jFA+nWOnq7nMUBP8jwbZuQxQIoK7mpm4TFARWYNYpDdMUA5j9SMVtcxQCvoaunZ0DFAT7uQ9XHKMUAgypvsNMUxQB6E46bEvzFA8kTOyg+5MUABYCPm5bExQLTsgwv9qjFAgBHRO1ekMUAyHHSuzZ0xQKuA92WbmDFAAiLMBvyRMUAXg0VNDYsxQF81IlojhTFA2i+nHWF\\u002fMUCehTV8qHgxQHGVxOW6cTFAFE+HX\\u002ftpMUDUtXp3+WIxQFccUjUPWzFA3i1\\u002fdKBUMUC2d5mjv00xQEcVDznHRjFA11\\u002fA3DhAMUB+ycaDLToxQH\\u002fWgDHwNzFAN1Aiuk4zMUAw2Zm+ri4xQJBdkpjaLDFAUip+3wEoMUD+qSMNjyUxQO7ZayhSJDFAGilCh0whMUBuhvrhECExQGZsZC7bHTFAHu52\\u002f1AdMUCWq8ThcR0xQAq\\u002fkrPJGzFAdm9FYoIcMUCCDkYuMBsxQHQPprRAGTFANgfGyRYZMUCokRKSNxYxQAC0IHPpETFANo7cw\\u002fMOMUBd0XudswoxQLBhflXLBzFAoIbzmYEFMUC8R5EQQAUxQLR94fhOADFAGWAXLHL6MEBxLjDxaPQwQI8QDouL7zBABBh9oj7sMEBiN4X4NOgwQHhflQuV4jBAj2UsYCPcMEBUpW\\u002fKw9UwQATM18CxzzBAKSMN8qPIMEA3u3uh\\u002fMEwQCQ4YB3oujBAZRSykAy1MEDl2YIxZK8wQCswx59mqjBANFXmnI6mMEBw2BHiJaMwQK4E3gvEoDBAvkjL9XSeMEC3m7+NvZ0wQBl7Bj83nTBAofwX5\\u002fOaMECHfSund5kwQCxp3tS0mDBAnmFqSx2ZMED1Tw2H55cwQAK7WCCTljBAH6Thc6uVMECAQE41BpUwQKJARA8hlTBA+lUMmSOVMECi+XM8LJUwQHixk24JlTBA7uaQcRiVMEAo0oHVJpUwQMqzgSoklTBAckbegyGVMEDcY+lDF5UwQMGJrixNlTBA62E\\u002f9kCVMECQcXs4N5UwQBOIjWjxlDBApIWRf+KUMEALsDSV6pQwQGIawDoSlTBA\"},\"marker\":{\"color\":{\"dtype\":\"f8\",\"bdata\":\"ppvEILByBEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEVg5tMh29j8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+CtejcD0lQPYoXI\\u002fC9S5AAAAAAAAAAAAAAAAAAAAAACuHFtnO90ZA\\u002ftR46SYxSEAUrkfhetRJQLbz\\u002fdR46UhAiBbZzvcTRUARWDm0yHZGQLbz\\u002fdR4qUZAQmDl0CJbRkC0yHa+n1pIQCuHFtnOdztAvHSTGARWSEAEVg4tst1JQPCnxks3iUZA9ihcj8I1SECBlUOLbCdRQNijcD0Kl0ZAPN9PjZeuRECq8dJNYpBOQESLbOf76U9A\\u002fKnx0k1CVEB9PzVeuolEQH0\\u002fNV66yU9AXI\\u002fC9Sj8V0CUGARWDi1WQIlBYOXQwlZAMQisHFokVEDVeOkmMchTQM3MzMzM7FRAEoPAyqElWEBSuB6F61FWQF66SQwCK1VASgwCK4cWVECF61G4HiVaQD81XrpJDEhA5KWbxCDwUEBnZmZmZqZJQAwCK4cWGUxA9P3UeOlGVECsHFpkO99cQHe+nxov3VtA7FG4HoULW0CamZmZmflYQPT91HjpZl5A+VPjpZtkXkBDYOXQIjteQIts5\\u002fup8VxAQ2Dl0CJbX0DqJjEIrNxdQLgehetR2FxAppvEILByXUD+1HjpJpFbQKJFtvP9VFxARbbz\\u002fdS4YEAhsHJokU1eQO58PzVe6mBAoUW28\\u002f2UXkBzaJHtfD9fQH0\\u002fNV66qV5AC9ejcD3qXkAhsHJokS1dQBKDwMqhpVxAO99PjZeuXUDkpZvEIBBbQPCnxks3SVRAiUFg5dDiV0Bh5dAi23lcQAIrhxbZrlxArBxaZDufWkBjEFg5tMhaQFCNl24Sg1xAtvP91HgJWkCF61G4HqVVQL+fGi\\u002fdxFdAeekmMQisHkAAAAAAAAA7QBkEVg4tUlVAke18PzX+WEDy0k1iEHhaQNV46SYxiFpA5\\u002fup8dINW0DVeOkmMWhZQEW28\\u002f3UuFlAiUFg5dBCW0AAAAAAAOBZQEJg5dAi+1tA5\\u002fup8dINW0CsHFpkO39ZQDm0yHa+\\u002f1tAcT0K16NwXEDO91PjpVtdQHe+nxov3VtAAiuHFtnOXUDwp8ZLNylcQFYOLbKd71tAMQisHFoEXEBEi2zn+wlYQKnGSzeJ4VxAeekmMQiMXUBI4XoUrodcQG3n+6nxclxAwcqhRbZTWEDByqFFtjNXQGMQWDm0qFBAUrgehevRSkBqvHSTGIRIQEjhehSuh0NAPN9PjZduQkCoxks3iUE3QNijcD0KV0RARIts5\\u002ftpQkDByqFFtvNEQKRwPQrXozpAfT81XrpJQkDufD81XnpBQMdLN4lBIEJAZ2ZmZmbmQkASg8DKoUUQQDDdJAaBlQNAF9nO91Pj5T\\u002fVeOkmMQgWQAAAAAAAAAAAAAAAAAAAAAA830+Nl27iPwAAAAAAAAAAPzVeukkMGECkcD0K16MhQG8Sg8DKoQlAAAAAAAAAAAAAAAAAAAAAAB1aZDvfTwVAcT0K16NwE0Aw3SQGgZUTQHWTGARWDglA\"},\"coloraxis\":\"coloraxis\",\"opacity\":1,\"size\":{\"dtype\":\"f8\",\"bdata\":\"ppvEILByBEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEVg5tMh29j8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+CtejcD0lQPYoXI\\u002fC9S5AAAAAAAAAAAAAAAAAAAAAACuHFtnO90ZA\\u002ftR46SYxSEAUrkfhetRJQLbz\\u002fdR46UhAiBbZzvcTRUARWDm0yHZGQLbz\\u002fdR4qUZAQmDl0CJbRkC0yHa+n1pIQCuHFtnOdztAvHSTGARWSEAEVg4tst1JQPCnxks3iUZA9ihcj8I1SECBlUOLbCdRQNijcD0Kl0ZAPN9PjZeuRECq8dJNYpBOQESLbOf76U9A\\u002fKnx0k1CVEB9PzVeuolEQH0\\u002fNV66yU9AXI\\u002fC9Sj8V0CUGARWDi1WQIlBYOXQwlZAMQisHFokVEDVeOkmMchTQM3MzMzM7FRAEoPAyqElWEBSuB6F61FWQF66SQwCK1VASgwCK4cWVECF61G4HiVaQD81XrpJDEhA5KWbxCDwUEBnZmZmZqZJQAwCK4cWGUxA9P3UeOlGVECsHFpkO99cQHe+nxov3VtA7FG4HoULW0CamZmZmflYQPT91HjpZl5A+VPjpZtkXkBDYOXQIjteQIts5\\u002fup8VxAQ2Dl0CJbX0DqJjEIrNxdQLgehetR2FxAppvEILByXUD+1HjpJpFbQKJFtvP9VFxARbbz\\u002fdS4YEAhsHJokU1eQO58PzVe6mBAoUW28\\u002f2UXkBzaJHtfD9fQH0\\u002fNV66qV5AC9ejcD3qXkAhsHJokS1dQBKDwMqhpVxAO99PjZeuXUDkpZvEIBBbQPCnxks3SVRAiUFg5dDiV0Bh5dAi23lcQAIrhxbZrlxArBxaZDufWkBjEFg5tMhaQFCNl24Sg1xAtvP91HgJWkCF61G4HqVVQL+fGi\\u002fdxFdAeekmMQisHkAAAAAAAAA7QBkEVg4tUlVAke18PzX+WEDy0k1iEHhaQNV46SYxiFpA5\\u002fup8dINW0DVeOkmMWhZQEW28\\u002f3UuFlAiUFg5dBCW0AAAAAAAOBZQEJg5dAi+1tA5\\u002fup8dINW0CsHFpkO39ZQDm0yHa+\\u002f1tAcT0K16NwXEDO91PjpVtdQHe+nxov3VtAAiuHFtnOXUDwp8ZLNylcQFYOLbKd71tAMQisHFoEXEBEi2zn+wlYQKnGSzeJ4VxAeekmMQiMXUBI4XoUrodcQG3n+6nxclxAwcqhRbZTWEDByqFFtjNXQGMQWDm0qFBAUrgehevRSkBqvHSTGIRIQEjhehSuh0NAPN9PjZduQkCoxks3iUE3QNijcD0KV0RARIts5\\u002ftpQkDByqFFtvNEQKRwPQrXozpAfT81XrpJQkDufD81XnpBQMdLN4lBIEJAZ2ZmZmbmQkASg8DKoUUQQDDdJAaBlQNAF9nO91Pj5T\\u002fVeOkmMQgWQAAAAAAAAAAAAAAAAAAAAAA830+Nl27iPwAAAAAAAAAAPzVeukkMGECkcD0K16MhQG8Sg8DKoQlAAAAAAAAAAAAAAAAAAAAAAB1aZDvfTwVAcT0K16NwE0Aw3SQGgZUTQHWTGARWDglA\"},\"sizemode\":\"area\",\"sizeref\":1.6706666666666667},\"mode\":\"markers\",\"name\":\"\",\"showlegend\":false,\"subplot\":\"map\",\"type\":\"scattermap\"}], {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermap\":[{\"type\":\"scattermap\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"map\":{\"domain\":{\"x\":[0.0,1.0],\"y\":[0.0,1.0]},\"center\":{\"lat\":49.447130421666664,\"lon\":17.495110208395065},\"zoom\":8,\"style\":\"open-street-map\"},\"coloraxis\":{\"colorbar\":{\"title\":{\"text\":\"speed\"}},\"colorscale\":[[0.0,\"rgb(0,0,131)\"],[0.2,\"rgb(0,60,170)\"],[0.4,\"rgb(5,255,255)\"],[0.6,\"rgb(255,255,0)\"],[0.8,\"rgb(250,0,0)\"],[1.0,\"rgb(128,0,0)\"]]},\"legend\":{\"tracegroupgap\":0,\"itemsizing\":\"constant\"},\"margin\":{\"t\":60},\"mapbox\":{\"center\":{\"lat\":49.447130421666664,\"lon\":17.495110208395065},\"zoom\":8,\"style\":\"open-street-map\"}}, {\"responsive\": true} ).then(function(){\n", - " \n", - "var gd = document.getElementById('d3e2da08-f27a-45ce-9b69-d4b4d07e35d1');\n", - "var x = new MutationObserver(function (mutations, observer) {{\n", - " var display = window.getComputedStyle(gd).display;\n", - " if (!display || display === 'none') {{\n", - " console.log([gd, 'removed!']);\n", - " Plotly.purge(gd);\n", - " observer.disconnect();\n", - " }}\n", - "}});\n", - "\n", - "// Listen for the removal of the full notebook cells\n", - "var notebookContainer = gd.closest('#notebook-container');\n", - "if (notebookContainer) {{\n", - " x.observe(notebookContainer, {childList: true});\n", - "}}\n", - "\n", - "// Listen for the clearing of the current output cell\n", - "var outputEl = gd.closest('.output');\n", - "if (outputEl) {{\n", - " x.observe(outputEl, {childList: true});\n", - "}}\n", - "\n", - " }) }; </script> </div>" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "fig = px.scatter_map(gps, lat='lat', lon='lon',color=\"speed\", opacity=1, size='speed', size_max=9,\n", - " map_style=\"open-street-map\", color_continuous_scale='jet', zoom=8)\n", - "fig.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "id": "58e29607-874b-4b9a-8c1f-a484d74b68b0", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.plotly.v1+json": { - "config": { - "plotlyServerURL": "https://plot.ly" - }, - "data": [ - { - "hovertemplate": "speed=%{marker.size}<br>lat=%{lat}<br>lon=%{lon}<br>snr=%{marker.color}<extra></extra>", - "lat": { - "bdata": "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", - "dtype": "f8" - }, - "legendgroup": "", - "lon": { - "bdata": "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", - "dtype": "f8" - }, - "marker": { - "color": { - "bdata": "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AAAAAAAAGEAAAAAAAAAQwAAAAAAAACZAAAAAAAAAKEAAAAAAAAAoQAAAAAAAACZAAAAAAAAAJEAAAAAAAAAkQAAAAAAAAAhAAAAAAAAAIkAAAAAAAAAQQAAAAAAAABhAAAAAAAAAIkAAAAAAAAAiQAAAAAAAAPA/AAAAAAAAIkAAAAAAAAAiQAAAAAAAAAjAAAAAAAAAFEAAAAAAAAAgQAAAAAAAACJAAAAAAAAAGEAAAAAAAAAkQAAAAAAAACBAAAAAAAAAIMAAAAAAAAAAwAAAAAAAAPC/AAAAAAAAEEAAAAAAAADwPwAAAAAAAABAAAAAAAAAHEAAAAAAAAAiwAAAAAAAAADAAAAAAAAAIMAAAAAAAAAiQAAAAAAAAABAAAAAAAAAJkAAAAAAAAAIQAAAAAAAACbAAAAAAAAA8D8AAAAAAAAiQAAAAAAAACJAAAAAAAAACEAAAAAAAAAIwAAAAAAAACjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxAAAAAAAAAFEAAAAAAAAAcQAAAAAAAACJAAAAAAAAA8L8AAAAAAAAUwAAAAAAAABBAAAAAAAAAJEAAAAAAAAAmQAAAAAAAAChAAAAAAAAAAEAAAAAAAAAAQAAAAAAAACZAAAAAAAAAJkAAAAAAAAAmQAAAAAAAACRAAAAAAAAAJkAAAAAAAAAiQAAAAAAAACJAAAAAAAAAIkAAAAAAAAAoQAAAAAAAAAhAAAAAAAAAJkAAAAAAAAAgQAAAAAAAABxAAAAAAAAAKEAAAAAAAAAqQAAAAAAAACpAAAAAAAAAGEAAAAAAAAAiQAAAAAAAACJAAAAAAAAAJEAAAAAAAAAYQAAAAAAAABDAAAAAAAAAFEAAAAAAAAAAwAAAAAAAAADAAAAAAAAAFEAAAAAAAADwPwAAAAAAACzAAAAAAAAAAAAAAAAAAADwPwAAAAAAABxAAAAAAAAA8D8AAAAAAADwPwAAAAAAAAhAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAPA/AAAAAAAA8L8AAAAAAAAgwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAkwAAAAAAAAAAAAAAAAAAAEEAAAAAAAAAIQAAAAAAAABBAAAAAAAAA8L8AAAAAAAAcQAAAAAAAACJAAAAAAAAAJkAAAAAAAADwPwAAAAAAACBAAAAAAAAAEMAAAAAAAAAoQAAAAAAAACRAAAAAAAAAJkAAAAAAAAAYQAAAAAAAACpAAAAAAAAAIkAAAAAAAAAiQAAAAAAAAChAAAAAAAAAKEAAAAAAAAAqQAAAAAAAACZAAAAAAAAAIEAAAAAAAADwPwAAAAAAACJAAAAAAAAAJMAAAAAAAADwvwAAAAAAABDAAAAAAAAAFMAAAAAAAAAQwAAAAAAAACBAAAAAAAAAKsAAAAAAAAAmwAAAAAAAABhAAAAAAAAACEAAAAAAAAAiQAAAAAAAAPA/AAAAAAAAKEAAAAAAAAAmQAAAAAAAACZAAAAAAAAAKEAAAAAAAAAoQAAAAAAAACpAAAAAAAAALEAAAAAAAAAmQAAAAAAAACBAAAAAAAAA8L8AAAAAAAAcQAAAAAAAABRAAAAAAAAAKEAAAAAAAAAAwAAAAAAAABBAAAAAAAAAJEAAAAAAAAAAQAAAAAAAACBAAAAAAAAAIEAAAAAAAAAYQAAAAAAAACRAAAAAAAAAHEAAAAAAAAAgQAAAAAAAACpAAAAAAAAACEAAAAAAAAAgQAAAAAAAACJAAAAAAAAAGMAAAAAAAAAAwAAAAAAAACZAAAAAAAAAJEAAAAAAAAAcQAAAAAAAAPA/AAAAAAAAIkAAAAAAAADwPwAAAAAAAADAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAALMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAIsAAAAAAAAAUwAAAAAAAAAjAAAAAAAAAAMAAAAAAAAAkwAAAAAAAAABAAAAAAAAAEEAAAAAAAADwPwAAAAAAABBAAAAAAAAAIEAAAAAAAAAgQAAAAAAAABxAAAAAAAAAHMAAAAAAAAAAwAAAAAAAACJAAAAAAAAAGEAAAAAAAAAoQAAAAAAAACZAAAAAAAAAKEAAAAAAAAAqQAAAAAAAACJAAAAAAAAAHEAAAAAAAAAUwAAAAAAAACRAAAAAAAAAIkAAAAAAAADwvwAAAAAAACRAAAAAAAAAKkAAAAAAAAAqQAAAAAAAACpAAAAAAAAACEAAAAAAAAAYQAAAAAAAACbAAAAAAAAAFEAAAAAAAAAoQAAAAAAAAChAAAAAAAAAKEAAAAAAAAAqQAAAAAAAAChAAAAAAAAAKEAAAAAAAAAqQAAAAAAAACpAAAAAAAAAJEAAAAAAAAAqQAAAAAAAABRA", - "dtype": "f8" - }, - "coloraxis": "coloraxis", - "opacity": 1, - "size": { - "bdata": "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", - "dtype": "f8" - }, - "sizemode": "area", - "sizeref": 1.3532400000000002 - }, - "mode": "markers", - "name": "", - "showlegend": false, - "subplot": "map", - "type": "scattermap" - } - ], - "layout": { - "coloraxis": { - "colorbar": { - "title": { - "text": "snr" - } - }, - "colorscale": [ - [ - 0, - "rgb(0,0,131)" - ], - [ - 0.2, - "rgb(0,60,170)" - ], - [ - 0.4, - "rgb(5,255,255)" - ], - [ - 0.6, - "rgb(255,255,0)" - ], - [ - 0.8, - "rgb(250,0,0)" - ], - [ - 1, - "rgb(128,0,0)" - ] - ] - }, - "legend": { - "itemsizing": "constant", - "tracegroupgap": 0 - }, - "map": { - "center": { - "lat": 49.4500818735672, - "lon": 17.419228472787495 - }, - "domain": { - "x": [ - 0, - 1 - ], - "y": [ - 0, - 1 - ] - }, - "style": "open-street-map", - "zoom": 8 - }, - "mapbox": { - "center": { - "lat": 49.4500818735672, - "lon": 17.419228472787495 - }, - "style": "open-street-map", - "zoom": 8 - }, - "margin": { - "t": 60 - }, - "template": { - "data": { - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "choropleth": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "choropleth" - } - ], - "contour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "contour" - } - ], - "contourcarpet": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "contourcarpet" - } - ], - "heatmap": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmap" - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "histogram2d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2d" - } - ], - "histogram2dcontour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2dcontour" - } - ], - "mesh3d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "mesh3d" - } - ], - "parcoords": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "parcoords" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "scatter3d": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatter3d" - } - ], - "scattercarpet": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattercarpet" - } - ], - "scattergeo": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergeo" - } - ], - "scattergl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergl" - } - ], - "scattermap": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermap" - } - ], - "scattermapbox": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermapbox" - } - ], - "scatterpolar": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolar" - } - ], - "scatterpolargl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolargl" - } - ], - "scatterternary": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterternary" - } - ], - "surface": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "surface" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ] - }, - "layout": { - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "autotypenumbers": "strict", - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ], - "sequential": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ] - }, - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "geo": { - "bgcolor": "white", - "lakecolor": "white", - "landcolor": "#E5ECF6", - "showlakes": true, - "showland": true, - "subunitcolor": "white" - }, - "hoverlabel": { - "align": "left" - }, - "hovermode": "closest", - "mapbox": { - "style": "light" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "ternary": { - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "title": { - "x": 0.05 - }, - "xaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - }, - "yaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - } - } - } - } - }, - "text/html": [ - "<div> <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script> <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n", - " <script type=\"text/javascript\">/**\n", - "* plotly.js v3.0.1\n", - "* Copyright 2012-2025, Plotly, Inc.\n", - "* All rights reserved.\n", - "* Licensed under the MIT license\n", - "*/\n", - "(\n", - " function(root, factory) {\n", - " if (typeof module === \"object\" && module.exports) {\n", - " module.exports = factory();\n", - " } else {\n", - " root.moduleName = factory();\n", - " }\n", - "} (typeof self !== \"undefined\" ? self : this, () => {\n", - "\"use strict\";var Plotly=(()=>{var VQe=Object.create;var MS=Object.defineProperty,HQe=Object.defineProperties,GQe=Object.getOwnPropertyDescriptor,jQe=Object.getOwnPropertyDescriptors,WQe=Object.getOwnPropertyNames,XQ=Object.getOwnPropertySymbols,ZQe=Object.getPrototypeOf,KQ=Object.prototype.hasOwnProperty,XQe=Object.prototype.propertyIsEnumerable;var YQ=(e,t,r)=>t in e?MS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,JQ=(e,t)=>{for(var r in t||(t={}))KQ.call(t,r)&&YQ(e,r,t[r]);if(XQ)for(var r of XQ(t))XQe.call(t,r)&&YQ(e,r,t[r]);return e},$Q=(e,t)=>HQe(e,jQe(t));var Ll=(e,t)=>()=>(e&&(t=e(e=0)),t);var ye=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),QQ=(e,t)=>{for(var r in t)MS(e,r,{get:t[r],enumerable:!0})},eee=(e,t,r,n)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let i of WQe(t))!KQ.call(e,i)&&i!==r&&MS(e,i,{get:()=>t[i],enumerable:!(n=GQe(t,i))||n.enumerable});return e};var YQe=(e,t,r)=>(r=e!=null?VQe(ZQe(e)):{},eee(t||!e||!e.__esModule?MS(r,\"default\",{value:e,enumerable:!0}):r,e)),B1=e=>eee(MS({},\"__esModule\",{value:!0}),e);var e6=ye(tee=>{\"use strict\";tee.version=\"3.0.1\"});var iee=ye((ree,t6)=>{(function(t,r,n){r[t]=r[t]||n(),typeof t6!=\"undefined\"&&t6.exports&&(t6.exports=r[t])})(\"Promise\",typeof window!=\"undefined\"?window:ree,function(){\"use strict\";var t,r,n,i=Object.prototype.toString,a=typeof setImmediate!=\"undefined\"?function(E){return setImmediate(E)}:setTimeout;try{Object.defineProperty({},\"x\",{}),t=function(E,k,A,L){return Object.defineProperty(E,k,{value:A,writable:!0,configurable:L!==!1})}}catch(p){t=function(k,A,L){return k[A]=L,k}}n=function(){var E,k,A;function L(_,C){this.fn=_,this.self=C,this.next=void 0}return{add:function(C,M){A=new L(C,M),k?k.next=A:E=A,k=A,A=void 0},drain:function(){var C=E;for(E=k=r=void 0;C;)C.fn.call(C.self),C=C.next}}}();function o(p,E){n.add(p,E),r||(r=a(n.drain))}function s(p){var E,k=typeof p;return p!=null&&(k==\"object\"||k==\"function\")&&(E=p.then),typeof E==\"function\"?E:!1}function l(){for(var p=0;p<this.chain.length;p++)u(this,this.state===1?this.chain[p].success:this.chain[p].failure,this.chain[p]);this.chain.length=0}function u(p,E,k){var A,L;try{E===!1?k.reject(p.msg):(E===!0?A=p.msg:A=E.call(void 0,p.msg),A===k.promise?k.reject(TypeError(\"Promise-chain cycle\")):(L=s(A))?L.call(A,k.resolve,k.reject):k.resolve(A))}catch(_){k.reject(_)}}function c(p){var E,k=this;if(!k.triggered){k.triggered=!0,k.def&&(k=k.def);try{(E=s(p))?o(function(){var A=new d(k);try{E.call(p,function(){c.apply(A,arguments)},function(){f.apply(A,arguments)})}catch(L){f.call(A,L)}}):(k.msg=p,k.state=1,k.chain.length>0&&o(l,k))}catch(A){f.call(new d(k),A)}}}function f(p){var E=this;E.triggered||(E.triggered=!0,E.def&&(E=E.def),E.msg=p,E.state=2,E.chain.length>0&&o(l,E))}function h(p,E,k,A){for(var L=0;L<E.length;L++)(function(C){p.resolve(E[C]).then(function(g){k(C,g)},A)})(L)}function d(p){this.def=p,this.triggered=!1}function v(p){this.promise=p,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function x(p){if(typeof p!=\"function\")throw TypeError(\"Not a function\");if(this.__NPO__!==0)throw TypeError(\"Not a promise\");this.__NPO__=1;var E=new v(this);this.then=function(A,L){var _={success:typeof A==\"function\"?A:!0,failure:typeof L==\"function\"?L:!1};return _.promise=new this.constructor(function(M,g){if(typeof M!=\"function\"||typeof g!=\"function\")throw TypeError(\"Not a function\");_.resolve=M,_.reject=g}),E.chain.push(_),E.state!==0&&o(l,E),_.promise},this.catch=function(A){return this.then(void 0,A)};try{p.call(void 0,function(A){c.call(E,A)},function(A){f.call(E,A)})}catch(k){f.call(E,k)}}var b=t({},\"constructor\",x,!1);return x.prototype=b,t(b,\"__NPO__\",0,!1),t(x,\"resolve\",function(E){var k=this;return E&&typeof E==\"object\"&&E.__NPO__===1?E:new k(function(L,_){if(typeof L!=\"function\"||typeof _!=\"function\")throw TypeError(\"Not a function\");L(E)})}),t(x,\"reject\",function(E){return new this(function(A,L){if(typeof A!=\"function\"||typeof L!=\"function\")throw TypeError(\"Not a function\");L(E)})}),t(x,\"all\",function(E){var k=this;return i.call(E)!=\"[object Array]\"?k.reject(TypeError(\"Not an array\")):E.length===0?k.resolve([]):new k(function(L,_){if(typeof L!=\"function\"||typeof _!=\"function\")throw TypeError(\"Not a function\");var C=E.length,M=Array(C),g=0;h(k,E,function(T,F){M[T]=F,++g===C&&L(M)},_)})}),t(x,\"race\",function(E){var k=this;return i.call(E)!=\"[object Array]\"?k.reject(TypeError(\"Not an array\")):new k(function(L,_){if(typeof L!=\"function\"||typeof _!=\"function\")throw TypeError(\"Not a function\");h(k,E,function(M,g){L(g)},_)})}),x})});var xa=ye((qQt,r6)=>{(function(){var e={version:\"3.8.2\"},t=[].slice,r=function(Z){return t.call(Z)},n=self.document;function i(Z){return Z&&(Z.ownerDocument||Z.document||Z).documentElement}function a(Z){return Z&&(Z.ownerDocument&&Z.ownerDocument.defaultView||Z.document&&Z||Z.defaultView)}if(n)try{r(n.documentElement.childNodes)[0].nodeType}catch(Z){r=function(oe){for(var we=oe.length,Be=new Array(we);we--;)Be[we]=oe[we];return Be}}if(Date.now||(Date.now=function(){return+new Date}),n)try{n.createElement(\"DIV\").style.setProperty(\"opacity\",0,\"\")}catch(Z){var o=this.Element.prototype,s=o.setAttribute,l=o.setAttributeNS,u=this.CSSStyleDeclaration.prototype,c=u.setProperty;o.setAttribute=function(oe,we){s.call(this,oe,we+\"\")},o.setAttributeNS=function(oe,we,Be){l.call(this,oe,we,Be+\"\")},u.setProperty=function(oe,we,Be){c.call(this,oe,we+\"\",Be)}}e.ascending=f;function f(Z,oe){return Z<oe?-1:Z>oe?1:Z>=oe?0:NaN}e.descending=function(Z,oe){return oe<Z?-1:oe>Z?1:oe>=Z?0:NaN},e.min=function(Z,oe){var we=-1,Be=Z.length,Ue,We;if(arguments.length===1){for(;++we<Be;)if((We=Z[we])!=null&&We>=We){Ue=We;break}for(;++we<Be;)(We=Z[we])!=null&&Ue>We&&(Ue=We)}else{for(;++we<Be;)if((We=oe.call(Z,Z[we],we))!=null&&We>=We){Ue=We;break}for(;++we<Be;)(We=oe.call(Z,Z[we],we))!=null&&Ue>We&&(Ue=We)}return Ue},e.max=function(Z,oe){var we=-1,Be=Z.length,Ue,We;if(arguments.length===1){for(;++we<Be;)if((We=Z[we])!=null&&We>=We){Ue=We;break}for(;++we<Be;)(We=Z[we])!=null&&We>Ue&&(Ue=We)}else{for(;++we<Be;)if((We=oe.call(Z,Z[we],we))!=null&&We>=We){Ue=We;break}for(;++we<Be;)(We=oe.call(Z,Z[we],we))!=null&&We>Ue&&(Ue=We)}return Ue},e.extent=function(Z,oe){var we=-1,Be=Z.length,Ue,We,wt;if(arguments.length===1){for(;++we<Be;)if((We=Z[we])!=null&&We>=We){Ue=wt=We;break}for(;++we<Be;)(We=Z[we])!=null&&(Ue>We&&(Ue=We),wt<We&&(wt=We))}else{for(;++we<Be;)if((We=oe.call(Z,Z[we],we))!=null&&We>=We){Ue=wt=We;break}for(;++we<Be;)(We=oe.call(Z,Z[we],we))!=null&&(Ue>We&&(Ue=We),wt<We&&(wt=We))}return[Ue,wt]};function h(Z){return Z===null?NaN:+Z}function d(Z){return!isNaN(Z)}e.sum=function(Z,oe){var we=0,Be=Z.length,Ue,We=-1;if(arguments.length===1)for(;++We<Be;)d(Ue=+Z[We])&&(we+=Ue);else for(;++We<Be;)d(Ue=+oe.call(Z,Z[We],We))&&(we+=Ue);return we},e.mean=function(Z,oe){var we=0,Be=Z.length,Ue,We=-1,wt=Be;if(arguments.length===1)for(;++We<Be;)d(Ue=h(Z[We]))?we+=Ue:--wt;else for(;++We<Be;)d(Ue=h(oe.call(Z,Z[We],We)))?we+=Ue:--wt;if(wt)return we/wt},e.quantile=function(Z,oe){var we=(Z.length-1)*oe+1,Be=Math.floor(we),Ue=+Z[Be-1],We=we-Be;return We?Ue+We*(Z[Be]-Ue):Ue},e.median=function(Z,oe){var we=[],Be=Z.length,Ue,We=-1;if(arguments.length===1)for(;++We<Be;)d(Ue=h(Z[We]))&&we.push(Ue);else for(;++We<Be;)d(Ue=h(oe.call(Z,Z[We],We)))&&we.push(Ue);if(we.length)return e.quantile(we.sort(f),.5)},e.variance=function(Z,oe){var we=Z.length,Be=0,Ue,We,wt=0,tt=-1,zt=0;if(arguments.length===1)for(;++tt<we;)d(Ue=h(Z[tt]))&&(We=Ue-Be,Be+=We/++zt,wt+=We*(Ue-Be));else for(;++tt<we;)d(Ue=h(oe.call(Z,Z[tt],tt)))&&(We=Ue-Be,Be+=We/++zt,wt+=We*(Ue-Be));if(zt>1)return wt/(zt-1)},e.deviation=function(){var Z=e.variance.apply(this,arguments);return Z&&Math.sqrt(Z)};function v(Z){return{left:function(oe,we,Be,Ue){for(arguments.length<3&&(Be=0),arguments.length<4&&(Ue=oe.length);Be<Ue;){var We=Be+Ue>>>1;Z(oe[We],we)<0?Be=We+1:Ue=We}return Be},right:function(oe,we,Be,Ue){for(arguments.length<3&&(Be=0),arguments.length<4&&(Ue=oe.length);Be<Ue;){var We=Be+Ue>>>1;Z(oe[We],we)>0?Ue=We:Be=We+1}return Be}}}var x=v(f);e.bisectLeft=x.left,e.bisect=e.bisectRight=x.right,e.bisector=function(Z){return v(Z.length===1?function(oe,we){return f(Z(oe),we)}:Z)},e.shuffle=function(Z,oe,we){(Be=arguments.length)<3&&(we=Z.length,Be<2&&(oe=0));for(var Be=we-oe,Ue,We;Be;)We=Math.random()*Be--|0,Ue=Z[Be+oe],Z[Be+oe]=Z[We+oe],Z[We+oe]=Ue;return Z},e.permute=function(Z,oe){for(var we=oe.length,Be=new Array(we);we--;)Be[we]=Z[oe[we]];return Be},e.pairs=function(Z){for(var oe=0,we=Z.length-1,Be,Ue=Z[0],We=new Array(we<0?0:we);oe<we;)We[oe]=[Be=Ue,Ue=Z[++oe]];return We},e.transpose=function(Z){if(!(We=Z.length))return[];for(var oe=-1,we=e.min(Z,b),Be=new Array(we);++oe<we;)for(var Ue=-1,We,wt=Be[oe]=new Array(We);++Ue<We;)wt[Ue]=Z[Ue][oe];return Be};function b(Z){return Z.length}e.zip=function(){return e.transpose(arguments)},e.keys=function(Z){var oe=[];for(var we in Z)oe.push(we);return oe},e.values=function(Z){var oe=[];for(var we in Z)oe.push(Z[we]);return oe},e.entries=function(Z){var oe=[];for(var we in Z)oe.push({key:we,value:Z[we]});return oe},e.merge=function(Z){for(var oe=Z.length,we,Be=-1,Ue=0,We,wt;++Be<oe;)Ue+=Z[Be].length;for(We=new Array(Ue);--oe>=0;)for(wt=Z[oe],we=wt.length;--we>=0;)We[--Ue]=wt[we];return We};var p=Math.abs;e.range=function(Z,oe,we){if(arguments.length<3&&(we=1,arguments.length<2&&(oe=Z,Z=0)),(oe-Z)/we===1/0)throw new Error(\"infinite range\");var Be=[],Ue=E(p(we)),We=-1,wt;if(Z*=Ue,oe*=Ue,we*=Ue,we<0)for(;(wt=Z+we*++We)>oe;)Be.push(wt/Ue);else for(;(wt=Z+we*++We)<oe;)Be.push(wt/Ue);return Be};function E(Z){for(var oe=1;Z*oe%1;)oe*=10;return oe}function k(Z,oe){for(var we in oe)Object.defineProperty(Z.prototype,we,{value:oe[we],enumerable:!1})}e.map=function(Z,oe){var we=new A;if(Z instanceof A)Z.forEach(function(tt,zt){we.set(tt,zt)});else if(Array.isArray(Z)){var Be=-1,Ue=Z.length,We;if(arguments.length===1)for(;++Be<Ue;)we.set(Be,Z[Be]);else for(;++Be<Ue;)we.set(oe.call(Z,We=Z[Be],Be),We)}else for(var wt in Z)we.set(wt,Z[wt]);return we};function A(){this._=Object.create(null)}var L=\"__proto__\",_=\"\\0\";k(A,{has:g,get:function(Z){return this._[C(Z)]},set:function(Z,oe){return this._[C(Z)]=oe},remove:P,keys:T,values:function(){var Z=[];for(var oe in this._)Z.push(this._[oe]);return Z},entries:function(){var Z=[];for(var oe in this._)Z.push({key:M(oe),value:this._[oe]});return Z},size:F,empty:q,forEach:function(Z){for(var oe in this._)Z.call(this,M(oe),this._[oe])}});function C(Z){return(Z+=\"\")===L||Z[0]===_?_+Z:Z}function M(Z){return(Z+=\"\")[0]===_?Z.slice(1):Z}function g(Z){return C(Z)in this._}function P(Z){return(Z=C(Z))in this._&&delete this._[Z]}function T(){var Z=[];for(var oe in this._)Z.push(M(oe));return Z}function F(){var Z=0;for(var oe in this._)++Z;return Z}function q(){for(var Z in this._)return!1;return!0}e.nest=function(){var Z={},oe=[],we=[],Be,Ue;function We(tt,zt,or){if(or>=oe.length)return Ue?Ue.call(Z,zt):Be?zt.sort(Be):zt;for(var lr=-1,Dr=zt.length,Ir=oe[or++],oi,ui,qr,Kr=new A,ii;++lr<Dr;)(ii=Kr.get(oi=Ir(ui=zt[lr])))?ii.push(ui):Kr.set(oi,[ui]);return tt?(ui=tt(),qr=function(vi,ci){ui.set(vi,We(tt,ci,or))}):(ui={},qr=function(vi,ci){ui[vi]=We(tt,ci,or)}),Kr.forEach(qr),ui}function wt(tt,zt){if(zt>=oe.length)return tt;var or=[],lr=we[zt++];return tt.forEach(function(Dr,Ir){or.push({key:Dr,values:wt(Ir,zt)})}),lr?or.sort(function(Dr,Ir){return lr(Dr.key,Ir.key)}):or}return Z.map=function(tt,zt){return We(zt,tt,0)},Z.entries=function(tt){return wt(We(e.map,tt,0),0)},Z.key=function(tt){return oe.push(tt),Z},Z.sortKeys=function(tt){return we[oe.length-1]=tt,Z},Z.sortValues=function(tt){return Be=tt,Z},Z.rollup=function(tt){return Ue=tt,Z},Z},e.set=function(Z){var oe=new V;if(Z)for(var we=0,Be=Z.length;we<Be;++we)oe.add(Z[we]);return oe};function V(){this._=Object.create(null)}k(V,{has:g,add:function(Z){return this._[C(Z+=\"\")]=!0,Z},remove:P,values:T,size:F,empty:q,forEach:function(Z){for(var oe in this._)Z.call(this,M(oe))}}),e.behavior={};function H(Z){return Z}e.rebind=function(Z,oe){for(var we=1,Be=arguments.length,Ue;++we<Be;)Z[Ue=arguments[we]]=X(Z,oe,oe[Ue]);return Z};function X(Z,oe,we){return function(){var Be=we.apply(oe,arguments);return Be===oe?Z:Be}}function G(Z,oe){if(oe in Z)return oe;oe=oe.charAt(0).toUpperCase()+oe.slice(1);for(var we=0,Be=N.length;we<Be;++we){var Ue=N[we]+oe;if(Ue in Z)return Ue}}var N=[\"webkit\",\"ms\",\"moz\",\"Moz\",\"o\",\"O\"];function W(){}e.dispatch=function(){for(var Z=new re,oe=-1,we=arguments.length;++oe<we;)Z[arguments[oe]]=ae(Z);return Z};function re(){}re.prototype.on=function(Z,oe){var we=Z.indexOf(\".\"),Be=\"\";if(we>=0&&(Be=Z.slice(we+1),Z=Z.slice(0,we)),Z)return arguments.length<2?this[Z].on(Be):this[Z].on(Be,oe);if(arguments.length===2){if(oe==null)for(Z in this)this.hasOwnProperty(Z)&&this[Z].on(Be,null);return this}};function ae(Z){var oe=[],we=new A;function Be(){for(var Ue=oe,We=-1,wt=Ue.length,tt;++We<wt;)(tt=Ue[We].on)&&tt.apply(this,arguments);return Z}return Be.on=function(Ue,We){var wt=we.get(Ue),tt;return arguments.length<2?wt&&wt.on:(wt&&(wt.on=null,oe=oe.slice(0,tt=oe.indexOf(wt)).concat(oe.slice(tt+1)),we.remove(Ue)),We&&oe.push(we.set(Ue,{on:We})),Z)},Be}e.event=null;function _e(){e.event.preventDefault()}function Me(){for(var Z=e.event,oe;oe=Z.sourceEvent;)Z=oe;return Z}function ke(Z){for(var oe=new re,we=0,Be=arguments.length;++we<Be;)oe[arguments[we]]=ae(oe);return oe.of=function(Ue,We){return function(wt){try{var tt=wt.sourceEvent=e.event;wt.target=Z,e.event=wt,oe[wt.type].apply(Ue,We)}finally{e.event=tt}}},oe}e.requote=function(Z){return Z.replace(ge,\"\\\\$&\")};var ge=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g,ie={}.__proto__?function(Z,oe){Z.__proto__=oe}:function(Z,oe){for(var we in oe)Z[we]=oe[we]};function Te(Z){return ie(Z,Ce),Z}var Ee=function(Z,oe){return oe.querySelector(Z)},Ae=function(Z,oe){return oe.querySelectorAll(Z)},ze=function(Z,oe){var we=Z.matches||Z[G(Z,\"matchesSelector\")];return ze=function(Be,Ue){return we.call(Be,Ue)},ze(Z,oe)};typeof Sizzle==\"function\"&&(Ee=function(Z,oe){return Sizzle(Z,oe)[0]||null},Ae=Sizzle,ze=Sizzle.matchesSelector),e.selection=function(){return e.select(n.documentElement)};var Ce=e.selection.prototype=[];Ce.select=function(Z){var oe=[],we,Be,Ue,We;Z=me(Z);for(var wt=-1,tt=this.length;++wt<tt;){oe.push(we=[]),we.parentNode=(Ue=this[wt]).parentNode;for(var zt=-1,or=Ue.length;++zt<or;)(We=Ue[zt])?(we.push(Be=Z.call(We,We.__data__,zt,wt)),Be&&\"__data__\"in We&&(Be.__data__=We.__data__)):we.push(null)}return Te(oe)};function me(Z){return typeof Z==\"function\"?Z:function(){return Ee(Z,this)}}Ce.selectAll=function(Z){var oe=[],we,Be;Z=Re(Z);for(var Ue=-1,We=this.length;++Ue<We;)for(var wt=this[Ue],tt=-1,zt=wt.length;++tt<zt;)(Be=wt[tt])&&(oe.push(we=r(Z.call(Be,Be.__data__,tt,Ue))),we.parentNode=Be);return Te(oe)};function Re(Z){return typeof Z==\"function\"?Z:function(){return Ae(Z,this)}}var ce=\"http://www.w3.org/1999/xhtml\",Ge={svg:\"http://www.w3.org/2000/svg\",xhtml:ce,xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"};e.ns={prefix:Ge,qualify:function(Z){var oe=Z.indexOf(\":\"),we=Z;return oe>=0&&(we=Z.slice(0,oe))!==\"xmlns\"&&(Z=Z.slice(oe+1)),Ge.hasOwnProperty(we)?{space:Ge[we],local:Z}:Z}},Ce.attr=function(Z,oe){if(arguments.length<2){if(typeof Z==\"string\"){var we=this.node();return Z=e.ns.qualify(Z),Z.local?we.getAttributeNS(Z.space,Z.local):we.getAttribute(Z)}for(oe in Z)this.each(nt(oe,Z[oe]));return this}return this.each(nt(Z,oe))};function nt(Z,oe){Z=e.ns.qualify(Z);function we(){this.removeAttribute(Z)}function Be(){this.removeAttributeNS(Z.space,Z.local)}function Ue(){this.setAttribute(Z,oe)}function We(){this.setAttributeNS(Z.space,Z.local,oe)}function wt(){var zt=oe.apply(this,arguments);zt==null?this.removeAttribute(Z):this.setAttribute(Z,zt)}function tt(){var zt=oe.apply(this,arguments);zt==null?this.removeAttributeNS(Z.space,Z.local):this.setAttributeNS(Z.space,Z.local,zt)}return oe==null?Z.local?Be:we:typeof oe==\"function\"?Z.local?tt:wt:Z.local?We:Ue}function ct(Z){return Z.trim().replace(/\\s+/g,\" \")}Ce.classed=function(Z,oe){if(arguments.length<2){if(typeof Z==\"string\"){var we=this.node(),Be=(Z=rt(Z)).length,Ue=-1;if(oe=we.classList){for(;++Ue<Be;)if(!oe.contains(Z[Ue]))return!1}else for(oe=we.getAttribute(\"class\");++Ue<Be;)if(!qt(Z[Ue]).test(oe))return!1;return!0}for(oe in Z)this.each(ot(oe,Z[oe]));return this}return this.each(ot(Z,oe))};function qt(Z){return new RegExp(\"(?:^|\\\\s+)\"+e.requote(Z)+\"(?:\\\\s+|$)\",\"g\")}function rt(Z){return(Z+\"\").trim().split(/^|\\s+/)}function ot(Z,oe){Z=rt(Z).map(Rt);var we=Z.length;function Be(){for(var We=-1;++We<we;)Z[We](this,oe)}function Ue(){for(var We=-1,wt=oe.apply(this,arguments);++We<we;)Z[We](this,wt)}return typeof oe==\"function\"?Ue:Be}function Rt(Z){var oe=qt(Z);return function(we,Be){if(Ue=we.classList)return Be?Ue.add(Z):Ue.remove(Z);var Ue=we.getAttribute(\"class\")||\"\";Be?(oe.lastIndex=0,oe.test(Ue)||we.setAttribute(\"class\",ct(Ue+\" \"+Z))):we.setAttribute(\"class\",ct(Ue.replace(oe,\" \")))}}Ce.style=function(Z,oe,we){var Be=arguments.length;if(Be<3){if(typeof Z!=\"string\"){Be<2&&(oe=\"\");for(we in Z)this.each(kt(we,Z[we],oe));return this}if(Be<2){var Ue=this.node();return a(Ue).getComputedStyle(Ue,null).getPropertyValue(Z)}we=\"\"}return this.each(kt(Z,oe,we))};function kt(Z,oe,we){function Be(){this.style.removeProperty(Z)}function Ue(){this.style.setProperty(Z,oe,we)}function We(){var wt=oe.apply(this,arguments);wt==null?this.style.removeProperty(Z):this.style.setProperty(Z,wt,we)}return oe==null?Be:typeof oe==\"function\"?We:Ue}Ce.property=function(Z,oe){if(arguments.length<2){if(typeof Z==\"string\")return this.node()[Z];for(oe in Z)this.each(Ct(oe,Z[oe]));return this}return this.each(Ct(Z,oe))};function Ct(Z,oe){function we(){delete this[Z]}function Be(){this[Z]=oe}function Ue(){var We=oe.apply(this,arguments);We==null?delete this[Z]:this[Z]=We}return oe==null?we:typeof oe==\"function\"?Ue:Be}Ce.text=function(Z){return arguments.length?this.each(typeof Z==\"function\"?function(){var oe=Z.apply(this,arguments);this.textContent=oe==null?\"\":oe}:Z==null?function(){this.textContent=\"\"}:function(){this.textContent=Z}):this.node().textContent},Ce.html=function(Z){return arguments.length?this.each(typeof Z==\"function\"?function(){var oe=Z.apply(this,arguments);this.innerHTML=oe==null?\"\":oe}:Z==null?function(){this.innerHTML=\"\"}:function(){this.innerHTML=Z}):this.node().innerHTML},Ce.append=function(Z){return Z=Yt(Z),this.select(function(){return this.appendChild(Z.apply(this,arguments))})};function Yt(Z){function oe(){var Be=this.ownerDocument,Ue=this.namespaceURI;return Ue===ce&&Be.documentElement.namespaceURI===ce?Be.createElement(Z):Be.createElementNS(Ue,Z)}function we(){return this.ownerDocument.createElementNS(Z.space,Z.local)}return typeof Z==\"function\"?Z:(Z=e.ns.qualify(Z)).local?we:oe}Ce.insert=function(Z,oe){return Z=Yt(Z),oe=me(oe),this.select(function(){return this.insertBefore(Z.apply(this,arguments),oe.apply(this,arguments)||null)})},Ce.remove=function(){return this.each(xr)};function xr(){var Z=this.parentNode;Z&&Z.removeChild(this)}Ce.data=function(Z,oe){var we=-1,Be=this.length,Ue,We;if(!arguments.length){for(Z=new Array(Be=(Ue=this[0]).length);++we<Be;)(We=Ue[we])&&(Z[we]=We.__data__);return Z}function wt(lr,Dr){var Ir,oi=lr.length,ui=Dr.length,qr=Math.min(oi,ui),Kr=new Array(ui),ii=new Array(ui),vi=new Array(oi),ci,Jr;if(oe){var un=new A,dn=new Array(oi),En;for(Ir=-1;++Ir<oi;)(ci=lr[Ir])&&(un.has(En=oe.call(ci,ci.__data__,Ir))?vi[Ir]=ci:un.set(En,ci),dn[Ir]=En);for(Ir=-1;++Ir<ui;)(ci=un.get(En=oe.call(Dr,Jr=Dr[Ir],Ir)))?ci!==!0&&(Kr[Ir]=ci,ci.__data__=Jr):ii[Ir]=er(Jr),un.set(En,!0);for(Ir=-1;++Ir<oi;)Ir in dn&&un.get(dn[Ir])!==!0&&(vi[Ir]=lr[Ir])}else{for(Ir=-1;++Ir<qr;)ci=lr[Ir],Jr=Dr[Ir],ci?(ci.__data__=Jr,Kr[Ir]=ci):ii[Ir]=er(Jr);for(;Ir<ui;++Ir)ii[Ir]=er(Dr[Ir]);for(;Ir<oi;++Ir)vi[Ir]=lr[Ir]}ii.update=Kr,ii.parentNode=Kr.parentNode=vi.parentNode=lr.parentNode,tt.push(ii),zt.push(Kr),or.push(vi)}var tt=Lt([]),zt=Te([]),or=Te([]);if(typeof Z==\"function\")for(;++we<Be;)wt(Ue=this[we],Z.call(Ue,Ue.parentNode.__data__,we));else for(;++we<Be;)wt(Ue=this[we],Z);return zt.enter=function(){return tt},zt.exit=function(){return or},zt};function er(Z){return{__data__:Z}}Ce.datum=function(Z){return arguments.length?this.property(\"__data__\",Z):this.property(\"__data__\")},Ce.filter=function(Z){var oe=[],we,Be,Ue;typeof Z!=\"function\"&&(Z=Ke(Z));for(var We=0,wt=this.length;We<wt;We++){oe.push(we=[]),we.parentNode=(Be=this[We]).parentNode;for(var tt=0,zt=Be.length;tt<zt;tt++)(Ue=Be[tt])&&Z.call(Ue,Ue.__data__,tt,We)&&we.push(Ue)}return Te(oe)};function Ke(Z){return function(){return ze(this,Z)}}Ce.order=function(){for(var Z=-1,oe=this.length;++Z<oe;)for(var we=this[Z],Be=we.length-1,Ue=we[Be],We;--Be>=0;)(We=we[Be])&&(Ue&&Ue!==We.nextSibling&&Ue.parentNode.insertBefore(We,Ue),Ue=We);return this},Ce.sort=function(Z){Z=xt.apply(this,arguments);for(var oe=-1,we=this.length;++oe<we;)this[oe].sort(Z);return this.order()};function xt(Z){return arguments.length||(Z=f),function(oe,we){return oe&&we?Z(oe.__data__,we.__data__):!oe-!we}}Ce.each=function(Z){return bt(this,function(oe,we,Be){Z.call(oe,oe.__data__,we,Be)})};function bt(Z,oe){for(var we=0,Be=Z.length;we<Be;we++)for(var Ue=Z[we],We=0,wt=Ue.length,tt;We<wt;We++)(tt=Ue[We])&&oe(tt,We,we);return Z}Ce.call=function(Z){var oe=r(arguments);return Z.apply(oe[0]=this,oe),this},Ce.empty=function(){return!this.node()},Ce.node=function(){for(var Z=0,oe=this.length;Z<oe;Z++)for(var we=this[Z],Be=0,Ue=we.length;Be<Ue;Be++){var We=we[Be];if(We)return We}return null},Ce.size=function(){var Z=0;return bt(this,function(){++Z}),Z};function Lt(Z){return ie(Z,St),Z}var St=[];e.selection.enter=Lt,e.selection.enter.prototype=St,St.append=Ce.append,St.empty=Ce.empty,St.node=Ce.node,St.call=Ce.call,St.size=Ce.size,St.select=function(Z){for(var oe=[],we,Be,Ue,We,wt,tt=-1,zt=this.length;++tt<zt;){Ue=(We=this[tt]).update,oe.push(we=[]),we.parentNode=We.parentNode;for(var or=-1,lr=We.length;++or<lr;)(wt=We[or])?(we.push(Ue[or]=Be=Z.call(We.parentNode,wt.__data__,or,tt)),Be.__data__=wt.__data__):we.push(null)}return Te(oe)},St.insert=function(Z,oe){return arguments.length<2&&(oe=Et(this)),Ce.insert.call(this,Z,oe)};function Et(Z){var oe,we;return function(Be,Ue,We){var wt=Z[We].update,tt=wt.length,zt;for(We!=we&&(we=We,oe=0),Ue>=oe&&(oe=Ue+1);!(zt=wt[oe])&&++oe<tt;);return zt}}e.select=function(Z){var oe;return typeof Z==\"string\"?(oe=[Ee(Z,n)],oe.parentNode=n.documentElement):(oe=[Z],oe.parentNode=i(Z)),Te([oe])},e.selectAll=function(Z){var oe;return typeof Z==\"string\"?(oe=r(Ae(Z,n)),oe.parentNode=n.documentElement):(oe=r(Z),oe.parentNode=null),Te([oe])},Ce.on=function(Z,oe,we){var Be=arguments.length;if(Be<3){if(typeof Z!=\"string\"){Be<2&&(oe=!1);for(we in Z)this.each(dt(we,Z[we],oe));return this}if(Be<2)return(Be=this.node()[\"__on\"+Z])&&Be._;we=!1}return this.each(dt(Z,oe,we))};function dt(Z,oe,we){var Be=\"__on\"+Z,Ue=Z.indexOf(\".\"),We=$t;Ue>0&&(Z=Z.slice(0,Ue));var wt=Ht.get(Z);wt&&(Z=wt,We=fr);function tt(){var lr=this[Be];lr&&(this.removeEventListener(Z,lr,lr.$),delete this[Be])}function zt(){var lr=We(oe,r(arguments));tt.call(this),this.addEventListener(Z,this[Be]=lr,lr.$=we),lr._=oe}function or(){var lr=new RegExp(\"^__on([^.]+)\"+e.requote(Z)+\"$\"),Dr;for(var Ir in this)if(Dr=Ir.match(lr)){var oi=this[Ir];this.removeEventListener(Dr[1],oi,oi.$),delete this[Ir]}}return Ue?oe?zt:tt:oe?W:or}var Ht=e.map({mouseenter:\"mouseover\",mouseleave:\"mouseout\"});n&&Ht.forEach(function(Z){\"on\"+Z in n&&Ht.remove(Z)});function $t(Z,oe){return function(we){var Be=e.event;e.event=we,oe[0]=this.__data__;try{Z.apply(this,oe)}finally{e.event=Be}}}function fr(Z,oe){var we=$t(Z,oe);return function(Be){var Ue=this,We=Be.relatedTarget;(!We||We!==Ue&&!(We.compareDocumentPosition(Ue)&8))&&we.call(Ue,Be)}}var _r,Br=0;function Or(Z){var oe=\".dragsuppress-\"+ ++Br,we=\"click\"+oe,Be=e.select(a(Z)).on(\"touchmove\"+oe,_e).on(\"dragstart\"+oe,_e).on(\"selectstart\"+oe,_e);if(_r==null&&(_r=\"onselectstart\"in Z?!1:G(Z.style,\"userSelect\")),_r){var Ue=i(Z).style,We=Ue[_r];Ue[_r]=\"none\"}return function(wt){if(Be.on(oe,null),_r&&(Ue[_r]=We),wt){var tt=function(){Be.on(we,null)};Be.on(we,function(){_e(),tt()},!0),setTimeout(tt,0)}}}e.mouse=function(Z){return ut(Z,Me())};var Nr=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function ut(Z,oe){oe.changedTouches&&(oe=oe.changedTouches[0]);var we=Z.ownerSVGElement||Z;if(we.createSVGPoint){var Be=we.createSVGPoint();if(Nr<0){var Ue=a(Z);if(Ue.scrollX||Ue.scrollY){we=e.select(\"body\").append(\"svg\").style({position:\"absolute\",top:0,left:0,margin:0,padding:0,border:\"none\"},\"important\");var We=we[0][0].getScreenCTM();Nr=!(We.f||We.e),we.remove()}}return Nr?(Be.x=oe.pageX,Be.y=oe.pageY):(Be.x=oe.clientX,Be.y=oe.clientY),Be=Be.matrixTransform(Z.getScreenCTM().inverse()),[Be.x,Be.y]}var wt=Z.getBoundingClientRect();return[oe.clientX-wt.left-Z.clientLeft,oe.clientY-wt.top-Z.clientTop]}e.touch=function(Z,oe,we){if(arguments.length<3&&(we=oe,oe=Me().changedTouches),oe){for(var Be=0,Ue=oe.length,We;Be<Ue;++Be)if((We=oe[Be]).identifier===we)return ut(Z,We)}},e.behavior.drag=function(){var Z=ke(Ue,\"drag\",\"dragstart\",\"dragend\"),oe=null,we=We(W,e.mouse,a,\"mousemove\",\"mouseup\"),Be=We(Ne,e.touch,H,\"touchmove\",\"touchend\");function Ue(){this.on(\"mousedown.drag\",we).on(\"touchstart.drag\",Be)}function We(wt,tt,zt,or,lr){return function(){var Dr=this,Ir=e.event.target.correspondingElement||e.event.target,oi=Dr.parentNode,ui=Z.of(Dr,arguments),qr=0,Kr=wt(),ii=\".drag\"+(Kr==null?\"\":\"-\"+Kr),vi,ci=e.select(zt(Ir)).on(or+ii,dn).on(lr+ii,En),Jr=Or(Ir),un=tt(oi,Kr);oe?(vi=oe.apply(Dr,arguments),vi=[vi.x-un[0],vi.y-un[1]]):vi=[0,0],ui({type:\"dragstart\"});function dn(){var Nn=tt(oi,Kr),ga,ya;Nn&&(ga=Nn[0]-un[0],ya=Nn[1]-un[1],qr|=ga|ya,un=Nn,ui({type:\"drag\",x:Nn[0]+vi[0],y:Nn[1]+vi[1],dx:ga,dy:ya}))}function En(){tt(oi,Kr)&&(ci.on(or+ii,null).on(lr+ii,null),Jr(qr),ui({type:\"dragend\"}))}}}return Ue.origin=function(wt){return arguments.length?(oe=wt,Ue):oe},e.rebind(Ue,Z,\"on\")};function Ne(){return e.event.changedTouches[0].identifier}e.touches=function(Z,oe){return arguments.length<2&&(oe=Me().touches),oe?r(oe).map(function(we){var Be=ut(Z,we);return Be.identifier=we.identifier,Be}):[]};var Ye=1e-6,Ve=Ye*Ye,Xe=Math.PI,ht=2*Xe,Le=ht-Ye,xe=Xe/2,Se=Xe/180,lt=180/Xe;function Gt(Z){return Z>0?1:Z<0?-1:0}function Vt(Z,oe,we){return(oe[0]-Z[0])*(we[1]-Z[1])-(oe[1]-Z[1])*(we[0]-Z[0])}function ar(Z){return Z>1?0:Z<-1?Xe:Math.acos(Z)}function Qr(Z){return Z>1?xe:Z<-1?-xe:Math.asin(Z)}function ai(Z){return((Z=Math.exp(Z))-1/Z)/2}function jr(Z){return((Z=Math.exp(Z))+1/Z)/2}function ri(Z){return((Z=Math.exp(2*Z))-1)/(Z+1)}function bi(Z){return(Z=Math.sin(Z/2))*Z}var nn=Math.SQRT2,Wi=2,Ni=4;e.interpolateZoom=function(Z,oe){var we=Z[0],Be=Z[1],Ue=Z[2],We=oe[0],wt=oe[1],tt=oe[2],zt=We-we,or=wt-Be,lr=zt*zt+or*or,Dr,Ir;if(lr<Ve)Ir=Math.log(tt/Ue)/nn,Dr=function(vi){return[we+vi*zt,Be+vi*or,Ue*Math.exp(nn*vi*Ir)]};else{var oi=Math.sqrt(lr),ui=(tt*tt-Ue*Ue+Ni*lr)/(2*Ue*Wi*oi),qr=(tt*tt-Ue*Ue-Ni*lr)/(2*tt*Wi*oi),Kr=Math.log(Math.sqrt(ui*ui+1)-ui),ii=Math.log(Math.sqrt(qr*qr+1)-qr);Ir=(ii-Kr)/nn,Dr=function(vi){var ci=vi*Ir,Jr=jr(Kr),un=Ue/(Wi*oi)*(Jr*ri(nn*ci+Kr)-ai(Kr));return[we+un*zt,Be+un*or,Ue*Jr/jr(nn*ci+Kr)]}}return Dr.duration=Ir*1e3,Dr},e.behavior.zoom=function(){var Z={x:0,y:0,k:1},oe,we,Be,Ue=[960,500],We=_n,wt=250,tt=0,zt=\"mousedown.zoom\",or=\"mousemove.zoom\",lr=\"mouseup.zoom\",Dr,Ir=\"touchstart.zoom\",oi,ui=ke(ci,\"zoomstart\",\"zoom\",\"zoomend\"),qr,Kr,ii,vi;zn||(zn=\"onwheel\"in n?($i=function(){return-e.event.deltaY*(e.event.deltaMode?120:1)},\"wheel\"):\"onmousewheel\"in n?($i=function(){return e.event.wheelDelta},\"mousewheel\"):($i=function(){return-e.event.detail},\"MozMousePixelScroll\"));function ci(pn){pn.on(zt,io).on(zn+\".zoom\",_s).on(\"dblclick.zoom\",Ns).on(Ir,Ss)}ci.event=function(pn){pn.each(function(){var za=ui.of(this,arguments),Lo=Z;Ro?e.select(this).transition().each(\"start.zoom\",function(){Z=this.__chart__||{x:0,y:0,k:1},ya(za)}).tween(\"zoom:zoom\",function(){var Fo=Ue[0],js=Ue[1],xl=we?we[0]:Fo/2,fu=we?we[1]:js/2,dl=e.interpolateZoom([(xl-Z.x)/Z.k,(fu-Z.y)/Z.k,Fo/Z.k],[(xl-Lo.x)/Lo.k,(fu-Lo.y)/Lo.k,Fo/Lo.k]);return function(xc){var At=dl(xc),Er=Fo/At[2];this.__chart__=Z={x:xl-At[0]*Er,y:fu-At[1]*Er,k:Er},so(za)}}).each(\"interrupt.zoom\",function(){wa(za)}).each(\"end.zoom\",function(){wa(za)}):(this.__chart__=Z,ya(za),so(za),wa(za))})},ci.translate=function(pn){return arguments.length?(Z={x:+pn[0],y:+pn[1],k:Z.k},ga(),ci):[Z.x,Z.y]},ci.scale=function(pn){return arguments.length?(Z={x:Z.x,y:Z.y,k:null},dn(+pn),ga(),ci):Z.k},ci.scaleExtent=function(pn){return arguments.length?(We=pn==null?_n:[+pn[0],+pn[1]],ci):We},ci.center=function(pn){return arguments.length?(Be=pn&&[+pn[0],+pn[1]],ci):Be},ci.size=function(pn){return arguments.length?(Ue=pn&&[+pn[0],+pn[1]],ci):Ue},ci.duration=function(pn){return arguments.length?(wt=+pn,ci):wt},ci.x=function(pn){return arguments.length?(Kr=pn,qr=pn.copy(),Z={x:0,y:0,k:1},ci):Kr},ci.y=function(pn){return arguments.length?(vi=pn,ii=pn.copy(),Z={x:0,y:0,k:1},ci):vi};function Jr(pn){return[(pn[0]-Z.x)/Z.k,(pn[1]-Z.y)/Z.k]}function un(pn){return[pn[0]*Z.k+Z.x,pn[1]*Z.k+Z.y]}function dn(pn){Z.k=Math.max(We[0],Math.min(We[1],pn))}function En(pn,za){za=un(za),Z.x+=pn[0]-za[0],Z.y+=pn[1]-za[1]}function Nn(pn,za,Lo,Fo){pn.__chart__={x:Z.x,y:Z.y,k:Z.k},dn(Math.pow(2,Fo)),En(we=za,Lo),pn=e.select(pn),wt>0&&(pn=pn.transition().duration(wt)),pn.call(ci.event)}function ga(){Kr&&Kr.domain(qr.range().map(function(pn){return(pn-Z.x)/Z.k}).map(qr.invert)),vi&&vi.domain(ii.range().map(function(pn){return(pn-Z.y)/Z.k}).map(ii.invert))}function ya(pn){tt++||pn({type:\"zoomstart\"})}function so(pn){ga(),pn({type:\"zoom\",scale:Z.k,translate:[Z.x,Z.y]})}function wa(pn){--tt||(pn({type:\"zoomend\"}),we=null)}function io(){var pn=this,za=ui.of(pn,arguments),Lo=0,Fo=e.select(a(pn)).on(or,fu).on(lr,dl),js=Jr(e.mouse(pn)),xl=Or(pn);ea.call(pn),ya(za);function fu(){Lo=1,En(e.mouse(pn),js),so(za)}function dl(){Fo.on(or,null).on(lr,null),xl(Lo),wa(za)}}function Ss(){var pn=this,za=ui.of(pn,arguments),Lo={},Fo=0,js,xl=\".zoom-\"+e.event.changedTouches[0].identifier,fu=\"touchmove\"+xl,dl=\"touchend\"+xl,xc=[],At=e.select(pn),Er=Or(pn);wi(),ya(za),At.on(zt,null).on(Ir,wi);function Wr(){var Bi=e.touches(pn);return js=Z.k,Bi.forEach(function(cn){cn.identifier in Lo&&(Lo[cn.identifier]=Jr(cn))}),Bi}function wi(){var Bi=e.event.target;e.select(Bi).on(fu,Ui).on(dl,Oi),xc.push(Bi);for(var cn=e.event.changedTouches,On=0,Bn=cn.length;On<Bn;++On)Lo[cn[On].identifier]=null;var yn=Wr(),to=Date.now();if(yn.length===1){if(to-oi<500){var Rn=yn[0];Nn(pn,Rn,Lo[Rn.identifier],Math.floor(Math.log(Z.k)/Math.LN2)+1),_e()}oi=to}else if(yn.length>1){var Rn=yn[0],Dn=yn[1],fn=Rn[0]-Dn[0],Ai=Rn[1]-Dn[1];Fo=fn*fn+Ai*Ai}}function Ui(){var Bi=e.touches(pn),cn,On,Bn,yn;ea.call(pn);for(var to=0,Rn=Bi.length;to<Rn;++to,yn=null)if(Bn=Bi[to],yn=Lo[Bn.identifier]){if(On)break;cn=Bn,On=yn}if(yn){var Dn=(Dn=Bn[0]-cn[0])*Dn+(Dn=Bn[1]-cn[1])*Dn,fn=Fo&&Math.sqrt(Dn/Fo);cn=[(cn[0]+Bn[0])/2,(cn[1]+Bn[1])/2],On=[(On[0]+yn[0])/2,(On[1]+yn[1])/2],dn(fn*js)}oi=null,En(cn,On),so(za)}function Oi(){if(e.event.touches.length){for(var Bi=e.event.changedTouches,cn=0,On=Bi.length;cn<On;++cn)delete Lo[Bi[cn].identifier];for(var Bn in Lo)return void Wr()}e.selectAll(xc).on(xl,null),At.on(zt,io).on(Ir,Ss),Er(),wa(za)}}function _s(){var pn=ui.of(this,arguments);Dr?clearTimeout(Dr):(ea.call(this),oe=Jr(we=Be||e.mouse(this)),ya(pn)),Dr=setTimeout(function(){Dr=null,wa(pn)},50),_e(),dn(Math.pow(2,$i()*.002)*Z.k),En(we,oe),so(pn)}function Ns(){var pn=e.mouse(this),za=Math.log(Z.k)/Math.LN2;Nn(this,pn,Jr(pn),e.event.shiftKey?Math.ceil(za)-1:Math.floor(za)+1)}return e.rebind(ci,ui,\"on\")};var _n=[0,1/0],$i,zn;e.color=Wn;function Wn(){}Wn.prototype.toString=function(){return this.rgb()+\"\"},e.hsl=It;function It(Z,oe,we){return this instanceof It?(this.h=+Z,this.s=+oe,void(this.l=+we)):arguments.length<2?Z instanceof It?new It(Z.h,Z.s,Z.l):Ha(\"\"+Z,oo,It):new It(Z,oe,we)}var ft=It.prototype=new Wn;ft.brighter=function(Z){return Z=Math.pow(.7,arguments.length?Z:1),new It(this.h,this.s,this.l/Z)},ft.darker=function(Z){return Z=Math.pow(.7,arguments.length?Z:1),new It(this.h,this.s,Z*this.l)},ft.rgb=function(){return jt(this.h,this.s,this.l)};function jt(Z,oe,we){var Be,Ue;Z=isNaN(Z)?0:(Z%=360)<0?Z+360:Z,oe=isNaN(oe)||oe<0?0:oe>1?1:oe,we=we<0?0:we>1?1:we,Ue=we<=.5?we*(1+oe):we+oe-we*oe,Be=2*we-Ue;function We(tt){return tt>360?tt-=360:tt<0&&(tt+=360),tt<60?Be+(Ue-Be)*tt/60:tt<180?Ue:tt<240?Be+(Ue-Be)*(240-tt)/60:Be}function wt(tt){return Math.round(We(tt)*255)}return new Fa(wt(Z+120),wt(Z),wt(Z-120))}e.hcl=Zt;function Zt(Z,oe,we){return this instanceof Zt?(this.h=+Z,this.c=+oe,void(this.l=+we)):arguments.length<2?Z instanceof Zt?new Zt(Z.h,Z.c,Z.l):Z instanceof Zr?Ki(Z.l,Z.a,Z.b):Ki((Z=xn((Z=e.rgb(Z)).r,Z.g,Z.b)).l,Z.a,Z.b):new Zt(Z,oe,we)}var yr=Zt.prototype=new Wn;yr.brighter=function(Z){return new Zt(this.h,this.c,Math.min(100,this.l+Vr*(arguments.length?Z:1)))},yr.darker=function(Z){return new Zt(this.h,this.c,Math.max(0,this.l-Vr*(arguments.length?Z:1)))},yr.rgb=function(){return Fr(this.h,this.c,this.l).rgb()};function Fr(Z,oe,we){return isNaN(Z)&&(Z=0),isNaN(oe)&&(oe=0),new Zr(we,Math.cos(Z*=Se)*oe,Math.sin(Z)*oe)}e.lab=Zr;function Zr(Z,oe,we){return this instanceof Zr?(this.l=+Z,this.a=+oe,void(this.b=+we)):arguments.length<2?Z instanceof Zr?new Zr(Z.l,Z.a,Z.b):Z instanceof Zt?Fr(Z.h,Z.c,Z.l):xn((Z=Fa(Z)).r,Z.g,Z.b):new Zr(Z,oe,we)}var Vr=18,gi=.95047,Si=1,Mi=1.08883,Pi=Zr.prototype=new Wn;Pi.brighter=function(Z){return new Zr(Math.min(100,this.l+Vr*(arguments.length?Z:1)),this.a,this.b)},Pi.darker=function(Z){return new Zr(Math.max(0,this.l-Vr*(arguments.length?Z:1)),this.a,this.b)},Pi.rgb=function(){return Gi(this.l,this.a,this.b)};function Gi(Z,oe,we){var Be=(Z+16)/116,Ue=Be+oe/500,We=Be-we/200;return Ue=ka(Ue)*gi,Be=ka(Be)*Si,We=ka(We)*Mi,new Fa(la(3.2404542*Ue-1.5371385*Be-.4985314*We),la(-.969266*Ue+1.8760108*Be+.041556*We),la(.0556434*Ue-.2040259*Be+1.0572252*We))}function Ki(Z,oe,we){return Z>0?new Zt(Math.atan2(we,oe)*lt,Math.sqrt(oe*oe+we*we),Z):new Zt(NaN,NaN,Z)}function ka(Z){return Z>.206893034?Z*Z*Z:(Z-4/29)/7.787037}function jn(Z){return Z>.008856?Math.pow(Z,1/3):7.787037*Z+4/29}function la(Z){return Math.round(255*(Z<=.00304?12.92*Z:1.055*Math.pow(Z,1/2.4)-.055))}e.rgb=Fa;function Fa(Z,oe,we){return this instanceof Fa?(this.r=~~Z,this.g=~~oe,void(this.b=~~we)):arguments.length<2?Z instanceof Fa?new Fa(Z.r,Z.g,Z.b):Ha(\"\"+Z,Fa,jt):new Fa(Z,oe,we)}function Ra(Z){return new Fa(Z>>16,Z>>8&255,Z&255)}function jo(Z){return Ra(Z)+\"\"}var oa=Fa.prototype=new Wn;oa.brighter=function(Z){Z=Math.pow(.7,arguments.length?Z:1);var oe=this.r,we=this.g,Be=this.b,Ue=30;return!oe&&!we&&!Be?new Fa(Ue,Ue,Ue):(oe&&oe<Ue&&(oe=Ue),we&&we<Ue&&(we=Ue),Be&&Be<Ue&&(Be=Ue),new Fa(Math.min(255,oe/Z),Math.min(255,we/Z),Math.min(255,Be/Z)))},oa.darker=function(Z){return Z=Math.pow(.7,arguments.length?Z:1),new Fa(Z*this.r,Z*this.g,Z*this.b)},oa.hsl=function(){return oo(this.r,this.g,this.b)},oa.toString=function(){return\"#\"+Sn(this.r)+Sn(this.g)+Sn(this.b)};function Sn(Z){return Z<16?\"0\"+Math.max(0,Z).toString(16):Math.min(255,Z).toString(16)}function Ha(Z,oe,we){var Be=0,Ue=0,We=0,wt,tt,zt;if(wt=/([a-z]+)\\((.*)\\)/.exec(Z=Z.toLowerCase()),wt)switch(tt=wt[2].split(\",\"),wt[1]){case\"hsl\":return we(parseFloat(tt[0]),parseFloat(tt[1])/100,parseFloat(tt[2])/100);case\"rgb\":return oe(br(tt[0]),br(tt[1]),br(tt[2]))}return(zt=Hr.get(Z))?oe(zt.r,zt.g,zt.b):(Z!=null&&Z.charAt(0)===\"#\"&&!isNaN(zt=parseInt(Z.slice(1),16))&&(Z.length===4?(Be=(zt&3840)>>4,Be=Be>>4|Be,Ue=zt&240,Ue=Ue>>4|Ue,We=zt&15,We=We<<4|We):Z.length===7&&(Be=(zt&16711680)>>16,Ue=(zt&65280)>>8,We=zt&255)),oe(Be,Ue,We))}function oo(Z,oe,we){var Be=Math.min(Z/=255,oe/=255,we/=255),Ue=Math.max(Z,oe,we),We=Ue-Be,wt,tt,zt=(Ue+Be)/2;return We?(tt=zt<.5?We/(Ue+Be):We/(2-Ue-Be),Z==Ue?wt=(oe-we)/We+(oe<we?6:0):oe==Ue?wt=(we-Z)/We+2:wt=(Z-oe)/We+4,wt*=60):(wt=NaN,tt=zt>0&&zt<1?0:wt),new It(wt,tt,zt)}function xn(Z,oe,we){Z=_t(Z),oe=_t(oe),we=_t(we);var Be=jn((.4124564*Z+.3575761*oe+.1804375*we)/gi),Ue=jn((.2126729*Z+.7151522*oe+.072175*we)/Si),We=jn((.0193339*Z+.119192*oe+.9503041*we)/Mi);return Zr(116*Ue-16,500*(Be-Ue),200*(Ue-We))}function _t(Z){return(Z/=255)<=.04045?Z/12.92:Math.pow((Z+.055)/1.055,2.4)}function br(Z){var oe=parseFloat(Z);return Z.charAt(Z.length-1)===\"%\"?Math.round(oe*2.55):oe}var Hr=e.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Hr.forEach(function(Z,oe){Hr.set(Z,Ra(oe))});function ti(Z){return typeof Z==\"function\"?Z:function(){return Z}}e.functor=ti,e.xhr=zi(H);function zi(Z){return function(oe,we,Be){return arguments.length===2&&typeof we==\"function\"&&(Be=we,we=null),Yi(oe,we,Z,Be)}}function Yi(Z,oe,we,Be){var Ue={},We=e.dispatch(\"beforesend\",\"progress\",\"load\",\"error\"),wt={},tt=new XMLHttpRequest,zt=null;self.XDomainRequest&&!(\"withCredentials\"in tt)&&/^(http(s)?:)?\\/\\//.test(Z)&&(tt=new XDomainRequest),\"onload\"in tt?tt.onload=tt.onerror=or:tt.onreadystatechange=function(){tt.readyState>3&&or()};function or(){var lr=tt.status,Dr;if(!lr&&hi(tt)||lr>=200&&lr<300||lr===304){try{Dr=we.call(Ue,tt)}catch(Ir){We.error.call(Ue,Ir);return}We.load.call(Ue,Dr)}else We.error.call(Ue,tt)}return tt.onprogress=function(lr){var Dr=e.event;e.event=lr;try{We.progress.call(Ue,tt)}finally{e.event=Dr}},Ue.header=function(lr,Dr){return lr=(lr+\"\").toLowerCase(),arguments.length<2?wt[lr]:(Dr==null?delete wt[lr]:wt[lr]=Dr+\"\",Ue)},Ue.mimeType=function(lr){return arguments.length?(oe=lr==null?null:lr+\"\",Ue):oe},Ue.responseType=function(lr){return arguments.length?(zt=lr,Ue):zt},Ue.response=function(lr){return we=lr,Ue},[\"get\",\"post\"].forEach(function(lr){Ue[lr]=function(){return Ue.send.apply(Ue,[lr].concat(r(arguments)))}}),Ue.send=function(lr,Dr,Ir){if(arguments.length===2&&typeof Dr==\"function\"&&(Ir=Dr,Dr=null),tt.open(lr,Z,!0),oe!=null&&!(\"accept\"in wt)&&(wt.accept=oe+\",*/*\"),tt.setRequestHeader)for(var oi in wt)tt.setRequestHeader(oi,wt[oi]);return oe!=null&&tt.overrideMimeType&&tt.overrideMimeType(oe),zt!=null&&(tt.responseType=zt),Ir!=null&&Ue.on(\"error\",Ir).on(\"load\",function(ui){Ir(null,ui)}),We.beforesend.call(Ue,tt),tt.send(Dr==null?null:Dr),Ue},Ue.abort=function(){return tt.abort(),Ue},e.rebind(Ue,We,\"on\"),Be==null?Ue:Ue.get(an(Be))}function an(Z){return Z.length===1?function(oe,we){Z(oe==null?we:null)}:Z}function hi(Z){var oe=Z.responseType;return oe&&oe!==\"text\"?Z.response:Z.responseText}e.dsv=function(Z,oe){var we=new RegExp('[\"'+Z+`\n", - "]`),Be=Z.charCodeAt(0);function Ue(or,lr,Dr){arguments.length<3&&(Dr=lr,lr=null);var Ir=Yi(or,oe,lr==null?We:wt(lr),Dr);return Ir.row=function(oi){return arguments.length?Ir.response((lr=oi)==null?We:wt(oi)):lr},Ir}function We(or){return Ue.parse(or.responseText)}function wt(or){return function(lr){return Ue.parse(lr.responseText,or)}}Ue.parse=function(or,lr){var Dr;return Ue.parseRows(or,function(Ir,oi){if(Dr)return Dr(Ir,oi-1);var ui=function(qr){for(var Kr={},ii=Ir.length,vi=0;vi<ii;++vi)Kr[Ir[vi]]=qr[vi];return Kr};Dr=lr?function(qr,Kr){return lr(ui(qr),Kr)}:ui})},Ue.parseRows=function(or,lr){var Dr={},Ir={},oi=[],ui=or.length,qr=0,Kr=0,ii,vi;function ci(){if(qr>=ui)return Ir;if(vi)return vi=!1,Dr;var un=qr;if(or.charCodeAt(un)===34){for(var dn=un;dn++<ui;)if(or.charCodeAt(dn)===34){if(or.charCodeAt(dn+1)!==34)break;++dn}qr=dn+2;var En=or.charCodeAt(dn+1);return En===13?(vi=!0,or.charCodeAt(dn+2)===10&&++qr):En===10&&(vi=!0),or.slice(un+1,dn).replace(/\"\"/g,'\"')}for(;qr<ui;){var En=or.charCodeAt(qr++),Nn=1;if(En===10)vi=!0;else if(En===13)vi=!0,or.charCodeAt(qr)===10&&(++qr,++Nn);else if(En!==Be)continue;return or.slice(un,qr-Nn)}return or.slice(un)}for(;(ii=ci())!==Ir;){for(var Jr=[];ii!==Dr&&ii!==Ir;)Jr.push(ii),ii=ci();lr&&(Jr=lr(Jr,Kr++))==null||oi.push(Jr)}return oi},Ue.format=function(or){if(Array.isArray(or[0]))return Ue.formatRows(or);var lr=new V,Dr=[];return or.forEach(function(Ir){for(var oi in Ir)lr.has(oi)||Dr.push(lr.add(oi))}),[Dr.map(zt).join(Z)].concat(or.map(function(Ir){return Dr.map(function(oi){return zt(Ir[oi])}).join(Z)})).join(`\n", - "`)},Ue.formatRows=function(or){return or.map(tt).join(`\n", - "`)};function tt(or){return or.map(zt).join(Z)}function zt(or){return we.test(or)?'\"'+or.replace(/\\\"/g,'\"\"')+'\"':or}return Ue},e.csv=e.dsv(\",\",\"text/csv\"),e.tsv=e.dsv(\"\t\",\"text/tab-separated-values\");var Ji,ua,Fn,Sa,go=this[G(this,\"requestAnimationFrame\")]||function(Z){setTimeout(Z,17)};e.timer=function(){Oo.apply(this,arguments)};function Oo(Z,oe,we){var Be=arguments.length;Be<2&&(oe=0),Be<3&&(we=Date.now());var Ue=we+oe,We={c:Z,t:Ue,n:null};return ua?ua.n=We:Ji=We,ua=We,Fn||(Sa=clearTimeout(Sa),Fn=1,go(ho)),We}function ho(){var Z=Mo(),oe=xo()-Z;oe>24?(isFinite(oe)&&(clearTimeout(Sa),Sa=setTimeout(ho,oe)),Fn=0):(Fn=1,go(ho))}e.timer.flush=function(){Mo(),xo()};function Mo(){for(var Z=Date.now(),oe=Ji;oe;)Z>=oe.t&&oe.c(Z-oe.t)&&(oe.c=null),oe=oe.n;return Z}function xo(){for(var Z,oe=Ji,we=1/0;oe;)oe.c?(oe.t<we&&(we=oe.t),oe=(Z=oe).n):oe=Z?Z.n=oe.n:Ji=oe.n;return ua=Z,we}e.round=function(Z,oe){return oe?Math.round(Z*(oe=Math.pow(10,oe)))/oe:Math.round(Z)},e.geom={};function zs(Z){return Z[0]}function ks(Z){return Z[1]}e.geom.hull=function(Z){var oe=zs,we=ks;if(arguments.length)return Be(Z);function Be(Ue){if(Ue.length<3)return[];var We=ti(oe),wt=ti(we),tt,zt=Ue.length,or=[],lr=[];for(tt=0;tt<zt;tt++)or.push([+We.call(this,Ue[tt],tt),+wt.call(this,Ue[tt],tt),tt]);for(or.sort(Xs),tt=0;tt<zt;tt++)lr.push([or[tt][0],-or[tt][1]]);var Dr=Zs(or),Ir=Zs(lr),oi=Ir[0]===Dr[0],ui=Ir[Ir.length-1]===Dr[Dr.length-1],qr=[];for(tt=Dr.length-1;tt>=0;--tt)qr.push(Ue[or[Dr[tt]][2]]);for(tt=+oi;tt<Ir.length-ui;++tt)qr.push(Ue[or[Ir[tt]][2]]);return qr}return Be.x=function(Ue){return arguments.length?(oe=Ue,Be):oe},Be.y=function(Ue){return arguments.length?(we=Ue,Be):we},Be};function Zs(Z){for(var oe=Z.length,we=[0,1],Be=2,Ue=2;Ue<oe;Ue++){for(;Be>1&&Vt(Z[we[Be-2]],Z[we[Be-1]],Z[Ue])<=0;)--Be;we[Be++]=Ue}return we.slice(0,Be)}function Xs(Z,oe){return Z[0]-oe[0]||Z[1]-oe[1]}e.geom.polygon=function(Z){return ie(Z,wl),Z};var wl=e.geom.polygon.prototype=[];wl.area=function(){for(var Z=-1,oe=this.length,we,Be=this[oe-1],Ue=0;++Z<oe;)we=Be,Be=this[Z],Ue+=we[1]*Be[0]-we[0]*Be[1];return Ue*.5},wl.centroid=function(Z){var oe=-1,we=this.length,Be=0,Ue=0,We,wt=this[we-1],tt;for(arguments.length||(Z=-1/(6*this.area()));++oe<we;)We=wt,wt=this[oe],tt=We[0]*wt[1]-wt[0]*We[1],Be+=(We[0]+wt[0])*tt,Ue+=(We[1]+wt[1])*tt;return[Be*Z,Ue*Z]},wl.clip=function(Z){for(var oe,we=Cs(Z),Be=-1,Ue=this.length-Cs(this),We,wt,tt=this[Ue-1],zt,or,lr;++Be<Ue;){for(oe=Z.slice(),Z.length=0,zt=this[Be],or=oe[(wt=oe.length-we)-1],We=-1;++We<wt;)lr=oe[We],os(lr,tt,zt)?(os(or,tt,zt)||Z.push(cl(or,lr,tt,zt)),Z.push(lr)):os(or,tt,zt)&&Z.push(cl(or,lr,tt,zt)),or=lr;we&&Z.push(Z[0]),tt=zt}return Z};function os(Z,oe,we){return(we[0]-oe[0])*(Z[1]-oe[1])<(we[1]-oe[1])*(Z[0]-oe[0])}function cl(Z,oe,we,Be){var Ue=Z[0],We=we[0],wt=oe[0]-Ue,tt=Be[0]-We,zt=Z[1],or=we[1],lr=oe[1]-zt,Dr=Be[1]-or,Ir=(tt*(zt-or)-Dr*(Ue-We))/(Dr*wt-tt*lr);return[Ue+Ir*wt,zt+Ir*lr]}function Cs(Z){var oe=Z[0],we=Z[Z.length-1];return!(oe[0]-we[0]||oe[1]-we[1])}var ml,Ys,Hs,Eo=[],fs,Ql,Hu=[];function fc(){Ls(this),this.edge=this.site=this.circle=null}function ms(Z){var oe=Eo.pop()||new fc;return oe.site=Z,oe}function on(Z){ko(Z),Hs.remove(Z),Eo.push(Z),Ls(Z)}function fa(Z){var oe=Z.circle,we=oe.x,Be=oe.cy,Ue={x:we,y:Be},We=Z.P,wt=Z.N,tt=[Z];on(Z);for(var zt=We;zt.circle&&p(we-zt.circle.x)<Ye&&p(Be-zt.circle.cy)<Ye;)We=zt.P,tt.unshift(zt),on(zt),zt=We;tt.unshift(zt),ko(zt);for(var or=wt;or.circle&&p(we-or.circle.x)<Ye&&p(Be-or.circle.cy)<Ye;)wt=or.N,tt.push(or),on(or),or=wt;tt.push(or),ko(or);var lr=tt.length,Dr;for(Dr=1;Dr<lr;++Dr)or=tt[Dr],zt=tt[Dr-1],Al(or.edge,zt.site,or.site,Ue);zt=tt[0],or=tt[lr-1],or.edge=cf(zt.site,or.site,null,Ue),Zn(zt),Zn(or)}function Qu(Z){for(var oe=Z.x,we=Z.y,Be,Ue,We,wt,tt=Hs._;tt;)if(We=Rl(tt,we)-oe,We>Ye)tt=tt.L;else if(wt=oe-vo(tt,we),wt>Ye){if(!tt.R){Be=tt;break}tt=tt.R}else{We>-Ye?(Be=tt.P,Ue=tt):wt>-Ye?(Be=tt,Ue=tt.N):Be=Ue=tt;break}var zt=ms(Z);if(Hs.insert(Be,zt),!(!Be&&!Ue)){if(Be===Ue){ko(Be),Ue=ms(Be.site),Hs.insert(zt,Ue),zt.edge=Ue.edge=cf(Be.site,zt.site),Zn(Be),Zn(Ue);return}if(!Ue){zt.edge=cf(Be.site,zt.site);return}ko(Be),ko(Ue);var or=Be.site,lr=or.x,Dr=or.y,Ir=Z.x-lr,oi=Z.y-Dr,ui=Ue.site,qr=ui.x-lr,Kr=ui.y-Dr,ii=2*(Ir*Kr-oi*qr),vi=Ir*Ir+oi*oi,ci=qr*qr+Kr*Kr,Jr={x:(Kr*vi-oi*ci)/ii+lr,y:(Ir*ci-qr*vi)/ii+Dr};Al(Ue.edge,or,ui,Jr),zt.edge=cf(or,Z,null,Jr),Ue.edge=cf(Z,ui,null,Jr),Zn(Be),Zn(Ue)}}function Rl(Z,oe){var we=Z.site,Be=we.x,Ue=we.y,We=Ue-oe;if(!We)return Be;var wt=Z.P;if(!wt)return-1/0;we=wt.site;var tt=we.x,zt=we.y,or=zt-oe;if(!or)return tt;var lr=tt-Be,Dr=1/We-1/or,Ir=lr/or;return Dr?(-Ir+Math.sqrt(Ir*Ir-2*Dr*(lr*lr/(-2*or)-zt+or/2+Ue-We/2)))/Dr+Be:(Be+tt)/2}function vo(Z,oe){var we=Z.N;if(we)return Rl(we,oe);var Be=Z.site;return Be.y===oe?Be.x:1/0}function Zl(Z){this.site=Z,this.edges=[]}Zl.prototype.prepare=function(){for(var Z=this.edges,oe=Z.length,we;oe--;)we=Z[oe].edge,(!we.b||!we.a)&&Z.splice(oe,1);return Z.sort(Xl),Z.length};function Ks(Z){for(var oe=Z[0][0],we=Z[1][0],Be=Z[0][1],Ue=Z[1][1],We,wt,tt,zt,or=Ys,lr=or.length,Dr,Ir,oi,ui,qr,Kr;lr--;)if(Dr=or[lr],!(!Dr||!Dr.prepare()))for(oi=Dr.edges,ui=oi.length,Ir=0;Ir<ui;)Kr=oi[Ir].end(),tt=Kr.x,zt=Kr.y,qr=oi[++Ir%ui].start(),We=qr.x,wt=qr.y,(p(tt-We)>Ye||p(zt-wt)>Ye)&&(oi.splice(Ir,0,new Hc(rh(Dr.site,Kr,p(tt-oe)<Ye&&Ue-zt>Ye?{x:oe,y:p(We-oe)<Ye?wt:Ue}:p(zt-Ue)<Ye&&we-tt>Ye?{x:p(wt-Ue)<Ye?We:we,y:Ue}:p(tt-we)<Ye&&zt-Be>Ye?{x:we,y:p(We-we)<Ye?wt:Be}:p(zt-Be)<Ye&&tt-oe>Ye?{x:p(wt-Be)<Ye?We:oe,y:Be}:null),Dr.site,null)),++ui)}function Xl(Z,oe){return oe.angle-Z.angle}function Ec(){Ls(this),this.x=this.y=this.arc=this.site=this.cy=null}function Zn(Z){var oe=Z.P,we=Z.N;if(!(!oe||!we)){var Be=oe.site,Ue=Z.site,We=we.site;if(Be!==We){var wt=Ue.x,tt=Ue.y,zt=Be.x-wt,or=Be.y-tt,lr=We.x-wt,Kr=We.y-tt,Dr=2*(zt*Kr-or*lr);if(!(Dr>=-Ve)){var Ir=zt*zt+or*or,oi=lr*lr+Kr*Kr,ui=(Kr*Ir-or*oi)/Dr,qr=(zt*oi-lr*Ir)/Dr,Kr=qr+tt,ii=Hu.pop()||new Ec;ii.arc=Z,ii.site=Ue,ii.x=ui+wt,ii.y=Kr+Math.sqrt(ui*ui+qr*qr),ii.cy=Kr,Z.circle=ii;for(var vi=null,ci=Ql._;ci;)if(ii.y<ci.y||ii.y===ci.y&&ii.x<=ci.x)if(ci.L)ci=ci.L;else{vi=ci.P;break}else if(ci.R)ci=ci.R;else{vi=ci;break}Ql.insert(vi,ii),vi||(fs=ii)}}}}function ko(Z){var oe=Z.circle;oe&&(oe.P||(fs=oe.N),Ql.remove(oe),Hu.push(oe),Ls(oe),Z.circle=null)}function Co(Z,oe,we,Be){return function(Ue){var We=Ue.a,wt=Ue.b,tt=We.x,zt=We.y,or=wt.x,lr=wt.y,Dr=0,Ir=1,oi=or-tt,ui=lr-zt,qr;if(qr=Z-tt,!(!oi&&qr>0)){if(qr/=oi,oi<0){if(qr<Dr)return;qr<Ir&&(Ir=qr)}else if(oi>0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}if(qr=we-tt,!(!oi&&qr<0)){if(qr/=oi,oi<0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}else if(oi>0){if(qr<Dr)return;qr<Ir&&(Ir=qr)}if(qr=oe-zt,!(!ui&&qr>0)){if(qr/=ui,ui<0){if(qr<Dr)return;qr<Ir&&(Ir=qr)}else if(ui>0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}if(qr=Be-zt,!(!ui&&qr<0)){if(qr/=ui,ui<0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}else if(ui>0){if(qr<Dr)return;qr<Ir&&(Ir=qr)}return Dr>0&&(Ue.a={x:tt+Dr*oi,y:zt+Dr*ui}),Ir<1&&(Ue.b={x:tt+Ir*oi,y:zt+Ir*ui}),Ue}}}}}}function Tl(Z){for(var oe=ml,we=Co(Z[0][0],Z[0][1],Z[1][0],Z[1][1]),Be=oe.length,Ue;Be--;)Ue=oe[Be],(!uf(Ue,Z)||!we(Ue)||p(Ue.a.x-Ue.b.x)<Ye&&p(Ue.a.y-Ue.b.y)<Ye)&&(Ue.a=Ue.b=null,oe.splice(Be,1))}function uf(Z,oe){var we=Z.b;if(we)return!0;var Be=Z.a,Ue=oe[0][0],We=oe[1][0],wt=oe[0][1],tt=oe[1][1],zt=Z.l,or=Z.r,lr=zt.x,Dr=zt.y,Ir=or.x,oi=or.y,ui=(lr+Ir)/2,qr=(Dr+oi)/2,Kr,ii;if(oi===Dr){if(ui<Ue||ui>=We)return;if(lr>Ir){if(!Be)Be={x:ui,y:wt};else if(Be.y>=tt)return;we={x:ui,y:tt}}else{if(!Be)Be={x:ui,y:tt};else if(Be.y<wt)return;we={x:ui,y:wt}}}else if(Kr=(lr-Ir)/(oi-Dr),ii=qr-Kr*ui,Kr<-1||Kr>1)if(lr>Ir){if(!Be)Be={x:(wt-ii)/Kr,y:wt};else if(Be.y>=tt)return;we={x:(tt-ii)/Kr,y:tt}}else{if(!Be)Be={x:(tt-ii)/Kr,y:tt};else if(Be.y<wt)return;we={x:(wt-ii)/Kr,y:wt}}else if(Dr<oi){if(!Be)Be={x:Ue,y:Kr*Ue+ii};else if(Be.x>=We)return;we={x:We,y:Kr*We+ii}}else{if(!Be)Be={x:We,y:Kr*We+ii};else if(Be.x<Ue)return;we={x:Ue,y:Kr*Ue+ii}}return Z.a=Be,Z.b=we,!0}function So(Z,oe){this.l=Z,this.r=oe,this.a=this.b=null}function cf(Z,oe,we,Be){var Ue=new So(Z,oe);return ml.push(Ue),we&&Al(Ue,Z,oe,we),Be&&Al(Ue,oe,Z,Be),Ys[Z.i].edges.push(new Hc(Ue,Z,oe)),Ys[oe.i].edges.push(new Hc(Ue,oe,Z)),Ue}function rh(Z,oe,we){var Be=new So(Z,null);return Be.a=oe,Be.b=we,ml.push(Be),Be}function Al(Z,oe,we,Be){!Z.a&&!Z.b?(Z.a=Be,Z.l=oe,Z.r=we):Z.l===we?Z.b=Be:Z.a=Be}function Hc(Z,oe,we){var Be=Z.a,Ue=Z.b;this.edge=Z,this.site=oe,this.angle=we?Math.atan2(we.y-oe.y,we.x-oe.x):Z.l===oe?Math.atan2(Ue.x-Be.x,Be.y-Ue.y):Math.atan2(Be.x-Ue.x,Ue.y-Be.y)}Hc.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}};function eu(){this._=null}function Ls(Z){Z.U=Z.C=Z.L=Z.R=Z.P=Z.N=null}eu.prototype={insert:function(Z,oe){var we,Be,Ue;if(Z){if(oe.P=Z,oe.N=Z.N,Z.N&&(Z.N.P=oe),Z.N=oe,Z.R){for(Z=Z.R;Z.L;)Z=Z.L;Z.L=oe}else Z.R=oe;we=Z}else this._?(Z=Of(this._),oe.P=null,oe.N=Z,Z.P=Z.L=oe,we=Z):(oe.P=oe.N=null,this._=oe,we=null);for(oe.L=oe.R=null,oe.U=we,oe.C=!0,Z=oe;we&&we.C;)Be=we.U,we===Be.L?(Ue=Be.R,Ue&&Ue.C?(we.C=Ue.C=!1,Be.C=!0,Z=Be):(Z===we.R&&(mu(this,we),Z=we,we=Z.U),we.C=!1,Be.C=!0,kc(this,Be))):(Ue=Be.L,Ue&&Ue.C?(we.C=Ue.C=!1,Be.C=!0,Z=Be):(Z===we.L&&(kc(this,we),Z=we,we=Z.U),we.C=!1,Be.C=!0,mu(this,Be))),we=Z.U;this._.C=!1},remove:function(Z){Z.N&&(Z.N.P=Z.P),Z.P&&(Z.P.N=Z.N),Z.N=Z.P=null;var oe=Z.U,we,Be=Z.L,Ue=Z.R,We,wt;if(Be?Ue?We=Of(Ue):We=Be:We=Ue,oe?oe.L===Z?oe.L=We:oe.R=We:this._=We,Be&&Ue?(wt=We.C,We.C=Z.C,We.L=Be,Be.U=We,We!==Ue?(oe=We.U,We.U=Z.U,Z=We.R,oe.L=Z,We.R=Ue,Ue.U=We):(We.U=oe,oe=We,Z=We.R)):(wt=Z.C,Z=We),Z&&(Z.U=oe),!wt){if(Z&&Z.C){Z.C=!1;return}do{if(Z===this._)break;if(Z===oe.L){if(we=oe.R,we.C&&(we.C=!1,oe.C=!0,mu(this,oe),we=oe.R),we.L&&we.L.C||we.R&&we.R.C){(!we.R||!we.R.C)&&(we.L.C=!1,we.C=!0,kc(this,we),we=oe.R),we.C=oe.C,oe.C=we.R.C=!1,mu(this,oe),Z=this._;break}}else if(we=oe.L,we.C&&(we.C=!1,oe.C=!0,kc(this,oe),we=oe.L),we.L&&we.L.C||we.R&&we.R.C){(!we.L||!we.L.C)&&(we.R.C=!1,we.C=!0,mu(this,we),we=oe.L),we.C=oe.C,oe.C=we.L.C=!1,kc(this,oe),Z=this._;break}we.C=!0,Z=oe,oe=oe.U}while(!Z.C);Z&&(Z.C=!1)}}};function mu(Z,oe){var we=oe,Be=oe.R,Ue=we.U;Ue?Ue.L===we?Ue.L=Be:Ue.R=Be:Z._=Be,Be.U=Ue,we.U=Be,we.R=Be.L,we.R&&(we.R.U=we),Be.L=we}function kc(Z,oe){var we=oe,Be=oe.L,Ue=we.U;Ue?Ue.L===we?Ue.L=Be:Ue.R=Be:Z._=Be,Be.U=Ue,we.U=Be,we.L=Be.R,we.L&&(we.L.U=we),Be.R=we}function Of(Z){for(;Z.L;)Z=Z.L;return Z}function Gc(Z,oe){var we=Z.sort(vd).pop(),Be,Ue,We;for(ml=[],Ys=new Array(Z.length),Hs=new eu,Ql=new eu;;)if(We=fs,we&&(!We||we.y<We.y||we.y===We.y&&we.x<We.x))(we.x!==Be||we.y!==Ue)&&(Ys[we.i]=new Zl(we),Qu(we),Be=we.x,Ue=we.y),we=Z.pop();else if(We)fa(We.arc);else break;oe&&(Tl(oe),Ks(oe));var wt={cells:Ys,edges:ml};return Hs=Ql=ml=Ys=null,wt}function vd(Z,oe){return oe.y-Z.y||oe.x-Z.x}e.geom.voronoi=function(Z){var oe=zs,we=ks,Be=oe,Ue=we,We=Bf;if(Z)return wt(Z);function wt(zt){var or=new Array(zt.length),lr=We[0][0],Dr=We[0][1],Ir=We[1][0],oi=We[1][1];return Gc(tt(zt),We).cells.forEach(function(ui,qr){var Kr=ui.edges,ii=ui.site,vi=or[qr]=Kr.length?Kr.map(function(ci){var Jr=ci.start();return[Jr.x,Jr.y]}):ii.x>=lr&&ii.x<=Ir&&ii.y>=Dr&&ii.y<=oi?[[lr,oi],[Ir,oi],[Ir,Dr],[lr,Dr]]:[];vi.point=zt[qr]}),or}function tt(zt){return zt.map(function(or,lr){return{x:Math.round(Be(or,lr)/Ye)*Ye,y:Math.round(Ue(or,lr)/Ye)*Ye,i:lr}})}return wt.links=function(zt){return Gc(tt(zt)).edges.filter(function(or){return or.l&&or.r}).map(function(or){return{source:zt[or.l.i],target:zt[or.r.i]}})},wt.triangles=function(zt){var or=[];return Gc(tt(zt)).cells.forEach(function(lr,Dr){for(var Ir=lr.site,oi=lr.edges.sort(Xl),ui=-1,qr=oi.length,Kr,ii,vi=oi[qr-1].edge,ci=vi.l===Ir?vi.r:vi.l;++ui<qr;)Kr=vi,ii=ci,vi=oi[ui].edge,ci=vi.l===Ir?vi.r:vi.l,Dr<ii.i&&Dr<ci.i&&ss(Ir,ii,ci)<0&&or.push([zt[Dr],zt[ii.i],zt[ci.i]])}),or},wt.x=function(zt){return arguments.length?(Be=ti(oe=zt),wt):oe},wt.y=function(zt){return arguments.length?(Ue=ti(we=zt),wt):we},wt.clipExtent=function(zt){return arguments.length?(We=zt==null?Bf:zt,wt):We===Bf?null:We},wt.size=function(zt){return arguments.length?wt.clipExtent(zt&&[[0,0],zt]):We===Bf?null:We&&We[1]},wt};var Bf=[[-1e6,-1e6],[1e6,1e6]];function ss(Z,oe,we){return(Z.x-we.x)*(oe.y-Z.y)-(Z.x-oe.x)*(we.y-Z.y)}e.geom.delaunay=function(Z){return e.geom.voronoi().triangles(Z)},e.geom.quadtree=function(Z,oe,we,Be,Ue){var We=zs,wt=ks,tt;if(tt=arguments.length)return We=ff,wt=ih,tt===3&&(Ue=we,Be=oe,we=oe=0),zt(Z);function zt(or){var lr,Dr=ti(We),Ir=ti(wt),oi,ui,qr,Kr,ii,vi,ci,Jr;if(oe!=null)ii=oe,vi=we,ci=Be,Jr=Ue;else if(ci=Jr=-(ii=vi=1/0),oi=[],ui=[],Kr=or.length,tt)for(qr=0;qr<Kr;++qr)lr=or[qr],lr.x<ii&&(ii=lr.x),lr.y<vi&&(vi=lr.y),lr.x>ci&&(ci=lr.x),lr.y>Jr&&(Jr=lr.y),oi.push(lr.x),ui.push(lr.y);else for(qr=0;qr<Kr;++qr){var un=+Dr(lr=or[qr],qr),dn=+Ir(lr,qr);un<ii&&(ii=un),dn<vi&&(vi=dn),un>ci&&(ci=un),dn>Jr&&(Jr=dn),oi.push(un),ui.push(dn)}var En=ci-ii,Nn=Jr-vi;En>Nn?Jr=vi+En:ci=ii+Nn;function ga(wa,io,Ss,_s,Ns,pn,za,Lo){if(!(isNaN(Ss)||isNaN(_s)))if(wa.leaf){var Fo=wa.x,js=wa.y;if(Fo!=null)if(p(Fo-Ss)+p(js-_s)<.01)ya(wa,io,Ss,_s,Ns,pn,za,Lo);else{var xl=wa.point;wa.x=wa.y=wa.point=null,ya(wa,xl,Fo,js,Ns,pn,za,Lo),ya(wa,io,Ss,_s,Ns,pn,za,Lo)}else wa.x=Ss,wa.y=_s,wa.point=io}else ya(wa,io,Ss,_s,Ns,pn,za,Lo)}function ya(wa,io,Ss,_s,Ns,pn,za,Lo){var Fo=(Ns+za)*.5,js=(pn+Lo)*.5,xl=Ss>=Fo,fu=_s>=js,dl=fu<<1|xl;wa.leaf=!1,wa=wa.nodes[dl]||(wa.nodes[dl]=Vl()),xl?Ns=Fo:za=Fo,fu?pn=js:Lo=js,ga(wa,io,Ss,_s,Ns,pn,za,Lo)}var so=Vl();if(so.add=function(wa){ga(so,wa,+Dr(wa,++qr),+Ir(wa,qr),ii,vi,ci,Jr)},so.visit=function(wa){Js(wa,so,ii,vi,ci,Jr)},so.find=function(wa){return hc(so,wa[0],wa[1],ii,vi,ci,Jr)},qr=-1,oe==null){for(;++qr<Kr;)ga(so,or[qr],oi[qr],ui[qr],ii,vi,ci,Jr);--qr}else or.forEach(so.add);return oi=ui=or=lr=null,so}return zt.x=function(or){return arguments.length?(We=or,zt):We},zt.y=function(or){return arguments.length?(wt=or,zt):wt},zt.extent=function(or){return arguments.length?(or==null?oe=we=Be=Ue=null:(oe=+or[0][0],we=+or[0][1],Be=+or[1][0],Ue=+or[1][1]),zt):oe==null?null:[[oe,we],[Be,Ue]]},zt.size=function(or){return arguments.length?(or==null?oe=we=Be=Ue=null:(oe=we=0,Be=+or[0],Ue=+or[1]),zt):oe==null?null:[Be-oe,Ue-we]},zt};function ff(Z){return Z.x}function ih(Z){return Z.y}function Vl(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function Js(Z,oe,we,Be,Ue,We){if(!Z(oe,we,Be,Ue,We)){var wt=(we+Ue)*.5,tt=(Be+We)*.5,zt=oe.nodes;zt[0]&&Js(Z,zt[0],we,Be,wt,tt),zt[1]&&Js(Z,zt[1],wt,Be,Ue,tt),zt[2]&&Js(Z,zt[2],we,tt,wt,We),zt[3]&&Js(Z,zt[3],wt,tt,Ue,We)}}function hc(Z,oe,we,Be,Ue,We,wt){var tt=1/0,zt;return function or(lr,Dr,Ir,oi,ui){if(!(Dr>We||Ir>wt||oi<Be||ui<Ue)){if(qr=lr.point){var qr,Kr=oe-lr.x,ii=we-lr.y,vi=Kr*Kr+ii*ii;if(vi<tt){var ci=Math.sqrt(tt=vi);Be=oe-ci,Ue=we-ci,We=oe+ci,wt=we+ci,zt=qr}}for(var Jr=lr.nodes,un=(Dr+oi)*.5,dn=(Ir+ui)*.5,En=oe>=un,Nn=we>=dn,ga=Nn<<1|En,ya=ga+4;ga<ya;++ga)if(lr=Jr[ga&3])switch(ga&3){case 0:or(lr,Dr,Ir,un,dn);break;case 1:or(lr,un,Ir,oi,dn);break;case 2:or(lr,Dr,dn,un,ui);break;case 3:or(lr,un,dn,oi,ui);break}}}(Z,Be,Ue,We,wt),zt}e.interpolateRgb=Cc;function Cc(Z,oe){Z=e.rgb(Z),oe=e.rgb(oe);var we=Z.r,Be=Z.g,Ue=Z.b,We=oe.r-we,wt=oe.g-Be,tt=oe.b-Ue;return function(zt){return\"#\"+Sn(Math.round(we+We*zt))+Sn(Math.round(Be+wt*zt))+Sn(Math.round(Ue+tt*zt))}}e.interpolateObject=ws;function ws(Z,oe){var we={},Be={},Ue;for(Ue in Z)Ue in oe?we[Ue]=Sl(Z[Ue],oe[Ue]):Be[Ue]=Z[Ue];for(Ue in oe)Ue in Z||(Be[Ue]=oe[Ue]);return function(We){for(Ue in we)Be[Ue]=we[Ue](We);return Be}}e.interpolateNumber=$s;function $s(Z,oe){return Z=+Z,oe=+oe,function(we){return Z*(1-we)+oe*we}}e.interpolateString=hs;function hs(Z,oe){var we=Ms.lastIndex=dc.lastIndex=0,Be,Ue,We,wt=-1,tt=[],zt=[];for(Z=Z+\"\",oe=oe+\"\";(Be=Ms.exec(Z))&&(Ue=dc.exec(oe));)(We=Ue.index)>we&&(We=oe.slice(we,We),tt[wt]?tt[wt]+=We:tt[++wt]=We),(Be=Be[0])===(Ue=Ue[0])?tt[wt]?tt[wt]+=Ue:tt[++wt]=Ue:(tt[++wt]=null,zt.push({i:wt,x:$s(Be,Ue)})),we=dc.lastIndex;return we<oe.length&&(We=oe.slice(we),tt[wt]?tt[wt]+=We:tt[++wt]=We),tt.length<2?zt[0]?(oe=zt[0].x,function(or){return oe(or)+\"\"}):function(){return oe}:(oe=zt.length,function(or){for(var lr=0,Dr;lr<oe;++lr)tt[(Dr=zt[lr]).i]=Dr.x(or);return tt.join(\"\")})}var Ms=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,dc=new RegExp(Ms.source,\"g\");e.interpolate=Sl;function Sl(Z,oe){for(var we=e.interpolators.length,Be;--we>=0&&!(Be=e.interpolators[we](Z,oe)););return Be}e.interpolators=[function(Z,oe){var we=typeof oe;return(we===\"string\"?Hr.has(oe.toLowerCase())||/^(#|rgb\\(|hsl\\()/i.test(oe)?Cc:hs:oe instanceof Wn?Cc:Array.isArray(oe)?ec:we===\"object\"&&isNaN(oe)?ws:$s)(Z,oe)}],e.interpolateArray=ec;function ec(Z,oe){var we=[],Be=[],Ue=Z.length,We=oe.length,wt=Math.min(Z.length,oe.length),tt;for(tt=0;tt<wt;++tt)we.push(Sl(Z[tt],oe[tt]));for(;tt<Ue;++tt)Be[tt]=Z[tt];for(;tt<We;++tt)Be[tt]=oe[tt];return function(zt){for(tt=0;tt<wt;++tt)Be[tt]=we[tt](zt);return Be}}var Ps=function(){return H},ov=e.map({linear:Ps,poly:Mh,quad:function(){return Ef},cubic:function(){return tc},sin:function(){return jc},exp:function(){return kf},circle:function(){return Ml},elastic:Yh,back:Eh,bounce:function(){return nh}}),wo=e.map({in:H,out:$o,\"in-out\":Ja,\"out-in\":function(Z){return Ja($o(Z))}});e.ease=function(Z){var oe=Z.indexOf(\"-\"),we=oe>=0?Z.slice(0,oe):Z,Be=oe>=0?Z.slice(oe+1):\"in\";return we=ov.get(we)||Ps,Be=wo.get(Be)||H,Od(Be(we.apply(null,t.call(arguments,1))))};function Od(Z){return function(oe){return oe<=0?0:oe>=1?1:Z(oe)}}function $o(Z){return function(oe){return 1-Z(1-oe)}}function Ja(Z){return function(oe){return .5*(oe<.5?Z(2*oe):2-Z(2-2*oe))}}function Ef(Z){return Z*Z}function tc(Z){return Z*Z*Z}function uu(Z){if(Z<=0)return 0;if(Z>=1)return 1;var oe=Z*Z,we=oe*Z;return 4*(Z<.5?we:3*(Z-oe)+we-.75)}function Mh(Z){return function(oe){return Math.pow(oe,Z)}}function jc(Z){return 1-Math.cos(Z*xe)}function kf(Z){return Math.pow(2,10*(Z-1))}function Ml(Z){return 1-Math.sqrt(1-Z*Z)}function Yh(Z,oe){var we;return arguments.length<2&&(oe=.45),arguments.length?we=oe/ht*Math.asin(1/Z):(Z=1,we=oe/4),function(Be){return 1+Z*Math.pow(2,-10*Be)*Math.sin((Be-we)*ht/oe)}}function Eh(Z){return Z||(Z=1.70158),function(oe){return oe*oe*((Z+1)*oe-Z)}}function nh(Z){return Z<1/2.75?7.5625*Z*Z:Z<2/2.75?7.5625*(Z-=1.5/2.75)*Z+.75:Z<2.5/2.75?7.5625*(Z-=2.25/2.75)*Z+.9375:7.5625*(Z-=2.625/2.75)*Z+.984375}e.interpolateHcl=hf;function hf(Z,oe){Z=e.hcl(Z),oe=e.hcl(oe);var we=Z.h,Be=Z.c,Ue=Z.l,We=oe.h-we,wt=oe.c-Be,tt=oe.l-Ue;return isNaN(wt)&&(wt=0,Be=isNaN(Be)?oe.c:Be),isNaN(We)?(We=0,we=isNaN(we)?oe.h:we):We>180?We-=360:We<-180&&(We+=360),function(zt){return Fr(we+We*zt,Be+wt*zt,Ue+tt*zt)+\"\"}}e.interpolateHsl=kh;function kh(Z,oe){Z=e.hsl(Z),oe=e.hsl(oe);var we=Z.h,Be=Z.s,Ue=Z.l,We=oe.h-we,wt=oe.s-Be,tt=oe.l-Ue;return isNaN(wt)&&(wt=0,Be=isNaN(Be)?oe.s:Be),isNaN(We)?(We=0,we=isNaN(we)?oe.h:we):We>180?We-=360:We<-180&&(We+=360),function(zt){return jt(we+We*zt,Be+wt*zt,Ue+tt*zt)+\"\"}}e.interpolateLab=Kh;function Kh(Z,oe){Z=e.lab(Z),oe=e.lab(oe);var we=Z.l,Be=Z.a,Ue=Z.b,We=oe.l-we,wt=oe.a-Be,tt=oe.b-Ue;return function(zt){return Gi(we+We*zt,Be+wt*zt,Ue+tt*zt)+\"\"}}e.interpolateRound=rc;function rc(Z,oe){return oe-=Z,function(we){return Math.round(Z+oe*we)}}e.transform=function(Z){var oe=n.createElementNS(e.ns.prefix.svg,\"g\");return(e.transform=function(we){if(we!=null){oe.setAttribute(\"transform\",we);var Be=oe.transform.baseVal.consolidate()}return new ah(Be?Be.matrix:Nf)})(Z)};function ah(Z){var oe=[Z.a,Z.b],we=[Z.c,Z.d],Be=df(oe),Ue=Wc(oe,we),We=df(Cu(we,oe,-Ue))||0;oe[0]*we[1]<we[0]*oe[1]&&(oe[0]*=-1,oe[1]*=-1,Be*=-1,Ue*=-1),this.rotate=(Be?Math.atan2(oe[1],oe[0]):Math.atan2(-we[0],we[1]))*lt,this.translate=[Z.e,Z.f],this.scale=[Be,We],this.skew=We?Math.atan2(Ue,We)*lt:0}ah.prototype.toString=function(){return\"translate(\"+this.translate+\")rotate(\"+this.rotate+\")skewX(\"+this.skew+\")scale(\"+this.scale+\")\"};function Wc(Z,oe){return Z[0]*oe[0]+Z[1]*oe[1]}function df(Z){var oe=Math.sqrt(Wc(Z,Z));return oe&&(Z[0]/=oe,Z[1]/=oe),oe}function Cu(Z,oe,we){return Z[0]+=we*oe[0],Z[1]+=we*oe[1],Z}var Nf={a:1,b:0,c:0,d:1,e:0,f:0};e.interpolateTransform=Cf;function Zc(Z){return Z.length?Z.pop()+\",\":\"\"}function ds(Z,oe,we,Be){if(Z[0]!==oe[0]||Z[1]!==oe[1]){var Ue=we.push(\"translate(\",null,\",\",null,\")\");Be.push({i:Ue-4,x:$s(Z[0],oe[0])},{i:Ue-2,x:$s(Z[1],oe[1])})}else(oe[0]||oe[1])&&we.push(\"translate(\"+oe+\")\")}function Ch(Z,oe,we,Be){Z!==oe?(Z-oe>180?oe+=360:oe-Z>180&&(Z+=360),Be.push({i:we.push(Zc(we)+\"rotate(\",null,\")\")-2,x:$s(Z,oe)})):oe&&we.push(Zc(we)+\"rotate(\"+oe+\")\")}function Bd(Z,oe,we,Be){Z!==oe?Be.push({i:we.push(Zc(we)+\"skewX(\",null,\")\")-2,x:$s(Z,oe)}):oe&&we.push(Zc(we)+\"skewX(\"+oe+\")\")}function Jh(Z,oe,we,Be){if(Z[0]!==oe[0]||Z[1]!==oe[1]){var Ue=we.push(Zc(we)+\"scale(\",null,\",\",null,\")\");Be.push({i:Ue-4,x:$s(Z[0],oe[0])},{i:Ue-2,x:$s(Z[1],oe[1])})}else(oe[0]!==1||oe[1]!==1)&&we.push(Zc(we)+\"scale(\"+oe+\")\")}function Cf(Z,oe){var we=[],Be=[];return Z=e.transform(Z),oe=e.transform(oe),ds(Z.translate,oe.translate,we,Be),Ch(Z.rotate,oe.rotate,we,Be),Bd(Z.skew,oe.skew,we,Be),Jh(Z.scale,oe.scale,we,Be),Z=oe=null,function(Ue){for(var We=-1,wt=Be.length,tt;++We<wt;)we[(tt=Be[We]).i]=tt.x(Ue);return we.join(\"\")}}function pd(Z,oe){return oe=(oe-=Z=+Z)||1/oe,function(we){return(we-Z)/oe}}function Lu(Z,oe){return oe=(oe-=Z=+Z)||1/oe,function(we){return Math.max(0,Math.min(1,(we-Z)/oe))}}e.layout={},e.layout.bundle=function(){return function(Z){for(var oe=[],we=-1,Be=Z.length;++we<Be;)oe.push($h(Z[we]));return oe}};function $h(Z){for(var oe=Z.source,we=Z.target,Be=Pu(oe,we),Ue=[oe];oe!==Be;)oe=oe.parent,Ue.push(oe);for(var We=Ue.length;we!==Be;)Ue.splice(We,0,we),we=we.parent;return Ue}function tu(Z){for(var oe=[],we=Z.parent;we!=null;)oe.push(Z),Z=we,we=we.parent;return oe.push(Z),oe}function Pu(Z,oe){if(Z===oe)return Z;for(var we=tu(Z),Be=tu(oe),Ue=we.pop(),We=Be.pop(),wt=null;Ue===We;)wt=Ue,Ue=we.pop(),We=Be.pop();return wt}e.layout.chord=function(){var Z={},oe,we,Be,Ue,We=0,wt,tt,zt;function or(){var Dr={},Ir=[],oi=e.range(Ue),ui=[],qr,Kr,ii,vi,ci;for(oe=[],we=[],qr=0,vi=-1;++vi<Ue;){for(Kr=0,ci=-1;++ci<Ue;)Kr+=Be[vi][ci];Ir.push(Kr),ui.push(e.range(Ue)),qr+=Kr}for(wt&&oi.sort(function(so,wa){return wt(Ir[so],Ir[wa])}),tt&&ui.forEach(function(so,wa){so.sort(function(io,Ss){return tt(Be[wa][io],Be[wa][Ss])})}),qr=(ht-We*Ue)/qr,Kr=0,vi=-1;++vi<Ue;){for(ii=Kr,ci=-1;++ci<Ue;){var Jr=oi[vi],un=ui[Jr][ci],dn=Be[Jr][un],En=Kr,Nn=Kr+=dn*qr;Dr[Jr+\"-\"+un]={index:Jr,subindex:un,startAngle:En,endAngle:Nn,value:dn}}we[Jr]={index:Jr,startAngle:ii,endAngle:Kr,value:Ir[Jr]},Kr+=We}for(vi=-1;++vi<Ue;)for(ci=vi-1;++ci<Ue;){var ga=Dr[vi+\"-\"+ci],ya=Dr[ci+\"-\"+vi];(ga.value||ya.value)&&oe.push(ga.value<ya.value?{source:ya,target:ga}:{source:ga,target:ya})}zt&&lr()}function lr(){oe.sort(function(Dr,Ir){return zt((Dr.source.value+Dr.target.value)/2,(Ir.source.value+Ir.target.value)/2)})}return Z.matrix=function(Dr){return arguments.length?(Ue=(Be=Dr)&&Be.length,oe=we=null,Z):Be},Z.padding=function(Dr){return arguments.length?(We=Dr,oe=we=null,Z):We},Z.sortGroups=function(Dr){return arguments.length?(wt=Dr,oe=we=null,Z):wt},Z.sortSubgroups=function(Dr){return arguments.length?(tt=Dr,oe=null,Z):tt},Z.sortChords=function(Dr){return arguments.length?(zt=Dr,oe&&lr(),Z):zt},Z.chords=function(){return oe||or(),oe},Z.groups=function(){return we||or(),we},Z},e.layout.force=function(){var Z={},oe=e.dispatch(\"start\",\"tick\",\"end\"),we,Be=[1,1],Ue,We,wt=.9,tt=Qs,zt=Qh,or=-30,lr=gd,Dr=.1,Ir=.64,oi=[],ui=[],qr,Kr,ii;function vi(Jr){return function(un,dn,En,Nn){if(un.point!==Jr){var ga=un.cx-Jr.x,ya=un.cy-Jr.y,so=Nn-dn,wa=ga*ga+ya*ya;if(so*so/Ir<wa){if(wa<lr){var io=un.charge/wa;Jr.px-=ga*io,Jr.py-=ya*io}return!0}if(un.point&&wa&&wa<lr){var io=un.pointCharge/wa;Jr.px-=ga*io,Jr.py-=ya*io}}return!un.charge}}Z.tick=function(){if((We*=.99)<.005)return we=null,oe.end({type:\"end\",alpha:We=0}),!0;var Jr=oi.length,un=ui.length,dn,En,Nn,ga,ya,so,wa,io,Ss;for(En=0;En<un;++En)Nn=ui[En],ga=Nn.source,ya=Nn.target,io=ya.x-ga.x,Ss=ya.y-ga.y,(so=io*io+Ss*Ss)&&(so=We*Kr[En]*((so=Math.sqrt(so))-qr[En])/so,io*=so,Ss*=so,ya.x-=io*(wa=ga.weight+ya.weight?ga.weight/(ga.weight+ya.weight):.5),ya.y-=Ss*wa,ga.x+=io*(wa=1-wa),ga.y+=Ss*wa);if((wa=We*Dr)&&(io=Be[0]/2,Ss=Be[1]/2,En=-1,wa))for(;++En<Jr;)Nn=oi[En],Nn.x+=(io-Nn.x)*wa,Nn.y+=(Ss-Nn.y)*wa;if(or)for(yu(dn=e.geom.quadtree(oi),We,ii),En=-1;++En<Jr;)(Nn=oi[En]).fixed||dn.visit(vi(Nn));for(En=-1;++En<Jr;)Nn=oi[En],Nn.fixed?(Nn.x=Nn.px,Nn.y=Nn.py):(Nn.x-=(Nn.px-(Nn.px=Nn.x))*wt,Nn.y-=(Nn.py-(Nn.py=Nn.y))*wt);oe.tick({type:\"tick\",alpha:We})},Z.nodes=function(Jr){return arguments.length?(oi=Jr,Z):oi},Z.links=function(Jr){return arguments.length?(ui=Jr,Z):ui},Z.size=function(Jr){return arguments.length?(Be=Jr,Z):Be},Z.linkDistance=function(Jr){return arguments.length?(tt=typeof Jr==\"function\"?Jr:+Jr,Z):tt},Z.distance=Z.linkDistance,Z.linkStrength=function(Jr){return arguments.length?(zt=typeof Jr==\"function\"?Jr:+Jr,Z):zt},Z.friction=function(Jr){return arguments.length?(wt=+Jr,Z):wt},Z.charge=function(Jr){return arguments.length?(or=typeof Jr==\"function\"?Jr:+Jr,Z):or},Z.chargeDistance=function(Jr){return arguments.length?(lr=Jr*Jr,Z):Math.sqrt(lr)},Z.gravity=function(Jr){return arguments.length?(Dr=+Jr,Z):Dr},Z.theta=function(Jr){return arguments.length?(Ir=Jr*Jr,Z):Math.sqrt(Ir)},Z.alpha=function(Jr){return arguments.length?(Jr=+Jr,We?Jr>0?We=Jr:(we.c=null,we.t=NaN,we=null,oe.end({type:\"end\",alpha:We=0})):Jr>0&&(oe.start({type:\"start\",alpha:We=Jr}),we=Oo(Z.tick)),Z):We},Z.start=function(){var Jr,un=oi.length,dn=ui.length,En=Be[0],Nn=Be[1],ga,ya;for(Jr=0;Jr<un;++Jr)(ya=oi[Jr]).index=Jr,ya.weight=0;for(Jr=0;Jr<dn;++Jr)ya=ui[Jr],typeof ya.source==\"number\"&&(ya.source=oi[ya.source]),typeof ya.target==\"number\"&&(ya.target=oi[ya.target]),++ya.source.weight,++ya.target.weight;for(Jr=0;Jr<un;++Jr)ya=oi[Jr],isNaN(ya.x)&&(ya.x=so(\"x\",En)),isNaN(ya.y)&&(ya.y=so(\"y\",Nn)),isNaN(ya.px)&&(ya.px=ya.x),isNaN(ya.py)&&(ya.py=ya.y);if(qr=[],typeof tt==\"function\")for(Jr=0;Jr<dn;++Jr)qr[Jr]=+tt.call(this,ui[Jr],Jr);else for(Jr=0;Jr<dn;++Jr)qr[Jr]=tt;if(Kr=[],typeof zt==\"function\")for(Jr=0;Jr<dn;++Jr)Kr[Jr]=+zt.call(this,ui[Jr],Jr);else for(Jr=0;Jr<dn;++Jr)Kr[Jr]=zt;if(ii=[],typeof or==\"function\")for(Jr=0;Jr<un;++Jr)ii[Jr]=+or.call(this,oi[Jr],Jr);else for(Jr=0;Jr<un;++Jr)ii[Jr]=or;function so(wa,io){if(!ga){for(ga=new Array(un),Ns=0;Ns<un;++Ns)ga[Ns]=[];for(Ns=0;Ns<dn;++Ns){var Ss=ui[Ns];ga[Ss.source.index].push(Ss.target),ga[Ss.target.index].push(Ss.source)}}for(var _s=ga[Jr],Ns=-1,pn=_s.length,za;++Ns<pn;)if(!isNaN(za=_s[Ns][wa]))return za;return Math.random()*io}return Z.resume()},Z.resume=function(){return Z.alpha(.1)},Z.stop=function(){return Z.alpha(0)},Z.drag=function(){if(Ue||(Ue=e.behavior.drag().origin(H).on(\"dragstart.force\",Lc).on(\"drag.force\",ci).on(\"dragend.force\",fl)),!arguments.length)return Ue;this.on(\"mouseover.force\",Xc).on(\"mouseout.force\",ic).call(Ue)};function ci(Jr){Jr.px=e.event.x,Jr.py=e.event.y,Z.resume()}return e.rebind(Z,oe,\"on\")};function Lc(Z){Z.fixed|=2}function fl(Z){Z.fixed&=-7}function Xc(Z){Z.fixed|=4,Z.px=Z.x,Z.py=Z.y}function ic(Z){Z.fixed&=-5}function yu(Z,oe,we){var Be=0,Ue=0;if(Z.charge=0,!Z.leaf)for(var We=Z.nodes,wt=We.length,tt=-1,zt;++tt<wt;)zt=We[tt],zt!=null&&(yu(zt,oe,we),Z.charge+=zt.charge,Be+=zt.charge*zt.cx,Ue+=zt.charge*zt.cy);if(Z.point){Z.leaf||(Z.point.x+=Math.random()-.5,Z.point.y+=Math.random()-.5);var or=oe*we[Z.point.index];Z.charge+=Z.pointCharge=or,Be+=or*Z.point.x,Ue+=or*Z.point.y}Z.cx=Be/Z.charge,Z.cy=Ue/Z.charge}var Qs=20,Qh=1,gd=1/0;e.layout.hierarchy=function(){var Z=Uf,oe=sv,we=Lf;function Be(Ue){var We=[Ue],wt=[],tt;for(Ue.depth=0;(tt=We.pop())!=null;)if(wt.push(tt),(or=oe.call(Be,tt,tt.depth))&&(zt=or.length)){for(var zt,or,lr;--zt>=0;)We.push(lr=or[zt]),lr.parent=tt,lr.depth=tt.depth+1;we&&(tt.value=0),tt.children=or}else we&&(tt.value=+we.call(Be,tt,tt.depth)||0),delete tt.children;return vc(Ue,function(Dr){var Ir,oi;Z&&(Ir=Dr.children)&&Ir.sort(Z),we&&(oi=Dr.parent)&&(oi.value+=Dr.value)}),wt}return Be.sort=function(Ue){return arguments.length?(Z=Ue,Be):Z},Be.children=function(Ue){return arguments.length?(oe=Ue,Be):oe},Be.value=function(Ue){return arguments.length?(we=Ue,Be):we},Be.revalue=function(Ue){return we&&(Pc(Ue,function(We){We.children&&(We.value=0)}),vc(Ue,function(We){var wt;We.children||(We.value=+we.call(Be,We,We.depth)||0),(wt=We.parent)&&(wt.value+=We.value)})),Ue},Be};function Gu(Z,oe){return e.rebind(Z,oe,\"sort\",\"children\",\"value\"),Z.nodes=Z,Z.links=Iu,Z}function Pc(Z,oe){for(var we=[Z];(Z=we.pop())!=null;)if(oe(Z),(Ue=Z.children)&&(Be=Ue.length))for(var Be,Ue;--Be>=0;)we.push(Ue[Be])}function vc(Z,oe){for(var we=[Z],Be=[];(Z=we.pop())!=null;)if(Be.push(Z),(wt=Z.children)&&(We=wt.length))for(var Ue=-1,We,wt;++Ue<We;)we.push(wt[Ue]);for(;(Z=Be.pop())!=null;)oe(Z)}function sv(Z){return Z.children}function Lf(Z){return Z.value}function Uf(Z,oe){return oe.value-Z.value}function Iu(Z){return e.merge(Z.map(function(oe){return(oe.children||[]).map(function(we){return{source:oe,target:we}})}))}e.layout.partition=function(){var Z=e.layout.hierarchy(),oe=[1,1];function we(We,wt,tt,zt){var or=We.children;if(We.x=wt,We.y=We.depth*zt,We.dx=tt,We.dy=zt,or&&(Dr=or.length)){var lr=-1,Dr,Ir,oi;for(tt=We.value?tt/We.value:0;++lr<Dr;)we(Ir=or[lr],wt,oi=Ir.value*tt,zt),wt+=oi}}function Be(We){var wt=We.children,tt=0;if(wt&&(or=wt.length))for(var zt=-1,or;++zt<or;)tt=Math.max(tt,Be(wt[zt]));return 1+tt}function Ue(We,wt){var tt=Z.call(this,We,wt);return we(tt[0],0,oe[0],oe[1]/Be(tt[0])),tt}return Ue.size=function(We){return arguments.length?(oe=We,Ue):oe},Gu(Ue,Z)},e.layout.pie=function(){var Z=Number,oe=oh,we=0,Be=ht,Ue=0;function We(wt){var tt=wt.length,zt=wt.map(function(vi,ci){return+Z.call(We,vi,ci)}),or=+(typeof we==\"function\"?we.apply(this,arguments):we),lr=(typeof Be==\"function\"?Be.apply(this,arguments):Be)-or,Dr=Math.min(Math.abs(lr)/tt,+(typeof Ue==\"function\"?Ue.apply(this,arguments):Ue)),Ir=Dr*(lr<0?-1:1),oi=e.sum(zt),ui=oi?(lr-tt*Ir)/oi:0,qr=e.range(tt),Kr=[],ii;return oe!=null&&qr.sort(oe===oh?function(vi,ci){return zt[ci]-zt[vi]}:function(vi,ci){return oe(wt[vi],wt[ci])}),qr.forEach(function(vi){Kr[vi]={data:wt[vi],value:ii=zt[vi],startAngle:or,endAngle:or+=ii*ui+Ir,padAngle:Dr}}),Kr}return We.value=function(wt){return arguments.length?(Z=wt,We):Z},We.sort=function(wt){return arguments.length?(oe=wt,We):oe},We.startAngle=function(wt){return arguments.length?(we=wt,We):we},We.endAngle=function(wt){return arguments.length?(Be=wt,We):Be},We.padAngle=function(wt){return arguments.length?(Ue=wt,We):Ue},We};var oh={};e.layout.stack=function(){var Z=H,oe=_u,we=xu,Be=md,Ue=ru,We=vf;function wt(tt,zt){if(!(ui=tt.length))return tt;var or=tt.map(function(vi,ci){return Z.call(wt,vi,ci)}),lr=or.map(function(vi){return vi.map(function(ci,Jr){return[Ue.call(wt,ci,Jr),We.call(wt,ci,Jr)]})}),Dr=oe.call(wt,lr,zt);or=e.permute(or,Dr),lr=e.permute(lr,Dr);var Ir=we.call(wt,lr,zt),oi=or[0].length,ui,qr,Kr,ii;for(Kr=0;Kr<oi;++Kr)for(Be.call(wt,or[0][Kr],ii=Ir[Kr],lr[0][Kr][1]),qr=1;qr<ui;++qr)Be.call(wt,or[qr][Kr],ii+=lr[qr-1][Kr][1],lr[qr][Kr][1]);return tt}return wt.values=function(tt){return arguments.length?(Z=tt,wt):Z},wt.order=function(tt){return arguments.length?(oe=typeof tt==\"function\"?tt:sh.get(tt)||_u,wt):oe},wt.offset=function(tt){return arguments.length?(we=typeof tt==\"function\"?tt:Fs.get(tt)||xu,wt):we},wt.x=function(tt){return arguments.length?(Ue=tt,wt):Ue},wt.y=function(tt){return arguments.length?(We=tt,wt):We},wt.out=function(tt){return arguments.length?(Be=tt,wt):Be},wt};function ru(Z){return Z.x}function vf(Z){return Z.y}function md(Z,oe,we){Z.y0=oe,Z.y=we}var sh=e.map({\"inside-out\":function(Z){var oe=Z.length,we,Be,Ue=Z.map(Lh),We=Z.map(Is),wt=e.range(oe).sort(function(Dr,Ir){return Ue[Dr]-Ue[Ir]}),tt=0,zt=0,or=[],lr=[];for(we=0;we<oe;++we)Be=wt[we],tt<zt?(tt+=We[Be],or.push(Be)):(zt+=We[Be],lr.push(Be));return lr.reverse().concat(or)},reverse:function(Z){return e.range(Z.length).reverse()},default:_u}),Fs=e.map({silhouette:function(Z){var oe=Z.length,we=Z[0].length,Be=[],Ue=0,We,wt,tt,zt=[];for(wt=0;wt<we;++wt){for(We=0,tt=0;We<oe;We++)tt+=Z[We][wt][1];tt>Ue&&(Ue=tt),Be.push(tt)}for(wt=0;wt<we;++wt)zt[wt]=(Ue-Be[wt])/2;return zt},wiggle:function(Z){var oe=Z.length,we=Z[0],Be=we.length,Ue,We,wt,tt,zt,or,lr,Dr,Ir,oi=[];for(oi[0]=Dr=Ir=0,We=1;We<Be;++We){for(Ue=0,tt=0;Ue<oe;++Ue)tt+=Z[Ue][We][1];for(Ue=0,zt=0,lr=we[We][0]-we[We-1][0];Ue<oe;++Ue){for(wt=0,or=(Z[Ue][We][1]-Z[Ue][We-1][1])/(2*lr);wt<Ue;++wt)or+=(Z[wt][We][1]-Z[wt][We-1][1])/lr;zt+=or*Z[Ue][We][1]}oi[We]=Dr-=tt?zt/tt*lr:0,Dr<Ir&&(Ir=Dr)}for(We=0;We<Be;++We)oi[We]-=Ir;return oi},expand:function(Z){var oe=Z.length,we=Z[0].length,Be=1/oe,Ue,We,wt,tt=[];for(We=0;We<we;++We){for(Ue=0,wt=0;Ue<oe;Ue++)wt+=Z[Ue][We][1];if(wt)for(Ue=0;Ue<oe;Ue++)Z[Ue][We][1]/=wt;else for(Ue=0;Ue<oe;Ue++)Z[Ue][We][1]=Be}for(We=0;We<we;++We)tt[We]=0;return tt},zero:xu});function _u(Z){return e.range(Z.length)}function xu(Z){for(var oe=-1,we=Z[0].length,Be=[];++oe<we;)Be[oe]=0;return Be}function Lh(Z){for(var oe=1,we=0,Be=Z[0][1],Ue,We=Z.length;oe<We;++oe)(Ue=Z[oe][1])>Be&&(we=oe,Be=Ue);return we}function Is(Z){return Z.reduce(Pf,0)}function Pf(Z,oe){return Z+oe[1]}e.layout.histogram=function(){var Z=!0,oe=Number,we=Vf,Be=Ic;function Ue(We,Ir){for(var tt=[],zt=We.map(oe,this),or=we.call(this,zt,Ir),lr=Be.call(this,or,zt,Ir),Dr,Ir=-1,oi=zt.length,ui=lr.length-1,qr=Z?1:1/oi,Kr;++Ir<ui;)Dr=tt[Ir]=[],Dr.dx=lr[Ir+1]-(Dr.x=lr[Ir]),Dr.y=0;if(ui>0)for(Ir=-1;++Ir<oi;)Kr=zt[Ir],Kr>=or[0]&&Kr<=or[1]&&(Dr=tt[e.bisect(lr,Kr,1,ui)-1],Dr.y+=qr,Dr.push(We[Ir]));return tt}return Ue.value=function(We){return arguments.length?(oe=We,Ue):oe},Ue.range=function(We){return arguments.length?(we=ti(We),Ue):we},Ue.bins=function(We){return arguments.length?(Be=typeof We==\"number\"?function(wt){return ju(wt,We)}:ti(We),Ue):Be},Ue.frequency=function(We){return arguments.length?(Z=!!We,Ue):Z},Ue};function Ic(Z,oe){return ju(Z,Math.ceil(Math.log(oe.length)/Math.LN2+1))}function ju(Z,oe){for(var we=-1,Be=+Z[0],Ue=(Z[1]-Be)/oe,We=[];++we<=oe;)We[we]=Ue*we+Be;return We}function Vf(Z){return[e.min(Z),e.max(Z)]}e.layout.pack=function(){var Z=e.layout.hierarchy().sort(pc),oe=0,we=[1,1],Be;function Ue(We,wt){var tt=Z.call(this,We,wt),zt=tt[0],or=we[0],lr=we[1],Dr=Be==null?Math.sqrt:typeof Be==\"function\"?Be:function(){return Be};if(zt.x=zt.y=0,vc(zt,function(oi){oi.r=+Dr(oi.value)}),vc(zt,Ih),oe){var Ir=oe*(Be?1:Math.max(2*zt.r/or,2*zt.r/lr))/2;vc(zt,function(oi){oi.r+=Ir}),vc(zt,Ih),vc(zt,function(oi){oi.r-=Ir})}return gc(zt,or/2,lr/2,Be?1:1/Math.max(2*zt.r/or,2*zt.r/lr)),tt}return Ue.size=function(We){return arguments.length?(we=We,Ue):we},Ue.radius=function(We){return arguments.length?(Be=We==null||typeof We==\"function\"?We:+We,Ue):Be},Ue.padding=function(We){return arguments.length?(oe=+We,Ue):oe},Gu(Ue,Z)};function pc(Z,oe){return Z.value-oe.value}function pf(Z,oe){var we=Z._pack_next;Z._pack_next=oe,oe._pack_prev=Z,oe._pack_next=we,we._pack_prev=oe}function Ph(Z,oe){Z._pack_next=oe,oe._pack_prev=Z}function Dl(Z,oe){var we=oe.x-Z.x,Be=oe.y-Z.y,Ue=Z.r+oe.r;return .999*Ue*Ue>we*we+Be*Be}function Ih(Z){if(!(oe=Z.children)||!(Ir=oe.length))return;var oe,we=1/0,Be=-1/0,Ue=1/0,We=-1/0,wt,tt,zt,or,lr,Dr,Ir;function oi(Jr){we=Math.min(Jr.x-Jr.r,we),Be=Math.max(Jr.x+Jr.r,Be),Ue=Math.min(Jr.y-Jr.r,Ue),We=Math.max(Jr.y+Jr.r,We)}if(oe.forEach(Wu),wt=oe[0],wt.x=-wt.r,wt.y=0,oi(wt),Ir>1&&(tt=oe[1],tt.x=tt.r,tt.y=0,oi(tt),Ir>2))for(zt=oe[2],hl(wt,tt,zt),oi(zt),pf(wt,zt),wt._pack_prev=zt,pf(zt,tt),tt=wt._pack_next,or=3;or<Ir;or++){hl(wt,tt,zt=oe[or]);var ui=0,qr=1,Kr=1;for(lr=tt._pack_next;lr!==tt;lr=lr._pack_next,qr++)if(Dl(lr,zt)){ui=1;break}if(ui==1)for(Dr=wt._pack_prev;Dr!==lr._pack_prev&&!Dl(Dr,zt);Dr=Dr._pack_prev,Kr++);ui?(qr<Kr||qr==Kr&&tt.r<wt.r?Ph(wt,tt=lr):Ph(wt=Dr,tt),or--):(pf(wt,zt),tt=zt,oi(zt))}var ii=(we+Be)/2,vi=(Ue+We)/2,ci=0;for(or=0;or<Ir;or++)zt=oe[or],zt.x-=ii,zt.y-=vi,ci=Math.max(ci,zt.r+Math.sqrt(zt.x*zt.x+zt.y*zt.y));Z.r=ci,oe.forEach(Rc)}function Wu(Z){Z._pack_next=Z._pack_prev=Z}function Rc(Z){delete Z._pack_next,delete Z._pack_prev}function gc(Z,oe,we,Be){var Ue=Z.children;if(Z.x=oe+=Be*Z.x,Z.y=we+=Be*Z.y,Z.r*=Be,Ue)for(var We=-1,wt=Ue.length;++We<wt;)gc(Ue[We],oe,we,Be)}function hl(Z,oe,we){var Be=Z.r+we.r,Ue=oe.x-Z.x,We=oe.y-Z.y;if(Be&&(Ue||We)){var wt=oe.r+we.r,tt=Ue*Ue+We*We;wt*=wt,Be*=Be;var zt=.5+(Be-wt)/(2*tt),or=Math.sqrt(Math.max(0,2*wt*(Be+tt)-(Be-=tt)*Be-wt*wt))/(2*tt);we.x=Z.x+zt*Ue+or*We,we.y=Z.y+zt*We-or*Ue}else we.x=Z.x+Be,we.y=Z.y}e.layout.tree=function(){var Z=e.layout.hierarchy().sort(null).value(null),oe=iu,we=[1,1],Be=null;function Ue(lr,Dr){var Ir=Z.call(this,lr,Dr),oi=Ir[0],ui=We(oi);if(vc(ui,wt),ui.parent.m=-ui.z,Pc(ui,tt),Be)Pc(oi,or);else{var qr=oi,Kr=oi,ii=oi;Pc(oi,function(un){un.x<qr.x&&(qr=un),un.x>Kr.x&&(Kr=un),un.depth>ii.depth&&(ii=un)});var vi=oe(qr,Kr)/2-qr.x,ci=we[0]/(Kr.x+oe(Kr,qr)/2+vi),Jr=we[1]/(ii.depth||1);Pc(oi,function(un){un.x=(un.x+vi)*ci,un.y=un.depth*Jr})}return Ir}function We(lr){for(var Dr={A:null,children:[lr]},Ir=[Dr],oi;(oi=Ir.pop())!=null;)for(var ui=oi.children,qr,Kr=0,ii=ui.length;Kr<ii;++Kr)Ir.push((ui[Kr]=qr={_:ui[Kr],parent:oi,children:(qr=ui[Kr].children)&&qr.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:Kr}).a=qr);return Dr.children[0]}function wt(lr){var Dr=lr.children,Ir=lr.parent.children,oi=lr.i?Ir[lr.i-1]:null;if(Dr.length){gf(lr);var ui=(Dr[0].z+Dr[Dr.length-1].z)/2;oi?(lr.z=oi.z+oe(lr._,oi._),lr.m=lr.z-ui):lr.z=ui}else oi&&(lr.z=oi.z+oe(lr._,oi._));lr.parent.A=zt(lr,oi,lr.parent.A||Ir[0])}function tt(lr){lr._.x=lr.z+lr.parent.m,lr.m+=lr.parent.m}function zt(lr,Dr,Ir){if(Dr){for(var oi=lr,ui=lr,qr=Dr,Kr=oi.parent.children[0],ii=oi.m,vi=ui.m,ci=qr.m,Jr=Kr.m,un;qr=Yc(qr),oi=mc(oi),qr&&oi;)Kr=mc(Kr),ui=Yc(ui),ui.a=lr,un=qr.z+ci-oi.z-ii+oe(qr._,oi._),un>0&&(nc(gt(qr,lr,Ir),lr,un),ii+=un,vi+=un),ci+=qr.m,ii+=oi.m,Jr+=Kr.m,vi+=ui.m;qr&&!Yc(ui)&&(ui.t=qr,ui.m+=ci-vi),oi&&!mc(Kr)&&(Kr.t=oi,Kr.m+=ii-Jr,Ir=lr)}return Ir}function or(lr){lr.x*=we[0],lr.y=lr.depth*we[1]}return Ue.separation=function(lr){return arguments.length?(oe=lr,Ue):oe},Ue.size=function(lr){return arguments.length?(Be=(we=lr)==null?or:null,Ue):Be?null:we},Ue.nodeSize=function(lr){return arguments.length?(Be=(we=lr)==null?null:or,Ue):Be?we:null},Gu(Ue,Z)};function iu(Z,oe){return Z.parent==oe.parent?1:2}function mc(Z){var oe=Z.children;return oe.length?oe[0]:Z.t}function Yc(Z){var oe=Z.children,we;return(we=oe.length)?oe[we-1]:Z.t}function nc(Z,oe,we){var Be=we/(oe.i-Z.i);oe.c-=Be,oe.s+=we,Z.c+=Be,oe.z+=we,oe.m+=we}function gf(Z){for(var oe=0,we=0,Be=Z.children,Ue=Be.length,We;--Ue>=0;)We=Be[Ue],We.z+=oe,We.m+=oe,oe+=We.s+(we+=We.c)}function gt(Z,oe,we){return Z.a.parent===oe.parent?Z.a:we}e.layout.cluster=function(){var Z=e.layout.hierarchy().sort(null).value(null),oe=iu,we=[1,1],Be=!1;function Ue(We,wt){var tt=Z.call(this,We,wt),zt=tt[0],or,lr=0;vc(zt,function(qr){var Kr=qr.children;Kr&&Kr.length?(qr.x=wr(Kr),qr.y=Bt(Kr)):(qr.x=or?lr+=oe(qr,or):0,qr.y=0,or=qr)});var Dr=vr(zt),Ir=Ur(zt),oi=Dr.x-oe(Dr,Ir)/2,ui=Ir.x+oe(Ir,Dr)/2;return vc(zt,Be?function(qr){qr.x=(qr.x-zt.x)*we[0],qr.y=(zt.y-qr.y)*we[1]}:function(qr){qr.x=(qr.x-oi)/(ui-oi)*we[0],qr.y=(1-(zt.y?qr.y/zt.y:1))*we[1]}),tt}return Ue.separation=function(We){return arguments.length?(oe=We,Ue):oe},Ue.size=function(We){return arguments.length?(Be=(we=We)==null,Ue):Be?null:we},Ue.nodeSize=function(We){return arguments.length?(Be=(we=We)!=null,Ue):Be?we:null},Gu(Ue,Z)};function Bt(Z){return 1+e.max(Z,function(oe){return oe.y})}function wr(Z){return Z.reduce(function(oe,we){return oe+we.x},0)/Z.length}function vr(Z){var oe=Z.children;return oe&&oe.length?vr(oe[0]):Z}function Ur(Z){var oe=Z.children,we;return oe&&(we=oe.length)?Ur(oe[we-1]):Z}e.layout.treemap=function(){var Z=e.layout.hierarchy(),oe=Math.round,we=[1,1],Be=null,Ue=fi,We=!1,wt,tt=\"squarify\",zt=.5*(1+Math.sqrt(5));function or(qr,Kr){for(var ii=-1,vi=qr.length,ci,Jr;++ii<vi;)Jr=(ci=qr[ii]).value*(Kr<0?0:Kr),ci.area=isNaN(Jr)||Jr<=0?0:Jr}function lr(qr){var Kr=qr.children;if(Kr&&Kr.length){var ii=Ue(qr),vi=[],ci=Kr.slice(),Jr,un=1/0,dn,En=tt===\"slice\"?ii.dx:tt===\"dice\"?ii.dy:tt===\"slice-dice\"?qr.depth&1?ii.dy:ii.dx:Math.min(ii.dx,ii.dy),Nn;for(or(ci,ii.dx*ii.dy/qr.value),vi.area=0;(Nn=ci.length)>0;)vi.push(Jr=ci[Nn-1]),vi.area+=Jr.area,tt!==\"squarify\"||(dn=Ir(vi,En))<=un?(ci.pop(),un=dn):(vi.area-=vi.pop().area,oi(vi,En,ii,!1),En=Math.min(ii.dx,ii.dy),vi.length=vi.area=0,un=1/0);vi.length&&(oi(vi,En,ii,!0),vi.length=vi.area=0),Kr.forEach(lr)}}function Dr(qr){var Kr=qr.children;if(Kr&&Kr.length){var ii=Ue(qr),vi=Kr.slice(),ci,Jr=[];for(or(vi,ii.dx*ii.dy/qr.value),Jr.area=0;ci=vi.pop();)Jr.push(ci),Jr.area+=ci.area,ci.z!=null&&(oi(Jr,ci.z?ii.dx:ii.dy,ii,!vi.length),Jr.length=Jr.area=0);Kr.forEach(Dr)}}function Ir(qr,Kr){for(var ii=qr.area,vi,ci=0,Jr=1/0,un=-1,dn=qr.length;++un<dn;)(vi=qr[un].area)&&(vi<Jr&&(Jr=vi),vi>ci&&(ci=vi));return ii*=ii,Kr*=Kr,ii?Math.max(Kr*ci*zt/ii,ii/(Kr*Jr*zt)):1/0}function oi(qr,Kr,ii,vi){var ci=-1,Jr=qr.length,un=ii.x,dn=ii.y,En=Kr?oe(qr.area/Kr):0,Nn;if(Kr==ii.dx){for((vi||En>ii.dy)&&(En=ii.dy);++ci<Jr;)Nn=qr[ci],Nn.x=un,Nn.y=dn,Nn.dy=En,un+=Nn.dx=Math.min(ii.x+ii.dx-un,En?oe(Nn.area/En):0);Nn.z=!0,Nn.dx+=ii.x+ii.dx-un,ii.y+=En,ii.dy-=En}else{for((vi||En>ii.dx)&&(En=ii.dx);++ci<Jr;)Nn=qr[ci],Nn.x=un,Nn.y=dn,Nn.dx=En,dn+=Nn.dy=Math.min(ii.y+ii.dy-dn,En?oe(Nn.area/En):0);Nn.z=!1,Nn.dy+=ii.y+ii.dy-dn,ii.x+=En,ii.dx-=En}}function ui(qr){var Kr=wt||Z(qr),ii=Kr[0];return ii.x=ii.y=0,ii.value?(ii.dx=we[0],ii.dy=we[1]):ii.dx=ii.dy=0,wt&&Z.revalue(ii),or([ii],ii.dx*ii.dy/ii.value),(wt?Dr:lr)(ii),We&&(wt=Kr),Kr}return ui.size=function(qr){return arguments.length?(we=qr,ui):we},ui.padding=function(qr){if(!arguments.length)return Be;function Kr(ci){var Jr=qr.call(ui,ci,ci.depth);return Jr==null?fi(ci):xi(ci,typeof Jr==\"number\"?[Jr,Jr,Jr,Jr]:Jr)}function ii(ci){return xi(ci,qr)}var vi;return Ue=(Be=qr)==null?fi:(vi=typeof qr)==\"function\"?Kr:(vi===\"number\"&&(qr=[qr,qr,qr,qr]),ii),ui},ui.round=function(qr){return arguments.length?(oe=qr?Math.round:Number,ui):oe!=Number},ui.sticky=function(qr){return arguments.length?(We=qr,wt=null,ui):We},ui.ratio=function(qr){return arguments.length?(zt=qr,ui):zt},ui.mode=function(qr){return arguments.length?(tt=qr+\"\",ui):tt},Gu(ui,Z)};function fi(Z){return{x:Z.x,y:Z.y,dx:Z.dx,dy:Z.dy}}function xi(Z,oe){var we=Z.x+oe[3],Be=Z.y+oe[0],Ue=Z.dx-oe[1]-oe[3],We=Z.dy-oe[0]-oe[2];return Ue<0&&(we+=Ue/2,Ue=0),We<0&&(Be+=We/2,We=0),{x:we,y:Be,dx:Ue,dy:We}}e.random={normal:function(Z,oe){var we=arguments.length;return we<2&&(oe=1),we<1&&(Z=0),function(){var Be,Ue,We;do Be=Math.random()*2-1,Ue=Math.random()*2-1,We=Be*Be+Ue*Ue;while(!We||We>1);return Z+oe*Be*Math.sqrt(-2*Math.log(We)/We)}},logNormal:function(){var Z=e.random.normal.apply(e,arguments);return function(){return Math.exp(Z())}},bates:function(Z){var oe=e.random.irwinHall(Z);return function(){return oe()/Z}},irwinHall:function(Z){return function(){for(var oe=0,we=0;we<Z;we++)oe+=Math.random();return oe}}},e.scale={};function Fi(Z){var oe=Z[0],we=Z[Z.length-1];return oe<we?[oe,we]:[we,oe]}function Xi(Z){return Z.rangeExtent?Z.rangeExtent():Fi(Z.range())}function hn(Z,oe,we,Be){var Ue=we(Z[0],Z[1]),We=Be(oe[0],oe[1]);return function(wt){return We(Ue(wt))}}function Ti(Z,oe){var we=0,Be=Z.length-1,Ue=Z[we],We=Z[Be],wt;return We<Ue&&(wt=we,we=Be,Be=wt,wt=Ue,Ue=We,We=wt),Z[we]=oe.floor(Ue),Z[Be]=oe.ceil(We),Z}function qi(Z){return Z?{floor:function(oe){return Math.floor(oe/Z)*Z},ceil:function(oe){return Math.ceil(oe/Z)*Z}}:Ii}var Ii={floor:H,ceil:H};function mi(Z,oe,we,Be){var Ue=[],We=[],wt=0,tt=Math.min(Z.length,oe.length)-1;for(Z[tt]<Z[0]&&(Z=Z.slice().reverse(),oe=oe.slice().reverse());++wt<=tt;)Ue.push(we(Z[wt-1],Z[wt])),We.push(Be(oe[wt-1],oe[wt]));return function(zt){var or=e.bisect(Z,zt,1,tt)-1;return We[or](Ue[or](zt))}}e.scale.linear=function(){return Pn([0,1],[0,1],Sl,!1)};function Pn(Z,oe,we,Be){var Ue,We;function wt(){var zt=Math.min(Z.length,oe.length)>2?mi:hn,or=Be?Lu:pd;return Ue=zt(Z,oe,or,we),We=zt(oe,Z,or,Sl),tt}function tt(zt){return Ue(zt)}return tt.invert=function(zt){return We(zt)},tt.domain=function(zt){return arguments.length?(Z=zt.map(Number),wt()):Z},tt.range=function(zt){return arguments.length?(oe=zt,wt()):oe},tt.rangeRound=function(zt){return tt.range(zt).interpolate(rc)},tt.clamp=function(zt){return arguments.length?(Be=zt,wt()):Be},tt.interpolate=function(zt){return arguments.length?(we=zt,wt()):we},tt.ticks=function(zt){return qa(Z,zt)},tt.tickFormat=function(zt,or){return d3_scale_linearTickFormat(Z,zt,or)},tt.nice=function(zt){return Ta(Z,zt),wt()},tt.copy=function(){return Pn(Z,oe,we,Be)},wt()}function Ma(Z,oe){return e.rebind(Z,oe,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function Ta(Z,oe){return Ti(Z,qi(Ea(Z,oe)[2])),Ti(Z,qi(Ea(Z,oe)[2])),Z}function Ea(Z,oe){oe==null&&(oe=10);var we=Fi(Z),Be=we[1]-we[0],Ue=Math.pow(10,Math.floor(Math.log(Be/oe)/Math.LN10)),We=oe/Be*Ue;return We<=.15?Ue*=10:We<=.35?Ue*=5:We<=.75&&(Ue*=2),we[0]=Math.ceil(we[0]/Ue)*Ue,we[1]=Math.floor(we[1]/Ue)*Ue+Ue*.5,we[2]=Ue,we}function qa(Z,oe){return e.range.apply(e,Ea(Z,oe))}var Cn={s:1,g:1,p:1,r:1,e:1};function sn(Z){return-Math.floor(Math.log(Z)/Math.LN10+.01)}function Ua(Z,oe){var we=sn(oe[2]);return Z in Cn?Math.abs(we-sn(Math.max(p(oe[0]),p(oe[1]))))+ +(Z!==\"e\"):we-(Z===\"%\")*2}e.scale.log=function(){return mo(e.scale.linear().domain([0,1]),10,!0,[1,10])};function mo(Z,oe,we,Be){function Ue(tt){return(we?Math.log(tt<0?0:tt):-Math.log(tt>0?0:-tt))/Math.log(oe)}function We(tt){return we?Math.pow(oe,tt):-Math.pow(oe,-tt)}function wt(tt){return Z(Ue(tt))}return wt.invert=function(tt){return We(Z.invert(tt))},wt.domain=function(tt){return arguments.length?(we=tt[0]>=0,Z.domain((Be=tt.map(Number)).map(Ue)),wt):Be},wt.base=function(tt){return arguments.length?(oe=+tt,Z.domain(Be.map(Ue)),wt):oe},wt.nice=function(){var tt=Ti(Be.map(Ue),we?Math:Xo);return Z.domain(tt),Be=tt.map(We),wt},wt.ticks=function(){var tt=Fi(Be),zt=[],or=tt[0],lr=tt[1],Dr=Math.floor(Ue(or)),Ir=Math.ceil(Ue(lr)),oi=oe%1?2:oe;if(isFinite(Ir-Dr)){if(we){for(;Dr<Ir;Dr++)for(var ui=1;ui<oi;ui++)zt.push(We(Dr)*ui);zt.push(We(Dr))}else for(zt.push(We(Dr));Dr++<Ir;)for(var ui=oi-1;ui>0;ui--)zt.push(We(Dr)*ui);for(Dr=0;zt[Dr]<or;Dr++);for(Ir=zt.length;zt[Ir-1]>lr;Ir--);zt=zt.slice(Dr,Ir)}return zt},wt.copy=function(){return mo(Z.copy(),oe,we,Be)},Ma(wt,Z)}var Xo={floor:function(Z){return-Math.ceil(-Z)},ceil:function(Z){return-Math.floor(-Z)}};e.scale.pow=function(){return Ts(e.scale.linear(),1,[0,1])};function Ts(Z,oe,we){var Be=Qo(oe),Ue=Qo(1/oe);function We(wt){return Z(Be(wt))}return We.invert=function(wt){return Ue(Z.invert(wt))},We.domain=function(wt){return arguments.length?(Z.domain((we=wt.map(Number)).map(Be)),We):we},We.ticks=function(wt){return qa(we,wt)},We.tickFormat=function(wt,tt){return d3_scale_linearTickFormat(we,wt,tt)},We.nice=function(wt){return We.domain(Ta(we,wt))},We.exponent=function(wt){return arguments.length?(Be=Qo(oe=wt),Ue=Qo(1/oe),Z.domain(we.map(Be)),We):oe},We.copy=function(){return Ts(Z.copy(),oe,we)},Ma(We,Z)}function Qo(Z){return function(oe){return oe<0?-Math.pow(-oe,Z):Math.pow(oe,Z)}}e.scale.sqrt=function(){return e.scale.pow().exponent(.5)},e.scale.ordinal=function(){return ys([],{t:\"range\",a:[[]]})};function ys(Z,oe){var we,Be,Ue;function We(tt){return Be[((we.get(tt)||(oe.t===\"range\"?we.set(tt,Z.push(tt)):NaN))-1)%Be.length]}function wt(tt,zt){return e.range(Z.length).map(function(or){return tt+zt*or})}return We.domain=function(tt){if(!arguments.length)return Z;Z=[],we=new A;for(var zt=-1,or=tt.length,lr;++zt<or;)we.has(lr=tt[zt])||we.set(lr,Z.push(lr));return We[oe.t].apply(We,oe.a)},We.range=function(tt){return arguments.length?(Be=tt,Ue=0,oe={t:\"range\",a:arguments},We):Be},We.rangePoints=function(tt,zt){arguments.length<2&&(zt=0);var or=tt[0],lr=tt[1],Dr=Z.length<2?(or=(or+lr)/2,0):(lr-or)/(Z.length-1+zt);return Be=wt(or+Dr*zt/2,Dr),Ue=0,oe={t:\"rangePoints\",a:arguments},We},We.rangeRoundPoints=function(tt,zt){arguments.length<2&&(zt=0);var or=tt[0],lr=tt[1],Dr=Z.length<2?(or=lr=Math.round((or+lr)/2),0):(lr-or)/(Z.length-1+zt)|0;return Be=wt(or+Math.round(Dr*zt/2+(lr-or-(Z.length-1+zt)*Dr)/2),Dr),Ue=0,oe={t:\"rangeRoundPoints\",a:arguments},We},We.rangeBands=function(tt,zt,or){arguments.length<2&&(zt=0),arguments.length<3&&(or=zt);var lr=tt[1]<tt[0],Dr=tt[lr-0],Ir=tt[1-lr],oi=(Ir-Dr)/(Z.length-zt+2*or);return Be=wt(Dr+oi*or,oi),lr&&Be.reverse(),Ue=oi*(1-zt),oe={t:\"rangeBands\",a:arguments},We},We.rangeRoundBands=function(tt,zt,or){arguments.length<2&&(zt=0),arguments.length<3&&(or=zt);var lr=tt[1]<tt[0],Dr=tt[lr-0],Ir=tt[1-lr],oi=Math.floor((Ir-Dr)/(Z.length-zt+2*or));return Be=wt(Dr+Math.round((Ir-Dr-(Z.length-zt)*oi)/2),oi),lr&&Be.reverse(),Ue=Math.round(oi*(1-zt)),oe={t:\"rangeRoundBands\",a:arguments},We},We.rangeBand=function(){return Ue},We.rangeExtent=function(){return Fi(oe.a[0])},We.copy=function(){return ys(Z,oe)},We.domain(Z)}e.scale.category10=function(){return e.scale.ordinal().range(Bo)},e.scale.category20=function(){return e.scale.ordinal().range(yl)},e.scale.category20b=function(){return e.scale.ordinal().range(Gs)},e.scale.category20c=function(){return e.scale.ordinal().range(Rs)};var Bo=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(jo),yl=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(jo),Gs=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(jo),Rs=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(jo);e.scale.quantile=function(){return ia([],[])};function ia(Z,oe){var we;function Be(){var We=0,wt=oe.length;for(we=[];++We<wt;)we[We-1]=e.quantile(Z,We/wt);return Ue}function Ue(We){if(!isNaN(We=+We))return oe[e.bisect(we,We)]}return Ue.domain=function(We){return arguments.length?(Z=We.map(h).filter(d).sort(f),Be()):Z},Ue.range=function(We){return arguments.length?(oe=We,Be()):oe},Ue.quantiles=function(){return we},Ue.invertExtent=function(We){return We=oe.indexOf(We),We<0?[NaN,NaN]:[We>0?we[We-1]:Z[0],We<we.length?we[We]:Z[Z.length-1]]},Ue.copy=function(){return ia(Z,oe)},Be()}e.scale.quantize=function(){return Ka(0,1,[0,1])};function Ka(Z,oe,we){var Be,Ue;function We(tt){return we[Math.max(0,Math.min(Ue,Math.floor(Be*(tt-Z))))]}function wt(){return Be=we.length/(oe-Z),Ue=we.length-1,We}return We.domain=function(tt){return arguments.length?(Z=+tt[0],oe=+tt[tt.length-1],wt()):[Z,oe]},We.range=function(tt){return arguments.length?(we=tt,wt()):we},We.invertExtent=function(tt){return tt=we.indexOf(tt),tt=tt<0?NaN:tt/Be+Z,[tt,tt+1/Be]},We.copy=function(){return Ka(Z,oe,we)},wt()}e.scale.threshold=function(){return vs([.5],[0,1])};function vs(Z,oe){function we(Be){if(Be<=Be)return oe[e.bisect(Z,Be)]}return we.domain=function(Be){return arguments.length?(Z=Be,we):Z},we.range=function(Be){return arguments.length?(oe=Be,we):oe},we.invertExtent=function(Be){return Be=oe.indexOf(Be),[Z[Be-1],Z[Be]]},we.copy=function(){return vs(Z,oe)},we}e.scale.identity=function(){return Ko([0,1])};function Ko(Z){function oe(we){return+we}return oe.invert=oe,oe.domain=oe.range=function(we){return arguments.length?(Z=we.map(oe),oe):Z},oe.ticks=function(we){return qa(Z,we)},oe.tickFormat=function(we,Be){return d3_scale_linearTickFormat(Z,we,Be)},oe.copy=function(){return Ko(Z)},oe}e.svg={};function nu(){return 0}e.svg.arc=function(){var Z=ac,oe=mf,we=nu,Be=Ru,Ue=bu,We=Kc,wt=Du;function tt(){var or=Math.max(0,+Z.apply(this,arguments)),lr=Math.max(0,+oe.apply(this,arguments)),Dr=Ue.apply(this,arguments)-xe,Ir=We.apply(this,arguments)-xe,oi=Math.abs(Ir-Dr),ui=Dr>Ir?0:1;if(lr<or&&(qr=lr,lr=or,or=qr),oi>=Le)return zt(lr,ui)+(or?zt(or,1-ui):\"\")+\"Z\";var qr,Kr,ii,vi,ci=0,Jr=0,un,dn,En,Nn,ga,ya,so,wa,io=[];if((vi=(+wt.apply(this,arguments)||0)/2)&&(ii=Be===Ru?Math.sqrt(or*or+lr*lr):+Be.apply(this,arguments),ui||(Jr*=-1),lr&&(Jr=Qr(ii/lr*Math.sin(vi))),or&&(ci=Qr(ii/or*Math.sin(vi)))),lr){un=lr*Math.cos(Dr+Jr),dn=lr*Math.sin(Dr+Jr),En=lr*Math.cos(Ir-Jr),Nn=lr*Math.sin(Ir-Jr);var Ss=Math.abs(Ir-Dr-2*Jr)<=Xe?0:1;if(Jr&&Dc(un,dn,En,Nn)===ui^Ss){var _s=(Dr+Ir)/2;un=lr*Math.cos(_s),dn=lr*Math.sin(_s),En=Nn=null}}else un=dn=0;if(or){ga=or*Math.cos(Ir-ci),ya=or*Math.sin(Ir-ci),so=or*Math.cos(Dr+ci),wa=or*Math.sin(Dr+ci);var Ns=Math.abs(Dr-Ir+2*ci)<=Xe?0:1;if(ci&&Dc(ga,ya,so,wa)===1-ui^Ns){var pn=(Dr+Ir)/2;ga=or*Math.cos(pn),ya=or*Math.sin(pn),so=wa=null}}else ga=ya=0;if(oi>Ye&&(qr=Math.min(Math.abs(lr-or)/2,+we.apply(this,arguments)))>.001){Kr=or<lr^ui?0:1;var za=qr,Lo=qr;if(oi<Xe){var Fo=so==null?[ga,ya]:En==null?[un,dn]:cl([un,dn],[so,wa],[En,Nn],[ga,ya]),js=un-Fo[0],xl=dn-Fo[1],fu=En-Fo[0],dl=Nn-Fo[1],xc=1/Math.sin(Math.acos((js*fu+xl*dl)/(Math.sqrt(js*js+xl*xl)*Math.sqrt(fu*fu+dl*dl)))/2),At=Math.sqrt(Fo[0]*Fo[0]+Fo[1]*Fo[1]);Lo=Math.min(qr,(or-At)/(xc-1)),za=Math.min(qr,(lr-At)/(xc+1))}if(En!=null){var Er=Da(so==null?[ga,ya]:[so,wa],[un,dn],lr,za,ui),Wr=Da([En,Nn],[ga,ya],lr,za,ui);qr===za?io.push(\"M\",Er[0],\"A\",za,\",\",za,\" 0 0,\",Kr,\" \",Er[1],\"A\",lr,\",\",lr,\" 0 \",1-ui^Dc(Er[1][0],Er[1][1],Wr[1][0],Wr[1][1]),\",\",ui,\" \",Wr[1],\"A\",za,\",\",za,\" 0 0,\",Kr,\" \",Wr[0]):io.push(\"M\",Er[0],\"A\",za,\",\",za,\" 0 1,\",Kr,\" \",Wr[0])}else io.push(\"M\",un,\",\",dn);if(so!=null){var wi=Da([un,dn],[so,wa],or,-Lo,ui),Ui=Da([ga,ya],En==null?[un,dn]:[En,Nn],or,-Lo,ui);qr===Lo?io.push(\"L\",Ui[0],\"A\",Lo,\",\",Lo,\" 0 0,\",Kr,\" \",Ui[1],\"A\",or,\",\",or,\" 0 \",ui^Dc(Ui[1][0],Ui[1][1],wi[1][0],wi[1][1]),\",\",1-ui,\" \",wi[1],\"A\",Lo,\",\",Lo,\" 0 0,\",Kr,\" \",wi[0]):io.push(\"L\",Ui[0],\"A\",Lo,\",\",Lo,\" 0 0,\",Kr,\" \",wi[0])}else io.push(\"L\",ga,\",\",ya)}else io.push(\"M\",un,\",\",dn),En!=null&&io.push(\"A\",lr,\",\",lr,\" 0 \",Ss,\",\",ui,\" \",En,\",\",Nn),io.push(\"L\",ga,\",\",ya),so!=null&&io.push(\"A\",or,\",\",or,\" 0 \",Ns,\",\",1-ui,\" \",so,\",\",wa);return io.push(\"Z\"),io.join(\"\")}function zt(or,lr){return\"M0,\"+or+\"A\"+or+\",\"+or+\" 0 1,\"+lr+\" 0,\"+-or+\"A\"+or+\",\"+or+\" 0 1,\"+lr+\" 0,\"+or}return tt.innerRadius=function(or){return arguments.length?(Z=ti(or),tt):Z},tt.outerRadius=function(or){return arguments.length?(oe=ti(or),tt):oe},tt.cornerRadius=function(or){return arguments.length?(we=ti(or),tt):we},tt.padRadius=function(or){return arguments.length?(Be=or==Ru?Ru:ti(or),tt):Be},tt.startAngle=function(or){return arguments.length?(Ue=ti(or),tt):Ue},tt.endAngle=function(or){return arguments.length?(We=ti(or),tt):We},tt.padAngle=function(or){return arguments.length?(wt=ti(or),tt):wt},tt.centroid=function(){var or=(+Z.apply(this,arguments)+ +oe.apply(this,arguments))/2,lr=(+Ue.apply(this,arguments)+ +We.apply(this,arguments))/2-xe;return[Math.cos(lr)*or,Math.sin(lr)*or]},tt};var Ru=\"auto\";function ac(Z){return Z.innerRadius}function mf(Z){return Z.outerRadius}function bu(Z){return Z.startAngle}function Kc(Z){return Z.endAngle}function Du(Z){return Z&&Z.padAngle}function Dc(Z,oe,we,Be){return(Z-we)*oe-(oe-Be)*Z>0?0:1}function Da(Z,oe,we,Be,Ue){var We=Z[0]-oe[0],wt=Z[1]-oe[1],tt=(Ue?Be:-Be)/Math.sqrt(We*We+wt*wt),zt=tt*wt,or=-tt*We,lr=Z[0]+zt,Dr=Z[1]+or,Ir=oe[0]+zt,oi=oe[1]+or,ui=(lr+Ir)/2,qr=(Dr+oi)/2,Kr=Ir-lr,ii=oi-Dr,vi=Kr*Kr+ii*ii,ci=we-Be,Jr=lr*oi-Ir*Dr,un=(ii<0?-1:1)*Math.sqrt(Math.max(0,ci*ci*vi-Jr*Jr)),dn=(Jr*ii-Kr*un)/vi,En=(-Jr*Kr-ii*un)/vi,Nn=(Jr*ii+Kr*un)/vi,ga=(-Jr*Kr+ii*un)/vi,ya=dn-ui,so=En-qr,wa=Nn-ui,io=ga-qr;return ya*ya+so*so>wa*wa+io*io&&(dn=Nn,En=ga),[[dn-zt,En-or],[dn*we/ci,En*we/ci]]}function eo(){return!0}function Jc(Z){var oe=zs,we=ks,Be=eo,Ue=_c,We=Ue.key,wt=.7;function tt(zt){var or=[],lr=[],Dr=-1,Ir=zt.length,oi,ui=ti(oe),qr=ti(we);function Kr(){or.push(\"M\",Ue(Z(lr),wt))}for(;++Dr<Ir;)Be.call(this,oi=zt[Dr],Dr)?lr.push([+ui.call(this,oi,Dr),+qr.call(this,oi,Dr)]):lr.length&&(Kr(),lr=[]);return lr.length&&Kr(),or.length?or.join(\"\"):null}return tt.x=function(zt){return arguments.length?(oe=zt,tt):oe},tt.y=function(zt){return arguments.length?(we=zt,tt):we},tt.defined=function(zt){return arguments.length?(Be=zt,tt):Be},tt.interpolate=function(zt){return arguments.length?(typeof zt==\"function\"?We=Ue=zt:We=(Ue=yc.get(zt)||_c).key,tt):We},tt.tension=function(zt){return arguments.length?(wt=zt,tt):wt},tt}e.svg.line=function(){return Jc(H)};var yc=e.map({linear:_c,\"linear-closed\":le,step:w,\"step-before\":B,\"step-after\":Q,basis:yt,\"basis-open\":Ot,\"basis-closed\":Nt,bundle:hr,cardinal:qe,\"cardinal-open\":ee,\"cardinal-closed\":se,monotone:Mt});yc.forEach(function(Z,oe){oe.key=Z,oe.closed=/-closed$/.test(Z)});function _c(Z){return Z.length>1?Z.join(\"L\"):Z+\"Z\"}function le(Z){return Z.join(\"L\")+\"Z\"}function w(Z){for(var oe=0,we=Z.length,Be=Z[0],Ue=[Be[0],\",\",Be[1]];++oe<we;)Ue.push(\"H\",(Be[0]+(Be=Z[oe])[0])/2,\"V\",Be[1]);return we>1&&Ue.push(\"H\",Be[0]),Ue.join(\"\")}function B(Z){for(var oe=0,we=Z.length,Be=Z[0],Ue=[Be[0],\",\",Be[1]];++oe<we;)Ue.push(\"V\",(Be=Z[oe])[1],\"H\",Be[0]);return Ue.join(\"\")}function Q(Z){for(var oe=0,we=Z.length,Be=Z[0],Ue=[Be[0],\",\",Be[1]];++oe<we;)Ue.push(\"H\",(Be=Z[oe])[0],\"V\",Be[1]);return Ue.join(\"\")}function ee(Z,oe){return Z.length<4?_c(Z):Z[1]+je(Z.slice(1,-1),it(Z,oe))}function se(Z,oe){return Z.length<3?le(Z):Z[0]+je((Z.push(Z[0]),Z),it([Z[Z.length-2]].concat(Z,[Z[1]]),oe))}function qe(Z,oe){return Z.length<3?_c(Z):Z[0]+je(Z,it(Z,oe))}function je(Z,oe){if(oe.length<1||Z.length!=oe.length&&Z.length!=oe.length+2)return _c(Z);var we=Z.length!=oe.length,Be=\"\",Ue=Z[0],We=Z[1],wt=oe[0],tt=wt,zt=1;if(we&&(Be+=\"Q\"+(We[0]-wt[0]*2/3)+\",\"+(We[1]-wt[1]*2/3)+\",\"+We[0]+\",\"+We[1],Ue=Z[1],zt=2),oe.length>1){tt=oe[1],We=Z[zt],zt++,Be+=\"C\"+(Ue[0]+wt[0])+\",\"+(Ue[1]+wt[1])+\",\"+(We[0]-tt[0])+\",\"+(We[1]-tt[1])+\",\"+We[0]+\",\"+We[1];for(var or=2;or<oe.length;or++,zt++)We=Z[zt],tt=oe[or],Be+=\"S\"+(We[0]-tt[0])+\",\"+(We[1]-tt[1])+\",\"+We[0]+\",\"+We[1]}if(we){var lr=Z[zt];Be+=\"Q\"+(We[0]+tt[0]*2/3)+\",\"+(We[1]+tt[1]*2/3)+\",\"+lr[0]+\",\"+lr[1]}return Be}function it(Z,oe){for(var we=[],Be=(1-oe)/2,Ue,We=Z[0],wt=Z[1],tt=1,zt=Z.length;++tt<zt;)Ue=We,We=wt,wt=Z[tt],we.push([Be*(wt[0]-Ue[0]),Be*(wt[1]-Ue[1])]);return we}function yt(Z){if(Z.length<3)return _c(Z);var oe=1,we=Z.length,Be=Z[0],Ue=Be[0],We=Be[1],wt=[Ue,Ue,Ue,(Be=Z[1])[0]],tt=[We,We,We,Be[1]],zt=[Ue,\",\",We,\"L\",Sr(Pe,wt),\",\",Sr(Pe,tt)];for(Z.push(Z[we-1]);++oe<=we;)Be=Z[oe],wt.shift(),wt.push(Be[0]),tt.shift(),tt.push(Be[1]),Oe(zt,wt,tt);return Z.pop(),zt.push(\"L\",Be),zt.join(\"\")}function Ot(Z){if(Z.length<4)return _c(Z);for(var oe=[],we=-1,Be=Z.length,Ue,We=[0],wt=[0];++we<3;)Ue=Z[we],We.push(Ue[0]),wt.push(Ue[1]);for(oe.push(Sr(Pe,We)+\",\"+Sr(Pe,wt)),--we;++we<Be;)Ue=Z[we],We.shift(),We.push(Ue[0]),wt.shift(),wt.push(Ue[1]),Oe(oe,We,wt);return oe.join(\"\")}function Nt(Z){for(var oe,we=-1,Be=Z.length,Ue=Be+4,We,wt=[],tt=[];++we<4;)We=Z[we%Be],wt.push(We[0]),tt.push(We[1]);for(oe=[Sr(Pe,wt),\",\",Sr(Pe,tt)],--we;++we<Ue;)We=Z[we%Be],wt.shift(),wt.push(We[0]),tt.shift(),tt.push(We[1]),Oe(oe,wt,tt);return oe.join(\"\")}function hr(Z,oe){var we=Z.length-1;if(we)for(var Be=Z[0][0],Ue=Z[0][1],We=Z[we][0]-Be,wt=Z[we][1]-Ue,tt=-1,zt,or;++tt<=we;)zt=Z[tt],or=tt/we,zt[0]=oe*zt[0]+(1-oe)*(Be+or*We),zt[1]=oe*zt[1]+(1-oe)*(Ue+or*wt);return yt(Z)}function Sr(Z,oe){return Z[0]*oe[0]+Z[1]*oe[1]+Z[2]*oe[2]+Z[3]*oe[3]}var he=[0,2/3,1/3,0],be=[0,1/3,2/3,0],Pe=[0,1/6,2/3,1/6];function Oe(Z,oe,we){Z.push(\"C\",Sr(he,oe),\",\",Sr(he,we),\",\",Sr(be,oe),\",\",Sr(be,we),\",\",Sr(Pe,oe),\",\",Sr(Pe,we))}function Je(Z,oe){return(oe[1]-Z[1])/(oe[0]-Z[0])}function He(Z){for(var oe=0,we=Z.length-1,Be=[],Ue=Z[0],We=Z[1],wt=Be[0]=Je(Ue,We);++oe<we;)Be[oe]=(wt+(wt=Je(Ue=We,We=Z[oe+1])))/2;return Be[oe]=wt,Be}function et(Z){for(var oe=[],we,Be,Ue,We,wt=He(Z),tt=-1,zt=Z.length-1;++tt<zt;)we=Je(Z[tt],Z[tt+1]),p(we)<Ye?wt[tt]=wt[tt+1]=0:(Be=wt[tt]/we,Ue=wt[tt+1]/we,We=Be*Be+Ue*Ue,We>9&&(We=we*3/Math.sqrt(We),wt[tt]=We*Be,wt[tt+1]=We*Ue));for(tt=-1;++tt<=zt;)We=(Z[Math.min(zt,tt+1)][0]-Z[Math.max(0,tt-1)][0])/(6*(1+wt[tt]*wt[tt])),oe.push([We||0,wt[tt]*We||0]);return oe}function Mt(Z){return Z.length<3?_c(Z):Z[0]+je(Z,et(Z))}e.svg.line.radial=function(){var Z=Jc(Dt);return Z.radius=Z.x,delete Z.x,Z.angle=Z.y,delete Z.y,Z};function Dt(Z){for(var oe,we=-1,Be=Z.length,Ue,We;++we<Be;)oe=Z[we],Ue=oe[0],We=oe[1]-xe,oe[0]=Ue*Math.cos(We),oe[1]=Ue*Math.sin(We);return Z}function Ut(Z){var oe=zs,we=zs,Be=0,Ue=ks,We=eo,wt=_c,tt=wt.key,zt=wt,or=\"L\",lr=.7;function Dr(Ir){var oi=[],ui=[],qr=[],Kr=-1,ii=Ir.length,vi,ci=ti(oe),Jr=ti(Be),un=oe===we?function(){return En}:ti(we),dn=Be===Ue?function(){return Nn}:ti(Ue),En,Nn;function ga(){oi.push(\"M\",wt(Z(qr),lr),or,zt(Z(ui.reverse()),lr),\"Z\")}for(;++Kr<ii;)We.call(this,vi=Ir[Kr],Kr)?(ui.push([En=+ci.call(this,vi,Kr),Nn=+Jr.call(this,vi,Kr)]),qr.push([+un.call(this,vi,Kr),+dn.call(this,vi,Kr)])):ui.length&&(ga(),ui=[],qr=[]);return ui.length&&ga(),oi.length?oi.join(\"\"):null}return Dr.x=function(Ir){return arguments.length?(oe=we=Ir,Dr):we},Dr.x0=function(Ir){return arguments.length?(oe=Ir,Dr):oe},Dr.x1=function(Ir){return arguments.length?(we=Ir,Dr):we},Dr.y=function(Ir){return arguments.length?(Be=Ue=Ir,Dr):Ue},Dr.y0=function(Ir){return arguments.length?(Be=Ir,Dr):Be},Dr.y1=function(Ir){return arguments.length?(Ue=Ir,Dr):Ue},Dr.defined=function(Ir){return arguments.length?(We=Ir,Dr):We},Dr.interpolate=function(Ir){return arguments.length?(typeof Ir==\"function\"?tt=wt=Ir:tt=(wt=yc.get(Ir)||_c).key,zt=wt.reverse||wt,or=wt.closed?\"M\":\"L\",Dr):tt},Dr.tension=function(Ir){return arguments.length?(lr=Ir,Dr):lr},Dr}B.reverse=Q,Q.reverse=B,e.svg.area=function(){return Ut(H)},e.svg.area.radial=function(){var Z=Ut(Dt);return Z.radius=Z.x,delete Z.x,Z.innerRadius=Z.x0,delete Z.x0,Z.outerRadius=Z.x1,delete Z.x1,Z.angle=Z.y,delete Z.y,Z.startAngle=Z.y0,delete Z.y0,Z.endAngle=Z.y1,delete Z.y1,Z};function tr(Z){return Z.source}function mr(Z){return Z.target}e.svg.chord=function(){var Z=tr,oe=mr,we=Rr,Be=bu,Ue=Kc;function We(lr,Dr){var Ir=wt(this,Z,lr,Dr),oi=wt(this,oe,lr,Dr);return\"M\"+Ir.p0+zt(Ir.r,Ir.p1,Ir.a1-Ir.a0)+(tt(Ir,oi)?or(Ir.r,Ir.p1,Ir.r,Ir.p0):or(Ir.r,Ir.p1,oi.r,oi.p0)+zt(oi.r,oi.p1,oi.a1-oi.a0)+or(oi.r,oi.p1,Ir.r,Ir.p0))+\"Z\"}function wt(lr,Dr,Ir,oi){var ui=Dr.call(lr,Ir,oi),qr=we.call(lr,ui,oi),Kr=Be.call(lr,ui,oi)-xe,ii=Ue.call(lr,ui,oi)-xe;return{r:qr,a0:Kr,a1:ii,p0:[qr*Math.cos(Kr),qr*Math.sin(Kr)],p1:[qr*Math.cos(ii),qr*Math.sin(ii)]}}function tt(lr,Dr){return lr.a0==Dr.a0&&lr.a1==Dr.a1}function zt(lr,Dr,Ir){return\"A\"+lr+\",\"+lr+\" 0 \"+ +(Ir>Xe)+\",1 \"+Dr}function or(lr,Dr,Ir,oi){return\"Q 0,0 \"+oi}return We.radius=function(lr){return arguments.length?(we=ti(lr),We):we},We.source=function(lr){return arguments.length?(Z=ti(lr),We):Z},We.target=function(lr){return arguments.length?(oe=ti(lr),We):oe},We.startAngle=function(lr){return arguments.length?(Be=ti(lr),We):Be},We.endAngle=function(lr){return arguments.length?(Ue=ti(lr),We):Ue},We};function Rr(Z){return Z.radius}e.svg.diagonal=function(){var Z=tr,oe=mr,we=zr;function Be(Ue,We){var wt=Z.call(this,Ue,We),tt=oe.call(this,Ue,We),zt=(wt.y+tt.y)/2,or=[wt,{x:wt.x,y:zt},{x:tt.x,y:zt},tt];return or=or.map(we),\"M\"+or[0]+\"C\"+or[1]+\" \"+or[2]+\" \"+or[3]}return Be.source=function(Ue){return arguments.length?(Z=ti(Ue),Be):Z},Be.target=function(Ue){return arguments.length?(oe=ti(Ue),Be):oe},Be.projection=function(Ue){return arguments.length?(we=Ue,Be):we},Be};function zr(Z){return[Z.x,Z.y]}e.svg.diagonal.radial=function(){var Z=e.svg.diagonal(),oe=zr,we=Z.projection;return Z.projection=function(Be){return arguments.length?we(Xr(oe=Be)):oe},Z};function Xr(Z){return function(){var oe=Z.apply(this,arguments),we=oe[0],Be=oe[1]-xe;return[we*Math.cos(Be),we*Math.sin(Be)]}}e.svg.symbol=function(){var Z=Li,oe=di;function we(Be,Ue){return(Qi.get(Z.call(this,Be,Ue))||Ci)(oe.call(this,Be,Ue))}return we.type=function(Be){return arguments.length?(Z=ti(Be),we):Z},we.size=function(Be){return arguments.length?(oe=ti(Be),we):oe},we};function di(){return 64}function Li(){return\"circle\"}function Ci(Z){var oe=Math.sqrt(Z/Xe);return\"M0,\"+oe+\"A\"+oe+\",\"+oe+\" 0 1,1 0,\"+-oe+\"A\"+oe+\",\"+oe+\" 0 1,1 0,\"+oe+\"Z\"}var Qi=e.map({circle:Ci,cross:function(Z){var oe=Math.sqrt(Z/5)/2;return\"M\"+-3*oe+\",\"+-oe+\"H\"+-oe+\"V\"+-3*oe+\"H\"+oe+\"V\"+-oe+\"H\"+3*oe+\"V\"+oe+\"H\"+oe+\"V\"+3*oe+\"H\"+-oe+\"V\"+oe+\"H\"+-3*oe+\"Z\"},diamond:function(Z){var oe=Math.sqrt(Z/(2*pa)),we=oe*pa;return\"M0,\"+-oe+\"L\"+we+\",0 0,\"+oe+\" \"+-we+\",0Z\"},square:function(Z){var oe=Math.sqrt(Z)/2;return\"M\"+-oe+\",\"+-oe+\"L\"+oe+\",\"+-oe+\" \"+oe+\",\"+oe+\" \"+-oe+\",\"+oe+\"Z\"},\"triangle-down\":function(Z){var oe=Math.sqrt(Z/Mn),we=oe*Mn/2;return\"M0,\"+we+\"L\"+oe+\",\"+-we+\" \"+-oe+\",\"+-we+\"Z\"},\"triangle-up\":function(Z){var oe=Math.sqrt(Z/Mn),we=oe*Mn/2;return\"M0,\"+-we+\"L\"+oe+\",\"+we+\" \"+-oe+\",\"+we+\"Z\"}});e.svg.symbolTypes=Qi.keys();var Mn=Math.sqrt(3),pa=Math.tan(30*Se);Ce.transition=function(Z){for(var oe=Ro||++co,we=po(Z),Be=[],Ue,We,wt=Ds||{time:Date.now(),ease:uu,delay:0,duration:250},tt=-1,zt=this.length;++tt<zt;){Be.push(Ue=[]);for(var or=this[tt],lr=-1,Dr=or.length;++lr<Dr;)(We=or[lr])&&_l(We,lr,we,oe,wt),Ue.push(We)}return To(Be,we,oe)},Ce.interrupt=function(Z){return this.each(Z==null?ea:Ga(po(Z)))};var ea=Ga(po());function Ga(Z){return function(){var oe,we,Be;(oe=this[Z])&&(Be=oe[we=oe.active])&&(Be.timer.c=null,Be.timer.t=NaN,--oe.count?delete oe[we]:delete this[Z],oe.active+=.5,Be.event&&Be.event.interrupt.call(this,this.__data__,Be.index))}}function To(Z,oe,we){return ie(Z,Wa),Z.namespace=oe,Z.id=we,Z}var Wa=[],co=0,Ro,Ds;Wa.call=Ce.call,Wa.empty=Ce.empty,Wa.node=Ce.node,Wa.size=Ce.size,e.transition=function(Z,oe){return Z&&Z.transition?Ro?Z.transition(oe):Z:e.selection().transition(Z)},e.transition.prototype=Wa,Wa.select=function(Z){var oe=this.id,we=this.namespace,Be=[],Ue,We,wt;Z=me(Z);for(var tt=-1,zt=this.length;++tt<zt;){Be.push(Ue=[]);for(var or=this[tt],lr=-1,Dr=or.length;++lr<Dr;)(wt=or[lr])&&(We=Z.call(wt,wt.__data__,lr,tt))?(\"__data__\"in wt&&(We.__data__=wt.__data__),_l(We,lr,we,oe,wt[we][oe]),Ue.push(We)):Ue.push(null)}return To(Be,we,oe)},Wa.selectAll=function(Z){var oe=this.id,we=this.namespace,Be=[],Ue,We,wt,tt,zt;Z=Re(Z);for(var or=-1,lr=this.length;++or<lr;)for(var Dr=this[or],Ir=-1,oi=Dr.length;++Ir<oi;)if(wt=Dr[Ir]){zt=wt[we][oe],We=Z.call(wt,wt.__data__,Ir,or),Be.push(Ue=[]);for(var ui=-1,qr=We.length;++ui<qr;)(tt=We[ui])&&_l(tt,ui,we,oe,zt),Ue.push(tt)}return To(Be,we,oe)},Wa.filter=function(Z){var oe=[],we,Be,Ue;typeof Z!=\"function\"&&(Z=Ke(Z));for(var We=0,wt=this.length;We<wt;We++){oe.push(we=[]);for(var Be=this[We],tt=0,zt=Be.length;tt<zt;tt++)(Ue=Be[tt])&&Z.call(Ue,Ue.__data__,tt,We)&&we.push(Ue)}return To(oe,this.namespace,this.id)},Wa.tween=function(Z,oe){var we=this.id,Be=this.namespace;return arguments.length<2?this.node()[Be][we].tween.get(Z):bt(this,oe==null?function(Ue){Ue[Be][we].tween.remove(Z)}:function(Ue){Ue[Be][we].tween.set(Z,oe)})};function As(Z,oe,we,Be){var Ue=Z.id,We=Z.namespace;return bt(Z,typeof we==\"function\"?function(wt,tt,zt){wt[We][Ue].tween.set(oe,Be(we.call(wt,wt.__data__,tt,zt)))}:(we=Be(we),function(wt){wt[We][Ue].tween.set(oe,we)}))}Wa.attr=function(Z,oe){if(arguments.length<2){for(oe in Z)this.attr(oe,Z[oe]);return this}var we=Z==\"transform\"?Cf:Sl,Be=e.ns.qualify(Z);function Ue(){this.removeAttribute(Be)}function We(){this.removeAttributeNS(Be.space,Be.local)}function wt(zt){return zt==null?Ue:(zt+=\"\",function(){var or=this.getAttribute(Be),lr;return or!==zt&&(lr=we(or,zt),function(Dr){this.setAttribute(Be,lr(Dr))})})}function tt(zt){return zt==null?We:(zt+=\"\",function(){var or=this.getAttributeNS(Be.space,Be.local),lr;return or!==zt&&(lr=we(or,zt),function(Dr){this.setAttributeNS(Be.space,Be.local,lr(Dr))})})}return As(this,\"attr.\"+Z,oe,Be.local?tt:wt)},Wa.attrTween=function(Z,oe){var we=e.ns.qualify(Z);function Be(We,wt){var tt=oe.call(this,We,wt,this.getAttribute(we));return tt&&function(zt){this.setAttribute(we,tt(zt))}}function Ue(We,wt){var tt=oe.call(this,We,wt,this.getAttributeNS(we.space,we.local));return tt&&function(zt){this.setAttributeNS(we.space,we.local,tt(zt))}}return this.tween(\"attr.\"+Z,we.local?Ue:Be)},Wa.style=function(Z,oe,we){var Be=arguments.length;if(Be<3){if(typeof Z!=\"string\"){Be<2&&(oe=\"\");for(we in Z)this.style(we,Z[we],oe);return this}we=\"\"}function Ue(){this.style.removeProperty(Z)}function We(wt){return wt==null?Ue:(wt+=\"\",function(){var tt=a(this).getComputedStyle(this,null).getPropertyValue(Z),zt;return tt!==wt&&(zt=Sl(tt,wt),function(or){this.style.setProperty(Z,zt(or),we)})})}return As(this,\"style.\"+Z,oe,We)},Wa.styleTween=function(Z,oe,we){arguments.length<3&&(we=\"\");function Be(Ue,We){var wt=oe.call(this,Ue,We,a(this).getComputedStyle(this,null).getPropertyValue(Z));return wt&&function(tt){this.style.setProperty(Z,wt(tt),we)}}return this.tween(\"style.\"+Z,Be)},Wa.text=function(Z){return As(this,\"text\",Z,yo)};function yo(Z){return Z==null&&(Z=\"\"),function(){this.textContent=Z}}Wa.remove=function(){var Z=this.namespace;return this.each(\"end.transition\",function(){var oe;this[Z].count<2&&(oe=this.parentNode)&&oe.removeChild(this)})},Wa.ease=function(Z){var oe=this.id,we=this.namespace;return arguments.length<1?this.node()[we][oe].ease:(typeof Z!=\"function\"&&(Z=e.ease.apply(e,arguments)),bt(this,function(Be){Be[we][oe].ease=Z}))},Wa.delay=function(Z){var oe=this.id,we=this.namespace;return arguments.length<1?this.node()[we][oe].delay:bt(this,typeof Z==\"function\"?function(Be,Ue,We){Be[we][oe].delay=+Z.call(Be,Be.__data__,Ue,We)}:(Z=+Z,function(Be){Be[we][oe].delay=Z}))},Wa.duration=function(Z){var oe=this.id,we=this.namespace;return arguments.length<1?this.node()[we][oe].duration:bt(this,typeof Z==\"function\"?function(Be,Ue,We){Be[we][oe].duration=Math.max(1,Z.call(Be,Be.__data__,Ue,We))}:(Z=Math.max(1,Z),function(Be){Be[we][oe].duration=Z}))},Wa.each=function(Z,oe){var we=this.id,Be=this.namespace;if(arguments.length<2){var Ue=Ds,We=Ro;try{Ro=we,bt(this,function(wt,tt,zt){Ds=wt[Be][we],Z.call(wt,wt.__data__,tt,zt)})}finally{Ds=Ue,Ro=We}}else bt(this,function(wt){var tt=wt[Be][we];(tt.event||(tt.event=e.dispatch(\"start\",\"end\",\"interrupt\"))).on(Z,oe)});return this},Wa.transition=function(){for(var Z=this.id,oe=++co,we=this.namespace,Be=[],Ue,We,wt,tt,zt=0,or=this.length;zt<or;zt++){Be.push(Ue=[]);for(var We=this[zt],lr=0,Dr=We.length;lr<Dr;lr++)(wt=We[lr])&&(tt=wt[we][Z],_l(wt,lr,we,oe,{time:tt.time,ease:tt.ease,delay:tt.delay+tt.duration,duration:tt.duration})),Ue.push(wt)}return To(Be,we,oe)};function po(Z){return Z==null?\"__transition__\":\"__transition_\"+Z+\"__\"}function _l(Z,oe,we,Be,Ue){var We=Z[we]||(Z[we]={active:0,count:0}),wt=We[Be],tt,zt,or,lr,Dr;function Ir(qr){var Kr=wt.delay;if(zt.t=Kr+tt,Kr<=qr)return oi(qr-Kr);zt.c=oi}function oi(qr){var Kr=We.active,ii=We[Kr];ii&&(ii.timer.c=null,ii.timer.t=NaN,--We.count,delete We[Kr],ii.event&&ii.event.interrupt.call(Z,Z.__data__,ii.index));for(var vi in We)if(+vi<Be){var ci=We[vi];ci.timer.c=null,ci.timer.t=NaN,--We.count,delete We[vi]}zt.c=ui,Oo(function(){return zt.c&&ui(qr||1)&&(zt.c=null,zt.t=NaN),1},0,tt),We.active=Be,wt.event&&wt.event.start.call(Z,Z.__data__,oe),Dr=[],wt.tween.forEach(function(Jr,un){(un=un.call(Z,Z.__data__,oe))&&Dr.push(un)}),lr=wt.ease,or=wt.duration}function ui(qr){for(var Kr=qr/or,ii=lr(Kr),vi=Dr.length;vi>0;)Dr[--vi].call(Z,ii);if(Kr>=1)return wt.event&&wt.event.end.call(Z,Z.__data__,oe),--We.count?delete We[Be]:delete Z[we],1}wt||(tt=Ue.time,zt=Oo(Ir,0,tt),wt=We[Be]={tween:new A,time:tt,timer:zt,delay:Ue.delay,duration:Ue.duration,ease:Ue.ease,index:oe},Ue=null,++We.count)}e.svg.axis=function(){var Z=e.scale.linear(),oe=Hl,we=6,Be=6,Ue=3,We=[10],wt=null,tt;function zt(or){or.each(function(){var lr=e.select(this),Dr=this.__chart__||Z,Ir=this.__chart__=Z.copy(),oi=wt==null?Ir.ticks?Ir.ticks.apply(Ir,We):Ir.domain():wt,ui=tt==null?Ir.tickFormat?Ir.tickFormat.apply(Ir,We):H:tt,qr=lr.selectAll(\".tick\").data(oi,Ir),Kr=qr.enter().insert(\"g\",\".domain\").attr(\"class\",\"tick\").style(\"opacity\",Ye),ii=e.transition(qr.exit()).style(\"opacity\",Ye).remove(),vi=e.transition(qr.order()).style(\"opacity\",1),ci=Math.max(we,0)+Ue,Jr,un=Xi(Ir),dn=lr.selectAll(\".domain\").data([0]),En=(dn.enter().append(\"path\").attr(\"class\",\"domain\"),e.transition(dn));Kr.append(\"line\"),Kr.append(\"text\");var Nn=Kr.select(\"line\"),ga=vi.select(\"line\"),ya=qr.select(\"text\").text(ui),so=Kr.select(\"text\"),wa=vi.select(\"text\"),io=oe===\"top\"||oe===\"left\"?-1:1,Ss,_s,Ns,pn;if(oe===\"bottom\"||oe===\"top\"?(Jr=cu,Ss=\"x\",Ns=\"y\",_s=\"x2\",pn=\"y2\",ya.attr(\"dy\",io<0?\"0em\":\".71em\").style(\"text-anchor\",\"middle\"),En.attr(\"d\",\"M\"+un[0]+\",\"+io*Be+\"V0H\"+un[1]+\"V\"+io*Be)):(Jr=el,Ss=\"y\",Ns=\"x\",_s=\"y2\",pn=\"x2\",ya.attr(\"dy\",\".32em\").style(\"text-anchor\",io<0?\"end\":\"start\"),En.attr(\"d\",\"M\"+io*Be+\",\"+un[0]+\"H0V\"+un[1]+\"H\"+io*Be)),Nn.attr(pn,io*we),so.attr(Ns,io*ci),ga.attr(_s,0).attr(pn,io*we),wa.attr(Ss,0).attr(Ns,io*ci),Ir.rangeBand){var za=Ir,Lo=za.rangeBand()/2;Dr=Ir=function(Fo){return za(Fo)+Lo}}else Dr.rangeBand?Dr=Ir:ii.call(Jr,Ir,Dr);Kr.call(Jr,Dr,Ir),vi.call(Jr,Ir,Ir)})}return zt.scale=function(or){return arguments.length?(Z=or,zt):Z},zt.orient=function(or){return arguments.length?(oe=or in Zu?or+\"\":Hl,zt):oe},zt.ticks=function(){return arguments.length?(We=r(arguments),zt):We},zt.tickValues=function(or){return arguments.length?(wt=or,zt):wt},zt.tickFormat=function(or){return arguments.length?(tt=or,zt):tt},zt.tickSize=function(or){var lr=arguments.length;return lr?(we=+or,Be=+arguments[lr-1],zt):we},zt.innerTickSize=function(or){return arguments.length?(we=+or,zt):we},zt.outerTickSize=function(or){return arguments.length?(Be=+or,zt):Be},zt.tickPadding=function(or){return arguments.length?(Ue=+or,zt):Ue},zt.tickSubdivide=function(){return arguments.length&&zt},zt};var Hl=\"bottom\",Zu={top:1,right:1,bottom:1,left:1};function cu(Z,oe,we){Z.attr(\"transform\",function(Be){var Ue=oe(Be);return\"translate(\"+(isFinite(Ue)?Ue:we(Be))+\",0)\"})}function el(Z,oe,we){Z.attr(\"transform\",function(Be){var Ue=oe(Be);return\"translate(0,\"+(isFinite(Ue)?Ue:we(Be))+\")\"})}e.svg.brush=function(){var Z=ke(lr,\"brushstart\",\"brush\",\"brushend\"),oe=null,we=null,Be=[0,0],Ue=[0,0],We,wt,tt=!0,zt=!0,or=zc[0];function lr(qr){qr.each(function(){var Kr=e.select(this).style(\"pointer-events\",\"all\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\").on(\"mousedown.brush\",ui).on(\"touchstart.brush\",ui),ii=Kr.selectAll(\".background\").data([0]);ii.enter().append(\"rect\").attr(\"class\",\"background\").style(\"visibility\",\"hidden\").style(\"cursor\",\"crosshair\"),Kr.selectAll(\".extent\").data([0]).enter().append(\"rect\").attr(\"class\",\"extent\").style(\"cursor\",\"move\");var vi=Kr.selectAll(\".resize\").data(or,H);vi.exit().remove(),vi.enter().append(\"g\").attr(\"class\",function(dn){return\"resize \"+dn}).style(\"cursor\",function(dn){return au[dn]}).append(\"rect\").attr(\"x\",function(dn){return/[ew]$/.test(dn)?-3:null}).attr(\"y\",function(dn){return/^[ns]/.test(dn)?-3:null}).attr(\"width\",6).attr(\"height\",6).style(\"visibility\",\"hidden\"),vi.style(\"display\",lr.empty()?\"none\":null);var ci=e.transition(Kr),Jr=e.transition(ii),un;oe&&(un=Xi(oe),Jr.attr(\"x\",un[0]).attr(\"width\",un[1]-un[0]),Ir(ci)),we&&(un=Xi(we),Jr.attr(\"y\",un[0]).attr(\"height\",un[1]-un[0]),oi(ci)),Dr(ci)})}lr.event=function(qr){qr.each(function(){var Kr=Z.of(this,arguments),ii={x:Be,y:Ue,i:We,j:wt},vi=this.__chart__||ii;this.__chart__=ii,Ro?e.select(this).transition().each(\"start.brush\",function(){We=vi.i,wt=vi.j,Be=vi.x,Ue=vi.y,Kr({type:\"brushstart\"})}).tween(\"brush:brush\",function(){var ci=ec(Be,ii.x),Jr=ec(Ue,ii.y);return We=wt=null,function(un){Be=ii.x=ci(un),Ue=ii.y=Jr(un),Kr({type:\"brush\",mode:\"resize\"})}}).each(\"end.brush\",function(){We=ii.i,wt=ii.j,Kr({type:\"brush\",mode:\"resize\"}),Kr({type:\"brushend\"})}):(Kr({type:\"brushstart\"}),Kr({type:\"brush\",mode:\"resize\"}),Kr({type:\"brushend\"}))})};function Dr(qr){qr.selectAll(\".resize\").attr(\"transform\",function(Kr){return\"translate(\"+Be[+/e$/.test(Kr)]+\",\"+Ue[+/^s/.test(Kr)]+\")\"})}function Ir(qr){qr.select(\".extent\").attr(\"x\",Be[0]),qr.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\",Be[1]-Be[0])}function oi(qr){qr.select(\".extent\").attr(\"y\",Ue[0]),qr.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",Ue[1]-Ue[0])}function ui(){var qr=this,Kr=e.select(e.event.target),ii=Z.of(qr,arguments),vi=e.select(qr),ci=Kr.datum(),Jr=!/^(n|s)$/.test(ci)&&oe,un=!/^(e|w)$/.test(ci)&&we,dn=Kr.classed(\"extent\"),En=Or(qr),Nn,ga=e.mouse(qr),ya,so=e.select(a(qr)).on(\"keydown.brush\",Ss).on(\"keyup.brush\",_s);if(e.event.changedTouches?so.on(\"touchmove.brush\",Ns).on(\"touchend.brush\",za):so.on(\"mousemove.brush\",Ns).on(\"mouseup.brush\",za),vi.interrupt().selectAll(\"*\").interrupt(),dn)ga[0]=Be[0]-ga[0],ga[1]=Ue[0]-ga[1];else if(ci){var wa=+/w$/.test(ci),io=+/^n/.test(ci);ya=[Be[1-wa]-ga[0],Ue[1-io]-ga[1]],ga[0]=Be[wa],ga[1]=Ue[io]}else e.event.altKey&&(Nn=ga.slice());vi.style(\"pointer-events\",\"none\").selectAll(\".resize\").style(\"display\",null),e.select(\"body\").style(\"cursor\",Kr.style(\"cursor\")),ii({type:\"brushstart\"}),Ns();function Ss(){e.event.keyCode==32&&(dn||(Nn=null,ga[0]-=Be[1],ga[1]-=Ue[1],dn=2),_e())}function _s(){e.event.keyCode==32&&dn==2&&(ga[0]+=Be[1],ga[1]+=Ue[1],dn=0,_e())}function Ns(){var Lo=e.mouse(qr),Fo=!1;ya&&(Lo[0]+=ya[0],Lo[1]+=ya[1]),dn||(e.event.altKey?(Nn||(Nn=[(Be[0]+Be[1])/2,(Ue[0]+Ue[1])/2]),ga[0]=Be[+(Lo[0]<Nn[0])],ga[1]=Ue[+(Lo[1]<Nn[1])]):Nn=null),Jr&&pn(Lo,oe,0)&&(Ir(vi),Fo=!0),un&&pn(Lo,we,1)&&(oi(vi),Fo=!0),Fo&&(Dr(vi),ii({type:\"brush\",mode:dn?\"move\":\"resize\"}))}function pn(Lo,Fo,js){var xl=Xi(Fo),fu=xl[0],dl=xl[1],xc=ga[js],At=js?Ue:Be,Er=At[1]-At[0],Wr,wi;if(dn&&(fu-=xc,dl-=Er+xc),Wr=(js?zt:tt)?Math.max(fu,Math.min(dl,Lo[js])):Lo[js],dn?wi=(Wr+=xc)+Er:(Nn&&(xc=Math.max(fu,Math.min(dl,2*Nn[js]-Wr))),xc<Wr?(wi=Wr,Wr=xc):wi=xc),At[0]!=Wr||At[1]!=wi)return js?wt=null:We=null,At[0]=Wr,At[1]=wi,!0}function za(){Ns(),vi.style(\"pointer-events\",\"all\").selectAll(\".resize\").style(\"display\",lr.empty()?\"none\":null),e.select(\"body\").style(\"cursor\",null),so.on(\"mousemove.brush\",null).on(\"mouseup.brush\",null).on(\"touchmove.brush\",null).on(\"touchend.brush\",null).on(\"keydown.brush\",null).on(\"keyup.brush\",null),En(),ii({type:\"brushend\"})}}return lr.x=function(qr){return arguments.length?(oe=qr,or=zc[!oe<<1|!we],lr):oe},lr.y=function(qr){return arguments.length?(we=qr,or=zc[!oe<<1|!we],lr):we},lr.clamp=function(qr){return arguments.length?(oe&&we?(tt=!!qr[0],zt=!!qr[1]):oe?tt=!!qr:we&&(zt=!!qr),lr):oe&&we?[tt,zt]:oe?tt:we?zt:null},lr.extent=function(qr){var Kr,ii,vi,ci,Jr;return arguments.length?(oe&&(Kr=qr[0],ii=qr[1],we&&(Kr=Kr[0],ii=ii[0]),We=[Kr,ii],oe.invert&&(Kr=oe(Kr),ii=oe(ii)),ii<Kr&&(Jr=Kr,Kr=ii,ii=Jr),(Kr!=Be[0]||ii!=Be[1])&&(Be=[Kr,ii])),we&&(vi=qr[0],ci=qr[1],oe&&(vi=vi[1],ci=ci[1]),wt=[vi,ci],we.invert&&(vi=we(vi),ci=we(ci)),ci<vi&&(Jr=vi,vi=ci,ci=Jr),(vi!=Ue[0]||ci!=Ue[1])&&(Ue=[vi,ci])),lr):(oe&&(We?(Kr=We[0],ii=We[1]):(Kr=Be[0],ii=Be[1],oe.invert&&(Kr=oe.invert(Kr),ii=oe.invert(ii)),ii<Kr&&(Jr=Kr,Kr=ii,ii=Jr))),we&&(wt?(vi=wt[0],ci=wt[1]):(vi=Ue[0],ci=Ue[1],we.invert&&(vi=we.invert(vi),ci=we.invert(ci)),ci<vi&&(Jr=vi,vi=ci,ci=Jr))),oe&&we?[[Kr,vi],[ii,ci]]:oe?[Kr,ii]:we&&[vi,ci])},lr.clear=function(){return lr.empty()||(Be=[0,0],Ue=[0,0],We=wt=null),lr},lr.empty=function(){return!!oe&&Be[0]==Be[1]||!!we&&Ue[0]==Ue[1]},e.rebind(lr,Z,\"on\")};var au={n:\"ns-resize\",e:\"ew-resize\",s:\"ns-resize\",w:\"ew-resize\",nw:\"nwse-resize\",ne:\"nesw-resize\",se:\"nwse-resize\",sw:\"nesw-resize\"},zc=[[\"n\",\"e\",\"s\",\"w\",\"nw\",\"ne\",\"se\",\"sw\"],[\"e\",\"w\"],[\"n\",\"s\"],[]];e.text=zi(function(Z){return Z.responseText}),e.json=function(Z,oe){return Yi(Z,\"application/json\",zl,oe)};function zl(Z){return JSON.parse(Z.responseText)}e.html=function(Z,oe){return Yi(Z,\"text/html\",Fl,oe)};function Fl(Z){var oe=n.createRange();return oe.selectNode(n.body),oe.createContextualFragment(Z.responseText)}e.xml=zi(function(Z){return Z.responseXML}),typeof r6==\"object\"&&r6.exports?r6.exports=e:this.d3=e}).apply(self)});var dq=ye((i6,nee)=>{(function(e,t){typeof i6==\"object\"&&typeof nee!=\"undefined\"?t(i6):(e=e||self,t(e.d3=e.d3||{}))})(i6,function(e){\"use strict\";var t=new Date,r=new Date;function n(Ke,xt,bt,Lt){function St(Et){return Ke(Et=arguments.length===0?new Date:new Date(+Et)),Et}return St.floor=function(Et){return Ke(Et=new Date(+Et)),Et},St.ceil=function(Et){return Ke(Et=new Date(Et-1)),xt(Et,1),Ke(Et),Et},St.round=function(Et){var dt=St(Et),Ht=St.ceil(Et);return Et-dt<Ht-Et?dt:Ht},St.offset=function(Et,dt){return xt(Et=new Date(+Et),dt==null?1:Math.floor(dt)),Et},St.range=function(Et,dt,Ht){var $t=[],fr;if(Et=St.ceil(Et),Ht=Ht==null?1:Math.floor(Ht),!(Et<dt)||!(Ht>0))return $t;do $t.push(fr=new Date(+Et)),xt(Et,Ht),Ke(Et);while(fr<Et&&Et<dt);return $t},St.filter=function(Et){return n(function(dt){if(dt>=dt)for(;Ke(dt),!Et(dt);)dt.setTime(dt-1)},function(dt,Ht){if(dt>=dt)if(Ht<0)for(;++Ht<=0;)for(;xt(dt,-1),!Et(dt););else for(;--Ht>=0;)for(;xt(dt,1),!Et(dt););})},bt&&(St.count=function(Et,dt){return t.setTime(+Et),r.setTime(+dt),Ke(t),Ke(r),Math.floor(bt(t,r))},St.every=function(Et){return Et=Math.floor(Et),!isFinite(Et)||!(Et>0)?null:Et>1?St.filter(Lt?function(dt){return Lt(dt)%Et===0}:function(dt){return St.count(0,dt)%Et===0}):St}),St}var i=n(function(){},function(Ke,xt){Ke.setTime(+Ke+xt)},function(Ke,xt){return xt-Ke});i.every=function(Ke){return Ke=Math.floor(Ke),!isFinite(Ke)||!(Ke>0)?null:Ke>1?n(function(xt){xt.setTime(Math.floor(xt/Ke)*Ke)},function(xt,bt){xt.setTime(+xt+bt*Ke)},function(xt,bt){return(bt-xt)/Ke}):i};var a=i.range,o=1e3,s=6e4,l=36e5,u=864e5,c=6048e5,f=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds())},function(Ke,xt){Ke.setTime(+Ke+xt*o)},function(Ke,xt){return(xt-Ke)/o},function(Ke){return Ke.getUTCSeconds()}),h=f.range,d=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds()-Ke.getSeconds()*o)},function(Ke,xt){Ke.setTime(+Ke+xt*s)},function(Ke,xt){return(xt-Ke)/s},function(Ke){return Ke.getMinutes()}),v=d.range,x=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds()-Ke.getSeconds()*o-Ke.getMinutes()*s)},function(Ke,xt){Ke.setTime(+Ke+xt*l)},function(Ke,xt){return(xt-Ke)/l},function(Ke){return Ke.getHours()}),b=x.range,p=n(function(Ke){Ke.setHours(0,0,0,0)},function(Ke,xt){Ke.setDate(Ke.getDate()+xt)},function(Ke,xt){return(xt-Ke-(xt.getTimezoneOffset()-Ke.getTimezoneOffset())*s)/u},function(Ke){return Ke.getDate()-1}),E=p.range;function k(Ke){return n(function(xt){xt.setDate(xt.getDate()-(xt.getDay()+7-Ke)%7),xt.setHours(0,0,0,0)},function(xt,bt){xt.setDate(xt.getDate()+bt*7)},function(xt,bt){return(bt-xt-(bt.getTimezoneOffset()-xt.getTimezoneOffset())*s)/c})}var A=k(0),L=k(1),_=k(2),C=k(3),M=k(4),g=k(5),P=k(6),T=A.range,F=L.range,q=_.range,V=C.range,H=M.range,X=g.range,G=P.range,N=n(function(Ke){Ke.setDate(1),Ke.setHours(0,0,0,0)},function(Ke,xt){Ke.setMonth(Ke.getMonth()+xt)},function(Ke,xt){return xt.getMonth()-Ke.getMonth()+(xt.getFullYear()-Ke.getFullYear())*12},function(Ke){return Ke.getMonth()}),W=N.range,re=n(function(Ke){Ke.setMonth(0,1),Ke.setHours(0,0,0,0)},function(Ke,xt){Ke.setFullYear(Ke.getFullYear()+xt)},function(Ke,xt){return xt.getFullYear()-Ke.getFullYear()},function(Ke){return Ke.getFullYear()});re.every=function(Ke){return!isFinite(Ke=Math.floor(Ke))||!(Ke>0)?null:n(function(xt){xt.setFullYear(Math.floor(xt.getFullYear()/Ke)*Ke),xt.setMonth(0,1),xt.setHours(0,0,0,0)},function(xt,bt){xt.setFullYear(xt.getFullYear()+bt*Ke)})};var ae=re.range,_e=n(function(Ke){Ke.setUTCSeconds(0,0)},function(Ke,xt){Ke.setTime(+Ke+xt*s)},function(Ke,xt){return(xt-Ke)/s},function(Ke){return Ke.getUTCMinutes()}),Me=_e.range,ke=n(function(Ke){Ke.setUTCMinutes(0,0,0)},function(Ke,xt){Ke.setTime(+Ke+xt*l)},function(Ke,xt){return(xt-Ke)/l},function(Ke){return Ke.getUTCHours()}),ge=ke.range,ie=n(function(Ke){Ke.setUTCHours(0,0,0,0)},function(Ke,xt){Ke.setUTCDate(Ke.getUTCDate()+xt)},function(Ke,xt){return(xt-Ke)/u},function(Ke){return Ke.getUTCDate()-1}),Te=ie.range;function Ee(Ke){return n(function(xt){xt.setUTCDate(xt.getUTCDate()-(xt.getUTCDay()+7-Ke)%7),xt.setUTCHours(0,0,0,0)},function(xt,bt){xt.setUTCDate(xt.getUTCDate()+bt*7)},function(xt,bt){return(bt-xt)/c})}var Ae=Ee(0),ze=Ee(1),Ce=Ee(2),me=Ee(3),Re=Ee(4),ce=Ee(5),Ge=Ee(6),nt=Ae.range,ct=ze.range,qt=Ce.range,rt=me.range,ot=Re.range,Rt=ce.range,kt=Ge.range,Ct=n(function(Ke){Ke.setUTCDate(1),Ke.setUTCHours(0,0,0,0)},function(Ke,xt){Ke.setUTCMonth(Ke.getUTCMonth()+xt)},function(Ke,xt){return xt.getUTCMonth()-Ke.getUTCMonth()+(xt.getUTCFullYear()-Ke.getUTCFullYear())*12},function(Ke){return Ke.getUTCMonth()}),Yt=Ct.range,xr=n(function(Ke){Ke.setUTCMonth(0,1),Ke.setUTCHours(0,0,0,0)},function(Ke,xt){Ke.setUTCFullYear(Ke.getUTCFullYear()+xt)},function(Ke,xt){return xt.getUTCFullYear()-Ke.getUTCFullYear()},function(Ke){return Ke.getUTCFullYear()});xr.every=function(Ke){return!isFinite(Ke=Math.floor(Ke))||!(Ke>0)?null:n(function(xt){xt.setUTCFullYear(Math.floor(xt.getUTCFullYear()/Ke)*Ke),xt.setUTCMonth(0,1),xt.setUTCHours(0,0,0,0)},function(xt,bt){xt.setUTCFullYear(xt.getUTCFullYear()+bt*Ke)})};var er=xr.range;e.timeDay=p,e.timeDays=E,e.timeFriday=g,e.timeFridays=X,e.timeHour=x,e.timeHours=b,e.timeInterval=n,e.timeMillisecond=i,e.timeMilliseconds=a,e.timeMinute=d,e.timeMinutes=v,e.timeMonday=L,e.timeMondays=F,e.timeMonth=N,e.timeMonths=W,e.timeSaturday=P,e.timeSaturdays=G,e.timeSecond=f,e.timeSeconds=h,e.timeSunday=A,e.timeSundays=T,e.timeThursday=M,e.timeThursdays=H,e.timeTuesday=_,e.timeTuesdays=q,e.timeWednesday=C,e.timeWednesdays=V,e.timeWeek=A,e.timeWeeks=T,e.timeYear=re,e.timeYears=ae,e.utcDay=ie,e.utcDays=Te,e.utcFriday=ce,e.utcFridays=Rt,e.utcHour=ke,e.utcHours=ge,e.utcMillisecond=i,e.utcMilliseconds=a,e.utcMinute=_e,e.utcMinutes=Me,e.utcMonday=ze,e.utcMondays=ct,e.utcMonth=Ct,e.utcMonths=Yt,e.utcSaturday=Ge,e.utcSaturdays=kt,e.utcSecond=f,e.utcSeconds=h,e.utcSunday=Ae,e.utcSundays=nt,e.utcThursday=Re,e.utcThursdays=ot,e.utcTuesday=Ce,e.utcTuesdays=qt,e.utcWednesday=me,e.utcWednesdays=rt,e.utcWeek=Ae,e.utcWeeks=nt,e.utcYear=xr,e.utcYears=er,Object.defineProperty(e,\"__esModule\",{value:!0})})});var e3=ye((n6,aee)=>{(function(e,t){typeof n6==\"object\"&&typeof aee!=\"undefined\"?t(n6,dq()):(e=e||self,t(e.d3=e.d3||{},e.d3))})(n6,function(e,t){\"use strict\";function r(Ne){if(0<=Ne.y&&Ne.y<100){var Ye=new Date(-1,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L);return Ye.setFullYear(Ne.y),Ye}return new Date(Ne.y,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L)}function n(Ne){if(0<=Ne.y&&Ne.y<100){var Ye=new Date(Date.UTC(-1,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L));return Ye.setUTCFullYear(Ne.y),Ye}return new Date(Date.UTC(Ne.y,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L))}function i(Ne,Ye,Ve){return{y:Ne,m:Ye,d:Ve,H:0,M:0,S:0,L:0}}function a(Ne){var Ye=Ne.dateTime,Ve=Ne.date,Xe=Ne.time,ht=Ne.periods,Le=Ne.days,xe=Ne.shortDays,Se=Ne.months,lt=Ne.shortMonths,Gt=h(ht),Vt=d(ht),ar=h(Le),Qr=d(Le),ai=h(xe),jr=d(xe),ri=h(Se),bi=d(Se),nn=h(lt),Wi=d(lt),Ni={a:Si,A:Mi,b:Pi,B:Gi,c:null,d:N,e:N,f:Me,H:W,I:re,j:ae,L:_e,m:ke,M:ge,p:Ki,q:ka,Q:dt,s:Ht,S:ie,u:Te,U:Ee,V:Ae,w:ze,W:Ce,x:null,X:null,y:me,Y:Re,Z:ce,\"%\":Et},_n={a:jn,A:la,b:Fa,B:Ra,c:null,d:Ge,e:Ge,f:ot,H:nt,I:ct,j:qt,L:rt,m:Rt,M:kt,p:jo,q:oa,Q:dt,s:Ht,S:Ct,u:Yt,U:xr,V:er,w:Ke,W:xt,x:null,X:null,y:bt,Y:Lt,Z:St,\"%\":Et},$i={a:jt,A:Zt,b:yr,B:Fr,c:Zr,d:M,e:M,f:V,H:P,I:P,j:g,L:q,m:C,M:T,p:ft,q:_,Q:X,s:G,S:F,u:x,U:b,V:p,w:v,W:E,x:Vr,X:gi,y:A,Y:k,Z:L,\"%\":H};Ni.x=zn(Ve,Ni),Ni.X=zn(Xe,Ni),Ni.c=zn(Ye,Ni),_n.x=zn(Ve,_n),_n.X=zn(Xe,_n),_n.c=zn(Ye,_n);function zn(Sn,Ha){return function(oo){var xn=[],_t=-1,br=0,Hr=Sn.length,ti,zi,Yi;for(oo instanceof Date||(oo=new Date(+oo));++_t<Hr;)Sn.charCodeAt(_t)===37&&(xn.push(Sn.slice(br,_t)),(zi=o[ti=Sn.charAt(++_t)])!=null?ti=Sn.charAt(++_t):zi=ti===\"e\"?\" \":\"0\",(Yi=Ha[ti])&&(ti=Yi(oo,zi)),xn.push(ti),br=_t+1);return xn.push(Sn.slice(br,_t)),xn.join(\"\")}}function Wn(Sn,Ha){return function(oo){var xn=i(1900,void 0,1),_t=It(xn,Sn,oo+=\"\",0),br,Hr;if(_t!=oo.length)return null;if(\"Q\"in xn)return new Date(xn.Q);if(\"s\"in xn)return new Date(xn.s*1e3+(\"L\"in xn?xn.L:0));if(Ha&&!(\"Z\"in xn)&&(xn.Z=0),\"p\"in xn&&(xn.H=xn.H%12+xn.p*12),xn.m===void 0&&(xn.m=\"q\"in xn?xn.q:0),\"V\"in xn){if(xn.V<1||xn.V>53)return null;\"w\"in xn||(xn.w=1),\"Z\"in xn?(br=n(i(xn.y,0,1)),Hr=br.getUTCDay(),br=Hr>4||Hr===0?t.utcMonday.ceil(br):t.utcMonday(br),br=t.utcDay.offset(br,(xn.V-1)*7),xn.y=br.getUTCFullYear(),xn.m=br.getUTCMonth(),xn.d=br.getUTCDate()+(xn.w+6)%7):(br=r(i(xn.y,0,1)),Hr=br.getDay(),br=Hr>4||Hr===0?t.timeMonday.ceil(br):t.timeMonday(br),br=t.timeDay.offset(br,(xn.V-1)*7),xn.y=br.getFullYear(),xn.m=br.getMonth(),xn.d=br.getDate()+(xn.w+6)%7)}else(\"W\"in xn||\"U\"in xn)&&(\"w\"in xn||(xn.w=\"u\"in xn?xn.u%7:\"W\"in xn?1:0),Hr=\"Z\"in xn?n(i(xn.y,0,1)).getUTCDay():r(i(xn.y,0,1)).getDay(),xn.m=0,xn.d=\"W\"in xn?(xn.w+6)%7+xn.W*7-(Hr+5)%7:xn.w+xn.U*7-(Hr+6)%7);return\"Z\"in xn?(xn.H+=xn.Z/100|0,xn.M+=xn.Z%100,n(xn)):r(xn)}}function It(Sn,Ha,oo,xn){for(var _t=0,br=Ha.length,Hr=oo.length,ti,zi;_t<br;){if(xn>=Hr)return-1;if(ti=Ha.charCodeAt(_t++),ti===37){if(ti=Ha.charAt(_t++),zi=$i[ti in o?Ha.charAt(_t++):ti],!zi||(xn=zi(Sn,oo,xn))<0)return-1}else if(ti!=oo.charCodeAt(xn++))return-1}return xn}function ft(Sn,Ha,oo){var xn=Gt.exec(Ha.slice(oo));return xn?(Sn.p=Vt[xn[0].toLowerCase()],oo+xn[0].length):-1}function jt(Sn,Ha,oo){var xn=ai.exec(Ha.slice(oo));return xn?(Sn.w=jr[xn[0].toLowerCase()],oo+xn[0].length):-1}function Zt(Sn,Ha,oo){var xn=ar.exec(Ha.slice(oo));return xn?(Sn.w=Qr[xn[0].toLowerCase()],oo+xn[0].length):-1}function yr(Sn,Ha,oo){var xn=nn.exec(Ha.slice(oo));return xn?(Sn.m=Wi[xn[0].toLowerCase()],oo+xn[0].length):-1}function Fr(Sn,Ha,oo){var xn=ri.exec(Ha.slice(oo));return xn?(Sn.m=bi[xn[0].toLowerCase()],oo+xn[0].length):-1}function Zr(Sn,Ha,oo){return It(Sn,Ye,Ha,oo)}function Vr(Sn,Ha,oo){return It(Sn,Ve,Ha,oo)}function gi(Sn,Ha,oo){return It(Sn,Xe,Ha,oo)}function Si(Sn){return xe[Sn.getDay()]}function Mi(Sn){return Le[Sn.getDay()]}function Pi(Sn){return lt[Sn.getMonth()]}function Gi(Sn){return Se[Sn.getMonth()]}function Ki(Sn){return ht[+(Sn.getHours()>=12)]}function ka(Sn){return 1+~~(Sn.getMonth()/3)}function jn(Sn){return xe[Sn.getUTCDay()]}function la(Sn){return Le[Sn.getUTCDay()]}function Fa(Sn){return lt[Sn.getUTCMonth()]}function Ra(Sn){return Se[Sn.getUTCMonth()]}function jo(Sn){return ht[+(Sn.getUTCHours()>=12)]}function oa(Sn){return 1+~~(Sn.getUTCMonth()/3)}return{format:function(Sn){var Ha=zn(Sn+=\"\",Ni);return Ha.toString=function(){return Sn},Ha},parse:function(Sn){var Ha=Wn(Sn+=\"\",!1);return Ha.toString=function(){return Sn},Ha},utcFormat:function(Sn){var Ha=zn(Sn+=\"\",_n);return Ha.toString=function(){return Sn},Ha},utcParse:function(Sn){var Ha=Wn(Sn+=\"\",!0);return Ha.toString=function(){return Sn},Ha}}}var o={\"-\":\"\",_:\" \",0:\"0\"},s=/^\\s*\\d+/,l=/^%/,u=/[\\\\^$*+?|[\\]().{}]/g;function c(Ne,Ye,Ve){var Xe=Ne<0?\"-\":\"\",ht=(Xe?-Ne:Ne)+\"\",Le=ht.length;return Xe+(Le<Ve?new Array(Ve-Le+1).join(Ye)+ht:ht)}function f(Ne){return Ne.replace(u,\"\\\\$&\")}function h(Ne){return new RegExp(\"^(?:\"+Ne.map(f).join(\"|\")+\")\",\"i\")}function d(Ne){for(var Ye={},Ve=-1,Xe=Ne.length;++Ve<Xe;)Ye[Ne[Ve].toLowerCase()]=Ve;return Ye}function v(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+1));return Xe?(Ne.w=+Xe[0],Ve+Xe[0].length):-1}function x(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+1));return Xe?(Ne.u=+Xe[0],Ve+Xe[0].length):-1}function b(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.U=+Xe[0],Ve+Xe[0].length):-1}function p(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.V=+Xe[0],Ve+Xe[0].length):-1}function E(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.W=+Xe[0],Ve+Xe[0].length):-1}function k(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+4));return Xe?(Ne.y=+Xe[0],Ve+Xe[0].length):-1}function A(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.y=+Xe[0]+(+Xe[0]>68?1900:2e3),Ve+Xe[0].length):-1}function L(Ne,Ye,Ve){var Xe=/^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(Ye.slice(Ve,Ve+6));return Xe?(Ne.Z=Xe[1]?0:-(Xe[2]+(Xe[3]||\"00\")),Ve+Xe[0].length):-1}function _(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+1));return Xe?(Ne.q=Xe[0]*3-3,Ve+Xe[0].length):-1}function C(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.m=Xe[0]-1,Ve+Xe[0].length):-1}function M(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.d=+Xe[0],Ve+Xe[0].length):-1}function g(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+3));return Xe?(Ne.m=0,Ne.d=+Xe[0],Ve+Xe[0].length):-1}function P(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.H=+Xe[0],Ve+Xe[0].length):-1}function T(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.M=+Xe[0],Ve+Xe[0].length):-1}function F(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.S=+Xe[0],Ve+Xe[0].length):-1}function q(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+3));return Xe?(Ne.L=+Xe[0],Ve+Xe[0].length):-1}function V(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+6));return Xe?(Ne.L=Math.floor(Xe[0]/1e3),Ve+Xe[0].length):-1}function H(Ne,Ye,Ve){var Xe=l.exec(Ye.slice(Ve,Ve+1));return Xe?Ve+Xe[0].length:-1}function X(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve));return Xe?(Ne.Q=+Xe[0],Ve+Xe[0].length):-1}function G(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve));return Xe?(Ne.s=+Xe[0],Ve+Xe[0].length):-1}function N(Ne,Ye){return c(Ne.getDate(),Ye,2)}function W(Ne,Ye){return c(Ne.getHours(),Ye,2)}function re(Ne,Ye){return c(Ne.getHours()%12||12,Ye,2)}function ae(Ne,Ye){return c(1+t.timeDay.count(t.timeYear(Ne),Ne),Ye,3)}function _e(Ne,Ye){return c(Ne.getMilliseconds(),Ye,3)}function Me(Ne,Ye){return _e(Ne,Ye)+\"000\"}function ke(Ne,Ye){return c(Ne.getMonth()+1,Ye,2)}function ge(Ne,Ye){return c(Ne.getMinutes(),Ye,2)}function ie(Ne,Ye){return c(Ne.getSeconds(),Ye,2)}function Te(Ne){var Ye=Ne.getDay();return Ye===0?7:Ye}function Ee(Ne,Ye){return c(t.timeSunday.count(t.timeYear(Ne)-1,Ne),Ye,2)}function Ae(Ne,Ye){var Ve=Ne.getDay();return Ne=Ve>=4||Ve===0?t.timeThursday(Ne):t.timeThursday.ceil(Ne),c(t.timeThursday.count(t.timeYear(Ne),Ne)+(t.timeYear(Ne).getDay()===4),Ye,2)}function ze(Ne){return Ne.getDay()}function Ce(Ne,Ye){return c(t.timeMonday.count(t.timeYear(Ne)-1,Ne),Ye,2)}function me(Ne,Ye){return c(Ne.getFullYear()%100,Ye,2)}function Re(Ne,Ye){return c(Ne.getFullYear()%1e4,Ye,4)}function ce(Ne){var Ye=Ne.getTimezoneOffset();return(Ye>0?\"-\":(Ye*=-1,\"+\"))+c(Ye/60|0,\"0\",2)+c(Ye%60,\"0\",2)}function Ge(Ne,Ye){return c(Ne.getUTCDate(),Ye,2)}function nt(Ne,Ye){return c(Ne.getUTCHours(),Ye,2)}function ct(Ne,Ye){return c(Ne.getUTCHours()%12||12,Ye,2)}function qt(Ne,Ye){return c(1+t.utcDay.count(t.utcYear(Ne),Ne),Ye,3)}function rt(Ne,Ye){return c(Ne.getUTCMilliseconds(),Ye,3)}function ot(Ne,Ye){return rt(Ne,Ye)+\"000\"}function Rt(Ne,Ye){return c(Ne.getUTCMonth()+1,Ye,2)}function kt(Ne,Ye){return c(Ne.getUTCMinutes(),Ye,2)}function Ct(Ne,Ye){return c(Ne.getUTCSeconds(),Ye,2)}function Yt(Ne){var Ye=Ne.getUTCDay();return Ye===0?7:Ye}function xr(Ne,Ye){return c(t.utcSunday.count(t.utcYear(Ne)-1,Ne),Ye,2)}function er(Ne,Ye){var Ve=Ne.getUTCDay();return Ne=Ve>=4||Ve===0?t.utcThursday(Ne):t.utcThursday.ceil(Ne),c(t.utcThursday.count(t.utcYear(Ne),Ne)+(t.utcYear(Ne).getUTCDay()===4),Ye,2)}function Ke(Ne){return Ne.getUTCDay()}function xt(Ne,Ye){return c(t.utcMonday.count(t.utcYear(Ne)-1,Ne),Ye,2)}function bt(Ne,Ye){return c(Ne.getUTCFullYear()%100,Ye,2)}function Lt(Ne,Ye){return c(Ne.getUTCFullYear()%1e4,Ye,4)}function St(){return\"+0000\"}function Et(){return\"%\"}function dt(Ne){return+Ne}function Ht(Ne){return Math.floor(+Ne/1e3)}var $t;fr({dateTime:\"%x, %X\",date:\"%-m/%-d/%Y\",time:\"%-I:%M:%S %p\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]});function fr(Ne){return $t=a(Ne),e.timeFormat=$t.format,e.timeParse=$t.parse,e.utcFormat=$t.utcFormat,e.utcParse=$t.utcParse,$t}var _r=\"%Y-%m-%dT%H:%M:%S.%LZ\";function Br(Ne){return Ne.toISOString()}var Or=Date.prototype.toISOString?Br:e.utcFormat(_r);function Nr(Ne){var Ye=new Date(Ne);return isNaN(Ye)?null:Ye}var ut=+new Date(\"2000-01-01T00:00:00.000Z\")?Nr:e.utcParse(_r);e.isoFormat=Or,e.isoParse=ut,e.timeFormatDefaultLocale=fr,e.timeFormatLocale=a,Object.defineProperty(e,\"__esModule\",{value:!0})})});var vq=ye((a6,oee)=>{(function(e,t){typeof a6==\"object\"&&typeof oee!=\"undefined\"?t(a6):(e=typeof globalThis!=\"undefined\"?globalThis:e||self,t(e.d3=e.d3||{}))})(a6,function(e){\"use strict\";function t(C){return Math.abs(C=Math.round(C))>=1e21?C.toLocaleString(\"en\").replace(/,/g,\"\"):C.toString(10)}function r(C,M){if((g=(C=M?C.toExponential(M-1):C.toExponential()).indexOf(\"e\"))<0)return null;var g,P=C.slice(0,g);return[P.length>1?P[0]+P.slice(2):P,+C.slice(g+1)]}function n(C){return C=r(Math.abs(C)),C?C[1]:NaN}function i(C,M){return function(g,P){for(var T=g.length,F=[],q=0,V=C[0],H=0;T>0&&V>0&&(H+V+1>P&&(V=Math.max(1,P-H)),F.push(g.substring(T-=V,T+V)),!((H+=V+1)>P));)V=C[q=(q+1)%C.length];return F.reverse().join(M)}}function a(C){return function(M){return M.replace(/[0-9]/g,function(g){return C[+g]})}}var o=/^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;function s(C){if(!(M=o.exec(C)))throw new Error(\"invalid format: \"+C);var M;return new l({fill:M[1],align:M[2],sign:M[3],symbol:M[4],zero:M[5],width:M[6],comma:M[7],precision:M[8]&&M[8].slice(1),trim:M[9],type:M[10]})}s.prototype=l.prototype;function l(C){this.fill=C.fill===void 0?\" \":C.fill+\"\",this.align=C.align===void 0?\">\":C.align+\"\",this.sign=C.sign===void 0?\"-\":C.sign+\"\",this.symbol=C.symbol===void 0?\"\":C.symbol+\"\",this.zero=!!C.zero,this.width=C.width===void 0?void 0:+C.width,this.comma=!!C.comma,this.precision=C.precision===void 0?void 0:+C.precision,this.trim=!!C.trim,this.type=C.type===void 0?\"\":C.type+\"\"}l.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?\"0\":\"\")+(this.width===void 0?\"\":Math.max(1,this.width|0))+(this.comma?\",\":\"\")+(this.precision===void 0?\"\":\".\"+Math.max(0,this.precision|0))+(this.trim?\"~\":\"\")+this.type};function u(C){e:for(var M=C.length,g=1,P=-1,T;g<M;++g)switch(C[g]){case\".\":P=T=g;break;case\"0\":P===0&&(P=g),T=g;break;default:if(!+C[g])break e;P>0&&(P=0);break}return P>0?C.slice(0,P)+C.slice(T+1):C}var c;function f(C,M){var g=r(C,M);if(!g)return C+\"\";var P=g[0],T=g[1],F=T-(c=Math.max(-8,Math.min(8,Math.floor(T/3)))*3)+1,q=P.length;return F===q?P:F>q?P+new Array(F-q+1).join(\"0\"):F>0?P.slice(0,F)+\".\"+P.slice(F):\"0.\"+new Array(1-F).join(\"0\")+r(C,Math.max(0,M+F-1))[0]}function h(C,M){var g=r(C,M);if(!g)return C+\"\";var P=g[0],T=g[1];return T<0?\"0.\"+new Array(-T).join(\"0\")+P:P.length>T+1?P.slice(0,T+1)+\".\"+P.slice(T+1):P+new Array(T-P.length+2).join(\"0\")}var d={\"%\":function(C,M){return(C*100).toFixed(M)},b:function(C){return Math.round(C).toString(2)},c:function(C){return C+\"\"},d:t,e:function(C,M){return C.toExponential(M)},f:function(C,M){return C.toFixed(M)},g:function(C,M){return C.toPrecision(M)},o:function(C){return Math.round(C).toString(8)},p:function(C,M){return h(C*100,M)},r:h,s:f,X:function(C){return Math.round(C).toString(16).toUpperCase()},x:function(C){return Math.round(C).toString(16)}};function v(C){return C}var x=Array.prototype.map,b=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"\\xB5\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];function p(C){var M=C.grouping===void 0||C.thousands===void 0?v:i(x.call(C.grouping,Number),C.thousands+\"\"),g=C.currency===void 0?\"\":C.currency[0]+\"\",P=C.currency===void 0?\"\":C.currency[1]+\"\",T=C.decimal===void 0?\".\":C.decimal+\"\",F=C.numerals===void 0?v:a(x.call(C.numerals,String)),q=C.percent===void 0?\"%\":C.percent+\"\",V=C.minus===void 0?\"-\":C.minus+\"\",H=C.nan===void 0?\"NaN\":C.nan+\"\";function X(N){N=s(N);var W=N.fill,re=N.align,ae=N.sign,_e=N.symbol,Me=N.zero,ke=N.width,ge=N.comma,ie=N.precision,Te=N.trim,Ee=N.type;Ee===\"n\"?(ge=!0,Ee=\"g\"):d[Ee]||(ie===void 0&&(ie=12),Te=!0,Ee=\"g\"),(Me||W===\"0\"&&re===\"=\")&&(Me=!0,W=\"0\",re=\"=\");var Ae=_e===\"$\"?g:_e===\"#\"&&/[boxX]/.test(Ee)?\"0\"+Ee.toLowerCase():\"\",ze=_e===\"$\"?P:/[%p]/.test(Ee)?q:\"\",Ce=d[Ee],me=/[defgprs%]/.test(Ee);ie=ie===void 0?6:/[gprs]/.test(Ee)?Math.max(1,Math.min(21,ie)):Math.max(0,Math.min(20,ie));function Re(ce){var Ge=Ae,nt=ze,ct,qt,rt;if(Ee===\"c\")nt=Ce(ce)+nt,ce=\"\";else{ce=+ce;var ot=ce<0||1/ce<0;if(ce=isNaN(ce)?H:Ce(Math.abs(ce),ie),Te&&(ce=u(ce)),ot&&+ce==0&&ae!==\"+\"&&(ot=!1),Ge=(ot?ae===\"(\"?ae:V:ae===\"-\"||ae===\"(\"?\"\":ae)+Ge,nt=(Ee===\"s\"?b[8+c/3]:\"\")+nt+(ot&&ae===\"(\"?\")\":\"\"),me){for(ct=-1,qt=ce.length;++ct<qt;)if(rt=ce.charCodeAt(ct),48>rt||rt>57){nt=(rt===46?T+ce.slice(ct+1):ce.slice(ct))+nt,ce=ce.slice(0,ct);break}}}ge&&!Me&&(ce=M(ce,1/0));var Rt=Ge.length+ce.length+nt.length,kt=Rt<ke?new Array(ke-Rt+1).join(W):\"\";switch(ge&&Me&&(ce=M(kt+ce,kt.length?ke-nt.length:1/0),kt=\"\"),re){case\"<\":ce=Ge+ce+nt+kt;break;case\"=\":ce=Ge+kt+ce+nt;break;case\"^\":ce=kt.slice(0,Rt=kt.length>>1)+Ge+ce+nt+kt.slice(Rt);break;default:ce=kt+Ge+ce+nt;break}return F(ce)}return Re.toString=function(){return N+\"\"},Re}function G(N,W){var re=X((N=s(N),N.type=\"f\",N)),ae=Math.max(-8,Math.min(8,Math.floor(n(W)/3)))*3,_e=Math.pow(10,-ae),Me=b[8+ae/3];return function(ke){return re(_e*ke)+Me}}return{format:X,formatPrefix:G}}var E;k({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],minus:\"-\"});function k(C){return E=p(C),e.format=E.format,e.formatPrefix=E.formatPrefix,E}function A(C){return Math.max(0,-n(Math.abs(C)))}function L(C,M){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(n(M)/3)))*3-n(Math.abs(C)))}function _(C,M){return C=Math.abs(C),M=Math.abs(M)-C,Math.max(0,n(M)-n(C))+1}e.FormatSpecifier=l,e.formatDefaultLocale=k,e.formatLocale=p,e.formatSpecifier=s,e.precisionFixed=A,e.precisionPrefix=L,e.precisionRound=_,Object.defineProperty(e,\"__esModule\",{value:!0})})});var lee=ye((OQt,see)=>{\"use strict\";see.exports=function(e){for(var t=e.length,r,n=0;n<t;n++)if(r=e.charCodeAt(n),(r<9||r>13)&&r!==32&&r!==133&&r!==160&&r!==5760&&r!==6158&&(r<8192||r>8205)&&r!==8232&&r!==8233&&r!==8239&&r!==8287&&r!==8288&&r!==12288&&r!==65279)return!1;return!0}});var uo=ye((BQt,uee)=>{\"use strict\";var KQe=lee();uee.exports=function(e){var t=typeof e;if(t===\"string\"){var r=e;if(e=+e,e===0&&KQe(r))return!1}else if(t!==\"number\")return!1;return e-e<1}});var es=ye((NQt,cee)=>{\"use strict\";cee.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE*1e-4,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:24405875e-1,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:\"\\u2212\"}});var pq=ye((o6,fee)=>{(function(e,t){typeof o6==\"object\"&&typeof fee!=\"undefined\"?t(o6):(e=typeof globalThis!=\"undefined\"?globalThis:e||self,t(e[\"base64-arraybuffer\"]={}))})(o6,function(e){\"use strict\";for(var t=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",r=typeof Uint8Array==\"undefined\"?[]:new Uint8Array(256),n=0;n<t.length;n++)r[t.charCodeAt(n)]=n;var i=function(o){var s=new Uint8Array(o),l,u=s.length,c=\"\";for(l=0;l<u;l+=3)c+=t[s[l]>>2],c+=t[(s[l]&3)<<4|s[l+1]>>4],c+=t[(s[l+1]&15)<<2|s[l+2]>>6],c+=t[s[l+2]&63];return u%3===2?c=c.substring(0,c.length-1)+\"=\":u%3===1&&(c=c.substring(0,c.length-2)+\"==\"),c},a=function(o){var s=o.length*.75,l=o.length,u,c=0,f,h,d,v;o[o.length-1]===\"=\"&&(s--,o[o.length-2]===\"=\"&&s--);var x=new ArrayBuffer(s),b=new Uint8Array(x);for(u=0;u<l;u+=4)f=r[o.charCodeAt(u)],h=r[o.charCodeAt(u+1)],d=r[o.charCodeAt(u+2)],v=r[o.charCodeAt(u+3)],b[c++]=f<<2|h>>4,b[c++]=(h&15)<<4|d>>2,b[c++]=(d&3)<<6|v&63;return x};e.decode=a,e.encode=i,Object.defineProperty(e,\"__esModule\",{value:!0})})});var gy=ye((UQt,hee)=>{\"use strict\";hee.exports=function(t){return window&&window.process&&window.process.versions?Object.prototype.toString.call(t)===\"[object Object]\":Object.prototype.toString.call(t)===\"[object Object]\"&&Object.getPrototypeOf(t).hasOwnProperty(\"hasOwnProperty\")}});var vv=ye(mg=>{\"use strict\";var JQe=pq().decode,$Qe=gy(),gq=Array.isArray,QQe=ArrayBuffer,eet=DataView;function dee(e){return QQe.isView(e)&&!(e instanceof eet)}mg.isTypedArray=dee;function s6(e){return gq(e)||dee(e)}mg.isArrayOrTypedArray=s6;function tet(e){return!s6(e[0])}mg.isArray1D=tet;mg.ensureArray=function(e,t){return gq(e)||(e=[]),e.length=t,e};var Md={u1c:typeof Uint8ClampedArray==\"undefined\"?void 0:Uint8ClampedArray,i1:typeof Int8Array==\"undefined\"?void 0:Int8Array,u1:typeof Uint8Array==\"undefined\"?void 0:Uint8Array,i2:typeof Int16Array==\"undefined\"?void 0:Int16Array,u2:typeof Uint16Array==\"undefined\"?void 0:Uint16Array,i4:typeof Int32Array==\"undefined\"?void 0:Int32Array,u4:typeof Uint32Array==\"undefined\"?void 0:Uint32Array,f4:typeof Float32Array==\"undefined\"?void 0:Float32Array,f8:typeof Float64Array==\"undefined\"?void 0:Float64Array};Md.uint8c=Md.u1c;Md.uint8=Md.u1;Md.int8=Md.i1;Md.uint16=Md.u2;Md.int16=Md.i2;Md.uint32=Md.u4;Md.int32=Md.i4;Md.float32=Md.f4;Md.float64=Md.f8;function mq(e){return e.constructor===ArrayBuffer}mg.isArrayBuffer=mq;mg.decodeTypedArraySpec=function(e){var t=[],r=ret(e),n=r.dtype,i=Md[n];if(!i)throw new Error('Error in dtype: \"'+n+'\"');var a=i.BYTES_PER_ELEMENT,o=r.bdata;mq(o)||(o=JQe(o));var s=r.shape===void 0?[o.byteLength/a]:(\"\"+r.shape).split(\",\");s.reverse();var l=s.length,u,c,f=+s[0],h=a*f,d=0;if(l===1)t=new i(o);else if(l===2)for(u=+s[1],c=0;c<u;c++)t[c]=new i(o,d,f),d+=h;else if(l===3){u=+s[1];for(var v=+s[2],x=0;x<v;x++)for(t[x]=[],c=0;c<u;c++)t[x][c]=new i(o,d,f),d+=h}else throw new Error(\"ndim: \"+l+'is not supported with the shape:\"'+r.shape+'\"');return t.bdata=r.bdata,t.dtype=r.dtype,t.shape=s.reverse().join(\",\"),e._inputArray=t,t};mg.isTypedArraySpec=function(e){return $Qe(e)&&e.hasOwnProperty(\"dtype\")&&typeof e.dtype==\"string\"&&e.hasOwnProperty(\"bdata\")&&(typeof e.bdata==\"string\"||mq(e.bdata))&&(e.shape===void 0||e.hasOwnProperty(\"shape\")&&(typeof e.shape==\"string\"||typeof e.shape==\"number\"))};function ret(e){return{bdata:e.bdata,dtype:e.dtype,shape:e.shape}}mg.concat=function(){var e=[],t=!0,r=0,n,i,a,o,s,l,u,c;for(a=0;a<arguments.length;a++)o=arguments[a],l=o.length,l&&(i?e.push(o):(i=o,s=l),gq(o)?n=!1:(t=!1,r?n!==o.constructor&&(n=!1):n=o.constructor),r+=l);if(!r)return[];if(!e.length)return i;if(t)return i.concat.apply(i,e);if(n){for(u=new n(r),u.set(i),a=0;a<e.length;a++)o=e[a],u.set(o,s),s+=o.length;return u}for(u=new Array(r),c=0;c<i.length;c++)u[c]=i[c];for(a=0;a<e.length;a++){for(o=e[a],c=0;c<o.length;c++)u[s+c]=o[c];s+=c}return u};mg.maxRowLength=function(e){return vee(e,Math.max,0)};mg.minRowLength=function(e){return vee(e,Math.min,1/0)};function vee(e,t,r){if(s6(e))if(s6(e[0])){for(var n=r,i=0;i<e.length;i++)n=t(n,e[i].length);return n}else return e.length;return 0}});var ES=ye((HQt,_ee)=>{\"use strict\";var pee=uo(),_q=vv().isArrayOrTypedArray;_ee.exports=function(t,r){if(pee(r))r=String(r);else if(typeof r!=\"string\"||r.substr(r.length-4)===\"[-1]\")throw\"bad property string\";var n=r.split(\".\"),i,a,o,s;for(s=0;s<n.length;s++)if(String(n[s]).slice(0,2)===\"__\")throw\"bad property string\";for(s=0;s<n.length;){if(i=String(n[s]).match(/^([^\\[\\]]*)((\\[\\-?[0-9]*\\])+)$/),i){if(i[1])n[s]=i[1];else if(s===0)n.splice(0,1);else throw\"bad property string\";for(a=i[2].substr(1,i[2].length-2).split(\"][\"),o=0;o<a.length;o++)s++,n.splice(s,0,Number(a[o]))}s++}return typeof t!=\"object\"?oet(t,r,n):{set:mee(t,n,r),get:gee(t,n),astr:r,parts:n,obj:t}};function gee(e,t){return function(r){var n=e,i,a,o,s,l;for(s=0;s<t.length-1;s++){if(i=t[s],i===-1){for(a=!0,o=[],l=0;l<n.length;l++)o[l]=gee(n[l],t.slice(s+1))(r),o[l]!==o[0]&&(a=!1);return a?o[0]:o}if(typeof i==\"number\"&&!_q(n)||(n=n[i],typeof n!=\"object\"||n===null))return}if(!(typeof n!=\"object\"||n===null)&&(o=n[t[s]],!(!r&&o===null)))return o}}var iet=/(^|\\.)args\\[/;function yq(e,t){return e===void 0||e===null&&!t.match(iet)}function mee(e,t,r){return function(n){var i=e,a=\"\",o=[[e,a]],s=yq(n,r),l,u;for(u=0;u<t.length-1;u++){if(l=t[u],typeof l==\"number\"&&!_q(i))throw\"array index but container is not an array\";if(l===-1){if(s=!aet(i,t.slice(u+1),n,r),s)break;return}if(!yee(i,l,t[u+1],s))break;if(i=i[l],typeof i!=\"object\"||i===null)throw\"container is not an object\";a=net(a,l),o.push([i,a])}if(s){if(u===t.length-1&&(delete i[t[u]],Array.isArray(i)&&+t[u]===i.length-1))for(;i.length&&i[i.length-1]===void 0;)i.pop()}else i[t[u]]=n}}function net(e,t){var r=t;return pee(t)?r=\"[\"+t+\"]\":e&&(r=\".\"+t),e+r}function aet(e,t,r,n){var i=_q(r),a=!0,o=r,s=n.replace(\"-1\",0),l=i?!1:yq(r,s),u=t[0],c;for(c=0;c<e.length;c++)s=n.replace(\"-1\",c),i&&(o=r[c%r.length],l=yq(o,s)),l&&(a=!1),yee(e,c,u,l)&&mee(e[c],t,n.replace(\"-1\",c))(o);return a}function yee(e,t,r,n){if(e[t]===void 0){if(n)return!1;typeof r==\"number\"?e[t]=[]:e[t]={}}return!0}function oet(e,t,r){return{set:function(){throw\"bad container\"},get:function(){},astr:t,parts:r,obj:e}}});var Tee=ye((GQt,wee)=>{\"use strict\";var t3=ES(),set=/^\\w*$/,uet=0,xee=1,l6=2,bee=3,ob=4;wee.exports=function(t,r,n,i){n=n||\"name\",i=i||\"value\";var a,o,s,l={};r&&r.length?(s=t3(t,r),o=s.get()):o=t,r=r||\"\";var u={};if(o)for(a=0;a<o.length;a++)u[o[a][n]]=a;var c=set.test(i),f={set:function(h,d){var v=d===null?ob:uet;if(!o){if(!s||v===ob)return;o=[],s.set(o)}var x=u[h];if(x===void 0){if(v===ob)return;v=v|bee,x=o.length,u[h]=x}else d!==(c?o[x][i]:t3(o[x],i).get())&&(v=v|l6);var b=o[x]=o[x]||{};return b[n]=h,c?b[i]=d:t3(b,i).set(d),d!==null&&(v=v&~ob),l[x]=l[x]|v,f},get:function(h){if(o){var d=u[h];if(d!==void 0)return c?o[d][i]:t3(o[d],i).get()}},rename:function(h,d){var v=u[h];return v===void 0||(l[v]=l[v]|xee,u[d]=v,delete u[h],o[v][n]=d),f},remove:function(h){var d=u[h];if(d===void 0)return f;var v=o[d];if(Object.keys(v).length>2)return l[d]=l[d]|l6,f.set(h,null);if(c){for(a=d;a<o.length;a++)l[a]=l[a]|bee;for(a=d;a<o.length;a++)u[o[a][n]]--;o.splice(d,1),delete u[h]}else t3(v,i).set(null),l[d]=l[d]|l6|ob;return f},constructUpdate:function(){for(var h,d,v={},x=Object.keys(l),b=0;b<x.length;b++)d=x[b],h=r+\"[\"+d+\"]\",o[d]?(l[d]&xee&&(v[h+\".\"+n]=o[d][n]),l[d]&l6&&(c?v[h+\".\"+i]=l[d]&ob?null:o[d][i]:v[h+\".\"+i]=l[d]&ob?null:t3(o[d],i).get())):v[h]=null;return v}};return f}});var See=ye((jQt,Aee)=>{\"use strict\";var cet=/^(.*)(\\.[^\\.\\[\\]]+|\\[\\d\\])$/,fet=/^[^\\.\\[\\]]+$/;Aee.exports=function(e,t){for(;t;){var r=e.match(cet);if(r)e=r[1];else if(e.match(fet))e=\"\";else throw new Error(\"bad relativeAttr call:\"+[e,t]);if(t.charAt(0)===\"^\")t=t.slice(1);else break}return e&&t.charAt(0)!==\"[\"?e+\".\"+t:e+t}});var u6=ye((WQt,Mee)=>{\"use strict\";var het=uo();Mee.exports=function(t,r){if(t>0)return Math.log(t)/Math.LN10;var n=Math.log(Math.min(r[0],r[1]))/Math.LN10;return het(n)||(n=Math.log(Math.max(r[0],r[1]))/Math.LN10-6),n}});var Cee=ye((ZQt,kee)=>{\"use strict\";var Eee=vv().isArrayOrTypedArray,kS=gy();kee.exports=function e(t,r){for(var n in r){var i=r[n],a=t[n];if(a!==i)if(n.charAt(0)===\"_\"||typeof i==\"function\"){if(n in t)continue;t[n]=i}else if(Eee(i)&&Eee(a)&&kS(i[0])){if(n===\"customdata\"||n===\"ids\")continue;for(var o=Math.min(i.length,a.length),s=0;s<o;s++)a[s]!==i[s]&&kS(i[s])&&kS(a[s])&&e(a[s],i[s])}else kS(i)&&kS(a)&&(e(a,i),Object.keys(a).length||delete t[n])}}});var r3=ye((XQt,Lee)=>{\"use strict\";function det(e,t){var r=e%t;return r<0?r+t:r}function vet(e,t){return Math.abs(e)>t/2?e-Math.round(e/t)*t:e}Lee.exports={mod:det,modHalf:vet}});var id=ye((YQt,c6)=>{(function(e){var t=/^\\s+/,r=/\\s+$/,n=0,i=e.round,a=e.min,o=e.max,s=e.random;function l(me,Re){if(me=me||\"\",Re=Re||{},me instanceof l)return me;if(!(this instanceof l))return new l(me,Re);var ce=u(me);this._originalInput=me,this._r=ce.r,this._g=ce.g,this._b=ce.b,this._a=ce.a,this._roundA=i(100*this._a)/100,this._format=Re.format||ce.format,this._gradientType=Re.gradientType,this._r<1&&(this._r=i(this._r)),this._g<1&&(this._g=i(this._g)),this._b<1&&(this._b=i(this._b)),this._ok=ce.ok,this._tc_id=n++}l.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 me=this.toRgb();return(me.r*299+me.g*587+me.b*114)/1e3},getLuminance:function(){var me=this.toRgb(),Re,ce,Ge,nt,ct,qt;return Re=me.r/255,ce=me.g/255,Ge=me.b/255,Re<=.03928?nt=Re/12.92:nt=e.pow((Re+.055)/1.055,2.4),ce<=.03928?ct=ce/12.92:ct=e.pow((ce+.055)/1.055,2.4),Ge<=.03928?qt=Ge/12.92:qt=e.pow((Ge+.055)/1.055,2.4),.2126*nt+.7152*ct+.0722*qt},setAlpha:function(me){return this._a=N(me),this._roundA=i(100*this._a)/100,this},toHsv:function(){var me=d(this._r,this._g,this._b);return{h:me.h*360,s:me.s,v:me.v,a:this._a}},toHsvString:function(){var me=d(this._r,this._g,this._b),Re=i(me.h*360),ce=i(me.s*100),Ge=i(me.v*100);return this._a==1?\"hsv(\"+Re+\", \"+ce+\"%, \"+Ge+\"%)\":\"hsva(\"+Re+\", \"+ce+\"%, \"+Ge+\"%, \"+this._roundA+\")\"},toHsl:function(){var me=f(this._r,this._g,this._b);return{h:me.h*360,s:me.s,l:me.l,a:this._a}},toHslString:function(){var me=f(this._r,this._g,this._b),Re=i(me.h*360),ce=i(me.s*100),Ge=i(me.l*100);return this._a==1?\"hsl(\"+Re+\", \"+ce+\"%, \"+Ge+\"%)\":\"hsla(\"+Re+\", \"+ce+\"%, \"+Ge+\"%, \"+this._roundA+\")\"},toHex:function(me){return x(this._r,this._g,this._b,me)},toHexString:function(me){return\"#\"+this.toHex(me)},toHex8:function(me){return b(this._r,this._g,this._b,this._a,me)},toHex8String:function(me){return\"#\"+this.toHex8(me)},toRgb:function(){return{r:i(this._r),g:i(this._g),b:i(this._b),a:this._a}},toRgbString:function(){return this._a==1?\"rgb(\"+i(this._r)+\", \"+i(this._g)+\", \"+i(this._b)+\")\":\"rgba(\"+i(this._r)+\", \"+i(this._g)+\", \"+i(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:i(W(this._r,255)*100)+\"%\",g:i(W(this._g,255)*100)+\"%\",b:i(W(this._b,255)*100)+\"%\",a:this._a}},toPercentageRgbString:function(){return this._a==1?\"rgb(\"+i(W(this._r,255)*100)+\"%, \"+i(W(this._g,255)*100)+\"%, \"+i(W(this._b,255)*100)+\"%)\":\"rgba(\"+i(W(this._r,255)*100)+\"%, \"+i(W(this._g,255)*100)+\"%, \"+i(W(this._b,255)*100)+\"%, \"+this._roundA+\")\"},toName:function(){return this._a===0?\"transparent\":this._a<1?!1:X[x(this._r,this._g,this._b,!0)]||!1},toFilter:function(me){var Re=\"#\"+p(this._r,this._g,this._b,this._a),ce=Re,Ge=this._gradientType?\"GradientType = 1, \":\"\";if(me){var nt=l(me);ce=\"#\"+p(nt._r,nt._g,nt._b,nt._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+Ge+\"startColorstr=\"+Re+\",endColorstr=\"+ce+\")\"},toString:function(me){var Re=!!me;me=me||this._format;var ce=!1,Ge=this._a<1&&this._a>=0,nt=!Re&&Ge&&(me===\"hex\"||me===\"hex6\"||me===\"hex3\"||me===\"hex4\"||me===\"hex8\"||me===\"name\");return nt?me===\"name\"&&this._a===0?this.toName():this.toRgbString():(me===\"rgb\"&&(ce=this.toRgbString()),me===\"prgb\"&&(ce=this.toPercentageRgbString()),(me===\"hex\"||me===\"hex6\")&&(ce=this.toHexString()),me===\"hex3\"&&(ce=this.toHexString(!0)),me===\"hex4\"&&(ce=this.toHex8String(!0)),me===\"hex8\"&&(ce=this.toHex8String()),me===\"name\"&&(ce=this.toName()),me===\"hsl\"&&(ce=this.toHslString()),me===\"hsv\"&&(ce=this.toHsvString()),ce||this.toHexString())},clone:function(){return l(this.toString())},_applyModification:function(me,Re){var ce=me.apply(null,[this].concat([].slice.call(Re)));return this._r=ce._r,this._g=ce._g,this._b=ce._b,this.setAlpha(ce._a),this},lighten:function(){return this._applyModification(L,arguments)},brighten:function(){return this._applyModification(_,arguments)},darken:function(){return this._applyModification(C,arguments)},desaturate:function(){return this._applyModification(E,arguments)},saturate:function(){return this._applyModification(k,arguments)},greyscale:function(){return this._applyModification(A,arguments)},spin:function(){return this._applyModification(M,arguments)},_applyCombination:function(me,Re){return me.apply(null,[this].concat([].slice.call(Re)))},analogous:function(){return this._applyCombination(q,arguments)},complement:function(){return this._applyCombination(g,arguments)},monochromatic:function(){return this._applyCombination(V,arguments)},splitcomplement:function(){return this._applyCombination(F,arguments)},triad:function(){return this._applyCombination(P,arguments)},tetrad:function(){return this._applyCombination(T,arguments)}},l.fromRatio=function(me,Re){if(typeof me==\"object\"){var ce={};for(var Ge in me)me.hasOwnProperty(Ge)&&(Ge===\"a\"?ce[Ge]=me[Ge]:ce[Ge]=ge(me[Ge]));me=ce}return l(me,Re)};function u(me){var Re={r:0,g:0,b:0},ce=1,Ge=null,nt=null,ct=null,qt=!1,rt=!1;return typeof me==\"string\"&&(me=ze(me)),typeof me==\"object\"&&(Ae(me.r)&&Ae(me.g)&&Ae(me.b)?(Re=c(me.r,me.g,me.b),qt=!0,rt=String(me.r).substr(-1)===\"%\"?\"prgb\":\"rgb\"):Ae(me.h)&&Ae(me.s)&&Ae(me.v)?(Ge=ge(me.s),nt=ge(me.v),Re=v(me.h,Ge,nt),qt=!0,rt=\"hsv\"):Ae(me.h)&&Ae(me.s)&&Ae(me.l)&&(Ge=ge(me.s),ct=ge(me.l),Re=h(me.h,Ge,ct),qt=!0,rt=\"hsl\"),me.hasOwnProperty(\"a\")&&(ce=me.a)),ce=N(ce),{ok:qt,format:me.format||rt,r:a(255,o(Re.r,0)),g:a(255,o(Re.g,0)),b:a(255,o(Re.b,0)),a:ce}}function c(me,Re,ce){return{r:W(me,255)*255,g:W(Re,255)*255,b:W(ce,255)*255}}function f(me,Re,ce){me=W(me,255),Re=W(Re,255),ce=W(ce,255);var Ge=o(me,Re,ce),nt=a(me,Re,ce),ct,qt,rt=(Ge+nt)/2;if(Ge==nt)ct=qt=0;else{var ot=Ge-nt;switch(qt=rt>.5?ot/(2-Ge-nt):ot/(Ge+nt),Ge){case me:ct=(Re-ce)/ot+(Re<ce?6:0);break;case Re:ct=(ce-me)/ot+2;break;case ce:ct=(me-Re)/ot+4;break}ct/=6}return{h:ct,s:qt,l:rt}}function h(me,Re,ce){var Ge,nt,ct;me=W(me,360),Re=W(Re,100),ce=W(ce,100);function qt(Rt,kt,Ct){return Ct<0&&(Ct+=1),Ct>1&&(Ct-=1),Ct<1/6?Rt+(kt-Rt)*6*Ct:Ct<1/2?kt:Ct<2/3?Rt+(kt-Rt)*(2/3-Ct)*6:Rt}if(Re===0)Ge=nt=ct=ce;else{var rt=ce<.5?ce*(1+Re):ce+Re-ce*Re,ot=2*ce-rt;Ge=qt(ot,rt,me+1/3),nt=qt(ot,rt,me),ct=qt(ot,rt,me-1/3)}return{r:Ge*255,g:nt*255,b:ct*255}}function d(me,Re,ce){me=W(me,255),Re=W(Re,255),ce=W(ce,255);var Ge=o(me,Re,ce),nt=a(me,Re,ce),ct,qt,rt=Ge,ot=Ge-nt;if(qt=Ge===0?0:ot/Ge,Ge==nt)ct=0;else{switch(Ge){case me:ct=(Re-ce)/ot+(Re<ce?6:0);break;case Re:ct=(ce-me)/ot+2;break;case ce:ct=(me-Re)/ot+4;break}ct/=6}return{h:ct,s:qt,v:rt}}function v(me,Re,ce){me=W(me,360)*6,Re=W(Re,100),ce=W(ce,100);var Ge=e.floor(me),nt=me-Ge,ct=ce*(1-Re),qt=ce*(1-nt*Re),rt=ce*(1-(1-nt)*Re),ot=Ge%6,Rt=[ce,qt,ct,ct,rt,ce][ot],kt=[rt,ce,ce,qt,ct,ct][ot],Ct=[ct,ct,rt,ce,ce,qt][ot];return{r:Rt*255,g:kt*255,b:Ct*255}}function x(me,Re,ce,Ge){var nt=[ke(i(me).toString(16)),ke(i(Re).toString(16)),ke(i(ce).toString(16))];return Ge&&nt[0].charAt(0)==nt[0].charAt(1)&&nt[1].charAt(0)==nt[1].charAt(1)&&nt[2].charAt(0)==nt[2].charAt(1)?nt[0].charAt(0)+nt[1].charAt(0)+nt[2].charAt(0):nt.join(\"\")}function b(me,Re,ce,Ge,nt){var ct=[ke(i(me).toString(16)),ke(i(Re).toString(16)),ke(i(ce).toString(16)),ke(ie(Ge))];return nt&&ct[0].charAt(0)==ct[0].charAt(1)&&ct[1].charAt(0)==ct[1].charAt(1)&&ct[2].charAt(0)==ct[2].charAt(1)&&ct[3].charAt(0)==ct[3].charAt(1)?ct[0].charAt(0)+ct[1].charAt(0)+ct[2].charAt(0)+ct[3].charAt(0):ct.join(\"\")}function p(me,Re,ce,Ge){var nt=[ke(ie(Ge)),ke(i(me).toString(16)),ke(i(Re).toString(16)),ke(i(ce).toString(16))];return nt.join(\"\")}l.equals=function(me,Re){return!me||!Re?!1:l(me).toRgbString()==l(Re).toRgbString()},l.random=function(){return l.fromRatio({r:s(),g:s(),b:s()})};function E(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toHsl();return ce.s-=Re/100,ce.s=re(ce.s),l(ce)}function k(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toHsl();return ce.s+=Re/100,ce.s=re(ce.s),l(ce)}function A(me){return l(me).desaturate(100)}function L(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toHsl();return ce.l+=Re/100,ce.l=re(ce.l),l(ce)}function _(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toRgb();return ce.r=o(0,a(255,ce.r-i(255*-(Re/100)))),ce.g=o(0,a(255,ce.g-i(255*-(Re/100)))),ce.b=o(0,a(255,ce.b-i(255*-(Re/100)))),l(ce)}function C(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toHsl();return ce.l-=Re/100,ce.l=re(ce.l),l(ce)}function M(me,Re){var ce=l(me).toHsl(),Ge=(ce.h+Re)%360;return ce.h=Ge<0?360+Ge:Ge,l(ce)}function g(me){var Re=l(me).toHsl();return Re.h=(Re.h+180)%360,l(Re)}function P(me){var Re=l(me).toHsl(),ce=Re.h;return[l(me),l({h:(ce+120)%360,s:Re.s,l:Re.l}),l({h:(ce+240)%360,s:Re.s,l:Re.l})]}function T(me){var Re=l(me).toHsl(),ce=Re.h;return[l(me),l({h:(ce+90)%360,s:Re.s,l:Re.l}),l({h:(ce+180)%360,s:Re.s,l:Re.l}),l({h:(ce+270)%360,s:Re.s,l:Re.l})]}function F(me){var Re=l(me).toHsl(),ce=Re.h;return[l(me),l({h:(ce+72)%360,s:Re.s,l:Re.l}),l({h:(ce+216)%360,s:Re.s,l:Re.l})]}function q(me,Re,ce){Re=Re||6,ce=ce||30;var Ge=l(me).toHsl(),nt=360/ce,ct=[l(me)];for(Ge.h=(Ge.h-(nt*Re>>1)+720)%360;--Re;)Ge.h=(Ge.h+nt)%360,ct.push(l(Ge));return ct}function V(me,Re){Re=Re||6;for(var ce=l(me).toHsv(),Ge=ce.h,nt=ce.s,ct=ce.v,qt=[],rt=1/Re;Re--;)qt.push(l({h:Ge,s:nt,v:ct})),ct=(ct+rt)%1;return qt}l.mix=function(me,Re,ce){ce=ce===0?0:ce||50;var Ge=l(me).toRgb(),nt=l(Re).toRgb(),ct=ce/100,qt={r:(nt.r-Ge.r)*ct+Ge.r,g:(nt.g-Ge.g)*ct+Ge.g,b:(nt.b-Ge.b)*ct+Ge.b,a:(nt.a-Ge.a)*ct+Ge.a};return l(qt)},l.readability=function(me,Re){var ce=l(me),Ge=l(Re);return(e.max(ce.getLuminance(),Ge.getLuminance())+.05)/(e.min(ce.getLuminance(),Ge.getLuminance())+.05)},l.isReadable=function(me,Re,ce){var Ge=l.readability(me,Re),nt,ct;switch(ct=!1,nt=Ce(ce),nt.level+nt.size){case\"AAsmall\":case\"AAAlarge\":ct=Ge>=4.5;break;case\"AAlarge\":ct=Ge>=3;break;case\"AAAsmall\":ct=Ge>=7;break}return ct},l.mostReadable=function(me,Re,ce){var Ge=null,nt=0,ct,qt,rt,ot;ce=ce||{},qt=ce.includeFallbackColors,rt=ce.level,ot=ce.size;for(var Rt=0;Rt<Re.length;Rt++)ct=l.readability(me,Re[Rt]),ct>nt&&(nt=ct,Ge=l(Re[Rt]));return l.isReadable(me,Ge,{level:rt,size:ot})||!qt?Ge:(ce.includeFallbackColors=!1,l.mostReadable(me,[\"#fff\",\"#000\"],ce))};var H=l.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\"},X=l.hexNames=G(H);function G(me){var Re={};for(var ce in me)me.hasOwnProperty(ce)&&(Re[me[ce]]=ce);return Re}function N(me){return me=parseFloat(me),(isNaN(me)||me<0||me>1)&&(me=1),me}function W(me,Re){_e(me)&&(me=\"100%\");var ce=Me(me);return me=a(Re,o(0,parseFloat(me))),ce&&(me=parseInt(me*Re,10)/100),e.abs(me-Re)<1e-6?1:me%Re/parseFloat(Re)}function re(me){return a(1,o(0,me))}function ae(me){return parseInt(me,16)}function _e(me){return typeof me==\"string\"&&me.indexOf(\".\")!=-1&&parseFloat(me)===1}function Me(me){return typeof me==\"string\"&&me.indexOf(\"%\")!=-1}function ke(me){return me.length==1?\"0\"+me:\"\"+me}function ge(me){return me<=1&&(me=me*100+\"%\"),me}function ie(me){return e.round(parseFloat(me)*255).toString(16)}function Te(me){return ae(me)/255}var Ee=function(){var me=\"[-\\\\+]?\\\\d+%?\",Re=\"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\",ce=\"(?:\"+Re+\")|(?:\"+me+\")\",Ge=\"[\\\\s|\\\\(]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")\\\\s*\\\\)?\",nt=\"[\\\\s|\\\\(]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")\\\\s*\\\\)?\";return{CSS_UNIT:new RegExp(ce),rgb:new RegExp(\"rgb\"+Ge),rgba:new RegExp(\"rgba\"+nt),hsl:new RegExp(\"hsl\"+Ge),hsla:new RegExp(\"hsla\"+nt),hsv:new RegExp(\"hsv\"+Ge),hsva:new RegExp(\"hsva\"+nt),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 Ae(me){return!!Ee.CSS_UNIT.exec(me)}function ze(me){me=me.replace(t,\"\").replace(r,\"\").toLowerCase();var Re=!1;if(H[me])me=H[me],Re=!0;else if(me==\"transparent\")return{r:0,g:0,b:0,a:0,format:\"name\"};var ce;return(ce=Ee.rgb.exec(me))?{r:ce[1],g:ce[2],b:ce[3]}:(ce=Ee.rgba.exec(me))?{r:ce[1],g:ce[2],b:ce[3],a:ce[4]}:(ce=Ee.hsl.exec(me))?{h:ce[1],s:ce[2],l:ce[3]}:(ce=Ee.hsla.exec(me))?{h:ce[1],s:ce[2],l:ce[3],a:ce[4]}:(ce=Ee.hsv.exec(me))?{h:ce[1],s:ce[2],v:ce[3]}:(ce=Ee.hsva.exec(me))?{h:ce[1],s:ce[2],v:ce[3],a:ce[4]}:(ce=Ee.hex8.exec(me))?{r:ae(ce[1]),g:ae(ce[2]),b:ae(ce[3]),a:Te(ce[4]),format:Re?\"name\":\"hex8\"}:(ce=Ee.hex6.exec(me))?{r:ae(ce[1]),g:ae(ce[2]),b:ae(ce[3]),format:Re?\"name\":\"hex\"}:(ce=Ee.hex4.exec(me))?{r:ae(ce[1]+\"\"+ce[1]),g:ae(ce[2]+\"\"+ce[2]),b:ae(ce[3]+\"\"+ce[3]),a:Te(ce[4]+\"\"+ce[4]),format:Re?\"name\":\"hex8\"}:(ce=Ee.hex3.exec(me))?{r:ae(ce[1]+\"\"+ce[1]),g:ae(ce[2]+\"\"+ce[2]),b:ae(ce[3]+\"\"+ce[3]),format:Re?\"name\":\"hex\"}:!1}function Ce(me){var Re,ce;return me=me||{level:\"AA\",size:\"small\"},Re=(me.level||\"AA\").toUpperCase(),ce=(me.size||\"small\").toLowerCase(),Re!==\"AA\"&&Re!==\"AAA\"&&(Re=\"AA\"),ce!==\"small\"&&ce!==\"large\"&&(ce=\"small\"),{level:Re,size:ce}}typeof c6!=\"undefined\"&&c6.exports?c6.exports=l:window.tinycolor=l})(Math)});var no=ye(PS=>{\"use strict\";var Pee=gy(),CS=Array.isArray;function pet(e,t){var r,n;for(r=0;r<e.length;r++){if(n=e[r],n!==null&&typeof n==\"object\")return!1;n!==void 0&&(t[r]=n)}return!0}PS.extendFlat=function(){return LS(arguments,!1,!1,!1)};PS.extendDeep=function(){return LS(arguments,!0,!1,!1)};PS.extendDeepAll=function(){return LS(arguments,!0,!0,!1)};PS.extendDeepNoArrays=function(){return LS(arguments,!0,!1,!0)};function LS(e,t,r,n){var i=e[0],a=e.length,o,s,l,u,c,f,h;if(a===2&&CS(i)&&CS(e[1])&&i.length===0){if(h=pet(e[1],i),h)return i;i.splice(0,i.length)}for(var d=1;d<a;d++){o=e[d];for(s in o)l=i[s],u=o[s],n&&CS(u)?i[s]=u:t&&u&&(Pee(u)||(c=CS(u)))?(c?(c=!1,f=l&&CS(l)?l:[]):f=l&&Pee(l)?l:{},i[s]=LS([f,u],t,r,n)):(typeof u!=\"undefined\"||r)&&(i[s]=u)}return i}});var Su=ye((JQt,Iee)=>{\"use strict\";Iee.exports=function(e){var t=e.variantValues,r=e.editType,n=e.colorEditType;n===void 0&&(n=r);var i={editType:r,valType:\"integer\",min:1,max:1e3,extras:[\"normal\",\"bold\"],dflt:\"normal\"};e.noNumericWeightValues&&(i.valType=\"enumerated\",i.values=i.extras,i.extras=void 0,i.min=void 0,i.max=void 0);var a={family:{valType:\"string\",noBlank:!0,strict:!0,editType:r},size:{valType:\"number\",min:1,editType:r},color:{valType:\"color\",editType:n},weight:i,style:{editType:r,valType:\"enumerated\",values:[\"normal\",\"italic\"],dflt:\"normal\"},variant:e.noFontVariant?void 0:{editType:r,valType:\"enumerated\",values:t||[\"normal\",\"small-caps\",\"all-small-caps\",\"all-petite-caps\",\"petite-caps\",\"unicase\"],dflt:\"normal\"},textcase:e.noFontTextcase?void 0:{editType:r,valType:\"enumerated\",values:[\"normal\",\"word caps\",\"upper\",\"lower\"],dflt:\"normal\"},lineposition:e.noFontLineposition?void 0:{editType:r,valType:\"flaglist\",flags:[\"under\",\"over\",\"through\"],extras:[\"none\"],dflt:\"none\"},shadow:e.noFontShadow?void 0:{editType:r,valType:\"string\",dflt:e.autoShadowDflt?\"auto\":\"none\"},editType:r};return e.autoSize&&(a.size.dflt=\"auto\"),e.autoColor&&(a.color.dflt=\"auto\"),e.arrayOk&&(a.family.arrayOk=!0,a.weight.arrayOk=!0,a.style.arrayOk=!0,e.noFontVariant||(a.variant.arrayOk=!0),e.noFontTextcase||(a.textcase.arrayOk=!0),e.noFontLineposition||(a.lineposition.arrayOk=!0),e.noFontShadow||(a.shadow.arrayOk=!0),a.size.arrayOk=!0,a.color.arrayOk=!0),a}});var IS=ye(($Qt,Ree)=>{\"use strict\";Ree.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:\"Arial, sans-serif\",HOVERMINTIME:50,HOVERID:\"-hover\"}});var N1=ye((QQt,Fee)=>{\"use strict\";var Dee=IS(),zee=Su(),xq=zee({editType:\"none\"});xq.family.dflt=Dee.HOVERFONT;xq.size.dflt=Dee.HOVERFONTSIZE;Fee.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:xq,grouptitlefont:zee({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\"}}});var i3=ye((eer,qee)=>{\"use strict\";var get=Su(),f6=N1().hoverlabel,h6=no().extendFlat;qee.exports={hoverlabel:{bgcolor:h6({},f6.bgcolor,{arrayOk:!0}),bordercolor:h6({},f6.bordercolor,{arrayOk:!0}),font:get({arrayOk:!0,editType:\"none\"}),align:h6({},f6.align,{arrayOk:!0}),namelength:h6({},f6.namelength,{arrayOk:!0}),editType:\"none\"}}});var vl=ye((ter,Oee)=>{\"use strict\";var met=Su(),yet=i3();Oee.exports={type:{valType:\"enumerated\",values:[],dflt:\"scatter\",editType:\"calc+clearAxisTypes\",_noTemplating:!0},visible:{valType:\"enumerated\",values:[!0,!1,\"legendonly\"],dflt:!0,editType:\"calc\"},showlegend:{valType:\"boolean\",dflt:!0,editType:\"style\"},legend:{valType:\"subplotid\",dflt:\"legend\",editType:\"style\"},legendgroup:{valType:\"string\",dflt:\"\",editType:\"style\"},legendgrouptitle:{text:{valType:\"string\",dflt:\"\",editType:\"style\"},font:met({editType:\"style\"}),editType:\"style\"},legendrank:{valType:\"number\",dflt:1e3,editType:\"style\"},legendwidth:{valType:\"number\",min:0,editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"style\"},name:{valType:\"string\",editType:\"style\"},uid:{valType:\"string\",editType:\"plot\",anim:!0},ids:{valType:\"data_array\",editType:\"calc\",anim:!0},customdata:{valType:\"data_array\",editType:\"calc\"},meta:{valType:\"any\",arrayOk:!0,editType:\"plot\"},selectedpoints:{valType:\"any\",editType:\"calc\"},hoverinfo:{valType:\"flaglist\",flags:[\"x\",\"y\",\"z\",\"text\",\"name\"],extras:[\"all\",\"none\",\"skip\"],arrayOk:!0,dflt:\"all\",editType:\"none\"},hoverlabel:yet.hoverlabel,stream:{token:{valType:\"string\",noBlank:!0,strict:!0,editType:\"calc\"},maxpoints:{valType:\"number\",min:0,max:1e4,dflt:500,editType:\"calc\"},editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"}}});var sb=ye((rer,Uee)=>{\"use strict\";var _et=id(),d6={Greys:[[0,\"rgb(0,0,0)\"],[1,\"rgb(255,255,255)\"]],YlGnBu:[[0,\"rgb(8,29,88)\"],[.125,\"rgb(37,52,148)\"],[.25,\"rgb(34,94,168)\"],[.375,\"rgb(29,145,192)\"],[.5,\"rgb(65,182,196)\"],[.625,\"rgb(127,205,187)\"],[.75,\"rgb(199,233,180)\"],[.875,\"rgb(237,248,217)\"],[1,\"rgb(255,255,217)\"]],Greens:[[0,\"rgb(0,68,27)\"],[.125,\"rgb(0,109,44)\"],[.25,\"rgb(35,139,69)\"],[.375,\"rgb(65,171,93)\"],[.5,\"rgb(116,196,118)\"],[.625,\"rgb(161,217,155)\"],[.75,\"rgb(199,233,192)\"],[.875,\"rgb(229,245,224)\"],[1,\"rgb(247,252,245)\"]],YlOrRd:[[0,\"rgb(128,0,38)\"],[.125,\"rgb(189,0,38)\"],[.25,\"rgb(227,26,28)\"],[.375,\"rgb(252,78,42)\"],[.5,\"rgb(253,141,60)\"],[.625,\"rgb(254,178,76)\"],[.75,\"rgb(254,217,118)\"],[.875,\"rgb(255,237,160)\"],[1,\"rgb(255,255,204)\"]],Bluered:[[0,\"rgb(0,0,255)\"],[1,\"rgb(255,0,0)\"]],RdBu:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(106,137,247)\"],[.5,\"rgb(190,190,190)\"],[.6,\"rgb(220,170,132)\"],[.7,\"rgb(230,145,90)\"],[1,\"rgb(178,10,28)\"]],Reds:[[0,\"rgb(220,220,220)\"],[.2,\"rgb(245,195,157)\"],[.4,\"rgb(245,160,105)\"],[1,\"rgb(178,10,28)\"]],Blues:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(40,60,190)\"],[.5,\"rgb(70,100,245)\"],[.6,\"rgb(90,120,245)\"],[.7,\"rgb(106,137,247)\"],[1,\"rgb(220,220,220)\"]],Picnic:[[0,\"rgb(0,0,255)\"],[.1,\"rgb(51,153,255)\"],[.2,\"rgb(102,204,255)\"],[.3,\"rgb(153,204,255)\"],[.4,\"rgb(204,204,255)\"],[.5,\"rgb(255,255,255)\"],[.6,\"rgb(255,204,255)\"],[.7,\"rgb(255,153,255)\"],[.8,\"rgb(255,102,204)\"],[.9,\"rgb(255,102,102)\"],[1,\"rgb(255,0,0)\"]],Rainbow:[[0,\"rgb(150,0,90)\"],[.125,\"rgb(0,0,200)\"],[.25,\"rgb(0,25,255)\"],[.375,\"rgb(0,152,255)\"],[.5,\"rgb(44,255,150)\"],[.625,\"rgb(151,255,0)\"],[.75,\"rgb(255,234,0)\"],[.875,\"rgb(255,111,0)\"],[1,\"rgb(255,0,0)\"]],Portland:[[0,\"rgb(12,51,131)\"],[.25,\"rgb(10,136,186)\"],[.5,\"rgb(242,211,56)\"],[.75,\"rgb(242,143,56)\"],[1,\"rgb(217,30,30)\"]],Jet:[[0,\"rgb(0,0,131)\"],[.125,\"rgb(0,60,170)\"],[.375,\"rgb(5,255,255)\"],[.625,\"rgb(255,255,0)\"],[.875,\"rgb(250,0,0)\"],[1,\"rgb(128,0,0)\"]],Hot:[[0,\"rgb(0,0,0)\"],[.3,\"rgb(230,0,0)\"],[.6,\"rgb(255,210,0)\"],[1,\"rgb(255,255,255)\"]],Blackbody:[[0,\"rgb(0,0,0)\"],[.2,\"rgb(230,0,0)\"],[.4,\"rgb(230,210,0)\"],[.7,\"rgb(255,255,255)\"],[1,\"rgb(160,200,255)\"]],Earth:[[0,\"rgb(0,0,130)\"],[.1,\"rgb(0,180,180)\"],[.2,\"rgb(40,210,40)\"],[.4,\"rgb(230,230,50)\"],[.6,\"rgb(120,70,20)\"],[1,\"rgb(255,255,255)\"]],Electric:[[0,\"rgb(0,0,0)\"],[.15,\"rgb(30,0,100)\"],[.4,\"rgb(120,0,100)\"],[.6,\"rgb(160,90,0)\"],[.8,\"rgb(230,200,0)\"],[1,\"rgb(255,250,220)\"]],Viridis:[[0,\"#440154\"],[.06274509803921569,\"#48186a\"],[.12549019607843137,\"#472d7b\"],[.18823529411764706,\"#424086\"],[.25098039215686274,\"#3b528b\"],[.3137254901960784,\"#33638d\"],[.3764705882352941,\"#2c728e\"],[.4392156862745098,\"#26828e\"],[.5019607843137255,\"#21918c\"],[.5647058823529412,\"#1fa088\"],[.6274509803921569,\"#28ae80\"],[.6901960784313725,\"#3fbc73\"],[.7529411764705882,\"#5ec962\"],[.8156862745098039,\"#84d44b\"],[.8784313725490196,\"#addc30\"],[.9411764705882353,\"#d8e219\"],[1,\"#fde725\"]],Cividis:[[0,\"rgb(0,32,76)\"],[.058824,\"rgb(0,42,102)\"],[.117647,\"rgb(0,52,110)\"],[.176471,\"rgb(39,63,108)\"],[.235294,\"rgb(60,74,107)\"],[.294118,\"rgb(76,85,107)\"],[.352941,\"rgb(91,95,109)\"],[.411765,\"rgb(104,106,112)\"],[.470588,\"rgb(117,117,117)\"],[.529412,\"rgb(131,129,120)\"],[.588235,\"rgb(146,140,120)\"],[.647059,\"rgb(161,152,118)\"],[.705882,\"rgb(176,165,114)\"],[.764706,\"rgb(192,177,109)\"],[.823529,\"rgb(209,191,102)\"],[.882353,\"rgb(225,204,92)\"],[.941176,\"rgb(243,219,79)\"],[1,\"rgb(255,233,69)\"]]},Bee=d6.RdBu;function xet(e,t){if(t||(t=Bee),!e)return t;function r(){try{e=d6[e]||JSON.parse(e)}catch(n){e=t}}return typeof e==\"string\"&&(r(),typeof e==\"string\"&&r()),Nee(e)?e:t}function Nee(e){var t=0;if(!Array.isArray(e)||e.length<2||!e[0]||!e[e.length-1]||+e[0][0]!=0||+e[e.length-1][0]!=1)return!1;for(var r=0;r<e.length;r++){var n=e[r];if(n.length!==2||+n[0]<t||!_et(n[1]).isValid())return!1;t=+n[0]}return!0}function bet(e){return d6[e]!==void 0?!0:Nee(e)}Uee.exports={scales:d6,defaultScale:Bee,get:xet,isValid:bet}});var dh=ye(lb=>{\"use strict\";lb.defaults=[\"#1f77b4\",\"#ff7f0e\",\"#2ca02c\",\"#d62728\",\"#9467bd\",\"#8c564b\",\"#e377c2\",\"#7f7f7f\",\"#bcbd22\",\"#17becf\"];lb.defaultLine=\"#444\";lb.lightLine=\"#eee\";lb.background=\"#fff\";lb.borderLine=\"#BEC8D9\";lb.lightFraction=100*10/11});var va=ye((ner,Vee)=>{\"use strict\";var xp=id(),wet=uo(),Tet=vv().isTypedArray,nd=Vee.exports={},v6=dh();nd.defaults=v6.defaults;var Aet=nd.defaultLine=v6.defaultLine;nd.lightLine=v6.lightLine;var wq=nd.background=v6.background;nd.tinyRGB=function(e){var t=e.toRgb();return\"rgb(\"+Math.round(t.r)+\", \"+Math.round(t.g)+\", \"+Math.round(t.b)+\")\"};nd.rgb=function(e){return nd.tinyRGB(xp(e))};nd.opacity=function(e){return e?xp(e).getAlpha():0};nd.addOpacity=function(e,t){var r=xp(e).toRgb();return\"rgba(\"+Math.round(r.r)+\", \"+Math.round(r.g)+\", \"+Math.round(r.b)+\", \"+t+\")\"};nd.combine=function(e,t){var r=xp(e).toRgb();if(r.a===1)return xp(e).toRgbString();var n=xp(t||wq).toRgb(),i=n.a===1?n:{r:255*(1-n.a)+n.r*n.a,g:255*(1-n.a)+n.g*n.a,b:255*(1-n.a)+n.b*n.a},a={r:i.r*(1-r.a)+r.r*r.a,g:i.g*(1-r.a)+r.g*r.a,b:i.b*(1-r.a)+r.b*r.a};return xp(a).toRgbString()};nd.interpolate=function(e,t,r){var n=xp(e).toRgb(),i=xp(t).toRgb(),a={r:r*n.r+(1-r)*i.r,g:r*n.g+(1-r)*i.g,b:r*n.b+(1-r)*i.b};return xp(a).toRgbString()};nd.contrast=function(e,t,r){var n=xp(e);n.getAlpha()!==1&&(n=xp(nd.combine(e,wq)));var i=n.isDark()?t?n.lighten(t):wq:r?n.darken(r):Aet;return i.toString()};nd.stroke=function(e,t){var r=xp(t);e.style({stroke:nd.tinyRGB(r),\"stroke-opacity\":r.getAlpha()})};nd.fill=function(e,t){var r=xp(t);e.style({fill:nd.tinyRGB(r),\"fill-opacity\":r.getAlpha()})};nd.clean=function(e){if(!(!e||typeof e!=\"object\")){var t=Object.keys(e),r,n,i,a;for(r=0;r<t.length;r++)if(i=t[r],a=e[i],i.substr(i.length-5)===\"color\")if(Array.isArray(a))for(n=0;n<a.length;n++)a[n]=bq(a[n]);else e[i]=bq(a);else if(i.substr(i.length-10)===\"colorscale\"&&Array.isArray(a))for(n=0;n<a.length;n++)Array.isArray(a[n])&&(a[n][1]=bq(a[n][1]));else if(Array.isArray(a)){var o=a[0];if(!Array.isArray(o)&&o&&typeof o==\"object\")for(n=0;n<a.length;n++)nd.clean(a[n])}else a&&typeof a==\"object\"&&!Tet(a)&&nd.clean(a)}};function bq(e){if(wet(e)||typeof e!=\"string\")return e;var t=e.trim();if(t.substr(0,3)!==\"rgb\")return e;var r=t.match(/^rgba?\\s*\\(([^()]*)\\)$/);if(!r)return e;var n=r[1].trim().split(/\\s*[\\s,]\\s*/),i=t.charAt(3)===\"a\"&&n.length===4;if(!i&&n.length!==3)return e;for(var a=0;a<n.length;a++){if(!n[a].length||(n[a]=Number(n[a]),!(n[a]>=0)))return e;if(a===3)n[a]>1&&(n[a]=1);else if(n[a]>=1)return e}var o=Math.round(n[0]*255)+\", \"+Math.round(n[1]*255)+\", \"+Math.round(n[2]*255);return i?\"rgba(\"+o+\", \"+n[3]+\")\":\"rgb(\"+o+\")\"}});var U1=ye((aer,Hee)=>{\"use strict\";Hee.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}});var n3=ye(Gee=>{\"use strict\";Gee.counter=function(e,t,r,n){var i=(t||\"\")+(r?\"\":\"$\"),a=n===!1?\"\":\"^\";return e===\"xy\"?new RegExp(a+\"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?\"+i):new RegExp(a+e+\"([2-9]|[1-9][0-9]+)?\"+i)}});var Xee=ye(bp=>{\"use strict\";var Tq=uo(),jee=id(),Wee=no().extendFlat,Met=vl(),Eet=sb(),ket=va(),Cet=U1().DESELECTDIM,a3=ES(),Zee=n3().counter,Let=r3().modHalf,dm=vv().isArrayOrTypedArray,V1=vv().isTypedArraySpec,H1=vv().decodeTypedArraySpec;bp.valObjectMeta={data_array:{coerceFunction:function(e,t,r){t.set(dm(e)?e:V1(e)?H1(e):r)}},enumerated:{coerceFunction:function(e,t,r,n){n.coerceNumber&&(e=+e),n.values.indexOf(e)===-1?t.set(r):t.set(e)},validateFunction:function(e,t){t.coerceNumber&&(e=+e);for(var r=t.values,n=0;n<r.length;n++){var i=String(r[n]);if(i.charAt(0)===\"/\"&&i.charAt(i.length-1)===\"/\"){var a=new RegExp(i.substr(1,i.length-2));if(a.test(e))return!0}else if(e===r[n])return!0}return!1}},boolean:{coerceFunction:function(e,t,r){e===!0||e===!1?t.set(e):t.set(r)}},number:{coerceFunction:function(e,t,r,n){V1(e)&&(e=H1(e)),!Tq(e)||n.min!==void 0&&e<n.min||n.max!==void 0&&e>n.max?t.set(r):t.set(+e)}},integer:{coerceFunction:function(e,t,r,n){if((n.extras||[]).indexOf(e)!==-1){t.set(e);return}V1(e)&&(e=H1(e)),e%1||!Tq(e)||n.min!==void 0&&e<n.min||n.max!==void 0&&e>n.max?t.set(r):t.set(+e)}},string:{coerceFunction:function(e,t,r,n){if(typeof e!=\"string\"){var i=typeof e==\"number\";n.strict===!0||!i?t.set(r):t.set(String(e))}else n.noBlank&&!e?t.set(r):t.set(e)}},color:{coerceFunction:function(e,t,r){V1(e)&&(e=H1(e)),jee(e).isValid()?t.set(e):t.set(r)}},colorlist:{coerceFunction:function(e,t,r){function n(i){return jee(i).isValid()}!Array.isArray(e)||!e.length?t.set(r):e.every(n)?t.set(e):t.set(r)}},colorscale:{coerceFunction:function(e,t,r){t.set(Eet.get(e,r))}},angle:{coerceFunction:function(e,t,r){V1(e)&&(e=H1(e)),e===\"auto\"?t.set(\"auto\"):Tq(e)?t.set(Let(+e,360)):t.set(r)}},subplotid:{coerceFunction:function(e,t,r,n){var i=n.regex||Zee(r);if(typeof e==\"string\"&&i.test(e)){t.set(e);return}t.set(r)},validateFunction:function(e,t){var r=t.dflt;return e===r?!0:typeof e!=\"string\"?!1:!!Zee(r).test(e)}},flaglist:{coerceFunction:function(e,t,r,n){if((n.extras||[]).indexOf(e)!==-1){t.set(e);return}if(typeof e!=\"string\"){t.set(r);return}for(var i=e.split(\"+\"),a=0;a<i.length;){var o=i[a];n.flags.indexOf(o)===-1||i.indexOf(o)<a?i.splice(a,1):a++}i.length?t.set(i.join(\"+\")):t.set(r)}},any:{coerceFunction:function(e,t,r){e===void 0?t.set(r):t.set(V1(e)?H1(e):e)}},info_array:{coerceFunction:function(e,t,r,n){function i(E,k,A){var L,_={set:function(C){L=C}};return A===void 0&&(A=k.dflt),bp.valObjectMeta[k.valType].coerceFunction(E,_,A,k),L}if(V1(e)&&(e=H1(e)),!dm(e)){t.set(r);return}var a=n.dimensions===2||n.dimensions===\"1-2\"&&Array.isArray(e)&&dm(e[0]),o=n.items,s=[],l=Array.isArray(o),u=l&&a&&dm(o[0]),c=a&&l&&!u,f=l&&!c?o.length:e.length,h,d,v,x,b,p;if(r=Array.isArray(r)?r:[],a)for(h=0;h<f;h++)for(s[h]=[],v=dm(e[h])?e[h]:[],c?b=o.length:l?b=o[h].length:b=v.length,d=0;d<b;d++)c?x=o[d]:l?x=o[h][d]:x=o,p=i(v[d],x,(r[h]||[])[d]),p!==void 0&&(s[h][d]=p);else for(h=0;h<f;h++)p=i(e[h],l?o[h]:o,r[h]),p!==void 0&&(s[h]=p);t.set(s)},validateFunction:function(e,t){if(!dm(e))return!1;var r=t.items,n=Array.isArray(r),i=t.dimensions===2;if(!t.freeLength&&e.length!==r.length)return!1;for(var a=0;a<e.length;a++)if(i){if(!dm(e[a])||!t.freeLength&&e[a].length!==r[a].length)return!1;for(var o=0;o<e[a].length;o++)if(!p6(e[a][o],n?r[a][o]:r))return!1}else if(!p6(e[a],n?r[a]:r))return!1;return!0}}};bp.coerce=function(e,t,r,n,i){var a=a3(r,n).get(),o=a3(e,n),s=a3(t,n),l=o.get(),u=t._template;if(l===void 0&&u&&(l=a3(u,n).get(),u=0),i===void 0&&(i=a.dflt),a.arrayOk){if(dm(l))return s.set(l),l;if(V1(l))return l=H1(l),s.set(l),l}var c=bp.valObjectMeta[a.valType].coerceFunction;c(l,s,i,a);var f=s.get();return u&&f===i&&!p6(l,a)&&(l=a3(u,n).get(),c(l,s,i,a),f=s.get()),f};bp.coerce2=function(e,t,r,n,i){var a=a3(e,n),o=bp.coerce(e,t,r,n,i),s=a.get();return s!=null?o:!1};bp.coerceFont=function(e,t,r,n){n||(n={}),r=Wee({},r),r=Wee(r,n.overrideDflt||{});var i={family:e(t+\".family\",r.family),size:e(t+\".size\",r.size),color:e(t+\".color\",r.color),weight:e(t+\".weight\",r.weight),style:e(t+\".style\",r.style)};if(n.noFontVariant||(i.variant=e(t+\".variant\",r.variant)),n.noFontLineposition||(i.lineposition=e(t+\".lineposition\",r.lineposition)),n.noFontTextcase||(i.textcase=e(t+\".textcase\",r.textcase)),!n.noFontShadow){var a=r.shadow;a===\"none\"&&n.autoShadowDflt&&(a=\"auto\"),i.shadow=e(t+\".shadow\",a)}return i};bp.coercePattern=function(e,t,r,n){var i=e(t+\".shape\");if(i){e(t+\".solidity\"),e(t+\".size\");var a=e(t+\".fillmode\"),o=a===\"overlay\";if(!n){var s=e(t+\".bgcolor\",o?r:void 0);e(t+\".fgcolor\",o?ket.contrast(s):r)}e(t+\".fgopacity\",o?.5:1)}};bp.coerceHoverinfo=function(e,t,r){var n=t._module.attributes,i=n.hoverinfo?n:Met,a=i.hoverinfo,o;if(r._dataLength===1){var s=a.dflt===\"all\"?a.flags.slice():a.dflt.split(\"+\");s.splice(s.indexOf(\"name\"),1),o=s.join(\"+\")}return bp.coerce(e,t,i,\"hoverinfo\",o)};bp.coerceSelectionMarkerOpacity=function(e,t){if(e.marker){var r=e.marker.opacity;if(r!==void 0){var n,i;!dm(r)&&!e.selected&&!e.unselected&&(n=r,i=Cet*r),t(\"selected.marker.opacity\",n),t(\"unselected.marker.opacity\",i)}}};function p6(e,t){var r=bp.valObjectMeta[t.valType];if(t.arrayOk&&dm(e))return!0;if(r.validateFunction)return r.validateFunction(e,t);var n={},i=n,a={set:function(o){i=o}};return r.coerceFunction(e,a,n,t),i!==n}bp.validate=p6});var ub=ye((ler,$ee)=>{\"use strict\";var Yee={staticPlot:{valType:\"boolean\",dflt:!1},typesetMath:{valType:\"boolean\",dflt:!0},plotlyServerURL:{valType:\"string\",dflt:\"\"},editable:{valType:\"boolean\",dflt:!1},edits:{annotationPosition:{valType:\"boolean\",dflt:!1},annotationTail:{valType:\"boolean\",dflt:!1},annotationText:{valType:\"boolean\",dflt:!1},axisTitleText:{valType:\"boolean\",dflt:!1},colorbarPosition:{valType:\"boolean\",dflt:!1},colorbarTitleText:{valType:\"boolean\",dflt:!1},legendPosition:{valType:\"boolean\",dflt:!1},legendText:{valType:\"boolean\",dflt:!1},shapePosition:{valType:\"boolean\",dflt:!1},titleText:{valType:\"boolean\",dflt:!1}},editSelection:{valType:\"boolean\",dflt:!0},autosizable:{valType:\"boolean\",dflt:!1},responsive:{valType:\"boolean\",dflt:!1},fillFrame:{valType:\"boolean\",dflt:!1},frameMargins:{valType:\"number\",dflt:0,min:0,max:.5},scrollZoom:{valType:\"flaglist\",flags:[\"cartesian\",\"gl3d\",\"geo\",\"mapbox\",\"map\"],extras:[!0,!1],dflt:\"gl3d+geo+map\"},doubleClick:{valType:\"enumerated\",values:[!1,\"reset\",\"autosize\",\"reset+autosize\"],dflt:\"reset+autosize\"},doubleClickDelay:{valType:\"number\",dflt:300,min:0},showAxisDragHandles:{valType:\"boolean\",dflt:!0},showAxisRangeEntryBoxes:{valType:\"boolean\",dflt:!0},showTips:{valType:\"boolean\",dflt:!0},showLink:{valType:\"boolean\",dflt:!1},linkText:{valType:\"string\",dflt:\"Edit chart\",noBlank:!0},sendData:{valType:\"boolean\",dflt:!0},showSources:{valType:\"any\",dflt:!1},displayModeBar:{valType:\"enumerated\",values:[\"hover\",!0,!1],dflt:\"hover\"},showSendToCloud:{valType:\"boolean\",dflt:!1},showEditInChartStudio:{valType:\"boolean\",dflt:!1},modeBarButtonsToRemove:{valType:\"any\",dflt:[]},modeBarButtonsToAdd:{valType:\"any\",dflt:[]},modeBarButtons:{valType:\"any\",dflt:!1},toImageButtonOptions:{valType:\"any\",dflt:{}},displaylogo:{valType:\"boolean\",dflt:!0},watermark:{valType:\"boolean\",dflt:!1},plotGlPixelRatio:{valType:\"number\",dflt:2,min:1,max:4},setBackground:{valType:\"any\",dflt:\"transparent\"},topojsonURL:{valType:\"string\",noBlank:!0,dflt:\"https://cdn.plot.ly/\"},mapboxAccessToken:{valType:\"string\",dflt:null},logging:{valType:\"integer\",min:0,max:2,dflt:1},notifyOnLogging:{valType:\"integer\",min:0,max:2,dflt:0},queueLength:{valType:\"integer\",min:0,dflt:0},locale:{valType:\"string\",dflt:\"en-US\"},locales:{valType:\"any\",dflt:{}}},Kee={};function Jee(e,t){for(var r in e){var n=e[r];n.valType?t[r]=n.dflt:(t[r]||(t[r]={}),Jee(n,t[r]))}}Jee(Yee,Kee);$ee.exports={configAttributes:Yee,dfltConfig:Kee}});var Sq=ye((uer,Qee)=>{\"use strict\";var Aq=xa(),Pet=uo(),RS=[];Qee.exports=function(e,t){if(RS.indexOf(e)!==-1)return;RS.push(e);var r=1e3;Pet(t)?r=t:t===\"long\"&&(r=3e3);var n=Aq.select(\"body\").selectAll(\".plotly-notifier\").data([0]);n.enter().append(\"div\").classed(\"plotly-notifier\",!0);var i=n.selectAll(\".notifier-note\").data(RS);function a(o){o.duration(700).style(\"opacity\",0).each(\"end\",function(s){var l=RS.indexOf(s);l!==-1&&RS.splice(l,1),Aq.select(this).remove()})}i.enter().append(\"div\").classed(\"notifier-note\",!0).style(\"opacity\",0).each(function(o){var s=Aq.select(this);s.append(\"button\").classed(\"notifier-close\",!0).html(\"×\").on(\"click\",function(){s.transition().call(a)});for(var l=s.append(\"p\"),u=o.split(/<br\\s*\\/?>/g),c=0;c<u.length;c++)c&&l.append(\"br\"),l.append(\"span\").text(u[c]);t===\"stick\"?s.transition().duration(350).style(\"opacity\",1):s.transition().duration(700).style(\"opacity\",1).transition().delay(r).call(a)})}});var G1=ye((cer,ete)=>{\"use strict\";var o3=ub().dfltConfig,Mq=Sq(),Eq=ete.exports={};Eq.log=function(){var e;if(o3.logging>1){var t=[\"LOG:\"];for(e=0;e<arguments.length;e++)t.push(arguments[e]);console.trace.apply(console,t)}if(o3.notifyOnLogging>1){var r=[];for(e=0;e<arguments.length;e++)r.push(arguments[e]);Mq(r.join(\"<br>\"),\"long\")}};Eq.warn=function(){var e;if(o3.logging>0){var t=[\"WARN:\"];for(e=0;e<arguments.length;e++)t.push(arguments[e]);console.trace.apply(console,t)}if(o3.notifyOnLogging>0){var r=[];for(e=0;e<arguments.length;e++)r.push(arguments[e]);Mq(r.join(\"<br>\"),\"stick\")}};Eq.error=function(){var e;if(o3.logging>0){var t=[\"ERROR:\"];for(e=0;e<arguments.length;e++)t.push(arguments[e]);console.error.apply(console,t)}if(o3.notifyOnLogging>0){var r=[];for(e=0;e<arguments.length;e++)r.push(arguments[e]);Mq(r.join(\"<br>\"),\"stick\")}}});var g6=ye((fer,tte)=>{\"use strict\";tte.exports=function(){}});var kq=ye((her,rte)=>{\"use strict\";rte.exports=function(t,r){if(r instanceof RegExp){for(var n=r.toString(),i=0;i<t.length;i++)if(t[i]instanceof RegExp&&t[i].toString()===n)return t;t.push(r)}else(r||r===0)&&t.indexOf(r)===-1&&t.push(r);return t}});var nte=ye((der,ite)=>{ite.exports=Iet;function Iet(){var e=new Float32Array(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var ote=ye((ver,ate)=>{ate.exports=Ret;function Ret(e){var t=new Float32Array(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}});var lte=ye((per,ste)=>{ste.exports=Det;function Det(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var Cq=ye((ger,ute)=>{ute.exports=zet;function zet(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var fte=ye((mer,cte)=>{cte.exports=Fet;function Fet(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}});var dte=ye((yer,hte)=>{hte.exports=qet;function qet(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],d=t[11],v=t[12],x=t[13],b=t[14],p=t[15],E=r*s-n*o,k=r*l-i*o,A=r*u-a*o,L=n*l-i*s,_=n*u-a*s,C=i*u-a*l,M=c*x-f*v,g=c*b-h*v,P=c*p-d*v,T=f*b-h*x,F=f*p-d*x,q=h*p-d*b,V=E*q-k*F+A*T+L*P-_*g+C*M;return V?(V=1/V,e[0]=(s*q-l*F+u*T)*V,e[1]=(i*F-n*q-a*T)*V,e[2]=(x*C-b*_+p*L)*V,e[3]=(h*_-f*C-d*L)*V,e[4]=(l*P-o*q-u*g)*V,e[5]=(r*q-i*P+a*g)*V,e[6]=(b*A-v*C-p*k)*V,e[7]=(c*C-h*A+d*k)*V,e[8]=(o*F-s*P+u*M)*V,e[9]=(n*P-r*F-a*M)*V,e[10]=(v*_-x*A+p*E)*V,e[11]=(f*A-c*_-d*E)*V,e[12]=(s*g-o*T-l*M)*V,e[13]=(r*T-n*g+i*M)*V,e[14]=(x*k-v*L-b*E)*V,e[15]=(c*L-f*k+h*E)*V,e):null}});var pte=ye((_er,vte)=>{vte.exports=Oet;function Oet(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],d=t[11],v=t[12],x=t[13],b=t[14],p=t[15];return e[0]=s*(h*p-d*b)-f*(l*p-u*b)+x*(l*d-u*h),e[1]=-(n*(h*p-d*b)-f*(i*p-a*b)+x*(i*d-a*h)),e[2]=n*(l*p-u*b)-s*(i*p-a*b)+x*(i*u-a*l),e[3]=-(n*(l*d-u*h)-s*(i*d-a*h)+f*(i*u-a*l)),e[4]=-(o*(h*p-d*b)-c*(l*p-u*b)+v*(l*d-u*h)),e[5]=r*(h*p-d*b)-c*(i*p-a*b)+v*(i*d-a*h),e[6]=-(r*(l*p-u*b)-o*(i*p-a*b)+v*(i*u-a*l)),e[7]=r*(l*d-u*h)-o*(i*d-a*h)+c*(i*u-a*l),e[8]=o*(f*p-d*x)-c*(s*p-u*x)+v*(s*d-u*f),e[9]=-(r*(f*p-d*x)-c*(n*p-a*x)+v*(n*d-a*f)),e[10]=r*(s*p-u*x)-o*(n*p-a*x)+v*(n*u-a*s),e[11]=-(r*(s*d-u*f)-o*(n*d-a*f)+c*(n*u-a*s)),e[12]=-(o*(f*b-h*x)-c*(s*b-l*x)+v*(s*h-l*f)),e[13]=r*(f*b-h*x)-c*(n*b-i*x)+v*(n*h-i*f),e[14]=-(r*(s*b-l*x)-o*(n*b-i*x)+v*(n*l-i*s)),e[15]=r*(s*h-l*f)-o*(n*h-i*f)+c*(n*l-i*s),e}});var mte=ye((xer,gte)=>{gte.exports=Bet;function Bet(e){var t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],f=e[10],h=e[11],d=e[12],v=e[13],x=e[14],b=e[15],p=t*o-r*a,E=t*s-n*a,k=t*l-i*a,A=r*s-n*o,L=r*l-i*o,_=n*l-i*s,C=u*v-c*d,M=u*x-f*d,g=u*b-h*d,P=c*x-f*v,T=c*b-h*v,F=f*b-h*x;return p*F-E*T+k*P+A*g-L*M+_*C}});var _te=ye((ber,yte)=>{yte.exports=Net;function Net(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],f=t[8],h=t[9],d=t[10],v=t[11],x=t[12],b=t[13],p=t[14],E=t[15],k=r[0],A=r[1],L=r[2],_=r[3];return e[0]=k*n+A*s+L*f+_*x,e[1]=k*i+A*l+L*h+_*b,e[2]=k*a+A*u+L*d+_*p,e[3]=k*o+A*c+L*v+_*E,k=r[4],A=r[5],L=r[6],_=r[7],e[4]=k*n+A*s+L*f+_*x,e[5]=k*i+A*l+L*h+_*b,e[6]=k*a+A*u+L*d+_*p,e[7]=k*o+A*c+L*v+_*E,k=r[8],A=r[9],L=r[10],_=r[11],e[8]=k*n+A*s+L*f+_*x,e[9]=k*i+A*l+L*h+_*b,e[10]=k*a+A*u+L*d+_*p,e[11]=k*o+A*c+L*v+_*E,k=r[12],A=r[13],L=r[14],_=r[15],e[12]=k*n+A*s+L*f+_*x,e[13]=k*i+A*l+L*h+_*b,e[14]=k*a+A*u+L*d+_*p,e[15]=k*o+A*c+L*v+_*E,e}});var bte=ye((wer,xte)=>{xte.exports=Uet;function Uet(e,t,r){var n=r[0],i=r[1],a=r[2],o,s,l,u,c,f,h,d,v,x,b,p;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],l=t[2],u=t[3],c=t[4],f=t[5],h=t[6],d=t[7],v=t[8],x=t[9],b=t[10],p=t[11],e[0]=o,e[1]=s,e[2]=l,e[3]=u,e[4]=c,e[5]=f,e[6]=h,e[7]=d,e[8]=v,e[9]=x,e[10]=b,e[11]=p,e[12]=o*n+c*i+v*a+t[12],e[13]=s*n+f*i+x*a+t[13],e[14]=l*n+h*i+b*a+t[14],e[15]=u*n+d*i+p*a+t[15]),e}});var Tte=ye((Ter,wte)=>{wte.exports=Vet;function Vet(e,t,r){var n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var Ste=ye((Aer,Ate)=>{Ate.exports=Het;function Het(e,t,r,n){var i=n[0],a=n[1],o=n[2],s=Math.sqrt(i*i+a*a+o*o),l,u,c,f,h,d,v,x,b,p,E,k,A,L,_,C,M,g,P,T,F,q,V,H;return Math.abs(s)<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,l=Math.sin(r),u=Math.cos(r),c=1-u,f=t[0],h=t[1],d=t[2],v=t[3],x=t[4],b=t[5],p=t[6],E=t[7],k=t[8],A=t[9],L=t[10],_=t[11],C=i*i*c+u,M=a*i*c+o*l,g=o*i*c-a*l,P=i*a*c-o*l,T=a*a*c+u,F=o*a*c+i*l,q=i*o*c+a*l,V=a*o*c-i*l,H=o*o*c+u,e[0]=f*C+x*M+k*g,e[1]=h*C+b*M+A*g,e[2]=d*C+p*M+L*g,e[3]=v*C+E*M+_*g,e[4]=f*P+x*T+k*F,e[5]=h*P+b*T+A*F,e[6]=d*P+p*T+L*F,e[7]=v*P+E*T+_*F,e[8]=f*q+x*V+k*H,e[9]=h*q+b*V+A*H,e[10]=d*q+p*V+L*H,e[11]=v*q+E*V+_*H,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}});var Ete=ye((Ser,Mte)=>{Mte.exports=Get;function Get(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+u*n,e[5]=o*i+c*n,e[6]=s*i+f*n,e[7]=l*i+h*n,e[8]=u*i-a*n,e[9]=c*i-o*n,e[10]=f*i-s*n,e[11]=h*i-l*n,e}});var Cte=ye((Mer,kte)=>{kte.exports=jet;function jet(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-u*n,e[1]=o*i-c*n,e[2]=s*i-f*n,e[3]=l*i-h*n,e[8]=a*n+u*i,e[9]=o*n+c*i,e[10]=s*n+f*i,e[11]=l*n+h*i,e}});var Pte=ye((Eer,Lte)=>{Lte.exports=Wet;function Wet(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[4],c=t[5],f=t[6],h=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+u*n,e[1]=o*i+c*n,e[2]=s*i+f*n,e[3]=l*i+h*n,e[4]=u*i-a*n,e[5]=c*i-o*n,e[6]=f*i-s*n,e[7]=h*i-l*n,e}});var Rte=ye((ker,Ite)=>{Ite.exports=Zet;function Zet(e,t,r){var n,i,a,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(u=1/u,o*=u,s*=u,l*=u,n=Math.sin(t),i=Math.cos(t),a=1-i,e[0]=o*o*a+i,e[1]=s*o*a+l*n,e[2]=l*o*a-s*n,e[3]=0,e[4]=o*s*a-l*n,e[5]=s*s*a+i,e[6]=l*s*a+o*n,e[7]=0,e[8]=o*l*a+s*n,e[9]=s*l*a-o*n,e[10]=l*l*a+i,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}});var zte=ye((Cer,Dte)=>{Dte.exports=Xet;function Xet(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,l=i+i,u=a+a,c=n*s,f=n*l,h=n*u,d=i*l,v=i*u,x=a*u,b=o*s,p=o*l,E=o*u;return e[0]=1-(d+x),e[1]=f+E,e[2]=h-p,e[3]=0,e[4]=f-E,e[5]=1-(c+x),e[6]=v+b,e[7]=0,e[8]=h+p,e[9]=v-b,e[10]=1-(c+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}});var qte=ye((Ler,Fte)=>{Fte.exports=Yet;function Yet(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Bte=ye((Per,Ote)=>{Ote.exports=Ket;function Ket(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}});var Ute=ye((Ier,Nte)=>{Nte.exports=Jet;function Jet(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Hte=ye((Rer,Vte)=>{Vte.exports=$et;function $et(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var jte=ye((Der,Gte)=>{Gte.exports=Qet;function Qet(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Lq=ye((zer,Wte)=>{Wte.exports=ett;function ett(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,f=n*s,h=i*o,d=i*s,v=i*l,x=a*o,b=a*s,p=a*l;return e[0]=1-f-v,e[1]=c+p,e[2]=h-b,e[3]=0,e[4]=c-p,e[5]=1-u-v,e[6]=d+x,e[7]=0,e[8]=h+b,e[9]=d-x,e[10]=1-u-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Xte=ye((Fer,Zte)=>{Zte.exports=ttt;function ttt(e,t,r,n,i,a,o){var s=1/(r-t),l=1/(i-n),u=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*l,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*l,e[10]=(o+a)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*u,e[15]=0,e}});var Kte=ye((qer,Yte)=>{Yte.exports=rtt;function rtt(e,t,r,n,i){var a=1/Math.tan(t/2),o=1/(n-i);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(i+n)*o,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*i*n*o,e[15]=0,e}});var $te=ye((Oer,Jte)=>{Jte.exports=itt;function itt(e,t,r,n){var i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return e[0]=l,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=u,e[6]=0,e[7]=0,e[8]=-((o-s)*l*.5),e[9]=(i-a)*u*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}});var ere=ye((Ber,Qte)=>{Qte.exports=ntt;function ntt(e,t,r,n,i,a,o){var s=1/(t-r),l=1/(n-i),u=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*l,e[14]=(o+a)*u,e[15]=1,e}});var rre=ye((Ner,tre)=>{var att=Cq();tre.exports=ott;function ott(e,t,r,n){var i,a,o,s,l,u,c,f,h,d,v=t[0],x=t[1],b=t[2],p=n[0],E=n[1],k=n[2],A=r[0],L=r[1],_=r[2];return Math.abs(v-A)<1e-6&&Math.abs(x-L)<1e-6&&Math.abs(b-_)<1e-6?att(e):(c=v-A,f=x-L,h=b-_,d=1/Math.sqrt(c*c+f*f+h*h),c*=d,f*=d,h*=d,i=E*h-k*f,a=k*c-p*h,o=p*f-E*c,d=Math.sqrt(i*i+a*a+o*o),d?(d=1/d,i*=d,a*=d,o*=d):(i=0,a=0,o=0),s=f*o-h*a,l=h*i-c*o,u=c*a-f*i,d=Math.sqrt(s*s+l*l+u*u),d?(d=1/d,s*=d,l*=d,u*=d):(s=0,l=0,u=0),e[0]=i,e[1]=s,e[2]=c,e[3]=0,e[4]=a,e[5]=l,e[6]=f,e[7]=0,e[8]=o,e[9]=u,e[10]=h,e[11]=0,e[12]=-(i*v+a*x+o*b),e[13]=-(s*v+l*x+u*b),e[14]=-(c*v+f*x+h*b),e[15]=1,e)}});var nre=ye((Uer,ire)=>{ire.exports=stt;function stt(e){return\"mat4(\"+e[0]+\", \"+e[1]+\", \"+e[2]+\", \"+e[3]+\", \"+e[4]+\", \"+e[5]+\", \"+e[6]+\", \"+e[7]+\", \"+e[8]+\", \"+e[9]+\", \"+e[10]+\", \"+e[11]+\", \"+e[12]+\", \"+e[13]+\", \"+e[14]+\", \"+e[15]+\")\"}});var Pq=ye((Ver,are)=>{are.exports={create:nte(),clone:ote(),copy:lte(),identity:Cq(),transpose:fte(),invert:dte(),adjoint:pte(),determinant:mte(),multiply:_te(),translate:bte(),scale:Tte(),rotate:Ste(),rotateX:Ete(),rotateY:Cte(),rotateZ:Pte(),fromRotation:Rte(),fromRotationTranslation:zte(),fromScaling:qte(),fromTranslation:Bte(),fromXRotation:Ute(),fromYRotation:Hte(),fromZRotation:jte(),fromQuat:Lq(),frustum:Xte(),perspective:Kte(),perspectiveFromFieldOfView:$te(),ortho:ere(),lookAt:rre(),str:nre()}});var m6=ye(Xf=>{\"use strict\";var ltt=Pq();Xf.init2dArray=function(e,t){for(var r=new Array(e),n=0;n<e;n++)r[n]=new Array(t);return r};Xf.transposeRagged=function(e){var t=0,r=e.length,n,i;for(n=0;n<r;n++)t=Math.max(t,e[n].length);var a=new Array(t);for(n=0;n<t;n++)for(a[n]=new Array(r),i=0;i<r;i++)a[n][i]=e[i][n];return a};Xf.dot=function(e,t){if(!(e.length&&t.length)||e.length!==t.length)return null;var r=e.length,n,i;if(e[0].length)for(n=new Array(r),i=0;i<r;i++)n[i]=Xf.dot(e[i],t);else if(t[0].length){var a=Xf.transposeRagged(t);for(n=new Array(a.length),i=0;i<a.length;i++)n[i]=Xf.dot(e,a[i])}else for(n=0,i=0;i<r;i++)n+=e[i]*t[i];return n};Xf.translationMatrix=function(e,t){return[[1,0,e],[0,1,t],[0,0,1]]};Xf.rotationMatrix=function(e){var t=e*Math.PI/180;return[[Math.cos(t),-Math.sin(t),0],[Math.sin(t),Math.cos(t),0],[0,0,1]]};Xf.rotationXYMatrix=function(e,t,r){return Xf.dot(Xf.dot(Xf.translationMatrix(t,r),Xf.rotationMatrix(e)),Xf.translationMatrix(-t,-r))};Xf.apply3DTransform=function(e){return function(){var t=arguments,r=arguments.length===1?t[0]:[t[0],t[1],t[2]||0];return Xf.dot(e,[r[0],r[1],r[2],1]).slice(0,3)}};Xf.apply2DTransform=function(e){return function(){var t=arguments;t.length===3&&(t=t[0]);var r=arguments.length===1?t[0]:[t[0],t[1]];return Xf.dot(e,[r[0],r[1],1]).slice(0,2)}};Xf.apply2DTransform2=function(e){var t=Xf.apply2DTransform(e);return function(r){return t(r.slice(0,2)).concat(t(r.slice(2,4)))}};Xf.convertCssMatrix=function(e){if(e){var t=e.length;if(t===16)return e;if(t===6)return[e[0],e[1],0,0,e[2],e[3],0,0,0,0,1,0,e[4],e[5],0,1]}return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]};Xf.inverseTransformMatrix=function(e){var t=[];return ltt.invert(t,e),[[t[0],t[1],t[2],t[3]],[t[4],t[5],t[6],t[7]],[t[8],t[9],t[10],t[11]],[t[12],t[13],t[14],t[15]]]}});var DS=ye((Ger,fre)=>{\"use strict\";var utt=xa(),ore=G1(),ctt=m6(),ftt=Pq();function htt(e){var t;if(typeof e==\"string\"){if(t=document.getElementById(e),t===null)throw new Error(\"No DOM element with id '\"+e+\"' exists on the page.\");return t}else if(e==null)throw new Error(\"DOM element provided is null or undefined\");return e}function dtt(e){var t=utt.select(e);return t.node()instanceof HTMLElement&&t.size()&&t.classed(\"js-plotly-plot\")}function sre(e){var t=e&&e.parentNode;t&&t.removeChild(e)}function vtt(e,t){lre(\"global\",e,t)}function lre(e,t,r){var n=\"plotly.js-style-\"+e,i=document.getElementById(n);if(!(i&&i.matches(\".no-inline-styles\"))){i||(i=document.createElement(\"style\"),i.setAttribute(\"id\",n),i.appendChild(document.createTextNode(\"\")),document.head.appendChild(i));var a=i.sheet;a?a.insertRule?a.insertRule(t+\"{\"+r+\"}\",0):a.addRule?a.addRule(t,r,0):ore.warn(\"addStyleRule failed\"):ore.warn(\"Cannot addRelatedStyleRule, probably due to strict CSP...\")}}function ptt(e){var t=\"plotly.js-style-\"+e,r=document.getElementById(t);r&&sre(r)}function gtt(e,t,r,n,i,a){var o=n.split(\":\"),s=i.split(\":\"),l=\"data-btn-style-event-added\";a||(a=document),a.querySelectorAll(e).forEach(function(u){u.getAttribute(l)||(u.addEventListener(\"mouseenter\",function(){var c=this.querySelector(r);c&&(c.style[o[0]]=o[1])}),u.addEventListener(\"mouseleave\",function(){var c=this.querySelector(r);c&&(t&&this.matches(t)?c.style[o[0]]=o[1]:c.style[s[0]]=s[1])}),u.setAttribute(l,!0))})}function mtt(e){var t=cre(e),r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return t.forEach(function(n){var i=ure(n);if(i){var a=ctt.convertCssMatrix(i);r=ftt.multiply(r,r,a)}}),r}function ure(e){var t=window.getComputedStyle(e,null),r=t.getPropertyValue(\"-webkit-transform\")||t.getPropertyValue(\"-moz-transform\")||t.getPropertyValue(\"-ms-transform\")||t.getPropertyValue(\"-o-transform\")||t.getPropertyValue(\"transform\");return r===\"none\"?null:r.replace(\"matrix\",\"\").replace(\"3d\",\"\").slice(1,-1).split(\",\").map(function(n){return+n})}function cre(e){for(var t=[];ytt(e);)t.push(e),e=e.parentNode,typeof ShadowRoot==\"function\"&&e instanceof ShadowRoot&&(e=e.host);return t}function ytt(e){return e&&(e instanceof Element||e instanceof HTMLElement)}function _tt(e,t){return e&&t&&e.top===t.top&&e.left===t.left&&e.right===t.right&&e.bottom===t.bottom}fre.exports={getGraphDiv:htt,isPlotDiv:dtt,removeElement:sre,addStyleRule:vtt,addRelatedStyleRule:lre,deleteRelatedStyleRule:ptt,setStyleOnHover:gtt,getFullTransformMatrix:mtt,getElementTransformMatrix:ure,getElementAndAncestors:cre,equalDomRects:_tt}});var zS=ye((jer,hre)=>{\"use strict\";hre.exports={mode:{valType:\"enumerated\",dflt:\"afterall\",values:[\"immediate\",\"next\",\"afterall\"]},direction:{valType:\"enumerated\",values:[\"forward\",\"reverse\"],dflt:\"forward\"},fromcurrent:{valType:\"boolean\",dflt:!1},frame:{duration:{valType:\"number\",min:0,dflt:500},redraw:{valType:\"boolean\",dflt:!0}},transition:{duration:{valType:\"number\",min:0,dflt:500,editType:\"none\"},easing:{valType:\"enumerated\",dflt:\"cubic-in-out\",values:[\"linear\",\"quad\",\"cubic\",\"sin\",\"exp\",\"circle\",\"elastic\",\"back\",\"bounce\",\"linear-in\",\"quad-in\",\"cubic-in\",\"sin-in\",\"exp-in\",\"circle-in\",\"elastic-in\",\"back-in\",\"bounce-in\",\"linear-out\",\"quad-out\",\"cubic-out\",\"sin-out\",\"exp-out\",\"circle-out\",\"elastic-out\",\"back-out\",\"bounce-out\",\"linear-in-out\",\"quad-in-out\",\"cubic-in-out\",\"sin-in-out\",\"exp-in-out\",\"circle-in-out\",\"elastic-in-out\",\"back-in-out\",\"bounce-in-out\"],editType:\"none\"},ordering:{valType:\"enumerated\",values:[\"layout first\",\"traces first\"],dflt:\"layout first\",editType:\"none\"}}}});var Bu=ye((Wer,_re)=>{\"use strict\";var vre=no().extendFlat,xtt=gy(),pre={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"clearAxisTypes\",\"plot\",\"style\",\"markerSize\",\"colorbars\"]},gre={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"plot\",\"legend\",\"ticks\",\"axrange\",\"layoutstyle\",\"modebar\",\"camera\",\"arraydraw\",\"colorbars\"]},btt=pre.flags.slice().concat([\"fullReplot\"]),wtt=gre.flags.slice().concat(\"layoutReplot\");_re.exports={traces:pre,layout:gre,traceFlags:function(){return dre(btt)},layoutFlags:function(){return dre(wtt)},update:function(e,t){var r=t.editType;if(r&&r!==\"none\")for(var n=r.split(\"+\"),i=0;i<n.length;i++)e[n[i]]=!0},overrideAll:mre};function dre(e){for(var t={},r=0;r<e.length;r++)t[e[r]]=!1;return t}function mre(e,t,r){var n=vre({},e);for(var i in n){var a=n[i];xtt(a)&&(n[i]=yre(a,t,r,i))}return r===\"from-root\"&&(n.editType=t),n}function yre(e,t,r,n){if(e.valType){var i=vre({},e);if(i.editType=t,Array.isArray(e.items)){i.items=new Array(e.items.length);for(var a=0;a<e.items.length;a++)i.items[a]=yre(e.items[a],t,\"from-root\")}return i}else return mre(e,t,n.charAt(0)===\"_\"?\"nested\":\"from-root\")}});var Ed=ye(Iq=>{\"use strict\";Iq.dash={valType:\"string\",values:[\"solid\",\"dot\",\"dash\",\"longdash\",\"dashdot\",\"longdashdot\"],dflt:\"solid\",editType:\"style\"};Iq.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\"}});var Rq=ye((Xer,xre)=>{\"use strict\";xre.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\"}});var Wo=ye(y6=>{\"use strict\";var bre=Rq(),Yer=bre.FORMAT_LINK,Ker=bre.DATE_FORMAT_LINK;function Dq(e){var t=e.description?\" \"+e.description:\"\",r=e.keys||[];if(r.length>0){for(var n=[],i=0;i<r.length;i++)n[i]=\"`\"+r[i]+\"`\";t=t+\"Finally, the template string has access to \",r.length===1?t=t+\"variable \"+n[0]:t=t+\"variables \"+n.slice(0,-1).join(\", \")+\" and \"+n.slice(-1)+\".\"}return t}y6.hovertemplateAttrs=function(e,t){e=e||{},t=t||{};var r=Dq(t),n={valType:\"string\",dflt:\"\",editType:e.editType||\"none\"};return e.arrayOk!==!1&&(n.arrayOk=!0),n};y6.texttemplateAttrs=function(e,t){e=e||{},t=t||{};var r=Dq(t),n={valType:\"string\",dflt:\"\",editType:e.editType||\"calc\"};return e.arrayOk!==!1&&(n.arrayOk=!0),n};y6.shapeTexttemplateAttrs=function(e,t){e=e||{},t=t||{};var r=e.newshape?\"new \":\"\",n=Dq(t),i={valType:\"string\",dflt:\"\",editType:e.editType||\"arraydraw\"};return i}});var b6=ye(($er,Ere)=>{\"use strict\";function j1(e,t){return t?t.d2l(e):e}function wre(e,t){return t?t.l2d(e):e}function Ttt(e){return e.x0}function Att(e){return e.x1}function Stt(e){return e.y0}function Mtt(e){return e.y1}function Tre(e){return e.x0shift||0}function Are(e){return e.x1shift||0}function Sre(e){return e.y0shift||0}function Mre(e){return e.y1shift||0}function _6(e,t){return j1(e.x1,t)+Are(e)-j1(e.x0,t)-Tre(e)}function x6(e,t,r){return j1(e.y1,r)+Mre(e)-j1(e.y0,r)-Sre(e)}function Ett(e,t){return Math.abs(_6(e,t))}function ktt(e,t,r){return Math.abs(x6(e,t,r))}function Ctt(e,t,r){return e.type!==\"line\"?void 0:Math.sqrt(Math.pow(_6(e,t),2)+Math.pow(x6(e,t,r),2))}function Ltt(e,t){return wre((j1(e.x1,t)+Are(e)+j1(e.x0,t)+Tre(e))/2,t)}function Ptt(e,t,r){return wre((j1(e.y1,r)+Mre(e)+j1(e.y0,r)+Sre(e))/2,r)}function Itt(e,t,r){return e.type!==\"line\"?void 0:x6(e,t,r)/_6(e,t)}Ere.exports={x0:Ttt,x1:Att,y0:Stt,y1:Mtt,slope:Itt,dx:_6,dy:x6,width:Ett,height:ktt,length:Ctt,xcenter:Ltt,ycenter:Ptt}});var Lre=ye((Qer,Cre)=>{\"use strict\";var Rtt=Bu().overrideAll,cb=vl(),kre=Su(),Dtt=Ed().dash,W1=no().extendFlat,ztt=Wo().shapeTexttemplateAttrs,Ftt=b6();Cre.exports=Rtt({newshape:{visible:W1({},cb.visible,{}),showlegend:{valType:\"boolean\",dflt:!1},legend:W1({},cb.legend,{}),legendgroup:W1({},cb.legendgroup,{}),legendgrouptitle:{text:W1({},cb.legendgrouptitle.text,{}),font:kre({})},legendrank:W1({},cb.legendrank,{}),legendwidth:W1({},cb.legendwidth,{}),line:{color:{valType:\"color\"},width:{valType:\"number\",min:0,dflt:4},dash:W1({},Dtt,{dflt:\"solid\"})},fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},fillrule:{valType:\"enumerated\",values:[\"evenodd\",\"nonzero\"],dflt:\"evenodd\"},opacity:{valType:\"number\",min:0,max:1,dflt:1},layer:{valType:\"enumerated\",values:[\"below\",\"above\",\"between\"],dflt:\"above\"},drawdirection:{valType:\"enumerated\",values:[\"ortho\",\"horizontal\",\"vertical\",\"diagonal\"],dflt:\"diagonal\"},name:W1({},cb.name,{}),label:{text:{valType:\"string\",dflt:\"\"},texttemplate:ztt({newshape:!0},{keys:Object.keys(Ftt)}),font:kre({}),textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\",\"start\",\"middle\",\"end\"]},textangle:{valType:\"angle\",dflt:\"auto\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"]},padding:{valType:\"number\",dflt:3,min:0}}},activeshape:{fillcolor:{valType:\"color\",dflt:\"rgb(255,0,255)\"},opacity:{valType:\"number\",min:0,max:1,dflt:.5}}},\"none\",\"from-root\")});var Ire=ye((etr,Pre)=>{\"use strict\";var qtt=Ed().dash,Ott=no().extendFlat;Pre.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:Ott({},qtt,{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\"}}});var w6=ye((ttr,Rre)=>{\"use strict\";Rre.exports=function(e){var t=e.editType;return{t:{valType:\"number\",dflt:0,editType:t},r:{valType:\"number\",dflt:0,editType:t},b:{valType:\"number\",dflt:0,editType:t},l:{valType:\"number\",dflt:0,editType:t},editType:t}}});var s3=ye((rtr,qre)=>{\"use strict\";var zq=Su(),Btt=zS(),T6=dh(),Dre=Lre(),zre=Ire(),Ntt=w6(),Fre=no().extendFlat,A6=zq({editType:\"calc\"});A6.family.dflt='\"Open Sans\", verdana, arial, sans-serif';A6.size.dflt=12;A6.color.dflt=T6.defaultLine;qre.exports={font:A6,title:{text:{valType:\"string\",editType:\"layoutstyle\"},font:zq({editType:\"layoutstyle\"}),subtitle:{text:{valType:\"string\",editType:\"layoutstyle\"},font:zq({editType:\"layoutstyle\"}),editType:\"layoutstyle\"},xref:{valType:\"enumerated\",dflt:\"container\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},yref:{valType:\"enumerated\",dflt:\"container\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},x:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"layoutstyle\"},y:{valType:\"number\",min:0,max:1,dflt:\"auto\",editType:\"layoutstyle\"},xanchor:{valType:\"enumerated\",dflt:\"auto\",values:[\"auto\",\"left\",\"center\",\"right\"],editType:\"layoutstyle\"},yanchor:{valType:\"enumerated\",dflt:\"auto\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],editType:\"layoutstyle\"},pad:Fre(Ntt({editType:\"layoutstyle\"}),{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},editType:\"layoutstyle\"},uniformtext:{mode:{valType:\"enumerated\",values:[!1,\"hide\",\"show\"],dflt:!1,editType:\"plot\"},minsize:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"},autosize:{valType:\"boolean\",dflt:!1,editType:\"none\"},width:{valType:\"number\",min:10,dflt:700,editType:\"plot\"},height:{valType:\"number\",min:10,dflt:450,editType:\"plot\"},minreducedwidth:{valType:\"number\",min:2,dflt:64,editType:\"plot\"},minreducedheight:{valType:\"number\",min:2,dflt:64,editType:\"plot\"},margin:{l:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},r:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},t:{valType:\"number\",min:0,dflt:100,editType:\"plot\"},b:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},autoexpand:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},computed:{valType:\"any\",editType:\"none\"},paper_bgcolor:{valType:\"color\",dflt:T6.background,editType:\"plot\"},plot_bgcolor:{valType:\"color\",dflt:T6.background,editType:\"layoutstyle\"},autotypenumbers:{valType:\"enumerated\",values:[\"convert types\",\"strict\"],dflt:\"convert types\",editType:\"calc\"},separators:{valType:\"string\",editType:\"plot\"},hidesources:{valType:\"boolean\",dflt:!1,editType:\"plot\"},showlegend:{valType:\"boolean\",editType:\"legend\"},colorway:{valType:\"colorlist\",dflt:T6.defaults,editType:\"calc\"},datarevision:{valType:\"any\",editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"},editrevision:{valType:\"any\",editType:\"none\"},selectionrevision:{valType:\"any\",editType:\"none\"},template:{valType:\"any\",editType:\"calc\"},newshape:Dre.newshape,activeshape:Dre.activeshape,newselection:zre.newselection,activeselection:zre.activeselection,meta:{valType:\"any\",arrayOk:!0,editType:\"plot\"},transition:Fre({},Btt.transition,{editType:\"none\"})}});var Ore=Ll(()=>{});var Utt={};var Bre=Ll(()=>{Ore()});var ba=ye(qs=>{\"use strict\";var l3=G1(),Nre=g6(),Ure=kq(),Vtt=gy(),Htt=DS().addStyleRule,Vre=no(),Gtt=vl(),jtt=s3(),Wtt=Vre.extendFlat,Fq=Vre.extendDeepAll;qs.modules={};qs.allCategories={};qs.allTypes=[];qs.subplotsRegistry={};qs.componentsRegistry={};qs.layoutArrayContainers=[];qs.layoutArrayRegexes=[];qs.traceLayoutAttributes={};qs.localeRegistry={};qs.apiMethodRegistry={};qs.collectableSubplotTypes=null;qs.register=function(t){if(qs.collectableSubplotTypes=null,t)t&&!Array.isArray(t)&&(t=[t]);else throw new Error(\"No argument passed to Plotly.register.\");for(var r=0;r<t.length;r++){var n=t[r];if(!n)throw new Error(\"Invalid module was attempted to be registered!\");switch(n.moduleType){case\"trace\":Ztt(n);break;case\"transform\":Ktt(n);break;case\"component\":Ytt(n);break;case\"locale\":Jtt(n);break;case\"apiMethod\":var i=n.name;qs.apiMethodRegistry[i]=n.fn;break;default:throw new Error(\"Invalid module was attempted to be registered!\")}}};qs.getModule=function(e){var t=qs.modules[Wre(e)];return t?t._module:!1};qs.traceIs=function(e,t){if(e=Wre(e),e===\"various\")return!1;var r=qs.modules[e];return r||(e&&l3.log(\"Unrecognized trace type \"+e+\".\"),r=qs.modules[Gtt.type.dflt]),!!r.categories[t]};qs.getComponentMethod=function(e,t){var r=qs.componentsRegistry[e];return r&&r[t]||Nre};qs.call=function(){var e=arguments[0],t=[].slice.call(arguments,1);return qs.apiMethodRegistry[e].apply(null,t)};function Ztt(e){var t=e.name,r=e.categories,n=e.meta;if(qs.modules[t]){l3.log(\"Type \"+t+\" already registered\");return}qs.subplotsRegistry[e.basePlotModule.name]||Xtt(e.basePlotModule);for(var i={},a=0;a<r.length;a++)i[r[a]]=!0,qs.allCategories[r[a]]=!0;qs.modules[t]={_module:e,categories:i},n&&Object.keys(n).length&&(qs.modules[t].meta=n),qs.allTypes.push(t);for(var o in qs.componentsRegistry)Gre(o,t);e.layoutAttributes&&Wtt(qs.traceLayoutAttributes,e.layoutAttributes);var s=e.basePlotModule,l=s.name;if(l===\"mapbox\"){var u=s.constants.styleRules;for(var c in u)Htt(\".js-plotly-plot .plotly .mapboxgl-\"+c,u[c])}l===\"map\"&&(Bre(),B1(Utt)),(l===\"geo\"||l===\"mapbox\"||l===\"map\")&&window.PlotlyGeoAssets===void 0&&(window.PlotlyGeoAssets={topojson:{}})}function Xtt(e){var t=e.name;if(qs.subplotsRegistry[t]){l3.log(\"Plot type \"+t+\" already registered.\");return}Hre(e),qs.subplotsRegistry[t]=e;for(var r in qs.componentsRegistry)jre(r,e.name)}function Ytt(e){if(typeof e.name!=\"string\")throw new Error(\"Component module *name* must be a string.\");var t=e.name;qs.componentsRegistry[t]=e,e.layoutAttributes&&(e.layoutAttributes._isLinkedToArray&&Ure(qs.layoutArrayContainers,t),Hre(e));for(var r in qs.modules)Gre(t,r);for(var n in qs.subplotsRegistry)jre(t,n);e.schema&&e.schema.layout&&Fq(jtt,e.schema.layout)}function Ktt(e){if(typeof e.name!=\"string\")throw new Error(\"Transform module *name* must be a string.\");var t=\"Transform module \"+e.name,r=typeof e.transform==\"function\",n=typeof e.calcTransform==\"function\";if(!r&&!n)throw new Error(t+\" is missing a *transform* or *calcTransform* method.\");r&&n&&l3.log([t+\" has both a *transform* and *calcTransform* methods.\",\"Please note that all *transform* methods are executed\",\"before all *calcTransform* methods.\"].join(\" \")),Vtt(e.attributes)||l3.log(t+\" registered without an *attributes* object.\"),typeof e.supplyDefaults!=\"function\"&&l3.log(t+\" registered without a *supplyDefaults* method.\")}function Jtt(e){var t=e.name,r=t.split(\"-\")[0],n=e.dictionary,i=e.format,a=n&&Object.keys(n).length,o=i&&Object.keys(i).length,s=qs.localeRegistry,l=s[t];if(l||(s[t]=l={}),r!==t){var u=s[r];u||(s[r]=u={}),a&&u.dictionary===l.dictionary&&(u.dictionary=n),o&&u.format===l.format&&(u.format=i)}a&&(l.dictionary=n),o&&(l.format=i)}function Hre(e){if(e.layoutAttributes){var t=e.layoutAttributes._arrayAttrRegexps;if(t)for(var r=0;r<t.length;r++)Ure(qs.layoutArrayRegexes,t[r])}}function Gre(e,t){var r=qs.componentsRegistry[e].schema;if(!(!r||!r.traces)){var n=r.traces[t];n&&Fq(qs.modules[t]._module.attributes,n)}}function jre(e,t){var r=qs.componentsRegistry[e].schema;if(!(!r||!r.subplots)){var n=qs.subplotsRegistry[t],i=n.layoutAttributes,a=n.attr===\"subplot\"?n.name:n.attr;Array.isArray(a)&&(a=a[0]);var o=r.subplots[a];i&&o&&Fq(i,o)}}function Wre(e){return typeof e==\"object\"&&(e=e.type),e}});var tie=ye(Yf=>{\"use strict\";var $tt=e3().timeFormat,Qre=uo(),qq=G1(),X1=r3().mod,f3=es(),_0=f3.BADNUM,wp=f3.ONEDAY,FS=f3.ONEHOUR,Z1=f3.ONEMIN,c3=f3.ONESEC,qS=f3.EPOCHJD,my=ba(),Zre=e3().utcFormat,Qtt=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\d)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d(:?\\d\\d)?)?)?)?)?)?\\s*$/m,ert=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\di?)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d(:?\\d\\d)?)?)?)?)?)?\\s*$/m,Xre=new Date().getFullYear()-70;function yy(e){return e&&my.componentsRegistry.calendars&&typeof e==\"string\"&&e!==\"gregorian\"}Yf.dateTick0=function(e,t){var r=trt(e,!!t);if(t<2)return r;var n=Yf.dateTime2ms(r,e);return n+=wp*(t-1),Yf.ms2DateTime(n,0,e)};function trt(e,t){return yy(e)?t?my.getComponentMethod(\"calendars\",\"CANONICAL_SUNDAY\")[e]:my.getComponentMethod(\"calendars\",\"CANONICAL_TICK\")[e]:t?\"2000-01-02\":\"2000-01-01\"}Yf.dfltRange=function(e){return yy(e)?my.getComponentMethod(\"calendars\",\"DFLTRANGE\")[e]:[\"2000-01-01\",\"2001-01-01\"]};Yf.isJSDate=function(e){return typeof e==\"object\"&&e!==null&&typeof e.getTime==\"function\"};var M6,E6;Yf.dateTime2ms=function(e,t){if(Yf.isJSDate(e)){var r=e.getTimezoneOffset()*Z1,n=(e.getUTCMinutes()-e.getMinutes())*Z1+(e.getUTCSeconds()-e.getSeconds())*c3+(e.getUTCMilliseconds()-e.getMilliseconds());if(n){var i=3*Z1;r=r-i/2+X1(n-r+i/2,i)}return e=Number(e)-r,e>=M6&&e<=E6?e:_0}if(typeof e!=\"string\"&&typeof e!=\"number\")return _0;e=String(e);var a=yy(t),o=e.charAt(0);a&&(o===\"G\"||o===\"g\")&&(e=e.substr(1),t=\"\");var s=a&&t.substr(0,7)===\"chinese\",l=e.match(s?ert:Qtt);if(!l)return _0;var u=l[1],c=l[3]||\"1\",f=Number(l[5]||1),h=Number(l[7]||0),d=Number(l[9]||0),v=Number(l[11]||0);if(a){if(u.length===2)return _0;u=Number(u);var x;try{var b=my.getComponentMethod(\"calendars\",\"getCal\")(t);if(s){var p=c.charAt(c.length-1)===\"i\";c=parseInt(c,10),x=b.newDate(u,b.toMonthIndex(u,c,p),f)}else x=b.newDate(u,Number(c),f)}catch(k){return _0}return x?(x.toJD()-qS)*wp+h*FS+d*Z1+v*c3:_0}u.length===2?u=(Number(u)+2e3-Xre)%100+Xre:u=Number(u),c-=1;var E=new Date(Date.UTC(2e3,c,f,h,d));return E.setUTCFullYear(u),E.getUTCMonth()!==c||E.getUTCDate()!==f?_0:E.getTime()+v*c3};M6=Yf.MIN_MS=Yf.dateTime2ms(\"-9999\");E6=Yf.MAX_MS=Yf.dateTime2ms(\"9999-12-31 23:59:59.9999\");Yf.isDateTime=function(e,t){return Yf.dateTime2ms(e,t)!==_0};function u3(e,t){return String(e+Math.pow(10,t)).substr(1)}var S6=90*wp,Yre=3*FS,Kre=5*Z1;Yf.ms2DateTime=function(e,t,r){if(typeof e!=\"number\"||!(e>=M6&&e<=E6))return _0;t||(t=0);var n=Math.floor(X1(e+.05,1)*10),i=Math.round(e-n/10),a,o,s,l,u,c;if(yy(r)){var f=Math.floor(i/wp)+qS,h=Math.floor(X1(e,wp));try{a=my.getComponentMethod(\"calendars\",\"getCal\")(r).fromJD(f).formatDate(\"yyyy-mm-dd\")}catch(d){a=Zre(\"G%Y-%m-%d\")(new Date(i))}if(a.charAt(0)===\"-\")for(;a.length<11;)a=\"-0\"+a.substr(1);else for(;a.length<10;)a=\"0\"+a;o=t<S6?Math.floor(h/FS):0,s=t<S6?Math.floor(h%FS/Z1):0,l=t<Yre?Math.floor(h%Z1/c3):0,u=t<Kre?h%c3*10+n:0}else c=new Date(i),a=Zre(\"%Y-%m-%d\")(c),o=t<S6?c.getUTCHours():0,s=t<S6?c.getUTCMinutes():0,l=t<Yre?c.getUTCSeconds():0,u=t<Kre?c.getUTCMilliseconds()*10+n:0;return eie(a,o,s,l,u)};Yf.ms2DateTimeLocal=function(e){if(!(e>=M6+wp&&e<=E6-wp))return _0;var t=Math.floor(X1(e+.05,1)*10),r=new Date(Math.round(e-t/10)),n=$tt(\"%Y-%m-%d\")(r),i=r.getHours(),a=r.getMinutes(),o=r.getSeconds(),s=r.getUTCMilliseconds()*10+t;return eie(n,i,a,o,s)};function eie(e,t,r,n,i){if((t||r||n||i)&&(e+=\" \"+u3(t,2)+\":\"+u3(r,2),(n||i)&&(e+=\":\"+u3(n,2),i))){for(var a=4;i%10===0;)a-=1,i/=10;e+=\".\"+u3(i,a)}return e}Yf.cleanDate=function(e,t,r){if(e===_0)return t;if(Yf.isJSDate(e)||typeof e==\"number\"&&isFinite(e)){if(yy(r))return qq.error(\"JS Dates and milliseconds are incompatible with world calendars\",e),t;if(e=Yf.ms2DateTimeLocal(+e),!e&&t!==void 0)return t}else if(!Yf.isDateTime(e,r))return qq.error(\"unrecognized date\",e),t;return e};var rrt=/%\\d?f/g,irt=/%h/g,nrt={1:\"1\",2:\"1\",3:\"2\",4:\"2\"};function Jre(e,t,r,n){e=e.replace(rrt,function(a){var o=Math.min(+a.charAt(1)||6,6),s=(t/1e3%1+2).toFixed(o).substr(2).replace(/0+$/,\"\")||\"0\";return s});var i=new Date(Math.floor(t+.05));if(e=e.replace(irt,function(){return nrt[r(\"%q\")(i)]}),yy(n))try{e=my.getComponentMethod(\"calendars\",\"worldCalFmt\")(e,t,n)}catch(a){return\"Invalid\"}return r(e)(i)}var art=[59,59.9,59.99,59.999,59.9999];function ort(e,t){var r=X1(e+.05,wp),n=u3(Math.floor(r/FS),2)+\":\"+u3(X1(Math.floor(r/Z1),60),2);if(t!==\"M\"){Qre(t)||(t=0);var i=Math.min(X1(e/c3,60),art[t]),a=(100+i).toFixed(t).substr(1);t>0&&(a=a.replace(/0+$/,\"\").replace(/[\\.]$/,\"\")),n+=\":\"+a}return n}Yf.formatDate=function(e,t,r,n,i,a){if(i=yy(i)&&i,!t)if(r===\"y\")t=a.year;else if(r===\"m\")t=a.month;else if(r===\"d\")t=a.dayMonth+`\n", - "`+a.year;else return ort(e,r)+`\n", - "`+Jre(a.dayMonthYear,e,n,i);return Jre(t,e,n,i)};var $re=3*wp;Yf.incrementMonth=function(e,t,r){r=yy(r)&&r;var n=X1(e,wp);if(e=Math.round(e-n),r)try{var i=Math.round(e/wp)+qS,a=my.getComponentMethod(\"calendars\",\"getCal\")(r),o=a.fromJD(i);return t%12?a.add(o,t,\"m\"):a.add(o,t/12,\"y\"),(o.toJD()-qS)*wp+n}catch(l){qq.error(\"invalid ms \"+e+\" in calendar \"+r)}var s=new Date(e+$re);return s.setUTCMonth(s.getUTCMonth()+t)+n-$re};Yf.findExactDates=function(e,t){for(var r=0,n=0,i=0,a=0,o,s,l=yy(t)&&my.getComponentMethod(\"calendars\",\"getCal\")(t),u=0;u<e.length;u++){if(s=e[u],!Qre(s)){a++;continue}if(!(s%wp))if(l)try{o=l.fromJD(s/wp+qS),o.day()===1?o.month()===1?r++:n++:i++}catch(f){}else o=new Date(s),o.getUTCDate()===1?o.getUTCMonth()===0?r++:n++:i++}n+=r,i+=n;var c=e.length-a;return{exactYears:r/c,exactMonths:n/c,exactDays:i/c}}});var OS=ye((ltr,rie)=>{\"use strict\";rie.exports=function(t){return t}});var k6=ye(_y=>{\"use strict\";var srt=uo(),lrt=G1(),urt=OS(),crt=es().BADNUM,Oq=1e-9;_y.findBin=function(e,t,r){if(srt(t.start))return r?Math.ceil((e-t.start)/t.size-Oq)-1:Math.floor((e-t.start)/t.size+Oq);var n=0,i=t.length,a=0,o=i>1?(t[i-1]-t[0])/(i-1):1,s,l;for(o>=0?l=r?frt:hrt:l=r?vrt:drt,e+=o*Oq*(r?-1:1)*(o>=0?1:-1);n<i&&a++<100;)s=Math.floor((n+i)/2),l(t[s],e)?n=s+1:i=s;return a>90&&lrt.log(\"Long binary search...\"),n-1};function frt(e,t){return e<t}function hrt(e,t){return e<=t}function drt(e,t){return e>t}function vrt(e,t){return e>=t}_y.sorterAsc=function(e,t){return e-t};_y.sorterDes=function(e,t){return t-e};_y.distinctVals=function(e){var t=e.slice();t.sort(_y.sorterAsc);var r;for(r=t.length-1;r>-1&&t[r]===crt;r--);for(var n=t[r]-t[0]||1,i=n/(r||1)/1e4,a=[],o,s=0;s<=r;s++){var l=t[s],u=l-o;o===void 0?(a.push(l),o=l):u>i&&(n=Math.min(n,u),a.push(l),o=l)}return{vals:a,minDiff:n}};_y.roundUp=function(e,t,r){for(var n=0,i=t.length-1,a,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;n<i&&o++<100;)a=u((n+i)/2),t[a]<=e?n=a+s:i=a-l;return t[n]};_y.sort=function(e,t){for(var r=0,n=0,i=1;i<e.length;i++){var a=t(e[i],e[i-1]);if(a<0?r=1:a>0&&(n=1),r&&n)return e.sort(t)}return n?e:e.reverse()};_y.findIndexOfMin=function(e,t){t=t||urt;for(var r=1/0,n,i=0;i<e.length;i++){var a=t(e[i]);a<r&&(r=a,n=i)}return n}});var Y1=ye((ctr,iie)=>{\"use strict\";iie.exports=function(t){return Object.keys(t).sort()}});var nie=ye(Kf=>{\"use strict\";var BS=uo(),prt=vv().isArrayOrTypedArray;Kf.aggNums=function(e,t,r,n){var i,a;if((!n||n>r.length)&&(n=r.length),BS(t)||(t=!1),prt(r[0])){for(a=new Array(n),i=0;i<n;i++)a[i]=Kf.aggNums(e,t,r[i]);r=a}for(i=0;i<n;i++)BS(t)?BS(r[i])&&(t=e(+t,+r[i])):t=r[i];return t};Kf.len=function(e){return Kf.aggNums(function(t){return t+1},0,e)};Kf.mean=function(e,t){return t||(t=Kf.len(e)),Kf.aggNums(function(r,n){return r+n},0,e)/t};Kf.geometricMean=function(e,t){return t||(t=Kf.len(e)),Math.pow(Kf.aggNums(function(r,n){return r*n},1,e),1/t)};Kf.midRange=function(e){if(!(e===void 0||e.length===0))return(Kf.aggNums(Math.max,null,e)+Kf.aggNums(Math.min,null,e))/2};Kf.variance=function(e,t,r){return t||(t=Kf.len(e)),BS(r)||(r=Kf.mean(e,t)),Kf.aggNums(function(n,i){return n+Math.pow(i-r,2)},0,e)/t};Kf.stdev=function(e,t,r){return Math.sqrt(Kf.variance(e,t,r))};Kf.median=function(e){var t=e.slice().sort();return Kf.interp(t,.5)};Kf.interp=function(e,t){if(!BS(t))throw\"n should be a finite number\";if(t=t*e.length-.5,t<0)return e[0];if(t>e.length-1)return e[e.length-1];var r=t%1;return r*e[Math.ceil(t)]+(1-r)*e[Math.floor(t)]}});var uie=ye((htr,lie)=>{\"use strict\";var aie=r3(),Bq=aie.mod,grt=aie.modHalf,NS=Math.PI,K1=2*NS;function mrt(e){return e/180*NS}function yrt(e){return e/NS*180}function Nq(e){return Math.abs(e[1]-e[0])>K1-1e-14}function oie(e,t){return grt(t-e,K1)}function _rt(e,t){return Math.abs(oie(e,t))}function sie(e,t){if(Nq(t))return!0;var r,n;t[0]<t[1]?(r=t[0],n=t[1]):(r=t[1],n=t[0]),r=Bq(r,K1),n=Bq(n,K1),r>n&&(n+=K1);var i=Bq(e,K1),a=i+K1;return i>=r&&i<=n||a>=r&&a<=n}function xrt(e,t,r,n){if(!sie(t,n))return!1;var i,a;return r[0]<r[1]?(i=r[0],a=r[1]):(i=r[1],a=r[0]),e>=i&&e<=a}function Uq(e,t,r,n,i,a,o){i=i||0,a=a||0;var s=Nq([r,n]),l,u,c,f,h;s?(l=0,u=NS,c=K1):r<n?(l=r,c=n):(l=n,c=r),e<t?(f=e,h=t):(f=t,h=e);function d(p,E){return[p*Math.cos(E)+i,a-p*Math.sin(E)]}var v=Math.abs(c-l)<=NS?0:1;function x(p,E,k){return\"A\"+[p,p]+\" \"+[0,v,k]+\" \"+d(p,E)}var b;return s?f===null?b=\"M\"+d(h,l)+x(h,u,0)+x(h,c,0)+\"Z\":b=\"M\"+d(f,l)+x(f,u,0)+x(f,c,0)+\"ZM\"+d(h,l)+x(h,u,1)+x(h,c,1)+\"Z\":f===null?(b=\"M\"+d(h,l)+x(h,c,0),o&&(b+=\"L0,0Z\")):b=\"M\"+d(f,l)+\"L\"+d(h,l)+x(h,c,0)+\"L\"+d(f,c)+x(f,l,1)+\"Z\",b}function brt(e,t,r,n,i){return Uq(null,e,t,r,n,i,0)}function wrt(e,t,r,n,i){return Uq(null,e,t,r,n,i,1)}function Trt(e,t,r,n,i,a){return Uq(e,t,r,n,i,a,1)}lie.exports={deg2rad:mrt,rad2deg:yrt,angleDelta:oie,angleDist:_rt,isFullCircle:Nq,isAngleInsideSector:sie,isPtInsideSector:xrt,pathArc:brt,pathSector:wrt,pathAnnulus:Trt}});var cie=ye(fb=>{\"use strict\";fb.isLeftAnchor=function(t){return t.xanchor===\"left\"||t.xanchor===\"auto\"&&t.x<=1/3};fb.isCenterAnchor=function(t){return t.xanchor===\"center\"||t.xanchor===\"auto\"&&t.x>1/3&&t.x<2/3};fb.isRightAnchor=function(t){return t.xanchor===\"right\"||t.xanchor===\"auto\"&&t.x>=2/3};fb.isTopAnchor=function(t){return t.yanchor===\"top\"||t.yanchor===\"auto\"&&t.y>=2/3};fb.isMiddleAnchor=function(t){return t.yanchor===\"middle\"||t.yanchor===\"auto\"&&t.y>1/3&&t.y<2/3};fb.isBottomAnchor=function(t){return t.yanchor===\"bottom\"||t.yanchor===\"auto\"&&t.y<=1/3}});var die=ye(hb=>{\"use strict\";var Vq=r3().mod;hb.segmentsIntersect=hie;function hie(e,t,r,n,i,a,o,s){var l=r-e,u=i-e,c=o-i,f=n-t,h=a-t,d=s-a,v=l*d-c*f;if(v===0)return null;var x=(u*d-c*h)/v,b=(u*f-l*h)/v;return b<0||b>1||x<0||x>1?null:{x:e+l*x,y:t+f*x}}hb.segmentDistance=function(t,r,n,i,a,o,s,l){if(hie(t,r,n,i,a,o,s,l))return 0;var u=n-t,c=i-r,f=s-a,h=l-o,d=u*u+c*c,v=f*f+h*h,x=Math.min(C6(u,c,d,a-t,o-r),C6(u,c,d,s-t,l-r),C6(f,h,v,t-a,r-o),C6(f,h,v,n-a,i-o));return Math.sqrt(x)};function C6(e,t,r,n,i){var a=n*e+i*t;if(a<0)return n*n+i*i;if(a>r){var o=n-e,s=i-t;return o*o+s*s}else{var l=n*t-i*e;return l*l/r}}var L6,Hq,fie;hb.getTextLocation=function(t,r,n,i){if((t!==Hq||i!==fie)&&(L6={},Hq=t,fie=i),L6[n])return L6[n];var a=t.getPointAtLength(Vq(n-i/2,r)),o=t.getPointAtLength(Vq(n+i/2,r)),s=Math.atan((o.y-a.y)/(o.x-a.x)),l=t.getPointAtLength(Vq(n,r)),u=(l.x*4+a.x+o.x)/6,c=(l.y*4+a.y+o.y)/6,f={x:u,y:c,theta:s};return L6[n]=f,f};hb.clearLocationCache=function(){Hq=null};hb.getVisibleSegment=function(t,r,n){var i=r.left,a=r.right,o=r.top,s=r.bottom,l=0,u=t.getTotalLength(),c=u,f,h;function d(x){var b=t.getPointAtLength(x);x===0?f=b:x===u&&(h=b);var p=b.x<i?i-b.x:b.x>a?b.x-a:0,E=b.y<o?o-b.y:b.y>s?b.y-s:0;return Math.sqrt(p*p+E*E)}for(var v=d(l);v;){if(l+=v+n,l>c)return;v=d(l)}for(v=d(c);v;){if(c-=v+n,l>c)return;v=d(c)}return{min:l,max:c,len:c-l,total:u,isClosed:l===0&&c===u&&Math.abs(f.x-h.x)<.1&&Math.abs(f.y-h.y)<.1}};hb.findPointOnPath=function(t,r,n,i){i=i||{};for(var a=i.pathLength||t.getTotalLength(),o=i.tolerance||.001,s=i.iterationLimit||30,l=t.getPointAtLength(0)[n]>t.getPointAtLength(a)[n]?-1:1,u=0,c=0,f=a,h,d,v;u<s;){if(h=(c+f)/2,d=t.getPointAtLength(h),v=d[n]-r,Math.abs(v)<o)return d;l*v>0?f=h:c=h,u++}return d}});var P6=ye(US=>{\"use strict\";var xy={};US.throttle=function(t,r,n){var i=xy[t],a=Date.now();if(!i){for(var o in xy)xy[o].ts<a-6e4&&delete xy[o];i=xy[t]={ts:0,timer:null}}vie(i);function s(){n(),i.ts=Date.now(),i.onDone&&(i.onDone(),i.onDone=null)}if(a>i.ts+r){s();return}i.timer=setTimeout(function(){s(),i.timer=null},r)};US.done=function(e){var t=xy[e];return!t||!t.timer?Promise.resolve():new Promise(function(r){var n=t.onDone;t.onDone=function(){n&&n(),r(),t.onDone=null}})};US.clear=function(e){if(e)vie(xy[e]),delete xy[e];else for(var t in xy)US.clear(t)};function vie(e){e&&e.timer!==null&&(clearTimeout(e.timer),e.timer=null)}});var gie=ye((gtr,pie)=>{\"use strict\";pie.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener(\"resize\",t._responsiveChartHandler),delete t._responsiveChartHandler)}});var mie=ye((mtr,I6)=>{\"use strict\";I6.exports=Gq;I6.exports.isMobile=Gq;I6.exports.default=Gq;var Art=/(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,Srt=/CrOS/,Mrt=/android|ipad|playbook|silk/i;function Gq(e){e||(e={});let t=e.ua;if(!t&&typeof navigator!=\"undefined\"&&(t=navigator.userAgent),t&&t.headers&&typeof t.headers[\"user-agent\"]==\"string\"&&(t=t.headers[\"user-agent\"]),typeof t!=\"string\")return!1;let r=Art.test(t)&&!Srt.test(t)||!!e.tablet&&Mrt.test(t);return!r&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&t.indexOf(\"Macintosh\")!==-1&&t.indexOf(\"Safari\")!==-1&&(r=!0),r}});var _ie=ye((ytr,yie)=>{\"use strict\";var Ert=uo(),krt=mie();yie.exports=function(t){var r;if(t&&t.hasOwnProperty(\"userAgent\")?r=t.userAgent:r=Crt(),typeof r!=\"string\")return!0;var n=krt({ua:{headers:{\"user-agent\":r}},tablet:!0,featureDetect:!1});if(!n)for(var i=r.split(\" \"),a=1;a<i.length;a++){var o=i[a];if(o.indexOf(\"Safari\")!==-1)for(var s=a-1;s>-1;s--){var l=i[s];if(l.substr(0,8)===\"Version/\"){var u=l.substr(8).split(\".\")[0];if(Ert(u)&&(u=+u),u>=13)return!0}}}return n};function Crt(){var e;return typeof navigator!=\"undefined\"&&(e=navigator.userAgent),e&&e.headers&&typeof e.headers[\"user-agent\"]==\"string\"&&(e=e.headers[\"user-agent\"]),e}});var bie=ye((_tr,xie)=>{\"use strict\";var Lrt=xa();xie.exports=function(t,r,n){var i=t.selectAll(\"g.\"+n.replace(/\\s/g,\".\")).data(r,function(o){return o[0].trace.uid});i.exit().remove(),i.enter().append(\"g\").attr(\"class\",n),i.order();var a=t.classed(\"rangeplot\")?\"nodeRangePlot3\":\"node3\";return i.each(function(o){o[0][a]=Lrt.select(this)}),i}});var Tie=ye((xtr,wie)=>{\"use strict\";var Prt=ba();wie.exports=function(t,r){for(var n=t._context.locale,i=0;i<2;i++){for(var a=t._context.locales,o=0;o<2;o++){var s=(a[n]||{}).dictionary;if(s){var l=s[r];if(l)return l}a=Prt.localeRegistry}var u=n.split(\"-\")[0];if(u===n)break;n=u}return r}});var jq=ye((btr,Aie)=>{\"use strict\";Aie.exports=function(t){for(var r={},n=[],i=0,a=0;a<t.length;a++){var o=t[a];r[o]!==1&&(r[o]=1,n[i++]=o)}return n}});var Mie=ye((wtr,Sie)=>{\"use strict\";Sie.exports=function(t){for(var r=Drt(t)?Rrt:Irt,n=[],i=0;i<t.length;i++){var a=t[i];r(a)&&n.push(a)}return n};function Irt(e){return e.visible===!0}function Rrt(e){var t=e[0].trace;return t.visible===!0&&t._length!==0}function Drt(e){return Array.isArray(e)&&Array.isArray(e[0])&&e[0][0]&&e[0][0].trace}});var kie=ye((Ttr,Eie)=>{\"use strict\";Eie.exports=function(t,r){if(!r)return t;var n=1/Math.abs(r),i=n>1?(n*t+n*r)/n:t+r,a=String(i).length;if(a>16){var o=String(r).length,s=String(t).length;if(a>=s+o){var l=parseFloat(i).toPrecision(12);l.indexOf(\"e+\")===-1&&(i=+l)}}return i}});var Lie=ye((Atr,Cie)=>{\"use strict\";var zrt=uo(),Frt=es().BADNUM,qrt=/^['\"%,$#\\s']+|[, ]|['\"%,$#\\s']+$/g;Cie.exports=function(t){return typeof t==\"string\"&&(t=t.replace(qrt,\"\")),zrt(t)?Number(t):Frt}});var Mr=ye((Str,Hie)=>{\"use strict\";var VS=xa(),Ort=e3().utcFormat,Brt=vq().format,Fie=uo(),qie=es(),Oie=qie.FP_SAFE,Nrt=-Oie,Pie=qie.BADNUM,li=Hie.exports={};li.adjustFormat=function(t){return!t||/^\\d[.]\\df/.test(t)||/[.]\\d%/.test(t)?t:t===\"0.f\"?\"~f\":/^\\d%/.test(t)?\"~%\":/^\\ds/.test(t)?\"~s\":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?\"~\"+t:t};var Iie={};li.warnBadFormat=function(e){var t=String(e);Iie[t]||(Iie[t]=1,li.warn('encountered bad format: \"'+t+'\"'))};li.noFormat=function(e){return String(e)};li.numberFormat=function(e){var t;try{t=Brt(li.adjustFormat(e))}catch(r){return li.warnBadFormat(e),li.noFormat}return t};li.nestedProperty=ES();li.keyedContainer=Tee();li.relativeAttr=See();li.isPlainObject=gy();li.toLogRange=u6();li.relinkPrivateKeys=Cee();var J1=vv();li.isArrayBuffer=J1.isArrayBuffer;li.isTypedArray=J1.isTypedArray;li.isArrayOrTypedArray=J1.isArrayOrTypedArray;li.isArray1D=J1.isArray1D;li.ensureArray=J1.ensureArray;li.concat=J1.concat;li.maxRowLength=J1.maxRowLength;li.minRowLength=J1.minRowLength;var Bie=r3();li.mod=Bie.mod;li.modHalf=Bie.modHalf;var $1=Xee();li.valObjectMeta=$1.valObjectMeta;li.coerce=$1.coerce;li.coerce2=$1.coerce2;li.coerceFont=$1.coerceFont;li.coercePattern=$1.coercePattern;li.coerceHoverinfo=$1.coerceHoverinfo;li.coerceSelectionMarkerOpacity=$1.coerceSelectionMarkerOpacity;li.validate=$1.validate;var Wp=tie();li.dateTime2ms=Wp.dateTime2ms;li.isDateTime=Wp.isDateTime;li.ms2DateTime=Wp.ms2DateTime;li.ms2DateTimeLocal=Wp.ms2DateTimeLocal;li.cleanDate=Wp.cleanDate;li.isJSDate=Wp.isJSDate;li.formatDate=Wp.formatDate;li.incrementMonth=Wp.incrementMonth;li.dateTick0=Wp.dateTick0;li.dfltRange=Wp.dfltRange;li.findExactDates=Wp.findExactDates;li.MIN_MS=Wp.MIN_MS;li.MAX_MS=Wp.MAX_MS;var db=k6();li.findBin=db.findBin;li.sorterAsc=db.sorterAsc;li.sorterDes=db.sorterDes;li.distinctVals=db.distinctVals;li.roundUp=db.roundUp;li.sort=db.sort;li.findIndexOfMin=db.findIndexOfMin;li.sortObjectKeys=Y1();var by=nie();li.aggNums=by.aggNums;li.len=by.len;li.mean=by.mean;li.geometricMean=by.geometricMean;li.median=by.median;li.midRange=by.midRange;li.variance=by.variance;li.stdev=by.stdev;li.interp=by.interp;var yg=m6();li.init2dArray=yg.init2dArray;li.transposeRagged=yg.transposeRagged;li.dot=yg.dot;li.translationMatrix=yg.translationMatrix;li.rotationMatrix=yg.rotationMatrix;li.rotationXYMatrix=yg.rotationXYMatrix;li.apply3DTransform=yg.apply3DTransform;li.apply2DTransform=yg.apply2DTransform;li.apply2DTransform2=yg.apply2DTransform2;li.convertCssMatrix=yg.convertCssMatrix;li.inverseTransformMatrix=yg.inverseTransformMatrix;var vm=uie();li.deg2rad=vm.deg2rad;li.rad2deg=vm.rad2deg;li.angleDelta=vm.angleDelta;li.angleDist=vm.angleDist;li.isFullCircle=vm.isFullCircle;li.isAngleInsideSector=vm.isAngleInsideSector;li.isPtInsideSector=vm.isPtInsideSector;li.pathArc=vm.pathArc;li.pathSector=vm.pathSector;li.pathAnnulus=vm.pathAnnulus;var d3=cie();li.isLeftAnchor=d3.isLeftAnchor;li.isCenterAnchor=d3.isCenterAnchor;li.isRightAnchor=d3.isRightAnchor;li.isTopAnchor=d3.isTopAnchor;li.isMiddleAnchor=d3.isMiddleAnchor;li.isBottomAnchor=d3.isBottomAnchor;var v3=die();li.segmentsIntersect=v3.segmentsIntersect;li.segmentDistance=v3.segmentDistance;li.getTextLocation=v3.getTextLocation;li.clearLocationCache=v3.clearLocationCache;li.getVisibleSegment=v3.getVisibleSegment;li.findPointOnPath=v3.findPointOnPath;var z6=no();li.extendFlat=z6.extendFlat;li.extendDeep=z6.extendDeep;li.extendDeepAll=z6.extendDeepAll;li.extendDeepNoArrays=z6.extendDeepNoArrays;var Wq=G1();li.log=Wq.log;li.warn=Wq.warn;li.error=Wq.error;var Urt=n3();li.counterRegex=Urt.counter;var Zq=P6();li.throttle=Zq.throttle;li.throttleDone=Zq.done;li.clearThrottle=Zq.clear;var _g=DS();li.getGraphDiv=_g.getGraphDiv;li.isPlotDiv=_g.isPlotDiv;li.removeElement=_g.removeElement;li.addStyleRule=_g.addStyleRule;li.addRelatedStyleRule=_g.addRelatedStyleRule;li.deleteRelatedStyleRule=_g.deleteRelatedStyleRule;li.setStyleOnHover=_g.setStyleOnHover;li.getFullTransformMatrix=_g.getFullTransformMatrix;li.getElementTransformMatrix=_g.getElementTransformMatrix;li.getElementAndAncestors=_g.getElementAndAncestors;li.equalDomRects=_g.equalDomRects;li.clearResponsive=gie();li.preserveDrawingBuffer=_ie();li.makeTraceGroups=bie();li._=Tie();li.notifier=Sq();li.filterUnique=jq();li.filterVisible=Mie();li.pushUnique=kq();li.increment=kie();li.cleanNumber=Lie();li.ensureNumber=function(t){return Fie(t)?(t=Number(t),t>Oie||t<Nrt?Pie:t):Pie};li.isIndex=function(e,t){return t!==void 0&&e>=t?!1:Fie(e)&&e>=0&&e%1===0};li.noop=g6();li.identity=OS();li.repeat=function(e,t){for(var r=new Array(t),n=0;n<t;n++)r[n]=e;return r};li.swapAttrs=function(e,t,r,n){r||(r=\"x\"),n||(n=\"y\");for(var i=0;i<t.length;i++){var a=t[i],o=li.nestedProperty(e,a.replace(\"?\",r)),s=li.nestedProperty(e,a.replace(\"?\",n)),l=o.get();o.set(s.get()),s.set(l)}};li.raiseToTop=function(t){t.parentNode.appendChild(t)};li.cancelTransition=function(e){return e.transition().duration(0)};li.constrain=function(e,t,r){return t>r?Math.max(r,Math.min(t,e)):Math.max(t,Math.min(r,e))};li.bBoxIntersect=function(e,t,r){return r=r||0,e.left<=t.right+r&&t.left<=e.right+r&&e.top<=t.bottom+r&&t.top<=e.bottom+r};li.simpleMap=function(e,t,r,n,i){for(var a=e.length,o=new Array(a),s=0;s<a;s++)o[s]=t(e[s],r,n,i);return o};li.randstr=function e(t,r,n,i){if(n||(n=16),r===void 0&&(r=24),r<=0)return\"0\";var a=Math.log(Math.pow(2,r))/Math.log(n),o=\"\",s,l,u;for(s=2;a===1/0;s*=2)a=Math.log(Math.pow(2,r/s))/Math.log(n)*s;var c=a-Math.floor(a);for(s=0;s<Math.floor(a);s++)u=Math.floor(Math.random()*n).toString(n),o=u+o;c&&(l=Math.pow(n,c),u=Math.floor(Math.random()*l).toString(n),o=u+o);var f=parseInt(o,n);return t&&t[o]||f!==1/0&&f>=Math.pow(2,r)?i>10?(li.warn(\"randstr failed uniqueness\"),o):e(t,r,n,(i||0)+1):o};li.OptionControl=function(e,t){e||(e={}),t||(t=\"opt\");var r={};return r.optionList=[],r._newoption=function(n){n[t]=e,r[n.name]=n,r.optionList.push(n)},r[\"_\"+t]=e,r};li.smooth=function(e,t){if(t=Math.round(t)||0,t<2)return e;var r=e.length,n=2*r,i=2*t-1,a=new Array(i),o=new Array(r),s,l,u,c;for(s=0;s<i;s++)a[s]=(1-Math.cos(Math.PI*(s+1)/t))/(2*t);for(s=0;s<r;s++){for(c=0,l=0;l<i;l++)u=s+l+1-t,u<-r?u-=n*Math.round(u/n):u>=n&&(u-=n*Math.floor(u/n)),u<0?u=-1-u:u>=r&&(u=n-1-u),c+=e[u]*a[l];o[s]=c}return o};li.syncOrAsync=function(e,t,r){var n,i;function a(){return li.syncOrAsync(e,t,r)}for(;e.length;)if(i=e.splice(0,1)[0],n=i(t),n&&n.then)return n.then(a);return r&&r(t)};li.stripTrailingSlash=function(e){return e.substr(-1)===\"/\"?e.substr(0,e.length-1):e};li.noneOrAll=function(e,t,r){if(e){var n=!1,i=!0,a,o;for(a=0;a<r.length;a++)o=e[r[a]],o!=null?n=!0:i=!1;if(n&&!i)for(a=0;a<r.length;a++)e[r[a]]=t[r[a]]}};li.mergeArray=function(e,t,r,n){var i=typeof n==\"function\";if(li.isArrayOrTypedArray(e))for(var a=Math.min(e.length,t.length),o=0;o<a;o++){var s=e[o];t[o][r]=i?n(s):s}};li.mergeArrayCastPositive=function(e,t,r){return li.mergeArray(e,t,r,function(n){var i=+n;return isFinite(i)&&i>0?i:0})};li.fillArray=function(e,t,r,n){if(n=n||li.identity,li.isArrayOrTypedArray(e))for(var i=0;i<t.length;i++)t[i][r]=n(e[i])};li.castOption=function(e,t,r,n){n=n||li.identity;var i=li.nestedProperty(e,r).get();return li.isArrayOrTypedArray(i)?Array.isArray(t)&&li.isArrayOrTypedArray(i[t[0]])?n(i[t[0]][t[1]]):n(i[t]):i};li.extractOption=function(e,t,r,n){if(r in e)return e[r];var i=li.nestedProperty(t,n).get();if(!Array.isArray(i))return i};function Nie(e){var t={};for(var r in e)for(var n=e[r],i=0;i<n.length;i++)t[n[i]]=+r;return t}li.tagSelected=function(e,t,r){var n=t.selectedpoints,i=t._indexToPoints,a;i&&(a=Nie(i));function o(f){return f!==void 0&&f<e.length}for(var s=0;s<n.length;s++){var l=n[s];if(li.isIndex(l)||li.isArrayOrTypedArray(l)&&li.isIndex(l[0])&&li.isIndex(l[1])){var u=a?a[l]:l,c=r?r[u]:u;o(c)&&(e[c].selected=1)}}};li.selIndices2selPoints=function(e){var t=e.selectedpoints,r=e._indexToPoints;if(r){for(var n=Nie(r),i=[],a=0;a<t.length;a++){var o=t[a];if(li.isIndex(o)){var s=n[o];li.isIndex(s)&&i.push(s)}}return i}else return t};li.getTargetArray=function(e,t){var r=t.target;if(typeof r==\"string\"&&r){var n=li.nestedProperty(e,r).get();return li.isArrayOrTypedArray(n)?n:!1}else if(li.isArrayOrTypedArray(r))return r;return!1};function Uie(e,t,r){var n={};typeof t!=\"object\"&&(t={});var i=r===\"pieLike\"?-1:3,a=Object.keys(e),o,s,l;for(o=0;o<a.length;o++)s=a[o],l=e[s],!(s.charAt(0)===\"_\"||typeof l==\"function\")&&(s===\"module\"?n[s]=l:Array.isArray(l)?s===\"colorscale\"||i===-1?n[s]=l.slice():n[s]=l.slice(0,i):li.isTypedArray(l)?i===-1?n[s]=l.subarray():n[s]=l.subarray(0,i):l&&typeof l==\"object\"?n[s]=Uie(e[s],t[s],r):n[s]=l);for(a=Object.keys(t),o=0;o<a.length;o++)s=a[o],l=t[s],(typeof l!=\"object\"||!(s in n)||typeof n[s]!=\"object\")&&(n[s]=l);return n}li.minExtend=Uie;li.titleCase=function(e){return e.charAt(0).toUpperCase()+e.substr(1)};li.containsAny=function(e,t){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])!==-1)return!0;return!1};var Vrt=/Version\\/[\\d\\.]+.*Safari/;li.isSafari=function(){return Vrt.test(window.navigator.userAgent)};var Hrt=/iPad|iPhone|iPod/;li.isIOS=function(){return Hrt.test(window.navigator.userAgent)};var Grt=/Firefox\\/(\\d+)\\.\\d+/;li.getFirefoxVersion=function(){var e=Grt.exec(window.navigator.userAgent);if(e&&e.length===2){var t=parseInt(e[1]);if(!isNaN(t))return t}return null};li.isD3Selection=function(e){return e instanceof VS.selection};li.ensureSingle=function(e,t,r,n){var i=e.select(t+(r?\".\"+r:\"\"));if(i.size())return i;var a=e.append(t);return r&&a.classed(r,!0),n&&a.call(n),a};li.ensureSingleById=function(e,t,r,n){var i=e.select(t+\"#\"+r);if(i.size())return i;var a=e.append(t).attr(\"id\",r);return n&&a.call(n),a};li.objectFromPath=function(e,t){for(var r=e.split(\".\"),n,i=n={},a=0;a<r.length;a++){var o=r[a],s=null,l=r[a].match(/(.*)\\[([0-9]+)\\]/);l?(o=l[1],s=l[2],n=n[o]=[],a===r.length-1?n[s]=t:n[s]={},n=n[s]):(a===r.length-1?n[o]=t:n[o]={},n=n[o])}return i};var jrt=/^([^\\[\\.]+)\\.(.+)?/,Wrt=/^([^\\.]+)\\[([0-9]+)\\](\\.)?(.+)?/;function R6(e){return e.slice(0,2)===\"__\"}li.expandObjectPaths=function(e){var t,r,n,i,a,o,s;if(typeof e==\"object\"&&!Array.isArray(e)){for(r in e)if(e.hasOwnProperty(r))if(t=r.match(jrt)){if(i=e[r],n=t[1],R6(n))continue;delete e[r],e[n]=li.extendDeepNoArrays(e[n]||{},li.objectFromPath(r,li.expandObjectPaths(i))[n])}else if(t=r.match(Wrt)){if(i=e[r],n=t[1],R6(n))continue;if(a=parseInt(t[2]),delete e[r],e[n]=e[n]||[],t[3]===\".\")s=t[4],o=e[n][a]=e[n][a]||{},li.extendDeepNoArrays(o,li.objectFromPath(s,li.expandObjectPaths(i)));else{if(R6(n))continue;e[n][a]=li.expandObjectPaths(i)}}else{if(R6(r))continue;e[r]=li.expandObjectPaths(e[r])}}return e};li.numSeparate=function(e,t,r){if(r||(r=!1),typeof t!=\"string\"||t.length===0)throw new Error(\"Separator string required for formatting!\");typeof e==\"number\"&&(e=String(e));var n=/(\\d+)(\\d{3})/,i=t.charAt(0),a=t.charAt(1),o=e.split(\".\"),s=o[0],l=o.length>1?i+o[1]:\"\";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,\"$1\"+a+\"$2\");return s+l};li.TEMPLATE_STRING_REGEX=/%{([^\\s%{}:]*)([:|\\|][^}]*)?}/g;var Vie=/^\\w*$/;li.templateString=function(e,t){var r={};return e.replace(li.TEMPLATE_STRING_REGEX,function(n,i){var a;return Vie.test(i)?a=t[i]:(r[i]=r[i]||li.nestedProperty(t,i).get,a=r[i](!0)),a!==void 0?a:\"\"})};var Zrt={max:10,count:0,name:\"hovertemplate\"};li.hovertemplateString=function(){return Xq.apply(Zrt,arguments)};var Xrt={max:10,count:0,name:\"texttemplate\"};li.texttemplateString=function(){return Xq.apply(Xrt,arguments)};var Yrt=/^(\\S+)([\\*\\/])(-?\\d+(\\.\\d+)?)$/;function Krt(e){var t=e.match(Yrt);return t?{key:t[1],op:t[2],number:Number(t[3])}:{key:e,op:null,number:null}}var Jrt={max:10,count:0,name:\"texttemplate\",parseMultDiv:!0};li.texttemplateStringForShapes=function(){return Xq.apply(Jrt,arguments)};var Rie=/^[:|\\|]/;function Xq(e,t,r){var n=this,i=arguments;return t||(t={}),e.replace(li.TEMPLATE_STRING_REGEX,function(a,o,s){var l=o===\"xother\"||o===\"yother\",u=o===\"_xother\"||o===\"_yother\",c=o===\"_xother_\"||o===\"_yother_\",f=o===\"xother_\"||o===\"yother_\",h=l||u||f||c,d=o;(u||c)&&(d=d.substring(1)),(f||c)&&(d=d.substring(0,d.length-1));var v=null,x=null;if(n.parseMultDiv){var b=Krt(d);d=b.key,v=b.op,x=b.number}var p;if(h){if(p=t[d],p===void 0)return\"\"}else{var E,k;for(k=3;k<i.length;k++)if(E=i[k],!!E){if(E.hasOwnProperty(d)){p=E[d];break}if(Vie.test(d)||(p=li.nestedProperty(E,d).get(!0)),p!==void 0)break}}if(p!==void 0&&(v===\"*\"&&(p*=x),v===\"/\"&&(p/=x)),p===void 0&&n)return n.count<n.max&&(li.warn(\"Variable '\"+d+\"' in \"+n.name+\" could not be found!\"),p=a),n.count===n.max&&li.warn(\"Too many \"+n.name+\" warnings - additional warnings will be suppressed\"),n.count++,a;if(s){var A;if(s[0]===\":\"&&(A=r?r.numberFormat:li.numberFormat,p!==\"\"&&(p=A(s.replace(Rie,\"\"))(p))),s[0]===\"|\"){A=r?r.timeFormat:Ort;var L=li.dateTime2ms(p);p=li.formatDate(L,s.replace(Rie,\"\"),!1,A)}}else{var _=d+\"Label\";t.hasOwnProperty(_)&&(p=t[_])}return h&&(p=\"(\"+p+\")\",(u||c)&&(p=\" \"+p),(f||c)&&(p=p+\" \")),p})}var D6=48,Die=57;li.subplotSort=function(e,t){for(var r=Math.min(e.length,t.length)+1,n=0,i=0,a=0;a<r;a++){var o=e.charCodeAt(a)||0,s=t.charCodeAt(a)||0,l=o>=D6&&o<=Die,u=s>=D6&&s<=Die;if(l&&(n=10*n+o-D6),u&&(i=10*i+s-D6),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var h3=2e9;li.seedPseudoRandom=function(){h3=2e9};li.pseudoRandom=function(){var e=h3;return h3=(69069*h3+1)%4294967296,Math.abs(h3-e)<429496729?li.pseudoRandom():h3/4294967296};li.fillText=function(e,t,r){var n=Array.isArray(r)?function(o){r.push(o)}:function(o){r.text=o},i=li.extractOption(e,t,\"htx\",\"hovertext\");if(li.isValidTextValue(i))return n(i);var a=li.extractOption(e,t,\"tx\",\"text\");if(li.isValidTextValue(a))return n(a)};li.isValidTextValue=function(e){return e||e===0};li.formatPercent=function(e,t){t=t||0;for(var r=(Math.round(100*e*Math.pow(10,t))*Math.pow(.1,t)).toFixed(t)+\"%\",n=0;n<t;n++)r.indexOf(\".\")!==-1&&(r=r.replace(\"0%\",\"%\"),r=r.replace(\".%\",\"%\"));return r};li.isHidden=function(e){var t=window.getComputedStyle(e).display;return!t||t===\"none\"};li.strTranslate=function(e,t){return e||t?\"translate(\"+e+\",\"+t+\")\":\"\"};li.strRotate=function(e){return e?\"rotate(\"+e+\")\":\"\"};li.strScale=function(e){return e!==1?\"scale(\"+e+\")\":\"\"};li.getTextTransform=function(e){var t=e.noCenter,r=e.textX,n=e.textY,i=e.targetX,a=e.targetY,o=e.anchorX||0,s=e.anchorY||0,l=e.rotate,u=e.scale;return u?u>1&&(u=1):u=0,li.strTranslate(i-u*(r+o),a-u*(n+s))+li.strScale(u)+(l?\"rotate(\"+l+(t?\"\":\" \"+r+\" \"+n)+\")\":\"\")};li.setTransormAndDisplay=function(e,t){e.attr(\"transform\",li.getTextTransform(t)),e.style(\"display\",t.scale?null:\"none\")};li.ensureUniformFontSize=function(e,t){var r=li.extendFlat({},t);return r.size=Math.max(t.size,e._fullLayout.uniformtext.minsize||0),r};li.join2=function(e,t,r){var n=e.length;return n>1?e.slice(0,-1).join(t)+r+e[n-1]:e.join(t)};li.bigFont=function(e){return Math.round(1.2*e)};var zie=li.getFirefoxVersion(),$rt=zie!==null&&zie<86;li.getPositionFromD3Event=function(){return $rt?[VS.event.layerX,VS.event.layerY]:[VS.event.offsetX,VS.event.offsetY]}});var Wie=ye(()=>{\"use strict\";var Qrt=Mr(),Gie={\"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 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(Yq in Gie)jie=Yq.replace(/^,/,\" ,\").replace(/X/g,\".js-plotly-plot .plotly\").replace(/Y/g,\".plotly-notifier\"),Qrt.addStyleRule(jie,Gie[Yq]);var jie,Yq});var Kq=ye((ktr,Zie)=>{Zie.exports=!0});var $q=ye((Ctr,Xie)=>{\"use strict\";var eit=Kq(),Jq;typeof window.matchMedia==\"function\"?Jq=!window.matchMedia(\"(hover: none)\").matches:Jq=eit;Xie.exports=Jq});var vb=ye((Ltr,Qq)=>{\"use strict\";var p3=typeof Reflect==\"object\"?Reflect:null,Yie=p3&&typeof p3.apply==\"function\"?p3.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},F6;p3&&typeof p3.ownKeys==\"function\"?F6=p3.ownKeys:Object.getOwnPropertySymbols?F6=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:F6=function(t){return Object.getOwnPropertyNames(t)};function tit(e){console&&console.warn&&console.warn(e)}var Jie=Number.isNaN||function(t){return t!==t};function Tc(){Tc.init.call(this)}Qq.exports=Tc;Qq.exports.once=ait;Tc.EventEmitter=Tc;Tc.prototype._events=void 0;Tc.prototype._eventsCount=0;Tc.prototype._maxListeners=void 0;var Kie=10;function q6(e){if(typeof e!=\"function\")throw new TypeError('The \"listener\" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(Tc,\"defaultMaxListeners\",{enumerable:!0,get:function(){return Kie},set:function(e){if(typeof e!=\"number\"||e<0||Jie(e))throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received '+e+\".\");Kie=e}});Tc.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};Tc.prototype.setMaxListeners=function(t){if(typeof t!=\"number\"||t<0||Jie(t))throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received '+t+\".\");return this._maxListeners=t,this};function $ie(e){return e._maxListeners===void 0?Tc.defaultMaxListeners:e._maxListeners}Tc.prototype.getMaxListeners=function(){return $ie(this)};Tc.prototype.emit=function(t){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=t===\"error\",a=this._events;if(a!==void 0)i=i&&a.error===void 0;else if(!i)return!1;if(i){var o;if(r.length>0&&(o=r[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(l===void 0)return!1;if(typeof l==\"function\")Yie(l,this,r);else for(var u=l.length,c=ine(l,u),n=0;n<u;++n)Yie(c[n],this,r);return!0};function Qie(e,t,r,n){var i,a,o;if(q6(r),a=e._events,a===void 0?(a=e._events=Object.create(null),e._eventsCount=0):(a.newListener!==void 0&&(e.emit(\"newListener\",t,r.listener?r.listener:r),a=e._events),o=a[t]),o===void 0)o=a[t]=r,++e._eventsCount;else if(typeof o==\"function\"?o=a[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),i=$ie(e),i>0&&o.length>i&&!o.warned){o.warned=!0;var s=new Error(\"Possible EventEmitter memory leak detected. \"+o.length+\" \"+String(t)+\" listeners added. Use emitter.setMaxListeners() to increase limit\");s.name=\"MaxListenersExceededWarning\",s.emitter=e,s.type=t,s.count=o.length,tit(s)}return e}Tc.prototype.addListener=function(t,r){return Qie(this,t,r,!1)};Tc.prototype.on=Tc.prototype.addListener;Tc.prototype.prependListener=function(t,r){return Qie(this,t,r,!0)};function rit(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function ene(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=rit.bind(n);return i.listener=r,n.wrapFn=i,i}Tc.prototype.once=function(t,r){return q6(r),this.on(t,ene(this,t,r)),this};Tc.prototype.prependOnceListener=function(t,r){return q6(r),this.prependListener(t,ene(this,t,r)),this};Tc.prototype.removeListener=function(t,r){var n,i,a,o,s;if(q6(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit(\"removeListener\",t,n.listener||r));else if(typeof n!=\"function\"){for(a=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){s=n[o].listener,a=o;break}if(a<0)return this;a===0?n.shift():iit(n,a),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit(\"removeListener\",t,s||r)}return this};Tc.prototype.off=Tc.prototype.removeListener;Tc.prototype.removeAllListeners=function(t){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var a=Object.keys(n),o;for(i=0;i<a.length;++i)o=a[i],o!==\"removeListener\"&&this.removeAllListeners(o);return this.removeAllListeners(\"removeListener\"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[t],typeof r==\"function\")this.removeListener(t,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(t,r[i]);return this};function tne(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i==\"function\"?r?[i.listener||i]:[i]:r?nit(i):ine(i,i.length)}Tc.prototype.listeners=function(t){return tne(this,t,!0)};Tc.prototype.rawListeners=function(t){return tne(this,t,!1)};Tc.listenerCount=function(e,t){return typeof e.listenerCount==\"function\"?e.listenerCount(t):rne.call(e,t)};Tc.prototype.listenerCount=rne;function rne(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r==\"function\")return 1;if(r!==void 0)return r.length}return 0}Tc.prototype.eventNames=function(){return this._eventsCount>0?F6(this._events):[]};function ine(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function iit(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function nit(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function ait(e,t){return new Promise(function(r,n){function i(o){e.removeListener(t,a),n(o)}function a(){typeof e.removeListener==\"function\"&&e.removeListener(\"error\",i),r([].slice.call(arguments))}nne(e,t,a,{once:!0}),t!==\"error\"&&oit(e,i,{once:!0})})}function oit(e,t,r){typeof e.on==\"function\"&&nne(e,\"error\",t,r)}function nne(e,t,r,n){if(typeof e.on==\"function\")n.once?e.once(t,r):e.on(t,r);else if(typeof e.addEventListener==\"function\")e.addEventListener(t,function i(a){n.once&&e.removeEventListener(t,i),r(a)});else throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type '+typeof e)}});var g3=ye((Ptr,ane)=>{\"use strict\";var eO=vb().EventEmitter,sit={init:function(e){if(e._ev instanceof eO)return e;var t=new eO,r=new eO;return e._ev=t,e._internalEv=r,e.on=t.on.bind(t),e.once=t.once.bind(t),e.removeListener=t.removeListener.bind(t),e.removeAllListeners=t.removeAllListeners.bind(t),e._internalOn=r.on.bind(r),e._internalOnce=r.once.bind(r),e._removeInternalListener=r.removeListener.bind(r),e._removeAllInternalListeners=r.removeAllListeners.bind(r),e.emit=function(n,i){t.emit(n,i),r.emit(n,i)},e},triggerHandler:function(e,t,r){var n,i=e._ev;if(!i)return;var a=i._events[t];if(!a)return;function o(l){if(l.listener){if(i.removeListener(t,l.listener),!l.fired)return l.fired=!0,l.listener.apply(i,[r])}else return l.apply(i,[r])}a=Array.isArray(a)?a:[a];var s;for(s=0;s<a.length-1;s++)o(a[s]);return n=o(a[s]),n},purge:function(e){return delete e._ev,delete e.on,delete e.once,delete e.removeListener,delete e.removeAllListeners,delete e.emit,delete e._ev,delete e._internalEv,delete e._internalOn,delete e._internalOnce,delete e._removeInternalListener,delete e._removeAllInternalListeners,e}};ane.exports=sit});var lne=ye((Itr,sne)=>{\"use strict\";var one=Mr(),lit=ub().dfltConfig;function uit(e,t){for(var r=[],n,i=0;i<t.length;i++)n=t[i],n===e?r[i]=n:typeof n==\"object\"?r[i]=Array.isArray(n)?one.extendDeep([],n):one.extendDeepAll({},n):r[i]=n;return r}var wy={};wy.add=function(e,t,r,n,i){var a,o;if(e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},o=e.undoQueue.index,e.autoplay){e.undoQueue.inSequence||(e.autoplay=!1);return}!e.undoQueue.sequence||e.undoQueue.beginSequence?(a={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},e.undoQueue.queue.splice(o,e.undoQueue.queue.length-o,a),e.undoQueue.index+=1):a=e.undoQueue.queue[o-1],e.undoQueue.beginSequence=!1,a&&(a.undo.calls.unshift(t),a.undo.args.unshift(r),a.redo.calls.push(n),a.redo.args.push(i)),e.undoQueue.queue.length>lit.queueLength&&(e.undoQueue.queue.shift(),e.undoQueue.index--)};wy.startSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!0,e.undoQueue.beginSequence=!0};wy.stopSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!1,e.undoQueue.beginSequence=!1};wy.undo=function(t){var r,n;if(!(t.undoQueue===void 0||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,n=0;n<r.undo.calls.length;n++)wy.plotDo(t,r.undo.calls[n],r.undo.args[n]);t.undoQueue.inSequence=!1,t.autoplay=!1}};wy.redo=function(t){var r,n;if(!(t.undoQueue===void 0||isNaN(t.undoQueue.index)||t.undoQueue.index>=t.undoQueue.queue.length)){for(r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,n=0;n<r.redo.calls.length;n++)wy.plotDo(t,r.redo.calls[n],r.redo.args[n]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}};wy.plotDo=function(e,t,r){e.autoplay=!0,r=uit(e,r),t.apply(null,r)};sne.exports=wy});var tO=ye((Rtr,une)=>{\"use strict\";une.exports={_isLinkedToArray:\"frames_entry\",group:{valType:\"string\"},name:{valType:\"string\"},traces:{valType:\"any\"},baseframe:{valType:\"string\"},data:{valType:\"any\"},layout:{valType:\"any\"}}});var _3=ye(Bh=>{\"use strict\";var x0=ba(),HS=Mr(),B6=vl(),rO=s3(),cit=tO(),fit=zS(),hit=ub().configAttributes,cne=Bu(),xg=HS.extendDeepAll,m3=HS.isPlainObject,dit=HS.isArrayOrTypedArray,N6=HS.nestedProperty,vit=HS.valObjectMeta,iO=\"_isSubplotObj\",U6=\"_isLinkedToArray\",pit=\"_arrayAttrRegexps\",hne=\"_deprecated\",nO=[iO,U6,pit,hne];Bh.IS_SUBPLOT_OBJ=iO;Bh.IS_LINKED_TO_ARRAY=U6;Bh.DEPRECATED=hne;Bh.UNDERSCORE_ATTRS=nO;Bh.get=function(){var e={};return x0.allTypes.forEach(function(t){e[t]=mit(t)}),{defs:{valObjects:vit,metaKeys:nO.concat([\"description\",\"role\",\"editType\",\"impliedEdits\"]),editType:{traces:cne.traces,layout:cne.layout},impliedEdits:{}},traces:e,layout:yit(),frames:_it(),animation:y3(fit),config:y3(hit)}};Bh.crawl=function(e,t,r,n){var i=r||0;n=n||\"\",Object.keys(e).forEach(function(a){var o=e[a];if(nO.indexOf(a)===-1){var s=(n?n+\".\":\"\")+a;t(o,a,e,i,s),!Bh.isValObject(o)&&m3(o)&&a!==\"impliedEdits\"&&Bh.crawl(o,t,i+1,s)}})};Bh.isValObject=function(e){return e&&e.valType!==void 0};Bh.findArrayAttributes=function(e){var t=[],r=[],n=[],i,a;function o(l,u,c,f){r=r.slice(0,f).concat([u]),n=n.slice(0,f).concat([l&&l._isLinkedToArray]);var h=l&&(l.valType===\"data_array\"||l.arrayOk===!0)&&!(r[f-1]===\"colorbar\"&&(u===\"ticktext\"||u===\"tickvals\"));h&&s(i,0,\"\")}function s(l,u,c){var f=l[r[u]],h=c+r[u];if(u===r.length-1)dit(f)&&t.push(a+h);else if(n[u]){if(Array.isArray(f))for(var d=0;d<f.length;d++)m3(f[d])&&s(f[d],u+1,h+\"[\"+d+\"].\")}else m3(f)&&s(f,u+1,h+\".\")}return i=e,a=\"\",Bh.crawl(B6,o),e._module&&e._module.attributes&&Bh.crawl(e._module.attributes,o),t};Bh.getTraceValObject=function(e,t){var r=t[0],n=1,i,a,o=e._module;if(o||(o=(x0.modules[e.type||B6.type.dflt]||{})._module),!o)return!1;if(i=o.attributes,a=i&&i[r],!a){var s=o.basePlotModule;s&&s.attributes&&(a=s.attributes[r])}return a||(a=B6[r]),dne(a,t,n)};Bh.getLayoutValObject=function(e,t){var r=git(e,t[0]);return dne(r,t,1)};function git(e,t){var r,n,i,a,o=e._basePlotModules;if(o){var s;for(r=0;r<o.length;r++){if(i=o[r],i.attrRegex&&i.attrRegex.test(t)){if(i.layoutAttrOverrides)return i.layoutAttrOverrides;!s&&i.layoutAttributes&&(s=i.layoutAttributes)}var l=i.baseLayoutAttrOverrides;if(l&&t in l)return l[t]}if(s)return s}var u=e._modules;if(u){for(r=0;r<u.length;r++)if(a=u[r].layoutAttributes,a&&t in a)return a[t]}for(n in x0.componentsRegistry){if(i=x0.componentsRegistry[n],i.name===\"colorscale\"&&t.indexOf(\"coloraxis\")===0)return i.layoutAttributes[t];if(!i.schema&&t===i.name)return i.layoutAttributes}return t in rO?rO[t]:!1}function dne(e,t,r){if(!e)return!1;if(e._isLinkedToArray){if(O6(t[r]))r++;else if(r<t.length)return!1}for(;r<t.length;r++){var n=e[t[r]];if(m3(n))e=n;else break;if(r===t.length-1)break;if(e._isLinkedToArray){if(r++,!O6(t[r]))return!1}else if(e.valType===\"info_array\"){r++;var i=t[r];if(!O6(i))return!1;var a=e.items;if(Array.isArray(a)){if(i>=a.length)return!1;if(e.dimensions===2){if(r++,t.length===r)return e;var o=t[r];if(!O6(o))return!1;e=a[i][o]}else e=a[i]}else e=a}}return e}function O6(e){return e===Math.round(e)&&e>=0}function mit(e){var t,r;t=x0.modules[e]._module,r=t.basePlotModule;var n={};n.type=null;var i=xg({},B6),a=xg({},t.attributes);Bh.crawl(a,function(l,u,c,f,h){N6(i,h).set(void 0),l===void 0&&N6(a,h).set(void 0)}),xg(n,i),x0.traceIs(e,\"noOpacity\")&&delete n.opacity,x0.traceIs(e,\"showLegend\")||(delete n.showlegend,delete n.legendgroup),x0.traceIs(e,\"noHover\")&&(delete n.hoverinfo,delete n.hoverlabel),t.selectPoints||delete n.selectedpoints,xg(n,a),r.attributes&&xg(n,r.attributes),n.type=e;var o={meta:t.meta||{},categories:t.categories||{},animatable:!!t.animatable,type:e,attributes:y3(n)};if(t.layoutAttributes){var s={};xg(s,t.layoutAttributes),o.layoutAttributes=y3(s)}return t.animatable||Bh.crawl(o,function(l){Bh.isValObject(l)&&\"anim\"in l&&delete l.anim}),o}function yit(){var e={},t,r;xg(e,rO);for(t in x0.subplotsRegistry)if(r=x0.subplotsRegistry[t],!!r.layoutAttributes)if(Array.isArray(r.attr))for(var n=0;n<r.attr.length;n++)fne(e,r,r.attr[n]);else{var i=r.attr===\"subplot\"?r.name:r.attr;fne(e,r,i)}for(t in x0.componentsRegistry){r=x0.componentsRegistry[t];var a=r.schema;if(a&&(a.subplots||a.layout)){var o=a.subplots;if(o&&o.xaxis&&!o.yaxis)for(var s in o.xaxis)delete e.yaxis[s];delete e.xaxis.shift,delete e.xaxis.autoshift}else r.name===\"colorscale\"?xg(e,r.layoutAttributes):r.layoutAttributes&&Tit(e,r.layoutAttributes,r.name)}return{layoutAttributes:y3(e)}}function _it(){var e={frames:xg({},cit)};return y3(e),e.frames}function y3(e){return xit(e),bit(e),wit(e),e}function xit(e){function t(n){return{valType:\"string\",editType:\"none\"}}function r(n,i,a){Bh.isValObject(n)?(n.arrayOk===!0||n.valType===\"data_array\")&&(a[i+\"src\"]=t(i)):m3(n)&&(n.role=\"object\")}Bh.crawl(e,r)}function bit(e){function t(r,n,i){if(r){var a=r[U6];a&&(delete r[U6],i[n]={items:{}},i[n].items[a]=r,i[n].role=\"object\")}}Bh.crawl(e,t)}function wit(e){function t(r){for(var n in r)if(m3(r[n]))t(r[n]);else if(Array.isArray(r[n]))for(var i=0;i<r[n].length;i++)t(r[n][i]);else r[n]instanceof RegExp&&(r[n]=r[n].toString())}t(e)}function fne(e,t,r){var n=N6(e,r),i=xg({},t.layoutAttributes);i[iO]=!0,n.set(i)}function Tit(e,t,r){var n=N6(e,r);n.set(xg(n.get()||{},t))}});var Vs=ye(pb=>{\"use strict\";var x3=Mr(),Ait=vl(),Q1=\"templateitemname\",aO={name:{valType:\"string\",editType:\"none\"}};aO[Q1]={valType:\"string\",editType:\"calc\"};pb.templatedArray=function(e,t){return t._isLinkedToArray=e,t.name=aO.name,t[Q1]=aO[Q1],t};pb.traceTemplater=function(e){var t={},r,n;for(r in e)n=e[r],Array.isArray(n)&&n.length&&(t[r]=0);function i(a){r=x3.coerce(a,{},Ait,\"type\");var o={type:r,_template:null};if(r in t){n=e[r];var s=t[r]%n.length;t[r]++,o._template=n[s]}return o}return{newTrace:i}};pb.newContainer=function(e,t,r){var n=e._template,i=n&&(n[t]||r&&n[r]);x3.isPlainObject(i)||(i=null);var a=e[t]={_template:i};return a};pb.arrayTemplater=function(e,t,r){var n=e._template,i=n&&n[pne(t)],a=n&&n[t];(!Array.isArray(a)||!a.length)&&(a=[]);var o={};function s(u){var c={name:u.name,_input:u},f=c[Q1]=u[Q1];if(!vne(f))return c._template=i,c;for(var h=0;h<a.length;h++){var d=a[h];if(d.name===f)return o[f]=1,c._template=d,c}return c[r]=u[r]||!1,c._template=!1,c}function l(){for(var u=[],c=0;c<a.length;c++){var f=a[c],h=f.name;if(vne(h)&&!o[h]){var d={_template:f,name:h,_input:{_templateitemname:h}};d[Q1]=f[Q1],u.push(d),o[h]=1}}return u}return{newItem:s,defaultItems:l}};function vne(e){return e&&typeof e==\"string\"}function pne(e){var t=e.length-1;return e.charAt(t)!==\"s\"&&x3.warn(\"bad argument to arrayDefaultKey: \"+e),e.substr(0,e.length-1)+\"defaults\"}pb.arrayDefaultKey=pne;pb.arrayEditor=function(e,t,r){var n=(x3.nestedProperty(e,t).get()||[]).length,i=r._index,a=i>=n&&(r._input||{})._templateitemname;a&&(i=n);var o=t+\"[\"+i+\"]\",s;function l(){s={},a&&(s[o]={},s[o][Q1]=a)}l();function u(d,v){s[d]=v}function c(d,v){a?x3.nestedProperty(s[o],d).set(v):s[o+\".\"+d]=v}function f(){var d=s;return l(),d}function h(d,v){d&&c(d,v);var x=f();for(var b in x)x3.nestedProperty(e,b).set(x[b])}return{modifyBase:u,modifyItem:c,getUpdateObj:f,applyUpdate:h}}});var ad=ye((Ftr,gne)=>{\"use strict\";var GS=n3().counter;gne.exports={idRegex:{x:GS(\"x\",\"( domain)?\"),y:GS(\"y\",\"( domain)?\")},attrRegex:GS(\"[xy]axis\"),xAxisMatch:GS(\"xaxis\"),yAxisMatch:GS(\"yaxis\"),AX_ID_PATTERN:/^[xyz][0-9]*( domain)?$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,HOUR_PATTERN:\"hour\",WEEKDAY_PATTERN:\"day of week\",MINDRAG:8,MINZOOM:20,DRAGGERSIZE:20,REDRAWDELAY:50,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:[\"imagelayer\",\"heatmaplayer\",\"contourcarpetlayer\",\"contourlayer\",\"funnellayer\",\"waterfalllayer\",\"barlayer\",\"carpetlayer\",\"violinlayer\",\"boxlayer\",\"ohlclayer\",\"scattercarpetlayer\",\"scatterlayer\"],clipOnAxisFalseQuery:[\".scatterlayer\",\".barlayer\",\".funnellayer\",\".waterfalllayer\"],layerValue2layerClass:{\"above traces\":\"above\",\"below traces\":\"below\"},zindexSeparator:\"z\"}});var af=ye(Tp=>{\"use strict\";var Sit=ba(),oO=ad();Tp.id2name=function(t){if(!(typeof t!=\"string\"||!t.match(oO.AX_ID_PATTERN))){var r=t.split(\" \")[0].substr(1);return r===\"1\"&&(r=\"\"),t.charAt(0)+\"axis\"+r}};Tp.name2id=function(t){if(t.match(oO.AX_NAME_PATTERN)){var r=t.substr(5);return r===\"1\"&&(r=\"\"),t.charAt(0)+r}};Tp.cleanId=function(t,r,n){var i=/( domain)$/.test(t);if(!(typeof t!=\"string\"||!t.match(oO.AX_ID_PATTERN))&&!(r&&t.charAt(0)!==r)&&!(i&&!n)){var a=t.split(\" \")[0].substr(1).replace(/^0+/,\"\");return a===\"1\"&&(a=\"\"),t.charAt(0)+a+(i&&n?\" domain\":\"\")}};Tp.list=function(e,t,r){var n=e._fullLayout;if(!n)return[];var i=Tp.listIds(e,t),a=new Array(i.length),o;for(o=0;o<i.length;o++){var s=i[o];a[o]=n[s.charAt(0)+\"axis\"+s.substr(1)]}if(!r){var l=n._subplots.gl3d||[];for(o=0;o<l.length;o++){var u=n[l[o]];t?a.push(u[t+\"axis\"]):a.push(u.xaxis,u.yaxis,u.zaxis)}}return a};Tp.listIds=function(e,t){var r=e._fullLayout;if(!r)return[];var n=r._subplots;return t?n[t+\"axis\"]:n.xaxis.concat(n.yaxis)};Tp.getFromId=function(e,t,r){var n=e._fullLayout;return t=t===void 0||typeof t!=\"string\"?t:t.replace(\" domain\",\"\"),r===\"x\"?t=t.replace(/y[0-9]*/,\"\"):r===\"y\"&&(t=t.replace(/x[0-9]*/,\"\")),n[Tp.id2name(t)]};Tp.getFromTrace=function(e,t,r){var n=e._fullLayout,i=null;if(Sit.traceIs(t,\"gl3d\")){var a=t.scene;a.substr(0,5)===\"scene\"&&(i=n[a][r+\"axis\"])}else i=Tp.getFromId(e,t[r+\"axis\"]||r);return i};Tp.idSort=function(e,t){var r=e.charAt(0),n=t.charAt(0);return r!==n?r>n?1:-1:+(e.substr(1)||1)-+(t.substr(1)||1)};Tp.ref2id=function(e){return/^[xyz]/.test(e)?e.split(\" \")[0]:!1};function mne(e,t){if(t&&t.length){for(var r=0;r<t.length;r++)if(t[r][e])return!0}return!1}Tp.isLinked=function(e,t){return mne(t,e._axisMatchGroups)||mne(t,e._axisConstraintGroups)}});var e_=ye((Otr,yne)=>{\"use strict\";function Mit(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(\".outline-controllers\").remove()}function Eit(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(\".select-outline\").remove(),e._fullLayout._outlining=!1}yne.exports={clearOutlineControllers:Mit,clearOutline:Eit}});var V6=ye((Btr,_ne)=>{\"use strict\";_ne.exports={scattermode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\",editType:\"calc\"},scattergap:{valType:\"number\",min:0,max:1,editType:\"calc\"}}});var kd=ye(G6=>{\"use strict\";var H6=ba(),Ntr=ad().SUBPLOT_PATTERN;G6.getSubplotCalcData=function(e,t,r){var n=H6.subplotsRegistry[t];if(!n)return[];for(var i=n.attr,a=[],o=0;o<e.length;o++){var s=e[o],l=s[0].trace;l[i]===r&&a.push(s)}return a};G6.getModuleCalcData=function(e,t,r){var n=[],i=[],a;if(typeof t==\"string\"?a=H6.getModule(t).plot:typeof t==\"function\"?a=t:a=t.plot,!a)return[n,e];for(var o=r,s=0;s<e.length;s++){var l=e[s],u=l[0].trace,c=u.zorder!==void 0;u.visible!==!0||u._length===0||(u._module&&u._module.plot===a&&(!c||u.zorder===o)?n.push(l):i.push(l))}return[n,i]};G6.getSubplotData=function(t,r,n){if(!H6.subplotsRegistry[r])return[];for(var i=H6.subplotsRegistry[r].attr,a=[],o,s,l,u=0;u<t.length;u++)o=t[u],o[i]===n&&a.push(o);return a}});var Tne=ye(gb=>{\"use strict\";var kit=ba(),b3=Mr();gb.manageCommandObserver=function(e,t,r,n){var i={},a=!0;t&&t._commandObserver&&(i=t._commandObserver),i.cache||(i.cache={}),i.lookupTable={};var o=gb.hasSimpleAPICommandBindings(e,r,i.lookupTable);if(t&&t._commandObserver){if(o)return i;if(t._commandObserver.remove)return t._commandObserver.remove(),t._commandObserver=null,i}if(o){xne(e,o,i.cache),i.check=function(){if(a){var c=xne(e,o,i.cache);return c.changed&&n&&i.lookupTable[c.value]!==void 0&&(i.disable(),Promise.resolve(n({value:c.value,type:o.type,prop:o.prop,traces:o.traces,index:i.lookupTable[c.value]})).then(i.enable,i.enable)),c.changed}};for(var s=[\"plotly_relayout\",\"plotly_redraw\",\"plotly_restyle\",\"plotly_update\",\"plotly_animatingframe\",\"plotly_afterplot\"],l=0;l<s.length;l++)e._internalOn(s[l],i.check);i.remove=function(){for(var u=0;u<s.length;u++)e._removeInternalListener(s[u],i.check)}}else b3.log(\"Unable to automatically bind plot updates to API command\"),i.lookupTable={},i.remove=function(){};return i.disable=function(){a=!1},i.enable=function(){a=!0},t&&(t._commandObserver=i),i};gb.hasSimpleAPICommandBindings=function(e,t,r){var n,i=t.length,a;for(n=0;n<i;n++){var o,s=t[n],l=s.method,u=s.args;if(Array.isArray(u)||(u=[]),!l)return!1;var c=gb.computeAPICommandBindings(e,l,u);if(c.length!==1)return!1;if(!a)a=c[0],Array.isArray(a.traces)&&a.traces.sort();else{if(o=c[0],o.type!==a.type||o.prop!==a.prop)return!1;if(Array.isArray(a.traces))if(Array.isArray(o.traces)){o.traces.sort();for(var f=0;f<a.traces.length;f++)if(a.traces[f]!==o.traces[f])return!1}else return!1;else if(o.prop!==a.prop)return!1}o=c[0];var h=o.value;if(Array.isArray(h))if(h.length===1)h=h[0];else return!1;r&&(r[h]=n)}return a};function xne(e,t,r){var n,i,a,o=!1;if(t.type===\"data\")n=e._fullData[t.traces!==null?t.traces[0]:0];else if(t.type===\"layout\")n=e._fullLayout;else return!1;return i=b3.nestedProperty(n,t.prop).get(),a=r[t.type]=r[t.type]||{},a.hasOwnProperty(t.prop)&&a[t.prop]!==i&&(o=!0),a[t.prop]=i,{changed:o,value:i}}gb.executeAPICommand=function(e,t,r){if(t===\"skip\")return Promise.resolve();var n=kit.apiMethodRegistry[t],i=[e];Array.isArray(r)||(r=[]);for(var a=0;a<r.length;a++)i.push(r[a]);return n.apply(null,i).catch(function(o){return b3.warn(\"API call to Plotly.\"+t+\" rejected.\",o),Promise.reject(o)})};gb.computeAPICommandBindings=function(e,t,r){var n;switch(Array.isArray(r)||(r=[]),t){case\"restyle\":n=wne(e,r);break;case\"relayout\":n=bne(e,r);break;case\"update\":n=wne(e,[r[0],r[2]]).concat(bne(e,[r[1]]));break;case\"animate\":n=Cit(e,r);break;default:n=[]}return n};function Cit(e,t){return Array.isArray(t[0])&&t[0].length===1&&[\"string\",\"number\"].indexOf(typeof t[0][0])!==-1?[{type:\"layout\",prop:\"_currentFrame\",value:t[0][0].toString()}]:[]}function bne(e,t){var r=[],n=t[0],i={};if(typeof n==\"string\")i[n]=t[1];else if(b3.isPlainObject(n))i=n;else return r;return sO(i,function(a,o,s){r.push({type:\"layout\",prop:a,value:s})},\"\",0),r}function wne(e,t){var r,n,i,a,o=[];if(n=t[0],i=t[1],r=t[2],a={},typeof n==\"string\")a[n]=i;else if(b3.isPlainObject(n))a=n,r===void 0&&(r=i);else return o;return r===void 0&&(r=null),sO(a,function(s,l,u){var c,f;if(Array.isArray(u)){f=u.slice();var h=Math.min(f.length,e.data.length);r&&(h=Math.min(h,r.length)),c=[];for(var d=0;d<h;d++)c[d]=r?r[d]:d}else f=u,c=r?r.slice():null;if(c===null)Array.isArray(f)&&(f=f[0]);else if(Array.isArray(c)){if(!Array.isArray(f)){var v=f;f=[];for(var x=0;x<c.length;x++)f[x]=v}f.length=Math.min(c.length,f.length)}o.push({type:\"data\",prop:s,traces:c,value:f})},\"\",0),o}function sO(e,t,r,n){Object.keys(e).forEach(function(i){var a=e[i];if(i[0]!==\"_\"){var o=r+(n>0?\".\":\"\")+i;b3.isPlainObject(a)?sO(a,t,o,n+1):t(o,i,a)}})}});var Xu=ye((Htr,qne)=>{\"use strict\";var Lne=xa(),Lit=e3().timeFormatLocale,Pit=vq().formatLocale,jS=uo(),Iit=pq(),bl=ba(),Pne=_3(),Rit=Vs(),Ca=Mr(),Ine=va(),Ane=es().BADNUM,Ap=af(),Dit=e_().clearOutline,zit=V6(),lO=zS(),Fit=tO(),qit=kd().getModuleCalcData,Sne=Ca.relinkPrivateKeys,mb=Ca._,ha=qne.exports={};Ca.extendFlat(ha,bl);ha.attributes=vl();ha.attributes.type.values=ha.allTypes;ha.fontAttrs=Su();ha.layoutAttributes=s3();var W6=Tne();ha.executeAPICommand=W6.executeAPICommand;ha.computeAPICommandBindings=W6.computeAPICommandBindings;ha.manageCommandObserver=W6.manageCommandObserver;ha.hasSimpleAPICommandBindings=W6.hasSimpleAPICommandBindings;ha.redrawText=function(e){return e=Ca.getGraphDiv(e),new Promise(function(t){setTimeout(function(){e._fullLayout&&(bl.getComponentMethod(\"annotations\",\"draw\")(e),bl.getComponentMethod(\"legend\",\"draw\")(e),bl.getComponentMethod(\"colorbar\",\"draw\")(e),t(ha.previousPromises(e)))},300)})};ha.resize=function(e){e=Ca.getGraphDiv(e);var t,r=new Promise(function(n,i){(!e||Ca.isHidden(e))&&i(new Error(\"Resize must be passed a displayed plot div element.\")),e._redrawTimer&&clearTimeout(e._redrawTimer),e._resolveResize&&(t=e._resolveResize),e._resolveResize=n,e._redrawTimer=setTimeout(function(){if(!e.layout||e.layout.width&&e.layout.height||Ca.isHidden(e)){n(e);return}delete e.layout.width,delete e.layout.height;var a=e.changed;e.autoplay=!0,bl.call(\"relayout\",e,{autosize:!0}).then(function(){e.changed=a,e._resolveResize===n&&(delete e._resolveResize,n(e))})},100)});return t&&t(r),r};ha.previousPromises=function(e){if((e._promises||[]).length)return Promise.all(e._promises).then(function(){e._promises=[]})};ha.addLinks=function(e){if(!(!e._context.showLink&&!e._context.showSources)){var t=e._fullLayout,r=Ca.ensureSingle(t._paper,\"text\",\"js-plot-link-container\",function(l){l.style({\"font-family\":'\"Open Sans\", Arial, sans-serif',\"font-size\":\"12px\",fill:Ine.defaultLine,\"pointer-events\":\"all\"}).each(function(){var u=Lne.select(this);u.append(\"tspan\").classed(\"js-link-to-tool\",!0),u.append(\"tspan\").classed(\"js-link-spacer\",!0),u.append(\"tspan\").classed(\"js-sourcelinks\",!0)})}),n=r.node(),i={y:t._paper.attr(\"height\")-9};document.body.contains(n)&&n.getComputedTextLength()>=t.width-20?(i[\"text-anchor\"]=\"start\",i.x=5):(i[\"text-anchor\"]=\"end\",i.x=t._paper.attr(\"width\")-7),r.attr(i);var a=r.select(\".js-link-to-tool\"),o=r.select(\".js-link-spacer\"),s=r.select(\".js-sourcelinks\");e._context.showSources&&e._context.showSources(e),e._context.showLink&&Oit(e,a),o.text(a.text()&&s.text()?\" - \":\"\")}};function Oit(e,t){t.text(\"\");var r=t.append(\"a\").attr({\"xlink:xlink:href\":\"#\",class:\"link--impt link--embedview\",\"font-weight\":\"bold\"}).text(e._context.linkText+\" \\xBB\");if(e._context.sendData)r.on(\"click\",function(){ha.sendDataToCloud(e)});else{var n=window.location.pathname.split(\"/\"),i=window.location.search;r.attr({\"xlink:xlink:show\":\"new\",\"xlink:xlink:href\":\"/\"+n[2].split(\".\")[0]+\"/\"+n[1]+i})}}ha.sendDataToCloud=function(e){var t=(window.PLOTLYENV||{}).BASE_URL||e._context.plotlyServerURL;if(t){e.emit(\"plotly_beforeexport\");var r=Lne.select(e).append(\"div\").attr(\"id\",\"hiddenform\").style(\"display\",\"none\"),n=r.append(\"form\").attr({action:t+\"/external\",method:\"post\",target:\"_blank\"}),i=n.append(\"input\").attr({type:\"text\",name:\"data\"});return i.node().value=ha.graphJson(e,!1,\"keepdata\"),n.node().submit(),r.remove(),e.emit(\"plotly_afterexport\"),!1}};var Bit=[\"days\",\"shortDays\",\"months\",\"shortMonths\",\"periods\",\"dateTime\",\"date\",\"time\",\"decimal\",\"thousands\",\"grouping\",\"currency\"],Nit=[\"year\",\"month\",\"dayMonth\",\"dayMonthYear\"];ha.supplyDefaults=function(e,t){var r=t&&t.skipUpdateCalc,n=e._fullLayout||{};if(n._skipDefaults){delete n._skipDefaults;return}var i=e._fullLayout={},a=e.layout||{},o=e._fullData||[],s=e._fullData=[],l=e.data||[],u=e.calcdata||[],c=e._context||{},f;e._transitionData||ha.createTransitionData(e),i._dfltTitle={plot:mb(e,\"Click to enter Plot title\"),subtitle:mb(e,\"Click to enter Plot subtitle\"),x:mb(e,\"Click to enter X axis title\"),y:mb(e,\"Click to enter Y axis title\"),colorbar:mb(e,\"Click to enter Colorscale title\"),annotation:mb(e,\"new text\")},i._traceWord=mb(e,\"trace\");var h=Mne(e,Bit);if(i._mapboxAccessToken=c.mapboxAccessToken,n._initialAutoSizeIsDone){var d=n.width,v=n.height;ha.supplyLayoutGlobalDefaults(a,i,h),a.width||(i.width=d),a.height||(i.height=v),ha.sanitizeMargins(i)}else{ha.supplyLayoutGlobalDefaults(a,i,h);var x=!a.width||!a.height,b=i.autosize,p=c.autosizable,E=x&&(b||p);E?ha.plotAutoSize(e,a,i):x&&ha.sanitizeMargins(i),!b&&x&&(a.width=i.width,a.height=i.height)}i._d3locale=Hit(h,i.separators),i._extraFormat=Mne(e,Nit),i._initialAutoSizeIsDone=!0,i._dataLength=l.length,i._modules=[],i._visibleModules=[],i._basePlotModules=[];var k=i._subplots=Vit(),A=i._splomAxes={x:{},y:{}},L=i._splomSubplots={};i._splomGridDflt={},i._scatterStackOpts={},i._firstScatter={},i._alignmentOpts={},i._colorAxes={},i._requestRangeslider={},i._traceUids=Uit(o,l),ha.supplyDataDefaults(l,s,a,i);var _=Object.keys(A.x),C=Object.keys(A.y);if(_.length>1&&C.length>1){for(bl.getComponentMethod(\"grid\",\"sizeDefaults\")(a,i),f=0;f<_.length;f++)Ca.pushUnique(k.xaxis,_[f]);for(f=0;f<C.length;f++)Ca.pushUnique(k.yaxis,C[f]);for(var M in L)Ca.pushUnique(k.cartesian,M)}if(i._has=ha._hasPlotType.bind(i),o.length===s.length)for(f=0;f<s.length;f++)Sne(s[f],o[f]);ha.supplyLayoutModuleDefaults(a,i,s,e._transitionData);var g=i._visibleModules,P=[];for(f=0;f<g.length;f++){var T=g[f].crossTraceDefaults;T&&Ca.pushUnique(P,T)}for(f=0;f<P.length;f++)P[f](s,i);i._hasOnlyLargeSploms=i._basePlotModules.length===1&&i._basePlotModules[0].name===\"splom\"&&_.length>15&&C.length>15&&i.shapes.length===0&&i.images.length===0,ha.linkSubplots(s,i,o,n),ha.cleanPlot(s,i,o,n);var F=!!(n._has&&n._has(\"cartesian\")),q=!!(i._has&&i._has(\"cartesian\")),V=F,H=q;V&&!H?n._bgLayer.remove():H&&!V&&(i._shouldCreateBgLayer=!0),n._zoomlayer&&!e._dragging&&Dit({_fullLayout:n}),Git(s,i),Sne(i,n),bl.getComponentMethod(\"colorscale\",\"crossTraceDefaults\")(s,i),i._preGUI||(i._preGUI={}),i._tracePreGUI||(i._tracePreGUI={});var X=i._tracePreGUI,G={},N;for(N in X)G[N]=\"old\";for(f=0;f<s.length;f++)N=s[f]._fullInput.uid,G[N]||(X[N]={}),G[N]=\"new\";for(N in G)G[N]===\"old\"&&delete X[N];Rne(i),bl.getComponentMethod(\"rangeslider\",\"makeData\")(i),!r&&u.length===s.length&&ha.supplyDefaultsUpdateCalc(u,s)};ha.supplyDefaultsUpdateCalc=function(e,t){for(var r=0;r<t.length;r++){var n=t[r],i=(e[r]||[])[0];if(i&&i.trace){var a=i.trace;if(a._hasCalcTransform){var o=a._arrayAttrs,s,l,u;for(s=0;s<o.length;s++)l=o[s],u=Ca.nestedProperty(a,l).get().slice(),Ca.nestedProperty(n,l).set(u)}i.trace=n}}};function Uit(e,t){var r=t.length,n=[],i,a;for(i=0;i<e.length;i++){var o=e[i]._fullInput;o!==a&&n.push(o),a=o}var s=n.length,l=new Array(r),u={};function c(d,v){l[v]=d,u[d]=1}function f(d,v){if(d&&typeof d==\"string\"&&!u[d])return c(d,v),!0}for(i=0;i<r;i++){var h=t[i].uid;typeof h==\"number\"&&(h=String(h)),!f(h,i)&&(i<s&&f(n[i].uid,i)||c(Ca.randstr(u),i))}return l}function Vit(){var e=bl.collectableSubplotTypes,t={},r,n;if(!e){e=[];var i=bl.subplotsRegistry;for(var a in i){var o=i[a],s=o.attr;if(s&&(e.push(a),Array.isArray(s)))for(n=0;n<s.length;n++)Ca.pushUnique(e,s[n])}}for(r=0;r<e.length;r++)t[e[r]]=[];return t}function Mne(e,t){var r=e._context.locale;r||(r=\"en-US\");var n=!1,i={};function a(f){for(var h=!0,d=0;d<t.length;d++){var v=t[d];i[v]||(f[v]?i[v]=f[v]:h=!1)}h&&(n=!0)}for(var o=0;o<2;o++){for(var s=e._context.locales,l=0;l<2;l++){var u=(s[r]||{}).format;if(u&&(a(u),n))break;s=bl.localeRegistry}var c=r.split(\"-\")[0];if(n||c===r)break;r=c}return n||a(bl.localeRegistry.en.format),i}function Hit(e,t){return e.decimal=t.charAt(0),e.thousands=t.charAt(1),{numberFormat:function(r){try{r=Pit(e).format(Ca.adjustFormat(r))}catch(n){return Ca.warnBadFormat(r),Ca.noFormat}return r},timeFormat:Lit(e).utcFormat}}function Git(e,t){var r,n=[];t.meta&&(r=t._meta={meta:t.meta,layout:{meta:t.meta}});for(var i=0;i<e.length;i++){var a=e[i];a.meta?n[a.index]=a._meta={meta:a.meta}:t.meta&&(a._meta={meta:t.meta}),t.meta&&(a._meta.layout={meta:t.meta})}n.length&&(r||(r=t._meta={}),r.data=n)}ha.createTransitionData=function(e){e._transitionData||(e._transitionData={}),e._transitionData._frames||(e._transitionData._frames=[]),e._transitionData._frameHash||(e._transitionData._frameHash={}),e._transitionData._counter||(e._transitionData._counter=0),e._transitionData._interruptCallbacks||(e._transitionData._interruptCallbacks=[])};ha._hasPlotType=function(e){var t,r=this._basePlotModules||[];for(t=0;t<r.length;t++)if(r[t].name===e)return!0;var n=this._modules||[];for(t=0;t<n.length;t++){var i=n[t].name;if(i===e)return!0;var a=bl.modules[i];if(a&&a.categories[e])return!0}return!1};ha.cleanPlot=function(e,t,r,n){var i,a,o=n._basePlotModules||[];for(i=0;i<o.length;i++){var s=o[i];s.clean&&s.clean(e,t,r,n)}var l=n._has&&n._has(\"gl\"),u=t._has&&t._has(\"gl\");l&&!u&&n._glcontainer!==void 0&&(n._glcontainer.selectAll(\".gl-canvas\").remove(),n._glcontainer.selectAll(\".no-webgl\").remove(),n._glcanvas=null);var c=!!n._infolayer;e:for(i=0;i<r.length;i++){var f=r[i],h=f.uid;for(a=0;a<e.length;a++){var d=e[a];if(h===d.uid)continue e}c&&n._infolayer.select(\".cb\"+h).remove()}};ha.linkSubplots=function(e,t,r,n){var i,a,o=n._plots||{},s=t._plots={},l=t._subplots,u={_fullData:e,_fullLayout:t},c=l.cartesian||[];for(i=0;i<c.length;i++){var f=c[i],h=o[f],d=Ap.getFromId(u,f,\"x\"),v=Ap.getFromId(u,f,\"y\"),x;for(h?x=s[f]=h:(x=s[f]={},x.id=f),d._counterAxes.push(v._id),v._counterAxes.push(d._id),d._subplotsWith.push(f),v._subplotsWith.push(f),x.xaxis=d,x.yaxis=v,x._hasClipOnAxisFalse=!1,a=0;a<e.length;a++){var b=e[a];if(b.xaxis===x.xaxis._id&&b.yaxis===x.yaxis._id&&b.cliponaxis===!1){x._hasClipOnAxisFalse=!0;break}}}var p=Ap.list(u,null,!0),E;for(i=0;i<p.length;i++){E=p[i];var k=null;E.overlaying&&(k=Ap.getFromId(u,E.overlaying),k&&k.overlaying&&(E.overlaying=!1,k=null)),E._mainAxis=k||E,k&&(E.domain=k.domain.slice()),E._anchorAxis=E.anchor===\"free\"?null:Ap.getFromId(u,E.anchor)}for(i=0;i<p.length;i++)if(E=p[i],E._counterAxes.sort(Ap.idSort),E._subplotsWith.sort(Ca.subplotSort),E._mainSubplot=jit(E,t),E._counterAxes.length&&(E.spikemode&&E.spikemode.indexOf(\"across\")!==-1||E.automargin&&E.mirror&&E.anchor!==\"free\"||bl.getComponentMethod(\"rangeslider\",\"isVisible\")(E))){var A=1,L=0;for(a=0;a<E._counterAxes.length;a++){var _=Ap.getFromId(u,E._counterAxes[a]);A=Math.min(A,_.domain[0]),L=Math.max(L,_.domain[1])}A<L&&(E._counterDomainMin=A,E._counterDomainMax=L)}};function jit(e,t){var r={_fullLayout:t},n=e._id.charAt(0)===\"x\",i=e._mainAxis._anchorAxis,a=\"\",o=\"\",s=\"\";if(i&&(s=i._mainAxis._id,a=n?e._id+s:s+e._id),!a||!t._plots[a]){a=\"\";for(var l=e._counterAxes,u=0;u<l.length;u++){var c=l[u],f=n?e._id+c:c+e._id;o||(o=f);var h=Ap.getFromId(r,c);if(s&&h.overlaying===s){a=f;break}}}return a||o}ha.clearExpandedTraceDefaultColors=function(e){var t,r,n;function i(o,s,l,u){r[u]=s,r.length=u+1,o.valType===\"color\"&&o.dflt===void 0&&t.push(r.join(\".\"))}for(r=[],t=e._module._colorAttrs,t||(e._module._colorAttrs=t=[],Pne.crawl(e._module.attributes,i)),n=0;n<t.length;n++){var a=Ca.nestedProperty(e,\"_input.\"+t[n]);a.get()||Ca.nestedProperty(e,t[n]).set(null)}};ha.supplyDataDefaults=function(e,t,r,n){var i=n._modules,a=n._visibleModules,o=n._basePlotModules,s=0,l=0,u,c,f;n._transformModules=[];function h(E){t.push(E);var k=E._module;k&&(Ca.pushUnique(i,k),E.visible===!0&&Ca.pushUnique(a,k),Ca.pushUnique(o,E._module.basePlotModule),s++,E._input.visible!==!1&&l++)}var d={},v=[],x=(r.template||{}).data||{},b=Rit.traceTemplater(x);for(u=0;u<e.length;u++)f=e[u],c=b.newTrace(f),c.uid=n._traceUids[u],ha.supplyTraceDefaults(f,c,l,n,u),c.index=u,c._input=f,c._fullInput=c,h(c),bl.traceIs(c,\"carpetAxis\")&&(d[c.carpet]=c),bl.traceIs(c,\"carpetDependent\")&&v.push(u);for(u=0;u<v.length;u++)if(c=t[v[u]],!!c.visible){var p=d[c.carpet];if(c._carpet=p,!p||!p.visible){c.visible=!1;continue}c.xaxis=p.xaxis,c.yaxis=p.yaxis}};ha.supplyAnimationDefaults=function(e){e=e||{};var t,r={};function n(i,a){return Ca.coerce(e||{},r,lO,i,a)}if(n(\"mode\"),n(\"direction\"),n(\"fromcurrent\"),Array.isArray(e.frame))for(r.frame=[],t=0;t<e.frame.length;t++)r.frame[t]=ha.supplyAnimationFrameDefaults(e.frame[t]||{});else r.frame=ha.supplyAnimationFrameDefaults(e.frame||{});if(Array.isArray(e.transition))for(r.transition=[],t=0;t<e.transition.length;t++)r.transition[t]=ha.supplyAnimationTransitionDefaults(e.transition[t]||{});else r.transition=ha.supplyAnimationTransitionDefaults(e.transition||{});return r};ha.supplyAnimationFrameDefaults=function(e){var t={};function r(n,i){return Ca.coerce(e||{},t,lO.frame,n,i)}return r(\"duration\"),r(\"redraw\"),t};ha.supplyAnimationTransitionDefaults=function(e){var t={};function r(n,i){return Ca.coerce(e||{},t,lO.transition,n,i)}return r(\"duration\"),r(\"easing\"),t};ha.supplyFrameDefaults=function(e){var t={};function r(n,i){return Ca.coerce(e,t,Fit,n,i)}return r(\"group\"),r(\"name\"),r(\"traces\"),r(\"baseframe\"),r(\"data\"),r(\"layout\"),t};ha.supplyTraceDefaults=function(e,t,r,n,i){var a=n.colorway||Ine.defaults,o=a[r%a.length],s;function l(k,A){return Ca.coerce(e,t,ha.attributes,k,A)}var u=l(\"visible\");l(\"type\"),l(\"name\",n._traceWord+\" \"+i),l(\"uirevision\",n.uirevision);var c=ha.getModule(t);if(t._module=c,c){var f=c.basePlotModule,h=f.attr,d=f.attributes;if(h&&d){var v=n._subplots,x=\"\";if(Array.isArray(h))for(s=0;s<h.length;s++){var b=h[s],p=Ca.coerce(e,t,d,b);v[b]&&Ca.pushUnique(v[b],p),x+=p}else x=Ca.coerce(e,t,d,h);v[f.name]&&Ca.pushUnique(v[f.name],x)}}if(u&&(l(\"customdata\"),l(\"ids\"),l(\"meta\"),bl.traceIs(t,\"showLegend\")?(Ca.coerce(e,t,c.attributes.showlegend?c.attributes:ha.attributes,\"showlegend\"),l(\"legend\"),l(\"legendwidth\"),l(\"legendgroup\"),l(\"legendgrouptitle.text\"),l(\"legendrank\"),t._dfltShowLegend=!0):t._dfltShowLegend=!1,c&&c.supplyDefaults(e,t,o,n),bl.traceIs(t,\"noOpacity\")||l(\"opacity\"),bl.traceIs(t,\"notLegendIsolatable\")&&(t.visible=!!t.visible),bl.traceIs(t,\"noHover\")||(t.hovertemplate||Ca.coerceHoverinfo(e,t,n),t.type!==\"parcats\"&&bl.getComponentMethod(\"fx\",\"supplyDefaults\")(e,t,o,n)),c&&c.selectPoints)){var E=l(\"selectedpoints\");Ca.isTypedArray(E)&&(t.selectedpoints=Array.from(E))}return t};ha.supplyLayoutGlobalDefaults=function(e,t,r){function n(f,h){return Ca.coerce(e,t,ha.layoutAttributes,f,h)}var i=e.template;Ca.isPlainObject(i)&&(t.template=i,t._template=i.layout,t._dataTemplate=i.data),n(\"autotypenumbers\");var a=Ca.coerceFont(n,\"font\"),o=a.size;Ca.coerceFont(n,\"title.font\",a,{overrideDflt:{size:Math.round(o*1.4)}}),n(\"title.text\",t._dfltTitle.plot),n(\"title.xref\");var s=n(\"title.yref\");n(\"title.pad.t\"),n(\"title.pad.r\"),n(\"title.pad.b\"),n(\"title.pad.l\");var l=n(\"title.automargin\");n(\"title.x\"),n(\"title.xanchor\"),n(\"title.y\"),n(\"title.yanchor\"),n(\"title.subtitle.text\",t._dfltTitle.subtitle),Ca.coerceFont(n,\"title.subtitle.font\",a,{overrideDflt:{size:Math.round(t.title.font.size*.7)}}),l&&(s===\"paper\"&&(t.title.y!==0&&(t.title.y=1),t.title.yanchor===\"auto\"&&(t.title.yanchor=t.title.y===0?\"top\":\"bottom\")),s===\"container\"&&(t.title.y===\"auto\"&&(t.title.y=1),t.title.yanchor===\"auto\"&&(t.title.yanchor=t.title.y<.5?\"bottom\":\"top\")));var u=n(\"uniformtext.mode\");u&&n(\"uniformtext.minsize\"),n(\"autosize\",!(e.width&&e.height)),n(\"width\"),n(\"height\"),n(\"minreducedwidth\"),n(\"minreducedheight\"),n(\"margin.l\"),n(\"margin.r\"),n(\"margin.t\"),n(\"margin.b\"),n(\"margin.pad\"),n(\"margin.autoexpand\"),e.width&&e.height&&ha.sanitizeMargins(t),bl.getComponentMethod(\"grid\",\"sizeDefaults\")(e,t),n(\"paper_bgcolor\"),n(\"separators\",r.decimal+r.thousands),n(\"hidesources\"),n(\"colorway\"),n(\"datarevision\");var c=n(\"uirevision\");n(\"editrevision\",c),n(\"selectionrevision\",c),bl.getComponentMethod(\"modebar\",\"supplyLayoutDefaults\")(e,t),bl.getComponentMethod(\"shapes\",\"supplyDrawNewShapeDefaults\")(e,t,n),bl.getComponentMethod(\"selections\",\"supplyDrawNewSelectionDefaults\")(e,t,n),n(\"meta\"),Ca.isPlainObject(e.transition)&&(n(\"transition.duration\"),n(\"transition.easing\"),n(\"transition.ordering\")),bl.getComponentMethod(\"calendars\",\"handleDefaults\")(e,t,\"calendar\"),bl.getComponentMethod(\"fx\",\"supplyLayoutGlobalDefaults\")(e,t,n),Ca.coerce(e,t,zit,\"scattermode\")};function j6(e){return typeof e==\"string\"&&e.substr(e.length-2)===\"px\"&&parseFloat(e)}ha.plotAutoSize=function(t,r,n){var i=t._context||{},a=i.frameMargins,o,s,l=Ca.isPlotDiv(t);if(l&&t.emit(\"plotly_autosize\"),i.fillFrame)o=window.innerWidth,s=window.innerHeight,document.body.style.overflow=\"hidden\";else{var u=l?window.getComputedStyle(t):{};if(o=j6(u.width)||j6(u.maxWidth)||n.width,s=j6(u.height)||j6(u.maxHeight)||n.height,jS(a)&&a>0){var c=1-2*a;o=Math.round(c*o),s=Math.round(c*s)}}var f=ha.layoutAttributes.width.min,h=ha.layoutAttributes.height.min;o<f&&(o=f),s<h&&(s=h);var d=!r.width&&Math.abs(n.width-o)>1,v=!r.height&&Math.abs(n.height-s)>1;(v||d)&&(d&&(n.width=o),v&&(n.height=s)),t._initialAutoSize||(t._initialAutoSize={width:o,height:s}),ha.sanitizeMargins(n)};ha.supplyLayoutModuleDefaults=function(e,t,r,n){var i=bl.componentsRegistry,a=t._basePlotModules,o,s,l,u=bl.subplotsRegistry.cartesian;for(o in i)l=i[o],l.includeBasePlot&&l.includeBasePlot(e,t);a.length||a.push(u),t._has(\"cartesian\")&&(bl.getComponentMethod(\"grid\",\"contentDefaults\")(e,t),u.finalizeSubplots(e,t));for(var c in t._subplots)t._subplots[c].sort(Ca.subplotSort);for(s=0;s<a.length;s++)l=a[s],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r);var f=t._modules;for(s=0;s<f.length;s++)l=f[s],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r);var h=t._transformModules;for(s=0;s<h.length;s++)l=h[s],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r,n);for(o in i)l=i[o],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r)};ha.purge=function(e){var t=e._fullLayout||{};t._glcontainer!==void 0&&(t._glcontainer.selectAll(\".gl-canvas\").remove(),t._glcontainer.remove(),t._glcanvas=null),t._modeBar&&t._modeBar.destroy(),e._transitionData&&(e._transitionData._interruptCallbacks&&(e._transitionData._interruptCallbacks.length=0),e._transitionData._animationRaf&&window.cancelAnimationFrame(e._transitionData._animationRaf)),Ca.clearThrottle(),Ca.clearResponsive(e),delete e.data,delete e.layout,delete e._fullData,delete e._fullLayout,delete e.calcdata,delete e.empty,delete e.fid,delete e.undoqueue,delete e.undonum,delete e.autoplay,delete e.changed,delete e._promises,delete e._redrawTimer,delete e._hmlumcount,delete e._hmpixcount,delete e._transitionData,delete e._transitioning,delete e._initialAutoSize,delete e._transitioningWithDuration,delete e._dragging,delete e._dragged,delete e._dragdata,delete e._hoverdata,delete e._snapshotInProgress,delete e._editing,delete e._mouseDownTime,delete e._legendMouseDownTime,e.removeAllListeners&&e.removeAllListeners()};ha.style=function(e){var t=e._fullLayout._visibleModules,r=[],n;for(n=0;n<t.length;n++){var i=t[n];i.style&&Ca.pushUnique(r,i.style)}for(n=0;n<r.length;n++)r[n](e)};ha.sanitizeMargins=function(e){if(!(!e||!e.margin)){var t=e.width,r=e.height,n=e.margin,i=t-(n.l+n.r),a=r-(n.t+n.b),o;i<0&&(o=(t-1)/(n.l+n.r),n.l=Math.floor(o*n.l),n.r=Math.floor(o*n.r)),a<0&&(o=(r-1)/(n.t+n.b),n.t=Math.floor(o*n.t),n.b=Math.floor(o*n.b))}};ha.clearAutoMarginIds=function(e){e._fullLayout._pushmarginIds={}};ha.allowAutoMargin=function(e,t){e._fullLayout._pushmarginIds[t]=1};function Rne(e){var t=e.margin;if(!e._size){var r=e._size={l:Math.round(t.l),r:Math.round(t.r),t:Math.round(t.t),b:Math.round(t.b),p:Math.round(t.pad)};r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b}e._pushmargin||(e._pushmargin={}),e._pushmarginIds||(e._pushmarginIds={}),e._reservedMargin||(e._reservedMargin={})}var Dne=2,zne=2;ha.autoMargin=function(e,t,r){var n=e._fullLayout,i=n.width,a=n.height,o=n.margin,s=n.minreducedwidth,l=n.minreducedheight,u=Ca.constrain(i-o.l-o.r,Dne,s),c=Ca.constrain(a-o.t-o.b,zne,l),f=Math.max(0,i-u),h=Math.max(0,a-c),d=n._pushmargin,v=n._pushmarginIds;if(o.autoexpand!==!1){if(!r)delete d[t],delete v[t];else{var x=r.pad;if(x===void 0&&(x=Math.min(12,o.l,o.r,o.t,o.b)),f){var b=(r.l+r.r)/f;b>1&&(r.l/=b,r.r/=b)}if(h){var p=(r.t+r.b)/h;p>1&&(r.t/=p,r.b/=p)}var E=r.xl!==void 0?r.xl:r.x,k=r.xr!==void 0?r.xr:r.x,A=r.yt!==void 0?r.yt:r.y,L=r.yb!==void 0?r.yb:r.y;d[t]={l:{val:E,size:r.l+x},r:{val:k,size:r.r+x},b:{val:L,size:r.b+x},t:{val:A,size:r.t+x}},v[t]=1}if(!n._replotting)return ha.doAutoMargin(e)}};function Wit(e){if(\"_redrawFromAutoMarginCount\"in e._fullLayout)return!1;var t=Ap.list(e,\"\",!0);for(var r in t)if(t[r].autoshift||t[r].shift)return!0;return!1}ha.doAutoMargin=function(e){var t=e._fullLayout,r=t.width,n=t.height;t._size||(t._size={}),Rne(t);var i=t._size,a=t.margin,o={t:0,b:0,l:0,r:0},s=Ca.extendFlat({},i),l=a.l,u=a.r,c=a.t,f=a.b,h=t._pushmargin,d=t._pushmarginIds,v=t.minreducedwidth,x=t.minreducedheight;if(a.autoexpand!==!1){for(var b in h)d[b]||delete h[b];var p=e._fullLayout._reservedMargin;for(var E in p)for(var k in p[E]){var A=p[E][k];o[k]=Math.max(o[k],A)}h.base={l:{val:0,size:l},r:{val:1,size:u},t:{val:1,size:c},b:{val:0,size:f}};for(var L in o){var _=0;for(var C in h)C!==\"base\"&&jS(h[C][L].size)&&(_=h[C][L].size>_?h[C][L].size:_);var M=Math.max(0,a[L]-_);o[L]=Math.max(0,o[L]-M)}for(var g in h){var P=h[g].l||{},T=h[g].b||{},F=P.val,q=P.size,V=T.val,H=T.size,X=r-o.r-o.l,G=n-o.t-o.b;for(var N in h){if(jS(q)&&h[N].r){var W=h[N].r.val,re=h[N].r.size;if(W>F){var ae=(q*W+(re-X)*F)/(W-F),_e=(re*(1-F)+(q-X)*(1-W))/(W-F);ae+_e>l+u&&(l=ae,u=_e)}}if(jS(H)&&h[N].t){var Me=h[N].t.val,ke=h[N].t.size;if(Me>V){var ge=(H*Me+(ke-G)*V)/(Me-V),ie=(ke*(1-V)+(H-G)*(1-Me))/(Me-V);ge+ie>f+c&&(f=ge,c=ie)}}}}}var Te=Ca.constrain(r-a.l-a.r,Dne,v),Ee=Ca.constrain(n-a.t-a.b,zne,x),Ae=Math.max(0,r-Te),ze=Math.max(0,n-Ee);if(Ae){var Ce=(l+u)/Ae;Ce>1&&(l/=Ce,u/=Ce)}if(ze){var me=(f+c)/ze;me>1&&(f/=me,c/=me)}if(i.l=Math.round(l)+o.l,i.r=Math.round(u)+o.r,i.t=Math.round(c)+o.t,i.b=Math.round(f)+o.b,i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!t._replotting&&(ha.didMarginChange(s,i)||Wit(e))){\"_redrawFromAutoMarginCount\"in t?t._redrawFromAutoMarginCount++:t._redrawFromAutoMarginCount=1;var Re=3*(1+Object.keys(d).length);if(t._redrawFromAutoMarginCount<Re)return bl.call(\"_doPlot\",e);t._size=s,Ca.warn(\"Too many auto-margin redraws.\")}Zit(e)};function Zit(e){var t=Ap.list(e,\"\",!0);[\"_adjustTickLabelsOverflow\",\"_hideCounterAxisInsideTickLabels\"].forEach(function(r){for(var n=0;n<t.length;n++){var i=t[n][r];i&&i()}})}var Ene=[\"l\",\"r\",\"t\",\"b\",\"p\",\"w\",\"h\"];ha.didMarginChange=function(e,t){for(var r=0;r<Ene.length;r++){var n=Ene[r],i=e[n],a=t[n];if(!jS(i)||Math.abs(a-i)>1)return!0}return!1};ha.graphJson=function(e,t,r,n,i,a){(i&&t&&!e._fullData||i&&!t&&!e._fullLayout)&&ha.supplyDefaults(e);var o=i?e._fullData:e.data,s=i?e._fullLayout:e.layout,l=(e._transitionData||{})._frames;function u(h,d){if(typeof h==\"function\")return d?\"_function_\":null;if(Ca.isPlainObject(h)){var v={},x;return Object.keys(h).sort().forEach(function(k){if([\"_\",\"[\"].indexOf(k.charAt(0))===-1){if(typeof h[k]==\"function\"){d&&(v[k]=\"_function\");return}if(r===\"keepdata\"){if(k.substr(k.length-3)===\"src\")return}else if(r===\"keepstream\"){if(x=h[k+\"src\"],typeof x==\"string\"&&x.indexOf(\":\")>0&&!Ca.isPlainObject(h.stream))return}else if(r!==\"keepall\"&&(x=h[k+\"src\"],typeof x==\"string\"&&x.indexOf(\":\")>0))return;v[k]=u(h[k],d)}}),v}var b=Array.isArray(h),p=Ca.isTypedArray(h);if((b||p)&&h.dtype&&h.shape){var E=h.bdata;return u({dtype:h.dtype,shape:h.shape,bdata:Ca.isArrayBuffer(E)?Iit.encode(E):E},d)}return b?h.map(function(k){return u(k,d)}):p?Ca.simpleMap(h,Ca.identity):Ca.isJSDate(h)?Ca.ms2DateTimeLocal(+h):h}var c={data:(o||[]).map(function(h){var d=u(h);return t&&delete d.fit,d})};if(!t&&(c.layout=u(s),i)){var f=s._size;c.layout.computed={margin:{b:f.b,l:f.l,r:f.r,t:f.t}}}return l&&(c.frames=u(l)),a&&(c.config=u(e._context,!0)),n===\"object\"?c:JSON.stringify(c)};ha.modifyFrames=function(e,t){var r,n,i,a=e._transitionData._frames,o=e._transitionData._frameHash;for(r=0;r<t.length;r++)switch(n=t[r],n.type){case\"replace\":i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&&(delete o[s],o[l]=i);break;case\"insert\":i=n.value,o[i.name]=i,a.splice(n.index,0,i);break;case\"delete\":i=a[n.index],delete o[i.name],a.splice(n.index,1);break}return Promise.resolve()};ha.computeFrame=function(e,t){var r=e._transitionData._frameHash,n,i,a,o;if(!t)throw new Error(\"computeFrame must be given a string frame name\");var s=r[t.toString()];if(!s)return!1;for(var l=[s],u=[s.name];s.baseframe&&(s=r[s.baseframe.toString()])&&u.indexOf(s.name)===-1;)l.push(s),u.push(s.name);for(var c={};s=l.pop();)if(s.layout&&(c.layout=ha.extendLayout(c.layout,s.layout)),s.data){if(c.data||(c.data=[]),i=s.traces,!i)for(i=[],n=0;n<s.data.length;n++)i[n]=n;for(c.traces||(c.traces=[]),n=0;n<s.data.length;n++)a=i[n],a!=null&&(o=c.traces.indexOf(a),o===-1&&(o=c.data.length,c.traces[o]=a),c.data[o]=ha.extendTrace(c.data[o],s.data[n]))}return c};ha.recomputeFrameHash=function(e){for(var t=e._transitionData._frameHash={},r=e._transitionData._frames,n=0;n<r.length;n++){var i=r[n];i&&i.name&&(t[i.name]=i)}};ha.extendObjectWithContainers=function(e,t,r){var n,i,a,o,s,l,u,c,f=Ca.extendDeepNoArrays({},t||{}),h=Ca.expandObjectPaths(f),d={};if(r&&r.length)for(a=0;a<r.length;a++)n=Ca.nestedProperty(h,r[a]),i=n.get(),i===void 0?Ca.nestedProperty(d,r[a]).set(null):(n.set(null),Ca.nestedProperty(d,r[a]).set(i));if(e=Ca.extendDeepNoArrays(e||{},h),r&&r.length){for(a=0;a<r.length;a++)if(s=Ca.nestedProperty(d,r[a]),u=s.get(),!!u){for(l=Ca.nestedProperty(e,r[a]),c=l.get(),Array.isArray(c)||(c=[],l.set(c)),o=0;o<u.length;o++){var v=u[o];v===null?c[o]=null:c[o]=ha.extendObjectWithContainers(c[o],v)}l.set(c)}}return e};ha.dataArrayContainers=[\"transforms\",\"dimensions\"];ha.layoutArrayContainers=bl.layoutArrayContainers;ha.extendTrace=function(e,t){return ha.extendObjectWithContainers(e,t,ha.dataArrayContainers)};ha.extendLayout=function(e,t){return ha.extendObjectWithContainers(e,t,ha.layoutArrayContainers)};ha.transition=function(e,t,r,n,i,a){var o={redraw:i.redraw},s={},l=[];return o.prepareFn=function(){for(var u=Array.isArray(t)?t.length:0,c=n.slice(0,u),f=0;f<c.length;f++){var h=c[f],d=e._fullData[h],v=d._module;if(v){if(v.animatable){var x=v.basePlotModule.name;s[x]||(s[x]=[]),s[x].push(h)}e.data[c[f]]=ha.extendTrace(e.data[c[f]],t[f])}}var b=Ca.expandObjectPaths(Ca.extendDeepNoArrays({},r)),p=/^[xy]axis[0-9]*$/;for(var E in b)p.test(E)&&delete b[E].range;ha.extendLayout(e.layout,b),delete e.calcdata,ha.supplyDefaults(e),ha.doCalcdata(e);var k=Ca.expandObjectPaths(r);if(k){var A=e._fullLayout._plots;for(var L in A){var _=A[L],C=_.xaxis,M=_.yaxis,g=C.range.slice(),P=M.range.slice(),T=null,F=null,q=null,V=null;Array.isArray(k[C._name+\".range\"])?T=k[C._name+\".range\"].slice():Array.isArray((k[C._name]||{}).range)&&(T=k[C._name].range.slice()),Array.isArray(k[M._name+\".range\"])?F=k[M._name+\".range\"].slice():Array.isArray((k[M._name]||{}).range)&&(F=k[M._name].range.slice()),g&&T&&(C.r2l(g[0])!==C.r2l(T[0])||C.r2l(g[1])!==C.r2l(T[1]))&&(q={xr0:g,xr1:T}),P&&F&&(M.r2l(P[0])!==M.r2l(F[0])||M.r2l(P[1])!==M.r2l(F[1]))&&(V={yr0:P,yr1:F}),(q||V)&&l.push(Ca.extendFlat({plotinfo:_},q,V))}}return Promise.resolve()},o.runFn=function(u){var c,f=e._fullLayout._basePlotModules,h=l.length,d;if(r)for(d=0;d<f.length;d++)f[d].transitionAxes&&f[d].transitionAxes(e,l,a,u);h?(c=Ca.extendFlat({},a),c.duration=0,delete s.cartesian):c=a;for(var v in s){var x=s[v],b=e._fullData[x[0]]._module;b.basePlotModule.plot(e,x,c,u)}},Fne(e,a,o)};ha.transitionFromReact=function(e,t,r,n){var i=e._fullLayout,a=i.transition,o={},s=[];return o.prepareFn=function(){var l=i._plots;o.redraw=!1,t.anim===\"some\"&&(o.redraw=!0),r.anim===\"some\"&&(o.redraw=!0);for(var u in l){var c=l[u],f=c.xaxis,h=c.yaxis,d=n[f._name].range.slice(),v=n[h._name].range.slice(),x=f.range.slice(),b=h.range.slice();f.setScale(),h.setScale();var p=null,E=null;(f.r2l(d[0])!==f.r2l(x[0])||f.r2l(d[1])!==f.r2l(x[1]))&&(p={xr0:d,xr1:x}),(h.r2l(v[0])!==h.r2l(b[0])||h.r2l(v[1])!==h.r2l(b[1]))&&(E={yr0:v,yr1:b}),(p||E)&&s.push(Ca.extendFlat({plotinfo:c},p,E))}return Promise.resolve()},o.runFn=function(l){for(var u=e._fullData,c=e._fullLayout,f=c._basePlotModules,h,d,v,x=[],b=0;b<u.length;b++)x.push(b);function p(){if(e._fullLayout)for(var k=0;k<f.length;k++)f[k].transitionAxes&&f[k].transitionAxes(e,s,h,l)}function E(){if(e._fullLayout)for(var k=0;k<f.length;k++)f[k].plot(e,v,d,l)}s.length&&t.anim?a.ordering===\"traces first\"?(h=Ca.extendFlat({},a,{duration:0}),v=x,d=a,setTimeout(p,a.duration),E()):(h=a,v=null,d=Ca.extendFlat({},a,{duration:0}),setTimeout(E,h.duration),p()):s.length?(h=a,p()):t.anim&&(v=x,d=a,E())},Fne(e,a,o)};function Fne(e,t,r){var n=!1;function i(f){var h=Promise.resolve();if(!f)return h;for(;f.length;)h=h.then(f.shift());return h}function a(f){if(f)for(;f.length;)f.shift()}function o(){return e.emit(\"plotly_transitioning\",[]),new Promise(function(f){e._transitioning=!0,t.duration>0&&(e._transitioningWithDuration=!0),e._transitionData._interruptCallbacks.push(function(){n=!0}),r.redraw&&e._transitionData._interruptCallbacks.push(function(){return bl.call(\"redraw\",e)}),e._transitionData._interruptCallbacks.push(function(){e.emit(\"plotly_transitioninterrupted\",[])});var h=0,d=0;function v(){return h++,function(){d++,!n&&d===h&&s(f)}}r.runFn(v),setTimeout(v())})}function s(f){if(e._transitionData)return a(e._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(r.redraw)return bl.call(\"redraw\",e)}).then(function(){e._transitioning=!1,e._transitioningWithDuration=!1,e.emit(\"plotly_transitioned\",[])}).then(f)}function l(){if(e._transitionData)return e._transitioning=!1,i(e._transitionData._interruptCallbacks)}var u=[ha.previousPromises,l,r.prepareFn,ha.rehover,ha.reselect,o],c=Ca.syncOrAsync(u,e);return(!c||!c.then)&&(c=Promise.resolve()),c.then(function(){return e})}ha.doCalcdata=function(e,t){var r=Ap.list(e),n=e._fullData,i=e._fullLayout,a,o,s,l,u=new Array(n.length),c=(e.calcdata||[]).slice();for(e.calcdata=u,i._numBoxes=0,i._numViolins=0,i._violinScaleGroupStats={},e._hmpixcount=0,e._hmlumcount=0,i._piecolormap={},i._sunburstcolormap={},i._treemapcolormap={},i._iciclecolormap={},i._funnelareacolormap={},s=0;s<n.length;s++)if(Array.isArray(t)&&t.indexOf(s)===-1){u[s]=c[s];continue}for(s=0;s<n.length;s++)a=n[s],a._arrayAttrs=Pne.findArrayAttributes(a),a._extremes={};var f=i._subplots.polar||[];for(s=0;s<f.length;s++)r.push(i[f[s]].radialaxis,i[f[s]].angularaxis);for(var h in i._colorAxes){var d=i[h];d.cauto!==!1&&(delete d.cmin,delete d.cmax)}var v=!1;function x(E){if(a=n[E],o=a._module,a.visible===!0&&a.transforms){if(o&&o.calc){var k=o.calc(e,a);k[0]&&k[0].t&&k[0].t._scene&&delete k[0].t._scene.dirty}for(l=0;l<a.transforms.length;l++){var A=a.transforms[l];o=transformsRegistry[A.type],o&&o.calcTransform&&(a._hasCalcTransform=!0,v=!0,o.calcTransform(e,a,A))}}}function b(E,k){if(a=n[E],o=a._module,!!o.isContainer===k){var A=[];if(a.visible===!0&&a._length!==0){delete a._indexToPoints;var L=a.transforms||[];for(l=L.length-1;l>=0;l--)if(L[l].enabled){a._indexToPoints=L[l]._indexToPoints;break}o&&o.calc&&(A=o.calc(e,a))}(!Array.isArray(A)||!A[0])&&(A=[{x:Ane,y:Ane}]),A[0].t||(A[0].t={}),A[0].trace=a,u[E]=A}}for(kne(r,n,i),s=0;s<n.length;s++)b(s,!0);for(s=0;s<n.length;s++)x(s);for(v&&kne(r,n,i),s=0;s<n.length;s++)b(s,!0);for(s=0;s<n.length;s++)b(s,!1);Cne(e);var p=Yit(r,e);if(p.length){for(i._numBoxes=0,i._numViolins=0,s=0;s<p.length;s++)b(p[s],!0);for(s=0;s<p.length;s++)b(p[s],!1);Cne(e)}bl.getComponentMethod(\"fx\",\"calc\")(e),bl.getComponentMethod(\"errorbars\",\"calc\")(e)};var Xit=/(total|sum|min|max|mean|geometric mean|median) (ascending|descending)/;function Yit(e,t){var r=[],n,i,a,o,s;function l(N,W,re){var ae=W._id.charAt(0);if(N===\"histogram2dcontour\"){var _e=W._counterAxes[0],Me=Ap.getFromId(t,_e),ke=ae===\"x\"||_e===\"x\"&&Me.type===\"category\",ge=ae===\"y\"||_e===\"y\"&&Me.type===\"category\";return function(ie,Te){return ie===0||Te===0||ke&&ie===re[Te].length-1||ge&&Te===re.length-1?-1:(ae===\"y\"?Te:ie)-1}}else return function(ie,Te){return ae===\"y\"?Te:ie}}var u={min:function(N){return Ca.aggNums(Math.min,null,N)},max:function(N){return Ca.aggNums(Math.max,null,N)},sum:function(N){return Ca.aggNums(function(W,re){return W+re},null,N)},total:function(N){return Ca.aggNums(function(W,re){return W+re},null,N)},mean:function(N){return Ca.mean(N)},\"geometric mean\":function(N){return Ca.geometricMean(N)},median:function(N){return Ca.median(N)}};function c(N,W){return N[1]-W[1]}function f(N,W){return W[1]-N[1]}for(n=0;n<e.length;n++){var h=e[n];if(h.type===\"category\"){var d=h.categoryorder.match(Xit);if(d){var v=d[1],x=d[2],b=h._id.charAt(0),p=b===\"x\",E=[];for(i=0;i<h._categories.length;i++)E.push([h._categories[i],[]]);for(i=0;i<h._traceIndices.length;i++){var k=h._traceIndices[i],A=t._fullData[k];if(A.visible===!0){var L=A.type;bl.traceIs(A,\"histogram\")&&(delete A._xautoBinFinished,delete A._yautoBinFinished);var _=L===\"splom\",C=L===\"scattergl\",M=t.calcdata[k];for(a=0;a<M.length;a++){var g=M[a],P,T;if(_){var F=A._axesDim[h._id];if(!p){var q=A._diag[F][0];q&&(h=t._fullLayout[Ap.id2name(q)])}var V=g.trace.dimensions[F].values;for(o=0;o<V.length;o++)for(P=h._categoriesMap[V[o]],s=0;s<g.trace.dimensions.length;s++)if(s!==F){var H=g.trace.dimensions[s];E[P][1].push(H.values[o])}}else if(C){for(o=0;o<g.t.x.length;o++)p?(P=g.t.x[o],T=g.t.y[o]):(P=g.t.y[o],T=g.t.x[o]),E[P][1].push(T);g.t&&g.t._scene&&delete g.t._scene.dirty}else if(g.hasOwnProperty(\"z\")){T=g.z;var X=l(A.type,h,T);for(o=0;o<T.length;o++)for(s=0;s<T[o].length;s++)P=X(s,o),P+1&&E[P][1].push(T[o][s])}else for(P=g.p,P===void 0&&(P=g[b]),T=g.s,T===void 0&&(T=g.v),T===void 0&&(T=p?g.y:g.x),Array.isArray(T)||(T===void 0?T=[]:T=[T]),o=0;o<T.length;o++)E[P][1].push(T[o])}}}h._categoriesValue=E;var G=[];for(i=0;i<E.length;i++)G.push([E[i][0],u[v](E[i][1])]);G.sort(x===\"descending\"?f:c),h._categoriesAggregatedValue=G,h._initialCategories=G.map(function(N){return N[0]}),r=r.concat(h.sortByInitialCategories())}}}return r}function kne(e,t,r){var n={};function i(l){l.clearCalc(),l.type===\"multicategory\"&&l.setupMultiCategory(t),n[l._id]=1}Ca.simpleMap(e,i);for(var a=r._axisMatchGroups||[],o=0;o<a.length;o++)for(var s in a[o])n[s]||i(r[Ap.id2name(s)])}function Cne(e){var t=e._fullLayout,r=t._visibleModules,n={},i,a,o;for(a=0;a<r.length;a++){var s=r[a],l=s.crossTraceCalc;if(l){var u=s.basePlotModule.name;n[u]?Ca.pushUnique(n[u],l):n[u]=[l]}}for(o in n){var c=n[o],f=t._subplots[o];if(Array.isArray(f))for(i=0;i<f.length;i++){var h=f[i],d=o===\"cartesian\"?t._plots[h]:t[h];for(a=0;a<c.length;a++)c[a](e,d,h)}else for(a=0;a<c.length;a++)c[a](e)}}ha.rehover=function(e){e._fullLayout._rehover&&e._fullLayout._rehover()};ha.redrag=function(e){e._fullLayout._redrag&&e._fullLayout._redrag()};ha.reselect=function(e){var t=e._fullLayout,r=(e.layout||{}).selections,n=t._previousSelections;t._previousSelections=r;var i=t._reselect||JSON.stringify(r)!==JSON.stringify(n);bl.getComponentMethod(\"selections\",\"reselect\")(e,i)};ha.generalUpdatePerTraceModule=function(e,t,r,n){var i=t.traceHash,a={},o;for(o=0;o<r.length;o++){var s=r[o],l=s[0].trace;l.visible&&(a[l.type]=a[l.type]||[],a[l.type].push(s))}for(var u in i)if(!a[u]){var c=i[u][0],f=c[0].trace;f.visible=!1,a[u]=[c]}for(var h in a){var d=a[h],v=d[0][0].trace._module;v.plot(e,t,Ca.filterVisible(d),n)}t.traceHash=a};ha.plotBasePlot=function(e,t,r,n,i){var a=bl.getModule(e),o=qit(t.calcdata,a)[0];a.plot(t,o,n,i)};ha.cleanBasePlot=function(e,t,r,n,i){var a=i._has&&i._has(e),o=r._has&&r._has(e);a&&!o&&i[\"_\"+e+\"layer\"].selectAll(\"g.trace\").remove()}});var Zp=ye(yb=>{\"use strict\";yb.xmlns=\"http://www.w3.org/2000/xmlns/\";yb.svg=\"http://www.w3.org/2000/svg\";yb.xlink=\"http://www.w3.org/1999/xlink\";yb.svgAttrs={xmlns:yb.svg,\"xmlns:xlink\":yb.xlink}});var Nh=ye((jtr,One)=>{\"use strict\";One.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\"}}});var Pl=ye(b0=>{\"use strict\";var vh=xa(),Ty=Mr(),Kit=Ty.strTranslate,uO=Zp(),Jit=Nh().LINE_SPACING,$it=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;b0.convertToTspans=function(e,t,r){var n=e.text(),i=!e.attr(\"data-notex\")&&t&&t._context.typesetMath&&typeof MathJax!=\"undefined\"&&n.match($it),a=vh.select(e.node().parentNode);if(a.empty())return;var o=e.attr(\"class\")?e.attr(\"class\").split(\" \")[0]:\"text\";o+=\"-math\",a.selectAll(\"svg.\"+o).remove(),a.selectAll(\"g.\"+o+\"-group\").remove(),e.style(\"display\",null).attr({\"data-unformatted\":n,\"data-math\":\"N\"});function s(){a.empty()||(o=e.attr(\"class\")+\"-math\",a.select(\"svg.\"+o).remove()),e.text(\"\").style(\"white-space\",\"pre\");var l=fnt(e.node(),n);l&&e.style(\"pointer-events\",\"all\"),b0.positionText(e),r&&r.call(e)}return i?(t&&t._promises||[]).push(new Promise(function(l){e.style(\"display\",\"none\");var u=parseInt(e.node().style.fontSize,10),c={fontSize:u};rnt(i[2],c,function(f,h,d){a.selectAll(\"svg.\"+o).remove(),a.selectAll(\"g.\"+o+\"-group\").remove();var v=f&&f.select(\"svg\");if(!v||!v.node()){s(),l();return}var x=a.append(\"g\").classed(o+\"-group\",!0).attr({\"pointer-events\":\"none\",\"data-unformatted\":n,\"data-math\":\"Y\"});x.node().appendChild(v.node()),h&&h.node()&&v.node().insertBefore(h.node().cloneNode(!0),v.node().firstChild);var b=d.width,p=d.height;v.attr({class:o,height:p,preserveAspectRatio:\"xMinYMin meet\"}).style({overflow:\"visible\",\"pointer-events\":\"none\"});var E=e.node().style.fill||\"black\",k=v.select(\"g\");k.attr({fill:E,stroke:E});var A=k.node().getBoundingClientRect(),L=A.width,_=A.height;(L>b||_>p)&&(v.style(\"overflow\",\"hidden\"),A=v.node().getBoundingClientRect(),L=A.width,_=A.height);var C=+e.attr(\"x\"),M=+e.attr(\"y\"),g=u||e.node().getBoundingClientRect().height,P=-g/4;if(o[0]===\"y\")x.attr({transform:\"rotate(\"+[-90,C,M]+\")\"+Kit(-L/2,P-_/2)});else if(o[0]===\"l\")M=P-_/2;else if(o[0]===\"a\"&&o.indexOf(\"atitle\")!==0)C=0,M=P;else{var T=e.attr(\"text-anchor\");C=C-L*(T===\"middle\"?.5:T===\"end\"?1:0),M=M+P-_/2}v.attr({x:C,y:M}),r&&r.call(e,x),l(x)})})):s(),e};var Qit=/(<|<|<)/g,ent=/(>|>|>)/g;function tnt(e){return e.replace(Qit,\"\\\\lt \").replace(ent,\"\\\\gt \")}var Bne=[[\"$\",\"$\"],[\"\\\\(\",\"\\\\)\"]];function rnt(e,t,r){var n=parseInt((MathJax.version||\"\").split(\".\")[0]);if(n!==2&&n!==3){Ty.warn(\"No MathJax version:\",MathJax.version);return}var i,a,o,s,l=function(){return a=Ty.extendDeepAll({},MathJax.Hub.config),o=MathJax.Hub.processSectionDelay,MathJax.Hub.processSectionDelay!==void 0&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:\"none\",tex2jax:{inlineMath:Bne},displayAlign:\"left\"})},u=function(){a=Ty.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=Bne},c=function(){if(i=MathJax.Hub.config.menuSettings.renderer,i!==\"SVG\")return MathJax.Hub.setRenderer(\"SVG\")},f=function(){i=MathJax.config.startup.output,i!==\"svg\"&&(MathJax.config.startup.output=\"svg\")},h=function(){var E=\"math-output-\"+Ty.randstr({},64);s=vh.select(\"body\").append(\"div\").attr({id:E}).style({visibility:\"hidden\",position:\"absolute\",\"font-size\":t.fontSize+\"px\"}).text(tnt(e));var k=s.node();return n===2?MathJax.Hub.Typeset(k):MathJax.typeset([k])},d=function(){var E=s.select(n===2?\".MathJax_SVG\":\".MathJax\"),k=!E.empty()&&s.select(\"svg\").node();if(!k)Ty.log(\"There was an error in the tex syntax.\",e),r();else{var A=k.getBoundingClientRect(),L;n===2?L=vh.select(\"body\").select(\"#MathJax_SVG_glyphs\"):L=E.select(\"defs\"),r(E,L,A)}s.remove()},v=function(){if(i!==\"SVG\")return MathJax.Hub.setRenderer(i)},x=function(){i!==\"svg\"&&(MathJax.config.startup.output=i)},b=function(){return o!==void 0&&(MathJax.Hub.processSectionDelay=o),MathJax.Hub.Config(a)},p=function(){MathJax.config=a};n===2?MathJax.Hub.Queue(l,c,h,d,v,b):n===3&&(u(),f(),MathJax.startup.defaultReady(),MathJax.startup.promise.then(function(){h(),d(),x(),p()}))}var Hne={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\"},int={sub:\"0.3em\",sup:\"-0.6em\"},nnt={sub:\"-0.21em\",sup:\"0.42em\"},Nne=\"\\u200B\",Une=[\"http:\",\"https:\",\"mailto:\",\"\",void 0,\":\"],Gne=b0.NEWLINES=/(\\r\\n?|\\n)/g,fO=/(<[^<>]*>)/,hO=/<(\\/?)([^ >]*)(\\s+(.*))?>/i,ant=/<br(\\s+.*)?>/i;b0.BR_TAG_ALL=/<br(\\s+.*)?>/gi;var jne=/(^|[\\s\"'])style\\s*=\\s*(\"([^\"]*);?\"|'([^']*);?')/i,Wne=/(^|[\\s\"'])href\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/i,Zne=/(^|[\\s\"'])target\\s*=\\s*(\"([^\"\\s]*)\"|'([^'\\s]*)')/i,ont=/(^|[\\s\"'])popup\\s*=\\s*(\"([\\w=,]*)\"|'([\\w=,]*)')/i;function _b(e,t){if(!e)return null;var r=e.match(t),n=r&&(r[3]||r[4]);return n&&Z6(n)}var snt=/(^|;)\\s*color:/;b0.plainText=function(e,t){t=t||{};for(var r=t.len!==void 0&&t.len!==-1?t.len:1/0,n=t.allowedTags!==void 0?t.allowedTags:[\"br\"],i=\"...\",a=i.length,o=e.split(fO),s=[],l=\"\",u=0,c=0;c<o.length;c++){var f=o[c],h=f.match(hO),d=h&&h[2].toLowerCase();if(d)n.indexOf(d)!==-1&&(s.push(f),l=d);else{var v=f.length;if(u+v<r)s.push(f),u+=v;else if(u<r){var x=r-u;l&&(l!==\"br\"||x<=a||v<=a)&&s.pop(),r>a?s.push(f.substr(0,x-a)+i):s.push(f.substr(0,x));break}l=\"\"}}return s.join(\"\")};var lnt={mu:\"\\u03BC\",amp:\"&\",lt:\"<\",gt:\">\",nbsp:\"\\xA0\",times:\"\\xD7\",plusmn:\"\\xB1\",deg:\"\\xB0\"},unt=/&(#\\d+|#x[\\da-fA-F]+|[a-z]+);/g;function Z6(e){return e.replace(unt,function(t,r){var n;return r.charAt(0)===\"#\"?n=cnt(r.charAt(1)===\"x\"?parseInt(r.substr(2),16):parseInt(r.substr(1),10)):n=lnt[r],n||t})}b0.convertEntities=Z6;function cnt(e){if(!(e>1114111)){var t=String.fromCodePoint;if(t)return t(e);var r=String.fromCharCode;return e<=65535?r(e):r((e>>10)+55232,e%1024+56320)}}function fnt(e,t){t=t.replace(Gne,\" \");var r=!1,n=[],i,a=-1;function o(){a++;var _=document.createElementNS(uO.svg,\"tspan\");vh.select(_).attr({class:\"line\",dy:a*Jit+\"em\"}),e.appendChild(_),i=_;var C=n;if(n=[{node:_}],C.length>1)for(var M=1;M<C.length;M++)s(C[M])}function s(_){var C=_.type,M={},g;if(C===\"a\"){g=\"a\";var P=_.target,T=_.href,F=_.popup;T&&(M={\"xlink:xlink:show\":P===\"_blank\"||P.charAt(0)!==\"_\"?\"new\":\"replace\",target:P,\"xlink:xlink:href\":T},F&&(M.onclick='window.open(this.href.baseVal,this.target.baseVal,\"'+F+'\");return false;'))}else g=\"tspan\";_.style&&(M.style=_.style);var q=document.createElementNS(uO.svg,g);if(C===\"sup\"||C===\"sub\"){l(i,Nne),i.appendChild(q);var V=document.createElementNS(uO.svg,\"tspan\");l(V,Nne),vh.select(V).attr(\"dy\",nnt[C]),M.dy=int[C],i.appendChild(q),i.appendChild(V)}else i.appendChild(q);vh.select(q).attr(M),i=_.node=q,n.push(_)}function l(_,C){_.appendChild(document.createTextNode(C))}function u(_){if(n.length===1){Ty.log(\"Ignoring unexpected end tag </\"+_+\">.\",t);return}var C=n.pop();_!==C.type&&Ty.log(\"Start tag <\"+C.type+\"> doesnt match end tag <\"+_+\">. Pretending it did match.\",t),i=n[n.length-1].node}var c=ant.test(t);c?o():(i=e,n=[{node:e}]);for(var f=t.split(fO),h=0;h<f.length;h++){var d=f[h],v=d.match(hO),x=v&&v[2].toLowerCase(),b=Hne[x];if(x===\"br\")o();else if(b===void 0)l(i,Z6(d));else if(v[1])u(x);else{var p=v[4],E={type:x},k=_b(p,jne);if(k?(k=k.replace(snt,\"$1 fill:\"),b&&(k+=\";\"+b)):b&&(k=b),k&&(E.style=k),x===\"a\"){r=!0;var A=_b(p,Wne);if(A){var L=Xne(A);L&&(E.href=L,E.target=_b(p,Zne)||\"_blank\",E.popup=_b(p,ont))}}s(E)}}return r}function Xne(e){var t=encodeURI(decodeURI(e)),r=document.createElement(\"a\"),n=document.createElement(\"a\");r.href=e,n.href=t;var i=r.protocol,a=n.protocol;return Une.indexOf(i)!==-1&&Une.indexOf(a)!==-1?t:\"\"}b0.sanitizeHTML=function(t){t=t.replace(Gne,\" \");for(var r=document.createElement(\"p\"),n=r,i=[],a=t.split(fO),o=0;o<a.length;o++){var s=a[o],l=s.match(hO),u=l&&l[2].toLowerCase();if(u in Hne)if(l[1])i.length&&(n=i.pop());else{var c=l[4],f=_b(c,jne),h=f?{style:f}:{};if(u===\"a\"){var d=_b(c,Wne);if(d){var v=Xne(d);if(v){h.href=v;var x=_b(c,Zne);x&&(h.target=x)}}}var b=document.createElement(u);n.appendChild(b),vh.select(b).attr(h),n=b,i.push(b)}else n.appendChild(document.createTextNode(Z6(s)))}var p=\"innerHTML\";return r[p]};b0.lineCount=function(t){return t.selectAll(\"tspan.line\").size()||1};b0.positionText=function(t,r,n){return t.each(function(){var i=vh.select(this);function a(l,u){return u===void 0?(u=i.attr(l),u===null&&(i.attr(l,0),u=0)):i.attr(l,u),u}var o=a(\"x\",r),s=a(\"y\",n);this.nodeName===\"text\"&&i.selectAll(\"tspan.line\").attr({x:o,y:s})})};function Vne(e,t,r){var n=r.horizontalAlign,i=r.verticalAlign||\"top\",a=e.node().getBoundingClientRect(),o=t.node().getBoundingClientRect(),s,l,u;return i===\"bottom\"?l=function(){return a.bottom-s.height}:i===\"middle\"?l=function(){return a.top+(a.height-s.height)/2}:l=function(){return a.top},n===\"right\"?u=function(){return a.right-s.width}:n===\"center\"?u=function(){return a.left+(a.width-s.width)/2}:u=function(){return a.left},function(){s=this.node().getBoundingClientRect();var c=u()-o.left,f=l()-o.top,h=r.gd||{};if(r.gd){h._fullLayout._calcInverseTransform(h);var d=Ty.apply3DTransform(h._fullLayout._invTransform)(c,f);c=d[0],f=d[1]}return this.style({top:f+\"px\",left:c+\"px\",\"z-index\":1e3}),this}}var cO=\"1px \";b0.makeTextShadow=function(e){var t=cO,r=cO,n=cO;return t+r+n+e+\", -\"+t+\"-\"+r+n+e+\", \"+t+\"-\"+r+n+e+\", -\"+t+r+n+e};b0.makeEditable=function(e,t){var r=t.gd,n=t.delegate,i=vh.dispatch(\"edit\",\"input\",\"cancel\"),a=n||e;if(e.style({\"pointer-events\":n?\"none\":\"all\"}),e.size()!==1)throw new Error(\"boo\");function o(){l(),e.style({opacity:0});var u=a.attr(\"class\"),c;u?c=\".\"+u.split(\" \")[0]+\"-math-group\":c=\"[class*=-math-group]\",c&&vh.select(e.node().parentNode).select(c).style({opacity:0})}function s(u){var c=u.node(),f=document.createRange();f.selectNodeContents(c);var h=window.getSelection();h.removeAllRanges(),h.addRange(f),c.focus()}function l(){var u=vh.select(r),c=u.select(\".svg-container\"),f=c.append(\"div\"),h=e.node().style,d=parseFloat(h.fontSize||12),v=t.text;v===void 0&&(v=e.attr(\"data-unformatted\")),f.classed(\"plugin-editable editable\",!0).style({position:\"absolute\",\"font-family\":h.fontFamily||\"Arial\",\"font-size\":d,color:t.fill||h.fill||\"black\",opacity:1,\"background-color\":t.background||\"transparent\",outline:\"#ffffff33 1px solid\",margin:[-d/8+1,0,0,-1].join(\"px \")+\"px\",padding:\"0\",\"box-sizing\":\"border-box\"}).attr({contenteditable:!0}).text(v).call(Vne(e,c,t)).on(\"blur\",function(){r._editing=!1,e.text(this.textContent).style({opacity:1});var x=vh.select(this).attr(\"class\"),b;x?b=\".\"+x.split(\" \")[0]+\"-math-group\":b=\"[class*=-math-group]\",b&&vh.select(e.node().parentNode).select(b).style({opacity:0});var p=this.textContent;vh.select(this).transition().duration(0).remove(),vh.select(document).on(\"mouseup\",null),i.edit.call(e,p)}).on(\"focus\",function(){var x=this;r._editing=!0,vh.select(document).on(\"mouseup\",function(){if(vh.event.target===x)return!1;document.activeElement===f.node()&&f.node().blur()})}).on(\"keyup\",function(){vh.event.which===27?(r._editing=!1,e.style({opacity:1}),vh.select(this).style({opacity:0}).on(\"blur\",function(){return!1}).transition().remove(),i.cancel.call(e,this.textContent)):(i.input.call(e,this.textContent),vh.select(this).call(Vne(e,c,t)))}).on(\"keydown\",function(){vh.event.which===13&&this.blur()}).call(s)}return t.immediate?o():a.on(\"click\",o),vh.rebind(e,i,\"on\")}});var Dv=ye((Ztr,rae)=>{\"use strict\";var hnt=xa(),Y6=id(),ZS=uo(),X6=Mr(),Yne=va(),dnt=sb().isValid;function vnt(e,t,r){var n=t?X6.nestedProperty(e,t).get()||{}:e,i=n[r||\"color\"];i&&i._inputArray&&(i=i._inputArray);var a=!1;if(X6.isArrayOrTypedArray(i)){for(var o=0;o<i.length;o++)if(ZS(i[o])){a=!0;break}}return X6.isPlainObject(n)&&(a||n.showscale===!0||ZS(n.cmin)&&ZS(n.cmax)||dnt(n.colorscale)||X6.isPlainObject(n.colorbar))}var Kne=[\"showscale\",\"autocolorscale\",\"colorscale\",\"reversescale\",\"colorbar\"],WS=[\"min\",\"max\",\"mid\",\"auto\"];function $ne(e){var t=e._colorAx,r=t||e,n={},i,a,o;for(a=0;a<Kne.length;a++)o=Kne[a],n[o]=r[o];if(t)for(i=\"c\",a=0;a<WS.length;a++)o=WS[a],n[o]=r[\"c\"+o];else{var s;for(a=0;a<WS.length;a++){if(o=WS[a],s=\"c\"+o,s in r){n[o]=r[s];continue}s=\"z\"+o,s in r&&(n[o]=r[s])}i=s.charAt(0)}return n._sync=function(l,u){var c=WS.indexOf(l)!==-1?i+l:l;r[c]=r[\"_\"+c]=u},n}function Qne(e){for(var t=$ne(e),r=t.min,n=t.max,i=t.reversescale?eae(t.colorscale):t.colorscale,a=i.length,o=new Array(a),s=new Array(a),l=0;l<a;l++){var u=i[l];o[l]=r+u[0]*(n-r),s[l]=u[1]}return{domain:o,range:s}}function eae(e){for(var t=e.length,r=new Array(t),n=t-1,i=0;n>=0;n--,i++){var a=e[n];r[i]=[1-a[0],a[1]]}return r}function tae(e,t){t=t||{};for(var r=e.domain,n=e.range,i=n.length,a=new Array(i),o=0;o<i;o++){var s=Y6(n[o]).toRgb();a[o]=[s.r,s.g,s.b,s.a]}var l=hnt.scale.linear().domain(r).range(a).clamp(!0),u=t.noNumericCheck,c=t.returnArray,f;return u&&c?f=l:u?f=function(h){return Jne(l(h))}:c?f=function(h){return ZS(h)?l(h):Y6(h).isValid()?h:Yne.defaultLine}:f=function(h){return ZS(h)?Jne(l(h)):Y6(h).isValid()?h:Yne.defaultLine},f.domain=l.domain,f.range=function(){return n},f}function pnt(e,t){return tae(Qne(e),t)}function Jne(e){var t={r:e[0],g:e[1],b:e[2],a:e[3]};return Y6(t).toRgbString()}rae.exports={hasColorscale:vnt,extractOpts:$ne,extractScale:Qne,flipScale:eae,makeColorScaleFunc:tae,makeColorScaleFuncFromTrace:pnt}});var Oc=ye((Xtr,aae)=>{\"use strict\";var iae=Rq(),gnt=iae.FORMAT_LINK,mnt=iae.DATE_FORMAT_LINK;function ynt(e,t){return{valType:\"string\",dflt:\"\",editType:\"none\",description:(t?dO:nae)(\"hover text\",e)+[\"By default the values are formatted using \"+(t?\"generic number format\":\"`\"+e+\"axis.hoverformat`\")+\".\"].join(\" \")}}function dO(e,t){return[\"Sets the \"+e+\" formatting rule\"+(t?\"for `\"+t+\"` \":\"\"),\"using d3 formatting mini-languages\",\"which are very similar to those in Python. For numbers, see: \"+gnt+\".\"].join(\" \")}function nae(e,t){return dO(e,t)+[\" And for dates see: \"+mnt+\".\",\"We add two items to d3's date formatter:\",\"*%h* for half of the year as a decimal number as well as\",\"*%{n}f* for fractional seconds\",\"with n digits. For example, *2016-10-13 09:15:23.456* with tickformat\",\"*%H~%M~%S.%2f* would display *09~15~23.46*\"].join(\" \")}aae.exports={axisHoverFormat:ynt,descriptionOnlyNumbers:dO,descriptionWithDates:nae}});var Cd=ye((Ytr,wae)=>{\"use strict\";var oae=Su(),w3=dh(),bae=Ed().dash,pO=no().extendFlat,sae=Vs().templatedArray,lae=Oc().descriptionWithDates,_nt=es().ONEDAY,pm=ad(),xnt=pm.HOUR_PATTERN,bnt=pm.WEEKDAY_PATTERN,vO={valType:\"enumerated\",values:[\"auto\",\"linear\",\"array\"],editType:\"ticks\",impliedEdits:{tick0:void 0,dtick:void 0}},wnt=pO({},vO,{values:vO.values.slice().concat([\"sync\"])});function uae(e){return{valType:\"integer\",min:0,dflt:e?5:0,editType:\"ticks\"}}var cae={valType:\"any\",editType:\"ticks\",impliedEdits:{tickmode:\"linear\"}},fae={valType:\"any\",editType:\"ticks\",impliedEdits:{tickmode:\"linear\"}},hae={valType:\"data_array\",editType:\"ticks\"},dae={valType:\"enumerated\",values:[\"outside\",\"inside\",\"\"],editType:\"ticks\"};function vae(e){var t={valType:\"number\",min:0,editType:\"ticks\"};return e||(t.dflt=5),t}function pae(e){var t={valType:\"number\",min:0,editType:\"ticks\"};return e||(t.dflt=1),t}var gae={valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},mae={valType:\"color\",dflt:w3.lightLine,editType:\"ticks\"};function yae(e){var t={valType:\"number\",min:0,editType:\"ticks\"};return e||(t.dflt=1),t}var _ae=pO({},bae,{editType:\"ticks\"}),xae={valType:\"boolean\",editType:\"ticks\"};wae.exports={visible:{valType:\"boolean\",editType:\"plot\"},color:{valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},title:{text:{valType:\"string\",editType:\"ticks\"},font:oae({editType:\"ticks\"}),standoff:{valType:\"number\",min:0,editType:\"ticks\"},editType:\"ticks\"},type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"log\",\"date\",\"category\",\"multicategory\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},autotypenumbers:{valType:\"enumerated\",values:[\"convert types\",\"strict\"],dflt:\"convert types\",editType:\"calc\"},autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\",\"min reversed\",\"max reversed\",\"min\",\"max\"],dflt:!0,editType:\"axrange\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},autorangeoptions:{minallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},maxallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},clipmin:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},clipmax:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},include:{valType:\"any\",arrayOk:!0,editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},editType:\"plot\"},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"plot\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"axrange\",impliedEdits:{\"^autorange\":!1},anim:!0},{valType:\"any\",editType:\"axrange\",impliedEdits:{\"^autorange\":!1},anim:!0}],editType:\"axrange\",impliedEdits:{autorange:!1},anim:!0},minallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},maxallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},insiderange:{valType:\"info_array\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},scaleanchor:{valType:\"enumerated\",values:[pm.idRegex.x.toString(),pm.idRegex.y.toString(),!1],editType:\"plot\"},scaleratio:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},constrain:{valType:\"enumerated\",values:[\"range\",\"domain\"],editType:\"plot\"},constraintoward:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\",\"top\",\"middle\",\"bottom\"],editType:\"plot\"},matches:{valType:\"enumerated\",values:[pm.idRegex.x.toString(),pm.idRegex.y.toString()],editType:\"calc\"},rangebreaks:sae(\"rangebreak\",{enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},bounds:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}],editType:\"calc\"},pattern:{valType:\"enumerated\",values:[bnt,xnt,\"\"],editType:\"calc\"},values:{valType:\"info_array\",freeLength:!0,editType:\"calc\",items:{valType:\"any\",editType:\"calc\"}},dvalue:{valType:\"number\",editType:\"calc\",min:0,dflt:_nt},editType:\"calc\"}),tickmode:wnt,nticks:uae(),tick0:cae,dtick:fae,ticklabelstep:{valType:\"integer\",min:1,dflt:1,editType:\"ticks\"},tickvals:hae,ticktext:{valType:\"data_array\",editType:\"ticks\"},ticks:dae,tickson:{valType:\"enumerated\",values:[\"labels\",\"boundaries\"],dflt:\"labels\",editType:\"ticks\"},ticklabelmode:{valType:\"enumerated\",values:[\"instant\",\"period\"],dflt:\"instant\",editType:\"ticks\"},ticklabelposition:{valType:\"enumerated\",values:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside left\",\"inside left\",\"outside right\",\"inside right\",\"outside bottom\",\"inside bottom\"],dflt:\"outside\",editType:\"calc\"},ticklabeloverflow:{valType:\"enumerated\",values:[\"allow\",\"hide past div\",\"hide past domain\"],editType:\"calc\"},ticklabelshift:{valType:\"integer\",dflt:0,editType:\"ticks\"},ticklabelstandoff:{valType:\"integer\",dflt:0,editType:\"ticks\"},ticklabelindex:{valType:\"integer\",arrayOk:!0,editType:\"calc\"},mirror:{valType:\"enumerated\",values:[!0,\"ticks\",!1,\"all\",\"allticks\"],dflt:!1,editType:\"ticks+layoutstyle\"},ticklen:vae(),tickwidth:pae(),tickcolor:gae,showticklabels:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},labelalias:{valType:\"any\",dflt:!1,editType:\"ticks\"},automargin:{valType:\"flaglist\",flags:[\"height\",\"width\",\"left\",\"right\",\"top\",\"bottom\"],extras:[!0,!1],dflt:!1,editType:\"ticks\"},showspikes:{valType:\"boolean\",dflt:!1,editType:\"modebar\"},spikecolor:{valType:\"color\",dflt:null,editType:\"none\"},spikethickness:{valType:\"number\",dflt:3,editType:\"none\"},spikedash:pO({},bae,{dflt:\"dash\",editType:\"none\"}),spikemode:{valType:\"flaglist\",flags:[\"toaxis\",\"across\",\"marker\"],dflt:\"toaxis\",editType:\"none\"},spikesnap:{valType:\"enumerated\",values:[\"data\",\"cursor\",\"hovered data\"],dflt:\"hovered data\",editType:\"none\"},tickfont:oae({editType:\"ticks\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"ticks\"},autotickangles:{valType:\"info_array\",freeLength:!0,items:{valType:\"angle\"},dflt:[0,30,90],editType:\"ticks\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"ticks\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"ticks\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"ticks\"},minexponent:{valType:\"number\",dflt:3,min:0,editType:\"ticks\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"ticks\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"ticks\",description:lae(\"tick label\")},tickformatstops:sae(\"tickformatstop\",{enabled:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},dtickrange:{valType:\"info_array\",items:[{valType:\"any\",editType:\"ticks\"},{valType:\"any\",editType:\"ticks\"}],editType:\"ticks\"},value:{valType:\"string\",dflt:\"\",editType:\"ticks\"},editType:\"ticks\"}),hoverformat:{valType:\"string\",dflt:\"\",editType:\"none\",description:lae(\"hover text\")},showline:{valType:\"boolean\",dflt:!1,editType:\"ticks+layoutstyle\"},linecolor:{valType:\"color\",dflt:w3.defaultLine,editType:\"layoutstyle\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"ticks+layoutstyle\"},showgrid:xae,gridcolor:mae,gridwidth:yae(),griddash:_ae,zeroline:{valType:\"boolean\",editType:\"ticks\"},zerolinecolor:{valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},zerolinewidth:{valType:\"number\",dflt:1,editType:\"ticks\"},showdividers:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},dividercolor:{valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},dividerwidth:{valType:\"number\",dflt:1,editType:\"ticks\"},anchor:{valType:\"enumerated\",values:[\"free\",pm.idRegex.x.toString(),pm.idRegex.y.toString()],editType:\"plot\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"],editType:\"plot\"},overlaying:{valType:\"enumerated\",values:[\"free\",pm.idRegex.x.toString(),pm.idRegex.y.toString()],editType:\"plot\"},minor:{tickmode:vO,nticks:uae(\"minor\"),tick0:cae,dtick:fae,tickvals:hae,ticks:dae,ticklen:vae(\"minor\"),tickwidth:pae(\"minor\"),tickcolor:gae,gridcolor:mae,gridwidth:yae(\"minor\"),griddash:_ae,showgrid:xae,editType:\"ticks\"},layer:{valType:\"enumerated\",values:[\"above traces\",\"below traces\"],dflt:\"above traces\",editType:\"plot\"},domain:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1,editType:\"plot\"},{valType:\"number\",min:0,max:1,editType:\"plot\"}],dflt:[0,1],editType:\"plot\"},position:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot\"},autoshift:{valType:\"boolean\",dflt:!1,editType:\"plot\"},shift:{valType:\"number\",editType:\"plot\"},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\",\"total ascending\",\"total descending\",\"min ascending\",\"min descending\",\"max ascending\",\"max descending\",\"sum ascending\",\"sum descending\",\"mean ascending\",\"mean descending\",\"geometric mean ascending\",\"geometric mean descending\",\"median ascending\",\"median descending\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"}});var K6=ye((Ktr,Sae)=>{\"use strict\";var Ac=Cd(),Tae=Su(),Aae=no().extendFlat,Tnt=Bu().overrideAll;Sae.exports=Tnt({orientation:{valType:\"enumerated\",values:[\"h\",\"v\"],dflt:\"v\"},thicknessmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"pixels\"},thickness:{valType:\"number\",min:0,dflt:30},lenmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"fraction\"},len:{valType:\"number\",min:0,dflt:1},x:{valType:\"number\"},xref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"]},xpad:{valType:\"number\",min:0,dflt:10},y:{valType:\"number\"},yref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"]},ypad:{valType:\"number\",min:0,dflt:10},outlinecolor:Ac.linecolor,outlinewidth:Ac.linewidth,bordercolor:Ac.linecolor,borderwidth:{valType:\"number\",min:0,dflt:0},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},tickmode:Ac.minor.tickmode,nticks:Ac.nticks,tick0:Ac.tick0,dtick:Ac.dtick,tickvals:Ac.tickvals,ticktext:Ac.ticktext,ticks:Aae({},Ac.ticks,{dflt:\"\"}),ticklabeloverflow:Aae({},Ac.ticklabeloverflow,{}),ticklabelposition:{valType:\"enumerated\",values:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside left\",\"inside left\",\"outside right\",\"inside right\",\"outside bottom\",\"inside bottom\"],dflt:\"outside\"},ticklen:Ac.ticklen,tickwidth:Ac.tickwidth,tickcolor:Ac.tickcolor,ticklabelstep:Ac.ticklabelstep,showticklabels:Ac.showticklabels,labelalias:Ac.labelalias,tickfont:Tae({}),tickangle:Ac.tickangle,tickformat:Ac.tickformat,tickformatstops:Ac.tickformatstops,tickprefix:Ac.tickprefix,showtickprefix:Ac.showtickprefix,ticksuffix:Ac.ticksuffix,showticksuffix:Ac.showticksuffix,separatethousands:Ac.separatethousands,exponentformat:Ac.exponentformat,minexponent:Ac.minexponent,showexponent:Ac.showexponent,title:{text:{valType:\"string\"},font:Tae({}),side:{valType:\"enumerated\",values:[\"right\",\"top\",\"bottom\"]}}},\"colorbars\",\"from-root\")});var Jl=ye(($tr,Eae)=>{\"use strict\";var Ant=K6(),Snt=n3().counter,Mnt=Y1(),Mae=sb().scales,Jtr=Mnt(Mae);function J6(e){return\"`\"+e+\"`\"}Eae.exports=function(t,r){t=t||\"\",r=r||{};var n=r.cLetter||\"c\",i=\"onlyIfNumerical\"in r?r.onlyIfNumerical:!!t,a=\"noScale\"in r?r.noScale:t===\"marker.line\",o=\"showScaleDflt\"in r?r.showScaleDflt:n===\"z\",s=typeof r.colorscaleDflt==\"string\"?Mae[r.colorscaleDflt]:null,l=r.editTypeOverride||\"\",u=t?t+\".\":\"\",c,f;\"colorAttr\"in r?(c=r.colorAttr,f=r.colorAttr):(c={z:\"z\",c:\"color\"}[n],f=\"in \"+J6(u+c));var h=i?\" Has an effect only if \"+f+\" is set to a numerical array.\":\"\",d=n+\"auto\",v=n+\"min\",x=n+\"max\",b=n+\"mid\",p=J6(u+d),E=J6(u+v),k=J6(u+x),A=E+\" and \"+k,L={};L[v]=L[x]=void 0;var _={};_[d]=!1;var C={};return c===\"color\"&&(C.color={valType:\"color\",arrayOk:!0,editType:l||\"style\"},r.anim&&(C.color.anim=!0)),C[d]={valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:L},C[v]={valType:\"number\",dflt:null,editType:l||\"plot\",impliedEdits:_},C[x]={valType:\"number\",dflt:null,editType:l||\"plot\",impliedEdits:_},C[b]={valType:\"number\",dflt:null,editType:\"calc\",impliedEdits:L},C.colorscale={valType:\"colorscale\",editType:\"calc\",dflt:s,impliedEdits:{autocolorscale:!1}},C.autocolorscale={valType:\"boolean\",dflt:r.autoColorDflt!==!1,editType:\"calc\",impliedEdits:{colorscale:void 0}},C.reversescale={valType:\"boolean\",dflt:!1,editType:\"plot\"},a||(C.showscale={valType:\"boolean\",dflt:o,editType:\"calc\"},C.colorbar=Ant),r.noColorAxis||(C.coloraxis={valType:\"subplotid\",regex:Snt(\"coloraxis\"),dflt:null,editType:\"calc\"}),C}});var mO=ye((Qtr,kae)=>{\"use strict\";var Ent=no().extendFlat,knt=Jl(),gO=sb().scales;kae.exports={editType:\"calc\",colorscale:{editType:\"calc\",sequential:{valType:\"colorscale\",dflt:gO.Reds,editType:\"calc\"},sequentialminus:{valType:\"colorscale\",dflt:gO.Blues,editType:\"calc\"},diverging:{valType:\"colorscale\",dflt:gO.RdBu,editType:\"calc\"}},coloraxis:Ent({_isSubplotObj:!0,editType:\"calc\"},knt(\"\",{colorAttr:\"corresponding trace color array(s)\",noColorAxis:!0,showScaleDflt:!0}))}});var yO=ye((err,Cae)=>{\"use strict\";var Cnt=Mr();Cae.exports=function(t){return Cnt.isPlainObject(t.colorbar)}});var bO=ye(xO=>{\"use strict\";var _O=uo(),Lae=Mr(),Pae=es(),Lnt=Pae.ONEDAY,Pnt=Pae.ONEWEEK;xO.dtick=function(e,t){var r=t===\"log\",n=t===\"date\",i=t===\"category\",a=n?Lnt:1;if(!e)return a;if(_O(e))return e=Number(e),e<=0?a:i?Math.max(1,Math.round(e)):n?Math.max(.1,e):e;if(typeof e!=\"string\"||!(n||r))return a;var o=e.charAt(0),s=e.substr(1);return s=_O(s)?Number(s):0,s<=0||!(n&&o===\"M\"&&s===Math.round(s)||r&&o===\"L\"||r&&o===\"D\"&&(s===1||s===2))?a:e};xO.tick0=function(e,t,r,n){if(t===\"date\")return Lae.cleanDate(e,Lae.dateTick0(r,n%Pnt===0?1:0));if(!(n===\"D1\"||n===\"D2\"))return _O(e)?Number(e):0}});var xb=ye((rrr,Rae)=>{\"use strict\";var Iae=bO(),Int=Mr().isArrayOrTypedArray,Rnt=vv().isTypedArraySpec,Dnt=vv().decodeTypedArraySpec;Rae.exports=function(t,r,n,i,a){a||(a={});var o=a.isMinor,s=o?t.minor||{}:t,l=o?r.minor:r,u=o?\"minor.\":\"\";function c(E){var k=s[E];return Rnt(k)&&(k=Dnt(k)),k!==void 0?k:(l._template||{})[E]}var f=c(\"tick0\"),h=c(\"dtick\"),d=c(\"tickvals\"),v=Int(d)?\"array\":h?\"linear\":\"auto\",x=n(u+\"tickmode\",v);if(x===\"auto\"||x===\"sync\")n(u+\"nticks\");else if(x===\"linear\"){var b=l.dtick=Iae.dtick(h,i);l.tick0=Iae.tick0(f,i,r.calendar,b)}else if(i!==\"multicategory\"){var p=n(u+\"tickvals\");p===void 0?l.tickmode=\"auto\":o||n(\"ticktext\")}}});var T3=ye((irr,zae)=>{\"use strict\";var wO=Mr(),Dae=Cd();zae.exports=function(t,r,n,i){var a=i.isMinor,o=a?t.minor||{}:t,s=a?r.minor:r,l=a?Dae.minor:Dae,u=a?\"minor.\":\"\",c=wO.coerce2(o,s,l,\"ticklen\",a?(r.ticklen||5)*.6:void 0),f=wO.coerce2(o,s,l,\"tickwidth\",a?r.tickwidth||1:void 0),h=wO.coerce2(o,s,l,\"tickcolor\",(a?r.tickcolor:void 0)||s.color),d=n(u+\"ticks\",!a&&i.outerTicks||c||f||h?\"outside\":\"\");d||(delete s.ticklen,delete s.tickwidth,delete s.tickcolor)}});var TO=ye((nrr,Fae)=>{\"use strict\";Fae.exports=function(t){var r=[\"showexponent\",\"showtickprefix\",\"showticksuffix\"],n=r.filter(function(a){return t[a]!==void 0}),i=function(a){return t[a]===t[n[0]]};if(n.every(i)||n.length===1)return t[n[0]]}});var Zd=ye((arr,qae)=>{\"use strict\";var $6=Mr(),znt=Vs();qae.exports=function(t,r,n){var i=n.name,a=n.inclusionAttr||\"visible\",o=r[i],s=$6.isArrayOrTypedArray(t[i])?t[i]:[],l=r[i]=[],u=znt.arrayTemplater(r,i,a),c,f;for(c=0;c<s.length;c++){var h=s[c];$6.isPlainObject(h)?f=u.newItem(h):(f=u.newItem({}),f[a]=!1),f._index=c,f[a]!==!1&&n.handleItemDefaults(h,f,r,n),l.push(f)}var d=u.defaultItems();for(c=0;c<d.length;c++)f=d[c],f._index=l.length,n.handleItemDefaults({},f,r,n,{}),l.push(f);if($6.isArrayOrTypedArray(o)){var v=Math.min(o.length,l.length);for(c=0;c<v;c++)$6.relinkPrivateKeys(l[c],o[c])}return l}});var t_=ye((orr,Bae)=>{\"use strict\";var AO=Mr(),Fnt=va().contrast,Oae=Cd(),qnt=TO(),Ont=Zd();Bae.exports=function(t,r,n,i,a){a||(a={});var o=n(\"labelalias\");AO.isPlainObject(o)||delete r.labelalias;var s=qnt(t),l=n(\"showticklabels\");if(l){a.noTicklabelshift||n(\"ticklabelshift\"),a.noTicklabelstandoff||n(\"ticklabelstandoff\");var u=a.font||{},c=r.color,f=r.ticklabelposition||\"\",h=f.indexOf(\"inside\")!==-1?Fnt(a.bgColor):c&&c!==Oae.color.dflt?c:u.color;if(AO.coerceFont(n,\"tickfont\",u,{overrideDflt:{color:h}}),!a.noTicklabelstep&&i!==\"multicategory\"&&i!==\"log\"&&n(\"ticklabelstep\"),!a.noAng){var d=n(\"tickangle\");!a.noAutotickangles&&d===\"auto\"&&n(\"autotickangles\")}if(i!==\"category\"){var v=n(\"tickformat\");Ont(t,r,{name:\"tickformatstops\",inclusionAttr:\"enabled\",handleItemDefaults:Bnt}),r.tickformatstops.length||delete r.tickformatstops,!a.noExp&&!v&&i!==\"date\"&&(n(\"showexponent\",s),n(\"exponentformat\"),n(\"minexponent\"),n(\"separatethousands\"))}}};function Bnt(e,t){function r(i,a){return AO.coerce(e,t,Oae.tickformatstops,i,a)}var n=r(\"enabled\");n&&(r(\"dtickrange\"),r(\"value\"))}});var r_=ye((srr,Nae)=>{\"use strict\";var Nnt=TO();Nae.exports=function(t,r,n,i,a){a||(a={});var o=a.tickSuffixDflt,s=Nnt(t),l=n(\"tickprefix\");l&&n(\"showtickprefix\",s);var u=n(\"ticksuffix\",o);u&&n(\"showticksuffix\",s)}});var SO=ye((lrr,Uae)=>{\"use strict\";var i_=Mr(),Unt=Vs(),Vnt=xb(),Hnt=T3(),Gnt=t_(),jnt=r_(),Wnt=K6();Uae.exports=function(t,r,n){var i=Unt.newContainer(r,\"colorbar\"),a=t.colorbar||{};function o(T,F){return i_.coerce(a,i,Wnt,T,F)}var s=n.margin||{t:0,b:0,l:0,r:0},l=n.width-s.l-s.r,u=n.height-s.t-s.b,c=o(\"orientation\"),f=c===\"v\",h=o(\"thicknessmode\");o(\"thickness\",h===\"fraction\"?30/(f?l:u):30);var d=o(\"lenmode\");o(\"len\",d===\"fraction\"?1:f?u:l);var v=o(\"yref\"),x=o(\"xref\"),b=v===\"paper\",p=x===\"paper\",E,k,A,L=\"left\";f?(A=\"middle\",L=p?\"left\":\"right\",E=p?1.02:1,k=.5):(A=b?\"bottom\":\"top\",L=\"center\",E=.5,k=b?1.02:1),i_.coerce(a,i,{x:{valType:\"number\",min:p?-2:0,max:p?3:1,dflt:E}},\"x\"),i_.coerce(a,i,{y:{valType:\"number\",min:b?-2:0,max:b?3:1,dflt:k}},\"y\"),o(\"xanchor\",L),o(\"xpad\"),o(\"yanchor\",A),o(\"ypad\"),i_.noneOrAll(a,i,[\"x\",\"y\"]),o(\"outlinecolor\"),o(\"outlinewidth\"),o(\"bordercolor\"),o(\"borderwidth\"),o(\"bgcolor\");var _=i_.coerce(a,i,{ticklabelposition:{valType:\"enumerated\",dflt:\"outside\",values:f?[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside bottom\",\"inside bottom\"]:[\"outside\",\"inside\",\"outside left\",\"inside left\",\"outside right\",\"inside right\"]}},\"ticklabelposition\");o(\"ticklabeloverflow\",_.indexOf(\"inside\")!==-1?\"hide past domain\":\"hide past div\"),Vnt(a,i,o,\"linear\");var C=n.font,M={noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,outerTicks:!1,font:C};_.indexOf(\"inside\")!==-1&&(M.bgColor=\"black\"),jnt(a,i,o,\"linear\",M),Gnt(a,i,o,\"linear\",M),Hnt(a,i,o,\"linear\",M),o(\"title.text\",n._dfltTitle.colorbar);var g=i.showticklabels?i.tickfont:C,P=i_.extendFlat({},C,{family:g.family,size:i_.bigFont(g.size)});i_.coerceFont(o,\"title.font\",P),o(\"title.side\",f?\"top\":\"right\")}});var Uh=ye((urr,Gae)=>{\"use strict\";var Vae=uo(),EO=Mr(),Znt=yO(),Xnt=SO(),Hae=sb().isValid,Ynt=ba().traceIs;function MO(e,t){var r=t.slice(0,t.length-1);return t?EO.nestedProperty(e,r).get()||{}:e}Gae.exports=function e(t,r,n,i,a){var o=a.prefix,s=a.cLetter,l=\"_module\"in r,u=MO(t,o),c=MO(r,o),f=MO(r._template||{},o)||{},h=function(){return delete t.coloraxis,delete r.coloraxis,e(t,r,n,i,a)};if(l){var d=n._colorAxes||{},v=i(o+\"coloraxis\");if(v){var x=Ynt(r,\"contour\")&&EO.nestedProperty(r,\"contours.coloring\").get()||\"heatmap\",b=d[v];b?(b[2].push(h),b[0]!==x&&(b[0]=!1,EO.warn([\"Ignoring coloraxis:\",v,\"setting\",\"as it is linked to incompatible colorscales.\"].join(\" \")))):d[v]=[x,r,[h]];return}}var p=u[s+\"min\"],E=u[s+\"max\"],k=Vae(p)&&Vae(E)&&p<E,A=i(o+s+\"auto\",!k);A?i(o+s+\"mid\"):(i(o+s+\"min\"),i(o+s+\"max\"));var L=u.colorscale,_=f.colorscale,C;if(L!==void 0&&(C=!Hae(L)),_!==void 0&&(C=!Hae(_)),i(o+\"autocolorscale\",C),i(o+\"colorscale\"),i(o+\"reversescale\"),o!==\"marker.line.\"){var M;o&&l&&(M=Znt(u));var g=i(o+\"showscale\",M);g&&(o&&f&&(c._template=f),Xnt(u,c,n))}}});var Xae=ye((crr,Zae)=>{\"use strict\";var jae=Mr(),Knt=Vs(),Wae=mO(),Jnt=Uh();Zae.exports=function(t,r){function n(f,h){return jae.coerce(t,r,Wae,f,h)}n(\"colorscale.sequential\"),n(\"colorscale.sequentialminus\"),n(\"colorscale.diverging\");var i=r._colorAxes,a,o;function s(f,h){return jae.coerce(a,o,Wae.coloraxis,f,h)}for(var l in i){var u=i[l];if(u[0])a=t[l]||{},o=Knt.newContainer(r,l,\"coloraxis\"),o._name=l,Jnt(a,o,r,s,{prefix:\"\",cLetter:\"c\"});else{for(var c=0;c<u[2].length;c++)u[2][c]();delete r._colorAxes[l]}}}});var Kae=ye((frr,Yae)=>{\"use strict\";var $nt=Mr(),Qnt=Dv().hasColorscale,eat=Dv().extractOpts;Yae.exports=function(t,r){function n(c,f){var h=c[\"_\"+f];h!==void 0&&(c[f]=h)}function i(c,f){var h=f.container?$nt.nestedProperty(c,f.container).get():c;if(h)if(h.coloraxis)h._colorAx=r[h.coloraxis];else{var d=eat(h),v=d.auto;(v||d.min===void 0)&&n(h,f.min),(v||d.max===void 0)&&n(h,f.max),d.autocolorscale&&n(h,\"colorscale\")}}for(var a=0;a<t.length;a++){var o=t[a],s=o._module.colorbar;if(s)if(Array.isArray(s))for(var l=0;l<s.length;l++)i(o,s[l]);else i(o,s);Qnt(o,\"marker.line\")&&i(o,{container:\"marker.line\",min:\"cmin\",max:\"cmax\"})}for(var u in r._colorAxes)i(r[u],{min:\"cmin\",max:\"cmax\"})}});var zv=ye((hrr,$ae)=>{\"use strict\";var Jae=uo(),kO=Mr(),tat=Dv().extractOpts;$ae.exports=function(t,r,n){var i=t._fullLayout,a=n.vals,o=n.containerStr,s=o?kO.nestedProperty(r,o).get():r,l=tat(s),u=l.auto!==!1,c=l.min,f=l.max,h=l.mid,d=function(){return kO.aggNums(Math.min,null,a)},v=function(){return kO.aggNums(Math.max,null,a)};if(c===void 0?c=d():u&&(s._colorAx&&Jae(c)?c=Math.min(c,d()):c=d()),f===void 0?f=v():u&&(s._colorAx&&Jae(f)?f=Math.max(f,v()):f=v()),u&&h!==void 0&&(f-h>h-c?c=h-(f-h):f-h<h-c&&(f=h+(h-c))),c===f&&(c-=.5,f+=.5),l._sync(\"min\",c),l._sync(\"max\",f),l.autocolorscale){var x;c*f<0?x=i.colorscale.diverging:c>=0?x=i.colorscale.sequential:x=i.colorscale.sequentialminus,l._sync(\"colorscale\",x)}}});var Mu=ye((drr,Qae)=>{\"use strict\";var Q6=sb(),A3=Dv();Qae.exports={moduleType:\"component\",name:\"colorscale\",attributes:Jl(),layoutAttributes:mO(),supplyLayoutDefaults:Xae(),handleDefaults:Uh(),crossTraceDefaults:Kae(),calc:zv(),scales:Q6.scales,defaultScale:Q6.defaultScale,getScale:Q6.get,isValidScale:Q6.isValid,hasColorscale:A3.hasColorscale,extractOpts:A3.extractOpts,extractScale:A3.extractScale,flipScale:A3.flipScale,makeColorScaleFunc:A3.makeColorScaleFunc,makeColorScaleFuncFromTrace:A3.makeColorScaleFuncFromTrace}});var lu=ye((vrr,toe)=>{\"use strict\";var eoe=Mr(),rat=vv().isTypedArraySpec;toe.exports={hasLines:function(e){return e.visible&&e.mode&&e.mode.indexOf(\"lines\")!==-1},hasMarkers:function(e){return e.visible&&(e.mode&&e.mode.indexOf(\"markers\")!==-1||e.type===\"splom\")},hasText:function(e){return e.visible&&e.mode&&e.mode.indexOf(\"text\")!==-1},isBubble:function(e){var t=e.marker;return eoe.isPlainObject(t)&&(eoe.isArrayOrTypedArray(t.size)||rat(t.size))}}});var S3=ye((prr,roe)=>{\"use strict\";var iat=uo();roe.exports=function(t,r){r||(r=2);var n=t.marker,i=n.sizeref||1,a=n.sizemin||0,o=n.sizemode===\"area\"?function(s){return Math.sqrt(s/i)}:function(s){return s/i};return function(s){var l=o(s/r);return iat(l)&&l>0?Math.max(l,a):0}}});var rp=ye(pv=>{\"use strict\";var ioe=Mr();pv.getSubplot=function(e){return e.subplot||e.xaxis+e.yaxis||e.geo};pv.isTraceInSubplots=function(e,t){if(e.type===\"splom\"){for(var r=e.xaxes||[],n=e.yaxes||[],i=0;i<r.length;i++)for(var a=0;a<n.length;a++)if(t.indexOf(r[i]+n[a])!==-1)return!0;return!1}return t.indexOf(pv.getSubplot(e))!==-1};pv.flat=function(e,t){for(var r=new Array(e.length),n=0;n<e.length;n++)r[n]=t;return r};pv.p2c=function(e,t){for(var r=new Array(e.length),n=0;n<e.length;n++)r[n]=e[n].p2c(t);return r};pv.getDistanceFunction=function(e,t,r,n){return e===\"closest\"?n||pv.quadrature(t,r):e.charAt(0)===\"x\"?t:r};pv.getClosest=function(e,t,r){if(r.index!==!1)r.index>=0&&r.index<e.length?r.distance=0:r.index=!1;else for(var n=1/0,i=e.length,a=0;a<i;a++)n=t(e[a]),n<=r.distance&&(r.index=a,r.distance=n);return r};pv.inbox=function(e,t,r){return e*t<0||e===0?r:1/0};pv.quadrature=function(e,t){return function(r){var n=e(r),i=t(r);return Math.sqrt(n*n+i*i)}};pv.makeEventData=function(e,t,r){var n=\"index\"in e?e.index:e.pointNumber,i={data:t._input,fullData:t,curveNumber:t.index,pointNumber:n};if(t._indexToPoints){var a=t._indexToPoints[n];a.length===1?i.pointIndex=a[0]:i.pointIndices=a}else i.pointIndex=n;return t._module.eventData?i=t._module.eventData(i,e,t,r,n):(\"xVal\"in e?i.x=e.xVal:\"x\"in e&&(i.x=e.x),\"yVal\"in e?i.y=e.yVal:\"y\"in e&&(i.y=e.y),e.xa&&(i.xaxis=e.xa),e.ya&&(i.yaxis=e.ya),e.zLabelVal!==void 0&&(i.z=e.zLabelVal)),pv.appendArrayPointValue(i,t,n),i};pv.appendArrayPointValue=function(e,t,r){var n=t._arrayAttrs;if(n)for(var i=0;i<n.length;i++){var a=n[i],o=noe(a);if(e[o]===void 0){var s=ioe.nestedProperty(t,a).get(),l=aoe(s,r);l!==void 0&&(e[o]=l)}}};pv.appendArrayMultiPointValues=function(e,t,r){var n=t._arrayAttrs;if(n)for(var i=0;i<n.length;i++){var a=n[i],o=noe(a);if(e[o]===void 0){for(var s=ioe.nestedProperty(t,a).get(),l=new Array(r.length),u=0;u<r.length;u++)l[u]=aoe(s,r[u]);e[o]=l}}};var nat={ids:\"id\",locations:\"location\",labels:\"label\",values:\"value\",\"marker.colors\":\"color\",parents:\"parent\"};function noe(e){return nat[e]||e}function aoe(e,t){if(Array.isArray(t)){if(Array.isArray(e)&&Array.isArray(e[t[0]]))return e[t[0]][t[1]]}else return e[t]}var aat={x:!0,y:!0},oat={\"x unified\":!0,\"y unified\":!0};pv.isUnifiedHover=function(e){return typeof e!=\"string\"?!1:!!oat[e]};pv.isXYhover=function(e){return typeof e!=\"string\"?!1:!!aat[e]}});var XS=ye((mrr,ooe)=>{ooe.exports=lat;var CO={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},sat=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function lat(e){var t=[];return e.replace(sat,function(r,n,i){var a=n.toLowerCase();for(i=cat(i),a==\"m\"&&i.length>2&&(t.push([n].concat(i.splice(0,2))),a=\"l\",n=n==\"m\"?\"l\":\"L\");;){if(i.length==CO[a])return i.unshift(n),t.push(i);if(i.length<CO[a])throw new Error(\"malformed path data\");t.push([n].concat(i.splice(0,CO[a])))}}),t}var uat=/-?[0-9]*\\.?[0-9]+(?:e[-+]?\\d+)?/ig;function cat(e){var t=e.match(uat);return t?t.map(Number):[]}});var doe=ye((yrr,hoe)=>{\"use strict\";var fat=XS(),Yn=function(e,t){return t?Math.round(e*(t=Math.pow(10,t)))/t:Math.round(e)},ts=\"M0,0Z\",soe=Math.sqrt(2),n_=Math.sqrt(3),LO=Math.PI,PO=Math.cos,IO=Math.sin;hoe.exports={circle:{n:0,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=\"M\"+n+\",0A\"+n+\",\"+n+\" 0 1,1 0,-\"+n+\"A\"+n+\",\"+n+\" 0 0,1 \"+n+\",0Z\";return r?is(t,r,i):i}},square:{n:1,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"H-\"+n+\"V-\"+n+\"H\"+n+\"Z\")}},diamond:{n:2,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2);return is(t,r,\"M\"+n+\",0L0,\"+n+\"L-\"+n+\",0L0,-\"+n+\"Z\")}},cross:{n:3,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.4,2),i=Yn(e*1.2,2);return is(t,r,\"M\"+i+\",\"+n+\"H\"+n+\"V\"+i+\"H-\"+n+\"V\"+n+\"H-\"+i+\"V-\"+n+\"H-\"+n+\"V-\"+i+\"H\"+n+\"V-\"+n+\"H\"+i+\"Z\")}},x:{n:4,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.8/soe,2),i=\"l\"+n+\",\"+n,a=\"l\"+n+\",-\"+n,o=\"l-\"+n+\",-\"+n,s=\"l-\"+n+\",\"+n;return is(t,r,\"M0,\"+n+i+a+o+a+o+s+o+s+i+s+i+\"Z\")}},\"triangle-up\":{n:5,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/n_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M-\"+n+\",\"+i+\"H\"+n+\"L0,-\"+a+\"Z\")}},\"triangle-down\":{n:6,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/n_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M-\"+n+\",-\"+i+\"H\"+n+\"L0,\"+a+\"Z\")}},\"triangle-left\":{n:7,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/n_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M\"+i+\",-\"+n+\"V\"+n+\"L-\"+a+\",0Z\")}},\"triangle-right\":{n:8,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/n_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M-\"+i+\",-\"+n+\"V\"+n+\"L\"+a+\",0Z\")}},\"triangle-ne\":{n:9,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M-\"+i+\",-\"+n+\"H\"+n+\"V\"+i+\"Z\")}},\"triangle-se\":{n:10,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M\"+n+\",-\"+i+\"V\"+n+\"H-\"+i+\"Z\")}},\"triangle-sw\":{n:11,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M\"+i+\",\"+n+\"H-\"+n+\"V-\"+i+\"Z\")}},\"triangle-nw\":{n:12,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M-\"+n+\",\"+i+\"V-\"+n+\"H\"+i+\"Z\")}},pentagon:{n:13,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.951,2),i=Yn(e*.588,2),a=Yn(-e,2),o=Yn(e*-.309,2),s=Yn(e*.809,2);return is(t,r,\"M\"+n+\",\"+o+\"L\"+i+\",\"+s+\"H-\"+i+\"L-\"+n+\",\"+o+\"L0,\"+a+\"Z\")}},hexagon:{n:14,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/2,2),a=Yn(e*n_/2,2);return is(t,r,\"M\"+a+\",-\"+i+\"V\"+i+\"L0,\"+n+\"L-\"+a+\",\"+i+\"V-\"+i+\"L0,-\"+n+\"Z\")}},hexagon2:{n:15,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/2,2),a=Yn(e*n_/2,2);return is(t,r,\"M-\"+i+\",\"+a+\"H\"+i+\"L\"+n+\",0L\"+i+\",-\"+a+\"H-\"+i+\"L-\"+n+\",0Z\")}},octagon:{n:16,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.924,2),i=Yn(e*.383,2);return is(t,r,\"M-\"+i+\",-\"+n+\"H\"+i+\"L\"+n+\",-\"+i+\"V\"+i+\"L\"+i+\",\"+n+\"H-\"+i+\"L-\"+n+\",\"+i+\"V-\"+i+\"Z\")}},star:{n:17,f:function(e,t,r){if(rs(t))return ts;var n=e*1.4,i=Yn(n*.225,2),a=Yn(n*.951,2),o=Yn(n*.363,2),s=Yn(n*.588,2),l=Yn(-n,2),u=Yn(n*-.309,2),c=Yn(n*.118,2),f=Yn(n*.809,2),h=Yn(n*.382,2);return is(t,r,\"M\"+i+\",\"+u+\"H\"+a+\"L\"+o+\",\"+c+\"L\"+s+\",\"+f+\"L0,\"+h+\"L-\"+s+\",\"+f+\"L-\"+o+\",\"+c+\"L-\"+a+\",\"+u+\"H-\"+i+\"L0,\"+l+\"Z\")}},hexagram:{n:18,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.66,2),i=Yn(e*.38,2),a=Yn(e*.76,2);return is(t,r,\"M-\"+a+\",0l-\"+i+\",-\"+n+\"h\"+a+\"l\"+i+\",-\"+n+\"l\"+i+\",\"+n+\"h\"+a+\"l-\"+i+\",\"+n+\"l\"+i+\",\"+n+\"h-\"+a+\"l-\"+i+\",\"+n+\"l-\"+i+\",-\"+n+\"h-\"+a+\"Z\")}},\"star-triangle-up\":{n:19,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*n_*.8,2),i=Yn(e*.8,2),a=Yn(e*1.6,2),o=Yn(e*4,2),s=\"A \"+o+\",\"+o+\" 0 0 1 \";return is(t,r,\"M-\"+n+\",\"+i+s+n+\",\"+i+s+\"0,-\"+a+s+\"-\"+n+\",\"+i+\"Z\")}},\"star-triangle-down\":{n:20,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*n_*.8,2),i=Yn(e*.8,2),a=Yn(e*1.6,2),o=Yn(e*4,2),s=\"A \"+o+\",\"+o+\" 0 0 1 \";return is(t,r,\"M\"+n+\",-\"+i+s+\"-\"+n+\",-\"+i+s+\"0,\"+a+s+n+\",-\"+i+\"Z\")}},\"star-square\":{n:21,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.1,2),i=Yn(e*2,2),a=\"A \"+i+\",\"+i+\" 0 0 1 \";return is(t,r,\"M-\"+n+\",-\"+n+a+\"-\"+n+\",\"+n+a+n+\",\"+n+a+n+\",-\"+n+a+\"-\"+n+\",-\"+n+\"Z\")}},\"star-diamond\":{n:22,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2),i=Yn(e*1.9,2),a=\"A \"+i+\",\"+i+\" 0 0 1 \";return is(t,r,\"M-\"+n+\",0\"+a+\"0,\"+n+a+n+\",0\"+a+\"0,-\"+n+a+\"-\"+n+\",0Z\")}},\"diamond-tall\":{n:23,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.7,2),i=Yn(e*1.4,2);return is(t,r,\"M0,\"+i+\"L\"+n+\",0L0,-\"+i+\"L-\"+n+\",0Z\")}},\"diamond-wide\":{n:24,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2),i=Yn(e*.7,2);return is(t,r,\"M0,\"+i+\"L\"+n+\",0L0,-\"+i+\"L-\"+n+\",0Z\")}},hourglass:{n:25,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"H-\"+n+\"L\"+n+\",-\"+n+\"H-\"+n+\"Z\")},noDot:!0},bowtie:{n:26,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"V-\"+n+\"L-\"+n+\",\"+n+\"V-\"+n+\"Z\")},noDot:!0},\"circle-cross\":{n:27,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n+\"M\"+n+\",0A\"+n+\",\"+n+\" 0 1,1 0,-\"+n+\"A\"+n+\",\"+n+\" 0 0,1 \"+n+\",0Z\")},needLine:!0,noDot:!0},\"circle-x\":{n:28,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/soe,2);return is(t,r,\"M\"+i+\",\"+i+\"L-\"+i+\",-\"+i+\"M\"+i+\",-\"+i+\"L-\"+i+\",\"+i+\"M\"+n+\",0A\"+n+\",\"+n+\" 0 1,1 0,-\"+n+\"A\"+n+\",\"+n+\" 0 0,1 \"+n+\",0Z\")},needLine:!0,noDot:!0},\"square-cross\":{n:29,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n+\"M\"+n+\",\"+n+\"H-\"+n+\"V-\"+n+\"H\"+n+\"Z\")},needLine:!0,noDot:!0},\"square-x\":{n:30,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n+\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n+\"M\"+n+\",\"+n+\"H-\"+n+\"V-\"+n+\"H\"+n+\"Z\")},needLine:!0,noDot:!0},\"diamond-cross\":{n:31,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2);return is(t,r,\"M\"+n+\",0L0,\"+n+\"L-\"+n+\",0L0,-\"+n+\"ZM0,-\"+n+\"V\"+n+\"M-\"+n+\",0H\"+n)},needLine:!0,noDot:!0},\"diamond-x\":{n:32,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2),i=Yn(e*.65,2);return is(t,r,\"M\"+n+\",0L0,\"+n+\"L-\"+n+\",0L0,-\"+n+\"ZM-\"+i+\",-\"+i+\"L\"+i+\",\"+i+\"M-\"+i+\",\"+i+\"L\"+i+\",-\"+i)},needLine:!0,noDot:!0},\"cross-thin\":{n:33,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"x-thin\":{n:34,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n+\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n)},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*.85,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n+\"M\"+i+\",\"+i+\"L-\"+i+\",-\"+i+\"M\"+i+\",-\"+i+\"L-\"+i+\",\"+i)},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e/2,2),i=Yn(e,2);return is(t,r,\"M\"+n+\",\"+i+\"V-\"+i+\"M\"+(n-i)+\",-\"+i+\"V\"+i+\"M\"+i+\",\"+n+\"H-\"+i+\"M-\"+i+\",\"+(n-i)+\"H\"+i)},needLine:!0,noFill:!0},\"y-up\":{n:37,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M-\"+n+\",\"+a+\"L0,0M\"+n+\",\"+a+\"L0,0M0,-\"+i+\"L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"y-down\":{n:38,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M-\"+n+\",-\"+a+\"L0,0M\"+n+\",-\"+a+\"L0,0M0,\"+i+\"L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"y-left\":{n:39,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M\"+a+\",\"+n+\"L0,0M\"+a+\",-\"+n+\"L0,0M-\"+i+\",0L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"y-right\":{n:40,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M-\"+a+\",\"+n+\"L0,0M-\"+a+\",-\"+n+\"L0,0M\"+i+\",0L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"line-ew\":{n:41,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,\"M\"+n+\",0H-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"line-ns\":{n:42,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,\"M0,\"+n+\"V-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"line-ne\":{n:43,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n)},needLine:!0,noDot:!0,noFill:!0},\"line-nw\":{n:44,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"arrow-up\":{n:45,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M0,0L-\"+n+\",\"+i+\"H\"+n+\"Z\")},backoff:1,noDot:!0},\"arrow-down\":{n:46,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M0,0L-\"+n+\",-\"+i+\"H\"+n+\"Z\")},noDot:!0},\"arrow-left\":{n:47,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,0L\"+n+\",-\"+i+\"V\"+i+\"Z\")},noDot:!0},\"arrow-right\":{n:48,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,0L-\"+n+\",-\"+i+\"V\"+i+\"Z\")},noDot:!0},\"arrow-bar-up\":{n:49,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M-\"+n+\",0H\"+n+\"M0,0L-\"+n+\",\"+i+\"H\"+n+\"Z\")},backoff:1,needLine:!0,noDot:!0},\"arrow-bar-down\":{n:50,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M-\"+n+\",0H\"+n+\"M0,0L-\"+n+\",-\"+i+\"H\"+n+\"Z\")},needLine:!0,noDot:!0},\"arrow-bar-left\":{n:51,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,-\"+i+\"V\"+i+\"M0,0L\"+n+\",-\"+i+\"V\"+i+\"Z\")},needLine:!0,noDot:!0},\"arrow-bar-right\":{n:52,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,-\"+i+\"V\"+i+\"M0,0L-\"+n+\",-\"+i+\"V\"+i+\"Z\")},needLine:!0,noDot:!0},arrow:{n:53,f:function(e,t,r){if(rs(t))return ts;var n=LO/2.5,i=2*e*PO(n),a=2*e*IO(n);return is(t,r,\"M0,0L\"+-i+\",\"+a+\"L\"+i+\",\"+a+\"Z\")},backoff:.9,noDot:!0},\"arrow-wide\":{n:54,f:function(e,t,r){if(rs(t))return ts;var n=LO/4,i=2*e*PO(n),a=2*e*IO(n);return is(t,r,\"M0,0L\"+-i+\",\"+a+\"A \"+2*e+\",\"+2*e+\" 0 0 1 \"+i+\",\"+a+\"Z\")},backoff:.4,noDot:!0}};function rs(e){return e===null}var loe,uoe,coe,foe;function is(e,t,r){if((!e||e%360===0)&&!t)return r;if(coe===e&&foe===t&&loe===r)return uoe;coe=e,foe=t,loe=r;function n(b,p){var E=PO(b),k=IO(b),A=p[0],L=p[1]+(t||0);return[A*E-L*k,A*k+L*E]}for(var i=e/180*LO,a=0,o=0,s=fat(r),l=\"\",u=0;u<s.length;u++){var c=s[u],f=c[0],h=a,d=o;if(f===\"M\"||f===\"L\")a=+c[1],o=+c[2];else if(f===\"m\"||f===\"l\")a+=+c[1],o+=+c[2];else if(f===\"H\")a=+c[1];else if(f===\"h\")a+=+c[1];else if(f===\"V\")o=+c[1];else if(f===\"v\")o+=+c[1];else if(f===\"A\"){a=+c[1],o=+c[2];var v=n(i,[+c[6],+c[7]]);c[6]=v[0],c[7]=v[1],c[3]=+c[3]+e}(f===\"H\"||f===\"V\")&&(f=\"L\"),(f===\"h\"||f===\"v\")&&(f=\"l\"),(f===\"m\"||f===\"l\")&&(a-=h,o-=d);var x=n(i,[a,o]);(f===\"H\"||f===\"V\")&&(f=\"L\"),(f===\"M\"||f===\"L\"||f===\"m\"||f===\"l\")&&(c[1]=x[0],c[2]=x[1]),c[0]=f,l+=c[0]+c.slice(1).join(\",\")}return uoe=l,l}});var ao=ye((_rr,Roe)=>{\"use strict\";var od=xa(),du=Mr(),hat=du.numberFormat,Ab=uo(),OO=id(),tL=ba(),Xd=va(),dat=Mu(),KS=du.strTranslate,rL=Pl(),vat=Zp(),pat=Nh(),gat=pat.LINE_SPACING,Toe=U1().DESELECTDIM,mat=lu(),yat=S3(),_at=rp().appendArrayPointValue,na=Roe.exports={};na.font=function(e,t){var r=t.variant,n=t.style,i=t.weight,a=t.color,o=t.size,s=t.family,l=t.shadow,u=t.lineposition,c=t.textcase;s&&e.style(\"font-family\",s),o+1&&e.style(\"font-size\",o+\"px\"),a&&e.call(Xd.fill,a),i&&e.style(\"font-weight\",i),n&&e.style(\"font-style\",n),r&&e.style(\"font-variant\",r),c&&e.style(\"text-transform\",RO(bat(c))),l&&e.style(\"text-shadow\",l===\"auto\"?rL.makeTextShadow(Xd.contrast(a)):RO(l)),u&&e.style(\"text-decoration-line\",RO(wat(u)))};function RO(e){return e===\"none\"?void 0:e}var xat={normal:\"none\",lower:\"lowercase\",upper:\"uppercase\",\"word caps\":\"capitalize\"};function bat(e){return xat[e]}function wat(e){return e.replace(\"under\",\"underline\").replace(\"over\",\"overline\").replace(\"through\",\"line-through\").split(\"+\").join(\" \")}na.setPosition=function(e,t,r){e.attr(\"x\",t).attr(\"y\",r)};na.setSize=function(e,t,r){e.attr(\"width\",t).attr(\"height\",r)};na.setRect=function(e,t,r,n,i){e.call(na.setPosition,t,r).call(na.setSize,n,i)};na.translatePoint=function(e,t,r,n){var i=r.c2p(e.x),a=n.c2p(e.y);if(Ab(i)&&Ab(a)&&t.node())t.node().nodeName===\"text\"?t.attr(\"x\",i).attr(\"y\",a):t.attr(\"transform\",KS(i,a));else return!1;return!0};na.translatePoints=function(e,t,r){e.each(function(n){var i=od.select(this);na.translatePoint(n,i,t,r)})};na.hideOutsideRangePoint=function(e,t,r,n,i,a){t.attr(\"display\",r.isPtWithinRange(e,i)&&n.isPtWithinRange(e,a)?null:\"none\")};na.hideOutsideRangePoints=function(e,t){if(t._hasClipOnAxisFalse){var r=t.xaxis,n=t.yaxis;e.each(function(i){var a=i[0].trace,o=a.xcalendar,s=a.ycalendar,l=tL.traceIs(a,\"bar-like\")?\".bartext\":\".point,.textpoint\";e.selectAll(l).each(function(u){na.hideOutsideRangePoint(u,od.select(this),r,n,o,s)})})}};na.crispRound=function(e,t,r){return!t||!Ab(t)?r||0:e._context.staticPlot?t:t<1?1:Math.round(t)};na.singleLineStyle=function(e,t,r,n,i){t.style(\"fill\",\"none\");var a=(((e||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||\"\";Xd.stroke(t,n||a.color),na.dashLine(t,s,o)};na.lineGroupStyle=function(e,t,r,n){e.style(\"fill\",\"none\").each(function(i){var a=(((i||[])[0]||{}).trace||{}).line||{},o=t||a.width||0,s=n||a.dash||\"\";od.select(this).call(Xd.stroke,r||a.color).call(na.dashLine,s,o)})};na.dashLine=function(e,t,r){r=+r||0,t=na.dashStyle(t,r),e.style({\"stroke-dasharray\":t,\"stroke-width\":r+\"px\"})};na.dashStyle=function(e,t){t=+t||1;var r=Math.max(t,3);return e===\"solid\"?e=\"\":e===\"dot\"?e=r+\"px,\"+r+\"px\":e===\"dash\"?e=3*r+\"px,\"+3*r+\"px\":e===\"longdash\"?e=5*r+\"px,\"+5*r+\"px\":e===\"dashdot\"?e=3*r+\"px,\"+r+\"px,\"+r+\"px,\"+r+\"px\":e===\"longdashdot\"&&(e=5*r+\"px,\"+2*r+\"px,\"+r+\"px,\"+2*r+\"px\"),e};function Aoe(e,t,r,n){var i=t.fillpattern,a=t.fillgradient,o=i&&na.getPatternAttr(i.shape,0,\"\");if(o){var s=na.getPatternAttr(i.bgcolor,0,null),l=na.getPatternAttr(i.fgcolor,0,null),u=i.fgopacity,c=na.getPatternAttr(i.size,0,8),f=na.getPatternAttr(i.solidity,0,.3),h=t.uid;na.pattern(e,\"point\",r,h,o,c,f,void 0,i.fillmode,s,l,u)}else if(a&&a.type!==\"none\"){var d=a.type,v=\"scatterfill-\"+t.uid;if(n&&(v=\"legendfill-\"+t.uid),!n&&(a.start!==void 0||a.stop!==void 0)){var x,b;d===\"horizontal\"?(x={x:a.start,y:0},b={x:a.stop,y:0}):d===\"vertical\"&&(x={x:0,y:a.start},b={x:0,y:a.stop}),x.x=t._xA.c2p(x.x===void 0?t._extremes.x.min[0].val:x.x,!0),x.y=t._yA.c2p(x.y===void 0?t._extremes.y.min[0].val:x.y,!0),b.x=t._xA.c2p(b.x===void 0?t._extremes.x.max[0].val:b.x,!0),b.y=t._yA.c2p(b.y===void 0?t._extremes.y.max[0].val:b.y,!0),e.call(Eoe,r,v,\"linear\",a.colorscale,\"fill\",x,b,!0,!1)}else d===\"horizontal\"&&(d=d+\"reversed\"),e.call(na.gradient,r,v,d,a.colorscale,\"fill\")}else t.fillcolor&&e.call(Xd.fill,t.fillcolor)}na.singleFillStyle=function(e,t){var r=od.select(e.node()),n=r.data(),i=((n[0]||[])[0]||{}).trace||{};Aoe(e,i,t,!1)};na.fillGroupStyle=function(e,t,r){e.style(\"stroke-width\",0).each(function(n){var i=od.select(this);n[0].trace&&Aoe(i,n[0].trace,t,r)})};var voe=doe();na.symbolNames=[];na.symbolFuncs=[];na.symbolBackOffs=[];na.symbolNeedLines={};na.symbolNoDot={};na.symbolNoFill={};na.symbolList=[];Object.keys(voe).forEach(function(e){var t=voe[e],r=t.n;na.symbolList.push(r,String(r),e,r+100,String(r+100),e+\"-open\"),na.symbolNames[r]=e,na.symbolFuncs[r]=t.f,na.symbolBackOffs[r]=t.backoff||0,t.needLine&&(na.symbolNeedLines[r]=!0),t.noDot?na.symbolNoDot[r]=!0:na.symbolList.push(r+200,String(r+200),e+\"-dot\",r+300,String(r+300),e+\"-open-dot\"),t.noFill&&(na.symbolNoFill[r]=!0)});var Tat=na.symbolNames.length,Aat=\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\";na.symbolNumber=function(e){if(Ab(e))e=+e;else if(typeof e==\"string\"){var t=0;e.indexOf(\"-open\")>0&&(t=100,e=e.replace(\"-open\",\"\")),e.indexOf(\"-dot\")>0&&(t+=200,e=e.replace(\"-dot\",\"\")),e=na.symbolNames.indexOf(e),e>=0&&(e+=t)}return e%100>=Tat||e>=400?0:Math.floor(Math.max(e,0))};function Soe(e,t,r,n){var i=e%100;return na.symbolFuncs[i](t,r,n)+(e>=200?Aat:\"\")}var poe=hat(\"~f\"),Moe={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}};na.gradient=function(e,t,r,n,i,a){var o=Moe[n];return Eoe(e,t,r,o.type,i,a,o.start,o.stop,!1,o.reversed)};function Eoe(e,t,r,n,i,a,o,s,l,u){var c=i.length,f;n===\"linear\"?f={node:\"linearGradient\",attrs:{x1:o.x,y1:o.y,x2:s.x,y2:s.y,gradientUnits:l?\"userSpaceOnUse\":\"objectBoundingBox\"},reversed:u}:n===\"radial\"&&(f={node:\"radialGradient\",reversed:u});for(var h=new Array(c),d=0;d<c;d++)f.reversed?h[c-1-d]=[poe((1-i[d][0])*100),i[d][1]]:h[d]=[poe(i[d][0]*100),i[d][1]];var v=t._fullLayout,x=\"g\"+v._uid+\"-\"+r,b=v._defs.select(\".gradients\").selectAll(\"#\"+x).data([n+h.join(\";\")],du.identity);b.exit().remove(),b.enter().append(f.node).each(function(){var p=od.select(this);f.attrs&&p.attr(f.attrs),p.attr(\"id\",x);var E=p.selectAll(\"stop\").data(h);E.exit().remove(),E.enter().append(\"stop\"),E.each(function(k){var A=OO(k[1]);od.select(this).attr({offset:k[0]+\"%\",\"stop-color\":Xd.tinyRGB(A),\"stop-opacity\":A.getAlpha()})})}),e.style(a,BO(x,t)).style(a+\"-opacity\",null),e.classed(\"gradient_filled\",!0)}na.pattern=function(e,t,r,n,i,a,o,s,l,u,c,f){var h=t===\"legend\";s&&(l===\"overlay\"?(u=s,c=Xd.contrast(u)):(u=void 0,c=s));var d=r._fullLayout,v=\"p\"+d._uid+\"-\"+n,x,b,p=function(q,V,H,X,G){return X+(G-X)*(q-V)/(H-V)},E,k,A,L,_={},C=OO(c),M=Xd.tinyRGB(C),g=C.getAlpha(),P=f*g;switch(i){case\"/\":x=a*Math.sqrt(2),b=a*Math.sqrt(2),E=\"M-\"+x/4+\",\"+b/4+\"l\"+x/2+\",-\"+b/2+\"M0,\"+b+\"L\"+x+\",0M\"+x/4*3+\",\"+b/4*5+\"l\"+x/2+\",-\"+b/2,k=o*a,L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"\\\\\":x=a*Math.sqrt(2),b=a*Math.sqrt(2),E=\"M\"+x/4*3+\",-\"+b/4+\"l\"+x/2+\",\"+b/2+\"M0,0L\"+x+\",\"+b+\"M-\"+x/4+\",\"+b/4*3+\"l\"+x/2+\",\"+b/2,k=o*a,L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"x\":x=a*Math.sqrt(2),b=a*Math.sqrt(2),E=\"M-\"+x/4+\",\"+b/4+\"l\"+x/2+\",-\"+b/2+\"M0,\"+b+\"L\"+x+\",0M\"+x/4*3+\",\"+b/4*5+\"l\"+x/2+\",-\"+b/2+\"M\"+x/4*3+\",-\"+b/4+\"l\"+x/2+\",\"+b/2+\"M0,0L\"+x+\",\"+b+\"M-\"+x/4+\",\"+b/4*3+\"l\"+x/2+\",\"+b/2,k=a-a*Math.sqrt(1-o),L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"|\":x=a,b=a,L=\"path\",E=\"M\"+x/2+\",0L\"+x/2+\",\"+b,k=o*a,L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"-\":x=a,b=a,L=\"path\",E=\"M0,\"+b/2+\"L\"+x+\",\"+b/2,k=o*a,L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"+\":x=a,b=a,L=\"path\",E=\"M\"+x/2+\",0L\"+x/2+\",\"+b+\"M0,\"+b/2+\"L\"+x+\",\"+b/2,k=a-a*Math.sqrt(1-o),L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\".\":x=a,b=a,o<Math.PI/4?A=Math.sqrt(o*a*a/Math.PI):A=p(o,Math.PI/4,1,a/2,a/Math.sqrt(2)),L=\"circle\",_={cx:x/2,cy:b/2,r:A,opacity:P,fill:M};break}var T=[i||\"noSh\",u||\"noBg\",c||\"noFg\",a,o].join(\";\"),F=d._defs.select(\".patterns\").selectAll(\"#\"+v).data([T],du.identity);F.exit().remove(),F.enter().append(\"pattern\").each(function(){var q=od.select(this);if(q.attr({id:v,width:x+\"px\",height:b+\"px\",patternUnits:\"userSpaceOnUse\",patternTransform:h?\"scale(0.8)\":\"\"}),u){var V=OO(u),H=Xd.tinyRGB(V),X=V.getAlpha(),G=q.selectAll(\"rect\").data([0]);G.exit().remove(),G.enter().append(\"rect\").attr({width:x+\"px\",height:b+\"px\",fill:H,\"fill-opacity\":X})}var N=q.selectAll(L).data([0]);N.exit().remove(),N.enter().append(L).attr(_)}),e.style(\"fill\",BO(v,r)).style(\"fill-opacity\",null),e.classed(\"pattern_filled\",!0)};na.initGradients=function(e){var t=e._fullLayout,r=du.ensureSingle(t._defs,\"g\",\"gradients\");r.selectAll(\"linearGradient,radialGradient\").remove(),od.select(e).selectAll(\".gradient_filled\").classed(\"gradient_filled\",!1)};na.initPatterns=function(e){var t=e._fullLayout,r=du.ensureSingle(t._defs,\"g\",\"patterns\");r.selectAll(\"pattern\").remove(),od.select(e).selectAll(\".pattern_filled\").classed(\"pattern_filled\",!1)};na.getPatternAttr=function(e,t,r){return e&&du.isArrayOrTypedArray(e)?t<e.length?e[t]:r:e};na.pointStyle=function(e,t,r,n){if(e.size()){var i=na.makePointStyleFns(t);e.each(function(a){na.singlePointStyle(a,od.select(this),t,i,r,n)})}};na.singlePointStyle=function(e,t,r,n,i,a){var o=r.marker,s=o.line;if(a&&a.i>=0&&e.i===void 0&&(e.i=a.i),t.style(\"opacity\",n.selectedOpacityFn?n.selectedOpacityFn(e):e.mo===void 0?o.opacity:e.mo),n.ms2mrc){var l;e.ms===\"various\"||o.size===\"various\"?l=3:l=n.ms2mrc(e.ms),e.mrc=l,n.selectedSizeFn&&(l=e.mrc=n.selectedSizeFn(e));var u=na.symbolNumber(e.mx||o.symbol)||0;e.om=u%200>=100;var c=UO(e,r),f=NO(e,r);t.attr(\"d\",Soe(u,l,c,f))}var h=!1,d,v,x;if(e.so)x=s.outlierwidth,v=s.outliercolor,d=o.outliercolor;else{var b=(s||{}).width;x=(e.mlw+1||b+1||(e.trace?(e.trace.marker.line||{}).width:0)+1)-1||0,\"mlc\"in e?v=e.mlcc=n.lineScale(e.mlc):du.isArrayOrTypedArray(s.color)?v=Xd.defaultLine:v=s.color,du.isArrayOrTypedArray(o.color)&&(d=Xd.defaultLine,h=!0),\"mc\"in e?d=e.mcc=n.markerScale(e.mc):d=o.color||o.colors||\"rgba(0,0,0,0)\",n.selectedColorFn&&(d=n.selectedColorFn(e))}if(e.om)t.call(Xd.stroke,d).style({\"stroke-width\":(x||1)+\"px\",fill:\"none\"});else{t.style(\"stroke-width\",(e.isBlank?0:x)+\"px\");var p=o.gradient,E=e.mgt;E?h=!0:E=p&&p.type,du.isArrayOrTypedArray(E)&&(E=E[0],Moe[E]||(E=0));var k=o.pattern,A=k&&na.getPatternAttr(k.shape,e.i,\"\");if(E&&E!==\"none\"){var L=e.mgc;L?h=!0:L=p.color;var _=r.uid;h&&(_+=\"-\"+e.i),na.gradient(t,i,_,E,[[0,L],[1,d]],\"fill\")}else if(A){var C=!1,M=k.fgcolor;!M&&a&&a.color&&(M=a.color,C=!0);var g=na.getPatternAttr(M,e.i,a&&a.color||null),P=na.getPatternAttr(k.bgcolor,e.i,null),T=k.fgopacity,F=na.getPatternAttr(k.size,e.i,8),q=na.getPatternAttr(k.solidity,e.i,.3);C=C||e.mcc||du.isArrayOrTypedArray(k.shape)||du.isArrayOrTypedArray(k.bgcolor)||du.isArrayOrTypedArray(k.fgcolor)||du.isArrayOrTypedArray(k.size)||du.isArrayOrTypedArray(k.solidity);var V=r.uid;C&&(V+=\"-\"+e.i),na.pattern(t,\"point\",i,V,A,F,q,e.mcc,k.fillmode,P,g,T)}else du.isArrayOrTypedArray(d)?Xd.fill(t,d[e.i]):Xd.fill(t,d);x&&Xd.stroke(t,v)}};na.makePointStyleFns=function(e){var t={},r=e.marker;return t.markerScale=na.tryColorscale(r,\"\"),t.lineScale=na.tryColorscale(r,\"line\"),tL.traceIs(e,\"symbols\")&&(t.ms2mrc=mat.isBubble(e)?yat(e):function(){return(r.size||6)/2}),e.selectedpoints&&du.extendFlat(t,na.makeSelectedPointStyleFns(e)),t};na.makeSelectedPointStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.marker||{},a=r.marker||{},o=n.marker||{},s=i.opacity,l=a.opacity,u=o.opacity,c=l!==void 0,f=u!==void 0;(du.isArrayOrTypedArray(s)||c||f)&&(t.selectedOpacityFn=function(A){var L=A.mo===void 0?i.opacity:A.mo;return A.selected?c?l:L:f?u:Toe*L});var h=i.color,d=a.color,v=o.color;(d||v)&&(t.selectedColorFn=function(A){var L=A.mcc||h;return A.selected?d||L:v||L});var x=i.size,b=a.size,p=o.size,E=b!==void 0,k=p!==void 0;return tL.traceIs(e,\"symbols\")&&(E||k)&&(t.selectedSizeFn=function(A){var L=A.mrc||x/2;return A.selected?E?b/2:L:k?p/2:L}),t};na.makeSelectedTextStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,u=o.color;return t.selectedTextColorFn=function(c){var f=c.tc||s;return c.selected?l||f:u||(l?f:Xd.addOpacity(f,Toe))},t};na.selectedPointStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=na.makeSelectedPointStyleFns(t),n=t.marker||{},i=[];r.selectedOpacityFn&&i.push(function(a,o){a.style(\"opacity\",r.selectedOpacityFn(o))}),r.selectedColorFn&&i.push(function(a,o){Xd.fill(a,r.selectedColorFn(o))}),r.selectedSizeFn&&i.push(function(a,o){var s=o.mx||n.symbol||0,l=r.selectedSizeFn(o);a.attr(\"d\",Soe(na.symbolNumber(s),l,UO(o,t),NO(o,t))),o.mrc2=l}),i.length&&e.each(function(a){for(var o=od.select(this),s=0;s<i.length;s++)i[s](o,a)})}};na.tryColorscale=function(e,t){var r=t?du.nestedProperty(e,t).get():e;if(r){var n=r.color;if((r.colorscale||r._colorAx)&&du.isArrayOrTypedArray(n))return dat.makeColorScaleFuncFromTrace(r)}return du.identity};var DO={start:1,end:-1,middle:0,bottom:1,top:-1};function koe(e,t,r,n,i){var a=od.select(e.node().parentNode),o=t.indexOf(\"top\")!==-1?\"top\":t.indexOf(\"bottom\")!==-1?\"bottom\":\"middle\",s=t.indexOf(\"left\")!==-1?\"end\":t.indexOf(\"right\")!==-1?\"start\":\"middle\",l=n?n/.8+1:0,u=(rL.lineCount(e)-1)*gat+1,c=DO[s]*l,f=r*.75+DO[o]*l+(DO[o]-1)*u*r/2;e.attr(\"text-anchor\",s),i||a.attr(\"transform\",KS(c,f))}function Coe(e,t){var r=e.ts||t.textfont.size;return Ab(r)&&r>0?r:0}na.textPointStyle=function(e,t,r){if(e.size()){var n;if(t.selectedpoints){var i=na.makeSelectedTextStyleFns(t);n=i.selectedTextColorFn}var a=t.texttemplate,o=r._fullLayout;e.each(function(s){var l=od.select(this),u=a?du.extractOption(s,t,\"txt\",\"texttemplate\"):du.extractOption(s,t,\"tx\",\"text\");if(!u&&u!==0){l.remove();return}if(a){var c=t._module.formatLabels,f=c?c(s,t,o):{},h={};_at(h,t,s.i);var d=t._meta||{};u=du.texttemplateString(u,f,o._d3locale,h,s,d)}var v=s.tp||t.textposition,x=Coe(s,t),b=n?n(s):s.tc||t.textfont.color;l.call(na.font,{family:s.tf||t.textfont.family,weight:s.tw||t.textfont.weight,style:s.ty||t.textfont.style,variant:s.tv||t.textfont.variant,textcase:s.tC||t.textfont.textcase,lineposition:s.tE||t.textfont.lineposition,shadow:s.tS||t.textfont.shadow,size:x,color:b}).text(u).call(rL.convertToTspans,r).call(koe,v,x,s.mrc)})}};na.selectedTextStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=na.makeSelectedTextStyleFns(t);e.each(function(n){var i=od.select(this),a=r.selectedTextColorFn(n),o=n.tp||t.textposition,s=Coe(n,t);Xd.fill(i,a);var l=tL.traceIs(t,\"bar-like\");koe(i,o,s,n.mrc2||n.mrc,l)})}};var goe=.5;na.smoothopen=function(e,t){if(e.length<3)return\"M\"+e.join(\"L\");var r=\"M\"+e[0],n=[],i;for(i=1;i<e.length-1;i++)n.push(eL(e[i-1],e[i],e[i+1],t));for(r+=\"Q\"+n[0][0]+\" \"+e[1],i=2;i<e.length-1;i++)r+=\"C\"+n[i-2][1]+\" \"+n[i-1][0]+\" \"+e[i];return r+=\"Q\"+n[e.length-3][1]+\" \"+e[e.length-1],r};na.smoothclosed=function(e,t){if(e.length<3)return\"M\"+e.join(\"L\")+\"Z\";var r=\"M\"+e[0],n=e.length-1,i=[eL(e[n],e[0],e[1],t)],a;for(a=1;a<n;a++)i.push(eL(e[a-1],e[a],e[a+1],t));for(i.push(eL(e[n-1],e[n],e[0],t)),a=1;a<=n;a++)r+=\"C\"+i[a-1][1]+\" \"+i[a][0]+\" \"+e[a];return r+=\"C\"+i[n][1]+\" \"+i[0][0]+\" \"+e[0]+\"Z\",r};var Loe,Poe;function M3(e,t,r){return r&&(e=Ioe(e)),t?Tb(e[1]):wb(e[0])}function wb(e){var t=od.round(e,2);return Loe=t,t}function Tb(e){var t=od.round(e,2);return Poe=t,t}function eL(e,t,r,n){var i=e[0]-t[0],a=e[1]-t[1],o=r[0]-t[0],s=r[1]-t[1],l=Math.pow(i*i+a*a,goe/2),u=Math.pow(o*o+s*s,goe/2),c=(u*u*i-l*l*o)*n,f=(u*u*a-l*l*s)*n,h=3*u*(l+u),d=3*l*(l+u);return[[wb(t[0]+(h&&c/h)),Tb(t[1]+(h&&f/h))],[wb(t[0]-(d&&c/d)),Tb(t[1]-(d&&f/d))]]}var Sat={hv:function(e,t,r){return\"H\"+wb(t[0])+\"V\"+M3(t,1,r)},vh:function(e,t,r){return\"V\"+Tb(t[1])+\"H\"+M3(t,0,r)},hvh:function(e,t,r){return\"H\"+wb((e[0]+t[0])/2)+\"V\"+Tb(t[1])+\"H\"+M3(t,0,r)},vhv:function(e,t,r){return\"V\"+Tb((e[1]+t[1])/2)+\"H\"+wb(t[0])+\"V\"+M3(t,1,r)}},Mat=function(e,t,r){return\"L\"+M3(t,0,r)+\",\"+M3(t,1,r)};na.steps=function(e){var t=Sat[e]||Mat;return function(r){for(var n=\"M\"+wb(r[0][0])+\",\"+Tb(r[0][1]),i=r.length,a=1;a<i;a++)n+=t(r[a-1],r[a],a===i-1);return n}};function Ioe(e,t){var r=e.backoff,n=e.trace,i=e.d,a=e.i;if(r&&n&&n.marker&&n.marker.angle%360===0&&n.line&&n.line.shape!==\"spline\"){var o=du.isArrayOrTypedArray(r),s=e,l=t?t[0]:Loe||0,u=t?t[1]:Poe||0,c=s[0],f=s[1],h=c-l,d=f-u,v=Math.atan2(d,h),x=o?r[a]:r;if(x===\"auto\"){var b=s.i;n.type===\"scatter\"&&b--;var p=s.marker,E=p.symbol;du.isArrayOrTypedArray(E)&&(E=E[b]);var k=p.size;du.isArrayOrTypedArray(k)&&(k=k[b]),x=p?na.symbolBackOffs[na.symbolNumber(E)]*k:0,x+=na.getMarkerStandoff(i[b],n)||0}var A=c-x*Math.cos(v),L=f-x*Math.sin(v);(A<=c&&A>=l||A>=c&&A<=l)&&(L<=f&&L>=u||L>=f&&L<=u)&&(e=[A,L])}return e}na.applyBackoff=Ioe;na.makeTester=function(){var e=du.ensureSingleById(od.select(\"body\"),\"svg\",\"js-plotly-tester\",function(r){r.attr(vat.svgAttrs).style({position:\"absolute\",left:\"-10000px\",top:\"-10000px\",width:\"9000px\",height:\"9000px\",\"z-index\":\"1\"})}),t=du.ensureSingle(e,\"path\",\"js-reference-point\",function(r){r.attr(\"d\",\"M0,0H1V1H0Z\").style({\"stroke-width\":0,fill:\"black\"})});na.tester=e,na.testref=t};na.savedBBoxes={};var zO=0,Eat=1e4;na.bBox=function(e,t,r){r||(r=moe(e));var n;if(r){if(n=na.savedBBoxes[r],n)return du.extendFlat({},n)}else if(e.childNodes.length===1){var i=e.childNodes[0];if(r=moe(i),r){var a=+i.getAttribute(\"x\")||0,o=+i.getAttribute(\"y\")||0,s=i.getAttribute(\"transform\");if(!s){var l=na.bBox(i,!1,r);return a&&(l.left+=a,l.right+=a),o&&(l.top+=o,l.bottom+=o),l}if(r+=\"~\"+a+\"~\"+o+\"~\"+s,n=na.savedBBoxes[r],n)return du.extendFlat({},n)}}var u,c;t?u=e:(c=na.tester.node(),u=e.cloneNode(!0),c.appendChild(u)),od.select(u).attr(\"transform\",null).call(rL.positionText,0,0);var f=u.getBoundingClientRect(),h=na.testref.node().getBoundingClientRect();t||c.removeChild(u);var d={height:f.height,width:f.width,left:f.left-h.left,top:f.top-h.top,right:f.right-h.left,bottom:f.bottom-h.top};return zO>=Eat&&(na.savedBBoxes={},zO=0),r&&(na.savedBBoxes[r]=d),zO++,du.extendFlat({},d)};function moe(e){var t=e.getAttribute(\"data-unformatted\");if(t!==null)return t+e.getAttribute(\"data-math\")+e.getAttribute(\"text-anchor\")+e.getAttribute(\"style\")}na.setClipUrl=function(e,t,r){e.attr(\"clip-path\",BO(t,r))};function BO(e,t){if(!e)return null;var r=t._context,n=r._exportedPlot?\"\":r._baseUrl||\"\";return n?\"url('\"+n+\"#\"+e+\"')\":\"url(#\"+e+\")\"}na.getTranslate=function(e){var t=/.*\\btranslate\\((-?\\d*\\.?\\d*)[^-\\d]*(-?\\d*\\.?\\d*)[^\\d].*/,r=e.attr?\"attr\":\"getAttribute\",n=e[r](\"transform\")||\"\",i=n.replace(t,function(a,o,s){return[o,s].join(\" \")}).split(\" \");return{x:+i[0]||0,y:+i[1]||0}};na.setTranslate=function(e,t,r){var n=/(\\btranslate\\(.*?\\);?)/,i=e.attr?\"attr\":\"getAttribute\",a=e.attr?\"attr\":\"setAttribute\",o=e[i](\"transform\")||\"\";return t=t||0,r=r||0,o=o.replace(n,\"\").trim(),o+=KS(t,r),o=o.trim(),e[a](\"transform\",o),o};na.getScale=function(e){var t=/.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/,r=e.attr?\"attr\":\"getAttribute\",n=e[r](\"transform\")||\"\",i=n.replace(t,function(a,o,s){return[o,s].join(\" \")}).split(\" \");return{x:+i[0]||1,y:+i[1]||1}};na.setScale=function(e,t,r){var n=/(\\bscale\\(.*?\\);?)/,i=e.attr?\"attr\":\"getAttribute\",a=e.attr?\"attr\":\"setAttribute\",o=e[i](\"transform\")||\"\";return t=t||1,r=r||1,o=o.replace(n,\"\").trim(),o+=\"scale(\"+t+\",\"+r+\")\",o=o.trim(),e[a](\"transform\",o),o};var kat=/\\s*sc.*/;na.setPointGroupScale=function(e,t,r){if(t=t||1,r=r||1,!!e){var n=t===1&&r===1?\"\":\"scale(\"+t+\",\"+r+\")\";e.each(function(){var i=(this.getAttribute(\"transform\")||\"\").replace(kat,\"\");i+=n,i=i.trim(),this.setAttribute(\"transform\",i)})}};var Cat=/translate\\([^)]*\\)\\s*$/;na.setTextPointsScale=function(e,t,r){e&&e.each(function(){var n,i=od.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(Cat);t===1&&r===1?n=[]:n=[KS(o,s),\"scale(\"+t+\",\"+r+\")\",KS(-o,-s)],l&&n.push(l),i.attr(\"transform\",n.join(\"\"))}})};function NO(e,t){var r;return e&&(r=e.mf),r===void 0&&(r=t.marker&&t.marker.standoff||0),!t._geo&&!t._xA?-r:r}na.getMarkerStandoff=NO;var YS=Math.atan2,bb=Math.cos,E3=Math.sin;function yoe(e,t){var r=t[0],n=t[1];return[r*bb(e)-n*E3(e),r*E3(e)+n*bb(e)]}var _oe,xoe,boe,woe,FO,qO;function UO(e,t){var r=e.ma;r===void 0&&(r=t.marker.angle,(!r||du.isArrayOrTypedArray(r))&&(r=0));var n,i,a=t.marker.angleref;if(a===\"previous\"||a===\"north\"){if(t._geo){var o=t._geo.project(e.lonlat);n=o[0],i=o[1]}else{var s=t._xA,l=t._yA;if(s&&l)n=s.c2p(e.x),i=l.c2p(e.y);else return 90}if(t._geo){var u=e.lonlat[0],c=e.lonlat[1],f=t._geo.project([u,c+1e-5]),h=t._geo.project([u+1e-5,c]),d=YS(h[1]-i,h[0]-n),v=YS(f[1]-i,f[0]-n),x;if(a===\"north\")x=r/180*Math.PI;else if(a===\"previous\"){var b=u/180*Math.PI,p=c/180*Math.PI,E=_oe/180*Math.PI,k=xoe/180*Math.PI,A=E-b,L=bb(k)*E3(A),_=E3(k)*bb(p)-bb(k)*E3(p)*bb(A);x=-YS(L,_)-Math.PI,_oe=u,xoe=c}var C=yoe(d,[bb(x),0]),M=yoe(v,[E3(x),0]);r=YS(C[1]+M[1],C[0]+M[0])/Math.PI*180,a===\"previous\"&&!(qO===t.uid&&e.i===FO+1)&&(r=null)}if(a===\"previous\"&&!t._geo)if(qO===t.uid&&e.i===FO+1&&Ab(n)&&Ab(i)){var g=n-boe,P=i-woe,T=t.line&&t.line.shape||\"\",F=T.slice(T.length-1);F===\"h\"&&(P=0),F===\"v\"&&(g=0),r+=YS(P,g)/Math.PI*180+90}else r=null}return boe=n,woe=i,FO=e.i,qO=t.uid,r}na.getMarkerAngle=UO});var Mb=ye((xrr,qoe)=>{\"use strict\";var k3=xa(),Lat=uo(),Pat=Xu(),VO=ba(),Sb=Mr(),Doe=Sb.strTranslate,iL=ao(),nL=va(),C3=Pl(),zoe=U1(),Iat=Nh().OPPOSITE_SIDE,Foe=/ [XY][0-9]* /,HO=1.6,GO=1.6;function Rat(e,t,r){var n=e._fullLayout,i=r.propContainer,a=r.propName,o=r.placeholder,s=r.traceIndex,l=r.avoid||{},u=r.attributes,c=r.transform,f=r.containerGroup,h=1,d=i.title,v=(d&&d.text?d.text:\"\").trim(),x=!1,b=d&&d.font?d.font:{},p=b.family,E=b.size,k=b.color,A=b.weight,L=b.style,_=b.variant,C=b.textcase,M=b.lineposition,g=b.shadow,P=r.subtitlePropName,T=!!P,F=r.subtitlePlaceholder,q=(i.title||{}).subtitle||{text:\"\",font:{}},V=q.text.trim(),H=!1,X=1,G=q.font,N=G.family,W=G.size,re=G.color,ae=G.weight,_e=G.style,Me=G.variant,ke=G.textcase,ge=G.lineposition,ie=G.shadow,Te;a===\"title.text\"?Te=\"titleText\":a.indexOf(\"axis\")!==-1?Te=\"axisTitleText\":a.indexOf(\"colorbar\"!==-1)&&(Te=\"colorbarTitleText\");var Ee=e._context.edits[Te];function Ae(kt,Ct){return kt===void 0||Ct===void 0?!1:kt.replace(Foe,\" % \")===Ct.replace(Foe,\" % \")}v===\"\"?h=0:Ae(v,o)&&(Ee||(v=\"\"),h=.2,x=!0),T&&(V===\"\"?X=0:Ae(V,F)&&(Ee||(V=\"\"),X=.2,H=!0)),r._meta?v=Sb.templateString(v,r._meta):n._meta&&(v=Sb.templateString(v,n._meta));var ze=v||V||Ee,Ce;f||(f=Sb.ensureSingle(n._infolayer,\"g\",\"g-\"+t),Ce=n._hColorbarMoveTitle);var me=f.selectAll(\"text.\"+t).data(ze?[0]:[]);me.enter().append(\"text\"),me.text(v).attr(\"class\",t),me.exit().remove();var Re=null,ce=t+\"-subtitle\",Ge=V||Ee;if(T&&Ge&&(Re=f.selectAll(\"text.\"+ce).data(Ge?[0]:[]),Re.enter().append(\"text\"),Re.text(V).attr(\"class\",ce),Re.exit().remove()),!ze)return f;function nt(kt,Ct){Sb.syncOrAsync([ct,qt],{title:kt,subtitle:Ct})}function ct(kt){var Ct=kt.title,Yt=kt.subtitle,xr;!c&&Ce&&(c={}),c?(xr=\"\",c.rotate&&(xr+=\"rotate(\"+[c.rotate,u.x,u.y]+\")\"),(c.offset||Ce)&&(xr+=Doe(0,(c.offset||0)-(Ce||0)))):xr=null,Ct.attr(\"transform\",xr);function er(Et){if(Et){var dt=k3.select(Et.node().parentNode).select(\".\"+ce);if(!dt.empty()){var Ht=Et.node().getBBox();if(Ht.height){var $t=Ht.y+Ht.height+HO*W;dt.attr(\"y\",$t)}}}}if(Ct.style(\"opacity\",h*nL.opacity(k)).call(iL.font,{color:nL.rgb(k),size:k3.round(E,2),family:p,weight:A,style:L,variant:_,textcase:C,shadow:g,lineposition:M}).attr(u).call(C3.convertToTspans,e,er),Yt){var Ke=f.select(\".\"+t+\"-math-group\"),xt=Ct.node().getBBox(),bt=Ke.node()?Ke.node().getBBox():void 0,Lt=bt?bt.y+bt.height+HO*W:xt.y+xt.height+GO*W,St=Sb.extendFlat({},u,{y:Lt});Yt.attr(\"transform\",xr),Yt.style(\"opacity\",X*nL.opacity(re)).call(iL.font,{color:nL.rgb(re),size:k3.round(W,2),family:N,weight:ae,style:_e,variant:Me,textcase:ke,shadow:ie,lineposition:ge}).attr(St).call(C3.convertToTspans,e)}return Pat.previousPromises(e)}function qt(kt){var Ct=kt.title,Yt=k3.select(Ct.node().parentNode);if(l&&l.selection&&l.side&&v){Yt.attr(\"transform\",null);var xr=Iat[l.side],er=l.side===\"left\"||l.side===\"top\"?-1:1,Ke=Lat(l.pad)?l.pad:2,xt=iL.bBox(Yt.node()),bt={t:0,b:0,l:0,r:0},Lt=e._fullLayout._reservedMargin;for(var St in Lt)for(var Et in Lt[St]){var dt=Lt[St][Et];bt[Et]=Math.max(bt[Et],dt)}var Ht={left:bt.l,top:bt.t,right:n.width-bt.r,bottom:n.height-bt.b},$t=l.maxShift||er*(Ht[l.side]-xt[l.side]),fr=0;if($t<0)fr=$t;else{var _r=l.offsetLeft||0,Br=l.offsetTop||0;xt.left-=_r,xt.right-=_r,xt.top-=Br,xt.bottom-=Br,l.selection.each(function(){var Nr=iL.bBox(this);Sb.bBoxIntersect(xt,Nr,Ke)&&(fr=Math.max(fr,er*(Nr[l.side]-xt[xr])+Ke))}),fr=Math.min($t,fr),i._titleScoot=Math.abs(fr)}if(fr>0||$t<0){var Or={left:[-fr,0],right:[fr,0],top:[0,-fr],bottom:[0,fr]}[l.side];Yt.attr(\"transform\",Doe(Or[0],Or[1]))}}}me.call(nt,Re);function rt(kt,Ct){kt.text(Ct).on(\"mouseover.opacity\",function(){k3.select(this).transition().duration(zoe.SHOW_PLACEHOLDER).style(\"opacity\",1)}).on(\"mouseout.opacity\",function(){k3.select(this).transition().duration(zoe.HIDE_PLACEHOLDER).style(\"opacity\",0)})}if(Ee&&(v?me.on(\".opacity\",null):(rt(me,o),x=!0),me.call(C3.makeEditable,{gd:e}).on(\"edit\",function(kt){s!==void 0?VO.call(\"_guiRestyle\",e,a,kt,s):VO.call(\"_guiRelayout\",e,a,kt)}).on(\"cancel\",function(){this.text(this.attr(\"data-unformatted\")).call(nt)}).on(\"input\",function(kt){this.text(kt||\" \").call(C3.positionText,u.x,u.y)}),T)){if(T&&!v){var ot=me.node().getBBox(),Rt=ot.y+ot.height+GO*W;Re.attr(\"y\",Rt)}V?Re.on(\".opacity\",null):(rt(Re,F),H=!0),Re.call(C3.makeEditable,{gd:e}).on(\"edit\",function(kt){VO.call(\"_guiRelayout\",e,\"title.subtitle.text\",kt)}).on(\"cancel\",function(){this.text(this.attr(\"data-unformatted\")).call(nt)}).on(\"input\",function(kt){this.text(kt||\" \").call(C3.positionText,Re.attr(\"x\"),Re.attr(\"y\"))})}return me.classed(\"js-placeholder\",x),Re&&Re.classed(\"js-placeholder\",H),f}qoe.exports={draw:Rat,SUBTITLE_PADDING_EM:GO,SUBTITLE_PADDING_MATHJAX_EM:HO}});var ym=ye((brr,Voe)=>{\"use strict\";var Dat=xa(),zat=e3().utcFormat,Nu=Mr(),Fat=Nu.numberFormat,gm=uo(),a_=Nu.cleanNumber,qat=Nu.ms2DateTime,Ooe=Nu.dateTime2ms,mm=Nu.ensureNumber,Boe=Nu.isArrayOrTypedArray,o_=es(),aL=o_.FP_SAFE,bg=o_.BADNUM,Oat=o_.LOG_CLIP,Bat=o_.ONEWEEK,oL=o_.ONEDAY,sL=o_.ONEHOUR,Noe=o_.ONEMIN,Uoe=o_.ONESEC,lL=af(),fL=ad(),uL=fL.HOUR_PATTERN,cL=fL.WEEKDAY_PATTERN;function JS(e){return Math.pow(10,e)}function jO(e){return e!=null}Voe.exports=function(t,r){r=r||{};var n=t._id||\"x\",i=n.charAt(0);function a(A,L){if(A>0)return Math.log(A)/Math.LN10;if(A<=0&&L&&t.range&&t.range.length===2){var _=t.range[0],C=t.range[1];return .5*(_+C-2*Oat*Math.abs(_-C))}else return bg}function o(A,L,_,C){if((C||{}).msUTC&&gm(A))return+A;var M=Ooe(A,_||t.calendar);if(M===bg)if(gm(A)){A=+A;var g=Math.floor(Nu.mod(A+.05,1)*10),P=Math.round(A-g/10);M=Ooe(new Date(P))+g/10}else return bg;return M}function s(A,L,_){return qat(A,L,_||t.calendar)}function l(A){return t._categories[Math.round(A)]}function u(A){if(jO(A)){if(t._categoriesMap===void 0&&(t._categoriesMap={}),t._categoriesMap[A]!==void 0)return t._categoriesMap[A];t._categories.push(typeof A==\"number\"?String(A):A);var L=t._categories.length-1;return t._categoriesMap[A]=L,L}return bg}function c(A,L){for(var _=new Array(L),C=0;C<L;C++){var M=(A[0]||[])[C],g=(A[1]||[])[C];_[C]=f([M,g])}return _}function f(A){if(t._categoriesMap)return t._categoriesMap[A]}function h(A){var L=f(A);if(L!==void 0)return L;if(gm(A))return+A}function d(A){return gm(A)?+A:f(A)}function v(A,L,_){return Dat.round(_+L*A,2)}function x(A,L,_){return(A-_)/L}var b=function(L){return gm(L)?v(L,t._m,t._b):bg},p=function(A){return x(A,t._m,t._b)};if(t.rangebreaks){var E=i===\"y\";b=function(A){if(!gm(A))return bg;var L=t._rangebreaks.length;if(!L)return v(A,t._m,t._b);var _=E;t.range[0]>t.range[1]&&(_=!_);for(var C=_?-1:1,M=C*A,g=0,P=0;P<L;P++){var T=C*t._rangebreaks[P].min,F=C*t._rangebreaks[P].max;if(M<T)break;if(M>F)g=P+1;else{g=M<(T+F)/2?P:P+1;break}}var q=t._B[g]||0;return isFinite(q)?v(A,t._m2,q):0},p=function(A){var L=t._rangebreaks.length;if(!L)return x(A,t._m,t._b);for(var _=0,C=0;C<L&&!(A<t._rangebreaks[C].pmin);C++)A>t._rangebreaks[C].pmax&&(_=C+1);return x(A,t._m2,t._B[_])}}t.c2l=t.type===\"log\"?a:mm,t.l2c=t.type===\"log\"?JS:mm,t.l2p=b,t.p2l=p,t.c2p=t.type===\"log\"?function(A,L){return b(a(A,L))}:b,t.p2c=t.type===\"log\"?function(A){return JS(p(A))}:p,[\"linear\",\"-\"].indexOf(t.type)!==-1?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=a_,t.c2d=t.c2r=t.l2d=t.l2r=mm,t.d2p=t.r2p=function(A){return t.l2p(a_(A))},t.p2d=t.p2r=p,t.cleanPos=mm):t.type===\"log\"?(t.d2r=t.d2l=function(A,L){return a(a_(A),L)},t.r2d=t.r2c=function(A){return JS(a_(A))},t.d2c=t.r2l=a_,t.c2d=t.l2r=mm,t.c2r=a,t.l2d=JS,t.d2p=function(A,L){return t.l2p(t.d2r(A,L))},t.p2d=function(A){return JS(p(A))},t.r2p=function(A){return t.l2p(a_(A))},t.p2r=p,t.cleanPos=mm):t.type===\"date\"?(t.d2r=t.r2d=Nu.identity,t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=s,t.d2p=t.r2p=function(A,L,_){return t.l2p(o(A,0,_))},t.p2d=t.p2r=function(A,L,_){return s(p(A),L,_)},t.cleanPos=function(A){return Nu.cleanDate(A,bg,t.calendar)}):t.type===\"category\"?(t.d2c=t.d2l=u,t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(A){var L=d(A);return L!==void 0?L:t.fraction2r(.5)},t.l2r=t.c2r=mm,t.r2l=d,t.d2p=function(A){return t.l2p(t.r2c(A))},t.p2d=function(A){return l(p(A))},t.r2p=t.d2p,t.p2r=p,t.cleanPos=function(A){return typeof A==\"string\"&&A!==\"\"?A:mm(A)}):t.type===\"multicategory\"&&(t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(A){var L=h(A);return L!==void 0?L:t.fraction2r(.5)},t.r2c_just_indices=f,t.l2r=t.c2r=mm,t.r2l=h,t.d2p=function(A){return t.l2p(t.r2c(A))},t.p2d=function(A){return l(p(A))},t.r2p=t.d2p,t.p2r=p,t.cleanPos=function(A){return Array.isArray(A)||typeof A==\"string\"&&A!==\"\"?A:mm(A)},t.setupMultiCategory=function(A){var L=t._traceIndices,_,C,M=t._matchGroup;if(M&&t._categories.length===0){for(var g in M)if(g!==n){var P=r[lL.id2name(g)];L=L.concat(P._traceIndices)}}var T=[[0,{}],[0,{}]],F=[];for(_=0;_<L.length;_++){var q=A[L[_]];if(i in q){var V=q[i],H=q._length||Nu.minRowLength(V);if(Boe(V[0])&&Boe(V[1]))for(C=0;C<H;C++){var X=V[0][C],G=V[1][C];jO(X)&&jO(G)&&(F.push([X,G]),X in T[0][1]||(T[0][1][X]=T[0][0]++),G in T[1][1]||(T[1][1][G]=T[1][0]++))}}}for(F.sort(function(N,W){var re=T[0][1],ae=re[N[0]]-re[W[0]];if(ae)return ae;var _e=T[1][1];return _e[N[1]]-_e[W[1]]}),_=0;_<F.length;_++)u(F[_])}),t.fraction2r=function(A){var L=t.r2l(t.range[0]),_=t.r2l(t.range[1]);return t.l2r(L+A*(_-L))},t.r2fraction=function(A){var L=t.r2l(t.range[0]),_=t.r2l(t.range[1]);return(t.r2l(A)-L)/(_-L)},t.limitRange=function(A){var L=t.minallowed,_=t.maxallowed;if(!(L===void 0&&_===void 0)){A||(A=\"range\");var C=Nu.nestedProperty(t,A).get(),M=Nu.simpleMap(C,t.r2l),g=M[1]<M[0];g&&M.reverse();var P=Nu.simpleMap([L,_],t.r2l);if(L!==void 0&&M[0]<P[0]&&(C[g?1:0]=L),_!==void 0&&M[1]>P[1]&&(C[g?0:1]=_),C[0]===C[1]){var T=t.l2r(L),F=t.l2r(_);if(L!==void 0){var q=T+1;_!==void 0&&(q=Math.min(q,F)),C[g?1:0]=q}if(_!==void 0){var V=F+1;L!==void 0&&(V=Math.max(V,T)),C[g?0:1]=V}}}},t.cleanRange=function(A,L){t._cleanRange(A,L),t.limitRange(A)},t._cleanRange=function(A,L){L||(L={}),A||(A=\"range\");var _=Nu.nestedProperty(t,A).get(),C,M;if(t.type===\"date\"?M=Nu.dfltRange(t.calendar):i===\"y\"?M=fL.DFLTRANGEY:t._name===\"realaxis\"?M=[0,1]:M=L.dfltRange||fL.DFLTRANGEX,M=M.slice(),(t.rangemode===\"tozero\"||t.rangemode===\"nonnegative\")&&(M[0]=0),!_||_.length!==2){Nu.nestedProperty(t,A).set(M);return}var g=_[0]===null,P=_[1]===null;for(t.type===\"date\"&&!t.autorange&&(_[0]=Nu.cleanDate(_[0],bg,t.calendar),_[1]=Nu.cleanDate(_[1],bg,t.calendar)),C=0;C<2;C++)if(t.type===\"date\"){if(!Nu.isDateTime(_[C],t.calendar)){t[A]=M;break}if(t.r2l(_[0])===t.r2l(_[1])){var T=Nu.constrain(t.r2l(_[0]),Nu.MIN_MS+1e3,Nu.MAX_MS-1e3);_[0]=t.l2r(T-1e3),_[1]=t.l2r(T+1e3);break}}else{if(!gm(_[C]))if(!(g||P)&&gm(_[1-C]))_[C]=_[1-C]*(C?10:.1);else{t[A]=M;break}if(_[C]<-aL?_[C]=-aL:_[C]>aL&&(_[C]=aL),_[0]===_[1]){var F=Math.max(1,Math.abs(_[0]*1e-6));_[0]-=F,_[1]+=F}}},t.setScale=function(A){var L=r._size;if(t.overlaying){var _=lL.getFromId({_fullLayout:r},t.overlaying);t.domain=_.domain}var C=A&&t._r?\"_r\":\"range\",M=t.calendar;t.cleanRange(C);var g=t.r2l(t[C][0],M),P=t.r2l(t[C][1],M),T=i===\"y\";if(T?(t._offset=L.t+(1-t.domain[1])*L.h,t._length=L.h*(t.domain[1]-t.domain[0]),t._m=t._length/(g-P),t._b=-t._m*P):(t._offset=L.l+t.domain[0]*L.w,t._length=L.w*(t.domain[1]-t.domain[0]),t._m=t._length/(P-g),t._b=-t._m*g),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks){var F,q;if(t._rangebreaks=t.locateBreaks(Math.min(g,P),Math.max(g,P)),t._rangebreaks.length){for(F=0;F<t._rangebreaks.length;F++)q=t._rangebreaks[F],t._lBreaks+=Math.abs(q.max-q.min);var V=T;g>P&&(V=!V),V&&t._rangebreaks.reverse();var H=V?-1:1;for(t._m2=H*t._length/(Math.abs(P-g)-t._lBreaks),t._B.push(-t._m2*(T?P:g)),F=0;F<t._rangebreaks.length;F++)q=t._rangebreaks[F],t._B.push(t._B[t._B.length-1]-H*t._m2*(q.max-q.min));for(F=0;F<t._rangebreaks.length;F++)q=t._rangebreaks[F],q.pmin=b(q.min),q.pmax=b(q.max)}}if(!isFinite(t._m)||!isFinite(t._b)||t._length<0)throw r._replotting=!1,new Error(\"Something went wrong with axis scaling\")},t.maskBreaks=function(A){var L=t.rangebreaks||[],_,C,M,g,P;L._cachedPatterns||(L._cachedPatterns=L.map(function(re){return re.enabled&&re.bounds?Nu.simpleMap(re.bounds,re.pattern?a_:t.d2c):null})),L._cachedValues||(L._cachedValues=L.map(function(re){return re.enabled&&re.values?Nu.simpleMap(re.values,t.d2c).sort(Nu.sorterAsc):null}));for(var T=0;T<L.length;T++){var F=L[T];if(F.enabled){if(F.bounds){var q=F.pattern;switch(_=L._cachedPatterns[T],C=_[0],M=_[1],q){case cL:P=new Date(A),g=P.getUTCDay(),C>M&&(M+=7,g<C&&(g+=7));break;case uL:P=new Date(A);var V=P.getUTCHours(),H=P.getUTCMinutes(),X=P.getUTCSeconds(),G=P.getUTCMilliseconds();g=V+(H/60+X/3600+G/36e5),C>M&&(M+=24,g<C&&(g+=24));break;case\"\":g=A;break}if(g>=C&&g<M)return bg}else for(var N=L._cachedValues[T],W=0;W<N.length;W++)if(C=N[W],M=C+F.dvalue,A>=C&&A<M)return bg}}return A},t.locateBreaks=function(A,L){var _,C,M,g,P=[];if(!t.rangebreaks)return P;var T=t.rangebreaks.slice().sort(function(_e,Me){return _e.pattern===cL&&Me.pattern===uL?-1:Me.pattern===cL&&_e.pattern===uL?1:0}),F=function(_e,Me){if(_e=Nu.constrain(_e,A,L),Me=Nu.constrain(Me,A,L),_e!==Me){for(var ke=!0,ge=0;ge<P.length;ge++){var ie=P[ge];_e<ie.max&&Me>=ie.min&&(_e<ie.min&&(ie.min=_e),Me>ie.max&&(ie.max=Me),ke=!1)}ke&&P.push({min:_e,max:Me})}};for(_=0;_<T.length;_++){var q=T[_];if(q.enabled)if(q.bounds){var V=A,H=L;q.pattern&&(V=Math.floor(V)),C=Nu.simpleMap(q.bounds,q.pattern?a_:t.r2l),M=C[0],g=C[1];var X=new Date(V),G,N;switch(q.pattern){case cL:N=Bat,G=((g<M?7:0)+(g-M))*oL,V+=M*oL-(X.getUTCDay()*oL+X.getUTCHours()*sL+X.getUTCMinutes()*Noe+X.getUTCSeconds()*Uoe+X.getUTCMilliseconds());break;case uL:N=oL,G=((g<M?24:0)+(g-M))*sL,V+=M*sL-(X.getUTCHours()*sL+X.getUTCMinutes()*Noe+X.getUTCSeconds()*Uoe+X.getUTCMilliseconds());break;default:V=Math.min(C[0],C[1]),H=Math.max(C[0],C[1]),N=H-V,G=N}for(var W=V;W<H;W+=N)F(W,W+G)}else for(var re=Nu.simpleMap(q.values,t.d2c),ae=0;ae<re.length;ae++)M=re[ae],g=M+q.dvalue,F(M,g)}return P.sort(function(_e,Me){return _e.min-Me.min}),P},t.makeCalcdata=function(A,L,_){var C,M,g,P,T=t.type,F=T===\"date\"&&A[L+\"calendar\"];if(L in A){if(C=A[L],P=A._length||Nu.minRowLength(C),Nu.isTypedArray(C)&&(T===\"linear\"||T===\"log\")){if(P===C.length)return C;if(C.subarray)return C.subarray(0,P)}if(T===\"multicategory\")return c(C,P);for(M=new Array(P),g=0;g<P;g++)M[g]=t.d2c(C[g],0,F,_)}else{var q=L+\"0\"in A?t.d2c(A[L+\"0\"],0,F):0,V=A[\"d\"+L]?Number(A[\"d\"+L]):1;for(C=A[{x:\"y\",y:\"x\"}[L]],P=A._length||C.length,M=new Array(P),g=0;g<P;g++)M[g]=q+g*V}if(t.rangebreaks)for(g=0;g<P;g++)M[g]=t.maskBreaks(M[g]);return M},t.isValidRange=function(A,L){return Array.isArray(A)&&A.length===2&&(L&&A[0]===null||gm(t.r2l(A[0])))&&(L&&A[1]===null||gm(t.r2l(A[1])))},t.getAutorangeDflt=function(A,L){var _=!t.isValidRange(A,\"nullOk\");return _&&L&&L.reverseDflt?_=\"reversed\":A&&(A[0]===null&&A[1]===null?_=!0:A[0]===null&&A[1]!==null?_=\"min\":A[0]!==null&&A[1]===null&&(_=\"max\")),_},t.isReversed=function(){var A=t.autorange;return A===\"reversed\"||A===\"min reversed\"||A===\"max reversed\"},t.isPtWithinRange=function(A,L){var _=t.c2l(A[i],null,L),C=t.r2l(t.range[0]),M=t.r2l(t.range[1]);return C<M?C<=_&&_<=M:M<=_&&_<=C},t._emptyCategories=function(){t._categories=[],t._categoriesMap={}},t.clearCalc=function(){var A=t._matchGroup;if(A){var L=null,_=null;for(var C in A){var M=r[lL.id2name(C)];if(M._categories){L=M._categories,_=M._categoriesMap;break}}L&&_?(t._categories=L,t._categoriesMap=_):t._emptyCategories()}else t._emptyCategories();if(t._initialCategories)for(var g=0;g<t._initialCategories.length;g++)u(t._initialCategories[g])},t.sortByInitialCategories=function(){var A=[];if(t._emptyCategories(),t._initialCategories)for(var L=0;L<t._initialCategories.length;L++)u(t._initialCategories[L]);A=A.concat(t._traceIndices);var _=t._matchGroup;for(var C in _)if(n!==C){var M=r[lL.id2name(C)];M._categories=t._categories,M._categoriesMap=t._categoriesMap,A=A.concat(M._traceIndices)}return A};var k=r._d3locale;t.type===\"date\"&&(t._dateFormat=k?k.timeFormat:zat,t._extraFormat=r._extraFormat),t._separators=r.separators,t._numFormat=k?k.numberFormat:Fat,delete t._minDtick,delete t._forceTick0}});var L3=ye((wrr,Woe)=>{\"use strict\";var Hoe=uo(),WO=Mr(),Nat=es().BADNUM,hL=WO.isArrayOrTypedArray,Uat=WO.isDateTime,Vat=WO.cleanNumber,Goe=Math.round;Woe.exports=function(t,r,n){var i=t,a=n.noMultiCategory;if(hL(i)&&!i.length)return\"-\";if(!a&&Zat(i))return\"multicategory\";if(a&&Array.isArray(i[0])){for(var o=[],s=0;s<i.length;s++)if(hL(i[s]))for(var l=0;l<i[s].length;l++)o.push(i[s][l]);i=o}if(jat(i,r))return\"date\";var u=n.autotypenumbers!==\"strict\";return Wat(i,u)?\"category\":Gat(i,u)?\"linear\":\"-\"};function Hat(e,t){return t?Hoe(e):typeof e==\"number\"}function Gat(e,t){for(var r=e.length,n=0;n<r;n++)if(Hat(e[n],t))return!0;return!1}function jat(e,t){for(var r=e.length,n=joe(r),i=0,a=0,o={},s=0;s<r;s+=n){var l=Goe(s),u=e[l],c=String(u);o[c]||(o[c]=1,Uat(u,t)&&i++,Hoe(u)&&a++)}return i>a*2}function joe(e){return Math.max(1,(e-1)/1e3)}function Wat(e,t){for(var r=e.length,n=joe(r),i=0,a=0,o={},s=0;s<r;s+=n){var l=Goe(s),u=e[l],c=String(u);if(!o[c]){o[c]=1;var f=typeof u;f===\"boolean\"?a++:(t?Vat(u)!==Nat:f===\"number\")?i++:f===\"string\"&&a++}}return a>i*2}function Zat(e){return hL(e[0])&&hL(e[1])}});var wg=ye((Trr,ese)=>{\"use strict\";var Xat=xa(),Koe=uo(),s_=Mr(),dL=es().FP_SAFE,Yat=ba(),Kat=ao(),Joe=af(),Jat=Joe.getFromId,$at=Joe.isLinked;ese.exports={applyAutorangeOptions:Qoe,getAutoRange:ZO,makePadFn:XO,doAutoRange:eot,findExtremes:tot,concatExtremes:JO};function ZO(e,t){var r,n,i=[],a=e._fullLayout,o=XO(a,t,0),s=XO(a,t,1),l=JO(e,t),u=l.min,c=l.max;if(u.length===0||c.length===0)return s_.simpleMap(t.range,t.r2l);var f=u[0].val,h=c[0].val;for(r=1;r<u.length&&f===h;r++)f=Math.min(f,u[r].val);for(r=1;r<c.length&&f===h;r++)h=Math.max(h,c[r].val);var d=t.autorange,v=d===\"reversed\"||d===\"min reversed\"||d===\"max reversed\";if(!v&&t.range){var x=s_.simpleMap(t.range,t.r2l);v=x[1]<x[0]}t.autorange===\"reversed\"&&(t.autorange=!0);var b=t.rangemode,p=b===\"tozero\",E=b===\"nonnegative\",k=t._length,A=k/10,L=0,_,C,M,g,P,T;for(r=0;r<u.length;r++)for(_=u[r],n=0;n<c.length;n++)C=c[n],T=C.val-_.val-Zoe(t,_.val,C.val),T>0&&(P=k-o(_)-s(C),P>A?T/P>L&&(M=_,g=C,L=T/P):T/k>L&&(M={val:_.val,nopad:1},g={val:C.val,nopad:1},L=T/k));function F(G,N){return Math.max(G,s(N))}if(f===h){var q=f-1,V=f+1;if(p)if(f===0)i=[0,1];else{var H=(f>0?c:u).reduce(F,0),X=f/(1-Math.min(.5,H/k));i=f>0?[0,X]:[X,0]}else E?i=[Math.max(0,q),Math.max(1,V)]:i=[q,V]}else p?(M.val>=0&&(M={val:0,nopad:1}),g.val<=0&&(g={val:0,nopad:1})):E&&(M.val-L*o(M)<0&&(M={val:0,nopad:1}),g.val<=0&&(g={val:1,nopad:1})),L=(g.val-M.val-Zoe(t,_.val,C.val))/(k-o(M)-s(g)),i=[M.val-L*o(M),g.val+L*s(g)];return i=Qoe(i,t),t.limitRange&&t.limitRange(),v&&i.reverse(),s_.simpleMap(i,t.l2r||Number)}function Zoe(e,t,r){var n=0;if(e.rangebreaks)for(var i=e.locateBreaks(t,r),a=0;a<i.length;a++){var o=i[a];n+=o.max-o.min}return n}function XO(e,t,r){var n=.05*t._length,i=t._anchorAxis||{};if((t.ticklabelposition||\"\").indexOf(\"inside\")!==-1||(i.ticklabelposition||\"\").indexOf(\"inside\")!==-1){var a=t.isReversed();if(!a){var o=s_.simpleMap(t.range,t.r2l);a=o[1]<o[0]}a&&(r=!r)}var s=0;return $at(e,t._id)||(s=Qat(e,t,r)),n=Math.max(s,n),t.constrain===\"domain\"&&t._inputDomain&&(n*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0])),function(u){return u.nopad?0:u.pad+(u.extrapad?n:s)}}var Xoe=3;function Qat(e,t,r){var n=0,i=t._id.charAt(0)===\"x\";for(var a in e._plots){var o=e._plots[a];if(!(t._id!==o.xaxis._id&&t._id!==o.yaxis._id)){var s=(i?o.yaxis:o.xaxis)||{};if((s.ticklabelposition||\"\").indexOf(\"inside\")!==-1&&(!r&&(s.side===\"left\"||s.side===\"bottom\")||r&&(s.side===\"top\"||s.side===\"right\"))){if(s._vals){var l=s_.deg2rad(s._tickAngles[s._id+\"tick\"]||0),u=Math.abs(Math.cos(l)),c=Math.abs(Math.sin(l));if(!s._vals[0].bb){var f=s._id+\"tick\",h=s._selections[f];h.each(function(E){var k=Xat.select(this),A=k.select(\".text-math-group\");A.empty()&&(E.bb=Kat.bBox(k.node()))})}for(var d=0;d<s._vals.length;d++){var v=s._vals[d],x=v.bb;if(x){var b=2*Xoe+x.width,p=2*Xoe+x.height;n=Math.max(n,i?Math.max(b*u,p*c):Math.max(p*u,b*c))}}}s.ticks===\"inside\"&&s.ticklabelposition===\"inside\"&&(n+=s.ticklen||0)}}}return n}function JO(e,t,r){var n=t._id,i=e._fullData,a=e._fullLayout,o=[],s=[],l,u,c;function f(b,p){for(l=0;l<p.length;l++){var E=b[p[l]],k=(E._extremes||{})[n];if(E.visible===!0&&k){for(u=0;u<k.min.length;u++)c=k.min[u],YO(o,c.val,c.pad,{extrapad:c.extrapad});for(u=0;u<k.max.length;u++)c=k.max[u],KO(s,c.val,c.pad,{extrapad:c.extrapad})}}}if(f(i,t._traceIndices),f(a.annotations||[],t._annIndices||[]),f(a.shapes||[],t._shapeIndices||[]),t._matchGroup&&!r){for(var h in t._matchGroup)if(h!==t._id){var d=Jat(e,h),v=JO(e,d,!0),x=t._length/d._length;for(u=0;u<v.min.length;u++)c=v.min[u],YO(o,c.val,c.pad*x,{extrapad:c.extrapad});for(u=0;u<v.max.length;u++)c=v.max[u],KO(s,c.val,c.pad*x,{extrapad:c.extrapad})}}return{min:o,max:s}}function eot(e,t,r){if(t.setScale(),t.autorange){t.range=r?r.slice():ZO(e,t),t._r=t.range.slice(),t._rl=s_.simpleMap(t._r,t.r2l);var n=t._input,i={};i[t._attr+\".range\"]=t.range,i[t._attr+\".autorange\"]=t.autorange,Yat.call(\"_storeDirectGUIEdit\",e.layout,e._fullLayout._preGUI,i),n.range=t.range.slice(),n.autorange=t.autorange}var a=t._anchorAxis;if(a&&a.rangeslider){var o=a.rangeslider[t._name];o&&o.rangemode===\"auto\"&&(o.range=ZO(e,t)),a._input.rangeslider[t._name]=s_.extendFlat({},o)}}function tot(e,t,r){r||(r={}),e._m||e.setScale();var n=[],i=[],a=t.length,o=r.padded||!1,s=r.tozero&&(e.type===\"linear\"||e.type===\"-\"),l=e.type===\"log\",u=!1,c=r.vpadLinearized||!1,f,h,d,v,x,b,p,E,k;function A(F){if(Array.isArray(F))return u=!0,function(V){return Math.max(Number(F[V]||0),0)};var q=Math.max(Number(F||0),0);return function(){return q}}var L=A((e._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),_=A((e._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),C=A(r.vpadplus||r.vpad),M=A(r.vpadminus||r.vpad);if(!u){if(E=1/0,k=-1/0,l)for(f=0;f<a;f++)h=t[f],h<E&&h>0&&(E=h),h>k&&h<dL&&(k=h);else for(f=0;f<a;f++)h=t[f],h<E&&h>-dL&&(E=h),h>k&&h<dL&&(k=h);t=[E,k],a=2}var g={tozero:s,extrapad:o};function P(F){d=t[F],Koe(d)&&(b=L(F),p=_(F),c?(v=e.c2l(d)-M(F),x=e.c2l(d)+C(F)):(E=d-M(F),k=d+C(F),l&&E<k/10&&(E=k/10),v=e.c2l(E),x=e.c2l(k)),s&&(v=Math.min(0,v),x=Math.max(0,x)),Yoe(v)&&YO(n,v,p,g),Yoe(x)&&KO(i,x,b,g))}var T=Math.min(6,a);for(f=0;f<T;f++)P(f);for(f=a-1;f>=T;f--)P(f);return{min:n,max:i,opts:r}}function YO(e,t,r,n){$oe(e,t,r,n,rot)}function KO(e,t,r,n){$oe(e,t,r,n,iot)}function $oe(e,t,r,n,i){for(var a=n.tozero,o=n.extrapad,s=!0,l=0;l<e.length&&s;l++){var u=e[l];if(i(u.val,t)&&u.pad>=r&&(u.extrapad||!o)){s=!1;break}else i(t,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(e.splice(l,1),l--)}if(s){var c=a&&t===0;e.push({val:t,pad:c?0:r,extrapad:c?!1:o})}}function Yoe(e){return Koe(e)&&Math.abs(e)<dL}function rot(e,t){return e<=t}function iot(e,t){return e>=t}function not(e,t){var r=t.autorangeoptions;return r&&r.minallowed!==void 0&&vL(t,r.minallowed,r.maxallowed)?r.minallowed:r&&r.clipmin!==void 0&&vL(t,r.clipmin,r.clipmax)?Math.max(e,t.d2l(r.clipmin)):e}function aot(e,t){var r=t.autorangeoptions;return r&&r.maxallowed!==void 0&&vL(t,r.minallowed,r.maxallowed)?r.maxallowed:r&&r.clipmax!==void 0&&vL(t,r.clipmin,r.clipmax)?Math.min(e,t.d2l(r.clipmax)):e}function vL(e,t,r){return t!==void 0&&r!==void 0?(t=e.d2l(t),r=e.d2l(r),t<r):!0}function Qoe(e,t){if(!t||!t.autorangeoptions)return e;var r=e[0],n=e[1],i=t.autorangeoptions.include;if(i!==void 0){var a=t.d2l(r),o=t.d2l(n);s_.isArrayOrTypedArray(i)||(i=[i]);for(var s=0;s<i.length;s++){var l=t.d2l(i[s]);a>=l&&(a=l,r=l),o<=l&&(o=l,n=l)}}return r=not(r,t),n=aot(n,t),[r,n]}});var Qa=ye((Arr,wse)=>{\"use strict\";var w0=xa(),ph=uo(),P3=Xu(),QS=ba(),Vo=Mr(),I3=Vo.strTranslate,Eb=Pl(),oot=Mb(),eM=va(),Xp=ao(),sot=Cd(),tse=bO(),Yd=es(),lot=Yd.ONEMAXYEAR,mL=Yd.ONEAVGYEAR,yL=Yd.ONEMINYEAR,uot=Yd.ONEMAXQUARTER,tB=Yd.ONEAVGQUARTER,_L=Yd.ONEMINQUARTER,cot=Yd.ONEMAXMONTH,R3=Yd.ONEAVGMONTH,xL=Yd.ONEMINMONTH,Yp=Yd.ONEWEEK,Fv=Yd.ONEDAY,l_=Fv/2,xm=Yd.ONEHOUR,tM=Yd.ONEMIN,bL=Yd.ONESEC,fot=Yd.ONEMILLI,hot=Yd.ONEMICROSEC,kb=Yd.MINUS_SIGN,AL=Yd.BADNUM,rB={K:\"zeroline\"},iB={K:\"gridline\",L:\"path\"},nB={K:\"minor-gridline\",L:\"path\"},hse={K:\"tick\",L:\"path\"},rse={K:\"tick\",L:\"text\"},ise={width:[\"x\",\"r\",\"l\",\"xl\",\"xr\"],height:[\"y\",\"t\",\"b\",\"yt\",\"yb\"],right:[\"r\",\"xr\"],left:[\"l\",\"xl\"],top:[\"t\",\"yt\"],bottom:[\"b\",\"yb\"]},SL=Nh(),$S=SL.MID_SHIFT,Cb=SL.CAP_SHIFT,rM=SL.LINE_SPACING,dot=SL.OPPOSITE_SIDE,wL=3,kn=wse.exports={};kn.setConvert=ym();var vot=L3(),Ay=af(),pot=Ay.idSort,got=Ay.isLinked;kn.id2name=Ay.id2name;kn.name2id=Ay.name2id;kn.cleanId=Ay.cleanId;kn.list=Ay.list;kn.listIds=Ay.listIds;kn.getFromId=Ay.getFromId;kn.getFromTrace=Ay.getFromTrace;var dse=wg();kn.getAutoRange=dse.getAutoRange;kn.findExtremes=dse.findExtremes;var mot=1e-4;function lB(e){var t=(e[1]-e[0])*mot;return[e[0]-t,e[1]+t]}kn.coerceRef=function(e,t,r,n,i,a){var o=n.charAt(n.length-1),s=r._fullLayout._subplots[o+\"axis\"],l=n+\"ref\",u={};return i||(i=s[0]||(typeof a==\"string\"?a:a[0])),a||(a=i),s=s.concat(s.map(function(c){return c+\" domain\"})),u[l]={valType:\"enumerated\",values:s.concat(a?typeof a==\"string\"?[a]:a:[]),dflt:i},Vo.coerce(e,t,u,l)};kn.getRefType=function(e){return e===void 0?e:e===\"paper\"?\"paper\":e===\"pixel\"?\"pixel\":/( domain)$/.test(e)?\"domain\":\"range\"};kn.coercePosition=function(e,t,r,n,i,a){var o,s,l=kn.getRefType(n);if(l!==\"range\")o=Vo.ensureNumber,s=r(i,a);else{var u=kn.getFromId(t,n);a=u.fraction2r(a),s=r(i,a),o=u.cleanPos}e[i]=o(s)};kn.cleanPosition=function(e,t,r){var n=r===\"paper\"||r===\"pixel\"?Vo.ensureNumber:kn.getFromId(t,r).cleanPos;return n(e)};kn.redrawComponents=function(e,t){t=t||kn.listIds(e);var r=e._fullLayout;function n(i,a,o,s){for(var l=QS.getComponentMethod(i,a),u={},c=0;c<t.length;c++)for(var f=r[kn.id2name(t[c])],h=f[o],d=0;d<h.length;d++){var v=h[d];if(!u[v]&&(l(e,v),u[v]=1,s))return}}n(\"annotations\",\"drawOne\",\"_annIndices\"),n(\"shapes\",\"drawOne\",\"_shapeIndices\"),n(\"images\",\"draw\",\"_imgIndices\",!0),n(\"selections\",\"drawOne\",\"_selectionIndices\")};var yot=kn.getDataConversions=function(e,t,r,n){var i,a=r===\"x\"||r===\"y\"||r===\"z\"?r:n;if(Vo.isArrayOrTypedArray(a)){if(i={type:vot(n,void 0,{autotypenumbers:e._fullLayout.autotypenumbers}),_categories:[]},kn.setConvert(i),i.type===\"category\")for(var o=0;o<n.length;o++)i.d2c(n[o])}else i=kn.getFromTrace(e,t,a);return i?{d2c:i.d2c,c2d:i.c2d}:a===\"ids\"?{d2c:ase,c2d:ase}:{d2c:nse,c2d:nse}};function nse(e){return+e}function ase(e){return String(e)}kn.getDataToCoordFunc=function(e,t,r,n){return yot(e,t,r,n).d2c};kn.counterLetter=function(e){var t=e.charAt(0);if(t===\"x\")return\"y\";if(t===\"y\")return\"x\"};kn.minDtick=function(e,t,r,n){[\"log\",\"category\",\"multicategory\"].indexOf(e.type)!==-1||!n?e._minDtick=0:e._minDtick===void 0?(e._minDtick=t,e._forceTick0=r):e._minDtick&&((e._minDtick/t+1e-6)%1<2e-6&&((r-e._forceTick0)/t%1+1.000001)%1<2e-6?(e._minDtick=t,e._forceTick0=r):((t/e._minDtick+1e-6)%1>2e-6||((r-e._forceTick0)/e._minDtick%1+1.000001)%1>2e-6)&&(e._minDtick=0))};kn.saveRangeInitial=function(e,t){for(var r=kn.list(e,\"\",!0),n=!1,i=0;i<r.length;i++){var a=r[i],o=a._rangeInitial0===void 0&&a._rangeInitial1===void 0,s=o||a.range[0]!==a._rangeInitial0||a.range[1]!==a._rangeInitial1,l=a.autorange;(o&&l!==!0||t&&s)&&(a._rangeInitial0=l===\"min\"||l===\"max reversed\"?void 0:a.range[0],a._rangeInitial1=l===\"max\"||l===\"min reversed\"?void 0:a.range[1],a._autorangeInitial=l,n=!0)}return n};kn.saveShowSpikeInitial=function(e,t){for(var r=kn.list(e,\"\",!0),n=!1,i=\"on\",a=0;a<r.length;a++){var o=r[a],s=o._showSpikeInitial===void 0,l=s||o.showspikes!==o._showspikes;(s||t&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),i===\"on\"&&!o.showspikes&&(i=\"off\")}return e._fullLayout._cartesianSpikesEnabled=i,n};kn.autoBin=function(e,t,r,n,i,a){var o=Vo.aggNums(Math.min,null,e),s=Vo.aggNums(Math.max,null,e);if(t.type===\"category\"||t.type===\"multicategory\")return{start:o-.5,end:s+.5,size:Math.max(1,Math.round(a)||1),_dataSpan:s-o};i||(i=t.calendar);var l;if(t.type===\"log\"?l={type:\"linear\",range:[o,s]}:l={type:t.type,range:Vo.simpleMap([o,s],t.c2r,0,i),calendar:i},kn.setConvert(l),a=a&&tse.dtick(a,l.type),a)l.dtick=a,l.tick0=tse.tick0(void 0,l.type,i);else{var u;if(r)u=(s-o)/r;else{var c=Vo.distinctVals(e),f=Math.pow(10,Math.floor(Math.log(c.minDiff)/Math.LN10)),h=f*Vo.roundUp(c.minDiff/f,[.9,1.9,4.9,9.9],!0);u=Math.max(h,2*Vo.stdev(e)/Math.pow(e.length,n?.25:.4)),ph(u)||(u=1)}kn.autoTicks(l,u)}var d=l.dtick,v=kn.tickIncrement(kn.tickFirst(l),d,\"reverse\",i),x,b;if(typeof d==\"number\")v=_ot(v,e,l,o,s),b=1+Math.floor((s-v)/d),x=v+b*d;else for(l.dtick.charAt(0)===\"M\"&&(v=xot(v,e,d,o,i)),x=v,b=0;x<=s;)x=kn.tickIncrement(x,d,!1,i),b++;return{start:t.c2r(v,0,i),end:t.c2r(x,0,i),size:d,_dataSpan:s-o}};function _ot(e,t,r,n,i){var a=0,o=0,s=0,l=0;function u(d){return(1+(d-e)*100/r.dtick)%100<2}for(var c=0;c<t.length;c++)t[c]%1===0?s++:ph(t[c])||l++,u(t[c])&&a++,u(t[c]+r.dtick/2)&&o++;var f=t.length-l;if(s===f&&r.type!==\"date\")r.dtick<1?e=n-.5*r.dtick:(e-=.5,e+r.dtick<n&&(e+=r.dtick));else if(o<f*.1&&(a>f*.3||u(n)||u(i))){var h=r.dtick/2;e+=e+h<n?h:-h}return e}function xot(e,t,r,n,i){var a=Vo.findExactDates(t,i),o=.8;if(a.exactDays>o){var s=Number(r.substr(1));a.exactYears>o&&s%12===0?e=kn.tickIncrement(e,\"M6\",\"reverse\")+Fv*1.5:a.exactMonths>o?e=kn.tickIncrement(e,\"M1\",\"reverse\")+Fv*15.5:e-=l_;var l=kn.tickIncrement(e,r);if(l<=n)return l}return e}kn.prepMinorTicks=function(e,t,r){if(!t.minor.dtick){delete e.dtick;var n=t.dtick&&ph(t._tmin),i;if(n){var a=kn.tickIncrement(t._tmin,t.dtick,!0);i=[t._tmin,a*.99+t._tmin*.01]}else{var o=Vo.simpleMap(t.range,t.r2l);i=[o[0],.8*o[0]+.2*o[1]]}if(e.range=Vo.simpleMap(i,t.l2r),e._isMinor=!0,kn.prepTicks(e,r),n){var s=ph(t.dtick),l=ph(e.dtick),u=s?t.dtick:+t.dtick.substring(1),c=l?e.dtick:+e.dtick.substring(1);s&&l?$O(u,c)?u===2*Yp&&c===2*Fv&&(e.dtick=Yp):u===2*Yp&&c===3*Fv?e.dtick=Yp:u===Yp&&!(t._input.minor||{}).nticks?e.dtick=Fv:ose(u/c,2.5)?e.dtick=u/2:e.dtick=u:String(t.dtick).charAt(0)===\"M\"?l?e.dtick=\"M1\":$O(u,c)?u>=12&&c===2&&(e.dtick=\"M3\"):e.dtick=t.dtick:String(e.dtick).charAt(0)===\"L\"?String(t.dtick).charAt(0)===\"L\"?$O(u,c)||(e.dtick=ose(u/c,2.5)?t.dtick/2:t.dtick):e.dtick=\"D1\":e.dtick===\"D2\"&&+t.dtick>1&&(e.dtick=1)}e.range=t.range}t.minor._tick0Init===void 0&&(e.tick0=t.tick0)};function $O(e,t){return Math.abs((e/t+.5)%1-.5)<.001}function ose(e,t){return Math.abs(e/t-1)<.001}kn.prepTicks=function(e,t){var r=Vo.simpleMap(e.range,e.r2l,void 0,void 0,t);if(e.tickmode===\"auto\"||!e.dtick){var n=e.nticks,i;n||(e.type===\"category\"||e.type===\"multicategory\"?(i=e.tickfont?Vo.bigFont(e.tickfont.size||12):15,n=e._length/i):(i=e._id.charAt(0)===\"y\"?40:80,n=Vo.constrain(e._length/i,4,9)+1),e._name===\"radialaxis\"&&(n*=2)),e.minor&&e.minor.tickmode!==\"array\"||e.tickmode===\"array\"&&(n*=100),e._roughDTick=Math.abs(r[1]-r[0])/n,kn.autoTicks(e,e._roughDTick),e._minDtick>0&&e.dtick<e._minDtick*2&&(e.dtick=e._minDtick,e.tick0=e.l2r(e._forceTick0))}e.ticklabelmode===\"period\"&&bot(e),e.tick0||(e.tick0=e.type===\"date\"?\"2000-01-01\":0),e.type===\"date\"&&e.dtick<.1&&(e.dtick=.1),mse(e)};function QO(e){return+e.substring(1)}function bot(e){var t;function r(){return!(ph(e.dtick)||e.dtick.charAt(0)!==\"M\")}var n=r(),i=kn.getTickFormat(e);if(i){var a=e._dtickInit!==e.dtick;/%[fLQsSMX]/.test(i)||(/%[HI]/.test(i)?(t=xm,a&&!n&&e.dtick<xm&&(e.dtick=xm)):/%p/.test(i)?(t=l_,a&&!n&&e.dtick<l_&&(e.dtick=l_)):/%[Aadejuwx]/.test(i)?(t=Fv,a&&!n&&e.dtick<Fv&&(e.dtick=Fv)):/%[UVW]/.test(i)?(t=Yp,a&&!n&&e.dtick<Yp&&(e.dtick=Yp)):/%[Bbm]/.test(i)?(t=R3,a&&(n?QO(e.dtick)<1:e.dtick<xL)&&(e.dtick=\"M1\")):/%[q]/.test(i)?(t=tB,a&&(n?QO(e.dtick)<3:e.dtick<_L)&&(e.dtick=\"M3\")):/%[Yy]/.test(i)&&(t=mL,a&&(n?QO(e.dtick)<12:e.dtick<yL)&&(e.dtick=\"M12\")))}n=r(),n&&e.tick0===e._dowTick0&&(e.tick0=e._rawTick0),e._definedDelta=t}function wot(e,t,r){for(var n=0;n<e.length;n++){var i=e[n].value,a=n,o=n+1;n<e.length-1?(a=n,o=n+1):n>0?(a=n-1,o=n):(a=n,o=n);var s=e[a].value,l=e[o].value,u=Math.abs(l-s),c=r||u,f=0;c>=yL?u>=yL&&u<=lot?f=u:f=mL:r===tB&&c>=_L?u>=_L&&u<=uot?f=u:f=tB:c>=xL?u>=xL&&u<=cot?f=u:f=R3:r===Yp&&c>=Yp?f=Yp:c>=Fv?f=Fv:r===l_&&c>=l_?f=l_:r===xm&&c>=xm&&(f=xm);var h;f>=u&&(f=u,h=!0);var d=i+f;if(t.rangebreaks&&f>0){for(var v=84,x=0,b=0;b<v;b++){var p=(b+.5)/v;t.maskBreaks(i*(1-p)+p*d)!==AL&&x++}f*=x/v,f||(e[n].drop=!0),h&&u>Yp&&(f=u)}(f>0||n===0)&&(e[n].periodX=i+f/2)}}kn.calcTicks=function(t,r){for(var n=t.type,i=t.calendar,a=t.ticklabelstep,o=t.ticklabelmode===\"period\",s=t.range[0]>t.range[1],l=!t.ticklabelindex||Vo.isArrayOrTypedArray(t.ticklabelindex)?t.ticklabelindex:[t.ticklabelindex],u=Vo.simpleMap(t.range,t.r2l,void 0,void 0,r),c=u[1]<u[0],f=Math.min(u[0],u[1]),h=Math.max(u[0],u[1]),d=Math.max(1e3,t._length||0),v=[],x=[],b=[],p=[],E=[],k=t.minor&&(t.minor.ticks||t.minor.showgrid),A=1;A>=(k?0:1);A--){var L=!A;A?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var _=A?t:Vo.extendFlat({},t,t.minor);if(L?kn.prepMinorTicks(_,t,r):kn.prepTicks(_,r),_.tickmode===\"array\"){A?(b=[],v=sse(t,!L)):(p=[],x=sse(t,!L));continue}if(_.tickmode===\"sync\"){b=[],v=Tot(t);continue}var C=lB(u),M=C[0],g=C[1],P=ph(_.dtick),T=n===\"log\"&&!(P||_.dtick.charAt(0)===\"L\"),F=kn.tickFirst(_,r);if(A){if(t._tmin=F,F<M!==c)break;(n===\"category\"||n===\"multicategory\")&&(g=c?Math.max(-.5,g):Math.min(t._categories.length-.5,g))}var q=null,V=F,H;if(A){var X;P?X=t.dtick:n===\"date\"?typeof t.dtick==\"string\"&&t.dtick.charAt(0)===\"M\"&&(X=R3*t.dtick.substring(1)):X=t._roughDTick,H=Math.round((t.r2l(V)-t.r2l(t.tick0))/X)-1}var G=_.dtick;for(_.rangebreaks&&_._tick0Init!==_.tick0&&(V=eB(V,t),c||(V=kn.tickIncrement(V,G,!c,i))),A&&o&&(V=kn.tickIncrement(V,G,!c,i),H--);c?V>=g:V<=g;V=kn.tickIncrement(V,G,c,i)){if(A&&H++,_.rangebreaks&&!c){if(V<M)continue;if(_.maskBreaks(V)===AL&&eB(V,_)>=h)break}if(b.length>d||V===q)break;q=V;var N={value:V};A?(T&&V!==(V|0)&&(N.simpleLabel=!0),a>1&&H%a&&(N.skipLabel=!0),b.push(N)):(N.minor=!0,p.push(N))}}if(!p||p.length<2)l=!1;else{var W=(p[1].value-p[0].value)*(s?-1:1);Zot(W,t.tickformat)||(l=!1)}if(!l)E=b;else{var re=b.concat(p);o&&b.length&&(re=re.slice(1)),re=re.sort(function(Rt,kt){return Rt.value-kt.value}).filter(function(Rt,kt,Ct){return kt===0||Rt.value!==Ct[kt-1].value});var ae=re.map(function(Rt,kt){return Rt.minor===void 0&&!Rt.skipLabel?kt:null}).filter(function(Rt){return Rt!==null});ae.forEach(function(Rt){l.map(function(kt){var Ct=Rt+kt;Ct>=0&&Ct<re.length&&Vo.pushUnique(E,re[Ct])})})}if(k){var _e=t.minor.ticks===\"inside\"&&t.ticks===\"outside\"||t.minor.ticks===\"outside\"&&t.ticks===\"inside\";if(!_e){for(var Me=b.map(function(Rt){return Rt.value}),ke=[],ge=0;ge<p.length;ge++){var ie=p[ge],Te=ie.value;if(Me.indexOf(Te)===-1){for(var Ee=!1,Ae=0;!Ee&&Ae<b.length;Ae++)1e7+b[Ae].value===1e7+Te&&(Ee=!0);Ee||ke.push(ie)}}p=ke}}o&&wot(E,t,t._definedDelta);var ze;if(t.rangebreaks){var Ce=t._id.charAt(0)===\"y\",me=1;t.tickmode===\"auto\"&&(me=t.tickfont?t.tickfont.size:12);var Re=NaN;for(ze=b.length-1;ze>-1;ze--){if(b[ze].drop){b.splice(ze,1);continue}b[ze].value=eB(b[ze].value,t);var ce=t.c2p(b[ze].value);(Ce?Re>ce-me:Re<ce+me)?b.splice(c?ze+1:ze,1):Re=ce}}fB(t)&&Math.abs(u[1]-u[0])===360&&b.pop(),t._tmax=(b[b.length-1]||{}).value,t._prevDateHead=\"\",t._inCalcTicks=!0;var Ge,nt=function(Rt){Rt.text=\"\",t._prevDateHead=Ge};b=b.concat(p);function ct(Rt,kt){var Ct=kn.tickText(Rt,kt.value,!1,kt.simpleLabel),Yt=kt.periodX;return Yt!==void 0&&(Ct.periodX=Yt,(Yt>h||Yt<f)&&(Yt>h&&(Ct.periodX=h),Yt<f&&(Ct.periodX=f),nt(Ct))),Ct}var qt;for(ze=0;ze<b.length;ze++){var rt=b[ze].minor,ot=b[ze].value;rt?(l&&E.indexOf(b[ze])!==-1?qt=ct(t,b[ze]):qt={x:ot},qt.minor=!0,x.push(qt)):(Ge=t._prevDateHead,qt=ct(t,b[ze]),(b[ze].skipLabel||l&&E.indexOf(b[ze])===-1)&&nt(qt),v.push(qt))}return v=v.concat(x),t._inCalcTicks=!1,o&&v.length&&(v[0].noTick=!0),v};function vse(e,t){return e.rangebreaks&&(t=t.filter(function(r){return e.maskBreaks(r.x)!==AL})),t}function Tot(e){var t=e._mainAxis,r=[];if(t._vals){for(var n=0;n<t._vals.length;n++)if(!t._vals[n].noTick){var i=t.l2p(t._vals[n].x),a=e.p2l(i),o=kn.tickText(e,a);t._vals[n].minor&&(o.minor=!0,o.text=\"\"),r.push(o)}}return r=vse(e,r),r}function sse(e,t){var r=Vo.simpleMap(e.range,e.r2l),n=lB(r),i=Math.min(n[0],n[1]),a=Math.max(n[0],n[1]),o=e.type===\"category\"?e.d2l_noadd:e.d2l;e.type===\"log\"&&String(e.dtick).charAt(0)!==\"L\"&&(e.dtick=\"L\"+Math.pow(10,Math.floor(Math.min(e.range[0],e.range[1]))-1));for(var s=[],l=0;l<=1;l++)if(!(t!==void 0&&(t&&l||t===!1&&!l))&&!(l&&!e.minor)){var u=l?e.minor.tickvals:e.tickvals,c=l?[]:e.ticktext;if(u){Vo.isArrayOrTypedArray(c)||(c=[]);for(var f=0;f<u.length;f++){var h=o(u[f]);if(h>i&&h<a){var d=kn.tickText(e,h,!1,String(c[f]));l&&(d.minor=!0,d.text=\"\"),s.push(d)}}}}return s=vse(e,s),s}var pL=[2,5,10],lse=[1,2,3,6,12],use=[1,2,5,10,15,30],Aot=[1,2,3,7,14],pse=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],gse=[-.301,0,.301,.699,1],Sot=[15,30,45,90,180];function _m(e,t,r){return t*Vo.roundUp(e/t,r)}kn.autoTicks=function(e,t,r){var n;function i(f){return Math.pow(f,Math.floor(Math.log(t)/Math.LN10))}if(e.type===\"date\"){e.tick0=Vo.dateTick0(e.calendar,0);var a=2*t;if(a>mL)t/=mL,n=i(10),e.dtick=\"M\"+12*_m(t,n,pL);else if(a>R3)t/=R3,e.dtick=\"M\"+_m(t,1,lse);else if(a>Fv){if(e.dtick=_m(t,Fv,e._hasDayOfWeekBreaks?[1,2,7,14]:Aot),!r){var o=kn.getTickFormat(e),s=e.ticklabelmode===\"period\";s&&(e._rawTick0=e.tick0),/%[uVW]/.test(o)?e.tick0=Vo.dateTick0(e.calendar,2):e.tick0=Vo.dateTick0(e.calendar,1),s&&(e._dowTick0=e.tick0)}}else a>xm?e.dtick=_m(t,xm,lse):a>tM?e.dtick=_m(t,tM,use):a>bL?e.dtick=_m(t,bL,use):(n=i(10),e.dtick=_m(t,n,pL))}else if(e.type===\"log\"){e.tick0=0;var l=Vo.simpleMap(e.range,e.r2l);if(e._isMinor&&(t*=1.5),t>.7)e.dtick=Math.ceil(t);else if(Math.abs(l[1]-l[0])<1){var u=1.5*Math.abs((l[1]-l[0])/t);t=Math.abs(Math.pow(10,l[1])-Math.pow(10,l[0]))/u,n=i(10),e.dtick=\"L\"+_m(t,n,pL)}else e.dtick=t>.3?\"D2\":\"D1\"}else e.type===\"category\"||e.type===\"multicategory\"?(e.tick0=0,e.dtick=Math.ceil(Math.max(t,1))):fB(e)?(e.tick0=0,n=1,e.dtick=_m(t,n,Sot)):(e.tick0=0,n=i(10),e.dtick=_m(t,n,pL));if(e.dtick===0&&(e.dtick=1),!ph(e.dtick)&&typeof e.dtick!=\"string\"){var c=e.dtick;throw e.dtick=1,\"ax.dtick error: \"+String(c)}};function mse(e){var t=e.dtick;if(e._tickexponent=0,!ph(t)&&typeof t!=\"string\"&&(t=1),(e.type===\"category\"||e.type===\"multicategory\")&&(e._tickround=null),e.type===\"date\"){var r=e.r2l(e.tick0),n=e.l2r(r).replace(/(^-|i)/g,\"\"),i=n.length;if(String(t).charAt(0)===\"M\")i>10||n.substr(5)!==\"01-01\"?e._tickround=\"d\":e._tickround=+t.substr(1)%12===0?\"y\":\"m\";else if(t>=Fv&&i<=10||t>=Fv*15)e._tickround=\"d\";else if(t>=tM&&i<=16||t>=xm)e._tickround=\"M\";else if(t>=bL&&i<=19||t>=tM)e._tickround=\"S\";else{var a=e.l2r(r+t).replace(/^-/,\"\").length;e._tickround=Math.max(i,a)-20,e._tickround<0&&(e._tickround=4)}}else if(ph(t)||t.charAt(0)===\"L\"){var o=e.range.map(e.r2d||Number);ph(t)||(t=Number(t.substr(1))),e._tickround=2-Math.floor(Math.log(t)/Math.LN10+.01);var s=Math.max(Math.abs(o[0]),Math.abs(o[1])),l=Math.floor(Math.log(s)/Math.LN10+.01),u=e.minexponent===void 0?3:e.minexponent;Math.abs(l)>u&&(TL(e.exponentformat)&&!uB(l)?e._tickexponent=3*Math.round((l-1)/3):e._tickexponent=l)}else e._tickround=null}kn.tickIncrement=function(e,t,r,n){var i=r?-1:1;if(ph(t))return Vo.increment(e,i*t);var a=t.charAt(0),o=i*Number(t.substr(1));if(a===\"M\")return Vo.incrementMonth(e,o,n);if(a===\"L\")return Math.log(Math.pow(10,e)+o)/Math.LN10;if(a===\"D\"){var s=t===\"D2\"?gse:pse,l=e+i*.01,u=Vo.roundUp(Vo.mod(l,1),s,r);return Math.floor(l)+Math.log(w0.round(Math.pow(10,u),1))/Math.LN10}throw\"unrecognized dtick \"+String(t)};kn.tickFirst=function(e,t){var r=e.r2l||Number,n=Vo.simpleMap(e.range,r,void 0,void 0,t),i=n[1]<n[0],a=i?Math.floor:Math.ceil,o=lB(n)[0],s=e.dtick,l=r(e.tick0);if(ph(s)){var u=a((o-l)/s)*s+l;return(e.type===\"category\"||e.type===\"multicategory\")&&(u=Vo.constrain(u,0,e._categories.length-1)),u}var c=s.charAt(0),f=Number(s.substr(1));if(c===\"M\"){for(var h=0,d=l,v,x,b;h<10;){if(v=kn.tickIncrement(d,s,i,e.calendar),(v-o)*(d-o)<=0)return i?Math.min(d,v):Math.max(d,v);x=(o-(d+v)/2)/(v-d),b=c+(Math.abs(Math.round(x))||1)*f,d=kn.tickIncrement(d,b,x<0?!i:i,e.calendar),h++}return Vo.error(\"tickFirst did not converge\",e),d}else{if(c===\"L\")return Math.log(a((Math.pow(10,o)-l)/f)*f+l)/Math.LN10;if(c===\"D\"){var p=s===\"D2\"?gse:pse,E=Vo.roundUp(Vo.mod(o,1),p,i);return Math.floor(o)+Math.log(w0.round(Math.pow(10,E),1))/Math.LN10}else throw\"unrecognized dtick \"+String(s)}};kn.tickText=function(e,t,r,n){var i=yse(e,t),a=e.tickmode===\"array\",o=r||a,s=e.type,l=s===\"category\"?e.d2l_noadd:e.d2l,u,c=function(b){var p=e.l2p(b);return p>=0&&p<=e._length?b:null};if(a&&Vo.isArrayOrTypedArray(e.ticktext)){var f=Vo.simpleMap(e.range,e.r2l),h=(Math.abs(f[1]-f[0])-(e._lBreaks||0))/1e4;for(u=0;u<e.ticktext.length&&!(Math.abs(t-l(e.tickvals[u]))<h);u++);if(u<e.ticktext.length)return i.text=String(e.ticktext[u]),i.xbnd=[c(i.x-.5),c(i.x+e.dtick-.5)],i}function d(b){if(b===void 0)return!0;if(r)return b===\"none\";var p={first:e._tmin,last:e._tmax}[b];return b!==\"all\"&&t!==p}var v=r?\"never\":e.exponentformat!==\"none\"&&d(e.showexponent)?\"hide\":\"\";if(s===\"date\"?Mot(e,i,r,o):s===\"log\"?Eot(e,i,r,o,v):s===\"category\"?kot(e,i):s===\"multicategory\"?Cot(e,i,r):fB(e)?Pot(e,i,r,o,v):Lot(e,i,r,o,v),n||(e.tickprefix&&!d(e.showtickprefix)&&(i.text=e.tickprefix+i.text),e.ticksuffix&&!d(e.showticksuffix)&&(i.text+=e.ticksuffix)),e.labelalias&&e.labelalias.hasOwnProperty(i.text)){var x=e.labelalias[i.text];typeof x==\"string\"&&(i.text=x)}return(e.tickson===\"boundaries\"||e.showdividers)&&(i.xbnd=[c(i.x-.5),c(i.x+e.dtick-.5)]),i};kn.hoverLabelText=function(e,t,r){r&&(e=Vo.extendFlat({},e,{hoverformat:r}));var n=Vo.isArrayOrTypedArray(t)?t[0]:t,i=Vo.isArrayOrTypedArray(t)?t[1]:void 0;if(i!==void 0&&i!==n)return kn.hoverLabelText(e,n,r)+\" - \"+kn.hoverLabelText(e,i,r);var a=e.type===\"log\"&&n<=0,o=kn.tickText(e,e.c2l(a?-n:n),\"hover\").text;return a?n===0?\"0\":kb+o:o};function yse(e,t,r){var n=e.tickfont||{};return{x:t,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}}function Mot(e,t,r,n){var i=e._tickround,a=r&&e.hoverformat||kn.getTickFormat(e);n=!a&&n,n&&(ph(i)?i=4:i={y:\"m\",m:\"d\",d:\"M\",M:\"S\",S:4}[i]);var o=Vo.formatDate(t.x,a,i,e._dateFormat,e.calendar,e._extraFormat),s,l=o.indexOf(`\n", - "`);if(l!==-1&&(s=o.substr(l+1),o=o.substr(0,l)),n&&(s!==void 0&&(o===\"00:00:00\"||o===\"00:00\")?(o=s,s=\"\"):o.length===8&&(o=o.replace(/:00$/,\"\"))),s)if(r)i===\"d\"?o+=\", \"+s:o=s+(o?\", \"+o:\"\");else if(!e._inCalcTicks||e._prevDateHead!==s)e._prevDateHead=s,o+=\"<br>\"+s;else{var u=nM(e),c=e._trueSide||e.side;(!u&&c===\"top\"||u&&c===\"bottom\")&&(o+=\"<br> \")}t.text=o}function Eot(e,t,r,n,i){var a=e.dtick,o=t.x,s=e.tickformat,l=typeof a==\"string\"&&a.charAt(0);if(i===\"never\"&&(i=\"\"),n&&l!==\"L\"&&(a=\"L3\",l=\"L\"),s||l===\"L\")t.text=iM(Math.pow(10,o),e,i,n);else if(ph(a)||l===\"D\"&&Vo.mod(o+.01,1)<.1){var u=Math.round(o),c=Math.abs(u),f=e.exponentformat;f===\"power\"||TL(f)&&uB(u)?(u===0?t.text=1:u===1?t.text=\"10\":t.text=\"10<sup>\"+(u>1?\"\":kb)+c+\"</sup>\",t.fontSize*=1.25):(f===\"e\"||f===\"E\")&&c>2?t.text=\"1\"+f+(u>0?\"+\":kb)+c:(t.text=iM(Math.pow(10,o),e,\"\",\"fakehover\"),a===\"D1\"&&e._id.charAt(0)===\"y\"&&(t.dy-=t.fontSize/6))}else if(l===\"D\")t.text=String(Math.round(Math.pow(10,Vo.mod(o,1)))),t.fontSize*=.75;else throw\"unrecognized dtick \"+String(a);if(e.dtick===\"D1\"){var h=String(t.text).charAt(0);(h===\"0\"||h===\"1\")&&(e._id.charAt(0)===\"y\"?t.dx-=t.fontSize/4:(t.dy+=t.fontSize/2,t.dx+=(e.range[1]>e.range[0]?1:-1)*t.fontSize*(o<0?.5:.25)))}}function kot(e,t){var r=e._categories[Math.round(t.x)];r===void 0&&(r=\"\"),t.text=String(r)}function Cot(e,t,r){var n=Math.round(t.x),i=e._categories[n]||[],a=i[1]===void 0?\"\":String(i[1]),o=i[0]===void 0?\"\":String(i[0]);r?t.text=o+\" - \"+a:(t.text=a,t.text2=o)}function Lot(e,t,r,n,i){i===\"never\"?i=\"\":e.showexponent===\"all\"&&Math.abs(t.x/e.dtick)<1e-6&&(i=\"hide\"),t.text=iM(t.x,e,i,n)}function Pot(e,t,r,n,i){if(e.thetaunit===\"radians\"&&!r){var a=t.x/180;if(a===0)t.text=\"0\";else{var o=Iot(a);if(o[1]>=100)t.text=iM(Vo.deg2rad(t.x),e,i,n);else{var s=t.x<0;o[1]===1?o[0]===1?t.text=\"\\u03C0\":t.text=o[0]+\"\\u03C0\":t.text=[\"<sup>\",o[0],\"</sup>\",\"\\u2044\",\"<sub>\",o[1],\"</sub>\",\"\\u03C0\"].join(\"\"),s&&(t.text=kb+t.text)}}}else t.text=iM(t.x,e,i,n)}function Iot(e){function t(s,l){return Math.abs(s-l)<=1e-6}function r(s,l){return t(l,0)?s:r(l,s%l)}function n(s){for(var l=1;!t(Math.round(s*l)/l,s);)l*=10;return l}var i=n(e),a=e*i,o=Math.abs(r(a,i));return[Math.round(a/o),Math.round(i/o)]}var Rot=[\"f\",\"p\",\"n\",\"\\u03BC\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\"];function TL(e){return e===\"SI\"||e===\"B\"}function uB(e){return e>14||e<-15}function iM(e,t,r,n){var i=e<0,a=t._tickround,o=r||t.exponentformat||\"B\",s=t._tickexponent,l=kn.getTickFormat(t),u=t.separatethousands;if(n){var c={exponentformat:o,minexponent:t.minexponent,dtick:t.showexponent===\"none\"?t.dtick:ph(e)&&Math.abs(e)||1,range:t.showexponent===\"none\"?t.range.map(t.r2d):[0,e||1]};mse(c),a=(Number(c._tickround)||0)+4,s=c._tickexponent,t.hoverformat&&(l=t.hoverformat)}if(l)return t._numFormat(l)(e).replace(/-/g,kb);var f=Math.pow(10,-a)/2;if(o===\"none\"&&(s=0),e=Math.abs(e),e<f)e=\"0\",i=!1;else{if(e+=f,s&&(e*=Math.pow(10,-s),a+=s),a===0)e=String(Math.floor(e));else if(a<0){e=String(Math.round(e)),e=e.substr(0,e.length+a);for(var h=a;h<0;h++)e+=\"0\"}else{e=String(e);var d=e.indexOf(\".\")+1;d&&(e=e.substr(0,d+a).replace(/\\.?0+$/,\"\"))}e=Vo.numSeparate(e,t._separators,u)}if(s&&o!==\"hide\"){TL(o)&&uB(s)&&(o=\"power\");var v;s<0?v=kb+-s:o!==\"power\"?v=\"+\"+s:v=String(s),o===\"e\"||o===\"E\"?e+=o+v:o===\"power\"?e+=\"\\xD710<sup>\"+v+\"</sup>\":o===\"B\"&&s===9?e+=\"B\":TL(o)&&(e+=Rot[s/3+5])}return i?kb+e:e}kn.getTickFormat=function(e){var t;function r(l){return typeof l!=\"string\"?l:Number(l.replace(\"M\",\"\"))*R3}function n(l,u){var c=[\"L\",\"D\"];if(typeof l==typeof u){if(typeof l==\"number\")return l-u;var f=c.indexOf(l.charAt(0)),h=c.indexOf(u.charAt(0));return f===h?Number(l.replace(/(L|D)/g,\"\"))-Number(u.replace(/(L|D)/g,\"\")):f-h}else return typeof l==\"number\"?1:-1}function i(l,u,c){var f=c||function(v){return v},h=u[0],d=u[1];return(!h&&typeof h!=\"number\"||f(h)<=f(l))&&(!d&&typeof d!=\"number\"||f(d)>=f(l))}function a(l,u){var c=u[0]===null,f=u[1]===null,h=n(l,u[0])>=0,d=n(l,u[1])<=0;return(c||h)&&(f||d)}var o,s;if(e.tickformatstops&&e.tickformatstops.length>0)switch(e.type){case\"date\":case\"linear\":{for(t=0;t<e.tickformatstops.length;t++)if(s=e.tickformatstops[t],s.enabled&&i(e.dtick,s.dtickrange,r)){o=s;break}break}case\"log\":{for(t=0;t<e.tickformatstops.length;t++)if(s=e.tickformatstops[t],s.enabled&&a(e.dtick,s.dtickrange)){o=s;break}break}default:}return o?o.value:e.tickformat};kn.getSubplots=function(e,t){var r=e._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=t?kn.findSubplotsWithAxis(n,t):n;return i.sort(function(a,o){var s=a.substr(1).split(\"y\"),l=o.substr(1).split(\"y\");return s[0]===l[0]?+s[1]-+l[1]:+s[0]-+l[0]}),i};kn.findSubplotsWithAxis=function(e,t){for(var r=new RegExp(t._id.charAt(0)===\"x\"?\"^\"+t._id+\"y\":t._id+\"$\"),n=[],i=0;i<e.length;i++){var a=e[i];r.test(a)&&n.push(a)}return n};kn.makeClipPaths=function(e){var t=e._fullLayout;if(!t._hasOnlyLargeSploms){var r={_offset:0,_length:t.width,_id:\"\"},n={_offset:0,_length:t.height,_id:\"\"},i=kn.list(e,\"x\",!0),a=kn.list(e,\"y\",!0),o=[],s,l;for(s=0;s<i.length;s++)for(o.push({x:i[s],y:n}),l=0;l<a.length;l++)s===0&&o.push({x:r,y:a[l]}),o.push({x:i[s],y:a[l]});var u=t._clips.selectAll(\".axesclip\").data(o,function(c){return c.x._id+c.y._id});u.enter().append(\"clipPath\").classed(\"axesclip\",!0).attr(\"id\",function(c){return\"clip\"+t._uid+c.x._id+c.y._id}).append(\"rect\"),u.exit().remove(),u.each(function(c){w0.select(this).select(\"rect\").attr({x:c.x._offset||0,y:c.y._offset||0,width:c.x._length||1,height:c.y._length||1})})}};kn.draw=function(e,t,r){var n=e._fullLayout;t===\"redraw\"&&n._paper.selectAll(\"g.subplot\").each(function(l){var u=l[0],c=n._plots[u];if(c){var f=c.xaxis,h=c.yaxis;c.xaxislayer.selectAll(\".\"+f._id+\"tick\").remove(),c.yaxislayer.selectAll(\".\"+h._id+\"tick\").remove(),c.xaxislayer.selectAll(\".\"+f._id+\"tick2\").remove(),c.yaxislayer.selectAll(\".\"+h._id+\"tick2\").remove(),c.xaxislayer.selectAll(\".\"+f._id+\"divider\").remove(),c.yaxislayer.selectAll(\".\"+h._id+\"divider\").remove(),c.minorGridlayer&&c.minorGridlayer.selectAll(\"path\").remove(),c.gridlayer&&c.gridlayer.selectAll(\"path\").remove(),c.zerolinelayer&&c.zerolinelayer.selectAll(\"path\").remove(),n._infolayer.select(\".g-\"+f._id+\"title\").remove(),n._infolayer.select(\".g-\"+h._id+\"title\").remove()}});var i=!t||t===\"redraw\"?kn.listIds(e):t,a=kn.list(e),o=a.filter(function(l){return l.autoshift}).map(function(l){return l.overlaying});i.map(function(l){var u=kn.getFromId(e,l);if(u.tickmode===\"sync\"&&u.overlaying){var c=i.findIndex(function(f){return f===u.overlaying});c>=0&&i.unshift(i.splice(c,1).shift())}});var s={false:{left:0,right:0}};return Vo.syncOrAsync(i.map(function(l){return function(){if(l){var u=kn.getFromId(e,l);r||(r={}),r.axShifts=s,r.overlayingShiftedAx=o;var c=kn.drawOne(e,u,r);return u._shiftPusher&&sB(u,u._fullDepth||0,s,!0),u._r=u.range.slice(),u._rl=Vo.simpleMap(u._r,u.r2l),c}}}))};kn.drawOne=function(e,t,r){r=r||{};var n=r.axShifts||{},i=r.overlayingShiftedAx||[],a,o,s;t.setScale();var l=e._fullLayout,u=t._id,c=u.charAt(0),f=kn.counterLetter(u),h=l._plots[t._mainSubplot];if(!h)return;if(t._shiftPusher=t.autoshift||i.indexOf(t._id)!==-1||i.indexOf(t.overlaying)!==-1,t._shiftPusher&t.anchor===\"free\"){var d=t.linewidth/2||0;t.ticks===\"inside\"&&(d+=t.ticklen),sB(t,d,n,!0),sB(t,t.shift||0,n,!1)}(r.skipTitle!==!0||t._shift===void 0)&&(t._shift=Wot(t,n));var v=h[c+\"axislayer\"],x=t._mainLinePosition,b=x+=t._shift,p=t._mainMirrorPosition,E=t._vals=kn.calcTicks(t),k=[t.mirror,b,p].join(\"_\");for(a=0;a<E.length;a++)E[a].axInfo=k;t._selections={},t._tickAngles&&(t._prevTickAngles=t._tickAngles),t._tickAngles={},t._depth=null;var A={};function L(rt){var ot=u+(rt||\"tick\");return A[ot]||(A[ot]=qot(t,ot,b)),A[ot]}if(t.visible){var _=kn.makeTransTickFn(t),C=kn.makeTransTickLabelFn(t),M,g,P=t.ticks===\"inside\",T=t.ticks===\"outside\";if(t.tickson===\"boundaries\"){var F=Dot(t,E);g=kn.clipEnds(t,F),M=P?g:F}else g=kn.clipEnds(t,E),M=P&&t.ticklabelmode!==\"period\"?g:E;var q=t._gridVals=g,V=Fot(t,E);if(!l._hasOnlyLargeSploms){var H=t._subplotsWith,X={};for(a=0;a<H.length;a++){o=H[a],s=l._plots[o];var G=s[f+\"axis\"],N=G._mainAxis._id;if(!X[N]){X[N]=1;var W=c===\"x\"?\"M0,\"+G._offset+\"v\"+G._length:\"M\"+G._offset+\",0h\"+G._length;kn.drawGrid(e,t,{vals:q,counterAxis:G,layer:s.gridlayer.select(\".\"+u),minorLayer:s.minorGridlayer.select(\".\"+u),path:W,transFn:_}),kn.drawZeroLine(e,t,{counterAxis:G,layer:s.zerolinelayer,path:W,transFn:_})}}}var re,ae=kn.getTickSigns(t),_e=kn.getTickSigns(t,\"minor\");if(t.ticks||t.minor&&t.minor.ticks){var Me=kn.makeTickPath(t,b,ae[2]),ke=kn.makeTickPath(t,b,_e[2],{minor:!0}),ge,ie,Te,Ee;if(t._anchorAxis&&t.mirror&&t.mirror!==!0?(ge=kn.makeTickPath(t,p,ae[3]),ie=kn.makeTickPath(t,p,_e[3],{minor:!0}),Te=Me+ge,Ee=ke+ie):(ge=\"\",ie=\"\",Te=Me,Ee=ke),t.showdividers&&T&&t.tickson===\"boundaries\"){var Ae={};for(a=0;a<V.length;a++)Ae[V[a].x]=1;re=function(rt){return Ae[rt.x]?ge:Te}}else re=function(rt){return rt.minor?Ee:Te}}if(kn.drawTicks(e,t,{vals:M,layer:v,path:re,transFn:_}),t.mirror===\"allticks\"){var ze=Object.keys(t._linepositions||{});for(a=0;a<ze.length;a++){o=ze[a],s=l._plots[o];var Ce=t._linepositions[o]||[],me=Ce[0],Re=Ce[1],ce=Ce[2],Ge=kn.makeTickPath(t,me,ce?ae[0]:_e[0],{minor:ce})+kn.makeTickPath(t,Re,ce?ae[1]:_e[1],{minor:ce});kn.drawTicks(e,t,{vals:M,layer:s[c+\"axislayer\"],path:Ge,transFn:_})}}var nt=[];if(nt.push(function(){return kn.drawLabels(e,t,{vals:E,layer:v,plotinfo:s,transFn:C,labelFns:kn.makeLabelFns(t,b)})}),t.type===\"multicategory\"){var ct={x:2,y:10}[c];nt.push(function(){var rt={x:\"height\",y:\"width\"}[c],ot=L()[rt]+ct+(t._tickAngles[u+\"tick\"]?t.tickfont.size*rM:0);return kn.drawLabels(e,t,{vals:zot(t,E),layer:v,cls:u+\"tick2\",repositionOnUpdate:!0,secondary:!0,transFn:_,labelFns:kn.makeLabelFns(t,b+ot*ae[4])})}),nt.push(function(){return t._depth=ae[4]*(L(\"tick2\")[t.side]-b),Bot(e,t,{vals:V,layer:v,path:kn.makeTickPath(t,b,ae[4],{len:t._depth}),transFn:_})})}else t.title.hasOwnProperty(\"standoff\")&&nt.push(function(){t._depth=ae[4]*(L()[t.side]-b)});var qt=QS.getComponentMethod(\"rangeslider\",\"isVisible\")(t);return!r.skipTitle&&!(qt&&t.side===\"bottom\")&&nt.push(function(){return Not(e,t)}),nt.push(function(){var rt=t.side.charAt(0),ot=dot[t.side].charAt(0),Rt=kn.getPxPosition(e,t),kt=T?t.ticklen:0,Ct,Yt,xr,er;(t.automargin||qt||t._shiftPusher)&&(t.type===\"multicategory\"?Ct=L(\"tick2\"):(Ct=L(),c===\"x\"&&rt===\"b\"&&(t._depth=Math.max(Ct.width>0?Ct.bottom-Rt:0,kt))));var Ke=0,xt=0;if(t._shiftPusher&&(Ke=Math.max(kt,Ct.height>0?rt===\"l\"?Rt-Ct.left:Ct.right-Rt:0),t.title.text!==l._dfltTitle[c]&&(xt=(t._titleStandoff||0)+(t._titleScoot||0),rt===\"l\"&&(xt+=fse(t))),t._fullDepth=Math.max(Ke,xt)),t.automargin){Yt={x:0,y:0,r:0,l:0,t:0,b:0};var bt=[0,1],Lt=typeof t._shift==\"number\"?t._shift:0;if(c===\"x\"){if(rt===\"b\"?Yt[rt]=t._depth:(Yt[rt]=t._depth=Math.max(Ct.width>0?Rt-Ct.top:0,kt),bt.reverse()),Ct.width>0){var St=Ct.right-(t._offset+t._length);St>0&&(Yt.xr=1,Yt.r=St);var Et=t._offset-Ct.left;Et>0&&(Yt.xl=0,Yt.l=Et)}}else if(rt===\"l\"?(t._depth=Math.max(Ct.height>0?Rt-Ct.left:0,kt),Yt[rt]=t._depth-Lt):(t._depth=Math.max(Ct.height>0?Ct.right-Rt:0,kt),Yt[rt]=t._depth+Lt,bt.reverse()),Ct.height>0){var dt=Ct.bottom-(t._offset+t._length);dt>0&&(Yt.yb=0,Yt.b=dt);var Ht=t._offset-Ct.top;Ht>0&&(Yt.yt=1,Yt.t=Ht)}Yt[f]=t.anchor===\"free\"?t.position:t._anchorAxis.domain[bt[0]],t.title.text!==l._dfltTitle[c]&&(Yt[rt]+=fse(t)+(t.title.standoff||0)),t.mirror&&t.anchor!==\"free\"&&(xr={x:0,y:0,r:0,l:0,t:0,b:0},xr[ot]=t.linewidth,t.mirror&&t.mirror!==!0&&(xr[ot]+=kt),t.mirror===!0||t.mirror===\"ticks\"?xr[f]=t._anchorAxis.domain[bt[1]]:(t.mirror===\"all\"||t.mirror===\"allticks\")&&(xr[f]=[t._counterDomainMin,t._counterDomainMax][bt[1]]))}qt&&(er=QS.getComponentMethod(\"rangeslider\",\"autoMarginOpts\")(e,t)),typeof t.automargin==\"string\"&&(cse(Yt,t.automargin),cse(xr,t.automargin)),P3.autoMargin(e,cB(t),Yt),P3.autoMargin(e,xse(t),xr),P3.autoMargin(e,bse(t),er)}),Vo.syncOrAsync(nt)}};function cse(e,t){if(e){var r=Object.keys(ise).reduce(function(n,i){return t.indexOf(i)!==-1&&ise[i].forEach(function(a){n[a]=1}),n},{});Object.keys(e).forEach(function(n){r[n]||(n.length===1?e[n]=0:delete e[n])})}}function Dot(e,t){var r=[],n,i=function(a,o){var s=a.xbnd[o];s!==null&&r.push(Vo.extendFlat({},a,{x:s}))};if(t.length){for(n=0;n<t.length;n++)i(t[n],0);i(t[n-1],1)}return r}function zot(e,t){for(var r=[],n={},i=0;i<t.length;i++){var a=t[i];n[a.text2]?n[a.text2].push(a.x):n[a.text2]=[a.x]}for(var o in n)r.push(yse(e,Vo.interp(n[o],.5),o));return r}function Fot(e,t){var r=[],n,i,a=t.length&&t[t.length-1].x<t[0].x,o=function(l,u){var c=l.xbnd[u];c!==null&&r.push(Vo.extendFlat({},l,{x:c}))};if(e.showdividers&&t.length){for(n=0;n<t.length;n++){var s=t[n];s.text2!==i&&o(s,a?1:0),i=s.text2}o(t[n-1],a?0:1)}return r}function qot(e,t,r){var n,i,a,o;if(e._selections[t].size())n=1/0,i=-1/0,a=1/0,o=-1/0,e._selections[t].each(function(){var l=oB(this),u=Xp.bBox(l.node().parentNode);n=Math.min(n,u.top),i=Math.max(i,u.bottom),a=Math.min(a,u.left),o=Math.max(o,u.right)});else{var s=kn.makeLabelFns(e,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}}kn.getTickSigns=function(e,t){var r=e._id.charAt(0),n={x:\"top\",y:\"right\"}[r],i=e.side===n?1:-1,a=[-1,1,i,-i],o=t?(e.minor||{}).ticks:e.ticks;return o!==\"inside\"==(r===\"x\")&&(a=a.map(function(s){return-s})),e.side&&a.push({l:-1,t:-1,r:1,b:1}[e.side.charAt(0)]),a};kn.makeTransTickFn=function(e){return e._id.charAt(0)===\"x\"?function(t){return I3(e._offset+e.l2p(t.x),0)}:function(t){return I3(0,e._offset+e.l2p(t.x))}};kn.makeTransTickLabelFn=function(e){var t=Oot(e),r=e.ticklabelshift||0,n=e.ticklabelstandoff||0,i=t[0],a=t[1],o=e.range[0]>e.range[1],s=e.ticklabelposition&&e.ticklabelposition.indexOf(\"inside\")!==-1,l=!s;if(r){var u=o?-1:1;r=r*u}if(n){var c=e.side,f=s&&(c===\"top\"||c===\"left\")||l&&(c===\"bottom\"||c===\"right\")?1:-1;n=n*f}return e._id.charAt(0)===\"x\"?function(h){return I3(i+e._offset+e.l2p(aB(h))+r,a+n)}:function(h){return I3(a+n,i+e._offset+e.l2p(aB(h))+r)}};function aB(e){return e.periodX!==void 0?e.periodX:e.x}function Oot(e){var t=e.ticklabelposition||\"\",r=function(d){return t.indexOf(d)!==-1},n=r(\"top\"),i=r(\"left\"),a=r(\"right\"),o=r(\"bottom\"),s=r(\"inside\"),l=o||i||n||a;if(!l&&!s)return[0,0];var u=e.side,c=l?(e.tickwidth||0)/2:0,f=wL,h=e.tickfont?e.tickfont.size:12;return(o||n)&&(c+=h*Cb,f+=(e.linewidth||0)/2),(i||a)&&(c+=(e.linewidth||0)/2,f+=wL),s&&u===\"top\"&&(f-=h*(1-Cb)),(i||n)&&(c=-c),(u===\"bottom\"||u===\"right\")&&(f=-f),[l?c:0,s?f:0]}kn.makeTickPath=function(e,t,r,n){n||(n={});var i=n.minor;if(i&&!e.minor)return\"\";var a=n.len!==void 0?n.len:i?e.minor.ticklen:e.ticklen,o=e._id.charAt(0),s=(e.linewidth||1)/2;return o===\"x\"?\"M0,\"+(t+s*r)+\"v\"+a*r:\"M\"+(t+s*r)+\",0h\"+a*r};kn.makeLabelFns=function(e,t,r){var n=e.ticklabelposition||\"\",i=function(F){return n.indexOf(F)!==-1},a=i(\"top\"),o=i(\"left\"),s=i(\"right\"),l=i(\"bottom\"),u=l||o||a||s,c=i(\"inside\"),f=n===\"inside\"&&e.ticks===\"inside\"||!c&&e.ticks===\"outside\"&&e.tickson!==\"boundaries\",h=0,d=0,v=f?e.ticklen:0;if(c?v*=-1:u&&(v=0),f&&(h+=v,r)){var x=Vo.deg2rad(r);h=v*Math.cos(x)+1,d=v*Math.sin(x)}e.showticklabels&&(f||e.showline)&&(h+=.2*e.tickfont.size),h+=(e.linewidth||1)/2*(c?-1:1);var b={labelStandoff:h,labelShift:d},p,E,k,A,L=0,_=e.side,C=e._id.charAt(0),M=e.tickangle,g;if(C===\"x\")g=!c&&_===\"bottom\"||c&&_===\"top\",A=g?1:-1,c&&(A*=-1),p=d*A,E=t+h*A,k=g?1:-.2,Math.abs(M)===90&&(c?k+=$S:M===-90&&_===\"bottom\"?k=Cb:M===90&&_===\"top\"?k=$S:k=.5,L=$S/2*(M/90)),b.xFn=function(F){return F.dx+p+L*F.fontSize},b.yFn=function(F){return F.dy+E+F.fontSize*k},b.anchorFn=function(F,q){if(u){if(o)return\"end\";if(s)return\"start\"}return!ph(q)||q===0||q===180?\"middle\":q*A<0!==c?\"end\":\"start\"},b.heightFn=function(F,q,V){return q<-60||q>60?-.5*V:e.side===\"top\"!==c?-V:0};else if(C===\"y\"){if(g=!c&&_===\"left\"||c&&_===\"right\",A=g?1:-1,c&&(A*=-1),p=h,E=d*A,k=0,!c&&Math.abs(M)===90&&(M===-90&&_===\"left\"||M===90&&_===\"right\"?k=Cb:k=.5),c){var P=ph(M)?+M:0;if(P!==0){var T=Vo.deg2rad(P);L=Math.abs(Math.sin(T))*Cb*A,k=0}}b.xFn=function(F){return F.dx+t-(p+F.fontSize*k)*A+L*F.fontSize},b.yFn=function(F){return F.dy+E+F.fontSize*$S},b.anchorFn=function(F,q){return ph(q)&&Math.abs(q)===90?\"middle\":g?\"end\":\"start\"},b.heightFn=function(F,q,V){return e.side===\"right\"&&(q*=-1),q<-30?-V:q<30?-.5*V:0}}return b};function ML(e){return[e.text,e.x,e.axInfo,e.font,e.fontSize,e.fontColor].join(\"_\")}kn.drawTicks=function(e,t,r){r=r||{};var n=t._id+\"tick\",i=[].concat(t.minor&&t.minor.ticks?r.vals.filter(function(o){return o.minor&&!o.noTick}):[]).concat(t.ticks?r.vals.filter(function(o){return!o.minor&&!o.noTick}):[]),a=r.layer.selectAll(\"path.\"+n).data(i,ML);a.exit().remove(),a.enter().append(\"path\").classed(n,1).classed(\"ticks\",1).classed(\"crisp\",r.crisp!==!1).each(function(o){return eM.stroke(w0.select(this),o.minor?t.minor.tickcolor:t.tickcolor)}).style(\"stroke-width\",function(o){return Xp.crispRound(e,o.minor?t.minor.tickwidth:t.tickwidth,1)+\"px\"}).attr(\"d\",r.path).style(\"display\",null),EL(t,[hse]),a.attr(\"transform\",r.transFn)};kn.drawGrid=function(e,t,r){if(r=r||{},t.tickmode!==\"sync\"){var n=t._id+\"grid\",i=t.minor&&t.minor.showgrid,a=i?r.vals.filter(function(p){return p.minor}):[],o=t.showgrid?r.vals.filter(function(p){return!p.minor}):[],s=r.counterAxis;if(s&&kn.shouldShowZeroLine(e,t,s))for(var l=t.tickmode===\"array\",u=0;u<o.length;u++){var c=o[u].x;if(l?!c:Math.abs(c)<t.dtick/100)if(o=o.slice(0,u).concat(o.slice(u+1)),l)u--;else break}t._gw=Xp.crispRound(e,t.gridwidth,1);for(var f=i?Xp.crispRound(e,t.minor.gridwidth,1):0,h=r.layer,d=r.minorLayer,v=1;v>=0;v--){var x=v?h:d;if(x){var b=x.selectAll(\"path.\"+n).data(v?o:a,ML);b.exit().remove(),b.enter().append(\"path\").classed(n,1).classed(\"crisp\",r.crisp!==!1),b.attr(\"transform\",r.transFn).attr(\"d\",r.path).each(function(p){return eM.stroke(w0.select(this),p.minor?t.minor.gridcolor:t.gridcolor||\"#ddd\")}).style(\"stroke-dasharray\",function(p){return Xp.dashStyle(p.minor?t.minor.griddash:t.griddash,p.minor?t.minor.gridwidth:t.gridwidth)}).style(\"stroke-width\",function(p){return(p.minor?f:t._gw)+\"px\"}).style(\"display\",null),typeof r.path==\"function\"&&b.attr(\"d\",r.path)}}EL(t,[iB,nB])}};kn.drawZeroLine=function(e,t,r){r=r||r;var n=t._id+\"zl\",i=kn.shouldShowZeroLine(e,t,r.counterAxis),a=r.layer.selectAll(\"path.\"+n).data(i?[{x:0,id:t._id}]:[]);a.exit().remove(),a.enter().append(\"path\").classed(n,1).classed(\"zl\",1).classed(\"crisp\",r.crisp!==!1).each(function(){r.layer.selectAll(\"path\").sort(function(o,s){return pot(o.id,s.id)})}),a.attr(\"transform\",r.transFn).attr(\"d\",r.path).call(eM.stroke,t.zerolinecolor||eM.defaultLine).style(\"stroke-width\",Xp.crispRound(e,t.zerolinewidth,t._gw||1)+\"px\").style(\"display\",null),EL(t,[rB])};kn.drawLabels=function(e,t,r){r=r||{};var n=e._fullLayout,i=t._id,a=r.cls||i+\"tick\",o=r.vals.filter(function(N){return N.text}),s=r.labelFns,l=r.secondary?0:t.tickangle,u=(t._prevTickAngles||{})[a],c=r.layer.selectAll(\"g.\"+a).data(t.showticklabels?o:[],ML),f=[];c.enter().append(\"g\").classed(a,1).append(\"text\").attr(\"text-anchor\",\"middle\").each(function(N){var W=w0.select(this),re=e._promises.length;W.call(Eb.positionText,s.xFn(N),s.yFn(N)).call(Xp.font,{family:N.font,size:N.fontSize,color:N.fontColor,weight:N.fontWeight,style:N.fontStyle,variant:N.fontVariant,textcase:N.fontTextcase,lineposition:N.fontLineposition,shadow:N.fontShadow}).text(N.text).call(Eb.convertToTspans,e),e._promises[re]?f.push(e._promises.pop().then(function(){h(W,l)})):h(W,l)}),EL(t,[rse]),c.exit().remove(),r.repositionOnUpdate&&c.each(function(N){w0.select(this).select(\"text\").call(Eb.positionText,s.xFn(N),s.yFn(N))});function h(N,W){N.each(function(re){var ae=w0.select(this),_e=ae.select(\".text-math-group\"),Me=s.anchorFn(re,W),ke=r.transFn.call(ae.node(),re)+(ph(W)&&+W!=0?\" rotate(\"+W+\",\"+s.xFn(re)+\",\"+(s.yFn(re)-re.fontSize/2)+\")\":\"\"),ge=Eb.lineCount(ae),ie=rM*re.fontSize,Te=s.heightFn(re,ph(W)?+W:0,(ge-1)*ie);if(Te&&(ke+=I3(0,Te)),_e.empty()){var Ee=ae.select(\"text\");Ee.attr({transform:ke,\"text-anchor\":Me}),Ee.style(\"opacity\",1),t._adjustTickLabelsOverflow&&t._adjustTickLabelsOverflow()}else{var Ae=Xp.bBox(_e.node()).width,ze=Ae*{end:-.5,start:.5}[Me];_e.attr(\"transform\",ke+I3(ze,0))}})}t._adjustTickLabelsOverflow=function(){var N=t.ticklabeloverflow;if(!(!N||N===\"allow\")){var W=N.indexOf(\"hide\")!==-1,re=t._id.charAt(0)===\"x\",ae=0,_e=re?e._fullLayout.width:e._fullLayout.height;if(N.indexOf(\"domain\")!==-1){var Me=Vo.simpleMap(t.range,t.r2l);ae=t.l2p(Me[0])+t._offset,_e=t.l2p(Me[1])+t._offset}var ke=Math.min(ae,_e),ge=Math.max(ae,_e),ie=t.side,Te=1/0,Ee=-1/0;c.each(function(me){var Re=w0.select(this),ce=Re.select(\".text-math-group\");if(ce.empty()){var Ge=Xp.bBox(Re.node()),nt=0;re?(Ge.right>ge||Ge.left<ke)&&(nt=1):(Ge.bottom>ge||Ge.top+(t.tickangle?0:me.fontSize/4)<ke)&&(nt=1);var ct=Re.select(\"text\");nt?W&&ct.style(\"opacity\",0):(ct.style(\"opacity\",1),ie===\"bottom\"||ie===\"right\"?Te=Math.min(Te,re?Ge.top:Ge.left):Te=-1/0,ie===\"top\"||ie===\"left\"?Ee=Math.max(Ee,re?Ge.bottom:Ge.right):Ee=1/0)}});for(var Ae in n._plots){var ze=n._plots[Ae];if(!(t._id!==ze.xaxis._id&&t._id!==ze.yaxis._id)){var Ce=re?ze.yaxis:ze.xaxis;Ce&&(Ce[\"_visibleLabelMin_\"+t._id]=Te,Ce[\"_visibleLabelMax_\"+t._id]=Ee)}}}},t._hideCounterAxisInsideTickLabels=function(N){var W=t._id.charAt(0)===\"x\",re=[];for(var ae in n._plots){var _e=n._plots[ae];t._id!==_e.xaxis._id&&t._id!==_e.yaxis._id||re.push(W?_e.yaxis:_e.xaxis)}re.forEach(function(Me,ke){Me&&nM(Me)&&(N||[rB,nB,iB,hse,rse]).forEach(function(ge){var ie=ge.K===\"tick\"&&ge.L===\"text\"&&t.ticklabelmode===\"period\",Te=n._plots[t._mainSubplot],Ee;ge.K===rB.K?Ee=Te.zerolinelayer.selectAll(\".\"+t._id+\"zl\"):ge.K===nB.K?Ee=Te.minorGridlayer.selectAll(\".\"+t._id):ge.K===iB.K?Ee=Te.gridlayer.selectAll(\".\"+t._id):Ee=Te[t._id.charAt(0)+\"axislayer\"],Ee.each(function(){var Ae=w0.select(this);ge.L&&(Ae=Ae.selectAll(ge.L)),Ae.each(function(ze){var Ce=t.l2p(ie?aB(ze):ze.x)+t._offset,me=w0.select(this);Ce<t[\"_visibleLabelMax_\"+Me._id]&&Ce>t[\"_visibleLabelMin_\"+Me._id]?me.style(\"display\",\"none\"):ge.K===\"tick\"&&!ke&&me.style(\"display\",null)})})})})},h(c,u+1?u:l);function d(){return f.length&&Promise.all(f)}var v=null;function x(){if(h(c,l),o.length&&t.autotickangles&&(t.type!==\"log\"||String(t.dtick).charAt(0)!==\"D\")){v=t.autotickangles[0];var N=0,W=[],re,ae=1;c.each(function(Ct){N=Math.max(N,Ct.fontSize);var Yt=t.l2p(Ct.x),xr=oB(this),er=Xp.bBox(xr.node());ae=Math.max(ae,Eb.lineCount(xr)),W.push({top:0,bottom:10,height:10,left:Yt-er.width/2,right:Yt+er.width/2+2,width:er.width+2})});var _e=(t.tickson===\"boundaries\"||t.showdividers)&&!r.secondary,Me=o.length,ke=Math.abs((o[Me-1].x-o[0].x)*t._m)/(Me-1),ge=_e?ke/2:ke,ie=_e?t.ticklen:N*1.25*ae,Te=Math.sqrt(Math.pow(ge,2)+Math.pow(ie,2)),Ee=ge/Te,Ae=t.autotickangles.map(function(Ct){return Ct*Math.PI/180}),ze=Ae.find(function(Ct){return Math.abs(Math.cos(Ct))<=Ee});ze===void 0&&(ze=Ae.reduce(function(Ct,Yt){return Math.abs(Math.cos(Ct))<Math.abs(Math.cos(Yt))?Ct:Yt},Ae[0]));var Ce=ze*(180/Math.PI);if(_e){var me=2;for(t.ticks&&(me+=t.tickwidth/2),re=0;re<W.length;re++){var Re=o[re].xbnd,ce=W[re];if(Re[0]!==null&&ce.left-t.l2p(Re[0])<me||Re[1]!==null&&t.l2p(Re[1])-ce.right<me){v=Ce;break}}}else{var Ge=t.ticklabelposition||\"\",nt=function(Ct){return Ge.indexOf(Ct)!==-1},ct=nt(\"top\"),qt=nt(\"left\"),rt=nt(\"right\"),ot=nt(\"bottom\"),Rt=ot||qt||ct||rt,kt=Rt?(t.tickwidth||0)+2*wL:0;for(re=0;re<W.length-1;re++)if(Vo.bBoxIntersect(W[re],W[re+1],kt)){v=Ce;break}}v&&h(c,v)}}t._selections&&(t._selections[a]=c);var b=[d];t.automargin&&n._redrawFromAutoMarginCount&&u===90?(v=u,b.push(function(){h(c,u)})):b.push(x),t._tickAngles&&b.push(function(){t._tickAngles[a]=v===null?ph(l)?l:0:v});var p=function(){var N=0,W=0;return c.each(function(re,ae){var _e=oB(this),Me=_e.select(\".text-math-group\");if(Me.empty()){var ke;t._vals[ae]&&(ke=t._vals[ae].bb||Xp.bBox(_e.node()),t._vals[ae].bb=ke),N=Math.max(N,ke.width),W=Math.max(W,ke.height)}}),{labelsMaxW:N,labelsMaxH:W}},E=t._anchorAxis;if(E&&(E.autorange||E.insiderange)&&nM(t)&&!got(n,t._id)&&(n._insideTickLabelsUpdaterange||(n._insideTickLabelsUpdaterange={}),E.autorange&&(n._insideTickLabelsUpdaterange[E._name+\".autorange\"]=E.autorange,b.push(p)),E.insiderange)){var k=p(),A=t._id.charAt(0)===\"y\"?k.labelsMaxW:k.labelsMaxH;A+=2*wL,t.ticklabelposition===\"inside\"&&(A+=t.ticklen||0);var L=t.side===\"right\"||t.side===\"top\"?1:-1,_=L===1?1:0,C=L===1?0:1,M=[];M[C]=E.range[C];var g=E.range,P=E.r2p(g[_]),T=E.r2p(g[C]),F=n._insideTickLabelsUpdaterange[E._name+\".range\"];if(F){var q=E.r2p(F[_]),V=E.r2p(F[C]),H=L*(t._id.charAt(0)===\"y\"?1:-1);H*P<H*q&&(P=q,M[_]=g[_]=F[_]),H*T>H*V&&(T=V,M[C]=g[C]=F[C])}var X=Math.abs(T-P);X-A>0?(X-=A,A*=1+A/X):A=0,t._id.charAt(0)!==\"y\"&&(A=-A),M[_]=E.p2r(E.r2p(g[_])+L*A),E.autorange===\"min\"||E.autorange===\"max reversed\"?(M[0]=null,E._rangeInitial0=void 0,E._rangeInitial1=void 0):(E.autorange===\"max\"||E.autorange===\"min reversed\")&&(M[1]=null,E._rangeInitial0=void 0,E._rangeInitial1=void 0),n._insideTickLabelsUpdaterange[E._name+\".range\"]=M}var G=Vo.syncOrAsync(b);return G&&G.then&&e._promises.push(G),G};function Bot(e,t,r){var n=t._id+\"divider\",i=r.vals,a=r.layer.selectAll(\"path.\"+n).data(i,ML);a.exit().remove(),a.enter().insert(\"path\",\":first-child\").classed(n,1).classed(\"crisp\",1).call(eM.stroke,t.dividercolor).style(\"stroke-width\",Xp.crispRound(e,t.dividerwidth,1)+\"px\"),a.attr(\"transform\",r.transFn).attr(\"d\",r.path)}kn.getPxPosition=function(e,t){var r=e._fullLayout._size,n=t._id.charAt(0),i=t.side,a;if(t.anchor!==\"free\"?a=t._anchorAxis:n===\"x\"?a={_offset:r.t+(1-(t.position||0))*r.h,_length:0}:n===\"y\"&&(a={_offset:r.l+(t.position||0)*r.w+t._shift,_length:0}),i===\"top\"||i===\"left\")return a._offset;if(i===\"bottom\"||i===\"right\")return a._offset+a._length};function fse(e){var t=e.title.font.size,r=(e.title.text.match(Eb.BR_TAG_ALL)||[]).length;return e.title.hasOwnProperty(\"standoff\")?t*(Cb+r*rM):r?t*(r+1)*rM:t}function Not(e,t){var r=e._fullLayout,n=t._id,i=n.charAt(0),a=t.title.font.size,o,s=(t.title.text.match(Eb.BR_TAG_ALL)||[]).length;if(t.title.hasOwnProperty(\"standoff\"))t.side===\"bottom\"||t.side===\"right\"?o=t._depth+t.title.standoff+a*Cb:(t.side===\"top\"||t.side===\"left\")&&(o=t._depth+t.title.standoff+a*($S+s*rM));else{var l=nM(t);if(t.type===\"multicategory\")o=t._depth;else{var u=1.5*a;l&&(u=.5*a,t.ticks===\"outside\"&&(u+=t.ticklen)),o=10+u+(t.linewidth?t.linewidth-1:0)}l||(i===\"x\"?o+=t.side===\"top\"?a*(t.showticklabels?1:0):a*(t.showticklabels?1.5:.5):o+=t.side===\"right\"?a*(t.showticklabels?1:.5):a*(t.showticklabels?.5:0))}var c=kn.getPxPosition(e,t),f,h,d;i===\"x\"?(h=t._offset+t._length/2,d=t.side===\"top\"?c-o:c+o):(d=t._offset+t._length/2,h=t.side===\"right\"?c+o:c-o,f={rotate:\"-90\",offset:0});var v;if(t.type!==\"multicategory\"){var x=t._selections[t._id+\"tick\"];if(v={selection:x,side:t.side},x&&x.node()&&x.node().parentNode){var b=Xp.getTranslate(x.node().parentNode);v.offsetLeft=b.x,v.offsetTop=b.y}t.title.hasOwnProperty(\"standoff\")&&(v.pad=0)}return t._titleStandoff=o,oot.draw(e,n+\"title\",{propContainer:t,propName:t._name+\".title.text\",placeholder:r._dfltTitle[i],avoid:v,transform:f,attributes:{x:h,y:d,\"text-anchor\":\"middle\"}})}kn.shouldShowZeroLine=function(e,t,r){var n=Vo.simpleMap(t.range,t.r2l);return n[0]*n[1]<=0&&t.zeroline&&(t.type===\"linear\"||t.type===\"-\")&&!(t.rangebreaks&&t.maskBreaks(0)===AL)&&(_se(t,0)||!Uot(e,t,r,n)||Vot(e,t))};kn.clipEnds=function(e,t){return t.filter(function(r){return _se(e,r.x)})};function _se(e,t){var r=e.l2p(t);return r>1&&r<e._length-1}function Uot(e,t,r,n){var i=r._mainAxis;if(!i)return;var a=e._fullLayout,o=t._id.charAt(0),s=kn.counterLetter(t._id),l=t._offset+(Math.abs(n[0])<Math.abs(n[1])==(o===\"x\")?0:t._length);function u(v){if(!v.showline||!v.linewidth)return!1;var x=Math.max((v.linewidth+t.zerolinewidth)/2,1);function b(k){return typeof k==\"number\"&&Math.abs(k-l)<x}if(b(v._mainLinePosition)||b(v._mainMirrorPosition))return!0;var p=v._linepositions||{};for(var E in p)if(b(p[E][0])||b(p[E][1]))return!0}var c=a._plots[r._mainSubplot];if(!(c.mainplotinfo||c).overlays.length)return u(r,l);for(var f=kn.list(e,s),h=0;h<f.length;h++){var d=f[h];if(d._mainAxis===i&&u(d,l))return!0}}function Vot(e,t){for(var r=e._fullData,n=t._mainSubplot,i=t._id.charAt(0),a=0;a<r.length;a++){var o=r[a];if(o.visible===!0&&o.xaxis+o.yaxis===n&&(QS.traceIs(o,\"bar-like\")&&o.orientation==={x:\"h\",y:\"v\"}[i]||o.fill&&o.fill.charAt(o.fill.length-1)===i))return!0}return!1}function oB(e){var t=w0.select(e),r=t.select(\".text-math-group\");return r.empty()?t.select(\"text\"):r}kn.allowAutoMargin=function(e){for(var t=kn.list(e,\"\",!0),r=0;r<t.length;r++){var n=t[r];n.automargin&&(P3.allowAutoMargin(e,cB(n)),n.mirror&&P3.allowAutoMargin(e,xse(n))),QS.getComponentMethod(\"rangeslider\",\"isVisible\")(n)&&P3.allowAutoMargin(e,bse(n))}};function cB(e){return e._id+\".automargin\"}function xse(e){return cB(e)+\".mirror\"}function bse(e){return e._id+\".rangeslider\"}kn.swap=function(e,t){for(var r=Hot(e,t),n=0;n<r.length;n++)Got(e,r[n].x,r[n].y)};function Hot(e,t){var r=[],n,i;for(n=0;n<t.length;n++){var a=[],o=e._fullData[t[n]].xaxis,s=e._fullData[t[n]].yaxis;if(!(!o||!s)){for(i=0;i<r.length;i++)(r[i].x.indexOf(o)!==-1||r[i].y.indexOf(s)!==-1)&&a.push(i);if(!a.length){r.push({x:[o],y:[s]});continue}var l=r[a[0]],u;if(a.length>1)for(i=1;i<a.length;i++)u=r[a[i]],gL(l.x,u.x),gL(l.y,u.y);gL(l.x,[o]),gL(l.y,[s])}}return r}function gL(e,t){for(var r=0;r<t.length;r++)e.indexOf(t[r])===-1&&e.push(t[r])}function Got(e,t,r){var n=[],i=[],a=e.layout,o,s;for(o=0;o<t.length;o++)n.push(kn.getFromId(e,t[o]));for(o=0;o<r.length;o++)i.push(kn.getFromId(e,r[o]));var l=Object.keys(sot),u=[\"anchor\",\"domain\",\"overlaying\",\"position\",\"side\",\"tickangle\",\"editType\"],c=[\"linear\",\"log\"];for(o=0;o<l.length;o++){var f=l[o],h=n[0][f],d=i[0][f],v=!0,x=!1,b=!1;if(!(f.charAt(0)===\"_\"||typeof h==\"function\"||u.indexOf(f)!==-1)){for(s=1;s<n.length&&v;s++){var p=n[s][f];f===\"type\"&&c.indexOf(h)!==-1&&c.indexOf(p)!==-1&&h!==p?x=!0:p!==h&&(v=!1)}for(s=1;s<i.length&&v;s++){var E=i[s][f];f===\"type\"&&c.indexOf(d)!==-1&&c.indexOf(E)!==-1&&d!==E?b=!0:i[s][f]!==d&&(v=!1)}v&&(x&&(a[n[0]._name].type=\"linear\"),b&&(a[i[0]._name].type=\"linear\"),jot(a,f,n,i,e._fullLayout._dfltTitle))}}for(o=0;o<e._fullLayout.annotations.length;o++){var k=e._fullLayout.annotations[o];t.indexOf(k.xref)!==-1&&r.indexOf(k.yref)!==-1&&Vo.swapAttrs(a.annotations[o],[\"?\"])}}function jot(e,t,r,n,i){var a=Vo.nestedProperty,o=a(e[r[0]._name],t).get(),s=a(e[n[0]._name],t).get(),l;for(t===\"title\"&&(o&&o.text===i.x&&(o.text=i.y),s&&s.text===i.y&&(s.text=i.x)),l=0;l<r.length;l++)a(e,r[l]._name+\".\"+t).set(s);for(l=0;l<n.length;l++)a(e,n[l]._name+\".\"+t).set(o)}function fB(e){return e._id===\"angularaxis\"}function eB(e,t){for(var r=t._rangebreaks.length,n=0;n<r;n++){var i=t._rangebreaks[n];if(e>=i.min&&e<i.max)return i.max}return e}function nM(e){return(e.ticklabelposition||\"\").indexOf(\"inside\")!==-1}function EL(e,t){nM(e._anchorAxis||{})&&e._hideCounterAxisInsideTickLabels&&e._hideCounterAxisInsideTickLabels(t)}function sB(e,t,r,n){var i=e.anchor!==\"free\"&&(e.overlaying===void 0||e.overlaying===!1)?e._id:e.overlaying,a;n?a=e.side===\"right\"?t:-t:a=t,i in r||(r[i]={}),e.side in r[i]||(r[i][e.side]=0),r[i][e.side]+=a}function Wot(e,t){return e.autoshift?t[e.overlaying][e.side]:e.shift||0}function Zot(e,t){return/%f/.test(t)?e>=hot:/%L/.test(t)?e>=fot:/%[SX]/.test(t)?e>=bL:/%M/.test(t)?e>=tM:/%[HI]/.test(t)?e>=xm:/%p/.test(t)?e>=l_:/%[Aadejuwx]/.test(t)?e>=Fv:/%[UVW]/.test(t)?e>=Yp:/%[Bbm]/.test(t)?e>=xL:/%[q]/.test(t)?e>=_L:/%[Yy]/.test(t)?e>=yL:!0}});var hB=ye((Srr,Tse)=>{\"use strict\";Tse.exports=function(t,r,n){var i,a;if(n){var o=r===\"reversed\"||r===\"min reversed\"||r===\"max reversed\";i=n[o?1:0],a=n[o?0:1]}var s=t(\"autorangeoptions.minallowed\",a===null?i:void 0),l=t(\"autorangeoptions.maxallowed\",i===null?a:void 0);s===void 0&&t(\"autorangeoptions.clipmin\"),l===void 0&&t(\"autorangeoptions.clipmax\"),t(\"autorangeoptions.include\")}});var dB=ye((Mrr,Ase)=>{\"use strict\";var Xot=hB();Ase.exports=function(t,r,n,i){var a=r._template||{},o=r.type||a.type||\"-\";n(\"minallowed\"),n(\"maxallowed\");var s=n(\"range\");if(!s){var l;!i.noInsiderange&&o!==\"log\"&&(l=n(\"insiderange\"),l&&(l[0]===null||l[1]===null)&&(r.insiderange=!1,l=void 0),l&&(s=n(\"range\",l)))}var u=r.getAutorangeDflt(s,i),c=n(\"autorange\",u),f;s&&(s[0]===null&&s[1]===null||(s[0]===null||s[1]===null)&&(c===\"reversed\"||c===!0)||s[0]!==null&&(c===\"min\"||c===\"max reversed\")||s[1]!==null&&(c===\"max\"||c===\"min reversed\"))&&(s=void 0,delete r.range,r.autorange=!0,f=!0),f||(u=r.getAutorangeDflt(s,i),c=n(\"autorange\",u)),c&&(Xot(n,c,s),(o===\"linear\"||o===\"-\")&&n(\"rangemode\")),r.cleanRange()}});var Mse=ye((Err,Sse)=>{var Yot={left:0,top:0};Sse.exports=Kot;function Kot(e,t,r){t=t||e.currentTarget||e.srcElement,Array.isArray(r)||(r=[0,0]);var n=e.clientX||0,i=e.clientY||0,a=Jot(t);return r[0]=n-a.left,r[1]=i-a.top,r}function Jot(e){return e===window||e===document||e===document.body?Yot:e.getBoundingClientRect()}});var kL=ye((krr,Ese)=>{\"use strict\";var $ot=Kq();function Qot(){var e=!1;try{var t=Object.defineProperty({},\"passive\",{get:function(){e=!0}});window.addEventListener(\"test\",null,t),window.removeEventListener(\"test\",null,t)}catch(r){e=!1}return e}Ese.exports=$ot&&Qot()});var Cse=ye((Crr,kse)=>{\"use strict\";kse.exports=function(t,r,n,i,a){var o=(t-n)/(i-n),s=o+r/(i-n),l=(o+s)/2;return a===\"left\"||a===\"bottom\"?o:a===\"center\"||a===\"middle\"?l:a===\"right\"||a===\"top\"?s:o<2/3-l?o:s>4/3-l?s:l}});var Ise=ye((Lrr,Pse)=>{\"use strict\";var Lse=Mr(),est=[[\"sw-resize\",\"s-resize\",\"se-resize\"],[\"w-resize\",\"move\",\"e-resize\"],[\"nw-resize\",\"n-resize\",\"ne-resize\"]];Pse.exports=function(t,r,n,i){return n===\"left\"?t=0:n===\"center\"?t=1:n===\"right\"?t=2:t=Lse.constrain(Math.floor(t*3),0,2),i===\"bottom\"?r=0:i===\"middle\"?r=1:i===\"top\"?r=2:r=Lse.constrain(Math.floor(r*3),0,2),est[r][t]}});var Dse=ye((Prr,Rse)=>{\"use strict\";var tst=g3(),rst=P6(),ist=DS().getGraphDiv,nst=IS(),vB=Rse.exports={};vB.wrapped=function(e,t,r){e=ist(e),e._fullLayout&&rst.clear(e._fullLayout._uid+nst.HOVERID),vB.raw(e,t,r)};vB.raw=function(t,r){var n=t._fullLayout,i=t._hoverdata;r||(r={}),!(r.target&&!t._dragged&&tst.triggerHandler(t,\"plotly_beforehover\",r)===!1)&&(n._hoverlayer.selectAll(\"g\").remove(),n._hoverlayer.selectAll(\"line\").remove(),n._hoverlayer.selectAll(\"circle\").remove(),t._hoverdata=void 0,r.target&&i&&t.emit(\"plotly_unhover\",{event:r,points:i}))}});var gv=ye((Irr,Ose)=>{\"use strict\";var ast=Mse(),pB=$q(),ost=kL(),sst=Mr().removeElement,lst=ad(),Lb=Ose.exports={};Lb.align=Cse();Lb.getCursor=Ise();var Fse=Dse();Lb.unhover=Fse.wrapped;Lb.unhoverRaw=Fse.raw;Lb.init=function(t){var r=t.gd,n=1,i=r._context.doubleClickDelay,a=t.element,o,s,l,u,c,f,h,d;r._mouseDownTime||(r._mouseDownTime=0),a.style.pointerEvents=\"all\",a.onmousedown=b,ost?(a._ontouchstart&&a.removeEventListener(\"touchstart\",a._ontouchstart),a._ontouchstart=b,a.addEventListener(\"touchstart\",b,{passive:!1})):a.ontouchstart=b;function v(k,A,L){return Math.abs(k)<L&&(k=0),Math.abs(A)<L&&(A=0),[k,A]}var x=t.clampFn||v;function b(k){r._dragged=!1,r._dragging=!0;var A=zse(k);o=A[0],s=A[1],h=k.target,f=k,d=k.buttons===2||k.ctrlKey,typeof k.clientX==\"undefined\"&&typeof k.clientY==\"undefined\"&&(k.clientX=o,k.clientY=s),l=new Date().getTime(),l-r._mouseDownTime<i?n+=1:(n=1,r._mouseDownTime=l),t.prepFn&&t.prepFn(k,o,s),pB&&!d?(c=qse(),c.style.cursor=window.getComputedStyle(a).cursor):pB||(c=document,u=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(a).cursor),document.addEventListener(\"mouseup\",E),document.addEventListener(\"touchend\",E),t.dragmode!==!1&&(k.preventDefault(),document.addEventListener(\"mousemove\",p),document.addEventListener(\"touchmove\",p,{passive:!1}))}function p(k){k.preventDefault();var A=zse(k),L=t.minDrag||lst.MINDRAG,_=x(A[0]-o,A[1]-s,L),C=_[0],M=_[1];(C||M)&&(r._dragged=!0,Lb.unhover(r,k)),r._dragged&&t.moveFn&&!d&&(r._dragdata={element:a,dx:C,dy:M},t.moveFn(C,M))}function E(k){if(delete r._dragdata,t.dragmode!==!1&&(k.preventDefault(),document.removeEventListener(\"mousemove\",p),document.removeEventListener(\"touchmove\",p)),document.removeEventListener(\"mouseup\",E),document.removeEventListener(\"touchend\",E),pB?sst(c):u&&(c.documentElement.style.cursor=u,u=null),!r._dragging){r._dragged=!1;return}if(r._dragging=!1,new Date().getTime()-r._mouseDownTime>i&&(n=Math.max(n-1,1)),r._dragged)t.doneFn&&t.doneFn();else{var A;f.target===h?A=f:(A={target:h,srcElement:h,toElement:h},Object.keys(f).concat(Object.keys(f.__proto__)).forEach(L=>{var _=f[L];!A[L]&&typeof _!=\"function\"&&(A[L]=_)})),t.clickFn&&t.clickFn(n,A),d||h.dispatchEvent(new MouseEvent(\"click\",k))}r._dragging=!1,r._dragged=!1}};function qse(){var e=document.createElement(\"div\");e.className=\"dragcover\";var t=e.style;return t.position=\"fixed\",t.left=0,t.right=0,t.top=0,t.bottom=0,t.zIndex=999999999,t.background=\"none\",document.body.appendChild(e),e}Lb.coverSlip=qse;function zse(e){return ast(e.changedTouches?e.changedTouches[0]:e,document.body)}});var Tg=ye((Rrr,Bse)=>{\"use strict\";Bse.exports=function(t,r){(t.attr(\"class\")||\"\").split(\" \").forEach(function(n){n.indexOf(\"cursor-\")===0&&t.classed(n,!1)}),r&&t.classed(\"cursor-\"+r,!0)}});var Vse=ye((Drr,Use)=>{\"use strict\";var gB=Tg(),aM=\"data-savedcursor\",Nse=\"!!\";Use.exports=function(t,r){var n=t.attr(aM);if(r){if(!n){for(var i=(t.attr(\"class\")||\"\").split(\" \"),a=0;a<i.length;a++){var o=i[a];o.indexOf(\"cursor-\")===0&&t.attr(aM,o.substr(7)).classed(o,!1)}t.attr(aM)||t.attr(aM,Nse)}gB(t,r)}else n&&(t.attr(aM,null),n===Nse?gB(t):gB(t,n))}});var yB=ye((zrr,Hse)=>{\"use strict\";var mB=Su(),ust=dh();Hse.exports={_isSubplotObj:!0,visible:{valType:\"boolean\",dflt:!0,editType:\"legend\"},bgcolor:{valType:\"color\",editType:\"legend\"},bordercolor:{valType:\"color\",dflt:ust.defaultLine,editType:\"legend\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"legend\"},font:mB({editType:\"legend\"}),grouptitlefont:mB({editType:\"legend\"}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"v\",editType:\"legend\"},traceorder:{valType:\"flaglist\",flags:[\"reversed\",\"grouped\"],extras:[\"normal\"],editType:\"legend\"},tracegroupgap:{valType:\"number\",min:0,dflt:10,editType:\"legend\"},entrywidth:{valType:\"number\",min:0,editType:\"legend\"},entrywidthmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"pixels\",editType:\"legend\"},indentation:{valType:\"number\",min:-15,dflt:0,editType:\"legend\"},itemsizing:{valType:\"enumerated\",values:[\"trace\",\"constant\"],dflt:\"trace\",editType:\"legend\"},itemwidth:{valType:\"number\",min:30,dflt:30,editType:\"legend\"},itemclick:{valType:\"enumerated\",values:[\"toggle\",\"toggleothers\",!1],dflt:\"toggle\",editType:\"legend\"},itemdoubleclick:{valType:\"enumerated\",values:[\"toggle\",\"toggleothers\",!1],dflt:\"toggleothers\",editType:\"legend\"},groupclick:{valType:\"enumerated\",values:[\"toggleitem\",\"togglegroup\"],dflt:\"togglegroup\",editType:\"legend\"},x:{valType:\"number\",editType:\"legend\"},xref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"legend\"},y:{valType:\"number\",editType:\"legend\"},yref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],editType:\"legend\"},uirevision:{valType:\"any\",editType:\"none\"},valign:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\",editType:\"legend\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"legend\"},font:mB({editType:\"legend\"}),side:{valType:\"enumerated\",values:[\"top\",\"left\",\"top left\",\"top center\",\"top right\"],editType:\"legend\"},editType:\"legend\"},editType:\"legend\"}});var LL=ye(CL=>{\"use strict\";CL.isGrouped=function(t){return(t.traceorder||\"\").indexOf(\"grouped\")!==-1};CL.isVertical=function(t){return t.orientation!==\"h\"};CL.isReversed=function(t){return(t.traceorder||\"\").indexOf(\"reversed\")!==-1}});var bB=ye((qrr,Gse)=>{\"use strict\";var _B=ba(),Kp=Mr(),cst=Vs(),fst=vl(),hst=yB(),dst=s3(),xB=LL();function vst(e,t,r,n){var i=t[e]||{},a=cst.newContainer(r,e);function o(G,N){return Kp.coerce(i,a,hst,G,N)}var s=Kp.coerceFont(o,\"font\",r.font);o(\"bgcolor\",r.paper_bgcolor),o(\"bordercolor\");var l=o(\"visible\");if(l){for(var u,c=function(G,N){var W=u._input,re=u;return Kp.coerce(W,re,fst,G,N)},f=r.font||{},h=Kp.coerceFont(o,\"grouptitlefont\",f,{overrideDflt:{size:Math.round(f.size*1.1)}}),d=0,v=!1,x=\"normal\",b=(r.shapes||[]).filter(function(G){return G.showlegend}),p=n.concat(b).filter(function(G){return e===(G.legend||\"legend\")}),E=0;E<p.length;E++)if(u=p[E],!!u.visible){var k=u._isShape;(u.showlegend||u._dfltShowLegend&&!(u._module&&u._module.attributes&&u._module.attributes.showlegend&&u._module.attributes.showlegend.dflt===!1))&&(d++,u.showlegend&&(v=!0,(!k&&_B.traceIs(u,\"pie-like\")||u._input.showlegend===!0)&&d++),Kp.coerceFont(c,\"legendgrouptitle.font\",h)),(!k&&_B.traceIs(u,\"bar\")&&r.barmode===\"stack\"||[\"tonextx\",\"tonexty\"].indexOf(u.fill)!==-1)&&(x=xB.isGrouped({traceorder:x})?\"grouped+reversed\":\"reversed\"),u.legendgroup!==void 0&&u.legendgroup!==\"\"&&(x=xB.isReversed({traceorder:x})?\"reversed+grouped\":\"grouped\")}var A=Kp.coerce(t,r,dst,\"showlegend\",v&&d>(e===\"legend\"?1:0));if(A===!1&&(r[e]=void 0),!(A===!1&&!i.uirevision)&&(o(\"uirevision\",r.uirevision),A!==!1)){o(\"borderwidth\");var L=o(\"orientation\"),_=o(\"yref\"),C=o(\"xref\"),M=L===\"h\",g=_===\"paper\",P=C===\"paper\",T,F,q,V=\"left\";M?(T=0,_B.getComponentMethod(\"rangeslider\",\"isVisible\")(t.xaxis)?g?(F=1.1,q=\"bottom\"):(F=1,q=\"top\"):g?(F=-.1,q=\"top\"):(F=0,q=\"bottom\")):(F=1,q=\"auto\",P?T=1.02:(T=1,V=\"right\")),Kp.coerce(i,a,{x:{valType:\"number\",editType:\"legend\",min:P?-2:0,max:P?3:1,dflt:T}},\"x\"),Kp.coerce(i,a,{y:{valType:\"number\",editType:\"legend\",min:g?-2:0,max:g?3:1,dflt:F}},\"y\"),o(\"traceorder\",x),xB.isGrouped(r[e])&&o(\"tracegroupgap\"),o(\"entrywidth\"),o(\"entrywidthmode\"),o(\"indentation\"),o(\"itemsizing\"),o(\"itemwidth\"),o(\"itemclick\"),o(\"itemdoubleclick\"),o(\"groupclick\"),o(\"xanchor\",V),o(\"yanchor\",q),o(\"valign\"),Kp.noneOrAll(i,a,[\"x\",\"y\"]);var H=o(\"title.text\");if(H){o(\"title.side\",M?\"left\":\"top\");var X=Kp.extendFlat({},s,{size:Kp.bigFont(s.size)});Kp.coerceFont(o,\"title.font\",X)}}}}Gse.exports=function(t,r,n){var i,a=n.slice(),o=r.shapes;if(o)for(i=0;i<o.length;i++){var s=o[i];if(s.showlegend){var l={_input:s._input,visible:s.visible,showlegend:s.showlegend,legend:s.legend};a.push(l)}}var u=[\"legend\"];for(i=0;i<a.length;i++)Kp.pushUnique(u,a[i].legend);for(r._legends=[],i=0;i<u.length;i++){var c=u[i];vst(c,t,r,a),r[c]&&r[c].visible&&(r[c]._id=c),r._legends.push(c)}}});var Wse=ye((Orr,jse)=>{\"use strict\";var D3=ba(),TB=Mr(),pst=TB.pushUnique,wB=!0;jse.exports=function(t,r,n){var i=r._fullLayout;if(r._dragged||r._editing)return;var a=i.legend.itemclick,o=i.legend.itemdoubleclick,s=i.legend.groupclick;n===1&&a===\"toggle\"&&o===\"toggleothers\"&&wB&&r.data&&r._context.showTips&&TB.notifier(TB._(r,\"Double-click on legend to isolate one trace\"),\"long\"),wB=!1;var l;if(n===1?l=a:n===2&&(l=o),!l)return;var u=s===\"togglegroup\",c=i.hiddenlabels?i.hiddenlabels.slice():[],f=t.data()[0][0];if(f.groupTitle&&f.noClick)return;var h=r._fullData,d=(i.shapes||[]).filter(function(Rt){return Rt.showlegend}),v=h.concat(d),x=f.trace;x._isShape&&(x=x._fullInput);var b=x.legendgroup,p,E,k,A,L,_,C={},M=[],g=[],P=[];function T(Rt,kt){var Ct=M.indexOf(Rt),Yt=C.visible;return Yt||(Yt=C.visible=[]),M.indexOf(Rt)===-1&&(M.push(Rt),Ct=M.length-1),Yt[Ct]=kt,Ct}var F=(i.shapes||[]).map(function(Rt){return Rt._input}),q=!1;function V(Rt,kt){F[Rt].visible=kt,q=!0}function H(Rt,kt){if(!(f.groupTitle&&!u)){var Ct=Rt._fullInput||Rt,Yt=Ct._isShape,xr=Ct.index;xr===void 0&&(xr=Ct._index);var er=Ct.visible===!1?!1:kt;Yt?V(xr,er):T(xr,er)}}var X=x.legend,G=x._fullInput,N=G&&G._isShape;if(!N&&D3.traceIs(x,\"pie-like\")){var W=f.label,re=c.indexOf(W);if(l===\"toggle\")re===-1?c.push(W):c.splice(re,1);else if(l===\"toggleothers\"){var ae=re!==-1,_e=[];for(p=0;p<r.calcdata.length;p++){var Me=r.calcdata[p];for(E=0;E<Me.length;E++){var ke=Me[E],ge=ke.label;X===Me[0].trace.legend&&W!==ge&&(c.indexOf(ge)===-1&&(ae=!0),pst(c,ge),_e.push(ge))}}if(!ae)for(var ie=0;ie<_e.length;ie++){var Te=c.indexOf(_e[ie]);Te!==-1&&c.splice(Te,1)}}D3.call(\"_guiRelayout\",r,\"hiddenlabels\",c)}else{var Ee=b&&b.length,Ae=[],ze;if(Ee)for(p=0;p<v.length;p++)ze=v[p],ze.visible&&ze.legendgroup===b&&Ae.push(p);if(l===\"toggle\"){var Ce;switch(x.visible){case!0:Ce=\"legendonly\";break;case!1:Ce=!1;break;case\"legendonly\":Ce=!0;break}if(Ee)if(u)for(p=0;p<v.length;p++){var me=v[p];me.visible!==!1&&me.legendgroup===b&&H(me,Ce)}else H(x,Ce);else H(x,Ce)}else if(l===\"toggleothers\"){var Re,ce,Ge,nt,ct,qt=!0;for(p=0;p<v.length;p++)if(ct=v[p],Re=ct===x,Ge=ct.showlegend!==!0,!(Re||Ge)&&(ce=Ee&&ct.legendgroup===b,!ce&&ct.legend===X&&ct.visible===!0&&!D3.traceIs(ct,\"notLegendIsolatable\"))){qt=!1;break}for(p=0;p<v.length;p++)if(ct=v[p],!(ct.visible===!1||ct.legend!==X)&&!D3.traceIs(ct,\"notLegendIsolatable\"))switch(x.visible){case\"legendonly\":H(ct,!0);break;case!0:nt=qt?!0:\"legendonly\",Re=ct===x,Ge=ct.showlegend!==!0&&!ct.legendgroup,ce=Re||Ee&&ct.legendgroup===b,H(ct,ce||Ge?!0:nt);break}}for(p=0;p<g.length;p++)if(k=g[p],!!k){var rt=k.constructUpdate(),ot=Object.keys(rt);for(E=0;E<ot.length;E++)A=ot[E],_=C[A]=C[A]||[],_[P[p]]=rt[A]}for(L=Object.keys(C),p=0;p<L.length;p++)for(A=L[p],E=0;E<M.length;E++)C[A].hasOwnProperty(E)||(C[A][E]=void 0);q?D3.call(\"_guiUpdate\",r,C,{shapes:F},M):D3.call(\"_guiRestyle\",r,C,M)}}});var AB=ye((Brr,Zse)=>{\"use strict\";Zse.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:\"#808BA4\",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},titlePad:2,itemGap:5}});var Kse=ye((Nrr,Yse)=>{\"use strict\";var Xse=ba(),SB=LL();Yse.exports=function(t,r,n){var i=r._inHover,a=SB.isGrouped(r),o=SB.isReversed(r),s={},l=[],u=!1,c={},f=0,h=0,d,v;function x(G,N,W){if(r.visible!==!1&&!(n&&G!==r._id))if(N===\"\"||!SB.isGrouped(r)){var re=\"~~i\"+f;l.push(re),s[re]=[W],f++}else l.indexOf(N)===-1?(l.push(N),u=!0,s[N]=[W]):s[N].push(W)}for(d=0;d<t.length;d++){var b=t[d],p=b[0],E=p.trace,k=E.legend,A=E.legendgroup;if(!(!i&&(!E.visible||!E.showlegend)))if(Xse.traceIs(E,\"pie-like\"))for(c[A]||(c[A]={}),v=0;v<b.length;v++){var L=b[v].label;c[A][L]||(x(k,A,{label:L,color:b[v].color,i:b[v].i,trace:E,pts:b[v].pts}),c[A][L]=!0,h=Math.max(h,(L||\"\").length))}else x(k,A,p),h=Math.max(h,(E.name||\"\").length)}if(!l.length)return[];var _=!u||!a,C=[];for(d=0;d<l.length;d++){var M=s[l[d]];_?C.push(M[0]):C.push(M)}for(_&&(C=[C]),d=0;d<C.length;d++){var g=1/0;for(v=0;v<C[d].length;v++){var P=C[d][v].trace.legendrank;g>P&&(g=P)}C[d][0]._groupMinRank=g,C[d][0]._preGroupSort=d}var T=function(G,N){return G[0]._groupMinRank-N[0]._groupMinRank||G[0]._preGroupSort-N[0]._preGroupSort},F=function(G,N){return G.trace.legendrank-N.trace.legendrank||G._preSort-N._preSort};for(C.forEach(function(G,N){G[0]._preGroupSort=N}),C.sort(T),d=0;d<C.length;d++){C[d].forEach(function(G,N){G._preSort=N}),C[d].sort(F);var q=C[d][0].trace,V=null;for(v=0;v<C[d].length;v++){var H=C[d][v].trace.legendgrouptitle;if(H&&H.text){V=H,i&&(H.font=r._groupTitleFont);break}}if(o&&C[d].reverse(),V){var X=!1;for(v=0;v<C[d].length;v++)if(Xse.traceIs(C[d][v].trace,\"pie-like\")){X=!0;break}C[d].unshift({i:-1,groupTitle:V,noClick:X,trace:{showlegend:q.showlegend,legendgroup:q.legendgroup,visible:r.groupclick===\"toggleitem\"?!0:q.visible}})}for(v=0;v<C[d].length;v++)C[d][v]=[C[d][v]]}return r._lgroupsLength=C.length,r._maxNameLength=h,C}});var u_=ye(Pb=>{\"use strict\";var PL=Mr();function Jse(e){return e.indexOf(\"e\")!==-1?e.replace(/[.]?0+e/,\"e\"):e.indexOf(\".\")!==-1?e.replace(/[.]?0+$/,\"\"):e}Pb.formatPiePercent=function(t,r){var n=Jse((t*100).toPrecision(3));return PL.numSeparate(n,r)+\"%\"};Pb.formatPieValue=function(t,r){var n=Jse(t.toPrecision(10));return PL.numSeparate(n,r)};Pb.getFirstFilled=function(t,r){if(PL.isArrayOrTypedArray(t))for(var n=0;n<r.length;n++){var i=t[r[n]];if(i||i===0||i===\"\")return i}};Pb.castOption=function(t,r){if(PL.isArrayOrTypedArray(t))return Pb.getFirstFilled(t,r);if(t)return t};Pb.getRotationAngle=function(e){return(e===\"auto\"?0:e)*Math.PI/180}});var Qse=ye((Vrr,$se)=>{\"use strict\";var gst=ao(),mst=va();$se.exports=function(t,r,n,i){var a=n.marker.pattern;a&&a.shape?gst.pointStyle(t,n,i,r):mst.fill(t,r.color)}});var z3=ye((Hrr,rle)=>{\"use strict\";var ele=va(),tle=u_().castOption,yst=Qse();rle.exports=function(t,r,n,i){var a=n.marker.line,o=tle(a.color,r.pts)||ele.defaultLine,s=tle(a.width,r.pts)||0;t.call(yst,r,n,i).style(\"stroke-width\",s).call(ele.stroke,o)}});var CB=ye((Grr,lle)=>{\"use strict\";var qv=xa(),MB=ba(),mv=Mr(),ile=mv.strTranslate,ip=ao(),T0=va(),EB=Dv().extractOpts,IL=lu(),_st=z3(),xst=u_().castOption,bst=AB(),nle=12,ale=5,Ib=2,wst=10,F3=5;lle.exports=function(t,r,n){var i=r._fullLayout;n||(n=i.legend);var a=n.itemsizing===\"constant\",o=n.itemwidth,s=(o+bst.itemGap*2)/2,l=ile(s,0),u=function(C,M,g,P){var T;if(C+1)T=C;else if(M&&M.width>0)T=M.width;else return 0;return a?P:Math.min(T,g)};t.each(function(C){var M=qv.select(this),g=mv.ensureSingle(M,\"g\",\"layers\");g.style(\"opacity\",C[0].trace.opacity);var P=n.indentation,T=n.valign,F=C[0].lineHeight,q=C[0].height;if(T===\"middle\"&&P===0||!F||!q)g.attr(\"transform\",null);else{var V={top:1,bottom:-1}[T],H=V*(.5*(F-q+3))||0,X=n.indentation;g.attr(\"transform\",ile(X,H))}var G=g.selectAll(\"g.legendfill\").data([C]);G.enter().append(\"g\").classed(\"legendfill\",!0);var N=g.selectAll(\"g.legendlines\").data([C]);N.enter().append(\"g\").classed(\"legendlines\",!0);var W=g.selectAll(\"g.legendsymbols\").data([C]);W.enter().append(\"g\").classed(\"legendsymbols\",!0),W.selectAll(\"g.legendpoints\").data([C]).enter().append(\"g\").classed(\"legendpoints\",!0)}).each(_).each(h).each(v).each(d).each(b).each(A).each(k).each(c).each(f).each(p).each(E);function c(C){var M=ole(C),g=M.showFill,P=M.showLine,T=M.showGradientLine,F=M.showGradientFill,q=M.anyFill,V=M.anyLine,H=C[0],X=H.trace,G,N,W=EB(X),re=W.colorscale,ae=W.reversescale,_e=function(Ae){if(Ae.size())if(g)ip.fillGroupStyle(Ae,r,!0);else{var ze=\"legendfill-\"+X.uid;ip.gradient(Ae,r,ze,kB(ae),re,\"fill\")}},Me=function(Ae){if(Ae.size()){var ze=\"legendline-\"+X.uid;ip.lineGroupStyle(Ae),ip.gradient(Ae,r,ze,kB(ae),re,\"stroke\")}},ke=IL.hasMarkers(X)||!q?\"M5,0\":V?\"M5,-2\":\"M5,-3\",ge=qv.select(this),ie=ge.select(\".legendfill\").selectAll(\"path\").data(g||F?[C]:[]);if(ie.enter().append(\"path\").classed(\"js-fill\",!0),ie.exit().remove(),ie.attr(\"d\",ke+\"h\"+o+\"v6h-\"+o+\"z\").call(_e),P||T){var Te=u(void 0,X.line,wst,ale);N=mv.minExtend(X,{line:{width:Te}}),G=[mv.minExtend(H,{trace:N})]}var Ee=ge.select(\".legendlines\").selectAll(\"path\").data(P||T?[G]:[]);Ee.enter().append(\"path\").classed(\"js-line\",!0),Ee.exit().remove(),Ee.attr(\"d\",ke+(T?\"l\"+o+\",0.0001\":\"h\"+o)).call(P?ip.lineGroupStyle:Me)}function f(C){var M=ole(C),g=M.anyFill,P=M.anyLine,T=M.showLine,F=M.showMarker,q=C[0],V=q.trace,H=!F&&!P&&!g&&IL.hasText(V),X,G;function N(ie,Te,Ee,Ae){var ze=mv.nestedProperty(V,ie).get(),Ce=mv.isArrayOrTypedArray(ze)&&Te?Te(ze):ze;if(a&&Ce&&Ae!==void 0&&(Ce=Ae),Ee){if(Ce<Ee[0])return Ee[0];if(Ce>Ee[1])return Ee[1]}return Ce}function W(ie){return q._distinct&&q.index&&ie[q.index]?ie[q.index]:ie[0]}if(F||H||T){var re={},ae={};if(F){re.mc=N(\"marker.color\",W),re.mx=N(\"marker.symbol\",W),re.mo=N(\"marker.opacity\",mv.mean,[.2,1]),re.mlc=N(\"marker.line.color\",W),re.mlw=N(\"marker.line.width\",mv.mean,[0,5],Ib),ae.marker={sizeref:1,sizemin:1,sizemode:\"diameter\"};var _e=N(\"marker.size\",mv.mean,[2,16],nle);re.ms=_e,ae.marker.size=_e}T&&(ae.line={width:N(\"line.width\",W,[0,10],ale)}),H&&(re.tx=\"Aa\",re.tp=N(\"textposition\",W),re.ts=10,re.tc=N(\"textfont.color\",W),re.tf=N(\"textfont.family\",W),re.tw=N(\"textfont.weight\",W),re.ty=N(\"textfont.style\",W),re.tv=N(\"textfont.variant\",W),re.tC=N(\"textfont.textcase\",W),re.tE=N(\"textfont.lineposition\",W),re.tS=N(\"textfont.shadow\",W)),X=[mv.minExtend(q,re)],G=mv.minExtend(V,ae),G.selectedpoints=null,G.texttemplate=null}var Me=qv.select(this).select(\"g.legendpoints\"),ke=Me.selectAll(\"path.scatterpts\").data(F?X:[]);ke.enter().insert(\"path\",\":first-child\").classed(\"scatterpts\",!0).attr(\"transform\",l),ke.exit().remove(),ke.call(ip.pointStyle,G,r),F&&(X[0].mrc=3);var ge=Me.selectAll(\"g.pointtext\").data(H?X:[]);ge.enter().append(\"g\").classed(\"pointtext\",!0).append(\"text\").attr(\"transform\",l),ge.exit().remove(),ge.selectAll(\"text\").call(ip.textPointStyle,G,r)}function h(C){var M=C[0].trace,g=M.type===\"waterfall\";if(C[0]._distinct&&g){var P=C[0].trace[C[0].dir].marker;return C[0].mc=P.color,C[0].mlw=P.line.width,C[0].mlc=P.line.color,x(C,this,\"waterfall\")}var T=[];M.visible&&g&&(T=C[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 F=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendwaterfall\").data(T);F.enter().append(\"path\").classed(\"legendwaterfall\",!0).attr(\"transform\",l).style(\"stroke-miterlimit\",1),F.exit().remove(),F.each(function(q){var V=qv.select(this),H=M[q[0]].marker,X=u(void 0,H.line,F3,Ib);V.attr(\"d\",q[1]).style(\"stroke-width\",X+\"px\").call(T0.fill,H.color),X&&V.call(T0.stroke,H.line.color)})}function d(C){x(C,this)}function v(C){x(C,this,\"funnel\")}function x(C,M,g){var P=C[0].trace,T=P.marker||{},F=T.line||{},q=T.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\",V=g?P.visible&&P.type===g:MB.traceIs(P,\"bar\"),H=qv.select(M).select(\"g.legendpoints\").selectAll(\"path.legend\"+g).data(V?[C]:[]);H.enter().append(\"path\").classed(\"legend\"+g,!0).attr(\"d\",q).attr(\"transform\",l),H.exit().remove(),H.each(function(X){var G=qv.select(this),N=X[0],W=u(N.mlw,T.line,F3,Ib);G.style(\"stroke-width\",W+\"px\");var re=N.mcc;if(!n._inHover&&\"mc\"in N){var ae=EB(T),_e=ae.mid;_e===void 0&&(_e=(ae.max+ae.min)/2),re=ip.tryColorscale(T,\"\")(_e)}var Me=re||N.mc||T.color,ke=T.pattern,ge=ke&&ip.getPatternAttr(ke.shape,0,\"\");if(ge){var ie=ip.getPatternAttr(ke.bgcolor,0,null),Te=ip.getPatternAttr(ke.fgcolor,0,null),Ee=ke.fgopacity,Ae=sle(ke.size,8,10),ze=sle(ke.solidity,.5,1),Ce=\"legend-\"+P.uid;G.call(ip.pattern,\"legend\",r,Ce,ge,Ae,ze,re,ke.fillmode,ie,Te,Ee)}else G.call(T0.fill,Me);W&&T0.stroke(G,N.mlc||F.color)})}function b(C){var M=C[0].trace,g=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbox\").data(M.visible&&MB.traceIs(M,\"box-violin\")?[C]:[]);g.enter().append(\"path\").classed(\"legendbox\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",l),g.exit().remove(),g.each(function(){var P=qv.select(this);if((M.boxpoints===\"all\"||M.points===\"all\")&&T0.opacity(M.fillcolor)===0&&T0.opacity((M.line||{}).color)===0){var T=mv.minExtend(M,{marker:{size:a?nle:mv.constrain(M.marker.size,2,16),sizeref:1,sizemin:1,sizemode:\"diameter\"}});g.call(ip.pointStyle,T,r)}else{var F=u(void 0,M.line,F3,Ib);P.style(\"stroke-width\",F+\"px\").call(T0.fill,M.fillcolor),F&&T0.stroke(P,M.line.color)}})}function p(C){var M=C[0].trace,g=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendcandle\").data(M.visible&&M.type===\"candlestick\"?[C,C]:[]);g.enter().append(\"path\").classed(\"legendcandle\",!0).attr(\"d\",function(P,T){return T?\"M-15,0H-8M-8,6V-6H8Z\":\"M15,0H8M8,-6V6H-8Z\"}).attr(\"transform\",l).style(\"stroke-miterlimit\",1),g.exit().remove(),g.each(function(P,T){var F=qv.select(this),q=M[T?\"increasing\":\"decreasing\"],V=u(void 0,q.line,F3,Ib);F.style(\"stroke-width\",V+\"px\").call(T0.fill,q.fillcolor),V&&T0.stroke(F,q.line.color)})}function E(C){var M=C[0].trace,g=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendohlc\").data(M.visible&&M.type===\"ohlc\"?[C,C]:[]);g.enter().append(\"path\").classed(\"legendohlc\",!0).attr(\"d\",function(P,T){return T?\"M-15,0H0M-8,-6V0\":\"M15,0H0M8,6V0\"}).attr(\"transform\",l).style(\"stroke-miterlimit\",1),g.exit().remove(),g.each(function(P,T){var F=qv.select(this),q=M[T?\"increasing\":\"decreasing\"],V=u(void 0,q.line,F3,Ib);F.style(\"fill\",\"none\").call(ip.dashLine,q.line.dash,V),V&&T0.stroke(F,q.line.color)})}function k(C){L(C,this,\"pie\")}function A(C){L(C,this,\"funnelarea\")}function L(C,M,g){var P=C[0],T=P.trace,F=g?T.visible&&T.type===g:MB.traceIs(T,g),q=qv.select(M).select(\"g.legendpoints\").selectAll(\"path.legend\"+g).data(F?[C]:[]);if(q.enter().append(\"path\").classed(\"legend\"+g,!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",l),q.exit().remove(),q.size()){var V=T.marker||{},H=u(xst(V.line.width,P.pts),V.line,F3,Ib),X=\"pieLike\",G=mv.minExtend(T,{marker:{line:{width:H}}},X),N=mv.minExtend(P,{trace:G},X);_st(q,N,G,r)}}function _(C){var M=C[0].trace,g,P=[];if(M.visible)switch(M.type){case\"histogram2d\":case\"heatmap\":P=[[\"M-15,-2V4H15V-2Z\"]],g=!0;break;case\"choropleth\":case\"choroplethmapbox\":case\"choroplethmap\":P=[[\"M-6,-6V6H6V-6Z\"]],g=!0;break;case\"densitymapbox\":case\"densitymap\":P=[[\"M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0\"]],g=\"radial\";break;case\"cone\":P=[[\"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\"]],g=!1;break;case\"streamtube\":P=[[\"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\"]],g=!1;break;case\"surface\":P=[[\"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\"]],g=!0;break;case\"mesh3d\":P=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],g=!1;break;case\"volume\":P=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],g=!0;break;case\"isosurface\":P=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6 A12,24 0 0,0 6,-6 L0,6Z\"]],g=!1;break}var T=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legend3dandfriends\").data(P);T.enter().append(\"path\").classed(\"legend3dandfriends\",!0).attr(\"transform\",l).style(\"stroke-miterlimit\",1),T.exit().remove(),T.each(function(F,q){var V=qv.select(this),H=EB(M),X=H.colorscale,G=H.reversescale,N=function(_e){if(_e.size()){var Me=\"legendfill-\"+M.uid;ip.gradient(_e,r,Me,kB(G,g===\"radial\"),X,\"fill\")}},W;if(X){if(!g){var ae=X.length;W=q===0?X[G?ae-1:0][1]:q===1?X[G?0:ae-1][1]:X[Math.floor((ae-1)/2)][1]}}else{var re=M.vertexcolor||M.facecolor||M.color;W=mv.isArrayOrTypedArray(re)?re[q]||re[0]:re}V.attr(\"d\",F[0]),W?V.call(T0.fill,W):V.call(N)})}};function kB(e,t){var r=t?\"radial\":\"horizontal\";return r+(e?\"\":\"reversed\")}function ole(e){var t=e[0].trace,r=t.contours,n=IL.hasLines(t),i=IL.hasMarkers(t),a=t.visible&&t.fill&&t.fill!==\"none\",o=!1,s=!1;if(r){var l=r.coloring;l===\"lines\"?o=!0:n=l===\"none\"||l===\"heatmap\"||r.showlines,r.type===\"constraint\"?a=r._operation!==\"=\":(l===\"fill\"||l===\"heatmap\")&&(s=!0)}return{showMarker:i,showLine:n,showFill:a,showGradientLine:o,showGradientFill:s,anyLine:n||o,anyFill:a||s}}function sle(e,t,r){return e&&mv.isArrayOrTypedArray(e)?t:e>r?r:e}});var RB=ye((jrr,yle)=>{\"use strict\";var Sp=xa(),gh=Mr(),PB=Xu(),B3=ba(),ule=g3(),LB=gv(),mh=ao(),DL=va(),Rb=Pl(),cle=Wse(),Vh=AB(),IB=Nh(),gle=IB.LINE_SPACING,O3=IB.FROM_TL,fle=IB.FROM_BR,hle=Kse(),Tst=CB(),dle=LL(),q3=1,Ast=/^legend[0-9]*$/;yle.exports=function(t,r){if(r)vle(t,r);else{var n=t._fullLayout,i=n._legends,a=n._infolayer.selectAll('[class^=\"legend\"]');a.each(function(){var u=Sp.select(this),c=u.attr(\"class\"),f=c.split(\" \")[0];f.match(Ast)&&i.indexOf(f)===-1&&u.remove()});for(var o=0;o<i.length;o++){var s=i[o],l=t._fullLayout[s];vle(t,l)}}};function Sst(e,t,r){if(!(t.title.side!==\"top center\"&&t.title.side!==\"top right\")){var n=t.title.font,i=n.size*gle,a=0,o=e.node(),s=mh.bBox(o).width;t.title.side===\"top center\"?a=.5*(t._width-2*r-2*Vh.titlePad-s):t.title.side===\"top right\"&&(a=t._width-2*r-2*Vh.titlePad-s),Rb.positionText(e,r+Vh.titlePad+a,r+i)}}function vle(e,t){var r=t||{},n=e._fullLayout,i=OL(r),a,o,s=r._inHover;if(s?(o=r.layer,a=\"hover\"):(o=n._infolayer,a=i),!!o){a+=n._uid,e._legendMouseDownTime||(e._legendMouseDownTime=0);var l;if(s){if(!r.entries)return;l=hle(r.entries,r)}else{for(var u=(e.calcdata||[]).slice(),c=n.shapes,f=0;f<c.length;f++){var h=c[f];if(h.showlegend){var d={_isShape:!0,_fullInput:h,index:h._index,name:h.name||h.label.text||\"shape \"+h._index,legend:h.legend,legendgroup:h.legendgroup,legendgrouptitle:h.legendgrouptitle,legendrank:h.legendrank,legendwidth:h.legendwidth,showlegend:h.showlegend,visible:h.visible,opacity:h.opacity,mode:h.type===\"line\"?\"lines\":\"markers\",line:h.line,marker:{line:h.line,color:h.fillcolor,size:12,symbol:h.type===\"rect\"?\"square\":h.type===\"circle\"?\"circle\":\"hexagon2\"}};u.push([{trace:d}])}}l=n.showlegend&&hle(u,r,n._legends.length>1)}var v=n.hiddenlabels||[];if(!s&&(!n.showlegend||!l.length))return o.selectAll(\".\"+i).remove(),n._topdefs.select(\"#\"+a).remove(),PB.autoMargin(e,i);var x=gh.ensureSingle(o,\"g\",i,function(M){s||M.attr(\"pointer-events\",\"all\")}),b=gh.ensureSingleById(n._topdefs,\"clipPath\",a,function(M){M.append(\"rect\")}),p=gh.ensureSingle(x,\"rect\",\"bg\",function(M){M.attr(\"shape-rendering\",\"crispEdges\")});p.call(DL.stroke,r.bordercolor).call(DL.fill,r.bgcolor).style(\"stroke-width\",r.borderwidth+\"px\");var E=gh.ensureSingle(x,\"g\",\"scrollbox\"),k=r.title;r._titleWidth=0,r._titleHeight=0;var A;k.text?(A=gh.ensureSingle(E,\"text\",i+\"titletext\"),A.attr(\"text-anchor\",\"start\").call(mh.font,k.font).text(k.text),zL(A,E,e,r,q3)):E.selectAll(\".\"+i+\"titletext\").remove();var L=gh.ensureSingle(x,\"rect\",\"scrollbar\",function(M){M.attr(Vh.scrollBarEnterAttrs).call(DL.fill,Vh.scrollBarColor)}),_=E.selectAll(\"g.groups\").data(l);_.enter().append(\"g\").attr(\"class\",\"groups\"),_.exit().remove();var C=_.selectAll(\"g.traces\").data(gh.identity);C.enter().append(\"g\").attr(\"class\",\"traces\"),C.exit().remove(),C.style(\"opacity\",function(M){var g=M[0].trace;return B3.traceIs(g,\"pie-like\")?v.indexOf(M[0].label)!==-1?.5:1:g.visible===\"legendonly\"?.5:1}).each(function(){Sp.select(this).call(Mst,e,r)}).call(Tst,e,r).each(function(){s||Sp.select(this).call(Est,e,i)}),gh.syncOrAsync([PB.previousPromises,function(){return Lst(e,_,C,r)},function(){var M=n._size,g=r.borderwidth,P=r.xref===\"paper\",T=r.yref===\"paper\";if(k.text&&Sst(A,r,g),!s){var F,q;P?F=M.l+M.w*r.x-O3[FL(r)]*r._width:F=n.width*r.x-O3[FL(r)]*r._width,T?q=M.t+M.h*(1-r.y)-O3[qL(r)]*r._effHeight:q=n.height*(1-r.y)-O3[qL(r)]*r._effHeight;var V=Pst(e,i,F,q);if(V)return;if(n.margin.autoexpand){var H=F,X=q;F=P?gh.constrain(F,0,n.width-r._width):H,q=T?gh.constrain(q,0,n.height-r._effHeight):X,F!==H&&gh.log(\"Constrain \"+i+\".x to make legend fit inside graph\"),q!==X&&gh.log(\"Constrain \"+i+\".y to make legend fit inside graph\")}mh.setTranslate(x,F,q)}if(L.on(\".drag\",null),x.on(\"wheel\",null),s||r._height<=r._maxHeight||e._context.staticPlot){var G=r._effHeight;s&&(G=r._height),p.attr({width:r._width-g,height:G-g,x:g/2,y:g/2}),mh.setTranslate(E,0,0),b.select(\"rect\").attr({width:r._width-2*g,height:G-2*g,x:g,y:g}),mh.setClipUrl(E,a,e),mh.setRect(L,0,0,0,0),delete r._scrollY}else{var N=Math.max(Vh.scrollBarMinHeight,r._effHeight*r._effHeight/r._height),W=r._effHeight-N-2*Vh.scrollBarMargin,re=r._height-r._effHeight,ae=W/re,_e=Math.min(r._scrollY||0,re);p.attr({width:r._width-2*g+Vh.scrollBarWidth+Vh.scrollBarMargin,height:r._effHeight-g,x:g/2,y:g/2}),b.select(\"rect\").attr({width:r._width-2*g+Vh.scrollBarWidth+Vh.scrollBarMargin,height:r._effHeight-2*g,x:g,y:g+_e}),mh.setClipUrl(E,a,e),ze(_e,N,ae),x.on(\"wheel\",function(){_e=gh.constrain(r._scrollY+Sp.event.deltaY/W*re,0,re),ze(_e,N,ae),_e!==0&&_e!==re&&Sp.event.preventDefault()});var Me,ke,ge,ie=function(Ge,nt,ct){var qt=(ct-nt)/ae+Ge;return gh.constrain(qt,0,re)},Te=function(Ge,nt,ct){var qt=(nt-ct)/ae+Ge;return gh.constrain(qt,0,re)},Ee=Sp.behavior.drag().on(\"dragstart\",function(){var Ge=Sp.event.sourceEvent;Ge.type===\"touchstart\"?Me=Ge.changedTouches[0].clientY:Me=Ge.clientY,ge=_e}).on(\"drag\",function(){var Ge=Sp.event.sourceEvent;Ge.buttons===2||Ge.ctrlKey||(Ge.type===\"touchmove\"?ke=Ge.changedTouches[0].clientY:ke=Ge.clientY,_e=ie(ge,Me,ke),ze(_e,N,ae))});L.call(Ee);var Ae=Sp.behavior.drag().on(\"dragstart\",function(){var Ge=Sp.event.sourceEvent;Ge.type===\"touchstart\"&&(Me=Ge.changedTouches[0].clientY,ge=_e)}).on(\"drag\",function(){var Ge=Sp.event.sourceEvent;Ge.type===\"touchmove\"&&(ke=Ge.changedTouches[0].clientY,_e=Te(ge,Me,ke),ze(_e,N,ae))});E.call(Ae)}function ze(Ge,nt,ct){r._scrollY=e._fullLayout[i]._scrollY=Ge,mh.setTranslate(E,0,-Ge),mh.setRect(L,r._width,Vh.scrollBarMargin+Ge*ct,Vh.scrollBarWidth,nt),b.select(\"rect\").attr(\"y\",g+Ge)}if(e._context.edits.legendPosition){var Ce,me,Re,ce;x.classed(\"cursor-move\",!0),LB.init({element:x.node(),gd:e,prepFn:function(Ge){if(Ge.target!==L.node()){var nt=mh.getTranslate(x);Re=nt.x,ce=nt.y}},moveFn:function(Ge,nt){if(Re!==void 0&&ce!==void 0){var ct=Re+Ge,qt=ce+nt;mh.setTranslate(x,ct,qt),Ce=LB.align(ct,r._width,M.l,M.l+M.w,r.xanchor),me=LB.align(qt+r._height,-r._height,M.t+M.h,M.t,r.yanchor)}},doneFn:function(){if(Ce!==void 0&&me!==void 0){var Ge={};Ge[i+\".x\"]=Ce,Ge[i+\".y\"]=me,B3.call(\"_guiRelayout\",e,Ge)}},clickFn:function(Ge,nt){var ct=o.selectAll(\"g.traces\").filter(function(){var qt=this.getBoundingClientRect();return nt.clientX>=qt.left&&nt.clientX<=qt.right&&nt.clientY>=qt.top&&nt.clientY<=qt.bottom});ct.size()>0&&mle(e,x,ct,Ge,nt)}})}}],e)}}function RL(e,t,r){var n=e[0],i=n.width,a=t.entrywidthmode,o=n.trace.legendwidth||t.entrywidth;return a===\"fraction\"?t._maxWidth*o:r+(o||i)}function mle(e,t,r,n,i){var a=r.data()[0][0].trace,o={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a.index,data:e.data,layout:e.layout,frames:e._transitionData._frames,config:e._context,fullData:e._fullData,fullLayout:e._fullLayout};a._group&&(o.group=a._group),B3.traceIs(a,\"pie-like\")&&(o.label=r.datum()[0].label);var s=ule.triggerHandler(e,\"plotly_legendclick\",o);if(n===1){if(s===!1)return;t._clickTimeout=setTimeout(function(){e._fullLayout&&cle(r,e,n)},e._context.doubleClickDelay)}else if(n===2){t._clickTimeout&&clearTimeout(t._clickTimeout),e._legendMouseDownTime=0;var l=ule.triggerHandler(e,\"plotly_legenddoubleclick\",o);l!==!1&&s!==!1&&cle(r,e,n)}}function Mst(e,t,r){var n=OL(r),i=e.data()[0][0],a=i.trace,o=B3.traceIs(a,\"pie-like\"),s=!r._inHover&&t._context.edits.legendText&&!o,l=r._maxNameLength,u,c;i.groupTitle?(u=i.groupTitle.text,c=i.groupTitle.font):(c=r.font,r.entries?u=i.text:(u=o?i.label:a.name,a._meta&&(u=gh.templateString(u,a._meta))));var f=gh.ensureSingle(e,\"text\",n+\"text\");f.attr(\"text-anchor\",\"start\").call(mh.font,c).text(s?ple(u,l):u);var h=r.indentation+r.itemwidth+Vh.itemGap*2;Rb.positionText(f,h,0),s?f.call(Rb.makeEditable,{gd:t,text:u}).call(zL,e,t,r).on(\"edit\",function(d){this.text(ple(d,l)).call(zL,e,t,r);var v=i.trace._fullInput||{},x={};return x.name=d,v._isShape?B3.call(\"_guiRelayout\",t,\"shapes[\"+a.index+\"].name\",x.name):B3.call(\"_guiRestyle\",t,x,a.index)}):zL(f,e,t,r)}function ple(e,t){var r=Math.max(4,t);if(e&&e.trim().length>=r/2)return e;e=e||\"\";for(var n=r-e.length;n>0;n--)e+=\" \";return e}function Est(e,t,r){var n=t._context.doubleClickDelay,i,a=1,o=gh.ensureSingle(e,\"rect\",r+\"toggle\",function(s){t._context.staticPlot||s.style(\"cursor\",\"pointer\").attr(\"pointer-events\",\"all\"),s.call(DL.fill,\"rgba(0,0,0,0)\")});t._context.staticPlot||(o.on(\"mousedown\",function(){i=new Date().getTime(),i-t._legendMouseDownTime<n?a+=1:(a=1,t._legendMouseDownTime=i)}),o.on(\"mouseup\",function(){if(!(t._dragged||t._editing)){var s=t._fullLayout[r];new Date().getTime()-t._legendMouseDownTime>n&&(a=Math.max(a-1,1)),mle(t,s,e,a,Sp.event)}}))}function zL(e,t,r,n,i){n._inHover&&e.attr(\"data-notex\",!0),Rb.convertToTspans(e,r,function(){kst(t,r,n,i)})}function kst(e,t,r,n){var i=e.data()[0][0];if(!r._inHover&&i&&!i.trace.showlegend){e.remove();return}var a=e.select(\"g[class*=math-group]\"),o=a.node(),s=OL(r);r||(r=t._fullLayout[s]);var l=r.borderwidth,u;n===q3?u=r.title.font:i.groupTitle?u=i.groupTitle.font:u=r.font;var c=u.size*gle,f,h;if(o){var d=mh.bBox(o);f=d.height,h=d.width,n===q3?mh.setTranslate(a,l,l+f*.75):mh.setTranslate(a,0,f*.25)}else{var v=\".\"+s+(n===q3?\"title\":\"\")+\"text\",x=e.select(v),b=Rb.lineCount(x),p=x.node();if(f=c*b,h=p?mh.bBox(p).width:0,n===q3)r.title.side===\"left\"&&(h+=Vh.itemGap*2),Rb.positionText(x,l+Vh.titlePad,l+c);else{var E=Vh.itemGap*2+r.indentation+r.itemwidth;i.groupTitle&&(E=Vh.itemGap,h-=r.indentation+r.itemwidth),Rb.positionText(x,E,-c*((b-1)/2-.3))}}n===q3?(r._titleWidth=h,r._titleHeight=f):(i.lineHeight=c,i.height=Math.max(f,16)+3,i.width=h)}function Cst(e){var t=0,r=0,n=e.title.side;return n&&(n.indexOf(\"left\")!==-1&&(t=e._titleWidth),n.indexOf(\"top\")!==-1&&(r=e._titleHeight)),[t,r]}function Lst(e,t,r,n){var i=e._fullLayout,a=OL(n);n||(n=i[a]);var o=i._size,s=dle.isVertical(n),l=dle.isGrouped(n),u=n.entrywidthmode===\"fraction\",c=n.borderwidth,f=2*c,h=Vh.itemGap,d=n.indentation+n.itemwidth+h*2,v=2*(c+h),x=qL(n),b=n.y<0||n.y===0&&x===\"top\",p=n.y>1||n.y===1&&x===\"bottom\",E=n.tracegroupgap,k={};n._maxHeight=Math.max(b||p?i.height/2:o.h,30);var A=0;n._width=0,n._height=0;var L=Cst(n);if(s)r.each(function(ge){var ie=ge[0].height;mh.setTranslate(this,c+L[0],c+L[1]+n._height+ie/2+h),n._height+=ie,n._width=Math.max(n._width,ge[0].width)}),A=d+n._width,n._width+=h+d+f,n._height+=v,l&&(t.each(function(ge,ie){mh.setTranslate(this,0,ie*n.tracegroupgap)}),n._height+=(n._lgroupsLength-1)*n.tracegroupgap);else{var _=FL(n),C=n.x<0||n.x===0&&_===\"right\",M=n.x>1||n.x===1&&_===\"left\",g=p||b,P=i.width/2;n._maxWidth=Math.max(C?g&&_===\"left\"?o.l+o.w:P:M?g&&_===\"right\"?o.r+o.w:P:o.w,2*d);var T=0,F=0;r.each(function(ge){var ie=RL(ge,n,d);T=Math.max(T,ie),F+=ie}),A=null;var q=0;if(l){var V=0,H=0,X=0;t.each(function(){var ge=0,ie=0;Sp.select(this).selectAll(\"g.traces\").each(function(Ee){var Ae=RL(Ee,n,d),ze=Ee[0].height;mh.setTranslate(this,L[0],L[1]+c+h+ze/2+ie),ie+=ze,ge=Math.max(ge,Ae),k[Ee[0].trace.legendgroup]=ge});var Te=ge+h;H>0&&Te+c+H>n._maxWidth?(q=Math.max(q,H),H=0,X+=V+E,V=ie):V=Math.max(V,ie),mh.setTranslate(this,H,X),H+=Te}),n._width=Math.max(q,H)+c,n._height=X+V+v}else{var G=r.size(),N=F+f+(G-1)*h<n._maxWidth,W=0,re=0,ae=0,_e=0;r.each(function(ge){var ie=ge[0].height,Te=RL(ge,n,d,l),Ee=N?Te:T;u||(Ee+=h),Ee+c+re-h>=n._maxWidth&&(q=Math.max(q,_e),re=0,ae+=W,n._height+=W,W=0),mh.setTranslate(this,L[0]+c+re,L[1]+c+ae+ie/2+h),_e=re+Te+h,re+=Ee,W=Math.max(W,ie)}),N?(n._width=re+f,n._height=W+v):(n._width=Math.max(q,_e)+f,n._height+=W+v)}}n._width=Math.ceil(Math.max(n._width+L[0],n._titleWidth+2*(c+Vh.titlePad))),n._height=Math.ceil(Math.max(n._height+L[1],n._titleHeight+2*(c+Vh.itemGap))),n._effHeight=Math.min(n._height,n._maxHeight);var Me=e._context.edits,ke=Me.legendText||Me.legendPosition;r.each(function(ge){var ie=Sp.select(this).select(\".\"+a+\"toggle\"),Te=ge[0].height,Ee=ge[0].trace.legendgroup,Ae=RL(ge,n,d);l&&Ee!==\"\"&&(Ae=k[Ee]);var ze=ke?d:A||Ae;!s&&!u&&(ze+=h/2),mh.setRect(ie,0,-Te/2,ze,Te)})}function Pst(e,t,r,n){var i=e._fullLayout,a=i[t],o=FL(a),s=qL(a),l=a.xref===\"paper\",u=a.yref===\"paper\";e._fullLayout._reservedMargin[t]={};var c=a.y<.5?\"b\":\"t\",f=a.x<.5?\"l\":\"r\",h={r:i.width-r,l:r+a._width,b:i.height-n,t:n+a._effHeight};if(l&&u)return PB.autoMargin(e,t,{x:a.x,y:a.y,l:a._width*O3[o],r:a._width*fle[o],b:a._effHeight*fle[s],t:a._effHeight*O3[s]});l?e._fullLayout._reservedMargin[t][c]=h[c]:u||a.orientation===\"v\"?e._fullLayout._reservedMargin[t][f]=h[f]:e._fullLayout._reservedMargin[t][c]=h[c]}function FL(e){return gh.isRightAnchor(e)?\"right\":gh.isCenterAnchor(e)?\"center\":\"left\"}function qL(e){return gh.isBottomAnchor(e)?\"bottom\":gh.isMiddleAnchor(e)?\"middle\":\"top\"}function OL(e){return e._id||\"legend\"}});var qB=ye(FB=>{\"use strict\";var Db=xa(),Sy=uo(),_le=id(),Rf=Mr(),Ist=Rf.pushUnique,DB=Rf.strTranslate,Rst=Rf.strRotate,Dst=g3(),A0=Pl(),zst=Vse(),bm=ao(),sd=va(),BL=gv(),wm=Qa(),Fst=ad().zindexSeparator,U3=ba(),Ag=rp(),zb=IS(),qst=bB(),Ost=RB(),Ele=zb.YANGLE,zB=Math.PI*Ele/180,Bst=1/Math.sin(zB),Nst=Math.cos(zB),Ust=Math.sin(zB),Bc=zb.HOVERARROWSIZE,Us=zb.HOVERTEXTPAD,xle={box:!0,ohlc:!0,violin:!0,candlestick:!0},Vst={scatter:!0,scattergl:!0,splom:!0};function ble(e,t){return e.distance-t.distance}FB.hover=function(t,r,n,i){t=Rf.getGraphDiv(t);var a=r.target;Rf.throttle(t._fullLayout._uid+zb.HOVERID,zb.HOVERMINTIME,function(){Hst(t,r,n,i,a)})};FB.loneHover=function(t,r){var n=!0;Array.isArray(t)||(n=!1,t=[t]);var i=r.gd,a=Ile(i),o=Rle(i),s=t.map(function(b){var p=b._x0||b.x0||b.x||0,E=b._x1||b.x1||b.x||0,k=b._y0||b.y0||b.y||0,A=b._y1||b.y1||b.y||0,L=b.eventData;if(L){var _=Math.min(p,E),C=Math.max(p,E),M=Math.min(k,A),g=Math.max(k,A),P=b.trace;if(U3.traceIs(P,\"gl3d\")){var T=i._fullLayout[P.scene]._scene.container,F=T.offsetLeft,q=T.offsetTop;_+=F,C+=F,M+=q,g+=q}L.bbox={x0:_+o,x1:C+o,y0:M+a,y1:g+a},r.inOut_bbox&&r.inOut_bbox.push(L.bbox)}else L=!1;return{color:b.color||sd.defaultLine,x0:b.x0||b.x||0,x1:b.x1||b.x||0,y0:b.y0||b.y||0,y1:b.y1||b.y||0,xLabel:b.xLabel,yLabel:b.yLabel,zLabel:b.zLabel,text:b.text,name:b.name,idealAlign:b.idealAlign,borderColor:b.borderColor,fontFamily:b.fontFamily,fontSize:b.fontSize,fontColor:b.fontColor,fontWeight:b.fontWeight,fontStyle:b.fontStyle,fontVariant:b.fontVariant,nameLength:b.nameLength,textAlign:b.textAlign,trace:b.trace||{index:0,hoverinfo:\"\"},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:b.hovertemplate||!1,hovertemplateLabels:b.hovertemplateLabels||!1,eventData:L}}),l=!1,u=Cle(s,{gd:i,hovermode:\"closest\",rotateLabels:l,bgColor:r.bgColor||sd.background,container:Db.select(r.container),outerContainer:r.outerContainer||r.container}),c=u.hoverLabels,f=5,h=0,d=0;c.sort(function(b,p){return b.y0-p.y0}).each(function(b,p){var E=b.y0-b.by/2;E-f<h?b.offset=h-E+f:b.offset=0,h=E+b.by+b.offset,p===r.anchorIndex&&(d=b.offset)}).each(function(b){b.offset-=d});var v=i._fullLayout._invScaleX,x=i._fullLayout._invScaleY;return Ple(c,l,v,x),n?c:c.node()};function Hst(e,t,r,n,i){r||(r=\"xy\"),typeof r==\"string\"&&(r=r.split(Fst)[0]);var a=Array.isArray(r)?r:[r],o,s=e._fullLayout,l=s.hoversubplots,u=s._plots||[],c=u[r],f=s._has(\"cartesian\"),h=t.hovermode||s.hovermode,d=(h||\"\").charAt(0)===\"x\",v=(h||\"\").charAt(0)===\"y\",x,b;if(f&&(d||v)&&l===\"axis\"){for(var p=a.length,E=0;E<p;E++)if(o=a[E],u[o]){x=wm.getFromId(e,o,\"x\"),b=wm.getFromId(e,o,\"y\");var k=(d?x:b)._subplotsWith;if(k&&k.length)for(var A=0;A<k.length;A++)Ist(a,k[A])}}if(c&&l!==\"single\"){var L=c.overlays.map(function(Ni){return Ni.id});a=a.concat(L)}for(var _=a.length,C=new Array(_),M=new Array(_),g=!1,P=0;P<_;P++)if(o=a[P],u[o])g=!0,C[P]=u[o].xaxis,M[P]=u[o].yaxis;else if(s[o]&&s[o]._subplot){var T=s[o]._subplot;C[P]=T.xaxis,M[P]=T.yaxis}else{Rf.warn(\"Unrecognized subplot: \"+o);return}if(h&&!g&&(h=\"closest\"),[\"x\",\"y\",\"closest\",\"x unified\",\"y unified\"].indexOf(h)===-1||!e.calcdata||e.querySelector(\".zoombox\")||e._dragging)return BL.unhoverRaw(e,t);var F=s.hoverdistance;F===-1&&(F=1/0);var q=s.spikedistance;q===-1&&(q=1/0);var V=[],H=[],X,G,N,W,re,ae,_e,Me,ke,ge,ie,Te,Ee,Ae={hLinePoint:null,vLinePoint:null},ze=!1;if(Array.isArray(t))for(h=\"array\",N=0;N<t.length;N++)re=e.calcdata[t[N].curveNumber||0],re&&(ae=re[0].trace,re[0].trace.hoverinfo!==\"skip\"&&(H.push(re),ae.orientation===\"h\"&&(ze=!0)));else{var Ce=e.calcdata.slice();for(Ce.sort(function(Ni,_n){var $i=Ni[0].trace.zorder||0,zn=_n[0].trace.zorder||0;return $i-zn}),W=0;W<Ce.length;W++)re=Ce[W],ae=re[0].trace,ae.hoverinfo!==\"skip\"&&Ag.isTraceInSubplots(ae,a)&&(H.push(re),ae.orientation===\"h\"&&(ze=!0));var me=!i,Re,ce;if(me)\"xpx\"in t?Re=t.xpx:Re=C[0]._length/2,\"ypx\"in t?ce=t.ypx:ce=M[0]._length/2;else{if(Dst.triggerHandler(e,\"plotly_beforehover\",t)===!1)return;var Ge=i.getBoundingClientRect();Re=t.clientX-Ge.left,ce=t.clientY-Ge.top,s._calcInverseTransform(e);var nt=Rf.apply3DTransform(s._invTransform)(Re,ce);if(Re=nt[0],ce=nt[1],Re<0||Re>C[0]._length||ce<0||ce>M[0]._length)return BL.unhoverRaw(e,t)}if(t.pointerX=Re+C[0]._offset,t.pointerY=ce+M[0]._offset,\"xval\"in t?X=Ag.flat(a,t.xval):X=Ag.p2c(C,Re),\"yval\"in t?G=Ag.flat(a,t.yval):G=Ag.p2c(M,ce),!Sy(X[0])||!Sy(G[0]))return Rf.warn(\"Fx.hover failed\",t,e),BL.unhoverRaw(e,t)}var ct=1/0;function qt(Ni,_n){for(W=0;W<H.length;W++)if(re=H[W],!(!re||!re[0]||!re[0].trace)&&(ae=re[0].trace,!(ae.visible!==!0||ae._length===0)&&[\"carpet\",\"contourcarpet\"].indexOf(ae._module.name)===-1)){if(ke=h,Ag.isUnifiedHover(ke)&&(ke=ke.charAt(0)),ae.type===\"splom\"?(Me=0,_e=a[Me]):(_e=Ag.getSubplot(ae),Me=a.indexOf(_e)),Te={cd:re,trace:ae,xa:C[Me],ya:M[Me],maxHoverDistance:F,maxSpikeDistance:q,index:!1,distance:Math.min(ct,F),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:sd.defaultLine,name:ae.name,x0:void 0,x1:void 0,y0:void 0,y1:void 0,xLabelVal:void 0,yLabelVal:void 0,zLabelVal:void 0,text:void 0},s[_e]&&(Te.subplot=s[_e]._subplot),s._splomScenes&&s._splomScenes[ae.uid]&&(Te.scene=s._splomScenes[ae.uid]),ke===\"array\"){var $i=t[W];\"pointNumber\"in $i?(Te.index=$i.pointNumber,ke=\"closest\"):(ke=\"\",\"xval\"in $i&&(ge=$i.xval,ke=\"x\"),\"yval\"in $i&&(ie=$i.yval,ke=ke?\"closest\":\"y\"))}else Ni!==void 0&&_n!==void 0?(ge=Ni,ie=_n):(ge=X[Me],ie=G[Me]);if(Ee=V.length,F!==0)if(ae._module&&ae._module.hoverPoints){var zn=ae._module.hoverPoints(Te,ge,ie,ke,{finiteRange:!0,hoverLayer:s._hoverlayer,hoversubplots:l,gd:e});if(zn)for(var Wn,It=0;It<zn.length;It++)Wn=zn[It],Sy(Wn.x0)&&Sy(Wn.y0)&&V.push(Zst(Wn,h))}else Rf.log(\"Unrecognized trace type in hover:\",ae);if(h===\"closest\"&&V.length>Ee&&(V.splice(0,Ee),ct=V[0].distance),f&&q!==0&&V.length===0){Te.distance=q,Te.index=!1;var ft=ae._module.hoverPoints(Te,ge,ie,\"closest\",{hoverLayer:s._hoverlayer});if(ft&&(ft=ft.filter(function(Vr){return Vr.spikeDistance<=q})),ft&&ft.length){var jt,Zt=ft.filter(function(Vr){return Vr.xa.showspikes&&Vr.xa.spikesnap!==\"hovered data\"});if(Zt.length){var yr=Zt[0];Sy(yr.x0)&&Sy(yr.y0)&&(jt=ot(yr),(!Ae.vLinePoint||Ae.vLinePoint.spikeDistance>jt.spikeDistance)&&(Ae.vLinePoint=jt))}var Fr=ft.filter(function(Vr){return Vr.ya.showspikes&&Vr.ya.spikesnap!==\"hovered data\"});if(Fr.length){var Zr=Fr[0];Sy(Zr.x0)&&Sy(Zr.y0)&&(jt=ot(Zr),(!Ae.hLinePoint||Ae.hLinePoint.spikeDistance>jt.spikeDistance)&&(Ae.hLinePoint=jt))}}}}}qt();function rt(Ni,_n,$i){for(var zn=null,Wn=1/0,It,ft=0;ft<Ni.length;ft++)x&&x._id!==Ni[ft].xa._id||b&&b._id!==Ni[ft].ya._id||(It=Ni[ft].spikeDistance,$i&&ft===0&&(It=-1/0),It<=Wn&&It<=_n&&(zn=Ni[ft],Wn=It));return zn}function ot(Ni){return Ni?{xa:Ni.xa,ya:Ni.ya,x:Ni.xSpike!==void 0?Ni.xSpike:(Ni.x0+Ni.x1)/2,y:Ni.ySpike!==void 0?Ni.ySpike:(Ni.y0+Ni.y1)/2,distance:Ni.distance,spikeDistance:Ni.spikeDistance,curveNumber:Ni.trace.index,color:Ni.color,pointNumber:Ni.index}:null}var Rt={fullLayout:s,container:s._hoverlayer,event:t},kt=e._spikepoints,Ct={vLinePoint:Ae.vLinePoint,hLinePoint:Ae.hLinePoint};e._spikepoints=Ct;var Yt=function(){var Ni=V.filter(function($i){return x&&x._id===$i.xa._id&&b&&b._id===$i.ya._id}),_n=V.filter(function($i){return!(x&&x._id===$i.xa._id&&b&&b._id===$i.ya._id)});Ni.sort(ble),_n.sort(ble),V=Ni.concat(_n),V=Yst(V,h)};Yt();var xr=h.charAt(0),er=(xr===\"x\"||xr===\"y\")&&V[0]&&Vst[V[0].trace.type];if(f&&q!==0&&V.length!==0){var Ke=V.filter(function(Ni){return Ni.ya.showspikes}),xt=rt(Ke,q,er);Ae.hLinePoint=ot(xt);var bt=V.filter(function(Ni){return Ni.xa.showspikes}),Lt=rt(bt,q,er);Ae.vLinePoint=ot(Lt)}if(V.length===0){var St=BL.unhoverRaw(e,t);return f&&(Ae.hLinePoint!==null||Ae.vLinePoint!==null)&&Ale(kt)&&Tle(e,Ae,Rt),St}if(f&&Ale(kt)&&Tle(e,Ae,Rt),Ag.isXYhover(ke)&&V[0].length!==0&&V[0].trace.type!==\"splom\"){var Et=V[0];xle[Et.trace.type]?V=V.filter(function(Ni){return Ni.trace.index===Et.trace.index}):V=[Et];var dt=V.length,Ht=Mle(\"x\",Et,s),$t=Mle(\"y\",Et,s);qt(Ht,$t);var fr=[],_r={},Br=0,Or=function(Ni){var _n=xle[Ni.trace.type]?kle(Ni):Ni.trace.index;if(!_r[_n])Br++,_r[_n]=Br,fr.push(Ni);else{var $i=_r[_n]-1,zn=fr[$i];$i>0&&Math.abs(Ni.distance)<Math.abs(zn.distance)&&(fr[$i]=Ni)}},Nr;for(Nr=0;Nr<dt;Nr++)Or(V[Nr]);for(Nr=V.length-1;Nr>dt-1;Nr--)Or(V[Nr]);V=fr,Yt()}var ut=e._hoverdata,Ne=[],Ye=Ile(e),Ve=Rle(e);for(N=0;N<V.length;N++){var Xe=V[N],ht=Ag.makeEventData(Xe,Xe.trace,Xe.cd);if(Xe.hovertemplate!==!1){var Le=!1;Xe.cd[Xe.index]&&Xe.cd[Xe.index].ht&&(Le=Xe.cd[Xe.index].ht),Xe.hovertemplate=Le||Xe.trace.hovertemplate||!1}if(Xe.xa&&Xe.ya){var xe=Xe.x0+Xe.xa._offset,Se=Xe.x1+Xe.xa._offset,lt=Xe.y0+Xe.ya._offset,Gt=Xe.y1+Xe.ya._offset,Vt=Math.min(xe,Se),ar=Math.max(xe,Se),Qr=Math.min(lt,Gt),ai=Math.max(lt,Gt);ht.bbox={x0:Vt+Ve,x1:ar+Ve,y0:Qr+Ye,y1:ai+Ye}}Xe.eventData=[ht],Ne.push(ht)}e._hoverdata=Ne;var jr=h===\"y\"&&(H.length>1||V.length>1)||h===\"closest\"&&ze&&V.length>1,ri=sd.combine(s.plot_bgcolor||sd.background,s.paper_bgcolor),bi=Cle(V,{gd:e,hovermode:h,rotateLabels:jr,bgColor:ri,container:s._hoverlayer,outerContainer:s._paper.node(),commonLabelOpts:s.hoverlabel,hoverdistance:s.hoverdistance}),nn=bi.hoverLabels;if(Ag.isUnifiedHover(h)||(jst(nn,jr,s,bi.commonLabelBoundingBox),Ple(nn,jr,s._invScaleX,s._invScaleY)),i&&i.tagName){var Wi=U3.getComponentMethod(\"annotations\",\"hasClickToShow\")(e,Ne);zst(Db.select(i),Wi?\"pointer\":\"\")}!i||n||!Xst(e,t,ut)||(ut&&e.emit(\"plotly_unhover\",{event:t,points:ut}),e.emit(\"plotly_hover\",{event:t,points:e._hoverdata,xaxes:C,yaxes:M,xvals:X,yvals:G}))}function kle(e){return[e.trace.index,e.index,e.x0,e.y0,e.name,e.attr,e.xa?e.xa._id:\"\",e.ya?e.ya._id:\"\"].join(\",\")}var Gst=/<extra>([\\s\\S]*)<\\/extra>/;function Cle(e,t){var r=t.gd,n=r._fullLayout,i=t.hovermode,a=t.rotateLabels,o=t.bgColor,s=t.container,l=t.outerContainer,u=t.commonLabelOpts||{};if(e.length===0)return[[]];var c=t.fontFamily||zb.HOVERFONT,f=t.fontSize||zb.HOVERFONTSIZE,h=t.fontWeight||n.font.weight,d=t.fontStyle||n.font.style,v=t.fontVariant||n.font.variant,x=t.fontTextcase||n.font.textcase,b=t.fontLineposition||n.font.lineposition,p=t.fontShadow||n.font.shadow,E=e[0],k=E.xa,A=E.ya,L=i.charAt(0),_=L+\"Label\",C=E[_];if(C===void 0&&k.type===\"multicategory\")for(var M=0;M<e.length&&(C=e[M][_],C===void 0);M++);var g=N3(r,l),P=g.top,T=g.width,F=g.height,q=C!==void 0&&E.distance<=t.hoverdistance&&(i===\"x\"||i===\"y\");if(q){var V=!0,H,X;for(H=0;H<e.length;H++)if(V&&e[H].zLabel===void 0&&(V=!1),X=e[H].hoverinfo||e[H].trace.hoverinfo,X){var G=Array.isArray(X)?X:X.split(\"+\");if(G.indexOf(\"all\")===-1&&G.indexOf(i)===-1){q=!1;break}}V&&(q=!1)}var N=s.selectAll(\"g.axistext\").data(q?[0]:[]);N.enter().append(\"g\").classed(\"axistext\",!0),N.exit().remove();var W={minX:0,maxX:0,minY:0,maxY:0};if(N.each(function(){var bt=Db.select(this),Lt=Rf.ensureSingle(bt,\"path\",\"\",function(Vt){Vt.style({\"stroke-width\":\"1px\"})}),St=Rf.ensureSingle(bt,\"text\",\"\",function(Vt){Vt.attr(\"data-notex\",1)}),Et=u.bgcolor||sd.defaultLine,dt=u.bordercolor||sd.contrast(Et),Ht=sd.contrast(Et),$t=u.font,fr={weight:$t.weight||h,style:$t.style||d,variant:$t.variant||v,textcase:$t.textcase||x,lineposition:$t.lineposition||b,shadow:$t.shadow||p,family:$t.family||c,size:$t.size||f,color:$t.color||Ht};Lt.style({fill:Et,stroke:dt}),St.text(C).call(bm.font,fr).call(A0.positionText,0,0).call(A0.convertToTspans,r),bt.attr(\"transform\",\"\");var _r=N3(r,St.node()),Br,Or;if(i===\"x\"){var Nr=k.side===\"top\"?\"-\":\"\";St.attr(\"text-anchor\",\"middle\").call(A0.positionText,0,k.side===\"top\"?P-_r.bottom-Bc-Us:P-_r.top+Bc+Us),Br=k._offset+(E.x0+E.x1)/2,Or=A._offset+(k.side===\"top\"?0:A._length);var ut=_r.width/2+Us,Ne=Br;Br<ut?Ne=ut:Br>n.width-ut&&(Ne=n.width-ut),Lt.attr(\"d\",\"M\"+(Br-Ne)+\",0L\"+(Br-Ne+Bc)+\",\"+Nr+Bc+\"H\"+ut+\"v\"+Nr+(Us*2+_r.height)+\"H\"+-ut+\"V\"+Nr+Bc+\"H\"+(Br-Ne-Bc)+\"Z\"),Br=Ne,W.minX=Br-ut,W.maxX=Br+ut,k.side===\"top\"?(W.minY=Or-(Us*2+_r.height),W.maxY=Or-Us):(W.minY=Or+Us,W.maxY=Or+(Us*2+_r.height))}else{var Ye,Ve,Xe;A.side===\"right\"?(Ye=\"start\",Ve=1,Xe=\"\",Br=k._offset+k._length):(Ye=\"end\",Ve=-1,Xe=\"-\",Br=k._offset),Or=A._offset+(E.y0+E.y1)/2,St.attr(\"text-anchor\",Ye),Lt.attr(\"d\",\"M0,0L\"+Xe+Bc+\",\"+Bc+\"V\"+(Us+_r.height/2)+\"h\"+Xe+(Us*2+_r.width)+\"V-\"+(Us+_r.height/2)+\"H\"+Xe+Bc+\"V-\"+Bc+\"Z\"),W.minY=Or-(Us+_r.height/2),W.maxY=Or+(Us+_r.height/2),A.side===\"right\"?(W.minX=Br+Bc,W.maxX=Br+Bc+(Us*2+_r.width)):(W.minX=Br-Bc-(Us*2+_r.width),W.maxX=Br-Bc);var ht=_r.height/2,Le=P-_r.top-ht,xe=\"clip\"+n._uid+\"commonlabel\"+A._id,Se;if(Br<_r.width+2*Us+Bc){Se=\"M-\"+(Bc+Us)+\"-\"+ht+\"h-\"+(_r.width-Us)+\"V\"+ht+\"h\"+(_r.width-Us)+\"Z\";var lt=_r.width-Br+Us;A0.positionText(St,lt,Le),Ye===\"end\"&&St.selectAll(\"tspan\").each(function(){var Vt=Db.select(this),ar=bm.tester.append(\"text\").text(Vt.text()).call(bm.font,fr),Qr=N3(r,ar.node());Math.round(Qr.width)<Math.round(_r.width)&&Vt.attr(\"x\",lt-Qr.width),ar.remove()})}else A0.positionText(St,Ve*(Us+Bc),Le),Se=null;var Gt=n._topclips.selectAll(\"#\"+xe).data(Se?[0]:[]);Gt.enter().append(\"clipPath\").attr(\"id\",xe).append(\"path\"),Gt.exit().remove(),Gt.select(\"path\").attr(\"d\",Se),bm.setClipUrl(St,Se?xe:null,r)}bt.attr(\"transform\",DB(Br,Or))}),Ag.isUnifiedHover(i)){s.selectAll(\"g.hovertext\").remove();var re=e.filter(function(bt){return bt.hoverinfo!==\"none\"});if(re.length===0)return[];var ae=n.hoverlabel,_e=ae.font,Me={showlegend:!0,legend:{title:{text:C,font:_e},font:_e,bgcolor:ae.bgcolor,bordercolor:ae.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:n.legend?n.legend.traceorder:void 0,orientation:\"v\"}},ke={font:_e};qst(Me,ke,r._fullData);var ge=ke.legend;ge.entries=[];for(var ie=0;ie<re.length;ie++){var Te=re[ie];if(Te.hoverinfo!==\"none\"){var Ee=wle(Te,!0,i,n,C),Ae=Ee[0],ze=Ee[1];Te.name=ze,ze!==\"\"?Te.text=ze+\" : \"+Ae:Te.text=Ae;var Ce=Te.cd[Te.index];Ce&&(Ce.mc&&(Te.mc=Ce.mc),Ce.mcc&&(Te.mc=Ce.mcc),Ce.mlc&&(Te.mlc=Ce.mlc),Ce.mlcc&&(Te.mlc=Ce.mlcc),Ce.mlw&&(Te.mlw=Ce.mlw),Ce.mrc&&(Te.mrc=Ce.mrc),Ce.dir&&(Te.dir=Ce.dir)),Te._distinct=!0,ge.entries.push([Te])}}ge.entries.sort(function(bt,Lt){return bt[0].trace.index-Lt[0].trace.index}),ge.layer=s,ge._inHover=!0,ge._groupTitleFont=ae.grouptitlefont,Ost(r,ge);var me=s.select(\"g.legend\"),Re=N3(r,me.node()),ce=Re.width+2*Us,Ge=Re.height+2*Us,nt=re[0],ct=(nt.x0+nt.x1)/2,qt=(nt.y0+nt.y1)/2,rt=!(U3.traceIs(nt.trace,\"bar-like\")||U3.traceIs(nt.trace,\"box-violin\")),ot,Rt;L===\"y\"?rt?(Rt=qt-Us,ot=qt+Us):(Rt=Math.min.apply(null,re.map(function(bt){return Math.min(bt.y0,bt.y1)})),ot=Math.max.apply(null,re.map(function(bt){return Math.max(bt.y0,bt.y1)}))):Rt=ot=Rf.mean(re.map(function(bt){return(bt.y0+bt.y1)/2}))-Ge/2;var kt,Ct;L===\"x\"?rt?(kt=ct+Us,Ct=ct-Us):(kt=Math.max.apply(null,re.map(function(bt){return Math.max(bt.x0,bt.x1)})),Ct=Math.min.apply(null,re.map(function(bt){return Math.min(bt.x0,bt.x1)}))):kt=Ct=Rf.mean(re.map(function(bt){return(bt.x0+bt.x1)/2}))-ce/2;var Yt=k._offset,xr=A._offset;ot+=xr,kt+=Yt,Ct+=Yt-ce,Rt+=xr-Ge;var er,Ke;return kt+ce<T&&kt>=0?er=kt:Ct+ce<T&&Ct>=0?er=Ct:Yt+ce<T?er=Yt:kt-ct<ct-Ct+ce?er=T-ce:er=0,er+=Us,ot+Ge<F&&ot>=0?Ke=ot:Rt+Ge<F&&Rt>=0?Ke=Rt:xr+Ge<F?Ke=xr:ot-qt<qt-Rt+Ge?Ke=F-Ge:Ke=0,Ke+=Us,me.attr(\"transform\",DB(er-1,Ke-1)),me}var xt=s.selectAll(\"g.hovertext\").data(e,function(bt){return kle(bt)});return xt.enter().append(\"g\").classed(\"hovertext\",!0).each(function(){var bt=Db.select(this);bt.append(\"rect\").call(sd.fill,sd.addOpacity(o,.8)),bt.append(\"text\").classed(\"name\",!0),bt.append(\"path\").style(\"stroke-width\",\"1px\"),bt.append(\"text\").classed(\"nums\",!0).call(bm.font,{weight:h,style:d,variant:v,textcase:x,lineposition:b,shadow:p,family:c,size:f})}),xt.exit().remove(),xt.each(function(bt){var Lt=Db.select(this).attr(\"transform\",\"\"),St=bt.color;Array.isArray(St)&&(St=St[bt.eventData[0].pointNumber]);var Et=bt.bgcolor||St,dt=sd.combine(sd.opacity(Et)?Et:sd.defaultLine,o),Ht=sd.combine(sd.opacity(St)?St:sd.defaultLine,o),$t=bt.borderColor||sd.contrast(dt),fr=wle(bt,q,i,n,C,Lt),_r=fr[0],Br=fr[1],Or=Lt.select(\"text.nums\").call(bm.font,{family:bt.fontFamily||c,size:bt.fontSize||f,color:bt.fontColor||$t,weight:bt.fontWeight||h,style:bt.fontStyle||d,variant:bt.fontVariant||v,textcase:bt.fontTextcase||x,lineposition:bt.fontLineposition||b,shadow:bt.fontShadow||p}).text(_r).attr(\"data-notex\",1).call(A0.positionText,0,0).call(A0.convertToTspans,r),Nr=Lt.select(\"text.name\"),ut=0,Ne=0;if(Br&&Br!==_r){Nr.call(bm.font,{family:bt.fontFamily||c,size:bt.fontSize||f,color:Ht,weight:bt.fontWeight||h,style:bt.fontStyle||d,variant:bt.fontVariant||v,textcase:bt.fontTextcase||x,lineposition:bt.fontLineposition||b,shadow:bt.fontShadow||p}).text(Br).attr(\"data-notex\",1).call(A0.positionText,0,0).call(A0.convertToTspans,r);var Ye=N3(r,Nr.node());ut=Ye.width+2*Us,Ne=Ye.height+2*Us}else Nr.remove(),Lt.select(\"rect\").remove();Lt.select(\"path\").style({fill:dt,stroke:$t});var Ve=bt.xa._offset+(bt.x0+bt.x1)/2,Xe=bt.ya._offset+(bt.y0+bt.y1)/2,ht=Math.abs(bt.x1-bt.x0),Le=Math.abs(bt.y1-bt.y0),xe=N3(r,Or.node()),Se=xe.width/n._invScaleX,lt=xe.height/n._invScaleY;bt.ty0=(P-xe.top)/n._invScaleY,bt.bx=Se+2*Us,bt.by=Math.max(lt+2*Us,Ne),bt.anchor=\"start\",bt.txwidth=Se,bt.tx2width=ut,bt.offset=0;var Gt=(Se+Bc+Us+ut)*n._invScaleX,Vt,ar;if(a)bt.pos=Ve,Vt=Xe+Le/2+Gt<=F,ar=Xe-Le/2-Gt>=0,(bt.idealAlign===\"top\"||!Vt)&&ar?(Xe-=Le/2,bt.anchor=\"end\"):Vt?(Xe+=Le/2,bt.anchor=\"start\"):bt.anchor=\"middle\",bt.crossPos=Xe;else{if(bt.pos=Xe,Vt=Ve+ht/2+Gt<=T,ar=Ve-ht/2-Gt>=0,(bt.idealAlign===\"left\"||!Vt)&&ar)Ve-=ht/2,bt.anchor=\"end\";else if(Vt)Ve+=ht/2,bt.anchor=\"start\";else{bt.anchor=\"middle\";var Qr=Gt/2,ai=Ve+Qr-T,jr=Ve-Qr;ai>0&&(Ve-=ai),jr<0&&(Ve+=-jr)}bt.crossPos=Ve}Or.attr(\"text-anchor\",bt.anchor),ut&&Nr.attr(\"text-anchor\",bt.anchor),Lt.attr(\"transform\",DB(Ve,Xe)+(a?Rst(Ele):\"\"))}),{hoverLabels:xt,commonLabelBoundingBox:W}}function wle(e,t,r,n,i,a){var o=\"\",s=\"\";e.nameOverride!==void 0&&(e.name=e.nameOverride),e.name&&(e.trace._meta&&(e.name=Rf.templateString(e.name,e.trace._meta)),o=Sle(e.name,e.nameLength));var l=r.charAt(0),u=l===\"x\"?\"y\":\"x\";e.zLabel!==void 0?(e.xLabel!==void 0&&(s+=\"x: \"+e.xLabel+\"<br>\"),e.yLabel!==void 0&&(s+=\"y: \"+e.yLabel+\"<br>\"),e.trace.type!==\"choropleth\"&&e.trace.type!==\"choroplethmapbox\"&&e.trace.type!==\"choroplethmap\"&&(s+=(s?\"z: \":\"\")+e.zLabel)):t&&e[l+\"Label\"]===i?s=e[u+\"Label\"]||\"\":e.xLabel===void 0?e.yLabel!==void 0&&e.trace.type!==\"scattercarpet\"&&(s=e.yLabel):e.yLabel===void 0?s=e.xLabel:s=\"(\"+e.xLabel+\", \"+e.yLabel+\")\",(e.text||e.text===0)&&!Array.isArray(e.text)&&(s+=(s?\"<br>\":\"\")+e.text),e.extraText!==void 0&&(s+=(s?\"<br>\":\"\")+e.extraText),a&&s===\"\"&&!e.hovertemplate&&(o===\"\"&&a.remove(),s=o);var c=e.hovertemplate||!1;if(c){var f=e.hovertemplateLabels||e;e[l+\"Label\"]!==i&&(f[l+\"other\"]=f[l+\"Val\"],f[l+\"otherLabel\"]=f[l+\"Label\"]),s=Rf.hovertemplateString(c,f,n._d3locale,e.eventData[0]||{},e.trace._meta),s=s.replace(Gst,function(h,d){return o=Sle(d,e.nameLength),\"\"})}return[s,o]}function jst(e,t,r,n){var i=t?\"xa\":\"ya\",a=t?\"ya\":\"xa\",o=0,s=1,l=e.size(),u=new Array(l),c=0,f=n.minX,h=n.maxX,d=n.minY,v=n.maxY,x=function(X){return X*r._invScaleX},b=function(X){return X*r._invScaleY};e.each(function(X){var G=X[i],N=X[a],W=G._id.charAt(0)===\"x\",re=G.range;c===0&&re&&re[0]>re[1]!==W&&(s=-1);var ae=0,_e=W?r.width:r.height;if(r.hovermode===\"x\"||r.hovermode===\"y\"){var Me=Lle(X,t),ke=X.anchor,ge=ke===\"end\"?-1:1,ie,Te;if(ke===\"middle\")ie=X.crossPos+(W?b(Me.y-X.by/2):x(X.bx/2+X.tx2width/2)),Te=ie+(W?b(X.by):x(X.bx));else if(W)ie=X.crossPos+b(Bc+Me.y)-b(X.by/2-Bc),Te=ie+b(X.by);else{var Ee=x(ge*Bc+Me.x),Ae=Ee+x(ge*X.bx);ie=X.crossPos+Math.min(Ee,Ae),Te=X.crossPos+Math.max(Ee,Ae)}W?d!==void 0&&v!==void 0&&Math.min(Te,v)-Math.max(ie,d)>1&&(N.side===\"left\"?(ae=N._mainLinePosition,_e=r.width):_e=N._mainLinePosition):f!==void 0&&h!==void 0&&Math.min(Te,h)-Math.max(ie,f)>1&&(N.side===\"top\"?(ae=N._mainLinePosition,_e=r.height):_e=N._mainLinePosition)}u[c++]=[{datum:X,traceIndex:X.trace.index,dp:0,pos:X.pos,posref:X.posref,size:X.by*(W?Bst:1)/2,pmin:ae,pmax:_e}]}),u.sort(function(X,G){return X[0].posref-G[0].posref||s*(G[0].traceIndex-X[0].traceIndex)});var p,E,k,A,L,_,C;function M(X){var G=X[0],N=X[X.length-1];if(E=G.pmin-G.pos-G.dp+G.size,k=N.pos+N.dp+N.size-G.pmax,E>.01){for(L=X.length-1;L>=0;L--)X[L].dp+=E;p=!1}if(!(k<.01)){if(E<-.01){for(L=X.length-1;L>=0;L--)X[L].dp-=k;p=!1}if(p){var W=0;for(A=0;A<X.length;A++)_=X[A],_.pos+_.dp+_.size>G.pmax&&W++;for(A=X.length-1;A>=0&&!(W<=0);A--)_=X[A],_.pos>G.pmax-1&&(_.del=!0,W--);for(A=0;A<X.length&&!(W<=0);A++)if(_=X[A],_.pos<G.pmin+1)for(_.del=!0,W--,k=_.size*2,L=X.length-1;L>=0;L--)X[L].dp-=k;for(A=X.length-1;A>=0&&!(W<=0);A--)_=X[A],_.pos+_.dp+_.size>G.pmax&&(_.del=!0,W--)}}}for(;!p&&o<=l;){for(o++,p=!0,A=0;A<u.length-1;){var g=u[A],P=u[A+1],T=g[g.length-1],F=P[0];if(E=T.pos+T.dp+T.size-F.pos-F.dp+F.size,E>.01){for(L=P.length-1;L>=0;L--)P[L].dp+=E;for(g.push.apply(g,P),u.splice(A+1,1),C=0,L=g.length-1;L>=0;L--)C+=g[L].dp;for(k=C/g.length,L=g.length-1;L>=0;L--)g[L].dp-=k;p=!1}else A++}u.forEach(M)}for(A=u.length-1;A>=0;A--){var q=u[A];for(L=q.length-1;L>=0;L--){var V=q[L],H=V.datum;H.offset=V.dp,H.del=V.del}}}function Lle(e,t){var r=0,n=e.offset;return t&&(n*=-Ust,r=e.offset*Nst),{x:r,y:n}}function Wst(e){var t={start:1,end:-1,middle:0}[e.anchor],r=t*(Bc+Us),n=r+t*(e.txwidth+Us),i=e.anchor===\"middle\";return i&&(r-=e.tx2width/2,n+=e.txwidth/2+Us),{alignShift:t,textShiftX:r,text2ShiftX:n}}function Ple(e,t,r,n){var i=function(o){return o*r},a=function(o){return o*n};e.each(function(o){var s=Db.select(this);if(o.del)return s.remove();var l=s.select(\"text.nums\"),u=o.anchor,c=u===\"end\"?-1:1,f=Wst(o),h=Lle(o,t),d=h.x,v=h.y,x=u===\"middle\";s.select(\"path\").attr(\"d\",x?\"M-\"+i(o.bx/2+o.tx2width/2)+\",\"+a(v-o.by/2)+\"h\"+i(o.bx)+\"v\"+a(o.by)+\"h-\"+i(o.bx)+\"Z\":\"M0,0L\"+i(c*Bc+d)+\",\"+a(Bc+v)+\"v\"+a(o.by/2-Bc)+\"h\"+i(c*o.bx)+\"v-\"+a(o.by)+\"H\"+i(c*Bc+d)+\"V\"+a(v-Bc)+\"Z\");var b=d+f.textShiftX,p=v+o.ty0-o.by/2+Us,E=o.textAlign||\"auto\";E!==\"auto\"&&(E===\"left\"&&u!==\"start\"?(l.attr(\"text-anchor\",\"start\"),b=x?-o.bx/2-o.tx2width/2+Us:-o.bx-Us):E===\"right\"&&u!==\"end\"&&(l.attr(\"text-anchor\",\"end\"),b=x?o.bx/2-o.tx2width/2-Us:o.bx+Us)),l.call(A0.positionText,i(b),a(p)),o.tx2width&&(s.select(\"text.name\").call(A0.positionText,i(f.text2ShiftX+f.alignShift*Us+d),a(v+o.ty0-o.by/2+Us)),s.select(\"rect\").call(bm.setRect,i(f.text2ShiftX+(f.alignShift-1)*o.tx2width/2+d),a(v-o.by/2-1),i(o.tx2width),a(o.by+2)))})}function Zst(e,t){var r=e.index,n=e.trace||{},i=e.cd[0],a=e.cd[r]||{};function o(h){return h||Sy(h)&&h===0}var s=Array.isArray(r)?function(h,d){var v=Rf.castOption(i,r,h);return o(v)?v:Rf.extractOption({},n,\"\",d)}:function(h,d){return Rf.extractOption(a,n,h,d)};function l(h,d,v){var x=s(d,v);o(x)&&(e[h]=x)}if(l(\"hoverinfo\",\"hi\",\"hoverinfo\"),l(\"bgcolor\",\"hbg\",\"hoverlabel.bgcolor\"),l(\"borderColor\",\"hbc\",\"hoverlabel.bordercolor\"),l(\"fontFamily\",\"htf\",\"hoverlabel.font.family\"),l(\"fontSize\",\"hts\",\"hoverlabel.font.size\"),l(\"fontColor\",\"htc\",\"hoverlabel.font.color\"),l(\"fontWeight\",\"htw\",\"hoverlabel.font.weight\"),l(\"fontStyle\",\"hty\",\"hoverlabel.font.style\"),l(\"fontVariant\",\"htv\",\"hoverlabel.font.variant\"),l(\"nameLength\",\"hnl\",\"hoverlabel.namelength\"),l(\"textAlign\",\"hta\",\"hoverlabel.align\"),e.posref=t===\"y\"||t===\"closest\"&&n.orientation===\"h\"?e.xa._offset+(e.x0+e.x1)/2:e.ya._offset+(e.y0+e.y1)/2,e.x0=Rf.constrain(e.x0,0,e.xa._length),e.x1=Rf.constrain(e.x1,0,e.xa._length),e.y0=Rf.constrain(e.y0,0,e.ya._length),e.y1=Rf.constrain(e.y1,0,e.ya._length),e.xLabelVal!==void 0&&(e.xLabel=\"xLabel\"in e?e.xLabel:wm.hoverLabelText(e.xa,e.xLabelVal,n.xhoverformat),e.xVal=e.xa.c2d(e.xLabelVal)),e.yLabelVal!==void 0&&(e.yLabel=\"yLabel\"in e?e.yLabel:wm.hoverLabelText(e.ya,e.yLabelVal,n.yhoverformat),e.yVal=e.ya.c2d(e.yLabelVal)),e.zLabelVal!==void 0&&e.zLabel===void 0&&(e.zLabel=String(e.zLabelVal)),!isNaN(e.xerr)&&!(e.xa.type===\"log\"&&e.xerr<=0)){var u=wm.tickText(e.xa,e.xa.c2l(e.xerr),\"hover\").text;e.xerrneg!==void 0?e.xLabel+=\" +\"+u+\" / -\"+wm.tickText(e.xa,e.xa.c2l(e.xerrneg),\"hover\").text:e.xLabel+=\" \\xB1 \"+u,t===\"x\"&&(e.distance+=1)}if(!isNaN(e.yerr)&&!(e.ya.type===\"log\"&&e.yerr<=0)){var c=wm.tickText(e.ya,e.ya.c2l(e.yerr),\"hover\").text;e.yerrneg!==void 0?e.yLabel+=\" +\"+c+\" / -\"+wm.tickText(e.ya,e.ya.c2l(e.yerrneg),\"hover\").text:e.yLabel+=\" \\xB1 \"+c,t===\"y\"&&(e.distance+=1)}var f=e.hoverinfo||e.trace.hoverinfo;return f&&f!==\"all\"&&(f=Array.isArray(f)?f:f.split(\"+\"),f.indexOf(\"x\")===-1&&(e.xLabel=void 0),f.indexOf(\"y\")===-1&&(e.yLabel=void 0),f.indexOf(\"z\")===-1&&(e.zLabel=void 0),f.indexOf(\"text\")===-1&&(e.text=void 0),f.indexOf(\"name\")===-1&&(e.name=void 0)),e}function Tle(e,t,r){var n=r.container,i=r.fullLayout,a=i._size,o=r.event,s=!!t.hLinePoint,l=!!t.vLinePoint,u,c;if(n.selectAll(\".spikeline\").remove(),!!(l||s)){var f=sd.combine(i.plot_bgcolor,i.paper_bgcolor);if(s){var h=t.hLinePoint,d,v;u=h&&h.xa,c=h&&h.ya;var x=c.spikesnap;x===\"cursor\"?(d=o.pointerX,v=o.pointerY):(d=u._offset+h.x,v=c._offset+h.y);var b=_le.readability(h.color,f)<1.5?sd.contrast(f):h.color,p=c.spikemode,E=c.spikethickness,k=c.spikecolor||b,A=wm.getPxPosition(e,c),L,_;if(p.indexOf(\"toaxis\")!==-1||p.indexOf(\"across\")!==-1){if(p.indexOf(\"toaxis\")!==-1&&(L=A,_=d),p.indexOf(\"across\")!==-1){var C=c._counterDomainMin,M=c._counterDomainMax;c.anchor===\"free\"&&(C=Math.min(C,c.position),M=Math.max(M,c.position)),L=a.l+C*a.w,_=a.l+M*a.w}n.insert(\"line\",\":first-child\").attr({x1:L,x2:_,y1:v,y2:v,\"stroke-width\":E,stroke:k,\"stroke-dasharray\":bm.dashStyle(c.spikedash,E)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),n.insert(\"line\",\":first-child\").attr({x1:L,x2:_,y1:v,y2:v,\"stroke-width\":E+2,stroke:f}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}p.indexOf(\"marker\")!==-1&&n.insert(\"circle\",\":first-child\").attr({cx:A+(c.side!==\"right\"?E:-E),cy:v,r:E,fill:k}).classed(\"spikeline\",!0)}if(l){var g=t.vLinePoint,P,T;u=g&&g.xa,c=g&&g.ya;var F=u.spikesnap;F===\"cursor\"?(P=o.pointerX,T=o.pointerY):(P=u._offset+g.x,T=c._offset+g.y);var q=_le.readability(g.color,f)<1.5?sd.contrast(f):g.color,V=u.spikemode,H=u.spikethickness,X=u.spikecolor||q,G=wm.getPxPosition(e,u),N,W;if(V.indexOf(\"toaxis\")!==-1||V.indexOf(\"across\")!==-1){if(V.indexOf(\"toaxis\")!==-1&&(N=G,W=T),V.indexOf(\"across\")!==-1){var re=u._counterDomainMin,ae=u._counterDomainMax;u.anchor===\"free\"&&(re=Math.min(re,u.position),ae=Math.max(ae,u.position)),N=a.t+(1-ae)*a.h,W=a.t+(1-re)*a.h}n.insert(\"line\",\":first-child\").attr({x1:P,x2:P,y1:N,y2:W,\"stroke-width\":H,stroke:X,\"stroke-dasharray\":bm.dashStyle(u.spikedash,H)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),n.insert(\"line\",\":first-child\").attr({x1:P,x2:P,y1:N,y2:W,\"stroke-width\":H+2,stroke:f}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}V.indexOf(\"marker\")!==-1&&n.insert(\"circle\",\":first-child\").attr({cx:P,cy:G-(u.side!==\"top\"?H:-H),r:H,fill:X}).classed(\"spikeline\",!0)}}}function Xst(e,t,r){if(!r||r.length!==e._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=e._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}function Ale(e,t){return!t||t.vLinePoint!==e._spikepoints.vLinePoint||t.hLinePoint!==e._spikepoints.hLinePoint}function Sle(e,t){return A0.plainText(e||\"\",{len:t,allowedTags:[\"br\",\"sub\",\"sup\",\"b\",\"i\",\"em\",\"s\",\"u\"]})}function Yst(e,t){for(var r=t.charAt(0),n=[],i=[],a=[],o=0;o<e.length;o++){var s=e[o];U3.traceIs(s.trace,\"bar-like\")||U3.traceIs(s.trace,\"box-violin\")?a.push(s):s.trace[r+\"period\"]?i.push(s):n.push(s)}return n.concat(i).concat(a)}function Mle(e,t,r){var n=t[e+\"a\"],i=t[e+\"Val\"],a=t.cd[0];if(n.type===\"category\"||n.type===\"multicategory\")i=n._categoriesMap[i];else if(n.type===\"date\"){var o=t.trace[e+\"periodalignment\"];if(o){var s=t.cd[t.index],l=s[e+\"Start\"];l===void 0&&(l=s[e]);var u=s[e+\"End\"];u===void 0&&(u=s[e]);var c=u-l;o===\"end\"?i+=c:o===\"middle\"&&(i+=c/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&(r.boxmode===\"group\"||r.violinmode===\"group\")&&(i+=a.t.dPos),i}function Ile(e){return e.offsetTop+e.clientTop}function Rle(e){return e.offsetLeft+e.clientLeft}function N3(e,t){var r=e._fullLayout,n=t.getBoundingClientRect(),i=n.left,a=n.top,o=i+n.width,s=a+n.height,l=Rf.apply3DTransform(r._invTransform)(i,a),u=Rf.apply3DTransform(r._invTransform)(o,s),c=l[0],f=l[1],h=u[0],d=u[1];return{x:c,y:f,width:h-c,height:d-f,top:Math.min(f,d),left:Math.min(c,h),right:Math.max(c,h),bottom:Math.max(f,d)}}});var oM=ye((Zrr,Dle)=>{\"use strict\";var Kst=Mr(),Jst=va(),$st=rp().isUnifiedHover;Dle.exports=function(t,r,n,i){i=i||{};var a=r.legend;function o(s){i.font[s]||(i.font[s]=a?r.legend.font[s]:r.font[s])}r&&$st(r.hovermode)&&(i.font||(i.font={}),o(\"size\"),o(\"family\"),o(\"color\"),o(\"weight\"),o(\"style\"),o(\"variant\"),a?(i.bgcolor||(i.bgcolor=Jst.combine(r.legend.bgcolor,r.paper_bgcolor)),i.bordercolor||(i.bordercolor=r.legend.bordercolor)):i.bgcolor||(i.bgcolor=r.paper_bgcolor)),n(\"hoverlabel.bgcolor\",i.bgcolor),n(\"hoverlabel.bordercolor\",i.bordercolor),n(\"hoverlabel.namelength\",i.namelength),Kst.coerceFont(n,\"hoverlabel.font\",i.font),n(\"hoverlabel.align\",i.align)}});var Fle=ye((Xrr,zle)=>{\"use strict\";var Qst=Mr(),elt=oM(),tlt=N1();zle.exports=function(t,r){function n(i,a){return Qst.coerce(t,r,tlt,i,a)}elt(t,r,n)}});var Ble=ye((Yrr,Ole)=>{\"use strict\";var qle=Mr(),rlt=i3(),ilt=oM();Ole.exports=function(t,r,n,i){function a(s,l){return qle.coerce(t,r,rlt,s,l)}var o=qle.extendFlat({},i.hoverlabel);r.hovertemplate&&(o.namelength=-1),ilt(t,r,a,o)}});var OB=ye((Krr,Nle)=>{\"use strict\";var nlt=Mr(),alt=N1();Nle.exports=function(t,r){function n(i,a){return r[i]!==void 0?r[i]:nlt.coerce(t,r,alt,i,a)}return n(\"clickmode\"),n(\"hoversubplots\"),n(\"hovermode\")}});var Hle=ye((Jrr,Vle)=>{\"use strict\";var Ule=Mr(),olt=N1(),slt=OB(),llt=oM();Vle.exports=function(t,r){function n(c,f){return Ule.coerce(t,r,olt,c,f)}var i=slt(t,r);i&&(n(\"hoverdistance\"),n(\"spikedistance\"));var a=n(\"dragmode\");a===\"select\"&&n(\"selectdirection\");var o=r._has(\"mapbox\"),s=r._has(\"map\"),l=r._has(\"geo\"),u=r._basePlotModules.length;r.dragmode===\"zoom\"&&((o||s||l)&&u===1||(o||s)&&l&&u===2)&&(r.dragmode=\"pan\"),llt(t,r,n),Ule.coerceFont(n,\"hoverlabel.grouptitlefont\",r.hoverlabel.font)}});var Wle=ye(($rr,jle)=>{\"use strict\";var BB=Mr(),Gle=ba();jle.exports=function(t){var r=t.calcdata,n=t._fullLayout;function i(u){return function(c){return BB.coerceHoverinfo({hoverinfo:c},{_module:u._module},n)}}for(var a=0;a<r.length;a++){var o=r[a],s=o[0].trace;if(!Gle.traceIs(s,\"pie-like\")){var l=Gle.traceIs(s,\"2dMap\")?ult:BB.fillArray;l(s.hoverinfo,o,\"hi\",i(s)),s.hovertemplate&&l(s.hovertemplate,o,\"ht\"),s.hoverlabel&&(l(s.hoverlabel.bgcolor,o,\"hbg\"),l(s.hoverlabel.bordercolor,o,\"hbc\"),l(s.hoverlabel.font.size,o,\"hts\"),l(s.hoverlabel.font.color,o,\"htc\"),l(s.hoverlabel.font.family,o,\"htf\"),l(s.hoverlabel.font.weight,o,\"htw\"),l(s.hoverlabel.font.style,o,\"hty\"),l(s.hoverlabel.font.variant,o,\"htv\"),l(s.hoverlabel.namelength,o,\"hnl\"),l(s.hoverlabel.align,o,\"hta\"))}}};function ult(e,t,r,n){n=n||BB.identity,Array.isArray(e)&&(t[0][r]=n(e))}});var Xle=ye((Qrr,Zle)=>{\"use strict\";var clt=ba(),flt=qB().hover;Zle.exports=function(t,r,n){var i=clt.getComponentMethod(\"annotations\",\"onClick\")(t,t._hoverdata);n!==void 0&&flt(t,r,n,!0);function a(){t.emit(\"plotly_click\",{points:t._hoverdata,event:r})}t._hoverdata&&r&&r.target&&(i&&i.then?i.then(a):a(),r.stopImmediatePropagation&&r.stopImmediatePropagation())}});var Nc=ye((eir,Jle)=>{\"use strict\";var hlt=xa(),NL=Mr(),dlt=gv(),sM=rp(),Yle=N1(),Kle=qB();Jle.exports={moduleType:\"component\",name:\"fx\",constants:IS(),schema:{layout:Yle},attributes:i3(),layoutAttributes:Yle,supplyLayoutGlobalDefaults:Fle(),supplyDefaults:Ble(),supplyLayoutDefaults:Hle(),calc:Wle(),getDistanceFunction:sM.getDistanceFunction,getClosest:sM.getClosest,inbox:sM.inbox,quadrature:sM.quadrature,appendArrayPointValue:sM.appendArrayPointValue,castHoverOption:plt,castHoverinfo:glt,hover:Kle.hover,unhover:dlt.unhover,loneHover:Kle.loneHover,loneUnhover:vlt,click:Xle()};function vlt(e){var t=NL.isD3Selection(e)?e:hlt.select(e);t.selectAll(\"g.hovertext\").remove(),t.selectAll(\".spikeline\").remove()}function plt(e,t,r){return NL.castOption(e,t,\"hoverlabel.\"+r)}function glt(e,t,r){function n(i){return NL.coerceHoverinfo({hoverinfo:i},{_module:e._module},t)}return NL.castOption(e,r,\"hoverinfo\",n)}});var Sg=ye(My=>{\"use strict\";My.selectMode=function(e){return e===\"lasso\"||e===\"select\"};My.drawMode=function(e){return e===\"drawclosedpath\"||e===\"drawopenpath\"||e===\"drawline\"||e===\"drawrect\"||e===\"drawcircle\"};My.openMode=function(e){return e===\"drawline\"||e===\"drawopenpath\"};My.rectMode=function(e){return e===\"select\"||e===\"drawline\"||e===\"drawrect\"||e===\"drawcircle\"};My.freeMode=function(e){return e===\"lasso\"||e===\"drawclosedpath\"||e===\"drawopenpath\"};My.selectingOrDrawing=function(e){return My.freeMode(e)||My.rectMode(e)}});var lM=ye((rir,$le)=>{\"use strict\";$le.exports=function(t){var r=t._fullLayout;r._glcanvas&&r._glcanvas.size()&&r._glcanvas.each(function(n){n.regl&&n.regl.clear({color:!0,depth:!0})})}});var UL=ye((iir,Qle)=>{\"use strict\";Qle.exports={undo:{width:857.1,height:1e3,path:\"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z\",transform:\"matrix(1 0 0 -1 0 850)\"},home:{width:928.6,height:1e3,path:\"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"camera-retro\":{width:1e3,height:1e3,path:\"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoombox:{width:1e3,height:1e3,path:\"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z\",transform:\"matrix(1 0 0 -1 0 850)\"},pan:{width:1e3,height:1e3,path:\"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoom_plus:{width:875,height:1e3,path:\"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoom_minus:{width:875,height:1e3,path:\"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z\",transform:\"matrix(1 0 0 -1 0 850)\"},autoscale:{width:1e3,height:1e3,path:\"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z\",transform:\"matrix(1 0 0 -1 0 850)\"},tooltip_basic:{width:1500,height:1e3,path:\"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z\",transform:\"matrix(1 0 0 -1 0 850)\"},tooltip_compare:{width:1125,height:1e3,path:\"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z\",transform:\"matrix(1 0 0 -1 0 850)\"},plotlylogo:{width:1542,height:1e3,path:\"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"z-axis\":{width:1e3,height:1e3,path:\"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"3d_rotate\":{width:1e3,height:1e3,path:\"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z\",transform:\"matrix(1 0 0 -1 0 850)\"},camera:{width:1e3,height:1e3,path:\"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z\",transform:\"matrix(1 0 0 -1 0 850)\"},movie:{width:1e3,height:1e3,path:\"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z\",transform:\"matrix(1 0 0 -1 0 850)\"},question:{width:857.1,height:1e3,path:\"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z\",transform:\"matrix(1 0 0 -1 0 850)\"},disk:{width:857.1,height:1e3,path:\"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z\",transform:\"matrix(1 0 0 -1 0 850)\"},drawopenpath:{width:70,height:70,path:\"M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z\",transform:\"matrix(1 0 0 1 -15 -15)\"},drawclosedpath:{width:90,height:90,path:\"M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z\",transform:\"matrix(1 0 0 1 -5 -5)\"},lasso:{width:1031,height:1e3,path:\"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z\",transform:\"matrix(1 0 0 -1 0 850)\"},selectbox:{width:1e3,height:1e3,path:\"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z\",transform:\"matrix(1 0 0 -1 0 850)\"},drawline:{width:70,height:70,path:\"M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z\",transform:\"matrix(1 0 0 1 -15 -15)\"},drawrect:{width:80,height:80,path:\"M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},drawcircle:{width:80,height:80,path:\"M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},eraseshape:{width:80,height:80,path:\"M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},spikeline:{width:1e3,height:1e3,path:\"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z\",transform:\"matrix(1.5 0 0 -1.5 0 850)\"},pencil:{width:1792,height:1792,path:\"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z\",transform:\"matrix(1 0 0 1 0 1)\"},newplotlylogo:{name:\"newplotlylogo\",svg:[\"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 132'>\",\" <title>plotly-logomark</title>\",\" <g id='symbol'>\",\" <rect fill='#000' x='0' y='0' width='132' height='132' rx='18' ry='18'/>\",\" <circle fill='#9EF' cx='102' cy='30' r='6'/>\",\" <circle fill='#BAC' cx='78' cy='30' r='6'/>\",\" <circle fill='#BAC' cx='78' cy='54' r='6'/>\",\" <circle fill='#D69' cx='54' cy='30' r='6'/>\",\" <circle fill='#F26' cx='30' cy='30' r='6'/>\",\" <circle fill='#F26' cx='30' cy='54' r='6'/>\",\" <path fill='#FFF' d='M30,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,30,72Z'/>\",\" <path fill='#FFF' d='M78,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,78,72Z'/>\",\" <path fill='#FFF' d='M54,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,54,48Z'/>\",\" <path fill='#FFF' d='M102,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,102,48Z'/>\",\" </g>\",\"</svg>\"].join(\"\")}}});var HL=ye((nir,eue)=>{\"use strict\";var VL=32;eue.exports={CIRCLE_SIDES:VL,i000:0,i090:VL/4,i180:VL/2,i270:VL/4*3,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}});var GL=ye((air,rue)=>{\"use strict\";var mlt=Mr().strTranslate;function tue(e,t){switch(e.type){case\"log\":return e.p2d(t);case\"date\":return e.p2r(t,0,e.calendar);default:return e.p2r(t)}}function ylt(e,t){switch(e.type){case\"log\":return e.d2p(t);case\"date\":return e.r2p(t,0,e.calendar);default:return e.r2p(t)}}function _lt(e){var t=e._id.charAt(0)===\"y\"?1:0;return function(r){return tue(e,r[t])}}function xlt(e){return mlt(e.xaxis._offset,e.yaxis._offset)}rue.exports={p2r:tue,r2p:ylt,axValue:_lt,getTransform:xlt}});var c_=ye(Ey=>{\"use strict\";var blt=XS(),aue=HL(),V3=aue.CIRCLE_SIDES,NB=aue.SQRT2,oue=GL(),iue=oue.p2r,nue=oue.r2p,wlt=[0,3,4,5,6,1,2],Tlt=[0,3,4,1,2];Ey.writePaths=function(e){var t=e.length;if(!t)return\"M0,0Z\";for(var r=\"\",n=0;n<t;n++)for(var i=e[n].length,a=0;a<i;a++){var o=e[n][a][0];if(o===\"Z\")r+=\"Z\";else for(var s=e[n][a].length,l=0;l<s;l++){var u=l;o===\"Q\"||o===\"S\"?u=Tlt[l]:o===\"C\"&&(u=wlt[l]),r+=e[n][a][u],l>0&&l<s-1&&(r+=\",\")}}return r};Ey.readPaths=function(e,t,r,n){var i=blt(e),a=[],o=-1,s=function(){o++,a[o]=[]},l,u=0,c=0,f,h,d=function(){f=u,h=c};d();for(var v=0;v<i.length;v++){var x=[],b,p,E,k,A=i[v][0],L=A;switch(A){case\"M\":s(),u=+i[v][1],c=+i[v][2],x.push([L,u,c]),d();break;case\"Q\":case\"S\":b=+i[v][1],E=+i[v][2],u=+i[v][3],c=+i[v][4],x.push([L,u,c,b,E]);break;case\"C\":b=+i[v][1],E=+i[v][2],p=+i[v][3],k=+i[v][4],u=+i[v][5],c=+i[v][6],x.push([L,u,c,b,E,p,k]);break;case\"T\":case\"L\":u=+i[v][1],c=+i[v][2],x.push([L,u,c]);break;case\"H\":L=\"L\",u=+i[v][1],x.push([L,u,c]);break;case\"V\":L=\"L\",c=+i[v][1],x.push([L,u,c]);break;case\"A\":L=\"L\";var _=+i[v][1],C=+i[v][2];+i[v][4]||(_=-_,C=-C);var M=u-_,g=c;for(l=1;l<=V3/2;l++){var P=2*Math.PI*l/V3;x.push([L,M+_*Math.cos(P),g+C*Math.sin(P)])}break;case\"Z\":(u!==f||c!==h)&&(u=f,c=h,x.push([L,u,c]));break}for(var T=(r||{}).domain,F=t._fullLayout._size,q=r&&r.xsizemode===\"pixel\",V=r&&r.ysizemode===\"pixel\",H=n===!1,X=0;X<x.length;X++){for(l=0;l+2<7;l+=2){var G=x[X][l+1],N=x[X][l+2];G===void 0||N===void 0||(u=G,c=N,r&&(r.xaxis&&r.xaxis.p2r?(H&&(G-=r.xaxis._offset),q?G=nue(r.xaxis,r.xanchor)+G:G=iue(r.xaxis,G)):(H&&(G-=F.l),T?G=T.x[0]+G/F.w:G=G/F.w),r.yaxis&&r.yaxis.p2r?(H&&(N-=r.yaxis._offset),V?N=nue(r.yaxis,r.yanchor)-N:N=iue(r.yaxis,N)):(H&&(N-=F.t),T?N=T.y[1]-N/F.h:N=1-N/F.h)),x[X][l+1]=G,x[X][l+2]=N)}a[o].push(x[X].slice())}}return a};function uM(e,t){return Math.abs(e-t)<=1e-6}function jL(e,t){var r=t[1]-e[1],n=t[2]-e[2];return Math.sqrt(r*r+n*n)}Ey.pointsOnRectangle=function(e){var t=e.length;if(t!==5)return!1;for(var r=1;r<3;r++){var n=e[0][r]-e[1][r],i=e[3][r]-e[2][r];if(!uM(n,i))return!1;var a=e[0][r]-e[3][r],o=e[1][r]-e[2][r];if(!uM(a,o))return!1}return!uM(e[0][1],e[1][1])&&!uM(e[0][1],e[3][1])?!1:!!(jL(e[0],e[1])*jL(e[0],e[3]))};Ey.pointsOnEllipse=function(e){var t=e.length;if(t!==V3+1)return!1;t=V3;for(var r=0;r<t;r++){var n=(t*2-r)%t,i=(t/2+n)%t,a=(t/2+r)%t;if(!uM(jL(e[r],e[a]),jL(e[n],e[i])))return!1}return!0};Ey.handleEllipse=function(e,t,r){if(!e)return[t,r];var n=Ey.ellipseOver({x0:t[0],y0:t[1],x1:r[0],y1:r[1]}),i=(n.x1+n.x0)/2,a=(n.y1+n.y0)/2,o=(n.x1-n.x0)/2,s=(n.y1-n.y0)/2;o||(o=s=s/NB),s||(s=o=o/NB);for(var l=[],u=0;u<V3;u++){var c=u*2*Math.PI/V3;l.push([i+o*Math.cos(c),a+s*Math.sin(c)])}return l};Ey.ellipseOver=function(e){var t=e.x0,r=e.y0,n=e.x1,i=e.y1,a=n-t,o=i-r;t-=a,r-=o;var s=(t+n)/2,l=(r+i)/2,u=NB;return a*=u,o*=u,{x0:s-a,y0:l-o,x1:s+a,y1:l+o}};Ey.fixDatesForPaths=function(e,t,r){var n=t.type===\"date\",i=r.type===\"date\";if(!n&&!i)return e;for(var a=0;a<e.length;a++)for(var o=0;o<e[a].length;o++)for(var s=0;s+2<e[a][o].length;s+=2)n&&(e[a][o][s+1]=e[a][o][s+1].replace(\" \",\"_\")),i&&(e[a][o][s+2]=e[a][o][s+2].replace(\" \",\"_\"));return e}});var XL=ye((sir,vue)=>{\"use strict\";var fue=Sg(),Alt=fue.drawMode,Slt=fue.openMode,H3=HL(),sue=H3.i000,lue=H3.i090,uue=H3.i180,cue=H3.i270,Mlt=H3.cos45,Elt=H3.sin45,hue=GL(),WL=hue.p2r,f_=hue.r2p,klt=e_(),Clt=klt.clearOutline,ZL=c_(),Llt=ZL.readPaths,Plt=ZL.writePaths,Ilt=ZL.ellipseOver,Rlt=ZL.fixDatesForPaths;function Dlt(e,t){if(e.length){var r=e[0][0];if(r){var n=t.gd,i=t.isActiveShape,a=t.dragmode,o=(n.layout||{}).shapes||[];if(!Alt(a)&&i!==void 0){var s=n._fullLayout._activeShapeIndex;if(s<o.length)switch(n._fullLayout.shapes[s].type){case\"rect\":a=\"drawrect\";break;case\"circle\":a=\"drawcircle\";break;case\"line\":a=\"drawline\";break;case\"path\":var l=o[s].path||\"\";l[l.length-1]===\"Z\"?a=\"drawclosedpath\":a=\"drawopenpath\";break}}var u=due(e,t,a);Clt(n);for(var c=t.editHelpers,f=(c||{}).modifyItem,h=[],d=0;d<o.length;d++){var v=n._fullLayout.shapes[d];if(h[d]=v._input,i!==void 0&&d===n._fullLayout._activeShapeIndex){var x=u;switch(v.type){case\"line\":case\"rect\":case\"circle\":f(\"x0\",x.x0-(v.x0shift||0)),f(\"x1\",x.x1-(v.x1shift||0)),f(\"y0\",x.y0-(v.y0shift||0)),f(\"y1\",x.y1-(v.y1shift||0));break;case\"path\":f(\"path\",x.path);break}}}return i===void 0?(h.push(u),h):c?c.getUpdateObj():{}}}}function due(e,t,r){var n=e[0][0],i=t.gd,a=n.getAttribute(\"d\"),o=i._fullLayout.newshape,s=t.plotinfo,l=t.isActiveShape,u=s.xaxis,c=s.yaxis,f=!!s.domain||!s.xaxis,h=!!s.domain||!s.yaxis,d=Slt(r),v=Llt(a,i,s,l),x={editable:!0,visible:o.visible,name:o.name,showlegend:o.showlegend,legend:o.legend,legendwidth:o.legendwidth,legendgroup:o.legendgroup,legendgrouptitle:{text:o.legendgrouptitle.text,font:o.legendgrouptitle.font},legendrank:o.legendrank,label:o.label,xref:f?\"paper\":u._id,yref:h?\"paper\":c._id,layer:o.layer,opacity:o.opacity,line:{color:o.line.color,width:o.line.width,dash:o.line.dash}};d||(x.fillcolor=o.fillcolor,x.fillrule=o.fillrule);var b;if(v.length===1&&(b=v[0]),b&&b.length===5&&r===\"drawrect\")x.type=\"rect\",x.x0=b[0][1],x.y0=b[0][2],x.x1=b[2][1],x.y1=b[2][2];else if(b&&r===\"drawline\")x.type=\"line\",x.x0=b[0][1],x.y0=b[0][2],x.x1=b[1][1],x.y1=b[1][2];else if(b&&r===\"drawcircle\"){x.type=\"circle\";var p=b[sue][1],E=b[lue][1],k=b[uue][1],A=b[cue][1],L=b[sue][2],_=b[lue][2],C=b[uue][2],M=b[cue][2],g=s.xaxis&&(s.xaxis.type===\"date\"||s.xaxis.type===\"log\"),P=s.yaxis&&(s.yaxis.type===\"date\"||s.yaxis.type===\"log\");g&&(p=f_(s.xaxis,p),E=f_(s.xaxis,E),k=f_(s.xaxis,k),A=f_(s.xaxis,A)),P&&(L=f_(s.yaxis,L),_=f_(s.yaxis,_),C=f_(s.yaxis,C),M=f_(s.yaxis,M));var T=(E+A)/2,F=(L+C)/2,q=(A-E+k-p)/2,V=(M-_+C-L)/2,H=Ilt({x0:T,y0:F,x1:T+q*Mlt,y1:F+V*Elt});g&&(H.x0=WL(s.xaxis,H.x0),H.x1=WL(s.xaxis,H.x1)),P&&(H.y0=WL(s.yaxis,H.y0),H.y1=WL(s.yaxis,H.y1)),x.x0=H.x0,x.y0=H.y0,x.x1=H.x1,x.y1=H.y1}else x.type=\"path\",u&&c&&Rlt(v,u,c),x.path=Plt(v),b=null;return x}vue.exports={newShapes:Dlt,createShapeObj:due}});var VB=ye((lir,pue)=>{\"use strict\";var zlt=Sg(),Flt=zlt.selectMode,qlt=e_(),Olt=qlt.clearOutline,UB=c_(),Blt=UB.readPaths,Nlt=UB.writePaths,Ult=UB.fixDatesForPaths;pue.exports=function(t,r){if(t.length){var n=t[0][0];if(n){var i=n.getAttribute(\"d\"),a=r.gd,o=a._fullLayout.newselection,s=r.plotinfo,l=s.xaxis,u=s.yaxis,c=r.isActiveSelection,f=r.dragmode,h=(a.layout||{}).selections||[];if(!Flt(f)&&c!==void 0){var d=a._fullLayout._activeSelectionIndex;if(d<h.length)switch(a._fullLayout.selections[d].type){case\"rect\":f=\"select\";break;case\"path\":f=\"lasso\";break}}var v=Blt(i,a,s,c),x={xref:l._id,yref:u._id,opacity:o.opacity,line:{color:o.line.color,width:o.line.width,dash:o.line.dash}},b;v.length===1&&(b=v[0]),b&&b.length===5&&f===\"select\"?(x.type=\"rect\",x.x0=b[0][1],x.y0=b[0][2],x.x1=b[2][1],x.y1=b[2][2]):(x.type=\"path\",l&&u&&Ult(v,l,u),x.path=Nlt(v),b=null),Olt(a);for(var p=r.editHelpers,E=(p||{}).modifyItem,k=[],A=0;A<h.length;A++){var L=a._fullLayout.selections[A];if(!L){k[A]=L;continue}if(k[A]=L._input,c!==void 0&&A===a._fullLayout._activeSelectionIndex){var _=x;switch(L.type){case\"rect\":E(\"x0\",_.x0),E(\"x1\",_.x1),E(\"y0\",_.y0),E(\"y1\",_.y1);break;case\"path\":E(\"path\",_.path);break}}}return c===void 0?(k.push(x),k):p?p.getUpdateObj():{}}}}});var cM=ye((uir,gue)=>{\"use strict\";gue.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}});var h_=ye(Ld=>{\"use strict\";var Fb=cM(),mue=Mr(),YL=Qa();Ld.rangeToShapePosition=function(e){return e.type===\"log\"?e.r2d:function(t){return t}};Ld.shapePositionToRange=function(e){return e.type===\"log\"?e.d2r:function(t){return t}};Ld.decodeDate=function(e){return function(t){return t.replace&&(t=t.replace(\"_\",\" \")),e(t)}};Ld.encodeDate=function(e){return function(t){return e(t).replace(\" \",\"_\")}};Ld.extractPathCoords=function(e,t,r){var n=[],i=e.match(Fb.segmentRE);return i.forEach(function(a){var o=t[a.charAt(0)].drawn;if(o!==void 0){var s=a.substr(1).match(Fb.paramRE);if(!(!s||s.length<o)){var l=s[o],u=r?l:mue.cleanNumber(l);n.push(u)}}}),n};Ld.getDataToPixel=function(e,t,r,n,i){var a=e._fullLayout._size,o;if(t)if(i===\"domain\")o=function(l){return t._length*(n?1-l:l)+t._offset};else{var s=Ld.shapePositionToRange(t);o=function(l){var u=fM(t,r);return t._offset+t.r2p(s(l,!0))+u},t.type===\"date\"&&(o=Ld.decodeDate(o))}else n?o=function(l){return a.t+a.h*(1-l)}:o=function(l){return a.l+a.w*l};return o};Ld.getPixelToData=function(e,t,r,n){var i=e._fullLayout._size,a;if(t)if(n===\"domain\")a=function(s){var l=(s-t._offset)/t._length;return r?1-l:l};else{var o=Ld.rangeToShapePosition(t);a=function(s){return o(t.p2r(s-t._offset))}}else r?a=function(s){return 1-(s-i.t)/i.h}:a=function(s){return(s-i.l)/i.w};return a};Ld.roundPositionForSharpStrokeRendering=function(e,t){var r=Math.round(t%2)===1,n=Math.round(e);return r?n+.5:n};Ld.makeShapesOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.shapes[t]||{},n=e._fullLayout._plots[r.xref+r.yref],i=!!n;return i?n._hadPlotinfo=!0:(n={},r.xref&&r.xref!==\"paper\"&&(n.xaxis=e._fullLayout[r.xref+\"axis\"]),r.yref&&r.yref!==\"paper\"&&(n.yaxis=e._fullLayout[r.yref+\"axis\"])),n.xsizemode=r.xsizemode,n.ysizemode=r.ysizemode,n.xanchor=r.xanchor,n.yanchor=r.yanchor,{options:r,plotinfo:n}};Ld.makeSelectionsOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.selections[t]||{},n=e._fullLayout._plots[r.xref+r.yref],i=!!n;return i?n._hadPlotinfo=!0:(n={},r.xref&&(n.xaxis=e._fullLayout[r.xref+\"axis\"]),r.yref&&(n.yaxis=e._fullLayout[r.yref+\"axis\"])),{options:r,plotinfo:n}};Ld.getPathString=function(e,t){var r=t.type,n=YL.getRefType(t.xref),i=YL.getRefType(t.yref),a=YL.getFromId(e,t.xref),o=YL.getFromId(e,t.yref),s=e._fullLayout._size,l,u,c,f,h=fM(a,t.x0shift),d=fM(a,t.x1shift),v=fM(o,t.y0shift),x=fM(o,t.y1shift),b,p,E,k;if(a?n===\"domain\"?u=function(q){return a._offset+a._length*q}:(l=Ld.shapePositionToRange(a),u=function(q){return a._offset+a.r2p(l(q,!0))}):u=function(q){return s.l+s.w*q},o?i===\"domain\"?f=function(q){return o._offset+o._length*(1-q)}:(c=Ld.shapePositionToRange(o),f=function(q){return o._offset+o.r2p(c(q,!0))}):f=function(q){return s.t+s.h*(1-q)},r===\"path\")return a&&a.type===\"date\"&&(u=Ld.decodeDate(u)),o&&o.type===\"date\"&&(f=Ld.decodeDate(f)),Vlt(t,u,f);if(t.xsizemode===\"pixel\"){var A=u(t.xanchor);b=A+t.x0+h,p=A+t.x1+d}else b=u(t.x0)+h,p=u(t.x1)+d;if(t.ysizemode===\"pixel\"){var L=f(t.yanchor);E=L-t.y0+v,k=L-t.y1+x}else E=f(t.y0)+v,k=f(t.y1)+x;if(r===\"line\")return\"M\"+b+\",\"+E+\"L\"+p+\",\"+k;if(r===\"rect\")return\"M\"+b+\",\"+E+\"H\"+p+\"V\"+k+\"H\"+b+\"Z\";var _=(b+p)/2,C=(E+k)/2,M=Math.abs(_-b),g=Math.abs(C-E),P=\"A\"+M+\",\"+g,T=_+M+\",\"+C,F=_+\",\"+(C-g);return\"M\"+T+P+\" 0 1,1 \"+F+P+\" 0 0,1 \"+T+\"Z\"};function Vlt(e,t,r){var n=e.path,i=e.xsizemode,a=e.ysizemode,o=e.xanchor,s=e.yanchor;return n.replace(Fb.segmentRE,function(l){var u=0,c=l.charAt(0),f=Fb.paramIsX[c],h=Fb.paramIsY[c],d=Fb.numParams[c],v=l.substr(1).replace(Fb.paramRE,function(x){return f[u]?i===\"pixel\"?x=t(o)+Number(x):x=t(x):h[u]&&(a===\"pixel\"?x=r(s)-Number(x):x=r(x)),u++,u>d&&(x=\"X\"),x});return u>d&&(v=v.replace(/[\\s,]*X.*/,\"\"),mue.log(\"Ignoring extra params in segment \"+l)),c+v})}function fM(e,t){t=t||0;var r=0;return t&&e&&(e.type===\"category\"||e.type===\"multicategory\")&&(r=(e.r2p(1)-e.r2p(0))*t),r}});var GB=ye((fir,bue)=>{\"use strict\";var Hlt=Mr(),G3=Qa(),yue=Pl(),_ue=ao(),Glt=c_().readPaths,HB=h_(),jlt=HB.getPathString,xue=b6(),Wlt=Nh().FROM_TL;bue.exports=function(t,r,n,i){if(i.selectAll(\".shape-label\").remove(),!!(n.label.text||n.label.texttemplate)){var a;if(n.label.texttemplate){var o={};if(n.type!==\"path\"){var s=G3.getFromId(t,n.xref),l=G3.getFromId(t,n.yref);for(var u in xue){var c=xue[u](n,s,l);c!==void 0&&(o[u]=c)}}a=Hlt.texttemplateStringForShapes(n.label.texttemplate,{},t._fullLayout._d3locale,o)}else a=n.label.text;var f={\"data-index\":r},h=n.label.font,d={\"data-notex\":1},v=i.append(\"g\").attr(f).classed(\"shape-label\",!0),x=v.append(\"text\").attr(d).classed(\"shape-label-text\",!0).text(a),b,p,E,k;if(n.path){var A=jlt(t,n),L=Glt(A,t);b=1/0,E=1/0,p=-1/0,k=-1/0;for(var _=0;_<L.length;_++)for(var C=0;C<L[_].length;C++)for(var M=L[_][C],g=1;g<M.length;g+=2){var P=M[g],T=M[g+1];b=Math.min(b,P),p=Math.max(p,P),E=Math.min(E,T),k=Math.max(k,T)}}else{var F=G3.getFromId(t,n.xref),q=n.x0shift,V=n.x1shift,H=G3.getRefType(n.xref),X=G3.getFromId(t,n.yref),G=n.y0shift,N=n.y1shift,W=G3.getRefType(n.yref),re=function(Ee,Ae){var ze=HB.getDataToPixel(t,F,Ae,!1,H);return ze(Ee)},ae=function(Ee,Ae){var ze=HB.getDataToPixel(t,X,Ae,!0,W);return ze(Ee)};b=re(n.x0,q),p=re(n.x1,V),E=ae(n.y0,G),k=ae(n.y1,N)}var _e=n.label.textangle;_e===\"auto\"&&(n.type===\"line\"?_e=Zlt(b,E,p,k):_e=0),x.call(function(Ee){return Ee.call(_ue.font,h).attr({}),yue.convertToTspans(Ee,t),Ee});var Me=_ue.bBox(x.node()),ke=Xlt(b,E,p,k,n,_e,Me),ge=ke.textx,ie=ke.texty,Te=ke.xanchor;x.attr({\"text-anchor\":{left:\"start\",center:\"middle\",right:\"end\"}[Te],y:ie,x:ge,transform:\"rotate(\"+_e+\",\"+ge+\",\"+ie+\")\"}).call(yue.positionText,ge,ie)}};function Zlt(e,t,r,n){var i,a;return a=Math.abs(r-e),r>=e?i=t-n:i=n-t,-180/Math.PI*Math.atan2(i,a)}function Xlt(e,t,r,n,i,a,o){var s=i.label.textposition,l=i.label.textangle,u=i.label.padding,c=i.type,f=Math.PI/180*a,h=Math.sin(f),d=Math.cos(f),v=i.label.xanchor,x=i.label.yanchor,b,p,E,k;if(c===\"line\"){s===\"start\"?(b=e,p=t):s===\"end\"?(b=r,p=n):(b=(e+r)/2,p=(t+n)/2),v===\"auto\"&&(s===\"start\"?l===\"auto\"?r>e?v=\"left\":r<e?v=\"right\":v=\"center\":r>e?v=\"right\":r<e?v=\"left\":v=\"center\":s===\"end\"?l===\"auto\"?r>e?v=\"right\":r<e?v=\"left\":v=\"center\":r>e?v=\"left\":r<e?v=\"right\":v=\"center\":v=\"center\");var A={left:1,center:0,right:-1},L={bottom:-1,middle:0,top:1};if(l===\"auto\"){var _=L[x];E=-u*h*_,k=u*d*_}else{var C=A[v],M=L[x];E=u*C,k=u*M}b=b+E,p=p+k}else E=u+3,s.indexOf(\"right\")!==-1?(b=Math.max(e,r)-E,v===\"auto\"&&(v=\"right\")):s.indexOf(\"left\")!==-1?(b=Math.min(e,r)+E,v===\"auto\"&&(v=\"left\")):(b=(e+r)/2,v===\"auto\"&&(v=\"center\")),s.indexOf(\"top\")!==-1?p=Math.min(t,n):s.indexOf(\"bottom\")!==-1?p=Math.max(t,n):p=(t+n)/2,k=u,x===\"bottom\"?p=p-k:x===\"top\"&&(p=p+k);var g=Wlt[x],P=i.label.font.size,T=o.height,F=(T*g-P)*h,q=-(T*g-P)*d;return{textx:b+F,texty:p+q,xanchor:v}}});var $L=ye((hir,Cue)=>{\"use strict\";var Ylt=Mr(),Klt=Ylt.strTranslate,wue=gv(),Sue=Sg(),Jlt=Sue.drawMode,Mue=Sue.selectMode,Eue=ba(),Tue=va(),JL=HL(),$lt=JL.i000,Qlt=JL.i090,eut=JL.i180,tut=JL.i270,rut=e_(),kue=rut.clearOutlineControllers,WB=c_(),KL=WB.pointsOnRectangle,jB=WB.pointsOnEllipse,iut=WB.writePaths,nut=XL().newShapes,aut=XL().createShapeObj,out=VB(),sut=GB();Cue.exports=function e(t,r,n,i){i||(i=0);var a=n.gd;function o(){e(t,r,n,i++),(jB(t[0])||n.hasText)&&s({redrawing:!0})}function s(G){var N={};n.isActiveShape!==void 0&&(n.isActiveShape=!1,N=nut(r,n)),n.isActiveSelection!==void 0&&(n.isActiveSelection=!1,N=out(r,n),a._fullLayout._reselect=!0),Object.keys(N).length&&Eue.call((G||{}).redrawing?\"relayout\":\"_guiRelayout\",a,N)}var l=a._fullLayout,u=l._zoomlayer,c=n.dragmode,f=Jlt(c),h=Mue(c);(f||h)&&(a._fullLayout._outlining=!0),kue(a),r.attr(\"d\",iut(t));var d,v,x,b,p;if(!i&&(n.isActiveShape||n.isActiveSelection)){p=lut([],t);var E=u.append(\"g\").attr(\"class\",\"outline-controllers\");P(E),X()}if(f&&n.hasText){var k=u.select(\".label-temp\"),A=aut(r,n,n.dragmode);sut(a,\"label-temp\",A,k)}function L(G){x=+G.srcElement.getAttribute(\"data-i\"),b=+G.srcElement.getAttribute(\"data-j\"),d[x][b].moveFn=_}function _(G,N){if(t.length){var W=p[x][b][1],re=p[x][b][2],ae=t[x],_e=ae.length;if(KL(ae)){var Me=G,ke=N;if(n.isActiveSelection){var ge=Aue(ae,b);ge[1]===ae[b][1]?ke=0:Me=0}for(var ie=0;ie<_e;ie++)if(ie!==b){var Te=ae[ie];Te[1]===ae[b][1]&&(Te[1]=W+Me),Te[2]===ae[b][2]&&(Te[2]=re+ke)}if(ae[b][1]=W+Me,ae[b][2]=re+ke,!KL(ae))for(var Ee=0;Ee<_e;Ee++)for(var Ae=0;Ae<ae[Ee].length;Ae++)ae[Ee][Ae]=p[x][Ee][Ae]}else ae[b][1]=W+G,ae[b][2]=re+N;o()}}function C(){s()}function M(){if(t.length&&t[x]&&t[x].length){for(var G=[],N=0;N<t[x].length;N++)N!==b&&G.push(t[x][N]);G.length>1&&!(G.length===2&&G[1][0]===\"Z\")&&(b===0&&(G[0][0]=\"M\"),t[x]=G,o(),s())}}function g(G,N){if(G===2){x=+N.srcElement.getAttribute(\"data-i\"),b=+N.srcElement.getAttribute(\"data-j\");var W=t[x];!KL(W)&&!jB(W)&&M()}}function P(G){d=[];for(var N=0;N<t.length;N++){var W=t[N],re=KL(W),ae=!re&&jB(W);d[N]=[];for(var _e=W.length,Me=0;Me<_e;Me++)if(W[Me][0]!==\"Z\"&&!(ae&&Me!==$lt&&Me!==Qlt&&Me!==eut&&Me!==tut)){var ke=re&&n.isActiveSelection,ge;ke&&(ge=Aue(W,Me));var ie=W[Me][1],Te=W[Me][2],Ee=G.append(ke?\"rect\":\"circle\").attr(\"data-i\",N).attr(\"data-j\",Me).style({fill:Tue.background,stroke:Tue.defaultLine,\"stroke-width\":1,\"shape-rendering\":\"crispEdges\"});if(ke){var Ae=ge[1]-ie,ze=ge[2]-Te,Ce=ze?5:Math.max(Math.min(25,Math.abs(Ae)-5),5),me=Ae?5:Math.max(Math.min(25,Math.abs(ze)-5),5);Ee.classed(ze?\"cursor-ew-resize\":\"cursor-ns-resize\",!0).attr(\"width\",Ce).attr(\"height\",me).attr(\"x\",ie-Ce/2).attr(\"y\",Te-me/2).attr(\"transform\",Klt(Ae/2,ze/2))}else Ee.classed(\"cursor-grab\",!0).attr(\"r\",5).attr(\"cx\",ie).attr(\"cy\",Te);d[N][Me]={element:Ee.node(),gd:a,prepFn:L,doneFn:C,clickFn:g},wue.init(d[N][Me])}}}function T(G,N){if(t.length)for(var W=0;W<t.length;W++)for(var re=0;re<t[W].length;re++)for(var ae=0;ae+2<t[W][re].length;ae+=2)t[W][re][ae+1]=p[W][re][ae+1]+G,t[W][re][ae+2]=p[W][re][ae+2]+N}function F(G,N){T(G,N),o()}function q(G){x=+G.srcElement.getAttribute(\"data-i\"),x||(x=0),v[x].moveFn=F}function V(){s()}function H(G){G===2&&uut(a)}function X(){if(v=[],!!t.length){var G=0;v[G]={element:r[0][0],gd:a,prepFn:q,doneFn:V,clickFn:H},wue.init(v[G])}}};function lut(e,t){for(var r=0;r<t.length;r++){var n=t[r];e[r]=[];for(var i=0;i<n.length;i++){e[r][i]=[];for(var a=0;a<n[i].length;a++)e[r][i][a]=n[i][a]}}return e}function Aue(e,t){var r=e[t][1],n=e[t][2],i=e.length,a,o,s;return a=(t+1)%i,o=e[a][1],s=e[a][2],o===r&&s===n&&(a=(t+2)%i,o=e[a][1],s=e[a][2]),[a,o,s]}function uut(e){if(Mue(e._fullLayout.dragmode)){kue(e);var t=e._fullLayout._activeSelectionIndex,r=(e.layout||{}).selections||[];if(t<r.length){for(var n=[],i=0;i<r.length;i++)i!==t&&n.push(r[i]);delete e._fullLayout._activeSelectionIndex;var a=e._fullLayout.selections[t];e._fullLayout._deselect={xref:a.xref,yref:a.yref},Eue.call(\"_guiRelayout\",e,{selections:n})}}}});var rP=ye((dir,Bue)=>{\"use strict\";var cut=xa(),zue=ba(),Lue=Mr(),j3=Qa(),fut=c_().readPaths,hut=$L(),eP=GB(),Fue=e_().clearOutlineControllers,ZB=va(),YB=ao(),dut=Vs().arrayEditor,Pue=gv(),Iue=Tg(),qb=cM(),Mp=h_(),XB=Mp.getPathString;Bue.exports={draw:KB,drawOne:que,eraseActiveShape:gut,drawLabel:eP};function KB(e){var t=e._fullLayout;t._shapeUpperLayer.selectAll(\"path\").remove(),t._shapeLowerLayer.selectAll(\"path\").remove(),t._shapeUpperLayer.selectAll(\"text\").remove(),t._shapeLowerLayer.selectAll(\"text\").remove();for(var r in t._plots){var n=t._plots[r].shapelayer;n&&(n.selectAll(\"path\").remove(),n.selectAll(\"text\").remove())}for(var i=0;i<t.shapes.length;i++)t.shapes[i].visible===!0&&que(e,i)}function QL(e){return!!e._fullLayout._outlining}function tP(e){return!e._context.edits.shapePosition}function que(e,t){e._fullLayout._paperdiv.selectAll('.shapelayer [data-index=\"'+t+'\"]').remove();var r=Mp.makeShapesOptionsAndPlotinfo(e,t),n=r.options,i=r.plotinfo;if(!n._input||n.visible!==!0)return;if(n.layer===\"above\")o(e._fullLayout._shapeUpperLayer);else if(n.xref===\"paper\"||n.yref===\"paper\")o(e._fullLayout._shapeLowerLayer);else if(n.layer===\"between\")o(i.shapelayerBetween);else if(i._hadPlotinfo){var a=i.mainplotinfo||i;o(a.shapelayer)}else o(e._fullLayout._shapeLowerLayer);function o(s){var l=XB(e,n),u={\"data-index\":t,\"fill-rule\":n.fillrule,d:l},c=n.opacity,f=n.fillcolor,h=n.line.width?n.line.color:\"rgba(0,0,0,0)\",d=n.line.width,v=n.line.dash;!d&&n.editable===!0&&(d=5,v=\"solid\");var x=l[l.length-1]!==\"Z\",b=tP(e)&&n.editable&&e._fullLayout._activeShapeIndex===t;b&&(f=x?\"rgba(0,0,0,0)\":e._fullLayout.activeshape.fillcolor,c=e._fullLayout.activeshape.opacity);var p=s.append(\"g\").classed(\"shape-group\",!0).attr({\"data-index\":t}),E=p.append(\"path\").attr(u).style(\"opacity\",c).call(ZB.stroke,h).call(ZB.fill,f).call(YB.dashLine,v,d);Oue(p,e,n),eP(e,t,n,p);var k;if((b||e._context.edits.shapePosition)&&(k=dut(e.layout,\"shapes\",n)),b){E.style({cursor:\"move\"});var A={element:E.node(),plotinfo:i,gd:e,editHelpers:k,hasText:n.label.text||n.label.texttemplate,isActiveShape:!0},L=fut(l,e);hut(L,E,A)}else e._context.edits.shapePosition?vut(e,E,n,t,s,k):n.editable===!0&&E.style(\"pointer-events\",x||ZB.opacity(f)*c<=.5?\"stroke\":\"all\");E.node().addEventListener(\"click\",function(){return put(e,E)})}}function Oue(e,t,r){var n=(r.xref+r.yref).replace(/paper/g,\"\").replace(/[xyz][1-9]* *domain/g,\"\");YB.setClipUrl(e,n?\"clip\"+t._fullLayout._uid+n:null,t)}function vut(e,t,r,n,i,a){var o=10,s=10,l=r.xsizemode===\"pixel\",u=r.ysizemode===\"pixel\",c=r.type===\"line\",f=r.type===\"path\",h=a.modifyItem,d,v,x,b,p,E,k,A,L,_,C,M,g,P,T,F=cut.select(t.node().parentNode),q=j3.getFromId(e,r.xref),V=j3.getRefType(r.xref),H=j3.getFromId(e,r.yref),X=j3.getRefType(r.yref),G=r.x0shift,N=r.x1shift,W=r.y0shift,re=r.y1shift,ae=function(rt,ot){var Rt=Mp.getDataToPixel(e,q,ot,!1,V);return Rt(rt)},_e=function(rt,ot){var Rt=Mp.getDataToPixel(e,H,ot,!0,X);return Rt(rt)},Me=Mp.getPixelToData(e,q,!1,V),ke=Mp.getPixelToData(e,H,!0,X),ge=Ee(),ie={element:ge.node(),gd:e,prepFn:Ce,doneFn:me,clickFn:Re},Te;Pue.init(ie),ge.node().onmousemove=ze;function Ee(){return c?Ae():t}function Ae(){var rt=10,ot=Math.max(r.line.width,rt),Rt=i.append(\"g\").attr(\"data-index\",n).attr(\"drag-helper\",!0);Rt.append(\"path\").attr(\"d\",t.attr(\"d\")).style({cursor:\"move\",\"stroke-width\":ot,\"stroke-opacity\":\"0\"});var kt={\"fill-opacity\":\"0\"},Ct=Math.max(ot/2,rt);return Rt.append(\"circle\").attr({\"data-line-point\":\"start-point\",cx:l?ae(r.xanchor)+r.x0:ae(r.x0,G),cy:u?_e(r.yanchor)-r.y0:_e(r.y0,W),r:Ct}).style(kt).classed(\"cursor-grab\",!0),Rt.append(\"circle\").attr({\"data-line-point\":\"end-point\",cx:l?ae(r.xanchor)+r.x1:ae(r.x1,N),cy:u?_e(r.yanchor)-r.y1:_e(r.y1,re),r:Ct}).style(kt).classed(\"cursor-grab\",!0),Rt}function ze(rt){if(QL(e)){Te=null;return}if(c)rt.target.tagName===\"path\"?Te=\"move\":Te=rt.target.attributes[\"data-line-point\"].value===\"start-point\"?\"resize-over-start-point\":\"resize-over-end-point\";else{var ot=ie.element.getBoundingClientRect(),Rt=ot.right-ot.left,kt=ot.bottom-ot.top,Ct=rt.clientX-ot.left,Yt=rt.clientY-ot.top,xr=!f&&Rt>o&&kt>s&&!rt.shiftKey?Pue.getCursor(Ct/Rt,1-Yt/kt):\"move\";Iue(t,xr),Te=xr.split(\"-\")[0]}}function Ce(rt){QL(e)||(l&&(p=ae(r.xanchor)),u&&(E=_e(r.yanchor)),r.type===\"path\"?T=r.path:(d=l?r.x0:ae(r.x0),v=u?r.y0:_e(r.y0),x=l?r.x1:ae(r.x1),b=u?r.y1:_e(r.y1)),d<x?(L=d,g=\"x0\",_=x,P=\"x1\"):(L=x,g=\"x1\",_=d,P=\"x0\"),!u&&v<b||u&&v>b?(k=v,C=\"y0\",A=b,M=\"y1\"):(k=b,C=\"y1\",A=v,M=\"y0\"),ze(rt),nt(i,r),qt(t,r,e),ie.moveFn=Te===\"move\"?ce:Ge,ie.altKey=rt.altKey)}function me(){QL(e)||(Iue(t),ct(i),Oue(t,e,r),zue.call(\"_guiRelayout\",e,a.getUpdateObj()))}function Re(){QL(e)||ct(i)}function ce(rt,ot){if(r.type===\"path\"){var Rt=function(Yt){return Yt},kt=Rt,Ct=Rt;l?h(\"xanchor\",r.xanchor=Me(p+rt)):(kt=function(xr){return Me(ae(xr)+rt)},q&&q.type===\"date\"&&(kt=Mp.encodeDate(kt))),u?h(\"yanchor\",r.yanchor=ke(E+ot)):(Ct=function(xr){return ke(_e(xr)+ot)},H&&H.type===\"date\"&&(Ct=Mp.encodeDate(Ct))),h(\"path\",r.path=Rue(T,kt,Ct))}else l?h(\"xanchor\",r.xanchor=Me(p+rt)):(h(\"x0\",r.x0=Me(d+rt)),h(\"x1\",r.x1=Me(x+rt))),u?h(\"yanchor\",r.yanchor=ke(E+ot)):(h(\"y0\",r.y0=ke(v+ot)),h(\"y1\",r.y1=ke(b+ot)));t.attr(\"d\",XB(e,r)),nt(i,r),eP(e,n,r,F)}function Ge(rt,ot){if(f){var Rt=function(_r){return _r},kt=Rt,Ct=Rt;l?h(\"xanchor\",r.xanchor=Me(p+rt)):(kt=function(Br){return Me(ae(Br)+rt)},q&&q.type===\"date\"&&(kt=Mp.encodeDate(kt))),u?h(\"yanchor\",r.yanchor=ke(E+ot)):(Ct=function(Br){return ke(_e(Br)+ot)},H&&H.type===\"date\"&&(Ct=Mp.encodeDate(Ct))),h(\"path\",r.path=Rue(T,kt,Ct))}else if(c){if(Te===\"resize-over-start-point\"){var Yt=d+rt,xr=u?v-ot:v+ot;h(\"x0\",r.x0=l?Yt:Me(Yt)),h(\"y0\",r.y0=u?xr:ke(xr))}else if(Te===\"resize-over-end-point\"){var er=x+rt,Ke=u?b-ot:b+ot;h(\"x1\",r.x1=l?er:Me(er)),h(\"y1\",r.y1=u?Ke:ke(Ke))}}else{var xt=function(_r){return Te.indexOf(_r)!==-1},bt=xt(\"n\"),Lt=xt(\"s\"),St=xt(\"w\"),Et=xt(\"e\"),dt=bt?k+ot:k,Ht=Lt?A+ot:A,$t=St?L+rt:L,fr=Et?_+rt:_;u&&(bt&&(dt=k-ot),Lt&&(Ht=A-ot)),(!u&&Ht-dt>s||u&&dt-Ht>s)&&(h(C,r[C]=u?dt:ke(dt)),h(M,r[M]=u?Ht:ke(Ht))),fr-$t>o&&(h(g,r[g]=l?$t:Me($t)),h(P,r[P]=l?fr:Me(fr)))}t.attr(\"d\",XB(e,r)),nt(i,r),eP(e,n,r,F)}function nt(rt,ot){(l||u)&&Rt();function Rt(){var kt=ot.type!==\"path\",Ct=rt.selectAll(\".visual-cue\").data([0]),Yt=1;Ct.enter().append(\"path\").attr({fill:\"#fff\",\"fill-rule\":\"evenodd\",stroke:\"#000\",\"stroke-width\":Yt}).classed(\"visual-cue\",!0);var xr=ae(l?ot.xanchor:Lue.midRange(kt?[ot.x0,ot.x1]:Mp.extractPathCoords(ot.path,qb.paramIsX))),er=_e(u?ot.yanchor:Lue.midRange(kt?[ot.y0,ot.y1]:Mp.extractPathCoords(ot.path,qb.paramIsY)));if(xr=Mp.roundPositionForSharpStrokeRendering(xr,Yt),er=Mp.roundPositionForSharpStrokeRendering(er,Yt),l&&u){var Ke=\"M\"+(xr-1-Yt)+\",\"+(er-1-Yt)+\"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z\";Ct.attr(\"d\",Ke)}else if(l){var xt=\"M\"+(xr-1-Yt)+\",\"+(er-9-Yt)+\"v18 h2 v-18 Z\";Ct.attr(\"d\",xt)}else{var bt=\"M\"+(xr-9-Yt)+\",\"+(er-1-Yt)+\"h18 v2 h-18 Z\";Ct.attr(\"d\",bt)}}}function ct(rt){rt.selectAll(\".visual-cue\").remove()}function qt(rt,ot,Rt){var kt=ot.xref,Ct=ot.yref,Yt=j3.getFromId(Rt,kt),xr=j3.getFromId(Rt,Ct),er=\"\";kt!==\"paper\"&&!Yt.autorange&&(er+=kt),Ct!==\"paper\"&&!xr.autorange&&(er+=Ct),YB.setClipUrl(rt,er?\"clip\"+Rt._fullLayout._uid+er:null,Rt)}}function Rue(e,t,r){return e.replace(qb.segmentRE,function(n){var i=0,a=n.charAt(0),o=qb.paramIsX[a],s=qb.paramIsY[a],l=qb.numParams[a],u=n.substr(1).replace(qb.paramRE,function(c){return i>=l||(o[i]?c=t(c):s[i]&&(c=r(c)),i++),c});return a+u})}function put(e,t){if(tP(e)){var r=t.node(),n=+r.getAttribute(\"data-index\");if(n>=0){if(n===e._fullLayout._activeShapeIndex){Due(e);return}e._fullLayout._activeShapeIndex=n,e._fullLayout._deactivateShape=Due,KB(e)}}}function Due(e){if(tP(e)){var t=e._fullLayout._activeShapeIndex;t>=0&&(Fue(e),delete e._fullLayout._activeShapeIndex,KB(e))}}function gut(e){if(tP(e)){Fue(e);var t=e._fullLayout._activeShapeIndex,r=(e.layout||{}).shapes||[];if(t<r.length){for(var n=[],i=0;i<r.length;i++)i!==t&&n.push(r[i]);return delete e._fullLayout._activeShapeIndex,zue.call(\"_guiRelayout\",e,{shapes:n})}}}});var QB=ye((vir,Xue)=>{\"use strict\";var S0=ba(),Nue=Xu(),Uue=af(),al=UL(),mut=rP().eraseActiveShape,iP=Mr(),Os=iP._,ol=Xue.exports={};ol.toImage={name:\"toImage\",title:function(e){var t=e._context.toImageButtonOptions||{},r=t.format||\"png\";return r===\"png\"?Os(e,\"Download plot as a png\"):Os(e,\"Download plot\")},icon:al.camera,click:function(e){var t=e._context.toImageButtonOptions,r={format:t.format||\"png\"};iP.notifier(Os(e,\"Taking snapshot - this may take a few seconds\"),\"long\"),[\"filename\",\"width\",\"height\",\"scale\"].forEach(function(n){n in t&&(r[n]=t[n])}),S0.call(\"downloadImage\",e,r).then(function(n){iP.notifier(Os(e,\"Snapshot succeeded\")+\" - \"+n,\"long\")}).catch(function(){iP.notifier(Os(e,\"Sorry, there was a problem downloading your snapshot!\"),\"long\")})}};ol.sendDataToCloud={name:\"sendDataToCloud\",title:function(e){return Os(e,\"Edit in Chart Studio\")},icon:al.disk,click:function(e){Nue.sendDataToCloud(e)}};ol.editInChartStudio={name:\"editInChartStudio\",title:function(e){return Os(e,\"Edit in Chart Studio\")},icon:al.pencil,click:function(e){Nue.sendDataToCloud(e)}};ol.zoom2d={name:\"zoom2d\",_cat:\"zoom\",title:function(e){return Os(e,\"Zoom\")},attr:\"dragmode\",val:\"zoom\",icon:al.zoombox,click:Ov};ol.pan2d={name:\"pan2d\",_cat:\"pan\",title:function(e){return Os(e,\"Pan\")},attr:\"dragmode\",val:\"pan\",icon:al.pan,click:Ov};ol.select2d={name:\"select2d\",_cat:\"select\",title:function(e){return Os(e,\"Box Select\")},attr:\"dragmode\",val:\"select\",icon:al.selectbox,click:Ov};ol.lasso2d={name:\"lasso2d\",_cat:\"lasso\",title:function(e){return Os(e,\"Lasso Select\")},attr:\"dragmode\",val:\"lasso\",icon:al.lasso,click:Ov};ol.drawclosedpath={name:\"drawclosedpath\",title:function(e){return Os(e,\"Draw closed freeform\")},attr:\"dragmode\",val:\"drawclosedpath\",icon:al.drawclosedpath,click:Ov};ol.drawopenpath={name:\"drawopenpath\",title:function(e){return Os(e,\"Draw open freeform\")},attr:\"dragmode\",val:\"drawopenpath\",icon:al.drawopenpath,click:Ov};ol.drawline={name:\"drawline\",title:function(e){return Os(e,\"Draw line\")},attr:\"dragmode\",val:\"drawline\",icon:al.drawline,click:Ov};ol.drawrect={name:\"drawrect\",title:function(e){return Os(e,\"Draw rectangle\")},attr:\"dragmode\",val:\"drawrect\",icon:al.drawrect,click:Ov};ol.drawcircle={name:\"drawcircle\",title:function(e){return Os(e,\"Draw circle\")},attr:\"dragmode\",val:\"drawcircle\",icon:al.drawcircle,click:Ov};ol.eraseshape={name:\"eraseshape\",title:function(e){return Os(e,\"Erase active shape\")},icon:al.eraseshape,click:mut};ol.zoomIn2d={name:\"zoomIn2d\",_cat:\"zoomin\",title:function(e){return Os(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:al.zoom_plus,click:Ov};ol.zoomOut2d={name:\"zoomOut2d\",_cat:\"zoomout\",title:function(e){return Os(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:al.zoom_minus,click:Ov};ol.autoScale2d={name:\"autoScale2d\",_cat:\"autoscale\",title:function(e){return Os(e,\"Autoscale\")},attr:\"zoom\",val:\"auto\",icon:al.autoscale,click:Ov};ol.resetScale2d={name:\"resetScale2d\",_cat:\"resetscale\",title:function(e){return Os(e,\"Reset axes\")},attr:\"zoom\",val:\"reset\",icon:al.home,click:Ov};ol.hoverClosestCartesian={name:\"hoverClosestCartesian\",_cat:\"hoverclosest\",title:function(e){return Os(e,\"Show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:al.tooltip_basic,gravity:\"ne\",click:Ov};ol.hoverCompareCartesian={name:\"hoverCompareCartesian\",_cat:\"hoverCompare\",title:function(e){return Os(e,\"Compare data on hover\")},attr:\"hovermode\",val:function(e){return e._fullLayout._isHoriz?\"y\":\"x\"},icon:al.tooltip_compare,gravity:\"ne\",click:Ov};function Ov(e,t){var r=t.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=e._fullLayout,o={},s=Uue.list(e,null,!0),l=a._cartesianSpikesEnabled,u,c;if(n===\"zoom\"){var f=i===\"in\"?.5:2,h=(1+f)/2,d=(1-f)/2,v;for(c=0;c<s.length;c++)if(u=s[c],!u.fixedrange)if(v=u._name,i===\"auto\")o[v+\".autorange\"]=!0;else if(i===\"reset\")u._rangeInitial0===void 0&&u._rangeInitial1===void 0?o[v+\".autorange\"]=!0:u._rangeInitial0===void 0?(o[v+\".autorange\"]=u._autorangeInitial,o[v+\".range\"]=[null,u._rangeInitial1]):u._rangeInitial1===void 0?(o[v+\".range\"]=[u._rangeInitial0,null],o[v+\".autorange\"]=u._autorangeInitial):o[v+\".range\"]=[u._rangeInitial0,u._rangeInitial1],u._showSpikeInitial!==void 0&&(o[v+\".showspikes\"]=u._showSpikeInitial,l===\"on\"&&!u._showSpikeInitial&&(l=\"off\"));else{var x=[u.r2l(u.range[0]),u.r2l(u.range[1])],b=[h*x[0]+d*x[1],h*x[1]+d*x[0]];o[v+\".range[0]\"]=u.l2r(b[0]),o[v+\".range[1]\"]=u.l2r(b[1])}}else n===\"hovermode\"&&(i===\"x\"||i===\"y\")&&(i=a._isHoriz?\"y\":\"x\",r.setAttribute(\"data-val\",i)),o[n]=i;a._cartesianSpikesEnabled=l,S0.call(\"_guiRelayout\",e,o)}ol.zoom3d={name:\"zoom3d\",_cat:\"zoom\",title:function(e){return Os(e,\"Zoom\")},attr:\"scene.dragmode\",val:\"zoom\",icon:al.zoombox,click:nP};ol.pan3d={name:\"pan3d\",_cat:\"pan\",title:function(e){return Os(e,\"Pan\")},attr:\"scene.dragmode\",val:\"pan\",icon:al.pan,click:nP};ol.orbitRotation={name:\"orbitRotation\",title:function(e){return Os(e,\"Orbital rotation\")},attr:\"scene.dragmode\",val:\"orbit\",icon:al[\"3d_rotate\"],click:nP};ol.tableRotation={name:\"tableRotation\",title:function(e){return Os(e,\"Turntable rotation\")},attr:\"scene.dragmode\",val:\"turntable\",icon:al[\"z-axis\"],click:nP};function nP(e,t){for(var r=t.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=e._fullLayout._subplots.gl3d||[],o={},s=n.split(\".\"),l=0;l<a.length;l++)o[a[l]+\".\"+s[1]]=i;var u=i===\"pan\"?i:\"zoom\";o.dragmode=u,S0.call(\"_guiRelayout\",e,o)}ol.resetCameraDefault3d={name:\"resetCameraDefault3d\",_cat:\"resetCameraDefault\",title:function(e){return Os(e,\"Reset camera to default\")},attr:\"resetDefault\",icon:al.home,click:JB};ol.resetCameraLastSave3d={name:\"resetCameraLastSave3d\",_cat:\"resetCameraLastSave\",title:function(e){return Os(e,\"Reset camera to last save\")},attr:\"resetLastSave\",icon:al.movie,click:JB};function JB(e,t){for(var r=t.currentTarget,n=r.getAttribute(\"data-attr\"),i=n===\"resetLastSave\",a=n===\"resetDefault\",o=e._fullLayout,s=o._subplots.gl3d||[],l={},u=0;u<s.length;u++){var c=s[u],f=c+\".camera\",h=c+\".aspectratio\",d=c+\".aspectmode\",v=o[c]._scene,x;i?(l[f+\".up\"]=v.viewInitial.up,l[f+\".eye\"]=v.viewInitial.eye,l[f+\".center\"]=v.viewInitial.center,x=!0):a&&(l[f+\".up\"]=null,l[f+\".eye\"]=null,l[f+\".center\"]=null,x=!0),x&&(l[h+\".x\"]=v.viewInitial.aspectratio.x,l[h+\".y\"]=v.viewInitial.aspectratio.y,l[h+\".z\"]=v.viewInitial.aspectratio.z,l[d]=v.viewInitial.aspectmode)}S0.call(\"_guiRelayout\",e,l)}ol.hoverClosest3d={name:\"hoverClosest3d\",_cat:\"hoverclosest\",title:function(e){return Os(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:al.tooltip_basic,gravity:\"ne\",click:yut};function Vue(e,t){var r=t.currentTarget,n=r._previousVal,i=e._fullLayout,a=i._subplots.gl3d||[],o=[\"xaxis\",\"yaxis\",\"zaxis\"],s={},l={};if(n)l=n,r._previousVal=null;else{for(var u=0;u<a.length;u++){var c=a[u],f=i[c],h=c+\".hovermode\";s[h]=f.hovermode,l[h]=!1;for(var d=0;d<3;d++){var v=o[d],x=c+\".\"+v+\".showspikes\";l[x]=!1,s[x]=f[v].showspikes}}r._previousVal=s}return l}function yut(e,t){var r=Vue(e,t);S0.call(\"_guiRelayout\",e,r)}ol.zoomInGeo={name:\"zoomInGeo\",_cat:\"zoomin\",title:function(e){return Os(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:al.zoom_plus,click:$B};ol.zoomOutGeo={name:\"zoomOutGeo\",_cat:\"zoomout\",title:function(e){return Os(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:al.zoom_minus,click:$B};ol.resetGeo={name:\"resetGeo\",_cat:\"reset\",title:function(e){return Os(e,\"Reset\")},attr:\"reset\",val:null,icon:al.autoscale,click:$B};ol.hoverClosestGeo={name:\"hoverClosestGeo\",_cat:\"hoverclosest\",title:function(e){return Os(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:al.tooltip_basic,gravity:\"ne\",click:Gue};function $B(e,t){for(var r=t.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=e._fullLayout,o=a._subplots.geo||[],s=0;s<o.length;s++){var l=o[s],u=a[l];if(n===\"zoom\"){var c=u.projection.scale,f=i===\"in\"?2*c:.5*c;S0.call(\"_guiRelayout\",e,l+\".projection.scale\",f)}}n===\"reset\"&&W3(e,\"geo\")}ol.hoverClosestPie={name:\"hoverClosestPie\",_cat:\"hoverclosest\",title:function(e){return Os(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:al.tooltip_basic,gravity:\"ne\",click:Gue};function Hue(e){var t=e._fullLayout;return t.hovermode?!1:t._has(\"cartesian\")?t._isHoriz?\"y\":\"x\":\"closest\"}function Gue(e){var t=Hue(e);S0.call(\"_guiRelayout\",e,\"hovermode\",t)}ol.resetViewSankey={name:\"resetSankeyGroup\",title:function(e){return Os(e,\"Reset view\")},icon:al.home,click:function(e){for(var t={\"node.groups\":[],\"node.x\":[],\"node.y\":[]},r=0;r<e._fullData.length;r++){var n=e._fullData[r]._viewInitial;t[\"node.groups\"].push(n.node.groups.slice()),t[\"node.x\"].push(n.node.x.slice()),t[\"node.y\"].push(n.node.y.slice())}S0.call(\"restyle\",e,t)}};ol.toggleHover={name:\"toggleHover\",title:function(e){return Os(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:al.tooltip_basic,gravity:\"ne\",click:function(e,t){var r=Vue(e,t);r.hovermode=Hue(e),S0.call(\"_guiRelayout\",e,r)}};ol.resetViews={name:\"resetViews\",title:function(e){return Os(e,\"Reset views\")},icon:al.home,click:function(e,t){var r=t.currentTarget;r.setAttribute(\"data-attr\",\"zoom\"),r.setAttribute(\"data-val\",\"reset\"),Ov(e,t),r.setAttribute(\"data-attr\",\"resetLastSave\"),JB(e,t),W3(e,\"geo\"),W3(e,\"mapbox\"),W3(e,\"map\")}};ol.toggleSpikelines={name:\"toggleSpikelines\",title:function(e){return Os(e,\"Toggle Spike Lines\")},icon:al.spikeline,attr:\"_cartesianSpikesEnabled\",val:\"on\",click:function(e){var t=e._fullLayout,r=t._cartesianSpikesEnabled;t._cartesianSpikesEnabled=r===\"on\"?\"off\":\"on\",S0.call(\"_guiRelayout\",e,_ut(e))}};function _ut(e){for(var t=e._fullLayout,r=t._cartesianSpikesEnabled===\"on\",n=Uue.list(e,null,!0),i={},a=0;a<n.length;a++){var o=n[a];i[o._name+\".showspikes\"]=r?!0:o._showSpikeInitial}return i}ol.resetViewMapbox={name:\"resetViewMapbox\",_cat:\"resetView\",title:function(e){return Os(e,\"Reset view\")},attr:\"reset\",icon:al.home,click:function(e){W3(e,\"mapbox\")}};ol.resetViewMap={name:\"resetViewMap\",_cat:\"resetView\",title:function(e){return Os(e,\"Reset view\")},attr:\"reset\",icon:al.home,click:function(e){W3(e,\"map\")}};ol.zoomInMapbox={name:\"zoomInMapbox\",_cat:\"zoomin\",title:function(e){return Os(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:al.zoom_plus,click:jue};ol.zoomInMap={name:\"zoomInMap\",_cat:\"zoomin\",title:function(e){return Os(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:al.zoom_plus,click:Wue};ol.zoomOutMapbox={name:\"zoomOutMapbox\",_cat:\"zoomout\",title:function(e){return Os(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:al.zoom_minus,click:jue};ol.zoomOutMap={name:\"zoomOutMap\",_cat:\"zoomout\",title:function(e){return Os(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:al.zoom_minus,click:Wue};function jue(e,t){Zue(e,t,\"mapbox\")}function Wue(e,t){Zue(e,t,\"map\")}function Zue(e,t,r){for(var n=t.currentTarget,i=n.getAttribute(\"data-val\"),a=e._fullLayout,o=a._subplots[r]||[],s=1.05,l={},u=0;u<o.length;u++){var c=o[u],f=a[c].zoom,h=i===\"in\"?s*f:f/s;l[c+\".zoom\"]=h}S0.call(\"_guiRelayout\",e,l)}function W3(e,t){for(var r=e._fullLayout,n=r._subplots[t]||[],i={},a=0;a<n.length;a++)for(var o=n[a],s=r[o]._subplot,l=s.viewInitial,u=Object.keys(l),c=0;c<u.length;c++){var f=u[c];i[o+\".\"+f]=l[f]}S0.call(\"_guiRelayout\",e,i)}});var eN=ye((pir,$ue)=>{\"use strict\";var Yue=QB(),xut=Object.keys(Yue),Kue=[\"drawline\",\"drawopenpath\",\"drawclosedpath\",\"drawcircle\",\"drawrect\",\"eraseshape\"],Jue=[\"v1hovermode\",\"hoverclosest\",\"hovercompare\",\"togglehover\",\"togglespikelines\"].concat(Kue),Z3=[],but=function(e){if(Jue.indexOf(e._cat||e.name)===-1){var t=e.name,r=(e._cat||e.name).toLowerCase();Z3.indexOf(t)===-1&&Z3.push(t),Z3.indexOf(r)===-1&&Z3.push(r)}};xut.forEach(function(e){but(Yue[e])});Z3.sort();$ue.exports={DRAW_MODES:Kue,backButtons:Jue,foreButtons:Z3}});var tN=ye((mir,Que)=>{\"use strict\";var gir=eN();Que.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\"}}});var tce=ye((yir,ece)=>{\"use strict\";var wut=Mr(),hM=va(),Tut=Vs(),Aut=tN();ece.exports=function(t,r){var n=t.modebar||{},i=Tut.newContainer(r,\"modebar\");function a(s,l){return wut.coerce(n,i,Aut,s,l)}a(\"orientation\"),a(\"bgcolor\",hM.addOpacity(r.paper_bgcolor,.5));var o=hM.contrast(hM.rgb(r.modebar.bgcolor));a(\"color\",hM.addOpacity(o,.3)),a(\"activecolor\",hM.addOpacity(o,.7)),a(\"uirevision\",r.uirevision),a(\"add\"),a(\"remove\")}});var ace=ye((_ir,nce)=>{\"use strict\";var rN=xa(),Sut=uo(),aP=Mr(),rce=UL(),Mut=e6().version,Eut=new DOMParser;function ice(e){this.container=e.container,this.element=document.createElement(\"div\"),this.update(e.graphInfo,e.buttons),this.container.appendChild(this.element)}var Tm=ice.prototype;Tm.update=function(e,t){this.graphInfo=e;var r=this.graphInfo._context,n=this.graphInfo._fullLayout,i=\"modebar-\"+n._uid;this.element.setAttribute(\"id\",i),this._uid=i,this.element.className=\"modebar\",r.displayModeBar===\"hover\"&&(this.element.className+=\" modebar--hover ease-bg\"),n.modebar.orientation===\"v\"&&(this.element.className+=\" vertical\",t=t.reverse());var a=n.modebar,o=\"#\"+i+\" .modebar-group\";document.querySelectorAll(o).forEach(function(f){f.style.backgroundColor=a.bgcolor});var s=!this.hasButtons(t),l=this.hasLogo!==r.displaylogo,u=this.locale!==r.locale;if(this.locale=r.locale,(s||l||u)&&(this.removeAllButtons(),this.updateButtons(t),r.watermark||r.displaylogo)){var c=this.getLogo();r.watermark&&(c.className=c.className+\" watermark\"),n.modebar.orientation===\"v\"?this.element.insertBefore(c,this.element.childNodes[0]):this.element.appendChild(c),this.hasLogo=!0}this.updateActiveButton(),aP.setStyleOnHover(\"#\"+i+\" .modebar-btn\",\".active\",\".icon path\",\"fill: \"+a.activecolor,\"fill: \"+a.color,this.element)};Tm.updateButtons=function(e){var t=this;this.buttons=e,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(r){var n=t.createGroup();r.forEach(function(i){var a=i.name;if(!a)throw new Error(\"must provide button 'name' in button config\");if(t.buttonsNames.indexOf(a)!==-1)throw new Error(\"button name '\"+a+\"' is taken\");t.buttonsNames.push(a);var o=t.createButton(i);t.buttonElements.push(o),n.appendChild(o)}),t.element.appendChild(n)})};Tm.createGroup=function(){var e=document.createElement(\"div\");e.className=\"modebar-group\";var t=this.graphInfo._fullLayout.modebar;return e.style.backgroundColor=t.bgcolor,e};Tm.createButton=function(e){var t=this,r=document.createElement(\"a\");r.setAttribute(\"rel\",\"tooltip\"),r.className=\"modebar-btn\";var n=e.title;n===void 0?n=e.name:typeof n==\"function\"&&(n=n(this.graphInfo)),(n||n===0)&&r.setAttribute(\"data-title\",n),e.attr!==void 0&&r.setAttribute(\"data-attr\",e.attr);var i=e.val;i!==void 0&&(typeof i==\"function\"&&(i=i(this.graphInfo)),r.setAttribute(\"data-val\",i));var a=e.click;if(typeof a!=\"function\")throw new Error(\"must provide button 'click' function in button config\");r.addEventListener(\"click\",function(s){e.click(t.graphInfo,s),t.updateActiveButton(s.currentTarget)}),r.setAttribute(\"data-toggle\",e.toggle||!1),e.toggle&&rN.select(r).classed(\"active\",!0);var o=e.icon;return typeof o==\"function\"?r.appendChild(o()):r.appendChild(this.createIcon(o||rce.question)),r.setAttribute(\"data-gravity\",e.gravity||\"n\"),r};Tm.createIcon=function(e){var t=Sut(e.height)?Number(e.height):e.ascent-e.descent,r=\"http://www.w3.org/2000/svg\",n;if(e.path){n=document.createElementNS(r,\"svg\"),n.setAttribute(\"viewBox\",[0,0,e.width,t].join(\" \")),n.setAttribute(\"class\",\"icon\");var i=document.createElementNS(r,\"path\");i.setAttribute(\"d\",e.path),e.transform?i.setAttribute(\"transform\",e.transform):e.ascent!==void 0&&i.setAttribute(\"transform\",\"matrix(1 0 0 -1 0 \"+e.ascent+\")\"),n.appendChild(i)}if(e.svg){var a=Eut.parseFromString(e.svg,\"application/xml\");n=a.childNodes[0]}return n.setAttribute(\"height\",\"1em\"),n.setAttribute(\"width\",\"1em\"),n};Tm.updateActiveButton=function(e){var t=this.graphInfo._fullLayout,r=e!==void 0?e.getAttribute(\"data-attr\"):null;this.buttonElements.forEach(function(n){var i=n.getAttribute(\"data-val\")||!0,a=n.getAttribute(\"data-attr\"),o=n.getAttribute(\"data-toggle\")===\"true\",s=rN.select(n),l=function(f,h){var d=t.modebar,v=f.querySelector(\".icon path\");v&&(h||f.matches(\":hover\")?v.style.fill=d.activecolor:v.style.fill=d.color)};if(o){if(a===r){var u=!s.classed(\"active\");s.classed(\"active\",u),l(n,u)}}else{var c=a===null?a:aP.nestedProperty(t,a).get();s.classed(\"active\",c===i),l(n,c===i)}})};Tm.hasButtons=function(e){var t=this.buttons;if(!t||e.length!==t.length)return!1;for(var r=0;r<e.length;++r){if(e[r].length!==t[r].length)return!1;for(var n=0;n<e[r].length;n++)if(e[r][n].name!==t[r][n].name)return!1}return!0};function kut(e){return e+\" (v\"+Mut+\")\"}Tm.getLogo=function(){var e=this.createGroup(),t=document.createElement(\"a\");return t.href=\"https://plotly.com/\",t.target=\"_blank\",t.setAttribute(\"data-title\",kut(aP._(this.graphInfo,\"Produced with Plotly.js\"))),t.className=\"modebar-btn plotlyjsicon modebar-btn--logo\",t.appendChild(this.createIcon(rce.newplotlylogo)),e.appendChild(t),e};Tm.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1};Tm.destroy=function(){aP.removeElement(this.container.querySelector(\".modebar\"))};function Cut(e,t){var r=e._fullLayout,n=new ice({graphInfo:e,container:r._modebardiv.node(),buttons:t});return r._privateplot&&rN.select(n.element).append(\"span\").classed(\"badge-private float--left\",!0).text(\"PRIVATE\"),n}nce.exports=Cut});var lce=ye((xir,sce)=>{\"use strict\";var Lut=af(),oce=lu(),iN=ba(),Put=rp().isUnifiedHover,Iut=ace(),oP=QB(),Rut=eN().DRAW_MODES,Dut=Mr().extendDeep;sce.exports=function(t){var r=t._fullLayout,n=t._context,i=r._modeBar;if(!n.displayModeBar&&!n.watermark){i&&(i.destroy(),delete r._modeBar);return}if(!Array.isArray(n.modeBarButtonsToRemove))throw new Error([\"*modeBarButtonsToRemove* configuration options\",\"must be an array.\"].join(\" \"));if(!Array.isArray(n.modeBarButtonsToAdd))throw new Error([\"*modeBarButtonsToAdd* configuration options\",\"must be an array.\"].join(\" \"));var a=n.modeBarButtons,o;Array.isArray(a)&&a.length?o=Nut(a):!n.displayModeBar&&n.watermark?o=[]:o=zut(t),i?i.update(t,o):r._modeBar=Iut(t,o)};function zut(e){var t=e._fullLayout,r=e._fullData,n=e._context;function i(N,W){if(typeof W==\"string\"){if(W.toLowerCase()===N.toLowerCase())return!0}else{var re=W.name,ae=W._cat||W.name;if(re===N||ae===N.toLowerCase())return!0}return!1}var a=t.modebar.add;typeof a==\"string\"&&(a=[a]);var o=t.modebar.remove;typeof o==\"string\"&&(o=[o]);var s=n.modeBarButtonsToAdd.concat(a.filter(function(N){for(var W=0;W<n.modeBarButtonsToRemove.length;W++)if(i(N,n.modeBarButtonsToRemove[W]))return!1;return!0})),l=n.modeBarButtonsToRemove.concat(o.filter(function(N){for(var W=0;W<n.modeBarButtonsToAdd.length;W++)if(i(N,n.modeBarButtonsToAdd[W]))return!1;return!0})),u=t._has(\"cartesian\"),c=t._has(\"gl3d\"),f=t._has(\"geo\"),h=t._has(\"pie\"),d=t._has(\"funnelarea\"),v=t._has(\"ternary\"),x=t._has(\"mapbox\"),b=t._has(\"map\"),p=t._has(\"polar\"),E=t._has(\"smith\"),k=t._has(\"sankey\"),A=Fut(t),L=Put(t.hovermode),_=[];function C(N){if(N.length){for(var W=[],re=0;re<N.length;re++){for(var ae=N[re],_e=oP[ae],Me=_e.name.toLowerCase(),ke=(_e._cat||_e.name).toLowerCase(),ge=!1,ie=0;ie<l.length;ie++){var Te=l[ie].toLowerCase();if(Te===Me||Te===ke){ge=!0;break}}ge||W.push(oP[ae])}_.push(W)}}var M=[\"toImage\"];n.showEditInChartStudio?M.push(\"editInChartStudio\"):n.showSendToCloud&&M.push(\"sendDataToCloud\"),C(M);var g=[],P=[],T=[],F=[];(u||h||d||v)+f+c+x+b+p+E>1?(P=[\"toggleHover\"],T=[\"resetViews\"]):f?(g=[\"zoomInGeo\",\"zoomOutGeo\"],P=[\"hoverClosestGeo\"],T=[\"resetGeo\"]):c?(P=[\"hoverClosest3d\"],T=[\"resetCameraDefault3d\",\"resetCameraLastSave3d\"]):x?(g=[\"zoomInMapbox\",\"zoomOutMapbox\"],P=[\"toggleHover\"],T=[\"resetViewMapbox\"]):b?(g=[\"zoomInMap\",\"zoomOutMap\"],P=[\"toggleHover\"],T=[\"resetViewMap\"]):h?P=[\"hoverClosestPie\"]:k?(P=[\"hoverClosestCartesian\",\"hoverCompareCartesian\"],T=[\"resetViewSankey\"]):P=[\"toggleHover\"],u&&P.push(\"toggleSpikelines\",\"hoverClosestCartesian\",\"hoverCompareCartesian\"),(Out(r)||L)&&(P=[]),u&&!A&&(g=[\"zoomIn2d\",\"zoomOut2d\",\"autoScale2d\"],T[0]!==\"resetViews\"&&(T=[\"resetScale2d\"])),c?F=[\"zoom3d\",\"pan3d\",\"orbitRotation\",\"tableRotation\"]:u&&!A||v?F=[\"zoom2d\",\"pan2d\"]:x||b||f?F=[\"pan2d\"]:p&&(F=[\"zoom2d\"]),qut(r)&&F.push(\"select2d\",\"lasso2d\");var q=[],V=function(N){q.indexOf(N)===-1&&P.indexOf(N)!==-1&&q.push(N)};if(Array.isArray(s)){for(var H=[],X=0;X<s.length;X++){var G=s[X];typeof G==\"string\"?(G=G.toLowerCase(),Rut.indexOf(G)!==-1?(t._has(\"mapbox\")||t._has(\"map\")||t._has(\"cartesian\"))&&F.push(G):G===\"togglespikelines\"?V(\"toggleSpikelines\"):G===\"togglehover\"?V(\"toggleHover\"):G===\"hovercompare\"?V(\"hoverCompareCartesian\"):G===\"hoverclosest\"?(V(\"hoverClosestCartesian\"),V(\"hoverClosestGeo\"),V(\"hoverClosest3d\"),V(\"hoverClosestPie\")):G===\"v1hovermode\"&&(V(\"hoverClosestCartesian\"),V(\"hoverCompareCartesian\"),V(\"hoverClosestGeo\"),V(\"hoverClosest3d\"),V(\"hoverClosestPie\"))):H.push(G)}s=H}return C(F),C(g.concat(T)),C(q),But(_,s)}function Fut(e){for(var t=Lut.list({_fullLayout:e},null,!0),r=0;r<t.length;r++)if(!t[r].fixedrange)return!1;return!0}function qut(e){for(var t=!1,r=0;r<e.length&&!t;r++){var n=e[r];!n._module||!n._module.selectPoints||(iN.traceIs(n,\"scatter-like\")?(oce.hasMarkers(n)||oce.hasText(n))&&(t=!0):iN.traceIs(n,\"box-violin\")?(n.boxpoints===\"all\"||n.points===\"all\")&&(t=!0):t=!0)}return t}function Out(e){for(var t=0;t<e.length;t++)if(!iN.traceIs(e[t],\"noHover\"))return!1;return!0}function But(e,t){if(t.length)if(Array.isArray(t[0]))for(var r=0;r<t.length;r++)e.push(t[r]);else e.push(t);return e}function Nut(e){for(var t=Dut([],e),r=0;r<t.length;r++)for(var n=t[r],i=0;i<n.length;i++){var a=n[i];if(typeof a==\"string\")if(oP[a]!==void 0)t[r][i]=oP[a];else throw new Error([\"*modeBarButtons* configuration options\",\"invalid button name\"].join(\" \"))}return t}});var nN=ye((bir,uce)=>{\"use strict\";uce.exports={moduleType:\"component\",name:\"modebar\",layoutAttributes:tN(),supplyLayoutDefaults:tce(),manage:lce()}});var aN=ye((wir,cce)=>{\"use strict\";var Uut=Nh().FROM_BL;cce.exports=function(t,r,n){n===void 0&&(n=Uut[t.constraintoward||\"center\"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*n;t.range=t._input.range=[t.l2r(a+(i[0]-a)*r),t.l2r(a+(i[1]-a)*r)],t.setScale()}});var Bb=ye(dM=>{\"use strict\";var Ob=Mr(),oN=wg(),Mg=af().id2name,Vut=Cd(),fce=aN(),Hut=ym(),Gut=es().ALMOST_EQUAL,jut=Nh().FROM_BL;dM.handleDefaults=function(e,t,r){var n=r.axIds,i=r.axHasImage,a=t._axisConstraintGroups=[],o=t._axisMatchGroups=[],s,l,u,c,f,h,d,v;for(s=0;s<n.length;s++)c=Mg(n[s]),f=e[c],h=t[c],Wut(f,h,{axIds:n,layoutOut:t,hasImage:i[c]});function x(M,g){for(s=0;s<M.length;s++){l=M[s];for(u in l)t[Mg(u)][g]=l}}for(x(o,\"_matchGroup\"),s=0;s<a.length;s++){l=a[s];for(u in l)if(h=t[Mg(u)],h.fixedrange){for(var b in l){var p=Mg(b);(e[p]||{}).fixedrange===!1&&Ob.warn(\"fixedrange was specified as false for axis \"+p+\" but was overridden because another axis in its constraint group has fixedrange true\"),t[p].fixedrange=!0}break}}for(s=0;s<a.length;){l=a[s];for(u in l){h=t[Mg(u)],h._matchGroup&&Object.keys(h._matchGroup).length===Object.keys(l).length&&(a.splice(s,1),s--);break}s++}x(a,\"_constraintGroup\");var E=[\"constrain\",\"range\",\"autorange\",\"rangemode\",\"rangebreaks\",\"categoryorder\",\"categoryarray\"],k=!1,A=!1;function L(){v=h[d],d===\"rangebreaks\"&&(A=h._hasDayOfWeekBreaks)}for(s=0;s<o.length;s++){l=o[s];for(var _=0;_<E.length;_++){d=E[_],v=null;var C;for(u in l)if(c=Mg(u),f=e[c],h=t[c],d in h){if(!h.matches&&(C=h,d in f)){L();break}v===null&&d in f&&L()}if(d===\"range\"&&v&&f.range&&f.range.length===2&&f.range[0]!==null&&f.range[1]!==null&&(k=!0),d===\"autorange\"&&v===null&&k&&(v=!1),v===null&&d in C&&(v=C[d]),v!==null)for(u in l)h=t[Mg(u)],h[d]=d===\"range\"?v.slice():v,d===\"rangebreaks\"&&(h._hasDayOfWeekBreaks=A,Hut(h,t))}}};function Wut(e,t,r){var n=r.axIds,i=r.layoutOut,a=r.hasImage,o=i._axisConstraintGroups,s=i._axisMatchGroups,l=t._id,u=l.charAt(0),c=((i._splomAxes||{})[u]||{})[l]||{},f=t._id,h=f.charAt(0)===\"x\";t._matchGroup=null,t._constraintGroup=null;function d(F,q){return Ob.coerce(e,t,Vut,F,q)}d(\"constrain\",a?\"domain\":\"range\"),Ob.coerce(e,t,{constraintoward:{valType:\"enumerated\",values:h?[\"left\",\"center\",\"right\"]:[\"bottom\",\"middle\",\"top\"],dflt:h?\"center\":\"middle\"}},\"constraintoward\");var v=t.type,x,b,p=[];for(x=0;x<n.length;x++)if(b=n[x],b!==f){var E=i[Mg(b)];E.type===v&&p.push(b)}var k=vce(o,f);if(k){var A=[];for(x=0;x<p.length;x++)b=p[x],k[b]||A.push(b);p=A}var L=p.length,_,C;L&&(e.matches||c.matches)&&(_=Ob.coerce(e,t,{matches:{valType:\"enumerated\",values:p,dflt:p.indexOf(c.matches)!==-1?c.matches:void 0}},\"matches\"));var M=a&&!h?t.anchor:void 0;if(L&&!_&&(e.scaleanchor||M)&&(C=Ob.coerce(e,t,{scaleanchor:{valType:\"enumerated\",values:p.concat([!1])}},\"scaleanchor\",M)),_){t._matchGroup=sN(s,f,_,1);var g=i[Mg(_)],P=hce(i,t)/hce(i,g);h!==(_.charAt(0)===\"x\")&&(P=(h?\"x\":\"y\")+P),sN(o,f,_,P)}else e.matches&&n.indexOf(e.matches)!==-1&&Ob.warn(\"ignored \"+t._name+'.matches: \"'+e.matches+'\" to avoid an infinite loop');if(C){var T=d(\"scaleratio\");T||(T=t.scaleratio=1),sN(o,f,C,T)}else e.scaleanchor&&n.indexOf(e.scaleanchor)!==-1&&Ob.warn(\"ignored \"+t._name+'.scaleanchor: \"'+e.scaleanchor+'\" to avoid either an infinite loop and possibly inconsistent scaleratios, or because this axis declares a *matches* constraint.')}function hce(e,t){var r=t.domain;return r||(r=e[Mg(t.overlaying)].domain),r[1]-r[0]}function vce(e,t){for(var r=0;r<e.length;r++)if(e[r][t])return e[r];return null}function sN(e,t,r,n){var i,a,o,s,l,u=vce(e,t);u===null?(u={},u[t]=1,l=e.length,e.push(u)):l=e.indexOf(u);var c=Object.keys(u);for(i=0;i<e.length;i++)if(o=e[i],i!==l&&o[r]){var f=o[r];for(a=0;a<c.length;a++)s=c[a],o[s]=lN(f,lN(n,u[s]));e.splice(l,1);return}if(n!==1)for(a=0;a<c.length;a++){var h=c[a];u[h]=lN(n,u[h])}u[r]=1}function lN(e,t){var r=\"\",n=\"\",i,a;typeof e==\"string\"&&(r=e.match(/^[xy]*/)[0],i=r.length,e=+e.substr(i)),typeof t==\"string\"&&(n=t.match(/^[xy]*/)[0],a=n.length,t=+t.substr(a));var o=e*t;return!i&&!a?o:!i||!a||r.charAt(0)===n.charAt(0)?r+n+e*t:i===a?o:(i>a?r.substr(a):n.substr(i))+o}function Zut(e,t){for(var r=t._size,n=r.h/r.w,i={},a=Object.keys(e),o=0;o<a.length;o++){var s=a[o],l=e[s];if(typeof l==\"string\"){var u=l.match(/^[xy]*/)[0],c=u.length;l=+l.substr(c);for(var f=u.charAt(0)===\"y\"?n:1/n,h=0;h<c;h++)l*=f}i[s]=l}return i}dM.enforce=function(t){var r=t._fullLayout,n=r._axisConstraintGroups||[],i,a,o,s,l,u,c,f;for(i=0;i<n.length;i++){o=Zut(n[i],r);var h=Object.keys(o),d=1/0,v=0,x=1/0,b={},p={},E=!1;for(a=0;a<h.length;a++)s=h[a],p[s]=l=r[Mg(s)],l._inputDomain?l.domain=l._inputDomain.slice():l._inputDomain=l.domain.slice(),l._inputRange||(l._inputRange=l.range.slice()),l.setScale(),b[s]=u=Math.abs(l._m)/o[s],d=Math.min(d,u),(l.constrain===\"domain\"||!l._constraintShrinkable)&&(x=Math.min(x,u)),delete l._constraintShrinkable,v=Math.max(v,u),l.constrain===\"domain\"&&(E=!0);if(!(d>Gut*v&&!E)){for(a=0;a<h.length;a++)if(s=h[a],u=b[s],l=p[s],c=l.constrain,u!==x||c===\"domain\")if(f=u/x,c===\"range\")fce(l,f);else{var k=l._inputDomain,A=(l.domain[1]-l.domain[0])/(k[1]-k[0]),L=(l.r2l(l.range[1])-l.r2l(l.range[0]))/(l.r2l(l._inputRange[1])-l.r2l(l._inputRange[0]));if(f/=A,f*L<1){l.domain=l._input.domain=k.slice(),fce(l,f);continue}if(L<1&&(l.range=l._input.range=l._inputRange.slice(),f*=L),l.autorange){var _=l.r2l(l.range[0]),C=l.r2l(l.range[1]),M=(_+C)/2,g=M,P=M,T=Math.abs(C-M),F=M-T*f*1.0001,q=M+T*f*1.0001,V=oN.makePadFn(r,l,0),H=oN.makePadFn(r,l,1);dce(l,f);var X=Math.abs(l._m),G=oN.concatExtremes(t,l),N=G.min,W=G.max,re,ae;for(ae=0;ae<N.length;ae++)re=N[ae].val-V(N[ae])/X,re>F&&re<g&&(g=re);for(ae=0;ae<W.length;ae++)re=W[ae].val+H(W[ae])/X,re<q&&re>P&&(P=re);var _e=(P-g)/(2*T);f/=_e,g=l.l2r(g),P=l.l2r(P),l.range=l._input.range=_<C?[g,P]:[P,g]}dce(l,f)}}}};dM.getAxisGroup=function(t,r){for(var n=t._axisMatchGroups,i=0;i<n.length;i++){var a=n[i];if(a[r])return\"g\"+i}return r};dM.clean=function(t,r){if(r._inputDomain){for(var n=!1,i=r._id,a=t._fullLayout._axisConstraintGroups,o=0;o<a.length;o++)if(a[o][i]){n=!0;break}(!n||r.constrain!==\"domain\")&&(r._input.domain=r.domain=r._inputDomain,delete r._inputDomain)}};function dce(e,t){var r=e._inputDomain,n=jut[e.constraintoward],i=r[0]+(r[1]-r[0])*n;e.domain=e._input.domain=[i+(r[0]-i)/t,i+(r[1]-i)/t],e.setScale()}});var gM=ye(ld=>{\"use strict\";var lP=xa(),Bv=ba(),Jp=Xu(),M0=Mr(),uN=Pl(),cN=lM(),vM=va(),X3=ao(),pce=Mb(),xce=nN(),pM=Qa(),ky=Nh(),bce=Bb(),Xut=bce.enforce,Yut=bce.clean,gce=wg().doAutoRange,wce=\"start\",Kut=\"middle\",Tce=\"end\",Jut=ad().zindexSeparator;ld.layoutStyles=function(e){return M0.syncOrAsync([Jp.doAutoMargin,Qut],e)};function $ut(e,t,r){for(var n=0;n<r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]>=e[1]||i[1]<=e[0])&&a[0]<t[1]&&a[1]>t[0])return!0}return!1}function Qut(e){var t=e._fullLayout,r=t._size,n=r.p,i=pM.list(e,\"\",!0),a,o,s,l,u,c;if(t._paperdiv.style({width:e._context.responsive&&t.autosize&&!e._context._hasZeroWidth&&!e.layout.width?\"100%\":t.width+\"px\",height:e._context.responsive&&t.autosize&&!e._context._hasZeroHeight&&!e.layout.height?\"100%\":t.height+\"px\"}).selectAll(\".main-svg\").call(X3.setSize,t.width,t.height),e._context.setBackground(e,t.paper_bgcolor),ld.drawMainTitle(e),xce.manage(e),!t._has(\"cartesian\"))return Jp.previousPromises(e);function f(Ce,me,Re){var ce=Ce._lw/2;if(Ce._id.charAt(0)===\"x\"){if(me){if(Re===\"top\")return me._offset-n-ce}else return r.t+r.h*(1-(Ce.position||0))+ce%1;return me._offset+me._length+n+ce}if(me){if(Re===\"right\")return me._offset+me._length+n+ce}else return r.l+r.w*(Ce.position||0)+ce%1;return me._offset-n-ce}for(a=0;a<i.length;a++){l=i[a];var h=l._anchorAxis;l._linepositions={},l._lw=X3.crispRound(e,l.linewidth,1),l._mainLinePosition=f(l,h,l.side),l._mainMirrorPosition=l.mirror&&h?f(l,h,ky.OPPOSITE_SIDE[l.side]):null}var d=[],v=[],x=[],b=vM.opacity(t.paper_bgcolor)===1&&vM.opacity(t.plot_bgcolor)===1&&t.paper_bgcolor===t.plot_bgcolor;for(o in t._plots)if(s=t._plots[o],s.mainplot)s.bg&&s.bg.remove(),s.bg=void 0;else{var p=s.xaxis.domain,E=s.yaxis.domain,k=s.plotgroup;if($ut(p,E,x)&&o.indexOf(Jut)===-1){var A=k.node(),L=s.bg=M0.ensureSingle(k,\"rect\",\"bg\");A.insertBefore(L.node(),A.childNodes[0]),v.push(o)}else k.select(\"rect.bg\").remove(),x.push([p,E]),b||(d.push(o),v.push(o))}var _=t._bgLayer.selectAll(\".bg\").data(d);for(_.enter().append(\"rect\").classed(\"bg\",!0),_.exit().remove(),_.each(function(Ce){t._plots[Ce].bg=lP.select(this)}),a=0;a<v.length;a++)s=t._plots[v[a]],u=s.xaxis,c=s.yaxis,s.bg&&u._offset!==void 0&&c._offset!==void 0&&s.bg.call(X3.setRect,u._offset-n,c._offset-n,u._length+2*n,c._length+2*n).call(vM.fill,t.plot_bgcolor).style(\"stroke-width\",0);if(!t._hasOnlyLargeSploms)for(o in t._plots){s=t._plots[o],u=s.xaxis,c=s.yaxis;var C=s.clipId=\"clip\"+t._uid+o+\"plot\",M=M0.ensureSingleById(t._clips,\"clipPath\",C,function(Ce){Ce.classed(\"plotclip\",!0).append(\"rect\")});s.clipRect=M.select(\"rect\").attr({width:u._length,height:c._length}),X3.setTranslate(s.plot,u._offset,c._offset);var g,P;s._hasClipOnAxisFalse?(g=null,P=C):(g=C,P=null),X3.setClipUrl(s.plot,g,e),s.layerClipId=P}var T,F,q,V,H,X,G,N,W,re,ae,_e,Me;function ke(Ce){return\"M\"+T+\",\"+Ce+\"H\"+F}function ge(Ce){return\"M\"+u._offset+\",\"+Ce+\"h\"+u._length}function ie(Ce){return\"M\"+Ce+\",\"+N+\"V\"+G}function Te(Ce){return c._shift!==void 0&&(Ce+=c._shift),\"M\"+Ce+\",\"+c._offset+\"v\"+c._length}function Ee(Ce,me,Re){if(!Ce.showline||o!==Ce._mainSubplot)return\"\";if(!Ce._anchorAxis)return Re(Ce._mainLinePosition);var ce=me(Ce._mainLinePosition);return Ce.mirror&&(ce+=me(Ce._mainMirrorPosition)),ce}for(o in t._plots){s=t._plots[o],u=s.xaxis,c=s.yaxis;var Ae=\"M0,0\";mce(u,o)&&(H=sP(u,\"left\",c,i),T=u._offset-(H?n+H:0),X=sP(u,\"right\",c,i),F=u._offset+u._length+(X?n+X:0),q=f(u,c,\"bottom\"),V=f(u,c,\"top\"),Me=!u._anchorAxis||o!==u._mainSubplot,Me&&(u.mirror===\"allticks\"||u.mirror===\"all\")&&(u._linepositions[o]=[q,V]),Ae=Ee(u,ke,ge),Me&&u.showline&&(u.mirror===\"all\"||u.mirror===\"allticks\")&&(Ae+=ke(q)+ke(V)),s.xlines.style(\"stroke-width\",u._lw+\"px\").call(vM.stroke,u.showline?u.linecolor:\"rgba(0,0,0,0)\")),s.xlines.attr(\"d\",Ae);var ze=\"M0,0\";mce(c,o)&&(ae=sP(c,\"bottom\",u,i),G=c._offset+c._length+(ae?n:0),_e=sP(c,\"top\",u,i),N=c._offset-(_e?n:0),W=f(c,u,\"left\"),re=f(c,u,\"right\"),Me=!c._anchorAxis||o!==c._mainSubplot,Me&&(c.mirror===\"allticks\"||c.mirror===\"all\")&&(c._linepositions[o]=[W,re]),ze=Ee(c,ie,Te),Me&&c.showline&&(c.mirror===\"all\"||c.mirror===\"allticks\")&&(ze+=ie(W)+ie(re)),s.ylines.style(\"stroke-width\",c._lw+\"px\").call(vM.stroke,c.showline?c.linecolor:\"rgba(0,0,0,0)\")),s.ylines.attr(\"d\",ze)}return pM.makeClipPaths(e),Jp.previousPromises(e)}function mce(e,t){return(e.ticks||e.showline)&&(t===e._mainSubplot||e.mirror===\"all\"||e.mirror===\"allticks\")}function yce(e,t,r){if(!r.showline||!r._lw)return!1;if(r.mirror===\"all\"||r.mirror===\"allticks\")return!0;var n=r._anchorAxis;if(!n)return!1;var i=ky.FROM_BL[t];return r.side===t?n.domain[i]===e.domain[i]:r.mirror&&n.domain[1-i]===e.domain[1-i]}function sP(e,t,r,n){if(yce(e,t,r))return r._lw;for(var i=0;i<n.length;i++){var a=n[i];if(a._mainAxis===r._mainAxis&&yce(e,t,a))return a._lw}return 0}ld.drawMainTitle=function(e){var t=e._fullLayout.title,r=e._fullLayout,n=oct(r),i=sct(r),a=act(r,i),o=nct(r,n);if(pce.draw(e,\"gtitle\",{propContainer:r,propName:\"title.text\",subtitlePropName:\"title.subtitle.text\",placeholder:r._dfltTitle.plot,subtitlePlaceholder:r._dfltTitle.subtitle,attributes:{x:o,y:a,\"text-anchor\":n,dy:i}}),t.text&&t.automargin){var s=lP.selectAll(\".gtitle\"),l=X3.bBox(lP.selectAll(\".g-gtitle\").node()).height,u=rct(e,t,l);if(u>0){ict(e,a,u,l),s.attr({x:o,y:a,\"text-anchor\":n,dy:_ce(t.yanchor)}).call(uN.positionText,o,a);var c=(t.text.match(uN.BR_TAG_ALL)||[]).length;if(c){var f=ky.LINE_SPACING*c+ky.MID_SHIFT;t.y===0&&(f=-f),s.selectAll(\".line\").each(function(){var b=+this.getAttribute(\"dy\").slice(0,-2)-f+\"em\";this.setAttribute(\"dy\",b)})}var h=lP.selectAll(\".gtitle-subtitle\");if(h.node()){var d=s.node().getBBox(),v=d.y+d.height,x=v+pce.SUBTITLE_PADDING_EM*t.subtitle.font.size;h.attr({x:o,y:x,\"text-anchor\":n,dy:_ce(t.yanchor)}).call(uN.positionText,o,x)}}}};function ect(e,t,r,n,i){var a=t.yref===\"paper\"?e._fullLayout._size.h:e._fullLayout.height,o=M0.isTopAnchor(t)?n:n-i,s=r===\"b\"?a-o:o;return M0.isTopAnchor(t)&&r===\"t\"||M0.isBottomAnchor(t)&&r===\"b\"?!1:s<i}function tct(e,t,r,n,i){var a=0;return r===\"middle\"&&(a+=i/2),e===\"t\"?(r===\"top\"&&(a+=i),a+=n-t*n):(r===\"bottom\"&&(a+=i),a+=t*n),a}function rct(e,t,r){var n=t.y,i=t.yanchor,a=n>.5?\"t\":\"b\",o=e._fullLayout.margin[a],s=0;return t.yref===\"paper\"?s=r+t.pad.t+t.pad.b:t.yref===\"container\"&&(s=tct(a,n,i,e._fullLayout.height,r)+t.pad.t+t.pad.b),s>o?s:0}function ict(e,t,r,n){var i=\"title.automargin\",a=e._fullLayout.title,o=a.y>.5?\"t\":\"b\",s={x:a.x,y:a.y,t:0,b:0},l={};a.yref===\"paper\"&&ect(e,a,o,t,n)?s[o]=r:a.yref===\"container\"&&(l[o]=r,e._fullLayout._reservedMargin[i]=l),Jp.allowAutoMargin(e,i),Jp.autoMargin(e,i,s)}function nct(e,t){var r=e.title,n=e._size,i=0;switch(t===wce?i=r.pad.l:t===Tce&&(i=-r.pad.r),r.xref){case\"paper\":return n.l+n.w*r.x+i;case\"container\":default:return e.width*r.x+i}}function act(e,t){var r=e.title,n=e._size,i=0;if(t===\"0em\"||!t?i=-r.pad.b:t===ky.CAP_SHIFT+\"em\"&&(i=r.pad.t),r.y===\"auto\")return n.t/2;switch(r.yref){case\"paper\":return n.t+n.h-n.h*r.y+i;case\"container\":default:return e.height-e.height*r.y+i}}function _ce(e){return e===\"top\"?ky.CAP_SHIFT+.3+\"em\":e===\"bottom\"?\"-0.3em\":ky.MID_SHIFT+\"em\"}function oct(e){var t=e.title,r=Kut;return M0.isRightAnchor(t)?r=Tce:M0.isLeftAnchor(t)&&(r=wce),r}function sct(e){var t=e.title,r=\"0em\";return M0.isTopAnchor(t)?r=ky.CAP_SHIFT+\"em\":M0.isMiddleAnchor(t)&&(r=ky.MID_SHIFT+\"em\"),r}ld.doTraceStyle=function(e){var t=e.calcdata,r=[],n;for(n=0;n<t.length;n++){var i=t[n],a=i[0]||{},o=a.trace||{},s=o._module||{},l=s.arraysToCalcdata;l&&l(i,o);var u=s.editStyle;u&&r.push({fn:u,cd0:a})}if(r.length){for(n=0;n<r.length;n++){var c=r[n];c.fn(e,c.cd0)}cN(e),ld.redrawReglTraces(e)}return Jp.style(e),Bv.getComponentMethod(\"legend\",\"draw\")(e),Jp.previousPromises(e)};ld.doColorBars=function(e){return Bv.getComponentMethod(\"colorbar\",\"draw\")(e),Jp.previousPromises(e)};ld.layoutReplot=function(e){var t=e.layout;return e.layout=void 0,Bv.call(\"_doPlot\",e,\"\",t)};ld.doLegend=function(e){return Bv.getComponentMethod(\"legend\",\"draw\")(e),Jp.previousPromises(e)};ld.doTicksRelayout=function(e){return pM.draw(e,\"redraw\"),e._fullLayout._hasOnlyLargeSploms&&(Bv.subplotsRegistry.splom.updateGrid(e),cN(e),ld.redrawReglTraces(e)),ld.drawMainTitle(e),Jp.previousPromises(e)};ld.doModeBar=function(e){var t=e._fullLayout;xce.manage(e);for(var r=0;r<t._basePlotModules.length;r++){var n=t._basePlotModules[r].updateFx;n&&n(e)}return Jp.previousPromises(e)};ld.doCamera=function(e){for(var t=e._fullLayout,r=t._subplots.gl3d,n=0;n<r.length;n++){var i=t[r[n]],a=i._scene;a.setViewport(i)}};ld.drawData=function(e){var t=e._fullLayout;cN(e);for(var r=t._basePlotModules,n=0;n<r.length;n++)r[n].plot(e);return ld.redrawReglTraces(e),Jp.style(e),Bv.getComponentMethod(\"selections\",\"draw\")(e),Bv.getComponentMethod(\"shapes\",\"draw\")(e),Bv.getComponentMethod(\"annotations\",\"draw\")(e),Bv.getComponentMethod(\"images\",\"draw\")(e),t._replotting=!1,Jp.previousPromises(e)};ld.redrawReglTraces=function(e){var t=e._fullLayout;if(t._has(\"regl\")){var r=e._fullData,n=[],i=[],a,o;for(t._hasOnlyLargeSploms&&t._splomGrid.draw(),a=0;a<r.length;a++){var s=r[a];s.visible===!0&&s._length!==0&&(s.type===\"splom\"?t._splomScenes[s.uid].draw():s.type===\"scattergl\"?M0.pushUnique(n,s.xaxis+s.yaxis):s.type===\"scatterpolargl\"&&M0.pushUnique(i,s.subplot))}for(a=0;a<n.length;a++)o=t._plots[n[a]],o._scene&&o._scene.draw();for(a=0;a<i.length;a++)o=t[i[a]]._subplot,o._scene&&o._scene.draw()}};ld.doAutoRangeAndConstraints=function(e){for(var t=pM.list(e,\"\",!0),r,n={},i=0;i<t.length;i++)if(r=t[i],!n[r._id]){n[r._id]=1,Yut(e,r),gce(e,r);var a=r._matchGroup;if(a)for(var o in a){var s=pM.getFromId(e,o);gce(e,s,r.range),n[o]=1}}Xut(e)};ld.finalDraw=function(e){Bv.getComponentMethod(\"rangeslider\",\"draw\")(e),Bv.getComponentMethod(\"rangeselector\",\"draw\")(e)};ld.drawMarginPushers=function(e){Bv.getComponentMethod(\"legend\",\"draw\")(e),Bv.getComponentMethod(\"rangeselector\",\"draw\")(e),Bv.getComponentMethod(\"sliders\",\"draw\")(e),Bv.getComponentMethod(\"updatemenus\",\"draw\")(e),Bv.getComponentMethod(\"colorbar\",\"draw\")(e)}});var dN=ye((Sir,kce)=>{\"use strict\";var lct=c_().readPaths,uct=$L(),Ace=e_().clearOutlineControllers,fN=va(),Sce=ao(),cct=Vs().arrayEditor,Mce=h_(),fct=Mce.getPathString;kce.exports={draw:uP,drawOne:Ece,activateLastSelection:vct};function uP(e){var t=e._fullLayout;Ace(e),t._selectionLayer.selectAll(\"path\").remove();for(var r in t._plots){var n=t._plots[r].selectionLayer;n&&n.selectAll(\"path\").remove()}for(var i=0;i<t.selections.length;i++)Ece(e,i)}function cP(e){return e._context.editSelection}function Ece(e,t){e._fullLayout._paperdiv.selectAll('.selectionlayer [data-index=\"'+t+'\"]').remove();var r=Mce.makeSelectionsOptionsAndPlotinfo(e,t),n=r.options,i=r.plotinfo;if(!n._input)return;a(e._fullLayout._selectionLayer);function a(o){var s=fct(e,n),l={\"data-index\":t,\"fill-rule\":\"evenodd\",d:s},u=n.opacity,c=\"rgba(0,0,0,0)\",f=n.line.color||fN.contrast(e._fullLayout.plot_bgcolor),h=n.line.width,d=n.line.dash;h||(h=5,d=\"solid\");var v=cP(e)&&e._fullLayout._activeSelectionIndex===t;v&&(c=e._fullLayout.activeselection.fillcolor,u=e._fullLayout.activeselection.opacity);for(var x=[],b=1;b>=0;b--){var p=o.append(\"path\").attr(l).style(\"opacity\",b?.1:u).call(fN.stroke,f).call(fN.fill,c).call(Sce.dashLine,b?\"solid\":d,b?4+h:h);if(hct(p,e,n),v){var E=cct(e.layout,\"selections\",n);p.style({cursor:\"move\"});var k={element:p.node(),plotinfo:i,gd:e,editHelpers:E,isActiveSelection:!0},A=lct(s,e);uct(A,p,k)}else p.style(\"pointer-events\",b?\"all\":\"none\");x[b]=p}var L=x[0],_=x[1];_.node().addEventListener(\"click\",function(){return dct(e,L)})}}function hct(e,t,r){var n=r.xref+r.yref;Sce.setClipUrl(e,\"clip\"+t._fullLayout._uid+n,t)}function dct(e,t){if(cP(e)){var r=t.node(),n=+r.getAttribute(\"data-index\");if(n>=0){if(n===e._fullLayout._activeSelectionIndex){hN(e);return}e._fullLayout._activeSelectionIndex=n,e._fullLayout._deactivateSelection=hN,uP(e)}}}function vct(e){if(cP(e)){var t=e._fullLayout.selections.length-1;e._fullLayout._activeSelectionIndex=t,e._fullLayout._deactivateSelection=hN,uP(e)}}function hN(e){if(cP(e)){var t=e._fullLayout._activeSelectionIndex;t>=0&&(Ace(e),delete e._fullLayout._activeSelectionIndex,uP(e))}}});var Lce=ye((Mir,Cce)=>{function pct(){var e,t=0,r=!1;function n(i,a){return e.list.push({type:i,data:a?JSON.parse(JSON.stringify(a)):void 0}),e}return e={list:[],segmentId:function(){return t++},checkIntersection:function(i,a){return n(\"check\",{seg1:i,seg2:a})},segmentChop:function(i,a){return n(\"div_seg\",{seg:i,pt:a}),n(\"chop\",{seg:i,pt:a})},statusRemove:function(i){return n(\"pop_seg\",{seg:i})},segmentUpdate:function(i){return n(\"seg_update\",{seg:i})},segmentNew:function(i,a){return n(\"new_seg\",{seg:i,primary:a})},segmentRemove:function(i){return n(\"rem_seg\",{seg:i})},tempStatus:function(i,a,o){return n(\"temp_status\",{seg:i,above:a,below:o})},rewind:function(i){return n(\"rewind\",{seg:i})},status:function(i,a,o){return n(\"status\",{seg:i,above:a,below:o})},vert:function(i){return i===r?e:(r=i,n(\"vert\",{x:i}))},log:function(i){return typeof i!=\"string\"&&(i=JSON.stringify(i,!1,\" \")),n(\"log\",{txt:i})},reset:function(){return n(\"reset\")},selected:function(i){return n(\"selected\",{segs:i})},chainStart:function(i){return n(\"chain_start\",{seg:i})},chainRemoveHead:function(i,a){return n(\"chain_rem_head\",{index:i,pt:a})},chainRemoveTail:function(i,a){return n(\"chain_rem_tail\",{index:i,pt:a})},chainNew:function(i,a){return n(\"chain_new\",{pt1:i,pt2:a})},chainMatch:function(i){return n(\"chain_match\",{index:i})},chainClose:function(i){return n(\"chain_close\",{index:i})},chainAddHead:function(i,a){return n(\"chain_add_head\",{index:i,pt:a})},chainAddTail:function(i,a){return n(\"chain_add_tail\",{index:i,pt:a})},chainConnect:function(i,a){return n(\"chain_con\",{index1:i,index2:a})},chainReverse:function(i){return n(\"chain_rev\",{index:i})},chainJoin:function(i,a){return n(\"chain_join\",{index1:i,index2:a})},done:function(){return n(\"done\")}},e}Cce.exports=pct});var Ice=ye((Eir,Pce)=>{function gct(e){typeof e!=\"number\"&&(e=1e-10);var t={epsilon:function(r){return typeof r==\"number\"&&(e=r),e},pointAboveOrOnLine:function(r,n,i){var a=n[0],o=n[1],s=i[0],l=i[1],u=r[0],c=r[1];return(s-a)*(c-o)-(l-o)*(u-a)>=-e},pointBetween:function(r,n,i){var a=r[1]-n[1],o=i[0]-n[0],s=r[0]-n[0],l=i[1]-n[1],u=s*o+a*l;if(u<e)return!1;var c=o*o+l*l;return!(u-c>-e)},pointsSameX:function(r,n){return Math.abs(r[0]-n[0])<e},pointsSameY:function(r,n){return Math.abs(r[1]-n[1])<e},pointsSame:function(r,n){return t.pointsSameX(r,n)&&t.pointsSameY(r,n)},pointsCompare:function(r,n){return t.pointsSameX(r,n)?t.pointsSameY(r,n)?0:r[1]<n[1]?-1:1:r[0]<n[0]?-1:1},pointsCollinear:function(r,n,i){var a=r[0]-n[0],o=r[1]-n[1],s=n[0]-i[0],l=n[1]-i[1];return Math.abs(a*l-s*o)<e},linesIntersect:function(r,n,i,a){var o=n[0]-r[0],s=n[1]-r[1],l=a[0]-i[0],u=a[1]-i[1],c=o*u-s*l;if(Math.abs(c)<e)return!1;var f=r[0]-i[0],h=r[1]-i[1],d=(l*h-u*f)/c,v=(o*h-s*f)/c,x={alongA:0,alongB:0,pt:[r[0]+d*o,r[1]+d*s]};return d<=-e?x.alongA=-2:d<e?x.alongA=-1:d-1<=-e?x.alongA=0:d-1<e?x.alongA=1:x.alongA=2,v<=-e?x.alongB=-2:v<e?x.alongB=-1:v-1<=-e?x.alongB=0:v-1<e?x.alongB=1:x.alongB=2,x},pointInsideRegion:function(r,n){for(var i=r[0],a=r[1],o=n[n.length-1][0],s=n[n.length-1][1],l=!1,u=0;u<n.length;u++){var c=n[u][0],f=n[u][1];f-a>e!=s-a>e&&(o-c)*(a-f)/(s-f)+c-i>e&&(l=!l),o=c,s=f}return l}};return t}Pce.exports=gct});var Dce=ye((kir,Rce)=>{var mct={create:function(){var e={root:{root:!0,next:null},exists:function(t){return!(t===null||t===e.root)},isEmpty:function(){return e.root.next===null},getHead:function(){return e.root.next},insertBefore:function(t,r){for(var n=e.root,i=e.root.next;i!==null;){if(r(i)){t.prev=i.prev,t.next=i,i.prev.next=t,i.prev=t;return}n=i,i=i.next}n.next=t,t.prev=n,t.next=null},findTransition:function(t){for(var r=e.root,n=e.root.next;n!==null&&!t(n);)r=n,n=n.next;return{before:r===e.root?null:r,after:n,insert:function(i){return i.prev=r,i.next=n,r.next=i,n!==null&&(n.prev=i),i}}}};return e},node:function(e){return e.prev=null,e.next=null,e.remove=function(){e.prev.next=e.next,e.next&&(e.next.prev=e.prev),e.prev=null,e.next=null},e}};Rce.exports=mct});var Fce=ye((Cir,zce)=>{var mM=Dce();function yct(e,t,r){function n(v,x){return{id:r?r.segmentId():-1,start:v,end:x,myFill:{above:null,below:null},otherFill:null}}function i(v,x,b){return{id:r?r.segmentId():-1,start:v,end:x,myFill:{above:b.myFill.above,below:b.myFill.below},otherFill:null}}var a=mM.create();function o(v,x,b,p,E,k){var A=t.pointsCompare(x,E);return A!==0?A:t.pointsSame(b,k)?0:v!==p?v?1:-1:t.pointAboveOrOnLine(b,p?E:k,p?k:E)?1:-1}function s(v,x){a.insertBefore(v,function(b){var p=o(v.isStart,v.pt,x,b.isStart,b.pt,b.other.pt);return p<0})}function l(v,x){var b=mM.node({isStart:!0,pt:v.start,seg:v,primary:x,other:null,status:null});return s(b,v.end),b}function u(v,x,b){var p=mM.node({isStart:!1,pt:x.end,seg:x,primary:b,other:v,status:null});v.other=p,s(p,v.pt)}function c(v,x){var b=l(v,x);return u(b,v,x),b}function f(v,x){r&&r.segmentChop(v.seg,x),v.other.remove(),v.seg.end=x,v.other.pt=x,s(v.other,v.pt)}function h(v,x){var b=i(x,v.seg.end,v.seg);return f(v,x),c(b,v.primary)}function d(v,x){var b=mM.create();function p(H,X){var G=H.seg.start,N=H.seg.end,W=X.seg.start,re=X.seg.end;return t.pointsCollinear(G,W,re)?t.pointsCollinear(N,W,re)||t.pointAboveOrOnLine(N,W,re)?1:-1:t.pointAboveOrOnLine(G,W,re)?1:-1}function E(H){return b.findTransition(function(X){var G=p(H,X.ev);return G>0})}function k(H,X){var G=H.seg,N=X.seg,W=G.start,re=G.end,ae=N.start,_e=N.end;r&&r.checkIntersection(G,N);var Me=t.linesIntersect(W,re,ae,_e);if(Me===!1){if(!t.pointsCollinear(W,re,ae)||t.pointsSame(W,_e)||t.pointsSame(re,ae))return!1;var ke=t.pointsSame(W,ae),ge=t.pointsSame(re,_e);if(ke&&ge)return X;var ie=!ke&&t.pointBetween(W,ae,_e),Te=!ge&&t.pointBetween(re,ae,_e);if(ke)return Te?h(X,re):h(H,_e),X;ie&&(ge||(Te?h(X,re):h(H,_e)),h(X,W))}else Me.alongA===0&&(Me.alongB===-1?h(H,ae):Me.alongB===0?h(H,Me.pt):Me.alongB===1&&h(H,_e)),Me.alongB===0&&(Me.alongA===-1?h(X,W):Me.alongA===0?h(X,Me.pt):Me.alongA===1&&h(X,re));return!1}for(var A=[];!a.isEmpty();){var L=a.getHead();if(r&&r.vert(L.pt[0]),L.isStart){let H=function(){if(C){var X=k(L,C);if(X)return X}return M?k(L,M):!1};var V=H;r&&r.segmentNew(L.seg,L.primary);var _=E(L),C=_.before?_.before.ev:null,M=_.after?_.after.ev:null;r&&r.tempStatus(L.seg,C?C.seg:!1,M?M.seg:!1);var g=H();if(g){if(e){var P;L.seg.myFill.below===null?P=!0:P=L.seg.myFill.above!==L.seg.myFill.below,P&&(g.seg.myFill.above=!g.seg.myFill.above)}else g.seg.otherFill=L.seg.myFill;r&&r.segmentUpdate(g.seg),L.other.remove(),L.remove()}if(a.getHead()!==L){r&&r.rewind(L.seg);continue}if(e){var P;L.seg.myFill.below===null?P=!0:P=L.seg.myFill.above!==L.seg.myFill.below,M?L.seg.myFill.below=M.seg.myFill.above:L.seg.myFill.below=v,P?L.seg.myFill.above=!L.seg.myFill.below:L.seg.myFill.above=L.seg.myFill.below}else if(L.seg.otherFill===null){var T;M?L.primary===M.primary?T=M.seg.otherFill.above:T=M.seg.myFill.above:T=L.primary?x:v,L.seg.otherFill={above:T,below:T}}r&&r.status(L.seg,C?C.seg:!1,M?M.seg:!1),L.other.status=_.insert(mM.node({ev:L}))}else{var F=L.status;if(F===null)throw new Error(\"PolyBool: Zero-length segment detected; your epsilon is probably too small or too large\");if(b.exists(F.prev)&&b.exists(F.next)&&k(F.prev.ev,F.next.ev),r&&r.statusRemove(F.ev.seg),F.remove(),!L.primary){var q=L.seg.myFill;L.seg.myFill=L.seg.otherFill,L.seg.otherFill=q}A.push(L.seg)}a.getHead().remove()}return r&&r.done(),A}return e?{addRegion:function(v){for(var x,b=v[v.length-1],p=0;p<v.length;p++){x=b,b=v[p];var E=t.pointsCompare(x,b);E!==0&&c(n(E<0?x:b,E<0?b:x),!0)}},calculate:function(v){return d(v,!1)}}:{calculate:function(v,x,b,p){return v.forEach(function(E){c(i(E.start,E.end,E),!0)}),b.forEach(function(E){c(i(E.start,E.end,E),!1)}),d(x,p)}}}zce.exports=yct});var Oce=ye((Lir,qce)=>{function _ct(e,t,r){var n=[],i=[];return e.forEach(function(a){var o=a.start,s=a.end;if(t.pointsSame(o,s)){console.warn(\"PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large\");return}r&&r.chainStart(a);var l={index:0,matches_head:!1,matches_pt1:!1},u={index:0,matches_head:!1,matches_pt1:!1},c=l;function f(V,H,X){return c.index=V,c.matches_head=H,c.matches_pt1=X,c===l?(c=u,!1):(c=null,!0)}for(var h=0;h<n.length;h++){var d=n[h],v=d[0],x=d[1],b=d[d.length-1],p=d[d.length-2];if(t.pointsSame(v,o)){if(f(h,!0,!0))break}else if(t.pointsSame(v,s)){if(f(h,!0,!1))break}else if(t.pointsSame(b,o)){if(f(h,!1,!0))break}else if(t.pointsSame(b,s)&&f(h,!1,!1))break}if(c===l){n.push([o,s]),r&&r.chainNew(o,s);return}if(c===u){r&&r.chainMatch(l.index);var E=l.index,k=l.matches_pt1?s:o,A=l.matches_head,d=n[E],L=A?d[0]:d[d.length-1],_=A?d[1]:d[d.length-2],C=A?d[d.length-1]:d[0],M=A?d[d.length-2]:d[1];if(t.pointsCollinear(_,L,k)&&(A?(r&&r.chainRemoveHead(l.index,k),d.shift()):(r&&r.chainRemoveTail(l.index,k),d.pop()),L=_),t.pointsSame(C,k)){n.splice(E,1),t.pointsCollinear(M,C,L)&&(A?(r&&r.chainRemoveTail(l.index,L),d.pop()):(r&&r.chainRemoveHead(l.index,L),d.shift())),r&&r.chainClose(l.index),i.push(d);return}A?(r&&r.chainAddHead(l.index,k),d.unshift(k)):(r&&r.chainAddTail(l.index,k),d.push(k));return}function g(V){r&&r.chainReverse(V),n[V].reverse()}function P(V,H){var X=n[V],G=n[H],N=X[X.length-1],W=X[X.length-2],re=G[0],ae=G[1];t.pointsCollinear(W,N,re)&&(r&&r.chainRemoveTail(V,N),X.pop(),N=W),t.pointsCollinear(N,re,ae)&&(r&&r.chainRemoveHead(H,re),G.shift()),r&&r.chainJoin(V,H),n[V]=X.concat(G),n.splice(H,1)}var T=l.index,F=u.index;r&&r.chainConnect(T,F);var q=n[T].length<n[F].length;l.matches_head?u.matches_head?q?(g(T),P(T,F)):(g(F),P(F,T)):P(F,T):u.matches_head?P(T,F):q?(g(T),P(F,T)):(g(F),P(T,F))}),i}qce.exports=_ct});var Nce=ye((Pir,Bce)=>{function yM(e,t,r){var n=[];return e.forEach(function(i){var a=(i.myFill.above?8:0)+(i.myFill.below?4:0)+(i.otherFill&&i.otherFill.above?2:0)+(i.otherFill&&i.otherFill.below?1:0);t[a]!==0&&n.push({id:r?r.segmentId():-1,start:i.start,end:i.end,myFill:{above:t[a]===1,below:t[a]===2},otherFill:null})}),r&&r.selected(n),n}var xct={union:function(e,t){return yM(e,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],t)},intersect:function(e,t){return yM(e,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],t)},difference:function(e,t){return yM(e,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],t)},differenceRev:function(e,t){return yM(e,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],t)},xor:function(e,t){return yM(e,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],t)}};Bce.exports=xct});var Vce=ye((Iir,Uce)=>{var bct={toPolygon:function(e,t){function r(a){if(a.length<=0)return e.segments({inverted:!1,regions:[]});function o(u){var c=u.slice(0,u.length-1);return e.segments({inverted:!1,regions:[c]})}for(var s=o(a[0]),l=1;l<a.length;l++)s=e.selectDifference(e.combine(s,o(a[l])));return s}if(t.type===\"Polygon\")return e.polygon(r(t.coordinates));if(t.type===\"MultiPolygon\"){for(var n=e.segments({inverted:!1,regions:[]}),i=0;i<t.coordinates.length;i++)n=e.selectUnion(e.combine(n,r(t.coordinates[i])));return e.polygon(n)}throw new Error(\"PolyBool: Cannot convert GeoJSON object to PolyBool polygon\")},fromPolygon:function(e,t,r){r=e.polygon(e.segments(r));function n(d,v){return t.pointInsideRegion([(d[0][0]+d[1][0])*.5,(d[0][1]+d[1][1])*.5],v)}function i(d){return{region:d,children:[]}}var a=i(null);function o(d,v){for(var x=0;x<d.children.length;x++){var b=d.children[x];if(n(v,b.region)){o(b,v);return}}for(var p=i(v),x=0;x<d.children.length;x++){var b=d.children[x];n(b.region,v)&&(p.children.push(b),d.children.splice(x,1),x--)}d.children.push(p)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(a,l)}function u(d,v){for(var x=0,b=d[d.length-1][0],p=d[d.length-1][1],E=[],k=0;k<d.length;k++){var A=d[k][0],L=d[k][1];E.push([A,L]),x+=L*b-A*p,b=A,p=L}var _=x<0;return _!==v&&E.reverse(),E.push([E[0][0],E[0][1]]),E}var c=[];function f(d){var v=[u(d.region,!1)];c.push(v);for(var x=0;x<d.children.length;x++)v.push(h(d.children[x]))}function h(d){for(var v=0;v<d.children.length;v++)f(d.children[v]);return u(d.region,!0)}for(var s=0;s<a.children.length;s++)f(a.children[s]);return c.length<=0?{type:\"Polygon\",coordinates:[]}:c.length==1?{type:\"Polygon\",coordinates:c[0]}:{type:\"MultiPolygon\",coordinates:c}}};Uce.exports=bct});var Wce=ye((Rir,jce)=>{var wct=Lce(),Tct=Ice(),Hce=Fce(),Act=Oce(),_M=Nce(),Gce=Vce(),E0=!1,xM=Tct(),Ep;Ep={buildLog:function(e){return e===!0?E0=wct():e===!1&&(E0=!1),E0===!1?!1:E0.list},epsilon:function(e){return xM.epsilon(e)},segments:function(e){var t=Hce(!0,xM,E0);return e.regions.forEach(t.addRegion),{segments:t.calculate(e.inverted),inverted:e.inverted}},combine:function(e,t){var r=Hce(!1,xM,E0);return{combined:r.calculate(e.segments,e.inverted,t.segments,t.inverted),inverted1:e.inverted,inverted2:t.inverted}},selectUnion:function(e){return{segments:_M.union(e.combined,E0),inverted:e.inverted1||e.inverted2}},selectIntersect:function(e){return{segments:_M.intersect(e.combined,E0),inverted:e.inverted1&&e.inverted2}},selectDifference:function(e){return{segments:_M.difference(e.combined,E0),inverted:e.inverted1&&!e.inverted2}},selectDifferenceRev:function(e){return{segments:_M.differenceRev(e.combined,E0),inverted:!e.inverted1&&e.inverted2}},selectXor:function(e){return{segments:_M.xor(e.combined,E0),inverted:e.inverted1!==e.inverted2}},polygon:function(e){return{regions:Act(e.segments,xM,E0),inverted:e.inverted}},polygonFromGeoJSON:function(e){return Gce.toPolygon(Ep,e)},polygonToGeoJSON:function(e){return Gce.fromPolygon(Ep,xM,e)},union:function(e,t){return bM(e,t,Ep.selectUnion)},intersect:function(e,t){return bM(e,t,Ep.selectIntersect)},difference:function(e,t){return bM(e,t,Ep.selectDifference)},differenceRev:function(e,t){return bM(e,t,Ep.selectDifferenceRev)},xor:function(e,t){return bM(e,t,Ep.selectXor)}};function bM(e,t,r){var n=Ep.segments(e),i=Ep.segments(t),a=Ep.combine(n,i),o=r(a);return Ep.polygon(o)}typeof window==\"object\"&&(window.PolyBool=Ep);jce.exports=Ep});var Xce=ye((Dir,Zce)=>{Zce.exports=function(t,r,n,i){var a=t[0],o=t[1],s=!1;n===void 0&&(n=0),i===void 0&&(i=r.length);for(var l=i-n,u=0,c=l-1;u<l;c=u++){var f=r[u+n][0],h=r[u+n][1],d=r[c+n][0],v=r[c+n][1],x=h>o!=v>o&&a<(d-f)*(o-h)/(v-h)+f;x&&(s=!s)}return s}});var wM=ye((zir,Yce)=>{\"use strict\";var vN=m6().dot,fP=es().BADNUM,hP=Yce.exports={};hP.tester=function(t){var r=t.slice(),n=r[0][0],i=n,a=r[0][1],o=a,s;for((r[r.length-1][0]!==r[0][0]||r[r.length-1][1]!==r[0][1])&&r.push(r[0]),s=1;s<r.length;s++)n=Math.min(n,r[s][0]),i=Math.max(i,r[s][0]),a=Math.min(a,r[s][1]),o=Math.max(o,r[s][1]);var l=!1,u;r.length===5&&(r[0][0]===r[1][0]?r[2][0]===r[3][0]&&r[0][1]===r[3][1]&&r[1][1]===r[2][1]&&(l=!0,u=function(v){return v[0]===r[0][0]}):r[0][1]===r[1][1]&&r[2][1]===r[3][1]&&r[0][0]===r[3][0]&&r[1][0]===r[2][0]&&(l=!0,u=function(v){return v[1]===r[0][1]}));function c(v,x){var b=v[0],p=v[1];return!(b===fP||b<n||b>i||p===fP||p<a||p>o||x&&u(v))}function f(v,x){var b=v[0],p=v[1];if(b===fP||b<n||b>i||p===fP||p<a||p>o)return!1;var E=r.length,k=r[0][0],A=r[0][1],L=0,_,C,M,g,P;for(_=1;_<E;_++)if(C=k,M=A,k=r[_][0],A=r[_][1],g=Math.min(C,k),!(b<g||b>Math.max(C,k)||p>Math.max(M,A)))if(p<Math.min(M,A))b!==g&&L++;else{if(k===C?P=p:P=M+(b-C)*(A-M)/(k-C),p===P)return!(_===1&&x);p<=P&&b!==g&&L++}return L%2===1}var h=!0,d=r[0];for(s=1;s<r.length;s++)if(d[0]!==r[s][0]||d[1]!==r[s][1]){h=!1;break}return{xmin:n,xmax:i,ymin:a,ymax:o,pts:r,contains:l?c:f,isRect:l,degenerate:h}};hP.isSegmentBent=function(t,r,n,i){var a=t[r],o=[t[n][0]-a[0],t[n][1]-a[1]],s=vN(o,o),l=Math.sqrt(s),u=[-o[1]/l,o[0]/l],c,f,h;for(c=r+1;c<n;c++)if(f=[t[c][0]-a[0],t[c][1]-a[1]],h=vN(f,o),h<0||h>s||Math.abs(vN(f,u))>i)return!0;return!1};hP.filter=function(t,r){var n=[t[0]],i=0,a=0;function o(l){t.push(l);var u=n.length,c=i;n.splice(a+1);for(var f=c+1;f<t.length;f++)(f===t.length-1||hP.isSegmentBent(t,c,f+1,r))&&(n.push(t[f]),n.length<u-2&&(i=f,a=n.length-1),c=f)}if(t.length>1){var s=t.pop();o(s)}return{addPt:o,raw:t,filtered:n}}});var Jce=ye((Fir,Kce)=>{\"use strict\";Kce.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:\"-select\"}});var _fe=ye((qir,yfe)=>{\"use strict\";var $ce=Wce(),Sct=Xce(),SM=ba(),Mct=ao().dashStyle,TM=va(),Ect=Nc(),kct=rp().makeEventData,LM=Sg(),Cct=LM.freeMode,Lct=LM.rectMode,MM=LM.drawMode,yN=LM.openMode,_N=LM.selectMode,Qce=h_(),efe=cM(),afe=$L(),ofe=e_().clearOutline,sfe=c_(),pN=sfe.handleEllipse,Pct=sfe.readPaths,Ict=XL().newShapes,Rct=VB(),Dct=dN().activateLastSelection,vP=Mr(),zct=vP.sorterAsc,lfe=wM(),AM=P6(),k0=af().getFromId,Fct=lM(),qct=gM().redrawReglTraces,pP=Jce(),Am=pP.MINSELECT,Oct=lfe.filter,xN=lfe.tester,bN=GL(),tfe=bN.p2r,Bct=bN.axValue,Nct=bN.getTransform;function wN(e){return e.subplot!==void 0}function Uct(e,t,r,n,i){var a=!wN(n),o=Cct(i),s=Lct(i),l=yN(i),u=MM(i),c=_N(i),f=i===\"drawline\",h=i===\"drawcircle\",d=f||h,v=n.gd,x=v._fullLayout,b=c&&x.newselection.mode===\"immediate\"&&a,p=x._zoomlayer,E=n.element.getBoundingClientRect(),k=n.plotinfo,A=Nct(k),L=t-E.left,_=r-E.top;x._calcInverseTransform(v);var C=vP.apply3DTransform(x._invTransform)(L,_);L=C[0],_=C[1];var M=x._invScaleX,g=x._invScaleY,P=L,T=_,F=\"M\"+L+\",\"+_,q=n.xaxes[0],V=n.yaxes[0],H=q._length,X=V._length,G=e.altKey&&!(MM(i)&&l),N,W,re,ae,_e,Me,ke;cfe(e,v,n),o&&(N=Oct([[L,_]],pP.BENDPX));var ge=p.selectAll(\"path.select-outline-\"+k.id).data([1]),ie=u?x.newshape:x.newselection;u&&(n.hasText=ie.label.text||ie.label.texttemplate);var Te=u&&!l?ie.fillcolor:\"rgba(0,0,0,0)\",Ee=ie.line.color||(a?TM.contrast(v._fullLayout.plot_bgcolor):\"#7f7f7f\");ge.enter().append(\"path\").attr(\"class\",\"select-outline select-outline-\"+k.id).style({opacity:u?ie.opacity/2:1,\"stroke-dasharray\":Mct(ie.line.dash,ie.line.width),\"stroke-width\":ie.line.width+\"px\",\"shape-rendering\":\"crispEdges\"}).call(TM.stroke,Ee).call(TM.fill,Te).attr(\"fill-rule\",\"evenodd\").classed(\"cursor-move\",!!u).attr(\"transform\",A).attr(\"d\",F+\"Z\");var Ae=p.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:TM.background,stroke:TM.defaultLine,\"stroke-width\":1}).attr(\"transform\",A).attr(\"d\",\"M0,0Z\");if(u&&n.hasText){var ze=p.select(\".label-temp\");ze.empty()&&(ze=p.append(\"g\").classed(\"label-temp\",!0).classed(\"select-outline\",!0).style({opacity:.8}))}var Ce=x._uid+pP.SELECTID,me=[],Re=gP(v,n.xaxes,n.yaxes,n.subplot);b&&!e.shiftKey&&(n._clearSubplotSelections=function(){if(a){var Ge=q._id,nt=V._id;pfe(v,Ge,nt,Re);for(var ct=(v.layout||{}).selections||[],qt=[],rt=!1,ot=0;ot<ct.length;ot++){var Rt=x.selections[ot];!Rt||Rt.xref!==Ge||Rt.yref!==nt?qt.push(ct[ot]):rt=!0}rt&&(v._fullLayout._noEmitSelectedAtStart=!0,SM.call(\"_guiRelayout\",v,{selections:qt}))}});var ce=tft(n);n.moveFn=function(Ge,nt){n._clearSubplotSelections&&(n._clearSubplotSelections(),n._clearSubplotSelections=void 0),P=Math.max(0,Math.min(H,M*Ge+L)),T=Math.max(0,Math.min(X,g*nt+_));var ct=Math.abs(P-L),qt=Math.abs(T-_);if(s){var rt,ot,Rt;if(c){var kt=x.selectdirection;switch(kt===\"any\"?qt<Math.min(ct*.6,Am)?rt=\"h\":ct<Math.min(qt*.6,Am)?rt=\"v\":rt=\"d\":rt=kt,rt){case\"h\":ot=h?X/2:0,Rt=X;break;case\"v\":ot=h?H/2:0,Rt=H;break}}if(u)switch(x.newshape.drawdirection){case\"vertical\":rt=\"h\",ot=h?X/2:0,Rt=X;break;case\"horizontal\":rt=\"v\",ot=h?H/2:0,Rt=H;break;case\"ortho\":ct<qt?(rt=\"h\",ot=_,Rt=T):(rt=\"v\",ot=L,Rt=P);break;default:rt=\"d\"}rt===\"h\"?(ae=d?pN(h,[P,ot],[P,Rt]):[[L,ot],[L,Rt],[P,Rt],[P,ot]],ae.xmin=d?P:Math.min(L,P),ae.xmax=d?P:Math.max(L,P),ae.ymin=Math.min(ot,Rt),ae.ymax=Math.max(ot,Rt),Ae.attr(\"d\",\"M\"+ae.xmin+\",\"+(_-Am)+\"h-4v\"+2*Am+\"h4ZM\"+(ae.xmax-1)+\",\"+(_-Am)+\"h4v\"+2*Am+\"h-4Z\")):rt===\"v\"?(ae=d?pN(h,[ot,T],[Rt,T]):[[ot,_],[ot,T],[Rt,T],[Rt,_]],ae.xmin=Math.min(ot,Rt),ae.xmax=Math.max(ot,Rt),ae.ymin=d?T:Math.min(_,T),ae.ymax=d?T:Math.max(_,T),Ae.attr(\"d\",\"M\"+(L-Am)+\",\"+ae.ymin+\"v-4h\"+2*Am+\"v4ZM\"+(L-Am)+\",\"+(ae.ymax-1)+\"v4h\"+2*Am+\"v-4Z\")):rt===\"d\"&&(ae=d?pN(h,[L,_],[P,T]):[[L,_],[L,T],[P,T],[P,_]],ae.xmin=Math.min(L,P),ae.xmax=Math.max(L,P),ae.ymin=Math.min(_,T),ae.ymax=Math.max(_,T),Ae.attr(\"d\",\"M0,0Z\"))}else o&&(N.addPt([P,T]),ae=N.filtered);if(n.selectionDefs&&n.selectionDefs.length?(re=ffe(n.mergedPolygons,ae,G),ae.subtract=G,W=TN(n.selectionDefs.concat([ae]))):(re=[ae],W=xN(ae)),afe(dfe(re,l),ge,n),c){var Ct=mN(v,!1),Yt=Ct.eventData?Ct.eventData.points.slice():[];Ct=mN(v,!1,W,Re,n),W=Ct.selectionTesters,ke=Ct.eventData;var xr;N?xr=N.filtered:xr=gfe(re),AM.throttle(Ce,pP.SELECTDELAY,function(){me=vfe(W,Re);for(var er=me.slice(),Ke=0;Ke<Yt.length;Ke++){for(var xt=Yt[Ke],bt=!1,Lt=0;Lt<er.length;Lt++)if(er[Lt].curveNumber===xt.curveNumber&&er[Lt].pointNumber===xt.pointNumber){bt=!0;break}bt||er.push(xt)}er.length&&(ke||(ke={}),ke.points=er),ce(ke,xr),rft(v,ke)})}},n.clickFn=function(Ge,nt){if(Ae.remove(),v._fullLayout._activeShapeIndex>=0){v._fullLayout._deactivateShape(v);return}if(!u){var ct=x.clickmode;AM.done(Ce).then(function(){if(AM.clear(Ce),Ge===2){for(ge.remove(),_e=0;_e<Re.length;_e++)Me=Re[_e],Me._module.selectPoints(Me,!1);if(kM(v,Re),EM(n),SN(v),Re.length){var qt=Re[0].xaxis,rt=Re[0].yaxis;if(qt&&rt){for(var ot=[],Rt=v._fullLayout.selections,kt=0;kt<Rt.length;kt++){var Ct=Rt[kt];Ct&&(Ct.xref!==qt._id||Ct.yref!==rt._id)&&ot.push(Ct)}ot.length<Rt.length&&(v._fullLayout._noEmitSelectedAtStart=!0,SM.call(\"_guiRelayout\",v,{selections:ot}))}}}else ct.indexOf(\"select\")>-1&&ufe(nt,v,n.xaxes,n.yaxes,n.subplot,n,ge),ct===\"event\"&&CM(v,void 0);Ect.click(v,nt,k.id)}).catch(vP.error)}},n.doneFn=function(){Ae.remove(),AM.done(Ce).then(function(){AM.clear(Ce),!b&&ae&&n.selectionDefs&&(ae.subtract=G,n.selectionDefs.push(ae),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,re)),(b||u)&&EM(n,b),n.doneFnCompleted&&n.doneFnCompleted(me),c&&CM(v,ke)}).catch(vP.error)}}function ufe(e,t,r,n,i,a,o){var s=t._hoverdata,l=t._fullLayout,u=l.clickmode,c=u.indexOf(\"event\")>-1,f=[],h,d,v,x,b,p,E,k,A,L;if(Wct(s)){cfe(e,t,a),h=gP(t,r,n,i);var _=Zct(s,h),C=_.pointNumbers.length>0;if(C?Xct(h,_):Yct(h)&&(E=ife(_))){for(o&&o.remove(),L=0;L<h.length;L++)d=h[L],d._module.selectPoints(d,!1);kM(t,h),EM(a),c&&SN(t)}else{k=e.shiftKey&&(E!==void 0?E:ife(_)),v=Vct(_.pointNumber,_.searchInfo,k);var M=a.selectionDefs.concat([v]);for(x=TN(M,x),L=0;L<h.length;L++)if(b=h[L]._module.selectPoints(h[L],x),p=hfe(b,h[L]),f.length)for(var g=0;g<p.length;g++)f.push(p[g]);else f=p;if(A={points:f},kM(t,h,A),v&&a&&a.selectionDefs.push(v),o){var P=a.mergedPolygons,T=yN(a.dragmode);afe(dfe(P,T),o,a)}c&&CM(t,A)}}}function Vct(e,t,r){return{pointNumber:e,searchInfo:t,subtract:!!r}}function gN(e){return\"pointNumber\"in e&&\"searchInfo\"in e}function Hct(e){return{xmin:0,xmax:0,ymin:0,ymax:0,pts:[],contains:function(t,r,n,i){var a=e.searchInfo.cd[0].trace.index,o=i.cd[0].trace.index;return o===a&&n===e.pointNumber},isRect:!1,degenerate:!1,subtract:!!e.subtract}}function TN(e){if(!e.length)return;for(var t=[],r=gN(e[0])?0:e[0][0][0],n=r,i=gN(e[0])?0:e[0][0][1],a=i,o=0;o<e.length;o++)if(gN(e[o]))t.push(Hct(e[o]));else{var s=xN(e[o]);s.subtract=!!e[o].subtract,t.push(s),r=Math.min(r,s.xmin),n=Math.max(n,s.xmax),i=Math.min(i,s.ymin),a=Math.max(a,s.ymax)}function l(u,c,f,h){for(var d=!1,v=0;v<t.length;v++)t[v].contains(u,c,f,h)&&(d=!t[v].subtract);return d}return{xmin:r,xmax:n,ymin:i,ymax:a,pts:[],contains:l,isRect:!1,degenerate:!1}}function cfe(e,t,r){var n=t._fullLayout,i=r.plotinfo,a=r.dragmode,o=n._lastSelectedSubplot&&n._lastSelectedSubplot===i.id,s=(e.shiftKey||e.altKey)&&!(MM(a)&&yN(a));o&&s&&i.selection&&i.selection.selectionDefs&&!r.selectionDefs?(r.selectionDefs=i.selection.selectionDefs,r.mergedPolygons=i.selection.mergedPolygons):(!s||!i.selection)&&EM(r),o||(ofe(t),n._lastSelectedSubplot=i.id)}function Gct(e){return e._fullLayout._activeShapeIndex>=0}function jct(e){return e._fullLayout._activeSelectionIndex>=0}function EM(e,t){var r=e.dragmode,n=e.plotinfo,i=e.gd;Gct(i)&&i._fullLayout._deactivateShape(i),jct(i)&&i._fullLayout._deactivateSelection(i);var a=i._fullLayout,o=a._zoomlayer,s=MM(r),l=_N(r);if(s||l){var u=o.selectAll(\".select-outline-\"+n.id);if(u&&i._fullLayout._outlining){var c;s&&(c=Ict(u,e)),c&&SM.call(\"_guiRelayout\",i,{shapes:c});var f;l&&!wN(e)&&(f=Rct(u,e)),f&&(i._fullLayout._noEmitSelectedAtStart=!0,SM.call(\"_guiRelayout\",i,{selections:f}).then(function(){t&&Dct(i)})),i._fullLayout._outlining=!1}}n.selection={},n.selection.selectionDefs=e.selectionDefs=[],n.selection.mergedPolygons=e.mergedPolygons=[]}function rfe(e){return e._id}function gP(e,t,r,n){if(!e.calcdata)return[];var i=[],a=t.map(rfe),o=r.map(rfe),s,l,u;for(u=0;u<e.calcdata.length;u++)if(s=e.calcdata[u],l=s[0].trace,!(l.visible!==!0||!l._module||!l._module.selectPoints))if(wN({subplot:n})&&(l.subplot===n||l.geo===n))i.push(dP(l._module,s,t[0],r[0]));else if(l.type===\"splom\"){if(l._xaxes[a[0]]&&l._yaxes[o[0]]){var c=dP(l._module,s,t[0],r[0]);c.scene=e._fullLayout._splomScenes[l.uid],i.push(c)}}else if(l.type===\"sankey\"){var f=dP(l._module,s,t[0],r[0]);i.push(f)}else{if(a.indexOf(l.xaxis)===-1&&(!l._xA||!l._xA.overlaying)||o.indexOf(l.yaxis)===-1&&(!l._yA||!l._yA.overlaying))continue;i.push(dP(l._module,s,k0(e,l.xaxis),k0(e,l.yaxis)))}return i}function dP(e,t,r,n){return{_module:e,cd:t,xaxis:r,yaxis:n}}function Wct(e){return e&&Array.isArray(e)&&e[0].hoverOnBox!==!0}function Zct(e,t){var r=e[0],n=-1,i=[],a,o;for(o=0;o<t.length;o++)if(a=t[o],r.fullData.index===a.cd[0].trace.index){if(r.hoverOnBox===!0)break;r.pointNumber!==void 0?n=r.pointNumber:r.binNumber!==void 0&&(n=r.binNumber,i=r.pointNumbers);break}return{pointNumber:n,pointNumbers:i,searchInfo:a}}function ife(e){var t=e.searchInfo.cd[0].trace,r=e.pointNumber,n=e.pointNumbers,i=n.length>0,a=i?n[0]:r;return t.selectedpoints?t.selectedpoints.indexOf(a)>-1:!1}function Xct(e,t){var r=[],n,i,a,o;for(o=0;o<e.length;o++)n=e[o],n.cd[0].trace.selectedpoints&&n.cd[0].trace.selectedpoints.length>0&&r.push(n);if(r.length===1&&(a=r[0]===t.searchInfo,a&&(i=t.searchInfo.cd[0].trace,i.selectedpoints.length===t.pointNumbers.length))){for(o=0;o<t.pointNumbers.length;o++)if(i.selectedpoints.indexOf(t.pointNumbers[o])<0)return!1;return!0}return!1}function Yct(e){var t=0,r,n,i;for(i=0;i<e.length;i++)if(r=e[i],n=r.cd[0].trace,n.selectedpoints&&(n.selectedpoints.length>1||(t+=n.selectedpoints.length,t>1)))return!1;return t===1}function kM(e,t,r){var n;for(n=0;n<t.length;n++){var i=t[n].cd[0].trace._fullInput,a=e._fullLayout._tracePreGUI[i.uid]||{};a.selectedpoints===void 0&&(a.selectedpoints=i._input.selectedpoints||null)}var o;if(r){var s=r.points||[];for(n=0;n<t.length;n++)o=t[n].cd[0].trace,o._input.selectedpoints=o._fullInput.selectedpoints=[],o._fullInput!==o&&(o.selectedpoints=[]);for(var l=0;l<s.length;l++){var u=s[l],c=u.data,f=u.fullData,h=u.pointIndex,d=u.pointIndices;d?([].push.apply(c.selectedpoints,d),o._fullInput!==o&&[].push.apply(f.selectedpoints,d)):(c.selectedpoints.push(h),o._fullInput!==o&&f.selectedpoints.push(h))}}else for(n=0;n<t.length;n++)o=t[n].cd[0].trace,delete o.selectedpoints,delete o._input.selectedpoints,o._fullInput!==o&&delete o._fullInput.selectedpoints;Kct(e,t)}function Kct(e,t){for(var r=!1,n=0;n<t.length;n++){var i=t[n],a=i.cd;SM.traceIs(a[0].trace,\"regl\")&&(r=!0);var o=i._module,s=o.styleOnSelect||o.style;s&&(s(e,a,a[0].node3),a[0].nodeRangePlot3&&s(e,a,a[0].nodeRangePlot3))}r&&(Fct(e),qct(e))}function ffe(e,t,r){for(var n=r?$ce.difference:$ce.union,i=n({regions:e},{regions:[t]}),a=i.regions.reverse(),o=0;o<a.length;o++){var s=a[o];s.subtract=AN(s,a.slice(0,o))}return a}function hfe(e,t){if(Array.isArray(e))for(var r=t.cd,n=t.cd[0].trace,i=0;i<e.length;i++)e[i]=kct(e[i],n,r);return e}function dfe(e,t){for(var r=[],n=0;n<e.length;n++){r[n]=[];for(var i=0;i<e[n].length;i++){r[n][i]=[],r[n][i][0]=i?\"L\":\"M\";for(var a=0;a<e[n][i].length;a++)r[n][i].push(e[n][i][a])}t||r[n].push([\"Z\",r[n][0][1],r[n][0][2]])}return r}function vfe(e,t){for(var r=[],n,i=[],a,o=0;o<t.length;o++){var s=t[o];a=s._module.selectPoints(s,e),i.push(a),n=hfe(a,s),r=r.concat(n)}return r}function mN(e,t,r,n,i){var a=!!n,o,s,l;i&&(o=i.plotinfo,s=i.xaxes[0]._id,l=i.yaxes[0]._id);var u=[],c=[],f=nfe(e),h=e._fullLayout;if(o){var d=h._zoomlayer,v=h.dragmode,x=MM(v),b=_N(v);if(x||b){var p=k0(e,s,\"x\"),E=k0(e,l,\"y\");if(p&&E){var k=d.selectAll(\".select-outline-\"+o.id);if(k&&e._fullLayout._outlining&&k.length){for(var A=k[0][0],L=A.getAttribute(\"d\"),_=Pct(L,e,o),C=[],M=0;M<_.length;M++){for(var g=_[M],P=[],T=0;T<g.length;T++)P.push([d_(p,g[T][1]),d_(E,g[T][2])]);P.xref=s,P.yref=l,P.subtract=AN(P,C),C.push(P)}f=f.concat(C)}}}}var F=s&&l?[s+l]:h._subplots.cartesian;Jct(e);for(var q={},V=0;V<F.length;V++){var H=F[V],X=H.indexOf(\"y\"),G=H.slice(0,X),N=H.slice(X),W=s&&l?r:void 0;if(W=Qct(f,G,N,W),W){var re=n;if(!a){var ae=k0(e,G,\"x\"),_e=k0(e,N,\"y\");re=gP(e,[ae],[_e],H);for(var Me=0;Me<re.length;Me++){var ke=re[Me],ge=ke.cd[0],ie=ge.trace;if(ke._module.name===\"scattergl\"&&!ge.t.xpx){var Te=ie.x,Ee=ie.y,Ae=ie._length;ge.t.xpx=[],ge.t.ypx=[];for(var ze=0;ze<Ae;ze++)ge.t.xpx[ze]=ae.c2p(Te[ze]),ge.t.ypx[ze]=_e.c2p(Ee[ze])}ke._module.name===\"splom\"&&(q[ie.uid]||(q[ie.uid]=!0))}}var Ce=vfe(W,re);u=u.concat(Ce),c=c.concat(re)}}var me={points:u};kM(e,c,me);var Re=h.clickmode,ce=Re.indexOf(\"event\")>-1&&t;if(!o&&t){var Ge=nfe(e,!0);if(Ge.length){var nt=Ge[0].xref,ct=Ge[0].yref;if(nt&&ct){var qt=gfe(Ge),rt=mfe([k0(e,nt,\"x\"),k0(e,ct,\"y\")]);rt(me,qt)}}e._fullLayout._noEmitSelectedAtStart?e._fullLayout._noEmitSelectedAtStart=!1:ce&&CM(e,me),h._reselect=!1}if(!o&&h._deselect){var ot=h._deselect;s=ot.xref,l=ot.yref,$ct(s,l,c)||pfe(e,s,l,n),ce&&(me.points.length?CM(e,me):SN(e)),h._deselect=!1}return{eventData:me,selectionTesters:r}}function Jct(e){var t=e.calcdata;if(t)for(var r=0;r<t.length;r++){var n=t[r][0],i=n.trace,a=e._fullLayout._splomScenes;if(a){var o=a[i.uid];o&&(o.selectBatch=[])}}}function $ct(e,t,r){for(var n=0;n<r.length;n++){var i=r[n];if(i.xaxis&&i.xaxis._id===e&&i.yaxis&&i.yaxis._id===t)return!0}return!1}function pfe(e,t,r,n){n=gP(e,[k0(e,t,\"x\")],[k0(e,r,\"y\")],t+r);for(var i=0;i<n.length;i++){var a=n[i];a._module.selectPoints(a,!1)}kM(e,n)}function Qct(e,t,r,n){for(var i,a=0;a<e.length;a++){var o=e[a];if(!(t!==o.xref||r!==o.yref))if(i){var s=!!o.subtract;i=ffe(i,o,s),n=TN(i)}else i=[o],n=xN(o)}return n}function nfe(e,t){for(var r=[],n=e._fullLayout,i=n.selections,a=i.length,o=0;o<a;o++)if(!(t&&o!==n._activeSelectionIndex)){var s=i[o];if(s){var l=s.xref,u=s.yref,c=k0(e,l,\"x\"),f=k0(e,u,\"y\"),h,d,v,x,b;if(s.type===\"rect\"){b=[];var p=d_(c,s.x0),E=d_(c,s.x1),k=d_(f,s.y0),A=d_(f,s.y1);b=[[p,k],[p,A],[E,A],[E,k]],h=Math.min(p,E),d=Math.max(p,E),v=Math.min(k,A),x=Math.max(k,A),b.xmin=h,b.xmax=d,b.ymin=v,b.ymax=x,b.xref=l,b.yref=u,b.subtract=!1,b.isRect=!0,r.push(b)}else if(s.type===\"path\")for(var L=s.path.split(\"Z\"),_=[],C=0;C<L.length;C++){var M=L[C];if(M){M+=\"Z\";var g=Qce.extractPathCoords(M,efe.paramIsX,\"raw\"),P=Qce.extractPathCoords(M,efe.paramIsY,\"raw\");h=1/0,d=-1/0,v=1/0,x=-1/0,b=[];for(var T=0;T<g.length;T++){var F=d_(c,g[T]),q=d_(f,P[T]);b.push([F,q]),h=Math.min(F,h),d=Math.max(F,d),v=Math.min(q,v),x=Math.max(q,x)}b.xmin=h,b.xmax=d,b.ymin=v,b.ymax=x,b.xref=l,b.yref=u,b.subtract=AN(b,_),_.push(b),r.push(b)}}}}return r}function AN(e,t){for(var r=!1,n=0;n<t.length;n++)for(var i=t[n],a=0;a<e.length;a++)if(Sct(e[a],i)){r=!r;break}return r}function d_(e,t){return e.type===\"date\"&&(t=t.replace(\"_\",\" \")),e.type===\"log\"?e.c2p(t):e.r2p(t,null,e.calendar)}function gfe(e){for(var t=e.length,r=[],n=0;n<t;n++){var i=e[n];r=r.concat(i),r=r.concat([i[0]])}return eft(r)}function eft(e){return e.isRect=e.length===5&&e[0][0]===e[4][0]&&e[0][1]===e[4][1]&&e[0][0]===e[1][0]&&e[2][0]===e[3][0]&&e[0][1]===e[3][1]&&e[1][1]===e[2][1]||e[0][1]===e[1][1]&&e[2][1]===e[3][1]&&e[0][0]===e[3][0]&&e[1][0]===e[2][0],e.isRect&&(e.xmin=Math.min(e[0][0],e[2][0]),e.xmax=Math.max(e[0][0],e[2][0]),e.ymin=Math.min(e[0][1],e[2][1]),e.ymax=Math.max(e[0][1],e[2][1])),e}function mfe(e){return function(t,r){for(var n,i,a=0;a<e.length;a++){var o=e[a],s=o._id,l=s.charAt(0);if(r.isRect){n||(n={});var u=r[l+\"min\"],c=r[l+\"max\"];u!==void 0&&c!==void 0&&(n[s]=[tfe(o,u),tfe(o,c)].sort(zct))}else i||(i={}),i[s]=r.map(Bct(o))}n&&(t.range=n),i&&(t.lassoPoints=i)}}function tft(e){var t=e.plotinfo;return t.fillRangeItems||mfe(e.xaxes.concat(e.yaxes))}function rft(e,t){e.emit(\"plotly_selecting\",t)}function CM(e,t){t&&(t.selections=(e.layout||{}).selections||[]),e.emit(\"plotly_selected\",t)}function SN(e){e.emit(\"plotly_deselect\",null)}yfe.exports={reselect:mN,prepSelect:Uct,clearOutline:ofe,clearSelectionsCache:EM,selectOnClick:ufe}});var MN=ye((Oir,xfe)=>{\"use strict\";xfe.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}]});var PM=ye((Bir,bfe)=>{\"use strict\";bfe.exports={axisRefDescription:function(e,t,r){return[\"If set to a\",e,\"axis id (e.g. *\"+e+\"* or\",\"*\"+e+\"2*), the `\"+e+\"` position refers to a\",e,\"coordinate. If set to *paper*, the `\"+e+\"`\",\"position refers to the distance from the\",t,\"of the plotting\",\"area in normalized coordinates where *0* (*1*) corresponds to the\",t,\"(\"+r+\"). If set to a\",e,\"axis ID followed by\",\"*domain* (separated by a space), the position behaves like for\",\"*paper*, but refers to the distance in fractions of the domain\",\"length from the\",t,\"of the domain of that axis: e.g.,\",\"*\"+e+\"2 domain* refers to the domain of the second\",e,\" axis and a\",e,\"position of 0.5 refers to the\",\"point between the\",t,\"and the\",r,\"of the domain of the\",\"second\",e,\"axis.\"].join(\" \")}}});var Nb=ye((Uir,Afe)=>{\"use strict\";var wfe=MN(),Tfe=Su(),mP=ad(),ift=Vs().templatedArray,Nir=PM();Afe.exports=ift(\"annotation\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},text:{valType:\"string\",editType:\"calc+arraydraw\"},textangle:{valType:\"angle\",dflt:0,editType:\"calc+arraydraw\"},font:Tfe({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:wfe.length,dflt:1,editType:\"arraydraw\"},startarrowhead:{valType:\"integer\",min:0,max:wfe.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\",mP.idRegex.x.toString()],editType:\"calc\"},ayref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",mP.idRegex.y.toString()],editType:\"calc\"},xref:{valType:\"enumerated\",values:[\"paper\",mP.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\",mP.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:Tfe({editType:\"arraydraw\"}),editType:\"arraydraw\"},captureevents:{valType:\"boolean\",editType:\"arraydraw\"},editType:\"calc\"})});var Sm=ye((Vir,Sfe)=>{\"use strict\";Sfe.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}});var Eg=ye((Hir,Mfe)=>{\"use strict\";Mfe.exports=function(t){return{valType:\"color\",editType:\"style\",anim:!0}}});var Uc=ye((Gir,Ife)=>{\"use strict\";var Efe=Oc().axisHoverFormat,nft=Wo().texttemplateAttrs,aft=Wo().hovertemplateAttrs,kfe=Jl(),oft=Su(),sft=Ed().dash,lft=Ed().pattern,uft=ao(),cft=Sm(),yP=no().extendFlat,fft=Eg();function Cfe(e){return{valType:\"any\",dflt:0,editType:\"calc\"}}function Lfe(e){return{valType:\"any\",editType:\"calc\"}}function Pfe(e){return{valType:\"enumerated\",values:[\"start\",\"middle\",\"end\"],dflt:\"middle\",editType:\"calc\"}}Ife.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\",anim:!0},x0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\",anim:!0},dx:{valType:\"number\",dflt:1,editType:\"calc\",anim:!0},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\",anim:!0},y0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\",anim:!0},dy:{valType:\"number\",dflt:1,editType:\"calc\",anim:!0},xperiod:Cfe(\"x\"),yperiod:Cfe(\"y\"),xperiod0:Lfe(\"x0\"),yperiod0:Lfe(\"y0\"),xperiodalignment:Pfe(\"x\"),yperiodalignment:Pfe(\"y\"),xhoverformat:Efe(\"x\"),yhoverformat:Efe(\"y\"),offsetgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},alignmentgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},stackgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc\"},groupnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\",editType:\"calc\"},stackgaps:{valType:\"enumerated\",values:[\"infer zero\",\"interpolate\"],dflt:\"infer zero\",editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},texttemplate:nft({},{}),hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"],editType:\"calc\"},hoveron:{valType:\"flaglist\",flags:[\"points\",\"fills\"],editType:\"style\"},hovertemplate:aft({},{keys:cft.eventDataKeys}),line:{color:{valType:\"color\",editType:\"style\",anim:!0},width:{valType:\"number\",min:0,dflt:2,editType:\"style\",anim:!0},shape:{valType:\"enumerated\",values:[\"linear\",\"spline\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\",editType:\"plot\"},smoothing:{valType:\"number\",min:0,max:1.3,dflt:1,editType:\"plot\"},dash:yP({},sft,{editType:\"style\"}),backoff:{valType:\"number\",min:0,dflt:\"auto\",arrayOk:!0,editType:\"plot\"},simplify:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cliponaxis:{valType:\"boolean\",dflt:!0,editType:\"plot\"},fill:{valType:\"enumerated\",values:[\"none\",\"tozeroy\",\"tozerox\",\"tonexty\",\"tonextx\",\"toself\",\"tonext\"],editType:\"calc\"},fillcolor:fft(!0),fillgradient:yP({type:{valType:\"enumerated\",values:[\"radial\",\"horizontal\",\"vertical\",\"none\"],dflt:\"none\",editType:\"calc\"},start:{valType:\"number\",editType:\"calc\"},stop:{valType:\"number\",editType:\"calc\"},colorscale:{valType:\"colorscale\",editType:\"style\"},editType:\"calc\"}),fillpattern:lft,marker:yP({symbol:{valType:\"enumerated\",values:uft.symbolList,dflt:\"circle\",arrayOk:!0,editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,arrayOk:!0,editType:\"style\",anim:!0},angle:{valType:\"angle\",dflt:0,arrayOk:!0,editType:\"plot\",anim:!1},angleref:{valType:\"enumerated\",values:[\"previous\",\"up\"],dflt:\"up\",editType:\"plot\",anim:!1},standoff:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"plot\",anim:!0},size:{valType:\"number\",min:0,dflt:6,arrayOk:!0,editType:\"calc\",anim:!0},maxdisplayed:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},sizeref:{valType:\"number\",dflt:1,editType:\"calc\"},sizemin:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},sizemode:{valType:\"enumerated\",values:[\"diameter\",\"area\"],dflt:\"diameter\",editType:\"calc\"},line:yP({width:{valType:\"number\",min:0,arrayOk:!0,editType:\"style\",anim:!0},editType:\"calc\"},kfe(\"marker.line\",{anim:!0})),gradient:{type:{valType:\"enumerated\",values:[\"radial\",\"horizontal\",\"vertical\",\"none\"],arrayOk:!0,dflt:\"none\",editType:\"calc\"},color:{valType:\"color\",arrayOk:!0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},kfe(\"marker\",{anim:!0})),selected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},unselected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\"],dflt:\"middle center\",arrayOk:!0,editType:\"calc\"},textfont:oft({editType:\"calc\",colorEditType:\"style\",arrayOk:!0}),zorder:{valType:\"integer\",dflt:0,editType:\"plot\"}}});var EN=ye((Wir,zfe)=>{\"use strict\";var Rfe=Nb(),Dfe=Uc().line,hft=Ed().dash,_P=no().extendFlat,dft=Bu().overrideAll,vft=Vs().templatedArray,jir=PM();zfe.exports=dft(vft(\"selection\",{type:{valType:\"enumerated\",values:[\"rect\",\"path\"]},xref:_P({},Rfe.xref,{}),yref:_P({},Rfe.yref,{}),x0:{valType:\"any\"},x1:{valType:\"any\"},y0:{valType:\"any\"},y1:{valType:\"any\"},path:{valType:\"string\",editType:\"arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:.7,editType:\"arraydraw\"},line:{color:Dfe.color,width:_P({},Dfe.width,{min:1,dflt:1}),dash:_P({},hft,{dflt:\"dot\"})}}),\"arraydraw\",\"from-root\")});var Bfe=ye((Zir,Ofe)=>{\"use strict\";var Ffe=Mr(),xP=Qa(),pft=Zd(),gft=EN(),qfe=h_();Ofe.exports=function(t,r){pft(t,r,{name:\"selections\",handleItemDefaults:mft});for(var n=r.selections,i=0;i<n.length;i++){var a=n[i];a&&a.path===void 0&&(a.x0===void 0||a.x1===void 0||a.y0===void 0||a.y1===void 0)&&(r.selections[i]=null)}};function mft(e,t,r){function n(_,C){return Ffe.coerce(e,t,gft,_,C)}var i=n(\"path\"),a=i?\"path\":\"rect\",o=n(\"type\",a),s=o!==\"path\";s&&delete t.path,n(\"opacity\"),n(\"line.color\"),n(\"line.width\"),n(\"line.dash\");for(var l=[\"x\",\"y\"],u=0;u<2;u++){var c=l[u],f={_fullLayout:r},h,d,v,x=xP.coerceRef(e,t,f,c);if(h=xP.getFromId(f,x),h._selectionIndices.push(t._index),v=qfe.rangeToShapePosition(h),d=qfe.shapePositionToRange(h),s){var b=c+\"0\",p=c+\"1\",E=e[b],k=e[p];e[b]=d(e[b],!0),e[p]=d(e[p],!0),xP.coercePosition(t,f,n,x,b),xP.coercePosition(t,f,n,x,p);var A=t[b],L=t[p];A!==void 0&&L!==void 0&&(t[b]=v(A),t[p]=v(L),e[b]=E,e[p]=k)}}s&&Ffe.noneOrAll(e,t,[\"x0\",\"x1\",\"y0\",\"y1\"])}});var Ufe=ye((Xir,Nfe)=>{\"use strict\";Nfe.exports=function(t,r,n){n(\"newselection.mode\");var i=n(\"newselection.line.width\");i&&(n(\"newselection.line.color\"),n(\"newselection.line.dash\")),n(\"activeselection.fillcolor\"),n(\"activeselection.opacity\")}});var IM=ye((Yir,Gfe)=>{\"use strict\";var yft=ba(),Vfe=Mr(),Hfe=af();Gfe.exports=function(t){return function(n,i){var a=n[t];if(Array.isArray(a))for(var o=yft.subplotsRegistry.cartesian,s=o.idRegex,l=i._subplots,u=l.xaxis,c=l.yaxis,f=l.cartesian,h=i._has(\"cartesian\"),d=0;d<a.length;d++){var v=a[d];if(Vfe.isPlainObject(v)){var x=Hfe.cleanId(v.xref,\"x\",!1),b=Hfe.cleanId(v.yref,\"y\",!1),p=s.x.test(x),E=s.y.test(b);if(p||E){h||Vfe.pushUnique(i._basePlotModules,o);var k=!1;p&&u.indexOf(x)===-1&&(u.push(x),k=!0),E&&c.indexOf(b)===-1&&(c.push(b),k=!0),k&&p&&E&&f.push(x+b)}}}}}});var wf=ye((Kir,Wfe)=>{\"use strict\";var jfe=dN(),RM=_fe();Wfe.exports={moduleType:\"component\",name:\"selections\",layoutAttributes:EN(),supplyLayoutDefaults:Bfe(),supplyDrawNewSelectionDefaults:Ufe(),includeBasePlot:IM()(\"selections\"),draw:jfe.draw,drawOne:jfe.drawOne,reselect:RM.reselect,prepSelect:RM.prepSelect,clearOutline:RM.clearOutline,clearSelectionsCache:RM.clearSelectionsCache,selectOnClick:RM.selectOnClick}});var DN=ye((Jir,hhe)=>{\"use strict\";var IN=xa(),C0=Mr(),Zfe=C0.numberFormat,_ft=id(),xft=kL(),bP=ba(),rhe=C0.strTranslate,bft=Pl(),Xfe=va(),v_=ao(),wft=Nc(),Yfe=Qa(),Tft=Tg(),Aft=gv(),ihe=Sg(),wP=ihe.selectingOrDrawing,Sft=ihe.freeMode,Mft=Nh().FROM_TL,Eft=lM(),kft=gM().redrawReglTraces,Cft=Xu(),CN=af().getFromId,Lft=wf().prepSelect,Pft=wf().clearOutline,Ift=wf().selectOnClick,kN=aN(),RN=ad(),Kfe=RN.MINDRAG,np=RN.MINZOOM,Jfe=!0;function Rft(e,t,r,n,i,a,o,s){var l=e._fullLayout._zoomlayer,u=o+s===\"nsew\",c=(o+s).length===1,f,h,d,v,x,b,p,E,k,A,L,_,C,M,g,P,T,F,q,V,H,X,G;r+=t.yaxis._shift;function N(){if(f=t.xaxis,h=t.yaxis,k=f._length,A=h._length,p=f._offset,E=h._offset,d={},d[f._id]=f,v={},v[h._id]=h,o&&s)for(var Et=t.overlays,dt=0;dt<Et.length;dt++){var Ht=Et[dt].xaxis;d[Ht._id]=Ht;var $t=Et[dt].yaxis;v[$t._id]=$t}x=the(d),b=the(v),C=$fe(x,s),M=$fe(b,o),g=!M&&!C,_=ehe(e,e._fullLayout._axisMatchGroups,d,v),L=ehe(e,e._fullLayout._axisConstraintGroups,d,v,_);var fr=L.isSubplotConstrained||_.isSubplotConstrained;P=s||fr,T=o||fr;var _r=e._fullLayout;F=_r._has(\"scattergl\"),q=_r._has(\"splom\"),V=_r._has(\"svg\")}N();var W=Fft(M+C,e._fullLayout.dragmode,u),re=ahe(t,o+s+\"drag\",W,r,n,i,a);if(g&&!u)return re.onmousedown=null,re.style.pointerEvents=\"none\",re;var ae={element:re,gd:e,plotinfo:t};ae.prepFn=function(Et,dt,Ht){var $t=ae.dragmode,fr=e._fullLayout.dragmode;fr!==$t&&(ae.dragmode=fr),N(),X=e._fullLayout._invScaleX,G=e._fullLayout._invScaleY,g||(u?Et.shiftKey?fr===\"pan\"?fr=\"zoom\":wP(fr)||(fr=\"pan\"):Et.ctrlKey&&(fr=\"pan\"):fr=\"pan\"),Sft(fr)?ae.minDrag=1:ae.minDrag=void 0,wP(fr)?(ae.xaxes=x,ae.yaxes=b,Lft(Et,dt,Ht,ae,fr)):(ae.clickFn=Me,wP($t)&&_e(),g||(fr===\"zoom\"?(ae.moveFn=Ge,ae.doneFn=ct,ae.minDrag=1,ce(Et,dt,Ht)):fr===\"pan\"&&(ae.moveFn=Ct,ae.doneFn=Ke))),e._fullLayout._redrag=function(){var _r=e._dragdata;if(_r&&_r.element===re){var Br=e._fullLayout.dragmode;wP(Br)||(N(),xt([0,0,k,A]),ae.moveFn(_r.dx,_r.dy))}}};function _e(){ae.plotinfo.selection=!1,Pft(e)}function Me(Et,dt){var Ht=ae.gd;if(Ht._fullLayout._activeShapeIndex>=0){Ht._fullLayout._deactivateShape(Ht);return}var $t=Ht._fullLayout.clickmode;if(PN(Ht),Et===2&&!c&&er(),u)$t.indexOf(\"select\")>-1&&Ift(dt,Ht,x,b,t.id,ae),$t.indexOf(\"event\")>-1&&wft.click(Ht,dt,t.id);else if(Et===1&&c){var fr=o?h:f,_r=o===\"s\"||s===\"w\"?0:1,Br=fr._name+\".range[\"+_r+\"]\",Or=Dft(fr,_r),Nr=\"left\",ut=\"middle\";if(fr.fixedrange)return;o?(ut=o===\"n\"?\"top\":\"bottom\",fr.side===\"right\"&&(Nr=\"right\")):s===\"e\"&&(Nr=\"right\"),Ht._context.showAxisRangeEntryBoxes&&IN.select(re).call(bft.makeEditable,{gd:Ht,immediate:!0,background:Ht._fullLayout.paper_bgcolor,text:String(Or),fill:fr.tickfont?fr.tickfont.color:\"#444\",horizontalAlign:Nr,verticalAlign:ut}).on(\"edit\",function(Ne){var Ye=fr.d2r(Ne);Ye!==void 0&&bP.call(\"_guiRelayout\",Ht,Br,Ye)})}}Aft.init(ae);var ke,ge,ie,Te,Ee,Ae,ze,Ce,me,Re;function ce(Et,dt,Ht){var $t=re.getBoundingClientRect();ke=dt-$t.left,ge=Ht-$t.top,e._fullLayout._calcInverseTransform(e);var fr=C0.apply3DTransform(e._fullLayout._invTransform)(ke,ge);ke=fr[0],ge=fr[1],ie={l:ke,r:ke,w:0,t:ge,b:ge,h:0},Te=e._hmpixcount?e._hmlumcount/e._hmpixcount:_ft(e._fullLayout.plot_bgcolor).getLuminance(),Ee=\"M0,0H\"+k+\"V\"+A+\"H0V0\",Ae=!1,ze=\"xy\",Re=!1,Ce=ohe(l,Te,p,E,Ee),me=she(l,p,E)}function Ge(Et,dt){if(e._transitioningWithDuration)return!1;var Ht=Math.max(0,Math.min(k,X*Et+ke)),$t=Math.max(0,Math.min(A,G*dt+ge)),fr=Math.abs(Ht-ke),_r=Math.abs($t-ge);ie.l=Math.min(ke,Ht),ie.r=Math.max(ke,Ht),ie.t=Math.min(ge,$t),ie.b=Math.max(ge,$t);function Br(){ze=\"\",ie.r=ie.l,ie.t=ie.b,me.attr(\"d\",\"M0,0Z\")}if(L.isSubplotConstrained)fr>np||_r>np?(ze=\"xy\",fr/k>_r/A?(_r=fr*A/k,ge>$t?ie.t=ge-_r:ie.b=ge+_r):(fr=_r*k/A,ke>Ht?ie.l=ke-fr:ie.r=ke+fr),me.attr(\"d\",TP(ie))):Br();else if(_.isSubplotConstrained)if(fr>np||_r>np){ze=\"xy\";var Or=Math.min(ie.l/k,(A-ie.b)/A),Nr=Math.max(ie.r/k,(A-ie.t)/A);ie.l=Or*k,ie.r=Nr*k,ie.b=(1-Or)*A,ie.t=(1-Nr)*A,me.attr(\"d\",TP(ie))}else Br();else!M||_r<Math.min(Math.max(fr*.6,Kfe),np)?fr<Kfe||!C?Br():(ie.t=0,ie.b=A,ze=\"x\",me.attr(\"d\",qft(ie,ge))):!C||fr<Math.min(_r*.6,np)?(ie.l=0,ie.r=k,ze=\"y\",me.attr(\"d\",Oft(ie,ke))):(ze=\"xy\",me.attr(\"d\",TP(ie)));ie.w=ie.r-ie.l,ie.h=ie.b-ie.t,ze&&(Re=!0),e._dragged=Re,lhe(Ce,me,ie,Ee,Ae,Te),nt(),e.emit(\"plotly_relayouting\",H),Ae=!0}function nt(){H={},(ze===\"xy\"||ze===\"x\")&&(LN(x,ie.l/k,ie.r/k,H,L.xaxes),Yt(\"x\",H)),(ze===\"xy\"||ze===\"y\")&&(LN(b,(A-ie.b)/A,(A-ie.t)/A,H,L.yaxes),Yt(\"y\",H))}function ct(){nt(),PN(e),Ke(),che(e)}var qt=[0,0,k,A],rt=null,ot=RN.REDRAWDELAY,Rt=t.mainplot?e._fullLayout._plots[t.mainplot]:t;function kt(Et){if(!e._context._scrollZoom.cartesian&&!e._fullLayout._enablescrollzoom)return;if(_e(),e._transitioningWithDuration){Et.preventDefault(),Et.stopPropagation();return}N(),clearTimeout(rt);var dt=-Et.deltaY;if(isFinite(dt)||(dt=Et.wheelDelta/10),!isFinite(dt)){C0.log(\"Did not find wheel motion attributes: \",Et);return}var Ht=Math.exp(-Math.min(Math.max(dt,-20),20)/200),$t=Rt.draglayer.select(\".nsewdrag\").node().getBoundingClientRect(),fr=(Et.clientX-$t.left)/$t.width,_r=($t.bottom-Et.clientY)/$t.height,Br;function Or(Nr,ut,Ne){if(Nr.fixedrange)return;var Ye=C0.simpleMap(Nr.range,Nr.r2l),Ve=Ye[0]+(Ye[1]-Ye[0])*ut;function Xe(ht){return Nr.l2r(Ve+(ht-Ve)*Ne)}Nr.range=Ye.map(Xe)}if(P){for(s||(fr=.5),Br=0;Br<x.length;Br++)Or(x[Br],fr,Ht);Yt(\"x\"),qt[2]*=Ht,qt[0]+=qt[2]*fr*(1/Ht-1)}if(T){for(o||(_r=.5),Br=0;Br<b.length;Br++)Or(b[Br],_r,Ht);Yt(\"y\"),qt[3]*=Ht,qt[1]+=qt[3]*(1-_r)*(1/Ht-1)}xt(qt),xr(),e.emit(\"plotly_relayouting\",H),rt=setTimeout(function(){e._fullLayout&&(qt=[0,0,k,A],Ke())},ot),Et.preventDefault()}o.length*s.length!==1&&fhe(re,kt);function Ct(Et,dt){if(Et=Et*X,dt=dt*G,e._transitioningWithDuration)return;if(e._fullLayout._replotting=!0,C===\"ew\"||M===\"ns\"){var Ht=C?-Et:0,$t=M?-dt:0;if(_.isSubplotConstrained){if(C&&M){var fr=(Et/k-dt/A)/2;Et=fr*k,dt=-fr*A,Ht=-Et,$t=-dt}M?Ht=-$t*k/A:$t=-Ht*A/k}C&&(Qfe(x,Et),Yt(\"x\")),M&&(Qfe(b,dt),Yt(\"y\")),xt([Ht,$t,k,A]),xr(),e.emit(\"plotly_relayouting\",H);return}function _r(Xe,ht,Le){for(var xe=1-ht,Se,lt,Gt=0;Gt<Xe.length;Gt++){var Vt=Xe[Gt];if(!Vt.fixedrange){Se=Vt,lt=Vt._rl[xe]+(Vt._rl[ht]-Vt._rl[xe])/zft(Le/Vt._length);var ar=Vt.l2r(lt);ar!==!1&&ar!==void 0&&(Vt.range[ht]=ar)}}return Se._length*(Se._rl[ht]-lt)/(Se._rl[ht]-Se._rl[xe])}var Br=C===\"w\"==(M===\"n\")?1:-1;if(C&&M&&(L.isSubplotConstrained||_.isSubplotConstrained)){var Or=(Et/k+Br*dt/A)/2;Et=Or*k,dt=Br*Or*A}var Nr,ut;if(C===\"w\"?Et=_r(x,0,Et):C===\"e\"?Et=_r(x,1,-Et):C||(Et=0),M===\"n\"?dt=_r(b,1,dt):M===\"s\"?dt=_r(b,0,-dt):M||(dt=0),Nr=C===\"w\"?Et:0,ut=M===\"n\"?dt:0,L.isSubplotConstrained&&!_.isSubplotConstrained||_.isSubplotConstrained&&C&&M&&Br>0){var Ne;if(_.isSubplotConstrained||!C&&M.length===1){for(Ne=0;Ne<x.length;Ne++)x[Ne].range=x[Ne]._r.slice(),kN(x[Ne],1-dt/A);Et=dt*k/A,Nr=Et/2}if(_.isSubplotConstrained||!M&&C.length===1){for(Ne=0;Ne<b.length;Ne++)b[Ne].range=b[Ne]._r.slice(),kN(b[Ne],1-Et/k);dt=Et*A/k,ut=dt/2}}(!_.isSubplotConstrained||!M)&&Yt(\"x\"),(!_.isSubplotConstrained||!C)&&Yt(\"y\");var Ye=k-Et,Ve=A-dt;_.isSubplotConstrained&&!(C&&M)&&(C?(ut=Nr?0:Et*A/k,Ve=Ye*A/k):(Nr=ut?0:dt*k/A,Ye=Ve*k/A)),xt([Nr,ut,Ye,Ve]),xr(),e.emit(\"plotly_relayouting\",H)}function Yt(Et,dt){for(var Ht=_.isSubplotConstrained?{x:b,y:x}[Et]:_[Et+\"axes\"],$t=_.isSubplotConstrained?{x,y:b}[Et]:[],fr=0;fr<Ht.length;fr++){var _r=Ht[fr],Br=_r._id,Or=_.xLinks[Br]||_.yLinks[Br],Nr=$t[0]||d[Or]||v[Or];Nr&&(dt?(dt[_r._name+\".range[0]\"]=dt[Nr._name+\".range[0]\"],dt[_r._name+\".range[1]\"]=dt[Nr._name+\".range[1]\"]):_r.range=Nr.range.slice())}}function xr(){var Et=[],dt;function Ht(Br){for(dt=0;dt<Br.length;dt++)Br[dt].fixedrange||Et.push(Br[dt]._id)}function $t(Br,Or){for(dt=0;dt<Br.length;dt++){var Nr=Br[dt],ut=Nr[Or];!Nr.fixedrange&&ut.tickmode===\"sync\"&&Et.push(ut._id)}}for(P&&(Ht(x),Ht(L.xaxes),Ht(_.xaxes),$t(t.overlays,\"xaxis\")),T&&(Ht(b),Ht(L.yaxes),Ht(_.yaxes),$t(t.overlays,\"yaxis\")),H={},dt=0;dt<Et.length;dt++){var fr=Et[dt],_r=CN(e,fr);Yfe.drawOne(e,_r,{skipTitle:!0}),H[_r._name+\".range[0]\"]=_r.range[0],H[_r._name+\".range[1]\"]=_r.range[1]}Yfe.redrawComponents(e,Et)}function er(){if(!e._transitioningWithDuration){var Et=e._context.doubleClick,dt=[];C&&(dt=dt.concat(x)),M&&(dt=dt.concat(b)),_.xaxes&&(dt=dt.concat(_.xaxes)),_.yaxes&&(dt=dt.concat(_.yaxes));var Ht={},$t,fr;if(Et===\"reset+autosize\")for(Et=\"autosize\",fr=0;fr<dt.length;fr++){$t=dt[fr];var _r=$t._rangeInitial0,Br=$t._rangeInitial1,Or=_r!==void 0||Br!==void 0;if(Or&&(_r!==void 0&&_r!==$t.range[0]||Br!==void 0&&Br!==$t.range[1])||!Or&&$t.autorange!==!0){Et=\"reset\";break}}if(Et===\"autosize\")for(fr=0;fr<dt.length;fr++)$t=dt[fr],$t.fixedrange||(Ht[$t._name+\".autorange\"]=!0);else if(Et===\"reset\"){for((C||L.isSubplotConstrained)&&(dt=dt.concat(L.xaxes)),M&&!L.isSubplotConstrained&&(dt=dt.concat(L.yaxes)),L.isSubplotConstrained&&(C?M||(dt=dt.concat(b)):dt=dt.concat(x)),fr=0;fr<dt.length;fr++)if($t=dt[fr],!$t.fixedrange){var Nr=$t._name,ut=$t._autorangeInitial;$t._rangeInitial0===void 0&&$t._rangeInitial1===void 0?Ht[Nr+\".autorange\"]=!0:$t._rangeInitial0===void 0?(Ht[Nr+\".autorange\"]=ut,Ht[Nr+\".range\"]=[null,$t._rangeInitial1]):$t._rangeInitial1===void 0?(Ht[Nr+\".range\"]=[$t._rangeInitial0,null],Ht[Nr+\".autorange\"]=ut):Ht[Nr+\".range\"]=[$t._rangeInitial0,$t._rangeInitial1]}}e.emit(\"plotly_doubleclick\",null),bP.call(\"_guiRelayout\",e,Ht)}}function Ke(){xt([0,0,k,A]),C0.syncOrAsync([Cft.previousPromises,function(){e._fullLayout._replotting=!1,bP.call(\"_guiRelayout\",e,H)}],e)}function xt(Et){var dt=e._fullLayout,Ht=dt._plots,$t=dt._subplots.cartesian,fr,_r,Br,Or;if(q&&bP.subplotsRegistry.splom.drag(e),F){for(fr=0;fr<$t.length;fr++)if(_r=Ht[$t[fr]],Br=_r.xaxis,Or=_r.yaxis,_r._scene){Br.limitRange&&Br.limitRange(),Or.limitRange&&Or.limitRange();var Nr=C0.simpleMap(Br.range,Br.r2l),ut=C0.simpleMap(Or.range,Or.r2l);_r._scene.update({range:[Nr[0],ut[0],Nr[1],ut[1]]})}}if((q||F)&&(Eft(e),kft(e)),V){var Ne=Et[2]/f._length,Ye=Et[3]/h._length;for(fr=0;fr<$t.length;fr++){_r=Ht[$t[fr]],Br=_r.xaxis,Or=_r.yaxis;var Ve=(P||_.isSubplotConstrained)&&!Br.fixedrange&&d[Br._id],Xe=(T||_.isSubplotConstrained)&&!Or.fixedrange&&v[Or._id],ht,Le,xe,Se;if(Ve?(ht=Ne,xe=s||_.isSubplotConstrained?Et[0]:St(Br,ht)):_.xaHash[Br._id]?(ht=Ne,xe=Et[0]*Br._length/f._length):_.yaHash[Br._id]?(ht=Ye,xe=M===\"ns\"?-Et[1]*Br._length/h._length:St(Br,ht,{n:\"top\",s:\"bottom\"}[M])):(ht=bt(Br,Ne,Ye),xe=Lt(Br,ht)),ht>1&&(Br.maxallowed!==void 0&&P===(Br.range[0]<Br.range[1]?\"e\":\"w\")||Br.minallowed!==void 0&&P===(Br.range[0]<Br.range[1]?\"w\":\"e\"))&&(ht=1,xe=0),Xe?(Le=Ye,Se=o||_.isSubplotConstrained?Et[1]:St(Or,Le)):_.yaHash[Or._id]?(Le=Ye,Se=Et[1]*Or._length/h._length):_.xaHash[Or._id]?(Le=Ne,Se=C===\"ew\"?-Et[0]*Or._length/f._length:St(Or,Le,{e:\"right\",w:\"left\"}[C])):(Le=bt(Or,Ne,Ye),Se=Lt(Or,Le)),Le>1&&(Or.maxallowed!==void 0&&T===(Or.range[0]<Or.range[1]?\"n\":\"s\")||Or.minallowed!==void 0&&T===(Or.range[0]<Or.range[1]?\"s\":\"n\"))&&(Le=1,Se=0),!(!ht&&!Le)){ht||(ht=1),Le||(Le=1);var lt=Br._offset-xe/ht,Gt=Or._offset-Se/Le;_r.clipRect.call(v_.setTranslate,xe,Se).call(v_.setScale,ht,Le),_r.plot.call(v_.setTranslate,lt,Gt).call(v_.setScale,1/ht,1/Le),(ht!==_r.xScaleFactor||Le!==_r.yScaleFactor)&&(v_.setPointGroupScale(_r.zoomScalePts,ht,Le),v_.setTextPointsScale(_r.zoomScaleTxt,ht,Le)),v_.hideOutsideRangePoints(_r.clipOnAxisFalseTraces,_r),_r.xScaleFactor=ht,_r.yScaleFactor=Le}}}}function bt(Et,dt,Ht){return Et.fixedrange?0:P&&L.xaHash[Et._id]?dt:T&&(L.isSubplotConstrained?L.xaHash:L.yaHash)[Et._id]?Ht:0}function Lt(Et,dt){return dt?(Et.range=Et._r.slice(),kN(Et,dt),St(Et,dt)):0}function St(Et,dt,Ht){return Et._length*(1-dt)*Mft[Ht||Et.constraintoward||\"middle\"]}return re}function nhe(e,t,r,n){var i=C0.ensureSingle(e.draglayer,t,r,function(a){a.classed(\"drag\",!0).style({fill:\"transparent\",\"stroke-width\":0}).attr(\"data-subplot\",e.id)});return i.call(Tft,n),i.node()}function ahe(e,t,r,n,i,a,o){var s=nhe(e,\"rect\",t,r);return IN.select(s).call(v_.setRect,n,i,a,o),s}function $fe(e,t){for(var r=0;r<e.length;r++)if(!e[r].fixedrange)return t;return\"\"}function Dft(e,t){var r=e.range[t],n=Math.abs(r-e.range[1-t]),i;return e.type===\"date\"?r:e.type===\"log\"?(i=Math.ceil(Math.max(0,-Math.log(n)/Math.LN10))+3,Zfe(\".\"+i+\"g\")(Math.pow(10,r))):(i=Math.floor(Math.log(Math.abs(r))/Math.LN10)-Math.floor(Math.log(n)/Math.LN10)+4,Zfe(\".\"+String(i)+\"g\")(r))}function LN(e,t,r,n,i){for(var a=0;a<e.length;a++){var o=e[a];if(!o.fixedrange)if(o.rangebreaks){var s=o._id.charAt(0)===\"y\",l=s?1-t:t,u=s?1-r:r;n[o._name+\".range[0]\"]=o.l2r(o.p2l(l*o._length)),n[o._name+\".range[1]\"]=o.l2r(o.p2l(u*o._length))}else{var c=o._rl[0],f=o._rl[1]-c;n[o._name+\".range[0]\"]=o.l2r(c+f*t),n[o._name+\".range[1]\"]=o.l2r(c+f*r)}}if(i&&i.length){var h=(t+(1-r))/2;LN(i,h,1-h,n,[])}}function Qfe(e,t){for(var r=0;r<e.length;r++){var n=e[r];if(!n.fixedrange){if(n.rangebreaks){var i=0,a=n._length,o=n.p2l(i+t)-n.p2l(i),s=n.p2l(a+t)-n.p2l(a),l=(o+s)/2;n.range=[n.l2r(n._rl[0]-l),n.l2r(n._rl[1]-l)]}else n.range=[n.l2r(n._rl[0]-t/n._m),n.l2r(n._rl[1]-t/n._m)];n.limitRange&&n.limitRange()}}}function zft(e){return 1-(e>=0?Math.min(e,.9):1/(1/Math.max(e,-.3)+3.222))}function Fft(e,t,r){return e?e===\"nsew\"?r?\"\":t===\"pan\"?\"move\":\"crosshair\":e.toLowerCase()+\"-resize\":\"pointer\"}function ohe(e,t,r,n,i){return e.append(\"path\").attr(\"class\",\"zoombox\").style({fill:t>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"transform\",rhe(r,n)).attr(\"d\",i+\"Z\")}function she(e,t,r){return e.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:Xfe.background,stroke:Xfe.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"transform\",rhe(t,r)).attr(\"d\",\"M0,0Z\")}function lhe(e,t,r,n,i,a){e.attr(\"d\",n+\"M\"+r.l+\",\"+r.t+\"v\"+r.h+\"h\"+r.w+\"v-\"+r.h+\"h-\"+r.w+\"Z\"),uhe(e,t,i,a)}function uhe(e,t,r,n){r||(e.transition().style(\"fill\",n>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),t.transition().style(\"opacity\",1).duration(200))}function PN(e){IN.select(e).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}function che(e){Jfe&&e.data&&e._context.showTips&&(C0.notifier(C0._(e,\"Double-click to zoom back out\"),\"long\"),Jfe=!1)}function qft(e,t){return\"M\"+(e.l-.5)+\",\"+(t-np-.5)+\"h-3v\"+(2*np+1)+\"h3ZM\"+(e.r+.5)+\",\"+(t-np-.5)+\"h3v\"+(2*np+1)+\"h-3Z\"}function Oft(e,t){return\"M\"+(t-np-.5)+\",\"+(e.t-.5)+\"v-3h\"+(2*np+1)+\"v3ZM\"+(t-np-.5)+\",\"+(e.b+.5)+\"v3h\"+(2*np+1)+\"v-3Z\"}function TP(e){var t=Math.floor(Math.min(e.b-e.t,e.r-e.l,np)/2);return\"M\"+(e.l-3.5)+\",\"+(e.t-.5+t)+\"h3v\"+-t+\"h\"+t+\"v-3h-\"+(t+3)+\"ZM\"+(e.r+3.5)+\",\"+(e.t-.5+t)+\"h-3v\"+-t+\"h\"+-t+\"v-3h\"+(t+3)+\"ZM\"+(e.r+3.5)+\",\"+(e.b+.5-t)+\"h-3v\"+t+\"h\"+-t+\"v3h\"+(t+3)+\"ZM\"+(e.l-3.5)+\",\"+(e.b+.5-t)+\"h3v\"+t+\"h\"+t+\"v3h-\"+(t+3)+\"Z\"}function ehe(e,t,r,n,i){for(var a=!1,o={},s={},l,u,c,f,h=(i||{}).xaHash,d=(i||{}).yaHash,v=0;v<t.length;v++){var x=t[v];for(l in r)if(x[l]){for(c in x)!(i&&(h[c]||d[c]))&&!(c.charAt(0)===\"x\"?r:n)[c]&&(o[c]=l);for(u in n)!(i&&(h[u]||d[u]))&&x[u]&&(a=!0)}for(u in n)if(x[u])for(f in x)!(i&&(h[f]||d[f]))&&!(f.charAt(0)===\"x\"?r:n)[f]&&(s[f]=u)}a&&(C0.extendFlat(o,s),s={});var b={},p=[];for(c in o){var E=CN(e,c);p.push(E),b[E._id]=E}var k={},A=[];for(f in s){var L=CN(e,f);A.push(L),k[L._id]=L}return{xaHash:b,yaHash:k,xaxes:p,yaxes:A,xLinks:o,yLinks:s,isSubplotConstrained:a}}function fhe(e,t){if(!xft)e.onwheel!==void 0?e.onwheel=t:e.onmousewheel!==void 0?e.onmousewheel=t:e.isAddedWheelEvent||(e.isAddedWheelEvent=!0,e.addEventListener(\"wheel\",t,{passive:!1}));else{var r=e.onwheel!==void 0?\"wheel\":\"mousewheel\";e._onwheel&&e.removeEventListener(r,e._onwheel),e._onwheel=t,e.addEventListener(r,t,{passive:!1})}}function the(e){var t=[];for(var r in e)t.push(e[r]);return t}hhe.exports={makeDragBox:Rft,makeDragger:nhe,makeRectDragger:ahe,makeZoombox:ohe,makeCorners:she,updateZoombox:lhe,xyCorners:TP,transitionZoombox:uhe,removeZoombox:PN,showDoubleClickNotifier:che,attachWheelEventHandler:fhe}});var zN=ye(SP=>{\"use strict\";var Bft=xa(),AP=Nc(),Nft=gv(),Uft=Tg(),kg=DN().makeDragBox,ud=ad().DRAGGERSIZE;SP.initInteractions=function(t){var r=t._fullLayout;if(t._context.staticPlot){Bft.select(t).selectAll(\".drag\").remove();return}if(!(!r._has(\"cartesian\")&&!r._has(\"splom\"))){var n=Object.keys(r._plots||{}).sort(function(a,o){if((r._plots[a].mainplot&&!0)===(r._plots[o].mainplot&&!0)){var s=a.split(\"y\"),l=o.split(\"y\");return s[0]===l[0]?Number(s[1]||1)-Number(l[1]||1):Number(s[0]||1)-Number(l[0]||1)}return r._plots[a].mainplot?1:-1});n.forEach(function(a){var o=r._plots[a],s=o.xaxis,l=o.yaxis;if(!o.mainplot){var u=kg(t,o,s._offset,l._offset,s._length,l._length,\"ns\",\"ew\");u.onmousemove=function(h){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===a&&t._fullLayout._plots[a]&&AP.hover(t,h,a)},AP.hover(t,h,a),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=a},u.onmouseout=function(h){t._dragging||(t._fullLayout._hoversubplot=null,Nft.unhover(t,h))},t._context.showAxisDragHandles&&(kg(t,o,s._offset-ud,l._offset-ud,ud,ud,\"n\",\"w\"),kg(t,o,s._offset+s._length,l._offset-ud,ud,ud,\"n\",\"e\"),kg(t,o,s._offset-ud,l._offset+l._length,ud,ud,\"s\",\"w\"),kg(t,o,s._offset+s._length,l._offset+l._length,ud,ud,\"s\",\"e\"))}if(t._context.showAxisDragHandles){if(a===s._mainSubplot){var c=s._mainLinePosition;s.side===\"top\"&&(c-=ud),kg(t,o,s._offset+s._length*.1,c,s._length*.8,ud,\"\",\"ew\"),kg(t,o,s._offset,c,s._length*.1,ud,\"\",\"w\"),kg(t,o,s._offset+s._length*.9,c,s._length*.1,ud,\"\",\"e\")}if(a===l._mainSubplot){var f=l._mainLinePosition;l.side!==\"right\"&&(f-=ud),kg(t,o,f,l._offset+l._length*.1,ud,l._length*.8,\"ns\",\"\"),kg(t,o,f,l._offset+l._length*.9,ud,l._length*.1,\"s\",\"\"),kg(t,o,f,l._offset,ud,l._length*.1,\"n\",\"\")}}});var i=r._hoverlayer.node();i.onmousemove=function(a){a.target=t._fullLayout._lasthover,AP.hover(t,a,r._hoversubplot)},i.onclick=function(a){a.target=t._fullLayout._lasthover,AP.click(t,a)},i.onmousedown=function(a){t._fullLayout._lasthover.onmousedown(a)},SP.updateFx(t)}};SP.updateFx=function(e){var t=e._fullLayout,r=t.dragmode===\"pan\"?\"move\":\"crosshair\";Uft(t._draggers,r)}});var phe=ye((Qir,vhe)=>{\"use strict\";var dhe=ba();vhe.exports=function(t){for(var r=dhe.layoutArrayContainers,n=dhe.layoutArrayRegexes,i=t.split(\"[\")[0],a,o,s=0;s<n.length;s++)if(o=t.match(n[s]),o&&o.index===0){a=o[0];break}if(a||(a=r[r.indexOf(i)]),!a)return!1;var l=t.substr(a.length);return l?(o=l.match(/^\\[(0|[1-9][0-9]*)\\](\\.(.+))?$/),o?{array:a,index:Number(o[1]),property:o[3]||\"\"}:!1):{array:a,index:\"\",property:\"\"}}});var mhe=ye(zM=>{\"use strict\";var Vft=gy(),FN=g6(),DM=G1(),Hft=k6().sorterAsc,qN=ba();zM.containerArrayMatch=phe();var Gft=zM.isAddVal=function(t){return t===\"add\"||Vft(t)},ghe=zM.isRemoveVal=function(t){return t===null||t===\"remove\"};zM.applyContainerArrayChanges=function(t,r,n,i,a){var o=r.astr,s=qN.getComponentMethod(o,\"supplyLayoutDefaults\"),l=qN.getComponentMethod(o,\"draw\"),u=qN.getComponentMethod(o,\"drawOne\"),c=i.replot||i.recalc||s===FN||l===FN,f=t.layout,h=t._fullLayout;if(n[\"\"]){Object.keys(n).length>1&&DM.warn(\"Full array edits are incompatible with other edits\",o);var d=n[\"\"][\"\"];if(ghe(d))r.set(null);else if(Array.isArray(d))r.set(d);else return DM.warn(\"Unrecognized full array edit value\",o,d),!0;return c?!1:(s(f,h),l(t),!0)}var v=Object.keys(n).map(Number).sort(Hft),x=r.get(),b=x||[],p=a(h,o).get(),E=[],k=-1,A=b.length,L,_,C,M,g,P,T,F;for(L=0;L<v.length;L++){if(C=v[L],M=n[C],g=Object.keys(M),P=M[\"\"],T=Gft(P),C<0||C>b.length-(T?0:1)){DM.warn(\"index out of range\",o,C);continue}if(P!==void 0)g.length>1&&DM.warn(\"Insertion & removal are incompatible with edits to the same index.\",o,C),ghe(P)?E.push(C):T?(P===\"add\"&&(P={}),b.splice(C,0,P),p&&p.splice(C,0,{})):DM.warn(\"Unrecognized full object edit value\",o,C,P),k===-1&&(k=C);else for(_=0;_<g.length;_++)F=o+\"[\"+C+\"].\",a(b[C],g[_],F).set(M[g[_]])}for(L=E.length-1;L>=0;L--)b.splice(E[L],1),p&&p.splice(E[L],1);if(b.length?x||r.set(b):r.set(null),c)return!1;if(s(f,h),u!==FN){var q;if(k===-1)q=v;else{for(A=Math.max(b.length,A),q=[],L=0;L<v.length&&(C=v[L],!(C>=k));L++)q.push(C);for(L=k;L<A;L++)q.push(L)}for(L=0;L<q.length;L++)u(t,q[L])}else l(t);return!0}});var She=ye(Cg=>{\"use strict\";var bhe=uo(),tnr=Lq(),whe=ba(),kp=Mr(),FM=Xu(),The=af(),Ahe=va(),qM=The.cleanId,jft=The.getFromTrace,ON=whe.traceIs;Cg.clearPromiseQueue=function(e){Array.isArray(e._promises)&&e._promises.length>0&&kp.log(\"Clearing previous rejected promises from queue.\"),e._promises=[]};Cg.cleanLayout=function(e){var t,r;e||(e={}),e.xaxis1&&(e.xaxis||(e.xaxis=e.xaxis1),delete e.xaxis1),e.yaxis1&&(e.yaxis||(e.yaxis=e.yaxis1),delete e.yaxis1),e.scene1&&(e.scene||(e.scene=e.scene1),delete e.scene1);var n=(FM.subplotsRegistry.cartesian||{}).attrRegex,i=(FM.subplotsRegistry.polar||{}).attrRegex,a=(FM.subplotsRegistry.ternary||{}).attrRegex,o=(FM.subplotsRegistry.gl3d||{}).attrRegex,s=Object.keys(e);for(t=0;t<s.length;t++){var l=s[t];if(n&&n.test(l)){var u=e[l];u.anchor&&u.anchor!==\"free\"&&(u.anchor=qM(u.anchor)),u.overlaying&&(u.overlaying=qM(u.overlaying)),u.type||(u.isdate?u.type=\"date\":u.islog?u.type=\"log\":u.isdate===!1&&u.islog===!1&&(u.type=\"linear\")),(u.autorange===\"withzero\"||u.autorange===\"tozero\")&&(u.autorange=!0,u.rangemode=\"tozero\"),u.insiderange&&delete u.range,delete u.islog,delete u.isdate,delete u.categories,MP(u,\"domain\")&&delete u.domain}}var c=Array.isArray(e.annotations)?e.annotations.length:0;for(t=0;t<c;t++){var f=e.annotations[t];kp.isPlainObject(f)&&(Y3(f,\"xref\"),Y3(f,\"yref\"))}var h=Array.isArray(e.shapes)?e.shapes.length:0;for(t=0;t<h;t++){var d=e.shapes[t];kp.isPlainObject(d)&&(Y3(d,\"xref\"),Y3(d,\"yref\"))}var v=Array.isArray(e.images)?e.images.length:0;for(t=0;t<v;t++){var x=e.images[t];kp.isPlainObject(x)&&(Y3(x,\"xref\"),Y3(x,\"yref\"))}var b=e.legend;return b&&(b.x>3?(b.x=1.02,b.xanchor=\"left\"):b.x<-2&&(b.x=-.02,b.xanchor=\"right\"),b.y>3?(b.y=1.02,b.yanchor=\"bottom\"):b.y<-2&&(b.y=-.02,b.yanchor=\"top\")),e.dragmode===\"rotate\"&&(e.dragmode=\"orbit\"),Ahe.clean(e),e.template&&e.template.layout&&Cg.cleanLayout(e.template.layout),e};function Y3(e,t){var r=e[t],n=t.charAt(0);r&&r!==\"paper\"&&(e[t]=qM(r,n,!0))}Cg.cleanData=function(e){for(var t=0;t<e.length;t++){var r=e[t],n;if(r.type===\"histogramy\"&&\"xbins\"in r&&!(\"ybins\"in r)&&(r.ybins=r.xbins,delete r.xbins),r.type===\"histogramy\"&&Cg.swapXYData(r),(r.type===\"histogramx\"||r.type===\"histogramy\")&&(r.type=\"histogram\"),\"scl\"in r&&!(\"colorscale\"in r)&&(r.colorscale=r.scl,delete r.scl),\"reversescl\"in r&&!(\"reversescale\"in r)&&(r.reversescale=r.reversescl,delete r.reversescl),r.xaxis&&(r.xaxis=qM(r.xaxis,\"x\")),r.yaxis&&(r.yaxis=qM(r.yaxis,\"y\")),ON(r,\"gl3d\")&&r.scene&&(r.scene=FM.subplotsRegistry.gl3d.cleanId(r.scene)),!ON(r,\"pie-like\")&&!ON(r,\"bar-like\"))if(Array.isArray(r.textposition))for(n=0;n<r.textposition.length;n++)r.textposition[n]=_he(r.textposition[n]);else r.textposition&&(r.textposition=_he(r.textposition));var i=whe.getModule(r);if(i&&i.colorbar){var a=i.colorbar.container,o=a?r[a]:r;o&&o.colorscale&&(o.colorscale===\"YIGnBu\"&&(o.colorscale=\"YlGnBu\"),o.colorscale===\"YIOrRd\"&&(o.colorscale=\"YlOrRd\"))}if(r.type===\"surface\"&&kp.isPlainObject(r.contours)){var s=[\"x\",\"y\",\"z\"];for(n=0;n<s.length;n++){var l=r.contours[s[n]];kp.isPlainObject(l)&&(l.highlightColor&&(l.highlightcolor=l.highlightColor,delete l.highlightColor),l.highlightWidth&&(l.highlightwidth=l.highlightWidth,delete l.highlightWidth))}}if(r.type===\"candlestick\"||r.type===\"ohlc\"){var u=(r.increasing||{}).showlegend!==!1,c=(r.decreasing||{}).showlegend!==!1,f=yhe(r.increasing),h=yhe(r.decreasing);if(f!==!1&&h!==!1){var d=Wft(f,h,u,c);d&&(r.name=d)}else(f||h)&&!r.name&&(r.name=f||h)}MP(r,\"line\")&&delete r.line,\"marker\"in r&&(MP(r.marker,\"line\")&&delete r.marker.line,MP(r,\"marker\")&&delete r.marker),Ahe.clean(r),r.autobinx&&(delete r.autobinx,delete r.xbins),r.autobiny&&(delete r.autobiny,delete r.ybins)}};function yhe(e){if(!kp.isPlainObject(e))return!1;var t=e.name;return delete e.name,delete e.showlegend,(typeof t==\"string\"||typeof t==\"number\")&&String(t)}function Wft(e,t,r,n){if(r&&!n)return e;if(n&&!r||!e.trim())return t;if(!t.trim())return e;var i=Math.min(e.length,t.length),a;for(a=0;a<i&&e.charAt(a)===t.charAt(a);a++);var o=e.substr(0,a);return o.trim()}function _he(e){var t=\"middle\",r=\"center\";return typeof e==\"string\"&&(e.indexOf(\"top\")!==-1?t=\"top\":e.indexOf(\"bottom\")!==-1&&(t=\"bottom\"),e.indexOf(\"left\")!==-1?r=\"left\":e.indexOf(\"right\")!==-1&&(r=\"right\")),t+\" \"+r}function MP(e,t){return t in e&&typeof e[t]==\"object\"&&Object.keys(e[t]).length===0}Cg.swapXYData=function(e){var t;if(kp.swapAttrs(e,[\"?\",\"?0\",\"d?\",\"?bins\",\"nbins?\",\"autobin?\",\"?src\",\"error_?\"]),Array.isArray(e.z)&&Array.isArray(e.z[0])&&(e.transpose?delete e.transpose:e.transpose=!0),e.error_x&&e.error_y){var r=e.error_y,n=\"copy_ystyle\"in r?r.copy_ystyle:!(r.color||r.thickness||r.width);kp.swapAttrs(e,[\"error_?.copy_ystyle\"]),n&&kp.swapAttrs(e,[\"error_?.color\",\"error_?.thickness\",\"error_?.width\"])}if(typeof e.hoverinfo==\"string\"){var i=e.hoverinfo.split(\"+\");for(t=0;t<i.length;t++)i[t]===\"x\"?i[t]=\"y\":i[t]===\"y\"&&(i[t]=\"x\");e.hoverinfo=i.join(\"+\")}};Cg.coerceTraceIndices=function(e,t){if(bhe(t))return[t];if(!Array.isArray(t)||!t.length)return e.data.map(function(i,a){return a});if(Array.isArray(t)){for(var r=[],n=0;n<t.length;n++)kp.isIndex(t[n],e.data.length)?r.push(t[n]):kp.warn(\"trace index (\",t[n],\") is not a number or is out of bounds\");return r}return t};Cg.manageArrayContainers=function(e,t,r){var n=e.obj,i=e.parts,a=i.length,o=i[a-1],s=bhe(o);if(s&&t===null){var l=i.slice(0,a-1).join(\".\"),u=kp.nestedProperty(n,l).get();u.splice(o,1)}else s&&e.get()===void 0&&e.get()===void 0&&(r[e.astr]=null),e.set(t)};var Zft=/(\\.[^\\[\\]\\.]+|\\[[^\\[\\]\\.]+\\])$/;function xhe(e){var t=e.search(Zft);if(t>0)return e.substr(0,t)}Cg.hasParent=function(e,t){for(var r=xhe(t);r;){if(r in e)return!0;r=xhe(r)}return!1};var Xft=[\"x\",\"y\",\"z\"];Cg.clearAxisTypes=function(e,t,r){for(var n=0;n<t.length;n++)for(var i=e._fullData[n],a=0;a<3;a++){var o=jft(e,i,Xft[a]);if(o&&o.type!==\"log\"){var s=o._name,l=o._id.substr(1);if(l.substr(0,5)===\"scene\"){if(r[l]!==void 0)continue;s=l+\".\"+s}var u=s+\".type\";r[s]===void 0&&r[u]===void 0&&kp.nestedProperty(e.layout,u).set(null)}}}});var OP=ye(pl=>{\"use strict\";var CP=xa(),Yft=uo(),Kft=$q(),sa=Mr(),Yu=sa.nestedProperty,UN=g3(),ap=lne(),L0=ba(),FP=_3(),Ho=Xu(),Nv=Qa(),Jft=dB(),$ft=Cd(),BN=ao(),Qft=va(),eht=zN().initInteractions,tht=Zp(),rht=wf().clearOutline,Lhe=ub().dfltConfig,EP=mhe(),yh=She(),$l=gM(),p_=Bu(),iht=ad().AX_NAME_PATTERN,NN=0,Mhe=5;function nht(e,t,r,n){var i;if(e=sa.getGraphDiv(e),UN.init(e),sa.isPlainObject(t)){var a=t;t=a.data,r=a.layout,n=a.config,i=a.frames}var o=UN.triggerHandler(e,\"plotly_beforeplot\",[t,r,n]);if(o===!1)return Promise.reject();!t&&!r&&!sa.isPlotDiv(e)&&sa.warn(\"Calling _doPlot as if redrawing but this container doesn't yet have a plot.\",e);function s(){if(i)return pl.addFrames(e,i)}Ihe(e,n),r||(r={}),CP.select(e).classed(\"js-plotly-plot\",!0),BN.makeTester(),Array.isArray(e._promises)||(e._promises=[]);var l=(e.data||[]).length===0&&Array.isArray(t);Array.isArray(t)&&(yh.cleanData(t),l?e.data=t:e.data.push.apply(e.data,t),e.empty=!1),(!e.layout||l)&&(e.layout=yh.cleanLayout(r)),Ho.supplyDefaults(e);var u=e._fullLayout,c=u._has(\"cartesian\");u._replotting=!0,(l||u._shouldCreateBgLayer)&&(Eht(e),u._shouldCreateBgLayer&&delete u._shouldCreateBgLayer),BN.initGradients(e),BN.initPatterns(e),l&&Nv.saveShowSpikeInitial(e);var f=!e.calcdata||e.calcdata.length!==(e._fullData||[]).length;f&&Ho.doCalcdata(e);for(var h=0;h<e.calcdata.length;h++)e.calcdata[h][0].trace=e._fullData[h];e._context.responsive?e._responsiveChartHandler||(e._responsiveChartHandler=function(){sa.isHidden(e)||Ho.resize(e)},window.addEventListener(\"resize\",e._responsiveChartHandler)):sa.clearResponsive(e);var d=sa.extendFlat({},u._size),v=0;function x(){for(var C=u._basePlotModules,M=0;M<C.length;M++)C[M].drawFramework&&C[M].drawFramework(e);!u._glcanvas&&u._has(\"gl\")&&(u._glcanvas=u._glcontainer.selectAll(\".gl-canvas\").data([{key:\"contextLayer\",context:!0,pick:!1},{key:\"focusLayer\",context:!1,pick:!1},{key:\"pickLayer\",context:!1,pick:!0}],function(F){return F.key}),u._glcanvas.enter().append(\"canvas\").attr(\"class\",function(F){return\"gl-canvas gl-canvas-\"+F.key.replace(\"Layer\",\"\")}).style({position:\"absolute\",top:0,left:0,overflow:\"visible\",\"pointer-events\":\"none\"}));var g=e._context.plotGlPixelRatio;if(u._glcanvas){u._glcanvas.attr(\"width\",u.width*g).attr(\"height\",u.height*g).style(\"width\",u.width+\"px\").style(\"height\",u.height+\"px\");var P=u._glcanvas.data()[0].regl;if(P&&(Math.floor(u.width*g)!==P._gl.drawingBufferWidth||Math.floor(u.height*g)!==P._gl.drawingBufferHeight)){var T=\"WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug.\";if(v)sa.error(T);else return sa.log(T+\" Clearing graph and plotting again.\"),Ho.cleanPlot([],{},e._fullData,u),Ho.supplyDefaults(e),u=e._fullLayout,Ho.doCalcdata(e),v++,x()}}return u.modebar.orientation===\"h\"?u._modebardiv.style(\"height\",null).style(\"width\",\"100%\"):u._modebardiv.style(\"width\",null).style(\"height\",u.height+\"px\"),Ho.previousPromises(e)}function b(){if(Ho.clearAutoMarginIds(e),$l.drawMarginPushers(e),Nv.allowAutoMargin(e),e._fullLayout.title.text&&e._fullLayout.title.automargin&&Ho.allowAutoMargin(e,\"title.automargin\"),u._has(\"pie\"))for(var C=e._fullData,M=0;M<C.length;M++){var g=C[M];g.type===\"pie\"&&g.automargin&&Ho.allowAutoMargin(e,\"pie.\"+g.uid+\".automargin\")}return Ho.doAutoMargin(e),Ho.previousPromises(e)}function p(){if(Ho.didMarginChange(d,u._size))return sa.syncOrAsync([b,$l.layoutStyles],e)}function E(){if(!f){k();return}return sa.syncOrAsync([L0.getComponentMethod(\"shapes\",\"calcAutorange\"),L0.getComponentMethod(\"annotations\",\"calcAutorange\"),k],e)}function k(){e._transitioning||($l.doAutoRangeAndConstraints(e),l&&Nv.saveRangeInitial(e),L0.getComponentMethod(\"rangeslider\",\"calcAutorange\")(e))}function A(){return Nv.draw(e,l?\"\":\"redraw\")}var L=[Ho.previousPromises,s,x,b,p];c&&L.push(E),L.push($l.layoutStyles),c&&L.push(A,function(M){var g=M._fullLayout._insideTickLabelsUpdaterange;if(g)return M._fullLayout._insideTickLabelsUpdaterange=void 0,OM(M,g).then(function(){Nv.saveRangeInitial(M,!0)})}),L.push($l.drawData,$l.finalDraw,eht,Ho.addLinks,Ho.rehover,Ho.redrag,Ho.reselect,Ho.doAutoMargin,Ho.previousPromises);var _=sa.syncOrAsync(L,e);return(!_||!_.then)&&(_=Promise.resolve()),_.then(function(){return BM(e),e})}function BM(e){var t=e._fullLayout;t._redrawFromAutoMarginCount?t._redrawFromAutoMarginCount--:e.emit(\"plotly_afterplot\")}function aht(e){return sa.extendFlat(Lhe,e)}function Phe(e,t){try{e._fullLayout._paper.style(\"background\",t)}catch(r){sa.error(r)}}function oht(e,t){var r=Qft.combine(t,\"white\");Phe(e,r)}function Ihe(e,t){if(!e._context){e._context=sa.extendDeep({},Lhe);var r=CP.select(\"base\");e._context._baseUrl=r.size()&&r.attr(\"href\")?window.location.href.split(\"#\")[0]:\"\"}var n=e._context,i,a,o;if(t){for(a=Object.keys(t),i=0;i<a.length;i++)o=a[i],!(o===\"editable\"||o===\"edits\")&&o in n&&(o===\"setBackground\"&&t[o]===\"opaque\"?n[o]=oht:n[o]=t[o]);var s=t.editable;if(s!==void 0)for(n.editable=s,a=Object.keys(n.edits),i=0;i<a.length;i++)n.edits[a[i]]=s;if(t.edits)for(a=Object.keys(t.edits),i=0;i<a.length;i++)o=a[i],o in n.edits&&(n.edits[o]=t.edits[o]);n._exportedPlot=t._exportedPlot}n.staticPlot&&(n.editable=!1,n.edits={},n.autosizable=!1,n.scrollZoom=!1,n.doubleClick=!1,n.showTips=!1,n.showLink=!1,n.displayModeBar=!1),n.displayModeBar===\"hover\"&&!Kft&&(n.displayModeBar=!0),(n.setBackground===\"transparent\"||typeof n.setBackground!=\"function\")&&(n.setBackground=Phe),n._hasZeroHeight=n._hasZeroHeight||e.clientHeight===0,n._hasZeroWidth=n._hasZeroWidth||e.clientWidth===0;var l=n.scrollZoom,u=n._scrollZoom={};if(l===!0)u.cartesian=1,u.gl3d=1,u.geo=1,u.mapbox=1,u.map=1;else if(typeof l==\"string\"){var c=l.split(\"+\");for(i=0;i<c.length;i++)u[c[i]]=1}else l!==!1&&(u.gl3d=1,u.geo=1,u.mapbox=1,u.map=1)}function sht(e){if(e=sa.getGraphDiv(e),!sa.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e);return yh.cleanData(e.data),yh.cleanLayout(e.layout),e.calcdata=void 0,pl._doPlot(e).then(function(){return e.emit(\"plotly_redraw\"),e})}function lht(e,t,r,n){return e=sa.getGraphDiv(e),Ho.cleanPlot([],{},e._fullData||[],e._fullLayout||{}),Ho.purge(e),pl._doPlot(e,t,r,n)}function LP(e,t){var r=t+1,n=[],i,a;for(i=0;i<e.length;i++)a=e[i],a<0?n.push(r+a):n.push(a);return n}function PP(e,t,r){var n,i;for(n=0;n<t.length;n++){if(i=t[n],i!==parseInt(i,10))throw new Error(\"all values in \"+r+\" must be integers\");if(i>=e.data.length||i<-e.data.length)throw new Error(r+\" must be valid indices for gd.data.\");if(t.indexOf(i,n+1)>-1||i>=0&&t.indexOf(-e.data.length+i)>-1||i<0&&t.indexOf(e.data.length+i)>-1)throw new Error(\"each index in \"+r+\" must be unique.\")}}function Rhe(e,t,r){if(!Array.isArray(e.data))throw new Error(\"gd.data must be an array.\");if(typeof t==\"undefined\")throw new Error(\"currentIndices is a required argument.\");if(Array.isArray(t)||(t=[t]),PP(e,t,\"currentIndices\"),typeof r!=\"undefined\"&&!Array.isArray(r)&&(r=[r]),typeof r!=\"undefined\"&&PP(e,r,\"newIndices\"),typeof r!=\"undefined\"&&t.length!==r.length)throw new Error(\"current and new indices must be of equal length.\")}function uht(e,t,r){var n,i;if(!Array.isArray(e.data))throw new Error(\"gd.data must be an array.\");if(typeof t==\"undefined\")throw new Error(\"traces must be defined.\");for(Array.isArray(t)||(t=[t]),n=0;n<t.length;n++)if(i=t[n],typeof i!=\"object\"||Array.isArray(i)||i===null)throw new Error(\"all values in traces array must be non-array objects\");if(typeof r!=\"undefined\"&&!Array.isArray(r)&&(r=[r]),typeof r!=\"undefined\"&&r.length!==t.length)throw new Error(\"if indices is specified, traces.length must equal indices.length\")}function cht(e,t,r,n){var i=sa.isPlainObject(n);if(!Array.isArray(e.data))throw new Error(\"gd.data must be an array\");if(!sa.isPlainObject(t))throw new Error(\"update must be a key:value object\");if(typeof r==\"undefined\")throw new Error(\"indices must be an integer or array of integers\");PP(e,r,\"indices\");for(var a in t){if(!Array.isArray(t[a])||t[a].length!==r.length)throw new Error(\"attribute \"+a+\" must be an array of length equal to indices array length\");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==t[a].length))throw new Error(\"when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object\")}}function fht(e,t,r,n){var i=sa.isPlainObject(n),a=[],o,s,l,u,c;Array.isArray(r)||(r=[r]),r=LP(r,e.data.length-1);for(var f in t)for(var h=0;h<r.length;h++){if(o=e.data[r[h]],l=Yu(o,f),s=l.get(),u=t[f][h],!sa.isArrayOrTypedArray(u))throw new Error(\"attribute: \"+f+\" index: \"+h+\" must be an array\");if(!sa.isArrayOrTypedArray(s))throw new Error(\"cannot extend missing or non-array attribute: \"+f);if(s.constructor!==u.constructor)throw new Error(\"cannot extend array with an array of a different type: \"+f);c=i?n[f][h]:n,Yft(c)||(c=-1),a.push({prop:l,target:s,insert:u,maxp:Math.floor(c)})}return a}function Dhe(e,t,r,n,i){cht(e,t,r,n);for(var a=fht(e,t,r,n),o={},s={},l=0;l<a.length;l++){var u=a[l].prop,c=a[l].maxp,f=i(a[l].target,a[l].insert,c);u.set(f[0]),Array.isArray(o[u.astr])||(o[u.astr]=[]),o[u.astr].push(f[1]),Array.isArray(s[u.astr])||(s[u.astr]=[]),s[u.astr].push(a[l].target.length)}return{update:o,maxPoints:s}}function zhe(e,t){var r=new e.constructor(e.length+t.length);return r.set(e),r.set(t,e.length),r}function Fhe(e,t,r,n){e=sa.getGraphDiv(e);function i(l,u,c){var f,h;if(sa.isTypedArray(l))if(c<0){var d=new l.constructor(0),v=zhe(l,u);c<0?(f=v,h=d):(f=d,h=v)}else if(f=new l.constructor(c),h=new l.constructor(l.length+u.length-c),c===u.length)f.set(u),h.set(l);else if(c<u.length){var x=u.length-c;f.set(u.subarray(x)),h.set(l),h.set(u.subarray(0,x),l.length)}else{var b=c-u.length,p=l.length-b;f.set(l.subarray(p)),f.set(u,b),h.set(l.subarray(0,p))}else f=l.concat(u),h=c>=0&&c<f.length?f.splice(0,f.length-c):[];return[f,h]}var a=Dhe(e,t,r,n,i),o=pl.redraw(e),s=[e,a.update,r,a.maxPoints];return ap.add(e,pl.prependTraces,s,Fhe,arguments),o}function qhe(e,t,r,n){e=sa.getGraphDiv(e);function i(l,u,c){var f,h;if(sa.isTypedArray(l))if(c<=0){var d=new l.constructor(0),v=zhe(u,l);c<0?(f=v,h=d):(f=d,h=v)}else if(f=new l.constructor(c),h=new l.constructor(l.length+u.length-c),c===u.length)f.set(u),h.set(l);else if(c<u.length){var x=u.length-c;f.set(u.subarray(0,x)),h.set(u.subarray(x)),h.set(l,x)}else{var b=c-u.length;f.set(u),f.set(l.subarray(0,b),u.length),h.set(l.subarray(b))}else f=u.concat(l),h=c>=0&&c<f.length?f.splice(c,f.length):[];return[f,h]}var a=Dhe(e,t,r,n,i),o=pl.redraw(e),s=[e,a.update,r,a.maxPoints];return ap.add(e,pl.extendTraces,s,qhe,arguments),o}function Ohe(e,t,r){e=sa.getGraphDiv(e);var n=[],i=pl.deleteTraces,a=Ohe,o=[e,n],s=[e,t],l,u;for(uht(e,t,r),Array.isArray(t)||(t=[t]),t=t.map(function(c){return sa.extendFlat({},c)}),yh.cleanData(t),l=0;l<t.length;l++)e.data.push(t[l]);for(l=0;l<t.length;l++)n.push(-t.length+l);if(typeof r==\"undefined\")return u=pl.redraw(e),ap.add(e,i,o,a,s),u;Array.isArray(r)||(r=[r]);try{Rhe(e,n,r)}catch(c){throw e.data.splice(e.data.length-t.length,t.length),c}return ap.startSequence(e),ap.add(e,i,o,a,s),u=pl.moveTraces(e,n,r),ap.stopSequence(e),u}function Bhe(e,t){e=sa.getGraphDiv(e);var r=[],n=pl.addTraces,i=Bhe,a=[e,r,t],o=[e,t],s,l;if(typeof t==\"undefined\")throw new Error(\"indices must be an integer or array of integers.\");for(Array.isArray(t)||(t=[t]),PP(e,t,\"indices\"),t=LP(t,e.data.length-1),t.sort(sa.sorterDes),s=0;s<t.length;s+=1)l=e.data.splice(t[s],1)[0],r.push(l);var u=pl.redraw(e);return ap.add(e,n,a,i,o),u}function VN(e,t,r){e=sa.getGraphDiv(e);var n=[],i=[],a=VN,o=VN,s=[e,r,t],l=[e,t,r],u;if(Rhe(e,t,r),t=Array.isArray(t)?t:[t],typeof r==\"undefined\")for(r=[],u=0;u<t.length;u++)r.push(-t.length+u);for(r=Array.isArray(r)?r:[r],t=LP(t,e.data.length-1),r=LP(r,e.data.length-1),u=0;u<e.data.length;u++)t.indexOf(u)===-1&&n.push(e.data[u]);for(u=0;u<t.length;u++)i.push({newIndex:r[u],trace:e.data[t[u]]});for(i.sort(function(f,h){return f.newIndex-h.newIndex}),u=0;u<i.length;u+=1)n.splice(i[u].newIndex,0,i[u].trace);e.data=n;var c=pl.redraw(e);return ap.add(e,a,s,o,l),c}function IP(e,t,r,n){e=sa.getGraphDiv(e),yh.clearPromiseQueue(e);var i={};if(typeof t==\"string\")i[t]=r;else if(sa.isPlainObject(t))i=sa.extendFlat({},t),n===void 0&&(n=r);else return sa.warn(\"Restyle fail.\",t,r,n),Promise.reject();Object.keys(i).length&&(e.changed=!0);var a=yh.coerceTraceIndices(e,n),o=Nhe(e,i,a),s=o.flags;s.calc&&(e.calcdata=void 0),s.clearAxisTypes&&yh.clearAxisTypes(e,a,{});var l=[];s.fullReplot?l.push(pl._doPlot):(l.push(Ho.previousPromises),Ho.supplyDefaults(e),s.markerSize&&(Ho.doCalcdata(e),qP(l)),s.style&&l.push($l.doTraceStyle),s.colorbars&&l.push($l.doColorBars),l.push(BM)),l.push(Ho.rehover,Ho.redrag,Ho.reselect),ap.add(e,IP,[e,o.undoit,o.traces],IP,[e,o.redoit,o.traces]);var u=sa.syncOrAsync(l,e);return(!u||!u.then)&&(u=Promise.resolve()),u.then(function(){return e.emit(\"plotly_restyle\",o.eventData),e})}function Cy(e){return e===void 0?null:e}function kP(e,t){return t?function(r,n,i){var a=Yu(r,n),o=a.set;return a.set=function(s){var l=(i||\"\")+n;RP(l,a.get(),s,e),o(s)},a}:Yu}function RP(e,t,r,n){if(Array.isArray(t)||Array.isArray(r))for(var i=Array.isArray(t)?t:[],a=Array.isArray(r)?r:[],o=Math.max(i.length,a.length),s=0;s<o;s++)RP(e+\"[\"+s+\"]\",i[s],a[s],n);else if(sa.isPlainObject(t)||sa.isPlainObject(r)){var l=sa.isPlainObject(t)?t:{},u=sa.isPlainObject(r)?r:{},c=sa.extendFlat({},l,u);for(var f in c)RP(e+\".\"+f,l[f],u[f],n)}else n[e]===void 0&&(n[e]=Cy(t))}function hht(e,t,r){for(var n in r){var i=Yu(e,n);RP(n,i.get(),r[n],t)}}function Nhe(e,t,r){var n=e._fullLayout,i=e._fullData,a=e.data,o=n._guiEditing,s=kP(n._preGUI,o),l=sa.extendDeepAll({},t),u,c=p_.traceFlags(),f={},h={},d;function v(){return r.map(function(){})}function x(me){var Re=Nv.id2name(me);d.indexOf(Re)===-1&&d.push(Re)}function b(me){return\"LAYOUT\"+me+\".autorange\"}function p(me){return\"LAYOUT\"+me+\".range\"}function E(me){for(var Re=me;Re<i.length;Re++)if(i[Re]._input===a[me])return i[Re]}function k(me,Re,ce){if(Array.isArray(me)){me.forEach(function(qt){k(qt,Re,ce)});return}if(!(me in t||yh.hasParent(t,me))){var Ge;if(me.substr(0,6)===\"LAYOUT\")Ge=s(e.layout,me.replace(\"LAYOUT\",\"\"));else{var nt=r[ce],ct=n._tracePreGUI[E(nt)._fullInput.uid];Ge=kP(ct,o)(a[nt],me)}me in h||(h[me]=v()),h[me][ce]===void 0&&(h[me][ce]=Cy(Ge.get())),Re!==void 0&&Ge.set(Re)}}function A(me){return function(Re){return i[Re][me]}}function L(me){return function(Re,ce){return Re===!1?i[r[ce]][me]:null}}for(var _ in t){if(yh.hasParent(t,_))throw new Error(\"cannot set \"+_+\" and a parent attribute simultaneously\");var C=t[_],M,g,P,T,F,q;if((_===\"autobinx\"||_===\"autobiny\")&&(_=_.charAt(_.length-1)+\"bins\",Array.isArray(C)?C=C.map(L(_)):C===!1?C=r.map(A(_)):C=null),f[_]=C,_.substr(0,6)===\"LAYOUT\"){P=s(e.layout,_.replace(\"LAYOUT\",\"\")),h[_]=[Cy(P.get())],P.set(Array.isArray(C)?C[0]:C),c.calc=!0;continue}for(h[_]=v(),u=0;u<r.length;u++){M=a[r[u]],g=E(r[u]);var V=n._tracePreGUI[g._fullInput.uid];if(P=kP(V,o)(M,_),T=P.get(),F=Array.isArray(C)?C[u%C.length]:C,F!==void 0){var H=P.parts[P.parts.length-1],X=_.substr(0,_.length-H.length-1),G=X?X+\".\":\"\",N=X?Yu(g,X).get():g;if(q=FP.getTraceValObject(g,P.parts),q&&q.impliedEdits&&F!==null)for(var W in q.impliedEdits)k(sa.relativeAttr(_,W),q.impliedEdits[W],u);else if((H===\"thicknessmode\"||H===\"lenmode\")&&T!==F&&(F===\"fraction\"||F===\"pixels\")&&N){var re=n._size,ae=N.orient,_e=ae===\"top\"||ae===\"bottom\";if(H===\"thicknessmode\"){var Me=_e?re.h:re.w;k(G+\"thickness\",N.thickness*(F===\"fraction\"?1/Me:Me),u)}else{var ke=_e?re.w:re.h;k(G+\"len\",N.len*(F===\"fraction\"?1/ke:ke),u)}}else if(_===\"type\"&&(F===\"pie\"!=(T===\"pie\")||F===\"funnelarea\"!=(T===\"funnelarea\"))){var ge=\"x\",ie=\"y\";(F===\"bar\"||T===\"bar\")&&M.orientation===\"h\"&&(ge=\"y\",ie=\"x\"),sa.swapAttrs(M,[\"?\",\"?src\"],\"labels\",ge),sa.swapAttrs(M,[\"d?\",\"?0\"],\"label\",ge),sa.swapAttrs(M,[\"?\",\"?src\"],\"values\",ie),T===\"pie\"||T===\"funnelarea\"?(Yu(M,\"marker.color\").set(Yu(M,\"marker.colors\").get()),n._pielayer.selectAll(\"g.trace\").remove()):L0.traceIs(M,\"cartesian\")&&Yu(M,\"marker.colors\").set(Yu(M,\"marker.color\").get())}h[_][u]=Cy(T);var Te=[\"swapxy\",\"swapxyaxes\",\"orientation\",\"orientationaxes\"];if(Te.indexOf(_)!==-1){if(_===\"orientation\"){P.set(F);var Ee=M.x&&!M.y?\"h\":\"v\";if((P.get()||Ee)===g.orientation)continue}else _===\"orientationaxes\"&&(M.orientation={v:\"h\",h:\"v\"}[g.orientation]);yh.swapXYData(M),c.calc=c.clearAxisTypes=!0}else Ho.dataArrayContainers.indexOf(P.parts[0])!==-1?(yh.manageArrayContainers(P,F,h),c.calc=!0):(q?q.arrayOk&&!L0.traceIs(g,\"regl\")&&(sa.isArrayOrTypedArray(F)||sa.isArrayOrTypedArray(T))?c.calc=!0:p_.update(c,q):c.calc=!0,P.set(F))}}if([\"swapxyaxes\",\"orientationaxes\"].indexOf(_)!==-1&&Nv.swap(e,r),_===\"orientationaxes\"){var Ae=Yu(e.layout,\"hovermode\"),ze=Ae.get();ze===\"x\"?Ae.set(\"y\"):ze===\"y\"?Ae.set(\"x\"):ze===\"x unified\"?Ae.set(\"y unified\"):ze===\"y unified\"&&Ae.set(\"x unified\")}if([\"orientation\",\"type\"].indexOf(_)!==-1){for(d=[],u=0;u<r.length;u++){var Ce=a[r[u]];L0.traceIs(Ce,\"cartesian\")&&(x(Ce.xaxis||\"x\"),x(Ce.yaxis||\"y\"))}k(d.map(b),!0,0),k(d.map(p),[0,1],0)}}return(c.calc||c.plot)&&(c.fullReplot=!0),{flags:c,undoit:h,redoit:f,traces:r,eventData:sa.extendDeepNoArrays([],[l,r])}}function OM(e,t,r){e=sa.getGraphDiv(e),yh.clearPromiseQueue(e);var n={};if(typeof t==\"string\")n[t]=r;else if(sa.isPlainObject(t))n=sa.extendFlat({},t);else return sa.warn(\"Relayout fail.\",t,r),Promise.reject();Object.keys(n).length&&(e.changed=!0);var i=Ghe(e,n),a=i.flags;a.calc&&(e.calcdata=void 0);var o=[Ho.previousPromises];a.layoutReplot?o.push($l.layoutReplot):Object.keys(n).length&&(Uhe(e,a,i)||Ho.supplyDefaults(e),a.legend&&o.push($l.doLegend),a.layoutstyle&&o.push($l.layoutStyles),a.axrange&&qP(o,i.rangesAltered),a.ticks&&o.push($l.doTicksRelayout),a.modebar&&o.push($l.doModeBar),a.camera&&o.push($l.doCamera),a.colorbars&&o.push($l.doColorBars),o.push(BM)),o.push(Ho.rehover,Ho.redrag,Ho.reselect),ap.add(e,OM,[e,i.undoit],OM,[e,i.redoit]);var s=sa.syncOrAsync(o,e);return(!s||!s.then)&&(s=Promise.resolve(e)),s.then(function(){return e.emit(\"plotly_relayout\",i.eventData),e})}function Uhe(e,t,r){var n=e._fullLayout;if(!t.axrange)return!1;for(var i in t)if(i!==\"axrange\"&&t[i])return!1;var a,o,s=function(d,v){return sa.coerce(a,o,$ft,d,v)},l={};for(var u in r.rangesAltered){var c=Nv.id2name(u);if(a=e.layout[c],o=n[c],Jft(a,o,s,l),o._matchGroup){for(var f in o._matchGroup)if(f!==u){var h=n[Nv.id2name(f)];h.autorange=o.autorange,h.range=o.range.slice(),h._input.range=o.range.slice()}}}return!0}function qP(e,t){var r=t?function(n){var i=[],a=!0;for(var o in t){var s=Nv.getFromId(n,o);if(i.push(o),(s.ticklabelposition||\"\").indexOf(\"inside\")!==-1&&s._anchorAxis&&i.push(s._anchorAxis._id),s._matchGroup)for(var l in s._matchGroup)t[l]||i.push(l)}return Nv.draw(n,i,{skipTitle:a})}:function(n){return Nv.draw(n,\"redraw\")};e.push(rht,$l.doAutoRangeAndConstraints,r,$l.drawData,$l.finalDraw)}var Vhe=/^[xyz]axis[0-9]*\\.range(\\[[0|1]\\])?$/,Hhe=/^[xyz]axis[0-9]*\\.autorange$/,dht=/^[xyz]axis[0-9]*\\.domain(\\[[0|1]\\])?$/;function Ghe(e,t){var r=e.layout,n=e._fullLayout,i=n._guiEditing,a=kP(n._preGUI,i),o=Object.keys(t),s=Nv.list(e),l=sa.extendDeepAll({},t),u={},c,f,h;for(o=Object.keys(t),f=0;f<o.length;f++)if(o[f].indexOf(\"allaxes\")===0){for(h=0;h<s.length;h++){var d=s[h]._id.substr(1),v=d.indexOf(\"scene\")!==-1?d+\".\":\"\",x=o[f].replace(\"allaxes\",v+s[h]._name);t[x]||(t[x]=t[o[f]])}delete t[o[f]]}var b=p_.layoutFlags(),p={},E={};function k(ct,qt){if(Array.isArray(ct)){ct.forEach(function(ot){k(ot,qt)});return}if(!(ct in t||yh.hasParent(t,ct))){var rt=a(r,ct);ct in E||(E[ct]=Cy(rt.get())),qt!==void 0&&rt.set(qt)}}var A={},L;function _(ct){var qt=Nv.name2id(ct.split(\".\")[0]);return A[qt]=1,qt}for(var C in t){if(yh.hasParent(t,C))throw new Error(\"cannot set \"+C+\" and a parent attribute simultaneously\");for(var M=a(r,C),g=t[C],P=M.parts.length,T=P-1;T>0&&typeof M.parts[T]!=\"string\";)T--;var F=M.parts[T],q=M.parts[T-1]+\".\"+F,V=M.parts.slice(0,T).join(\".\"),H=Yu(e.layout,V).get(),X=Yu(n,V).get(),G=M.get();if(g!==void 0){p[C]=g,E[C]=F===\"reverse\"?g:Cy(G);var N=FP.getLayoutValObject(n,M.parts);if(N&&N.impliedEdits&&g!==null)for(var W in N.impliedEdits)k(sa.relativeAttr(C,W),N.impliedEdits[W]);if([\"width\",\"height\"].indexOf(C)!==-1)if(g){k(\"autosize\",null);var re=C===\"height\"?\"width\":\"height\";k(re,n[re])}else n[C]=e._initialAutoSize[C];else if(C===\"autosize\")k(\"width\",g?null:n.width),k(\"height\",g?null:n.height);else if(q.match(Vhe))_(q),Yu(n,V+\"._inputRange\").set(null);else if(q.match(Hhe)){_(q),Yu(n,V+\"._inputRange\").set(null);var ae=Yu(n,V).get();ae._inputDomain&&(ae._input.domain=ae._inputDomain.slice())}else q.match(dht)&&Yu(n,V+\"._inputDomain\").set(null);if(F===\"type\"){L=H;var _e=X.type===\"linear\"&&g===\"log\",Me=X.type===\"log\"&&g===\"linear\";if(_e||Me){if(!L||!L.range)k(V+\".autorange\",!0);else if(X.autorange)_e&&(L.range=L.range[1]>L.range[0]?[1,2]:[2,1]);else{var ke=L.range[0],ge=L.range[1];_e?(ke<=0&&ge<=0&&k(V+\".autorange\",!0),ke<=0?ke=ge/1e6:ge<=0&&(ge=ke/1e6),k(V+\".range[0]\",Math.log(ke)/Math.LN10),k(V+\".range[1]\",Math.log(ge)/Math.LN10)):(k(V+\".range[0]\",Math.pow(10,ke)),k(V+\".range[1]\",Math.pow(10,ge)))}Array.isArray(n._subplots.polar)&&n._subplots.polar.length&&n[M.parts[0]]&&M.parts[1]===\"radialaxis\"&&delete n[M.parts[0]]._subplot.viewInitial[\"radialaxis.range\"],L0.getComponentMethod(\"annotations\",\"convertCoords\")(e,X,g,k),L0.getComponentMethod(\"images\",\"convertCoords\")(e,X,g,k)}else k(V+\".autorange\",!0),k(V+\".range\",null);Yu(n,V+\"._inputRange\").set(null)}else if(F.match(iht)){var ie=Yu(n,C).get(),Te=(g||{}).type;(!Te||Te===\"-\")&&(Te=\"linear\"),L0.getComponentMethod(\"annotations\",\"convertCoords\")(e,ie,Te,k),L0.getComponentMethod(\"images\",\"convertCoords\")(e,ie,Te,k)}var Ee=EP.containerArrayMatch(C);if(Ee){c=Ee.array,f=Ee.index;var Ae=Ee.property,ze=N||{editType:\"calc\"};f!==\"\"&&Ae===\"\"&&(EP.isAddVal(g)?E[C]=null:EP.isRemoveVal(g)?E[C]=(Yu(r,c).get()||[])[f]:sa.warn(\"unrecognized full object value\",t)),p_.update(b,ze),u[c]||(u[c]={});var Ce=u[c][f];Ce||(Ce=u[c][f]={}),Ce[Ae]=g,delete t[C]}else F===\"reverse\"?(H.range?H.range.reverse():(k(V+\".autorange\",!0),H.range=[1,0]),X.autorange?b.calc=!0:b.plot=!0):(C===\"dragmode\"&&(g===!1&&G!==!1||g!==!1&&G===!1)||n._has(\"scatter-like\")&&n._has(\"regl\")&&C===\"dragmode\"&&(g===\"lasso\"||g===\"select\")&&!(G===\"lasso\"||G===\"select\")?b.plot=!0:N?p_.update(b,N):b.calc=!0,M.set(g))}}for(c in u){var me=EP.applyContainerArrayChanges(e,a(r,c),u[c],b,a);me||(b.plot=!0)}for(var Re in A){L=Nv.getFromId(e,Re);var ce=L&&L._constraintGroup;if(ce){b.calc=!0;for(var Ge in ce)A[Ge]||(Nv.getFromId(e,Ge)._constraintShrinkable=!0)}}(jhe(e)||t.height||t.width)&&(b.plot=!0);var nt=n.shapes;for(f=0;f<nt.length;f++)if(nt[f].showlegend){b.calc=!0;break}return(b.plot||b.calc)&&(b.layoutReplot=!0),{flags:b,rangesAltered:A,undoit:E,redoit:p,eventData:l}}function jhe(e){var t=e._fullLayout,r=t.width,n=t.height;return e.layout.autosize&&Ho.plotAutoSize(e,e.layout,t),t.width!==r||t.height!==n}function DP(e,t,r,n){e=sa.getGraphDiv(e),yh.clearPromiseQueue(e),sa.isPlainObject(t)||(t={}),sa.isPlainObject(r)||(r={}),Object.keys(t).length&&(e.changed=!0),Object.keys(r).length&&(e.changed=!0);var i=yh.coerceTraceIndices(e,n),a=Nhe(e,sa.extendFlat({},t),i),o=a.flags,s=Ghe(e,sa.extendFlat({},r)),l=s.flags;(o.calc||l.calc)&&(e.calcdata=void 0),o.clearAxisTypes&&yh.clearAxisTypes(e,i,r);var u=[];l.layoutReplot?u.push($l.layoutReplot):o.fullReplot?u.push(pl._doPlot):(u.push(Ho.previousPromises),Uhe(e,l,s)||Ho.supplyDefaults(e),o.style&&u.push($l.doTraceStyle),(o.colorbars||l.colorbars)&&u.push($l.doColorBars),l.legend&&u.push($l.doLegend),l.layoutstyle&&u.push($l.layoutStyles),l.axrange&&qP(u,s.rangesAltered),l.ticks&&u.push($l.doTicksRelayout),l.modebar&&u.push($l.doModeBar),l.camera&&u.push($l.doCamera),u.push(BM)),u.push(Ho.rehover,Ho.redrag,Ho.reselect),ap.add(e,DP,[e,a.undoit,s.undoit,a.traces],DP,[e,a.redoit,s.redoit,a.traces]);var c=sa.syncOrAsync(u,e);return(!c||!c.then)&&(c=Promise.resolve(e)),c.then(function(){return e.emit(\"plotly_update\",{data:a.eventData,layout:s.eventData}),e})}function GN(e){return function(r){r._fullLayout._guiEditing=!0;var n=e.apply(null,arguments);return r._fullLayout._guiEditing=!1,n}}var vht=[{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:/^(map\\d*)\\.(center|zoom|bearing|pitch)/},{pattern:/^legend\\.(x|y)$/,attr:\"editrevision\"},{pattern:/^(shapes|annotations)/,attr:\"editrevision\"},{pattern:/^title\\.text$/,attr:\"editrevision\"}],pht=[{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 Ehe(e,t){for(var r=0;r<t.length;r++){var n=t[r],i=e.match(n.pattern);if(i){var a=i[1]||\"\";return{head:a,tail:e.substr(a.length+1),attr:n.attr}}}}function khe(e,t){var r=Yu(t,e).get();if(r!==void 0)return r;var n=e.split(\".\");for(n.pop();n.length>1;)if(n.pop(),r=Yu(t,n.join(\".\")+\".uirevision\").get(),r!==void 0)return r;return t.uirevision}function ght(e,t){for(var r=0;r<t.length;r++)if(t[r]._fullInput.uid===e)return r;return-1}function mht(e,t,r){for(var n=0;n<t.length;n++)if(t[n].uid===e)return n;return!t[r]||t[r].uid?-1:r}function Che(e,t){var r=sa.isPlainObject(e),n=Array.isArray(e);return r||n?(r&&sa.isPlainObject(t)||n&&Array.isArray(t))&&JSON.stringify(e)===JSON.stringify(t):e===t}function yht(e,t,r,n){var i=n._preGUI,a,o,s,l,u,c,f,h,d,v,x=[],b={},p={};for(a in i){if(u=Ehe(a,vht),u){if(d=u.head,v=u.tail,o=u.attr||d+\".uirevision\",s=Yu(n,o).get(),l=s&&khe(o,t),l&&l===s){if(c=i[a],c===null&&(c=void 0),f=Yu(t,a),h=f.get(),Che(h,c)){h===void 0&&v===\"autorange\"&&x.push(d),f.set(Cy(Yu(n,a).get()));continue}else if(v===\"autorange\"||v.substr(0,6)===\"range[\"){var E=i[d+\".range[0]\"],k=i[d+\".range[1]\"],A=i[d+\".autorange\"];if(A||A===null&&E===null&&k===null){if(!(d in b)){var L=Yu(t,d).get();b[d]=L&&(L.autorange||L.autorange!==!1&&(!L.range||L.range.length!==2))}if(b[d]){f.set(Cy(Yu(n,a).get()));continue}}}}}else sa.warn(\"unrecognized GUI edit: \"+a);delete i[a],u&&u.tail.substr(0,6)===\"range[\"&&(p[u.head]=1)}for(var _=0;_<x.length;_++){var C=x[_];if(p[C]){var M=Yu(t,C).get();M&&delete M.autorange}}var g=n._tracePreGUI;for(var P in g){var T=g[P],F=null,q;for(a in T){if(!F){var V=ght(P,r);if(V<0){delete g[P];break}var H=r[V];q=H._fullInput;var X=mht(P,e,q.index);if(X<0){delete g[P];break}F=e[X]}if(u=Ehe(a,pht),u){if(u.attr?(s=Yu(n,u.attr).get(),l=s&&khe(u.attr,t)):(s=q.uirevision,l=F.uirevision,l===void 0&&(l=t.uirevision)),l&&l===s&&(c=T[a],c===null&&(c=void 0),f=Yu(F,a),h=f.get(),Che(h,c))){f.set(Cy(Yu(q,a).get()));continue}}else sa.warn(\"unrecognized GUI edit: \"+a+\" in trace uid \"+P);delete T[a]}}}function _ht(e,t,r,n){var i,a;function o(){return pl.addFrames(e,i)}e=sa.getGraphDiv(e),yh.clearPromiseQueue(e);var s=e._fullData,l=e._fullLayout;if(!sa.isPlotDiv(e)||!s||!l)a=pl.newPlot(e,t,r,n);else{if(sa.isPlainObject(t)){var u=t;t=u.data,r=u.layout,n=u.config,i=u.frames}var c=!1;if(n){var f=sa.extendDeep({},e._context);e._context=void 0,Ihe(e,n),c=HN(f,e._context)}e.data=t||[],yh.cleanData(e.data),e.layout=r||{},yh.cleanLayout(e.layout),yht(e.data,e.layout,s,l),Ho.supplyDefaults(e,{skipUpdateCalc:!0});var h=e._fullData,d=e._fullLayout,v=d.datarevision===void 0,x=d.transition,b=bht(e,l,d,v,x),p=b.newDataRevision,E=xht(e,s,h,v,x,p);if(jhe(e)&&(b.layoutReplot=!0),E.calc||b.calc){e.calcdata=void 0;for(var k=Object.getOwnPropertyNames(d),A=0;A<k.length;A++){var L=k[A],_=L.substring(0,5);if(_===\"xaxis\"||_===\"yaxis\"){var C=d[L]._emptyCategories;C&&C()}}}else Ho.supplyDefaultsUpdateCalc(e.calcdata,h);var M=[];if(i&&(e._transitionData={},Ho.createTransitionData(e),M.push(o)),d.transition&&!c&&(E.anim||b.anim))b.ticks&&M.push($l.doTicksRelayout),Ho.doCalcdata(e),$l.doAutoRangeAndConstraints(e),M.push(function(){return Ho.transitionFromReact(e,E,b,l)});else if(E.fullReplot||b.layoutReplot||c)e._fullLayout._skipDefaults=!0,M.push(pl._doPlot);else{for(var g in b.arrays){var P=b.arrays[g];if(P.length){var T=L0.getComponentMethod(g,\"drawOne\");if(T!==sa.noop)for(var F=0;F<P.length;F++)T(e,P[F]);else{var q=L0.getComponentMethod(g,\"draw\");if(q===sa.noop)throw new Error(\"cannot draw components: \"+g);q(e)}}}M.push(Ho.previousPromises),E.style&&M.push($l.doTraceStyle),(E.colorbars||b.colorbars)&&M.push($l.doColorBars),b.legend&&M.push($l.doLegend),b.layoutstyle&&M.push($l.layoutStyles),b.axrange&&qP(M),b.ticks&&M.push($l.doTicksRelayout),b.modebar&&M.push($l.doModeBar),b.camera&&M.push($l.doCamera),M.push(BM)}M.push(Ho.rehover,Ho.redrag,Ho.reselect),a=sa.syncOrAsync(M,e),(!a||!a.then)&&(a=Promise.resolve(e))}return a.then(function(){return e.emit(\"plotly_react\",{data:t,layout:r}),e})}function xht(e,t,r,n,i,a){var o=t.length===r.length;if(!i&&!o)return{fullReplot:!0,calc:!0};var s=p_.traceFlags();s.arrays={},s.nChanges=0,s.nChangesAnim=0;var l,u;function c(d){var v=FP.getTraceValObject(u,d);return!u._module.animatable&&v.anim&&(v.anim=!1),v}var f={getValObject:c,flags:s,immutable:n,transition:i,newDataRevision:a,gd:e},h={};for(l=0;l<t.length;l++)if(r[l]){if(u=r[l]._fullInput,h[u.uid])continue;h[u.uid]=1,zP(t[l]._fullInput,u,[],f)}return(s.calc||s.plot)&&(s.fullReplot=!0),i&&s.nChanges&&s.nChangesAnim&&(s.anim=s.nChanges===s.nChangesAnim&&o?\"all\":\"some\"),s}function bht(e,t,r,n,i){var a=p_.layoutFlags();a.arrays={},a.rangesAltered={},a.nChanges=0,a.nChangesAnim=0;function o(h){return FP.getLayoutValObject(r,h)}for(var s in r)if(!(!s.startsWith(\"xaxis\")&&!s.startsWith(\"yaxis\"))&&t[s]){var l=r[s].domain,u=t[s].domain,c=t[s]._inputDomain;t[s]._inputDomain&&(l[0]===c[0]&&l[1]===c[1]?r[s].domain=t[s].domain:(l[0]!==u[0]||l[1]!==u[1])&&(r[s]._inputDomain=null))}var f={getValObject:o,flags:a,immutable:n,transition:i,gd:e};return zP(t,r,[],f),(a.plot||a.calc)&&(a.layoutReplot=!0),i&&a.nChanges&&a.nChangesAnim&&(a.anim=a.nChanges===a.nChangesAnim?\"all\":\"some\"),a}function zP(e,t,r,n){var i,a,o,s=n.getValObject,l=n.flags,u=n.immutable,c=n.inArray,f=n.arrayIndex;function h(){var V=i.editType;if(c&&V.indexOf(\"arraydraw\")!==-1){sa.pushUnique(l.arrays[c],f);return}p_.update(l,i),V!==\"none\"&&l.nChanges++,n.transition&&i.anim&&l.nChangesAnim++,(Vhe.test(o)||Hhe.test(o))&&(l.rangesAltered[r[0]]=1),a===\"datarevision\"&&(l.newDataRevision=1)}function d(V){return V.valType===\"data_array\"||V.arrayOk}for(a in e){if(l.calc&&!n.transition)return;var v=e[a],x=t[a],b=r.concat(a);if(o=b.join(\".\"),!(a.charAt(0)===\"_\"||typeof v==\"function\"||v===x)){if((a===\"tick0\"||a===\"dtick\")&&r[0]!==\"geo\"){var p=t.tickmode;if(p===\"auto\"||p===\"array\"||!p)continue}if(!(a===\"range\"&&t.autorange)&&!((a===\"zmin\"||a===\"zmax\")&&t.type===\"contourcarpet\")&&(i=s(b),!!i&&!(i._compareAsJSON&&JSON.stringify(v)===JSON.stringify(x)))){var E=i.valType,k,A=d(i),L=Array.isArray(v),_=Array.isArray(x);if(L&&_){var C=\"_input_\"+a,M=e[C],g=t[C];if(Array.isArray(M)&&M===g)continue}if(x===void 0)A&&L?l.calc=!0:h();else if(i._isLinkedToArray){var P=[],T=!1;c||(l.arrays[a]=P);var F=Math.min(v.length,x.length),q=Math.max(v.length,x.length);if(F!==q)if(i.editType===\"arraydraw\")T=!0;else{h();continue}for(k=0;k<F;k++)zP(v[k],x[k],b.concat(k),sa.extendFlat({inArray:a,arrayIndex:k},n));if(T)for(k=F;k<q;k++)P.push(k)}else!E&&sa.isPlainObject(v)?zP(v,x,b,n):A?L&&_?(u&&(l.calc=!0),(u||n.newDataRevision)&&h()):L!==_?l.calc=!0:h():L&&_?(v.length!==x.length||String(v)!==String(x))&&h():h()}}}for(a in t)if(!(a in e||a.charAt(0)===\"_\"||typeof t[a]==\"function\"))if(i=s(r.concat(a)),d(i)&&Array.isArray(t[a])){l.calc=!0;return}else h()}function HN(e,t){var r;for(r in e)if(r.charAt(0)!==\"_\"){var n=e[r],i=t[r];if(n!==i)if(sa.isPlainObject(n)&&sa.isPlainObject(i)){if(HN(n,i))return!0}else if(Array.isArray(n)&&Array.isArray(i)){if(n.length!==i.length)return!0;for(var a=0;a<n.length;a++)if(n[a]!==i[a])if(sa.isPlainObject(n[a])&&sa.isPlainObject(i[a])){if(HN(n[a],i[a]))return!0}else return!0}else return!0}}function wht(e,t,r){if(e=sa.getGraphDiv(e),!sa.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e+\". It's likely that you've failed to create a plot before animating it. For more details, see https://plotly.com/javascript/animations/\");var n=e._transitionData;n._frameQueue||(n._frameQueue=[]),r=Ho.supplyAnimationDefaults(r);var i=r.transition,a=r.frame;n._frameWaitingCnt===void 0&&(n._frameWaitingCnt=0);function o(u){return Array.isArray(i)?u>=i.length?i[0]:i[u]:i}function s(u){return Array.isArray(a)?u>=a.length?a[0]:a[u]:a}function l(u,c){var f=0;return function(){if(u&&++f===c)return u()}}return new Promise(function(u,c){function f(){if(n._frameQueue.length!==0){for(;n._frameQueue.length;){var F=n._frameQueue.pop();F.onInterrupt&&F.onInterrupt()}e.emit(\"plotly_animationinterrupted\",[])}}function h(F){if(F.length!==0){for(var q=0;q<F.length;q++){var V;F[q].type===\"byname\"?V=Ho.computeFrame(e,F[q].name):V=F[q].data;var H=s(q),X=o(q);X.duration=Math.min(X.duration,H.duration);var G={frame:V,name:F[q].name,frameOpts:H,transitionOpts:X};q===F.length-1&&(G.onComplete=l(u,2),G.onInterrupt=c),n._frameQueue.push(G)}r.mode===\"immediate\"&&(n._lastFrameAt=-1/0),n._animationRaf||x()}}function d(){e.emit(\"plotly_animated\"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function v(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var F=n._currentFrame=n._frameQueue.shift();if(F){var q=F.name?F.name.toString():null;e._fullLayout._currentFrame=q,n._lastFrameAt=Date.now(),n._timeToNext=F.frameOpts.duration,Ho.transition(e,F.frame.data,F.frame.layout,yh.coerceTraceIndices(e,F.frame.traces),F.frameOpts,F.transitionOpts).then(function(){F.onComplete&&F.onComplete()}),e.emit(\"plotly_animatingframe\",{name:q,frame:F.frame,animation:{frame:F.frameOpts,transition:F.transitionOpts}})}else d()}function x(){e.emit(\"plotly_animating\"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var F=function(){n._animationRaf=window.requestAnimationFrame(F),Date.now()-n._lastFrameAt>n._timeToNext&&v()};F()}var b=0;function p(F){return Array.isArray(i)?b>=i.length?F.transitionOpts=i[b]:F.transitionOpts=i[0]:F.transitionOpts=i,b++,F}var E,k,A=[],L=t==null,_=Array.isArray(t),C=!L&&!_&&sa.isPlainObject(t);if(C)A.push({type:\"object\",data:p(sa.extendFlat({},t))});else if(L||[\"string\",\"number\"].indexOf(typeof t)!==-1)for(E=0;E<n._frames.length;E++)k=n._frames[E],k&&(L||String(k.group)===String(t))&&A.push({type:\"byname\",name:String(k.name),data:p({name:k.name})});else if(_)for(E=0;E<t.length;E++){var M=t[E];[\"number\",\"string\"].indexOf(typeof M)!==-1?(M=String(M),A.push({type:\"byname\",name:M,data:p({name:M})})):sa.isPlainObject(M)&&A.push({type:\"object\",data:p(sa.extendFlat({},M))})}for(E=0;E<A.length;E++)if(k=A[E],k.type===\"byname\"&&!n._frameHash[k.data.name]){sa.warn('animate failure: frame not found: \"'+k.data.name+'\"'),c();return}[\"next\",\"immediate\"].indexOf(r.mode)!==-1&&f(),r.direction===\"reverse\"&&A.reverse();var g=e._fullLayout._currentFrame;if(g&&r.fromcurrent){var P=-1;for(E=0;E<A.length;E++)if(k=A[E],k.type===\"byname\"&&k.name===g){P=E;break}if(P>0&&P<A.length-1){var T=[];for(E=0;E<A.length;E++)k=A[E],(A[E].type!==\"byname\"||E>P)&&T.push(k);A=T}}A.length>0?h(A):(e.emit(\"plotly_animated\"),u())})}function Tht(e,t,r){if(e=sa.getGraphDiv(e),t==null)return Promise.resolve();if(!sa.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e+\". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/\");var n,i,a,o,s=e._transitionData._frames,l=e._transitionData._frameHash;if(!Array.isArray(t))throw new Error(\"addFrames failure: frameList must be an Array of frame definitions\"+t);var u=s.length+t.length*2,c=[],f={};for(n=t.length-1;n>=0;n--)if(sa.isPlainObject(t[n])){var h=t[n].name,d=(l[h]||f[h]||{}).name,v=t[n].name,x=l[d]||f[d];d&&v&&typeof v==\"number\"&&x&&NN<Mhe&&(NN++,sa.warn('addFrames: overwriting frame \"'+(l[d]||f[d]).name+'\" with a frame whose name of type \"number\" also equates to \"'+d+'\". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),NN===Mhe&&sa.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.\")),f[h]={name:h},c.push({frame:Ho.supplyFrameDefaults(t[n]),index:r&&r[n]!==void 0&&r[n]!==null?r[n]:u+n})}c.sort(function(C,M){return C.index>M.index?-1:C.index<M.index?1:0});var b=[],p=[],E=s.length;for(n=c.length-1;n>=0;n--){if(i=c[n].frame,typeof i.name==\"number\"&&sa.warn(\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\"),!i.name)for(;l[i.name=\"frame \"+e._transitionData._counter++];);if(l[i.name]){for(a=0;a<s.length&&(s[a]||{}).name!==i.name;a++);b.push({type:\"replace\",index:a,value:i}),p.unshift({type:\"replace\",index:a,value:s[a]})}else o=Math.max(0,Math.min(c[n].index,E)),b.push({type:\"insert\",index:o,value:i}),p.unshift({type:\"delete\",index:o}),E++}var k=Ho.modifyFrames,A=Ho.modifyFrames,L=[e,p],_=[e,b];return ap&&ap.add(e,k,L,A,_),Ho.modifyFrames(e,b)}function Aht(e,t){if(e=sa.getGraphDiv(e),!sa.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e);var r,n,i=e._transitionData._frames,a=[],o=[];if(!t)for(t=[],r=0;r<i.length;r++)t.push(r);for(t=t.slice(),t.sort(),r=t.length-1;r>=0;r--)n=t[r],a.push({type:\"delete\",index:n}),o.unshift({type:\"insert\",index:n,value:i[n]});var s=Ho.modifyFrames,l=Ho.modifyFrames,u=[e,o],c=[e,a];return ap&&ap.add(e,s,u,l,c),Ho.modifyFrames(e,a)}function Sht(e){e=sa.getGraphDiv(e);var t=e._fullLayout||{},r=e._fullData||[];return Ho.cleanPlot([],{},r,t),Ho.purge(e),UN.purge(e),t._container&&t._container.remove(),delete e._context,e}function Mht(e){var t=e._fullLayout,r=e.getBoundingClientRect();if(!sa.equalDomRects(r,t._lastBBox)){var n=t._invTransform=sa.inverseTransformMatrix(sa.getFullTransformMatrix(e));t._invScaleX=Math.sqrt(n[0][0]*n[0][0]+n[0][1]*n[0][1]+n[0][2]*n[0][2]),t._invScaleY=Math.sqrt(n[1][0]*n[1][0]+n[1][1]*n[1][1]+n[1][2]*n[1][2]),t._lastBBox=r}}function Eht(e){var t=CP.select(e),r=e._fullLayout;if(r._calcInverseTransform=Mht,r._calcInverseTransform(e),r._container=t.selectAll(\".plot-container\").data([0]),r._container.enter().insert(\"div\",\":first-child\").classed(\"plot-container\",!0).classed(\"plotly\",!0).style({width:\"100%\",height:\"100%\"}),r._paperdiv=r._container.selectAll(\".svg-container\").data([0]),r._paperdiv.enter().append(\"div\").classed(\"user-select-none\",!0).classed(\"svg-container\",!0).style(\"position\",\"relative\"),r._glcontainer=r._paperdiv.selectAll(\".gl-container\").data([{}]),r._glcontainer.enter().append(\"div\").classed(\"gl-container\",!0),r._paperdiv.selectAll(\".main-svg\").remove(),r._paperdiv.select(\".modebar-container\").remove(),r._paper=r._paperdiv.insert(\"svg\",\":first-child\").classed(\"main-svg\",!0),r._toppaper=r._paperdiv.append(\"svg\").classed(\"main-svg\",!0),r._modebardiv=r._paperdiv.append(\"div\"),delete r._modeBar,r._hoverpaper=r._paperdiv.append(\"svg\").classed(\"main-svg\",!0),!r._uid){var n={};CP.selectAll(\"defs\").each(function(){this.id&&(n[this.id.split(\"-\")[1]]=1)}),r._uid=sa.randstr(n)}r._paperdiv.selectAll(\".main-svg\").attr(tht.svgAttrs),r._defs=r._paper.append(\"defs\").attr(\"id\",\"defs-\"+r._uid),r._clips=r._defs.append(\"g\").classed(\"clips\",!0),r._topdefs=r._toppaper.append(\"defs\").attr(\"id\",\"topdefs-\"+r._uid),r._topclips=r._topdefs.append(\"g\").classed(\"clips\",!0),r._bgLayer=r._paper.append(\"g\").classed(\"bglayer\",!0),r._draggers=r._paper.append(\"g\").classed(\"draglayer\",!0);var i=r._paper.append(\"g\").classed(\"layer-below\",!0);r._imageLowerLayer=i.append(\"g\").classed(\"imagelayer\",!0),r._shapeLowerLayer=i.append(\"g\").classed(\"shapelayer\",!0),r._cartesianlayer=r._paper.append(\"g\").classed(\"cartesianlayer\",!0),r._polarlayer=r._paper.append(\"g\").classed(\"polarlayer\",!0),r._smithlayer=r._paper.append(\"g\").classed(\"smithlayer\",!0),r._ternarylayer=r._paper.append(\"g\").classed(\"ternarylayer\",!0),r._geolayer=r._paper.append(\"g\").classed(\"geolayer\",!0),r._funnelarealayer=r._paper.append(\"g\").classed(\"funnelarealayer\",!0),r._pielayer=r._paper.append(\"g\").classed(\"pielayer\",!0),r._iciclelayer=r._paper.append(\"g\").classed(\"iciclelayer\",!0),r._treemaplayer=r._paper.append(\"g\").classed(\"treemaplayer\",!0),r._sunburstlayer=r._paper.append(\"g\").classed(\"sunburstlayer\",!0),r._indicatorlayer=r._toppaper.append(\"g\").classed(\"indicatorlayer\",!0),r._glimages=r._paper.append(\"g\").classed(\"glimages\",!0);var a=r._toppaper.append(\"g\").classed(\"layer-above\",!0);r._imageUpperLayer=a.append(\"g\").classed(\"imagelayer\",!0),r._shapeUpperLayer=a.append(\"g\").classed(\"shapelayer\",!0),r._selectionLayer=r._toppaper.append(\"g\").classed(\"selectionlayer\",!0),r._infolayer=r._toppaper.append(\"g\").classed(\"infolayer\",!0),r._menulayer=r._toppaper.append(\"g\").classed(\"menulayer\",!0),r._zoomlayer=r._toppaper.append(\"g\").classed(\"zoomlayer\",!0),r._hoverlayer=r._hoverpaper.append(\"g\").classed(\"hoverlayer\",!0),r._modebardiv.classed(\"modebar-container\",!0).style(\"position\",\"absolute\").style(\"top\",\"0px\").style(\"right\",\"0px\"),e.emit(\"plotly_framework\")}pl.animate=wht;pl.addFrames=Tht;pl.deleteFrames=Aht;pl.addTraces=Ohe;pl.deleteTraces=Bhe;pl.extendTraces=Fhe;pl.moveTraces=VN;pl.prependTraces=qhe;pl.newPlot=lht;pl._doPlot=nht;pl.purge=Sht;pl.react=_ht;pl.redraw=sht;pl.relayout=OM;pl.restyle=IP;pl.setPlotConfig=aht;pl.update=DP;pl._guiRelayout=GN(OM);pl._guiRestyle=GN(IP);pl._guiUpdate=GN(DP);pl._storeDirectGUIEdit=hht});var Ly=ye(Mm=>{\"use strict\";var kht=ba();Mm.getDelay=function(e){return e._has&&(e._has(\"gl3d\")||e._has(\"mapbox\")||e._has(\"map\"))?500:0};Mm.getRedrawFunc=function(e){return function(){kht.getComponentMethod(\"colorbar\",\"draw\")(e)}};Mm.encodeSVG=function(e){return\"data:image/svg+xml,\"+encodeURIComponent(e)};Mm.encodeJSON=function(e){return\"data:application/json,\"+encodeURIComponent(e)};var Whe=window.URL||window.webkitURL;Mm.createObjectURL=function(e){return Whe.createObjectURL(e)};Mm.revokeObjectURL=function(e){return Whe.revokeObjectURL(e)};Mm.createBlob=function(e,t){if(t===\"svg\")return new window.Blob([e],{type:\"image/svg+xml;charset=utf-8\"});if(t===\"full-json\")return new window.Blob([e],{type:\"application/json;charset=utf-8\"});var r=Cht(window.atob(e));return new window.Blob([r],{type:\"image/\"+t})};Mm.octetStream=function(e){document.location.href=\"data:application/octet-stream\"+e};function Cht(e){for(var t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;i<t;i++)n[i]=e.charCodeAt(i);return r}Mm.IMAGE_URL_PREFIX=/^data:image\\/\\w+;base64,/});var BP=ye((snr,Zhe)=>{\"use strict\";var WN=xa(),anr=Mr(),Lht=ao(),Pht=va(),onr=Zp(),jN=/\"/g,NM=\"TOBESTRIPPED\",Iht=new RegExp('(\"'+NM+\")|(\"+NM+'\")',\"g\");function Rht(e){var t=WN.select(\"body\").append(\"div\").style({display:\"none\"}).html(\"\"),r=e.replace(/(&[^;]*;)/gi,function(n){return n===\"<\"?\"<\":n===\"&rt;\"?\">\":n.indexOf(\"<\")!==-1||n.indexOf(\">\")!==-1?\"\":t.html(n).text()});return t.remove(),r}function Dht(e){return e.replace(/&(?!\\w+;|\\#[0-9]+;| \\#x[0-9A-F]+;)/g,\"&\")}Zhe.exports=function(t,r,n){var i=t._fullLayout,a=i._paper,o=i._toppaper,s=i.width,l=i.height,u;a.insert(\"rect\",\":first-child\").call(Lht.setRect,0,0,s,l).call(Pht.fill,i.paper_bgcolor);var c=i._basePlotModules||[];for(u=0;u<c.length;u++){var f=c[u];f.toSVG&&f.toSVG(t)}if(o){var h=o.node().childNodes,d=Array.prototype.slice.call(h);for(u=0;u<d.length;u++){var v=d[u];v.childNodes.length&&a.node().appendChild(v)}}i._draggers&&i._draggers.remove(),a.node().style.background=\"\",a.selectAll(\"text\").attr({\"data-unformatted\":null,\"data-math\":null}).each(function(){var b=WN.select(this);if(this.style.visibility===\"hidden\"||this.style.display===\"none\"){b.remove();return}else b.style({visibility:null,display:null});var p=this.style.fontFamily;p&&p.indexOf('\"')!==-1&&b.style(\"font-family\",p.replace(jN,NM));var E=this.style.fontWeight;E&&(E===\"normal\"||E===\"400\")&&b.style(\"font-weight\",void 0);var k=this.style.fontStyle;k&&k===\"normal\"&&b.style(\"font-style\",void 0);var A=this.style.fontVariant;A&&A===\"normal\"&&b.style(\"font-variant\",void 0)}),a.selectAll(\".gradient_filled,.pattern_filled\").each(function(){var b=WN.select(this),p=this.style.fill;p&&p.indexOf(\"url(\")!==-1&&b.style(\"fill\",p.replace(jN,NM));var E=this.style.stroke;E&&E.indexOf(\"url(\")!==-1&&b.style(\"stroke\",E.replace(jN,NM))}),(r===\"pdf\"||r===\"eps\")&&a.selectAll(\"#MathJax_SVG_glyphs path\").attr(\"stroke-width\",0),r===\"svg\"&&n&&(a.attr(\"width\",n*s),a.attr(\"height\",n*l),a.attr(\"viewBox\",\"0 0 \"+s+\" \"+l));var x=new window.XMLSerializer().serializeToString(a.node());return x=Rht(x),x=Dht(x),x=x.replace(Iht,\"'\"),x}});var NP=ye((lnr,Xhe)=>{\"use strict\";var zht=Mr(),Fht=vb().EventEmitter,UM=Ly();function qht(e){var t=e.emitter||new Fht,r=new Promise(function(n,i){var a=window.Image,o=e.svg,s=e.format||\"png\",l=e.canvas,u=e.scale||1,c=e.width||300,f=e.height||150,h=u*c,d=u*f,v=l.getContext(\"2d\",{willReadFrequently:!0}),x=new a,b,p;s===\"svg\"||zht.isSafari()?p=UM.encodeSVG(o):(b=UM.createBlob(o,\"svg\"),p=UM.createObjectURL(b)),l.width=h,l.height=d,x.onload=function(){var E;switch(b=null,UM.revokeObjectURL(p),s!==\"svg\"&&v.drawImage(x,0,0,h,d),s){case\"jpeg\":E=l.toDataURL(\"image/jpeg\");break;case\"png\":E=l.toDataURL(\"image/png\");break;case\"webp\":E=l.toDataURL(\"image/webp\");break;case\"svg\":E=p;break;default:var k=\"Image format is not jpeg, png, svg or webp.\";if(i(new Error(k)),!e.promise)return t.emit(\"error\",k)}n(E),e.promise||t.emit(\"success\",E)},x.onerror=function(E){if(b=null,UM.revokeObjectURL(p),i(E),!e.promise)return t.emit(\"error\",E)},x.src=p});return e.promise?r:t}Xhe.exports=qht});var XN=ye((unr,Jhe)=>{\"use strict\";var Yhe=uo(),Khe=OP(),Oht=Xu(),Em=Mr(),VM=Ly(),Bht=BP(),Nht=NP(),Uht=e6().version,ZN={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}};function Vht(e,t){t=t||{};var r,n,i,a;Em.isPlainObject(e)?(r=e.data||[],n=e.layout||{},i=e.config||{},a={}):(e=Em.getGraphDiv(e),r=Em.extendDeep([],e.data),n=Em.extendDeep({},e.layout),i=e._context,a=e._fullLayout||{});function o(_){return!(_ in t)||Em.validate(t[_],ZN[_])}if(!o(\"width\")&&t.width!==null||!o(\"height\")&&t.height!==null)throw new Error(\"Height and width should be pixel values.\");if(!o(\"format\"))throw new Error(\"Export format is not \"+Em.join2(ZN.format.values,\", \",\" or \")+\".\");var s={};function l(_,C){return Em.coerce(t,s,ZN,_,C)}var u=l(\"format\"),c=l(\"width\"),f=l(\"height\"),h=l(\"scale\"),d=l(\"setBackground\"),v=l(\"imageDataOnly\"),x=document.createElement(\"div\");x.style.position=\"absolute\",x.style.left=\"-5000px\",document.body.appendChild(x);var b=Em.extendFlat({},n);c?b.width=c:t.width===null&&Yhe(a.width)&&(b.width=a.width),f?b.height=f:t.height===null&&Yhe(a.height)&&(b.height=a.height);var p=Em.extendFlat({},i,{_exportedPlot:!0,staticPlot:!0,setBackground:d}),E=VM.getRedrawFunc(x);function k(){return new Promise(function(_){setTimeout(_,VM.getDelay(x._fullLayout))})}function A(){return new Promise(function(_,C){var M=Bht(x,u,h),g=x._fullLayout.width,P=x._fullLayout.height;function T(){Khe.purge(x),document.body.removeChild(x)}if(u===\"full-json\"){var F=Oht.graphJson(x,!1,\"keepdata\",\"object\",!0,!0);return F.version=Uht,F=JSON.stringify(F),T(),_(v?F:VM.encodeJSON(F))}if(T(),u===\"svg\")return _(v?M:VM.encodeSVG(M));var q=document.createElement(\"canvas\");q.id=Em.randstr(),Nht({format:u,width:g,height:P,scale:h,canvas:q,svg:M,promise:!0}).then(_).catch(C)})}function L(_){return v?_.replace(VM.IMAGE_URL_PREFIX,\"\"):_}return new Promise(function(_,C){Khe.newPlot(x,r,b,p).then(E).then(k).then(A).then(function(M){_(L(M))}).catch(function(M){C(M)})})}Jhe.exports=Vht});var tde=ye((cnr,ede)=>{\"use strict\";var P0=Mr(),Hht=Xu(),Ght=_3(),jht=ub().dfltConfig,Lg=P0.isPlainObject,Vb=Array.isArray,$he=P0.isArrayOrTypedArray;ede.exports=function(t,r){t===void 0&&(t=[]),r===void 0&&(r={});var n=Ght.get(),i=[],a={_context:P0.extendFlat({},jht)},o,s;Vb(t)?(a.data=P0.extendDeep([],t),o=t):(a.data=[],o=[],i.push(cd(\"array\",\"data\"))),Lg(r)?(a.layout=P0.extendDeep({},r),s=r):(a.layout={},s={},arguments.length>1&&i.push(cd(\"object\",\"layout\"))),Hht.supplyDefaults(a);for(var l=a._fullData,u=o.length,c=0;c<u;c++){var f=o[c],h=[\"data\",c];if(!Lg(f)){i.push(cd(\"object\",h));continue}var d=l[c],v=d.type,x=n.traces[v].attributes;x.type={valType:\"enumerated\",values:[v]},d.visible===!1&&f.visible!==!1&&i.push(cd(\"invisible\",h)),UP(f,d,x,i,h)}var b=a._fullLayout,p=Wht(n,l);return UP(s,b,p,i,\"layout\"),i.length===0?void 0:i};function UP(e,t,r,n,i,a){a=a||[];for(var o=Object.keys(e),s=0;s<o.length;s++){var l=o[s],u=a.slice();u.push(l);var c=e[l],f=t[l],h=Yht(r,l),d=(h||{}).valType,v=d===\"info_array\",x=d===\"colorscale\",b=(h||{}).items;if(!Xht(r,l))n.push(cd(\"schema\",i,u));else if(Lg(c)&&Lg(f)&&d!==\"any\")UP(c,f,h,n,i,u);else if(v&&Vb(c)){c.length>f.length&&n.push(cd(\"unused\",i,u.concat(f.length)));var p=f.length,E=Array.isArray(b);E&&(p=Math.min(p,b.length));var k,A,L,_,C;if(h.dimensions===2)for(A=0;A<p;A++)if(Vb(c[A])){c[A].length>f[A].length&&n.push(cd(\"unused\",i,u.concat(A,f[A].length)));var M=f[A].length;for(k=0;k<(E?Math.min(M,b[A].length):M);k++)L=E?b[A][k]:b,_=c[A][k],C=f[A][k],P0.validate(_,L)?C!==_&&C!==+_&&n.push(cd(\"dynamic\",i,u.concat(A,k),_,C)):n.push(cd(\"value\",i,u.concat(A,k),_))}else n.push(cd(\"array\",i,u.concat(A),c[A]));else for(A=0;A<p;A++)L=E?b[A]:b,_=c[A],C=f[A],P0.validate(_,L)?C!==_&&C!==+_&&n.push(cd(\"dynamic\",i,u.concat(A),_,C)):n.push(cd(\"value\",i,u.concat(A),_))}else if(h.items&&!v&&Vb(c)){var g=b[Object.keys(b)[0]],P=[],T,F;for(T=0;T<f.length;T++){var q=f[T]._index||T;if(F=u.slice(),F.push(q),Lg(c[q])&&Lg(f[T])){P.push(q);var V=c[q],H=f[T];Lg(V)&&V.visible!==!1&&H.visible===!1?n.push(cd(\"invisible\",i,F)):UP(V,H,g,n,i,F)}}for(T=0;T<c.length;T++)F=u.slice(),F.push(T),Lg(c[T])?P.indexOf(T)===-1&&n.push(cd(\"unused\",i,F)):n.push(cd(\"object\",i,F,c[T]))}else!Lg(c)&&Lg(f)?n.push(cd(\"object\",i,u,c)):!$he(c)&&$he(f)&&!v&&!x?n.push(cd(\"array\",i,u,c)):l in t?P0.validate(c,h)?h.valType===\"enumerated\"&&(h.coerceNumber&&c!==+f||c!==f)&&n.push(cd(\"dynamic\",i,u,c,f)):n.push(cd(\"value\",i,u,c)):n.push(cd(\"unused\",i,u,c))}return n}function Wht(e,t){for(var r=e.layout.layoutAttributes,n=0;n<t.length;n++){var i=t[n],a=e.traces[i.type],o=a.layoutAttributes;o&&(i.subplot?P0.extendFlat(r[a.attributes.subplot.dflt],o):P0.extendFlat(r,o))}return r}var Zht={object:function(e,t){var r;return e===\"layout\"&&t===\"\"?r=\"The layout argument\":e[0]===\"data\"&&t===\"\"?r=\"Trace \"+e[1]+\" in the data argument\":r=Ub(e)+\"key \"+t,r+\" must be linked to an object container\"},array:function(e,t){var r;return e===\"data\"?r=\"The data argument\":r=Ub(e)+\"key \"+t,r+\" must be linked to an array container\"},schema:function(e,t){return Ub(e)+\"key \"+t+\" is not part of the schema\"},unused:function(e,t,r){var n=Lg(r)?\"container\":\"key\";return Ub(e)+n+\" \"+t+\" did not get coerced\"},dynamic:function(e,t,r,n){return[Ub(e)+\"key\",t,\"(set to '\"+r+\"')\",\"got reset to\",\"'\"+n+\"'\",\"during defaults.\"].join(\" \")},invisible:function(e,t){return(t?Ub(e)+\"item \"+t:\"Trace \"+e[1])+\" got defaulted to be not visible\"},value:function(e,t,r){return[Ub(e)+\"key \"+t,\"is set to an invalid value (\"+r+\")\"].join(\" \")}};function Ub(e){return Vb(e)?\"In data trace \"+e[1]+\", \":\"In \"+e+\", \"}function cd(e,t,r,n,i){r=r||\"\";var a,o;Vb(t)?(a=t[0],o=t[1]):(a=t,o=null);var s=Jht(r),l=Zht[e](t,s,n,i);return P0.log(l),{code:e,container:a,trace:o,path:r,astr:s,msg:l}}function Xht(e,t){var r=Qhe(t),n=r.keyMinusId,i=r.id;return n in e&&e[n]._isSubplotObj&&i?!0:t in e}function Yht(e,t){if(t in e)return e[t];var r=Qhe(t);return e[r.keyMinusId]}var Kht=P0.counterRegex(\"([a-z]+)\");function Qhe(e){var t=e.match(Kht);return{keyMinusId:t&&t[1],id:t&&t[2]}}function Jht(e){if(!Vb(e))return String(e);for(var t=\"\",r=0;r<e.length;r++){var n=e[r];typeof n==\"number\"?t=t.substr(0,t.length-1)+\"[\"+n+\"]\":t+=n,r<e.length-1&&(t+=\".\")}return t}});var ide=ye((fnr,rde)=>{\"use strict\";var $ht=Mr(),VP=Ly();function Qht(e,t,r){var n=document.createElement(\"a\"),i=\"download\"in n,a=new Promise(function(o,s){var l,u;if(i)return l=VP.createBlob(e,r),u=VP.createObjectURL(l),n.href=u,n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n),VP.revokeObjectURL(u),l=null,o(t);if($ht.isSafari()){var c=r===\"svg\"?\",\":\";base64,\";return VP.octetStream(c+encodeURIComponent(e)),o(t)}s(new Error(\"download error\"))});return a}rde.exports=Qht});var YN=ye((dnr,ade)=>{\"use strict\";var nde=Mr(),edt=XN(),tdt=ide(),hnr=Ly();function rdt(e,t){var r;return nde.isPlainObject(e)||(r=nde.getGraphDiv(e)),t=t||{},t.format=t.format||\"png\",t.width=t.width||null,t.height=t.height||null,t.imageDataOnly=!0,new Promise(function(n,i){r&&r._snapshotInProgress&&i(new Error(\"Snapshotting already in progress.\")),r&&(r._snapshotInProgress=!0);var a=edt(e,t),o=t.filename||e.fn||\"newplot\";o+=\".\"+t.format.replace(\"-\",\".\"),a.then(function(s){return r&&(r._snapshotInProgress=!1),tdt(s,o,t.format)}).then(function(s){n(s)}).catch(function(s){r&&(r._snapshotInProgress=!1),i(s)})})}ade.exports=rdt});var cde=ye(KN=>{\"use strict\";var Cp=Mr(),Lp=Cp.isPlainObject,ode=_3(),sde=Xu(),idt=vl(),lde=Vs(),ude=ub().dfltConfig;KN.makeTemplate=function(e){e=Cp.isPlainObject(e)?e:Cp.getGraphDiv(e),e=Cp.extendDeep({_context:ude},{data:e.data,layout:e.layout}),sde.supplyDefaults(e);var t=e.data||[],r=e.layout||{};r._basePlotModules=e._fullLayout._basePlotModules,r._modules=e._fullLayout._modules;var n={data:{},layout:{}};t.forEach(function(d){var v={};HM(d,v,adt.bind(null,d));var x=Cp.coerce(d,{},idt,\"type\"),b=n.data[x];b||(b=n.data[x]=[]),b.push(v)}),HM(r,n.layout,ndt.bind(null,r)),delete n.layout.template;var i=r.template;if(Lp(i)){var a=i.layout,o,s,l,u,c,f;Lp(a)&&HP(a,n.layout);var h=i.data;if(Lp(h)){for(s in n.data)if(l=h[s],Array.isArray(l)){for(c=n.data[s],f=c.length,u=l.length,o=0;o<f;o++)HP(l[o%u],c[o]);for(o=f;o<u;o++)c.push(Cp.extendDeep({},l[o]))}for(s in h)s in n.data||(n.data[s]=Cp.extendDeep([],h[s]))}}return n};function HP(e,t){e=Cp.extendDeep({},e);var r=Object.keys(e).sort(),n,i;function a(c,f,h){if(Lp(f)&&Lp(c))HP(c,f);else if(Array.isArray(f)&&Array.isArray(c)){var d=lde.arrayTemplater({_template:e},h);for(i=0;i<f.length;i++){var v=f[i],x=d.newItem(v)._template;x&&HP(x,v)}var b=d.defaultItems();for(i=0;i<b.length;i++)f.push(b[i]._template);for(i=0;i<f.length;i++)delete f[i].templateitemname}}for(n=0;n<r.length;n++){var o=r[n],s=e[o];if(o in t?a(s,t[o],o):t[o]=s,GP(o)===o)for(var l in t){var u=GP(l);l!==u&&u===o&&!(l in e)&&a(s,t[l],o)}}}function GP(e){return e.replace(/[0-9]+$/,\"\")}function HM(e,t,r,n,i){var a=i&&r(i);for(var o in e){var s=e[o],l=I0(e,o,n),u=I0(e,o,i),c=r(u);if(!c){var f=GP(o);f!==o&&(u=I0(e,f,i),c=r(u))}if(!(a&&a===c)&&!(!c||c._noTemplating||c.valType===\"data_array\"||c.arrayOk&&Array.isArray(s)))if(!c.valType&&Lp(s))HM(s,t,r,l,u);else if(c._isLinkedToArray&&Array.isArray(s))for(var h=!1,d=0,v={},x=0;x<s.length;x++){var b=s[x];if(Lp(b)){var p=b.name;if(p)v[p]||(HM(b,t,r,I0(s,d,l),I0(s,d,u)),d++,v[p]=1);else if(!h){var E=lde.arrayDefaultKey(o),k=I0(e,E,n),A=I0(s,d,l);HM(b,t,r,A,I0(s,d,u));var L=Cp.nestedProperty(t,A),_=Cp.nestedProperty(t,k);_.set(L.get()),L.set(null),h=!0}}}else{var C=Cp.nestedProperty(t,l);C.set(s)}}}function ndt(e,t){return ode.getLayoutValObject(e,Cp.nestedProperty({},t).parts)}function adt(e,t){return ode.getTraceValObject(e,Cp.nestedProperty({},t).parts)}function I0(e,t,r){var n;return r?Array.isArray(e)?n=r+\"[\"+t+\"]\":n=r+\".\"+t:n=t,n}KN.validateTemplate=function(e,t){var r=Cp.extendDeep({},{_context:ude,data:e.data,layout:e.layout}),n=r.layout||{};Lp(t)||(t=n.template||{});var i=t.layout,a=t.data,o=[];r.layout=n,r.layout.template=t,sde.supplyDefaults(r);var s=r._fullLayout,l=r._fullData,u={};function c(k,A){for(var L in k)if(L.charAt(0)!==\"_\"&&Lp(k[L])){var _=GP(L),C=[],M;for(M=0;M<A.length;M++)C.push(I0(k,L,A[M])),_!==L&&C.push(I0(k,_,A[M]));for(M=0;M<C.length;M++)u[C[M]]=1;c(k[L],C)}}function f(k,A){for(var L in k)if(L.indexOf(\"defaults\")===-1&&Lp(k[L])){var _=I0(k,L,A);u[_]?f(k[L],_):o.push({code:\"unused\",path:_})}}if(Lp(i)?(c(s,[\"layout\"]),f(i,\"layout\")):o.push({code:\"layout\"}),!Lp(a))o.push({code:\"data\"});else{for(var h={},d,v=0;v<l.length;v++){var x=l[v];d=x.type,h[d]=(h[d]||0)+1,x._fullInput._template||o.push({code:\"missing\",index:x.index,traceType:d})}for(d in a){var b=a[d].length,p=h[d]||0;b>p?o.push({code:\"unused\",traceType:d,templateCount:b,dataCount:p}):p>b&&o.push({code:\"reused\",traceType:d,templateCount:b,dataCount:p})}}function E(k,A){for(var L in k)if(L.charAt(0)!==\"_\"){var _=k[L],C=I0(k,L,A);Lp(_)?(Array.isArray(k)&&_._template===!1&&_.templateitemname&&o.push({code:\"missing\",path:C,templateitemname:_.templateitemname}),E(_,C)):Array.isArray(_)&&odt(_)&&E(_,C)}}if(E({data:l,layout:s},\"\"),o.length)return o.map(sdt)};function odt(e){for(var t=0;t<e.length;t++)if(Lp(e[t]))return!0}function sdt(e){var t;switch(e.code){case\"data\":t=\"The template has no key data.\";break;case\"layout\":t=\"The template has no key layout.\";break;case\"missing\":e.path?t=\"There are no templates for item \"+e.path+\" with name \"+e.templateitemname:t=\"There are no templates for trace \"+e.index+\", of type \"+e.traceType+\".\";break;case\"unused\":e.path?t=\"The template item at \"+e.path+\" was not used in constructing the plot.\":e.dataCount?t=\"Some of the templates of type \"+e.traceType+\" were not used. The template has \"+e.templateCount+\" traces, the data only has \"+e.dataCount+\" of this type.\":t=\"The template has \"+e.templateCount+\" traces of type \"+e.traceType+\" but there are none in the data.\";break;case\"reused\":t=\"Some of the templates of type \"+e.traceType+\" were used more than once. The template has \"+e.templateCount+\" traces, the data has \"+e.dataCount+\" of this type.\";break}return e.msg=t,e}});var hde=ye(Sc=>{\"use strict\";var Hh=OP();Sc._doPlot=Hh._doPlot;Sc.newPlot=Hh.newPlot;Sc.restyle=Hh.restyle;Sc.relayout=Hh.relayout;Sc.redraw=Hh.redraw;Sc.update=Hh.update;Sc._guiRestyle=Hh._guiRestyle;Sc._guiRelayout=Hh._guiRelayout;Sc._guiUpdate=Hh._guiUpdate;Sc._storeDirectGUIEdit=Hh._storeDirectGUIEdit;Sc.react=Hh.react;Sc.extendTraces=Hh.extendTraces;Sc.prependTraces=Hh.prependTraces;Sc.addTraces=Hh.addTraces;Sc.deleteTraces=Hh.deleteTraces;Sc.moveTraces=Hh.moveTraces;Sc.purge=Hh.purge;Sc.addFrames=Hh.addFrames;Sc.deleteFrames=Hh.deleteFrames;Sc.animate=Hh.animate;Sc.setPlotConfig=Hh.setPlotConfig;var ldt=DS().getGraphDiv,udt=rP().eraseActiveShape;Sc.deleteActiveShape=function(e){return udt(ldt(e))};Sc.toImage=XN();Sc.validate=tde();Sc.downloadImage=YN();var fde=cde();Sc.makeTemplate=fde.makeTemplate;Sc.validateTemplate=fde.validateTemplate});var K3=ye((gnr,dde)=>{\"use strict\";var JN=Mr(),cdt=ba();dde.exports=function(t,r,n,i){var a=i(\"x\"),o=i(\"y\"),s,l=cdt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");if(l(t,r,[\"x\",\"y\"],n),a){var u=JN.minRowLength(a);o?s=Math.min(u,JN.minRowLength(o)):(s=u,i(\"y0\"),i(\"dy\"))}else{if(!o)return 0;s=JN.minRowLength(o),i(\"x0\"),i(\"dx\")}return r._length=s,s}});var Pg=ye((mnr,gde)=>{\"use strict\";var vde=Mr().dateTick0,fdt=es(),hdt=fdt.ONEWEEK;function pde(e,t){return e%hdt===0?vde(t,1):vde(t,0)}gde.exports=function(t,r,n,i,a){if(a||(a={x:!0,y:!0}),a.x){var o=i(\"xperiod\");o&&(i(\"xperiod0\",pde(o,r.xcalendar)),i(\"xperiodalignment\"))}if(a.y){var s=i(\"yperiod\");s&&(i(\"yperiod0\",pde(s,r.ycalendar)),i(\"yperiodalignment\"))}}});var _de=ye((ynr,yde)=>{\"use strict\";var mde=[\"orientation\",\"groupnorm\",\"stackgaps\"];yde.exports=function(t,r,n,i){var a=n._scatterStackOpts,o=i(\"stackgroup\");if(o){var s=r.xaxis+r.yaxis,l=a[s];l||(l=a[s]={});var u=l[o],c=!1;u?u.traces.push(r):(u=l[o]={traceIndices:[],traces:[r]},c=!0);for(var f={orientation:r.x&&!r.y?\"h\":\"v\"},h=0;h<mde.length;h++){var d=mde[h],v=d+\"Found\";if(!u[v]){var x=t[d]!==void 0,b=d===\"orientation\";if((x||c)&&(u[d]=i(d,f[d]),b&&(u.fillDflt=u[d]===\"h\"?\"tonextx\":\"tonexty\"),x&&(u[v]=!0,!c&&(delete u.traces[0][d],b))))for(var p=0;p<u.traces.length-1;p++){var E=u.traces[p];E._input.fill!==E.fill&&(E.fill=u.fillDflt)}}}return u}}});var $p=ye((_nr,Tde)=>{\"use strict\";var xde=va(),bde=Dv().hasColorscale,wde=Uh(),ddt=lu();Tde.exports=function(t,r,n,i,a,o){var s=ddt.isBubble(t),l=(t.line||{}).color,u;if(o=o||{},l&&(n=l),a(\"marker.symbol\"),a(\"marker.opacity\",s?.7:1),a(\"marker.size\"),o.noAngle||(a(\"marker.angle\"),o.noAngleRef||a(\"marker.angleref\"),o.noStandOff||a(\"marker.standoff\")),a(\"marker.color\",n),bde(t,\"marker\")&&wde(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}),o.noSelect||(a(\"selected.marker.color\"),a(\"unselected.marker.color\"),a(\"selected.marker.size\"),a(\"unselected.marker.size\")),o.noLine||(l&&!Array.isArray(l)&&r.marker.color!==l?u=l:s?u=xde.background:u=xde.defaultLine,a(\"marker.line.color\",u),bde(t,\"marker.line\")&&wde(t,r,i,a,{prefix:\"marker.line.\",cLetter:\"c\"}),a(\"marker.line.width\",s?1:0)),s&&(a(\"marker.sizeref\"),a(\"marker.sizemin\"),a(\"marker.sizemode\")),o.gradient){var c=a(\"marker.gradient.type\");c!==\"none\"&&a(\"marker.gradient.color\")}}});var R0=ye((xnr,Ade)=>{\"use strict\";var vdt=Mr().isArrayOrTypedArray,pdt=Dv().hasColorscale,gdt=Uh();Ade.exports=function(t,r,n,i,a,o){o||(o={});var s=(t.marker||{}).color;if(s&&s._inputArray&&(s=s._inputArray),a(\"line.color\",n),pdt(t,\"line\"))gdt(t,r,i,a,{prefix:\"line.\",cLetter:\"c\"});else{var l=(vdt(s)?!1:s)||n;a(\"line.color\",l)}a(\"line.width\"),o.noDash||a(\"line.dash\"),o.backoff&&a(\"line.backoff\")}});var J3=ye((bnr,Sde)=>{\"use strict\";Sde.exports=function(t,r,n){var i=n(\"line.shape\");i===\"spline\"&&n(\"line.smoothing\")}});var D0=ye((wnr,Mde)=>{\"use strict\";var mdt=Mr();Mde.exports=function(e,t,r,n,i){i=i||{},n(\"textposition\"),mdt.coerceFont(n,\"textfont\",i.font||r.font,i),i.noSelect||(n(\"selected.textfont.color\"),n(\"unselected.textfont.color\"))}});var Ig=ye((Tnr,kde)=>{\"use strict\";var jP=va(),Ede=Mr().isArrayOrTypedArray;function ydt(e){for(var t=jP.interpolate(e[0][1],e[1][1],.5),r=2;r<e.length;r++){var n=jP.interpolate(e[r-1][1],e[r][1],.5);t=jP.interpolate(t,n,e[r-1][0]/e[r][0])}return t}kde.exports=function(t,r,n,i,a){a||(a={});var o=!1;if(r.marker){var s=r.marker.color,l=(r.marker.line||{}).color;s&&!Ede(s)?o=s:l&&!Ede(l)&&(o=l)}var u;if(a.moduleHasFillgradient){var c=i(\"fillgradient.type\");if(c!==\"none\"){i(\"fillgradient.start\"),i(\"fillgradient.stop\");var f=i(\"fillgradient.colorscale\");f&&(u=ydt(f))}}i(\"fillcolor\",jP.addOpacity((r.line||{}).color||o||u||n,.5))}});var Ide=ye((Anr,Pde)=>{\"use strict\";var Cde=Mr(),_dt=ba(),xdt=Uc(),bdt=Sm(),$3=lu(),wdt=K3(),Tdt=Pg(),Adt=_de(),Sdt=$p(),Mdt=R0(),Lde=J3(),Edt=D0(),kdt=Ig(),Cdt=Mr().coercePattern;Pde.exports=function(t,r,n,i){function a(d,v){return Cde.coerce(t,r,xdt,d,v)}var o=wdt(t,r,i,a);if(o||(r.visible=!1),!!r.visible){Tdt(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zorder\");var s=Adt(t,r,i,a);i.scattermode===\"group\"&&r.orientation===void 0&&a(\"orientation\",\"v\");var l=!s&&o<bdt.PTS_LINESONLY?\"lines+markers\":\"lines\";a(\"text\"),a(\"hovertext\"),a(\"mode\",l),$3.hasMarkers(r)&&Sdt(t,r,n,i,a,{gradient:!0}),$3.hasLines(r)&&(Mdt(t,r,n,i,a,{backoff:!0}),Lde(t,r,a),a(\"connectgaps\"),a(\"line.simplify\")),$3.hasText(r)&&(a(\"texttemplate\"),Edt(t,r,i,a));var u=[];($3.hasMarkers(r)||$3.hasText(r))&&(a(\"cliponaxis\"),a(\"marker.maxdisplayed\"),u.push(\"points\")),a(\"fill\",s?s.fillDflt:\"none\"),r.fill!==\"none\"&&(kdt(t,r,n,a,{moduleHasFillgradient:!0}),$3.hasLines(r)||Lde(t,r,a),Cdt(a,\"fillpattern\",r.fillcolor,!1));var c=(r.line||{}).color,f=(r.marker||{}).color;(r.fill===\"tonext\"||r.fill===\"toself\")&&u.push(\"fills\"),a(\"hoveron\",u.join(\"+\")||\"points\"),r.hoveron!==\"fills\"&&a(\"hovertemplate\");var h=_dt.getComponentMethod(\"errorbars\",\"supplyDefaults\");h(t,r,c||f||n,{axis:\"y\"}),h(t,r,c||f||n,{axis:\"x\",inherit:\"y\"}),Cde.coerceSelectionMarkerOpacity(r,a)}}});var Hb=ye((Snr,Rde)=>{\"use strict\";var Ldt=Bb().getAxisGroup;Rde.exports=function(t,r,n,i,a){var o=r.orientation,s=r[{v:\"x\",h:\"y\"}[o]+\"axis\"],l=Ldt(n,s)+o,u=n._alignmentOpts||{},c=i(\"alignmentgroup\"),f=u[l];f||(f=u[l]={});var h=f[c];h?h.traces.push(r):h=f[c]={traces:[r],alignmentIndex:Object.keys(f).length,offsetGroups:{}};var d=i(\"offsetgroup\")||\"\",v=h.offsetGroups,x=v[d];r._offsetIndex=0,(a!==\"group\"||d)&&(x||(x=v[d]={offsetIndex:Object.keys(v).length}),r._offsetIndex=x.offsetIndex)}});var $N=ye((Mnr,Dde)=>{\"use strict\";var Pdt=Mr(),Idt=Hb(),Rdt=Uc();Dde.exports=function(t,r){var n,i,a,o=r.scattermode;function s(h){return Pdt.coerce(i._input,i,Rdt,h)}if(r.scattermode===\"group\")for(a=0;a<t.length;a++)i=t[a],i.type===\"scatter\"&&(n=i._input,Idt(n,i,r,s,o));for(a=0;a<t.length;a++){var l=t[a];if(l.type===\"scatter\"){var u=l.fill;if(!(u===\"none\"||u===\"toself\")&&(l.opacity=void 0,u===\"tonexty\"||u===\"tonextx\"))for(var c=a-1;c>=0;c--){var f=t[c];if(f.type===\"scatter\"&&f.xaxis===l.xaxis&&f.yaxis===l.yaxis){f.opacity=void 0;break}}}}}});var Fde=ye((Enr,zde)=>{\"use strict\";var Ddt=Mr(),zdt=V6();zde.exports=function(e,t){function r(i,a){return Ddt.coerce(e,t,zdt,i,a)}var n=t.barmode===\"group\";t.scattermode===\"group\"&&r(\"scattergap\",n?t.bargap:.2)}});var Rg=ye((knr,Ode)=>{\"use strict\";var Fdt=uo(),qde=Mr(),qdt=qde.dateTime2ms,WP=qde.incrementMonth,Odt=es(),Bdt=Odt.ONEAVGMONTH;Ode.exports=function(t,r,n,i){if(r.type!==\"date\")return{vals:i};var a=t[n+\"periodalignment\"];if(!a)return{vals:i};var o=t[n+\"period\"],s;if(Fdt(o)){if(o=+o,o<=0)return{vals:i}}else if(typeof o==\"string\"&&o.charAt(0)===\"M\"){var l=+o.substring(1);if(l>0&&Math.round(l)===l)s=l;else return{vals:i}}for(var u=r.calendar,c=a===\"start\",f=a===\"end\",h=t[n+\"period0\"],d=qdt(h,u)||0,v=[],x=[],b=[],p=i.length,E=0;E<p;E++){var k=i[E],A,L,_;if(s){for(A=Math.round((k-d)/(s*Bdt)),_=WP(d,s*A,u);_>k;)_=WP(_,-s,u);for(;_<=k;)_=WP(_,s,u);L=WP(_,-s,u)}else{for(A=Math.round((k-d)/o),_=d+A*o;_>k;)_-=o;for(;_<=k;)_+=o;L=_-o}v[E]=c?L:f?_:(L+_)/2,x[E]=L,b[E]=_}return{vals:v,starts:x,ends:b}}});var z0=ye((Cnr,Nde)=>{\"use strict\";var QN=Dv().hasColorscale,eU=zv(),Bde=lu();Nde.exports=function(t,r){Bde.hasLines(r)&&QN(r,\"line\")&&eU(t,r,{vals:r.line.color,containerStr:\"line\",cLetter:\"c\"}),Bde.hasMarkers(r)&&(QN(r,\"marker\")&&eU(t,r,{vals:r.marker.color,containerStr:\"marker\",cLetter:\"c\"}),QN(r,\"marker.line\")&&eU(t,r,{vals:r.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}))}});var km=ye((Lnr,Ude)=>{\"use strict\";var Df=Mr();Ude.exports=function(t,r){for(var n=0;n<t.length;n++)t[n].i=n;Df.mergeArray(r.text,t,\"tx\"),Df.mergeArray(r.texttemplate,t,\"txt\"),Df.mergeArray(r.hovertext,t,\"htx\"),Df.mergeArray(r.customdata,t,\"data\"),Df.mergeArray(r.textposition,t,\"tp\"),r.textfont&&(Df.mergeArrayCastPositive(r.textfont.size,t,\"ts\"),Df.mergeArray(r.textfont.color,t,\"tc\"),Df.mergeArray(r.textfont.family,t,\"tf\"),Df.mergeArray(r.textfont.weight,t,\"tw\"),Df.mergeArray(r.textfont.style,t,\"ty\"),Df.mergeArray(r.textfont.variant,t,\"tv\"),Df.mergeArray(r.textfont.textcase,t,\"tC\"),Df.mergeArray(r.textfont.lineposition,t,\"tE\"),Df.mergeArray(r.textfont.shadow,t,\"tS\"));var i=r.marker;if(i){Df.mergeArrayCastPositive(i.size,t,\"ms\"),Df.mergeArrayCastPositive(i.opacity,t,\"mo\"),Df.mergeArray(i.symbol,t,\"mx\"),Df.mergeArray(i.angle,t,\"ma\"),Df.mergeArray(i.standoff,t,\"mf\"),Df.mergeArray(i.color,t,\"mc\");var a=i.line;i.line&&(Df.mergeArray(a.color,t,\"mlc\"),Df.mergeArrayCastPositive(a.width,t,\"mlw\"));var o=i.gradient;o&&o.type!==\"none\"&&(Df.mergeArray(o.type,t,\"mgt\"),Df.mergeArray(o.color,t,\"mgc\"))}}});var F0=ye((Pnr,Hde)=>{\"use strict\";var Vde=Mr();Hde.exports=function(t,r){Vde.isArrayOrTypedArray(r.selectedpoints)&&Vde.tagSelected(t,r)}});var q0=ye((Inr,Kde)=>{\"use strict\";var Gde=uo(),rU=Mr(),GM=Qa(),jde=Rg(),tU=es().BADNUM,iU=lu(),Ndt=z0(),Udt=km(),Vdt=F0();function Hdt(e,t){var r=e._fullLayout,n=t._xA=GM.getFromId(e,t.xaxis||\"x\",\"x\"),i=t._yA=GM.getFromId(e,t.yaxis||\"y\",\"y\"),a=n.makeCalcdata(t,\"x\"),o=i.makeCalcdata(t,\"y\"),s=jde(t,n,\"x\",a),l=jde(t,i,\"y\",o),u=s.vals,c=l.vals,f=t._length,h=new Array(f),d=t.ids,v=nU(t,r,n,i),x=!1,b,p,E,k,A,L;Xde(r,t);var _=\"x\",C=\"y\",M;if(v)rU.pushUnique(v.traceIndices,t.index),b=v.orientation===\"v\",b?(C=\"s\",M=\"x\"):(_=\"s\",M=\"y\"),A=v.stackgaps===\"interpolate\";else{var g=Zde(t,f);Wde(e,t,n,i,u,c,g)}var P=!!t.xperiodalignment,T=!!t.yperiodalignment;for(p=0;p<f;p++){var F=h[p]={},q=Gde(u[p]),V=Gde(c[p]);q&&V?(F[_]=u[p],F[C]=c[p],P&&(F.orig_x=a[p],F.xEnd=s.ends[p],F.xStart=s.starts[p]),T&&(F.orig_y=o[p],F.yEnd=l.ends[p],F.yStart=l.starts[p])):v&&(b?q:V)?(F[M]=b?u[p]:c[p],F.gap=!0,A?(F.s=tU,x=!0):F.s=0):F[_]=F[C]=tU,d&&(F.id=String(d[p]))}if(Udt(h,t),Ndt(e,t),Vdt(h,t),v){for(p=0;p<h.length;)h[p][M]===tU?h.splice(p,1):p++;if(rU.sort(h,function(N,W){return N[M]-W[M]||N.i-W.i}),x){for(p=0;p<h.length-1&&h[p].gap;)p++;for(L=h[p].s,L||(L=h[p].s=0),E=0;E<p;E++)h[E].s=L;for(k=h.length-1;k>p&&h[k].gap;)k--;for(L=h[k].s,E=h.length-1;E>k;E--)h[E].s=L;for(;p<k;)if(p++,h[p].gap){for(E=p+1;h[E].gap;)E++;for(var H=h[p-1][M],X=h[p-1].s,G=(h[E].s-X)/(h[E][M]-H);p<E;)h[p].s=X+(h[p][M]-H)*G,p++}}}return h}function Wde(e,t,r,n,i,a,o){var s=t._length,l=e._fullLayout,u=r._id,c=n._id,f=l._firstScatter[Yde(t)]===t.uid,h=(nU(t,l,r,n)||{}).orientation,d=t.fill;r._minDtick=0,n._minDtick=0;var v={padded:!0},x={padded:!0};o&&(v.ppad=x.ppad=o);var b=s<2||i[0]!==i[s-1]||a[0]!==a[s-1];b&&(d===\"tozerox\"||d===\"tonextx\"&&(f||h===\"h\"))?v.tozero=!0:!(t.error_y||{}).visible&&(d===\"tonexty\"||d===\"tozeroy\"||!iU.hasMarkers(t)&&!iU.hasText(t))&&(v.padded=!1,v.ppad=0),b&&(d===\"tozeroy\"||d===\"tonexty\"&&(f||h===\"v\"))?x.tozero=!0:(d===\"tonextx\"||d===\"tozerox\")&&(x.padded=!1),u&&(t._extremes[u]=GM.findExtremes(r,i,v)),c&&(t._extremes[c]=GM.findExtremes(n,a,x))}function Zde(e,t){if(iU.hasMarkers(e)){var r=e.marker,n=1.6*(e.marker.sizeref||1),i;if(e.marker.sizemode===\"area\"?i=function(u){return Math.max(Math.sqrt((u||0)/n),3)}:i=function(u){return Math.max((u||0)/n,3)},rU.isArrayOrTypedArray(r.size)){var a={type:\"linear\"};GM.setConvert(a);for(var o=a.makeCalcdata(e.marker,\"size\"),s=new Array(t),l=0;l<t;l++)s[l]=i(o[l]);return s}else return i(r.size)}}function Xde(e,t){var r=Yde(t),n=e._firstScatter;n[r]||(n[r]=t.uid)}function Yde(e){var t=e.stackgroup;return e.xaxis+e.yaxis+e.type+(t?\"-\"+t:\"\")}function nU(e,t,r,n){var i=e.stackgroup;if(i){var a=t._scatterStackOpts[r._id+n._id][i],o=a.orientation===\"v\"?n:r;if(o.type===\"linear\"||o.type===\"log\")return a}}Kde.exports={calc:Hdt,calcMarkerSize:Zde,calcAxisExpansion:Wde,setFirstScatter:Xde,getStackOpts:nU}});var $de=ye((Rnr,Jde)=>{\"use strict\";Jde.exports=ZP;var Gdt=Mr().distinctVals;function ZP(e,t){this.traces=e,this.sepNegVal=t.sepNegVal,this.overlapNoMerge=t.overlapNoMerge;for(var r=1/0,n=t.posAxis._id.charAt(0),i=[],a=0;a<e.length;a++){for(var o=e[a],s=0;s<o.length;s++){var l=o[s],u=l.p;u===void 0&&(u=l[n]),u!==void 0&&i.push(u)}o[0]&&o[0].width1&&(r=Math.min(o[0].width1,r))}this.positions=i;var c=Gdt(i);this.distinctPositions=c.vals,c.vals.length===1&&r!==1/0?this.minDiff=r:this.minDiff=Math.min(c.minDiff,r);var f=(t.posAxis||{}).type;(f===\"category\"||f===\"multicategory\")&&(this.minDiff=1),this.binWidth=this.minDiff,this.bins={}}ZP.prototype.put=function(t,r,n){var i=this.getLabel(t,r,n),a=this.bins[i]||0;return this.bins[i]=a+n,a};ZP.prototype.get=function(t,r,n){var i=this.getLabel(t,r,n);return this.bins[i]||0};ZP.prototype.getLabel=function(t,r,n){var i=n<0&&this.sepNegVal?\"v\":\"^\",a=this.overlapNoMerge?t:Math.round(t/this.binWidth);return i+a+\"g\"+r}});var Gb=ye((Dnr,rve)=>{\"use strict\";var O0=uo(),g_=Mr().isArrayOrTypedArray,Q3=es().BADNUM,jdt=ba(),jM=Qa(),Wdt=Bb().getAxisGroup,XP=$de();function Zdt(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,a=e._fullData,o=e.calcdata,s=[],l=[],u=0;u<a.length;u++){var c=a[u];if(c.visible===!0&&jdt.traceIs(c,\"bar\")&&c.xaxis===r._id&&c.yaxis===n._id&&(c.orientation===\"h\"?s.push(o[u]):l.push(o[u]),c._computePh))for(var f=e.calcdata[u],h=0;h<f.length;h++)typeof f[h].ph0==\"function\"&&(f[h].ph0=f[h].ph0()),typeof f[h].ph1==\"function\"&&(f[h].ph1=f[h].ph1())}var d={xCat:r.type===\"category\"||r.type===\"multicategory\",yCat:n.type===\"category\"||n.type===\"multicategory\",mode:i.barmode,norm:i.barnorm,gap:i.bargap,groupgap:i.bargroupgap};oU(e,r,n,l,d),oU(e,n,r,s,d)}function oU(e,t,r,n,i){if(n.length){var a,o,s,l,u;switch(Kdt(r,n),i.mode){case\"overlay\":aU(e,t,r,n,i);break;case\"group\":for(a=[],o=[],s=0;s<n.length;s++)l=n[s],u=l[0].trace,u.offset===void 0?o.push(l):a.push(l);o.length&&Jdt(e,t,r,o,i),a.length&&aU(e,t,r,a,i);break;case\"stack\":case\"relative\":for(a=[],o=[],s=0;s<n.length;s++)l=n[s],u=l[0].trace,u.base===void 0?o.push(l):a.push(l);Ydt(o),o.length&&$dt(e,t,r,o,i),a.length&&aU(e,t,r,a,i);break}Xdt(n),nvt(n,t)}}function Xdt(e){var t,r,n,i,a,o,s;for(t=0;t<e.length;t++)r=e[t],n=r[0].trace,i=r[0].t,i.cornerradiusvalue===void 0&&(a=n.marker?n.marker.cornerradius:void 0,a!==void 0&&(o=O0(a)?+a:+a.slice(0,-1),s=O0(a)?\"px\":\"%\",i.cornerradiusvalue=o,i.cornerradiusform=s))}function Ydt(e){if(!(e.length<2)){var t,r,n,i,a,o,s;for(t=0;t<e.length&&(r=e[t],n=r[0].trace,a=n.marker?n.marker.cornerradius:void 0,a===void 0);t++);if(a!==void 0)for(o=O0(a)?+a:+a.slice(0,-1),s=O0(a)?\"px\":\"%\",t=0;t<e.length;t++)r=e[t],i=r[0].t,i.cornerradiusvalue=o,i.cornerradiusform=s}}function Kdt(e,t){var r,n;for(r=0;r<t.length;r++){var i=t[r],a=i[0].trace,o=a.type===\"funnel\"?a._base:a.base,s,l=a.orientation===\"h\"?a.xcalendar:a.ycalendar,u=e.type===\"category\"||e.type===\"multicategory\"?function(){return null}:e.d2c;if(g_(o)){for(n=0;n<Math.min(o.length,i.length);n++)s=u(o[n],0,l),O0(s)?(i[n].b=+s,i[n].hasB=1):i[n].b=0;for(;n<i.length;n++)i[n].b=0}else{s=u(o,0,l);var c=O0(s);for(s=c?s:0,n=0;n<i.length;n++)i[n].b=s,c&&(i[n].hasB=1)}}}function aU(e,t,r,n,i){for(var a=0;a<n.length;a++){var o=n[a],s=new XP([o],{posAxis:t,sepNegVal:!1,overlapNoMerge:!i.norm});sU(e,t,s,i),i.norm?(tve(s),lU(r,s,i)):eve(r,s)}}function Jdt(e,t,r,n,i){var a=new XP(n,{posAxis:t,sepNegVal:!1,overlapNoMerge:!i.norm});sU(e,t,a,i),rvt(a,t),i.norm?(tve(a),lU(r,a,i)):eve(r,a)}function $dt(e,t,r,n,i){var a=new XP(n,{posAxis:t,sepNegVal:i.mode===\"relative\",overlapNoMerge:!(i.norm||i.mode===\"stack\"||i.mode===\"relative\")});sU(e,t,a,i),tvt(r,a,i);for(var o=0;o<n.length;o++)for(var s=n[o],l=s[0].t.offsetindex,u=0;u<s.length;u++){var c=s[u];if(c.s!==Q3){var f=c.b+c.s===a.get(c.p,l,c.s);f&&(c._outmost=!0)}}i.norm&&lU(r,a,i)}function sU(e,t,r,n){var i=e._fullLayout,a=r.positions,o=r.distinctPositions,s=r.minDiff,l=r.traces,u=l.length,c=a.length!==o.length,f=s*(1-n.gap),h,d,v,x;if(t._id===\"angularaxis\")h=f,d=h*(1-(n.groupgap||0)),v=-d/2;else{var b=Wdt(i,t._id)+l[0][0].trace.orientation;x=i._alignmentOpts[b]||{}}for(var p=0;p<u;p++){var E=l[p],k=E[0].trace;if(t._id!==\"angularaxis\"){var A=x[k.alignmentgroup]||{},L=Object.keys(A.offsetGroups||{}).length;L?h=f/L:h=c?f/u:f,d=h*(1-(n.groupgap||0)),L?v=((2*k._offsetIndex+1-L)*h-d)/2:v=c?((2*p+1-u)*h-d)/2:-d/2}var _=E[0].t;_.barwidth=d,_.offsetindex=k._offsetIndex||0,_.poffset=v,_.bargroupwidth=f,_.bardelta=s}r.binWidth=l[0][0].t.barwidth/100,Qdt(r),evt(t,r),t._id===\"angularaxis\"?Qde(t,r):Qde(t,r,c)}function Qdt(e){var t=e.traces,r,n;for(r=0;r<t.length;r++){var i=t[r],a=i[0],o=a.trace,s=a.t,l=o._offset||o.offset,u=s.poffset,c;if(g_(l)){for(c=Array.prototype.slice.call(l,0,i.length),n=0;n<c.length;n++)O0(c[n])||(c[n]=u);for(n=c.length;n<i.length;n++)c.push(u);s.poffset=c}else l!==void 0&&(s.poffset=l);var f=o._width||o.width,h=s.barwidth;if(g_(f)){var d=Array.prototype.slice.call(f,0,i.length);for(n=0;n<d.length;n++)O0(d[n])||(d[n]=h);for(n=d.length;n<i.length;n++)d.push(h);if(s.barwidth=d,l===void 0){for(c=[],n=0;n<i.length;n++)c.push(u+(h-d[n])/2);s.poffset=c}}else f!==void 0&&(s.barwidth=f,l===void 0&&(s.poffset=u+(h-f)/2))}}function evt(e,t){for(var r=t.traces,n=eT(e),i=0;i<r.length;i++)for(var a=r[i],o=a[0].t,s=o.poffset,l=g_(s),u=o.barwidth,c=g_(u),f=0;f<a.length;f++){var h=a[f],d=h.w=c?u[f]:u;h.p===void 0&&(h.p=h[n],h[\"orig_\"+n]=h[n]);var v=(l?s[f]:s)+d/2;h[n]=h.p+v}}function Qde(e,t,r){var n=t.traces,i=t.minDiff,a=i/2;jM.minDtick(e,t.minDiff,t.distinctPositions[0],r);for(var o=0;o<n.length;o++){var s=n[o],l=s[0],u=l.trace,c=[],f,h,d,v;for(v=0;v<s.length;v++)f=s[v],h=f.p-a,d=f.p+a,c.push(h,d);if(u.width||u.offset){var x=l.t,b=x.poffset,p=x.barwidth,E=g_(b),k=g_(p);for(v=0;v<s.length;v++){f=s[v];var A=E?b[v]:b,L=k?p[v]:p;h=f.p+A,d=h+L,c.push(h,d)}}u._extremes[e._id]=jM.findExtremes(e,c,{padded:!1})}}function eve(e,t){for(var r=t.traces,n=eT(e),i=0;i<r.length;i++){for(var a=r[i],o=a[0].trace,s=o.type===\"scatter\",l=o.orientation===\"v\",u=[],c=!1,f=0;f<a.length;f++){var h=a[f],d=s?0:h.b,v=s?l?h.y:h.x:d+h.s;h[n]=v,u.push(v),h.hasB&&u.push(d),(!h.hasB||!h.b)&&(c=!0)}o._extremes[e._id]=jM.findExtremes(e,u,{tozero:c,padded:!0})}}function tvt(e,t,r){var n=eT(e),i=t.traces,a,o,s,l,u,c,f;for(l=0;l<i.length;l++)if(a=i[l],o=a[0].trace,o.type===\"funnel\")for(f=a[0].t.offsetindex,u=0;u<a.length;u++)c=a[u],c.s!==Q3&&t.put(c.p,f,-.5*c.s);for(l=0;l<i.length;l++){a=i[l],o=a[0].trace,s=o.type===\"funnel\",f=o.type===\"barpolar\"?0:a[0].t.offsetindex;var h=[];for(u=0;u<a.length;u++)if(c=a[u],c.s!==Q3){var d;s?d=c.s:d=c.s+c.b;var v=t.put(c.p,f,d),x=v+d;c.b=v,c[n]=x,r.norm||(h.push(x),c.hasB&&h.push(v))}r.norm||(o._extremes[e._id]=jM.findExtremes(e,h,{tozero:!0,padded:!0}))}}function tve(e){for(var t=e.traces,r=0;r<t.length;r++)for(var n=t[r],i=n[0].t.offsetindex,a=0;a<n.length;a++){var o=n[a];o.s!==Q3&&e.put(o.p,i,o.b+o.s)}}function rvt(e,t){for(var r=e.traces,n=0;n<r.length;n++){var i=r[n],a=i[0].trace,o=i[0].t.offsetindex;if(a.base===void 0)for(var s=new XP([i],{posAxis:t,sepNegVal:!0,overlapNoMerge:!0}),l=0;l<i.length;l++){var u=i[l];if(u.p!==Q3){var c=s.put(u.p,o,u.b+u.s);c&&(u.b=c)}}}}function lU(e,t,r){var n=t.traces,i=eT(e),a=r.norm===\"fraction\"?1:100,o=a/1e9,s=e.l2c(e.c2l(0)),l=r.mode===\"stack\"?a:s;function u(_){return O0(e.c2l(_))&&(_<s-o||_>l+o||!O0(s))}for(var c=0;c<n.length;c++){for(var f=n[c],h=f[0].t.offsetindex,d=f[0].trace,v=[],x=!1,b=!1,p=0;p<f.length;p++){var E=f[p];if(E.s!==Q3){var k=Math.abs(a/t.get(E.p,h,E.s));E.b*=k,E.s*=k;var A=E.b,L=A+E.s;E[i]=L,v.push(L),b=b||u(L),E.hasB&&(v.push(A),b=b||u(A)),(!E.hasB||!E.b)&&(x=!0)}}d._extremes[e._id]=jM.findExtremes(e,v,{tozero:x,padded:b})}}function ivt(e,t,r,n){for(var i=eT(n),a=0;a<e.length;a++)for(var o=e[a],s=0;s<o.length;s++){var l=o[s],u=l[i];l._sMin=t[u],l._sMax=r[u]}}function nvt(e,t){var r=eT(t),n={},i,a,o,s=1/0,l=-1/0;for(i=0;i<e.length;i++)for(o=e[i],a=0;a<o.length;a++){var u=o[a].p;O0(u)&&(s=Math.min(s,u),l=Math.max(l,u))}var c=1e4/(l-s),f=n.round=function(M){return String(Math.round(c*(M-s)))},h={},d={},v=e.some(function(M){var g=M[0].trace;return\"marker\"in g&&g.marker.cornerradius});for(i=0;i<e.length;i++){o=e[i],o[0].t.extents=n;var x=o[0].t.poffset,b=g_(x);for(a=0;a<o.length;a++){var p=o[a],E=p[r]-p.w/2;if(O0(E)){var k=p[r]+p.w/2,A=f(p.p);n[A]?n[A]=[Math.min(E,n[A][0]),Math.max(k,n[A][1])]:n[A]=[E,k]}if(p.p0=p.p+(b?x[a]:x),p.p1=p.p0+p.w,p.s0=p.b,p.s1=p.s0+p.s,v){var L=Math.min(p.s0,p.s1)||0,_=Math.max(p.s0,p.s1)||0,C=p[r];h[C]=C in h?Math.min(h[C],L):L,d[C]=C in d?Math.max(d[C],_):_}}}v&&ivt(e,h,d,t)}function eT(e){return e._id.charAt(0)}rve.exports={crossTraceCalc:Zdt,setGroupPositions:oU}});var ove=ye((znr,ave)=>{\"use strict\";var ive=q0(),nve=Gb().setGroupPositions;function avt(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,a=e._fullData,o=e.calcdata,s=[],l=[],u=0;u<a.length;u++){var c=a[u];c.visible===!0&&c.type===\"scatter\"&&c.xaxis===r._id&&c.yaxis===n._id&&(c.orientation===\"h\"?s.push(o[u]):c.orientation===\"v\"&&l.push(o[u]))}var f={mode:i.scattermode,gap:i.scattergap};nve(e,r,n,l,f),nve(e,n,r,s,f)}ave.exports=function(t,r){t._fullLayout.scattermode===\"group\"&&avt(t,r);var n=r.xaxis,i=r.yaxis,a=n._id+i._id,o=t._fullLayout._scatterStackOpts[a];if(o){var s=t.calcdata,l,u,c,f,h,d,v,x,b,p,E,k,A,L,_;for(var C in o){p=o[C];var M=p.traceIndices;if(M.length){for(E=p.stackgaps===\"interpolate\",k=p.groupnorm,p.orientation===\"v\"?(A=\"x\",L=\"y\"):(A=\"y\",L=\"x\"),_=new Array(M.length),l=0;l<_.length;l++)_[l]=!1;d=s[M[0]];var g=new Array(d.length);for(l=0;l<d.length;l++)g[l]=d[l][A];for(l=1;l<M.length;l++){for(h=s[M[l]],u=c=0;u<h.length;u++){for(v=h[u][A];v>g[c]&&c<g.length;c++)uU(h,u,g[c],l,_,E,A),u++;if(v!==g[c]){for(f=0;f<l;f++)uU(s[M[f]],c,v,f,_,E,A);g.splice(c,0,v)}c++}for(;c<g.length;c++)uU(h,u,g[c],l,_,E,A),u++}var P=g.length;for(u=0;u<d.length;u++){for(x=d[u][L]=d[u].s,l=1;l<M.length;l++)h=s[M[l]],h[0].trace._rawLength=h[0].trace._length,h[0].trace._length=P,x+=h[u].s,h[u][L]=x;if(k)for(b=(k===\"fraction\"?x:x/100)||1,l=0;l<M.length;l++){var T=s[M[l]][u];T[L]/=b,T.sNorm=T.s/b}}for(l=0;l<M.length;l++){h=s[M[l]];var F=h[0].trace,q=ive.calcMarkerSize(F,F._rawLength),V=Array.isArray(q);if(q&&_[l]||V){var H=q;for(q=new Array(P),u=0;u<P;u++)q[u]=h[u].gap?0:V?H[h[u].i]:H}var X=new Array(P),G=new Array(P);for(u=0;u<P;u++)X[u]=h[u].x,G[u]=h[u].y;ive.calcAxisExpansion(t,F,n,i,X,G,q),h[0].t.orientation=p.orientation}}}}};function uU(e,t,r,n,i,a,o){i[n]=!0;var s={i:null,gap:!0,s:0};if(s[o]=r,e.splice(t,0,s),t&&r===e[t-1][o]){var l=e[t-1];s.s=l.s,s.i=l.i,s.gap=l.gap}else a&&(s.s=ovt(e,t,r,o));t||(e[0].t=e[1].t,e[0].trace=e[1].trace,delete e[1].t,delete e[1].trace)}function ovt(e,t,r,n){var i=e[t-1],a=e[t+1];return a?i?i.s+(a.s-i.s)*(r-i[n])/(a[n]-i[n]):a.s:i.s}});var fU=ye((Fnr,hve)=>{\"use strict\";var svt=ao(),cve=es(),WM=cve.BADNUM,fve=cve.LOG_CLIP,sve=fve+.5,lve=fve-.5,YP=Mr(),lvt=YP.segmentsIntersect,uve=YP.constrain,cU=Sm();hve.exports=function(t,r){var n=r.trace||{},i=r.xaxis,a=r.yaxis,o=i.type===\"log\",s=a.type===\"log\",l=i._length,u=a._length,c=r.backoff,f=n.marker,h=r.connectGaps,d=r.baseTolerance,v=r.shape,x=v===\"linear\",b=n.fill&&n.fill!==\"none\",p=[],E=cU.minTolerance,k=t.length,A=new Array(k),L=0,_,C,M,g,P,T,F,q,V,H,X,G,N,W,re,ae;function _e(ut){var Ne=t[ut];if(!Ne)return!1;var Ye=r.linearized?i.l2p(Ne.x):i.c2p(Ne.x),Ve=r.linearized?a.l2p(Ne.y):a.c2p(Ne.y);if(Ye===WM){if(o&&(Ye=i.c2p(Ne.x,!0)),Ye===WM)return!1;s&&Ve===WM&&(Ye*=Math.abs(i._m*u*(i._m>0?sve:lve)/(a._m*l*(a._m>0?sve:lve)))),Ye*=1e3}if(Ve===WM){if(s&&(Ve=a.c2p(Ne.y,!0)),Ve===WM)return!1;Ve*=1e3}return[Ye,Ve]}function Me(ut,Ne,Ye,Ve){var Xe=Ye-ut,ht=Ve-Ne,Le=.5-ut,xe=.5-Ne,Se=Xe*Xe+ht*ht,lt=Xe*Le+ht*xe;if(lt>0&<<Se){var Gt=Le*ht-xe*Xe;if(Gt*Gt<Se)return!0}}var ke,ge;function ie(ut,Ne){var Ye=ut[0]/l,Ve=ut[1]/u,Xe=Math.max(0,-Ye,Ye-1,-Ve,Ve-1);return Xe&&ke!==void 0&&Me(Ye,Ve,ke,ge)&&(Xe=0),Xe&&Ne&&Me(Ye,Ve,Ne[0]/l,Ne[1]/u)&&(Xe=0),(1+cU.toleranceGrowth*Xe)*d}function Te(ut,Ne){var Ye=ut[0]-Ne[0],Ve=ut[1]-Ne[1];return Math.sqrt(Ye*Ye+Ve*Ve)}var Ee=cU.maxScreensAway,Ae=-l*Ee,ze=l*(1+Ee),Ce=-u*Ee,me=u*(1+Ee),Re=[[Ae,Ce,ze,Ce],[ze,Ce,ze,me],[ze,me,Ae,me],[Ae,me,Ae,Ce]],ce,Ge,nt,ct,qt,rt;function ot(ut,Ne){for(var Ye=[],Ve=0,Xe=0;Xe<4;Xe++){var ht=Re[Xe],Le=lvt(ut[0],ut[1],Ne[0],Ne[1],ht[0],ht[1],ht[2],ht[3]);Le&&(!Ve||Math.abs(Le.x-Ye[0][0])>1||Math.abs(Le.y-Ye[0][1])>1)&&(Le=[Le.x,Le.y],Ve&&Te(Le,ut)<Te(Ye[0],ut)?Ye.unshift(Le):Ye.push(Le),Ve++)}return Ye}function Rt(ut){if(ut[0]<Ae||ut[0]>ze||ut[1]<Ce||ut[1]>me)return[uve(ut[0],Ae,ze),uve(ut[1],Ce,me)]}function kt(ut,Ne){if(ut[0]===Ne[0]&&(ut[0]===Ae||ut[0]===ze)||ut[1]===Ne[1]&&(ut[1]===Ce||ut[1]===me))return!0}function Ct(ut,Ne){var Ye=[],Ve=Rt(ut),Xe=Rt(Ne);return Ve&&Xe&&kt(Ve,Xe)||(Ve&&Ye.push(Ve),Xe&&Ye.push(Xe)),Ye}function Yt(ut,Ne,Ye){return function(Ve,Xe){var ht=Rt(Ve),Le=Rt(Xe),xe=[];if(ht&&Le&&kt(ht,Le))return xe;ht&&xe.push(ht),Le&&xe.push(Le);var Se=2*YP.constrain((Ve[ut]+Xe[ut])/2,Ne,Ye)-((ht||Ve)[ut]+(Le||Xe)[ut]);if(Se){var lt;ht&&Le?lt=Se>0==ht[ut]>Le[ut]?ht:Le:lt=ht||Le,lt[ut]+=Se}return xe}}var xr;v===\"linear\"||v===\"spline\"?xr=ot:v===\"hv\"||v===\"vh\"?xr=Ct:v===\"hvh\"?xr=Yt(0,Ae,ze):v===\"vhv\"&&(xr=Yt(1,Ce,me));function er(ut,Ne){var Ye=Ne[0]-ut[0],Ve=(Ne[1]-ut[1])/Ye,Xe=(ut[1]*Ne[0]-Ne[1]*ut[0])/Ye;return Xe>0?[Ve>0?Ae:ze,me]:[Ve>0?ze:Ae,Ce]}function Ke(ut){var Ne=ut[0],Ye=ut[1],Ve=Ne===A[L-1][0],Xe=Ye===A[L-1][1];if(!(Ve&&Xe))if(L>1){var ht=Ne===A[L-2][0],Le=Ye===A[L-2][1];Ve&&(Ne===Ae||Ne===ze)&&ht?Le?L--:A[L-1]=ut:Xe&&(Ye===Ce||Ye===me)&&Le?ht?L--:A[L-1]=ut:A[L++]=ut}else A[L++]=ut}function xt(ut){A[L-1][0]!==ut[0]&&A[L-1][1]!==ut[1]&&Ke([nt,ct]),Ke(ut),qt=null,nt=ct=0}var bt=YP.isArrayOrTypedArray(f);function Lt(ut){if(ut&&c&&(ut.i=_,ut.d=t,ut.trace=n,ut.marker=bt?f[ut.i]:f,ut.backoff=c),ke=ut[0]/l,ge=ut[1]/u,ce=ut[0]<Ae?Ae:ut[0]>ze?ze:0,Ge=ut[1]<Ce?Ce:ut[1]>me?me:0,ce||Ge){if(!L)A[L++]=[ce||ut[0],Ge||ut[1]];else if(qt){var Ne=xr(qt,ut);Ne.length>1&&(xt(Ne[0]),A[L++]=Ne[1])}else rt=xr(A[L-1],ut)[0],A[L++]=rt;var Ye=A[L-1];ce&&Ge&&(Ye[0]!==ce||Ye[1]!==Ge)?(qt&&(nt!==ce&&ct!==Ge?Ke(nt&&ct?er(qt,ut):[nt||ce,ct||Ge]):nt&&ct&&Ke([nt,ct])),Ke([ce,Ge])):nt-ce&&ct-Ge&&Ke([ce||nt,Ge||ct]),qt=ut,nt=ce,ct=Ge}else qt&&xt(xr(qt,ut)[0]),A[L++]=ut}for(_=0;_<k;_++)if(C=_e(_),!!C){for(L=0,qt=null,Lt(C),_++;_<k;_++){if(g=_e(_),!g){if(h)continue;break}if(!x||!r.simplify){Lt(g);continue}var St=_e(_+1);if(H=Te(g,C),!(!(b&&(L===0||L===k-1))&&H<ie(g,St)*E)){for(q=[(g[0]-C[0])/H,(g[1]-C[1])/H],P=C,X=H,G=W=re=0,F=!1,M=g,_++;_<t.length;_++){if(T=St,St=_e(_+1),!T){if(h)continue;break}if(V=[T[0]-C[0],T[1]-C[1]],ae=V[0]*q[1]-V[1]*q[0],W=Math.min(W,ae),re=Math.max(re,ae),re-W>ie(T,St))break;M=T,N=V[0]*q[0]+V[1]*q[1],N>X?(X=N,g=T,F=!1):N<G&&(G=N,P=T,F=!0)}if(F?(Lt(g),M!==P&&Lt(P)):(P!==C&&Lt(P),M!==g&&Lt(g)),Lt(M),_>=t.length||!T)break;Lt(T),C=T}}qt&&Ke([nt||qt[0],ct||qt[1]]),p.push(A.slice(0,L))}var Et=v.slice(v.length-1);if(c&&Et!==\"h\"&&Et!==\"v\"){for(var dt=!1,Ht=-1,$t=[],fr=0;fr<p.length;fr++)for(var _r=0;_r<p[fr].length-1;_r++){var Br=p[fr][_r],Or=p[fr][_r+1],Nr=svt.applyBackoff(Or,Br);(Nr[0]!==Or[0]||Nr[1]!==Or[1])&&(dt=!0),$t[Ht+1]||(Ht++,$t[Ht]=[Br,[Nr[0],Nr[1]]])}return dt?$t:p}return p}});var hU=ye((qnr,vve)=>{\"use strict\";var dve={tonextx:1,tonexty:1,tonext:1};vve.exports=function(t,r,n){var i,a,o,s,l,u={},c=!1,f=-1,h=0,d=-1;for(a=0;a<n.length;a++)i=n[a][0].trace,o=i.stackgroup||\"\",o?o in u?l=u[o]:(l=u[o]=h,h++):i.fill in dve&&d>=0?l=d:(l=d=h,h++),l<f&&(c=!0),i._groupIndex=f=l;var v=n.slice();c&&v.sort(function(b,p){var E=b[0].trace,k=p[0].trace;return E._groupIndex-k._groupIndex||E.index-k.index});var x={};for(a=0;a<v.length;a++)i=v[a][0].trace,o=i.stackgroup||\"\",i.visible===!0?(i._nexttrace=null,i.fill in dve&&(s=x[o],i._prevtrace=s||null,s&&(s._nexttrace=i)),i._ownfill=i.fill&&(i.fill.substr(0,6)===\"tozero\"||i.fill===\"toself\"||i.fill.substr(0,2)===\"to\"&&!i._prevtrace),x[o]=i):i._prevtrace=i._nexttrace=i._ownfill=null;return v}});var iT=ye((Onr,mve)=>{\"use strict\";var Dg=xa(),uvt=ba(),ZM=Mr(),tT=ZM.ensureSingle,gve=ZM.identity,zf=ao(),rT=lu(),cvt=fU(),fvt=hU(),KP=wM().tester;mve.exports=function(t,r,n,i,a,o){var s,l,u=!a,c=!!a&&a.duration>0,f=fvt(t,r,n);if(s=i.selectAll(\"g.trace\").data(f,function(d){return d[0].trace.uid}),s.enter().append(\"g\").attr(\"class\",function(d){return\"trace scatter trace\"+d[0].trace.uid}).style(\"stroke-miterlimit\",2),s.order(),hvt(t,s,r),c){o&&(l=o());var h=Dg.transition().duration(a.duration).ease(a.easing).each(\"end\",function(){l&&l()}).each(\"interrupt\",function(){l&&l()});h.each(function(){i.selectAll(\"g.trace\").each(function(d,v){pve(t,v,r,d,f,this,a)})})}else s.each(function(d,v){pve(t,v,r,d,f,this,a)});u&&s.exit().remove(),i.selectAll(\"path:not([d])\").remove()};function hvt(e,t,r){t.each(function(n){var i=tT(Dg.select(this),\"g\",\"fills\");zf.setClipUrl(i,r.layerClipId,e);var a=n[0].trace,o=[];a._ownfill&&o.push(\"_ownFill\"),a._nexttrace&&o.push(\"_nextFill\");var s=i.selectAll(\"g\").data(o,gve);s.enter().append(\"g\"),s.exit().each(function(l){a[l]=null}).remove(),s.order().each(function(l){a[l]=tT(Dg.select(this),\"path\",\"js-fill\")})})}function pve(e,t,r,n,i,a,o){var s=e._context.staticPlot,l;dvt(e,t,r,n,i);var u=!!o&&o.duration>0;function c(Yt){return u?Yt.transition():Yt}var f=r.xaxis,h=r.yaxis,d=n[0].trace,v=d.line,x=Dg.select(a),b=tT(x,\"g\",\"errorbars\"),p=tT(x,\"g\",\"lines\"),E=tT(x,\"g\",\"points\"),k=tT(x,\"g\",\"text\");if(uvt.getComponentMethod(\"errorbars\",\"plot\")(e,b,r,o),d.visible!==!0)return;c(x).style(\"opacity\",d.opacity);var A,L,_=d.fill.charAt(d.fill.length-1);_!==\"x\"&&_!==\"y\"&&(_=\"\");var C,M;_===\"y\"?(C=1,M=h.c2p(0,!0)):_===\"x\"&&(C=0,M=f.c2p(0,!0)),n[0][r.isRangePlot?\"nodeRangePlot3\":\"node3\"]=x;var g=\"\",P=[],T=d._prevtrace,F=null,q=null;T&&(g=T._prevRevpath||\"\",L=T._nextFill,P=T._ownPolygons,F=T._fillsegments,q=T._fillElement);var V,H,X=\"\",G=\"\",N,W,re,ae,_e,Me,ke=[];d._polygons=[];var ge=[],ie=[],Te=ZM.noop;if(A=d._ownFill,rT.hasLines(d)||d.fill!==\"none\"){L&&L.datum(n),[\"hv\",\"vh\",\"hvh\",\"vhv\"].indexOf(v.shape)!==-1?(N=zf.steps(v.shape),W=zf.steps(v.shape.split(\"\").reverse().join(\"\"))):v.shape===\"spline\"?N=W=function(Yt){var xr=Yt[Yt.length-1];return Yt.length>1&&Yt[0][0]===xr[0]&&Yt[0][1]===xr[1]?zf.smoothclosed(Yt.slice(1),v.smoothing):zf.smoothopen(Yt,v.smoothing)}:N=W=function(Yt){return\"M\"+Yt.join(\"L\")},re=function(Yt){return W(Yt.reverse())},ie=cvt(n,{xaxis:f,yaxis:h,trace:d,connectGaps:d.connectgaps,baseTolerance:Math.max(v.width||1,3)/4,shape:v.shape,backoff:v.backoff,simplify:v.simplify,fill:d.fill}),ge=new Array(ie.length);var Ee=0;for(l=0;l<ie.length;l++){var Ae,ze=ie[l];!Ae||!_?(Ae=ze.slice(),ge[Ee]=Ae,Ee++):Ae.push.apply(Ae,ze)}d._fillElement=null,d._fillExclusionElement=q,d._fillsegments=ge.slice(0,Ee),ge=d._fillsegments,ie.length&&(ae=ie[0][0].slice(),_e=ie[ie.length-1],Me=_e[_e.length-1].slice()),Te=function(Yt){return function(xr){if(V=N(xr),H=re(xr),X?_?(X+=\"L\"+V.substr(1),G=H+(\"L\"+G.substr(1))):(X+=\"Z\"+V,G=H+\"Z\"+G):(X=V,G=H),rT.hasLines(d)){var er=Dg.select(this);if(er.datum(n),Yt)c(er.style(\"opacity\",0).attr(\"d\",V).call(zf.lineGroupStyle)).style(\"opacity\",1);else{var Ke=c(er);Ke.attr(\"d\",V),zf.singleLineStyle(n,Ke)}}}}}var Ce=p.selectAll(\".js-line\").data(ie);c(Ce.exit()).style(\"opacity\",0).remove(),Ce.each(Te(!1)),Ce.enter().append(\"path\").classed(\"js-line\",!0).style(\"vector-effect\",s?\"none\":\"non-scaling-stroke\").call(zf.lineGroupStyle).each(Te(!0)),zf.setClipUrl(Ce,r.layerClipId,e);function me(Yt){c(Yt).attr(\"d\",\"M0,0Z\")}var Re=function(){var Yt=new Array(ge.length);for(l=0;l<ge.length;l++)Yt[l]=KP(ge[l]);return Yt},ce=function(Yt){var xr,er;if(!Yt||Yt.length===0)for(xr=new Array(ge.length),er=0;er<ge.length;er++){var Ke=ge[er][0].slice(),xt=ge[er][ge[er].length-1].slice();Ke[C]=xt[C]=M;var bt=[xt,Ke],Lt=bt.concat(ge[er]);xr[er]=KP(Lt)}else{for(xr=new Array(Yt.length-1+ge.length),er=0;er<Yt.length-1;er++)xr[er]=KP(Yt[er]);var St=Yt[Yt.length-1].slice();for(St.reverse(),er=0;er<ge.length;er++)xr[Yt.length-1+er]=KP(ge[er].concat(St))}return xr};ie.length?(A?(A.datum(n),ae&&Me&&(_?(ae[C]=Me[C]=M,c(A).attr(\"d\",\"M\"+Me+\"L\"+ae+\"L\"+X.substr(1)).call(zf.singleFillStyle,e),ke=ce(null)):(c(A).attr(\"d\",X+\"Z\").call(zf.singleFillStyle,e),ke=Re())),d._polygons=ke,d._fillElement=A):L&&(d.fill.substr(0,6)===\"tonext\"&&X&&g?(d.fill===\"tonext\"?(c(L).attr(\"d\",X+\"Z\"+g+\"Z\").call(zf.singleFillStyle,e),ke=Re(),d._polygons=ke.concat(P)):(c(L).attr(\"d\",X+\"L\"+g.substr(1)+\"Z\").call(zf.singleFillStyle,e),ke=ce(F),d._polygons=ke),d._fillElement=L):me(L)),d._prevRevpath=G):(A?me(A):L&&me(L),d._prevRevpath=null),d._ownPolygons=ke;function Ge(Yt){return Yt.filter(function(xr){return!xr.gap&&xr.vis})}function nt(Yt){return Yt.filter(function(xr){return xr.vis})}function ct(Yt){return Yt.filter(function(xr){return!xr.gap})}function qt(Yt){return Yt.id}function rt(Yt){if(Yt.ids)return qt}function ot(){return!1}function Rt(Yt,xr,er){var Ke,xt,bt,Lt=er[0].trace,St=rT.hasMarkers(Lt),Et=rT.hasText(Lt),dt=rt(Lt),Ht=ot,$t=ot;if(St||Et){var fr=gve,_r=Lt.stackgroup,Br=_r&&e._fullLayout._scatterStackOpts[f._id+h._id][_r].stackgaps===\"infer zero\";Lt.marker.maxdisplayed||Lt._needsCull?fr=Br?nt:Ge:_r&&!Br&&(fr=ct),St&&(Ht=fr),Et&&($t=fr)}xt=Yt.selectAll(\"path.point\"),Ke=xt.data(Ht,dt);var Or=Ke.enter().append(\"path\").classed(\"point\",!0);u&&Or.call(zf.pointStyle,Lt,e).call(zf.translatePoints,f,h).style(\"opacity\",0).transition().style(\"opacity\",1),Ke.order();var Nr;St&&(Nr=zf.makePointStyleFns(Lt)),Ke.each(function(ut){var Ne=Dg.select(this),Ye=c(Ne);bt=zf.translatePoint(ut,Ye,f,h),bt?(zf.singlePointStyle(ut,Ye,Lt,Nr,e),r.layerClipId&&zf.hideOutsideRangePoint(ut,Ye,f,h,Lt.xcalendar,Lt.ycalendar),Lt.customdata&&Ne.classed(\"plotly-customdata\",ut.data!==null&&ut.data!==void 0)):Ye.remove()}),u?Ke.exit().transition().style(\"opacity\",0).remove():Ke.exit().remove(),xt=xr.selectAll(\"g\"),Ke=xt.data($t,dt),Ke.enter().append(\"g\").classed(\"textpoint\",!0).append(\"text\"),Ke.order(),Ke.each(function(ut){var Ne=Dg.select(this),Ye=c(Ne.select(\"text\"));bt=zf.translatePoint(ut,Ye,f,h),bt?r.layerClipId&&zf.hideOutsideRangePoint(ut,Ne,f,h,Lt.xcalendar,Lt.ycalendar):Ne.remove()}),Ke.selectAll(\"text\").call(zf.textPointStyle,Lt,e).each(function(ut){var Ne=f.c2p(ut.x),Ye=h.c2p(ut.y);Dg.select(this).selectAll(\"tspan.line\").each(function(){c(Dg.select(this)).attr({x:Ne,y:Ye})})}),Ke.exit().remove()}E.datum(n),k.datum(n),Rt(E,k,n);var kt=d.cliponaxis===!1,Ct=kt?null:r.layerClipId;zf.setClipUrl(E,Ct,e),zf.setClipUrl(k,Ct,e)}function dvt(e,t,r,n,i){var a=r.xaxis,o=r.yaxis,s=Dg.extent(ZM.simpleMap(a.range,a.r2c)),l=Dg.extent(ZM.simpleMap(o.range,o.r2c)),u=n[0].trace;if(rT.hasMarkers(u)){var c=u.marker.maxdisplayed;if(c!==0){var f=n.filter(function(x){return x.x>=s[0]&&x.x<=s[1]&&x.y>=l[0]&&x.y<=l[1]}),h=Math.ceil(f.length/c),d=0;i.forEach(function(x,b){var p=x[0].trace;rT.hasMarkers(p)&&p.marker.maxdisplayed>0&&b<t&&d++});var v=Math.round(d*h/3+Math.floor(d/3)*h/7.1);n.forEach(function(x){delete x.vis}),f.forEach(function(x,b){Math.round((b+v)%h)===0&&(x.vis=!0)})}}}});var Kd=ye((Bnr,yve)=>{\"use strict\";yve.exports={container:\"marker\",min:\"cmin\",max:\"cmax\"}});var $P=ye((Nnr,_ve)=>{\"use strict\";var JP=Qa();_ve.exports=function(t,r,n){var i={},a={_fullLayout:n},o=JP.getFromTrace(a,r,\"x\"),s=JP.getFromTrace(a,r,\"y\"),l=t.orig_x;l===void 0&&(l=t.x);var u=t.orig_y;return u===void 0&&(u=t.y),i.xLabel=JP.tickText(o,o.c2l(l),!0).text,i.yLabel=JP.tickText(s,s.c2l(u),!0).text,i}});var op=ye((Unr,xve)=>{\"use strict\";var dU=xa(),nT=ao(),vvt=ba();function pvt(e){var t=dU.select(e).selectAll(\"g.trace.scatter\");t.style(\"opacity\",function(r){return r[0].trace.opacity}),t.selectAll(\"g.points\").each(function(r){var n=dU.select(this),i=r.trace||r[0].trace;vU(n,i,e)}),t.selectAll(\"g.text\").each(function(r){var n=dU.select(this),i=r.trace||r[0].trace;pU(n,i,e)}),t.selectAll(\"g.trace path.js-line\").call(nT.lineGroupStyle),t.selectAll(\"g.trace path.js-fill\").call(nT.fillGroupStyle,e,!1),vvt.getComponentMethod(\"errorbars\",\"style\")(t)}function vU(e,t,r){nT.pointStyle(e.selectAll(\"path.point\"),t,r)}function pU(e,t,r){nT.textPointStyle(e.selectAll(\"text\"),t,r)}function gvt(e,t,r){var n=t[0].trace;n.selectedpoints?(nT.selectedPointStyle(r.selectAll(\"path.point\"),n),nT.selectedTextStyle(r.selectAll(\"text\"),n)):(vU(r,n,e),pU(r,n,e))}xve.exports={style:pvt,stylePoints:vU,styleText:pU,styleOnSelect:gvt}});var oT=ye((Vnr,bve)=>{\"use strict\";var aT=va(),mvt=lu();bve.exports=function(t,r){var n,i;if(t.mode===\"lines\")return n=t.line.color,n&&aT.opacity(n)?n:t.fillcolor;if(t.mode===\"none\")return t.fill?t.fillcolor:\"\";var a=r.mcc||(t.marker||{}).color,o=r.mlcc||((t.marker||{}).line||{}).color;return i=a&&aT.opacity(a)?a:o&&aT.opacity(o)&&(r.mlw||((t.marker||{}).line||{}).width)?o:\"\",i?aT.opacity(i)<.3?aT.addOpacity(i,.3):i:(n=(t.line||{}).color,n&&aT.opacity(n)&&mvt.hasLines(t)&&t.line.width?n:t.fillcolor)}});var sT=ye((Hnr,Tve)=>{\"use strict\";var QP=Mr(),wve=Nc(),yvt=ba(),_vt=oT(),gU=va(),xvt=QP.fillText;Tve.exports=function(t,r,n,i){var a=t.cd,o=a[0].trace,s=t.xa,l=t.ya,u=s.c2p(r),c=l.c2p(n),f=[u,c],h=o.hoveron||\"\",d=o.mode.indexOf(\"markers\")!==-1?3:.5,v=!!o.xperiodalignment,x=!!o.yperiodalignment;if(h.indexOf(\"points\")!==-1){var b=function(G){if(v){var N=s.c2p(G.xStart),W=s.c2p(G.xEnd);return u>=Math.min(N,W)&&u<=Math.max(N,W)?0:1/0}var re=Math.max(3,G.mrc||0),ae=1-1/re,_e=Math.abs(s.c2p(G.x)-u);return _e<re?ae*_e/re:_e-re+ae},p=function(G){if(x){var N=l.c2p(G.yStart),W=l.c2p(G.yEnd);return c>=Math.min(N,W)&&c<=Math.max(N,W)?0:1/0}var re=Math.max(3,G.mrc||0),ae=1-1/re,_e=Math.abs(l.c2p(G.y)-c);return _e<re?ae*_e/re:_e-re+ae},E=function(G){var N=Math.max(d,G.mrc||0),W=s.c2p(G.x)-u,re=l.c2p(G.y)-c;return Math.max(Math.sqrt(W*W+re*re)-N,1-d/N)},k=wve.getDistanceFunction(i,b,p,E);if(wve.getClosest(a,k,t),t.index!==!1){var A=a[t.index],L=s.c2p(A.x,!0),_=l.c2p(A.y,!0),C=A.mrc||1;t.index=A.i;var M=a[0].t.orientation,g=M&&(A.sNorm||A.s),P=M===\"h\"?g:A.orig_x!==void 0?A.orig_x:A.x,T=M===\"v\"?g:A.orig_y!==void 0?A.orig_y:A.y;return QP.extendFlat(t,{color:_vt(o,A),x0:L-C,x1:L+C,xLabelVal:P,y0:_-C,y1:_+C,yLabelVal:T,spikeDistance:E(A),hovertemplate:o.hovertemplate}),xvt(A,o,t),yvt.getComponentMethod(\"errorbars\",\"hoverInfo\")(A,o,t),[t]}}function F(G){if(!G)return!1;var N=G.node();try{var W=new DOMPoint(f[0],f[1]);return N.isPointInFill(W)}catch(ae){var re=N.ownerSVGElement.createSVGPoint();return re.x=f[0],re.y=f[1],N.isPointInFill(re)}}function q(G){var N,W=[],re=1/0,ae=-1/0,_e=1/0,Me=-1/0,ke;for(N=0;N<G.length;N++){var ge=G[N];ge.contains(f)&&(W.push(ge),_e=Math.min(_e,ge.ymin),Me=Math.max(Me,ge.ymax))}if(W.length===0)return null;_e=Math.max(_e,0),Me=Math.min(Me,l._length),ke=(_e+Me)/2;var ie,Te,Ee,Ae,ze,Ce,me;for(N=0;N<W.length;N++)for(Te=W[N].pts,ie=1;ie<Te.length;ie++)Ce=Te[ie-1][1],me=Te[ie][1],Ce>ke!=me>=ke&&(Ae=Te[ie-1][0],ze=Te[ie][0],me-Ce&&(Ee=Ae+(ze-Ae)*(ke-Ce)/(me-Ce),re=Math.min(re,Ee),ae=Math.max(ae,Ee)));return re=Math.max(re,0),ae=Math.min(ae,s._length),{x0:re,x1:ae,y0:ke,y1:ke}}if(h.indexOf(\"fills\")!==-1&&o._fillElement){var V=F(o._fillElement)&&!F(o._fillExclusionElement);if(V){var H=q(o._polygons);H===null&&(H={x0:f[0],x1:f[0],y0:f[1],y1:f[1]});var X=gU.defaultLine;return gU.opacity(o.fillcolor)?X=o.fillcolor:gU.opacity((o.line||{}).color)&&(X=o.line.color),QP.extendFlat(t,{distance:t.maxHoverDistance,x0:H.x0,x1:H.x1,y0:H.y0,y1:H.y1,color:X,hovertemplate:!1}),delete t.index,o.text&&!QP.isArrayOrTypedArray(o.text)?t.text=String(o.text):t.text=o.name,[t]}}}});var lT=ye((Gnr,Sve)=>{\"use strict\";var Ave=lu();Sve.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l,u,c,f,h=!Ave.hasMarkers(s)&&!Ave.hasText(s);if(h)return[];if(r===!1)for(l=0;l<n.length;l++)n[l].selected=0;else for(l=0;l<n.length;l++)u=n[l],c=i.c2p(u.x),f=a.c2p(u.y),u.i!==null&&r.contains([c,f],!1,l,t)?(o.push({pointNumber:u.i,x:i.c2d(u.x),y:a.c2d(u.y)}),u.selected=1):u.selected=0;return o}});var Eve=ye((jnr,Mve)=>{\"use strict\";Mve.exports={xaxis:{valType:\"subplotid\",dflt:\"x\",editType:\"calc+clearAxisTypes\"},yaxis:{valType:\"subplotid\",dflt:\"y\",editType:\"calc+clearAxisTypes\"}}});var yU=ye((Wnr,Lve)=>{\"use strict\";var XM=ba().traceIs,mU=L3();Lve.exports=function(t,r,n,i){n(\"autotypenumbers\",i.autotypenumbersDflt);var a=n(\"type\",(i.splomStash||{}).type);a===\"-\"&&(bvt(r,i.data),r.type===\"-\"?r.type=\"linear\":t.type=r.type)};function bvt(e,t){if(e.type===\"-\"){var r=e._id,n=r.charAt(0),i;r.indexOf(\"scene\")!==-1&&(r=n);var a=wvt(t,r,n);if(a){if(a.type===\"histogram\"&&n==={v:\"y\",h:\"x\"}[a.orientation||\"v\"]){e.type=\"linear\";return}var o=n+\"calendar\",s=a[o],l={noMultiCategory:!XM(a,\"cartesian\")||XM(a,\"noMultiCategory\")};if(a.type===\"box\"&&a._hasPreCompStats&&n==={h:\"x\",v:\"y\"}[a.orientation||\"v\"]&&(l.noMultiCategory=!0),l.autotypenumbers=e.autotypenumbers,Cve(a,n)){var u=kve(a),c=[];for(i=0;i<t.length;i++){var f=t[i];!XM(f,\"box-violin\")||(f[n+\"axis\"]||n)!==r||(f[u]!==void 0?c.push(f[u][0]):f.name!==void 0?c.push(f.name):c.push(\"text\"),f[o]!==s&&(s=void 0))}e.type=mU(c,s,l)}else if(a.type===\"splom\"){var h=a.dimensions,d=h[a._axesDim[r]];d.visible&&(e.type=mU(d.values,s,l))}else e.type=mU(a[n]||[a[n+\"0\"]],s,l)}}}function wvt(e,t,r){for(var n=0;n<e.length;n++){var i=e[n];if(i.type===\"splom\"&&i._length>0&&(i[\"_\"+r+\"axes\"]||{})[t])return i;if((i[r+\"axis\"]||r)===t){if(Cve(i,r))return i;if((i[r]||[]).length||i[r+\"0\"])return i}}}function kve(e){return{v:\"x\",h:\"y\"}[e.orientation||\"v\"]}function Cve(e,t){var r=kve(e),n=XM(e,\"box-violin\"),i=XM(e._fullInput||{},\"candlestick\");return n&&!i&&t===r&&e[r]===void 0&&e[r+\"0\"]===void 0}});var eI=ye((Znr,Pve)=>{\"use strict\";var Tvt=vv().isTypedArraySpec;function Avt(e,t){var r=t.dataAttr||e._id.charAt(0),n={},i,a,o;if(t.axData)i=t.axData;else for(i=[],a=0;a<t.data.length;a++){var s=t.data[a];s[r+\"axis\"]===e._id&&i.push(s)}for(a=0;a<i.length;a++){var l=i[a][r];for(o=0;o<l.length;o++){var u=l[o];u!=null&&(n[u]=1)}}return Object.keys(n)}Pve.exports=function(t,r,n,i){if(r.type===\"category\"){var a=t.categoryarray,o=Array.isArray(a)&&a.length>0||Tvt(a),s;o&&(s=\"array\");var l=n(\"categoryorder\",s),u;l===\"array\"&&(u=n(\"categoryarray\")),!o&&l===\"array\"&&(l=r.categoryorder=\"trace\"),l===\"trace\"?r._initialCategories=[]:l===\"array\"?r._initialCategories=u.slice():(u=Avt(r,i).sort(),l===\"category ascending\"?r._initialCategories=u:l===\"category descending\"&&(r._initialCategories=u.reverse()))}}});var YM=ye((Xnr,Rve)=>{\"use strict\";var Ive=id().mix,Svt=dh(),Mvt=Mr();Rve.exports=function(t,r,n,i){i=i||{};var a=i.dfltColor;function o(C,M){return Mvt.coerce2(t,r,i.attributes,C,M)}var s=o(\"linecolor\",a),l=o(\"linewidth\"),u=n(\"showline\",i.showLine||!!s||!!l);u||(delete r.linecolor,delete r.linewidth);var c=Ive(a,i.bgColor,i.blend||Svt.lightFraction).toRgbString(),f=o(\"gridcolor\",c),h=o(\"gridwidth\"),d=o(\"griddash\"),v=n(\"showgrid\",i.showGrid||!!f||!!h||!!d);if(v||(delete r.gridcolor,delete r.gridwidth,delete r.griddash),i.hasMinor){var x=Ive(r.gridcolor,i.bgColor,67).toRgbString(),b=o(\"minor.gridcolor\",x),p=o(\"minor.gridwidth\",r.gridwidth||1),E=o(\"minor.griddash\",r.griddash||\"solid\"),k=n(\"minor.showgrid\",!!b||!!p||!!E);k||(delete r.minor.gridcolor,delete r.minor.gridwidth,delete r.minor.griddash)}if(!i.noZeroLine){var A=o(\"zerolinecolor\",a),L=o(\"zerolinewidth\"),_=n(\"zeroline\",i.showGrid||!!A||!!L);_||(delete r.zerolinecolor,delete r.zerolinewidth)}}});var JM=ye((Ynr,Bve)=>{\"use strict\";var Dve=uo(),Evt=ba(),KM=Mr(),kvt=Vs(),Cvt=Zd(),_U=Cd(),zve=xb(),Fve=T3(),Lvt=t_(),Pvt=r_(),Ivt=eI(),Rvt=YM(),Dvt=dB(),qve=ym(),tI=ad().WEEKDAY_PATTERN,zvt=ad().HOUR_PATTERN;Bve.exports=function(t,r,n,i,a){var o=i.letter,s=i.font||{},l=i.splomStash||{},u=n(\"visible\",!i.visibleDflt),c=r._template||{},f=r.type||c.type||\"-\",h;if(f===\"date\"){var d=Evt.getComponentMethod(\"calendars\",\"handleDefaults\");d(t,r,\"calendar\",i.calendar),i.noTicklabelmode||(h=n(\"ticklabelmode\"))}!i.noTicklabelindex&&(f===\"date\"||f===\"linear\")&&n(\"ticklabelindex\");var v=\"\";(!i.noTicklabelposition||f===\"multicategory\")&&(v=KM.coerce(t,r,{ticklabelposition:{valType:\"enumerated\",dflt:\"outside\",values:h===\"period\"?[\"outside\",\"inside\"]:o===\"x\"?[\"outside\",\"inside\",\"outside left\",\"inside left\",\"outside right\",\"inside right\"]:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside bottom\",\"inside bottom\"]}},\"ticklabelposition\")),i.noTicklabeloverflow||n(\"ticklabeloverflow\",v.indexOf(\"inside\")!==-1?\"hide past domain\":f===\"category\"||f===\"multicategory\"?\"allow\":\"hide past div\"),qve(r,a),Dvt(t,r,n,i),Ivt(t,r,n,i),f!==\"category\"&&!i.noHover&&n(\"hoverformat\");var x=n(\"color\"),b=x!==_U.color.dflt?x:s.color,p=l.label||a._dfltTitle[o];if(Pvt(t,r,n,f,i),!u)return r;n(\"title.text\",p),KM.coerceFont(n,\"title.font\",s,{overrideDflt:{size:KM.bigFont(s.size),color:b}}),zve(t,r,n,f);var E=i.hasMinor;if(E&&(kvt.newContainer(r,\"minor\"),zve(t,r,n,f,{isMinor:!0})),Lvt(t,r,n,f,i),Fve(t,r,n,i),E){var k=i.isMinor;i.isMinor=!0,Fve(t,r,n,i),i.isMinor=k}Rvt(t,r,n,{dfltColor:x,bgColor:i.bgColor,showGrid:i.showGrid,hasMinor:E,attributes:_U}),E&&!r.minor.ticks&&!r.minor.showgrid&&delete r.minor,(r.showline||r.ticks)&&n(\"mirror\");var A=f===\"multicategory\";if(!i.noTickson&&(f===\"category\"||A)&&(r.ticks||r.showgrid)){var L;A&&(L=\"boundaries\");var _=n(\"tickson\",L);_===\"boundaries\"&&delete r.ticklabelposition}if(A){var C=n(\"showdividers\");C&&(n(\"dividercolor\"),n(\"dividerwidth\"))}if(f===\"date\")if(Cvt(t,r,{name:\"rangebreaks\",inclusionAttr:\"enabled\",handleItemDefaults:Fvt}),!r.rangebreaks.length)delete r.rangebreaks;else{for(var M=0;M<r.rangebreaks.length;M++)if(r.rangebreaks[M].pattern===tI){r._hasDayOfWeekBreaks=!0;break}if(qve(r,a),a._has(\"scattergl\")||a._has(\"splom\"))for(var g=0;g<i.data.length;g++){var P=i.data[g];(P.type===\"scattergl\"||P.type===\"splom\")&&(P.visible=!1,KM.warn(P.type+\" traces do not work on axes with rangebreaks. Setting trace \"+P.index+\" to `visible: false`.\"))}}return r};function Fvt(e,t,r){function n(h,d){return KM.coerce(e,t,_U.rangebreaks,h,d)}var i=n(\"enabled\");if(i){var a=n(\"bounds\");if(a&&a.length>=2){var o=\"\",s,l;if(a.length===2){for(s=0;s<2;s++)if(l=Ove(a[s]),l){o=tI;break}}var u=n(\"pattern\",o);if(u===tI)for(s=0;s<2;s++)l=Ove(a[s]),l&&(t.bounds[s]=a[s]=l-1);if(u)for(s=0;s<2;s++)switch(l=a[s],u){case tI:if(!Dve(l)){t.enabled=!1;return}if(l=+l,l!==Math.floor(l)||l<0||l>=7){t.enabled=!1;return}t.bounds[s]=a[s]=l;break;case zvt:if(!Dve(l)){t.enabled=!1;return}if(l=+l,l<0||l>24){t.enabled=!1;return}t.bounds[s]=a[s]=l;break}if(r.autorange===!1){var c=r.range;if(c[0]<c[1]){if(a[0]<c[0]&&a[1]>c[1]){t.enabled=!1;return}}else if(a[0]>c[0]&&a[1]<c[1]){t.enabled=!1;return}}}else{var f=n(\"values\");if(f&&f.length)n(\"dvalue\");else{t.enabled=!1;return}}}}var qvt={sun:1,mon:2,tue:3,wed:4,thu:5,fri:6,sat:7};function Ove(e){if(typeof e==\"string\")return qvt[e.substr(0,3).toLowerCase()]}});var iI=ye((Knr,Nve)=>{\"use strict\";var Ovt=uo(),rI=Mr();Nve.exports=function(t,r,n,i){var a=i.counterAxes||[],o=i.overlayableAxes||[],s=i.letter,l=i.grid,u=i.overlayingDomain,c,f,h,d,v,x;l&&(f=l._domains[s][l._axisMap[r._id]],c=l._anchors[r._id],f&&(h=l[s+\"side\"].split(\" \")[0],d=l.domain[s][h===\"right\"||h===\"top\"?1:0])),f=f||[0,1],c=c||(Ovt(t.position)?\"free\":a[0]||\"free\"),h=h||(s===\"x\"?\"bottom\":\"left\"),d=d||0,v=0,x=!1;var b=rI.coerce(t,r,{anchor:{valType:\"enumerated\",values:[\"free\"].concat(a),dflt:c}},\"anchor\"),p=rI.coerce(t,r,{side:{valType:\"enumerated\",values:s===\"x\"?[\"bottom\",\"top\"]:[\"left\",\"right\"],dflt:h}},\"side\");if(b===\"free\"){if(s===\"y\"){var E=n(\"autoshift\");E&&(d=p===\"left\"?u[0]:u[1],x=r.automargin?r.automargin:!0,v=p===\"left\"?-3:3),n(\"shift\",v)}n(\"position\",d)}n(\"automargin\",x);var k=!1;if(o.length&&(k=rI.coerce(t,r,{overlaying:{valType:\"enumerated\",values:[!1].concat(o),dflt:!1}},\"overlaying\")),!k){var A=n(\"domain\",f);A[0]>A[1]-1/4096&&(r.domain=f),rI.noneOrAll(t.domain,r.domain,f),r.tickmode===\"sync\"&&(r.tickmode=\"auto\")}return n(\"layer\"),r}});var Yve=ye((Jnr,Xve)=>{\"use strict\";var jb=Mr(),Uve=va(),Bvt=rp().isUnifiedHover,Nvt=OB(),Vve=Vs(),Uvt=s3(),Hve=Cd(),Vvt=yU(),Gve=JM(),Hvt=Bb(),jve=iI(),bU=af(),Cm=bU.id2name,Wve=bU.name2id,Gvt=ad().AX_ID_PATTERN,Zve=ba(),nI=Zve.traceIs,xU=Zve.getComponentMethod;function aI(e,t,r){Array.isArray(e[t])?e[t].push(r):e[t]=[r]}Xve.exports=function(t,r,n){var i=r.autotypenumbers,a={},o={},s={},l={},u={},c={},f={},h={},d={},v={},x,b;for(x=0;x<n.length;x++){var p=n[x];if(nI(p,\"cartesian\")){var E;if(p.xaxis)E=Cm(p.xaxis),aI(a,E,p);else if(p.xaxes)for(b=0;b<p.xaxes.length;b++)aI(a,Cm(p.xaxes[b]),p);var k;if(p.yaxis)k=Cm(p.yaxis),aI(a,k,p);else if(p.yaxes)for(b=0;b<p.yaxes.length;b++)aI(a,Cm(p.yaxes[b]),p);if(p.type===\"funnel\"?p.orientation===\"h\"?(E&&(o[E]=!0),k&&(f[k]=!0)):k&&(s[k]=!0):p.type===\"image\"?(k&&(h[k]=!0),E&&(h[E]=!0)):(k&&(u[k]=!0,c[k]=!0),(!nI(p,\"carpet\")||p.type===\"carpet\"&&!p._cheater)&&E&&(l[E]=!0)),p.type===\"carpet\"&&p._cheater&&E&&(o[E]=!0),nI(p,\"2dMap\")&&(d[E]=!0,d[k]=!0),nI(p,\"oriented\")){var A=p.orientation===\"h\"?k:E;v[A]=!0}}}var L=r._subplots,_=L.xaxis,C=L.yaxis,M=jb.simpleMap(_,Cm),g=jb.simpleMap(C,Cm),P=M.concat(g),T=Uve.background;_.length&&C.length&&(T=jb.coerce(t,r,Uvt,\"plot_bgcolor\"));var F=Uve.combine(T,r.paper_bgcolor),q,V,H,X,G;function N(){var xt=a[q]||[];G._traceIndices=xt.map(function(bt){return bt.index}),G._annIndices=[],G._shapeIndices=[],G._selectionIndices=[],G._imgIndices=[],G._subplotsWith=[],G._counterAxes=[],G._name=G._attr=q,G._id=V}function W(xt,bt){return jb.coerce(X,G,Hve,xt,bt)}function re(xt,bt){return jb.coerce2(X,G,Hve,xt,bt)}function ae(xt){return xt===\"x\"?C:_}function _e(xt,bt){for(var Lt=xt===\"x\"?M:g,St=[],Et=0;Et<Lt.length;Et++){var dt=Lt[Et];dt!==bt&&!(t[dt]||{}).overlaying&&St.push(Wve(dt))}return St}var Me={x:ae(\"x\"),y:ae(\"y\")},ke=Me.x.concat(Me.y),ge={},ie=[];function Te(){var xt=X.matches;Gvt.test(xt)&&ke.indexOf(xt)===-1&&(ge[xt]=X.type,ie=Object.keys(ge))}var Ee=Nvt(t,r),Ae=Bvt(Ee);for(x=0;x<P.length;x++){q=P[x],V=Wve(q),H=q.charAt(0),jb.isPlainObject(t[q])||(t[q]={}),X=t[q],G=Vve.newContainer(r,q,H+\"axis\"),N();var ze=H===\"x\"&&!l[q]&&o[q]||H===\"y\"&&!u[q]&&s[q],Ce=H===\"y\"&&(!c[q]&&f[q]||h[q]),me={hasMinor:!0,letter:H,font:r.font,outerTicks:d[q],showGrid:!v[q],data:a[q]||[],bgColor:F,calendar:r.calendar,automargin:!0,visibleDflt:ze,reverseDflt:Ce,autotypenumbersDflt:i,splomStash:((r._splomAxes||{})[H]||{})[V],noAutotickangles:H===\"y\"};W(\"uirevision\",r.uirevision),Vvt(X,G,W,me),Gve(X,G,W,me,r);var Re=Ae&&H===Ee.charAt(0),ce=re(\"spikecolor\",Ae?G.color:void 0),Ge=re(\"spikethickness\",Ae?1.5:void 0),nt=re(\"spikedash\",Ae?\"dot\":void 0),ct=re(\"spikemode\",Ae?\"across\":void 0),qt=re(\"spikesnap\"),rt=W(\"showspikes\",!!Re||!!ce||!!Ge||!!nt||!!ct||!!qt);rt||(delete G.spikecolor,delete G.spikethickness,delete G.spikedash,delete G.spikemode,delete G.spikesnap);var ot=Cm(X.overlaying),Rt=[0,1];if(r[ot]!==void 0){var kt=Cm(r[ot].anchor);r[kt]!==void 0&&(Rt=r[kt].domain)}jve(X,G,W,{letter:H,counterAxes:Me[H],overlayableAxes:_e(H,q),grid:r.grid,overlayingDomain:Rt}),W(\"title.standoff\"),Te(),G._input=X}for(x=0;x<ie.length;){V=ie[x++],q=Cm(V),H=q.charAt(0),jb.isPlainObject(t[q])||(t[q]={}),X=t[q],G=Vve.newContainer(r,q,H+\"axis\"),N();var Ct={letter:H,font:r.font,outerTicks:d[q],showGrid:!v[q],data:[],bgColor:F,calendar:r.calendar,automargin:!0,visibleDflt:!1,reverseDflt:!1,autotypenumbersDflt:i,splomStash:((r._splomAxes||{})[H]||{})[V]};W(\"uirevision\",r.uirevision),G.type=ge[V]||\"linear\",Gve(X,G,W,Ct,r),jve(X,G,W,{letter:H,counterAxes:Me[H],overlayableAxes:_e(H,q),grid:r.grid}),W(\"fixedrange\"),Te(),G._input=X}var Yt=xU(\"rangeslider\",\"handleDefaults\"),xr=xU(\"rangeselector\",\"handleDefaults\");for(x=0;x<M.length;x++)q=M[x],X=t[q],G=r[q],Yt(t,r,q),G.type===\"date\"&&xr(X,G,r,g,G.calendar),W(\"fixedrange\");for(x=0;x<g.length;x++){q=g[x],X=t[q],G=r[q];var er=r[Cm(G.anchor)],Ke=xU(\"rangeslider\",\"isVisible\")(er);W(\"fixedrange\",Ke)}Hvt.handleDefaults(t,r,{axIds:ke.concat(ie).sort(bU.idSort),axHasImage:h})}});var $ve=ye(($nr,Jve)=>{\"use strict\";var jvt=xa(),Kve=ba(),oI=Mr(),Qp=ao(),sI=Qa();Jve.exports=function(t,r,n,i){var a=t._fullLayout;if(r.length===0){sI.redrawComponents(t);return}function o(b){var p=b.xaxis,E=b.yaxis;a._defs.select(\"#\"+b.clipId+\"> rect\").call(Qp.setTranslate,0,0).call(Qp.setScale,1,1),b.plot.call(Qp.setTranslate,p._offset,E._offset).call(Qp.setScale,1,1);var k=b.plot.selectAll(\".scatterlayer .trace\");k.selectAll(\".point\").call(Qp.setPointGroupScale,1,1),k.selectAll(\".textpoint\").call(Qp.setTextPointsScale,1,1),k.call(Qp.hideOutsideRangePoints,b)}function s(b,p){var E=b.plotinfo,k=E.xaxis,A=E.yaxis,L=k._length,_=A._length,C=!!b.xr1,M=!!b.yr1,g=[];if(C){var P=oI.simpleMap(b.xr0,k.r2l),T=oI.simpleMap(b.xr1,k.r2l),F=P[1]-P[0],q=T[1]-T[0];g[0]=(P[0]*(1-p)+p*T[0]-P[0])/(P[1]-P[0])*L,g[2]=L*(1-p+p*q/F),k.range[0]=k.l2r(P[0]*(1-p)+p*T[0]),k.range[1]=k.l2r(P[1]*(1-p)+p*T[1])}else g[0]=0,g[2]=L;if(M){var V=oI.simpleMap(b.yr0,A.r2l),H=oI.simpleMap(b.yr1,A.r2l),X=V[1]-V[0],G=H[1]-H[0];g[1]=(V[1]*(1-p)+p*H[1]-V[1])/(V[0]-V[1])*_,g[3]=_*(1-p+p*G/X),A.range[0]=k.l2r(V[0]*(1-p)+p*H[0]),A.range[1]=A.l2r(V[1]*(1-p)+p*H[1])}else g[1]=0,g[3]=_;sI.drawOne(t,k,{skipTitle:!0}),sI.drawOne(t,A,{skipTitle:!0}),sI.redrawComponents(t,[k._id,A._id]);var N=C?L/g[2]:1,W=M?_/g[3]:1,re=C?g[0]:0,ae=M?g[1]:0,_e=C?g[0]/g[2]*L:0,Me=M?g[1]/g[3]*_:0,ke=k._offset-_e,ge=A._offset-Me;E.clipRect.call(Qp.setTranslate,re,ae).call(Qp.setScale,1/N,1/W),E.plot.call(Qp.setTranslate,ke,ge).call(Qp.setScale,N,W),Qp.setPointGroupScale(E.zoomScalePts,1/N,1/W),Qp.setTextPointsScale(E.zoomScaleTxt,1/N,1/W)}var l;i&&(l=i());function u(){for(var b={},p=0;p<r.length;p++){var E=r[p],k=E.plotinfo.xaxis,A=E.plotinfo.yaxis;E.xr1&&(b[k._name+\".range\"]=E.xr1.slice()),E.yr1&&(b[A._name+\".range\"]=E.yr1.slice())}return l&&l(),Kve.call(\"relayout\",t,b).then(function(){for(var L=0;L<r.length;L++)o(r[L].plotinfo)})}function c(){for(var b={},p=0;p<r.length;p++){var E=r[p],k=E.plotinfo.xaxis,A=E.plotinfo.yaxis;E.xr0&&(b[k._name+\".range\"]=E.xr0.slice()),E.yr0&&(b[A._name+\".range\"]=E.yr0.slice())}return Kve.call(\"relayout\",t,b).then(function(){for(var L=0;L<r.length;L++)o(r[L].plotinfo)})}var f,h,d,v=jvt.ease(n.easing);t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(d),d=null,c()});function x(){h=Date.now();for(var b=Math.min(1,(h-f)/n.duration),p=v(b),E=0;E<r.length;E++)s(r[E],p);h-f>n.duration?(u(),d=window.cancelAnimationFrame(x)):d=window.requestAnimationFrame(x)}return f=Date.now(),d=window.requestAnimationFrame(x),Promise.resolve()}});var Jf=ye(yv=>{\"use strict\";var uI=xa(),Qve=ba(),Wb=Mr(),Wvt=Xu(),Zvt=ao(),epe=kd().getModuleCalcData,m_=af(),zg=ad(),Xvt=Zp(),ql=Wb.ensureSingle;function lI(e,t,r){return Wb.ensureSingle(e,t,r,function(n){n.datum(r)})}var Zb=zg.zindexSeparator;yv.name=\"cartesian\";yv.attr=[\"xaxis\",\"yaxis\"];yv.idRoot=[\"x\",\"y\"];yv.idRegex=zg.idRegex;yv.attrRegex=zg.attrRegex;yv.attributes=Eve();yv.layoutAttributes=Cd();yv.supplyLayoutDefaults=Yve();yv.transitionAxes=$ve();yv.finalizeSubplots=function(e,t){var r=t._subplots,n=r.xaxis,i=r.yaxis,a=r.cartesian,o=a,s={},l={},u,c,f;for(u=0;u<o.length;u++){var h=o[u].split(\"y\");s[h[0]]=1,l[\"y\"+h[1]]=1}for(u=0;u<n.length;u++)c=n[u],s[c]||(f=(e[m_.id2name(c)]||{}).anchor,zg.idRegex.y.test(f)||(f=\"y\"),a.push(c+f),o.push(c+f),l[f]||(l[f]=1,Wb.pushUnique(i,f)));for(u=0;u<i.length;u++)f=i[u],l[f]||(c=(e[m_.id2name(f)]||{}).anchor,zg.idRegex.x.test(c)||(c=\"x\"),a.push(c+f),o.push(c+f),s[c]||(s[c]=1,Wb.pushUnique(n,c)));if(!o.length){c=\"\",f=\"\";for(var d in e)if(zg.attrRegex.test(d)){var v=d.charAt(0);v===\"x\"?(!c||+d.substr(5)<+c.substr(5))&&(c=d):(!f||+d.substr(5)<+f.substr(5))&&(f=d)}c=c?m_.name2id(c):\"x\",f=f?m_.name2id(f):\"y\",n.push(c),i.push(f),a.push(c+f)}};yv.plot=function(e,t,r,n){var i=e._fullLayout,a=i._subplots.cartesian,o=e.calcdata,s;if(!Array.isArray(t))for(t=[],s=0;s<o.length;s++)t.push(s);for(var l=i._zindices,u=0;u<l.length;u++){var c=l[u];for(s=0;s<a.length;s++){var f=a[s],h=i._plots[f];if(u>0){var d=h.id;if(d.indexOf(Zb)!==-1)continue;d+=Zb+(u+1),h=Wb.extendFlat({},h,{id:d,plot:i._cartesianlayer.selectAll(\".subplot\").select(\".\"+d)})}for(var v=[],x,b=0;b<o.length;b++){var p=o[b],E=p[0].trace;c===(E.zorder||0)&&E.xaxis+E.yaxis===f&&((t.indexOf(E.index)!==-1||E.carpet)&&(x&&x[0].trace.xaxis+x[0].trace.yaxis===f&&[\"tonextx\",\"tonexty\",\"tonext\"].indexOf(E.fill)!==-1&&v.indexOf(x)===-1&&v.push(x),v.push(p)),x=p)}tpe(e,h,v,r,n)}}};function tpe(e,t,r,n,i){for(var a=zg.traceLayerClasses,o=e._fullLayout,s=o._zindices,l=o._modules,u,c,f,h=[],d=[],v=0;v<s.length;v++)for(var x=s[v],b=0;b<l.length;b++){u=l[b];var p=u.name,E=Qve.modules[p].categories;if(E.svg){var k=u.layerName||p+\"layer\",A=k+(v?Number(v)+1:\"\"),L=u.plot;c=epe(r,L,x),f=c[0],r=c[1],f.length&&h.push({i:a.indexOf(k),zindex:v,className:A,plotMethod:L,cdModule:f}),E.zoomScale&&d.push(\".\"+A)}}h.sort(function(M,g){return(M.zindex||0)-(g.zindex||0)||M.i-g.i});var _=t.plot.selectAll(\"g.mlayer\").data(h,function(M){return M.className});if(_.enter().append(\"g\").attr(\"class\",function(M){return M.className}).classed(\"mlayer\",!0).classed(\"rangeplot\",t.isRangePlot),_.exit().remove(),_.order(),_.each(function(M){var g=uI.select(this),P=M.className;M.plotMethod(e,t,M.cdModule,g,n,i),zg.clipOnAxisFalseQuery.indexOf(\".\"+P)===-1&&Zvt.setClipUrl(g,t.layerClipId,e)}),o._has(\"scattergl\")&&(u=Qve.getModule(\"scattergl\"),f=epe(r,u)[0],u.plot(e,t,f)),!e._context.staticPlot&&(t._hasClipOnAxisFalse&&(t.clipOnAxisFalseTraces=t.plot.selectAll(zg.clipOnAxisFalseQuery.join(\",\")).selectAll(\".trace\")),d.length)){var C=t.plot.selectAll(d.join(\",\")).selectAll(\".trace\");t.zoomScalePts=C.selectAll(\"path.point\"),t.zoomScaleTxt=C.selectAll(\".textpoint\")}}yv.clean=function(e,t,r,n){var i=n._plots||{},a=t._plots||{},o=n._subplots||{},s,l,u;if(n._hasOnlyLargeSploms&&!t._hasOnlyLargeSploms)for(u in i)s=i[u],s.plotgroup&&s.plotgroup.remove();var c=n._has&&n._has(\"gl\"),f=t._has&&t._has(\"gl\");if(c&&!f)for(u in i)s=i[u],s._scene&&s._scene.destroy();if(o.xaxis&&o.yaxis){var h=m_.listIds({_fullLayout:n});for(l=0;l<h.length;l++){var d=h[l];t[m_.id2name(d)]||n._infolayer.selectAll(\".g-\"+d+\"title\").remove()}}var v=n._has&&n._has(\"cartesian\"),x=t._has&&t._has(\"cartesian\");if(v&&!x)ipe(n._cartesianlayer.selectAll(\".subplot\"),n),n._defs.selectAll(\".axesclip\").remove(),delete n._axisConstraintGroups,delete n._axisMatchGroups;else if(o.cartesian)for(l=0;l<o.cartesian.length;l++){var b=o.cartesian[l];if(b.indexOf(Zb)===-1&&!a[b]){var p=\".\"+b+\",.\"+b+\"-x,.\"+b+\"-y\";n._cartesianlayer.selectAll(p).remove(),npe(b,n)}}};yv.drawFramework=function(e){var t=e._fullLayout,r=e.calcdata,n,i={};for(n=0;n<r.length;n++){var a=r[n][0],o=a.trace,s=o.zorder||0;i[s]||(i[s]=[]),i[s].push(a)}var l=Object.keys(i).map(Number).sort(Wb.sorterAsc);l.length||(l=[0]),t._zindices=l;var u=Yvt(e),c=u.length,f=[];for(n=0;n<c;n++)f[n]=u[n].slice();for(var h=1;h<l.length;h++){var d=[];for(n=0;n<c;n++)d[n]=u[n].slice(),d[n][0]+=Zb+(h+1);f=f.concat(d)}var v=t._cartesianlayer.selectAll(\".subplot\").data(f,String);v.enter().append(\"g\").attr(\"class\",function(x){return\"subplot \"+x[0]}),v.order(),v.exit().call(ipe,t),v.each(function(x){var b=x[0],p=b.indexOf(Zb),E=p!==-1,k=E?b.slice(0,p):b,A=t._plots[b];A||(A=Wb.extendFlat({},t._plots[k]),A&&(A.id=b,t._plots[b]=A,t._subplots.cartesian.push(b))),A&&(A.plotgroup=uI.select(this),rpe(e,A),E||(A.draglayer=ql(t._draggers,\"g\",b)))})};yv.rangePlot=function(e,t,r){rpe(e,t),tpe(e,t,r),Wvt.style(e)};function Yvt(e){var t=e._fullLayout,r=t._zindices.length,n=t._subplots.cartesian,i=n.length,a,o,s,l,u,c,f=[],h=[];for(a=0;a<i;a++){s=n[a],l=t._plots[s],u=l.xaxis,c=l.yaxis;var d=u._mainAxis,v=c._mainAxis,x=d._id+v._id,b=t._plots[x];l.overlays=[],x!==s&&b?(l.mainplot=x,l.mainplotinfo=b,h.push(s)):(l.mainplot=void 0,l.mainplotinfo=void 0,f.push(s))}for(a=0;a<h.length;a++)s=h[a],l=t._plots[s],l.mainplotinfo.overlays.push(l);var p=f.concat(h),E=[];for(a=0;a<i;a++){s=p[a],l=t._plots[s],u=l.xaxis,c=l.yaxis;for(var k=[],A=1;A<=r;A++){var L=\"\";for(A>1&&(L+=Zb+A),k.push(s+L),o=0;o<l.overlays.length;o++)k.push(l.overlays[o].id+L)}k=k.concat([u.layer,c.layer,u.overlaying||\"\",c.overlaying||\"\"]),E.push(k)}return E}function rpe(e,t){var r=e._fullLayout,n=t.plotgroup,i=t.id,a=i.indexOf(Zb),o=a!==-1,s=zg.layerValue2layerClass[t.xaxis.layer],l=zg.layerValue2layerClass[t.yaxis.layer],u=r._hasOnlyLargeSploms,c=r._zindices.length>1,f=t.mainplotinfo;if(!t.mainplot||c)if(u)t.xlines=ql(n,\"path\",\"xlines-above\"),t.ylines=ql(n,\"path\",\"ylines-above\"),t.xaxislayer=ql(n,\"g\",\"xaxislayer-above\"),t.yaxislayer=ql(n,\"g\",\"yaxislayer-above\");else{if(!o){var h=ql(n,\"g\",\"layer-subplot\");t.shapelayer=ql(h,\"g\",\"shapelayer\"),t.imagelayer=ql(h,\"g\",\"imagelayer\"),f&&c?(t.minorGridlayer=f.minorGridlayer,t.gridlayer=f.gridlayer,t.zerolinelayer=f.zerolinelayer):(t.minorGridlayer=ql(n,\"g\",\"minor-gridlayer\"),t.gridlayer=ql(n,\"g\",\"gridlayer\"),t.zerolinelayer=ql(n,\"g\",\"zerolinelayer\"));var d=ql(n,\"g\",\"layer-between\");t.shapelayerBetween=ql(d,\"g\",\"shapelayer\"),t.imagelayerBetween=ql(d,\"g\",\"imagelayer\"),ql(n,\"path\",\"xlines-below\"),ql(n,\"path\",\"ylines-below\"),t.overlinesBelow=ql(n,\"g\",\"overlines-below\"),ql(n,\"g\",\"xaxislayer-below\"),ql(n,\"g\",\"yaxislayer-below\"),t.overaxesBelow=ql(n,\"g\",\"overaxes-below\")}t.overplot=ql(n,\"g\",\"overplot\"),t.plot=ql(t.overplot,\"g\",i),o||(t.xlines=ql(n,\"path\",\"xlines-above\"),t.ylines=ql(n,\"path\",\"ylines-above\"),t.overlinesAbove=ql(n,\"g\",\"overlines-above\"),ql(n,\"g\",\"xaxislayer-above\"),ql(n,\"g\",\"yaxislayer-above\"),t.overaxesAbove=ql(n,\"g\",\"overaxes-above\"),t.xlines=n.select(\".xlines-\"+s),t.ylines=n.select(\".ylines-\"+l),t.xaxislayer=n.select(\".xaxislayer-\"+s),t.yaxislayer=n.select(\".yaxislayer-\"+l))}else{var v=f.plotgroup,x=i+\"-x\",b=i+\"-y\";t.minorGridlayer=f.minorGridlayer,t.gridlayer=f.gridlayer,t.zerolinelayer=f.zerolinelayer,ql(f.overlinesBelow,\"path\",x),ql(f.overlinesBelow,\"path\",b),ql(f.overaxesBelow,\"g\",x),ql(f.overaxesBelow,\"g\",b),t.plot=ql(f.overplot,\"g\",i),ql(f.overlinesAbove,\"path\",x),ql(f.overlinesAbove,\"path\",b),ql(f.overaxesAbove,\"g\",x),ql(f.overaxesAbove,\"g\",b),t.xlines=v.select(\".overlines-\"+s).select(\".\"+x),t.ylines=v.select(\".overlines-\"+l).select(\".\"+b),t.xaxislayer=v.select(\".overaxes-\"+s).select(\".\"+x),t.yaxislayer=v.select(\".overaxes-\"+l).select(\".\"+b)}o||(u||(lI(t.minorGridlayer,\"g\",t.xaxis._id),lI(t.minorGridlayer,\"g\",t.yaxis._id),t.minorGridlayer.selectAll(\"g\").map(function(p){return p[0]}).sort(m_.idSort),lI(t.gridlayer,\"g\",t.xaxis._id),lI(t.gridlayer,\"g\",t.yaxis._id),t.gridlayer.selectAll(\"g\").map(function(p){return p[0]}).sort(m_.idSort)),t.xlines.style(\"fill\",\"none\").classed(\"crisp\",!0),t.ylines.style(\"fill\",\"none\").classed(\"crisp\",!0))}function ipe(e,t){if(e){var r={};e.each(function(l){var u=l[0],c=uI.select(this);c.remove(),npe(u,t),r[u]=!0});for(var n in t._plots)for(var i=t._plots[n],a=i.overlays||[],o=0;o<a.length;o++){var s=a[o];r[s.id]&&s.plot.selectAll(\".trace\").remove()}}}function npe(e,t){t._draggers.selectAll(\"g.\"+e).remove(),t._defs.select(\"#clip\"+t._uid+e+\"plot\").remove()}yv.toSVG=function(e){var t=e._fullLayout._glimages,r=uI.select(e).selectAll(\".svg-container\"),n=r.filter(function(a,o){return o===r.size()-1}).selectAll(\".gl-canvas-context, .gl-canvas-focus\");function i(){var a=this,o=a.toDataURL(\"image/png\"),s=t.append(\"svg:image\");s.attr({xmlns:Xvt.svg,\"xlink:href\":o,preserveAspectRatio:\"none\",x:0,y:0,width:a.style.width,height:a.style.height})}n.each(i)};yv.updateFx=zN().updateFx});var ope=ye((ear,ape)=>{\"use strict\";var cI=lu();ape.exports={hasLines:cI.hasLines,hasMarkers:cI.hasMarkers,hasText:cI.hasText,isBubble:cI.isBubble,attributes:Uc(),layoutAttributes:V6(),supplyDefaults:Ide(),crossTraceDefaults:$N(),supplyLayoutDefaults:Fde(),calc:q0().calc,crossTraceCalc:ove(),arraysToCalcdata:km(),plot:iT(),colorbar:Kd(),formatLabels:$P(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:sT(),selectPoints:lT(),animatable:!0,moduleType:\"trace\",name:\"scatter\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\",\"zoomScale\"],meta:{}}});var upe=ye((tar,lpe)=>{\"use strict\";var Kvt=xa(),Jvt=va(),spe=MN(),wU=Mr(),$vt=wU.strScale,Qvt=wU.strRotate,ept=wU.strTranslate;lpe.exports=function(t,r,n){var i=t.node(),a=spe[n.arrowhead||0],o=spe[n.startarrowhead||0],s=(n.arrowwidth||1)*(n.arrowsize||1),l=(n.arrowwidth||1)*(n.startarrowsize||1),u=r.indexOf(\"start\")>=0,c=r.indexOf(\"end\")>=0,f=a.backoff*s+n.standoff,h=o.backoff*l+n.startstandoff,d,v,x,b;if(i.nodeName===\"line\"){d={x:+t.attr(\"x1\"),y:+t.attr(\"y1\")},v={x:+t.attr(\"x2\"),y:+t.attr(\"y2\")};var p=d.x-v.x,E=d.y-v.y;if(x=Math.atan2(E,p),b=x+Math.PI,f&&h&&f+h>Math.sqrt(p*p+E*E)){V();return}if(f){if(f*f>p*p+E*E){V();return}var k=f*Math.cos(x),A=f*Math.sin(x);v.x+=k,v.y+=A,t.attr({x2:v.x,y2:v.y})}if(h){if(h*h>p*p+E*E){V();return}var L=h*Math.cos(x),_=h*Math.sin(x);d.x-=L,d.y-=_,t.attr({x1:d.x,y1:d.y})}}else if(i.nodeName===\"path\"){var C=i.getTotalLength(),M=\"\";if(C<f+h){V();return}var g=i.getPointAtLength(0),P=i.getPointAtLength(.1);x=Math.atan2(g.y-P.y,g.x-P.x),d=i.getPointAtLength(Math.min(h,C)),M=\"0px,\"+h+\"px,\";var T=i.getPointAtLength(C),F=i.getPointAtLength(C-.1);b=Math.atan2(T.y-F.y,T.x-F.x),v=i.getPointAtLength(Math.max(0,C-f));var q=M?h+f:f;M+=C-q+\"px,\"+C+\"px\",t.style(\"stroke-dasharray\",M)}function V(){t.style(\"stroke-dasharray\",\"0px,100px\")}function H(X,G,N,W){X.path&&(X.noRotate&&(N=0),Kvt.select(i.parentNode).append(\"path\").attr({class:t.attr(\"class\"),d:X.path,transform:ept(G.x,G.y)+Qvt(N*180/Math.PI)+$vt(W)}).style({fill:Jvt.rgb(n.arrowcolor),\"stroke-width\":0}))}u&&H(o,d,x,l),c&&H(a,v,b,s)}});var fI=ye((rar,vpe)=>{\"use strict\";var cpe=xa(),TU=ba(),tpt=Xu(),__=Mr(),AU=__.strTranslate,QM=Qa(),Xb=va(),Py=ao(),fpe=Nc(),SU=Pl(),MU=Tg(),$M=gv(),rpt=Vs().arrayEditor,ipt=upe();vpe.exports={draw:npt,drawOne:hpe,drawRaw:dpe};function npt(e){var t=e._fullLayout;t._infolayer.selectAll(\".annotation\").remove();for(var r=0;r<t.annotations.length;r++)t.annotations[r].visible&&hpe(e,r);return tpt.previousPromises(e)}function hpe(e,t){var r=e._fullLayout,n=r.annotations[t]||{},i=QM.getFromId(e,n.xref),a=QM.getFromId(e,n.yref);i&&i.setScale(),a&&a.setScale(),dpe(e,n,t,!1,i,a)}function y_(e,t,r,n,i){var a=i[r],o=i[r+\"ref\"],s=r.indexOf(\"y\")!==-1,l=QM.getRefType(o)===\"domain\",u=s?n.h:n.w;return e?l?a+(s?-t:t)/e._length:e.p2r(e.r2p(a)+t):a+(s?-t:t)/u}function dpe(e,t,r,n,i,a){var o=e._fullLayout,s=e._fullLayout._size,l=e._context.edits,u,c;n?(u=\"annotation-\"+n,c=n+\".annotations\"):(u=\"annotation\",c=\"annotations\");var f=rpt(e.layout,c,t),h=f.modifyBase,d=f.modifyItem,v=f.getUpdateObj;o._infolayer.selectAll(\".\"+u+'[data-index=\"'+r+'\"]').remove();var x=\"clip\"+o._uid+\"_ann\"+r;if(!t._input||t.visible===!1){cpe.selectAll(\"#\"+x).remove();return}var b={x:{},y:{}},p=+t.textangle||0,E=o._infolayer.append(\"g\").classed(u,!0).attr(\"data-index\",String(r)).style(\"opacity\",t.opacity),k=E.append(\"g\").classed(\"annotation-text-g\",!0),A=l[t.showarrow?\"annotationTail\":\"annotationPosition\"],L=t.captureevents||l.annotationText||A;function _(W){var re={index:r,annotation:t._input,fullAnnotation:t,event:W};return n&&(re.subplotId=n),re}var C=k.append(\"g\").style(\"pointer-events\",L?\"all\":null).call(MU,\"pointer\").on(\"click\",function(){e._dragging=!1,e.emit(\"plotly_clickannotation\",_(cpe.event))});t.hovertext&&C.on(\"mouseover\",function(){var W=t.hoverlabel,re=W.font,ae=this.getBoundingClientRect(),_e=e.getBoundingClientRect();fpe.loneHover({x0:ae.left-_e.left,x1:ae.right-_e.left,y:(ae.top+ae.bottom)/2-_e.top,text:t.hovertext,color:W.bgcolor,borderColor:W.bordercolor,fontFamily:re.family,fontSize:re.size,fontColor:re.color,fontWeight:re.weight,fontStyle:re.style,fontVariant:re.variant,fontShadow:re.fontShadow,fontLineposition:re.fontLineposition,fontTextcase:re.fontTextcase},{container:o._hoverlayer.node(),outerContainer:o._paper.node(),gd:e})}).on(\"mouseout\",function(){fpe.loneUnhover(o._hoverlayer.node())});var M=t.borderwidth,g=t.borderpad,P=M+g,T=C.append(\"rect\").attr(\"class\",\"bg\").style(\"stroke-width\",M+\"px\").call(Xb.stroke,t.bordercolor).call(Xb.fill,t.bgcolor),F=t.width||t.height,q=o._topclips.selectAll(\"#\"+x).data(F?[0]:[]);q.enter().append(\"clipPath\").classed(\"annclip\",!0).attr(\"id\",x).append(\"rect\"),q.exit().remove();var V=t.font,H=o._meta?__.templateString(t.text,o._meta):t.text,X=C.append(\"text\").classed(\"annotation-text\",!0).text(H);function G(W){return W.call(Py.font,V).attr({\"text-anchor\":{left:\"start\",right:\"end\"}[t.align]||\"middle\"}),SU.convertToTspans(W,e,N),W}function N(){var W=X.selectAll(\"a\");if(W.size()===1&&W.text()===X.text()){var re=C.insert(\"a\",\":first-child\").attr({\"xlink:xlink:href\":W.attr(\"xlink:href\"),\"xlink:xlink:show\":W.attr(\"xlink:show\")}).style({cursor:\"pointer\"});re.node().appendChild(T.node())}var ae=C.select(\".annotation-text-math-group\"),_e=!ae.empty(),Me=Py.bBox((_e?ae:X).node()),ke=Me.width,ge=Me.height,ie=t.width||ke,Te=t.height||ge,Ee=Math.round(ie+2*P),Ae=Math.round(Te+2*P);function ze(Ve,Xe){return Xe===\"auto\"&&(Ve<1/3?Xe=\"left\":Ve>2/3?Xe=\"right\":Xe=\"center\"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[Xe]}for(var Ce=!1,me=[\"x\",\"y\"],Re=0;Re<me.length;Re++){var ce=me[Re],Ge=t[ce+\"ref\"]||ce,nt=t[\"a\"+ce+\"ref\"],ct={x:i,y:a}[ce],qt=(p+(ce===\"x\"?0:-90))*Math.PI/180,rt=Ee*Math.cos(qt),ot=Ae*Math.sin(qt),Rt=Math.abs(rt)+Math.abs(ot),kt=t[ce+\"anchor\"],Ct=t[ce+\"shift\"]*(ce===\"x\"?1:-1),Yt=b[ce],xr,er,Ke,xt,bt,Lt=QM.getRefType(Ge);if(ct&&Lt!==\"domain\"){var St=ct.r2fraction(t[ce]);(St<0||St>1)&&(nt===Ge?(St=ct.r2fraction(t[\"a\"+ce]),(St<0||St>1)&&(Ce=!0)):Ce=!0),xr=ct._offset+ct.r2p(t[ce]),xt=.5}else{var Et=Lt===\"domain\";ce===\"x\"?(Ke=t[ce],xr=Et?ct._offset+ct._length*Ke:xr=s.l+s.w*Ke):(Ke=1-t[ce],xr=Et?ct._offset+ct._length*Ke:xr=s.t+s.h*Ke),xt=t.showarrow?.5:Ke}if(t.showarrow){Yt.head=xr;var dt=t[\"a\"+ce];if(bt=rt*ze(.5,t.xanchor)-ot*ze(.5,t.yanchor),nt===Ge){var Ht=QM.getRefType(nt);Ht===\"domain\"?(ce===\"y\"&&(dt=1-dt),Yt.tail=ct._offset+ct._length*dt):Ht===\"paper\"?ce===\"y\"?(dt=1-dt,Yt.tail=s.t+s.h*dt):Yt.tail=s.l+s.w*dt:Yt.tail=ct._offset+ct.r2p(dt),er=bt}else Yt.tail=xr+dt,er=bt+dt;Yt.text=Yt.tail+bt;var $t=o[ce===\"x\"?\"width\":\"height\"];if(Ge===\"paper\"&&(Yt.head=__.constrain(Yt.head,1,$t-1)),nt===\"pixel\"){var fr=-Math.max(Yt.tail-3,Yt.text),_r=Math.min(Yt.tail+3,Yt.text)-$t;fr>0?(Yt.tail+=fr,Yt.text+=fr):_r>0&&(Yt.tail-=_r,Yt.text-=_r)}Yt.tail+=Ct,Yt.head+=Ct}else bt=Rt*ze(xt,kt),er=bt,Yt.text=xr+bt;Yt.text+=Ct,bt+=Ct,er+=Ct,t[\"_\"+ce+\"padplus\"]=Rt/2+er,t[\"_\"+ce+\"padminus\"]=Rt/2-er,t[\"_\"+ce+\"size\"]=Rt,t[\"_\"+ce+\"shift\"]=bt}if(Ce){C.remove();return}var Br=0,Or=0;if(t.align!==\"left\"&&(Br=(ie-ke)*(t.align===\"center\"?.5:1)),t.valign!==\"top\"&&(Or=(Te-ge)*(t.valign===\"middle\"?.5:1)),_e)ae.select(\"svg\").attr({x:P+Br-1,y:P+Or}).call(Py.setClipUrl,F?x:null,e);else{var Nr=P+Or-Me.top,ut=P+Br-Me.left;X.call(SU.positionText,ut,Nr).call(Py.setClipUrl,F?x:null,e)}q.select(\"rect\").call(Py.setRect,P,P,ie,Te),T.call(Py.setRect,M/2,M/2,Ee-M,Ae-M),C.call(Py.setTranslate,Math.round(b.x.text-Ee/2),Math.round(b.y.text-Ae/2)),k.attr({transform:\"rotate(\"+p+\",\"+b.x.text+\",\"+b.y.text+\")\"});var Ne=function(Ve,Xe){E.selectAll(\".annotation-arrow-g\").remove();var ht=b.x.head,Le=b.y.head,xe=b.x.tail+Ve,Se=b.y.tail+Xe,lt=b.x.text+Ve,Gt=b.y.text+Xe,Vt=__.rotationXYMatrix(p,lt,Gt),ar=__.apply2DTransform(Vt),Qr=__.apply2DTransform2(Vt),ai=+T.attr(\"width\"),jr=+T.attr(\"height\"),ri=lt-.5*ai,bi=ri+ai,nn=Gt-.5*jr,Wi=nn+jr,Ni=[[ri,nn,ri,Wi],[ri,Wi,bi,Wi],[bi,Wi,bi,nn],[bi,nn,ri,nn]].map(Qr);if(!Ni.reduce(function(Vr,gi){return Vr^!!__.segmentsIntersect(ht,Le,ht+1e6,Le+1e6,gi[0],gi[1],gi[2],gi[3])},!1)){Ni.forEach(function(Vr){var gi=__.segmentsIntersect(xe,Se,ht,Le,Vr[0],Vr[1],Vr[2],Vr[3]);gi&&(xe=gi.x,Se=gi.y)});var _n=t.arrowwidth,$i=t.arrowcolor,zn=t.arrowside,Wn=E.append(\"g\").style({opacity:Xb.opacity($i)}).classed(\"annotation-arrow-g\",!0),It=Wn.append(\"path\").attr(\"d\",\"M\"+xe+\",\"+Se+\"L\"+ht+\",\"+Le).style(\"stroke-width\",_n+\"px\").call(Xb.stroke,Xb.rgb($i));if(ipt(It,zn,t),l.annotationPosition&&It.node().parentNode&&!n){var ft=ht,jt=Le;if(t.standoff){var Zt=Math.sqrt(Math.pow(ht-xe,2)+Math.pow(Le-Se,2));ft+=t.standoff*(xe-ht)/Zt,jt+=t.standoff*(Se-Le)/Zt}var yr=Wn.append(\"path\").classed(\"annotation-arrow\",!0).classed(\"anndrag\",!0).classed(\"cursor-move\",!0).attr({d:\"M3,3H-3V-3H3ZM0,0L\"+(xe-ft)+\",\"+(Se-jt),transform:AU(ft,jt)}).style(\"stroke-width\",_n+6+\"px\").call(Xb.stroke,\"rgba(0,0,0,0)\").call(Xb.fill,\"rgba(0,0,0,0)\"),Fr,Zr;$M.init({element:yr.node(),gd:e,prepFn:function(){var Vr=Py.getTranslate(C);Fr=Vr.x,Zr=Vr.y,i&&i.autorange&&h(i._name+\".autorange\",!0),a&&a.autorange&&h(a._name+\".autorange\",!0)},moveFn:function(Vr,gi){var Si=ar(Fr,Zr),Mi=Si[0]+Vr,Pi=Si[1]+gi;C.call(Py.setTranslate,Mi,Pi),d(\"x\",y_(i,Vr,\"x\",s,t)),d(\"y\",y_(a,gi,\"y\",s,t)),t.axref===t.xref&&d(\"ax\",y_(i,Vr,\"ax\",s,t)),t.ayref===t.yref&&d(\"ay\",y_(a,gi,\"ay\",s,t)),Wn.attr(\"transform\",AU(Vr,gi)),k.attr({transform:\"rotate(\"+p+\",\"+Mi+\",\"+Pi+\")\"})},doneFn:function(){TU.call(\"_guiRelayout\",e,v());var Vr=document.querySelector(\".js-notes-box-panel\");Vr&&Vr.redraw(Vr.selectedObj)}})}}};if(t.showarrow&&Ne(0,0),A){var Ye;$M.init({element:C.node(),gd:e,prepFn:function(){Ye=k.attr(\"transform\")},moveFn:function(Ve,Xe){var ht=\"pointer\";if(t.showarrow)t.axref===t.xref?d(\"ax\",y_(i,Ve,\"ax\",s,t)):d(\"ax\",t.ax+Ve),t.ayref===t.yref?d(\"ay\",y_(a,Xe,\"ay\",s.w,t)):d(\"ay\",t.ay+Xe),Ne(Ve,Xe);else{if(n)return;var Le,xe;if(i)Le=y_(i,Ve,\"x\",s,t);else{var Se=t._xsize/s.w,lt=t.x+(t._xshift-t.xshift)/s.w-Se/2;Le=$M.align(lt+Ve/s.w,Se,0,1,t.xanchor)}if(a)xe=y_(a,Xe,\"y\",s,t);else{var Gt=t._ysize/s.h,Vt=t.y-(t._yshift+t.yshift)/s.h-Gt/2;xe=$M.align(Vt-Xe/s.h,Gt,0,1,t.yanchor)}d(\"x\",Le),d(\"y\",xe),(!i||!a)&&(ht=$M.getCursor(i?.5:Le,a?.5:xe,t.xanchor,t.yanchor))}k.attr({transform:AU(Ve,Xe)+Ye}),MU(C,ht)},clickFn:function(Ve,Xe){t.captureevents&&e.emit(\"plotly_clickannotation\",_(Xe))},doneFn:function(){MU(C),TU.call(\"_guiRelayout\",e,v());var Ve=document.querySelector(\".js-notes-box-panel\");Ve&&Ve.redraw(Ve.selectedObj)}})}}l.annotationText?X.call(SU.makeEditable,{delegate:C,gd:e}).call(G).on(\"edit\",function(W){t.text=W,this.call(G),d(\"text\",W),i&&i.autorange&&h(i._name+\".autorange\",!0),a&&a.autorange&&h(a._name+\".autorange\",!0),TU.call(\"_guiRelayout\",e,v())}):X.call(G)}});var xpe=ye((iar,_pe)=>{\"use strict\";var ppe=Mr(),apt=ba(),gpe=Vs().arrayEditor;_pe.exports={hasClickToShow:opt,onClick:spt};function opt(e,t){var r=ype(e,t);return r.on.length>0||r.explicitOff.length>0}function spt(e,t){var r=ype(e,t),n=r.on,i=r.off.concat(r.explicitOff),a={},o=e._fullLayout.annotations,s,l;if(n.length||i.length){for(s=0;s<n.length;s++)l=gpe(e.layout,\"annotations\",o[n[s]]),l.modifyItem(\"visible\",!0),ppe.extendFlat(a,l.getUpdateObj());for(s=0;s<i.length;s++)l=gpe(e.layout,\"annotations\",o[i[s]]),l.modifyItem(\"visible\",!1),ppe.extendFlat(a,l.getUpdateObj());return apt.call(\"update\",e,{},a)}}function ype(e,t){var r=e._fullLayout.annotations,n=[],i=[],a=[],o=(t||[]).length,s,l,u,c,f,h,d,v;for(s=0;s<r.length;s++)if(u=r[s],c=u.clicktoshow,c){for(l=0;l<o;l++)if(f=t[l],h=f.xaxis,d=f.yaxis,h._id===u.xref&&d._id===u.yref&&h.d2r(f.x)===mpe(u._xclick,h)&&d.d2r(f.y)===mpe(u._yclick,d)){u.visible?c===\"onout\"?v=i:v=a:v=n,v.push(s);break}l===o&&u.visible&&c===\"onout\"&&i.push(s)}return{on:n,off:i,explicitOff:a}}function mpe(e,t){return t.type===\"log\"?t.l2r(e):t.d2r(e)}});var kU=ye((nar,bpe)=>{\"use strict\";var EU=Mr(),uT=va();bpe.exports=function(t,r,n,i){i(\"opacity\");var a=i(\"bgcolor\"),o=i(\"bordercolor\"),s=uT.opacity(o);i(\"borderpad\");var l=i(\"borderwidth\"),u=i(\"showarrow\");i(\"text\",u?\" \":n._dfltTitle.annotation),i(\"textangle\"),EU.coerceFont(i,\"font\",n.font),i(\"width\"),i(\"align\");var c=i(\"height\");if(c&&i(\"valign\"),u){var f=i(\"arrowside\"),h,d;f.indexOf(\"end\")!==-1&&(h=i(\"arrowhead\"),d=i(\"arrowsize\")),f.indexOf(\"start\")!==-1&&(i(\"startarrowhead\",h),i(\"startarrowsize\",d)),i(\"arrowcolor\",s?r.bordercolor:uT.defaultLine),i(\"arrowwidth\",(s&&l||1)*2),i(\"standoff\"),i(\"startstandoff\")}var v=i(\"hovertext\"),x=n.hoverlabel||{};if(v){var b=i(\"hoverlabel.bgcolor\",x.bgcolor||(uT.opacity(a)?uT.rgb(a):uT.defaultLine)),p=i(\"hoverlabel.bordercolor\",x.bordercolor||uT.contrast(b)),E=EU.extendFlat({},x.font);E.color||(E.color=p),EU.coerceFont(i,\"hoverlabel.font\",E)}i(\"captureevents\",!!v)}});var Tpe=ye((aar,wpe)=>{\"use strict\";var CU=Mr(),Yb=Qa(),lpt=Zd(),upt=kU(),cpt=Nb();wpe.exports=function(t,r){lpt(t,r,{name:\"annotations\",handleItemDefaults:fpt})};function fpt(e,t,r){function n(k,A){return CU.coerce(e,t,cpt,k,A)}var i=n(\"visible\"),a=n(\"clicktoshow\");if(i||a){upt(e,t,r,n);for(var o=t.showarrow,s=[\"x\",\"y\"],l=[-10,-30],u={_fullLayout:r},c=0;c<2;c++){var f=s[c],h=Yb.coerceRef(e,t,u,f,\"\",\"paper\");if(h!==\"paper\"){var d=Yb.getFromId(u,h);d._annIndices.push(t._index)}if(Yb.coercePosition(t,u,n,h,f,.5),o){var v=\"a\"+f,x=Yb.coerceRef(e,t,u,v,\"pixel\",[\"pixel\",\"paper\"]);x!==\"pixel\"&&x!==h&&(x=t[v]=\"pixel\");var b=x===\"pixel\"?l[c]:.4;Yb.coercePosition(t,u,n,x,v,b)}n(f+\"anchor\"),n(f+\"shift\")}if(CU.noneOrAll(e,t,[\"x\",\"y\"]),o&&CU.noneOrAll(e,t,[\"ax\",\"ay\"]),a){var p=n(\"xclick\"),E=n(\"yclick\");t._xclick=p===void 0?t.x:Yb.cleanPosition(p,u,t.xref),t._yclick=E===void 0?t.y:Yb.cleanPosition(E,u,t.yref)}}}});var Mpe=ye((oar,Spe)=>{\"use strict\";var LU=Mr(),Kb=Qa(),hpt=fI().draw;Spe.exports=function(t){var r=t._fullLayout,n=LU.filterVisible(r.annotations);if(n.length&&t._fullData.length)return LU.syncOrAsync([hpt,dpt],t)};function dpt(e){var t=e._fullLayout;LU.filterVisible(t.annotations).forEach(function(r){var n=Kb.getFromId(e,r.xref),i=Kb.getFromId(e,r.yref),a=Kb.getRefType(r.xref),o=Kb.getRefType(r.yref);r._extremes={},a===\"range\"&&Ape(r,n),o===\"range\"&&Ape(r,i)})}function Ape(e,t){var r=t._id,n=r.charAt(0),i=e[n],a=e[\"a\"+n],o=e[n+\"ref\"],s=e[\"a\"+n+\"ref\"],l=e[\"_\"+n+\"padplus\"],u=e[\"_\"+n+\"padminus\"],c={x:1,y:-1}[n]*e[n+\"shift\"],f=3*e.arrowsize*e.arrowwidth||0,h=f+c,d=f-c,v=3*e.startarrowsize*e.arrowwidth||0,x=v+c,b=v-c,p;if(s===o){var E=Kb.findExtremes(t,[t.r2c(i)],{ppadplus:h,ppadminus:d}),k=Kb.findExtremes(t,[t.r2c(a)],{ppadplus:Math.max(l,x),ppadminus:Math.max(u,b)});p={min:[E.min[0],k.min[0]],max:[E.max[0],k.max[0]]}}else x=a?x+a:x,b=a?b-a:b,p=Kb.findExtremes(t,[t.r2c(i)],{ppadplus:Math.max(l,h,x),ppadminus:Math.max(u,d,b)});e._extremes[r]=p}});var kpe=ye((sar,Epe)=>{\"use strict\";var vpt=uo(),ppt=u6();Epe.exports=function(t,r,n,i){r=r||{};var a=n===\"log\"&&r.type===\"linear\",o=n===\"linear\"&&r.type===\"log\";if(!(a||o))return;var s=t._fullLayout.annotations,l=r._id.charAt(0),u,c;function f(d){var v=u[d],x=null;a?x=ppt(v,r.range):x=Math.pow(10,v),vpt(x)||(x=null),i(c+d,x)}for(var h=0;h<s.length;h++)u=s[h],c=\"annotations[\"+h+\"].\",u[l+\"ref\"]===r._id&&f(l),u[\"a\"+l+\"ref\"]===r._id&&f(\"a\"+l)}});var Ppe=ye((lar,Lpe)=>{\"use strict\";var PU=fI(),Cpe=xpe();Lpe.exports={moduleType:\"component\",name:\"annotations\",layoutAttributes:Nb(),supplyLayoutDefaults:Tpe(),includeBasePlot:IM()(\"annotations\"),calcAutorange:Mpe(),draw:PU.draw,drawOne:PU.drawOne,drawRaw:PU.drawRaw,hasClickToShow:Cpe.hasClickToShow,onClick:Cpe.onClick,convertCoords:kpe()}});var hI=ye((uar,Ipe)=>{\"use strict\";var Ku=Nb(),gpt=Bu().overrideAll,mpt=Vs().templatedArray;Ipe.exports=gpt(mpt(\"annotation\",{visible:Ku.visible,x:{valType:\"any\"},y:{valType:\"any\"},z:{valType:\"any\"},ax:{valType:\"number\"},ay:{valType:\"number\"},xanchor:Ku.xanchor,xshift:Ku.xshift,yanchor:Ku.yanchor,yshift:Ku.yshift,text:Ku.text,textangle:Ku.textangle,font:Ku.font,width:Ku.width,height:Ku.height,opacity:Ku.opacity,align:Ku.align,valign:Ku.valign,bgcolor:Ku.bgcolor,bordercolor:Ku.bordercolor,borderpad:Ku.borderpad,borderwidth:Ku.borderwidth,showarrow:Ku.showarrow,arrowcolor:Ku.arrowcolor,arrowhead:Ku.arrowhead,startarrowhead:Ku.startarrowhead,arrowside:Ku.arrowside,arrowsize:Ku.arrowsize,startarrowsize:Ku.startarrowsize,arrowwidth:Ku.arrowwidth,standoff:Ku.standoff,startstandoff:Ku.startstandoff,hovertext:Ku.hovertext,hoverlabel:Ku.hoverlabel,captureevents:Ku.captureevents}),\"calc\",\"from-root\")});var Dpe=ye((car,Rpe)=>{\"use strict\";var IU=Mr(),ypt=Qa(),_pt=Zd(),xpt=kU(),bpt=hI();Rpe.exports=function(t,r,n){_pt(t,r,{name:\"annotations\",handleItemDefaults:wpt,fullLayout:n.fullLayout})};function wpt(e,t,r,n){function i(s,l){return IU.coerce(e,t,bpt,s,l)}function a(s){var l=s+\"axis\",u={_fullLayout:{}};return u._fullLayout[l]=r[l],ypt.coercePosition(t,u,i,s,s,.5)}var o=i(\"visible\");o&&(xpt(e,t,n.fullLayout,i),a(\"x\"),a(\"y\"),a(\"z\"),IU.noneOrAll(e,t,[\"x\",\"y\",\"z\"]),t.xref=\"x\",t.yref=\"y\",t.zref=\"z\",i(\"xanchor\"),i(\"yanchor\"),i(\"xshift\"),i(\"yshift\"),t.showarrow&&(t.axref=\"pixel\",t.ayref=\"pixel\",i(\"ax\",-10),i(\"ay\",-30),IU.noneOrAll(e,t,[\"ax\",\"ay\"])))}});var Ope=ye((far,qpe)=>{\"use strict\";var zpe=Mr(),Fpe=Qa();qpe.exports=function(t){for(var r=t.fullSceneLayout,n=r.annotations,i=0;i<n.length;i++)Tpt(n[i],t);t.fullLayout._infolayer.selectAll(\".annotation-\"+t.id).remove()};function Tpt(e,t){var r=t.fullSceneLayout,n=r.domain,i=t.fullLayout._size,a={pdata:null,type:\"linear\",autorange:!1,range:[-1/0,1/0]};e._xa={},zpe.extendFlat(e._xa,a),Fpe.setConvert(e._xa),e._xa._offset=i.l+n.x[0]*i.w,e._xa.l2p=function(){return .5*(1+e._pdata[0]/e._pdata[3])*i.w*(n.x[1]-n.x[0])},e._ya={},zpe.extendFlat(e._ya,a),Fpe.setConvert(e._ya),e._ya._offset=i.t+(1-n.y[1])*i.h,e._ya.l2p=function(){return .5*(1-e._pdata[1]/e._pdata[3])*i.h*(n.y[1]-n.y[0])}}});var DU=ye((har,Bpe)=>{\"use strict\";function RU(e,t){var r=[0,0,0,0],n,i;for(n=0;n<4;++n)for(i=0;i<4;++i)r[i]+=e[4*n+i]*t[n];return r}function Apt(e,t){var r=RU(e.projection,RU(e.view,RU(e.model,[t[0],t[1],t[2],1])));return r}Bpe.exports=Apt});var Upe=ye((dar,Npe)=>{\"use strict\";var Spt=fI().drawRaw,Mpt=DU(),Ept=[\"x\",\"y\",\"z\"];Npe.exports=function(t){for(var r=t.fullSceneLayout,n=t.dataScale,i=r.annotations,a=0;a<i.length;a++){for(var o=i[a],s=!1,l=0;l<3;l++){var u=Ept[l],c=o[u],f=r[u+\"axis\"],h=f.r2fraction(c);if(h<0||h>1){s=!0;break}}s?t.fullLayout._infolayer.select(\".annotation-\"+t.id+'[data-index=\"'+a+'\"]').remove():(o._pdata=Mpt(t.glplot.cameraParams,[r.xaxis.r2l(o.x)*n[0],r.yaxis.r2l(o.y)*n[1],r.zaxis.r2l(o.z)*n[2]]),Spt(t.graphDiv,o,a,t.id,o._xa,o._ya))}}});var Gpe=ye((par,Hpe)=>{\"use strict\";var kpt=ba(),Vpe=Mr();Hpe.exports={moduleType:\"component\",name:\"annotations3d\",schema:{subplots:{scene:{annotations:hI()}}},layoutAttributes:hI(),handleDefaults:Dpe(),includeBasePlot:Cpt,convert:Ope(),draw:Upe()};function Cpt(e,t){var r=kpt.subplotsRegistry.gl3d;if(r)for(var n=r.attrRegex,i=Object.keys(e),a=0;a<i.length;a++){var o=i[a];n.test(o)&&(e[o].annotations||[]).length&&(Vpe.pushUnique(t._basePlotModules,r),Vpe.pushUnique(t._subplots.gl3d,o))}}});var zU=ye((mar,Xpe)=>{\"use strict\";var jpe=Nb(),Wpe=Su(),Zpe=Uc().line,Lpt=Ed().dash,Fg=no().extendFlat,Ppt=Vs().templatedArray,gar=PM(),cT=vl(),Ipt=Wo().shapeTexttemplateAttrs,Rpt=b6();Xpe.exports=Ppt(\"shape\",{visible:Fg({},cT.visible,{editType:\"calc+arraydraw\"}),showlegend:{valType:\"boolean\",dflt:!1,editType:\"calc+arraydraw\"},legend:Fg({},cT.legend,{editType:\"calc+arraydraw\"}),legendgroup:Fg({},cT.legendgroup,{editType:\"calc+arraydraw\"}),legendgrouptitle:{text:Fg({},cT.legendgrouptitle.text,{editType:\"calc+arraydraw\"}),font:Wpe({editType:\"calc+arraydraw\"}),editType:\"calc+arraydraw\"},legendrank:Fg({},cT.legendrank,{editType:\"calc+arraydraw\"}),legendwidth:Fg({},cT.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:Fg({},jpe.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:Fg({},jpe.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:Fg({},Zpe.color,{editType:\"arraydraw\"}),width:Fg({},Zpe.width,{editType:\"calc+arraydraw\"}),dash:Fg({},Lpt,{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:Ipt({},{keys:Object.keys(Rpt)}),font:Wpe({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\"})});var Jpe=ye((yar,Kpe)=>{\"use strict\";var e4=Mr(),fT=Qa(),Dpt=Zd(),zpt=zU(),Ype=h_();Kpe.exports=function(t,r){Dpt(t,r,{name:\"shapes\",handleItemDefaults:qpt})};function Fpt(e,t){return e?\"bottom\":t.indexOf(\"top\")!==-1?\"top\":t.indexOf(\"bottom\")!==-1?\"bottom\":\"middle\"}function qpt(e,t,r){function n(W,re){return e4.coerce(e,t,zpt,W,re)}t._isShape=!0;var i=n(\"visible\");if(i){var a=n(\"showlegend\");a&&(n(\"legend\"),n(\"legendwidth\"),n(\"legendgroup\"),n(\"legendgrouptitle.text\"),e4.coerceFont(n,\"legendgrouptitle.font\"),n(\"legendrank\"));var o=n(\"path\"),s=o?\"path\":\"rect\",l=n(\"type\",s),u=l!==\"path\";u&&delete t.path,n(\"editable\"),n(\"layer\"),n(\"opacity\"),n(\"fillcolor\"),n(\"fillrule\");var c=n(\"line.width\");c&&(n(\"line.color\"),n(\"line.dash\"));for(var f=n(\"xsizemode\"),h=n(\"ysizemode\"),d=[\"x\",\"y\"],v=0;v<2;v++){var x=d[v],b=x+\"anchor\",p=x===\"x\"?f:h,E={_fullLayout:r},k,A,L,_=fT.coerceRef(e,t,E,x,void 0,\"paper\"),C=fT.getRefType(_);if(C===\"range\"?(k=fT.getFromId(E,_),k._shapeIndices.push(t._index),L=Ype.rangeToShapePosition(k),A=Ype.shapePositionToRange(k),(k.type===\"category\"||k.type===\"multicategory\")&&(n(x+\"0shift\"),n(x+\"1shift\"))):A=L=e4.identity,u){var M=.25,g=.75,P=x+\"0\",T=x+\"1\",F=e[P],q=e[T];e[P]=A(e[P],!0),e[T]=A(e[T],!0),p===\"pixel\"?(n(P,0),n(T,10)):(fT.coercePosition(t,E,n,_,P,M),fT.coercePosition(t,E,n,_,T,g)),t[P]=L(t[P]),t[T]=L(t[T]),e[P]=F,e[T]=q}if(p===\"pixel\"){var V=e[b];e[b]=A(e[b],!0),fT.coercePosition(t,E,n,_,b,.25),t[b]=L(t[b]),e[b]=V}}u&&e4.noneOrAll(e,t,[\"x0\",\"x1\",\"y0\",\"y1\"]);var H=l===\"line\",X,G;if(u&&(X=n(\"label.texttemplate\")),X||(G=n(\"label.text\")),G||X){n(\"label.textangle\");var N=n(\"label.textposition\",H?\"middle\":\"middle center\");n(\"label.xanchor\"),n(\"label.yanchor\",Fpt(H,N)),n(\"label.padding\"),e4.coerceFont(n,\"label.font\",r.font)}}}});var e0e=ye((_ar,Qpe)=>{\"use strict\";var Opt=va(),$pe=Mr();function Bpt(e,t){return e?\"bottom\":t.indexOf(\"top\")!==-1?\"top\":t.indexOf(\"bottom\")!==-1?\"bottom\":\"middle\"}Qpe.exports=function(t,r,n){n(\"newshape.visible\"),n(\"newshape.name\"),n(\"newshape.showlegend\"),n(\"newshape.legend\"),n(\"newshape.legendwidth\"),n(\"newshape.legendgroup\"),n(\"newshape.legendgrouptitle.text\"),$pe.coerceFont(n,\"newshape.legendgrouptitle.font\"),n(\"newshape.legendrank\"),n(\"newshape.drawdirection\"),n(\"newshape.layer\"),n(\"newshape.fillcolor\"),n(\"newshape.fillrule\"),n(\"newshape.opacity\");var i=n(\"newshape.line.width\");if(i){var a=(t||{}).plot_bgcolor||\"#FFF\";n(\"newshape.line.color\",Opt.contrast(a)),n(\"newshape.line.dash\")}var o=t.dragmode===\"drawline\",s=n(\"newshape.label.text\"),l=n(\"newshape.label.texttemplate\");if(s||l){n(\"newshape.label.textangle\");var u=n(\"newshape.label.textposition\",o?\"middle\":\"middle center\");n(\"newshape.label.xanchor\"),n(\"newshape.label.yanchor\",Bpt(o,u)),n(\"newshape.label.padding\"),$pe.coerceFont(n,\"newshape.label.font\",r.font)}n(\"activeshape.fillcolor\"),n(\"activeshape.opacity\")}});var a0e=ye((xar,n0e)=>{\"use strict\";var FU=Mr(),hT=Qa(),dT=cM(),r0e=h_();n0e.exports=function(t){var r=t._fullLayout,n=FU.filterVisible(r.shapes);if(!(!n.length||!t._fullData.length))for(var i=0;i<n.length;i++){var a=n[i];a._extremes={};var o,s,l=hT.getRefType(a.xref),u=hT.getRefType(a.yref);a.xref!==\"paper\"&&l!==\"domain\"&&(o=hT.getFromId(t,a.xref),s=t0e(o,a,dT.paramIsX),s&&(a._extremes[o._id]=hT.findExtremes(o,s,Npt(a)))),a.yref!==\"paper\"&&u!==\"domain\"&&(o=hT.getFromId(t,a.yref),s=t0e(o,a,dT.paramIsY),s&&(a._extremes[o._id]=hT.findExtremes(o,s,Upt(a))))}};function Npt(e){return i0e(e.line.width,e.xsizemode,e.x0,e.x1,e.path,!1)}function Upt(e){return i0e(e.line.width,e.ysizemode,e.y0,e.y1,e.path,!0)}function i0e(e,t,r,n,i,a){var o=e/2,s=a;if(t===\"pixel\"){var l=i?r0e.extractPathCoords(i,a?dT.paramIsY:dT.paramIsX):[r,n],u=FU.aggNums(Math.max,null,l),c=FU.aggNums(Math.min,null,l),f=c<0?Math.abs(c)+o:o,h=u>0?u+o:o;return{ppad:o,ppadplus:s?f:h,ppadminus:s?h:f}}else return{ppad:o}}function t0e(e,t,r){var n=e._id.charAt(0)===\"x\"?\"x\":\"y\",i=e.type===\"category\"||e.type===\"multicategory\",a,o,s=0,l=0,u=i?e.r2c:e.d2c,c=t[n+\"sizemode\"]===\"scaled\";if(c?(a=t[n+\"0\"],o=t[n+\"1\"],i&&(s=t[n+\"0shift\"],l=t[n+\"1shift\"])):(a=t[n+\"anchor\"],o=t[n+\"anchor\"]),a!==void 0)return[u(a)+s,u(o)+l];if(t.path){var f=1/0,h=-1/0,d=t.path.match(dT.segmentRE),v,x,b,p,E;for(e.type===\"date\"&&(u=r0e.decodeDate(u)),v=0;v<d.length;v++)x=d[v],b=r[x.charAt(0)].drawn,b!==void 0&&(p=d[v].substr(1).match(dT.paramRE),!(!p||p.length<b)&&(E=u(p[b]),E<f&&(f=E),E>h&&(h=E)));if(h>=f)return[f,h]}}});var l0e=ye((bar,s0e)=>{\"use strict\";var o0e=rP();s0e.exports={moduleType:\"component\",name:\"shapes\",layoutAttributes:zU(),supplyLayoutDefaults:Jpe(),supplyDrawNewShapeDefaults:e0e(),includeBasePlot:IM()(\"shapes\"),calcAutorange:a0e(),draw:o0e.draw,drawOne:o0e.drawOne}});var qU=ye((Tar,c0e)=>{\"use strict\";var u0e=ad(),Vpt=Vs().templatedArray,war=PM();c0e.exports=Vpt(\"image\",{visible:{valType:\"boolean\",dflt:!0,editType:\"arraydraw\"},source:{valType:\"string\",editType:\"arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\",editType:\"arraydraw\"},sizex:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizey:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizing:{valType:\"enumerated\",values:[\"fill\",\"contain\",\"stretch\"],dflt:\"contain\",editType:\"arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},x:{valType:\"any\",dflt:0,editType:\"arraydraw\"},y:{valType:\"any\",dflt:0,editType:\"arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"top\",editType:\"arraydraw\"},xref:{valType:\"enumerated\",values:[\"paper\",u0e.idRegex.x.toString()],dflt:\"paper\",editType:\"arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",u0e.idRegex.y.toString()],dflt:\"paper\",editType:\"arraydraw\"},editType:\"arraydraw\"})});var h0e=ye((Aar,f0e)=>{\"use strict\";var Hpt=Mr(),OU=Qa(),Gpt=Zd(),jpt=qU(),Wpt=\"images\";f0e.exports=function(t,r){var n={name:Wpt,handleItemDefaults:Zpt};Gpt(t,r,n)};function Zpt(e,t,r){function n(h,d){return Hpt.coerce(e,t,jpt,h,d)}var i=n(\"source\"),a=n(\"visible\",!!i);if(!a)return t;n(\"layer\"),n(\"xanchor\"),n(\"yanchor\"),n(\"sizex\"),n(\"sizey\"),n(\"sizing\"),n(\"opacity\");for(var o={_fullLayout:r},s=[\"x\",\"y\"],l=0;l<2;l++){var u=s[l],c=OU.coerceRef(e,t,o,u,\"paper\",void 0);if(c!==\"paper\"){var f=OU.getFromId(o,c);f._imgIndices.push(t._index)}OU.coercePosition(t,o,n,c,u,0)}return t}});var g0e=ye((Sar,p0e)=>{\"use strict\";var d0e=xa(),Xpt=ao(),vT=Qa(),v0e=af(),Ypt=Zp();p0e.exports=function(t){var r=t._fullLayout,n=[],i={},a=[],o,s;for(s=0;s<r.images.length;s++){var l=r.images[s];if(l.visible)if(l.layer===\"below\"&&l.xref!==\"paper\"&&l.yref!==\"paper\"){o=v0e.ref2id(l.xref)+v0e.ref2id(l.yref);var u=r._plots[o];if(!u){a.push(l);continue}u.mainplot&&(o=u.mainplot.id),i[o]||(i[o]=[]),i[o].push(l)}else l.layer===\"above\"?n.push(l):a.push(l)}var c={x:{left:{sizing:\"xMin\",offset:0},center:{sizing:\"xMid\",offset:-1/2},right:{sizing:\"xMax\",offset:-1}},y:{top:{sizing:\"YMin\",offset:0},middle:{sizing:\"YMid\",offset:-1/2},bottom:{sizing:\"YMax\",offset:-1}}};function f(A){var L=d0e.select(this);if(this._imgSrc!==A.source)if(L.attr(\"xmlns\",Ypt.svg),!t._context.staticPlot||A.source&&A.source.slice(0,5)===\"data:\")L.attr(\"xlink:href\",A.source),this._imgSrc=A.source;else{var _=new Promise(function(C){var M=new Image;this.img=M,M.setAttribute(\"crossOrigin\",\"anonymous\"),M.onerror=g,M.onload=function(){var P=document.createElement(\"canvas\");P.width=this.width,P.height=this.height;var T=P.getContext(\"2d\",{willReadFrequently:!0});T.drawImage(this,0,0);var F=P.toDataURL(\"image/png\");L.attr(\"xlink:href\",F),C()},L.on(\"error\",g),M.src=A.source,this._imgSrc=A.source;function g(){L.remove(),C()}}.bind(this));t._promises.push(_)}}function h(A){var L=d0e.select(this),_=vT.getFromId(t,A.xref),C=vT.getFromId(t,A.yref),M=vT.getRefType(A.xref)===\"domain\",g=vT.getRefType(A.yref)===\"domain\",P=r._size,T,F;_!==void 0?T=typeof A.xref==\"string\"&&M?_._length*A.sizex:Math.abs(_.l2p(A.sizex)-_.l2p(0)):T=A.sizex*P.w,C!==void 0?F=typeof A.yref==\"string\"&&g?C._length*A.sizey:Math.abs(C.l2p(A.sizey)-C.l2p(0)):F=A.sizey*P.h;var q=T*c.x[A.xanchor].offset,V=F*c.y[A.yanchor].offset,H=c.x[A.xanchor].sizing+c.y[A.yanchor].sizing,X,G;switch(_!==void 0?X=typeof A.xref==\"string\"&&M?_._length*A.x+_._offset:_.r2p(A.x)+_._offset:X=A.x*P.w+P.l,X+=q,C!==void 0?G=typeof A.yref==\"string\"&&g?C._length*(1-A.y)+C._offset:C.r2p(A.y)+C._offset:G=P.h-A.y*P.h+P.t,G+=V,A.sizing){case\"fill\":H+=\" slice\";break;case\"stretch\":H=\"none\";break}L.attr({x:X,y:G,width:T,height:F,preserveAspectRatio:H,opacity:A.opacity});var N=_&&vT.getRefType(A.xref)!==\"domain\"?_._id:\"\",W=C&&vT.getRefType(A.yref)!==\"domain\"?C._id:\"\",re=N+W;Xpt.setClipUrl(L,re?\"clip\"+r._uid+re:null,t)}function d(A){return[A.xref,A.x,A.sizex,A.yref,A.y,A.sizey].join(\"_\")}function v(A,L){return A._index-L._index}var x=r._imageLowerLayer.selectAll(\"image\").data(a,d),b=r._imageUpperLayer.selectAll(\"image\").data(n,d);x.enter().append(\"image\"),b.enter().append(\"image\"),x.exit().remove(),b.exit().remove(),x.each(function(A){f.bind(this)(A),h.bind(this)(A)}),b.each(function(A){f.bind(this)(A),h.bind(this)(A)}),x.sort(v),b.sort(v);var p=Object.keys(r._plots);for(s=0;s<p.length;s++){o=p[s];var E=r._plots[o];if(E.imagelayer){var k=E.imagelayer.selectAll(\"image\").data(i[o]||[],d);k.enter().append(\"image\"),k.exit().remove(),k.each(function(A){f.bind(this)(A),h.bind(this)(A)}),k.sort(v)}}}});var _0e=ye((Mar,y0e)=>{\"use strict\";var m0e=uo(),Kpt=u6();y0e.exports=function(t,r,n,i){r=r||{};var a=n===\"log\"&&r.type===\"linear\",o=n===\"linear\"&&r.type===\"log\";if(a||o){for(var s=t._fullLayout.images,l=r._id.charAt(0),u,c,f=0;f<s.length;f++)if(u=s[f],c=\"images[\"+f+\"].\",u[l+\"ref\"]===r._id){var h=u[l],d=u[\"size\"+l],v=null,x=null;if(a){v=Kpt(h,r.range);var b=d/Math.pow(10,v)/2;x=2*Math.log(b+Math.sqrt(1+b*b))/Math.LN10}else v=Math.pow(10,h),x=v*(Math.pow(10,d/2)-Math.pow(10,-d/2));m0e(v)?m0e(x)||(x=null):(v=null,x=null),i(c+l,v),i(c+\"size\"+l,x)}}}});var b0e=ye((Ear,x0e)=>{\"use strict\";x0e.exports={moduleType:\"component\",name:\"images\",layoutAttributes:qU(),supplyLayoutDefaults:h0e(),includeBasePlot:IM()(\"images\"),draw:g0e(),convertCoords:_0e()}});var dI=ye((kar,w0e)=>{\"use strict\";w0e.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\"}}});var BU=ye((Car,A0e)=>{\"use strict\";var Jpt=Su(),$pt=dh(),Qpt=no().extendFlat,e0t=Bu().overrideAll,t0t=w6(),T0e=Vs().templatedArray,r0t=T0e(\"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}});A0e.exports=e0t(T0e(\"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:r0t,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:Qpt(t0t({editType:\"arraydraw\"}),{}),font:Jpt({}),bgcolor:{valType:\"color\"},bordercolor:{valType:\"color\",dflt:$pt.borderLine},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"arraydraw\"}}),\"arraydraw\",\"from-root\")});var k0e=ye((Lar,E0e)=>{\"use strict\";var vI=Mr(),S0e=Zd(),M0e=BU(),i0t=dI(),n0t=i0t.name,a0t=M0e.buttons;E0e.exports=function(t,r){var n={name:n0t,handleItemDefaults:o0t};S0e(t,r,n)};function o0t(e,t,r){function n(o,s){return vI.coerce(e,t,M0e,o,s)}var i=S0e(e,t,{name:\"buttons\",handleItemDefaults:s0t}),a=n(\"visible\",i.length>0);a&&(n(\"active\"),n(\"direction\"),n(\"type\"),n(\"showactive\"),n(\"x\"),n(\"y\"),vI.noneOrAll(e,t,[\"x\",\"y\"]),n(\"xanchor\"),n(\"yanchor\"),n(\"pad.t\"),n(\"pad.r\"),n(\"pad.b\"),n(\"pad.l\"),vI.coerceFont(n,\"font\",r.font),n(\"bgcolor\",r.paper_bgcolor),n(\"bordercolor\"),n(\"borderwidth\"))}function s0t(e,t){function r(i,a){return vI.coerce(e,t,a0t,i,a)}var n=r(\"visible\",e.method===\"skip\"||Array.isArray(e.args));n&&(r(\"method\"),r(\"args\"),r(\"args2\"),r(\"label\"),r(\"execute\"))}});var P0e=ye((Par,L0e)=>{\"use strict\";L0e.exports=of;var qg=xa(),C0e=va(),pT=ao(),pI=Mr();function of(e,t,r){this.gd=e,this.container=t,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll(\"rect.scrollbox-bg\").data([0]),this.bg.exit().on(\".drag\",null).on(\"wheel\",null).remove(),this.bg.enter().append(\"rect\").classed(\"scrollbox-bg\",!0).style(\"pointer-events\",\"all\").attr({opacity:0,x:0,y:0,width:0,height:0})}of.barWidth=2;of.barLength=20;of.barRadius=2;of.barPad=1;of.barColor=\"#808BA4\";of.prototype.enable=function(t,r,n){var i=this.gd._fullLayout,a=i.width,o=i.height;this.position=t;var s=this.position.l,l=this.position.w,u=this.position.t,c=this.position.h,f=this.position.direction,h=f===\"down\",d=f===\"left\",v=f===\"right\",x=f===\"up\",b=l,p=c,E,k,A,L;!h&&!d&&!v&&!x&&(this.position.direction=\"down\",h=!0);var _=h||x;_?(E=s,k=E+b,h?(A=u,L=Math.min(A+p,o),p=L-A):(L=u+p,A=Math.max(L-p,0),p=L-A)):(A=u,L=A+p,d?(k=s+b,E=Math.max(k-b,0),b=k-E):(E=s,k=Math.min(E+b,a),b=k-E)),this._box={l:E,t:A,w:b,h:p};var C=l>b,M=of.barLength+2*of.barPad,g=of.barWidth+2*of.barPad,P=s,T=u+c;T+g>o&&(T=o-g);var F=this.container.selectAll(\"rect.scrollbar-horizontal\").data(C?[0]:[]);F.exit().on(\".drag\",null).remove(),F.enter().append(\"rect\").classed(\"scrollbar-horizontal\",!0).call(C0e.fill,of.barColor),C?(this.hbar=F.attr({rx:of.barRadius,ry:of.barRadius,x:P,y:T,width:M,height:g}),this._hbarXMin=P+M/2,this._hbarTranslateMax=b-M):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var q=c>p,V=of.barWidth+2*of.barPad,H=of.barLength+2*of.barPad,X=s+l,G=u;X+V>a&&(X=a-V);var N=this.container.selectAll(\"rect.scrollbar-vertical\").data(q?[0]:[]);N.exit().on(\".drag\",null).remove(),N.enter().append(\"rect\").classed(\"scrollbar-vertical\",!0).call(C0e.fill,of.barColor),q?(this.vbar=N.attr({rx:of.barRadius,ry:of.barRadius,x:X,y:G,width:V,height:H}),this._vbarYMin=G+H/2,this._vbarTranslateMax=p-H):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var W=this.id,re=E-.5,ae=q?k+V+.5:k+.5,_e=A-.5,Me=C?L+g+.5:L+.5,ke=i._topdefs.selectAll(\"#\"+W).data(C||q?[0]:[]);if(ke.exit().remove(),ke.enter().append(\"clipPath\").attr(\"id\",W).append(\"rect\"),C||q?(this._clipRect=ke.select(\"rect\").attr({x:Math.floor(re),y:Math.floor(_e),width:Math.ceil(ae)-Math.floor(re),height:Math.ceil(Me)-Math.floor(_e)}),this.container.call(pT.setClipUrl,W,this.gd),this.bg.attr({x:s,y:u,width:l,height:c})):(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(pT.setClipUrl,null),delete this._clipRect),C||q){var ge=qg.behavior.drag().on(\"dragstart\",function(){qg.event.sourceEvent.preventDefault()}).on(\"drag\",this._onBoxDrag.bind(this));this.container.on(\"wheel\",null).on(\"wheel\",this._onBoxWheel.bind(this)).on(\".drag\",null).call(ge);var ie=qg.behavior.drag().on(\"dragstart\",function(){qg.event.sourceEvent.preventDefault(),qg.event.sourceEvent.stopPropagation()}).on(\"drag\",this._onBarDrag.bind(this));C&&this.hbar.on(\".drag\",null).call(ie),q&&this.vbar.on(\".drag\",null).call(ie)}this.setTranslate(r,n)};of.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(pT.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)};of.prototype._onBoxDrag=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t-=qg.event.dx),this.vbar&&(r-=qg.event.dy),this.setTranslate(t,r)};of.prototype._onBoxWheel=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t+=qg.event.deltaY),this.vbar&&(r+=qg.event.deltaY),this.setTranslate(t,r)};of.prototype._onBarDrag=function(){var t=this.translateX,r=this.translateY;if(this.hbar){var n=t+this._hbarXMin,i=n+this._hbarTranslateMax,a=pI.constrain(qg.event.x,n,i),o=(a-n)/(i-n),s=this.position.w-this._box.w;t=o*s}if(this.vbar){var l=r+this._vbarYMin,u=l+this._vbarTranslateMax,c=pI.constrain(qg.event.y,l,u),f=(c-l)/(u-l),h=this.position.h-this._box.h;r=f*h}this.setTranslate(t,r)};of.prototype.setTranslate=function(t,r){var n=this.position.w-this._box.w,i=this.position.h-this._box.h;if(t=pI.constrain(t||0,0,n),r=pI.constrain(r||0,0,i),this.translateX=t,this.translateY=r,this.container.call(pT.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-r),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+r-.5)}),this.hbar){var a=t/n;this.hbar.call(pT.setTranslate,t+a*this._hbarTranslateMax,r)}if(this.vbar){var o=r/i;this.vbar.call(pT.setTranslate,t,r+o*this._vbarTranslateMax)}}});var U0e=ye((Iar,N0e)=>{\"use strict\";var gT=xa(),t4=Xu(),r4=va(),mT=ao(),e0=Mr(),gI=Pl(),l0t=Vs().arrayEditor,R0e=Nh().LINE_SPACING,Go=dI(),u0t=P0e();N0e.exports=function(t){var r=t._fullLayout,n=e0.filterVisible(r[Go.name]);function i(h){t4.autoMargin(t,O0e(h))}var a=r._menulayer.selectAll(\"g.\"+Go.containerClassName).data(n.length>0?[0]:[]);if(a.enter().append(\"g\").classed(Go.containerClassName,!0).style(\"cursor\",\"pointer\"),a.exit().each(function(){gT.select(this).selectAll(\"g.\"+Go.headerGroupClassName).each(i)}).remove(),n.length!==0){var o=a.selectAll(\"g.\"+Go.headerGroupClassName).data(n,c0t);o.enter().append(\"g\").classed(Go.headerGroupClassName,!0);for(var s=e0.ensureSingle(a,\"g\",Go.dropdownButtonGroupClassName,function(h){h.style(\"pointer-events\",\"all\")}),l=0;l<n.length;l++){var u=n[l];g0t(t,u)}var c=\"updatemenus\"+r._uid,f=new u0t(t,s,c);o.enter().size()&&(s.node().parentNode.appendChild(s.node()),s.call(UU)),o.exit().each(function(h){s.call(UU),i(h)}).remove(),o.each(function(h){var d=gT.select(this),v=h.type===\"dropdown\"?s:null;t4.manageCommandObserver(t,h,h.buttons,function(x){NU(t,h,h.buttons[x.index],d,v,f,x.index,!0)}),h.type===\"dropdown\"?(z0e(t,d,s,f,h),D0e(s,h)&&i4(t,d,s,f,h)):i4(t,d,null,null,h)})}};function c0t(e){return e._index}function f0t(e){return+e.attr(Go.menuIndexAttrName)==-1}function D0e(e,t){return+e.attr(Go.menuIndexAttrName)===t._index}function NU(e,t,r,n,i,a,o,s){t.active=o,l0t(e.layout,Go.name,t).applyUpdate(\"active\",o),t.type===\"buttons\"?i4(e,n,null,null,t):t.type===\"dropdown\"&&(i.attr(Go.menuIndexAttrName,\"-1\"),z0e(e,n,i,a,t),s||i4(e,n,i,a,t))}function z0e(e,t,r,n,i){var a=e0.ensureSingle(t,\"g\",Go.headerClassName,function(h){h.style(\"pointer-events\",\"all\")}),o=i._dims,s=i.active,l=i.buttons[s]||Go.blankHeaderOpts,u={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},c={width:o.headerWidth,height:o.headerHeight};a.call(VU,i,l,e).call(B0e,i,u,c);var f=e0.ensureSingle(t,\"text\",Go.headerArrowClassName,function(h){h.attr(\"text-anchor\",\"end\").call(mT.font,i.font).text(Go.arrowSymbol[i.direction])});f.attr({x:o.headerWidth-Go.arrowOffsetX+i.pad.l,y:o.headerHeight/2+Go.textOffsetY+i.pad.t}),a.on(\"click\",function(){r.call(UU,String(D0e(r,i)?-1:i._index)),i4(e,t,r,n,i)}),a.on(\"mouseover\",function(){a.call(F0e)}),a.on(\"mouseout\",function(){a.call(q0e,i)}),mT.setTranslate(t,o.lx,o.ly)}function i4(e,t,r,n,i){r||(r=t,r.attr(\"pointer-events\",\"all\"));var a=!f0t(r)||i.type===\"buttons\"?i.buttons:[],o=i.type===\"dropdown\"?Go.dropdownButtonClassName:Go.buttonClassName,s=r.selectAll(\"g.\"+o).data(e0.filterVisible(a)),l=s.enter().append(\"g\").classed(o,!0),u=s.exit();i.type===\"dropdown\"?(l.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),u.transition().attr(\"opacity\",\"0\").remove()):u.remove();var c=0,f=0,h=i._dims,d=[\"up\",\"down\"].indexOf(i.direction)!==-1;i.type===\"dropdown\"&&(d?f=h.headerHeight+Go.gapButtonHeader:c=h.headerWidth+Go.gapButtonHeader),i.type===\"dropdown\"&&i.direction===\"up\"&&(f=-Go.gapButtonHeader+Go.gapButton-h.openHeight),i.type===\"dropdown\"&&i.direction===\"left\"&&(c=-Go.gapButtonHeader+Go.gapButton-h.openWidth);var v={x:h.lx+c+i.pad.l,y:h.ly+f+i.pad.t,yPad:Go.gapButton,xPad:Go.gapButton,index:0},x={l:v.x+i.borderwidth,t:v.y+i.borderwidth};s.each(function(b,p){var E=gT.select(this);E.call(VU,i,b,e).call(B0e,i,v),E.on(\"click\",function(){gT.event.defaultPrevented||(b.execute&&(b.args2&&i.active===p?(NU(e,i,b,t,r,n,-1),t4.executeAPICommand(e,b.method,b.args2)):(NU(e,i,b,t,r,n,p),t4.executeAPICommand(e,b.method,b.args))),e.emit(\"plotly_buttonclicked\",{menu:i,button:b,active:i.active}))}),E.on(\"mouseover\",function(){E.call(F0e)}),E.on(\"mouseout\",function(){E.call(q0e,i),s.call(I0e,i)})}),s.call(I0e,i),d?(x.w=Math.max(h.openWidth,h.headerWidth),x.h=v.y-x.t):(x.w=v.x-x.l,x.h=Math.max(h.openHeight,h.headerHeight)),x.direction=i.direction,n&&(s.size()?h0t(e,t,r,n,i,x):d0t(n))}function h0t(e,t,r,n,i,a){var o=i.direction,s=o===\"up\"||o===\"down\",l=i._dims,u=i.active,c,f,h;if(s)for(f=0,h=0;h<u;h++)f+=l.heights[h]+Go.gapButton;else for(c=0,h=0;h<u;h++)c+=l.widths[h]+Go.gapButton;n.enable(a,c,f),n.hbar&&n.hbar.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),n.vbar&&n.vbar.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\")}function d0t(e){var t=!!e.hbar,r=!!e.vbar;t&&e.hbar.transition().attr(\"opacity\",\"0\").each(\"end\",function(){t=!1,r||e.disable()}),r&&e.vbar.transition().attr(\"opacity\",\"0\").each(\"end\",function(){r=!1,t||e.disable()})}function VU(e,t,r,n){e.call(v0t,t).call(p0t,t,r,n)}function v0t(e,t){var r=e0.ensureSingle(e,\"rect\",Go.itemRectClassName,function(n){n.attr({rx:Go.rx,ry:Go.ry,\"shape-rendering\":\"crispEdges\"})});r.call(r4.stroke,t.bordercolor).call(r4.fill,t.bgcolor).style(\"stroke-width\",t.borderwidth+\"px\")}function p0t(e,t,r,n){var i=e0.ensureSingle(e,\"text\",Go.itemTextClassName,function(s){s.attr({\"text-anchor\":\"start\",\"data-notex\":1})}),a=r.label,o=n._fullLayout._meta;o&&(a=e0.templateString(a,o)),i.call(mT.font,t.font).text(a).call(gI.convertToTspans,n)}function I0e(e,t){var r=t.active;e.each(function(n,i){var a=gT.select(this);i===r&&t.showactive&&a.select(\"rect.\"+Go.itemRectClassName).call(r4.fill,Go.activeColor)})}function F0e(e){e.select(\"rect.\"+Go.itemRectClassName).call(r4.fill,Go.hoverColor)}function q0e(e,t){e.select(\"rect.\"+Go.itemRectClassName).call(r4.fill,t.bgcolor)}function g0t(e,t){var r=t._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},n=mT.tester.selectAll(\"g.\"+Go.dropdownButtonClassName).data(e0.filterVisible(t.buttons));n.enter().append(\"g\").classed(Go.dropdownButtonClassName,!0);var i=[\"up\",\"down\"].indexOf(t.direction)!==-1;n.each(function(c,f){var h=gT.select(this);h.call(VU,t,c,e);var d=h.select(\".\"+Go.itemTextClassName),v=d.node()&&mT.bBox(d.node()).width,x=Math.max(v+Go.textPadX,Go.minWidth),b=t.font.size*R0e,p=gI.lineCount(d),E=Math.max(b*p,Go.minHeight)+Go.textOffsetY;E=Math.ceil(E),x=Math.ceil(x),r.widths[f]=x,r.heights[f]=E,r.height1=Math.max(r.height1,E),r.width1=Math.max(r.width1,x),i?(r.totalWidth=Math.max(r.totalWidth,x),r.openWidth=r.totalWidth,r.totalHeight+=E+Go.gapButton,r.openHeight+=E+Go.gapButton):(r.totalWidth+=x+Go.gapButton,r.openWidth+=x+Go.gapButton,r.totalHeight=Math.max(r.totalHeight,E),r.openHeight=r.totalHeight)}),i?r.totalHeight-=Go.gapButton:r.totalWidth-=Go.gapButton,r.headerWidth=r.width1+Go.arrowPadX,r.headerHeight=r.height1,t.type===\"dropdown\"&&(i?(r.width1+=Go.arrowPadX,r.totalHeight=r.height1):r.totalWidth=r.width1,r.totalWidth+=Go.arrowPadX),n.remove();var a=r.totalWidth+t.pad.l+t.pad.r,o=r.totalHeight+t.pad.t+t.pad.b,s=e._fullLayout._size;r.lx=s.l+s.w*t.x,r.ly=s.t+s.h*(1-t.y);var l=\"left\";e0.isRightAnchor(t)&&(r.lx-=a,l=\"right\"),e0.isCenterAnchor(t)&&(r.lx-=a/2,l=\"center\");var u=\"top\";e0.isBottomAnchor(t)&&(r.ly-=o,u=\"bottom\"),e0.isMiddleAnchor(t)&&(r.ly-=o/2,u=\"middle\"),r.totalWidth=Math.ceil(r.totalWidth),r.totalHeight=Math.ceil(r.totalHeight),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),t4.autoMargin(e,O0e(t),{x:t.x,y:t.y,l:a*({right:1,center:.5}[l]||0),r:a*({left:1,center:.5}[l]||0),b:o*({top:1,middle:.5}[u]||0),t:o*({bottom:1,middle:.5}[u]||0)})}function O0e(e){return Go.autoMarginIdRoot+e._index}function B0e(e,t,r,n){n=n||{};var i=e.select(\".\"+Go.itemRectClassName),a=e.select(\".\"+Go.itemTextClassName),o=t.borderwidth,s=r.index,l=t._dims;mT.setTranslate(e,o+r.x,o+r.y);var u=[\"up\",\"down\"].indexOf(t.direction)!==-1,c=n.height||(u?l.heights[s]:l.height1);i.attr({x:0,y:0,width:n.width||(u?l.width1:l.widths[s]),height:c});var f=t.font.size*R0e,h=gI.lineCount(a),d=(h-1)*f/2;gI.positionText(a,Go.textOffsetX,c/2-d+Go.textOffsetY),u?r.y+=l.heights[s]+r.yPad:r.x+=l.widths[s]+r.xPad,r.index++}function UU(e,t){e.attr(Go.menuIndexAttrName,t||\"-1\").selectAll(\"g.\"+Go.dropdownButtonClassName).remove()}});var H0e=ye((Rar,V0e)=>{\"use strict\";var m0t=dI();V0e.exports={moduleType:\"component\",name:m0t.name,layoutAttributes:BU(),supplyLayoutDefaults:k0e(),draw:U0e()}});var n4=ye((Dar,G0e)=>{\"use strict\";G0e.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}});var HU=ye((zar,Z0e)=>{\"use strict\";var j0e=Su(),y0t=w6(),_0t=no().extendDeepAll,x0t=Bu().overrideAll,b0t=zS(),W0e=Vs().templatedArray,Jb=n4(),w0t=W0e(\"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}});Z0e.exports=x0t(W0e(\"slider\",{visible:{valType:\"boolean\",dflt:!0},active:{valType:\"number\",min:0,dflt:0},steps:w0t,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:_0t(y0t({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:b0t.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:j0e({})},font:j0e({}),activebgcolor:{valType:\"color\",dflt:Jb.gripBgActiveColor},bgcolor:{valType:\"color\",dflt:Jb.railBgColor},bordercolor:{valType:\"color\",dflt:Jb.railBorderColor},borderwidth:{valType:\"number\",min:0,dflt:Jb.railBorderWidth},ticklen:{valType:\"number\",min:0,dflt:Jb.tickLength},tickcolor:{valType:\"color\",dflt:Jb.tickColor},tickwidth:{valType:\"number\",min:0,dflt:1},minorticklen:{valType:\"number\",min:0,dflt:Jb.minorTickLength}}),\"arraydraw\",\"from-root\")});var J0e=ye((Far,K0e)=>{\"use strict\";var yT=Mr(),X0e=Zd(),Y0e=HU(),T0t=n4(),A0t=T0t.name,S0t=Y0e.steps;K0e.exports=function(t,r){X0e(t,r,{name:A0t,handleItemDefaults:M0t})};function M0t(e,t,r){function n(f,h){return yT.coerce(e,t,Y0e,f,h)}for(var i=X0e(e,t,{name:\"steps\",handleItemDefaults:E0t}),a=0,o=0;o<i.length;o++)i[o].visible&&a++;var s;if(a<2?s=t.visible=!1:s=n(\"visible\"),!!s){t._stepCount=a;var l=t._visibleSteps=yT.filterVisible(i),u=n(\"active\");(i[u]||{}).visible||(t.active=l[0]._index),n(\"x\"),n(\"y\"),yT.noneOrAll(e,t,[\"x\",\"y\"]),n(\"xanchor\"),n(\"yanchor\"),n(\"len\"),n(\"lenmode\"),n(\"pad.t\"),n(\"pad.r\"),n(\"pad.b\"),n(\"pad.l\"),yT.coerceFont(n,\"font\",r.font);var c=n(\"currentvalue.visible\");c&&(n(\"currentvalue.xanchor\"),n(\"currentvalue.prefix\"),n(\"currentvalue.suffix\"),n(\"currentvalue.offset\"),yT.coerceFont(n,\"currentvalue.font\",t.font)),n(\"transition.duration\"),n(\"transition.easing\"),n(\"bgcolor\"),n(\"activebgcolor\"),n(\"bordercolor\"),n(\"borderwidth\"),n(\"ticklen\"),n(\"tickwidth\"),n(\"tickcolor\"),n(\"minorticklen\")}}function E0t(e,t){function r(a,o){return yT.coerce(e,t,S0t,a,o)}var n;if(e.method!==\"skip\"&&!Array.isArray(e.args)?n=t.visible=!1:n=r(\"visible\"),n){r(\"method\"),r(\"args\");var i=r(\"label\",\"step-\"+t._index);r(\"value\",i),r(\"execute\")}}});var sge=ye((qar,oge)=>{\"use strict\";var Og=xa(),mI=Xu(),x_=va(),Bg=ao(),t0=Mr(),k0t=t0.strTranslate,a4=Pl(),C0t=Vs().arrayEditor,gs=n4(),WU=Nh(),ege=WU.LINE_SPACING,GU=WU.FROM_TL,jU=WU.FROM_BR;oge.exports=function(t){var r=t._context.staticPlot,n=t._fullLayout,i=L0t(n,t),a=n._infolayer.selectAll(\"g.\"+gs.containerClassName).data(i.length>0?[0]:[]);a.enter().append(\"g\").classed(gs.containerClassName,!0).style(\"cursor\",r?null:\"ew-resize\");function o(c){c._commandObserver&&(c._commandObserver.remove(),delete c._commandObserver),mI.autoMargin(t,tge(c))}if(a.exit().each(function(){Og.select(this).selectAll(\"g.\"+gs.groupClassName).each(o)}).remove(),i.length!==0){var s=a.selectAll(\"g.\"+gs.groupClassName).data(i,P0t);s.enter().append(\"g\").classed(gs.groupClassName,!0),s.exit().each(o).remove();for(var l=0;l<i.length;l++){var u=i[l];I0t(t,u)}s.each(function(c){var f=Og.select(this);q0t(c),mI.manageCommandObserver(t,c,c._visibleSteps,function(h){var d=f.data()[0];d.active!==h.index&&(d._dragging||ige(t,f,d,h.index,!1,!0))}),R0t(t,Og.select(this),c)})}};function tge(e){return gs.autoMarginIdRoot+e._index}function L0t(e,t){for(var r=e[gs.name],n=[],i=0;i<r.length;i++){var a=r[i];a.visible&&(a._gd=t,n.push(a))}return n}function P0t(e){return e._index}function I0t(e,t){var r=Bg.tester.selectAll(\"g.\"+gs.labelGroupClass).data(t._visibleSteps);r.enter().append(\"g\").classed(gs.labelGroupClass,!0);var n=0,i=0;r.each(function(v){var x=Og.select(this),b=rge(x,{step:v},t),p=b.node();if(p){var E=Bg.bBox(p);i=Math.max(i,E.height),n=Math.max(n,E.width)}}),r.remove();var a=t._dims={};a.inputAreaWidth=Math.max(gs.railWidth,gs.gripHeight);var o=e._fullLayout._size;a.lx=o.l+o.w*t.x,a.ly=o.t+o.h*(1-t.y),t.lenmode===\"fraction\"?a.outerLength=Math.round(o.w*t.len):a.outerLength=t.len,a.inputAreaStart=0,a.inputAreaLength=Math.round(a.outerLength-t.pad.l-t.pad.r);var s=a.inputAreaLength-2*gs.stepInset,l=s/(t._stepCount-1),u=n+gs.labelPadding;if(a.labelStride=Math.max(1,Math.ceil(u/l)),a.labelHeight=i,a.currentValueMaxWidth=0,a.currentValueHeight=0,a.currentValueTotalHeight=0,a.currentValueMaxLines=1,t.currentvalue.visible){var c=Bg.tester.append(\"g\");r.each(function(v){var x=yI(c,t,v.label),b=x.node()&&Bg.bBox(x.node())||{width:0,height:0},p=a4.lineCount(x);a.currentValueMaxWidth=Math.max(a.currentValueMaxWidth,Math.ceil(b.width)),a.currentValueHeight=Math.max(a.currentValueHeight,Math.ceil(b.height)),a.currentValueMaxLines=Math.max(a.currentValueMaxLines,p)}),a.currentValueTotalHeight=a.currentValueHeight+t.currentvalue.offset,c.remove()}a.height=a.currentValueTotalHeight+gs.tickOffset+t.ticklen+gs.labelOffset+a.labelHeight+t.pad.t+t.pad.b;var f=\"left\";t0.isRightAnchor(t)&&(a.lx-=a.outerLength,f=\"right\"),t0.isCenterAnchor(t)&&(a.lx-=a.outerLength/2,f=\"center\");var h=\"top\";t0.isBottomAnchor(t)&&(a.ly-=a.height,h=\"bottom\"),t0.isMiddleAnchor(t)&&(a.ly-=a.height/2,h=\"middle\"),a.outerLength=Math.ceil(a.outerLength),a.height=Math.ceil(a.height),a.lx=Math.round(a.lx),a.ly=Math.round(a.ly);var d={y:t.y,b:a.height*jU[h],t:a.height*GU[h]};t.lenmode===\"fraction\"?(d.l=0,d.xl=t.x-t.len*GU[f],d.r=0,d.xr=t.x+t.len*jU[f]):(d.x=t.x,d.l=a.outerLength*GU[f],d.r=a.outerLength*jU[f]),mI.autoMargin(e,tge(t),d)}function R0t(e,t,r){(r.steps[r.active]||{}).visible||(r.active=r._visibleSteps[0]._index),t.call(yI,r).call(B0t,r).call(z0t,r).call(F0t,r).call(O0t,e,r).call(D0t,e,r);var n=r._dims;Bg.setTranslate(t,n.lx+r.pad.l,n.ly+r.pad.t),t.call(age,r,!1),t.call(yI,r)}function yI(e,t,r){if(t.currentvalue.visible){var n=t._dims,i,a;switch(t.currentvalue.xanchor){case\"right\":i=n.inputAreaLength-gs.currentValueInset-n.currentValueMaxWidth,a=\"left\";break;case\"center\":i=n.inputAreaLength*.5,a=\"middle\";break;default:i=gs.currentValueInset,a=\"left\"}var o=t0.ensureSingle(e,\"text\",gs.labelClass,function(h){h.attr({\"text-anchor\":a,\"data-notex\":1})}),s=t.currentvalue.prefix?t.currentvalue.prefix:\"\";if(typeof r==\"string\")s+=r;else{var l=t.steps[t.active].label,u=t._gd._fullLayout._meta;u&&(l=t0.templateString(l,u)),s+=l}t.currentvalue.suffix&&(s+=t.currentvalue.suffix),o.call(Bg.font,t.currentvalue.font).text(s).call(a4.convertToTspans,t._gd);var c=a4.lineCount(o),f=(n.currentValueMaxLines+1-c)*t.currentvalue.font.size*ege;return a4.positionText(o,i,f),o}}function D0t(e,t,r){var n=t0.ensureSingle(e,\"rect\",gs.gripRectClass,function(i){i.call(nge,t,e,r).style(\"pointer-events\",\"all\")});n.attr({width:gs.gripWidth,height:gs.gripHeight,rx:gs.gripRadius,ry:gs.gripRadius}).call(x_.stroke,r.bordercolor).call(x_.fill,r.bgcolor).style(\"stroke-width\",r.borderwidth+\"px\")}function rge(e,t,r){var n=t0.ensureSingle(e,\"text\",gs.labelClass,function(o){o.attr({\"text-anchor\":\"middle\",\"data-notex\":1})}),i=t.step.label,a=r._gd._fullLayout._meta;return a&&(i=t0.templateString(i,a)),n.call(Bg.font,r.font).text(i).call(a4.convertToTspans,r._gd),n}function z0t(e,t){var r=t0.ensureSingle(e,\"g\",gs.labelsClass),n=t._dims,i=r.selectAll(\"g.\"+gs.labelGroupClass).data(n.labelSteps);i.enter().append(\"g\").classed(gs.labelGroupClass,!0),i.exit().remove(),i.each(function(a){var o=Og.select(this);o.call(rge,a,t),Bg.setTranslate(o,ZU(t,a.fraction),gs.tickOffset+t.ticklen+t.font.size*ege+gs.labelOffset+n.currentValueTotalHeight)})}function $0e(e,t,r,n,i){var a=Math.round(n*(r._stepCount-1)),o=r._visibleSteps[a]._index;o!==r.active&&ige(e,t,r,o,!0,i)}function ige(e,t,r,n,i,a){var o=r.active;r.active=n,C0t(e.layout,gs.name,r).applyUpdate(\"active\",n);var s=r.steps[r.active];t.call(age,r,a),t.call(yI,r),e.emit(\"plotly_sliderchange\",{slider:r,step:r.steps[r.active],interaction:i,previousActive:o}),s&&s.method&&i&&(t._nextMethod?(t._nextMethod.step=s,t._nextMethod.doCallback=i,t._nextMethod.doTransition=a):(t._nextMethod={step:s,doCallback:i,doTransition:a},t._nextMethodRaf=window.requestAnimationFrame(function(){var l=t._nextMethod.step;l.method&&(l.execute&&mI.executeAPICommand(e,l.method,l.args),t._nextMethod=null,t._nextMethodRaf=null)})))}function nge(e,t,r){if(t._context.staticPlot)return;var n=r.node(),i=Og.select(t);function a(){return r.data()[0]}function o(){var s=a();t.emit(\"plotly_sliderstart\",{slider:s});var l=r.select(\".\"+gs.gripRectClass);Og.event.stopPropagation(),Og.event.preventDefault(),l.call(x_.fill,s.activebgcolor);var u=Q0e(s,Og.mouse(n)[0]);$0e(t,r,s,u,!0),s._dragging=!0;function c(){var h=a(),d=Q0e(h,Og.mouse(n)[0]);$0e(t,r,h,d,!1)}i.on(\"mousemove\",c),i.on(\"touchmove\",c);function f(){var h=a();h._dragging=!1,l.call(x_.fill,h.bgcolor),i.on(\"mouseup\",null),i.on(\"mousemove\",null),i.on(\"touchend\",null),i.on(\"touchmove\",null),t.emit(\"plotly_sliderend\",{slider:h,step:h.steps[h.active]})}i.on(\"mouseup\",f),i.on(\"touchend\",f)}e.on(\"mousedown\",o),e.on(\"touchstart\",o)}function F0t(e,t){var r=e.selectAll(\"rect.\"+gs.tickRectClass).data(t._visibleSteps),n=t._dims;r.enter().append(\"rect\").classed(gs.tickRectClass,!0),r.exit().remove(),r.attr({width:t.tickwidth+\"px\",\"shape-rendering\":\"crispEdges\"}),r.each(function(i,a){var o=a%n.labelStride===0,s=Og.select(this);s.attr({height:o?t.ticklen:t.minorticklen}).call(x_.fill,t.tickcolor),Bg.setTranslate(s,ZU(t,a/(t._stepCount-1))-.5*t.tickwidth,(o?gs.tickOffset:gs.minorTickOffset)+n.currentValueTotalHeight)})}function q0t(e){var t=e._dims;t.labelSteps=[];for(var r=e._stepCount,n=0;n<r;n+=t.labelStride)t.labelSteps.push({fraction:n/(r-1),step:e._visibleSteps[n]})}function age(e,t,r){for(var n=e.select(\"rect.\"+gs.gripRectClass),i=0,a=0;a<t._stepCount;a++)if(t._visibleSteps[a]._index===t.active){i=a;break}var o=ZU(t,i/(t._stepCount-1));if(!t._invokingCommand){var s=n;r&&t.transition.duration>0&&(s=s.transition().duration(t.transition.duration).ease(t.transition.easing)),s.attr(\"transform\",k0t(o-gs.gripWidth*.5,t._dims.currentValueTotalHeight))}}function ZU(e,t){var r=e._dims;return r.inputAreaStart+gs.stepInset+(r.inputAreaLength-2*gs.stepInset)*Math.min(1,Math.max(0,t))}function Q0e(e,t){var r=e._dims;return Math.min(1,Math.max(0,(t-gs.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*gs.stepInset-2*r.inputAreaStart)))}function O0t(e,t,r){var n=r._dims,i=t0.ensureSingle(e,\"rect\",gs.railTouchRectClass,function(a){a.call(nge,t,e,r).style(\"pointer-events\",\"all\")});i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,gs.tickOffset+r.ticklen+n.labelHeight)}).call(x_.fill,r.bgcolor).attr(\"opacity\",0),Bg.setTranslate(i,0,n.currentValueTotalHeight)}function B0t(e,t){var r=t._dims,n=r.inputAreaLength-gs.railInset*2,i=t0.ensureSingle(e,\"rect\",gs.railRectClass);i.attr({width:n,height:gs.railWidth,rx:gs.railRadius,ry:gs.railRadius,\"shape-rendering\":\"crispEdges\"}).call(x_.stroke,t.bordercolor).call(x_.fill,t.bgcolor).style(\"stroke-width\",t.borderwidth+\"px\"),Bg.setTranslate(i,gs.railInset,(r.inputAreaWidth-gs.railWidth)*.5+r.currentValueTotalHeight)}});var uge=ye((Oar,lge)=>{\"use strict\";var N0t=n4();lge.exports={moduleType:\"component\",name:N0t.name,layoutAttributes:HU(),supplyLayoutDefaults:J0e(),draw:sge()}});var _I=ye((Bar,fge)=>{\"use strict\";var cge=dh();fge.exports={bgcolor:{valType:\"color\",dflt:cge.background,editType:\"plot\"},bordercolor:{valType:\"color\",dflt:cge.defaultLine,editType:\"plot\"},borderwidth:{valType:\"integer\",dflt:0,min:0,editType:\"plot\"},autorange:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}}],editType:\"calc\",impliedEdits:{autorange:!1}},thickness:{valType:\"number\",dflt:.15,min:0,max:1,editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"}});var XU=ye((Nar,hge)=>{\"use strict\";hge.exports={_isSubplotObj:!0,rangemode:{valType:\"enumerated\",values:[\"auto\",\"fixed\",\"match\"],dflt:\"match\",editType:\"calc\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},editType:\"calc\"}});var xI=ye((Uar,dge)=>{\"use strict\";dge.exports={name:\"rangeslider\",containerClassName:\"rangeslider-container\",bgClassName:\"rangeslider-bg\",rangePlotClassName:\"rangeslider-rangeplot\",maskMinClassName:\"rangeslider-mask-min\",maskMaxClassName:\"rangeslider-mask-max\",slideBoxClassName:\"rangeslider-slidebox\",grabberMinClassName:\"rangeslider-grabber-min\",grabAreaMinClassName:\"rangeslider-grabarea-min\",handleMinClassName:\"rangeslider-handle-min\",grabberMaxClassName:\"rangeslider-grabber-max\",grabAreaMaxClassName:\"rangeslider-grabarea-max\",handleMaxClassName:\"rangeslider-handle-max\",maskMinOppAxisClassName:\"rangeslider-mask-min-opp-axis\",maskMaxOppAxisClassName:\"rangeslider-mask-max-opp-axis\",maskColor:\"rgba(0,0,0,0.4)\",maskOppAxisColor:\"rgba(0,0,0,0.2)\",slideBoxFill:\"transparent\",slideBoxCursor:\"ew-resize\",grabAreaFill:\"transparent\",grabAreaCursor:\"col-resize\",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}});var gge=ye(wI=>{\"use strict\";var U0t=af(),V0t=Pl(),vge=xI(),H0t=Nh().LINE_SPACING,bI=vge.name;function pge(e){var t=e&&e[bI];return t&&t.visible}wI.isVisible=pge;wI.makeData=function(e){for(var t=U0t.list({_fullLayout:e},\"x\",!0),r=e.margin,n=[],i=0;i<t.length;i++){var a=t[i];if(pge(a)){n.push(a);var o=a[bI];o._id=bI+a._id,o._height=(e.height-r.b-r.t)*o.thickness,o._offsetShift=Math.floor(o.borderwidth/2)}}e._rangeSliderData=n};wI.autoMarginOpts=function(e,t){var r=e._fullLayout,n=t[bI],i=t._id.charAt(0),a=0,o=0;if(t.side===\"bottom\"&&(a=t._depth,t.title.text!==r._dfltTitle[i])){o=1.5*t.title.font.size+10+n._offsetShift;var s=(t.title.text.match(V0t.BR_TAG_ALL)||[]).length;o+=s*t.title.font.size*H0t}return{x:0,y:t._counterDomainMin,l:0,r:0,t:0,b:n._height+a+Math.max(r.margin.b,o),pad:vge.extraPad+n._offsetShift*2}}});var xge=ye((Har,_ge)=>{\"use strict\";var TI=Mr(),mge=Vs(),yge=af(),G0t=_I(),j0t=XU();_ge.exports=function(t,r,n){var i=t[n],a=r[n];if(!(i.rangeslider||r._requestRangeslider[a._id]))return;TI.isPlainObject(i.rangeslider)||(i.rangeslider={});var o=i.rangeslider,s=mge.newContainer(a,\"rangeslider\");function l(L,_){return TI.coerce(o,s,G0t,L,_)}var u,c;function f(L,_){return TI.coerce(u,c,j0t,L,_)}var h=l(\"visible\");if(h){l(\"bgcolor\",r.plot_bgcolor),l(\"bordercolor\"),l(\"borderwidth\"),l(\"thickness\"),l(\"autorange\",!a.isValidRange(o.range)),l(\"range\");var d=r._subplots;if(d)for(var v=d.cartesian.filter(function(L){return L.substr(0,L.indexOf(\"y\"))===yge.name2id(n)}).map(function(L){return L.substr(L.indexOf(\"y\"),L.length)}),x=TI.simpleMap(v,yge.id2name),b=0;b<x.length;b++){var p=x[b];u=o[p]||{},c=mge.newContainer(s,p,\"yaxis\");var E=r[p],k;u.range&&E.isValidRange(u.range)&&(k=\"fixed\");var A=f(\"rangemode\",k);A!==\"match\"&&f(\"range\",E.range.slice())}s._input=o}}});var wge=ye((Gar,bge)=>{\"use strict\";var W0t=af().list,Z0t=wg().getAutoRange,X0t=xI();bge.exports=function(t){for(var r=W0t(t,\"x\",!0),n=0;n<r.length;n++){var i=r[n],a=i[X0t.name];a&&a.visible&&a.autorange&&(a._input.autorange=!0,a._input.range=a.range=Z0t(t,i))}}});var Mge=ye((jar,Sge)=>{\"use strict\";var AI=xa(),Y0t=ba(),K0t=Xu(),Ff=Mr(),SI=Ff.strTranslate,Age=ao(),b_=va(),J0t=Mb(),$0t=Jf(),YU=af(),Q0t=gv(),egt=Tg(),Bs=xI();Sge.exports=function(e){for(var t=e._fullLayout,r=t._rangeSliderData,n=0;n<r.length;n++){var i=r[n][Bs.name];i._clipId=i._id+\"-\"+t._uid}function a(s){return s._name}var o=t._infolayer.selectAll(\"g.\"+Bs.containerClassName).data(r,a);o.exit().each(function(s){var l=s[Bs.name];t._topdefs.select(\"#\"+l._clipId).remove()}).remove(),r.length!==0&&(o.enter().append(\"g\").classed(Bs.containerClassName,!0).attr(\"pointer-events\",\"all\"),o.each(function(s){var l=AI.select(this),u=s[Bs.name],c=t[YU.id2name(s.anchor)],f=u[YU.id2name(s.anchor)];if(u.range){var h=Ff.simpleMap(u.range,s.r2l),d=Ff.simpleMap(s.range,s.r2l),v;d[0]<d[1]?v=[Math.min(h[0],d[0]),Math.max(h[1],d[1])]:v=[Math.max(h[0],d[0]),Math.min(h[1],d[1])],u.range=u._input.range=Ff.simpleMap(v,s.l2r)}s.cleanRange(\"rangeslider.range\");var x=t._size,b=s.domain;u._width=x.w*(b[1]-b[0]);var p=Math.round(x.l+x.w*b[0]),E=Math.round(x.t+x.h*(1-s._counterDomainMin)+(s.side===\"bottom\"?s._depth:0)+u._offsetShift+Bs.extraPad);l.attr(\"transform\",SI(p,E)),u._rl=Ff.simpleMap(u.range,s.r2l);var k=u._rl[0],A=u._rl[1],L=A-k;if(u.p2d=function(H){return H/u._width*L+k},u.d2p=function(H){return(H-k)/L*u._width},s.rangebreaks){var _=s.locateBreaks(k,A);if(_.length){var C,M,g=0;for(C=0;C<_.length;C++)M=_[C],g+=M.max-M.min;var P=u._width/(A-k-g),T=[-P*k];for(C=0;C<_.length;C++)M=_[C],T.push(T[T.length-1]-P*(M.max-M.min));for(u.d2p=function(H){for(var X=T[0],G=0;G<_.length;G++){var N=_[G];if(H>=N.max)X=T[G+1];else if(H<N.min)break}return X+P*H},C=0;C<_.length;C++)M=_[C],M.pmin=u.d2p(M.min),M.pmax=u.d2p(M.max);u.p2d=function(H){for(var X=T[0],G=0;G<_.length;G++){var N=_[G];if(H>=N.pmax)X=T[G+1];else if(H<N.pmin)break}return(H-X)/P}}}if(f.rangemode!==\"match\"){var F=c.r2l(f.range[0]),q=c.r2l(f.range[1]),V=q-F;u.d2pOppAxis=function(H){return(H-F)/V*u._height}}l.call(ngt,e,s,u).call(agt,e,s,u).call(ogt,e,s,u).call(lgt,e,s,u,f).call(ugt,e,s,u).call(cgt,e,s,u),tgt(l,e,s,u),igt(l,e,s,u,c,f),s.side===\"bottom\"&&J0t.draw(e,s._id+\"title\",{propContainer:s,propName:s._name+\".title\",placeholder:t._dfltTitle.x,attributes:{x:s._offset+s._length/2,y:E+u._height+u._offsetShift+10+1.5*s.title.font.size,\"text-anchor\":\"middle\"}})}))};function Tge(e){return typeof e.clientX==\"number\"?e.clientX:e.touches&&e.touches.length>0?e.touches[0].clientX:0}function tgt(e,t,r,n){if(t._context.staticPlot)return;var i=e.select(\"rect.\"+Bs.slideBoxClassName).node(),a=e.select(\"rect.\"+Bs.grabAreaMinClassName).node(),o=e.select(\"rect.\"+Bs.grabAreaMaxClassName).node();function s(){var l=AI.event,u=l.target,c=Tge(l),f=c-e.node().getBoundingClientRect().left,h=n.d2p(r._rl[0]),d=n.d2p(r._rl[1]),v=Q0t.coverSlip();this.addEventListener(\"touchmove\",x),this.addEventListener(\"touchend\",b),v.addEventListener(\"mousemove\",x),v.addEventListener(\"mouseup\",b);function x(p){var E=Tge(p),k=+E-c,A,L,_;switch(u){case i:if(_=\"ew-resize\",h+k>r._length||d+k<0)return;A=h+k,L=d+k;break;case a:if(_=\"col-resize\",h+k>r._length)return;A=h+k,L=d;break;case o:if(_=\"col-resize\",d+k<0)return;A=h,L=d+k;break;default:_=\"ew-resize\",A=f,L=f+k;break}if(L<A){var C=L;L=A,A=C}n._pixelMin=A,n._pixelMax=L,egt(AI.select(v),_),rgt(e,t,r,n)}function b(){v.removeEventListener(\"mousemove\",x),v.removeEventListener(\"mouseup\",b),this.removeEventListener(\"touchmove\",x),this.removeEventListener(\"touchend\",b),Ff.removeElement(v)}}e.on(\"mousedown\",s),e.on(\"touchstart\",s)}function rgt(e,t,r,n){function i(s){return r.l2r(Ff.constrain(s,n._rl[0],n._rl[1]))}var a=i(n.p2d(n._pixelMin)),o=i(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){Y0t.call(\"_guiRelayout\",t,r._name+\".range\",[a,o])})}function igt(e,t,r,n,i,a){var o=Bs.handleWidth/2;function s(p){return Ff.constrain(p,0,n._width)}function l(p){return Ff.constrain(p,0,n._height)}function u(p){return Ff.constrain(p,-o,n._width+o)}var c=s(n.d2p(r._rl[0])),f=s(n.d2p(r._rl[1]));if(e.select(\"rect.\"+Bs.slideBoxClassName).attr(\"x\",c).attr(\"width\",f-c),e.select(\"rect.\"+Bs.maskMinClassName).attr(\"width\",c),e.select(\"rect.\"+Bs.maskMaxClassName).attr(\"x\",f).attr(\"width\",n._width-f),a.rangemode!==\"match\"){var h=n._height-l(n.d2pOppAxis(i._rl[1])),d=n._height-l(n.d2pOppAxis(i._rl[0]));e.select(\"rect.\"+Bs.maskMinOppAxisClassName).attr(\"x\",c).attr(\"height\",h).attr(\"width\",f-c),e.select(\"rect.\"+Bs.maskMaxOppAxisClassName).attr(\"x\",c).attr(\"y\",d).attr(\"height\",n._height-d).attr(\"width\",f-c),e.select(\"rect.\"+Bs.slideBoxClassName).attr(\"y\",h).attr(\"height\",d-h)}var v=.5,x=Math.round(u(c-o))-v,b=Math.round(u(f-o))+v;e.select(\"g.\"+Bs.grabberMinClassName).attr(\"transform\",SI(x,v)),e.select(\"g.\"+Bs.grabberMaxClassName).attr(\"transform\",SI(b,v))}function ngt(e,t,r,n){var i=Ff.ensureSingle(e,\"rect\",Bs.bgClassName,function(l){l.attr({x:0,y:0,\"shape-rendering\":\"crispEdges\"})}),a=n.borderwidth%2===0?n.borderwidth:n.borderwidth-1,o=-n._offsetShift,s=Age.crispRound(t,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:SI(o,o),\"stroke-width\":s}).call(b_.stroke,n.bordercolor).call(b_.fill,n.bgcolor)}function agt(e,t,r,n){var i=t._fullLayout,a=Ff.ensureSingleById(i._topdefs,\"clipPath\",n._clipId,function(o){o.append(\"rect\").attr({x:0,y:0})});a.select(\"rect\").attr({width:n._width,height:n._height})}function ogt(e,t,r,n){var i=t.calcdata,a=e.selectAll(\"g.\"+Bs.rangePlotClassName).data(r._subplotsWith,Ff.identity);a.enter().append(\"g\").attr(\"class\",function(s){return Bs.rangePlotClassName+\" \"+s}).call(Age.setClipUrl,n._clipId,t),a.order(),a.exit().remove();var o;a.each(function(s,l){var u=AI.select(this),c=l===0,f=YU.getFromId(t,s,\"y\"),h=f._name,d=n[h],v={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:n.range.slice(),calendar:r.calendar},width:n._width,height:n._height,margin:{t:0,b:0,l:0,r:0}},_context:t._context};r.rangebreaks&&(v.layout.xaxis.rangebreaks=r.rangebreaks),v.layout[h]={type:f.type,domain:[0,1],range:d.rangemode!==\"match\"?d.range.slice():f.range.slice(),calendar:f.calendar},f.rangebreaks&&(v.layout[h].rangebreaks=f.rangebreaks),K0t.supplyDefaults(v);var x=v._fullLayout.xaxis,b=v._fullLayout[h];x.clearCalc(),x.setScale(),b.clearCalc(),b.setScale();var p={id:s,plotgroup:u,xaxis:x,yaxis:b,isRangePlot:!0};c?o=p:(p.mainplot=\"xy\",p.mainplotinfo=o),$0t.rangePlot(t,p,sgt(i,s))})}function sgt(e,t){for(var r=[],n=0;n<e.length;n++){var i=e[n],a=i[0].trace;a.xaxis+a.yaxis===t&&r.push(i)}return r}function lgt(e,t,r,n,i){var a=Ff.ensureSingle(e,\"rect\",Bs.maskMinClassName,function(u){u.attr({x:0,y:0,\"shape-rendering\":\"crispEdges\"})});a.attr(\"height\",n._height).call(b_.fill,Bs.maskColor);var o=Ff.ensureSingle(e,\"rect\",Bs.maskMaxClassName,function(u){u.attr({y:0,\"shape-rendering\":\"crispEdges\"})});if(o.attr(\"height\",n._height).call(b_.fill,Bs.maskColor),i.rangemode!==\"match\"){var s=Ff.ensureSingle(e,\"rect\",Bs.maskMinOppAxisClassName,function(u){u.attr({y:0,\"shape-rendering\":\"crispEdges\"})});s.attr(\"width\",n._width).call(b_.fill,Bs.maskOppAxisColor);var l=Ff.ensureSingle(e,\"rect\",Bs.maskMaxOppAxisClassName,function(u){u.attr({y:0,\"shape-rendering\":\"crispEdges\"})});l.attr(\"width\",n._width).style(\"border-top\",Bs.maskOppBorder).call(b_.fill,Bs.maskOppAxisColor)}}function ugt(e,t,r,n){if(!t._context.staticPlot){var i=Ff.ensureSingle(e,\"rect\",Bs.slideBoxClassName,function(a){a.attr({y:0,cursor:Bs.slideBoxCursor,\"shape-rendering\":\"crispEdges\"})});i.attr({height:n._height,fill:Bs.slideBoxFill})}}function cgt(e,t,r,n){var i=Ff.ensureSingle(e,\"g\",Bs.grabberMinClassName),a=Ff.ensureSingle(e,\"g\",Bs.grabberMaxClassName),o={x:0,width:Bs.handleWidth,rx:Bs.handleRadius,fill:b_.background,stroke:b_.defaultLine,\"stroke-width\":Bs.handleStrokeWidth,\"shape-rendering\":\"crispEdges\"},s={y:Math.round(n._height/4),height:Math.round(n._height/2)},l=Ff.ensureSingle(i,\"rect\",Bs.handleMinClassName,function(d){d.attr(o)});l.attr(s);var u=Ff.ensureSingle(a,\"rect\",Bs.handleMaxClassName,function(d){d.attr(o)});u.attr(s);var c={width:Bs.grabAreaWidth,x:0,y:0,fill:Bs.grabAreaFill,cursor:t._context.staticPlot?void 0:Bs.grabAreaCursor},f=Ff.ensureSingle(i,\"rect\",Bs.grabAreaMinClassName,function(d){d.attr(c)});f.attr(\"height\",n._height);var h=Ff.ensureSingle(a,\"rect\",Bs.grabAreaMaxClassName,function(d){d.attr(c)});h.attr(\"height\",n._height)}});var kge=ye((War,Ege)=>{\"use strict\";var fgt=Mr(),hgt=_I(),dgt=XU(),KU=gge();Ege.exports={moduleType:\"component\",name:\"rangeslider\",schema:{subplots:{xaxis:{rangeslider:fgt.extendFlat({},hgt,{yaxis:dgt})}}},layoutAttributes:_I(),handleDefaults:xge(),calcAutorange:wge(),draw:Mge(),isVisible:KU.isVisible,makeData:KU.makeData,autoMarginOpts:KU.autoMarginOpts}});var MI=ye((Zar,Lge)=>{\"use strict\";var vgt=Su(),Cge=dh(),pgt=Vs().templatedArray,ggt=pgt(\"button\",{visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},step:{valType:\"enumerated\",values:[\"month\",\"year\",\"day\",\"hour\",\"minute\",\"second\",\"all\"],dflt:\"month\",editType:\"plot\"},stepmode:{valType:\"enumerated\",values:[\"backward\",\"todate\"],dflt:\"backward\",editType:\"plot\"},count:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},label:{valType:\"string\",editType:\"plot\"},editType:\"plot\"});Lge.exports={visible:{valType:\"boolean\",editType:\"plot\"},buttons:ggt,x:{valType:\"number\",min:-2,max:3,editType:\"plot\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"plot\"},y:{valType:\"number\",min:-2,max:3,editType:\"plot\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"bottom\",editType:\"plot\"},font:vgt({editType:\"plot\"}),bgcolor:{valType:\"color\",dflt:Cge.lightLine,editType:\"plot\"},activecolor:{valType:\"color\",editType:\"plot\"},bordercolor:{valType:\"color\",dflt:Cge.defaultLine,editType:\"plot\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"}});var JU=ye((Xar,Pge)=>{\"use strict\";Pge.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}});var Dge=ye((Yar,Rge)=>{\"use strict\";var EI=Mr(),mgt=va(),ygt=Vs(),_gt=Zd(),Ige=MI(),$U=JU();Rge.exports=function(t,r,n,i,a){var o=t.rangeselector||{},s=ygt.newContainer(r,\"rangeselector\");function l(d,v){return EI.coerce(o,s,Ige,d,v)}var u=_gt(o,s,{name:\"buttons\",handleItemDefaults:xgt,calendar:a}),c=l(\"visible\",u.length>0);if(c){var f=bgt(r,n,i);l(\"x\",f[0]),l(\"y\",f[1]),EI.noneOrAll(t,r,[\"x\",\"y\"]),l(\"xanchor\"),l(\"yanchor\"),EI.coerceFont(l,\"font\",n.font);var h=l(\"bgcolor\");l(\"activecolor\",mgt.contrast(h,$U.lightAmount,$U.darkAmount)),l(\"bordercolor\"),l(\"borderwidth\")}};function xgt(e,t,r,n){var i=n.calendar;function a(l,u){return EI.coerce(e,t,Ige.buttons,l,u)}var o=a(\"visible\");if(o){var s=a(\"step\");s!==\"all\"&&(i&&i!==\"gregorian\"&&(s===\"month\"||s===\"year\")?t.stepmode=\"backward\":a(\"stepmode\"),a(\"count\")),a(\"label\")}}function bgt(e,t,r){for(var n=r.filter(function(s){return t[s].anchor===e._id}),i=0,a=0;a<n.length;a++){var o=t[n[a]].domain;o&&(i=Math.max(o[1],i))}return[e.domain[0],i+$U.yPad]}});var Fge=ye((Kar,zge)=>{\"use strict\";var wgt=dq(),Tgt=Mr().titleCase;zge.exports=function(t,r){var n=t._name,i={};if(r.step===\"all\")i[n+\".autorange\"]=!0;else{var a=Agt(t,r);i[n+\".range[0]\"]=a[0],i[n+\".range[1]\"]=a[1]}return i};function Agt(e,t){var r=e.range,n=new Date(e.r2l(r[1])),i=t.step,a=wgt[\"utc\"+Tgt(i)],o=t.count,s;switch(t.stepmode){case\"backward\":s=e.l2r(+a.offset(n,-o));break;case\"todate\":var l=a.offset(n,-o);s=e.l2r(+a.ceil(l));break}var u=r[1];return[s,u]}});var Gge=ye((Jar,Hge)=>{\"use strict\";var CI=xa(),Sgt=ba(),Mgt=Xu(),qge=va(),Vge=ao(),Iy=Mr(),Oge=Iy.strTranslate,kI=Pl(),Egt=af(),tV=Nh(),Bge=tV.LINE_SPACING,Nge=tV.FROM_TL,Uge=tV.FROM_BR,eV=JU(),kgt=Fge();Hge.exports=function(t){var r=t._fullLayout,n=r._infolayer.selectAll(\".rangeselector\").data(Cgt(t),Lgt);n.enter().append(\"g\").classed(\"rangeselector\",!0),n.exit().remove(),n.style({cursor:\"pointer\",\"pointer-events\":\"all\"}),n.each(function(i){var a=CI.select(this),o=i,s=o.rangeselector,l=a.selectAll(\"g.button\").data(Iy.filterVisible(s.buttons));l.enter().append(\"g\").classed(\"button\",!0),l.exit().remove(),l.each(function(u){var c=CI.select(this),f=kgt(o,u);u._isActive=Pgt(o,u,f),c.call(QU,s,u),c.call(Rgt,s,u,t),c.on(\"click\",function(){t._dragged||Sgt.call(\"_guiRelayout\",t,f)}),c.on(\"mouseover\",function(){u._isHovered=!0,c.call(QU,s,u)}),c.on(\"mouseout\",function(){u._isHovered=!1,c.call(QU,s,u)})}),zgt(t,l,s,o._name,a)})};function Cgt(e){for(var t=Egt.list(e,\"x\",!0),r=[],n=0;n<t.length;n++){var i=t[n];i.rangeselector&&i.rangeselector.visible&&r.push(i)}return r}function Lgt(e){return e._id}function Pgt(e,t,r){if(t.step===\"all\")return e.autorange===!0;var n=Object.keys(r);return e.range[0]===r[n[0]]&&e.range[1]===r[n[1]]}function QU(e,t,r){var n=Iy.ensureSingle(e,\"rect\",\"selector-rect\",function(i){i.attr(\"shape-rendering\",\"crispEdges\")});n.attr({rx:eV.rx,ry:eV.ry}),n.call(qge.stroke,t.bordercolor).call(qge.fill,Igt(t,r)).style(\"stroke-width\",t.borderwidth+\"px\")}function Igt(e,t){return t._isActive||t._isHovered?e.activecolor:e.bgcolor}function Rgt(e,t,r,n){function i(o){kI.convertToTspans(o,n)}var a=Iy.ensureSingle(e,\"text\",\"selector-text\",function(o){o.attr(\"text-anchor\",\"middle\")});a.call(Vge.font,t.font).text(Dgt(r,n._fullLayout._meta)).call(i)}function Dgt(e,t){return e.label?t?Iy.templateString(e.label,t):e.label:e.step===\"all\"?\"all\":e.count+e.step.charAt(0)}function zgt(e,t,r,n,i){var a=0,o=0,s=r.borderwidth;t.each(function(){var d=CI.select(this),v=d.select(\".selector-text\"),x=r.font.size*Bge,b=Math.max(x*kI.lineCount(v),16)+3;o=Math.max(o,b)}),t.each(function(){var d=CI.select(this),v=d.select(\".selector-rect\"),x=d.select(\".selector-text\"),b=x.node()&&Vge.bBox(x.node()).width,p=r.font.size*Bge,E=kI.lineCount(x),k=Math.max(b+10,eV.minButtonWidth);d.attr(\"transform\",Oge(s+a,s)),v.attr({x:0,y:0,width:k,height:o}),kI.positionText(x,k/2,o/2-(E-1)*p/2+3),a+=k+5});var l=e._fullLayout._size,u=l.l+l.w*r.x,c=l.t+l.h*(1-r.y),f=\"left\";Iy.isRightAnchor(r)&&(u-=a,f=\"right\"),Iy.isCenterAnchor(r)&&(u-=a/2,f=\"center\");var h=\"top\";Iy.isBottomAnchor(r)&&(c-=o,h=\"bottom\"),Iy.isMiddleAnchor(r)&&(c-=o/2,h=\"middle\"),a=Math.ceil(a),o=Math.ceil(o),u=Math.round(u),c=Math.round(c),Mgt.autoMargin(e,n+\"-range-selector\",{x:r.x,y:r.y,l:a*Nge[f],r:a*Uge[f],b:o*Uge[h],t:o*Nge[h]}),i.attr(\"transform\",Oge(u,c))}});var Wge=ye(($ar,jge)=>{\"use strict\";jge.exports={moduleType:\"component\",name:\"rangeselector\",schema:{subplots:{xaxis:{rangeselector:MI()}}},layoutAttributes:MI(),handleDefaults:Dge(),draw:Gge()}});var Ju=ye(rV=>{\"use strict\";var Zge=no().extendFlat;rV.attributes=function(e,t){e=e||{},t=t||{};var r={valType:\"info_array\",editType:e.editType,items:[{valType:\"number\",min:0,max:1,editType:e.editType},{valType:\"number\",min:0,max:1,editType:e.editType}],dflt:[0,1]},n=e.name?e.name+\" \":\"\",i=e.trace?\"trace \":\"subplot \",a=t.description?\" \"+t.description:\"\",o={x:Zge({},r,{}),y:Zge({},r,{}),editType:e.editType};return e.noGridCell||(o.row={valType:\"integer\",min:0,dflt:0,editType:e.editType},o.column={valType:\"integer\",min:0,dflt:0,editType:e.editType}),o};rV.defaults=function(e,t,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=t.grid;if(o){var s=r(\"domain.column\");s!==void 0&&(s<o.columns?i=o._domains.x[s]:delete e.domain.column);var l=r(\"domain.row\");l!==void 0&&(l<o.rows?a=o._domains.y[l]:delete e.domain.row)}var u=r(\"domain.x\",i),c=r(\"domain.y\",a);u[0]<u[1]||(e.domain.x=i.slice()),c[0]<c[1]||(e.domain.y=a.slice())}});var nV=ye((eor,Jge)=>{\"use strict\";var Fgt=Mr(),qgt=n3().counter,Ogt=Ju().attributes,Xge=ad().idRegex,Bgt=Vs(),iV={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:[qgt(\"xy\").toString(),\"\"],editType:\"plot\"},editType:\"plot\"},xaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[Xge.x.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},yaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[Xge.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:Ogt({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 LI(e,t,r){var n=t[r+\"axes\"],i=Object.keys((e._splomAxes||{})[r]||{});if(Array.isArray(n))return n;if(i.length)return i}function Ngt(e,t){var r=e.grid||{},n=LI(t,r,\"x\"),i=LI(t,r,\"y\");if(!e.grid&&!n&&!i)return;var a=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),o=Array.isArray(n),s=Array.isArray(i),l=o&&n!==r.xaxes&&s&&i!==r.yaxes,u,c;a?(u=r.subplots.length,c=r.subplots[0].length):(s&&(u=i.length),o&&(c=n.length));var f=Bgt.newContainer(t,\"grid\");function h(_,C){return Fgt.coerce(r,f,iV,_,C)}var d=h(\"rows\",u),v=h(\"columns\",c);if(!(d*v>1)){delete t.grid;return}if(!a&&!o&&!s){var x=h(\"pattern\")===\"independent\";x&&(a=!0)}f._hasSubplotGrid=a;var b=h(\"roworder\"),p=b===\"top to bottom\",E=a?.2:.1,k=a?.3:.1,A,L;l&&t._splomGridDflt&&(A=t._splomGridDflt.xside,L=t._splomGridDflt.yside),f._domains={x:Yge(\"x\",h,E,A,v),y:Yge(\"y\",h,k,L,d,p)}}function Yge(e,t,r,n,i,a){var o=t(e+\"gap\",r),s=t(\"domain.\"+e);t(e+\"side\",n);for(var l=new Array(i),u=s[0],c=(s[1]-u)/(i-o),f=c*(1-o),h=0;h<i;h++){var d=u+c*h;l[a?i-1-h:h]=[d,d+f]}return l}function Ugt(e,t){var r=t.grid;if(!(!r||!r._domains)){var n=e.grid||{},i=t._subplots,a=r._hasSubplotGrid,o=r.rows,s=r.columns,l=r.pattern===\"independent\",u,c,f,h,d,v,x,b=r._axisMap={};if(a){var p=n.subplots||[];v=r.subplots=new Array(o);var E=1;for(u=0;u<o;u++){var k=v[u]=new Array(s),A=p[u]||[];for(c=0;c<s;c++)if(l?(d=E===1?\"xy\":\"x\"+E+\"y\"+E,E++):d=A[c],k[c]=\"\",i.cartesian.indexOf(d)!==-1){if(x=d.indexOf(\"y\"),f=d.slice(0,x),h=d.slice(x),b[f]!==void 0&&b[f]!==c||b[h]!==void 0&&b[h]!==u)continue;k[c]=d,b[f]=c,b[h]=u}}}else{var L=LI(t,n,\"x\"),_=LI(t,n,\"y\");r.xaxes=Kge(L,i.xaxis,s,b,\"x\"),r.yaxes=Kge(_,i.yaxis,o,b,\"y\")}var C=r._anchors={},M=r.roworder===\"top to bottom\";for(var g in b){var P=g.charAt(0),T=r[P+\"side\"],F,q,V;if(T.length<8)C[g]=\"free\";else if(P===\"x\"){if(T.charAt(0)===\"t\"===M?(F=0,q=1,V=o):(F=o-1,q=-1,V=-1),a){var H=b[g];for(u=F;u!==V;u+=q)if(d=v[u][H],!!d&&(x=d.indexOf(\"y\"),d.slice(0,x)===g)){C[g]=d.slice(x);break}}else for(u=F;u!==V;u+=q)if(h=r.yaxes[u],i.cartesian.indexOf(g+h)!==-1){C[g]=h;break}}else if(T.charAt(0)===\"l\"?(F=0,q=1,V=s):(F=s-1,q=-1,V=-1),a){var X=b[g];for(u=F;u!==V;u+=q)if(d=v[X][u],!!d&&(x=d.indexOf(\"y\"),d.slice(x)===g)){C[g]=d.slice(0,x);break}}else for(u=F;u!==V;u+=q)if(f=r.xaxes[u],i.cartesian.indexOf(f+g)!==-1){C[g]=f;break}}}}function Kge(e,t,r,n,i){var a=new Array(r),o;function s(l,u){t.indexOf(u)!==-1&&n[u]===void 0?(a[l]=u,n[u]=l):a[l]=\"\"}if(Array.isArray(e))for(o=0;o<r;o++)s(o,e[o]);else for(s(0,i),o=1;o<r;o++)s(o,i+(o+1));return a}Jge.exports={moduleType:\"component\",name:\"grid\",schema:{layout:{grid:iV}},layoutAttributes:iV,sizeDefaults:Ngt,contentDefaults:Ugt}});var aV=ye((tor,$ge)=>{\"use strict\";$ge.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\"}});var tme=ye((ror,eme)=>{\"use strict\";var Qge=uo(),Vgt=ba(),Hgt=Mr(),Ggt=Vs(),jgt=aV();eme.exports=function(e,t,r,n){var i=\"error_\"+n.axis,a=Ggt.newContainer(t,i),o=e[i]||{};function s(v,x){return Hgt.coerce(o,a,jgt,v,x)}var l=o.array!==void 0||o.value!==void 0||o.type===\"sqrt\",u=s(\"visible\",l);if(u!==!1){var c=s(\"type\",\"array\"in o?\"data\":\"percent\"),f=!0;c!==\"sqrt\"&&(f=s(\"symmetric\",!((c===\"data\"?\"arrayminus\":\"valueminus\")in o))),c===\"data\"?(s(\"array\"),s(\"traceref\"),f||(s(\"arrayminus\"),s(\"tracerefminus\"))):(c===\"percent\"||c===\"constant\")&&(s(\"value\"),f||s(\"valueminus\"));var h=\"copy_\"+n.inherit+\"style\";if(n.inherit){var d=t[\"error_\"+n.inherit];(d||{}).visible&&s(h,!(o.color||Qge(o.thickness)||Qge(o.width)))}(!n.inherit||!a[h])&&(s(\"color\",r),s(\"thickness\"),s(\"width\",Vgt.traceIs(t,\"gl3d\")?0:4))}}});var oV=ye((ior,ime)=>{\"use strict\";ime.exports=function(t){var r=t.type,n=t.symmetric;if(r===\"data\"){var i=t.array||[];if(n)return function(u,c){var f=+i[c];return[f,f]};var a=t.arrayminus||[];return function(u,c){var f=+i[c],h=+a[c];return!isNaN(f)||!isNaN(h)?[h||0,f||0]:[NaN,NaN]}}else{var o=rme(r,t.value),s=rme(r,t.valueminus);return n||t.valueminus===void 0?function(u){var c=o(u);return[c,c]}:function(u){return[s(u),o(u)]}}};function rme(e,t){if(e===\"percent\")return function(r){return Math.abs(r*t/100)};if(e===\"constant\")return function(){return Math.abs(t)};if(e===\"sqrt\")return function(r){return Math.sqrt(Math.abs(r))}}});var ome=ye((nor,ame)=>{\"use strict\";var sV=uo(),Wgt=ba(),lV=Qa(),Zgt=Mr(),Xgt=oV();ame.exports=function(t){for(var r=t.calcdata,n=0;n<r.length;n++){var i=r[n],a=i[0].trace;if(a.visible===!0&&Wgt.traceIs(a,\"errorBarsOK\")){var o=lV.getFromId(t,a.xaxis),s=lV.getFromId(t,a.yaxis);nme(i,a,o,\"x\"),nme(i,a,s,\"y\")}}};function nme(e,t,r,n){var i=t[\"error_\"+n]||{},a=i.visible&&[\"linear\",\"log\"].indexOf(r.type)!==-1,o=[];if(a){for(var s=Xgt(i),l=0;l<e.length;l++){var u=e[l],c=u.i;if(c===void 0)c=l;else if(c===null)continue;var f=u[n];if(sV(r.c2l(f))){var h=s(f,c);if(sV(h[0])&&sV(h[1])){var d=u[n+\"s\"]=f-h[0],v=u[n+\"h\"]=f+h[1];o.push(d,v)}}}var x=r._id,b=t._extremes[x],p=lV.findExtremes(r,o,Zgt.extendFlat({tozero:b.opts.tozero},{padded:!0}));b.min=b.min.concat(p.min),b.max=b.max.concat(p.max)}}});var ume=ye((aor,lme)=>{\"use strict\";var sme=xa(),w_=uo(),Ygt=ao(),Kgt=lu();lme.exports=function(t,r,n,i){var a,o=n.xaxis,s=n.yaxis,l=i&&i.duration>0,u=t._context.staticPlot;r.each(function(c){var f=c[0].trace,h=f.error_x||{},d=f.error_y||{},v;f.ids&&(v=function(E){return E.id});var x=Kgt.hasMarkers(f)&&f.marker.maxdisplayed>0;!d.visible&&!h.visible&&(c=[]);var b=sme.select(this).selectAll(\"g.errorbar\").data(c,v);if(b.exit().remove(),!!c.length){h.visible||b.selectAll(\"path.xerror\").remove(),d.visible||b.selectAll(\"path.yerror\").remove(),b.style(\"opacity\",1);var p=b.enter().append(\"g\").classed(\"errorbar\",!0);l&&p.style(\"opacity\",0).transition().duration(i.duration).style(\"opacity\",1),Ygt.setClipUrl(b,n.layerClipId,t),b.each(function(E){var k=sme.select(this),A=Jgt(E,o,s);if(!(x&&!E.vis)){var L,_=k.select(\"path.yerror\");if(d.visible&&w_(A.x)&&w_(A.yh)&&w_(A.ys)){var C=d.width;L=\"M\"+(A.x-C)+\",\"+A.yh+\"h\"+2*C+\"m-\"+C+\",0V\"+A.ys,A.noYS||(L+=\"m-\"+C+\",0h\"+2*C),a=!_.size(),a?_=k.append(\"path\").style(\"vector-effect\",u?\"none\":\"non-scaling-stroke\").classed(\"yerror\",!0):l&&(_=_.transition().duration(i.duration).ease(i.easing)),_.attr(\"d\",L)}else _.remove();var M=k.select(\"path.xerror\");if(h.visible&&w_(A.y)&&w_(A.xh)&&w_(A.xs)){var g=(h.copy_ystyle?d:h).width;L=\"M\"+A.xh+\",\"+(A.y-g)+\"v\"+2*g+\"m0,-\"+g+\"H\"+A.xs,A.noXS||(L+=\"m0,-\"+g+\"v\"+2*g),a=!M.size(),a?M=k.append(\"path\").style(\"vector-effect\",u?\"none\":\"non-scaling-stroke\").classed(\"xerror\",!0):l&&(M=M.transition().duration(i.duration).ease(i.easing)),M.attr(\"d\",L)}else M.remove()}})}})};function Jgt(e,t,r){var n={x:t.c2p(e.x),y:r.c2p(e.y)};return e.yh!==void 0&&(n.yh=r.c2p(e.yh),n.ys=r.c2p(e.ys),w_(n.ys)||(n.noYS=!0,n.ys=r.c2p(e.ys,!0))),e.xh!==void 0&&(n.xh=t.c2p(e.xh),n.xs=t.c2p(e.xs),w_(n.xs)||(n.noXS=!0,n.xs=t.c2p(e.xs,!0))),n}});var hme=ye((oor,fme)=>{\"use strict\";var $gt=xa(),cme=va();fme.exports=function(t){t.each(function(r){var n=r[0].trace,i=n.error_y||{},a=n.error_x||{},o=$gt.select(this);o.selectAll(\"path.yerror\").style(\"stroke-width\",i.thickness+\"px\").call(cme.stroke,i.color),a.copy_ystyle&&(a=i),o.selectAll(\"path.xerror\").style(\"stroke-width\",a.thickness+\"px\").call(cme.stroke,a.color)})}});var pme=ye((sor,vme)=>{\"use strict\";var o4=Mr(),dme=Bu().overrideAll,s4=aV(),$b={error_x:o4.extendFlat({},s4),error_y:o4.extendFlat({},s4)};delete $b.error_x.copy_zstyle;delete $b.error_y.copy_zstyle;delete $b.error_y.copy_ystyle;var l4={error_x:o4.extendFlat({},s4),error_y:o4.extendFlat({},s4),error_z:o4.extendFlat({},s4)};delete l4.error_x.copy_ystyle;delete l4.error_y.copy_ystyle;delete l4.error_z.copy_ystyle;delete l4.error_z.copy_zstyle;vme.exports={moduleType:\"component\",name:\"errorbars\",schema:{traces:{scatter:$b,bar:$b,histogram:$b,scatter3d:dme(l4,\"calc\",\"nested\"),scattergl:dme($b,\"calc\",\"nested\")}},supplyDefaults:tme(),calc:ome(),makeComputeError:oV(),plot:ume(),style:hme(),hoverInfo:Qgt};function Qgt(e,t,r){(t.error_y||{}).visible&&(r.yerr=e.yh-e.y,t.error_y.symmetric||(r.yerrneg=e.y-e.ys)),(t.error_x||{}).visible&&(r.xerr=e.xh-e.x,t.error_x.symmetric||(r.xerrneg=e.x-e.xs))}});var mme=ye((lor,gme)=>{\"use strict\";gme.exports={cn:{colorbar:\"colorbar\",cbbg:\"cbbg\",cbfill:\"cbfill\",cbfills:\"cbfills\",cbline:\"cbline\",cblines:\"cblines\",cbaxis:\"cbaxis\",cbtitleunshift:\"cbtitleunshift\",cbtitle:\"cbtitle\",cboutline:\"cboutline\",crisp:\"crisp\",jsPlaceholder:\"js-placeholder\"}}});var Ame=ye((uor,Tme)=>{\"use strict\";var T_=xa(),uV=id(),II=Xu(),yme=ba(),Ry=Qa(),PI=gv(),B0=Mr(),Ug=B0.strTranslate,wme=no().extendFlat,cV=Tg(),Ng=ao(),fV=va(),emt=Mb(),tmt=Pl(),rmt=Dv().flipScale,imt=JM(),nmt=iI(),amt=Cd(),hV=Nh(),_me=hV.LINE_SPACING,xme=hV.FROM_TL,bme=hV.FROM_BR,Vc=mme().cn;function omt(e){var t=e._fullLayout,r=t._infolayer.selectAll(\"g.\"+Vc.colorbar).data(smt(e),function(n){return n._id});r.enter().append(\"g\").attr(\"class\",function(n){return n._id}).classed(Vc.colorbar,!0),r.each(function(n){var i=T_.select(this);B0.ensureSingle(i,\"rect\",Vc.cbbg),B0.ensureSingle(i,\"g\",Vc.cbfills),B0.ensureSingle(i,\"g\",Vc.cblines),B0.ensureSingle(i,\"g\",Vc.cbaxis,function(o){o.classed(Vc.crisp,!0)}),B0.ensureSingle(i,\"g\",Vc.cbtitleunshift,function(o){o.append(\"g\").classed(Vc.cbtitle,!0)}),B0.ensureSingle(i,\"rect\",Vc.cboutline);var a=lmt(i,n,e);a&&a.then&&(e._promises||[]).push(a),e._context.edits.colorbarPosition&&umt(i,n,e)}),r.exit().each(function(n){II.autoMargin(e,n._id)}).remove(),r.order()}function smt(e){var t=e._fullLayout,r=e.calcdata,n=[],i,a,o,s;function l(k){return wme(k,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function u(){typeof s.calc==\"function\"?s.calc(e,o,i):(i._fillgradient=a.reversescale?rmt(a.colorscale):a.colorscale,i._zrange=[a[s.min],a[s.max]])}for(var c=0;c<r.length;c++){var f=r[c];if(o=f[0].trace,!!o._module){var h=o._module.colorbar;if(o.visible===!0&&h)for(var d=Array.isArray(h),v=d?h:[h],x=0;x<v.length;x++){s=v[x];var b=s.container;a=b?o[b]:o,a&&a.showscale&&(i=l(a.colorbar),i._id=\"cb\"+o.uid+(d&&b?\"-\"+b:\"\"),i._traceIndex=o.index,i._propPrefix=(b?b+\".\":\"\")+\"colorbar.\",i._meta=o._meta,u(),n.push(i))}}}for(var p in t._colorAxes)if(a=t[p],a.showscale){var E=t._colorAxes[p];i=l(a.colorbar),i._id=\"cb\"+p,i._propPrefix=p+\".colorbar.\",i._meta=t._meta,s={min:\"cmin\",max:\"cmax\"},E[0]!==\"heatmap\"&&(o=E[1],s.calc=o._module.colorbar.calc),u(),n.push(i)}return n}function lmt(e,t,r){var n=t.orientation===\"v\",i=t.len,a=t.lenmode,o=t.thickness,s=t.thicknessmode,l=t.outlinewidth,u=t.borderwidth,c=t.bgcolor,f=t.xanchor,h=t.yanchor,d=t.xpad,v=t.ypad,x=t.x,b=n?t.y:1-t.y,p=t.yref===\"paper\",E=t.xref===\"paper\",k=r._fullLayout,A=k._size,L=t._fillcolor,_=t._line,C=t.title,M=C.side,g=t._zrange||T_.extent((typeof L==\"function\"?L:_.color).domain()),P=typeof _.color==\"function\"?_.color:function(){return _.color},T=typeof L==\"function\"?L:function(){return L},F=t._levels,q=cmt(r,t,g),V=q.fill,H=q.line,X=Math.round(o*(s===\"fraction\"?n?A.w:A.h:1)),G=X/(n?A.w:A.h),N=Math.round(i*(a===\"fraction\"?n?A.h:A.w:1)),W=N/(n?A.h:A.w),re=E?A.w:r._fullLayout.width,ae=p?A.h:r._fullLayout.height,_e=Math.round(n?x*re+d:b*ae+v),Me={center:.5,right:1}[f]||0,ke={top:1,middle:.5}[h]||0,ge=n?x-Me*G:b-ke*G,ie=n?b-ke*W:x-Me*W,Te=Math.round(n?ae*(1-ie):re*ie);t._lenFrac=W,t._thickFrac=G,t._uFrac=ge,t._vFrac=ie;var Ee=t._axis=fmt(r,t,g);Ee.position=G+(n?x+d/A.w:b+v/A.h);var Ae=[\"top\",\"bottom\"].indexOf(M)!==-1;if(n&&Ae&&(Ee.title.side=M,Ee.titlex=x+d/A.w,Ee.titley=ie+(C.side===\"top\"?W-v/A.h:v/A.h)),!n&&!Ae&&(Ee.title.side=M,Ee.titley=b+v/A.h,Ee.titlex=ie+d/A.w),_.color&&t.tickmode===\"auto\"){Ee.tickmode=\"linear\",Ee.tick0=F.start;var ze=F.size,Ce=B0.constrain(N/50,4,15)+1,me=(g[1]-g[0])/((t.nticks||Ce)*ze);if(me>1){var Re=Math.pow(10,Math.floor(Math.log(me)/Math.LN10));ze*=Re*B0.roundUp(me/Re,[2,5,10]),(Math.abs(F.start)/F.size+1e-6)%1<2e-6&&(Ee.tick0=0)}Ee.dtick=ze}Ee.domain=n?[ie+v/A.h,ie+W-v/A.h]:[ie+d/A.w,ie+W-d/A.w],Ee.setScale(),e.attr(\"transform\",Ug(Math.round(A.l),Math.round(A.t)));var ce=e.select(\".\"+Vc.cbtitleunshift).attr(\"transform\",Ug(-Math.round(A.l),-Math.round(A.t))),Ge=Ee.ticklabelposition,nt=Ee.title.font.size,ct=e.select(\".\"+Vc.cbaxis),qt,rt=0,ot=0;function Rt(er,Ke){var xt={propContainer:Ee,propName:t._propPrefix+\"title\",traceIndex:t._traceIndex,_meta:t._meta,placeholder:k._dfltTitle.colorbar,containerGroup:e.select(\".\"+Vc.cbtitle)},bt=er.charAt(0)===\"h\"?er.substr(1):\"h\"+er;e.selectAll(\".\"+bt+\",.\"+bt+\"-math-group\").remove(),emt.draw(r,er,wme(xt,Ke||{}))}function kt(){if(n&&Ae||!n&&!Ae){var er,Ke;M===\"top\"&&(er=d+A.l+re*x,Ke=v+A.t+ae*(1-ie-W)+3+nt*.75),M===\"bottom\"&&(er=d+A.l+re*x,Ke=v+A.t+ae*(1-ie)-3-nt*.25),M===\"right\"&&(Ke=v+A.t+ae*b+3+nt*.75,er=d+A.l+re*ie),Rt(Ee._id+\"title\",{attributes:{x:er,y:Ke,\"text-anchor\":n?\"start\":\"middle\"}})}}function Ct(){if(n&&!Ae||!n&&Ae){var er=Ee.position||0,Ke=Ee._offset+Ee._length/2,xt,bt;if(M===\"right\")bt=Ke,xt=A.l+re*er+10+nt*(Ee.showticklabels?1:.5);else if(xt=Ke,M===\"bottom\"&&(bt=A.t+ae*er+10+(Ge.indexOf(\"inside\")===-1?Ee.tickfont.size:0)+(Ee.ticks!==\"intside\"&&t.ticklen||0)),M===\"top\"){var Lt=C.text.split(\"<br>\").length;bt=A.t+ae*er+10-X-_me*nt*Lt}Rt((n?\"h\":\"v\")+Ee._id+\"title\",{avoid:{selection:T_.select(r).selectAll(\"g.\"+Ee._id+\"tick\"),side:M,offsetTop:n?0:A.t,offsetLeft:n?A.l:0,maxShift:n?k.width:k.height},attributes:{x:xt,y:bt,\"text-anchor\":\"middle\"},transform:{rotate:n?-90:0,offset:0}})}}function Yt(){if(!n&&!Ae||n&&Ae){var er=e.select(\".\"+Vc.cbtitle),Ke=er.select(\"text\"),xt=[-l/2,l/2],bt=er.select(\".h\"+Ee._id+\"title-math-group\").node(),Lt=15.6;Ke.node()&&(Lt=parseInt(Ke.node().style.fontSize,10)*_me);var St;if(bt?(St=Ng.bBox(bt),ot=St.width,rt=St.height,rt>Lt&&(xt[1]-=(rt-Lt)/2)):Ke.node()&&!Ke.classed(Vc.jsPlaceholder)&&(St=Ng.bBox(Ke.node()),ot=St.width,rt=St.height),n){if(rt){if(rt+=5,M===\"top\")Ee.domain[1]-=rt/A.h,xt[1]*=-1;else{Ee.domain[0]+=rt/A.h;var Et=tmt.lineCount(Ke);xt[1]+=(1-Et)*Lt}er.attr(\"transform\",Ug(xt[0],xt[1])),Ee.setScale()}}else ot&&(M===\"right\"&&(Ee.domain[0]+=(ot+nt/2)/A.w),er.attr(\"transform\",Ug(xt[0],xt[1])),Ee.setScale())}e.selectAll(\".\"+Vc.cbfills+\",.\"+Vc.cblines).attr(\"transform\",n?Ug(0,Math.round(A.h*(1-Ee.domain[1]))):Ug(Math.round(A.w*Ee.domain[0]),0)),ct.attr(\"transform\",n?Ug(0,Math.round(-A.t)):Ug(Math.round(-A.l),0));var dt=e.select(\".\"+Vc.cbfills).selectAll(\"rect.\"+Vc.cbfill).attr(\"style\",\"\").data(V);dt.enter().append(\"rect\").classed(Vc.cbfill,!0).attr(\"style\",\"\"),dt.exit().remove();var Ht=g.map(Ee.c2p).map(Math.round).sort(function(Or,Nr){return Or-Nr});dt.each(function(Or,Nr){var ut=[Nr===0?g[0]:(V[Nr]+V[Nr-1])/2,Nr===V.length-1?g[1]:(V[Nr]+V[Nr+1])/2].map(Ee.c2p).map(Math.round);n&&(ut[1]=B0.constrain(ut[1]+(ut[1]>ut[0])?1:-1,Ht[0],Ht[1]));var Ne=T_.select(this).attr(n?\"x\":\"y\",_e).attr(n?\"y\":\"x\",T_.min(ut)).attr(n?\"width\":\"height\",Math.max(X,2)).attr(n?\"height\":\"width\",Math.max(T_.max(ut)-T_.min(ut),2));if(t._fillgradient)Ng.gradient(Ne,r,t._id,n?\"vertical\":\"horizontalreversed\",t._fillgradient,\"fill\");else{var Ye=T(Or).replace(\"e-\",\"\");Ne.attr(\"fill\",uV(Ye).toHexString())}});var $t=e.select(\".\"+Vc.cblines).selectAll(\"path.\"+Vc.cbline).data(_.color&&_.width?H:[]);$t.enter().append(\"path\").classed(Vc.cbline,!0),$t.exit().remove(),$t.each(function(Or){var Nr=_e,ut=Math.round(Ee.c2p(Or))+_.width/2%1;T_.select(this).attr(\"d\",\"M\"+(n?Nr+\",\"+ut:ut+\",\"+Nr)+(n?\"h\":\"v\")+X).call(Ng.lineGroupStyle,_.width,P(Or),_.dash)}),ct.selectAll(\"g.\"+Ee._id+\"tick,path\").remove();var fr=_e+X+(l||0)/2-(t.ticks===\"outside\"?1:0),_r=Ry.calcTicks(Ee),Br=Ry.getTickSigns(Ee)[2];return Ry.drawTicks(r,Ee,{vals:Ee.ticks===\"inside\"?Ry.clipEnds(Ee,_r):_r,layer:ct,path:Ry.makeTickPath(Ee,fr,Br),transFn:Ry.makeTransTickFn(Ee)}),Ry.drawLabels(r,Ee,{vals:_r,layer:ct,transFn:Ry.makeTransTickLabelFn(Ee),labelFns:Ry.makeLabelFns(Ee,fr)})}function xr(){var er,Ke=X+l/2;Ge.indexOf(\"inside\")===-1&&(er=Ng.bBox(ct.node()),Ke+=n?er.width:er.height),qt=ce.select(\"text\");var xt=0,bt=n&&M===\"top\",Lt=!n&&M===\"right\",St=0;if(qt.node()&&!qt.classed(Vc.jsPlaceholder)){var Et,dt=ce.select(\".h\"+Ee._id+\"title-math-group\").node();dt&&(n&&Ae||!n&&!Ae)?(er=Ng.bBox(dt),xt=er.width,Et=er.height):(er=Ng.bBox(ce.node()),xt=er.right-A.l-(n?_e:Te),Et=er.bottom-A.t-(n?Te:_e),!n&&M===\"top\"&&(Ke+=er.height,St=er.height)),Lt&&(qt.attr(\"transform\",Ug(xt/2+nt/2,0)),xt*=2),Ke=Math.max(Ke,n?xt:Et)}var Ht=(n?d:v)*2+Ke+u+l/2,$t=0;!n&&C.text&&h===\"bottom\"&&b<=0&&($t=Ht/2,Ht+=$t,St+=$t),k._hColorbarMoveTitle=$t,k._hColorbarMoveCBTitle=St;var fr=u+l,_r=(n?_e:Te)-fr/2-(n?d:0),Br=(n?Te:_e)-(n?N:v+St-$t);e.select(\".\"+Vc.cbbg).attr(\"x\",_r).attr(\"y\",Br).attr(n?\"width\":\"height\",Math.max(Ht-$t,2)).attr(n?\"height\":\"width\",Math.max(N+fr,2)).call(fV.fill,c).call(fV.stroke,t.bordercolor).style(\"stroke-width\",u);var Or=Lt?Math.max(xt-10,0):0;e.selectAll(\".\"+Vc.cboutline).attr(\"x\",(n?_e:Te+d)+Or).attr(\"y\",(n?Te+v-N:_e)+(bt?rt:0)).attr(n?\"width\":\"height\",Math.max(X,2)).attr(n?\"height\":\"width\",Math.max(N-(n?2*v+rt:2*d+Or),2)).call(fV.stroke,t.outlinecolor).style({fill:\"none\",\"stroke-width\":l});var Nr=n?Me*Ht:0,ut=n?0:(1-ke)*Ht-St;if(Nr=E?A.l-Nr:-Nr,ut=p?A.t-ut:-ut,e.attr(\"transform\",Ug(Nr,ut)),!n&&(u||uV(c).getAlpha()&&!uV.equals(k.paper_bgcolor,c))){var Ne=ct.selectAll(\"text\"),Ye=Ne[0].length,Ve=e.select(\".\"+Vc.cbbg).node(),Xe=Ng.bBox(Ve),ht=Ng.getTranslate(e),Le=2;Ne.each(function(ri,bi){var nn=0,Wi=Ye-1;if(bi===nn||bi===Wi){var Ni=Ng.bBox(this),_n=Ng.getTranslate(this),$i;if(bi===Wi){var zn=Ni.right+_n.x,Wn=Xe.right+ht.x+Te-u-Le+x;$i=Wn-zn,$i>0&&($i=0)}else if(bi===nn){var It=Ni.left+_n.x,ft=Xe.left+ht.x+Te+u+Le;$i=ft-It,$i<0&&($i=0)}$i&&(Ye<3?this.setAttribute(\"transform\",\"translate(\"+$i+\",0) \"+this.getAttribute(\"transform\")):this.setAttribute(\"visibility\",\"hidden\"))}})}var xe={},Se=xme[f],lt=bme[f],Gt=xme[h],Vt=bme[h],ar=Ht-X;n?(a===\"pixels\"?(xe.y=b,xe.t=N*Gt,xe.b=N*Vt):(xe.t=xe.b=0,xe.yt=b+i*Gt,xe.yb=b-i*Vt),s===\"pixels\"?(xe.x=x,xe.l=Ht*Se,xe.r=Ht*lt):(xe.l=ar*Se,xe.r=ar*lt,xe.xl=x-o*Se,xe.xr=x+o*lt)):(a===\"pixels\"?(xe.x=x,xe.l=N*Se,xe.r=N*lt):(xe.l=xe.r=0,xe.xl=x+i*Se,xe.xr=x-i*lt),s===\"pixels\"?(xe.y=1-b,xe.t=Ht*Gt,xe.b=Ht*Vt):(xe.t=ar*Gt,xe.b=ar*Vt,xe.yt=b-o*Gt,xe.yb=b+o*Vt));var Qr=t.y<.5?\"b\":\"t\",ai=t.x<.5?\"l\":\"r\";r._fullLayout._reservedMargin[t._id]={};var jr={r:k.width-_r-Nr,l:_r+xe.r,b:k.height-Br-ut,t:Br+xe.b};E&&p?II.autoMargin(r,t._id,xe):E?r._fullLayout._reservedMargin[t._id][Qr]=jr[Qr]:p||n?r._fullLayout._reservedMargin[t._id][ai]=jr[ai]:r._fullLayout._reservedMargin[t._id][Qr]=jr[Qr]}return B0.syncOrAsync([II.previousPromises,kt,Yt,Ct,II.previousPromises,xr],r)}function umt(e,t,r){var n=t.orientation===\"v\",i=r._fullLayout,a=i._size,o,s,l;PI.init({element:e.node(),gd:r,prepFn:function(){o=e.attr(\"transform\"),cV(e)},moveFn:function(u,c){e.attr(\"transform\",o+Ug(u,c)),s=PI.align((n?t._uFrac:t._vFrac)+u/a.w,n?t._thickFrac:t._lenFrac,0,1,t.xanchor),l=PI.align((n?t._vFrac:1-t._uFrac)-c/a.h,n?t._lenFrac:t._thickFrac,0,1,t.yanchor);var f=PI.getCursor(s,l,t.xanchor,t.yanchor);cV(e,f)},doneFn:function(){if(cV(e),s!==void 0&&l!==void 0){var u={};u[t._propPrefix+\"x\"]=s,u[t._propPrefix+\"y\"]=l,t._traceIndex!==void 0?yme.call(\"_guiRestyle\",r,u,t._traceIndex):yme.call(\"_guiRelayout\",r,u)}}})}function cmt(e,t,r){var n=t._levels,i=[],a=[],o,s,l=n.end+n.size/100,u=n.size,c=1.001*r[0]-.001*r[1],f=1.001*r[1]-.001*r[0];for(s=0;s<1e5&&(o=n.start+s*u,!(u>0?o>=l:o<=l));s++)o>c&&o<f&&i.push(o);if(t._fillgradient)a=[0];else if(typeof t._fillcolor==\"function\"){var h=t._filllevels;if(h)for(l=h.end+h.size/100,u=h.size,s=0;s<1e5&&(o=h.start+s*u,!(u>0?o>=l:o<=l));s++)o>r[0]&&o<r[1]&&a.push(o);else a=i.map(function(d){return d-n.size/2}),a.push(a[a.length-1]+n.size)}else t._fillcolor&&typeof t._fillcolor==\"string\"&&(a=[0]);return n.size<0&&(i.reverse(),a.reverse()),{line:i,fill:a}}function fmt(e,t,r){var n=e._fullLayout,i=t.orientation===\"v\",a={type:\"linear\",range:r,tickmode:t.tickmode,nticks:t.nticks,tick0:t.tick0,dtick:t.dtick,tickvals:t.tickvals,ticktext:t.ticktext,ticks:t.ticks,ticklen:t.ticklen,tickwidth:t.tickwidth,tickcolor:t.tickcolor,showticklabels:t.showticklabels,labelalias:t.labelalias,ticklabelposition:t.ticklabelposition,ticklabeloverflow:t.ticklabeloverflow,ticklabelstep:t.ticklabelstep,tickfont:t.tickfont,tickangle:t.tickangle,tickformat:t.tickformat,exponentformat:t.exponentformat,minexponent:t.minexponent,separatethousands:t.separatethousands,showexponent:t.showexponent,showtickprefix:t.showtickprefix,tickprefix:t.tickprefix,showticksuffix:t.showticksuffix,ticksuffix:t.ticksuffix,title:t.title,showline:!0,anchor:\"free\",side:i?\"right\":\"bottom\",position:1},o=i?\"y\":\"x\",s={type:\"linear\",_id:o+t._id},l={letter:o,font:n.font,noAutotickangles:o===\"y\",noHover:!0,noTickson:!0,noTicklabelmode:!0,noInsideRange:!0,calendar:n.calendar};function u(c,f){return B0.coerce(a,s,amt,c,f)}return imt(a,s,u,l,n),nmt(a,s,u,l),s}Tme.exports={draw:omt}});var Mme=ye((cor,Sme)=>{\"use strict\";Sme.exports={moduleType:\"component\",name:\"colorbar\",attributes:K6(),supplyDefaults:SO(),draw:Ame().draw,hasColorbar:yO()}});var kme=ye((hor,Eme)=>{\"use strict\";Eme.exports={moduleType:\"component\",name:\"legend\",layoutAttributes:yB(),supplyLayoutDefaults:bB(),draw:RB(),style:CB()}});var Lme=ye((dor,Cme)=>{\"use strict\";Cme.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\"}}});var Ime=ye((vor,Pme)=>{\"use strict\";Pme.exports={moduleType:\"locale\",name:\"en-US\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colorscale title\"},format:{date:\"%m/%d/%Y\"}}});var vV=ye((por,Fme)=>{\"use strict\";var hmt=ba(),zme=Mr(),dV=zme.extendFlat,Rme=zme.extendDeep;function Dme(e){var t;switch(e){case\"themes__thumb\":t={autosize:!0,width:150,height:150,title:{text:\"\"},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case\"thumbnail\":t={title:{text:\"\"},hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:\"\",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:t={}}return t}function dmt(e){var t=[\"xaxis\",\"yaxis\",\"zaxis\"];return t.indexOf(e.slice(0,5))>-1}Fme.exports=function(t,r){var n,i=t.data,a=t.layout,o=Rme([],i),s=Rme({},a,Dme(r.tileClass)),l=t._context||{};if(r.width&&(s.width=r.width),r.height&&(s.height=r.height),r.tileClass===\"thumbnail\"||r.tileClass===\"themes__thumb\"){s.annotations=[];var u=Object.keys(s);for(n=0;n<u.length;n++)dmt(u[n])&&(s[u[n]].title={text:\"\"});for(n=0;n<o.length;n++){var c=o[n];c.showscale=!1,c.marker&&(c.marker.showscale=!1),hmt.traceIs(c,\"pie-like\")&&(c.textposition=\"none\")}}if(Array.isArray(r.annotations))for(n=0;n<r.annotations.length;n++)s.annotations.push(r.annotations[n]);var f=Object.keys(s).filter(function(b){return b.match(/^scene\\d*$/)});if(f.length){var h={};for(r.tileClass===\"thumbnail\"&&(h={title:{text:\"\"},showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),n=0;n<f.length;n++){var d=s[f[n]];d.xaxis||(d.xaxis={}),d.yaxis||(d.yaxis={}),d.zaxis||(d.zaxis={}),dV(d.xaxis,h),dV(d.yaxis,h),dV(d.zaxis,h),d._scene=null}}var v=document.createElement(\"div\");r.tileClass&&(v.className=r.tileClass);var x={gd:v,td:v,layout:s,data:o,config:{staticPlot:r.staticPlot===void 0?!0:r.staticPlot,plotGlPixelRatio:r.plotGlPixelRatio===void 0?2:r.plotGlPixelRatio,displaylogo:r.displaylogo||!1,showLink:r.showLink||!1,showTips:r.showTips||!1,mapboxAccessToken:l.mapboxAccessToken}};return r.setBackground!==\"transparent\"&&(x.config.setBackground=r.setBackground||\"opaque\"),x.gd.defaultLayout=Dme(r.tileClass),x}});var Bme=ye((gor,Ome)=>{\"use strict\";var vmt=vb().EventEmitter,pmt=ba(),gmt=Mr(),qme=Ly(),mmt=vV(),ymt=BP(),_mt=NP();function xmt(e,t){var r=new vmt,n=mmt(e,{format:\"png\"}),i=n.gd;i.style.position=\"absolute\",i.style.left=\"-5000px\",document.body.appendChild(i);function a(){var s=qme.getDelay(i._fullLayout);setTimeout(function(){var l=ymt(i),u=document.createElement(\"canvas\");u.id=gmt.randstr(),r=_mt({format:t.format,width:i._fullLayout.width,height:i._fullLayout.height,canvas:u,emitter:r,svg:l}),r.clean=function(){i&&document.body.removeChild(i)}},s)}var o=qme.getRedrawFunc(i);return pmt.call(\"_doPlot\",i,n.data,n.layout,n.config).then(o).then(a).catch(function(s){r.emit(\"error\",s)}),r}Ome.exports=xmt});var Vme=ye((mor,Ume)=>{\"use strict\";var Nme=Ly(),bmt={getDelay:Nme.getDelay,getRedrawFunc:Nme.getRedrawFunc,clone:vV(),toSVG:BP(),svgToImg:NP(),toImage:Bme(),downloadImage:YN()};Ume.exports=bmt});var Gme=ye(Dy=>{\"use strict\";Dy.version=e6().version;iee();Wie();var wmt=ba(),u4=Dy.register=wmt.register,gV=hde(),Hme=Object.keys(gV);for(RI=0;RI<Hme.length;RI++)_T=Hme[RI],_T.charAt(0)!==\"_\"&&(Dy[_T]=gV[_T]),u4({moduleType:\"apiMethod\",name:_T,fn:gV[_T]});var _T,RI;u4(ope());u4([Ppe(),Gpe(),wf(),l0e(),b0e(),H0e(),uge(),kge(),Wge(),nV(),pme(),Mu(),Mme(),kme(),Nc(),nN()]);u4([Lme(),Ime()]);window.PlotlyLocales&&Array.isArray(window.PlotlyLocales)&&(u4(window.PlotlyLocales),delete window.PlotlyLocales);Dy.Icons=UL();var DI=Nc(),pV=Xu();Dy.Plots={resize:pV.resize,graphJson:pV.graphJson,sendDataToCloud:pV.sendDataToCloud};Dy.Fx={hover:DI.hover,unhover:DI.unhover,loneHover:DI.loneHover,loneUnhover:DI.loneUnhover};Dy.Snapshot=Vme();Dy.PlotSchema=_3()});var Wme=ye((_or,jme)=>{\"use strict\";jme.exports=Gme()});var Qb=ye((xor,Zme)=>{\"use strict\";Zme.exports={TEXTPAD:3,eventDataKeys:[\"value\",\"label\"]}});var Lm=ye((bor,Jme)=>{\"use strict\";var Tf=Uc(),Xme=Oc().axisHoverFormat,Tmt=Wo().hovertemplateAttrs,Amt=Wo().texttemplateAttrs,Kme=Jl(),Smt=Su(),Yme=Qb(),Mmt=Ed().pattern,e2=no().extendFlat,mV=Smt({editType:\"calc\",arrayOk:!0,colorEditType:\"style\"}),Emt=Tf.marker,kmt=Emt.line,Cmt=e2({},kmt.width,{dflt:0}),Lmt=e2({width:Cmt,editType:\"calc\"},Kme(\"marker.line\")),Pmt=e2({line:Lmt,editType:\"calc\"},Kme(\"marker\"),{opacity:{valType:\"number\",arrayOk:!0,dflt:1,min:0,max:1,editType:\"style\"},pattern:Mmt,cornerradius:{valType:\"any\",editType:\"calc\"}});Jme.exports={x:Tf.x,x0:Tf.x0,dx:Tf.dx,y:Tf.y,y0:Tf.y0,dy:Tf.dy,xperiod:Tf.xperiod,yperiod:Tf.yperiod,xperiod0:Tf.xperiod0,yperiod0:Tf.yperiod0,xperiodalignment:Tf.xperiodalignment,yperiodalignment:Tf.yperiodalignment,xhoverformat:Xme(\"x\"),yhoverformat:Xme(\"y\"),text:Tf.text,texttemplate:Amt({editType:\"plot\"},{keys:Yme.eventDataKeys}),hovertext:Tf.hovertext,hovertemplate:Tmt({},{keys:Yme.eventDataKeys}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"calc\"},insidetextanchor:{valType:\"enumerated\",values:[\"end\",\"middle\",\"start\"],dflt:\"end\",editType:\"plot\"},textangle:{valType:\"angle\",dflt:\"auto\",editType:\"plot\"},textfont:e2({},mV,{}),insidetextfont:e2({},mV,{}),outsidetextfont:e2({},mV,{}),constraintext:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"both\",\"none\"],dflt:\"both\",editType:\"calc\"},cliponaxis:e2({},Tf.cliponaxis,{}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},base:{valType:\"any\",dflt:null,arrayOk:!0,editType:\"calc\"},offset:{valType:\"number\",dflt:null,arrayOk:!0,editType:\"calc\"},width:{valType:\"number\",dflt:null,min:0,arrayOk:!0,editType:\"calc\"},marker:Pmt,offsetgroup:Tf.offsetgroup,alignmentgroup:Tf.alignmentgroup,selected:{marker:{opacity:Tf.selected.marker.opacity,color:Tf.selected.marker.color,editType:\"style\"},textfont:Tf.selected.textfont,editType:\"style\"},unselected:{marker:{opacity:Tf.unselected.marker.opacity,color:Tf.unselected.marker.color,editType:\"style\"},textfont:Tf.unselected.textfont,editType:\"style\"},zorder:Tf.zorder}});var zI=ye((wor,$me)=>{\"use strict\";$me.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\"}}});var FI=ye((Tor,tye)=>{\"use strict\";var Imt=va(),Qme=Dv().hasColorscale,eye=Uh(),Rmt=Mr().coercePattern;tye.exports=function(t,r,n,i,a){var o=n(\"marker.color\",i),s=Qme(t,\"marker\");s&&eye(t,r,a,n,{prefix:\"marker.\",cLetter:\"c\"}),n(\"marker.line.color\",Imt.defaultLine),Qme(t,\"marker.line\")&&eye(t,r,a,n,{prefix:\"marker.line.\",cLetter:\"c\"}),n(\"marker.line.width\"),n(\"marker.opacity\"),Rmt(n,\"marker.pattern\",o,s),n(\"selected.marker.color\"),n(\"unselected.marker.color\")}});var r0=ye((Aor,sye)=>{\"use strict\";var rye=uo(),xT=Mr(),iye=va(),Dmt=ba(),zmt=K3(),Fmt=Pg(),qmt=FI(),Omt=Hb(),nye=Lm(),qI=xT.coerceFont;function Bmt(e,t,r,n){function i(u,c){return xT.coerce(e,t,nye,u,c)}var a=zmt(e,t,n,i);if(!a){t.visible=!1;return}Fmt(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\"),i(\"zorder\"),i(\"orientation\",t.x&&!t.y?\"h\":\"v\"),i(\"base\"),i(\"offset\"),i(\"width\"),i(\"text\"),i(\"hovertext\"),i(\"hovertemplate\");var o=i(\"textposition\");oye(e,t,n,i,o,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),qmt(e,t,i,r,n);var s=(t.marker.line||{}).color,l=Dmt.getComponentMethod(\"errorbars\",\"supplyDefaults\");l(e,t,s||iye.defaultLine,{axis:\"y\"}),l(e,t,s||iye.defaultLine,{axis:\"x\",inherit:\"y\"}),xT.coerceSelectionMarkerOpacity(t,i)}function Nmt(e,t){var r,n;function i(s,l){return xT.coerce(n._input,n,nye,s,l)}for(var a=0;a<e.length;a++)if(n=e[a],n.type===\"bar\"){r=n._input;var o=i(\"marker.cornerradius\",t.barcornerradius);n.marker&&(n.marker.cornerradius=aye(o)),Omt(r,n,t,i,t.barmode)}}function aye(e){if(rye(e)){if(e=+e,e>=0)return e}else if(typeof e==\"string\"&&(e=e.trim(),e.slice(-1)===\"%\"&&rye(e.slice(0,-1))&&(e=+e.slice(0,-1),e>=0)))return e+\"%\"}function oye(e,t,r,n,i,a){a=a||{};var o=a.moduleHasSelected!==!1,s=a.moduleHasUnselected!==!1,l=a.moduleHasConstrain!==!1,u=a.moduleHasCliponaxis!==!1,c=a.moduleHasTextangle!==!1,f=a.moduleHasInsideanchor!==!1,h=!!a.hasPathbar,d=Array.isArray(i)||i===\"auto\",v=d||i===\"inside\",x=d||i===\"outside\";if(v||x){var b=qI(n,\"textfont\",r.font),p=xT.extendFlat({},b),E=e.textfont&&e.textfont.color,k=!E;if(k&&delete p.color,qI(n,\"insidetextfont\",p),h){var A=xT.extendFlat({},b);k&&delete A.color,qI(n,\"pathbar.textfont\",A)}x&&qI(n,\"outsidetextfont\",b),o&&n(\"selected.textfont.color\"),s&&n(\"unselected.textfont.color\"),l&&n(\"constraintext\"),u&&n(\"cliponaxis\"),c&&n(\"textangle\"),n(\"texttemplate\")}v&&f&&n(\"insidetextanchor\")}sye.exports={supplyDefaults:Bmt,crossTraceDefaults:Nmt,handleText:oye,validateCornerradius:aye}});var yV=ye((Sor,lye)=>{\"use strict\";var Umt=ba(),Vmt=Qa(),Hmt=Mr(),Gmt=zI(),jmt=r0().validateCornerradius;lye.exports=function(e,t,r){function n(x,b){return Hmt.coerce(e,t,Gmt,x,b)}for(var i=!1,a=!1,o=!1,s={},l=n(\"barmode\"),u=l===\"group\",c=0;c<r.length;c++){var f=r[c];if(Umt.traceIs(f,\"bar\")&&f.visible)i=!0;else continue;var h=f.xaxis+f.yaxis;if(u?(s[h]&&(o=!0),s[h]=!0):(h+=f._input.offsetgroup,s.length>0&&!s[h]&&(o=!0),s[h]=!0),f.visible&&f.type===\"histogram\"){var d=Vmt.getFromId({_fullLayout:t},f[f.orientation===\"v\"?\"xaxis\":\"yaxis\"]);d.type!==\"category\"&&(a=!0)}}if(!i){delete t.barmode;return}l!==\"overlay\"&&n(\"barnorm\"),n(\"bargap\",a&&!o?0:.2),n(\"bargroupgap\");var v=n(\"barcornerradius\");t.barcornerradius=jmt(v)}});var c4=ye((Mor,uye)=>{\"use strict\";var bT=Mr();uye.exports=function(t,r){for(var n=0;n<t.length;n++)t[n].i=n;bT.mergeArray(r.text,t,\"tx\"),bT.mergeArray(r.hovertext,t,\"htx\");var i=r.marker;if(i){bT.mergeArray(i.opacity,t,\"mo\",!0),bT.mergeArray(i.color,t,\"mc\");var a=i.line;a&&(bT.mergeArray(a.color,t,\"mlc\"),bT.mergeArrayCastPositive(a.width,t,\"mlw\"))}}});var pye=ye((Eor,vye)=>{\"use strict\";var cye=Qa(),fye=Rg(),hye=Dv().hasColorscale,dye=zv(),Wmt=c4(),Zmt=F0();vye.exports=function(t,r){var n=cye.getFromId(t,r.xaxis||\"x\"),i=cye.getFromId(t,r.yaxis||\"y\"),a,o,s,l,u,c,f={msUTC:!!(r.base||r.base===0)};r.orientation===\"h\"?(a=n.makeCalcdata(r,\"x\",f),s=i.makeCalcdata(r,\"y\"),l=fye(r,i,\"y\",s),u=!!r.yperiodalignment,c=\"y\"):(a=i.makeCalcdata(r,\"y\",f),s=n.makeCalcdata(r,\"x\"),l=fye(r,n,\"x\",s),u=!!r.xperiodalignment,c=\"x\"),o=l.vals;for(var h=Math.min(o.length,a.length),d=new Array(h),v=0;v<h;v++)d[v]={p:o[v],s:a[v]},u&&(d[v].orig_p=s[v],d[v][c+\"End\"]=l.ends[v],d[v][c+\"Start\"]=l.starts[v]),r.ids&&(d[v].id=String(r.ids[v]));return hye(r,\"marker\")&&dye(t,r,{vals:r.marker.color,containerStr:\"marker\",cLetter:\"c\"}),hye(r,\"marker.line\")&&dye(t,r,{vals:r.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}),Wmt(d,r),Zmt(d,r),d}});var _v=ye((kor,mye)=>{\"use strict\";var Xmt=xa(),Ymt=Mr();function Kmt(e,t,r){var n=e._fullLayout,i=n[\"_\"+r+\"Text_minsize\"];if(i){var a=n.uniformtext.mode===\"hide\",o;switch(r){case\"funnelarea\":case\"pie\":case\"sunburst\":o=\"g.slice\";break;case\"treemap\":case\"icicle\":o=\"g.slice, g.pathbar\";break;default:o=\"g.points > g.point\"}t.selectAll(o).each(function(s){var l=s.transform;if(l){l.scale=a&&l.hide?0:i/l.fontSize;var u=Xmt.select(this).select(\"text\");Ymt.setTransormAndDisplay(u,l)}})}}function Jmt(e,t,r){if(r.uniformtext.mode){var n=gye(e),i=r.uniformtext.minsize,a=t.scale*t.fontSize;t.hide=a<i,r[n]=r[n]||1/0,t.hide||(r[n]=Math.min(r[n],Math.max(a,i)))}}function $mt(e,t){var r=gye(e);t[r]=void 0}function gye(e){return\"_\"+e+\"Text_minsize\"}mye.exports={recordMinTextSize:Jmt,clearMinTextSize:$mt,resizeText:Kmt}});var OI=ye(t2=>{\"use strict\";var Qmt=uo(),eyt=id(),yye=Mr().isArrayOrTypedArray;t2.coerceString=function(e,t,r){if(typeof t==\"string\"){if(t||!e.noBlank)return t}else if((typeof t==\"number\"||t===!0)&&!e.strict)return String(t);return r!==void 0?r:e.dflt};t2.coerceNumber=function(e,t,r){if(Qmt(t)){t=+t;var n=e.min,i=e.max,a=n!==void 0&&t<n||i!==void 0&&t>i;if(!a)return t}return r!==void 0?r:e.dflt};t2.coerceColor=function(e,t,r){return eyt(t).isValid()?t:r!==void 0?r:e.dflt};t2.coerceEnumerated=function(e,t,r){return e.coerceNumber&&(t=+t),e.values.indexOf(t)!==-1?t:r!==void 0?r:e.dflt};t2.getValue=function(e,t){var r;return yye(e)?t<e.length&&(r=e[t]):r=e,r};t2.getLineWidth=function(e,t){var r=0<t.mlw?t.mlw:yye(e.marker.line.width)?0:e.marker.line.width;return r}});var N0=ye((Lor,Cye)=>{\"use strict\";var f4=xa(),tyt=va(),h4=ao(),_ye=Mr(),xye=ba(),bye=_v().resizeText,_V=Lm(),ryt=_V.textfont,iyt=_V.insidetextfont,nyt=_V.outsidetextfont,Jd=OI();function ayt(e){var t=f4.select(e).selectAll('g[class^=\"barlayer\"]').selectAll(\"g.trace\");bye(e,t,\"bar\");var r=t.size(),n=e._fullLayout;t.style(\"opacity\",function(i){return i[0].trace.opacity}).each(function(i){(n.barmode===\"stack\"&&r>1||n.bargap===0&&n.bargroupgap===0&&!i[0].trace.marker.line.width)&&f4.select(this).attr(\"shape-rendering\",\"crispEdges\")}),t.selectAll(\"g.points\").each(function(i){var a=f4.select(this),o=i[0].trace;wye(a,o,e)}),xye.getComponentMethod(\"errorbars\",\"style\")(t)}function wye(e,t,r){h4.pointStyle(e.selectAll(\"path\"),t,r),Tye(e,t,r)}function Tye(e,t,r){e.selectAll(\"text\").each(function(n){var i=f4.select(this),a=_ye.ensureUniformFontSize(r,Aye(i,n,t,r));h4.font(i,a)})}function oyt(e,t,r){var n=t[0].trace;n.selectedpoints?syt(r,n,e):(wye(r,n,e),xye.getComponentMethod(\"errorbars\",\"style\")(r))}function syt(e,t,r){h4.selectedPointStyle(e.selectAll(\"path\"),t),lyt(e.selectAll(\"text\"),t,r)}function lyt(e,t,r){e.each(function(n){var i=f4.select(this),a;if(n.selected){a=_ye.ensureUniformFontSize(r,Aye(i,n,t,r));var o=t.selected.textfont&&t.selected.textfont.color;o&&(a.color=o),h4.font(i,a)}else h4.selectedTextStyle(i,t)})}function Aye(e,t,r,n){var i=n._fullLayout.font,a=r.textfont;if(e.classed(\"bartext-inside\")){var o=kye(t,r);a=Mye(r,t.i,i,o)}else e.classed(\"bartext-outside\")&&(a=Eye(r,t.i,i));return a}function Sye(e,t,r){return xV(ryt,e.textfont,t,r)}function Mye(e,t,r,n){var i=Sye(e,t,r),a=e._input.textfont===void 0||e._input.textfont.color===void 0||Array.isArray(e.textfont.color)&&e.textfont.color[t]===void 0;return a&&(i={color:tyt.contrast(n),family:i.family,size:i.size,weight:i.weight,style:i.style,variant:i.variant,textcase:i.textcase,lineposition:i.lineposition,shadow:i.shadow}),xV(iyt,e.insidetextfont,t,i)}function Eye(e,t,r){var n=Sye(e,t,r);return xV(nyt,e.outsidetextfont,t,n)}function xV(e,t,r,n){t=t||{};var i=Jd.getValue(t.family,r),a=Jd.getValue(t.size,r),o=Jd.getValue(t.color,r),s=Jd.getValue(t.weight,r),l=Jd.getValue(t.style,r),u=Jd.getValue(t.variant,r),c=Jd.getValue(t.textcase,r),f=Jd.getValue(t.lineposition,r),h=Jd.getValue(t.shadow,r);return{family:Jd.coerceString(e.family,i,n.family),size:Jd.coerceNumber(e.size,a,n.size),color:Jd.coerceColor(e.color,o,n.color),weight:Jd.coerceString(e.weight,s,n.weight),style:Jd.coerceString(e.style,l,n.style),variant:Jd.coerceString(e.variant,u,n.variant),textcase:Jd.coerceString(e.variant,c,n.textcase),lineposition:Jd.coerceString(e.variant,f,n.lineposition),shadow:Jd.coerceString(e.variant,h,n.shadow)}}function kye(e,t){return t.type===\"waterfall\"?t[e.dir].marker.color:e.mcc||e.mc||t.marker.color}Cye.exports={style:ayt,styleTextPoints:Tye,styleOnSelect:oyt,getInsideTextFont:Mye,getOutsideTextFont:Eye,getBarColor:kye,resizeText:bye}});var i2=ye((Por,qye)=>{\"use strict\";var BI=xa(),NI=uo(),Pd=Mr(),uyt=Pl(),cyt=va(),A_=ao(),fyt=ba(),UI=Qa().tickText,Lye=_v(),hyt=Lye.recordMinTextSize,dyt=Lye.clearMinTextSize,bV=N0(),wT=OI(),vyt=Qb(),Pye=Lm(),pyt=Pye.text,gyt=Pye.textposition,myt=rp().appendArrayPointValue,Uv=vyt.TEXTPAD;function yyt(e){return e.id}function _yt(e){if(e.ids)return yyt}function wV(e){return(e>0)-(e<0)}function Pm(e,t){return e<t?1:-1}function xyt(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),n?[i,a]:[a,i]}function Iye(e,t,r,n){if(!t.uniformtext.mode&&Rye(r)){var i;return n&&(i=n()),e.transition().duration(r.duration).ease(r.easing).each(\"end\",function(){i&&i()}).each(\"interrupt\",function(){i&&i()})}else return e}function Rye(e){return e&&e.duration>0}function byt(e,t,r,n,i,a){var o=t.xaxis,s=t.yaxis,l=e._fullLayout,u=e._context.staticPlot;i||(i={mode:l.barmode,norm:l.barmode,gap:l.bargap,groupgap:l.bargroupgap},dyt(\"bar\",l));var c=Pd.makeTraceGroups(n,r,\"trace bars\").each(function(f){var h=BI.select(this),d=f[0].trace,v=f[0].t,x=d.type===\"waterfall\",b=d.type===\"funnel\",p=d.type===\"histogram\",E=d.type===\"bar\",k=E||b,A=0;x&&d.connector.visible&&d.connector.mode===\"between\"&&(A=d.connector.line.width/2);var L=d.orientation===\"h\",_=Rye(i),C=Pd.ensureSingle(h,\"g\",\"points\"),M=_yt(d),g=C.selectAll(\"g.point\").data(Pd.identity,M);g.enter().append(\"g\").classed(\"point\",!0),g.exit().remove(),g.each(function(T,F){var q=BI.select(this),V=xyt(T,o,s,L),H=V[0][0],X=V[0][1],G=V[1][0],N=V[1][1],W=(L?X-H:N-G)===0;W&&k&&wT.getLineWidth(d,T)&&(W=!1),W||(W=!NI(H)||!NI(X)||!NI(G)||!NI(N)),T.isBlank=W,W&&(L?X=H:N=G),A&&!W&&(L?(H-=Pm(H,X)*A,X+=Pm(H,X)*A):(G-=Pm(G,N)*A,N+=Pm(G,N)*A));var re,ae;if(d.type===\"waterfall\"){if(!W){var _e=d[T.dir].marker;re=_e.line.width,ae=_e.color}}else re=wT.getLineWidth(d,T),ae=T.mc||d.marker.color;function Me(Ke){var xt=BI.round(re/2%1,2);return i.gap===0&&i.groupgap===0?BI.round(Math.round(Ke)-xt,2):Ke}function ke(Ke,xt,bt){return bt&&Ke===xt?Ke:Math.abs(Ke-xt)>=2?Me(Ke):Ke>xt?Math.ceil(Ke):Math.floor(Ke)}var ge=cyt.opacity(ae),ie=ge<1||re>.01?Me:ke;e._context.staticPlot||(H=ie(H,X,L),X=ie(X,H,L),G=ie(G,N,!L),N=ie(N,G,!L));var Te=L?o.c2p:s.c2p,Ee;T.s0>0?Ee=T._sMax:T.s0<0?Ee=T._sMin:Ee=T.s1>0?T._sMax:T._sMin;function Ae(Ke,xt){if(!Ke)return 0;var bt=Math.abs(L?N-G:X-H),Lt=Math.abs(L?X-H:N-G),St=ie(Math.abs(Te(Ee,!0)-Te(0,!0))),Et=T.hasB?Math.min(bt/2,Lt/2):Math.min(bt/2,St),dt;if(xt===\"%\"){var Ht=Math.min(50,Ke);dt=bt*(Ht/100)}else dt=Ke;return ie(Math.max(Math.min(dt,Et),0))}var ze=E||p?Ae(v.cornerradiusvalue,v.cornerradiusform):0,Ce,me,Re=\"M\"+H+\",\"+G+\"V\"+N+\"H\"+X+\"V\"+G+\"Z\",ce=0;if(ze&&T.s){var Ge=wV(T.s0)===0||wV(T.s)===wV(T.s0)?T.s1:T.s0;if(ce=ie(T.hasB?0:Math.abs(Te(Ee,!0)-Te(Ge,!0))),ce<ze){var nt=Pm(H,X),ct=Pm(G,N),qt=nt===-ct?1:0;if(L)if(T.hasB)Ce=\"M\"+(H+ze*nt)+\",\"+G+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+H+\",\"+(G+ze*ct)+\"V\"+(N-ze*ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(H+ze*nt)+\",\"+N+\"H\"+(X-ze*nt)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+X+\",\"+(N-ze*ct)+\"V\"+(G+ze*ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(X-ze*nt)+\",\"+G+\"Z\";else{me=Math.abs(X-H)+ce;var rt=me<ze?ze-Math.sqrt(me*(2*ze-me)):0,ot=ce>0?Math.sqrt(ce*(2*ze-ce)):0,Rt=nt>0?Math.max:Math.min;Ce=\"M\"+H+\",\"+G+\"V\"+(N-rt*ct)+\"H\"+Rt(X-(ze-ce)*nt,H)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+X+\",\"+(N-ze*ct-ot)+\"V\"+(G+ze*ct+ot)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+Rt(X-(ze-ce)*nt,H)+\",\"+(G+rt*ct)+\"Z\"}else if(T.hasB)Ce=\"M\"+(H+ze*nt)+\",\"+G+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+H+\",\"+(G+ze*ct)+\"V\"+(N-ze*ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(H+ze*nt)+\",\"+N+\"H\"+(X-ze*nt)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+X+\",\"+(N-ze*ct)+\"V\"+(G+ze*ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(X-ze*nt)+\",\"+G+\"Z\";else{me=Math.abs(N-G)+ce;var kt=me<ze?ze-Math.sqrt(me*(2*ze-me)):0,Ct=ce>0?Math.sqrt(ce*(2*ze-ce)):0,Yt=ct>0?Math.max:Math.min;Ce=\"M\"+(H+kt*nt)+\",\"+G+\"V\"+Yt(N-(ze-ce)*ct,G)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(H+ze*nt-Ct)+\",\"+N+\"H\"+(X-ze*nt+Ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(X-kt*nt)+\",\"+Yt(N-(ze-ce)*ct,G)+\"V\"+G+\"Z\"}}else Ce=Re}else Ce=Re;var xr=Iye(Pd.ensureSingle(q,\"path\"),l,i,a);if(xr.style(\"vector-effect\",u?\"none\":\"non-scaling-stroke\").attr(\"d\",isNaN((X-H)*(N-G))||W&&e._context.staticPlot?\"M0,0Z\":Ce).call(A_.setClipUrl,t.layerClipId,e),!l.uniformtext.mode&&_){var er=A_.makePointStyleFns(d);A_.singlePointStyle(T,xr,d,er,e)}wyt(e,t,q,f,F,H,X,G,N,ze,ce,i,a),t.layerClipId&&A_.hideOutsideRangePoint(T,q.select(\"text\"),o,s,d.xcalendar,d.ycalendar)});var P=d.cliponaxis===!1;A_.setClipUrl(h,P?null:t.layerClipId,e)});fyt.getComponentMethod(\"errorbars\",\"plot\")(e,c,t,i)}function wyt(e,t,r,n,i,a,o,s,l,u,c,f,h){var d=t.xaxis,v=t.yaxis,x=e._fullLayout,b;function p(me,Re,ce){var Ge=Pd.ensureSingle(me,\"text\").text(Re).attr({class:\"bartext bartext-\"+b,\"text-anchor\":\"middle\",\"data-notex\":1}).call(A_.font,ce).call(uyt.convertToTspans,e);return Ge}var E=n[0].trace,k=E.orientation===\"h\",A=Syt(x,n,i,d,v);b=Myt(E,i);var L=f.mode===\"stack\"||f.mode===\"relative\",_=n[i],C=!L||_._outmost,M=_.hasB,g=u&&u-c>Uv;if(!A||b===\"none\"||(_.isBlank||a===o||s===l)&&(b===\"auto\"||b===\"inside\")){r.select(\"text\").remove();return}var P=x.font,T=bV.getBarColor(n[i],E),F=bV.getInsideTextFont(E,i,P,T),q=bV.getOutsideTextFont(E,i,P),V=E.insidetextanchor||\"end\",H=r.datum();k?d.type===\"log\"&&H.s0<=0&&(d.range[0]<d.range[1]?a=0:a=d._length):v.type===\"log\"&&H.s0<=0&&(v.range[0]<v.range[1]?s=v._length:s=0);var X=Math.abs(o-a),G=Math.abs(l-s),N=X-2*Uv,W=G-2*Uv,re,ae,_e,Me,ke;if(b===\"outside\"&&!C&&!_.hasB&&(b=\"inside\"),b===\"auto\")if(C){b=\"inside\",ke=Pd.ensureUniformFontSize(e,F),re=p(r,A,ke),ae=A_.bBox(re.node()),_e=ae.width,Me=ae.height;var ge=_e>0&&Me>0,ie;g?M?ie=r2(N-2*u,W,_e,Me,k)||r2(N,W-2*u,_e,Me,k):k?ie=r2(N-(u-c),W,_e,Me,k)||r2(N,W-2*(u-c),_e,Me,k):ie=r2(N,W-(u-c),_e,Me,k)||r2(N-2*(u-c),W,_e,Me,k):ie=r2(N,W,_e,Me,k),ge&&ie?b=\"inside\":(b=\"outside\",re.remove(),re=null)}else b=\"inside\";if(!re){ke=Pd.ensureUniformFontSize(e,b===\"outside\"?q:F),re=p(r,A,ke);var Te=re.attr(\"transform\");if(re.attr(\"transform\",\"\"),ae=A_.bBox(re.node()),_e=ae.width,Me=ae.height,re.attr(\"transform\",Te),_e<=0||Me<=0){re.remove();return}}var Ee=E.textangle,Ae,ze;b===\"outside\"?(ze=E.constraintext===\"both\"||E.constraintext===\"outside\",Ae=Ayt(a,o,s,l,ae,{isHorizontal:k,constrained:ze,angle:Ee})):(ze=E.constraintext===\"both\"||E.constraintext===\"inside\",Ae=Fye(a,o,s,l,ae,{isHorizontal:k,constrained:ze,angle:Ee,anchor:V,hasB:M,r:u,overhead:c})),Ae.fontSize=ke.size,hyt(E.type===\"histogram\"?\"bar\":E.type,Ae,x),_.transform=Ae;var Ce=Iye(re,x,f,h);Pd.setTransormAndDisplay(Ce,Ae)}function r2(e,t,r,n,i){if(e<0||t<0)return!1;var a=r<=e&&n<=t,o=r<=t&&n<=e,s=i?e>=r*(t/n):t>=n*(e/r);return a||o||s}function Dye(e){return e===\"auto\"?0:e}function zye(e,t){var r=Math.PI/180*t,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:e.width*i+e.height*n,y:e.width*n+e.height*i}}function Fye(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=a.anchor,c=u===\"end\",f=u===\"start\",h=a.leftToRight||0,d=(h+1)/2,v=1-d,x=a.hasB,b=a.r,p=a.overhead,E=i.width,k=i.height,A=Math.abs(t-e),L=Math.abs(n-r),_=A>2*Uv&&L>2*Uv?Uv:0;A-=2*_,L-=2*_;var C=Dye(l);l===\"auto\"&&!(E<=A&&k<=L)&&(E>A||k>L)&&(!(E>L||k>A)||E<k!=A<L)&&(C+=90);var M=zye(i,C),g,P;if(b&&b-p>Uv){var T=Tyt(e,t,r,n,M,b,p,o,x);g=T.scale,P=T.pad}else g=1,s&&(g=Math.min(1,A/M.x,L/M.y)),P=0;var F=i.left*v+i.right*d,q=(i.top+i.bottom)/2,V=(e+Uv)*v+(t-Uv)*d,H=(r+n)/2,X=0,G=0;if(f||c){var N=(o?M.x:M.y)/2;b&&(c||x)&&(_+=P);var W=o?Pm(e,t):Pm(r,n);o?f?(V=e+W*_,X=-W*N):(V=t-W*_,X=W*N):f?(H=r+W*_,G=-W*N):(H=n-W*_,G=W*N)}return{textX:F,textY:q,targetX:V,targetY:H,anchorX:X,anchorY:G,scale:g,rotate:C}}function Tyt(e,t,r,n,i,a,o,s,l){var u=Math.max(0,Math.abs(t-e)-2*Uv),c=Math.max(0,Math.abs(n-r)-2*Uv),f=a-Uv,h=o?f-Math.sqrt(f*f-(f-o)*(f-o)):f,d=l?f*2:s?f-o:2*h,v=l?f*2:s?2*h:f-o,x,b,p,E,k;return i.y/i.x>=c/(u-d)?E=c/i.y:i.y/i.x<=(c-v)/u?E=u/i.x:!l&&s?(x=i.x*i.x+i.y*i.y/4,b=-2*i.x*(u-f)-i.y*(c/2-f),p=(u-f)*(u-f)+(c/2-f)*(c/2-f)-f*f,E=(-b+Math.sqrt(b*b-4*x*p))/(2*x)):l?(x=(i.x*i.x+i.y*i.y)/4,b=-i.x*(u/2-f)-i.y*(c/2-f),p=(u/2-f)*(u/2-f)+(c/2-f)*(c/2-f)-f*f,E=(-b+Math.sqrt(b*b-4*x*p))/(2*x)):(x=i.x*i.x/4+i.y*i.y,b=-i.x*(u/2-f)-2*i.y*(c-f),p=(u/2-f)*(u/2-f)+(c-f)*(c-f)-f*f,E=(-b+Math.sqrt(b*b-4*x*p))/(2*x)),E=Math.min(1,E),s?k=Math.max(0,f-Math.sqrt(Math.max(0,f*f-(f-(c-i.y*E)/2)*(f-(c-i.y*E)/2)))-o):k=Math.max(0,f-Math.sqrt(Math.max(0,f*f-(f-(u-i.x*E)/2)*(f-(u-i.x*E)/2)))-o),{scale:E,pad:k}}function Ayt(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=i.width,c=i.height,f=Math.abs(t-e),h=Math.abs(n-r),d;o?d=h>2*Uv?Uv:0:d=f>2*Uv?Uv:0;var v=1;s&&(v=o?Math.min(1,h/c):Math.min(1,f/u));var x=Dye(l),b=zye(i,x),p=(o?b.x:b.y)/2,E=(i.left+i.right)/2,k=(i.top+i.bottom)/2,A=(e+t)/2,L=(r+n)/2,_=0,C=0,M=o?Pm(t,e):Pm(r,n);return o?(A=t-M*d,_=M*p):(L=n+M*d,C=-M*p),{textX:E,textY:k,targetX:A,targetY:L,anchorX:_,anchorY:C,scale:v,rotate:x}}function Syt(e,t,r,n,i){var a=t[0].trace,o=a.texttemplate,s;return o?s=Eyt(e,t,r,n,i):a.textinfo?s=kyt(t,r,n,i):s=wT.getValue(a.text,r),wT.coerceString(pyt,s)}function Myt(e,t){var r=wT.getValue(e.textposition,t);return wT.coerceEnumerated(gyt,r)}function Eyt(e,t,r,n,i){var a=t[0].trace,o=Pd.castOption(a,r,\"texttemplate\");if(!o)return\"\";var s=a.type===\"histogram\",l=a.type===\"waterfall\",u=a.type===\"funnel\",c=a.orientation===\"h\",f,h,d,v;c?(f=\"y\",h=i,d=\"x\",v=n):(f=\"x\",h=n,d=\"y\",v=i);function x(_){return UI(h,h.c2l(_),!0).text}function b(_){return UI(v,v.c2l(_),!0).text}var p=t[r],E={};E.label=p.p,E.labelLabel=E[f+\"Label\"]=x(p.p);var k=Pd.castOption(a,p.i,\"text\");(k===0||k)&&(E.text=k),E.value=p.s,E.valueLabel=E[d+\"Label\"]=b(p.s);var A={};myt(A,a,p.i),(s||A.x===void 0)&&(A.x=c?E.value:E.label),(s||A.y===void 0)&&(A.y=c?E.label:E.value),(s||A.xLabel===void 0)&&(A.xLabel=c?E.valueLabel:E.labelLabel),(s||A.yLabel===void 0)&&(A.yLabel=c?E.labelLabel:E.valueLabel),l&&(E.delta=+p.rawS||p.s,E.deltaLabel=b(E.delta),E.final=p.v,E.finalLabel=b(E.final),E.initial=E.final-E.delta,E.initialLabel=b(E.initial)),u&&(E.value=p.s,E.valueLabel=b(E.value),E.percentInitial=p.begR,E.percentInitialLabel=Pd.formatPercent(p.begR),E.percentPrevious=p.difR,E.percentPreviousLabel=Pd.formatPercent(p.difR),E.percentTotal=p.sumR,E.percenTotalLabel=Pd.formatPercent(p.sumR));var L=Pd.castOption(a,p.i,\"customdata\");return L&&(E.customdata=L),Pd.texttemplateString(o,E,e._d3locale,A,E,a._meta||{})}function kyt(e,t,r,n){var i=e[0].trace,a=i.orientation===\"h\",o=i.type===\"waterfall\",s=i.type===\"funnel\";function l(L){var _=a?n:r;return UI(_,L,!0).text}function u(L){var _=a?r:n;return UI(_,+L,!0).text}var c=i.textinfo,f=e[t],h=c.split(\"+\"),d=[],v,x=function(L){return h.indexOf(L)!==-1};if(x(\"label\")&&d.push(l(e[t].p)),x(\"text\")&&(v=Pd.castOption(i,f.i,\"text\"),(v===0||v)&&d.push(v)),o){var b=+f.rawS||f.s,p=f.v,E=p-b;x(\"initial\")&&d.push(u(E)),x(\"delta\")&&d.push(u(b)),x(\"final\")&&d.push(u(p))}if(s){x(\"value\")&&d.push(u(f.s));var k=0;x(\"percent initial\")&&k++,x(\"percent previous\")&&k++,x(\"percent total\")&&k++;var A=k>1;x(\"percent initial\")&&(v=Pd.formatPercent(f.begR),A&&(v+=\" of initial\"),d.push(v)),x(\"percent previous\")&&(v=Pd.formatPercent(f.difR),A&&(v+=\" of previous\"),d.push(v)),x(\"percent total\")&&(v=Pd.formatPercent(f.sumR),A&&(v+=\" of total\"),d.push(v))}return d.join(\"<br>\")}qye.exports={plot:byt,toMoveInsideBar:Fye}});var TT=ye((Ior,Uye)=>{\"use strict\";var d4=Nc(),Cyt=ba(),Oye=va(),Lyt=Mr().fillText,Pyt=OI().getLineWidth,TV=Qa().hoverLabelText,Iyt=es().BADNUM;function Ryt(e,t,r,n,i){var a=Bye(e,t,r,n,i);if(a){var o=a.cd,s=o[0].trace,l=o[a.index];return a.color=Nye(s,l),Cyt.getComponentMethod(\"errorbars\",\"hoverInfo\")(l,s,a),[a]}}function Bye(e,t,r,n,i){var a=e.cd,o=a[0].trace,s=a[0].t,l=n===\"closest\",u=o.type===\"waterfall\",c=e.maxHoverDistance,f=e.maxSpikeDistance,h,d,v,x,b,p,E;o.orientation===\"h\"?(h=r,d=t,v=\"y\",x=\"x\",b=H,p=F):(h=t,d=r,v=\"x\",x=\"y\",p=H,b=F);var k=o[v+\"period\"],A=l||k;function L(ie){return C(ie,-1)}function _(ie){return C(ie,1)}function C(ie,Te){var Ee=ie.w;return ie[v]+Te*Ee/2}function M(ie){return ie[v+\"End\"]-ie[v+\"Start\"]}var g=l?L:k?function(ie){return ie.p-M(ie)/2}:function(ie){return Math.min(L(ie),ie.p-s.bardelta/2)},P=l?_:k?function(ie){return ie.p+M(ie)/2}:function(ie){return Math.max(_(ie),ie.p+s.bardelta/2)};function T(ie,Te,Ee){return i.finiteRange&&(Ee=0),d4.inbox(ie-h,Te-h,Ee+Math.min(1,Math.abs(Te-ie)/E)-1)}function F(ie){return T(g(ie),P(ie),c)}function q(ie){return T(L(ie),_(ie),f)}function V(ie){var Te=ie[x];if(u){var Ee=Math.abs(ie.rawS)||0;d>0?Te+=Ee:d<0&&(Te-=Ee)}return Te}function H(ie){var Te=d,Ee=ie.b,Ae=V(ie);return d4.inbox(Ee-Te,Ae-Te,c+(Ae-Te)/(Ae-Ee)-1)}function X(ie){var Te=d,Ee=ie.b,Ae=V(ie);return d4.inbox(Ee-Te,Ae-Te,f+(Ae-Te)/(Ae-Ee)-1)}var G=e[v+\"a\"],N=e[x+\"a\"];E=Math.abs(G.r2c(G.range[1])-G.r2c(G.range[0]));function W(ie){return(b(ie)+p(ie))/2}var re=d4.getDistanceFunction(n,b,p,W);if(d4.getClosest(a,re,e),e.index!==!1&&a[e.index].p!==Iyt){A||(g=function(ie){return Math.min(L(ie),ie.p-s.bargroupwidth/2)},P=function(ie){return Math.max(_(ie),ie.p+s.bargroupwidth/2)});var ae=e.index,_e=a[ae],Me=o.base?_e.b+_e.s:_e.s;e[x+\"0\"]=e[x+\"1\"]=N.c2p(_e[x],!0),e[x+\"LabelVal\"]=Me;var ke=s.extents[s.extents.round(_e.p)];e[v+\"0\"]=G.c2p(l?g(_e):ke[0],!0),e[v+\"1\"]=G.c2p(l?P(_e):ke[1],!0);var ge=_e.orig_p!==void 0;return e[v+\"LabelVal\"]=ge?_e.orig_p:_e.p,e.labelLabel=TV(G,e[v+\"LabelVal\"],o[v+\"hoverformat\"]),e.valueLabel=TV(N,e[x+\"LabelVal\"],o[x+\"hoverformat\"]),e.baseLabel=TV(N,_e.b,o[x+\"hoverformat\"]),e.spikeDistance=(X(_e)+q(_e))/2,e[v+\"Spike\"]=G.c2p(_e.p,!0),Lyt(_e,o,e),e.hovertemplate=o.hovertemplate,e}}function Nye(e,t){var r=t.mcc||e.marker.color,n=t.mlcc||e.marker.line.color,i=Pyt(e,t);if(Oye.opacity(r))return r;if(Oye.opacity(n)&&i)return n}Uye.exports={hoverPoints:Ryt,hoverOnBars:Bye,getTraceColor:Nye}});var Hye=ye((Ror,Vye)=>{\"use strict\";Vye.exports=function(t,r,n){return t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),n.orientation===\"h\"?(t.label=t.y,t.value=t.x):(t.label=t.x,t.value=t.y),t}});var AT=ye((Dor,Gye)=>{\"use strict\";Gye.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=n[0].trace,s=o.type===\"funnel\",l=o.orientation===\"h\",u=[],c;if(r===!1)for(c=0;c<n.length;c++)n[c].selected=0;else for(c=0;c<n.length;c++){var f=n[c],h=\"ct\"in f?f.ct:Dyt(f,i,a,l,s);r.contains(h,!1,c,t)?(u.push({pointNumber:c,x:i.c2d(f.x),y:a.c2d(f.y)}),f.selected=1):f.selected=0}return u};function Dyt(e,t,r,n,i){var a=t.c2p(n?e.s0:e.p0,!0),o=t.c2p(n?e.s1:e.p1,!0),s=r.c2p(n?e.p0:e.s0,!0),l=r.c2p(n?e.p1:e.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}});var Wye=ye((zor,jye)=>{\"use strict\";jye.exports={attributes:Lm(),layoutAttributes:zI(),supplyDefaults:r0().supplyDefaults,crossTraceDefaults:r0().crossTraceDefaults,supplyLayoutDefaults:yV(),calc:pye(),crossTraceCalc:Gb().crossTraceCalc,colorbar:Kd(),arraysToCalcdata:c4(),plot:i2().plot,style:N0().style,styleOnSelect:N0().styleOnSelect,hoverPoints:TT().hoverPoints,eventData:Hye(),selectPoints:AT(),moduleType:\"trace\",name:\"bar\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"bar\",\"oriented\",\"errorBarsOK\",\"showLegend\",\"zoomScale\"],animatable:!0,meta:{}}});var Xye=ye((For,Zye)=>{\"use strict\";Zye.exports=Wye()});var v4=ye((qor,$ye)=>{\"use strict\";var zyt=Eg(),U0=Uc(),Yye=Lm(),Fyt=dh(),Kye=Oc().axisHoverFormat,qyt=Wo().hovertemplateAttrs,zy=no().extendFlat,ST=U0.marker,Jye=ST.line;$ye.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:U0.xperiod,yperiod:U0.yperiod,xperiod0:U0.xperiod0,yperiod0:U0.yperiod0,xperiodalignment:U0.xperiodalignment,yperiodalignment:U0.yperiodalignment,xhoverformat:Kye(\"x\"),yhoverformat:Kye(\"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:zy({},ST.symbol,{arrayOk:!1,editType:\"plot\"}),opacity:zy({},ST.opacity,{arrayOk:!1,dflt:1,editType:\"style\"}),angle:zy({},ST.angle,{arrayOk:!1,editType:\"calc\"}),size:zy({},ST.size,{arrayOk:!1,editType:\"calc\"}),color:zy({},ST.color,{arrayOk:!1,editType:\"style\"}),line:{color:zy({},Jye.color,{arrayOk:!1,dflt:Fyt.defaultLine,editType:\"style\"}),width:zy({},Jye.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:zyt(),whiskerwidth:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"calc\"},showwhiskers:{valType:\"boolean\",editType:\"calc\"},offsetgroup:Yye.offsetgroup,alignmentgroup:Yye.alignmentgroup,selected:{marker:U0.selected.marker,editType:\"style\"},unselected:{marker:U0.unselected.marker,editType:\"style\"},text:zy({},U0.text,{}),hovertext:zy({},U0.hovertext,{}),hovertemplate:qyt({}),hoveron:{valType:\"flaglist\",flags:[\"boxes\",\"points\"],dflt:\"boxes+points\",editType:\"style\"},zorder:U0.zorder}});var p4=ye((Oor,Qye)=>{\"use strict\";Qye.exports={boxmode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\",editType:\"calc\"},boxgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"},boxgroupgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"}}});var m4=ye((Bor,i1e)=>{\"use strict\";var V0=Mr(),Oyt=ba(),Byt=va(),Nyt=Pg(),Uyt=Hb(),e1e=L3(),g4=v4();function Vyt(e,t,r,n){function i(v,x){return V0.coerce(e,t,g4,v,x)}if(t1e(e,t,i,n),t.visible!==!1){Nyt(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\");var a=t._hasPreCompStats;a&&(i(\"lowerfence\"),i(\"upperfence\")),i(\"line.color\",(e.marker||{}).color||r),i(\"line.width\"),i(\"fillcolor\",Byt.addOpacity(t.line.color,.5));var o=!1;if(a){var s=i(\"mean\"),l=i(\"sd\");s&&s.length&&(o=!0,l&&l.length&&(o=\"sd\"))}i(\"whiskerwidth\");var u=i(\"sizemode\"),c;u===\"quartiles\"&&(c=i(\"boxmean\",o)),i(\"showwhiskers\",u===\"quartiles\"),(u===\"sd\"||c===\"sd\")&&i(\"sdmultiple\"),i(\"width\"),i(\"quartilemethod\");var f=!1;if(a){var h=i(\"notchspan\");h&&h.length&&(f=!0)}else V0.validate(e.notchwidth,g4.notchwidth)&&(f=!0);var d=i(\"notched\",f);d&&i(\"notchwidth\"),r1e(e,t,i,{prefix:\"box\"}),i(\"zorder\")}}function t1e(e,t,r,n){function i(P){var T=0;return P&&P.length&&(T+=1,V0.isArrayOrTypedArray(P[0])&&P[0].length&&(T+=1)),T}function a(P){return V0.validate(e[P],g4[P])}var o=r(\"y\"),s=r(\"x\"),l;if(t.type===\"box\"){var u=r(\"q1\"),c=r(\"median\"),f=r(\"q3\");t._hasPreCompStats=u&&u.length&&c&&c.length&&f&&f.length,l=Math.min(V0.minRowLength(u),V0.minRowLength(c),V0.minRowLength(f))}var h=i(o),d=i(s),v=h&&V0.minRowLength(o),x=d&&V0.minRowLength(s),b=n.calendar,p={autotypenumbers:n.autotypenumbers},E,k;if(t._hasPreCompStats)switch(String(d)+String(h)){case\"00\":var A=a(\"x0\")||a(\"dx\"),L=a(\"y0\")||a(\"dy\");L&&!A?E=\"h\":E=\"v\",k=l;break;case\"10\":E=\"v\",k=Math.min(l,x);break;case\"20\":E=\"h\",k=Math.min(l,s.length);break;case\"01\":E=\"h\",k=Math.min(l,v);break;case\"02\":E=\"v\",k=Math.min(l,o.length);break;case\"12\":E=\"v\",k=Math.min(l,x,o.length);break;case\"21\":E=\"h\",k=Math.min(l,s.length,v);break;case\"11\":k=0;break;case\"22\":var _=!1,C;for(C=0;C<s.length;C++)if(e1e(s[C],b,p)===\"category\"){_=!0;break}if(_)E=\"v\",k=Math.min(l,x,o.length);else{for(C=0;C<o.length;C++)if(e1e(o[C],b,p)===\"category\"){_=!0;break}_?(E=\"h\",k=Math.min(l,s.length,v)):(E=\"v\",k=Math.min(l,x,o.length))}break}else h>0?(E=\"v\",d>0?k=Math.min(x,v):k=Math.min(v)):d>0?(E=\"h\",k=Math.min(x)):k=0;if(!k){t.visible=!1;return}t._length=k;var M=r(\"orientation\",E);t._hasPreCompStats?M===\"v\"&&d===0?(r(\"x0\",0),r(\"dx\",1)):M===\"h\"&&h===0&&(r(\"y0\",0),r(\"dy\",1)):M===\"v\"&&d===0?r(\"x0\"):M===\"h\"&&h===0&&r(\"y0\");var g=Oyt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");g(e,t,[\"x\",\"y\"],n)}function r1e(e,t,r,n){var i=n.prefix,a=V0.coerce2(e,t,g4,\"marker.outliercolor\"),o=r(\"marker.line.outliercolor\"),s=\"outliers\";t._hasPreCompStats?s=\"all\":(a||o)&&(s=\"suspectedoutliers\");var l=r(i+\"points\",s);l?(r(\"jitter\",l===\"all\"?.3:0),r(\"pointpos\",l===\"all\"?-1.5:0),r(\"marker.symbol\"),r(\"marker.opacity\"),r(\"marker.size\"),r(\"marker.angle\"),r(\"marker.color\",t.line.color),r(\"marker.line.color\"),r(\"marker.line.width\"),l===\"suspectedoutliers\"&&(r(\"marker.line.outliercolor\",t.marker.color),r(\"marker.line.outlierwidth\")),r(\"selected.marker.color\"),r(\"unselected.marker.color\"),r(\"selected.marker.size\"),r(\"unselected.marker.size\"),r(\"text\"),r(\"hovertext\")):delete t.marker;var u=r(\"hoveron\");(u===\"all\"||u.indexOf(\"points\")!==-1)&&r(\"hovertemplate\"),V0.coerceSelectionMarkerOpacity(t,r)}function Hyt(e,t){var r,n;function i(l){return V0.coerce(n._input,n,g4,l)}for(var a=0;a<e.length;a++){n=e[a];var o=n.type;if(o===\"box\"||o===\"violin\"){r=n._input;var s=t[o+\"mode\"];s===\"group\"&&Uyt(r,n,t,i,s)}}}i1e.exports={supplyDefaults:Vyt,crossTraceDefaults:Hyt,handleSampleDefaults:t1e,handlePointsDefaults:r1e}});var VI=ye((Nor,a1e)=>{\"use strict\";var Gyt=ba(),jyt=Mr(),Wyt=p4();function n1e(e,t,r,n,i){for(var a=i+\"Layout\",o=!1,s=0;s<r.length;s++){var l=r[s];if(Gyt.traceIs(l,a)){o=!0;break}}o&&(n(i+\"mode\"),n(i+\"gap\"),n(i+\"groupgap\"))}function Zyt(e,t,r){function n(i,a){return jyt.coerce(e,t,Wyt,i,a)}n1e(e,t,r,n,\"box\")}a1e.exports={supplyLayoutDefaults:Zyt,_supply:n1e}});var MV=ye((Uor,v1e)=>{\"use strict\";var SV=uo(),HI=Qa(),Xyt=Rg(),$f=Mr(),i0=es().BADNUM,Fy=$f._;v1e.exports=function(t,r){var n=t._fullLayout,i=HI.getFromId(t,r.xaxis||\"x\"),a=HI.getFromId(t,r.yaxis||\"y\"),o=[],s=r.type===\"violin\"?\"_numViolins\":\"_numBoxes\",l,u,c,f,h,d,v;r.orientation===\"h\"?(c=i,f=\"x\",h=a,d=\"y\",v=!!r.yperiodalignment):(c=a,f=\"y\",h=i,d=\"x\",v=!!r.xperiodalignment);var x=Yyt(r,d,h,n[s]),b=x[0],p=x[1],E=$f.distinctVals(b,h),k=E.vals,A=E.minDiff/2,L,_,C,M,g,P,T=(r.boxpoints||r.points)===\"all\"?$f.identity:function(qt){return qt.v<L.lf||qt.v>L.uf};if(r._hasPreCompStats){var F=r[f],q=function(qt){return c.d2c((r[qt]||[])[l])},V=1/0,H=-1/0;for(l=0;l<r._length;l++){var X=b[l];if(SV(X)){if(L={},L.pos=L[d]=X,v&&p&&(L.orig_p=p[l]),L.q1=q(\"q1\"),L.med=q(\"median\"),L.q3=q(\"q3\"),_=[],F&&$f.isArrayOrTypedArray(F[l]))for(u=0;u<F[l].length;u++)P=c.d2c(F[l][u]),P!==i0&&(g={v:P,i:[l,u]},o1e(g,r,[l,u]),_.push(g));if(L.pts=_.sort(s1e),C=L[f]=_.map(l1e),M=C.length,L.med!==i0&&L.q1!==i0&&L.q3!==i0&&L.med>=L.q1&&L.q3>=L.med){var G=q(\"lowerfence\");L.lf=G!==i0&&G<=L.q1?G:u1e(L,C,M);var N=q(\"upperfence\");L.uf=N!==i0&&N>=L.q3?N:c1e(L,C,M);var W=q(\"mean\");L.mean=W!==i0?W:M?$f.mean(C,M):(L.q1+L.q3)/2;var re=q(\"sd\");L.sd=W!==i0&&re>=0?re:M?$f.stdev(C,M,L.mean):L.q3-L.q1,L.lo=f1e(L),L.uo=h1e(L);var ae=q(\"notchspan\");ae=ae!==i0&&ae>0?ae:d1e(L,M),L.ln=L.med-ae,L.un=L.med+ae;var _e=L.lf,Me=L.uf;r.boxpoints&&C.length&&(_e=Math.min(_e,C[0]),Me=Math.max(Me,C[M-1])),r.notched&&(_e=Math.min(_e,L.ln),Me=Math.max(Me,L.un)),L.min=_e,L.max=Me}else{$f.warn([\"Invalid input - make sure that q1 <= median <= q3\",\"q1 = \"+L.q1,\"median = \"+L.med,\"q3 = \"+L.q3].join(`\n", - "`));var ke;L.med!==i0?ke=L.med:L.q1!==i0?L.q3!==i0?ke=(L.q1+L.q3)/2:ke=L.q1:L.q3!==i0?ke=L.q3:ke=0,L.med=ke,L.q1=L.q3=ke,L.lf=L.uf=ke,L.mean=L.sd=ke,L.ln=L.un=ke,L.min=L.max=ke}V=Math.min(V,L.min),H=Math.max(H,L.max),L.pts2=_.filter(T),o.push(L)}}r._extremes[c._id]=HI.findExtremes(c,[V,H],{padded:!0})}else{var ge=c.makeCalcdata(r,f),ie=Kyt(k,A),Te=k.length,Ee=Jyt(Te);for(l=0;l<r._length;l++)if(P=ge[l],!!SV(P)){var Ae=$f.findBin(b[l],ie);Ae>=0&&Ae<Te&&(g={v:P,i:l},o1e(g,r,l),Ee[Ae].push(g))}var ze=1/0,Ce=-1/0,me=r.quartilemethod,Re=me===\"exclusive\",ce=me===\"inclusive\";for(l=0;l<Te;l++)if(Ee[l].length>0){if(L={},L.pos=L[d]=k[l],_=L.pts=Ee[l].sort(s1e),C=L[f]=_.map(l1e),M=C.length,L.min=C[0],L.max=C[M-1],L.mean=$f.mean(C,M),L.sd=$f.stdev(C,M,L.mean)*r.sdmultiple,L.med=$f.interp(C,.5),M%2&&(Re||ce)){var Ge,nt;Re?(Ge=C.slice(0,M/2),nt=C.slice(M/2+1)):ce&&(Ge=C.slice(0,M/2+1),nt=C.slice(M/2)),L.q1=$f.interp(Ge,.5),L.q3=$f.interp(nt,.5)}else L.q1=$f.interp(C,.25),L.q3=$f.interp(C,.75);L.lf=u1e(L,C,M),L.uf=c1e(L,C,M),L.lo=f1e(L),L.uo=h1e(L);var ct=d1e(L,M);L.ln=L.med-ct,L.un=L.med+ct,ze=Math.min(ze,L.ln),Ce=Math.max(Ce,L.un),L.pts2=_.filter(T),o.push(L)}r.notched&&$f.isTypedArray(ge)&&(ge=Array.from(ge)),r._extremes[c._id]=HI.findExtremes(c,r.notched?ge.concat([ze,Ce]):ge,{padded:!0})}return $yt(o,r),o.length>0?(o[0].t={num:n[s],dPos:A,posLetter:d,valLetter:f,labels:{med:Fy(t,\"median:\"),min:Fy(t,\"min:\"),q1:Fy(t,\"q1:\"),q3:Fy(t,\"q3:\"),max:Fy(t,\"max:\"),mean:r.boxmean===\"sd\"||r.sizemode===\"sd\"?Fy(t,\"mean \\xB1 \\u03C3:\").replace(\"\\u03C3\",r.sdmultiple===1?\"\\u03C3\":r.sdmultiple+\"\\u03C3\"):Fy(t,\"mean:\"),lf:Fy(t,\"lower fence:\"),uf:Fy(t,\"upper fence:\")}},n[s]++,o):[{t:{empty:!0}}]};function Yyt(e,t,r,n){var i=t in e,a=t+\"0\"in e,o=\"d\"+t in e;if(i||a&&o){var s=r.makeCalcdata(e,t),l=Xyt(e,r,t,s).vals;return[l,s]}var u;a?u=e[t+\"0\"]:\"name\"in e&&(r.type===\"category\"||SV(e.name)&&[\"linear\",\"log\"].indexOf(r.type)!==-1||$f.isDateTime(e.name)&&r.type===\"date\")?u=e.name:u=n;for(var c=r.type===\"multicategory\"?r.r2c_just_indices(u):r.d2c(u,0,e[t+\"calendar\"]),f=e._length,h=new Array(f),d=0;d<f;d++)h[d]=c;return[h]}function Kyt(e,t){for(var r=e.length,n=new Array(r+1),i=0;i<r;i++)n[i]=e[i]-t;return n[r]=e[r-1]+t,n}function Jyt(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=[];return t}var AV={text:\"tx\",hovertext:\"htx\"};function o1e(e,t,r){for(var n in AV)$f.isArrayOrTypedArray(t[n])&&(Array.isArray(r)?$f.isArrayOrTypedArray(t[n][r[0]])&&(e[AV[n]]=t[n][r[0]][r[1]]):e[AV[n]]=t[n][r])}function $yt(e,t){if($f.isArrayOrTypedArray(t.selectedpoints))for(var r=0;r<e.length;r++){for(var n=e[r].pts||[],i={},a=0;a<n.length;a++)i[n[a].i]=a;$f.tagSelected(n,t,i)}}function s1e(e,t){return e.v-t.v}function l1e(e){return e.v}function u1e(e,t,r){return r===0?e.q1:Math.min(e.q1,t[Math.min($f.findBin(2.5*e.q1-1.5*e.q3,t,!0)+1,r-1)])}function c1e(e,t,r){return r===0?e.q3:Math.max(e.q3,t[Math.max($f.findBin(2.5*e.q3-1.5*e.q1,t),0)])}function f1e(e){return 4*e.q1-3*e.q3}function h1e(e){return 4*e.q3-3*e.q1}function d1e(e,t){return t===0?0:1.57*(e.q3-e.q1)/Math.sqrt(t)}});var GI=ye((Vor,y1e)=>{\"use strict\";var p1e=Qa(),Qyt=Mr(),e1t=Bb().getAxisGroup,g1e=[\"v\",\"h\"];function t1t(e,t){for(var r=e.calcdata,n=t.xaxis,i=t.yaxis,a=0;a<g1e.length;a++){for(var o=g1e[a],s=o===\"h\"?i:n,l=[],u=0;u<r.length;u++){var c=r[u],f=c[0].t,h=c[0].trace;h.visible===!0&&(h.type===\"box\"||h.type===\"candlestick\")&&!f.empty&&(h.orientation||\"v\")===o&&h.xaxis===n._id&&h.yaxis===i._id&&l.push(u)}m1e(\"box\",e,l,s)}}function m1e(e,t,r,n){var i=t.calcdata,a=t._fullLayout,o=n._id,s=o.charAt(0),l,u,c,f=[],h=0;for(l=0;l<r.length;l++)for(c=i[r[l]],u=0;u<c.length;u++)f.push(n.c2l(c[u].pos,!0)),h+=(c[u].pts2||[]).length;if(f.length){var d=Qyt.distinctVals(f);(n.type===\"category\"||n.type===\"multicategory\")&&(d.minDiff=1);var v=d.minDiff/2;p1e.minDtick(n,d.minDiff,d.vals[0],!0);var x=e===\"violin\"?\"_numViolins\":\"_numBoxes\",b=a[x],p=a[e+\"mode\"]===\"group\"&&b>1,E=1-a[e+\"gap\"],k=1-a[e+\"groupgap\"];for(l=0;l<r.length;l++){c=i[r[l]];var A=c[0].trace,L=c[0].t,_=A.width,C=A.side,M,g,P,T;if(_)M=g=T=_/2,P=0;else if(M=v,p){var F=e1t(a,n._id)+A.orientation,q=a._alignmentOpts[F]||{},V=q[A.alignmentgroup]||{},H=Object.keys(V.offsetGroups||{}).length,X=H||b,G=H?A._offsetIndex:L.num;g=M*E*k/X,P=2*M*(-.5+(G+.5)/X)*E,T=M*E/X}else g=M*E*k,P=0,T=M;L.dPos=M,L.bPos=P,L.bdPos=g,L.wHover=T;var N,W,re=P+g,ae,_e,Me,ke,ge,ie,Te=!!_,Ee=(A.boxpoints||A.points)&&h>0;if(C===\"positive\"?(N=M*(_?1:.5),ae=re,W=ae=P):C===\"negative\"?(N=ae=P,W=M*(_?1:.5),_e=re):(N=W=M,ae=_e=re),Ee){var Ae=A.pointpos,ze=A.jitter,Ce=A.marker.size/2,me=0;Ae+ze>=0&&(me=re*(Ae+ze),me>N?(Te=!0,ge=Ce,Me=me):me>ae&&(ge=Ce,Me=N)),me<=N&&(Me=N);var Re=0;Ae-ze<=0&&(Re=-re*(Ae-ze),Re>W?(Te=!0,ie=Ce,ke=Re):Re>_e&&(ie=Ce,ke=W)),Re<=W&&(ke=W)}else Me=N,ke=W;var ce=new Array(c.length);for(u=0;u<c.length;u++)ce[u]=c[u].pos;A._extremes[o]=p1e.findExtremes(n,ce,{padded:Te,vpadminus:ke,vpadplus:Me,vpadLinearized:!0,ppadminus:{x:ie,y:ge}[s],ppadplus:{x:ge,y:ie}[s]})}}}y1e.exports={crossTraceCalc:t1t,setPositionOffset:m1e}});var jI=ye((Hor,T1e)=>{\"use strict\";var MT=xa(),n2=Mr(),r1t=ao(),_1e=5,i1t=.01;function n1t(e,t,r,n){var i=e._context.staticPlot,a=t.xaxis,o=t.yaxis;n2.makeTraceGroups(n,r,\"trace boxes\").each(function(s){var l=MT.select(this),u=s[0],c=u.t,f=u.trace;if(c.wdPos=c.bdPos*f.whiskerwidth,f.visible!==!0||c.empty){l.remove();return}var h,d;f.orientation===\"h\"?(h=o,d=a):(h=a,d=o),x1e(l,{pos:h,val:d},f,c,i),b1e(l,{x:a,y:o},f,c),w1e(l,{pos:h,val:d},f,c)})}function x1e(e,t,r,n,i){var a=r.orientation===\"h\",o=t.val,s=t.pos,l=!!s.rangebreaks,u=n.bPos,c=n.wdPos||0,f=n.bPosPxOffset||0,h=r.whiskerwidth||0,d=r.showwhiskers!==!1,v=r.notched||!1,x=v?1-2*r.notchwidth:1,b,p;Array.isArray(n.bdPos)?(b=n.bdPos[0],p=n.bdPos[1]):(b=n.bdPos,p=n.bdPos);var E=e.selectAll(\"path.box\").data(r.type!==\"violin\"||r.box.visible?n2.identity:[]);E.enter().append(\"path\").style(\"vector-effect\",i?\"none\":\"non-scaling-stroke\").attr(\"class\",\"box\"),E.exit().remove(),E.each(function(k){if(k.empty)return MT.select(this).attr(\"d\",\"M0,0Z\");var A=s.c2l(k.pos+u,!0),L=s.l2p(A-b)+f,_=s.l2p(A+p)+f,C=l?(L+_)/2:s.l2p(A)+f,M=r.whiskerwidth,g=l?L*M+(1-M)*C:s.l2p(A-c)+f,P=l?_*M+(1-M)*C:s.l2p(A+c)+f,T=s.l2p(A-b*x)+f,F=s.l2p(A+p*x)+f,q=r.sizemode===\"sd\",V=o.c2p(q?k.mean-k.sd:k.q1,!0),H=q?o.c2p(k.mean+k.sd,!0):o.c2p(k.q3,!0),X=n2.constrain(q?o.c2p(k.mean,!0):o.c2p(k.med,!0),Math.min(V,H)+1,Math.max(V,H)-1),G=k.lf===void 0||r.boxpoints===!1||q,N=o.c2p(G?k.min:k.lf,!0),W=o.c2p(G?k.max:k.uf,!0),re=o.c2p(k.ln,!0),ae=o.c2p(k.un,!0);a?MT.select(this).attr(\"d\",\"M\"+X+\",\"+T+\"V\"+F+\"M\"+V+\",\"+L+\"V\"+_+(v?\"H\"+re+\"L\"+X+\",\"+F+\"L\"+ae+\",\"+_:\"\")+\"H\"+H+\"V\"+L+(v?\"H\"+ae+\"L\"+X+\",\"+T+\"L\"+re+\",\"+L:\"\")+\"Z\"+(d?\"M\"+V+\",\"+C+\"H\"+N+\"M\"+H+\",\"+C+\"H\"+W+(h===0?\"\":\"M\"+N+\",\"+g+\"V\"+P+\"M\"+W+\",\"+g+\"V\"+P):\"\")):MT.select(this).attr(\"d\",\"M\"+T+\",\"+X+\"H\"+F+\"M\"+L+\",\"+V+\"H\"+_+(v?\"V\"+re+\"L\"+F+\",\"+X+\"L\"+_+\",\"+ae:\"\")+\"V\"+H+\"H\"+L+(v?\"V\"+ae+\"L\"+T+\",\"+X+\"L\"+L+\",\"+re:\"\")+\"Z\"+(d?\"M\"+C+\",\"+V+\"V\"+N+\"M\"+C+\",\"+H+\"V\"+W+(h===0?\"\":\"M\"+g+\",\"+N+\"H\"+P+\"M\"+g+\",\"+W+\"H\"+P):\"\"))})}function b1e(e,t,r,n){var i=t.x,a=t.y,o=n.bdPos,s=n.bPos,l=r.boxpoints||r.points;n2.seedPseudoRandom();var u=function(h){return h.forEach(function(d){d.t=n,d.trace=r}),h},c=e.selectAll(\"g.points\").data(l?u:[]);c.enter().append(\"g\").attr(\"class\",\"points\"),c.exit().remove();var f=c.selectAll(\"path\").data(function(h){var d,v=h.pts2,x=Math.max((h.max-h.min)/10,h.q3-h.q1),b=x*1e-9,p=x*i1t,E=[],k=0,A;if(r.jitter){if(x===0)for(k=1,E=new Array(v.length),d=0;d<v.length;d++)E[d]=1;else for(d=0;d<v.length;d++){var L=Math.max(0,d-_1e),_=v[L].v,C=Math.min(v.length-1,d+_1e),M=v[C].v;l!==\"all\"&&(v[d].v<h.lf?M=Math.min(M,h.lf):_=Math.max(_,h.uf));var g=Math.sqrt(p*(C-L)/(M-_+b))||0;g=n2.constrain(Math.abs(g),0,1),E.push(g),k=Math.max(g,k)}A=r.jitter*2/(k||1)}for(d=0;d<v.length;d++){var P=v[d],T=P.v,F=r.jitter?A*E[d]*(n2.pseudoRandom()-.5):0,q=h.pos+s+o*(r.pointpos+F);r.orientation===\"h\"?(P.y=q,P.x=T):(P.x=q,P.y=T),l===\"suspectedoutliers\"&&T<h.uo&&T>h.lo&&(P.so=!0)}return v});f.enter().append(\"path\").classed(\"point\",!0),f.exit().remove(),f.call(r1t.translatePoints,i,a)}function w1e(e,t,r,n){var i=t.val,a=t.pos,o=!!a.rangebreaks,s=n.bPos,l=n.bPosPxOffset||0,u=r.boxmean||(r.meanline||{}).visible,c,f;Array.isArray(n.bdPos)?(c=n.bdPos[0],f=n.bdPos[1]):(c=n.bdPos,f=n.bdPos);var h=e.selectAll(\"path.mean\").data(r.type===\"box\"&&r.boxmean||r.type===\"violin\"&&r.box.visible&&r.meanline.visible?n2.identity:[]);h.enter().append(\"path\").attr(\"class\",\"mean\").style({fill:\"none\",\"vector-effect\":\"non-scaling-stroke\"}),h.exit().remove(),h.each(function(d){var v=a.c2l(d.pos+s,!0),x=a.l2p(v-c)+l,b=a.l2p(v+f)+l,p=o?(x+b)/2:a.l2p(v)+l,E=i.c2p(d.mean,!0),k=i.c2p(d.mean-d.sd,!0),A=i.c2p(d.mean+d.sd,!0);r.orientation===\"h\"?MT.select(this).attr(\"d\",\"M\"+E+\",\"+x+\"V\"+b+(u===\"sd\"?\"m0,0L\"+k+\",\"+p+\"L\"+E+\",\"+x+\"L\"+A+\",\"+p+\"Z\":\"\")):MT.select(this).attr(\"d\",\"M\"+x+\",\"+E+\"H\"+b+(u===\"sd\"?\"m0,0L\"+p+\",\"+k+\"L\"+x+\",\"+E+\"L\"+p+\",\"+A+\"Z\":\"\"))})}T1e.exports={plot:n1t,plotBoxAndWhiskers:x1e,plotPoints:b1e,plotBoxMean:w1e}});var WI=ye((Gor,A1e)=>{\"use strict\";var EV=xa(),kV=va(),CV=ao();function a1t(e,t,r){var n=r||EV.select(e).selectAll(\"g.trace.boxes\");n.style(\"opacity\",function(i){return i[0].trace.opacity}),n.each(function(i){var a=EV.select(this),o=i[0].trace,s=o.line.width;function l(f,h,d,v){f.style(\"stroke-width\",h+\"px\").call(kV.stroke,d).call(kV.fill,v)}var u=a.selectAll(\"path.box\");if(o.type===\"candlestick\")u.each(function(f){if(!f.empty){var h=EV.select(this),d=o[f.dir];l(h,d.line.width,d.line.color,d.fillcolor),h.style(\"opacity\",o.selectedpoints&&!f.selected?.3:1)}});else{l(u,s,o.line.color,o.fillcolor),a.selectAll(\"path.mean\").style({\"stroke-width\":s,\"stroke-dasharray\":2*s+\"px,\"+s+\"px\"}).call(kV.stroke,o.line.color);var c=a.selectAll(\"path.point\");CV.pointStyle(c,o,e)}})}function o1t(e,t,r){var n=t[0].trace,i=r.selectAll(\"path.point\");n.selectedpoints?CV.selectedPointStyle(i,n):CV.pointStyle(i,n,e)}A1e.exports={style:a1t,styleOnSelect:o1t}});var PV=ye((jor,k1e)=>{\"use strict\";var s1t=Qa(),LV=Mr(),S_=Nc(),S1e=va(),l1t=LV.fillText;function u1t(e,t,r,n){var i=e.cd,a=i[0].trace,o=a.hoveron,s=[],l;return o.indexOf(\"boxes\")!==-1&&(s=s.concat(M1e(e,t,r,n))),o.indexOf(\"points\")!==-1&&(l=E1e(e,t,r)),n===\"closest\"?l?[l]:s:(l&&s.push(l),s)}function M1e(e,t,r,n){var i=e.cd,a=e.xa,o=e.ya,s=i[0].trace,l=i[0].t,u=s.type===\"violin\",c,f,h,d,v,x,b,p,E,k,A,L=l.bdPos,_,C,M=l.wHover,g=function(Ce){return h.c2l(Ce.pos)+l.bPos-h.c2l(x)};u&&s.side!==\"both\"?(s.side===\"positive\"&&(E=function(Ce){var me=g(Ce);return S_.inbox(me,me+M,k)},_=L,C=0),s.side===\"negative\"&&(E=function(Ce){var me=g(Ce);return S_.inbox(me-M,me,k)},_=0,C=L)):(E=function(Ce){var me=g(Ce);return S_.inbox(me-M,me+M,k)},_=C=L);var P;u?P=function(Ce){return S_.inbox(Ce.span[0]-v,Ce.span[1]-v,k)}:P=function(Ce){return S_.inbox(Ce.min-v,Ce.max-v,k)},s.orientation===\"h\"?(v=t,x=r,b=P,p=E,c=\"y\",h=o,f=\"x\",d=a):(v=r,x=t,b=E,p=P,c=\"x\",h=a,f=\"y\",d=o);var T=Math.min(1,L/Math.abs(h.r2c(h.range[1])-h.r2c(h.range[0])));k=e.maxHoverDistance-T,A=e.maxSpikeDistance-T;function F(Ce){return(b(Ce)+p(Ce))/2}var q=S_.getDistanceFunction(n,b,p,F);if(S_.getClosest(i,q,e),e.index===!1)return[];var V=i[e.index],H=s.line.color,X=(s.marker||{}).color;S1e.opacity(H)&&s.line.width?e.color=H:S1e.opacity(X)&&s.boxpoints?e.color=X:e.color=s.fillcolor,e[c+\"0\"]=h.c2p(V.pos+l.bPos-C,!0),e[c+\"1\"]=h.c2p(V.pos+l.bPos+_,!0),e[c+\"LabelVal\"]=V.orig_p!==void 0?V.orig_p:V.pos;var G=c+\"Spike\";e.spikeDistance=F(V)*A/k,e[G]=h.c2p(V.pos,!0);var N=s.boxmean||s.sizemode===\"sd\"||(s.meanline||{}).visible,W=s.boxpoints||s.points,re=W&&N?[\"max\",\"uf\",\"q3\",\"med\",\"mean\",\"q1\",\"lf\",\"min\"]:W&&!N?[\"max\",\"uf\",\"q3\",\"med\",\"q1\",\"lf\",\"min\"]:!W&&N?[\"max\",\"q3\",\"med\",\"mean\",\"q1\",\"min\"]:[\"max\",\"q3\",\"med\",\"q1\",\"min\"],ae=d.range[1]<d.range[0];s.orientation===(ae?\"v\":\"h\")&&re.reverse();for(var _e=e.spikeDistance,Me=e[G],ke=[],ge=0;ge<re.length;ge++){var ie=re[ge];if(ie in V){var Te=V[ie],Ee=d.c2p(Te,!0),Ae=LV.extendFlat({},e);Ae.attr=ie,Ae[f+\"0\"]=Ae[f+\"1\"]=Ee,Ae[f+\"LabelVal\"]=Te,Ae[f+\"Label\"]=(l.labels?l.labels[ie]+\" \":\"\")+s1t.hoverLabelText(d,Te,s[f+\"hoverformat\"]),Ae.hoverOnBox=!0,ie===\"mean\"&&\"sd\"in V&&(s.boxmean===\"sd\"||s.sizemode===\"sd\")&&(Ae[f+\"err\"]=V.sd),Ae.hovertemplate=!1,ke.push(Ae)}}e.name=\"\",e.spikeDistance=void 0,e[G]=void 0;for(var ze=0;ze<ke.length;ze++)ke[ze].attr!==\"med\"?(ke[ze].name=\"\",ke[ze].spikeDistance=void 0,ke[ze][G]=void 0):(ke[ze].spikeDistance=_e,ke[ze][G]=Me);return ke}function E1e(e,t,r){for(var n=e.cd,i=e.xa,a=e.ya,o=n[0].trace,s=i.c2p(t),l=a.c2p(r),u,c=function(P){var T=Math.max(3,P.mrc||0);return Math.max(Math.abs(i.c2p(P.x)-s)-T,1-3/T)},f=function(P){var T=Math.max(3,P.mrc||0);return Math.max(Math.abs(a.c2p(P.y)-l)-T,1-3/T)},h=S_.quadrature(c,f),d=!1,v,x,b=0;b<n.length;b++){v=n[b];for(var p=0;p<(v.pts||[]).length;p++){x=v.pts[p];var E=h(x);E<=e.distance&&(e.distance=E,d=[b,p])}}if(!d)return!1;v=n[d[0]],x=v.pts[d[1]];var k=i.c2p(x.x,!0),A=a.c2p(x.y,!0),L=x.mrc||1;u=LV.extendFlat({},e,{index:x.i,color:(o.marker||{}).color,name:o.name,x0:k-L,x1:k+L,y0:A-L,y1:A+L,spikeDistance:e.distance,hovertemplate:o.hovertemplate});var _=v.orig_p,C=_!==void 0?_:v.pos,M;o.orientation===\"h\"?(M=a,u.xLabelVal=x.x,u.yLabelVal=C):(M=i,u.xLabelVal=C,u.yLabelVal=x.y);var g=M._id.charAt(0);return u[g+\"Spike\"]=M.c2p(v.pos,!0),l1t(x,o,u),u}k1e.exports={hoverPoints:u1t,hoverOnBoxes:M1e,hoverOnPoints:E1e}});var L1e=ye((Wor,C1e)=>{\"use strict\";C1e.exports=function(t,r){return r.hoverOnBox&&(t.hoverOnBox=r.hoverOnBox),\"xVal\"in r&&(t.x=r.xVal),\"yVal\"in r&&(t.y=r.yVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var IV=ye((Zor,P1e)=>{\"use strict\";P1e.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l;if(r===!1)for(s=0;s<n.length;s++)for(l=0;l<(n[s].pts||[]).length;l++)n[s].pts[l].selected=0;else for(s=0;s<n.length;s++)for(l=0;l<(n[s].pts||[]).length;l++){var u=n[s].pts[l],c=i.c2p(u.x),f=a.c2p(u.y);r.contains([c,f],null,u.i,t)?(o.push({pointNumber:u.i,x:i.c2d(u.x),y:a.c2d(u.y)}),u.selected=1):u.selected=0}return o}});var R1e=ye((Xor,I1e)=>{\"use strict\";I1e.exports={attributes:v4(),layoutAttributes:p4(),supplyDefaults:m4().supplyDefaults,crossTraceDefaults:m4().crossTraceDefaults,supplyLayoutDefaults:VI().supplyLayoutDefaults,calc:MV(),crossTraceCalc:GI().crossTraceCalc,plot:jI().plot,style:WI().style,styleOnSelect:WI().styleOnSelect,hoverPoints:PV().hoverPoints,eventData:L1e(),selectPoints:IV(),moduleType:\"trace\",name:\"box\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\",\"boxLayout\",\"zoomScale\"],meta:{}}});var z1e=ye((Yor,D1e)=>{\"use strict\";D1e.exports=R1e()});var ET=ye((Kor,F1e)=>{\"use strict\";var n0=Uc(),c1t=vl(),f1t=Su(),RV=Oc().axisHoverFormat,h1t=Wo().hovertemplateAttrs,d1t=Wo().texttemplateAttrs,v1t=Jl(),Pp=no().extendFlat;F1e.exports=Pp({z:{valType:\"data_array\",editType:\"calc\"},x:Pp({},n0.x,{impliedEdits:{xtype:\"array\"}}),x0:Pp({},n0.x0,{impliedEdits:{xtype:\"scaled\"}}),dx:Pp({},n0.dx,{impliedEdits:{xtype:\"scaled\"}}),y:Pp({},n0.y,{impliedEdits:{ytype:\"array\"}}),y0:Pp({},n0.y0,{impliedEdits:{ytype:\"scaled\"}}),dy:Pp({},n0.dy,{impliedEdits:{ytype:\"scaled\"}}),xperiod:Pp({},n0.xperiod,{impliedEdits:{xtype:\"scaled\"}}),yperiod:Pp({},n0.yperiod,{impliedEdits:{ytype:\"scaled\"}}),xperiod0:Pp({},n0.xperiod0,{impliedEdits:{xtype:\"scaled\"}}),yperiod0:Pp({},n0.yperiod0,{impliedEdits:{ytype:\"scaled\"}}),xperiodalignment:Pp({},n0.xperiodalignment,{impliedEdits:{xtype:\"scaled\"}}),yperiodalignment:Pp({},n0.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:RV(\"x\"),yhoverformat:RV(\"y\"),zhoverformat:RV(\"z\",1),hovertemplate:h1t(),texttemplate:d1t({arrayOk:!1,editType:\"plot\"},{keys:[\"x\",\"y\",\"z\",\"text\"]}),textfont:f1t({editType:\"plot\",autoSize:!0,autoColor:!0,colorEditType:\"style\"}),showlegend:Pp({},c1t.showlegend,{dflt:!1}),zorder:n0.zorder},v1t(\"\",{cLetter:\"z\",autoColorDflt:!1}))});var XI=ye((Jor,O1e)=>{\"use strict\";var p1t=uo(),ZI=Mr(),g1t=ba();O1e.exports=function(t,r,n,i,a,o){var s=n(\"z\");a=a||\"x\",o=o||\"y\";var l,u;if(s===void 0||!s.length)return 0;if(ZI.isArray1D(s)){l=n(a),u=n(o);var c=ZI.minRowLength(l),f=ZI.minRowLength(u);if(c===0||f===0)return 0;r._length=Math.min(c,f,s.length)}else{if(l=q1e(a,n),u=q1e(o,n),!m1t(s))return 0;n(\"transpose\"),r._length=null}var h=g1t.getComponentMethod(\"calendars\",\"handleTraceDefaults\");return h(t,r,[a,o],i),!0};function q1e(e,t){var r=t(e),n=r?t(e+\"type\",\"array\"):\"scaled\";return n===\"scaled\"&&(t(e+\"0\"),t(\"d\"+e)),r}function m1t(e){for(var t=!0,r=!1,n=!1,i,a=0;a<e.length;a++){if(i=e[a],!ZI.isArrayOrTypedArray(i)){t=!1;break}i.length>0&&(r=!0);for(var o=0;o<i.length;o++)if(p1t(i[o])){n=!0;break}}return t&&r&&n}});var y4=ye(($or,N1e)=>{\"use strict\";var B1e=Mr();N1e.exports=function(t,r){t(\"texttemplate\");var n=B1e.extendFlat({},r.font,{color:\"auto\",size:\"auto\"});B1e.coerceFont(t,\"textfont\",n)}});var DV=ye((Qor,U1e)=>{\"use strict\";U1e.exports=function(t,r,n){var i=n(\"zsmooth\");i===!1&&(n(\"xgap\"),n(\"ygap\")),n(\"zhoverformat\")}});var G1e=ye((esr,H1e)=>{\"use strict\";var V1e=Mr(),y1t=XI(),_1t=y4(),x1t=Pg(),b1t=DV(),w1t=Uh(),T1t=ET();H1e.exports=function(t,r,n,i){function a(s,l){return V1e.coerce(t,r,T1t,s,l)}var o=y1t(t,r,a,i);if(!o){r.visible=!1;return}x1t(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),_1t(a,i),b1t(t,r,a,i),a(\"hoverongaps\"),a(\"connectgaps\",V1e.isArray1D(r.z)&&r.zsmooth!==!1),w1t(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),a(\"zorder\")}});var zV=ye((tsr,j1e)=>{\"use strict\";var kT=uo();j1e.exports={count:function(e,t,r){return r[e]++,1},sum:function(e,t,r,n){var i=n[t];return kT(i)?(i=Number(i),r[e]+=i,i):0},avg:function(e,t,r,n,i){var a=n[t];return kT(a)&&(a=Number(a),r[e]+=a,i[e]++),0},min:function(e,t,r,n){var i=n[t];if(kT(i))if(i=Number(i),kT(r[e])){if(r[e]>i){var a=i-r[e];return r[e]=i,a}}else return r[e]=i,i;return 0},max:function(e,t,r,n){var i=n[t];if(kT(i))if(i=Number(i),kT(r[e])){if(r[e]<i){var a=i-r[e];return r[e]=i,a}}else return r[e]=i,i;return 0}}});var FV=ye((rsr,W1e)=>{\"use strict\";W1e.exports={percent:function(e,t){for(var r=e.length,n=100/t,i=0;i<r;i++)e[i]*=n},probability:function(e,t){for(var r=e.length,n=0;n<r;n++)e[n]/=t},density:function(e,t,r,n){var i=e.length;n=n||1;for(var a=0;a<i;a++)e[a]*=r[a]*n},\"probability density\":function(e,t,r,n){var i=e.length;n&&(t/=n);for(var a=0;a<i;a++)e[a]*=r[a]/t}}});var qV=ye((isr,Z1e)=>{\"use strict\";Z1e.exports=function(t,r){for(var n=t.length,i=0,a=0;a<n;a++)r[a]?(t[a]/=r[a],i+=t[a]):t[a]=null;return i}});var OV=ye((nsr,t_e)=>{\"use strict\";var CT=es(),a2=CT.ONEAVGYEAR,X1e=CT.ONEAVGMONTH,KI=CT.ONEDAY,Y1e=CT.ONEHOUR,K1e=CT.ONEMIN,J1e=CT.ONESEC,$1e=Qa().tickIncrement;t_e.exports=function(t,r,n,i,a){var o=-1.1*r,s=-.1*r,l=t-s,u=n[0],c=n[1],f=Math.min(YI(u+s,u+l,i,a),YI(c+s,c+l,i,a)),h=Math.min(YI(u+o,u+s,i,a),YI(c+o,c+s,i,a)),d,v;if(f>h&&h<Math.abs(c-u)/4e3?(d=f,v=!1):(d=Math.min(f,h),v=!0),i.type===\"date\"&&d>KI){var x=d===a2?1:6,b=d===a2?\"M12\":\"M1\";return function(p,E){var k=i.c2d(p,a2,a),A=k.indexOf(\"-\",x);A>0&&(k=k.substr(0,A));var L=i.d2c(k,0,a);if(L<p){var _=$1e(L,b,!1,a);(L+_)/2<p+t&&(L=_)}return E&&v?$1e(L,b,!0,a):L}}return function(p,E){var k=d*Math.round(p/d);return k+d/10<p&&k+d*.9<p+t&&(k+=d),E&&v&&(k-=d),k}};function YI(e,t,r,n){if(e*t<=0)return 1/0;for(var i=Math.abs(t-e),a=r.type===\"date\",o=Q1e(i,a),s=0;s<10;s++){var l=Q1e(o*80,a);if(o===l)break;if(A1t(l,e,t,a,r,n))o=l;else break}return o}function Q1e(e,t){return t&&e>J1e?e>KI?e>a2*1.1?a2:e>X1e*1.1?X1e:KI:e>Y1e?Y1e:e>K1e?K1e:J1e:Math.pow(10,Math.floor(Math.log(e)/Math.LN10))}function A1t(e,t,r,n,i,a){if(n&&e>KI){var o=e_e(t,i,a),s=e_e(r,i,a),l=e===a2?0:1;return o[l]!==s[l]}return Math.floor(r/e)-Math.floor(t/e)>.1}function e_e(e,t,r){var n=t.c2d(e,a2,r).split(\"-\");return n[0]===\"\"&&(n.unshift(),n[0]=\"-\"+n[0]),n}});var UV=ye((asr,n_e)=>{\"use strict\";var BV=uo(),Vv=Mr(),r_e=ba(),H0=Qa(),S1t=c4(),i_e=zV(),M1t=FV(),E1t=qV(),k1t=OV();function C1t(e,t){var r=[],n=[],i=t.orientation===\"h\",a=H0.getFromId(e,i?t.yaxis:t.xaxis),o=i?\"y\":\"x\",s={x:\"y\",y:\"x\"}[o],l=t[o+\"calendar\"],u=t.cumulative,c,f=NV(e,t,a,o),h=f[0],d=f[1],v=typeof h.size==\"string\",x=[],b=v?x:h,p=[],E=[],k=[],A=0,L=t.histnorm,_=t.histfunc,C=L.indexOf(\"density\")!==-1,M,g,P;u.enabled&&C&&(L=L.replace(/ ?density$/,\"\"),C=!1);var T=_===\"max\"||_===\"min\",F=T?null:0,q=i_e.count,V=M1t[L],H=!1,X=function(me){return a.r2c(me,0,l)},G;for(Vv.isArrayOrTypedArray(t[s])&&_!==\"count\"&&(G=t[s],H=_===\"avg\",q=i_e[_]),c=X(h.start),g=X(h.end)+(c-H0.tickIncrement(c,h.size,!1,l))/1e6;c<g&&r.length<1e6&&(M=H0.tickIncrement(c,h.size,!1,l),r.push((c+M)/2),n.push(F),k.push([]),x.push(c),C&&p.push(1/(M-c)),H&&E.push(0),!(M<=c));)c=M;x.push(c),!v&&a.type===\"date\"&&(b={start:X(b.start),end:X(b.end),size:b.size}),e._fullLayout._roundFnOpts||(e._fullLayout._roundFnOpts={});var N=t[\"_\"+o+\"bingroup\"],W={leftGap:1/0,rightGap:1/0};N&&(e._fullLayout._roundFnOpts[N]||(e._fullLayout._roundFnOpts[N]=W),W=e._fullLayout._roundFnOpts[N]);var re=n.length,ae=!0,_e=W.leftGap,Me=W.rightGap,ke={};for(c=0;c<d.length;c++){var ge=d[c];P=Vv.findBin(ge,b),P>=0&&P<re&&(A+=q(P,c,n,G,E),ae&&k[P].length&&ge!==d[k[P][0]]&&(ae=!1),k[P].push(c),ke[c]=P,_e=Math.min(_e,ge-x[P]),Me=Math.min(Me,x[P+1]-ge))}W.leftGap=_e,W.rightGap=Me;var ie;ae||(ie=function(me,Re){return function(){var ce=e._fullLayout._roundFnOpts[N];return k1t(ce.leftGap,ce.rightGap,x,a,l)(me,Re)}}),H&&(A=E1t(n,E)),V&&V(n,A,p),u.enabled&&I1t(n,u.direction,u.currentbin);var Te=Math.min(r.length,n.length),Ee=[],Ae=0,ze=Te-1;for(c=0;c<Te;c++)if(n[c]){Ae=c;break}for(c=Te-1;c>=Ae;c--)if(n[c]){ze=c;break}for(c=Ae;c<=ze;c++)if(BV(r[c])&&BV(n[c])){var Ce={p:r[c],s:n[c],b:0};u.enabled||(Ce.pts=k[c],ae?Ce.ph0=Ce.ph1=k[c].length?d[k[c][0]]:r[c]:(t._computePh=!0,Ce.ph0=ie(x[c]),Ce.ph1=ie(x[c+1],!0))),Ee.push(Ce)}return Ee.length===1&&(Ee[0].width1=H0.tickIncrement(Ee[0].p,h.size,!1,l)-Ee[0].p),S1t(Ee,t),Vv.isArrayOrTypedArray(t.selectedpoints)&&Vv.tagSelected(Ee,t,ke),Ee}function NV(e,t,r,n,i){var a=n+\"bins\",o=e._fullLayout,s=t[\"_\"+n+\"bingroup\"],l=o._histogramBinOpts[s],u=o.barmode===\"overlay\",c,f,h,d,v,x,b,p=function(ge){return r.r2c(ge,0,d)},E=function(ge){return r.c2r(ge,0,d)},k=r.type===\"date\"?function(ge){return ge||ge===0?Vv.cleanDate(ge,null,d):null}:function(ge){return BV(ge)?Number(ge):null};function A(ge,ie,Te){ie[ge+\"Found\"]?(ie[ge]=k(ie[ge]),ie[ge]===null&&(ie[ge]=Te[ge])):(x[ge]=ie[ge]=Te[ge],Vv.nestedProperty(f[0],a+\".\"+ge).set(Te[ge]))}if(t[\"_\"+n+\"autoBinFinished\"])delete t[\"_\"+n+\"autoBinFinished\"];else{f=l.traces;var L=[],_=!0,C=!1,M=!1;for(c=0;c<f.length;c++)if(h=f[c],h.visible){var g=l.dirs[c];v=h[\"_\"+g+\"pos0\"]=r.makeCalcdata(h,g),L=Vv.concat(L,v),delete h[\"_\"+n+\"autoBinFinished\"],t.visible===!0&&(_?_=!1:(delete h._autoBin,h[\"_\"+n+\"autoBinFinished\"]=1),r_e.traceIs(h,\"2dMap\")&&(C=!0),h.type===\"histogram2dcontour\"&&(M=!0))}d=f[0][n+\"calendar\"];var P=H0.autoBin(L,r,l.nbins,C,d,l.sizeFound&&l.size),T=f[0]._autoBin={};if(x=T[l.dirs[0]]={},M&&(l.size||(P.start=E(H0.tickIncrement(p(P.start),P.size,!0,d))),l.end===void 0&&(P.end=E(H0.tickIncrement(p(P.end),P.size,!1,d)))),u&&!r_e.traceIs(t,\"2dMap\")&&P._dataSpan===0&&r.type!==\"category\"&&r.type!==\"multicategory\"&&t.bingroup===\"\"&&typeof t.xbins==\"undefined\"){if(i)return[P,v,!0];P=L1t(e,t,r,n,a)}b=h.cumulative||{},b.enabled&&b.currentbin!==\"include\"&&(b.direction===\"decreasing\"?P.start=E(H0.tickIncrement(p(P.start),P.size,!0,d)):P.end=E(H0.tickIncrement(p(P.end),P.size,!1,d))),l.size=P.size,l.sizeFound||(x.size=P.size,Vv.nestedProperty(f[0],a+\".size\").set(P.size)),A(\"start\",l,P),A(\"end\",l,P)}v=t[\"_\"+n+\"pos0\"],delete t[\"_\"+n+\"pos0\"];var F=t._input[a]||{},q=Vv.extendFlat({},l),V=l.start,H=r.r2l(F.start),X=H!==void 0;if((l.startFound||X)&&H!==r.r2l(V)){var G=X?H:Vv.aggNums(Math.min,null,v),N={type:r.type===\"category\"||r.type===\"multicategory\"?\"linear\":r.type,r2l:r.r2l,dtick:l.size,tick0:V,calendar:d,range:[G,H0.tickIncrement(G,l.size,!1,d)].map(r.l2r)},W=H0.tickFirst(N);W>r.r2l(G)&&(W=H0.tickIncrement(W,l.size,!0,d)),q.start=r.l2r(W),X||Vv.nestedProperty(t,a+\".start\").set(q.start)}var re=l.end,ae=r.r2l(F.end),_e=ae!==void 0;if((l.endFound||_e)&&ae!==r.r2l(re)){var Me=_e?ae:Vv.aggNums(Math.max,null,v);q.end=r.l2r(Me),_e||Vv.nestedProperty(t,a+\".start\").set(q.end)}var ke=\"autobin\"+n;return t._input[ke]===!1&&(t._input[a]=Vv.extendFlat({},t[a]||{}),delete t._input[ke],delete t[ke]),[q,v]}function L1t(e,t,r,n,i){var a=e._fullLayout,o=P1t(e,t),s=!1,l=1/0,u=[t],c,f,h;for(c=0;c<o.length;c++)if(f=o[c],f===t)s=!0;else if(!s)h=a._histogramBinOpts[f[\"_\"+n+\"bingroup\"]],l=Math.min(l,h.size||f[i].size);else{var d=NV(e,f,r,n,!0),v=d[0],x=d[2];f[\"_\"+n+\"autoBinFinished\"]=1,f[\"_\"+n+\"pos0\"]=d[1],x?u.push(f):l=Math.min(l,v.size)}var b=new Array(u.length);for(c=0;c<u.length;c++)for(var p=u[c][\"_\"+n+\"pos0\"],E=0;E<p.length;E++)if(p[E]!==void 0){b[c]=p[E];break}for(isFinite(l)||(l=Vv.distinctVals(b).minDiff),c=0;c<u.length;c++){f=u[c];var k=f[n+\"calendar\"],A={start:r.c2r(b[c]-l/2,0,k),end:r.c2r(b[c]+l/2,0,k),size:l};f._input[i]=f[i]=A,h=a._histogramBinOpts[f[\"_\"+n+\"bingroup\"]],h&&Vv.extendFlat(h,A)}return t[i]}function P1t(e,t){for(var r=t.xaxis,n=t.yaxis,i=t.orientation,a=[],o=e._fullData,s=0;s<o.length;s++){var l=o[s];l.type===\"histogram\"&&l.visible===!0&&l.orientation===i&&l.xaxis===r&&l.yaxis===n&&a.push(l)}return a}function I1t(e,t,r){var n,i,a;function o(l){a=e[l],e[l]/=2}function s(l){i=e[l],e[l]=a+i/2,a+=i}if(r===\"half\")if(t===\"increasing\")for(o(0),n=1;n<e.length;n++)s(n);else for(o(e.length-1),n=e.length-2;n>=0;n--)s(n);else if(t===\"increasing\"){for(n=1;n<e.length;n++)e[n]+=e[n-1];r===\"exclude\"&&(e.unshift(0),e.pop())}else{for(n=e.length-2;n>=0;n--)e[n]+=e[n+1];r===\"exclude\"&&(e.push(0),e.shift())}}n_e.exports={calc:C1t,calcAllAutoBins:NV}});var h_e=ye((osr,f_e)=>{\"use strict\";var a_e=Mr(),LT=Qa(),o_e=zV(),R1t=FV(),D1t=qV(),z1t=OV(),s_e=UV().calcAllAutoBins;f_e.exports=function(t,r){var n=LT.getFromId(t,r.xaxis),i=LT.getFromId(t,r.yaxis),a=r.xcalendar,o=r.ycalendar,s=function(Et){return n.r2c(Et,0,a)},l=function(Et){return i.r2c(Et,0,o)},u=function(Et){return n.c2r(Et,0,a)},c=function(Et){return i.c2r(Et,0,o)},f,h,d,v,x=s_e(t,r,n,\"x\"),b=x[0],p=x[1],E=s_e(t,r,i,\"y\"),k=E[0],A=E[1],L=r._length;p.length>L&&p.splice(L,p.length-L),A.length>L&&A.splice(L,A.length-L);var _=[],C=[],M=[],g=typeof b.size==\"string\",P=typeof k.size==\"string\",T=[],F=[],q=g?T:b,V=P?F:k,H=0,X=[],G=[],N=r.histnorm,W=r.histfunc,re=N.indexOf(\"density\")!==-1,ae=W===\"max\"||W===\"min\",_e=ae?null:0,Me=o_e.count,ke=R1t[N],ge=!1,ie=[],Te=[],Ee=\"z\"in r?r.z:\"marker\"in r&&Array.isArray(r.marker.color)?r.marker.color:\"\";Ee&&W!==\"count\"&&(ge=W===\"avg\",Me=o_e[W]);var Ae=b.size,ze=s(b.start),Ce=s(b.end)+(ze-LT.tickIncrement(ze,Ae,!1,a))/1e6;for(f=ze;f<Ce;f=LT.tickIncrement(f,Ae,!1,a))C.push(_e),T.push(f),ge&&M.push(0);T.push(f);var me=C.length,Re=(f-ze)/me,ce=u(ze+Re/2),Ge=k.size,nt=l(k.start),ct=l(k.end)+(nt-LT.tickIncrement(nt,Ge,!1,o))/1e6;for(f=nt;f<ct;f=LT.tickIncrement(f,Ge,!1,o)){_.push(C.slice()),F.push(f);var qt=new Array(me);for(h=0;h<me;h++)qt[h]=[];G.push(qt),ge&&X.push(M.slice())}F.push(f);var rt=_.length,ot=(f-nt)/rt,Rt=c(nt+ot/2);re&&(ie=l_e(C.length,q,Re,g),Te=l_e(_.length,V,ot,P)),!g&&n.type===\"date\"&&(q=u_e(s,q)),!P&&i.type===\"date\"&&(V=u_e(l,V));var kt=!0,Ct=!0,Yt=new Array(me),xr=new Array(rt),er=1/0,Ke=1/0,xt=1/0,bt=1/0;for(f=0;f<L;f++){var Lt=p[f],St=A[f];d=a_e.findBin(Lt,q),v=a_e.findBin(St,V),d>=0&&d<me&&v>=0&&v<rt&&(H+=Me(d,f,_[v],Ee,X[v]),G[v][d].push(f),kt&&(Yt[d]===void 0?Yt[d]=Lt:Yt[d]!==Lt&&(kt=!1)),Ct&&(xr[v]===void 0?xr[v]=St:xr[v]!==St&&(Ct=!1)),er=Math.min(er,Lt-T[d]),Ke=Math.min(Ke,T[d+1]-Lt),xt=Math.min(xt,St-F[v]),bt=Math.min(bt,F[v+1]-St))}if(ge)for(v=0;v<rt;v++)H+=D1t(_[v],X[v]);if(ke)for(v=0;v<rt;v++)ke(_[v],H,ie,Te[v]);return{x:p,xRanges:c_e(T,kt&&Yt,er,Ke,n,a),x0:ce,dx:Re,y:A,yRanges:c_e(F,Ct&&xr,xt,bt,i,o),y0:Rt,dy:ot,z:_,pts:G}};function l_e(e,t,r,n){var i=new Array(e),a;if(n)for(a=0;a<e;a++)i[a]=1/(t[a+1]-t[a]);else{var o=1/r;for(a=0;a<e;a++)i[a]=o}return i}function u_e(e,t){return{start:e(t.start),end:e(t.end),size:t.size}}function c_e(e,t,r,n,i,a){var o,s=e.length-1,l=new Array(s),u=z1t(r,n,e,i,a);for(o=0;o<s;o++){var c=(t||[])[o];l[o]=c===void 0?[u(e[o]),u(e[o+1],!0)]:[c,c]}return l}});var JI=ye((ssr,p_e)=>{\"use strict\";var Im=Mr(),d_e=es().BADNUM,v_e=Rg();p_e.exports=function(t,r,n,i,a,o){var s=t._length,l=r.makeCalcdata(t,i),u=n.makeCalcdata(t,a);l=v_e(t,r,i,l).vals,u=v_e(t,n,a,u).vals;var c=t.text,f=c!==void 0&&Im.isArray1D(c),h=t.hovertext,d=h!==void 0&&Im.isArray1D(h),v,x,b=Im.distinctVals(l),p=b.vals,E=Im.distinctVals(u),k=E.vals,A=[],L,_,C=k.length,M=p.length;for(v=0;v<o.length;v++)A[v]=Im.init2dArray(C,M);f&&(L=Im.init2dArray(C,M)),d&&(_=Im.init2dArray(C,M));var g=Im.init2dArray(C,M);for(v=0;v<s;v++)if(l[v]!==d_e&&u[v]!==d_e){var P=Im.findBin(l[v]+b.minDiff/2,p),T=Im.findBin(u[v]+E.minDiff/2,k);for(x=0;x<o.length;x++){var F=o[x],q=t[F],V=A[x];V[T][P]=q[v],g[T][P]=v}f&&(L[T][P]=c[v]),d&&(_[T][P]=h[v])}for(t[\"_\"+i]=p,t[\"_\"+a]=k,x=0;x<o.length;x++)t[\"_\"+o[x]]=A[x];f&&(t._text=L),d&&(t._hovertext=_),r&&r.type===\"category\"&&(t[\"_\"+i+\"CategoryMap\"]=p.map(function(H){return r._categories[H]})),n&&n.type===\"category\"&&(t[\"_\"+a+\"CategoryMap\"]=k.map(function(H){return n._categories[H]})),t._after2before=g}});var QI=ye((lsr,g_e)=>{\"use strict\";var F1t=uo(),q1t=Mr(),$I=es().BADNUM;g_e.exports=function(t,r,n,i){var a,o,s,l,u,c;function f(p){if(F1t(p))return+p}if(r&&r.transpose){for(a=0,u=0;u<t.length;u++)a=Math.max(a,t[u].length);if(a===0)return!1;s=function(p){return p.length},l=function(p,E,k){return(p[k]||[])[E]}}else a=t.length,s=function(p,E){return p[E].length},l=function(p,E,k){return(p[E]||[])[k]};var h=function(p,E,k){return E===$I||k===$I?$I:l(p,E,k)};function d(p){if(r&&r.type!==\"carpet\"&&r.type!==\"contourcarpet\"&&p&&p.type===\"category\"&&r[\"_\"+p._id.charAt(0)].length){var E=p._id.charAt(0),k={},A=r[\"_\"+E+\"CategoryMap\"]||r[E];for(u=0;u<A.length;u++)k[A[u]]=u;return function(L){var _=k[p._categories[L]];return _+1?_:$I}}else return q1t.identity}var v=d(n),x=d(i);i&&i.type===\"category\"&&(a=i._categories.length);var b=new Array(a);for(u=0;u<a;u++)for(n&&n.type===\"category\"?o=n._categories.length:o=s(t,u),b[u]=new Array(o),c=0;c<o;c++)b[u][c]=f(h(t,x(u),v(c)));return b}});var e8=ye((usr,__e)=>{\"use strict\";var O1t=Mr(),m_e=.01,B1t=[[-1,0],[1,0],[0,-1],[0,1]];function N1t(e){return .5-.25*Math.min(1,e*.5)}__e.exports=function(t,r){var n=1,i;for(y_e(t,r),i=0;i<r.length&&!(r[i][2]<4);i++);for(r=r.slice(i),i=0;i<100&&n>m_e;i++)n=y_e(t,r,N1t(n));return n>m_e&&O1t.log(\"interp2d didn't converge quickly\",n),t};function y_e(e,t,r){var n=0,i,a,o,s,l,u,c,f,h,d,v,x,b;for(s=0;s<t.length;s++){for(i=t[s],a=i[0],o=i[1],v=e[a][o],d=0,h=0,l=0;l<4;l++)u=B1t[l],c=e[a+u[0]],c&&(f=c[o+u[1]],f!==void 0&&(d===0?x=b=f:(x=Math.min(x,f),b=Math.max(b,f)),h++,d+=f));if(h===0)throw\"iterateInterp2d order is wrong: no defined neighbors\";e[a][o]=d/h,v===void 0?h<4&&(n=1):(e[a][o]=(1+r)*e[a][o]-r*v,b>x&&(n=Math.max(n,Math.abs(e[a][o]-v)/(b-x))))}return n}});var t8=ye((csr,x_e)=>{\"use strict\";var U1t=Mr().maxRowLength;x_e.exports=function(t){var r=[],n={},i=[],a=t[0],o=[],s=[0,0,0],l=U1t(t),u,c,f,h,d,v,x,b;for(c=0;c<t.length;c++)for(u=o,o=a,a=t[c+1]||[],f=0;f<l;f++)o[f]===void 0&&(v=(o[f-1]!==void 0?1:0)+(o[f+1]!==void 0?1:0)+(u[f]!==void 0?1:0)+(a[f]!==void 0?1:0),v?(c===0&&v++,f===0&&v++,c===t.length-1&&v++,f===o.length-1&&v++,v<4&&(n[[c,f]]=[c,f,v]),r.push([c,f,v])):i.push([c,f]));for(;i.length;){for(x={},b=!1,d=i.length-1;d>=0;d--)h=i[d],c=h[0],f=h[1],v=((n[[c-1,f]]||s)[2]+(n[[c+1,f]]||s)[2]+(n[[c,f-1]]||s)[2]+(n[[c,f+1]]||s)[2])/20,v&&(x[h]=[c,f,v],i.splice(d,1),b=!0);if(!b)throw\"findEmpties iterated with no new neighbors\";for(h in x)n[h]=x[h],r.push(x[h])}return r.sort(function(p,E){return E[2]-p[2]})}});var VV=ye((fsr,T_e)=>{\"use strict\";var b_e=ba(),w_e=Mr().isArrayOrTypedArray;T_e.exports=function(t,r,n,i,a,o){var s=[],l=b_e.traceIs(t,\"contour\"),u=b_e.traceIs(t,\"histogram\"),c,f,h,d=w_e(r)&&r.length>1;if(d&&!u&&o.type!==\"category\"){var v=r.length;if(v<=a){if(l)s=Array.from(r).slice(0,a);else if(a===1)o.type===\"log\"?s=[.5*r[0],2*r[0]]:s=[r[0]-.5,r[0]+.5];else if(o.type===\"log\"){for(s=[Math.pow(r[0],1.5)/Math.pow(r[1],.5)],h=1;h<v;h++)s.push(Math.sqrt(r[h-1]*r[h]));s.push(Math.pow(r[v-1],1.5)/Math.pow(r[v-2],.5))}else{for(s=[1.5*r[0]-.5*r[1]],h=1;h<v;h++)s.push((r[h-1]+r[h])*.5);s.push(1.5*r[v-1]-.5*r[v-2])}if(v<a){var x=s[s.length-1],b;if(o.type===\"log\")for(b=x/s[s.length-2],h=v;h<a;h++)x*=b,s.push(x);else for(b=x-s[s.length-2],h=v;h<a;h++)x+=b,s.push(x)}}else return l?r.slice(0,a):r.slice(0,a+1)}else{var p=t[o._id.charAt(0)+\"calendar\"];if(u)c=o.r2c(n,0,p);else if(w_e(r)&&r.length===1)c=r[0];else if(n===void 0)c=0;else{var E=o.type===\"log\"?o.d2c:o.r2c;c=E(n,0,p)}for(f=i||1,h=l?0:-.5;h<a;h++)s.push(c+f*h)}return s}});var n8=ye((hsr,E_e)=>{\"use strict\";var A_e=ba(),HV=Mr(),r8=Qa(),S_e=Rg(),V1t=h_e(),H1t=zv(),G1t=JI(),j1t=QI(),W1t=e8(),Z1t=t8(),i8=VV(),GV=es().BADNUM;E_e.exports=function(t,r){var n=r8.getFromId(t,r.xaxis||\"x\"),i=r8.getFromId(t,r.yaxis||\"y\"),a=A_e.traceIs(r,\"contour\"),o=A_e.traceIs(r,\"histogram\"),s=a?\"best\":r.zsmooth,l,u,c,f,h,d,v,x,b,p,E;if(n._minDtick=0,i._minDtick=0,o)E=V1t(t,r),f=E.orig_x,l=E.x,u=E.x0,c=E.dx,x=E.orig_y,h=E.y,d=E.y0,v=E.dy,b=E.z;else{var k=r.z;HV.isArray1D(k)?(G1t(r,n,i,\"x\",\"y\",[\"z\"]),l=r._x,h=r._y,k=r._z):(f=r.x?n.makeCalcdata(r,\"x\"):[],x=r.y?i.makeCalcdata(r,\"y\"):[],l=S_e(r,n,\"x\",f).vals,h=S_e(r,i,\"y\",x).vals,r._x=l,r._y=h),u=r.x0,c=r.dx,d=r.y0,v=r.dy,b=j1t(k,r,n,i)}(n.rangebreaks||i.rangebreaks)&&(b=X1t(l,h,b),o||(l=M_e(l),h=M_e(h),r._x=l,r._y=h)),!o&&(a||r.connectgaps)&&(r._emptypoints=Z1t(b),W1t(b,r._emptypoints));function A(q){s=r._input.zsmooth=r.zsmooth=!1,HV.warn('cannot use zsmooth: \"fast\": '+q)}function L(q){if(q.length>1){var V=(q[q.length-1]-q[0])/(q.length-1),H=Math.abs(V/100);for(p=0;p<q.length-1;p++)if(Math.abs(q[p+1]-q[p]-V)>H)return!1}return!0}r._islinear=!1,n.type===\"log\"||i.type===\"log\"?s===\"fast\"&&A(\"log axis found\"):L(l)?L(h)?r._islinear=!0:s===\"fast\"&&A(\"y scale is not linear\"):s===\"fast\"&&A(\"x scale is not linear\");var _=HV.maxRowLength(b),C=r.xtype===\"scaled\"?\"\":l,M=i8(r,C,u,c,_,n),g=r.ytype===\"scaled\"?\"\":h,P=i8(r,g,d,v,b.length,i);r._extremes[n._id]=r8.findExtremes(n,M),r._extremes[i._id]=r8.findExtremes(i,P);var T={x:M,y:P,z:b,text:r._text||r.text,hovertext:r._hovertext||r.hovertext};if(r.xperiodalignment&&f&&(T.orig_x=f),r.yperiodalignment&&x&&(T.orig_y=x),C&&C.length===M.length-1&&(T.xCenter=C),g&&g.length===P.length-1&&(T.yCenter=g),o&&(T.xRanges=E.xRanges,T.yRanges=E.yRanges,T.pts=E.pts),a||H1t(t,r,{vals:b,cLetter:\"z\"}),a&&r.contours&&r.contours.coloring===\"heatmap\"){var F={type:r.type===\"contour\"?\"heatmap\":\"histogram2d\",xcalendar:r.xcalendar,ycalendar:r.ycalendar};T.xfill=i8(F,C,u,c,_,n),T.yfill=i8(F,g,d,v,b.length,i)}return[T]};function M_e(e){for(var t=[],r=e.length,n=0;n<r;n++){var i=e[n];i!==GV&&t.push(i)}return t}function X1t(e,t,r){for(var n=[],i=-1,a=0;a<r.length;a++)if(t[a]!==GV){i++,n[i]=[];for(var o=0;o<r[a].length;o++)e[o]!==GV&&n[i].push(r[a][o])}return n}});var o8=ye(a8=>{\"use strict\";a8.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\"]];a8.STYLE=a8.CSS_DECLARATIONS.map(function(e){return e.join(\": \")+\"; \"}).join(\"\")});var jV=ye((vsr,L_e)=>{\"use strict\";var k_e=o8(),Y1t=ao(),C_e=Mr(),PT=null;function K1t(){if(PT!==null)return PT;PT=!1;var e=C_e.isSafari()||C_e.isIOS();if(window.navigator.userAgent&&!e){var t=Array.from(k_e.CSS_DECLARATIONS).reverse(),r=window.CSS&&window.CSS.supports||window.supportsCSS;if(typeof r==\"function\")PT=t.some(function(o){return r.apply(null,o)});else{var n=Y1t.tester.append(\"image\").attr(\"style\",k_e.STYLE),i=window.getComputedStyle(n.node()),a=i.imageRendering;PT=t.some(function(o){var s=o[1];return a===s||a===s.toLowerCase()}),n.remove()}}return PT}L_e.exports=K1t});var s8=ye((psr,B_e)=>{\"use strict\";var P_e=xa(),J1t=id(),$1t=ba(),Q1t=ao(),e_t=Qa(),G0=Mr(),I_e=Pl(),t_t=$P(),r_t=va(),i_t=Mu().extractOpts,n_t=Mu().makeColorScaleFuncFromTrace,a_t=Zp(),o_t=Nh(),WV=o_t.LINE_SPACING,s_t=jV(),l_t=o8().STYLE,q_e=\"heatmap-label\";function O_e(e){return e.selectAll(\"g.\"+q_e)}function R_e(e){O_e(e).remove()}B_e.exports=function(e,t,r,n){var i=t.xaxis,a=t.yaxis;G0.makeTraceGroups(n,r,\"hm\").each(function(o){var s=P_e.select(this),l=o[0],u=l.trace,c=u.xgap||0,f=u.ygap||0,h=l.z,d=l.x,v=l.y,x=l.xCenter,b=l.yCenter,p=$1t.traceIs(u,\"contour\"),E=p?\"best\":u.zsmooth,k=h.length,A=G0.maxRowLength(h),L=!1,_=!1,C,M,g,P,T,F,q,V;for(F=0;C===void 0&&F<d.length-1;)C=i.c2p(d[F]),F++;for(F=d.length-1;M===void 0&&F>0;)M=i.c2p(d[F]),F--;for(M<C&&(g=M,M=C,C=g,L=!0),F=0;P===void 0&&F<v.length-1;)P=a.c2p(v[F]),F++;for(F=v.length-1;T===void 0&&F>0;)T=a.c2p(v[F]),F--;T<P&&(g=P,P=T,T=g,_=!0),p&&(x=d,b=v,d=l.xfill,v=l.yfill);var H=\"default\";if(E?H=E===\"best\"?\"smooth\":\"fast\":u._islinear&&c===0&&f===0&&s_t()&&(H=\"fast\"),H!==\"fast\"){var X=E===\"best\"?0:.5;C=Math.max(-X*i._length,C),M=Math.min((1+X)*i._length,M),P=Math.max(-X*a._length,P),T=Math.min((1+X)*a._length,T)}var G=Math.round(M-C),N=Math.round(T-P),W=C>=i._length||M<=0||P>=a._length||T<=0;if(W){var re=s.selectAll(\"image\").data([]);re.exit().remove(),R_e(s);return}var ae,_e;H===\"fast\"?(ae=A,_e=k):(ae=G,_e=N);var Me=document.createElement(\"canvas\");Me.width=ae,Me.height=_e;var ke=Me.getContext(\"2d\",{willReadFrequently:!0}),ge=n_t(u,{noNumericCheck:!0,returnArray:!0}),ie,Te;H===\"fast\"?(ie=L?function(Pi){return A-1-Pi}:G0.identity,Te=_?function(Pi){return k-1-Pi}:G0.identity):(ie=function(Pi){return G0.constrain(Math.round(i.c2p(d[Pi])-C),0,G)},Te=function(Pi){return G0.constrain(Math.round(a.c2p(v[Pi])-P),0,N)});var Ee=Te(0),Ae=[Ee,Ee],ze=L?0:1,Ce=_?0:1,me=0,Re=0,ce=0,Ge=0,nt,ct,qt,rt,ot;function Rt(Pi,Gi){if(Pi!==void 0){var Ki=ge(Pi);return Ki[0]=Math.round(Ki[0]),Ki[1]=Math.round(Ki[1]),Ki[2]=Math.round(Ki[2]),me+=Gi,Re+=Ki[0]*Gi,ce+=Ki[1]*Gi,Ge+=Ki[2]*Gi,Ki}return[0,0,0,0]}function kt(Pi,Gi,Ki,ka){var jn=Pi[Ki.bin0];if(jn===void 0)return Rt(void 0,1);var la=Pi[Ki.bin1],Fa=Gi[Ki.bin0],Ra=Gi[Ki.bin1],jo=la-jn||0,oa=Fa-jn||0,Sn;return la===void 0?Ra===void 0?Sn=0:Fa===void 0?Sn=2*(Ra-jn):Sn=(2*Ra-Fa-jn)*2/3:Ra===void 0?Fa===void 0?Sn=0:Sn=(2*jn-la-Fa)*2/3:Fa===void 0?Sn=(2*Ra-la-jn)*2/3:Sn=Ra+jn-la-Fa,Rt(jn+Ki.frac*jo+ka.frac*(oa+Ki.frac*Sn))}if(H!==\"default\"){var Ct=0,Yt;try{Yt=new Uint8Array(ae*_e*4)}catch(Pi){Yt=new Array(ae*_e*4)}if(H===\"smooth\"){var xr=x||d,er=b||v,Ke=new Array(xr.length),xt=new Array(er.length),bt=new Array(G),Lt=x?z_e:D_e,St=b?z_e:D_e,Et,dt,Ht;for(F=0;F<xr.length;F++)Ke[F]=Math.round(i.c2p(xr[F])-C);for(F=0;F<er.length;F++)xt[F]=Math.round(a.c2p(er[F])-P);for(F=0;F<G;F++)bt[F]=Lt(F,Ke);for(q=0;q<N;q++)for(Et=St(q,xt),dt=h[Et.bin0],Ht=h[Et.bin1],F=0;F<G;F++,Ct+=4)ot=kt(dt,Ht,bt[F],Et),F_e(Yt,Ct,ot)}else for(q=0;q<k;q++)for(rt=h[q],Ae=Te(q),F=0;F<A;F++)ot=Rt(rt[F],1),Ct=(Ae*A+ie(F))*4,F_e(Yt,Ct,ot);var $t=ke.createImageData(ae,_e);try{$t.data.set(Yt)}catch(Pi){var fr=$t.data,_r=fr.length;for(q=0;q<_r;q++)fr[q]=Yt[q]}ke.putImageData($t,0,0)}else{var Br=Math.floor(c/2),Or=Math.floor(f/2);for(q=0;q<k;q++)if(rt=h[q],Ae.reverse(),Ae[Ce]=Te(q+1),!(Ae[0]===Ae[1]||Ae[0]===void 0||Ae[1]===void 0))for(ct=ie(0),nt=[ct,ct],F=0;F<A;F++)nt.reverse(),nt[ze]=ie(F+1),!(nt[0]===nt[1]||nt[0]===void 0||nt[1]===void 0)&&(qt=rt[F],ot=Rt(qt,(nt[1]-nt[0])*(Ae[1]-Ae[0])),ke.fillStyle=\"rgba(\"+ot.join(\",\")+\")\",ke.fillRect(nt[0]+Br,Ae[0]+Or,nt[1]-nt[0]-c,Ae[1]-Ae[0]-f))}Re=Math.round(Re/me),ce=Math.round(ce/me),Ge=Math.round(Ge/me);var Nr=J1t(\"rgb(\"+Re+\",\"+ce+\",\"+Ge+\")\");e._hmpixcount=(e._hmpixcount||0)+me,e._hmlumcount=(e._hmlumcount||0)+me*Nr.getLuminance();var ut=s.selectAll(\"image\").data(o);ut.enter().append(\"svg:image\").attr({xmlns:a_t.svg,preserveAspectRatio:\"none\"}),ut.attr({height:N,width:G,x:C,y:P,\"xlink:href\":Me.toDataURL(\"image/png\")}),H===\"fast\"&&!E&&ut.attr(\"style\",l_t),R_e(s);var Ne=u.texttemplate;if(Ne){var Ye=i_t(u),Ve={type:\"linear\",range:[Ye.min,Ye.max],_separators:i._separators,_numFormat:i._numFormat},Xe=u.type===\"histogram2dcontour\",ht=u.type===\"contour\",Le=ht?1:0,xe=ht?k-1:k,Se=ht?1:0,lt=ht?A-1:A,Gt=[];for(F=Le;F<xe;F++){var Vt;if(ht)Vt=l.y[F];else if(Xe){if(F===0||F===k-1)continue;Vt=l.y[F]}else if(l.yCenter)Vt=l.yCenter[F];else{if(F+1===k&&l.y[F+1]===void 0)continue;Vt=(l.y[F]+l.y[F+1])/2}var ar=Math.round(a.c2p(Vt));if(!(0>ar||ar>a._length))for(q=Se;q<lt;q++){var Qr;if(ht)Qr=l.x[q];else if(Xe){if(q===0||q===A-1)continue;Qr=l.x[q]}else if(l.xCenter)Qr=l.xCenter[q];else{if(q+1===A&&l.x[q+1]===void 0)continue;Qr=(l.x[q]+l.x[q+1])/2}var ai=Math.round(i.c2p(Qr));if(!(0>ai||ai>i._length)){var jr=t_t({x:Qr,y:Vt},u,e._fullLayout);jr.x=Qr,jr.y=Vt;var ri=l.z[F][q];ri===void 0?(jr.z=\"\",jr.zLabel=\"\"):(jr.z=ri,jr.zLabel=e_t.tickText(Ve,ri,\"hover\").text);var bi=l.text&&l.text[F]&&l.text[F][q];(bi===void 0||bi===!1)&&(bi=\"\"),jr.text=bi;var nn=G0.texttemplateString(Ne,jr,e._fullLayout._d3locale,jr,u._meta||{});if(nn){var Wi=nn.split(\"<br>\"),Ni=Wi.length,_n=0;for(V=0;V<Ni;V++)_n=Math.max(_n,Wi[V].length);Gt.push({l:Ni,c:_n,t:nn,x:ai,y:ar,z:ri})}}}}var $i=u.textfont,zn=$i.size,Wn=e._fullLayout.font.size;if(!zn||zn===\"auto\"){var It=1/0,ft=1/0,jt=0,Zt=0;for(V=0;V<Gt.length;V++){var yr=Gt[V];if(jt=Math.max(jt,yr.l),Zt=Math.max(Zt,yr.c),V<Gt.length-1){var Fr=Gt[V+1],Zr=Math.abs(Fr.x-yr.x),Vr=Math.abs(Fr.y-yr.y);Zr&&(It=Math.min(It,Zr)),Vr&&(ft=Math.min(ft,Vr))}}!isFinite(It)||!isFinite(ft)?zn=Wn:(It-=c,ft-=f,It/=Zt,ft/=jt,It/=WV/2,ft/=WV,zn=Math.min(Math.floor(It),Math.floor(ft),Wn))}if(zn<=0||!isFinite(zn))return;var gi=function(Pi){return Pi.x},Si=function(Pi){return Pi.y-zn*(Pi.l*WV/2-1)},Mi=O_e(s).data(Gt);Mi.enter().append(\"g\").classed(q_e,1).append(\"text\").attr(\"text-anchor\",\"middle\").each(function(Pi){var Gi=P_e.select(this),Ki=$i.color;(!Ki||Ki===\"auto\")&&(Ki=r_t.contrast(Pi.z===void 0?e._fullLayout.plot_bgcolor:\"rgba(\"+ge(Pi.z).join()+\")\")),Gi.attr(\"data-notex\",1).call(I_e.positionText,gi(Pi),Si(Pi)).call(Q1t.font,{family:$i.family,size:zn,color:Ki,weight:$i.weight,style:$i.style,variant:$i.variant,textcase:$i.textcase,lineposition:$i.lineposition,shadow:$i.shadow}).text(Pi.t).call(I_e.convertToTspans,e)})}})};function D_e(e,t){var r=t.length-2,n=G0.constrain(G0.findBin(e,t),0,r),i=t[n],a=t[n+1],o=G0.constrain(n+(e-i)/(a-i)-.5,0,r),s=Math.round(o),l=Math.abs(o-s);return!o||o===r||!l?{bin0:s,bin1:s,frac:0}:{bin0:s,frac:l,bin1:Math.round(s+l/(o-s))}}function z_e(e,t){var r=t.length-1,n=G0.constrain(G0.findBin(e,t),0,r),i=t[n],a=t[n+1],o=(e-i)/(a-i)||0;return o<=0?{bin0:n,bin1:n,frac:0}:o<.5?{bin0:n,bin1:n+1,frac:o}:{bin0:n+1,bin1:n,frac:1-o}}function F_e(e,t,r){e[t]=r[0],e[t+1]=r[1],e[t+2]=r[2],e[t+3]=Math.round(r[3]*255)}});var M_=ye((gsr,N_e)=>{\"use strict\";N_e.exports={min:\"zmin\",max:\"zmax\"}});var l8=ye((msr,U_e)=>{\"use strict\";var u_t=xa();U_e.exports=function(t){u_t.select(t).selectAll(\".hm image\").style(\"opacity\",function(r){return r.trace.opacity})}});var c8=ye((ysr,H_e)=>{\"use strict\";var V_e=Nc(),_4=Mr(),u8=_4.isArrayOrTypedArray,c_t=Qa(),f_t=Mu().extractOpts;H_e.exports=function(t,r,n,i,a){a||(a={});var o=a.isContour,s=t.cd[0],l=s.trace,u=t.xa,c=t.ya,f=s.x,h=s.y,d=s.z,v=s.xCenter,x=s.yCenter,b=s.zmask,p=l.zhoverformat,E=f,k=h,A,L,_,C;if(t.index!==!1){try{_=Math.round(t.index[1]),C=Math.round(t.index[0])}catch(re){_4.error(\"Error hovering on heatmap, pointNumber must be [row,col], found:\",t.index);return}if(_<0||_>=d[0].length||C<0||C>d.length)return}else{if(V_e.inbox(r-f[0],r-f[f.length-1],0)>0||V_e.inbox(n-h[0],n-h[h.length-1],0)>0)return;if(o){var M;for(E=[2*f[0]-f[1]],M=1;M<f.length;M++)E.push((f[M]+f[M-1])/2);for(E.push([2*f[f.length-1]-f[f.length-2]]),k=[2*h[0]-h[1]],M=1;M<h.length;M++)k.push((h[M]+h[M-1])/2);k.push([2*h[h.length-1]-h[h.length-2]])}_=Math.max(0,Math.min(E.length-2,_4.findBin(r,E))),C=Math.max(0,Math.min(k.length-2,_4.findBin(n,k)))}var g=u.c2p(f[_]),P=u.c2p(f[_+1]),T=c.c2p(h[C]),F=c.c2p(h[C+1]),q,V;o?(q=s.orig_x||f,V=s.orig_y||h,P=g,A=q[_],F=T,L=V[C]):(q=s.orig_x||v||f,V=s.orig_y||x||h,A=v?q[_]:(q[_]+q[_+1])/2,L=x?V[C]:(V[C]+V[C+1])/2,u&&u.type===\"category\"&&(A=f[_]),c&&c.type===\"category\"&&(L=h[C]),l.zsmooth&&(g=P=u.c2p(A),T=F=c.c2p(L)));var H=d[C][_];if(b&&!b[C][_]&&(H=void 0),!(H===void 0&&!l.hoverongaps)){var X;u8(s.hovertext)&&u8(s.hovertext[C])?X=s.hovertext[C][_]:u8(s.text)&&u8(s.text[C])&&(X=s.text[C][_]);var G=f_t(l),N={type:\"linear\",range:[G.min,G.max],hoverformat:p,_separators:u._separators,_numFormat:u._numFormat},W=c_t.tickText(N,H,\"hover\").text;return[_4.extendFlat(t,{index:l._after2before?l._after2before[C][_]:[C,_],distance:t.maxHoverDistance,spikeDistance:t.maxSpikeDistance,x0:g,x1:P,y0:T,y1:F,xLabelVal:A,yLabelVal:L,zLabelVal:H,zLabel:W,text:X})]}}});var j_e=ye((_sr,G_e)=>{\"use strict\";G_e.exports={attributes:ET(),supplyDefaults:G1e(),calc:n8(),plot:s8(),colorbar:M_(),style:l8(),hoverPoints:c8(),moduleType:\"trace\",name:\"heatmap\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"showLegend\"],meta:{}}});var Z_e=ye((xsr,W_e)=>{\"use strict\";W_e.exports=j_e()});var ZV=ye((bsr,X_e)=>{\"use strict\";X_e.exports=function(t,r){return{start:{valType:\"any\",editType:\"calc\"},end:{valType:\"any\",editType:\"calc\"},size:{valType:\"any\",editType:\"calc\"},editType:\"calc\"}}});var K_e=ye((wsr,Y_e)=>{\"use strict\";Y_e.exports={eventDataKeys:[\"binNumber\"]}});var f8=ye((Tsr,Q_e)=>{\"use strict\";var Ip=Lm(),J_e=Oc().axisHoverFormat,h_t=Wo().hovertemplateAttrs,d_t=Wo().texttemplateAttrs,XV=Su(),$_e=ZV(),v_t=K_e(),YV=no().extendFlat;Q_e.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},xhoverformat:J_e(\"x\"),yhoverformat:J_e(\"y\"),text:YV({},Ip.text,{}),hovertext:YV({},Ip.hovertext,{}),orientation:Ip.orientation,histfunc:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"min\",\"max\"],dflt:\"count\",editType:\"calc\"},histnorm:{valType:\"enumerated\",values:[\"\",\"percent\",\"probability\",\"density\",\"probability density\"],dflt:\"\",editType:\"calc\"},cumulative:{enabled:{valType:\"boolean\",dflt:!1,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"increasing\",\"decreasing\"],dflt:\"increasing\",editType:\"calc\"},currentbin:{valType:\"enumerated\",values:[\"include\",\"exclude\",\"half\"],dflt:\"include\",editType:\"calc\"},editType:\"calc\"},nbinsx:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},xbins:$_e(\"x\",!0),nbinsy:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},ybins:$_e(\"y\",!0),autobinx:{valType:\"boolean\",dflt:null,editType:\"calc\"},autobiny:{valType:\"boolean\",dflt:null,editType:\"calc\"},bingroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertemplate:h_t({},{keys:v_t.eventDataKeys}),texttemplate:d_t({arrayOk:!1,editType:\"plot\"},{keys:[\"label\",\"value\"]}),textposition:YV({},Ip.textposition,{arrayOk:!1}),textfont:XV({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),outsidetextfont:XV({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),insidetextfont:XV({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),insidetextanchor:Ip.insidetextanchor,textangle:Ip.textangle,cliponaxis:Ip.cliponaxis,constraintext:Ip.constraintext,marker:Ip.marker,offsetgroup:Ip.offsetgroup,alignmentgroup:Ip.alignmentgroup,selected:Ip.selected,unselected:Ip.unselected,zorder:Ip.zorder}});var ixe=ye((Asr,rxe)=>{\"use strict\";var exe=ba(),x4=Mr(),txe=va(),p_t=r0().handleText,g_t=FI(),m_t=f8();rxe.exports=function(t,r,n,i){function a(E,k){return x4.coerce(t,r,m_t,E,k)}var o=a(\"x\"),s=a(\"y\"),l=a(\"cumulative.enabled\");l&&(a(\"cumulative.direction\"),a(\"cumulative.currentbin\")),a(\"text\");var u=a(\"textposition\");p_t(t,r,i,a,u,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\");var c=a(\"orientation\",s&&!o?\"h\":\"v\"),f=c===\"v\"?\"x\":\"y\",h=c===\"v\"?\"y\":\"x\",d=o&&s?Math.min(x4.minRowLength(o)&&x4.minRowLength(s)):x4.minRowLength(r[f]||[]);if(!d){r.visible=!1;return}r._length=d;var v=exe.getComponentMethod(\"calendars\",\"handleTraceDefaults\");v(t,r,[\"x\",\"y\"],i);var x=r[h];x&&a(\"histfunc\"),a(\"histnorm\"),a(\"autobin\"+f),g_t(t,r,a,n,i),x4.coerceSelectionMarkerOpacity(r,a);var b=(r.marker.line||{}).color,p=exe.getComponentMethod(\"errorbars\",\"supplyDefaults\");p(t,r,b||txe.defaultLine,{axis:\"y\"}),p(t,r,b||txe.defaultLine,{axis:\"x\",inherit:\"y\"}),a(\"zorder\")}});var d8=ye((Ssr,oxe)=>{\"use strict\";var b4=Mr(),y_t=af(),h8=ba().traceIs,__t=Hb(),x_t=r0().validateCornerradius,nxe=b4.nestedProperty,KV=Bb().getAxisGroup,axe=[{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\"}],b_t=[\"x\",\"y\"];oxe.exports=function(t,r){var n=r._histogramBinOpts={},i=[],a={},o=[],s,l,u,c,f,h,d;function v(H,X){return b4.coerce(s._input,s,s._module.attributes,H,X)}function x(H){return H.orientation===\"v\"?\"x\":\"y\"}function b(H,X){var G=y_t.getFromTrace({_fullLayout:r},H,X);return G.type}function p(H,X,G){var N=H.uid+\"__\"+G;X||(X=N);var W=b(H,G),re=H[G+\"calendar\"]||\"\",ae=n[X],_e=!0;ae&&(W===ae.axType&&re===ae.calendar?(_e=!1,ae.traces.push(H),ae.dirs.push(G)):(X=N,W!==ae.axType&&b4.warn([\"Attempted to group the bins of trace\",H.index,\"set on a\",\"type:\"+W,\"axis\",\"with bins on\",\"type:\"+ae.axType,\"axis.\"].join(\" \")),re!==ae.calendar&&b4.warn([\"Attempted to group the bins of trace\",H.index,\"set with a\",re,\"calendar\",\"with bins\",ae.calendar?\"on a \"+ae.calendar+\" calendar\":\"w/o a set calendar\"].join(\" \")))),_e&&(n[X]={traces:[H],dirs:[G],axType:W,calendar:H[G+\"calendar\"]||\"\"}),H[\"_\"+G+\"bingroup\"]=X}for(f=0;f<t.length;f++)if(s=t[f],h8(s,\"histogram\")){if(i.push(s),delete s._xautoBinFinished,delete s._yautoBinFinished,s.type===\"histogram\"){var E=v(\"marker.cornerradius\",r.barcornerradius);s.marker&&(s.marker.cornerradius=x_t(E))}h8(s,\"2dMap\")||__t(s._input,s,r,v,r.barmode)}var k=r._alignmentOpts||{};for(f=0;f<i.length;f++){if(s=i[f],u=\"\",!h8(s,\"2dMap\")){if(c=x(s),r.barmode===\"group\"&&s.alignmentgroup){var A=s[c+\"axis\"],L=KV(r,A)+s.orientation;(k[L]||{})[s.alignmentgroup]&&(u=L)}!u&&r.barmode!==\"overlay\"&&(u=KV(r,s.xaxis)+KV(r,s.yaxis)+x(s))}u?(a[u]||(a[u]=[]),a[u].push(s)):o.push(s)}for(u in a){if(l=a[u],l.length===1){o.push(l[0]);continue}var _=!1;for(l.length&&(s=l[0],_=v(\"bingroup\")),u=_||u,f=0;f<l.length;f++){s=l[f];var C=s._input.bingroup;C&&C!==u&&b4.warn([\"Trace\",s.index,\"must match\",\"within bingroup\",u+\".\",\"Ignoring its bingroup:\",C,\"setting.\"].join(\" \")),s.bingroup=u,p(s,u,x(s))}}for(f=0;f<o.length;f++){s=o[f];var M=v(\"bingroup\");if(h8(s,\"2dMap\"))for(d=0;d<2;d++){c=b_t[d];var g=v(c+\"bingroup\",M?M+\"__\"+c:null);p(s,g,c)}else p(s,M,x(s))}for(u in n){var P=n[u];for(l=P.traces,h=0;h<axe.length;h++){var T=axe[h],F=T.name,q,V;if(!(F===\"nbins\"&&P.sizeFound)){for(f=0;f<l.length;f++){if(s=l[f],c=P.dirs[f],q=T.aStr[c],nxe(s._input,q).get()!==void 0){P[F]=v(q),P[F+\"Found\"]=!0;break}V=(s._autoBin||{})[c]||{},V[F]&&nxe(s,q).set(V[F])}if(F===\"start\"||F===\"end\")for(;f<l.length;f++)s=l[f],s[\"_\"+c+\"bingroup\"]&&(V=(s._autoBin||{})[c]||{},v(q,V[F]));F===\"nbins\"&&!P.sizeFound&&!P.nbinsFound&&(s=l[0],P[F]=v(q))}}}}});var lxe=ye((Msr,sxe)=>{\"use strict\";var w_t=TT().hoverPoints,T_t=Qa().hoverLabelText;sxe.exports=function(t,r,n,i,a){var o=w_t(t,r,n,i,a);if(o){t=o[0];var s=t.cd[t.index],l=t.cd[0].trace;if(!l.cumulative.enabled){var u=l.orientation===\"h\"?\"y\":\"x\";t[u+\"Label\"]=T_t(t[u+\"a\"],[s.ph0,s.ph1],l[u+\"hoverformat\"])}return o}}});var JV=ye((Esr,uxe)=>{\"use strict\";uxe.exports=function(t,r,n,i,a){if(t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,\"zLabelVal\"in r&&(t.z=r.zLabelVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),!(n.cumulative||{}).enabled){var o=Array.isArray(a)?i[0].pts[a[0]][a[1]]:i[a].pts;t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex;var s;if(n._indexToPoints){s=[];for(var l=0;l<o.length;l++)s=s.concat(n._indexToPoints[o[l]])}else s=o;t.pointIndices=s}return t}});var fxe=ye((ksr,cxe)=>{\"use strict\";cxe.exports={attributes:f8(),layoutAttributes:zI(),supplyDefaults:ixe(),crossTraceDefaults:d8(),supplyLayoutDefaults:yV(),calc:UV().calc,crossTraceCalc:Gb().crossTraceCalc,plot:i2().plot,layerName:\"barlayer\",style:N0().style,styleOnSelect:N0().styleOnSelect,colorbar:Kd(),hoverPoints:lxe(),selectPoints:AT(),eventData:JV(),moduleType:\"trace\",name:\"histogram\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"bar\",\"histogram\",\"oriented\",\"errorBarsOK\",\"showLegend\"],meta:{}}});var dxe=ye((Csr,hxe)=>{\"use strict\";hxe.exports=fxe()});var p8=ye((Lsr,pxe)=>{\"use strict\";var Vg=f8(),vxe=ZV(),v8=ET(),A_t=vl(),$V=Oc().axisHoverFormat,S_t=Wo().hovertemplateAttrs,M_t=Wo().texttemplateAttrs,E_t=Jl(),w4=no().extendFlat;pxe.exports=w4({x:Vg.x,y:Vg.y,z:{valType:\"data_array\",editType:\"calc\"},marker:{color:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},histnorm:Vg.histnorm,histfunc:Vg.histfunc,nbinsx:Vg.nbinsx,xbins:vxe(\"x\"),nbinsy:Vg.nbinsy,ybins:vxe(\"y\"),autobinx:Vg.autobinx,autobiny:Vg.autobiny,bingroup:w4({},Vg.bingroup,{}),xbingroup:w4({},Vg.bingroup,{}),ybingroup:w4({},Vg.bingroup,{}),xgap:v8.xgap,ygap:v8.ygap,zsmooth:v8.zsmooth,xhoverformat:$V(\"x\"),yhoverformat:$V(\"y\"),zhoverformat:$V(\"z\",1),hovertemplate:S_t({},{keys:\"z\"}),texttemplate:M_t({arrayOk:!1,editType:\"plot\"},{keys:\"z\"}),textfont:v8.textfont,showlegend:w4({},A_t.showlegend,{dflt:!1})},E_t(\"\",{cLetter:\"z\",autoColorDflt:!1}))});var QV=ye((Psr,mxe)=>{\"use strict\";var k_t=ba(),gxe=Mr();mxe.exports=function(t,r,n,i){var a=n(\"x\"),o=n(\"y\"),s=gxe.minRowLength(a),l=gxe.minRowLength(o);if(!s||!l){r.visible=!1;return}r._length=Math.min(s,l);var u=k_t.getComponentMethod(\"calendars\",\"handleTraceDefaults\");u(t,r,[\"x\",\"y\"],i);var c=n(\"z\")||n(\"marker.color\");c&&n(\"histfunc\"),n(\"histnorm\"),n(\"autobinx\"),n(\"autobiny\")}});var _xe=ye((Isr,yxe)=>{\"use strict\";var C_t=Mr(),L_t=QV(),P_t=DV(),I_t=Uh(),R_t=y4(),D_t=p8();yxe.exports=function(t,r,n,i){function a(o,s){return C_t.coerce(t,r,D_t,o,s)}L_t(t,r,a,i),r.visible!==!1&&(P_t(t,r,a,i),I_t(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),a(\"hovertemplate\"),R_t(a,i),a(\"xhoverformat\"),a(\"yhoverformat\"))}});var wxe=ye((Rsr,bxe)=>{\"use strict\";var z_t=c8(),xxe=Qa().hoverLabelText;bxe.exports=function(t,r,n,i,a){var o=z_t(t,r,n,i,a);if(o){t=o[0];var s=t.index,l=s[0],u=s[1],c=t.cd[0],f=c.trace,h=c.xRanges[u],d=c.yRanges[l];return t.xLabel=xxe(t.xa,[h[0],h[1]],f.xhoverformat),t.yLabel=xxe(t.ya,[d[0],d[1]],f.yhoverformat),o}}});var Axe=ye((Dsr,Txe)=>{\"use strict\";Txe.exports={attributes:p8(),supplyDefaults:_xe(),crossTraceDefaults:d8(),calc:n8(),plot:s8(),layerName:\"heatmaplayer\",colorbar:M_(),style:l8(),hoverPoints:wxe(),eventData:JV(),moduleType:\"trace\",name:\"histogram2d\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"histogram\",\"showLegend\"],meta:{}}});var Mxe=ye((zsr,Sxe)=>{\"use strict\";Sxe.exports=Axe()});var g8=ye((Fsr,Exe)=>{\"use strict\";Exe.exports={COMPARISON_OPS:[\"=\",\"!=\",\"<\",\">=\",\">\",\"<=\"],COMPARISON_OPS2:[\"=\",\"<\",\">=\",\">\",\"<=\"],INTERVAL_OPS:[\"[]\",\"()\",\"[)\",\"(]\",\"][\",\")(\",\"](\",\")[\"],SET_OPS:[\"{}\",\"}{\"],CONSTRAINT_REDUCTION:{\"=\":\"=\",\"<\":\"<\",\"<=\":\"<\",\">\":\">\",\">=\":\">\",\"[]\":\"[]\",\"()\":\"[]\",\"[)\":\"[]\",\"(]\":\"[]\",\"][\":\"][\",\")(\":\"][\",\"](\":\"][\",\")[\":\"][\"}}});var T4=ye((qsr,Pxe)=>{\"use strict\";var Gh=ET(),m8=Uc(),Cxe=Oc(),eH=Cxe.axisHoverFormat,F_t=Cxe.descriptionOnlyNumbers,q_t=Jl(),O_t=Ed().dash,B_t=Su(),IT=no().extendFlat,Lxe=g8(),N_t=Lxe.COMPARISON_OPS2,U_t=Lxe.INTERVAL_OPS,kxe=m8.line;Pxe.exports=IT({z:Gh.z,x:Gh.x,x0:Gh.x0,dx:Gh.dx,y:Gh.y,y0:Gh.y0,dy:Gh.dy,xperiod:Gh.xperiod,yperiod:Gh.yperiod,xperiod0:m8.xperiod0,yperiod0:m8.yperiod0,xperiodalignment:Gh.xperiodalignment,yperiodalignment:Gh.yperiodalignment,text:Gh.text,hovertext:Gh.hovertext,transpose:Gh.transpose,xtype:Gh.xtype,ytype:Gh.ytype,xhoverformat:eH(\"x\"),yhoverformat:eH(\"y\"),zhoverformat:eH(\"z\",1),hovertemplate:Gh.hovertemplate,texttemplate:IT({},Gh.texttemplate,{}),textfont:IT({},Gh.textfont,{}),hoverongaps:Gh.hoverongaps,connectgaps:IT({},Gh.connectgaps,{}),fillcolor:{valType:\"color\",editType:\"calc\"},autocontour:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"contours.start\":void 0,\"contours.end\":void 0,\"contours.size\":void 0}},ncontours:{valType:\"integer\",dflt:15,min:1,editType:\"calc\"},contours:{type:{valType:\"enumerated\",values:[\"levels\",\"constraint\"],dflt:\"levels\",editType:\"calc\"},start:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},end:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},coloring:{valType:\"enumerated\",values:[\"fill\",\"heatmap\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:{valType:\"boolean\",dflt:!0,editType:\"plot\"},showlabels:{valType:\"boolean\",dflt:!1,editType:\"plot\"},labelfont:B_t({editType:\"plot\",colorEditType:\"style\"}),labelformat:{valType:\"string\",dflt:\"\",editType:\"plot\",description:F_t(\"contour label\")},operation:{valType:\"enumerated\",values:[].concat(N_t).concat(U_t),dflt:\"=\",editType:\"calc\"},value:{valType:\"any\",dflt:0,editType:\"calc\"},editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:IT({},kxe.color,{editType:\"style+colorbars\"}),width:{valType:\"number\",min:0,editType:\"style+colorbars\"},dash:O_t,smoothing:IT({},kxe.smoothing,{}),editType:\"plot\"},zorder:m8.zorder},q_t(\"\",{cLetter:\"z\",autoColorDflt:!1,editTypeOverride:\"calc\"}))});var rH=ye((Osr,Rxe)=>{\"use strict\";var Hv=p8(),qy=T4(),V_t=Jl(),tH=Oc().axisHoverFormat,Ixe=no().extendFlat;Rxe.exports=Ixe({x:Hv.x,y:Hv.y,z:Hv.z,marker:Hv.marker,histnorm:Hv.histnorm,histfunc:Hv.histfunc,nbinsx:Hv.nbinsx,xbins:Hv.xbins,nbinsy:Hv.nbinsy,ybins:Hv.ybins,autobinx:Hv.autobinx,autobiny:Hv.autobiny,bingroup:Hv.bingroup,xbingroup:Hv.xbingroup,ybingroup:Hv.ybingroup,autocontour:qy.autocontour,ncontours:qy.ncontours,contours:qy.contours,line:{color:qy.line.color,width:Ixe({},qy.line.width,{dflt:.5}),dash:qy.line.dash,smoothing:qy.line.smoothing,editType:\"plot\"},xhoverformat:tH(\"x\"),yhoverformat:tH(\"y\"),zhoverformat:tH(\"z\",1),hovertemplate:Hv.hovertemplate,texttemplate:qy.texttemplate,textfont:qy.textfont},V_t(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var y8=ye((Bsr,Dxe)=>{\"use strict\";Dxe.exports=function(t,r,n,i){var a=i(\"contours.start\"),o=i(\"contours.end\"),s=a===!1||o===!1,l=n(\"contours.size\"),u;s?u=r.autocontour=!0:u=n(\"autocontour\",!1),(u||!l)&&n(\"ncontours\")}});var iH=ye((Nsr,zxe)=>{\"use strict\";var H_t=Mr();zxe.exports=function(t,r,n,i){i||(i={});var a=t(\"contours.showlabels\");if(a){var o=r.font;H_t.coerceFont(t,\"contours.labelfont\",o,{overrideDflt:{color:n}}),t(\"contours.labelformat\")}i.hasHover!==!1&&t(\"zhoverformat\")}});var _8=ye((Usr,Fxe)=>{\"use strict\";var G_t=Uh(),j_t=iH();Fxe.exports=function(t,r,n,i,a){var o=n(\"contours.coloring\"),s,l=\"\";o===\"fill\"&&(s=n(\"contours.showlines\")),s!==!1&&(o!==\"lines\"&&(l=n(\"line.color\",\"#000\")),n(\"line.width\",.5),n(\"line.dash\")),o!==\"none\"&&(t.showlegend!==!0&&(r.showlegend=!1),r._dfltShowLegend=!1,G_t(t,r,i,n,{prefix:\"\",cLetter:\"z\"})),n(\"line.smoothing\"),j_t(n,i,l,a)}});var Nxe=ye((Vsr,Bxe)=>{\"use strict\";var qxe=Mr(),W_t=QV(),Z_t=y8(),X_t=_8(),Y_t=y4(),Oxe=rH();Bxe.exports=function(t,r,n,i){function a(s,l){return qxe.coerce(t,r,Oxe,s,l)}function o(s){return qxe.coerce2(t,r,Oxe,s)}W_t(t,r,a,i),r.visible!==!1&&(Z_t(t,r,a,o),X_t(t,r,a,i),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"hovertemplate\"),r.contours&&r.contours.coloring===\"heatmap\"&&Y_t(a,i))}});var oH=ye((Hsr,Vxe)=>{\"use strict\";var aH=Qa(),nH=Mr();Vxe.exports=function(t,r){var n=t.contours;if(t.autocontour){var i=t.zmin,a=t.zmax;(t.zauto||i===void 0)&&(i=nH.aggNums(Math.min,null,r)),(t.zauto||a===void 0)&&(a=nH.aggNums(Math.max,null,r));var o=Uxe(i,a,t.ncontours);n.size=o.dtick,n.start=aH.tickFirst(o),o.range.reverse(),n.end=aH.tickFirst(o),n.start===i&&(n.start+=n.size),n.end===a&&(n.end-=n.size),n.start>n.end&&(n.start=n.end=(n.start+n.end)/2),t._input.contours||(t._input.contours={}),nH.extendFlat(t._input.contours,{start:n.start,end:n.end,size:n.size}),t._input.autocontour=!0}else if(n.type!==\"constraint\"){var s=n.start,l=n.end,u=t._input.contours;if(s>l&&(n.start=u.start=l,l=n.end=u.end=s,s=n.start),!(n.size>0)){var c;s===l?c=1:c=Uxe(s,l,t.ncontours).dtick,u.size=n.size=c}}};function Uxe(e,t,r){var n={type:\"linear\",range:[e,t]};return aH.autoTicks(n,(t-e)/(r||15)),n}});var A4=ye((Gsr,Hxe)=>{\"use strict\";Hxe.exports=function(t){return t.end+t.size/1e6}});var sH=ye((jsr,jxe)=>{\"use strict\";var Gxe=Mu(),K_t=n8(),J_t=oH(),$_t=A4();jxe.exports=function(t,r){var n=K_t(t,r),i=n[0].z;J_t(r,i);var a=r.contours,o=Gxe.extractOpts(r),s;if(a.coloring===\"heatmap\"&&o.auto&&r.autocontour===!1){var l=a.start,u=$_t(a),c=a.size||1,f=Math.floor((u-l)/c)+1;isFinite(c)||(c=1,f=1);var h=l-c/2,d=h+f*c;s=[h,d]}else s=i;return Gxe.calc(t,r,{vals:s,cLetter:\"z\"}),n}});var S4=ye((Wsr,Wxe)=>{\"use strict\";Wxe.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}}});var lH=ye((Zsr,Zxe)=>{\"use strict\";var x8=S4();Zxe.exports=function(t){var r=t[0].z,n=r.length,i=r[0].length,a=n===2||i===2,o,s,l,u,c,f,h,d,v;for(s=0;s<n-1;s++)for(u=[],s===0&&(u=u.concat(x8.BOTTOMSTART)),s===n-2&&(u=u.concat(x8.TOPSTART)),o=0;o<i-1;o++)for(l=u.slice(),o===0&&(l=l.concat(x8.LEFTSTART)),o===i-2&&(l=l.concat(x8.RIGHTSTART)),c=o+\",\"+s,f=[[r[s][o],r[s][o+1]],[r[s+1][o],r[s+1][o+1]]],v=0;v<t.length;v++)d=t[v],h=Q_t(d.level,f),h&&(d.crossings[c]=h,l.indexOf(h)!==-1&&(d.starts.push([o,s]),a&&l.indexOf(h,l.indexOf(h)+1)!==-1&&d.starts.push([o,s])))};function Q_t(e,t){var r=(t[0][0]>e?0:1)+(t[0][1]>e?0:2)+(t[1][1]>e?0:4)+(t[1][0]>e?0:8);if(r===5||r===10){var n=(t[0][0]+t[0][1]+t[1][0]+t[1][1])/4;return e>n?r===5?713:1114:r===5?104:208}return r===15?0:r}});var uH=ye((Xsr,Kxe)=>{\"use strict\";var b8=Mr(),RT=S4();Kxe.exports=function(t,r,n){var i,a,o,s,l;for(r=r||.01,n=n||.01,o=0;o<t.length;o++){for(s=t[o],l=0;l<s.starts.length;l++)a=s.starts[l],Xxe(s,a,\"edge\",r,n);for(i=0;Object.keys(s.crossings).length&&i<1e4;)i++,a=Object.keys(s.crossings)[0].split(\",\").map(Number),Xxe(s,a,void 0,r,n);i===1e4&&b8.log(\"Infinite loop in contour?\")}};function M4(e,t,r,n){return Math.abs(e[0]-t[0])<r&&Math.abs(e[1]-t[1])<n}function ext(e,t){var r=e[2]-t[2],n=e[3]-t[3];return Math.sqrt(r*r+n*n)}function Xxe(e,t,r,n,i){var a=t.join(\",\"),o=e.crossings[a],s=txt(o,r,t),l=[Yxe(e,t,[-s[0],-s[1]])],u=e.z.length,c=e.z[0].length,f=t.slice(),h=s.slice(),d;for(d=0;d<1e4;d++){if(o>20?(o=RT.CHOOSESADDLE[o][(s[0]||s[1])<0?0:1],e.crossings[a]=RT.SADDLEREMAINDER[o]):delete e.crossings[a],s=RT.NEWDELTA[o],!s){b8.log(\"Found bad marching index:\",o,t,e.level);break}l.push(Yxe(e,t,s)),t[0]+=s[0],t[1]+=s[1],a=t.join(\",\"),M4(l[l.length-1],l[l.length-2],n,i)&&l.pop();var v=s[0]&&(t[0]<0||t[0]>c-2)||s[1]&&(t[1]<0||t[1]>u-2),x=t[0]===f[0]&&t[1]===f[1]&&s[0]===h[0]&&s[1]===h[1];if(x||r&&v)break;o=e.crossings[a]}d===1e4&&b8.log(\"Infinite loop in contour?\");var b=M4(l[0],l[l.length-1],n,i),p=0,E=.2*e.smoothing,k=[],A=0,L,_,C,M,g,P,T,F,q,V,H;for(d=1;d<l.length;d++)T=ext(l[d],l[d-1]),p+=T,k.push(T);var X=p/k.length*E;function G(re){return l[re%l.length]}for(d=l.length-2;d>=A;d--)if(L=k[d],L<X){for(C=0,_=d-1;_>=A&&L+k[_]<X;_--)L+=k[_];if(b&&d===l.length-2)for(C=0;C<_&&L+k[C]<X;C++)L+=k[C];g=d-_+C+1,P=Math.floor((d+_+C+2)/2),!b&&d===l.length-2?M=l[l.length-1]:!b&&_===-1?M=l[0]:g%2?M=G(P):M=[(G(P)[0]+G(P+1)[0])/2,(G(P)[1]+G(P+1)[1])/2],l.splice(_+1,d-_+1,M),d=_+1,C&&(A=C),b&&(d===l.length-2?l[C]=l[l.length-1]:d===0&&(l[l.length-1]=l[0]))}for(l.splice(0,A),d=0;d<l.length;d++)l[d].length=2;if(!(l.length<2))if(b)l.pop(),e.paths.push(l);else{r||b8.log(\"Unclosed interior contour?\",e.level,f.join(\",\"),l.join(\"L\"));var N=!1;for(F=0;F<e.edgepaths.length;F++)if(V=e.edgepaths[F],!N&&M4(V[0],l[l.length-1],n,i)){l.pop(),N=!0;var W=!1;for(q=0;q<e.edgepaths.length;q++)if(H=e.edgepaths[q],M4(H[H.length-1],l[0],n,i)){W=!0,l.shift(),e.edgepaths.splice(F,1),q===F?e.paths.push(l.concat(H)):(q>F&&q--,e.edgepaths[q]=H.concat(l,V));break}W||(e.edgepaths[F]=l.concat(V))}for(F=0;F<e.edgepaths.length&&!N;F++)V=e.edgepaths[F],M4(V[V.length-1],l[0],n,i)&&(l.shift(),e.edgepaths[F]=V.concat(l),N=!0);N||e.edgepaths.push(l)}}function txt(e,t,r){var n=0,i=0;return e>20&&t?e===208||e===1114?n=r[0]===0?1:-1:i=r[1]===0?1:-1:RT.BOTTOMSTART.indexOf(e)!==-1?i=1:RT.LEFTSTART.indexOf(e)!==-1?n=1:RT.TOPSTART.indexOf(e)!==-1?i=-1:n=-1,[n,i]}function Yxe(e,t,r){var n=t[0]+Math.max(r[0],0),i=t[1]+Math.max(r[1],0),a=e.z[i][n],o=e.xaxis,s=e.yaxis;if(r[1]){var l=(e.level-a)/(e.z[i][n+1]-a),u=(l!==1?(1-l)*o.c2l(e.x[n]):0)+(l!==0?l*o.c2l(e.x[n+1]):0);return[o.c2p(o.l2c(u),!0),s.c2p(e.y[i],!0),n+l,i]}else{var c=(e.level-a)/(e.z[i+1][n]-a),f=(c!==1?(1-c)*s.c2l(e.y[i]):0)+(c!==0?c*s.c2l(e.y[i+1]):0);return[o.c2p(e.x[n],!0),s.c2p(s.l2c(f),!0),n,i+c]}}});var ebe=ye((Ysr,Qxe)=>{\"use strict\";var cH=g8(),rxt=uo();Qxe.exports={\"[]\":Jxe(\"[]\"),\"][\":Jxe(\"][\"),\">\":fH(\">\"),\"<\":fH(\"<\"),\"=\":fH(\"=\")};function $xe(e,t){var r=Array.isArray(t),n;function i(a){return rxt(a)?+a:null}return cH.COMPARISON_OPS2.indexOf(e)!==-1?n=i(r?t[0]:t):cH.INTERVAL_OPS.indexOf(e)!==-1?n=r?[i(t[0]),i(t[1])]:[i(t),i(t)]:cH.SET_OPS.indexOf(e)!==-1&&(n=r?t.map(i):[i(t)]),n}function Jxe(e){return function(t){t=$xe(e,t);var r=Math.min(t[0],t[1]),n=Math.max(t[0],t[1]);return{start:r,end:n,size:n-r}}}function fH(e){return function(t){return t=$xe(e,t),{start:t,end:1/0,size:1/0}}}});var hH=ye((Ksr,rbe)=>{\"use strict\";var tbe=Mr(),ixt=ebe(),nxt=A4();rbe.exports=function(t,r,n){for(var i=t.type===\"constraint\"?ixt[t._operation](t.value):t,a=i.size,o=[],s=nxt(i),l=n.trace._carpetTrace,u=l?{xaxis:l.aaxis,yaxis:l.baxis,x:n.a,y:n.b}:{xaxis:r.xaxis,yaxis:r.yaxis,x:n.x,y:n.y},c=i.start;c<s;c+=a)if(o.push(tbe.extendFlat({level:c,crossings:{},starts:[],edgepaths:[],paths:[],z:n.z,smoothing:n.trace.line.smoothing},u)),o.length>1e3){tbe.warn(\"Too many contours, clipping at 1000\",t);break}return o}});var dH=ye((Jsr,nbe)=>{\"use strict\";var DT=Mr();nbe.exports=function(e,t){var r,n,i,a=function(l){return l.reverse()},o=function(l){return l};switch(t){case\"=\":case\"<\":return e;case\">\":for(e.length!==1&&DT.warn(\"Contour data invalid for the specified inequality operation.\"),n=e[0],r=0;r<n.edgepaths.length;r++)n.edgepaths[r]=a(n.edgepaths[r]);for(r=0;r<n.paths.length;r++)n.paths[r]=a(n.paths[r]);for(r=0;r<n.starts.length;r++)n.starts[r]=a(n.starts[r]);return e;case\"][\":var s=a;a=o,o=s;case\"[]\":for(e.length!==2&&DT.warn(\"Contour data invalid for the specified inequality range operation.\"),n=ibe(e[0]),i=ibe(e[1]),r=0;r<n.edgepaths.length;r++)n.edgepaths[r]=a(n.edgepaths[r]);for(r=0;r<n.paths.length;r++)n.paths[r]=a(n.paths[r]);for(r=0;r<n.starts.length;r++)n.starts[r]=a(n.starts[r]);for(;i.edgepaths.length;)n.edgepaths.push(o(i.edgepaths.shift()));for(;i.paths.length;)n.paths.push(o(i.paths.shift()));for(;i.starts.length;)n.starts.push(o(i.starts.shift()));return[n]}};function ibe(e){return DT.extendFlat({},e,{edgepaths:DT.extendDeep([],e.edgepaths),paths:DT.extendDeep([],e.paths),starts:DT.extendDeep([],e.starts)})}});var vH=ye(($sr,abe)=>{\"use strict\";abe.exports=function(e,t){var r=e[0],n=r.z,i;switch(t.type){case\"levels\":var a=Math.min(n[0][0],n[0][1]);for(i=0;i<e.length;i++){var o=e[i];o.prefixBoundary=!o.edgepaths.length&&(a>o.level||o.starts.length&&a===o.level)}break;case\"constraint\":if(r.prefixBoundary=!1,r.edgepaths.length)return;var s=r.x.length,l=r.y.length,u=-1/0,c=1/0;for(i=0;i<l;i++)c=Math.min(c,n[i][0]),c=Math.min(c,n[i][s-1]),u=Math.max(u,n[i][0]),u=Math.max(u,n[i][s-1]);for(i=1;i<s-1;i++)c=Math.min(c,n[0][i]),c=Math.min(c,n[l-1][i]),u=Math.max(u,n[0][i]),u=Math.max(u,n[l-1][i]);var f=t.value,h,d;switch(t._operation){case\">\":f>u&&(r.prefixBoundary=!0);break;case\"<\":(f<c||r.starts.length&&f===c)&&(r.prefixBoundary=!0);break;case\"[]\":h=Math.min(f[0],f[1]),d=Math.max(f[0],f[1]),(d<c||h>u||r.starts.length&&d===c)&&(r.prefixBoundary=!0);break;case\"][\":h=Math.min(f[0],f[1]),d=Math.max(f[0],f[1]),h<c&&d>u&&(r.prefixBoundary=!0);break}break}}});var w8=ye(Gv=>{\"use strict\";var k4=xa(),Id=Mr(),Oy=ao(),axt=Mu(),lbe=Pl(),obe=Qa(),sbe=ym(),oxt=s8(),ube=lH(),cbe=uH(),sxt=hH(),lxt=dH(),fbe=vH(),E4=S4(),Rm=E4.LABELOPTIMIZER;Gv.plot=function(t,r,n,i){var a=r.xaxis,o=r.yaxis;Id.makeTraceGroups(i,n,\"contour\").each(function(s){var l=k4.select(this),u=s[0],c=u.trace,f=u.x,h=u.y,d=c.contours,v=sxt(d,r,u),x=Id.ensureSingle(l,\"g\",\"heatmapcoloring\"),b=[];d.coloring===\"heatmap\"&&(b=[s]),oxt(t,r,b,x),ube(v),cbe(v);var p=a.c2p(f[0],!0),E=a.c2p(f[f.length-1],!0),k=o.c2p(h[0],!0),A=o.c2p(h[h.length-1],!0),L=[[p,A],[E,A],[E,k],[p,k]],_=v;d.type===\"constraint\"&&(_=lxt(v,d._operation)),uxt(l,L,d),cxt(l,_,L,d),fxt(l,v,t,u,d),dxt(l,r,t,u,L)})};function uxt(e,t,r){var n=Id.ensureSingle(e,\"g\",\"contourbg\"),i=n.selectAll(\"path\").data(r.coloring===\"fill\"?[0]:[]);i.enter().append(\"path\"),i.exit().remove(),i.attr(\"d\",\"M\"+t.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}function cxt(e,t,r,n){var i=n.coloring===\"fill\"||n.type===\"constraint\"&&n._operation!==\"=\",a=\"M\"+r.join(\"L\")+\"Z\";i&&fbe(t,n);var o=Id.ensureSingle(e,\"g\",\"contourfill\"),s=o.selectAll(\"path\").data(i?t:[]);s.enter().append(\"path\"),s.exit().remove(),s.each(function(l){var u=(l.prefixBoundary?a:\"\")+hbe(l,r);u?k4.select(this).attr(\"d\",u).style(\"stroke\",\"none\"):k4.select(this).remove()})}function hbe(e,t){var r=\"\",n=0,i=e.edgepaths.map(function(p,E){return E}),a=!0,o,s,l,u,c,f;function h(p){return Math.abs(p[1]-t[0][1])<.01}function d(p){return Math.abs(p[1]-t[2][1])<.01}function v(p){return Math.abs(p[0]-t[0][0])<.01}function x(p){return Math.abs(p[0]-t[2][0])<.01}for(;i.length;){for(f=Oy.smoothopen(e.edgepaths[n],e.smoothing),r+=a?f:f.replace(/^M/,\"L\"),i.splice(i.indexOf(n),1),o=e.edgepaths[n][e.edgepaths[n].length-1],u=-1,l=0;l<4;l++){if(!o){Id.log(\"Missing end?\",n,e);break}for(h(o)&&!x(o)?s=t[1]:v(o)?s=t[0]:d(o)?s=t[3]:x(o)&&(s=t[2]),c=0;c<e.edgepaths.length;c++){var b=e.edgepaths[c][0];Math.abs(o[0]-s[0])<.01?Math.abs(o[0]-b[0])<.01&&(b[1]-o[1])*(s[1]-b[1])>=0&&(s=b,u=c):Math.abs(o[1]-s[1])<.01?Math.abs(o[1]-b[1])<.01&&(b[0]-o[0])*(s[0]-b[0])>=0&&(s=b,u=c):Id.log(\"endpt to newendpt is not vert. or horz.\",o,s,b)}if(o=s,u>=0)break;r+=\"L\"+s}if(u===e.edgepaths.length){Id.log(\"unclosed perimeter path\");break}n=u,a=i.indexOf(n)===-1,a&&(n=i[0],r+=\"Z\")}for(n=0;n<e.paths.length;n++)r+=Oy.smoothclosed(e.paths[n],e.smoothing);return r}function fxt(e,t,r,n,i){var a=r._context.staticPlot,o=Id.ensureSingle(e,\"g\",\"contourlines\"),s=i.showlines!==!1,l=i.showlabels,u=s&&l,c=Gv.createLines(o,s||l,t,a),f=Gv.createLineClip(o,u,r,n.trace.uid),h=e.selectAll(\"g.contourlabels\").data(l?[0]:[]);if(h.exit().remove(),h.enter().append(\"g\").classed(\"contourlabels\",!0),l){var d=[],v=[];Id.clearLocationCache();var x=Gv.labelFormatter(r,n),b=Oy.tester.append(\"text\").attr(\"data-notex\",1).call(Oy.font,i.labelfont),p=t[0].xaxis,E=t[0].yaxis,k=p._length,A=E._length,L=p.range,_=E.range,C=Id.aggNums(Math.min,null,n.x),M=Id.aggNums(Math.max,null,n.x),g=Id.aggNums(Math.min,null,n.y),P=Id.aggNums(Math.max,null,n.y),T=Math.max(p.c2p(C,!0),0),F=Math.min(p.c2p(M,!0),k),q=Math.max(E.c2p(P,!0),0),V=Math.min(E.c2p(g,!0),A),H={};L[0]<L[1]?(H.left=T,H.right=F):(H.left=F,H.right=T),_[0]<_[1]?(H.top=q,H.bottom=V):(H.top=V,H.bottom=q),H.middle=(H.top+H.bottom)/2,H.center=(H.left+H.right)/2,d.push([[H.left,H.top],[H.right,H.top],[H.right,H.bottom],[H.left,H.bottom]]);var X=Math.sqrt(k*k+A*A),G=E4.LABELDISTANCE*X/Math.max(1,t.length/E4.LABELINCREASE);c.each(function(N){var W=Gv.calcTextOpts(N.level,x,b,r);k4.select(this).selectAll(\"path\").each(function(){var re=this,ae=Id.getVisibleSegment(re,H,W.height/2);if(ae&&!(ae.len<(W.width+W.height)*E4.LABELMIN))for(var _e=Math.min(Math.ceil(ae.len/G),E4.LABELMAX),Me=0;Me<_e;Me++){var ke=Gv.findBestTextLocation(re,ae,W,v,H);if(!ke)break;Gv.addLabelData(ke,W,v,d)}})}),b.remove(),Gv.drawLabels(h,v,r,f,u?d:null)}l&&!s&&c.remove()}Gv.createLines=function(e,t,r,n){var i=r[0].smoothing,a=e.selectAll(\"g.contourlevel\").data(t?r:[]);if(a.exit().remove(),a.enter().append(\"g\").classed(\"contourlevel\",!0),t){var o=a.selectAll(\"path.openline\").data(function(l){return l.pedgepaths||l.edgepaths});o.exit().remove(),o.enter().append(\"path\").classed(\"openline\",!0),o.attr(\"d\",function(l){return Oy.smoothopen(l,i)}).style(\"stroke-miterlimit\",1).style(\"vector-effect\",n?\"none\":\"non-scaling-stroke\");var s=a.selectAll(\"path.closedline\").data(function(l){return l.ppaths||l.paths});s.exit().remove(),s.enter().append(\"path\").classed(\"closedline\",!0),s.attr(\"d\",function(l){return Oy.smoothclosed(l,i)}).style(\"stroke-miterlimit\",1).style(\"vector-effect\",n?\"none\":\"non-scaling-stroke\")}return a};Gv.createLineClip=function(e,t,r,n){var i=r._fullLayout._clips,a=t?\"clipline\"+n:null,o=i.selectAll(\"#\"+a).data(t?[0]:[]);return o.exit().remove(),o.enter().append(\"clipPath\").classed(\"contourlineclip\",!0).attr(\"id\",a),Oy.setClipUrl(e,a,r),o};Gv.labelFormatter=function(e,t){var r=e._fullLayout,n=t.trace,i=n.contours,a={type:\"linear\",_id:\"ycontour\",showexponent:\"all\",exponentformat:\"B\"};if(i.labelformat)a.tickformat=i.labelformat,sbe(a,r);else{var o=axt.extractOpts(n);if(o&&o.colorbar&&o.colorbar._axis)a=o.colorbar._axis;else{if(i.type===\"constraint\"){var s=i.value;Id.isArrayOrTypedArray(s)?a.range=[s[0],s[s.length-1]]:a.range=[s,s]}else a.range=[i.start,i.end],a.nticks=(i.end-i.start)/i.size;a.range[0]===a.range[1]&&(a.range[1]+=a.range[0]||1),a.nticks||(a.nticks=1e3),sbe(a,r),obe.prepTicks(a),a._tmin=null,a._tmax=null}}return function(l){return obe.tickText(a,l).text}};Gv.calcTextOpts=function(e,t,r,n){var i=t(e);r.text(i).call(lbe.convertToTspans,n);var a=r.node(),o=Oy.bBox(a,!0);return{text:i,width:o.width,height:o.height,fontSize:+a.style[\"font-size\"].replace(\"px\",\"\"),level:e,dy:(o.top+o.bottom)/2}};Gv.findBestTextLocation=function(e,t,r,n,i){var a=r.width,o,s,l,u,c;t.isClosed?(s=t.len/Rm.INITIALSEARCHPOINTS,o=t.min+s/2,l=t.max):(s=(t.len-a)/(Rm.INITIALSEARCHPOINTS+1),o=t.min+s+a/2,l=t.max-(s+a)/2);for(var f=1/0,h=0;h<Rm.ITERATIONS;h++){for(var d=o;d<l;d+=s){var v=Id.getTextLocation(e,t.total,d,a),x=hxt(v,r,n,i);x<f&&(f=x,c=v,u=d)}if(f>Rm.MAXCOST*2)break;h&&(s/=2),o=u-s/2,l=o+s*1.5}if(f<=Rm.MAXCOST)return c};function hxt(e,t,r,n){var i=t.width/2,a=t.height/2,o=e.x,s=e.y,l=e.theta,u=Math.cos(l)*i,c=Math.sin(l)*i,f=(o>n.center?n.right-o:o-n.left)/(u+Math.abs(Math.sin(l)*a)),h=(s>n.middle?n.bottom-s:s-n.top)/(Math.abs(c)+Math.cos(l)*a);if(f<1||h<1)return 1/0;var d=Rm.EDGECOST*(1/(f-1)+1/(h-1));d+=Rm.ANGLECOST*l*l;for(var v=o-u,x=s-c,b=o+u,p=s+c,E=0;E<r.length;E++){var k=r[E],A=Math.cos(k.theta)*k.width/2,L=Math.sin(k.theta)*k.width/2,_=Id.segmentDistance(v,x,b,p,k.x-A,k.y-L,k.x+A,k.y+L)*2/(t.height+k.height),C=k.level===t.level,M=C?Rm.SAMELEVELDISTANCE:1;if(_<=M)return 1/0;var g=Rm.NEIGHBORCOST*(C?Rm.SAMELEVELFACTOR:1);d+=g/(_-M)}return d}Gv.addLabelData=function(e,t,r,n){var i=t.fontSize,a=t.width+i/3,o=Math.max(0,t.height-i/3),s=e.x,l=e.y,u=e.theta,c=Math.sin(u),f=Math.cos(u),h=function(v,x){return[s+v*f-x*c,l+v*c+x*f]},d=[h(-a/2,-o/2),h(-a/2,o/2),h(a/2,o/2),h(a/2,-o/2)];r.push({text:t.text,x:s,y:l,dy:t.dy,theta:u,level:t.level,width:a,height:o}),n.push(d)};Gv.drawLabels=function(e,t,r,n,i){var a=e.selectAll(\"text\").data(t,function(u){return u.text+\",\"+u.x+\",\"+u.y+\",\"+u.theta});if(a.exit().remove(),a.enter().append(\"text\").attr({\"data-notex\":1,\"text-anchor\":\"middle\"}).each(function(u){var c=u.x+Math.sin(u.theta)*u.dy,f=u.y-Math.cos(u.theta)*u.dy;k4.select(this).text(u.text).attr({x:c,y:f,transform:\"rotate(\"+180*u.theta/Math.PI+\" \"+c+\" \"+f+\")\"}).call(lbe.convertToTspans,r)}),i){for(var o=\"\",s=0;s<i.length;s++)o+=\"M\"+i[s].join(\"L\")+\"Z\";var l=Id.ensureSingle(n,\"path\",\"\");l.attr(\"d\",o)}};function dxt(e,t,r,n,i){var a=n.trace,o=r._fullLayout._clips,s=\"clip\"+a.uid,l=o.selectAll(\"#\"+s).data(a.connectgaps?[]:[0]);if(l.enter().append(\"clipPath\").classed(\"contourclip\",!0).attr(\"id\",s),l.exit().remove(),a.connectgaps===!1){var u={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:t.xaxis,yaxis:t.yaxis,x:n.x,y:n.y,z:vxt(n),smoothing:0};ube([u]),cbe([u]),fbe([u],{type:\"levels\"});var c=Id.ensureSingle(l,\"path\",\"\");c.attr(\"d\",(u.prefixBoundary?\"M\"+i.join(\"L\")+\"Z\":\"\")+hbe(u,i))}else s=null;Oy.setClipUrl(e,s,r)}function vxt(e){var t=e.trace._emptypoints,r=[],n=e.z.length,i=e.z[0].length,a,o=[],s;for(a=0;a<i;a++)o.push(1);for(a=0;a<n;a++)r.push(o.slice());for(a=0;a<t.length;a++)s=t[a],r[s[0]][s[1]]=0;return e.zmask=r,r}});var gH=ye((elr,dbe)=>{\"use strict\";var pxt=xa(),pH=Mu(),gxt=A4();dbe.exports=function(t){var r=t.contours,n=r.start,i=gxt(r),a=r.size||1,o=Math.floor((i-n)/a)+1,s=r.coloring===\"lines\"?0:1,l=pH.extractOpts(t);isFinite(a)||(a=1,o=1);var u=l.reversescale?pH.flipScale(l.colorscale):l.colorscale,c=u.length,f=new Array(c),h=new Array(c),d,v,x=l.min,b=l.max;if(r.coloring===\"heatmap\"){for(v=0;v<c;v++)d=u[v],f[v]=d[0]*(b-x)+x,h[v]=d[1];var p=pxt.extent([x,b,r.start,r.start+a*(o-1)]),E=p[x<b?0:1],k=p[x<b?1:0];E!==x&&(f.splice(0,0,E),h.splice(0,0,h[0])),k!==b&&(f.push(k),h.push(h[h.length-1]))}else{var A=t._input&&typeof t._input.zmin==\"number\"&&typeof t._input.zmax==\"number\";for(A&&(n<=x||i>=b)&&(n<=x&&(n=x),i>=b&&(i=b),o=Math.floor((i-n)/a)+1,s=0),v=0;v<c;v++)d=u[v],f[v]=(d[0]*(o+s-1)-s/2)*a+n,h[v]=d[1];(A||t.autocontour)&&(f[0]>x&&(f.unshift(x),h.unshift(h[0])),f[f.length-1]<b&&(f.push(b),h.push(h[h.length-1])))}return pH.makeColorScaleFunc({domain:f,range:h},{noNumericCheck:!0})}});var A8=ye((tlr,pbe)=>{\"use strict\";var T8=xa(),vbe=ao(),mxt=l8(),yxt=gH();pbe.exports=function(t){var r=T8.select(t).selectAll(\"g.contour\");r.style(\"opacity\",function(n){return n[0].trace.opacity}),r.each(function(n){var i=T8.select(this),a=n[0].trace,o=a.contours,s=a.line,l=o.size||1,u=o.start,c=o.type===\"constraint\",f=!c&&o.coloring===\"lines\",h=!c&&o.coloring===\"fill\",d=f||h?yxt(a):null;i.selectAll(\"g.contourlevel\").each(function(b){T8.select(this).selectAll(\"path\").call(vbe.lineGroupStyle,s.width,f?d(b.level):s.color,s.dash)});var v=o.labelfont;if(i.selectAll(\"g.contourlabels text\").each(function(b){vbe.font(T8.select(this),{weight:v.weight,style:v.style,variant:v.variant,textcase:v.textcase,lineposition:v.lineposition,shadow:v.shadow,family:v.family,size:v.size,color:v.color||(f?d(b.level):s.color)})}),c)i.selectAll(\"g.contourfill path\").style(\"fill\",a.fillcolor);else if(h){var x;i.selectAll(\"g.contourfill path\").style(\"fill\",function(b){return x===void 0&&(x=b.level),d(b.level+.5*l)}),x===void 0&&(x=u),i.selectAll(\"g.contourbg path\").style(\"fill\",d(x-.5*l))}}),mxt(t)}});var S8=ye((rlr,mbe)=>{\"use strict\";var gbe=Mu(),_xt=gH(),xxt=A4();function bxt(e,t,r){var n=t.contours,i=t.line,a=n.size||1,o=n.coloring,s=_xt(t,{isColorbar:!0});if(o===\"heatmap\"){var l=gbe.extractOpts(t);r._fillgradient=l.reversescale?gbe.flipScale(l.colorscale):l.colorscale,r._zrange=[l.min,l.max]}else o===\"fill\"&&(r._fillcolor=s);r._line={color:o===\"lines\"?s:i.color,width:n.showlines!==!1?i.width:0,dash:i.dash},r._levels={start:n.start,end:xxt(n),size:a}}mbe.exports={min:\"zmin\",max:\"zmax\",calc:bxt}});var mH=ye((ilr,ybe)=>{\"use strict\";var M8=va(),wxt=c8();ybe.exports=function(t,r,n,i,a){a||(a={}),a.isContour=!0;var o=wxt(t,r,n,i,a);return o&&o.forEach(function(s){var l=s.trace;l.contours.type===\"constraint\"&&(l.fillcolor&&M8.opacity(l.fillcolor)?s.color=M8.addOpacity(l.fillcolor,1):l.contours.showlines&&M8.opacity(l.line.color)&&(s.color=M8.addOpacity(l.line.color,1)))}),o}});var xbe=ye((nlr,_be)=>{\"use strict\";_be.exports={attributes:rH(),supplyDefaults:Nxe(),crossTraceDefaults:d8(),calc:sH(),plot:w8().plot,layerName:\"contourlayer\",style:A8(),colorbar:S8(),hoverPoints:mH(),moduleType:\"trace\",name:\"histogram2dcontour\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"histogram\",\"showLegend\"],meta:{}}});var wbe=ye((alr,bbe)=>{\"use strict\";bbe.exports=xbe()});var yH=ye((olr,kbe)=>{\"use strict\";var Tbe=uo(),Txt=iH(),Mbe=va(),Abe=Mbe.addOpacity,Axt=Mbe.opacity,Ebe=g8(),Sbe=Mr().isArrayOrTypedArray,Sxt=Ebe.CONSTRAINT_REDUCTION,Mxt=Ebe.COMPARISON_OPS2;kbe.exports=function(t,r,n,i,a,o){var s=r.contours,l,u,c,f=n(\"contours.operation\");if(s._operation=Sxt[f],Ext(n,s),f===\"=\"?l=s.showlines=!0:(l=n(\"contours.showlines\"),c=n(\"fillcolor\",Abe((t.line||{}).color||a,.5))),l){var h=c&&Axt(c)?Abe(r.fillcolor,1):a;u=n(\"line.color\",h),n(\"line.width\",2),n(\"line.dash\")}n(\"line.smoothing\"),Txt(n,i,u,o)};function Ext(e,t){var r;Mxt.indexOf(t.operation)===-1?(e(\"contours.value\",[0,1]),Sbe(t.value)?t.value.length>2?t.value=t.value.slice(2):t.length===0?t.value=[0,1]:t.length<2?(r=parseFloat(t.value[0]),t.value=[r,r+1]):t.value=[parseFloat(t.value[0]),parseFloat(t.value[1])]:Tbe(t.value)&&(r=parseFloat(t.value),t.value=[r,r+1])):(e(\"contours.value\",0),Tbe(t.value)||(Sbe(t.value)?t.value=parseFloat(t.value[0]):t.value=0))}});var Pbe=ye((slr,Lbe)=>{\"use strict\";var _H=Mr(),kxt=XI(),Cxt=Pg(),Lxt=yH(),Pxt=y8(),Ixt=_8(),Rxt=y4(),Cbe=T4();Lbe.exports=function(t,r,n,i){function a(u,c){return _H.coerce(t,r,Cbe,u,c)}function o(u){return _H.coerce2(t,r,Cbe,u)}var s=kxt(t,r,a,i);if(!s){r.visible=!1;return}Cxt(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"text\"),a(\"hovertext\"),a(\"hoverongaps\"),a(\"hovertemplate\");var l=a(\"contours.type\")===\"constraint\";a(\"connectgaps\",_H.isArray1D(r.z)),l?Lxt(t,r,a,i,n):(Pxt(t,r,a,o),Ixt(t,r,a,i)),r.contours&&r.contours.coloring===\"heatmap\"&&Rxt(a,i),a(\"zorder\")}});var Rbe=ye((llr,Ibe)=>{\"use strict\";Ibe.exports={attributes:T4(),supplyDefaults:Pbe(),calc:sH(),plot:w8().plot,style:A8(),colorbar:S8(),hoverPoints:mH(),moduleType:\"trace\",name:\"contour\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"showLegend\"],meta:{}}});var zbe=ye((ulr,Dbe)=>{\"use strict\";Dbe.exports=Rbe()});var xH=ye((clr,qbe)=>{\"use strict\";var Dxt=Wo().hovertemplateAttrs,zxt=Wo().texttemplateAttrs,Fxt=Eg(),a0=Uc(),qxt=vl(),Fbe=Jl(),Oxt=Ed().dash,E_=no().extendFlat,j0=a0.marker,C4=a0.line,Bxt=j0.line;qbe.exports={a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},c:{valType:\"data_array\",editType:\"calc\"},sum:{valType:\"number\",dflt:0,min:0,editType:\"calc\"},mode:E_({},a0.mode,{dflt:\"markers\"}),text:E_({},a0.text,{}),texttemplate:zxt({editType:\"plot\"},{keys:[\"a\",\"b\",\"c\",\"text\"]}),hovertext:E_({},a0.hovertext,{}),line:{color:C4.color,width:C4.width,dash:Oxt,backoff:C4.backoff,shape:E_({},C4.shape,{values:[\"linear\",\"spline\"]}),smoothing:C4.smoothing,editType:\"calc\"},connectgaps:a0.connectgaps,cliponaxis:a0.cliponaxis,fill:E_({},a0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:Fxt(),marker:E_({symbol:j0.symbol,opacity:j0.opacity,angle:j0.angle,angleref:j0.angleref,standoff:j0.standoff,maxdisplayed:j0.maxdisplayed,size:j0.size,sizeref:j0.sizeref,sizemin:j0.sizemin,sizemode:j0.sizemode,line:E_({width:Bxt.width,editType:\"calc\"},Fbe(\"marker.line\")),gradient:j0.gradient,editType:\"calc\"},Fbe(\"marker\")),textfont:a0.textfont,textposition:a0.textposition,selected:a0.selected,unselected:a0.unselected,hoverinfo:E_({},qxt.hoverinfo,{flags:[\"a\",\"b\",\"c\",\"text\",\"name\"]}),hoveron:a0.hoveron,hovertemplate:Dxt()}});var Ube=ye((flr,Nbe)=>{\"use strict\";var Obe=Mr(),Nxt=Sm(),zT=lu(),Uxt=$p(),Vxt=R0(),Bbe=J3(),Hxt=D0(),Gxt=Ig(),jxt=xH();Nbe.exports=function(t,r,n,i){function a(h,d){return Obe.coerce(t,r,jxt,h,d)}var o=a(\"a\"),s=a(\"b\"),l=a(\"c\"),u;if(o?(u=o.length,s?(u=Math.min(u,s.length),l&&(u=Math.min(u,l.length))):l?u=Math.min(u,l.length):u=0):s&&l&&(u=Math.min(s.length,l.length)),!u){r.visible=!1;return}r._length=u,a(\"sum\"),a(\"text\"),a(\"hovertext\"),r.hoveron!==\"fills\"&&a(\"hovertemplate\");var c=u<Nxt.PTS_LINESONLY?\"lines+markers\":\"lines\";a(\"mode\",c),zT.hasMarkers(r)&&Uxt(t,r,n,i,a,{gradient:!0}),zT.hasLines(r)&&(Vxt(t,r,n,i,a,{backoff:!0}),Bbe(t,r,a),a(\"connectgaps\")),zT.hasText(r)&&(a(\"texttemplate\"),Hxt(t,r,i,a));var f=[];(zT.hasMarkers(r)||zT.hasText(r))&&(a(\"cliponaxis\"),a(\"marker.maxdisplayed\"),f.push(\"points\")),a(\"fill\"),r.fill!==\"none\"&&(Gxt(t,r,n,a),zT.hasLines(r)||Bbe(t,r,a)),(r.fill===\"tonext\"||r.fill===\"toself\")&&f.push(\"fills\"),a(\"hoveron\",f.join(\"+\")||\"points\"),Obe.coerceSelectionMarkerOpacity(r,a)}});var Hbe=ye((hlr,Vbe)=>{\"use strict\";var bH=Qa();Vbe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot;return i.aLabel=bH.tickText(a.aaxis,t.a,!0).text,i.bLabel=bH.tickText(a.baxis,t.b,!0).text,i.cLabel=bH.tickText(a.caxis,t.c,!0).text,i}});var Zbe=ye((dlr,Wbe)=>{\"use strict\";var wH=uo(),Wxt=z0(),Zxt=km(),Xxt=F0(),Yxt=q0().calcMarkerSize,Gbe=[\"a\",\"b\",\"c\"],jbe={a:[\"b\",\"c\"],b:[\"a\",\"c\"],c:[\"a\",\"b\"]};Wbe.exports=function(t,r){var n=t._fullLayout[r.subplot],i=n.sum,a=r.sum||i,o={a:r.a,b:r.b,c:r.c},s=r.ids,l,u,c,f,h,d;for(l=0;l<Gbe.length;l++)if(c=Gbe[l],!o[c]){for(h=o[jbe[c][0]],d=o[jbe[c][1]],f=new Array(h.length),u=0;u<h.length;u++)f[u]=a-h[u]-d[u];o[c]=f}var v=r._length,x=new Array(v),b,p,E,k,A,L;for(l=0;l<v;l++)b=o.a[l],p=o.b[l],E=o.c[l],wH(b)&&wH(p)&&wH(E)?(b=+b,p=+p,E=+E,k=i/(b+p+E),k!==1&&(b*=k,p*=k,E*=k),L=b,A=E-p,x[l]={x:A,y:L,a:b,b:p,c:E},s&&(x[l].id=s[l])):x[l]={x:!1,y:!1};return Yxt(r,v),Wxt(t,r),Zxt(x,r),Xxt(x,r),x}});var Ybe=ye((vlr,Xbe)=>{\"use strict\";var Kxt=iT();Xbe.exports=function(t,r,n){var i=r.plotContainer;i.select(\".scatterlayer\").selectAll(\"*\").remove();for(var a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:r._hasClipOnAxisFalse?r.clipIdRelative:null},l=r.layers.frontplot.select(\"g.scatterlayer\"),u=0;u<n.length;u++){var c=n[u];c.length&&(c[0].trace._xA=a,c[0].trace._yA=o)}Kxt(t,s,n,l)}});var Jbe=ye((plr,Kbe)=>{\"use strict\";var Jxt=sT();Kbe.exports=function(t,r,n,i){var a=Jxt(t,r,n,i);if(!a||a[0].index===!1)return;var o=a[0];if(o.index===void 0){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,c=l-u;return o.x0=Math.max(Math.min(o.x0,c),u),o.x1=Math.max(Math.min(o.x1,c),u),a}var f=o.cd[o.index],h=o.trace,d=o.subplot;o.a=f.a,o.b=f.b,o.c=f.c,o.xLabelVal=void 0,o.yLabelVal=void 0;var v={};v[h.subplot]={_subplot:d};var x=h._module.formatLabels(f,h,v);o.aLabel=x.aLabel,o.bLabel=x.bLabel,o.cLabel=x.cLabel;var b=f.hi||h.hoverinfo,p=[];function E(A,L){p.push(A._hovertitle+\": \"+L)}if(!h.hovertemplate){var k=b.split(\"+\");k.indexOf(\"all\")!==-1&&(k=[\"a\",\"b\",\"c\"]),k.indexOf(\"a\")!==-1&&E(d.aaxis,o.aLabel),k.indexOf(\"b\")!==-1&&E(d.baxis,o.bLabel),k.indexOf(\"c\")!==-1&&E(d.caxis,o.cLabel)}return o.extraText=p.join(\"<br>\"),o.hovertemplate=h.hovertemplate,a}});var Qbe=ye((glr,$be)=>{\"use strict\";$be.exports=function(t,r,n,i,a){if(r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),i[a]){var o=i[a];t.a=o.a,t.b=o.b,t.c=o.c}else t.a=r.a,t.b=r.b,t.c=r.c;return t}});var c2e=ye((mlr,u2e)=>{\"use strict\";var a2e=xa(),$xt=id(),TH=ba(),By=Mr(),Dm=By.strTranslate,E8=By._,qT=va(),k8=ao(),L4=ym(),AH=no().extendFlat,Qxt=Xu(),k_=Qa(),e2e=gv(),t2e=Nc(),o2e=Sg(),r2e=o2e.freeMode,ebt=o2e.rectMode,SH=Mb(),tbt=wf().prepSelect,rbt=wf().selectOnClick,ibt=wf().clearOutline,nbt=wf().clearSelectionsCache,s2e=ad();function l2e(e,t){this.id=e.id,this.graphDiv=e.graphDiv,this.init(t),this.makeFramework(t),this.updateFx(t),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}u2e.exports=l2e;var zm=l2e.prototype;zm.init=function(e){this.container=e._ternarylayer,this.defs=e._defs,this.layoutId=e._uid,this.traceHash={},this.layers={}};zm.plot=function(e,t){var r=this,n=t[r.id],i=t._size;r._hasClipOnAxisFalse=!1;for(var a=0;a<e.length;a++){var o=e[a][0].trace;if(o.cliponaxis===!1){r._hasClipOnAxisFalse=!0;break}}r.updateLayers(n),r.adjustLayout(n,i),Qxt.generalUpdatePerTraceModule(r.graphDiv,r,e,n),r.layers.plotbg.select(\"path\").call(qT.fill,n.bgcolor)};zm.makeFramework=function(e){var t=this,r=t.graphDiv,n=e[t.id],i=t.clipId=\"clip\"+t.layoutId+t.id,a=t.clipIdRelative=\"clip-relative\"+t.layoutId+t.id;t.clipDef=By.ensureSingleById(e._clips,\"clipPath\",i,function(o){o.append(\"path\").attr(\"d\",\"M0,0Z\")}),t.clipDefRelative=By.ensureSingleById(e._clips,\"clipPath\",a,function(o){o.append(\"path\").attr(\"d\",\"M0,0Z\")}),t.plotContainer=By.ensureSingle(t.container,\"g\",t.id),t.updateLayers(n),k8.setClipUrl(t.layers.backplot,i,r),k8.setClipUrl(t.layers.grids,i,r)};zm.updateFx=function(e){e._ternarylayer.selectAll(\"g.toplevel\").style(\"cursor\",e.dragmode===\"pan\"?\"move\":\"crosshair\")};zm.updateLayers=function(e){var t=this,r=t.layers,n=[\"draglayer\",\"plotbg\",\"backplot\",\"grids\"];e.aaxis.layer===\"below traces\"&&n.push(\"aaxis\",\"aline\"),e.baxis.layer===\"below traces\"&&n.push(\"baxis\",\"bline\"),e.caxis.layer===\"below traces\"&&n.push(\"caxis\",\"cline\"),n.push(\"frontplot\"),e.aaxis.layer===\"above traces\"&&n.push(\"aaxis\",\"aline\"),e.baxis.layer===\"above traces\"&&n.push(\"baxis\",\"bline\"),e.caxis.layer===\"above traces\"&&n.push(\"caxis\",\"cline\");var i=t.plotContainer.selectAll(\"g.toplevel\").data(n,String),a=[\"agrid\",\"bgrid\",\"cgrid\"];i.enter().append(\"g\").attr(\"class\",function(o){return\"toplevel \"+o}).each(function(o){var s=a2e.select(this);r[o]=s,o===\"frontplot\"?s.append(\"g\").classed(\"scatterlayer\",!0):o===\"backplot\"?s.append(\"g\").classed(\"maplayer\",!0):o===\"plotbg\"?s.append(\"path\").attr(\"d\",\"M0,0Z\"):o===\"aline\"||o===\"bline\"||o===\"cline\"?s.append(\"path\"):o===\"grids\"&&a.forEach(function(l){r[l]=s.append(\"g\").classed(\"grid \"+l,!0)})}),i.order()};var FT=Math.sqrt(4/3);zm.adjustLayout=function(e,t){var r=this,n=e.domain,i=(n.x[0]+n.x[1])/2,a=(n.y[0]+n.y[1])/2,o=n.x[1]-n.x[0],s=n.y[1]-n.y[0],l=o*t.w,u=s*t.h,c=e.sum,f=e.aaxis.min,h=e.baxis.min,d=e.caxis.min,v,x,b,p,E,k;l>FT*u?(p=u,b=p*FT):(b=l,p=b/FT),E=o*b/l,k=s*p/u,v=t.l+t.w*i-b/2,x=t.t+t.h*(1-a)-p/2,r.x0=v,r.y0=x,r.w=b,r.h=p,r.sum=c,r.xaxis={type:\"linear\",range:[f+2*d-c,c-f-2*h],domain:[i-E/2,i+E/2],_id:\"x\"},L4(r.xaxis,r.graphDiv._fullLayout),r.xaxis.setScale(),r.xaxis.isPtWithinRange=function(V){return V.a>=r.aaxis.range[0]&&V.a<=r.aaxis.range[1]&&V.b>=r.baxis.range[1]&&V.b<=r.baxis.range[0]&&V.c>=r.caxis.range[1]&&V.c<=r.caxis.range[0]},r.yaxis={type:\"linear\",range:[f,c-h-d],domain:[a-k/2,a+k/2],_id:\"y\"},L4(r.yaxis,r.graphDiv._fullLayout),r.yaxis.setScale(),r.yaxis.isPtWithinRange=function(){return!0};var A=r.yaxis.domain[0],L=r.aaxis=AH({},e.aaxis,{range:[f,c-h-d],side:\"left\",tickangle:(+e.aaxis.tickangle||0)-30,domain:[A,A+k*FT],anchor:\"free\",position:0,_id:\"y\",_length:b});L4(L,r.graphDiv._fullLayout),L.setScale();var _=r.baxis=AH({},e.baxis,{range:[c-f-d,h],side:\"bottom\",domain:r.xaxis.domain,anchor:\"free\",position:0,_id:\"x\",_length:b});L4(_,r.graphDiv._fullLayout),_.setScale();var C=r.caxis=AH({},e.caxis,{range:[c-f-h,d],side:\"right\",tickangle:(+e.caxis.tickangle||0)+30,domain:[A,A+k*FT],anchor:\"free\",position:0,_id:\"y\",_length:b});L4(C,r.graphDiv._fullLayout),C.setScale();var M=\"M\"+v+\",\"+(x+p)+\"h\"+b+\"l-\"+b/2+\",-\"+p+\"Z\";r.clipDef.select(\"path\").attr(\"d\",M),r.layers.plotbg.select(\"path\").attr(\"d\",M);var g=\"M0,\"+p+\"h\"+b+\"l-\"+b/2+\",-\"+p+\"Z\";r.clipDefRelative.select(\"path\").attr(\"d\",g);var P=Dm(v,x);r.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",P),r.clipDefRelative.select(\"path\").attr(\"transform\",null);var T=Dm(v-_._offset,x+p);r.layers.baxis.attr(\"transform\",T),r.layers.bgrid.attr(\"transform\",T);var F=Dm(v+b/2,x)+\"rotate(30)\"+Dm(0,-L._offset);r.layers.aaxis.attr(\"transform\",F),r.layers.agrid.attr(\"transform\",F);var q=Dm(v+b/2,x)+\"rotate(-30)\"+Dm(0,-C._offset);r.layers.caxis.attr(\"transform\",q),r.layers.cgrid.attr(\"transform\",q),r.drawAxes(!0),r.layers.aline.select(\"path\").attr(\"d\",L.showline?\"M\"+v+\",\"+(x+p)+\"l\"+b/2+\",-\"+p:\"M0,0\").call(qT.stroke,L.linecolor||\"#000\").style(\"stroke-width\",(L.linewidth||0)+\"px\"),r.layers.bline.select(\"path\").attr(\"d\",_.showline?\"M\"+v+\",\"+(x+p)+\"h\"+b:\"M0,0\").call(qT.stroke,_.linecolor||\"#000\").style(\"stroke-width\",(_.linewidth||0)+\"px\"),r.layers.cline.select(\"path\").attr(\"d\",C.showline?\"M\"+(v+b/2)+\",\"+x+\"l\"+b/2+\",\"+p:\"M0,0\").call(qT.stroke,C.linecolor||\"#000\").style(\"stroke-width\",(C.linewidth||0)+\"px\"),r.graphDiv._context.staticPlot||r.initInteractions(),k8.setClipUrl(r.layers.frontplot,r._hasClipOnAxisFalse?null:r.clipId,r.graphDiv)};zm.drawAxes=function(e){var t=this,r=t.graphDiv,n=t.id.substr(7)+\"title\",i=t.layers,a=t.aaxis,o=t.baxis,s=t.caxis;if(t.drawAx(a),t.drawAx(o),t.drawAx(s),e){var l=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?s.tickfont.size*.75:0)+(s.ticks===\"outside\"?s.ticklen*.87:0)),u=(o.showticklabels?o.tickfont.size:0)+(o.ticks===\"outside\"?o.ticklen:0)+3;i[\"a-title\"]=SH.draw(r,\"a\"+n,{propContainer:a,propName:t.id+\".aaxis.title\",placeholder:E8(r,\"Click to enter Component A title\"),attributes:{x:t.x0+t.w/2,y:t.y0-a.title.font.size/3-l,\"text-anchor\":\"middle\"}}),i[\"b-title\"]=SH.draw(r,\"b\"+n,{propContainer:o,propName:t.id+\".baxis.title\",placeholder:E8(r,\"Click to enter Component B title\"),attributes:{x:t.x0-u,y:t.y0+t.h+o.title.font.size*.83+u,\"text-anchor\":\"middle\"}}),i[\"c-title\"]=SH.draw(r,\"c\"+n,{propContainer:s,propName:t.id+\".caxis.title\",placeholder:E8(r,\"Click to enter Component C title\"),attributes:{x:t.x0+t.w+u,y:t.y0+t.h+s.title.font.size*.83+u,\"text-anchor\":\"middle\"}})}};zm.drawAx=function(e){var t=this,r=t.graphDiv,n=e._name,i=n.charAt(0),a=e._id,o=t.layers[n],s=30,l=i+\"tickLayout\",u=abt(e);t[l]!==u&&(o.selectAll(\".\"+a+\"tick\").remove(),t[l]=u),e.setScale();var c=k_.calcTicks(e),f=k_.clipEnds(e,c),h=k_.makeTransTickFn(e),d=k_.getTickSigns(e)[2],v=By.deg2rad(s),x=d*(e.linewidth||1)/2,b=d*e.ticklen,p=t.w,E=t.h,k=i===\"b\"?\"M0,\"+x+\"l\"+Math.sin(v)*b+\",\"+Math.cos(v)*b:\"M\"+x+\",0l\"+Math.cos(v)*b+\",\"+-Math.sin(v)*b,A={a:\"M0,0l\"+E+\",-\"+p/2,b:\"M0,0l-\"+p/2+\",-\"+E,c:\"M0,0l-\"+E+\",\"+p/2}[i];k_.drawTicks(r,e,{vals:e.ticks===\"inside\"?f:c,layer:o,path:k,transFn:h,crisp:!1}),k_.drawGrid(r,e,{vals:f,layer:t.layers[i+\"grid\"],path:A,transFn:h,crisp:!1}),k_.drawLabels(r,e,{vals:c,layer:o,transFn:h,labelFns:k_.makeLabelFns(e,0,s)})};function abt(e){return e.ticks+String(e.ticklen)+String(e.showticklabels)}var fd=s2e.MINZOOM/2+.87,obt=\"m-0.87,.5h\"+fd+\"v3h-\"+(fd+5.2)+\"l\"+(fd/2+2.6)+\",-\"+(fd*.87+4.5)+\"l2.6,1.5l-\"+fd/2+\",\"+fd*.87+\"Z\",sbt=\"m0.87,.5h-\"+fd+\"v3h\"+(fd+5.2)+\"l-\"+(fd/2+2.6)+\",-\"+(fd*.87+4.5)+\"l-2.6,1.5l\"+fd/2+\",\"+fd*.87+\"Z\",lbt=\"m0,1l\"+fd/2+\",\"+fd*.87+\"l2.6,-1.5l-\"+(fd/2+2.6)+\",-\"+(fd*.87+4.5)+\"l-\"+(fd/2+2.6)+\",\"+(fd*.87+4.5)+\"l2.6,1.5l\"+fd/2+\",-\"+fd*.87+\"Z\",ubt=\"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z\",i2e=!0;zm.clearOutline=function(){nbt(this.dragOptions),ibt(this.dragOptions.gd)};zm.initInteractions=function(){var e=this,t=e.layers.plotbg.select(\"path\").node(),r=e.graphDiv,n=r._fullLayout._zoomlayer,i,a;this.dragOptions={element:t,gd:r,plotinfo:{id:e.id,domain:r._fullLayout[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis},subplot:e.id,prepFn:function(T,F,q){e.dragOptions.xaxes=[e.xaxis],e.dragOptions.yaxes=[e.yaxis],i=r._fullLayout._invScaleX,a=r._fullLayout._invScaleY;var V=e.dragOptions.dragmode=r._fullLayout.dragmode;r2e(V)?e.dragOptions.minDrag=1:e.dragOptions.minDrag=void 0,V===\"zoom\"?(e.dragOptions.moveFn=_,e.dragOptions.clickFn=p,e.dragOptions.doneFn=C,E(T,F,q)):V===\"pan\"?(e.dragOptions.moveFn=g,e.dragOptions.clickFn=p,e.dragOptions.doneFn=P,M(),e.clearOutline(r)):(ebt(V)||r2e(V))&&tbt(T,F,q,e.dragOptions,V)}};var o,s,l,u,c,f,h,d,v,x;function b(T){var F={};return F[e.id+\".aaxis.min\"]=T.a,F[e.id+\".baxis.min\"]=T.b,F[e.id+\".caxis.min\"]=T.c,F}function p(T,F){var q=r._fullLayout.clickmode;n2e(r),T===2&&(r.emit(\"plotly_doubleclick\",null),TH.call(\"_guiRelayout\",r,b({a:0,b:0,c:0}))),q.indexOf(\"select\")>-1&&T===1&&rbt(F,r,[e.xaxis],[e.yaxis],e.id,e.dragOptions),q.indexOf(\"event\")>-1&&t2e.click(r,F,e.id)}function E(T,F,q){var V=t.getBoundingClientRect();o=F-V.left,s=q-V.top,r._fullLayout._calcInverseTransform(r);var H=r._fullLayout._invTransform,X=By.apply3DTransform(H)(o,s);o=X[0],s=X[1],l={a:e.aaxis.range[0],b:e.baxis.range[1],c:e.caxis.range[1]},c=l,u=e.aaxis.range[1]-l.a,f=$xt(e.graphDiv._fullLayout[e.id].bgcolor).getLuminance(),h=\"M0,\"+e.h+\"L\"+e.w/2+\", 0L\"+e.w+\",\"+e.h+\"Z\",d=!1,v=n.append(\"path\").attr(\"class\",\"zoombox\").attr(\"transform\",Dm(e.x0,e.y0)).style({fill:f>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"d\",h),x=n.append(\"path\").attr(\"class\",\"zoombox-corners\").attr(\"transform\",Dm(e.x0,e.y0)).style({fill:qT.background,stroke:qT.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"d\",\"M0,0Z\"),e.clearOutline(r)}function k(T,F){return 1-F/e.h}function A(T,F){return 1-(T+(e.h-F)/Math.sqrt(3))/e.w}function L(T,F){return(T-(e.h-F)/Math.sqrt(3))/e.w}function _(T,F){var q=o+T*i,V=s+F*a,H=Math.max(0,Math.min(1,k(o,s),k(q,V))),X=Math.max(0,Math.min(1,A(o,s),A(q,V))),G=Math.max(0,Math.min(1,L(o,s),L(q,V))),N=(H/2+G)*e.w,W=(1-H/2-X)*e.w,re=(N+W)/2,ae=W-N,_e=(1-H)*e.h,Me=_e-ae/FT;ae<s2e.MINZOOM?(c=l,v.attr(\"d\",h),x.attr(\"d\",\"M0,0Z\")):(c={a:l.a+H*u,b:l.b+X*u,c:l.c+G*u},v.attr(\"d\",h+\"M\"+N+\",\"+_e+\"H\"+W+\"L\"+re+\",\"+Me+\"L\"+N+\",\"+_e+\"Z\"),x.attr(\"d\",\"M\"+o+\",\"+s+ubt+\"M\"+N+\",\"+_e+obt+\"M\"+W+\",\"+_e+sbt+\"M\"+re+\",\"+Me+lbt)),d||(v.transition().style(\"fill\",f>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),x.transition().style(\"opacity\",1).duration(200),d=!0),r.emit(\"plotly_relayouting\",b(c))}function C(){n2e(r),c!==l&&(TH.call(\"_guiRelayout\",r,b(c)),i2e&&r.data&&r._context.showTips&&(By.notifier(E8(r,\"Double-click to zoom back out\"),\"long\"),i2e=!1))}function M(){l={a:e.aaxis.range[0],b:e.baxis.range[1],c:e.caxis.range[1]},c=l}function g(T,F){var q=T/e.xaxis._m,V=F/e.yaxis._m;c={a:l.a-V,b:l.b+(q+V)/2,c:l.c-(q-V)/2};var H=[c.a,c.b,c.c].sort(By.sorterAsc),X={a:H.indexOf(c.a),b:H.indexOf(c.b),c:H.indexOf(c.c)};H[0]<0&&(H[1]+H[0]/2<0?(H[2]+=H[0]+H[1],H[0]=H[1]=0):(H[2]+=H[0]/2,H[1]+=H[0]/2,H[0]=0),c={a:H[X.a],b:H[X.b],c:H[X.c]},F=(l.a-c.a)*e.yaxis._m,T=(l.c-c.c-l.b+c.b)*e.xaxis._m);var G=Dm(e.x0+T,e.y0+F);e.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",G);var N=Dm(-T,-F);e.clipDefRelative.select(\"path\").attr(\"transform\",N),e.aaxis.range=[c.a,e.sum-c.b-c.c],e.baxis.range=[e.sum-c.a-c.c,c.b],e.caxis.range=[e.sum-c.a-c.b,c.c],e.drawAxes(!1),e._hasClipOnAxisFalse&&e.plotContainer.select(\".scatterlayer\").selectAll(\".trace\").call(k8.hideOutsideRangePoints,e),r.emit(\"plotly_relayouting\",b(c))}function P(){TH.call(\"_guiRelayout\",r,b(c))}t.onmousemove=function(T){t2e.hover(r,T,e.id),r._fullLayout._lasthover=t,r._fullLayout._hoversubplot=e.id},t.onmouseout=function(T){r._dragging||e2e.unhover(r,T)},e2e.init(this.dragOptions)};function n2e(e){a2e.select(e).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}});var kH=ye((ylr,f2e)=>{\"use strict\";var cbt=dh(),fbt=Ju().attributes,Ol=Cd(),hbt=Bu().overrideAll,MH=no().extendFlat,EH={title:{text:Ol.title.text,font:Ol.title.font},color:Ol.color,tickmode:Ol.minor.tickmode,nticks:MH({},Ol.nticks,{dflt:6,min:1}),tick0:Ol.tick0,dtick:Ol.dtick,tickvals:Ol.tickvals,ticktext:Ol.ticktext,ticks:Ol.ticks,ticklen:Ol.ticklen,tickwidth:Ol.tickwidth,tickcolor:Ol.tickcolor,ticklabelstep:Ol.ticklabelstep,showticklabels:Ol.showticklabels,labelalias:Ol.labelalias,showtickprefix:Ol.showtickprefix,tickprefix:Ol.tickprefix,showticksuffix:Ol.showticksuffix,ticksuffix:Ol.ticksuffix,showexponent:Ol.showexponent,exponentformat:Ol.exponentformat,minexponent:Ol.minexponent,separatethousands:Ol.separatethousands,tickfont:Ol.tickfont,tickangle:Ol.tickangle,tickformat:Ol.tickformat,tickformatstops:Ol.tickformatstops,hoverformat:Ol.hoverformat,showline:MH({},Ol.showline,{dflt:!0}),linecolor:Ol.linecolor,linewidth:Ol.linewidth,showgrid:MH({},Ol.showgrid,{dflt:!0}),gridcolor:Ol.gridcolor,gridwidth:Ol.gridwidth,griddash:Ol.griddash,layer:Ol.layer,min:{valType:\"number\",dflt:0,min:0}},C8=f2e.exports=hbt({domain:fbt({name:\"ternary\"}),bgcolor:{valType:\"color\",dflt:cbt.background},sum:{valType:\"number\",dflt:1,min:0},aaxis:EH,baxis:EH,caxis:EH},\"plot\",\"from-root\");C8.uirevision={valType:\"any\",editType:\"none\"};C8.aaxis.uirevision=C8.baxis.uirevision=C8.caxis.uirevision={valType:\"any\",editType:\"none\"}});var C_=ye((_lr,h2e)=>{\"use strict\";var dbt=Mr(),vbt=Vs(),pbt=Ju().defaults;h2e.exports=function(t,r,n,i){var a=i.type,o=i.attributes,s=i.handleDefaults,l=i.partition||\"x\",u=r._subplots[a],c=u.length,f=c&&u[0].replace(/\\d+$/,\"\"),h,d;function v(E,k){return dbt.coerce(h,d,o,E,k)}for(var x=0;x<c;x++){var b=u[x];t[b]?h=t[b]:h=t[b]={},d=vbt.newContainer(r,b,f),i.noUirevision||v(\"uirevision\",r.uirevision);var p={};p[l]=[x/c,(x+1)/c],pbt(d,r,v,p),i.id=b,s(h,d,v,i)}}});var g2e=ye((xlr,p2e)=>{\"use strict\";var gbt=va(),mbt=Vs(),L8=Mr(),ybt=C_(),_bt=t_(),xbt=r_(),bbt=T3(),wbt=xb(),Tbt=YM(),v2e=kH(),d2e=[\"aaxis\",\"baxis\",\"caxis\"];p2e.exports=function(t,r,n){ybt(t,r,n,{type:\"ternary\",attributes:v2e,handleDefaults:Abt,font:r.font,paper_bgcolor:r.paper_bgcolor})};function Abt(e,t,r,n){var i=r(\"bgcolor\"),a=r(\"sum\");n.bgColor=gbt.combine(i,n.paper_bgcolor);for(var o,s,l,u=0;u<d2e.length;u++)o=d2e[u],s=e[o]||{},l=mbt.newContainer(t,o),l._name=o,Sbt(s,l,n,t);var c=t.aaxis,f=t.baxis,h=t.caxis;c.min+f.min+h.min>=a&&(c.min=0,f.min=0,h.min=0,e.aaxis&&delete e.aaxis.min,e.baxis&&delete e.baxis.min,e.caxis&&delete e.caxis.min)}function Sbt(e,t,r,n){var i=v2e[t._name];function a(d,v){return L8.coerce(e,t,i,d,v)}a(\"uirevision\",n.uirevision),t.type=\"linear\";var o=a(\"color\"),s=o!==i.color.dflt?o:r.font.color,l=t._name,u=l.charAt(0).toUpperCase(),c=\"Component \"+u,f=a(\"title.text\",c);t._hovertitle=f===c?f:u,L8.coerceFont(a,\"title.font\",r.font,{overrideDflt:{size:L8.bigFont(r.font.size),color:s}}),a(\"min\"),wbt(e,t,a,\"linear\"),xbt(e,t,a,\"linear\"),_bt(e,t,a,\"linear\",{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0}),bbt(e,t,a,{outerTicks:!0});var h=a(\"showticklabels\");h&&(L8.coerceFont(a,\"tickfont\",r.font,{overrideDflt:{color:s}}),a(\"tickangle\"),a(\"tickformat\")),Tbt(e,t,a,{dfltColor:o,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),a(\"hoverformat\"),a(\"layer\")}});var m2e=ye(W0=>{\"use strict\";var Mbt=c2e(),Ebt=kd().getSubplotCalcData,kbt=Mr().counterRegex,OT=\"ternary\";W0.name=OT;var Cbt=W0.attr=\"subplot\";W0.idRoot=OT;W0.idRegex=W0.attrRegex=kbt(OT);var Lbt=W0.attributes={};Lbt[Cbt]={valType:\"subplotid\",dflt:\"ternary\",editType:\"calc\"};W0.layoutAttributes=kH();W0.supplyLayoutDefaults=g2e();W0.plot=function(t){for(var r=t._fullLayout,n=t.calcdata,i=r._subplots[OT],a=0;a<i.length;a++){var o=i[a],s=Ebt(n,OT,o),l=r[o]._subplot;l||(l=new Mbt({id:o,graphDiv:t,container:r._ternarylayer.node()},r),r[o]._subplot=l),l.plot(s,r,t._promises)}};W0.clean=function(e,t,r,n){for(var i=n._subplots[OT]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!t[o]&&s&&(s.plotContainer.remove(),s.clipDef.remove(),s.clipDefRelative.remove(),s.layers[\"a-title\"].remove(),s.layers[\"b-title\"].remove(),s.layers[\"c-title\"].remove())}};W0.updateFx=function(e){var t=e._fullLayout;t._ternarylayer.selectAll(\"g.toplevel\").style(\"cursor\",t.dragmode===\"pan\"?\"move\":\"crosshair\")}});var _2e=ye((wlr,y2e)=>{\"use strict\";y2e.exports={attributes:xH(),supplyDefaults:Ube(),colorbar:Kd(),formatLabels:Hbe(),calc:Zbe(),plot:Ybe(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:Jbe(),selectPoints:lT(),eventData:Qbe(),moduleType:\"trace\",name:\"scatterternary\",basePlotModule:m2e(),categories:[\"ternary\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var b2e=ye((Tlr,x2e)=>{\"use strict\";x2e.exports=_2e()});var CH=ye((Alr,T2e)=>{\"use strict\";var jh=v4(),BT=no().extendFlat,w2e=Oc().axisHoverFormat;T2e.exports={y:jh.y,x:jh.x,x0:jh.x0,y0:jh.y0,xhoverformat:w2e(\"x\"),yhoverformat:w2e(\"y\"),name:BT({},jh.name,{}),orientation:BT({},jh.orientation,{}),bandwidth:{valType:\"number\",min:0,editType:\"calc\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},scalemode:{valType:\"enumerated\",values:[\"width\",\"count\"],dflt:\"width\",editType:\"calc\"},spanmode:{valType:\"enumerated\",values:[\"soft\",\"hard\",\"manual\"],dflt:\"soft\",editType:\"calc\"},span:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}],editType:\"calc\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:jh.fillcolor,points:BT({},jh.boxpoints,{}),jitter:BT({},jh.jitter,{}),pointpos:BT({},jh.pointpos,{}),width:BT({},jh.width,{}),marker:jh.marker,text:jh.text,hovertext:jh.hovertext,hovertemplate:jh.hovertemplate,quartilemethod:jh.quartilemethod,box:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},width:{valType:\"number\",min:0,max:1,dflt:.25,editType:\"plot\"},fillcolor:{valType:\"color\",editType:\"style\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},editType:\"plot\"},meanline:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"plot\"},side:{valType:\"enumerated\",values:[\"both\",\"positive\",\"negative\"],dflt:\"both\",editType:\"calc\"},offsetgroup:jh.offsetgroup,alignmentgroup:jh.alignmentgroup,selected:jh.selected,unselected:jh.unselected,hoveron:{valType:\"flaglist\",flags:[\"violins\",\"points\",\"kde\"],dflt:\"violins+points+kde\",extras:[\"all\"],editType:\"style\"},zorder:jh.zorder}});var IH=ye((Slr,A2e)=>{\"use strict\";var LH=p4(),PH=Mr().extendFlat;A2e.exports={violinmode:PH({},LH.boxmode,{}),violingap:PH({},LH.boxgap,{}),violingroupgap:PH({},LH.boxgroupgap,{})}});var C2e=ye((Mlr,k2e)=>{\"use strict\";var S2e=Mr(),Pbt=va(),M2e=m4(),E2e=CH();k2e.exports=function(t,r,n,i){function a(L,_){return S2e.coerce(t,r,E2e,L,_)}function o(L,_){return S2e.coerce2(t,r,E2e,L,_)}if(M2e.handleSampleDefaults(t,r,a,i),r.visible!==!1){a(\"bandwidth\"),a(\"side\");var s=a(\"width\");s||(a(\"scalegroup\",r.name),a(\"scalemode\"));var l=a(\"span\"),u;Array.isArray(l)&&(u=\"manual\"),a(\"spanmode\",u);var c=a(\"line.color\",(t.marker||{}).color||n),f=a(\"line.width\"),h=a(\"fillcolor\",Pbt.addOpacity(r.line.color,.5));M2e.handlePointsDefaults(t,r,a,{prefix:\"\"});var d=o(\"box.width\"),v=o(\"box.fillcolor\",h),x=o(\"box.line.color\",c),b=o(\"box.line.width\",f),p=a(\"box.visible\",!!(d||v||x||b));p||(r.box={visible:!1});var E=o(\"meanline.color\",c),k=o(\"meanline.width\",f),A=a(\"meanline.visible\",!!(E||k));A||(r.meanline={visible:!1}),a(\"quartilemethod\"),a(\"zorder\")}}});var P2e=ye((Elr,L2e)=>{\"use strict\";var Ibt=Mr(),Rbt=IH(),Dbt=VI();L2e.exports=function(t,r,n){function i(a,o){return Ibt.coerce(t,r,Rbt,a,o)}Dbt._supply(t,r,n,i,\"violin\")}});var P8=ye(o2=>{\"use strict\";var zbt=Mr(),Fbt={gaussian:function(e){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*e*e)}};o2.makeKDE=function(e,t,r){var n=r.length,i=Fbt.gaussian,a=e.bandwidth,o=1/(n*a);return function(s){for(var l=0,u=0;u<n;u++)l+=i((s-r[u])/a);return o*l}};o2.getPositionOnKdePath=function(e,t,r){var n,i;t.orientation===\"h\"?(n=\"y\",i=\"x\"):(n=\"x\",i=\"y\");var a=zbt.findPointOnPath(e.path,r,i,{pathLength:e.pathLength}),o=e.posCenterPx,s=a[n],l=t.side===\"both\"?2*o-s:o;return[s,l]};o2.getKdeValue=function(e,t,r){var n=e.pts.map(o2.extractVal),i=o2.makeKDE(e,t,n);return i(r)/e.posDensityScale};o2.extractVal=function(e){return e.v}});var D2e=ye((Clr,R2e)=>{\"use strict\";var RH=Mr(),DH=Qa(),qbt=MV(),I2e=P8(),Obt=es().BADNUM;R2e.exports=function(t,r){var n=qbt(t,r);if(n[0].t.empty)return n;for(var i=t._fullLayout,a=DH.getFromId(t,r[r.orientation===\"h\"?\"xaxis\":\"yaxis\"]),o=1/0,s=-1/0,l=0,u=0,c=0;c<n.length;c++){var f=n[c],h=f.pts.map(I2e.extractVal),d=f.bandwidth=Nbt(r,f,h),v=f.span=Ubt(r,f,a,d);if(f.min===f.max&&d===0)v=f.span=[f.min,f.max],f.density=[{v:1,t:v[0]}],f.bandwidth=d,l=Math.max(l,1);else{var x=v[1]-v[0],b=Math.ceil(x/(d/3)),p=x/b;if(!isFinite(p)||!isFinite(b))return RH.error(\"Something went wrong with computing the violin span\"),n[0].t.empty=!0,n;var E=I2e.makeKDE(f,r,h);f.density=new Array(b);for(var k=0,A=v[0];A<v[1]+p/2;k++,A+=p){var L=E(A);f.density[k]={v:L,t:A},l=Math.max(l,L)}}u=Math.max(u,h.length),o=Math.min(o,v[0]),s=Math.max(s,v[1])}var _=DH.findExtremes(a,[o,s],{padded:!0});if(r._extremes[a._id]=_,r.width)n[0].t.maxKDE=l;else{var C=i._violinScaleGroupStats,M=r.scalegroup,g=C[M];g?(g.maxKDE=Math.max(g.maxKDE,l),g.maxCount=Math.max(g.maxCount,u)):C[M]={maxKDE:l,maxCount:u}}return n[0].t.labels.kde=RH._(t,\"kde:\"),n};function Bbt(e,t,r){var n=Math.min(t,r/1.349);return 1.059*n*Math.pow(e,-.2)}function Nbt(e,t,r){var n=t.max-t.min;if(!n)return e.bandwidth?e.bandwidth:0;if(e.bandwidth)return Math.max(e.bandwidth,n/1e4);var i=r.length,a=RH.stdev(r,i-1,t.mean);return Math.max(Bbt(i,a,t.q3-t.q1),n/100)}function Ubt(e,t,r,n){var i=e.spanmode,a=e.span||[],o=[t.min,t.max],s=[t.min-2*n,t.max+2*n],l;function u(f){var h=a[f],d=r.type===\"multicategory\"?r.r2c(h):r.d2c(h,0,e[t.valLetter+\"calendar\"]);return d===Obt?s[f]:d}i===\"soft\"?l=s:i===\"hard\"?l=o:l=[u(0),u(1)];var c={type:\"linear\",range:l};return DH.setConvert(c),c.cleanRange(),l}});var q2e=ye((Llr,F2e)=>{\"use strict\";var Vbt=GI().setPositionOffset,z2e=[\"v\",\"h\"];F2e.exports=function(t,r){for(var n=t.calcdata,i=r.xaxis,a=r.yaxis,o=0;o<z2e.length;o++){for(var s=z2e[o],l=s===\"h\"?a:i,u=[],c=0;c<n.length;c++){var f=n[c],h=f[0].t,d=f[0].trace;d.visible===!0&&d.type===\"violin\"&&!h.empty&&d.orientation===s&&d.xaxis===i._id&&d.yaxis===a._id&&u.push(c)}Vbt(\"violin\",t,u,l)}}});var B2e=ye((Plr,O2e)=>{\"use strict\";var zH=xa(),FH=Mr(),Hbt=ao(),qH=jI(),Gbt=fU(),jbt=P8();O2e.exports=function(t,r,n,i){var a=t._context.staticPlot,o=t._fullLayout,s=r.xaxis,l=r.yaxis;function u(c,f){var h=Gbt(c,{xaxis:s,yaxis:l,trace:f,connectGaps:!0,baseTolerance:.75,shape:\"spline\",simplify:!0,linearized:!0});return Hbt.smoothopen(h[0],1)}FH.makeTraceGroups(i,n,\"trace violins\").each(function(c){var f=zH.select(this),h=c[0],d=h.t,v=h.trace;if(v.visible!==!0||d.empty){f.remove();return}var x=d.bPos,b=d.bdPos,p=r[d.valLetter+\"axis\"],E=r[d.posLetter+\"axis\"],k=v.side===\"both\",A=k||v.side===\"positive\",L=k||v.side===\"negative\",_=f.selectAll(\"path.violin\").data(FH.identity);_.enter().append(\"path\").style(\"vector-effect\",a?\"none\":\"non-scaling-stroke\").attr(\"class\",\"violin\"),_.exit().remove(),_.each(function(V){var H=zH.select(this),X=V.density,G=X.length,N=E.c2l(V.pos+x,!0),W=E.l2p(N),re;if(v.width)re=d.maxKDE/b;else{var ae=o._violinScaleGroupStats[v.scalegroup];re=v.scalemode===\"count\"?ae.maxKDE/b*(ae.maxCount/V.pts.length):ae.maxKDE/b}var _e,Me,ke,ge,ie,Te,Ee;if(A){for(Te=new Array(G),ge=0;ge<G;ge++)Ee=Te[ge]={},Ee[d.posLetter]=N+X[ge].v/re,Ee[d.valLetter]=p.c2l(X[ge].t,!0);_e=u(Te,v)}if(L){for(Te=new Array(G),ie=0,ge=G-1;ie<G;ie++,ge--)Ee=Te[ie]={},Ee[d.posLetter]=N-X[ge].v/re,Ee[d.valLetter]=p.c2l(X[ge].t,!0);Me=u(Te,v)}if(k)ke=_e+\"L\"+Me.substr(1)+\"Z\";else{var Ae=[W,p.c2p(X[0].t)],ze=[W,p.c2p(X[G-1].t)];v.orientation===\"h\"&&(Ae.reverse(),ze.reverse()),A?ke=\"M\"+Ae+\"L\"+_e.substr(1)+\"L\"+ze:ke=\"M\"+ze+\"L\"+Me.substr(1)+\"L\"+Ae}H.attr(\"d\",ke),V.posCenterPx=W,V.posDensityScale=re*b,V.path=H.node(),V.pathLength=V.path.getTotalLength()/(k?2:1)});var C=v.box,M=C.width,g=(C.line||{}).width,P,T;k?(P=b*M,T=0):A?(P=[0,b*M/2],T=g*{x:1,y:-1}[d.posLetter]):(P=[b*M/2,0],T=g*{x:-1,y:1}[d.posLetter]),qH.plotBoxAndWhiskers(f,{pos:E,val:p},v,{bPos:x,bdPos:P,bPosPxOffset:T}),qH.plotBoxMean(f,{pos:E,val:p},v,{bPos:x,bdPos:P,bPosPxOffset:T});var F;!v.box.visible&&v.meanline.visible&&(F=FH.identity);var q=f.selectAll(\"path.meanline\").data(F||[]);q.enter().append(\"path\").attr(\"class\",\"meanline\").style(\"fill\",\"none\").style(\"vector-effect\",a?\"none\":\"non-scaling-stroke\"),q.exit().remove(),q.each(function(V){var H=p.c2p(V.mean,!0),X=jbt.getPositionOnKdePath(V,v,H);zH.select(this).attr(\"d\",v.orientation===\"h\"?\"M\"+H+\",\"+X[0]+\"V\"+X[1]:\"M\"+X[0]+\",\"+H+\"H\"+X[1])}),qH.plotPoints(f,{x:s,y:l},v,d)})}});var V2e=ye((Ilr,U2e)=>{\"use strict\";var N2e=xa(),NT=va(),Wbt=op().stylePoints;U2e.exports=function(t){var r=N2e.select(t).selectAll(\"g.trace.violins\");r.style(\"opacity\",function(n){return n[0].trace.opacity}),r.each(function(n){var i=n[0].trace,a=N2e.select(this),o=i.box||{},s=o.line||{},l=i.meanline||{},u=l.width;a.selectAll(\"path.violin\").style(\"stroke-width\",i.line.width+\"px\").call(NT.stroke,i.line.color).call(NT.fill,i.fillcolor),a.selectAll(\"path.box\").style(\"stroke-width\",s.width+\"px\").call(NT.stroke,s.color).call(NT.fill,o.fillcolor);var c={\"stroke-width\":u+\"px\",\"stroke-dasharray\":2*u+\"px,\"+u+\"px\"};a.selectAll(\"path.mean\").style(c).call(NT.stroke,l.color),a.selectAll(\"path.meanline\").style(c).call(NT.stroke,l.color),Wbt(a,i,t)})}});var W2e=ye((Rlr,j2e)=>{\"use strict\";var Zbt=va(),OH=Mr(),Xbt=Qa(),H2e=PV(),G2e=P8();j2e.exports=function(t,r,n,i,a){a||(a={});var o=a.hoverLayer,s=t.cd,l=s[0].trace,u=l.hoveron,c=u.indexOf(\"violins\")!==-1,f=u.indexOf(\"kde\")!==-1,h=[],d,v;if(c||f){var x=H2e.hoverOnBoxes(t,r,n,i);if(f&&x.length>0){var b=t.xa,p=t.ya,E,k,A,L,_;l.orientation===\"h\"?(_=r,E=\"y\",A=p,k=\"x\",L=b):(_=n,E=\"x\",A=b,k=\"y\",L=p);var C=s[t.index];if(_>=C.span[0]&&_<=C.span[1]){var M=OH.extendFlat({},t),g=L.c2p(_,!0),P=G2e.getKdeValue(C,l,_),T=G2e.getPositionOnKdePath(C,l,g),F=A._offset,q=A._length;M[E+\"0\"]=T[0],M[E+\"1\"]=T[1],M[k+\"0\"]=M[k+\"1\"]=g,M[k+\"Label\"]=k+\": \"+Xbt.hoverLabelText(L,_,l[k+\"hoverformat\"])+\", \"+s[0].t.labels.kde+\" \"+P.toFixed(3);for(var V=0,H=0;H<x.length;H++)if(x[H].attr===\"med\"){V=H;break}M.spikeDistance=x[V].spikeDistance;var X=E+\"Spike\";M[X]=x[V][X],x[V].spikeDistance=void 0,x[V][X]=void 0,M.hovertemplate=!1,h.push(M),v={},v[E+\"1\"]=OH.constrain(F+T[0],F,F+q),v[E+\"2\"]=OH.constrain(F+T[1],F,F+q),v[k+\"1\"]=v[k+\"2\"]=L._offset+g}}c&&(h=h.concat(x))}u.indexOf(\"points\")!==-1&&(d=H2e.hoverOnPoints(t,r,n));var G=o.selectAll(\".violinline-\"+l.uid).data(v?[0]:[]);return G.enter().append(\"line\").classed(\"violinline-\"+l.uid,!0).attr(\"stroke-width\",1.5),G.exit().remove(),G.attr(v).call(Zbt.stroke,t.color),i===\"closest\"?d?[d]:h:(d&&h.push(d),h)}});var X2e=ye((Dlr,Z2e)=>{\"use strict\";Z2e.exports={attributes:CH(),layoutAttributes:IH(),supplyDefaults:C2e(),crossTraceDefaults:m4().crossTraceDefaults,supplyLayoutDefaults:P2e(),calc:D2e(),crossTraceCalc:q2e(),plot:B2e(),style:V2e(),styleOnSelect:op().styleOnSelect,hoverPoints:W2e(),selectPoints:IV(),moduleType:\"trace\",name:\"violin\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\",\"violinLayout\",\"zoomScale\"],meta:{}}});var K2e=ye((zlr,Y2e)=>{\"use strict\";Y2e.exports=X2e()});var $2e=ye((Flr,J2e)=>{\"use strict\";J2e.exports={eventDataKeys:[\"percentInitial\",\"percentPrevious\",\"percentTotal\"]}});var NH=ye((qlr,twe)=>{\"use strict\";var lc=Lm(),BH=Uc().line,Ybt=vl(),Q2e=Oc().axisHoverFormat,Kbt=Wo().hovertemplateAttrs,Jbt=Wo().texttemplateAttrs,ewe=$2e(),Ny=no().extendFlat,$bt=va();twe.exports={x:lc.x,x0:lc.x0,dx:lc.dx,y:lc.y,y0:lc.y0,dy:lc.dy,xperiod:lc.xperiod,yperiod:lc.yperiod,xperiod0:lc.xperiod0,yperiod0:lc.yperiod0,xperiodalignment:lc.xperiodalignment,yperiodalignment:lc.yperiodalignment,xhoverformat:Q2e(\"x\"),yhoverformat:Q2e(\"y\"),hovertext:lc.hovertext,hovertemplate:Kbt({},{keys:ewe.eventDataKeys}),hoverinfo:Ny({},Ybt.hoverinfo,{flags:[\"name\",\"x\",\"y\",\"text\",\"percent initial\",\"percent previous\",\"percent total\"]}),textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"percent initial\",\"percent previous\",\"percent total\",\"value\"],extras:[\"none\"],editType:\"plot\",arrayOk:!1},texttemplate:Jbt({editType:\"plot\"},{keys:ewe.eventDataKeys.concat([\"label\",\"value\"])}),text:lc.text,textposition:lc.textposition,insidetextanchor:Ny({},lc.insidetextanchor,{dflt:\"middle\"}),textangle:Ny({},lc.textangle,{dflt:0}),textfont:lc.textfont,insidetextfont:lc.insidetextfont,outsidetextfont:lc.outsidetextfont,constraintext:lc.constraintext,cliponaxis:lc.cliponaxis,orientation:Ny({},lc.orientation,{}),offset:Ny({},lc.offset,{arrayOk:!1}),width:Ny({},lc.width,{arrayOk:!1}),marker:Qbt(),connector:{fillcolor:{valType:\"color\",editType:\"style\"},line:{color:Ny({},BH.color,{dflt:$bt.defaultLine}),width:Ny({},BH.width,{dflt:0,editType:\"plot\"}),dash:BH.dash,editType:\"style\"},visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},offsetgroup:lc.offsetgroup,alignmentgroup:lc.alignmentgroup,zorder:lc.zorder};function Qbt(){var e=Ny({},lc.marker);return delete e.pattern,delete e.cornerradius,e}});var UH=ye((Olr,rwe)=>{\"use strict\";rwe.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\"}}});var HH=ye((Blr,nwe)=>{\"use strict\";var I8=Mr(),e2t=Hb(),t2t=r0().handleText,r2t=K3(),i2t=Pg(),iwe=NH(),VH=va();function n2t(e,t,r,n){function i(f,h){return I8.coerce(e,t,iwe,f,h)}var a=r2t(e,t,n,i);if(!a){t.visible=!1;return}i2t(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\"),i(\"orientation\",t.y&&!t.x?\"v\":\"h\"),i(\"offset\"),i(\"width\");var o=i(\"text\");i(\"hovertext\"),i(\"hovertemplate\");var s=i(\"textposition\");t2t(e,t,n,i,s,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),t.textposition!==\"none\"&&!t.texttemplate&&i(\"textinfo\",I8.isArrayOrTypedArray(o)?\"text+value\":\"value\");var l=i(\"marker.color\",r);i(\"marker.line.color\",VH.defaultLine),i(\"marker.line.width\");var u=i(\"connector.visible\");if(u){i(\"connector.fillcolor\",a2t(l));var c=i(\"connector.line.width\");c&&(i(\"connector.line.color\"),i(\"connector.line.dash\"))}i(\"zorder\")}function a2t(e){var t=I8.isArrayOrTypedArray(e)?\"#000\":e;return VH.addOpacity(t,.5*VH.opacity(t))}function o2t(e,t){var r,n;function i(o){return I8.coerce(n._input,n,iwe,o)}for(var a=0;a<e.length;a++)n=e[a],n.type===\"funnel\"&&(r=n._input,e2t(r,n,t,i,t.funnelmode))}nwe.exports={supplyDefaults:n2t,crossTraceDefaults:o2t}});var owe=ye((Nlr,awe)=>{\"use strict\";var s2t=Mr(),l2t=UH();awe.exports=function(e,t,r){var n=!1;function i(s,l){return s2t.coerce(e,t,l2t,s,l)}for(var a=0;a<r.length;a++){var o=r[a];if(o.visible&&o.type===\"funnel\"){n=!0;break}}n&&(i(\"funnelmode\"),i(\"funnelgap\",.2),i(\"funnelgroupgap\"))}});var lwe=ye((Ulr,swe)=>{\"use strict\";var UT=Mr();swe.exports=function(t,r){for(var n=0;n<t.length;n++)t[n].i=n;UT.mergeArray(r.text,t,\"tx\"),UT.mergeArray(r.hovertext,t,\"htx\");var i=r.marker;if(i){UT.mergeArray(i.opacity,t,\"mo\"),UT.mergeArray(i.color,t,\"mc\");var a=i.line;a&&(UT.mergeArray(a.color,t,\"mlc\"),UT.mergeArrayCastPositive(a.width,t,\"mlw\"))}}});var hwe=ye((Vlr,fwe)=>{\"use strict\";var uwe=Qa(),cwe=Rg(),u2t=lwe(),c2t=F0(),P4=es().BADNUM;fwe.exports=function(t,r){var n=uwe.getFromId(t,r.xaxis||\"x\"),i=uwe.getFromId(t,r.yaxis||\"y\"),a,o,s,l,u,c,f,h;r.orientation===\"h\"?(a=n.makeCalcdata(r,\"x\"),s=i.makeCalcdata(r,\"y\"),l=cwe(r,i,\"y\",s),u=!!r.yperiodalignment,c=\"y\"):(a=i.makeCalcdata(r,\"y\"),s=n.makeCalcdata(r,\"x\"),l=cwe(r,n,\"x\",s),u=!!r.xperiodalignment,c=\"x\"),o=l.vals;var d=Math.min(o.length,a.length),v=new Array(d);for(r._base=[],f=0;f<d;f++){a[f]<0&&(a[f]=P4);var x=!1;a[f]!==P4&&f+1<d&&a[f+1]!==P4&&(x=!0),h=v[f]={p:o[f],s:a[f],cNext:x},r._base[f]=-.5*h.s,u&&(v[f].orig_p=s[f],v[f][c+\"End\"]=l.ends[f],v[f][c+\"Start\"]=l.starts[f]),r.ids&&(h.id=String(r.ids[f])),f===0&&(v[0].vTotal=0),v[0].vTotal+=GH(h.s),h.begR=GH(h.s)/GH(v[0].s)}var b;for(f=0;f<d;f++)h=v[f],h.s!==P4&&(h.sumR=h.s/v[0].vTotal,h.difR=b!==void 0?h.s/b:1,b=h.s);return u2t(v,r),c2t(v,r),v};function GH(e){return e===P4?0:e}});var pwe=ye((Hlr,vwe)=>{\"use strict\";var dwe=Gb().setGroupPositions;vwe.exports=function(t,r){var n=t._fullLayout,i=t._fullData,a=t.calcdata,o=r.xaxis,s=r.yaxis,l=[],u=[],c=[],f,h;for(h=0;h<i.length;h++){var d=i[h],v=d.orientation===\"h\";d.visible===!0&&d.xaxis===o._id&&d.yaxis===s._id&&d.type===\"funnel\"&&(f=a[h],v?c.push(f):u.push(f),l.push(f))}var x={mode:n.funnelmode,norm:n.funnelnorm,gap:n.funnelgap,groupgap:n.funnelgroupgap};for(dwe(t,o,s,u,x),dwe(t,s,o,c,x),h=0;h<l.length;h++){f=l[h];for(var b=0;b<f.length;b++)b+1<f.length&&(f[b].nextP0=f[b+1].p0,f[b].nextS0=f[b+1].s0,f[b].nextP1=f[b+1].p1,f[b].nextS1=f[b+1].s1)}}});var _we=ye((Glr,ywe)=>{\"use strict\";var R8=xa(),P_=Mr(),gwe=ao(),L_=es().BADNUM,f2t=i2(),h2t=_v().clearMinTextSize;ywe.exports=function(t,r,n,i){var a=t._fullLayout;h2t(\"funnel\",a),d2t(t,r,n,i),v2t(t,r,n,i),f2t.plot(t,r,n,i,{mode:a.funnelmode,norm:a.funnelmode,gap:a.funnelgap,groupgap:a.funnelgroupgap})};function d2t(e,t,r,n){var i=t.xaxis,a=t.yaxis;P_.makeTraceGroups(n,r,\"trace bars\").each(function(o){var s=R8.select(this),l=o[0].trace,u=P_.ensureSingle(s,\"g\",\"regions\");if(!l.connector||!l.connector.visible){u.remove();return}var c=l.orientation===\"h\",f=u.selectAll(\"g.region\").data(P_.identity);f.enter().append(\"g\").classed(\"region\",!0),f.exit().remove();var h=f.size();f.each(function(d,v){if(!(v!==h-1&&!d.cNext)){var x=mwe(d,i,a,c),b=x[0],p=x[1],E=\"\";b[0]!==L_&&p[0]!==L_&&b[1]!==L_&&p[1]!==L_&&b[2]!==L_&&p[2]!==L_&&b[3]!==L_&&p[3]!==L_&&(c?E+=\"M\"+b[0]+\",\"+p[1]+\"L\"+b[2]+\",\"+p[2]+\"H\"+b[3]+\"L\"+b[1]+\",\"+p[1]+\"Z\":E+=\"M\"+b[1]+\",\"+p[1]+\"L\"+b[2]+\",\"+p[3]+\"V\"+p[2]+\"L\"+b[1]+\",\"+p[0]+\"Z\"),E===\"\"&&(E=\"M0,0Z\"),P_.ensureSingle(R8.select(this),\"path\").attr(\"d\",E).call(gwe.setClipUrl,t.layerClipId,e)}})})}function v2t(e,t,r,n){var i=t.xaxis,a=t.yaxis;P_.makeTraceGroups(n,r,\"trace bars\").each(function(o){var s=R8.select(this),l=o[0].trace,u=P_.ensureSingle(s,\"g\",\"lines\");if(!l.connector||!l.connector.visible||!l.connector.line.width){u.remove();return}var c=l.orientation===\"h\",f=u.selectAll(\"g.line\").data(P_.identity);f.enter().append(\"g\").classed(\"line\",!0),f.exit().remove();var h=f.size();f.each(function(d,v){if(!(v!==h-1&&!d.cNext)){var x=mwe(d,i,a,c),b=x[0],p=x[1],E=\"\";b[3]!==void 0&&p[3]!==void 0&&(c?(E+=\"M\"+b[0]+\",\"+p[1]+\"L\"+b[2]+\",\"+p[2],E+=\"M\"+b[1]+\",\"+p[1]+\"L\"+b[3]+\",\"+p[2]):(E+=\"M\"+b[1]+\",\"+p[1]+\"L\"+b[2]+\",\"+p[3],E+=\"M\"+b[1]+\",\"+p[0]+\"L\"+b[2]+\",\"+p[2])),E===\"\"&&(E=\"M0,0Z\"),P_.ensureSingle(R8.select(this),\"path\").attr(\"d\",E).call(gwe.setClipUrl,t.layerClipId,e)}})})}function mwe(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),i[2]=o.c2p(e.nextS0,!0),a[2]=s.c2p(e.nextP0,!0),i[3]=o.c2p(e.nextS1,!0),a[3]=s.c2p(e.nextP1,!0),n?[i,a]:[a,i]}});var wwe=ye((jlr,bwe)=>{\"use strict\";var I4=xa(),xwe=ao(),jH=va(),p2t=U1().DESELECTDIM,g2t=N0(),m2t=_v().resizeText,y2t=g2t.styleTextPoints;function _2t(e,t,r){var n=r||I4.select(e).selectAll('g[class^=\"funnellayer\"]').selectAll(\"g.trace\");m2t(e,n,\"funnel\"),n.style(\"opacity\",function(i){return i[0].trace.opacity}),n.each(function(i){var a=I4.select(this),o=i[0].trace;a.selectAll(\".point > path\").each(function(s){if(!s.isBlank){var l=o.marker;I4.select(this).call(jH.fill,s.mc||l.color).call(jH.stroke,s.mlc||l.line.color).call(xwe.dashLine,l.line.dash,s.mlw||l.line.width).style(\"opacity\",o.selectedpoints&&!s.selected?p2t:1)}}),y2t(a,o,e),a.selectAll(\".regions\").each(function(){I4.select(this).selectAll(\"path\").style(\"stroke-width\",0).call(jH.fill,o.connector.fillcolor)}),a.selectAll(\".lines\").each(function(){var s=o.connector.line;xwe.lineGroupStyle(I4.select(this).selectAll(\"path\"),s.width,s.color,s.dash)})})}bwe.exports={style:_2t}});var Swe=ye((Wlr,Awe)=>{\"use strict\";var Twe=va().opacity,x2t=TT().hoverOnBars,WH=Mr().formatPercent;Awe.exports=function(t,r,n,i,a){var o=x2t(t,r,n,i,a);if(o){var s=o.cd,l=s[0].trace,u=l.orientation===\"h\",c=o.index,f=s[c],h=u?\"x\":\"y\";o[h+\"LabelVal\"]=f.s,o.percentInitial=f.begR,o.percentInitialLabel=WH(f.begR,1),o.percentPrevious=f.difR,o.percentPreviousLabel=WH(f.difR,1),o.percentTotal=f.sumR,o.percentTotalLabel=WH(f.sumR,1);var d=f.hi||l.hoverinfo,v=[];if(d&&d!==\"none\"&&d!==\"skip\"){var x=d===\"all\",b=d.split(\"+\"),p=function(E){return x||b.indexOf(E)!==-1};p(\"percent initial\")&&v.push(o.percentInitialLabel+\" of initial\"),p(\"percent previous\")&&v.push(o.percentPreviousLabel+\" of previous\"),p(\"percent total\")&&v.push(o.percentTotalLabel+\" of total\")}return o.extraText=v.join(\"<br>\"),o.color=b2t(l,f),[o]}};function b2t(e,t){var r=e.marker,n=t.mc||r.color,i=t.mlc||r.line.color,a=t.mlw||r.line.width;if(Twe(n))return n;if(Twe(i)&&a)return i}});var Ewe=ye((Zlr,Mwe)=>{\"use strict\";Mwe.exports=function(t,r){return t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,\"percentInitial\"in r&&(t.percentInitial=r.percentInitial),\"percentPrevious\"in r&&(t.percentPrevious=r.percentPrevious),\"percentTotal\"in r&&(t.percentTotal=r.percentTotal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var Cwe=ye((Xlr,kwe)=>{\"use strict\";kwe.exports={attributes:NH(),layoutAttributes:UH(),supplyDefaults:HH().supplyDefaults,crossTraceDefaults:HH().crossTraceDefaults,supplyLayoutDefaults:owe(),calc:hwe(),crossTraceCalc:pwe(),plot:_we(),style:wwe().style,hoverPoints:Swe(),eventData:Ewe(),selectPoints:AT(),moduleType:\"trace\",name:\"funnel\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}});var Pwe=ye((Ylr,Lwe)=>{\"use strict\";Lwe.exports=Cwe()});var Rwe=ye((Klr,Iwe)=>{\"use strict\";Iwe.exports={eventDataKeys:[\"initial\",\"delta\",\"final\"]}});var YH=ye((Jlr,Fwe)=>{\"use strict\";var Uu=Lm(),ZH=Uc().line,w2t=vl(),Dwe=Oc().axisHoverFormat,T2t=Wo().hovertemplateAttrs,A2t=Wo().texttemplateAttrs,zwe=Rwe(),VT=no().extendFlat,S2t=va();function XH(e){return{marker:{color:VT({},Uu.marker.color,{arrayOk:!1,editType:\"style\"}),line:{color:VT({},Uu.marker.line.color,{arrayOk:!1,editType:\"style\"}),width:VT({},Uu.marker.line.width,{arrayOk:!1,editType:\"style\"}),editType:\"style\"},editType:\"style\"},editType:\"style\"}}Fwe.exports={measure:{valType:\"data_array\",dflt:[],editType:\"calc\"},base:{valType:\"number\",dflt:null,arrayOk:!1,editType:\"calc\"},x:Uu.x,x0:Uu.x0,dx:Uu.dx,y:Uu.y,y0:Uu.y0,dy:Uu.dy,xperiod:Uu.xperiod,yperiod:Uu.yperiod,xperiod0:Uu.xperiod0,yperiod0:Uu.yperiod0,xperiodalignment:Uu.xperiodalignment,yperiodalignment:Uu.yperiodalignment,xhoverformat:Dwe(\"x\"),yhoverformat:Dwe(\"y\"),hovertext:Uu.hovertext,hovertemplate:T2t({},{keys:zwe.eventDataKeys}),hoverinfo:VT({},w2t.hoverinfo,{flags:[\"name\",\"x\",\"y\",\"text\",\"initial\",\"delta\",\"final\"]}),textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"initial\",\"delta\",\"final\"],extras:[\"none\"],editType:\"plot\",arrayOk:!1},texttemplate:A2t({editType:\"plot\"},{keys:zwe.eventDataKeys.concat([\"label\"])}),text:Uu.text,textposition:Uu.textposition,insidetextanchor:Uu.insidetextanchor,textangle:Uu.textangle,textfont:Uu.textfont,insidetextfont:Uu.insidetextfont,outsidetextfont:Uu.outsidetextfont,constraintext:Uu.constraintext,cliponaxis:Uu.cliponaxis,orientation:Uu.orientation,offset:Uu.offset,width:Uu.width,increasing:XH(\"increasing\"),decreasing:XH(\"decreasing\"),totals:XH(\"intermediate sums and total\"),connector:{line:{color:VT({},ZH.color,{dflt:S2t.defaultLine}),width:VT({},ZH.width,{editType:\"plot\"}),dash:ZH.dash,editType:\"plot\"},mode:{valType:\"enumerated\",values:[\"spanning\",\"between\"],dflt:\"between\",editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},offsetgroup:Uu.offsetgroup,alignmentgroup:Uu.alignmentgroup,zorder:Uu.zorder}});var KH=ye(($lr,qwe)=>{\"use strict\";qwe.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\"}}});var HT=ye((Qlr,Owe)=>{\"use strict\";Owe.exports={INCREASING:{COLOR:\"#3D9970\",SYMBOL:\"\\u25B2\"},DECREASING:{COLOR:\"#FF4136\",SYMBOL:\"\\u25BC\"}}});var $H=ye((eur,Vwe)=>{\"use strict\";var Bwe=Mr(),M2t=Hb(),E2t=r0().handleText,k2t=K3(),C2t=Pg(),Nwe=YH(),L2t=va(),Uwe=HT(),P2t=Uwe.INCREASING.COLOR,I2t=Uwe.DECREASING.COLOR,R2t=\"#4499FF\";function JH(e,t,r){e(t+\".marker.color\",r),e(t+\".marker.line.color\",L2t.defaultLine),e(t+\".marker.line.width\")}function D2t(e,t,r,n){function i(u,c){return Bwe.coerce(e,t,Nwe,u,c)}var a=k2t(e,t,n,i);if(!a){t.visible=!1;return}C2t(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\"),i(\"measure\"),i(\"orientation\",t.x&&!t.y?\"h\":\"v\"),i(\"base\"),i(\"offset\"),i(\"width\"),i(\"text\"),i(\"hovertext\"),i(\"hovertemplate\");var o=i(\"textposition\");E2t(e,t,n,i,o,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),t.textposition!==\"none\"&&(i(\"texttemplate\"),t.texttemplate||i(\"textinfo\")),JH(i,\"increasing\",P2t),JH(i,\"decreasing\",I2t),JH(i,\"totals\",R2t);var s=i(\"connector.visible\");if(s){i(\"connector.mode\");var l=i(\"connector.line.width\");l&&(i(\"connector.line.color\"),i(\"connector.line.dash\"))}i(\"zorder\")}function z2t(e,t){var r,n;function i(o){return Bwe.coerce(n._input,n,Nwe,o)}if(t.waterfallmode===\"group\")for(var a=0;a<e.length;a++)n=e[a],r=n._input,M2t(r,n,t,i,t.waterfallmode)}Vwe.exports={supplyDefaults:D2t,crossTraceDefaults:z2t}});var Gwe=ye((tur,Hwe)=>{\"use strict\";var F2t=Mr(),q2t=KH();Hwe.exports=function(e,t,r){var n=!1;function i(s,l){return F2t.coerce(e,t,q2t,s,l)}for(var a=0;a<r.length;a++){var o=r[a];if(o.visible&&o.type===\"waterfall\"){n=!0;break}}n&&(i(\"waterfallmode\"),i(\"waterfallgap\",.2),i(\"waterfallgroupgap\"))}});var Kwe=ye((rur,Ywe)=>{\"use strict\";var jwe=Qa(),Wwe=Rg(),Zwe=Mr().mergeArray,O2t=F0(),Xwe=es().BADNUM;function QH(e){return e===\"a\"||e===\"absolute\"}function eG(e){return e===\"t\"||e===\"total\"}Ywe.exports=function(t,r){var n=jwe.getFromId(t,r.xaxis||\"x\"),i=jwe.getFromId(t,r.yaxis||\"y\"),a,o,s,l,u,c;r.orientation===\"h\"?(a=n.makeCalcdata(r,\"x\"),s=i.makeCalcdata(r,\"y\"),l=Wwe(r,i,\"y\",s),u=!!r.yperiodalignment,c=\"y\"):(a=i.makeCalcdata(r,\"y\"),s=n.makeCalcdata(r,\"x\"),l=Wwe(r,n,\"x\",s),u=!!r.xperiodalignment,c=\"x\"),o=l.vals;for(var f=Math.min(o.length,a.length),h=new Array(f),d=0,v,x=!1,b=0;b<f;b++){var p=a[b]||0,E=!1;(a[b]!==Xwe||eG(r.measure[b])||QH(r.measure[b]))&&b+1<f&&(a[b+1]!==Xwe||eG(r.measure[b+1])||QH(r.measure[b+1]))&&(E=!0);var k=h[b]={i:b,p:o[b],s:p,rawS:p,cNext:E};QH(r.measure[b])?(d=k.s,k.isSum=!0,k.dir=\"totals\",k.s=d):eG(r.measure[b])?(k.isSum=!0,k.dir=\"totals\",k.s=d):(k.isSum=!1,k.dir=k.rawS<0?\"decreasing\":\"increasing\",v=k.s,k.s=d+v,d+=v),k.dir===\"totals\"&&(x=!0),u&&(h[b].orig_p=s[b],h[b][c+\"End\"]=l.ends[b],h[b][c+\"Start\"]=l.starts[b]),r.ids&&(k.id=String(r.ids[b])),k.v=(r.base||0)+d}return h.length&&(h[0].hasTotals=x),Zwe(r.text,h,\"tx\"),Zwe(r.hovertext,h,\"htx\"),O2t(h,r),h}});var Qwe=ye((iur,$we)=>{\"use strict\";var Jwe=Gb().setGroupPositions;$we.exports=function(t,r){var n=t._fullLayout,i=t._fullData,a=t.calcdata,o=r.xaxis,s=r.yaxis,l=[],u=[],c=[],f,h;for(h=0;h<i.length;h++){var d=i[h];d.visible===!0&&d.xaxis===o._id&&d.yaxis===s._id&&d.type===\"waterfall\"&&(f=a[h],d.orientation===\"h\"?c.push(f):u.push(f),l.push(f))}var v={mode:n.waterfallmode,norm:n.waterfallnorm,gap:n.waterfallgap,groupgap:n.waterfallgroupgap};for(Jwe(t,o,s,u,v),Jwe(t,s,o,c,v),h=0;h<l.length;h++){f=l[h];for(var x=0;x<f.length;x++){var b=f[x];b.isSum===!1&&(b.s0+=x===0?0:f[x-1].s),x+1<f.length&&(f[x].nextP0=f[x+1].p0,f[x].nextS0=f[x+1].s0)}}}});var r3e=ye((nur,t3e)=>{\"use strict\";var e3e=xa(),D8=Mr(),B2t=ao(),GT=es().BADNUM,N2t=i2(),U2t=_v().clearMinTextSize;t3e.exports=function(t,r,n,i){var a=t._fullLayout;U2t(\"waterfall\",a),N2t.plot(t,r,n,i,{mode:a.waterfallmode,norm:a.waterfallmode,gap:a.waterfallgap,groupgap:a.waterfallgroupgap}),V2t(t,r,n,i)};function V2t(e,t,r,n){var i=t.xaxis,a=t.yaxis;D8.makeTraceGroups(n,r,\"trace bars\").each(function(o){var s=e3e.select(this),l=o[0].trace,u=D8.ensureSingle(s,\"g\",\"lines\");if(!l.connector||!l.connector.visible){u.remove();return}var c=l.orientation===\"h\",f=l.connector.mode,h=u.selectAll(\"g.line\").data(D8.identity);h.enter().append(\"g\").classed(\"line\",!0),h.exit().remove();var d=h.size();h.each(function(v,x){if(!(x!==d-1&&!v.cNext)){var b=H2t(v,i,a,c),p=b[0],E=b[1],k=\"\";p[0]!==GT&&E[0]!==GT&&p[1]!==GT&&E[1]!==GT&&(f===\"spanning\"&&!v.isSum&&x>0&&(c?k+=\"M\"+p[0]+\",\"+E[1]+\"V\"+E[0]:k+=\"M\"+p[1]+\",\"+E[0]+\"H\"+p[0]),f!==\"between\"&&(v.isSum||x<d-1)&&(c?k+=\"M\"+p[1]+\",\"+E[0]+\"V\"+E[1]:k+=\"M\"+p[0]+\",\"+E[1]+\"H\"+p[1]),p[2]!==GT&&E[2]!==GT&&(c?k+=\"M\"+p[1]+\",\"+E[1]+\"V\"+E[2]:k+=\"M\"+p[1]+\",\"+E[1]+\"H\"+p[2])),k===\"\"&&(k=\"M0,0Z\"),D8.ensureSingle(e3e.select(this),\"path\").attr(\"d\",k).call(B2t.setClipUrl,t.layerClipId,e)}})})}function H2t(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),i[2]=o.c2p(e.nextS0,!0),a[2]=s.c2p(e.nextP0,!0),n?[i,a]:[a,i]}});var o3e=ye((aur,a3e)=>{\"use strict\";var z8=xa(),i3e=ao(),n3e=va(),G2t=U1().DESELECTDIM,j2t=N0(),W2t=_v().resizeText,Z2t=j2t.styleTextPoints;function X2t(e,t,r){var n=r||z8.select(e).selectAll('g[class^=\"waterfalllayer\"]').selectAll(\"g.trace\");W2t(e,n,\"waterfall\"),n.style(\"opacity\",function(i){return i[0].trace.opacity}),n.each(function(i){var a=z8.select(this),o=i[0].trace;a.selectAll(\".point > path\").each(function(s){if(!s.isBlank){var l=o[s.dir].marker;z8.select(this).call(n3e.fill,l.color).call(n3e.stroke,l.line.color).call(i3e.dashLine,l.line.dash,l.line.width).style(\"opacity\",o.selectedpoints&&!s.selected?G2t:1)}}),Z2t(a,o,e),a.selectAll(\".lines\").each(function(){var s=o.connector.line;i3e.lineGroupStyle(z8.select(this).selectAll(\"path\"),s.width,s.color,s.dash)})})}a3e.exports={style:X2t}});var f3e=ye((our,c3e)=>{\"use strict\";var Y2t=Qa().hoverLabelText,s3e=va().opacity,K2t=TT().hoverOnBars,l3e=HT(),u3e={increasing:l3e.INCREASING.SYMBOL,decreasing:l3e.DECREASING.SYMBOL};c3e.exports=function(t,r,n,i,a){var o=K2t(t,r,n,i,a);if(!o)return;var s=o.cd,l=s[0].trace,u=l.orientation===\"h\",c=u?\"x\":\"y\",f=u?t.xa:t.ya;function h(_){return Y2t(f,_,l[c+\"hoverformat\"])}var d=o.index,v=s[d],x=v.isSum?v.b+v.s:v.rawS;o.initial=v.b+v.s-x,o.delta=x,o.final=o.initial+o.delta;var b=h(Math.abs(o.delta));o.deltaLabel=x<0?\"(\"+b+\")\":b,o.finalLabel=h(o.final),o.initialLabel=h(o.initial);var p=v.hi||l.hoverinfo,E=[];if(p&&p!==\"none\"&&p!==\"skip\"){var k=p===\"all\",A=p.split(\"+\"),L=function(_){return k||A.indexOf(_)!==-1};v.isSum||(L(\"final\")&&(u?!L(\"x\"):!L(\"y\"))&&E.push(o.finalLabel),L(\"delta\")&&(x<0?E.push(o.deltaLabel+\" \"+u3e.decreasing):E.push(o.deltaLabel+\" \"+u3e.increasing)),L(\"initial\")&&E.push(\"Initial: \"+o.initialLabel))}return E.length&&(o.extraText=E.join(\"<br>\")),o.color=J2t(l,v),[o]};function J2t(e,t){var r=e[t.dir].marker,n=r.color,i=r.line.color,a=r.line.width;if(s3e(n))return n;if(s3e(i)&&a)return i}});var d3e=ye((sur,h3e)=>{\"use strict\";h3e.exports=function(t,r){return t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,\"initial\"in r&&(t.initial=r.initial),\"delta\"in r&&(t.delta=r.delta),\"final\"in r&&(t.final=r.final),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var p3e=ye((lur,v3e)=>{\"use strict\";v3e.exports={attributes:YH(),layoutAttributes:KH(),supplyDefaults:$H().supplyDefaults,crossTraceDefaults:$H().crossTraceDefaults,supplyLayoutDefaults:Gwe(),calc:Kwe(),crossTraceCalc:Qwe(),plot:r3e(),style:o3e().style,hoverPoints:f3e(),eventData:d3e(),selectPoints:AT(),moduleType:\"trace\",name:\"waterfall\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}});var m3e=ye((uur,g3e)=>{\"use strict\";g3e.exports=p3e()});var jT=ye((cur,y3e)=>{\"use strict\";y3e.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(e){return e.slice(0,3)},suffix:[\"\",\"\",\"\"]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.slice(0,4)},suffix:[\"\",\"\",\"\",\"\"]},rgba256:{colormodel:\"rgba\",zminDflt:[0,0,0,0],zmaxDflt:[255,255,255,255],min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.slice(0,4)},suffix:[\"\",\"\",\"\",\"\"]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(e){var t=e.slice(0,3);return t[1]=t[1]+\"%\",t[2]=t[2]+\"%\",t},suffix:[\"\\xB0\",\"%\",\"%\"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(e){var t=e.slice(0,4);return t[1]=t[1]+\"%\",t[2]=t[2]+\"%\",t},suffix:[\"\\xB0\",\"%\",\"%\",\"\"]}}}});var tG=ye((fur,x3e)=>{\"use strict\";var $2t=vl(),Q2t=Uc().zorder,ewt=Wo().hovertemplateAttrs,_3e=no().extendFlat,twt=jT().colormodel,D4=[\"rgb\",\"rgba\",\"rgba256\",\"hsl\",\"hsla\"],rwt=[],iwt=[];for(WT=0;WT<D4.length;WT++)R4=twt[D4[WT]],rwt.push(\"For the `\"+D4[WT]+\"` colormodel, it is [\"+(R4.zminDflt||R4.min).join(\", \")+\"].\"),iwt.push(\"For the `\"+D4[WT]+\"` colormodel, it is [\"+(R4.zmaxDflt||R4.max).join(\", \")+\"].\");var R4,WT;x3e.exports=_3e({source:{valType:\"string\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},colormodel:{valType:\"enumerated\",values:D4,editType:\"calc\"},zsmooth:{valType:\"enumerated\",values:[\"fast\",!1],dflt:!1,editType:\"plot\"},zmin:{valType:\"info_array\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},zmax:{valType:\"info_array\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},x0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},y0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dx:{valType:\"number\",dflt:1,editType:\"calc\"},dy:{valType:\"number\",dflt:1,editType:\"calc\"},text:{valType:\"data_array\",editType:\"plot\"},hovertext:{valType:\"data_array\",editType:\"plot\"},hoverinfo:_3e({},$2t.hoverinfo,{flags:[\"x\",\"y\",\"z\",\"color\",\"name\",\"text\"],dflt:\"x+y+z+text+name\"}),hovertemplate:ewt({},{keys:[\"z\",\"color\",\"colormodel\"]}),zorder:Q2t})});var T3e=ye((hur,w3e)=>{\"use strict\";var nwt=Mr(),awt=tG(),b3e=jT(),owt=Ly().IMAGE_URL_PREFIX;w3e.exports=function(t,r){function n(o,s){return nwt.coerce(t,r,awt,o,s)}n(\"source\"),r.source&&!r.source.match(owt)&&delete r.source,r._hasSource=!!r.source;var i=n(\"z\");if(r._hasZ=!(i===void 0||!i.length||!i[0]||!i[0].length),!r._hasZ&&!r._hasSource){r.visible=!1;return}n(\"x0\"),n(\"y0\"),n(\"dx\"),n(\"dy\");var a;r._hasZ?(n(\"colormodel\",\"rgb\"),a=b3e.colormodel[r.colormodel],n(\"zmin\",a.zminDflt||a.min),n(\"zmax\",a.zmaxDflt||a.max)):r._hasSource&&(r.colormodel=\"rgba256\",a=b3e.colormodel[r.colormodel],r.zmin=a.zminDflt,r.zmax=a.zmaxDflt),n(\"zsmooth\"),n(\"text\"),n(\"hovertext\"),n(\"hovertemplate\"),r._length=null,n(\"zorder\")}});var Uy=ye((dur,rG)=>{typeof Object.create==\"function\"?rG.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:rG.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}}});var iG=ye((vur,A3e)=>{A3e.exports=vb().EventEmitter});var E3e=ye(F8=>{\"use strict\";F8.byteLength=lwt;F8.toByteArray=cwt;F8.fromByteArray=dwt;var Fm=[],Z0=[],swt=typeof Uint8Array!=\"undefined\"?Uint8Array:Array,nG=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";for(s2=0,S3e=nG.length;s2<S3e;++s2)Fm[s2]=nG[s2],Z0[nG.charCodeAt(s2)]=s2;var s2,S3e;Z0[45]=62;Z0[95]=63;function M3e(e){var t=e.length;if(t%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=e.indexOf(\"=\");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function lwt(e){var t=M3e(e),r=t[0],n=t[1];return(r+n)*3/4-n}function uwt(e,t,r){return(t+r)*3/4-r}function cwt(e){var t,r=M3e(e),n=r[0],i=r[1],a=new swt(uwt(e,n,i)),o=0,s=i>0?n-4:n,l;for(l=0;l<s;l+=4)t=Z0[e.charCodeAt(l)]<<18|Z0[e.charCodeAt(l+1)]<<12|Z0[e.charCodeAt(l+2)]<<6|Z0[e.charCodeAt(l+3)],a[o++]=t>>16&255,a[o++]=t>>8&255,a[o++]=t&255;return i===2&&(t=Z0[e.charCodeAt(l)]<<2|Z0[e.charCodeAt(l+1)]>>4,a[o++]=t&255),i===1&&(t=Z0[e.charCodeAt(l)]<<10|Z0[e.charCodeAt(l+1)]<<4|Z0[e.charCodeAt(l+2)]>>2,a[o++]=t>>8&255,a[o++]=t&255),a}function fwt(e){return Fm[e>>18&63]+Fm[e>>12&63]+Fm[e>>6&63]+Fm[e&63]}function hwt(e,t,r){for(var n,i=[],a=t;a<r;a+=3)n=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(e[a+2]&255),i.push(fwt(n));return i.join(\"\")}function dwt(e){for(var t,r=e.length,n=r%3,i=[],a=16383,o=0,s=r-n;o<s;o+=a)i.push(hwt(e,o,o+a>s?s:o+a));return n===1?(t=e[r-1],i.push(Fm[t>>2]+Fm[t<<4&63]+\"==\")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(Fm[t>>10]+Fm[t>>4&63]+Fm[t<<2&63]+\"=\")),i.join(\"\")}});var k3e=ye(aG=>{aG.read=function(e,t,r,n,i){var a,o,s=i*8-n-1,l=(1<<s)-1,u=l>>1,c=-7,f=r?i-1:0,h=r?-1:1,d=e[t+f];for(f+=h,a=d&(1<<-c)-1,d>>=-c,c+=s;c>0;a=a*256+e[t+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=o*256+e[t+f],f+=h,c-=8);if(a===0)a=1-u;else{if(a===l)return o?NaN:(d?-1:1)*(1/0);o=o+Math.pow(2,n),a=a-u}return(d?-1:1)*o*Math.pow(2,a-n)};aG.write=function(e,t,r,n,i,a){var o,s,l,u=a*8-i-1,c=(1<<u)-1,f=c>>1,h=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:a-1,v=n?1:-1,x=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+f>=1?t+=h/l:t+=h*Math.pow(2,1-f),t*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(t*l-1)*Math.pow(2,i),o=o+f):(s=t*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;e[r+d]=s&255,d+=v,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;e[r+d]=o&255,d+=v,o/=256,u-=8);e[r+d-v]|=x*128}});var u2=ye(KT=>{\"use strict\";var oG=E3e(),XT=k3e(),C3e=typeof Symbol==\"function\"&&typeof Symbol.for==\"function\"?Symbol.for(\"nodejs.util.inspect.custom\"):null;KT.Buffer=In;KT.SlowBuffer=_wt;KT.INSPECT_MAX_BYTES=50;var q8=2147483647;KT.kMaxLength=q8;In.TYPED_ARRAY_SUPPORT=vwt();!In.TYPED_ARRAY_SUPPORT&&typeof console!=\"undefined\"&&typeof console.error==\"function\"&&console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\");function vwt(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch(e){return!1}}Object.defineProperty(In.prototype,\"parent\",{enumerable:!0,get:function(){if(In.isBuffer(this))return this.buffer}});Object.defineProperty(In.prototype,\"offset\",{enumerable:!0,get:function(){if(In.isBuffer(this))return this.byteOffset}});function Vy(e){if(e>q8)throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,In.prototype),t}function In(e,t,r){if(typeof e==\"number\"){if(typeof t==\"string\")throw new TypeError('The \"string\" argument must be of type string. Received type number');return cG(e)}return R3e(e,t,r)}In.poolSize=8192;function R3e(e,t,r){if(typeof e==\"string\")return gwt(e,t);if(ArrayBuffer.isView(e))return mwt(e);if(e==null)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof e);if(qm(e,ArrayBuffer)||e&&qm(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer!=\"undefined\"&&(qm(e,SharedArrayBuffer)||e&&qm(e.buffer,SharedArrayBuffer)))return lG(e,t,r);if(typeof e==\"number\")throw new TypeError('The \"value\" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return In.from(n,t,r);let i=ywt(e);if(i)return i;if(typeof Symbol!=\"undefined\"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]==\"function\")return In.from(e[Symbol.toPrimitive](\"string\"),t,r);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof e)}In.from=function(e,t,r){return R3e(e,t,r)};Object.setPrototypeOf(In.prototype,Uint8Array.prototype);Object.setPrototypeOf(In,Uint8Array);function D3e(e){if(typeof e!=\"number\")throw new TypeError('\"size\" argument must be of type number');if(e<0)throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"')}function pwt(e,t,r){return D3e(e),e<=0?Vy(e):t!==void 0?typeof r==\"string\"?Vy(e).fill(t,r):Vy(e).fill(t):Vy(e)}In.alloc=function(e,t,r){return pwt(e,t,r)};function cG(e){return D3e(e),Vy(e<0?0:fG(e)|0)}In.allocUnsafe=function(e){return cG(e)};In.allocUnsafeSlow=function(e){return cG(e)};function gwt(e,t){if((typeof t!=\"string\"||t===\"\")&&(t=\"utf8\"),!In.isEncoding(t))throw new TypeError(\"Unknown encoding: \"+t);let r=z3e(e,t)|0,n=Vy(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function sG(e){let t=e.length<0?0:fG(e.length)|0,r=Vy(t);for(let n=0;n<t;n+=1)r[n]=e[n]&255;return r}function mwt(e){if(qm(e,Uint8Array)){let t=new Uint8Array(e);return lG(t.buffer,t.byteOffset,t.byteLength)}return sG(e)}function lG(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('\"offset\" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('\"length\" is outside of buffer bounds');let n;return t===void 0&&r===void 0?n=new Uint8Array(e):r===void 0?n=new Uint8Array(e,t):n=new Uint8Array(e,t,r),Object.setPrototypeOf(n,In.prototype),n}function ywt(e){if(In.isBuffer(e)){let t=fG(e.length)|0,r=Vy(t);return r.length===0||e.copy(r,0,0,t),r}if(e.length!==void 0)return typeof e.length!=\"number\"||dG(e.length)?Vy(0):sG(e);if(e.type===\"Buffer\"&&Array.isArray(e.data))return sG(e.data)}function fG(e){if(e>=q8)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+q8.toString(16)+\" bytes\");return e|0}function _wt(e){return+e!=e&&(e=0),In.alloc(+e)}In.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==In.prototype};In.compare=function(t,r){if(qm(t,Uint8Array)&&(t=In.from(t,t.offset,t.byteLength)),qm(r,Uint8Array)&&(r=In.from(r,r.offset,r.byteLength)),!In.isBuffer(t)||!In.isBuffer(r))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let n=t.length,i=r.length;for(let a=0,o=Math.min(n,i);a<o;++a)if(t[a]!==r[a]){n=t[a],i=r[a];break}return n<i?-1:i<n?1:0};In.isEncoding=function(t){switch(String(t).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}};In.concat=function(t,r){if(!Array.isArray(t))throw new TypeError('\"list\" argument must be an Array of Buffers');if(t.length===0)return In.alloc(0);let n;if(r===void 0)for(r=0,n=0;n<t.length;++n)r+=t[n].length;let i=In.allocUnsafe(r),a=0;for(n=0;n<t.length;++n){let o=t[n];if(qm(o,Uint8Array))a+o.length>i.length?(In.isBuffer(o)||(o=In.from(o)),o.copy(i,a)):Uint8Array.prototype.set.call(i,o,a);else if(In.isBuffer(o))o.copy(i,a);else throw new TypeError('\"list\" argument must be an Array of Buffers');a+=o.length}return i};function z3e(e,t){if(In.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||qm(e,ArrayBuffer))return e.byteLength;if(typeof e!=\"string\")throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return uG(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return r*2;case\"hex\":return r>>>1;case\"base64\":return G3e(e).length;default:if(i)return n?-1:uG(e).length;t=(\"\"+t).toLowerCase(),i=!0}}In.byteLength=z3e;function xwt(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return Lwt(this,t,r);case\"utf8\":case\"utf-8\":return q3e(this,t,r);case\"ascii\":return kwt(this,t,r);case\"latin1\":case\"binary\":return Cwt(this,t,r);case\"base64\":return Mwt(this,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Pwt(this,t,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),n=!0}}In.prototype._isBuffer=!0;function l2(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}In.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(let r=0;r<t;r+=2)l2(this,r,r+1);return this};In.prototype.swap32=function(){let t=this.length;if(t%4!==0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(let r=0;r<t;r+=4)l2(this,r,r+3),l2(this,r+1,r+2);return this};In.prototype.swap64=function(){let t=this.length;if(t%8!==0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(let r=0;r<t;r+=8)l2(this,r,r+7),l2(this,r+1,r+6),l2(this,r+2,r+5),l2(this,r+3,r+4);return this};In.prototype.toString=function(){let t=this.length;return t===0?\"\":arguments.length===0?q3e(this,0,t):xwt.apply(this,arguments)};In.prototype.toLocaleString=In.prototype.toString;In.prototype.equals=function(t){if(!In.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");return this===t?!0:In.compare(this,t)===0};In.prototype.inspect=function(){let t=\"\",r=KT.INSPECT_MAX_BYTES;return t=this.toString(\"hex\",0,r).replace(/(.{2})/g,\"$1 \").trim(),this.length>r&&(t+=\" ... \"),\"<Buffer \"+t+\">\"};C3e&&(In.prototype[C3e]=In.prototype.inspect);In.prototype.compare=function(t,r,n,i,a){if(qm(t,Uint8Array)&&(t=In.from(t,t.offset,t.byteLength)),!In.isBuffer(t))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),a===void 0&&(a=this.length),r<0||n>t.length||i<0||a>this.length)throw new RangeError(\"out of range index\");if(i>=a&&r>=n)return 0;if(i>=a)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,a>>>=0,this===t)return 0;let o=a-i,s=n-r,l=Math.min(o,s),u=this.slice(i,a),c=t.slice(r,n);for(let f=0;f<l;++f)if(u[f]!==c[f]){o=u[f],s=c[f];break}return o<s?-1:s<o?1:0};function F3e(e,t,r,n,i){if(e.length===0)return-1;if(typeof r==\"string\"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,dG(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t==\"string\"&&(t=In.from(t,n)),In.isBuffer(t))return t.length===0?-1:L3e(e,t,r,n,i);if(typeof t==\"number\")return t=t&255,typeof Uint8Array.prototype.indexOf==\"function\"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):L3e(e,[t],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function L3e(e,t,r,n,i){let a=1,o=e.length,s=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n===\"ucs2\"||n===\"ucs-2\"||n===\"utf16le\"||n===\"utf-16le\")){if(e.length<2||t.length<2)return-1;a=2,o/=2,s/=2,r/=2}function l(c,f){return a===1?c[f]:c.readUInt16BE(f*a)}let u;if(i){let c=-1;for(u=r;u<o;u++)if(l(e,u)===l(t,c===-1?0:u-c)){if(c===-1&&(c=u),u-c+1===s)return c*a}else c!==-1&&(u-=u-c),c=-1}else for(r+s>o&&(r=o-s),u=r;u>=0;u--){let c=!0;for(let f=0;f<s;f++)if(l(e,u+f)!==l(t,f)){c=!1;break}if(c)return u}return-1}In.prototype.includes=function(t,r,n){return this.indexOf(t,r,n)!==-1};In.prototype.indexOf=function(t,r,n){return F3e(this,t,r,n,!0)};In.prototype.lastIndexOf=function(t,r,n){return F3e(this,t,r,n,!1)};function bwt(e,t,r,n){r=Number(r)||0;let i=e.length-r;n?(n=Number(n),n>i&&(n=i)):n=i;let a=t.length;n>a/2&&(n=a/2);let o;for(o=0;o<n;++o){let s=parseInt(t.substr(o*2,2),16);if(dG(s))return o;e[r+o]=s}return o}function wwt(e,t,r,n){return O8(uG(t,e.length-r),e,r,n)}function Twt(e,t,r,n){return O8(zwt(t),e,r,n)}function Awt(e,t,r,n){return O8(G3e(t),e,r,n)}function Swt(e,t,r,n){return O8(Fwt(t,e.length-r),e,r,n)}In.prototype.write=function(t,r,n,i){if(r===void 0)i=\"utf8\",n=this.length,r=0;else if(n===void 0&&typeof r==\"string\")i=r,n=this.length,r=0;else if(isFinite(r))r=r>>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i=\"utf8\")):(i=n,n=void 0);else throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");let a=this.length-r;if((n===void 0||n>a)&&(n=a),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");i||(i=\"utf8\");let o=!1;for(;;)switch(i){case\"hex\":return bwt(this,t,r,n);case\"utf8\":case\"utf-8\":return wwt(this,t,r,n);case\"ascii\":case\"latin1\":case\"binary\":return Twt(this,t,r,n);case\"base64\":return Awt(this,t,r,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Swt(this,t,r,n);default:if(o)throw new TypeError(\"Unknown encoding: \"+i);i=(\"\"+i).toLowerCase(),o=!0}};In.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function Mwt(e,t,r){return t===0&&r===e.length?oG.fromByteArray(e):oG.fromByteArray(e.slice(t,r))}function q3e(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i<r;){let a=e[i],o=null,s=a>239?4:a>223?3:a>191?2:1;if(i+s<=r){let l,u,c,f;switch(s){case 1:a<128&&(o=a);break;case 2:l=e[i+1],(l&192)===128&&(f=(a&31)<<6|l&63,f>127&&(o=f));break;case 3:l=e[i+1],u=e[i+2],(l&192)===128&&(u&192)===128&&(f=(a&15)<<12|(l&63)<<6|u&63,f>2047&&(f<55296||f>57343)&&(o=f));break;case 4:l=e[i+1],u=e[i+2],c=e[i+3],(l&192)===128&&(u&192)===128&&(c&192)===128&&(f=(a&15)<<18|(l&63)<<12|(u&63)<<6|c&63,f>65535&&f<1114112&&(o=f))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=s}return Ewt(n)}var P3e=4096;function Ewt(e){let t=e.length;if(t<=P3e)return String.fromCharCode.apply(String,e);let r=\"\",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=P3e));return r}function kwt(e,t,r){let n=\"\";r=Math.min(e.length,r);for(let i=t;i<r;++i)n+=String.fromCharCode(e[i]&127);return n}function Cwt(e,t,r){let n=\"\";r=Math.min(e.length,r);for(let i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function Lwt(e,t,r){let n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);let i=\"\";for(let a=t;a<r;++a)i+=qwt[e[a]];return i}function Pwt(e,t,r){let n=e.slice(t,r),i=\"\";for(let a=0;a<n.length-1;a+=2)i+=String.fromCharCode(n[a]+n[a+1]*256);return i}In.prototype.slice=function(t,r){let n=this.length;t=~~t,r=r===void 0?n:~~r,t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),r<t&&(r=t);let i=this.subarray(t,r);return Object.setPrototypeOf(i,In.prototype),i};function $d(e,t,r){if(e%1!==0||e<0)throw new RangeError(\"offset is not uint\");if(e+t>r)throw new RangeError(\"Trying to access beyond buffer length\")}In.prototype.readUintLE=In.prototype.readUIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=this[t],a=1,o=0;for(;++o<r&&(a*=256);)i+=this[t+o]*a;return i};In.prototype.readUintBE=In.prototype.readUIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=this[t+--r],a=1;for(;r>0&&(a*=256);)i+=this[t+--r]*a;return i};In.prototype.readUint8=In.prototype.readUInt8=function(t,r){return t=t>>>0,r||$d(t,1,this.length),this[t]};In.prototype.readUint16LE=In.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||$d(t,2,this.length),this[t]|this[t+1]<<8};In.prototype.readUint16BE=In.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||$d(t,2,this.length),this[t]<<8|this[t+1]};In.prototype.readUint32LE=In.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};In.prototype.readUint32BE=In.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};In.prototype.readBigUInt64LE=I_(function(t){t=t>>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,a=this[++t]+this[++t]*2**8+this[++t]*2**16+n*2**24;return BigInt(i)+(BigInt(a)<<BigInt(32))});In.prototype.readBigUInt64BE=I_(function(t){t=t>>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],a=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n;return(BigInt(i)<<BigInt(32))+BigInt(a)});In.prototype.readIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=this[t],a=1,o=0;for(;++o<r&&(a*=256);)i+=this[t+o]*a;return a*=128,i>=a&&(i-=Math.pow(2,8*r)),i};In.prototype.readIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=r,a=1,o=this[t+--i];for(;i>0&&(a*=256);)o+=this[t+--i]*a;return a*=128,o>=a&&(o-=Math.pow(2,8*r)),o};In.prototype.readInt8=function(t,r){return t=t>>>0,r||$d(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};In.prototype.readInt16LE=function(t,r){t=t>>>0,r||$d(t,2,this.length);let n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};In.prototype.readInt16BE=function(t,r){t=t>>>0,r||$d(t,2,this.length);let n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};In.prototype.readInt32LE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};In.prototype.readInt32BE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};In.prototype.readBigInt64LE=I_(function(t){t=t>>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(n<<24);return(BigInt(i)<<BigInt(32))+BigInt(r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24)});In.prototype.readBigInt64BE=I_(function(t){t=t>>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(i)<<BigInt(32))+BigInt(this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n)});In.prototype.readFloatLE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),XT.read(this,t,!0,23,4)};In.prototype.readFloatBE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),XT.read(this,t,!1,23,4)};In.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||$d(t,8,this.length),XT.read(this,t,!0,52,8)};In.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||$d(t,8,this.length),XT.read(this,t,!1,52,8)};function Rp(e,t,r,n,i,a){if(!In.isBuffer(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>i||t<a)throw new RangeError('\"value\" argument is out of bounds');if(r+n>e.length)throw new RangeError(\"Index out of range\")}In.prototype.writeUintLE=In.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let s=Math.pow(2,8*n)-1;Rp(this,t,r,n,s,0)}let a=1,o=0;for(this[r]=t&255;++o<n&&(a*=256);)this[r+o]=t/a&255;return r+n};In.prototype.writeUintBE=In.prototype.writeUIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let s=Math.pow(2,8*n)-1;Rp(this,t,r,n,s,0)}let a=n-1,o=1;for(this[r+a]=t&255;--a>=0&&(o*=256);)this[r+a]=t/o&255;return r+n};In.prototype.writeUint8=In.prototype.writeUInt8=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,1,255,0),this[r]=t&255,r+1};In.prototype.writeUint16LE=In.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2};In.prototype.writeUint16BE=In.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2};In.prototype.writeUint32LE=In.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4};In.prototype.writeUint32BE=In.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function O3e(e,t,r,n,i){H3e(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,r}function B3e(e,t,r,n,i){H3e(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r+7]=a,a=a>>8,e[r+6]=a,a=a>>8,e[r+5]=a,a=a>>8,e[r+4]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=o,o=o>>8,e[r+2]=o,o=o>>8,e[r+1]=o,o=o>>8,e[r]=o,r+8}In.prototype.writeBigUInt64LE=I_(function(t,r=0){return O3e(this,t,r,BigInt(0),BigInt(\"0xffffffffffffffff\"))});In.prototype.writeBigUInt64BE=I_(function(t,r=0){return B3e(this,t,r,BigInt(0),BigInt(\"0xffffffffffffffff\"))});In.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);Rp(this,t,r,n,l-1,-l)}let a=0,o=1,s=0;for(this[r]=t&255;++a<n&&(o*=256);)t<0&&s===0&&this[r+a-1]!==0&&(s=1),this[r+a]=(t/o>>0)-s&255;return r+n};In.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);Rp(this,t,r,n,l-1,-l)}let a=n-1,o=1,s=0;for(this[r+a]=t&255;--a>=0&&(o*=256);)t<0&&s===0&&this[r+a+1]!==0&&(s=1),this[r+a]=(t/o>>0)-s&255;return r+n};In.prototype.writeInt8=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1};In.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2};In.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2};In.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4};In.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};In.prototype.writeBigInt64LE=I_(function(t,r=0){return O3e(this,t,r,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});In.prototype.writeBigInt64BE=I_(function(t,r=0){return B3e(this,t,r,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});function N3e(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function U3e(e,t,r,n,i){return t=+t,r=r>>>0,i||N3e(e,t,r,4,34028234663852886e22,-34028234663852886e22),XT.write(e,t,r,n,23,4),r+4}In.prototype.writeFloatLE=function(t,r,n){return U3e(this,t,r,!0,n)};In.prototype.writeFloatBE=function(t,r,n){return U3e(this,t,r,!1,n)};function V3e(e,t,r,n,i){return t=+t,r=r>>>0,i||N3e(e,t,r,8,17976931348623157e292,-17976931348623157e292),XT.write(e,t,r,n,52,8),r+8}In.prototype.writeDoubleLE=function(t,r,n){return V3e(this,t,r,!0,n)};In.prototype.writeDoubleBE=function(t,r,n){return V3e(this,t,r,!1,n)};In.prototype.copy=function(t,r,n,i){if(!In.isBuffer(t))throw new TypeError(\"argument should be a Buffer\");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i<n&&(i=n),i===n||t.length===0||this.length===0)return 0;if(r<0)throw new RangeError(\"targetStart out of bounds\");if(n<0||n>=this.length)throw new RangeError(\"Index out of range\");if(i<0)throw new RangeError(\"sourceEnd out of bounds\");i>this.length&&(i=this.length),t.length-r<i-n&&(i=t.length-r+n);let a=i-n;return this===t&&typeof Uint8Array.prototype.copyWithin==\"function\"?this.copyWithin(r,n,i):Uint8Array.prototype.set.call(t,this.subarray(n,i),r),a};In.prototype.fill=function(t,r,n,i){if(typeof t==\"string\"){if(typeof r==\"string\"?(i=r,r=0,n=this.length):typeof n==\"string\"&&(i=n,n=this.length),i!==void 0&&typeof i!=\"string\")throw new TypeError(\"encoding must be a string\");if(typeof i==\"string\"&&!In.isEncoding(i))throw new TypeError(\"Unknown encoding: \"+i);if(t.length===1){let o=t.charCodeAt(0);(i===\"utf8\"&&o<128||i===\"latin1\")&&(t=o)}}else typeof t==\"number\"?t=t&255:typeof t==\"boolean\"&&(t=Number(t));if(r<0||this.length<r||this.length<n)throw new RangeError(\"Out of range index\");if(n<=r)return this;r=r>>>0,n=n===void 0?this.length:n>>>0,t||(t=0);let a;if(typeof t==\"number\")for(a=r;a<n;++a)this[a]=t;else{let o=In.isBuffer(t)?t:In.from(t,i),s=o.length;if(s===0)throw new TypeError('The value \"'+t+'\" is invalid for argument \"value\"');for(a=0;a<n-r;++a)this[a+r]=o[a%s]}return this};var ZT={};function hG(e,t,r){ZT[e]=class extends r{constructor(){super(),Object.defineProperty(this,\"message\",{value:t.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${e}]`,this.stack,delete this.name}get code(){return e}set code(i){Object.defineProperty(this,\"code\",{configurable:!0,enumerable:!0,value:i,writable:!0})}toString(){return`${this.name} [${e}]: ${this.message}`}}}hG(\"ERR_BUFFER_OUT_OF_BOUNDS\",function(e){return e?`${e} is outside of buffer bounds`:\"Attempt to access memory outside buffer bounds\"},RangeError);hG(\"ERR_INVALID_ARG_TYPE\",function(e,t){return`The \"${e}\" argument must be of type number. Received type ${typeof t}`},TypeError);hG(\"ERR_OUT_OF_RANGE\",function(e,t,r){let n=`The value of \"${e}\" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=I3e(String(r)):typeof r==\"bigint\"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=I3e(i)),i+=\"n\"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function I3e(e){let t=\"\",r=e.length,n=e[0]===\"-\"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function Iwt(e,t,r){YT(t,\"offset\"),(e[t]===void 0||e[t+r]===void 0)&&z4(t,e.length-(r+1))}function H3e(e,t,r,n,i,a){if(e>r||e<t){let o=typeof t==\"bigint\"?\"n\":\"\",s;throw a>3?t===0||t===BigInt(0)?s=`>= 0${o} and < 2${o} ** ${(a+1)*8}${o}`:s=`>= -(2${o} ** ${(a+1)*8-1}${o}) and < 2 ** ${(a+1)*8-1}${o}`:s=`>= ${t}${o} and <= ${r}${o}`,new ZT.ERR_OUT_OF_RANGE(\"value\",s,e)}Iwt(n,i,a)}function YT(e,t){if(typeof e!=\"number\")throw new ZT.ERR_INVALID_ARG_TYPE(t,\"number\",e)}function z4(e,t,r){throw Math.floor(e)!==e?(YT(e,r),new ZT.ERR_OUT_OF_RANGE(r||\"offset\",\"an integer\",e)):t<0?new ZT.ERR_BUFFER_OUT_OF_BOUNDS:new ZT.ERR_OUT_OF_RANGE(r||\"offset\",`>= ${r?1:0} and <= ${t}`,e)}var Rwt=/[^+/0-9A-Za-z-_]/g;function Dwt(e){if(e=e.split(\"=\")[0],e=e.trim().replace(Rwt,\"\"),e.length<2)return\"\";for(;e.length%4!==0;)e=e+\"=\";return e}function uG(e,t){t=t||1/0;let r,n=e.length,i=null,a=[];for(let o=0;o<n;++o){if(r=e.charCodeAt(o),r>55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error(\"Invalid code point\")}return a}function zwt(e){let t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r)&255);return t}function Fwt(e,t){let r,n,i,a=[];for(let o=0;o<e.length&&!((t-=2)<0);++o)r=e.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}function G3e(e){return oG.toByteArray(Dwt(e))}function O8(e,t,r,n){let i;for(i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function qm(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function dG(e){return e!==e}var qwt=function(){let e=\"0123456789abcdef\",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function I_(e){return typeof BigInt==\"undefined\"?Owt:e}function Owt(){throw new Error(\"BigInt not supported\")}});var B8=ye((_ur,j3e)=>{\"use strict\";j3e.exports=function(){if(typeof Symbol!=\"function\"||typeof Object.getOwnPropertySymbols!=\"function\")return!1;if(typeof Symbol.iterator==\"symbol\")return!0;var t={},r=Symbol(\"test\"),n=Object(r);if(typeof r==\"string\"||Object.prototype.toString.call(r)!==\"[object Symbol]\"||Object.prototype.toString.call(n)!==\"[object Symbol]\")return!1;var i=42;t[r]=i;for(r in t)return!1;if(typeof Object.keys==\"function\"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames==\"function\"&&Object.getOwnPropertyNames(t).length!==0)return!1;var a=Object.getOwnPropertySymbols(t);if(a.length!==1||a[0]!==r||!Object.prototype.propertyIsEnumerable.call(t,r))return!1;if(typeof Object.getOwnPropertyDescriptor==\"function\"){var o=Object.getOwnPropertyDescriptor(t,r);if(o.value!==i||o.enumerable!==!0)return!1}return!0}});var F4=ye((xur,W3e)=>{\"use strict\";var Bwt=B8();W3e.exports=function(){return Bwt()&&!!Symbol.toStringTag}});var X3e=ye((bur,Z3e)=>{\"use strict\";Z3e.exports=Error});var K3e=ye((wur,Y3e)=>{\"use strict\";Y3e.exports=EvalError});var $3e=ye((Tur,J3e)=>{\"use strict\";J3e.exports=RangeError});var eTe=ye((Aur,Q3e)=>{\"use strict\";Q3e.exports=ReferenceError});var vG=ye((Sur,tTe)=>{\"use strict\";tTe.exports=SyntaxError});var q4=ye((Mur,rTe)=>{\"use strict\";rTe.exports=TypeError});var nTe=ye((Eur,iTe)=>{\"use strict\";iTe.exports=URIError});var sTe=ye((kur,oTe)=>{\"use strict\";var aTe=typeof Symbol!=\"undefined\"&&Symbol,Nwt=B8();oTe.exports=function(){return typeof aTe!=\"function\"||typeof Symbol!=\"function\"||typeof aTe(\"foo\")!=\"symbol\"||typeof Symbol(\"bar\")!=\"symbol\"?!1:Nwt()}});var cTe=ye((Cur,uTe)=>{\"use strict\";var lTe={foo:{}},Uwt=Object;uTe.exports=function(){return{__proto__:lTe}.foo===lTe.foo&&!({__proto__:null}instanceof Uwt)}});var dTe=ye((Lur,hTe)=>{\"use strict\";var Vwt=\"Function.prototype.bind called on incompatible \",Hwt=Object.prototype.toString,Gwt=Math.max,jwt=\"[object Function]\",fTe=function(t,r){for(var n=[],i=0;i<t.length;i+=1)n[i]=t[i];for(var a=0;a<r.length;a+=1)n[a+t.length]=r[a];return n},Wwt=function(t,r){for(var n=[],i=r||0,a=0;i<t.length;i+=1,a+=1)n[a]=t[i];return n},Zwt=function(e,t){for(var r=\"\",n=0;n<e.length;n+=1)r+=e[n],n+1<e.length&&(r+=t);return r};hTe.exports=function(t){var r=this;if(typeof r!=\"function\"||Hwt.apply(r)!==jwt)throw new TypeError(Vwt+r);for(var n=Wwt(arguments,1),i,a=function(){if(this instanceof i){var c=r.apply(this,fTe(n,arguments));return Object(c)===c?c:this}return r.apply(t,fTe(n,arguments))},o=Gwt(0,r.length-n.length),s=[],l=0;l<o;l++)s[l]=\"$\"+l;if(i=Function(\"binder\",\"return function (\"+Zwt(s,\",\")+\"){ return binder.apply(this,arguments); }\")(a),r.prototype){var u=function(){};u.prototype=r.prototype,i.prototype=new u,u.prototype=null}return i}});var N8=ye((Pur,vTe)=>{\"use strict\";var Xwt=dTe();vTe.exports=Function.prototype.bind||Xwt});var gTe=ye((Iur,pTe)=>{\"use strict\";var Ywt=Function.prototype.call,Kwt=Object.prototype.hasOwnProperty,Jwt=N8();pTe.exports=Jwt.call(Ywt,Kwt)});var t5=ye((Rur,bTe)=>{\"use strict\";var jl,$wt=X3e(),Qwt=K3e(),e3t=$3e(),t3t=eTe(),e5=vG(),QT=q4(),r3t=nTe(),xTe=Function,pG=function(e){try{return xTe('\"use strict\"; return ('+e+\").constructor;\")()}catch(t){}},c2=Object.getOwnPropertyDescriptor;if(c2)try{c2({},\"\")}catch(e){c2=null}var gG=function(){throw new QT},i3t=c2?function(){try{return arguments.callee,gG}catch(e){try{return c2(arguments,\"callee\").get}catch(t){return gG}}}():gG,JT=sTe()(),n3t=cTe()(),Qd=Object.getPrototypeOf||(n3t?function(e){return e.__proto__}:null),$T={},a3t=typeof Uint8Array==\"undefined\"||!Qd?jl:Qd(Uint8Array),f2={__proto__:null,\"%AggregateError%\":typeof AggregateError==\"undefined\"?jl:AggregateError,\"%Array%\":Array,\"%ArrayBuffer%\":typeof ArrayBuffer==\"undefined\"?jl:ArrayBuffer,\"%ArrayIteratorPrototype%\":JT&&Qd?Qd([][Symbol.iterator]()):jl,\"%AsyncFromSyncIteratorPrototype%\":jl,\"%AsyncFunction%\":$T,\"%AsyncGenerator%\":$T,\"%AsyncGeneratorFunction%\":$T,\"%AsyncIteratorPrototype%\":$T,\"%Atomics%\":typeof Atomics==\"undefined\"?jl:Atomics,\"%BigInt%\":typeof BigInt==\"undefined\"?jl:BigInt,\"%BigInt64Array%\":typeof BigInt64Array==\"undefined\"?jl:BigInt64Array,\"%BigUint64Array%\":typeof BigUint64Array==\"undefined\"?jl:BigUint64Array,\"%Boolean%\":Boolean,\"%DataView%\":typeof DataView==\"undefined\"?jl:DataView,\"%Date%\":Date,\"%decodeURI%\":decodeURI,\"%decodeURIComponent%\":decodeURIComponent,\"%encodeURI%\":encodeURI,\"%encodeURIComponent%\":encodeURIComponent,\"%Error%\":$wt,\"%eval%\":eval,\"%EvalError%\":Qwt,\"%Float32Array%\":typeof Float32Array==\"undefined\"?jl:Float32Array,\"%Float64Array%\":typeof Float64Array==\"undefined\"?jl:Float64Array,\"%FinalizationRegistry%\":typeof FinalizationRegistry==\"undefined\"?jl:FinalizationRegistry,\"%Function%\":xTe,\"%GeneratorFunction%\":$T,\"%Int8Array%\":typeof Int8Array==\"undefined\"?jl:Int8Array,\"%Int16Array%\":typeof Int16Array==\"undefined\"?jl:Int16Array,\"%Int32Array%\":typeof Int32Array==\"undefined\"?jl:Int32Array,\"%isFinite%\":isFinite,\"%isNaN%\":isNaN,\"%IteratorPrototype%\":JT&&Qd?Qd(Qd([][Symbol.iterator]())):jl,\"%JSON%\":typeof JSON==\"object\"?JSON:jl,\"%Map%\":typeof Map==\"undefined\"?jl:Map,\"%MapIteratorPrototype%\":typeof Map==\"undefined\"||!JT||!Qd?jl:Qd(new Map()[Symbol.iterator]()),\"%Math%\":Math,\"%Number%\":Number,\"%Object%\":Object,\"%parseFloat%\":parseFloat,\"%parseInt%\":parseInt,\"%Promise%\":typeof Promise==\"undefined\"?jl:Promise,\"%Proxy%\":typeof Proxy==\"undefined\"?jl:Proxy,\"%RangeError%\":e3t,\"%ReferenceError%\":t3t,\"%Reflect%\":typeof Reflect==\"undefined\"?jl:Reflect,\"%RegExp%\":RegExp,\"%Set%\":typeof Set==\"undefined\"?jl:Set,\"%SetIteratorPrototype%\":typeof Set==\"undefined\"||!JT||!Qd?jl:Qd(new Set()[Symbol.iterator]()),\"%SharedArrayBuffer%\":typeof SharedArrayBuffer==\"undefined\"?jl:SharedArrayBuffer,\"%String%\":String,\"%StringIteratorPrototype%\":JT&&Qd?Qd(\"\"[Symbol.iterator]()):jl,\"%Symbol%\":JT?Symbol:jl,\"%SyntaxError%\":e5,\"%ThrowTypeError%\":i3t,\"%TypedArray%\":a3t,\"%TypeError%\":QT,\"%Uint8Array%\":typeof Uint8Array==\"undefined\"?jl:Uint8Array,\"%Uint8ClampedArray%\":typeof Uint8ClampedArray==\"undefined\"?jl:Uint8ClampedArray,\"%Uint16Array%\":typeof Uint16Array==\"undefined\"?jl:Uint16Array,\"%Uint32Array%\":typeof Uint32Array==\"undefined\"?jl:Uint32Array,\"%URIError%\":r3t,\"%WeakMap%\":typeof WeakMap==\"undefined\"?jl:WeakMap,\"%WeakRef%\":typeof WeakRef==\"undefined\"?jl:WeakRef,\"%WeakSet%\":typeof WeakSet==\"undefined\"?jl:WeakSet};if(Qd)try{null.error}catch(e){mTe=Qd(Qd(e)),f2[\"%Error.prototype%\"]=mTe}var mTe,o3t=function e(t){var r;if(t===\"%AsyncFunction%\")r=pG(\"async function () {}\");else if(t===\"%GeneratorFunction%\")r=pG(\"function* () {}\");else if(t===\"%AsyncGeneratorFunction%\")r=pG(\"async function* () {}\");else if(t===\"%AsyncGenerator%\"){var n=e(\"%AsyncGeneratorFunction%\");n&&(r=n.prototype)}else if(t===\"%AsyncIteratorPrototype%\"){var i=e(\"%AsyncGenerator%\");i&&Qd&&(r=Qd(i.prototype))}return f2[t]=r,r},yTe={__proto__:null,\"%ArrayBufferPrototype%\":[\"ArrayBuffer\",\"prototype\"],\"%ArrayPrototype%\":[\"Array\",\"prototype\"],\"%ArrayProto_entries%\":[\"Array\",\"prototype\",\"entries\"],\"%ArrayProto_forEach%\":[\"Array\",\"prototype\",\"forEach\"],\"%ArrayProto_keys%\":[\"Array\",\"prototype\",\"keys\"],\"%ArrayProto_values%\":[\"Array\",\"prototype\",\"values\"],\"%AsyncFunctionPrototype%\":[\"AsyncFunction\",\"prototype\"],\"%AsyncGenerator%\":[\"AsyncGeneratorFunction\",\"prototype\"],\"%AsyncGeneratorPrototype%\":[\"AsyncGeneratorFunction\",\"prototype\",\"prototype\"],\"%BooleanPrototype%\":[\"Boolean\",\"prototype\"],\"%DataViewPrototype%\":[\"DataView\",\"prototype\"],\"%DatePrototype%\":[\"Date\",\"prototype\"],\"%ErrorPrototype%\":[\"Error\",\"prototype\"],\"%EvalErrorPrototype%\":[\"EvalError\",\"prototype\"],\"%Float32ArrayPrototype%\":[\"Float32Array\",\"prototype\"],\"%Float64ArrayPrototype%\":[\"Float64Array\",\"prototype\"],\"%FunctionPrototype%\":[\"Function\",\"prototype\"],\"%Generator%\":[\"GeneratorFunction\",\"prototype\"],\"%GeneratorPrototype%\":[\"GeneratorFunction\",\"prototype\",\"prototype\"],\"%Int8ArrayPrototype%\":[\"Int8Array\",\"prototype\"],\"%Int16ArrayPrototype%\":[\"Int16Array\",\"prototype\"],\"%Int32ArrayPrototype%\":[\"Int32Array\",\"prototype\"],\"%JSONParse%\":[\"JSON\",\"parse\"],\"%JSONStringify%\":[\"JSON\",\"stringify\"],\"%MapPrototype%\":[\"Map\",\"prototype\"],\"%NumberPrototype%\":[\"Number\",\"prototype\"],\"%ObjectPrototype%\":[\"Object\",\"prototype\"],\"%ObjProto_toString%\":[\"Object\",\"prototype\",\"toString\"],\"%ObjProto_valueOf%\":[\"Object\",\"prototype\",\"valueOf\"],\"%PromisePrototype%\":[\"Promise\",\"prototype\"],\"%PromiseProto_then%\":[\"Promise\",\"prototype\",\"then\"],\"%Promise_all%\":[\"Promise\",\"all\"],\"%Promise_reject%\":[\"Promise\",\"reject\"],\"%Promise_resolve%\":[\"Promise\",\"resolve\"],\"%RangeErrorPrototype%\":[\"RangeError\",\"prototype\"],\"%ReferenceErrorPrototype%\":[\"ReferenceError\",\"prototype\"],\"%RegExpPrototype%\":[\"RegExp\",\"prototype\"],\"%SetPrototype%\":[\"Set\",\"prototype\"],\"%SharedArrayBufferPrototype%\":[\"SharedArrayBuffer\",\"prototype\"],\"%StringPrototype%\":[\"String\",\"prototype\"],\"%SymbolPrototype%\":[\"Symbol\",\"prototype\"],\"%SyntaxErrorPrototype%\":[\"SyntaxError\",\"prototype\"],\"%TypedArrayPrototype%\":[\"TypedArray\",\"prototype\"],\"%TypeErrorPrototype%\":[\"TypeError\",\"prototype\"],\"%Uint8ArrayPrototype%\":[\"Uint8Array\",\"prototype\"],\"%Uint8ClampedArrayPrototype%\":[\"Uint8ClampedArray\",\"prototype\"],\"%Uint16ArrayPrototype%\":[\"Uint16Array\",\"prototype\"],\"%Uint32ArrayPrototype%\":[\"Uint32Array\",\"prototype\"],\"%URIErrorPrototype%\":[\"URIError\",\"prototype\"],\"%WeakMapPrototype%\":[\"WeakMap\",\"prototype\"],\"%WeakSetPrototype%\":[\"WeakSet\",\"prototype\"]},O4=N8(),U8=gTe(),s3t=O4.call(Function.call,Array.prototype.concat),l3t=O4.call(Function.apply,Array.prototype.splice),_Te=O4.call(Function.call,String.prototype.replace),V8=O4.call(Function.call,String.prototype.slice),u3t=O4.call(Function.call,RegExp.prototype.exec),c3t=/[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g,f3t=/\\\\(\\\\)?/g,h3t=function(t){var r=V8(t,0,1),n=V8(t,-1);if(r===\"%\"&&n!==\"%\")throw new e5(\"invalid intrinsic syntax, expected closing `%`\");if(n===\"%\"&&r!==\"%\")throw new e5(\"invalid intrinsic syntax, expected opening `%`\");var i=[];return _Te(t,c3t,function(a,o,s,l){i[i.length]=s?_Te(l,f3t,\"$1\"):o||a}),i},d3t=function(t,r){var n=t,i;if(U8(yTe,n)&&(i=yTe[n],n=\"%\"+i[0]+\"%\"),U8(f2,n)){var a=f2[n];if(a===$T&&(a=o3t(n)),typeof a==\"undefined\"&&!r)throw new QT(\"intrinsic \"+t+\" exists, but is not available. Please file an issue!\");return{alias:i,name:n,value:a}}throw new e5(\"intrinsic \"+t+\" does not exist!\")};bTe.exports=function(t,r){if(typeof t!=\"string\"||t.length===0)throw new QT(\"intrinsic name must be a non-empty string\");if(arguments.length>1&&typeof r!=\"boolean\")throw new QT('\"allowMissing\" argument must be a boolean');if(u3t(/^%?[^%]*%?$/,t)===null)throw new e5(\"`%` may not be present anywhere but at the beginning and end of the intrinsic name\");var n=h3t(t),i=n.length>0?n[0]:\"\",a=d3t(\"%\"+i+\"%\",r),o=a.name,s=a.value,l=!1,u=a.alias;u&&(i=u[0],l3t(n,s3t([0,1],u)));for(var c=1,f=!0;c<n.length;c+=1){var h=n[c],d=V8(h,0,1),v=V8(h,-1);if((d==='\"'||d===\"'\"||d===\"`\"||v==='\"'||v===\"'\"||v===\"`\")&&d!==v)throw new e5(\"property names with quotes must have matching quotes\");if((h===\"constructor\"||!f)&&(l=!0),i+=\".\"+h,o=\"%\"+i+\"%\",U8(f2,o))s=f2[o];else if(s!=null){if(!(h in s)){if(!r)throw new QT(\"base intrinsic for \"+t+\" exists, but the property is not available.\");return}if(c2&&c+1>=n.length){var x=c2(s,h);f=!!x,f&&\"get\"in x&&!(\"originalValue\"in x.get)?s=x.get:s=s[h]}else f=U8(s,h),s=s[h];f&&!l&&(f2[o]=s)}}return s}});var G8=ye((Dur,wTe)=>{\"use strict\";var v3t=t5(),H8=v3t(\"%Object.defineProperty%\",!0)||!1;if(H8)try{H8({},\"a\",{value:1})}catch(e){H8=!1}wTe.exports=H8});var B4=ye((zur,TTe)=>{\"use strict\";var p3t=t5(),j8=p3t(\"%Object.getOwnPropertyDescriptor%\",!0);if(j8)try{j8([],\"length\")}catch(e){j8=null}TTe.exports=j8});var ETe=ye((Fur,MTe)=>{\"use strict\";var ATe=G8(),g3t=vG(),r5=q4(),STe=B4();MTe.exports=function(t,r,n){if(!t||typeof t!=\"object\"&&typeof t!=\"function\")throw new r5(\"`obj` must be an object or a function`\");if(typeof r!=\"string\"&&typeof r!=\"symbol\")throw new r5(\"`property` must be a string or a symbol`\");if(arguments.length>3&&typeof arguments[3]!=\"boolean\"&&arguments[3]!==null)throw new r5(\"`nonEnumerable`, if provided, must be a boolean or null\");if(arguments.length>4&&typeof arguments[4]!=\"boolean\"&&arguments[4]!==null)throw new r5(\"`nonWritable`, if provided, must be a boolean or null\");if(arguments.length>5&&typeof arguments[5]!=\"boolean\"&&arguments[5]!==null)throw new r5(\"`nonConfigurable`, if provided, must be a boolean or null\");if(arguments.length>6&&typeof arguments[6]!=\"boolean\")throw new r5(\"`loose`, if provided, must be a boolean\");var i=arguments.length>3?arguments[3]:null,a=arguments.length>4?arguments[4]:null,o=arguments.length>5?arguments[5]:null,s=arguments.length>6?arguments[6]:!1,l=!!STe&&STe(t,r);if(ATe)ATe(t,r,{configurable:o===null&&l?l.configurable:!o,enumerable:i===null&&l?l.enumerable:!i,value:n,writable:a===null&&l?l.writable:!a});else if(s||!i&&!a&&!o)t[r]=n;else throw new g3t(\"This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.\")}});var yG=ye((qur,CTe)=>{\"use strict\";var mG=G8(),kTe=function(){return!!mG};kTe.hasArrayLengthDefineBug=function(){if(!mG)return null;try{return mG([],\"length\",{value:1}).length!==1}catch(t){return!0}};CTe.exports=kTe});var DTe=ye((Our,RTe)=>{\"use strict\";var m3t=t5(),LTe=ETe(),y3t=yG()(),PTe=B4(),ITe=q4(),_3t=m3t(\"%Math.floor%\");RTe.exports=function(t,r){if(typeof t!=\"function\")throw new ITe(\"`fn` is not a function\");if(typeof r!=\"number\"||r<0||r>4294967295||_3t(r)!==r)throw new ITe(\"`length` must be a positive 32-bit integer\");var n=arguments.length>2&&!!arguments[2],i=!0,a=!0;if(\"length\"in t&&PTe){var o=PTe(t,\"length\");o&&!o.configurable&&(i=!1),o&&!o.writable&&(a=!1)}return(i||a||!n)&&(y3t?LTe(t,\"length\",r,!0,!0):LTe(t,\"length\",r)),t}});var N4=ye((Bur,W8)=>{\"use strict\";var _G=N8(),Z8=t5(),x3t=DTe(),b3t=q4(),qTe=Z8(\"%Function.prototype.apply%\"),OTe=Z8(\"%Function.prototype.call%\"),BTe=Z8(\"%Reflect.apply%\",!0)||_G.call(OTe,qTe),zTe=G8(),w3t=Z8(\"%Math.max%\");W8.exports=function(t){if(typeof t!=\"function\")throw new b3t(\"a function is required\");var r=BTe(_G,OTe,arguments);return x3t(r,1+w3t(0,t.length-(arguments.length-1)),!0)};var FTe=function(){return BTe(_G,qTe,arguments)};zTe?zTe(W8.exports,\"apply\",{value:FTe}):W8.exports.apply=FTe});var i5=ye((Nur,VTe)=>{\"use strict\";var NTe=t5(),UTe=N4(),T3t=UTe(NTe(\"String.prototype.indexOf\"));VTe.exports=function(t,r){var n=NTe(t,!!r);return typeof n==\"function\"&&T3t(t,\".prototype.\")>-1?UTe(n):n}});var jTe=ye((Uur,GTe)=>{\"use strict\";var A3t=F4()(),S3t=i5(),xG=S3t(\"Object.prototype.toString\"),X8=function(t){return A3t&&t&&typeof t==\"object\"&&Symbol.toStringTag in t?!1:xG(t)===\"[object Arguments]\"},HTe=function(t){return X8(t)?!0:t!==null&&typeof t==\"object\"&&typeof t.length==\"number\"&&t.length>=0&&xG(t)!==\"[object Array]\"&&xG(t.callee)===\"[object Function]\"},M3t=function(){return X8(arguments)}();X8.isLegacyArguments=HTe;GTe.exports=M3t?X8:HTe});var XTe=ye((Vur,ZTe)=>{\"use strict\";var E3t=Object.prototype.toString,k3t=Function.prototype.toString,C3t=/^\\s*(?:function)?\\*/,WTe=F4()(),bG=Object.getPrototypeOf,L3t=function(){if(!WTe)return!1;try{return Function(\"return function*() {}\")()}catch(e){}},wG;ZTe.exports=function(t){if(typeof t!=\"function\")return!1;if(C3t.test(k3t.call(t)))return!0;if(!WTe){var r=E3t.call(t);return r===\"[object GeneratorFunction]\"}if(!bG)return!1;if(typeof wG==\"undefined\"){var n=L3t();wG=n?bG(n):!1}return bG(t)===wG}});var $Te=ye((Hur,JTe)=>{\"use strict\";var KTe=Function.prototype.toString,n5=typeof Reflect==\"object\"&&Reflect!==null&&Reflect.apply,AG,Y8;if(typeof n5==\"function\"&&typeof Object.defineProperty==\"function\")try{AG=Object.defineProperty({},\"length\",{get:function(){throw Y8}}),Y8={},n5(function(){throw 42},null,AG)}catch(e){e!==Y8&&(n5=null)}else n5=null;var P3t=/^\\s*class\\b/,SG=function(t){try{var r=KTe.call(t);return P3t.test(r)}catch(n){return!1}},TG=function(t){try{return SG(t)?!1:(KTe.call(t),!0)}catch(r){return!1}},K8=Object.prototype.toString,I3t=\"[object Object]\",R3t=\"[object Function]\",D3t=\"[object GeneratorFunction]\",z3t=\"[object HTMLAllCollection]\",F3t=\"[object HTML document.all class]\",q3t=\"[object HTMLCollection]\",O3t=typeof Symbol==\"function\"&&!!Symbol.toStringTag,B3t=!(0 in[,]),MG=function(){return!1};typeof document==\"object\"&&(YTe=document.all,K8.call(YTe)===K8.call(document.all)&&(MG=function(t){if((B3t||!t)&&(typeof t==\"undefined\"||typeof t==\"object\"))try{var r=K8.call(t);return(r===z3t||r===F3t||r===q3t||r===I3t)&&t(\"\")==null}catch(n){}return!1}));var YTe;JTe.exports=n5?function(t){if(MG(t))return!0;if(!t||typeof t!=\"function\"&&typeof t!=\"object\")return!1;try{n5(t,null,AG)}catch(r){if(r!==Y8)return!1}return!SG(t)&&TG(t)}:function(t){if(MG(t))return!0;if(!t||typeof t!=\"function\"&&typeof t!=\"object\")return!1;if(O3t)return TG(t);if(SG(t))return!1;var r=K8.call(t);return r!==R3t&&r!==D3t&&!/^\\[object HTML/.test(r)?!1:TG(t)}});var EG=ye((Gur,e5e)=>{\"use strict\";var N3t=$Te(),U3t=Object.prototype.toString,QTe=Object.prototype.hasOwnProperty,V3t=function(t,r,n){for(var i=0,a=t.length;i<a;i++)QTe.call(t,i)&&(n==null?r(t[i],i,t):r.call(n,t[i],i,t))},H3t=function(t,r,n){for(var i=0,a=t.length;i<a;i++)n==null?r(t.charAt(i),i,t):r.call(n,t.charAt(i),i,t)},G3t=function(t,r,n){for(var i in t)QTe.call(t,i)&&(n==null?r(t[i],i,t):r.call(n,t[i],i,t))},j3t=function(t,r,n){if(!N3t(r))throw new TypeError(\"iterator must be a function\");var i;arguments.length>=3&&(i=n),U3t.call(t)===\"[object Array]\"?V3t(t,r,i):typeof t==\"string\"?H3t(t,r,i):G3t(t,r,i)};e5e.exports=j3t});var CG=ye((jur,t5e)=>{\"use strict\";var kG=[\"BigInt64Array\",\"BigUint64Array\",\"Float32Array\",\"Float64Array\",\"Int16Array\",\"Int32Array\",\"Int8Array\",\"Uint16Array\",\"Uint32Array\",\"Uint8Array\",\"Uint8ClampedArray\"],W3t=typeof globalThis==\"undefined\"?window:globalThis;t5e.exports=function(){for(var t=[],r=0;r<kG.length;r++)typeof W3t[kG[r]]==\"function\"&&(t[t.length]=kG[r]);return t}});var o5e=ye((Wur,a5e)=>{\"use strict\";var $8=EG(),Z3t=CG(),r5e=N4(),IG=i5(),J8=B4(),X3t=IG(\"Object.prototype.toString\"),n5e=F4()(),i5e=typeof globalThis==\"undefined\"?window:globalThis,PG=Z3t(),RG=IG(\"String.prototype.slice\"),LG=Object.getPrototypeOf,Y3t=IG(\"Array.prototype.indexOf\",!0)||function(t,r){for(var n=0;n<t.length;n+=1)if(t[n]===r)return n;return-1},Q8={__proto__:null};n5e&&J8&&LG?$8(PG,function(e){var t=new i5e[e];if(Symbol.toStringTag in t){var r=LG(t),n=J8(r,Symbol.toStringTag);if(!n){var i=LG(r);n=J8(i,Symbol.toStringTag)}Q8[\"$\"+e]=r5e(n.get)}}):$8(PG,function(e){var t=new i5e[e],r=t.slice||t.set;r&&(Q8[\"$\"+e]=r5e(r))});var K3t=function(t){var r=!1;return $8(Q8,function(n,i){if(!r)try{\"$\"+n(t)===i&&(r=RG(i,1))}catch(a){}}),r},J3t=function(t){var r=!1;return $8(Q8,function(n,i){if(!r)try{n(t),r=RG(i,1)}catch(a){}}),r};a5e.exports=function(t){if(!t||typeof t!=\"object\")return!1;if(!n5e){var r=RG(X3t(t),8,-1);return Y3t(PG,r)>-1?r:r!==\"Object\"?!1:J3t(t)}return J8?K3t(t):null}});var h5e=ye((Zur,f5e)=>{\"use strict\";var s5e=EG(),$3t=CG(),zG=i5(),Q3t=zG(\"Object.prototype.toString\"),l5e=F4()(),eR=B4(),eTt=typeof globalThis==\"undefined\"?window:globalThis,u5e=$3t(),tTt=zG(\"Array.prototype.indexOf\",!0)||function(t,r){for(var n=0;n<t.length;n+=1)if(t[n]===r)return n;return-1},rTt=zG(\"String.prototype.slice\"),c5e={},DG=Object.getPrototypeOf;l5e&&eR&&DG&&s5e(u5e,function(e){var t=new eTt[e];if(Symbol.toStringTag in t){var r=DG(t),n=eR(r,Symbol.toStringTag);if(!n){var i=DG(r);n=eR(i,Symbol.toStringTag)}c5e[e]=n.get}});var iTt=function(t){var r=!1;return s5e(c5e,function(n,i){if(!r)try{r=n.call(t)===i}catch(a){}}),r};f5e.exports=function(t){if(!t||typeof t!=\"object\")return!1;if(!l5e||!(Symbol.toStringTag in t)){var r=rTt(Q3t(t),8,-1);return tTt(u5e,r)>-1}return eR?iTt(t):!1}});var OG=ye(Bl=>{\"use strict\";var nTt=jTe(),aTt=XTe(),Hg=o5e(),d5e=h5e();function a5(e){return e.call.bind(e)}var v5e=typeof BigInt!=\"undefined\",p5e=typeof Symbol!=\"undefined\",X0=a5(Object.prototype.toString),oTt=a5(Number.prototype.valueOf),sTt=a5(String.prototype.valueOf),lTt=a5(Boolean.prototype.valueOf);v5e&&(g5e=a5(BigInt.prototype.valueOf));var g5e;p5e&&(m5e=a5(Symbol.prototype.valueOf));var m5e;function V4(e,t){if(typeof e!=\"object\")return!1;try{return t(e),!0}catch(r){return!1}}Bl.isArgumentsObject=nTt;Bl.isGeneratorFunction=aTt;Bl.isTypedArray=d5e;function uTt(e){return typeof Promise!=\"undefined\"&&e instanceof Promise||e!==null&&typeof e==\"object\"&&typeof e.then==\"function\"&&typeof e.catch==\"function\"}Bl.isPromise=uTt;function cTt(e){return typeof ArrayBuffer!=\"undefined\"&&ArrayBuffer.isView?ArrayBuffer.isView(e):d5e(e)||_5e(e)}Bl.isArrayBufferView=cTt;function fTt(e){return Hg(e)===\"Uint8Array\"}Bl.isUint8Array=fTt;function hTt(e){return Hg(e)===\"Uint8ClampedArray\"}Bl.isUint8ClampedArray=hTt;function dTt(e){return Hg(e)===\"Uint16Array\"}Bl.isUint16Array=dTt;function vTt(e){return Hg(e)===\"Uint32Array\"}Bl.isUint32Array=vTt;function pTt(e){return Hg(e)===\"Int8Array\"}Bl.isInt8Array=pTt;function gTt(e){return Hg(e)===\"Int16Array\"}Bl.isInt16Array=gTt;function mTt(e){return Hg(e)===\"Int32Array\"}Bl.isInt32Array=mTt;function yTt(e){return Hg(e)===\"Float32Array\"}Bl.isFloat32Array=yTt;function _Tt(e){return Hg(e)===\"Float64Array\"}Bl.isFloat64Array=_Tt;function xTt(e){return Hg(e)===\"BigInt64Array\"}Bl.isBigInt64Array=xTt;function bTt(e){return Hg(e)===\"BigUint64Array\"}Bl.isBigUint64Array=bTt;function tR(e){return X0(e)===\"[object Map]\"}tR.working=typeof Map!=\"undefined\"&&tR(new Map);function wTt(e){return typeof Map==\"undefined\"?!1:tR.working?tR(e):e instanceof Map}Bl.isMap=wTt;function rR(e){return X0(e)===\"[object Set]\"}rR.working=typeof Set!=\"undefined\"&&rR(new Set);function TTt(e){return typeof Set==\"undefined\"?!1:rR.working?rR(e):e instanceof Set}Bl.isSet=TTt;function iR(e){return X0(e)===\"[object WeakMap]\"}iR.working=typeof WeakMap!=\"undefined\"&&iR(new WeakMap);function ATt(e){return typeof WeakMap==\"undefined\"?!1:iR.working?iR(e):e instanceof WeakMap}Bl.isWeakMap=ATt;function qG(e){return X0(e)===\"[object WeakSet]\"}qG.working=typeof WeakSet!=\"undefined\"&&qG(new WeakSet);function STt(e){return qG(e)}Bl.isWeakSet=STt;function nR(e){return X0(e)===\"[object ArrayBuffer]\"}nR.working=typeof ArrayBuffer!=\"undefined\"&&nR(new ArrayBuffer);function y5e(e){return typeof ArrayBuffer==\"undefined\"?!1:nR.working?nR(e):e instanceof ArrayBuffer}Bl.isArrayBuffer=y5e;function aR(e){return X0(e)===\"[object DataView]\"}aR.working=typeof ArrayBuffer!=\"undefined\"&&typeof DataView!=\"undefined\"&&aR(new DataView(new ArrayBuffer(1),0,1));function _5e(e){return typeof DataView==\"undefined\"?!1:aR.working?aR(e):e instanceof DataView}Bl.isDataView=_5e;var FG=typeof SharedArrayBuffer!=\"undefined\"?SharedArrayBuffer:void 0;function U4(e){return X0(e)===\"[object SharedArrayBuffer]\"}function x5e(e){return typeof FG==\"undefined\"?!1:(typeof U4.working==\"undefined\"&&(U4.working=U4(new FG)),U4.working?U4(e):e instanceof FG)}Bl.isSharedArrayBuffer=x5e;function MTt(e){return X0(e)===\"[object AsyncFunction]\"}Bl.isAsyncFunction=MTt;function ETt(e){return X0(e)===\"[object Map Iterator]\"}Bl.isMapIterator=ETt;function kTt(e){return X0(e)===\"[object Set Iterator]\"}Bl.isSetIterator=kTt;function CTt(e){return X0(e)===\"[object Generator]\"}Bl.isGeneratorObject=CTt;function LTt(e){return X0(e)===\"[object WebAssembly.Module]\"}Bl.isWebAssemblyCompiledModule=LTt;function b5e(e){return V4(e,oTt)}Bl.isNumberObject=b5e;function w5e(e){return V4(e,sTt)}Bl.isStringObject=w5e;function T5e(e){return V4(e,lTt)}Bl.isBooleanObject=T5e;function A5e(e){return v5e&&V4(e,g5e)}Bl.isBigIntObject=A5e;function S5e(e){return p5e&&V4(e,m5e)}Bl.isSymbolObject=S5e;function PTt(e){return b5e(e)||w5e(e)||T5e(e)||A5e(e)||S5e(e)}Bl.isBoxedPrimitive=PTt;function ITt(e){return typeof Uint8Array!=\"undefined\"&&(y5e(e)||x5e(e))}Bl.isAnyArrayBuffer=ITt;[\"isProxy\",\"isExternal\",\"isModuleNamespaceObject\"].forEach(function(e){Object.defineProperty(Bl,e,{enumerable:!1,value:function(){throw new Error(e+\" is not supported in userland\")}})})});var BG=ye((Yur,M5e)=>{M5e.exports=function(t){return t&&typeof t==\"object\"&&typeof t.copy==\"function\"&&typeof t.fill==\"function\"&&typeof t.readUInt8==\"function\"}});var jG=ye(Nl=>{var E5e=Object.getOwnPropertyDescriptors||function(t){for(var r=Object.keys(t),n={},i=0;i<r.length;i++)n[r[i]]=Object.getOwnPropertyDescriptor(t,r[i]);return n},RTt=/%[sdj%]/g;Nl.format=function(e){if(!hR(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(R_(arguments[r]));return t.join(\" \")}for(var r=1,n=arguments,i=n.length,a=String(e).replace(RTt,function(s){if(s===\"%%\")return\"%\";if(r>=i)return s;switch(s){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(l){return\"[Circular]\"}default:return s}}),o=n[r];r<i;o=n[++r])fR(o)||!o5(o)?a+=\" \"+o:a+=\" \"+R_(o);return a};Nl.deprecate=function(e,t){if(typeof process!=\"undefined\"&&process.noDeprecation===!0)return e;if(typeof process==\"undefined\")return function(){return Nl.deprecate(e,t).apply(this,arguments)};var r=!1;function n(){if(!r){if(process.throwDeprecation)throw new Error(t);process.traceDeprecation?console.trace(t):console.error(t),r=!0}return e.apply(this,arguments)}return n};var oR={},k5e=/^$/;sR=\"false\",sR=sR.replace(/[|\\\\{}()[\\]^$+?.]/g,\"\\\\$&\").replace(/\\*/g,\".*\").replace(/,/g,\"$|^\").toUpperCase(),k5e=new RegExp(\"^\"+sR+\"$\",\"i\");var sR;Nl.debuglog=function(e){if(e=e.toUpperCase(),!oR[e])if(k5e.test(e)){var t=process.pid;oR[e]=function(){var r=Nl.format.apply(Nl,arguments);console.error(\"%s %d: %s\",e,t,r)}}else oR[e]=function(){};return oR[e]};function R_(e,t){var r={seen:[],stylize:zTt};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),HG(t)?r.showHidden=t:t&&Nl._extend(r,t),d2(r.showHidden)&&(r.showHidden=!1),d2(r.depth)&&(r.depth=2),d2(r.colors)&&(r.colors=!1),d2(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=DTt),uR(r,e,r.depth)}Nl.inspect=R_;R_.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]};R_.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};function DTt(e,t){var r=R_.styles[t];return r?\"\\x1B[\"+R_.colors[r][0]+\"m\"+e+\"\\x1B[\"+R_.colors[r][1]+\"m\":e}function zTt(e,t){return e}function FTt(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function uR(e,t,r){if(e.customInspect&&t&&lR(t.inspect)&&t.inspect!==Nl.inspect&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return hR(n)||(n=uR(e,n,r)),n}var i=qTt(e,t);if(i)return i;var a=Object.keys(t),o=FTt(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),G4(t)&&(a.indexOf(\"message\")>=0||a.indexOf(\"description\")>=0))return NG(t);if(a.length===0){if(lR(t)){var s=t.name?\": \"+t.name:\"\";return e.stylize(\"[Function\"+s+\"]\",\"special\")}if(H4(t))return e.stylize(RegExp.prototype.toString.call(t),\"regexp\");if(cR(t))return e.stylize(Date.prototype.toString.call(t),\"date\");if(G4(t))return NG(t)}var l=\"\",u=!1,c=[\"{\",\"}\"];if(C5e(t)&&(u=!0,c=[\"[\",\"]\"]),lR(t)){var f=t.name?\": \"+t.name:\"\";l=\" [Function\"+f+\"]\"}if(H4(t)&&(l=\" \"+RegExp.prototype.toString.call(t)),cR(t)&&(l=\" \"+Date.prototype.toUTCString.call(t)),G4(t)&&(l=\" \"+NG(t)),a.length===0&&(!u||t.length==0))return c[0]+l+c[1];if(r<0)return H4(t)?e.stylize(RegExp.prototype.toString.call(t),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(t);var h;return u?h=OTt(e,t,r,o,a):h=a.map(function(d){return VG(e,t,r,o,d,u)}),e.seen.pop(),BTt(h,l,c)}function qTt(e,t){if(d2(t))return e.stylize(\"undefined\",\"undefined\");if(hR(t)){var r=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(r,\"string\")}if(L5e(t))return e.stylize(\"\"+t,\"number\");if(HG(t))return e.stylize(\"\"+t,\"boolean\");if(fR(t))return e.stylize(\"null\",\"null\")}function NG(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function OTt(e,t,r,n,i){for(var a=[],o=0,s=t.length;o<s;++o)P5e(t,String(o))?a.push(VG(e,t,r,n,String(o),!0)):a.push(\"\");return i.forEach(function(l){l.match(/^\\d+$/)||a.push(VG(e,t,r,n,l,!0))}),a}function VG(e,t,r,n,i,a){var o,s,l;if(l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]},l.get?l.set?s=e.stylize(\"[Getter/Setter]\",\"special\"):s=e.stylize(\"[Getter]\",\"special\"):l.set&&(s=e.stylize(\"[Setter]\",\"special\")),P5e(n,i)||(o=\"[\"+i+\"]\"),s||(e.seen.indexOf(l.value)<0?(fR(r)?s=uR(e,l.value,null):s=uR(e,l.value,r-1),s.indexOf(`\n", - "`)>-1&&(a?s=s.split(`\n", - "`).map(function(u){return\" \"+u}).join(`\n", - "`).slice(2):s=`\n", - "`+s.split(`\n", - "`).map(function(u){return\" \"+u}).join(`\n", - "`))):s=e.stylize(\"[Circular]\",\"special\")),d2(o)){if(a&&i.match(/^\\d+$/))return s;o=JSON.stringify(\"\"+i),o.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.slice(1,-1),o=e.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=e.stylize(o,\"string\"))}return o+\": \"+s}function BTt(e,t,r){var n=0,i=e.reduce(function(a,o){return n++,o.indexOf(`\n", - "`)>=0&&n++,a+o.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return i>60?r[0]+(t===\"\"?\"\":t+`\n", - " `)+\" \"+e.join(`,\n", - " `)+\" \"+r[1]:r[0]+t+\" \"+e.join(\", \")+\" \"+r[1]}Nl.types=OG();function C5e(e){return Array.isArray(e)}Nl.isArray=C5e;function HG(e){return typeof e==\"boolean\"}Nl.isBoolean=HG;function fR(e){return e===null}Nl.isNull=fR;function NTt(e){return e==null}Nl.isNullOrUndefined=NTt;function L5e(e){return typeof e==\"number\"}Nl.isNumber=L5e;function hR(e){return typeof e==\"string\"}Nl.isString=hR;function UTt(e){return typeof e==\"symbol\"}Nl.isSymbol=UTt;function d2(e){return e===void 0}Nl.isUndefined=d2;function H4(e){return o5(e)&&GG(e)===\"[object RegExp]\"}Nl.isRegExp=H4;Nl.types.isRegExp=H4;function o5(e){return typeof e==\"object\"&&e!==null}Nl.isObject=o5;function cR(e){return o5(e)&&GG(e)===\"[object Date]\"}Nl.isDate=cR;Nl.types.isDate=cR;function G4(e){return o5(e)&&(GG(e)===\"[object Error]\"||e instanceof Error)}Nl.isError=G4;Nl.types.isNativeError=G4;function lR(e){return typeof e==\"function\"}Nl.isFunction=lR;function VTt(e){return e===null||typeof e==\"boolean\"||typeof e==\"number\"||typeof e==\"string\"||typeof e==\"symbol\"||typeof e==\"undefined\"}Nl.isPrimitive=VTt;Nl.isBuffer=BG();function GG(e){return Object.prototype.toString.call(e)}function UG(e){return e<10?\"0\"+e.toString(10):e.toString(10)}var HTt=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function GTt(){var e=new Date,t=[UG(e.getHours()),UG(e.getMinutes()),UG(e.getSeconds())].join(\":\");return[e.getDate(),HTt[e.getMonth()],t].join(\" \")}Nl.log=function(){console.log(\"%s - %s\",GTt(),Nl.format.apply(Nl,arguments))};Nl.inherits=Uy();Nl._extend=function(e,t){if(!t||!o5(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};function P5e(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var h2=typeof Symbol!=\"undefined\"?Symbol(\"util.promisify.custom\"):void 0;Nl.promisify=function(t){if(typeof t!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');if(h2&&t[h2]){var r=t[h2];if(typeof r!=\"function\")throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(r,h2,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var n,i,a=new Promise(function(l,u){n=l,i=u}),o=[],s=0;s<arguments.length;s++)o.push(arguments[s]);o.push(function(l,u){l?i(l):n(u)});try{t.apply(this,o)}catch(l){i(l)}return a}return Object.setPrototypeOf(r,Object.getPrototypeOf(t)),h2&&Object.defineProperty(r,h2,{value:r,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(r,E5e(t))};Nl.promisify.custom=h2;function jTt(e,t){if(!e){var r=new Error(\"Promise was rejected with a falsy value\");r.reason=e,e=r}return t(e)}function WTt(e){if(typeof e!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');function t(){for(var r=[],n=0;n<arguments.length;n++)r.push(arguments[n]);var i=r.pop();if(typeof i!=\"function\")throw new TypeError(\"The last argument must be of type Function\");var a=this,o=function(){return i.apply(a,arguments)};e.apply(this,r).then(function(s){process.nextTick(o.bind(null,null,s))},function(s){process.nextTick(jTt.bind(null,s,o))})}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),Object.defineProperties(t,E5e(e)),t}Nl.callbackify=WTt});var z5e=ye((Jur,D5e)=>{\"use strict\";function I5e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ZTt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?I5e(Object(r),!0).forEach(function(n){XTt(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):I5e(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function XTt(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function YTt(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function R5e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function KTt(e,t,r){return t&&R5e(e.prototype,t),r&&R5e(e,r),e}var JTt=u2(),dR=JTt.Buffer,$Tt=jG(),WG=$Tt.inspect,QTt=WG&&WG.custom||\"inspect\";function e5t(e,t,r){dR.prototype.copy.call(e,t,r)}D5e.exports=function(){function e(){YTt(this,e),this.head=null,this.tail=null,this.length=0}return KTt(e,[{key:\"push\",value:function(r){var n={data:r,next:null};this.length>0?this.tail.next=n:this.head=n,this.tail=n,++this.length}},{key:\"unshift\",value:function(r){var n={data:r,next:this.head};this.length===0&&(this.tail=n),this.head=n,++this.length}},{key:\"shift\",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:\"clear\",value:function(){this.head=this.tail=null,this.length=0}},{key:\"join\",value:function(r){if(this.length===0)return\"\";for(var n=this.head,i=\"\"+n.data;n=n.next;)i+=r+n.data;return i}},{key:\"concat\",value:function(r){if(this.length===0)return dR.alloc(0);for(var n=dR.allocUnsafe(r>>>0),i=this.head,a=0;i;)e5t(i.data,n,a),a+=i.data.length,i=i.next;return n}},{key:\"consume\",value:function(r,n){var i;return r<this.head.data.length?(i=this.head.data.slice(0,r),this.head.data=this.head.data.slice(r)):r===this.head.data.length?i=this.shift():i=n?this._getString(r):this._getBuffer(r),i}},{key:\"first\",value:function(){return this.head.data}},{key:\"_getString\",value:function(r){var n=this.head,i=1,a=n.data;for(r-=a.length;n=n.next;){var o=n.data,s=r>o.length?o.length:r;if(s===o.length?a+=o:a+=o.slice(0,r),r-=s,r===0){s===o.length?(++i,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(s));break}++i}return this.length-=i,a}},{key:\"_getBuffer\",value:function(r){var n=dR.allocUnsafe(r),i=this.head,a=1;for(i.data.copy(n),r-=i.data.length;i=i.next;){var o=i.data,s=r>o.length?o.length:r;if(o.copy(n,n.length-r,0,s),r-=s,r===0){s===o.length?(++a,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(s));break}++a}return this.length-=a,n}},{key:QTt,value:function(r,n){return WG(this,ZTt({},n,{depth:0,customInspect:!1}))}}]),e}()});var XG=ye(($ur,q5e)=>{\"use strict\";function t5t(e,t){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(ZG,this,e)):process.nextTick(ZG,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(a){!t&&a?r._writableState?r._writableState.errorEmitted?process.nextTick(vR,r):(r._writableState.errorEmitted=!0,process.nextTick(F5e,r,a)):process.nextTick(F5e,r,a):t?(process.nextTick(vR,r),t(a)):process.nextTick(vR,r)}),this)}function F5e(e,t){ZG(e,t),vR(e)}function vR(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit(\"close\")}function r5t(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function ZG(e,t){e.emit(\"error\",t)}function i5t(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit(\"error\",t)}q5e.exports={destroy:t5t,undestroy:r5t,errorOrDestroy:i5t}});var v2=ye((Qur,N5e)=>{\"use strict\";function n5t(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var B5e={};function Y0(e,t,r){r||(r=Error);function n(a,o,s){return typeof t==\"string\"?t:t(a,o,s)}var i=function(a){n5t(o,a);function o(s,l,u){return a.call(this,n(s,l,u))||this}return o}(r);i.prototype.name=r.name,i.prototype.code=e,B5e[e]=i}function O5e(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(n){return String(n)}),r>2?\"one of \".concat(t,\" \").concat(e.slice(0,r-1).join(\", \"),\", or \")+e[r-1]:r===2?\"one of \".concat(t,\" \").concat(e[0],\" or \").concat(e[1]):\"of \".concat(t,\" \").concat(e[0])}else return\"of \".concat(t,\" \").concat(String(e))}function a5t(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function o5t(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function s5t(e,t,r){return typeof r!=\"number\"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}Y0(\"ERR_INVALID_OPT_VALUE\",function(e,t){return'The value \"'+t+'\" is invalid for option \"'+e+'\"'},TypeError);Y0(\"ERR_INVALID_ARG_TYPE\",function(e,t,r){var n;typeof t==\"string\"&&a5t(t,\"not \")?(n=\"must not be\",t=t.replace(/^not /,\"\")):n=\"must be\";var i;if(o5t(e,\" argument\"))i=\"The \".concat(e,\" \").concat(n,\" \").concat(O5e(t,\"type\"));else{var a=s5t(e,\".\")?\"property\":\"argument\";i='The \"'.concat(e,'\" ').concat(a,\" \").concat(n,\" \").concat(O5e(t,\"type\"))}return i+=\". Received type \".concat(typeof r),i},TypeError);Y0(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\");Y0(\"ERR_METHOD_NOT_IMPLEMENTED\",function(e){return\"The \"+e+\" method is not implemented\"});Y0(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\");Y0(\"ERR_STREAM_DESTROYED\",function(e){return\"Cannot call \"+e+\" after a stream was destroyed\"});Y0(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\");Y0(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\");Y0(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\");Y0(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError);Y0(\"ERR_UNKNOWN_ENCODING\",function(e){return\"Unknown encoding: \"+e},TypeError);Y0(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\");N5e.exports.codes=B5e});var YG=ye((ecr,U5e)=>{\"use strict\";var l5t=v2().codes.ERR_INVALID_OPT_VALUE;function u5t(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function c5t(e,t,r,n){var i=u5t(t,n,r);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var a=n?r:\"highWaterMark\";throw new l5t(a,i)}return Math.floor(i)}return e.objectMode?16:16*1024}U5e.exports={getHighWaterMark:c5t}});var H5e=ye((tcr,V5e)=>{V5e.exports=f5t;function f5t(e,t){if(KG(\"noDeprecation\"))return e;var r=!1;function n(){if(!r){if(KG(\"throwDeprecation\"))throw new Error(t);KG(\"traceDeprecation\")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}return n}function KG(e){try{if(!window.localStorage)return!1}catch(r){return!1}var t=window.localStorage[e];return t==null?!1:String(t).toLowerCase()===\"true\"}});var QG=ye((rcr,Y5e)=>{\"use strict\";Y5e.exports=_h;function j5e(e){var t=this;this.next=null,this.entry=null,this.finish=function(){O5t(t,e)}}var s5;_h.WritableState=W4;var h5t={deprecate:H5e()},W5e=iG(),gR=u2().Buffer,d5t=window.Uint8Array||function(){};function v5t(e){return gR.from(e)}function p5t(e){return gR.isBuffer(e)||e instanceof d5t}var $G=XG(),g5t=YG(),m5t=g5t.getHighWaterMark,D_=v2().codes,y5t=D_.ERR_INVALID_ARG_TYPE,_5t=D_.ERR_METHOD_NOT_IMPLEMENTED,x5t=D_.ERR_MULTIPLE_CALLBACK,b5t=D_.ERR_STREAM_CANNOT_PIPE,w5t=D_.ERR_STREAM_DESTROYED,T5t=D_.ERR_STREAM_NULL_VALUES,A5t=D_.ERR_STREAM_WRITE_AFTER_END,S5t=D_.ERR_UNKNOWN_ENCODING,l5=$G.errorOrDestroy;Uy()(_h,W5e);function M5t(){}function W4(e,t,r){s5=s5||p2(),e=e||{},typeof r!=\"boolean\"&&(r=t instanceof s5),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=m5t(this,e,\"writableHighWaterMark\",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var n=e.decodeStrings===!1;this.decodeStrings=!n,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(i){R5t(t,i)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new j5e(this)}W4.prototype.getBuffer=function(){for(var t=this.bufferedRequest,r=[];t;)r.push(t),t=t.next;return r};(function(){try{Object.defineProperty(W4.prototype,\"buffer\",{get:h5t.deprecate(function(){return this.getBuffer()},\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\",\"DEP0003\")})}catch(e){}})();var pR;typeof Symbol==\"function\"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==\"function\"?(pR=Function.prototype[Symbol.hasInstance],Object.defineProperty(_h,Symbol.hasInstance,{value:function(t){return pR.call(this,t)?!0:this!==_h?!1:t&&t._writableState instanceof W4}})):pR=function(t){return t instanceof this};function _h(e){s5=s5||p2();var t=this instanceof s5;if(!t&&!pR.call(_h,this))return new _h(e);this._writableState=new W4(e,this,t),this.writable=!0,e&&(typeof e.write==\"function\"&&(this._write=e.write),typeof e.writev==\"function\"&&(this._writev=e.writev),typeof e.destroy==\"function\"&&(this._destroy=e.destroy),typeof e.final==\"function\"&&(this._final=e.final)),W5e.call(this)}_h.prototype.pipe=function(){l5(this,new b5t)};function E5t(e,t){var r=new A5t;l5(e,r),process.nextTick(t,r)}function k5t(e,t,r,n){var i;return r===null?i=new T5t:typeof r!=\"string\"&&!t.objectMode&&(i=new y5t(\"chunk\",[\"string\",\"Buffer\"],r)),i?(l5(e,i),process.nextTick(n,i),!1):!0}_h.prototype.write=function(e,t,r){var n=this._writableState,i=!1,a=!n.objectMode&&p5t(e);return a&&!gR.isBuffer(e)&&(e=v5t(e)),typeof t==\"function\"&&(r=t,t=null),a?t=\"buffer\":t||(t=n.defaultEncoding),typeof r!=\"function\"&&(r=M5t),n.ending?E5t(this,r):(a||k5t(this,n,e,r))&&(n.pendingcb++,i=L5t(this,n,a,e,t,r)),i};_h.prototype.cork=function(){this._writableState.corked++};_h.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest&&Z5e(this,e))};_h.prototype.setDefaultEncoding=function(t){if(typeof t==\"string\"&&(t=t.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((t+\"\").toLowerCase())>-1))throw new S5t(t);return this._writableState.defaultEncoding=t,this};Object.defineProperty(_h.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function C5t(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t==\"string\"&&(t=gR.from(t,r)),t}Object.defineProperty(_h.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function L5t(e,t,r,n,i,a){if(!r){var o=C5t(t,n,i);n!==o&&(r=!0,i=\"buffer\",n=o)}var s=t.objectMode?1:n.length;t.length+=s;var l=t.length<t.highWaterMark;if(l||(t.needDrain=!0),t.writing||t.corked){var u=t.lastBufferedRequest;t.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:a,next:null},u?u.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else JG(e,t,!1,s,n,i,a);return l}function JG(e,t,r,n,i,a,o){t.writelen=n,t.writecb=o,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new w5t(\"write\")):r?e._writev(i,t.onwrite):e._write(i,a,t.onwrite),t.sync=!1}function P5t(e,t,r,n,i){--t.pendingcb,r?(process.nextTick(i,n),process.nextTick(j4,e,t),e._writableState.errorEmitted=!0,l5(e,n)):(i(n),e._writableState.errorEmitted=!0,l5(e,n),j4(e,t))}function I5t(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function R5t(e,t){var r=e._writableState,n=r.sync,i=r.writecb;if(typeof i!=\"function\")throw new x5t;if(I5t(r),t)P5t(e,r,n,t,i);else{var a=X5e(r)||e.destroyed;!a&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&Z5e(e,r),n?process.nextTick(G5e,e,r,a,i):G5e(e,r,a,i)}}function G5e(e,t,r,n){r||D5t(e,t),t.pendingcb--,n(),j4(e,t)}function D5t(e,t){t.length===0&&t.needDrain&&(t.needDrain=!1,e.emit(\"drain\"))}function Z5e(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount,i=new Array(n),a=t.corkedRequestsFree;a.entry=r;for(var o=0,s=!0;r;)i[o]=r,r.isBuf||(s=!1),r=r.next,o+=1;i.allBuffers=s,JG(e,t,!0,t.length,i,\"\",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new j5e(t),t.bufferedRequestCount=0}else{for(;r;){var l=r.chunk,u=r.encoding,c=r.callback,f=t.objectMode?1:l.length;if(JG(e,t,!1,f,l,u,c),r=r.next,t.bufferedRequestCount--,t.writing)break}r===null&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}_h.prototype._write=function(e,t,r){r(new _5t(\"_write()\"))};_h.prototype._writev=null;_h.prototype.end=function(e,t,r){var n=this._writableState;return typeof e==\"function\"?(r=e,e=null,t=null):typeof t==\"function\"&&(r=t,t=null),e!=null&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||q5t(this,n,r),this};Object.defineProperty(_h.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}});function X5e(e){return e.ending&&e.length===0&&e.bufferedRequest===null&&!e.finished&&!e.writing}function z5t(e,t){e._final(function(r){t.pendingcb--,r&&l5(e,r),t.prefinished=!0,e.emit(\"prefinish\"),j4(e,t)})}function F5t(e,t){!t.prefinished&&!t.finalCalled&&(typeof e._final==\"function\"&&!t.destroyed?(t.pendingcb++,t.finalCalled=!0,process.nextTick(z5t,e,t)):(t.prefinished=!0,e.emit(\"prefinish\")))}function j4(e,t){var r=X5e(t);if(r&&(F5t(e,t),t.pendingcb===0&&(t.finished=!0,e.emit(\"finish\"),t.autoDestroy))){var n=e._readableState;(!n||n.autoDestroy&&n.endEmitted)&&e.destroy()}return r}function q5t(e,t,r){t.ending=!0,j4(e,t),r&&(t.finished?process.nextTick(r):e.once(\"finish\",r)),t.ended=!0,e.writable=!1}function O5t(e,t,r){var n=e.entry;for(e.entry=null;n;){var i=n.callback;t.pendingcb--,i(r),n=n.next}t.corkedRequestsFree.next=e}Object.defineProperty(_h.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}});_h.prototype.destroy=$G.destroy;_h.prototype._undestroy=$G.undestroy;_h.prototype._destroy=function(e,t){t(e)}});var p2=ye((icr,J5e)=>{\"use strict\";var B5t=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};J5e.exports=Om;var K5e=rj(),tj=QG();Uy()(Om,K5e);for(ej=B5t(tj.prototype),mR=0;mR<ej.length;mR++)yR=ej[mR],Om.prototype[yR]||(Om.prototype[yR]=tj.prototype[yR]);var ej,yR,mR;function Om(e){if(!(this instanceof Om))return new Om(e);K5e.call(this,e),tj.call(this,e),this.allowHalfOpen=!0,e&&(e.readable===!1&&(this.readable=!1),e.writable===!1&&(this.writable=!1),e.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once(\"end\",N5t)))}Object.defineProperty(Om.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});Object.defineProperty(Om.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});Object.defineProperty(Om.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}});function N5t(){this._writableState.ended||process.nextTick(U5t,this)}function U5t(e){e.end()}Object.defineProperty(Om.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(t){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=t,this._writableState.destroyed=t)}})});var eAe=ye((ij,Q5e)=>{var _R=u2(),Bm=_R.Buffer;function $5e(e,t){for(var r in e)t[r]=e[r]}Bm.from&&Bm.alloc&&Bm.allocUnsafe&&Bm.allocUnsafeSlow?Q5e.exports=_R:($5e(_R,ij),ij.Buffer=g2);function g2(e,t,r){return Bm(e,t,r)}g2.prototype=Object.create(Bm.prototype);$5e(Bm,g2);g2.from=function(e,t,r){if(typeof e==\"number\")throw new TypeError(\"Argument must not be a number\");return Bm(e,t,r)};g2.alloc=function(e,t,r){if(typeof e!=\"number\")throw new TypeError(\"Argument must be a number\");var n=Bm(e);return t!==void 0?typeof r==\"string\"?n.fill(t,r):n.fill(t):n.fill(0),n};g2.allocUnsafe=function(e){if(typeof e!=\"number\")throw new TypeError(\"Argument must be a number\");return Bm(e)};g2.allocUnsafeSlow=function(e){if(typeof e!=\"number\")throw new TypeError(\"Argument must be a number\");return _R.SlowBuffer(e)}});var oj=ye(rAe=>{\"use strict\";var aj=eAe().Buffer,tAe=aj.isEncoding||function(e){switch(e=\"\"+e,e&&e.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function V5t(e){if(!e)return\"utf8\";for(var t;;)switch(e){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return e;default:if(t)return;e=(\"\"+e).toLowerCase(),t=!0}}function H5t(e){var t=V5t(e);if(typeof t!=\"string\"&&(aj.isEncoding===tAe||!tAe(e)))throw new Error(\"Unknown encoding: \"+e);return t||e}rAe.StringDecoder=Z4;function Z4(e){this.encoding=H5t(e);var t;switch(this.encoding){case\"utf16le\":this.text=Y5t,this.end=K5t,t=4;break;case\"utf8\":this.fillLast=W5t,t=4;break;case\"base64\":this.text=J5t,this.end=$5t,t=3;break;default:this.write=Q5t,this.end=eAt;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=aj.allocUnsafe(t)}Z4.prototype.write=function(e){if(e.length===0)return\"\";var t,r;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return\"\";r=this.lastNeed,this.lastNeed=0}else r=0;return r<e.length?t?t+this.text(e,r):this.text(e,r):t||\"\"};Z4.prototype.end=X5t;Z4.prototype.text=Z5t;Z4.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length};function nj(e){return e<=127?0:e>>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function G5t(e,t,r){var n=t.length-1;if(n<r)return 0;var i=nj(t[n]);return i>=0?(i>0&&(e.lastNeed=i-1),i):--n<r||i===-2?0:(i=nj(t[n]),i>=0?(i>0&&(e.lastNeed=i-2),i):--n<r||i===-2?0:(i=nj(t[n]),i>=0?(i>0&&(i===2?i=0:e.lastNeed=i-3),i):0))}function j5t(e,t,r){if((t[0]&192)!==128)return e.lastNeed=0,\"\\uFFFD\";if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128)return e.lastNeed=1,\"\\uFFFD\";if(e.lastNeed>2&&t.length>2&&(t[2]&192)!==128)return e.lastNeed=2,\"\\uFFFD\"}}function W5t(e){var t=this.lastTotal-this.lastNeed,r=j5t(this,e,t);if(r!==void 0)return r;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function Z5t(e,t){var r=G5t(this,e,t);if(!this.lastNeed)return e.toString(\"utf8\",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString(\"utf8\",t,n)}function X5t(e){var t=e&&e.length?this.write(e):\"\";return this.lastNeed?t+\"\\uFFFD\":t}function Y5t(e,t){if((e.length-t)%2===0){var r=e.toString(\"utf16le\",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString(\"utf16le\",t,e.length-1)}function K5t(e){var t=e&&e.length?this.write(e):\"\";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString(\"utf16le\",0,r)}return t}function J5t(e,t){var r=(e.length-t)%3;return r===0?e.toString(\"base64\",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString(\"base64\",t,e.length-r))}function $5t(e){var t=e&&e.length?this.write(e):\"\";return this.lastNeed?t+this.lastChar.toString(\"base64\",0,3-this.lastNeed):t}function Q5t(e){return e.toString(this.encoding)}function eAt(e){return e&&e.length?this.write(e):\"\"}});var xR=ye((acr,aAe)=>{\"use strict\";var iAe=v2().codes.ERR_STREAM_PREMATURE_CLOSE;function tAt(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];e.apply(this,n)}}}function rAt(){}function iAt(e){return e.setHeader&&typeof e.abort==\"function\"}function nAe(e,t,r){if(typeof t==\"function\")return nAe(e,null,t);t||(t={}),r=tAt(r||rAt);var n=t.readable||t.readable!==!1&&e.readable,i=t.writable||t.writable!==!1&&e.writable,a=function(){e.writable||s()},o=e._writableState&&e._writableState.finished,s=function(){i=!1,o=!0,n||r.call(e)},l=e._readableState&&e._readableState.endEmitted,u=function(){n=!1,l=!0,i||r.call(e)},c=function(v){r.call(e,v)},f=function(){var v;if(n&&!l)return(!e._readableState||!e._readableState.ended)&&(v=new iAe),r.call(e,v);if(i&&!o)return(!e._writableState||!e._writableState.ended)&&(v=new iAe),r.call(e,v)},h=function(){e.req.on(\"finish\",s)};return iAt(e)?(e.on(\"complete\",s),e.on(\"abort\",f),e.req?h():e.on(\"request\",h)):i&&!e._writableState&&(e.on(\"end\",a),e.on(\"close\",a)),e.on(\"end\",u),e.on(\"finish\",s),t.error!==!1&&e.on(\"error\",c),e.on(\"close\",f),function(){e.removeListener(\"complete\",s),e.removeListener(\"abort\",f),e.removeListener(\"request\",h),e.req&&e.req.removeListener(\"finish\",s),e.removeListener(\"end\",a),e.removeListener(\"close\",a),e.removeListener(\"finish\",s),e.removeListener(\"end\",u),e.removeListener(\"error\",c),e.removeListener(\"close\",f)}}aAe.exports=nAe});var sAe=ye((ocr,oAe)=>{\"use strict\";var bR;function z_(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var nAt=xR(),F_=Symbol(\"lastResolve\"),m2=Symbol(\"lastReject\"),X4=Symbol(\"error\"),wR=Symbol(\"ended\"),y2=Symbol(\"lastPromise\"),sj=Symbol(\"handlePromise\"),_2=Symbol(\"stream\");function q_(e,t){return{value:e,done:t}}function aAt(e){var t=e[F_];if(t!==null){var r=e[_2].read();r!==null&&(e[y2]=null,e[F_]=null,e[m2]=null,t(q_(r,!1)))}}function oAt(e){process.nextTick(aAt,e)}function sAt(e,t){return function(r,n){e.then(function(){if(t[wR]){r(q_(void 0,!0));return}t[sj](r,n)},n)}}var lAt=Object.getPrototypeOf(function(){}),uAt=Object.setPrototypeOf((bR={get stream(){return this[_2]},next:function(){var t=this,r=this[X4];if(r!==null)return Promise.reject(r);if(this[wR])return Promise.resolve(q_(void 0,!0));if(this[_2].destroyed)return new Promise(function(o,s){process.nextTick(function(){t[X4]?s(t[X4]):o(q_(void 0,!0))})});var n=this[y2],i;if(n)i=new Promise(sAt(n,this));else{var a=this[_2].read();if(a!==null)return Promise.resolve(q_(a,!1));i=new Promise(this[sj])}return this[y2]=i,i}},z_(bR,Symbol.asyncIterator,function(){return this}),z_(bR,\"return\",function(){var t=this;return new Promise(function(r,n){t[_2].destroy(null,function(i){if(i){n(i);return}r(q_(void 0,!0))})})}),bR),lAt),cAt=function(t){var r,n=Object.create(uAt,(r={},z_(r,_2,{value:t,writable:!0}),z_(r,F_,{value:null,writable:!0}),z_(r,m2,{value:null,writable:!0}),z_(r,X4,{value:null,writable:!0}),z_(r,wR,{value:t._readableState.endEmitted,writable:!0}),z_(r,sj,{value:function(a,o){var s=n[_2].read();s?(n[y2]=null,n[F_]=null,n[m2]=null,a(q_(s,!1))):(n[F_]=a,n[m2]=o)},writable:!0}),r));return n[y2]=null,nAt(t,function(i){if(i&&i.code!==\"ERR_STREAM_PREMATURE_CLOSE\"){var a=n[m2];a!==null&&(n[y2]=null,n[F_]=null,n[m2]=null,a(i)),n[X4]=i;return}var o=n[F_];o!==null&&(n[y2]=null,n[F_]=null,n[m2]=null,o(q_(void 0,!0))),n[wR]=!0}),t.on(\"readable\",oAt.bind(null,n)),n};oAe.exports=cAt});var uAe=ye((scr,lAe)=>{lAe.exports=function(){throw new Error(\"Readable.from is not available in the browser\")}});var rj=ye((ucr,_Ae)=>{\"use strict\";_Ae.exports=vu;var u5;vu.ReadableState=dAe;var lcr=vb().EventEmitter,hAe=function(t,r){return t.listeners(r).length},K4=iG(),TR=u2().Buffer,fAt=window.Uint8Array||function(){};function hAt(e){return TR.from(e)}function dAt(e){return TR.isBuffer(e)||e instanceof fAt}var lj=jG(),Il;lj&&lj.debuglog?Il=lj.debuglog(\"stream\"):Il=function(){};var vAt=z5e(),pj=XG(),pAt=YG(),gAt=pAt.getHighWaterMark,AR=v2().codes,mAt=AR.ERR_INVALID_ARG_TYPE,yAt=AR.ERR_STREAM_PUSH_AFTER_EOF,_At=AR.ERR_METHOD_NOT_IMPLEMENTED,xAt=AR.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,c5,uj,cj;Uy()(vu,K4);var Y4=pj.errorOrDestroy,fj=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];function bAt(e,t,r){if(typeof e.prependListener==\"function\")return e.prependListener(t,r);!e._events||!e._events[t]?e.on(t,r):Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]}function dAe(e,t,r){u5=u5||p2(),e=e||{},typeof r!=\"boolean\"&&(r=t instanceof u5),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=gAt(this,e,\"readableHighWaterMark\",r),this.buffer=new vAt,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(c5||(c5=oj().StringDecoder),this.decoder=new c5(e.encoding),this.encoding=e.encoding)}function vu(e){if(u5=u5||p2(),!(this instanceof vu))return new vu(e);var t=this instanceof u5;this._readableState=new dAe(e,this,t),this.readable=!0,e&&(typeof e.read==\"function\"&&(this._read=e.read),typeof e.destroy==\"function\"&&(this._destroy=e.destroy)),K4.call(this)}Object.defineProperty(vu.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}});vu.prototype.destroy=pj.destroy;vu.prototype._undestroy=pj.undestroy;vu.prototype._destroy=function(e,t){t(e)};vu.prototype.push=function(e,t){var r=this._readableState,n;return r.objectMode?n=!0:typeof e==\"string\"&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=TR.from(e,t),t=\"\"),n=!0),vAe(this,e,t,!1,n)};vu.prototype.unshift=function(e){return vAe(this,e,null,!0,!1)};function vAe(e,t,r,n,i){Il(\"readableAddChunk\",t);var a=e._readableState;if(t===null)a.reading=!1,AAt(e,a);else{var o;if(i||(o=wAt(a,t)),o)Y4(e,o);else if(a.objectMode||t&&t.length>0)if(typeof t!=\"string\"&&!a.objectMode&&Object.getPrototypeOf(t)!==TR.prototype&&(t=hAt(t)),n)a.endEmitted?Y4(e,new xAt):hj(e,a,t,!0);else if(a.ended)Y4(e,new yAt);else{if(a.destroyed)return!1;a.reading=!1,a.decoder&&!r?(t=a.decoder.write(t),a.objectMode||t.length!==0?hj(e,a,t,!1):vj(e,a)):hj(e,a,t,!1)}else n||(a.reading=!1,vj(e,a))}return!a.ended&&(a.length<a.highWaterMark||a.length===0)}function hj(e,t,r,n){t.flowing&&t.length===0&&!t.sync?(t.awaitDrain=0,e.emit(\"data\",r)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&SR(e)),vj(e,t)}function wAt(e,t){var r;return!dAt(t)&&typeof t!=\"string\"&&t!==void 0&&!e.objectMode&&(r=new mAt(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],t)),r}vu.prototype.isPaused=function(){return this._readableState.flowing===!1};vu.prototype.setEncoding=function(e){c5||(c5=oj().StringDecoder);var t=new c5(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,n=\"\";r!==null;)n+=t.write(r.data),r=r.next;return this._readableState.buffer.clear(),n!==\"\"&&this._readableState.buffer.push(n),this._readableState.length=n.length,this};var cAe=1073741824;function TAt(e){return e>=cAe?e=cAe:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function fAe(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=TAt(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}vu.prototype.read=function(e){Il(\"read\",e),e=parseInt(e,10);var t=this._readableState,r=e;if(e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&((t.highWaterMark!==0?t.length>=t.highWaterMark:t.length>0)||t.ended))return Il(\"read: emitReadable\",t.length,t.ended),t.length===0&&t.ended?dj(this):SR(this),null;if(e=fAe(e,t),e===0&&t.ended)return t.length===0&&dj(this),null;var n=t.needReadable;Il(\"need readable\",n),(t.length===0||t.length-e<t.highWaterMark)&&(n=!0,Il(\"length less than watermark\",n)),t.ended||t.reading?(n=!1,Il(\"reading or ended\",n)):n&&(Il(\"do read\"),t.reading=!0,t.sync=!0,t.length===0&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=fAe(r,t)));var i;return e>0?i=mAe(e,t):i=null,i===null?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),t.length===0&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&dj(this)),i!==null&&this.emit(\"data\",i),i};function AAt(e,t){if(Il(\"onEofChunk\"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?SR(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,pAe(e)))}}function SR(e){var t=e._readableState;Il(\"emitReadable\",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(Il(\"emitReadable\",t.flowing),t.emittedReadable=!0,process.nextTick(pAe,e))}function pAe(e){var t=e._readableState;Il(\"emitReadable_\",t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit(\"readable\"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,gj(e)}function vj(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(SAt,e,t))}function SAt(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&t.length===0);){var r=t.length;if(Il(\"maybeReadMore read 0\"),e.read(0),r===t.length)break}t.readingMore=!1}vu.prototype._read=function(e){Y4(this,new _At(\"_read()\"))};vu.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e);break}n.pipesCount+=1,Il(\"pipe count=%d opts=%j\",n.pipesCount,t);var i=(!t||t.end!==!1)&&e!==process.stdout&&e!==process.stderr,a=i?s:x;n.endEmitted?process.nextTick(a):r.once(\"end\",a),e.on(\"unpipe\",o);function o(b,p){Il(\"onunpipe\"),b===r&&p&&p.hasUnpiped===!1&&(p.hasUnpiped=!0,c())}function s(){Il(\"onend\"),e.end()}var l=MAt(r);e.on(\"drain\",l);var u=!1;function c(){Il(\"cleanup\"),e.removeListener(\"close\",d),e.removeListener(\"finish\",v),e.removeListener(\"drain\",l),e.removeListener(\"error\",h),e.removeListener(\"unpipe\",o),r.removeListener(\"end\",s),r.removeListener(\"end\",x),r.removeListener(\"data\",f),u=!0,n.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&l()}r.on(\"data\",f);function f(b){Il(\"ondata\");var p=e.write(b);Il(\"dest.write\",p),p===!1&&((n.pipesCount===1&&n.pipes===e||n.pipesCount>1&&yAe(n.pipes,e)!==-1)&&!u&&(Il(\"false write response, pause\",n.awaitDrain),n.awaitDrain++),r.pause())}function h(b){Il(\"onerror\",b),x(),e.removeListener(\"error\",h),hAe(e,\"error\")===0&&Y4(e,b)}bAt(e,\"error\",h);function d(){e.removeListener(\"finish\",v),x()}e.once(\"close\",d);function v(){Il(\"onfinish\"),e.removeListener(\"close\",d),x()}e.once(\"finish\",v);function x(){Il(\"unpipe\"),r.unpipe(e)}return e.emit(\"pipe\",r),n.flowing||(Il(\"pipe resume\"),r.resume()),e};function MAt(e){return function(){var r=e._readableState;Il(\"pipeOnDrain\",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&hAe(e,\"data\")&&(r.flowing=!0,gj(e))}}vu.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(t.pipesCount===0)return this;if(t.pipesCount===1)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit(\"unpipe\",this,r),this);if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<i;a++)n[a].emit(\"unpipe\",this,{hasUnpiped:!1});return this}var o=yAe(t.pipes,e);return o===-1?this:(t.pipes.splice(o,1),t.pipesCount-=1,t.pipesCount===1&&(t.pipes=t.pipes[0]),e.emit(\"unpipe\",this,r),this)};vu.prototype.on=function(e,t){var r=K4.prototype.on.call(this,e,t),n=this._readableState;return e===\"data\"?(n.readableListening=this.listenerCount(\"readable\")>0,n.flowing!==!1&&this.resume()):e===\"readable\"&&!n.endEmitted&&!n.readableListening&&(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,Il(\"on readable\",n.length,n.reading),n.length?SR(this):n.reading||process.nextTick(EAt,this)),r};vu.prototype.addListener=vu.prototype.on;vu.prototype.removeListener=function(e,t){var r=K4.prototype.removeListener.call(this,e,t);return e===\"readable\"&&process.nextTick(gAe,this),r};vu.prototype.removeAllListeners=function(e){var t=K4.prototype.removeAllListeners.apply(this,arguments);return(e===\"readable\"||e===void 0)&&process.nextTick(gAe,this),t};function gAe(e){var t=e._readableState;t.readableListening=e.listenerCount(\"readable\")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount(\"data\")>0&&e.resume()}function EAt(e){Il(\"readable nexttick read 0\"),e.read(0)}vu.prototype.resume=function(){var e=this._readableState;return e.flowing||(Il(\"resume\"),e.flowing=!e.readableListening,kAt(this,e)),e.paused=!1,this};function kAt(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(CAt,e,t))}function CAt(e,t){Il(\"resume\",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit(\"resume\"),gj(e),t.flowing&&!t.reading&&e.read(0)}vu.prototype.pause=function(){return Il(\"call pause flowing=%j\",this._readableState.flowing),this._readableState.flowing!==!1&&(Il(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this._readableState.paused=!0,this};function gj(e){var t=e._readableState;for(Il(\"flow\",t.flowing);t.flowing&&e.read()!==null;);}vu.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;e.on(\"end\",function(){if(Il(\"wrapped end\"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&t.push(o)}t.push(null)}),e.on(\"data\",function(o){if(Il(\"wrapped data\"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var s=t.push(o);s||(n=!0,e.pause())}});for(var i in e)this[i]===void 0&&typeof e[i]==\"function\"&&(this[i]=function(s){return function(){return e[s].apply(e,arguments)}}(i));for(var a=0;a<fj.length;a++)e.on(fj[a],this.emit.bind(this,fj[a]));return this._read=function(o){Il(\"wrapped _read\",o),n&&(n=!1,e.resume())},this};typeof Symbol==\"function\"&&(vu.prototype[Symbol.asyncIterator]=function(){return uj===void 0&&(uj=sAe()),uj(this)});Object.defineProperty(vu.prototype,\"readableHighWaterMark\",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Object.defineProperty(vu.prototype,\"readableBuffer\",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(vu.prototype,\"readableFlowing\",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t)}});vu._fromList=mAe;Object.defineProperty(vu.prototype,\"readableLength\",{enumerable:!1,get:function(){return this._readableState.length}});function mAe(e,t){if(t.length===0)return null;var r;return t.objectMode?r=t.buffer.shift():!e||e>=t.length?(t.decoder?r=t.buffer.join(\"\"):t.buffer.length===1?r=t.buffer.first():r=t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r}function dj(e){var t=e._readableState;Il(\"endReadable\",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(LAt,t,e))}function LAt(e,t){if(Il(\"endReadableNT\",e.endEmitted,e.length),!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit(\"end\"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}typeof Symbol==\"function\"&&(vu.from=function(e,t){return cj===void 0&&(cj=uAe()),cj(vu,e,t)});function yAe(e,t){for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}});var mj=ye((ccr,bAe)=>{\"use strict\";bAe.exports=Hy;var MR=v2().codes,PAt=MR.ERR_METHOD_NOT_IMPLEMENTED,IAt=MR.ERR_MULTIPLE_CALLBACK,RAt=MR.ERR_TRANSFORM_ALREADY_TRANSFORMING,DAt=MR.ERR_TRANSFORM_WITH_LENGTH_0,ER=p2();Uy()(Hy,ER);function zAt(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(n===null)return this.emit(\"error\",new IAt);r.writechunk=null,r.writecb=null,t!=null&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function Hy(e){if(!(this instanceof Hy))return new Hy(e);ER.call(this,e),this._transformState={afterTransform:zAt.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(typeof e.transform==\"function\"&&(this._transform=e.transform),typeof e.flush==\"function\"&&(this._flush=e.flush)),this.on(\"prefinish\",FAt)}function FAt(){var e=this;typeof this._flush==\"function\"&&!this._readableState.destroyed?this._flush(function(t,r){xAe(e,t,r)}):xAe(this,null,null)}Hy.prototype.push=function(e,t){return this._transformState.needTransform=!1,ER.prototype.push.call(this,e,t)};Hy.prototype._transform=function(e,t,r){r(new PAt(\"_transform()\"))};Hy.prototype._write=function(e,t,r){var n=this._transformState;if(n.writecb=r,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}};Hy.prototype._read=function(e){var t=this._transformState;t.writechunk!==null&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0};Hy.prototype._destroy=function(e,t){ER.prototype._destroy.call(this,e,function(r){t(r)})};function xAe(e,t,r){if(t)return e.emit(\"error\",t);if(r!=null&&e.push(r),e._writableState.length)throw new DAt;if(e._transformState.transforming)throw new RAt;return e.push(null)}});var AAe=ye((fcr,TAe)=>{\"use strict\";TAe.exports=J4;var wAe=mj();Uy()(J4,wAe);function J4(e){if(!(this instanceof J4))return new J4(e);wAe.call(this,e)}J4.prototype._transform=function(e,t,r){r(null,e)}});var CAe=ye((hcr,kAe)=>{\"use strict\";var yj;function qAt(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var EAe=v2().codes,OAt=EAe.ERR_MISSING_ARGS,BAt=EAe.ERR_STREAM_DESTROYED;function SAe(e){if(e)throw e}function NAt(e){return e.setHeader&&typeof e.abort==\"function\"}function UAt(e,t,r,n){n=qAt(n);var i=!1;e.on(\"close\",function(){i=!0}),yj===void 0&&(yj=xR()),yj(e,{readable:t,writable:r},function(o){if(o)return n(o);i=!0,n()});var a=!1;return function(o){if(!i&&!a){if(a=!0,NAt(e))return e.abort();if(typeof e.destroy==\"function\")return e.destroy();n(o||new BAt(\"pipe\"))}}}function MAe(e){e()}function VAt(e,t){return e.pipe(t)}function HAt(e){return!e.length||typeof e[e.length-1]!=\"function\"?SAe:e.pop()}function GAt(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=HAt(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new OAt(\"streams\");var i,a=t.map(function(o,s){var l=s<t.length-1,u=s>0;return UAt(o,l,u,function(c){i||(i=c),c&&a.forEach(MAe),!l&&(a.forEach(MAe),n(i))})});return t.reduce(VAt)}kAe.exports=GAt});var PAe=ye((dcr,LAe)=>{LAe.exports=K0;var _j=vb().EventEmitter,jAt=Uy();jAt(K0,_j);K0.Readable=rj();K0.Writable=QG();K0.Duplex=p2();K0.Transform=mj();K0.PassThrough=AAe();K0.finished=xR();K0.pipeline=CAe();K0.Stream=K0;function K0(){_j.call(this)}K0.prototype.pipe=function(e,t){var r=this;function n(c){e.writable&&e.write(c)===!1&&r.pause&&r.pause()}r.on(\"data\",n);function i(){r.readable&&r.resume&&r.resume()}e.on(\"drain\",i),!e._isStdio&&(!t||t.end!==!1)&&(r.on(\"end\",o),r.on(\"close\",s));var a=!1;function o(){a||(a=!0,e.end())}function s(){a||(a=!0,typeof e.destroy==\"function\"&&e.destroy())}function l(c){if(u(),_j.listenerCount(this,\"error\")===0)throw c}r.on(\"error\",l),e.on(\"error\",l);function u(){r.removeListener(\"data\",n),e.removeListener(\"drain\",i),r.removeListener(\"end\",o),r.removeListener(\"close\",s),r.removeListener(\"error\",l),e.removeListener(\"error\",l),r.removeListener(\"end\",u),r.removeListener(\"close\",u),e.removeListener(\"close\",u)}return r.on(\"end\",u),r.on(\"close\",u),e.on(\"close\",u),e.emit(\"pipe\",r),e}});var h5=ye(Ul=>{var IAe=Object.getOwnPropertyDescriptors||function(t){for(var r=Object.keys(t),n={},i=0;i<r.length;i++)n[r[i]]=Object.getOwnPropertyDescriptor(t,r[i]);return n},WAt=/%[sdj%]/g;Ul.format=function(e){if(!DR(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(O_(arguments[r]));return t.join(\" \")}for(var r=1,n=arguments,i=n.length,a=String(e).replace(WAt,function(s){if(s===\"%%\")return\"%\";if(r>=i)return s;switch(s){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(l){return\"[Circular]\"}default:return s}}),o=n[r];r<i;o=n[++r])RR(o)||!f5(o)?a+=\" \"+o:a+=\" \"+O_(o);return a};Ul.deprecate=function(e,t){if(typeof process!=\"undefined\"&&process.noDeprecation===!0)return e;if(typeof process==\"undefined\")return function(){return Ul.deprecate(e,t).apply(this,arguments)};var r=!1;function n(){if(!r){if(process.throwDeprecation)throw new Error(t);process.traceDeprecation?console.trace(t):console.error(t),r=!0}return e.apply(this,arguments)}return n};var kR={},RAe=/^$/;CR=\"false\",CR=CR.replace(/[|\\\\{}()[\\]^$+?.]/g,\"\\\\$&\").replace(/\\*/g,\".*\").replace(/,/g,\"$|^\").toUpperCase(),RAe=new RegExp(\"^\"+CR+\"$\",\"i\");var CR;Ul.debuglog=function(e){if(e=e.toUpperCase(),!kR[e])if(RAe.test(e)){var t=process.pid;kR[e]=function(){var r=Ul.format.apply(Ul,arguments);console.error(\"%s %d: %s\",e,t,r)}}else kR[e]=function(){};return kR[e]};function O_(e,t){var r={seen:[],stylize:XAt};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),Tj(t)?r.showHidden=t:t&&Ul._extend(r,t),b2(r.showHidden)&&(r.showHidden=!1),b2(r.depth)&&(r.depth=2),b2(r.colors)&&(r.colors=!1),b2(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=ZAt),PR(r,e,r.depth)}Ul.inspect=O_;O_.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]};O_.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};function ZAt(e,t){var r=O_.styles[t];return r?\"\\x1B[\"+O_.colors[r][0]+\"m\"+e+\"\\x1B[\"+O_.colors[r][1]+\"m\":e}function XAt(e,t){return e}function YAt(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function PR(e,t,r){if(e.customInspect&&t&&LR(t.inspect)&&t.inspect!==Ul.inspect&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return DR(n)||(n=PR(e,n,r)),n}var i=KAt(e,t);if(i)return i;var a=Object.keys(t),o=YAt(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),Q4(t)&&(a.indexOf(\"message\")>=0||a.indexOf(\"description\")>=0))return xj(t);if(a.length===0){if(LR(t)){var s=t.name?\": \"+t.name:\"\";return e.stylize(\"[Function\"+s+\"]\",\"special\")}if($4(t))return e.stylize(RegExp.prototype.toString.call(t),\"regexp\");if(IR(t))return e.stylize(Date.prototype.toString.call(t),\"date\");if(Q4(t))return xj(t)}var l=\"\",u=!1,c=[\"{\",\"}\"];if(DAe(t)&&(u=!0,c=[\"[\",\"]\"]),LR(t)){var f=t.name?\": \"+t.name:\"\";l=\" [Function\"+f+\"]\"}if($4(t)&&(l=\" \"+RegExp.prototype.toString.call(t)),IR(t)&&(l=\" \"+Date.prototype.toUTCString.call(t)),Q4(t)&&(l=\" \"+xj(t)),a.length===0&&(!u||t.length==0))return c[0]+l+c[1];if(r<0)return $4(t)?e.stylize(RegExp.prototype.toString.call(t),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(t);var h;return u?h=JAt(e,t,r,o,a):h=a.map(function(d){return wj(e,t,r,o,d,u)}),e.seen.pop(),$At(h,l,c)}function KAt(e,t){if(b2(t))return e.stylize(\"undefined\",\"undefined\");if(DR(t)){var r=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(r,\"string\")}if(zAe(t))return e.stylize(\"\"+t,\"number\");if(Tj(t))return e.stylize(\"\"+t,\"boolean\");if(RR(t))return e.stylize(\"null\",\"null\")}function xj(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function JAt(e,t,r,n,i){for(var a=[],o=0,s=t.length;o<s;++o)FAe(t,String(o))?a.push(wj(e,t,r,n,String(o),!0)):a.push(\"\");return i.forEach(function(l){l.match(/^\\d+$/)||a.push(wj(e,t,r,n,l,!0))}),a}function wj(e,t,r,n,i,a){var o,s,l;if(l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]},l.get?l.set?s=e.stylize(\"[Getter/Setter]\",\"special\"):s=e.stylize(\"[Getter]\",\"special\"):l.set&&(s=e.stylize(\"[Setter]\",\"special\")),FAe(n,i)||(o=\"[\"+i+\"]\"),s||(e.seen.indexOf(l.value)<0?(RR(r)?s=PR(e,l.value,null):s=PR(e,l.value,r-1),s.indexOf(`\n", - "`)>-1&&(a?s=s.split(`\n", - "`).map(function(u){return\" \"+u}).join(`\n", - "`).slice(2):s=`\n", - "`+s.split(`\n", - "`).map(function(u){return\" \"+u}).join(`\n", - "`))):s=e.stylize(\"[Circular]\",\"special\")),b2(o)){if(a&&i.match(/^\\d+$/))return s;o=JSON.stringify(\"\"+i),o.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.slice(1,-1),o=e.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=e.stylize(o,\"string\"))}return o+\": \"+s}function $At(e,t,r){var n=0,i=e.reduce(function(a,o){return n++,o.indexOf(`\n", - "`)>=0&&n++,a+o.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return i>60?r[0]+(t===\"\"?\"\":t+`\n", - " `)+\" \"+e.join(`,\n", - " `)+\" \"+r[1]:r[0]+t+\" \"+e.join(\", \")+\" \"+r[1]}Ul.types=OG();function DAe(e){return Array.isArray(e)}Ul.isArray=DAe;function Tj(e){return typeof e==\"boolean\"}Ul.isBoolean=Tj;function RR(e){return e===null}Ul.isNull=RR;function QAt(e){return e==null}Ul.isNullOrUndefined=QAt;function zAe(e){return typeof e==\"number\"}Ul.isNumber=zAe;function DR(e){return typeof e==\"string\"}Ul.isString=DR;function eSt(e){return typeof e==\"symbol\"}Ul.isSymbol=eSt;function b2(e){return e===void 0}Ul.isUndefined=b2;function $4(e){return f5(e)&&Aj(e)===\"[object RegExp]\"}Ul.isRegExp=$4;Ul.types.isRegExp=$4;function f5(e){return typeof e==\"object\"&&e!==null}Ul.isObject=f5;function IR(e){return f5(e)&&Aj(e)===\"[object Date]\"}Ul.isDate=IR;Ul.types.isDate=IR;function Q4(e){return f5(e)&&(Aj(e)===\"[object Error]\"||e instanceof Error)}Ul.isError=Q4;Ul.types.isNativeError=Q4;function LR(e){return typeof e==\"function\"}Ul.isFunction=LR;function tSt(e){return e===null||typeof e==\"boolean\"||typeof e==\"number\"||typeof e==\"string\"||typeof e==\"symbol\"||typeof e==\"undefined\"}Ul.isPrimitive=tSt;Ul.isBuffer=BG();function Aj(e){return Object.prototype.toString.call(e)}function bj(e){return e<10?\"0\"+e.toString(10):e.toString(10)}var rSt=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function iSt(){var e=new Date,t=[bj(e.getHours()),bj(e.getMinutes()),bj(e.getSeconds())].join(\":\");return[e.getDate(),rSt[e.getMonth()],t].join(\" \")}Ul.log=function(){console.log(\"%s - %s\",iSt(),Ul.format.apply(Ul,arguments))};Ul.inherits=Uy();Ul._extend=function(e,t){if(!t||!f5(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};function FAe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var x2=typeof Symbol!=\"undefined\"?Symbol(\"util.promisify.custom\"):void 0;Ul.promisify=function(t){if(typeof t!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');if(x2&&t[x2]){var r=t[x2];if(typeof r!=\"function\")throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(r,x2,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var n,i,a=new Promise(function(l,u){n=l,i=u}),o=[],s=0;s<arguments.length;s++)o.push(arguments[s]);o.push(function(l,u){l?i(l):n(u)});try{t.apply(this,o)}catch(l){i(l)}return a}return Object.setPrototypeOf(r,Object.getPrototypeOf(t)),x2&&Object.defineProperty(r,x2,{value:r,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(r,IAe(t))};Ul.promisify.custom=x2;function nSt(e,t){if(!e){var r=new Error(\"Promise was rejected with a falsy value\");r.reason=e,e=r}return t(e)}function aSt(e){if(typeof e!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');function t(){for(var r=[],n=0;n<arguments.length;n++)r.push(arguments[n]);var i=r.pop();if(typeof i!=\"function\")throw new TypeError(\"The last argument must be of type Function\");var a=this,o=function(){return i.apply(a,arguments)};e.apply(this,r).then(function(s){process.nextTick(o.bind(null,null,s))},function(s){process.nextTick(nSt.bind(null,s,o))})}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),Object.defineProperties(t,IAe(e)),t}Ul.callbackify=aSt});var Ej=ye((pcr,NAe)=>{\"use strict\";function B_(e){\"@babel/helpers - typeof\";return B_=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},B_(e)}function qAe(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,sSt(n.key),n)}}function oSt(e,t,r){return t&&qAe(e.prototype,t),r&&qAe(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function sSt(e){var t=lSt(e,\"string\");return B_(t)===\"symbol\"?t:String(t)}function lSt(e,t){if(B_(e)!==\"object\"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||\"default\");if(B_(n)!==\"object\")return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(t===\"string\"?String:Number)(e)}function uSt(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function cSt(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&Mj(e,t)}function Mj(e,t){return Mj=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Mj(e,t)}function fSt(e){var t=vSt();return function(){var n=zR(e),i;if(t){var a=zR(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return hSt(this,i)}}function hSt(e,t){if(t&&(B_(t)===\"object\"||typeof t==\"function\"))return t;if(t!==void 0)throw new TypeError(\"Derived constructors may only return object or undefined\");return dSt(e)}function dSt(e){if(e===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function vSt(){if(typeof Reflect==\"undefined\"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==\"function\")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function zR(e){return zR=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},zR(e)}var BAe={},d5,Sj;function eE(e,t,r){r||(r=Error);function n(a,o,s){return typeof t==\"string\"?t:t(a,o,s)}var i=function(a){cSt(s,a);var o=fSt(s);function s(l,u,c){var f;return uSt(this,s),f=o.call(this,n(l,u,c)),f.code=e,f}return oSt(s)}(r);BAe[e]=i}function OAe(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(n){return String(n)}),r>2?\"one of \".concat(t,\" \").concat(e.slice(0,r-1).join(\", \"),\", or \")+e[r-1]:r===2?\"one of \".concat(t,\" \").concat(e[0],\" or \").concat(e[1]):\"of \".concat(t,\" \").concat(e[0])}else return\"of \".concat(t,\" \").concat(String(e))}function pSt(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function gSt(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function mSt(e,t,r){return typeof r!=\"number\"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}eE(\"ERR_AMBIGUOUS_ARGUMENT\",'The \"%s\" argument is ambiguous. %s',TypeError);eE(\"ERR_INVALID_ARG_TYPE\",function(e,t,r){d5===void 0&&(d5=tE()),d5(typeof e==\"string\",\"'name' must be a string\");var n;typeof t==\"string\"&&pSt(t,\"not \")?(n=\"must not be\",t=t.replace(/^not /,\"\")):n=\"must be\";var i;if(gSt(e,\" argument\"))i=\"The \".concat(e,\" \").concat(n,\" \").concat(OAe(t,\"type\"));else{var a=mSt(e,\".\")?\"property\":\"argument\";i='The \"'.concat(e,'\" ').concat(a,\" \").concat(n,\" \").concat(OAe(t,\"type\"))}return i+=\". Received type \".concat(B_(r)),i},TypeError);eE(\"ERR_INVALID_ARG_VALUE\",function(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\"is invalid\";Sj===void 0&&(Sj=h5());var n=Sj.inspect(t);return n.length>128&&(n=\"\".concat(n.slice(0,128),\"...\")),\"The argument '\".concat(e,\"' \").concat(r,\". Received \").concat(n)},TypeError,RangeError);eE(\"ERR_INVALID_RETURN_VALUE\",function(e,t,r){var n;return r&&r.constructor&&r.constructor.name?n=\"instance of \".concat(r.constructor.name):n=\"type \".concat(B_(r)),\"Expected \".concat(e,' to be returned from the \"').concat(t,'\"')+\" function but got \".concat(n,\".\")},TypeError);eE(\"ERR_MISSING_ARGS\",function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];d5===void 0&&(d5=tE()),d5(t.length>0,\"At least one arg needs to be specified\");var n=\"The \",i=t.length;switch(t=t.map(function(a){return'\"'.concat(a,'\"')}),i){case 1:n+=\"\".concat(t[0],\" argument\");break;case 2:n+=\"\".concat(t[0],\" and \").concat(t[1],\" arguments\");break;default:n+=t.slice(0,i-1).join(\", \"),n+=\", and \".concat(t[i-1],\" arguments\");break}return\"\".concat(n,\" must be specified\")},TypeError);NAe.exports.codes=BAe});var KAe=ye((gcr,YAe)=>{\"use strict\";function UAe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function VAe(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?UAe(Object(r),!0).forEach(function(n){ySt(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):UAe(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function ySt(e,t,r){return t=WAe(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _St(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function HAe(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,WAe(n.key),n)}}function xSt(e,t,r){return t&&HAe(e.prototype,t),r&&HAe(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function WAe(e){var t=bSt(e,\"string\");return Dp(t)===\"symbol\"?t:String(t)}function bSt(e,t){if(Dp(e)!==\"object\"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||\"default\");if(Dp(n)!==\"object\")return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(t===\"string\"?String:Number)(e)}function wSt(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&aE(e,t)}function TSt(e){var t=XAe();return function(){var n=oE(e),i;if(t){var a=oE(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return ZAe(this,i)}}function ZAe(e,t){if(t&&(Dp(t)===\"object\"||typeof t==\"function\"))return t;if(t!==void 0)throw new TypeError(\"Derived constructors may only return object or undefined\");return kj(e)}function kj(e){if(e===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function Cj(e){var t=typeof Map==\"function\"?new Map:void 0;return Cj=function(n){if(n===null||!ASt(n))return n;if(typeof n!=\"function\")throw new TypeError(\"Super expression must either be null or a function\");if(typeof t!=\"undefined\"){if(t.has(n))return t.get(n);t.set(n,i)}function i(){return FR(n,arguments,oE(this).constructor)}return i.prototype=Object.create(n.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),aE(i,n)},Cj(e)}function FR(e,t,r){return XAe()?FR=Reflect.construct.bind():FR=function(i,a,o){var s=[null];s.push.apply(s,a);var l=Function.bind.apply(i,s),u=new l;return o&&aE(u,o.prototype),u},FR.apply(null,arguments)}function XAe(){if(typeof Reflect==\"undefined\"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==\"function\")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function ASt(e){return Function.toString.call(e).indexOf(\"[native code]\")!==-1}function aE(e,t){return aE=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},aE(e,t)}function oE(e){return oE=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},oE(e)}function Dp(e){\"@babel/helpers - typeof\";return Dp=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},Dp(e)}var SSt=h5(),Lj=SSt.inspect,MSt=Ej(),ESt=MSt.codes.ERR_INVALID_ARG_TYPE;function GAe(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function kSt(e,t){if(t=Math.floor(t),e.length==0||t==0)return\"\";var r=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+=e.substring(0,r-e.length),e}var Gg=\"\",rE=\"\",iE=\"\",xv=\"\",w2={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:\"},CSt=10;function jAe(e){var t=Object.keys(e),r=Object.create(Object.getPrototypeOf(e));return t.forEach(function(n){r[n]=e[n]}),Object.defineProperty(r,\"message\",{value:e.message}),r}function nE(e){return Lj(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function LSt(e,t,r){var n=\"\",i=\"\",a=0,o=\"\",s=!1,l=nE(e),u=l.split(`\n", - "`),c=nE(t).split(`\n", - "`),f=0,h=\"\";if(r===\"strictEqual\"&&Dp(e)===\"object\"&&Dp(t)===\"object\"&&e!==null&&t!==null&&(r=\"strictEqualObject\"),u.length===1&&c.length===1&&u[0]!==c[0]){var d=u[0].length+c[0].length;if(d<=CSt){if((Dp(e)!==\"object\"||e===null)&&(Dp(t)!==\"object\"||t===null)&&(e!==0||t!==0))return\"\".concat(w2[r],`\n", - "\n", - "`)+\"\".concat(u[0],\" !== \").concat(c[0],`\n", - "`)}else if(r!==\"strictEqualObject\"){var v=process.stderr&&process.stderr.isTTY?process.stderr.columns:80;if(d<v){for(;u[0][f]===c[0][f];)f++;f>2&&(h=`\n", - " `.concat(kSt(\" \",f),\"^\"),f=0)}}}for(var x=u[u.length-1],b=c[c.length-1];x===b&&(f++<2?o=`\n", - " `.concat(x).concat(o):n=x,u.pop(),c.pop(),!(u.length===0||c.length===0));)x=u[u.length-1],b=c[c.length-1];var p=Math.max(u.length,c.length);if(p===0){var E=l.split(`\n", - "`);if(E.length>30)for(E[26]=\"\".concat(Gg,\"...\").concat(xv);E.length>27;)E.pop();return\"\".concat(w2.notIdentical,`\n", - "\n", - "`).concat(E.join(`\n", - "`),`\n", - "`)}f>3&&(o=`\n", - "`.concat(Gg,\"...\").concat(xv).concat(o),s=!0),n!==\"\"&&(o=`\n", - " `.concat(n).concat(o),n=\"\");var k=0,A=w2[r]+`\n", - "`.concat(rE,\"+ actual\").concat(xv,\" \").concat(iE,\"- expected\").concat(xv),L=\" \".concat(Gg,\"...\").concat(xv,\" Lines skipped\");for(f=0;f<p;f++){var _=f-a;if(u.length<f+1)_>1&&f>2&&(_>4?(i+=`\n", - "`.concat(Gg,\"...\").concat(xv),s=!0):_>3&&(i+=`\n", - " `.concat(c[f-2]),k++),i+=`\n", - " `.concat(c[f-1]),k++),a=f,n+=`\n", - "`.concat(iE,\"-\").concat(xv,\" \").concat(c[f]),k++;else if(c.length<f+1)_>1&&f>2&&(_>4?(i+=`\n", - "`.concat(Gg,\"...\").concat(xv),s=!0):_>3&&(i+=`\n", - " `.concat(u[f-2]),k++),i+=`\n", - " `.concat(u[f-1]),k++),a=f,i+=`\n", - "`.concat(rE,\"+\").concat(xv,\" \").concat(u[f]),k++;else{var C=c[f],M=u[f],g=M!==C&&(!GAe(M,\",\")||M.slice(0,-1)!==C);g&&GAe(C,\",\")&&C.slice(0,-1)===M&&(g=!1,M+=\",\"),g?(_>1&&f>2&&(_>4?(i+=`\n", - "`.concat(Gg,\"...\").concat(xv),s=!0):_>3&&(i+=`\n", - " `.concat(u[f-2]),k++),i+=`\n", - " `.concat(u[f-1]),k++),a=f,i+=`\n", - "`.concat(rE,\"+\").concat(xv,\" \").concat(M),n+=`\n", - "`.concat(iE,\"-\").concat(xv,\" \").concat(C),k+=2):(i+=n,n=\"\",(_===1||f===0)&&(i+=`\n", - " `.concat(M),k++))}if(k>20&&f<p-2)return\"\".concat(A).concat(L,`\n", - "`).concat(i,`\n", - "`).concat(Gg,\"...\").concat(xv).concat(n,`\n", - "`)+\"\".concat(Gg,\"...\").concat(xv)}return\"\".concat(A).concat(s?L:\"\",`\n", - "`).concat(i).concat(n).concat(o).concat(h)}var PSt=function(e,t){wSt(n,e);var r=TSt(n);function n(i){var a;if(_St(this,n),Dp(i)!==\"object\"||i===null)throw new ESt(\"options\",\"Object\",i);var o=i.message,s=i.operator,l=i.stackStartFn,u=i.actual,c=i.expected,f=Error.stackTraceLimit;if(Error.stackTraceLimit=0,o!=null)a=r.call(this,String(o));else if(process.stderr&&process.stderr.isTTY&&(process.stderr&&process.stderr.getColorDepth&&process.stderr.getColorDepth()!==1?(Gg=\"\\x1B[34m\",rE=\"\\x1B[32m\",xv=\"\\x1B[39m\",iE=\"\\x1B[31m\"):(Gg=\"\",rE=\"\",xv=\"\",iE=\"\")),Dp(u)===\"object\"&&u!==null&&Dp(c)===\"object\"&&c!==null&&\"stack\"in u&&u instanceof Error&&\"stack\"in c&&c instanceof Error&&(u=jAe(u),c=jAe(c)),s===\"deepStrictEqual\"||s===\"strictEqual\")a=r.call(this,LSt(u,c,s));else if(s===\"notDeepStrictEqual\"||s===\"notStrictEqual\"){var h=w2[s],d=nE(u).split(`\n", - "`);if(s===\"notStrictEqual\"&&Dp(u)===\"object\"&&u!==null&&(h=w2.notStrictEqualObject),d.length>30)for(d[26]=\"\".concat(Gg,\"...\").concat(xv);d.length>27;)d.pop();d.length===1?a=r.call(this,\"\".concat(h,\" \").concat(d[0])):a=r.call(this,\"\".concat(h,`\n", - "\n", - "`).concat(d.join(`\n", - "`),`\n", - "`))}else{var v=nE(u),x=\"\",b=w2[s];s===\"notDeepEqual\"||s===\"notEqual\"?(v=\"\".concat(w2[s],`\n", - "\n", - "`).concat(v),v.length>1024&&(v=\"\".concat(v.slice(0,1021),\"...\"))):(x=\"\".concat(nE(c)),v.length>512&&(v=\"\".concat(v.slice(0,509),\"...\")),x.length>512&&(x=\"\".concat(x.slice(0,509),\"...\")),s===\"deepEqual\"||s===\"equal\"?v=\"\".concat(b,`\n", - "\n", - "`).concat(v,`\n", - "\n", - "should equal\n", - "\n", - "`):x=\" \".concat(s,\" \").concat(x)),a=r.call(this,\"\".concat(v).concat(x))}return Error.stackTraceLimit=f,a.generatedMessage=!o,Object.defineProperty(kj(a),\"name\",{value:\"AssertionError [ERR_ASSERTION]\",enumerable:!1,writable:!0,configurable:!0}),a.code=\"ERR_ASSERTION\",a.actual=u,a.expected=c,a.operator=s,Error.captureStackTrace&&Error.captureStackTrace(kj(a),l),a.stack,a.name=\"AssertionError\",ZAe(a)}return xSt(n,[{key:\"toString\",value:function(){return\"\".concat(this.name,\" [\").concat(this.code,\"]: \").concat(this.message)}},{key:t,value:function(a,o){return Lj(this,VAe(VAe({},o),{},{customInspect:!1,depth:0}))}}]),n}(Cj(Error),Lj.custom);YAe.exports=PSt});var Pj=ye((mcr,$Ae)=>{\"use strict\";var JAe=Object.prototype.toString;$Ae.exports=function(t){var r=JAe.call(t),n=r===\"[object Arguments]\";return n||(n=r!==\"[object Array]\"&&t!==null&&typeof t==\"object\"&&typeof t.length==\"number\"&&t.length>=0&&JAe.call(t.callee)===\"[object Function]\"),n}});var sSe=ye((ycr,oSe)=>{\"use strict\";var aSe;Object.keys||(sE=Object.prototype.hasOwnProperty,Ij=Object.prototype.toString,QAe=Pj(),Rj=Object.prototype.propertyIsEnumerable,eSe=!Rj.call({toString:null},\"toString\"),tSe=Rj.call(function(){},\"prototype\"),lE=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],qR=function(e){var t=e.constructor;return t&&t.prototype===e},rSe={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},iSe=function(){if(typeof window==\"undefined\")return!1;for(var e in window)try{if(!rSe[\"$\"+e]&&sE.call(window,e)&&window[e]!==null&&typeof window[e]==\"object\")try{qR(window[e])}catch(t){return!0}}catch(t){return!0}return!1}(),nSe=function(e){if(typeof window==\"undefined\"||!iSe)return qR(e);try{return qR(e)}catch(t){return!1}},aSe=function(t){var r=t!==null&&typeof t==\"object\",n=Ij.call(t)===\"[object Function]\",i=QAe(t),a=r&&Ij.call(t)===\"[object String]\",o=[];if(!r&&!n&&!i)throw new TypeError(\"Object.keys called on a non-object\");var s=tSe&&n;if(a&&t.length>0&&!sE.call(t,0))for(var l=0;l<t.length;++l)o.push(String(l));if(i&&t.length>0)for(var u=0;u<t.length;++u)o.push(String(u));else for(var c in t)!(s&&c===\"prototype\")&&sE.call(t,c)&&o.push(String(c));if(eSe)for(var f=nSe(t),h=0;h<lE.length;++h)!(f&&lE[h]===\"constructor\")&&sE.call(t,lE[h])&&o.push(lE[h]);return o});var sE,Ij,QAe,Rj,eSe,tSe,lE,qR,rSe,iSe,nSe;oSe.exports=aSe});var Dj=ye((_cr,cSe)=>{\"use strict\";var ISt=Array.prototype.slice,RSt=Pj(),lSe=Object.keys,OR=lSe?function(t){return lSe(t)}:sSe(),uSe=Object.keys;OR.shim=function(){if(Object.keys){var t=function(){var r=Object.keys(arguments);return r&&r.length===arguments.length}(1,2);t||(Object.keys=function(n){return RSt(n)?uSe(ISt.call(n)):uSe(n)})}else Object.keys=OR;return Object.keys||OR};cSe.exports=OR});var gSe=ye((xcr,pSe)=>{\"use strict\";var DSt=Dj(),dSe=B8()(),vSe=i5(),fSe=Object,zSt=vSe(\"Array.prototype.push\"),hSe=vSe(\"Object.prototype.propertyIsEnumerable\"),FSt=dSe?Object.getOwnPropertySymbols:null;pSe.exports=function(t,r){if(t==null)throw new TypeError(\"target must be an object\");var n=fSe(t);if(arguments.length===1)return n;for(var i=1;i<arguments.length;++i){var a=fSe(arguments[i]),o=DSt(a),s=dSe&&(Object.getOwnPropertySymbols||FSt);if(s)for(var l=s(a),u=0;u<l.length;++u){var c=l[u];hSe(a,c)&&zSt(o,c)}for(var f=0;f<o.length;++f){var h=o[f];if(hSe(a,h)){var d=a[h];n[h]=d}}}return n}});var ySe=ye((bcr,mSe)=>{\"use strict\";var zj=gSe(),qSt=function(){if(!Object.assign)return!1;for(var e=\"abcdefghijklmnopqrst\",t=e.split(\"\"),r={},n=0;n<t.length;++n)r[t[n]]=t[n];var i=Object.assign({},r),a=\"\";for(var o in i)a+=o;return e!==a},OSt=function(){if(!Object.assign||!Object.preventExtensions)return!1;var e=Object.preventExtensions({1:2});try{Object.assign(e,\"xy\")}catch(t){return e[1]===\"y\"}return!1};mSe.exports=function(){return!Object.assign||qSt()||OSt()?zj:Object.assign}});var Fj=ye((wcr,xSe)=>{\"use strict\";var _Se=function(e){return e!==e};xSe.exports=function(t,r){return t===0&&r===0?1/t===1/r:!!(t===r||_Se(t)&&_Se(r))}});var BR=ye((Tcr,bSe)=>{\"use strict\";var BSt=Fj();bSe.exports=function(){return typeof Object.is==\"function\"?Object.is:BSt}});var uE=ye((Acr,SSe)=>{\"use strict\";var NSt=Dj(),USt=typeof Symbol==\"function\"&&typeof Symbol(\"foo\")==\"symbol\",VSt=Object.prototype.toString,HSt=Array.prototype.concat,wSe=Object.defineProperty,GSt=function(e){return typeof e==\"function\"&&VSt.call(e)===\"[object Function]\"},jSt=yG()(),TSe=wSe&&jSt,WSt=function(e,t,r,n){if(t in e){if(n===!0){if(e[t]===r)return}else if(!GSt(n)||!n())return}TSe?wSe(e,t,{configurable:!0,enumerable:!1,value:r,writable:!0}):e[t]=r},ASe=function(e,t){var r=arguments.length>2?arguments[2]:{},n=NSt(t);USt&&(n=HSt.call(n,Object.getOwnPropertySymbols(t)));for(var i=0;i<n.length;i+=1)WSt(e,n[i],t[n[i]],r[n[i]])};ASe.supportsDescriptors=!!TSe;SSe.exports=ASe});var ESe=ye((Scr,MSe)=>{\"use strict\";var ZSt=BR(),XSt=uE();MSe.exports=function(){var t=ZSt();return XSt(Object,{is:t},{is:function(){return Object.is!==t}}),t}});var PSe=ye((Mcr,LSe)=>{\"use strict\";var YSt=uE(),KSt=N4(),JSt=Fj(),kSe=BR(),$St=ESe(),CSe=KSt(kSe(),Object);YSt(CSe,{getPolyfill:kSe,implementation:JSt,shim:$St});LSe.exports=CSe});var qj=ye((Ecr,ISe)=>{\"use strict\";ISe.exports=function(t){return t!==t}});var Oj=ye((kcr,RSe)=>{\"use strict\";var QSt=qj();RSe.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN(\"a\")?Number.isNaN:QSt}});var zSe=ye((Ccr,DSe)=>{\"use strict\";var eMt=uE(),tMt=Oj();DSe.exports=function(){var t=tMt();return eMt(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}});var BSe=ye((Lcr,OSe)=>{\"use strict\";var rMt=N4(),iMt=uE(),nMt=qj(),FSe=Oj(),aMt=zSe(),qSe=rMt(FSe(),Number);iMt(qSe,{getPolyfill:FSe,implementation:nMt,shim:aMt});OSe.exports=qSe});var aMe=ye((Pcr,nMe)=>{\"use strict\";function NSe(e,t){return uMt(e)||lMt(e,t)||sMt(e,t)||oMt()}function oMt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.\n", - "In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function sMt(e,t){if(e){if(typeof e==\"string\")return USe(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r===\"Object\"&&e.constructor&&(r=e.constructor.name),r===\"Map\"||r===\"Set\")return Array.from(e);if(r===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return USe(e,t)}}function USe(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function lMt(e,t){var r=e==null?null:typeof Symbol!=\"undefined\"&&e[Symbol.iterator]||e[\"@@iterator\"];if(r!=null){var n,i,a,o,s=[],l=!0,u=!1;try{if(a=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(c){u=!0,i=c}finally{try{if(!l&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}function uMt(e){if(Array.isArray(e))return e}function J0(e){\"@babel/helpers - typeof\";return J0=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},J0(e)}var cMt=/a/g.flags!==void 0,WR=function(t){var r=[];return t.forEach(function(n){return r.push(n)}),r},VSe=function(t){var r=[];return t.forEach(function(n,i){return r.push([i,n])}),r},QSe=Object.is?Object.is:PSe(),GR=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},Bj=Number.isNaN?Number.isNaN:BSe();function Uj(e){return e.call.bind(e)}var fE=Uj(Object.prototype.hasOwnProperty),jR=Uj(Object.prototype.propertyIsEnumerable),HSe=Uj(Object.prototype.toString),sp=h5().types,fMt=sp.isAnyArrayBuffer,hMt=sp.isArrayBufferView,GSe=sp.isDate,NR=sp.isMap,jSe=sp.isRegExp,UR=sp.isSet,dMt=sp.isNativeError,vMt=sp.isBoxedPrimitive,WSe=sp.isNumberObject,ZSe=sp.isStringObject,XSe=sp.isBooleanObject,YSe=sp.isBigIntObject,pMt=sp.isSymbolObject,gMt=sp.isFloat32Array,mMt=sp.isFloat64Array;function yMt(e){if(e.length===0||e.length>10)return!0;for(var t=0;t<e.length;t++){var r=e.charCodeAt(t);if(r<48||r>57)return!0}return e.length===10&&e>=Math.pow(2,32)}function VR(e){return Object.keys(e).filter(yMt).concat(GR(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}function eMe(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i<a;++i)if(e[i]!==t[i]){r=e[i],n=t[i];break}return r<n?-1:n<r?1:0}var HR=void 0,_Mt=!0,xMt=!1,Nj=0,Vj=1,tMe=2,rMe=3;function bMt(e,t){return cMt?e.source===t.source&&e.flags===t.flags:RegExp.prototype.toString.call(e)===RegExp.prototype.toString.call(t)}function wMt(e,t){if(e.byteLength!==t.byteLength)return!1;for(var r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function TMt(e,t){return e.byteLength!==t.byteLength?!1:eMe(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))===0}function AMt(e,t){return e.byteLength===t.byteLength&&eMe(new Uint8Array(e),new Uint8Array(t))===0}function SMt(e,t){return WSe(e)?WSe(t)&&QSe(Number.prototype.valueOf.call(e),Number.prototype.valueOf.call(t)):ZSe(e)?ZSe(t)&&String.prototype.valueOf.call(e)===String.prototype.valueOf.call(t):XSe(e)?XSe(t)&&Boolean.prototype.valueOf.call(e)===Boolean.prototype.valueOf.call(t):YSe(e)?YSe(t)&&BigInt.prototype.valueOf.call(e)===BigInt.prototype.valueOf.call(t):pMt(t)&&Symbol.prototype.valueOf.call(e)===Symbol.prototype.valueOf.call(t)}function $0(e,t,r,n){if(e===t)return e!==0?!0:r?QSe(e,t):!0;if(r){if(J0(e)!==\"object\")return typeof e==\"number\"&&Bj(e)&&Bj(t);if(J0(t)!==\"object\"||e===null||t===null||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1}else{if(e===null||J0(e)!==\"object\")return t===null||J0(t)!==\"object\"?e==t:!1;if(t===null||J0(t)!==\"object\")return!1}var i=HSe(e),a=HSe(t);if(i!==a)return!1;if(Array.isArray(e)){if(e.length!==t.length)return!1;var o=VR(e,HR),s=VR(t,HR);return o.length!==s.length?!1:cE(e,t,r,n,Vj,o)}if(i===\"[object Object]\"&&(!NR(e)&&NR(t)||!UR(e)&&UR(t)))return!1;if(GSe(e)){if(!GSe(t)||Date.prototype.getTime.call(e)!==Date.prototype.getTime.call(t))return!1}else if(jSe(e)){if(!jSe(t)||!bMt(e,t))return!1}else if(dMt(e)||e instanceof Error){if(e.message!==t.message||e.name!==t.name)return!1}else if(hMt(e)){if(!r&&(gMt(e)||mMt(e))){if(!wMt(e,t))return!1}else if(!TMt(e,t))return!1;var l=VR(e,HR),u=VR(t,HR);return l.length!==u.length?!1:cE(e,t,r,n,Nj,l)}else{if(UR(e))return!UR(t)||e.size!==t.size?!1:cE(e,t,r,n,tMe);if(NR(e))return!NR(t)||e.size!==t.size?!1:cE(e,t,r,n,rMe);if(fMt(e)){if(!AMt(e,t))return!1}else if(vMt(e)&&!SMt(e,t))return!1}return cE(e,t,r,n,Nj)}function KSe(e,t){return t.filter(function(r){return jR(e,r)})}function cE(e,t,r,n,i,a){if(arguments.length===5){a=Object.keys(e);var o=Object.keys(t);if(a.length!==o.length)return!1}for(var s=0;s<a.length;s++)if(!fE(t,a[s]))return!1;if(r&&arguments.length===5){var l=GR(e);if(l.length!==0){var u=0;for(s=0;s<l.length;s++){var c=l[s];if(jR(e,c)){if(!jR(t,c))return!1;a.push(c),u++}else if(jR(t,c))return!1}var f=GR(t);if(l.length!==f.length&&KSe(t,f).length!==u)return!1}else{var h=GR(t);if(h.length!==0&&KSe(t,h).length!==0)return!1}}if(a.length===0&&(i===Nj||i===Vj&&e.length===0||e.size===0))return!0;if(n===void 0)n={val1:new Map,val2:new Map,position:0};else{var d=n.val1.get(e);if(d!==void 0){var v=n.val2.get(t);if(v!==void 0)return d===v}n.position++}n.val1.set(e,n.position),n.val2.set(t,n.position);var x=LMt(e,t,r,a,n,i);return n.val1.delete(e),n.val2.delete(t),x}function JSe(e,t,r,n){for(var i=WR(e),a=0;a<i.length;a++){var o=i[a];if($0(t,o,r,n))return e.delete(o),!0}return!1}function iMe(e){switch(J0(e)){case\"undefined\":return null;case\"object\":return;case\"symbol\":return!1;case\"string\":e=+e;case\"number\":if(Bj(e))return!1}return!0}function MMt(e,t,r){var n=iMe(r);return n!=null?n:t.has(n)&&!e.has(n)}function EMt(e,t,r,n,i){var a=iMe(r);if(a!=null)return a;var o=t.get(a);return o===void 0&&!t.has(a)||!$0(n,o,!1,i)?!1:!e.has(a)&&$0(n,o,!1,i)}function kMt(e,t,r,n){for(var i=null,a=WR(e),o=0;o<a.length;o++){var s=a[o];if(J0(s)===\"object\"&&s!==null)i===null&&(i=new Set),i.add(s);else if(!t.has(s)){if(r||!MMt(e,t,s))return!1;i===null&&(i=new Set),i.add(s)}}if(i!==null){for(var l=WR(t),u=0;u<l.length;u++){var c=l[u];if(J0(c)===\"object\"&&c!==null){if(!JSe(i,c,r,n))return!1}else if(!r&&!e.has(c)&&!JSe(i,c,r,n))return!1}return i.size===0}return!0}function $Se(e,t,r,n,i,a){for(var o=WR(e),s=0;s<o.length;s++){var l=o[s];if($0(r,l,i,a)&&$0(n,t.get(l),i,a))return e.delete(l),!0}return!1}function CMt(e,t,r,n){for(var i=null,a=VSe(e),o=0;o<a.length;o++){var s=NSe(a[o],2),l=s[0],u=s[1];if(J0(l)===\"object\"&&l!==null)i===null&&(i=new Set),i.add(l);else{var c=t.get(l);if(c===void 0&&!t.has(l)||!$0(u,c,r,n)){if(r||!EMt(e,t,l,u,n))return!1;i===null&&(i=new Set),i.add(l)}}}if(i!==null){for(var f=VSe(t),h=0;h<f.length;h++){var d=NSe(f[h],2),v=d[0],x=d[1];if(J0(v)===\"object\"&&v!==null){if(!$Se(i,e,v,x,r,n))return!1}else if(!r&&(!e.has(v)||!$0(e.get(v),x,!1,n))&&!$Se(i,e,v,x,!1,n))return!1}return i.size===0}return!0}function LMt(e,t,r,n,i,a){var o=0;if(a===tMe){if(!kMt(e,t,r,i))return!1}else if(a===rMe){if(!CMt(e,t,r,i))return!1}else if(a===Vj)for(;o<e.length;o++)if(fE(e,o)){if(!fE(t,o)||!$0(e[o],t[o],r,i))return!1}else{if(fE(t,o))return!1;for(var s=Object.keys(e);o<s.length;o++){var l=s[o];if(!fE(t,l)||!$0(e[l],t[l],r,i))return!1}return s.length===Object.keys(t).length}for(o=0;o<n.length;o++){var u=n[o];if(!$0(e[u],t[u],r,i))return!1}return!0}function PMt(e,t){return $0(e,t,xMt)}function IMt(e,t){return $0(e,t,_Mt)}nMe.exports={isDeepEqual:PMt,isDeepStrictEqual:IMt}});var tE=ye((Icr,TMe)=>{\"use strict\";function jg(e){\"@babel/helpers - typeof\";return jg=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},jg(e)}function oMe(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,DMt(n.key),n)}}function RMt(e,t,r){return t&&oMe(e.prototype,t),r&&oMe(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function DMt(e){var t=zMt(e,\"string\");return jg(t)===\"symbol\"?t:String(t)}function zMt(e,t){if(jg(e)!==\"object\"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||\"default\");if(jg(n)!==\"object\")return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(t===\"string\"?String:Number)(e)}function FMt(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var qMt=Ej(),hE=qMt.codes,sMe=hE.ERR_AMBIGUOUS_ARGUMENT,v5=hE.ERR_INVALID_ARG_TYPE,OMt=hE.ERR_INVALID_ARG_VALUE,BMt=hE.ERR_INVALID_RETURN_VALUE,U_=hE.ERR_MISSING_ARGS,V_=KAe(),NMt=h5(),ZR=NMt.inspect,fMe=h5().types,UMt=fMe.isPromise,XR=fMe.isRegExp,VMt=ySe()(),hMe=BR()(),YR=i5()(\"RegExp.prototype.test\"),N_,KR;function dE(){var e=aMe();N_=e.isDeepEqual,KR=e.isDeepStrictEqual}var lMe=!1,sf=TMe.exports=Hj,JR={};function Wg(e){throw e.message instanceof Error?e.message:new V_(e)}function dMe(e,t,r,n,i){var a=arguments.length,o;if(a===0)o=\"Failed\";else if(a===1)r=e,e=void 0;else{if(lMe===!1){lMe=!0;var s=process.emitWarning?process.emitWarning:console.warn.bind(console);s(\"assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.\",\"DeprecationWarning\",\"DEP0094\")}a===2&&(n=\"!=\")}if(r instanceof Error)throw r;var l={actual:e,expected:t,operator:n===void 0?\"fail\":n,stackStartFn:i||dMe};r!==void 0&&(l.message=r);var u=new V_(l);throw o&&(u.message=o,u.generatedMessage=!0),u}sf.fail=dMe;sf.AssertionError=V_;function vMe(e,t,r,n){if(!r){var i=!1;if(t===0)i=!0,n=\"No value argument passed to `assert.ok()`\";else if(n instanceof Error)throw n;var a=new V_({actual:r,expected:!0,message:n,operator:\"==\",stackStartFn:e});throw a.generatedMessage=i,a}}function Hj(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];vMe.apply(void 0,[Hj,t.length].concat(t))}sf.ok=Hj;sf.equal=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");t!=r&&Wg({actual:t,expected:r,message:n,operator:\"==\",stackStartFn:e})};sf.notEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");t==r&&Wg({actual:t,expected:r,message:n,operator:\"!=\",stackStartFn:e})};sf.deepEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");N_===void 0&&dE(),N_(t,r)||Wg({actual:t,expected:r,message:n,operator:\"deepEqual\",stackStartFn:e})};sf.notDeepEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");N_===void 0&&dE(),N_(t,r)&&Wg({actual:t,expected:r,message:n,operator:\"notDeepEqual\",stackStartFn:e})};sf.deepStrictEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");N_===void 0&&dE(),KR(t,r)||Wg({actual:t,expected:r,message:n,operator:\"deepStrictEqual\",stackStartFn:e})};sf.notDeepStrictEqual=pMe;function pMe(e,t,r){if(arguments.length<2)throw new U_(\"actual\",\"expected\");N_===void 0&&dE(),KR(e,t)&&Wg({actual:e,expected:t,message:r,operator:\"notDeepStrictEqual\",stackStartFn:pMe})}sf.strictEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");hMe(t,r)||Wg({actual:t,expected:r,message:n,operator:\"strictEqual\",stackStartFn:e})};sf.notStrictEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");hMe(t,r)&&Wg({actual:t,expected:r,message:n,operator:\"notStrictEqual\",stackStartFn:e})};var uMe=RMt(function e(t,r,n){var i=this;FMt(this,e),r.forEach(function(a){a in t&&(n!==void 0&&typeof n[a]==\"string\"&&XR(t[a])&&YR(t[a],n[a])?i[a]=n[a]:i[a]=t[a])})});function HMt(e,t,r,n,i,a){if(!(r in e)||!KR(e[r],t[r])){if(!n){var o=new uMe(e,i),s=new uMe(t,i,e),l=new V_({actual:o,expected:s,operator:\"deepStrictEqual\",stackStartFn:a});throw l.actual=e,l.expected=t,l.operator=a.name,l}Wg({actual:e,expected:t,message:n,operator:a.name,stackStartFn:a})}}function gMe(e,t,r,n){if(typeof t!=\"function\"){if(XR(t))return YR(t,e);if(arguments.length===2)throw new v5(\"expected\",[\"Function\",\"RegExp\"],t);if(jg(e)!==\"object\"||e===null){var i=new V_({actual:e,expected:t,message:r,operator:\"deepStrictEqual\",stackStartFn:n});throw i.operator=n.name,i}var a=Object.keys(t);if(t instanceof Error)a.push(\"name\",\"message\");else if(a.length===0)throw new OMt(\"error\",t,\"may not be an empty object\");return N_===void 0&&dE(),a.forEach(function(o){typeof e[o]==\"string\"&&XR(t[o])&&YR(t[o],e[o])||HMt(e,t,o,r,a,n)}),!0}return t.prototype!==void 0&&e instanceof t?!0:Error.isPrototypeOf(t)?!1:t.call({},e)===!0}function mMe(e){if(typeof e!=\"function\")throw new v5(\"fn\",\"Function\",e);try{e()}catch(t){return t}return JR}function cMe(e){return UMt(e)||e!==null&&jg(e)===\"object\"&&typeof e.then==\"function\"&&typeof e.catch==\"function\"}function yMe(e){return Promise.resolve().then(function(){var t;if(typeof e==\"function\"){if(t=e(),!cMe(t))throw new BMt(\"instance of Promise\",\"promiseFn\",t)}else if(cMe(e))t=e;else throw new v5(\"promiseFn\",[\"Function\",\"Promise\"],e);return Promise.resolve().then(function(){return t}).then(function(){return JR}).catch(function(r){return r})})}function _Me(e,t,r,n){if(typeof r==\"string\"){if(arguments.length===4)throw new v5(\"error\",[\"Object\",\"Error\",\"Function\",\"RegExp\"],r);if(jg(t)===\"object\"&&t!==null){if(t.message===r)throw new sMe(\"error/message\",'The error message \"'.concat(t.message,'\" is identical to the message.'))}else if(t===r)throw new sMe(\"error/message\",'The error \"'.concat(t,'\" is identical to the message.'));n=r,r=void 0}else if(r!=null&&jg(r)!==\"object\"&&typeof r!=\"function\")throw new v5(\"error\",[\"Object\",\"Error\",\"Function\",\"RegExp\"],r);if(t===JR){var i=\"\";r&&r.name&&(i+=\" (\".concat(r.name,\")\")),i+=n?\": \".concat(n):\".\";var a=e.name===\"rejects\"?\"rejection\":\"exception\";Wg({actual:void 0,expected:r,operator:e.name,message:\"Missing expected \".concat(a).concat(i),stackStartFn:e})}if(r&&!gMe(t,r,n,e))throw t}function xMe(e,t,r,n){if(t!==JR){if(typeof r==\"string\"&&(n=r,r=void 0),!r||gMe(t,r)){var i=n?\": \".concat(n):\".\",a=e.name===\"doesNotReject\"?\"rejection\":\"exception\";Wg({actual:t,expected:r,operator:e.name,message:\"Got unwanted \".concat(a).concat(i,`\n", - "`)+'Actual message: \"'.concat(t&&t.message,'\"'),stackStartFn:e})}throw t}}sf.throws=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];_Me.apply(void 0,[e,mMe(t)].concat(n))};sf.rejects=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];return yMe(t).then(function(a){return _Me.apply(void 0,[e,a].concat(n))})};sf.doesNotThrow=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];xMe.apply(void 0,[e,mMe(t)].concat(n))};sf.doesNotReject=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];return yMe(t).then(function(a){return xMe.apply(void 0,[e,a].concat(n))})};sf.ifError=function e(t){if(t!=null){var r=\"ifError got unwanted exception: \";jg(t)===\"object\"&&typeof t.message==\"string\"?t.message.length===0&&t.constructor?r+=t.constructor.name:r+=t.message:r+=ZR(t);var n=new V_({actual:t,expected:null,operator:\"ifError\",message:r,stackStartFn:e}),i=t.stack;if(typeof i==\"string\"){var a=i.split(`\n", - "`);a.shift();for(var o=n.stack.split(`\n", - "`),s=0;s<a.length;s++){var l=o.indexOf(a[s]);if(l!==-1){o=o.slice(0,l);break}}n.stack=\"\".concat(o.join(`\n", - "`),`\n", - "`).concat(a.join(`\n", - "`))}throw n}};function bMe(e,t,r,n,i){if(!XR(t))throw new v5(\"regexp\",\"RegExp\",t);var a=i===\"match\";if(typeof e!=\"string\"||YR(t,e)!==a){if(r instanceof Error)throw r;var o=!r;r=r||(typeof e!=\"string\"?'The \"string\" argument must be of type string. Received type '+\"\".concat(jg(e),\" (\").concat(ZR(e),\")\"):(a?\"The input did not match the regular expression \":\"The input was expected to not match the regular expression \")+\"\".concat(ZR(t),`. Input:\n", - "\n", - "`).concat(ZR(e),`\n", - "`));var s=new V_({actual:e,expected:t,message:r,operator:i,stackStartFn:n});throw s.generatedMessage=o,s}}sf.match=function e(t,r,n){bMe(t,r,n,e,\"match\")};sf.doesNotMatch=function e(t,r,n){bMe(t,r,n,e,\"doesNotMatch\")};function wMe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];vMe.apply(void 0,[wMe,t.length].concat(t))}sf.strict=VMt(wMe,sf,{equal:sf.strictEqual,deepEqual:sf.deepStrictEqual,notEqual:sf.notStrictEqual,notDeepEqual:sf.notDeepStrictEqual});sf.strict.strict=sf.strict});var SMe=ye((Rcr,AMe)=>{var vE=1e3,pE=vE*60,gE=pE*60,mE=gE*24,GMt=mE*365.25;AMe.exports=function(e,t){t=t||{};var r=typeof e;if(r===\"string\"&&e.length>0)return jMt(e);if(r===\"number\"&&isNaN(e)===!1)return t.long?ZMt(e):WMt(e);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(e))};function jMt(e){if(e=String(e),!(e.length>100)){var t=/^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||\"ms\").toLowerCase();switch(n){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return r*GMt;case\"days\":case\"day\":case\"d\":return r*mE;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return r*gE;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return r*pE;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return r*vE;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return r;default:return}}}}function WMt(e){return e>=mE?Math.round(e/mE)+\"d\":e>=gE?Math.round(e/gE)+\"h\":e>=pE?Math.round(e/pE)+\"m\":e>=vE?Math.round(e/vE)+\"s\":e+\"ms\"}function ZMt(e){return $R(e,mE,\"day\")||$R(e,gE,\"hour\")||$R(e,pE,\"minute\")||$R(e,vE,\"second\")||e+\" ms\"}function $R(e,t,r){if(!(e<t))return e<t*1.5?Math.floor(e/t)+\" \"+r:Math.ceil(e/t)+\" \"+r+\"s\"}});var EMe=ye(($u,MMe)=>{$u=MMe.exports=jj.debug=jj.default=jj;$u.coerce=$Mt;$u.disable=KMt;$u.enable=YMt;$u.enabled=JMt;$u.humanize=SMe();$u.names=[];$u.skips=[];$u.formatters={};var Gj;function XMt(e){var t=0,r;for(r in e)t=(t<<5)-t+e.charCodeAt(r),t|=0;return $u.colors[Math.abs(t)%$u.colors.length]}function jj(e){function t(){if(t.enabled){var r=t,n=+new Date,i=n-(Gj||n);r.diff=i,r.prev=Gj,r.curr=n,Gj=n;for(var a=new Array(arguments.length),o=0;o<a.length;o++)a[o]=arguments[o];a[0]=$u.coerce(a[0]),typeof a[0]!=\"string\"&&a.unshift(\"%O\");var s=0;a[0]=a[0].replace(/%([a-zA-Z%])/g,function(u,c){if(u===\"%%\")return u;s++;var f=$u.formatters[c];if(typeof f==\"function\"){var h=a[s];u=f.call(r,h),a.splice(s,1),s--}return u}),$u.formatArgs.call(r,a);var l=t.log||$u.log||console.log.bind(console);l.apply(r,a)}}return t.namespace=e,t.enabled=$u.enabled(e),t.useColors=$u.useColors(),t.color=XMt(e),typeof $u.init==\"function\"&&$u.init(t),t}function YMt(e){$u.save(e),$u.names=[],$u.skips=[];for(var t=(typeof e==\"string\"?e:\"\").split(/[\\s,]+/),r=t.length,n=0;n<r;n++)t[n]&&(e=t[n].replace(/\\*/g,\".*?\"),e[0]===\"-\"?$u.skips.push(new RegExp(\"^\"+e.substr(1)+\"$\")):$u.names.push(new RegExp(\"^\"+e+\"$\")))}function KMt(){$u.enable(\"\")}function JMt(e){var t,r;for(t=0,r=$u.skips.length;t<r;t++)if($u.skips[t].test(e))return!1;for(t=0,r=$u.names.length;t<r;t++)if($u.names[t].test(e))return!0;return!1}function $Mt(e){return e instanceof Error?e.stack||e.message:e}});var LMe=ye((lp,CMe)=>{lp=CMe.exports=EMe();lp.log=t4t;lp.formatArgs=e4t;lp.save=r4t;lp.load=kMe;lp.useColors=QMt;lp.storage=typeof chrome!=\"undefined\"&&typeof chrome.storage!=\"undefined\"?chrome.storage.local:i4t();lp.colors=[\"lightseagreen\",\"forestgreen\",\"goldenrod\",\"dodgerblue\",\"darkorchid\",\"crimson\"];function QMt(){return typeof window!=\"undefined\"&&window.process&&window.process.type===\"renderer\"?!0:typeof document!=\"undefined\"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=\"undefined\"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=\"undefined\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!=\"undefined\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)}lp.formatters.j=function(e){try{return JSON.stringify(e)}catch(t){return\"[UnexpectedJSONParseError]: \"+t.message}};function e4t(e){var t=this.useColors;if(e[0]=(t?\"%c\":\"\")+this.namespace+(t?\" %c\":\" \")+e[0]+(t?\"%c \":\" \")+\"+\"+lp.humanize(this.diff),!!t){var r=\"color: \"+this.color;e.splice(1,0,r,\"color: inherit\");var n=0,i=0;e[0].replace(/%[a-zA-Z%]/g,function(a){a!==\"%%\"&&(n++,a===\"%c\"&&(i=n))}),e.splice(i,0,r)}}function t4t(){return typeof console==\"object\"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function r4t(e){try{e==null?lp.storage.removeItem(\"debug\"):lp.storage.debug=e}catch(t){}}function kMe(){var e;try{e=lp.storage.debug}catch(t){}return!e&&typeof process!=\"undefined\"&&\"env\"in process&&(e=process.env.DEBUG),e}lp.enable(kMe());function i4t(){try{return window.localStorage}catch(e){}}});var OMe=ye((Dcr,qMe)=>{var p5=tE(),H_=LMe()(\"stream-parser\");qMe.exports=a4t;var IMe=-1,QR=0,n4t=1,RMe=2;function a4t(e){var t=e&&typeof e._transform==\"function\",r=e&&typeof e._write==\"function\";if(!t&&!r)throw new Error(\"must pass a Writable or Transform stream in\");H_(\"extending Parser into stream\"),e._bytes=o4t,e._skipBytes=s4t,t&&(e._passthrough=l4t),t?e._transform=c4t:e._write=u4t}function yE(e){H_(\"initializing parser stream\"),e._parserBytesLeft=0,e._parserBuffers=[],e._parserBuffered=0,e._parserState=IMe,e._parserCallback=null,typeof e.push==\"function\"&&(e._parserOutput=e.push.bind(e)),e._parserInit=!0}function o4t(e,t){p5(!this._parserCallback,'there is already a \"callback\" set!'),p5(isFinite(e)&&e>0,'can only buffer a finite number of bytes > 0, got \"'+e+'\"'),this._parserInit||yE(this),H_(\"buffering %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=QR}function s4t(e,t){p5(!this._parserCallback,'there is already a \"callback\" set!'),p5(e>0,'can only skip > 0 bytes, got \"'+e+'\"'),this._parserInit||yE(this),H_(\"skipping %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=n4t}function l4t(e,t){p5(!this._parserCallback,'There is already a \"callback\" set!'),p5(e>0,'can only pass through > 0 bytes, got \"'+e+'\"'),this._parserInit||yE(this),H_(\"passing through %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=RMe}function u4t(e,t,r){this._parserInit||yE(this),H_(\"write(%o bytes)\",e.length),typeof t==\"function\"&&(r=t),zMe(this,e,null,r)}function c4t(e,t,r){this._parserInit||yE(this),H_(\"transform(%o bytes)\",e.length),typeof t!=\"function\"&&(t=this._parserOutput),zMe(this,e,t,r)}function DMe(e,t,r,n){return e._parserBytesLeft<=0?n(new Error(\"got data but not currently parsing anything\")):t.length<=e._parserBytesLeft?function(){return PMe(e,t,r,n)}:function(){var i=t.slice(0,e._parserBytesLeft);return PMe(e,i,r,function(a){if(a)return n(a);if(t.length>i.length)return function(){return DMe(e,t.slice(i.length),r,n)}})}}function PMe(e,t,r,n){if(e._parserBytesLeft-=t.length,H_(\"%o bytes left for stream piece\",e._parserBytesLeft),e._parserState===QR?(e._parserBuffers.push(t),e._parserBuffered+=t.length):e._parserState===RMe&&r(t),e._parserBytesLeft===0){var i=e._parserCallback;if(i&&e._parserState===QR&&e._parserBuffers.length>1&&(t=Buffer.concat(e._parserBuffers,e._parserBuffered)),e._parserState!==QR&&(t=null),e._parserCallback=null,e._parserBuffered=0,e._parserState=IMe,e._parserBuffers.splice(0),i){var a=[];t&&a.push(t),r&&a.push(r);var o=i.length>a.length;o&&a.push(FMe(n));var s=i.apply(e,a);if(!o||n===s)return n}}else return n}var zMe=FMe(DMe);function FMe(e){return function(){for(var t=e.apply(this,arguments);typeof t==\"function\";)t=t();return t}}});var Eu=ye(Gy=>{\"use strict\";var BMe=PAe().Transform,f4t=OMe();function _E(){BMe.call(this,{readableObjectMode:!0})}_E.prototype=Object.create(BMe.prototype);_E.prototype.constructor=_E;f4t(_E.prototype);Gy.ParserStream=_E;Gy.sliceEq=function(e,t,r){for(var n=t,i=0;i<r.length;)if(e[n++]!==r[i++])return!1;return!0};Gy.str2arr=function(e,t){var r=[],n=0;if(t&&t===\"hex\")for(;n<e.length;)r.push(parseInt(e.slice(n,n+2),16)),n+=2;else for(;n<e.length;n++)r.push(e.charCodeAt(n)&255);return r};Gy.readUInt16LE=function(e,t){return e[t]|e[t+1]<<8};Gy.readUInt16BE=function(e,t){return e[t+1]|e[t]<<8};Gy.readUInt32LE=function(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]*16777216};Gy.readUInt32BE=function(e,t){return e[t+3]|e[t+2]<<8|e[t+1]<<16|e[t]*16777216};function eD(e,t,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||\"\",this.name=this.constructor.name,this.message=e,t&&(this.code=t),r&&(this.statusCode=r)}eD.prototype=Object.create(Error.prototype);eD.prototype.constructor=eD;Gy.ProbeError=eD});var NMe=ye((Fcr,tD)=>{\"use strict\";var g5=Eu().readUInt16BE,Zj=Eu().readUInt32BE;function xE(e,t){if(e.length<4+t)return null;var r=Zj(e,t);return e.length<r+t||r<8?null:{boxtype:String.fromCharCode.apply(null,e.slice(t+4,t+8)),data:e.slice(t+8,t+r),end:t+r}}tD.exports.unbox=xE;function h4t(e,t){for(var r=0;;){var n=xE(e,r);if(!n)break;switch(n.boxtype){case\"ispe\":t.sizes.push({width:Zj(n.data,4),height:Zj(n.data,8)});break;case\"irot\":t.transforms.push({type:\"irot\",value:n.data[0]&3});break;case\"imir\":t.transforms.push({type:\"imir\",value:n.data[0]&1});break}r=n.end}}function Wj(e,t,r){for(var n=0,i=0;i<r;i++)n=n*256+(e[t+i]||0);return n}function d4t(e,t){for(var r=e[4]>>4&15,n=e[4]&15,i=e[5]>>4&15,a=g5(e,6),o=8,s=0;s<a;s++){var l=g5(e,o);o+=2;var u=g5(e,o);o+=2;var c=Wj(e,o,i);o+=i;var f=g5(e,o);if(o+=2,u===0&&f===1){var h=Wj(e,o,r),d=Wj(e,o+r,n);t.item_loc[l]={length:d,offset:h+c}}o+=f*(r+n)}}function v4t(e,t){for(var r=g5(e,4),n=6,i=0;i<r;i++){var a=xE(e,n);if(!a)break;if(a.boxtype===\"infe\"){for(var o=g5(a.data,4),s=\"\",l=8;l<a.data.length&&a.data[l];l++)s+=String.fromCharCode(a.data[l]);t.item_inf[s]=o}n=a.end}}function p4t(e,t){for(var r=0;;){var n=xE(e,r);if(!n)break;n.boxtype===\"ipco\"&&h4t(n.data,t),r=n.end}}function g4t(e,t){for(var r=4;;){var n=xE(e,r);if(!n)break;n.boxtype===\"iprp\"&&p4t(n.data,t),n.boxtype===\"iloc\"&&d4t(n.data,t),n.boxtype===\"iinf\"&&v4t(n.data,t),r=n.end}}function m4t(e){var t=e.reduce(function(i,a){return i.width>a.width||i.width===a.width&&i.height>a.height?i:a}),r=e.reduce(function(i,a){return i.height>a.height||i.height===a.height&&i.width>a.width?i:a}),n;return t.width>r.height||t.width===r.height&&t.height>r.width?n=t:n=r,n}tD.exports.readSizeFromMeta=function(e){var t={sizes:[],transforms:[],item_inf:{},item_loc:{}};if(g4t(e,t),!!t.sizes.length){var r=m4t(t.sizes),n=1;t.transforms.forEach(function(a){var o={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},s={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if(a.type===\"imir\"&&(a.value===0?n=s[n]:(n=s[n],n=o[n],n=o[n])),a.type===\"irot\")for(var l=0;l<a.value;l++)n=o[n]});var i=null;return t.item_inf.Exif&&(i=t.item_loc[t.item_inf.Exif]),{width:r.width,height:r.height,orientation:t.transforms.length?n:null,variants:t.sizes,exif_location:i}}};tD.exports.getMimeType=function(e){var t=String.fromCharCode.apply(null,e.slice(0,4)),r={};r[t]=!0;for(var n=8;n<e.length;n+=4)r[String.fromCharCode.apply(null,e.slice(n,n+4))]=!0;if(!(!r.mif1&&!r.msf1&&!r.miaf))return t===\"avif\"||t===\"avis\"||t===\"avio\"?{type:\"avif\",mime:\"image/avif\"}:t===\"heic\"||t===\"heix\"?{type:\"heic\",mime:\"image/heic\"}:t===\"hevc\"||t===\"hevx\"?{type:\"heic\",mime:\"image/heic-sequence\"}:r.avif||r.avis?{type:\"avif\",mime:\"image/avif\"}:r.heic||r.heix||r.hevc||r.hevx||r.heis?r.msf1?{type:\"heif\",mime:\"image/heif-sequence\"}:{type:\"heif\",mime:\"image/heif\"}:{type:\"avif\",mime:\"image/avif\"}}});var iD=ye((qcr,Xj)=>{\"use strict\";function rD(e,t){var r=new Error(e);return r.code=t,r}function y4t(e){try{return decodeURIComponent(escape(e))}catch(t){return e}}function jy(e,t,r){this.input=e.subarray(t,r),this.start=t;var n=String.fromCharCode.apply(null,this.input.subarray(0,4));if(n!==\"II*\\0\"&&n!==\"MM\\0*\")throw rD(\"invalid TIFF signature\",\"EBADDATA\");this.big_endian=n[0]===\"M\"}jy.prototype.each=function(e){this.aborted=!1;var t=this.read_uint32(4);for(this.ifds_to_read=[{id:0,offset:t}];this.ifds_to_read.length>0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,e)}};jy.prototype.read_uint16=function(e){var t=this.input;if(e+2>t.length)throw rD(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?t[e]*256+t[e+1]:t[e]+t[e+1]*256};jy.prototype.read_uint32=function(e){var t=this.input;if(e+4>t.length)throw rD(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?t[e]*16777216+t[e+1]*65536+t[e+2]*256+t[e+3]:t[e]+t[e+1]*256+t[e+2]*65536+t[e+3]*16777216};jy.prototype.is_subifd_link=function(e,t){return e===0&&t===34665||e===0&&t===34853||e===34665&&t===40965};jy.prototype.exif_format_length=function(e){switch(e){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}};jy.prototype.exif_format_read=function(e,t){var r;switch(e){case 1:case 2:return r=this.input[t],r;case 6:return r=this.input[t],r|(r&128)*33554430;case 3:return r=this.read_uint16(t),r;case 8:return r=this.read_uint16(t),r|(r&32768)*131070;case 4:return r=this.read_uint32(t),r;case 9:return r=this.read_uint32(t),r|0;case 5:case 10:case 11:case 12:return null;case 7:return null;default:return null}};jy.prototype.scan_ifd=function(e,t,r){var n=this.read_uint16(t);t+=2;for(var i=0;i<n;i++){var a=this.read_uint16(t),o=this.read_uint16(t+2),s=this.read_uint32(t+4),l=this.exif_format_length(o),u=s*l,c=u<=4?t+8:this.read_uint32(t+8),f=!1;if(c+u>this.input.length)throw rD(\"unexpected EOF\",\"EBADDATA\");for(var h=[],d=c,v=0;v<s;v++,d+=l){var x=this.exif_format_read(o,d);if(x===null){h=null;break}h.push(x)}Array.isArray(h)&&o===2&&(h=y4t(String.fromCharCode.apply(null,h)),h&&h[h.length-1]===\"\\0\"&&(h=h.slice(0,-1))),this.is_subifd_link(e,a)&&Array.isArray(h)&&Number.isInteger(h[0])&&h[0]>0&&(this.ifds_to_read.push({id:a,offset:h[0]}),f=!0);var b={is_big_endian:this.big_endian,ifd:e,tag:a,format:o,count:s,entry_offset:t+this.start,data_length:u,data_offset:c+this.start,value:h,is_subifd_link:f};if(r(b)===!1){this.aborted=!0;return}t+=12}e===0&&this.ifds_to_read.push({id:1,offset:this.read_uint32(t)})};Xj.exports.ExifParser=jy;Xj.exports.get_orientation=function(e){var t=0;try{return new jy(e,0,e.length).each(function(r){if(r.ifd===0&&r.tag===274&&Array.isArray(r.value))return t=r.value[0],!1}),t}catch(r){return-1}}});var VMe=ye((Ocr,UMe)=>{\"use strict\";var _4t=Eu().str2arr,x4t=Eu().sliceEq,b4t=Eu().readUInt32BE,nD=NMe(),w4t=iD(),T4t=_4t(\"ftyp\");UMe.exports=function(e){if(x4t(e,4,T4t)){var t=nD.unbox(e,0);if(t){var r=nD.getMimeType(t.data);if(r){for(var n,i=t.end;;){var a=nD.unbox(e,i);if(!a)break;if(i=a.end,a.boxtype===\"mdat\")return;if(a.boxtype===\"meta\"){n=a.data;break}}if(n){var o=nD.readSizeFromMeta(n);if(o){var s={width:o.width,height:o.height,type:r.type,mime:r.mime,wUnits:\"px\",hUnits:\"px\"};if(o.variants.length>1&&(s.variants=o.variants),o.orientation&&(s.orientation=o.orientation),o.exif_location&&o.exif_location.offset+o.exif_location.length<=e.length){var l=b4t(e,o.exif_location.offset),u=e.slice(o.exif_location.offset+l+4,o.exif_location.offset+o.exif_location.length),c=w4t.get_orientation(u);c>0&&(s.orientation=c)}return s}}}}}}});var jMe=ye((Bcr,GMe)=>{\"use strict\";var A4t=Eu().str2arr,S4t=Eu().sliceEq,HMe=Eu().readUInt16LE,M4t=A4t(\"BM\");GMe.exports=function(e){if(!(e.length<26)&&S4t(e,0,M4t))return{width:HMe(e,18),height:HMe(e,22),type:\"bmp\",mime:\"image/bmp\",wUnits:\"px\",hUnits:\"px\"}}});var KMe=ye((Ncr,YMe)=>{\"use strict\";var XMe=Eu().str2arr,WMe=Eu().sliceEq,ZMe=Eu().readUInt16LE,E4t=XMe(\"GIF87a\"),k4t=XMe(\"GIF89a\");YMe.exports=function(e){if(!(e.length<10)&&!(!WMe(e,0,E4t)&&!WMe(e,0,k4t)))return{width:ZMe(e,6),height:ZMe(e,8),type:\"gif\",mime:\"image/gif\",wUnits:\"px\",hUnits:\"px\"}}});var QMe=ye((Ucr,$Me)=>{\"use strict\";var Yj=Eu().readUInt16LE,C4t=0,L4t=1,JMe=16;$Me.exports=function(e){var t=Yj(e,0),r=Yj(e,2),n=Yj(e,4);if(!(t!==C4t||r!==L4t||!n)){for(var i=[],a={width:0,height:0},o=0;o<n;o++){var s=e[6+JMe*o]||256,l=e[6+JMe*o+1]||256,u={width:s,height:l};i.push(u),(s>a.width||l>a.height)&&(a=u)}return{width:a.width,height:a.height,variants:i,type:\"ico\",mime:\"image/x-icon\",wUnits:\"px\",hUnits:\"px\"}}}});var t4e=ye((Vcr,e4e)=>{\"use strict\";var Kj=Eu().readUInt16BE,P4t=Eu().str2arr,I4t=Eu().sliceEq,R4t=iD(),D4t=P4t(\"Exif\\0\\0\");e4e.exports=function(e){if(!(e.length<2)&&!(e[0]!==255||e[1]!==216||e[2]!==255))for(var t=2;;){for(;;){if(e.length-t<2)return;if(e[t++]===255)break}for(var r=e[t++],n;r===255;)r=e[t++];if(208<=r&&r<=217||r===1)n=0;else if(192<=r&&r<=254){if(e.length-t<2)return;n=Kj(e,t)-2,t+=2}else return;if(r===217||r===218)return;var i;if(r===225&&n>=10&&I4t(e,t,D4t)&&(i=R4t.get_orientation(e.slice(t+6,t+n))),n>=5&&192<=r&&r<=207&&r!==196&&r!==200&&r!==204){if(e.length-t<n)return;var a={width:Kj(e,t+3),height:Kj(e,t+1),type:\"jpg\",mime:\"image/jpeg\",wUnits:\"px\",hUnits:\"px\"};return i>0&&(a.orientation=i),a}t+=n}}});var o4e=ye((Hcr,a4e)=>{\"use strict\";var n4e=Eu().str2arr,r4e=Eu().sliceEq,i4e=Eu().readUInt32BE,z4t=n4e(`\\x89PNG\\r\n", - "\u001a\n", - "`),F4t=n4e(\"IHDR\");a4e.exports=function(e){if(!(e.length<24)&&r4e(e,0,z4t)&&r4e(e,12,F4t))return{width:i4e(e,16),height:i4e(e,20),type:\"png\",mime:\"image/png\",wUnits:\"px\",hUnits:\"px\"}}});var u4e=ye((Gcr,l4e)=>{\"use strict\";var q4t=Eu().str2arr,O4t=Eu().sliceEq,s4e=Eu().readUInt32BE,B4t=q4t(\"8BPS\\0\u0001\");l4e.exports=function(e){if(!(e.length<22)&&O4t(e,0,B4t))return{width:s4e(e,18),height:s4e(e,14),type:\"psd\",mime:\"image/vnd.adobe.photoshop\",wUnits:\"px\",hUnits:\"px\"}}});var h4e=ye((jcr,f4e)=>{\"use strict\";function N4t(e){return e===32||e===9||e===13||e===10}function m5(e){return typeof e==\"number\"&&isFinite(e)&&e>0}function U4t(e){var t=0,r=e.length;for(e[0]===239&&e[1]===187&&e[2]===191&&(t=3);t<r&&N4t(e[t]);)t++;return t===r?!1:e[t]===60}var V4t=/<[-_.:a-zA-Z0-9][^>]*>/,H4t=/^<([-_.:a-zA-Z0-9]+:)?svg\\s/,G4t=/[^-]\\bwidth=\"([^%]+?)\"|[^-]\\bwidth='([^%]+?)'/,j4t=/\\bheight=\"([^%]+?)\"|\\bheight='([^%]+?)'/,W4t=/\\bview[bB]ox=\"(.+?)\"|\\bview[bB]ox='(.+?)'/,c4e=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function Z4t(e){var t=e.match(G4t),r=e.match(j4t),n=e.match(W4t);return{width:t&&(t[1]||t[2]),height:r&&(r[1]||r[2]),viewbox:n&&(n[1]||n[2])}}function Nm(e){return c4e.test(e)?e.match(c4e)[0]:\"px\"}f4e.exports=function(e){if(U4t(e)){for(var t=\"\",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);var n=(t.match(V4t)||[\"\"])[0];if(H4t.test(n)){var i=Z4t(n),a=parseFloat(i.width),o=parseFloat(i.height);if(i.width&&i.height)return!m5(a)||!m5(o)?void 0:{width:a,height:o,type:\"svg\",mime:\"image/svg+xml\",wUnits:Nm(i.width),hUnits:Nm(i.height)};var s=(i.viewbox||\"\").split(\" \"),l={width:s[2],height:s[3]},u=parseFloat(l.width),c=parseFloat(l.height);if(!(!m5(u)||!m5(c))&&Nm(l.width)===Nm(l.height)){var f=u/c;return i.width?m5(a)?{width:a,height:a/f,type:\"svg\",mime:\"image/svg+xml\",wUnits:Nm(i.width),hUnits:Nm(i.width)}:void 0:i.height?m5(o)?{width:o*f,height:o,type:\"svg\",mime:\"image/svg+xml\",wUnits:Nm(i.height),hUnits:Nm(i.height)}:void 0:{width:u,height:c,type:\"svg\",mime:\"image/svg+xml\",wUnits:Nm(l.width),hUnits:Nm(l.height)}}}}}});var m4e=ye((Wcr,g4e)=>{\"use strict\";var p4e=Eu().str2arr,d4e=Eu().sliceEq,X4t=Eu().readUInt16LE,Y4t=Eu().readUInt16BE,K4t=Eu().readUInt32LE,J4t=Eu().readUInt32BE,$4t=p4e(\"II*\\0\"),Q4t=p4e(\"MM\\0*\");function aD(e,t,r){return r?Y4t(e,t):X4t(e,t)}function Jj(e,t,r){return r?J4t(e,t):K4t(e,t)}function v4e(e,t,r){var n=aD(e,t+2,r),i=Jj(e,t+4,r);return i!==1||n!==3&&n!==4?null:n===3?aD(e,t+8,r):Jj(e,t+8,r)}g4e.exports=function(e){if(!(e.length<8)&&!(!d4e(e,0,$4t)&&!d4e(e,0,Q4t))){var t=e[0]===77,r=Jj(e,4,t)-8;if(!(r<0)){var n=r+8;if(!(e.length-n<2)){var i=aD(e,n+0,t)*12;if(!(i<=0)&&(n+=2,!(e.length-n<i))){var a,o,s,l;for(a=0;a<i;a+=12)l=aD(e,n+a,t),l===256?o=v4e(e,n+a,t):l===257&&(s=v4e(e,n+a,t));if(o&&s)return{width:o,height:s,type:\"tiff\",mime:\"image/tiff\",wUnits:\"px\",hUnits:\"px\"}}}}}}});var w4e=ye((Zcr,b4e)=>{\"use strict\";var x4e=Eu().str2arr,y4e=Eu().sliceEq,_4e=Eu().readUInt16LE,$j=Eu().readUInt32LE,eEt=iD(),tEt=x4e(\"RIFF\"),rEt=x4e(\"WEBP\");function iEt(e,t){if(!(e[t+3]!==157||e[t+4]!==1||e[t+5]!==42))return{width:_4e(e,t+6)&16383,height:_4e(e,t+8)&16383,type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}function nEt(e,t){if(e[t]===47){var r=$j(e,t+1);return{width:(r&16383)+1,height:(r>>14&16383)+1,type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}}function aEt(e,t){return{width:(e[t+6]<<16|e[t+5]<<8|e[t+4])+1,height:(e[t+9]<<t|e[t+8]<<8|e[t+7])+1,type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}b4e.exports=function(e){if(!(e.length<16)&&!(!y4e(e,0,tEt)&&!y4e(e,8,rEt))){var t=12,r=null,n=0,i=$j(e,4)+8;if(!(i>e.length)){for(;t+8<i;){if(e[t]===0){t++;continue}var a=String.fromCharCode.apply(null,e.slice(t,t+4)),o=$j(e,t+4);a===\"VP8 \"&&o>=10?r=r||iEt(e,t+8):a===\"VP8L\"&&o>=9?r=r||nEt(e,t+8):a===\"VP8X\"&&o>=10?r=r||aEt(e,t+8):a===\"EXIF\"&&(n=eEt.get_orientation(e.slice(t+8,t+8+o)),t=1/0),t+=8+o}if(r)return n>0&&(r.orientation=n),r}}}});var A4e=ye((Xcr,T4e)=>{\"use strict\";T4e.exports={avif:VMe(),bmp:jMe(),gif:KMe(),ico:QMe(),jpeg:t4e(),png:o4e(),psd:u4e(),svg:h4e(),tiff:m4e(),webp:w4e()}});var S4e=ye((Ycr,eW)=>{\"use strict\";var Qj=A4e();function oEt(e){for(var t=Object.keys(Qj),r=0;r<t.length;r++){var n=Qj[t[r]](e);if(n)return n}return null}eW.exports=function(t){return oEt(t)};eW.exports.parsers=Qj});var E4e=ye(M4e=>{\"use strict\";var sEt=S4e(),lEt=Ly().IMAGE_URL_PREFIX,uEt=u2().Buffer;M4e.getImageSize=function(e){var t=e.replace(lEt,\"\"),r=new uEt(t,\"base64\");return sEt(r)}});var L4e=ye((Jcr,C4e)=>{\"use strict\";var k4e=Mr(),cEt=jT(),fEt=uo(),oD=Qa(),hEt=Mr().maxRowLength,dEt=E4e().getImageSize;C4e.exports=function(t,r){var n,i;if(r._hasZ)n=r.z.length,i=hEt(r.z);else if(r._hasSource){var a=dEt(r.source);n=a.height,i=a.width}var o=oD.getFromId(t,r.xaxis||\"x\"),s=oD.getFromId(t,r.yaxis||\"y\"),l=o.d2c(r.x0)-r.dx/2,u=s.d2c(r.y0)-r.dy/2,c,f=[l,l+i*r.dx],h=[u,u+n*r.dy];if(o&&o.type===\"log\")for(c=0;c<i;c++)f.push(l+c*r.dx);if(s&&s.type===\"log\")for(c=0;c<n;c++)h.push(u+c*r.dy);r._extremes[o._id]=oD.findExtremes(o,f),r._extremes[s._id]=oD.findExtremes(s,h),r._scaler=gEt(r);var d={x0:l,y0:u,z:r.z,w:i,h:n};return[d]};function vEt(e,t,r,n){return function(i){return k4e.constrain((i-e)*t,r,n)}}function pEt(e,t){return function(r){return k4e.constrain(r,e,t)}}function gEt(e){var t=cEt.colormodel[e.colormodel],r=t.colormodel||e.colormodel,n=r.length;e._sArray=[];for(var i=0;i<n;i++)t.min[i]!==e.zmin[i]||t.max[i]!==e.zmax[i]?e._sArray.push(vEt(e.zmin[i],(t.max[i]-t.min[i])/(e.zmax[i]-e.zmin[i]),t.min[i],t.max[i])):e._sArray.push(pEt(t.min[i],t.max[i]));return function(a){for(var o=a.slice(0,n),s=0;s<n;s++){var l=o[s];if(!fEt(l))return!1;o[s]=e._sArray[s](l)}return o}}});var R4e=ye(($cr,I4e)=>{\"use strict\";var mEt=xa(),T2=Mr(),P4e=T2.strTranslate,yEt=Zp(),_Et=jT(),xEt=jV(),bEt=o8().STYLE;I4e.exports=function(t,r,n,i){var a=r.xaxis,o=r.yaxis,s=!t._context._exportedPlot&&xEt();T2.makeTraceGroups(i,n,\"im\").each(function(l){var u=mEt.select(this),c=l[0],f=c.trace,h=(f.zsmooth===\"fast\"||f.zsmooth===!1&&s)&&!f._hasZ&&f._hasSource&&a.type===\"linear\"&&o.type===\"linear\";f._realImage=h;var d=c.z,v=c.x0,x=c.y0,b=c.w,p=c.h,E=f.dx,k=f.dy,A,L,_,C,M,g;for(g=0;A===void 0&&g<b;)A=a.c2p(v+g*E),g++;for(g=b;L===void 0&&g>0;)L=a.c2p(v+g*E),g--;for(g=0;C===void 0&&g<p;)C=o.c2p(x+g*k),g++;for(g=p;M===void 0&&g>0;)M=o.c2p(x+g*k),g--;if(L<A&&(_=L,L=A,A=_),M<C&&(_=C,C=M,M=_),!h){var P=.5;A=Math.max(-P*a._length,A),L=Math.min((1+P)*a._length,L),C=Math.max(-P*o._length,C),M=Math.min((1+P)*o._length,M)}var T=Math.round(L-A),F=Math.round(M-C),q=T<=0||F<=0;if(q){var V=u.selectAll(\"image\").data([]);V.exit().remove();return}function H(ge){var ie=document.createElement(\"canvas\");ie.width=T,ie.height=F;var Te=ie.getContext(\"2d\",{willReadFrequently:!0}),Ee=function(rt){return T2.constrain(Math.round(a.c2p(v+rt*E)-A),0,T)},Ae=function(rt){return T2.constrain(Math.round(o.c2p(x+rt*k)-C),0,F)},ze=_Et.colormodel[f.colormodel],Ce=ze.colormodel||f.colormodel,me=ze.fmt,Re;for(g=0;g<c.w;g++){var ce=Ee(g),Ge=Ee(g+1);if(!(Ge===ce||isNaN(Ge)||isNaN(ce)))for(var nt=0;nt<c.h;nt++){var ct=Ae(nt),qt=Ae(nt+1);qt===ct||isNaN(qt)||isNaN(ct)||!ge(g,nt)||(Re=f._scaler(ge(g,nt)),Re?Te.fillStyle=Ce+\"(\"+me(Re).join(\",\")+\")\":Te.fillStyle=\"rgba(0,0,0,0)\",Te.fillRect(ce,ct,Ge-ce,qt-ct))}}return ie}var X=u.selectAll(\"image\").data([l]);X.enter().append(\"svg:image\").attr({xmlns:yEt.svg,preserveAspectRatio:\"none\"}),X.exit().remove();var G=f.zsmooth===!1?bEt:\"\";if(h){var N=T2.simpleMap(a.range,a.r2l),W=T2.simpleMap(o.range,o.r2l),re=N[1]<N[0],ae=W[1]>W[0];if(re||ae){var _e=A+T/2,Me=C+F/2;G+=\"transform:\"+P4e(_e+\"px\",Me+\"px\")+\"scale(\"+(re?-1:1)+\",\"+(ae?-1:1)+\")\"+P4e(-_e+\"px\",-Me+\"px\")+\";\"}}X.attr(\"style\",G);var ke=new Promise(function(ge){if(f._hasZ)ge();else if(f._hasSource)if(f._canvas&&f._canvas.el.width===b&&f._canvas.el.height===p&&f._canvas.source===f.source)ge();else{var ie=document.createElement(\"canvas\");ie.width=b,ie.height=p;var Te=ie.getContext(\"2d\",{willReadFrequently:!0});f._image=f._image||new Image;var Ee=f._image;Ee.onload=function(){Te.drawImage(Ee,0,0),f._canvas={el:ie,source:f.source},ge()},Ee.setAttribute(\"src\",f.source)}}).then(function(){var ge,ie;if(f._hasZ)ie=H(function(Ae,ze){var Ce=d[ze][Ae];return T2.isTypedArray(Ce)&&(Ce=Array.from(Ce)),Ce}),ge=ie.toDataURL(\"image/png\");else if(f._hasSource)if(h)ge=f.source;else{var Te=f._canvas.el.getContext(\"2d\",{willReadFrequently:!0}),Ee=Te.getImageData(0,0,b,p).data;ie=H(function(Ae,ze){var Ce=4*(ze*b+Ae);return[Ee[Ce],Ee[Ce+1],Ee[Ce+2],Ee[Ce+3]]}),ge=ie.toDataURL(\"image/png\")}X.attr({\"xlink:href\":ge,height:F,width:T,x:A,y:C})});t._promises.push(ke)})}});var z4e=ye((Qcr,D4e)=>{\"use strict\";var wEt=xa();D4e.exports=function(t){wEt.select(t).selectAll(\".im image\").style(\"opacity\",function(r){return r[0].trace.opacity})}});var B4e=ye((efr,O4e)=>{\"use strict\";var F4e=Nc(),q4e=Mr(),sD=q4e.isArrayOrTypedArray,TEt=jT();O4e.exports=function(t,r,n){var i=t.cd[0],a=i.trace,o=t.xa,s=t.ya;if(!(F4e.inbox(r-i.x0,r-(i.x0+i.w*a.dx),0)>0||F4e.inbox(n-i.y0,n-(i.y0+i.h*a.dy),0)>0)){var l=Math.floor((r-i.x0)/a.dx),u=Math.floor(Math.abs(n-i.y0)/a.dy),c;if(a._hasZ?c=i.z[u][l]:a._hasSource&&(c=a._canvas.el.getContext(\"2d\",{willReadFrequently:!0}).getImageData(l,u,1,1).data),!!c){var f=i.hi||a.hoverinfo,h;if(f){var d=f.split(\"+\");d.indexOf(\"all\")!==-1&&(d=[\"color\"]),d.indexOf(\"color\")!==-1&&(h=!0)}var v=TEt.colormodel[a.colormodel],x=v.colormodel||a.colormodel,b=x.length,p=a._scaler(c),E=v.suffix,k=[];(a.hovertemplate||h)&&(k.push(\"[\"+[p[0]+E[0],p[1]+E[1],p[2]+E[2]].join(\", \")),b===4&&k.push(\", \"+p[3]+E[3]),k.push(\"]\"),k=k.join(\"\"),t.extraText=x.toUpperCase()+\": \"+k);var A;sD(a.hovertext)&&sD(a.hovertext[u])?A=a.hovertext[u][l]:sD(a.text)&&sD(a.text[u])&&(A=a.text[u][l]);var L=s.c2p(i.y0+(u+.5)*a.dy),_=i.x0+(l+.5)*a.dx,C=i.y0+(u+.5)*a.dy,M=\"[\"+c.slice(0,a.colormodel.length).join(\", \")+\"]\";return[q4e.extendFlat(t,{index:[u,l],x0:o.c2p(i.x0+l*a.dx),x1:o.c2p(i.x0+(l+1)*a.dx),y0:L,y1:L,color:p,xVal:_,xLabelVal:_,yVal:C,yLabelVal:C,zLabelVal:M,text:A,hovertemplateLabels:{zLabel:M,colorLabel:k,\"color[0]Label\":p[0]+E[0],\"color[1]Label\":p[1]+E[1],\"color[2]Label\":p[2]+E[2],\"color[3]Label\":p[3]+E[3]}})]}}}});var U4e=ye((tfr,N4e)=>{\"use strict\";N4e.exports=function(t,r){return\"xVal\"in r&&(t.x=r.xVal),\"yVal\"in r&&(t.y=r.yVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t.color=r.color,t.colormodel=r.trace.colormodel,t.z||(t.z=r.color),t}});var H4e=ye((rfr,V4e)=>{\"use strict\";V4e.exports={attributes:tG(),supplyDefaults:T3e(),calc:L4e(),plot:R4e(),style:z4e(),hoverPoints:B4e(),eventData:U4e(),moduleType:\"trace\",name:\"image\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"noSortingByValue\"],animatable:!1,meta:{}}});var j4e=ye((ifr,G4e)=>{\"use strict\";G4e.exports=H4e()});var A2=ye((nfr,W4e)=>{\"use strict\";var AEt=vl(),SEt=Ju().attributes,MEt=Su(),EEt=dh(),kEt=Wo().hovertemplateAttrs,CEt=Wo().texttemplateAttrs,bE=no().extendFlat,LEt=Ed().pattern,lD=MEt({editType:\"plot\",arrayOk:!0,colorEditType:\"plot\"});W4e.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:EEt.defaultLine,arrayOk:!0,editType:\"style\"},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"style\"},editType:\"calc\"},pattern:LEt,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:bE({},AEt.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:kEt({},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),texttemplate:CEt({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"plot\"},textfont:bE({},lD,{}),insidetextorientation:{valType:\"enumerated\",values:[\"horizontal\",\"radial\",\"tangential\",\"auto\"],dflt:\"auto\",editType:\"plot\"},insidetextfont:bE({},lD,{}),outsidetextfont:bE({},lD,{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"plot\"},font:bE({},lD,{}),position:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle center\",\"bottom left\",\"bottom center\",\"bottom right\"],editType:\"plot\"},editType:\"plot\"},domain:SEt({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\"}}});var S2=ye((afr,Y4e)=>{\"use strict\";var PEt=uo(),wE=Mr(),IEt=A2(),REt=Ju().defaults,DEt=r0().handleText,zEt=Mr().coercePattern;function Z4e(e,t){var r=wE.isArrayOrTypedArray(e),n=wE.isArrayOrTypedArray(t),i=Math.min(r?e.length:1/0,n?t.length:1/0);if(isFinite(i)||(i=0),i&&n){for(var a,o=0;o<i;o++){var s=t[o];if(PEt(s)&&s>0){a=!0;break}}a||(i=0)}return{hasLabels:r,hasValues:n,len:i}}function X4e(e,t,r,n,i){var a=n(\"marker.line.width\");a&&n(\"marker.line.color\",i?void 0:r.paper_bgcolor);var o=n(\"marker.colors\");zEt(n,\"marker.pattern\",o),e.marker&&!t.marker.pattern.fgcolor&&(t.marker.pattern.fgcolor=e.marker.colors),t.marker.pattern.bgcolor||(t.marker.pattern.bgcolor=r.paper_bgcolor)}function FEt(e,t,r,n){function i(E,k){return wE.coerce(e,t,IEt,E,k)}var a=i(\"labels\"),o=i(\"values\"),s=Z4e(a,o),l=s.len;if(t._hasLabels=s.hasLabels,t._hasValues=s.hasValues,!t._hasLabels&&t._hasValues&&(i(\"label0\"),i(\"dlabel\")),!l){t.visible=!1;return}t._length=l,X4e(e,t,n,i,!0),i(\"scalegroup\");var u=i(\"text\"),c=i(\"texttemplate\"),f;if(c||(f=i(\"textinfo\",wE.isArrayOrTypedArray(u)?\"text+percent\":\"percent\")),i(\"hovertext\"),i(\"hovertemplate\"),c||f&&f!==\"none\"){var h=i(\"textposition\");DEt(e,t,n,i,h,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1});var d=Array.isArray(h)||h===\"auto\",v=d||h===\"outside\";v&&i(\"automargin\"),(h===\"inside\"||h===\"auto\"||Array.isArray(h))&&i(\"insidetextorientation\")}else f===\"none\"&&i(\"textposition\",\"none\");REt(t,n,i);var x=i(\"hole\"),b=i(\"title.text\");if(b){var p=i(\"title.position\",x?\"middle center\":\"top center\");!x&&p===\"middle center\"&&(t.title.position=\"top center\"),wE.coerceFont(i,\"title.font\",n.font)}i(\"sort\"),i(\"direction\"),i(\"rotation\"),i(\"pull\")}Y4e.exports={handleLabelsAndValues:Z4e,handleMarkerDefaults:X4e,supplyDefaults:FEt}});var uD=ye((ofr,K4e)=>{\"use strict\";K4e.exports={hiddenlabels:{valType:\"data_array\",editType:\"calc\"},piecolorway:{valType:\"colorlist\",editType:\"calc\"},extendpiecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var $4e=ye((sfr,J4e)=>{\"use strict\";var qEt=Mr(),OEt=uD();J4e.exports=function(t,r){function n(i,a){return qEt.coerce(t,r,OEt,i,a)}n(\"hiddenlabels\"),n(\"piecolorway\",r.colorway),n(\"extendpiecolors\")}});var y5=ye((lfr,tEe)=>{\"use strict\";var BEt=uo(),tW=id(),NEt=va(),UEt={};function VEt(e,t){var r=[],n=e._fullLayout,i=n.hiddenlabels||[],a=t.labels,o=t.marker.colors||[],s=t.values,l=t._length,u=t._hasValues&&l,c,f;if(t.dlabel)for(a=new Array(l),c=0;c<l;c++)a[c]=String(t.label0+c*t.dlabel);var h={},d=Q4e(n[\"_\"+t.type+\"colormap\"]),v=0,x=!1;for(c=0;c<l;c++){var b,p,E;if(u){if(b=s[c],!BEt(b))continue;b=+b}else b=1;p=a[c],(p===void 0||p===\"\")&&(p=c),p=String(p);var k=h[p];k===void 0?(h[p]=r.length,E=i.indexOf(p)!==-1,E||(v+=b),r.push({v:b,label:p,color:d(o[c],p),i:c,pts:[c],hidden:E})):(x=!0,f=r[k],f.v+=b,f.pts.push(c),f.hidden||(v+=b),f.color===!1&&o[c]&&(f.color=d(o[c],p)))}r=r.filter(function(L){return L.v>=0});var A=t.type===\"funnelarea\"?x:t.sort;return A&&r.sort(function(L,_){return _.v-L.v}),r[0]&&(r[0].vTotal=v),r}function Q4e(e){return function(r,n){return!r||(r=tW(r),!r.isValid())?!1:(r=NEt.addOpacity(r,r.getAlpha()),e[n]||(e[n]=r),r)}}function HEt(e,t){var r=(t||{}).type;r||(r=\"pie\");var n=e._fullLayout,i=e.calcdata,a=n[r+\"colorway\"],o=n[\"_\"+r+\"colormap\"];n[\"extend\"+r+\"colors\"]&&(a=eEe(a,UEt));for(var s=0,l=0;l<i.length;l++){var u=i[l],c=u[0].trace.type;if(c===r)for(var f=0;f<u.length;f++){var h=u[f];h.color===!1&&(o[h.label]?h.color=o[h.label]:(o[h.label]=h.color=a[s%a.length],s++))}}}function eEe(e,t){var r,n=JSON.stringify(e),i=t[n];if(!i){for(i=e.slice(),r=0;r<e.length;r++)i.push(tW(e[r]).lighten(20).toHexString());for(r=0;r<e.length;r++)i.push(tW(e[r]).darken(20).toHexString());t[n]=i}return i}tEe.exports={calc:VEt,crossTraceCalc:HEt,makePullColorFn:Q4e,generateExtendedColors:eEe}});var iEe=ye((ufr,rEe)=>{\"use strict\";var GEt=rp().appendArrayMultiPointValues;rEe.exports=function(t,r){var n={curveNumber:r.index,pointNumbers:t.pts,data:r._input,fullData:r,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return t.pts.length===1&&(n.pointNumber=n.i=t.pts[0]),GEt(n,r,t.pts),r.type===\"funnelarea\"&&(delete n.v,delete n.i),n}});var dD=ye((cfr,AEe)=>{\"use strict\";var zp=xa(),jEt=Xu(),cD=Nc(),uEe=va(),Wy=ao(),ev=Mr(),WEt=ev.strScale,nEe=ev.strTranslate,rW=Pl(),cEe=_v(),ZEt=cEe.recordMinTextSize,XEt=cEe.clearMinTextSize,fEe=Qb().TEXTPAD,Zo=u_(),fD=iEe(),aEe=Mr().isValidTextValue;function YEt(e,t){var r=e._context.staticPlot,n=e._fullLayout,i=n._size;XEt(\"pie\",n),vEe(t,e),bEe(t,i);var a=ev.makeTraceGroups(n._pielayer,t,\"trace\").each(function(o){var s=zp.select(this),l=o[0],u=l.trace;nkt(o),s.attr(\"stroke-linejoin\",\"round\"),s.each(function(){var c=zp.select(this).selectAll(\"g.slice\").data(o);c.enter().append(\"g\").classed(\"slice\",!0),c.exit().remove();var f=[[[],[]],[[],[]]],h=!1;c.each(function(A,L){if(A.hidden){zp.select(this).selectAll(\"path,g\").remove();return}A.pointNumber=A.i,A.curveNumber=u.index,f[A.pxmid[1]<0?0:1][A.pxmid[0]<0?0:1].push(A);var _=l.cx,C=l.cy,M=zp.select(this),g=M.selectAll(\"path.surface\").data([A]);if(g.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":r?\"none\":\"all\"}),M.call(hEe,e,o),u.pull){var P=+Zo.castOption(u.pull,A.pts)||0;P>0&&(_+=P*A.pxmid[0],C+=P*A.pxmid[1])}A.cxFinal=_,A.cyFinal=C;function T(N,W,re,ae){var _e=ae*(W[0]-N[0]),Me=ae*(W[1]-N[1]);return\"a\"+ae*l.r+\",\"+ae*l.r+\" 0 \"+A.largeArc+(re?\" 1 \":\" 0 \")+_e+\",\"+Me}var F=u.hole;if(A.v===l.vTotal){var q=\"M\"+(_+A.px0[0])+\",\"+(C+A.px0[1])+T(A.px0,A.pxmid,!0,1)+T(A.pxmid,A.px0,!0,1)+\"Z\";F?g.attr(\"d\",\"M\"+(_+F*A.px0[0])+\",\"+(C+F*A.px0[1])+T(A.px0,A.pxmid,!1,F)+T(A.pxmid,A.px0,!1,F)+\"Z\"+q):g.attr(\"d\",q)}else{var V=T(A.px0,A.px1,!0,1);if(F){var H=1-F;g.attr(\"d\",\"M\"+(_+F*A.px1[0])+\",\"+(C+F*A.px1[1])+T(A.px1,A.px0,!1,F)+\"l\"+H*A.px0[0]+\",\"+H*A.px0[1]+V+\"Z\")}else g.attr(\"d\",\"M\"+_+\",\"+C+\"l\"+A.px0[0]+\",\"+A.px0[1]+V+\"Z\")}wEe(e,A,l);var X=Zo.castOption(u.textposition,A.pts),G=M.selectAll(\"g.slicetext\").data(A.text&&X!==\"none\"?[0]:[]);G.enter().append(\"g\").classed(\"slicetext\",!0),G.exit().remove(),G.each(function(){var N=ev.ensureSingle(zp.select(this),\"text\",\"\",function(ie){ie.attr(\"data-notex\",1)}),W=ev.ensureUniformFontSize(e,X===\"outside\"?JEt(u,A,n.font):dEe(u,A,n.font));N.text(A.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(Wy.font,W).call(rW.convertToTspans,e);var re=Wy.bBox(N.node()),ae;if(X===\"outside\")ae=lEe(re,A);else if(ae=pEe(re,A,l),X===\"auto\"&&ae.scale<1){var _e=ev.ensureUniformFontSize(e,u.outsidetextfont);N.call(Wy.font,_e),re=Wy.bBox(N.node()),ae=lEe(re,A)}var Me=ae.textPosAngle,ke=Me===void 0?A.pxmid:hD(l.r,Me);if(ae.targetX=_+ke[0]*ae.rCenter+(ae.x||0),ae.targetY=C+ke[1]*ae.rCenter+(ae.y||0),TEe(ae,re),ae.outside){var ge=ae.targetY;A.yLabelMin=ge-re.height/2,A.yLabelMid=ge,A.yLabelMax=ge+re.height/2,A.labelExtraX=0,A.labelExtraY=0,h=!0}ae.fontSize=W.size,ZEt(u.type,ae,n),o[L].transform=ae,ev.setTransormAndDisplay(N,ae)})});var d=zp.select(this).selectAll(\"g.titletext\").data(u.title.text?[0]:[]);if(d.enter().append(\"g\").classed(\"titletext\",!0),d.exit().remove(),d.each(function(){var A=ev.ensureSingle(zp.select(this),\"text\",\"\",function(C){C.attr(\"data-notex\",1)}),L=u.title.text;u._meta&&(L=ev.templateString(L,u._meta)),A.text(L).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(Wy.font,u.title.font).call(rW.convertToTspans,e);var _;u.title.position===\"middle center\"?_=ekt(l):_=_Ee(l,i),A.attr(\"transform\",nEe(_.x,_.y)+WEt(Math.min(1,_.scale))+nEe(_.tx,_.ty))}),h&&rkt(f,u),KEt(c,u),h&&u.automargin){var v=Wy.bBox(s.node()),x=u.domain,b=i.w*(x.x[1]-x.x[0]),p=i.h*(x.y[1]-x.y[0]),E=(.5*b-l.r)/i.w,k=(.5*p-l.r)/i.h;jEt.autoMargin(e,\"pie.\"+u.uid+\".automargin\",{xl:x.x[0]-E,xr:x.x[1]+E,yb:x.y[0]-k,yt:x.y[1]+k,l:Math.max(l.cx-l.r-v.left,0),r:Math.max(v.right-(l.cx+l.r),0),b:Math.max(v.bottom-(l.cy+l.r),0),t:Math.max(l.cy-l.r-v.top,0),pad:5})}})});setTimeout(function(){a.selectAll(\"tspan\").each(function(){var o=zp.select(this);o.attr(\"dy\")&&o.attr(\"dy\",o.attr(\"dy\"))})},0)}function KEt(e,t){e.each(function(r){var n=zp.select(this);if(!r.labelExtraX&&!r.labelExtraY){n.select(\"path.textline\").remove();return}var i=n.select(\"g.slicetext text\");r.transform.targetX+=r.labelExtraX,r.transform.targetY+=r.labelExtraY,ev.setTransormAndDisplay(i,r.transform);var a=r.cxFinal+r.pxmid[0],o=r.cyFinal+r.pxmid[1],s=\"M\"+a+\",\"+o,l=(r.yLabelMax-r.yLabelMin)*(r.pxmid[0]<0?-1:1)/4;if(r.labelExtraX){var u=r.labelExtraX*r.pxmid[1]/r.pxmid[0],c=r.yLabelMid+r.labelExtraY-(r.cyFinal+r.pxmid[1]);Math.abs(u)>Math.abs(c)?s+=\"l\"+c*r.pxmid[0]/r.pxmid[1]+\",\"+c+\"H\"+(a+r.labelExtraX+l):s+=\"l\"+r.labelExtraX+\",\"+u+\"v\"+(c-u)+\"h\"+l}else s+=\"V\"+(r.yLabelMid+r.labelExtraY)+\"h\"+l;ev.ensureSingle(n,\"path\",\"textline\").call(uEe.stroke,t.outsidetextfont.color).attr({\"stroke-width\":Math.min(2,t.outsidetextfont.size/8),d:s,fill:\"none\"})})}function hEe(e,t,r){var n=r[0],i=n.cx,a=n.cy,o=n.trace,s=o.type===\"funnelarea\";\"_hasHoverLabel\"in o||(o._hasHoverLabel=!1),\"_hasHoverEvent\"in o||(o._hasHoverEvent=!1),e.on(\"mouseover\",function(l){var u=t._fullLayout,c=t._fullData[o.index];if(!(t._dragging||u.hovermode===!1)){var f=c.hoverinfo;if(Array.isArray(f)&&(f=cD.castHoverinfo({hoverinfo:[Zo.castOption(f,l.pts)],_module:o._module},u,0)),f===\"all\"&&(f=\"label+text+value+percent+name\"),c.hovertemplate||f!==\"none\"&&f!==\"skip\"&&f){var h=l.rInscribed||0,d=i+l.pxmid[0]*(1-h),v=a+l.pxmid[1]*(1-h),x=u.separators,b=[];if(f&&f.indexOf(\"label\")!==-1&&b.push(l.label),l.text=Zo.castOption(c.hovertext||c.text,l.pts),f&&f.indexOf(\"text\")!==-1){var p=l.text;ev.isValidTextValue(p)&&b.push(p)}l.value=l.v,l.valueLabel=Zo.formatPieValue(l.v,x),f&&f.indexOf(\"value\")!==-1&&b.push(l.valueLabel),l.percent=l.v/n.vTotal,l.percentLabel=Zo.formatPiePercent(l.percent,x),f&&f.indexOf(\"percent\")!==-1&&b.push(l.percentLabel);var E=c.hoverlabel,k=E.font,A=[];cD.loneHover({trace:o,x0:d-h*n.r,x1:d+h*n.r,y:v,_x0:s?i+l.TL[0]:d-h*n.r,_x1:s?i+l.TR[0]:d+h*n.r,_y0:s?a+l.TL[1]:v-h*n.r,_y1:s?a+l.BL[1]:v+h*n.r,text:b.join(\"<br>\"),name:c.hovertemplate||f.indexOf(\"name\")!==-1?c.name:void 0,idealAlign:l.pxmid[0]<0?\"left\":\"right\",color:Zo.castOption(E.bgcolor,l.pts)||l.color,borderColor:Zo.castOption(E.bordercolor,l.pts),fontFamily:Zo.castOption(k.family,l.pts),fontSize:Zo.castOption(k.size,l.pts),fontColor:Zo.castOption(k.color,l.pts),nameLength:Zo.castOption(E.namelength,l.pts),textAlign:Zo.castOption(E.align,l.pts),hovertemplate:Zo.castOption(c.hovertemplate,l.pts),hovertemplateLabels:l,eventData:[fD(l,c)]},{container:u._hoverlayer.node(),outerContainer:u._paper.node(),gd:t,inOut_bbox:A}),l.bbox=A[0],o._hasHoverLabel=!0}o._hasHoverEvent=!0,t.emit(\"plotly_hover\",{points:[fD(l,c)],event:zp.event})}}),e.on(\"mouseout\",function(l){var u=t._fullLayout,c=t._fullData[o.index],f=zp.select(this).datum();o._hasHoverEvent&&(l.originalEvent=zp.event,t.emit(\"plotly_unhover\",{points:[fD(f,c)],event:zp.event}),o._hasHoverEvent=!1),o._hasHoverLabel&&(cD.loneUnhover(u._hoverlayer.node()),o._hasHoverLabel=!1)}),e.on(\"click\",function(l){var u=t._fullLayout,c=t._fullData[o.index];t._dragging||u.hovermode===!1||(t._hoverdata=[fD(l,c)],cD.click(t,zp.event))})}function JEt(e,t,r){var n=Zo.castOption(e.outsidetextfont.color,t.pts)||Zo.castOption(e.textfont.color,t.pts)||r.color,i=Zo.castOption(e.outsidetextfont.family,t.pts)||Zo.castOption(e.textfont.family,t.pts)||r.family,a=Zo.castOption(e.outsidetextfont.size,t.pts)||Zo.castOption(e.textfont.size,t.pts)||r.size,o=Zo.castOption(e.outsidetextfont.weight,t.pts)||Zo.castOption(e.textfont.weight,t.pts)||r.weight,s=Zo.castOption(e.outsidetextfont.style,t.pts)||Zo.castOption(e.textfont.style,t.pts)||r.style,l=Zo.castOption(e.outsidetextfont.variant,t.pts)||Zo.castOption(e.textfont.variant,t.pts)||r.variant,u=Zo.castOption(e.outsidetextfont.textcase,t.pts)||Zo.castOption(e.textfont.textcase,t.pts)||r.textcase,c=Zo.castOption(e.outsidetextfont.lineposition,t.pts)||Zo.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=Zo.castOption(e.outsidetextfont.shadow,t.pts)||Zo.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n,family:i,size:a,weight:o,style:s,variant:l,textcase:u,lineposition:c,shadow:f}}function dEe(e,t,r){var n=Zo.castOption(e.insidetextfont.color,t.pts);!n&&e._input.textfont&&(n=Zo.castOption(e._input.textfont.color,t.pts));var i=Zo.castOption(e.insidetextfont.family,t.pts)||Zo.castOption(e.textfont.family,t.pts)||r.family,a=Zo.castOption(e.insidetextfont.size,t.pts)||Zo.castOption(e.textfont.size,t.pts)||r.size,o=Zo.castOption(e.insidetextfont.weight,t.pts)||Zo.castOption(e.textfont.weight,t.pts)||r.weight,s=Zo.castOption(e.insidetextfont.style,t.pts)||Zo.castOption(e.textfont.style,t.pts)||r.style,l=Zo.castOption(e.insidetextfont.variant,t.pts)||Zo.castOption(e.textfont.variant,t.pts)||r.variant,u=Zo.castOption(e.insidetextfont.textcase,t.pts)||Zo.castOption(e.textfont.textcase,t.pts)||r.textcase,c=Zo.castOption(e.insidetextfont.lineposition,t.pts)||Zo.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=Zo.castOption(e.insidetextfont.shadow,t.pts)||Zo.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n||uEe.contrast(t.color),family:i,size:a,weight:o,style:s,variant:l,textcase:u,lineposition:c,shadow:f}}function vEe(e,t){for(var r,n,i=0;i<e.length;i++)if(r=e[i][0],n=r.trace,n.title.text){var a=n.title.text;n._meta&&(a=ev.templateString(a,n._meta));var o=Wy.tester.append(\"text\").attr(\"data-notex\",1).text(a).call(Wy.font,n.title.font).call(rW.convertToTspans,t),s=Wy.bBox(o.node(),!0);r.titleBox={width:s.width,height:s.height},o.remove()}}function pEe(e,t,r){var n=r.r||t.rpx1,i=t.rInscribed,a=t.startangle===t.stopangle;if(a)return{rCenter:1-i,scale:0,rotate:0,textPosAngle:0};var o=t.ring,s=o===1&&Math.abs(t.startangle-t.stopangle)===Math.PI*2,l=t.halfangle,u=t.midangle,c=r.trace.insidetextorientation,f=c===\"horizontal\",h=c===\"tangential\",d=c===\"radial\",v=c===\"auto\",x=[],b;if(!v){var p=function(M,g){if($Et(t,M)){var P=Math.abs(M-t.startangle),T=Math.abs(M-t.stopangle),F=P<T?P:T;g===\"tan\"?b=sEe(e,n,o,F,0):b=oEe(e,n,o,F,Math.PI/2),b.textPosAngle=M,x.push(b)}},E;if(f||h){for(E=4;E>=-4;E-=2)p(Math.PI*E,\"tan\");for(E=4;E>=-4;E-=2)p(Math.PI*(E+1),\"tan\")}if(f||d){for(E=4;E>=-4;E-=2)p(Math.PI*(E+1.5),\"rad\");for(E=4;E>=-4;E-=2)p(Math.PI*(E+.5),\"rad\")}}if(s||v||f){var k=Math.sqrt(e.width*e.width+e.height*e.height);if(b={scale:i*n*2/k,rCenter:1-i,rotate:0},b.textPosAngle=(t.startangle+t.stopangle)/2,b.scale>=1)return b;x.push(b)}(v||d)&&(b=oEe(e,n,o,l,u),b.textPosAngle=(t.startangle+t.stopangle)/2,x.push(b)),(v||h)&&(b=sEe(e,n,o,l,u),b.textPosAngle=(t.startangle+t.stopangle)/2,x.push(b));for(var A=0,L=0,_=0;_<x.length;_++){var C=x[_].scale;if(L<C&&(L=C,A=_),!v&&L>=1)break}return x[A]}function $Et(e,t){var r=e.startangle,n=e.stopangle;return r>t&&t>n||r<t&&t<n}function oEe(e,t,r,n,i){t=Math.max(0,t-2*fEe);var a=e.width/e.height,o=yEe(a,n,t,r);return{scale:o*2/e.height,rCenter:gEe(a,o/t),rotate:mEe(i)}}function sEe(e,t,r,n,i){t=Math.max(0,t-2*fEe);var a=e.height/e.width,o=yEe(a,n,t,r);return{scale:o*2/e.width,rCenter:gEe(a,o/t),rotate:mEe(i+Math.PI/2)}}function gEe(e,t){return Math.cos(t)-e*t}function mEe(e){return(180/Math.PI*e+720)%180-90}function yEe(e,t,r,n){var i=e+1/(2*Math.tan(t));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(e*e+n/2)+e))}function QEt(e,t){return e.v===t.vTotal&&!t.trace.hole?1:Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2)}function lEe(e,t){var r=t.pxmid[0],n=t.pxmid[1],i=e.width/2,a=e.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function ekt(e){var t=Math.sqrt(e.titleBox.width*e.titleBox.width+e.titleBox.height*e.titleBox.height);return{x:e.cx,y:e.cy,scale:e.trace.hole*e.r*2/t,tx:0,ty:-e.titleBox.height/2+e.trace.title.font.size}}function _Ee(e,t){var r=1,n=1,i,a=e.trace,o={x:e.cx,y:e.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=xEe(a),a.title.position.indexOf(\"top\")!==-1?(o.y-=(1+i)*e.r,s.ty-=e.titleBox.height):a.title.position.indexOf(\"bottom\")!==-1&&(o.y+=(1+i)*e.r);var l=tkt(e.r,e.trace.aspectratio),u=t.w*(a.domain.x[1]-a.domain.x[0])/2;return a.title.position.indexOf(\"left\")!==-1?(u=u+l,o.x-=(1+i)*l,s.tx+=e.titleBox.width/2):a.title.position.indexOf(\"center\")!==-1?u*=2:a.title.position.indexOf(\"right\")!==-1&&(u=u+l,o.x+=(1+i)*l,s.tx-=e.titleBox.width/2),r=u/e.titleBox.width,n=iW(e,t)/e.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function tkt(e,t){return e/(t===void 0?1:t)}function iW(e,t){var r=e.trace,n=t.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(e.titleBox.height,n/2)}function xEe(e){var t=e.pull;if(!t)return 0;var r;if(ev.isArrayOrTypedArray(t))for(t=0,r=0;r<e.pull.length;r++)e.pull[r]>t&&(t=e.pull[r]);return t}function rkt(e,t){var r,n,i,a,o,s,l,u,c,f,h,d,v;function x(k,A){return k.pxmid[1]-A.pxmid[1]}function b(k,A){return A.pxmid[1]-k.pxmid[1]}function p(k,A){A||(A={});var L=A.labelExtraY+(n?A.yLabelMax:A.yLabelMin),_=n?k.yLabelMin:k.yLabelMax,C=n?k.yLabelMax:k.yLabelMin,M=k.cyFinal+o(k.px0[1],k.px1[1]),g=L-_,P,T,F,q,V,H;if(g*l>0&&(k.labelExtraY=g),!!ev.isArrayOrTypedArray(t.pull))for(T=0;T<f.length;T++)F=f[T],!(F===k||(Zo.castOption(t.pull,k.pts)||0)>=(Zo.castOption(t.pull,F.pts)||0))&&((k.pxmid[1]-F.pxmid[1])*l>0?(q=F.cyFinal+o(F.px0[1],F.px1[1]),g=q-_-k.labelExtraY,g*l>0&&(k.labelExtraY+=g)):(C+k.labelExtraY-M)*l>0&&(P=3*s*Math.abs(T-f.indexOf(k)),V=F.cxFinal+a(F.px0[0],F.px1[0]),H=V+P-(k.cxFinal+k.pxmid[0])-k.labelExtraX,H*s>0&&(k.labelExtraX+=H)))}for(n=0;n<2;n++)for(i=n?x:b,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,u=e[n][r],u.sort(i),c=e[1-n][r],f=c.concat(u),d=[],h=0;h<u.length;h++)u[h].yLabelMid!==void 0&&d.push(u[h]);for(v=!1,h=0;n&&h<c.length;h++)if(c[h].yLabelMid!==void 0){v=c[h];break}for(h=0;h<d.length;h++){var E=h&&d[h-1];v&&!h&&(E=v),p(d[h],E)}}}function bEe(e,t){for(var r=[],n=0;n<e.length;n++){var i=e[n][0],a=i.trace,o=a.domain,s=t.w*(o.x[1]-o.x[0]),l=t.h*(o.y[1]-o.y[0]);a.title.text&&a.title.position!==\"middle center\"&&(l-=iW(i,t));var u=s/2,c=l/2;a.type===\"funnelarea\"&&!a.scalegroup&&(c/=a.aspectratio),i.r=Math.min(u,c)/(1+xEe(a)),i.cx=t.l+t.w*(a.domain.x[1]+a.domain.x[0])/2,i.cy=t.t+t.h*(1-a.domain.y[0])-l/2,a.title.text&&a.title.position.indexOf(\"bottom\")!==-1&&(i.cy-=iW(i,t)),a.scalegroup&&r.indexOf(a.scalegroup)===-1&&r.push(a.scalegroup)}ikt(e,r)}function ikt(e,t){for(var r,n,i,a=0;a<t.length;a++){var o=1/0,s=t[a];for(n=0;n<e.length;n++)if(r=e[n][0],i=r.trace,i.scalegroup===s){var l;if(i.type===\"pie\")l=r.r*r.r;else if(i.type===\"funnelarea\"){var u,c;i.aspectratio>1?(u=r.r,c=u/i.aspectratio):(c=r.r,u=c*i.aspectratio),u*=(1+i.baseratio)/2,l=u*c}o=Math.min(o,l/r.vTotal)}for(n=0;n<e.length;n++)if(r=e[n][0],i=r.trace,i.scalegroup===s){var f=o*r.vTotal;i.type===\"funnelarea\"&&(f/=(1+i.baseratio)/2,f/=i.aspectratio),r.r=Math.sqrt(f)}}}function nkt(e){var t=e[0],r=t.r,n=t.trace,i=Zo.getRotationAngle(n.rotation),a=2*Math.PI/t.vTotal,o=\"px0\",s=\"px1\",l,u,c;if(n.direction===\"counterclockwise\"){for(l=0;l<e.length&&e[l].hidden;l++);if(l===e.length)return;i+=a*e[l].v,a*=-1,o=\"px1\",s=\"px0\"}for(c=hD(r,i),l=0;l<e.length;l++)u=e[l],!u.hidden&&(u[o]=c,u.startangle=i,i+=a*u.v/2,u.pxmid=hD(r,i),u.midangle=i,i+=a*u.v/2,c=hD(r,i),u.stopangle=i,u[s]=c,u.largeArc=u.v>t.vTotal/2?1:0,u.halfangle=Math.PI*Math.min(u.v/t.vTotal,.5),u.ring=1-n.hole,u.rInscribed=QEt(u,t))}function hD(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}function wEe(e,t,r){var n=e._fullLayout,i=r.trace,a=i.texttemplate,o=i.textinfo;if(!a&&o&&o!==\"none\"){var s=o.split(\"+\"),l=function(A){return s.indexOf(A)!==-1},u=l(\"label\"),c=l(\"text\"),f=l(\"value\"),h=l(\"percent\"),d=n.separators,v;if(v=u?[t.label]:[],c){var x=Zo.getFirstFilled(i.text,t.pts);aEe(x)&&v.push(x)}f&&v.push(Zo.formatPieValue(t.v,d)),h&&v.push(Zo.formatPiePercent(t.v/r.vTotal,d)),t.text=v.join(\"<br>\")}function b(A){return{label:A.label,value:A.v,valueLabel:Zo.formatPieValue(A.v,n.separators),percent:A.v/r.vTotal,percentLabel:Zo.formatPiePercent(A.v/r.vTotal,n.separators),color:A.color,text:A.text,customdata:ev.castOption(i,A.i,\"customdata\")}}if(a){var p=ev.castOption(i,t.i,\"texttemplate\");if(!p)t.text=\"\";else{var E=b(t),k=Zo.getFirstFilled(i.text,t.pts);(aEe(k)||k===\"\")&&(E.text=k),t.text=ev.texttemplateString(p,E,e._fullLayout._d3locale,E,i._meta||{})}}}function TEe(e,t){var r=e.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(t.left+t.right)/2,o=(t.top+t.bottom)/2;e.textX=a*n-o*i,e.textY=a*i+o*n,e.noCenter=!0}AEe.exports={plot:YEt,formatSliceLabel:wEe,transformInsideText:pEe,determineInsideTextFont:dEe,positionTitleOutside:_Ee,prerenderTitles:vEe,layoutAreas:bEe,attachFxHandlers:hEe,computeTransform:TEe}});var EEe=ye((ffr,MEe)=>{\"use strict\";var SEe=xa(),akt=z3(),okt=_v().resizeText;MEe.exports=function(t){var r=t._fullLayout._pielayer.selectAll(\".trace\");okt(t,r,\"pie\"),r.each(function(n){var i=n[0],a=i.trace,o=SEe.select(this);o.style({opacity:a.opacity}),o.selectAll(\"path.surface\").each(function(s){SEe.select(this).call(akt,s,a,t)})})}});var CEe=ye(_5=>{\"use strict\";var kEe=Xu();_5.name=\"pie\";_5.plot=function(e,t,r,n){kEe.plotBasePlot(_5.name,e,t,r,n)};_5.clean=function(e,t,r,n){kEe.cleanBasePlot(_5.name,e,t,r,n)}});var PEe=ye((dfr,LEe)=>{\"use strict\";LEe.exports={attributes:A2(),supplyDefaults:S2().supplyDefaults,supplyLayoutDefaults:$4e(),layoutAttributes:uD(),calc:y5().calc,crossTraceCalc:y5().crossTraceCalc,plot:dD().plot,style:EEe(),styleOne:z3(),moduleType:\"trace\",name:\"pie\",basePlotModule:CEe(),categories:[\"pie-like\",\"pie\",\"showLegend\"],meta:{}}});var REe=ye((vfr,IEe)=>{\"use strict\";IEe.exports=PEe()});var zEe=ye(x5=>{\"use strict\";var DEe=Xu();x5.name=\"sunburst\";x5.plot=function(e,t,r,n){DEe.plotBasePlot(x5.name,e,t,r,n)};x5.clean=function(e,t,r,n){DEe.cleanBasePlot(x5.name,e,t,r,n)}});var nW=ye((gfr,FEe)=>{\"use strict\";FEe.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"linear\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"]}});var AE=ye((mfr,OEe)=>{\"use strict\";var skt=vl(),lkt=Wo().hovertemplateAttrs,ukt=Wo().texttemplateAttrs,ckt=Jl(),fkt=Ju().attributes,Zy=A2(),qEe=nW(),TE=no().extendFlat,hkt=Ed().pattern;OEe.exports={labels:{valType:\"data_array\",editType:\"calc\"},parents:{valType:\"data_array\",editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},branchvalues:{valType:\"enumerated\",values:[\"remainder\",\"total\"],dflt:\"remainder\",editType:\"calc\"},count:{valType:\"flaglist\",flags:[\"branches\",\"leaves\"],dflt:\"leaves\",editType:\"calc\"},level:{valType:\"any\",editType:\"plot\",anim:!0},maxdepth:{valType:\"integer\",editType:\"plot\",dflt:-1},marker:TE({colors:{valType:\"data_array\",editType:\"calc\"},line:{color:TE({},Zy.marker.line.color,{dflt:null}),width:TE({},Zy.marker.line.width,{dflt:1}),editType:\"calc\"},pattern:hkt,editType:\"calc\"},ckt(\"marker\",{colorAttr:\"colors\",anim:!1})),leaf:{opacity:{valType:\"number\",editType:\"style\",min:0,max:1},editType:\"plot\"},text:Zy.text,textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],extras:[\"none\"],editType:\"plot\"},texttemplate:ukt({editType:\"plot\"},{keys:qEe.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:Zy.hovertext,hoverinfo:TE({},skt.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"name\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],dflt:\"label+text+value+name\"}),hovertemplate:lkt({},{keys:qEe.eventDataKeys}),textfont:Zy.textfont,insidetextorientation:Zy.insidetextorientation,insidetextfont:Zy.insidetextfont,outsidetextfont:TE({},Zy.outsidetextfont,{}),rotation:{valType:\"angle\",dflt:0,editType:\"plot\"},sort:Zy.sort,root:{color:{valType:\"color\",editType:\"calc\",dflt:\"rgba(0,0,0,0)\"},editType:\"calc\"},domain:fkt({name:\"sunburst\",trace:!0,editType:\"calc\"})}});var aW=ye((yfr,BEe)=>{\"use strict\";BEe.exports={sunburstcolorway:{valType:\"colorlist\",editType:\"calc\"},extendsunburstcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var HEe=ye((_fr,VEe)=>{\"use strict\";var NEe=Mr(),dkt=AE(),vkt=Ju().defaults,pkt=r0().handleText,gkt=S2().handleMarkerDefaults,UEe=Mu(),mkt=UEe.hasColorscale,ykt=UEe.handleDefaults;VEe.exports=function(t,r,n,i){function a(h,d){return NEe.coerce(t,r,dkt,h,d)}var o=a(\"labels\"),s=a(\"parents\");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a(\"values\");l&&l.length?a(\"branchvalues\"):a(\"count\"),a(\"level\"),a(\"maxdepth\"),gkt(t,r,i,a);var u=r._hasColorscale=mkt(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;u&&ykt(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}),a(\"leaf.opacity\",u?1:.7);var c=a(\"text\");a(\"texttemplate\"),r.texttemplate||a(\"textinfo\",NEe.isArrayOrTypedArray(c)?\"text+label\":\"label\"),a(\"hovertext\"),a(\"hovertemplate\");var f=\"auto\";pkt(t,r,i,a,f,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a(\"insidetextorientation\"),a(\"sort\"),a(\"rotation\"),a(\"root.color\"),vkt(r,i,a),r._length=null}});var jEe=ye((xfr,GEe)=>{\"use strict\";var _kt=Mr(),xkt=aW();GEe.exports=function(t,r){function n(i,a){return _kt.coerce(t,r,xkt,i,a)}n(\"sunburstcolorway\",r.colorway),n(\"extendsunburstcolors\")}});var SE=ye((vD,WEe)=>{(function(e,t){typeof vD==\"object\"&&typeof WEe!=\"undefined\"?t(vD):(e=e||self,t(e.d3=e.d3||{}))})(vD,function(e){\"use strict\";function t(Ve,Xe){return Ve.parent===Xe.parent?1:2}function r(Ve){return Ve.reduce(n,0)/Ve.length}function n(Ve,Xe){return Ve+Xe.x}function i(Ve){return 1+Ve.reduce(a,0)}function a(Ve,Xe){return Math.max(Ve,Xe.y)}function o(Ve){for(var Xe;Xe=Ve.children;)Ve=Xe[0];return Ve}function s(Ve){for(var Xe;Xe=Ve.children;)Ve=Xe[Xe.length-1];return Ve}function l(){var Ve=t,Xe=1,ht=1,Le=!1;function xe(Se){var lt,Gt=0;Se.eachAfter(function(jr){var ri=jr.children;ri?(jr.x=r(ri),jr.y=i(ri)):(jr.x=lt?Gt+=Ve(jr,lt):0,jr.y=0,lt=jr)});var Vt=o(Se),ar=s(Se),Qr=Vt.x-Ve(Vt,ar)/2,ai=ar.x+Ve(ar,Vt)/2;return Se.eachAfter(Le?function(jr){jr.x=(jr.x-Se.x)*Xe,jr.y=(Se.y-jr.y)*ht}:function(jr){jr.x=(jr.x-Qr)/(ai-Qr)*Xe,jr.y=(1-(Se.y?jr.y/Se.y:1))*ht})}return xe.separation=function(Se){return arguments.length?(Ve=Se,xe):Ve},xe.size=function(Se){return arguments.length?(Le=!1,Xe=+Se[0],ht=+Se[1],xe):Le?null:[Xe,ht]},xe.nodeSize=function(Se){return arguments.length?(Le=!0,Xe=+Se[0],ht=+Se[1],xe):Le?[Xe,ht]:null},xe}function u(Ve){var Xe=0,ht=Ve.children,Le=ht&&ht.length;if(!Le)Xe=1;else for(;--Le>=0;)Xe+=ht[Le].value;Ve.value=Xe}function c(){return this.eachAfter(u)}function f(Ve){var Xe=this,ht,Le=[Xe],xe,Se,lt;do for(ht=Le.reverse(),Le=[];Xe=ht.pop();)if(Ve(Xe),xe=Xe.children,xe)for(Se=0,lt=xe.length;Se<lt;++Se)Le.push(xe[Se]);while(Le.length);return this}function h(Ve){for(var Xe=this,ht=[Xe],Le,xe;Xe=ht.pop();)if(Ve(Xe),Le=Xe.children,Le)for(xe=Le.length-1;xe>=0;--xe)ht.push(Le[xe]);return this}function d(Ve){for(var Xe=this,ht=[Xe],Le=[],xe,Se,lt;Xe=ht.pop();)if(Le.push(Xe),xe=Xe.children,xe)for(Se=0,lt=xe.length;Se<lt;++Se)ht.push(xe[Se]);for(;Xe=Le.pop();)Ve(Xe);return this}function v(Ve){return this.eachAfter(function(Xe){for(var ht=+Ve(Xe.data)||0,Le=Xe.children,xe=Le&&Le.length;--xe>=0;)ht+=Le[xe].value;Xe.value=ht})}function x(Ve){return this.eachBefore(function(Xe){Xe.children&&Xe.children.sort(Ve)})}function b(Ve){for(var Xe=this,ht=p(Xe,Ve),Le=[Xe];Xe!==ht;)Xe=Xe.parent,Le.push(Xe);for(var xe=Le.length;Ve!==ht;)Le.splice(xe,0,Ve),Ve=Ve.parent;return Le}function p(Ve,Xe){if(Ve===Xe)return Ve;var ht=Ve.ancestors(),Le=Xe.ancestors(),xe=null;for(Ve=ht.pop(),Xe=Le.pop();Ve===Xe;)xe=Ve,Ve=ht.pop(),Xe=Le.pop();return xe}function E(){for(var Ve=this,Xe=[Ve];Ve=Ve.parent;)Xe.push(Ve);return Xe}function k(){var Ve=[];return this.each(function(Xe){Ve.push(Xe)}),Ve}function A(){var Ve=[];return this.eachBefore(function(Xe){Xe.children||Ve.push(Xe)}),Ve}function L(){var Ve=this,Xe=[];return Ve.each(function(ht){ht!==Ve&&Xe.push({source:ht.parent,target:ht})}),Xe}function _(Ve,Xe){var ht=new T(Ve),Le=+Ve.value&&(ht.value=Ve.value),xe,Se=[ht],lt,Gt,Vt,ar;for(Xe==null&&(Xe=M);xe=Se.pop();)if(Le&&(xe.value=+xe.data.value),(Gt=Xe(xe.data))&&(ar=Gt.length))for(xe.children=new Array(ar),Vt=ar-1;Vt>=0;--Vt)Se.push(lt=xe.children[Vt]=new T(Gt[Vt])),lt.parent=xe,lt.depth=xe.depth+1;return ht.eachBefore(P)}function C(){return _(this).eachBefore(g)}function M(Ve){return Ve.children}function g(Ve){Ve.data=Ve.data.data}function P(Ve){var Xe=0;do Ve.height=Xe;while((Ve=Ve.parent)&&Ve.height<++Xe)}function T(Ve){this.data=Ve,this.depth=this.height=0,this.parent=null}T.prototype=_.prototype={constructor:T,count:c,each:f,eachAfter:d,eachBefore:h,sum:v,sort:x,path:b,ancestors:E,descendants:k,leaves:A,links:L,copy:C};var F=Array.prototype.slice;function q(Ve){for(var Xe=Ve.length,ht,Le;Xe;)Le=Math.random()*Xe--|0,ht=Ve[Xe],Ve[Xe]=Ve[Le],Ve[Le]=ht;return Ve}function V(Ve){for(var Xe=0,ht=(Ve=q(F.call(Ve))).length,Le=[],xe,Se;Xe<ht;)xe=Ve[Xe],Se&&G(Se,xe)?++Xe:(Se=W(Le=H(Le,xe)),Xe=0);return Se}function H(Ve,Xe){var ht,Le;if(N(Xe,Ve))return[Xe];for(ht=0;ht<Ve.length;++ht)if(X(Xe,Ve[ht])&&N(ae(Ve[ht],Xe),Ve))return[Ve[ht],Xe];for(ht=0;ht<Ve.length-1;++ht)for(Le=ht+1;Le<Ve.length;++Le)if(X(ae(Ve[ht],Ve[Le]),Xe)&&X(ae(Ve[ht],Xe),Ve[Le])&&X(ae(Ve[Le],Xe),Ve[ht])&&N(_e(Ve[ht],Ve[Le],Xe),Ve))return[Ve[ht],Ve[Le],Xe];throw new Error}function X(Ve,Xe){var ht=Ve.r-Xe.r,Le=Xe.x-Ve.x,xe=Xe.y-Ve.y;return ht<0||ht*ht<Le*Le+xe*xe}function G(Ve,Xe){var ht=Ve.r-Xe.r+1e-6,Le=Xe.x-Ve.x,xe=Xe.y-Ve.y;return ht>0&&ht*ht>Le*Le+xe*xe}function N(Ve,Xe){for(var ht=0;ht<Xe.length;++ht)if(!G(Ve,Xe[ht]))return!1;return!0}function W(Ve){switch(Ve.length){case 1:return re(Ve[0]);case 2:return ae(Ve[0],Ve[1]);case 3:return _e(Ve[0],Ve[1],Ve[2])}}function re(Ve){return{x:Ve.x,y:Ve.y,r:Ve.r}}function ae(Ve,Xe){var ht=Ve.x,Le=Ve.y,xe=Ve.r,Se=Xe.x,lt=Xe.y,Gt=Xe.r,Vt=Se-ht,ar=lt-Le,Qr=Gt-xe,ai=Math.sqrt(Vt*Vt+ar*ar);return{x:(ht+Se+Vt/ai*Qr)/2,y:(Le+lt+ar/ai*Qr)/2,r:(ai+xe+Gt)/2}}function _e(Ve,Xe,ht){var Le=Ve.x,xe=Ve.y,Se=Ve.r,lt=Xe.x,Gt=Xe.y,Vt=Xe.r,ar=ht.x,Qr=ht.y,ai=ht.r,jr=Le-lt,ri=Le-ar,bi=xe-Gt,nn=xe-Qr,Wi=Vt-Se,Ni=ai-Se,_n=Le*Le+xe*xe-Se*Se,$i=_n-lt*lt-Gt*Gt+Vt*Vt,zn=_n-ar*ar-Qr*Qr+ai*ai,Wn=ri*bi-jr*nn,It=(bi*zn-nn*$i)/(Wn*2)-Le,ft=(nn*Wi-bi*Ni)/Wn,jt=(ri*$i-jr*zn)/(Wn*2)-xe,Zt=(jr*Ni-ri*Wi)/Wn,yr=ft*ft+Zt*Zt-1,Fr=2*(Se+It*ft+jt*Zt),Zr=It*It+jt*jt-Se*Se,Vr=-(yr?(Fr+Math.sqrt(Fr*Fr-4*yr*Zr))/(2*yr):Zr/Fr);return{x:Le+It+ft*Vr,y:xe+jt+Zt*Vr,r:Vr}}function Me(Ve,Xe,ht){var Le=Ve.x-Xe.x,xe,Se,lt=Ve.y-Xe.y,Gt,Vt,ar=Le*Le+lt*lt;ar?(Se=Xe.r+ht.r,Se*=Se,Vt=Ve.r+ht.r,Vt*=Vt,Se>Vt?(xe=(ar+Vt-Se)/(2*ar),Gt=Math.sqrt(Math.max(0,Vt/ar-xe*xe)),ht.x=Ve.x-xe*Le-Gt*lt,ht.y=Ve.y-xe*lt+Gt*Le):(xe=(ar+Se-Vt)/(2*ar),Gt=Math.sqrt(Math.max(0,Se/ar-xe*xe)),ht.x=Xe.x+xe*Le-Gt*lt,ht.y=Xe.y+xe*lt+Gt*Le)):(ht.x=Xe.x+ht.r,ht.y=Xe.y)}function ke(Ve,Xe){var ht=Ve.r+Xe.r-1e-6,Le=Xe.x-Ve.x,xe=Xe.y-Ve.y;return ht>0&&ht*ht>Le*Le+xe*xe}function ge(Ve){var Xe=Ve._,ht=Ve.next._,Le=Xe.r+ht.r,xe=(Xe.x*ht.r+ht.x*Xe.r)/Le,Se=(Xe.y*ht.r+ht.y*Xe.r)/Le;return xe*xe+Se*Se}function ie(Ve){this._=Ve,this.next=null,this.previous=null}function Te(Ve){if(!(xe=Ve.length))return 0;var Xe,ht,Le,xe,Se,lt,Gt,Vt,ar,Qr,ai;if(Xe=Ve[0],Xe.x=0,Xe.y=0,!(xe>1))return Xe.r;if(ht=Ve[1],Xe.x=-ht.r,ht.x=Xe.r,ht.y=0,!(xe>2))return Xe.r+ht.r;Me(ht,Xe,Le=Ve[2]),Xe=new ie(Xe),ht=new ie(ht),Le=new ie(Le),Xe.next=Le.previous=ht,ht.next=Xe.previous=Le,Le.next=ht.previous=Xe;e:for(Gt=3;Gt<xe;++Gt){Me(Xe._,ht._,Le=Ve[Gt]),Le=new ie(Le),Vt=ht.next,ar=Xe.previous,Qr=ht._.r,ai=Xe._.r;do if(Qr<=ai){if(ke(Vt._,Le._)){ht=Vt,Xe.next=ht,ht.previous=Xe,--Gt;continue e}Qr+=Vt._.r,Vt=Vt.next}else{if(ke(ar._,Le._)){Xe=ar,Xe.next=ht,ht.previous=Xe,--Gt;continue e}ai+=ar._.r,ar=ar.previous}while(Vt!==ar.next);for(Le.previous=Xe,Le.next=ht,Xe.next=ht.previous=ht=Le,Se=ge(Xe);(Le=Le.next)!==ht;)(lt=ge(Le))<Se&&(Xe=Le,Se=lt);ht=Xe.next}for(Xe=[ht._],Le=ht;(Le=Le.next)!==ht;)Xe.push(Le._);for(Le=V(Xe),Gt=0;Gt<xe;++Gt)Xe=Ve[Gt],Xe.x-=Le.x,Xe.y-=Le.y;return Le.r}function Ee(Ve){return Te(Ve),Ve}function Ae(Ve){return Ve==null?null:ze(Ve)}function ze(Ve){if(typeof Ve!=\"function\")throw new Error;return Ve}function Ce(){return 0}function me(Ve){return function(){return Ve}}function Re(Ve){return Math.sqrt(Ve.value)}function ce(){var Ve=null,Xe=1,ht=1,Le=Ce;function xe(Se){return Se.x=Xe/2,Se.y=ht/2,Ve?Se.eachBefore(Ge(Ve)).eachAfter(nt(Le,.5)).eachBefore(ct(1)):Se.eachBefore(Ge(Re)).eachAfter(nt(Ce,1)).eachAfter(nt(Le,Se.r/Math.min(Xe,ht))).eachBefore(ct(Math.min(Xe,ht)/(2*Se.r))),Se}return xe.radius=function(Se){return arguments.length?(Ve=Ae(Se),xe):Ve},xe.size=function(Se){return arguments.length?(Xe=+Se[0],ht=+Se[1],xe):[Xe,ht]},xe.padding=function(Se){return arguments.length?(Le=typeof Se==\"function\"?Se:me(+Se),xe):Le},xe}function Ge(Ve){return function(Xe){Xe.children||(Xe.r=Math.max(0,+Ve(Xe)||0))}}function nt(Ve,Xe){return function(ht){if(Le=ht.children){var Le,xe,Se=Le.length,lt=Ve(ht)*Xe||0,Gt;if(lt)for(xe=0;xe<Se;++xe)Le[xe].r+=lt;if(Gt=Te(Le),lt)for(xe=0;xe<Se;++xe)Le[xe].r-=lt;ht.r=Gt+lt}}}function ct(Ve){return function(Xe){var ht=Xe.parent;Xe.r*=Ve,ht&&(Xe.x=ht.x+Ve*Xe.x,Xe.y=ht.y+Ve*Xe.y)}}function qt(Ve){Ve.x0=Math.round(Ve.x0),Ve.y0=Math.round(Ve.y0),Ve.x1=Math.round(Ve.x1),Ve.y1=Math.round(Ve.y1)}function rt(Ve,Xe,ht,Le,xe){for(var Se=Ve.children,lt,Gt=-1,Vt=Se.length,ar=Ve.value&&(Le-Xe)/Ve.value;++Gt<Vt;)lt=Se[Gt],lt.y0=ht,lt.y1=xe,lt.x0=Xe,lt.x1=Xe+=lt.value*ar}function ot(){var Ve=1,Xe=1,ht=0,Le=!1;function xe(lt){var Gt=lt.height+1;return lt.x0=lt.y0=ht,lt.x1=Ve,lt.y1=Xe/Gt,lt.eachBefore(Se(Xe,Gt)),Le&<.eachBefore(qt),lt}function Se(lt,Gt){return function(Vt){Vt.children&&rt(Vt,Vt.x0,lt*(Vt.depth+1)/Gt,Vt.x1,lt*(Vt.depth+2)/Gt);var ar=Vt.x0,Qr=Vt.y0,ai=Vt.x1-ht,jr=Vt.y1-ht;ai<ar&&(ar=ai=(ar+ai)/2),jr<Qr&&(Qr=jr=(Qr+jr)/2),Vt.x0=ar,Vt.y0=Qr,Vt.x1=ai,Vt.y1=jr}}return xe.round=function(lt){return arguments.length?(Le=!!lt,xe):Le},xe.size=function(lt){return arguments.length?(Ve=+lt[0],Xe=+lt[1],xe):[Ve,Xe]},xe.padding=function(lt){return arguments.length?(ht=+lt,xe):ht},xe}var Rt=\"$\",kt={depth:-1},Ct={};function Yt(Ve){return Ve.id}function xr(Ve){return Ve.parentId}function er(){var Ve=Yt,Xe=xr;function ht(Le){var xe,Se,lt=Le.length,Gt,Vt,ar,Qr=new Array(lt),ai,jr,ri={};for(Se=0;Se<lt;++Se)xe=Le[Se],ar=Qr[Se]=new T(xe),(ai=Ve(xe,Se,Le))!=null&&(ai+=\"\")&&(jr=Rt+(ar.id=ai),ri[jr]=jr in ri?Ct:ar);for(Se=0;Se<lt;++Se)if(ar=Qr[Se],ai=Xe(Le[Se],Se,Le),ai==null||!(ai+=\"\")){if(Gt)throw new Error(\"multiple roots\");Gt=ar}else{if(Vt=ri[Rt+ai],!Vt)throw new Error(\"missing: \"+ai);if(Vt===Ct)throw new Error(\"ambiguous: \"+ai);Vt.children?Vt.children.push(ar):Vt.children=[ar],ar.parent=Vt}if(!Gt)throw new Error(\"no root\");if(Gt.parent=kt,Gt.eachBefore(function(bi){bi.depth=bi.parent.depth+1,--lt}).eachBefore(P),Gt.parent=null,lt>0)throw new Error(\"cycle\");return Gt}return ht.id=function(Le){return arguments.length?(Ve=ze(Le),ht):Ve},ht.parentId=function(Le){return arguments.length?(Xe=ze(Le),ht):Xe},ht}function Ke(Ve,Xe){return Ve.parent===Xe.parent?1:2}function xt(Ve){var Xe=Ve.children;return Xe?Xe[0]:Ve.t}function bt(Ve){var Xe=Ve.children;return Xe?Xe[Xe.length-1]:Ve.t}function Lt(Ve,Xe,ht){var Le=ht/(Xe.i-Ve.i);Xe.c-=Le,Xe.s+=ht,Ve.c+=Le,Xe.z+=ht,Xe.m+=ht}function St(Ve){for(var Xe=0,ht=0,Le=Ve.children,xe=Le.length,Se;--xe>=0;)Se=Le[xe],Se.z+=Xe,Se.m+=Xe,Xe+=Se.s+(ht+=Se.c)}function Et(Ve,Xe,ht){return Ve.a.parent===Xe.parent?Ve.a:ht}function dt(Ve,Xe){this._=Ve,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=Xe}dt.prototype=Object.create(T.prototype);function Ht(Ve){for(var Xe=new dt(Ve,0),ht,Le=[Xe],xe,Se,lt,Gt;ht=Le.pop();)if(Se=ht._.children)for(ht.children=new Array(Gt=Se.length),lt=Gt-1;lt>=0;--lt)Le.push(xe=ht.children[lt]=new dt(Se[lt],lt)),xe.parent=ht;return(Xe.parent=new dt(null,0)).children=[Xe],Xe}function $t(){var Ve=Ke,Xe=1,ht=1,Le=null;function xe(ar){var Qr=Ht(ar);if(Qr.eachAfter(Se),Qr.parent.m=-Qr.z,Qr.eachBefore(lt),Le)ar.eachBefore(Vt);else{var ai=ar,jr=ar,ri=ar;ar.eachBefore(function(_n){_n.x<ai.x&&(ai=_n),_n.x>jr.x&&(jr=_n),_n.depth>ri.depth&&(ri=_n)});var bi=ai===jr?1:Ve(ai,jr)/2,nn=bi-ai.x,Wi=Xe/(jr.x+bi+nn),Ni=ht/(ri.depth||1);ar.eachBefore(function(_n){_n.x=(_n.x+nn)*Wi,_n.y=_n.depth*Ni})}return ar}function Se(ar){var Qr=ar.children,ai=ar.parent.children,jr=ar.i?ai[ar.i-1]:null;if(Qr){St(ar);var ri=(Qr[0].z+Qr[Qr.length-1].z)/2;jr?(ar.z=jr.z+Ve(ar._,jr._),ar.m=ar.z-ri):ar.z=ri}else jr&&(ar.z=jr.z+Ve(ar._,jr._));ar.parent.A=Gt(ar,jr,ar.parent.A||ai[0])}function lt(ar){ar._.x=ar.z+ar.parent.m,ar.m+=ar.parent.m}function Gt(ar,Qr,ai){if(Qr){for(var jr=ar,ri=ar,bi=Qr,nn=jr.parent.children[0],Wi=jr.m,Ni=ri.m,_n=bi.m,$i=nn.m,zn;bi=bt(bi),jr=xt(jr),bi&&jr;)nn=xt(nn),ri=bt(ri),ri.a=ar,zn=bi.z+_n-jr.z-Wi+Ve(bi._,jr._),zn>0&&(Lt(Et(bi,ar,ai),ar,zn),Wi+=zn,Ni+=zn),_n+=bi.m,Wi+=jr.m,$i+=nn.m,Ni+=ri.m;bi&&!bt(ri)&&(ri.t=bi,ri.m+=_n-Ni),jr&&!xt(nn)&&(nn.t=jr,nn.m+=Wi-$i,ai=ar)}return ai}function Vt(ar){ar.x*=Xe,ar.y=ar.depth*ht}return xe.separation=function(ar){return arguments.length?(Ve=ar,xe):Ve},xe.size=function(ar){return arguments.length?(Le=!1,Xe=+ar[0],ht=+ar[1],xe):Le?null:[Xe,ht]},xe.nodeSize=function(ar){return arguments.length?(Le=!0,Xe=+ar[0],ht=+ar[1],xe):Le?[Xe,ht]:null},xe}function fr(Ve,Xe,ht,Le,xe){for(var Se=Ve.children,lt,Gt=-1,Vt=Se.length,ar=Ve.value&&(xe-ht)/Ve.value;++Gt<Vt;)lt=Se[Gt],lt.x0=Xe,lt.x1=Le,lt.y0=ht,lt.y1=ht+=lt.value*ar}var _r=(1+Math.sqrt(5))/2;function Br(Ve,Xe,ht,Le,xe,Se){for(var lt=[],Gt=Xe.children,Vt,ar,Qr=0,ai=0,jr=Gt.length,ri,bi,nn=Xe.value,Wi,Ni,_n,$i,zn,Wn,It;Qr<jr;){ri=xe-ht,bi=Se-Le;do Wi=Gt[ai++].value;while(!Wi&&ai<jr);for(Ni=_n=Wi,Wn=Math.max(bi/ri,ri/bi)/(nn*Ve),It=Wi*Wi*Wn,zn=Math.max(_n/It,It/Ni);ai<jr;++ai){if(Wi+=ar=Gt[ai].value,ar<Ni&&(Ni=ar),ar>_n&&(_n=ar),It=Wi*Wi*Wn,$i=Math.max(_n/It,It/Ni),$i>zn){Wi-=ar;break}zn=$i}lt.push(Vt={value:Wi,dice:ri<bi,children:Gt.slice(Qr,ai)}),Vt.dice?rt(Vt,ht,Le,xe,nn?Le+=bi*Wi/nn:Se):fr(Vt,ht,Le,nn?ht+=ri*Wi/nn:xe,Se),nn-=Wi,Qr=ai}return lt}var Or=function Ve(Xe){function ht(Le,xe,Se,lt,Gt){Br(Xe,Le,xe,Se,lt,Gt)}return ht.ratio=function(Le){return Ve((Le=+Le)>1?Le:1)},ht}(_r);function Nr(){var Ve=Or,Xe=!1,ht=1,Le=1,xe=[0],Se=Ce,lt=Ce,Gt=Ce,Vt=Ce,ar=Ce;function Qr(jr){return jr.x0=jr.y0=0,jr.x1=ht,jr.y1=Le,jr.eachBefore(ai),xe=[0],Xe&&jr.eachBefore(qt),jr}function ai(jr){var ri=xe[jr.depth],bi=jr.x0+ri,nn=jr.y0+ri,Wi=jr.x1-ri,Ni=jr.y1-ri;Wi<bi&&(bi=Wi=(bi+Wi)/2),Ni<nn&&(nn=Ni=(nn+Ni)/2),jr.x0=bi,jr.y0=nn,jr.x1=Wi,jr.y1=Ni,jr.children&&(ri=xe[jr.depth+1]=Se(jr)/2,bi+=ar(jr)-ri,nn+=lt(jr)-ri,Wi-=Gt(jr)-ri,Ni-=Vt(jr)-ri,Wi<bi&&(bi=Wi=(bi+Wi)/2),Ni<nn&&(nn=Ni=(nn+Ni)/2),Ve(jr,bi,nn,Wi,Ni))}return Qr.round=function(jr){return arguments.length?(Xe=!!jr,Qr):Xe},Qr.size=function(jr){return arguments.length?(ht=+jr[0],Le=+jr[1],Qr):[ht,Le]},Qr.tile=function(jr){return arguments.length?(Ve=ze(jr),Qr):Ve},Qr.padding=function(jr){return arguments.length?Qr.paddingInner(jr).paddingOuter(jr):Qr.paddingInner()},Qr.paddingInner=function(jr){return arguments.length?(Se=typeof jr==\"function\"?jr:me(+jr),Qr):Se},Qr.paddingOuter=function(jr){return arguments.length?Qr.paddingTop(jr).paddingRight(jr).paddingBottom(jr).paddingLeft(jr):Qr.paddingTop()},Qr.paddingTop=function(jr){return arguments.length?(lt=typeof jr==\"function\"?jr:me(+jr),Qr):lt},Qr.paddingRight=function(jr){return arguments.length?(Gt=typeof jr==\"function\"?jr:me(+jr),Qr):Gt},Qr.paddingBottom=function(jr){return arguments.length?(Vt=typeof jr==\"function\"?jr:me(+jr),Qr):Vt},Qr.paddingLeft=function(jr){return arguments.length?(ar=typeof jr==\"function\"?jr:me(+jr),Qr):ar},Qr}function ut(Ve,Xe,ht,Le,xe){var Se=Ve.children,lt,Gt=Se.length,Vt,ar=new Array(Gt+1);for(ar[0]=Vt=lt=0;lt<Gt;++lt)ar[lt+1]=Vt+=Se[lt].value;Qr(0,Gt,Ve.value,Xe,ht,Le,xe);function Qr(ai,jr,ri,bi,nn,Wi,Ni){if(ai>=jr-1){var _n=Se[ai];_n.x0=bi,_n.y0=nn,_n.x1=Wi,_n.y1=Ni;return}for(var $i=ar[ai],zn=ri/2+$i,Wn=ai+1,It=jr-1;Wn<It;){var ft=Wn+It>>>1;ar[ft]<zn?Wn=ft+1:It=ft}zn-ar[Wn-1]<ar[Wn]-zn&&ai+1<Wn&&--Wn;var jt=ar[Wn]-$i,Zt=ri-jt;if(Wi-bi>Ni-nn){var yr=(bi*Zt+Wi*jt)/ri;Qr(ai,Wn,jt,bi,nn,yr,Ni),Qr(Wn,jr,Zt,yr,nn,Wi,Ni)}else{var Fr=(nn*Zt+Ni*jt)/ri;Qr(ai,Wn,jt,bi,nn,Wi,Fr),Qr(Wn,jr,Zt,bi,Fr,Wi,Ni)}}}function Ne(Ve,Xe,ht,Le,xe){(Ve.depth&1?fr:rt)(Ve,Xe,ht,Le,xe)}var Ye=function Ve(Xe){function ht(Le,xe,Se,lt,Gt){if((Vt=Le._squarify)&&Vt.ratio===Xe)for(var Vt,ar,Qr,ai,jr=-1,ri,bi=Vt.length,nn=Le.value;++jr<bi;){for(ar=Vt[jr],Qr=ar.children,ai=ar.value=0,ri=Qr.length;ai<ri;++ai)ar.value+=Qr[ai].value;ar.dice?rt(ar,xe,Se,lt,Se+=(Gt-Se)*ar.value/nn):fr(ar,xe,Se,xe+=(lt-xe)*ar.value/nn,Gt),nn-=ar.value}else Le._squarify=Vt=Br(Xe,Le,xe,Se,lt,Gt),Vt.ratio=Xe}return ht.ratio=function(Le){return Ve((Le=+Le)>1?Le:1)},ht}(_r);e.cluster=l,e.hierarchy=_,e.pack=ce,e.packEnclose=V,e.packSiblings=Ee,e.partition=ot,e.stratify=er,e.tree=$t,e.treemap=Nr,e.treemapBinary=ut,e.treemapDice=rt,e.treemapResquarify=Ye,e.treemapSlice=fr,e.treemapSliceDice=Ne,e.treemapSquarify=Or,Object.defineProperty(e,\"__esModule\",{value:!0})})});var EE=ye(ME=>{\"use strict\";var ZEe=SE(),bkt=uo(),b5=Mr(),wkt=Mu().makeColorScaleFuncFromTrace,Tkt=y5().makePullColorFn,Akt=y5().generateExtendedColors,Skt=Mu().calc,Mkt=es().ALMOST_EQUAL,Ekt={},kkt={},Ckt={};ME.calc=function(e,t){var r=e._fullLayout,n=t.ids,i=b5.isArrayOrTypedArray(n),a=t.labels,o=t.parents,s=t.values,l=b5.isArrayOrTypedArray(s),u=[],c={},f={},h=function(G,N){c[G]?c[G].push(N):c[G]=[N],f[N]=1},d=function(G){return G||typeof G==\"number\"},v=function(G){return!l||bkt(s[G])&&s[G]>=0},x,b,p;i?(x=Math.min(n.length,o.length),b=function(G){return d(n[G])&&v(G)},p=function(G){return String(n[G])}):(x=Math.min(a.length,o.length),b=function(G){return d(a[G])&&v(G)},p=function(G){return String(a[G])}),l&&(x=Math.min(x,s.length));for(var E=0;E<x;E++)if(b(E)){var k=p(E),A=d(o[E])?String(o[E]):\"\",L={i:E,id:k,pid:A,label:d(a[E])?String(a[E]):\"\"};l&&(L.v=+s[E]),u.push(L),h(A,k)}if(c[\"\"]){if(c[\"\"].length>1){for(var M=b5.randstr(),g=0;g<u.length;g++)u[g].pid===\"\"&&(u[g].pid=M);u.unshift({hasMultipleRoots:!0,id:M,pid:\"\",label:\"\"})}}else{var _=[],C;for(C in c)f[C]||_.push(C);if(_.length===1)C=_[0],u.unshift({hasImpliedRoot:!0,id:C,pid:\"\",label:C});else return b5.warn([\"Multiple implied roots, cannot build\",t.type,\"hierarchy of\",t.name+\".\",\"These roots include:\",_.join(\", \")].join(\" \"))}var P;try{P=ZEe.stratify().id(function(G){return G.id}).parentId(function(G){return G.pid})(u)}catch(G){return b5.warn([\"Failed to build\",t.type,\"hierarchy of\",t.name+\".\",\"Error:\",G.message].join(\" \"))}var T=ZEe.hierarchy(P),F=!1;if(l)switch(t.branchvalues){case\"remainder\":T.sum(function(G){return G.data.v});break;case\"total\":T.each(function(G){var N=G.data.data,W=N.v;if(G.children){var re=G.children.reduce(function(ae,_e){return ae+_e.data.data.v},0);if((N.hasImpliedRoot||N.hasMultipleRoots)&&(W=re),W<re*Mkt)return F=!0,b5.warn([\"Total value for node\",G.data.data.id,\"of\",t.name,\"is smaller than the sum of its children.\",`\n", - "parent value =`,W,`\n", - "children sum =`,re].join(\" \"))}G.value=W});break}else XEe(T,t,{branches:t.count.indexOf(\"branches\")!==-1,leaves:t.count.indexOf(\"leaves\")!==-1});if(!F){t.sort&&T.sort(function(G,N){return N.value-G.value});var q,V,H=t.marker.colors||[],X=!!H.length;return t._hasColorscale?(X||(H=l?t.values:t._values),Skt(e,t,{vals:H,containerStr:\"marker\",cLetter:\"c\"}),V=wkt(t.marker)):q=Tkt(r[\"_\"+t.type+\"colormap\"]),T.each(function(G){var N=G.data.data;N.color=t._hasColorscale?V(H[N.i]):q(H[N.i],N.id)}),u[0].hierarchy=T,u}};ME._runCrossTraceCalc=function(e,t){var r=t._fullLayout,n=t.calcdata,i=r[e+\"colorway\"],a=r[\"_\"+e+\"colormap\"];r[\"extend\"+e+\"colors\"]&&(i=Akt(i,e===\"icicle\"?Ckt:e===\"treemap\"?kkt:Ekt));var o=0,s;function l(h){var d=h.data.data,v=d.id;d.color===!1&&(a[v]?d.color=a[v]:h.parent?h.parent.parent?d.color=h.parent.data.data.color:(a[v]=d.color=i[o%i.length],o++):d.color=s)}for(var u=0;u<n.length;u++){var c=n[u],f=c[0];f.trace.type===e&&f.hierarchy&&(s=f.trace.root.color,f.hierarchy.each(l))}};ME.crossTraceCalc=function(e){return ME._runCrossTraceCalc(\"sunburst\",e)};function XEe(e,t,r){var n=0,i=e.children;if(i){for(var a=i.length,o=0;o<a;o++)n+=XEe(i[o],t,r);r.branches&&n++}else r.leaves&&n++;return e.value=e.data.data.value=n,t._values||(t._values=[]),t._values[e.data.data.i]=n,n}});function Xy(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function G_(e,t){var r=Object.create(e.prototype);for(var n in t)r[n]=t[n];return r}var pD=Ll(()=>{});function Vm(){}function KEe(){return this.rgb().formatHex()}function qkt(){return this.rgb().formatHex8()}function Okt(){return ike(this).formatHsl()}function JEe(){return this.rgb().formatRgb()}function W_(e){var t,r;return e=(e+\"\").trim().toLowerCase(),(t=Lkt.exec(e))?(r=t[1].length,t=parseInt(t[1],16),r===6?$Ee(t):r===3?new hd(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?gD(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?gD(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Pkt.exec(e))?new hd(t[1],t[2],t[3],1):(t=Ikt.exec(e))?new hd(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Rkt.exec(e))?gD(t[1],t[2],t[3],t[4]):(t=Dkt.exec(e))?gD(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=zkt.exec(e))?tke(t[1],t[2]/100,t[3]/100,1):(t=Fkt.exec(e))?tke(t[1],t[2]/100,t[3]/100,t[4]):YEe.hasOwnProperty(e)?$Ee(YEe[e]):e===\"transparent\"?new hd(NaN,NaN,NaN,0):null}function $Ee(e){return new hd(e>>16&255,e>>8&255,e&255,1)}function gD(e,t,r,n){return n<=0&&(e=t=r=NaN),new hd(e,t,r,n)}function CE(e){return e instanceof Vm||(e=W_(e)),e?(e=e.rgb(),new hd(e.r,e.g,e.b,e.opacity)):new hd}function T5(e,t,r,n){return arguments.length===1?CE(e):new hd(e,t,r,n==null?1:n)}function hd(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}function QEe(){return`#${M2(this.r)}${M2(this.g)}${M2(this.b)}`}function Bkt(){return`#${M2(this.r)}${M2(this.g)}${M2(this.b)}${M2((isNaN(this.opacity)?1:this.opacity)*255)}`}function eke(){let e=yD(this.opacity);return`${e===1?\"rgb(\":\"rgba(\"}${E2(this.r)}, ${E2(this.g)}, ${E2(this.b)}${e===1?\")\":`, ${e})`}`}function yD(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function E2(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function M2(e){return e=E2(e),(e<16?\"0\":\"\")+e.toString(16)}function tke(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Zg(e,t,r,n)}function ike(e){if(e instanceof Zg)return new Zg(e.h,e.s,e.l,e.opacity);if(e instanceof Vm||(e=W_(e)),!e)return new Zg;if(e instanceof Zg)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=NaN,s=a-i,l=(a+i)/2;return s?(t===a?o=(r-n)/s+(r<n)*6:r===a?o=(n-t)/s+2:o=(t-r)/s+4,s/=l<.5?a+i:2-a-i,o*=60):s=l>0&&l<1?0:o,new Zg(o,s,l,e.opacity)}function LE(e,t,r,n){return arguments.length===1?ike(e):new Zg(e,t,r,n==null?1:n)}function Zg(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}function rke(e){return e=(e||0)%360,e<0?e+360:e}function mD(e){return Math.max(0,Math.min(1,e||0))}function oW(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}var j_,k2,w5,kE,Um,Lkt,Pkt,Ikt,Rkt,Dkt,zkt,Fkt,YEe,_D=Ll(()=>{pD();j_=.7,k2=1/j_,w5=\"\\\\s*([+-]?\\\\d+)\\\\s*\",kE=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",Um=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",Lkt=/^#([0-9a-f]{3,8})$/,Pkt=new RegExp(`^rgb\\\\(${w5},${w5},${w5}\\\\)$`),Ikt=new RegExp(`^rgb\\\\(${Um},${Um},${Um}\\\\)$`),Rkt=new RegExp(`^rgba\\\\(${w5},${w5},${w5},${kE}\\\\)$`),Dkt=new RegExp(`^rgba\\\\(${Um},${Um},${Um},${kE}\\\\)$`),zkt=new RegExp(`^hsl\\\\(${kE},${Um},${Um}\\\\)$`),Fkt=new RegExp(`^hsla\\\\(${kE},${Um},${Um},${kE}\\\\)$`),YEe={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};Xy(Vm,W_,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:KEe,formatHex:KEe,formatHex8:qkt,formatHsl:Okt,formatRgb:JEe,toString:JEe});Xy(hd,T5,G_(Vm,{brighter(e){return e=e==null?k2:Math.pow(k2,e),new hd(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?j_:Math.pow(j_,e),new hd(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new hd(E2(this.r),E2(this.g),E2(this.b),yD(this.opacity))},displayable(){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:QEe,formatHex:QEe,formatHex8:Bkt,formatRgb:eke,toString:eke}));Xy(Zg,LE,G_(Vm,{brighter(e){return e=e==null?k2:Math.pow(k2,e),new Zg(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?j_:Math.pow(j_,e),new Zg(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new hd(oW(e>=240?e-240:e+120,i,n),oW(e,i,n),oW(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new Zg(rke(this.h),mD(this.s),mD(this.l),yD(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=yD(this.opacity);return`${e===1?\"hsl(\":\"hsla(\"}${rke(this.h)}, ${mD(this.s)*100}%, ${mD(this.l)*100}%${e===1?\")\":`, ${e})`}`}}))});var xD,bD,sW=Ll(()=>{xD=Math.PI/180,bD=180/Math.PI});function uke(e){if(e instanceof Hm)return new Hm(e.l,e.a,e.b,e.opacity);if(e instanceof Yy)return cke(e);e instanceof hd||(e=CE(e));var t=fW(e.r),r=fW(e.g),n=fW(e.b),i=lW((.2225045*t+.7168786*r+.0606169*n)/ake),a,o;return t===r&&r===n?a=o=i:(a=lW((.4360747*t+.3850649*r+.1430804*n)/nke),o=lW((.0139322*t+.0971045*r+.7141733*n)/oke)),new Hm(116*i-16,500*(a-i),200*(i-o),e.opacity)}function S5(e,t,r,n){return arguments.length===1?uke(e):new Hm(e,t,r,n==null?1:n)}function Hm(e,t,r,n){this.l=+e,this.a=+t,this.b=+r,this.opacity=+n}function lW(e){return e>Nkt?Math.pow(e,1/3):e/lke+ske}function uW(e){return e>A5?e*e*e:lke*(e-ske)}function cW(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function fW(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Ukt(e){if(e instanceof Yy)return new Yy(e.h,e.c,e.l,e.opacity);if(e instanceof Hm||(e=uke(e)),e.a===0&&e.b===0)return new Yy(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*bD;return new Yy(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function PE(e,t,r,n){return arguments.length===1?Ukt(e):new Yy(e,t,r,n==null?1:n)}function Yy(e,t,r,n){this.h=+e,this.c=+t,this.l=+r,this.opacity=+n}function cke(e){if(isNaN(e.h))return new Hm(e.l,0,0,e.opacity);var t=e.h*xD;return new Hm(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}var wD,nke,ake,oke,ske,A5,lke,Nkt,fke=Ll(()=>{pD();_D();sW();wD=18,nke=.96422,ake=1,oke=.82521,ske=4/29,A5=6/29,lke=3*A5*A5,Nkt=A5*A5*A5;Xy(Hm,S5,G_(Vm,{brighter(e){return new Hm(this.l+wD*(e==null?1:e),this.a,this.b,this.opacity)},darker(e){return new Hm(this.l-wD*(e==null?1:e),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,r=isNaN(this.b)?e:e-this.b/200;return t=nke*uW(t),e=ake*uW(e),r=oke*uW(r),new hd(cW(3.1338561*t-1.6168667*e-.4906146*r),cW(-.9787684*t+1.9161415*e+.033454*r),cW(.0719453*t-.2289914*e+1.4052427*r),this.opacity)}}));Xy(Yy,PE,G_(Vm,{brighter(e){return new Yy(this.h,this.c,this.l+wD*(e==null?1:e),this.opacity)},darker(e){return new Yy(this.h,this.c,this.l-wD*(e==null?1:e),this.opacity)},rgb(){return cke(this).rgb()}}))});function Vkt(e){if(e instanceof C2)return new C2(e.h,e.s,e.l,e.opacity);e instanceof hd||(e=CE(e));var t=e.r/255,r=e.g/255,n=e.b/255,i=(vke*n+hke*t-dke*r)/(vke+hke-dke),a=n-i,o=(IE*(r-i)-dW*a)/TD,s=Math.sqrt(o*o+a*a)/(IE*i*(1-i)),l=s?Math.atan2(o,a)*bD-120:NaN;return new C2(l<0?l+360:l,s,i,e.opacity)}function M5(e,t,r,n){return arguments.length===1?Vkt(e):new C2(e,t,r,n==null?1:n)}function C2(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}var pke,hW,dW,TD,IE,hke,dke,vke,gke=Ll(()=>{pD();_D();sW();pke=-.14861,hW=1.78277,dW=-.29227,TD=-.90649,IE=1.97294,hke=IE*TD,dke=IE*hW,vke=hW*dW-TD*pke;Xy(C2,M5,G_(Vm,{brighter(e){return e=e==null?k2:Math.pow(k2,e),new C2(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?j_:Math.pow(j_,e),new C2(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*xD,t=+this.l,r=isNaN(this.s)?0:this.s*t*(1-t),n=Math.cos(e),i=Math.sin(e);return new hd(255*(t+r*(pke*n+hW*i)),255*(t+r*(dW*n+TD*i)),255*(t+r*(IE*n)),this.opacity)}}))});var L2=Ll(()=>{_D();fke();gke()});function vW(e,t,r,n,i){var a=e*e,o=a*e;return((1-3*e+3*a-o)*t+(4-6*a+3*o)*r+(1+3*e+3*a-3*o)*n+o*i)/6}function AD(e){var t=e.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,t-1):Math.floor(r*t),i=e[n],a=e[n+1],o=n>0?e[n-1]:2*i-a,s=n<t-1?e[n+2]:2*a-i;return vW((r-n/t)*t,o,i,a,s)}}var SD=Ll(()=>{});function MD(e){var t=e.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*t),i=e[(n+t-1)%t],a=e[n%t],o=e[(n+1)%t],s=e[(n+2)%t];return vW((r-n/t)*t,i,a,o,s)}}var pW=Ll(()=>{SD()});var E5,gW=Ll(()=>{E5=e=>()=>e});function mke(e,t){return function(r){return e+r*t}}function Hkt(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function Z_(e,t){var r=t-e;return r?mke(e,r>180||r<-180?r-360*Math.round(r/360):r):E5(isNaN(e)?t:e)}function yke(e){return(e=+e)==1?qf:function(t,r){return r-t?Hkt(t,r,e):E5(isNaN(t)?r:t)}}function qf(e,t){var r=t-e;return r?mke(e,r):E5(isNaN(e)?t:e)}var P2=Ll(()=>{gW()});function _ke(e){return function(t){var r=t.length,n=new Array(r),i=new Array(r),a=new Array(r),o,s;for(o=0;o<r;++o)s=T5(t[o]),n[o]=s.r||0,i[o]=s.g||0,a[o]=s.b||0;return n=e(n),i=e(i),a=e(a),s.opacity=1,function(l){return s.r=n(l),s.g=i(l),s.b=a(l),s+\"\"}}}var RE,xke,bke,mW=Ll(()=>{L2();SD();pW();P2();RE=function e(t){var r=yke(t);function n(i,a){var o=r((i=T5(i)).r,(a=T5(a)).r),s=r(i.g,a.g),l=r(i.b,a.b),u=qf(i.opacity,a.opacity);return function(c){return i.r=o(c),i.g=s(c),i.b=l(c),i.opacity=u(c),i+\"\"}}return n.gamma=e,n}(1);xke=_ke(AD),bke=_ke(MD)});function k5(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),i;return function(a){for(i=0;i<r;++i)n[i]=e[i]*(1-a)+t[i]*a;return n}}function ED(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}var kD=Ll(()=>{});function wke(e,t){return(ED(t)?k5:yW)(e,t)}function yW(e,t){var r=t?t.length:0,n=e?Math.min(r,e.length):0,i=new Array(n),a=new Array(r),o;for(o=0;o<n;++o)i[o]=X_(e[o],t[o]);for(;o<r;++o)a[o]=t[o];return function(s){for(o=0;o<n;++o)a[o]=i[o](s);return a}}var _W=Ll(()=>{DE();kD()});function CD(e,t){var r=new Date;return e=+e,t=+t,function(n){return r.setTime(e*(1-n)+t*n),r}}var xW=Ll(()=>{});function Fp(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}var zE=Ll(()=>{});function LD(e,t){var r={},n={},i;(e===null||typeof e!=\"object\")&&(e={}),(t===null||typeof t!=\"object\")&&(t={});for(i in t)i in e?r[i]=X_(e[i],t[i]):n[i]=t[i];return function(a){for(i in r)n[i]=r[i](a);return n}}var bW=Ll(()=>{DE()});function Gkt(e){return function(){return e}}function jkt(e){return function(t){return e(t)+\"\"}}function PD(e,t){var r=TW.lastIndex=wW.lastIndex=0,n,i,a,o=-1,s=[],l=[];for(e=e+\"\",t=t+\"\";(n=TW.exec(e))&&(i=wW.exec(t));)(a=i.index)>r&&(a=t.slice(r,a),s[o]?s[o]+=a:s[++o]=a),(n=n[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,l.push({i:o,x:Fp(n,i)})),r=wW.lastIndex;return r<t.length&&(a=t.slice(r),s[o]?s[o]+=a:s[++o]=a),s.length<2?l[0]?jkt(l[0].x):Gkt(t):(t=l.length,function(u){for(var c=0,f;c<t;++c)s[(f=l[c]).i]=f.x(u);return s.join(\"\")})}var TW,wW,AW=Ll(()=>{zE();TW=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,wW=new RegExp(TW.source,\"g\")});function X_(e,t){var r=typeof t,n;return t==null||r===\"boolean\"?E5(t):(r===\"number\"?Fp:r===\"string\"?(n=W_(t))?(t=n,RE):PD:t instanceof W_?RE:t instanceof Date?CD:ED(t)?k5:Array.isArray(t)?yW:typeof t.valueOf!=\"function\"&&typeof t.toString!=\"function\"||isNaN(t)?LD:Fp)(e,t)}var DE=Ll(()=>{L2();mW();_W();xW();zE();bW();AW();gW();kD()});function Tke(e){var t=e.length;return function(r){return e[Math.max(0,Math.min(t-1,Math.floor(r*t)))]}}var Ake=Ll(()=>{});function Ske(e,t){var r=Z_(+e,+t);return function(n){var i=r(n);return i-360*Math.floor(i/360)}}var Mke=Ll(()=>{P2()});function Eke(e,t){return e=+e,t=+t,function(r){return Math.round(e*(1-r)+t*r)}}var kke=Ll(()=>{});function SW(e,t,r,n,i,a){var o,s,l;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(l=e*r+t*n)&&(r-=e*l,n-=t*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),e*n<t*r&&(e=-e,t=-t,l=-l,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*Cke,skewX:Math.atan(l)*Cke,scaleX:o,scaleY:s}}var Cke,ID,Lke=Ll(()=>{Cke=180/Math.PI,ID={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1}});function Pke(e){let t=new(typeof DOMMatrix==\"function\"?DOMMatrix:WebKitCSSMatrix)(e+\"\");return t.isIdentity?ID:SW(t.a,t.b,t.c,t.d,t.e,t.f)}function Ike(e){return e==null?ID:(RD||(RD=document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\")),RD.setAttribute(\"transform\",e),(e=RD.transform.baseVal.consolidate())?(e=e.matrix,SW(e.a,e.b,e.c,e.d,e.e,e.f)):ID)}var RD,Rke=Ll(()=>{Lke()});function Dke(e,t,r,n){function i(u){return u.length?u.pop()+\" \":\"\"}function a(u,c,f,h,d,v){if(u!==f||c!==h){var x=d.push(\"translate(\",null,t,null,r);v.push({i:x-4,x:Fp(u,f)},{i:x-2,x:Fp(c,h)})}else(f||h)&&d.push(\"translate(\"+f+t+h+r)}function o(u,c,f,h){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),h.push({i:f.push(i(f)+\"rotate(\",null,n)-2,x:Fp(u,c)})):c&&f.push(i(f)+\"rotate(\"+c+n)}function s(u,c,f,h){u!==c?h.push({i:f.push(i(f)+\"skewX(\",null,n)-2,x:Fp(u,c)}):c&&f.push(i(f)+\"skewX(\"+c+n)}function l(u,c,f,h,d,v){if(u!==f||c!==h){var x=d.push(i(d)+\"scale(\",null,\",\",null,\")\");v.push({i:x-4,x:Fp(u,f)},{i:x-2,x:Fp(c,h)})}else(f!==1||h!==1)&&d.push(i(d)+\"scale(\"+f+\",\"+h+\")\")}return function(u,c){var f=[],h=[];return u=e(u),c=e(c),a(u.translateX,u.translateY,c.translateX,c.translateY,f,h),o(u.rotate,c.rotate,f,h),s(u.skewX,c.skewX,f,h),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,f,h),u=c=null,function(d){for(var v=-1,x=h.length,b;++v<x;)f[(b=h[v]).i]=b.x(d);return f.join(\"\")}}}var zke,Fke,qke=Ll(()=>{zE();Rke();zke=Dke(Pke,\"px, \",\"px)\",\"deg)\"),Fke=Dke(Ike,\", \",\")\",\")\")});function Oke(e){return((e=Math.exp(e))+1/e)/2}function Zkt(e){return((e=Math.exp(e))-1/e)/2}function Xkt(e){return((e=Math.exp(2*e))-1)/(e+1)}var Wkt,Bke,Nke=Ll(()=>{Wkt=1e-12;Bke=function e(t,r,n){function i(a,o){var s=a[0],l=a[1],u=a[2],c=o[0],f=o[1],h=o[2],d=c-s,v=f-l,x=d*d+v*v,b,p;if(x<Wkt)p=Math.log(h/u)/t,b=function(C){return[s+C*d,l+C*v,u*Math.exp(t*C*p)]};else{var E=Math.sqrt(x),k=(h*h-u*u+n*x)/(2*u*r*E),A=(h*h-u*u-n*x)/(2*h*r*E),L=Math.log(Math.sqrt(k*k+1)-k),_=Math.log(Math.sqrt(A*A+1)-A);p=(_-L)/t,b=function(C){var M=C*p,g=Oke(L),P=u/(r*E)*(g*Xkt(t*M+L)-Zkt(L));return[s+P*d,l+P*v,u*g/Oke(t*M+L)]}}return b.duration=p*1e3*t/Math.SQRT2,b}return i.rho=function(a){var o=Math.max(.001,+a),s=o*o,l=s*s;return e(o,s,l)},i}(Math.SQRT2,2,4)});function Uke(e){return function(t,r){var n=e((t=LE(t)).h,(r=LE(r)).h),i=qf(t.s,r.s),a=qf(t.l,r.l),o=qf(t.opacity,r.opacity);return function(s){return t.h=n(s),t.s=i(s),t.l=a(s),t.opacity=o(s),t+\"\"}}}var Vke,Hke,Gke=Ll(()=>{L2();P2();Vke=Uke(Z_),Hke=Uke(qf)});function MW(e,t){var r=qf((e=S5(e)).l,(t=S5(t)).l),n=qf(e.a,t.a),i=qf(e.b,t.b),a=qf(e.opacity,t.opacity);return function(o){return e.l=r(o),e.a=n(o),e.b=i(o),e.opacity=a(o),e+\"\"}}var jke=Ll(()=>{L2();P2()});function Wke(e){return function(t,r){var n=e((t=PE(t)).h,(r=PE(r)).h),i=qf(t.c,r.c),a=qf(t.l,r.l),o=qf(t.opacity,r.opacity);return function(s){return t.h=n(s),t.c=i(s),t.l=a(s),t.opacity=o(s),t+\"\"}}}var Zke,Xke,Yke=Ll(()=>{L2();P2();Zke=Wke(Z_),Xke=Wke(qf)});function Kke(e){return function t(r){r=+r;function n(i,a){var o=e((i=M5(i)).h,(a=M5(a)).h),s=qf(i.s,a.s),l=qf(i.l,a.l),u=qf(i.opacity,a.opacity);return function(c){return i.h=o(c),i.s=s(c),i.l=l(Math.pow(c,r)),i.opacity=u(c),i+\"\"}}return n.gamma=t,n}(1)}var Jke,$ke,Qke=Ll(()=>{L2();P2();Jke=Kke(Z_),$ke=Kke(qf)});function EW(e,t){t===void 0&&(t=e,e=X_);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r<n;)a[r]=e(i,i=t[++r]);return function(o){var s=Math.max(0,Math.min(n-1,Math.floor(o*=n)));return a[s](o-s)}}var eCe=Ll(()=>{DE()});function tCe(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e(n/(t-1));return r}var rCe=Ll(()=>{});var I2={};QQ(I2,{interpolate:()=>X_,interpolateArray:()=>wke,interpolateBasis:()=>AD,interpolateBasisClosed:()=>MD,interpolateCubehelix:()=>Jke,interpolateCubehelixLong:()=>$ke,interpolateDate:()=>CD,interpolateDiscrete:()=>Tke,interpolateHcl:()=>Zke,interpolateHclLong:()=>Xke,interpolateHsl:()=>Vke,interpolateHslLong:()=>Hke,interpolateHue:()=>Ske,interpolateLab:()=>MW,interpolateNumber:()=>Fp,interpolateNumberArray:()=>k5,interpolateObject:()=>LD,interpolateRgb:()=>RE,interpolateRgbBasis:()=>xke,interpolateRgbBasisClosed:()=>bke,interpolateRound:()=>Eke,interpolateString:()=>PD,interpolateTransformCss:()=>zke,interpolateTransformSvg:()=>Fke,interpolateZoom:()=>Bke,piecewise:()=>EW,quantize:()=>tCe});var R2=Ll(()=>{DE();_W();SD();pW();xW();Ake();Mke();zE();kD();bW();kke();AW();qke();Nke();mW();Gke();jke();Yke();Qke();eCe();rCe()});var DD=ye((cdr,iCe)=>{\"use strict\";var Ykt=ao(),Kkt=va();iCe.exports=function(t,r,n,i,a){var o=r.data.data,s=o.i,l=a||o.color;if(s>=0){r.i=o.i;var u=n.marker;u.pattern?(!u.colors||!u.pattern.shape)&&(u.color=l,r.color=l):(u.color=l,r.color=l),Ykt.pointStyle(t,n,i,r)}else Kkt.fill(t,l)}});var kW=ye((fdr,lCe)=>{\"use strict\";var nCe=xa(),aCe=va(),oCe=Mr(),Jkt=_v().resizeText,$kt=DD();function Qkt(e){var t=e._fullLayout._sunburstlayer.selectAll(\".trace\");Jkt(e,t,\"sunburst\"),t.each(function(r){var n=nCe.select(this),i=r[0],a=i.trace;n.style(\"opacity\",a.opacity),n.selectAll(\"path.surface\").each(function(o){nCe.select(this).call(sCe,o,a,e)})})}function sCe(e,t,r,n){var i=t.data.data,a=!t.children,o=i.i,s=oCe.castOption(r,o,\"marker.line.color\")||aCe.defaultLine,l=oCe.castOption(r,o,\"marker.line.width\")||0;e.call($kt,t,r,n).style(\"stroke-width\",l).call(aCe.stroke,s).style(\"opacity\",a?r.leaf.opacity:null)}lCe.exports={style:Qkt,styleOne:sCe}});var Ky=ye(bs=>{\"use strict\";var D2=Mr(),eCt=va(),tCt=Tg(),uCe=u_();bs.findEntryWithLevel=function(e,t){var r;return t&&e.eachAfter(function(n){if(bs.getPtId(n)===t)return r=n.copy()}),r||e};bs.findEntryWithChild=function(e,t){var r;return e.eachAfter(function(n){for(var i=n.children||[],a=0;a<i.length;a++){var o=i[a];if(bs.getPtId(o)===t)return r=n.copy()}}),r||e};bs.isEntry=function(e){return!e.parent};bs.isLeaf=function(e){return!e.children};bs.getPtId=function(e){return e.data.data.id};bs.getPtLabel=function(e){return e.data.data.label};bs.getValue=function(e){return e.value};bs.isHierarchyRoot=function(e){return cCe(e)===\"\"};bs.setSliceCursor=function(e,t,r){var n=r.isTransitioning;if(!n){var i=e.datum();n=r.hideOnRoot&&bs.isHierarchyRoot(i)||r.hideOnLeaves&&bs.isLeaf(i)}tCt(e,n?null:\"pointer\")};function rCt(e,t,r){return{color:bs.getOutsideTextFontKey(\"color\",e,t,r),family:bs.getOutsideTextFontKey(\"family\",e,t,r),size:bs.getOutsideTextFontKey(\"size\",e,t,r),weight:bs.getOutsideTextFontKey(\"weight\",e,t,r),style:bs.getOutsideTextFontKey(\"style\",e,t,r),variant:bs.getOutsideTextFontKey(\"variant\",e,t,r),textcase:bs.getOutsideTextFontKey(\"textcase\",e,t,r),lineposition:bs.getOutsideTextFontKey(\"lineposition\",e,t,r),shadow:bs.getOutsideTextFontKey(\"shadow\",e,t,r)}}function iCt(e,t,r,n){var i=(n||{}).onPathbar,a=t.data.data,o=a.i,s=D2.castOption(e,o,(i?\"pathbar.textfont\":\"insidetextfont\")+\".color\");return!s&&e._input.textfont&&(s=D2.castOption(e._input,o,\"textfont.color\")),{color:s||eCt.contrast(a.color),family:bs.getInsideTextFontKey(\"family\",e,t,r,n),size:bs.getInsideTextFontKey(\"size\",e,t,r,n),weight:bs.getInsideTextFontKey(\"weight\",e,t,r,n),style:bs.getInsideTextFontKey(\"style\",e,t,r,n),variant:bs.getInsideTextFontKey(\"variant\",e,t,r,n),textcase:bs.getInsideTextFontKey(\"textcase\",e,t,r,n),lineposition:bs.getInsideTextFontKey(\"lineposition\",e,t,r,n),shadow:bs.getInsideTextFontKey(\"shadow\",e,t,r,n)}}bs.getInsideTextFontKey=function(e,t,r,n,i){var a=(i||{}).onPathbar,o=a?\"pathbar.textfont\":\"insidetextfont\",s=r.data.data.i;return D2.castOption(t,s,o+\".\"+e)||D2.castOption(t,s,\"textfont.\"+e)||n.size};bs.getOutsideTextFontKey=function(e,t,r,n){var i=r.data.data.i;return D2.castOption(t,i,\"outsidetextfont.\"+e)||D2.castOption(t,i,\"textfont.\"+e)||n.size};bs.isOutsideText=function(e,t){return!e._hasColorscale&&bs.isHierarchyRoot(t)};bs.determineTextFont=function(e,t,r,n){return bs.isOutsideText(e,t)?rCt(e,t,r):iCt(e,t,r,n)};bs.hasTransition=function(e){return!!(e&&e.duration>0)};bs.getMaxDepth=function(e){return e.maxdepth>=0?e.maxdepth:1/0};bs.isHeader=function(e,t){return!(bs.isLeaf(e)||e.depth===t._maxDepth-1)};function cCe(e){return e.data.data.pid}bs.getParent=function(e,t){return bs.findEntryWithLevel(e,cCe(t))};bs.listPath=function(e,t){var r=e.parent;if(!r)return[];var n=t?[r.data[t]]:[r];return bs.listPath(r,t).concat(n)};bs.getPath=function(e){return bs.listPath(e,\"label\").join(\"/\")+\"/\"};bs.formatValue=uCe.formatPieValue;bs.formatPercent=function(e,t){var r=D2.formatPercent(e,0);return r===\"0%\"&&(r=uCe.formatPiePercent(e,t)),r}});var OE=ye((ddr,dCe)=>{\"use strict\";var C5=xa(),fCe=ba(),nCt=rp().appendArrayPointValue,FE=Nc(),hCe=Mr(),aCt=g3(),Wh=Ky(),oCt=u_(),sCt=oCt.formatPieValue;dCe.exports=function(t,r,n,i,a){var o=i[0],s=o.trace,l=o.hierarchy,u=s.type===\"sunburst\",c=s.type===\"treemap\"||s.type===\"icicle\";\"_hasHoverLabel\"in s||(s._hasHoverLabel=!1),\"_hasHoverEvent\"in s||(s._hasHoverEvent=!1);var f=function(v){var x=n._fullLayout;if(!(n._dragging||x.hovermode===!1)){var b=n._fullData[s.index],p=v.data.data,E=p.i,k=Wh.isHierarchyRoot(v),A=Wh.getParent(l,v),L=Wh.getValue(v),_=function(Me){return hCe.castOption(b,E,Me)},C=_(\"hovertemplate\"),M=FE.castHoverinfo(b,x,E),g=x.separators,P;if(C||M&&M!==\"none\"&&M!==\"skip\"){var T,F;u&&(T=o.cx+v.pxmid[0]*(1-v.rInscribed),F=o.cy+v.pxmid[1]*(1-v.rInscribed)),c&&(T=v._hoverX,F=v._hoverY);var q={},V=[],H=[],X=function(Me){return V.indexOf(Me)!==-1};M&&(V=M===\"all\"?b._module.attributes.hoverinfo.flags:M.split(\"+\")),q.label=p.label,X(\"label\")&&q.label&&H.push(q.label),p.hasOwnProperty(\"v\")&&(q.value=p.v,q.valueLabel=sCt(q.value,g),X(\"value\")&&H.push(q.valueLabel)),q.currentPath=v.currentPath=Wh.getPath(v.data),X(\"current path\")&&!k&&H.push(q.currentPath);var G,N=[],W=function(){N.indexOf(G)===-1&&(H.push(G),N.push(G))};q.percentParent=v.percentParent=L/Wh.getValue(A),q.parent=v.parentString=Wh.getPtLabel(A),X(\"percent parent\")&&(G=Wh.formatPercent(q.percentParent,g)+\" of \"+q.parent,W()),q.percentEntry=v.percentEntry=L/Wh.getValue(r),q.entry=v.entry=Wh.getPtLabel(r),X(\"percent entry\")&&!k&&!v.onPathbar&&(G=Wh.formatPercent(q.percentEntry,g)+\" of \"+q.entry,W()),q.percentRoot=v.percentRoot=L/Wh.getValue(l),q.root=v.root=Wh.getPtLabel(l),X(\"percent root\")&&!k&&(G=Wh.formatPercent(q.percentRoot,g)+\" of \"+q.root,W()),q.text=_(\"hovertext\")||_(\"text\"),X(\"text\")&&(G=q.text,hCe.isValidTextValue(G)&&H.push(G)),P=[qE(v,b,a.eventDataKeys)];var re={trace:b,y:F,_x0:v._x0,_x1:v._x1,_y0:v._y0,_y1:v._y1,text:H.join(\"<br>\"),name:C||X(\"name\")?b.name:void 0,color:_(\"hoverlabel.bgcolor\")||p.color,borderColor:_(\"hoverlabel.bordercolor\"),fontFamily:_(\"hoverlabel.font.family\"),fontSize:_(\"hoverlabel.font.size\"),fontColor:_(\"hoverlabel.font.color\"),fontWeight:_(\"hoverlabel.font.weight\"),fontStyle:_(\"hoverlabel.font.style\"),fontVariant:_(\"hoverlabel.font.variant\"),nameLength:_(\"hoverlabel.namelength\"),textAlign:_(\"hoverlabel.align\"),hovertemplate:C,hovertemplateLabels:q,eventData:P};u&&(re.x0=T-v.rInscribed*v.rpx1,re.x1=T+v.rInscribed*v.rpx1,re.idealAlign=v.pxmid[0]<0?\"left\":\"right\"),c&&(re.x=T,re.idealAlign=T<0?\"left\":\"right\");var ae=[];FE.loneHover(re,{container:x._hoverlayer.node(),outerContainer:x._paper.node(),gd:n,inOut_bbox:ae}),P[0].bbox=ae[0],s._hasHoverLabel=!0}if(c){var _e=t.select(\"path.surface\");a.styleOne(_e,v,b,n,{hovered:!0})}s._hasHoverEvent=!0,n.emit(\"plotly_hover\",{points:P||[qE(v,b,a.eventDataKeys)],event:C5.event})}},h=function(v){var x=n._fullLayout,b=n._fullData[s.index],p=C5.select(this).datum();if(s._hasHoverEvent&&(v.originalEvent=C5.event,n.emit(\"plotly_unhover\",{points:[qE(p,b,a.eventDataKeys)],event:C5.event}),s._hasHoverEvent=!1),s._hasHoverLabel&&(FE.loneUnhover(x._hoverlayer.node()),s._hasHoverLabel=!1),c){var E=t.select(\"path.surface\");a.styleOne(E,p,b,n,{hovered:!1})}},d=function(v){var x=n._fullLayout,b=n._fullData[s.index],p=u&&(Wh.isHierarchyRoot(v)||Wh.isLeaf(v)),E=Wh.getPtId(v),k=Wh.isEntry(v)?Wh.findEntryWithChild(l,E):Wh.findEntryWithLevel(l,E),A=Wh.getPtId(k),L={points:[qE(v,b,a.eventDataKeys)],event:C5.event};p||(L.nextLevel=A);var _=aCt.triggerHandler(n,\"plotly_\"+s.type+\"click\",L);if(_!==!1&&x.hovermode&&(n._hoverdata=[qE(v,b,a.eventDataKeys)],FE.click(n,C5.event)),!p&&_!==!1&&!n._dragging&&!n._transitioning){fCe.call(\"_storeDirectGUIEdit\",b,x._tracePreGUI[b.uid],{level:b.level});var C={data:[{level:A}],traces:[s.index]},M={frame:{redraw:!1,duration:a.transitionTime},transition:{duration:a.transitionTime,easing:a.transitionEasing},mode:\"immediate\",fromcurrent:!0};FE.loneUnhover(x._hoverlayer.node()),fCe.call(\"animate\",n,C,M)}};t.on(\"mouseover\",f),t.on(\"mouseout\",h),t.on(\"click\",d)};function qE(e,t,r){for(var n=e.data.data,i={curveNumber:t.index,pointNumber:n.i,data:t._input,fullData:t},a=0;a<r.length;a++){var o=r[a];o in e&&(i[o]=e[o])}return\"parentString\"in e&&!Wh.isHierarchyRoot(e)&&(i.parent=e.parentString),nCt(i,t,n.i),i}});var FD=ye(zD=>{\"use strict\";var BE=xa(),lCt=SE(),Xg=(R2(),B1(I2)).interpolate,vCe=ao(),bv=Mr(),uCt=Pl(),yCe=_v(),pCe=yCe.recordMinTextSize,cCt=yCe.clearMinTextSize,_Ce=dD(),fCt=u_().getRotationAngle,hCt=_Ce.computeTransform,dCt=_Ce.transformInsideText,vCt=kW().styleOne,pCt=N0().resizeText,gCt=OE(),CW=nW(),sl=Ky();zD.plot=function(e,t,r,n){var i=e._fullLayout,a=i._sunburstlayer,o,s,l=!r,u=!i.uniformtext.mode&&sl.hasTransition(r);if(cCt(\"sunburst\",i),o=a.selectAll(\"g.trace.sunburst\").data(t,function(f){return f[0].trace.uid}),o.enter().append(\"g\").classed(\"trace\",!0).classed(\"sunburst\",!0).attr(\"stroke-linejoin\",\"round\"),o.order(),u){n&&(s=n());var c=BE.transition().duration(r.duration).ease(r.easing).each(\"end\",function(){s&&s()}).each(\"interrupt\",function(){s&&s()});c.each(function(){a.selectAll(\"g.trace\").each(function(f){gCe(e,f,this,r)})})}else o.each(function(f){gCe(e,f,this,r)}),i.uniformtext.mode&&pCt(e,i._sunburstlayer.selectAll(\".trace\"),\"sunburst\");l&&o.exit().remove()};function gCe(e,t,r,n){var i=e._context.staticPlot,a=e._fullLayout,o=!a.uniformtext.mode&&sl.hasTransition(n),s=BE.select(r),l=s.selectAll(\"g.slice\"),u=t[0],c=u.trace,f=u.hierarchy,h=sl.findEntryWithLevel(f,c.level),d=sl.getMaxDepth(c),v=a._size,x=c.domain,b=v.w*(x.x[1]-x.x[0]),p=v.h*(x.y[1]-x.y[0]),E=.5*Math.min(b,p),k=u.cx=v.l+v.w*(x.x[1]+x.x[0])/2,A=u.cy=v.t+v.h*(1-x.y[0])-p/2;if(!h)return l.remove();var L=null,_={};o&&l.each(function(ge){_[sl.getPtId(ge)]={rpx0:ge.rpx0,rpx1:ge.rpx1,x0:ge.x0,x1:ge.x1,transform:ge.transform},!L&&sl.isEntry(ge)&&(L=ge)});var C=mCt(h).descendants(),M=h.height+1,g=0,P=d;u.hasMultipleRoots&&sl.isHierarchyRoot(h)&&(C=C.slice(1),M-=1,g=1,P+=1),C=C.filter(function(ge){return ge.y1<=P});var T=fCt(c.rotation);T&&C.forEach(function(ge){ge.x0+=T,ge.x1+=T});var F=Math.min(M,d),q=function(ge){return(ge-g)/F*E},V=function(ge,ie){return[ge*Math.cos(ie),-ge*Math.sin(ie)]},H=function(ge){return bv.pathAnnulus(ge.rpx0,ge.rpx1,ge.x0,ge.x1,k,A)},X=function(ge){return k+mCe(ge)[0]*(ge.transform.rCenter||0)+(ge.transform.x||0)},G=function(ge){return A+mCe(ge)[1]*(ge.transform.rCenter||0)+(ge.transform.y||0)};l=l.data(C,sl.getPtId),l.enter().append(\"g\").classed(\"slice\",!0),o?l.exit().transition().each(function(){var ge=BE.select(this),ie=ge.select(\"path.surface\");ie.transition().attrTween(\"d\",function(Ee){var Ae=ae(Ee);return function(ze){return H(Ae(ze))}});var Te=ge.select(\"g.slicetext\");Te.attr(\"opacity\",0)}).remove():l.exit().remove(),l.order();var N=null;if(o&&L){var W=sl.getPtId(L);l.each(function(ge){N===null&&sl.getPtId(ge)===W&&(N=ge.x1)})}var re=l;o&&(re=re.transition().each(\"end\",function(){var ge=BE.select(this);sl.setSliceCursor(ge,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:!1})})),re.each(function(ge){var ie=BE.select(this),Te=bv.ensureSingle(ie,\"path\",\"surface\",function(Re){Re.style(\"pointer-events\",i?\"none\":\"all\")});ge.rpx0=q(ge.y0),ge.rpx1=q(ge.y1),ge.xmid=(ge.x0+ge.x1)/2,ge.pxmid=V(ge.rpx1,ge.xmid),ge.midangle=-(ge.xmid-Math.PI/2),ge.startangle=-(ge.x0-Math.PI/2),ge.stopangle=-(ge.x1-Math.PI/2),ge.halfangle=.5*Math.min(bv.angleDelta(ge.x0,ge.x1)||Math.PI,Math.PI),ge.ring=1-ge.rpx0/ge.rpx1,ge.rInscribed=yCt(ge,c),o?Te.transition().attrTween(\"d\",function(Re){var ce=_e(Re);return function(Ge){return H(ce(Ge))}}):Te.attr(\"d\",H),ie.call(gCt,h,e,t,{eventDataKeys:CW.eventDataKeys,transitionTime:CW.CLICK_TRANSITION_TIME,transitionEasing:CW.CLICK_TRANSITION_EASING}).call(sl.setSliceCursor,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:e._transitioning}),Te.call(vCt,ge,c,e);var Ee=bv.ensureSingle(ie,\"g\",\"slicetext\"),Ae=bv.ensureSingle(Ee,\"text\",\"\",function(Re){Re.attr(\"data-notex\",1)}),ze=bv.ensureUniformFontSize(e,sl.determineTextFont(c,ge,a.font));Ae.text(zD.formatSliceLabel(ge,h,c,t,a)).classed(\"slicetext\",!0).attr(\"text-anchor\",\"middle\").call(vCe.font,ze).call(uCt.convertToTspans,e);var Ce=vCe.bBox(Ae.node());ge.transform=dCt(Ce,ge,u),ge.transform.targetX=X(ge),ge.transform.targetY=G(ge);var me=function(Re,ce){var Ge=Re.transform;return hCt(Ge,ce),Ge.fontSize=ze.size,pCe(c.type,Ge,a),bv.getTextTransform(Ge)};o?Ae.transition().attrTween(\"transform\",function(Re){var ce=Me(Re);return function(Ge){return me(ce(Ge),Ce)}}):Ae.attr(\"transform\",me(ge,Ce))});function ae(ge){var ie=sl.getPtId(ge),Te=_[ie],Ee=_[sl.getPtId(h)],Ae;if(Ee){var ze=(ge.x1>Ee.x1?2*Math.PI:0)+T;Ae=ge.rpx1<Ee.rpx1?{x0:ge.x0,x1:ge.x1,rpx0:0,rpx1:0}:{x0:ze,x1:ze,rpx0:ge.rpx0,rpx1:ge.rpx1}}else{var Ce,me=sl.getPtId(ge.parent);l.each(function(ct){if(sl.getPtId(ct)===me)return Ce=ct});var Re=Ce.children,ce;Re.forEach(function(ct,qt){if(sl.getPtId(ct)===ie)return ce=qt});var Ge=Re.length,nt=Xg(Ce.x0,Ce.x1);Ae={rpx0:E,rpx1:E,x0:nt(ce/Ge),x1:nt((ce+1)/Ge)}}return Xg(Te,Ae)}function _e(ge){var ie=_[sl.getPtId(ge)],Te,Ee={x0:ge.x0,x1:ge.x1,rpx0:ge.rpx0,rpx1:ge.rpx1};if(ie)Te=ie;else if(L)if(ge.parent)if(N){var Ae=(ge.x1>N?2*Math.PI:0)+T;Te={x0:Ae,x1:Ae}}else Te={rpx0:E,rpx1:E},bv.extendFlat(Te,ke(ge));else Te={rpx0:0,rpx1:0};else Te={x0:T,x1:T};return Xg(Te,Ee)}function Me(ge){var ie=_[sl.getPtId(ge)],Te,Ee=ge.transform;if(ie)Te=ie;else if(Te={rpx1:ge.rpx1,transform:{textPosAngle:Ee.textPosAngle,scale:0,rotate:Ee.rotate,rCenter:Ee.rCenter,x:Ee.x,y:Ee.y}},L)if(ge.parent)if(N){var Ae=ge.x1>N?2*Math.PI:0;Te.x0=Te.x1=Ae}else bv.extendFlat(Te,ke(ge));else Te.x0=Te.x1=T;else Te.x0=Te.x1=T;var ze=Xg(Te.transform.textPosAngle,ge.transform.textPosAngle),Ce=Xg(Te.rpx1,ge.rpx1),me=Xg(Te.x0,ge.x0),Re=Xg(Te.x1,ge.x1),ce=Xg(Te.transform.scale,Ee.scale),Ge=Xg(Te.transform.rotate,Ee.rotate),nt=Ee.rCenter===0?3:Te.transform.rCenter===0?1/3:1,ct=Xg(Te.transform.rCenter,Ee.rCenter),qt=function(rt){return ct(Math.pow(rt,nt))};return function(rt){var ot=Ce(rt),Rt=me(rt),kt=Re(rt),Ct=qt(rt),Yt=V(ot,(Rt+kt)/2),xr=ze(rt),er={pxmid:Yt,rpx1:ot,transform:{textPosAngle:xr,rCenter:Ct,x:Ee.x,y:Ee.y}};return pCe(c.type,Ee,a),{transform:{targetX:X(er),targetY:G(er),scale:ce(rt),rotate:Ge(rt),rCenter:Ct}}}}function ke(ge){var ie=ge.parent,Te=_[sl.getPtId(ie)],Ee={};if(Te){var Ae=ie.children,ze=Ae.indexOf(ge),Ce=Ae.length,me=Xg(Te.x0,Te.x1);Ee.x0=me(ze/Ce),Ee.x1=me(ze/Ce)}else Ee.x0=Ee.x1=0;return Ee}}function mCt(e){return lCt.partition().size([2*Math.PI,e.height+1])(e)}zD.formatSliceLabel=function(e,t,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!a&&(!o||o===\"none\"))return\"\";var s=i.separators,l=n[0],u=e.data.data,c=l.hierarchy,f=sl.isHierarchyRoot(e),h=sl.getParent(c,e),d=sl.getValue(e);if(!a){var v=o.split(\"+\"),x=function(g){return v.indexOf(g)!==-1},b=[],p;if(x(\"label\")&&u.label&&b.push(u.label),u.hasOwnProperty(\"v\")&&x(\"value\")&&b.push(sl.formatValue(u.v,s)),!f){x(\"current path\")&&b.push(sl.getPath(e.data));var E=0;x(\"percent parent\")&&E++,x(\"percent entry\")&&E++,x(\"percent root\")&&E++;var k=E>1;if(E){var A,L=function(g){p=sl.formatPercent(A,s),k&&(p+=\" of \"+g),b.push(p)};x(\"percent parent\")&&!f&&(A=d/sl.getValue(h),L(\"parent\")),x(\"percent entry\")&&(A=d/sl.getValue(t),L(\"entry\")),x(\"percent root\")&&(A=d/sl.getValue(c),L(\"root\"))}}return x(\"text\")&&(p=bv.castOption(r,u.i,\"text\"),bv.isValidTextValue(p)&&b.push(p)),b.join(\"<br>\")}var _=bv.castOption(r,u.i,\"texttemplate\");if(!_)return\"\";var C={};u.label&&(C.label=u.label),u.hasOwnProperty(\"v\")&&(C.value=u.v,C.valueLabel=sl.formatValue(u.v,s)),C.currentPath=sl.getPath(e.data),f||(C.percentParent=d/sl.getValue(h),C.percentParentLabel=sl.formatPercent(C.percentParent,s),C.parent=sl.getPtLabel(h)),C.percentEntry=d/sl.getValue(t),C.percentEntryLabel=sl.formatPercent(C.percentEntry,s),C.entry=sl.getPtLabel(t),C.percentRoot=d/sl.getValue(c),C.percentRootLabel=sl.formatPercent(C.percentRoot,s),C.root=sl.getPtLabel(c),u.hasOwnProperty(\"color\")&&(C.color=u.color);var M=bv.castOption(r,u.i,\"text\");return(bv.isValidTextValue(M)||M===\"\")&&(C.text=M),C.customdata=bv.castOption(r,u.i,\"customdata\"),bv.texttemplateString(_,C,i._d3locale,C,r._meta||{})};function yCt(e){return e.rpx0===0&&bv.isFullCircle([e.x0,e.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2))}function mCe(e){return _Ct(e.rpx1,e.transform.textPosAngle)}function _Ct(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}});var bCe=ye((pdr,xCe)=>{\"use strict\";xCe.exports={moduleType:\"trace\",name:\"sunburst\",basePlotModule:zEe(),categories:[],animatable:!0,attributes:AE(),layoutAttributes:aW(),supplyDefaults:HEe(),supplyLayoutDefaults:jEe(),calc:EE().calc,crossTraceCalc:EE().crossTraceCalc,plot:FD().plot,style:kW().style,colorbar:Kd(),meta:{}}});var TCe=ye((gdr,wCe)=>{\"use strict\";wCe.exports=bCe()});var SCe=ye(L5=>{\"use strict\";var ACe=Xu();L5.name=\"treemap\";L5.plot=function(e,t,r,n){ACe.plotBasePlot(L5.name,e,t,r,n)};L5.clean=function(e,t,r,n){ACe.cleanBasePlot(L5.name,e,t,r,n)}});var z2=ye((ydr,MCe)=>{\"use strict\";MCe.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"poly\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"],gapWithPathbar:1}});var qD=ye((_dr,kCe)=>{\"use strict\";var xCt=Wo().hovertemplateAttrs,bCt=Wo().texttemplateAttrs,wCt=Jl(),TCt=Ju().attributes,F2=A2(),Q0=AE(),ECe=z2(),LW=no().extendFlat,ACt=Ed().pattern;kCe.exports={labels:Q0.labels,parents:Q0.parents,values:Q0.values,branchvalues:Q0.branchvalues,count:Q0.count,level:Q0.level,maxdepth:Q0.maxdepth,tiling:{packing:{valType:\"enumerated\",values:[\"squarify\",\"binary\",\"dice\",\"slice\",\"slice-dice\",\"dice-slice\"],dflt:\"squarify\",editType:\"plot\"},squarifyratio:{valType:\"number\",min:1,dflt:1,editType:\"plot\"},flip:{valType:\"flaglist\",flags:[\"x\",\"y\"],dflt:\"\",editType:\"plot\"},pad:{valType:\"number\",min:0,dflt:3,editType:\"plot\"},editType:\"calc\"},marker:LW({pad:{t:{valType:\"number\",min:0,editType:\"plot\"},l:{valType:\"number\",min:0,editType:\"plot\"},r:{valType:\"number\",min:0,editType:\"plot\"},b:{valType:\"number\",min:0,editType:\"plot\"},editType:\"calc\"},colors:Q0.marker.colors,pattern:ACt,depthfade:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],editType:\"style\"},line:Q0.marker.line,cornerradius:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},wCt(\"marker\",{colorAttr:\"colors\",anim:!1})),pathbar:{visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},edgeshape:{valType:\"enumerated\",values:[\">\",\"<\",\"|\",\"/\",\"\\\\\"],dflt:\">\",editType:\"plot\"},thickness:{valType:\"number\",min:12,editType:\"plot\"},textfont:LW({},F2.textfont,{}),editType:\"calc\"},text:F2.text,textinfo:Q0.textinfo,texttemplate:bCt({editType:\"plot\"},{keys:ECe.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:F2.hovertext,hoverinfo:Q0.hoverinfo,hovertemplate:xCt({},{keys:ECe.eventDataKeys}),textfont:F2.textfont,insidetextfont:F2.insidetextfont,outsidetextfont:LW({},F2.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:F2.sort,root:Q0.root,domain:TCt({name:\"treemap\",trace:!0,editType:\"calc\"})}});var PW=ye((xdr,CCe)=>{\"use strict\";CCe.exports={treemapcolorway:{valType:\"colorlist\",editType:\"calc\"},extendtreemapcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var RCe=ye((bdr,ICe)=>{\"use strict\";var LCe=Mr(),SCt=qD(),MCt=va(),ECt=Ju().defaults,kCt=r0().handleText,CCt=Qb().TEXTPAD,LCt=S2().handleMarkerDefaults,PCe=Mu(),PCt=PCe.hasColorscale,ICt=PCe.handleDefaults;ICe.exports=function(t,r,n,i){function a(b,p){return LCe.coerce(t,r,SCt,b,p)}var o=a(\"labels\"),s=a(\"parents\");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a(\"values\");l&&l.length?a(\"branchvalues\"):a(\"count\"),a(\"level\"),a(\"maxdepth\");var u=a(\"tiling.packing\");u===\"squarify\"&&a(\"tiling.squarifyratio\"),a(\"tiling.flip\"),a(\"tiling.pad\");var c=a(\"text\");a(\"texttemplate\"),r.texttemplate||a(\"textinfo\",LCe.isArrayOrTypedArray(c)?\"text+label\":\"label\"),a(\"hovertext\"),a(\"hovertemplate\");var f=a(\"pathbar.visible\"),h=\"auto\";kCt(t,r,i,a,h,{hasPathbar:f,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a(\"textposition\");var d=r.textposition.indexOf(\"bottom\")!==-1;LCt(t,r,i,a);var v=r._hasColorscale=PCt(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;v?ICt(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}):a(\"marker.depthfade\",!(r.marker.colors||[]).length);var x=r.textfont.size*2;a(\"marker.pad.t\",d?x/4:x),a(\"marker.pad.l\",x/4),a(\"marker.pad.r\",x/4),a(\"marker.pad.b\",d?x:x/4),a(\"marker.cornerradius\"),r._hovered={marker:{line:{width:2,color:MCt.contrast(i.paper_bgcolor)}}},f&&(a(\"pathbar.thickness\",r.pathbar.textfont.size+2*CCt),a(\"pathbar.side\"),a(\"pathbar.edgeshape\")),a(\"sort\"),a(\"root.color\"),ECt(r,i,a),r._length=null}});var zCe=ye((wdr,DCe)=>{\"use strict\";var RCt=Mr(),DCt=PW();DCe.exports=function(t,r){function n(i,a){return RCt.coerce(t,r,DCt,i,a)}n(\"treemapcolorway\",r.colorway),n(\"extendtreemapcolors\")}});var RW=ye(IW=>{\"use strict\";var FCe=EE();IW.calc=function(e,t){return FCe.calc(e,t)};IW.crossTraceCalc=function(e){return FCe._runCrossTraceCalc(\"treemap\",e)}});var DW=ye((Adr,qCe)=>{\"use strict\";qCe.exports=function e(t,r,n){var i;n.swapXY&&(i=t.x0,t.x0=t.y0,t.y0=i,i=t.x1,t.x1=t.y1,t.y1=i),n.flipX&&(i=t.x0,t.x0=r[0]-t.x1,t.x1=r[0]-i),n.flipY&&(i=t.y0,t.y0=r[1]-t.y1,t.y1=r[1]-i);var a=t.children;if(a)for(var o=0;o<a.length;o++)e(a[o],r,n)}});var zW=ye((Sdr,OCe)=>{\"use strict\";var P5=SE(),zCt=DW();OCe.exports=function(t,r,n){var i=n.flipX,a=n.flipY,o=n.packing===\"dice-slice\",s=n.pad[a?\"bottom\":\"top\"],l=n.pad[i?\"right\":\"left\"],u=n.pad[i?\"left\":\"right\"],c=n.pad[a?\"top\":\"bottom\"],f;o&&(f=l,l=s,s=f,f=u,u=c,c=f);var h=P5.treemap().tile(FCt(n.packing,n.squarifyratio)).paddingInner(n.pad.inner).paddingLeft(l).paddingRight(u).paddingTop(s).paddingBottom(c).size(o?[r[1],r[0]]:r)(t);return(o||i||a)&&zCt(h,r,{swapXY:o,flipX:i,flipY:a}),h};function FCt(e,t){switch(e){case\"squarify\":return P5.treemapSquarify.ratio(t);case\"binary\":return P5.treemapBinary;case\"dice\":return P5.treemapDice;case\"slice\":return P5.treemapSlice;default:return P5.treemapSliceDice}}});var OD=ye((Mdr,VCe)=>{\"use strict\";var BCe=xa(),I5=va(),NCe=Mr(),FW=Ky(),qCt=_v().resizeText,OCt=DD();function BCt(e){var t=e._fullLayout._treemaplayer.selectAll(\".trace\");qCt(e,t,\"treemap\"),t.each(function(r){var n=BCe.select(this),i=r[0],a=i.trace;n.style(\"opacity\",a.opacity),n.selectAll(\"path.surface\").each(function(o){BCe.select(this).call(UCe,o,a,e,{hovered:!1})})})}function UCe(e,t,r,n,i){var a=(i||{}).hovered,o=t.data.data,s=o.i,l,u,c=o.color,f=FW.isHierarchyRoot(t),h=1;if(a)l=r._hovered.marker.line.color,u=r._hovered.marker.line.width;else if(f&&c===r.root.color)h=100,l=\"rgba(0,0,0,0)\",u=0;else if(l=NCe.castOption(r,s,\"marker.line.color\")||I5.defaultLine,u=NCe.castOption(r,s,\"marker.line.width\")||0,!r._hasColorscale&&!t.onPathbar){var d=r.marker.depthfade;if(d){var v=I5.combine(I5.addOpacity(r._backgroundColor,.75),c),x;if(d===!0){var b=FW.getMaxDepth(r);isFinite(b)?FW.isLeaf(t)?x=0:x=r._maxVisibleLayers-(t.data.depth-r._entryDepth):x=t.data.height+1}else x=t.data.depth-r._entryDepth,r._atRootLevel||x++;if(x>0)for(var p=0;p<x;p++){var E=.5*p/x;c=I5.combine(I5.addOpacity(v,E),c)}}}e.call(OCt,t,r,n,c).style(\"stroke-width\",u).call(I5.stroke,l).style(\"opacity\",h)}VCe.exports={style:BCt,styleOne:UCe}});var ZCe=ye((Edr,WCe)=>{\"use strict\";var HCe=xa(),BD=Mr(),GCe=ao(),NCt=Pl(),UCt=zW(),jCe=OD().styleOne,qW=z2(),R5=Ky(),VCt=OE(),OW=!0;WCe.exports=function(t,r,n,i,a){var o=a.barDifY,s=a.width,l=a.height,u=a.viewX,c=a.viewY,f=a.pathSlice,h=a.toMoveInsideSlice,d=a.strTransform,v=a.hasTransition,x=a.handleSlicesExit,b=a.makeUpdateSliceInterpolator,p=a.makeUpdateTextInterpolator,E={},k=t._context.staticPlot,A=t._fullLayout,L=r[0],_=L.trace,C=L.hierarchy,M=s/_._entryDepth,g=R5.listPath(n.data,\"id\"),P=UCt(C.copy(),[s,l],{packing:\"dice\",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();P=P.filter(function(F){var q=g.indexOf(F.data.id);return q===-1?!1:(F.x0=M*q,F.x1=M*(q+1),F.y0=o,F.y1=o+l,F.onPathbar=!0,!0)}),P.reverse(),i=i.data(P,R5.getPtId),i.enter().append(\"g\").classed(\"pathbar\",!0),x(i,OW,E,[s,l],f),i.order();var T=i;v&&(T=T.transition().each(\"end\",function(){var F=HCe.select(this);R5.setSliceCursor(F,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})})),T.each(function(F){F._x0=u(F.x0),F._x1=u(F.x1),F._y0=c(F.y0),F._y1=c(F.y1),F._hoverX=u(F.x1-Math.min(s,l)/2),F._hoverY=c(F.y1-l/2);var q=HCe.select(this),V=BD.ensureSingle(q,\"path\",\"surface\",function(N){N.style(\"pointer-events\",k?\"none\":\"all\")});v?V.transition().attrTween(\"d\",function(N){var W=b(N,OW,E,[s,l]);return function(re){return f(W(re))}}):V.attr(\"d\",f),q.call(VCt,n,t,r,{styleOne:jCe,eventDataKeys:qW.eventDataKeys,transitionTime:qW.CLICK_TRANSITION_TIME,transitionEasing:qW.CLICK_TRANSITION_EASING}).call(R5.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),V.call(jCe,F,_,t,{hovered:!1}),F._text=(R5.getPtLabel(F)||\"\").split(\"<br>\").join(\" \")||\"\";var H=BD.ensureSingle(q,\"g\",\"slicetext\"),X=BD.ensureSingle(H,\"text\",\"\",function(N){N.attr(\"data-notex\",1)}),G=BD.ensureUniformFontSize(t,R5.determineTextFont(_,F,A.font,{onPathbar:!0}));X.text(F._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",\"start\").call(GCe.font,G).call(NCt.convertToTspans,t),F.textBB=GCe.bBox(X.node()),F.transform=h(F,{fontSize:G.size,onPathbar:!0}),F.transform.fontSize=G.size,v?X.transition().attrTween(\"transform\",function(N){var W=p(N,OW,E,[s,l]);return function(re){return d(W(re))}}):X.attr(\"transform\",d(F))})}});var JCe=ye((kdr,KCe)=>{\"use strict\";var XCe=xa(),BW=(R2(),B1(I2)).interpolate,Y_=Ky(),NE=Mr(),YCe=Qb().TEXTPAD,HCt=i2(),GCt=HCt.toMoveInsideBar,jCt=_v(),NW=jCt.recordMinTextSize,WCt=z2(),ZCt=ZCe();function q2(e){return Y_.isHierarchyRoot(e)?\"\":Y_.getPtId(e)}KCe.exports=function(t,r,n,i,a){var o=t._fullLayout,s=r[0],l=s.trace,u=l.type,c=u===\"icicle\",f=s.hierarchy,h=Y_.findEntryWithLevel(f,l.level),d=XCe.select(n),v=d.selectAll(\"g.pathbar\"),x=d.selectAll(\"g.slice\");if(!h){v.remove(),x.remove();return}var b=Y_.isHierarchyRoot(h),p=!o.uniformtext.mode&&Y_.hasTransition(i),E=Y_.getMaxDepth(l),k=function(Ke){return Ke.data.depth-h.data.depth<E},A=o._size,L=l.domain,_=A.w*(L.x[1]-L.x[0]),C=A.h*(L.y[1]-L.y[0]),M=_,g=l.pathbar.thickness,P=l.marker.line.width+WCt.gapWithPathbar,T=l.pathbar.visible?l.pathbar.side.indexOf(\"bottom\")>-1?C+P:-(g+P):0,F={x0:M,x1:M,y0:T,y1:T+g},q=function(Ke,xt,bt){var Lt=l.tiling.pad,St=function($t){return $t-Lt<=xt.x0},Et=function($t){return $t+Lt>=xt.x1},dt=function($t){return $t-Lt<=xt.y0},Ht=function($t){return $t+Lt>=xt.y1};return Ke.x0===xt.x0&&Ke.x1===xt.x1&&Ke.y0===xt.y0&&Ke.y1===xt.y1?{x0:Ke.x0,x1:Ke.x1,y0:Ke.y0,y1:Ke.y1}:{x0:St(Ke.x0-Lt)?0:Et(Ke.x0-Lt)?bt[0]:Ke.x0,x1:St(Ke.x1+Lt)?0:Et(Ke.x1+Lt)?bt[0]:Ke.x1,y0:dt(Ke.y0-Lt)?0:Ht(Ke.y0-Lt)?bt[1]:Ke.y0,y1:dt(Ke.y1+Lt)?0:Ht(Ke.y1+Lt)?bt[1]:Ke.y1}},V=null,H={},X={},G=null,N=function(Ke,xt){return xt?H[q2(Ke)]:X[q2(Ke)]},W=function(Ke,xt,bt,Lt){if(xt)return H[q2(f)]||F;var St=X[l.level]||bt;return k(Ke)?q(Ke,St,Lt):{}};s.hasMultipleRoots&&b&&E++,l._maxDepth=E,l._backgroundColor=o.paper_bgcolor,l._entryDepth=h.data.depth,l._atRootLevel=b;var re=-_/2+A.l+A.w*(L.x[1]+L.x[0])/2,ae=-C/2+A.t+A.h*(1-(L.y[1]+L.y[0])/2),_e=function(Ke){return re+Ke},Me=function(Ke){return ae+Ke},ke=Me(0),ge=_e(0),ie=function(Ke){return ge+Ke},Te=function(Ke){return ke+Ke};function Ee(Ke,xt){return Ke+\",\"+xt}var Ae=ie(0),ze=function(Ke){Ke.x=Math.max(Ae,Ke.x)},Ce=l.pathbar.edgeshape,me=function(Ke){var xt=ie(Math.max(Math.min(Ke.x0,Ke.x0),0)),bt=ie(Math.min(Math.max(Ke.x1,Ke.x1),M)),Lt=Te(Ke.y0),St=Te(Ke.y1),Et=g/2,dt={},Ht={};dt.x=xt,Ht.x=bt,dt.y=Ht.y=(Lt+St)/2;var $t={x:xt,y:Lt},fr={x:bt,y:Lt},_r={x:bt,y:St},Br={x:xt,y:St};return Ce===\">\"?($t.x-=Et,fr.x-=Et,_r.x-=Et,Br.x-=Et):Ce===\"/\"?(_r.x-=Et,Br.x-=Et,dt.x-=Et/2,Ht.x-=Et/2):Ce===\"\\\\\"?($t.x-=Et,fr.x-=Et,dt.x-=Et/2,Ht.x-=Et/2):Ce===\"<\"&&(dt.x-=Et,Ht.x-=Et),ze($t),ze(Br),ze(dt),ze(fr),ze(_r),ze(Ht),\"M\"+Ee($t.x,$t.y)+\"L\"+Ee(fr.x,fr.y)+\"L\"+Ee(Ht.x,Ht.y)+\"L\"+Ee(_r.x,_r.y)+\"L\"+Ee(Br.x,Br.y)+\"L\"+Ee(dt.x,dt.y)+\"Z\"},Re=l[c?\"tiling\":\"marker\"].pad,ce=function(Ke){return l.textposition.indexOf(Ke)!==-1},Ge=ce(\"top\"),nt=ce(\"left\"),ct=ce(\"right\"),qt=ce(\"bottom\"),rt=function(Ke){var xt=_e(Ke.x0),bt=_e(Ke.x1),Lt=Me(Ke.y0),St=Me(Ke.y1),Et=bt-xt,dt=St-Lt;if(!Et||!dt)return\"\";var Ht=l.marker.cornerradius||0,$t=Math.min(Ht,Et/2,dt/2);$t&&Ke.data&&Ke.data.data&&Ke.data.data.label&&(Ge&&($t=Math.min($t,Re.t)),nt&&($t=Math.min($t,Re.l)),ct&&($t=Math.min($t,Re.r)),qt&&($t=Math.min($t,Re.b)));var fr=function(_r,Br){return $t?\"a\"+Ee($t,$t)+\" 0 0 1 \"+Ee(_r,Br):\"\"};return\"M\"+Ee(xt,Lt+$t)+fr($t,-$t)+\"L\"+Ee(bt-$t,Lt)+fr($t,$t)+\"L\"+Ee(bt,St-$t)+fr(-$t,$t)+\"L\"+Ee(xt+$t,St)+fr(-$t,-$t)+\"Z\"},ot=function(Ke,xt){var bt=Ke.x0,Lt=Ke.x1,St=Ke.y0,Et=Ke.y1,dt=Ke.textBB,Ht=Ge||xt.isHeader&&!qt,$t=Ht?\"start\":qt?\"end\":\"middle\",fr=ce(\"right\"),_r=ce(\"left\")||xt.onPathbar,Br=_r?-1:fr?1:0;if(xt.isHeader){if(bt+=(c?Re:Re.l)-YCe,Lt-=(c?Re:Re.r)-YCe,bt>=Lt){var Or=(bt+Lt)/2;bt=Or,Lt=Or}var Nr;qt?(Nr=Et-(c?Re:Re.b),St<Nr&&Nr<Et&&(St=Nr)):(Nr=St+(c?Re:Re.t),St<Nr&&Nr<Et&&(Et=Nr))}var ut=GCt(bt,Lt,St,Et,dt,{isHorizontal:!1,constrained:!0,angle:0,anchor:$t,leftToRight:Br});return ut.fontSize=xt.fontSize,ut.targetX=_e(ut.targetX),ut.targetY=Me(ut.targetY),isNaN(ut.targetX)||isNaN(ut.targetY)?{}:(bt!==Lt&&St!==Et&&NW(l.type,ut,o),{scale:ut.scale,rotate:ut.rotate,textX:ut.textX,textY:ut.textY,anchorX:ut.anchorX,anchorY:ut.anchorY,targetX:ut.targetX,targetY:ut.targetY})},Rt=function(Ke,xt){for(var bt,Lt=0,St=Ke;!bt&&Lt<E;)Lt++,St=St.parent,St?bt=N(St,xt):Lt=E;return bt||{}},kt=function(Ke,xt,bt,Lt){var St=N(Ke,xt),Et;if(xt)Et=F;else{var dt=N(h,xt);dt?Et=q(Ke,dt,Lt):Et={}}return BW(St,Et)},Ct=function(Ke,xt,bt,Lt,St){var Et=N(Ke,xt),dt;if(Et)dt=Et;else if(xt)dt=F;else if(V)if(Ke.parent){var Ht=G||bt;Ht&&!xt?dt=q(Ke,Ht,Lt):(dt={},NE.extendFlat(dt,Rt(Ke,xt)))}else dt=NE.extendFlat({},Ke),c&&(St.orientation===\"h\"?St.flipX?dt.x0=Ke.x1:dt.x1=0:St.flipY?dt.y0=Ke.y1:dt.y1=0);else dt={};return BW(dt,{x0:Ke.x0,x1:Ke.x1,y0:Ke.y0,y1:Ke.y1})},Yt=function(Ke,xt,bt,Lt){var St=N(Ke,xt),Et={},dt=W(Ke,xt,bt,Lt);NE.extendFlat(Et,{transform:ot({x0:dt.x0,x1:dt.x1,y0:dt.y0,y1:dt.y1,textBB:Ke.textBB,_text:Ke._text},{isHeader:Y_.isHeader(Ke,l)})}),St?Et=St:Ke.parent&&NE.extendFlat(Et,Rt(Ke,xt));var Ht=Ke.transform;return Ke.x0!==Ke.x1&&Ke.y0!==Ke.y1&&NW(l.type,Ht,o),BW(Et,{transform:{scale:Ht.scale,rotate:Ht.rotate,textX:Ht.textX,textY:Ht.textY,anchorX:Ht.anchorX,anchorY:Ht.anchorY,targetX:Ht.targetX,targetY:Ht.targetY}})},xr=function(Ke,xt,bt,Lt,St){var Et=Lt[0],dt=Lt[1];p?Ke.exit().transition().each(function(){var Ht=XCe.select(this),$t=Ht.select(\"path.surface\");$t.transition().attrTween(\"d\",function(_r){var Br=kt(_r,xt,bt,[Et,dt]);return function(Or){return St(Br(Or))}});var fr=Ht.select(\"g.slicetext\");fr.attr(\"opacity\",0)}).remove():Ke.exit().remove()},er=function(Ke){var xt=Ke.transform;return Ke.x0!==Ke.x1&&Ke.y0!==Ke.y1&&NW(l.type,xt,o),NE.getTextTransform({textX:xt.textX,textY:xt.textY,anchorX:xt.anchorX,anchorY:xt.anchorY,targetX:xt.targetX,targetY:xt.targetY,scale:xt.scale,rotate:xt.rotate})};p&&(v.each(function(Ke){H[q2(Ke)]={x0:Ke.x0,x1:Ke.x1,y0:Ke.y0,y1:Ke.y1},Ke.transform&&(H[q2(Ke)].transform={textX:Ke.transform.textX,textY:Ke.transform.textY,anchorX:Ke.transform.anchorX,anchorY:Ke.transform.anchorY,targetX:Ke.transform.targetX,targetY:Ke.transform.targetY,scale:Ke.transform.scale,rotate:Ke.transform.rotate})}),x.each(function(Ke){X[q2(Ke)]={x0:Ke.x0,x1:Ke.x1,y0:Ke.y0,y1:Ke.y1},Ke.transform&&(X[q2(Ke)].transform={textX:Ke.transform.textX,textY:Ke.transform.textY,anchorX:Ke.transform.anchorX,anchorY:Ke.transform.anchorY,targetX:Ke.transform.targetX,targetY:Ke.transform.targetY,scale:Ke.transform.scale,rotate:Ke.transform.rotate}),!V&&Y_.isEntry(Ke)&&(V=Ke)})),G=a(t,r,h,x,{width:_,height:C,viewX:_e,viewY:Me,pathSlice:rt,toMoveInsideSlice:ot,prevEntry:V,makeUpdateSliceInterpolator:Ct,makeUpdateTextInterpolator:Yt,handleSlicesExit:xr,hasTransition:p,strTransform:er}),l.pathbar.visible?ZCt(t,r,h,v,{barDifY:T,width:M,height:g,viewX:ie,viewY:Te,pathSlice:me,toMoveInsideSlice:ot,makeUpdateSliceInterpolator:Ct,makeUpdateTextInterpolator:Yt,handleSlicesExit:xr,hasTransition:p,strTransform:er}):v.remove()}});var UW=ye((Cdr,QCe)=>{\"use strict\";var XCt=xa(),YCt=Ky(),KCt=_v(),JCt=KCt.clearMinTextSize,$Ct=N0().resizeText,$Ce=JCe();QCe.exports=function(t,r,n,i,a){var o=a.type,s=a.drawDescendants,l=t._fullLayout,u=l[\"_\"+o+\"layer\"],c,f,h=!n;if(JCt(o,l),c=u.selectAll(\"g.trace.\"+o).data(r,function(v){return v[0].trace.uid}),c.enter().append(\"g\").classed(\"trace\",!0).classed(o,!0),c.order(),!l.uniformtext.mode&&YCt.hasTransition(n)){i&&(f=i());var d=XCt.transition().duration(n.duration).ease(n.easing).each(\"end\",function(){f&&f()}).each(\"interrupt\",function(){f&&f()});d.each(function(){u.selectAll(\"g.trace\").each(function(v){$Ce(t,v,this,n,s)})})}else c.each(function(v){$Ce(t,v,this,n,s)}),l.uniformtext.mode&&$Ct(t,u.selectAll(\".trace\"),o);h&&c.exit().remove()}});var n6e=ye((Ldr,i6e)=>{\"use strict\";var e6e=xa(),ND=Mr(),t6e=ao(),QCt=Pl(),e6t=zW(),r6e=OD().styleOne,VW=z2(),K_=Ky(),t6t=OE(),r6t=FD().formatSliceLabel,HW=!1;i6e.exports=function(t,r,n,i,a){var o=a.width,s=a.height,l=a.viewX,u=a.viewY,c=a.pathSlice,f=a.toMoveInsideSlice,h=a.strTransform,d=a.hasTransition,v=a.handleSlicesExit,x=a.makeUpdateSliceInterpolator,b=a.makeUpdateTextInterpolator,p=a.prevEntry,E={},k=t._context.staticPlot,A=t._fullLayout,L=r[0],_=L.trace,C=_.textposition.indexOf(\"left\")!==-1,M=_.textposition.indexOf(\"right\")!==-1,g=_.textposition.indexOf(\"bottom\")!==-1,P=!g&&!_.marker.pad.t||g&&!_.marker.pad.b,T=e6t(n,[o,s],{packing:_.tiling.packing,squarifyratio:_.tiling.squarifyratio,flipX:_.tiling.flip.indexOf(\"x\")>-1,flipY:_.tiling.flip.indexOf(\"y\")>-1,pad:{inner:_.tiling.pad,top:_.marker.pad.t,left:_.marker.pad.l,right:_.marker.pad.r,bottom:_.marker.pad.b}}),F=T.descendants(),q=1/0,V=-1/0;F.forEach(function(W){var re=W.depth;re>=_._maxDepth?(W.x0=W.x1=(W.x0+W.x1)/2,W.y0=W.y1=(W.y0+W.y1)/2):(q=Math.min(q,re),V=Math.max(V,re))}),i=i.data(F,K_.getPtId),_._maxVisibleLayers=isFinite(V)?V-q+1:0,i.enter().append(\"g\").classed(\"slice\",!0),v(i,HW,E,[o,s],c),i.order();var H=null;if(d&&p){var X=K_.getPtId(p);i.each(function(W){H===null&&K_.getPtId(W)===X&&(H={x0:W.x0,x1:W.x1,y0:W.y0,y1:W.y1})})}var G=function(){return H||{x0:0,x1:o,y0:0,y1:s}},N=i;return d&&(N=N.transition().each(\"end\",function(){var W=e6e.select(this);K_.setSliceCursor(W,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),N.each(function(W){var re=K_.isHeader(W,_);W._x0=l(W.x0),W._x1=l(W.x1),W._y0=u(W.y0),W._y1=u(W.y1),W._hoverX=l(W.x1-_.marker.pad.r),W._hoverY=u(g?W.y1-_.marker.pad.b/2:W.y0+_.marker.pad.t/2);var ae=e6e.select(this),_e=ND.ensureSingle(ae,\"path\",\"surface\",function(Ee){Ee.style(\"pointer-events\",k?\"none\":\"all\")});d?_e.transition().attrTween(\"d\",function(Ee){var Ae=x(Ee,HW,G(),[o,s]);return function(ze){return c(Ae(ze))}}):_e.attr(\"d\",c),ae.call(t6t,n,t,r,{styleOne:r6e,eventDataKeys:VW.eventDataKeys,transitionTime:VW.CLICK_TRANSITION_TIME,transitionEasing:VW.CLICK_TRANSITION_EASING}).call(K_.setSliceCursor,t,{isTransitioning:t._transitioning}),_e.call(r6e,W,_,t,{hovered:!1}),W.x0===W.x1||W.y0===W.y1?W._text=\"\":re?W._text=P?\"\":K_.getPtLabel(W)||\"\":W._text=r6t(W,n,_,r,A)||\"\";var Me=ND.ensureSingle(ae,\"g\",\"slicetext\"),ke=ND.ensureSingle(Me,\"text\",\"\",function(Ee){Ee.attr(\"data-notex\",1)}),ge=ND.ensureUniformFontSize(t,K_.determineTextFont(_,W,A.font)),ie=W._text||\" \",Te=re&&ie.indexOf(\"<br>\")===-1;ke.text(ie).classed(\"slicetext\",!0).attr(\"text-anchor\",M?\"end\":C||Te?\"start\":\"middle\").call(t6e.font,ge).call(QCt.convertToTspans,t),W.textBB=t6e.bBox(ke.node()),W.transform=f(W,{fontSize:ge.size,isHeader:re}),W.transform.fontSize=ge.size,d?ke.transition().attrTween(\"transform\",function(Ee){var Ae=b(Ee,HW,G(),[o,s]);return function(ze){return h(Ae(ze))}}):ke.attr(\"transform\",h(W))}),H}});var o6e=ye((Pdr,a6e)=>{\"use strict\";var i6t=UW(),n6t=n6e();a6e.exports=function(t,r,n,i){return i6t(t,r,n,i,{type:\"treemap\",drawDescendants:n6t})}});var l6e=ye((Idr,s6e)=>{\"use strict\";s6e.exports={moduleType:\"trace\",name:\"treemap\",basePlotModule:SCe(),categories:[],animatable:!0,attributes:qD(),layoutAttributes:PW(),supplyDefaults:RCe(),supplyLayoutDefaults:zCe(),calc:RW().calc,crossTraceCalc:RW().crossTraceCalc,plot:o6e(),style:OD().style,colorbar:Kd(),meta:{}}});var c6e=ye((Rdr,u6e)=>{\"use strict\";u6e.exports=l6e()});var h6e=ye(D5=>{\"use strict\";var f6e=Xu();D5.name=\"icicle\";D5.plot=function(e,t,r,n){f6e.plotBasePlot(D5.name,e,t,r,n)};D5.clean=function(e,t,r,n){f6e.cleanBasePlot(D5.name,e,t,r,n)}});var GW=ye((zdr,v6e)=>{\"use strict\";var a6t=Wo().hovertemplateAttrs,o6t=Wo().texttemplateAttrs,s6t=Jl(),l6t=Ju().attributes,UE=A2(),o0=AE(),UD=qD(),d6e=z2(),u6t=no().extendFlat,c6t=Ed().pattern;v6e.exports={labels:o0.labels,parents:o0.parents,values:o0.values,branchvalues:o0.branchvalues,count:o0.count,level:o0.level,maxdepth:o0.maxdepth,tiling:{orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\",editType:\"plot\"},flip:UD.tiling.flip,pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},marker:u6t({colors:o0.marker.colors,line:o0.marker.line,pattern:c6t,editType:\"calc\"},s6t(\"marker\",{colorAttr:\"colors\",anim:!1})),leaf:o0.leaf,pathbar:UD.pathbar,text:UE.text,textinfo:o0.textinfo,texttemplate:o6t({editType:\"plot\"},{keys:d6e.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:UE.hovertext,hoverinfo:o0.hoverinfo,hovertemplate:a6t({},{keys:d6e.eventDataKeys}),textfont:UE.textfont,insidetextfont:UE.insidetextfont,outsidetextfont:UD.outsidetextfont,textposition:UD.textposition,sort:UE.sort,root:o0.root,domain:l6t({name:\"icicle\",trace:!0,editType:\"calc\"})}});var jW=ye((Fdr,p6e)=>{\"use strict\";p6e.exports={iciclecolorway:{valType:\"colorlist\",editType:\"calc\"},extendiciclecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var _6e=ye((qdr,y6e)=>{\"use strict\";var g6e=Mr(),f6t=GW(),h6t=va(),d6t=Ju().defaults,v6t=r0().handleText,p6t=Qb().TEXTPAD,g6t=S2().handleMarkerDefaults,m6e=Mu(),m6t=m6e.hasColorscale,y6t=m6e.handleDefaults;y6e.exports=function(t,r,n,i){function a(d,v){return g6e.coerce(t,r,f6t,d,v)}var o=a(\"labels\"),s=a(\"parents\");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a(\"values\");l&&l.length?a(\"branchvalues\"):a(\"count\"),a(\"level\"),a(\"maxdepth\"),a(\"tiling.orientation\"),a(\"tiling.flip\"),a(\"tiling.pad\");var u=a(\"text\");a(\"texttemplate\"),r.texttemplate||a(\"textinfo\",g6e.isArrayOrTypedArray(u)?\"text+label\":\"label\"),a(\"hovertext\"),a(\"hovertemplate\");var c=a(\"pathbar.visible\"),f=\"auto\";v6t(t,r,i,a,f,{hasPathbar:c,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a(\"textposition\"),g6t(t,r,i,a);var h=r._hasColorscale=m6t(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;h&&y6t(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}),a(\"leaf.opacity\",h?1:.7),r._hovered={marker:{line:{width:2,color:h6t.contrast(i.paper_bgcolor)}}},c&&(a(\"pathbar.thickness\",r.pathbar.textfont.size+2*p6t),a(\"pathbar.side\"),a(\"pathbar.edgeshape\")),a(\"sort\"),a(\"root.color\"),d6t(r,i,a),r._length=null}});var b6e=ye((Odr,x6e)=>{\"use strict\";var _6t=Mr(),x6t=jW();x6e.exports=function(t,r){function n(i,a){return _6t.coerce(t,r,x6t,i,a)}n(\"iciclecolorway\",r.colorway),n(\"extendiciclecolors\")}});var ZW=ye(WW=>{\"use strict\";var w6e=EE();WW.calc=function(e,t){return w6e.calc(e,t)};WW.crossTraceCalc=function(e){return w6e._runCrossTraceCalc(\"icicle\",e)}});var A6e=ye((Ndr,T6e)=>{\"use strict\";var b6t=SE(),w6t=DW();T6e.exports=function(t,r,n){var i=n.flipX,a=n.flipY,o=n.orientation===\"h\",s=n.maxDepth,l=r[0],u=r[1];s&&(l=(t.height+1)*r[0]/Math.min(t.height+1,s),u=(t.height+1)*r[1]/Math.min(t.height+1,s));var c=b6t.partition().padding(n.pad.inner).size(o?[r[1],l]:[r[0],u])(t);return(o||i||a)&&w6t(c,r,{swapXY:o,flipX:i,flipY:a}),c}});var XW=ye((Udr,C6e)=>{\"use strict\";var S6e=xa(),M6e=va(),E6e=Mr(),T6t=_v().resizeText,A6t=DD();function S6t(e){var t=e._fullLayout._iciclelayer.selectAll(\".trace\");T6t(e,t,\"icicle\"),t.each(function(r){var n=S6e.select(this),i=r[0],a=i.trace;n.style(\"opacity\",a.opacity),n.selectAll(\"path.surface\").each(function(o){S6e.select(this).call(k6e,o,a,e)})})}function k6e(e,t,r,n){var i=t.data.data,a=!t.children,o=i.i,s=E6e.castOption(r,o,\"marker.line.color\")||M6e.defaultLine,l=E6e.castOption(r,o,\"marker.line.width\")||0;e.call(A6t,t,r,n).style(\"stroke-width\",l).call(M6e.stroke,s).style(\"opacity\",a?r.leaf.opacity:null)}C6e.exports={style:S6t,styleOne:k6e}});var D6e=ye((Vdr,R6e)=>{\"use strict\";var L6e=xa(),VD=Mr(),P6e=ao(),M6t=Pl(),E6t=A6e(),I6e=XW().styleOne,YW=z2(),z5=Ky(),k6t=OE(),C6t=FD().formatSliceLabel,KW=!1;R6e.exports=function(t,r,n,i,a){var o=a.width,s=a.height,l=a.viewX,u=a.viewY,c=a.pathSlice,f=a.toMoveInsideSlice,h=a.strTransform,d=a.hasTransition,v=a.handleSlicesExit,x=a.makeUpdateSliceInterpolator,b=a.makeUpdateTextInterpolator,p=a.prevEntry,E={},k=t._context.staticPlot,A=t._fullLayout,L=r[0],_=L.trace,C=_.textposition.indexOf(\"left\")!==-1,M=_.textposition.indexOf(\"right\")!==-1,g=_.textposition.indexOf(\"bottom\")!==-1,P=E6t(n,[o,s],{flipX:_.tiling.flip.indexOf(\"x\")>-1,flipY:_.tiling.flip.indexOf(\"y\")>-1,orientation:_.tiling.orientation,pad:{inner:_.tiling.pad},maxDepth:_._maxDepth}),T=P.descendants(),F=1/0,q=-1/0;T.forEach(function(N){var W=N.depth;W>=_._maxDepth?(N.x0=N.x1=(N.x0+N.x1)/2,N.y0=N.y1=(N.y0+N.y1)/2):(F=Math.min(F,W),q=Math.max(q,W))}),i=i.data(T,z5.getPtId),_._maxVisibleLayers=isFinite(q)?q-F+1:0,i.enter().append(\"g\").classed(\"slice\",!0),v(i,KW,E,[o,s],c),i.order();var V=null;if(d&&p){var H=z5.getPtId(p);i.each(function(N){V===null&&z5.getPtId(N)===H&&(V={x0:N.x0,x1:N.x1,y0:N.y0,y1:N.y1})})}var X=function(){return V||{x0:0,x1:o,y0:0,y1:s}},G=i;return d&&(G=G.transition().each(\"end\",function(){var N=L6e.select(this);z5.setSliceCursor(N,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),G.each(function(N){N._x0=l(N.x0),N._x1=l(N.x1),N._y0=u(N.y0),N._y1=u(N.y1),N._hoverX=l(N.x1-_.tiling.pad),N._hoverY=u(g?N.y1-_.tiling.pad/2:N.y0+_.tiling.pad/2);var W=L6e.select(this),re=VD.ensureSingle(W,\"path\",\"surface\",function(ke){ke.style(\"pointer-events\",k?\"none\":\"all\")});d?re.transition().attrTween(\"d\",function(ke){var ge=x(ke,KW,X(),[o,s],{orientation:_.tiling.orientation,flipX:_.tiling.flip.indexOf(\"x\")>-1,flipY:_.tiling.flip.indexOf(\"y\")>-1});return function(ie){return c(ge(ie))}}):re.attr(\"d\",c),W.call(k6t,n,t,r,{styleOne:I6e,eventDataKeys:YW.eventDataKeys,transitionTime:YW.CLICK_TRANSITION_TIME,transitionEasing:YW.CLICK_TRANSITION_EASING}).call(z5.setSliceCursor,t,{isTransitioning:t._transitioning}),re.call(I6e,N,_,t,{hovered:!1}),N.x0===N.x1||N.y0===N.y1?N._text=\"\":N._text=C6t(N,n,_,r,A)||\"\";var ae=VD.ensureSingle(W,\"g\",\"slicetext\"),_e=VD.ensureSingle(ae,\"text\",\"\",function(ke){ke.attr(\"data-notex\",1)}),Me=VD.ensureUniformFontSize(t,z5.determineTextFont(_,N,A.font));_e.text(N._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",M?\"end\":C?\"start\":\"middle\").call(P6e.font,Me).call(M6t.convertToTspans,t),N.textBB=P6e.bBox(_e.node()),N.transform=f(N,{fontSize:Me.size}),N.transform.fontSize=Me.size,d?_e.transition().attrTween(\"transform\",function(ke){var ge=b(ke,KW,X(),[o,s]);return function(ie){return h(ge(ie))}}):_e.attr(\"transform\",h(N))}),V}});var F6e=ye((Hdr,z6e)=>{\"use strict\";var L6t=UW(),P6t=D6e();z6e.exports=function(t,r,n,i){return L6t(t,r,n,i,{type:\"icicle\",drawDescendants:P6t})}});var O6e=ye((Gdr,q6e)=>{\"use strict\";q6e.exports={moduleType:\"trace\",name:\"icicle\",basePlotModule:h6e(),categories:[],animatable:!0,attributes:GW(),layoutAttributes:jW(),supplyDefaults:_6e(),supplyLayoutDefaults:b6e(),calc:ZW().calc,crossTraceCalc:ZW().crossTraceCalc,plot:F6e(),style:XW().style,colorbar:Kd(),meta:{}}});var N6e=ye((jdr,B6e)=>{\"use strict\";B6e.exports=O6e()});var V6e=ye(F5=>{\"use strict\";var U6e=Xu();F5.name=\"funnelarea\";F5.plot=function(e,t,r,n){U6e.plotBasePlot(F5.name,e,t,r,n)};F5.clean=function(e,t,r,n){U6e.cleanBasePlot(F5.name,e,t,r,n)}});var JW=ye((Zdr,H6e)=>{\"use strict\";var tv=A2(),I6t=vl(),R6t=Ju().attributes,D6t=Wo().hovertemplateAttrs,z6t=Wo().texttemplateAttrs,O2=no().extendFlat;H6e.exports={labels:tv.labels,label0:tv.label0,dlabel:tv.dlabel,values:tv.values,marker:{colors:tv.marker.colors,line:{color:O2({},tv.marker.line.color,{dflt:null}),width:O2({},tv.marker.line.width,{dflt:1}),editType:\"calc\"},pattern:tv.marker.pattern,editType:\"calc\"},text:tv.text,hovertext:tv.hovertext,scalegroup:O2({},tv.scalegroup,{}),textinfo:O2({},tv.textinfo,{flags:[\"label\",\"text\",\"value\",\"percent\"]}),texttemplate:z6t({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),hoverinfo:O2({},I6t.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:D6t({},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),textposition:O2({},tv.textposition,{values:[\"inside\",\"none\"],dflt:\"inside\"}),textfont:tv.textfont,insidetextfont:tv.insidetextfont,title:{text:tv.title.text,font:tv.title.font,position:O2({},tv.title.position,{values:[\"top left\",\"top center\",\"top right\"],dflt:\"top center\"}),editType:\"plot\"},domain:R6t({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\"}}});var $W=ye((Xdr,G6e)=>{\"use strict\";var F6t=uD().hiddenlabels;G6e.exports={hiddenlabels:F6t,funnelareacolorway:{valType:\"colorlist\",editType:\"calc\"},extendfunnelareacolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var Z6e=ye((Ydr,W6e)=>{\"use strict\";var j6e=Mr(),q6t=JW(),O6t=Ju().defaults,B6t=r0().handleText,N6t=S2().handleLabelsAndValues,U6t=S2().handleMarkerDefaults;W6e.exports=function(t,r,n,i){function a(x,b){return j6e.coerce(t,r,q6t,x,b)}var o=a(\"labels\"),s=a(\"values\"),l=N6t(o,s),u=l.len;if(r._hasLabels=l.hasLabels,r._hasValues=l.hasValues,!r._hasLabels&&r._hasValues&&(a(\"label0\"),a(\"dlabel\")),!u){r.visible=!1;return}r._length=u,U6t(t,r,i,a),a(\"scalegroup\");var c=a(\"text\"),f=a(\"texttemplate\"),h;if(f||(h=a(\"textinfo\",Array.isArray(c)?\"text+percent\":\"percent\")),a(\"hovertext\"),a(\"hovertemplate\"),f||h&&h!==\"none\"){var d=a(\"textposition\");B6t(t,r,i,a,d,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else h===\"none\"&&a(\"textposition\",\"none\");O6t(r,i,a);var v=a(\"title.text\");v&&(a(\"title.position\"),j6e.coerceFont(a,\"title.font\",i.font)),a(\"aspectratio\"),a(\"baseratio\")}});var Y6e=ye((Kdr,X6e)=>{\"use strict\";var V6t=Mr(),H6t=$W();X6e.exports=function(t,r){function n(i,a){return V6t.coerce(t,r,H6t,i,a)}n(\"hiddenlabels\"),n(\"funnelareacolorway\",r.colorway),n(\"extendfunnelareacolors\")}});var QW=ye((Jdr,J6e)=>{\"use strict\";var K6e=y5();function G6t(e,t){return K6e.calc(e,t)}function j6t(e){K6e.crossTraceCalc(e,{type:\"funnelarea\"})}J6e.exports={calc:G6t,crossTraceCalc:j6t}});var rLe=ye(($dr,tLe)=>{\"use strict\";var B2=xa(),eZ=ao(),J_=Mr(),W6t=J_.strScale,$6e=J_.strTranslate,Q6e=Pl(),Z6t=i2(),X6t=Z6t.toMoveInsideBar,eLe=_v(),Y6t=eLe.recordMinTextSize,K6t=eLe.clearMinTextSize,J6t=u_(),q5=dD(),$6t=q5.attachFxHandlers,Q6t=q5.determineInsideTextFont,eLt=q5.layoutAreas,tLt=q5.prerenderTitles,rLt=q5.positionTitleOutside,iLt=q5.formatSliceLabel;tLe.exports=function(t,r){var n=t._context.staticPlot,i=t._fullLayout;K6t(\"funnelarea\",i),tLt(r,t),eLt(r,i._size),J_.makeTraceGroups(i._funnelarealayer,r,\"trace\").each(function(a){var o=B2.select(this),s=a[0],l=s.trace;aLt(a),o.each(function(){var u=B2.select(this).selectAll(\"g.slice\").data(a);u.enter().append(\"g\").classed(\"slice\",!0),u.exit().remove(),u.each(function(f,h){if(f.hidden){B2.select(this).selectAll(\"path,g\").remove();return}f.pointNumber=f.i,f.curveNumber=l.index;var d=s.cx,v=s.cy,x=B2.select(this),b=x.selectAll(\"path.surface\").data([f]);b.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":n?\"none\":\"all\"}),x.call($6t,t,a);var p=\"M\"+(d+f.TR[0])+\",\"+(v+f.TR[1])+tZ(f.TR,f.BR)+tZ(f.BR,f.BL)+tZ(f.BL,f.TL)+\"Z\";b.attr(\"d\",p),iLt(t,f,s);var E=J6t.castOption(l.textposition,f.pts),k=x.selectAll(\"g.slicetext\").data(f.text&&E!==\"none\"?[0]:[]);k.enter().append(\"g\").classed(\"slicetext\",!0),k.exit().remove(),k.each(function(){var A=J_.ensureSingle(B2.select(this),\"text\",\"\",function(F){F.attr(\"data-notex\",1)}),L=J_.ensureUniformFontSize(t,Q6t(l,f,i.font));A.text(f.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(eZ.font,L).call(Q6e.convertToTspans,t);var _=eZ.bBox(A.node()),C,M,g,P=Math.min(f.BL[1],f.BR[1])+v,T=Math.max(f.TL[1],f.TR[1])+v;M=Math.max(f.TL[0],f.BL[0])+d,g=Math.min(f.TR[0],f.BR[0])+d,C=X6t(M,g,P,T,_,{isHorizontal:!0,constrained:!0,angle:0,anchor:\"middle\"}),C.fontSize=L.size,Y6t(l.type,C,i),a[h].transform=C,J_.setTransormAndDisplay(A,C)})});var c=B2.select(this).selectAll(\"g.titletext\").data(l.title.text?[0]:[]);c.enter().append(\"g\").classed(\"titletext\",!0),c.exit().remove(),c.each(function(){var f=J_.ensureSingle(B2.select(this),\"text\",\"\",function(v){v.attr(\"data-notex\",1)}),h=l.title.text;l._meta&&(h=J_.templateString(h,l._meta)),f.text(h).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(eZ.font,l.title.font).call(Q6e.convertToTspans,t);var d=rLt(s,i._size);f.attr(\"transform\",$6e(d.x,d.y)+W6t(Math.min(1,d.scale))+$6e(d.tx,d.ty))})})})};function tZ(e,t){var r=t[0]-e[0],n=t[1]-e[1];return\"l\"+r+\",\"+n}function nLt(e,t){return[.5*(e[0]+t[0]),.5*(e[1]+t[1])]}function aLt(e){if(!e.length)return;var t=e[0],r=t.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a=Math.pow(i,2),o=t.vTotal,s=o*a/(1-a),l=o,u=s/o;function c(){var q=Math.sqrt(u);return{x:q,y:-q}}function f(){var q=c();return[q.x,q.y]}var h,d=[];d.push(f());var v,x;for(v=e.length-1;v>-1;v--)if(x=e[v],!x.hidden){var b=x.v/l;u+=b,d.push(f())}var p=1/0,E=-1/0;for(v=0;v<d.length;v++)h=d[v],p=Math.min(p,h[1]),E=Math.max(E,h[1]);for(v=0;v<d.length;v++)d[v][1]-=(E+p)/2;var k=d[d.length-1][0],A=t.r,L=(E-p)/2,_=A/k,C=A/L*n;for(t.r=C*L,v=0;v<d.length;v++)d[v][0]*=_,d[v][1]*=C;h=d[0];var M=[-h[0],h[1]],g=[h[0],h[1]],P=0;for(v=e.length-1;v>-1;v--)if(x=e[v],!x.hidden){P+=1;var T=d[P][0],F=d[P][1];x.TL=[-T,F],x.TR=[T,F],x.BL=M,x.BR=g,x.pxmid=nLt(x.TR,x.BR),M=x.TL,g=x.TR}}});var aLe=ye((Qdr,nLe)=>{\"use strict\";var iLe=xa(),oLt=z3(),sLt=_v().resizeText;nLe.exports=function(t){var r=t._fullLayout._funnelarealayer.selectAll(\".trace\");sLt(t,r,\"funnelarea\"),r.each(function(n){var i=n[0],a=i.trace,o=iLe.select(this);o.style({opacity:a.opacity}),o.selectAll(\"path.surface\").each(function(s){iLe.select(this).call(oLt,s,a,t)})})}});var sLe=ye((evr,oLe)=>{\"use strict\";oLe.exports={moduleType:\"trace\",name:\"funnelarea\",basePlotModule:V6e(),categories:[\"pie-like\",\"funnelarea\",\"showLegend\"],attributes:JW(),layoutAttributes:$W(),supplyDefaults:Z6e(),supplyLayoutDefaults:Y6e(),calc:QW().calc,crossTraceCalc:QW().crossTraceCalc,plot:rLe(),style:aLe(),styleOne:z3(),meta:{}}});var uLe=ye((tvr,lLe)=>{\"use strict\";lLe.exports=sLe()});var Rd=ye((rvr,cLe)=>{(function(){var e={1964:function(i,a,o){i.exports={alpha_shape:o(3502),convex_hull:o(7352),delaunay_triangulate:o(7642),gl_cone3d:o(6405),gl_error3d:o(9165),gl_line3d:o(5714),gl_mesh3d:o(7201),gl_plot3d:o(4100),gl_scatter3d:o(8418),gl_streamtube3d:o(7815),gl_surface3d:o(9499),ndarray:o(9618),ndarray_linear_interpolate:o(4317)}},4793:function(i,a,o){\"use strict\";var s;function l(Le,xe){if(!(Le instanceof xe))throw new TypeError(\"Cannot call a class as a function\")}function u(Le,xe){for(var Se=0;Se<xe.length;Se++){var lt=xe[Se];lt.enumerable=lt.enumerable||!1,lt.configurable=!0,\"value\"in lt&&(lt.writable=!0),Object.defineProperty(Le,f(lt.key),lt)}}function c(Le,xe,Se){return xe&&u(Le.prototype,xe),Se&&u(Le,Se),Object.defineProperty(Le,\"prototype\",{writable:!1}),Le}function f(Le){var xe=h(Le,\"string\");return A(xe)==\"symbol\"?xe:xe+\"\"}function h(Le,xe){if(A(Le)!=\"object\"||!Le)return Le;var Se=Le[Symbol.toPrimitive];if(Se!==void 0){var lt=Se.call(Le,xe||\"default\");if(A(lt)!=\"object\")return lt;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(xe===\"string\"?String:Number)(Le)}function d(Le,xe,Se){return xe=p(xe),v(Le,b()?Reflect.construct(xe,Se||[],p(Le).constructor):xe.apply(Le,Se))}function v(Le,xe){if(xe&&(A(xe)==\"object\"||typeof xe==\"function\"))return xe;if(xe!==void 0)throw new TypeError(\"Derived constructors may only return object or undefined\");return x(Le)}function x(Le){if(Le===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return Le}function b(){try{var Le=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(xe){}return(b=function(){return!!Le})()}function p(Le){return p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(xe){return xe.__proto__||Object.getPrototypeOf(xe)},p(Le)}function E(Le,xe){if(typeof xe!=\"function\"&&xe!==null)throw new TypeError(\"Super expression must either be null or a function\");Le.prototype=Object.create(xe&&xe.prototype,{constructor:{value:Le,writable:!0,configurable:!0}}),Object.defineProperty(Le,\"prototype\",{writable:!1}),xe&&k(Le,xe)}function k(Le,xe){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(Se,lt){return Se.__proto__=lt,Se},k(Le,xe)}function A(Le){\"@babel/helpers - typeof\";return A=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(xe){return typeof xe}:function(xe){return xe&&typeof Symbol==\"function\"&&xe.constructor===Symbol&&xe!==Symbol.prototype?\"symbol\":typeof xe},A(Le)}var L=o(7507),_=o(3778),C=typeof Symbol==\"function\"&&typeof Symbol.for==\"function\"?Symbol.for(\"nodejs.util.inspect.custom\"):null;a.hp=T,s=_e,a.IS=50;var M=2147483647;s=M,T.TYPED_ARRAY_SUPPORT=g(),!T.TYPED_ARRAY_SUPPORT&&typeof console!=\"undefined\"&&typeof console.error==\"function\"&&console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\");function g(){try{var Le=new Uint8Array(1),xe={foo:function(){return 42}};return Object.setPrototypeOf(xe,Uint8Array.prototype),Object.setPrototypeOf(Le,xe),Le.foo()===42}catch(Se){return!1}}Object.defineProperty(T.prototype,\"parent\",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.buffer}}),Object.defineProperty(T.prototype,\"offset\",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.byteOffset}});function P(Le){if(Le>M)throw new RangeError('The value \"'+Le+'\" is invalid for option \"size\"');var xe=new Uint8Array(Le);return Object.setPrototypeOf(xe,T.prototype),xe}function T(Le,xe,Se){if(typeof Le==\"number\"){if(typeof xe==\"string\")throw new TypeError('The \"string\" argument must be of type string. Received type number');return H(Le)}return F(Le,xe,Se)}T.poolSize=8192;function F(Le,xe,Se){if(typeof Le==\"string\")return X(Le,xe);if(ArrayBuffer.isView(Le))return N(Le);if(Le==null)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+A(Le));if(Ne(Le,ArrayBuffer)||Le&&Ne(Le.buffer,ArrayBuffer)||typeof SharedArrayBuffer!=\"undefined\"&&(Ne(Le,SharedArrayBuffer)||Le&&Ne(Le.buffer,SharedArrayBuffer)))return W(Le,xe,Se);if(typeof Le==\"number\")throw new TypeError('The \"value\" argument must not be of type number. Received type number');var lt=Le.valueOf&&Le.valueOf();if(lt!=null&<!==Le)return T.from(lt,xe,Se);var Gt=re(Le);if(Gt)return Gt;if(typeof Symbol!=\"undefined\"&&Symbol.toPrimitive!=null&&typeof Le[Symbol.toPrimitive]==\"function\")return T.from(Le[Symbol.toPrimitive](\"string\"),xe,Se);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+A(Le))}T.from=function(Le,xe,Se){return F(Le,xe,Se)},Object.setPrototypeOf(T.prototype,Uint8Array.prototype),Object.setPrototypeOf(T,Uint8Array);function q(Le){if(typeof Le!=\"number\")throw new TypeError('\"size\" argument must be of type number');if(Le<0)throw new RangeError('The value \"'+Le+'\" is invalid for option \"size\"')}function V(Le,xe,Se){return q(Le),Le<=0?P(Le):xe!==void 0?typeof Se==\"string\"?P(Le).fill(xe,Se):P(Le).fill(xe):P(Le)}T.alloc=function(Le,xe,Se){return V(Le,xe,Se)};function H(Le){return q(Le),P(Le<0?0:ae(Le)|0)}T.allocUnsafe=function(Le){return H(Le)},T.allocUnsafeSlow=function(Le){return H(Le)};function X(Le,xe){if((typeof xe!=\"string\"||xe===\"\")&&(xe=\"utf8\"),!T.isEncoding(xe))throw new TypeError(\"Unknown encoding: \"+xe);var Se=Me(Le,xe)|0,lt=P(Se),Gt=lt.write(Le,xe);return Gt!==Se&&(lt=lt.slice(0,Gt)),lt}function G(Le){for(var xe=Le.length<0?0:ae(Le.length)|0,Se=P(xe),lt=0;lt<xe;lt+=1)Se[lt]=Le[lt]&255;return Se}function N(Le){if(Ne(Le,Uint8Array)){var xe=new Uint8Array(Le);return W(xe.buffer,xe.byteOffset,xe.byteLength)}return G(Le)}function W(Le,xe,Se){if(xe<0||Le.byteLength<xe)throw new RangeError('\"offset\" is outside of buffer bounds');if(Le.byteLength<xe+(Se||0))throw new RangeError('\"length\" is outside of buffer bounds');var lt;return xe===void 0&&Se===void 0?lt=new Uint8Array(Le):Se===void 0?lt=new Uint8Array(Le,xe):lt=new Uint8Array(Le,xe,Se),Object.setPrototypeOf(lt,T.prototype),lt}function re(Le){if(T.isBuffer(Le)){var xe=ae(Le.length)|0,Se=P(xe);return Se.length===0||Le.copy(Se,0,0,xe),Se}if(Le.length!==void 0)return typeof Le.length!=\"number\"||Ye(Le.length)?P(0):G(Le);if(Le.type===\"Buffer\"&&Array.isArray(Le.data))return G(Le.data)}function ae(Le){if(Le>=M)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+M.toString(16)+\" bytes\");return Le|0}function _e(Le){return+Le!=Le&&(Le=0),T.alloc(+Le)}T.isBuffer=function(xe){return xe!=null&&xe._isBuffer===!0&&xe!==T.prototype},T.compare=function(xe,Se){if(Ne(xe,Uint8Array)&&(xe=T.from(xe,xe.offset,xe.byteLength)),Ne(Se,Uint8Array)&&(Se=T.from(Se,Se.offset,Se.byteLength)),!T.isBuffer(xe)||!T.isBuffer(Se))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(xe===Se)return 0;for(var lt=xe.length,Gt=Se.length,Vt=0,ar=Math.min(lt,Gt);Vt<ar;++Vt)if(xe[Vt]!==Se[Vt]){lt=xe[Vt],Gt=Se[Vt];break}return lt<Gt?-1:Gt<lt?1:0},T.isEncoding=function(xe){switch(String(xe).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},T.concat=function(xe,Se){if(!Array.isArray(xe))throw new TypeError('\"list\" argument must be an Array of Buffers');if(xe.length===0)return T.alloc(0);var lt;if(Se===void 0)for(Se=0,lt=0;lt<xe.length;++lt)Se+=xe[lt].length;var Gt=T.allocUnsafe(Se),Vt=0;for(lt=0;lt<xe.length;++lt){var ar=xe[lt];if(Ne(ar,Uint8Array))Vt+ar.length>Gt.length?(T.isBuffer(ar)||(ar=T.from(ar)),ar.copy(Gt,Vt)):Uint8Array.prototype.set.call(Gt,ar,Vt);else if(T.isBuffer(ar))ar.copy(Gt,Vt);else throw new TypeError('\"list\" argument must be an Array of Buffers');Vt+=ar.length}return Gt};function Me(Le,xe){if(T.isBuffer(Le))return Le.length;if(ArrayBuffer.isView(Le)||Ne(Le,ArrayBuffer))return Le.byteLength;if(typeof Le!=\"string\")throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+A(Le));var Se=Le.length,lt=arguments.length>2&&arguments[2]===!0;if(!lt&&Se===0)return 0;for(var Gt=!1;;)switch(xe){case\"ascii\":case\"latin1\":case\"binary\":return Se;case\"utf8\":case\"utf-8\":return _r(Le).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Se*2;case\"hex\":return Se>>>1;case\"base64\":return Nr(Le).length;default:if(Gt)return lt?-1:_r(Le).length;xe=(\"\"+xe).toLowerCase(),Gt=!0}}T.byteLength=Me;function ke(Le,xe,Se){var lt=!1;if((xe===void 0||xe<0)&&(xe=0),xe>this.length||((Se===void 0||Se>this.length)&&(Se=this.length),Se<=0)||(Se>>>=0,xe>>>=0,Se<=xe))return\"\";for(Le||(Le=\"utf8\");;)switch(Le){case\"hex\":return rt(this,xe,Se);case\"utf8\":case\"utf-8\":return ce(this,xe,Se);case\"ascii\":return ct(this,xe,Se);case\"latin1\":case\"binary\":return qt(this,xe,Se);case\"base64\":return Re(this,xe,Se);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return ot(this,xe,Se);default:if(lt)throw new TypeError(\"Unknown encoding: \"+Le);Le=(Le+\"\").toLowerCase(),lt=!0}}T.prototype._isBuffer=!0;function ge(Le,xe,Se){var lt=Le[xe];Le[xe]=Le[Se],Le[Se]=lt}T.prototype.swap16=function(){var xe=this.length;if(xe%2!==0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var Se=0;Se<xe;Se+=2)ge(this,Se,Se+1);return this},T.prototype.swap32=function(){var xe=this.length;if(xe%4!==0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var Se=0;Se<xe;Se+=4)ge(this,Se,Se+3),ge(this,Se+1,Se+2);return this},T.prototype.swap64=function(){var xe=this.length;if(xe%8!==0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var Se=0;Se<xe;Se+=8)ge(this,Se,Se+7),ge(this,Se+1,Se+6),ge(this,Se+2,Se+5),ge(this,Se+3,Se+4);return this},T.prototype.toString=function(){var xe=this.length;return xe===0?\"\":arguments.length===0?ce(this,0,xe):ke.apply(this,arguments)},T.prototype.toLocaleString=T.prototype.toString,T.prototype.equals=function(xe){if(!T.isBuffer(xe))throw new TypeError(\"Argument must be a Buffer\");return this===xe?!0:T.compare(this,xe)===0},T.prototype.inspect=function(){var xe=\"\",Se=a.IS;return xe=this.toString(\"hex\",0,Se).replace(/(.{2})/g,\"$1 \").trim(),this.length>Se&&(xe+=\" ... \"),\"<Buffer \"+xe+\">\"},C&&(T.prototype[C]=T.prototype.inspect),T.prototype.compare=function(xe,Se,lt,Gt,Vt){if(Ne(xe,Uint8Array)&&(xe=T.from(xe,xe.offset,xe.byteLength)),!T.isBuffer(xe))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+A(xe));if(Se===void 0&&(Se=0),lt===void 0&&(lt=xe?xe.length:0),Gt===void 0&&(Gt=0),Vt===void 0&&(Vt=this.length),Se<0||lt>xe.length||Gt<0||Vt>this.length)throw new RangeError(\"out of range index\");if(Gt>=Vt&&Se>=lt)return 0;if(Gt>=Vt)return-1;if(Se>=lt)return 1;if(Se>>>=0,lt>>>=0,Gt>>>=0,Vt>>>=0,this===xe)return 0;for(var ar=Vt-Gt,Qr=lt-Se,ai=Math.min(ar,Qr),jr=this.slice(Gt,Vt),ri=xe.slice(Se,lt),bi=0;bi<ai;++bi)if(jr[bi]!==ri[bi]){ar=jr[bi],Qr=ri[bi];break}return ar<Qr?-1:Qr<ar?1:0};function ie(Le,xe,Se,lt,Gt){if(Le.length===0)return-1;if(typeof Se==\"string\"?(lt=Se,Se=0):Se>2147483647?Se=2147483647:Se<-2147483648&&(Se=-2147483648),Se=+Se,Ye(Se)&&(Se=Gt?0:Le.length-1),Se<0&&(Se=Le.length+Se),Se>=Le.length){if(Gt)return-1;Se=Le.length-1}else if(Se<0)if(Gt)Se=0;else return-1;if(typeof xe==\"string\"&&(xe=T.from(xe,lt)),T.isBuffer(xe))return xe.length===0?-1:Te(Le,xe,Se,lt,Gt);if(typeof xe==\"number\")return xe=xe&255,typeof Uint8Array.prototype.indexOf==\"function\"?Gt?Uint8Array.prototype.indexOf.call(Le,xe,Se):Uint8Array.prototype.lastIndexOf.call(Le,xe,Se):Te(Le,[xe],Se,lt,Gt);throw new TypeError(\"val must be string, number or Buffer\")}function Te(Le,xe,Se,lt,Gt){var Vt=1,ar=Le.length,Qr=xe.length;if(lt!==void 0&&(lt=String(lt).toLowerCase(),lt===\"ucs2\"||lt===\"ucs-2\"||lt===\"utf16le\"||lt===\"utf-16le\")){if(Le.length<2||xe.length<2)return-1;Vt=2,ar/=2,Qr/=2,Se/=2}function ai(Wi,Ni){return Vt===1?Wi[Ni]:Wi.readUInt16BE(Ni*Vt)}var jr;if(Gt){var ri=-1;for(jr=Se;jr<ar;jr++)if(ai(Le,jr)===ai(xe,ri===-1?0:jr-ri)){if(ri===-1&&(ri=jr),jr-ri+1===Qr)return ri*Vt}else ri!==-1&&(jr-=jr-ri),ri=-1}else for(Se+Qr>ar&&(Se=ar-Qr),jr=Se;jr>=0;jr--){for(var bi=!0,nn=0;nn<Qr;nn++)if(ai(Le,jr+nn)!==ai(xe,nn)){bi=!1;break}if(bi)return jr}return-1}T.prototype.includes=function(xe,Se,lt){return this.indexOf(xe,Se,lt)!==-1},T.prototype.indexOf=function(xe,Se,lt){return ie(this,xe,Se,lt,!0)},T.prototype.lastIndexOf=function(xe,Se,lt){return ie(this,xe,Se,lt,!1)};function Ee(Le,xe,Se,lt){Se=Number(Se)||0;var Gt=Le.length-Se;lt?(lt=Number(lt),lt>Gt&&(lt=Gt)):lt=Gt;var Vt=xe.length;lt>Vt/2&&(lt=Vt/2);var ar;for(ar=0;ar<lt;++ar){var Qr=parseInt(xe.substr(ar*2,2),16);if(Ye(Qr))return ar;Le[Se+ar]=Qr}return ar}function Ae(Le,xe,Se,lt){return ut(_r(xe,Le.length-Se),Le,Se,lt)}function ze(Le,xe,Se,lt){return ut(Br(xe),Le,Se,lt)}function Ce(Le,xe,Se,lt){return ut(Nr(xe),Le,Se,lt)}function me(Le,xe,Se,lt){return ut(Or(xe,Le.length-Se),Le,Se,lt)}T.prototype.write=function(xe,Se,lt,Gt){if(Se===void 0)Gt=\"utf8\",lt=this.length,Se=0;else if(lt===void 0&&typeof Se==\"string\")Gt=Se,lt=this.length,Se=0;else if(isFinite(Se))Se=Se>>>0,isFinite(lt)?(lt=lt>>>0,Gt===void 0&&(Gt=\"utf8\")):(Gt=lt,lt=void 0);else throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");var Vt=this.length-Se;if((lt===void 0||lt>Vt)&&(lt=Vt),xe.length>0&&(lt<0||Se<0)||Se>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");Gt||(Gt=\"utf8\");for(var ar=!1;;)switch(Gt){case\"hex\":return Ee(this,xe,Se,lt);case\"utf8\":case\"utf-8\":return Ae(this,xe,Se,lt);case\"ascii\":case\"latin1\":case\"binary\":return ze(this,xe,Se,lt);case\"base64\":return Ce(this,xe,Se,lt);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return me(this,xe,Se,lt);default:if(ar)throw new TypeError(\"Unknown encoding: \"+Gt);Gt=(\"\"+Gt).toLowerCase(),ar=!0}},T.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function Re(Le,xe,Se){return xe===0&&Se===Le.length?L.fromByteArray(Le):L.fromByteArray(Le.slice(xe,Se))}function ce(Le,xe,Se){Se=Math.min(Le.length,Se);for(var lt=[],Gt=xe;Gt<Se;){var Vt=Le[Gt],ar=null,Qr=Vt>239?4:Vt>223?3:Vt>191?2:1;if(Gt+Qr<=Se){var ai=void 0,jr=void 0,ri=void 0,bi=void 0;switch(Qr){case 1:Vt<128&&(ar=Vt);break;case 2:ai=Le[Gt+1],(ai&192)===128&&(bi=(Vt&31)<<6|ai&63,bi>127&&(ar=bi));break;case 3:ai=Le[Gt+1],jr=Le[Gt+2],(ai&192)===128&&(jr&192)===128&&(bi=(Vt&15)<<12|(ai&63)<<6|jr&63,bi>2047&&(bi<55296||bi>57343)&&(ar=bi));break;case 4:ai=Le[Gt+1],jr=Le[Gt+2],ri=Le[Gt+3],(ai&192)===128&&(jr&192)===128&&(ri&192)===128&&(bi=(Vt&15)<<18|(ai&63)<<12|(jr&63)<<6|ri&63,bi>65535&&bi<1114112&&(ar=bi))}}ar===null?(ar=65533,Qr=1):ar>65535&&(ar-=65536,lt.push(ar>>>10&1023|55296),ar=56320|ar&1023),lt.push(ar),Gt+=Qr}return nt(lt)}var Ge=4096;function nt(Le){var xe=Le.length;if(xe<=Ge)return String.fromCharCode.apply(String,Le);for(var Se=\"\",lt=0;lt<xe;)Se+=String.fromCharCode.apply(String,Le.slice(lt,lt+=Ge));return Se}function ct(Le,xe,Se){var lt=\"\";Se=Math.min(Le.length,Se);for(var Gt=xe;Gt<Se;++Gt)lt+=String.fromCharCode(Le[Gt]&127);return lt}function qt(Le,xe,Se){var lt=\"\";Se=Math.min(Le.length,Se);for(var Gt=xe;Gt<Se;++Gt)lt+=String.fromCharCode(Le[Gt]);return lt}function rt(Le,xe,Se){var lt=Le.length;(!xe||xe<0)&&(xe=0),(!Se||Se<0||Se>lt)&&(Se=lt);for(var Gt=\"\",Vt=xe;Vt<Se;++Vt)Gt+=Ve[Le[Vt]];return Gt}function ot(Le,xe,Se){for(var lt=Le.slice(xe,Se),Gt=\"\",Vt=0;Vt<lt.length-1;Vt+=2)Gt+=String.fromCharCode(lt[Vt]+lt[Vt+1]*256);return Gt}T.prototype.slice=function(xe,Se){var lt=this.length;xe=~~xe,Se=Se===void 0?lt:~~Se,xe<0?(xe+=lt,xe<0&&(xe=0)):xe>lt&&(xe=lt),Se<0?(Se+=lt,Se<0&&(Se=0)):Se>lt&&(Se=lt),Se<xe&&(Se=xe);var Gt=this.subarray(xe,Se);return Object.setPrototypeOf(Gt,T.prototype),Gt};function Rt(Le,xe,Se){if(Le%1!==0||Le<0)throw new RangeError(\"offset is not uint\");if(Le+xe>Se)throw new RangeError(\"Trying to access beyond buffer length\")}T.prototype.readUintLE=T.prototype.readUIntLE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=this[xe],Vt=1,ar=0;++ar<Se&&(Vt*=256);)Gt+=this[xe+ar]*Vt;return Gt},T.prototype.readUintBE=T.prototype.readUIntBE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=this[xe+--Se],Vt=1;Se>0&&(Vt*=256);)Gt+=this[xe+--Se]*Vt;return Gt},T.prototype.readUint8=T.prototype.readUInt8=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,1,this.length),this[xe]},T.prototype.readUint16LE=T.prototype.readUInt16LE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,2,this.length),this[xe]|this[xe+1]<<8},T.prototype.readUint16BE=T.prototype.readUInt16BE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,2,this.length),this[xe]<<8|this[xe+1]},T.prototype.readUint32LE=T.prototype.readUInt32LE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),(this[xe]|this[xe+1]<<8|this[xe+2]<<16)+this[xe+3]*16777216},T.prototype.readUint32BE=T.prototype.readUInt32BE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),this[xe]*16777216+(this[xe+1]<<16|this[xe+2]<<8|this[xe+3])},T.prototype.readBigUInt64LE=Xe(function(xe){xe=xe>>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=Se+this[++xe]*Math.pow(2,8)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,24),Vt=this[++xe]+this[++xe]*Math.pow(2,8)+this[++xe]*Math.pow(2,16)+lt*Math.pow(2,24);return BigInt(Gt)+(BigInt(Vt)<<BigInt(32))}),T.prototype.readBigUInt64BE=Xe(function(xe){xe=xe>>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=Se*Math.pow(2,24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+this[++xe],Vt=this[++xe]*Math.pow(2,24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+lt;return(BigInt(Gt)<<BigInt(32))+BigInt(Vt)}),T.prototype.readIntLE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=this[xe],Vt=1,ar=0;++ar<Se&&(Vt*=256);)Gt+=this[xe+ar]*Vt;return Vt*=128,Gt>=Vt&&(Gt-=Math.pow(2,8*Se)),Gt},T.prototype.readIntBE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=Se,Vt=1,ar=this[xe+--Gt];Gt>0&&(Vt*=256);)ar+=this[xe+--Gt]*Vt;return Vt*=128,ar>=Vt&&(ar-=Math.pow(2,8*Se)),ar},T.prototype.readInt8=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,1,this.length),this[xe]&128?(255-this[xe]+1)*-1:this[xe]},T.prototype.readInt16LE=function(xe,Se){xe=xe>>>0,Se||Rt(xe,2,this.length);var lt=this[xe]|this[xe+1]<<8;return lt&32768?lt|4294901760:lt},T.prototype.readInt16BE=function(xe,Se){xe=xe>>>0,Se||Rt(xe,2,this.length);var lt=this[xe+1]|this[xe]<<8;return lt&32768?lt|4294901760:lt},T.prototype.readInt32LE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),this[xe]|this[xe+1]<<8|this[xe+2]<<16|this[xe+3]<<24},T.prototype.readInt32BE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),this[xe]<<24|this[xe+1]<<16|this[xe+2]<<8|this[xe+3]},T.prototype.readBigInt64LE=Xe(function(xe){xe=xe>>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=this[xe+4]+this[xe+5]*Math.pow(2,8)+this[xe+6]*Math.pow(2,16)+(lt<<24);return(BigInt(Gt)<<BigInt(32))+BigInt(Se+this[++xe]*Math.pow(2,8)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,24))}),T.prototype.readBigInt64BE=Xe(function(xe){xe=xe>>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=(Se<<24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+this[++xe];return(BigInt(Gt)<<BigInt(32))+BigInt(this[++xe]*Math.pow(2,24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+lt)}),T.prototype.readFloatLE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),_.read(this,xe,!0,23,4)},T.prototype.readFloatBE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),_.read(this,xe,!1,23,4)},T.prototype.readDoubleLE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,8,this.length),_.read(this,xe,!0,52,8)},T.prototype.readDoubleBE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,8,this.length),_.read(this,xe,!1,52,8)};function kt(Le,xe,Se,lt,Gt,Vt){if(!T.isBuffer(Le))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(xe>Gt||xe<Vt)throw new RangeError('\"value\" argument is out of bounds');if(Se+lt>Le.length)throw new RangeError(\"Index out of range\")}T.prototype.writeUintLE=T.prototype.writeUIntLE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,lt=lt>>>0,!Gt){var Vt=Math.pow(2,8*lt)-1;kt(this,xe,Se,lt,Vt,0)}var ar=1,Qr=0;for(this[Se]=xe&255;++Qr<lt&&(ar*=256);)this[Se+Qr]=xe/ar&255;return Se+lt},T.prototype.writeUintBE=T.prototype.writeUIntBE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,lt=lt>>>0,!Gt){var Vt=Math.pow(2,8*lt)-1;kt(this,xe,Se,lt,Vt,0)}var ar=lt-1,Qr=1;for(this[Se+ar]=xe&255;--ar>=0&&(Qr*=256);)this[Se+ar]=xe/Qr&255;return Se+lt},T.prototype.writeUint8=T.prototype.writeUInt8=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,1,255,0),this[Se]=xe&255,Se+1},T.prototype.writeUint16LE=T.prototype.writeUInt16LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,65535,0),this[Se]=xe&255,this[Se+1]=xe>>>8,Se+2},T.prototype.writeUint16BE=T.prototype.writeUInt16BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,65535,0),this[Se]=xe>>>8,this[Se+1]=xe&255,Se+2},T.prototype.writeUint32LE=T.prototype.writeUInt32LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,4294967295,0),this[Se+3]=xe>>>24,this[Se+2]=xe>>>16,this[Se+1]=xe>>>8,this[Se]=xe&255,Se+4},T.prototype.writeUint32BE=T.prototype.writeUInt32BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,4294967295,0),this[Se]=xe>>>24,this[Se+1]=xe>>>16,this[Se+2]=xe>>>8,this[Se+3]=xe&255,Se+4};function Ct(Le,xe,Se,lt,Gt){Et(xe,lt,Gt,Le,Se,7);var Vt=Number(xe&BigInt(4294967295));Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt;var ar=Number(xe>>BigInt(32)&BigInt(4294967295));return Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,Se}function Yt(Le,xe,Se,lt,Gt){Et(xe,lt,Gt,Le,Se,7);var Vt=Number(xe&BigInt(4294967295));Le[Se+7]=Vt,Vt=Vt>>8,Le[Se+6]=Vt,Vt=Vt>>8,Le[Se+5]=Vt,Vt=Vt>>8,Le[Se+4]=Vt;var ar=Number(xe>>BigInt(32)&BigInt(4294967295));return Le[Se+3]=ar,ar=ar>>8,Le[Se+2]=ar,ar=ar>>8,Le[Se+1]=ar,ar=ar>>8,Le[Se]=ar,Se+8}T.prototype.writeBigUInt64LE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Ct(this,xe,Se,BigInt(0),BigInt(\"0xffffffffffffffff\"))}),T.prototype.writeBigUInt64BE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Yt(this,xe,Se,BigInt(0),BigInt(\"0xffffffffffffffff\"))}),T.prototype.writeIntLE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,!Gt){var Vt=Math.pow(2,8*lt-1);kt(this,xe,Se,lt,Vt-1,-Vt)}var ar=0,Qr=1,ai=0;for(this[Se]=xe&255;++ar<lt&&(Qr*=256);)xe<0&&ai===0&&this[Se+ar-1]!==0&&(ai=1),this[Se+ar]=(xe/Qr>>0)-ai&255;return Se+lt},T.prototype.writeIntBE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,!Gt){var Vt=Math.pow(2,8*lt-1);kt(this,xe,Se,lt,Vt-1,-Vt)}var ar=lt-1,Qr=1,ai=0;for(this[Se+ar]=xe&255;--ar>=0&&(Qr*=256);)xe<0&&ai===0&&this[Se+ar+1]!==0&&(ai=1),this[Se+ar]=(xe/Qr>>0)-ai&255;return Se+lt},T.prototype.writeInt8=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,1,127,-128),xe<0&&(xe=255+xe+1),this[Se]=xe&255,Se+1},T.prototype.writeInt16LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,32767,-32768),this[Se]=xe&255,this[Se+1]=xe>>>8,Se+2},T.prototype.writeInt16BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,32767,-32768),this[Se]=xe>>>8,this[Se+1]=xe&255,Se+2},T.prototype.writeInt32LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,2147483647,-2147483648),this[Se]=xe&255,this[Se+1]=xe>>>8,this[Se+2]=xe>>>16,this[Se+3]=xe>>>24,Se+4},T.prototype.writeInt32BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,2147483647,-2147483648),xe<0&&(xe=4294967295+xe+1),this[Se]=xe>>>24,this[Se+1]=xe>>>16,this[Se+2]=xe>>>8,this[Se+3]=xe&255,Se+4},T.prototype.writeBigInt64LE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Ct(this,xe,Se,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))}),T.prototype.writeBigInt64BE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Yt(this,xe,Se,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});function xr(Le,xe,Se,lt,Gt,Vt){if(Se+lt>Le.length)throw new RangeError(\"Index out of range\");if(Se<0)throw new RangeError(\"Index out of range\")}function er(Le,xe,Se,lt,Gt){return xe=+xe,Se=Se>>>0,Gt||xr(Le,xe,Se,4,34028234663852886e22,-34028234663852886e22),_.write(Le,xe,Se,lt,23,4),Se+4}T.prototype.writeFloatLE=function(xe,Se,lt){return er(this,xe,Se,!0,lt)},T.prototype.writeFloatBE=function(xe,Se,lt){return er(this,xe,Se,!1,lt)};function Ke(Le,xe,Se,lt,Gt){return xe=+xe,Se=Se>>>0,Gt||xr(Le,xe,Se,8,17976931348623157e292,-17976931348623157e292),_.write(Le,xe,Se,lt,52,8),Se+8}T.prototype.writeDoubleLE=function(xe,Se,lt){return Ke(this,xe,Se,!0,lt)},T.prototype.writeDoubleBE=function(xe,Se,lt){return Ke(this,xe,Se,!1,lt)},T.prototype.copy=function(xe,Se,lt,Gt){if(!T.isBuffer(xe))throw new TypeError(\"argument should be a Buffer\");if(lt||(lt=0),!Gt&&Gt!==0&&(Gt=this.length),Se>=xe.length&&(Se=xe.length),Se||(Se=0),Gt>0&&Gt<lt&&(Gt=lt),Gt===lt||xe.length===0||this.length===0)return 0;if(Se<0)throw new RangeError(\"targetStart out of bounds\");if(lt<0||lt>=this.length)throw new RangeError(\"Index out of range\");if(Gt<0)throw new RangeError(\"sourceEnd out of bounds\");Gt>this.length&&(Gt=this.length),xe.length-Se<Gt-lt&&(Gt=xe.length-Se+lt);var Vt=Gt-lt;return this===xe&&typeof Uint8Array.prototype.copyWithin==\"function\"?this.copyWithin(Se,lt,Gt):Uint8Array.prototype.set.call(xe,this.subarray(lt,Gt),Se),Vt},T.prototype.fill=function(xe,Se,lt,Gt){if(typeof xe==\"string\"){if(typeof Se==\"string\"?(Gt=Se,Se=0,lt=this.length):typeof lt==\"string\"&&(Gt=lt,lt=this.length),Gt!==void 0&&typeof Gt!=\"string\")throw new TypeError(\"encoding must be a string\");if(typeof Gt==\"string\"&&!T.isEncoding(Gt))throw new TypeError(\"Unknown encoding: \"+Gt);if(xe.length===1){var Vt=xe.charCodeAt(0);(Gt===\"utf8\"&&Vt<128||Gt===\"latin1\")&&(xe=Vt)}}else typeof xe==\"number\"?xe=xe&255:typeof xe==\"boolean\"&&(xe=Number(xe));if(Se<0||this.length<Se||this.length<lt)throw new RangeError(\"Out of range index\");if(lt<=Se)return this;Se=Se>>>0,lt=lt===void 0?this.length:lt>>>0,xe||(xe=0);var ar;if(typeof xe==\"number\")for(ar=Se;ar<lt;++ar)this[ar]=xe;else{var Qr=T.isBuffer(xe)?xe:T.from(xe,Gt),ai=Qr.length;if(ai===0)throw new TypeError('The value \"'+xe+'\" is invalid for argument \"value\"');for(ar=0;ar<lt-Se;++ar)this[ar+Se]=Qr[ar%ai]}return this};var xt={};function bt(Le,xe,Se){xt[Le]=function(lt){function Gt(){var Vt;return l(this,Gt),Vt=d(this,Gt),Object.defineProperty(Vt,\"message\",{value:xe.apply(Vt,arguments),writable:!0,configurable:!0}),Vt.name=\"\".concat(Vt.name,\" [\").concat(Le,\"]\"),Vt.stack,delete Vt.name,Vt}return E(Gt,lt),c(Gt,[{key:\"code\",get:function(){return Le},set:function(ar){Object.defineProperty(this,\"code\",{configurable:!0,enumerable:!0,value:ar,writable:!0})}},{key:\"toString\",value:function(){return\"\".concat(this.name,\" [\").concat(Le,\"]: \").concat(this.message)}}])}(Se)}bt(\"ERR_BUFFER_OUT_OF_BOUNDS\",function(Le){return Le?\"\".concat(Le,\" is outside of buffer bounds\"):\"Attempt to access memory outside buffer bounds\"},RangeError),bt(\"ERR_INVALID_ARG_TYPE\",function(Le,xe){return'The \"'.concat(Le,'\" argument must be of type number. Received type ').concat(A(xe))},TypeError),bt(\"ERR_OUT_OF_RANGE\",function(Le,xe,Se){var lt='The value of \"'.concat(Le,'\" is out of range.'),Gt=Se;return Number.isInteger(Se)&&Math.abs(Se)>Math.pow(2,32)?Gt=Lt(String(Se)):typeof Se==\"bigint\"&&(Gt=String(Se),(Se>Math.pow(BigInt(2),BigInt(32))||Se<-Math.pow(BigInt(2),BigInt(32)))&&(Gt=Lt(Gt)),Gt+=\"n\"),lt+=\" It must be \".concat(xe,\". Received \").concat(Gt),lt},RangeError);function Lt(Le){for(var xe=\"\",Se=Le.length,lt=Le[0]===\"-\"?1:0;Se>=lt+4;Se-=3)xe=\"_\".concat(Le.slice(Se-3,Se)).concat(xe);return\"\".concat(Le.slice(0,Se)).concat(xe)}function St(Le,xe,Se){dt(xe,\"offset\"),(Le[xe]===void 0||Le[xe+Se]===void 0)&&Ht(xe,Le.length-(Se+1))}function Et(Le,xe,Se,lt,Gt,Vt){if(Le>Se||Le<xe){var ar=typeof xe==\"bigint\"?\"n\":\"\",Qr;throw Vt>3?xe===0||xe===BigInt(0)?Qr=\">= 0\".concat(ar,\" and < 2\").concat(ar,\" ** \").concat((Vt+1)*8).concat(ar):Qr=\">= -(2\".concat(ar,\" ** \").concat((Vt+1)*8-1).concat(ar,\") and < 2 ** \")+\"\".concat((Vt+1)*8-1).concat(ar):Qr=\">= \".concat(xe).concat(ar,\" and <= \").concat(Se).concat(ar),new xt.ERR_OUT_OF_RANGE(\"value\",Qr,Le)}St(lt,Gt,Vt)}function dt(Le,xe){if(typeof Le!=\"number\")throw new xt.ERR_INVALID_ARG_TYPE(xe,\"number\",Le)}function Ht(Le,xe,Se){throw Math.floor(Le)!==Le?(dt(Le,Se),new xt.ERR_OUT_OF_RANGE(Se||\"offset\",\"an integer\",Le)):xe<0?new xt.ERR_BUFFER_OUT_OF_BOUNDS:new xt.ERR_OUT_OF_RANGE(Se||\"offset\",\">= \".concat(Se?1:0,\" and <= \").concat(xe),Le)}var $t=/[^+/0-9A-Za-z-_]/g;function fr(Le){if(Le=Le.split(\"=\")[0],Le=Le.trim().replace($t,\"\"),Le.length<2)return\"\";for(;Le.length%4!==0;)Le=Le+\"=\";return Le}function _r(Le,xe){xe=xe||1/0;for(var Se,lt=Le.length,Gt=null,Vt=[],ar=0;ar<lt;++ar){if(Se=Le.charCodeAt(ar),Se>55295&&Se<57344){if(!Gt){if(Se>56319){(xe-=3)>-1&&Vt.push(239,191,189);continue}else if(ar+1===lt){(xe-=3)>-1&&Vt.push(239,191,189);continue}Gt=Se;continue}if(Se<56320){(xe-=3)>-1&&Vt.push(239,191,189),Gt=Se;continue}Se=(Gt-55296<<10|Se-56320)+65536}else Gt&&(xe-=3)>-1&&Vt.push(239,191,189);if(Gt=null,Se<128){if((xe-=1)<0)break;Vt.push(Se)}else if(Se<2048){if((xe-=2)<0)break;Vt.push(Se>>6|192,Se&63|128)}else if(Se<65536){if((xe-=3)<0)break;Vt.push(Se>>12|224,Se>>6&63|128,Se&63|128)}else if(Se<1114112){if((xe-=4)<0)break;Vt.push(Se>>18|240,Se>>12&63|128,Se>>6&63|128,Se&63|128)}else throw new Error(\"Invalid code point\")}return Vt}function Br(Le){for(var xe=[],Se=0;Se<Le.length;++Se)xe.push(Le.charCodeAt(Se)&255);return xe}function Or(Le,xe){for(var Se,lt,Gt,Vt=[],ar=0;ar<Le.length&&!((xe-=2)<0);++ar)Se=Le.charCodeAt(ar),lt=Se>>8,Gt=Se%256,Vt.push(Gt),Vt.push(lt);return Vt}function Nr(Le){return L.toByteArray(fr(Le))}function ut(Le,xe,Se,lt){var Gt;for(Gt=0;Gt<lt&&!(Gt+Se>=xe.length||Gt>=Le.length);++Gt)xe[Gt+Se]=Le[Gt];return Gt}function Ne(Le,xe){return Le instanceof xe||Le!=null&&Le.constructor!=null&&Le.constructor.name!=null&&Le.constructor.name===xe.name}function Ye(Le){return Le!==Le}var Ve=function(){for(var Le=\"0123456789abcdef\",xe=new Array(256),Se=0;Se<16;++Se)for(var lt=Se*16,Gt=0;Gt<16;++Gt)xe[lt+Gt]=Le[Se]+Le[Gt];return xe}();function Xe(Le){return typeof BigInt==\"undefined\"?ht:Le}function ht(){throw new Error(\"BigInt not supported\")}},9216:function(i){\"use strict\";i.exports=l,i.exports.isMobile=l,i.exports.default=l;var a=/(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,o=/CrOS/,s=/android|ipad|playbook|silk/i;function l(u){u||(u={});var c=u.ua;if(!c&&typeof navigator!=\"undefined\"&&(c=navigator.userAgent),c&&c.headers&&typeof c.headers[\"user-agent\"]==\"string\"&&(c=c.headers[\"user-agent\"]),typeof c!=\"string\")return!1;var f=a.test(c)&&!o.test(c)||!!u.tablet&&s.test(c);return!f&&u.tablet&&u.featureDetect&&navigator&&navigator.maxTouchPoints>1&&c.indexOf(\"Macintosh\")!==-1&&c.indexOf(\"Safari\")!==-1&&(f=!0),f}},6296:function(i,a,o){\"use strict\";i.exports=h;var s=o(7261),l=o(9977),u=o(1811);function c(d,v){this._controllerNames=Object.keys(d),this._controllerList=this._controllerNames.map(function(x){return d[x]}),this._mode=v,this._active=d[v],this._active||(this._mode=\"turntable\",this._active=d.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 f=c.prototype;f.flush=function(d){for(var v=this._controllerList,x=0;x<v.length;++x)v[x].flush(d)},f.idle=function(d){for(var v=this._controllerList,x=0;x<v.length;++x)v[x].idle(d)},f.lookAt=function(d,v,x,b){for(var p=this._controllerList,E=0;E<p.length;++E)p[E].lookAt(d,v,x,b)},f.rotate=function(d,v,x,b){for(var p=this._controllerList,E=0;E<p.length;++E)p[E].rotate(d,v,x,b)},f.pan=function(d,v,x,b){for(var p=this._controllerList,E=0;E<p.length;++E)p[E].pan(d,v,x,b)},f.translate=function(d,v,x,b){for(var p=this._controllerList,E=0;E<p.length;++E)p[E].translate(d,v,x,b)},f.setMatrix=function(d,v){for(var x=this._controllerList,b=0;b<x.length;++b)x[b].setMatrix(d,v)},f.setDistanceLimits=function(d,v){for(var x=this._controllerList,b=0;b<x.length;++b)x[b].setDistanceLimits(d,v)},f.setDistance=function(d,v){for(var x=this._controllerList,b=0;b<x.length;++b)x[b].setDistance(d,v)},f.recalcMatrix=function(d){this._active.recalcMatrix(d)},f.getDistance=function(d){return this._active.getDistance(d)},f.getDistanceLimits=function(d){return this._active.getDistanceLimits(d)},f.lastT=function(){return this._active.lastT()},f.setMode=function(d){if(d!==this._mode){var v=this._controllerNames.indexOf(d);if(!(v<0)){var x=this._active,b=this._controllerList[v],p=Math.max(x.lastT(),b.lastT());x.recalcMatrix(p),b.setMatrix(p,x.computedMatrix),this._active=b,this._mode=d,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}}},f.getMode=function(){return this._mode};function h(d){d=d||{};var v=d.eye||[0,0,1],x=d.center||[0,0,0],b=d.up||[0,1,0],p=d.distanceLimits||[0,1/0],E=d.mode||\"turntable\",k=s(),A=l(),L=u();return k.setDistanceLimits(p[0],p[1]),k.lookAt(0,v,x,b),A.setDistanceLimits(p[0],p[1]),A.lookAt(0,v,x,b),L.setDistanceLimits(p[0],p[1]),L.lookAt(0,v,x,b),new c({turntable:k,orbit:A,matrix:L},E)}},7169:function(i,a,o){\"use strict\";var s=typeof WeakMap==\"undefined\"?o(1538):WeakMap,l=o(2762),u=o(8116),c=new s;function f(h){var d=c.get(h),v=d&&(d._triangleBuffer.handle||d._triangleBuffer.buffer);if(!v||!h.isBuffer(v)){var x=l(h,new Float32Array([-1,-1,-1,4,4,-1]));d=u(h,[{buffer:x,type:h.FLOAT,size:2}]),d._triangleBuffer=x,c.set(h,d)}d.bind(),h.drawArrays(h.TRIANGLES,0,3),d.unbind()}i.exports=f},1085:function(i,a,o){var s=o(1371);i.exports=l;function l(u,c,f){c=typeof c==\"number\"?c:1,f=f||\": \";var h=u.split(/\\r?\\n/),d=String(h.length+c-1).length;return h.map(function(v,x){var b=x+c,p=String(b).length,E=s(b,d-p);return E+f+v}).join(`\n", - "`)}},3952:function(i,a,o){\"use strict\";i.exports=u;var s=o(3250);function l(c,f){for(var h=new Array(f+1),d=0;d<c.length;++d)h[d]=c[d];for(var d=0;d<=c.length;++d){for(var v=c.length;v<=f;++v){for(var x=new Array(f),b=0;b<f;++b)x[b]=Math.pow(v+1-d,b);h[v]=x}var p=s.apply(void 0,h);if(p)return!0}return!1}function u(c){var f=c.length;if(f===0)return[];if(f===1)return[0];for(var h=c[0].length,d=[c[0]],v=[0],x=1;x<f;++x){if(d.push(c[x]),!l(d,h)){d.pop();continue}if(v.push(x),v.length===h+1)return v}return v}},5995:function(i,a,o){\"use strict\";i.exports=u;var s=o(7642),l=o(6037);function u(c,f){return s(f).filter(function(h){for(var d=new Array(h.length),v=0;v<h.length;++v)d[v]=f[h[v]];return l(d)*c<1})}},3502:function(i,a,o){i.exports=u;var s=o(5995),l=o(9127);function u(c,f){return l(s(c,f))}},6468:function(i){i.exports=function(o){return atob(o)}},2642:function(i,a,o){\"use strict\";i.exports=u;var s=o(727);function l(c){for(var f=0,h=0;h<c.length;++h)f+=c[h];return f}function u(c,f){for(var h=f.length,d=new Array(h+1),v=0;v<h;++v){for(var x=new Array(h+1),b=0;b<=h;++b)x[b]=c[b][v];d[v]=x}d[h]=new Array(h+1);for(var v=0;v<=h;++v)d[h][v]=1;for(var p=new Array(h+1),v=0;v<h;++v)p[v]=f[v];p[h]=1;var E=s(d,p),k=l(E[h+1]);k===0&&(k=1);for(var A=new Array(h+1),v=0;v<=h;++v)A[v]=l(E[v])/k;return A}},7507:function(i,a){\"use strict\";a.byteLength=d,a.toByteArray=x,a.fromByteArray=E;for(var o=[],s=[],l=typeof Uint8Array!=\"undefined\"?Uint8Array:Array,u=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",c=0,f=u.length;c<f;++c)o[c]=u[c],s[u.charCodeAt(c)]=c;s[45]=62,s[95]=63;function h(k){var A=k.length;if(A%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var L=k.indexOf(\"=\");L===-1&&(L=A);var _=L===A?0:4-L%4;return[L,_]}function d(k){var A=h(k),L=A[0],_=A[1];return(L+_)*3/4-_}function v(k,A,L){return(A+L)*3/4-L}function x(k){var A,L=h(k),_=L[0],C=L[1],M=new l(v(k,_,C)),g=0,P=C>0?_-4:_,T;for(T=0;T<P;T+=4)A=s[k.charCodeAt(T)]<<18|s[k.charCodeAt(T+1)]<<12|s[k.charCodeAt(T+2)]<<6|s[k.charCodeAt(T+3)],M[g++]=A>>16&255,M[g++]=A>>8&255,M[g++]=A&255;return C===2&&(A=s[k.charCodeAt(T)]<<2|s[k.charCodeAt(T+1)]>>4,M[g++]=A&255),C===1&&(A=s[k.charCodeAt(T)]<<10|s[k.charCodeAt(T+1)]<<4|s[k.charCodeAt(T+2)]>>2,M[g++]=A>>8&255,M[g++]=A&255),M}function b(k){return o[k>>18&63]+o[k>>12&63]+o[k>>6&63]+o[k&63]}function p(k,A,L){for(var _,C=[],M=A;M<L;M+=3)_=(k[M]<<16&16711680)+(k[M+1]<<8&65280)+(k[M+2]&255),C.push(b(_));return C.join(\"\")}function E(k){for(var A,L=k.length,_=L%3,C=[],M=16383,g=0,P=L-_;g<P;g+=M)C.push(p(k,g,g+M>P?P:g+M));return _===1?(A=k[L-1],C.push(o[A>>2]+o[A<<4&63]+\"==\")):_===2&&(A=(k[L-2]<<8)+k[L-1],C.push(o[A>>10]+o[A>>4&63]+o[A<<2&63]+\"=\")),C.join(\"\")}},3865:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]).add(c[0].mul(u[1])),u[1].mul(c[1]))}},1318:function(i){\"use strict\";i.exports=a;function a(o,s){return o[0].mul(s[1]).cmp(s[0].mul(o[1]))}},8697:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]),u[1].mul(c[0]))}},7842:function(i,a,o){\"use strict\";var s=o(6330),l=o(1533),u=o(2651),c=o(6768),f=o(869),h=o(8697);i.exports=d;function d(v,x){if(s(v))return x?h(v,d(x)):[v[0].clone(),v[1].clone()];var b=0,p,E;if(l(v))p=v.clone();else if(typeof v==\"string\")p=c(v);else{if(v===0)return[u(0),u(1)];if(v===Math.floor(v))p=u(v);else{for(;v!==Math.floor(v);)v=v*Math.pow(2,256),b-=256;p=u(v)}}if(s(x))p.mul(x[1]),E=x[0].clone();else if(l(x))E=x.clone();else if(typeof x==\"string\")E=c(x);else if(!x)E=u(1);else if(x===Math.floor(x))E=u(x);else{for(;x!==Math.floor(x);)x=x*Math.pow(2,256),b+=256;E=u(x)}return b>0?p=p.ushln(b):b<0&&(E=E.ushln(-b)),f(p,E)}},6330:function(i,a,o){\"use strict\";var s=o(1533);i.exports=l;function l(u){return Array.isArray(u)&&u.length===2&&s(u[0])&&s(u[1])}},5716:function(i,a,o){\"use strict\";var s=o(6859);i.exports=l;function l(u){return u.cmp(new s(0))}},1369:function(i,a,o){\"use strict\";var s=o(5716);i.exports=l;function l(u){var c=u.length,f=u.words,h=0;if(c===1)h=f[0];else if(c===2)h=f[0]+f[1]*67108864;else for(var d=0;d<c;d++){var v=f[d];h+=v*Math.pow(67108864,d)}return s(u)*h}},4025:function(i,a,o){\"use strict\";var s=o(2361),l=o(8828).countTrailingZeros;i.exports=u;function u(c){var f=l(s.lo(c));if(f<32)return f;var h=l(s.hi(c));return h>20?52:h+32}},1533:function(i,a,o){\"use strict\";var s=o(6859);i.exports=l;function l(u){return u&&typeof u==\"object\"&&!!u.words}},2651:function(i,a,o){\"use strict\";var s=o(6859),l=o(2361);i.exports=u;function u(c){var f=l.exponent(c);return f<52?new s(c):new s(c*Math.pow(2,52-f)).ushln(f-52)}},869:function(i,a,o){\"use strict\";var s=o(2651),l=o(5716);i.exports=u;function u(c,f){var h=l(c),d=l(f);if(h===0)return[s(0),s(1)];if(d===0)return[s(0),s(0)];d<0&&(c=c.neg(),f=f.neg());var v=c.gcd(f);return v.cmpn(1)?[c.div(v),f.div(v)]:[c,f]}},6768:function(i,a,o){\"use strict\";var s=o(6859);i.exports=l;function l(u){return new s(u)}},6504:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[0]),u[1].mul(c[1]))}},7721:function(i,a,o){\"use strict\";var s=o(5716);i.exports=l;function l(u){return s(u[0])*s(u[1])}},5572:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]).sub(u[1].mul(c[0])),u[1].mul(c[1]))}},946:function(i,a,o){\"use strict\";var s=o(1369),l=o(4025);i.exports=u;function u(c){var f=c[0],h=c[1];if(f.cmpn(0)===0)return 0;var d=f.abs().divmod(h.abs()),v=d.div,x=s(v),b=d.mod,p=f.negative!==h.negative?-1:1;if(b.cmpn(0)===0)return p*x;if(x){var E=l(x)+4,k=s(b.ushln(E).divRound(h));return p*(x+k*Math.pow(2,-E))}else{var A=h.bitLength()-b.bitLength()+53,k=s(b.ushln(A).divRound(h));return A<1023?p*k*Math.pow(2,-A):(k*=Math.pow(2,-1023),p*k*Math.pow(2,1023-A))}}},2478:function(i){\"use strict\";function a(f,h,d,v,x){for(var b=x+1;v<=x;){var p=v+x>>>1,E=f[p],k=d!==void 0?d(E,h):E-h;k>=0?(b=p,x=p-1):v=p+1}return b}function o(f,h,d,v,x){for(var b=x+1;v<=x;){var p=v+x>>>1,E=f[p],k=d!==void 0?d(E,h):E-h;k>0?(b=p,x=p-1):v=p+1}return b}function s(f,h,d,v,x){for(var b=v-1;v<=x;){var p=v+x>>>1,E=f[p],k=d!==void 0?d(E,h):E-h;k<0?(b=p,v=p+1):x=p-1}return b}function l(f,h,d,v,x){for(var b=v-1;v<=x;){var p=v+x>>>1,E=f[p],k=d!==void 0?d(E,h):E-h;k<=0?(b=p,v=p+1):x=p-1}return b}function u(f,h,d,v,x){for(;v<=x;){var b=v+x>>>1,p=f[b],E=d!==void 0?d(p,h):p-h;if(E===0)return b;E<=0?v=b+1:x=b-1}return-1}function c(f,h,d,v,x,b){return typeof d==\"function\"?b(f,h,d,v===void 0?0:v|0,x===void 0?f.length-1:x|0):b(f,h,void 0,d===void 0?0:d|0,v===void 0?f.length-1:v|0)}i.exports={ge:function(f,h,d,v,x){return c(f,h,d,v,x,a)},gt:function(f,h,d,v,x){return c(f,h,d,v,x,o)},lt:function(f,h,d,v,x){return c(f,h,d,v,x,s)},le:function(f,h,d,v,x){return c(f,h,d,v,x,l)},eq:function(f,h,d,v,x){return c(f,h,d,v,x,u)}}},8828:function(i,a){\"use strict\";\"use restrict\";var o=32;a.INT_BITS=o,a.INT_MAX=2147483647,a.INT_MIN=-1<<o-1,a.sign=function(u){return(u>0)-(u<0)},a.abs=function(u){var c=u>>o-1;return(u^c)-c},a.min=function(u,c){return c^(u^c)&-(u<c)},a.max=function(u,c){return u^(u^c)&-(u<c)},a.isPow2=function(u){return!(u&u-1)&&!!u},a.log2=function(u){var c,f;return c=(u>65535)<<4,u>>>=c,f=(u>255)<<3,u>>>=f,c|=f,f=(u>15)<<2,u>>>=f,c|=f,f=(u>3)<<1,u>>>=f,c|=f,c|u>>1},a.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},a.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var c=32;return u&=-u,u&&c--,u&65535&&(c-=16),u&16711935&&(c-=8),u&252645135&&(c-=4),u&858993459&&(c-=2),u&1431655765&&(c-=1),c}a.countTrailingZeros=s,a.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},a.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},a.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var c=0;c<256;++c){var f=c,h=c,d=7;for(f>>>=1;f;f>>>=1)h<<=1,h|=f&1,--d;u[c]=h<<d&255}})(l),a.reverse=function(u){return l[u&255]<<24|l[u>>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},a.interleave2=function(u,c){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,c&=65535,c=(c|c<<8)&16711935,c=(c|c<<4)&252645135,c=(c|c<<2)&858993459,c=(c|c<<1)&1431655765,u|c<<1},a.deinterleave2=function(u,c){return u=u>>>c&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},a.interleave3=function(u,c,f){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|=c<<1,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|f<<2},a.deinterleave3=function(u,c){return u=u>>>c&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},a.nextCombination=function(u){var c=u|u-1;return c+1|(~c&-~c)-1>>>s(u)+1}},6859:function(i,a,o){i=o.nmd(i),function(s,l){\"use strict\";function u(G,N){if(!G)throw new Error(N||\"Assertion failed\")}function c(G,N){G.super_=N;var W=function(){};W.prototype=N.prototype,G.prototype=new W,G.prototype.constructor=G}function f(G,N,W){if(f.isBN(G))return G;this.negative=0,this.words=null,this.length=0,this.red=null,G!==null&&((N===\"le\"||N===\"be\")&&(W=N,N=10),this._init(G||0,N||10,W||\"be\"))}typeof s==\"object\"?s.exports=f:l.BN=f,f.BN=f,f.wordSize=26;var h;try{typeof window!=\"undefined\"&&typeof window.Buffer!=\"undefined\"?h=window.Buffer:h=o(7790).Buffer}catch(G){}f.isBN=function(N){return N instanceof f?!0:N!==null&&typeof N==\"object\"&&N.constructor.wordSize===f.wordSize&&Array.isArray(N.words)},f.max=function(N,W){return N.cmp(W)>0?N:W},f.min=function(N,W){return N.cmp(W)<0?N:W},f.prototype._init=function(N,W,re){if(typeof N==\"number\")return this._initNumber(N,W,re);if(typeof N==\"object\")return this._initArray(N,W,re);W===\"hex\"&&(W=16),u(W===(W|0)&&W>=2&&W<=36),N=N.toString().replace(/\\s+/g,\"\");var ae=0;N[0]===\"-\"&&(ae++,this.negative=1),ae<N.length&&(W===16?this._parseHex(N,ae,re):(this._parseBase(N,W,ae),re===\"le\"&&this._initArray(this.toArray(),W,re)))},f.prototype._initNumber=function(N,W,re){N<0&&(this.negative=1,N=-N),N<67108864?(this.words=[N&67108863],this.length=1):N<4503599627370496?(this.words=[N&67108863,N/67108864&67108863],this.length=2):(u(N<9007199254740992),this.words=[N&67108863,N/67108864&67108863,1],this.length=3),re===\"le\"&&this._initArray(this.toArray(),W,re)},f.prototype._initArray=function(N,W,re){if(u(typeof N.length==\"number\"),N.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(N.length/3),this.words=new Array(this.length);for(var ae=0;ae<this.length;ae++)this.words[ae]=0;var _e,Me,ke=0;if(re===\"be\")for(ae=N.length-1,_e=0;ae>=0;ae-=3)Me=N[ae]|N[ae-1]<<8|N[ae-2]<<16,this.words[_e]|=Me<<ke&67108863,this.words[_e+1]=Me>>>26-ke&67108863,ke+=24,ke>=26&&(ke-=26,_e++);else if(re===\"le\")for(ae=0,_e=0;ae<N.length;ae+=3)Me=N[ae]|N[ae+1]<<8|N[ae+2]<<16,this.words[_e]|=Me<<ke&67108863,this.words[_e+1]=Me>>>26-ke&67108863,ke+=24,ke>=26&&(ke-=26,_e++);return this.strip()};function d(G,N){var W=G.charCodeAt(N);return W>=65&&W<=70?W-55:W>=97&&W<=102?W-87:W-48&15}function v(G,N,W){var re=d(G,W);return W-1>=N&&(re|=d(G,W-1)<<4),re}f.prototype._parseHex=function(N,W,re){this.length=Math.ceil((N.length-W)/6),this.words=new Array(this.length);for(var ae=0;ae<this.length;ae++)this.words[ae]=0;var _e=0,Me=0,ke;if(re===\"be\")for(ae=N.length-1;ae>=W;ae-=2)ke=v(N,W,ae)<<_e,this.words[Me]|=ke&67108863,_e>=18?(_e-=18,Me+=1,this.words[Me]|=ke>>>26):_e+=8;else{var ge=N.length-W;for(ae=ge%2===0?W+1:W;ae<N.length;ae+=2)ke=v(N,W,ae)<<_e,this.words[Me]|=ke&67108863,_e>=18?(_e-=18,Me+=1,this.words[Me]|=ke>>>26):_e+=8}this.strip()};function x(G,N,W,re){for(var ae=0,_e=Math.min(G.length,W),Me=N;Me<_e;Me++){var ke=G.charCodeAt(Me)-48;ae*=re,ke>=49?ae+=ke-49+10:ke>=17?ae+=ke-17+10:ae+=ke}return ae}f.prototype._parseBase=function(N,W,re){this.words=[0],this.length=1;for(var ae=0,_e=1;_e<=67108863;_e*=W)ae++;ae--,_e=_e/W|0;for(var Me=N.length-re,ke=Me%ae,ge=Math.min(Me,Me-ke)+re,ie=0,Te=re;Te<ge;Te+=ae)ie=x(N,Te,Te+ae,W),this.imuln(_e),this.words[0]+ie<67108864?this.words[0]+=ie:this._iaddn(ie);if(ke!==0){var Ee=1;for(ie=x(N,Te,N.length,W),Te=0;Te<ke;Te++)Ee*=W;this.imuln(Ee),this.words[0]+ie<67108864?this.words[0]+=ie:this._iaddn(ie)}this.strip()},f.prototype.copy=function(N){N.words=new Array(this.length);for(var W=0;W<this.length;W++)N.words[W]=this.words[W];N.length=this.length,N.negative=this.negative,N.red=this.red},f.prototype.clone=function(){var N=new f(null);return this.copy(N),N},f.prototype._expand=function(N){for(;this.length<N;)this.words[this.length++]=0;return this},f.prototype.strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},f.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},f.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var b=[\"\",\"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\"],p=[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],E=[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];f.prototype.toString=function(N,W){N=N||10,W=W|0||1;var re;if(N===16||N===\"hex\"){re=\"\";for(var ae=0,_e=0,Me=0;Me<this.length;Me++){var ke=this.words[Me],ge=((ke<<ae|_e)&16777215).toString(16);_e=ke>>>24-ae&16777215,_e!==0||Me!==this.length-1?re=b[6-ge.length]+ge+re:re=ge+re,ae+=2,ae>=26&&(ae-=26,Me--)}for(_e!==0&&(re=_e.toString(16)+re);re.length%W!==0;)re=\"0\"+re;return this.negative!==0&&(re=\"-\"+re),re}if(N===(N|0)&&N>=2&&N<=36){var ie=p[N],Te=E[N];re=\"\";var Ee=this.clone();for(Ee.negative=0;!Ee.isZero();){var Ae=Ee.modn(Te).toString(N);Ee=Ee.idivn(Te),Ee.isZero()?re=Ae+re:re=b[ie-Ae.length]+Ae+re}for(this.isZero()&&(re=\"0\"+re);re.length%W!==0;)re=\"0\"+re;return this.negative!==0&&(re=\"-\"+re),re}u(!1,\"Base should be between 2 and 36\")},f.prototype.toNumber=function(){var N=this.words[0];return this.length===2?N+=this.words[1]*67108864:this.length===3&&this.words[2]===1?N+=4503599627370496+this.words[1]*67108864:this.length>2&&u(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0?-N:N},f.prototype.toJSON=function(){return this.toString(16)},f.prototype.toBuffer=function(N,W){return u(typeof h!=\"undefined\"),this.toArrayLike(h,N,W)},f.prototype.toArray=function(N,W){return this.toArrayLike(Array,N,W)},f.prototype.toArrayLike=function(N,W,re){var ae=this.byteLength(),_e=re||Math.max(1,ae);u(ae<=_e,\"byte array longer than desired length\"),u(_e>0,\"Requested array length <= 0\"),this.strip();var Me=W===\"le\",ke=new N(_e),ge,ie,Te=this.clone();if(Me){for(ie=0;!Te.isZero();ie++)ge=Te.andln(255),Te.iushrn(8),ke[ie]=ge;for(;ie<_e;ie++)ke[ie]=0}else{for(ie=0;ie<_e-ae;ie++)ke[ie]=0;for(ie=0;!Te.isZero();ie++)ge=Te.andln(255),Te.iushrn(8),ke[_e-ie-1]=ge}return ke},Math.clz32?f.prototype._countBits=function(N){return 32-Math.clz32(N)}:f.prototype._countBits=function(N){var W=N,re=0;return W>=4096&&(re+=13,W>>>=13),W>=64&&(re+=7,W>>>=7),W>=8&&(re+=4,W>>>=4),W>=2&&(re+=2,W>>>=2),re+W},f.prototype._zeroBits=function(N){if(N===0)return 26;var W=N,re=0;return W&8191||(re+=13,W>>>=13),W&127||(re+=7,W>>>=7),W&15||(re+=4,W>>>=4),W&3||(re+=2,W>>>=2),W&1||re++,re},f.prototype.bitLength=function(){var N=this.words[this.length-1],W=this._countBits(N);return(this.length-1)*26+W};function k(G){for(var N=new Array(G.bitLength()),W=0;W<N.length;W++){var re=W/26|0,ae=W%26;N[W]=(G.words[re]&1<<ae)>>>ae}return N}f.prototype.zeroBits=function(){if(this.isZero())return 0;for(var N=0,W=0;W<this.length;W++){var re=this._zeroBits(this.words[W]);if(N+=re,re!==26)break}return N},f.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},f.prototype.toTwos=function(N){return this.negative!==0?this.abs().inotn(N).iaddn(1):this.clone()},f.prototype.fromTwos=function(N){return this.testn(N-1)?this.notn(N).iaddn(1).ineg():this.clone()},f.prototype.isNeg=function(){return this.negative!==0},f.prototype.neg=function(){return this.clone().ineg()},f.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},f.prototype.iuor=function(N){for(;this.length<N.length;)this.words[this.length++]=0;for(var W=0;W<N.length;W++)this.words[W]=this.words[W]|N.words[W];return this.strip()},f.prototype.ior=function(N){return u((this.negative|N.negative)===0),this.iuor(N)},f.prototype.or=function(N){return this.length>N.length?this.clone().ior(N):N.clone().ior(this)},f.prototype.uor=function(N){return this.length>N.length?this.clone().iuor(N):N.clone().iuor(this)},f.prototype.iuand=function(N){var W;this.length>N.length?W=N:W=this;for(var re=0;re<W.length;re++)this.words[re]=this.words[re]&N.words[re];return this.length=W.length,this.strip()},f.prototype.iand=function(N){return u((this.negative|N.negative)===0),this.iuand(N)},f.prototype.and=function(N){return this.length>N.length?this.clone().iand(N):N.clone().iand(this)},f.prototype.uand=function(N){return this.length>N.length?this.clone().iuand(N):N.clone().iuand(this)},f.prototype.iuxor=function(N){var W,re;this.length>N.length?(W=this,re=N):(W=N,re=this);for(var ae=0;ae<re.length;ae++)this.words[ae]=W.words[ae]^re.words[ae];if(this!==W)for(;ae<W.length;ae++)this.words[ae]=W.words[ae];return this.length=W.length,this.strip()},f.prototype.ixor=function(N){return u((this.negative|N.negative)===0),this.iuxor(N)},f.prototype.xor=function(N){return this.length>N.length?this.clone().ixor(N):N.clone().ixor(this)},f.prototype.uxor=function(N){return this.length>N.length?this.clone().iuxor(N):N.clone().iuxor(this)},f.prototype.inotn=function(N){u(typeof N==\"number\"&&N>=0);var W=Math.ceil(N/26)|0,re=N%26;this._expand(W),re>0&&W--;for(var ae=0;ae<W;ae++)this.words[ae]=~this.words[ae]&67108863;return re>0&&(this.words[ae]=~this.words[ae]&67108863>>26-re),this.strip()},f.prototype.notn=function(N){return this.clone().inotn(N)},f.prototype.setn=function(N,W){u(typeof N==\"number\"&&N>=0);var re=N/26|0,ae=N%26;return this._expand(re+1),W?this.words[re]=this.words[re]|1<<ae:this.words[re]=this.words[re]&~(1<<ae),this.strip()},f.prototype.iadd=function(N){var W;if(this.negative!==0&&N.negative===0)return this.negative=0,W=this.isub(N),this.negative^=1,this._normSign();if(this.negative===0&&N.negative!==0)return N.negative=0,W=this.isub(N),N.negative=1,W._normSign();var re,ae;this.length>N.length?(re=this,ae=N):(re=N,ae=this);for(var _e=0,Me=0;Me<ae.length;Me++)W=(re.words[Me]|0)+(ae.words[Me]|0)+_e,this.words[Me]=W&67108863,_e=W>>>26;for(;_e!==0&&Me<re.length;Me++)W=(re.words[Me]|0)+_e,this.words[Me]=W&67108863,_e=W>>>26;if(this.length=re.length,_e!==0)this.words[this.length]=_e,this.length++;else if(re!==this)for(;Me<re.length;Me++)this.words[Me]=re.words[Me];return this},f.prototype.add=function(N){var W;return N.negative!==0&&this.negative===0?(N.negative=0,W=this.sub(N),N.negative^=1,W):N.negative===0&&this.negative!==0?(this.negative=0,W=N.sub(this),this.negative=1,W):this.length>N.length?this.clone().iadd(N):N.clone().iadd(this)},f.prototype.isub=function(N){if(N.negative!==0){N.negative=0;var W=this.iadd(N);return N.negative=1,W._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(N),this.negative=1,this._normSign();var re=this.cmp(N);if(re===0)return this.negative=0,this.length=1,this.words[0]=0,this;var ae,_e;re>0?(ae=this,_e=N):(ae=N,_e=this);for(var Me=0,ke=0;ke<_e.length;ke++)W=(ae.words[ke]|0)-(_e.words[ke]|0)+Me,Me=W>>26,this.words[ke]=W&67108863;for(;Me!==0&&ke<ae.length;ke++)W=(ae.words[ke]|0)+Me,Me=W>>26,this.words[ke]=W&67108863;if(Me===0&&ke<ae.length&&ae!==this)for(;ke<ae.length;ke++)this.words[ke]=ae.words[ke];return this.length=Math.max(this.length,ke),ae!==this&&(this.negative=1),this.strip()},f.prototype.sub=function(N){return this.clone().isub(N)};function A(G,N,W){W.negative=N.negative^G.negative;var re=G.length+N.length|0;W.length=re,re=re-1|0;var ae=G.words[0]|0,_e=N.words[0]|0,Me=ae*_e,ke=Me&67108863,ge=Me/67108864|0;W.words[0]=ke;for(var ie=1;ie<re;ie++){for(var Te=ge>>>26,Ee=ge&67108863,Ae=Math.min(ie,N.length-1),ze=Math.max(0,ie-G.length+1);ze<=Ae;ze++){var Ce=ie-ze|0;ae=G.words[Ce]|0,_e=N.words[ze]|0,Me=ae*_e+Ee,Te+=Me/67108864|0,Ee=Me&67108863}W.words[ie]=Ee|0,ge=Te|0}return ge!==0?W.words[ie]=ge|0:W.length--,W.strip()}var L=function(N,W,re){var ae=N.words,_e=W.words,Me=re.words,ke=0,ge,ie,Te,Ee=ae[0]|0,Ae=Ee&8191,ze=Ee>>>13,Ce=ae[1]|0,me=Ce&8191,Re=Ce>>>13,ce=ae[2]|0,Ge=ce&8191,nt=ce>>>13,ct=ae[3]|0,qt=ct&8191,rt=ct>>>13,ot=ae[4]|0,Rt=ot&8191,kt=ot>>>13,Ct=ae[5]|0,Yt=Ct&8191,xr=Ct>>>13,er=ae[6]|0,Ke=er&8191,xt=er>>>13,bt=ae[7]|0,Lt=bt&8191,St=bt>>>13,Et=ae[8]|0,dt=Et&8191,Ht=Et>>>13,$t=ae[9]|0,fr=$t&8191,_r=$t>>>13,Br=_e[0]|0,Or=Br&8191,Nr=Br>>>13,ut=_e[1]|0,Ne=ut&8191,Ye=ut>>>13,Ve=_e[2]|0,Xe=Ve&8191,ht=Ve>>>13,Le=_e[3]|0,xe=Le&8191,Se=Le>>>13,lt=_e[4]|0,Gt=lt&8191,Vt=lt>>>13,ar=_e[5]|0,Qr=ar&8191,ai=ar>>>13,jr=_e[6]|0,ri=jr&8191,bi=jr>>>13,nn=_e[7]|0,Wi=nn&8191,Ni=nn>>>13,_n=_e[8]|0,$i=_n&8191,zn=_n>>>13,Wn=_e[9]|0,It=Wn&8191,ft=Wn>>>13;re.negative=N.negative^W.negative,re.length=19,ge=Math.imul(Ae,Or),ie=Math.imul(Ae,Nr),ie=ie+Math.imul(ze,Or)|0,Te=Math.imul(ze,Nr);var jt=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jt>>>26)|0,jt&=67108863,ge=Math.imul(me,Or),ie=Math.imul(me,Nr),ie=ie+Math.imul(Re,Or)|0,Te=Math.imul(Re,Nr),ge=ge+Math.imul(Ae,Ne)|0,ie=ie+Math.imul(Ae,Ye)|0,ie=ie+Math.imul(ze,Ne)|0,Te=Te+Math.imul(ze,Ye)|0;var Zt=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,ge=Math.imul(Ge,Or),ie=Math.imul(Ge,Nr),ie=ie+Math.imul(nt,Or)|0,Te=Math.imul(nt,Nr),ge=ge+Math.imul(me,Ne)|0,ie=ie+Math.imul(me,Ye)|0,ie=ie+Math.imul(Re,Ne)|0,Te=Te+Math.imul(Re,Ye)|0,ge=ge+Math.imul(Ae,Xe)|0,ie=ie+Math.imul(Ae,ht)|0,ie=ie+Math.imul(ze,Xe)|0,Te=Te+Math.imul(ze,ht)|0;var yr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(yr>>>26)|0,yr&=67108863,ge=Math.imul(qt,Or),ie=Math.imul(qt,Nr),ie=ie+Math.imul(rt,Or)|0,Te=Math.imul(rt,Nr),ge=ge+Math.imul(Ge,Ne)|0,ie=ie+Math.imul(Ge,Ye)|0,ie=ie+Math.imul(nt,Ne)|0,Te=Te+Math.imul(nt,Ye)|0,ge=ge+Math.imul(me,Xe)|0,ie=ie+Math.imul(me,ht)|0,ie=ie+Math.imul(Re,Xe)|0,Te=Te+Math.imul(Re,ht)|0,ge=ge+Math.imul(Ae,xe)|0,ie=ie+Math.imul(Ae,Se)|0,ie=ie+Math.imul(ze,xe)|0,Te=Te+Math.imul(ze,Se)|0;var Fr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Fr>>>26)|0,Fr&=67108863,ge=Math.imul(Rt,Or),ie=Math.imul(Rt,Nr),ie=ie+Math.imul(kt,Or)|0,Te=Math.imul(kt,Nr),ge=ge+Math.imul(qt,Ne)|0,ie=ie+Math.imul(qt,Ye)|0,ie=ie+Math.imul(rt,Ne)|0,Te=Te+Math.imul(rt,Ye)|0,ge=ge+Math.imul(Ge,Xe)|0,ie=ie+Math.imul(Ge,ht)|0,ie=ie+Math.imul(nt,Xe)|0,Te=Te+Math.imul(nt,ht)|0,ge=ge+Math.imul(me,xe)|0,ie=ie+Math.imul(me,Se)|0,ie=ie+Math.imul(Re,xe)|0,Te=Te+Math.imul(Re,Se)|0,ge=ge+Math.imul(Ae,Gt)|0,ie=ie+Math.imul(Ae,Vt)|0,ie=ie+Math.imul(ze,Gt)|0,Te=Te+Math.imul(ze,Vt)|0;var Zr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Zr>>>26)|0,Zr&=67108863,ge=Math.imul(Yt,Or),ie=Math.imul(Yt,Nr),ie=ie+Math.imul(xr,Or)|0,Te=Math.imul(xr,Nr),ge=ge+Math.imul(Rt,Ne)|0,ie=ie+Math.imul(Rt,Ye)|0,ie=ie+Math.imul(kt,Ne)|0,Te=Te+Math.imul(kt,Ye)|0,ge=ge+Math.imul(qt,Xe)|0,ie=ie+Math.imul(qt,ht)|0,ie=ie+Math.imul(rt,Xe)|0,Te=Te+Math.imul(rt,ht)|0,ge=ge+Math.imul(Ge,xe)|0,ie=ie+Math.imul(Ge,Se)|0,ie=ie+Math.imul(nt,xe)|0,Te=Te+Math.imul(nt,Se)|0,ge=ge+Math.imul(me,Gt)|0,ie=ie+Math.imul(me,Vt)|0,ie=ie+Math.imul(Re,Gt)|0,Te=Te+Math.imul(Re,Vt)|0,ge=ge+Math.imul(Ae,Qr)|0,ie=ie+Math.imul(Ae,ai)|0,ie=ie+Math.imul(ze,Qr)|0,Te=Te+Math.imul(ze,ai)|0;var Vr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Vr>>>26)|0,Vr&=67108863,ge=Math.imul(Ke,Or),ie=Math.imul(Ke,Nr),ie=ie+Math.imul(xt,Or)|0,Te=Math.imul(xt,Nr),ge=ge+Math.imul(Yt,Ne)|0,ie=ie+Math.imul(Yt,Ye)|0,ie=ie+Math.imul(xr,Ne)|0,Te=Te+Math.imul(xr,Ye)|0,ge=ge+Math.imul(Rt,Xe)|0,ie=ie+Math.imul(Rt,ht)|0,ie=ie+Math.imul(kt,Xe)|0,Te=Te+Math.imul(kt,ht)|0,ge=ge+Math.imul(qt,xe)|0,ie=ie+Math.imul(qt,Se)|0,ie=ie+Math.imul(rt,xe)|0,Te=Te+Math.imul(rt,Se)|0,ge=ge+Math.imul(Ge,Gt)|0,ie=ie+Math.imul(Ge,Vt)|0,ie=ie+Math.imul(nt,Gt)|0,Te=Te+Math.imul(nt,Vt)|0,ge=ge+Math.imul(me,Qr)|0,ie=ie+Math.imul(me,ai)|0,ie=ie+Math.imul(Re,Qr)|0,Te=Te+Math.imul(Re,ai)|0,ge=ge+Math.imul(Ae,ri)|0,ie=ie+Math.imul(Ae,bi)|0,ie=ie+Math.imul(ze,ri)|0,Te=Te+Math.imul(ze,bi)|0;var gi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(gi>>>26)|0,gi&=67108863,ge=Math.imul(Lt,Or),ie=Math.imul(Lt,Nr),ie=ie+Math.imul(St,Or)|0,Te=Math.imul(St,Nr),ge=ge+Math.imul(Ke,Ne)|0,ie=ie+Math.imul(Ke,Ye)|0,ie=ie+Math.imul(xt,Ne)|0,Te=Te+Math.imul(xt,Ye)|0,ge=ge+Math.imul(Yt,Xe)|0,ie=ie+Math.imul(Yt,ht)|0,ie=ie+Math.imul(xr,Xe)|0,Te=Te+Math.imul(xr,ht)|0,ge=ge+Math.imul(Rt,xe)|0,ie=ie+Math.imul(Rt,Se)|0,ie=ie+Math.imul(kt,xe)|0,Te=Te+Math.imul(kt,Se)|0,ge=ge+Math.imul(qt,Gt)|0,ie=ie+Math.imul(qt,Vt)|0,ie=ie+Math.imul(rt,Gt)|0,Te=Te+Math.imul(rt,Vt)|0,ge=ge+Math.imul(Ge,Qr)|0,ie=ie+Math.imul(Ge,ai)|0,ie=ie+Math.imul(nt,Qr)|0,Te=Te+Math.imul(nt,ai)|0,ge=ge+Math.imul(me,ri)|0,ie=ie+Math.imul(me,bi)|0,ie=ie+Math.imul(Re,ri)|0,Te=Te+Math.imul(Re,bi)|0,ge=ge+Math.imul(Ae,Wi)|0,ie=ie+Math.imul(Ae,Ni)|0,ie=ie+Math.imul(ze,Wi)|0,Te=Te+Math.imul(ze,Ni)|0;var Si=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Si>>>26)|0,Si&=67108863,ge=Math.imul(dt,Or),ie=Math.imul(dt,Nr),ie=ie+Math.imul(Ht,Or)|0,Te=Math.imul(Ht,Nr),ge=ge+Math.imul(Lt,Ne)|0,ie=ie+Math.imul(Lt,Ye)|0,ie=ie+Math.imul(St,Ne)|0,Te=Te+Math.imul(St,Ye)|0,ge=ge+Math.imul(Ke,Xe)|0,ie=ie+Math.imul(Ke,ht)|0,ie=ie+Math.imul(xt,Xe)|0,Te=Te+Math.imul(xt,ht)|0,ge=ge+Math.imul(Yt,xe)|0,ie=ie+Math.imul(Yt,Se)|0,ie=ie+Math.imul(xr,xe)|0,Te=Te+Math.imul(xr,Se)|0,ge=ge+Math.imul(Rt,Gt)|0,ie=ie+Math.imul(Rt,Vt)|0,ie=ie+Math.imul(kt,Gt)|0,Te=Te+Math.imul(kt,Vt)|0,ge=ge+Math.imul(qt,Qr)|0,ie=ie+Math.imul(qt,ai)|0,ie=ie+Math.imul(rt,Qr)|0,Te=Te+Math.imul(rt,ai)|0,ge=ge+Math.imul(Ge,ri)|0,ie=ie+Math.imul(Ge,bi)|0,ie=ie+Math.imul(nt,ri)|0,Te=Te+Math.imul(nt,bi)|0,ge=ge+Math.imul(me,Wi)|0,ie=ie+Math.imul(me,Ni)|0,ie=ie+Math.imul(Re,Wi)|0,Te=Te+Math.imul(Re,Ni)|0,ge=ge+Math.imul(Ae,$i)|0,ie=ie+Math.imul(Ae,zn)|0,ie=ie+Math.imul(ze,$i)|0,Te=Te+Math.imul(ze,zn)|0;var Mi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Mi>>>26)|0,Mi&=67108863,ge=Math.imul(fr,Or),ie=Math.imul(fr,Nr),ie=ie+Math.imul(_r,Or)|0,Te=Math.imul(_r,Nr),ge=ge+Math.imul(dt,Ne)|0,ie=ie+Math.imul(dt,Ye)|0,ie=ie+Math.imul(Ht,Ne)|0,Te=Te+Math.imul(Ht,Ye)|0,ge=ge+Math.imul(Lt,Xe)|0,ie=ie+Math.imul(Lt,ht)|0,ie=ie+Math.imul(St,Xe)|0,Te=Te+Math.imul(St,ht)|0,ge=ge+Math.imul(Ke,xe)|0,ie=ie+Math.imul(Ke,Se)|0,ie=ie+Math.imul(xt,xe)|0,Te=Te+Math.imul(xt,Se)|0,ge=ge+Math.imul(Yt,Gt)|0,ie=ie+Math.imul(Yt,Vt)|0,ie=ie+Math.imul(xr,Gt)|0,Te=Te+Math.imul(xr,Vt)|0,ge=ge+Math.imul(Rt,Qr)|0,ie=ie+Math.imul(Rt,ai)|0,ie=ie+Math.imul(kt,Qr)|0,Te=Te+Math.imul(kt,ai)|0,ge=ge+Math.imul(qt,ri)|0,ie=ie+Math.imul(qt,bi)|0,ie=ie+Math.imul(rt,ri)|0,Te=Te+Math.imul(rt,bi)|0,ge=ge+Math.imul(Ge,Wi)|0,ie=ie+Math.imul(Ge,Ni)|0,ie=ie+Math.imul(nt,Wi)|0,Te=Te+Math.imul(nt,Ni)|0,ge=ge+Math.imul(me,$i)|0,ie=ie+Math.imul(me,zn)|0,ie=ie+Math.imul(Re,$i)|0,Te=Te+Math.imul(Re,zn)|0,ge=ge+Math.imul(Ae,It)|0,ie=ie+Math.imul(Ae,ft)|0,ie=ie+Math.imul(ze,It)|0,Te=Te+Math.imul(ze,ft)|0;var Pi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Pi>>>26)|0,Pi&=67108863,ge=Math.imul(fr,Ne),ie=Math.imul(fr,Ye),ie=ie+Math.imul(_r,Ne)|0,Te=Math.imul(_r,Ye),ge=ge+Math.imul(dt,Xe)|0,ie=ie+Math.imul(dt,ht)|0,ie=ie+Math.imul(Ht,Xe)|0,Te=Te+Math.imul(Ht,ht)|0,ge=ge+Math.imul(Lt,xe)|0,ie=ie+Math.imul(Lt,Se)|0,ie=ie+Math.imul(St,xe)|0,Te=Te+Math.imul(St,Se)|0,ge=ge+Math.imul(Ke,Gt)|0,ie=ie+Math.imul(Ke,Vt)|0,ie=ie+Math.imul(xt,Gt)|0,Te=Te+Math.imul(xt,Vt)|0,ge=ge+Math.imul(Yt,Qr)|0,ie=ie+Math.imul(Yt,ai)|0,ie=ie+Math.imul(xr,Qr)|0,Te=Te+Math.imul(xr,ai)|0,ge=ge+Math.imul(Rt,ri)|0,ie=ie+Math.imul(Rt,bi)|0,ie=ie+Math.imul(kt,ri)|0,Te=Te+Math.imul(kt,bi)|0,ge=ge+Math.imul(qt,Wi)|0,ie=ie+Math.imul(qt,Ni)|0,ie=ie+Math.imul(rt,Wi)|0,Te=Te+Math.imul(rt,Ni)|0,ge=ge+Math.imul(Ge,$i)|0,ie=ie+Math.imul(Ge,zn)|0,ie=ie+Math.imul(nt,$i)|0,Te=Te+Math.imul(nt,zn)|0,ge=ge+Math.imul(me,It)|0,ie=ie+Math.imul(me,ft)|0,ie=ie+Math.imul(Re,It)|0,Te=Te+Math.imul(Re,ft)|0;var Gi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Gi>>>26)|0,Gi&=67108863,ge=Math.imul(fr,Xe),ie=Math.imul(fr,ht),ie=ie+Math.imul(_r,Xe)|0,Te=Math.imul(_r,ht),ge=ge+Math.imul(dt,xe)|0,ie=ie+Math.imul(dt,Se)|0,ie=ie+Math.imul(Ht,xe)|0,Te=Te+Math.imul(Ht,Se)|0,ge=ge+Math.imul(Lt,Gt)|0,ie=ie+Math.imul(Lt,Vt)|0,ie=ie+Math.imul(St,Gt)|0,Te=Te+Math.imul(St,Vt)|0,ge=ge+Math.imul(Ke,Qr)|0,ie=ie+Math.imul(Ke,ai)|0,ie=ie+Math.imul(xt,Qr)|0,Te=Te+Math.imul(xt,ai)|0,ge=ge+Math.imul(Yt,ri)|0,ie=ie+Math.imul(Yt,bi)|0,ie=ie+Math.imul(xr,ri)|0,Te=Te+Math.imul(xr,bi)|0,ge=ge+Math.imul(Rt,Wi)|0,ie=ie+Math.imul(Rt,Ni)|0,ie=ie+Math.imul(kt,Wi)|0,Te=Te+Math.imul(kt,Ni)|0,ge=ge+Math.imul(qt,$i)|0,ie=ie+Math.imul(qt,zn)|0,ie=ie+Math.imul(rt,$i)|0,Te=Te+Math.imul(rt,zn)|0,ge=ge+Math.imul(Ge,It)|0,ie=ie+Math.imul(Ge,ft)|0,ie=ie+Math.imul(nt,It)|0,Te=Te+Math.imul(nt,ft)|0;var Ki=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Ki>>>26)|0,Ki&=67108863,ge=Math.imul(fr,xe),ie=Math.imul(fr,Se),ie=ie+Math.imul(_r,xe)|0,Te=Math.imul(_r,Se),ge=ge+Math.imul(dt,Gt)|0,ie=ie+Math.imul(dt,Vt)|0,ie=ie+Math.imul(Ht,Gt)|0,Te=Te+Math.imul(Ht,Vt)|0,ge=ge+Math.imul(Lt,Qr)|0,ie=ie+Math.imul(Lt,ai)|0,ie=ie+Math.imul(St,Qr)|0,Te=Te+Math.imul(St,ai)|0,ge=ge+Math.imul(Ke,ri)|0,ie=ie+Math.imul(Ke,bi)|0,ie=ie+Math.imul(xt,ri)|0,Te=Te+Math.imul(xt,bi)|0,ge=ge+Math.imul(Yt,Wi)|0,ie=ie+Math.imul(Yt,Ni)|0,ie=ie+Math.imul(xr,Wi)|0,Te=Te+Math.imul(xr,Ni)|0,ge=ge+Math.imul(Rt,$i)|0,ie=ie+Math.imul(Rt,zn)|0,ie=ie+Math.imul(kt,$i)|0,Te=Te+Math.imul(kt,zn)|0,ge=ge+Math.imul(qt,It)|0,ie=ie+Math.imul(qt,ft)|0,ie=ie+Math.imul(rt,It)|0,Te=Te+Math.imul(rt,ft)|0;var ka=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(ka>>>26)|0,ka&=67108863,ge=Math.imul(fr,Gt),ie=Math.imul(fr,Vt),ie=ie+Math.imul(_r,Gt)|0,Te=Math.imul(_r,Vt),ge=ge+Math.imul(dt,Qr)|0,ie=ie+Math.imul(dt,ai)|0,ie=ie+Math.imul(Ht,Qr)|0,Te=Te+Math.imul(Ht,ai)|0,ge=ge+Math.imul(Lt,ri)|0,ie=ie+Math.imul(Lt,bi)|0,ie=ie+Math.imul(St,ri)|0,Te=Te+Math.imul(St,bi)|0,ge=ge+Math.imul(Ke,Wi)|0,ie=ie+Math.imul(Ke,Ni)|0,ie=ie+Math.imul(xt,Wi)|0,Te=Te+Math.imul(xt,Ni)|0,ge=ge+Math.imul(Yt,$i)|0,ie=ie+Math.imul(Yt,zn)|0,ie=ie+Math.imul(xr,$i)|0,Te=Te+Math.imul(xr,zn)|0,ge=ge+Math.imul(Rt,It)|0,ie=ie+Math.imul(Rt,ft)|0,ie=ie+Math.imul(kt,It)|0,Te=Te+Math.imul(kt,ft)|0;var jn=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jn>>>26)|0,jn&=67108863,ge=Math.imul(fr,Qr),ie=Math.imul(fr,ai),ie=ie+Math.imul(_r,Qr)|0,Te=Math.imul(_r,ai),ge=ge+Math.imul(dt,ri)|0,ie=ie+Math.imul(dt,bi)|0,ie=ie+Math.imul(Ht,ri)|0,Te=Te+Math.imul(Ht,bi)|0,ge=ge+Math.imul(Lt,Wi)|0,ie=ie+Math.imul(Lt,Ni)|0,ie=ie+Math.imul(St,Wi)|0,Te=Te+Math.imul(St,Ni)|0,ge=ge+Math.imul(Ke,$i)|0,ie=ie+Math.imul(Ke,zn)|0,ie=ie+Math.imul(xt,$i)|0,Te=Te+Math.imul(xt,zn)|0,ge=ge+Math.imul(Yt,It)|0,ie=ie+Math.imul(Yt,ft)|0,ie=ie+Math.imul(xr,It)|0,Te=Te+Math.imul(xr,ft)|0;var la=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(la>>>26)|0,la&=67108863,ge=Math.imul(fr,ri),ie=Math.imul(fr,bi),ie=ie+Math.imul(_r,ri)|0,Te=Math.imul(_r,bi),ge=ge+Math.imul(dt,Wi)|0,ie=ie+Math.imul(dt,Ni)|0,ie=ie+Math.imul(Ht,Wi)|0,Te=Te+Math.imul(Ht,Ni)|0,ge=ge+Math.imul(Lt,$i)|0,ie=ie+Math.imul(Lt,zn)|0,ie=ie+Math.imul(St,$i)|0,Te=Te+Math.imul(St,zn)|0,ge=ge+Math.imul(Ke,It)|0,ie=ie+Math.imul(Ke,ft)|0,ie=ie+Math.imul(xt,It)|0,Te=Te+Math.imul(xt,ft)|0;var Fa=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Fa>>>26)|0,Fa&=67108863,ge=Math.imul(fr,Wi),ie=Math.imul(fr,Ni),ie=ie+Math.imul(_r,Wi)|0,Te=Math.imul(_r,Ni),ge=ge+Math.imul(dt,$i)|0,ie=ie+Math.imul(dt,zn)|0,ie=ie+Math.imul(Ht,$i)|0,Te=Te+Math.imul(Ht,zn)|0,ge=ge+Math.imul(Lt,It)|0,ie=ie+Math.imul(Lt,ft)|0,ie=ie+Math.imul(St,It)|0,Te=Te+Math.imul(St,ft)|0;var Ra=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Ra>>>26)|0,Ra&=67108863,ge=Math.imul(fr,$i),ie=Math.imul(fr,zn),ie=ie+Math.imul(_r,$i)|0,Te=Math.imul(_r,zn),ge=ge+Math.imul(dt,It)|0,ie=ie+Math.imul(dt,ft)|0,ie=ie+Math.imul(Ht,It)|0,Te=Te+Math.imul(Ht,ft)|0;var jo=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jo>>>26)|0,jo&=67108863,ge=Math.imul(fr,It),ie=Math.imul(fr,ft),ie=ie+Math.imul(_r,It)|0,Te=Math.imul(_r,ft);var oa=(ke+ge|0)+((ie&8191)<<13)|0;return ke=(Te+(ie>>>13)|0)+(oa>>>26)|0,oa&=67108863,Me[0]=jt,Me[1]=Zt,Me[2]=yr,Me[3]=Fr,Me[4]=Zr,Me[5]=Vr,Me[6]=gi,Me[7]=Si,Me[8]=Mi,Me[9]=Pi,Me[10]=Gi,Me[11]=Ki,Me[12]=ka,Me[13]=jn,Me[14]=la,Me[15]=Fa,Me[16]=Ra,Me[17]=jo,Me[18]=oa,ke!==0&&(Me[19]=ke,re.length++),re};Math.imul||(L=A);function _(G,N,W){W.negative=N.negative^G.negative,W.length=G.length+N.length;for(var re=0,ae=0,_e=0;_e<W.length-1;_e++){var Me=ae;ae=0;for(var ke=re&67108863,ge=Math.min(_e,N.length-1),ie=Math.max(0,_e-G.length+1);ie<=ge;ie++){var Te=_e-ie,Ee=G.words[Te]|0,Ae=N.words[ie]|0,ze=Ee*Ae,Ce=ze&67108863;Me=Me+(ze/67108864|0)|0,Ce=Ce+ke|0,ke=Ce&67108863,Me=Me+(Ce>>>26)|0,ae+=Me>>>26,Me&=67108863}W.words[_e]=ke,re=Me,Me=ae}return re!==0?W.words[_e]=re:W.length--,W.strip()}function C(G,N,W){var re=new M;return re.mulp(G,N,W)}f.prototype.mulTo=function(N,W){var re,ae=this.length+N.length;return this.length===10&&N.length===10?re=L(this,N,W):ae<63?re=A(this,N,W):ae<1024?re=_(this,N,W):re=C(this,N,W),re};function M(G,N){this.x=G,this.y=N}M.prototype.makeRBT=function(N){for(var W=new Array(N),re=f.prototype._countBits(N)-1,ae=0;ae<N;ae++)W[ae]=this.revBin(ae,re,N);return W},M.prototype.revBin=function(N,W,re){if(N===0||N===re-1)return N;for(var ae=0,_e=0;_e<W;_e++)ae|=(N&1)<<W-_e-1,N>>=1;return ae},M.prototype.permute=function(N,W,re,ae,_e,Me){for(var ke=0;ke<Me;ke++)ae[ke]=W[N[ke]],_e[ke]=re[N[ke]]},M.prototype.transform=function(N,W,re,ae,_e,Me){this.permute(Me,N,W,re,ae,_e);for(var ke=1;ke<_e;ke<<=1)for(var ge=ke<<1,ie=Math.cos(2*Math.PI/ge),Te=Math.sin(2*Math.PI/ge),Ee=0;Ee<_e;Ee+=ge)for(var Ae=ie,ze=Te,Ce=0;Ce<ke;Ce++){var me=re[Ee+Ce],Re=ae[Ee+Ce],ce=re[Ee+Ce+ke],Ge=ae[Ee+Ce+ke],nt=Ae*ce-ze*Ge;Ge=Ae*Ge+ze*ce,ce=nt,re[Ee+Ce]=me+ce,ae[Ee+Ce]=Re+Ge,re[Ee+Ce+ke]=me-ce,ae[Ee+Ce+ke]=Re-Ge,Ce!==ge&&(nt=ie*Ae-Te*ze,ze=ie*ze+Te*Ae,Ae=nt)}},M.prototype.guessLen13b=function(N,W){var re=Math.max(W,N)|1,ae=re&1,_e=0;for(re=re/2|0;re;re=re>>>1)_e++;return 1<<_e+1+ae},M.prototype.conjugate=function(N,W,re){if(!(re<=1))for(var ae=0;ae<re/2;ae++){var _e=N[ae];N[ae]=N[re-ae-1],N[re-ae-1]=_e,_e=W[ae],W[ae]=-W[re-ae-1],W[re-ae-1]=-_e}},M.prototype.normalize13b=function(N,W){for(var re=0,ae=0;ae<W/2;ae++){var _e=Math.round(N[2*ae+1]/W)*8192+Math.round(N[2*ae]/W)+re;N[ae]=_e&67108863,_e<67108864?re=0:re=_e/67108864|0}return N},M.prototype.convert13b=function(N,W,re,ae){for(var _e=0,Me=0;Me<W;Me++)_e=_e+(N[Me]|0),re[2*Me]=_e&8191,_e=_e>>>13,re[2*Me+1]=_e&8191,_e=_e>>>13;for(Me=2*W;Me<ae;++Me)re[Me]=0;u(_e===0),u((_e&-8192)===0)},M.prototype.stub=function(N){for(var W=new Array(N),re=0;re<N;re++)W[re]=0;return W},M.prototype.mulp=function(N,W,re){var ae=2*this.guessLen13b(N.length,W.length),_e=this.makeRBT(ae),Me=this.stub(ae),ke=new Array(ae),ge=new Array(ae),ie=new Array(ae),Te=new Array(ae),Ee=new Array(ae),Ae=new Array(ae),ze=re.words;ze.length=ae,this.convert13b(N.words,N.length,ke,ae),this.convert13b(W.words,W.length,Te,ae),this.transform(ke,Me,ge,ie,ae,_e),this.transform(Te,Me,Ee,Ae,ae,_e);for(var Ce=0;Ce<ae;Ce++){var me=ge[Ce]*Ee[Ce]-ie[Ce]*Ae[Ce];ie[Ce]=ge[Ce]*Ae[Ce]+ie[Ce]*Ee[Ce],ge[Ce]=me}return this.conjugate(ge,ie,ae),this.transform(ge,ie,ze,Me,ae,_e),this.conjugate(ze,Me,ae),this.normalize13b(ze,ae),re.negative=N.negative^W.negative,re.length=N.length+W.length,re.strip()},f.prototype.mul=function(N){var W=new f(null);return W.words=new Array(this.length+N.length),this.mulTo(N,W)},f.prototype.mulf=function(N){var W=new f(null);return W.words=new Array(this.length+N.length),C(this,N,W)},f.prototype.imul=function(N){return this.clone().mulTo(N,this)},f.prototype.imuln=function(N){u(typeof N==\"number\"),u(N<67108864);for(var W=0,re=0;re<this.length;re++){var ae=(this.words[re]|0)*N,_e=(ae&67108863)+(W&67108863);W>>=26,W+=ae/67108864|0,W+=_e>>>26,this.words[re]=_e&67108863}return W!==0&&(this.words[re]=W,this.length++),this},f.prototype.muln=function(N){return this.clone().imuln(N)},f.prototype.sqr=function(){return this.mul(this)},f.prototype.isqr=function(){return this.imul(this.clone())},f.prototype.pow=function(N){var W=k(N);if(W.length===0)return new f(1);for(var re=this,ae=0;ae<W.length&&W[ae]===0;ae++,re=re.sqr());if(++ae<W.length)for(var _e=re.sqr();ae<W.length;ae++,_e=_e.sqr())W[ae]!==0&&(re=re.mul(_e));return re},f.prototype.iushln=function(N){u(typeof N==\"number\"&&N>=0);var W=N%26,re=(N-W)/26,ae=67108863>>>26-W<<26-W,_e;if(W!==0){var Me=0;for(_e=0;_e<this.length;_e++){var ke=this.words[_e]&ae,ge=(this.words[_e]|0)-ke<<W;this.words[_e]=ge|Me,Me=ke>>>26-W}Me&&(this.words[_e]=Me,this.length++)}if(re!==0){for(_e=this.length-1;_e>=0;_e--)this.words[_e+re]=this.words[_e];for(_e=0;_e<re;_e++)this.words[_e]=0;this.length+=re}return this.strip()},f.prototype.ishln=function(N){return u(this.negative===0),this.iushln(N)},f.prototype.iushrn=function(N,W,re){u(typeof N==\"number\"&&N>=0);var ae;W?ae=(W-W%26)/26:ae=0;var _e=N%26,Me=Math.min((N-_e)/26,this.length),ke=67108863^67108863>>>_e<<_e,ge=re;if(ae-=Me,ae=Math.max(0,ae),ge){for(var ie=0;ie<Me;ie++)ge.words[ie]=this.words[ie];ge.length=Me}if(Me!==0)if(this.length>Me)for(this.length-=Me,ie=0;ie<this.length;ie++)this.words[ie]=this.words[ie+Me];else this.words[0]=0,this.length=1;var Te=0;for(ie=this.length-1;ie>=0&&(Te!==0||ie>=ae);ie--){var Ee=this.words[ie]|0;this.words[ie]=Te<<26-_e|Ee>>>_e,Te=Ee&ke}return ge&&Te!==0&&(ge.words[ge.length++]=Te),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},f.prototype.ishrn=function(N,W,re){return u(this.negative===0),this.iushrn(N,W,re)},f.prototype.shln=function(N){return this.clone().ishln(N)},f.prototype.ushln=function(N){return this.clone().iushln(N)},f.prototype.shrn=function(N){return this.clone().ishrn(N)},f.prototype.ushrn=function(N){return this.clone().iushrn(N)},f.prototype.testn=function(N){u(typeof N==\"number\"&&N>=0);var W=N%26,re=(N-W)/26,ae=1<<W;if(this.length<=re)return!1;var _e=this.words[re];return!!(_e&ae)},f.prototype.imaskn=function(N){u(typeof N==\"number\"&&N>=0);var W=N%26,re=(N-W)/26;if(u(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=re)return this;if(W!==0&&re++,this.length=Math.min(re,this.length),W!==0){var ae=67108863^67108863>>>W<<W;this.words[this.length-1]&=ae}return this.strip()},f.prototype.maskn=function(N){return this.clone().imaskn(N)},f.prototype.iaddn=function(N){return u(typeof N==\"number\"),u(N<67108864),N<0?this.isubn(-N):this.negative!==0?this.length===1&&(this.words[0]|0)<N?(this.words[0]=N-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(N),this.negative=1,this):this._iaddn(N)},f.prototype._iaddn=function(N){this.words[0]+=N;for(var W=0;W<this.length&&this.words[W]>=67108864;W++)this.words[W]-=67108864,W===this.length-1?this.words[W+1]=1:this.words[W+1]++;return this.length=Math.max(this.length,W+1),this},f.prototype.isubn=function(N){if(u(typeof N==\"number\"),u(N<67108864),N<0)return this.iaddn(-N);if(this.negative!==0)return this.negative=0,this.iaddn(N),this.negative=1,this;if(this.words[0]-=N,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var W=0;W<this.length&&this.words[W]<0;W++)this.words[W]+=67108864,this.words[W+1]-=1;return this.strip()},f.prototype.addn=function(N){return this.clone().iaddn(N)},f.prototype.subn=function(N){return this.clone().isubn(N)},f.prototype.iabs=function(){return this.negative=0,this},f.prototype.abs=function(){return this.clone().iabs()},f.prototype._ishlnsubmul=function(N,W,re){var ae=N.length+re,_e;this._expand(ae);var Me,ke=0;for(_e=0;_e<N.length;_e++){Me=(this.words[_e+re]|0)+ke;var ge=(N.words[_e]|0)*W;Me-=ge&67108863,ke=(Me>>26)-(ge/67108864|0),this.words[_e+re]=Me&67108863}for(;_e<this.length-re;_e++)Me=(this.words[_e+re]|0)+ke,ke=Me>>26,this.words[_e+re]=Me&67108863;if(ke===0)return this.strip();for(u(ke===-1),ke=0,_e=0;_e<this.length;_e++)Me=-(this.words[_e]|0)+ke,ke=Me>>26,this.words[_e]=Me&67108863;return this.negative=1,this.strip()},f.prototype._wordDiv=function(N,W){var re=this.length-N.length,ae=this.clone(),_e=N,Me=_e.words[_e.length-1]|0,ke=this._countBits(Me);re=26-ke,re!==0&&(_e=_e.ushln(re),ae.iushln(re),Me=_e.words[_e.length-1]|0);var ge=ae.length-_e.length,ie;if(W!==\"mod\"){ie=new f(null),ie.length=ge+1,ie.words=new Array(ie.length);for(var Te=0;Te<ie.length;Te++)ie.words[Te]=0}var Ee=ae.clone()._ishlnsubmul(_e,1,ge);Ee.negative===0&&(ae=Ee,ie&&(ie.words[ge]=1));for(var Ae=ge-1;Ae>=0;Ae--){var ze=(ae.words[_e.length+Ae]|0)*67108864+(ae.words[_e.length+Ae-1]|0);for(ze=Math.min(ze/Me|0,67108863),ae._ishlnsubmul(_e,ze,Ae);ae.negative!==0;)ze--,ae.negative=0,ae._ishlnsubmul(_e,1,Ae),ae.isZero()||(ae.negative^=1);ie&&(ie.words[Ae]=ze)}return ie&&ie.strip(),ae.strip(),W!==\"div\"&&re!==0&&ae.iushrn(re),{div:ie||null,mod:ae}},f.prototype.divmod=function(N,W,re){if(u(!N.isZero()),this.isZero())return{div:new f(0),mod:new f(0)};var ae,_e,Me;return this.negative!==0&&N.negative===0?(Me=this.neg().divmod(N,W),W!==\"mod\"&&(ae=Me.div.neg()),W!==\"div\"&&(_e=Me.mod.neg(),re&&_e.negative!==0&&_e.iadd(N)),{div:ae,mod:_e}):this.negative===0&&N.negative!==0?(Me=this.divmod(N.neg(),W),W!==\"mod\"&&(ae=Me.div.neg()),{div:ae,mod:Me.mod}):this.negative&N.negative?(Me=this.neg().divmod(N.neg(),W),W!==\"div\"&&(_e=Me.mod.neg(),re&&_e.negative!==0&&_e.isub(N)),{div:Me.div,mod:_e}):N.length>this.length||this.cmp(N)<0?{div:new f(0),mod:this}:N.length===1?W===\"div\"?{div:this.divn(N.words[0]),mod:null}:W===\"mod\"?{div:null,mod:new f(this.modn(N.words[0]))}:{div:this.divn(N.words[0]),mod:new f(this.modn(N.words[0]))}:this._wordDiv(N,W)},f.prototype.div=function(N){return this.divmod(N,\"div\",!1).div},f.prototype.mod=function(N){return this.divmod(N,\"mod\",!1).mod},f.prototype.umod=function(N){return this.divmod(N,\"mod\",!0).mod},f.prototype.divRound=function(N){var W=this.divmod(N);if(W.mod.isZero())return W.div;var re=W.div.negative!==0?W.mod.isub(N):W.mod,ae=N.ushrn(1),_e=N.andln(1),Me=re.cmp(ae);return Me<0||_e===1&&Me===0?W.div:W.div.negative!==0?W.div.isubn(1):W.div.iaddn(1)},f.prototype.modn=function(N){u(N<=67108863);for(var W=(1<<26)%N,re=0,ae=this.length-1;ae>=0;ae--)re=(W*re+(this.words[ae]|0))%N;return re},f.prototype.idivn=function(N){u(N<=67108863);for(var W=0,re=this.length-1;re>=0;re--){var ae=(this.words[re]|0)+W*67108864;this.words[re]=ae/N|0,W=ae%N}return this.strip()},f.prototype.divn=function(N){return this.clone().idivn(N)},f.prototype.egcd=function(N){u(N.negative===0),u(!N.isZero());var W=this,re=N.clone();W.negative!==0?W=W.umod(N):W=W.clone();for(var ae=new f(1),_e=new f(0),Me=new f(0),ke=new f(1),ge=0;W.isEven()&&re.isEven();)W.iushrn(1),re.iushrn(1),++ge;for(var ie=re.clone(),Te=W.clone();!W.isZero();){for(var Ee=0,Ae=1;!(W.words[0]&Ae)&&Ee<26;++Ee,Ae<<=1);if(Ee>0)for(W.iushrn(Ee);Ee-- >0;)(ae.isOdd()||_e.isOdd())&&(ae.iadd(ie),_e.isub(Te)),ae.iushrn(1),_e.iushrn(1);for(var ze=0,Ce=1;!(re.words[0]&Ce)&&ze<26;++ze,Ce<<=1);if(ze>0)for(re.iushrn(ze);ze-- >0;)(Me.isOdd()||ke.isOdd())&&(Me.iadd(ie),ke.isub(Te)),Me.iushrn(1),ke.iushrn(1);W.cmp(re)>=0?(W.isub(re),ae.isub(Me),_e.isub(ke)):(re.isub(W),Me.isub(ae),ke.isub(_e))}return{a:Me,b:ke,gcd:re.iushln(ge)}},f.prototype._invmp=function(N){u(N.negative===0),u(!N.isZero());var W=this,re=N.clone();W.negative!==0?W=W.umod(N):W=W.clone();for(var ae=new f(1),_e=new f(0),Me=re.clone();W.cmpn(1)>0&&re.cmpn(1)>0;){for(var ke=0,ge=1;!(W.words[0]&ge)&&ke<26;++ke,ge<<=1);if(ke>0)for(W.iushrn(ke);ke-- >0;)ae.isOdd()&&ae.iadd(Me),ae.iushrn(1);for(var ie=0,Te=1;!(re.words[0]&Te)&&ie<26;++ie,Te<<=1);if(ie>0)for(re.iushrn(ie);ie-- >0;)_e.isOdd()&&_e.iadd(Me),_e.iushrn(1);W.cmp(re)>=0?(W.isub(re),ae.isub(_e)):(re.isub(W),_e.isub(ae))}var Ee;return W.cmpn(1)===0?Ee=ae:Ee=_e,Ee.cmpn(0)<0&&Ee.iadd(N),Ee},f.prototype.gcd=function(N){if(this.isZero())return N.abs();if(N.isZero())return this.abs();var W=this.clone(),re=N.clone();W.negative=0,re.negative=0;for(var ae=0;W.isEven()&&re.isEven();ae++)W.iushrn(1),re.iushrn(1);do{for(;W.isEven();)W.iushrn(1);for(;re.isEven();)re.iushrn(1);var _e=W.cmp(re);if(_e<0){var Me=W;W=re,re=Me}else if(_e===0||re.cmpn(1)===0)break;W.isub(re)}while(!0);return re.iushln(ae)},f.prototype.invm=function(N){return this.egcd(N).a.umod(N)},f.prototype.isEven=function(){return(this.words[0]&1)===0},f.prototype.isOdd=function(){return(this.words[0]&1)===1},f.prototype.andln=function(N){return this.words[0]&N},f.prototype.bincn=function(N){u(typeof N==\"number\");var W=N%26,re=(N-W)/26,ae=1<<W;if(this.length<=re)return this._expand(re+1),this.words[re]|=ae,this;for(var _e=ae,Me=re;_e!==0&&Me<this.length;Me++){var ke=this.words[Me]|0;ke+=_e,_e=ke>>>26,ke&=67108863,this.words[Me]=ke}return _e!==0&&(this.words[Me]=_e,this.length++),this},f.prototype.isZero=function(){return this.length===1&&this.words[0]===0},f.prototype.cmpn=function(N){var W=N<0;if(this.negative!==0&&!W)return-1;if(this.negative===0&&W)return 1;this.strip();var re;if(this.length>1)re=1;else{W&&(N=-N),u(N<=67108863,\"Number is too big\");var ae=this.words[0]|0;re=ae===N?0:ae<N?-1:1}return this.negative!==0?-re|0:re},f.prototype.cmp=function(N){if(this.negative!==0&&N.negative===0)return-1;if(this.negative===0&&N.negative!==0)return 1;var W=this.ucmp(N);return this.negative!==0?-W|0:W},f.prototype.ucmp=function(N){if(this.length>N.length)return 1;if(this.length<N.length)return-1;for(var W=0,re=this.length-1;re>=0;re--){var ae=this.words[re]|0,_e=N.words[re]|0;if(ae!==_e){ae<_e?W=-1:ae>_e&&(W=1);break}}return W},f.prototype.gtn=function(N){return this.cmpn(N)===1},f.prototype.gt=function(N){return this.cmp(N)===1},f.prototype.gten=function(N){return this.cmpn(N)>=0},f.prototype.gte=function(N){return this.cmp(N)>=0},f.prototype.ltn=function(N){return this.cmpn(N)===-1},f.prototype.lt=function(N){return this.cmp(N)===-1},f.prototype.lten=function(N){return this.cmpn(N)<=0},f.prototype.lte=function(N){return this.cmp(N)<=0},f.prototype.eqn=function(N){return this.cmpn(N)===0},f.prototype.eq=function(N){return this.cmp(N)===0},f.red=function(N){return new H(N)},f.prototype.toRed=function(N){return u(!this.red,\"Already a number in reduction context\"),u(this.negative===0,\"red works only with positives\"),N.convertTo(this)._forceRed(N)},f.prototype.fromRed=function(){return u(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},f.prototype._forceRed=function(N){return this.red=N,this},f.prototype.forceRed=function(N){return u(!this.red,\"Already a number in reduction context\"),this._forceRed(N)},f.prototype.redAdd=function(N){return u(this.red,\"redAdd works only with red numbers\"),this.red.add(this,N)},f.prototype.redIAdd=function(N){return u(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,N)},f.prototype.redSub=function(N){return u(this.red,\"redSub works only with red numbers\"),this.red.sub(this,N)},f.prototype.redISub=function(N){return u(this.red,\"redISub works only with red numbers\"),this.red.isub(this,N)},f.prototype.redShl=function(N){return u(this.red,\"redShl works only with red numbers\"),this.red.shl(this,N)},f.prototype.redMul=function(N){return u(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,N),this.red.mul(this,N)},f.prototype.redIMul=function(N){return u(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,N),this.red.imul(this,N)},f.prototype.redSqr=function(){return u(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},f.prototype.redISqr=function(){return u(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},f.prototype.redSqrt=function(){return u(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},f.prototype.redInvm=function(){return u(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},f.prototype.redNeg=function(){return u(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},f.prototype.redPow=function(N){return u(this.red&&!N.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,N)};var g={k256:null,p224:null,p192:null,p25519:null};function P(G,N){this.name=G,this.p=new f(N,16),this.n=this.p.bitLength(),this.k=new f(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}P.prototype._tmp=function(){var N=new f(null);return N.words=new Array(Math.ceil(this.n/13)),N},P.prototype.ireduce=function(N){var W=N,re;do this.split(W,this.tmp),W=this.imulK(W),W=W.iadd(this.tmp),re=W.bitLength();while(re>this.n);var ae=re<this.n?-1:W.ucmp(this.p);return ae===0?(W.words[0]=0,W.length=1):ae>0?W.isub(this.p):W.strip!==void 0?W.strip():W._strip(),W},P.prototype.split=function(N,W){N.iushrn(this.n,0,W)},P.prototype.imulK=function(N){return N.imul(this.k)};function T(){P.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}c(T,P),T.prototype.split=function(N,W){for(var re=4194303,ae=Math.min(N.length,9),_e=0;_e<ae;_e++)W.words[_e]=N.words[_e];if(W.length=ae,N.length<=9){N.words[0]=0,N.length=1;return}var Me=N.words[9];for(W.words[W.length++]=Me&re,_e=10;_e<N.length;_e++){var ke=N.words[_e]|0;N.words[_e-10]=(ke&re)<<4|Me>>>22,Me=ke}Me>>>=22,N.words[_e-10]=Me,Me===0&&N.length>10?N.length-=10:N.length-=9},T.prototype.imulK=function(N){N.words[N.length]=0,N.words[N.length+1]=0,N.length+=2;for(var W=0,re=0;re<N.length;re++){var ae=N.words[re]|0;W+=ae*977,N.words[re]=W&67108863,W=ae*64+(W/67108864|0)}return N.words[N.length-1]===0&&(N.length--,N.words[N.length-1]===0&&N.length--),N};function F(){P.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}c(F,P);function q(){P.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}c(q,P);function V(){P.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}c(V,P),V.prototype.imulK=function(N){for(var W=0,re=0;re<N.length;re++){var ae=(N.words[re]|0)*19+W,_e=ae&67108863;ae>>>=26,N.words[re]=_e,W=ae}return W!==0&&(N.words[N.length++]=W),N},f._prime=function(N){if(g[N])return g[N];var W;if(N===\"k256\")W=new T;else if(N===\"p224\")W=new F;else if(N===\"p192\")W=new q;else if(N===\"p25519\")W=new V;else throw new Error(\"Unknown prime \"+N);return g[N]=W,W};function H(G){if(typeof G==\"string\"){var N=f._prime(G);this.m=N.p,this.prime=N}else u(G.gtn(1),\"modulus must be greater than 1\"),this.m=G,this.prime=null}H.prototype._verify1=function(N){u(N.negative===0,\"red works only with positives\"),u(N.red,\"red works only with red numbers\")},H.prototype._verify2=function(N,W){u((N.negative|W.negative)===0,\"red works only with positives\"),u(N.red&&N.red===W.red,\"red works only with red numbers\")},H.prototype.imod=function(N){return this.prime?this.prime.ireduce(N)._forceRed(this):N.umod(this.m)._forceRed(this)},H.prototype.neg=function(N){return N.isZero()?N.clone():this.m.sub(N)._forceRed(this)},H.prototype.add=function(N,W){this._verify2(N,W);var re=N.add(W);return re.cmp(this.m)>=0&&re.isub(this.m),re._forceRed(this)},H.prototype.iadd=function(N,W){this._verify2(N,W);var re=N.iadd(W);return re.cmp(this.m)>=0&&re.isub(this.m),re},H.prototype.sub=function(N,W){this._verify2(N,W);var re=N.sub(W);return re.cmpn(0)<0&&re.iadd(this.m),re._forceRed(this)},H.prototype.isub=function(N,W){this._verify2(N,W);var re=N.isub(W);return re.cmpn(0)<0&&re.iadd(this.m),re},H.prototype.shl=function(N,W){return this._verify1(N),this.imod(N.ushln(W))},H.prototype.imul=function(N,W){return this._verify2(N,W),this.imod(N.imul(W))},H.prototype.mul=function(N,W){return this._verify2(N,W),this.imod(N.mul(W))},H.prototype.isqr=function(N){return this.imul(N,N.clone())},H.prototype.sqr=function(N){return this.mul(N,N)},H.prototype.sqrt=function(N){if(N.isZero())return N.clone();var W=this.m.andln(3);if(u(W%2===1),W===3){var re=this.m.add(new f(1)).iushrn(2);return this.pow(N,re)}for(var ae=this.m.subn(1),_e=0;!ae.isZero()&&ae.andln(1)===0;)_e++,ae.iushrn(1);u(!ae.isZero());var Me=new f(1).toRed(this),ke=Me.redNeg(),ge=this.m.subn(1).iushrn(1),ie=this.m.bitLength();for(ie=new f(2*ie*ie).toRed(this);this.pow(ie,ge).cmp(ke)!==0;)ie.redIAdd(ke);for(var Te=this.pow(ie,ae),Ee=this.pow(N,ae.addn(1).iushrn(1)),Ae=this.pow(N,ae),ze=_e;Ae.cmp(Me)!==0;){for(var Ce=Ae,me=0;Ce.cmp(Me)!==0;me++)Ce=Ce.redSqr();u(me<ze);var Re=this.pow(Te,new f(1).iushln(ze-me-1));Ee=Ee.redMul(Re),Te=Re.redSqr(),Ae=Ae.redMul(Te),ze=me}return Ee},H.prototype.invm=function(N){var W=N._invmp(this.m);return W.negative!==0?(W.negative=0,this.imod(W).redNeg()):this.imod(W)},H.prototype.pow=function(N,W){if(W.isZero())return new f(1).toRed(this);if(W.cmpn(1)===0)return N.clone();var re=4,ae=new Array(1<<re);ae[0]=new f(1).toRed(this),ae[1]=N;for(var _e=2;_e<ae.length;_e++)ae[_e]=this.mul(ae[_e-1],N);var Me=ae[0],ke=0,ge=0,ie=W.bitLength()%26;for(ie===0&&(ie=26),_e=W.length-1;_e>=0;_e--){for(var Te=W.words[_e],Ee=ie-1;Ee>=0;Ee--){var Ae=Te>>Ee&1;if(Me!==ae[0]&&(Me=this.sqr(Me)),Ae===0&&ke===0){ge=0;continue}ke<<=1,ke|=Ae,ge++,!(ge!==re&&(_e!==0||Ee!==0))&&(Me=this.mul(Me,ae[ke]),ge=0,ke=0)}ie=26}return Me},H.prototype.convertTo=function(N){var W=N.umod(this.m);return W===N?W.clone():W},H.prototype.convertFrom=function(N){var W=N.clone();return W.red=null,W},f.mont=function(N){return new X(N)};function X(G){H.call(this,G),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new f(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)}c(X,H),X.prototype.convertTo=function(N){return this.imod(N.ushln(this.shift))},X.prototype.convertFrom=function(N){var W=this.imod(N.mul(this.rinv));return W.red=null,W},X.prototype.imul=function(N,W){if(N.isZero()||W.isZero())return N.words[0]=0,N.length=1,N;var re=N.imul(W),ae=re.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_e=re.isub(ae).iushrn(this.shift),Me=_e;return _e.cmp(this.m)>=0?Me=_e.isub(this.m):_e.cmpn(0)<0&&(Me=_e.iadd(this.m)),Me._forceRed(this)},X.prototype.mul=function(N,W){if(N.isZero()||W.isZero())return new f(0)._forceRed(this);var re=N.mul(W),ae=re.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_e=re.isub(ae).iushrn(this.shift),Me=_e;return _e.cmp(this.m)>=0?Me=_e.isub(this.m):_e.cmpn(0)<0&&(Me=_e.iadd(this.m)),Me._forceRed(this)},X.prototype.invm=function(N){var W=this.imod(N._invmp(this.m).mul(this.r2));return W._forceRed(this)}}(i,this)},6204:function(i){\"use strict\";i.exports=a;function a(o){var s,l,u,c=o.length,f=0;for(s=0;s<c;++s)f+=o[s].length;var h=new Array(f),d=0;for(s=0;s<c;++s){var v=o[s],x=v.length;for(l=0;l<x;++l){var b=h[d++]=new Array(x-1),p=0;for(u=0;u<x;++u)u!==l&&(b[p++]=v[u]);if(l&1){var E=b[1];b[1]=b[0],b[0]=E}}}return h}},6867:function(i,a,o){\"use strict\";i.exports=p;var s=o(1888),l=o(855),u=o(7150);function c(E,k){for(var A=0;A<E;++A)if(!(k[A]<=k[A+E]))return!0;return!1}function f(E,k,A,L){for(var _=0,C=0,M=0,g=E.length;M<g;++M){var P=E[M];if(!c(k,P)){for(var T=0;T<2*k;++T)A[_++]=P[T];L[C++]=M}}return C}function h(E,k,A,L){var _=E.length,C=k.length;if(!(_<=0||C<=0)){var M=E[0].length>>>1;if(!(M<=0)){var g,P=s.mallocDouble(2*M*_),T=s.mallocInt32(_);if(_=f(E,M,P,T),_>0){if(M===1&&L)l.init(_),g=l.sweepComplete(M,A,0,_,P,T,0,_,P,T);else{var F=s.mallocDouble(2*M*C),q=s.mallocInt32(C);C=f(k,M,F,q),C>0&&(l.init(_+C),M===1?g=l.sweepBipartite(M,A,0,_,P,T,0,C,F,q):g=u(M,A,L,_,P,T,C,F,q),s.free(F),s.free(q))}s.free(P),s.free(T)}return g}}}var d;function v(E,k){d.push([E,k])}function x(E){return d=[],h(E,E,v,!0),d}function b(E,k){return d=[],h(E,k,v,!1),d}function p(E,k,A){switch(arguments.length){case 1:return x(E);case 2:return typeof k==\"function\"?h(E,E,k,!0):b(E,k);case 3:return h(E,k,A,!1);default:throw new Error(\"box-intersect: Invalid arguments\")}}},2455:function(i,a){\"use strict\";function o(){function u(h,d,v,x,b,p,E,k,A,L,_){for(var C=2*h,M=x,g=C*x;M<b;++M,g+=C){var P=p[d+g],T=p[d+g+h],F=E[M];e:for(var q=k,V=C*k;q<A;++q,V+=C){var H=L[d+V],X=L[d+V+h],G=_[q];if(!(X<P||T<H)){for(var N=d+1;N<h;++N){var W=p[N+g],re=p[N+h+g],ae=L[N+V],_e=L[N+h+V];if(re<ae||_e<W)continue e}var Me=v(F,G);if(Me!==void 0)return Me}}}}function c(h,d,v,x,b,p,E,k,A,L,_){for(var C=2*h,M=k,g=C*k;M<A;++M,g+=C){var P=L[d+g],T=L[d+g+h],F=_[M];e:for(var q=x,V=C*x;q<b;++q,V+=C){var H=p[d+V],X=p[d+V+h],G=E[q];if(!(T<H||X<P)){for(var N=d+1;N<h;++N){var W=p[N+V],re=p[N+h+V],ae=L[N+g],_e=L[N+h+g];if(re<ae||_e<W)continue e}var Me=v(G,F);if(Me!==void 0)return Me}}}}function f(h,d,v,x,b,p,E,k,A,L,_){return b-x>A-k?u(h,d,v,x,b,p,E,k,A,L,_):c(h,d,v,x,b,p,E,k,A,L,_)}return f}function s(){function u(v,x,b,p,E,k,A,L,_,C,M){for(var g=2*v,P=p,T=g*p;P<E;++P,T+=g){var F=k[x+T],q=k[x+T+v],V=A[P];e:for(var H=L,X=g*L;H<_;++H,X+=g){var G=C[x+X],N=M[H];if(!(G<=F||q<G)){for(var W=x+1;W<v;++W){var re=k[W+T],ae=k[W+v+T],_e=C[W+X],Me=C[W+v+X];if(ae<_e||Me<re)continue e}var ke=b(N,V);if(ke!==void 0)return ke}}}}function c(v,x,b,p,E,k,A,L,_,C,M){for(var g=2*v,P=p,T=g*p;P<E;++P,T+=g){var F=k[x+T],q=k[x+T+v],V=A[P];e:for(var H=L,X=g*L;H<_;++H,X+=g){var G=C[x+X],N=M[H];if(!(G<F||q<G)){for(var W=x+1;W<v;++W){var re=k[W+T],ae=k[W+v+T],_e=C[W+X],Me=C[W+v+X];if(ae<_e||Me<re)continue e}var ke=b(V,N);if(ke!==void 0)return ke}}}}function f(v,x,b,p,E,k,A,L,_,C,M){for(var g=2*v,P=L,T=g*L;P<_;++P,T+=g){var F=C[x+T],q=M[P];e:for(var V=p,H=g*p;V<E;++V,H+=g){var X=k[x+H],G=k[x+H+v],N=A[V];if(!(F<=X||G<F)){for(var W=x+1;W<v;++W){var re=k[W+H],ae=k[W+v+H],_e=C[W+T],Me=C[W+v+T];if(ae<_e||Me<re)continue e}var ke=b(q,N);if(ke!==void 0)return ke}}}}function h(v,x,b,p,E,k,A,L,_,C,M){for(var g=2*v,P=L,T=g*L;P<_;++P,T+=g){var F=C[x+T],q=M[P];e:for(var V=p,H=g*p;V<E;++V,H+=g){var X=k[x+H],G=k[x+H+v],N=A[V];if(!(F<X||G<F)){for(var W=x+1;W<v;++W){var re=k[W+H],ae=k[W+v+H],_e=C[W+T],Me=C[W+v+T];if(ae<_e||Me<re)continue e}var ke=b(N,q);if(ke!==void 0)return ke}}}}function d(v,x,b,p,E,k,A,L,_,C,M,g){return k-E>C-_?p?u(v,x,b,E,k,A,L,_,C,M,g):c(v,x,b,E,k,A,L,_,C,M,g):p?f(v,x,b,E,k,A,L,_,C,M,g):h(v,x,b,E,k,A,L,_,C,M,g)}return d}function l(u){return u?o():s()}a.partial=l(!1),a.full=l(!0)},7150:function(i,a,o){\"use strict\";i.exports=G;var s=o(1888),l=o(8828),u=o(2455),c=u.partial,f=u.full,h=o(855),d=o(3545),v=o(8105),x=128,b=1<<22,p=1<<22,E=v(\"!(lo>=p0)&&!(p1>=hi)\"),k=v(\"lo===p0\"),A=v(\"lo<p0\"),L=v(\"hi<=p0\"),_=v(\"lo<=p0&&p0<=hi\"),C=v(\"lo<p0&&p0<=hi\"),M=6,g=2,P=1024,T=s.mallocInt32(P),F=s.mallocDouble(P);function q(N,W){var re=8*l.log2(W+1)*(N+1)|0,ae=l.nextPow2(M*re);T.length<ae&&(s.free(T),T=s.mallocInt32(ae));var _e=l.nextPow2(g*re);F.length<_e&&(s.free(F),F=s.mallocDouble(_e))}function V(N,W,re,ae,_e,Me,ke,ge,ie){var Te=M*N;T[Te]=W,T[Te+1]=re,T[Te+2]=ae,T[Te+3]=_e,T[Te+4]=Me,T[Te+5]=ke;var Ee=g*N;F[Ee]=ge,F[Ee+1]=ie}function H(N,W,re,ae,_e,Me,ke,ge,ie,Te,Ee){var Ae=2*N,ze=ie*Ae,Ce=Te[ze+W];e:for(var me=_e,Re=_e*Ae;me<Me;++me,Re+=Ae){var ce=ke[Re+W],Ge=ke[Re+W+N];if(!(Ce<ce||Ge<Ce)&&!(ae&&Ce===ce)){for(var nt=ge[me],ct=W+1;ct<N;++ct){var ce=ke[Re+ct],Ge=ke[Re+ct+N],qt=Te[ze+ct],rt=Te[ze+ct+N];if(Ge<qt||rt<ce)continue e}var ot;if(ae?ot=re(Ee,nt):ot=re(nt,Ee),ot!==void 0)return ot}}}function X(N,W,re,ae,_e,Me,ke,ge,ie,Te){var Ee=2*N,Ae=ge*Ee,ze=ie[Ae+W];e:for(var Ce=ae,me=ae*Ee;Ce<_e;++Ce,me+=Ee){var Re=ke[Ce];if(Re!==Te){var ce=Me[me+W],Ge=Me[me+W+N];if(!(ze<ce||Ge<ze)){for(var nt=W+1;nt<N;++nt){var ce=Me[me+nt],Ge=Me[me+nt+N],ct=ie[Ae+nt],qt=ie[Ae+nt+N];if(Ge<ct||qt<ce)continue e}var rt=re(Re,Te);if(rt!==void 0)return rt}}}}function G(N,W,re,ae,_e,Me,ke,ge,ie){q(N,ae+ke);var Te=0,Ee=2*N,Ae;for(V(Te++,0,0,ae,0,ke,re?16:0,-1/0,1/0),re||V(Te++,0,0,ke,0,ae,1,-1/0,1/0);Te>0;){Te-=1;var ze=Te*M,Ce=T[ze],me=T[ze+1],Re=T[ze+2],ce=T[ze+3],Ge=T[ze+4],nt=T[ze+5],ct=Te*g,qt=F[ct],rt=F[ct+1],ot=nt&1,Rt=!!(nt&16),kt=_e,Ct=Me,Yt=ge,xr=ie;if(ot&&(kt=ge,Ct=ie,Yt=_e,xr=Me),!(nt&2&&(Re=A(N,Ce,me,Re,kt,Ct,rt),me>=Re))&&!(nt&4&&(me=L(N,Ce,me,Re,kt,Ct,qt),me>=Re))){var er=Re-me,Ke=Ge-ce;if(Rt){if(N*er*(er+Ke)<p){if(Ae=h.scanComplete(N,Ce,W,me,Re,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae;continue}}else if(N*Math.min(er,Ke)<x){if(Ae=c(N,Ce,W,ot,me,Re,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae;continue}else if(N*er*Ke<b){if(Ae=h.scanBipartite(N,Ce,W,ot,me,Re,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae;continue}var xt=E(N,Ce,me,Re,kt,Ct,qt,rt);if(me<xt)if(N*(xt-me)<x){if(Ae=f(N,Ce+1,W,me,xt,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae}else if(Ce===N-2){if(ot?Ae=h.sweepBipartite(N,W,ce,Ge,Yt,xr,me,xt,kt,Ct):Ae=h.sweepBipartite(N,W,me,xt,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae}else V(Te++,Ce+1,me,xt,ce,Ge,ot,-1/0,1/0),V(Te++,Ce+1,ce,Ge,me,xt,ot^1,-1/0,1/0);if(xt<Re){var bt=d(N,Ce,ce,Ge,Yt,xr),Lt=Yt[Ee*bt+Ce],St=k(N,Ce,bt,Ge,Yt,xr,Lt);if(St<Ge&&V(Te++,Ce,xt,Re,St,Ge,(ot|4)+(Rt?16:0),Lt,rt),ce<bt&&V(Te++,Ce,xt,Re,ce,bt,(ot|2)+(Rt?16:0),qt,Lt),bt+1===St){if(Rt?Ae=X(N,Ce,W,xt,Re,kt,Ct,bt,Yt,xr[bt]):Ae=H(N,Ce,W,ot,xt,Re,kt,Ct,bt,Yt,xr[bt]),Ae!==void 0)return Ae}else if(bt<St){var Et;if(Rt){if(Et=_(N,Ce,xt,Re,kt,Ct,Lt),xt<Et){var dt=k(N,Ce,xt,Et,kt,Ct,Lt);if(Ce===N-2){if(xt<dt&&(Ae=h.sweepComplete(N,W,xt,dt,kt,Ct,bt,St,Yt,xr),Ae!==void 0)||dt<Et&&(Ae=h.sweepBipartite(N,W,dt,Et,kt,Ct,bt,St,Yt,xr),Ae!==void 0))return Ae}else xt<dt&&V(Te++,Ce+1,xt,dt,bt,St,16,-1/0,1/0),dt<Et&&(V(Te++,Ce+1,dt,Et,bt,St,0,-1/0,1/0),V(Te++,Ce+1,bt,St,dt,Et,1,-1/0,1/0))}}else ot?Et=C(N,Ce,xt,Re,kt,Ct,Lt):Et=_(N,Ce,xt,Re,kt,Ct,Lt),xt<Et&&(Ce===N-2?ot?Ae=h.sweepBipartite(N,W,bt,St,Yt,xr,xt,Et,kt,Ct):Ae=h.sweepBipartite(N,W,xt,Et,kt,Ct,bt,St,Yt,xr):(V(Te++,Ce+1,xt,Et,bt,St,ot,-1/0,1/0),V(Te++,Ce+1,bt,St,xt,Et,ot^1,-1/0,1/0)))}}}}}},3545:function(i,a,o){\"use strict\";i.exports=f;var s=o(8105),l=s(\"lo<p0\"),u=8;function c(h,d,v,x,b,p){for(var E=2*h,k=E*(v+1)+d,A=v+1;A<x;++A,k+=E)for(var L=b[k],_=A,C=E*(A-1);_>v&&b[C+d]>L;--_,C-=E){for(var M=C,g=C+E,P=0;P<E;++P,++M,++g){var T=b[M];b[M]=b[g],b[g]=T}var F=p[_];p[_]=p[_-1],p[_-1]=F}}function f(h,d,v,x,b,p){if(x<=v+1)return v;for(var E=v,k=x,A=x+v>>>1,L=2*h,_=A,C=b[L*A+d];E<k;){if(k-E<u){c(h,d,E,k,b,p),C=b[L*A+d];break}var M=k-E,g=Math.random()*M+E|0,P=b[L*g+d],T=Math.random()*M+E|0,F=b[L*T+d],q=Math.random()*M+E|0,V=b[L*q+d];P<=F?V>=F?(_=T,C=F):P>=V?(_=g,C=P):(_=q,C=V):F>=V?(_=T,C=F):V>=P?(_=g,C=P):(_=q,C=V);for(var G=L*(k-1),N=L*_,H=0;H<L;++H,++G,++N){var X=b[G];b[G]=b[N],b[N]=X}var W=p[k-1];p[k-1]=p[_],p[_]=W,_=l(h,d,E,k-1,b,p,C);for(var G=L*(k-1),N=L*_,H=0;H<L;++H,++G,++N){var X=b[G];b[G]=b[N],b[N]=X}var W=p[k-1];if(p[k-1]=p[_],p[_]=W,A<_){for(k=_-1;E<k&&b[L*(k-1)+d]===C;)k-=1;k+=1}else if(_<A)for(E=_+1;E<k&&b[L*E+d]===C;)E+=1;else break}return l(h,d,v,A,b,p,b[L*A+d])}},8105:function(i){\"use strict\";i.exports=o;var a={\"lo===p0\":s,\"lo<p0\":l,\"lo<=p0\":u,\"hi<=p0\":c,\"lo<p0&&p0<=hi\":h,\"lo<=p0&&p0<=hi\":f,\"!(lo>=p0)&&!(p1>=hi)\":d};function o(v){return a[v]}function s(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+g];if(F===A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function l(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+g];if(F<A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function u(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+P];if(F<=A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function c(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+P];if(F<=A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function f(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+g],q=E[_+P];if(F<=A&&A<=q)if(M===T)M+=1,C+=L;else{for(var V=0;L>V;++V){var H=E[_+V];E[_+V]=E[C],E[C++]=H}var X=k[T];k[T]=k[M],k[M++]=X}}return M}function h(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+g],q=E[_+P];if(F<A&&A<=q)if(M===T)M+=1,C+=L;else{for(var V=0;L>V;++V){var H=E[_+V];E[_+V]=E[C],E[C++]=H}var X=k[T];k[T]=k[M],k[M++]=X}}return M}function d(v,x,b,p,E,k,A,L){for(var _=2*v,C=_*b,M=C,g=b,P=x,T=v+x,F=b;p>F;++F,C+=_){var q=E[C+P],V=E[C+T];if(!(q>=A)&&!(L>=V))if(g===F)g+=1,M+=_;else{for(var H=0;_>H;++H){var X=E[C+H];E[C+H]=E[M],E[M++]=X}var G=k[F];k[F]=k[g],k[g++]=G}}return g}},4192:function(i){\"use strict\";i.exports=o;var a=32;function o(x,b){b<=4*a?s(0,b-1,x):v(0,b-1,x)}function s(x,b,p){for(var E=2*(x+1),k=x+1;k<=b;++k){for(var A=p[E++],L=p[E++],_=k,C=E-2;_-- >x;){var M=p[C-2],g=p[C-1];if(M<A)break;if(M===A&&g<L)break;p[C]=M,p[C+1]=g,C-=2}p[C]=A,p[C+1]=L}}function l(x,b,p){x*=2,b*=2;var E=p[x],k=p[x+1];p[x]=p[b],p[x+1]=p[b+1],p[b]=E,p[b+1]=k}function u(x,b,p){x*=2,b*=2,p[x]=p[b],p[x+1]=p[b+1]}function c(x,b,p,E){x*=2,b*=2,p*=2;var k=E[x],A=E[x+1];E[x]=E[b],E[x+1]=E[b+1],E[b]=E[p],E[b+1]=E[p+1],E[p]=k,E[p+1]=A}function f(x,b,p,E,k){x*=2,b*=2,k[x]=k[b],k[b]=p,k[x+1]=k[b+1],k[b+1]=E}function h(x,b,p){x*=2,b*=2;var E=p[x],k=p[b];return E<k?!1:E===k?p[x+1]>p[b+1]:!0}function d(x,b,p,E){x*=2;var k=E[x];return k<b?!0:k===b?E[x+1]<p:!1}function v(x,b,p){var E=(b-x+1)/6|0,k=x+E,A=b-E,L=x+b>>1,_=L-E,C=L+E,M=k,g=_,P=L,T=C,F=A,q=x+1,V=b-1,H=0;h(M,g,p)&&(H=M,M=g,g=H),h(T,F,p)&&(H=T,T=F,F=H),h(M,P,p)&&(H=M,M=P,P=H),h(g,P,p)&&(H=g,g=P,P=H),h(M,T,p)&&(H=M,M=T,T=H),h(P,T,p)&&(H=P,P=T,T=H),h(g,F,p)&&(H=g,g=F,F=H),h(g,P,p)&&(H=g,g=P,P=H),h(T,F,p)&&(H=T,T=F,F=H);for(var X=p[2*g],G=p[2*g+1],N=p[2*T],W=p[2*T+1],re=2*M,ae=2*P,_e=2*F,Me=2*k,ke=2*L,ge=2*A,ie=0;ie<2;++ie){var Te=p[re+ie],Ee=p[ae+ie],Ae=p[_e+ie];p[Me+ie]=Te,p[ke+ie]=Ee,p[ge+ie]=Ae}u(_,x,p),u(C,b,p);for(var ze=q;ze<=V;++ze)if(d(ze,X,G,p))ze!==q&&l(ze,q,p),++q;else if(!d(ze,N,W,p))for(;;)if(d(V,N,W,p)){d(V,X,G,p)?(c(ze,q,V,p),++q,--V):(l(ze,V,p),--V);break}else{if(--V<ze)break;continue}f(x,q-1,X,G,p),f(b,V+1,N,W,p),q-2-x<=a?s(x,q-2,p):v(x,q-2,p),b-(V+2)<=a?s(V+2,b,p):v(V+2,b,p),V-q<=a?s(q,V,p):v(q,V,p)}},855:function(i,a,o){\"use strict\";i.exports={init:k,sweepBipartite:_,sweepComplete:C,scanBipartite:M,scanComplete:g};var s=o(1888),l=o(8828),u=o(4192),c=1<<28,f=1024,h=s.mallocInt32(f),d=s.mallocInt32(f),v=s.mallocInt32(f),x=s.mallocInt32(f),b=s.mallocInt32(f),p=s.mallocInt32(f),E=s.mallocDouble(f*8);function k(P){var T=l.nextPow2(P);h.length<T&&(s.free(h),h=s.mallocInt32(T)),d.length<T&&(s.free(d),d=s.mallocInt32(T)),v.length<T&&(s.free(v),v=s.mallocInt32(T)),x.length<T&&(s.free(x),x=s.mallocInt32(T)),b.length<T&&(s.free(b),b=s.mallocInt32(T)),p.length<T&&(s.free(p),p=s.mallocInt32(T));var F=8*T;E.length<F&&(s.free(E),E=s.mallocDouble(F))}function A(P,T,F,q){var V=T[q],H=P[F-1];P[V]=H,T[H]=V}function L(P,T,F,q){P[F]=q,T[q]=F}function _(P,T,F,q,V,H,X,G,N,W){for(var re=0,ae=2*P,_e=P-1,Me=ae-1,ke=F;ke<q;++ke){var ge=H[ke],ie=ae*ke;E[re++]=V[ie+_e],E[re++]=-(ge+1),E[re++]=V[ie+Me],E[re++]=ge}for(var ke=X;ke<G;++ke){var ge=W[ke]+c,Te=ae*ke;E[re++]=N[Te+_e],E[re++]=-ge,E[re++]=N[Te+Me],E[re++]=ge}var Ee=re>>>1;u(E,Ee);for(var Ae=0,ze=0,ke=0;ke<Ee;++ke){var Ce=E[2*ke+1]|0;if(Ce>=c)Ce=Ce-c|0,A(v,x,ze--,Ce);else if(Ce>=0)A(h,d,Ae--,Ce);else if(Ce<=-c){Ce=-Ce-c|0;for(var me=0;me<Ae;++me){var Re=T(h[me],Ce);if(Re!==void 0)return Re}L(v,x,ze++,Ce)}else{Ce=-Ce-1|0;for(var me=0;me<ze;++me){var Re=T(Ce,v[me]);if(Re!==void 0)return Re}L(h,d,Ae++,Ce)}}}function C(P,T,F,q,V,H,X,G,N,W){for(var re=0,ae=2*P,_e=P-1,Me=ae-1,ke=F;ke<q;++ke){var ge=H[ke]+1<<1,ie=ae*ke;E[re++]=V[ie+_e],E[re++]=-ge,E[re++]=V[ie+Me],E[re++]=ge}for(var ke=X;ke<G;++ke){var ge=W[ke]+1<<1,Te=ae*ke;E[re++]=N[Te+_e],E[re++]=-ge|1,E[re++]=N[Te+Me],E[re++]=ge|1}var Ee=re>>>1;u(E,Ee);for(var Ae=0,ze=0,Ce=0,ke=0;ke<Ee;++ke){var me=E[2*ke+1]|0,Re=me&1;if(ke<Ee-1&&me>>1===E[2*ke+3]>>1&&(Re=2,ke+=1),me<0){for(var ce=-(me>>1)-1,Ge=0;Ge<Ce;++Ge){var nt=T(b[Ge],ce);if(nt!==void 0)return nt}if(Re!==0)for(var Ge=0;Ge<Ae;++Ge){var nt=T(h[Ge],ce);if(nt!==void 0)return nt}if(Re!==1)for(var Ge=0;Ge<ze;++Ge){var nt=T(v[Ge],ce);if(nt!==void 0)return nt}Re===0?L(h,d,Ae++,ce):Re===1?L(v,x,ze++,ce):Re===2&&L(b,p,Ce++,ce)}else{var ce=(me>>1)-1;Re===0?A(h,d,Ae--,ce):Re===1?A(v,x,ze--,ce):Re===2&&A(b,p,Ce--,ce)}}}function M(P,T,F,q,V,H,X,G,N,W,re,ae){var _e=0,Me=2*P,ke=T,ge=T+P,ie=1,Te=1;q?Te=c:ie=c;for(var Ee=V;Ee<H;++Ee){var Ae=Ee+ie,ze=Me*Ee;E[_e++]=X[ze+ke],E[_e++]=-Ae,E[_e++]=X[ze+ge],E[_e++]=Ae}for(var Ee=N;Ee<W;++Ee){var Ae=Ee+Te,Ce=Me*Ee;E[_e++]=re[Ce+ke],E[_e++]=-Ae}var me=_e>>>1;u(E,me);for(var Re=0,Ee=0;Ee<me;++Ee){var ce=E[2*Ee+1]|0;if(ce<0){var Ae=-ce,Ge=!1;if(Ae>=c?(Ge=!q,Ae-=c):(Ge=!!q,Ae-=1),Ge)L(h,d,Re++,Ae);else{var nt=ae[Ae],ct=Me*Ae,qt=re[ct+T+1],rt=re[ct+T+1+P];e:for(var ot=0;ot<Re;++ot){var Rt=h[ot],kt=Me*Rt;if(!(rt<X[kt+T+1]||X[kt+T+1+P]<qt)){for(var Ct=T+2;Ct<P;++Ct)if(re[ct+Ct+P]<X[kt+Ct]||X[kt+Ct+P]<re[ct+Ct])continue e;var Yt=G[Rt],xr;if(q?xr=F(nt,Yt):xr=F(Yt,nt),xr!==void 0)return xr}}}}else A(h,d,Re--,ce-ie)}}function g(P,T,F,q,V,H,X,G,N,W,re){for(var ae=0,_e=2*P,Me=T,ke=T+P,ge=q;ge<V;++ge){var ie=ge+c,Te=_e*ge;E[ae++]=H[Te+Me],E[ae++]=-ie,E[ae++]=H[Te+ke],E[ae++]=ie}for(var ge=G;ge<N;++ge){var ie=ge+1,Ee=_e*ge;E[ae++]=W[Ee+Me],E[ae++]=-ie}var Ae=ae>>>1;u(E,Ae);for(var ze=0,ge=0;ge<Ae;++ge){var Ce=E[2*ge+1]|0;if(Ce<0){var ie=-Ce;if(ie>=c)h[ze++]=ie-c;else{ie-=1;var me=re[ie],Re=_e*ie,ce=W[Re+T+1],Ge=W[Re+T+1+P];e:for(var nt=0;nt<ze;++nt){var ct=h[nt],qt=X[ct];if(qt===me)break;var rt=_e*ct;if(!(Ge<H[rt+T+1]||H[rt+T+1+P]<ce)){for(var ot=T+2;ot<P;++ot)if(W[Re+ot+P]<H[rt+ot]||H[rt+ot+P]<W[Re+ot])continue e;var Rt=F(qt,me);if(Rt!==void 0)return Rt}}}}else{for(var ie=Ce-c,nt=ze-1;nt>=0;--nt)if(h[nt]===ie){for(var ot=nt+1;ot<ze;++ot)h[ot-1]=h[ot];break}--ze}}}},2538:function(i,a,o){\"use strict\";var s=o(8902),l=o(5542),u=o(2272),c=o(5023);i.exports=x;function f(b){return[Math.min(b[0],b[1]),Math.max(b[0],b[1])]}function h(b,p){return b[0]-p[0]||b[1]-p[1]}function d(b){return b.map(f).sort(h)}function v(b,p,E){return p in b?b[p]:E}function x(b,p,E){Array.isArray(p)?(E=E||{},p=p||[]):(E=p||{},p=[]);var k=!!v(E,\"delaunay\",!0),A=!!v(E,\"interior\",!0),L=!!v(E,\"exterior\",!0),_=!!v(E,\"infinity\",!1);if(!A&&!L||b.length===0)return[];var C=s(b,p);if(k||A!==L||_){for(var M=l(b.length,d(p)),g=0;g<C.length;++g){var P=C[g];M.addTriangle(P[0],P[1],P[2])}return k&&u(b,M),L?A?_?c(M,0,_):M.cells():c(M,1,_):c(M,-1)}else return C}},2272:function(i,a,o){\"use strict\";var s=o(2646)[4],l=o(2478);i.exports=c;function u(f,h,d,v,x,b){var p=h.opposite(v,x);if(!(p<0)){if(x<v){var E=v;v=x,x=E,E=b,b=p,p=E}h.isConstraint(v,x)||s(f[v],f[x],f[b],f[p])<0&&d.push(v,x)}}function c(f,h){for(var d=[],v=f.length,x=h.stars,b=0;b<v;++b)for(var p=x[b],E=1;E<p.length;E+=2){var k=p[E];if(!(k<b)&&!h.isConstraint(b,k)){for(var A=p[E-1],L=-1,_=1;_<p.length;_+=2)if(p[_-1]===k){L=p[_];break}L<0||s(f[b],f[k],f[A],f[L])<0&&d.push(b,k)}}for(;d.length>0;){for(var k=d.pop(),b=d.pop(),A=-1,L=-1,p=x[b],C=1;C<p.length;C+=2){var M=p[C-1],g=p[C];M===k?L=g:g===k&&(A=M)}A<0||L<0||s(f[b],f[k],f[A],f[L])>=0||(h.flip(b,k),u(f,h,d,A,b,L),u(f,h,d,b,L,A),u(f,h,d,L,k,A),u(f,h,d,k,A,L))}}},5023:function(i,a,o){\"use strict\";var s=o(2478);i.exports=d;function l(v,x,b,p,E,k,A){this.cells=v,this.neighbor=x,this.flags=p,this.constraint=b,this.active=E,this.next=k,this.boundary=A}var u=l.prototype;function c(v,x){return v[0]-x[0]||v[1]-x[1]||v[2]-x[2]}u.locate=function(){var v=[0,0,0];return function(x,b,p){var E=x,k=b,A=p;return b<p?b<x&&(E=b,k=p,A=x):p<x&&(E=p,k=x,A=b),E<0?-1:(v[0]=E,v[1]=k,v[2]=A,s.eq(this.cells,v,c))}}();function f(v,x){for(var b=v.cells(),p=b.length,E=0;E<p;++E){var k=b[E],A=k[0],L=k[1],_=k[2];L<_?L<A&&(k[0]=L,k[1]=_,k[2]=A):_<A&&(k[0]=_,k[1]=A,k[2]=L)}b.sort(c);for(var C=new Array(p),E=0;E<C.length;++E)C[E]=0;var M=[],g=[],P=new Array(3*p),T=new Array(3*p),F=null;x&&(F=[]);for(var q=new l(b,P,T,C,M,g,F),E=0;E<p;++E)for(var k=b[E],V=0;V<3;++V){var A=k[V],L=k[(V+1)%3],H=P[3*E+V]=q.locate(L,A,v.opposite(L,A)),X=T[3*E+V]=v.isConstraint(A,L);H<0&&(X?g.push(E):(M.push(E),C[E]=1),x&&F.push([L,A,-1]))}return q}function h(v,x,b){for(var p=0,E=0;E<v.length;++E)x[E]===b&&(v[p++]=v[E]);return v.length=p,v}function d(v,x,b){var p=f(v,b);if(x===0)return b?p.cells.concat(p.boundary):p.cells;for(var E=1,k=p.active,A=p.next,L=p.flags,_=p.cells,C=p.constraint,M=p.neighbor;k.length>0||A.length>0;){for(;k.length>0;){var g=k.pop();if(L[g]!==-E){L[g]=E;for(var P=_[g],T=0;T<3;++T){var F=M[3*g+T];F>=0&&L[F]===0&&(C[3*g+T]?A.push(F):(k.push(F),L[F]=E))}}}var q=A;A=k,k=q,A.length=0,E=-E}var V=h(_,L,x);return b?V.concat(p.boundary):V}},8902:function(i,a,o){\"use strict\";var s=o(2478),l=o(3250)[3],u=0,c=1,f=2;i.exports=A;function h(L,_,C,M,g){this.a=L,this.b=_,this.idx=C,this.lowerIds=M,this.upperIds=g}function d(L,_,C,M){this.a=L,this.b=_,this.type=C,this.idx=M}function v(L,_){var C=L.a[0]-_.a[0]||L.a[1]-_.a[1]||L.type-_.type;return C||L.type!==u&&(C=l(L.a,L.b,_.b),C)?C:L.idx-_.idx}function x(L,_){return l(L.a,L.b,_)}function b(L,_,C,M,g){for(var P=s.lt(_,M,x),T=s.gt(_,M,x),F=P;F<T;++F){for(var q=_[F],V=q.lowerIds,X=V.length;X>1&&l(C[V[X-2]],C[V[X-1]],M)>0;)L.push([V[X-1],V[X-2],g]),X-=1;V.length=X,V.push(g);for(var H=q.upperIds,X=H.length;X>1&&l(C[H[X-2]],C[H[X-1]],M)<0;)L.push([H[X-2],H[X-1],g]),X-=1;H.length=X,H.push(g)}}function p(L,_){var C;return L.a[0]<_.a[0]?C=l(L.a,L.b,_.a):C=l(_.b,_.a,L.a),C||(_.b[0]<L.b[0]?C=l(L.a,L.b,_.b):C=l(_.b,_.a,L.b),C||L.idx-_.idx)}function E(L,_,C){var M=s.le(L,C,p),g=L[M],P=g.upperIds,T=P[P.length-1];g.upperIds=[T],L.splice(M+1,0,new h(C.a,C.b,C.idx,[T],P))}function k(L,_,C){var M=C.a;C.a=C.b,C.b=M;var g=s.eq(L,C,p),P=L[g],T=L[g-1];T.upperIds=P.upperIds,L.splice(g,1)}function A(L,_){for(var C=L.length,M=_.length,g=[],P=0;P<C;++P)g.push(new d(L[P],null,u,P));for(var P=0;P<M;++P){var T=_[P],F=L[T[0]],q=L[T[1]];F[0]<q[0]?g.push(new d(F,q,f,P),new d(q,F,c,P)):F[0]>q[0]&&g.push(new d(q,F,f,P),new d(F,q,c,P))}g.sort(v);for(var V=g[0].a[0]-(1+Math.abs(g[0].a[0]))*Math.pow(2,-52),H=[new h([V,1],[V,0],-1,[],[],[],[])],X=[],P=0,G=g.length;P<G;++P){var N=g[P],W=N.type;W===u?b(X,H,L,N.a,N.idx):W===f?E(H,L,N):k(H,L,N)}return X}},5542:function(i,a,o){\"use strict\";var s=o(2478);i.exports=f;function l(h,d){this.stars=h,this.edges=d}var u=l.prototype;function c(h,d,v){for(var x=1,b=h.length;x<b;x+=2)if(h[x-1]===d&&h[x]===v){h[x-1]=h[b-2],h[x]=h[b-1],h.length=b-2;return}}u.isConstraint=function(){var h=[0,0];function d(v,x){return v[0]-x[0]||v[1]-x[1]}return function(v,x){return h[0]=Math.min(v,x),h[1]=Math.max(v,x),s.eq(this.edges,h,d)>=0}}(),u.removeTriangle=function(h,d,v){var x=this.stars;c(x[h],d,v),c(x[d],v,h),c(x[v],h,d)},u.addTriangle=function(h,d,v){var x=this.stars;x[h].push(d,v),x[d].push(v,h),x[v].push(h,d)},u.opposite=function(h,d){for(var v=this.stars[d],x=1,b=v.length;x<b;x+=2)if(v[x]===h)return v[x-1];return-1},u.flip=function(h,d){var v=this.opposite(h,d),x=this.opposite(d,h);this.removeTriangle(h,d,v),this.removeTriangle(d,h,x),this.addTriangle(h,x,v),this.addTriangle(d,v,x)},u.edges=function(){for(var h=this.stars,d=[],v=0,x=h.length;v<x;++v)for(var b=h[v],p=0,E=b.length;p<E;p+=2)d.push([b[p],b[p+1]]);return d},u.cells=function(){for(var h=this.stars,d=[],v=0,x=h.length;v<x;++v)for(var b=h[v],p=0,E=b.length;p<E;p+=2){var k=b[p],A=b[p+1];v<Math.min(k,A)&&d.push([v,k,A])}return d};function f(h,d){for(var v=new Array(h),x=0;x<h;++x)v[x]=[];return new l(v,d)}},2419:function(i){\"use strict\";i.exports=a;function a(o){for(var s=1,l=1;l<o.length;++l)for(var u=0;u<l;++u)if(o[l]<o[u])s=-s;else if(o[u]===o[l])return 0;return s}},3628:function(i,a,o){\"use strict\";var s=o(1338),l=o(727);function u(h,d){for(var v=0,x=h.length,b=0;b<x;++b)v+=h[b]*d[b];return v}function c(h){var d=h.length;if(d===0)return[];var v=h[0].length,x=s([h.length+1,h.length+1],1),b=s([h.length+1],1);x[d][d]=0;for(var p=0;p<d;++p){for(var E=0;E<=p;++E)x[E][p]=x[p][E]=2*u(h[p],h[E]);b[p]=u(h[p],h[p])}for(var k=l(x,b),A=0,L=k[d+1],p=0;p<L.length;++p)A+=L[p];for(var _=new Array(d),p=0;p<d;++p){for(var L=k[p],C=0,E=0;E<L.length;++E)C+=L[E];_[p]=C/A}return _}function f(h){if(h.length===0)return[];for(var d=h[0].length,v=s([d]),x=c(h),b=0;b<h.length;++b)for(var p=0;p<d;++p)v[p]+=h[b][p]*x[b];return v}f.barycenetric=c,i.exports=f},6037:function(i,a,o){i.exports=l;var s=o(3628);function l(u){for(var c=s(u),f=0,h=0;h<u.length;++h)for(var d=u[h],v=0;v<c.length;++v)f+=Math.pow(d[v]-c[v],2);return Math.sqrt(f/u.length)}},332:function(i,a,o){\"use strict\";i.exports=F;var s=o(1755),l=o(6867),u=o(1125),c=o(7842),f=o(1318),h=o(946),d=o(5838),v=o(1278),x=o(3637);function b(q){var V=h(q);return[v(V,-1/0),v(V,1/0)]}function p(q,V){for(var H=new Array(V.length),X=0;X<V.length;++X){var G=V[X],N=q[G[0]],W=q[G[1]];H[X]=[v(Math.min(N[0],W[0]),-1/0),v(Math.min(N[1],W[1]),-1/0),v(Math.max(N[0],W[0]),1/0),v(Math.max(N[1],W[1]),1/0)]}return H}function E(q){for(var V=new Array(q.length),H=0;H<q.length;++H){var X=q[H];V[H]=[v(X[0],-1/0),v(X[1],-1/0),v(X[0],1/0),v(X[1],1/0)]}return V}function k(q,V,H){var X=[];return l(H,function(G,N){var W=V[G],re=V[N];if(!(W[0]===re[0]||W[0]===re[1]||W[1]===re[0]||W[1]===re[1])){var ae=q[W[0]],_e=q[W[1]],Me=q[re[0]],ke=q[re[1]];u(ae,_e,Me,ke)&&X.push([G,N])}}),X}function A(q,V,H,X){var G=[];return l(H,X,function(N,W){var re=V[N];if(!(re[0]===W||re[1]===W)){var ae=q[W],_e=q[re[0]],Me=q[re[1]];u(_e,Me,ae,ae)&&G.push([N,W])}}),G}function L(q,V,H,X,G){var N,W,re=q.map(function(ct){return[c(ct[0]),c(ct[1])]});for(N=0;N<H.length;++N){var ae=H[N];W=ae[0];var _e=ae[1],Me=V[W],ke=V[_e],ge=x(d(q[Me[0]]),d(q[Me[1]]),d(q[ke[0]]),d(q[ke[1]]));if(ge){var ie=q.length;q.push([h(ge[0]),h(ge[1])]),re.push(ge),X.push([W,ie],[_e,ie])}}for(X.sort(function(ct,qt){if(ct[0]!==qt[0])return ct[0]-qt[0];var rt=re[ct[1]],ot=re[qt[1]];return f(rt[0],ot[0])||f(rt[1],ot[1])}),N=X.length-1;N>=0;--N){var Te=X[N];W=Te[0];var Ee=V[W],Ae=Ee[0],ze=Ee[1],Ce=q[Ae],me=q[ze];if((Ce[0]-me[0]||Ce[1]-me[1])<0){var Re=Ae;Ae=ze,ze=Re}Ee[0]=Ae;var ce=Ee[1]=Te[1],Ge;for(G&&(Ge=Ee[2]);N>0&&X[N-1][0]===W;){var Te=X[--N],nt=Te[1];G?V.push([ce,nt,Ge]):V.push([ce,nt]),ce=nt}G?V.push([ce,ze,Ge]):V.push([ce,ze])}return re}function _(q,V,H){for(var X=V.length,G=new s(X),N=[],W=0;W<V.length;++W){var re=V[W],ae=b(re[0]),_e=b(re[1]);N.push([v(ae[0],-1/0),v(_e[0],-1/0),v(ae[1],1/0),v(_e[1],1/0)])}l(N,function(Te,Ee){G.link(Te,Ee)});for(var Me=!0,ke=new Array(X),W=0;W<X;++W){var ge=G.find(W);ge!==W&&(Me=!1,q[ge]=[Math.min(q[W][0],q[ge][0]),Math.min(q[W][1],q[ge][1])])}if(Me)return null;for(var ie=0,W=0;W<X;++W){var ge=G.find(W);ge===W?(ke[W]=ie,q[ie++]=q[W]):ke[W]=-1}q.length=ie;for(var W=0;W<X;++W)ke[W]<0&&(ke[W]=ke[G.find(W)]);return ke}function C(q,V){return q[0]-V[0]||q[1]-V[1]}function M(q,V){var H=q[0]-V[0]||q[1]-V[1];return H||(q[2]<V[2]?-1:q[2]>V[2]?1:0)}function g(q,V,H){if(q.length!==0){if(V)for(var X=0;X<q.length;++X){var G=q[X],N=V[G[0]],W=V[G[1]];G[0]=Math.min(N,W),G[1]=Math.max(N,W)}else for(var X=0;X<q.length;++X){var G=q[X],N=G[0],W=G[1];G[0]=Math.min(N,W),G[1]=Math.max(N,W)}H?q.sort(M):q.sort(C);for(var re=1,X=1;X<q.length;++X){var ae=q[X-1],_e=q[X];_e[0]===ae[0]&&_e[1]===ae[1]&&(!H||_e[2]===ae[2])||(q[re++]=_e)}q.length=re}}function P(q,V,H){var X=_(q,[],E(q));return g(V,X,H),!!X}function T(q,V,H){var X=p(q,V),G=k(q,V,X),N=E(q),W=A(q,V,X,N),re=L(q,V,G,W,H),ae=_(q,re,N);return g(V,ae,H),ae?!0:G.length>0||W.length>0}function F(q,V,H){var X;if(H){X=V;for(var G=new Array(V.length),N=0;N<V.length;++N){var W=V[N];G[N]=[W[0],W[1],H[N]]}V=G}for(var re=P(q,V,!!H);T(q,V,!!H);)re=!0;if(H&&re){X.length=0,H.length=0;for(var N=0;N<V.length;++N){var W=V[N];X.push([W[0],W[1]]),H.push(W[2])}}return re}},3637:function(i,a,o){\"use strict\";i.exports=x;var s=o(6504),l=o(8697),u=o(5572),c=o(7721),f=o(544),h=o(2653),d=o(8987);function v(b,p){return u(s(b[0],p[1]),s(b[1],p[0]))}function x(b,p,E,k){var A=f(p,b),L=f(k,E),_=v(A,L);if(c(_)===0)return null;var C=f(b,E),M=v(L,C),g=l(M,_),P=d(A,g),T=h(b,P);return T}},3642:function(i){i.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(i,a,o){\"use strict\";var s=o(3642),l=o(395);i.exports=u;function u(d){var v,x,b,p,E,k,A,L,g,_,C;if(d||(d={}),L=(d.nshades||72)-1,A=d.format||\"hex\",k=d.colormap,k||(k=\"jet\"),typeof k==\"string\"){if(k=k.toLowerCase(),!s[k])throw Error(k+\" not a supported colorscale\");E=s[k]}else if(Array.isArray(k))E=k.slice();else throw Error(\"unsupported colormap option\",k);if(E.length>L+1)throw new Error(k+\" map requires nshades to be at least size \"+E.length);Array.isArray(d.alpha)?d.alpha.length!==2?_=[1,1]:_=d.alpha.slice():typeof d.alpha==\"number\"?_=[d.alpha,d.alpha]:_=[1,1],v=E.map(function(F){return Math.round(F.index*L)}),_[0]=Math.min(Math.max(_[0],0),1),_[1]=Math.min(Math.max(_[1],0),1);var M=E.map(function(F,q){var V=E[q].index,H=E[q].rgb.slice();return H.length===4&&H[3]>=0&&H[3]<=1||(H[3]=_[0]+(_[1]-_[0])*V),H}),g=[];for(C=0;C<v.length-1;++C){p=v[C+1]-v[C],x=M[C],b=M[C+1];for(var P=0;P<p;P++){var T=P/p;g.push([Math.round(l(x[0],b[0],T)),Math.round(l(x[1],b[1],T)),Math.round(l(x[2],b[2],T)),l(x[3],b[3],T)])}}return g.push(E[E.length-1].rgb.concat(_[1])),A===\"hex\"?g=g.map(f):A===\"rgbaString\"?g=g.map(h):A===\"float\"&&(g=g.map(c)),g}function c(d){return[d[0]/255,d[1]/255,d[2]/255,d[3]]}function f(d){for(var v,x=\"#\",b=0;b<3;++b)v=d[b],v=v.toString(16),x+=(\"00\"+v).substr(v.length);return x}function h(d){return\"rgba(\"+d.join(\",\")+\")\"}},3140:function(i,a,o){\"use strict\";i.exports=d;var s=o(3250),l=o(8572),u=o(9362),c=o(5382),f=o(8210);function h(v,x,b){var p=u(v[0],-x[0]),E=u(v[1],-x[1]),k=u(b[0],-x[0]),A=u(b[1],-x[1]),L=f(c(p,k),c(E,A));return L[L.length-1]>=0}function d(v,x,b,p){var E=s(x,b,p);if(E===0){var k=l(s(v,x,b)),A=l(s(v,x,p));if(k===A){if(k===0){var L=h(v,x,b),_=h(v,x,p);return L===_?0:L?1:-1}return 0}else{if(A===0)return k>0||h(v,x,p)?-1:1;if(k===0)return A>0||h(v,x,b)?1:-1}return l(A-k)}var C=s(v,x,b);if(C>0)return E>0&&s(v,x,p)>0?1:-1;if(C<0)return E>0||s(v,x,p)>0?1:-1;var M=s(v,x,p);return M>0||h(v,x,b)?1:-1}},8572:function(i){\"use strict\";i.exports=function(o){return o<0?-1:o>0?1:0}},8507:function(i){i.exports=s;var a=Math.min;function o(l,u){return l-u}function s(l,u){var c=l.length,f=l.length-u.length;if(f)return f;switch(c){case 0:return 0;case 1:return l[0]-u[0];case 2:return l[0]+l[1]-u[0]-u[1]||a(l[0],l[1])-a(u[0],u[1]);case 3:var h=l[0]+l[1],d=u[0]+u[1];if(f=h+l[2]-(d+u[2]),f)return f;var v=a(l[0],l[1]),x=a(u[0],u[1]);return a(v,l[2])-a(x,u[2])||a(v+l[2],h)-a(x+u[2],d);case 4:var b=l[0],p=l[1],E=l[2],k=l[3],A=u[0],L=u[1],_=u[2],C=u[3];return b+p+E+k-(A+L+_+C)||a(b,p,E,k)-a(A,L,_,C,A)||a(b+p,b+E,b+k,p+E,p+k,E+k)-a(A+L,A+_,A+C,L+_,L+C,_+C)||a(b+p+E,b+p+k,b+E+k,p+E+k)-a(A+L+_,A+L+C,A+_+C,L+_+C);default:for(var M=l.slice().sort(o),g=u.slice().sort(o),P=0;P<c;++P)if(f=M[P]-g[P],f)return f;return 0}}},3788:function(i,a,o){\"use strict\";var s=o(8507),l=o(2419);i.exports=u;function u(c,f){return s(c,f)||l(c)-l(f)}},7352:function(i,a,o){\"use strict\";var s=o(5721),l=o(4750),u=o(2690);i.exports=c;function c(f){var h=f.length;if(h===0)return[];if(h===1)return[[0]];var d=f[0].length;return d===0?[]:d===1?s(f):d===2?l(f):u(f,d)}},5721:function(i){\"use strict\";i.exports=a;function a(o){for(var s=0,l=0,u=1;u<o.length;++u)o[u][0]<o[s][0]&&(s=u),o[u][0]>o[l][0]&&(l=u);return s<l?[[s],[l]]:s>l?[[l],[s]]:[[s]]}},4750:function(i,a,o){\"use strict\";i.exports=l;var s=o(3090);function l(u){var c=s(u),f=c.length;if(f<=2)return[];for(var h=new Array(f),d=c[f-1],v=0;v<f;++v){var x=c[v];h[v]=[d,x],d=x}return h}},2690:function(i,a,o){\"use strict\";i.exports=f;var s=o(8954),l=o(3952);function u(h,d){for(var v=h.length,x=new Array(v),b=0;b<d.length;++b)x[b]=h[d[b]];for(var p=d.length,b=0;b<v;++b)d.indexOf(b)<0&&(x[p++]=h[b]);return x}function c(h,d){for(var v=h.length,x=d.length,b=0;b<v;++b)for(var p=h[b],E=0;E<p.length;++E){var k=p[E];if(k<x)p[E]=d[k];else{k=k-x;for(var A=0;A<x;++A)k>=d[A]&&(k+=1);p[E]=k}}return h}function f(h,d){try{return s(h,!0)}catch(p){var v=l(h);if(v.length<=d)return[];var x=u(h,v),b=s(x,!0);return c(b,v)}}},4769:function(i){\"use strict\";function a(s,l,u,c,f,h){var d=6*f*f-6*f,v=3*f*f-4*f+1,x=-6*f*f+6*f,b=3*f*f-2*f;if(s.length){h||(h=new Array(s.length));for(var p=s.length-1;p>=0;--p)h[p]=d*s[p]+v*l[p]+x*u[p]+b*c[p];return h}return d*s+v*l+x*u[p]+b*c}function o(s,l,u,c,f,h){var d=f-1,v=f*f,x=d*d,b=(1+2*f)*x,p=f*x,E=v*(3-2*f),k=v*d;if(s.length){h||(h=new Array(s.length));for(var A=s.length-1;A>=0;--A)h[A]=b*s[A]+p*l[A]+E*u[A]+k*c[A];return h}return b*s+p*l+E*u+k*c}i.exports=o,i.exports.derivative=a},7642:function(i,a,o){\"use strict\";var s=o(8954),l=o(1682);i.exports=h;function u(d,v){this.point=d,this.index=v}function c(d,v){for(var x=d.point,b=v.point,p=x.length,E=0;E<p;++E){var k=b[E]-x[E];if(k)return k}return 0}function f(d,v,x){if(d===1)return x?[[-1,0]]:[];var b=v.map(function(L,_){return[L[0],_]});b.sort(function(L,_){return L[0]-_[0]});for(var p=new Array(d-1),E=1;E<d;++E){var k=b[E-1],A=b[E];p[E-1]=[k[1],A[1]]}return x&&p.push([-1,p[0][1]],[p[d-1][1],-1]),p}function h(d,v){var x=d.length;if(x===0)return[];var b=d[0].length;if(b<1)return[];if(b===1)return f(x,d,v);for(var p=new Array(x),E=1,k=0;k<x;++k){for(var A=d[k],L=new Array(b+1),_=0,C=0;C<b;++C){var M=A[C];L[C]=M,_+=M*M}L[b]=_,p[k]=new u(L,k),E=Math.max(_,E)}l(p,c),x=p.length;for(var g=new Array(x+b+1),P=new Array(x+b+1),T=(b+1)*(b+1)*E,F=new Array(b+1),k=0;k<=b;++k)F[k]=0;F[b]=T,g[0]=F.slice(),P[0]=-1;for(var k=0;k<=b;++k){var L=F.slice();L[k]=1,g[k+1]=L,P[k+1]=-1}for(var k=0;k<x;++k){var q=p[k];g[k+b+1]=q.point,P[k+b+1]=q.index}var V=s(g,!1);if(v?V=V.filter(function(H){for(var X=0,G=0;G<=b;++G){var N=P[H[G]];if(N<0&&++X>=2)return!1;H[G]=N}return!0}):V=V.filter(function(H){for(var X=0;X<=b;++X){var G=P[H[X]];if(G<0)return!1;H[X]=G}return!0}),b&1)for(var k=0;k<V.length;++k){var q=V[k],L=q[0];q[0]=q[1],q[1]=L}return V}},2361:function(i){var a=!1;if(typeof Float64Array!=\"undefined\"){var o=new Float64Array(1),s=new Uint32Array(o.buffer);if(o[0]=1,a=!0,s[1]===1072693248){let E=function(L,_){return s[0]=L,s[1]=_,o[0]},k=function(L){return o[0]=L,s[0]},A=function(L){return o[0]=L,s[1]};var u=E,c=k,f=A;i.exports=function(_){return o[0]=_,[s[0],s[1]]},i.exports.pack=E,i.exports.lo=k,i.exports.hi=A}else if(s[0]===1072693248){let E=function(L,_){return s[1]=L,s[0]=_,o[0]},k=function(L){return o[0]=L,s[1]},A=function(L){return o[0]=L,s[0]};var h=E,d=k,v=A;i.exports=function(_){return o[0]=_,[s[1],s[0]]},i.exports.pack=E,i.exports.lo=k,i.exports.hi=A}else a=!1}if(!a){let E=function(L,_){return l.writeUInt32LE(L,0,!0),l.writeUInt32LE(_,4,!0),l.readDoubleLE(0,!0)},k=function(L){return l.writeDoubleLE(L,0,!0),l.readUInt32LE(0,!0)},A=function(L){return l.writeDoubleLE(L,0,!0),l.readUInt32LE(4,!0)};var x=E,b=k,p=A,l=new Buffer(8);i.exports=function(_){return l.writeDoubleLE(_,0,!0),[l.readUInt32LE(0,!0),l.readUInt32LE(4,!0)]},i.exports.pack=E,i.exports.lo=k,i.exports.hi=A}i.exports.sign=function(E){return i.exports.hi(E)>>>31},i.exports.exponent=function(E){var k=i.exports.hi(E);return(k<<1>>>21)-1023},i.exports.fraction=function(E){var k=i.exports.lo(E),A=i.exports.hi(E),L=A&(1<<20)-1;return A&2146435072&&(L+=1048576),[k,L]},i.exports.denormalized=function(E){var k=i.exports.hi(E);return!(k&2146435072)}},1338:function(i){\"use strict\";function a(l,u,c){var f=l[c]|0;if(f<=0)return[];var h=new Array(f),d;if(c===l.length-1)for(d=0;d<f;++d)h[d]=u;else for(d=0;d<f;++d)h[d]=a(l,u,c+1);return h}function o(l,u){var c,f;for(c=new Array(l),f=0;f<l;++f)c[f]=u;return c}function s(l,u){switch(typeof u==\"undefined\"&&(u=0),typeof l){case\"number\":if(l>0)return o(l|0,u);break;case\"object\":if(typeof l.length==\"number\")return a(l,u,0);break}return[]}i.exports=s},3134:function(i,a,o){\"use strict\";i.exports=l;var s=o(1682);function l(u,c){var f=u.length;if(typeof c!=\"number\"){c=0;for(var h=0;h<f;++h){var d=u[h];c=Math.max(c,d[0],d[1])}c=(c|0)+1}c=c|0;for(var v=new Array(c),h=0;h<c;++h)v[h]=[];for(var h=0;h<f;++h){var d=u[h];v[d[0]].push(d[1]),v[d[1]].push(d[0])}for(var x=0;x<c;++x)s(v[x],function(b,p){return b-p});return v}},5033:function(i){\"use strict\";i.exports=a;function a(o,s,l){var u=s||0,c=l||1;return[[o[12]+o[0],o[13]+o[1],o[14]+o[2],o[15]+o[3]],[o[12]-o[0],o[13]-o[1],o[14]-o[2],o[15]-o[3]],[o[12]+o[4],o[13]+o[5],o[14]+o[6],o[15]+o[7]],[o[12]-o[4],o[13]-o[5],o[14]-o[6],o[15]-o[7]],[u*o[12]+o[8],u*o[13]+o[9],u*o[14]+o[10],u*o[15]+o[11]],[c*o[12]-o[8],c*o[13]-o[9],c*o[14]-o[10],c*o[15]-o[11]]]}},9215:function(i,a,o){\"use strict\";i.exports=d;var s=o(4769),l=o(2478);function u(v,x,b){return Math.min(x,Math.max(v,b))}function c(v,x,b){this.dimension=v.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var p=0;p<this.dimension;++p)this.bounds[0][p]=-1/0,this.bounds[1][p]=1/0;this._state=v.slice().reverse(),this._velocity=x.slice().reverse(),this._time=[b],this._scratch=[v.slice(),v.slice(),v.slice(),v.slice(),v.slice()]}var f=c.prototype;f.flush=function(v){var x=l.gt(this._time,v)-1;x<=0||(this._time.splice(0,x),this._state.splice(0,x*this.dimension),this._velocity.splice(0,x*this.dimension))},f.curve=function(v){var x=this._time,b=x.length,p=l.le(x,v),E=this._scratch[0],k=this._state,A=this._velocity,L=this.dimension,_=this.bounds;if(p<0)for(var C=L-1,M=0;M<L;++M,--C)E[M]=k[C];else if(p>=b-1)for(var C=k.length-1,g=v-x[b-1],M=0;M<L;++M,--C)E[M]=k[C]+g*A[C];else{for(var C=L*(p+1)-1,P=x[p],T=x[p+1],F=T-P||1,q=this._scratch[1],V=this._scratch[2],H=this._scratch[3],X=this._scratch[4],G=!0,M=0;M<L;++M,--C)q[M]=k[C],H[M]=A[C]*F,V[M]=k[C+L],X[M]=A[C+L]*F,G=G&&q[M]===V[M]&&H[M]===X[M]&&H[M]===0;if(G)for(var M=0;M<L;++M)E[M]=q[M];else s(q,H,V,X,(v-P)/F,E)}for(var N=_[0],W=_[1],M=0;M<L;++M)E[M]=u(N[M],W[M],E[M]);return E},f.dcurve=function(v){var x=this._time,b=x.length,p=l.le(x,v),E=this._scratch[0],k=this._state,A=this._velocity,L=this.dimension;if(p>=b-1)for(var _=k.length-1,C=v-x[b-1],M=0;M<L;++M,--_)E[M]=A[_];else{for(var _=L*(p+1)-1,g=x[p],P=x[p+1],T=P-g||1,F=this._scratch[1],q=this._scratch[2],V=this._scratch[3],H=this._scratch[4],X=!0,M=0;M<L;++M,--_)F[M]=k[_],V[M]=A[_]*T,q[M]=k[_+L],H[M]=A[_+L]*T,X=X&&F[M]===q[M]&&V[M]===H[M]&&V[M]===0;if(X)for(var M=0;M<L;++M)E[M]=0;else{s.derivative(F,V,q,H,(v-g)/T,E);for(var M=0;M<L;++M)E[M]/=T}}return E},f.lastT=function(){var v=this._time;return v[v.length-1]},f.stable=function(){for(var v=this._velocity,x=v.length,b=this.dimension-1;b>=0;--b)if(v[--x])return!1;return!0},f.jump=function(v){var x=this.lastT(),b=this.dimension;if(!(v<x||arguments.length!==b+1)){var p=this._state,E=this._velocity,k=p.length-this.dimension,A=this.bounds,L=A[0],_=A[1];this._time.push(x,v);for(var C=0;C<2;++C)for(var M=0;M<b;++M)p.push(p[k++]),E.push(0);this._time.push(v);for(var M=b;M>0;--M)p.push(u(L[M-1],_[M-1],arguments[M])),E.push(0)}},f.push=function(v){var x=this.lastT(),b=this.dimension;if(!(v<x||arguments.length!==b+1)){var p=this._state,E=this._velocity,k=p.length-this.dimension,A=v-x,L=this.bounds,_=L[0],C=L[1],M=A>1e-6?1/A:0;this._time.push(v);for(var g=b;g>0;--g){var P=u(_[g-1],C[g-1],arguments[g]);p.push(P),E.push((P-p[k++])*M)}}},f.set=function(v){var x=this.dimension;if(!(v<this.lastT()||arguments.length!==x+1)){var b=this._state,p=this._velocity,E=this.bounds,k=E[0],A=E[1];this._time.push(v);for(var L=x;L>0;--L)b.push(u(k[L-1],A[L-1],arguments[L])),p.push(0)}},f.move=function(v){var x=this.lastT(),b=this.dimension;if(!(v<=x||arguments.length!==b+1)){var p=this._state,E=this._velocity,k=p.length-this.dimension,A=this.bounds,L=A[0],_=A[1],C=v-x,M=C>1e-6?1/C:0;this._time.push(v);for(var g=b;g>0;--g){var P=arguments[g];p.push(u(L[g-1],_[g-1],p[k++]+P)),E.push(P*M)}}},f.idle=function(v){var x=this.lastT();if(!(v<x)){var b=this.dimension,p=this._state,E=this._velocity,k=p.length-b,A=this.bounds,L=A[0],_=A[1],C=v-x;this._time.push(v);for(var M=b-1;M>=0;--M)p.push(u(L[M],_[M],p[k]+C*E[k])),E.push(0),k+=1}};function h(v){for(var x=new Array(v),b=0;b<v;++b)x[b]=0;return x}function d(v,x,b){switch(arguments.length){case 0:return new c([0],[0],0);case 1:if(typeof v==\"number\"){var p=h(v);return new c(p,p,0)}else return new c(v,h(v.length),0);case 2:if(typeof x==\"number\"){var p=h(v.length);return new c(v,p,+x)}else b=0;case 3:if(v.length!==x.length)throw new Error(\"state and velocity lengths must match\");return new c(v,x,b)}}},3840:function(i){\"use strict\";i.exports=L;var a=0,o=1;function s(_,C,M,g,P,T){this._color=_,this.key=C,this.value=M,this.left=g,this.right=P,this._count=T}function l(_){return new s(_._color,_.key,_.value,_.left,_.right,_._count)}function u(_,C){return new s(_,C.key,C.value,C.left,C.right,C._count)}function c(_){_._count=1+(_.left?_.left._count:0)+(_.right?_.right._count:0)}function f(_,C){this._compare=_,this.root=C}var h=f.prototype;Object.defineProperty(h,\"keys\",{get:function(){var _=[];return this.forEach(function(C,M){_.push(C)}),_}}),Object.defineProperty(h,\"values\",{get:function(){var _=[];return this.forEach(function(C,M){_.push(M)}),_}}),Object.defineProperty(h,\"length\",{get:function(){return this.root?this.root._count:0}}),h.insert=function(_,C){for(var M=this._compare,g=this.root,P=[],T=[];g;){var F=M(_,g.key);P.push(g),T.push(F),F<=0?g=g.left:g=g.right}P.push(new s(a,_,C,null,null,1));for(var q=P.length-2;q>=0;--q){var g=P[q];T[q]<=0?P[q]=new s(g._color,g.key,g.value,P[q+1],g.right,g._count+1):P[q]=new s(g._color,g.key,g.value,g.left,P[q+1],g._count+1)}for(var q=P.length-1;q>1;--q){var V=P[q-1],g=P[q];if(V._color===o||g._color===o)break;var H=P[q-2];if(H.left===V)if(V.left===g){var X=H.right;if(X&&X._color===a)V._color=o,H.right=u(o,X),H._color=a,q-=1;else{if(H._color=a,H.left=V.right,V._color=o,V.right=H,P[q-2]=V,P[q-1]=g,c(H),c(V),q>=3){var G=P[q-3];G.left===H?G.left=V:G.right=V}break}}else{var X=H.right;if(X&&X._color===a)V._color=o,H.right=u(o,X),H._color=a,q-=1;else{if(V.right=g.left,H._color=a,H.left=g.right,g._color=o,g.left=V,g.right=H,P[q-2]=g,P[q-1]=V,c(H),c(V),c(g),q>=3){var G=P[q-3];G.left===H?G.left=g:G.right=g}break}}else if(V.right===g){var X=H.left;if(X&&X._color===a)V._color=o,H.left=u(o,X),H._color=a,q-=1;else{if(H._color=a,H.right=V.left,V._color=o,V.left=H,P[q-2]=V,P[q-1]=g,c(H),c(V),q>=3){var G=P[q-3];G.right===H?G.right=V:G.left=V}break}}else{var X=H.left;if(X&&X._color===a)V._color=o,H.left=u(o,X),H._color=a,q-=1;else{if(V.left=g.right,H._color=a,H.right=g.left,g._color=o,g.right=V,g.left=H,P[q-2]=g,P[q-1]=V,c(H),c(V),c(g),q>=3){var G=P[q-3];G.right===H?G.right=g:G.left=g}break}}}return P[0]._color=o,new f(M,P[0])};function d(_,C){if(C.left){var M=d(_,C.left);if(M)return M}var M=_(C.key,C.value);if(M)return M;if(C.right)return d(_,C.right)}function v(_,C,M,g){var P=C(_,g.key);if(P<=0){if(g.left){var T=v(_,C,M,g.left);if(T)return T}var T=M(g.key,g.value);if(T)return T}if(g.right)return v(_,C,M,g.right)}function x(_,C,M,g,P){var T=M(_,P.key),F=M(C,P.key),q;if(T<=0&&(P.left&&(q=x(_,C,M,g,P.left),q)||F>0&&(q=g(P.key,P.value),q)))return q;if(F>0&&P.right)return x(_,C,M,g,P.right)}h.forEach=function(C,M,g){if(this.root)switch(arguments.length){case 1:return d(C,this.root);case 2:return v(M,this._compare,C,this.root);case 3:return this._compare(M,g)>=0?void 0:x(M,g,this._compare,C,this.root)}},Object.defineProperty(h,\"begin\",{get:function(){for(var _=[],C=this.root;C;)_.push(C),C=C.left;return new b(this,_)}}),Object.defineProperty(h,\"end\",{get:function(){for(var _=[],C=this.root;C;)_.push(C),C=C.right;return new b(this,_)}}),h.at=function(_){if(_<0)return new b(this,[]);for(var C=this.root,M=[];;){if(M.push(C),C.left){if(_<C.left._count){C=C.left;continue}_-=C.left._count}if(!_)return new b(this,M);if(_-=1,C.right){if(_>=C.right._count)break;C=C.right}else break}return new b(this,[])},h.ge=function(_){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(_,M.key);g.push(M),T<=0&&(P=g.length),T<=0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.gt=function(_){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(_,M.key);g.push(M),T<0&&(P=g.length),T<0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.lt=function(_){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(_,M.key);g.push(M),T>0&&(P=g.length),T<=0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.le=function(_){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(_,M.key);g.push(M),T>=0&&(P=g.length),T<0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.find=function(_){for(var C=this._compare,M=this.root,g=[];M;){var P=C(_,M.key);if(g.push(M),P===0)return new b(this,g);P<=0?M=M.left:M=M.right}return new b(this,[])},h.remove=function(_){var C=this.find(_);return C?C.remove():this},h.get=function(_){for(var C=this._compare,M=this.root;M;){var g=C(_,M.key);if(g===0)return M.value;g<=0?M=M.left:M=M.right}};function b(_,C){this.tree=_,this._stack=C}var p=b.prototype;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 b(this.tree,this._stack.slice())};function E(_,C){_.key=C.key,_.value=C.value,_.left=C.left,_.right=C.right,_._color=C._color,_._count=C._count}function k(_){for(var C,M,g,P,T=_.length-1;T>=0;--T){if(C=_[T],T===0){C._color=o;return}if(M=_[T-1],M.left===C){if(g=M.right,g.right&&g.right._color===a){if(g=M.right=l(g),P=g.right=l(g.right),M.right=g.left,g.left=M,g.right=P,g._color=M._color,C._color=o,M._color=o,P._color=o,c(M),c(g),T>1){var F=_[T-2];F.left===M?F.left=g:F.right=g}_[T-1]=g;return}else if(g.left&&g.left._color===a){if(g=M.right=l(g),P=g.left=l(g.left),M.right=P.left,g.left=P.right,P.left=M,P.right=g,P._color=M._color,M._color=o,g._color=o,C._color=o,c(M),c(g),c(P),T>1){var F=_[T-2];F.left===M?F.left=P:F.right=P}_[T-1]=P;return}if(g._color===o)if(M._color===a){M._color=o,M.right=u(a,g);return}else{M.right=u(a,g);continue}else{if(g=l(g),M.right=g.left,g.left=M,g._color=M._color,M._color=a,c(M),c(g),T>1){var F=_[T-2];F.left===M?F.left=g:F.right=g}_[T-1]=g,_[T]=M,T+1<_.length?_[T+1]=C:_.push(C),T=T+2}}else{if(g=M.left,g.left&&g.left._color===a){if(g=M.left=l(g),P=g.left=l(g.left),M.left=g.right,g.right=M,g.left=P,g._color=M._color,C._color=o,M._color=o,P._color=o,c(M),c(g),T>1){var F=_[T-2];F.right===M?F.right=g:F.left=g}_[T-1]=g;return}else if(g.right&&g.right._color===a){if(g=M.left=l(g),P=g.right=l(g.right),M.left=P.right,g.right=P.left,P.right=M,P.left=g,P._color=M._color,M._color=o,g._color=o,C._color=o,c(M),c(g),c(P),T>1){var F=_[T-2];F.right===M?F.right=P:F.left=P}_[T-1]=P;return}if(g._color===o)if(M._color===a){M._color=o,M.left=u(a,g);return}else{M.left=u(a,g);continue}else{if(g=l(g),M.left=g.right,g.right=M,g._color=M._color,M._color=a,c(M),c(g),T>1){var F=_[T-2];F.right===M?F.right=g:F.left=g}_[T-1]=g,_[T]=M,T+1<_.length?_[T+1]=C:_.push(C),T=T+2}}}}p.remove=function(){var _=this._stack;if(_.length===0)return this.tree;var C=new Array(_.length),M=_[_.length-1];C[C.length-1]=new s(M._color,M.key,M.value,M.left,M.right,M._count);for(var g=_.length-2;g>=0;--g){var M=_[g];M.left===_[g+1]?C[g]=new s(M._color,M.key,M.value,C[g+1],M.right,M._count):C[g]=new s(M._color,M.key,M.value,M.left,C[g+1],M._count)}if(M=C[C.length-1],M.left&&M.right){var P=C.length;for(M=M.left;M.right;)C.push(M),M=M.right;var T=C[P-1];C.push(new s(M._color,T.key,T.value,M.left,M.right,M._count)),C[P-1].key=M.key,C[P-1].value=M.value;for(var g=C.length-2;g>=P;--g)M=C[g],C[g]=new s(M._color,M.key,M.value,M.left,C[g+1],M._count);C[P-1].left=C[P]}if(M=C[C.length-1],M._color===a){var F=C[C.length-2];F.left===M?F.left=null:F.right===M&&(F.right=null),C.pop();for(var g=0;g<C.length;++g)C[g]._count--;return new f(this.tree._compare,C[0])}else if(M.left||M.right){M.left?E(M,M.left):M.right&&E(M,M.right),M._color=o;for(var g=0;g<C.length-1;++g)C[g]._count--;return new f(this.tree._compare,C[0])}else{if(C.length===1)return new f(this.tree._compare,null);for(var g=0;g<C.length;++g)C[g]._count--;var q=C[C.length-2];k(C),q.left===M?q.left=null:q.right=null}return new f(this.tree._compare,C[0])},Object.defineProperty(p,\"key\",{get:function(){if(this._stack.length>0)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 _=0,C=this._stack;if(C.length===0){var M=this.tree.root;return M?M._count:0}else C[C.length-1].left&&(_=C[C.length-1].left._count);for(var g=C.length-2;g>=0;--g)C[g+1]===C[g].right&&(++_,C[g].left&&(_+=C[g].left._count));return _},enumerable:!0}),p.next=function(){var _=this._stack;if(_.length!==0){var C=_[_.length-1];if(C.right)for(C=C.right;C;)_.push(C),C=C.left;else for(_.pop();_.length>0&&_[_.length-1].right===C;)C=_[_.length-1],_.pop()}},Object.defineProperty(p,\"hasNext\",{get:function(){var _=this._stack;if(_.length===0)return!1;if(_[_.length-1].right)return!0;for(var C=_.length-1;C>0;--C)if(_[C-1].left===_[C])return!0;return!1}}),p.update=function(_){var C=this._stack;if(C.length===0)throw new Error(\"Can't update empty node!\");var M=new Array(C.length),g=C[C.length-1];M[M.length-1]=new s(g._color,g.key,_,g.left,g.right,g._count);for(var P=C.length-2;P>=0;--P)g=C[P],g.left===C[P+1]?M[P]=new s(g._color,g.key,g.value,M[P+1],g.right,g._count):M[P]=new s(g._color,g.key,g.value,g.left,M[P+1],g._count);return new f(this.tree._compare,M[0])},p.prev=function(){var _=this._stack;if(_.length!==0){var C=_[_.length-1];if(C.left)for(C=C.left;C;)_.push(C),C=C.right;else for(_.pop();_.length>0&&_[_.length-1].left===C;)C=_[_.length-1],_.pop()}},Object.defineProperty(p,\"hasPrev\",{get:function(){var _=this._stack;if(_.length===0)return!1;if(_[_.length-1].left)return!0;for(var C=_.length-1;C>0;--C)if(_[C-1].right===_[C])return!0;return!1}});function A(_,C){return _<C?-1:_>C?1:0}function L(_){return new f(_||A,null)}},3837:function(i,a,o){\"use strict\";i.exports=q;var s=o(4935),l=o(501),u=o(5304),c=o(6429),f=o(6444),h=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),d=ArrayBuffer,v=DataView;function x(V){return d.isView(V)&&!(V instanceof v)}function b(V){return Array.isArray(V)||x(V)}function p(V,H){return V[0]=H[0],V[1]=H[1],V[2]=H[2],V}function E(V){this.gl=V,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=u(V)}var k=E.prototype;k.update=function(V){V=V||{};function H(Ae,ze,Ce){if(Ce in V){var me=V[Ce],Re=this[Ce],ce;(Ae?b(me)&&b(me[0]):b(me))?this[Ce]=ce=[ze(me[0]),ze(me[1]),ze(me[2])]:this[Ce]=ce=[ze(me),ze(me),ze(me)];for(var Ge=0;Ge<3;++Ge)if(ce[Ge]!==Re[Ge])return!0}return!1}var X=H.bind(this,!1,Number),G=H.bind(this,!1,Boolean),N=H.bind(this,!1,String),W=H.bind(this,!0,function(Ae){if(b(Ae)){if(Ae.length===3)return[+Ae[0],+Ae[1],+Ae[2],1];if(Ae.length===4)return[+Ae[0],+Ae[1],+Ae[2],+Ae[3]]}return[0,0,0,1]}),re,ae=!1,_e=!1;if(\"bounds\"in V)for(var Me=V.bounds,ke=0;ke<2;++ke)for(var ge=0;ge<3;++ge)Me[ke][ge]!==this.bounds[ke][ge]&&(_e=!0),this.bounds[ke][ge]=Me[ke][ge];if(\"ticks\"in V){re=V.ticks,ae=!0,this.autoTicks=!1;for(var ke=0;ke<3;++ke)this.tickSpacing[ke]=0}else X(\"tickSpacing\")&&(this.autoTicks=!0,_e=!0);if(this._firstInit&&(\"ticks\"in V||\"tickSpacing\"in V||(this.autoTicks=!0),_e=!0,ae=!0,this._firstInit=!1),_e&&this.autoTicks&&(re=f.create(this.bounds,this.tickSpacing),ae=!0),ae){for(var ke=0;ke<3;++ke)re[ke].sort(function(ze,Ce){return ze.x-Ce.x});f.equal(re,this.ticks)?ae=!1:this.ticks=re}G(\"tickEnable\"),N(\"tickFont\")&&(ae=!0),N(\"tickFontStyle\")&&(ae=!0),N(\"tickFontWeight\")&&(ae=!0),N(\"tickFontVariant\")&&(ae=!0),X(\"tickSize\"),X(\"tickAngle\"),X(\"tickPad\"),W(\"tickColor\");var ie=N(\"labels\");N(\"labelFont\")&&(ie=!0),N(\"labelFontStyle\")&&(ie=!0),N(\"labelFontWeight\")&&(ie=!0),N(\"labelFontVariant\")&&(ie=!0),G(\"labelEnable\"),X(\"labelSize\"),X(\"labelPad\"),W(\"labelColor\"),G(\"lineEnable\"),G(\"lineMirror\"),X(\"lineWidth\"),W(\"lineColor\"),G(\"lineTickEnable\"),G(\"lineTickMirror\"),X(\"lineTickLength\"),X(\"lineTickWidth\"),W(\"lineTickColor\"),G(\"gridEnable\"),X(\"gridWidth\"),W(\"gridColor\"),G(\"zeroEnable\"),W(\"zeroLineColor\"),X(\"zeroLineWidth\"),G(\"backgroundEnable\"),W(\"backgroundColor\");var Te=[{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]}],Ee=[{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&&(ie||ae)&&this._text.update(this.bounds,this.labels,Te,this.ticks,Ee):this._text=s(this.gl,this.bounds,this.labels,Te,this.ticks,Ee),this._lines&&ae&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=l(this.gl,this.bounds,this.ticks))};function A(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}var L=[new A,new A,new A];function _(V,H,X,G,N){for(var W=V.primalOffset,re=V.primalMinor,ae=V.mirrorOffset,_e=V.mirrorMinor,Me=G[H],ke=0;ke<3;++ke)if(H!==ke){var ge=W,ie=ae,Te=re,Ee=_e;Me&1<<ke&&(ge=ae,ie=W,Te=_e,Ee=re),ge[ke]=X[0][ke],ie[ke]=X[1][ke],N[ke]>0?(Te[ke]=-1,Ee[ke]=0):(Te[ke]=0,Ee[ke]=1)}}var C=[0,0,0],M={model:h,view:h,projection:h,_ortho:!1};k.isOpaque=function(){return!0},k.isTransparent=function(){return!1},k.drawTransparent=function(V){};var g=0,P=[0,0,0],T=[0,0,0],F=[0,0,0];k.draw=function(V){V=V||M;for(var Ce=this.gl,H=V.model||h,X=V.view||h,G=V.projection||h,N=this.bounds,W=V._ortho||!1,re=c(H,X,G,N,W),ae=re.cubeEdges,_e=re.axis,Me=X[12],ke=X[13],ge=X[14],ie=X[15],Te=W?2:1,Ee=Te*this.pixelRatio*(G[3]*Me+G[7]*ke+G[11]*ge+G[15]*ie)/Ce.drawingBufferHeight,Ae=0;Ae<3;++Ae)this.lastCubeProps.cubeEdges[Ae]=ae[Ae],this.lastCubeProps.axis[Ae]=_e[Ae];for(var ze=L,Ae=0;Ae<3;++Ae)_(L[Ae],Ae,this.bounds,ae,_e);for(var Ce=this.gl,me=C,Ae=0;Ae<3;++Ae)this.backgroundEnable[Ae]?me[Ae]=_e[Ae]:me[Ae]=0;this._background.draw(H,X,G,N,me,this.backgroundColor),this._lines.bind(H,X,G,this);for(var Ae=0;Ae<3;++Ae){var Re=[0,0,0];_e[Ae]>0?Re[Ae]=N[1][Ae]:Re[Ae]=N[0][Ae];for(var ce=0;ce<2;++ce){var Ge=(Ae+1+ce)%3,nt=(Ae+1+(ce^1))%3;this.gridEnable[Ge]&&this._lines.drawGrid(Ge,nt,this.bounds,Re,this.gridColor[Ge],this.gridWidth[Ge]*this.pixelRatio)}for(var ce=0;ce<2;++ce){var Ge=(Ae+1+ce)%3,nt=(Ae+1+(ce^1))%3;this.zeroEnable[nt]&&Math.min(N[0][nt],N[1][nt])<=0&&Math.max(N[0][nt],N[1][nt])>=0&&this._lines.drawZero(Ge,nt,this.bounds,Re,this.zeroLineColor[nt],this.zeroLineWidth[nt]*this.pixelRatio)}}for(var Ae=0;Ae<3;++Ae){this.lineEnable[Ae]&&this._lines.drawAxisLine(Ae,this.bounds,ze[Ae].primalOffset,this.lineColor[Ae],this.lineWidth[Ae]*this.pixelRatio),this.lineMirror[Ae]&&this._lines.drawAxisLine(Ae,this.bounds,ze[Ae].mirrorOffset,this.lineColor[Ae],this.lineWidth[Ae]*this.pixelRatio);for(var ct=p(P,ze[Ae].primalMinor),qt=p(T,ze[Ae].mirrorMinor),rt=this.lineTickLength,ce=0;ce<3;++ce){var ot=Ee/H[5*ce];ct[ce]*=rt[ce]*ot,qt[ce]*=rt[ce]*ot}this.lineTickEnable[Ae]&&this._lines.drawAxisTicks(Ae,ze[Ae].primalOffset,ct,this.lineTickColor[Ae],this.lineTickWidth[Ae]*this.pixelRatio),this.lineTickMirror[Ae]&&this._lines.drawAxisTicks(Ae,ze[Ae].mirrorOffset,qt,this.lineTickColor[Ae],this.lineTickWidth[Ae]*this.pixelRatio)}this._lines.unbind(),this._text.bind(H,X,G,this.pixelRatio);var Rt,kt=.5,Ct,Yt;function xr(St){Yt=[0,0,0],Yt[St]=1}function er(St,Et,dt){var Ht=(St+1)%3,$t=(St+2)%3,fr=Et[Ht],_r=Et[$t],Br=dt[Ht],Or=dt[$t];if(fr>0&&Or>0){xr(Ht);return}else if(fr>0&&Or<0){xr(Ht);return}else if(fr<0&&Or>0){xr(Ht);return}else if(fr<0&&Or<0){xr(Ht);return}else if(_r>0&&Br>0){xr($t);return}else if(_r>0&&Br<0){xr($t);return}else if(_r<0&&Br>0){xr($t);return}else if(_r<0&&Br<0){xr($t);return}}for(var Ae=0;Ae<3;++Ae){for(var Ke=ze[Ae].primalMinor,xt=ze[Ae].mirrorMinor,bt=p(F,ze[Ae].primalOffset),ce=0;ce<3;++ce)this.lineTickEnable[Ae]&&(bt[ce]+=Ee*Ke[ce]*Math.max(this.lineTickLength[ce],0)/H[5*ce]);var Lt=[0,0,0];if(Lt[Ae]=1,this.tickEnable[Ae]){this.tickAngle[Ae]===-3600?(this.tickAngle[Ae]=0,this.tickAlign[Ae]=\"auto\"):this.tickAlign[Ae]=-1,Ct=1,Rt=[this.tickAlign[Ae],kt,Ct],Rt[0]===\"auto\"?Rt[0]=g:Rt[0]=parseInt(\"\"+Rt[0]),Yt=[0,0,0],er(Ae,Ke,xt);for(var ce=0;ce<3;++ce)bt[ce]+=Ee*Ke[ce]*this.tickPad[ce]/H[5*ce];this._text.drawTicks(Ae,this.tickSize[Ae],this.tickAngle[Ae],bt,this.tickColor[Ae],Lt,Yt,Rt)}if(this.labelEnable[Ae]){Ct=0,Yt=[0,0,0],this.labels[Ae].length>4&&(xr(Ae),Ct=1),Rt=[this.labelAlign[Ae],kt,Ct],Rt[0]===\"auto\"?Rt[0]=g:Rt[0]=parseInt(\"\"+Rt[0]);for(var ce=0;ce<3;++ce)bt[ce]+=Ee*Ke[ce]*this.labelPad[ce]/H[5*ce];bt[Ae]+=.5*(N[0][Ae]+N[1][Ae]),this._text.drawLabel(Ae,this.labelSize[Ae],this.labelAngle[Ae],bt,this.labelColor[Ae],[0,0,0],Yt,Rt)}}this._text.unbind()},k.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null};function q(V,H){var X=new E(V);return X.update(H),X}},5304:function(i,a,o){\"use strict\";i.exports=h;var s=o(2762),l=o(8116),u=o(1879).bg;function c(d,v,x,b){this.gl=d,this.buffer=v,this.vao=x,this.shader=b}var f=c.prototype;f.draw=function(d,v,x,b,p,E){for(var k=!1,A=0;A<3;++A)k=k||p[A];if(k){var L=this.gl;L.enable(L.POLYGON_OFFSET_FILL),L.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:d,view:v,projection:x,bounds:b,enable:p,colors:E},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),L.disable(L.POLYGON_OFFSET_FILL)}},f.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};function h(d){for(var v=[],x=[],b=0,p=0;p<3;++p)for(var E=(p+1)%3,k=(p+2)%3,A=[0,0,0],L=[0,0,0],_=-1;_<=1;_+=2){x.push(b,b+2,b+1,b+1,b+2,b+3),A[p]=_,L[p]=_;for(var C=-1;C<=1;C+=2){A[E]=C;for(var M=-1;M<=1;M+=2)A[k]=M,v.push(A[0],A[1],A[2],L[0],L[1],L[2]),b+=1}var g=E;E=k,k=g}var P=s(d,new Float32Array(v)),T=s(d,new Uint16Array(x),d.ELEMENT_ARRAY_BUFFER),F=l(d,[{buffer:P,type:d.FLOAT,size:3,offset:0,stride:24},{buffer:P,type:d.FLOAT,size:3,offset:12,stride:24}],T),q=u(d);return q.attributes.position.location=0,q.attributes.normal.location=1,new c(d,P,F,q)}},6429:function(i,a,o){\"use strict\";i.exports=_;var s=o(8828),l=o(6760),u=o(5202),c=o(3250),f=new Array(16),h=new Array(8),d=new Array(8),v=new Array(3),x=[0,0,0];(function(){for(var C=0;C<8;++C)h[C]=[1,1,1,1],d[C]=[1,1,1]})();function b(C,M,g){for(var P=0;P<4;++P){C[P]=g[12+P];for(var T=0;T<3;++T)C[P]+=M[T]*g[4*T+P]}}var p=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function E(C){for(var M=0;M<p.length;++M)if(C=u.positive(C,p[M]),C.length<3)return 0;for(var g=C[0],P=g[0]/g[3],T=g[1]/g[3],F=0,M=1;M+1<C.length;++M){var q=C[M],V=C[M+1],H=q[0]/q[3],X=q[1]/q[3],G=V[0]/V[3],N=V[1]/V[3],W=H-P,re=X-T,ae=G-P,_e=N-T;F+=Math.abs(W*_e-re*ae)}return F}var k=[1,1,1],A=[0,0,0],L={cubeEdges:k,axis:A};function _(C,M,g,P,T){l(f,M,C),l(f,g,f);for(var F=0,q=0;q<2;++q){v[2]=P[q][2];for(var V=0;V<2;++V){v[1]=P[V][1];for(var H=0;H<2;++H)v[0]=P[H][0],b(h[F],v,f),F+=1}}for(var X=-1,q=0;q<8;++q){for(var G=h[q][3],N=0;N<3;++N)d[q][N]=h[q][N]/G;T&&(d[q][2]*=-1),G<0&&(X<0||d[q][2]<d[X][2])&&(X=q)}if(X<0){X=0;for(var W=0;W<3;++W){for(var re=(W+2)%3,ae=(W+1)%3,_e=-1,Me=-1,ke=0;ke<2;++ke){var ge=ke<<W,ie=ge+(ke<<re)+(1-ke<<ae),Te=ge+(1-ke<<re)+(ke<<ae);c(d[ge],d[ie],d[Te],x)<0||(ke?_e=1:Me=1)}if(_e<0||Me<0){Me>_e&&(X|=1<<W);continue}for(var ke=0;ke<2;++ke){var ge=ke<<W,ie=ge+(ke<<re)+(1-ke<<ae),Te=ge+(1-ke<<re)+(ke<<ae),Ee=E([h[ge],h[ie],h[Te],h[ge+(1<<re)+(1<<ae)]]);ke?_e=Ee:Me=Ee}if(Me>_e){X|=1<<W;continue}}}for(var Ae=7^X,ze=-1,q=0;q<8;++q)q===X||q===Ae||(ze<0||d[ze][1]>d[q][1])&&(ze=q);for(var Ce=-1,q=0;q<3;++q){var me=ze^1<<q;if(!(me===X||me===Ae)){Ce<0&&(Ce=me);var ae=d[me];ae[0]<d[Ce][0]&&(Ce=me)}}for(var Re=-1,q=0;q<3;++q){var me=ze^1<<q;if(!(me===X||me===Ae||me===Ce)){Re<0&&(Re=me);var ae=d[me];ae[0]>d[Re][0]&&(Re=me)}}var ce=k;ce[0]=ce[1]=ce[2]=0,ce[s.log2(Ce^ze)]=ze&Ce,ce[s.log2(ze^Re)]=zeℜvar Ge=Re^7;Ge===X||Ge===Ae?(Ge=Ce^7,ce[s.log2(Re^Ge)]=Ge&Re):ce[s.log2(Ce^Ge)]=Ge&Ce;for(var nt=A,ct=X,W=0;W<3;++W)ct&1<<W?nt[W]=-1:nt[W]=1;return L}},501:function(i,a,o){\"use strict\";i.exports=k;var s=o(2762),l=o(8116),u=o(1879).n,c=[0,0,0],f=[0,0,0],h=[0,0,0],d=[0,0,0],v=[1,1];function x(A){return A[0]=A[1]=A[2]=0,A}function b(A,L){return A[0]=L[0],A[1]=L[1],A[2]=L[2],A}function p(A,L,_,C,M,g,P,T){this.gl=A,this.vertBuffer=L,this.vao=_,this.shader=C,this.tickCount=M,this.tickOffset=g,this.gridCount=P,this.gridOffset=T}var E=p.prototype;E.bind=function(A,L,_){this.shader.bind(),this.shader.uniforms.model=A,this.shader.uniforms.view=L,this.shader.uniforms.projection=_,v[0]=this.gl.drawingBufferWidth,v[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=v,this.vao.bind()},E.unbind=function(){this.vao.unbind()},E.drawAxisLine=function(A,L,_,C,M){var g=x(f);this.shader.uniforms.majorAxis=f,g[A]=L[1][A]-L[0][A],this.shader.uniforms.minorAxis=g;var P=b(d,_);P[A]+=L[0][A],this.shader.uniforms.offset=P,this.shader.uniforms.lineWidth=M,this.shader.uniforms.color=C;var T=x(h);T[(A+2)%3]=1,this.shader.uniforms.screenAxis=T,this.vao.draw(this.gl.TRIANGLES,6);var T=x(h);T[(A+1)%3]=1,this.shader.uniforms.screenAxis=T,this.vao.draw(this.gl.TRIANGLES,6)},E.drawAxisTicks=function(A,L,_,C,M){if(this.tickCount[A]){var g=x(c);g[A]=1,this.shader.uniforms.majorAxis=g,this.shader.uniforms.offset=L,this.shader.uniforms.minorAxis=_,this.shader.uniforms.color=C,this.shader.uniforms.lineWidth=M;var P=x(h);P[A]=1,this.shader.uniforms.screenAxis=P,this.vao.draw(this.gl.TRIANGLES,this.tickCount[A],this.tickOffset[A])}},E.drawGrid=function(A,L,_,C,M,g){if(this.gridCount[A]){var P=x(f);P[L]=_[1][L]-_[0][L],this.shader.uniforms.minorAxis=P;var T=b(d,C);T[L]+=_[0][L],this.shader.uniforms.offset=T;var F=x(c);F[A]=1,this.shader.uniforms.majorAxis=F;var q=x(h);q[A]=1,this.shader.uniforms.screenAxis=q,this.shader.uniforms.lineWidth=g,this.shader.uniforms.color=M,this.vao.draw(this.gl.TRIANGLES,this.gridCount[A],this.gridOffset[A])}},E.drawZero=function(A,L,_,C,M,g){var P=x(f);this.shader.uniforms.majorAxis=P,P[A]=_[1][A]-_[0][A],this.shader.uniforms.minorAxis=P;var T=b(d,C);T[A]+=_[0][A],this.shader.uniforms.offset=T;var F=x(h);F[L]=1,this.shader.uniforms.screenAxis=F,this.shader.uniforms.lineWidth=g,this.shader.uniforms.color=M,this.vao.draw(this.gl.TRIANGLES,6)},E.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()};function k(A,L,_){var C=[],M=[0,0,0],g=[0,0,0],P=[0,0,0],T=[0,0,0];C.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var F=0;F<3;++F){for(var H=C.length/3|0,q=0;q<_[F].length;++q){var V=+_[F][q].x;C.push(V,0,1,V,1,1,V,0,-1,V,0,-1,V,1,1,V,1,-1)}var G=C.length/3|0;M[F]=H,g[F]=G-H;for(var H=C.length/3|0,X=0;X<_[F].length;++X){var V=+_[F][X].x;C.push(V,0,1,V,1,1,V,0,-1,V,0,-1,V,1,1,V,1,-1)}var G=C.length/3|0;P[F]=H,T[F]=G-H}var N=s(A,new Float32Array(C)),W=l(A,[{buffer:N,type:A.FLOAT,size:3,stride:0,offset:0}]),re=u(A);return re.attributes.position.location=0,new p(A,N,W,re,g,M,T,P)}},1879:function(i,a,o){\"use strict\";var s=o(3236),l=o(9405),u=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 offset, majorAxis, minorAxis, screenAxis;\n", - "uniform float lineWidth;\n", - "uniform vec2 screenShape;\n", - "\n", - "vec3 project(vec3 p) {\n", - " vec4 pp = projection * (view * (model * vec4(p, 1.0)));\n", - " return pp.xyz / max(pp.w, 0.0001);\n", - "}\n", - "\n", - "void main() {\n", - " vec3 major = position.x * majorAxis;\n", - " vec3 minor = position.y * minorAxis;\n", - "\n", - " vec3 vPosition = major + minor + offset;\n", - " vec3 pPosition = project(vPosition);\n", - " vec3 offset = project(vPosition + screenAxis * position.z);\n", - "\n", - " vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;\n", - "\n", - " gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);\n", - "}\n", - "`]),c=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform vec4 color;\n", - "void main() {\n", - " gl_FragColor = color;\n", - "}`]);a.n=function(x){return l(x,u,c,null,[{name:\"position\",type:\"vec3\"}])};var f=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 offset, axis, alignDir, alignOpt;\n", - "uniform float scale, angle, pixelScale;\n", - "uniform vec2 resolution;\n", - "\n", - "vec3 project(vec3 p) {\n", - " vec4 pp = projection * (view * (model * vec4(p, 1.0)));\n", - " return pp.xyz / max(pp.w, 0.0001);\n", - "}\n", - "\n", - "float computeViewAngle(vec3 a, vec3 b) {\n", - " vec3 A = project(a);\n", - " vec3 B = project(b);\n", - "\n", - " return atan(\n", - " (B.y - A.y) * resolution.y,\n", - " (B.x - A.x) * resolution.x\n", - " );\n", - "}\n", - "\n", - "const float PI = 3.141592;\n", - "const float TWO_PI = 2.0 * PI;\n", - "const float HALF_PI = 0.5 * PI;\n", - "const float ONE_AND_HALF_PI = 1.5 * PI;\n", - "\n", - "int option = int(floor(alignOpt.x + 0.001));\n", - "float hv_ratio = alignOpt.y;\n", - "bool enableAlign = (alignOpt.z != 0.0);\n", - "\n", - "float mod_angle(float a) {\n", - " return mod(a, PI);\n", - "}\n", - "\n", - "float positive_angle(float a) {\n", - " return mod_angle((a < 0.0) ?\n", - " a + TWO_PI :\n", - " a\n", - " );\n", - "}\n", - "\n", - "float look_upwards(float a) {\n", - " float b = positive_angle(a);\n", - " return ((b > HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n", - " b - PI :\n", - " b;\n", - "}\n", - "\n", - "float 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", - "\n", - "float roundTo(float a, float b) {\n", - " return float(b * floor((a + 0.5 * b) / b));\n", - "}\n", - "\n", - "float 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", - "\n", - "float 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", - "\n", - "bool isAxisTitle = (axis.x == 0.0) &&\n", - " (axis.y == 0.0) &&\n", - " (axis.z == 0.0);\n", - "\n", - "void 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", - "`]),h=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform vec4 color;\n", - "void main() {\n", - " gl_FragColor = color;\n", - "}`]);a.Q=function(x){return l(x,f,h,null,[{name:\"position\",type:\"vec3\"}])};var d=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "attribute vec3 normal;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 enable;\n", - "uniform vec3 bounds[2];\n", - "\n", - "varying vec3 colorChannel;\n", - "\n", - "void 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", - "`]),v=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform vec4 colors[3];\n", - "\n", - "varying vec3 colorChannel;\n", - "\n", - "void main() {\n", - " gl_FragColor = colorChannel.x * colors[0] +\n", - " colorChannel.y * colors[1] +\n", - " colorChannel.z * colors[2];\n", - "}`]);a.bg=function(x){return l(x,d,v,null,[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}])}},4935:function(i,a,o){\"use strict\";i.exports=E;var s=o(2762),l=o(8116),u=o(4359),c=o(1879).Q,f=window||process.global||{},h=f.__TEXT_CACHE||{};f.__TEXT_CACHE={};var d=3;function v(k,A,L,_){this.gl=k,this.shader=A,this.buffer=L,this.vao=_,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var x=v.prototype,b=[0,0];x.bind=function(k,A,L,_){this.vao.bind(),this.shader.bind();var C=this.shader.uniforms;C.model=k,C.view=A,C.projection=L,C.pixelScale=_,b[0]=this.gl.drawingBufferWidth,b[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=b},x.unbind=function(){this.vao.unbind()},x.update=function(k,A,L,_,C){var M=[];function g(W,re,ae,_e,Me,ke){var ge=[ae.style,ae.weight,ae.variant,ae.family].join(\"_\"),ie=h[ge];ie||(ie=h[ge]={});var Te=ie[re];Te||(Te=ie[re]=p(re,{triangles:!0,font:ae.family,fontStyle:ae.style,fontWeight:ae.weight,fontVariant:ae.variant,textAlign:\"center\",textBaseline:\"middle\",lineSpacing:Me,styletags:ke}));for(var Ee=(_e||12)/12,Ae=Te.positions,ze=Te.cells,Ce=0,me=ze.length;Ce<me;++Ce)for(var Re=ze[Ce],ce=2;ce>=0;--ce){var Ge=Ae[Re[ce]];M.push(Ee*Ge[0],-Ee*Ge[1],W)}}for(var P=[0,0,0],T=[0,0,0],F=[0,0,0],q=[0,0,0],V=1.25,H={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},X=0;X<3;++X){F[X]=M.length/d|0,g(.5*(k[0][X]+k[1][X]),A[X],L[X],12,V,H),q[X]=(M.length/d|0)-F[X],P[X]=M.length/d|0;for(var G=0;G<_[X].length;++G)if(_[X][G].text){var N={family:_[X][G].font||C[X].family,style:C[X].fontStyle||C[X].style,weight:C[X].fontWeight||C[X].weight,variant:C[X].fontVariant||C[X].variant};g(_[X][G].x,_[X][G].text,N,_[X][G].fontSize||12,V,H)}T[X]=(M.length/d|0)-P[X]}this.buffer.update(M),this.tickOffset=P,this.tickCount=T,this.labelOffset=F,this.labelCount=q},x.drawTicks=function(k,A,L,_,C,M,g,P){this.tickCount[k]&&(this.shader.uniforms.axis=M,this.shader.uniforms.color=C,this.shader.uniforms.angle=L,this.shader.uniforms.scale=A,this.shader.uniforms.offset=_,this.shader.uniforms.alignDir=g,this.shader.uniforms.alignOpt=P,this.vao.draw(this.gl.TRIANGLES,this.tickCount[k],this.tickOffset[k]))},x.drawLabel=function(k,A,L,_,C,M,g,P){this.labelCount[k]&&(this.shader.uniforms.axis=M,this.shader.uniforms.color=C,this.shader.uniforms.angle=L,this.shader.uniforms.scale=A,this.shader.uniforms.offset=_,this.shader.uniforms.alignDir=g,this.shader.uniforms.alignOpt=P,this.vao.draw(this.gl.TRIANGLES,this.labelCount[k],this.labelOffset[k]))},x.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()};function p(k,A){try{return u(k,A)}catch(L){return console.warn('error vectorizing text:\"'+k+'\" error:',L),{cells:[],positions:[]}}}function E(k,A,L,_,C,M){var g=s(k),P=l(k,[{buffer:g,size:3}]),T=c(k);T.attributes.position.location=0;var F=new v(k,T,g,P);return F.update(A,L,_,C,M),F}},6444:function(i,a){\"use strict\";a.create=s,a.equal=l;function o(u,c){var f=u+\"\",h=f.indexOf(\".\"),d=0;h>=0&&(d=f.length-h-1);var v=Math.pow(10,d),x=Math.round(u*c*v),b=x+\"\";if(b.indexOf(\"e\")>=0)return b;var p=x/v,E=x%v;x<0?(p=-Math.ceil(p)|0,E=-E|0):(p=Math.floor(p)|0,E=E|0);var k=\"\"+p;if(x<0&&(k=\"-\"+k),d){for(var A=\"\"+E;A.length<d;)A=\"0\"+A;return k+\".\"+A}else return k}function s(u,c){for(var f=[],h=0;h<3;++h){for(var d=[],v=.5*(u[0][h]+u[1][h]),x=0;x*c[h]<=u[1][h];++x)d.push({x:x*c[h],text:o(c[h],x)});for(var x=-1;x*c[h]>=u[0][h];--x)d.push({x:x*c[h],text:o(c[h],x)});f.push(d)}return f}function l(u,c){for(var f=0;f<3;++f){if(u[f].length!==c[f].length)return!1;for(var h=0;h<u[f].length;++h){var d=u[f][h],v=c[f][h];if(d.x!==v.x||d.text!==v.text||d.font!==v.font||d.fontColor!==v.fontColor||d.fontSize!==v.fontSize||d.dx!==v.dx||d.dy!==v.dy)return!1}}return!0}},5445:function(i,a,o){\"use strict\";i.exports=L;var s=o(5033),l=o(5202),u=o(6429),c=o(6760),f=o(5665),h=o(5352),d=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),v=new Float32Array(16);function x(_,C,M){this.lo=_,this.hi=C,this.pixelsPerDataUnit=M}var b=[0,0,0,1],p=[0,0,0,1];function E(_,C,M,g,P){for(var T=0;T<3;++T){for(var F=b,q=p,V=0;V<3;++V)q[V]=F[V]=M[V];q[3]=F[3]=1,q[T]+=1,h(q,q,C),q[3]<0&&(_[T]=1/0),F[T]-=1,h(F,F,C),F[3]<0&&(_[T]=1/0);var H=(F[0]/F[3]-q[0]/q[3])*g,X=(F[1]/F[3]-q[1]/q[3])*P;_[T]=.25*Math.sqrt(H*H+X*X)}return _}var k=[new x(1/0,-1/0,1/0),new x(1/0,-1/0,1/0),new x(1/0,-1/0,1/0)],A=[0,0,0];function L(_,C,M,g,X){var T=C.model||d,F=C.view||d,q=C.projection||d,V=C._ortho||!1,H=_.bounds,X=X||u(T,F,q,H,V),G=X.axis;c(v,F,T),c(v,q,v);for(var N=k,W=0;W<3;++W)N[W].lo=1/0,N[W].hi=-1/0,N[W].pixelsPerDataUnit=1/0;var re=s(f(v,v));f(v,v);for(var ae=0;ae<3;++ae){var _e=(ae+1)%3,Me=(ae+2)%3,ke=A;e:for(var W=0;W<2;++W){var ge=[];if(G[ae]<0!=!!W){ke[ae]=H[W][ae];for(var ie=0;ie<2;++ie){ke[_e]=H[ie^W][_e];for(var Te=0;Te<2;++Te)ke[Me]=H[Te^ie^W][Me],ge.push(ke.slice())}for(var Ee=V?5:4,ie=Ee;ie===Ee;++ie){if(ge.length===0)continue e;ge=l.positive(ge,re[ie])}for(var ie=0;ie<ge.length;++ie)for(var Me=ge[ie],Ae=E(A,v,Me,M,g),Te=0;Te<3;++Te)N[Te].lo=Math.min(N[Te].lo,Me[Te]),N[Te].hi=Math.max(N[Te].hi,Me[Te]),Te!==ae&&(N[Te].pixelsPerDataUnit=Math.min(N[Te].pixelsPerDataUnit,Math.abs(Ae[Te])))}}}return N}},2762:function(i,a,o){\"use strict\";var s=o(1888),l=o(5298),u=o(9618),c=[\"uint8\",\"uint8_clamped\",\"uint16\",\"uint32\",\"int8\",\"int16\",\"int32\",\"float32\"];function f(p,E,k,A,L){this.gl=p,this.type=E,this.handle=k,this.length=A,this.usage=L}var h=f.prototype;h.bind=function(){this.gl.bindBuffer(this.type,this.handle)},h.unbind=function(){this.gl.bindBuffer(this.type,null)},h.dispose=function(){this.gl.deleteBuffer(this.handle)};function d(p,E,k,A,L,_){var C=L.length*L.BYTES_PER_ELEMENT;if(_<0)return p.bufferData(E,L,A),C;if(C+_>k)throw new Error(\"gl-buffer: If resizing buffer, must not specify offset\");return p.bufferSubData(E,_,L),k}function v(p,E){for(var k=s.malloc(p.length,E),A=p.length,L=0;L<A;++L)k[L]=p[L];return k}function x(p,E){for(var k=1,A=E.length-1;A>=0;--A){if(E[A]!==k)return!1;k*=p[A]}return!0}h.update=function(p,E){if(typeof E!=\"number\"&&(E=-1),this.bind(),typeof p==\"object\"&&typeof p.shape!=\"undefined\"){var k=p.dtype;if(c.indexOf(k)<0&&(k=\"float32\"),this.type===this.gl.ELEMENT_ARRAY_BUFFER){var A=gl.getExtension(\"OES_element_index_uint\");A&&k!==\"uint16\"?k=\"uint32\":k=\"uint16\"}if(k===p.dtype&&x(p.shape,p.stride))p.offset===0&&p.data.length===p.shape[0]?this.length=d(this.gl,this.type,this.length,this.usage,p.data,E):this.length=d(this.gl,this.type,this.length,this.usage,p.data.subarray(p.offset,p.shape[0]),E);else{var L=s.malloc(p.size,k),_=u(L,p.shape);l.assign(_,p),E<0?this.length=d(this.gl,this.type,this.length,this.usage,L,E):this.length=d(this.gl,this.type,this.length,this.usage,L.subarray(0,p.size),E),s.free(L)}}else if(Array.isArray(p)){var C;this.type===this.gl.ELEMENT_ARRAY_BUFFER?C=v(p,\"uint16\"):C=v(p,\"float32\"),E<0?this.length=d(this.gl,this.type,this.length,this.usage,C,E):this.length=d(this.gl,this.type,this.length,this.usage,C.subarray(0,p.length),E),s.free(C)}else if(typeof p==\"object\"&&typeof p.length==\"number\")this.length=d(this.gl,this.type,this.length,this.usage,p,E);else if(typeof p==\"number\"||p===void 0){if(E>=0)throw new Error(\"gl-buffer: Cannot specify offset when resizing buffer\");p=p|0,p<=0&&(p=1),this.gl.bufferData(this.type,p|0,this.usage),this.length=p}else throw new Error(\"gl-buffer: Invalid data type\")};function b(p,E,k,A){if(k=k||p.ARRAY_BUFFER,A=A||p.DYNAMIC_DRAW,k!==p.ARRAY_BUFFER&&k!==p.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(A!==p.DYNAMIC_DRAW&&A!==p.STATIC_DRAW&&A!==p.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 L=p.createBuffer(),_=new f(p,k,L,0,A);return _.update(E),_}i.exports=b},6405:function(i,a,o){\"use strict\";var s=o(2931);i.exports=function(u,c){var f=u.positions,h=u.vectors,d={positions:[],vertexIntensity:[],vertexIntensityBounds:u.vertexIntensityBounds,vectors:[],cells:[],coneOffset:u.coneOffset,colormap:u.colormap};if(u.positions.length===0)return c&&(c[0]=[0,0,0],c[1]=[0,0,0]),d;for(var v=0,x=1/0,b=-1/0,p=1/0,E=-1/0,k=1/0,A=-1/0,L=null,_=null,C=[],M=1/0,g=!1,P=u.coneSizemode===\"raw\",T=0;T<f.length;T++){var F=f[T];x=Math.min(F[0],x),b=Math.max(F[0],b),p=Math.min(F[1],p),E=Math.max(F[1],E),k=Math.min(F[2],k),A=Math.max(F[2],A);var q=h[T];if(s.length(q)>v&&(v=s.length(q)),T&&!P){var V=2*s.distance(L,F)/(s.length(_)+s.length(q));V?(M=Math.min(M,V),g=!1):g=!0}g||(L=F,_=q),C.push(q)}var H=[x,p,k],X=[b,E,A];c&&(c[0]=H,c[1]=X),v===0&&(v=1);var G=1/v;isFinite(M)||(M=1),d.vectorScale=M;var N=u.coneSize||(P?1:.5);u.absoluteConeSize&&(N=u.absoluteConeSize*G),d.coneScale=N;for(var T=0,W=0;T<f.length;T++)for(var F=f[T],re=F[0],ae=F[1],_e=F[2],Me=C[T],ke=s.length(Me)*G,ge=0,ie=8;ge<ie;ge++){d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.vectors.push(Me),d.vectors.push(Me),d.vectors.push(Me),d.vectors.push(Me),d.vectors.push(Me),d.vectors.push(Me),d.vertexIntensity.push(ke,ke,ke),d.vertexIntensity.push(ke,ke,ke);var Te=d.positions.length;d.cells.push([Te-6,Te-5,Te-4],[Te-3,Te-2,Te-1])}return d};var l=o(614);i.exports.createMesh=o(9060),i.exports.createConeMesh=function(u,c){return i.exports.createMesh(u,c,{shaders:l,traceType:\"cone\"})}},9060:function(i,a,o){\"use strict\";var s=o(9405),l=o(2762),u=o(8116),c=o(7766),f=o(6760),h=o(7608),d=o(9618),v=o(6729),x=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function b(C,M,g,P,T,F,q,V,H,X,G){this.gl=C,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=M,this.dirty=!0,this.triShader=g,this.pickShader=P,this.trianglePositions=T,this.triangleVectors=F,this.triangleColors=V,this.triangleUVs=H,this.triangleIds=q,this.triangleVAO=X,this.triangleCount=0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.traceType=G,this.tubeScale=1,this.coneScale=2,this.vectorScale=1,this.coneOffset=.25,this._model=x,this._view=x,this._projection=x,this._resolution=[1,1]}var p=b.prototype;p.isOpaque=function(){return this.opacity>=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(C){this.pickId=C};function E(C){for(var M=v({colormap:C,nshades:256,format:\"rgba\"}),g=new Uint8Array(256*4),P=0;P<256;++P){for(var T=M[P],F=0;F<3;++F)g[4*P+F]=T[F];g[4*P+3]=T[3]*255}return d(g,[256,256,4],[4,0,1])}function k(C){for(var M=C.length,g=new Array(M),P=0;P<M;++P)g[P]=C[P][2];return g}p.update=function(C){C=C||{};var M=this.gl;this.dirty=!0,\"lightPosition\"in C&&(this.lightPosition=C.lightPosition),\"opacity\"in C&&(this.opacity=C.opacity),\"ambient\"in C&&(this.ambientLight=C.ambient),\"diffuse\"in C&&(this.diffuseLight=C.diffuse),\"specular\"in C&&(this.specularLight=C.specular),\"roughness\"in C&&(this.roughness=C.roughness),\"fresnel\"in C&&(this.fresnel=C.fresnel),C.tubeScale!==void 0&&(this.tubeScale=C.tubeScale),C.vectorScale!==void 0&&(this.vectorScale=C.vectorScale),C.coneScale!==void 0&&(this.coneScale=C.coneScale),C.coneOffset!==void 0&&(this.coneOffset=C.coneOffset),C.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=M.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=M.LINEAR,this.texture.setPixels(E(C.colormap)),this.texture.generateMipmap());var g=C.cells,P=C.positions,T=C.vectors;if(!(!P||!g||!T)){var F=[],q=[],V=[],H=[],X=[];this.cells=g,this.positions=P,this.vectors=T;var G=C.meshColor||[1,1,1,1],N=C.vertexIntensity,W=1/0,re=-1/0;if(N)if(C.vertexIntensityBounds)W=+C.vertexIntensityBounds[0],re=+C.vertexIntensityBounds[1];else for(var ae=0;ae<N.length;++ae){var _e=N[ae];W=Math.min(W,_e),re=Math.max(re,_e)}else for(var ae=0;ae<P.length;++ae){var _e=P[ae][2];W=Math.min(W,_e),re=Math.max(re,_e)}N?this.intensity=N:this.intensity=k(P),this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(var ae=0;ae<P.length;++ae)for(var Me=P[ae],ke=0;ke<3;++ke)isNaN(Me[ke])||!isFinite(Me[ke])||(this.bounds[0][ke]=Math.min(this.bounds[0][ke],Me[ke]),this.bounds[1][ke]=Math.max(this.bounds[1][ke],Me[ke]));var ge=0;e:for(var ae=0;ae<g.length;++ae){var ie=g[ae];switch(ie.length){case 3:for(var ke=0;ke<3;++ke)for(var Te=ie[ke],Me=P[Te],Ee=0;Ee<3;++Ee)if(isNaN(Me[Ee])||!isFinite(Me[Ee]))continue e;for(var ke=0;ke<3;++ke){var Te=ie[2-ke],Me=P[Te];F.push(Me[0],Me[1],Me[2],Me[3]);var Ae=T[Te];q.push(Ae[0],Ae[1],Ae[2],Ae[3]||0);var ze=G;ze.length===3?V.push(ze[0],ze[1],ze[2],1):V.push(ze[0],ze[1],ze[2],ze[3]);var Ce;N?Ce=[(N[Te]-W)/(re-W),0]:Ce=[(Me[2]-W)/(re-W),0],H.push(Ce[0],Ce[1]),X.push(ae)}ge+=1;break;default:break}}this.triangleCount=ge,this.trianglePositions.update(F),this.triangleVectors.update(q),this.triangleColors.update(V),this.triangleUVs.update(H),this.triangleIds.update(new Uint32Array(X))}},p.drawTransparent=p.draw=function(C){C=C||{};for(var M=this.gl,g=C.model||x,P=C.view||x,T=C.projection||x,F=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],q=0;q<3;++q)F[0][q]=Math.max(F[0][q],this.clipBounds[0][q]),F[1][q]=Math.min(F[1][q],this.clipBounds[1][q]);var V={model:g,view:P,projection:T,inverseModel:x.slice(),clipBounds:F,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,texture:0};V.inverseModel=h(V.inverseModel,V.model),M.disable(M.CULL_FACE),this.texture.bind(0);var H=new Array(16);f(H,V.view,V.model),f(H,V.projection,H),h(H,H);for(var q=0;q<3;++q)V.eyePosition[q]=H[12+q]/H[15];for(var X=H[15],q=0;q<3;++q)X+=this.lightPosition[q]*H[4*q+3];for(var q=0;q<3;++q){for(var G=H[12+q],N=0;N<3;++N)G+=H[4*N+q]*this.lightPosition[N];V.lightPosition[q]=G/X}if(this.triangleCount>0){var W=this.triShader;W.bind(),W.uniforms=V,this.triangleVAO.bind(),M.drawArrays(M.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}},p.drawPick=function(C){C=C||{};for(var M=this.gl,g=C.model||x,P=C.view||x,T=C.projection||x,F=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],q=0;q<3;++q)F[0][q]=Math.max(F[0][q],this.clipBounds[0][q]),F[1][q]=Math.min(F[1][q],this.clipBounds[1][q]);this._model=[].slice.call(g),this._view=[].slice.call(P),this._projection=[].slice.call(T),this._resolution=[M.drawingBufferWidth,M.drawingBufferHeight];var V={model:g,view:P,projection:T,clipBounds:F,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},H=this.pickShader;H.bind(),H.uniforms=V,this.triangleCount>0&&(this.triangleVAO.bind(),M.drawArrays(M.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind())},p.pick=function(C){if(!C||C.id!==this.pickId)return null;var M=C.value[0]+256*C.value[1]+65536*C.value[2],g=this.cells[M],P=this.positions[g[1]].slice(0,3),T={position:P,dataCoordinate:P,index:Math.floor(g[1]/48)};return this.traceType===\"cone\"?T.index=Math.floor(g[1]/48):this.traceType===\"streamtube\"&&(T.intensity=this.intensity[g[1]],T.velocity=this.vectors[g[1]].slice(0,3),T.divergence=this.vectors[g[1]][3],T.index=M),T},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()};function A(C,M){var g=s(C,M.meshShader.vertex,M.meshShader.fragment,null,M.meshShader.attributes);return g.attributes.position.location=0,g.attributes.color.location=2,g.attributes.uv.location=3,g.attributes.vector.location=4,g}function L(C,M){var g=s(C,M.pickShader.vertex,M.pickShader.fragment,null,M.pickShader.attributes);return g.attributes.position.location=0,g.attributes.id.location=1,g.attributes.vector.location=4,g}function _(C,M,g){var P=g.shaders;arguments.length===1&&(M=C,C=M.gl);var T=A(C,P),F=L(C,P),q=c(C,d(new Uint8Array([255,255,255,255]),[1,1,4]));q.generateMipmap(),q.minFilter=C.LINEAR_MIPMAP_LINEAR,q.magFilter=C.LINEAR;var V=l(C),H=l(C),X=l(C),G=l(C),N=l(C),W=u(C,[{buffer:V,type:C.FLOAT,size:4},{buffer:N,type:C.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:X,type:C.FLOAT,size:4},{buffer:G,type:C.FLOAT,size:2},{buffer:H,type:C.FLOAT,size:4}]),re=new b(C,q,T,F,V,H,N,X,G,W,g.traceType||\"cone\");return re.update(M),re}i.exports=_},614:function(i,a,o){var s=o(3236),l=s([`precision highp float;\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "vec3 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", - "//\n", - "vec3 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", - "\n", - "attribute vec3 vector;\n", - "attribute vec4 color, position;\n", - "attribute vec2 uv;\n", - "\n", - "uniform float vectorScale, coneScale, coneOffset;\n", - "uniform mat4 model, view, projection, inverseModel;\n", - "uniform vec3 eyePosition, lightPosition;\n", - "\n", - "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),u=s([`#extension GL_OES_standard_derivatives : enable\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "float 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", - "\n", - "float 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", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\n", - "uniform sampler2D texture;\n", - "\n", - "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),c=s([`precision highp float;\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "vec3 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", - "//\n", - "vec3 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", - "\n", - "attribute vec4 vector;\n", - "attribute vec4 position;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform float vectorScale, coneScale, coneOffset;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void 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", - "`]),f=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float pickId;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n", - "\n", - " gl_FragColor = vec4(pickId, f_id.xyz);\n", - "}`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec3\"}]},a.pickShader={vertex:c,fragment:f,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec3\"}]}},737:function(i){i.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(i,a,o){var s=o(737);i.exports=function(u){return s[u]}},9165:function(i,a,o){\"use strict\";i.exports=b;var s=o(2762),l=o(8116),u=o(3436),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(p,E,k,A){this.gl=p,this.shader=A,this.buffer=E,this.vao=k,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 h=f.prototype;h.isOpaque=function(){return!this.hasAlpha},h.isTransparent=function(){return this.hasAlpha},h.drawTransparent=h.draw=function(p){var E=this.gl,k=this.shader.uniforms;this.shader.bind();var A=k.view=p.view||c,L=k.projection=p.projection||c;k.model=p.model||c,k.clipBounds=this.clipBounds,k.opacity=this.opacity;var _=A[12],C=A[13],M=A[14],g=A[15],P=p._ortho||!1,T=P?2:1,F=T*this.pixelRatio*(L[3]*_+L[7]*C+L[11]*M+L[15]*g)/E.drawingBufferHeight;this.vao.bind();for(var q=0;q<3;++q)E.lineWidth(this.lineWidth[q]*this.pixelRatio),k.capSize=this.capSize[q]*F,this.lineCount[q]&&E.drawArrays(E.LINES,this.lineOffset[q],this.lineCount[q]);this.vao.unbind()};function d(p,E){for(var k=0;k<3;++k)p[0][k]=Math.min(p[0][k],E[k]),p[1][k]=Math.max(p[1][k],E[k])}var v=function(){for(var p=new Array(3),E=0;E<3;++E){for(var k=[],A=1;A<=2;++A)for(var L=-1;L<=1;L+=2){var _=(A+E)%3,C=[0,0,0];C[_]=L,k.push(C)}p[E]=k}return p}();function x(p,E,k,A){for(var L=v[A],_=0;_<L.length;++_){var C=L[_];p.push(E[0],E[1],E[2],k[0],k[1],k[2],k[3],C[0],C[1],C[2])}return L.length}h.update=function(p){p=p||{},\"lineWidth\"in p&&(this.lineWidth=p.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),\"capSize\"in p&&(this.capSize=p.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),this.hasAlpha=!1,\"opacity\"in p&&(this.opacity=+p.opacity,this.opacity<1&&(this.hasAlpha=!0));var E=p.color||[[0,0,0],[0,0,0],[0,0,0]],k=p.position,A=p.error;if(Array.isArray(E[0])||(E=[E,E,E]),k&&A){var L=[],_=k.length,C=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var M=0;M<3;++M){this.lineOffset[M]=C;e:for(var g=0;g<_;++g){for(var P=k[g],T=0;T<3;++T)if(isNaN(P[T])||!isFinite(P[T]))continue e;var F=A[g],q=E[M];if(Array.isArray(q[0])&&(q=E[g]),q.length===3?q=[q[0],q[1],q[2],1]:q.length===4&&(q=[q[0],q[1],q[2],q[3]],!this.hasAlpha&&q[3]<1&&(this.hasAlpha=!0)),!(isNaN(F[0][M])||isNaN(F[1][M]))){if(F[0][M]<0){var V=P.slice();V[M]+=F[0][M],L.push(P[0],P[1],P[2],q[0],q[1],q[2],q[3],0,0,0,V[0],V[1],V[2],q[0],q[1],q[2],q[3],0,0,0),d(this.bounds,V),C+=2+x(L,V,q,M)}if(F[1][M]>0){var V=P.slice();V[M]+=F[1][M],L.push(P[0],P[1],P[2],q[0],q[1],q[2],q[3],0,0,0,V[0],V[1],V[2],q[0],q[1],q[2],q[3],0,0,0),d(this.bounds,V),C+=2+x(L,V,q,M)}}}this.lineCount[M]=C-this.lineOffset[M]}this.buffer.update(L)}},h.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()};function b(p){var E=p.gl,k=s(E),A=l(E,[{buffer:k,type:E.FLOAT,size:3,offset:0,stride:40},{buffer:k,type:E.FLOAT,size:4,offset:12,stride:40},{buffer:k,type:E.FLOAT,size:3,offset:28,stride:40}]),L=u(E);L.attributes.position.location=0,L.attributes.color.location=1,L.attributes.offset.location=2;var _=new f(E,k,A,L);return _.update(p),_}},3436:function(i,a,o){\"use strict\";var s=o(3236),l=o(9405),u=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position, offset;\n", - "attribute vec4 color;\n", - "uniform mat4 model, view, projection;\n", - "uniform float capSize;\n", - "varying vec4 fragColor;\n", - "varying vec3 fragPosition;\n", - "\n", - "void 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", - "}`]),c=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float opacity;\n", - "varying vec3 fragPosition;\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - " if (\n", - " outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n", - " fragColor.a * opacity == 0.\n", - " ) discard;\n", - "\n", - " gl_FragColor = opacity * fragColor;\n", - "}`]);i.exports=function(f){return l(f,u,c,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"offset\",type:\"vec3\"}])}},2260:function(i,a,o){\"use strict\";var s=o(7766);i.exports=C;var l=null,u,c,f,h;function d(M){var g=M.getParameter(M.FRAMEBUFFER_BINDING),P=M.getParameter(M.RENDERBUFFER_BINDING),T=M.getParameter(M.TEXTURE_BINDING_2D);return[g,P,T]}function v(M,g){M.bindFramebuffer(M.FRAMEBUFFER,g[0]),M.bindRenderbuffer(M.RENDERBUFFER,g[1]),M.bindTexture(M.TEXTURE_2D,g[2])}function x(M,g){var P=M.getParameter(g.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(P+1);for(var T=0;T<=P;++T){for(var F=new Array(P),q=0;q<T;++q)F[q]=M.COLOR_ATTACHMENT0+q;for(var q=T;q<P;++q)F[q]=M.NONE;l[T]=F}}function b(M){switch(M){case u:throw new Error(\"gl-fbo: Framebuffer unsupported\");case c:throw new Error(\"gl-fbo: Framebuffer incomplete attachment\");case f:throw new Error(\"gl-fbo: Framebuffer incomplete dimensions\");case h:throw new Error(\"gl-fbo: Framebuffer incomplete missing attachment\");default:throw new Error(\"gl-fbo: Framebuffer failed for unspecified reason\")}}function p(M,g,P,T,F,q){if(!T)return null;var V=s(M,g,P,F,T);return V.magFilter=M.NEAREST,V.minFilter=M.NEAREST,V.mipSamples=1,V.bind(),M.framebufferTexture2D(M.FRAMEBUFFER,q,M.TEXTURE_2D,V.handle,0),V}function E(M,g,P,T,F){var q=M.createRenderbuffer();return M.bindRenderbuffer(M.RENDERBUFFER,q),M.renderbufferStorage(M.RENDERBUFFER,T,g,P),M.framebufferRenderbuffer(M.FRAMEBUFFER,F,M.RENDERBUFFER,q),q}function k(M){var g=d(M.gl),P=M.gl,T=M.handle=P.createFramebuffer(),F=M._shape[0],q=M._shape[1],V=M.color.length,H=M._ext,X=M._useStencil,G=M._useDepth,N=M._colorType;P.bindFramebuffer(P.FRAMEBUFFER,T);for(var W=0;W<V;++W)M.color[W]=p(P,F,q,N,P.RGBA,P.COLOR_ATTACHMENT0+W);V===0?(M._color_rb=E(P,F,q,P.RGBA4,P.COLOR_ATTACHMENT0),H&&H.drawBuffersWEBGL(l[0])):V>1&&H.drawBuffersWEBGL(l[V]);var re=P.getExtension(\"WEBGL_depth_texture\");re?X?M.depth=p(P,F,q,re.UNSIGNED_INT_24_8_WEBGL,P.DEPTH_STENCIL,P.DEPTH_STENCIL_ATTACHMENT):G&&(M.depth=p(P,F,q,P.UNSIGNED_SHORT,P.DEPTH_COMPONENT,P.DEPTH_ATTACHMENT)):G&&X?M._depth_rb=E(P,F,q,P.DEPTH_STENCIL,P.DEPTH_STENCIL_ATTACHMENT):G?M._depth_rb=E(P,F,q,P.DEPTH_COMPONENT16,P.DEPTH_ATTACHMENT):X&&(M._depth_rb=E(P,F,q,P.STENCIL_INDEX,P.STENCIL_ATTACHMENT));var ae=P.checkFramebufferStatus(P.FRAMEBUFFER);if(ae!==P.FRAMEBUFFER_COMPLETE){M._destroyed=!0,P.bindFramebuffer(P.FRAMEBUFFER,null),P.deleteFramebuffer(M.handle),M.handle=null,M.depth&&(M.depth.dispose(),M.depth=null),M._depth_rb&&(P.deleteRenderbuffer(M._depth_rb),M._depth_rb=null);for(var W=0;W<M.color.length;++W)M.color[W].dispose(),M.color[W]=null;M._color_rb&&(P.deleteRenderbuffer(M._color_rb),M._color_rb=null),v(P,g),b(ae)}v(P,g)}function A(M,g,P,T,F,q,V,H){this.gl=M,this._shape=[g|0,P|0],this._destroyed=!1,this._ext=H,this.color=new Array(F);for(var X=0;X<F;++X)this.color[X]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=T,this._useDepth=q,this._useStencil=V;var G=this,N=[g|0,P|0];Object.defineProperties(N,{0:{get:function(){return G._shape[0]},set:function(W){return G.width=W}},1:{get:function(){return G._shape[1]},set:function(W){return G.height=W}}}),this._shapeVector=N,k(this)}var L=A.prototype;function _(M,g,P){if(M._destroyed)throw new Error(\"gl-fbo: Can't resize destroyed FBO\");if(!(M._shape[0]===g&&M._shape[1]===P)){var T=M.gl,F=T.getParameter(T.MAX_RENDERBUFFER_SIZE);if(g<0||g>F||P<0||P>F)throw new Error(\"gl-fbo: Can't resize FBO, invalid dimensions\");M._shape[0]=g,M._shape[1]=P;for(var q=d(T),V=0;V<M.color.length;++V)M.color[V].shape=M._shape;M._color_rb&&(T.bindRenderbuffer(T.RENDERBUFFER,M._color_rb),T.renderbufferStorage(T.RENDERBUFFER,T.RGBA4,M._shape[0],M._shape[1])),M.depth&&(M.depth.shape=M._shape),M._depth_rb&&(T.bindRenderbuffer(T.RENDERBUFFER,M._depth_rb),M._useDepth&&M._useStencil?T.renderbufferStorage(T.RENDERBUFFER,T.DEPTH_STENCIL,M._shape[0],M._shape[1]):M._useDepth?T.renderbufferStorage(T.RENDERBUFFER,T.DEPTH_COMPONENT16,M._shape[0],M._shape[1]):M._useStencil&&T.renderbufferStorage(T.RENDERBUFFER,T.STENCIL_INDEX,M._shape[0],M._shape[1])),T.bindFramebuffer(T.FRAMEBUFFER,M.handle);var H=T.checkFramebufferStatus(T.FRAMEBUFFER);H!==T.FRAMEBUFFER_COMPLETE&&(M.dispose(),v(T,q),b(H)),v(T,q)}}Object.defineProperties(L,{shape:{get:function(){return this._destroyed?[0,0]:this._shapeVector},set:function(M){if(Array.isArray(M)||(M=[M|0,M|0]),M.length!==2)throw new Error(\"gl-fbo: Shape vector must be length 2\");var g=M[0]|0,P=M[1]|0;return _(this,g,P),[g,P]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(M){return M=M|0,_(this,M,this._shape[1]),M},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(M){return M=M|0,_(this,this._shape[0],M),M},enumerable:!1}}),L.bind=function(){if(!this._destroyed){var M=this.gl;M.bindFramebuffer(M.FRAMEBUFFER,this.handle),M.viewport(0,0,this._shape[0],this._shape[1])}},L.dispose=function(){if(!this._destroyed){this._destroyed=!0;var M=this.gl;M.deleteFramebuffer(this.handle),this.handle=null,this.depth&&(this.depth.dispose(),this.depth=null),this._depth_rb&&(M.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var g=0;g<this.color.length;++g)this.color[g].dispose(),this.color[g]=null;this._color_rb&&(M.deleteRenderbuffer(this._color_rb),this._color_rb=null)}};function C(M,g,P,T){u||(u=M.FRAMEBUFFER_UNSUPPORTED,c=M.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,f=M.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,h=M.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var F=M.getExtension(\"WEBGL_draw_buffers\");if(!l&&F&&x(M,F),Array.isArray(g)&&(T=P,P=g[1]|0,g=g[0]|0),typeof g!=\"number\")throw new Error(\"gl-fbo: Missing shape parameter\");var q=M.getParameter(M.MAX_RENDERBUFFER_SIZE);if(g<0||g>q||P<0||P>q)throw new Error(\"gl-fbo: Parameters are too large for FBO\");T=T||{};var V=1;if(\"color\"in T){if(V=Math.max(T.color|0,0),V<0)throw new Error(\"gl-fbo: Must specify a nonnegative number of colors\");if(V>1)if(F){if(V>M.getParameter(F.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\"gl-fbo: Context does not support \"+V+\" draw buffers\")}else throw new Error(\"gl-fbo: Multiple draw buffer extension not supported\")}var H=M.UNSIGNED_BYTE,X=M.getExtension(\"OES_texture_float\");if(T.float&&V>0){if(!X)throw new Error(\"gl-fbo: Context does not support floating point textures\");H=M.FLOAT}else T.preferFloat&&V>0&&X&&(H=M.FLOAT);var G=!0;\"depth\"in T&&(G=!!T.depth);var N=!1;return\"stencil\"in T&&(N=!!T.stencil),new A(M,g,P,H,V,G,N,F)}},2992:function(i,a,o){var s=o(3387).sprintf,l=o(5171),u=o(1848),c=o(1085);i.exports=f;function f(h,d,v){\"use strict\";var x=u(d)||\"of unknown name (see npm glsl-shader-name)\",b=\"unknown type\";v!==void 0&&(b=v===l.FRAGMENT_SHADER?\"fragment\":\"vertex\");for(var p=s(`Error compiling %s shader %s:\n", - "`,b,x),E=s(\"%s%s\",p,h),k=h.split(`\n", - "`),A={},L=0;L<k.length;L++){var _=k[L];if(!(_===\"\"||_===\"\\0\")){var C=parseInt(_.split(\":\")[2]);if(isNaN(C))throw new Error(s(\"Could not parse error: %s\",_));A[C]=_}}for(var M=c(d).split(`\n", - "`),L=0;L<M.length;L++)if(!(!A[L+3]&&!A[L+2]&&!A[L+1])){var g=M[L];if(p+=g+`\n", - "`,A[L+1]){var P=A[L+1];P=P.substr(P.split(\":\",3).join(\":\").length+1).trim(),p+=s(`^^^ %s\n", - "\n", - "`,P)}}return{long:p.trim(),short:E.trim()}}},7319:function(i,a,o){var s=o(3236),l=o(9405),u=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position, nextPosition;\n", - "attribute float arcLength, lineWidth;\n", - "attribute vec4 color;\n", - "\n", - "uniform vec2 screenShape;\n", - "uniform float pixelRatio;\n", - "uniform mat4 model, view, projection;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec3 worldPosition;\n", - "varying float pixelArcLength;\n", - "\n", - "vec4 project(vec3 p) {\n", - " return projection * (view * (model * vec4(p, 1.0)));\n", - "}\n", - "\n", - "void main() {\n", - " vec4 startPoint = project(position);\n", - " vec4 endPoint = project(nextPosition);\n", - "\n", - " vec2 A = startPoint.xy / startPoint.w;\n", - " vec2 B = endPoint.xy / endPoint.w;\n", - "\n", - " float clipAngle = atan(\n", - " (B.y - A.y) * screenShape.y,\n", - " (B.x - A.x) * screenShape.x\n", - " );\n", - "\n", - " vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(\n", - " sin(clipAngle),\n", - " -cos(clipAngle)\n", - " ) / screenShape;\n", - "\n", - " gl_Position = vec4(startPoint.xy + startPoint.w * offset, startPoint.zw);\n", - "\n", - " worldPosition = position;\n", - " pixelArcLength = arcLength;\n", - " fragColor = color;\n", - "}\n", - "`]),c=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform sampler2D dashTexture;\n", - "uniform float dashScale;\n", - "uniform float opacity;\n", - "\n", - "varying vec3 worldPosition;\n", - "varying float pixelArcLength;\n", - "varying vec4 fragColor;\n", - "\n", - "void 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", - "`]),f=s([`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\n", - "vec4 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", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform float pickId;\n", - "uniform vec3 clipBounds[2];\n", - "\n", - "varying vec3 worldPosition;\n", - "varying float pixelArcLength;\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n", - "\n", - " gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n", - "}`]),h=[{name:\"position\",type:\"vec3\"},{name:\"nextPosition\",type:\"vec3\"},{name:\"arcLength\",type:\"float\"},{name:\"lineWidth\",type:\"float\"},{name:\"color\",type:\"vec4\"}];a.createShader=function(d){return l(d,u,c,null,h)},a.createPickShader=function(d){return l(d,u,f,null,h)}},5714:function(i,a,o){\"use strict\";i.exports=M;var s=o(2762),l=o(8116),u=o(7766),c=new Uint8Array(4),f=new Float32Array(c.buffer);function h(g,P,T,F){return c[0]=F,c[1]=T,c[2]=P,c[3]=g,f[0]}var d=o(2478),v=o(9618),x=o(7319),b=x.createShader,p=x.createPickShader,E=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function k(g,P){for(var T=0,F=0;F<3;++F){var q=g[F]-P[F];T+=q*q}return Math.sqrt(T)}function A(g){for(var P=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],T=0;T<3;++T)P[0][T]=Math.max(g[0][T],P[0][T]),P[1][T]=Math.min(g[1][T],P[1][T]);return P}function L(g,P,T,F){this.arcLength=g,this.position=P,this.index=T,this.dataCoordinate=F}function _(g,P,T,F,q,V){this.gl=g,this.shader=P,this.pickShader=T,this.buffer=F,this.vao=q,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=V,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var C=_.prototype;C.isTransparent=function(){return this.hasAlpha},C.isOpaque=function(){return!this.hasAlpha},C.pickSlots=1,C.setPickBase=function(g){this.pickId=g},C.drawTransparent=C.draw=function(g){if(this.vertexCount){var P=this.gl,T=this.shader,F=this.vao;T.bind(),T.uniforms={model:g.model||E,view:g.view||E,projection:g.projection||E,clipBounds:A(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[P.drawingBufferWidth,P.drawingBufferHeight],pixelRatio:this.pixelRatio},F.bind(),F.draw(P.TRIANGLE_STRIP,this.vertexCount),F.unbind()}},C.drawPick=function(g){if(this.vertexCount){var P=this.gl,T=this.pickShader,F=this.vao;T.bind(),T.uniforms={model:g.model||E,view:g.view||E,projection:g.projection||E,pickId:this.pickId,clipBounds:A(this.clipBounds),screenShape:[P.drawingBufferWidth,P.drawingBufferHeight],pixelRatio:this.pixelRatio},F.bind(),F.draw(P.TRIANGLE_STRIP,this.vertexCount),F.unbind()}},C.update=function(g){var P,T;this.dirty=!0;var F=!!g.connectGaps;\"dashScale\"in g&&(this.dashScale=g.dashScale),this.hasAlpha=!1,\"opacity\"in g&&(this.opacity=+g.opacity,this.opacity<1&&(this.hasAlpha=!0));var q=[],V=[],H=[],X=0,G=0,N=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],W=g.position||g.positions;if(W){var re=g.color||g.colors||[0,0,0,1],ae=g.lineWidth||1,_e=!1;e:for(P=1;P<W.length;++P){var Me=W[P-1],ke=W[P];for(V.push(X),H.push(Me.slice()),T=0;T<3;++T){if(isNaN(Me[T])||isNaN(ke[T])||!isFinite(Me[T])||!isFinite(ke[T])){if(!F&&q.length>0){for(var ge=0;ge<24;++ge)q.push(q[q.length-12]);G+=2,_e=!0}continue e}N[0][T]=Math.min(N[0][T],Me[T],ke[T]),N[1][T]=Math.max(N[1][T],Me[T],ke[T])}var ie,Te;Array.isArray(re[0])?(ie=re.length>P-1?re[P-1]:re.length>0?re[re.length-1]:[0,0,0,1],Te=re.length>P?re[P]:re.length>0?re[re.length-1]:[0,0,0,1]):ie=Te=re,ie.length===3&&(ie=[ie[0],ie[1],ie[2],1]),Te.length===3&&(Te=[Te[0],Te[1],Te[2],1]),!this.hasAlpha&&ie[3]<1&&(this.hasAlpha=!0);var Ee;Array.isArray(ae)?Ee=ae.length>P-1?ae[P-1]:ae.length>0?ae[ae.length-1]:[0,0,0,1]:Ee=ae;var Ae=X;if(X+=k(Me,ke),_e){for(T=0;T<2;++T)q.push(Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,Ee,ie[0],ie[1],ie[2],ie[3]);G+=2,_e=!1}q.push(Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,Ee,ie[0],ie[1],ie[2],ie[3],Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,-Ee,ie[0],ie[1],ie[2],ie[3],ke[0],ke[1],ke[2],Me[0],Me[1],Me[2],X,-Ee,Te[0],Te[1],Te[2],Te[3],ke[0],ke[1],ke[2],Me[0],Me[1],Me[2],X,Ee,Te[0],Te[1],Te[2],Te[3]),G+=4}}if(this.buffer.update(q),V.push(X),H.push(W[W.length-1].slice()),this.bounds=N,this.vertexCount=G,this.points=H,this.arcLength=V,\"dashes\"in g){var ze=g.dashes,Ce=ze.slice();for(Ce.unshift(0),P=1;P<Ce.length;++P)Ce[P]=Ce[P-1]+Ce[P];var me=v(new Array(256*4),[256,1,4]);for(P=0;P<256;++P){for(T=0;T<4;++T)me.set(P,0,T,0);d.le(Ce,Ce[Ce.length-1]*P/255)&1?me.set(P,0,0,0):me.set(P,0,0,255)}this.texture.setPixels(me)}},C.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},C.pick=function(g){if(!g||g.id!==this.pickId)return null;var P=h(g.value[0],g.value[1],g.value[2],0),T=d.le(this.arcLength,P);if(T<0)return null;if(T===this.arcLength.length-1)return new L(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),T);for(var F=this.points[T],q=this.points[Math.min(T+1,this.points.length-1)],V=(P-this.arcLength[T])/(this.arcLength[T+1]-this.arcLength[T]),H=1-V,X=[0,0,0],G=0;G<3;++G)X[G]=H*F[G]+V*q[G];var N=Math.min(V<.5?T:T+1,this.points.length-1);return new L(P,X,N,this.points[N])};function M(g){var P=g.gl||g.scene&&g.scene.gl,T=b(P);T.attributes.position.location=0,T.attributes.nextPosition.location=1,T.attributes.arcLength.location=2,T.attributes.lineWidth.location=3,T.attributes.color.location=4;var F=p(P);F.attributes.position.location=0,F.attributes.nextPosition.location=1,F.attributes.arcLength.location=2,F.attributes.lineWidth.location=3,F.attributes.color.location=4;for(var q=s(P),V=l(P,[{buffer:q,size:3,offset:0,stride:48},{buffer:q,size:3,offset:12,stride:48},{buffer:q,size:1,offset:24,stride:48},{buffer:q,size:1,offset:28,stride:48},{buffer:q,size:4,offset:32,stride:48}]),H=v(new Array(256*4),[256,1,4]),X=0;X<1024;++X)H.data[X]=255;var G=u(P,H);G.wrap=P.REPEAT;var N=new _(P,T,F,q,V,G);return N.update(g),N}},1903:function(i){i.exports=a;function a(o){var s=new Float32Array(16);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s[3]=o[3],s[4]=o[4],s[5]=o[5],s[6]=o[6],s[7]=o[7],s[8]=o[8],s[9]=o[9],s[10]=o[10],s[11]=o[11],s[12]=o[12],s[13]=o[13],s[14]=o[14],s[15]=o[15],s}},6864:function(i){i.exports=a;function a(){var o=new Float32Array(16);return o[0]=1,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=1,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=1,o[11]=0,o[12]=0,o[13]=0,o[14]=0,o[15]=1,o}},9921:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3],f=o[4],h=o[5],d=o[6],v=o[7],x=o[8],b=o[9],p=o[10],E=o[11],k=o[12],A=o[13],L=o[14],_=o[15],C=s*h-l*f,M=s*d-u*f,g=s*v-c*f,P=l*d-u*h,T=l*v-c*h,F=u*v-c*d,q=x*A-b*k,V=x*L-p*k,H=x*_-E*k,X=b*L-p*A,G=b*_-E*A,N=p*_-E*L;return C*N-M*G+g*X+P*H-T*V+F*q}},7399:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=s[3],h=l+l,d=u+u,v=c+c,x=l*h,b=u*h,p=u*d,E=c*h,k=c*d,A=c*v,L=f*h,_=f*d,C=f*v;return o[0]=1-p-A,o[1]=b+C,o[2]=E-_,o[3]=0,o[4]=b-C,o[5]=1-x-A,o[6]=k+L,o[7]=0,o[8]=E+_,o[9]=k-L,o[10]=1-x-p,o[11]=0,o[12]=0,o[13]=0,o[14]=0,o[15]=1,o}},6743:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=s[3],d=u+u,v=c+c,x=f+f,b=u*d,p=u*v,E=u*x,k=c*v,A=c*x,L=f*x,_=h*d,C=h*v,M=h*x;return o[0]=1-(k+L),o[1]=p+M,o[2]=E-C,o[3]=0,o[4]=p-M,o[5]=1-(b+L),o[6]=A+_,o[7]=0,o[8]=E+C,o[9]=A-_,o[10]=1-(b+k),o[11]=0,o[12]=l[0],o[13]=l[1],o[14]=l[2],o[15]=1,o}},7894:function(i){i.exports=a;function a(o){return o[0]=1,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=1,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=1,o[11]=0,o[12]=0,o[13]=0,o[14]=0,o[15]=1,o}},7608:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=s[3],h=s[4],d=s[5],v=s[6],x=s[7],b=s[8],p=s[9],E=s[10],k=s[11],A=s[12],L=s[13],_=s[14],C=s[15],M=l*d-u*h,g=l*v-c*h,P=l*x-f*h,T=u*v-c*d,F=u*x-f*d,q=c*x-f*v,V=b*L-p*A,H=b*_-E*A,X=b*C-k*A,G=p*_-E*L,N=p*C-k*L,W=E*C-k*_,re=M*W-g*N+P*G+T*X-F*H+q*V;return re?(re=1/re,o[0]=(d*W-v*N+x*G)*re,o[1]=(c*N-u*W-f*G)*re,o[2]=(L*q-_*F+C*T)*re,o[3]=(E*F-p*q-k*T)*re,o[4]=(v*X-h*W-x*H)*re,o[5]=(l*W-c*X+f*H)*re,o[6]=(_*P-A*q-C*g)*re,o[7]=(b*q-E*P+k*g)*re,o[8]=(h*N-d*X+x*V)*re,o[9]=(u*X-l*N-f*V)*re,o[10]=(A*F-L*P+C*M)*re,o[11]=(p*P-b*F-k*M)*re,o[12]=(d*H-h*G-v*V)*re,o[13]=(l*G-u*H+c*V)*re,o[14]=(L*g-A*T-_*M)*re,o[15]=(b*T-p*g+E*M)*re,o):null}},6582:function(i,a,o){var s=o(7894);i.exports=l;function l(u,c,f,h){var d,v,x,b,p,E,k,A,L,_,C=c[0],M=c[1],g=c[2],P=h[0],T=h[1],F=h[2],q=f[0],V=f[1],H=f[2];return Math.abs(C-q)<1e-6&&Math.abs(M-V)<1e-6&&Math.abs(g-H)<1e-6?s(u):(k=C-q,A=M-V,L=g-H,_=1/Math.sqrt(k*k+A*A+L*L),k*=_,A*=_,L*=_,d=T*L-F*A,v=F*k-P*L,x=P*A-T*k,_=Math.sqrt(d*d+v*v+x*x),_?(_=1/_,d*=_,v*=_,x*=_):(d=0,v=0,x=0),b=A*x-L*v,p=L*d-k*x,E=k*v-A*d,_=Math.sqrt(b*b+p*p+E*E),_?(_=1/_,b*=_,p*=_,E*=_):(b=0,p=0,E=0),u[0]=d,u[1]=b,u[2]=k,u[3]=0,u[4]=v,u[5]=p,u[6]=A,u[7]=0,u[8]=x,u[9]=E,u[10]=L,u[11]=0,u[12]=-(d*C+v*M+x*g),u[13]=-(b*C+p*M+E*g),u[14]=-(k*C+A*M+L*g),u[15]=1,u)}},6760:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=s[3],d=s[4],v=s[5],x=s[6],b=s[7],p=s[8],E=s[9],k=s[10],A=s[11],L=s[12],_=s[13],C=s[14],M=s[15],g=l[0],P=l[1],T=l[2],F=l[3];return o[0]=g*u+P*d+T*p+F*L,o[1]=g*c+P*v+T*E+F*_,o[2]=g*f+P*x+T*k+F*C,o[3]=g*h+P*b+T*A+F*M,g=l[4],P=l[5],T=l[6],F=l[7],o[4]=g*u+P*d+T*p+F*L,o[5]=g*c+P*v+T*E+F*_,o[6]=g*f+P*x+T*k+F*C,o[7]=g*h+P*b+T*A+F*M,g=l[8],P=l[9],T=l[10],F=l[11],o[8]=g*u+P*d+T*p+F*L,o[9]=g*c+P*v+T*E+F*_,o[10]=g*f+P*x+T*k+F*C,o[11]=g*h+P*b+T*A+F*M,g=l[12],P=l[13],T=l[14],F=l[15],o[12]=g*u+P*d+T*p+F*L,o[13]=g*c+P*v+T*E+F*_,o[14]=g*f+P*x+T*k+F*C,o[15]=g*h+P*b+T*A+F*M,o}},4040:function(i){i.exports=a;function a(o,s,l,u,c,f,h){var d=1/(s-l),v=1/(u-c),x=1/(f-h);return o[0]=-2*d,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=-2*v,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=2*x,o[11]=0,o[12]=(s+l)*d,o[13]=(c+u)*v,o[14]=(h+f)*x,o[15]=1,o}},4772:function(i){i.exports=a;function a(o,s,l,u,c){var f=1/Math.tan(s/2),h=1/(u-c);return o[0]=f/l,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=f,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=(c+u)*h,o[11]=-1,o[12]=0,o[13]=0,o[14]=2*c*u*h,o[15]=0,o}},6079:function(i){i.exports=a;function a(o,s,l,u){var c=u[0],f=u[1],h=u[2],d=Math.sqrt(c*c+f*f+h*h),v,x,b,p,E,k,A,L,_,C,M,g,P,T,F,q,V,H,X,G,N,W,re,ae;return Math.abs(d)<1e-6?null:(d=1/d,c*=d,f*=d,h*=d,v=Math.sin(l),x=Math.cos(l),b=1-x,p=s[0],E=s[1],k=s[2],A=s[3],L=s[4],_=s[5],C=s[6],M=s[7],g=s[8],P=s[9],T=s[10],F=s[11],q=c*c*b+x,V=f*c*b+h*v,H=h*c*b-f*v,X=c*f*b-h*v,G=f*f*b+x,N=h*f*b+c*v,W=c*h*b+f*v,re=f*h*b-c*v,ae=h*h*b+x,o[0]=p*q+L*V+g*H,o[1]=E*q+_*V+P*H,o[2]=k*q+C*V+T*H,o[3]=A*q+M*V+F*H,o[4]=p*X+L*G+g*N,o[5]=E*X+_*G+P*N,o[6]=k*X+C*G+T*N,o[7]=A*X+M*G+F*N,o[8]=p*W+L*re+g*ae,o[9]=E*W+_*re+P*ae,o[10]=k*W+C*re+T*ae,o[11]=A*W+M*re+F*ae,s!==o&&(o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o)}},5567:function(i){i.exports=a;function a(o,s,l){var u=Math.sin(l),c=Math.cos(l),f=s[4],h=s[5],d=s[6],v=s[7],x=s[8],b=s[9],p=s[10],E=s[11];return s!==o&&(o[0]=s[0],o[1]=s[1],o[2]=s[2],o[3]=s[3],o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o[4]=f*c+x*u,o[5]=h*c+b*u,o[6]=d*c+p*u,o[7]=v*c+E*u,o[8]=x*c-f*u,o[9]=b*c-h*u,o[10]=p*c-d*u,o[11]=E*c-v*u,o}},2408:function(i){i.exports=a;function a(o,s,l){var u=Math.sin(l),c=Math.cos(l),f=s[0],h=s[1],d=s[2],v=s[3],x=s[8],b=s[9],p=s[10],E=s[11];return s!==o&&(o[4]=s[4],o[5]=s[5],o[6]=s[6],o[7]=s[7],o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o[0]=f*c-x*u,o[1]=h*c-b*u,o[2]=d*c-p*u,o[3]=v*c-E*u,o[8]=f*u+x*c,o[9]=h*u+b*c,o[10]=d*u+p*c,o[11]=v*u+E*c,o}},7089:function(i){i.exports=a;function a(o,s,l){var u=Math.sin(l),c=Math.cos(l),f=s[0],h=s[1],d=s[2],v=s[3],x=s[4],b=s[5],p=s[6],E=s[7];return s!==o&&(o[8]=s[8],o[9]=s[9],o[10]=s[10],o[11]=s[11],o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o[0]=f*c+x*u,o[1]=h*c+b*u,o[2]=d*c+p*u,o[3]=v*c+E*u,o[4]=x*c-f*u,o[5]=b*c-h*u,o[6]=p*c-d*u,o[7]=E*c-v*u,o}},2504:function(i){i.exports=a;function a(o,s,l){var u=l[0],c=l[1],f=l[2];return o[0]=s[0]*u,o[1]=s[1]*u,o[2]=s[2]*u,o[3]=s[3]*u,o[4]=s[4]*c,o[5]=s[5]*c,o[6]=s[6]*c,o[7]=s[7]*c,o[8]=s[8]*f,o[9]=s[9]*f,o[10]=s[10]*f,o[11]=s[11]*f,o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15],o}},7656:function(i){i.exports=a;function a(o,s,l){var u=l[0],c=l[1],f=l[2],h,d,v,x,b,p,E,k,A,L,_,C;return s===o?(o[12]=s[0]*u+s[4]*c+s[8]*f+s[12],o[13]=s[1]*u+s[5]*c+s[9]*f+s[13],o[14]=s[2]*u+s[6]*c+s[10]*f+s[14],o[15]=s[3]*u+s[7]*c+s[11]*f+s[15]):(h=s[0],d=s[1],v=s[2],x=s[3],b=s[4],p=s[5],E=s[6],k=s[7],A=s[8],L=s[9],_=s[10],C=s[11],o[0]=h,o[1]=d,o[2]=v,o[3]=x,o[4]=b,o[5]=p,o[6]=E,o[7]=k,o[8]=A,o[9]=L,o[10]=_,o[11]=C,o[12]=h*u+b*c+A*f+s[12],o[13]=d*u+p*c+L*f+s[13],o[14]=v*u+E*c+_*f+s[14],o[15]=x*u+k*c+C*f+s[15]),o}},5665:function(i){i.exports=a;function a(o,s){if(o===s){var l=s[1],u=s[2],c=s[3],f=s[6],h=s[7],d=s[11];o[1]=s[4],o[2]=s[8],o[3]=s[12],o[4]=l,o[6]=s[9],o[7]=s[13],o[8]=u,o[9]=f,o[11]=s[14],o[12]=c,o[13]=h,o[14]=d}else o[0]=s[0],o[1]=s[4],o[2]=s[8],o[3]=s[12],o[4]=s[1],o[5]=s[5],o[6]=s[9],o[7]=s[13],o[8]=s[2],o[9]=s[6],o[10]=s[10],o[11]=s[14],o[12]=s[3],o[13]=s[7],o[14]=s[11],o[15]=s[15];return o}},7626:function(i,a,o){\"use strict\";var s=o(2642),l=o(9346);i.exports=d;function u(v,x){for(var b=[0,0,0,0],p=0;p<4;++p)for(var E=0;E<4;++E)b[E]+=v[4*p+E]*x[p];return b}function c(v,x,b,p,E){for(var k=u(p,u(b,u(x,[v[0],v[1],v[2],1]))),A=0;A<3;++A)k[A]/=k[3];return[.5*E[0]*(1+k[0]),.5*E[1]*(1-k[1])]}function f(v,x){if(v.length===2){for(var b=0,p=0,E=0;E<2;++E)b+=Math.pow(x[E]-v[0][E],2),p+=Math.pow(x[E]-v[1][E],2);return b=Math.sqrt(b),p=Math.sqrt(p),b+p<1e-6?[1,0]:[p/(b+p),b/(p+b)]}else if(v.length===3){var k=[0,0];return l(v[0],v[1],v[2],x,k),s(v,k)}return[]}function h(v,x){for(var b=[0,0,0],p=0;p<v.length;++p)for(var E=v[p],k=x[p],A=0;A<3;++A)b[A]+=k*E[A];return b}function d(v,x,b,p,E,k){if(v.length===1)return[0,v[0].slice()];for(var A=new Array(v.length),L=0;L<v.length;++L)A[L]=c(v[L],b,p,E,k);for(var _=0,C=1/0,L=0;L<A.length;++L){for(var M=0,g=0;g<2;++g)M+=Math.pow(A[L][g]-x[g],2);M<C&&(C=M,_=L)}for(var P=f(A,x),T=0,L=0;L<3;++L){if(P[L]<-.001||P[L]>1.0001)return null;T+=P[L]}return Math.abs(T-1)>.001?null:[_,h(v,P),P]}},840:function(i,a,o){var s=o(3236),l=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position, normal;\n", - "attribute vec4 color;\n", - "attribute vec2 uv;\n", - "\n", - "uniform mat4 model\n", - " , view\n", - " , projection\n", - " , inverseModel;\n", - "uniform vec3 eyePosition\n", - " , lightPosition;\n", - "\n", - "varying vec3 f_normal\n", - " , f_lightDirection\n", - " , f_eyeDirection\n", - " , f_data;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "vec4 project(vec3 p) {\n", - " return projection * (view * (model * vec4(p, 1.0)));\n", - "}\n", - "\n", - "void 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", - "`]),u=s([`#extension GL_OES_standard_derivatives : enable\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "float 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", - "\n", - "float 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", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float roughness\n", - " , fresnel\n", - " , kambient\n", - " , kdiffuse\n", - " , kspecular;\n", - "uniform sampler2D texture;\n", - "\n", - "varying vec3 f_normal\n", - " , f_lightDirection\n", - " , f_eyeDirection\n", - " , f_data;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),c=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 uv;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "\n", - "varying vec4 f_color;\n", - "varying vec3 f_data;\n", - "varying vec2 f_uv;\n", - "\n", - "void main() {\n", - " gl_Position = projection * (view * (model * vec4(position, 1.0)));\n", - " f_color = color;\n", - " f_data = position;\n", - " f_uv = uv;\n", - "}`]),f=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform sampler2D texture;\n", - "uniform float opacity;\n", - "\n", - "varying vec4 f_color;\n", - "varying vec3 f_data;\n", - "varying vec2 f_uv;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n", - "\n", - " gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n", - "}`]),h=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 uv;\n", - "attribute float pointSize;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 clipBounds[2];\n", - "\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "}`]),d=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform sampler2D texture;\n", - "uniform float opacity;\n", - "\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "}`]),v=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void main() {\n", - " gl_Position = projection * (view * (model * vec4(position, 1.0)));\n", - " f_id = id;\n", - " f_position = position;\n", - "}`]),x=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float pickId;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n", - "\n", - " gl_FragColor = vec4(pickId, f_id.xyz);\n", - "}`]),b=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute float pointSize;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 clipBounds[2];\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void 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=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "\n", - "void main() {\n", - " gl_Position = projection * (view * (model * vec4(position, 1.0)));\n", - "}`]),E=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform vec3 contourColor;\n", - "\n", - "void main() {\n", - " gl_FragColor = vec4(contourColor, 1.0);\n", - "}\n", - "`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},a.wireShader={vertex:c,fragment:f,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},a.pointShader={vertex:h,fragment:d,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"pointSize\",type:\"float\"}]},a.pickShader={vertex:v,fragment:x,attributes:[{name:\"position\",type:\"vec3\"},{name:\"id\",type:\"vec4\"}]},a.pointPickShader={vertex:b,fragment:x,attributes:[{name:\"position\",type:\"vec3\"},{name:\"pointSize\",type:\"float\"},{name:\"id\",type:\"vec4\"}]},a.contourShader={vertex:p,fragment:E,attributes:[{name:\"position\",type:\"vec3\"}]}},7201:function(i,a,o){\"use strict\";var s=1e-6,l=1e-6,u=o(9405),c=o(2762),f=o(8116),h=o(7766),d=o(8406),v=o(6760),x=o(7608),b=o(9618),p=o(6729),E=o(7765),k=o(1888),A=o(840),L=o(7626),_=A.meshShader,C=A.wireShader,M=A.pointShader,g=A.pickShader,P=A.pointPickShader,T=A.contourShader,F=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function q(ge,ie,Te,Ee,Ae,ze,Ce,me,Re,ce,Ge,nt,ct,qt,rt,ot,Rt,kt,Ct,Yt,xr,er,Ke,xt,bt,Lt,St){this.gl=ge,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=ie,this.dirty=!0,this.triShader=Te,this.lineShader=Ee,this.pointShader=Ae,this.pickShader=ze,this.pointPickShader=Ce,this.contourShader=me,this.trianglePositions=Re,this.triangleColors=Ge,this.triangleNormals=ct,this.triangleUVs=nt,this.triangleIds=ce,this.triangleVAO=qt,this.triangleCount=0,this.lineWidth=1,this.edgePositions=rt,this.edgeColors=Rt,this.edgeUVs=kt,this.edgeIds=ot,this.edgeVAO=Ct,this.edgeCount=0,this.pointPositions=Yt,this.pointColors=er,this.pointUVs=Ke,this.pointSizes=xt,this.pointIds=xr,this.pointVAO=bt,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=Lt,this.contourVAO=St,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=F,this._view=F,this._projection=F,this._resolution=[1,1]}var V=q.prototype;V.isOpaque=function(){return!this.hasAlpha},V.isTransparent=function(){return this.hasAlpha},V.pickSlots=1,V.setPickBase=function(ge){this.pickId=ge};function H(ge,ie){if(!ie||!ie.length)return 1;for(var Te=0;Te<ie.length;++Te){if(ie.length<2)return 1;if(ie[Te][0]===ge)return ie[Te][1];if(ie[Te][0]>ge&&Te>0){var Ee=(ie[Te][0]-ge)/(ie[Te][0]-ie[Te-1][0]);return ie[Te][1]*(1-Ee)+Ee*ie[Te-1][1]}}return 1}function X(ge,ie){for(var Te=p({colormap:ge,nshades:256,format:\"rgba\"}),Ee=new Uint8Array(256*4),Ae=0;Ae<256;++Ae){for(var ze=Te[Ae],Ce=0;Ce<3;++Ce)Ee[4*Ae+Ce]=ze[Ce];ie?Ee[4*Ae+3]=255*H(Ae/255,ie):Ee[4*Ae+3]=255*ze[3]}return b(Ee,[256,256,4],[4,0,1])}function G(ge){for(var ie=ge.length,Te=new Array(ie),Ee=0;Ee<ie;++Ee)Te[Ee]=ge[Ee][2];return Te}V.highlight=function(ge){if(!ge||!this.contourEnable){this.contourCount=0;return}for(var ie=E(this.cells,this.intensity,ge.intensity),Te=ie.cells,Ee=ie.vertexIds,Ae=ie.vertexWeights,ze=Te.length,Ce=k.mallocFloat32(2*3*ze),me=0,Re=0;Re<ze;++Re)for(var ce=Te[Re],Ge=0;Ge<2;++Ge){var nt=ce[0];ce.length===2&&(nt=ce[Ge]);for(var ct=Ee[nt][0],qt=Ee[nt][1],rt=Ae[nt],ot=1-rt,Rt=this.positions[ct],kt=this.positions[qt],Ct=0;Ct<3;++Ct)Ce[me++]=rt*Rt[Ct]+ot*kt[Ct]}this.contourCount=me/3|0,this.contourPositions.update(Ce.subarray(0,me)),k.free(Ce)},V.update=function(ge){ge=ge||{};var ie=this.gl;this.dirty=!0,\"contourEnable\"in ge&&(this.contourEnable=ge.contourEnable),\"contourColor\"in ge&&(this.contourColor=ge.contourColor),\"lineWidth\"in ge&&(this.lineWidth=ge.lineWidth),\"lightPosition\"in ge&&(this.lightPosition=ge.lightPosition),this.hasAlpha=!1,\"opacity\"in ge&&(this.opacity=ge.opacity,this.opacity<1&&(this.hasAlpha=!0)),\"opacityscale\"in ge&&(this.opacityscale=ge.opacityscale,this.hasAlpha=!0),\"ambient\"in ge&&(this.ambientLight=ge.ambient),\"diffuse\"in ge&&(this.diffuseLight=ge.diffuse),\"specular\"in ge&&(this.specularLight=ge.specular),\"roughness\"in ge&&(this.roughness=ge.roughness),\"fresnel\"in ge&&(this.fresnel=ge.fresnel),ge.texture?(this.texture.dispose(),this.texture=h(ie,ge.texture)):ge.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=ie.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=ie.LINEAR,this.texture.setPixels(X(ge.colormap,this.opacityscale)),this.texture.generateMipmap());var Te=ge.cells,Ee=ge.positions;if(!(!Ee||!Te)){var Ae=[],ze=[],Ce=[],me=[],Re=[],ce=[],Ge=[],nt=[],ct=[],qt=[],rt=[],ot=[],Rt=[],kt=[];this.cells=Te,this.positions=Ee;var Ct=ge.vertexNormals,Yt=ge.cellNormals,xr=ge.vertexNormalsEpsilon===void 0?s:ge.vertexNormalsEpsilon,er=ge.faceNormalsEpsilon===void 0?l:ge.faceNormalsEpsilon;ge.useFacetNormals&&!Yt&&(Yt=d.faceNormals(Te,Ee,er)),!Yt&&!Ct&&(Ct=d.vertexNormals(Te,Ee,xr));var Ke=ge.vertexColors,xt=ge.cellColors,bt=ge.meshColor||[1,1,1,1],Lt=ge.vertexUVs,St=ge.vertexIntensity,Et=ge.cellUVs,dt=ge.cellIntensity,Ht=1/0,$t=-1/0;if(!Lt&&!Et)if(St)if(ge.vertexIntensityBounds)Ht=+ge.vertexIntensityBounds[0],$t=+ge.vertexIntensityBounds[1];else for(var fr=0;fr<St.length;++fr){var _r=St[fr];Ht=Math.min(Ht,_r),$t=Math.max($t,_r)}else if(dt)if(ge.cellIntensityBounds)Ht=+ge.cellIntensityBounds[0],$t=+ge.cellIntensityBounds[1];else for(var fr=0;fr<dt.length;++fr){var _r=dt[fr];Ht=Math.min(Ht,_r),$t=Math.max($t,_r)}else for(var fr=0;fr<Ee.length;++fr){var _r=Ee[fr][2];Ht=Math.min(Ht,_r),$t=Math.max($t,_r)}St?this.intensity=St:dt?this.intensity=dt:this.intensity=G(Ee),this.pickVertex=!(dt||xt);var Br=ge.pointSizes,Or=ge.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(var fr=0;fr<Ee.length;++fr)for(var Nr=Ee[fr],ut=0;ut<3;++ut)isNaN(Nr[ut])||!isFinite(Nr[ut])||(this.bounds[0][ut]=Math.min(this.bounds[0][ut],Nr[ut]),this.bounds[1][ut]=Math.max(this.bounds[1][ut],Nr[ut]));var Ne=0,Ye=0,Ve=0;e:for(var fr=0;fr<Te.length;++fr){var Xe=Te[fr];switch(Xe.length){case 1:for(var ht=Xe[0],Nr=Ee[ht],ut=0;ut<3;++ut)if(isNaN(Nr[ut])||!isFinite(Nr[ut]))continue e;qt.push(Nr[0],Nr[1],Nr[2]);var Le;Ke?Le=Ke[ht]:xt?Le=xt[fr]:Le=bt,this.opacityscale&&St?ze.push(Le[0],Le[1],Le[2],this.opacity*H((St[ht]-Ht)/($t-Ht),this.opacityscale)):Le.length===3?rt.push(Le[0],Le[1],Le[2],this.opacity):(rt.push(Le[0],Le[1],Le[2],Le[3]*this.opacity),Le[3]<1&&(this.hasAlpha=!0));var xe;Lt?xe=Lt[ht]:St?xe=[(St[ht]-Ht)/($t-Ht),0]:Et?xe=Et[fr]:dt?xe=[(dt[fr]-Ht)/($t-Ht),0]:xe=[(Nr[2]-Ht)/($t-Ht),0],ot.push(xe[0],xe[1]),Br?Rt.push(Br[ht]):Rt.push(Or),kt.push(fr),Ve+=1;break;case 2:for(var ut=0;ut<2;++ut)for(var ht=Xe[ut],Nr=Ee[ht],Se=0;Se<3;++Se)if(isNaN(Nr[Se])||!isFinite(Nr[Se]))continue e;for(var ut=0;ut<2;++ut){var ht=Xe[ut],Nr=Ee[ht];ce.push(Nr[0],Nr[1],Nr[2]);var Le;Ke?Le=Ke[ht]:xt?Le=xt[fr]:Le=bt,this.opacityscale&&St?ze.push(Le[0],Le[1],Le[2],this.opacity*H((St[ht]-Ht)/($t-Ht),this.opacityscale)):Le.length===3?Ge.push(Le[0],Le[1],Le[2],this.opacity):(Ge.push(Le[0],Le[1],Le[2],Le[3]*this.opacity),Le[3]<1&&(this.hasAlpha=!0));var xe;Lt?xe=Lt[ht]:St?xe=[(St[ht]-Ht)/($t-Ht),0]:Et?xe=Et[fr]:dt?xe=[(dt[fr]-Ht)/($t-Ht),0]:xe=[(Nr[2]-Ht)/($t-Ht),0],nt.push(xe[0],xe[1]),ct.push(fr)}Ye+=1;break;case 3:for(var ut=0;ut<3;++ut)for(var ht=Xe[ut],Nr=Ee[ht],Se=0;Se<3;++Se)if(isNaN(Nr[Se])||!isFinite(Nr[Se]))continue e;for(var ut=0;ut<3;++ut){var ht=Xe[2-ut],Nr=Ee[ht];Ae.push(Nr[0],Nr[1],Nr[2]);var Le;Ke?Le=Ke[ht]:xt?Le=xt[fr]:Le=bt,Le?this.opacityscale&&St?ze.push(Le[0],Le[1],Le[2],this.opacity*H((St[ht]-Ht)/($t-Ht),this.opacityscale)):Le.length===3?ze.push(Le[0],Le[1],Le[2],this.opacity):(ze.push(Le[0],Le[1],Le[2],Le[3]*this.opacity),Le[3]<1&&(this.hasAlpha=!0)):ze.push(.5,.5,.5,1);var xe;Lt?xe=Lt[ht]:St?xe=[(St[ht]-Ht)/($t-Ht),0]:Et?xe=Et[fr]:dt?xe=[(dt[fr]-Ht)/($t-Ht),0]:xe=[(Nr[2]-Ht)/($t-Ht),0],me.push(xe[0],xe[1]);var lt;Ct?lt=Ct[ht]:lt=Yt[fr],Ce.push(lt[0],lt[1],lt[2]),Re.push(fr)}Ne+=1;break;default:break}}this.pointCount=Ve,this.edgeCount=Ye,this.triangleCount=Ne,this.pointPositions.update(qt),this.pointColors.update(rt),this.pointUVs.update(ot),this.pointSizes.update(Rt),this.pointIds.update(new Uint32Array(kt)),this.edgePositions.update(ce),this.edgeColors.update(Ge),this.edgeUVs.update(nt),this.edgeIds.update(new Uint32Array(ct)),this.trianglePositions.update(Ae),this.triangleColors.update(ze),this.triangleUVs.update(me),this.triangleNormals.update(Ce),this.triangleIds.update(new Uint32Array(Re))}},V.drawTransparent=V.draw=function(ge){ge=ge||{};for(var ie=this.gl,Te=ge.model||F,Ee=ge.view||F,Ae=ge.projection||F,ze=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],Ce=0;Ce<3;++Ce)ze[0][Ce]=Math.max(ze[0][Ce],this.clipBounds[0][Ce]),ze[1][Ce]=Math.min(ze[1][Ce],this.clipBounds[1][Ce]);var me={model:Te,view:Ee,projection:Ae,inverseModel:F.slice(),clipBounds:ze,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],contourColor:this.contourColor,texture:0};me.inverseModel=x(me.inverseModel,me.model),ie.disable(ie.CULL_FACE),this.texture.bind(0);var Re=new Array(16);v(Re,me.view,me.model),v(Re,me.projection,Re),x(Re,Re);for(var Ce=0;Ce<3;++Ce)me.eyePosition[Ce]=Re[12+Ce]/Re[15];for(var ce=Re[15],Ce=0;Ce<3;++Ce)ce+=this.lightPosition[Ce]*Re[4*Ce+3];for(var Ce=0;Ce<3;++Ce){for(var Ge=Re[12+Ce],nt=0;nt<3;++nt)Ge+=Re[4*nt+Ce]*this.lightPosition[nt];me.lightPosition[Ce]=Ge/ce}if(this.triangleCount>0){var ct=this.triShader;ct.bind(),ct.uniforms=me,this.triangleVAO.bind(),ie.drawArrays(ie.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var ct=this.lineShader;ct.bind(),ct.uniforms=me,this.edgeVAO.bind(),ie.lineWidth(this.lineWidth*this.pixelRatio),ie.drawArrays(ie.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()}if(this.pointCount>0){var ct=this.pointShader;ct.bind(),ct.uniforms=me,this.pointVAO.bind(),ie.drawArrays(ie.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var ct=this.contourShader;ct.bind(),ct.uniforms=me,this.contourVAO.bind(),ie.drawArrays(ie.LINES,0,this.contourCount),this.contourVAO.unbind()}},V.drawPick=function(ge){ge=ge||{};for(var ie=this.gl,Te=ge.model||F,Ee=ge.view||F,Ae=ge.projection||F,ze=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],Ce=0;Ce<3;++Ce)ze[0][Ce]=Math.max(ze[0][Ce],this.clipBounds[0][Ce]),ze[1][Ce]=Math.min(ze[1][Ce],this.clipBounds[1][Ce]);this._model=[].slice.call(Te),this._view=[].slice.call(Ee),this._projection=[].slice.call(Ae),this._resolution=[ie.drawingBufferWidth,ie.drawingBufferHeight];var me={model:Te,view:Ee,projection:Ae,clipBounds:ze,pickId:this.pickId/255},Re=this.pickShader;if(Re.bind(),Re.uniforms=me,this.triangleCount>0&&(this.triangleVAO.bind(),ie.drawArrays(ie.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),ie.lineWidth(this.lineWidth*this.pixelRatio),ie.drawArrays(ie.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()),this.pointCount>0){var Re=this.pointPickShader;Re.bind(),Re.uniforms=me,this.pointVAO.bind(),ie.drawArrays(ie.POINTS,0,this.pointCount),this.pointVAO.unbind()}},V.pick=function(ge){if(!ge||ge.id!==this.pickId)return null;for(var ie=ge.value[0]+256*ge.value[1]+65536*ge.value[2],Te=this.cells[ie],Ee=this.positions,Ae=new Array(Te.length),ze=0;ze<Te.length;++ze)Ae[ze]=Ee[Te[ze]];var Ce=ge.coord[0],me=ge.coord[1];if(!this.pickVertex){var Re=this.positions[Te[0]],ce=this.positions[Te[1]],Ge=this.positions[Te[2]],nt=[(Re[0]+ce[0]+Ge[0])/3,(Re[1]+ce[1]+Ge[1])/3,(Re[2]+ce[2]+Ge[2])/3];return{_cellCenter:!0,position:[Ce,me],index:ie,cell:Te,cellId:ie,intensity:this.intensity[ie],dataCoordinate:nt}}var ct=L(Ae,[Ce*this.pixelRatio,this._resolution[1]-me*this.pixelRatio],this._model,this._view,this._projection,this._resolution);if(!ct)return null;for(var qt=ct[2],rt=0,ze=0;ze<Te.length;++ze)rt+=qt[ze]*this.intensity[Te[ze]];return{position:ct[1],index:Te[ct[0]],cell:Te,cellId:ie,intensity:rt,dataCoordinate:this.positions[Te[ct[0]]]}},V.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.lineShader.dispose(),this.pointShader.dispose(),this.pickShader.dispose(),this.pointPickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose(),this.contourShader.dispose()};function N(ge){var ie=u(ge,_.vertex,_.fragment);return ie.attributes.position.location=0,ie.attributes.color.location=2,ie.attributes.uv.location=3,ie.attributes.normal.location=4,ie}function W(ge){var ie=u(ge,C.vertex,C.fragment);return ie.attributes.position.location=0,ie.attributes.color.location=2,ie.attributes.uv.location=3,ie}function re(ge){var ie=u(ge,M.vertex,M.fragment);return ie.attributes.position.location=0,ie.attributes.color.location=2,ie.attributes.uv.location=3,ie.attributes.pointSize.location=4,ie}function ae(ge){var ie=u(ge,g.vertex,g.fragment);return ie.attributes.position.location=0,ie.attributes.id.location=1,ie}function _e(ge){var ie=u(ge,P.vertex,P.fragment);return ie.attributes.position.location=0,ie.attributes.id.location=1,ie.attributes.pointSize.location=4,ie}function Me(ge){var ie=u(ge,T.vertex,T.fragment);return ie.attributes.position.location=0,ie}function ke(ge,ie){arguments.length===1&&(ie=ge,ge=ie.gl);var Te=ge.getExtension(\"OES_standard_derivatives\")||ge.getExtension(\"MOZ_OES_standard_derivatives\")||ge.getExtension(\"WEBKIT_OES_standard_derivatives\");if(!Te)throw new Error(\"derivatives not supported\");var Ee=N(ge),Ae=W(ge),ze=re(ge),Ce=ae(ge),me=_e(ge),Re=Me(ge),ce=h(ge,b(new Uint8Array([255,255,255,255]),[1,1,4]));ce.generateMipmap(),ce.minFilter=ge.LINEAR_MIPMAP_LINEAR,ce.magFilter=ge.LINEAR;var Ge=c(ge),nt=c(ge),ct=c(ge),qt=c(ge),rt=c(ge),ot=f(ge,[{buffer:Ge,type:ge.FLOAT,size:3},{buffer:rt,type:ge.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:nt,type:ge.FLOAT,size:4},{buffer:ct,type:ge.FLOAT,size:2},{buffer:qt,type:ge.FLOAT,size:3}]),Rt=c(ge),kt=c(ge),Ct=c(ge),Yt=c(ge),xr=f(ge,[{buffer:Rt,type:ge.FLOAT,size:3},{buffer:Yt,type:ge.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:kt,type:ge.FLOAT,size:4},{buffer:Ct,type:ge.FLOAT,size:2}]),er=c(ge),Ke=c(ge),xt=c(ge),bt=c(ge),Lt=c(ge),St=f(ge,[{buffer:er,type:ge.FLOAT,size:3},{buffer:Lt,type:ge.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:Ke,type:ge.FLOAT,size:4},{buffer:xt,type:ge.FLOAT,size:2},{buffer:bt,type:ge.FLOAT,size:1}]),Et=c(ge),dt=f(ge,[{buffer:Et,type:ge.FLOAT,size:3}]),Ht=new q(ge,ce,Ee,Ae,ze,Ce,me,Re,Ge,rt,nt,ct,qt,ot,Rt,Yt,kt,Ct,xr,er,Lt,Ke,xt,bt,St,Et,dt);return Ht.update(ie),Ht}i.exports=ke},4437:function(i,a,o){\"use strict\";i.exports=d;var s=o(3025),l=o(6296),u=o(351),c=o(8512),f=o(24),h=o(7520);function d(v,x){v=v||document.body,x=x||{};var b=[.01,1/0];\"distanceLimits\"in x&&(b[0]=x.distanceLimits[0],b[1]=x.distanceLimits[1]),\"zoomMin\"in x&&(b[0]=x.zoomMin),\"zoomMax\"in x&&(b[1]=x.zoomMax);var p=l({center:x.center||[0,0,0],up:x.up||[0,1,0],eye:x.eye||[0,0,10],mode:x.mode||\"orbit\",distanceLimits:b}),E=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],k=0,A=v.clientWidth,L=v.clientHeight,_={keyBindingMode:\"rotate\",enableWheel:!0,view:p,element:v,delay:x.delay||16,rotateSpeed:x.rotateSpeed||1,zoomSpeed:x.zoomSpeed||1,translateSpeed:x.translateSpeed||1,flipX:!!x.flipX,flipY:!!x.flipY,modes:p.modes,_ortho:x._ortho||x.projection&&x.projection.type===\"orthographic\"||!1,tick:function(){var C=s(),M=this.delay,g=C-2*M;p.idle(C-M),p.recalcMatrix(g),p.flush(C-(100+M*2));for(var P=!0,T=p.computedMatrix,F=0;F<16;++F)P=P&&E[F]===T[F],E[F]=T[F];var q=v.clientWidth===A&&v.clientHeight===L;return A=v.clientWidth,L=v.clientHeight,P?!q:(k=Math.exp(p.computedRadius[0]),!0)},lookAt:function(C,M,g){p.lookAt(p.lastT(),C,M,g)},rotate:function(C,M,g){p.rotate(p.lastT(),C,M,g)},pan:function(C,M,g){p.pan(p.lastT(),C,M,g)},translate:function(C,M,g){p.translate(p.lastT(),C,M,g)}};return Object.defineProperties(_,{matrix:{get:function(){return p.computedMatrix},set:function(C){return p.setMatrix(p.lastT(),C),p.computedMatrix},enumerable:!0},mode:{get:function(){return p.getMode()},set:function(C){var M=p.computedUp.slice(),g=p.computedEye.slice(),P=p.computedCenter.slice();if(p.setMode(C),C===\"turntable\"){var T=s();p._active.lookAt(T,g,P,M),p._active.lookAt(T+500,g,P,[0,0,1]),p._active.flush(T)}return p.getMode()},enumerable:!0},center:{get:function(){return p.computedCenter},set:function(C){return p.lookAt(p.lastT(),null,C),p.computedCenter},enumerable:!0},eye:{get:function(){return p.computedEye},set:function(C){return p.lookAt(p.lastT(),C),p.computedEye},enumerable:!0},up:{get:function(){return p.computedUp},set:function(C){return p.lookAt(p.lastT(),null,null,C),p.computedUp},enumerable:!0},distance:{get:function(){return k},set:function(C){return p.setDistance(p.lastT(),C),C},enumerable:!0},distanceLimits:{get:function(){return p.getDistanceLimits(b)},set:function(C){return p.setDistanceLimits(C),C},enumerable:!0}}),v.addEventListener(\"contextmenu\",function(C){return C.preventDefault(),!1}),_._lastX=-1,_._lastY=-1,_._lastMods={shift:!1,control:!1,alt:!1,meta:!1},_.enableMouseListeners=function(){_.mouseListener=u(v,C),v.addEventListener(\"touchstart\",function(M){var g=f(M.changedTouches[0],v);C(0,g[0],g[1],_._lastMods),C(1,g[0],g[1],_._lastMods)},h?{passive:!0}:!1),v.addEventListener(\"touchmove\",function(M){var g=f(M.changedTouches[0],v);C(1,g[0],g[1],_._lastMods),M.preventDefault()},h?{passive:!1}:!1),v.addEventListener(\"touchend\",function(M){C(0,_._lastX,_._lastY,_._lastMods)},h?{passive:!0}:!1);function C(M,g,P,T){var F=_.keyBindingMode;if(F!==!1){var q=F===\"rotate\",V=F===\"pan\",H=F===\"zoom\",X=!!T.control,G=!!T.alt,N=!!T.shift,W=!!(M&1),re=!!(M&2),ae=!!(M&4),_e=1/v.clientHeight,Me=_e*(g-_._lastX),ke=_e*(P-_._lastY),ge=_.flipX?1:-1,ie=_.flipY?1:-1,Te=Math.PI*_.rotateSpeed,Ee=s();if(_._lastX!==-1&&_._lastY!==-1&&((q&&W&&!X&&!G&&!N||W&&!X&&!G&&N)&&p.rotate(Ee,ge*Te*Me,-ie*Te*ke,0),(V&&W&&!X&&!G&&!N||re||W&&X&&!G&&!N)&&p.pan(Ee,-_.translateSpeed*Me*k,_.translateSpeed*ke*k,0),H&&W&&!X&&!G&&!N||ae||W&&!X&&G&&!N)){var Ae=-_.zoomSpeed*ke/window.innerHeight*(Ee-p.lastT())*100;p.pan(Ee,0,0,k*(Math.exp(Ae)-1))}return _._lastX=g,_._lastY=P,_._lastMods=T,!0}}_.wheelListener=c(v,function(M,g){if(_.keyBindingMode!==!1&&_.enableWheel){var P=_.flipX?1:-1,T=_.flipY?1:-1,F=s();if(Math.abs(M)>Math.abs(g))p.rotate(F,0,0,-M*P*Math.PI*_.rotateSpeed/window.innerWidth);else if(!_._ortho){var q=-_.zoomSpeed*T*g/window.innerHeight*(F-p.lastT())/20;p.pan(F,0,0,k*(Math.exp(q)-1))}}},!0)},_.enableMouseListeners(),_}},799:function(i,a,o){var s=o(3236),l=o(9405),u=s([`precision mediump float;\n", - "#define GLSLIFY 1\n", - "attribute vec2 position;\n", - "varying vec2 uv;\n", - "void main() {\n", - " uv = position;\n", - " gl_Position = vec4(position, 0, 1);\n", - "}`]),c=s([`precision mediump float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform sampler2D accumBuffer;\n", - "varying vec2 uv;\n", - "\n", - "void main() {\n", - " vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n", - " gl_FragColor = min(vec4(1,1,1,1), accum);\n", - "}`]);i.exports=function(f){return l(f,u,c,null,[{name:\"position\",type:\"vec2\"}])}},4100:function(i,a,o){\"use strict\";var s=o(4437),l=o(3837),u=o(5445),c=o(4449),f=o(3589),h=o(2260),d=o(7169),v=o(351),x=o(4772),b=o(4040),p=o(799),E=o(9216)({tablet:!0,featureDetect:!0});i.exports={createScene:C,createCamera:s};function k(){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 A(g,P){var T=null;try{T=g.getContext(\"webgl\",P),T||(T=g.getContext(\"experimental-webgl\",P))}catch(F){return null}return T}function L(g){var P=Math.round(Math.log(Math.abs(g))/Math.log(10));if(P<0){var T=Math.round(Math.pow(10,-P));return Math.ceil(g*T)/T}else if(P>0){var T=Math.round(Math.pow(10,P));return Math.ceil(g/T)*T}return Math.ceil(g)}function _(g){return typeof g==\"boolean\"?g:!0}function C(g){g=g||{},g.camera=g.camera||{};var P=g.canvas;if(!P)if(P=document.createElement(\"canvas\"),g.container){var T=g.container;T.appendChild(P)}else document.body.appendChild(P);var F=g.gl;if(F||(g.glOptions&&(E=!!g.glOptions.preserveDrawingBuffer),F=A(P,g.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:E})),!F)throw new Error(\"webgl not supported\");var q=g.bounds||[[-10,-10,-10],[10,10,10]],V=new k,H=h(F,F.drawingBufferWidth,F.drawingBufferHeight,{preferFloat:!E}),X=p(F),G=g.cameraObject&&g.cameraObject._ortho===!0||g.camera.projection&&g.camera.projection.type===\"orthographic\"||!1,N={eye:g.camera.eye||[2,0,0],center:g.camera.center||[0,0,0],up:g.camera.up||[0,1,0],zoomMin:g.camera.zoomMax||.1,zoomMax:g.camera.zoomMin||100,mode:g.camera.mode||\"turntable\",_ortho:G},W=g.axes||{},re=l(F,W);re.enable=!W.disable;var ae=g.spikes||{},_e=c(F,ae),Me=[],ke=[],ge=[],ie=[],Te=!0,Ce=!0,Ee=new Array(16),Ae=new Array(16),ze={view:null,projection:Ee,model:Ae,_ortho:!1},Ce=!0,me=[F.drawingBufferWidth,F.drawingBufferHeight],Re=g.cameraObject||s(P,N),ce={gl:F,contextLost:!1,pixelRatio:g.pixelRatio||1,canvas:P,selection:V,camera:Re,axes:re,axesPixels:null,spikes:_e,bounds:q,objects:Me,shape:me,aspect:g.aspectRatio||[1,1,1],pickRadius:g.pickRadius||10,zNear:g.zNear||.01,zFar:g.zFar||1e3,fovy:g.fovy||Math.PI/4,clearColor:g.clearColor||[0,0,0,0],autoResize:_(g.autoResize),autoBounds:_(g.autoBounds),autoScale:!!g.autoScale,autoCenter:_(g.autoCenter),clipToBounds:_(g.clipToBounds),snapToData:!!g.snapToData,onselect:g.onselect||null,onrender:g.onrender||null,onclick:g.onclick||null,cameraParams:ze,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(Yt){this.aspect[0]=Yt.x,this.aspect[1]=Yt.y,this.aspect[2]=Yt.z,Ce=!0},setBounds:function(Yt,xr){this.bounds[0][Yt]=xr.min,this.bounds[1][Yt]=xr.max},setClearColor:function(Yt){this.clearColor=Yt},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)}},Ge=[F.drawingBufferWidth/ce.pixelRatio|0,F.drawingBufferHeight/ce.pixelRatio|0];function nt(){if(!ce._stopped&&ce.autoResize){var Yt=P.parentNode,xr=1,er=1;Yt&&Yt!==document.body?(xr=Yt.clientWidth,er=Yt.clientHeight):(xr=window.innerWidth,er=window.innerHeight);var Ke=Math.ceil(xr*ce.pixelRatio)|0,xt=Math.ceil(er*ce.pixelRatio)|0;if(Ke!==P.width||xt!==P.height){P.width=Ke,P.height=xt;var bt=P.style;bt.position=bt.position||\"absolute\",bt.left=\"0px\",bt.top=\"0px\",bt.width=xr+\"px\",bt.height=er+\"px\",Te=!0}}}ce.autoResize&&nt(),window.addEventListener(\"resize\",nt);function ct(){for(var Yt=Me.length,xr=ie.length,er=0;er<xr;++er)ge[er]=0;e:for(var er=0;er<Yt;++er){var Ke=Me[er],xt=Ke.pickSlots;if(!xt){ke[er]=-1;continue}for(var bt=0;bt<xr;++bt)if(ge[bt]+xt<255){ke[er]=bt,Ke.setPickBase(ge[bt]+1),ge[bt]+=xt;continue e}var Lt=f(F,me);ke[er]=xr,ie.push(Lt),ge.push(xt),Ke.setPickBase(1),xr+=1}for(;xr>0&&ge[xr-1]===0;)ge.pop(),ie.pop().dispose()}ce.update=function(Yt){ce._stopped||(Yt=Yt||{},Te=!0,Ce=!0)},ce.add=function(Yt){ce._stopped||(Yt.axes=re,Me.push(Yt),ke.push(-1),Te=!0,Ce=!0,ct())},ce.remove=function(Yt){if(!ce._stopped){var xr=Me.indexOf(Yt);xr<0||(Me.splice(xr,1),ke.pop(),Te=!0,Ce=!0,ct())}},ce.dispose=function(){if(!ce._stopped&&(ce._stopped=!0,window.removeEventListener(\"resize\",nt),P.removeEventListener(\"webglcontextlost\",qt),ce.mouseListener.enabled=!1,!ce.contextLost)){re.dispose(),_e.dispose();for(var Yt=0;Yt<Me.length;++Yt)Me[Yt].dispose();H.dispose();for(var Yt=0;Yt<ie.length;++Yt)ie[Yt].dispose();X.dispose(),F=null,re=null,_e=null,Me=[]}},ce._mouseRotating=!1,ce._prevButtons=0,ce.enableMouseListeners=function(){ce.mouseListener=v(P,function(Yt,xr,er){if(!ce._stopped){var Ke=ie.length,xt=Me.length,bt=V.object;V.distance=1/0,V.mouse[0]=xr,V.mouse[1]=er,V.object=null,V.screen=null,V.dataCoordinate=V.dataPosition=null;var Lt=!1;if(Yt&&ce._prevButtons)ce._mouseRotating=!0;else{ce._mouseRotating&&(Ce=!0),ce._mouseRotating=!1;for(var St=0;St<Ke;++St){var Et=ie[St].query(xr,Ge[1]-er-1,ce.pickRadius);if(Et){if(Et.distance>V.distance)continue;for(var dt=0;dt<xt;++dt){var Ht=Me[dt];if(ke[dt]===St){var $t=Ht.pick(Et);$t&&(V.buttons=Yt,V.screen=Et.coord,V.distance=Et.distance,V.object=Ht,V.index=$t.distance,V.dataPosition=$t.position,V.dataCoordinate=$t.dataCoordinate,V.data=$t,Lt=!0)}}}}}bt&&bt!==V.object&&(bt.highlight&&bt.highlight(null),Te=!0),V.object&&(V.object.highlight&&V.object.highlight(V.data),Te=!0),Lt=Lt||V.object!==bt,Lt&&ce.onselect&&ce.onselect(V),Yt&1&&!(ce._prevButtons&1)&&ce.onclick&&ce.onclick(V),ce._prevButtons=Yt}})};function qt(){if(ce.contextLost)return!0;F.isContextLost()&&(ce.contextLost=!0,ce.mouseListener.enabled=!1,ce.selection.object=null,ce.oncontextloss&&ce.oncontextloss())}P.addEventListener(\"webglcontextlost\",qt);function rt(){if(!qt()){F.colorMask(!0,!0,!0,!0),F.depthMask(!0),F.disable(F.BLEND),F.enable(F.DEPTH_TEST),F.depthFunc(F.LEQUAL);for(var Yt=Me.length,xr=ie.length,er=0;er<xr;++er){var Ke=ie[er];Ke.shape=Ge,Ke.begin();for(var xt=0;xt<Yt;++xt)if(ke[xt]===er){var bt=Me[xt];bt.drawPick&&(bt.pixelRatio=1,bt.drawPick(ze))}Ke.end()}}}var ot=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],Rt=[ot[0].slice(),ot[1].slice()];function kt(){if(!qt()){nt();var Yt=ce.camera.tick();ze.view=ce.camera.matrix,Te=Te||Yt,Ce=Ce||Yt,re.pixelRatio=ce.pixelRatio,_e.pixelRatio=ce.pixelRatio;var xr=Me.length,er=ot[0],Ke=ot[1];er[0]=er[1]=er[2]=1/0,Ke[0]=Ke[1]=Ke[2]=-1/0;for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.pixelRatio=ce.pixelRatio,bt.axes=ce.axes,Te=Te||!!bt.dirty,Ce=Ce||!!bt.dirty;var Lt=bt.bounds;if(Lt)for(var St=Lt[0],Et=Lt[1],dt=0;dt<3;++dt)er[dt]=Math.min(er[dt],St[dt]),Ke[dt]=Math.max(Ke[dt],Et[dt])}var Ht=ce.bounds;if(ce.autoBounds)for(var dt=0;dt<3;++dt){if(Ke[dt]<er[dt])er[dt]=-1,Ke[dt]=1;else{er[dt]===Ke[dt]&&(er[dt]-=1,Ke[dt]+=1);var $t=.05*(Ke[dt]-er[dt]);er[dt]=er[dt]-$t,Ke[dt]=Ke[dt]+$t}Ht[0][dt]=er[dt],Ht[1][dt]=Ke[dt]}for(var fr=!1,dt=0;dt<3;++dt)fr=fr||Rt[0][dt]!==Ht[0][dt]||Rt[1][dt]!==Ht[1][dt],Rt[0][dt]=Ht[0][dt],Rt[1][dt]=Ht[1][dt];if(Ce=Ce||fr,Te=Te||fr,!!Te){if(fr){for(var _r=[0,0,0],xt=0;xt<3;++xt)_r[xt]=L((Ht[1][xt]-Ht[0][xt])/10);re.autoTicks?re.update({bounds:Ht,tickSpacing:_r}):re.update({bounds:Ht})}var Br=F.drawingBufferWidth,Or=F.drawingBufferHeight;me[0]=Br,me[1]=Or,Ge[0]=Math.max(Br/ce.pixelRatio,1)|0,Ge[1]=Math.max(Or/ce.pixelRatio,1)|0,M(ce,G);for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.axesBounds=Ht,ce.clipToBounds&&(bt.clipBounds=Ht)}V.object&&(ce.snapToData?_e.position=V.dataCoordinate:_e.position=V.dataPosition,_e.bounds=Ht),Ce&&(Ce=!1,rt()),ce.axesPixels=u(ce.axes,ze,Br,Or),ce.onrender&&ce.onrender(),F.bindFramebuffer(F.FRAMEBUFFER,null),F.viewport(0,0,Br,Or),ce.clearRGBA(),F.depthMask(!0),F.colorMask(!0,!0,!0,!0),F.enable(F.DEPTH_TEST),F.depthFunc(F.LEQUAL),F.disable(F.BLEND),F.disable(F.CULL_FACE);var Nr=!1;re.enable&&(Nr=Nr||re.isTransparent(),re.draw(ze)),_e.axes=re,V.object&&_e.draw(ze),F.disable(F.CULL_FACE);for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.axes=re,bt.pixelRatio=ce.pixelRatio,bt.isOpaque&&bt.isOpaque()&&bt.draw(ze),bt.isTransparent&&bt.isTransparent()&&(Nr=!0)}if(Nr){H.shape=me,H.bind(),F.clear(F.DEPTH_BUFFER_BIT),F.colorMask(!1,!1,!1,!1),F.depthMask(!0),F.depthFunc(F.LESS),re.enable&&re.isTransparent()&&re.drawTransparent(ze);for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.isOpaque&&bt.isOpaque()&&bt.draw(ze)}F.enable(F.BLEND),F.blendEquation(F.FUNC_ADD),F.blendFunc(F.ONE,F.ONE_MINUS_SRC_ALPHA),F.colorMask(!0,!0,!0,!0),F.depthMask(!1),F.clearColor(0,0,0,0),F.clear(F.COLOR_BUFFER_BIT),re.isTransparent()&&re.drawTransparent(ze);for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.isTransparent&&bt.isTransparent()&&bt.drawTransparent(ze)}F.bindFramebuffer(F.FRAMEBUFFER,null),F.blendFunc(F.ONE,F.ONE_MINUS_SRC_ALPHA),F.disable(F.DEPTH_TEST),X.bind(),H.color[0].bind(0),X.uniforms.accumBuffer=0,d(F),F.disable(F.BLEND)}Te=!1;for(var xt=0;xt<xr;++xt)Me[xt].dirty=!1}}}function Ct(){ce._stopped||ce.contextLost||(kt(),requestAnimationFrame(Ct))}return ce.enableMouseListeners(),Ct(),ce.redraw=function(){ce._stopped||(Te=!0,kt())},ce}function M(g,P){var T=g.bounds,F=g.cameraParams,q=F.projection,V=F.model,H=g.gl.drawingBufferWidth,X=g.gl.drawingBufferHeight,G=g.zNear,N=g.zFar,W=g.fovy,re=H/X;P?(b(q,-re,re,-1,1,G,N),F._ortho=!0):(x(q,W,re,G,N),F._ortho=!1);for(var ae=0;ae<16;++ae)V[ae]=0;V[15]=1;for(var _e=0,ae=0;ae<3;++ae)_e=Math.max(_e,T[1][ae]-T[0][ae]);for(var ae=0;ae<3;++ae)g.autoScale?V[5*ae]=g.aspect[ae]/(T[1][ae]-T[0][ae]):V[5*ae]=1/_e,g.autoCenter&&(V[12+ae]=-V[5*ae]*.5*(T[0][ae]+T[1][ae]))}},783:function(i){i.exports=a;function a(o,s,l,u){var c=s[0],f=s[1],h=s[2],d=s[3],v=l[0],x=l[1],b=l[2],p=l[3],E,k,A,L,_;return k=c*v+f*x+h*b+d*p,k<0&&(k=-k,v=-v,x=-x,b=-b,p=-p),1-k>1e-6?(E=Math.acos(k),A=Math.sin(E),L=Math.sin((1-u)*E)/A,_=Math.sin(u*E)/A):(L=1-u,_=u),o[0]=L*c+_*v,o[1]=L*f+_*x,o[2]=L*h+_*b,o[3]=L*d+_*p,o}},5964:function(i){\"use strict\";i.exports=function(a){return!a&&a!==0?\"\":a.toString()}},9366:function(i,a,o){\"use strict\";var s=o(4359);i.exports=u;var l={};function u(c,f,h){var d=[f.style,f.weight,f.variant,f.family].join(\"_\"),v=l[d];if(v||(v=l[d]={}),c in v)return v[c];var x={textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:f.family,fontStyle:f.style,fontWeight:f.weight,fontVariant:f.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}};x.triangles=!0;var b=s(c,x);x.triangles=!1;var p=s(c,x),E,k;if(h&&h!==1){for(E=0;E<b.positions.length;++E)for(k=0;k<b.positions[E].length;++k)b.positions[E][k]/=h;for(E=0;E<p.positions.length;++E)for(k=0;k<p.positions[E].length;++k)p.positions[E][k]/=h}var A=[[1/0,1/0],[-1/0,-1/0]],L=p.positions.length;for(E=0;E<L;++E){var _=p.positions[E];for(k=0;k<2;++k)A[0][k]=Math.min(A[0][k],_[k]),A[1][k]=Math.max(A[1][k],_[k])}return v[c]=[b,p,A]}},1283:function(i,a,o){var s=o(9405),l=o(3236),u=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 glyph;\n", - "attribute vec4 id;\n", - "\n", - "uniform vec4 highlightId;\n", - "uniform float highlightScale;\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 clipBounds[2];\n", - "\n", - "varying vec4 interpColor;\n", - "varying vec4 pickId;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void 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", - "}`]),c=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 glyph;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec2 screenSize;\n", - "uniform vec3 clipBounds[2];\n", - "uniform float highlightScale, pixelRatio;\n", - "uniform vec4 highlightId;\n", - "\n", - "varying vec4 interpColor;\n", - "varying vec4 pickId;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void 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", - "}`]),f=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 glyph;\n", - "attribute vec4 id;\n", - "\n", - "uniform float highlightScale;\n", - "uniform vec4 highlightId;\n", - "uniform vec3 axes[2];\n", - "uniform mat4 model, view, projection;\n", - "uniform vec2 screenSize;\n", - "uniform vec3 clipBounds[2];\n", - "uniform float scale, pixelRatio;\n", - "\n", - "varying vec4 interpColor;\n", - "varying vec4 pickId;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void 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", - "`]),h=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 fragClipBounds[2];\n", - "uniform float opacity;\n", - "\n", - "varying vec4 interpColor;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void main() {\n", - " if (\n", - " outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n", - " interpColor.a * opacity == 0.\n", - " ) discard;\n", - " gl_FragColor = interpColor * opacity;\n", - "}\n", - "`]),d=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 fragClipBounds[2];\n", - "uniform float pickGroup;\n", - "\n", - "varying vec4 pickId;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void main() {\n", - " if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n", - "\n", - " gl_FragColor = vec4(pickGroup, pickId.bgr);\n", - "}`]),v=[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"glyph\",type:\"vec2\"},{name:\"id\",type:\"vec4\"}],x={vertex:u,fragment:h,attributes:v},b={vertex:c,fragment:h,attributes:v},p={vertex:f,fragment:h,attributes:v},E={vertex:u,fragment:d,attributes:v},k={vertex:c,fragment:d,attributes:v},A={vertex:f,fragment:d,attributes:v};function L(_,C){var M=s(_,C),g=M.attributes;return g.position.location=0,g.color.location=1,g.glyph.location=2,g.id.location=3,M}a.createPerspective=function(_){return L(_,x)},a.createOrtho=function(_){return L(_,b)},a.createProject=function(_){return L(_,p)},a.createPickPerspective=function(_){return L(_,E)},a.createPickOrtho=function(_){return L(_,k)},a.createPickProject=function(_){return L(_,A)}},8418:function(i,a,o){\"use strict\";var s=o(5219),l=o(2762),u=o(8116),c=o(1888),f=o(6760),h=o(1283),d=o(9366),v=o(5964),x=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],b=ArrayBuffer,p=DataView;function E(Ae){return b.isView(Ae)&&!(Ae instanceof p)}function k(Ae){return Array.isArray(Ae)||E(Ae)}i.exports=Ee;function A(Ae,ze){var Ce=Ae[0],me=Ae[1],Re=Ae[2],ce=Ae[3];return Ae[0]=ze[0]*Ce+ze[4]*me+ze[8]*Re+ze[12]*ce,Ae[1]=ze[1]*Ce+ze[5]*me+ze[9]*Re+ze[13]*ce,Ae[2]=ze[2]*Ce+ze[6]*me+ze[10]*Re+ze[14]*ce,Ae[3]=ze[3]*Ce+ze[7]*me+ze[11]*Re+ze[15]*ce,Ae}function L(Ae,ze,Ce,me){return A(me,me,Ce),A(me,me,ze),A(me,me,Ae)}function _(Ae,ze){this.index=Ae,this.dataCoordinate=this.position=ze}function C(Ae){return Ae===!0||Ae>1?1:Ae}function M(Ae,ze,Ce,me,Re,ce,Ge,nt,ct,qt,rt,ot){this.gl=Ae,this.pixelRatio=1,this.shader=ze,this.orthoShader=Ce,this.projectShader=me,this.pointBuffer=Re,this.colorBuffer=ce,this.glyphBuffer=Ge,this.idBuffer=nt,this.vao=ct,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[.6666666666666666,.6666666666666666,.6666666666666666],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=qt,this.pickOrthoShader=rt,this.pickProjectShader=ot,this.points=[],this._selectResult=new _(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}var g=M.prototype;g.pickSlots=1,g.setPickBase=function(Ae){this.pickId=Ae},g.isTransparent=function(){if(this.hasAlpha)return!0;for(var Ae=0;Ae<3;++Ae)if(this.axesProject[Ae]&&this.projectHasAlpha)return!0;return!1},g.isOpaque=function(){if(!this.hasAlpha)return!0;for(var Ae=0;Ae<3;++Ae)if(this.axesProject[Ae]&&!this.projectHasAlpha)return!0;return!1};var P=[0,0],T=[0,0,0],F=[0,0,0],q=[0,0,0,1],V=[0,0,0,1],H=x.slice(),X=[0,0,0],G=[[0,0,0],[0,0,0]];function N(Ae){return Ae[0]=Ae[1]=Ae[2]=0,Ae}function W(Ae,ze){return Ae[0]=ze[0],Ae[1]=ze[1],Ae[2]=ze[2],Ae[3]=1,Ae}function re(Ae,ze,Ce,me){return Ae[0]=ze[0],Ae[1]=ze[1],Ae[2]=ze[2],Ae[Ce]=me,Ae}function ae(Ae){for(var ze=G,Ce=0;Ce<2;++Ce)for(var me=0;me<3;++me)ze[Ce][me]=Math.max(Math.min(Ae[Ce][me],1e8),-1e8);return ze}function _e(Ae,ze,Ce,me){var Re=ze.axesProject,ce=ze.gl,Ge=Ae.uniforms,nt=Ce.model||x,ct=Ce.view||x,qt=Ce.projection||x,rt=ze.axesBounds,ot=ae(ze.clipBounds),Rt;ze.axes&&ze.axes.lastCubeProps?Rt=ze.axes.lastCubeProps.axis:Rt=[1,1,1],P[0]=2/ce.drawingBufferWidth,P[1]=2/ce.drawingBufferHeight,Ae.bind(),Ge.view=ct,Ge.projection=qt,Ge.screenSize=P,Ge.highlightId=ze.highlightId,Ge.highlightScale=ze.highlightScale,Ge.clipBounds=ot,Ge.pickGroup=ze.pickId/255,Ge.pixelRatio=me;for(var kt=0;kt<3;++kt)if(Re[kt]){Ge.scale=ze.projectScale[kt],Ge.opacity=ze.projectOpacity[kt];for(var Ct=H,Yt=0;Yt<16;++Yt)Ct[Yt]=0;for(var Yt=0;Yt<4;++Yt)Ct[5*Yt]=1;Ct[5*kt]=0,Rt[kt]<0?Ct[12+kt]=rt[0][kt]:Ct[12+kt]=rt[1][kt],f(Ct,nt,Ct),Ge.model=Ct;var xr=(kt+1)%3,er=(kt+2)%3,Ke=N(T),xt=N(F);Ke[xr]=1,xt[er]=1;var bt=L(qt,ct,nt,W(q,Ke)),Lt=L(qt,ct,nt,W(V,xt));if(Math.abs(bt[1])>Math.abs(Lt[1])){var St=bt;bt=Lt,Lt=St,St=Ke,Ke=xt,xt=St;var Et=xr;xr=er,er=Et}bt[0]<0&&(Ke[xr]=-1),Lt[1]>0&&(xt[er]=-1);for(var dt=0,Ht=0,Yt=0;Yt<4;++Yt)dt+=Math.pow(nt[4*xr+Yt],2),Ht+=Math.pow(nt[4*er+Yt],2);Ke[xr]/=Math.sqrt(dt),xt[er]/=Math.sqrt(Ht),Ge.axes[0]=Ke,Ge.axes[1]=xt,Ge.fragClipBounds[0]=re(X,ot[0],kt,-1e8),Ge.fragClipBounds[1]=re(X,ot[1],kt,1e8),ze.vao.bind(),ze.vao.draw(ce.TRIANGLES,ze.vertexCount),ze.lineWidth>0&&(ce.lineWidth(ze.lineWidth*me),ze.vao.draw(ce.LINES,ze.lineVertexCount,ze.vertexCount)),ze.vao.unbind()}}var Me=[-1e8,-1e8,-1e8],ke=[1e8,1e8,1e8],ge=[Me,ke];function ie(Ae,ze,Ce,me,Re,ce,Ge){var nt=Ce.gl;if((ce===Ce.projectHasAlpha||Ge)&&_e(ze,Ce,me,Re),ce===Ce.hasAlpha||Ge){Ae.bind();var ct=Ae.uniforms;ct.model=me.model||x,ct.view=me.view||x,ct.projection=me.projection||x,P[0]=2/nt.drawingBufferWidth,P[1]=2/nt.drawingBufferHeight,ct.screenSize=P,ct.highlightId=Ce.highlightId,ct.highlightScale=Ce.highlightScale,ct.fragClipBounds=ge,ct.clipBounds=Ce.axes.bounds,ct.opacity=Ce.opacity,ct.pickGroup=Ce.pickId/255,ct.pixelRatio=Re,Ce.vao.bind(),Ce.vao.draw(nt.TRIANGLES,Ce.vertexCount),Ce.lineWidth>0&&(nt.lineWidth(Ce.lineWidth*Re),Ce.vao.draw(nt.LINES,Ce.lineVertexCount,Ce.vertexCount)),Ce.vao.unbind()}}g.draw=function(Ae){var ze=this.useOrtho?this.orthoShader:this.shader;ie(ze,this.projectShader,this,Ae,this.pixelRatio,!1,!1)},g.drawTransparent=function(Ae){var ze=this.useOrtho?this.orthoShader:this.shader;ie(ze,this.projectShader,this,Ae,this.pixelRatio,!0,!1)},g.drawPick=function(Ae){var ze=this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader;ie(ze,this.pickProjectShader,this,Ae,1,!0,!0)},g.pick=function(Ae){if(!Ae||Ae.id!==this.pickId)return null;var ze=Ae.value[2]+(Ae.value[1]<<8)+(Ae.value[0]<<16);if(ze>=this.pointCount||ze<0)return null;var Ce=this.points[ze],me=this._selectResult;me.index=ze;for(var Re=0;Re<3;++Re)me.position[Re]=me.dataCoordinate[Re]=Ce[Re];return me},g.highlight=function(Ae){if(!Ae)this.highlightId=[1,1,1,1];else{var ze=Ae.index,Ce=ze&255,me=ze>>8&255,Re=ze>>16&255;this.highlightId=[Ce/255,me/255,Re/255,0]}};function Te(Ae,ze,Ce,me){var Re;k(Ae)?ze<Ae.length?Re=Ae[ze]:Re=void 0:Re=Ae,Re=v(Re);var ce=!0;s(Re)&&(Re=\"\\u25BC\",ce=!1),Ce||(Ce={});var Ge=Ce.family;k(Ge)&&(Ge=Ge[ze]),Ge||(Ge=\"normal\");var nt=Ce.weight;k(nt)&&(nt=nt[ze]),nt||(nt=\"normal\");var ct=Ce.style;k(ct)&&(ct=ct[ze]),ct||(ct=\"normal\");var qt=Ce.variant;k(qt)&&(qt=qt[ze]),qt||(qt=\"normal\");var rt=d(Re,{family:Ge,weight:nt,style:ct,variant:qt},me),rt=d(Re,Ce,me);return{mesh:rt[0],lines:rt[1],bounds:rt[2],visible:ce}}g.update=function(Ae){if(Ae=Ae||{},\"perspective\"in Ae&&(this.useOrtho=!Ae.perspective),\"orthographic\"in Ae&&(this.useOrtho=!!Ae.orthographic),\"lineWidth\"in Ae&&(this.lineWidth=Ae.lineWidth),\"project\"in Ae)if(k(Ae.project))this.axesProject=Ae.project;else{var ze=!!Ae.project;this.axesProject=[ze,ze,ze]}if(\"projectScale\"in Ae)if(k(Ae.projectScale))this.projectScale=Ae.projectScale.slice();else{var Ce=+Ae.projectScale;this.projectScale=[Ce,Ce,Ce]}if(this.projectHasAlpha=!1,\"projectOpacity\"in Ae){if(k(Ae.projectOpacity))this.projectOpacity=Ae.projectOpacity.slice();else{var Ce=+Ae.projectOpacity;this.projectOpacity=[Ce,Ce,Ce]}for(var me=0;me<3;++me)this.projectOpacity[me]=C(this.projectOpacity[me]),this.projectOpacity[me]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,\"opacity\"in Ae&&(this.opacity=C(Ae.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var Re=Ae.position,ce={family:Ae.font||\"normal\",style:Ae.fontStyle||\"normal\",weight:Ae.fontWeight||\"normal\",variant:Ae.fontVariant||\"normal\"},Ge=Ae.alignment||[0,0],nt,ct;if(Ge.length===2)nt=Ge[0],ct=Ge[1];else{nt=[],ct=[];for(var me=0;me<Ge.length;++me)nt[me]=Ge[me][0],ct[me]=Ge[me][1]}var qt=[1/0,1/0,1/0],rt=[-1/0,-1/0,-1/0],ot=Ae.glyph,Rt=Ae.color,kt=Ae.size,Ct=Ae.angle,Yt=Ae.lineColor,xr=-1,er=0,Ke=0,xt=0;if(Re.length){xt=Re.length;e:for(var me=0;me<xt;++me){for(var bt=Re[me],Lt=0;Lt<3;++Lt)if(isNaN(bt[Lt])||!isFinite(bt[Lt]))continue e;var St=Te(ot,me,ce,this.pixelRatio),Et=St.mesh,dt=St.lines,Ht=St.bounds;er+=Et.cells.length*3,Ke+=dt.edges.length*2}}var $t=er+Ke,fr=c.mallocFloat(3*$t),_r=c.mallocFloat(4*$t),Br=c.mallocFloat(2*$t),Or=c.mallocUint32($t);if($t>0){var Nr=0,ut=er,Ne=[0,0,0,1],Ye=[0,0,0,1],Ve=k(Rt)&&k(Rt[0]),Xe=k(Yt)&&k(Yt[0]);e:for(var me=0;me<xt;++me){xr+=1;for(var bt=Re[me],Lt=0;Lt<3;++Lt){if(isNaN(bt[Lt])||!isFinite(bt[Lt]))continue e;rt[Lt]=Math.max(rt[Lt],bt[Lt]),qt[Lt]=Math.min(qt[Lt],bt[Lt])}var St=Te(ot,me,ce,this.pixelRatio),Et=St.mesh,dt=St.lines,Ht=St.bounds,ht=St.visible;if(!ht)Ne=[1,1,1,0];else if(k(Rt)){var Le;if(Ve?me<Rt.length?Le=Rt[me]:Le=[0,0,0,0]:Le=Rt,Le.length===3){for(var Lt=0;Lt<3;++Lt)Ne[Lt]=Le[Lt];Ne[3]=1}else if(Le.length===4){for(var Lt=0;Lt<4;++Lt)Ne[Lt]=Le[Lt];!this.hasAlpha&&Le[3]<1&&(this.hasAlpha=!0)}}else Ne[0]=Ne[1]=Ne[2]=0,Ne[3]=1;if(!ht)Ye=[1,1,1,0];else if(k(Yt)){var Le;if(Xe?me<Yt.length?Le=Yt[me]:Le=[0,0,0,0]:Le=Yt,Le.length===3){for(var Lt=0;Lt<3;++Lt)Ye[Lt]=Le[Lt];Ye[Lt]=1}else if(Le.length===4){for(var Lt=0;Lt<4;++Lt)Ye[Lt]=Le[Lt];!this.hasAlpha&&Le[3]<1&&(this.hasAlpha=!0)}}else Ye[0]=Ye[1]=Ye[2]=0,Ye[3]=1;var xe=.5;ht?k(kt)?me<kt.length?xe=+kt[me]:xe=12:kt?xe=+kt:this.useOrtho&&(xe=12):xe=0;var Se=0;k(Ct)?me<Ct.length?Se=+Ct[me]:Se=0:Ct&&(Se=+Ct);for(var lt=Math.cos(Se),Gt=Math.sin(Se),bt=Re[me],Lt=0;Lt<3;++Lt)rt[Lt]=Math.max(rt[Lt],bt[Lt]),qt[Lt]=Math.min(qt[Lt],bt[Lt]);var Vt=nt,ar=ct,Vt=0;k(nt)?me<nt.length?Vt=nt[me]:Vt=0:nt&&(Vt=nt);var ar=0;k(ct)?me<ct.length?ar=ct[me]:ar=0:ct&&(ar=ct),Vt*=Vt>0?1-Ht[0][0]:Vt<0?1+Ht[1][0]:1,ar*=ar>0?1-Ht[0][1]:ar<0?1+Ht[1][1]:1;for(var Qr=[Vt,ar],nn=Et.cells||[],Wi=Et.positions||[],Lt=0;Lt<nn.length;++Lt)for(var ai=nn[Lt],jr=0;jr<3;++jr){for(var ri=0;ri<3;++ri)fr[3*Nr+ri]=bt[ri];for(var ri=0;ri<4;++ri)_r[4*Nr+ri]=Ne[ri];Or[Nr]=xr;var bi=Wi[ai[jr]];Br[2*Nr]=xe*(lt*bi[0]-Gt*bi[1]+Qr[0]),Br[2*Nr+1]=xe*(Gt*bi[0]+lt*bi[1]+Qr[1]),Nr+=1}for(var nn=dt.edges,Wi=dt.positions,Lt=0;Lt<nn.length;++Lt)for(var ai=nn[Lt],jr=0;jr<2;++jr){for(var ri=0;ri<3;++ri)fr[3*ut+ri]=bt[ri];for(var ri=0;ri<4;++ri)_r[4*ut+ri]=Ye[ri];Or[ut]=xr;var bi=Wi[ai[jr]];Br[2*ut]=xe*(lt*bi[0]-Gt*bi[1]+Qr[0]),Br[2*ut+1]=xe*(Gt*bi[0]+lt*bi[1]+Qr[1]),ut+=1}}}this.bounds=[qt,rt],this.points=Re,this.pointCount=Re.length,this.vertexCount=er,this.lineVertexCount=Ke,this.pointBuffer.update(fr),this.colorBuffer.update(_r),this.glyphBuffer.update(Br),this.idBuffer.update(Or),c.free(fr),c.free(_r),c.free(Br),c.free(Or)},g.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()};function Ee(Ae){var ze=Ae.gl,Ce=h.createPerspective(ze),me=h.createOrtho(ze),Re=h.createProject(ze),ce=h.createPickPerspective(ze),Ge=h.createPickOrtho(ze),nt=h.createPickProject(ze),ct=l(ze),qt=l(ze),rt=l(ze),ot=l(ze),Rt=u(ze,[{buffer:ct,size:3,type:ze.FLOAT},{buffer:qt,size:4,type:ze.FLOAT},{buffer:rt,size:2,type:ze.FLOAT},{buffer:ot,size:4,type:ze.UNSIGNED_BYTE,normalized:!0}]),kt=new M(ze,Ce,me,Re,ct,qt,rt,ot,Rt,ce,Ge,nt);return kt.update(Ae),kt}},3589:function(i,a,o){\"use strict\";i.exports=x;var s=o(2260),l=o(1888),u=o(9618),c=o(8828).nextPow2,f=function(b,p,E){for(var k=1e8,A=-1,L=-1,_=b.shape[0],C=b.shape[1],M=0;M<_;M++)for(var g=0;g<C;g++){var P=b.get(M,g,0),T=b.get(M,g,1),F=b.get(M,g,2),q=b.get(M,g,3);if(P<255||T<255||F<255||q<255){var V=p-M,H=E-g,X=V*V+H*H;X<k&&(k=X,A=M,L=g)}}return[A,L,k]};function h(b,p,E,k,A){this.coord=[b,p],this.id=E,this.value=k,this.distance=A}function d(b,p,E){this.gl=b,this.fbo=p,this.buffer=E,this._readTimeout=null;var k=this;this._readCallback=function(){k.gl&&(p.bind(),b.readPixels(0,0,p.shape[0],p.shape[1],b.RGBA,b.UNSIGNED_BYTE,k.buffer),k._readTimeout=null)}}var v=d.prototype;Object.defineProperty(v,\"shape\",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(b){if(this.gl){this.fbo.shape=b;var p=this.fbo.shape[0],E=this.fbo.shape[1];if(E*p*4>this.buffer.length){l.free(this.buffer);for(var k=this.buffer=l.mallocUint8(c(E*p*4)),A=0;A<E*p*4;++A)k[A]=255}return b}}}),v.begin=function(){var b=this.gl,p=this.shape;b&&(this.fbo.bind(),b.clearColor(1,1,1,1),b.clear(b.COLOR_BUFFER_BIT|b.DEPTH_BUFFER_BIT))},v.end=function(){var b=this.gl;b&&(b.bindFramebuffer(b.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},v.query=function(b,p,E){if(!this.gl)return null;var k=this.fbo.shape.slice();b=b|0,p=p|0,typeof E!=\"number\"&&(E=1);var A=Math.min(Math.max(b-E,0),k[0])|0,L=Math.min(Math.max(b+E,0),k[0])|0,_=Math.min(Math.max(p-E,0),k[1])|0,C=Math.min(Math.max(p+E,0),k[1])|0;if(L<=A||C<=_)return null;var M=[L-A,C-_],g=u(this.buffer,[M[0],M[1],4],[4,k[0]*4,1],4*(A+k[0]*_)),P=f(g.hi(M[0],M[1],1),E,E),T=P[0],F=P[1];if(T<0||Math.pow(this.radius,2)<P[2])return null;var q=g.get(T,F,0),V=g.get(T,F,1),H=g.get(T,F,2),X=g.get(T,F,3);return new h(T+A|0,F+_|0,q,[V,H,X],Math.sqrt(P[2]))},v.dispose=function(){this.gl&&(this.fbo.dispose(),l.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))};function x(b,p){var E=p[0],k=p[1],A={},L=s(b,E,k,A),_=l.mallocUint8(E*k*4);return new d(b,L,_)}},9405:function(i,a,o){\"use strict\";var s=o(3327),l=o(8731),u=o(216),c=o(5091),f=o(2145),h=o(8866);function d(p){this.gl=p,this.gl.lastAttribCount=0,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}var v=d.prototype;v.bind=function(){this.program||this._relink();var p,E=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),k=this.gl.lastAttribCount;if(E>k)for(p=k;p<E;p++)this.gl.enableVertexAttribArray(p);else if(k>E)for(p=E;p<k;p++)this.gl.disableVertexAttribArray(p);this.gl.lastAttribCount=E,this.gl.useProgram(this.program)},v.dispose=function(){for(var p=this.gl.lastAttribCount,E=0;E<p;E++)this.gl.disableVertexAttribArray(E);this.gl.lastAttribCount=0,this._fref&&this._fref.dispose(),this._vref&&this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null};function x(p,E){return p.name<E.name?-1:1}v.update=function(p,E,k,A){if(!E||arguments.length===1){var L=p;p=L.vertex,E=L.fragment,k=L.uniforms,A=L.attributes}var _=this,C=_.gl,M=_._vref;_._vref=c.shader(C,C.VERTEX_SHADER,p),M&&M.dispose(),_.vertShader=_._vref.shader;var g=this._fref;if(_._fref=c.shader(C,C.FRAGMENT_SHADER,E),g&&g.dispose(),_.fragShader=_._fref.shader,!k||!A){var P=C.createProgram();if(C.attachShader(P,_.fragShader),C.attachShader(P,_.vertShader),C.linkProgram(P),!C.getProgramParameter(P,C.LINK_STATUS)){var T=C.getProgramInfoLog(P);throw new h(T,\"Error linking program:\"+T)}k=k||f.uniforms(C,P),A=A||f.attributes(C,P),C.deleteProgram(P)}A=A.slice(),A.sort(x);var F=[],q=[],V=[],H;for(H=0;H<A.length;++H){var X=A[H];if(X.type.indexOf(\"mat\")>=0){for(var G=X.type.charAt(X.type.length-1)|0,N=new Array(G),W=0;W<G;++W)N[W]=V.length,q.push(X.name+\"[\"+W+\"]\"),typeof X.location==\"number\"?V.push(X.location+W):Array.isArray(X.location)&&X.location.length===G&&typeof X.location[W]==\"number\"?V.push(X.location[W]|0):V.push(-1);F.push({name:X.name,type:X.type,locations:N})}else F.push({name:X.name,type:X.type,locations:[V.length]}),q.push(X.name),typeof X.location==\"number\"?V.push(X.location|0):V.push(-1)}var re=0;for(H=0;H<V.length;++H)if(V[H]<0){for(;V.indexOf(re)>=0;)re+=1;V[H]=re}var ae=new Array(k.length);function _e(){_.program=c.program(C,_._vref,_._fref,q,V);for(var Me=0;Me<k.length;++Me)ae[Me]=C.getUniformLocation(_.program,k[Me].name)}_e(),_._relink=_e,_.types={uniforms:u(k),attributes:u(A)},_.attributes=l(C,_,F,V),Object.defineProperty(_,\"uniforms\",s(C,_,k,ae))};function b(p,E,k,A,L){var _=new d(p);return _.update(E,k,A,L),_}i.exports=b},8866:function(i){function a(o,s,l){this.shortMessage=s||\"\",this.longMessage=l||\"\",this.rawError=o||\"\",this.message=\"gl-shader: \"+(s||o||\"\")+(l?`\n", - "`+l:\"\"),this.stack=new Error().stack}a.prototype=new Error,a.prototype.name=\"GLError\",a.prototype.constructor=a,i.exports=a},8731:function(i,a,o){\"use strict\";i.exports=d;var s=o(8866);function l(v,x,b,p,E,k){this._gl=v,this._wrapper=x,this._index=b,this._locations=p,this._dimension=E,this._constFunc=k}var u=l.prototype;u.pointer=function(x,b,p,E){var k=this,A=k._gl,L=k._locations[k._index];A.vertexAttribPointer(L,k._dimension,x||A.FLOAT,!!b,p||0,E||0),A.enableVertexAttribArray(L)},u.set=function(v,x,b,p){return this._constFunc(this._locations[this._index],v,x,b,p)},Object.defineProperty(u,\"location\",{get:function(){return this._locations[this._index]},set:function(v){return v!==this._locations[this._index]&&(this._locations[this._index]=v|0,this._wrapper.program=null),v|0}});var c=[function(v,x,b){return b.length===void 0?v.vertexAttrib1f(x,b):v.vertexAttrib1fv(x,b)},function(v,x,b,p){return b.length===void 0?v.vertexAttrib2f(x,b,p):v.vertexAttrib2fv(x,b)},function(v,x,b,p,E){return b.length===void 0?v.vertexAttrib3f(x,b,p,E):v.vertexAttrib3fv(x,b)},function(v,x,b,p,E,k){return b.length===void 0?v.vertexAttrib4f(x,b,p,E,k):v.vertexAttrib4fv(x,b)}];function f(v,x,b,p,E,k,A){var L=c[E],_=new l(v,x,b,p,E,L);Object.defineProperty(k,A,{set:function(C){return v.disableVertexAttribArray(p[b]),L(v,p[b],C),C},get:function(){return _},enumerable:!0})}function h(v,x,b,p,E,k,A){for(var L=new Array(E),_=new Array(E),C=0;C<E;++C)f(v,x,b[C],p,E,L,C),_[C]=L[C];Object.defineProperty(L,\"location\",{set:function(P){if(Array.isArray(P))for(var T=0;T<E;++T)_[T].location=P[T];else for(var T=0;T<E;++T)_[T].location=P+T;return P},get:function(){for(var P=new Array(E),T=0;T<E;++T)P[T]=p[b[T]];return P},enumerable:!0}),L.pointer=function(P,T,F,q){P=P||v.FLOAT,T=!!T,F=F||E*E,q=q||0;for(var V=0;V<E;++V){var H=p[b[V]];v.vertexAttribPointer(H,E,P,T,F,q+V*E),v.enableVertexAttribArray(H)}};var M=new Array(E),g=v[\"vertexAttrib\"+E+\"fv\"];Object.defineProperty(k,A,{set:function(P){for(var T=0;T<E;++T){var F=p[b[T]];if(v.disableVertexAttribArray(F),Array.isArray(P[0]))g.call(v,F,P[T]);else{for(var q=0;q<E;++q)M[q]=P[E*T+q];g.call(v,F,M)}}return P},get:function(){return L},enumerable:!0})}function d(v,x,b,p){for(var E={},k=0,A=b.length;k<A;++k){var L=b[k],_=L.name,C=L.type,M=L.locations;switch(C){case\"bool\":case\"int\":case\"float\":f(v,x,M[0],p,1,E,_);break;default:if(C.indexOf(\"vec\")>=0){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new s(\"\",\"Invalid data type for attribute \"+_+\": \"+C);f(v,x,M[0],p,g,E,_)}else if(C.indexOf(\"mat\")>=0){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new s(\"\",\"Invalid data type for attribute \"+_+\": \"+C);h(v,x,M,p,g,E,_)}else throw new s(\"\",\"Unknown data type for attribute \"+_+\": \"+C);break}}return E}},3327:function(i,a,o){\"use strict\";var s=o(216),l=o(8866);i.exports=f;function u(h){return function(){return h}}function c(h,d){for(var v=new Array(h),x=0;x<h;++x)v[x]=d;return v}function f(h,d,v,x){function b(C){return function(M,g,P){return M.getUniform(g.program,P[C])}}function p(C){return function(g){for(var P=E(\"\",C),T=0;T<P.length;++T){var F=P[T],q=F[0],V=F[1];if(x[V]){var H=g;if(typeof q==\"string\"&&(q.indexOf(\".\")===0||q.indexOf(\"[\")===0)){var X=q;if(q.indexOf(\".\")===0&&(X=q.slice(1)),X.indexOf(\"]\")===X.length-1){var G=X.indexOf(\"[\"),N=X.slice(0,G),W=X.slice(G+1,X.length-1);H=N?g[N][W]:g[W]}else H=g[X]}var re=v[V].type,ae;switch(re){case\"bool\":case\"int\":case\"sampler2D\":case\"samplerCube\":h.uniform1i(x[V],H);break;case\"float\":h.uniform1f(x[V],H);break;default:var _e=re.indexOf(\"vec\");if(0<=_e&&_e<=1&&re.length===4+_e){if(ae=re.charCodeAt(re.length-1)-48,ae<2||ae>4)throw new l(\"\",\"Invalid data type\");switch(re.charAt(0)){case\"b\":case\"i\":h[\"uniform\"+ae+\"iv\"](x[V],H);break;case\"v\":h[\"uniform\"+ae+\"fv\"](x[V],H);break;default:throw new l(\"\",\"Unrecognized data type for vector \"+name+\": \"+re)}}else if(re.indexOf(\"mat\")===0&&re.length===4){if(ae=re.charCodeAt(re.length-1)-48,ae<2||ae>4)throw new l(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+re);h[\"uniformMatrix\"+ae+\"fv\"](x[V],!1,H);break}else throw new l(\"\",\"Unknown uniform data type for \"+name+\": \"+re)}}}}}function E(C,M){if(typeof M!=\"object\")return[[C,M]];var g=[];for(var P in M){var T=M[P],F=C;parseInt(P)+\"\"===P?F+=\"[\"+P+\"]\":F+=\".\"+P,typeof T==\"object\"?g.push.apply(g,E(F,T)):g.push([F,T])}return g}function k(C){switch(C){case\"bool\":return!1;case\"int\":case\"sampler2D\":case\"samplerCube\":return 0;case\"float\":return 0;default:var M=C.indexOf(\"vec\");if(0<=M&&M<=1&&C.length===4+M){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new l(\"\",\"Invalid data type\");return C.charAt(0)===\"b\"?c(g,!1):c(g,0)}else if(C.indexOf(\"mat\")===0&&C.length===4){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new l(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+C);return c(g*g,0)}else throw new l(\"\",\"Unknown uniform data type for \"+name+\": \"+C)}}function A(C,M,g){if(typeof g==\"object\"){var P=L(g);Object.defineProperty(C,M,{get:u(P),set:p(g),enumerable:!0,configurable:!1})}else x[g]?Object.defineProperty(C,M,{get:b(g),set:p(g),enumerable:!0,configurable:!1}):C[M]=k(v[g].type)}function L(C){var M;if(Array.isArray(C)){M=new Array(C.length);for(var g=0;g<C.length;++g)A(M,g,C[g])}else{M={};for(var P in C)A(M,P,C[P])}return M}var _=s(v,!0);return{get:u(L(_)),set:p(_),enumerable:!0,configurable:!0}}},216:function(i){\"use strict\";i.exports=a;function a(o,s){for(var l={},u=0;u<o.length;++u)for(var c=o[u].name,f=c.split(\".\"),h=l,d=0;d<f.length;++d){var v=f[d].split(\"[\");if(v.length>1){v[0]in h||(h[v[0]]=[]),h=h[v[0]];for(var x=1;x<v.length;++x){var b=parseInt(v[x]);x<v.length-1||d<f.length-1?(b in h||(x<v.length-1?h[b]=[]:h[b]={}),h=h[b]):s?h[b]=u:h[b]=o[u].type}}else d<f.length-1?(v[0]in h||(h[v[0]]={}),h=h[v[0]]):s?h[v[0]]=u:h[v[0]]=o[u].type}return l}},2145:function(i,a){\"use strict\";a.uniforms=u,a.attributes=c;var o={FLOAT:\"float\",FLOAT_VEC2:\"vec2\",FLOAT_VEC3:\"vec3\",FLOAT_VEC4:\"vec4\",INT:\"int\",INT_VEC2:\"ivec2\",INT_VEC3:\"ivec3\",INT_VEC4:\"ivec4\",BOOL:\"bool\",BOOL_VEC2:\"bvec2\",BOOL_VEC3:\"bvec3\",BOOL_VEC4:\"bvec4\",FLOAT_MAT2:\"mat2\",FLOAT_MAT3:\"mat3\",FLOAT_MAT4:\"mat4\",SAMPLER_2D:\"sampler2D\",SAMPLER_CUBE:\"samplerCube\"},s=null;function l(f,h){if(!s){var d=Object.keys(o);s={};for(var v=0;v<d.length;++v){var x=d[v];s[f[x]]=o[x]}}return s[h]}function u(f,h){for(var d=f.getProgramParameter(h,f.ACTIVE_UNIFORMS),v=[],x=0;x<d;++x){var b=f.getActiveUniform(h,x);if(b){var p=l(f,b.type);if(b.size>1)for(var E=0;E<b.size;++E)v.push({name:b.name.replace(\"[0]\",\"[\"+E+\"]\"),type:p});else v.push({name:b.name,type:p})}}return v}function c(f,h){for(var d=f.getProgramParameter(h,f.ACTIVE_ATTRIBUTES),v=[],x=0;x<d;++x){var b=f.getActiveAttrib(h,x);b&&v.push({name:b.name,type:l(f,b.type)})}return v}},5091:function(i,a,o){\"use strict\";a.shader=E,a.program=k;var s=o(8866),l=o(2992),u=typeof WeakMap==\"undefined\"?o(606):WeakMap,c=new u,f=0;function h(A,L,_,C,M,g,P){this.id=A,this.src=L,this.type=_,this.shader=C,this.count=g,this.programs=[],this.cache=P}h.prototype.dispose=function(){if(--this.count===0){for(var A=this.cache,L=A.gl,_=this.programs,C=0,M=_.length;C<M;++C){var g=A.programs[_[C]];g&&(delete A.programs[C],L.deleteProgram(g))}L.deleteShader(this.shader),delete A.shaders[this.type===L.FRAGMENT_SHADER|0][this.src]}};function d(A){this.gl=A,this.shaders=[{},{}],this.programs={}}var v=d.prototype;function x(A,L,_){var C=A.createShader(L);if(A.shaderSource(C,_),A.compileShader(C),!A.getShaderParameter(C,A.COMPILE_STATUS)){var M=A.getShaderInfoLog(C);try{var g=l(M,_,L)}catch(P){throw console.warn(\"Failed to format compiler error: \"+P),new s(M,`Error compiling shader:\n", - "`+M)}throw new s(M,g.short,g.long)}return C}v.getShaderReference=function(A,L){var _=this.gl,C=this.shaders[A===_.FRAGMENT_SHADER|0],M=C[L];if(!M||!_.isShader(M.shader)){var g=x(_,A,L);M=C[L]=new h(f++,L,A,g,[],1,this)}else M.count+=1;return M};function b(A,L,_,C,M){var g=A.createProgram();A.attachShader(g,L),A.attachShader(g,_);for(var P=0;P<C.length;++P)A.bindAttribLocation(g,M[P],C[P]);if(A.linkProgram(g),!A.getProgramParameter(g,A.LINK_STATUS)){var T=A.getProgramInfoLog(g);throw new s(T,\"Error linking program: \"+T)}return g}v.getProgram=function(A,L,_,C){var M=[A.id,L.id,_.join(\":\"),C.join(\":\")].join(\"@\"),g=this.programs[M];return(!g||!this.gl.isProgram(g))&&(this.programs[M]=g=b(this.gl,A.shader,L.shader,_,C),A.programs.push(M),L.programs.push(M)),g};function p(A){var L=c.get(A);return L||(L=new d(A),c.set(A,L)),L}function E(A,L,_){return p(A).getShaderReference(L,_)}function k(A,L,_,C,M){return p(A).getProgram(L,_,C,M)}},1493:function(i,a,o){\"use strict\";var s=o(3236),l=o(9405),u=s([`precision mediump float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position, color;\n", - "attribute float weight;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 coordinates[3];\n", - "uniform vec4 colors[3];\n", - "uniform vec2 screenShape;\n", - "uniform float lineWidth;\n", - "\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - " vec3 vertexPosition = mix(coordinates[0],\n", - " mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));\n", - "\n", - " vec4 clipPos = projection * (view * (model * vec4(vertexPosition, 1.0)));\n", - " vec2 clipOffset = (projection * (view * (model * vec4(color, 0.0)))).xy;\n", - " vec2 delta = weight * clipOffset * screenShape;\n", - " vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;\n", - "\n", - " gl_Position = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);\n", - " fragColor = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];\n", - "}\n", - "`]),c=s([`precision mediump float;\n", - "#define GLSLIFY 1\n", - "\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - " gl_FragColor = fragColor;\n", - "}`]);i.exports=function(f){return l(f,u,c,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec3\"},{name:\"weight\",type:\"float\"}])}},4449:function(i,a,o){\"use strict\";var s=o(2762),l=o(8116),u=o(1493);i.exports=b;var c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(p,E,k,A){this.gl=p,this.buffer=E,this.vao=k,this.shader=A,this.pixelRatio=1,this.bounds=[[-1e3,-1e3,-1e3],[1e3,1e3,1e3]],this.position=[0,0,0],this.lineWidth=[2,2,2],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.enabled=[!0,!0,!0],this.drawSides=[!0,!0,!0],this.axes=null}var h=f.prototype,d=[0,0,0],v=[0,0,0],x=[0,0];h.isTransparent=function(){return!1},h.drawTransparent=function(p){},h.draw=function(p){var E=this.gl,k=this.vao,A=this.shader;k.bind(),A.bind();var L=p.model||c,_=p.view||c,C=p.projection||c,M;this.axes&&(M=this.axes.lastCubeProps.axis);for(var g=d,P=v,T=0;T<3;++T)M&&M[T]<0?(g[T]=this.bounds[0][T],P[T]=this.bounds[1][T]):(g[T]=this.bounds[1][T],P[T]=this.bounds[0][T]);x[0]=E.drawingBufferWidth,x[1]=E.drawingBufferHeight,A.uniforms.model=L,A.uniforms.view=_,A.uniforms.projection=C,A.uniforms.coordinates=[this.position,g,P],A.uniforms.colors=this.colors,A.uniforms.screenShape=x;for(var T=0;T<3;++T)A.uniforms.lineWidth=this.lineWidth[T]*this.pixelRatio,this.enabled[T]&&(k.draw(E.TRIANGLES,6,6*T),this.drawSides[T]&&k.draw(E.TRIANGLES,12,18+12*T));k.unbind()},h.update=function(p){p&&(\"bounds\"in p&&(this.bounds=p.bounds),\"position\"in p&&(this.position=p.position),\"lineWidth\"in p&&(this.lineWidth=p.lineWidth),\"colors\"in p&&(this.colors=p.colors),\"enabled\"in p&&(this.enabled=p.enabled),\"drawSides\"in p&&(this.drawSides=p.drawSides))},h.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};function b(p,E){var k=[];function A(g,P,T,F,q,V){var H=[g,P,T,0,0,0,1];H[F+3]=1,H[F]=q,k.push.apply(k,H),H[6]=-1,k.push.apply(k,H),H[F]=V,k.push.apply(k,H),k.push.apply(k,H),H[6]=1,k.push.apply(k,H),H[F]=q,k.push.apply(k,H)}A(0,0,0,0,0,1),A(0,0,0,1,0,1),A(0,0,0,2,0,1),A(1,0,0,1,-1,1),A(1,0,0,2,-1,1),A(0,1,0,0,-1,1),A(0,1,0,2,-1,1),A(0,0,1,0,-1,1),A(0,0,1,1,-1,1);var L=s(p,k),_=l(p,[{type:p.FLOAT,buffer:L,size:3,offset:0,stride:28},{type:p.FLOAT,buffer:L,size:3,offset:12,stride:28},{type:p.FLOAT,buffer:L,size:1,offset:24,stride:28}]),C=u(p);C.attributes.position.location=0,C.attributes.color.location=1,C.attributes.weight.location=2;var M=new f(p,L,_,C);return M.update(E),M}},6740:function(i,a,o){var s=o(3236),l=s([`precision highp float;\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "vec3 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", - "//\n", - "vec3 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", - "\n", - "attribute vec4 vector;\n", - "attribute vec4 color, position;\n", - "attribute vec2 uv;\n", - "\n", - "uniform float vectorScale, tubeScale;\n", - "uniform mat4 model, view, projection, inverseModel;\n", - "uniform vec3 eyePosition, lightPosition;\n", - "\n", - "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),u=s([`#extension GL_OES_standard_derivatives : enable\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "float 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", - "\n", - "float 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", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\n", - "uniform sampler2D texture;\n", - "\n", - "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),c=s([`precision highp float;\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "vec3 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", - "//\n", - "vec3 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", - "\n", - "attribute vec4 vector;\n", - "attribute vec4 position;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform float tubeScale;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void 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", - "`]),f=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float pickId;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n", - "\n", - " gl_FragColor = vec4(pickId, f_id.xyz);\n", - "}`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec4\"}]},a.pickShader={vertex:c,fragment:f,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec4\"}]}},7815:function(i,a,o){\"use strict\";var s=o(2931),l=o(9970),u=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"],c=function(A,L,_,C){for(var M=A.points,g=A.velocities,P=A.divergences,T=[],F=[],q=[],V=[],H=[],X=[],G=0,N=0,W=l.create(),re=l.create(),ae=8,_e=0;_e<M.length;_e++){var Me=M[_e],ke=g[_e],ge=P[_e];L===0&&(ge=_*.05),N=s.length(ke)/C,W=l.create(),s.copy(W,ke),W[3]=ge;for(var ie=0;ie<ae;ie++)H[ie]=[Me[0],Me[1],Me[2],ie];if(V.length>0)for(var ie=0;ie<ae;ie++){var Te=(ie+1)%ae;T.push(V[ie],H[ie],H[Te],H[Te],V[Te],V[ie]),q.push(re,W,W,W,re,re),X.push(G,N,N,N,G,G);var Ee=T.length;F.push([Ee-6,Ee-5,Ee-4],[Ee-3,Ee-2,Ee-1])}var Ae=V;V=H,H=Ae;var ze=re;re=W,W=ze;var Ce=G;G=N,N=Ce}return{positions:T,cells:F,vectors:q,vertexIntensity:X}},f=function(A,L,_,C){for(var M=0,g=0;g<A.length;g++)for(var P=A[g].velocities,T=0;T<P.length;T++)M=Math.max(M,s.length(P[T]));for(var F=A.map(function(_e){return c(_e,_,C,M)}),q=[],V=[],H=[],X=[],g=0;g<F.length;g++){var G=F[g],N=q.length;q=q.concat(G.positions),H=H.concat(G.vectors),X=X.concat(G.vertexIntensity);for(var T=0;T<G.cells.length;T++){var W=G.cells[T],re=[];V.push(re);for(var ae=0;ae<W.length;ae++)re.push(W[ae]+N)}}return{positions:q,cells:V,vectors:H,vertexIntensity:X,colormap:L}},h=function(A,L){var _=A.length,C;for(C=0;C<_;C++){var M=A[C];if(M===L)return C;if(M>L)return C-1}return C},d=function(A,L,_){return A<L?L:A>_?_:A},v=function(A,L,_){var C=L.vectors,M=L.meshgrid,g=A[0],P=A[1],T=A[2],F=M[0].length,q=M[1].length,V=M[2].length,H=h(M[0],g),X=h(M[1],P),G=h(M[2],T),N=H+1,W=X+1,re=G+1;if(H=d(H,0,F-1),N=d(N,0,F-1),X=d(X,0,q-1),W=d(W,0,q-1),G=d(G,0,V-1),re=d(re,0,V-1),H<0||X<0||G<0||N>F-1||W>q-1||re>V-1)return s.create();var ae=M[0][H],_e=M[0][N],Me=M[1][X],ke=M[1][W],ge=M[2][G],ie=M[2][re],Te=(g-ae)/(_e-ae),Ee=(P-Me)/(ke-Me),Ae=(T-ge)/(ie-ge);isFinite(Te)||(Te=.5),isFinite(Ee)||(Ee=.5),isFinite(Ae)||(Ae=.5);var ze,Ce,me,Re,ce,Ge;switch(_.reversedX&&(H=F-1-H,N=F-1-N),_.reversedY&&(X=q-1-X,W=q-1-W),_.reversedZ&&(G=V-1-G,re=V-1-re),_.filled){case 5:ce=G,Ge=re,me=X*V,Re=W*V,ze=H*V*q,Ce=N*V*q;break;case 4:ce=G,Ge=re,ze=H*V,Ce=N*V,me=X*V*F,Re=W*V*F;break;case 3:me=X,Re=W,ce=G*q,Ge=re*q,ze=H*q*V,Ce=N*q*V;break;case 2:me=X,Re=W,ze=H*q,Ce=N*q,ce=G*q*F,Ge=re*q*F;break;case 1:ze=H,Ce=N,ce=G*F,Ge=re*F,me=X*F*V,Re=W*F*V;break;default:ze=H,Ce=N,me=X*F,Re=W*F,ce=G*F*q,Ge=re*F*q;break}var nt=C[ze+me+ce],ct=C[ze+me+Ge],qt=C[ze+Re+ce],rt=C[ze+Re+Ge],ot=C[Ce+me+ce],Rt=C[Ce+me+Ge],kt=C[Ce+Re+ce],Ct=C[Ce+Re+Ge],Yt=s.create(),xr=s.create(),er=s.create(),Ke=s.create();s.lerp(Yt,nt,ot,Te),s.lerp(xr,ct,Rt,Te),s.lerp(er,qt,kt,Te),s.lerp(Ke,rt,Ct,Te);var xt=s.create(),bt=s.create();s.lerp(xt,Yt,er,Ee),s.lerp(bt,xr,Ke,Ee);var Lt=s.create();return s.lerp(Lt,xt,bt,Ae),Lt},x=function(A,L){var _=L[0],C=L[1],M=L[2];return A[0]=_<0?-_:_,A[1]=C<0?-C:C,A[2]=M<0?-M:M,A},b=function(A){var L=1/0;A.sort(function(g,P){return g-P});for(var _=A.length,C=1;C<_;C++){var M=Math.abs(A[C]-A[C-1]);M<L&&(L=M)}return L},p=function(A){for(var L=[],_=[],C=[],M={},g={},P={},T=A.length,F=0;F<T;F++){var q=A[F],V=q[0],H=q[1],X=q[2];M[V]||(L.push(V),M[V]=!0),g[H]||(_.push(H),g[H]=!0),P[X]||(C.push(X),P[X]=!0)}var G=b(L),N=b(_),W=b(C),re=Math.min(G,N,W);return isFinite(re)?re:1};i.exports=function(A,L){var _=A.startingPositions,C=A.maxLength||1e3,M=A.tubeSize||1,g=A.absoluteTubeSize,P=A.gridFill||\"+x+y+z\",T={};P.indexOf(\"-x\")!==-1&&(T.reversedX=!0),P.indexOf(\"-y\")!==-1&&(T.reversedY=!0),P.indexOf(\"-z\")!==-1&&(T.reversedZ=!0),T.filled=u.indexOf(P.replace(/-/g,\"\").replace(/\\+/g,\"\"));var F=A.getVelocity||function(Rt){return v(Rt,A,T)},q=A.getDivergence||function(Rt,kt){var Ct=s.create(),Yt=1e-4;s.add(Ct,Rt,[Yt,0,0]);var xr=F(Ct);s.subtract(xr,xr,kt),s.scale(xr,xr,1/Yt),s.add(Ct,Rt,[0,Yt,0]);var er=F(Ct);s.subtract(er,er,kt),s.scale(er,er,1/Yt),s.add(Ct,Rt,[0,0,Yt]);var Ke=F(Ct);return s.subtract(Ke,Ke,kt),s.scale(Ke,Ke,1/Yt),s.add(Ct,xr,er),s.add(Ct,Ct,Ke),Ct},V=[],H=L[0][0],X=L[0][1],G=L[0][2],N=L[1][0],W=L[1][1],re=L[1][2],ae=function(Rt){var kt=Rt[0],Ct=Rt[1],Yt=Rt[2];return!(kt<H||kt>N||Ct<X||Ct>W||Yt<G||Yt>re)},_e=s.distance(L[0],L[1]),Me=10*_e/C,ke=Me*Me,ge=1,ie=0,Te=_.length;Te>1&&(ge=p(_));for(var Ee=0;Ee<Te;Ee++){var Ae=s.create();s.copy(Ae,_[Ee]);var ze=[Ae],Ce=[],me=F(Ae),Re=Ae;Ce.push(me);var ce=[],Ge=q(Ae,me),nt=s.length(Ge);isFinite(nt)&&nt>ie&&(ie=nt),ce.push(nt),V.push({points:ze,velocities:Ce,divergences:ce});for(var ct=0;ct<C*100&&ze.length<C&&ae(Ae);){ct++;var qt=s.clone(me),rt=s.squaredLength(qt);if(rt===0)break;if(rt>ke&&s.scale(qt,qt,Me/Math.sqrt(rt)),s.add(qt,qt,Ae),me=F(qt),s.squaredDistance(Re,qt)-ke>-1e-4*ke){ze.push(qt),Re=qt,Ce.push(me);var Ge=q(qt,me),nt=s.length(Ge);isFinite(nt)&&nt>ie&&(ie=nt),ce.push(nt)}Ae=qt}}var ot=f(V,A.colormap,ie,ge);return g?ot.tubeScale=g:(ie===0&&(ie=1),ot.tubeScale=M*.5*ge/ie),ot};var E=o(6740),k=o(6405).createMesh;i.exports.createTubeMesh=function(A,L){return k(A,L,{shaders:E,traceType:\"streamtube\"})}},990:function(i,a,o){var s=o(9405),l=o(3236),u=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec4 uv;\n", - "attribute vec3 f;\n", - "attribute vec3 normal;\n", - "\n", - "uniform vec3 objectOffset;\n", - "uniform mat4 model, view, projection, inverseModel;\n", - "uniform vec3 lightPosition, eyePosition;\n", - "uniform sampler2D colormap;\n", - "\n", - "varying float value, kill;\n", - "varying vec3 worldCoordinate;\n", - "varying vec2 planeCoordinate;\n", - "varying vec3 lightDirection, eyeDirection, surfaceNormal;\n", - "varying vec4 vColor;\n", - "\n", - "void main() {\n", - " vec3 localCoordinate = vec3(uv.zw, f.x);\n", - " worldCoordinate = objectOffset + localCoordinate;\n", - " mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0));\n", - " vec4 worldPosition = (model * objectOffsetTranslation) * vec4(localCoordinate, 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", - "`]),c=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "float 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", - "\n", - "float beckmannSpecular(\n", - " vec3 lightDirection,\n", - " vec3 viewDirection,\n", - " vec3 surfaceNormal,\n", - " float roughness) {\n", - " return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n", - "}\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 lowerBound, upperBound;\n", - "uniform float contourTint;\n", - "uniform vec4 contourColor;\n", - "uniform sampler2D colormap;\n", - "uniform vec3 clipBounds[2];\n", - "uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\n", - "uniform float vertexColor;\n", - "\n", - "varying float value, kill;\n", - "varying vec3 worldCoordinate;\n", - "varying vec3 lightDirection, eyeDirection, surfaceNormal;\n", - "varying vec4 vColor;\n", - "\n", - "void 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", - "`]),f=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec4 uv;\n", - "attribute float f;\n", - "\n", - "uniform vec3 objectOffset;\n", - "uniform mat3 permutation;\n", - "uniform mat4 model, view, projection;\n", - "uniform float height, zOffset;\n", - "uniform sampler2D colormap;\n", - "\n", - "varying float value, kill;\n", - "varying vec3 worldCoordinate;\n", - "varying vec2 planeCoordinate;\n", - "varying vec3 lightDirection, eyeDirection, surfaceNormal;\n", - "varying vec4 vColor;\n", - "\n", - "void 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", - "`]),h=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec2 shape;\n", - "uniform vec3 clipBounds[2];\n", - "uniform float pickId;\n", - "\n", - "varying float value, kill;\n", - "varying vec3 worldCoordinate;\n", - "varying vec2 planeCoordinate;\n", - "varying vec3 surfaceNormal;\n", - "\n", - "vec2 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", - "\n", - "void 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", - "`]);a.createShader=function(d){var v=s(d,u,c,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v.attributes.normal.location=2,v},a.createPickShader=function(d){var v=s(d,u,h,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v.attributes.normal.location=2,v},a.createContourShader=function(d){var v=s(d,f,c,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v},a.createPickContourShader=function(d){var v=s(d,f,h,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v}},9499:function(i,a,o){\"use strict\";i.exports=ze;var s=o(8828),l=o(2762),u=o(8116),c=o(7766),f=o(1888),h=o(6729),d=o(5298),v=o(9994),x=o(9618),b=o(3711),p=o(6760),E=o(7608),k=o(2478),A=o(6199),L=o(990),_=L.createShader,C=L.createContourShader,M=L.createPickShader,g=L.createPickContourShader,P=4*10,T=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],F=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],q=[[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(){for(var Ce=0;Ce<3;++Ce){var me=q[Ce],Re=(Ce+1)%3,ce=(Ce+2)%3;me[Re+0]=1,me[ce+3]=1,me[Ce+6]=1}})();function V(Ce,me,Re,ce,Ge){this.position=Ce,this.index=me,this.uv=Re,this.level=ce,this.dataCoordinate=Ge}var H=256;function X(Ce,me,Re,ce,Ge,nt,ct,qt,rt,ot,Rt,kt,Ct,Yt,xr){this.gl=Ce,this.shape=me,this.bounds=Re,this.objectOffset=xr,this.intensityBounds=[],this._shader=ce,this._pickShader=Ge,this._coordinateBuffer=nt,this._vao=ct,this._colorMap=qt,this._contourShader=rt,this._contourPickShader=ot,this._contourBuffer=Rt,this._contourVAO=kt,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new V([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=Ct,this._dynamicVAO=Yt,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=[x(f.mallocFloat(1024),[0,0]),x(f.mallocFloat(1024),[0,0]),x(f.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 G=X.prototype;G.genColormap=function(Ce,me){var Re=!1,ce=v([h({colormap:Ce,nshades:H,format:\"rgba\"}).map(function(Ge,nt){var ct=me?N(nt/255,me):Ge[3];return ct<1&&(Re=!0),[Ge[0],Ge[1],Ge[2],255*ct]})]);return d.divseq(ce,255),this.hasAlphaScale=Re,ce},G.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},G.isOpaque=function(){return!this.isTransparent()},G.pickSlots=1,G.setPickBase=function(Ce){this.pickId=Ce};function N(Ce,me){if(!me||!me.length)return 1;for(var Re=0;Re<me.length;++Re){if(me.length<2)return 1;if(me[Re][0]===Ce)return me[Re][1];if(me[Re][0]>Ce&&Re>0){var ce=(me[Re][0]-Ce)/(me[Re][0]-me[Re-1][0]);return me[Re][1]*(1-ce)+ce*me[Re-1][1]}}return 1}var W=[0,0,0],re={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 ae(Ce,me){var Re,ce,Ge,nt=me.axes&&me.axes.lastCubeProps.axis||W,ct=me.showSurface,qt=me.showContour;for(Re=0;Re<3;++Re)for(ct=ct||me.surfaceProject[Re],ce=0;ce<3;++ce)qt=qt||me.contourProject[Re][ce];for(Re=0;Re<3;++Re){var rt=re.projections[Re];for(ce=0;ce<16;++ce)rt[ce]=0;for(ce=0;ce<4;++ce)rt[5*ce]=1;rt[5*Re]=0,rt[12+Re]=me.axesBounds[+(nt[Re]>0)][Re],p(rt,Ce.model,rt);var ot=re.clipBounds[Re];for(Ge=0;Ge<2;++Ge)for(ce=0;ce<3;++ce)ot[Ge][ce]=Ce.clipBounds[Ge][ce];ot[0][Re]=-1e8,ot[1][Re]=1e8}return re.showSurface=ct,re.showContour=qt,re}var _e={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},Me=T.slice(),ke=[1,0,0,0,1,0,0,0,1];function ge(Ce,me){Ce=Ce||{};var Re=this.gl;Re.disable(Re.CULL_FACE),this._colorMap.bind(0);var ce=_e;ce.model=Ce.model||T,ce.view=Ce.view||T,ce.projection=Ce.projection||T,ce.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],ce.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],ce.objectOffset=this.objectOffset,ce.contourColor=this.contourColor[0],ce.inverseModel=E(ce.inverseModel,ce.model);for(var Ge=0;Ge<2;++Ge)for(var nt=ce.clipBounds[Ge],ct=0;ct<3;++ct)nt[ct]=Math.min(Math.max(this.clipBounds[Ge][ct],-1e8),1e8);ce.kambient=this.ambientLight,ce.kdiffuse=this.diffuseLight,ce.kspecular=this.specularLight,ce.roughness=this.roughness,ce.fresnel=this.fresnel,ce.opacity=this.opacity,ce.height=0,ce.permutation=ke,ce.vertexColor=this.vertexColor;var qt=Me;for(p(qt,ce.view,ce.model),p(qt,ce.projection,qt),E(qt,qt),Ge=0;Ge<3;++Ge)ce.eyePosition[Ge]=qt[12+Ge]/qt[15];var rt=qt[15];for(Ge=0;Ge<3;++Ge)rt+=this.lightPosition[Ge]*qt[4*Ge+3];for(Ge=0;Ge<3;++Ge){var ot=qt[12+Ge];for(ct=0;ct<3;++ct)ot+=qt[4*ct+Ge]*this.lightPosition[ct];ce.lightPosition[Ge]=ot/rt}var Rt=ae(ce,this);if(Rt.showSurface){for(this._shader.bind(),this._shader.uniforms=ce,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(Re.TRIANGLES,this._vertexCount),Ge=0;Ge<3;++Ge)!this.surfaceProject[Ge]||!this.vertexCount||(this._shader.uniforms.model=Rt.projections[Ge],this._shader.uniforms.clipBounds=Rt.clipBounds[Ge],this._vao.draw(Re.TRIANGLES,this._vertexCount));this._vao.unbind()}if(Rt.showContour){var kt=this._contourShader;ce.kambient=1,ce.kdiffuse=0,ce.kspecular=0,ce.opacity=1,kt.bind(),kt.uniforms=ce;var Ct=this._contourVAO;for(Ct.bind(),Ge=0;Ge<3;++Ge)for(kt.uniforms.permutation=q[Ge],Re.lineWidth(this.contourWidth[Ge]*this.pixelRatio),ct=0;ct<this.contourLevels[Ge].length;++ct)ct===this.highlightLevel[Ge]?(kt.uniforms.contourColor=this.highlightColor[Ge],kt.uniforms.contourTint=this.highlightTint[Ge]):(ct===0||ct-1===this.highlightLevel[Ge])&&(kt.uniforms.contourColor=this.contourColor[Ge],kt.uniforms.contourTint=this.contourTint[Ge]),this._contourCounts[Ge][ct]&&(kt.uniforms.height=this.contourLevels[Ge][ct],Ct.draw(Re.LINES,this._contourCounts[Ge][ct],this._contourOffsets[Ge][ct]));for(Ge=0;Ge<3;++Ge)for(kt.uniforms.model=Rt.projections[Ge],kt.uniforms.clipBounds=Rt.clipBounds[Ge],ct=0;ct<3;++ct)if(this.contourProject[Ge][ct]){kt.uniforms.permutation=q[ct],Re.lineWidth(this.contourWidth[ct]*this.pixelRatio);for(var Yt=0;Yt<this.contourLevels[ct].length;++Yt)Yt===this.highlightLevel[ct]?(kt.uniforms.contourColor=this.highlightColor[ct],kt.uniforms.contourTint=this.highlightTint[ct]):(Yt===0||Yt-1===this.highlightLevel[ct])&&(kt.uniforms.contourColor=this.contourColor[ct],kt.uniforms.contourTint=this.contourTint[ct]),this._contourCounts[ct][Yt]&&(kt.uniforms.height=this.contourLevels[ct][Yt],Ct.draw(Re.LINES,this._contourCounts[ct][Yt],this._contourOffsets[ct][Yt]))}for(Ct.unbind(),Ct=this._dynamicVAO,Ct.bind(),Ge=0;Ge<3;++Ge)if(this._dynamicCounts[Ge]!==0)for(kt.uniforms.model=ce.model,kt.uniforms.clipBounds=ce.clipBounds,kt.uniforms.permutation=q[Ge],Re.lineWidth(this.dynamicWidth[Ge]*this.pixelRatio),kt.uniforms.contourColor=this.dynamicColor[Ge],kt.uniforms.contourTint=this.dynamicTint[Ge],kt.uniforms.height=this.dynamicLevel[Ge],Ct.draw(Re.LINES,this._dynamicCounts[Ge],this._dynamicOffsets[Ge]),ct=0;ct<3;++ct)this.contourProject[ct][Ge]&&(kt.uniforms.model=Rt.projections[ct],kt.uniforms.clipBounds=Rt.clipBounds[ct],Ct.draw(Re.LINES,this._dynamicCounts[Ge],this._dynamicOffsets[Ge]));Ct.unbind()}}G.draw=function(Ce){return ge.call(this,Ce,!1)},G.drawTransparent=function(Ce){return ge.call(this,Ce,!0)};var ie={model:T,view:T,projection:T,inverseModel:T,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,objectOffset:[0,0,0],permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};G.drawPick=function(Ce){Ce=Ce||{};var me=this.gl;me.disable(me.CULL_FACE);var Re=ie;Re.model=Ce.model||T,Re.view=Ce.view||T,Re.projection=Ce.projection||T,Re.shape=this._field[2].shape,Re.pickId=this.pickId/255,Re.lowerBound=this.bounds[0],Re.upperBound=this.bounds[1],Re.objectOffset=this.objectOffset,Re.permutation=ke;for(var ce=0;ce<2;++ce)for(var Ge=Re.clipBounds[ce],nt=0;nt<3;++nt)Ge[nt]=Math.min(Math.max(this.clipBounds[ce][nt],-1e8),1e8);var ct=ae(Re,this);if(ct.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=Re,this._vao.bind(),this._vao.draw(me.TRIANGLES,this._vertexCount),ce=0;ce<3;++ce)this.surfaceProject[ce]&&(this._pickShader.uniforms.model=ct.projections[ce],this._pickShader.uniforms.clipBounds=ct.clipBounds[ce],this._vao.draw(me.TRIANGLES,this._vertexCount));this._vao.unbind()}if(ct.showContour){var qt=this._contourPickShader;qt.bind(),qt.uniforms=Re;var rt=this._contourVAO;for(rt.bind(),nt=0;nt<3;++nt)for(me.lineWidth(this.contourWidth[nt]*this.pixelRatio),qt.uniforms.permutation=q[nt],ce=0;ce<this.contourLevels[nt].length;++ce)this._contourCounts[nt][ce]&&(qt.uniforms.height=this.contourLevels[nt][ce],rt.draw(me.LINES,this._contourCounts[nt][ce],this._contourOffsets[nt][ce]));for(ce=0;ce<3;++ce)for(qt.uniforms.model=ct.projections[ce],qt.uniforms.clipBounds=ct.clipBounds[ce],nt=0;nt<3;++nt)if(this.contourProject[ce][nt]){qt.uniforms.permutation=q[nt],me.lineWidth(this.contourWidth[nt]*this.pixelRatio);for(var ot=0;ot<this.contourLevels[nt].length;++ot)this._contourCounts[nt][ot]&&(qt.uniforms.height=this.contourLevels[nt][ot],rt.draw(me.LINES,this._contourCounts[nt][ot],this._contourOffsets[nt][ot]))}rt.unbind()}},G.pick=function(Ce){if(!Ce||Ce.id!==this.pickId)return null;var me=this._field[2].shape,Re=this._pickResult,ce=me[0]*(Ce.value[0]+(Ce.value[2]>>4)/16)/255,Ge=Math.floor(ce),nt=ce-Ge,ct=me[1]*(Ce.value[1]+(Ce.value[2]&15)/16)/255,qt=Math.floor(ct),rt=ct-qt;Ge+=1,qt+=1;var ot=Re.position;ot[0]=ot[1]=ot[2]=0;for(var Rt=0;Rt<2;++Rt)for(var kt=Rt?nt:1-nt,Ct=0;Ct<2;++Ct)for(var Yt=Ct?rt:1-rt,xr=Ge+Rt,er=qt+Ct,Ke=kt*Yt,xt=0;xt<3;++xt)ot[xt]+=this._field[xt].get(xr,er)*Ke;for(var bt=this._pickResult.level,Lt=0;Lt<3;++Lt)if(bt[Lt]=k.le(this.contourLevels[Lt],ot[Lt]),bt[Lt]<0)this.contourLevels[Lt].length>0&&(bt[Lt]=0);else if(bt[Lt]<this.contourLevels[Lt].length-1){var St=this.contourLevels[Lt][bt[Lt]],Et=this.contourLevels[Lt][bt[Lt]+1];Math.abs(St-ot[Lt])>Math.abs(Et-ot[Lt])&&(bt[Lt]+=1)}for(Re.index[0]=nt<.5?Ge:Ge+1,Re.index[1]=rt<.5?qt:qt+1,Re.uv[0]=ce/me[0],Re.uv[1]=ct/me[1],xt=0;xt<3;++xt)Re.dataCoordinate[xt]=this._field[xt].get(Re.index[0],Re.index[1]);return Re},G.padField=function(Ce,me){var Re=me.shape.slice(),ce=Ce.shape.slice();d.assign(Ce.lo(1,1).hi(Re[0],Re[1]),me),d.assign(Ce.lo(1).hi(Re[0],1),me.hi(Re[0],1)),d.assign(Ce.lo(1,ce[1]-1).hi(Re[0],1),me.lo(0,Re[1]-1).hi(Re[0],1)),d.assign(Ce.lo(0,1).hi(1,Re[1]),me.hi(1)),d.assign(Ce.lo(ce[0]-1,1).hi(1,Re[1]),me.lo(Re[0]-1)),Ce.set(0,0,me.get(0,0)),Ce.set(0,ce[1]-1,me.get(0,Re[1]-1)),Ce.set(ce[0]-1,0,me.get(Re[0]-1,0)),Ce.set(ce[0]-1,ce[1]-1,me.get(Re[0]-1,Re[1]-1))};function Te(Ce,me){return Array.isArray(Ce)?[me(Ce[0]),me(Ce[1]),me(Ce[2])]:[me(Ce),me(Ce),me(Ce)]}function Ee(Ce){return Array.isArray(Ce)?Ce.length===3?[Ce[0],Ce[1],Ce[2],1]:[Ce[0],Ce[1],Ce[2],Ce[3]]:[0,0,0,1]}function Ae(Ce){if(Array.isArray(Ce)){if(Array.isArray(Ce))return[Ee(Ce[0]),Ee(Ce[1]),Ee(Ce[2])];var me=Ee(Ce);return[me.slice(),me.slice(),me.slice()]}}G.update=function(Ce){Ce=Ce||{},this.objectOffset=Ce.objectOffset||this.objectOffset,this.dirty=!0,\"contourWidth\"in Ce&&(this.contourWidth=Te(Ce.contourWidth,Number)),\"showContour\"in Ce&&(this.showContour=Te(Ce.showContour,Boolean)),\"showSurface\"in Ce&&(this.showSurface=!!Ce.showSurface),\"contourTint\"in Ce&&(this.contourTint=Te(Ce.contourTint,Boolean)),\"contourColor\"in Ce&&(this.contourColor=Ae(Ce.contourColor)),\"contourProject\"in Ce&&(this.contourProject=Te(Ce.contourProject,function(Gi){return Te(Gi,Boolean)})),\"surfaceProject\"in Ce&&(this.surfaceProject=Ce.surfaceProject),\"dynamicColor\"in Ce&&(this.dynamicColor=Ae(Ce.dynamicColor)),\"dynamicTint\"in Ce&&(this.dynamicTint=Te(Ce.dynamicTint,Number)),\"dynamicWidth\"in Ce&&(this.dynamicWidth=Te(Ce.dynamicWidth,Number)),\"opacity\"in Ce&&(this.opacity=Ce.opacity),\"opacityscale\"in Ce&&(this.opacityscale=Ce.opacityscale),\"colorBounds\"in Ce&&(this.colorBounds=Ce.colorBounds),\"vertexColor\"in Ce&&(this.vertexColor=Ce.vertexColor?1:0),\"colormap\"in Ce&&this._colorMap.setPixels(this.genColormap(Ce.colormap,this.opacityscale));var me=Ce.field||Ce.coords&&Ce.coords[2]||null,Re=!1;if(me||(this._field[2].shape[0]||this._field[2].shape[2]?me=this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):me=this._field[2].hi(0,0)),\"field\"in Ce||\"coords\"in Ce){var ce=(me.shape[0]+2)*(me.shape[1]+2);ce>this._field[2].data.length&&(f.freeFloat(this._field[2].data),this._field[2].data=f.mallocFloat(s.nextPow2(ce))),this._field[2]=x(this._field[2].data,[me.shape[0]+2,me.shape[1]+2]),this.padField(this._field[2],me),this.shape=me.shape.slice();for(var Ge=this.shape,nt=0;nt<2;++nt)this._field[2].size>this._field[nt].data.length&&(f.freeFloat(this._field[nt].data),this._field[nt].data=f.mallocFloat(this._field[2].size)),this._field[nt]=x(this._field[nt].data,[Ge[0]+2,Ge[1]+2]);if(Ce.coords){var ct=Ce.coords;if(!Array.isArray(ct)||ct.length!==3)throw new Error(\"gl-surface: invalid coordinates for x/y\");for(nt=0;nt<2;++nt){var qt=ct[nt];for(Ct=0;Ct<2;++Ct)if(qt.shape[Ct]!==Ge[Ct])throw new Error(\"gl-surface: coords have incorrect shape\");this.padField(this._field[nt],qt)}}else if(Ce.ticks){var rt=Ce.ticks;if(!Array.isArray(rt)||rt.length!==2)throw new Error(\"gl-surface: invalid ticks\");for(nt=0;nt<2;++nt){var ot=rt[nt];if((Array.isArray(ot)||ot.length)&&(ot=x(ot)),ot.shape[0]!==Ge[nt])throw new Error(\"gl-surface: invalid tick length\");var Rt=x(ot.data,Ge);Rt.stride[nt]=ot.stride[0],Rt.stride[nt^1]=0,this.padField(this._field[nt],Rt)}}else{for(nt=0;nt<2;++nt){var kt=[0,0];kt[nt]=1,this._field[nt]=x(this._field[nt].data,[Ge[0]+2,Ge[1]+2],kt,0)}this._field[0].set(0,0,0);for(var Ct=0;Ct<Ge[0];++Ct)this._field[0].set(Ct+1,0,Ct);for(this._field[0].set(Ge[0]+1,0,Ge[0]-1),this._field[1].set(0,0,0),Ct=0;Ct<Ge[1];++Ct)this._field[1].set(0,Ct+1,Ct);this._field[1].set(0,Ge[1]+1,Ge[1]-1)}var Yt=this._field,xr=x(f.mallocFloat(Yt[2].size*3*2),[3,Ge[0]+2,Ge[1]+2,2]);for(nt=0;nt<3;++nt)A(xr.pick(nt),Yt[nt],\"mirror\");var er=x(f.mallocFloat(Yt[2].size*3),[Ge[0]+2,Ge[1]+2,3]);for(nt=0;nt<Ge[0]+2;++nt)for(Ct=0;Ct<Ge[1]+2;++Ct){var Ke=xr.get(0,nt,Ct,0),xt=xr.get(0,nt,Ct,1),bt=xr.get(1,nt,Ct,0),Lt=xr.get(1,nt,Ct,1),St=xr.get(2,nt,Ct,0),Et=xr.get(2,nt,Ct,1),dt=bt*Et-Lt*St,Ht=St*xt-Et*Ke,$t=Ke*Lt-xt*bt,fr=Math.sqrt(dt*dt+Ht*Ht+$t*$t);fr<1e-8?(fr=Math.max(Math.abs(dt),Math.abs(Ht),Math.abs($t)),fr<1e-8?($t=1,Ht=dt=0,fr=1):fr=1/fr):fr=1/Math.sqrt(fr),er.set(nt,Ct,0,dt*fr),er.set(nt,Ct,1,Ht*fr),er.set(nt,Ct,2,$t*fr)}f.free(xr.data);var _r=[1/0,1/0,1/0],Br=[-1/0,-1/0,-1/0],Or=1/0,Nr=-1/0,ut=(Ge[0]-1)*(Ge[1]-1)*6,Ne=f.mallocFloat(s.nextPow2(10*ut)),Ye=0,Ve=0;for(nt=0;nt<Ge[0]-1;++nt)e:for(Ct=0;Ct<Ge[1]-1;++Ct){for(var Xe=0;Xe<2;++Xe)for(var ht=0;ht<2;++ht)for(var Le=0;Le<3;++Le){var xe=this._field[Le].get(1+nt+Xe,1+Ct+ht);if(isNaN(xe)||!isFinite(xe))continue e}for(Le=0;Le<6;++Le){var Se=nt+F[Le][0],lt=Ct+F[Le][1],Gt=this._field[0].get(Se+1,lt+1),Vt=this._field[1].get(Se+1,lt+1);xe=this._field[2].get(Se+1,lt+1),dt=er.get(Se+1,lt+1,0),Ht=er.get(Se+1,lt+1,1),$t=er.get(Se+1,lt+1,2),Ce.intensity&&(ar=Ce.intensity.get(Se,lt));var ar=Ce.intensity?Ce.intensity.get(Se,lt):xe+this.objectOffset[2];Ne[Ye++]=Se,Ne[Ye++]=lt,Ne[Ye++]=Gt,Ne[Ye++]=Vt,Ne[Ye++]=xe,Ne[Ye++]=0,Ne[Ye++]=ar,Ne[Ye++]=dt,Ne[Ye++]=Ht,Ne[Ye++]=$t,_r[0]=Math.min(_r[0],Gt+this.objectOffset[0]),_r[1]=Math.min(_r[1],Vt+this.objectOffset[1]),_r[2]=Math.min(_r[2],xe+this.objectOffset[2]),Or=Math.min(Or,ar),Br[0]=Math.max(Br[0],Gt+this.objectOffset[0]),Br[1]=Math.max(Br[1],Vt+this.objectOffset[1]),Br[2]=Math.max(Br[2],xe+this.objectOffset[2]),Nr=Math.max(Nr,ar),Ve+=1}}for(Ce.intensityBounds&&(Or=+Ce.intensityBounds[0],Nr=+Ce.intensityBounds[1]),nt=6;nt<Ye;nt+=10)Ne[nt]=(Ne[nt]-Or)/(Nr-Or);this._vertexCount=Ve,this._coordinateBuffer.update(Ne.subarray(0,Ye)),f.freeFloat(Ne),f.free(er.data),this.bounds=[_r,Br],this.intensity=Ce.intensity||this._field[2],(this.intensityBounds[0]!==Or||this.intensityBounds[1]!==Nr)&&(Re=!0),this.intensityBounds=[Or,Nr]}if(\"levels\"in Ce){var Qr=Ce.levels;for(Array.isArray(Qr[0])?Qr=Qr.slice():Qr=[[],[],Qr],nt=0;nt<3;++nt)Qr[nt]=Qr[nt].slice(),Qr[nt].sort(function(Gi,Ki){return Gi-Ki});for(nt=0;nt<3;++nt)for(Ct=0;Ct<Qr[nt].length;++Ct)Qr[nt][Ct]-=this.objectOffset[nt];e:for(nt=0;nt<3;++nt){if(Qr[nt].length!==this.contourLevels[nt].length){Re=!0;break}for(Ct=0;Ct<Qr[nt].length;++Ct)if(Qr[nt][Ct]!==this.contourLevels[nt][Ct]){Re=!0;break e}}this.contourLevels=Qr}if(Re){Yt=this._field,Ge=this.shape;for(var ai=[],jr=0;jr<3;++jr){var ri=this.contourLevels[jr],bi=[],nn=[],Wi=[0,0,0];for(nt=0;nt<ri.length;++nt){var Ni=b(this._field[jr],ri[nt]);bi.push(ai.length/5|0),Ve=0;e:for(Ct=0;Ct<Ni.cells.length;++Ct){var _n=Ni.cells[Ct];for(Le=0;Le<2;++Le){var $i=Ni.positions[_n[Le]],zn=$i[0],Wn=Math.floor(zn)|0,It=zn-Wn,ft=$i[1],jt=Math.floor(ft)|0,Zt=ft-jt,yr=!1;t:for(var Fr=0;Fr<3;++Fr){Wi[Fr]=0;var Zr=(jr+Fr+1)%3;for(Xe=0;Xe<2;++Xe){var Vr=Xe?It:1-It;for(Se=Math.min(Math.max(Wn+Xe,0),Ge[0])|0,ht=0;ht<2;++ht){var gi=ht?Zt:1-Zt;if(lt=Math.min(Math.max(jt+ht,0),Ge[1])|0,Fr<2?xe=this._field[Zr].get(Se,lt):xe=(this.intensity.get(Se,lt)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(xe)||isNaN(xe)){yr=!0;break t}var Si=Vr*gi;Wi[Fr]+=Si*xe}}}if(!yr)ai.push(Wi[0],Wi[1],$i[0],$i[1],Wi[2]),Ve+=1;else{if(Le>0){for(var Mi=0;Mi<5;++Mi)ai.pop();Ve-=1}continue e}}}nn.push(Ve)}this._contourOffsets[jr]=bi,this._contourCounts[jr]=nn}var Pi=f.mallocFloat(ai.length);for(nt=0;nt<ai.length;++nt)Pi[nt]=ai[nt];this._contourBuffer.update(Pi),f.freeFloat(Pi)}},G.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var Ce=0;Ce<3;++Ce)f.freeFloat(this._field[Ce].data)},G.highlight=function(Ce){var me;if(!Ce){this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],this.highlightLevel=[-1,-1,-1];return}for(me=0;me<3;++me)this.enableHighlight[me]?this.highlightLevel[me]=Ce.level[me]:this.highlightLevel[me]=-1;var Re;for(this.snapToData?Re=Ce.dataCoordinate:Re=Ce.position,me=0;me<3;++me)Re[me]-=this.objectOffset[me];if(!((!this.enableDynamic[0]||Re[0]===this.dynamicLevel[0])&&(!this.enableDynamic[1]||Re[1]===this.dynamicLevel[1])&&(!this.enableDynamic[2]||Re[2]===this.dynamicLevel[2]))){for(var ce=0,Ge=this.shape,nt=f.mallocFloat(12*Ge[0]*Ge[1]),ct=0;ct<3;++ct){if(!this.enableDynamic[ct]){this.dynamicLevel[ct]=NaN,this._dynamicCounts[ct]=0;continue}this.dynamicLevel[ct]=Re[ct];var qt=(ct+1)%3,rt=(ct+2)%3,ot=this._field[ct],Rt=this._field[qt],kt=this._field[rt],Ct=b(ot,Re[ct]),Yt=Ct.cells,xr=Ct.positions;for(this._dynamicOffsets[ct]=ce,me=0;me<Yt.length;++me)for(var er=Yt[me],Ke=0;Ke<2;++Ke){var xt=xr[er[Ke]],bt=+xt[0],Lt=bt|0,St=Math.min(Lt+1,Ge[0])|0,Et=bt-Lt,dt=1-Et,Ht=+xt[1],$t=Ht|0,fr=Math.min($t+1,Ge[1])|0,_r=Ht-$t,Br=1-_r,Or=dt*Br,Nr=dt*_r,ut=Et*Br,Ne=Et*_r,Ye=Or*Rt.get(Lt,$t)+Nr*Rt.get(Lt,fr)+ut*Rt.get(St,$t)+Ne*Rt.get(St,fr),Ve=Or*kt.get(Lt,$t)+Nr*kt.get(Lt,fr)+ut*kt.get(St,$t)+Ne*kt.get(St,fr);if(isNaN(Ye)||isNaN(Ve)){Ke&&(ce-=1);break}nt[2*ce+0]=Ye,nt[2*ce+1]=Ve,ce+=1}this._dynamicCounts[ct]=ce-this._dynamicOffsets[ct]}this._dynamicBuffer.update(nt.subarray(0,2*ce)),f.freeFloat(nt)}};function ze(Ce){var me=Ce.gl,Re=_(me),ce=M(me),Ge=C(me),nt=g(me),ct=l(me),qt=u(me,[{buffer:ct,size:4,stride:P,offset:0},{buffer:ct,size:3,stride:P,offset:16},{buffer:ct,size:3,stride:P,offset:28}]),rt=l(me),ot=u(me,[{buffer:rt,size:4,stride:20,offset:0},{buffer:rt,size:1,stride:20,offset:16}]),Rt=l(me),kt=u(me,[{buffer:Rt,size:2,type:me.FLOAT}]),Ct=c(me,1,H,me.RGBA,me.UNSIGNED_BYTE);Ct.minFilter=me.LINEAR,Ct.magFilter=me.LINEAR;var Yt=new X(me,[0,0],[[0,0,0],[0,0,0]],Re,ce,ct,qt,Ct,Ge,nt,rt,ot,Rt,kt,[0,0,0]),xr={levels:[[],[],[]]};for(var er in Ce)xr[er]=Ce[er];return xr.colormap=xr.colormap||\"jet\",Yt.update(xr),Yt}},7766:function(i,a,o){\"use strict\";var s=o(9618),l=o(5298),u=o(1888);i.exports=g;var c=null,f=null,h=null;function d(P){c=[P.LINEAR,P.NEAREST_MIPMAP_LINEAR,P.LINEAR_MIPMAP_NEAREST,P.LINEAR_MIPMAP_NEAREST],f=[P.NEAREST,P.LINEAR,P.NEAREST_MIPMAP_NEAREST,P.NEAREST_MIPMAP_LINEAR,P.LINEAR_MIPMAP_NEAREST,P.LINEAR_MIPMAP_LINEAR],h=[P.REPEAT,P.CLAMP_TO_EDGE,P.MIRRORED_REPEAT]}function v(P){return typeof HTMLCanvasElement!=\"undefined\"&&P instanceof HTMLCanvasElement||typeof HTMLImageElement!=\"undefined\"&&P instanceof HTMLImageElement||typeof HTMLVideoElement!=\"undefined\"&&P instanceof HTMLVideoElement||typeof ImageData!=\"undefined\"&&P instanceof ImageData}var x=function(P,T){l.muls(P,T,255)};function b(P,T,F){var q=P.gl,V=q.getParameter(q.MAX_TEXTURE_SIZE);if(T<0||T>V||F<0||F>V)throw new Error(\"gl-texture2d: Invalid texture size\");return P._shape=[T,F],P.bind(),q.texImage2D(q.TEXTURE_2D,0,P.format,T,F,0,P.format,P.type,null),P._mipLevels=[0],P}function p(P,T,F,q,V,H){this.gl=P,this.handle=T,this.format=V,this.type=H,this._shape=[F,q],this._mipLevels=[0],this._magFilter=P.NEAREST,this._minFilter=P.NEAREST,this._wrapS=P.CLAMP_TO_EDGE,this._wrapT=P.CLAMP_TO_EDGE,this._anisoSamples=1;var X=this,G=[this._wrapS,this._wrapT];Object.defineProperties(G,[{get:function(){return X._wrapS},set:function(W){return X.wrapS=W}},{get:function(){return X._wrapT},set:function(W){return X.wrapT=W}}]),this._wrapVector=G;var N=[this._shape[0],this._shape[1]];Object.defineProperties(N,[{get:function(){return X._shape[0]},set:function(W){return X.width=W}},{get:function(){return X._shape[1]},set:function(W){return X.height=W}}]),this._shapeVector=N}var E=p.prototype;Object.defineProperties(E,{minFilter:{get:function(){return this._minFilter},set:function(P){this.bind();var T=this.gl;if(this.type===T.FLOAT&&c.indexOf(P)>=0&&(T.getExtension(\"OES_texture_float_linear\")||(P=T.NEAREST)),f.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+P);return T.texParameteri(T.TEXTURE_2D,T.TEXTURE_MIN_FILTER,P),this._minFilter=P}},magFilter:{get:function(){return this._magFilter},set:function(P){this.bind();var T=this.gl;if(this.type===T.FLOAT&&c.indexOf(P)>=0&&(T.getExtension(\"OES_texture_float_linear\")||(P=T.NEAREST)),f.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+P);return T.texParameteri(T.TEXTURE_2D,T.TEXTURE_MAG_FILTER,P),this._magFilter=P}},mipSamples:{get:function(){return this._anisoSamples},set:function(P){var T=this._anisoSamples;if(this._anisoSamples=Math.max(P,1)|0,T!==this._anisoSamples){var F=this.gl.getExtension(\"EXT_texture_filter_anisotropic\");F&&this.gl.texParameterf(this.gl.TEXTURE_2D,F.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(P){if(this.bind(),h.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+P);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,P),this._wrapS=P}},wrapT:{get:function(){return this._wrapT},set:function(P){if(this.bind(),h.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+P);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,P),this._wrapT=P}},wrap:{get:function(){return this._wrapVector},set:function(P){if(Array.isArray(P)||(P=[P,P]),P.length!==2)throw new Error(\"gl-texture2d: Must specify wrap mode for rows and columns\");for(var T=0;T<2;++T)if(h.indexOf(P[T])<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+P);this._wrapS=P[0],this._wrapT=P[1];var F=this.gl;return this.bind(),F.texParameteri(F.TEXTURE_2D,F.TEXTURE_WRAP_S,this._wrapS),F.texParameteri(F.TEXTURE_2D,F.TEXTURE_WRAP_T,this._wrapT),P}},shape:{get:function(){return this._shapeVector},set:function(P){if(!Array.isArray(P))P=[P|0,P|0];else if(P.length!==2)throw new Error(\"gl-texture2d: Invalid texture shape\");return b(this,P[0]|0,P[1]|0),[P[0]|0,P[1]|0]}},width:{get:function(){return this._shape[0]},set:function(P){return P=P|0,b(this,P,this._shape[1]),P}},height:{get:function(){return this._shape[1]},set:function(P){return P=P|0,b(this,this._shape[0],P),P}}}),E.bind=function(P){var T=this.gl;return P!==void 0&&T.activeTexture(T.TEXTURE0+(P|0)),T.bindTexture(T.TEXTURE_2D,this.handle),P!==void 0?P|0:T.getParameter(T.ACTIVE_TEXTURE)-T.TEXTURE0},E.dispose=function(){this.gl.deleteTexture(this.handle)},E.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var P=Math.min(this._shape[0],this._shape[1]),T=0;P>0;++T,P>>>=1)this._mipLevels.indexOf(T)<0&&this._mipLevels.push(T)},E.setPixels=function(P,T,F,q){var V=this.gl;this.bind(),Array.isArray(T)?(q=F,F=T[1]|0,T=T[0]|0):(T=T||0,F=F||0),q=q||0;var H=v(P)?P:P.raw;if(H){var X=this._mipLevels.indexOf(q)<0;X?(V.texImage2D(V.TEXTURE_2D,0,this.format,this.format,this.type,H),this._mipLevels.push(q)):V.texSubImage2D(V.TEXTURE_2D,q,T,F,this.format,this.type,H)}else if(P.shape&&P.stride&&P.data){if(P.shape.length<2||T+P.shape[1]>this._shape[1]>>>q||F+P.shape[0]>this._shape[0]>>>q||T<0||F<0)throw new Error(\"gl-texture2d: Texture dimensions are out of bounds\");A(V,T,F,q,this.format,this.type,this._mipLevels,P)}else throw new Error(\"gl-texture2d: Unsupported data type\")};function k(P,T){return P.length===3?T[2]===1&&T[1]===P[0]*P[2]&&T[0]===P[2]:T[0]===1&&T[1]===P[0]}function A(P,T,F,q,V,H,X,G){var N=G.dtype,W=G.shape.slice();if(W.length<2||W.length>3)throw new Error(\"gl-texture2d: Invalid ndarray, must be 2d or 3d\");var re=0,ae=0,_e=k(W,G.stride.slice());N===\"float32\"?re=P.FLOAT:N===\"float64\"?(re=P.FLOAT,_e=!1,N=\"float32\"):N===\"uint8\"?re=P.UNSIGNED_BYTE:(re=P.UNSIGNED_BYTE,_e=!1,N=\"uint8\");var Me=1;if(W.length===2)ae=P.LUMINANCE,W=[W[0],W[1],1],G=s(G.data,W,[G.stride[0],G.stride[1],1],G.offset);else if(W.length===3){if(W[2]===1)ae=P.ALPHA;else if(W[2]===2)ae=P.LUMINANCE_ALPHA;else if(W[2]===3)ae=P.RGB;else if(W[2]===4)ae=P.RGBA;else throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");Me=W[2]}else throw new Error(\"gl-texture2d: Invalid shape for texture\");if((ae===P.LUMINANCE||ae===P.ALPHA)&&(V===P.LUMINANCE||V===P.ALPHA)&&(ae=V),ae!==V)throw new Error(\"gl-texture2d: Incompatible texture format for setPixels\");var ke=G.size,ge=X.indexOf(q)<0;if(ge&&X.push(q),re===H&&_e)G.offset===0&&G.data.length===ke?ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,G.data):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,G.data):ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,G.data.subarray(G.offset,G.offset+ke)):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,G.data.subarray(G.offset,G.offset+ke));else{var ie;H===P.FLOAT?ie=u.mallocFloat32(ke):ie=u.mallocUint8(ke);var Te=s(ie,W,[W[2],W[2]*W[0],1]);re===P.FLOAT&&H===P.UNSIGNED_BYTE?x(Te,G):l.assign(Te,G),ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,ie.subarray(0,ke)):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,ie.subarray(0,ke)),H===P.FLOAT?u.freeFloat32(ie):u.freeUint8(ie)}}function L(P){var T=P.createTexture();return P.bindTexture(P.TEXTURE_2D,T),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_MIN_FILTER,P.NEAREST),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_MAG_FILTER,P.NEAREST),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_WRAP_S,P.CLAMP_TO_EDGE),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_WRAP_T,P.CLAMP_TO_EDGE),T}function _(P,T,F,q,V){var H=P.getParameter(P.MAX_TEXTURE_SIZE);if(T<0||T>H||F<0||F>H)throw new Error(\"gl-texture2d: Invalid texture shape\");if(V===P.FLOAT&&!P.getExtension(\"OES_texture_float\"))throw new Error(\"gl-texture2d: Floating point textures not supported on this platform\");var X=L(P);return P.texImage2D(P.TEXTURE_2D,0,q,T,F,0,q,V,null),new p(P,X,T,F,q,V)}function C(P,T,F,q,V,H){var X=L(P);return P.texImage2D(P.TEXTURE_2D,0,V,V,H,T),new p(P,X,F,q,V,H)}function M(P,T){var F=T.dtype,q=T.shape.slice(),V=P.getParameter(P.MAX_TEXTURE_SIZE);if(q[0]<0||q[0]>V||q[1]<0||q[1]>V)throw new Error(\"gl-texture2d: Invalid texture size\");var H=k(q,T.stride.slice()),X=0;F===\"float32\"?X=P.FLOAT:F===\"float64\"?(X=P.FLOAT,H=!1,F=\"float32\"):F===\"uint8\"?X=P.UNSIGNED_BYTE:(X=P.UNSIGNED_BYTE,H=!1,F=\"uint8\");var G=0;if(q.length===2)G=P.LUMINANCE,q=[q[0],q[1],1],T=s(T.data,q,[T.stride[0],T.stride[1],1],T.offset);else if(q.length===3)if(q[2]===1)G=P.ALPHA;else if(q[2]===2)G=P.LUMINANCE_ALPHA;else if(q[2]===3)G=P.RGB;else if(q[2]===4)G=P.RGBA;else throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");else throw new Error(\"gl-texture2d: Invalid shape for texture\");X===P.FLOAT&&!P.getExtension(\"OES_texture_float\")&&(X=P.UNSIGNED_BYTE,H=!1);var N,W,re=T.size;if(H)T.offset===0&&T.data.length===re?N=T.data:N=T.data.subarray(T.offset,T.offset+re);else{var ae=[q[2],q[2]*q[0],1];W=u.malloc(re,F);var _e=s(W,q,ae,0);(F===\"float32\"||F===\"float64\")&&X===P.UNSIGNED_BYTE?x(_e,T):l.assign(_e,T),N=W.subarray(0,re)}var Me=L(P);return P.texImage2D(P.TEXTURE_2D,0,G,q[0],q[1],0,G,X,N),H||u.free(W),new p(P,Me,q[0],q[1],G,X)}function g(P){if(arguments.length<=1)throw new Error(\"gl-texture2d: Missing arguments for texture2d constructor\");if(c||d(P),typeof arguments[1]==\"number\")return _(P,arguments[1],arguments[2],arguments[3]||P.RGBA,arguments[4]||P.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return _(P,arguments[1][0]|0,arguments[1][1]|0,arguments[2]||P.RGBA,arguments[3]||P.UNSIGNED_BYTE);if(typeof arguments[1]==\"object\"){var T=arguments[1],F=v(T)?T:T.raw;if(F)return C(P,F,T.width|0,T.height|0,arguments[2]||P.RGBA,arguments[3]||P.UNSIGNED_BYTE);if(T.shape&&T.data&&T.stride)return M(P,T)}throw new Error(\"gl-texture2d: Invalid arguments for texture2d constructor\")}},1433:function(i){\"use strict\";function a(o,s,l){s?s.bind():o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,null);var u=o.getParameter(o.MAX_VERTEX_ATTRIBS)|0;if(l){if(l.length>u)throw new Error(\"gl-vao: Too many vertex attributes\");for(var c=0;c<l.length;++c){var f=l[c];if(f.buffer){var h=f.buffer,d=f.size||4,v=f.type||o.FLOAT,x=!!f.normalized,b=f.stride||0,p=f.offset||0;h.bind(),o.enableVertexAttribArray(c),o.vertexAttribPointer(c,d,v,x,b,p)}else{if(typeof f==\"number\")o.vertexAttrib1f(c,f);else if(f.length===1)o.vertexAttrib1f(c,f[0]);else if(f.length===2)o.vertexAttrib2f(c,f[0],f[1]);else if(f.length===3)o.vertexAttrib3f(c,f[0],f[1],f[2]);else if(f.length===4)o.vertexAttrib4f(c,f[0],f[1],f[2],f[3]);else throw new Error(\"gl-vao: Invalid vertex attribute\");o.disableVertexAttribArray(c)}}for(;c<u;++c)o.disableVertexAttribArray(c)}else{o.bindBuffer(o.ARRAY_BUFFER,null);for(var c=0;c<u;++c)o.disableVertexAttribArray(c)}}i.exports=a},870:function(i,a,o){\"use strict\";var s=o(1433);function l(c){this.gl=c,this._elements=null,this._attributes=null,this._elementsType=c.UNSIGNED_SHORT}l.prototype.bind=function(){s(this.gl,this._elements,this._attributes)},l.prototype.update=function(c,f,h){this._elements=f,this._attributes=c,this._elementsType=h||this.gl.UNSIGNED_SHORT},l.prototype.dispose=function(){},l.prototype.unbind=function(){},l.prototype.draw=function(c,f,h){h=h||0;var d=this.gl;this._elements?d.drawElements(c,f,this._elementsType,h):d.drawArrays(c,h,f)};function u(c){return new l(c)}i.exports=u},7518:function(i,a,o){\"use strict\";var s=o(1433);function l(f,h,d,v,x,b){this.location=f,this.dimension=h,this.a=d,this.b=v,this.c=x,this.d=b}l.prototype.bind=function(f){switch(this.dimension){case 1:f.vertexAttrib1f(this.location,this.a);break;case 2:f.vertexAttrib2f(this.location,this.a,this.b);break;case 3:f.vertexAttrib3f(this.location,this.a,this.b,this.c);break;case 4:f.vertexAttrib4f(this.location,this.a,this.b,this.c,this.d);break}};function u(f,h,d){this.gl=f,this._ext=h,this.handle=d,this._attribs=[],this._useElements=!1,this._elementsType=f.UNSIGNED_SHORT}u.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var f=0;f<this._attribs.length;++f)this._attribs[f].bind(this.gl)},u.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},u.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},u.prototype.update=function(f,h,d){if(this.bind(),s(this.gl,h,f),this.unbind(),this._attribs.length=0,f)for(var v=0;v<f.length;++v){var x=f[v];typeof x==\"number\"?this._attribs.push(new l(v,1,x)):Array.isArray(x)&&this._attribs.push(new l(v,x.length,x[0],x[1],x[2],x[3]))}this._useElements=!!h,this._elementsType=d||this.gl.UNSIGNED_SHORT},u.prototype.draw=function(f,h,d){d=d||0;var v=this.gl;this._useElements?v.drawElements(f,h,this._elementsType,d):v.drawArrays(f,d,h)};function c(f,h){return new u(f,h,h.createVertexArrayOES())}i.exports=c},8116:function(i,a,o){\"use strict\";var s=o(7518),l=o(870);function u(f){this.bindVertexArrayOES=f.bindVertexArray.bind(f),this.createVertexArrayOES=f.createVertexArray.bind(f),this.deleteVertexArrayOES=f.deleteVertexArray.bind(f)}function c(f,h,d,v){var x=f.createVertexArray?new u(f):f.getExtension(\"OES_vertex_array_object\"),b;return x?b=s(f,x):b=l(f),b.update(h,d,v),b}i.exports=c},5632:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]+l[0],o[1]=s[1]+l[1],o[2]=s[2]+l[2],o}},8192:function(i,a,o){i.exports=c;var s=o(2825),l=o(3536),u=o(244);function c(f,h){var d=s(f[0],f[1],f[2]),v=s(h[0],h[1],h[2]);l(d,d),l(v,v);var x=u(d,v);return x>1?0:Math.acos(x)}},9226:function(i){i.exports=a;function a(o,s){return o[0]=Math.ceil(s[0]),o[1]=Math.ceil(s[1]),o[2]=Math.ceil(s[2]),o}},3126:function(i){i.exports=a;function a(o){var s=new Float32Array(3);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s}},3990:function(i){i.exports=a;function a(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o}},1091:function(i){i.exports=a;function a(){var o=new Float32Array(3);return o[0]=0,o[1]=0,o[2]=0,o}},5911:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2];return o[0]=c*v-f*d,o[1]=f*h-u*v,o[2]=u*d-c*h,o}},5455:function(i,a,o){i.exports=o(7056)},7056:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2];return Math.sqrt(l*l+u*u+c*c)}},4008:function(i,a,o){i.exports=o(6690)},6690:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o}},244:function(i){i.exports=a;function a(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]}},2613:function(i){i.exports=1e-6},9922:function(i,a,o){i.exports=l;var s=o(2613);function l(u,c){var f=u[0],h=u[1],d=u[2],v=c[0],x=c[1],b=c[2];return Math.abs(f-v)<=s*Math.max(1,Math.abs(f),Math.abs(v))&&Math.abs(h-x)<=s*Math.max(1,Math.abs(h),Math.abs(x))&&Math.abs(d-b)<=s*Math.max(1,Math.abs(d),Math.abs(b))}},9265:function(i){i.exports=a;function a(o,s){return o[0]===s[0]&&o[1]===s[1]&&o[2]===s[2]}},2681:function(i){i.exports=a;function a(o,s){return o[0]=Math.floor(s[0]),o[1]=Math.floor(s[1]),o[2]=Math.floor(s[2]),o}},5137:function(i,a,o){i.exports=l;var s=o(1091)();function l(u,c,f,h,d,v){var x,b;for(c||(c=3),f||(f=0),h?b=Math.min(h*c+f,u.length):b=u.length,x=f;x<b;x+=c)s[0]=u[x],s[1]=u[x+1],s[2]=u[x+2],d(s,s,v),u[x]=s[0],u[x+1]=s[1],u[x+2]=s[2];return u}},2825:function(i){i.exports=a;function a(o,s,l){var u=new Float32Array(3);return u[0]=o,u[1]=s,u[2]=l,u}},2931:function(i,a,o){i.exports={EPSILON:o(2613),create:o(1091),clone:o(3126),angle:o(8192),fromValues:o(2825),copy:o(3990),set:o(1463),equals:o(9922),exactEquals:o(9265),add:o(5632),subtract:o(6843),sub:o(2229),multiply:o(5847),mul:o(4505),divide:o(6690),div:o(4008),min:o(8107),max:o(7417),floor:o(2681),ceil:o(9226),round:o(2447),scale:o(6621),scaleAndAdd:o(8489),distance:o(7056),dist:o(5455),squaredDistance:o(2953),sqrDist:o(6141),length:o(1387),len:o(868),squaredLength:o(3066),sqrLen:o(5486),negate:o(5093),inverse:o(811),normalize:o(3536),dot:o(244),cross:o(5911),lerp:o(6658),random:o(7636),transformMat4:o(5673),transformMat3:o(492),transformQuat:o(264),rotateX:o(6894),rotateY:o(109),rotateZ:o(8692),forEach:o(5137)}},811:function(i){i.exports=a;function a(o,s){return o[0]=1/s[0],o[1]=1/s[1],o[2]=1/s[2],o}},868:function(i,a,o){i.exports=o(1387)},1387:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2];return Math.sqrt(s*s+l*l+u*u)}},6658:function(i){i.exports=a;function a(o,s,l,u){var c=s[0],f=s[1],h=s[2];return o[0]=c+u*(l[0]-c),o[1]=f+u*(l[1]-f),o[2]=h+u*(l[2]-h),o}},7417:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.max(s[0],l[0]),o[1]=Math.max(s[1],l[1]),o[2]=Math.max(s[2],l[2]),o}},8107:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.min(s[0],l[0]),o[1]=Math.min(s[1],l[1]),o[2]=Math.min(s[2],l[2]),o}},4505:function(i,a,o){i.exports=o(5847)},5847:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l[0],o[1]=s[1]*l[1],o[2]=s[2]*l[2],o}},5093:function(i){i.exports=a;function a(o,s){return o[0]=-s[0],o[1]=-s[1],o[2]=-s[2],o}},3536:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=l*l+u*u+c*c;return f>0&&(f=1/Math.sqrt(f),o[0]=s[0]*f,o[1]=s[1]*f,o[2]=s[2]*f),o}},7636:function(i){i.exports=a;function a(o,s){s=s||1;var l=Math.random()*2*Math.PI,u=Math.random()*2-1,c=Math.sqrt(1-u*u)*s;return o[0]=Math.cos(l)*c,o[1]=Math.sin(l)*c,o[2]=u*s,o}},6894:function(i){i.exports=a;function a(o,s,l,u){var c=l[1],f=l[2],h=s[1]-c,d=s[2]-f,v=Math.sin(u),x=Math.cos(u);return o[0]=s[0],o[1]=c+h*x-d*v,o[2]=f+h*v+d*x,o}},109:function(i){i.exports=a;function a(o,s,l,u){var c=l[0],f=l[2],h=s[0]-c,d=s[2]-f,v=Math.sin(u),x=Math.cos(u);return o[0]=c+d*v+h*x,o[1]=s[1],o[2]=f+d*x-h*v,o}},8692:function(i){i.exports=a;function a(o,s,l,u){var c=l[0],f=l[1],h=s[0]-c,d=s[1]-f,v=Math.sin(u),x=Math.cos(u);return o[0]=c+h*x-d*v,o[1]=f+h*v+d*x,o[2]=s[2],o}},2447:function(i){i.exports=a;function a(o,s){return o[0]=Math.round(s[0]),o[1]=Math.round(s[1]),o[2]=Math.round(s[2]),o}},6621:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o}},8489:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o}},1463:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s,o[1]=l,o[2]=u,o}},6141:function(i,a,o){i.exports=o(2953)},5486:function(i,a,o){i.exports=o(3066)},2953:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2];return l*l+u*u+c*c}},3066:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2];return s*s+l*l+u*u}},2229:function(i,a,o){i.exports=o(6843)},6843:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o}},492:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2];return o[0]=u*l[0]+c*l[3]+f*l[6],o[1]=u*l[1]+c*l[4]+f*l[7],o[2]=u*l[2]+c*l[5]+f*l[8],o}},5673:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[3]*u+l[7]*c+l[11]*f+l[15];return h=h||1,o[0]=(l[0]*u+l[4]*c+l[8]*f+l[12])/h,o[1]=(l[1]*u+l[5]*c+l[9]*f+l[13])/h,o[2]=(l[2]*u+l[6]*c+l[10]*f+l[14])/h,o}},264:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2],x=l[3],b=x*u+d*f-v*c,p=x*c+v*u-h*f,E=x*f+h*c-d*u,k=-h*u-d*c-v*f;return o[0]=b*x+k*-h+p*-v-E*-d,o[1]=p*x+k*-d+E*-h-b*-v,o[2]=E*x+k*-v+b*-d-p*-h,o}},4361:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]+l[0],o[1]=s[1]+l[1],o[2]=s[2]+l[2],o[3]=s[3]+l[3],o}},2335:function(i){i.exports=a;function a(o){var s=new Float32Array(4);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s[3]=o[3],s}},2933:function(i){i.exports=a;function a(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o[3]=s[3],o}},7536:function(i){i.exports=a;function a(){var o=new Float32Array(4);return o[0]=0,o[1]=0,o[2]=0,o[3]=0,o}},4691:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2],f=s[3]-o[3];return Math.sqrt(l*l+u*u+c*c+f*f)}},1373:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o[3]=s[3]/l[3],o}},3750:function(i){i.exports=a;function a(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]+o[3]*s[3]}},3390:function(i){i.exports=a;function a(o,s,l,u){var c=new Float32Array(4);return c[0]=o,c[1]=s,c[2]=l,c[3]=u,c}},9970:function(i,a,o){i.exports={create:o(7536),clone:o(2335),fromValues:o(3390),copy:o(2933),set:o(4578),add:o(4361),subtract:o(6860),multiply:o(3576),divide:o(1373),min:o(2334),max:o(160),scale:o(9288),scaleAndAdd:o(4844),distance:o(4691),squaredDistance:o(7960),length:o(6808),squaredLength:o(483),negate:o(1498),inverse:o(4494),normalize:o(5177),dot:o(3750),lerp:o(2573),random:o(9131),transformMat4:o(5352),transformQuat:o(4041)}},4494:function(i){i.exports=a;function a(o,s){return o[0]=1/s[0],o[1]=1/s[1],o[2]=1/s[2],o[3]=1/s[3],o}},6808:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3];return Math.sqrt(s*s+l*l+u*u+c*c)}},2573:function(i){i.exports=a;function a(o,s,l,u){var c=s[0],f=s[1],h=s[2],d=s[3];return o[0]=c+u*(l[0]-c),o[1]=f+u*(l[1]-f),o[2]=h+u*(l[2]-h),o[3]=d+u*(l[3]-d),o}},160:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.max(s[0],l[0]),o[1]=Math.max(s[1],l[1]),o[2]=Math.max(s[2],l[2]),o[3]=Math.max(s[3],l[3]),o}},2334:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.min(s[0],l[0]),o[1]=Math.min(s[1],l[1]),o[2]=Math.min(s[2],l[2]),o[3]=Math.min(s[3],l[3]),o}},3576:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l[0],o[1]=s[1]*l[1],o[2]=s[2]*l[2],o[3]=s[3]*l[3],o}},1498:function(i){i.exports=a;function a(o,s){return o[0]=-s[0],o[1]=-s[1],o[2]=-s[2],o[3]=-s[3],o}},5177:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=s[3],h=l*l+u*u+c*c+f*f;return h>0&&(h=1/Math.sqrt(h),o[0]=l*h,o[1]=u*h,o[2]=c*h,o[3]=f*h),o}},9131:function(i,a,o){var s=o(5177),l=o(9288);i.exports=u;function u(c,f){return f=f||1,c[0]=Math.random(),c[1]=Math.random(),c[2]=Math.random(),c[3]=Math.random(),s(c,c),l(c,c,f),c}},9288:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o[3]=s[3]*l,o}},4844:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o[3]=s[3]+l[3]*u,o}},4578:function(i){i.exports=a;function a(o,s,l,u,c){return o[0]=s,o[1]=l,o[2]=u,o[3]=c,o}},7960:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2],f=s[3]-o[3];return l*l+u*u+c*c+f*f}},483:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3];return s*s+l*l+u*u+c*c}},6860:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o[3]=s[3]-l[3],o}},5352:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=s[3];return o[0]=l[0]*u+l[4]*c+l[8]*f+l[12]*h,o[1]=l[1]*u+l[5]*c+l[9]*f+l[13]*h,o[2]=l[2]*u+l[6]*c+l[10]*f+l[14]*h,o[3]=l[3]*u+l[7]*c+l[11]*f+l[15]*h,o}},4041:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2],x=l[3],b=x*u+d*f-v*c,p=x*c+v*u-h*f,E=x*f+h*c-d*u,k=-h*u-d*c-v*f;return o[0]=b*x+k*-h+p*-v-E*-d,o[1]=p*x+k*-d+E*-h-b*-v,o[2]=E*x+k*-v+b*-d-p*-h,o[3]=s[3],o}},1848:function(i,a,o){var s=o(4905),l=o(6468);i.exports=u;function u(c){for(var f=Array.isArray(c)?c:s(c),h=0;h<f.length;h++){var d=f[h];if(d.type===\"preprocessor\"){var v=d.data.match(/\\#define\\s+SHADER_NAME(_B64)?\\s+(.+)$/);if(v&&v[2]){var x=v[1],b=v[2];return(x?l(b):b).trim()}}}}},5874:function(i,a,o){i.exports=T;var s=o(620),l=o(7827),u=o(6852),c=o(7932),f=o(3508),h=999,d=9999,v=0,x=1,b=2,p=3,E=4,k=5,A=6,L=7,_=8,C=9,M=10,g=11,P=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"];function T(F){var q=0,V=0,H=h,X,G,N=[],W=[],re=0,ae=0,_e=1,Me=0,ke=0,ge=!1,ie=!1,Te=\"\",Ee;F=F||{};var Ae=u,ze=s;F.version===\"300 es\"&&(Ae=f,ze=c);for(var Ce={},me={},q=0;q<Ae.length;q++)Ce[Ae[q]]=!0;for(var q=0;q<ze.length;q++)me[ze[q]]=!0;return function(Ke){return W=[],Ke!==null?ce(Ke):Ge()};function Re(Ke){Ke.length&&W.push({type:P[H],data:Ke,position:ke,line:_e,column:Me})}function ce(Ke){q=0,Ke.toString&&(Ke=Ke.toString()),Te+=Ke.replace(/\\r\\n/g,`\n", - "`),Ee=Te.length;for(var xt;X=Te[q],q<Ee;){switch(xt=q,H){case v:q=ot();break;case x:q=rt();break;case b:q=qt();break;case p:q=Rt();break;case E:q=Yt();break;case g:q=Ct();break;case k:q=xr();break;case d:q=er();break;case C:q=ct();break;case h:q=nt();break}if(xt!==q)switch(Te[xt]){case`\n", - "`:Me=0,++_e;break;default:++Me;break}}return V+=q,Te=Te.slice(q),W}function Ge(Ke){return N.length&&Re(N.join(\"\")),H=M,Re(\"(eof)\"),W}function nt(){return N=N.length?[]:N,G===\"/\"&&X===\"*\"?(ke=V+q-1,H=v,G=X,q+1):G===\"/\"&&X===\"/\"?(ke=V+q-1,H=x,G=X,q+1):X===\"#\"?(H=b,ke=V+q,q):/\\s/.test(X)?(H=C,ke=V+q,q):(ge=/\\d/.test(X),ie=/[^\\w_]/.test(X),ke=V+q,H=ge?E:ie?p:d,q)}function ct(){return/[^\\s]/g.test(X)?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function qt(){return(X===\"\\r\"||X===`\n", - "`)&&G!==\"\\\\\"?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function rt(){return qt()}function ot(){return X===\"/\"&&G===\"*\"?(N.push(X),Re(N.join(\"\")),H=h,q+1):(N.push(X),G=X,q+1)}function Rt(){if(G===\".\"&&/\\d/.test(X))return H=k,q;if(G===\"/\"&&X===\"*\")return H=v,q;if(G===\"/\"&&X===\"/\")return H=x,q;if(X===\".\"&&N.length){for(;kt(N););return H=k,q}if(X===\";\"||X===\")\"||X===\"(\"){if(N.length)for(;kt(N););return Re(X),H=h,q+1}var Ke=N.length===2&&X!==\"=\";if(/[\\w_\\d\\s]/.test(X)||Ke){for(;kt(N););return H=h,q}return N.push(X),G=X,q+1}function kt(Ke){var xt=0,bt,Lt;do{if(bt=l.indexOf(Ke.slice(0,Ke.length+xt).join(\"\")),Lt=l[bt],bt===-1){if(xt--+Ke.length>0)continue;Lt=Ke.slice(0,1).join(\"\")}return Re(Lt),ke+=Lt.length,N=N.slice(Lt.length),N.length}while(!0)}function Ct(){return/[^a-fA-F0-9]/.test(X)?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function Yt(){return X===\".\"||/[eE]/.test(X)?(N.push(X),H=k,G=X,q+1):X===\"x\"&&N.length===1&&N[0]===\"0\"?(H=g,N.push(X),G=X,q+1):/[^\\d]/.test(X)?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function xr(){return X===\"f\"&&(N.push(X),G=X,q+=1),/[eE]/.test(X)||(X===\"-\"||X===\"+\")&&/[eE]/.test(G)?(N.push(X),G=X,q+1):/[^\\d]/.test(X)?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function er(){if(/[^\\d\\w_]/.test(X)){var Ke=N.join(\"\");return me[Ke]?H=_:Ce[Ke]?H=L:H=A,Re(N.join(\"\")),H=h,q}return N.push(X),G=X,q+1}}},3508:function(i,a,o){var s=o(6852);s=s.slice().filter(function(l){return!/^(gl\\_|texture)/.test(l)}),i.exports=s.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(i){i.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(i,a,o){var s=o(620);i.exports=s.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(i){i.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(i){i.exports=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"]},4905:function(i,a,o){var s=o(5874);i.exports=l;function l(u,c){var f=s(c),h=[];return h=h.concat(f(u)),h=h.concat(f(null)),h}},3236:function(i){i.exports=function(a){typeof a==\"string\"&&(a=[a]);for(var o=[].slice.call(arguments,1),s=[],l=0;l<a.length-1;l++)s.push(a[l],o[l]||\"\");return s.push(a[l]),s.join(\"\")}},7520:function(i,a,o){\"use strict\";var s=o(9507);function l(){var u=!1;try{var c=Object.defineProperty({},\"passive\",{get:function(){u=!0}});window.addEventListener(\"test\",null,c),window.removeEventListener(\"test\",null,c)}catch(f){u=!1}return u}i.exports=s&&l()},3778:function(i,a){a.read=function(o,s,l,u,c){var f,h,d=c*8-u-1,v=(1<<d)-1,x=v>>1,b=-7,p=l?c-1:0,E=l?-1:1,k=o[s+p];for(p+=E,f=k&(1<<-b)-1,k>>=-b,b+=d;b>0;f=f*256+o[s+p],p+=E,b-=8);for(h=f&(1<<-b)-1,f>>=-b,b+=u;b>0;h=h*256+o[s+p],p+=E,b-=8);if(f===0)f=1-x;else{if(f===v)return h?NaN:(k?-1:1)*(1/0);h=h+Math.pow(2,u),f=f-x}return(k?-1:1)*h*Math.pow(2,f-u)},a.write=function(o,s,l,u,c,f){var h,d,v,x=f*8-c-1,b=(1<<x)-1,p=b>>1,E=c===23?Math.pow(2,-24)-Math.pow(2,-77):0,k=u?0:f-1,A=u?1:-1,L=s<0||s===0&&1/s<0?1:0;for(s=Math.abs(s),isNaN(s)||s===1/0?(d=isNaN(s)?1:0,h=b):(h=Math.floor(Math.log(s)/Math.LN2),s*(v=Math.pow(2,-h))<1&&(h--,v*=2),h+p>=1?s+=E/v:s+=E*Math.pow(2,1-p),s*v>=2&&(h++,v/=2),h+p>=b?(d=0,h=b):h+p>=1?(d=(s*v-1)*Math.pow(2,c),h=h+p):(d=s*Math.pow(2,p-1)*Math.pow(2,c),h=0));c>=8;o[l+k]=d&255,k+=A,d/=256,c-=8);for(h=h<<c|d,x+=c;x>0;o[l+k]=h&255,k+=A,h/=256,x-=8);o[l+k-A]|=L*128}},8954:function(i,a,o){\"use strict\";i.exports=p;var s=o(3250),l=o(6803).Fw;function u(E,k,A){this.vertices=E,this.adjacent=k,this.boundary=A,this.lastVisited=-1}u.prototype.flip=function(){var E=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=E;var k=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=k};function c(E,k,A){this.vertices=E,this.cell=k,this.index=A}function f(E,k){return l(E.vertices,k.vertices)}function h(E){return function(){var k=this.tuple;return E.apply(this,k)}}function d(E){var k=s[E+1];return k||(k=s),h(k)}var v=[];function x(E,k,A){this.dimension=E,this.vertices=k,this.simplices=A,this.interior=A.filter(function(C){return!C.boundary}),this.tuple=new Array(E+1);for(var L=0;L<=E;++L)this.tuple[L]=this.vertices[L];var _=v[E];_||(_=v[E]=d(E)),this.orient=_}var b=x.prototype;b.handleBoundaryDegeneracy=function(E,k){var A=this.dimension,L=this.vertices.length-1,_=this.tuple,C=this.vertices,M=[E];for(E.lastVisited=-L;M.length>0;){E=M.pop();for(var g=E.adjacent,P=0;P<=A;++P){var T=g[P];if(!(!T.boundary||T.lastVisited<=-L)){for(var F=T.vertices,q=0;q<=A;++q){var V=F[q];V<0?_[q]=k:_[q]=C[V]}var H=this.orient();if(H>0)return T;T.lastVisited=-L,H===0&&M.push(T)}}}return null},b.walk=function(E,k){var A=this.vertices.length-1,L=this.dimension,_=this.vertices,C=this.tuple,M=k?this.interior.length*Math.random()|0:this.interior.length-1,g=this.interior[M];e:for(;!g.boundary;){for(var P=g.vertices,T=g.adjacent,F=0;F<=L;++F)C[F]=_[P[F]];g.lastVisited=A;for(var F=0;F<=L;++F){var q=T[F];if(!(q.lastVisited>=A)){var V=C[F];C[F]=E;var H=this.orient();if(C[F]=V,H<0){g=q;continue e}else q.boundary?q.lastVisited=-A:q.lastVisited=A}}return}return g},b.addPeaks=function(E,k){var A=this.vertices.length-1,L=this.dimension,_=this.vertices,C=this.tuple,M=this.interior,g=this.simplices,P=[k];k.lastVisited=A,k.vertices[k.vertices.indexOf(-1)]=A,k.boundary=!1,M.push(k);for(var T=[];P.length>0;){var k=P.pop(),F=k.vertices,q=k.adjacent,V=F.indexOf(A);if(!(V<0)){for(var H=0;H<=L;++H)if(H!==V){var X=q[H];if(!(!X.boundary||X.lastVisited>=A)){var G=X.vertices;if(X.lastVisited!==-A){for(var N=0,W=0;W<=L;++W)G[W]<0?(N=W,C[W]=E):C[W]=_[G[W]];var re=this.orient();if(re>0){G[N]=A,X.boundary=!1,M.push(X),P.push(X),X.lastVisited=A;continue}else X.lastVisited=-A}var ae=X.adjacent,_e=F.slice(),Me=q.slice(),ke=new u(_e,Me,!0);g.push(ke);var ge=ae.indexOf(k);if(!(ge<0)){ae[ge]=ke,Me[V]=X,_e[H]=-1,Me[H]=k,q[H]=ke,ke.flip();for(var W=0;W<=L;++W){var ie=_e[W];if(!(ie<0||ie===A)){for(var Te=new Array(L-1),Ee=0,Ae=0;Ae<=L;++Ae){var ze=_e[Ae];ze<0||Ae===W||(Te[Ee++]=ze)}T.push(new c(Te,ke,W))}}}}}}}T.sort(f);for(var H=0;H+1<T.length;H+=2){var Ce=T[H],me=T[H+1],Re=Ce.index,ce=me.index;Re<0||ce<0||(Ce.cell.adjacent[Ce.index]=me.cell,me.cell.adjacent[me.index]=Ce.cell)}},b.insert=function(E,k){var A=this.vertices;A.push(E);var L=this.walk(E,k);if(L){for(var _=this.dimension,C=this.tuple,M=0;M<=_;++M){var g=L.vertices[M];g<0?C[M]=E:C[M]=A[g]}var P=this.orient(C);P<0||P===0&&(L=this.handleBoundaryDegeneracy(L,E),!L)||this.addPeaks(E,L)}},b.boundary=function(){for(var E=this.dimension,k=[],A=this.simplices,L=A.length,_=0;_<L;++_){var C=A[_];if(C.boundary){for(var M=new Array(E),g=C.vertices,P=0,T=0,F=0;F<=E;++F)g[F]>=0?M[P++]=g[F]:T=F&1;if(T===(E&1)){var q=M[0];M[0]=M[1],M[1]=q}k.push(M)}}return k};function p(E,k){var A=E.length;if(A===0)throw new Error(\"Must have at least d+1 points\");var L=E[0].length;if(A<=L)throw new Error(\"Must input at least d+1 points\");var _=E.slice(0,L+1),C=s.apply(void 0,_);if(C===0)throw new Error(\"Input not in general position\");for(var M=new Array(L+1),g=0;g<=L;++g)M[g]=g;C<0&&(M[0]=1,M[1]=0);for(var P=new u(M,new Array(L+1),!1),T=P.adjacent,F=new Array(L+2),g=0;g<=L;++g){for(var q=M.slice(),V=0;V<=L;++V)V===g&&(q[V]=-1);var H=q[0];q[0]=q[1],q[1]=H;var X=new u(q,new Array(L+1),!0);T[g]=X,F[g]=X}F[L+1]=P;for(var g=0;g<=L;++g)for(var q=T[g].vertices,G=T[g].adjacent,V=0;V<=L;++V){var N=q[V];if(N<0){G[V]=P;continue}for(var W=0;W<=L;++W)T[W].vertices.indexOf(N)<0&&(G[V]=T[W])}for(var re=new x(L,_,F),ae=!!k,g=L+1;g<A;++g)re.insert(E[g],ae);return re.boundary()}},3352:function(i,a,o){\"use strict\";var s=o(2478),l=0,u=1,c=2;i.exports=P;function f(T,F,q,V,H){this.mid=T,this.left=F,this.right=q,this.leftPoints=V,this.rightPoints=H,this.count=(F?F.count:0)+(q?q.count:0)+V.length}var h=f.prototype;function d(T,F){T.mid=F.mid,T.left=F.left,T.right=F.right,T.leftPoints=F.leftPoints,T.rightPoints=F.rightPoints,T.count=F.count}function v(T,F){var q=C(F);T.mid=q.mid,T.left=q.left,T.right=q.right,T.leftPoints=q.leftPoints,T.rightPoints=q.rightPoints,T.count=q.count}function x(T,F){var q=T.intervals([]);q.push(F),v(T,q)}function b(T,F){var q=T.intervals([]),V=q.indexOf(F);return V<0?l:(q.splice(V,1),v(T,q),u)}h.intervals=function(T){return T.push.apply(T,this.leftPoints),this.left&&this.left.intervals(T),this.right&&this.right.intervals(T),T},h.insert=function(T){var F=this.count-this.leftPoints.length;if(this.count+=1,T[1]<this.mid)this.left?4*(this.left.count+1)>3*(F+1)?x(this,T):this.left.insert(T):this.left=C([T]);else if(T[0]>this.mid)this.right?4*(this.right.count+1)>3*(F+1)?x(this,T):this.right.insert(T):this.right=C([T]);else{var q=s.ge(this.leftPoints,T,L),V=s.ge(this.rightPoints,T,_);this.leftPoints.splice(q,0,T),this.rightPoints.splice(V,0,T)}},h.remove=function(T){var F=this.count-this.leftPoints;if(T[1]<this.mid){if(!this.left)return l;var q=this.right?this.right.count:0;if(4*q>3*(F-1))return b(this,T);var V=this.left.remove(T);return V===c?(this.left=null,this.count-=1,u):(V===u&&(this.count-=1),V)}else if(T[0]>this.mid){if(!this.right)return l;var H=this.left?this.left.count:0;if(4*H>3*(F-1))return b(this,T);var V=this.right.remove(T);return V===c?(this.right=null,this.count-=1,u):(V===u&&(this.count-=1),V)}else{if(this.count===1)return this.leftPoints[0]===T?c:l;if(this.leftPoints.length===1&&this.leftPoints[0]===T){if(this.left&&this.right){for(var X=this,G=this.left;G.right;)X=G,G=G.right;if(X===this)G.right=this.right;else{var N=this.left,V=this.right;X.count-=G.count,X.right=G.left,G.left=N,G.right=V}d(this,G),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?d(this,this.left):d(this,this.right);return u}for(var N=s.ge(this.leftPoints,T,L);N<this.leftPoints.length&&this.leftPoints[N][0]===T[0];++N)if(this.leftPoints[N]===T){this.count-=1,this.leftPoints.splice(N,1);for(var V=s.ge(this.rightPoints,T,_);V<this.rightPoints.length&&this.rightPoints[V][1]===T[1];++V)if(this.rightPoints[V]===T)return this.rightPoints.splice(V,1),u}return l}};function p(T,F,q){for(var V=0;V<T.length&&T[V][0]<=F;++V){var H=q(T[V]);if(H)return H}}function E(T,F,q){for(var V=T.length-1;V>=0&&T[V][1]>=F;--V){var H=q(T[V]);if(H)return H}}function k(T,F){for(var q=0;q<T.length;++q){var V=F(T[q]);if(V)return V}}h.queryPoint=function(T,F){if(T<this.mid){if(this.left){var q=this.left.queryPoint(T,F);if(q)return q}return p(this.leftPoints,T,F)}else if(T>this.mid){if(this.right){var q=this.right.queryPoint(T,F);if(q)return q}return E(this.rightPoints,T,F)}else return k(this.leftPoints,F)},h.queryInterval=function(T,F,q){if(T<this.mid&&this.left){var V=this.left.queryInterval(T,F,q);if(V)return V}if(F>this.mid&&this.right){var V=this.right.queryInterval(T,F,q);if(V)return V}return F<this.mid?p(this.leftPoints,F,q):T>this.mid?E(this.rightPoints,T,q):k(this.leftPoints,q)};function A(T,F){return T-F}function L(T,F){var q=T[0]-F[0];return q||T[1]-F[1]}function _(T,F){var q=T[1]-F[1];return q||T[0]-F[0]}function C(T){if(T.length===0)return null;for(var F=[],q=0;q<T.length;++q)F.push(T[q][0],T[q][1]);F.sort(A);for(var V=F[F.length>>1],H=[],X=[],G=[],q=0;q<T.length;++q){var N=T[q];N[1]<V?H.push(N):V<N[0]?X.push(N):G.push(N)}var W=G,re=G.slice();return W.sort(L),re.sort(_),new f(V,C(H),C(X),W,re)}function M(T){this.root=T}var g=M.prototype;g.insert=function(T){this.root?this.root.insert(T):this.root=new f(T[0],null,null,[T],[T])},g.remove=function(T){if(this.root){var F=this.root.remove(T);return F===c&&(this.root=null),F!==l}return!1},g.queryPoint=function(T,F){if(this.root)return this.root.queryPoint(T,F)},g.queryInterval=function(T,F,q){if(T<=F&&this.root)return this.root.queryInterval(T,F,q)},Object.defineProperty(g,\"count\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(g,\"intervals\",{get:function(){return this.root?this.root.intervals([]):[]}});function P(T){return!T||T.length===0?new M(null):new M(C(T))}},9507:function(i){i.exports=!0},7163:function(i){i.exports=function(s){return s!=null&&(a(s)||o(s)||!!s._isBuffer)};function a(s){return!!s.constructor&&typeof s.constructor.isBuffer==\"function\"&&s.constructor.isBuffer(s)}function o(s){return typeof s.readFloatLE==\"function\"&&typeof s.slice==\"function\"&&a(s.slice(0,0))}},5219:function(i){\"use strict\";i.exports=function(a){for(var o=a.length,s,l=0;l<o;l++)if(s=a.charCodeAt(l),(s<9||s>13)&&s!==32&&s!==133&&s!==160&&s!==5760&&s!==6158&&(s<8192||s>8205)&&s!==8232&&s!==8233&&s!==8239&&s!==8287&&s!==8288&&s!==12288&&s!==65279)return!1;return!0}},395:function(i){function a(o,s,l){return o*(1-l)+s*l}i.exports=a},2652:function(i,a,o){var s=o(4335),l=o(6864),u=o(1903),c=o(9921),f=o(7608),h=o(5665),d={length:o(1387),normalize:o(3536),dot:o(244),cross:o(5911)},v=l(),x=l(),b=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],E=[0,0,0];i.exports=function(C,M,g,P,T,F){if(M||(M=[0,0,0]),g||(g=[0,0,0]),P||(P=[0,0,0]),T||(T=[0,0,0,1]),F||(F=[0,0,0,1]),!s(v,C)||(u(x,v),x[3]=0,x[7]=0,x[11]=0,x[15]=1,Math.abs(c(x)<1e-8)))return!1;var q=v[3],V=v[7],H=v[11],X=v[12],G=v[13],N=v[14],W=v[15];if(q!==0||V!==0||H!==0){b[0]=q,b[1]=V,b[2]=H,b[3]=W;var re=f(x,x);if(!re)return!1;h(x,x),k(T,b,x)}else T[0]=T[1]=T[2]=0,T[3]=1;if(M[0]=X,M[1]=G,M[2]=N,A(p,v),g[0]=d.length(p[0]),d.normalize(p[0],p[0]),P[0]=d.dot(p[0],p[1]),L(p[1],p[1],p[0],1,-P[0]),g[1]=d.length(p[1]),d.normalize(p[1],p[1]),P[0]/=g[1],P[1]=d.dot(p[0],p[2]),L(p[2],p[2],p[0],1,-P[1]),P[2]=d.dot(p[1],p[2]),L(p[2],p[2],p[1],1,-P[2]),g[2]=d.length(p[2]),d.normalize(p[2],p[2]),P[1]/=g[2],P[2]/=g[2],d.cross(E,p[1],p[2]),d.dot(p[0],E)<0)for(var ae=0;ae<3;ae++)g[ae]*=-1,p[ae][0]*=-1,p[ae][1]*=-1,p[ae][2]*=-1;return F[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),F[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),F[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),F[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(F[0]=-F[0]),p[0][2]>p[2][0]&&(F[1]=-F[1]),p[1][0]>p[0][1]&&(F[2]=-F[2]),!0};function k(_,C,M){var g=C[0],P=C[1],T=C[2],F=C[3];return _[0]=M[0]*g+M[4]*P+M[8]*T+M[12]*F,_[1]=M[1]*g+M[5]*P+M[9]*T+M[13]*F,_[2]=M[2]*g+M[6]*P+M[10]*T+M[14]*F,_[3]=M[3]*g+M[7]*P+M[11]*T+M[15]*F,_}function A(_,C){_[0][0]=C[0],_[0][1]=C[1],_[0][2]=C[2],_[1][0]=C[4],_[1][1]=C[5],_[1][2]=C[6],_[2][0]=C[8],_[2][1]=C[9],_[2][2]=C[10]}function L(_,C,M,g,P){_[0]=C[0]*g+M[0]*P,_[1]=C[1]*g+M[1]*P,_[2]=C[2]*g+M[2]*P}},4335:function(i){i.exports=function(o,s){var l=s[15];if(l===0)return!1;for(var u=1/l,c=0;c<16;c++)o[c]=s[c]*u;return!0}},7442:function(i,a,o){var s=o(6658),l=o(7182),u=o(2652),c=o(9921),f=o(8648),h=b(),d=b(),v=b();i.exports=x;function x(k,A,L,_){if(c(A)===0||c(L)===0)return!1;var C=u(A,h.translate,h.scale,h.skew,h.perspective,h.quaternion),M=u(L,d.translate,d.scale,d.skew,d.perspective,d.quaternion);return!C||!M?!1:(s(v.translate,h.translate,d.translate,_),s(v.skew,h.skew,d.skew,_),s(v.scale,h.scale,d.scale,_),s(v.perspective,h.perspective,d.perspective,_),f(v.quaternion,h.quaternion,d.quaternion,_),l(k,v.translate,v.scale,v.skew,v.perspective,v.quaternion),!0)}function b(){return{translate:p(),scale:p(1),skew:p(),perspective:E(),quaternion:E()}}function p(k){return[k||0,k||0,k||0]}function E(){return[0,0,0,1]}},7182:function(i,a,o){var s={identity:o(7894),translate:o(7656),multiply:o(6760),create:o(6864),scale:o(2504),fromRotationTranslation:o(6743)},l=s.create(),u=s.create();i.exports=function(f,h,d,v,x,b){return s.identity(f),s.fromRotationTranslation(f,b,h),f[3]=x[0],f[7]=x[1],f[11]=x[2],f[15]=x[3],s.identity(u),v[2]!==0&&(u[9]=v[2],s.multiply(f,f,u)),v[1]!==0&&(u[9]=0,u[8]=v[1],s.multiply(f,f,u)),v[0]!==0&&(u[8]=0,u[4]=v[0],s.multiply(f,f,u)),s.scale(f,f,d),f}},1811:function(i,a,o){\"use strict\";var s=o(2478),l=o(7442),u=o(7608),c=o(5567),f=o(2408),h=o(7089),d=o(6582),v=o(7656),x=o(2504),b=o(3536),p=[0,0,0];i.exports=L;function E(_){this._components=_.slice(),this._time=[0],this.prevMatrix=_.slice(),this.nextMatrix=_.slice(),this.computedMatrix=_.slice(),this.computedInverse=_.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]}var k=E.prototype;k.recalcMatrix=function(_){var C=this._time,M=s.le(C,_),g=this.computedMatrix;if(!(M<0)){var P=this._components;if(M===C.length-1)for(var T=16*M,F=0;F<16;++F)g[F]=P[T++];else{for(var q=C[M+1]-C[M],T=16*M,V=this.prevMatrix,H=!0,F=0;F<16;++F)V[F]=P[T++];for(var X=this.nextMatrix,F=0;F<16;++F)X[F]=P[T++],H=H&&V[F]===X[F];if(q<1e-6||H)for(var F=0;F<16;++F)g[F]=V[F];else l(g,V,X,(_-C[M])/q)}var G=this.computedUp;G[0]=g[1],G[1]=g[5],G[2]=g[9],b(G,G);var N=this.computedInverse;u(N,g);var W=this.computedEye,re=N[15];W[0]=N[12]/re,W[1]=N[13]/re,W[2]=N[14]/re;for(var ae=this.computedCenter,_e=Math.exp(this.computedRadius[0]),F=0;F<3;++F)ae[F]=W[F]-g[2+4*F]*_e}},k.idle=function(_){if(!(_<this.lastT())){for(var C=this._components,M=C.length-16,g=0;g<16;++g)C.push(C[M++]);this._time.push(_)}},k.flush=function(_){var C=s.gt(this._time,_)-2;C<0||(this._time.splice(0,C),this._components.splice(0,16*C))},k.lastT=function(){return this._time[this._time.length-1]},k.lookAt=function(_,C,M,g){this.recalcMatrix(_),C=C||this.computedEye,M=M||p,g=g||this.computedUp,this.setMatrix(_,d(this.computedMatrix,C,M,g));for(var P=0,T=0;T<3;++T)P+=Math.pow(M[T]-C[T],2);P=Math.log(Math.sqrt(P)),this.computedRadius[0]=P},k.rotate=function(_,C,M,g){this.recalcMatrix(_);var P=this.computedInverse;C&&f(P,P,C),M&&c(P,P,M),g&&h(P,P,g),this.setMatrix(_,u(this.computedMatrix,P))};var A=[0,0,0];k.pan=function(_,C,M,g){A[0]=-(C||0),A[1]=-(M||0),A[2]=-(g||0),this.recalcMatrix(_);var P=this.computedInverse;v(P,P,A),this.setMatrix(_,u(P,P))},k.translate=function(_,C,M,g){A[0]=C||0,A[1]=M||0,A[2]=g||0,this.recalcMatrix(_);var P=this.computedMatrix;v(P,P,A),this.setMatrix(_,P)},k.setMatrix=function(_,C){if(!(_<this.lastT())){this._time.push(_);for(var M=0;M<16;++M)this._components.push(C[M])}},k.setDistance=function(_,C){this.computedRadius[0]=C},k.setDistanceLimits=function(_,C){var M=this._limits;M[0]=_,M[1]=C},k.getDistanceLimits=function(_){var C=this._limits;return _?(_[0]=C[0],_[1]=C[1],_):C};function L(_){_=_||{};var C=_.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return new E(C)}},3090:function(i,a,o){\"use strict\";i.exports=l;var s=o(3250)[3];function l(u){var c=u.length;if(c<3){for(var E=new Array(c),f=0;f<c;++f)E[f]=f;return c===2&&u[0][0]===u[1][0]&&u[0][1]===u[1][1]?[0]:E}for(var h=new Array(c),f=0;f<c;++f)h[f]=f;h.sort(function(_,C){var M=u[_][0]-u[C][0];return M||u[_][1]-u[C][1]});for(var d=[h[0],h[1]],v=[h[0],h[1]],f=2;f<c;++f){for(var x=h[f],b=u[x],p=d.length;p>1&&s(u[d[p-2]],u[d[p-1]],b)<=0;)p-=1,d.pop();for(d.push(x),p=v.length;p>1&&s(u[v[p-2]],u[v[p-1]],b)>=0;)p-=1,v.pop();v.push(x)}for(var E=new Array(v.length+d.length-2),k=0,f=0,A=d.length;f<A;++f)E[k++]=d[f];for(var L=v.length-2;L>0;--L)E[k++]=v[L];return E}},351:function(i,a,o){\"use strict\";i.exports=l;var s=o(4687);function l(u,c){c||(c=u,u=window);var f=0,h=0,d=0,v={shift:!1,alt:!1,control:!1,meta:!1},x=!1;function b(T){var F=!1;return\"altKey\"in T&&(F=F||T.altKey!==v.alt,v.alt=!!T.altKey),\"shiftKey\"in T&&(F=F||T.shiftKey!==v.shift,v.shift=!!T.shiftKey),\"ctrlKey\"in T&&(F=F||T.ctrlKey!==v.control,v.control=!!T.ctrlKey),\"metaKey\"in T&&(F=F||T.metaKey!==v.meta,v.meta=!!T.metaKey),F}function p(T,F){var q=s.x(F),V=s.y(F);\"buttons\"in F&&(T=F.buttons|0),(T!==f||q!==h||V!==d||b(F))&&(f=T|0,h=q||0,d=V||0,c&&c(f,h,d,v))}function E(T){p(0,T)}function k(){(f||h||d||v.shift||v.alt||v.meta||v.control)&&(h=d=0,f=0,v.shift=v.alt=v.control=v.meta=!1,c&&c(0,0,0,v))}function A(T){b(T)&&c&&c(f,h,d,v)}function L(T){s.buttons(T)===0?p(0,T):p(f,T)}function _(T){p(f|s.buttons(T),T)}function C(T){p(f&~s.buttons(T),T)}function M(){x||(x=!0,u.addEventListener(\"mousemove\",L),u.addEventListener(\"mousedown\",_),u.addEventListener(\"mouseup\",C),u.addEventListener(\"mouseleave\",E),u.addEventListener(\"mouseenter\",E),u.addEventListener(\"mouseout\",E),u.addEventListener(\"mouseover\",E),u.addEventListener(\"blur\",k),u.addEventListener(\"keyup\",A),u.addEventListener(\"keydown\",A),u.addEventListener(\"keypress\",A),u!==window&&(window.addEventListener(\"blur\",k),window.addEventListener(\"keyup\",A),window.addEventListener(\"keydown\",A),window.addEventListener(\"keypress\",A)))}function g(){x&&(x=!1,u.removeEventListener(\"mousemove\",L),u.removeEventListener(\"mousedown\",_),u.removeEventListener(\"mouseup\",C),u.removeEventListener(\"mouseleave\",E),u.removeEventListener(\"mouseenter\",E),u.removeEventListener(\"mouseout\",E),u.removeEventListener(\"mouseover\",E),u.removeEventListener(\"blur\",k),u.removeEventListener(\"keyup\",A),u.removeEventListener(\"keydown\",A),u.removeEventListener(\"keypress\",A),u!==window&&(window.removeEventListener(\"blur\",k),window.removeEventListener(\"keyup\",A),window.removeEventListener(\"keydown\",A),window.removeEventListener(\"keypress\",A)))}M();var P={element:u};return Object.defineProperties(P,{enabled:{get:function(){return x},set:function(T){T?M():g()},enumerable:!0},buttons:{get:function(){return f},enumerable:!0},x:{get:function(){return h},enumerable:!0},y:{get:function(){return d},enumerable:!0},mods:{get:function(){return v},enumerable:!0}}),P}},24:function(i){var a={left:0,top:0};i.exports=o;function o(l,u,c){u=u||l.currentTarget||l.srcElement,Array.isArray(c)||(c=[0,0]);var f=l.clientX||0,h=l.clientY||0,d=s(u);return c[0]=f-d.left,c[1]=h-d.top,c}function s(l){return l===window||l===document||l===document.body?a:l.getBoundingClientRect()}},4687:function(i,a){\"use strict\";function o(c){if(typeof c==\"object\"){if(\"buttons\"in c)return c.buttons;if(\"which\"in c){var f=c.which;if(f===2)return 4;if(f===3)return 2;if(f>0)return 1<<f-1}else if(\"button\"in c){var f=c.button;if(f===1)return 4;if(f===2)return 2;if(f>=0)return 1<<f}}return 0}a.buttons=o;function s(c){return c.target||c.srcElement||window}a.element=s;function l(c){if(typeof c==\"object\"){if(\"offsetX\"in c)return c.offsetX;var f=s(c),h=f.getBoundingClientRect();return c.clientX-h.left}return 0}a.x=l;function u(c){if(typeof c==\"object\"){if(\"offsetY\"in c)return c.offsetY;var f=s(c),h=f.getBoundingClientRect();return c.clientY-h.top}return 0}a.y=u},8512:function(i,a,o){\"use strict\";var s=o(665);i.exports=l;function l(u,c,f){typeof u==\"function\"&&(f=!!c,c=u,u=window);var h=s(\"ex\",u),d=function(v){f&&v.preventDefault();var x=v.deltaX||0,b=v.deltaY||0,p=v.deltaZ||0,E=v.deltaMode,k=1;switch(E){case 1:k=h;break;case 2:k=window.innerHeight;break}if(x*=k,b*=k,p*=k,x||b||p)return c(x,b,p,v)};return u.addEventListener(\"wheel\",d),d}},2640:function(i,a,o){\"use strict\";var s=o(1888);i.exports=c;var l={\"false,0,1\":function(h,d,v,x,b){return function(E,k,A,L){var _=E.shape[0]|0,C=E.shape[1]|0,M=E.data,g=E.offset|0,P=E.stride[0]|0,T=E.stride[1]|0,F=g,q,V=-P|0,H=0,X=-T|0,G=0,N=-P-T|0,W=0,re=P|0,ae=T-P*_|0,_e=0,Me=0,ke=0,ge=2*_|0,ie=x(ge),Te=x(ge),Ee=0,Ae=0,ze=-1,Ce=-1,me=0,Re=-_|0,ce=_|0,Ge=0,nt=-_-1|0,ct=_-1|0,qt=0,rt=0,ot=0;for(_e=0;_e<_;++_e)ie[Ee++]=v(M[F],k,A,L),F+=re;if(F+=ae,C>0){if(Me=1,ie[Ee++]=v(M[F],k,A,L),F+=re,_>0)for(_e=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++),Ee+=1,F+=re,_e=2;_e<_;++_e)q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++,qt!==me&&d(Te[Ee+ze],rt,W,H,qt,me,k,A,L)),Ee+=1,F+=re;for(F+=ae,Ee=0,ot=ze,ze=Ce,Ce=ot,ot=Re,Re=ce,ce=ot,ot=nt,nt=ct,ct=ot,Me=2;Me<C;++Me){if(ie[Ee++]=v(M[F],k,A,L),F+=re,_>0)for(_e=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++,qt!==Ge&&d(Te[Ee+Re],rt,G,W,Ge,qt,k,A,L)),Ee+=1,F+=re,_e=2;_e<_;++_e)q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++,qt!==Ge&&d(Te[Ee+Re],rt,G,W,Ge,qt,k,A,L),qt!==me&&d(Te[Ee+ze],rt,W,H,qt,me,k,A,L)),Ee+=1,F+=re;Me&1&&(Ee=0),ot=ze,ze=Ce,Ce=ot,ot=Re,Re=ce,ce=ot,ot=nt,nt=ct,ct=ot,F+=ae}}b(Te),b(ie)}},\"false,1,0\":function(h,d,v,x,b){return function(E,k,A,L){var _=E.shape[0]|0,C=E.shape[1]|0,M=E.data,g=E.offset|0,P=E.stride[0]|0,T=E.stride[1]|0,F=g,q,V=-P|0,H=0,X=-T|0,G=0,N=-P-T|0,W=0,re=T|0,ae=P-T*C|0,_e=0,Me=0,ke=0,ge=2*C|0,ie=x(ge),Te=x(ge),Ee=0,Ae=0,ze=-1,Ce=-1,me=0,Re=-C|0,ce=C|0,Ge=0,nt=-C-1|0,ct=C-1|0,qt=0,rt=0,ot=0;for(Me=0;Me<C;++Me)ie[Ee++]=v(M[F],k,A,L),F+=re;if(F+=ae,_>0){if(_e=1,ie[Ee++]=v(M[F],k,A,L),F+=re,C>0)for(Me=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++),Ee+=1,F+=re,Me=2;Me<C;++Me)q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++,qt!==me&&d(Te[Ee+ze],rt,G,W,me,qt,k,A,L)),Ee+=1,F+=re;for(F+=ae,Ee=0,ot=Re,Re=ce,ce=ot,ot=ze,ze=Ce,Ce=ot,ot=nt,nt=ct,ct=ot,_e=2;_e<_;++_e){if(ie[Ee++]=v(M[F],k,A,L),F+=re,C>0)for(Me=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++,qt!==Ge&&d(Te[Ee+Re],rt,W,H,qt,Ge,k,A,L)),Ee+=1,F+=re,Me=2;Me<C;++Me)q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++,qt!==me&&d(Te[Ee+ze],rt,G,W,me,qt,k,A,L),qt!==Ge&&d(Te[Ee+Re],rt,W,H,qt,Ge,k,A,L)),Ee+=1,F+=re;_e&1&&(Ee=0),ot=Re,Re=ce,ce=ot,ot=ze,ze=Ce,Ce=ot,ot=nt,nt=ct,ct=ot,F+=ae}}b(Te),b(ie)}}};function u(f,h,d,v,x,b){var p=[b,x].join(\",\"),E=l[p];return E(f,h,d,s.mallocUint32,s.freeUint32)}function c(f){function h(k){throw new Error(\"ndarray-extract-contour: \"+k)}typeof f!=\"object\"&&h(\"Must specify arguments\");var d=f.order;Array.isArray(d)||h(\"Must specify order\");var v=f.arrayArguments||1;v<1&&h(\"Must have at least one array argument\");var x=f.scalarArguments||0;x<0&&h(\"Scalar arg count must be > 0\"),typeof f.vertex!=\"function\"&&h(\"Must specify vertex creation function\"),typeof f.cell!=\"function\"&&h(\"Must specify cell creation function\"),typeof f.phase!=\"function\"&&h(\"Must specify phase function\");for(var b=f.getters||[],p=new Array(v),E=0;E<v;++E)b.indexOf(E)>=0?p[E]=!0:p[E]=!1;return u(f.vertex,f.cell,f.phase,x,d,p)}},6199:function(i,a,o){\"use strict\";var s=o(1338),l={zero:function(L,_,C,M){var g=L[0],P=C[0];M|=0;var T=0,F=P;for(T=0;T<g;++T)_[M]=0,M+=F},fdTemplate1:function(L,_,C,M,g,P,T){var F=L[0],q=C[0],V=P[0],H=-1*q,X=q;M|=0,T|=0;var G=0,N=q,W=V;for(G=0;G<F;++G)g[T]=.5*(_[M+H]-_[M+X]),M+=N,T+=W},fdTemplate2:function(L,_,C,M,g,P,T,F,q,V){var H=L[0],X=L[1],G=C[0],N=C[1],W=P[0],re=P[1],ae=q[0],_e=q[1],Me=-1*G,ke=G,ge=-1*N,ie=N;M|=0,T|=0,V|=0;var Te=0,Ee=0,Ae=N,ze=G-X*N,Ce=re,me=W-X*re,Re=_e,ce=ae-X*_e;for(Ee=0;Ee<H;++Ee){for(Te=0;Te<X;++Te)g[T]=.5*(_[M+Me]-_[M+ke]),F[V]=.5*(_[M+ge]-_[M+ie]),M+=Ae,T+=Ce,V+=Re;M+=ze,T+=me,V+=ce}}},u={cdiff:function(L){var _={};return function(M,g,P){var T=M.dtype,F=M.order,q=g.dtype,V=g.order,H=P.dtype,X=P.order,G=[T,F.join(),q,V.join(),H,X.join()].join(),N=_[G];return N||(_[G]=N=L([T,F,q,V,H,X])),N(M.shape.slice(0),M.data,M.stride,M.offset|0,g.data,g.stride,g.offset|0,P.data,P.stride,P.offset|0)}},zero:function(L){var _={};return function(M){var g=M.dtype,P=M.order,T=[g,P.join()].join(),F=_[T];return F||(_[T]=F=L([g,P])),F(M.shape.slice(0),M.data,M.stride,M.offset|0)}},fdTemplate1:function(L){var _={};return function(M,g){var P=M.dtype,T=M.order,F=g.dtype,q=g.order,V=[P,T.join(),F,q.join()].join(),H=_[V];return H||(_[V]=H=L([P,T,F,q])),H(M.shape.slice(0),M.data,M.stride,M.offset|0,g.data,g.stride,g.offset|0)}},fdTemplate2:function(L){var _={};return function(M,g,P){var T=M.dtype,F=M.order,q=g.dtype,V=g.order,H=P.dtype,X=P.order,G=[T,F.join(),q,V.join(),H,X.join()].join(),N=_[G];return N||(_[G]=N=L([T,F,q,V,H,X])),N(M.shape.slice(0),M.data,M.stride,M.offset|0,g.data,g.stride,g.offset|0,P.data,P.stride,P.offset|0)}}};function c(L){var _=u[L.funcName];return _(f.bind(void 0,L))}function f(L){return l[L.funcName]}function h(L){return c({funcName:L.funcName})}var d={},v={},x={body:\"\",args:[],thisVars:[],localVars:[]},b=h({funcName:\"cdiff\"}),p=h({funcName:\"zero\"});function E(L){return L in d?d[L]:d[L]=h({funcName:\"fdTemplate\"+L})}function k(L,_,C,M){return function(g,P){var T=P.shape.slice();return T[0]>2&&T[1]>2&&M(P.pick(-1,-1).lo(1,1).hi(T[0]-2,T[1]-2),g.pick(-1,-1,0).lo(1,1).hi(T[0]-2,T[1]-2),g.pick(-1,-1,1).lo(1,1).hi(T[0]-2,T[1]-2)),T[1]>2&&(C(P.pick(0,-1).lo(1).hi(T[1]-2),g.pick(0,-1,1).lo(1).hi(T[1]-2)),_(g.pick(0,-1,0).lo(1).hi(T[1]-2))),T[1]>2&&(C(P.pick(T[0]-1,-1).lo(1).hi(T[1]-2),g.pick(T[0]-1,-1,1).lo(1).hi(T[1]-2)),_(g.pick(T[0]-1,-1,0).lo(1).hi(T[1]-2))),T[0]>2&&(C(P.pick(-1,0).lo(1).hi(T[0]-2),g.pick(-1,0,0).lo(1).hi(T[0]-2)),_(g.pick(-1,0,1).lo(1).hi(T[0]-2))),T[0]>2&&(C(P.pick(-1,T[1]-1).lo(1).hi(T[0]-2),g.pick(-1,T[1]-1,0).lo(1).hi(T[0]-2)),_(g.pick(-1,T[1]-1,1).lo(1).hi(T[0]-2))),g.set(0,0,0,0),g.set(0,0,1,0),g.set(T[0]-1,0,0,0),g.set(T[0]-1,0,1,0),g.set(0,T[1]-1,0,0),g.set(0,T[1]-1,1,0),g.set(T[0]-1,T[1]-1,0,0),g.set(T[0]-1,T[1]-1,1,0),g}}function A(L){var _=L.join(),T=v[_];if(T)return T;for(var C=L.length,M=[b,p],g=1;g<=C;++g)M.push(E(g));var P=k,T=P.apply(void 0,M);return v[_]=T,T}i.exports=function(_,C,M){if(Array.isArray(M)||(typeof M==\"string\"?M=s(C.dimension,M):M=s(C.dimension,\"clamp\")),C.size===0)return _;if(C.dimension===0)return _.set(0),_;var g=A(M);return g(_,C)}},4317:function(i){\"use strict\";function a(c,f){var h=Math.floor(f),d=f-h,v=0<=h&&h<c.shape[0],x=0<=h+1&&h+1<c.shape[0],b=v?+c.get(h):0,p=x?+c.get(h+1):0;return(1-d)*b+d*p}function o(c,f,h){var d=Math.floor(f),v=f-d,x=0<=d&&d<c.shape[0],b=0<=d+1&&d+1<c.shape[0],p=Math.floor(h),E=h-p,k=0<=p&&p<c.shape[1],A=0<=p+1&&p+1<c.shape[1],L=x&&k?c.get(d,p):0,_=x&&A?c.get(d,p+1):0,C=b&&k?c.get(d+1,p):0,M=b&&A?c.get(d+1,p+1):0;return(1-E)*((1-v)*L+v*C)+E*((1-v)*_+v*M)}function s(c,f,h,d){var v=Math.floor(f),x=f-v,b=0<=v&&v<c.shape[0],p=0<=v+1&&v+1<c.shape[0],E=Math.floor(h),k=h-E,A=0<=E&&E<c.shape[1],L=0<=E+1&&E+1<c.shape[1],_=Math.floor(d),C=d-_,M=0<=_&&_<c.shape[2],g=0<=_+1&&_+1<c.shape[2],P=b&&A&&M?c.get(v,E,_):0,T=b&&L&&M?c.get(v,E+1,_):0,F=p&&A&&M?c.get(v+1,E,_):0,q=p&&L&&M?c.get(v+1,E+1,_):0,V=b&&A&&g?c.get(v,E,_+1):0,H=b&&L&&g?c.get(v,E+1,_+1):0,X=p&&A&&g?c.get(v+1,E,_+1):0,G=p&&L&&g?c.get(v+1,E+1,_+1):0;return(1-C)*((1-k)*((1-x)*P+x*F)+k*((1-x)*T+x*q))+C*((1-k)*((1-x)*V+x*X)+k*((1-x)*H+x*G))}function l(c){var f=c.shape.length|0,h=new Array(f),d=new Array(f),v=new Array(f),x=new Array(f),b,p;for(b=0;b<f;++b)p=+arguments[b+1],h[b]=Math.floor(p),d[b]=p-h[b],v[b]=0<=h[b]&&h[b]<c.shape[b],x[b]=0<=h[b]+1&&h[b]+1<c.shape[b];var E=0,k,A,L;e:for(b=0;b<1<<f;++b){for(A=1,L=c.offset,k=0;k<f;++k)if(b&1<<k){if(!x[k])continue e;A*=d[k],L+=c.stride[k]*(h[k]+1)}else{if(!v[k])continue e;A*=1-d[k],L+=c.stride[k]*h[k]}E+=A*c.data[L]}return E}function u(c,f,h,d){switch(c.shape.length){case 0:return 0;case 1:return a(c,f);case 2:return o(c,f,h);case 3:return s(c,f,h,d);default:return l.apply(void 0,arguments)}}i.exports=u,i.exports.d1=a,i.exports.d2=o,i.exports.d3=s},5298:function(i,a){\"use strict\";var o={\"float64,2,1,0\":function(){return function(v,x,b,p,E){var k=v[0],A=v[1],L=v[2],_=b[0],C=b[1],M=b[2];p|=0;var g=0,P=0,T=0,F=M,q=C-L*M,V=_-A*C;for(T=0;T<k;++T){for(P=0;P<A;++P){for(g=0;g<L;++g)x[p]/=E,p+=F;p+=q}p+=V}}},\"uint8,2,0,1,float64,2,1,0\":function(){return function(v,x,b,p,E,k,A,L){var _=v[0],C=v[1],M=v[2],g=b[0],P=b[1],T=b[2],F=k[0],q=k[1],V=k[2];p|=0,A|=0;for(var H=p,X=A,G=v[0]|0;G>0;){G<64?(_=G,G=0):(_=64,G-=64);for(var N=v[1]|0;N>0;){N<64?(C=N,N=0):(C=64,N-=64),p=H+G*g+N*P,A=X+G*F+N*q;var W=0,re=0,ae=0,_e=T,Me=g-M*T,ke=P-_*g,ge=V,ie=F-M*V,Te=q-_*F;for(ae=0;ae<C;++ae){for(re=0;re<_;++re){for(W=0;W<M;++W)x[p]=E[A]*L,p+=_e,A+=ge;p+=Me,A+=ie}p+=ke,A+=Te}}}}},\"float32,1,0,float32,1,0\":function(){return function(v,x,b,p,E,k,A){var L=v[0],_=v[1],C=b[0],M=b[1],g=k[0],P=k[1];p|=0,A|=0;var T=0,F=0,q=M,V=C-_*M,H=P,X=g-_*P;for(F=0;F<L;++F){for(T=0;T<_;++T)x[p]=E[A],p+=q,A+=H;p+=V,A+=X}}},\"float32,1,0,float32,0,1\":function(){return function(v,x,b,p,E,k,A){var L=v[0],_=v[1],C=b[0],M=b[1],g=k[0],P=k[1];p|=0,A|=0;for(var T=p,F=A,q=v[1]|0;q>0;){q<64?(_=q,q=0):(_=64,q-=64);for(var V=v[0]|0;V>0;){V<64?(L=V,V=0):(L=64,V-=64),p=T+q*M+V*C,A=F+q*P+V*g;var H=0,X=0,G=M,N=C-_*M,W=P,re=g-_*P;for(X=0;X<L;++X){for(H=0;H<_;++H)x[p]=E[A],p+=G,A+=W;p+=N,A+=re}}}}},\"uint8,2,0,1,uint8,1,2,0\":function(){return function(v,x,b,p,E,k,A){var L=v[0],_=v[1],C=v[2],M=b[0],g=b[1],P=b[2],T=k[0],F=k[1],q=k[2];p|=0,A|=0;for(var V=p,H=A,X=v[2]|0;X>0;){X<64?(C=X,X=0):(C=64,X-=64);for(var G=v[0]|0;G>0;){G<64?(L=G,G=0):(L=64,G-=64);for(var N=v[1]|0;N>0;){N<64?(_=N,N=0):(_=64,N-=64),p=V+X*P+G*M+N*g,A=H+X*q+G*T+N*F;var W=0,re=0,ae=0,_e=P,Me=M-C*P,ke=g-L*M,ge=q,ie=T-C*q,Te=F-L*T;for(ae=0;ae<_;++ae){for(re=0;re<L;++re){for(W=0;W<C;++W)x[p]=E[A],p+=_e,A+=ge;p+=Me,A+=ie}p+=ke,A+=Te}}}}}},\"uint8,2,0,1,array,2,0,1\":function(){return function(v,x,b,p,E,k,A){var L=v[0],_=v[1],C=v[2],M=b[0],g=b[1],P=b[2],T=k[0],F=k[1],q=k[2];p|=0,A|=0;var V=0,H=0,X=0,G=P,N=M-C*P,W=g-L*M,re=q,ae=T-C*q,_e=F-L*T;for(X=0;X<_;++X){for(H=0;H<L;++H){for(V=0;V<C;++V)x[p]=E[A],p+=G,A+=re;p+=N,A+=ae}p+=W,A+=_e}}}};function s(d,v){var x=v.join(\",\"),b=o[x];return b()}var l=s,u={mul:function(d){var v={};return function(b,p,E){var k=b.dtype,A=b.order,L=p.dtype,_=p.order,C=E.dtype,M=E.order,g=[k,A.join(),L,_.join(),C,M.join()].join(),P=v[g];return P||(v[g]=P=d([k,A,L,_,C,M])),P(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0,E.data,E.stride,E.offset|0)}},muls:function(d){var v={};return function(b,p,E){var k=b.dtype,A=b.order,L=p.dtype,_=p.order,C=[k,A.join(),L,_.join()].join(),M=v[C];return M||(v[C]=M=d([k,A,L,_])),M(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0,E)}},mulseq:function(d){var v={};return function(b,p){var E=b.dtype,k=b.order,A=[E,k.join()].join(),L=v[A];return L||(v[A]=L=d([E,k])),L(b.shape.slice(0),b.data,b.stride,b.offset|0,p)}},div:function(d){var v={};return function(b,p,E){var k=b.dtype,A=b.order,L=p.dtype,_=p.order,C=E.dtype,M=E.order,g=[k,A.join(),L,_.join(),C,M.join()].join(),P=v[g];return P||(v[g]=P=d([k,A,L,_,C,M])),P(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0,E.data,E.stride,E.offset|0)}},divs:function(d){var v={};return function(b,p,E){var k=b.dtype,A=b.order,L=p.dtype,_=p.order,C=[k,A.join(),L,_.join()].join(),M=v[C];return M||(v[C]=M=d([k,A,L,_])),M(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0,E)}},divseq:function(d){var v={};return function(b,p){var E=b.dtype,k=b.order,A=[E,k.join()].join(),L=v[A];return L||(v[A]=L=d([E,k])),L(b.shape.slice(0),b.data,b.stride,b.offset|0,p)}},assign:function(d){var v={};return function(b,p){var E=b.dtype,k=b.order,A=p.dtype,L=p.order,_=[E,k.join(),A,L.join()].join(),C=v[_];return C||(v[_]=C=d([E,k,A,L])),C(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0)}}};function c(d){var v=u[d.funcName];return v(l.bind(void 0,d))}function f(d){return c({funcName:d.funcName})}var h={mul:\"*\",div:\"/\"};(function(){for(var d in h)a[d]=f({funcName:d}),a[d+\"s\"]=f({funcName:d+\"s\"}),a[d+\"seq\"]=f({funcName:d+\"seq\"})})(),a.assign=f({funcName:\"assign\"})},9994:function(i,a,o){\"use strict\";var s=o(9618),l=o(8277);i.exports=function(c,f){for(var h=[],d=c,v=1;Array.isArray(d);)h.push(d.length),v*=d.length,d=d[0];return h.length===0?s():(f||(f=s(new Float64Array(v),h)),l(f,c),f)}},8277:function(i){\"use strict\";function a(){return function(f,h,d,v,x){var b=f[0],p=f[1],E=f[2],k=d[0],A=d[1],L=d[2],_=[0,0,0];v|=0;var C=0,M=0,g=0,P=L,T=A-E*L,F=k-p*A;for(g=0;g<b;++g){for(M=0;M<p;++M){for(C=0;C<E;++C){{var q=x,V;for(V=0;V<_.length-1;++V)q=q[_[V]];h[v]=q[_[_.length-1]]}v+=P,++_[2]}v+=T,_[2]-=E,++_[1]}v+=F,_[1]-=p,++_[0]}}}function o(){return a()}var s=o;function l(f){var h={};return function(v,x){var b=v.dtype,p=v.order,E=[b,p.join()].join(),k=h[E];return k||(h[E]=k=f([b,p])),k(v.shape.slice(0),v.data,v.stride,v.offset|0,x)}}function u(f){return l(s.bind(void 0,f))}function c(f){return u({funcName:f.funcName})}i.exports=c({funcName:\"convert\"})},7640:function(i,a,o){\"use strict\";var s=o(1888);function l(x){switch(x){case\"uint32\":return[s.mallocUint32,s.freeUint32];default:return null}}var u={\"uint32,1,0\":function(x,b){return function(E,k,A,L,_,C,M,g,P,T,F){var q,V,H,X=E*_+L,G,N=x(g),W,re,ae,_e;for(q=E+1;q<=k;++q){for(V=q,X+=_,H=X,W=0,re=X,G=0;G<g;++G)N[W++]=A[re],re+=P;e:for(;V-- >E;){W=0,re=H-_;t:for(G=0;G<g;++G){if(ae=A[re],_e=N[W],ae<_e)break e;if(ae>_e)break t;re+=T,W+=F}for(W=H,re=H-_,G=0;G<g;++G)A[W]=A[re],W+=P,re+=P;H-=_}for(W=H,re=0,G=0;G<g;++G)A[W]=N[re++],W+=P}b(N)}}};function c(x,b){var p=l(b),E=[b,x].join(\",\"),k=u[E];return p?k(p[0],p[1]):k()}var f={\"uint32,1,0\":function(x,b,p){return function E(k,A,L,_,C,M,g,P,T,F,q){var V=(A-k+1)/6|0,H=k+V,X=A-V,G=k+A>>1,N=G-V,W=G+V,re=H,ae=N,_e=G,Me=W,ke=X,ge=k+1,ie=A-1,Te=!0,Ee,Ae,ze,Ce,me,Re,ce,Ge,nt,ct=0,qt=0,rt=0,ot,Rt,kt,Ct,Yt,xr,er,Ke,xt,bt,Lt,St,Et,dt,Ht,$t,fr=P,_r=b(fr),Br=b(fr);Rt=C*re,kt=C*ae,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=re,re=ae,ae=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*Me,kt=C*ke,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=Me,Me=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*re,kt=C*_e,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=re,re=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*ae,kt=C*_e,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=ae,ae=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*re,kt=C*Me,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=re,re=Me,Me=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*_e,kt=C*Me,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=_e,_e=Me,Me=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*ae,kt=C*ke,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=ae,ae=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*ae,kt=C*_e,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=ae,ae=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*Me,kt=C*ke,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=Me,Me=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}for(Rt=C*re,kt=C*ae,Ct=C*_e,Yt=C*Me,xr=C*ke,er=C*H,Ke=C*G,xt=C*X,Ht=0,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,nt=Ct+$t,bt=Yt+$t,Lt=xr+$t,St=er+$t,Et=Ke+$t,dt=xt+$t,_r[Ht]=L[Ge],Br[Ht]=L[bt],Te=Te&&_r[Ht]===Br[Ht],ze=L[ce],Ce=L[nt],me=L[Lt],L[St]=ze,L[Et]=Ce,L[dt]=me,++Ht,$t+=T;for(Rt=C*N,kt=C*k,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,L[ce]=L[Ge],$t+=T;for(Rt=C*W,kt=C*A,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,L[ce]=L[Ge],$t+=T;if(Te)for(Re=ge;Re<=ie;++Re){ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-_r[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt!==0)if(rt<0){if(Re!==ge)for(Rt=C*Re,kt=C*ge,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;++ge}else for(;;){ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-_r[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt>0)ie--;else if(rt<0){for(Rt=C*Re,kt=C*ge,Ct=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,nt=Ct+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=L[nt],L[nt]=Ee,$t+=T;++ge,--ie;break}else{for(Rt=C*Re,kt=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;--ie;break}}}else for(Re=ge;Re<=ie;++Re){ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(ct=L[ce]-_r[Ht],ct!==0)break e;Ht+=q,ce+=F}if(ct<0){if(Re!==ge)for(Rt=C*Re,kt=C*ge,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;++ge}else{ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(qt=L[ce]-Br[Ht],qt!==0)break e;Ht+=q,ce+=F}if(qt>0)for(;;){ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-Br[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt>0){if(--ie<Re)break;continue}else{ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-_r[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt<0){for(Rt=C*Re,kt=C*ge,Ct=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,nt=Ct+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=L[nt],L[nt]=Ee,$t+=T;++ge,--ie}else{for(Rt=C*Re,kt=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;--ie}break}}}}for(Rt=C*k,kt=C*(ge-1),Ht=0,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,L[ce]=L[Ge],L[Ge]=_r[Ht],++Ht,$t+=T;for(Rt=C*A,kt=C*(ie+1),Ht=0,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,L[ce]=L[Ge],L[Ge]=Br[Ht],++Ht,$t+=T;if(ge-2-k<=32?x(k,ge-2,L,_,C,M,g,P,T,F,q):E(k,ge-2,L,_,C,M,g,P,T,F,q),A-(ie+2)<=32?x(ie+2,A,L,_,C,M,g,P,T,F,q):E(ie+2,A,L,_,C,M,g,P,T,F,q),Te){p(_r),p(Br);return}if(ge<H&&ie>X){e:for(;;){for(ce=_+ge*C,Ht=0,$t=_,ot=0;ot<P;++ot){if(L[ce]!==_r[Ht])break e;++Ht,ce+=T}++ge}e:for(;;){for(ce=_+ie*C,Ht=0,$t=_,ot=0;ot<P;++ot){if(L[ce]!==Br[Ht])break e;++Ht,ce+=T}--ie}for(Re=ge;Re<=ie;++Re){ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(ct=L[ce]-_r[Ht],ct!==0)break e;Ht+=q,ce+=F}if(ct===0){if(Re!==ge)for(Rt=C*Re,kt=C*ge,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;++ge}else{ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(qt=L[ce]-Br[Ht],qt!==0)break e;Ht+=q,ce+=F}if(qt===0)for(;;){ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-Br[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt===0){if(--ie<Re)break;continue}else{ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-_r[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt<0){for(Rt=C*Re,kt=C*ge,Ct=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,nt=Ct+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=L[nt],L[nt]=Ee,$t+=T;++ge,--ie}else{for(Rt=C*Re,kt=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;--ie}break}}}}}p(_r),p(Br),ie-ge<=32?x(ge,ie,L,_,C,M,g,P,T,F,q):E(ge,ie,L,_,C,M,g,P,T,F,q)}}};function h(x,b,p){var E=l(b),k=[b,x].join(\",\"),A=f[k];return x.length>1&&E?A(p,E[0],E[1]):A(p)}var d={\"uint32,1,0\":function(x,b){return function(p){var E=p.data,k=p.offset|0,A=p.shape,L=p.stride,_=L[0]|0,C=A[0]|0,M=L[1]|0,g=A[1]|0,P=M,T=M,F=1;C<=32?x(0,C-1,E,k,_,M,C,g,P,T,F):b(0,C-1,E,k,_,M,C,g,P,T,F)}}};function v(x,b){var p=[b,x].join(\",\"),E=d[p],k=c(x,b),A=h(x,b,k);return E(k,A)}i.exports=v},446:function(i,a,o){\"use strict\";var s=o(7640),l={};function u(c){var f=c.order,h=c.dtype,d=[f,h],v=d.join(\":\"),x=l[v];return x||(l[v]=x=s(f,h)),x(c),c}i.exports=u},9618:function(i,a,o){var s=o(7163),l=typeof Float64Array!=\"undefined\";function u(b,p){return b[0]-p[0]}function c(){var b=this.stride,p=new Array(b.length),E;for(E=0;E<p.length;++E)p[E]=[Math.abs(b[E]),E];p.sort(u);var k=new Array(p.length);for(E=0;E<k.length;++E)k[E]=p[E][1];return k}var f={T:function(b){function p(k){this.data=k}var E=p.prototype;return E.dtype=b,E.index=function(){return-1},E.size=0,E.dimension=-1,E.shape=E.stride=E.order=[],E.lo=E.hi=E.transpose=E.step=function(){return new p(this.data)},E.get=E.set=function(){},E.pick=function(){return null},function(A){return new p(A)}},0:function(b,p){function E(A,L){this.data=A,this.offset=L}var k=E.prototype;return k.dtype=b,k.index=function(){return this.offset},k.dimension=0,k.size=1,k.shape=k.stride=k.order=[],k.lo=k.hi=k.transpose=k.step=function(){return new E(this.data,this.offset)},k.pick=function(){return p(this.data)},k.valueOf=k.get=function(){return b===\"generic\"?this.data.get(this.offset):this.data[this.offset]},k.set=function(L){return b===\"generic\"?this.data.set(this.offset,L):this.data[this.offset]=L},function(L,_,C,M){return new E(L,M)}},1:function(b,p,E){function k(L,_,C,M){this.data=L,this.shape=[_],this.stride=[C],this.offset=M|0}var A=k.prototype;return A.dtype=b,A.dimension=1,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]}}),A.order=[0],A.set=function(_,C){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*_,C):this.data[this.offset+this.stride[0]*_]=C},A.get=function(_){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*_):this.data[this.offset+this.stride[0]*_]},A.index=function(_){return this.offset+this.stride[0]*_},A.hi=function(_){return new k(this.data,typeof _!=\"number\"||_<0?this.shape[0]:_|0,this.stride[0],this.offset)},A.lo=function(_){var C=this.offset,M=0,g=this.shape[0],P=this.stride[0];return typeof _==\"number\"&&_>=0&&(M=_|0,C+=P*M,g-=M),new k(this.data,g,P,C)},A.step=function(_){var C=this.shape[0],M=this.stride[0],g=this.offset,P=0,T=Math.ceil;return typeof _==\"number\"&&(P=_|0,P<0?(g+=M*(C-1),C=T(-C/P)):C=T(C/P),M*=P),new k(this.data,C,M,g)},A.transpose=function(_){_=_===void 0?0:_|0;var C=this.shape,M=this.stride;return new k(this.data,C[_],M[_],this.offset)},A.pick=function(_){var C=[],M=[],g=this.offset;typeof _==\"number\"&&_>=0?g=g+this.stride[0]*_|0:(C.push(this.shape[0]),M.push(this.stride[0]));var P=p[C.length+1];return P(this.data,C,M,g)},function(_,C,M,g){return new k(_,C[0],M[0],g)}},2:function(b,p,E){function k(L,_,C,M,g,P){this.data=L,this.shape=[_,C],this.stride=[M,g],this.offset=P|0}var A=k.prototype;return A.dtype=b,A.dimension=2,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(A,\"order\",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),A.set=function(_,C,M){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*_+this.stride[1]*C,M):this.data[this.offset+this.stride[0]*_+this.stride[1]*C]=M},A.get=function(_,C){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*_+this.stride[1]*C):this.data[this.offset+this.stride[0]*_+this.stride[1]*C]},A.index=function(_,C){return this.offset+this.stride[0]*_+this.stride[1]*C},A.hi=function(_,C){return new k(this.data,typeof _!=\"number\"||_<0?this.shape[0]:_|0,typeof C!=\"number\"||C<0?this.shape[1]:C|0,this.stride[0],this.stride[1],this.offset)},A.lo=function(_,C){var M=this.offset,g=0,P=this.shape[0],T=this.shape[1],F=this.stride[0],q=this.stride[1];return typeof _==\"number\"&&_>=0&&(g=_|0,M+=F*g,P-=g),typeof C==\"number\"&&C>=0&&(g=C|0,M+=q*g,T-=g),new k(this.data,P,T,F,q,M)},A.step=function(_,C){var M=this.shape[0],g=this.shape[1],P=this.stride[0],T=this.stride[1],F=this.offset,q=0,V=Math.ceil;return typeof _==\"number\"&&(q=_|0,q<0?(F+=P*(M-1),M=V(-M/q)):M=V(M/q),P*=q),typeof C==\"number\"&&(q=C|0,q<0?(F+=T*(g-1),g=V(-g/q)):g=V(g/q),T*=q),new k(this.data,M,g,P,T,F)},A.transpose=function(_,C){_=_===void 0?0:_|0,C=C===void 0?1:C|0;var M=this.shape,g=this.stride;return new k(this.data,M[_],M[C],g[_],g[C],this.offset)},A.pick=function(_,C){var M=[],g=[],P=this.offset;typeof _==\"number\"&&_>=0?P=P+this.stride[0]*_|0:(M.push(this.shape[0]),g.push(this.stride[0])),typeof C==\"number\"&&C>=0?P=P+this.stride[1]*C|0:(M.push(this.shape[1]),g.push(this.stride[1]));var T=p[M.length+1];return T(this.data,M,g,P)},function(_,C,M,g){return new k(_,C[0],C[1],M[0],M[1],g)}},3:function(b,p,E){function k(L,_,C,M,g,P,T,F){this.data=L,this.shape=[_,C,M],this.stride=[g,P,T],this.offset=F|0}var A=k.prototype;return A.dtype=b,A.dimension=3,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(A,\"order\",{get:function(){var _=Math.abs(this.stride[0]),C=Math.abs(this.stride[1]),M=Math.abs(this.stride[2]);return _>C?C>M?[2,1,0]:_>M?[1,2,0]:[1,0,2]:_>M?[2,0,1]:M>C?[0,1,2]:[0,2,1]}}),A.set=function(_,C,M,g){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M,g):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M]=g},A.get=function(_,C,M){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M]},A.index=function(_,C,M){return this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M},A.hi=function(_,C,M){return new k(this.data,typeof _!=\"number\"||_<0?this.shape[0]:_|0,typeof C!=\"number\"||C<0?this.shape[1]:C|0,typeof M!=\"number\"||M<0?this.shape[2]:M|0,this.stride[0],this.stride[1],this.stride[2],this.offset)},A.lo=function(_,C,M){var g=this.offset,P=0,T=this.shape[0],F=this.shape[1],q=this.shape[2],V=this.stride[0],H=this.stride[1],X=this.stride[2];return typeof _==\"number\"&&_>=0&&(P=_|0,g+=V*P,T-=P),typeof C==\"number\"&&C>=0&&(P=C|0,g+=H*P,F-=P),typeof M==\"number\"&&M>=0&&(P=M|0,g+=X*P,q-=P),new k(this.data,T,F,q,V,H,X,g)},A.step=function(_,C,M){var g=this.shape[0],P=this.shape[1],T=this.shape[2],F=this.stride[0],q=this.stride[1],V=this.stride[2],H=this.offset,X=0,G=Math.ceil;return typeof _==\"number\"&&(X=_|0,X<0?(H+=F*(g-1),g=G(-g/X)):g=G(g/X),F*=X),typeof C==\"number\"&&(X=C|0,X<0?(H+=q*(P-1),P=G(-P/X)):P=G(P/X),q*=X),typeof M==\"number\"&&(X=M|0,X<0?(H+=V*(T-1),T=G(-T/X)):T=G(T/X),V*=X),new k(this.data,g,P,T,F,q,V,H)},A.transpose=function(_,C,M){_=_===void 0?0:_|0,C=C===void 0?1:C|0,M=M===void 0?2:M|0;var g=this.shape,P=this.stride;return new k(this.data,g[_],g[C],g[M],P[_],P[C],P[M],this.offset)},A.pick=function(_,C,M){var g=[],P=[],T=this.offset;typeof _==\"number\"&&_>=0?T=T+this.stride[0]*_|0:(g.push(this.shape[0]),P.push(this.stride[0])),typeof C==\"number\"&&C>=0?T=T+this.stride[1]*C|0:(g.push(this.shape[1]),P.push(this.stride[1])),typeof M==\"number\"&&M>=0?T=T+this.stride[2]*M|0:(g.push(this.shape[2]),P.push(this.stride[2]));var F=p[g.length+1];return F(this.data,g,P,T)},function(_,C,M,g){return new k(_,C[0],C[1],C[2],M[0],M[1],M[2],g)}},4:function(b,p,E){function k(L,_,C,M,g,P,T,F,q,V){this.data=L,this.shape=[_,C,M,g],this.stride=[P,T,F,q],this.offset=V|0}var A=k.prototype;return A.dtype=b,A.dimension=4,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(A,\"order\",{get:E}),A.set=function(_,C,M,g,P){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g,P):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g]=P},A.get=function(_,C,M,g){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g]},A.index=function(_,C,M,g){return this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g},A.hi=function(_,C,M,g){return new k(this.data,typeof _!=\"number\"||_<0?this.shape[0]:_|0,typeof C!=\"number\"||C<0?this.shape[1]:C|0,typeof M!=\"number\"||M<0?this.shape[2]:M|0,typeof g!=\"number\"||g<0?this.shape[3]:g|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},A.lo=function(_,C,M,g){var P=this.offset,T=0,F=this.shape[0],q=this.shape[1],V=this.shape[2],H=this.shape[3],X=this.stride[0],G=this.stride[1],N=this.stride[2],W=this.stride[3];return typeof _==\"number\"&&_>=0&&(T=_|0,P+=X*T,F-=T),typeof C==\"number\"&&C>=0&&(T=C|0,P+=G*T,q-=T),typeof M==\"number\"&&M>=0&&(T=M|0,P+=N*T,V-=T),typeof g==\"number\"&&g>=0&&(T=g|0,P+=W*T,H-=T),new k(this.data,F,q,V,H,X,G,N,W,P)},A.step=function(_,C,M,g){var P=this.shape[0],T=this.shape[1],F=this.shape[2],q=this.shape[3],V=this.stride[0],H=this.stride[1],X=this.stride[2],G=this.stride[3],N=this.offset,W=0,re=Math.ceil;return typeof _==\"number\"&&(W=_|0,W<0?(N+=V*(P-1),P=re(-P/W)):P=re(P/W),V*=W),typeof C==\"number\"&&(W=C|0,W<0?(N+=H*(T-1),T=re(-T/W)):T=re(T/W),H*=W),typeof M==\"number\"&&(W=M|0,W<0?(N+=X*(F-1),F=re(-F/W)):F=re(F/W),X*=W),typeof g==\"number\"&&(W=g|0,W<0?(N+=G*(q-1),q=re(-q/W)):q=re(q/W),G*=W),new k(this.data,P,T,F,q,V,H,X,G,N)},A.transpose=function(_,C,M,g){_=_===void 0?0:_|0,C=C===void 0?1:C|0,M=M===void 0?2:M|0,g=g===void 0?3:g|0;var P=this.shape,T=this.stride;return new k(this.data,P[_],P[C],P[M],P[g],T[_],T[C],T[M],T[g],this.offset)},A.pick=function(_,C,M,g){var P=[],T=[],F=this.offset;typeof _==\"number\"&&_>=0?F=F+this.stride[0]*_|0:(P.push(this.shape[0]),T.push(this.stride[0])),typeof C==\"number\"&&C>=0?F=F+this.stride[1]*C|0:(P.push(this.shape[1]),T.push(this.stride[1])),typeof M==\"number\"&&M>=0?F=F+this.stride[2]*M|0:(P.push(this.shape[2]),T.push(this.stride[2])),typeof g==\"number\"&&g>=0?F=F+this.stride[3]*g|0:(P.push(this.shape[3]),T.push(this.stride[3]));var q=p[P.length+1];return q(this.data,P,T,F)},function(_,C,M,g){return new k(_,C[0],C[1],C[2],C[3],M[0],M[1],M[2],M[3],g)}},5:function(p,E,k){function A(_,C,M,g,P,T,F,q,V,H,X,G){this.data=_,this.shape=[C,M,g,P,T],this.stride=[F,q,V,H,X],this.offset=G|0}var L=A.prototype;return L.dtype=p,L.dimension=5,Object.defineProperty(L,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(L,\"order\",{get:k}),L.set=function(C,M,g,P,T,F){return p===\"generic\"?this.data.set(this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T,F):this.data[this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T]=F},L.get=function(C,M,g,P,T){return p===\"generic\"?this.data.get(this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T):this.data[this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T]},L.index=function(C,M,g,P,T){return this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T},L.hi=function(C,M,g,P,T){return new A(this.data,typeof C!=\"number\"||C<0?this.shape[0]:C|0,typeof M!=\"number\"||M<0?this.shape[1]:M|0,typeof g!=\"number\"||g<0?this.shape[2]:g|0,typeof P!=\"number\"||P<0?this.shape[3]:P|0,typeof T!=\"number\"||T<0?this.shape[4]:T|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},L.lo=function(C,M,g,P,T){var F=this.offset,q=0,V=this.shape[0],H=this.shape[1],X=this.shape[2],G=this.shape[3],N=this.shape[4],W=this.stride[0],re=this.stride[1],ae=this.stride[2],_e=this.stride[3],Me=this.stride[4];return typeof C==\"number\"&&C>=0&&(q=C|0,F+=W*q,V-=q),typeof M==\"number\"&&M>=0&&(q=M|0,F+=re*q,H-=q),typeof g==\"number\"&&g>=0&&(q=g|0,F+=ae*q,X-=q),typeof P==\"number\"&&P>=0&&(q=P|0,F+=_e*q,G-=q),typeof T==\"number\"&&T>=0&&(q=T|0,F+=Me*q,N-=q),new A(this.data,V,H,X,G,N,W,re,ae,_e,Me,F)},L.step=function(C,M,g,P,T){var F=this.shape[0],q=this.shape[1],V=this.shape[2],H=this.shape[3],X=this.shape[4],G=this.stride[0],N=this.stride[1],W=this.stride[2],re=this.stride[3],ae=this.stride[4],_e=this.offset,Me=0,ke=Math.ceil;return typeof C==\"number\"&&(Me=C|0,Me<0?(_e+=G*(F-1),F=ke(-F/Me)):F=ke(F/Me),G*=Me),typeof M==\"number\"&&(Me=M|0,Me<0?(_e+=N*(q-1),q=ke(-q/Me)):q=ke(q/Me),N*=Me),typeof g==\"number\"&&(Me=g|0,Me<0?(_e+=W*(V-1),V=ke(-V/Me)):V=ke(V/Me),W*=Me),typeof P==\"number\"&&(Me=P|0,Me<0?(_e+=re*(H-1),H=ke(-H/Me)):H=ke(H/Me),re*=Me),typeof T==\"number\"&&(Me=T|0,Me<0?(_e+=ae*(X-1),X=ke(-X/Me)):X=ke(X/Me),ae*=Me),new A(this.data,F,q,V,H,X,G,N,W,re,ae,_e)},L.transpose=function(C,M,g,P,T){C=C===void 0?0:C|0,M=M===void 0?1:M|0,g=g===void 0?2:g|0,P=P===void 0?3:P|0,T=T===void 0?4:T|0;var F=this.shape,q=this.stride;return new A(this.data,F[C],F[M],F[g],F[P],F[T],q[C],q[M],q[g],q[P],q[T],this.offset)},L.pick=function(C,M,g,P,T){var F=[],q=[],V=this.offset;typeof C==\"number\"&&C>=0?V=V+this.stride[0]*C|0:(F.push(this.shape[0]),q.push(this.stride[0])),typeof M==\"number\"&&M>=0?V=V+this.stride[1]*M|0:(F.push(this.shape[1]),q.push(this.stride[1])),typeof g==\"number\"&&g>=0?V=V+this.stride[2]*g|0:(F.push(this.shape[2]),q.push(this.stride[2])),typeof P==\"number\"&&P>=0?V=V+this.stride[3]*P|0:(F.push(this.shape[3]),q.push(this.stride[3])),typeof T==\"number\"&&T>=0?V=V+this.stride[4]*T|0:(F.push(this.shape[4]),q.push(this.stride[4]));var H=E[F.length+1];return H(this.data,F,q,V)},function(C,M,g,P){return new A(C,M[0],M[1],M[2],M[3],M[4],g[0],g[1],g[2],g[3],g[4],P)}}};function h(b,p){var E=p===-1?\"T\":String(p),k=f[E];return p===-1?k(b):p===0?k(b,v[b][0]):k(b,v[b],c)}function d(b){if(s(b))return\"buffer\";if(l)switch(Object.prototype.toString.call(b)){case\"[object Float64Array]\":return\"float64\";case\"[object Float32Array]\":return\"float32\";case\"[object Int8Array]\":return\"int8\";case\"[object Int16Array]\":return\"int16\";case\"[object Int32Array]\":return\"int32\";case\"[object Uint8ClampedArray]\":return\"uint8_clamped\";case\"[object Uint8Array]\":return\"uint8\";case\"[object Uint16Array]\":return\"uint16\";case\"[object Uint32Array]\":return\"uint32\";case\"[object BigInt64Array]\":return\"bigint64\";case\"[object BigUint64Array]\":return\"biguint64\"}return Array.isArray(b)?\"array\":\"generic\"}var v={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};function x(b,p,E,k){if(b===void 0){var g=v.array[0];return g([])}else typeof b==\"number\"&&(b=[b]);p===void 0&&(p=[b.length]);var A=p.length;if(E===void 0){E=new Array(A);for(var L=A-1,_=1;L>=0;--L)E[L]=_,_*=p[L]}if(k===void 0){k=0;for(var L=0;L<A;++L)E[L]<0&&(k-=(p[L]-1)*E[L])}for(var C=d(b),M=v[C];M.length<=A+1;)M.push(h(C,M.length-1));var g=M[A+1];return g(b,p,E,k)}i.exports=x},1278:function(i,a,o){\"use strict\";var s=o(2361),l=Math.pow(2,-1074),u=-1>>>0;i.exports=c;function c(f,h){if(isNaN(f)||isNaN(h))return NaN;if(f===h)return f;if(f===0)return h<0?-l:l;var d=s.hi(f),v=s.lo(f);return h>f==f>0?v===u?(d+=1,v=0):v+=1:v===0?(v=u,d-=1):v-=1,s.pack(v,d)}},8406:function(i,a){var o=1e-6,s=1e-6;a.vertexNormals=function(l,u,c){for(var f=u.length,h=new Array(f),d=c===void 0?o:c,v=0;v<f;++v)h[v]=[0,0,0];for(var v=0;v<l.length;++v)for(var x=l[v],b=0,p=x[x.length-1],E=x[0],k=0;k<x.length;++k){b=p,p=E,E=x[(k+1)%x.length];for(var A=u[b],L=u[p],_=u[E],C=new Array(3),M=0,g=new Array(3),P=0,T=0;T<3;++T)C[T]=A[T]-L[T],M+=C[T]*C[T],g[T]=_[T]-L[T],P+=g[T]*g[T];if(M*P>d)for(var F=h[p],q=1/Math.sqrt(M*P),T=0;T<3;++T){var V=(T+1)%3,H=(T+2)%3;F[T]+=q*(g[V]*C[H]-g[H]*C[V])}}for(var v=0;v<f;++v){for(var F=h[v],X=0,T=0;T<3;++T)X+=F[T]*F[T];if(X>d)for(var q=1/Math.sqrt(X),T=0;T<3;++T)F[T]*=q;else for(var T=0;T<3;++T)F[T]=0}return h},a.faceNormals=function(l,u,c){for(var f=l.length,h=new Array(f),d=c===void 0?s:c,v=0;v<f;++v){for(var x=l[v],b=new Array(3),p=0;p<3;++p)b[p]=u[x[p]];for(var E=new Array(3),k=new Array(3),p=0;p<3;++p)E[p]=b[1][p]-b[0][p],k[p]=b[2][p]-b[0][p];for(var A=new Array(3),L=0,p=0;p<3;++p){var _=(p+1)%3,C=(p+2)%3;A[p]=E[_]*k[C]-E[C]*k[_],L+=A[p]*A[p]}L>d?L=1/Math.sqrt(L):L=0;for(var p=0;p<3;++p)A[p]*=L;h[v]=A}return h}},4081:function(i){\"use strict\";i.exports=a;function a(o,s,l,u,c,f,h,d,v,x){var b=s+f+x;if(p>0){var p=Math.sqrt(b+1);o[0]=.5*(h-v)/p,o[1]=.5*(d-u)/p,o[2]=.5*(l-f)/p,o[3]=.5*p}else{var E=Math.max(s,f,x),p=Math.sqrt(2*E-b+1);s>=E?(o[0]=.5*p,o[1]=.5*(c+l)/p,o[2]=.5*(d+u)/p,o[3]=.5*(h-v)/p):f>=E?(o[0]=.5*(l+c)/p,o[1]=.5*p,o[2]=.5*(v+h)/p,o[3]=.5*(d-u)/p):(o[0]=.5*(u+d)/p,o[1]=.5*(h+v)/p,o[2]=.5*p,o[3]=.5*(l-c)/p)}return o}},9977:function(i,a,o){\"use strict\";i.exports=p;var s=o(9215),l=o(6582),u=o(7399),c=o(7608),f=o(4081);function h(E,k,A){return Math.sqrt(Math.pow(E,2)+Math.pow(k,2)+Math.pow(A,2))}function d(E,k,A,L){return Math.sqrt(Math.pow(E,2)+Math.pow(k,2)+Math.pow(A,2)+Math.pow(L,2))}function v(E,k){var A=k[0],L=k[1],_=k[2],C=k[3],M=d(A,L,_,C);M>1e-6?(E[0]=A/M,E[1]=L/M,E[2]=_/M,E[3]=C/M):(E[0]=E[1]=E[2]=0,E[3]=1)}function x(E,k,A){this.radius=s([A]),this.center=s(k),this.rotation=s(E),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var b=x.prototype;b.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},b.recalcMatrix=function(E){this.radius.curve(E),this.center.curve(E),this.rotation.curve(E);var k=this.computedRotation;v(k,k);var A=this.computedMatrix;u(A,k);var L=this.computedCenter,_=this.computedEye,C=this.computedUp,M=Math.exp(this.computedRadius[0]);_[0]=L[0]+M*A[2],_[1]=L[1]+M*A[6],_[2]=L[2]+M*A[10],C[0]=A[1],C[1]=A[5],C[2]=A[9];for(var g=0;g<3;++g){for(var P=0,T=0;T<3;++T)P+=A[g+4*T]*_[T];A[12+g]=-P}},b.getMatrix=function(E,k){this.recalcMatrix(E);var A=this.computedMatrix;if(k){for(var L=0;L<16;++L)k[L]=A[L];return k}return A},b.idle=function(E){this.center.idle(E),this.radius.idle(E),this.rotation.idle(E)},b.flush=function(E){this.center.flush(E),this.radius.flush(E),this.rotation.flush(E)},b.pan=function(E,k,A,L){k=k||0,A=A||0,L=L||0,this.recalcMatrix(E);var _=this.computedMatrix,C=_[1],M=_[5],g=_[9],P=h(C,M,g);C/=P,M/=P,g/=P;var T=_[0],F=_[4],q=_[8],V=T*C+F*M+q*g;T-=C*V,F-=M*V,q-=g*V;var H=h(T,F,q);T/=H,F/=H,q/=H;var X=_[2],G=_[6],N=_[10],W=X*C+G*M+N*g,re=X*T+G*F+N*q;X-=W*C+re*T,G-=W*M+re*F,N-=W*g+re*q;var ae=h(X,G,N);X/=ae,G/=ae,N/=ae;var _e=T*k+C*A,Me=F*k+M*A,ke=q*k+g*A;this.center.move(E,_e,Me,ke);var ge=Math.exp(this.computedRadius[0]);ge=Math.max(1e-4,ge+L),this.radius.set(E,Math.log(ge))},b.rotate=function(E,k,A,L){this.recalcMatrix(E),k=k||0,A=A||0;var _=this.computedMatrix,C=_[0],M=_[4],g=_[8],P=_[1],T=_[5],F=_[9],q=_[2],V=_[6],H=_[10],X=k*C+A*P,G=k*M+A*T,N=k*g+A*F,W=-(V*N-H*G),re=-(H*X-q*N),ae=-(q*G-V*X),_e=Math.sqrt(Math.max(0,1-Math.pow(W,2)-Math.pow(re,2)-Math.pow(ae,2))),Me=d(W,re,ae,_e);Me>1e-6?(W/=Me,re/=Me,ae/=Me,_e/=Me):(W=re=ae=0,_e=1);var ke=this.computedRotation,ge=ke[0],ie=ke[1],Te=ke[2],Ee=ke[3],Ae=ge*_e+Ee*W+ie*ae-Te*re,ze=ie*_e+Ee*re+Te*W-ge*ae,Ce=Te*_e+Ee*ae+ge*re-ie*W,me=Ee*_e-ge*W-ie*re-Te*ae;if(L){W=q,re=V,ae=H;var Re=Math.sin(L)/h(W,re,ae);W*=Re,re*=Re,ae*=Re,_e=Math.cos(k),Ae=Ae*_e+me*W+ze*ae-Ce*re,ze=ze*_e+me*re+Ce*W-Ae*ae,Ce=Ce*_e+me*ae+Ae*re-ze*W,me=me*_e-Ae*W-ze*re-Ce*ae}var ce=d(Ae,ze,Ce,me);ce>1e-6?(Ae/=ce,ze/=ce,Ce/=ce,me/=ce):(Ae=ze=Ce=0,me=1),this.rotation.set(E,Ae,ze,Ce,me)},b.lookAt=function(E,k,A,L){this.recalcMatrix(E),A=A||this.computedCenter,k=k||this.computedEye,L=L||this.computedUp;var _=this.computedMatrix;l(_,k,A,L);var C=this.computedRotation;f(C,_[0],_[1],_[2],_[4],_[5],_[6],_[8],_[9],_[10]),v(C,C),this.rotation.set(E,C[0],C[1],C[2],C[3]);for(var M=0,g=0;g<3;++g)M+=Math.pow(A[g]-k[g],2);this.radius.set(E,.5*Math.log(Math.max(M,1e-6))),this.center.set(E,A[0],A[1],A[2])},b.translate=function(E,k,A,L){this.center.move(E,k||0,A||0,L||0)},b.setMatrix=function(E,k){var A=this.computedRotation;f(A,k[0],k[1],k[2],k[4],k[5],k[6],k[8],k[9],k[10]),v(A,A),this.rotation.set(E,A[0],A[1],A[2],A[3]);var L=this.computedMatrix;c(L,k);var _=L[15];if(Math.abs(_)>1e-6){var C=L[12]/_,M=L[13]/_,g=L[14]/_;this.recalcMatrix(E);var P=Math.exp(this.computedRadius[0]);this.center.set(E,C-L[2]*P,M-L[6]*P,g-L[10]*P),this.radius.idle(E)}else this.center.idle(E),this.radius.idle(E)},b.setDistance=function(E,k){k>0&&this.radius.set(E,Math.log(k))},b.setDistanceLimits=function(E,k){E>0?E=Math.log(E):E=-1/0,k>0?k=Math.log(k):k=1/0,k=Math.max(k,E),this.radius.bounds[0][0]=E,this.radius.bounds[1][0]=k},b.getDistanceLimits=function(E){var k=this.radius.bounds;return E?(E[0]=Math.exp(k[0][0]),E[1]=Math.exp(k[1][0]),E):[Math.exp(k[0][0]),Math.exp(k[1][0])]},b.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]}},b.fromJSON=function(E){var k=this.lastT(),A=E.center;A&&this.center.set(k,A[0],A[1],A[2]);var L=E.rotation;L&&this.rotation.set(k,L[0],L[1],L[2],L[3]);var _=E.distance;_&&_>0&&this.radius.set(k,Math.log(_)),this.setDistanceLimits(E.zoomMin,E.zoomMax)};function p(E){E=E||{};var k=E.center||[0,0,0],A=E.rotation||[0,0,0,1],L=E.radius||1;k=[].slice.call(k,0,3),A=[].slice.call(A,0,4),v(A,A);var _=new x(A,k,Math.log(L));return _.setDistanceLimits(E.zoomMin,E.zoomMax),(\"eye\"in E||\"up\"in E)&&_.lookAt(0,E.eye,E.center,E.up),_}},1371:function(i,a,o){\"use strict\";var s=o(3233);i.exports=function(u,c,f){return f=typeof f!=\"undefined\"?f+\"\":\" \",s(f,c)+u}},3202:function(i){i.exports=function(o,s){s||(s=[0,\"\"]),o=String(o);var l=parseFloat(o,10);return s[0]=l,s[1]=o.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",s}},3088:function(i,a,o){\"use strict\";i.exports=l;var s=o(3140);function l(u,c){for(var f=c.length|0,h=u.length,d=[new Array(f),new Array(f)],v=0;v<f;++v)d[0][v]=[],d[1][v]=[];for(var v=0;v<h;++v){var x=u[v];d[0][x[0]].push(x),d[1][x[1]].push(x)}for(var b=[],v=0;v<f;++v)d[0][v].length+d[1][v].length===0&&b.push([v]);function p(g,P){var T=d[P][g[P]];T.splice(T.indexOf(g),1)}function E(g,P,T){for(var F,q,V,H=0;H<2;++H)if(d[H][P].length>0){F=d[H][P][0],V=H;break}q=F[V^1];for(var X=0;X<2;++X)for(var G=d[X][P],N=0;N<G.length;++N){var W=G[N],re=W[X^1],ae=s(c[g],c[P],c[q],c[re]);ae>0&&(F=W,q=re,V=X)}return T||F&&p(F,V),q}function k(g,P){var T=d[P][g][0],F=[g];p(T,P);for(var q=T[P^1],V=P;;){for(;q!==g;)F.push(q),q=E(F[F.length-2],q,!1);if(d[0][g].length+d[1][g].length===0)break;var H=F[F.length-1],X=g,G=F[1],N=E(H,X,!0);if(s(c[H],c[X],c[G],c[N])<0)break;F.push(g),q=E(H,X)}return F}function A(g,P){return P[1]===P[P.length-1]}for(var v=0;v<f;++v)for(var L=0;L<2;++L){for(var _=[];d[L][v].length>0;){var C=d[0][v].length,M=k(v,L);A(_,M)?_.push.apply(_,M):(_.length>0&&b.push(_),_=M)}_.length>0&&b.push(_)}return b}},5609:function(i,a,o){\"use strict\";i.exports=l;var s=o(3134);function l(u,c){for(var f=s(u,c.length),h=new Array(c.length),d=new Array(c.length),v=[],x=0;x<c.length;++x){var b=f[x].length;d[x]=b,h[x]=!0,b<=1&&v.push(x)}for(;v.length>0;){var p=v.pop();h[p]=!1;for(var E=f[p],x=0;x<E.length;++x){var k=E[x];--d[k]===0&&v.push(k)}}for(var A=new Array(c.length),L=[],x=0;x<c.length;++x)if(h[x]){var p=L.length;A[x]=p,L.push(c[x])}else A[x]=-1;for(var _=[],x=0;x<u.length;++x){var C=u[x];h[C[0]]&&h[C[1]]&&_.push([A[C[0]],A[C[1]]])}return[_,L]}},2095:function(i,a,o){\"use strict\";i.exports=b;var s=o(3134),l=o(3088),u=o(5085),c=o(5250),f=o(8210),h=o(1682),d=o(5609);function v(p,E){for(var k=new Array(p),A=0;A<p;++A)k[A]=E;return k}function x(p){for(var E=new Array(p),k=0;k<p;++k)E[k]=[];return E}function b(p,E){var Re=d(p,E);p=Re[0],E=Re[1];for(var k=E.length,A=p.length,L=s(p,E.length),_=0;_<k;++_)if(L[_].length%2===1)throw new Error(\"planar-graph-to-polyline: graph must be manifold\");var C=l(p,E);function M(ot){for(var Rt=ot.length,kt=[0],Ct=0;Ct<Rt;++Ct){var Yt=E[ot[Ct]],xr=E[ot[(Ct+1)%Rt]],er=c(-Yt[0],Yt[1]),Ke=c(-Yt[0],xr[1]),xt=c(xr[0],Yt[1]),bt=c(xr[0],xr[1]);kt=f(kt,f(f(er,Ke),f(xt,bt)))}return kt[kt.length-1]>0}C=C.filter(M);for(var g=C.length,P=new Array(g),T=new Array(g),_=0;_<g;++_){P[_]=_;var F=new Array(g),q=C[_].map(function(Rt){return E[Rt]}),V=u([q]),H=0;e:for(var X=0;X<g;++X)if(F[X]=0,_!==X){for(var G=C[X],N=G.length,W=0;W<N;++W){var re=V(E[G[W]]);if(re!==0){re<0&&(F[X]=1,H+=1);continue e}}F[X]=1,H+=1}T[_]=[H,_,F]}T.sort(function(ot,Rt){return Rt[0]-ot[0]});for(var _=0;_<g;++_)for(var F=T[_],ae=F[1],_e=F[2],X=0;X<g;++X)_e[X]&&(P[X]=ae);for(var Me=x(g),_=0;_<g;++_)Me[_].push(P[_]),Me[P[_]].push(_);for(var ke={},ge=v(k,!1),_=0;_<g;++_)for(var G=C[_],N=G.length,X=0;X<N;++X){var ie=G[X],Te=G[(X+1)%N],Ee=Math.min(ie,Te)+\":\"+Math.max(ie,Te);if(Ee in ke){var Ae=ke[Ee];Me[Ae].push(_),Me[_].push(Ae),ge[ie]=ge[Te]=!0}else ke[Ee]=_}function ze(ot){for(var Rt=ot.length,kt=0;kt<Rt;++kt)if(!ge[ot[kt]])return!1;return!0}for(var Ce=[],me=v(g,-1),_=0;_<g;++_)P[_]===_&&!ze(C[_])?(Ce.push(_),me[_]=0):me[_]=-1;for(var Re=[];Ce.length>0;){var ce=Ce.pop(),Ge=Me[ce];h(Ge,function(ot,Rt){return ot-Rt});var nt=Ge.length,ct=me[ce],qt;if(ct===0){var G=C[ce];qt=[G]}for(var _=0;_<nt;++_){var rt=Ge[_];if(!(me[rt]>=0)&&(me[rt]=ct^1,Ce.push(rt),ct===0)){var G=C[rt];ze(G)||(G.reverse(),qt.push(G))}}ct===0&&Re.push(qt)}return Re}},5085:function(i,a,o){i.exports=E;var s=o(3250)[3],l=o(4209),u=o(3352),c=o(2478);function f(){return!0}function h(k){return function(A,L){var _=k[A];return _?!!_.queryPoint(L,f):!1}}function d(k){for(var A={},L=0;L<k.length;++L){var _=k[L],C=_[0][0],M=_[0][1],g=_[1][1],P=[Math.min(M,g),Math.max(M,g)];C in A?A[C].push(P):A[C]=[P]}for(var T={},F=Object.keys(A),L=0;L<F.length;++L){var q=A[F[L]];T[F[L]]=u(q)}return h(T)}function v(k,A){return function(L){var _=c.le(A,L[0]);if(_<0)return 1;var C=k[_];if(!C)if(_>0&&A[_]===L[0])C=k[_-1];else return 1;for(var M=1;C;){var g=C.key,P=s(L,g[0],g[1]);if(g[0][0]<g[1][0])if(P<0)C=C.left;else if(P>0)M=-1,C=C.right;else return 0;else if(P>0)C=C.left;else if(P<0)M=1,C=C.right;else return 0}return M}}function x(k){return 1}function b(k){return function(L){return k(L[0],L[1])?0:1}}function p(k,A){return function(_){return k(_[0],_[1])?0:A(_)}}function E(k){for(var A=k.length,L=[],_=[],C=0,M=0;M<A;++M)for(var g=k[M],P=g.length,T=P-1,F=0;F<P;T=F++){var q=g[T],V=g[F];q[0]===V[0]?_.push([q,V]):L.push([q,V])}if(L.length===0)return _.length===0?x:b(d(_));var H=l(L),X=v(H.slabs,H.coordinates);return _.length===0?X:p(d(_),X)}},9346:function(i){\"use strict\";var a=new Float64Array(4),o=new Float64Array(4),s=new Float64Array(4);function l(u,c,f,h,d){a.length<h.length&&(a=new Float64Array(h.length),o=new Float64Array(h.length),s=new Float64Array(h.length));for(var v=0;v<h.length;++v)a[v]=u[v]-h[v],o[v]=c[v]-u[v],s[v]=f[v]-u[v];for(var x=0,b=0,p=0,E=0,k=0,A=0,v=0;v<h.length;++v){var L=o[v],_=s[v],C=a[v];x+=L*L,b+=L*_,p+=_*_,E+=C*L,k+=C*_,A+=C*C}var M=Math.abs(x*p-b*b),g=b*k-p*E,P=b*E-x*k,T;if(g+P<=M)if(g<0)P<0&&E<0?(P=0,-E>=x?(g=1,T=x+2*E+A):(g=-E/x,T=E*g+A)):(g=0,k>=0?(P=0,T=A):-k>=p?(P=1,T=p+2*k+A):(P=-k/p,T=k*P+A));else if(P<0)P=0,E>=0?(g=0,T=A):-E>=x?(g=1,T=x+2*E+A):(g=-E/x,T=E*g+A);else{var F=1/M;g*=F,P*=F,T=g*(x*g+b*P+2*E)+P*(b*g+p*P+2*k)+A}else{var q,V,H,X;g<0?(q=b+E,V=p+k,V>q?(H=V-q,X=x-2*b+p,H>=X?(g=1,P=0,T=x+2*E+A):(g=H/X,P=1-g,T=g*(x*g+b*P+2*E)+P*(b*g+p*P+2*k)+A)):(g=0,V<=0?(P=1,T=p+2*k+A):k>=0?(P=0,T=A):(P=-k/p,T=k*P+A))):P<0?(q=b+k,V=x+E,V>q?(H=V-q,X=x-2*b+p,H>=X?(P=1,g=0,T=p+2*k+A):(P=H/X,g=1-P,T=g*(x*g+b*P+2*E)+P*(b*g+p*P+2*k)+A)):(P=0,V<=0?(g=1,T=x+2*E+A):E>=0?(g=0,T=A):(g=-E/x,T=E*g+A))):(H=p+k-b-E,H<=0?(g=0,P=1,T=p+2*k+A):(X=x-2*b+p,H>=X?(g=1,P=0,T=x+2*E+A):(g=H/X,P=1-g,T=g*(x*g+b*P+2*E)+P*(b*g+p*P+2*k)+A)))}for(var G=1-g-P,v=0;v<h.length;++v)d[v]=G*u[v]+g*c[v]+P*f[v];return T<0?0:T}i.exports=l},8648:function(i,a,o){i.exports=o(783)},2653:function(i,a,o){\"use strict\";var s=o(3865);i.exports=l;function l(u,c){for(var f=u.length,h=new Array(f),d=0;d<f;++d)h[d]=s(u[d],c[d]);return h}},5838:function(i,a,o){\"use strict\";i.exports=l;var s=o(7842);function l(u){for(var c=new Array(u.length),f=0;f<u.length;++f)c[f]=s(u[f]);return c}},8987:function(i,a,o){\"use strict\";var s=o(7842),l=o(6504);i.exports=u;function u(c,f){for(var h=s(f),d=c.length,v=new Array(d),x=0;x<d;++x)v[x]=l(c[x],h);return v}},544:function(i,a,o){\"use strict\";var s=o(5572);i.exports=l;function l(u,c){for(var f=u.length,h=new Array(f),d=0;d<f;++d)h[d]=s(u[d],c[d]);return h}},5771:function(i,a,o){\"use strict\";var s=o(8507),l=o(3788),u=o(2419);i.exports=c;function c(f){f.sort(l);for(var h=f.length,d=0,v=0;v<h;++v){var x=f[v],b=u(x);if(b!==0){if(d>0){var p=f[d-1];if(s(x,p)===0&&u(p)!==b){d-=1;continue}}f[d++]=x}}return f.length=d,f}},3233:function(i){\"use strict\";var a=\"\",o;i.exports=s;function s(l,u){if(typeof l!=\"string\")throw new TypeError(\"expected a string\");if(u===1)return l;if(u===2)return l+l;var c=l.length*u;if(o!==l||typeof o==\"undefined\")o=l,a=\"\";else if(a.length>=c)return a.substr(0,c);for(;c>a.length&&u>1;)u&1&&(a+=l),u>>=1,l+=l;return a+=l,a=a.substr(0,c),a}},3025:function(i,a,o){i.exports=o.g.performance&&o.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(i){\"use strict\";i.exports=a;function a(o){for(var s=o.length,l=o[o.length-1],u=s,c=s-2;c>=0;--c){var f=l,h=o[c];l=f+h;var d=l-f,v=h-d;v&&(o[--u]=l,l=v)}for(var x=0,c=u;c<s;++c){var f=o[c],h=l;l=f+h;var d=l-f,v=h-d;v&&(o[x++]=v)}return o[x++]=l,o.length=x,o}},2962:function(i,a,o){\"use strict\";var s=o(5250),l=o(8210),u=o(3012),c=o(7004),f=6;function h(A,L,_,C){return function(g){return C(A(_(g[0][0],g[1][1]),_(-g[0][1],g[1][0])))}}function d(A,L,_,C){return function(g){return C(A(L(A(_(g[1][1],g[2][2]),_(-g[1][2],g[2][1])),g[0][0]),A(L(A(_(g[1][0],g[2][2]),_(-g[1][2],g[2][0])),-g[0][1]),L(A(_(g[1][0],g[2][1]),_(-g[1][1],g[2][0])),g[0][2]))))}}function v(A,L,_,C){return function(g){return C(A(A(L(A(L(A(_(g[2][2],g[3][3]),_(-g[2][3],g[3][2])),g[1][1]),A(L(A(_(g[2][1],g[3][3]),_(-g[2][3],g[3][1])),-g[1][2]),L(A(_(g[2][1],g[3][2]),_(-g[2][2],g[3][1])),g[1][3]))),g[0][0]),L(A(L(A(_(g[2][2],g[3][3]),_(-g[2][3],g[3][2])),g[1][0]),A(L(A(_(g[2][0],g[3][3]),_(-g[2][3],g[3][0])),-g[1][2]),L(A(_(g[2][0],g[3][2]),_(-g[2][2],g[3][0])),g[1][3]))),-g[0][1])),A(L(A(L(A(_(g[2][1],g[3][3]),_(-g[2][3],g[3][1])),g[1][0]),A(L(A(_(g[2][0],g[3][3]),_(-g[2][3],g[3][0])),-g[1][1]),L(A(_(g[2][0],g[3][1]),_(-g[2][1],g[3][0])),g[1][3]))),g[0][2]),L(A(L(A(_(g[2][1],g[3][2]),_(-g[2][2],g[3][1])),g[1][0]),A(L(A(_(g[2][0],g[3][2]),_(-g[2][2],g[3][0])),-g[1][1]),L(A(_(g[2][0],g[3][1]),_(-g[2][1],g[3][0])),g[1][2]))),-g[0][3]))))}}function x(A,L,_,C){return function(g){return C(A(A(L(A(A(L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][2]),A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),-g[2][3]),L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][4]))),g[1][1]),L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][1]),A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),-g[2][3]),L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),g[2][4]))),-g[1][2])),A(L(A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),g[2][1]),A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),-g[2][2]),L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][4]))),g[1][3]),L(A(L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][1]),A(L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),-g[2][2]),L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][3]))),-g[1][4]))),g[0][0]),L(A(A(L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][2]),A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),-g[2][3]),L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][4]))),g[1][0]),L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][3]),L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),g[2][4]))),-g[1][2])),A(L(A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][2]),L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),g[2][4]))),g[1][3]),L(A(L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][0]),A(L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),-g[2][2]),L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),g[2][3]))),-g[1][4]))),-g[0][1])),A(L(A(A(L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][1]),A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),-g[2][3]),L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),g[2][4]))),g[1][0]),L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][3]),L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),g[2][4]))),-g[1][1])),A(L(A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][4]))),g[1][3]),L(A(L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][3]))),-g[1][4]))),g[0][2]),A(L(A(A(L(A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),g[2][1]),A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),-g[2][2]),L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][4]))),g[1][0]),L(A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][2]),L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),g[2][4]))),-g[1][1])),A(L(A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][4]))),g[1][2]),L(A(L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][2]))),-g[1][4]))),-g[0][3]),L(A(A(L(A(L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][1]),A(L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),-g[2][2]),L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][3]))),g[1][0]),L(A(L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][0]),A(L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),-g[2][2]),L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),g[2][3]))),-g[1][1])),A(L(A(L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][3]))),g[1][2]),L(A(L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][2]))),-g[1][3]))),g[0][4])))))}}function b(A){var L=A===2?h:A===3?d:A===4?v:A===5?x:void 0;return L(l,u,s,c)}var p=[function(){return[0]},function(L){return[L[0][0]]}];function E(A,L,_,C,M,g,P,T){return function(q){switch(q.length){case 0:return A(q);case 1:return L(q);case 2:return _(q);case 3:return C(q);case 4:return M(q);case 5:return g(q)}var V=P[q.length];return V||(V=P[q.length]=T(q.length)),V(q)}}function k(){for(;p.length<f;)p.push(b(p.length));i.exports=E.apply(void 0,p.concat([p,b]));for(var A=0;A<p.length;++A)i.exports[A]=p[A]}k()},1944:function(i,a,o){\"use strict\";var s=o(5250),l=o(8210);i.exports=u;function u(c,f){for(var h=s(c[0],f[0]),d=1;d<c.length;++d)h=l(h,s(c[d],f[d]));return h}},2646:function(i,a,o){\"use strict\";var s=o(5250),l=o(8210),u=o(8545),c=o(3012),f=6;function h(M){var g=M===3?b:M===4?p:M===5?E:k;return g(l,u,s,c)}function d(){return 0}function v(){return 0}function x(){return 0}function b(M,g,P,T){function F(q,V,H){var X=P(q[0],q[0]),G=T(X,V[0]),N=T(X,H[0]),W=P(V[0],V[0]),re=T(W,q[0]),ae=T(W,H[0]),_e=P(H[0],H[0]),Me=T(_e,q[0]),ke=T(_e,V[0]),ge=M(g(ke,ae),g(re,G)),ie=g(Me,N),Te=g(ge,ie);return Te[Te.length-1]}return F}function p(M,g,P,T){function F(q,V,H,X){var G=M(P(q[0],q[0]),P(q[1],q[1])),N=T(G,V[0]),W=T(G,H[0]),re=T(G,X[0]),ae=M(P(V[0],V[0]),P(V[1],V[1])),_e=T(ae,q[0]),Me=T(ae,H[0]),ke=T(ae,X[0]),ge=M(P(H[0],H[0]),P(H[1],H[1])),ie=T(ge,q[0]),Te=T(ge,V[0]),Ee=T(ge,X[0]),Ae=M(P(X[0],X[0]),P(X[1],X[1])),ze=T(Ae,q[0]),Ce=T(Ae,V[0]),me=T(Ae,H[0]),Re=M(M(T(g(me,Ee),V[1]),M(T(g(Ce,ke),-H[1]),T(g(Te,Me),X[1]))),M(T(g(Ce,ke),q[1]),M(T(g(ze,re),-V[1]),T(g(_e,N),X[1])))),ce=M(M(T(g(me,Ee),q[1]),M(T(g(ze,re),-H[1]),T(g(ie,W),X[1]))),M(T(g(Te,Me),q[1]),M(T(g(ie,W),-V[1]),T(g(_e,N),H[1])))),Ge=g(Re,ce);return Ge[Ge.length-1]}return F}function E(M,g,P,T){function F(q,V,H,X,G){var N=M(P(q[0],q[0]),M(P(q[1],q[1]),P(q[2],q[2]))),W=T(N,V[0]),re=T(N,H[0]),ae=T(N,X[0]),_e=T(N,G[0]),Me=M(P(V[0],V[0]),M(P(V[1],V[1]),P(V[2],V[2]))),ke=T(Me,q[0]),ge=T(Me,H[0]),ie=T(Me,X[0]),Te=T(Me,G[0]),Ee=M(P(H[0],H[0]),M(P(H[1],H[1]),P(H[2],H[2]))),Ae=T(Ee,q[0]),ze=T(Ee,V[0]),Ce=T(Ee,X[0]),me=T(Ee,G[0]),Re=M(P(X[0],X[0]),M(P(X[1],X[1]),P(X[2],X[2]))),ce=T(Re,q[0]),Ge=T(Re,V[0]),nt=T(Re,H[0]),ct=T(Re,G[0]),qt=M(P(G[0],G[0]),M(P(G[1],G[1]),P(G[2],G[2]))),rt=T(qt,q[0]),ot=T(qt,V[0]),Rt=T(qt,H[0]),kt=T(qt,X[0]),Ct=M(M(M(T(M(T(g(kt,ct),H[1]),M(T(g(Rt,me),-X[1]),T(g(nt,Ce),G[1]))),V[2]),M(T(M(T(g(kt,ct),V[1]),M(T(g(ot,Te),-X[1]),T(g(Ge,ie),G[1]))),-H[2]),T(M(T(g(Rt,me),V[1]),M(T(g(ot,Te),-H[1]),T(g(ze,ge),G[1]))),X[2]))),M(T(M(T(g(nt,Ce),V[1]),M(T(g(Ge,ie),-H[1]),T(g(ze,ge),X[1]))),-G[2]),M(T(M(T(g(kt,ct),V[1]),M(T(g(ot,Te),-X[1]),T(g(Ge,ie),G[1]))),q[2]),T(M(T(g(kt,ct),q[1]),M(T(g(rt,_e),-X[1]),T(g(ce,ae),G[1]))),-V[2])))),M(M(T(M(T(g(ot,Te),q[1]),M(T(g(rt,_e),-V[1]),T(g(ke,W),G[1]))),X[2]),M(T(M(T(g(Ge,ie),q[1]),M(T(g(ce,ae),-V[1]),T(g(ke,W),X[1]))),-G[2]),T(M(T(g(nt,Ce),V[1]),M(T(g(Ge,ie),-H[1]),T(g(ze,ge),X[1]))),q[2]))),M(T(M(T(g(nt,Ce),q[1]),M(T(g(ce,ae),-H[1]),T(g(Ae,re),X[1]))),-V[2]),M(T(M(T(g(Ge,ie),q[1]),M(T(g(ce,ae),-V[1]),T(g(ke,W),X[1]))),H[2]),T(M(T(g(ze,ge),q[1]),M(T(g(Ae,re),-V[1]),T(g(ke,W),H[1]))),-X[2]))))),Yt=M(M(M(T(M(T(g(kt,ct),H[1]),M(T(g(Rt,me),-X[1]),T(g(nt,Ce),G[1]))),q[2]),T(M(T(g(kt,ct),q[1]),M(T(g(rt,_e),-X[1]),T(g(ce,ae),G[1]))),-H[2])),M(T(M(T(g(Rt,me),q[1]),M(T(g(rt,_e),-H[1]),T(g(Ae,re),G[1]))),X[2]),T(M(T(g(nt,Ce),q[1]),M(T(g(ce,ae),-H[1]),T(g(Ae,re),X[1]))),-G[2]))),M(M(T(M(T(g(Rt,me),V[1]),M(T(g(ot,Te),-H[1]),T(g(ze,ge),G[1]))),q[2]),T(M(T(g(Rt,me),q[1]),M(T(g(rt,_e),-H[1]),T(g(Ae,re),G[1]))),-V[2])),M(T(M(T(g(ot,Te),q[1]),M(T(g(rt,_e),-V[1]),T(g(ke,W),G[1]))),H[2]),T(M(T(g(ze,ge),q[1]),M(T(g(Ae,re),-V[1]),T(g(ke,W),H[1]))),-G[2])))),xr=g(Ct,Yt);return xr[xr.length-1]}return F}function k(M,g,P,T){function F(q,V,H,X,G,N){var W=M(M(P(q[0],q[0]),P(q[1],q[1])),M(P(q[2],q[2]),P(q[3],q[3]))),re=T(W,V[0]),ae=T(W,H[0]),_e=T(W,X[0]),Me=T(W,G[0]),ke=T(W,N[0]),ge=M(M(P(V[0],V[0]),P(V[1],V[1])),M(P(V[2],V[2]),P(V[3],V[3]))),ie=T(ge,q[0]),Te=T(ge,H[0]),Ee=T(ge,X[0]),Ae=T(ge,G[0]),ze=T(ge,N[0]),Ce=M(M(P(H[0],H[0]),P(H[1],H[1])),M(P(H[2],H[2]),P(H[3],H[3]))),me=T(Ce,q[0]),Re=T(Ce,V[0]),ce=T(Ce,X[0]),Ge=T(Ce,G[0]),nt=T(Ce,N[0]),ct=M(M(P(X[0],X[0]),P(X[1],X[1])),M(P(X[2],X[2]),P(X[3],X[3]))),qt=T(ct,q[0]),rt=T(ct,V[0]),ot=T(ct,H[0]),Rt=T(ct,G[0]),kt=T(ct,N[0]),Ct=M(M(P(G[0],G[0]),P(G[1],G[1])),M(P(G[2],G[2]),P(G[3],G[3]))),Yt=T(Ct,q[0]),xr=T(Ct,V[0]),er=T(Ct,H[0]),Ke=T(Ct,X[0]),xt=T(Ct,N[0]),bt=M(M(P(N[0],N[0]),P(N[1],N[1])),M(P(N[2],N[2]),P(N[3],N[3]))),Lt=T(bt,q[0]),St=T(bt,V[0]),Et=T(bt,H[0]),dt=T(bt,X[0]),Ht=T(bt,G[0]),$t=M(M(M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),H[2]),T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),-X[2])),M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),G[2]),T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),-N[2]))),V[3]),M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),V[2]),T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),-X[2])),M(T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),G[2]),T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),-N[2]))),-H[3]),T(M(M(T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),V[2]),T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),-H[2])),M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),G[2]),T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),-N[2]))),X[3]))),M(M(T(M(M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),V[2]),T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),-H[2])),M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),X[2]),T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),-N[2]))),-G[3]),T(M(M(T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),V[2]),T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),-H[2])),M(T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),X[2]),T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),-G[2]))),N[3])),M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),V[2]),T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),-X[2])),M(T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),G[2]),T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),-N[2]))),q[3]),T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-X[2])),M(T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),G[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-N[2]))),-V[3])))),M(M(M(T(M(M(T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),G[2]),T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),-N[2]))),X[3]),T(M(M(T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),q[2]),T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),X[2]),T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),-N[2]))),-G[3])),M(T(M(M(T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),q[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-V[2])),M(T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),X[2]),T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),-G[2]))),N[3]),T(M(M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),V[2]),T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),-H[2])),M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),X[2]),T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),-N[2]))),q[3]))),M(M(T(M(M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),q[2]),T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),-H[2])),M(T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),X[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-N[2]))),-V[3]),T(M(M(T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),q[2]),T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),X[2]),T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),-N[2]))),H[3])),M(T(M(M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),q[2]),T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-N[2]))),-X[3]),T(M(M(T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),q[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-V[2])),M(T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-X[2]))),N[3]))))),fr=M(M(M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),H[2]),T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),-X[2])),M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),G[2]),T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),-N[2]))),q[3]),M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-X[2])),M(T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),G[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-N[2]))),-H[3]),T(M(M(T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-H[2])),M(T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),G[2]),T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),-N[2]))),X[3]))),M(M(T(M(M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),q[2]),T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),-H[2])),M(T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),X[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-N[2]))),-G[3]),T(M(M(T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),q[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-H[2])),M(T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),X[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-G[2]))),N[3])),M(T(M(M(T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),V[2]),T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),-H[2])),M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),G[2]),T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),-N[2]))),q[3]),T(M(M(T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-H[2])),M(T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),G[2]),T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),-N[2]))),-V[3])))),M(M(M(T(M(M(T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),G[2]),T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),-N[2]))),H[3]),T(M(M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),q[2]),T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-N[2]))),-G[3])),M(T(M(M(T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),q[2]),T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),-V[2])),M(T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-G[2]))),N[3]),T(M(M(T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),V[2]),T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),-H[2])),M(T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),X[2]),T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),-G[2]))),q[3]))),M(M(T(M(M(T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),q[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-H[2])),M(T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),X[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-G[2]))),-V[3]),T(M(M(T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),q[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-V[2])),M(T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),X[2]),T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),-G[2]))),H[3])),M(T(M(M(T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),q[2]),T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),-V[2])),M(T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-G[2]))),-X[3]),T(M(M(T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),q[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-V[2])),M(T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-X[2]))),G[3]))))),_r=g($t,fr);return _r[_r.length-1]}return F}var A=[d,v,x];function L(M){var g=A[M.length];return g||(g=A[M.length]=h(M.length)),g.apply(void 0,M)}function _(M,g,P,T,F,q,V,H){function X(G,N,W,re,ae,_e){switch(arguments.length){case 0:case 1:return 0;case 2:return T(G,N);case 3:return F(G,N,W);case 4:return q(G,N,W,re);case 5:return V(G,N,W,re,ae);case 6:return H(G,N,W,re,ae,_e)}for(var Me=new Array(arguments.length),ke=0;ke<arguments.length;++ke)Me[ke]=arguments[ke];return M(Me)}return X}function C(){for(;A.length<=f;)A.push(h(A.length));i.exports=_.apply(void 0,[L].concat(A));for(var M=0;M<=f;++M)i.exports[M]=A[M]}C()},727:function(i,a,o){\"use strict\";var s=o(2962),l=6;function u(A){var L=A===2?h:A===3?d:A===4?v:A===5?x:b;return A<6?L(s[A]):L(s)}function c(){return[[0]]}function f(A,L){return[[L[0]],[A[0][0]]]}function h(A){return function(_,C){return[A([[+C[0],+_[0][1]],[+C[1],+_[1][1]]]),A([[+_[0][0],+C[0]],[+_[1][0],+C[1]]]),A(_)]}}function d(A){return function(_,C){return[A([[+C[0],+_[0][1],+_[0][2]],[+C[1],+_[1][1],+_[1][2]],[+C[2],+_[2][1],+_[2][2]]]),A([[+_[0][0],+C[0],+_[0][2]],[+_[1][0],+C[1],+_[1][2]],[+_[2][0],+C[2],+_[2][2]]]),A([[+_[0][0],+_[0][1],+C[0]],[+_[1][0],+_[1][1],+C[1]],[+_[2][0],+_[2][1],+C[2]]]),A(_)]}}function v(A){return function(_,C){return[A([[+C[0],+_[0][1],+_[0][2],+_[0][3]],[+C[1],+_[1][1],+_[1][2],+_[1][3]],[+C[2],+_[2][1],+_[2][2],+_[2][3]],[+C[3],+_[3][1],+_[3][2],+_[3][3]]]),A([[+_[0][0],+C[0],+_[0][2],+_[0][3]],[+_[1][0],+C[1],+_[1][2],+_[1][3]],[+_[2][0],+C[2],+_[2][2],+_[2][3]],[+_[3][0],+C[3],+_[3][2],+_[3][3]]]),A([[+_[0][0],+_[0][1],+C[0],+_[0][3]],[+_[1][0],+_[1][1],+C[1],+_[1][3]],[+_[2][0],+_[2][1],+C[2],+_[2][3]],[+_[3][0],+_[3][1],+C[3],+_[3][3]]]),A([[+_[0][0],+_[0][1],+_[0][2],+C[0]],[+_[1][0],+_[1][1],+_[1][2],+C[1]],[+_[2][0],+_[2][1],+_[2][2],+C[2]],[+_[3][0],+_[3][1],+_[3][2],+C[3]]]),A(_)]}}function x(A){return function(_,C){return[A([[+C[0],+_[0][1],+_[0][2],+_[0][3],+_[0][4]],[+C[1],+_[1][1],+_[1][2],+_[1][3],+_[1][4]],[+C[2],+_[2][1],+_[2][2],+_[2][3],+_[2][4]],[+C[3],+_[3][1],+_[3][2],+_[3][3],+_[3][4]],[+C[4],+_[4][1],+_[4][2],+_[4][3],+_[4][4]]]),A([[+_[0][0],+C[0],+_[0][2],+_[0][3],+_[0][4]],[+_[1][0],+C[1],+_[1][2],+_[1][3],+_[1][4]],[+_[2][0],+C[2],+_[2][2],+_[2][3],+_[2][4]],[+_[3][0],+C[3],+_[3][2],+_[3][3],+_[3][4]],[+_[4][0],+C[4],+_[4][2],+_[4][3],+_[4][4]]]),A([[+_[0][0],+_[0][1],+C[0],+_[0][3],+_[0][4]],[+_[1][0],+_[1][1],+C[1],+_[1][3],+_[1][4]],[+_[2][0],+_[2][1],+C[2],+_[2][3],+_[2][4]],[+_[3][0],+_[3][1],+C[3],+_[3][3],+_[3][4]],[+_[4][0],+_[4][1],+C[4],+_[4][3],+_[4][4]]]),A([[+_[0][0],+_[0][1],+_[0][2],+C[0],+_[0][4]],[+_[1][0],+_[1][1],+_[1][2],+C[1],+_[1][4]],[+_[2][0],+_[2][1],+_[2][2],+C[2],+_[2][4]],[+_[3][0],+_[3][1],+_[3][2],+C[3],+_[3][4]],[+_[4][0],+_[4][1],+_[4][2],+C[4],+_[4][4]]]),A([[+_[0][0],+_[0][1],+_[0][2],+_[0][3],+C[0]],[+_[1][0],+_[1][1],+_[1][2],+_[1][3],+C[1]],[+_[2][0],+_[2][1],+_[2][2],+_[2][3],+C[2]],[+_[3][0],+_[3][1],+_[3][2],+_[3][3],+C[3]],[+_[4][0],+_[4][1],+_[4][2],+_[4][3],+C[4]]]),A(_)]}}function b(A){return function(_,C){return[A([[+C[0],+_[0][1],+_[0][2],+_[0][3],+_[0][4],+_[0][5]],[+C[1],+_[1][1],+_[1][2],+_[1][3],+_[1][4],+_[1][5]],[+C[2],+_[2][1],+_[2][2],+_[2][3],+_[2][4],+_[2][5]],[+C[3],+_[3][1],+_[3][2],+_[3][3],+_[3][4],+_[3][5]],[+C[4],+_[4][1],+_[4][2],+_[4][3],+_[4][4],+_[4][5]],[+C[5],+_[5][1],+_[5][2],+_[5][3],+_[5][4],+_[5][5]]]),A([[+_[0][0],+C[0],+_[0][2],+_[0][3],+_[0][4],+_[0][5]],[+_[1][0],+C[1],+_[1][2],+_[1][3],+_[1][4],+_[1][5]],[+_[2][0],+C[2],+_[2][2],+_[2][3],+_[2][4],+_[2][5]],[+_[3][0],+C[3],+_[3][2],+_[3][3],+_[3][4],+_[3][5]],[+_[4][0],+C[4],+_[4][2],+_[4][3],+_[4][4],+_[4][5]],[+_[5][0],+C[5],+_[5][2],+_[5][3],+_[5][4],+_[5][5]]]),A([[+_[0][0],+_[0][1],+C[0],+_[0][3],+_[0][4],+_[0][5]],[+_[1][0],+_[1][1],+C[1],+_[1][3],+_[1][4],+_[1][5]],[+_[2][0],+_[2][1],+C[2],+_[2][3],+_[2][4],+_[2][5]],[+_[3][0],+_[3][1],+C[3],+_[3][3],+_[3][4],+_[3][5]],[+_[4][0],+_[4][1],+C[4],+_[4][3],+_[4][4],+_[4][5]],[+_[5][0],+_[5][1],+C[5],+_[5][3],+_[5][4],+_[5][5]]]),A([[+_[0][0],+_[0][1],+_[0][2],+C[0],+_[0][4],+_[0][5]],[+_[1][0],+_[1][1],+_[1][2],+C[1],+_[1][4],+_[1][5]],[+_[2][0],+_[2][1],+_[2][2],+C[2],+_[2][4],+_[2][5]],[+_[3][0],+_[3][1],+_[3][2],+C[3],+_[3][4],+_[3][5]],[+_[4][0],+_[4][1],+_[4][2],+C[4],+_[4][4],+_[4][5]],[+_[5][0],+_[5][1],+_[5][2],+C[5],+_[5][4],+_[5][5]]]),A([[+_[0][0],+_[0][1],+_[0][2],+_[0][3],+C[0],+_[0][5]],[+_[1][0],+_[1][1],+_[1][2],+_[1][3],+C[1],+_[1][5]],[+_[2][0],+_[2][1],+_[2][2],+_[2][3],+C[2],+_[2][5]],[+_[3][0],+_[3][1],+_[3][2],+_[3][3],+C[3],+_[3][5]],[+_[4][0],+_[4][1],+_[4][2],+_[4][3],+C[4],+_[4][5]],[+_[5][0],+_[5][1],+_[5][2],+_[5][3],+C[5],+_[5][5]]]),A([[+_[0][0],+_[0][1],+_[0][2],+_[0][3],+_[0][4],+C[0]],[+_[1][0],+_[1][1],+_[1][2],+_[1][3],+_[1][4],+C[1]],[+_[2][0],+_[2][1],+_[2][2],+_[2][3],+_[2][4],+C[2]],[+_[3][0],+_[3][1],+_[3][2],+_[3][3],+_[3][4],+C[3]],[+_[4][0],+_[4][1],+_[4][2],+_[4][3],+_[4][4],+C[4]],[+_[5][0],+_[5][1],+_[5][2],+_[5][3],+_[5][4],+C[5]]]),A(_)]}}var p=[c,f];function E(A,L,_,C,M,g,P,T){return function(q,V){switch(q.length){case 0:return A(q,V);case 1:return L(q,V);case 2:return _(q,V);case 3:return C(q,V);case 4:return M(q,V);case 5:return g(q,V)}var H=P[q.length];return H||(H=P[q.length]=T(q.length)),H(q,V)}}function k(){for(;p.length<l;)p.push(u(p.length));i.exports=E.apply(void 0,p.concat([p,u]));for(var A=0;A<l;++A)i.exports[A]=p[A]}k()},3250:function(i,a,o){\"use strict\";var s=o(5250),l=o(8210),u=o(3012),c=o(8545),f=5,h=11102230246251565e-32,d=(3+16*h)*h,v=(7+56*h)*h;function x(g,P,T,F){return function(V,H,X){var G=g(g(P(H[1],X[0]),P(-X[1],H[0])),g(P(V[1],H[0]),P(-H[1],V[0]))),N=g(P(V[1],X[0]),P(-X[1],V[0])),W=F(G,N);return W[W.length-1]}}function b(g,P,T,F){return function(V,H,X,G){var N=g(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),H[2]),g(T(g(P(H[1],G[0]),P(-G[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),G[2]))),g(T(g(P(H[1],G[0]),P(-G[1],H[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),G[2])))),W=g(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),G[2]))),g(T(g(P(H[1],X[0]),P(-X[1],H[0])),V[2]),g(T(g(P(V[1],X[0]),P(-X[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),X[2])))),re=F(N,W);return re[re.length-1]}}function p(g,P,T,F){return function(V,H,X,G,N){var W=g(g(g(T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),X[2]),g(T(g(P(X[1],N[0]),P(-N[1],X[0])),-G[2]),T(g(P(X[1],G[0]),P(-G[1],X[0])),N[2]))),H[3]),g(T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),H[2]),g(T(g(P(H[1],N[0]),P(-N[1],H[0])),-G[2]),T(g(P(H[1],G[0]),P(-G[1],H[0])),N[2]))),-X[3]),T(g(T(g(P(X[1],N[0]),P(-N[1],X[0])),H[2]),g(T(g(P(H[1],N[0]),P(-N[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),N[2]))),G[3]))),g(T(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),H[2]),g(T(g(P(H[1],G[0]),P(-G[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),G[2]))),-N[3]),g(T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),H[2]),g(T(g(P(H[1],N[0]),P(-N[1],H[0])),-G[2]),T(g(P(H[1],G[0]),P(-G[1],H[0])),N[2]))),V[3]),T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-G[2]),T(g(P(V[1],G[0]),P(-G[1],V[0])),N[2]))),-H[3])))),g(g(T(g(T(g(P(H[1],N[0]),P(-N[1],H[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),N[2]))),G[3]),g(T(g(T(g(P(H[1],G[0]),P(-G[1],H[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),G[2]))),-N[3]),T(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),H[2]),g(T(g(P(H[1],G[0]),P(-G[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),G[2]))),V[3]))),g(T(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),G[2]))),-H[3]),g(T(g(T(g(P(H[1],G[0]),P(-G[1],H[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),G[2]))),X[3]),T(g(T(g(P(H[1],X[0]),P(-X[1],H[0])),V[2]),g(T(g(P(V[1],X[0]),P(-X[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),X[2]))),-G[3]))))),re=g(g(g(T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),X[2]),g(T(g(P(X[1],N[0]),P(-N[1],X[0])),-G[2]),T(g(P(X[1],G[0]),P(-G[1],X[0])),N[2]))),V[3]),T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-G[2]),T(g(P(V[1],G[0]),P(-G[1],V[0])),N[2]))),-X[3])),g(T(g(T(g(P(X[1],N[0]),P(-N[1],X[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),N[2]))),G[3]),T(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),G[2]))),-N[3]))),g(g(T(g(T(g(P(X[1],N[0]),P(-N[1],X[0])),H[2]),g(T(g(P(H[1],N[0]),P(-N[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),N[2]))),V[3]),T(g(T(g(P(X[1],N[0]),P(-N[1],X[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),N[2]))),-H[3])),g(T(g(T(g(P(H[1],N[0]),P(-N[1],H[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),N[2]))),X[3]),T(g(T(g(P(H[1],X[0]),P(-X[1],H[0])),V[2]),g(T(g(P(V[1],X[0]),P(-X[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),X[2]))),-N[3])))),ae=F(W,re);return ae[ae.length-1]}}function E(g){var P=g===3?x:g===4?b:p;return P(l,s,u,c)}var k=E(3),A=E(4),L=[function(){return 0},function(){return 0},function(P,T){return T[0]-P[0]},function(P,T,F){var q=(P[1]-F[1])*(T[0]-F[0]),V=(P[0]-F[0])*(T[1]-F[1]),H=q-V,X;if(q>0){if(V<=0)return H;X=q+V}else if(q<0){if(V>=0)return H;X=-(q+V)}else return H;var G=d*X;return H>=G||H<=-G?H:k(P,T,F)},function(P,T,F,q){var V=P[0]-q[0],H=T[0]-q[0],X=F[0]-q[0],G=P[1]-q[1],N=T[1]-q[1],W=F[1]-q[1],re=P[2]-q[2],ae=T[2]-q[2],_e=F[2]-q[2],Me=H*W,ke=X*N,ge=X*G,ie=V*W,Te=V*N,Ee=H*G,Ae=re*(Me-ke)+ae*(ge-ie)+_e*(Te-Ee),ze=(Math.abs(Me)+Math.abs(ke))*Math.abs(re)+(Math.abs(ge)+Math.abs(ie))*Math.abs(ae)+(Math.abs(Te)+Math.abs(Ee))*Math.abs(_e),Ce=v*ze;return Ae>Ce||-Ae>Ce?Ae:A(P,T,F,q)}];function _(g){var P=L[g.length];return P||(P=L[g.length]=E(g.length)),P.apply(void 0,g)}function C(g,P,T,F,q,V,H){return function(G,N,W,re,ae){switch(arguments.length){case 0:case 1:return 0;case 2:return F(G,N);case 3:return q(G,N,W);case 4:return V(G,N,W,re);case 5:return H(G,N,W,re,ae)}for(var _e=new Array(arguments.length),Me=0;Me<arguments.length;++Me)_e[Me]=arguments[Me];return g(_e)}}function M(){for(;L.length<=f;)L.push(E(L.length));i.exports=C.apply(void 0,[_].concat(L));for(var g=0;g<=f;++g)i.exports[g]=L[g]}M()},5382:function(i,a,o){\"use strict\";var s=o(8210),l=o(3012);i.exports=u;function u(c,f){if(c.length===1)return l(f,c[0]);if(f.length===1)return l(c,f[0]);if(c.length===0||f.length===0)return[0];var h=[0];if(c.length<f.length)for(var d=0;d<c.length;++d)h=s(h,l(f,c[d]));else for(var d=0;d<f.length;++d)h=s(h,l(c,f[d]));return h}},3012:function(i,a,o){\"use strict\";var s=o(5250),l=o(9362);i.exports=u;function u(c,f){var h=c.length;if(h===1){var d=s(c[0],f);return d[0]?d:[d[1]]}var v=new Array(2*h),x=[.1,.1],b=[.1,.1],p=0;s(c[0],f,x),x[0]&&(v[p++]=x[0]);for(var E=1;E<h;++E){s(c[E],f,b);var k=x[1];l(k,b[0],x),x[0]&&(v[p++]=x[0]);var A=b[1],L=x[1],_=A+L,C=_-A,M=L-C;x[1]=_,M&&(v[p++]=M)}return x[1]&&(v[p++]=x[1]),p===0&&(v[p++]=0),v.length=p,v}},1125:function(i,a,o){\"use strict\";i.exports=u;var s=o(3250)[3];function l(c,f,h,d){for(var v=0;v<2;++v){var x=c[v],b=f[v],p=Math.min(x,b),E=Math.max(x,b),k=h[v],A=d[v],L=Math.min(k,A),_=Math.max(k,A);if(_<p||E<L)return!1}return!0}function u(c,f,h,d){var v=s(c,h,d),x=s(f,h,d);if(v>0&&x>0||v<0&&x<0)return!1;var b=s(h,c,f),p=s(d,c,f);return b>0&&p>0||b<0&&p<0?!1:v===0&&x===0&&b===0&&p===0?l(c,f,h,d):!0}},8545:function(i){\"use strict\";i.exports=o;function a(s,l){var u=s+l,c=u-s,f=u-c,h=l-c,d=s-f,v=d+h;return v?[v,u]:[u]}function o(s,l){var u=s.length|0,c=l.length|0;if(u===1&&c===1)return a(s[0],-l[0]);var f=u+c,h=new Array(f),d=0,v=0,x=0,b=Math.abs,p=s[v],E=b(p),k=-l[x],A=b(k),L,_;E<A?(_=p,v+=1,v<u&&(p=s[v],E=b(p))):(_=k,x+=1,x<c&&(k=-l[x],A=b(k))),v<u&&E<A||x>=c?(L=p,v+=1,v<u&&(p=s[v],E=b(p))):(L=k,x+=1,x<c&&(k=-l[x],A=b(k)));for(var C=L+_,M=C-L,g=_-M,P=g,T=C,F,q,V,H,X;v<u&&x<c;)E<A?(L=p,v+=1,v<u&&(p=s[v],E=b(p))):(L=k,x+=1,x<c&&(k=-l[x],A=b(k))),_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F;for(;v<u;)L=p,_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F,v+=1,v<u&&(p=s[v]);for(;x<c;)L=k,_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F,x+=1,x<c&&(k=-l[x]);return P&&(h[d++]=P),T&&(h[d++]=T),d||(h[d++]=0),h.length=d,h}},8210:function(i){\"use strict\";i.exports=o;function a(s,l){var u=s+l,c=u-s,f=u-c,h=l-c,d=s-f,v=d+h;return v?[v,u]:[u]}function o(s,l){var u=s.length|0,c=l.length|0;if(u===1&&c===1)return a(s[0],l[0]);var f=u+c,h=new Array(f),d=0,v=0,x=0,b=Math.abs,p=s[v],E=b(p),k=l[x],A=b(k),L,_;E<A?(_=p,v+=1,v<u&&(p=s[v],E=b(p))):(_=k,x+=1,x<c&&(k=l[x],A=b(k))),v<u&&E<A||x>=c?(L=p,v+=1,v<u&&(p=s[v],E=b(p))):(L=k,x+=1,x<c&&(k=l[x],A=b(k)));for(var C=L+_,M=C-L,g=_-M,P=g,T=C,F,q,V,H,X;v<u&&x<c;)E<A?(L=p,v+=1,v<u&&(p=s[v],E=b(p))):(L=k,x+=1,x<c&&(k=l[x],A=b(k))),_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F;for(;v<u;)L=p,_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F,v+=1,v<u&&(p=s[v]);for(;x<c;)L=k,_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F,x+=1,x<c&&(k=l[x]);return P&&(h[d++]=P),T&&(h[d++]=T),d||(h[d++]=0),h.length=d,h}},9127:function(i,a,o){\"use strict\";i.exports=u;var s=o(6204),l=o(5771);function u(c){return l(s(c))}},7765:function(i,a,o){\"use strict\";i.exports=p;var s=o(9618),l=o(1888),u=o(446),c=o(1570);function f(E){for(var k=E.length,A=0,L=0;L<k;++L)A=Math.max(A,E[L].length)|0;return A-1}function h(E,k){for(var A=E.length,L=l.mallocUint8(A),_=0;_<A;++_)L[_]=E[_]<k|0;return L}function d(E,k){for(var A=E.length,L=k*(k+1)/2*A|0,_=l.mallocUint32(L*2),C=0,M=0;M<A;++M)for(var g=E[M],k=g.length,P=0;P<k;++P)for(var T=0;T<P;++T){var F=g[T],q=g[P];_[C++]=Math.min(F,q)|0,_[C++]=Math.max(F,q)|0}var V=C/2|0;u(s(_,[V,2]));for(var H=2,M=2;M<C;M+=2)_[M-2]===_[M]&&_[M-1]===_[M+1]||(_[H++]=_[M],_[H++]=_[M+1]);return s(_,[H/2|0,2])}function v(E,k,A,L){for(var _=E.data,C=E.shape[0],M=l.mallocDouble(C),g=0,P=0;P<C;++P){var T=_[2*P],F=_[2*P+1];if(A[T]!==A[F]){var q=k[T],V=k[F];_[2*g]=T,_[2*g+1]=F,M[g++]=(V-L)/(V-q)}}return E.shape[0]=g,s(M,[g])}function x(E,k){var A=l.mallocInt32(k*2),L=E.shape[0],_=E.data;A[0]=0;for(var C=0,M=0;M<L;++M){var g=_[2*M];if(g!==C){for(A[2*C+1]=M;++C<g;)A[2*C]=M,A[2*C+1]=M;A[2*C]=M}}for(A[2*C+1]=L;++C<k;)A[2*C]=A[2*C+1]=L;return A}function b(E){for(var k=E.shape[0]|0,A=E.data,L=new Array(k),_=0;_<k;++_)L[_]=[A[2*_],A[2*_+1]];return L}function p(E,k,A,L){A=A||0,typeof L==\"undefined\"&&(L=f(E));var _=E.length;if(_===0||L<1)return{cells:[],vertexIds:[],vertexWeights:[]};var C=h(k,+A),M=d(E,L),g=v(M,k,C,+A),P=x(M,k.length|0),T=c(L)(E,M.data,P,C),F=b(M),q=[].slice.call(g.data,0,g.shape[0]);return l.free(C),l.free(M.data),l.free(g.data),l.free(P),{cells:T,vertexIds:F,vertexWeights:q}}},1570:function(i){\"use strict\";i.exports=o;var a=[function(){function l(c,f,h,d){for(var v=Math.min(h,d)|0,x=Math.max(h,d)|0,b=c[2*v],p=c[2*v+1];b<p;){var E=b+p>>1,k=f[2*E+1];if(k===x)return E;x<k?p=E:b=E+1}return b}function u(c,f,h,d){for(var v=c.length,x=[],b=0;b<v;++b)var p=c[b],E=p.length;return x}return u},function(){function l(c,f,h,d){for(var v=Math.min(h,d)|0,x=Math.max(h,d)|0,b=c[2*v],p=c[2*v+1];b<p;){var E=b+p>>1,k=f[2*E+1];if(k===x)return E;x<k?p=E:b=E+1}return b}function u(c,f,h,d){for(var v=c.length,x=[],b=0;b<v;++b){var p=c[b],E=p.length;if(E===2){var k=(d[p[0]]<<0)+(d[p[1]]<<1);if(k===0||k===3)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0])]);break;case 3:break}}}return x}return u},function(){function l(c,f,h,d){for(var v=Math.min(h,d)|0,x=Math.max(h,d)|0,b=c[2*v],p=c[2*v+1];b<p;){var E=b+p>>1,k=f[2*E+1];if(k===x)return E;x<k?p=E:b=E+1}return b}function u(c,f,h,d){for(var v=c.length,x=[],b=0;b<v;++b){var p=c[b],E=p.length;if(E===3){var k=(d[p[0]]<<0)+(d[p[1]]<<1)+(d[p[2]]<<2);if(k===0||k===7)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[2]),l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0]),l(h,f,p[1],p[2])]);break;case 3:x.push([l(h,f,p[0],p[2]),l(h,f,p[1],p[2])]);break;case 4:x.push([l(h,f,p[2],p[1]),l(h,f,p[2],p[0])]);break;case 5:x.push([l(h,f,p[2],p[1]),l(h,f,p[0],p[1])]);break;case 6:x.push([l(h,f,p[1],p[0]),l(h,f,p[2],p[0])]);break;case 7:break}}else if(E===2){var k=(d[p[0]]<<0)+(d[p[1]]<<1);if(k===0||k===3)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0])]);break;case 3:break}}}return x}return u},function(){function l(c,f,h,d){for(var v=Math.min(h,d)|0,x=Math.max(h,d)|0,b=c[2*v],p=c[2*v+1];b<p;){var E=b+p>>1,k=f[2*E+1];if(k===x)return E;x<k?p=E:b=E+1}return b}function u(c,f,h,d){for(var v=c.length,x=[],b=0;b<v;++b){var p=c[b],E=p.length;if(E===4){var k=(d[p[0]]<<0)+(d[p[1]]<<1)+(d[p[2]]<<2)+(d[p[3]]<<3);if(k===0||k===15)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[1]),l(h,f,p[0],p[2]),l(h,f,p[0],p[3])]);break;case 2:x.push([l(h,f,p[1],p[2]),l(h,f,p[1],p[0]),l(h,f,p[1],p[3])]);break;case 3:x.push([l(h,f,p[1],p[2]),l(h,f,p[0],p[2]),l(h,f,p[0],p[3])],[l(h,f,p[1],p[3]),l(h,f,p[1],p[2]),l(h,f,p[0],p[3])]);break;case 4:x.push([l(h,f,p[2],p[0]),l(h,f,p[2],p[1]),l(h,f,p[2],p[3])]);break;case 5:x.push([l(h,f,p[0],p[1]),l(h,f,p[2],p[1]),l(h,f,p[0],p[3])],[l(h,f,p[2],p[1]),l(h,f,p[2],p[3]),l(h,f,p[0],p[3])]);break;case 6:x.push([l(h,f,p[2],p[0]),l(h,f,p[1],p[0]),l(h,f,p[1],p[3])],[l(h,f,p[2],p[3]),l(h,f,p[2],p[0]),l(h,f,p[1],p[3])]);break;case 7:x.push([l(h,f,p[0],p[3]),l(h,f,p[1],p[3]),l(h,f,p[2],p[3])]);break;case 8:x.push([l(h,f,p[3],p[1]),l(h,f,p[3],p[0]),l(h,f,p[3],p[2])]);break;case 9:x.push([l(h,f,p[3],p[1]),l(h,f,p[0],p[1]),l(h,f,p[0],p[2])],[l(h,f,p[3],p[2]),l(h,f,p[3],p[1]),l(h,f,p[0],p[2])]);break;case 10:x.push([l(h,f,p[1],p[0]),l(h,f,p[3],p[0]),l(h,f,p[1],p[2])],[l(h,f,p[3],p[0]),l(h,f,p[3],p[2]),l(h,f,p[1],p[2])]);break;case 11:x.push([l(h,f,p[1],p[2]),l(h,f,p[0],p[2]),l(h,f,p[3],p[2])]);break;case 12:x.push([l(h,f,p[3],p[0]),l(h,f,p[2],p[0]),l(h,f,p[2],p[1])],[l(h,f,p[3],p[1]),l(h,f,p[3],p[0]),l(h,f,p[2],p[1])]);break;case 13:x.push([l(h,f,p[0],p[1]),l(h,f,p[2],p[1]),l(h,f,p[3],p[1])]);break;case 14:x.push([l(h,f,p[2],p[0]),l(h,f,p[1],p[0]),l(h,f,p[3],p[0])]);break;case 15:break}}else if(E===3){var k=(d[p[0]]<<0)+(d[p[1]]<<1)+(d[p[2]]<<2);if(k===0||k===7)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[2]),l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0]),l(h,f,p[1],p[2])]);break;case 3:x.push([l(h,f,p[0],p[2]),l(h,f,p[1],p[2])]);break;case 4:x.push([l(h,f,p[2],p[1]),l(h,f,p[2],p[0])]);break;case 5:x.push([l(h,f,p[2],p[1]),l(h,f,p[0],p[1])]);break;case 6:x.push([l(h,f,p[1],p[0]),l(h,f,p[2],p[0])]);break;case 7:break}}else if(E===2){var k=(d[p[0]]<<0)+(d[p[1]]<<1);if(k===0||k===3)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0])]);break;case 3:break}}}return x}return u}];function o(s){return a[s]()}},6803:function(i,a,o){\"use strict\";var s,l=o(8828),u=o(1755);function c(P){for(var T=0,F=Math.max,q=0,V=P.length;q<V;++q)T=F(T,P[q].length);return T-1}s=c;function f(P){for(var T=-1,F=Math.max,q=0,V=P.length;q<V;++q)for(var H=P[q],X=0,G=H.length;X<G;++X)T=F(T,H[X]);return T+1}s=f;function h(P){for(var T=new Array(P.length),F=0,q=P.length;F<q;++F)T[F]=P[F].slice(0);return T}s=h;function d(P,T){var F=P.length,q=P.length-T.length,V=Math.min;if(q)return q;switch(F){case 0:return 0;case 1:return P[0]-T[0];case 2:var W=P[0]+P[1]-T[0]-T[1];return W||V(P[0],P[1])-V(T[0],T[1]);case 3:var H=P[0]+P[1],X=T[0]+T[1];if(W=H+P[2]-(X+T[2]),W)return W;var G=V(P[0],P[1]),N=V(T[0],T[1]),W=V(G,P[2])-V(N,T[2]);return W||V(G+P[2],H)-V(N+T[2],X);default:var re=P.slice(0);re.sort();var ae=T.slice(0);ae.sort();for(var _e=0;_e<F;++_e)if(q=re[_e]-ae[_e],q)return q;return 0}}a.Fw=d;function v(P,T){return d(P[0],T[0])}function x(P,T){if(T){for(var F=P.length,q=new Array(F),V=0;V<F;++V)q[V]=[P[V],T[V]];q.sort(v);for(var V=0;V<F;++V)P[V]=q[V][0],T[V]=q[V][1];return P}else return P.sort(d),P}s=x;function b(P){if(P.length===0)return[];for(var T=1,F=P.length,q=1;q<F;++q){var V=P[q];if(d(V,P[q-1])){if(q===T){T++;continue}P[T++]=V}}return P.length=T,P}s=b;function p(P,T){for(var F=0,q=P.length-1,V=-1;F<=q;){var H=F+q>>1,X=d(P[H],T);X<=0?(X===0&&(V=H),F=H+1):X>0&&(q=H-1)}return V}s=p;function E(P,T){for(var F=new Array(P.length),q=0,V=F.length;q<V;++q)F[q]=[];for(var H=[],q=0,X=T.length;q<X;++q)for(var G=T[q],N=G.length,W=1,re=1<<N;W<re;++W){H.length=l.popCount(W);for(var ae=0,_e=0;_e<N;++_e)W&1<<_e&&(H[ae++]=G[_e]);var Me=p(P,H);if(!(Me<0))for(;F[Me++].push(q),!(Me>=P.length||d(P[Me],H)!==0););}return F}s=E;function k(P,T){if(!T)return E(b(L(P,0)),P,0);for(var F=new Array(T),q=0;q<T;++q)F[q]=[];for(var q=0,V=P.length;q<V;++q)for(var H=P[q],X=0,G=H.length;X<G;++X)F[H[X]].push(q);return F}s=k;function A(P){for(var T=[],F=0,q=P.length;F<q;++F)for(var V=P[F],H=V.length|0,X=1,G=1<<H;X<G;++X){for(var N=[],W=0;W<H;++W)X>>>W&1&&N.push(V[W]);T.push(N)}return x(T)}s=A;function L(P,T){if(T<0)return[];for(var F=[],q=(1<<T+1)-1,V=0;V<P.length;++V)for(var H=P[V],X=q;X<1<<H.length;X=l.nextCombination(X)){for(var G=new Array(T+1),N=0,W=0;W<H.length;++W)X&1<<W&&(G[N++]=H[W]);F.push(G)}return x(F)}s=L;function _(P){for(var T=[],F=0,q=P.length;F<q;++F)for(var V=P[F],H=0,X=V.length;H<X;++H){for(var G=new Array(V.length-1),N=0,W=0;N<X;++N)N!==H&&(G[W++]=V[N]);T.push(G)}return x(T)}s=_;function C(P,T){for(var F=new u(T),q=0;q<P.length;++q)for(var V=P[q],H=0;H<V.length;++H)for(var X=H+1;X<V.length;++X)F.link(V[H],V[X]);for(var G=[],N=F.ranks,q=0;q<N.length;++q)N[q]=-1;for(var q=0;q<P.length;++q){var W=F.find(P[q][0]);N[W]<0?(N[W]=G.length,G.push([P[q].slice(0)])):G[N[W]].push(P[q].slice(0))}return G}function M(P){for(var T=b(x(L(P,0))),F=new u(T.length),q=0;q<P.length;++q)for(var V=P[q],H=0;H<V.length;++H)for(var X=p(T,[V[H]]),G=H+1;G<V.length;++G)F.link(X,p(T,[V[G]]));for(var N=[],W=F.ranks,q=0;q<W.length;++q)W[q]=-1;for(var q=0;q<P.length;++q){var re=F.find(p(T,[P[q][0]]));W[re]<0?(W[re]=N.length,N.push([P[q].slice(0)])):N[W[re]].push(P[q].slice(0))}return N}function g(P,T){return T?C(P,T):M(P)}s=g},3105:function(i,a){\"use strict\";\"use restrict\";var o=32;a.INT_BITS=o,a.INT_MAX=2147483647,a.INT_MIN=-1<<o-1,a.sign=function(u){return(u>0)-(u<0)},a.abs=function(u){var c=u>>o-1;return(u^c)-c},a.min=function(u,c){return c^(u^c)&-(u<c)},a.max=function(u,c){return u^(u^c)&-(u<c)},a.isPow2=function(u){return!(u&u-1)&&!!u},a.log2=function(u){var c,f;return c=(u>65535)<<4,u>>>=c,f=(u>255)<<3,u>>>=f,c|=f,f=(u>15)<<2,u>>>=f,c|=f,f=(u>3)<<1,u>>>=f,c|=f,c|u>>1},a.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},a.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var c=32;return u&=-u,u&&c--,u&65535&&(c-=16),u&16711935&&(c-=8),u&252645135&&(c-=4),u&858993459&&(c-=2),u&1431655765&&(c-=1),c}a.countTrailingZeros=s,a.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},a.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},a.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var c=0;c<256;++c){var f=c,h=c,d=7;for(f>>>=1;f;f>>>=1)h<<=1,h|=f&1,--d;u[c]=h<<d&255}})(l),a.reverse=function(u){return l[u&255]<<24|l[u>>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},a.interleave2=function(u,c){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,c&=65535,c=(c|c<<8)&16711935,c=(c|c<<4)&252645135,c=(c|c<<2)&858993459,c=(c|c<<1)&1431655765,u|c<<1},a.deinterleave2=function(u,c){return u=u>>>c&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},a.interleave3=function(u,c,f){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|=c<<1,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|f<<2},a.deinterleave3=function(u,c){return u=u>>>c&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},a.nextCombination=function(u){var c=u|u-1;return c+1|(~c&-~c)-1>>>s(u)+1}},2014:function(i,a,o){\"use strict\";\"use restrict\";var s=o(3105),l=o(4623);function u(g){for(var P=0,T=Math.max,F=0,q=g.length;F<q;++F)P=T(P,g[F].length);return P-1}a.dimension=u;function c(g){for(var P=-1,T=Math.max,F=0,q=g.length;F<q;++F)for(var V=g[F],H=0,X=V.length;H<X;++H)P=T(P,V[H]);return P+1}a.countVertices=c;function f(g){for(var P=new Array(g.length),T=0,F=g.length;T<F;++T)P[T]=g[T].slice(0);return P}a.cloneCells=f;function h(g,P){var T=g.length,F=g.length-P.length,q=Math.min;if(F)return F;switch(T){case 0:return 0;case 1:return g[0]-P[0];case 2:var N=g[0]+g[1]-P[0]-P[1];return N||q(g[0],g[1])-q(P[0],P[1]);case 3:var V=g[0]+g[1],H=P[0]+P[1];if(N=V+g[2]-(H+P[2]),N)return N;var X=q(g[0],g[1]),G=q(P[0],P[1]),N=q(X,g[2])-q(G,P[2]);return N||q(X+g[2],V)-q(G+P[2],H);default:var W=g.slice(0);W.sort();var re=P.slice(0);re.sort();for(var ae=0;ae<T;++ae)if(F=W[ae]-re[ae],F)return F;return 0}}a.compareCells=h;function d(g,P){return h(g[0],P[0])}function v(g,P){if(P){for(var T=g.length,F=new Array(T),q=0;q<T;++q)F[q]=[g[q],P[q]];F.sort(d);for(var q=0;q<T;++q)g[q]=F[q][0],P[q]=F[q][1];return g}else return g.sort(h),g}a.normalize=v;function x(g){if(g.length===0)return[];for(var P=1,T=g.length,F=1;F<T;++F){var q=g[F];if(h(q,g[F-1])){if(F===P){P++;continue}g[P++]=q}}return g.length=P,g}a.unique=x;function b(g,P){for(var T=0,F=g.length-1,q=-1;T<=F;){var V=T+F>>1,H=h(g[V],P);H<=0?(H===0&&(q=V),T=V+1):H>0&&(F=V-1)}return q}a.findCell=b;function p(g,P){for(var T=new Array(g.length),F=0,q=T.length;F<q;++F)T[F]=[];for(var V=[],F=0,H=P.length;F<H;++F)for(var X=P[F],G=X.length,N=1,W=1<<G;N<W;++N){V.length=s.popCount(N);for(var re=0,ae=0;ae<G;++ae)N&1<<ae&&(V[re++]=X[ae]);var _e=b(g,V);if(!(_e<0))for(;T[_e++].push(F),!(_e>=g.length||h(g[_e],V)!==0););}return T}a.incidence=p;function E(g,P){if(!P)return p(x(A(g,0)),g,0);for(var T=new Array(P),F=0;F<P;++F)T[F]=[];for(var F=0,q=g.length;F<q;++F)for(var V=g[F],H=0,X=V.length;H<X;++H)T[V[H]].push(F);return T}a.dual=E;function k(g){for(var P=[],T=0,F=g.length;T<F;++T)for(var q=g[T],V=q.length|0,H=1,X=1<<V;H<X;++H){for(var G=[],N=0;N<V;++N)H>>>N&1&&G.push(q[N]);P.push(G)}return v(P)}a.explode=k;function A(g,P){if(P<0)return[];for(var T=[],F=(1<<P+1)-1,q=0;q<g.length;++q)for(var V=g[q],H=F;H<1<<V.length;H=s.nextCombination(H)){for(var X=new Array(P+1),G=0,N=0;N<V.length;++N)H&1<<N&&(X[G++]=V[N]);T.push(X)}return v(T)}a.skeleton=A;function L(g){for(var P=[],T=0,F=g.length;T<F;++T)for(var q=g[T],V=0,H=q.length;V<H;++V){for(var X=new Array(q.length-1),G=0,N=0;G<H;++G)G!==V&&(X[N++]=q[G]);P.push(X)}return v(P)}a.boundary=L;function _(g,P){for(var T=new l(P),F=0;F<g.length;++F)for(var q=g[F],V=0;V<q.length;++V)for(var H=V+1;H<q.length;++H)T.link(q[V],q[H]);for(var X=[],G=T.ranks,F=0;F<G.length;++F)G[F]=-1;for(var F=0;F<g.length;++F){var N=T.find(g[F][0]);G[N]<0?(G[N]=X.length,X.push([g[F].slice(0)])):X[G[N]].push(g[F].slice(0))}return X}function C(g){for(var P=x(v(A(g,0))),T=new l(P.length),F=0;F<g.length;++F)for(var q=g[F],V=0;V<q.length;++V)for(var H=b(P,[q[V]]),X=V+1;X<q.length;++X)T.link(H,b(P,[q[X]]));for(var G=[],N=T.ranks,F=0;F<N.length;++F)N[F]=-1;for(var F=0;F<g.length;++F){var W=T.find(b(P,[g[F][0]]));N[W]<0?(N[W]=G.length,G.push([g[F].slice(0)])):G[N[W]].push(g[F].slice(0))}return G}function M(g,P){return P?_(g,P):C(g)}a.connectedComponents=M},4623:function(i){\"use strict\";\"use restrict\";i.exports=a;function a(o){this.roots=new Array(o),this.ranks=new Array(o);for(var s=0;s<o;++s)this.roots[s]=s,this.ranks[s]=0}a.prototype.length=function(){return this.roots.length},a.prototype.makeSet=function(){var o=this.roots.length;return this.roots.push(o),this.ranks.push(0),o},a.prototype.find=function(o){for(var s=this.roots;s[o]!==o;){var l=s[o];s[o]=s[l],o=l}return o},a.prototype.link=function(o,s){var l=this.find(o),u=this.find(s);if(l!==u){var c=this.ranks,f=this.roots,h=c[l],d=c[u];h<d?f[l]=u:d<h?f[u]=l:(f[u]=l,++c[l])}}},5878:function(i,a,o){\"use strict\";i.exports=c;var s=o(3250),l=o(2014);function u(f,h,d){var v=Math.abs(s(f,h,d)),x=Math.sqrt(Math.pow(h[0]-d[0],2)+Math.pow(h[1]-d[1],2));return v/x}function c(f,h,d){for(var v=h.length,x=f.length,b=new Array(v),p=new Array(v),E=new Array(v),k=new Array(v),A=0;A<v;++A)b[A]=p[A]=-1,E[A]=1/0,k[A]=!1;for(var A=0;A<x;++A){var L=f[A];if(L.length!==2)throw new Error(\"Input must be a graph\");var _=L[1],C=L[0];p[C]!==-1?p[C]=-2:p[C]=_,b[_]!==-1?b[_]=-2:b[_]=C}function M(ie){if(k[ie])return 1/0;var Te=b[ie],Ee=p[ie];return Te<0||Ee<0?1/0:u(h[ie],h[Te],h[Ee])}function g(ie,Te){var Ee=G[ie],Ae=G[Te];G[ie]=Ae,G[Te]=Ee,N[Ee]=Te,N[Ae]=ie}function P(ie){return E[G[ie]]}function T(ie){return ie&1?ie-1>>1:(ie>>1)-1}function F(ie){for(var Te=P(ie);;){var Ee=Te,Ae=2*ie+1,ze=2*(ie+1),Ce=ie;if(Ae<re){var me=P(Ae);me<Ee&&(Ce=Ae,Ee=me)}if(ze<re){var Re=P(ze);Re<Ee&&(Ce=ze)}if(Ce===ie)return ie;g(ie,Ce),ie=Ce}}function q(ie){for(var Te=P(ie);ie>0;){var Ee=T(ie);if(Ee>=0){var Ae=P(Ee);if(Te<Ae){g(ie,Ee),ie=Ee;continue}}return ie}}function V(){if(re>0){var ie=G[0];return g(0,re-1),re-=1,F(0),ie}return-1}function H(ie,Te){var Ee=G[ie];return E[Ee]===Te?ie:(E[Ee]=-1/0,q(ie),V(),E[Ee]=Te,re+=1,q(re-1))}function X(ie){if(!k[ie]){k[ie]=!0;var Te=b[ie],Ee=p[ie];b[Ee]>=0&&(b[Ee]=Te),p[Te]>=0&&(p[Te]=Ee),N[Te]>=0&&H(N[Te],M(Te)),N[Ee]>=0&&H(N[Ee],M(Ee))}}for(var G=[],N=new Array(v),A=0;A<v;++A){var W=E[A]=M(A);W<1/0?(N[A]=G.length,G.push(A)):N[A]=-1}for(var re=G.length,A=re>>1;A>=0;--A)F(A);for(;;){var ae=V();if(ae<0||E[ae]>d)break;X(ae)}for(var _e=[],A=0;A<v;++A)k[A]||(N[A]=_e.length,_e.push(h[A].slice()));var Me=_e.length;function ke(ie,Te){if(ie[Te]<0)return Te;var Ee=Te,Ae=Te;do{var ze=ie[Ae];if(!k[Ae]||ze<0||ze===Ae||(Ae=ze,ze=ie[Ae],!k[Ae]||ze<0||ze===Ae))break;Ae=ze,Ee=ie[Ee]}while(Ee!==Ae);for(var Ce=Te;Ce!==Ae;Ce=ie[Ce])ie[Ce]=Ae;return Ae}var ge=[];return f.forEach(function(ie){var Te=ke(b,ie[0]),Ee=ke(p,ie[1]);if(Te>=0&&Ee>=0&&Te!==Ee){var Ae=N[Te],ze=N[Ee];Ae!==ze&&ge.push([Ae,ze])}}),l.unique(l.normalize(ge)),{positions:_e,edges:ge}}},1303:function(i,a,o){\"use strict\";i.exports=u;var s=o(3250);function l(c,f){var h,d;if(f[0][0]<f[1][0])h=f[0],d=f[1];else if(f[0][0]>f[1][0])h=f[1],d=f[0];else{var v=Math.min(c[0][1],c[1][1]),x=Math.max(c[0][1],c[1][1]),b=Math.min(f[0][1],f[1][1]),p=Math.max(f[0][1],f[1][1]);return x<b?x-b:v>p?v-p:x-p}var E,k;c[0][1]<c[1][1]?(E=c[0],k=c[1]):(E=c[1],k=c[0]);var A=s(d,h,E);return A||(A=s(d,h,k),A)?A:k-d}function u(c,f){var h,d;if(f[0][0]<f[1][0])h=f[0],d=f[1];else if(f[0][0]>f[1][0])h=f[1],d=f[0];else return l(f,c);var v,x;if(c[0][0]<c[1][0])v=c[0],x=c[1];else if(c[0][0]>c[1][0])v=c[1],x=c[0];else return-l(c,f);var b=s(h,d,x),p=s(h,d,v);if(b<0){if(p<=0)return b}else if(b>0){if(p>=0)return b}else if(p)return p;if(b=s(x,v,d),p=s(x,v,h),b<0){if(p<=0)return b}else if(b>0){if(p>=0)return b}else if(p)return p;return d[0]-x[0]}},4209:function(i,a,o){\"use strict\";i.exports=p;var s=o(2478),l=o(3840),u=o(3250),c=o(1303);function f(E,k,A){this.slabs=E,this.coordinates=k,this.horizontal=A}var h=f.prototype;function d(E,k){return E.y-k}function v(E,k){for(var A=null;E;){var L=E.key,_,C;L[0][0]<L[1][0]?(_=L[0],C=L[1]):(_=L[1],C=L[0]);var M=u(_,C,k);if(M<0)E=E.left;else if(M>0)if(k[0]!==L[1][0])A=E,E=E.right;else{var g=v(E.right,k);if(g)return g;E=E.left}else{if(k[0]!==L[1][0])return E;var g=v(E.right,k);if(g)return g;E=E.left}}return A}h.castUp=function(E){var k=s.le(this.coordinates,E[0]);if(k<0)return-1;var A=this.slabs[k],L=v(this.slabs[k],E),_=-1;if(L&&(_=L.value),this.coordinates[k]===E[0]){var C=null;if(L&&(C=L.key),k>0){var M=v(this.slabs[k-1],E);M&&(C?c(M.key,C)>0&&(C=M.key,_=M.value):(_=M.value,C=M.key))}var g=this.horizontal[k];if(g.length>0){var P=s.ge(g,E[1],d);if(P<g.length){var T=g[P];if(E[1]===T.y){if(T.closed)return T.index;for(;P<g.length-1&&g[P+1].y===E[1];)if(P=P+1,T=g[P],T.closed)return T.index;if(T.y===E[1]&&!T.start){if(P=P+1,P>=g.length)return _;T=g[P]}}if(T.start)if(C){var F=u(C[0],C[1],[E[0],T.y]);C[0][0]>C[1][0]&&(F=-F),F>0&&(_=T.index)}else _=T.index;else T.y!==E[1]&&(_=T.index)}}}return _};function x(E,k,A,L){this.y=E,this.index=k,this.start=A,this.closed=L}function b(E,k,A,L){this.x=E,this.segment=k,this.create=A,this.index=L}function p(E){for(var k=E.length,A=2*k,L=new Array(A),_=0;_<k;++_){var C=E[_],M=C[0][0]<C[1][0];L[2*_]=new b(C[0][0],C,M,_),L[2*_+1]=new b(C[1][0],C,!M,_)}L.sort(function(G,N){var W=G.x-N.x;return W||(W=G.create-N.create,W)?W:Math.min(G.segment[0][1],G.segment[1][1])-Math.min(N.segment[0][1],N.segment[1][1])});for(var g=l(c),P=[],T=[],F=[],q=-1/0,_=0;_<A;){for(var V=L[_].x,H=[];_<A;){var X=L[_];if(X.x!==V)break;_+=1,X.segment[0][0]===X.x&&X.segment[1][0]===X.x?X.create&&(X.segment[0][1]<X.segment[1][1]?(H.push(new x(X.segment[0][1],X.index,!0,!0)),H.push(new x(X.segment[1][1],X.index,!1,!1))):(H.push(new x(X.segment[1][1],X.index,!0,!1)),H.push(new x(X.segment[0][1],X.index,!1,!0)))):X.create?g=g.insert(X.segment,X.index):g=g.remove(X.segment)}P.push(g.root),T.push(V),F.push(H)}return new f(P,T,F)}},5202:function(i,a,o){\"use strict\";var s=o(1944),l=o(8210);i.exports=f,i.exports.positive=h,i.exports.negative=d;function u(v,x){var b=l(s(v,x),[x[x.length-1]]);return b[b.length-1]}function c(v,x,b,p){var E=p-x,k=-x/E;k<0?k=0:k>1&&(k=1);for(var A=1-k,L=v.length,_=new Array(L),C=0;C<L;++C)_[C]=k*v[C]+A*b[C];return _}function f(v,x){for(var b=[],p=[],E=u(v[v.length-1],x),k=v[v.length-1],A=v[0],L=0;L<v.length;++L,k=A){A=v[L];var _=u(A,x);if(E<0&&_>0||E>0&&_<0){var C=c(k,_,A,E);b.push(C),p.push(C.slice())}_<0?p.push(A.slice()):_>0?b.push(A.slice()):(b.push(A.slice()),p.push(A.slice())),E=_}return{positive:b,negative:p}}function h(v,x){for(var b=[],p=u(v[v.length-1],x),E=v[v.length-1],k=v[0],A=0;A<v.length;++A,E=k){k=v[A];var L=u(k,x);(p<0&&L>0||p>0&&L<0)&&b.push(c(E,L,k,p)),L>=0&&b.push(k.slice()),p=L}return b}function d(v,x){for(var b=[],p=u(v[v.length-1],x),E=v[v.length-1],k=v[0],A=0;A<v.length;++A,E=k){k=v[A];var L=u(k,x);(p<0&&L>0||p>0&&L<0)&&b.push(c(E,L,k,p)),L<=0&&b.push(k.slice()),p=L}return b}},3387:function(i,a,o){var s;(function(){\"use strict\";var l={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 u(v){return f(d(v),arguments)}function c(v,x){return u.apply(null,[v].concat(x||[]))}function f(v,x){var b=1,p=v.length,E,k=\"\",A,L,_,C,M,g,P,T;for(A=0;A<p;A++)if(typeof v[A]==\"string\")k+=v[A];else if(typeof v[A]==\"object\"){if(_=v[A],_.keys)for(E=x[b],L=0;L<_.keys.length;L++){if(E==null)throw new Error(u('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"',_.keys[L],_.keys[L-1]));E=E[_.keys[L]]}else _.param_no?E=x[_.param_no]:E=x[b++];if(l.not_type.test(_.type)&&l.not_primitive.test(_.type)&&E instanceof Function&&(E=E()),l.numeric_arg.test(_.type)&&typeof E!=\"number\"&&isNaN(E))throw new TypeError(u(\"[sprintf] expecting number but found %T\",E));switch(l.number.test(_.type)&&(P=E>=0),_.type){case\"b\":E=parseInt(E,10).toString(2);break;case\"c\":E=String.fromCharCode(parseInt(E,10));break;case\"d\":case\"i\":E=parseInt(E,10);break;case\"j\":E=JSON.stringify(E,null,_.width?parseInt(_.width):0);break;case\"e\":E=_.precision?parseFloat(E).toExponential(_.precision):parseFloat(E).toExponential();break;case\"f\":E=_.precision?parseFloat(E).toFixed(_.precision):parseFloat(E);break;case\"g\":E=_.precision?String(Number(E.toPrecision(_.precision))):parseFloat(E);break;case\"o\":E=(parseInt(E,10)>>>0).toString(8);break;case\"s\":E=String(E),E=_.precision?E.substring(0,_.precision):E;break;case\"t\":E=String(!!E),E=_.precision?E.substring(0,_.precision):E;break;case\"T\":E=Object.prototype.toString.call(E).slice(8,-1).toLowerCase(),E=_.precision?E.substring(0,_.precision):E;break;case\"u\":E=parseInt(E,10)>>>0;break;case\"v\":E=E.valueOf(),E=_.precision?E.substring(0,_.precision):E;break;case\"x\":E=(parseInt(E,10)>>>0).toString(16);break;case\"X\":E=(parseInt(E,10)>>>0).toString(16).toUpperCase();break}l.json.test(_.type)?k+=E:(l.number.test(_.type)&&(!P||_.sign)?(T=P?\"+\":\"-\",E=E.toString().replace(l.sign,\"\")):T=\"\",M=_.pad_char?_.pad_char===\"0\"?\"0\":_.pad_char.charAt(1):\" \",g=_.width-(T+E).length,C=_.width&&g>0?M.repeat(g):\"\",k+=_.align?T+E+C:M===\"0\"?T+C+E:C+T+E)}return k}var h=Object.create(null);function d(v){if(h[v])return h[v];for(var x=v,b,p=[],E=0;x;){if((b=l.text.exec(x))!==null)p.push(b[0]);else if((b=l.modulo.exec(x))!==null)p.push(\"%\");else if((b=l.placeholder.exec(x))!==null){if(b[2]){E|=1;var k=[],A=b[2],L=[];if((L=l.key.exec(A))!==null)for(k.push(L[1]);(A=A.substring(L[0].length))!==\"\";)if((L=l.key_access.exec(A))!==null)k.push(L[1]);else if((L=l.index_access.exec(A))!==null)k.push(L[1]);else throw new SyntaxError(\"[sprintf] failed to parse named argument key\");else throw new SyntaxError(\"[sprintf] failed to parse named argument key\");b[2]=k}else E|=2;if(E===3)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");p.push({placeholder:b[0],param_no:b[1],keys:b[2],sign:b[3],pad_char:b[4],align:b[5],width:b[6],precision:b[7],type:b[8]})}else throw new SyntaxError(\"[sprintf] unexpected placeholder\");x=x.substring(b[0].length)}return h[v]=p}a.sprintf=u,a.vsprintf=c,typeof window!=\"undefined\"&&(window.sprintf=u,window.vsprintf=c,s=function(){return{sprintf:u,vsprintf:c}}.call(a,o,a,i),s!==void 0&&(i.exports=s))})()},3711:function(i,a,o){\"use strict\";i.exports=d;var s=o(2640),l=o(781),u={\"2d\":function(v,x,b){var p=v({order:x,scalarArguments:3,getters:b===\"generic\"?[0]:void 0,phase:function(k,A,L,_){return k>_|0},vertex:function(k,A,L,_,C,M,g,P,T,F,q,V,H){var X=(g<<0)+(P<<1)+(T<<2)+(F<<3)|0;if(!(X===0||X===15))switch(X){case 0:q.push([k-.5,A-.5]);break;case 1:q.push([k-.25-.25*(_+L-2*H)/(L-_),A-.25-.25*(C+L-2*H)/(L-C)]);break;case 2:q.push([k-.75-.25*(-_-L+2*H)/(_-L),A-.25-.25*(M+_-2*H)/(_-M)]);break;case 3:q.push([k-.5,A-.5-.5*(C+L+M+_-4*H)/(L-C+_-M)]);break;case 4:q.push([k-.25-.25*(M+C-2*H)/(C-M),A-.75-.25*(-C-L+2*H)/(C-L)]);break;case 5:q.push([k-.5-.5*(_+L+M+C-4*H)/(L-_+C-M),A-.5]);break;case 6:q.push([k-.5-.25*(-_-L+M+C)/(_-L+C-M),A-.5-.25*(-C-L+M+_)/(C-L+_-M)]);break;case 7:q.push([k-.75-.25*(M+C-2*H)/(C-M),A-.75-.25*(M+_-2*H)/(_-M)]);break;case 8:q.push([k-.75-.25*(-M-C+2*H)/(M-C),A-.75-.25*(-M-_+2*H)/(M-_)]);break;case 9:q.push([k-.5-.25*(_+L+-M-C)/(L-_+M-C),A-.5-.25*(C+L+-M-_)/(L-C+M-_)]);break;case 10:q.push([k-.5-.5*(-_-L+-M-C+4*H)/(_-L+M-C),A-.5]);break;case 11:q.push([k-.25-.25*(-M-C+2*H)/(M-C),A-.75-.25*(C+L-2*H)/(L-C)]);break;case 12:q.push([k-.5,A-.5-.5*(-C-L+-M-_+4*H)/(C-L+M-_)]);break;case 13:q.push([k-.75-.25*(_+L-2*H)/(L-_),A-.25-.25*(-M-_+2*H)/(M-_)]);break;case 14:q.push([k-.25-.25*(-_-L+2*H)/(_-L),A-.25-.25*(-C-L+2*H)/(C-L)]);break;case 15:q.push([k-.5,A-.5]);break}},cell:function(k,A,L,_,C,M,g,P,T){C?P.push([k,A]):P.push([A,k])}});return function(E,k){var A=[],L=[];return p(E,A,L,k),{positions:A,cells:L}}}};function c(v,x){var b=v.length+\"d\",p=u[b];if(p)return p(s,v,x)}function f(v,x){for(var b=l(v,x),p=b.length,E=new Array(p),k=new Array(p),A=0;A<p;++A)E[A]=[b[A]],k[A]=[A];return{positions:E,cells:k}}var h={};function d(v,E){if(v.dimension<=0)return{positions:[],cells:[]};if(v.dimension===1)return f(v,E);var b=v.order.join()+\"-\"+v.dtype,p=h[b],E=+E||0;return p||(p=h[b]=c(v.order,v.dtype)),p(v,E)}},665:function(i,a,o){\"use strict\";var s=o(3202);i.exports=f;var l=96;function u(h,d){var v=s(getComputedStyle(h).getPropertyValue(d));return v[0]*f(v[1],h)}function c(h,d){var v=document.createElement(\"div\");v.style[\"font-size\"]=\"128\"+h,d.appendChild(v);var x=u(v,\"font-size\")/128;return d.removeChild(v),x}function f(h,d){switch(d=d||document.body,h=(h||\"px\").trim().toLowerCase(),(d===window||d===document)&&(d=document.body),h){case\"%\":return d.clientHeight/100;case\"ch\":case\"ex\":return c(h,d);case\"em\":return u(d,\"font-size\");case\"rem\":return u(document.body,\"font-size\");case\"vw\":return window.innerWidth/100;case\"vh\":return window.innerHeight/100;case\"vmin\":return Math.min(window.innerWidth,window.innerHeight)/100;case\"vmax\":return Math.max(window.innerWidth,window.innerHeight)/100;case\"in\":return l;case\"cm\":return l/2.54;case\"mm\":return l/25.4;case\"pt\":return l/72;case\"pc\":return l/6}return 1}},7261:function(i,a,o){\"use strict\";i.exports=k;var s=o(9215),l=o(7608),u=o(6079),c=o(5911),f=o(3536),h=o(244);function d(A,L,_){return Math.sqrt(Math.pow(A,2)+Math.pow(L,2)+Math.pow(_,2))}function v(A){return Math.min(1,Math.max(-1,A))}function x(A){var L=Math.abs(A[0]),_=Math.abs(A[1]),C=Math.abs(A[2]),M=[0,0,0];L>Math.max(_,C)?M[2]=1:_>Math.max(L,C)?M[0]=1:M[1]=1;for(var g=0,P=0,T=0;T<3;++T)g+=A[T]*A[T],P+=M[T]*A[T];for(var T=0;T<3;++T)M[T]-=P/g*A[T];return f(M,M),M}function b(A,L,_,C,M,g,P,T){this.center=s(_),this.up=s(C),this.right=s(M),this.radius=s([g]),this.angle=s([P,T]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(A,L),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 F=0;F<16;++F)this.computedMatrix[F]=.5;this.recalcMatrix(0)}var p=b.prototype;p.setDistanceLimits=function(A,L){A>0?A=Math.log(A):A=-1/0,L>0?L=Math.log(L):L=1/0,L=Math.max(L,A),this.radius.bounds[0][0]=A,this.radius.bounds[1][0]=L},p.getDistanceLimits=function(A){var L=this.radius.bounds[0];return A?(A[0]=Math.exp(L[0][0]),A[1]=Math.exp(L[1][0]),A):[Math.exp(L[0][0]),Math.exp(L[1][0])]},p.recalcMatrix=function(A){this.center.curve(A),this.up.curve(A),this.right.curve(A),this.radius.curve(A),this.angle.curve(A);for(var L=this.computedUp,_=this.computedRight,C=0,M=0,g=0;g<3;++g)M+=L[g]*_[g],C+=L[g]*L[g];for(var P=Math.sqrt(C),T=0,g=0;g<3;++g)_[g]-=L[g]*M/C,T+=_[g]*_[g],L[g]/=P;for(var F=Math.sqrt(T),g=0;g<3;++g)_[g]/=F;var q=this.computedToward;c(q,L,_),f(q,q);for(var V=Math.exp(this.computedRadius[0]),H=this.computedAngle[0],X=this.computedAngle[1],G=Math.cos(H),N=Math.sin(H),W=Math.cos(X),re=Math.sin(X),ae=this.computedCenter,_e=G*W,Me=N*W,ke=re,ge=-G*re,ie=-N*re,Te=W,Ee=this.computedEye,Ae=this.computedMatrix,g=0;g<3;++g){var ze=_e*_[g]+Me*q[g]+ke*L[g];Ae[4*g+1]=ge*_[g]+ie*q[g]+Te*L[g],Ae[4*g+2]=ze,Ae[4*g+3]=0}var Ce=Ae[1],me=Ae[5],Re=Ae[9],ce=Ae[2],Ge=Ae[6],nt=Ae[10],ct=me*nt-Re*Ge,qt=Re*ce-Ce*nt,rt=Ce*Ge-me*ce,ot=d(ct,qt,rt);ct/=ot,qt/=ot,rt/=ot,Ae[0]=ct,Ae[4]=qt,Ae[8]=rt;for(var g=0;g<3;++g)Ee[g]=ae[g]+Ae[2+4*g]*V;for(var g=0;g<3;++g){for(var T=0,Rt=0;Rt<3;++Rt)T+=Ae[g+4*Rt]*Ee[Rt];Ae[12+g]=-T}Ae[15]=1},p.getMatrix=function(A,L){this.recalcMatrix(A);var _=this.computedMatrix;if(L){for(var C=0;C<16;++C)L[C]=_[C];return L}return _};var E=[0,0,0];p.rotate=function(A,L,_,C){if(this.angle.move(A,L,_),C){this.recalcMatrix(A);var M=this.computedMatrix;E[0]=M[2],E[1]=M[6],E[2]=M[10];for(var g=this.computedUp,P=this.computedRight,T=this.computedToward,F=0;F<3;++F)M[4*F]=g[F],M[4*F+1]=P[F],M[4*F+2]=T[F];u(M,M,C,E);for(var F=0;F<3;++F)g[F]=M[4*F],P[F]=M[4*F+1];this.up.set(A,g[0],g[1],g[2]),this.right.set(A,P[0],P[1],P[2])}},p.pan=function(A,L,_,C){L=L||0,_=_||0,C=C||0,this.recalcMatrix(A);var M=this.computedMatrix,g=Math.exp(this.computedRadius[0]),P=M[1],T=M[5],F=M[9],q=d(P,T,F);P/=q,T/=q,F/=q;var V=M[0],H=M[4],X=M[8],G=V*P+H*T+X*F;V-=P*G,H-=T*G,X-=F*G;var N=d(V,H,X);V/=N,H/=N,X/=N;var W=V*L+P*_,re=H*L+T*_,ae=X*L+F*_;this.center.move(A,W,re,ae);var _e=Math.exp(this.computedRadius[0]);_e=Math.max(1e-4,_e+C),this.radius.set(A,Math.log(_e))},p.translate=function(A,L,_,C){this.center.move(A,L||0,_||0,C||0)},p.setMatrix=function(A,L,_,C){var M=1;typeof _==\"number\"&&(M=_|0),(M<0||M>3)&&(M=1);var g=(M+2)%3,P=(M+1)%3;L||(this.recalcMatrix(A),L=this.computedMatrix);var T=L[M],F=L[M+4],q=L[M+8];if(C){var H=Math.abs(T),X=Math.abs(F),G=Math.abs(q),N=Math.max(H,X,G);H===N?(T=T<0?-1:1,F=q=0):G===N?(q=q<0?-1:1,T=F=0):(F=F<0?-1:1,T=q=0)}else{var V=d(T,F,q);T/=V,F/=V,q/=V}var W=L[g],re=L[g+4],ae=L[g+8],_e=W*T+re*F+ae*q;W-=T*_e,re-=F*_e,ae-=q*_e;var Me=d(W,re,ae);W/=Me,re/=Me,ae/=Me;var ke=F*ae-q*re,ge=q*W-T*ae,ie=T*re-F*W,Te=d(ke,ge,ie);ke/=Te,ge/=Te,ie/=Te,this.center.jump(A,er,Ke,xt),this.radius.idle(A),this.up.jump(A,T,F,q),this.right.jump(A,W,re,ae);var Ee,Ae;if(M===2){var ze=L[1],Ce=L[5],me=L[9],Re=ze*W+Ce*re+me*ae,ce=ze*ke+Ce*ge+me*ie;qt<0?Ee=-Math.PI/2:Ee=Math.PI/2,Ae=Math.atan2(ce,Re)}else{var Ge=L[2],nt=L[6],ct=L[10],qt=Ge*T+nt*F+ct*q,rt=Ge*W+nt*re+ct*ae,ot=Ge*ke+nt*ge+ct*ie;Ee=Math.asin(v(qt)),Ae=Math.atan2(ot,rt)}this.angle.jump(A,Ae,Ee),this.recalcMatrix(A);var Rt=L[2],kt=L[6],Ct=L[10],Yt=this.computedMatrix;l(Yt,L);var xr=Yt[15],er=Yt[12]/xr,Ke=Yt[13]/xr,xt=Yt[14]/xr,bt=Math.exp(this.computedRadius[0]);this.center.jump(A,er-Rt*bt,Ke-kt*bt,xt-Ct*bt)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(A){this.center.idle(A),this.up.idle(A),this.right.idle(A),this.radius.idle(A),this.angle.idle(A)},p.flush=function(A){this.center.flush(A),this.up.flush(A),this.right.flush(A),this.radius.flush(A),this.angle.flush(A)},p.setDistance=function(A,L){L>0&&this.radius.set(A,Math.log(L))},p.lookAt=function(A,L,_,C){this.recalcMatrix(A),L=L||this.computedEye,_=_||this.computedCenter,C=C||this.computedUp;var M=C[0],g=C[1],P=C[2],T=d(M,g,P);if(!(T<1e-6)){M/=T,g/=T,P/=T;var F=L[0]-_[0],q=L[1]-_[1],V=L[2]-_[2],H=d(F,q,V);if(!(H<1e-6)){F/=H,q/=H,V/=H;var X=this.computedRight,G=X[0],N=X[1],W=X[2],re=M*G+g*N+P*W;G-=re*M,N-=re*g,W-=re*P;var ae=d(G,N,W);if(!(ae<.01&&(G=g*V-P*q,N=P*F-M*V,W=M*q-g*F,ae=d(G,N,W),ae<1e-6))){G/=ae,N/=ae,W/=ae,this.up.set(A,M,g,P),this.right.set(A,G,N,W),this.center.set(A,_[0],_[1],_[2]),this.radius.set(A,Math.log(H));var _e=g*W-P*N,Me=P*G-M*W,ke=M*N-g*G,ge=d(_e,Me,ke);_e/=ge,Me/=ge,ke/=ge;var ie=M*F+g*q+P*V,Te=G*F+N*q+W*V,Ee=_e*F+Me*q+ke*V,Ae=Math.asin(v(ie)),ze=Math.atan2(Ee,Te),Ce=this.angle._state,me=Ce[Ce.length-1],Re=Ce[Ce.length-2];me=me%(2*Math.PI);var ce=Math.abs(me+2*Math.PI-ze),Ge=Math.abs(me-ze),nt=Math.abs(me-2*Math.PI-ze);ce<Ge&&(me+=2*Math.PI),nt<Ge&&(me-=2*Math.PI),this.angle.jump(this.angle.lastT(),me,Re),this.angle.set(A,ze,Ae)}}}};function k(A){A=A||{};var L=A.center||[0,0,0],_=A.up||[0,1,0],C=A.right||x(_),M=A.radius||1,g=A.theta||0,P=A.phi||0;if(L=[].slice.call(L,0,3),_=[].slice.call(_,0,3),f(_,_),C=[].slice.call(C,0,3),f(C,C),\"eye\"in A){var T=A.eye,F=[T[0]-L[0],T[1]-L[1],T[2]-L[2]];c(C,F,_),d(C[0],C[1],C[2])<1e-6?C=x(_):f(C,C),M=d(F[0],F[1],F[2]);var q=h(_,F)/M,V=h(C,F)/M;P=Math.acos(q),g=Math.acos(V)}return M=Math.log(M),new b(A.zoomMin,A.zoomMax,L,_,C,M,g,P)}},5250:function(i){\"use strict\";i.exports=o;var a=+(Math.pow(2,27)+1);function o(s,l,u){var c=s*l,f=a*s,h=f-s,d=f-h,v=s-d,x=a*l,b=x-l,p=x-b,E=l-p,k=c-d*p,A=k-v*p,L=A-d*E,_=v*E-L;return u?(u[0]=_,u[1]=c,u):[_,c]}},9362:function(i){\"use strict\";i.exports=a;function a(o,s,l){var u=o+s,c=u-o,f=u-c,h=s-c,d=o-f;return l?(l[0]=d+h,l[1]=u,l):[d+h,u]}},1888:function(i,a,o){\"use strict\";var s=o(8828),l=o(1338),u=o(4793).hp;o.g.__TYPEDARRAY_POOL||(o.g.__TYPEDARRAY_POOL={UINT8:l([32,0]),UINT16:l([32,0]),UINT32:l([32,0]),BIGUINT64:l([32,0]),INT8:l([32,0]),INT16:l([32,0]),INT32:l([32,0]),BIGINT64:l([32,0]),FLOAT:l([32,0]),DOUBLE:l([32,0]),DATA:l([32,0]),UINT8C:l([32,0]),BUFFER:l([32,0])});var c=typeof Uint8ClampedArray!=\"undefined\",f=typeof BigUint64Array!=\"undefined\",h=typeof BigInt64Array!=\"undefined\",d=o.g.__TYPEDARRAY_POOL;d.UINT8C||(d.UINT8C=l([32,0])),d.BIGUINT64||(d.BIGUINT64=l([32,0])),d.BIGINT64||(d.BIGINT64=l([32,0])),d.BUFFER||(d.BUFFER=l([32,0]));var v=d.DATA,x=d.BUFFER;a.free=function(G){if(u.isBuffer(G))x[s.log2(G.length)].push(G);else{if(Object.prototype.toString.call(G)!==\"[object ArrayBuffer]\"&&(G=G.buffer),!G)return;var N=G.length||G.byteLength,W=s.log2(N)|0;v[W].push(G)}};function b(X){if(X){var G=X.length||X.byteLength,N=s.log2(G);v[N].push(X)}}function p(X){b(X.buffer)}a.freeUint8=a.freeUint16=a.freeUint32=a.freeBigUint64=a.freeInt8=a.freeInt16=a.freeInt32=a.freeBigInt64=a.freeFloat32=a.freeFloat=a.freeFloat64=a.freeDouble=a.freeUint8Clamped=a.freeDataView=p,a.freeArrayBuffer=b,a.freeBuffer=function(G){x[s.log2(G.length)].push(G)},a.malloc=function(G,N){if(N===void 0||N===\"arraybuffer\")return E(G);switch(N){case\"uint8\":return k(G);case\"uint16\":return A(G);case\"uint32\":return L(G);case\"int8\":return _(G);case\"int16\":return C(G);case\"int32\":return M(G);case\"float\":case\"float32\":return g(G);case\"double\":case\"float64\":return P(G);case\"uint8_clamped\":return T(G);case\"bigint64\":return q(G);case\"biguint64\":return F(G);case\"buffer\":return H(G);case\"data\":case\"dataview\":return V(G);default:return null}return null};function E(G){var G=s.nextPow2(G),N=s.log2(G),W=v[N];return W.length>0?W.pop():new ArrayBuffer(G)}a.mallocArrayBuffer=E;function k(X){return new Uint8Array(E(X),0,X)}a.mallocUint8=k;function A(X){return new Uint16Array(E(2*X),0,X)}a.mallocUint16=A;function L(X){return new Uint32Array(E(4*X),0,X)}a.mallocUint32=L;function _(X){return new Int8Array(E(X),0,X)}a.mallocInt8=_;function C(X){return new Int16Array(E(2*X),0,X)}a.mallocInt16=C;function M(X){return new Int32Array(E(4*X),0,X)}a.mallocInt32=M;function g(X){return new Float32Array(E(4*X),0,X)}a.mallocFloat32=a.mallocFloat=g;function P(X){return new Float64Array(E(8*X),0,X)}a.mallocFloat64=a.mallocDouble=P;function T(X){return c?new Uint8ClampedArray(E(X),0,X):k(X)}a.mallocUint8Clamped=T;function F(X){return f?new BigUint64Array(E(8*X),0,X):null}a.mallocBigUint64=F;function q(X){return h?new BigInt64Array(E(8*X),0,X):null}a.mallocBigInt64=q;function V(X){return new DataView(E(X),0,X)}a.mallocDataView=V;function H(X){X=s.nextPow2(X);var G=s.log2(X),N=x[G];return N.length>0?N.pop():new u(X)}a.mallocBuffer=H,a.clearCache=function(){for(var G=0;G<32;++G)d.UINT8[G].length=0,d.UINT16[G].length=0,d.UINT32[G].length=0,d.INT8[G].length=0,d.INT16[G].length=0,d.INT32[G].length=0,d.FLOAT[G].length=0,d.DOUBLE[G].length=0,d.BIGUINT64[G].length=0,d.BIGINT64[G].length=0,d.UINT8C[G].length=0,v[G].length=0,x[G].length=0}},1755:function(i){\"use strict\";\"use restrict\";i.exports=a;function a(s){this.roots=new Array(s),this.ranks=new Array(s);for(var l=0;l<s;++l)this.roots[l]=l,this.ranks[l]=0}var o=a.prototype;Object.defineProperty(o,\"length\",{get:function(){return this.roots.length}}),o.makeSet=function(){var s=this.roots.length;return this.roots.push(s),this.ranks.push(0),s},o.find=function(s){for(var l=s,u=this.roots;u[s]!==s;)s=u[s];for(;u[l]!==s;){var c=u[l];u[l]=s,l=c}return s},o.link=function(s,l){var u=this.find(s),c=this.find(l);if(u!==c){var f=this.ranks,h=this.roots,d=f[u],v=f[c];d<v?h[u]=c:v<d?h[c]=u:(h[c]=u,++f[u])}}},1682:function(i){\"use strict\";function a(l,u){for(var c=1,f=l.length,h=l[0],d=l[0],v=1;v<f;++v)if(d=h,h=l[v],u(h,d)){if(v===c){c++;continue}l[c++]=h}return l.length=c,l}function o(l){for(var u=1,c=l.length,f=l[0],h=l[0],d=1;d<c;++d,h=f)if(h=f,f=l[d],f!==h){if(d===u){u++;continue}l[u++]=f}return l.length=u,l}function s(l,u,c){return l.length===0?l:u?(c||l.sort(u),a(l,u)):(c||l.sort(),o(l))}i.exports=s},4359:function(i,a,o){\"use strict\";i.exports=c;var s=o(7718),l=null,u=null;typeof document!=\"undefined\"&&(l=document.createElement(\"canvas\"),l.width=8192,l.height=1024,u=l.getContext(\"2d\"));function c(f,h){return(typeof h!=\"object\"||h===null)&&(h={}),s(f,h.canvas||l,h.context||u,h)}},7718:function(i,a,o){i.exports=q,i.exports.processPixels=F;var s=o(3711),l=o(9618),u=o(5878),c=o(332),f=o(2538),h=o(2095),d=\"b\",v=\"b|\",x=\"i\",b=\"i|\",p=\"sup\",E=\"+\",k=\"+1\",A=\"sub\",L=\"-\",_=\"-1\";function C(V,H,X,G){for(var N=\"<\"+V+\">\",W=\"</\"+V+\">\",re=N.length,ae=W.length,_e=H[0]===E||H[0]===L,Me=0,ke=-ae;Me>-1&&(Me=X.indexOf(N,Me),!(Me===-1||(ke=X.indexOf(W,Me+re),ke===-1)||ke<=Me));){for(var ge=Me;ge<ke+ae;++ge)if(ge<Me+re||ge>=ke)G[ge]=null,X=X.substr(0,ge)+\" \"+X.substr(ge+1);else if(G[ge]!==null){var ie=G[ge].indexOf(H[0]);ie===-1?G[ge]+=H:_e&&(G[ge]=G[ge].substr(0,ie+1)+(1+parseInt(G[ge][ie+1]))+G[ge].substr(ie+2))}var Te=Me+re,Ee=X.substr(Te,ke-Te),Ae=Ee.indexOf(N);Ae!==-1?Me=Ae:Me=ke+ae}return G}function M(V,H,X){for(var G=H.textAlign||\"start\",N=H.textBaseline||\"alphabetic\",W=[1<<30,1<<30],re=[0,0],ae=V.length,_e=0;_e<ae;++_e)for(var Me=V[_e],ke=0;ke<2;++ke)W[ke]=Math.min(W[ke],Me[ke])|0,re[ke]=Math.max(re[ke],Me[ke])|0;var ge=0;switch(G){case\"center\":ge=-.5*(W[0]+re[0]);break;case\"right\":case\"end\":ge=-re[0];break;case\"left\":case\"start\":ge=-W[0];break;default:throw new Error(\"vectorize-text: Unrecognized textAlign: '\"+G+\"'\")}var ie=0;switch(N){case\"hanging\":case\"top\":ie=-W[1];break;case\"middle\":ie=-.5*(W[1]+re[1]);break;case\"alphabetic\":case\"ideographic\":ie=-3*X;break;case\"bottom\":ie=-re[1];break;default:throw new Error(\"vectorize-text: Unrecoginized textBaseline: '\"+N+\"'\")}var Te=1/X;return\"lineHeight\"in H?Te*=+H.lineHeight:\"width\"in H?Te=H.width/(re[0]-W[0]):\"height\"in H&&(Te=H.height/(re[1]-W[1])),V.map(function(Ee){return[Te*(Ee[0]+ge),Te*(Ee[1]+ie)]})}function g(V,H,X,G,N,W){X=X.replace(/\\n/g,\"\"),W.breaklines===!0?X=X.replace(/\\<br\\>/g,`\n", - "`):X=X.replace(/\\<br\\>/g,\" \");var re=\"\",ae=[];for(me=0;me<X.length;++me)ae[me]=re;W.bolds===!0&&(ae=C(d,v,X,ae)),W.italics===!0&&(ae=C(x,b,X,ae)),W.superscripts===!0&&(ae=C(p,k,X,ae)),W.subscripts===!0&&(ae=C(A,_,X,ae));var _e=[],Me=\"\";for(me=0;me<X.length;++me)ae[me]!==null&&(Me+=X[me],_e.push(ae[me]));var ke=Me.split(`\n", - "`),ge=ke.length,ie=Math.round(N*G),Te=G,Ee=G*2,Ae=0,ze=ge*ie+Ee;V.height<ze&&(V.height=ze),H.fillStyle=\"#000\",H.fillRect(0,0,V.width,V.height),H.fillStyle=\"#fff\";var Ce,me,Re,ce,Ge,nt=0,ct=\"\";function qt(){if(ct!==\"\"){var Ke=H.measureText(ct).width;H.fillText(ct,Te+Re,Ee+ce),Re+=Ke}}function rt(){return\"\"+Math.round(Ge)+\"px \"}function ot(Ke,xt){var bt=\"\"+H.font;if(W.subscripts===!0){var Lt=Ke.indexOf(L),St=xt.indexOf(L),Et=Lt>-1?parseInt(Ke[1+Lt]):0,dt=St>-1?parseInt(xt[1+St]):0;Et!==dt&&(bt=bt.replace(rt(),\"?px \"),Ge*=Math.pow(.75,dt-Et),bt=bt.replace(\"?px \",rt())),ce+=.25*ie*(dt-Et)}if(W.superscripts===!0){var Ht=Ke.indexOf(E),$t=xt.indexOf(E),fr=Ht>-1?parseInt(Ke[1+Ht]):0,_r=$t>-1?parseInt(xt[1+$t]):0;fr!==_r&&(bt=bt.replace(rt(),\"?px \"),Ge*=Math.pow(.75,_r-fr),bt=bt.replace(\"?px \",rt())),ce-=.25*ie*(_r-fr)}if(W.bolds===!0){var Br=Ke.indexOf(v)>-1,Or=xt.indexOf(v)>-1;!Br&&Or&&(Nr?bt=bt.replace(\"italic \",\"italic bold \"):bt=\"bold \"+bt),Br&&!Or&&(bt=bt.replace(\"bold \",\"\"))}if(W.italics===!0){var Nr=Ke.indexOf(b)>-1,ut=xt.indexOf(b)>-1;!Nr&&ut&&(bt=\"italic \"+bt),Nr&&!ut&&(bt=bt.replace(\"italic \",\"\"))}H.font=bt}for(Ce=0;Ce<ge;++Ce){var Rt=ke[Ce]+`\n", - "`;for(Re=0,ce=Ce*ie,Ge=G,ct=\"\",me=0;me<Rt.length;++me){var kt=me+nt<_e.length?_e[me+nt]:_e[_e.length-1];re===kt?ct+=Rt[me]:(qt(),ct=Rt[me],kt!==void 0&&(ot(re,kt),re=kt))}qt(),nt+=Rt.length;var Ct=Math.round(Re+2*Te)|0;Ae<Ct&&(Ae=Ct)}var Yt=Ae,xr=Ee+ie*ge,er=l(H.getImageData(0,0,Yt,xr).data,[xr,Yt,4]);return er.pick(-1,-1,0).transpose(1,0)}function P(V,H){var X=s(V,128);return H?u(X.cells,X.positions,.25):{edges:X.cells,positions:X.positions}}function T(V,H,X,G){var N=P(V,G),W=M(N.positions,H,X),re=N.edges,ae=H.orientation===\"ccw\";if(c(W,re),H.polygons||H.polygon||H.polyline){for(var _e=h(re,W),Me=new Array(_e.length),ke=0;ke<_e.length;++ke){for(var ge=_e[ke],ie=new Array(ge.length),Te=0;Te<ge.length;++Te){for(var Ee=ge[Te],Ae=new Array(Ee.length),ze=0;ze<Ee.length;++ze)Ae[ze]=W[Ee[ze]].slice();ae&&Ae.reverse(),ie[Te]=Ae}Me[ke]=ie}return Me}else return H.triangles||H.triangulate||H.triangle?{cells:f(W,re,{delaunay:!1,exterior:!1,interior:!0}),positions:W}:{edges:re,positions:W}}function F(V,H,X){try{return T(V,H,X,!0)}catch(G){}try{return T(V,H,X,!1)}catch(G){}return H.polygons||H.polyline||H.polygon?[]:H.triangles||H.triangulate||H.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}function q(V,H,X,G){var N=64,W=1.25,re={breaklines:!1,bolds:!1,italics:!1,subscripts:!1,superscripts:!1};G&&(G.size&&G.size>0&&(N=G.size),G.lineSpacing&&G.lineSpacing>0&&(W=G.lineSpacing),G.styletags&&G.styletags.breaklines&&(re.breaklines=!!G.styletags.breaklines),G.styletags&&G.styletags.bolds&&(re.bolds=!!G.styletags.bolds),G.styletags&&G.styletags.italics&&(re.italics=!!G.styletags.italics),G.styletags&&G.styletags.subscripts&&(re.subscripts=!!G.styletags.subscripts),G.styletags&&G.styletags.superscripts&&(re.superscripts=!!G.styletags.superscripts)),X.font=[G.fontStyle,G.fontVariant,G.fontWeight,N+\"px\",G.font].filter(function(_e){return _e}).join(\" \"),X.textAlign=\"start\",X.textBaseline=\"alphabetic\",X.direction=\"ltr\";var ae=g(H,X,V,N,W,re);return F(ae,G,N)}},1538:function(i){(function(){\"use strict\";if(typeof ses!=\"undefined\"&&ses.ok&&!ses.ok())return;function o(T){T.permitHostObjects___&&T.permitHostObjects___(o)}typeof ses!=\"undefined\"&&(ses.weakMapPermitHostObjects=o);var s=!1;if(typeof WeakMap==\"function\"){var l=WeakMap;if(!(typeof navigator!=\"undefined\"&&/Firefox/.test(navigator.userAgent))){var u=new l,c=Object.freeze({});if(u.set(c,1),u.get(c)!==1)s=!0;else{i.exports=WeakMap;return}}}var f=Object.prototype.hasOwnProperty,h=Object.getOwnPropertyNames,d=Object.defineProperty,v=Object.isExtensible,x=\"weakmap:\",b=x+\"ident:\"+Math.random()+\"___\";if(typeof crypto!=\"undefined\"&&typeof crypto.getRandomValues==\"function\"&&typeof ArrayBuffer==\"function\"&&typeof Uint8Array==\"function\"){var p=new ArrayBuffer(25),E=new Uint8Array(p);crypto.getRandomValues(E),b=x+\"rand:\"+Array.prototype.map.call(E,function(T){return(T%36).toString(36)}).join(\"\")+\"___\"}function k(T){return!(T.substr(0,x.length)==x&&T.substr(T.length-3)===\"___\")}if(d(Object,\"getOwnPropertyNames\",{value:function(F){return h(F).filter(k)}}),\"getPropertyNames\"in Object){var A=Object.getPropertyNames;d(Object,\"getPropertyNames\",{value:function(F){return A(F).filter(k)}})}function L(T){if(T!==Object(T))throw new TypeError(\"Not an object: \"+T);var F=T[b];if(F&&F.key===T)return F;if(v(T)){F={key:T};try{return d(T,b,{value:F,writable:!1,enumerable:!1,configurable:!1}),F}catch(q){return}}}(function(){var T=Object.freeze;d(Object,\"freeze\",{value:function(H){return L(H),T(H)}});var F=Object.seal;d(Object,\"seal\",{value:function(H){return L(H),F(H)}});var q=Object.preventExtensions;d(Object,\"preventExtensions\",{value:function(H){return L(H),q(H)}})})();function _(T){return T.prototype=null,Object.freeze(T)}var C=!1;function M(){!C&&typeof console!=\"undefined\"&&(C=!0,console.warn(\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\"))}var g=0,P=function(){this instanceof P||M();var T=[],F=[],q=g++;function V(N,W){var re,ae=L(N);return ae?q in ae?ae[q]:W:(re=T.indexOf(N),re>=0?F[re]:W)}function H(N){var W=L(N);return W?q in W:T.indexOf(N)>=0}function X(N,W){var re,ae=L(N);return ae?ae[q]=W:(re=T.indexOf(N),re>=0?F[re]=W:(re=T.length,F[re]=W,T[re]=N)),this}function G(N){var W=L(N),re,ae;return W?q in W&&delete W[q]:(re=T.indexOf(N),re<0?!1:(ae=T.length-1,T[re]=void 0,F[re]=F[ae],T[re]=T[ae],T.length=ae,F.length=ae,!0))}return Object.create(P.prototype,{get___:{value:_(V)},has___:{value:_(H)},set___:{value:_(X)},delete___:{value:_(G)}})};P.prototype=Object.create(Object.prototype,{get:{value:function(F,q){return this.get___(F,q)},writable:!0,configurable:!0},has:{value:function(F){return this.has___(F)},writable:!0,configurable:!0},set:{value:function(F,q){return this.set___(F,q)},writable:!0,configurable:!0},delete:{value:function(F){return this.delete___(F)},writable:!0,configurable:!0}}),typeof l==\"function\"?function(){s&&typeof Proxy!=\"undefined\"&&(Proxy=void 0);function T(){this instanceof P||M();var F=new l,q=void 0,V=!1;function H(W,re){return q?F.has(W)?F.get(W):q.get___(W,re):F.get(W,re)}function X(W){return F.has(W)||(q?q.has___(W):!1)}var G;s?G=function(W,re){return F.set(W,re),F.has(W)||(q||(q=new P),q.set(W,re)),this}:G=function(W,re){if(V)try{F.set(W,re)}catch(ae){q||(q=new P),q.set___(W,re)}else F.set(W,re);return this};function N(W){var re=!!F.delete(W);return q&&q.delete___(W)||re}return Object.create(P.prototype,{get___:{value:_(H)},has___:{value:_(X)},set___:{value:_(G)},delete___:{value:_(N)},permitHostObjects___:{value:_(function(W){if(W===o)V=!0;else throw new Error(\"bogus call to permitHostObjects___\")})}})}T.prototype=P.prototype,i.exports=T,Object.defineProperty(WeakMap.prototype,\"constructor\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(typeof Proxy!=\"undefined\"&&(Proxy=void 0),i.exports=P)})()},236:function(i,a,o){var s=o(8284);i.exports=l;function l(){var u={};return function(c){if((typeof c!=\"object\"||c===null)&&typeof c!=\"function\")throw new Error(\"Weakmap-shim: Key must be object\");var f=c.valueOf(u);return f&&f.identity===u?f:s(c,u)}}},8284:function(i){i.exports=a;function a(o,s){var l={identity:s},u=o.valueOf;return Object.defineProperty(o,\"valueOf\",{value:function(c){return c!==s?u.apply(this,arguments):l},writable:!0}),l}},606:function(i,a,o){var s=o(236);i.exports=l;function l(){var u=s();return{get:function(c,f){var h=u(c);return h.hasOwnProperty(\"value\")?h.value:f},set:function(c,f){return u(c).value=f,this},has:function(c){return\"value\"in u(c)},delete:function(c){return delete u(c).value}}}},3349:function(i){\"use strict\";function a(){return function(f,h,d,v,x,b){var p=f[0],E=d[0],k=[0],A=E;v|=0;var L=0,_=E;for(L=0;L<p;++L){{var C=h[v]-b,M=h[v+A]-b;C>=0!=M>=0&&x.push(k[0]+.5+.5*(C+M)/(C-M))}v+=_,++k[0]}}}function o(){return a()}var s=o;function l(f){var h={};return function(v,x,b){var p=v.dtype,E=v.order,k=[p,E.join()].join(),A=h[k];return A||(h[k]=A=f([p,E])),A(v.shape.slice(0),v.data,v.stride,v.offset|0,x,b)}}function u(f){return l(s.bind(void 0,f))}function c(f){return u({funcName:f.funcName})}i.exports=c({funcName:\"zeroCrossings\"})},781:function(i,a,o){\"use strict\";i.exports=l;var s=o(3349);function l(u,c){var f=[];return c=+c||0,s(u.hi(u.shape[0]-1),f,c),f}},7790:function(){}},t={};function r(i){var a=t[i];if(a!==void 0)return a.exports;var o=t[i]={id:i,loaded:!1,exports:{}};return e[i].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}(function(){r.g=function(){if(typeof globalThis==\"object\")return globalThis;try{return this||new Function(\"return this\")()}catch(i){if(typeof window==\"object\")return window}}()})(),function(){r.nmd=function(i){return i.paths=[],i.children||(i.children=[]),i}}();var n=r(1964);cLe.exports=n})()});var rZ=ye((ivr,fLe)=>{\"use strict\";fLe.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]}});var pLe=ye((nvr,vLe)=>{\"use strict\";var hLe=rZ();vLe.exports=lLt;var dLe={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function lLt(e){var t,r=[],n=1,i;if(typeof e==\"string\")if(e=e.toLowerCase(),hLe[e])r=hLe[e].slice(),i=\"rgb\";else if(e===\"transparent\")n=0,i=\"rgb\",r=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var a=e.slice(1),o=a.length,s=o<=4;n=1,s?(r=[parseInt(a[0]+a[0],16),parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16)],o===4&&(n=parseInt(a[3]+a[3],16)/255)):(r=[parseInt(a[0]+a[1],16),parseInt(a[2]+a[3],16),parseInt(a[4]+a[5],16)],o===8&&(n=parseInt(a[6]+a[7],16)/255)),r[0]||(r[0]=0),r[1]||(r[1]=0),r[2]||(r[2]=0),i=\"rgb\"}else if(t=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(e)){var l=t[1],u=l===\"rgb\",a=l.replace(/a$/,\"\");i=a;var o=a===\"cmyk\"?4:a===\"gray\"?1:3;r=t[2].trim().split(/\\s*[,\\/]\\s*|\\s+/).map(function(h,d){if(/%$/.test(h))return d===o?parseFloat(h)/100:a===\"rgb\"?parseFloat(h)*255/100:parseFloat(h);if(a[d]===\"h\"){if(/deg$/.test(h))return parseFloat(h);if(dLe[h]!==void 0)return dLe[h]}return parseFloat(h)}),l===a&&r.push(1),n=u||r[o]===void 0?1:r[o],r=r.slice(0,o)}else e.length>10&&/[0-9](?:\\s|\\/)/.test(e)&&(r=e.match(/([0-9]+)/g).map(function(c){return parseFloat(c)}),i=e.match(/([a-z])/ig).join(\"\").toLowerCase());else isNaN(e)?Array.isArray(e)||e.length?(r=[e[0],e[1],e[2]],i=\"rgb\",n=e.length===4?e[3]:1):e instanceof Object&&(e.r!=null||e.red!=null||e.R!=null?(i=\"rgb\",r=[e.r||e.red||e.R||0,e.g||e.green||e.G||0,e.b||e.blue||e.B||0]):(i=\"hsl\",r=[e.h||e.hue||e.H||0,e.s||e.saturation||e.S||0,e.l||e.lightness||e.L||e.b||e.brightness]),n=e.a||e.alpha||e.opacity||1,e.opacity!=null&&(n/=100)):(i=\"rgb\",r=[e>>>16,(e&65280)>>>8,e&255]);return{space:i,values:r,alpha:n}}});var mLe=ye((avr,gLe)=>{\"use strict\";var uLt=pLe();gLe.exports=function(t){Array.isArray(t)&&t.raw&&(t=String.raw.apply(null,arguments));var r,n,i,a=uLt(t);if(!a.space)return[];var o=[0,0,0],s=a.space[0]===\"h\"?[360,100,100]:[255,255,255];return r=Array(3),r[0]=Math.min(Math.max(a.values[0],o[0]),s[0]),r[1]=Math.min(Math.max(a.values[1],o[1]),s[1]),r[2]=Math.min(Math.max(a.values[2],o[2]),s[2]),a.space[0]===\"h\"&&(r=cLt(r)),r.push(Math.min(Math.max(a.alpha,0),1)),r};function cLt(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100,i,a,o,s,l,u=0;if(r===0)return l=n*255,[l,l,l];for(a=n<.5?n*(1+r):n+r-n*r,i=2*n-a,s=[0,0,0];u<3;)o=t+1/3*-(u-1),o<0?o++:o>1&&o--,l=6*o<1?i+(a-i)*6*o:2*o<1?a:3*o<2?i+(a-i)*(2/3-o)*6:i,s[u++]=l*255;return s}});var VE=ye((ovr,yLe)=>{yLe.exports=fLt;function fLt(e,t,r){return t<r?e<t?t:e>r?r:e:e<r?r:e>t?t:e}});var HD=ye((svr,_Le)=>{_Le.exports=function(e){switch(e){case\"int8\":return Int8Array;case\"int16\":return Int16Array;case\"int32\":return Int32Array;case\"uint8\":return Uint8Array;case\"uint16\":return Uint16Array;case\"uint32\":return Uint32Array;case\"float32\":return Float32Array;case\"float64\":return Float64Array;case\"array\":return Array;case\"uint8_clamped\":return Uint8ClampedArray}}});var $_=ye((lvr,xLe)=>{\"use strict\";var hLt=mLe(),GD=VE(),dLt=HD();xLe.exports=function(t,r){(r===\"float\"||!r)&&(r=\"array\"),r===\"uint\"&&(r=\"uint8\"),r===\"uint_clamped\"&&(r=\"uint8_clamped\");var n=dLt(r),i=new n(4),a=r!==\"uint8\"&&r!==\"uint8_clamped\";return(!t.length||typeof t==\"string\")&&(t=hLt(t),t[0]/=255,t[1]/=255,t[2]/=255),vLt(t)?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:255,a&&(i[0]/=255,i[1]/=255,i[2]/=255,i[3]/=255),i):(a?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:1):(i[0]=GD(Math.floor(t[0]*255),0,255),i[1]=GD(Math.floor(t[1]*255),0,255),i[2]=GD(Math.floor(t[2]*255),0,255),i[3]=t[3]==null?255:GD(Math.floor(t[3]*255),0,255)),i)};function vLt(e){return!!(e instanceof Uint8Array||e instanceof Uint8ClampedArray||Array.isArray(e)&&(e[0]>1||e[0]===0)&&(e[1]>1||e[1]===0)&&(e[2]>1||e[2]===0)&&(!e[3]||e[3]>1))}});var Jy=ye((uvr,bLe)=>{\"use strict\";var pLt=$_();function gLt(e){return e?pLt(e):[0,0,0,1]}bLe.exports=gLt});var $y=ye((cvr,kLe)=>{\"use strict\";var MLe=uo(),mLt=id(),jD=$_(),WD=Mu(),yLt=dh().defaultLine,wLe=vv().isArrayOrTypedArray,iZ=jD(yLt),ELe=1;function TLe(e,t){var r=e;return r[3]*=t,r}function ALe(e){if(MLe(e))return iZ;var t=jD(e);return t.length?t:iZ}function SLe(e){return MLe(e)?e:ELe}function _Lt(e,t,r){var n=e.color;n&&n._inputArray&&(n=n._inputArray);var i=wLe(n),a=wLe(t),o=WD.extractOpts(e),s=[],l,u,c,f,h;if(o.colorscale!==void 0?l=WD.makeColorScaleFuncFromTrace(e):l=ALe,i?u=function(v,x){return v[x]===void 0?iZ:jD(l(v[x]))}:u=ALe,a?c=function(v,x){return v[x]===void 0?ELe:SLe(v[x])}:c=SLe,i||a)for(var d=0;d<r;d++)f=u(n,d),h=c(t,d),s[d]=TLe(f,h);else s=TLe(jD(n),t);return s}function xLt(e){var t=WD.extractOpts(e),r=t.colorscale;return t.reversescale&&(r=WD.flipScale(t.colorscale)),r.map(function(n){var i=n[0],a=mLt(n[1]),o=a.toRgb();return{index:i,rgb:[o.r,o.g,o.b,o.a]}})}kLe.exports={formatColor:_Lt,parseColorScale:xLt}});var nZ=ye((fvr,CLe)=>{\"use strict\";CLe.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]}});var ZD=ye((hvr,LLe)=>{\"use strict\";LLe.exports={circle:\"\\u25CF\",\"circle-open\":\"\\u25CB\",square:\"\\u25A0\",\"square-open\":\"\\u25A1\",diamond:\"\\u25C6\",\"diamond-open\":\"\\u25C7\",cross:\"+\",x:\"\\u274C\"}});var ILe=ye((dvr,PLe)=>{\"use strict\";var bLt=ba();function aZ(e,t,r,n){if(!t||!t.visible)return null;for(var i=bLt.getComponentMethod(\"errorbars\",\"makeComputeError\")(t),a=new Array(e.length),o=0;o<e.length;o++){var s=i(+e[o],o);if(n.type===\"log\"){var l=n.c2l(e[o]),u=e[o]-s[0],c=e[o]+s[1];if(a[o]=[(n.c2l(u,!0)-l)*r,(n.c2l(c,!0)-l)*r],u>0){var f=n.c2l(u);n._lowerLogErrorBound||(n._lowerLogErrorBound=f),n._lowerErrorBound=Math.min(n._lowerLogErrorBound,f)}}else a[o]=[-s[0]*r,s[1]*r]}return a}function wLt(e){for(var t=0;t<e.length;t++)if(e[t])return e[t].length;return 0}function TLt(e,t,r){var n=[aZ(e.x,e.error_x,t[0],r.xaxis),aZ(e.y,e.error_y,t[1],r.yaxis),aZ(e.z,e.error_z,t[2],r.zaxis)],i=wLt(n);if(i===0)return null;for(var a=new Array(i),o=0;o<i;o++){for(var s=[[0,0,0],[0,0,0]],l=0;l<3;l++)if(n[l])for(var u=0;u<2;u++)s[u][l]=n[l][o][u];a[o]=s}return a}PLe.exports=TLt});var ULe=ye((vvr,NLe)=>{\"use strict\";var ALt=Rd().gl_line3d,RLe=Rd().gl_scatter3d,SLt=Rd().gl_error3d,MLt=Rd().gl_mesh3d,ELt=Rd().delaunay_triangulate,Qy=Mr(),OLe=Jy(),XD=$y().formatColor,kLt=S3(),oZ=nZ(),CLt=ZD(),LLt=Qa(),PLt=rp().appendArrayPointValue,ILt=ILe();function BLe(e,t){this.scene=e,this.uid=t,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode=\"\",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var lZ=BLe.prototype;lZ.handlePick=function(e){if(e.object&&(e.object===this.linePlot||e.object===this.delaunayMesh||e.object===this.textMarkers||e.object===this.scatterPlot)){var t=e.index=e.data.index;return e.object.highlight&&e.object.highlight(null),this.scatterPlot&&(e.object=this.scatterPlot,this.scatterPlot.highlight(e.data)),e.textLabel=\"\",this.textLabels&&(Qy.isArrayOrTypedArray(this.textLabels)?(this.textLabels[t]||this.textLabels[t]===0)&&(e.textLabel=this.textLabels[t]):e.textLabel=this.textLabels),e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]],!0}};function RLt(e,t,r){var n=(r+1)%3,i=(r+2)%3,a=[],o=[],s;for(s=0;s<e.length;++s){var l=e[s];isNaN(l[n])||!isFinite(l[n])||isNaN(l[i])||!isFinite(l[i])||(a.push([l[n],l[i]]),o.push(s))}var u=ELt(a);for(s=0;s<u.length;++s)for(var c=u[s],f=0;f<c.length;++f)c[f]=o[c[f]];return{positions:e,cells:u,meshColor:t}}function DLt(e){for(var t=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[1,1,1],i=0;i<3;i++){var a=e[i];a&&a.copy_zstyle!==!1&&e[2].visible!==!1&&(a=e[2]),!(!a||!a.visible)&&(t[i]=a.width/2,r[i]=OLe(a.color),n[i]=a.thickness)}return{capSize:t,color:r,lineWidth:n}}function DLe(e){return e==null?0:e.indexOf(\"left\")>-1?-1:e.indexOf(\"right\")>-1?1:0}function zLe(e){return e==null?0:e.indexOf(\"top\")>-1?-1:e.indexOf(\"bottom\")>-1?1:0}function zLt(e){var t=0,r=0,n=[t,r];if(Array.isArray(e))for(var i=0;i<e.length;i++)n[i]=[t,r],e[i]&&(n[i][0]=DLe(e[i]),n[i][1]=zLe(e[i]));else n[0]=DLe(e),n[1]=zLe(e);return n}function FLt(e,t){return t(e*4)}function qLt(e){return CLt[e]}function sZ(e,t,r,n,i){var a=null;if(Qy.isArrayOrTypedArray(e)){a=[];for(var o=0;o<t;o++)e[o]===void 0?a[o]=n:a[o]=r(e[o],i)}else a=r(e,Qy.identity);return a}function OLt(e,t){var r=[],n=e.fullSceneLayout,i=e.dataScale,a=n.xaxis,o=n.yaxis,s=n.zaxis,l=t.marker,u=t.line,c=t.x||[],f=t.y||[],h=t.z||[],d=c.length,v=t.xcalendar,x=t.ycalendar,b=t.zcalendar,p,E,k,A,L,_;for(L=0;L<d;L++)p=a.d2l(c[L],0,v)*i[0],E=o.d2l(f[L],0,x)*i[1],k=s.d2l(h[L],0,b)*i[2],r[L]=[p,E,k];if(Array.isArray(t.text))_=t.text;else if(Qy.isTypedArray(t.text))_=Array.from(t.text);else if(t.text!==void 0)for(_=new Array(d),L=0;L<d;L++)_[L]=t.text;function C(_e,Me){var ke=n[_e];return LLt.tickText(ke,ke.d2l(Me),!0).text}var M=t.texttemplate;if(M){var g=e.fullLayout,P=g._d3locale,T=Array.isArray(M),F=T?Math.min(M.length,d):d,q=T?function(_e){return M[_e]}:function(){return M};for(_=new Array(F),L=0;L<F;L++){var V={x:c[L],y:f[L],z:h[L]},H={xLabel:C(\"xaxis\",c[L]),yLabel:C(\"yaxis\",f[L]),zLabel:C(\"zaxis\",h[L])},X={};PLt(X,t,L);var G=t._meta||{};_[L]=Qy.texttemplateString(q(L),H,P,X,V,G)}}if(A={position:r,mode:t.mode,text:_},\"line\"in t&&(A.lineColor=XD(u,1,d),A.lineWidth=u.width,A.lineDashes=u.dash),\"marker\"in t){var N=kLt(t);A.scatterColor=XD(l,1,d),A.scatterSize=sZ(l.size,d,FLt,20,N),A.scatterMarker=sZ(l.symbol,d,qLt,\"\\u25CF\"),A.scatterLineWidth=l.line.width,A.scatterLineColor=XD(l.line,1,d),A.scatterAngle=0}\"textposition\"in t&&(A.textOffset=zLt(t.textposition),A.textColor=XD(t.textfont,1,d),A.textSize=sZ(t.textfont.size,d,Qy.identity,12),A.textFontFamily=t.textfont.family,A.textFontWeight=t.textfont.weight,A.textFontStyle=t.textfont.style,A.textFontVariant=t.textfont.variant,A.textAngle=0);var W=[\"x\",\"y\",\"z\"];for(A.project=[!1,!1,!1],A.projectScale=[1,1,1],A.projectOpacity=[1,1,1],L=0;L<3;++L){var re=t.projection[W[L]];(A.project[L]=re.show)&&(A.projectOpacity[L]=re.opacity,A.projectScale[L]=re.scale)}A.errorBounds=ILt(t,i,n);var ae=DLt([t.error_x,t.error_y,t.error_z]);return A.errorColor=ae.color,A.errorLineWidth=ae.lineWidth,A.errorCapSize=ae.capSize,A.delaunayAxis=t.surfaceaxis,A.delaunayColor=OLe(t.surfacecolor),A}function FLe(e){if(Qy.isArrayOrTypedArray(e)){var t=e[0];return Qy.isArrayOrTypedArray(t)&&(e=t),\"rgb(\"+e.slice(0,3).map(function(r){return Math.round(r*255)})+\")\"}return null}function qLe(e){return Qy.isArrayOrTypedArray(e)?e.length===4&&typeof e[0]==\"number\"?FLe(e):e.map(FLe):null}lZ.update=function(e){var t=this.scene.glplot.gl,r,n,i,a,o=oZ.solid;this.data=e;var s=OLt(this.scene,e);\"mode\"in s&&(this.mode=s.mode),\"lineDashes\"in s&&s.lineDashes in oZ&&(o=oZ[s.lineDashes]),this.color=qLe(s.scatterColor)||qLe(s.lineColor),this.dataPoints=s.position,r={gl:this.scene.glplot.gl,position:s.position,color:s.lineColor,lineWidth:s.lineWidth||1,dashes:o[0],dashScale:o[1],opacity:e.opacity,connectGaps:e.connectgaps},this.mode.indexOf(\"lines\")!==-1?this.linePlot?this.linePlot.update(r):(this.linePlot=ALt(r),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var l=e.opacity;if(e.marker&&e.marker.opacity!==void 0&&(l*=e.marker.opacity),n={gl:this.scene.glplot.gl,position:s.position,color:s.scatterColor,size:s.scatterSize,glyph:s.scatterMarker,opacity:l,orthographic:!0,lineWidth:s.scatterLineWidth,lineColor:s.scatterLineColor,project:s.project,projectScale:s.projectScale,projectOpacity:s.projectOpacity},this.mode.indexOf(\"markers\")!==-1?this.scatterPlot?this.scatterPlot.update(n):(this.scatterPlot=RLe(n),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),a={gl:this.scene.glplot.gl,position:s.position,glyph:s.text,color:s.textColor,size:s.textSize,angle:s.textAngle,alignment:s.textOffset,font:s.textFontFamily,fontWeight:s.textFontWeight,fontStyle:s.textFontStyle,fontVariant:s.textFontVariant,orthographic:!0,lineWidth:0,project:!1,opacity:e.opacity},this.textLabels=e.hovertext||e.text,this.mode.indexOf(\"text\")!==-1?this.textMarkers?this.textMarkers.update(a):(this.textMarkers=RLe(a),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),i={gl:this.scene.glplot.gl,position:s.position,color:s.errorColor,error:s.errorBounds,lineWidth:s.errorLineWidth,capSize:s.errorCapSize,opacity:e.opacity},this.errorBars?s.errorBounds?this.errorBars.update(i):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):s.errorBounds&&(this.errorBars=SLt(i),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),s.delaunayAxis>=0){var u=RLt(s.position,s.delaunayColor,s.delaunayAxis);u.opacity=e.opacity,this.delaunayMesh?this.delaunayMesh.update(u):(u.gl=t,this.delaunayMesh=MLt(u),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)};lZ.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())};function BLt(e,t){var r=new BLe(e,t.uid);return r.update(t),r}NLe.exports=BLt});var dZ=ye((pvr,GLe)=>{\"use strict\";var e1=Uc(),NLt=Su(),hZ=Jl(),uZ=Oc().axisHoverFormat,ULt=Wo().hovertemplateAttrs,VLt=Wo().texttemplateAttrs,VLe=vl(),HLt=nZ(),GLt=ZD(),Yg=no().extendFlat,jLt=Bu().overrideAll,HLe=Y1(),WLt=e1.line,N2=e1.marker,ZLt=N2.line,XLt=Yg({width:WLt.width,dash:{valType:\"enumerated\",values:HLe(HLt),dflt:\"solid\"}},hZ(\"line\"));function cZ(e){return{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}}}var fZ=GLe.exports=jLt({x:e1.x,y:e1.y,z:{valType:\"data_array\"},text:Yg({},e1.text,{}),texttemplate:VLt({},{}),hovertext:Yg({},e1.hovertext,{}),hovertemplate:ULt(),xhoverformat:uZ(\"x\"),yhoverformat:uZ(\"y\"),zhoverformat:uZ(\"z\"),mode:Yg({},e1.mode,{dflt:\"lines+markers\"}),surfaceaxis:{valType:\"enumerated\",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:\"color\"},projection:{x:cZ(\"x\"),y:cZ(\"y\"),z:cZ(\"z\")},connectgaps:e1.connectgaps,line:XLt,marker:Yg({symbol:{valType:\"enumerated\",values:HLe(GLt),dflt:\"circle\",arrayOk:!0},size:Yg({},N2.size,{dflt:8}),sizeref:N2.sizeref,sizemin:N2.sizemin,sizemode:N2.sizemode,opacity:Yg({},N2.opacity,{arrayOk:!1}),colorbar:N2.colorbar,line:Yg({width:Yg({},ZLt.width,{arrayOk:!1})},hZ(\"marker.line\"))},hZ(\"marker\")),textposition:Yg({},e1.textposition,{dflt:\"top center\"}),textfont:NLt({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:\"calc\",colorEditType:\"style\",arrayOk:!0,variantValues:[\"normal\",\"small-caps\"]}),opacity:VLe.opacity,hoverinfo:Yg({},VLe.hoverinfo)},\"calc\",\"nested\");fZ.x.editType=fZ.y.editType=fZ.z.editType=\"calc+clearAxisTypes\"});var ZLe=ye((gvr,WLe)=>{\"use strict\";var jLe=ba(),YLt=Mr(),vZ=lu(),KLt=$p(),JLt=R0(),$Lt=D0(),QLt=dZ();WLe.exports=function(t,r,n,i){function a(d,v){return YLt.coerce(t,r,QLt,d,v)}var o=ePt(t,r,a,i);if(!o){r.visible=!1;return}a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),a(\"mode\"),vZ.hasMarkers(r)&&KLt(t,r,n,i,a,{noSelect:!0,noAngle:!0}),vZ.hasLines(r)&&(a(\"connectgaps\"),JLt(t,r,n,i,a)),vZ.hasText(r)&&(a(\"texttemplate\"),$Lt(t,r,i,a,{noSelect:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}));var s=(r.line||{}).color,l=(r.marker||{}).color;a(\"surfaceaxis\")>=0&&a(\"surfacecolor\",s||l);for(var u=[\"x\",\"y\",\"z\"],c=0;c<3;++c){var f=\"projection.\"+u[c];a(f+\".show\")&&(a(f+\".opacity\"),a(f+\".scale\"))}var h=jLe.getComponentMethod(\"errorbars\",\"supplyDefaults\");h(t,r,s||l||n,{axis:\"z\"}),h(t,r,s||l||n,{axis:\"y\",inherit:\"z\"}),h(t,r,s||l||n,{axis:\"x\",inherit:\"z\"})};function ePt(e,t,r,n){var i=0,a=r(\"x\"),o=r(\"y\"),s=r(\"z\"),l=jLe.getComponentMethod(\"calendars\",\"handleTraceDefaults\");return l(e,t,[\"x\",\"y\",\"z\"],n),a&&o&&s&&(i=Math.min(a.length,o.length,s.length),t._length=t._xlength=t._ylength=t._zlength=i),i}});var YLe=ye((mvr,XLe)=>{\"use strict\";var tPt=km(),rPt=z0();XLe.exports=function(t,r){var n=[{x:!1,y:!1,trace:r,t:{}}];return tPt(n,r),rPt(t,r),n}});var JLe=ye((yvr,KLe)=>{KLe.exports=iPt;function iPt(e,t){if(typeof e!=\"string\")throw new TypeError(\"must specify type string\");if(t=t||{},typeof document==\"undefined\"&&!t.canvas)return null;var r=t.canvas||document.createElement(\"canvas\");typeof t.width==\"number\"&&(r.width=t.width),typeof t.height==\"number\"&&(r.height=t.height);var n=t,i;try{var a=[e];e.indexOf(\"webgl\")===0&&a.push(\"experimental-\"+e);for(var o=0;o<a.length;o++)if(i=r.getContext(a[o],n),i)return i}catch(s){i=null}return i||null}});var QLe=ye((_vr,$Le)=>{var nPt=JLe();$Le.exports=function(t){return nPt(\"webgl\",t)}});var pZ=ye((xvr,tPe)=>{\"use strict\";var ePe=va(),aPt=function(){};tPe.exports=function(t){for(var r in t)typeof t[r]==\"function\"&&(t[r]=aPt);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var n=document.createElement(\"div\");n.className=\"no-webgl\",n.style.cursor=\"pointer\",n.style.fontSize=\"24px\",n.style.color=ePe.defaults[0],n.style.position=\"absolute\",n.style.left=n.style.top=\"0px\",n.style.width=n.style.height=\"100%\",n.style[\"background-color\"]=ePe.lightLine,n.style[\"z-index\"]=30;var i=document.createElement(\"p\");return i.textContent=\"WebGL is not supported by your browser - visit https://get.webgl.org for more info\",i.style.position=\"relative\",i.style.top=\"50%\",i.style.left=\"50%\",i.style.height=\"30%\",i.style.width=\"50%\",i.style.margin=\"-15% 0 0 -25%\",n.appendChild(i),t.container.appendChild(n),t.container.style.background=\"#FFFFFF\",t.container.onclick=function(){window.open(\"https://get.webgl.org\")},!1}});var nPe=ye((bvr,iPe)=>{\"use strict\";var U2=Jy(),oPt=Mr(),sPt=[\"xaxis\",\"yaxis\",\"zaxis\"];function rPe(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickSize=[12,12,12],this.tickFontWeight=[\"normal\",\"normal\",\"normal\",\"normal\"],this.tickFontStyle=[\"normal\",\"normal\",\"normal\",\"normal\"],this.tickFontVariant=[\"normal\",\"normal\",\"normal\",\"normal\"],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=[\"Open Sans\",\"Open Sans\",\"Open Sans\"],this.labelSize=[20,20,20],this.labelFontWeight=[\"normal\",\"normal\",\"normal\",\"normal\"],this.labelFontStyle=[\"normal\",\"normal\",\"normal\",\"normal\"],this.labelFontVariant=[\"normal\",\"normal\",\"normal\",\"normal\"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}var lPt=rPe.prototype;lPt.merge=function(e,t){for(var r=this,n=0;n<3;++n){var i=t[sPt[n]];if(!i.visible){r.tickEnable[n]=!1,r.labelEnable[n]=!1,r.lineEnable[n]=!1,r.lineTickEnable[n]=!1,r.gridEnable[n]=!1,r.zeroEnable[n]=!1,r.backgroundEnable[n]=!1;continue}r.labels[n]=e._meta?oPt.templateString(i.title.text,e._meta):i.title.text,\"font\"in i.title&&(i.title.font.color&&(r.labelColor[n]=U2(i.title.font.color)),i.title.font.family&&(r.labelFont[n]=i.title.font.family),i.title.font.size&&(r.labelSize[n]=i.title.font.size),i.title.font.weight&&(r.labelFontWeight[n]=i.title.font.weight),i.title.font.style&&(r.labelFontStyle[n]=i.title.font.style),i.title.font.variant&&(r.labelFontVariant[n]=i.title.font.variant)),\"showline\"in i&&(r.lineEnable[n]=i.showline),\"linecolor\"in i&&(r.lineColor[n]=U2(i.linecolor)),\"linewidth\"in i&&(r.lineWidth[n]=i.linewidth),\"showgrid\"in i&&(r.gridEnable[n]=i.showgrid),\"gridcolor\"in i&&(r.gridColor[n]=U2(i.gridcolor)),\"gridwidth\"in i&&(r.gridWidth[n]=i.gridwidth),i.type===\"log\"?r.zeroEnable[n]=!1:\"zeroline\"in i&&(r.zeroEnable[n]=i.zeroline),\"zerolinecolor\"in i&&(r.zeroLineColor[n]=U2(i.zerolinecolor)),\"zerolinewidth\"in i&&(r.zeroLineWidth[n]=i.zerolinewidth),\"ticks\"in i&&i.ticks?r.lineTickEnable[n]=!0:r.lineTickEnable[n]=!1,\"ticklen\"in i&&(r.lineTickLength[n]=r._defaultLineTickLength[n]=i.ticklen),\"tickcolor\"in i&&(r.lineTickColor[n]=U2(i.tickcolor)),\"tickwidth\"in i&&(r.lineTickWidth[n]=i.tickwidth),\"tickangle\"in i&&(r.tickAngle[n]=i.tickangle===\"auto\"?-3600:Math.PI*-i.tickangle/180),\"showticklabels\"in i&&(r.tickEnable[n]=i.showticklabels),\"tickfont\"in i&&(i.tickfont.color&&(r.tickColor[n]=U2(i.tickfont.color)),i.tickfont.family&&(r.tickFont[n]=i.tickfont.family),i.tickfont.size&&(r.tickSize[n]=i.tickfont.size),i.tickfont.weight&&(r.tickFontWeight[n]=i.tickfont.weight),i.tickfont.style&&(r.tickFontStyle[n]=i.tickfont.style),i.tickfont.variant&&(r.tickFontVariant[n]=i.tickfont.variant)),\"mirror\"in i?[\"ticks\",\"all\",\"allticks\"].indexOf(i.mirror)!==-1?(r.lineTickMirror[n]=!0,r.lineMirror[n]=!0):i.mirror===!0?(r.lineTickMirror[n]=!1,r.lineMirror[n]=!0):(r.lineTickMirror[n]=!1,r.lineMirror[n]=!1):r.lineMirror[n]=!1,\"showbackground\"in i&&i.showbackground!==!1?(r.backgroundEnable[n]=!0,r.backgroundColor[n]=U2(i.backgroundcolor)):r.backgroundEnable[n]=!1}};function uPt(e,t){var r=new rPe;return r.merge(e,t),r}iPe.exports=uPt});var sPe=ye((wvr,oPe)=>{\"use strict\";var cPt=Jy(),fPt=[\"xaxis\",\"yaxis\",\"zaxis\"];function aPe(){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]}var hPt=aPe.prototype;hPt.merge=function(e){for(var t=0;t<3;++t){var r=e[fPt[t]];if(!r.visible){this.enabled[t]=!1,this.drawSides[t]=!1;continue}this.enabled[t]=r.showspikes,this.colors[t]=cPt(r.spikecolor),this.drawSides[t]=r.spikesides,this.lineWidth[t]=r.spikethickness}};function dPt(e){var t=new aPe;return t.merge(e),t}oPe.exports=dPt});var cPe=ye((Tvr,uPe)=>{\"use strict\";uPe.exports=yPt;var lPe=Qa(),vPt=Mr(),pPt=[\"xaxis\",\"yaxis\",\"zaxis\"],gPt=[0,0,0];function mPt(e){for(var t=new Array(3),r=0;r<3;++r){for(var n=e[r],i=new Array(n.length),a=0;a<n.length;++a)i[a]=n[a].x;t[r]=i}return t}function yPt(e){for(var t=e.axesOptions,r=e.glplot.axesPixels,n=e.fullSceneLayout,i=[[],[],[]],a=0;a<3;++a){var o=n[pPt[a]];if(o._length=(r[a].hi-r[a].lo)*r[a].pixelsPerDataUnit/e.dataScale[a],Math.abs(o._length)===1/0||isNaN(o._length))i[a]=[];else{o._input_range=o.range.slice(),o.range[0]=r[a].lo/e.dataScale[a],o.range[1]=r[a].hi/e.dataScale[a],o._m=1/(e.dataScale[a]*r[a].pixelsPerDataUnit),o.range[0]===o.range[1]&&(o.range[0]-=1,o.range[1]+=1);var s=o.tickmode;if(o.tickmode===\"auto\"){o.tickmode=\"linear\";var l=o.nticks||vPt.constrain(o._length/40,4,9);lPe.autoTicks(o,Math.abs(o.range[1]-o.range[0])/l)}for(var u=lPe.calcTicks(o,{msUTC:!0}),c=0;c<u.length;++c)u[c].x=u[c].x*e.dataScale[a],o.type===\"date\"&&(u[c].text=u[c].text.replace(/\\<br\\>/g,\" \"));i[a]=u,o.tickmode=s}}t.ticks=i;for(var a=0;a<3;++a){gPt[a]=.5*(e.glplot.bounds[0][a]+e.glplot.bounds[1][a]);for(var c=0;c<2;++c)t.bounds[c][a]=e.glplot.bounds[c][a]}e.contourLevels=mPt(i)}});var mPe=ye((Avr,gPe)=>{\"use strict\";var dPe=Rd().gl_plot3d,_Pt=dPe.createCamera,fPe=dPe.createScene,xPt=QLe(),bPt=kL(),JD=ba(),up=Mr(),KD=up.preserveDrawingBuffer(),$D=Qa(),Kg=Nc(),wPt=Jy(),TPt=pZ(),APt=DU(),SPt=nPe(),MPt=sPe(),EPt=cPe(),kPt=wg().applyAutorangeOptions,HE,YD,vPe=!1;function pPe(e,t){var r=document.createElement(\"div\"),n=e.container;this.graphDiv=e.graphDiv;var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");i.style.position=\"absolute\",i.style.top=i.style.left=\"0px\",i.style.width=i.style.height=\"100%\",i.style[\"z-index\"]=20,i.style[\"pointer-events\"]=\"none\",r.appendChild(i),this.svgContainer=i,r.id=e.id,r.style.position=\"absolute\",r.style.top=r.style.left=\"0px\",r.style.width=r.style.height=\"100%\",n.appendChild(r),this.fullLayout=t,this.id=e.id||\"scene\",this.fullSceneLayout=t[this.id],this.plotArgs=[[],{},{}],this.axesOptions=SPt(t,t[this.id]),this.spikeOptions=MPt(t[this.id]),this.container=r,this.staticMode=!!e.staticPlot,this.pixelRatio=this.pixelRatio||e.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=JD.getComponentMethod(\"annotations3d\",\"convert\"),this.drawAnnotations=JD.getComponentMethod(\"annotations3d\",\"draw\"),this.initializeGLPlot()}var wv=pPe.prototype;wv.prepareOptions=function(){var e=this,t={canvas:e.canvas,gl:e.gl,glOptions:{preserveDrawingBuffer:KD,premultipliedAlpha:!0,antialias:!0},container:e.container,axes:e.axesOptions,spikes:e.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:e.camera,pixelRatio:e.pixelRatio};if(e.staticMode){if(!YD&&(HE=document.createElement(\"canvas\"),YD=xPt({canvas:HE,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}),!YD))throw new Error(\"error creating static canvas/context for image server\");t.gl=YD,t.canvas=HE}return t};var hPe=!0;wv.tryCreatePlot=function(){var e=this,t=e.prepareOptions(),r=!0;try{e.glplot=fPe(t)}catch(n){if(e.staticMode||!hPe||KD)r=!1;else{up.warn([\"webgl setup failed possibly due to\",\"false preserveDrawingBuffer config.\",\"The mobile/tablet device may not be detected by is-mobile module.\",\"Enabling preserveDrawingBuffer in second attempt to create webgl scene...\"].join(\" \"));try{KD=t.glOptions.preserveDrawingBuffer=!0,e.glplot=fPe(t)}catch(i){KD=t.glOptions.preserveDrawingBuffer=!1,r=!1}}}return hPe=!1,r};wv.initializeGLCamera=function(){var e=this,t=e.fullSceneLayout.camera,r=t.projection.type===\"orthographic\";e.camera=_Pt(e.container,{center:[t.center.x,t.center.y,t.center.z],eye:[t.eye.x,t.eye.y,t.eye.z],up:[t.up.x,t.up.y,t.up.z],_ortho:r,zoomMin:.01,zoomMax:100,mode:\"orbit\"})};wv.initializeGLPlot=function(){var e=this;e.initializeGLCamera();var t=e.tryCreatePlot();if(!t)return TPt(e);e.traces={},e.make4thDimension();var r=e.graphDiv,n=r.layout,i=function(){var o={};return e.isCameraChanged(n)&&(o[e.id+\".camera\"]=e.getCamera()),e.isAspectChanged(n)&&(o[e.id+\".aspectratio\"]=e.glplot.getAspectratio(),n[e.id].aspectmode!==\"manual\"&&(e.fullSceneLayout.aspectmode=n[e.id].aspectmode=o[e.id+\".aspectmode\"]=\"manual\")),o},a=function(o){if(o.fullSceneLayout.dragmode!==!1){var s=i();o.saveLayout(n),o.graphDiv.emit(\"plotly_relayout\",s)}};return e.glplot.canvas&&(e.glplot.canvas.addEventListener(\"mouseup\",function(){a(e)}),e.glplot.canvas.addEventListener(\"touchstart\",function(){vPe=!0}),e.glplot.canvas.addEventListener(\"wheel\",function(o){if(r._context._scrollZoom.gl3d){if(e.camera._ortho){var s=o.deltaX>o.deltaY?1.1:.9090909090909091,l=e.glplot.getAspectratio();e.glplot.setAspectratio({x:s*l.x,y:s*l.y,z:s*l.z})}a(e)}},bPt?{passive:!1}:!1),e.glplot.canvas.addEventListener(\"mousemove\",function(){if(e.fullSceneLayout.dragmode!==!1&&e.camera.mouseListener.buttons!==0){var o=i();e.graphDiv.emit(\"plotly_relayouting\",o)}}),e.staticMode||e.glplot.canvas.addEventListener(\"webglcontextlost\",function(o){r&&r.emit&&r.emit(\"plotly_webglcontextlost\",{event:o,layer:e.id})},!1)),e.glplot.oncontextloss=function(){e.recoverContext()},e.glplot.onrender=function(){e.render()},!0};wv.render=function(){var e=this,t=e.graphDiv,r,n=e.svgContainer,i=e.container.getBoundingClientRect();t._fullLayout._calcInverseTransform(t);var a=t._fullLayout._invScaleX,o=t._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),EPt(e),e.glplot.axes.update(e.axesOptions);for(var u=Object.keys(e.traces),c=null,f=e.glplot.selection,h=0;h<u.length;++h)r=e.traces[u[h]],r.data.hoverinfo!==\"skip\"&&r.handlePick(f)&&(c=r),r.setContourLevels&&r.setContourLevels();function d(P,T,F){var q=e.fullSceneLayout[P+\"axis\"];return q.type!==\"log\"&&(T=q.d2l(T)),$D.hoverLabelText(q,T,F)}if(c!==null){var v=APt(e.glplot.cameraParams,f.dataCoordinate);r=c.data;var x=t._fullData[r.index],b=f.index,p={xLabel:d(\"x\",f.traceCoordinate[0],r.xhoverformat),yLabel:d(\"y\",f.traceCoordinate[1],r.yhoverformat),zLabel:d(\"z\",f.traceCoordinate[2],r.zhoverformat)},E=Kg.castHoverinfo(x,e.fullLayout,b),k=(E||\"\").split(\"+\"),A=E&&E===\"all\";!x.hovertemplate&&!A&&(k.indexOf(\"x\")===-1&&(p.xLabel=void 0),k.indexOf(\"y\")===-1&&(p.yLabel=void 0),k.indexOf(\"z\")===-1&&(p.zLabel=void 0),k.indexOf(\"text\")===-1&&(f.textLabel=void 0),k.indexOf(\"name\")===-1&&(c.name=void 0));var L,_=[];r.type===\"cone\"||r.type===\"streamtube\"?(p.uLabel=d(\"x\",f.traceCoordinate[3],r.uhoverformat),(A||k.indexOf(\"u\")!==-1)&&_.push(\"u: \"+p.uLabel),p.vLabel=d(\"y\",f.traceCoordinate[4],r.vhoverformat),(A||k.indexOf(\"v\")!==-1)&&_.push(\"v: \"+p.vLabel),p.wLabel=d(\"z\",f.traceCoordinate[5],r.whoverformat),(A||k.indexOf(\"w\")!==-1)&&_.push(\"w: \"+p.wLabel),p.normLabel=f.traceCoordinate[6].toPrecision(3),(A||k.indexOf(\"norm\")!==-1)&&_.push(\"norm: \"+p.normLabel),r.type===\"streamtube\"&&(p.divergenceLabel=f.traceCoordinate[7].toPrecision(3),(A||k.indexOf(\"divergence\")!==-1)&&_.push(\"divergence: \"+p.divergenceLabel)),f.textLabel&&_.push(f.textLabel),L=_.join(\"<br>\")):r.type===\"isosurface\"||r.type===\"volume\"?(p.valueLabel=$D.hoverLabelText(e._mockAxis,e._mockAxis.d2l(f.traceCoordinate[3]),r.valuehoverformat),_.push(\"value: \"+p.valueLabel),f.textLabel&&_.push(f.textLabel),L=_.join(\"<br>\")):L=f.textLabel;var C={x:f.traceCoordinate[0],y:f.traceCoordinate[1],z:f.traceCoordinate[2],data:x._input,fullData:x,curveNumber:x.index,pointNumber:b};Kg.appendArrayPointValue(C,x,b),r._module.eventData&&(C=x._module.eventData(C,f,x,{},b));var M={points:[C]};if(e.fullSceneLayout.hovermode){var g=[];Kg.loneHover({trace:x,x:(.5+.5*v[0]/v[3])*s,y:(.5-.5*v[1]/v[3])*l,xLabel:p.xLabel,yLabel:p.yLabel,zLabel:p.zLabel,text:L,name:c.name,color:Kg.castHoverOption(x,b,\"bgcolor\")||c.color,borderColor:Kg.castHoverOption(x,b,\"bordercolor\"),fontFamily:Kg.castHoverOption(x,b,\"font.family\"),fontSize:Kg.castHoverOption(x,b,\"font.size\"),fontColor:Kg.castHoverOption(x,b,\"font.color\"),nameLength:Kg.castHoverOption(x,b,\"namelength\"),textAlign:Kg.castHoverOption(x,b,\"align\"),hovertemplate:up.castOption(x,b,\"hovertemplate\"),hovertemplateLabels:up.extendFlat({},C,p),eventData:[C]},{container:n,gd:t,inOut_bbox:g}),C.bbox=g[0]}f.distance<5&&(f.buttons||vPe)?t.emit(\"plotly_click\",M):t.emit(\"plotly_hover\",M),this.oldEventData=M}else Kg.loneUnhover(n),this.oldEventData&&t.emit(\"plotly_unhover\",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)};wv.recoverContext=function(){var e=this;e.glplot.dispose();var t=function(){if(e.glplot.gl.isContextLost()){requestAnimationFrame(t);return}if(!e.initializeGLPlot()){up.error(\"Catastrophic and unrecoverable WebGL error. Context lost.\");return}e.plot.apply(e,e.plotArgs)};requestAnimationFrame(t)};var GE=[\"xaxis\",\"yaxis\",\"zaxis\"];function CPt(e,t,r){for(var n=e.fullSceneLayout,i=0;i<3;i++){var a=GE[i],o=a.charAt(0),s=n[a],l=t[o],u=t[o+\"calendar\"],c=t[\"_\"+o+\"length\"];if(!up.isArrayOrTypedArray(l))r[0][i]=Math.min(r[0][i],0),r[1][i]=Math.max(r[1][i],c-1);else for(var f,h=0;h<(c||l.length);h++)if(up.isArrayOrTypedArray(l[h]))for(var d=0;d<l[h].length;++d)f=s.d2l(l[h][d],0,u),!isNaN(f)&&isFinite(f)&&(r[0][i]=Math.min(r[0][i],f),r[1][i]=Math.max(r[1][i],f));else f=s.d2l(l[h],0,u),!isNaN(f)&&isFinite(f)&&(r[0][i]=Math.min(r[0][i],f),r[1][i]=Math.max(r[1][i],f))}}function LPt(e,t){for(var r=e.fullSceneLayout,n=r.annotations||[],i=0;i<3;i++)for(var a=GE[i],o=a.charAt(0),s=r[a],l=0;l<n.length;l++){var u=n[l];if(u.visible){var c=s.r2l(u[o]);!isNaN(c)&&isFinite(c)&&(t[0][i]=Math.min(t[0][i],c),t[1][i]=Math.max(t[1][i],c))}}}wv.plot=function(e,t,r){var n=this;if(n.plotArgs=[e,t,r],!n.glplot.contextLost){var i,a,o,s,l,u,c=t[n.id],f=r[n.id];n.fullLayout=t,n.fullSceneLayout=c,n.axesOptions.merge(t,c),n.spikeOptions.merge(c),n.setViewport(c),n.updateFx(c.dragmode,c.hovermode),n.camera.enableWheel=n.graphDiv._context._scrollZoom.gl3d,n.glplot.setClearColor(wPt(c.bgcolor)),n.setConvert(l),e?Array.isArray(e)||(e=[e]):e=[];var h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(o=0;o<e.length;++o)i=e[o],!(i.visible!==!0||i._length===0)&&CPt(this,i,h);LPt(this,h);var d=[1,1,1];for(s=0;s<3;++s)h[1][s]===h[0][s]?d[s]=1:d[s]=1/(h[1][s]-h[0][s]);for(n.dataScale=d,n.convertAnnotations(this),o=0;o<e.length;++o)i=e[o],!(i.visible!==!0||i._length===0)&&(a=n.traces[i.uid],a?a.data.type===i.type?a.update(i):(a.dispose(),a=i._module.plot(this,i),n.traces[i.uid]=a):(a=i._module.plot(this,i),n.traces[i.uid]=a),a.name=i.name);var v=Object.keys(n.traces);e:for(o=0;o<v.length;++o){for(s=0;s<e.length;++s)if(e[s].uid===v[o]&&e[s].visible===!0&&e[s]._length!==0)continue e;a=n.traces[v[o]],a.dispose(),delete n.traces[v[o]]}n.glplot.objects.sort(function(ae,_e){return ae._trace.data.index-_e._trace.data.index});var x=[[0,0,0],[0,0,0]],b=[],p={};for(o=0;o<3;++o){l=c[GE[o]],u=l.type,u in p?(p[u].acc*=d[o],p[u].count+=1):p[u]={acc:d[o],count:1};var E;if(l.autorange){x[0][o]=1/0,x[1][o]=-1/0;var k=n.glplot.objects,A=n.fullSceneLayout.annotations||[],L=l._name.charAt(0);for(s=0;s<k.length;s++){var _=k[s],C=_.bounds,M=_._trace.data._pad||0;_.constructor.name===\"ErrorBars\"&&l._lowerLogErrorBound?x[0][o]=Math.min(x[0][o],l._lowerLogErrorBound):x[0][o]=Math.min(x[0][o],C[0][o]/d[o]-M),x[1][o]=Math.max(x[1][o],C[1][o]/d[o]+M)}for(s=0;s<A.length;s++){var g=A[s];if(g.visible){var P=l.r2l(g[L]);x[0][o]=Math.min(x[0][o],P),x[1][o]=Math.max(x[1][o],P)}}if(\"rangemode\"in l&&l.rangemode===\"tozero\"&&(x[0][o]=Math.min(x[0][o],0),x[1][o]=Math.max(x[1][o],0)),x[0][o]>x[1][o])x[0][o]=-1,x[1][o]=1;else{var T=x[1][o]-x[0][o];x[0][o]-=T/32,x[1][o]+=T/32}if(E=[x[0][o],x[1][o]],E=kPt(E,l),x[0][o]=E[0],x[1][o]=E[1],l.isReversed()){var F=x[0][o];x[0][o]=x[1][o],x[1][o]=F}}else E=l.range,x[0][o]=l.r2l(E[0]),x[1][o]=l.r2l(E[1]);x[0][o]===x[1][o]&&(x[0][o]-=1,x[1][o]+=1),b[o]=x[1][o]-x[0][o],l.range=[x[0][o],x[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*d[o],max:l.range[1]*d[o]})}var q,V=c.aspectmode;if(V===\"cube\")q=[1,1,1];else if(V===\"manual\"){var H=c.aspectratio;q=[H.x,H.y,H.z]}else if(V===\"auto\"||V===\"data\"){var X=[1,1,1];for(o=0;o<3;++o){l=c[GE[o]],u=l.type;var G=p[u];X[o]=Math.pow(G.acc,1/G.count)/d[o]}V===\"data\"||Math.max.apply(null,X)/Math.min.apply(null,X)<=4?q=X:q=[1,1,1]}else throw new Error(\"scene.js aspectRatio was not one of the enumerated types\");c.aspectratio.x=f.aspectratio.x=q[0],c.aspectratio.y=f.aspectratio.y=q[1],c.aspectratio.z=f.aspectratio.z=q[2],n.glplot.setAspectratio(c.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=c.aspectmode);var N=c.domain||null,W=t._size||null;if(N&&W){var re=n.container.style;re.position=\"absolute\",re.left=W.l+N.x[0]*W.w+\"px\",re.top=W.t+(1-N.y[1])*W.h+\"px\",re.width=W.w*(N.x[1]-N.x[0])+\"px\",re.height=W.h*(N.y[1]-N.y[0])+\"px\"}n.glplot.redraw()}};wv.destroy=function(){var e=this;e.glplot&&(e.camera.mouseListener.enabled=!1,e.container.removeEventListener(\"wheel\",e.camera.wheelListener),e.camera=null,e.glplot.dispose(),e.container.parentNode.removeChild(e.container),e.glplot=null)};function PPt(e){return[[e.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]]}function IPt(e){return{up:{x:e.up[0],y:e.up[1],z:e.up[2]},center:{x:e.center[0],y:e.center[1],z:e.center[2]},eye:{x:e.eye[0],y:e.eye[1],z:e.eye[2]},projection:{type:e._ortho===!0?\"orthographic\":\"perspective\"}}}wv.getCamera=function(){var e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),IPt(e.camera)};wv.setViewport=function(e){var t=this,r=e.camera;t.camera.lookAt.apply(this,PPt(r)),t.glplot.setAspectratio(e.aspectratio);var n=r.projection.type===\"orthographic\",i=t.camera._ortho;n!==i&&(t.glplot.redraw(),t.glplot.clearRGBA(),t.glplot.dispose(),t.initializeGLPlot())};wv.isCameraChanged=function(e){var t=this,r=t.getCamera(),n=up.nestedProperty(e,t.id+\".camera\"),i=n.get();function a(u,c,f,h){var d=[\"up\",\"center\",\"eye\"],v=[\"x\",\"y\",\"z\"];return c[d[f]]&&u[d[f]][v[h]]===c[d[f]][v[h]]}var o=!1;if(i===void 0)o=!0;else{for(var s=0;s<3;s++)for(var l=0;l<3;l++)if(!a(r,i,s,l)){o=!0;break}(!i.projection||r.projection&&r.projection.type!==i.projection.type)&&(o=!0)}return o};wv.isAspectChanged=function(e){var t=this,r=t.glplot.getAspectratio(),n=up.nestedProperty(e,t.id+\".aspectratio\"),i=n.get();return i===void 0||i.x!==r.x||i.y!==r.y||i.z!==r.z};wv.saveLayout=function(e){var t=this,r=t.fullLayout,n,i,a,o,s,l,u=t.isCameraChanged(e),c=t.isAspectChanged(e),f=u||c;if(f){var h={};if(u&&(n=t.getCamera(),i=up.nestedProperty(e,t.id+\".camera\"),a=i.get(),h[t.id+\".camera\"]=a),c&&(o=t.glplot.getAspectratio(),s=up.nestedProperty(e,t.id+\".aspectratio\"),l=s.get(),h[t.id+\".aspectratio\"]=l),JD.call(\"_storeDirectGUIEdit\",e,r._preGUI,h),u){i.set(n);var d=up.nestedProperty(r,t.id+\".camera\");d.set(n)}if(c){s.set(o);var v=up.nestedProperty(r,t.id+\".aspectratio\");v.set(o),t.glplot.redraw()}}return f};wv.updateFx=function(e,t){var r=this,n=r.camera;if(n)if(e===\"orbit\")n.mode=\"orbit\",n.keyBindingMode=\"rotate\";else if(e===\"turntable\"){n.up=[0,0,1],n.mode=\"turntable\",n.keyBindingMode=\"rotate\";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,u=o.up.z;if(u/Math.sqrt(s*s+l*l+u*u)<.999){var c=r.id+\".camera.up\",f={x:0,y:0,z:1},h={};h[c]=f;var d=i.layout;JD.call(\"_storeDirectGUIEdit\",d,a._preGUI,h),o.up=f,up.nestedProperty(d,c).set(f)}}else n.keyBindingMode=e;r.fullSceneLayout.hovermode=t};function RPt(e,t,r){for(var n=0,i=r-1;n<i;++n,--i)for(var a=0;a<t;++a)for(var o=0;o<4;++o){var s=4*(t*n+a)+o,l=4*(t*i+a)+o,u=e[s];e[s]=e[l],e[l]=u}}function DPt(e,t,r){for(var n=0;n<r;++n)for(var i=0;i<t;++i){var a=4*(t*n+i),o=e[a+3];if(o>0)for(var s=255/o,l=0;l<3;++l)e[a+l]=Math.min(s*e[a+l],255)}}wv.toImage=function(e){var t=this;e||(e=\"png\"),t.staticMode&&t.container.appendChild(HE),t.glplot.redraw();var r=t.glplot.gl,n=r.drawingBufferWidth,i=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var a=new Uint8Array(n*i*4);r.readPixels(0,0,n,i,r.RGBA,r.UNSIGNED_BYTE,a),RPt(a,n,i),DPt(a,n,i);var o=document.createElement(\"canvas\");o.width=n,o.height=i;var s=o.getContext(\"2d\",{willReadFrequently:!0}),l=s.createImageData(n,i);l.data.set(a),s.putImageData(l,0,0);var u;switch(e){case\"jpeg\":u=o.toDataURL(\"image/jpeg\");break;case\"webp\":u=o.toDataURL(\"image/webp\");break;default:u=o.toDataURL(\"image/png\")}return t.staticMode&&t.container.removeChild(HE),u};wv.setConvert=function(){for(var e=this,t=0;t<3;t++){var r=e.fullSceneLayout[GE[t]];$D.setConvert(r,e.fullLayout),r.setScale=up.noop}};wv.make4thDimension=function(){var e=this,t=e.graphDiv,r=t._fullLayout;e._mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},$D.setConvert(e._mockAxis,r)};gPe.exports=pPe});var _Pe=ye((Svr,yPe)=>{\"use strict\";yPe.exports={scene:{valType:\"subplotid\",dflt:\"scene\",editType:\"calc+clearAxisTypes\"}}});var mZ=ye((Mvr,xPe)=>{\"use strict\";var zPt=va(),cs=Cd(),gZ=no().extendFlat,FPt=Bu().overrideAll;xPe.exports=FPt({visible:cs.visible,showspikes:{valType:\"boolean\",dflt:!0},spikesides:{valType:\"boolean\",dflt:!0},spikethickness:{valType:\"number\",min:0,dflt:2},spikecolor:{valType:\"color\",dflt:zPt.defaultLine},showbackground:{valType:\"boolean\",dflt:!1},backgroundcolor:{valType:\"color\",dflt:\"rgba(204, 204, 204, 0.5)\"},showaxeslabels:{valType:\"boolean\",dflt:!0},color:cs.color,categoryorder:cs.categoryorder,categoryarray:cs.categoryarray,title:{text:cs.title.text,font:cs.title.font},type:gZ({},cs.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autotypenumbers:cs.autotypenumbers,autorange:cs.autorange,autorangeoptions:{minallowed:cs.autorangeoptions.minallowed,maxallowed:cs.autorangeoptions.maxallowed,clipmin:cs.autorangeoptions.clipmin,clipmax:cs.autorangeoptions.clipmax,include:cs.autorangeoptions.include,editType:\"plot\"},rangemode:cs.rangemode,minallowed:cs.minallowed,maxallowed:cs.maxallowed,range:gZ({},cs.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],anim:!1}),tickmode:cs.minor.tickmode,nticks:cs.nticks,tick0:cs.tick0,dtick:cs.dtick,tickvals:cs.tickvals,ticktext:cs.ticktext,ticks:cs.ticks,mirror:cs.mirror,ticklen:cs.ticklen,tickwidth:cs.tickwidth,tickcolor:cs.tickcolor,showticklabels:cs.showticklabels,labelalias:cs.labelalias,tickfont:cs.tickfont,tickangle:cs.tickangle,tickprefix:cs.tickprefix,showtickprefix:cs.showtickprefix,ticksuffix:cs.ticksuffix,showticksuffix:cs.showticksuffix,showexponent:cs.showexponent,exponentformat:cs.exponentformat,minexponent:cs.minexponent,separatethousands:cs.separatethousands,tickformat:cs.tickformat,tickformatstops:cs.tickformatstops,hoverformat:cs.hoverformat,showline:cs.showline,linecolor:cs.linecolor,linewidth:cs.linewidth,showgrid:cs.showgrid,gridcolor:gZ({},cs.gridcolor,{dflt:\"rgb(204, 204, 204)\"}),gridwidth:cs.gridwidth,zeroline:cs.zeroline,zerolinecolor:cs.zerolinecolor,zerolinewidth:cs.zerolinewidth},\"plot\",\"from-root\")});var bZ=ye((Evr,bPe)=>{\"use strict\";var yZ=mZ(),qPt=Ju().attributes,_Z=no().extendFlat,OPt=Mr().counterRegex;function xZ(e,t,r){return{x:{valType:\"number\",dflt:e,editType:\"camera\"},y:{valType:\"number\",dflt:t,editType:\"camera\"},z:{valType:\"number\",dflt:r,editType:\"camera\"},editType:\"camera\"}}bPe.exports={_arrayAttrRegexps:[OPt(\"scene\",\".annotations\",!0)],bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"plot\"},camera:{up:_Z(xZ(0,0,1),{}),center:_Z(xZ(0,0,0),{}),eye:_Z(xZ(1.25,1.25,1.25),{}),projection:{type:{valType:\"enumerated\",values:[\"perspective\",\"orthographic\"],dflt:\"perspective\",editType:\"calc\"},editType:\"calc\"},editType:\"camera\"},domain:qPt({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:yZ,yaxis:yZ,zaxis:yZ,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\"}});var SPe=ye((kvr,APe)=>{\"use strict\";var BPt=id().mix,wPe=Mr(),NPt=Vs(),UPt=mZ(),VPt=yU(),HPt=JM(),TPe=[\"xaxis\",\"yaxis\",\"zaxis\"],GPt=100*136/187;APe.exports=function(t,r,n){var i,a;function o(u,c){return wPe.coerce(i,a,UPt,u,c)}for(var s=0;s<TPe.length;s++){var l=TPe[s];i=t[l]||{},a=NPt.newContainer(r,l),a._id=l[0]+n.scene,a._name=l,VPt(i,a,o,n),HPt(i,a,o,{font:n.font,letter:l[0],data:n.data,showGrid:!0,noAutotickangles:!0,noTicklabelindex:!0,noTickson:!0,noTicklabelmode:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,noTicklabelstep:!0,noTicklabelposition:!0,noTicklabeloverflow:!0,noInsiderange:!0,bgColor:n.bgColor,calendar:n.calendar},n.fullLayout),o(\"gridcolor\",BPt(a.color,n.bgColor,GPt).toRgbString()),o(\"title.text\",l[0]),a.setScale=wPe.noop,o(\"showspikes\")&&(o(\"spikesides\"),o(\"spikethickness\"),o(\"spikecolor\",a.color)),o(\"showaxeslabels\"),o(\"showbackground\")&&o(\"backgroundcolor\")}}});var CPe=ye((Cvr,kPe)=>{\"use strict\";var jPt=Mr(),WPt=va(),ZPt=ba(),XPt=C_(),YPt=SPe(),MPe=bZ(),KPt=kd().getSubplotData,EPe=\"gl3d\";kPe.exports=function(t,r,n){var i=r._basePlotModules.length>1;function a(o){if(!i){var s=jPt.validate(t[o],MPe[o]);if(s)return t[o]}}XPt(t,r,n,{type:EPe,attributes:MPe,handleDefaults:JPt,fullLayout:r,font:r.font,fullData:n,getDfltFromLayout:a,autotypenumbersDflt:r.autotypenumbers,paper_bgcolor:r.paper_bgcolor,calendar:r.calendar})};function JPt(e,t,r,n){for(var i=r(\"bgcolor\"),a=WPt.combine(i,n.paper_bgcolor),o=[\"up\",\"center\",\"eye\"],s=0;s<o.length;s++)r(\"camera.\"+o[s]+\".x\"),r(\"camera.\"+o[s]+\".y\"),r(\"camera.\"+o[s]+\".z\");r(\"camera.projection.type\");var l=!!r(\"aspectratio.x\")&&!!r(\"aspectratio.y\")&&!!r(\"aspectratio.z\"),u=l?\"manual\":\"auto\",c=r(\"aspectmode\",u);l||(e.aspectratio=t.aspectratio={x:1,y:1,z:1},c===\"manual\"&&(t.aspectmode=\"auto\"),e.aspectmode=t.aspectmode);var f=KPt(n.fullData,EPe,n.id);YPt(e,t,{font:n.font,scene:n.id,data:f,bgColor:a,calendar:n.calendar,autotypenumbersDflt:n.autotypenumbersDflt,fullLayout:n.fullLayout}),ZPt.getComponentMethod(\"annotations3d\",\"handleDefaults\")(e,t,n);var h=n.getDfltFromLayout(\"dragmode\");if(h!==!1&&!h)if(h=\"orbit\",e.camera&&e.camera.up){var d=e.camera.up.x,v=e.camera.up.y,x=e.camera.up.z;x!==0&&(!d||!v||!x||x/Math.sqrt(d*d+v*v+x*x)>.999)&&(h=\"turntable\")}else h=\"turntable\";r(\"dragmode\",h),r(\"hovermode\",n.getDfltFromLayout(\"hovermode\"))}});var Q_=ye(cp=>{\"use strict\";var $Pt=Bu().overrideAll,QPt=N1(),eIt=mPe(),tIt=kd().getSubplotData,rIt=Mr(),iIt=Zp(),O5=\"gl3d\",wZ=\"scene\";cp.name=O5;cp.attr=wZ;cp.idRoot=wZ;cp.idRegex=cp.attrRegex=rIt.counterRegex(\"scene\");cp.attributes=_Pe();cp.layoutAttributes=bZ();cp.baseLayoutAttrOverrides=$Pt({hoverlabel:QPt.hoverlabel},\"plot\",\"nested\");cp.supplyLayoutDefaults=CPe();cp.plot=function(t){for(var r=t._fullLayout,n=t._fullData,i=r._subplots[O5],a=0;a<i.length;a++){var o=i[a],s=tIt(n,O5,o),l=r[o],u=l.camera,c=l._scene;c||(c=new eIt({id:o,graphDiv:t,container:t.querySelector(\".gl-container\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio,camera:u},r),l._scene=c),c.viewInitial||(c.viewInitial={up:{x:u.up.x,y:u.up.y,z:u.up.z},eye:{x:u.eye.x,y:u.eye.y,z:u.eye.z},center:{x:u.center.x,y:u.center.y,z:u.center.z}}),c.plot(s,r,t.layout)}};cp.clean=function(e,t,r,n){for(var i=n._subplots[O5]||[],a=0;a<i.length;a++){var o=i[a];!t[o]&&n[o]._scene&&(n[o]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(\".annotation-\"+o).remove())}};cp.toSVG=function(e){for(var t=e._fullLayout,r=t._subplots[O5],n=t._size,i=0;i<r.length;i++){var a=t[r[i]],o=a.domain,s=a._scene,l=s.toImage(\"png\"),u=t._glimages.append(\"svg:image\");u.attr({xmlns:iIt.svg,\"xlink:href\":l,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"}),s.destroy()}};cp.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var r=t.substr(5);return r===\"1\"&&(r=\"\"),wZ+r}};cp.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[O5],n=0;n<r.length;n++){var i=t[r[n]]._scene;i.updateFx(t.dragmode,t.hovermode)}}});var PPe=ye((Pvr,LPe)=>{\"use strict\";LPe.exports={plot:ULe(),attributes:dZ(),markerSymbols:ZD(),supplyDefaults:ZLe(),colorbar:[{container:\"marker\",min:\"cmin\",max:\"cmax\"},{container:\"line\",min:\"cmin\",max:\"cmax\"}],calc:YLe(),moduleType:\"trace\",name:\"scatter3d\",basePlotModule:Q_(),categories:[\"gl3d\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var RPe=ye((Ivr,IPe)=>{\"use strict\";IPe.exports=PPe()});var jE=ye((Rvr,FPe)=>{\"use strict\";var DPe=va(),nIt=Jl(),TZ=Oc().axisHoverFormat,aIt=Wo().hovertemplateAttrs,zPe=vl(),AZ=no().extendFlat,oIt=Bu().overrideAll;function SZ(e){return{valType:\"boolean\",dflt:!1}}function MZ(e){return{show:{valType:\"boolean\",dflt:!1},start:{valType:\"number\",dflt:null,editType:\"plot\"},end:{valType:\"number\",dflt:null,editType:\"plot\"},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\"},project:{x:SZ(\"x\"),y:SZ(\"y\"),z:SZ(\"z\")},color:{valType:\"color\",dflt:DPe.defaultLine},usecolormap:{valType:\"boolean\",dflt:!1},width:{valType:\"number\",min:1,max:16,dflt:2},highlight:{valType:\"boolean\",dflt:!0},highlightcolor:{valType:\"color\",dflt:DPe.defaultLine},highlightwidth:{valType:\"number\",min:1,max:16,dflt:2}}}var EZ=FPe.exports=oIt(AZ({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:aIt(),xhoverformat:TZ(\"x\"),yhoverformat:TZ(\"y\"),zhoverformat:TZ(\"z\"),connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},surfacecolor:{valType:\"data_array\"}},nIt(\"\",{colorAttr:\"z or surfacecolor\",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:\"calc\"}),{contours:{x:MZ(\"x\"),y:MZ(\"y\"),z:MZ(\"z\")},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\"},hoverinfo:AZ({},zPe.hoverinfo),showlegend:AZ({},zPe.showlegend,{dflt:!1})}),\"calc\",\"nested\");EZ.x.editType=EZ.y.editType=EZ.z.editType=\"calc+clearAxisTypes\"});var CZ=ye((Dvr,BPe)=>{\"use strict\";var sIt=ba(),qPe=Mr(),lIt=Uh(),uIt=jE(),kZ=.1;function cIt(e,t){for(var r=[],n=32,i=0;i<n;i++){var a=i/(n-1),o=t+(1-t)*(1-Math.pow(Math.sin(e*a*Math.PI),2));r.push([a,Math.max(0,Math.min(1,o))])}return r}function fIt(e){var t=0;if(!Array.isArray(e)||e.length<2||!e[0]||!e[e.length-1]||+e[0][0]!=0||+e[e.length-1][0]!=1)return!1;for(var r=0;r<e.length;r++){var n=e[r];if(n.length!==2||+n[0]<t)return!1;t=+n[0]}return!0}function hIt(e,t,r,n){var i,a;function o(b,p){return qPe.coerce(e,t,uIt,b,p)}var s=o(\"x\"),l=o(\"y\"),u=o(\"z\");if(!u||!u.length||s&&s.length<1||l&&l.length<1){t.visible=!1;return}t._xlength=Array.isArray(s)&&qPe.isArrayOrTypedArray(s[0])?u.length:u[0].length,t._ylength=u.length;var c=sIt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");c(e,t,[\"x\",\"y\",\"z\"],n),o(\"text\"),o(\"hovertext\"),o(\"hovertemplate\"),o(\"xhoverformat\"),o(\"yhoverformat\"),o(\"zhoverformat\"),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"hidesurface\",\"connectgaps\",\"opacity\"].forEach(function(b){o(b)});var f=o(\"surfacecolor\"),h=[\"x\",\"y\",\"z\"];for(i=0;i<3;++i){var d=\"contours.\"+h[i],v=o(d+\".show\"),x=o(d+\".highlight\");if(v||x)for(a=0;a<3;++a)o(d+\".project.\"+h[a]);v&&(o(d+\".color\"),o(d+\".width\"),o(d+\".usecolormap\")),x&&(o(d+\".highlightcolor\"),o(d+\".highlightwidth\")),o(d+\".start\"),o(d+\".end\"),o(d+\".size\")}lIt(e,t,n,o,{prefix:\"\",cLetter:\"c\"}),OPe(e,t,n,o),t._length=null}function OPe(e,t,r,n){var i=n(\"opacityscale\");i===\"max\"?t.opacityscale=[[0,kZ],[1,1]]:i===\"min\"?t.opacityscale=[[0,1],[1,kZ]]:i===\"extremes\"?t.opacityscale=cIt(1,kZ):fIt(i)||(t.opacityscale=void 0)}BPe.exports={supplyDefaults:hIt,opacityscaleDefaults:OPe}});var VPe=ye((zvr,UPe)=>{\"use strict\";var NPe=zv();UPe.exports=function(t,r){r.surfacecolor?NPe(t,r,{vals:r.surfacecolor,containerStr:\"\",cLetter:\"c\"}):NPe(t,r,{vals:r.z,containerStr:\"\",cLetter:\"c\"})}});var XPe=ye((Fvr,ZPe)=>{\"use strict\";var dIt=Rd().gl_surface3d,B5=Rd().ndarray,vIt=Rd().ndarray_linear_interpolate.d2,pIt=e8(),gIt=t8(),WE=Mr().isArrayOrTypedArray,mIt=$y().parseColorScale,HPe=Jy(),yIt=Mu().extractOpts;function jPe(e,t,r){this.scene=e,this.uid=r,this.surface=t,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var Jg=jPe.prototype;Jg.getXat=function(e,t,r,n){var i=WE(this.data.x)?WE(this.data.x[0])?this.data.x[t][e]:this.data.x[e]:e;return r===void 0?i:n.d2l(i,0,r)};Jg.getYat=function(e,t,r,n){var i=WE(this.data.y)?WE(this.data.y[0])?this.data.y[t][e]:this.data.y[t]:t;return r===void 0?i:n.d2l(i,0,r)};Jg.getZat=function(e,t,r,n){var i=this.data.z[t][e];return i===null&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[t][e]),r===void 0?i:n.d2l(i,0,r)};Jg.handlePick=function(e){if(e.object===this.surface){var t=(e.data.index[0]-1)/this.dataScaleX-1,r=(e.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(t),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);e.index=[n,i],e.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],e.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){var o=e.dataCoordinate[a];o!=null&&(e.dataCoordinate[a]*=this.scene.dataScale[a])}var s=this.data.hovertext||this.data.text;return WE(s)&&s[i]&&s[i][n]!==void 0?e.textLabel=s[i][n]:s?e.textLabel=s:e.textLabel=\"\",e.data.dataCoordinate=e.dataCoordinate.slice(),this.surface.highlight(e.data),this.scene.glplot.spikes.position=e.dataCoordinate,!0}};function _It(e){var t=e[0].rgb,r=e[e.length-1].rgb;return t[0]===r[0]&&t[1]===r[1]&&t[2]===r[2]&&t[3]===r[3]}var N5=[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 xIt(e,t){if(e<t)return 0;for(var r=0;Math.floor(e%t)===0;)e/=t,r++;return r}function LZ(e){for(var t=[],r=0;r<N5.length;r++){var n=N5[r];t.push(xIt(e,n))}return t}function bIt(e){for(var t=LZ(e),r=e,n=0;n<N5.length;n++)if(t[n]>0){r=N5[n];break}return r}function wIt(e,t){if(!(e<1||t<1)){for(var r=LZ(e),n=LZ(t),i=1,a=0;a<N5.length;a++)i*=Math.pow(N5[a],Math.max(r[a],n[a]));return i}}function TIt(e){if(e.length!==0){for(var t=1,r=0;r<e.length;r++)t=wIt(t,e[r]);return t}}Jg.calcXnums=function(e){var t,r=[];for(t=1;t<e;t++){var n=this.getXat(t-1,0),i=this.getXat(t,0);i!==n&&n!==void 0&&n!==null&&i!==void 0&&i!==null?r[t-1]=Math.abs(i-n):r[t-1]=0}var a=0;for(t=1;t<e;t++)a+=r[t-1];for(t=1;t<e;t++)r[t-1]===0?r[t-1]=1:r[t-1]=Math.round(a/r[t-1]);return r};Jg.calcYnums=function(e){var t,r=[];for(t=1;t<e;t++){var n=this.getYat(0,t-1),i=this.getYat(0,t);i!==n&&n!==void 0&&n!==null&&i!==void 0&&i!==null?r[t-1]=Math.abs(i-n):r[t-1]=0}var a=0;for(t=1;t<e;t++)a+=r[t-1];for(t=1;t<e;t++)r[t-1]===0?r[t-1]=1:r[t-1]=Math.round(a/r[t-1]);return r};var WPe=[1,2,4,6,12,24,36,48,60,120,180,240,360,720,840,1260],GPe=WPe[9],QD=WPe[13];Jg.estimateScale=function(e,t){for(var r=t===0?this.calcXnums(e):this.calcYnums(e),n=1+TIt(r);n<GPe;)n*=2;for(;n>QD;)n--,n/=bIt(n),n++,n<GPe&&(n=QD);var i=Math.round(n/e);return i>1?i:1};function AIt(e,t,r){var n=r[8]+r[2]*t[0]+r[5]*t[1];return e[0]=(r[6]+r[0]*t[0]+r[3]*t[1])/n,e[1]=(r[7]+r[1]*t[0]+r[4]*t[1])/n,e}function SIt(e,t,r){return MIt(e,t,AIt,r),e}function MIt(e,t,r,n){for(var i=[0,0],a=e.shape[0],o=e.shape[1],s=0;s<a;s++)for(var l=0;l<o;l++)r(i,[s,l],n),e.set(s,l,vIt(t,i[0],i[1]));return e}Jg.refineCoords=function(e){for(var t=this.dataScaleX,r=this.dataScaleY,n=e[0].shape[0],i=e[0].shape[1],a=Math.floor(e[0].shape[0]*t+1)|0,o=Math.floor(e[0].shape[1]*r+1)|0,s=1+n+1,l=1+i+1,u=B5(new Float32Array(s*l),[s,l]),c=[1/t,0,0,0,1/r,0,0,0,1],f=0;f<e.length;++f){this.surface.padField(u,e[f]);var h=B5(new Float32Array(a*o),[a,o]);SIt(h,u,c),e[f]=h}};function EIt(e,t){for(var r=!1,n=0;n<e.length;n++)if(t===e[n]){r=!0;break}r===!1&&e.push(t)}Jg.setContourLevels=function(){var e=[[],[],[]],t=[!1,!1,!1],r=!1,n,i,a;for(n=0;n<3;++n)if(this.showContour[n]&&(r=!0,this.contourSize[n]>0&&this.contourStart[n]!==null&&this.contourEnd[n]!==null&&this.contourEnd[n]>this.contourStart[n]))for(t[n]=!0,i=this.contourStart[n];i<this.contourEnd[n];i+=this.contourSize[n])a=i*this.scene.dataScale[n],EIt(e[n],a);if(r){var o=[[],[],[]];for(n=0;n<3;++n)this.showContour[n]&&(o[n]=t[n]?e[n]:this.scene.contourLevels[n]);this.surface.update({levels:o})}};Jg.update=function(e){var t=this.scene,r=t.fullSceneLayout,n=this.surface,i=mIt(e),a=t.dataScale,o=e.z[0].length,s=e._ylength,l=t.contourLevels;this.data=e;var u,c,f,h,d=[];for(u=0;u<3;u++)for(d[u]=[],c=0;c<o;c++)d[u][c]=[];for(c=0;c<o;c++)for(f=0;f<s;f++)d[0][c][f]=this.getXat(c,f,e.xcalendar,r.xaxis),d[1][c][f]=this.getYat(c,f,e.ycalendar,r.yaxis),d[2][c][f]=this.getZat(c,f,e.zcalendar,r.zaxis);if(e.connectgaps)for(e._emptypoints=gIt(d[2]),pIt(d[2],e._emptypoints),e._interpolatedZ=[],c=0;c<o;c++)for(e._interpolatedZ[c]=[],f=0;f<s;f++)e._interpolatedZ[c][f]=d[2][c][f];for(u=0;u<3;u++)for(c=0;c<o;c++)for(f=0;f<s;f++)h=d[u][c][f],h==null?d[u][c][f]=NaN:h=d[u][c][f]*=a[u];for(u=0;u<3;u++)for(c=0;c<o;c++)for(f=0;f<s;f++)h=d[u][c][f],h!=null&&(this.minValues[u]>h&&(this.minValues[u]=h),this.maxValues[u]<h&&(this.maxValues[u]=h));for(u=0;u<3;u++)this.objectOffset[u]=.5*(this.minValues[u]+this.maxValues[u]);for(u=0;u<3;u++)for(c=0;c<o;c++)for(f=0;f<s;f++)h=d[u][c][f],h!=null&&(d[u][c][f]-=this.objectOffset[u]);var v=[B5(new Float32Array(o*s),[o,s]),B5(new Float32Array(o*s),[o,s]),B5(new Float32Array(o*s),[o,s])];for(u=0;u<3;u++)for(c=0;c<o;c++)for(f=0;f<s;f++)v[u].set(c,f,d[u][c][f]);d=[];var x={colormap:i,levels:[[],[],[]],showContour:[!0,!0,!0],showSurface:!e.hidesurface,contourProject:[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],contourWidth:[1,1,1],contourColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],contourTint:[1,1,1],dynamicColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],dynamicWidth:[1,1,1],dynamicTint:[1,1,1],opacityscale:e.opacityscale,opacity:e.opacity},b=yIt(e);if(x.intensityBounds=[b.min,b.max],e.surfacecolor){var p=B5(new Float32Array(o*s),[o,s]);for(c=0;c<o;c++)for(f=0;f<s;f++)p.set(c,f,e.surfacecolor[f][c]);v.push(p)}else x.intensityBounds[0]*=a[2],x.intensityBounds[1]*=a[2];(QD<v[0].shape[0]||QD<v[0].shape[1])&&(this.refineData=!1),this.refineData===!0&&(this.dataScaleX=this.estimateScale(v[0].shape[0],0),this.dataScaleY=this.estimateScale(v[0].shape[1],1),(this.dataScaleX!==1||this.dataScaleY!==1)&&this.refineCoords(v)),e.surfacecolor&&(x.intensity=v.pop());var E=[!0,!0,!0],k=[\"x\",\"y\",\"z\"];for(u=0;u<3;++u){var A=e.contours[k[u]];E[u]=A.highlight,x.showContour[u]=A.show||A.highlight,x.showContour[u]&&(x.contourProject[u]=[A.project.x,A.project.y,A.project.z],A.show?(this.showContour[u]=!0,x.levels[u]=l[u],n.highlightColor[u]=x.contourColor[u]=HPe(A.color),A.usecolormap?n.highlightTint[u]=x.contourTint[u]=0:n.highlightTint[u]=x.contourTint[u]=1,x.contourWidth[u]=A.width,this.contourStart[u]=A.start,this.contourEnd[u]=A.end,this.contourSize[u]=A.size):(this.showContour[u]=!1,this.contourStart[u]=null,this.contourEnd[u]=null,this.contourSize[u]=0),A.highlight&&(x.dynamicColor[u]=HPe(A.highlightcolor),x.dynamicWidth[u]=A.highlightwidth))}_It(i)&&(x.vertexColor=!0),x.objectOffset=this.objectOffset,x.coords=v,n.update(x),n.visible=e.visible,n.enableDynamic=E,n.enableHighlight=E,n.snapToData=!0,\"lighting\"in e&&(n.ambientLight=e.lighting.ambient,n.diffuseLight=e.lighting.diffuse,n.specularLight=e.lighting.specular,n.roughness=e.lighting.roughness,n.fresnel=e.lighting.fresnel),\"lightposition\"in e&&(n.lightPosition=[e.lightposition.x,e.lightposition.y,e.lightposition.z])};Jg.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()};function kIt(e,t){var r=e.glplot.gl,n=dIt({gl:r}),i=new jPe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}ZPe.exports=kIt});var KPe=ye((qvr,YPe)=>{\"use strict\";YPe.exports={attributes:jE(),supplyDefaults:CZ().supplyDefaults,colorbar:{min:\"cmin\",max:\"cmax\"},calc:VPe(),plot:XPe(),moduleType:\"trace\",name:\"surface\",basePlotModule:Q_(),categories:[\"gl3d\",\"2dMap\",\"showLegend\"],meta:{}}});var $Pe=ye((Ovr,JPe)=>{\"use strict\";JPe.exports=KPe()});var U5=ye((Bvr,eIe)=>{\"use strict\";var CIt=Jl(),PZ=Oc().axisHoverFormat,LIt=Wo().hovertemplateAttrs,ex=jE(),QPe=vl(),tx=no().extendFlat;eIe.exports=tx({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:LIt({editType:\"calc\"}),xhoverformat:PZ(\"x\"),yhoverformat:PZ(\"y\"),zhoverformat:PZ(\"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\"}},CIt(\"\",{colorAttr:\"`intensity`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:ex.opacity,flatshading:{valType:\"boolean\",dflt:!1,editType:\"calc\"},contour:{show:tx({},ex.contours.x.show,{}),color:ex.contours.x.color,width:ex.contours.x.width,editType:\"calc\"},lightposition:{x:tx({},ex.lightposition.x,{dflt:1e5}),y:tx({},ex.lightposition.y,{dflt:1e5}),z:tx({},ex.lightposition.z,{dflt:0}),editType:\"calc\"},lighting:tx({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\"},ex.lighting),hoverinfo:tx({},QPe.hoverinfo,{editType:\"calc\"}),showlegend:tx({},QPe.showlegend,{dflt:!1})})});var tz=ye((Nvr,rIe)=>{\"use strict\";var PIt=Jl(),ez=Oc().axisHoverFormat,IIt=Wo().hovertemplateAttrs,ZE=U5(),tIe=vl(),IZ=no().extendFlat,RIt=Bu().overrideAll;function RZ(e){return{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}}}function DZ(e){return{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}}}var V5=rIe.exports=RIt(IZ({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:RZ(\"x\"),y:RZ(\"y\"),z:RZ(\"z\")},caps:{x:DZ(\"x\"),y:DZ(\"y\"),z:DZ(\"z\")},text:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertemplate:IIt(),xhoverformat:ez(\"x\"),yhoverformat:ez(\"y\"),zhoverformat:ez(\"z\"),valuehoverformat:ez(\"value\",1),showlegend:IZ({},tIe.showlegend,{dflt:!1})},PIt(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:ZE.opacity,lightposition:ZE.lightposition,lighting:ZE.lighting,flatshading:ZE.flatshading,contour:ZE.contour,hoverinfo:IZ({},tIe.hoverinfo)}),\"calc\",\"nested\");V5.flatshading.dflt=!0;V5.lighting.facenormalsepsilon.dflt=0;V5.x.editType=V5.y.editType=V5.z.editType=V5.value.editType=\"calc+clearAxisTypes\"});var zZ=ye((Uvr,nIe)=>{\"use strict\";var DIt=Mr(),zIt=ba(),FIt=tz(),qIt=Uh();function OIt(e,t,r,n){function i(a,o){return DIt.coerce(e,t,FIt,a,o)}iIe(e,t,r,n,i)}function iIe(e,t,r,n,i){var a=i(\"isomin\"),o=i(\"isomax\");o!=null&&a!==void 0&&a!==null&&a>o&&(t.isomin=null,t.isomax=null);var s=i(\"x\"),l=i(\"y\"),u=i(\"z\"),c=i(\"value\");if(!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length){t.visible=!1;return}var f=zIt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");f(e,t,[\"x\",\"y\",\"z\"],n),i(\"valuehoverformat\"),[\"x\",\"y\",\"z\"].forEach(function(x){i(x+\"hoverformat\");var b=\"caps.\"+x,p=i(b+\".show\");p&&i(b+\".fill\");var E=\"slices.\"+x,k=i(E+\".show\");k&&(i(E+\".fill\"),i(E+\".locations\"))});var h=i(\"spaceframe.show\");h&&i(\"spaceframe.fill\");var d=i(\"surface.show\");d&&(i(\"surface.count\"),i(\"surface.fill\"),i(\"surface.pattern\"));var v=i(\"contour.show\");v&&(i(\"contour.color\"),i(\"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(x){i(x)}),qIt(e,t,n,i,{prefix:\"\",cLetter:\"c\"}),t._length=null}nIe.exports={supplyDefaults:OIt,supplyIsoDefaults:iIe}});var rz=ye((Vvr,oIe)=>{\"use strict\";var qZ=Mr(),BIt=zv();function NIt(e,t){t._len=Math.min(t.u.length,t.v.length,t.w.length,t.x.length,t.y.length,t.z.length),t._u=Gm(t.u,t._len),t._v=Gm(t.v,t._len),t._w=Gm(t.w,t._len),t._x=Gm(t.x,t._len),t._y=Gm(t.y,t._len),t._z=Gm(t.z,t._len);var r=aIe(t);t._gridFill=r.fill,t._Xs=r.Xs,t._Ys=r.Ys,t._Zs=r.Zs,t._len=r.len;var n=0,i,a,o;t.starts&&(i=Gm(t.starts.x||[]),a=Gm(t.starts.y||[]),o=Gm(t.starts.z||[]),n=Math.min(i.length,a.length,o.length)),t._startsX=i||[],t._startsY=a||[],t._startsZ=o||[];var s=0,l=1/0,u;for(u=0;u<t._len;u++){var c=t._u[u],f=t._v[u],h=t._w[u],d=Math.sqrt(c*c+f*f+h*h);s=Math.max(s,d),l=Math.min(l,d)}for(BIt(e,t,{vals:[l,s],containerStr:\"\",cLetter:\"c\"}),u=0;u<n;u++){var v=i[u];r.xMax=Math.max(r.xMax,v),r.xMin=Math.min(r.xMin,v);var x=a[u];r.yMax=Math.max(r.yMax,x),r.yMin=Math.min(r.yMin,x);var b=o[u];r.zMax=Math.max(r.zMax,b),r.zMin=Math.min(r.zMin,b)}t._slen=n,t._normMax=s,t._xbnds=[r.xMin,r.xMax],t._ybnds=[r.yMin,r.yMax],t._zbnds=[r.zMin,r.zMax]}function aIe(e){var t=e._x,r=e._y,n=e._z,i=e._len,a,o,s,l=-1/0,u=1/0,c=-1/0,f=1/0,h=-1/0,d=1/0,v=\"\",x,b,p,E,k,A,L,_,C;for(i&&(E=t[0],A=r[0],_=n[0]),i>1&&(k=t[i-1],L=r[i-1],C=n[i-1]),a=0;a<i;a++)l=Math.max(l,t[a]),u=Math.min(u,t[a]),c=Math.max(c,r[a]),f=Math.min(f,r[a]),h=Math.max(h,n[a]),d=Math.min(d,n[a]),!x&&t[a]!==E&&(x=!0,v+=\"x\"),!b&&r[a]!==A&&(b=!0,v+=\"y\"),!p&&n[a]!==_&&(p=!0,v+=\"z\");x||(v+=\"x\"),b||(v+=\"y\"),p||(v+=\"z\");var M=FZ(e._x),g=FZ(e._y),P=FZ(e._z);v=v.replace(\"x\",(E>k?\"-\":\"+\")+\"x\"),v=v.replace(\"y\",(A>L?\"-\":\"+\")+\"y\"),v=v.replace(\"z\",(_>C?\"-\":\"+\")+\"z\");var T=function(){i=0,M=[],g=[],P=[]};(!i||i<M.length*g.length*P.length)&&T();var F=function(ze){return ze===\"x\"?t:ze===\"y\"?r:n},q=function(ze){return ze===\"x\"?M:ze===\"y\"?g:P},V=function(ze){return ze[i-1]<ze[0]?-1:1},H=F(v[1]),X=F(v[3]),G=F(v[5]),N=q(v[1]).length,W=q(v[3]).length,re=q(v[5]).length,ae=!1,_e=function(ze,Ce,me){return N*(W*ze+Ce)+me},Me=V(F(v[1])),ke=V(F(v[3])),ge=V(F(v[5]));for(a=0;a<re-1;a++){for(o=0;o<W-1;o++){for(s=0;s<N-1;s++){var ie=_e(a,o,s),Te=_e(a,o,s+1),Ee=_e(a,o+1,s),Ae=_e(a+1,o,s);if((!(H[ie]*Me<H[Te]*Me)||!(X[ie]*ke<X[Ee]*ke)||!(G[ie]*ge<G[Ae]*ge))&&(ae=!0),ae)break}if(ae)break}if(ae)break}return ae&&(qZ.warn(\"Encountered arbitrary coordinates! Unable to input data grid.\"),T()),{xMin:u,yMin:f,zMin:d,xMax:l,yMax:c,zMax:h,Xs:M,Ys:g,Zs:P,len:i,fill:v}}function FZ(e){return qZ.distinctVals(e).vals}function Gm(e,t){if(t===void 0&&(t=e.length),qZ.isTypedArray(e))return e.subarray(0,t);for(var r=[],n=0;n<t;n++)r[n]=+e[n];return r}oIe.exports={calc:NIt,filter:Gm,processGrid:aIe}});var OZ=ye((Hvr,sIe)=>{\"use strict\";var UIt=zv(),VIt=rz().processGrid,iz=rz().filter;sIe.exports=function(t,r){r._len=Math.min(r.x.length,r.y.length,r.z.length,r.value.length),r._x=iz(r.x,r._len),r._y=iz(r.y,r._len),r._z=iz(r.z,r._len),r._value=iz(r.value,r._len);var n=VIt(r);r._gridFill=n.fill,r._Xs=n.Xs,r._Ys=n.Ys,r._Zs=n.Zs,r._len=n.len;for(var i=1/0,a=-1/0,o=0;o<r._len;o++){var s=r._value[o];i=Math.min(i,s),a=Math.max(a,s)}r._minValues=i,r._maxValues=a,r._vMin=r.isomin===void 0||r.isomin===null?i:r.isomin,r._vMax=r.isomax===void 0||r.isomax===null?a:r.isomax,UIt(t,r,{vals:[r._vMin,r._vMax],containerStr:\"\",cLetter:\"c\"})}});var H5=ye((Gvr,lIe)=>{\"use strict\";lIe.exports=function(t,r,n,i){i=i||t.length;for(var a=new Array(i),o=0;o<i;o++)a[o]=[t[o],r[o],n[o]];return a}});var nz=ye((jvr,hIe)=>{\"use strict\";var HIt=Rd().gl_mesh3d,GIt=$y().parseColorScale,jIt=Mr().isArrayOrTypedArray,WIt=Jy(),ZIt=Mu().extractOpts,uIe=H5(),XE=function(e,t){for(var r=t.length-1;r>0;r--){var n=Math.min(t[r],t[r-1]),i=Math.max(t[r],t[r-1]);if(i>n&&n<e&&e<=i)return{id:r,distRatio:(i-e)/(i-n)}}return{id:0,distRatio:0}};function cIe(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name=\"\",this.data=null,this.showContour=!1}var BZ=cIe.prototype;BZ.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],i=this.data._meshZ[t],a=this.data._Ys.length,o=this.data._Zs.length,s=XE(r,this.data._Xs).id,l=XE(n,this.data._Ys).id,u=XE(i,this.data._Zs).id,c=e.index=u+o*l+o*a*s;e.traceCoordinate=[this.data._meshX[c],this.data._meshY[c],this.data._meshZ[c],this.data._value[c]];var f=this.data.hovertext||this.data.text;return jIt(f)&&f[c]!==void 0?e.textLabel=f[c]:f&&(e.textLabel=f),!0}};BZ.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=fIe(e);function n(l,u,c,f){return u.map(function(h){return l.d2l(h,0,f)*c})}var i=uIe(n(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),n(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),n(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),a=uIe(e._meshI,e._meshJ,e._meshK),o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,contourEnable:e.contour.show,contourColor:WIt(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},s=ZIt(e);o.vertexIntensity=e._meshIntensity,o.vertexIntensityBounds=[s.min,s.max],o.colormap=GIt(e),this.mesh.update(o)};BZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};var XIt=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"];function fIe(e){e._meshI=[],e._meshJ=[],e._meshK=[];var t=e.surface.show,r=e.spaceframe.show,n=e.surface.fill,i=e.spaceframe.fill,a=!1,o=!1,s=0,l,u,c=e._Xs,f=e._Ys,h=e._Zs,d=c.length,v=f.length,x=h.length,b=XIt.indexOf(e._gridFill.replace(/-/g,\"\").replace(/\\+/g,\"\")),p=function(bt,Lt,St){switch(b){case 5:return St+x*Lt+x*v*bt;case 4:return St+x*bt+x*d*Lt;case 3:return Lt+v*St+v*x*bt;case 2:return Lt+v*bt+v*d*St;case 1:return bt+d*St+d*x*Lt;default:return bt+d*Lt+d*v*St}},E=e._minValues,k=e._maxValues,A=e._vMin,L=e._vMax,_,C,M,g;function P(bt,Lt,St){for(var Et=g.length,dt=u;dt<Et;dt++)if(bt===_[dt]&&Lt===C[dt]&&St===M[dt])return dt;return-1}function T(){u=l}function F(){_=[],C=[],M=[],g=[],l=0,T()}function q(bt,Lt,St,Et){return _.push(bt),C.push(Lt),M.push(St),g.push(Et),l++,l-1}function V(bt,Lt,St){return e._meshI.push(bt),e._meshJ.push(Lt),e._meshK.push(St),s++,s-1}function H(bt,Lt,St){for(var Et=[],dt=0;dt<bt.length;dt++)Et[dt]=(bt[dt]+Lt[dt]+St[dt])/3;return Et}function X(bt,Lt,St){for(var Et=[],dt=0;dt<bt.length;dt++)Et[dt]=bt[dt]*(1-St)+St*Lt[dt];return Et}var G;function N(bt){G=bt}function W(bt,Lt){var St=bt[0],Et=bt[1],dt=bt[2],Ht=H(St,Et,dt),$t=Math.sqrt(1-G),fr=X(Ht,St,$t),_r=X(Ht,Et,$t),Br=X(Ht,dt,$t),Or=Lt[0],Nr=Lt[1],ut=Lt[2];return{xyzv:[[St,Et,_r],[_r,fr,St],[Et,dt,Br],[Br,_r,Et],[dt,St,fr],[fr,Br,dt]],abc:[[Or,Nr,-1],[-1,-1,Or],[Nr,ut,-1],[-1,-1,Nr],[ut,Or,-1],[-1,-1,ut]]}}function re(bt,Lt){return bt===\"all\"||bt===null?!0:bt.indexOf(Lt)>-1}function ae(bt,Lt){return bt===null?Lt:bt}function _e(bt,Lt,St){T();var Et=[Lt],dt=[St];if(G>=1)Et=[Lt],dt=[St];else if(G>0){var Ht=W(Lt,St);Et=Ht.xyzv,dt=Ht.abc}for(var $t=0;$t<Et.length;$t++){Lt=Et[$t],St=dt[$t];for(var fr=[],_r=0;_r<3;_r++){var Br=Lt[_r][0],Or=Lt[_r][1],Nr=Lt[_r][2],ut=Lt[_r][3],Ne=St[_r]>-1?St[_r]:P(Br,Or,Nr);Ne>-1?fr[_r]=Ne:fr[_r]=q(Br,Or,Nr,ae(bt,ut))}V(fr[0],fr[1],fr[2])}}function Me(bt,Lt,St){var Et=function(dt,Ht,$t){_e(bt,[Lt[dt],Lt[Ht],Lt[$t]],[St[dt],St[Ht],St[$t]])};Et(0,1,2),Et(2,3,0)}function ke(bt,Lt,St){var Et=function(dt,Ht,$t){_e(bt,[Lt[dt],Lt[Ht],Lt[$t]],[St[dt],St[Ht],St[$t]])};Et(0,1,2),Et(3,0,1),Et(2,3,0),Et(1,2,3)}function ge(bt,Lt,St,Et){var dt=bt[3];dt<St&&(dt=St),dt>Et&&(dt=Et);for(var Ht=(bt[3]-dt)/(bt[3]-Lt[3]+1e-9),$t=[],fr=0;fr<4;fr++)$t[fr]=(1-Ht)*bt[fr]+Ht*Lt[fr];return $t}function ie(bt,Lt,St){return bt>=Lt&&bt<=St}function Te(bt){var Lt=.001*(L-A);return bt>=A-Lt&&bt<=L+Lt}function Ee(bt){for(var Lt=[],St=0;St<4;St++){var Et=bt[St];Lt.push([e._x[Et],e._y[Et],e._z[Et],e._value[Et]])}return Lt}var Ae=3;function ze(bt,Lt,St,Et,dt,Ht){Ht||(Ht=1),St=[-1,-1,-1];var $t=!1,fr=[ie(Lt[0][3],Et,dt),ie(Lt[1][3],Et,dt),ie(Lt[2][3],Et,dt)];if(!fr[0]&&!fr[1]&&!fr[2])return!1;var _r=function(Or,Nr,ut){return Te(Nr[0][3])&&Te(Nr[1][3])&&Te(Nr[2][3])?(_e(Or,Nr,ut),!0):Ht<Ae?ze(Or,Nr,ut,A,L,++Ht):!1};if(fr[0]&&fr[1]&&fr[2])return _r(bt,Lt,St)||$t;var Br=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach(function(Or){if(fr[Or[0]]&&fr[Or[1]]&&!fr[Or[2]]){var Nr=Lt[Or[0]],ut=Lt[Or[1]],Ne=Lt[Or[2]],Ye=ge(Ne,Nr,Et,dt),Ve=ge(Ne,ut,Et,dt);$t=_r(bt,[Ve,Ye,Nr],[-1,-1,St[Or[0]]])||$t,$t=_r(bt,[Nr,ut,Ve],[St[Or[0]],St[Or[1]],-1])||$t,Br=!0}}),Br||[[0,1,2],[1,2,0],[2,0,1]].forEach(function(Or){if(fr[Or[0]]&&!fr[Or[1]]&&!fr[Or[2]]){var Nr=Lt[Or[0]],ut=Lt[Or[1]],Ne=Lt[Or[2]],Ye=ge(ut,Nr,Et,dt),Ve=ge(Ne,Nr,Et,dt);$t=_r(bt,[Ve,Ye,Nr],[-1,-1,St[Or[0]]])||$t,Br=!0}}),$t}function Ce(bt,Lt,St,Et){var dt=!1,Ht=Ee(Lt),$t=[ie(Ht[0][3],St,Et),ie(Ht[1][3],St,Et),ie(Ht[2][3],St,Et),ie(Ht[3][3],St,Et)];if(!$t[0]&&!$t[1]&&!$t[2]&&!$t[3])return dt;if($t[0]&&$t[1]&&$t[2]&&$t[3])return o&&(dt=ke(bt,Ht,Lt)||dt),dt;var fr=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach(function(_r){if($t[_r[0]]&&$t[_r[1]]&&$t[_r[2]]&&!$t[_r[3]]){var Br=Ht[_r[0]],Or=Ht[_r[1]],Nr=Ht[_r[2]],ut=Ht[_r[3]];if(o)dt=_e(bt,[Br,Or,Nr],[Lt[_r[0]],Lt[_r[1]],Lt[_r[2]]])||dt;else{var Ne=ge(ut,Br,St,Et),Ye=ge(ut,Or,St,Et),Ve=ge(ut,Nr,St,Et);dt=_e(null,[Ne,Ye,Ve],[-1,-1,-1])||dt}fr=!0}}),fr||([[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(_r){if($t[_r[0]]&&$t[_r[1]]&&!$t[_r[2]]&&!$t[_r[3]]){var Br=Ht[_r[0]],Or=Ht[_r[1]],Nr=Ht[_r[2]],ut=Ht[_r[3]],Ne=ge(Nr,Br,St,Et),Ye=ge(Nr,Or,St,Et),Ve=ge(ut,Or,St,Et),Xe=ge(ut,Br,St,Et);o?(dt=_e(bt,[Br,Xe,Ne],[Lt[_r[0]],-1,-1])||dt,dt=_e(bt,[Or,Ye,Ve],[Lt[_r[1]],-1,-1])||dt):dt=Me(null,[Ne,Ye,Ve,Xe],[-1,-1,-1,-1])||dt,fr=!0}}),fr)||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach(function(_r){if($t[_r[0]]&&!$t[_r[1]]&&!$t[_r[2]]&&!$t[_r[3]]){var Br=Ht[_r[0]],Or=Ht[_r[1]],Nr=Ht[_r[2]],ut=Ht[_r[3]],Ne=ge(Or,Br,St,Et),Ye=ge(Nr,Br,St,Et),Ve=ge(ut,Br,St,Et);o?(dt=_e(bt,[Br,Ne,Ye],[Lt[_r[0]],-1,-1])||dt,dt=_e(bt,[Br,Ye,Ve],[Lt[_r[0]],-1,-1])||dt,dt=_e(bt,[Br,Ve,Ne],[Lt[_r[0]],-1,-1])||dt):dt=_e(null,[Ne,Ye,Ve],[-1,-1,-1])||dt,fr=!0}}),dt}function me(bt,Lt,St,Et,dt,Ht,$t,fr,_r,Br,Or){var Nr=!1;return a&&(re(bt,\"A\")&&(Nr=Ce(null,[Lt,St,Et,Ht],Br,Or)||Nr),re(bt,\"B\")&&(Nr=Ce(null,[St,Et,dt,_r],Br,Or)||Nr),re(bt,\"C\")&&(Nr=Ce(null,[St,Ht,$t,_r],Br,Or)||Nr),re(bt,\"D\")&&(Nr=Ce(null,[Et,Ht,fr,_r],Br,Or)||Nr),re(bt,\"E\")&&(Nr=Ce(null,[St,Et,Ht,_r],Br,Or)||Nr)),o&&(Nr=Ce(bt,[St,Et,Ht,_r],Br,Or)||Nr),Nr}function Re(bt,Lt,St,Et,dt,Ht,$t,fr){return[fr[0]===!0?!0:ze(bt,Ee([Lt,St,Et]),[Lt,St,Et],Ht,$t),fr[1]===!0?!0:ze(bt,Ee([Et,dt,Lt]),[Et,dt,Lt],Ht,$t)]}function ce(bt,Lt,St,Et,dt,Ht,$t,fr,_r){return fr?Re(bt,Lt,St,dt,Et,Ht,$t,_r):Re(bt,St,dt,Et,Lt,Ht,$t,_r)}function Ge(bt,Lt,St,Et,dt,Ht,$t){var fr=!1,_r,Br,Or,Nr,ut=function(){fr=ze(bt,[_r,Br,Or],[-1,-1,-1],dt,Ht)||fr,fr=ze(bt,[Or,Nr,_r],[-1,-1,-1],dt,Ht)||fr},Ne=$t[0],Ye=$t[1],Ve=$t[2];return Ne&&(_r=X(Ee([p(Lt,St-0,Et-0)])[0],Ee([p(Lt-1,St-0,Et-0)])[0],Ne),Br=X(Ee([p(Lt,St-0,Et-1)])[0],Ee([p(Lt-1,St-0,Et-1)])[0],Ne),Or=X(Ee([p(Lt,St-1,Et-1)])[0],Ee([p(Lt-1,St-1,Et-1)])[0],Ne),Nr=X(Ee([p(Lt,St-1,Et-0)])[0],Ee([p(Lt-1,St-1,Et-0)])[0],Ne),ut()),Ye&&(_r=X(Ee([p(Lt-0,St,Et-0)])[0],Ee([p(Lt-0,St-1,Et-0)])[0],Ye),Br=X(Ee([p(Lt-0,St,Et-1)])[0],Ee([p(Lt-0,St-1,Et-1)])[0],Ye),Or=X(Ee([p(Lt-1,St,Et-1)])[0],Ee([p(Lt-1,St-1,Et-1)])[0],Ye),Nr=X(Ee([p(Lt-1,St,Et-0)])[0],Ee([p(Lt-1,St-1,Et-0)])[0],Ye),ut()),Ve&&(_r=X(Ee([p(Lt-0,St-0,Et)])[0],Ee([p(Lt-0,St-0,Et-1)])[0],Ve),Br=X(Ee([p(Lt-0,St-1,Et)])[0],Ee([p(Lt-0,St-1,Et-1)])[0],Ve),Or=X(Ee([p(Lt-1,St-1,Et)])[0],Ee([p(Lt-1,St-1,Et-1)])[0],Ve),Nr=X(Ee([p(Lt-1,St-0,Et)])[0],Ee([p(Lt-1,St-0,Et-1)])[0],Ve),ut()),fr}function nt(bt,Lt,St,Et,dt,Ht,$t,fr,_r,Br,Or,Nr){var ut=bt;return Nr?(a&&bt===\"even\"&&(ut=null),me(ut,Lt,St,Et,dt,Ht,$t,fr,_r,Br,Or)):(a&&bt===\"odd\"&&(ut=null),me(ut,_r,fr,$t,Ht,dt,Et,St,Lt,Br,Or))}function ct(bt,Lt,St,Et,dt){for(var Ht=[],$t=0,fr=0;fr<Lt.length;fr++)for(var _r=Lt[fr],Br=1;Br<x;Br++)for(var Or=1;Or<v;Or++)Ht.push(ce(bt,p(_r,Or-1,Br-1),p(_r,Or-1,Br),p(_r,Or,Br-1),p(_r,Or,Br),St,Et,(_r+Or+Br)%2,dt&&dt[$t]?dt[$t]:[])),$t++;return Ht}function qt(bt,Lt,St,Et,dt){for(var Ht=[],$t=0,fr=0;fr<Lt.length;fr++)for(var _r=Lt[fr],Br=1;Br<d;Br++)for(var Or=1;Or<x;Or++)Ht.push(ce(bt,p(Br-1,_r,Or-1),p(Br,_r,Or-1),p(Br-1,_r,Or),p(Br,_r,Or),St,Et,(Br+_r+Or)%2,dt&&dt[$t]?dt[$t]:[])),$t++;return Ht}function rt(bt,Lt,St,Et,dt){for(var Ht=[],$t=0,fr=0;fr<Lt.length;fr++)for(var _r=Lt[fr],Br=1;Br<v;Br++)for(var Or=1;Or<d;Or++)Ht.push(ce(bt,p(Or-1,Br-1,_r),p(Or-1,Br,_r),p(Or,Br-1,_r),p(Or,Br,_r),St,Et,(Or+Br+_r)%2,dt&&dt[$t]?dt[$t]:[])),$t++;return Ht}function ot(bt,Lt,St){for(var Et=1;Et<x;Et++)for(var dt=1;dt<v;dt++)for(var Ht=1;Ht<d;Ht++)nt(bt,p(Ht-1,dt-1,Et-1),p(Ht-1,dt-1,Et),p(Ht-1,dt,Et-1),p(Ht-1,dt,Et),p(Ht,dt-1,Et-1),p(Ht,dt-1,Et),p(Ht,dt,Et-1),p(Ht,dt,Et),Lt,St,(Ht+dt+Et)%2)}function Rt(bt,Lt,St){o=!0,ot(bt,Lt,St),o=!1}function kt(bt,Lt,St){a=!0,ot(bt,Lt,St),a=!1}function Ct(bt,Lt,St,Et,dt,Ht){for(var $t=[],fr=0,_r=0;_r<Lt.length;_r++)for(var Br=Lt[_r],Or=1;Or<x;Or++)for(var Nr=1;Nr<v;Nr++)$t.push(Ge(bt,Br,Nr,Or,St,Et,dt[_r],Ht&&Ht[fr]?Ht[fr]:[])),fr++;return $t}function Yt(bt,Lt,St,Et,dt,Ht){for(var $t=[],fr=0,_r=0;_r<Lt.length;_r++)for(var Br=Lt[_r],Or=1;Or<d;Or++)for(var Nr=1;Nr<x;Nr++)$t.push(Ge(bt,Or,Br,Nr,St,Et,dt[_r],Ht&&Ht[fr]?Ht[fr]:[])),fr++;return $t}function xr(bt,Lt,St,Et,dt,Ht){for(var $t=[],fr=0,_r=0;_r<Lt.length;_r++)for(var Br=Lt[_r],Or=1;Or<v;Or++)for(var Nr=1;Nr<d;Nr++)$t.push(Ge(bt,Nr,Or,Br,St,Et,dt[_r],Ht&&Ht[fr]?Ht[fr]:[])),fr++;return $t}function er(bt,Lt){for(var St=[],Et=bt;Et<Lt;Et++)St.push(Et);return St}function Ke(){for(var bt=0;bt<d;bt++)for(var Lt=0;Lt<v;Lt++)for(var St=0;St<x;St++){var Et=p(bt,Lt,St);q(e._x[Et],e._y[Et],e._z[Et],e._value[Et])}}function xt(){F(),Ke();var bt=null;if(r&&i&&(N(i),Rt(bt,A,L)),t&&n){N(n);for(var Lt=e.surface.pattern,St=e.surface.count,Et=0;Et<St;Et++){var dt=St===1?.5:Et/(St-1),Ht=(1-dt)*A+dt*L,$t=Math.abs(Ht-E),fr=Math.abs(Ht-k),_r=$t>fr?[E,Ht]:[Ht,k];kt(Lt,_r[0],_r[1])}}var Br=[[Math.min(A,k),Math.max(A,k)],[Math.min(E,L),Math.max(E,L)]];[\"x\",\"y\",\"z\"].forEach(function(Or){for(var Nr=[],ut=0;ut<Br.length;ut++){var Ne=0,Ye=Br[ut][0],Ve=Br[ut][1],Xe=e.slices[Or];if(Xe.show&&Xe.fill){N(Xe.fill);var ht=[],Le=[],xe=[];if(Xe.locations.length)for(var Se=0;Se<Xe.locations.length;Se++){var lt=XE(Xe.locations[Se],Or===\"x\"?c:Or===\"y\"?f:h);lt.distRatio===0?ht.push(lt.id):lt.id>0&&(Le.push(lt.id),Or===\"x\"?xe.push([lt.distRatio,0,0]):Or===\"y\"?xe.push([0,lt.distRatio,0]):xe.push([0,0,lt.distRatio]))}else Or===\"x\"?ht=er(1,d-1):Or===\"y\"?ht=er(1,v-1):ht=er(1,x-1);Le.length>0&&(Or===\"x\"?Nr[Ne]=Ct(bt,Le,Ye,Ve,xe,Nr[Ne]):Or===\"y\"?Nr[Ne]=Yt(bt,Le,Ye,Ve,xe,Nr[Ne]):Nr[Ne]=xr(bt,Le,Ye,Ve,xe,Nr[Ne]),Ne++),ht.length>0&&(Or===\"x\"?Nr[Ne]=ct(bt,ht,Ye,Ve,Nr[Ne]):Or===\"y\"?Nr[Ne]=qt(bt,ht,Ye,Ve,Nr[Ne]):Nr[Ne]=rt(bt,ht,Ye,Ve,Nr[Ne]),Ne++)}var Gt=e.caps[Or];Gt.show&&Gt.fill&&(N(Gt.fill),Or===\"x\"?Nr[Ne]=ct(bt,[0,d-1],Ye,Ve,Nr[Ne]):Or===\"y\"?Nr[Ne]=qt(bt,[0,v-1],Ye,Ve,Nr[Ne]):Nr[Ne]=rt(bt,[0,x-1],Ye,Ve,Nr[Ne]),Ne++)}}),s===0&&F(),e._meshX=_,e._meshY=C,e._meshZ=M,e._meshIntensity=g,e._Xs=c,e._Ys=f,e._Zs=h}return xt(),e}function YIt(e,t){var r=e.glplot.gl,n=HIt({gl:r}),i=new cIe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}hIe.exports={findNearestOnAxis:XE,generateIsoMeshes:fIe,createIsosurfaceTrace:YIt}});var vIe=ye((Wvr,dIe)=>{\"use strict\";dIe.exports={attributes:tz(),supplyDefaults:zZ().supplyDefaults,calc:OZ(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:nz().createIsosurfaceTrace,moduleType:\"trace\",name:\"isosurface\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],meta:{}}});var gIe=ye((Zvr,pIe)=>{\"use strict\";pIe.exports=vIe()});var UZ=ye((Xvr,yIe)=>{\"use strict\";var KIt=Jl(),xh=tz(),JIt=jE(),mIe=vl(),NZ=no().extendFlat,$It=Bu().overrideAll,az=yIe.exports=$It(NZ({x:xh.x,y:xh.y,z:xh.z,value:xh.value,isomin:xh.isomin,isomax:xh.isomax,surface:xh.surface,spaceframe:{show:{valType:\"boolean\",dflt:!1},fill:{valType:\"number\",min:0,max:1,dflt:1}},slices:xh.slices,caps:xh.caps,text:xh.text,hovertext:xh.hovertext,xhoverformat:xh.xhoverformat,yhoverformat:xh.yhoverformat,zhoverformat:xh.zhoverformat,valuehoverformat:xh.valuehoverformat,hovertemplate:xh.hovertemplate},KIt(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{colorbar:xh.colorbar,opacity:xh.opacity,opacityscale:JIt.opacityscale,lightposition:xh.lightposition,lighting:xh.lighting,flatshading:xh.flatshading,contour:xh.contour,hoverinfo:NZ({},mIe.hoverinfo),showlegend:NZ({},mIe.showlegend,{dflt:!1})}),\"calc\",\"nested\");az.x.editType=az.y.editType=az.z.editType=az.value.editType=\"calc+clearAxisTypes\"});var xIe=ye((Yvr,_Ie)=>{\"use strict\";var QIt=Mr(),e8t=UZ(),t8t=zZ().supplyIsoDefaults,r8t=CZ().opacityscaleDefaults;_Ie.exports=function(t,r,n,i){function a(o,s){return QIt.coerce(t,r,e8t,o,s)}t8t(t,r,n,i,a),r8t(t,r,i,a)}});var AIe=ye((Kvr,TIe)=>{\"use strict\";var i8t=Rd().gl_mesh3d,n8t=$y().parseColorScale,a8t=Mr().isArrayOrTypedArray,o8t=Jy(),s8t=Mu().extractOpts,bIe=H5(),VZ=nz().findNearestOnAxis,l8t=nz().generateIsoMeshes;function wIe(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name=\"\",this.data=null,this.showContour=!1}var HZ=wIe.prototype;HZ.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],i=this.data._meshZ[t],a=this.data._Ys.length,o=this.data._Zs.length,s=VZ(r,this.data._Xs).id,l=VZ(n,this.data._Ys).id,u=VZ(i,this.data._Zs).id,c=e.index=u+o*l+o*a*s;e.traceCoordinate=[this.data._meshX[c],this.data._meshY[c],this.data._meshZ[c],this.data._value[c]];var f=this.data.hovertext||this.data.text;return a8t(f)&&f[c]!==void 0?e.textLabel=f[c]:f&&(e.textLabel=f),!0}};HZ.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=l8t(e);function n(l,u,c,f){return u.map(function(h){return l.d2l(h,0,f)*c})}var i=bIe(n(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),n(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),n(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),a=bIe(e._meshI,e._meshJ,e._meshK),o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,opacityscale:e.opacityscale,contourEnable:e.contour.show,contourColor:o8t(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},s=s8t(e);o.vertexIntensity=e._meshIntensity,o.vertexIntensityBounds=[s.min,s.max],o.colormap=n8t(e),this.mesh.update(o)};HZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function u8t(e,t){var r=e.glplot.gl,n=i8t({gl:r}),i=new wIe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}TIe.exports=u8t});var MIe=ye((Jvr,SIe)=>{\"use strict\";SIe.exports={attributes:UZ(),supplyDefaults:xIe(),calc:OZ(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:AIe(),moduleType:\"trace\",name:\"volume\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],meta:{}}});var kIe=ye(($vr,EIe)=>{\"use strict\";EIe.exports=MIe()});var PIe=ye((Qvr,LIe)=>{\"use strict\";var c8t=ba(),CIe=Mr(),f8t=Uh(),h8t=U5();LIe.exports=function(t,r,n,i){function a(c,f){return CIe.coerce(t,r,h8t,c,f)}function o(c){var f=c.map(function(h){var d=a(h);return d&&CIe.isArrayOrTypedArray(d)?d:null});return f.every(function(h){return h&&h.length===f[0].length})&&f}var s=o([\"x\",\"y\",\"z\"]);if(!s){r.visible=!1;return}if(o([\"i\",\"j\",\"k\"]),r.i&&(!r.j||!r.k)||r.j&&(!r.k||!r.i)||r.k&&(!r.i||!r.j)){r.visible=!1;return}var l=c8t.getComponentMethod(\"calendars\",\"handleTraceDefaults\");l(t,r,[\"x\",\"y\",\"z\"],i),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lighting.vertexnormalsepsilon\",\"lighting.facenormalsepsilon\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"flatshading\",\"alphahull\",\"delaunayaxis\",\"opacity\"].forEach(function(c){a(c)});var u=a(\"contour.show\");u&&(a(\"contour.color\"),a(\"contour.width\")),\"intensity\"in t?(a(\"intensity\"),a(\"intensitymode\"),f8t(t,r,i,a,{prefix:\"\",cLetter:\"c\"})):(r.showscale=!1,\"facecolor\"in t?a(\"facecolor\"):\"vertexcolor\"in t?a(\"vertexcolor\"):a(\"color\",n)),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),r._length=null}});var RIe=ye((epr,IIe)=>{\"use strict\";var d8t=zv();IIe.exports=function(t,r){r.intensity&&d8t(t,r,{vals:r.intensity,containerStr:\"\",cLetter:\"c\"})}});var OIe=ye((tpr,qIe)=>{\"use strict\";var v8t=Rd().gl_mesh3d,p8t=Rd().delaunay_triangulate,g8t=Rd().alpha_shape,m8t=Rd().convex_hull,y8t=$y().parseColorScale,_8t=Mr().isArrayOrTypedArray,ZZ=Jy(),x8t=Mu().extractOpts,DIe=H5();function FIe(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name=\"\",this.color=\"#fff\",this.data=null,this.showContour=!1}var XZ=FIe.prototype;XZ.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index;e.data._cellCenter?e.traceCoordinate=e.data.dataCoordinate:e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]];var r=this.data.hovertext||this.data.text;return _8t(r)&&r[t]!==void 0?e.textLabel=r[t]:r&&(e.textLabel=r),!0}};function zIe(e){for(var t=[],r=e.length,n=0;n<r;n++)t[n]=ZZ(e[n]);return t}function GZ(e,t,r,n){for(var i=[],a=t.length,o=0;o<a;o++)i[o]=e.d2l(t[o],0,n)*r;return i}function jZ(e){for(var t=[],r=e.length,n=0;n<r;n++)t[n]=Math.round(e[n]);return t}function b8t(e,t){for(var r=[\"x\",\"y\",\"z\"].indexOf(e),n=[],i=t.length,a=0;a<i;a++)n[a]=[t[a][(r+1)%3],t[a][(r+2)%3]];return p8t(n)}function WZ(e,t){for(var r=e.length,n=0;n<r;n++)if(e[n]<=-.5||e[n]>=t-.5)return!1;return!0}XZ.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=e;var n=e.x.length,i=DIe(GZ(r.xaxis,e.x,t.dataScale[0],e.xcalendar),GZ(r.yaxis,e.y,t.dataScale[1],e.ycalendar),GZ(r.zaxis,e.z,t.dataScale[2],e.zcalendar)),a;if(e.i&&e.j&&e.k){if(e.i.length!==e.j.length||e.j.length!==e.k.length||!WZ(e.i,n)||!WZ(e.j,n)||!WZ(e.k,n))return;a=DIe(jZ(e.i),jZ(e.j),jZ(e.k))}else e.alphahull===0?a=m8t(i):e.alphahull>0?a=g8t(e.alphahull,i):a=b8t(e.delaunayaxis,i);var o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,contourEnable:e.contour.show,contourColor:ZZ(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading};if(e.intensity){var s=x8t(e);this.color=\"#fff\";var l=e.intensitymode;o[l+\"Intensity\"]=e.intensity,o[l+\"IntensityBounds\"]=[s.min,s.max],o.colormap=y8t(e)}else e.vertexcolor?(this.color=e.vertexcolor[0],o.vertexColors=zIe(e.vertexcolor)):e.facecolor?(this.color=e.facecolor[0],o.cellColors=zIe(e.facecolor)):(this.color=e.color,o.meshColor=ZZ(e.color));this.mesh.update(o)};XZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function w8t(e,t){var r=e.glplot.gl,n=v8t({gl:r}),i=new FIe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}qIe.exports=w8t});var NIe=ye((rpr,BIe)=>{\"use strict\";BIe.exports={attributes:U5(),supplyDefaults:PIe(),calc:RIe(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:OIe(),moduleType:\"trace\",name:\"mesh3d\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],meta:{}}});var VIe=ye((ipr,UIe)=>{\"use strict\";UIe.exports=NIe()});var KZ=ye((npr,GIe)=>{\"use strict\";var T8t=Jl(),G5=Oc().axisHoverFormat,A8t=Wo().hovertemplateAttrs,S8t=U5(),HIe=vl(),YZ=no().extendFlat,oz={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:A8t({editType:\"calc\"},{keys:[\"norm\"]}),uhoverformat:G5(\"u\",1),vhoverformat:G5(\"v\",1),whoverformat:G5(\"w\",1),xhoverformat:G5(\"x\"),yhoverformat:G5(\"y\"),zhoverformat:G5(\"z\"),showlegend:YZ({},HIe.showlegend,{dflt:!1})};YZ(oz,T8t(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}));var M8t=[\"opacity\",\"lightposition\",\"lighting\"];M8t.forEach(function(e){oz[e]=S8t[e]});oz.hoverinfo=YZ({},HIe.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"});GIe.exports=oz});var WIe=ye((apr,jIe)=>{\"use strict\";var E8t=Mr(),k8t=Uh(),C8t=KZ();jIe.exports=function(t,r,n,i){function a(d,v){return E8t.coerce(t,r,C8t,d,v)}var o=a(\"u\"),s=a(\"v\"),l=a(\"w\"),u=a(\"x\"),c=a(\"y\"),f=a(\"z\");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length||!f||!f.length){r.visible=!1;return}var h=a(\"sizemode\");a(\"sizeref\",h===\"raw\"?1:.5),a(\"anchor\"),a(\"lighting.ambient\"),a(\"lighting.diffuse\"),a(\"lighting.specular\"),a(\"lighting.roughness\"),a(\"lighting.fresnel\"),a(\"lightposition.x\"),a(\"lightposition.y\"),a(\"lightposition.z\"),k8t(t,r,i,a,{prefix:\"\",cLetter:\"c\"}),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"uhoverformat\"),a(\"vhoverformat\"),a(\"whoverformat\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),r._length=null}});var XIe=ye((opr,ZIe)=>{\"use strict\";var L8t=zv();ZIe.exports=function(t,r){for(var n=r.u,i=r.v,a=r.w,o=Math.min(r.x.length,r.y.length,r.z.length,n.length,i.length,a.length),s=-1/0,l=1/0,u=0;u<o;u++){var c=n[u],f=i[u],h=a[u],d=Math.sqrt(c*c+f*f+h*h);s=Math.max(s,d),l=Math.min(l,d)}r._len=o,r._normMax=s,L8t(t,r,{vals:[l,s],containerStr:\"\",cLetter:\"c\"})}});var QIe=ye((spr,$Ie)=>{\"use strict\";var P8t=Rd().gl_cone3d,I8t=Rd().gl_cone3d.createConeMesh,R8t=Mr().simpleMap,D8t=$y().parseColorScale,z8t=Mu().extractOpts,F8t=Mr().isArrayOrTypedArray,YIe=H5();function KIe(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var JZ=KIe.prototype;JZ.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index,r=this.data.x[t],n=this.data.y[t],i=this.data.z[t],a=this.data.u[t],o=this.data.v[t],s=this.data.w[t];e.traceCoordinate=[r,n,i,a,o,s,Math.sqrt(a*a+o*o+s*s)];var l=this.data.hovertext||this.data.text;return F8t(l)&&l[t]!==void 0?e.textLabel=l[t]:l&&(e.textLabel=l),!0}};var q8t={xaxis:0,yaxis:1,zaxis:2},O8t={tip:1,tail:0,cm:.25,center:.5},B8t={tip:1,tail:1,cm:.75,center:.5};function JIe(e,t){var r=e.fullSceneLayout,n=e.dataScale,i={};function a(c,f){var h=r[f],d=n[q8t[f]];return R8t(c,function(v){return h.d2l(v)*d})}i.vectors=YIe(a(t.u,\"xaxis\"),a(t.v,\"yaxis\"),a(t.w,\"zaxis\"),t._len),i.positions=YIe(a(t.x,\"xaxis\"),a(t.y,\"yaxis\"),a(t.z,\"zaxis\"),t._len);var o=z8t(t);i.colormap=D8t(t),i.vertexIntensityBounds=[o.min/t._normMax,o.max/t._normMax],i.coneOffset=O8t[t.anchor];var s=t.sizemode;s===\"scaled\"?i.coneSize=t.sizeref||.5:s===\"absolute\"?i.coneSize=t.sizeref&&t._normMax?t.sizeref/t._normMax:.5:s===\"raw\"&&(i.coneSize=t.sizeref),i.coneSizemode=s;var l=P8t(i),u=t.lightposition;return l.lightPosition=[u.x,u.y,u.z],l.ambient=t.lighting.ambient,l.diffuse=t.lighting.diffuse,l.specular=t.lighting.specular,l.roughness=t.lighting.roughness,l.fresnel=t.lighting.fresnel,l.opacity=t.opacity,t._pad=B8t[t.anchor]*l.vectorScale*l.coneScale*t._normMax,l}JZ.update=function(e){this.data=e;var t=JIe(this.scene,e);this.mesh.update(t)};JZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function N8t(e,t){var r=e.glplot.gl,n=JIe(e,t),i=I8t(r,n),a=new KIe(e,t.uid);return a.mesh=i,a.data=t,i._trace=a,e.glplot.add(i),a}$Ie.exports=N8t});var t8e=ye((lpr,e8e)=>{\"use strict\";e8e.exports={moduleType:\"trace\",name:\"cone\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],attributes:KZ(),supplyDefaults:WIe(),colorbar:{min:\"cmin\",max:\"cmax\"},calc:XIe(),plot:QIe(),eventData:function(e,t){return e.norm=t.traceCoordinate[6],e},meta:{}}});var i8e=ye((upr,r8e)=>{\"use strict\";r8e.exports=t8e()});var QZ=ye((cpr,a8e)=>{\"use strict\";var U8t=Jl(),j5=Oc().axisHoverFormat,V8t=Wo().hovertemplateAttrs,H8t=U5(),n8e=vl(),$Z=no().extendFlat,sz={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},u:{valType:\"data_array\",editType:\"calc\"},v:{valType:\"data_array\",editType:\"calc\"},w:{valType:\"data_array\",editType:\"calc\"},starts:{x:{valType:\"data_array\",editType:\"calc\"},y:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},maxdisplayed:{valType:\"integer\",min:0,dflt:1e3,editType:\"calc\"},sizeref:{valType:\"number\",editType:\"calc\",min:0,dflt:1},text:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertemplate:V8t({editType:\"calc\"},{keys:[\"tubex\",\"tubey\",\"tubez\",\"tubeu\",\"tubev\",\"tubew\",\"norm\",\"divergence\"]}),uhoverformat:j5(\"u\",1),vhoverformat:j5(\"v\",1),whoverformat:j5(\"w\",1),xhoverformat:j5(\"x\"),yhoverformat:j5(\"y\"),zhoverformat:j5(\"z\"),showlegend:$Z({},n8e.showlegend,{dflt:!1})};$Z(sz,U8t(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}));var G8t=[\"opacity\",\"lightposition\",\"lighting\"];G8t.forEach(function(e){sz[e]=H8t[e]});sz.hoverinfo=$Z({},n8e.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"divergence\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"});a8e.exports=sz});var s8e=ye((fpr,o8e)=>{\"use strict\";var j8t=Mr(),W8t=Uh(),Z8t=QZ();o8e.exports=function(t,r,n,i){function a(h,d){return j8t.coerce(t,r,Z8t,h,d)}var o=a(\"u\"),s=a(\"v\"),l=a(\"w\"),u=a(\"x\"),c=a(\"y\"),f=a(\"z\");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length||!f||!f.length){r.visible=!1;return}a(\"starts.x\"),a(\"starts.y\"),a(\"starts.z\"),a(\"maxdisplayed\"),a(\"sizeref\"),a(\"lighting.ambient\"),a(\"lighting.diffuse\"),a(\"lighting.specular\"),a(\"lighting.roughness\"),a(\"lighting.fresnel\"),a(\"lightposition.x\"),a(\"lightposition.y\"),a(\"lightposition.z\"),W8t(t,r,i,a,{prefix:\"\",cLetter:\"c\"}),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"uhoverformat\"),a(\"vhoverformat\"),a(\"whoverformat\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),r._length=null}});var p8e=ye((hpr,v8e)=>{\"use strict\";var c8e=Rd().gl_streamtube3d,X8t=c8e.createTubeMesh,Y8t=Mr(),K8t=$y().parseColorScale,J8t=Mu().extractOpts,l8e=H5(),f8e={xaxis:0,yaxis:1,zaxis:2};function h8e(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var tX=h8e.prototype;tX.handlePick=function(e){var t=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(o,s){var l=t[s],u=r[f8e[s]];return l.l2c(o)/u}if(e.object===this.mesh){var i=e.data.position,a=e.data.velocity;return e.traceCoordinate=[n(i[0],\"xaxis\"),n(i[1],\"yaxis\"),n(i[2],\"zaxis\"),n(a[0],\"xaxis\"),n(a[1],\"yaxis\"),n(a[2],\"zaxis\"),e.data.intensity*this.data._normMax,e.data.divergence],e.textLabel=this.data.hovertext||this.data.text,!0}};function u8e(e){var t=e.length,r;return t>2?r=e.slice(1,t-1):t===2?r=[(e[0]+e[1])/2]:r=e,r}function eX(e){var t=e.length;return t===1?[.5,.5]:[e[1]-e[0],e[t-1]-e[t-2]]}function d8e(e,t){var r=e.fullSceneLayout,n=e.dataScale,i=t._len,a={};function o(F,q){var V=r[q],H=n[f8e[q]];return Y8t.simpleMap(F,function(X){return V.d2l(X)*H})}if(a.vectors=l8e(o(t._u,\"xaxis\"),o(t._v,\"yaxis\"),o(t._w,\"zaxis\"),i),!i)return{positions:[],cells:[]};var s=o(t._Xs,\"xaxis\"),l=o(t._Ys,\"yaxis\"),u=o(t._Zs,\"zaxis\");a.meshgrid=[s,l,u],a.gridFill=t._gridFill;var c=t._slen;if(c)a.startingPositions=l8e(o(t._startsX,\"xaxis\"),o(t._startsY,\"yaxis\"),o(t._startsZ,\"zaxis\"));else{for(var f=l[0],h=u8e(s),d=u8e(u),v=new Array(h.length*d.length),x=0,b=0;b<h.length;b++)for(var p=0;p<d.length;p++)v[x++]=[h[b],f,d[p]];a.startingPositions=v}a.colormap=K8t(t),a.tubeSize=t.sizeref,a.maxLength=t.maxdisplayed;var E=o(t._xbnds,\"xaxis\"),k=o(t._ybnds,\"yaxis\"),A=o(t._zbnds,\"zaxis\"),L=eX(s),_=eX(l),C=eX(u),M=[[E[0]-L[0],k[0]-_[0],A[0]-C[0]],[E[1]+L[1],k[1]+_[1],A[1]+C[1]]],g=c8e(a,M),P=J8t(t);g.vertexIntensityBounds=[P.min/t._normMax,P.max/t._normMax];var T=t.lightposition;return g.lightPosition=[T.x,T.y,T.z],g.ambient=t.lighting.ambient,g.diffuse=t.lighting.diffuse,g.specular=t.lighting.specular,g.roughness=t.lighting.roughness,g.fresnel=t.lighting.fresnel,g.opacity=t.opacity,t._pad=g.tubeScale*t.sizeref*2,g}tX.update=function(e){this.data=e;var t=d8e(this.scene,e);this.mesh.update(t)};tX.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function $8t(e,t){var r=e.glplot.gl,n=d8e(e,t),i=X8t(r,n),a=new h8e(e,t.uid);return a.mesh=i,a.data=t,i._trace=a,e.glplot.add(i),a}v8e.exports=$8t});var m8e=ye((dpr,g8e)=>{\"use strict\";g8e.exports={moduleType:\"trace\",name:\"streamtube\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],attributes:QZ(),supplyDefaults:s8e(),colorbar:{min:\"cmin\",max:\"cmax\"},calc:rz().calc,plot:p8e(),eventData:function(e,t){return e.tubex=e.x,e.tubey=e.y,e.tubez=e.z,e.tubeu=t.traceCoordinate[3],e.tubev=t.traceCoordinate[4],e.tubew=t.traceCoordinate[5],e.norm=t.traceCoordinate[6],e.divergence=t.traceCoordinate[7],delete e.x,delete e.y,delete e.z,e},meta:{}}});var _8e=ye((vpr,y8e)=>{\"use strict\";y8e.exports=m8e()});var H2=ye((ppr,w8e)=>{\"use strict\";var Q8t=Wo().hovertemplateAttrs,eRt=Wo().texttemplateAttrs,tRt=Eg(),jm=Uc(),rRt=vl(),x8e=Jl(),iRt=Ed().dash,V2=no().extendFlat,nRt=Bu().overrideAll,eg=jm.marker,b8e=jm.line,aRt=eg.line;w8e.exports=nRt({lon:{valType:\"data_array\"},lat:{valType:\"data_array\"},locations:{valType:\"data_array\"},locationmode:{valType:\"enumerated\",values:[\"ISO-3\",\"USA-states\",\"country names\",\"geojson-id\"],dflt:\"ISO-3\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:{valType:\"string\",editType:\"calc\",dflt:\"id\"},mode:V2({},jm.mode,{dflt:\"markers\"}),text:V2({},jm.text,{}),texttemplate:eRt({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"location\",\"text\"]}),hovertext:V2({},jm.hovertext,{}),textfont:jm.textfont,textposition:jm.textposition,line:{color:b8e.color,width:b8e.width,dash:iRt},connectgaps:jm.connectgaps,marker:V2({symbol:eg.symbol,opacity:eg.opacity,angle:eg.angle,angleref:V2({},eg.angleref,{values:[\"previous\",\"up\",\"north\"]}),standoff:eg.standoff,size:eg.size,sizeref:eg.sizeref,sizemin:eg.sizemin,sizemode:eg.sizemode,colorbar:eg.colorbar,line:V2({width:aRt.width},x8e(\"marker.line\")),gradient:eg.gradient},x8e(\"marker\")),fill:{valType:\"enumerated\",values:[\"none\",\"toself\"],dflt:\"none\"},fillcolor:tRt(),selected:jm.selected,unselected:jm.unselected,hoverinfo:V2({},rRt.hoverinfo,{flags:[\"lon\",\"lat\",\"location\",\"text\",\"name\"]}),hovertemplate:Q8t()},\"calc\",\"nested\")});var A8e=ye((gpr,T8e)=>{\"use strict\";var rX=Mr(),iX=lu(),oRt=$p(),sRt=R0(),lRt=D0(),uRt=Ig(),cRt=H2();T8e.exports=function(t,r,n,i){function a(d,v){return rX.coerce(t,r,cRt,d,v)}var o=a(\"locations\"),s;if(o&&o.length){var l=a(\"geojson\"),u;(typeof l==\"string\"&&l!==\"\"||rX.isPlainObject(l))&&(u=\"geojson-id\");var c=a(\"locationmode\",u);c===\"geojson-id\"&&a(\"featureidkey\"),s=o.length}else{var f=a(\"lon\")||[],h=a(\"lat\")||[];s=Math.min(f.length,h.length)}if(!s){r.visible=!1;return}r._length=s,a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"mode\"),iX.hasMarkers(r)&&oRt(t,r,n,i,a,{gradient:!0}),iX.hasLines(r)&&(sRt(t,r,n,i,a),a(\"connectgaps\")),iX.hasText(r)&&(a(\"texttemplate\"),lRt(t,r,i,a)),a(\"fill\"),r.fill!==\"none\"&&uRt(t,r,n,a),rX.coerceSelectionMarkerOpacity(r,a)}});var E8e=ye((mpr,M8e)=>{\"use strict\";var S8e=Qa();M8e.exports=function(t,r,n){var i={},a=n[r.geo]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=S8e.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=S8e.tickText(o,o.c2l(s[1]),!0).text,i}});var lz=ye((ypr,P8e)=>{\"use strict\";var nX=uo(),k8e=es().BADNUM,fRt=z0(),hRt=km(),dRt=F0(),vRt=Mr().isArrayOrTypedArray,C8e=Mr()._;function L8e(e){return e&&typeof e==\"string\"}P8e.exports=function(t,r){var n=vRt(r.locations),i=n?r.locations.length:r._length,a=new Array(i),o;r.geojson?o=function(h){return L8e(h)||nX(h)}:o=L8e;for(var s=0;s<i;s++){var l=a[s]={};if(n){var u=r.locations[s];l.loc=o(u)?u:null}else{var c=r.lon[s],f=r.lat[s];nX(c)&&nX(f)?l.lonlat=[+c,+f]:l.lonlat=[k8e,k8e]}}return hRt(a,r),fRt(t,r),dRt(a,r),i&&(a[0].t={labels:{lat:C8e(t,\"lat:\")+\" \",lon:C8e(t,\"lon:\")+\" \"}}),a}});var YE=ye(Tv=>{\"use strict\";Tv.projNames={airy:\"airy\",aitoff:\"aitoff\",\"albers usa\":\"albersUsa\",albers:\"albers\",august:\"august\",\"azimuthal equal area\":\"azimuthalEqualArea\",\"azimuthal equidistant\":\"azimuthalEquidistant\",baker:\"baker\",bertin1953:\"bertin1953\",boggs:\"boggs\",bonne:\"bonne\",bottomley:\"bottomley\",bromley:\"bromley\",collignon:\"collignon\",\"conic conformal\":\"conicConformal\",\"conic equal area\":\"conicEqualArea\",\"conic equidistant\":\"conicEquidistant\",craig:\"craig\",craster:\"craster\",\"cylindrical equal area\":\"cylindricalEqualArea\",\"cylindrical stereographic\":\"cylindricalStereographic\",eckert1:\"eckert1\",eckert2:\"eckert2\",eckert3:\"eckert3\",eckert4:\"eckert4\",eckert5:\"eckert5\",eckert6:\"eckert6\",eisenlohr:\"eisenlohr\",\"equal earth\":\"equalEarth\",equirectangular:\"equirectangular\",fahey:\"fahey\",\"foucaut sinusoidal\":\"foucautSinusoidal\",foucaut:\"foucaut\",ginzburg4:\"ginzburg4\",ginzburg5:\"ginzburg5\",ginzburg6:\"ginzburg6\",ginzburg8:\"ginzburg8\",ginzburg9:\"ginzburg9\",gnomonic:\"gnomonic\",\"gringorten quincuncial\":\"gringortenQuincuncial\",gringorten:\"gringorten\",guyou:\"guyou\",hammer:\"hammer\",hill:\"hill\",homolosine:\"homolosine\",hufnagel:\"hufnagel\",hyperelliptical:\"hyperelliptical\",kavrayskiy7:\"kavrayskiy7\",lagrange:\"lagrange\",larrivee:\"larrivee\",laskowski:\"laskowski\",loximuthal:\"loximuthal\",mercator:\"mercator\",miller:\"miller\",mollweide:\"mollweide\",\"mt flat polar parabolic\":\"mtFlatPolarParabolic\",\"mt flat polar quartic\":\"mtFlatPolarQuartic\",\"mt flat polar sinusoidal\":\"mtFlatPolarSinusoidal\",\"natural earth\":\"naturalEarth\",\"natural earth1\":\"naturalEarth1\",\"natural earth2\":\"naturalEarth2\",\"nell hammer\":\"nellHammer\",nicolosi:\"nicolosi\",orthographic:\"orthographic\",patterson:\"patterson\",\"peirce quincuncial\":\"peirceQuincuncial\",polyconic:\"polyconic\",\"rectangular polyconic\":\"rectangularPolyconic\",robinson:\"robinson\",satellite:\"satellite\",\"sinu mollweide\":\"sinuMollweide\",sinusoidal:\"sinusoidal\",stereographic:\"stereographic\",times:\"times\",\"transverse mercator\":\"transverseMercator\",\"van der grinten\":\"vanDerGrinten\",\"van der grinten2\":\"vanDerGrinten2\",\"van der grinten3\":\"vanDerGrinten3\",\"van der grinten4\":\"vanDerGrinten4\",wagner4:\"wagner4\",wagner6:\"wagner6\",wiechel:\"wiechel\",\"winkel tripel\":\"winkel3\",winkel3:\"winkel3\"};Tv.axesNames=[\"lonaxis\",\"lataxis\"];Tv.lonaxisSpan={orthographic:180,\"azimuthal equal area\":360,\"azimuthal equidistant\":360,\"conic conformal\":180,gnomonic:160,stereographic:180,\"transverse mercator\":180,\"*\":360};Tv.lataxisSpan={\"conic conformal\":150,stereographic:179.5,\"*\":180};Tv.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:\"equirectangular\",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:\"albers usa\"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:\"conic conformal\",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:\"mercator\",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:\"mercator\",projRotate:[0,0,0]},\"north america\":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:\"conic conformal\",projRotate:[-100,0,0],projParallels:[29.5,45.5]},\"south america\":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:\"mercator\",projRotate:[0,0,0]}};Tv.clipPad=.001;Tv.precision=.1;Tv.landColor=\"#F0DC82\";Tv.waterColor=\"#3399FF\";Tv.locationmodeToLayer={\"ISO-3\":\"countries\",\"USA-states\":\"subunits\",\"country names\":\"countries\"};Tv.sphereSVG={type:\"Sphere\"};Tv.fillLayers={ocean:1,land:1,lakes:1};Tv.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1};Tv.layers=[\"bg\",\"ocean\",\"land\",\"lakes\",\"subunits\",\"countries\",\"coastlines\",\"rivers\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"frontplot\"];Tv.layersForChoropleth=[\"bg\",\"ocean\",\"land\",\"subunits\",\"countries\",\"coastlines\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"rivers\",\"lakes\",\"frontplot\"];Tv.layerNameToAdjective={ocean:\"ocean\",land:\"land\",lakes:\"lake\",subunits:\"subunit\",countries:\"country\",coastlines:\"coastline\",rivers:\"river\",frame:\"frame\"}});var aX=ye((uz,I8e)=>{(function(e,t){typeof uz==\"object\"&&typeof I8e!=\"undefined\"?t(uz):(e=e||self,t(e.topojson=e.topojson||{}))})(uz,function(e){\"use strict\";function t(k){return k}function r(k){if(k==null)return t;var A,L,_=k.scale[0],C=k.scale[1],M=k.translate[0],g=k.translate[1];return function(P,T){T||(A=L=0);var F=2,q=P.length,V=new Array(q);for(V[0]=(A+=P[0])*_+M,V[1]=(L+=P[1])*C+g;F<q;)V[F]=P[F],++F;return V}}function n(k){var A=r(k.transform),L,_=1/0,C=_,M=-_,g=-_;function P(F){F=A(F),F[0]<_&&(_=F[0]),F[0]>M&&(M=F[0]),F[1]<C&&(C=F[1]),F[1]>g&&(g=F[1])}function T(F){switch(F.type){case\"GeometryCollection\":F.geometries.forEach(T);break;case\"Point\":P(F.coordinates);break;case\"MultiPoint\":F.coordinates.forEach(P);break}}k.arcs.forEach(function(F){for(var q=-1,V=F.length,H;++q<V;)H=A(F[q],q),H[0]<_&&(_=H[0]),H[0]>M&&(M=H[0]),H[1]<C&&(C=H[1]),H[1]>g&&(g=H[1])});for(L in k.objects)T(k.objects[L]);return[_,C,M,g]}function i(k,A){for(var L,_=k.length,C=_-A;C<--_;)L=k[C],k[C++]=k[_],k[_]=L}function a(k,A){return typeof A==\"string\"&&(A=k.objects[A]),A.type===\"GeometryCollection\"?{type:\"FeatureCollection\",features:A.geometries.map(function(L){return o(k,L)})}:o(k,A)}function o(k,A){var L=A.id,_=A.bbox,C=A.properties==null?{}:A.properties,M=s(k,A);return L==null&&_==null?{type:\"Feature\",properties:C,geometry:M}:_==null?{type:\"Feature\",id:L,properties:C,geometry:M}:{type:\"Feature\",id:L,bbox:_,properties:C,geometry:M}}function s(k,A){var L=r(k.transform),_=k.arcs;function C(q,V){V.length&&V.pop();for(var H=_[q<0?~q:q],X=0,G=H.length;X<G;++X)V.push(L(H[X],X));q<0&&i(V,G)}function M(q){return L(q)}function g(q){for(var V=[],H=0,X=q.length;H<X;++H)C(q[H],V);return V.length<2&&V.push(V[0]),V}function P(q){for(var V=g(q);V.length<4;)V.push(V[0]);return V}function T(q){return q.map(P)}function F(q){var V=q.type,H;switch(V){case\"GeometryCollection\":return{type:V,geometries:q.geometries.map(F)};case\"Point\":H=M(q.coordinates);break;case\"MultiPoint\":H=q.coordinates.map(M);break;case\"LineString\":H=g(q.arcs);break;case\"MultiLineString\":H=q.arcs.map(g);break;case\"Polygon\":H=T(q.arcs);break;case\"MultiPolygon\":H=q.arcs.map(T);break;default:return null}return{type:V,coordinates:H}}return F(A)}function l(k,A){var L={},_={},C={},M=[],g=-1;A.forEach(function(F,q){var V=k.arcs[F<0?~F:F],H;V.length<3&&!V[1][0]&&!V[1][1]&&(H=A[++g],A[g]=F,A[q]=H)}),A.forEach(function(F){var q=P(F),V=q[0],H=q[1],X,G;if(X=C[V])if(delete C[X.end],X.push(F),X.end=H,G=_[H]){delete _[G.start];var N=G===X?X:X.concat(G);_[N.start=X.start]=C[N.end=G.end]=N}else _[X.start]=C[X.end]=X;else if(X=_[H])if(delete _[X.start],X.unshift(F),X.start=V,G=C[V]){delete C[G.end];var W=G===X?X:G.concat(X);_[W.start=G.start]=C[W.end=X.end]=W}else _[X.start]=C[X.end]=X;else X=[F],_[X.start=V]=C[X.end=H]=X});function P(F){var q=k.arcs[F<0?~F:F],V=q[0],H;return k.transform?(H=[0,0],q.forEach(function(X){H[0]+=X[0],H[1]+=X[1]})):H=q[q.length-1],F<0?[H,V]:[V,H]}function T(F,q){for(var V in F){var H=F[V];delete q[H.start],delete H.start,delete H.end,H.forEach(function(X){L[X<0?~X:X]=1}),M.push(H)}}return T(C,_),T(_,C),A.forEach(function(F){L[F<0?~F:F]||M.push([F])}),M}function u(k){return s(k,c.apply(this,arguments))}function c(k,A,L){var _,C,M;if(arguments.length>1)_=f(k,A,L);else for(C=0,_=new Array(M=k.arcs.length);C<M;++C)_[C]=C;return{type:\"MultiLineString\",arcs:l(k,_)}}function f(k,A,L){var _=[],C=[],M;function g(V){var H=V<0?~V:V;(C[H]||(C[H]=[])).push({i:V,g:M})}function P(V){V.forEach(g)}function T(V){V.forEach(P)}function F(V){V.forEach(T)}function q(V){switch(M=V,V.type){case\"GeometryCollection\":V.geometries.forEach(q);break;case\"LineString\":P(V.arcs);break;case\"MultiLineString\":case\"Polygon\":T(V.arcs);break;case\"MultiPolygon\":F(V.arcs);break}}return q(A),C.forEach(L==null?function(V){_.push(V[0].i)}:function(V){L(V[0].g,V[V.length-1].g)&&_.push(V[0].i)}),_}function h(k){for(var A=-1,L=k.length,_,C=k[L-1],M=0;++A<L;)_=C,C=k[A],M+=_[0]*C[1]-_[1]*C[0];return Math.abs(M)}function d(k){return s(k,v.apply(this,arguments))}function v(k,A){var L={},_=[],C=[];A.forEach(M);function M(T){switch(T.type){case\"GeometryCollection\":T.geometries.forEach(M);break;case\"Polygon\":g(T.arcs);break;case\"MultiPolygon\":T.arcs.forEach(g);break}}function g(T){T.forEach(function(F){F.forEach(function(q){(L[q=q<0?~q:q]||(L[q]=[])).push(T)})}),_.push(T)}function P(T){return h(s(k,{type:\"Polygon\",arcs:[T]}).coordinates[0])}return _.forEach(function(T){if(!T._){var F=[],q=[T];for(T._=1,C.push(F);T=q.pop();)F.push(T),T.forEach(function(V){V.forEach(function(H){L[H<0?~H:H].forEach(function(X){X._||(X._=1,q.push(X))})})})}}),_.forEach(function(T){delete T._}),{type:\"MultiPolygon\",arcs:C.map(function(T){var F=[],q;if(T.forEach(function(N){N.forEach(function(W){W.forEach(function(re){L[re<0?~re:re].length<2&&F.push(re)})})}),F=l(k,F),(q=F.length)>1)for(var V=1,H=P(F[0]),X,G;V<q;++V)(X=P(F[V]))>H&&(G=F[0],F[0]=F[V],F[V]=G,H=X);return F}).filter(function(T){return T.length>0})}}function x(k,A){for(var L=0,_=k.length;L<_;){var C=L+_>>>1;k[C]<A?L=C+1:_=C}return L}function b(k){var A={},L=k.map(function(){return[]});function _(N,W){N.forEach(function(re){re<0&&(re=~re);var ae=A[re];ae?ae.push(W):A[re]=[W]})}function C(N,W){N.forEach(function(re){_(re,W)})}function M(N,W){N.type===\"GeometryCollection\"?N.geometries.forEach(function(re){M(re,W)}):N.type in g&&g[N.type](N.arcs,W)}var g={LineString:_,MultiLineString:C,Polygon:C,MultiPolygon:function(N,W){N.forEach(function(re){C(re,W)})}};k.forEach(M);for(var P in A)for(var T=A[P],F=T.length,q=0;q<F;++q)for(var V=q+1;V<F;++V){var H=T[q],X=T[V],G;(G=L[H])[P=x(G,X)]!==X&&G.splice(P,0,X),(G=L[X])[P=x(G,H)]!==H&&G.splice(P,0,H)}return L}function p(k){if(k==null)return t;var A,L,_=k.scale[0],C=k.scale[1],M=k.translate[0],g=k.translate[1];return function(P,T){T||(A=L=0);var F=2,q=P.length,V=new Array(q),H=Math.round((P[0]-M)/_),X=Math.round((P[1]-g)/C);for(V[0]=H-A,A=H,V[1]=X-L,L=X;F<q;)V[F]=P[F],++F;return V}}function E(k,A){if(k.transform)throw new Error(\"already quantized\");if(!A||!A.scale){if(!((g=Math.floor(A))>=2))throw new Error(\"n must be \\u22652\");T=k.bbox||n(k);var L=T[0],_=T[1],C=T[2],M=T[3],g;A={scale:[C-L?(C-L)/(g-1):1,M-_?(M-_)/(g-1):1],translate:[L,_]}}else T=k.bbox;var P=p(A),T,F,q=k.objects,V={};function H(N){return P(N)}function X(N){var W;switch(N.type){case\"GeometryCollection\":W={type:\"GeometryCollection\",geometries:N.geometries.map(X)};break;case\"Point\":W={type:\"Point\",coordinates:H(N.coordinates)};break;case\"MultiPoint\":W={type:\"MultiPoint\",coordinates:N.coordinates.map(H)};break;default:return N}return N.id!=null&&(W.id=N.id),N.bbox!=null&&(W.bbox=N.bbox),N.properties!=null&&(W.properties=N.properties),W}function G(N){var W=0,re=1,ae=N.length,_e,Me=new Array(ae);for(Me[0]=P(N[0],0);++W<ae;)((_e=P(N[W],W))[0]||_e[1])&&(Me[re++]=_e);return re===1&&(Me[re++]=[0,0]),Me.length=re,Me}for(F in q)V[F]=X(q[F]);return{type:\"Topology\",bbox:T,transform:A,objects:V,arcs:k.arcs.map(G)}}e.bbox=n,e.feature=a,e.merge=d,e.mergeArcs=v,e.mesh=u,e.meshArcs=c,e.neighbors=b,e.quantize=E,e.transform=r,e.untransform=p,Object.defineProperty(e,\"__esModule\",{value:!0})})});var cz=ye((xpr,R8e)=>{\"use strict\";var oX=R8e.exports={},pRt=YE().locationmodeToLayer,gRt=aX().feature;oX.getTopojsonName=function(e){return[e.scope.replace(/ /g,\"-\"),\"_\",e.resolution.toString(),\"m\"].join(\"\")};oX.getTopojsonPath=function(e,t){return e+t+\".json\"};oX.getTopojsonFeatures=function(e,t){var r=pRt[e.locationmode],n=t.objects[r];return gRt(t,n).features}});var rx=ye(KE=>{\"use strict\";var mRt=es().BADNUM;KE.calcTraceToLineCoords=function(e){for(var t=e[0].trace,r=t.connectgaps,n=[],i=[],a=0;a<e.length;a++){var o=e[a],s=o.lonlat;s[0]!==mRt?i.push(s):!r&&i.length>0&&(n.push(i),i=[])}return i.length>0&&n.push(i),n};KE.makeLine=function(e){return e.length===1?{type:\"LineString\",coordinates:e[0]}:{type:\"MultiLineString\",coordinates:e}};KE.makePolygon=function(e){if(e.length===1)return{type:\"Polygon\",coordinates:e};for(var t=new Array(e.length),r=0;r<e.length;r++)t[r]=[e[r]];return{type:\"MultiPolygon\",coordinates:t}};KE.makeBlank=function(){return{type:\"Point\",coordinates:[]}}});var z8e=ye((wpr,D8e)=>{D8e.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\"}});var dz=ye(ku=>{\"use strict\";Object.defineProperty(ku,\"__esModule\",{value:!0});var qp=63710088e-1,lX={centimeters:qp*100,centimetres:qp*100,degrees:360/(2*Math.PI),feet:qp*3.28084,inches:qp*39.37,kilometers:qp/1e3,kilometres:qp/1e3,meters:qp,metres:qp,miles:qp/1609.344,millimeters:qp*1e3,millimetres:qp*1e3,nauticalmiles:qp/1852,radians:1,yards:qp*1.0936},sX={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,nauticalmiles:29155334959812285e-23,millimeters:1e6,millimetres:1e6,yards:1.195990046};function ix(e,t,r={}){let n={type:\"Feature\"};return(r.id===0||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}function yRt(e,t,r={}){switch(e){case\"Point\":return uX(t).geometry;case\"LineString\":return fX(t).geometry;case\"Polygon\":return cX(t).geometry;case\"MultiPoint\":return q8e(t).geometry;case\"MultiLineString\":return F8e(t).geometry;case\"MultiPolygon\":return O8e(t).geometry;default:throw new Error(e+\" is invalid\")}}function uX(e,t,r={}){if(!e)throw new Error(\"coordinates is required\");if(!Array.isArray(e))throw new Error(\"coordinates must be an Array\");if(e.length<2)throw new Error(\"coordinates must be at least 2 numbers long\");if(!fz(e[0])||!fz(e[1]))throw new Error(\"coordinates must contain numbers\");return ix({type:\"Point\",coordinates:e},t,r)}function _Rt(e,t,r={}){return hz(e.map(n=>uX(n,t)),r)}function cX(e,t,r={}){for(let i of e){if(i.length<4)throw new Error(\"Each LinearRing of a Polygon must have 4 or more Positions.\");if(i[i.length-1].length!==i[0].length)throw new Error(\"First and last Position are not equivalent.\");for(let a=0;a<i[i.length-1].length;a++)if(i[i.length-1][a]!==i[0][a])throw new Error(\"First and last Position are not equivalent.\")}return ix({type:\"Polygon\",coordinates:e},t,r)}function xRt(e,t,r={}){return hz(e.map(n=>cX(n,t)),r)}function fX(e,t,r={}){if(e.length<2)throw new Error(\"coordinates must be an array of two or more positions\");return ix({type:\"LineString\",coordinates:e},t,r)}function bRt(e,t,r={}){return hz(e.map(n=>fX(n,t)),r)}function hz(e,t={}){let r={type:\"FeatureCollection\"};return t.id&&(r.id=t.id),t.bbox&&(r.bbox=t.bbox),r.features=e,r}function F8e(e,t,r={}){return ix({type:\"MultiLineString\",coordinates:e},t,r)}function q8e(e,t,r={}){return ix({type:\"MultiPoint\",coordinates:e},t,r)}function O8e(e,t,r={}){return ix({type:\"MultiPolygon\",coordinates:e},t,r)}function wRt(e,t,r={}){return ix({type:\"GeometryCollection\",geometries:e},t,r)}function TRt(e,t=0){if(t&&!(t>=0))throw new Error(\"precision must be a positive number\");let r=Math.pow(10,t||0);return Math.round(e*r)/r}function B8e(e,t=\"kilometers\"){let r=lX[t];if(!r)throw new Error(t+\" units is invalid\");return e*r}function hX(e,t=\"kilometers\"){let r=lX[t];if(!r)throw new Error(t+\" units is invalid\");return e/r}function ARt(e,t){return N8e(hX(e,t))}function SRt(e){let t=e%360;return t<0&&(t+=360),t}function MRt(e){return e=e%360,e>0?e>180?e-360:e:e<-180?e+360:e}function N8e(e){return e%(2*Math.PI)*180/Math.PI}function ERt(e){return e%360*Math.PI/180}function kRt(e,t=\"kilometers\",r=\"kilometers\"){if(!(e>=0))throw new Error(\"length must be a positive number\");return B8e(hX(e,t),r)}function CRt(e,t=\"meters\",r=\"kilometers\"){if(!(e>=0))throw new Error(\"area must be a positive number\");let n=sX[t];if(!n)throw new Error(\"invalid original units\");let i=sX[r];if(!i)throw new Error(\"invalid final units\");return e/n*i}function fz(e){return!isNaN(e)&&e!==null&&!Array.isArray(e)}function LRt(e){return e!==null&&typeof e==\"object\"&&!Array.isArray(e)}function PRt(e){if(!e)throw new Error(\"bbox is required\");if(!Array.isArray(e))throw new Error(\"bbox must be an Array\");if(e.length!==4&&e.length!==6)throw new Error(\"bbox must be an Array of 4 or 6 numbers\");e.forEach(t=>{if(!fz(t))throw new Error(\"bbox must only contain numbers\")})}function IRt(e){if(!e)throw new Error(\"id is required\");if([\"string\",\"number\"].indexOf(typeof e)===-1)throw new Error(\"id must be a number or a string\")}ku.areaFactors=sX;ku.azimuthToBearing=MRt;ku.bearingToAzimuth=SRt;ku.convertArea=CRt;ku.convertLength=kRt;ku.degreesToRadians=ERt;ku.earthRadius=qp;ku.factors=lX;ku.feature=ix;ku.featureCollection=hz;ku.geometry=yRt;ku.geometryCollection=wRt;ku.isNumber=fz;ku.isObject=LRt;ku.lengthToDegrees=ARt;ku.lengthToRadians=hX;ku.lineString=fX;ku.lineStrings=bRt;ku.multiLineString=F8e;ku.multiPoint=q8e;ku.multiPolygon=O8e;ku.point=uX;ku.points=_Rt;ku.polygon=cX;ku.polygons=xRt;ku.radiansToDegrees=N8e;ku.radiansToLength=B8e;ku.round=TRt;ku.validateBBox=PRt;ku.validateId=IRt});var pz=ye(Dd=>{\"use strict\";Object.defineProperty(Dd,\"__esModule\",{value:!0});var jv=dz();function JE(e,t,r){if(e!==null)for(var n,i,a,o,s,l,u,c=0,f=0,h,d=e.type,v=d===\"FeatureCollection\",x=d===\"Feature\",b=v?e.features.length:1,p=0;p<b;p++){u=v?e.features[p].geometry:x?e.geometry:e,h=u?u.type===\"GeometryCollection\":!1,s=h?u.geometries.length:1;for(var E=0;E<s;E++){var k=0,A=0;if(o=h?u.geometries[E]:u,o!==null){l=o.coordinates;var L=o.type;switch(c=r&&(L===\"Polygon\"||L===\"MultiPolygon\")?1:0,L){case null:break;case\"Point\":if(t(l,f,p,k,A)===!1)return!1;f++,k++;break;case\"LineString\":case\"MultiPoint\":for(n=0;n<l.length;n++){if(t(l[n],f,p,k,A)===!1)return!1;f++,L===\"MultiPoint\"&&k++}L===\"LineString\"&&k++;break;case\"Polygon\":case\"MultiLineString\":for(n=0;n<l.length;n++){for(i=0;i<l[n].length-c;i++){if(t(l[n][i],f,p,k,A)===!1)return!1;f++}L===\"MultiLineString\"&&k++,L===\"Polygon\"&&A++}L===\"Polygon\"&&k++;break;case\"MultiPolygon\":for(n=0;n<l.length;n++){for(A=0,i=0;i<l[n].length;i++){for(a=0;a<l[n][i].length-c;a++){if(t(l[n][i][a],f,p,k,A)===!1)return!1;f++}A++}k++}break;case\"GeometryCollection\":for(n=0;n<o.geometries.length;n++)if(JE(o.geometries[n],t,r)===!1)return!1;break;default:throw new Error(\"Unknown Geometry Type\")}}}}}function RRt(e,t,r,n){var i=r;return JE(e,function(a,o,s,l,u){o===0&&r===void 0?i=a:i=t(i,a,o,s,l,u)},n),i}function U8e(e,t){var r;switch(e.type){case\"FeatureCollection\":for(r=0;r<e.features.length&&t(e.features[r].properties,r)!==!1;r++);break;case\"Feature\":t(e.properties,0);break}}function DRt(e,t,r){var n=r;return U8e(e,function(i,a){a===0&&r===void 0?n=i:n=t(n,i,a)}),n}function V8e(e,t){if(e.type===\"Feature\")t(e,0);else if(e.type===\"FeatureCollection\")for(var r=0;r<e.features.length&&t(e.features[r],r)!==!1;r++);}function zRt(e,t,r){var n=r;return V8e(e,function(i,a){a===0&&r===void 0?n=i:n=t(n,i,a)}),n}function FRt(e){var t=[];return JE(e,function(r){t.push(r)}),t}function dX(e,t){var r,n,i,a,o,s,l,u,c,f,h=0,d=e.type===\"FeatureCollection\",v=e.type===\"Feature\",x=d?e.features.length:1;for(r=0;r<x;r++){for(s=d?e.features[r].geometry:v?e.geometry:e,u=d?e.features[r].properties:v?e.properties:{},c=d?e.features[r].bbox:v?e.bbox:void 0,f=d?e.features[r].id:v?e.id:void 0,l=s?s.type===\"GeometryCollection\":!1,o=l?s.geometries.length:1,i=0;i<o;i++){if(a=l?s.geometries[i]:s,a===null){if(t(null,h,u,c,f)===!1)return!1;continue}switch(a.type){case\"Point\":case\"LineString\":case\"MultiPoint\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":{if(t(a,h,u,c,f)===!1)return!1;break}case\"GeometryCollection\":{for(n=0;n<a.geometries.length;n++)if(t(a.geometries[n],h,u,c,f)===!1)return!1;break}default:throw new Error(\"Unknown Geometry Type\")}}h++}}function qRt(e,t,r){var n=r;return dX(e,function(i,a,o,s,l){a===0&&r===void 0?n=i:n=t(n,i,a,o,s,l)}),n}function vz(e,t){dX(e,function(r,n,i,a,o){var s=r===null?null:r.type;switch(s){case null:case\"Point\":case\"LineString\":case\"Polygon\":return t(jv.feature.call(void 0,r,i,{bbox:a,id:o}),n,0)===!1?!1:void 0}var l;switch(s){case\"MultiPoint\":l=\"Point\";break;case\"MultiLineString\":l=\"LineString\";break;case\"MultiPolygon\":l=\"Polygon\";break}for(var u=0;u<r.coordinates.length;u++){var c=r.coordinates[u],f={type:l,coordinates:c};if(t(jv.feature.call(void 0,f,i),n,u)===!1)return!1}})}function ORt(e,t,r){var n=r;return vz(e,function(i,a,o){a===0&&o===0&&r===void 0?n=i:n=t(n,i,a,o)}),n}function H8e(e,t){vz(e,function(r,n,i){var a=0;if(r.geometry){var o=r.geometry.type;if(!(o===\"Point\"||o===\"MultiPoint\")){var s,l=0,u=0,c=0;if(JE(r,function(f,h,d,v,x){if(s===void 0||n>l||v>u||x>c){s=f,l=n,u=v,c=x,a=0;return}var b=jv.lineString.call(void 0,[s,f],r.properties);if(t(b,n,i,x,a)===!1)return!1;a++,s=f})===!1)return!1}}})}function BRt(e,t,r){var n=r,i=!1;return H8e(e,function(a,o,s,l,u){i===!1&&r===void 0?n=a:n=t(n,a,o,s,l,u),i=!0}),n}function G8e(e,t){if(!e)throw new Error(\"geojson is required\");vz(e,function(r,n,i){if(r.geometry!==null){var a=r.geometry.type,o=r.geometry.coordinates;switch(a){case\"LineString\":if(t(r,n,i,0,0)===!1)return!1;break;case\"Polygon\":for(var s=0;s<o.length;s++)if(t(jv.lineString.call(void 0,o[s],r.properties),n,i,s)===!1)return!1;break}}})}function NRt(e,t,r){var n=r;return G8e(e,function(i,a,o,s){a===0&&r===void 0?n=i:n=t(n,i,a,o,s)}),n}function URt(e,t){if(t=t||{},!jv.isObject.call(void 0,t))throw new Error(\"options is invalid\");var r=t.featureIndex||0,n=t.multiFeatureIndex||0,i=t.geometryIndex||0,a=t.segmentIndex||0,o=t.properties,s;switch(e.type){case\"FeatureCollection\":r<0&&(r=e.features.length+r),o=o||e.features[r].properties,s=e.features[r].geometry;break;case\"Feature\":o=o||e.properties,s=e.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":s=e;break;default:throw new Error(\"geojson is invalid\")}if(s===null)return null;var l=s.coordinates;switch(s.type){case\"Point\":case\"MultiPoint\":return null;case\"LineString\":return a<0&&(a=l.length+a-1),jv.lineString.call(void 0,[l[a],l[a+1]],o,t);case\"Polygon\":return i<0&&(i=l.length+i),a<0&&(a=l[i].length+a-1),jv.lineString.call(void 0,[l[i][a],l[i][a+1]],o,t);case\"MultiLineString\":return n<0&&(n=l.length+n),a<0&&(a=l[n].length+a-1),jv.lineString.call(void 0,[l[n][a],l[n][a+1]],o,t);case\"MultiPolygon\":return n<0&&(n=l.length+n),i<0&&(i=l[n].length+i),a<0&&(a=l[n][i].length-a-1),jv.lineString.call(void 0,[l[n][i][a],l[n][i][a+1]],o,t)}throw new Error(\"geojson is invalid\")}function VRt(e,t){if(t=t||{},!jv.isObject.call(void 0,t))throw new Error(\"options is invalid\");var r=t.featureIndex||0,n=t.multiFeatureIndex||0,i=t.geometryIndex||0,a=t.coordIndex||0,o=t.properties,s;switch(e.type){case\"FeatureCollection\":r<0&&(r=e.features.length+r),o=o||e.features[r].properties,s=e.features[r].geometry;break;case\"Feature\":o=o||e.properties,s=e.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":s=e;break;default:throw new Error(\"geojson is invalid\")}if(s===null)return null;var l=s.coordinates;switch(s.type){case\"Point\":return jv.point.call(void 0,l,o,t);case\"MultiPoint\":return n<0&&(n=l.length+n),jv.point.call(void 0,l[n],o,t);case\"LineString\":return a<0&&(a=l.length+a),jv.point.call(void 0,l[a],o,t);case\"Polygon\":return i<0&&(i=l.length+i),a<0&&(a=l[i].length+a),jv.point.call(void 0,l[i][a],o,t);case\"MultiLineString\":return n<0&&(n=l.length+n),a<0&&(a=l[n].length+a),jv.point.call(void 0,l[n][a],o,t);case\"MultiPolygon\":return n<0&&(n=l.length+n),i<0&&(i=l[n].length+i),a<0&&(a=l[n][i].length-a),jv.point.call(void 0,l[n][i][a],o,t)}throw new Error(\"geojson is invalid\")}Dd.coordAll=FRt;Dd.coordEach=JE;Dd.coordReduce=RRt;Dd.featureEach=V8e;Dd.featureReduce=zRt;Dd.findPoint=VRt;Dd.findSegment=URt;Dd.flattenEach=vz;Dd.flattenReduce=ORt;Dd.geomEach=dX;Dd.geomReduce=qRt;Dd.lineEach=G8e;Dd.lineReduce=NRt;Dd.propEach=U8e;Dd.propReduce=DRt;Dd.segmentEach=H8e;Dd.segmentReduce=BRt});var Y8e=ye(gz=>{\"use strict\";Object.defineProperty(gz,\"__esModule\",{value:!0});var j8e=dz(),HRt=pz();function X8e(e){return HRt.geomReduce.call(void 0,e,(t,r)=>t+GRt(r),0)}function GRt(e){let t=0,r;switch(e.type){case\"Polygon\":return W8e(e.coordinates);case\"MultiPolygon\":for(r=0;r<e.coordinates.length;r++)t+=W8e(e.coordinates[r]);return t;case\"Point\":case\"MultiPoint\":case\"LineString\":case\"MultiLineString\":return 0}return 0}function W8e(e){let t=0;if(e&&e.length>0){t+=Math.abs(Z8e(e[0]));for(let r=1;r<e.length;r++)t-=Math.abs(Z8e(e[r]))}return t}var jRt=j8e.earthRadius*j8e.earthRadius/2,vX=Math.PI/180;function Z8e(e){let t=e.length-1;if(t<=2)return 0;let r=0,n=0;for(;n<t;){let i=e[n],a=e[n+1===t?0:n+1],o=e[n+2>=t?(n+2)%t:n+2],s=i[0]*vX,l=a[1]*vX,u=o[0]*vX;r+=(u-s)*Math.sin(l),n++}return r*jRt}var WRt=X8e;gz.area=X8e;gz.default=WRt});var J8e=ye(mz=>{\"use strict\";Object.defineProperty(mz,\"__esModule\",{value:!0});var ZRt=dz(),XRt=pz();function K8e(e,t={}){let r=0,n=0,i=0;return XRt.coordEach.call(void 0,e,function(a){r+=a[0],n+=a[1],i++},!0),ZRt.point.call(void 0,[r/i,n/i],t.properties)}var YRt=K8e;mz.centroid=K8e;mz.default=YRt});var Q8e=ye(yz=>{\"use strict\";Object.defineProperty(yz,\"__esModule\",{value:!0});var KRt=pz();function $8e(e,t={}){if(e.bbox!=null&&t.recompute!==!0)return e.bbox;let r=[1/0,1/0,-1/0,-1/0];return KRt.coordEach.call(void 0,e,n=>{r[0]>n[0]&&(r[0]=n[0]),r[1]>n[1]&&(r[1]=n[1]),r[2]<n[0]&&(r[2]=n[0]),r[3]<n[1]&&(r[3]=n[1])}),r}var JRt=$8e;yz.bbox=$8e;yz.default=JRt});var nx=ye((kpr,nRe)=>{\"use strict\";var $Rt=xa(),rRe=z8e(),{area:QRt}=Y8e(),{centroid:eDt}=J8e(),{bbox:tDt}=Q8e(),eRe=OS(),W5=G1(),rDt=gy(),iDt=ES(),_z=wM(),tRe=Object.keys(rRe),nDt={\"ISO-3\":eRe,\"USA-states\":eRe,\"country names\":aDt};function aDt(e){for(var t=0;t<tRe.length;t++){var r=tRe[t],n=new RegExp(rRe[r]);if(n.test(e.trim().toLowerCase()))return r}return W5.log(\"Unrecognized country name: \"+e+\".\"),!1}function oDt(e,t,r){if(!t||typeof t!=\"string\")return!1;var n=nDt[e](t),i,a,o;if(n){if(e===\"USA-states\")for(i=[],o=0;o<r.length;o++)a=r[o],a.properties&&a.properties.gu&&a.properties.gu===\"USA\"&&i.push(a);else i=r;for(o=0;o<i.length;o++)if(a=i[o],a.id===n)return a;W5.log([\"Location with id\",n,\"does not have a matching topojson feature at this resolution.\"].join(\" \"))}return!1}function sDt(e){var t=e.geometry,r=t.coordinates,n=e.id,i=[],a,o,s,l;function u(c){for(var f=0;f<c.length-1;f++)if(c[f][0]>0&&c[f+1][0]<0)return f;return null}switch(n===\"RUS\"||n===\"FJI\"?a=function(c){var f;if(u(c)===null)f=c;else for(f=new Array(c.length),l=0;l<c.length;l++)f[l]=[c[l][0]<0?c[l][0]+360:c[l][0],c[l][1]];i.push(_z.tester(f))}:n===\"ATA\"?a=function(c){var f=u(c);if(f===null)return i.push(_z.tester(c));var h=new Array(c.length+1),d=0;for(l=0;l<c.length;l++)l>f?h[d++]=[c[l][0]+360,c[l][1]]:l===f?(h[d++]=c[l],h[d++]=[c[l][0],-90]):h[d++]=c[l];var v=_z.tester(h);v.pts.pop(),i.push(v)}:a=function(c){i.push(_z.tester(c))},t.type){case\"MultiPolygon\":for(o=0;o<r.length;o++)for(s=0;s<r[o].length;s++)a(r[o][s]);break;case\"Polygon\":for(o=0;o<r.length;o++)a(r[o]);break}return i}function iRe(e){var t=e.geojson,r=window.PlotlyGeoAssets||{},n=typeof t==\"string\"?r[t]:t;return rDt(n)?n:(W5.error(\"Oops ... something went wrong when fetching \"+t),!1)}function lDt(e){var t=e[0].trace,r=iRe(t);if(!r)return!1;var n={},i=[],a;for(a=0;a<t._length;a++){var o=e[a];(o.loc||o.loc===0)&&(n[o.loc]=o)}function s(c){var f=iDt(c,t.featureidkey||\"id\").get(),h=n[f];if(h){var d=c.geometry;if(d.type===\"Polygon\"||d.type===\"MultiPolygon\"){var v={type:\"Feature\",id:f,geometry:d,properties:{}};v.geometry.coordinates.length>0?v.properties.ct=uDt(v):v.properties.ct=[NaN,NaN],h.fIn=c,h.fOut=v,i.push(v)}else W5.log([\"Location\",h.loc,\"does not have a valid GeoJSON geometry.\",\"Traces with locationmode *geojson-id* only support\",\"*Polygon* and *MultiPolygon* geometries.\"].join(\" \"))}delete n[f]}switch(r.type){case\"FeatureCollection\":var l=r.features;for(a=0;a<l.length;a++)s(l[a]);break;case\"Feature\":s(r);break;default:return W5.warn([\"Invalid GeoJSON type\",(r.type||\"none\")+\".\",\"Traces with locationmode *geojson-id* only support\",\"*FeatureCollection* and *Feature* types.\"].join(\" \")),!1}for(var u in n)W5.log([\"Location *\"+u+\"*\",\"does not have a matching feature with id-key\",\"*\"+t.featureidkey+\"*.\"].join(\" \"));return i}function uDt(e){var t=e.geometry,r;if(t.type===\"MultiPolygon\")for(var n=t.coordinates,i=0,a=0;a<n.length;a++){var o={type:\"Polygon\",coordinates:n[a]},s=QRt(o);s>i&&(i=s,r=o)}else r=t;return eDt(r).geometry.coordinates}function cDt(e){var t=window.PlotlyGeoAssets||{},r=[];function n(l){return new Promise(function(u,c){$Rt.json(l,function(f,h){if(f){delete t[l];var d=f.status===404?'GeoJSON at URL \"'+l+'\" does not exist.':\"Unexpected error while fetching from \"+l;return c(new Error(d))}return t[l]=h,u(h)})})}function i(l){return new Promise(function(u,c){var f=0,h=setInterval(function(){if(t[l]&&t[l]!==\"pending\")return clearInterval(h),u(t[l]);if(f>100)return clearInterval(h),c(\"Unexpected error while fetching from \"+l);f++},50)})}for(var a=0;a<e.length;a++){var o=e[a][0].trace,s=o.geojson;typeof s==\"string\"&&(t[s]?t[s]===\"pending\"&&r.push(i(s)):(t[s]=\"pending\",r.push(n(s))))}return r}function fDt(e){return tDt(e)}nRe.exports={locationToFeature:oDt,feature2polygons:sDt,getTraceGeojson:iRe,extractTraceFeature:lDt,fetchTraceGeoData:cDt,computeBbox:fDt}});var pX=ye((Cpr,sRe)=>{\"use strict\";var hDt=xa(),dDt=ao(),aRe=va(),oRe=op(),vDt=oRe.stylePoints,pDt=oRe.styleText;sRe.exports=function(t,r){r&&gDt(t,r)};function gDt(e,t){var r=t[0].trace,n=t[0].node3;n.style(\"opacity\",t[0].trace.opacity),vDt(n,r,e),pDt(n,r,e),n.selectAll(\"path.js-line\").style(\"fill\",\"none\").each(function(i){var a=hDt.select(this),o=i.trace,s=o.line||{};a.call(aRe.stroke,s.color).call(dDt.dashLine,s.dash||\"\",s.width||0),o.fill!==\"none\"&&a.call(aRe.fill,o.fillcolor)})}});var _X=ye((Lpr,cRe)=>{\"use strict\";var lRe=xa(),bz=Mr(),mDt=cz().getTopojsonFeatures,gX=rx(),xz=nx(),uRe=wg().findExtremes,yX=es().BADNUM,yDt=q0().calcMarkerSize,mX=lu(),_Dt=pX();function xDt(e,t,r){var n=t.layers.frontplot.select(\".scatterlayer\"),i=bz.makeTraceGroups(n,r,\"trace scattergeo\");function a(o,s){o.lonlat[0]===yX&&lRe.select(s).remove()}i.selectAll(\"*\").remove(),i.each(function(o){var s=lRe.select(this),l=o[0].trace;if(mX.hasLines(l)||l.fill!==\"none\"){var u=gX.calcTraceToLineCoords(o),c=l.fill!==\"none\"?gX.makePolygon(u):gX.makeLine(u);s.selectAll(\"path.js-line\").data([{geojson:c,trace:l}]).enter().append(\"path\").classed(\"js-line\",!0).style(\"stroke-miterlimit\",2)}mX.hasMarkers(l)&&s.selectAll(\"path.point\").data(bz.identity).enter().append(\"path\").classed(\"point\",!0).each(function(f){a(f,this)}),mX.hasText(l)&&s.selectAll(\"g\").data(bz.identity).enter().append(\"g\").append(\"text\").each(function(f){a(f,this)}),_Dt(e,o)})}function bDt(e,t){var r=e[0].trace,n=t[r.geo],i=n._subplot,a=r._length,o,s;if(bz.isArrayOrTypedArray(r.locations)){var l=r.locationmode,u=l===\"geojson-id\"?xz.extractTraceFeature(e):mDt(r,i.topojson);for(o=0;o<a;o++){s=e[o];var c=l===\"geojson-id\"?s.fOut:xz.locationToFeature(l,s.loc,u);s.lonlat=c?c.properties.ct:[yX,yX]}}var f={padded:!0},h,d;if(n.fitbounds===\"geojson\"&&r.locationmode===\"geojson-id\"){var v=xz.computeBbox(xz.getTraceGeojson(r));h=[v[0],v[2]],d=[v[1],v[3]]}else{for(h=new Array(a),d=new Array(a),o=0;o<a;o++)s=e[o],h[o]=s.lonlat[0],d[o]=s.lonlat[1];f.ppad=yDt(r,a)}r._extremes.lon=uRe(n.lonaxis._ax,h,f),r._extremes.lat=uRe(n.lataxis._ax,d,f)}cRe.exports={calcGeoJSON:bDt,plot:xDt}});var hRe=ye((Ppr,fRe)=>{\"use strict\";var wDt=Nc(),TDt=es().BADNUM,ADt=oT(),SDt=Mr().fillText,MDt=H2();fRe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.xa,s=t.ya,l=t.subplot,u=l.projection.isLonLatOverEdges,c=l.project;function f(E){var k=E.lonlat;if(k[0]===TDt||u(k))return 1/0;var A=c(k),L=c([r,n]),_=Math.abs(A[0]-L[0]),C=Math.abs(A[1]-L[1]),M=Math.max(3,E.mrc||0);return Math.max(Math.sqrt(_*_+C*C)-M,1-3/M)}if(wDt.getClosest(i,f,t),t.index!==!1){var h=i[t.index],d=h.lonlat,v=[o.c2p(d),s.c2p(d)],x=h.mrc||1;t.x0=v[0]-x,t.x1=v[0]+x,t.y0=v[1]-x,t.y1=v[1]+x,t.loc=h.loc,t.lon=d[0],t.lat=d[1];var b={};b[a.geo]={_subplot:l};var p=a._module.formatLabels(h,a,b);return t.lonLabel=p.lonLabel,t.latLabel=p.latLabel,t.color=ADt(a,h),t.extraText=EDt(a,h,t,i[0].t.labels),t.hovertemplate=a.hovertemplate,[t]}};function EDt(e,t,r,n){if(e.hovertemplate)return;var i=t.hi||e.hoverinfo,a=i===\"all\"?MDt.hoverinfo.flags:i.split(\"+\"),o=a.indexOf(\"location\")!==-1&&Array.isArray(e.locations),s=a.indexOf(\"lon\")!==-1,l=a.indexOf(\"lat\")!==-1,u=a.indexOf(\"text\")!==-1,c=[];function f(h){return h+\"\\xB0\"}return o?c.push(t.loc):s&&l?c.push(\"(\"+f(r.latLabel)+\", \"+f(r.lonLabel)+\")\"):s?c.push(n.lon+f(r.lonLabel)):l&&c.push(n.lat+f(r.latLabel)),u&&SDt(t,e,c),c.join(\"<br>\")}});var vRe=ye((Ipr,dRe)=>{\"use strict\";dRe.exports=function(t,r,n,i,a){t.lon=r.lon,t.lat=r.lat,t.location=r.loc?r.loc:null;var o=i[a];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t}});var mRe=ye((Rpr,gRe)=>{\"use strict\";var pRe=lu(),kDt=es().BADNUM;gRe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l,u,c,f,h,d=!pRe.hasMarkers(s)&&!pRe.hasText(s);if(d)return[];if(r===!1)for(h=0;h<n.length;h++)n[h].selected=0;else for(h=0;h<n.length;h++)l=n[h],u=l.lonlat,u[0]!==kDt&&(c=i.c2p(u),f=a.c2p(u),r.contains([c,f],null,h,t)?(o.push({pointNumber:h,lon:u[0],lat:u[1]}),l.selected=1):l.selected=0);return o}});var $E=ye((wz,yRe)=>{(function(e,t){t(typeof wz==\"object\"&&typeof yRe!=\"undefined\"?wz:e.d3=e.d3||{})})(wz,function(e){\"use strict\";function t(Ee,Ae){return Ee<Ae?-1:Ee>Ae?1:Ee>=Ae?0:NaN}function r(Ee){return Ee.length===1&&(Ee=n(Ee)),{left:function(Ae,ze,Ce,me){for(Ce==null&&(Ce=0),me==null&&(me=Ae.length);Ce<me;){var Re=Ce+me>>>1;Ee(Ae[Re],ze)<0?Ce=Re+1:me=Re}return Ce},right:function(Ae,ze,Ce,me){for(Ce==null&&(Ce=0),me==null&&(me=Ae.length);Ce<me;){var Re=Ce+me>>>1;Ee(Ae[Re],ze)>0?me=Re:Ce=Re+1}return Ce}}}function n(Ee){return function(Ae,ze){return t(Ee(Ae),ze)}}var i=r(t),a=i.right,o=i.left;function s(Ee,Ae){Ae==null&&(Ae=l);for(var ze=0,Ce=Ee.length-1,me=Ee[0],Re=new Array(Ce<0?0:Ce);ze<Ce;)Re[ze]=Ae(me,me=Ee[++ze]);return Re}function l(Ee,Ae){return[Ee,Ae]}function u(Ee,Ae,ze){var Ce=Ee.length,me=Ae.length,Re=new Array(Ce*me),ce,Ge,nt,ct;for(ze==null&&(ze=l),ce=nt=0;ce<Ce;++ce)for(ct=Ee[ce],Ge=0;Ge<me;++Ge,++nt)Re[nt]=ze(ct,Ae[Ge]);return Re}function c(Ee,Ae){return Ae<Ee?-1:Ae>Ee?1:Ae>=Ee?0:NaN}function f(Ee){return Ee===null?NaN:+Ee}function h(Ee,Ae){var ze=Ee.length,Ce=0,me=-1,Re=0,ce,Ge,nt=0;if(Ae==null)for(;++me<ze;)isNaN(ce=f(Ee[me]))||(Ge=ce-Re,Re+=Ge/++Ce,nt+=Ge*(ce-Re));else for(;++me<ze;)isNaN(ce=f(Ae(Ee[me],me,Ee)))||(Ge=ce-Re,Re+=Ge/++Ce,nt+=Ge*(ce-Re));if(Ce>1)return nt/(Ce-1)}function d(Ee,Ae){var ze=h(Ee,Ae);return ze&&Math.sqrt(ze)}function v(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re,ce;if(Ae==null){for(;++Ce<ze;)if((me=Ee[Ce])!=null&&me>=me)for(Re=ce=me;++Ce<ze;)(me=Ee[Ce])!=null&&(Re>me&&(Re=me),ce<me&&(ce=me))}else for(;++Ce<ze;)if((me=Ae(Ee[Ce],Ce,Ee))!=null&&me>=me)for(Re=ce=me;++Ce<ze;)(me=Ae(Ee[Ce],Ce,Ee))!=null&&(Re>me&&(Re=me),ce<me&&(ce=me));return[Re,ce]}var x=Array.prototype,b=x.slice,p=x.map;function E(Ee){return function(){return Ee}}function k(Ee){return Ee}function A(Ee,Ae,ze){Ee=+Ee,Ae=+Ae,ze=(me=arguments.length)<2?(Ae=Ee,Ee=0,1):me<3?1:+ze;for(var Ce=-1,me=Math.max(0,Math.ceil((Ae-Ee)/ze))|0,Re=new Array(me);++Ce<me;)Re[Ce]=Ee+Ce*ze;return Re}var L=Math.sqrt(50),_=Math.sqrt(10),C=Math.sqrt(2);function M(Ee,Ae,ze){var Ce,me=-1,Re,ce,Ge;if(Ae=+Ae,Ee=+Ee,ze=+ze,Ee===Ae&&ze>0)return[Ee];if((Ce=Ae<Ee)&&(Re=Ee,Ee=Ae,Ae=Re),(Ge=g(Ee,Ae,ze))===0||!isFinite(Ge))return[];if(Ge>0)for(Ee=Math.ceil(Ee/Ge),Ae=Math.floor(Ae/Ge),ce=new Array(Re=Math.ceil(Ae-Ee+1));++me<Re;)ce[me]=(Ee+me)*Ge;else for(Ee=Math.floor(Ee*Ge),Ae=Math.ceil(Ae*Ge),ce=new Array(Re=Math.ceil(Ee-Ae+1));++me<Re;)ce[me]=(Ee-me)/Ge;return Ce&&ce.reverse(),ce}function g(Ee,Ae,ze){var Ce=(Ae-Ee)/Math.max(0,ze),me=Math.floor(Math.log(Ce)/Math.LN10),Re=Ce/Math.pow(10,me);return me>=0?(Re>=L?10:Re>=_?5:Re>=C?2:1)*Math.pow(10,me):-Math.pow(10,-me)/(Re>=L?10:Re>=_?5:Re>=C?2:1)}function P(Ee,Ae,ze){var Ce=Math.abs(Ae-Ee)/Math.max(0,ze),me=Math.pow(10,Math.floor(Math.log(Ce)/Math.LN10)),Re=Ce/me;return Re>=L?me*=10:Re>=_?me*=5:Re>=C&&(me*=2),Ae<Ee?-me:me}function T(Ee){return Math.ceil(Math.log(Ee.length)/Math.LN2)+1}function F(){var Ee=k,Ae=v,ze=T;function Ce(me){var Re,ce=me.length,Ge,nt=new Array(ce);for(Re=0;Re<ce;++Re)nt[Re]=Ee(me[Re],Re,me);var ct=Ae(nt),qt=ct[0],rt=ct[1],ot=ze(nt,qt,rt);Array.isArray(ot)||(ot=P(qt,rt,ot),ot=A(Math.ceil(qt/ot)*ot,rt,ot));for(var Rt=ot.length;ot[0]<=qt;)ot.shift(),--Rt;for(;ot[Rt-1]>rt;)ot.pop(),--Rt;var kt=new Array(Rt+1),Ct;for(Re=0;Re<=Rt;++Re)Ct=kt[Re]=[],Ct.x0=Re>0?ot[Re-1]:qt,Ct.x1=Re<Rt?ot[Re]:rt;for(Re=0;Re<ce;++Re)Ge=nt[Re],qt<=Ge&&Ge<=rt&&kt[a(ot,Ge,0,Rt)].push(me[Re]);return kt}return Ce.value=function(me){return arguments.length?(Ee=typeof me==\"function\"?me:E(me),Ce):Ee},Ce.domain=function(me){return arguments.length?(Ae=typeof me==\"function\"?me:E([me[0],me[1]]),Ce):Ae},Ce.thresholds=function(me){return arguments.length?(ze=typeof me==\"function\"?me:Array.isArray(me)?E(b.call(me)):E(me),Ce):ze},Ce}function q(Ee,Ae,ze){if(ze==null&&(ze=f),!!(Ce=Ee.length)){if((Ae=+Ae)<=0||Ce<2)return+ze(Ee[0],0,Ee);if(Ae>=1)return+ze(Ee[Ce-1],Ce-1,Ee);var Ce,me=(Ce-1)*Ae,Re=Math.floor(me),ce=+ze(Ee[Re],Re,Ee),Ge=+ze(Ee[Re+1],Re+1,Ee);return ce+(Ge-ce)*(me-Re)}}function V(Ee,Ae,ze){return Ee=p.call(Ee,f).sort(t),Math.ceil((ze-Ae)/(2*(q(Ee,.75)-q(Ee,.25))*Math.pow(Ee.length,-1/3)))}function H(Ee,Ae,ze){return Math.ceil((ze-Ae)/(3.5*d(Ee)*Math.pow(Ee.length,-1/3)))}function X(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re;if(Ae==null){for(;++Ce<ze;)if((me=Ee[Ce])!=null&&me>=me)for(Re=me;++Ce<ze;)(me=Ee[Ce])!=null&&me>Re&&(Re=me)}else for(;++Ce<ze;)if((me=Ae(Ee[Ce],Ce,Ee))!=null&&me>=me)for(Re=me;++Ce<ze;)(me=Ae(Ee[Ce],Ce,Ee))!=null&&me>Re&&(Re=me);return Re}function G(Ee,Ae){var ze=Ee.length,Ce=ze,me=-1,Re,ce=0;if(Ae==null)for(;++me<ze;)isNaN(Re=f(Ee[me]))?--Ce:ce+=Re;else for(;++me<ze;)isNaN(Re=f(Ae(Ee[me],me,Ee)))?--Ce:ce+=Re;if(Ce)return ce/Ce}function N(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re=[];if(Ae==null)for(;++Ce<ze;)isNaN(me=f(Ee[Ce]))||Re.push(me);else for(;++Ce<ze;)isNaN(me=f(Ae(Ee[Ce],Ce,Ee)))||Re.push(me);return q(Re.sort(t),.5)}function W(Ee){for(var Ae=Ee.length,ze,Ce=-1,me=0,Re,ce;++Ce<Ae;)me+=Ee[Ce].length;for(Re=new Array(me);--Ae>=0;)for(ce=Ee[Ae],ze=ce.length;--ze>=0;)Re[--me]=ce[ze];return Re}function re(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re;if(Ae==null){for(;++Ce<ze;)if((me=Ee[Ce])!=null&&me>=me)for(Re=me;++Ce<ze;)(me=Ee[Ce])!=null&&Re>me&&(Re=me)}else for(;++Ce<ze;)if((me=Ae(Ee[Ce],Ce,Ee))!=null&&me>=me)for(Re=me;++Ce<ze;)(me=Ae(Ee[Ce],Ce,Ee))!=null&&Re>me&&(Re=me);return Re}function ae(Ee,Ae){for(var ze=Ae.length,Ce=new Array(ze);ze--;)Ce[ze]=Ee[Ae[ze]];return Ce}function _e(Ee,Ae){if(ze=Ee.length){var ze,Ce=0,me=0,Re,ce=Ee[me];for(Ae==null&&(Ae=t);++Ce<ze;)(Ae(Re=Ee[Ce],ce)<0||Ae(ce,ce)!==0)&&(ce=Re,me=Ce);if(Ae(ce,ce)===0)return me}}function Me(Ee,Ae,ze){for(var Ce=(ze==null?Ee.length:ze)-(Ae=Ae==null?0:+Ae),me,Re;Ce;)Re=Math.random()*Ce--|0,me=Ee[Ce+Ae],Ee[Ce+Ae]=Ee[Re+Ae],Ee[Re+Ae]=me;return Ee}function ke(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re=0;if(Ae==null)for(;++Ce<ze;)(me=+Ee[Ce])&&(Re+=me);else for(;++Ce<ze;)(me=+Ae(Ee[Ce],Ce,Ee))&&(Re+=me);return Re}function ge(Ee){if(!(Re=Ee.length))return[];for(var Ae=-1,ze=re(Ee,ie),Ce=new Array(ze);++Ae<ze;)for(var me=-1,Re,ce=Ce[Ae]=new Array(Re);++me<Re;)ce[me]=Ee[me][Ae];return Ce}function ie(Ee){return Ee.length}function Te(){return ge(arguments)}e.bisect=a,e.bisectRight=a,e.bisectLeft=o,e.ascending=t,e.bisector=r,e.cross=u,e.descending=c,e.deviation=d,e.extent=v,e.histogram=F,e.thresholdFreedmanDiaconis=V,e.thresholdScott=H,e.thresholdSturges=T,e.max=X,e.mean=G,e.median=N,e.merge=W,e.min=re,e.pairs=s,e.permute=ae,e.quantile=q,e.range=A,e.scan=_e,e.shuffle=Me,e.sum=ke,e.ticks=M,e.tickIncrement=g,e.tickStep=P,e.transpose=ge,e.variance=h,e.zip=Te,Object.defineProperty(e,\"__esModule\",{value:!0})})});var xX=ye((Tz,_Re)=>{(function(e,t){typeof Tz==\"object\"&&typeof _Re!=\"undefined\"?t(Tz,$E()):(e=e||self,t(e.d3=e.d3||{},e.d3))})(Tz,function(e,t){\"use strict\";function r(){return new n}function n(){this.reset()}n.prototype={constructor:n,reset:function(){this.s=this.t=0},add:function(gt){a(i,gt,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(gt,Bt,wr){var vr=gt.s=Bt+wr,Ur=vr-Bt,fi=vr-Ur;gt.t=Bt-fi+(wr-Ur)}var o=1e-6,s=1e-12,l=Math.PI,u=l/2,c=l/4,f=l*2,h=180/l,d=l/180,v=Math.abs,x=Math.atan,b=Math.atan2,p=Math.cos,E=Math.ceil,k=Math.exp,A=Math.log,L=Math.pow,_=Math.sin,C=Math.sign||function(gt){return gt>0?1:gt<0?-1:0},M=Math.sqrt,g=Math.tan;function P(gt){return gt>1?0:gt<-1?l:Math.acos(gt)}function T(gt){return gt>1?u:gt<-1?-u:Math.asin(gt)}function F(gt){return(gt=_(gt/2))*gt}function q(){}function V(gt,Bt){gt&&X.hasOwnProperty(gt.type)&&X[gt.type](gt,Bt)}var H={Feature:function(gt,Bt){V(gt.geometry,Bt)},FeatureCollection:function(gt,Bt){for(var wr=gt.features,vr=-1,Ur=wr.length;++vr<Ur;)V(wr[vr].geometry,Bt)}},X={Sphere:function(gt,Bt){Bt.sphere()},Point:function(gt,Bt){gt=gt.coordinates,Bt.point(gt[0],gt[1],gt[2])},MultiPoint:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)gt=wr[vr],Bt.point(gt[0],gt[1],gt[2])},LineString:function(gt,Bt){G(gt.coordinates,Bt,0)},MultiLineString:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)G(wr[vr],Bt,0)},Polygon:function(gt,Bt){N(gt.coordinates,Bt)},MultiPolygon:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)N(wr[vr],Bt)},GeometryCollection:function(gt,Bt){for(var wr=gt.geometries,vr=-1,Ur=wr.length;++vr<Ur;)V(wr[vr],Bt)}};function G(gt,Bt,wr){var vr=-1,Ur=gt.length-wr,fi;for(Bt.lineStart();++vr<Ur;)fi=gt[vr],Bt.point(fi[0],fi[1],fi[2]);Bt.lineEnd()}function N(gt,Bt){var wr=-1,vr=gt.length;for(Bt.polygonStart();++wr<vr;)G(gt[wr],Bt,1);Bt.polygonEnd()}function W(gt,Bt){gt&&H.hasOwnProperty(gt.type)?H[gt.type](gt,Bt):V(gt,Bt)}var re=r(),ae=r(),_e,Me,ke,ge,ie,Te={point:q,lineStart:q,lineEnd:q,polygonStart:function(){re.reset(),Te.lineStart=Ee,Te.lineEnd=Ae},polygonEnd:function(){var gt=+re;ae.add(gt<0?f+gt:gt),this.lineStart=this.lineEnd=this.point=q},sphere:function(){ae.add(f)}};function Ee(){Te.point=ze}function Ae(){Ce(_e,Me)}function ze(gt,Bt){Te.point=Ce,_e=gt,Me=Bt,gt*=d,Bt*=d,ke=gt,ge=p(Bt=Bt/2+c),ie=_(Bt)}function Ce(gt,Bt){gt*=d,Bt*=d,Bt=Bt/2+c;var wr=gt-ke,vr=wr>=0?1:-1,Ur=vr*wr,fi=p(Bt),xi=_(Bt),Fi=ie*xi,Xi=ge*fi+Fi*p(Ur),hn=Fi*vr*_(Ur);re.add(b(hn,Xi)),ke=gt,ge=fi,ie=xi}function me(gt){return ae.reset(),W(gt,Te),ae*2}function Re(gt){return[b(gt[1],gt[0]),T(gt[2])]}function ce(gt){var Bt=gt[0],wr=gt[1],vr=p(wr);return[vr*p(Bt),vr*_(Bt),_(wr)]}function Ge(gt,Bt){return gt[0]*Bt[0]+gt[1]*Bt[1]+gt[2]*Bt[2]}function nt(gt,Bt){return[gt[1]*Bt[2]-gt[2]*Bt[1],gt[2]*Bt[0]-gt[0]*Bt[2],gt[0]*Bt[1]-gt[1]*Bt[0]]}function ct(gt,Bt){gt[0]+=Bt[0],gt[1]+=Bt[1],gt[2]+=Bt[2]}function qt(gt,Bt){return[gt[0]*Bt,gt[1]*Bt,gt[2]*Bt]}function rt(gt){var Bt=M(gt[0]*gt[0]+gt[1]*gt[1]+gt[2]*gt[2]);gt[0]/=Bt,gt[1]/=Bt,gt[2]/=Bt}var ot,Rt,kt,Ct,Yt,xr,er,Ke,xt=r(),bt,Lt,St={point:Et,lineStart:Ht,lineEnd:$t,polygonStart:function(){St.point=fr,St.lineStart=_r,St.lineEnd=Br,xt.reset(),Te.polygonStart()},polygonEnd:function(){Te.polygonEnd(),St.point=Et,St.lineStart=Ht,St.lineEnd=$t,re<0?(ot=-(kt=180),Rt=-(Ct=90)):xt>o?Ct=90:xt<-o&&(Rt=-90),Lt[0]=ot,Lt[1]=kt},sphere:function(){ot=-(kt=180),Rt=-(Ct=90)}};function Et(gt,Bt){bt.push(Lt=[ot=gt,kt=gt]),Bt<Rt&&(Rt=Bt),Bt>Ct&&(Ct=Bt)}function dt(gt,Bt){var wr=ce([gt*d,Bt*d]);if(Ke){var vr=nt(Ke,wr),Ur=[vr[1],-vr[0],0],fi=nt(Ur,vr);rt(fi),fi=Re(fi);var xi=gt-Yt,Fi=xi>0?1:-1,Xi=fi[0]*h*Fi,hn,Ti=v(xi)>180;Ti^(Fi*Yt<Xi&&Xi<Fi*gt)?(hn=fi[1]*h,hn>Ct&&(Ct=hn)):(Xi=(Xi+360)%360-180,Ti^(Fi*Yt<Xi&&Xi<Fi*gt)?(hn=-fi[1]*h,hn<Rt&&(Rt=hn)):(Bt<Rt&&(Rt=Bt),Bt>Ct&&(Ct=Bt))),Ti?gt<Yt?Or(ot,gt)>Or(ot,kt)&&(kt=gt):Or(gt,kt)>Or(ot,kt)&&(ot=gt):kt>=ot?(gt<ot&&(ot=gt),gt>kt&&(kt=gt)):gt>Yt?Or(ot,gt)>Or(ot,kt)&&(kt=gt):Or(gt,kt)>Or(ot,kt)&&(ot=gt)}else bt.push(Lt=[ot=gt,kt=gt]);Bt<Rt&&(Rt=Bt),Bt>Ct&&(Ct=Bt),Ke=wr,Yt=gt}function Ht(){St.point=dt}function $t(){Lt[0]=ot,Lt[1]=kt,St.point=Et,Ke=null}function fr(gt,Bt){if(Ke){var wr=gt-Yt;xt.add(v(wr)>180?wr+(wr>0?360:-360):wr)}else xr=gt,er=Bt;Te.point(gt,Bt),dt(gt,Bt)}function _r(){Te.lineStart()}function Br(){fr(xr,er),Te.lineEnd(),v(xt)>o&&(ot=-(kt=180)),Lt[0]=ot,Lt[1]=kt,Ke=null}function Or(gt,Bt){return(Bt-=gt)<0?Bt+360:Bt}function Nr(gt,Bt){return gt[0]-Bt[0]}function ut(gt,Bt){return gt[0]<=gt[1]?gt[0]<=Bt&&Bt<=gt[1]:Bt<gt[0]||gt[1]<Bt}function Ne(gt){var Bt,wr,vr,Ur,fi,xi,Fi;if(Ct=kt=-(ot=Rt=1/0),bt=[],W(gt,St),wr=bt.length){for(bt.sort(Nr),Bt=1,vr=bt[0],fi=[vr];Bt<wr;++Bt)Ur=bt[Bt],ut(vr,Ur[0])||ut(vr,Ur[1])?(Or(vr[0],Ur[1])>Or(vr[0],vr[1])&&(vr[1]=Ur[1]),Or(Ur[0],vr[1])>Or(vr[0],vr[1])&&(vr[0]=Ur[0])):fi.push(vr=Ur);for(xi=-1/0,wr=fi.length-1,Bt=0,vr=fi[wr];Bt<=wr;vr=Ur,++Bt)Ur=fi[Bt],(Fi=Or(vr[1],Ur[0]))>xi&&(xi=Fi,ot=Ur[0],kt=vr[1])}return bt=Lt=null,ot===1/0||Rt===1/0?[[NaN,NaN],[NaN,NaN]]:[[ot,Rt],[kt,Ct]]}var Ye,Ve,Xe,ht,Le,xe,Se,lt,Gt,Vt,ar,Qr,ai,jr,ri,bi,nn={sphere:q,point:Wi,lineStart:_n,lineEnd:Wn,polygonStart:function(){nn.lineStart=It,nn.lineEnd=ft},polygonEnd:function(){nn.lineStart=_n,nn.lineEnd=Wn}};function Wi(gt,Bt){gt*=d,Bt*=d;var wr=p(Bt);Ni(wr*p(gt),wr*_(gt),_(Bt))}function Ni(gt,Bt,wr){++Ye,Xe+=(gt-Xe)/Ye,ht+=(Bt-ht)/Ye,Le+=(wr-Le)/Ye}function _n(){nn.point=$i}function $i(gt,Bt){gt*=d,Bt*=d;var wr=p(Bt);jr=wr*p(gt),ri=wr*_(gt),bi=_(Bt),nn.point=zn,Ni(jr,ri,bi)}function zn(gt,Bt){gt*=d,Bt*=d;var wr=p(Bt),vr=wr*p(gt),Ur=wr*_(gt),fi=_(Bt),xi=b(M((xi=ri*fi-bi*Ur)*xi+(xi=bi*vr-jr*fi)*xi+(xi=jr*Ur-ri*vr)*xi),jr*vr+ri*Ur+bi*fi);Ve+=xi,xe+=xi*(jr+(jr=vr)),Se+=xi*(ri+(ri=Ur)),lt+=xi*(bi+(bi=fi)),Ni(jr,ri,bi)}function Wn(){nn.point=Wi}function It(){nn.point=jt}function ft(){Zt(Qr,ai),nn.point=Wi}function jt(gt,Bt){Qr=gt,ai=Bt,gt*=d,Bt*=d,nn.point=Zt;var wr=p(Bt);jr=wr*p(gt),ri=wr*_(gt),bi=_(Bt),Ni(jr,ri,bi)}function Zt(gt,Bt){gt*=d,Bt*=d;var wr=p(Bt),vr=wr*p(gt),Ur=wr*_(gt),fi=_(Bt),xi=ri*fi-bi*Ur,Fi=bi*vr-jr*fi,Xi=jr*Ur-ri*vr,hn=M(xi*xi+Fi*Fi+Xi*Xi),Ti=T(hn),qi=hn&&-Ti/hn;Gt+=qi*xi,Vt+=qi*Fi,ar+=qi*Xi,Ve+=Ti,xe+=Ti*(jr+(jr=vr)),Se+=Ti*(ri+(ri=Ur)),lt+=Ti*(bi+(bi=fi)),Ni(jr,ri,bi)}function yr(gt){Ye=Ve=Xe=ht=Le=xe=Se=lt=Gt=Vt=ar=0,W(gt,nn);var Bt=Gt,wr=Vt,vr=ar,Ur=Bt*Bt+wr*wr+vr*vr;return Ur<s&&(Bt=xe,wr=Se,vr=lt,Ve<o&&(Bt=Xe,wr=ht,vr=Le),Ur=Bt*Bt+wr*wr+vr*vr,Ur<s)?[NaN,NaN]:[b(wr,Bt)*h,T(vr/M(Ur))*h]}function Fr(gt){return function(){return gt}}function Zr(gt,Bt){function wr(vr,Ur){return vr=gt(vr,Ur),Bt(vr[0],vr[1])}return gt.invert&&Bt.invert&&(wr.invert=function(vr,Ur){return vr=Bt.invert(vr,Ur),vr&>.invert(vr[0],vr[1])}),wr}function Vr(gt,Bt){return[v(gt)>l?gt+Math.round(-gt/f)*f:gt,Bt]}Vr.invert=Vr;function gi(gt,Bt,wr){return(gt%=f)?Bt||wr?Zr(Mi(gt),Pi(Bt,wr)):Mi(gt):Bt||wr?Pi(Bt,wr):Vr}function Si(gt){return function(Bt,wr){return Bt+=gt,[Bt>l?Bt-f:Bt<-l?Bt+f:Bt,wr]}}function Mi(gt){var Bt=Si(gt);return Bt.invert=Si(-gt),Bt}function Pi(gt,Bt){var wr=p(gt),vr=_(gt),Ur=p(Bt),fi=_(Bt);function xi(Fi,Xi){var hn=p(Xi),Ti=p(Fi)*hn,qi=_(Fi)*hn,Ii=_(Xi),mi=Ii*wr+Ti*vr;return[b(qi*Ur-mi*fi,Ti*wr-Ii*vr),T(mi*Ur+qi*fi)]}return xi.invert=function(Fi,Xi){var hn=p(Xi),Ti=p(Fi)*hn,qi=_(Fi)*hn,Ii=_(Xi),mi=Ii*Ur-qi*fi;return[b(qi*Ur+Ii*fi,Ti*wr+mi*vr),T(mi*wr-Ti*vr)]},xi}function Gi(gt){gt=gi(gt[0]*d,gt[1]*d,gt.length>2?gt[2]*d:0);function Bt(wr){return wr=gt(wr[0]*d,wr[1]*d),wr[0]*=h,wr[1]*=h,wr}return Bt.invert=function(wr){return wr=gt.invert(wr[0]*d,wr[1]*d),wr[0]*=h,wr[1]*=h,wr},Bt}function Ki(gt,Bt,wr,vr,Ur,fi){if(wr){var xi=p(Bt),Fi=_(Bt),Xi=vr*wr;Ur==null?(Ur=Bt+vr*f,fi=Bt-Xi/2):(Ur=ka(xi,Ur),fi=ka(xi,fi),(vr>0?Ur<fi:Ur>fi)&&(Ur+=vr*f));for(var hn,Ti=Ur;vr>0?Ti>fi:Ti<fi;Ti-=Xi)hn=Re([xi,-Fi*p(Ti),-Fi*_(Ti)]),gt.point(hn[0],hn[1])}}function ka(gt,Bt){Bt=ce(Bt),Bt[0]-=gt,rt(Bt);var wr=P(-Bt[1]);return((-Bt[2]<0?-wr:wr)+f-o)%f}function jn(){var gt=Fr([0,0]),Bt=Fr(90),wr=Fr(6),vr,Ur,fi={point:xi};function xi(Xi,hn){vr.push(Xi=Ur(Xi,hn)),Xi[0]*=h,Xi[1]*=h}function Fi(){var Xi=gt.apply(this,arguments),hn=Bt.apply(this,arguments)*d,Ti=wr.apply(this,arguments)*d;return vr=[],Ur=gi(-Xi[0]*d,-Xi[1]*d,0).invert,Ki(fi,hn,Ti,1),Xi={type:\"Polygon\",coordinates:[vr]},vr=Ur=null,Xi}return Fi.center=function(Xi){return arguments.length?(gt=typeof Xi==\"function\"?Xi:Fr([+Xi[0],+Xi[1]]),Fi):gt},Fi.radius=function(Xi){return arguments.length?(Bt=typeof Xi==\"function\"?Xi:Fr(+Xi),Fi):Bt},Fi.precision=function(Xi){return arguments.length?(wr=typeof Xi==\"function\"?Xi:Fr(+Xi),Fi):wr},Fi}function la(){var gt=[],Bt;return{point:function(wr,vr,Ur){Bt.push([wr,vr,Ur])},lineStart:function(){gt.push(Bt=[])},lineEnd:q,rejoin:function(){gt.length>1&>.push(gt.pop().concat(gt.shift()))},result:function(){var wr=gt;return gt=[],Bt=null,wr}}}function Fa(gt,Bt){return v(gt[0]-Bt[0])<o&&v(gt[1]-Bt[1])<o}function Ra(gt,Bt,wr,vr){this.x=gt,this.z=Bt,this.o=wr,this.e=vr,this.v=!1,this.n=this.p=null}function jo(gt,Bt,wr,vr,Ur){var fi=[],xi=[],Fi,Xi;if(gt.forEach(function(Pn){if(!((Ma=Pn.length-1)<=0)){var Ma,Ta=Pn[0],Ea=Pn[Ma],qa;if(Fa(Ta,Ea)){if(!Ta[2]&&!Ea[2]){for(Ur.lineStart(),Fi=0;Fi<Ma;++Fi)Ur.point((Ta=Pn[Fi])[0],Ta[1]);Ur.lineEnd();return}Ea[0]+=2*o}fi.push(qa=new Ra(Ta,Pn,null,!0)),xi.push(qa.o=new Ra(Ta,null,qa,!1)),fi.push(qa=new Ra(Ea,Pn,null,!1)),xi.push(qa.o=new Ra(Ea,null,qa,!0))}}),!!fi.length){for(xi.sort(Bt),oa(fi),oa(xi),Fi=0,Xi=xi.length;Fi<Xi;++Fi)xi[Fi].e=wr=!wr;for(var hn=fi[0],Ti,qi;;){for(var Ii=hn,mi=!0;Ii.v;)if((Ii=Ii.n)===hn)return;Ti=Ii.z,Ur.lineStart();do{if(Ii.v=Ii.o.v=!0,Ii.e){if(mi)for(Fi=0,Xi=Ti.length;Fi<Xi;++Fi)Ur.point((qi=Ti[Fi])[0],qi[1]);else vr(Ii.x,Ii.n.x,1,Ur);Ii=Ii.n}else{if(mi)for(Ti=Ii.p.z,Fi=Ti.length-1;Fi>=0;--Fi)Ur.point((qi=Ti[Fi])[0],qi[1]);else vr(Ii.x,Ii.p.x,-1,Ur);Ii=Ii.p}Ii=Ii.o,Ti=Ii.z,mi=!mi}while(!Ii.v);Ur.lineEnd()}}}function oa(gt){if(Bt=gt.length){for(var Bt,wr=0,vr=gt[0],Ur;++wr<Bt;)vr.n=Ur=gt[wr],Ur.p=vr,vr=Ur;vr.n=Ur=gt[0],Ur.p=vr}}var Sn=r();function Ha(gt){return v(gt[0])<=l?gt[0]:C(gt[0])*((v(gt[0])+l)%f-l)}function oo(gt,Bt){var wr=Ha(Bt),vr=Bt[1],Ur=_(vr),fi=[_(wr),-p(wr),0],xi=0,Fi=0;Sn.reset(),Ur===1?vr=u+o:Ur===-1&&(vr=-u-o);for(var Xi=0,hn=gt.length;Xi<hn;++Xi)if(qi=(Ti=gt[Xi]).length)for(var Ti,qi,Ii=Ti[qi-1],mi=Ha(Ii),Pn=Ii[1]/2+c,Ma=_(Pn),Ta=p(Pn),Ea=0;Ea<qi;++Ea,mi=Cn,Ma=Ua,Ta=mo,Ii=qa){var qa=Ti[Ea],Cn=Ha(qa),sn=qa[1]/2+c,Ua=_(sn),mo=p(sn),Xo=Cn-mi,Ts=Xo>=0?1:-1,Qo=Ts*Xo,ys=Qo>l,Bo=Ma*Ua;if(Sn.add(b(Bo*Ts*_(Qo),Ta*mo+Bo*p(Qo))),xi+=ys?Xo+Ts*f:Xo,ys^mi>=wr^Cn>=wr){var yl=nt(ce(Ii),ce(qa));rt(yl);var Gs=nt(fi,yl);rt(Gs);var Rs=(ys^Xo>=0?-1:1)*T(Gs[2]);(vr>Rs||vr===Rs&&(yl[0]||yl[1]))&&(Fi+=ys^Xo>=0?1:-1)}}return(xi<-o||xi<o&&Sn<-o)^Fi&1}function xn(gt,Bt,wr,vr){return function(Ur){var fi=Bt(Ur),xi=la(),Fi=Bt(xi),Xi=!1,hn,Ti,qi,Ii={point:mi,lineStart:Ma,lineEnd:Ta,polygonStart:function(){Ii.point=Ea,Ii.lineStart=qa,Ii.lineEnd=Cn,Ti=[],hn=[]},polygonEnd:function(){Ii.point=mi,Ii.lineStart=Ma,Ii.lineEnd=Ta,Ti=t.merge(Ti);var sn=oo(hn,vr);Ti.length?(Xi||(Ur.polygonStart(),Xi=!0),jo(Ti,br,sn,wr,Ur)):sn&&(Xi||(Ur.polygonStart(),Xi=!0),Ur.lineStart(),wr(null,null,1,Ur),Ur.lineEnd()),Xi&&(Ur.polygonEnd(),Xi=!1),Ti=hn=null},sphere:function(){Ur.polygonStart(),Ur.lineStart(),wr(null,null,1,Ur),Ur.lineEnd(),Ur.polygonEnd()}};function mi(sn,Ua){gt(sn,Ua)&&Ur.point(sn,Ua)}function Pn(sn,Ua){fi.point(sn,Ua)}function Ma(){Ii.point=Pn,fi.lineStart()}function Ta(){Ii.point=mi,fi.lineEnd()}function Ea(sn,Ua){qi.push([sn,Ua]),Fi.point(sn,Ua)}function qa(){Fi.lineStart(),qi=[]}function Cn(){Ea(qi[0][0],qi[0][1]),Fi.lineEnd();var sn=Fi.clean(),Ua=xi.result(),mo,Xo=Ua.length,Ts,Qo,ys;if(qi.pop(),hn.push(qi),qi=null,!!Xo){if(sn&1){if(Qo=Ua[0],(Ts=Qo.length-1)>0){for(Xi||(Ur.polygonStart(),Xi=!0),Ur.lineStart(),mo=0;mo<Ts;++mo)Ur.point((ys=Qo[mo])[0],ys[1]);Ur.lineEnd()}return}Xo>1&&sn&2&&Ua.push(Ua.pop().concat(Ua.shift())),Ti.push(Ua.filter(_t))}}return Ii}}function _t(gt){return gt.length>1}function br(gt,Bt){return((gt=gt.x)[0]<0?gt[1]-u-o:u-gt[1])-((Bt=Bt.x)[0]<0?Bt[1]-u-o:u-Bt[1])}var Hr=xn(function(){return!0},ti,Yi,[-l,-u]);function ti(gt){var Bt=NaN,wr=NaN,vr=NaN,Ur;return{lineStart:function(){gt.lineStart(),Ur=1},point:function(fi,xi){var Fi=fi>0?l:-l,Xi=v(fi-Bt);v(Xi-l)<o?(gt.point(Bt,wr=(wr+xi)/2>0?u:-u),gt.point(vr,wr),gt.lineEnd(),gt.lineStart(),gt.point(Fi,wr),gt.point(fi,wr),Ur=0):vr!==Fi&&Xi>=l&&(v(Bt-vr)<o&&(Bt-=vr*o),v(fi-Fi)<o&&(fi-=Fi*o),wr=zi(Bt,wr,fi,xi),gt.point(vr,wr),gt.lineEnd(),gt.lineStart(),gt.point(Fi,wr),Ur=0),gt.point(Bt=fi,wr=xi),vr=Fi},lineEnd:function(){gt.lineEnd(),Bt=wr=NaN},clean:function(){return 2-Ur}}}function zi(gt,Bt,wr,vr){var Ur,fi,xi=_(gt-wr);return v(xi)>o?x((_(Bt)*(fi=p(vr))*_(wr)-_(vr)*(Ur=p(Bt))*_(gt))/(Ur*fi*xi)):(Bt+vr)/2}function Yi(gt,Bt,wr,vr){var Ur;if(gt==null)Ur=wr*u,vr.point(-l,Ur),vr.point(0,Ur),vr.point(l,Ur),vr.point(l,0),vr.point(l,-Ur),vr.point(0,-Ur),vr.point(-l,-Ur),vr.point(-l,0),vr.point(-l,Ur);else if(v(gt[0]-Bt[0])>o){var fi=gt[0]<Bt[0]?l:-l;Ur=wr*fi/2,vr.point(-fi,Ur),vr.point(0,Ur),vr.point(fi,Ur)}else vr.point(Bt[0],Bt[1])}function an(gt){var Bt=p(gt),wr=6*d,vr=Bt>0,Ur=v(Bt)>o;function fi(Ti,qi,Ii,mi){Ki(mi,gt,wr,Ii,Ti,qi)}function xi(Ti,qi){return p(Ti)*p(qi)>Bt}function Fi(Ti){var qi,Ii,mi,Pn,Ma;return{lineStart:function(){Pn=mi=!1,Ma=1},point:function(Ta,Ea){var qa=[Ta,Ea],Cn,sn=xi(Ta,Ea),Ua=vr?sn?0:hn(Ta,Ea):sn?hn(Ta+(Ta<0?l:-l),Ea):0;if(!qi&&(Pn=mi=sn)&&Ti.lineStart(),sn!==mi&&(Cn=Xi(qi,qa),(!Cn||Fa(qi,Cn)||Fa(qa,Cn))&&(qa[2]=1)),sn!==mi)Ma=0,sn?(Ti.lineStart(),Cn=Xi(qa,qi),Ti.point(Cn[0],Cn[1])):(Cn=Xi(qi,qa),Ti.point(Cn[0],Cn[1],2),Ti.lineEnd()),qi=Cn;else if(Ur&&qi&&vr^sn){var mo;!(Ua&Ii)&&(mo=Xi(qa,qi,!0))&&(Ma=0,vr?(Ti.lineStart(),Ti.point(mo[0][0],mo[0][1]),Ti.point(mo[1][0],mo[1][1]),Ti.lineEnd()):(Ti.point(mo[1][0],mo[1][1]),Ti.lineEnd(),Ti.lineStart(),Ti.point(mo[0][0],mo[0][1],3)))}sn&&(!qi||!Fa(qi,qa))&&Ti.point(qa[0],qa[1]),qi=qa,mi=sn,Ii=Ua},lineEnd:function(){mi&&Ti.lineEnd(),qi=null},clean:function(){return Ma|(Pn&&mi)<<1}}}function Xi(Ti,qi,Ii){var mi=ce(Ti),Pn=ce(qi),Ma=[1,0,0],Ta=nt(mi,Pn),Ea=Ge(Ta,Ta),qa=Ta[0],Cn=Ea-qa*qa;if(!Cn)return!Ii&&Ti;var sn=Bt*Ea/Cn,Ua=-Bt*qa/Cn,mo=nt(Ma,Ta),Xo=qt(Ma,sn),Ts=qt(Ta,Ua);ct(Xo,Ts);var Qo=mo,ys=Ge(Xo,Qo),Bo=Ge(Qo,Qo),yl=ys*ys-Bo*(Ge(Xo,Xo)-1);if(!(yl<0)){var Gs=M(yl),Rs=qt(Qo,(-ys-Gs)/Bo);if(ct(Rs,Xo),Rs=Re(Rs),!Ii)return Rs;var ia=Ti[0],Ka=qi[0],vs=Ti[1],Ko=qi[1],nu;Ka<ia&&(nu=ia,ia=Ka,Ka=nu);var Ru=Ka-ia,ac=v(Ru-l)<o,mf=ac||Ru<o;if(!ac&&Ko<vs&&(nu=vs,vs=Ko,Ko=nu),mf?ac?vs+Ko>0^Rs[1]<(v(Rs[0]-ia)<o?vs:Ko):vs<=Rs[1]&&Rs[1]<=Ko:Ru>l^(ia<=Rs[0]&&Rs[0]<=Ka)){var bu=qt(Qo,(-ys+Gs)/Bo);return ct(bu,Xo),[Rs,Re(bu)]}}}function hn(Ti,qi){var Ii=vr?gt:l-gt,mi=0;return Ti<-Ii?mi|=1:Ti>Ii&&(mi|=2),qi<-Ii?mi|=4:qi>Ii&&(mi|=8),mi}return xn(xi,Fi,fi,vr?[0,-gt]:[-l,gt-l])}function hi(gt,Bt,wr,vr,Ur,fi){var xi=gt[0],Fi=gt[1],Xi=Bt[0],hn=Bt[1],Ti=0,qi=1,Ii=Xi-xi,mi=hn-Fi,Pn;if(Pn=wr-xi,!(!Ii&&Pn>0)){if(Pn/=Ii,Ii<0){if(Pn<Ti)return;Pn<qi&&(qi=Pn)}else if(Ii>0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}if(Pn=Ur-xi,!(!Ii&&Pn<0)){if(Pn/=Ii,Ii<0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}else if(Ii>0){if(Pn<Ti)return;Pn<qi&&(qi=Pn)}if(Pn=vr-Fi,!(!mi&&Pn>0)){if(Pn/=mi,mi<0){if(Pn<Ti)return;Pn<qi&&(qi=Pn)}else if(mi>0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}if(Pn=fi-Fi,!(!mi&&Pn<0)){if(Pn/=mi,mi<0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}else if(mi>0){if(Pn<Ti)return;Pn<qi&&(qi=Pn)}return Ti>0&&(gt[0]=xi+Ti*Ii,gt[1]=Fi+Ti*mi),qi<1&&(Bt[0]=xi+qi*Ii,Bt[1]=Fi+qi*mi),!0}}}}}var Ji=1e9,ua=-Ji;function Fn(gt,Bt,wr,vr){function Ur(hn,Ti){return gt<=hn&&hn<=wr&&Bt<=Ti&&Ti<=vr}function fi(hn,Ti,qi,Ii){var mi=0,Pn=0;if(hn==null||(mi=xi(hn,qi))!==(Pn=xi(Ti,qi))||Xi(hn,Ti)<0^qi>0)do Ii.point(mi===0||mi===3?gt:wr,mi>1?vr:Bt);while((mi=(mi+qi+4)%4)!==Pn);else Ii.point(Ti[0],Ti[1])}function xi(hn,Ti){return v(hn[0]-gt)<o?Ti>0?0:3:v(hn[0]-wr)<o?Ti>0?2:1:v(hn[1]-Bt)<o?Ti>0?1:0:Ti>0?3:2}function Fi(hn,Ti){return Xi(hn.x,Ti.x)}function Xi(hn,Ti){var qi=xi(hn,1),Ii=xi(Ti,1);return qi!==Ii?qi-Ii:qi===0?Ti[1]-hn[1]:qi===1?hn[0]-Ti[0]:qi===2?hn[1]-Ti[1]:Ti[0]-hn[0]}return function(hn){var Ti=hn,qi=la(),Ii,mi,Pn,Ma,Ta,Ea,qa,Cn,sn,Ua,mo,Xo={point:Ts,lineStart:yl,lineEnd:Gs,polygonStart:ys,polygonEnd:Bo};function Ts(ia,Ka){Ur(ia,Ka)&&Ti.point(ia,Ka)}function Qo(){for(var ia=0,Ka=0,vs=mi.length;Ka<vs;++Ka)for(var Ko=mi[Ka],nu=1,Ru=Ko.length,ac=Ko[0],mf,bu,Kc=ac[0],Du=ac[1];nu<Ru;++nu)mf=Kc,bu=Du,ac=Ko[nu],Kc=ac[0],Du=ac[1],bu<=vr?Du>vr&&(Kc-mf)*(vr-bu)>(Du-bu)*(gt-mf)&&++ia:Du<=vr&&(Kc-mf)*(vr-bu)<(Du-bu)*(gt-mf)&&--ia;return ia}function ys(){Ti=qi,Ii=[],mi=[],mo=!0}function Bo(){var ia=Qo(),Ka=mo&&ia,vs=(Ii=t.merge(Ii)).length;(Ka||vs)&&(hn.polygonStart(),Ka&&(hn.lineStart(),fi(null,null,1,hn),hn.lineEnd()),vs&&jo(Ii,Fi,ia,fi,hn),hn.polygonEnd()),Ti=hn,Ii=mi=Pn=null}function yl(){Xo.point=Rs,mi&&mi.push(Pn=[]),Ua=!0,sn=!1,qa=Cn=NaN}function Gs(){Ii&&(Rs(Ma,Ta),Ea&&sn&&qi.rejoin(),Ii.push(qi.result())),Xo.point=Ts,sn&&Ti.lineEnd()}function Rs(ia,Ka){var vs=Ur(ia,Ka);if(mi&&Pn.push([ia,Ka]),Ua)Ma=ia,Ta=Ka,Ea=vs,Ua=!1,vs&&(Ti.lineStart(),Ti.point(ia,Ka));else if(vs&&sn)Ti.point(ia,Ka);else{var Ko=[qa=Math.max(ua,Math.min(Ji,qa)),Cn=Math.max(ua,Math.min(Ji,Cn))],nu=[ia=Math.max(ua,Math.min(Ji,ia)),Ka=Math.max(ua,Math.min(Ji,Ka))];hi(Ko,nu,gt,Bt,wr,vr)?(sn||(Ti.lineStart(),Ti.point(Ko[0],Ko[1])),Ti.point(nu[0],nu[1]),vs||Ti.lineEnd(),mo=!1):vs&&(Ti.lineStart(),Ti.point(ia,Ka),mo=!1)}qa=ia,Cn=Ka,sn=vs}return Xo}}function Sa(){var gt=0,Bt=0,wr=960,vr=500,Ur,fi,xi;return xi={stream:function(Fi){return Ur&&fi===Fi?Ur:Ur=Fn(gt,Bt,wr,vr)(fi=Fi)},extent:function(Fi){return arguments.length?(gt=+Fi[0][0],Bt=+Fi[0][1],wr=+Fi[1][0],vr=+Fi[1][1],Ur=fi=null,xi):[[gt,Bt],[wr,vr]]}}}var go=r(),Oo,ho,Mo,xo={sphere:q,point:q,lineStart:zs,lineEnd:q,polygonStart:q,polygonEnd:q};function zs(){xo.point=Zs,xo.lineEnd=ks}function ks(){xo.point=xo.lineEnd=q}function Zs(gt,Bt){gt*=d,Bt*=d,Oo=gt,ho=_(Bt),Mo=p(Bt),xo.point=Xs}function Xs(gt,Bt){gt*=d,Bt*=d;var wr=_(Bt),vr=p(Bt),Ur=v(gt-Oo),fi=p(Ur),xi=_(Ur),Fi=vr*xi,Xi=Mo*wr-ho*vr*fi,hn=ho*wr+Mo*vr*fi;go.add(b(M(Fi*Fi+Xi*Xi),hn)),Oo=gt,ho=wr,Mo=vr}function wl(gt){return go.reset(),W(gt,xo),+go}var os=[null,null],cl={type:\"LineString\",coordinates:os};function Cs(gt,Bt){return os[0]=gt,os[1]=Bt,wl(cl)}var ml={Feature:function(gt,Bt){return Hs(gt.geometry,Bt)},FeatureCollection:function(gt,Bt){for(var wr=gt.features,vr=-1,Ur=wr.length;++vr<Ur;)if(Hs(wr[vr].geometry,Bt))return!0;return!1}},Ys={Sphere:function(){return!0},Point:function(gt,Bt){return Eo(gt.coordinates,Bt)},MultiPoint:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)if(Eo(wr[vr],Bt))return!0;return!1},LineString:function(gt,Bt){return fs(gt.coordinates,Bt)},MultiLineString:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)if(fs(wr[vr],Bt))return!0;return!1},Polygon:function(gt,Bt){return Ql(gt.coordinates,Bt)},MultiPolygon:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)if(Ql(wr[vr],Bt))return!0;return!1},GeometryCollection:function(gt,Bt){for(var wr=gt.geometries,vr=-1,Ur=wr.length;++vr<Ur;)if(Hs(wr[vr],Bt))return!0;return!1}};function Hs(gt,Bt){return gt&&Ys.hasOwnProperty(gt.type)?Ys[gt.type](gt,Bt):!1}function Eo(gt,Bt){return Cs(gt,Bt)===0}function fs(gt,Bt){for(var wr,vr,Ur,fi=0,xi=gt.length;fi<xi;fi++){if(vr=Cs(gt[fi],Bt),vr===0||fi>0&&(Ur=Cs(gt[fi],gt[fi-1]),Ur>0&&wr<=Ur&&vr<=Ur&&(wr+vr-Ur)*(1-Math.pow((wr-vr)/Ur,2))<s*Ur))return!0;wr=vr}return!1}function Ql(gt,Bt){return!!oo(gt.map(Hu),fc(Bt))}function Hu(gt){return gt=gt.map(fc),gt.pop(),gt}function fc(gt){return[gt[0]*d,gt[1]*d]}function ms(gt,Bt){return(gt&&ml.hasOwnProperty(gt.type)?ml[gt.type]:Hs)(gt,Bt)}function on(gt,Bt,wr){var vr=t.range(gt,Bt-o,wr).concat(Bt);return function(Ur){return vr.map(function(fi){return[Ur,fi]})}}function fa(gt,Bt,wr){var vr=t.range(gt,Bt-o,wr).concat(Bt);return function(Ur){return vr.map(function(fi){return[fi,Ur]})}}function Qu(){var gt,Bt,wr,vr,Ur,fi,xi,Fi,Xi=10,hn=Xi,Ti=90,qi=360,Ii,mi,Pn,Ma,Ta=2.5;function Ea(){return{type:\"MultiLineString\",coordinates:qa()}}function qa(){return t.range(E(vr/Ti)*Ti,wr,Ti).map(Pn).concat(t.range(E(Fi/qi)*qi,xi,qi).map(Ma)).concat(t.range(E(Bt/Xi)*Xi,gt,Xi).filter(function(Cn){return v(Cn%Ti)>o}).map(Ii)).concat(t.range(E(fi/hn)*hn,Ur,hn).filter(function(Cn){return v(Cn%qi)>o}).map(mi))}return Ea.lines=function(){return qa().map(function(Cn){return{type:\"LineString\",coordinates:Cn}})},Ea.outline=function(){return{type:\"Polygon\",coordinates:[Pn(vr).concat(Ma(xi).slice(1),Pn(wr).reverse().slice(1),Ma(Fi).reverse().slice(1))]}},Ea.extent=function(Cn){return arguments.length?Ea.extentMajor(Cn).extentMinor(Cn):Ea.extentMinor()},Ea.extentMajor=function(Cn){return arguments.length?(vr=+Cn[0][0],wr=+Cn[1][0],Fi=+Cn[0][1],xi=+Cn[1][1],vr>wr&&(Cn=vr,vr=wr,wr=Cn),Fi>xi&&(Cn=Fi,Fi=xi,xi=Cn),Ea.precision(Ta)):[[vr,Fi],[wr,xi]]},Ea.extentMinor=function(Cn){return arguments.length?(Bt=+Cn[0][0],gt=+Cn[1][0],fi=+Cn[0][1],Ur=+Cn[1][1],Bt>gt&&(Cn=Bt,Bt=gt,gt=Cn),fi>Ur&&(Cn=fi,fi=Ur,Ur=Cn),Ea.precision(Ta)):[[Bt,fi],[gt,Ur]]},Ea.step=function(Cn){return arguments.length?Ea.stepMajor(Cn).stepMinor(Cn):Ea.stepMinor()},Ea.stepMajor=function(Cn){return arguments.length?(Ti=+Cn[0],qi=+Cn[1],Ea):[Ti,qi]},Ea.stepMinor=function(Cn){return arguments.length?(Xi=+Cn[0],hn=+Cn[1],Ea):[Xi,hn]},Ea.precision=function(Cn){return arguments.length?(Ta=+Cn,Ii=on(fi,Ur,90),mi=fa(Bt,gt,Ta),Pn=on(Fi,xi,90),Ma=fa(vr,wr,Ta),Ea):Ta},Ea.extentMajor([[-180,-90+o],[180,90-o]]).extentMinor([[-180,-80-o],[180,80+o]])}function Rl(){return Qu()()}function vo(gt,Bt){var wr=gt[0]*d,vr=gt[1]*d,Ur=Bt[0]*d,fi=Bt[1]*d,xi=p(vr),Fi=_(vr),Xi=p(fi),hn=_(fi),Ti=xi*p(wr),qi=xi*_(wr),Ii=Xi*p(Ur),mi=Xi*_(Ur),Pn=2*T(M(F(fi-vr)+xi*Xi*F(Ur-wr))),Ma=_(Pn),Ta=Pn?function(Ea){var qa=_(Ea*=Pn)/Ma,Cn=_(Pn-Ea)/Ma,sn=Cn*Ti+qa*Ii,Ua=Cn*qi+qa*mi,mo=Cn*Fi+qa*hn;return[b(Ua,sn)*h,b(mo,M(sn*sn+Ua*Ua))*h]}:function(){return[wr*h,vr*h]};return Ta.distance=Pn,Ta}function Zl(gt){return gt}var Ks=r(),Xl=r(),Ec,Zn,ko,Co,Tl={point:q,lineStart:q,lineEnd:q,polygonStart:function(){Tl.lineStart=uf,Tl.lineEnd=rh},polygonEnd:function(){Tl.lineStart=Tl.lineEnd=Tl.point=q,Ks.add(v(Xl)),Xl.reset()},result:function(){var gt=Ks/2;return Ks.reset(),gt}};function uf(){Tl.point=So}function So(gt,Bt){Tl.point=cf,Ec=ko=gt,Zn=Co=Bt}function cf(gt,Bt){Xl.add(Co*gt-ko*Bt),ko=gt,Co=Bt}function rh(){cf(Ec,Zn)}var Al=1/0,Hc=Al,eu=-Al,Ls=eu,mu={point:kc,lineStart:q,lineEnd:q,polygonStart:q,polygonEnd:q,result:function(){var gt=[[Al,Hc],[eu,Ls]];return eu=Ls=-(Hc=Al=1/0),gt}};function kc(gt,Bt){gt<Al&&(Al=gt),gt>eu&&(eu=gt),Bt<Hc&&(Hc=Bt),Bt>Ls&&(Ls=Bt)}var Of=0,Gc=0,vd=0,Bf=0,ss=0,ff=0,ih=0,Vl=0,Js=0,hc,Cc,ws,$s,hs={point:Ms,lineStart:dc,lineEnd:Ps,polygonStart:function(){hs.lineStart=ov,hs.lineEnd=wo},polygonEnd:function(){hs.point=Ms,hs.lineStart=dc,hs.lineEnd=Ps},result:function(){var gt=Js?[ih/Js,Vl/Js]:ff?[Bf/ff,ss/ff]:vd?[Of/vd,Gc/vd]:[NaN,NaN];return Of=Gc=vd=Bf=ss=ff=ih=Vl=Js=0,gt}};function Ms(gt,Bt){Of+=gt,Gc+=Bt,++vd}function dc(){hs.point=Sl}function Sl(gt,Bt){hs.point=ec,Ms(ws=gt,$s=Bt)}function ec(gt,Bt){var wr=gt-ws,vr=Bt-$s,Ur=M(wr*wr+vr*vr);Bf+=Ur*(ws+gt)/2,ss+=Ur*($s+Bt)/2,ff+=Ur,Ms(ws=gt,$s=Bt)}function Ps(){hs.point=Ms}function ov(){hs.point=Od}function wo(){$o(hc,Cc)}function Od(gt,Bt){hs.point=$o,Ms(hc=ws=gt,Cc=$s=Bt)}function $o(gt,Bt){var wr=gt-ws,vr=Bt-$s,Ur=M(wr*wr+vr*vr);Bf+=Ur*(ws+gt)/2,ss+=Ur*($s+Bt)/2,ff+=Ur,Ur=$s*gt-ws*Bt,ih+=Ur*(ws+gt),Vl+=Ur*($s+Bt),Js+=Ur*3,Ms(ws=gt,$s=Bt)}function Ja(gt){this._context=gt}Ja.prototype={_radius:4.5,pointRadius:function(gt){return this._radius=gt,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(gt,Bt){switch(this._point){case 0:{this._context.moveTo(gt,Bt),this._point=1;break}case 1:{this._context.lineTo(gt,Bt);break}default:{this._context.moveTo(gt+this._radius,Bt),this._context.arc(gt,Bt,this._radius,0,f);break}}},result:q};var Ef=r(),tc,uu,Mh,jc,kf,Ml={point:q,lineStart:function(){Ml.point=Yh},lineEnd:function(){tc&&Eh(uu,Mh),Ml.point=q},polygonStart:function(){tc=!0},polygonEnd:function(){tc=null},result:function(){var gt=+Ef;return Ef.reset(),gt}};function Yh(gt,Bt){Ml.point=Eh,uu=jc=gt,Mh=kf=Bt}function Eh(gt,Bt){jc-=gt,kf-=Bt,Ef.add(M(jc*jc+kf*kf)),jc=gt,kf=Bt}function nh(){this._string=[]}nh.prototype={_radius:4.5,_circle:hf(4.5),pointRadius:function(gt){return(gt=+gt)!==this._radius&&(this._radius=gt,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._string.push(\"Z\"),this._point=NaN},point:function(gt,Bt){switch(this._point){case 0:{this._string.push(\"M\",gt,\",\",Bt),this._point=1;break}case 1:{this._string.push(\"L\",gt,\",\",Bt);break}default:{this._circle==null&&(this._circle=hf(this._radius)),this._string.push(\"M\",gt,\",\",Bt,this._circle);break}}},result:function(){if(this._string.length){var gt=this._string.join(\"\");return this._string=[],gt}else return null}};function hf(gt){return\"m0,\"+gt+\"a\"+gt+\",\"+gt+\" 0 1,1 0,\"+-2*gt+\"a\"+gt+\",\"+gt+\" 0 1,1 0,\"+2*gt+\"z\"}function kh(gt,Bt){var wr=4.5,vr,Ur;function fi(xi){return xi&&(typeof wr==\"function\"&&Ur.pointRadius(+wr.apply(this,arguments)),W(xi,vr(Ur))),Ur.result()}return fi.area=function(xi){return W(xi,vr(Tl)),Tl.result()},fi.measure=function(xi){return W(xi,vr(Ml)),Ml.result()},fi.bounds=function(xi){return W(xi,vr(mu)),mu.result()},fi.centroid=function(xi){return W(xi,vr(hs)),hs.result()},fi.projection=function(xi){return arguments.length?(vr=xi==null?(gt=null,Zl):(gt=xi).stream,fi):gt},fi.context=function(xi){return arguments.length?(Ur=xi==null?(Bt=null,new nh):new Ja(Bt=xi),typeof wr!=\"function\"&&Ur.pointRadius(wr),fi):Bt},fi.pointRadius=function(xi){return arguments.length?(wr=typeof xi==\"function\"?xi:(Ur.pointRadius(+xi),+xi),fi):wr},fi.projection(gt).context(Bt)}function Kh(gt){return{stream:rc(gt)}}function rc(gt){return function(Bt){var wr=new ah;for(var vr in gt)wr[vr]=gt[vr];return wr.stream=Bt,wr}}function ah(){}ah.prototype={constructor:ah,point:function(gt,Bt){this.stream.point(gt,Bt)},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()}};function Wc(gt,Bt,wr){var vr=gt.clipExtent&>.clipExtent();return gt.scale(150).translate([0,0]),vr!=null&>.clipExtent(null),W(wr,gt.stream(mu)),Bt(mu.result()),vr!=null&>.clipExtent(vr),gt}function df(gt,Bt,wr){return Wc(gt,function(vr){var Ur=Bt[1][0]-Bt[0][0],fi=Bt[1][1]-Bt[0][1],xi=Math.min(Ur/(vr[1][0]-vr[0][0]),fi/(vr[1][1]-vr[0][1])),Fi=+Bt[0][0]+(Ur-xi*(vr[1][0]+vr[0][0]))/2,Xi=+Bt[0][1]+(fi-xi*(vr[1][1]+vr[0][1]))/2;gt.scale(150*xi).translate([Fi,Xi])},wr)}function Cu(gt,Bt,wr){return df(gt,[[0,0],Bt],wr)}function Nf(gt,Bt,wr){return Wc(gt,function(vr){var Ur=+Bt,fi=Ur/(vr[1][0]-vr[0][0]),xi=(Ur-fi*(vr[1][0]+vr[0][0]))/2,Fi=-fi*vr[0][1];gt.scale(150*fi).translate([xi,Fi])},wr)}function Zc(gt,Bt,wr){return Wc(gt,function(vr){var Ur=+Bt,fi=Ur/(vr[1][1]-vr[0][1]),xi=-fi*vr[0][0],Fi=(Ur-fi*(vr[1][1]+vr[0][1]))/2;gt.scale(150*fi).translate([xi,Fi])},wr)}var ds=16,Ch=p(30*d);function Bd(gt,Bt){return+Bt?Cf(gt,Bt):Jh(gt)}function Jh(gt){return rc({point:function(Bt,wr){Bt=gt(Bt,wr),this.stream.point(Bt[0],Bt[1])}})}function Cf(gt,Bt){function wr(vr,Ur,fi,xi,Fi,Xi,hn,Ti,qi,Ii,mi,Pn,Ma,Ta){var Ea=hn-vr,qa=Ti-Ur,Cn=Ea*Ea+qa*qa;if(Cn>4*Bt&&Ma--){var sn=xi+Ii,Ua=Fi+mi,mo=Xi+Pn,Xo=M(sn*sn+Ua*Ua+mo*mo),Ts=T(mo/=Xo),Qo=v(v(mo)-1)<o||v(fi-qi)<o?(fi+qi)/2:b(Ua,sn),ys=gt(Qo,Ts),Bo=ys[0],yl=ys[1],Gs=Bo-vr,Rs=yl-Ur,ia=qa*Gs-Ea*Rs;(ia*ia/Cn>Bt||v((Ea*Gs+qa*Rs)/Cn-.5)>.3||xi*Ii+Fi*mi+Xi*Pn<Ch)&&(wr(vr,Ur,fi,xi,Fi,Xi,Bo,yl,Qo,sn/=Xo,Ua/=Xo,mo,Ma,Ta),Ta.point(Bo,yl),wr(Bo,yl,Qo,sn,Ua,mo,hn,Ti,qi,Ii,mi,Pn,Ma,Ta))}}return function(vr){var Ur,fi,xi,Fi,Xi,hn,Ti,qi,Ii,mi,Pn,Ma,Ta={point:Ea,lineStart:qa,lineEnd:sn,polygonStart:function(){vr.polygonStart(),Ta.lineStart=Ua},polygonEnd:function(){vr.polygonEnd(),Ta.lineStart=qa}};function Ea(Ts,Qo){Ts=gt(Ts,Qo),vr.point(Ts[0],Ts[1])}function qa(){qi=NaN,Ta.point=Cn,vr.lineStart()}function Cn(Ts,Qo){var ys=ce([Ts,Qo]),Bo=gt(Ts,Qo);wr(qi,Ii,Ti,mi,Pn,Ma,qi=Bo[0],Ii=Bo[1],Ti=Ts,mi=ys[0],Pn=ys[1],Ma=ys[2],ds,vr),vr.point(qi,Ii)}function sn(){Ta.point=Ea,vr.lineEnd()}function Ua(){qa(),Ta.point=mo,Ta.lineEnd=Xo}function mo(Ts,Qo){Cn(Ur=Ts,Qo),fi=qi,xi=Ii,Fi=mi,Xi=Pn,hn=Ma,Ta.point=Cn}function Xo(){wr(qi,Ii,Ti,mi,Pn,Ma,fi,xi,Ur,Fi,Xi,hn,ds,vr),Ta.lineEnd=sn,sn()}return Ta}}var pd=rc({point:function(gt,Bt){this.stream.point(gt*d,Bt*d)}});function Lu(gt){return rc({point:function(Bt,wr){var vr=gt(Bt,wr);return this.stream.point(vr[0],vr[1])}})}function $h(gt,Bt,wr,vr,Ur){function fi(xi,Fi){return xi*=vr,Fi*=Ur,[Bt+gt*xi,wr-gt*Fi]}return fi.invert=function(xi,Fi){return[(xi-Bt)/gt*vr,(wr-Fi)/gt*Ur]},fi}function tu(gt,Bt,wr,vr,Ur,fi){var xi=p(fi),Fi=_(fi),Xi=xi*gt,hn=Fi*gt,Ti=xi/gt,qi=Fi/gt,Ii=(Fi*wr-xi*Bt)/gt,mi=(Fi*Bt+xi*wr)/gt;function Pn(Ma,Ta){return Ma*=vr,Ta*=Ur,[Xi*Ma-hn*Ta+Bt,wr-hn*Ma-Xi*Ta]}return Pn.invert=function(Ma,Ta){return[vr*(Ti*Ma-qi*Ta+Ii),Ur*(mi-qi*Ma-Ti*Ta)]},Pn}function Pu(gt){return Lc(function(){return gt})()}function Lc(gt){var Bt,wr=150,vr=480,Ur=250,fi=0,xi=0,Fi=0,Xi=0,hn=0,Ti,qi=0,Ii=1,mi=1,Pn=null,Ma=Hr,Ta=null,Ea,qa,Cn,sn=Zl,Ua=.5,mo,Xo,Ts,Qo,ys;function Bo(ia){return Ts(ia[0]*d,ia[1]*d)}function yl(ia){return ia=Ts.invert(ia[0],ia[1]),ia&&[ia[0]*h,ia[1]*h]}Bo.stream=function(ia){return Qo&&ys===ia?Qo:Qo=pd(Lu(Ti)(Ma(mo(sn(ys=ia)))))},Bo.preclip=function(ia){return arguments.length?(Ma=ia,Pn=void 0,Rs()):Ma},Bo.postclip=function(ia){return arguments.length?(sn=ia,Ta=Ea=qa=Cn=null,Rs()):sn},Bo.clipAngle=function(ia){return arguments.length?(Ma=+ia?an(Pn=ia*d):(Pn=null,Hr),Rs()):Pn*h},Bo.clipExtent=function(ia){return arguments.length?(sn=ia==null?(Ta=Ea=qa=Cn=null,Zl):Fn(Ta=+ia[0][0],Ea=+ia[0][1],qa=+ia[1][0],Cn=+ia[1][1]),Rs()):Ta==null?null:[[Ta,Ea],[qa,Cn]]},Bo.scale=function(ia){return arguments.length?(wr=+ia,Gs()):wr},Bo.translate=function(ia){return arguments.length?(vr=+ia[0],Ur=+ia[1],Gs()):[vr,Ur]},Bo.center=function(ia){return arguments.length?(fi=ia[0]%360*d,xi=ia[1]%360*d,Gs()):[fi*h,xi*h]},Bo.rotate=function(ia){return arguments.length?(Fi=ia[0]%360*d,Xi=ia[1]%360*d,hn=ia.length>2?ia[2]%360*d:0,Gs()):[Fi*h,Xi*h,hn*h]},Bo.angle=function(ia){return arguments.length?(qi=ia%360*d,Gs()):qi*h},Bo.reflectX=function(ia){return arguments.length?(Ii=ia?-1:1,Gs()):Ii<0},Bo.reflectY=function(ia){return arguments.length?(mi=ia?-1:1,Gs()):mi<0},Bo.precision=function(ia){return arguments.length?(mo=Bd(Xo,Ua=ia*ia),Rs()):M(Ua)},Bo.fitExtent=function(ia,Ka){return df(Bo,ia,Ka)},Bo.fitSize=function(ia,Ka){return Cu(Bo,ia,Ka)},Bo.fitWidth=function(ia,Ka){return Nf(Bo,ia,Ka)},Bo.fitHeight=function(ia,Ka){return Zc(Bo,ia,Ka)};function Gs(){var ia=tu(wr,0,0,Ii,mi,qi).apply(null,Bt(fi,xi)),Ka=(qi?tu:$h)(wr,vr-ia[0],Ur-ia[1],Ii,mi,qi);return Ti=gi(Fi,Xi,hn),Xo=Zr(Bt,Ka),Ts=Zr(Ti,Xo),mo=Bd(Xo,Ua),Rs()}function Rs(){return Qo=ys=null,Bo}return function(){return Bt=gt.apply(this,arguments),Bo.invert=Bt.invert&&yl,Gs()}}function fl(gt){var Bt=0,wr=l/3,vr=Lc(gt),Ur=vr(Bt,wr);return Ur.parallels=function(fi){return arguments.length?vr(Bt=fi[0]*d,wr=fi[1]*d):[Bt*h,wr*h]},Ur}function Xc(gt){var Bt=p(gt);function wr(vr,Ur){return[vr*Bt,_(Ur)/Bt]}return wr.invert=function(vr,Ur){return[vr/Bt,T(Ur*Bt)]},wr}function ic(gt,Bt){var wr=_(gt),vr=(wr+_(Bt))/2;if(v(vr)<o)return Xc(gt);var Ur=1+wr*(2*vr-wr),fi=M(Ur)/vr;function xi(Fi,Xi){var hn=M(Ur-2*vr*_(Xi))/vr;return[hn*_(Fi*=vr),fi-hn*p(Fi)]}return xi.invert=function(Fi,Xi){var hn=fi-Xi,Ti=b(Fi,v(hn))*C(hn);return hn*vr<0&&(Ti-=l*C(Fi)*C(hn)),[Ti/vr,T((Ur-(Fi*Fi+hn*hn)*vr*vr)/(2*vr))]},xi}function yu(){return fl(ic).scale(155.424).center([0,33.6442])}function Qs(){return yu().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function Qh(gt){var Bt=gt.length;return{point:function(wr,vr){for(var Ur=-1;++Ur<Bt;)gt[Ur].point(wr,vr)},sphere:function(){for(var wr=-1;++wr<Bt;)gt[wr].sphere()},lineStart:function(){for(var wr=-1;++wr<Bt;)gt[wr].lineStart()},lineEnd:function(){for(var wr=-1;++wr<Bt;)gt[wr].lineEnd()},polygonStart:function(){for(var wr=-1;++wr<Bt;)gt[wr].polygonStart()},polygonEnd:function(){for(var wr=-1;++wr<Bt;)gt[wr].polygonEnd()}}}function gd(){var gt,Bt,wr=Qs(),vr,Ur=yu().rotate([154,0]).center([-2,58.5]).parallels([55,65]),fi,xi=yu().rotate([157,0]).center([-3,19.9]).parallels([8,18]),Fi,Xi,hn={point:function(Ii,mi){Xi=[Ii,mi]}};function Ti(Ii){var mi=Ii[0],Pn=Ii[1];return Xi=null,vr.point(mi,Pn),Xi||(fi.point(mi,Pn),Xi)||(Fi.point(mi,Pn),Xi)}Ti.invert=function(Ii){var mi=wr.scale(),Pn=wr.translate(),Ma=(Ii[0]-Pn[0])/mi,Ta=(Ii[1]-Pn[1])/mi;return(Ta>=.12&&Ta<.234&&Ma>=-.425&&Ma<-.214?Ur:Ta>=.166&&Ta<.234&&Ma>=-.214&&Ma<-.115?xi:wr).invert(Ii)},Ti.stream=function(Ii){return gt&&Bt===Ii?gt:gt=Qh([wr.stream(Bt=Ii),Ur.stream(Ii),xi.stream(Ii)])},Ti.precision=function(Ii){return arguments.length?(wr.precision(Ii),Ur.precision(Ii),xi.precision(Ii),qi()):wr.precision()},Ti.scale=function(Ii){return arguments.length?(wr.scale(Ii),Ur.scale(Ii*.35),xi.scale(Ii),Ti.translate(wr.translate())):wr.scale()},Ti.translate=function(Ii){if(!arguments.length)return wr.translate();var mi=wr.scale(),Pn=+Ii[0],Ma=+Ii[1];return vr=wr.translate(Ii).clipExtent([[Pn-.455*mi,Ma-.238*mi],[Pn+.455*mi,Ma+.238*mi]]).stream(hn),fi=Ur.translate([Pn-.307*mi,Ma+.201*mi]).clipExtent([[Pn-.425*mi+o,Ma+.12*mi+o],[Pn-.214*mi-o,Ma+.234*mi-o]]).stream(hn),Fi=xi.translate([Pn-.205*mi,Ma+.212*mi]).clipExtent([[Pn-.214*mi+o,Ma+.166*mi+o],[Pn-.115*mi-o,Ma+.234*mi-o]]).stream(hn),qi()},Ti.fitExtent=function(Ii,mi){return df(Ti,Ii,mi)},Ti.fitSize=function(Ii,mi){return Cu(Ti,Ii,mi)},Ti.fitWidth=function(Ii,mi){return Nf(Ti,Ii,mi)},Ti.fitHeight=function(Ii,mi){return Zc(Ti,Ii,mi)};function qi(){return gt=Bt=null,Ti}return Ti.scale(1070)}function Gu(gt){return function(Bt,wr){var vr=p(Bt),Ur=p(wr),fi=gt(vr*Ur);return[fi*Ur*_(Bt),fi*_(wr)]}}function Pc(gt){return function(Bt,wr){var vr=M(Bt*Bt+wr*wr),Ur=gt(vr),fi=_(Ur),xi=p(Ur);return[b(Bt*fi,vr*xi),T(vr&&wr*fi/vr)]}}var vc=Gu(function(gt){return M(2/(1+gt))});vc.invert=Pc(function(gt){return 2*T(gt/2)});function sv(){return Pu(vc).scale(124.75).clipAngle(180-.001)}var Lf=Gu(function(gt){return(gt=P(gt))&>/_(gt)});Lf.invert=Pc(function(gt){return gt});function Uf(){return Pu(Lf).scale(79.4188).clipAngle(180-.001)}function Iu(gt,Bt){return[gt,A(g((u+Bt)/2))]}Iu.invert=function(gt,Bt){return[gt,2*x(k(Bt))-u]};function oh(){return ru(Iu).scale(961/f)}function ru(gt){var Bt=Pu(gt),wr=Bt.center,vr=Bt.scale,Ur=Bt.translate,fi=Bt.clipExtent,xi=null,Fi,Xi,hn;Bt.scale=function(qi){return arguments.length?(vr(qi),Ti()):vr()},Bt.translate=function(qi){return arguments.length?(Ur(qi),Ti()):Ur()},Bt.center=function(qi){return arguments.length?(wr(qi),Ti()):wr()},Bt.clipExtent=function(qi){return arguments.length?(qi==null?xi=Fi=Xi=hn=null:(xi=+qi[0][0],Fi=+qi[0][1],Xi=+qi[1][0],hn=+qi[1][1]),Ti()):xi==null?null:[[xi,Fi],[Xi,hn]]};function Ti(){var qi=l*vr(),Ii=Bt(Gi(Bt.rotate()).invert([0,0]));return fi(xi==null?[[Ii[0]-qi,Ii[1]-qi],[Ii[0]+qi,Ii[1]+qi]]:gt===Iu?[[Math.max(Ii[0]-qi,xi),Fi],[Math.min(Ii[0]+qi,Xi),hn]]:[[xi,Math.max(Ii[1]-qi,Fi)],[Xi,Math.min(Ii[1]+qi,hn)]])}return Ti()}function vf(gt){return g((u+gt)/2)}function md(gt,Bt){var wr=p(gt),vr=gt===Bt?_(gt):A(wr/p(Bt))/A(vf(Bt)/vf(gt)),Ur=wr*L(vf(gt),vr)/vr;if(!vr)return Iu;function fi(xi,Fi){Ur>0?Fi<-u+o&&(Fi=-u+o):Fi>u-o&&(Fi=u-o);var Xi=Ur/L(vf(Fi),vr);return[Xi*_(vr*xi),Ur-Xi*p(vr*xi)]}return fi.invert=function(xi,Fi){var Xi=Ur-Fi,hn=C(vr)*M(xi*xi+Xi*Xi),Ti=b(xi,v(Xi))*C(Xi);return Xi*vr<0&&(Ti-=l*C(xi)*C(Xi)),[Ti/vr,2*x(L(Ur/hn,1/vr))-u]},fi}function sh(){return fl(md).scale(109.5).parallels([30,30])}function Fs(gt,Bt){return[gt,Bt]}Fs.invert=Fs;function _u(){return Pu(Fs).scale(152.63)}function xu(gt,Bt){var wr=p(gt),vr=gt===Bt?_(gt):(wr-p(Bt))/(Bt-gt),Ur=wr/vr+gt;if(v(vr)<o)return Fs;function fi(xi,Fi){var Xi=Ur-Fi,hn=vr*xi;return[Xi*_(hn),Ur-Xi*p(hn)]}return fi.invert=function(xi,Fi){var Xi=Ur-Fi,hn=b(xi,v(Xi))*C(Xi);return Xi*vr<0&&(hn-=l*C(xi)*C(Xi)),[hn/vr,Ur-C(vr)*M(xi*xi+Xi*Xi)]},fi}function Lh(){return fl(xu).scale(131.154).center([0,13.9389])}var Is=1.340264,Pf=-.081106,Ic=893e-6,ju=.003796,Vf=M(3)/2,pc=12;function pf(gt,Bt){var wr=T(Vf*_(Bt)),vr=wr*wr,Ur=vr*vr*vr;return[gt*p(wr)/(Vf*(Is+3*Pf*vr+Ur*(7*Ic+9*ju*vr))),wr*(Is+Pf*vr+Ur*(Ic+ju*vr))]}pf.invert=function(gt,Bt){for(var wr=Bt,vr=wr*wr,Ur=vr*vr*vr,fi=0,xi,Fi,Xi;fi<pc&&(Fi=wr*(Is+Pf*vr+Ur*(Ic+ju*vr))-Bt,Xi=Is+3*Pf*vr+Ur*(7*Ic+9*ju*vr),wr-=xi=Fi/Xi,vr=wr*wr,Ur=vr*vr*vr,!(v(xi)<s));++fi);return[Vf*gt*(Is+3*Pf*vr+Ur*(7*Ic+9*ju*vr))/p(wr),T(_(wr)/Vf)]};function Ph(){return Pu(pf).scale(177.158)}function Dl(gt,Bt){var wr=p(Bt),vr=p(gt)*wr;return[wr*_(gt)/vr,_(Bt)/vr]}Dl.invert=Pc(x);function Ih(){return Pu(Dl).scale(144.049).clipAngle(60)}function Wu(){var gt=1,Bt=0,wr=0,vr=1,Ur=1,fi=0,xi,Fi,Xi=null,hn,Ti,qi,Ii=1,mi=1,Pn=rc({point:function(sn,Ua){var mo=Cn([sn,Ua]);this.stream.point(mo[0],mo[1])}}),Ma=Zl,Ta,Ea;function qa(){return Ii=gt*vr,mi=gt*Ur,Ta=Ea=null,Cn}function Cn(sn){var Ua=sn[0]*Ii,mo=sn[1]*mi;if(fi){var Xo=mo*xi-Ua*Fi;Ua=Ua*xi+mo*Fi,mo=Xo}return[Ua+Bt,mo+wr]}return Cn.invert=function(sn){var Ua=sn[0]-Bt,mo=sn[1]-wr;if(fi){var Xo=mo*xi+Ua*Fi;Ua=Ua*xi-mo*Fi,mo=Xo}return[Ua/Ii,mo/mi]},Cn.stream=function(sn){return Ta&&Ea===sn?Ta:Ta=Pn(Ma(Ea=sn))},Cn.postclip=function(sn){return arguments.length?(Ma=sn,Xi=hn=Ti=qi=null,qa()):Ma},Cn.clipExtent=function(sn){return arguments.length?(Ma=sn==null?(Xi=hn=Ti=qi=null,Zl):Fn(Xi=+sn[0][0],hn=+sn[0][1],Ti=+sn[1][0],qi=+sn[1][1]),qa()):Xi==null?null:[[Xi,hn],[Ti,qi]]},Cn.scale=function(sn){return arguments.length?(gt=+sn,qa()):gt},Cn.translate=function(sn){return arguments.length?(Bt=+sn[0],wr=+sn[1],qa()):[Bt,wr]},Cn.angle=function(sn){return arguments.length?(fi=sn%360*d,Fi=_(fi),xi=p(fi),qa()):fi*h},Cn.reflectX=function(sn){return arguments.length?(vr=sn?-1:1,qa()):vr<0},Cn.reflectY=function(sn){return arguments.length?(Ur=sn?-1:1,qa()):Ur<0},Cn.fitExtent=function(sn,Ua){return df(Cn,sn,Ua)},Cn.fitSize=function(sn,Ua){return Cu(Cn,sn,Ua)},Cn.fitWidth=function(sn,Ua){return Nf(Cn,sn,Ua)},Cn.fitHeight=function(sn,Ua){return Zc(Cn,sn,Ua)},Cn}function Rc(gt,Bt){var wr=Bt*Bt,vr=wr*wr;return[gt*(.8707-.131979*wr+vr*(-.013791+vr*(.003971*wr-.001529*vr))),Bt*(1.007226+wr*(.015085+vr*(-.044475+.028874*wr-.005916*vr)))]}Rc.invert=function(gt,Bt){var wr=Bt,vr=25,Ur;do{var fi=wr*wr,xi=fi*fi;wr-=Ur=(wr*(1.007226+fi*(.015085+xi*(-.044475+.028874*fi-.005916*xi)))-Bt)/(1.007226+fi*(.015085*3+xi*(-.044475*7+.028874*9*fi-.005916*11*xi)))}while(v(Ur)>o&&--vr>0);return[gt/(.8707+(fi=wr*wr)*(-.131979+fi*(-.013791+fi*fi*fi*(.003971-.001529*fi)))),wr]};function gc(){return Pu(Rc).scale(175.295)}function hl(gt,Bt){return[p(Bt)*_(gt),_(Bt)]}hl.invert=Pc(T);function iu(){return Pu(hl).scale(249.5).clipAngle(90+o)}function mc(gt,Bt){var wr=p(Bt),vr=1+p(gt)*wr;return[wr*_(gt)/vr,_(Bt)/vr]}mc.invert=Pc(function(gt){return 2*x(gt)});function Yc(){return Pu(mc).scale(250).clipAngle(142)}function nc(gt,Bt){return[A(g((u+Bt)/2)),-gt]}nc.invert=function(gt,Bt){return[-Bt,2*x(k(gt))-u]};function gf(){var gt=ru(nc),Bt=gt.center,wr=gt.rotate;return gt.center=function(vr){return arguments.length?Bt([-vr[1],vr[0]]):(vr=Bt(),[vr[1],-vr[0]])},gt.rotate=function(vr){return arguments.length?wr([vr[0],vr[1],vr.length>2?vr[2]+90:90]):(vr=wr(),[vr[0],vr[1],vr[2]-90])},wr([0,0,90]).scale(159.155)}e.geoAlbers=Qs,e.geoAlbersUsa=gd,e.geoArea=me,e.geoAzimuthalEqualArea=sv,e.geoAzimuthalEqualAreaRaw=vc,e.geoAzimuthalEquidistant=Uf,e.geoAzimuthalEquidistantRaw=Lf,e.geoBounds=Ne,e.geoCentroid=yr,e.geoCircle=jn,e.geoClipAntimeridian=Hr,e.geoClipCircle=an,e.geoClipExtent=Sa,e.geoClipRectangle=Fn,e.geoConicConformal=sh,e.geoConicConformalRaw=md,e.geoConicEqualArea=yu,e.geoConicEqualAreaRaw=ic,e.geoConicEquidistant=Lh,e.geoConicEquidistantRaw=xu,e.geoContains=ms,e.geoDistance=Cs,e.geoEqualEarth=Ph,e.geoEqualEarthRaw=pf,e.geoEquirectangular=_u,e.geoEquirectangularRaw=Fs,e.geoGnomonic=Ih,e.geoGnomonicRaw=Dl,e.geoGraticule=Qu,e.geoGraticule10=Rl,e.geoIdentity=Wu,e.geoInterpolate=vo,e.geoLength=wl,e.geoMercator=oh,e.geoMercatorRaw=Iu,e.geoNaturalEarth1=gc,e.geoNaturalEarth1Raw=Rc,e.geoOrthographic=iu,e.geoOrthographicRaw=hl,e.geoPath=kh,e.geoProjection=Pu,e.geoProjectionMutator=Lc,e.geoRotation=Gi,e.geoStereographic=Yc,e.geoStereographicRaw=mc,e.geoStream=W,e.geoTransform=Kh,e.geoTransverseMercator=gf,e.geoTransverseMercatorRaw=nc,Object.defineProperty(e,\"__esModule\",{value:!0})})});var bRe=ye((Az,xRe)=>{(function(e,t){typeof Az==\"object\"&&typeof xRe!=\"undefined\"?t(Az,xX(),$E()):t(e.d3=e.d3||{},e.d3,e.d3)})(Az,function(e,t,r){\"use strict\";var n=Math.abs,i=Math.atan,a=Math.atan2,o=Math.cos,s=Math.exp,l=Math.floor,u=Math.log,c=Math.max,f=Math.min,h=Math.pow,d=Math.round,v=Math.sign||function(he){return he>0?1:he<0?-1:0},x=Math.sin,b=Math.tan,p=1e-6,E=1e-12,k=Math.PI,A=k/2,L=k/4,_=Math.SQRT1_2,C=H(2),M=H(k),g=k*2,P=180/k,T=k/180;function F(he){return he?he/Math.sin(he):1}function q(he){return he>1?A:he<-1?-A:Math.asin(he)}function V(he){return he>1?0:he<-1?k:Math.acos(he)}function H(he){return he>0?Math.sqrt(he):0}function X(he){return he=s(2*he),(he-1)/(he+1)}function G(he){return(s(he)-s(-he))/2}function N(he){return(s(he)+s(-he))/2}function W(he){return u(he+H(he*he+1))}function re(he){return u(he+H(he*he-1))}function ae(he){var be=b(he/2),Pe=2*u(o(he/2))/(be*be);function Oe(Je,He){var et=o(Je),Mt=o(He),Dt=x(He),Ut=Mt*et,tr=-((1-Ut?u((1+Ut)/2)/(1-Ut):-.5)+Pe/(1+Ut));return[tr*Mt*x(Je),tr*Dt]}return Oe.invert=function(Je,He){var et=H(Je*Je+He*He),Mt=-he/2,Dt=50,Ut;if(!et)return[0,0];do{var tr=Mt/2,mr=o(tr),Rr=x(tr),zr=Rr/mr,Xr=-u(n(mr));Mt-=Ut=(2/zr*Xr-Pe*zr-et)/(-Xr/(Rr*Rr)+1-Pe/(2*mr*mr))*(mr<0?.7:1)}while(n(Ut)>p&&--Dt>0);var di=x(Mt);return[a(Je*di,et*o(Mt)),q(He*di/et)]},Oe}function _e(){var he=A,be=t.geoProjectionMutator(ae),Pe=be(he);return Pe.radius=function(Oe){return arguments.length?be(he=Oe*T):he*P},Pe.scale(179.976).clipAngle(147)}function Me(he,be){var Pe=o(be),Oe=F(V(Pe*o(he/=2)));return[2*Pe*x(he)*Oe,x(be)*Oe]}Me.invert=function(he,be){if(!(he*he+4*be*be>k*k+p)){var Pe=he,Oe=be,Je=25;do{var He=x(Pe),et=x(Pe/2),Mt=o(Pe/2),Dt=x(Oe),Ut=o(Oe),tr=x(2*Oe),mr=Dt*Dt,Rr=Ut*Ut,zr=et*et,Xr=1-Rr*Mt*Mt,di=Xr?V(Ut*Mt)*H(Li=1/Xr):Li=0,Li,Ci=2*di*Ut*et-he,Qi=di*Dt-be,Mn=Li*(Rr*zr+di*Ut*Mt*mr),pa=Li*(.5*He*tr-di*2*Dt*et),ea=Li*.25*(tr*et-di*Dt*Rr*He),Ga=Li*(mr*Mt+di*zr*Ut),To=pa*ea-Ga*Mn;if(!To)break;var Wa=(Qi*pa-Ci*Ga)/To,co=(Ci*ea-Qi*Mn)/To;Pe-=Wa,Oe-=co}while((n(Wa)>p||n(co)>p)&&--Je>0);return[Pe,Oe]}};function ke(){return t.geoProjection(Me).scale(152.63)}function ge(he){var be=x(he),Pe=o(he),Oe=he>=0?1:-1,Je=b(Oe*he),He=(1+be-Pe)/2;function et(Mt,Dt){var Ut=o(Dt),tr=o(Mt/=2);return[(1+Ut)*x(Mt),(Oe*Dt>-a(tr,Je)-.001?0:-Oe*10)+He+x(Dt)*Pe-(1+Ut)*be*tr]}return et.invert=function(Mt,Dt){var Ut=0,tr=0,mr=50;do{var Rr=o(Ut),zr=x(Ut),Xr=o(tr),di=x(tr),Li=1+Xr,Ci=Li*zr-Mt,Qi=He+di*Pe-Li*be*Rr-Dt,Mn=Li*Rr/2,pa=-zr*di,ea=be*Li*zr/2,Ga=Pe*Xr+be*Rr*di,To=pa*ea-Ga*Mn,Wa=(Qi*pa-Ci*Ga)/To/2,co=(Ci*ea-Qi*Mn)/To;n(co)>2&&(co/=2),Ut-=Wa,tr-=co}while((n(Wa)>p||n(co)>p)&&--mr>0);return Oe*tr>-a(o(Ut),Je)-.001?[Ut*2,tr]:null},et}function ie(){var he=20*T,be=he>=0?1:-1,Pe=b(be*he),Oe=t.geoProjectionMutator(ge),Je=Oe(he),He=Je.stream;return Je.parallel=function(et){return arguments.length?(Pe=b((be=(he=et*T)>=0?1:-1)*he),Oe(he)):he*P},Je.stream=function(et){var Mt=Je.rotate(),Dt=He(et),Ut=(Je.rotate([0,0]),He(et)),tr=Je.precision();return Je.rotate(Mt),Dt.sphere=function(){Ut.polygonStart(),Ut.lineStart();for(var mr=be*-180;be*mr<180;mr+=be*90)Ut.point(mr,be*90);if(he)for(;be*(mr-=3*be*tr)>=-180;)Ut.point(mr,be*-a(o(mr*T/2),Pe)*P);Ut.lineEnd(),Ut.polygonEnd()},Dt},Je.scale(218.695).center([0,28.0974])}function Te(he,be){var Pe=b(be/2),Oe=H(1-Pe*Pe),Je=1+Oe*o(he/=2),He=x(he)*Oe/Je,et=Pe/Je,Mt=He*He,Dt=et*et;return[4/3*He*(3+Mt-3*Dt),4/3*et*(3+3*Mt-Dt)]}Te.invert=function(he,be){if(he*=3/8,be*=3/8,!he&&n(be)>1)return null;var Pe=he*he,Oe=be*be,Je=1+Pe+Oe,He=H((Je-H(Je*Je-4*be*be))/2),et=q(He)/3,Mt=He?re(n(be/He))/3:W(n(he))/3,Dt=o(et),Ut=N(Mt),tr=Ut*Ut-Dt*Dt;return[v(he)*2*a(G(Mt)*Dt,.25-tr),v(be)*2*a(Ut*x(et),.25+tr)]};function Ee(){return t.geoProjection(Te).scale(66.1603)}var Ae=H(8),ze=u(1+C);function Ce(he,be){var Pe=n(be);return Pe<L?[he,u(b(L+be/2))]:[he*o(Pe)*(2*C-1/x(Pe)),v(be)*(2*C*(Pe-L)-u(b(Pe/2)))]}Ce.invert=function(he,be){if((He=n(be))<ze)return[he,2*i(s(be))-A];var Pe=L,Oe=25,Je,He;do{var et=o(Pe/2),Mt=b(Pe/2);Pe-=Je=(Ae*(Pe-L)-u(Mt)-He)/(Ae-et*et/(2*Mt))}while(n(Je)>E&&--Oe>0);return[he/(o(Pe)*(Ae-1/x(Pe))),v(be)*Pe]};function me(){return t.geoProjection(Ce).scale(112.314)}function Re(he){var be=2*k/he;function Pe(Oe,Je){var He=t.geoAzimuthalEquidistantRaw(Oe,Je);if(n(Oe)>A){var et=a(He[1],He[0]),Mt=H(He[0]*He[0]+He[1]*He[1]),Dt=be*d((et-A)/be)+A,Ut=a(x(et-=Dt),2-o(et));et=Dt+q(k/Mt*x(Ut))-Ut,He[0]=Mt*o(et),He[1]=Mt*x(et)}return He}return Pe.invert=function(Oe,Je){var He=H(Oe*Oe+Je*Je);if(He>A){var et=a(Je,Oe),Mt=be*d((et-A)/be)+A,Dt=et>Mt?-1:1,Ut=He*o(Mt-et),tr=1/b(Dt*V((Ut-k)/H(k*(k-2*Ut)+He*He)));et=Mt+2*i((tr+Dt*H(tr*tr-3))/3),Oe=He*o(et),Je=He*x(et)}return t.geoAzimuthalEquidistantRaw.invert(Oe,Je)},Pe}function ce(){var he=5,be=t.geoProjectionMutator(Re),Pe=be(he),Oe=Pe.stream,Je=.01,He=-o(Je*T),et=x(Je*T);return Pe.lobes=function(Mt){return arguments.length?be(he=+Mt):he},Pe.stream=function(Mt){var Dt=Pe.rotate(),Ut=Oe(Mt),tr=(Pe.rotate([0,0]),Oe(Mt));return Pe.rotate(Dt),Ut.sphere=function(){tr.polygonStart(),tr.lineStart();for(var mr=0,Rr=360/he,zr=2*k/he,Xr=90-180/he,di=A;mr<he;++mr,Xr-=Rr,di-=zr)tr.point(a(et*o(di),He)*P,q(et*x(di))*P),Xr<-90?(tr.point(-90,-180-Xr-Je),tr.point(-90,-180-Xr+Je)):(tr.point(90,Xr+Je),tr.point(90,Xr-Je));tr.lineEnd(),tr.polygonEnd()},Ut},Pe.scale(87.8076).center([0,17.1875]).clipAngle(180-.001)}function Ge(he,be){if(arguments.length<2&&(be=he),be===1)return t.geoAzimuthalEqualAreaRaw;if(be===1/0)return nt;function Pe(Oe,Je){var He=t.geoAzimuthalEqualAreaRaw(Oe/be,Je);return He[0]*=he,He}return Pe.invert=function(Oe,Je){var He=t.geoAzimuthalEqualAreaRaw.invert(Oe/he,Je);return He[0]*=be,He},Pe}function nt(he,be){return[he*o(be)/o(be/=2),2*x(be)]}nt.invert=function(he,be){var Pe=2*q(be/2);return[he*o(Pe/2)/o(Pe),Pe]};function ct(){var he=2,be=t.geoProjectionMutator(Ge),Pe=be(he);return Pe.coefficient=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(169.529)}function qt(he,be,Pe){var Oe=100,Je,He,et;Pe=Pe===void 0?0:+Pe,be=+be;do He=he(Pe),et=he(Pe+p),He===et&&(et=He+p),Pe-=Je=-1*p*(He-be)/(He-et);while(Oe-- >0&&n(Je)>p);return Oe<0?NaN:Pe}function rt(he,be,Pe){return be===void 0&&(be=40),Pe===void 0&&(Pe=E),function(Oe,Je,He,et){var Mt,Dt,Ut;He=He===void 0?0:+He,et=et===void 0?0:+et;for(var tr=0;tr<be;tr++){var mr=he(He,et),Rr=mr[0]-Oe,zr=mr[1]-Je;if(n(Rr)<Pe&&n(zr)<Pe)break;var Xr=Rr*Rr+zr*zr;if(Xr>Mt){He-=Dt/=2,et-=Ut/=2;continue}Mt=Xr;var di=(He>0?-1:1)*Pe,Li=(et>0?-1:1)*Pe,Ci=he(He+di,et),Qi=he(He,et+Li),Mn=(Ci[0]-mr[0])/di,pa=(Ci[1]-mr[1])/di,ea=(Qi[0]-mr[0])/Li,Ga=(Qi[1]-mr[1])/Li,To=Ga*Mn-pa*ea,Wa=(n(To)<.5?.5:1)/To;if(Dt=(zr*ea-Rr*Ga)*Wa,Ut=(Rr*pa-zr*Mn)*Wa,He+=Dt,et+=Ut,n(Dt)<Pe&&n(Ut)<Pe)break}return[He,et]}}function ot(){var he=Ge(1.68,2),be=1.4,Pe=12;function Oe(Je,He){if(Je+He<-be){var et=(Je-He+1.6)*(Je+He+be)/8;Je+=et,He-=.8*et*x(He+k/2)}var Mt=he(Je,He),Dt=(1-o(Je*He))/Pe;return Mt[1]<0&&(Mt[0]*=1+Dt),Mt[1]>0&&(Mt[1]*=1+Dt/1.5*Mt[0]*Mt[0]),Mt}return Oe.invert=rt(Oe),Oe}function Rt(){return t.geoProjection(ot()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function kt(he,be){var Pe=he*x(be),Oe=30,Je;do be-=Je=(be+x(be)-Pe)/(1+o(be));while(n(Je)>p&&--Oe>0);return be/2}function Ct(he,be,Pe){function Oe(Je,He){return[he*Je*o(He=kt(Pe,He)),be*x(He)]}return Oe.invert=function(Je,He){return He=q(He/be),[Je/(he*o(He)),q((2*He+x(2*He))/Pe)]},Oe}var Yt=Ct(C/A,C,k);function xr(){return t.geoProjection(Yt).scale(169.529)}var er=2.00276,Ke=1.11072;function xt(he,be){var Pe=kt(k,be);return[er*he/(1/o(be)+Ke/o(Pe)),(be+C*x(Pe))/er]}xt.invert=function(he,be){var Pe=er*be,Oe=be<0?-L:L,Je=25,He,et;do et=Pe-C*x(Oe),Oe-=He=(x(2*Oe)+2*Oe-k*x(et))/(2*o(2*Oe)+2+k*o(et)*C*o(Oe));while(n(He)>p&&--Je>0);return et=Pe-C*x(Oe),[he*(1/o(et)+Ke/o(Oe))/er,et]};function bt(){return t.geoProjection(xt).scale(160.857)}function Lt(he){var be=0,Pe=t.geoProjectionMutator(he),Oe=Pe(be);return Oe.parallel=function(Je){return arguments.length?Pe(be=Je*T):be*P},Oe}function St(he,be){return[he*o(be),be]}St.invert=function(he,be){return[he/o(be),be]};function Et(){return t.geoProjection(St).scale(152.63)}function dt(he){if(!he)return St;var be=1/b(he);function Pe(Oe,Je){var He=be+he-Je,et=He&&Oe*o(Je)/He;return[He*x(et),be-He*o(et)]}return Pe.invert=function(Oe,Je){var He=H(Oe*Oe+(Je=be-Je)*Je),et=be+he-He;return[He/o(et)*a(Oe,Je),et]},Pe}function Ht(){return Lt(dt).scale(123.082).center([0,26.1441]).parallel(45)}function $t(he){function be(Pe,Oe){var Je=A-Oe,He=Je&&Pe*he*x(Je)/Je;return[Je*x(He)/he,A-Je*o(He)]}return be.invert=function(Pe,Oe){var Je=Pe*he,He=A-Oe,et=H(Je*Je+He*He),Mt=a(Je,He);return[(et?et/x(et):1)*Mt/he,A-et]},be}function fr(){var he=.5,be=t.geoProjectionMutator($t),Pe=be(he);return Pe.fraction=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(158.837)}var _r=Ct(1,4/k,k);function Br(){return t.geoProjection(_r).scale(152.63)}function Or(he,be,Pe,Oe,Je,He){var et=o(He),Mt;if(n(he)>1||n(He)>1)Mt=V(Pe*Je+be*Oe*et);else{var Dt=x(he/2),Ut=x(He/2);Mt=2*q(H(Dt*Dt+be*Oe*Ut*Ut))}return n(Mt)>p?[Mt,a(Oe*x(He),be*Je-Pe*Oe*et)]:[0,0]}function Nr(he,be,Pe){return V((he*he+be*be-Pe*Pe)/(2*he*be))}function ut(he){return he-2*k*l((he+k)/(2*k))}function Ne(he,be,Pe){for(var Oe=[[he[0],he[1],x(he[1]),o(he[1])],[be[0],be[1],x(be[1]),o(be[1])],[Pe[0],Pe[1],x(Pe[1]),o(Pe[1])]],Je=Oe[2],He,et=0;et<3;++et,Je=He)He=Oe[et],Je.v=Or(He[1]-Je[1],Je[3],Je[2],He[3],He[2],He[0]-Je[0]),Je.point=[0,0];var Mt=Nr(Oe[0].v[0],Oe[2].v[0],Oe[1].v[0]),Dt=Nr(Oe[0].v[0],Oe[1].v[0],Oe[2].v[0]),Ut=k-Mt;Oe[2].point[1]=0,Oe[0].point[0]=-(Oe[1].point[0]=Oe[0].v[0]/2);var tr=[Oe[2].point[0]=Oe[0].point[0]+Oe[2].v[0]*o(Mt),2*(Oe[0].point[1]=Oe[1].point[1]=Oe[2].v[0]*x(Mt))];function mr(Rr,zr){var Xr=x(zr),di=o(zr),Li=new Array(3),Ci;for(Ci=0;Ci<3;++Ci){var Qi=Oe[Ci];if(Li[Ci]=Or(zr-Qi[1],Qi[3],Qi[2],di,Xr,Rr-Qi[0]),!Li[Ci][0])return Qi.point;Li[Ci][1]=ut(Li[Ci][1]-Qi.v[1])}var Mn=tr.slice();for(Ci=0;Ci<3;++Ci){var pa=Ci==2?0:Ci+1,ea=Nr(Oe[Ci].v[0],Li[Ci][0],Li[pa][0]);Li[Ci][1]<0&&(ea=-ea),Ci?Ci==1?(ea=Dt-ea,Mn[0]-=Li[Ci][0]*o(ea),Mn[1]-=Li[Ci][0]*x(ea)):(ea=Ut-ea,Mn[0]+=Li[Ci][0]*o(ea),Mn[1]+=Li[Ci][0]*x(ea)):(Mn[0]+=Li[Ci][0]*o(ea),Mn[1]-=Li[Ci][0]*x(ea))}return Mn[0]/=3,Mn[1]/=3,Mn}return mr}function Ye(he){return he[0]*=T,he[1]*=T,he}function Ve(){return Xe([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Xe(he,be,Pe){var Oe=t.geoCentroid({type:\"MultiPoint\",coordinates:[he,be,Pe]}),Je=[-Oe[0],-Oe[1]],He=t.geoRotation(Je),et=Ne(Ye(He(he)),Ye(He(be)),Ye(He(Pe)));et.invert=rt(et);var Mt=t.geoProjection(et).rotate(Je),Dt=Mt.center;return delete Mt.rotate,Mt.center=function(Ut){return arguments.length?Dt(He(Ut)):He.invert(Dt())},Mt.clipAngle(90)}function ht(he,be){var Pe=H(1-x(be));return[2/M*he*Pe,M*(1-Pe)]}ht.invert=function(he,be){var Pe=(Pe=be/M-1)*Pe;return[Pe>0?he*H(k/Pe)/2:0,q(1-Pe)]};function Le(){return t.geoProjection(ht).scale(95.6464).center([0,30])}function xe(he){var be=b(he);function Pe(Oe,Je){return[Oe,(Oe?Oe/x(Oe):1)*(x(Je)*o(Oe)-be*o(Je))]}return Pe.invert=be?function(Oe,Je){Oe&&(Je*=x(Oe)/Oe);var He=o(Oe);return[Oe,2*a(H(He*He+be*be-Je*Je)-He,be-Je)]}:function(Oe,Je){return[Oe,q(Oe?Je*b(Oe)/Oe:Je)]},Pe}function Se(){return Lt(xe).scale(249.828).clipAngle(90)}var lt=H(3);function Gt(he,be){return[lt*he*(2*o(2*be/3)-1)/M,lt*M*x(be/3)]}Gt.invert=function(he,be){var Pe=3*q(be/(lt*M));return[M*he/(lt*(2*o(2*Pe/3)-1)),Pe]};function Vt(){return t.geoProjection(Gt).scale(156.19)}function ar(he){var be=o(he);function Pe(Oe,Je){return[Oe*be,x(Je)/be]}return Pe.invert=function(Oe,Je){return[Oe/be,q(Je*be)]},Pe}function Qr(){return Lt(ar).parallel(38.58).scale(195.044)}function ai(he){var be=o(he);function Pe(Oe,Je){return[Oe*be,(1+be)*b(Je/2)]}return Pe.invert=function(Oe,Je){return[Oe/be,i(Je/(1+be))*2]},Pe}function jr(){return Lt(ai).scale(124.75)}function ri(he,be){var Pe=H(8/(3*k));return[Pe*he*(1-n(be)/k),Pe*be]}ri.invert=function(he,be){var Pe=H(8/(3*k)),Oe=be/Pe;return[he/(Pe*(1-n(Oe)/k)),Oe]};function bi(){return t.geoProjection(ri).scale(165.664)}function nn(he,be){var Pe=H(4-3*x(n(be)));return[2/H(6*k)*he*Pe,v(be)*H(2*k/3)*(2-Pe)]}nn.invert=function(he,be){var Pe=2-n(be)/H(2*k/3);return[he*H(6*k)/(2*Pe),v(be)*q((4-Pe*Pe)/3)]};function Wi(){return t.geoProjection(nn).scale(165.664)}function Ni(he,be){var Pe=H(k*(4+k));return[2/Pe*he*(1+H(1-4*be*be/(k*k))),4/Pe*be]}Ni.invert=function(he,be){var Pe=H(k*(4+k))/2;return[he*Pe/(1+H(1-be*be*(4+k)/(4*k))),be*Pe/2]};function _n(){return t.geoProjection(Ni).scale(180.739)}function $i(he,be){var Pe=(2+A)*x(be);be/=2;for(var Oe=0,Je=1/0;Oe<10&&n(Je)>p;Oe++){var He=o(be);be-=Je=(be+x(be)*(He+2)-Pe)/(2*He*(1+He))}return[2/H(k*(4+k))*he*(1+o(be)),2*H(k/(4+k))*x(be)]}$i.invert=function(he,be){var Pe=be*H((4+k)/k)/2,Oe=q(Pe),Je=o(Oe);return[he/(2/H(k*(4+k))*(1+Je)),q((Oe+Pe*(Je+2))/(2+A))]};function zn(){return t.geoProjection($i).scale(180.739)}function Wn(he,be){return[he*(1+o(be))/H(2+k),2*be/H(2+k)]}Wn.invert=function(he,be){var Pe=H(2+k),Oe=be*Pe/2;return[Pe*he/(1+o(Oe)),Oe]};function It(){return t.geoProjection(Wn).scale(173.044)}function ft(he,be){for(var Pe=(1+A)*x(be),Oe=0,Je=1/0;Oe<10&&n(Je)>p;Oe++)be-=Je=(be+x(be)-Pe)/(1+o(be));return Pe=H(2+k),[he*(1+o(be))/Pe,2*be/Pe]}ft.invert=function(he,be){var Pe=1+A,Oe=H(Pe/2);return[he*2*Oe/(1+o(be*=Oe)),q((be+x(be))/Pe)]};function jt(){return t.geoProjection(ft).scale(173.044)}var Zt=3+2*C;function yr(he,be){var Pe=x(he/=2),Oe=o(he),Je=H(o(be)),He=o(be/=2),et=x(be)/(He+C*Oe*Je),Mt=H(2/(1+et*et)),Dt=H((C*He+(Oe+Pe)*Je)/(C*He+(Oe-Pe)*Je));return[Zt*(Mt*(Dt-1/Dt)-2*u(Dt)),Zt*(Mt*et*(Dt+1/Dt)-2*i(et))]}yr.invert=function(he,be){if(!(He=Te.invert(he/1.2,be*1.065)))return null;var Pe=He[0],Oe=He[1],Je=20,He;he/=Zt,be/=Zt;do{var et=Pe/2,Mt=Oe/2,Dt=x(et),Ut=o(et),tr=x(Mt),mr=o(Mt),Rr=o(Oe),zr=H(Rr),Xr=tr/(mr+C*Ut*zr),di=Xr*Xr,Li=H(2/(1+di)),Ci=C*mr+(Ut+Dt)*zr,Qi=C*mr+(Ut-Dt)*zr,Mn=Ci/Qi,pa=H(Mn),ea=pa-1/pa,Ga=pa+1/pa,To=Li*ea-2*u(pa)-he,Wa=Li*Xr*Ga-2*i(Xr)-be,co=tr&&_*zr*Dt*di/tr,Ro=(C*Ut*mr+zr)/(2*(mr+C*Ut*zr)*(mr+C*Ut*zr)*zr),Ds=-.5*Xr*Li*Li*Li,As=Ds*co,yo=Ds*Ro,po=(po=2*mr+C*zr*(Ut-Dt))*po*pa,_l=(C*Ut*mr*zr+Rr)/po,Hl=-(C*Dt*tr)/(zr*po),Zu=ea*As-2*_l/pa+Li*(_l+_l/Mn),cu=ea*yo-2*Hl/pa+Li*(Hl+Hl/Mn),el=Xr*Ga*As-2*co/(1+di)+Li*Ga*co+Li*Xr*(_l-_l/Mn),au=Xr*Ga*yo-2*Ro/(1+di)+Li*Ga*Ro+Li*Xr*(Hl-Hl/Mn),zc=cu*el-au*Zu;if(!zc)break;var zl=(Wa*cu-To*au)/zc,Fl=(To*el-Wa*Zu)/zc;Pe-=zl,Oe=c(-A,f(A,Oe-Fl))}while((n(zl)>p||n(Fl)>p)&&--Je>0);return n(n(Oe)-A)<p?[0,Oe]:Je&&[Pe,Oe]};function Fr(){return t.geoProjection(yr).scale(62.5271)}var Zr=o(35*T);function Vr(he,be){var Pe=b(be/2);return[he*Zr*H(1-Pe*Pe),(1+Zr)*Pe]}Vr.invert=function(he,be){var Pe=be/(1+Zr);return[he&&he/(Zr*H(1-Pe*Pe)),2*i(Pe)]};function gi(){return t.geoProjection(Vr).scale(137.152)}function Si(he,be){var Pe=be/2,Oe=o(Pe);return[2*he/M*o(be)*Oe*Oe,M*b(Pe)]}Si.invert=function(he,be){var Pe=i(be/M),Oe=o(Pe),Je=2*Pe;return[he*M/2/(o(Je)*Oe*Oe),Je]};function Mi(){return t.geoProjection(Si).scale(135.264)}function Pi(he){var be=1-he,Pe=He(k,0)[0]-He(-k,0)[0],Oe=He(0,A)[1]-He(0,-A)[1],Je=H(2*Oe/Pe);function He(Dt,Ut){var tr=o(Ut),mr=x(Ut);return[tr/(be+he*tr)*Dt,be*Ut+he*mr]}function et(Dt,Ut){var tr=He(Dt,Ut);return[tr[0]*Je,tr[1]/Je]}function Mt(Dt){return et(0,Dt)[1]}return et.invert=function(Dt,Ut){var tr=qt(Mt,Ut),mr=Dt/Je*(he+be/o(tr));return[mr,tr]},et}function Gi(){var he=.5,be=t.geoProjectionMutator(Pi),Pe=be(he);return Pe.alpha=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(168.725)}function Ki(he){return[he[0]/2,q(b(he[1]/2*T))*P]}function ka(he){return[he[0]*2,2*i(x(he[1]*T))*P]}function jn(he){he==null&&(he=t.geoOrthographic);var be=he(),Pe=t.geoEquirectangular().scale(P).precision(0).clipAngle(null).translate([0,0]);function Oe(He){return be(Ki(He))}be.invert&&(Oe.invert=function(He){return ka(be.invert(He))}),Oe.stream=function(He){var et=be.stream(He),Mt=Pe.stream({point:function(Dt,Ut){et.point(Dt/2,q(b(-Ut/2*T))*P)},lineStart:function(){et.lineStart()},lineEnd:function(){et.lineEnd()},polygonStart:function(){et.polygonStart()},polygonEnd:function(){et.polygonEnd()}});return Mt.sphere=et.sphere,Mt};function Je(He){Oe[He]=function(){return arguments.length?(be[He].apply(be,arguments),Oe):be[He]()}}return Oe.rotate=function(He){return arguments.length?(Pe.rotate(He),Oe):Pe.rotate()},Oe.center=function(He){return arguments.length?(be.center(Ki(He)),Oe):ka(be.center())},Je(\"angle\"),Je(\"clipAngle\"),Je(\"clipExtent\"),Je(\"fitExtent\"),Je(\"fitHeight\"),Je(\"fitSize\"),Je(\"fitWidth\"),Je(\"scale\"),Je(\"translate\"),Je(\"precision\"),Oe.scale(249.5)}function la(he,be){var Pe=2*k/be,Oe=he*he;function Je(He,et){var Mt=t.geoAzimuthalEquidistantRaw(He,et),Dt=Mt[0],Ut=Mt[1],tr=Dt*Dt+Ut*Ut;if(tr>Oe){var mr=H(tr),Rr=a(Ut,Dt),zr=Pe*d(Rr/Pe),Xr=Rr-zr,di=he*o(Xr),Li=(he*x(Xr)-Xr*x(di))/(A-di),Ci=Fa(Xr,Li),Qi=(k-he)/Ra(Ci,di,k);Dt=mr;var Mn=50,pa;do Dt-=pa=(he+Ra(Ci,di,Dt)*Qi-mr)/(Ci(Dt)*Qi);while(n(pa)>p&&--Mn>0);Ut=Xr*x(Dt),Dt<A&&(Ut-=Li*(Dt-A));var ea=x(zr),Ga=o(zr);Mt[0]=Dt*Ga-Ut*ea,Mt[1]=Dt*ea+Ut*Ga}return Mt}return Je.invert=function(He,et){var Mt=He*He+et*et;if(Mt>Oe){var Dt=H(Mt),Ut=a(et,He),tr=Pe*d(Ut/Pe),mr=Ut-tr;He=Dt*o(mr),et=Dt*x(mr);for(var Rr=He-A,zr=x(He),Xr=et/zr,di=He<A?1/0:0,Li=10;;){var Ci=he*x(Xr),Qi=he*o(Xr),Mn=x(Qi),pa=A-Qi,ea=(Ci-Xr*Mn)/pa,Ga=Fa(Xr,ea);if(n(di)<E||!--Li)break;Xr-=di=(Xr*zr-ea*Rr-et)/(zr-Rr*2*(pa*(Qi+Xr*Ci*o(Qi)-Mn)-Ci*(Ci-Xr*Mn))/(pa*pa))}Dt=he+Ra(Ga,Qi,He)*(k-he)/Ra(Ga,Qi,k),Ut=tr+Xr,He=Dt*o(Ut),et=Dt*x(Ut)}return t.geoAzimuthalEquidistantRaw.invert(He,et)},Je}function Fa(he,be){return function(Pe){var Oe=he*o(Pe);return Pe<A&&(Oe-=be),H(1+Oe*Oe)}}function Ra(he,be,Pe){for(var Oe=50,Je=(Pe-be)/Oe,He=he(be)+he(Pe),et=1,Mt=be;et<Oe;++et)He+=2*he(Mt+=Je);return He*.5*Je}function jo(){var he=6,be=30*T,Pe=o(be),Oe=x(be),Je=t.geoProjectionMutator(la),He=Je(be,he),et=He.stream,Mt=.01,Dt=-o(Mt*T),Ut=x(Mt*T);return He.radius=function(tr){return arguments.length?(Pe=o(be=tr*T),Oe=x(be),Je(be,he)):be*P},He.lobes=function(tr){return arguments.length?Je(be,he=+tr):he},He.stream=function(tr){var mr=He.rotate(),Rr=et(tr),zr=(He.rotate([0,0]),et(tr));return He.rotate(mr),Rr.sphere=function(){zr.polygonStart(),zr.lineStart();for(var Xr=0,di=2*k/he,Li=0;Xr<he;++Xr,Li-=di)zr.point(a(Ut*o(Li),Dt)*P,q(Ut*x(Li))*P),zr.point(a(Oe*o(Li-di/2),Pe)*P,q(Oe*x(Li-di/2))*P);zr.lineEnd(),zr.polygonEnd()},Rr},He.rotate([90,-40]).scale(91.7095).clipAngle(180-.001)}function oa(he,be,Pe,Oe,Je,He,et,Mt){arguments.length<8&&(Mt=0);function Dt(Ut,tr){if(!tr)return[he*Ut/k,0];var mr=tr*tr,Rr=he+mr*(be+mr*(Pe+mr*Oe)),zr=tr*(Je-1+mr*(He-Mt+mr*et)),Xr=(Rr*Rr+zr*zr)/(2*zr),di=Ut*q(Rr/Xr)/k;return[Xr*x(di),tr*(1+mr*Mt)+Xr*(1-o(di))]}return Dt.invert=function(Ut,tr){var mr=k*Ut/he,Rr=tr,zr,Xr,di=50;do{var Li=Rr*Rr,Ci=he+Li*(be+Li*(Pe+Li*Oe)),Qi=Rr*(Je-1+Li*(He-Mt+Li*et)),Mn=Ci*Ci+Qi*Qi,pa=2*Qi,ea=Mn/pa,Ga=ea*ea,To=q(Ci/ea)/k,Wa=mr*To,co=Ci*Ci,Ro=(2*be+Li*(4*Pe+Li*6*Oe))*Rr,Ds=Je+Li*(3*He+Li*5*et),As=2*(Ci*Ro+Qi*(Ds-1)),yo=2*(Ds-1),po=(As*pa-Mn*yo)/(pa*pa),_l=o(Wa),Hl=x(Wa),Zu=ea*_l,cu=ea*Hl,el=mr/k*(1/H(1-co/Ga))*(Ro*ea-Ci*po)/Ga,au=cu-Ut,zc=Rr*(1+Li*Mt)+ea-Zu-tr,zl=po*Hl+Zu*el,Fl=Zu*To,Z=1+po-(po*_l-cu*el),oe=cu*To,we=zl*oe-Z*Fl;if(!we)break;mr-=zr=(zc*zl-au*Z)/we,Rr-=Xr=(au*oe-zc*Fl)/we}while((n(zr)>p||n(Xr)>p)&&--di>0);return[mr,Rr]},Dt}var Sn=oa(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function Ha(){return t.geoProjection(Sn).scale(149.995)}var oo=oa(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function xn(){return t.geoProjection(oo).scale(153.93)}var _t=oa(5/6*k,-.62636,-.0344,0,1.3493,-.05524,0,.045);function br(){return t.geoProjection(_t).scale(130.945)}function Hr(he,be){var Pe=he*he,Oe=be*be;return[he*(1-.162388*Oe)*(.87-952426e-9*Pe*Pe),be*(1+Oe/12)]}Hr.invert=function(he,be){var Pe=he,Oe=be,Je=50,He;do{var et=Oe*Oe;Oe-=He=(Oe*(1+et/12)-be)/(1+et/4)}while(n(He)>p&&--Je>0);Je=50,he/=1-.162388*et;do{var Mt=(Mt=Pe*Pe)*Mt;Pe-=He=(Pe*(.87-952426e-9*Mt)-he)/(.87-.00476213*Mt)}while(n(He)>p&&--Je>0);return[Pe,Oe]};function ti(){return t.geoProjection(Hr).scale(131.747)}var zi=oa(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Yi(){return t.geoProjection(zi).scale(131.087)}function an(he){var be=he(A,0)[0]-he(-A,0)[0];function Pe(Oe,Je){var He=Oe>0?-.5:.5,et=he(Oe+He*k,Je);return et[0]-=He*be,et}return he.invert&&(Pe.invert=function(Oe,Je){var He=Oe>0?-.5:.5,et=he.invert(Oe+He*be,Je),Mt=et[0]-He*k;return Mt<-k?Mt+=2*k:Mt>k&&(Mt-=2*k),et[0]=Mt,et}),Pe}function hi(he,be){var Pe=v(he),Oe=v(be),Je=o(be),He=o(he)*Je,et=x(he)*Je,Mt=x(Oe*be);he=n(a(et,Mt)),be=q(He),n(he-A)>p&&(he%=A);var Dt=Ji(he>k/4?A-he:he,be);return he>k/4&&(Mt=Dt[0],Dt[0]=-Dt[1],Dt[1]=-Mt),Dt[0]*=Pe,Dt[1]*=-Oe,Dt}hi.invert=function(he,be){n(he)>1&&(he=v(he)*2-he),n(be)>1&&(be=v(be)*2-be);var Pe=v(he),Oe=v(be),Je=-Pe*he,He=-Oe*be,et=He/Je<1,Mt=ua(et?He:Je,et?Je:He),Dt=Mt[0],Ut=Mt[1],tr=o(Ut);return et&&(Dt=-A-Dt),[Pe*(a(x(Dt)*tr,-x(Ut))+k),Oe*q(o(Dt)*tr)]};function Ji(he,be){if(be===A)return[0,0];var Pe=x(be),Oe=Pe*Pe,Je=Oe*Oe,He=1+Je,et=1+3*Je,Mt=1-Je,Dt=q(1/H(He)),Ut=Mt+Oe*He*Dt,tr=(1-Pe)/Ut,mr=H(tr),Rr=tr*He,zr=H(Rr),Xr=mr*Mt,di,Li;if(he===0)return[0,-(Xr+Oe*zr)];var Ci=o(be),Qi=1/Ci,Mn=2*Pe*Ci,pa=(-3*Oe+Dt*et)*Mn,ea=(-Ut*Ci-(1-Pe)*pa)/(Ut*Ut),Ga=.5*ea/mr,To=Mt*Ga-2*Oe*mr*Mn,Wa=Oe*He*ea+tr*et*Mn,co=-Qi*Mn,Ro=-Qi*Wa,Ds=-2*Qi*To,As=4*he/k,yo;if(he>.222*k||be<k/4&&he>.175*k){if(di=(Xr+Oe*H(Rr*(1+Je)-Xr*Xr))/(1+Je),he>k/4)return[di,di];var po=di,_l=.5*di;di=.5*(_l+po),Li=50;do{var Hl=H(Rr-di*di),Zu=di*(Ds+co*Hl)+Ro*q(di/zr)-As;if(!Zu)break;Zu<0?_l=di:po=di,di=.5*(_l+po)}while(n(po-_l)>p&&--Li>0)}else{di=p,Li=25;do{var cu=di*di,el=H(Rr-cu),au=Ds+co*el,zc=di*au+Ro*q(di/zr)-As,zl=au+(Ro-co*cu)/el;di-=yo=el?zc/zl:0}while(n(yo)>p&&--Li>0)}return[di,-Xr-Oe*H(Rr-di*di)]}function ua(he,be){for(var Pe=0,Oe=1,Je=.5,He=50;;){var et=Je*Je,Mt=H(Je),Dt=q(1/H(1+et)),Ut=1-et+Je*(1+et)*Dt,tr=(1-Mt)/Ut,mr=H(tr),Rr=tr*(1+et),zr=mr*(1-et),Xr=Rr-he*he,di=H(Xr),Li=be+zr+Je*di;if(n(Oe-Pe)<E||--He===0||Li===0)break;Li>0?Pe=Je:Oe=Je,Je=.5*(Pe+Oe)}if(!He)return null;var Ci=q(Mt),Qi=o(Ci),Mn=1/Qi,pa=2*Mt*Qi,ea=(-3*Je+Dt*(1+3*et))*pa,Ga=(-Ut*Qi-(1-Mt)*ea)/(Ut*Ut),To=.5*Ga/mr,Wa=(1-et)*To-2*Je*mr*pa,co=-2*Mn*Wa,Ro=-Mn*pa,Ds=-Mn*(Je*(1+et)*Ga+tr*(1+3*et)*pa);return[k/4*(he*(co+Ro*di)+Ds*q(he/H(Rr))),Ci]}function Fn(){return t.geoProjection(an(hi)).scale(239.75)}function Sa(he,be,Pe){var Oe,Je,He;return he?(Oe=go(he,Pe),be?(Je=go(be,1-Pe),He=Je[1]*Je[1]+Pe*Oe[0]*Oe[0]*Je[0]*Je[0],[[Oe[0]*Je[2]/He,Oe[1]*Oe[2]*Je[0]*Je[1]/He],[Oe[1]*Je[1]/He,-Oe[0]*Oe[2]*Je[0]*Je[2]/He],[Oe[2]*Je[1]*Je[2]/He,-Pe*Oe[0]*Oe[1]*Je[0]/He]]):[[Oe[0],0],[Oe[1],0],[Oe[2],0]]):(Je=go(be,1-Pe),[[0,Je[0]/Je[1]],[1/Je[1],0],[Je[2]/Je[1],0]])}function go(he,be){var Pe,Oe,Je,He,et;if(be<p)return He=x(he),Oe=o(he),Pe=be*(he-He*Oe)/4,[He-Pe*Oe,Oe+Pe*He,1-be*He*He/2,he-Pe];if(be>=1-p)return Pe=(1-be)/4,Oe=N(he),He=X(he),Je=1/Oe,et=Oe*G(he),[He+Pe*(et-he)/(Oe*Oe),Je-Pe*He*Je*(et-he),Je+Pe*He*Je*(et+he),2*i(s(he))-A+Pe*(et-he)/Oe];var Mt=[1,0,0,0,0,0,0,0,0],Dt=[H(be),0,0,0,0,0,0,0,0],Ut=0;for(Oe=H(1-be),et=1;n(Dt[Ut]/Mt[Ut])>p&&Ut<8;)Pe=Mt[Ut++],Dt[Ut]=(Pe-Oe)/2,Mt[Ut]=(Pe+Oe)/2,Oe=H(Pe*Oe),et*=2;Je=et*Mt[Ut]*he;do He=Dt[Ut]*x(Oe=Je)/Mt[Ut],Je=(q(He)+Je)/2;while(--Ut);return[x(Je),He=o(Je),He/o(Je-Oe),Je]}function Oo(he,be,Pe){var Oe=n(he),Je=n(be),He=G(Je);if(Oe){var et=1/x(Oe),Mt=1/(b(Oe)*b(Oe)),Dt=-(Mt+Pe*(He*He*et*et)-1+Pe),Ut=(Pe-1)*Mt,tr=(-Dt+H(Dt*Dt-4*Ut))/2;return[ho(i(1/H(tr)),Pe)*v(he),ho(i(H((tr/Mt-1)/Pe)),1-Pe)*v(be)]}return[0,ho(i(He),1-Pe)*v(be)]}function ho(he,be){if(!be)return he;if(be===1)return u(b(he/2+L));for(var Pe=1,Oe=H(1-be),Je=H(be),He=0;n(Je)>p;He++){if(he%k){var et=i(Oe*b(he)/Pe);et<0&&(et+=k),he+=et+~~(he/k)*k}else he+=he;Je=(Pe+Oe)/2,Oe=H(Pe*Oe),Je=((Pe=Je)-Oe)/2}return he/(h(2,He)*Pe)}function Mo(he,be){var Pe=(C-1)/(C+1),Oe=H(1-Pe*Pe),Je=ho(A,Oe*Oe),He=-1,et=u(b(k/4+n(be)/2)),Mt=s(He*et)/H(Pe),Dt=xo(Mt*o(He*he),Mt*x(He*he)),Ut=Oo(Dt[0],Dt[1],Oe*Oe);return[-Ut[1],(be>=0?1:-1)*(.5*Je-Ut[0])]}function xo(he,be){var Pe=he*he,Oe=be+1,Je=1-Pe-be*be;return[.5*((he>=0?A:-A)-a(Je,2*he)),-.25*u(Je*Je+4*Pe)+.5*u(Oe*Oe+Pe)]}function zs(he,be){var Pe=be[0]*be[0]+be[1]*be[1];return[(he[0]*be[0]+he[1]*be[1])/Pe,(he[1]*be[0]-he[0]*be[1])/Pe]}Mo.invert=function(he,be){var Pe=(C-1)/(C+1),Oe=H(1-Pe*Pe),Je=ho(A,Oe*Oe),He=-1,et=Sa(.5*Je-be,-he,Oe*Oe),Mt=zs(et[0],et[1]),Dt=a(Mt[1],Mt[0])/He;return[Dt,2*i(s(.5/He*u(Pe*Mt[0]*Mt[0]+Pe*Mt[1]*Mt[1])))-A]};function ks(){return t.geoProjection(an(Mo)).scale(151.496)}function Zs(he){var be=x(he),Pe=o(he),Oe=Xs(he);Oe.invert=Xs(-he);function Je(He,et){var Mt=Oe(He,et);He=Mt[0],et=Mt[1];var Dt=x(et),Ut=o(et),tr=o(He),mr=V(be*Dt+Pe*Ut*tr),Rr=x(mr),zr=n(Rr)>p?mr/Rr:1;return[zr*Pe*x(He),(n(He)>A?zr:-zr)*(be*Ut-Pe*Dt*tr)]}return Je.invert=function(He,et){var Mt=H(He*He+et*et),Dt=-x(Mt),Ut=o(Mt),tr=Mt*Ut,mr=-et*Dt,Rr=Mt*be,zr=H(tr*tr+mr*mr-Rr*Rr),Xr=a(tr*Rr+mr*zr,mr*Rr-tr*zr),di=(Mt>A?-1:1)*a(He*Dt,Mt*o(Xr)*Ut+et*x(Xr)*Dt);return Oe.invert(di,Xr)},Je}function Xs(he){var be=x(he),Pe=o(he);return function(Oe,Je){var He=o(Je),et=o(Oe)*He,Mt=x(Oe)*He,Dt=x(Je);return[a(Mt,et*Pe-Dt*be),q(Dt*Pe+et*be)]}}function wl(){var he=0,be=t.geoProjectionMutator(Zs),Pe=be(he),Oe=Pe.rotate,Je=Pe.stream,He=t.geoCircle();return Pe.parallel=function(et){if(!arguments.length)return he*P;var Mt=Pe.rotate();return be(he=et*T).rotate(Mt)},Pe.rotate=function(et){return arguments.length?(Oe.call(Pe,[et[0],et[1]-he*P]),He.center([-et[0],-et[1]]),Pe):(et=Oe.call(Pe),et[1]+=he*P,et)},Pe.stream=function(et){return et=Je(et),et.sphere=function(){et.polygonStart();var Mt=.01,Dt=He.radius(90-Mt)().coordinates[0],Ut=Dt.length-1,tr=-1,mr;for(et.lineStart();++tr<Ut;)et.point((mr=Dt[tr])[0],mr[1]);for(et.lineEnd(),Dt=He.radius(90+Mt)().coordinates[0],Ut=Dt.length-1,et.lineStart();--tr>=0;)et.point((mr=Dt[tr])[0],mr[1]);et.lineEnd(),et.polygonEnd()},et},Pe.scale(79.4187).parallel(45).clipAngle(180-.001)}var os=3,cl=q(1-1/os)*P,Cs=ar(0);function ml(he){var be=cl*T,Pe=ht(k,be)[0]-ht(-k,be)[0],Oe=Cs(0,be)[1],Je=ht(0,be)[1],He=M-Je,et=g/he,Mt=4/g,Dt=Oe+He*He*4/g;function Ut(tr,mr){var Rr,zr=n(mr);if(zr>be){var Xr=f(he-1,c(0,l((tr+k)/et)));tr+=k*(he-1)/he-Xr*et,Rr=ht(tr,zr),Rr[0]=Rr[0]*g/Pe-g*(he-1)/(2*he)+Xr*g/he,Rr[1]=Oe+(Rr[1]-Je)*4*He/g,mr<0&&(Rr[1]=-Rr[1])}else Rr=Cs(tr,mr);return Rr[0]*=Mt,Rr[1]/=Dt,Rr}return Ut.invert=function(tr,mr){tr/=Mt,mr*=Dt;var Rr=n(mr);if(Rr>Oe){var zr=f(he-1,c(0,l((tr+k)/et)));tr=(tr+k*(he-1)/he-zr*et)*Pe/g;var Xr=ht.invert(tr,.25*(Rr-Oe)*g/He+Je);return Xr[0]-=k*(he-1)/he-zr*et,mr<0&&(Xr[1]=-Xr[1]),Xr}return Cs.invert(tr,mr)},Ut}function Ys(he,be){return[he,be&1?90-p:cl]}function Hs(he,be){return[he,be&1?-90+p:-cl]}function Eo(he){return[he[0]*(1-p),he[1]]}function fs(he){var be=[].concat(r.range(-180,180+he/2,he).map(Ys),r.range(180,-180-he/2,-he).map(Hs));return{type:\"Polygon\",coordinates:[he===180?be.map(Eo):be]}}function Ql(){var he=4,be=t.geoProjectionMutator(ml),Pe=be(he),Oe=Pe.stream;return Pe.lobes=function(Je){return arguments.length?be(he=+Je):he},Pe.stream=function(Je){var He=Pe.rotate(),et=Oe(Je),Mt=(Pe.rotate([0,0]),Oe(Je));return Pe.rotate(He),et.sphere=function(){t.geoStream(fs(180/he),Mt)},et},Pe.scale(239.75)}function Hu(he){var be=1+he,Pe=x(1/be),Oe=q(Pe),Je=2*H(k/(He=k+4*Oe*be)),He,et=.5*Je*(be+H(he*(2+he))),Mt=he*he,Dt=be*be;function Ut(tr,mr){var Rr=1-x(mr),zr,Xr;if(Rr&&Rr<2){var di=A-mr,Li=25,Ci;do{var Qi=x(di),Mn=o(di),pa=Oe+a(Qi,be-Mn),ea=1+Dt-2*be*Mn;di-=Ci=(di-Mt*Oe-be*Qi+ea*pa-.5*Rr*He)/(2*be*Qi*pa)}while(n(Ci)>E&&--Li>0);zr=Je*H(ea),Xr=tr*pa/k}else zr=Je*(he+Rr),Xr=tr*Oe/k;return[zr*x(Xr),et-zr*o(Xr)]}return Ut.invert=function(tr,mr){var Rr=tr*tr+(mr-=et)*mr,zr=(1+Dt-Rr/(Je*Je))/(2*be),Xr=V(zr),di=x(Xr),Li=Oe+a(di,be-zr);return[q(tr/H(Rr))*k/Li,q(1-2*(Xr-Mt*Oe-be*di+(1+Dt-2*be*zr)*Li)/He)]},Ut}function fc(){var he=1,be=t.geoProjectionMutator(Hu),Pe=be(he);return Pe.ratio=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(167.774).center([0,18.67])}var ms=.7109889596207567,on=.0528035274542;function fa(he,be){return be>-ms?(he=Yt(he,be),he[1]+=on,he):St(he,be)}fa.invert=function(he,be){return be>-ms?Yt.invert(he,be-on):St.invert(he,be)};function Qu(){return t.geoProjection(fa).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function Rl(he,be){return n(be)>ms?(he=Yt(he,be),he[1]-=be>0?on:-on,he):St(he,be)}Rl.invert=function(he,be){return n(be)>ms?Yt.invert(he,be+(be>0?on:-on)):St.invert(he,be)};function vo(){return t.geoProjection(Rl).scale(152.63)}function Zl(he,be,Pe,Oe){var Je=H(4*k/(2*Pe+(1+he-be/2)*x(2*Pe)+(he+be)/2*x(4*Pe)+be/2*x(6*Pe))),He=H(Oe*x(Pe)*H((1+he*o(2*Pe)+be*o(4*Pe))/(1+he+be))),et=Pe*Dt(1);function Mt(mr){return H(1+he*o(2*mr)+be*o(4*mr))}function Dt(mr){var Rr=mr*Pe;return(2*Rr+(1+he-be/2)*x(2*Rr)+(he+be)/2*x(4*Rr)+be/2*x(6*Rr))/Pe}function Ut(mr){return Mt(mr)*x(mr)}var tr=function(mr,Rr){var zr=Pe*qt(Dt,et*x(Rr)/Pe,Rr/k);isNaN(zr)&&(zr=Pe*v(Rr));var Xr=Je*Mt(zr);return[Xr*He*mr/k*o(zr),Xr/He*x(zr)]};return tr.invert=function(mr,Rr){var zr=qt(Ut,Rr*He/Je);return[mr*k/(o(zr)*Je*He*Mt(zr)),q(Pe*Dt(zr/Pe)/et)]},Pe===0&&(Je=H(Oe/k),tr=function(mr,Rr){return[mr*Je,x(Rr)/Je]},tr.invert=function(mr,Rr){return[mr/Je,q(Rr*Je)]}),tr}function Ks(){var he=1,be=0,Pe=45*T,Oe=2,Je=t.geoProjectionMutator(Zl),He=Je(he,be,Pe,Oe);return He.a=function(et){return arguments.length?Je(he=+et,be,Pe,Oe):he},He.b=function(et){return arguments.length?Je(he,be=+et,Pe,Oe):be},He.psiMax=function(et){return arguments.length?Je(he,be,Pe=+et*T,Oe):Pe*P},He.ratio=function(et){return arguments.length?Je(he,be,Pe,Oe=+et):Oe},He.scale(180.739)}function Xl(he,be,Pe,Oe,Je,He,et,Mt,Dt,Ut,tr){if(tr.nanEncountered)return NaN;var mr,Rr,zr,Xr,di,Li,Ci,Qi,Mn,pa;if(mr=Pe-be,Rr=he(be+mr*.25),zr=he(Pe-mr*.25),isNaN(Rr)){tr.nanEncountered=!0;return}if(isNaN(zr)){tr.nanEncountered=!0;return}return Xr=mr*(Oe+4*Rr+Je)/12,di=mr*(Je+4*zr+He)/12,Li=Xr+di,pa=(Li-et)/15,Ut>Dt?(tr.maxDepthCount++,Li+pa):Math.abs(pa)<Mt?Li+pa:(Ci=be+mr*.5,Qi=Xl(he,be,Ci,Oe,Rr,Je,Xr,Mt*.5,Dt,Ut+1,tr),isNaN(Qi)?(tr.nanEncountered=!0,NaN):(Mn=Xl(he,Ci,Pe,Je,zr,He,di,Mt*.5,Dt,Ut+1,tr),isNaN(Mn)?(tr.nanEncountered=!0,NaN):Qi+Mn))}function Ec(he,be,Pe,Oe,Je){var He={maxDepthCount:0,nanEncountered:!1};Oe===void 0&&(Oe=1e-8),Je===void 0&&(Je=20);var et=he(be),Mt=he(.5*(be+Pe)),Dt=he(Pe),Ut=(et+4*Mt+Dt)*(Pe-be)/6,tr=Xl(he,be,Pe,et,Mt,Dt,Ut,Oe,Je,1,He);return tr}function Zn(he,be,Pe){function Oe(zr){return he+(1-he)*h(1-h(zr,be),1/be)}function Je(zr){return Ec(Oe,0,zr,1e-4)}for(var He=1/Je(1),et=1e3,Mt=(1+1e-8)*He,Dt=[],Ut=0;Ut<=et;Ut++)Dt.push(Je(Ut/et)*Mt);function tr(zr){var Xr=0,di=et,Li=et>>1;do Dt[Li]>zr?di=Li:Xr=Li,Li=Xr+di>>1;while(Li>Xr);var Ci=Dt[Li+1]-Dt[Li];return Ci&&(Ci=(zr-Dt[Li+1])/Ci),(Li+1+Ci)/et}var mr=2*tr(1)/k*He/Pe,Rr=function(zr,Xr){var di=tr(n(x(Xr))),Li=Oe(di)*zr;return di/=mr,[Li,Xr>=0?di:-di]};return Rr.invert=function(zr,Xr){var di;return Xr*=mr,n(Xr)<1&&(di=v(Xr)*q(Je(n(Xr))*He)),[zr/Oe(n(Xr)),di]},Rr}function ko(){var he=0,be=2.5,Pe=1.183136,Oe=t.geoProjectionMutator(Zn),Je=Oe(he,be,Pe);return Je.alpha=function(He){return arguments.length?Oe(he=+He,be,Pe):he},Je.k=function(He){return arguments.length?Oe(he,be=+He,Pe):be},Je.gamma=function(He){return arguments.length?Oe(he,be,Pe=+He):Pe},Je.scale(152.63)}function Co(he,be){return n(he[0]-be[0])<p&&n(he[1]-be[1])<p}function Tl(he,be){for(var Pe=-1,Oe=he.length,Je=he[0],He,et,Mt,Dt=[];++Pe<Oe;){He=he[Pe],et=(He[0]-Je[0])/be,Mt=(He[1]-Je[1])/be;for(var Ut=0;Ut<be;++Ut)Dt.push([Je[0]+Ut*et,Je[1]+Ut*Mt]);Je=He}return Dt.push(He),Dt}function uf(he){var be=[],Pe,Oe,Je,He,et,Mt,Dt,Ut=he[0].length;for(Dt=0;Dt<Ut;++Dt)Pe=he[0][Dt],Oe=Pe[0][0],Je=Pe[0][1],He=Pe[1][1],et=Pe[2][0],Mt=Pe[2][1],be.push(Tl([[Oe+p,Je+p],[Oe+p,He-p],[et-p,He-p],[et-p,Mt+p]],30));for(Dt=he[1].length-1;Dt>=0;--Dt)Pe=he[1][Dt],Oe=Pe[0][0],Je=Pe[0][1],He=Pe[1][1],et=Pe[2][0],Mt=Pe[2][1],be.push(Tl([[et-p,Mt-p],[et-p,He+p],[Oe+p,He+p],[Oe+p,Je-p]],30));return{type:\"Polygon\",coordinates:[r.merge(be)]}}function So(he,be,Pe){var Oe,Je;function He(Dt,Ut){for(var tr=Ut<0?-1:1,mr=be[+(Ut<0)],Rr=0,zr=mr.length-1;Rr<zr&&Dt>mr[Rr][2][0];++Rr);var Xr=he(Dt-mr[Rr][1][0],Ut);return Xr[0]+=he(mr[Rr][1][0],tr*Ut>tr*mr[Rr][0][1]?mr[Rr][0][1]:Ut)[0],Xr}Pe?He.invert=Pe(He):he.invert&&(He.invert=function(Dt,Ut){for(var tr=Je[+(Ut<0)],mr=be[+(Ut<0)],Rr=0,zr=tr.length;Rr<zr;++Rr){var Xr=tr[Rr];if(Xr[0][0]<=Dt&&Dt<Xr[1][0]&&Xr[0][1]<=Ut&&Ut<Xr[1][1]){var di=he.invert(Dt-he(mr[Rr][1][0],0)[0],Ut);return di[0]+=mr[Rr][1][0],Co(He(di[0],di[1]),[Dt,Ut])?di:null}}});var et=t.geoProjection(He),Mt=et.stream;return et.stream=function(Dt){var Ut=et.rotate(),tr=Mt(Dt),mr=(et.rotate([0,0]),Mt(Dt));return et.rotate(Ut),tr.sphere=function(){t.geoStream(Oe,mr)},tr},et.lobes=function(Dt){return arguments.length?(Oe=uf(Dt),be=Dt.map(function(Ut){return Ut.map(function(tr){return[[tr[0][0]*T,tr[0][1]*T],[tr[1][0]*T,tr[1][1]*T],[tr[2][0]*T,tr[2][1]*T]]})}),Je=be.map(function(Ut){return Ut.map(function(tr){var mr=he(tr[0][0],tr[0][1])[0],Rr=he(tr[2][0],tr[2][1])[0],zr=he(tr[1][0],tr[0][1])[1],Xr=he(tr[1][0],tr[1][1])[1],di;return zr>Xr&&(di=zr,zr=Xr,Xr=di),[[mr,zr],[Rr,Xr]]})}),et):be.map(function(Ut){return Ut.map(function(tr){return[[tr[0][0]*P,tr[0][1]*P],[tr[1][0]*P,tr[1][1]*P],[tr[2][0]*P,tr[2][1]*P]]})})},be!=null&&et.lobes(be),et}var cf=[[[[-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 rh(){return So(xt,cf).scale(160.857)}var Al=[[[[-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 Hc(){return So(Rl,Al).scale(152.63)}var eu=[[[[-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 Ls(){return So(Yt,eu).scale(169.529)}var mu=[[[[-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 kc(){return So(Yt,mu).scale(169.529).rotate([20,0])}var Of=[[[[-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 Gc(){return So(fa,Of,rt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var vd=[[[[-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 Bf(){return So(St,vd).scale(152.63).rotate([-20,0])}function ss(he,be){return[3/g*he*H(k*k/3-be*be),be]}ss.invert=function(he,be){return[g/3*he/H(k*k/3-be*be),be]};function ff(){return t.geoProjection(ss).scale(158.837)}function ih(he){function be(Pe,Oe){if(n(n(Oe)-A)<p)return[0,Oe<0?-2:2];var Je=x(Oe),He=h((1+Je)/(1-Je),he/2),et=.5*(He+1/He)+o(Pe*=he);return[2*x(Pe)/et,(He-1/He)/et]}return be.invert=function(Pe,Oe){var Je=n(Oe);if(n(Je-2)<p)return Pe?null:[0,v(Oe)*A];if(Je>2)return null;Pe/=2,Oe/=2;var He=Pe*Pe,et=Oe*Oe,Mt=2*Oe/(1+He+et);return Mt=h((1+Mt)/(1-Mt),1/he),[a(2*Pe,1-He-et)/he,q((Mt-1)/(Mt+1))]},be}function Vl(){var he=.5,be=t.geoProjectionMutator(ih),Pe=be(he);return Pe.spacing=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(124.75)}var Js=k/C;function hc(he,be){return[he*(1+H(o(be)))/2,be/(o(be/2)*o(he/6))]}hc.invert=function(he,be){var Pe=n(he),Oe=n(be),Je=p,He=A;Oe<Js?He*=Oe/Js:Je+=6*V(Js/Oe);for(var et=0;et<25;et++){var Mt=x(He),Dt=H(o(He)),Ut=x(He/2),tr=o(He/2),mr=x(Je/6),Rr=o(Je/6),zr=.5*Je*(1+Dt)-Pe,Xr=He/(tr*Rr)-Oe,di=Dt?-.25*Je*Mt/Dt:0,Li=.5*(1+Dt),Ci=(1+.5*He*Ut/tr)/(tr*Rr),Qi=He/tr*(mr/6)/(Rr*Rr),Mn=di*Qi-Ci*Li,pa=(zr*Qi-Xr*Li)/Mn,ea=(Xr*di-zr*Ci)/Mn;if(He-=pa,Je-=ea,n(pa)<p&&n(ea)<p)break}return[he<0?-Je:Je,be<0?-He:He]};function Cc(){return t.geoProjection(hc).scale(97.2672)}function ws(he,be){var Pe=he*he,Oe=be*be;return[he*(.975534+Oe*(-.119161+Pe*-.0143059+Oe*-.0547009)),be*(1.00384+Pe*(.0802894+Oe*-.02855+Pe*199025e-9)+Oe*(.0998909+Oe*-.0491032))]}ws.invert=function(he,be){var Pe=v(he)*k,Oe=be/2,Je=50;do{var He=Pe*Pe,et=Oe*Oe,Mt=Pe*Oe,Dt=Pe*(.975534+et*(-.119161+He*-.0143059+et*-.0547009))-he,Ut=Oe*(1.00384+He*(.0802894+et*-.02855+He*199025e-9)+et*(.0998909+et*-.0491032))-be,tr=.975534-et*(.119161+3*He*.0143059+et*.0547009),mr=-Mt*(2*.119161+4*.0547009*et+2*.0143059*He),Rr=Mt*(2*.0802894+4*199025e-9*He+2*-.02855*et),zr=1.00384+He*(.0802894+199025e-9*He)+et*(3*(.0998909-.02855*He)-5*.0491032*et),Xr=mr*Rr-zr*tr,di=(Ut*mr-Dt*zr)/Xr,Li=(Dt*Rr-Ut*tr)/Xr;Pe-=di,Oe-=Li}while((n(di)>p||n(Li)>p)&&--Je>0);return Je&&[Pe,Oe]};function $s(){return t.geoProjection(ws).scale(139.98)}function hs(he,be){return[x(he)/o(be),b(be)*o(he)]}hs.invert=function(he,be){var Pe=he*he,Oe=be*be,Je=Oe+1,He=Pe+Je,et=he?_*H((He-H(He*He-4*Pe))/Pe):1/H(Je);return[q(he*et),v(be)*V(et)]};function Ms(){return t.geoProjection(hs).scale(144.049).clipAngle(90-.001)}function dc(he){var be=o(he),Pe=b(L+he/2);function Oe(Je,He){var et=He-he,Mt=n(et)<p?Je*be:n(Mt=L+He/2)<p||n(n(Mt)-A)<p?0:Je*et/u(b(Mt)/Pe);return[Mt,et]}return Oe.invert=function(Je,He){var et,Mt=He+he;return[n(He)<p?Je/be:n(et=L+Mt/2)<p||n(n(et)-A)<p?0:Je*u(b(et)/Pe)/He,Mt]},Oe}function Sl(){return Lt(dc).parallel(40).scale(158.837)}function ec(he,be){return[he,1.25*u(b(L+.4*be))]}ec.invert=function(he,be){return[he,2.5*i(s(.8*be))-.625*k]};function Ps(){return t.geoProjection(ec).scale(108.318)}function ov(he){var be=he.length-1;function Pe(Oe,Je){for(var He=o(Je),et=2/(1+He*o(Oe)),Mt=et*He*x(Oe),Dt=et*x(Je),Ut=be,tr=he[Ut],mr=tr[0],Rr=tr[1],zr;--Ut>=0;)tr=he[Ut],mr=tr[0]+Mt*(zr=mr)-Dt*Rr,Rr=tr[1]+Mt*Rr+Dt*zr;return mr=Mt*(zr=mr)-Dt*Rr,Rr=Mt*Rr+Dt*zr,[mr,Rr]}return Pe.invert=function(Oe,Je){var He=20,et=Oe,Mt=Je;do{for(var Dt=be,Ut=he[Dt],tr=Ut[0],mr=Ut[1],Rr=0,zr=0,Xr;--Dt>=0;)Ut=he[Dt],Rr=tr+et*(Xr=Rr)-Mt*zr,zr=mr+et*zr+Mt*Xr,tr=Ut[0]+et*(Xr=tr)-Mt*mr,mr=Ut[1]+et*mr+Mt*Xr;Rr=tr+et*(Xr=Rr)-Mt*zr,zr=mr+et*zr+Mt*Xr,tr=et*(Xr=tr)-Mt*mr-Oe,mr=et*mr+Mt*Xr-Je;var di=Rr*Rr+zr*zr,Li,Ci;et-=Li=(tr*Rr+mr*zr)/di,Mt-=Ci=(mr*Rr-tr*zr)/di}while(n(Li)+n(Ci)>p*p&&--He>0);if(He){var Qi=H(et*et+Mt*Mt),Mn=2*i(Qi*.5),pa=x(Mn);return[a(et*pa,Qi*o(Mn)),Qi?q(Mt*pa/Qi):0]}},Pe}var wo=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],Od=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],$o=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Ja=[[.9245,0],[0,0],[.01943,0]],Ef=[[.721316,0],[0,0],[-.00881625,-.00617325]];function tc(){return Ml(wo,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function uu(){return Ml(Od,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Mh(){return Ml($o,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function jc(){return Ml(Ja,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function kf(){return Ml(Ef,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Ml(he,be){var Pe=t.geoProjection(ov(he)).rotate(be).clipAngle(90),Oe=t.geoRotation(be),Je=Pe.center;return delete Pe.rotate,Pe.center=function(He){return arguments.length?Je(Oe(He)):Oe.invert(Je())},Pe}var Yh=H(6),Eh=H(7);function nh(he,be){var Pe=q(7*x(be)/(3*Yh));return[Yh*he*(2*o(2*Pe/3)-1)/Eh,9*x(Pe/3)/Eh]}nh.invert=function(he,be){var Pe=3*q(be*Eh/9);return[he*Eh/(Yh*(2*o(2*Pe/3)-1)),q(x(Pe)*3*Yh/7)]};function hf(){return t.geoProjection(nh).scale(164.859)}function kh(he,be){for(var Pe=(1+_)*x(be),Oe=be,Je=0,He;Je<25&&(Oe-=He=(x(Oe/2)+x(Oe)-Pe)/(.5*o(Oe/2)+o(Oe)),!(n(He)<p));Je++);return[he*(1+2*o(Oe)/o(Oe/2))/(3*C),2*H(3)*x(Oe/2)/H(2+C)]}kh.invert=function(he,be){var Pe=be*H(2+C)/(2*H(3)),Oe=2*q(Pe);return[3*C*he/(1+2*o(Oe)/o(Oe/2)),q((Pe+x(Oe))/(1+_))]};function Kh(){return t.geoProjection(kh).scale(188.209)}function rc(he,be){for(var Pe=H(6/(4+k)),Oe=(1+k/4)*x(be),Je=be/2,He=0,et;He<25&&(Je-=et=(Je/2+x(Je)-Oe)/(.5+o(Je)),!(n(et)<p));He++);return[Pe*(.5+o(Je))*he/1.5,Pe*Je]}rc.invert=function(he,be){var Pe=H(6/(4+k)),Oe=be/Pe;return n(n(Oe)-A)<p&&(Oe=Oe<0?-A:A),[1.5*he/(Pe*(.5+o(Oe))),q((Oe/2+x(Oe))/(1+k/4))]};function ah(){return t.geoProjection(rc).scale(166.518)}function Wc(he,be){var Pe=be*be,Oe=Pe*Pe,Je=Pe*Oe;return[he*(.84719-.13063*Pe+Je*Je*(-.04515+.05494*Pe-.02326*Oe+.00331*Je)),be*(1.01183+Oe*Oe*(-.02625+.01926*Pe-.00396*Oe))]}Wc.invert=function(he,be){var Pe=be,Oe=25,Je,He,et,Mt;do He=Pe*Pe,et=He*He,Pe-=Je=(Pe*(1.01183+et*et*(-.02625+.01926*He-.00396*et))-be)/(1.01183+et*et*(9*-.02625+11*.01926*He+13*-.00396*et));while(n(Je)>E&&--Oe>0);return He=Pe*Pe,et=He*He,Mt=He*et,[he/(.84719-.13063*He+Mt*Mt*(-.04515+.05494*He-.02326*et+.00331*Mt)),Pe]};function df(){return t.geoProjection(Wc).scale(175.295)}function Cu(he,be){return[he*(1+o(be))/2,2*(be-b(be/2))]}Cu.invert=function(he,be){for(var Pe=be/2,Oe=0,Je=1/0;Oe<10&&n(Je)>p;++Oe){var He=o(be/2);be-=Je=(be-b(be/2)-Pe)/(1-.5/(He*He))}return[2*he/(1+o(be)),be]};function Nf(){return t.geoProjection(Cu).scale(152.63)}var Zc=[[[[-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 ds(){return So(Ge(1/0),Zc).rotate([20,0]).scale(152.63)}function Ch(he,be){var Pe=x(be),Oe=o(be),Je=v(he);if(he===0||n(be)===A)return[0,be];if(be===0)return[he,0];if(n(he)===A)return[he*Oe,A*Pe];var He=k/(2*he)-2*he/k,et=2*be/k,Mt=(1-et*et)/(Pe-et),Dt=He*He,Ut=Mt*Mt,tr=1+Dt/Ut,mr=1+Ut/Dt,Rr=(He*Pe/Mt-He/2)/tr,zr=(Ut*Pe/Dt+Mt/2)/mr,Xr=Rr*Rr+Oe*Oe/tr,di=zr*zr-(Ut*Pe*Pe/Dt+Mt*Pe-1)/mr;return[A*(Rr+H(Xr)*Je),A*(zr+H(di<0?0:di)*v(-be*He)*Je)]}Ch.invert=function(he,be){he/=A,be/=A;var Pe=he*he,Oe=be*be,Je=Pe+Oe,He=k*k;return[he?(Je-1+H((1-Je)*(1-Je)+4*Pe))/(2*he)*A:0,qt(function(et){return Je*(k*x(et)-2*et)*k+4*et*et*(be-x(et))+2*k*et-He*be},0)]};function Bd(){return t.geoProjection(Ch).scale(127.267)}var Jh=1.0148,Cf=.23185,pd=-.14499,Lu=.02406,$h=Jh,tu=5*Cf,Pu=7*pd,Lc=9*Lu,fl=1.790857183;function Xc(he,be){var Pe=be*be;return[he,be*(Jh+Pe*Pe*(Cf+Pe*(pd+Lu*Pe)))]}Xc.invert=function(he,be){be>fl?be=fl:be<-fl&&(be=-fl);var Pe=be,Oe;do{var Je=Pe*Pe;Pe-=Oe=(Pe*(Jh+Je*Je*(Cf+Je*(pd+Lu*Je)))-be)/($h+Je*Je*(tu+Je*(Pu+Lc*Je)))}while(n(Oe)>p);return[he,Pe]};function ic(){return t.geoProjection(Xc).scale(139.319)}function yu(he,be){if(n(be)<p)return[he,0];var Pe=b(be),Oe=he*x(be);return[x(Oe)/Pe,be+(1-o(Oe))/Pe]}yu.invert=function(he,be){if(n(be)<p)return[he,0];var Pe=he*he+be*be,Oe=be*.5,Je=10,He;do{var et=b(Oe),Mt=1/o(Oe),Dt=Pe-2*be*Oe+Oe*Oe;Oe-=He=(et*Dt+2*(Oe-be))/(2+Dt*Mt*Mt+2*(Oe-be)*et)}while(n(He)>p&&--Je>0);return et=b(Oe),[(n(be)<n(Oe+1/et)?q(he*et):v(be)*v(he)*(V(n(he*et))+A))/x(Oe),Oe]};function Qs(){return t.geoProjection(yu).scale(103.74)}function Qh(he,be){var Pe=Pc(he[1],he[0]),Oe=Pc(be[1],be[0]),Je=sv(Pe,Oe),He=vc(Pe)/vc(Oe);return Gu([1,0,he[0][0],0,1,he[0][1]],Gu([He,0,0,0,He,0],Gu([o(Je),x(Je),0,-x(Je),o(Je),0],[1,0,-be[0][0],0,1,-be[0][1]])))}function gd(he){var be=1/(he[0]*he[4]-he[1]*he[3]);return[be*he[4],-be*he[1],be*(he[1]*he[5]-he[2]*he[4]),-be*he[3],be*he[0],be*(he[2]*he[3]-he[0]*he[5])]}function Gu(he,be){return[he[0]*be[0]+he[1]*be[3],he[0]*be[1]+he[1]*be[4],he[0]*be[2]+he[1]*be[5]+he[2],he[3]*be[0]+he[4]*be[3],he[3]*be[1]+he[4]*be[4],he[3]*be[2]+he[4]*be[5]+he[5]]}function Pc(he,be){return[he[0]-be[0],he[1]-be[1]]}function vc(he){return H(he[0]*he[0]+he[1]*he[1])}function sv(he,be){return a(he[0]*be[1]-he[1]*be[0],he[0]*be[0]+he[1]*be[1])}function Lf(he,be,Pe){Oe(he,{transform:null});function Oe(Ut,tr){if(Ut.edges=ru(Ut.face),tr.face){var mr=Ut.shared=oh(Ut.face,tr.face),Rr=Qh(mr.map(tr.project),mr.map(Ut.project));Ut.transform=tr.transform?Gu(tr.transform,Rr):Rr;for(var zr=tr.edges,Xr=0,di=zr.length;Xr<di;++Xr)Iu(mr[0],zr[Xr][1])&&Iu(mr[1],zr[Xr][0])&&(zr[Xr]=Ut),Iu(mr[0],zr[Xr][0])&&Iu(mr[1],zr[Xr][1])&&(zr[Xr]=Ut);for(zr=Ut.edges,Xr=0,di=zr.length;Xr<di;++Xr)Iu(mr[0],zr[Xr][0])&&Iu(mr[1],zr[Xr][1])&&(zr[Xr]=tr),Iu(mr[0],zr[Xr][1])&&Iu(mr[1],zr[Xr][0])&&(zr[Xr]=tr)}else Ut.transform=tr.transform;return Ut.children&&Ut.children.forEach(function(Li){Oe(Li,Ut)}),Ut}function Je(Ut,tr){var mr=be(Ut,tr),Rr=mr.project([Ut*P,tr*P]),zr;return(zr=mr.transform)?[zr[0]*Rr[0]+zr[1]*Rr[1]+zr[2],-(zr[3]*Rr[0]+zr[4]*Rr[1]+zr[5])]:(Rr[1]=-Rr[1],Rr)}vf(he)&&(Je.invert=function(Ut,tr){var mr=He(he,[Ut,-tr]);return mr&&(mr[0]*=T,mr[1]*=T,mr)});function He(Ut,tr){var mr=Ut.project.invert,Rr=Ut.transform,zr=tr;if(Rr&&(Rr=gd(Rr),zr=[Rr[0]*zr[0]+Rr[1]*zr[1]+Rr[2],Rr[3]*zr[0]+Rr[4]*zr[1]+Rr[5]]),mr&&Ut===et(Xr=mr(zr)))return Xr;for(var Xr,di=Ut.children,Li=0,Ci=di&&di.length;Li<Ci;++Li)if(Xr=He(di[Li],tr))return Xr}function et(Ut){return be(Ut[0]*T,Ut[1]*T)}var Mt=t.geoProjection(Je),Dt=Mt.stream;return Mt.stream=function(Ut){var tr=Mt.rotate(),mr=Dt(Ut),Rr=(Mt.rotate([0,0]),Dt(Ut));return Mt.rotate(tr),mr.sphere=function(){Rr.polygonStart(),Rr.lineStart(),Uf(Rr,he),Rr.lineEnd(),Rr.polygonEnd()},mr},Mt.angle(Pe==null?-30:Pe*P)}function Uf(he,be,Pe){var Oe,Je=be.edges,He=Je.length,et,Mt={type:\"MultiPoint\",coordinates:be.face},Dt=be.face.filter(function(di){return n(di[1])!==90}),Ut=t.geoBounds({type:\"MultiPoint\",coordinates:Dt}),tr=!1,mr=-1,Rr=Ut[1][0]-Ut[0][0],zr=Rr===180||Rr===360?[(Ut[0][0]+Ut[1][0])/2,(Ut[0][1]+Ut[1][1])/2]:t.geoCentroid(Mt);if(Pe)for(;++mr<He&&Je[mr]!==Pe;);++mr;for(var Xr=0;Xr<He;++Xr)et=Je[(Xr+mr)%He],Array.isArray(et)?(tr||(he.point((Oe=t.geoInterpolate(et[0],zr)(p))[0],Oe[1]),tr=!0),he.point((Oe=t.geoInterpolate(et[1],zr)(p))[0],Oe[1])):(tr=!1,et!==Pe&&Uf(he,et,be))}function Iu(he,be){return he&&be&&he[0]===be[0]&&he[1]===be[1]}function oh(he,be){for(var Pe,Oe,Je=he.length,He=null,et=0;et<Je;++et){Pe=he[et];for(var Mt=be.length;--Mt>=0;)if(Oe=be[Mt],Pe[0]===Oe[0]&&Pe[1]===Oe[1]){if(He)return[He,Pe];He=Pe}}}function ru(he){for(var be=he.length,Pe=[],Oe=he[be-1],Je=0;Je<be;++Je)Pe.push([Oe,Oe=he[Je]]);return Pe}function vf(he){return he.project.invert||he.children&&he.children.some(vf)}var md=[[0,90],[-90,0],[0,0],[90,0],[180,0],[0,-90]],sh=[[0,2,1],[0,3,2],[5,1,2],[5,2,3],[0,1,4],[0,4,3],[5,4,1],[5,3,4]].map(function(he){return he.map(function(be){return md[be]})});function Fs(he){he=he||function(Pe){var Oe=t.geoCentroid({type:\"MultiPoint\",coordinates:Pe});return t.geoGnomonic().scale(1).translate([0,0]).rotate([-Oe[0],-Oe[1]])};var be=sh.map(function(Pe){return{face:Pe,project:he(Pe)}});return[-1,0,0,1,0,1,4,5].forEach(function(Pe,Oe){var Je=be[Pe];Je&&(Je.children||(Je.children=[])).push(be[Oe])}),Lf(be[0],function(Pe,Oe){return be[Pe<-k/2?Oe<0?6:4:Pe<0?Oe<0?2:0:Pe<k/2?Oe<0?3:1:Oe<0?7:5]}).angle(-30).scale(101.858).center([0,45])}var _u=2/H(3);function xu(he,be){var Pe=ht(he,be);return[Pe[0]*_u,Pe[1]]}xu.invert=function(he,be){return ht.invert(he/_u,be)};function Lh(he){he=he||function(Pe){var Oe=t.geoCentroid({type:\"MultiPoint\",coordinates:Pe});return t.geoProjection(xu).translate([0,0]).scale(1).rotate(Oe[1]>0?[-Oe[0],0]:[180-Oe[0],180])};var be=sh.map(function(Pe){return{face:Pe,project:he(Pe)}});return[-1,0,0,1,0,1,4,5].forEach(function(Pe,Oe){var Je=be[Pe];Je&&(Je.children||(Je.children=[])).push(be[Oe])}),Lf(be[0],function(Pe,Oe){return be[Pe<-k/2?Oe<0?6:4:Pe<0?Oe<0?2:0:Pe<k/2?Oe<0?3:1:Oe<0?7:5]}).angle(-30).scale(121.906).center([0,48.5904])}function Is(he){he=he||function(et){var Mt=et.length===6?t.geoCentroid({type:\"MultiPoint\",coordinates:et}):et[0];return t.geoGnomonic().scale(1).translate([0,0]).rotate([-Mt[0],-Mt[1]])};var be=sh.map(function(et){for(var Mt=et.map(Vf),Dt=Mt.length,Ut=Mt[Dt-1],tr,mr=[],Rr=0;Rr<Dt;++Rr)tr=Mt[Rr],mr.push(ju([Ut[0]*.9486832980505138+tr[0]*.31622776601683794,Ut[1]*.9486832980505138+tr[1]*.31622776601683794,Ut[2]*.9486832980505138+tr[2]*.31622776601683794]),ju([tr[0]*.9486832980505138+Ut[0]*.31622776601683794,tr[1]*.9486832980505138+Ut[1]*.31622776601683794,tr[2]*.9486832980505138+Ut[2]*.31622776601683794])),Ut=tr;return mr}),Pe=[],Oe=[-1,0,0,1,0,1,4,5];be.forEach(function(et,Mt){for(var Dt=sh[Mt],Ut=Dt.length,tr=Pe[Mt]=[],mr=0;mr<Ut;++mr)be.push([Dt[mr],et[(mr*2+2)%(2*Ut)],et[(mr*2+1)%(2*Ut)]]),Oe.push(Mt),tr.push(Ic(Vf(et[(mr*2+2)%(2*Ut)]),Vf(et[(mr*2+1)%(2*Ut)])))});var Je=be.map(function(et){return{project:he(et),face:et}});Oe.forEach(function(et,Mt){var Dt=Je[et];Dt&&(Dt.children||(Dt.children=[])).push(Je[Mt])});function He(et,Mt){var Dt=o(Mt),Ut=[Dt*o(et),Dt*x(et),x(Mt)],tr=et<-k/2?Mt<0?6:4:et<0?Mt<0?2:0:et<k/2?Mt<0?3:1:Mt<0?7:5,mr=Pe[tr];return Je[Pf(mr[0],Ut)<0?8+3*tr:Pf(mr[1],Ut)<0?8+3*tr+1:Pf(mr[2],Ut)<0?8+3*tr+2:tr]}return Lf(Je[0],He).angle(-30).scale(110.625).center([0,45])}function Pf(he,be){for(var Pe=0,Oe=he.length,Je=0;Pe<Oe;++Pe)Je+=he[Pe]*be[Pe];return Je}function Ic(he,be){return[he[1]*be[2]-he[2]*be[1],he[2]*be[0]-he[0]*be[2],he[0]*be[1]-he[1]*be[0]]}function ju(he){return[a(he[1],he[0])*P,q(c(-1,f(1,he[2])))*P]}function Vf(he){var be=he[0]*T,Pe=he[1]*T,Oe=o(Pe);return[Oe*o(be),Oe*x(be),x(Pe)]}function pc(){}function pf(he){if((Pe=he.length)<4)return!1;for(var be=0,Pe,Oe=he[Pe-1][1]*he[0][0]-he[Pe-1][0]*he[0][1];++be<Pe;)Oe+=he[be-1][1]*he[be][0]-he[be-1][0]*he[be][1];return Oe<=0}function Ph(he,be){for(var Pe=be[0],Oe=be[1],Je=!1,He=0,et=he.length,Mt=et-1;He<et;Mt=He++){var Dt=he[He],Ut=Dt[0],tr=Dt[1],mr=he[Mt],Rr=mr[0],zr=mr[1];tr>Oe^zr>Oe&&Pe<(Rr-Ut)*(Oe-tr)/(zr-tr)+Ut&&(Je=!Je)}return Je}function Dl(he,be){var Pe=be.stream,Oe;if(!Pe)throw new Error(\"invalid projection\");switch(he&&he.type){case\"Feature\":Oe=Wu;break;case\"FeatureCollection\":Oe=Ih;break;default:Oe=gc;break}return Oe(he,Pe)}function Ih(he,be){return{type:\"FeatureCollection\",features:he.features.map(function(Pe){return Wu(Pe,be)})}}function Wu(he,be){return{type:\"Feature\",id:he.id,properties:he.properties,geometry:gc(he.geometry,be)}}function Rc(he,be){return{type:\"GeometryCollection\",geometries:he.geometries.map(function(Pe){return gc(Pe,be)})}}function gc(he,be){if(!he)return null;if(he.type===\"GeometryCollection\")return Rc(he,be);var Pe;switch(he.type){case\"Point\":Pe=mc;break;case\"MultiPoint\":Pe=mc;break;case\"LineString\":Pe=Yc;break;case\"MultiLineString\":Pe=Yc;break;case\"Polygon\":Pe=nc;break;case\"MultiPolygon\":Pe=nc;break;case\"Sphere\":Pe=nc;break;default:return null}return t.geoStream(he,be(Pe)),Pe.result()}var hl=[],iu=[],mc={point:function(he,be){hl.push([he,be])},result:function(){var he=hl.length?hl.length<2?{type:\"Point\",coordinates:hl[0]}:{type:\"MultiPoint\",coordinates:hl}:null;return hl=[],he}},Yc={lineStart:pc,point:function(he,be){hl.push([he,be])},lineEnd:function(){hl.length&&(iu.push(hl),hl=[])},result:function(){var he=iu.length?iu.length<2?{type:\"LineString\",coordinates:iu[0]}:{type:\"MultiLineString\",coordinates:iu}:null;return iu=[],he}},nc={polygonStart:pc,lineStart:pc,point:function(he,be){hl.push([he,be])},lineEnd:function(){var he=hl.length;if(he){do hl.push(hl[0].slice());while(++he<4);iu.push(hl),hl=[]}},polygonEnd:pc,result:function(){if(!iu.length)return null;var he=[],be=[];return iu.forEach(function(Pe){pf(Pe)?he.push([Pe]):be.push(Pe)}),be.forEach(function(Pe){var Oe=Pe[0];he.some(function(Je){if(Ph(Je[0],Oe))return Je.push(Pe),!0})||he.push([Pe])}),iu=[],he.length?he.length>1?{type:\"MultiPolygon\",coordinates:he}:{type:\"Polygon\",coordinates:he[0]}:null}};function gf(he){var be=he(A,0)[0]-he(-A,0)[0];function Pe(Oe,Je){var He=n(Oe)<A,et=he(He?Oe:Oe>0?Oe-k:Oe+k,Je),Mt=(et[0]-et[1])*_,Dt=(et[0]+et[1])*_;if(He)return[Mt,Dt];var Ut=be*_,tr=Mt>0^Dt>0?-1:1;return[tr*Mt-v(Dt)*Ut,tr*Dt-v(Mt)*Ut]}return he.invert&&(Pe.invert=function(Oe,Je){var He=(Oe+Je)*_,et=(Je-Oe)*_,Mt=n(He)<.5*be&&n(et)<.5*be;if(!Mt){var Dt=be*_,Ut=He>0^et>0?-1:1,tr=-Ut*Oe+(et>0?1:-1)*Dt,mr=-Ut*Je+(He>0?1:-1)*Dt;He=(-tr-mr)*_,et=(tr-mr)*_}var Rr=he.invert(He,et);return Mt||(Rr[0]+=He>0?k:-k),Rr}),t.geoProjection(Pe).rotate([-90,-90,45]).clipAngle(180-.001)}function gt(){return gf(hi).scale(176.423)}function Bt(){return gf(Mo).scale(111.48)}function wr(he,be){if(!(0<=(be=+be)&&be<=20))throw new Error(\"invalid digits\");function Pe(Ut){var tr=Ut.length,mr=2,Rr=new Array(tr);for(Rr[0]=+Ut[0].toFixed(be),Rr[1]=+Ut[1].toFixed(be);mr<tr;)Rr[mr]=Ut[mr],++mr;return Rr}function Oe(Ut){return Ut.map(Pe)}function Je(Ut){for(var tr=Pe(Ut[0]),mr=[tr],Rr=1;Rr<Ut.length;Rr++){var zr=Pe(Ut[Rr]);(zr.length>2||zr[0]!=tr[0]||zr[1]!=tr[1])&&(mr.push(zr),tr=zr)}return mr.length===1&&Ut.length>1&&mr.push(Pe(Ut[Ut.length-1])),mr}function He(Ut){return Ut.map(Je)}function et(Ut){if(Ut==null)return Ut;var tr;switch(Ut.type){case\"GeometryCollection\":tr={type:\"GeometryCollection\",geometries:Ut.geometries.map(et)};break;case\"Point\":tr={type:\"Point\",coordinates:Pe(Ut.coordinates)};break;case\"MultiPoint\":tr={type:Ut.type,coordinates:Oe(Ut.coordinates)};break;case\"LineString\":tr={type:Ut.type,coordinates:Je(Ut.coordinates)};break;case\"MultiLineString\":case\"Polygon\":tr={type:Ut.type,coordinates:He(Ut.coordinates)};break;case\"MultiPolygon\":tr={type:\"MultiPolygon\",coordinates:Ut.coordinates.map(He)};break;default:return Ut}return Ut.bbox!=null&&(tr.bbox=Ut.bbox),tr}function Mt(Ut){var tr={type:\"Feature\",properties:Ut.properties,geometry:et(Ut.geometry)};return Ut.id!=null&&(tr.id=Ut.id),Ut.bbox!=null&&(tr.bbox=Ut.bbox),tr}if(he!=null)switch(he.type){case\"Feature\":return Mt(he);case\"FeatureCollection\":{var Dt={type:\"FeatureCollection\",features:he.features.map(Mt)};return he.bbox!=null&&(Dt.bbox=he.bbox),Dt}default:return et(he)}return he}function vr(he){var be=x(he);function Pe(Oe,Je){var He=be?b(Oe*be/2)/be:Oe/2;if(!Je)return[2*He,-he];var et=2*i(He*x(Je)),Mt=1/b(Je);return[x(et)*Mt,Je+(1-o(et))*Mt-he]}return Pe.invert=function(Oe,Je){if(n(Je+=he)<p)return[be?2*i(be*Oe/2)/be:Oe,0];var He=Oe*Oe+Je*Je,et=0,Mt=10,Dt;do{var Ut=b(et),tr=1/o(et),mr=He-2*Je*et+et*et;et-=Dt=(Ut*mr+2*(et-Je))/(2+mr*tr*tr+2*(et-Je)*Ut)}while(n(Dt)>p&&--Mt>0);var Rr=Oe*(Ut=b(et)),zr=b(n(Je)<n(et+1/Ut)?q(Rr)*.5:V(Rr)*.5+k/4)/x(et);return[be?2*i(be*zr)/be:2*zr,et]},Pe}function Ur(){return Lt(vr).scale(131.215)}var fi=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];fi.forEach(function(he){he[1]*=1.0144});function xi(he,be){var Pe=f(18,n(be)*36/k),Oe=l(Pe),Je=Pe-Oe,He=(mr=fi[Oe])[0],et=mr[1],Mt=(mr=fi[++Oe])[0],Dt=mr[1],Ut=(mr=fi[f(19,++Oe)])[0],tr=mr[1],mr;return[he*(Mt+Je*(Ut-He)/2+Je*Je*(Ut-2*Mt+He)/2),(be>0?A:-A)*(Dt+Je*(tr-et)/2+Je*Je*(tr-2*Dt+et)/2)]}xi.invert=function(he,be){var Pe=be/A,Oe=Pe*90,Je=f(18,n(Oe/5)),He=c(0,l(Je));do{var et=fi[He][1],Mt=fi[He+1][1],Dt=fi[f(19,He+2)][1],Ut=Dt-et,tr=Dt-2*Mt+et,mr=2*(n(Pe)-Mt)/Ut,Rr=tr/Ut,zr=mr*(1-Rr*mr*(1-2*Rr*mr));if(zr>=0||He===1){Oe=(be>=0?5:-5)*(zr+Je);var Xr=50,di;do Je=f(18,n(Oe)/5),He=l(Je),zr=Je-He,et=fi[He][1],Mt=fi[He+1][1],Dt=fi[f(19,He+2)][1],Oe-=(di=(be>=0?A:-A)*(Mt+zr*(Dt-et)/2+zr*zr*(Dt-2*Mt+et)/2)-be)*P;while(n(di)>E&&--Xr>0);break}}while(--He>=0);var Li=fi[He][0],Ci=fi[He+1][0],Qi=fi[f(19,He+2)][0];return[he/(Ci+zr*(Qi-Li)/2+zr*zr*(Qi-2*Ci+Li)/2),Oe*T]};function Fi(){return t.geoProjection(xi).scale(152.63)}function Xi(he){function be(Pe,Oe){var Je=o(Oe),He=(he-1)/(he-Je*o(Pe));return[He*Je*x(Pe),He*x(Oe)]}return be.invert=function(Pe,Oe){var Je=Pe*Pe+Oe*Oe,He=H(Je),et=(he-H(1-Je*(he+1)/(he-1)))/((he-1)/He+He/(he-1));return[a(Pe*et,He*H(1-et*et)),He?q(Oe*et/He):0]},be}function hn(he,be){var Pe=Xi(he);if(!be)return Pe;var Oe=o(be),Je=x(be);function He(et,Mt){var Dt=Pe(et,Mt),Ut=Dt[1],tr=Ut*Je/(he-1)+Oe;return[Dt[0]*Oe/tr,Ut/tr]}return He.invert=function(et,Mt){var Dt=(he-1)/(he-1-Mt*Je);return Pe.invert(Dt*et,Dt*Mt*Oe)},He}function Ti(){var he=2,be=0,Pe=t.geoProjectionMutator(hn),Oe=Pe(he,be);return Oe.distance=function(Je){return arguments.length?Pe(he=+Je,be):he},Oe.tilt=function(Je){return arguments.length?Pe(he,be=Je*T):be*P},Oe.scale(432.147).clipAngle(V(1/he)*P-1e-6)}var qi=1e-4,Ii=1e4,mi=-180,Pn=mi+qi,Ma=180,Ta=Ma-qi,Ea=-90,qa=Ea+qi,Cn=90,sn=Cn-qi;function Ua(he){return he.length>0}function mo(he){return Math.floor(he*Ii)/Ii}function Xo(he){return he===Ea||he===Cn?[0,he]:[mi,mo(he)]}function Ts(he){var be=he[0],Pe=he[1],Oe=!1;return be<=Pn?(be=mi,Oe=!0):be>=Ta&&(be=Ma,Oe=!0),Pe<=qa?(Pe=Ea,Oe=!0):Pe>=sn&&(Pe=Cn,Oe=!0),Oe?[be,Pe]:he}function Qo(he){return he.map(Ts)}function ys(he,be,Pe){for(var Oe=0,Je=he.length;Oe<Je;++Oe){var He=he[Oe].slice();Pe.push({index:-1,polygon:be,ring:He});for(var et=0,Mt=He.length;et<Mt;++et){var Dt=He[et],Ut=Dt[0],tr=Dt[1];if(Ut<=Pn||Ut>=Ta||tr<=qa||tr>=sn){He[et]=Ts(Dt);for(var mr=et+1;mr<Mt;++mr){var Rr=He[mr],zr=Rr[0],Xr=Rr[1];if(zr>Pn&&zr<Ta&&Xr>qa&&Xr<sn)break}if(mr===et+1)continue;if(et){var di={index:-1,polygon:be,ring:He.slice(0,et+1)};di.ring[di.ring.length-1]=Xo(tr),Pe[Pe.length-1]=di}else Pe.pop();if(mr>=Mt)break;Pe.push({index:-1,polygon:be,ring:He=He.slice(mr-1)}),He[0]=Xo(He[0][1]),et=-1,Mt=He.length}}}}function Bo(he){var be,Pe=he.length,Oe={},Je={},He,et,Mt,Dt,Ut;for(be=0;be<Pe;++be){if(He=he[be],et=He.ring[0],Dt=He.ring[He.ring.length-1],et[0]===Dt[0]&&et[1]===Dt[1]){He.polygon.push(He.ring),he[be]=null;continue}He.index=be,Oe[et]=Je[Dt]=He}for(be=0;be<Pe;++be)if(He=he[be],He){if(et=He.ring[0],Dt=He.ring[He.ring.length-1],Mt=Je[et],Ut=Oe[Dt],delete Oe[et],delete Je[Dt],et[0]===Dt[0]&&et[1]===Dt[1]){He.polygon.push(He.ring);continue}Mt?(delete Je[et],delete Oe[Mt.ring[0]],Mt.ring.pop(),he[Mt.index]=null,He={index:-1,polygon:Mt.polygon,ring:Mt.ring.concat(He.ring)},Mt===Ut?He.polygon.push(He.ring):(He.index=Pe++,he.push(Oe[He.ring[0]]=Je[He.ring[He.ring.length-1]]=He))):Ut?(delete Oe[Dt],delete Je[Ut.ring[Ut.ring.length-1]],He.ring.pop(),He={index:Pe++,polygon:Ut.polygon,ring:He.ring.concat(Ut.ring)},he[Ut.index]=null,he.push(Oe[He.ring[0]]=Je[He.ring[He.ring.length-1]]=He)):(He.ring.push(He.ring[0]),He.polygon.push(He.ring))}}function yl(he){var be={type:\"Feature\",geometry:Gs(he.geometry)};return he.id!=null&&(be.id=he.id),he.bbox!=null&&(be.bbox=he.bbox),he.properties!=null&&(be.properties=he.properties),be}function Gs(he){if(he==null)return he;var be,Pe,Oe,Je;switch(he.type){case\"GeometryCollection\":be={type:\"GeometryCollection\",geometries:he.geometries.map(Gs)};break;case\"Point\":be={type:\"Point\",coordinates:Ts(he.coordinates)};break;case\"MultiPoint\":case\"LineString\":be={type:he.type,coordinates:Qo(he.coordinates)};break;case\"MultiLineString\":be={type:\"MultiLineString\",coordinates:he.coordinates.map(Qo)};break;case\"Polygon\":{var He=[];ys(he.coordinates,He,Pe=[]),Bo(Pe),be={type:\"Polygon\",coordinates:He};break}case\"MultiPolygon\":{Pe=[],Oe=-1,Je=he.coordinates.length;for(var et=new Array(Je);++Oe<Je;)ys(he.coordinates[Oe],et[Oe]=[],Pe);Bo(Pe),be={type:\"MultiPolygon\",coordinates:et.filter(Ua)};break}default:return he}return he.bbox!=null&&(be.bbox=he.bbox),be}function Rs(he){if(he==null)return he;switch(he.type){case\"Feature\":return yl(he);case\"FeatureCollection\":{var be={type:\"FeatureCollection\",features:he.features.map(yl)};return he.bbox!=null&&(be.bbox=he.bbox),be}default:return Gs(he)}}function ia(he,be){var Pe=b(be/2),Oe=x(L*Pe);return[he*(.74482-.34588*Oe*Oe),1.70711*Pe]}ia.invert=function(he,be){var Pe=be/1.70711,Oe=x(L*Pe);return[he/(.74482-.34588*Oe*Oe),2*i(Pe)]};function Ka(){return t.geoProjection(ia).scale(146.153)}function vs(he,be,Pe){var Oe=t.geoInterpolate(be,Pe),Je=Oe(.5),He=t.geoRotation([-Je[0],-Je[1]])(be),et=Oe.distance/2,Mt=-q(x(He[1]*T)/x(et)),Dt=[-Je[0],-Je[1],-(He[0]>0?k-Mt:Mt)*P],Ut=t.geoProjection(he(et)).rotate(Dt),tr=t.geoRotation(Dt),mr=Ut.center;return delete Ut.rotate,Ut.center=function(Rr){return arguments.length?mr(tr(Rr)):tr.invert(mr())},Ut.clipAngle(90)}function Ko(he){var be=o(he);function Pe(Oe,Je){var He=t.geoGnomonicRaw(Oe,Je);return He[0]*=be,He}return Pe.invert=function(Oe,Je){return t.geoGnomonicRaw.invert(Oe/be,Je)},Pe}function nu(){return Ru([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Ru(he,be){return vs(Ko,he,be)}function ac(he){if(!(he*=2))return t.geoAzimuthalEquidistantRaw;var be=-he/2,Pe=-be,Oe=he*he,Je=b(Pe),He=.5/x(Pe);function et(Mt,Dt){var Ut=V(o(Dt)*o(Mt-be)),tr=V(o(Dt)*o(Mt-Pe)),mr=Dt<0?-1:1;return Ut*=Ut,tr*=tr,[(Ut-tr)/(2*he),mr*H(4*Oe*tr-(Oe-Ut+tr)*(Oe-Ut+tr))/(2*he)]}return et.invert=function(Mt,Dt){var Ut=Dt*Dt,tr=o(H(Ut+(Rr=Mt+be)*Rr)),mr=o(H(Ut+(Rr=Mt+Pe)*Rr)),Rr,zr;return[a(zr=tr-mr,Rr=(tr+mr)*Je),(Dt<0?-1:1)*V(H(Rr*Rr+zr*zr)*He)]},et}function mf(){return bu([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function bu(he,be){return vs(ac,he,be)}function Kc(he,be){if(n(be)<p)return[he,0];var Pe=n(be/A),Oe=q(Pe);if(n(he)<p||n(n(be)-A)<p)return[0,v(be)*k*b(Oe/2)];var Je=o(Oe),He=n(k/he-he/k)/2,et=He*He,Mt=Je/(Pe+Je-1),Dt=Mt*(2/Pe-1),Ut=Dt*Dt,tr=Ut+et,mr=Mt-Ut,Rr=et+Mt;return[v(he)*k*(He*mr+H(et*mr*mr-tr*(Mt*Mt-Ut)))/tr,v(be)*k*(Dt*Rr-He*H((et+1)*tr-Rr*Rr))/tr]}Kc.invert=function(he,be){if(n(be)<p)return[he,0];if(n(he)<p)return[0,A*x(2*i(be/k))];var Pe=(he/=k)*he,Oe=(be/=k)*be,Je=Pe+Oe,He=Je*Je,et=-n(be)*(1+Je),Mt=et-2*Oe+Pe,Dt=-2*et+1+2*Oe+He,Ut=Oe/Dt+(2*Mt*Mt*Mt/(Dt*Dt*Dt)-9*et*Mt/(Dt*Dt))/27,tr=(et-Mt*Mt/(3*Dt))/Dt,mr=2*H(-tr/3),Rr=V(3*Ut/(tr*mr))/3;return[k*(Je-1+H(1+2*(Pe-Oe)+He))/(2*he),v(be)*k*(-mr*o(Rr+k/3)-Mt/(3*Dt))]};function Du(){return t.geoProjection(Kc).scale(79.4183)}function Dc(he,be){if(n(be)<p)return[he,0];var Pe=n(be/A),Oe=q(Pe);if(n(he)<p||n(n(be)-A)<p)return[0,v(be)*k*b(Oe/2)];var Je=o(Oe),He=n(k/he-he/k)/2,et=He*He,Mt=Je*(H(1+et)-He*Je)/(1+et*Pe*Pe);return[v(he)*k*Mt,v(be)*k*H(1-Mt*(2*He+Mt))]}Dc.invert=function(he,be){if(!he)return[0,A*x(2*i(be/k))];var Pe=n(he/k),Oe=(1-Pe*Pe-(be/=k)*be)/(2*Pe),Je=Oe*Oe,He=H(Je+1);return[v(he)*k*(He-Oe),v(be)*A*x(2*a(H((1-2*Oe*Pe)*(Oe+He)-Pe),H(He+Oe+Pe)))]};function Da(){return t.geoProjection(Dc).scale(79.4183)}function eo(he,be){if(n(be)<p)return[he,0];var Pe=be/A,Oe=q(Pe);if(n(he)<p||n(n(be)-A)<p)return[0,k*b(Oe/2)];var Je=(k/he-he/k)/2,He=Pe/(1+o(Oe));return[k*(v(he)*H(Je*Je+1-He*He)-Je),k*He]}eo.invert=function(he,be){if(!be)return[he,0];var Pe=be/k,Oe=(k*k*(1-Pe*Pe)-he*he)/(2*k*he);return[he?k*(v(he)*H(Oe*Oe+1)-Oe):0,A*x(2*i(Pe))]};function Jc(){return t.geoProjection(eo).scale(79.4183)}function yc(he,be){if(!be)return[he,0];var Pe=n(be);if(!he||Pe===A)return[0,be];var Oe=Pe/A,Je=Oe*Oe,He=(8*Oe-Je*(Je+2)-5)/(2*Je*(Oe-1)),et=He*He,Mt=Oe*He,Dt=Je+et+2*Mt,Ut=Oe+3*He,tr=he/A,mr=tr+1/tr,Rr=v(n(he)-A)*H(mr*mr-4),zr=Rr*Rr,Xr=Dt*(Je+et*zr-1)+(1-Je)*(Je*(Ut*Ut+4*et)+12*Mt*et+4*et*et),di=(Rr*(Dt+et-1)+2*H(Xr))/(4*Dt+zr);return[v(he)*A*di,v(be)*A*H(1+Rr*n(di)-di*di)]}yc.invert=function(he,be){var Pe;if(!he||!be)return[he,be];be/=k;var Oe=v(he)*he/A,Je=(Oe*Oe-1+4*be*be)/n(Oe),He=Je*Je,et=2*be,Mt=50;do{var Dt=et*et,Ut=(8*et-Dt*(Dt+2)-5)/(2*Dt*(et-1)),tr=(3*et-Dt*et-10)/(2*Dt*et),mr=Ut*Ut,Rr=et*Ut,zr=et+Ut,Xr=zr*zr,di=et+3*Ut,Li=Xr*(Dt+mr*He-1)+(1-Dt)*(Dt*(di*di+4*mr)+mr*(12*Rr+4*mr)),Ci=-2*zr*(4*Rr*mr+(1-4*Dt+3*Dt*Dt)*(1+tr)+mr*(-6+14*Dt-He+(-8+8*Dt-2*He)*tr)+Rr*(-8+12*Dt+(-10+10*Dt-He)*tr)),Qi=H(Li),Mn=Je*(Xr+mr-1)+2*Qi-Oe*(4*Xr+He),pa=Je*(2*Ut*tr+2*zr*(1+tr))+Ci/Qi-8*zr*(Je*(-1+mr+Xr)+2*Qi)*(1+tr)/(He+4*Xr);et-=Pe=Mn/pa}while(Pe>p&&--Mt>0);return[v(he)*(H(Je*Je+4)+Je)*k/4,A*et]};function _c(){return t.geoProjection(yc).scale(127.16)}function le(he,be,Pe,Oe,Je){function He(et,Mt){var Dt=Pe*x(Oe*Mt),Ut=H(1-Dt*Dt),tr=H(2/(1+Ut*o(et*=Je)));return[he*Ut*tr*x(et),be*Dt*tr]}return He.invert=function(et,Mt){var Dt=et/he,Ut=Mt/be,tr=H(Dt*Dt+Ut*Ut),mr=2*q(tr/2);return[a(et*b(mr),he*tr)/Je,tr&&q(Mt*x(mr)/(be*Pe*tr))/Oe]},He}function w(he,be,Pe,Oe){var Je=k/3;he=c(he,p),be=c(be,p),he=f(he,A),be=f(be,k-p),Pe=c(Pe,0),Pe=f(Pe,100-p),Oe=c(Oe,p);var He=Pe/100+1,et=Oe/100,Mt=V(He*o(Je))/Je,Dt=x(he)/x(Mt*A),Ut=be/k,tr=H(et*x(he/2)/x(be/2)),mr=tr/H(Ut*Dt*Mt),Rr=1/(tr*H(Ut*Dt*Mt));return le(mr,Rr,Dt,Mt,Ut)}function B(){var he=65*T,be=60*T,Pe=20,Oe=200,Je=t.geoProjectionMutator(w),He=Je(he,be,Pe,Oe);return He.poleline=function(et){return arguments.length?Je(he=+et*T,be,Pe,Oe):he*P},He.parallels=function(et){return arguments.length?Je(he,be=+et*T,Pe,Oe):be*P},He.inflation=function(et){return arguments.length?Je(he,be,Pe=+et,Oe):Pe},He.ratio=function(et){return arguments.length?Je(he,be,Pe,Oe=+et):Oe},He.scale(163.775)}function Q(){return B().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)}var ee=4*k+3*H(3),se=2*H(2*k*H(3)/ee),qe=Ct(se*H(3)/k,se,ee/6);function je(){return t.geoProjection(qe).scale(176.84)}function it(he,be){return[he*H(1-3*be*be/(k*k)),be]}it.invert=function(he,be){return[he/H(1-3*be*be/(k*k)),be]};function yt(){return t.geoProjection(it).scale(152.63)}function Ot(he,be){var Pe=o(be),Oe=o(he)*Pe,Je=1-Oe,He=o(he=a(x(he)*Pe,-x(be))),et=x(he);return Pe=H(1-Oe*Oe),[et*Pe-He*Je,-He*Pe-et*Je]}Ot.invert=function(he,be){var Pe=(he*he+be*be)/-2,Oe=H(-Pe*(2+Pe)),Je=be*Pe+he*Oe,He=he*Pe-be*Oe,et=H(He*He+Je*Je);return[a(Oe*Je,et*(1+Pe)),et?-q(Oe*He/et):0]};function Nt(){return t.geoProjection(Ot).rotate([0,-90,45]).scale(124.75).clipAngle(180-.001)}function hr(he,be){var Pe=Me(he,be);return[(Pe[0]+he/A)/2,(Pe[1]+be)/2]}hr.invert=function(he,be){var Pe=he,Oe=be,Je=25;do{var He=o(Oe),et=x(Oe),Mt=x(2*Oe),Dt=et*et,Ut=He*He,tr=x(Pe),mr=o(Pe/2),Rr=x(Pe/2),zr=Rr*Rr,Xr=1-Ut*mr*mr,di=Xr?V(He*mr)*H(Li=1/Xr):Li=0,Li,Ci=.5*(2*di*He*Rr+Pe/A)-he,Qi=.5*(di*et+Oe)-be,Mn=.5*Li*(Ut*zr+di*He*mr*Dt)+.5/A,pa=Li*(tr*Mt/4-di*et*Rr),ea=.125*Li*(Mt*Rr-di*et*Ut*tr),Ga=.5*Li*(Dt*mr+di*zr*He)+.5,To=pa*ea-Ga*Mn,Wa=(Qi*pa-Ci*Ga)/To,co=(Ci*ea-Qi*Mn)/To;Pe-=Wa,Oe-=co}while((n(Wa)>p||n(co)>p)&&--Je>0);return[Pe,Oe]};function Sr(){return t.geoProjection(hr).scale(158.837)}e.geoNaturalEarth=t.geoNaturalEarth1,e.geoNaturalEarthRaw=t.geoNaturalEarth1Raw,e.geoAiry=_e,e.geoAiryRaw=ae,e.geoAitoff=ke,e.geoAitoffRaw=Me,e.geoArmadillo=ie,e.geoArmadilloRaw=ge,e.geoAugust=Ee,e.geoAugustRaw=Te,e.geoBaker=me,e.geoBakerRaw=Ce,e.geoBerghaus=ce,e.geoBerghausRaw=Re,e.geoBertin1953=Rt,e.geoBertin1953Raw=ot,e.geoBoggs=bt,e.geoBoggsRaw=xt,e.geoBonne=Ht,e.geoBonneRaw=dt,e.geoBottomley=fr,e.geoBottomleyRaw=$t,e.geoBromley=Br,e.geoBromleyRaw=_r,e.geoChamberlin=Xe,e.geoChamberlinRaw=Ne,e.geoChamberlinAfrica=Ve,e.geoCollignon=Le,e.geoCollignonRaw=ht,e.geoCraig=Se,e.geoCraigRaw=xe,e.geoCraster=Vt,e.geoCrasterRaw=Gt,e.geoCylindricalEqualArea=Qr,e.geoCylindricalEqualAreaRaw=ar,e.geoCylindricalStereographic=jr,e.geoCylindricalStereographicRaw=ai,e.geoEckert1=bi,e.geoEckert1Raw=ri,e.geoEckert2=Wi,e.geoEckert2Raw=nn,e.geoEckert3=_n,e.geoEckert3Raw=Ni,e.geoEckert4=zn,e.geoEckert4Raw=$i,e.geoEckert5=It,e.geoEckert5Raw=Wn,e.geoEckert6=jt,e.geoEckert6Raw=ft,e.geoEisenlohr=Fr,e.geoEisenlohrRaw=yr,e.geoFahey=gi,e.geoFaheyRaw=Vr,e.geoFoucaut=Mi,e.geoFoucautRaw=Si,e.geoFoucautSinusoidal=Gi,e.geoFoucautSinusoidalRaw=Pi,e.geoGilbert=jn,e.geoGingery=jo,e.geoGingeryRaw=la,e.geoGinzburg4=Ha,e.geoGinzburg4Raw=Sn,e.geoGinzburg5=xn,e.geoGinzburg5Raw=oo,e.geoGinzburg6=br,e.geoGinzburg6Raw=_t,e.geoGinzburg8=ti,e.geoGinzburg8Raw=Hr,e.geoGinzburg9=Yi,e.geoGinzburg9Raw=zi,e.geoGringorten=Fn,e.geoGringortenRaw=hi,e.geoGuyou=ks,e.geoGuyouRaw=Mo,e.geoHammer=ct,e.geoHammerRaw=Ge,e.geoHammerRetroazimuthal=wl,e.geoHammerRetroazimuthalRaw=Zs,e.geoHealpix=Ql,e.geoHealpixRaw=ml,e.geoHill=fc,e.geoHillRaw=Hu,e.geoHomolosine=vo,e.geoHomolosineRaw=Rl,e.geoHufnagel=Ks,e.geoHufnagelRaw=Zl,e.geoHyperelliptical=ko,e.geoHyperellipticalRaw=Zn,e.geoInterrupt=So,e.geoInterruptedBoggs=rh,e.geoInterruptedHomolosine=Hc,e.geoInterruptedMollweide=Ls,e.geoInterruptedMollweideHemispheres=kc,e.geoInterruptedSinuMollweide=Gc,e.geoInterruptedSinusoidal=Bf,e.geoKavrayskiy7=ff,e.geoKavrayskiy7Raw=ss,e.geoLagrange=Vl,e.geoLagrangeRaw=ih,e.geoLarrivee=Cc,e.geoLarriveeRaw=hc,e.geoLaskowski=$s,e.geoLaskowskiRaw=ws,e.geoLittrow=Ms,e.geoLittrowRaw=hs,e.geoLoximuthal=Sl,e.geoLoximuthalRaw=dc,e.geoMiller=Ps,e.geoMillerRaw=ec,e.geoModifiedStereographic=Ml,e.geoModifiedStereographicRaw=ov,e.geoModifiedStereographicAlaska=tc,e.geoModifiedStereographicGs48=uu,e.geoModifiedStereographicGs50=Mh,e.geoModifiedStereographicMiller=jc,e.geoModifiedStereographicLee=kf,e.geoMollweide=xr,e.geoMollweideRaw=Yt,e.geoMtFlatPolarParabolic=hf,e.geoMtFlatPolarParabolicRaw=nh,e.geoMtFlatPolarQuartic=Kh,e.geoMtFlatPolarQuarticRaw=kh,e.geoMtFlatPolarSinusoidal=ah,e.geoMtFlatPolarSinusoidalRaw=rc,e.geoNaturalEarth2=df,e.geoNaturalEarth2Raw=Wc,e.geoNellHammer=Nf,e.geoNellHammerRaw=Cu,e.geoInterruptedQuarticAuthalic=ds,e.geoNicolosi=Bd,e.geoNicolosiRaw=Ch,e.geoPatterson=ic,e.geoPattersonRaw=Xc,e.geoPolyconic=Qs,e.geoPolyconicRaw=yu,e.geoPolyhedral=Lf,e.geoPolyhedralButterfly=Fs,e.geoPolyhedralCollignon=Lh,e.geoPolyhedralWaterman=Is,e.geoProject=Dl,e.geoGringortenQuincuncial=gt,e.geoPeirceQuincuncial=Bt,e.geoPierceQuincuncial=Bt,e.geoQuantize=wr,e.geoQuincuncial=gf,e.geoRectangularPolyconic=Ur,e.geoRectangularPolyconicRaw=vr,e.geoRobinson=Fi,e.geoRobinsonRaw=xi,e.geoSatellite=Ti,e.geoSatelliteRaw=hn,e.geoSinuMollweide=Qu,e.geoSinuMollweideRaw=fa,e.geoSinusoidal=Et,e.geoSinusoidalRaw=St,e.geoStitch=Rs,e.geoTimes=Ka,e.geoTimesRaw=ia,e.geoTwoPointAzimuthal=Ru,e.geoTwoPointAzimuthalRaw=Ko,e.geoTwoPointAzimuthalUsa=nu,e.geoTwoPointEquidistant=bu,e.geoTwoPointEquidistantRaw=ac,e.geoTwoPointEquidistantUsa=mf,e.geoVanDerGrinten=Du,e.geoVanDerGrintenRaw=Kc,e.geoVanDerGrinten2=Da,e.geoVanDerGrinten2Raw=Dc,e.geoVanDerGrinten3=Jc,e.geoVanDerGrinten3Raw=eo,e.geoVanDerGrinten4=_c,e.geoVanDerGrinten4Raw=yc,e.geoWagner=B,e.geoWagner7=Q,e.geoWagnerRaw=w,e.geoWagner4=je,e.geoWagner4Raw=qe,e.geoWagner6=yt,e.geoWagner6Raw=it,e.geoWiechel=Nt,e.geoWiechelRaw=Ot,e.geoWinkel3=Sr,e.geoWinkel3Raw=hr,Object.defineProperty(e,\"__esModule\",{value:!0})})});var MRe=ye((Dpr,SRe)=>{\"use strict\";var Zh=xa(),bX=Mr(),CDt=ba(),Z5=Math.PI/180,G2=180/Math.PI,TX={cursor:\"pointer\"},AX={cursor:\"auto\"};function LDt(e,t){var r=e.projection,n;return t._isScoped?n=PDt:t._isClipped?n=RDt:n=IDt,n(e,r)}SRe.exports=LDt;function SX(e,t){return Zh.behavior.zoom().translate(t.translate()).scale(t.scale())}function MX(e,t,r){var n=e.id,i=e.graphDiv,a=i.layout,o=a[n],s=i._fullLayout,l=s[n],u={},c={};function f(h,d){u[n+\".\"+h]=bX.nestedProperty(o,h).get(),CDt.call(\"_storeDirectGUIEdit\",a,s._preGUI,u);var v=bX.nestedProperty(l,h);v.get()!==d&&(v.set(d),bX.nestedProperty(o,h).set(d),c[n+\".\"+h]=d)}r(f),f(\"projection.scale\",t.scale()/e.fitScale),f(\"fitbounds\",!1),i.emit(\"plotly_relayout\",c)}function PDt(e,t){var r=SX(e,t);function n(){Zh.select(this).style(TX)}function i(){t.scale(Zh.event.scale).translate(Zh.event.translate),e.render(!0);var s=t.invert(e.midPt);e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.center.lon\":s[0],\"geo.center.lat\":s[1]})}function a(s){var l=t.invert(e.midPt);s(\"center.lon\",l[0]),s(\"center.lat\",l[1])}function o(){Zh.select(this).style(AX),MX(e,t,a)}return r.on(\"zoomstart\",n).on(\"zoom\",i).on(\"zoomend\",o),r}function IDt(e,t){var r=SX(e,t),n=2,i,a,o,s,l,u,c,f,h;function d(k){return t.invert(k)}function v(k){var A=d(k);if(!A)return!0;var L=t(A);return Math.abs(L[0]-k[0])>n||Math.abs(L[1]-k[1])>n}function x(){Zh.select(this).style(TX),i=Zh.mouse(this),a=t.rotate(),o=t.translate(),s=a,l=d(i)}function b(){if(u=Zh.mouse(this),v(i)){r.scale(t.scale()),r.translate(t.translate());return}t.scale(Zh.event.scale),t.translate([o[0],Zh.event.translate[1]]),l?d(u)&&(f=d(u),c=[s[0]+(f[0]-l[0]),a[1],a[2]],t.rotate(c),s=c):(i=u,l=d(i)),h=!0,e.render(!0);var k=t.rotate(),A=t.invert(e.midPt);e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.center.lon\":A[0],\"geo.center.lat\":A[1],\"geo.projection.rotation.lon\":-k[0]})}function p(){Zh.select(this).style(AX),h&&MX(e,t,E)}function E(k){var A=t.rotate(),L=t.invert(e.midPt);k(\"projection.rotation.lon\",-A[0]),k(\"center.lon\",L[0]),k(\"center.lat\",L[1])}return r.on(\"zoomstart\",x).on(\"zoom\",b).on(\"zoomend\",p),r}function RDt(e,t){var r={r:t.rotate(),k:t.scale()},n=SX(e,t),i=UDt(n,\"zoomstart\",\"zoom\",\"zoomend\"),a=0,o=n.on,s;n.on(\"zoomstart\",function(){Zh.select(this).style(TX);var h=Zh.mouse(this),d=t.rotate(),v=d,x=t.translate(),b=DDt(d);s=Sz(t,h),o.call(n,\"zoom\",function(){var p=Zh.mouse(this);if(t.scale(r.k=Zh.event.scale),!s)h=p,s=Sz(t,h);else if(Sz(t,p)){t.rotate(d).translate(x);var E=Sz(t,p),k=FDt(s,E),A=ODt(zDt(b,k)),L=r.r=qDt(A,s,v);(!isFinite(L[0])||!isFinite(L[1])||!isFinite(L[2]))&&(L=v),t.rotate(L),v=L}u(i.of(this,arguments))}),l(i.of(this,arguments))}).on(\"zoomend\",function(){Zh.select(this).style(AX),o.call(n,\"zoom\",null),c(i.of(this,arguments)),MX(e,t,f)}).on(\"zoom.redraw\",function(){e.render(!0);var h=t.rotate();e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.projection.rotation.lon\":-h[0],\"geo.projection.rotation.lat\":-h[1]})});function l(h){a++||h({type:\"zoomstart\"})}function u(h){h({type:\"zoom\"})}function c(h){--a||h({type:\"zoomend\"})}function f(h){var d=t.rotate();h(\"projection.rotation.lon\",-d[0]),h(\"projection.rotation.lat\",-d[1])}return Zh.rebind(n,i,\"on\")}function Sz(e,t){var r=e.invert(t);return r&&isFinite(r[0])&&isFinite(r[1])&&BDt(r)}function DDt(e){var t=.5*e[0]*Z5,r=.5*e[1]*Z5,n=.5*e[2]*Z5,i=Math.sin(t),a=Math.cos(t),o=Math.sin(r),s=Math.cos(r),l=Math.sin(n),u=Math.cos(n);return[a*s*u+i*o*l,i*s*u-a*o*l,a*o*u+i*s*l,a*s*l-i*o*u]}function zDt(e,t){var r=e[0],n=e[1],i=e[2],a=e[3],o=t[0],s=t[1],l=t[2],u=t[3];return[r*o-n*s-i*l-a*u,r*s+n*o+i*u-a*l,r*l-n*u+i*o+a*s,r*u+n*l-i*s+a*o]}function FDt(e,t){if(!(!e||!t)){var r=NDt(e,t),n=Math.sqrt(ARe(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,ARe(e,t)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}}function qDt(e,t,r){var n=wX(t,2,e[0]);n=wX(n,1,e[1]),n=wX(n,0,e[2]-r[2]);var i=t[0],a=t[1],o=t[2],s=n[0],l=n[1],u=n[2],c=Math.atan2(a,i)*G2,f=Math.sqrt(i*i+a*a),h,d;Math.abs(l)>f?(d=(l>0?90:-90)-c,h=0):(d=Math.asin(l/f)*G2-c,h=Math.sqrt(f*f-l*l));var v=180-d-2*c,x=(Math.atan2(u,s)-Math.atan2(o,h))*G2,b=(Math.atan2(u,s)-Math.atan2(o,-h))*G2,p=wRe(r[0],r[1],d,x),E=wRe(r[0],r[1],v,b);return p<=E?[d,x,r[2]]:[v,b,r[2]]}function wRe(e,t,r,n){var i=TRe(r-e),a=TRe(n-t);return Math.sqrt(i*i+a*a)}function TRe(e){return(e%360+540)%360-180}function wX(e,t,r){var n=r*Z5,i=e.slice(),a=t===0?1:0,o=t===2?1:2,s=Math.cos(n),l=Math.sin(n);return i[a]=e[a]*s-e[o]*l,i[o]=e[o]*s+e[a]*l,i}function ODt(e){return[Math.atan2(2*(e[0]*e[1]+e[2]*e[3]),1-2*(e[1]*e[1]+e[2]*e[2]))*G2,Math.asin(Math.max(-1,Math.min(1,2*(e[0]*e[2]-e[3]*e[1]))))*G2,Math.atan2(2*(e[0]*e[3]+e[1]*e[2]),1-2*(e[2]*e[2]+e[3]*e[3]))*G2]}function BDt(e){var t=e[0]*Z5,r=e[1]*Z5,n=Math.cos(r);return[n*Math.cos(t),n*Math.sin(t),Math.sin(r)]}function ARe(e,t){for(var r=0,n=0,i=e.length;n<i;++n)r+=e[n]*t[n];return r}function NDt(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function UDt(e){for(var t=0,r=arguments.length,n=[];++t<r;)n.push(arguments[t]);var i=Zh.dispatch.apply(null,n);return i.of=function(a,o){return function(s){var l;try{l=s.sourceEvent=Zh.event,s.target=e,Zh.event=s,i[s.type].apply(a,o)}finally{Zh.event=l}}},i}});var RRe=ye((zpr,IRe)=>{\"use strict\";var t1=xa(),CX=xX(),VDt=CX.geoPath,HDt=CX.geoDistance,GDt=bRe(),jDt=ba(),ek=Mr(),WDt=ek.strTranslate,Mz=va(),QE=ao(),ERe=Nc(),ZDt=Xu(),kX=Qa(),kRe=wg().getAutoRange,EX=gv(),XDt=wf().prepSelect,YDt=wf().clearOutline,KDt=wf().selectOnClick,JDt=MRe(),fp=YE(),$Dt=nx(),LRe=cz(),QDt=aX().feature;function PRe(e){this.id=e.id,this.graphDiv=e.graphDiv,this.container=e.container,this.topojsonURL=e.topojsonURL,this.isStatic=e.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.scope=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}var $g=PRe.prototype;IRe.exports=function(t){return new PRe(t)};$g.plot=function(e,t,r,n){var i=this;if(n)return i.update(e,t,!0);i._geoCalcData=e,i._fullLayout=t;var a=t[this.id],o=[],s=!1;for(var l in fp.layerNameToAdjective)if(l!==\"frame\"&&a[\"show\"+l]){s=!0;break}for(var u=!1,c=0;c<e.length;c++){var f=e[0][0].trace;f._geo=i,f.locationmode&&(s=!0);var h=f.marker;if(h){var d=h.angle,v=h.angleref;(d||v===\"north\"||v===\"previous\")&&(u=!0)}}if(this._hasMarkerAngles=u,s){var x=LRe.getTopojsonName(a);(i.topojson===null||x!==i.topojsonName)&&(i.topojsonName=x,PlotlyGeoAssets.topojson[i.topojsonName]===void 0&&o.push(i.fetchTopojson()))}o=o.concat($Dt.fetchTraceGeoData(e)),r.push(new Promise(function(b,p){Promise.all(o).then(function(){i.topojson=PlotlyGeoAssets.topojson[i.topojsonName],i.update(e,t),b()}).catch(p)}))};$g.fetchTopojson=function(){var e=this,t=LRe.getTopojsonPath(e.topojsonURL,e.topojsonName);return new Promise(function(r,n){t1.json(t,function(i,a){if(i)return i.status===404?n(new Error([\"plotly.js could not find topojson file at\",t+\".\",\"Make sure the *topojsonURL* plot config option\",\"is set properly.\"].join(\" \"))):n(new Error([\"unexpected error while fetching topojson file at\",t].join(\" \")));PlotlyGeoAssets.topojson[e.topojsonName]=a,r()})})};$g.update=function(e,t,r){var n=t[this.id];this.hasChoropleth=!1;for(var i=0;i<e.length;i++){var a=e[i],o=a[0].trace;o.type===\"choropleth\"&&(this.hasChoropleth=!0),o.visible===!0&&o._length>0&&o._module.calcGeoJSON(a,t)}if(!r){var s=this.updateProjection(e,t);if(s)return;(!this.viewInitial||this.scope!==n.scope)&&this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(t,n),this.updateDims(t,n),this.updateFx(t,n),ZDt.generalUpdatePerTraceModule(this.graphDiv,this,e,n);var l=this.layers.frontplot.select(\".scatterlayer\");this.dataPoints.point=l.selectAll(\".point\"),this.dataPoints.text=l.selectAll(\"text\"),this.dataPaths.line=l.selectAll(\".js-line\");var u=this.layers.backplot.select(\".choroplethlayer\");this.dataPaths.choropleth=u.selectAll(\"path\"),this._render()};$g.updateProjection=function(e,t){var r=this.graphDiv,n=t[this.id],i=t._size,a=n.domain,o=n.projection,s=n.lonaxis,l=n.lataxis,u=s._ax,c=l._ax,f=this.projection=ezt(n),h=[[i.l+i.w*a.x[0],i.t+i.h*(1-a.y[1])],[i.l+i.w*a.x[1],i.t+i.h*(1-a.y[0])]],d=n.center||{},v=o.rotation||{},x=s.range||[],b=l.range||[];if(n.fitbounds){u._length=h[1][0]-h[0][0],c._length=h[1][1]-h[0][1],u.range=kRe(r,u),c.range=kRe(r,c);var p=(u.range[0]+u.range[1])/2,E=(c.range[0]+c.range[1])/2;if(n._isScoped)d={lon:p,lat:E};else if(n._isClipped){d={lon:p,lat:E},v={lon:p,lat:E,roll:v.roll};var k=o.type,A=fp.lonaxisSpan[k]/2||180,L=fp.lataxisSpan[k]/2||90;x=[p-A,p+A],b=[E-L,E+L]}else d={lon:p,lat:E},v={lon:p,lat:v.lat,roll:v.roll}}f.center([d.lon-v.lon,d.lat-v.lat]).rotate([-v.lon,-v.lat,v.roll]).parallels(o.parallels);var _=CRe(x,b);f.fitExtent(h,_);var C=this.bounds=f.getBounds(_),M=this.fitScale=f.scale(),g=f.translate();if(n.fitbounds){var P=f.getBounds(CRe(u.range,c.range)),T=Math.min((C[1][0]-C[0][0])/(P[1][0]-P[0][0]),(C[1][1]-C[0][1])/(P[1][1]-P[0][1]));isFinite(T)?f.scale(T*M):ek.warn(\"Something went wrong during\"+this.id+\"fitbounds computations.\")}else f.scale(o.scale*M);var F=this.midPt=[(C[0][0]+C[1][0])/2,(C[0][1]+C[1][1])/2];if(f.translate([g[0]+(F[0]-g[0]),g[1]+(F[1]-g[1])]).clipExtent(C),n._isAlbersUsa){var q=f([d.lon,d.lat]),V=f.translate();f.translate([V[0]-(q[0]-V[0]),V[1]-(q[1]-V[1])])}};$g.updateBaseLayers=function(e,t){var r=this,n=r.topojson,i=r.layers,a=r.basePaths;function o(h){return h===\"lonaxis\"||h===\"lataxis\"}function s(h){return!!fp.lineLayers[h]}function l(h){return!!fp.fillLayers[h]}var u=this.hasChoropleth?fp.layersForChoropleth:fp.layers,c=u.filter(function(h){return s(h)||l(h)?t[\"show\"+h]:o(h)?t[h].showgrid:!0}),f=r.framework.selectAll(\".layer\").data(c,String);f.exit().each(function(h){delete i[h],delete a[h],t1.select(this).remove()}),f.enter().append(\"g\").attr(\"class\",function(h){return\"layer \"+h}).each(function(h){var d=i[h]=t1.select(this);h===\"bg\"?r.bgRect=d.append(\"rect\").style(\"pointer-events\",\"all\"):o(h)?a[h]=d.append(\"path\").style(\"fill\",\"none\"):h===\"backplot\"?d.append(\"g\").classed(\"choroplethlayer\",!0):h===\"frontplot\"?d.append(\"g\").classed(\"scatterlayer\",!0):s(h)?a[h]=d.append(\"path\").style(\"fill\",\"none\").style(\"stroke-miterlimit\",2):l(h)&&(a[h]=d.append(\"path\").style(\"stroke\",\"none\"))}),f.order(),f.each(function(h){var d=a[h],v=fp.layerNameToAdjective[h];h===\"frame\"?d.datum(fp.sphereSVG):s(h)||l(h)?d.datum(QDt(n,n.objects[h])):o(h)&&d.datum(tzt(h,t,e)).call(Mz.stroke,t[h].gridcolor).call(QE.dashLine,t[h].griddash,t[h].gridwidth),s(h)?d.call(Mz.stroke,t[v+\"color\"]).call(QE.dashLine,\"\",t[v+\"width\"]):l(h)&&d.call(Mz.fill,t[v+\"color\"])})};$g.updateDims=function(e,t){var r=this.bounds,n=(t.framewidth||0)/2,i=r[0][0]-n,a=r[0][1]-n,o=r[1][0]-i+n,s=r[1][1]-a+n;QE.setRect(this.clipRect,i,a,o,s),this.bgRect.call(QE.setRect,i,a,o,s).call(Mz.fill,t.bgcolor),this.xaxis._offset=i,this.xaxis._length=o,this.yaxis._offset=a,this.yaxis._length=s};$g.updateFx=function(e,t){var r=this,n=r.graphDiv,i=r.bgRect,a=e.dragmode,o=e.clickmode;if(r.isStatic)return;function s(){var f=r.viewInitial,h={};for(var d in f)h[r.id+\".\"+d]=f[d];jDt.call(\"_guiRelayout\",n,h),n.emit(\"plotly_doubleclick\",null)}function l(f){return r.projection.invert([f[0]+r.xaxis._offset,f[1]+r.yaxis._offset])}var u=function(f,h){if(h.isRect){var d=f.range={};d[r.id]=[l([h.xmin,h.ymin]),l([h.xmax,h.ymax])]}else{var v=f.lassoPoints={};v[r.id]=h.map(l)}},c={element:r.bgRect.node(),gd:n,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:u},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(f){f===2&&YDt(n)}};a===\"pan\"?(i.node().onmousedown=null,i.call(JDt(r,t)),i.on(\"dblclick.zoom\",s),n._context._scrollZoom.geo||i.on(\"wheel.zoom\",null)):(a===\"select\"||a===\"lasso\")&&(i.on(\".zoom\",null),c.prepFn=function(f,h,d){XDt(f,h,d,c,a)},EX.init(c)),i.on(\"mousemove\",function(){var f=r.projection.invert(ek.getPositionFromD3Event());if(!f)return EX.unhover(n,t1.event);r.xaxis.p2c=function(){return f[0]},r.yaxis.p2c=function(){return f[1]},ERe.hover(n,t1.event,r.id)}),i.on(\"mouseout\",function(){n._dragging||EX.unhover(n,t1.event)}),i.on(\"click\",function(){a!==\"select\"&&a!==\"lasso\"&&(o.indexOf(\"select\")>-1&&KDt(t1.event,n,[r.xaxis],[r.yaxis],r.id,c),o.indexOf(\"event\")>-1&&ERe.click(n,t1.event))})};$g.makeFramework=function(){var e=this,t=e.graphDiv,r=t._fullLayout,n=\"clip\"+r._uid+e.id;e.clipDef=r._clips.append(\"clipPath\").attr(\"id\",n),e.clipRect=e.clipDef.append(\"rect\"),e.framework=t1.select(e.container).append(\"g\").attr(\"class\",\"geo \"+e.id).call(QE.setClipUrl,n,t),e.project=function(i){var a=e.projection(i);return a?[a[0]-e.xaxis._offset,a[1]-e.yaxis._offset]:[null,null]},e.xaxis={_id:\"x\",c2p:function(i){return e.project(i)[0]}},e.yaxis={_id:\"y\",c2p:function(i){return e.project(i)[1]}},e.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},kX.setConvert(e.mockAxis,r)};$g.saveViewInitial=function(e){var t=e.center||{},r=e.projection,n=r.rotation||{};this.viewInitial={fitbounds:e.fitbounds,\"projection.scale\":r.scale};var i;e._isScoped?i={\"center.lon\":t.lon,\"center.lat\":t.lat}:e._isClipped?i={\"projection.rotation.lon\":n.lon,\"projection.rotation.lat\":n.lat}:i={\"center.lon\":t.lon,\"center.lat\":t.lat,\"projection.rotation.lon\":n.lon},ek.extendFlat(this.viewInitial,i)};$g.render=function(e){this._hasMarkerAngles&&e?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()};$g._render=function(){var e=this.projection,t=e.getPath(),r;function n(a){var o=e(a.lonlat);return o?WDt(o[0],o[1]):null}function i(a){return e.isLonLatOverEdges(a.lonlat)?\"none\":null}for(r in this.basePaths)this.basePaths[r].attr(\"d\",t);for(r in this.dataPaths)this.dataPaths[r].attr(\"d\",function(a){return t(a.geojson)});for(r in this.dataPoints)this.dataPoints[r].attr(\"display\",i).attr(\"transform\",n)};function ezt(e){var t=e.projection,r=t.type,n=fp.projNames[r];n=\"geo\"+ek.titleCase(n);for(var i=CX[n]||GDt[n],a=i(),o=e._isSatellite?Math.acos(1/t.distance)*180/Math.PI:e._isClipped?fp.lonaxisSpan[r]/2:null,s=[\"center\",\"rotate\",\"parallels\",\"clipExtent\"],l=function(f){return f?a:[]},u=0;u<s.length;u++){var c=s[u];typeof a[c]!=\"function\"&&(a[c]=l)}return a.isLonLatOverEdges=function(f){if(a(f)===null)return!0;if(o){var h=a.rotate(),d=HDt(f,[-h[0],-h[1]]),v=o*Math.PI/180;return d>v}else return!1},a.getPath=function(){return VDt().projection(a)},a.getBounds=function(f){return a.getPath().bounds(f)},a.precision(fp.precision),e._isSatellite&&a.tilt(t.tilt).distance(t.distance),o&&a.clipAngle(o-fp.clipPad),a}function tzt(e,t,r){var n=1e-6,i=2.5,a=t[e],o=fp.scopeDefaults[t.scope],s,l,u;e===\"lonaxis\"?(s=o.lonaxisRange,l=o.lataxisRange,u=function(E,k){return[E,k]}):e===\"lataxis\"&&(s=o.lataxisRange,l=o.lonaxisRange,u=function(E,k){return[k,E]});var c={type:\"linear\",range:[s[0],s[1]-n],tick0:a.tick0,dtick:a.dtick};kX.setConvert(c,r);var f=kX.calcTicks(c);!t.isScoped&&e===\"lonaxis\"&&f.pop();for(var h=f.length,d=new Array(h),v=0;v<h;v++)for(var x=f[v].x,b=d[v]=[],p=l[0];p<l[1]+i;p+=i)b.push(u(x,p));return{type:\"MultiLineString\",coordinates:d}}function CRe(e,t){var r=fp.clipPad,n=e[0]+r,i=e[1]-r,a=t[0]+r,o=t[1]-r;n>0&&i<0&&(i+=360);var s=(i-n)/4;return{type:\"Polygon\",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}});var LX=ye((Fpr,FRe)=>{\"use strict\";var Y5=dh(),rzt=Ju().attributes,izt=Ed().dash,X5=YE(),nzt=Bu().overrideAll,DRe=Y1(),zRe={range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},showgrid:{valType:\"boolean\",dflt:!1},tick0:{valType:\"number\",dflt:0},dtick:{valType:\"number\"},gridcolor:{valType:\"color\",dflt:Y5.lightLine},gridwidth:{valType:\"number\",min:0,dflt:1},griddash:izt},azt=FRe.exports=nzt({domain:rzt({name:\"geo\"},{}),fitbounds:{valType:\"enumerated\",values:[!1,\"locations\",\"geojson\"],dflt:!1,editType:\"plot\"},resolution:{valType:\"enumerated\",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:\"enumerated\",values:DRe(X5.scopeDefaults),dflt:\"world\"},projection:{type:{valType:\"enumerated\",values:DRe(X5.projNames)},rotation:{lon:{valType:\"number\"},lat:{valType:\"number\"},roll:{valType:\"number\"}},tilt:{valType:\"number\",dflt:0},distance:{valType:\"number\",min:1.001,dflt:2},parallels:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},scale:{valType:\"number\",min:0,dflt:1}},center:{lon:{valType:\"number\"},lat:{valType:\"number\"}},visible:{valType:\"boolean\",dflt:!0},showcoastlines:{valType:\"boolean\"},coastlinecolor:{valType:\"color\",dflt:Y5.defaultLine},coastlinewidth:{valType:\"number\",min:0,dflt:1},showland:{valType:\"boolean\",dflt:!1},landcolor:{valType:\"color\",dflt:X5.landColor},showocean:{valType:\"boolean\",dflt:!1},oceancolor:{valType:\"color\",dflt:X5.waterColor},showlakes:{valType:\"boolean\",dflt:!1},lakecolor:{valType:\"color\",dflt:X5.waterColor},showrivers:{valType:\"boolean\",dflt:!1},rivercolor:{valType:\"color\",dflt:X5.waterColor},riverwidth:{valType:\"number\",min:0,dflt:1},showcountries:{valType:\"boolean\"},countrycolor:{valType:\"color\",dflt:Y5.defaultLine},countrywidth:{valType:\"number\",min:0,dflt:1},showsubunits:{valType:\"boolean\"},subunitcolor:{valType:\"color\",dflt:Y5.defaultLine},subunitwidth:{valType:\"number\",min:0,dflt:1},showframe:{valType:\"boolean\"},framecolor:{valType:\"color\",dflt:Y5.defaultLine},framewidth:{valType:\"number\",min:0,dflt:1},bgcolor:{valType:\"color\",dflt:Y5.background},lonaxis:zRe,lataxis:zRe},\"plot\",\"from-root\");azt.uirevision={valType:\"any\",editType:\"none\"}});var BRe=ye((qpr,ORe)=>{\"use strict\";var Ez=Mr(),ozt=C_(),szt=kd().getSubplotData,kz=YE(),lzt=LX(),qRe=kz.axesNames;ORe.exports=function(t,r,n){ozt(t,r,n,{type:\"geo\",attributes:lzt,handleDefaults:uzt,fullData:n,partition:\"y\"})};function uzt(e,t,r,n){var i=szt(n.fullData,\"geo\",n.id),a=i.map(function(ae){return ae.index}),o=r(\"resolution\"),s=r(\"scope\"),l=kz.scopeDefaults[s],u=r(\"projection.type\",l.projType),c=t._isAlbersUsa=u===\"albers usa\";c&&(s=t.scope=\"usa\");var f=t._isScoped=s!==\"world\",h=t._isSatellite=u===\"satellite\",d=t._isConic=u.indexOf(\"conic\")!==-1||u===\"albers\",v=t._isClipped=!!kz.lonaxisSpan[u];if(e.visible===!1){var x=Ez.extendDeep({},t._template);x.showcoastlines=!1,x.showcountries=!1,x.showframe=!1,x.showlakes=!1,x.showland=!1,x.showocean=!1,x.showrivers=!1,x.showsubunits=!1,x.lonaxis&&(x.lonaxis.showgrid=!1),x.lataxis&&(x.lataxis.showgrid=!1),t._template=x}for(var b=r(\"visible\"),p,E=0;E<qRe.length;E++){var k=qRe[E],A=[30,10][E],L;if(f)L=l[k+\"Range\"];else{var _=kz[k+\"Span\"],C=(_[u]||_[\"*\"])/2,M=r(\"projection.rotation.\"+k.substr(0,3),l.projRotate[E]);L=[M-C,M+C]}var g=r(k+\".range\",L);r(k+\".tick0\"),r(k+\".dtick\",A),p=r(k+\".showgrid\",b?void 0:!1),p&&(r(k+\".gridcolor\"),r(k+\".gridwidth\"),r(k+\".griddash\")),t[k]._ax={type:\"linear\",_id:k.slice(0,3),_traceIndices:a,setScale:Ez.identity,c2l:Ez.identity,r2l:Ez.identity,autorange:!0,range:g.slice(),_m:1,_input:{}}}var P=t.lonaxis.range,T=t.lataxis.range,F=P[0],q=P[1];F>0&&q<0&&(q+=360);var V=(F+q)/2,H;if(!c){var X=f?l.projRotate:[V,0,0];H=r(\"projection.rotation.lon\",X[0]),r(\"projection.rotation.lat\",X[1]),r(\"projection.rotation.roll\",X[2]),p=r(\"showcoastlines\",!f&&b),p&&(r(\"coastlinecolor\"),r(\"coastlinewidth\")),p=r(\"showocean\",b?void 0:!1),p&&r(\"oceancolor\")}var G,N;if(c?(G=-96.6,N=38.7):(G=f?V:H,N=(T[0]+T[1])/2),r(\"center.lon\",G),r(\"center.lat\",N),h&&(r(\"projection.tilt\"),r(\"projection.distance\")),d){var W=l.projParallels||[0,60];r(\"projection.parallels\",W)}r(\"projection.scale\"),p=r(\"showland\",b?void 0:!1),p&&r(\"landcolor\"),p=r(\"showlakes\",b?void 0:!1),p&&r(\"lakecolor\"),p=r(\"showrivers\",b?void 0:!1),p&&(r(\"rivercolor\"),r(\"riverwidth\")),p=r(\"showcountries\",f&&s!==\"usa\"&&b),p&&(r(\"countrycolor\"),r(\"countrywidth\")),(s===\"usa\"||s===\"north america\"&&o===50)&&(r(\"showsubunits\",b),r(\"subunitcolor\"),r(\"subunitwidth\")),f||(p=r(\"showframe\",b),p&&(r(\"framecolor\"),r(\"framewidth\"))),r(\"bgcolor\");var re=r(\"fitbounds\");re&&(delete t.projection.scale,f?(delete t.center.lon,delete t.center.lat):v?(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon,delete t.projection.rotation.lat,delete t.lonaxis.range,delete t.lataxis.range):(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon))}});var PX=ye((Opr,VRe)=>{\"use strict\";var czt=kd().getSubplotCalcData,fzt=Mr().counterRegex,hzt=RRe(),Wm=\"geo\",NRe=fzt(Wm),URe={};URe[Wm]={valType:\"subplotid\",dflt:Wm,editType:\"calc\"};function dzt(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[Wm],i=0;i<n.length;i++){var a=n[i],o=czt(r,Wm,a),s=t[a],l=s._subplot;l||(l=hzt({id:a,graphDiv:e,container:t._geolayer.node(),topojsonURL:e._context.topojsonURL,staticPlot:e._context.staticPlot}),t[a]._subplot=l),l.plot(o,t,e._promises)}}function vzt(e,t,r,n){for(var i=n._subplots[Wm]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!t[o]&&s&&(s.framework.remove(),s.clipDef.remove())}}function pzt(e){for(var t=e._fullLayout,r=t._subplots[Wm],n=0;n<r.length;n++){var i=t[r[n]],a=i._subplot;a.updateFx(t,i)}}VRe.exports={attr:Wm,name:Wm,idRoot:Wm,idRegex:NRe,attrRegex:NRe,attributes:URe,layoutAttributes:LX(),supplyLayoutDefaults:BRe(),plot:dzt,updateFx:pzt,clean:vzt}});var GRe=ye((Bpr,HRe)=>{\"use strict\";HRe.exports={attributes:H2(),supplyDefaults:A8e(),colorbar:Kd(),formatLabels:E8e(),calc:lz(),calcGeoJSON:_X().calcGeoJSON,plot:_X().plot,style:pX(),styleOnSelect:op().styleOnSelect,hoverPoints:hRe(),eventData:vRe(),selectPoints:mRe(),moduleType:\"trace\",name:\"scattergeo\",basePlotModule:PX(),categories:[\"geo\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var WRe=ye((Npr,jRe)=>{\"use strict\";jRe.exports=GRe()});var K5=ye((Upr,YRe)=>{\"use strict\";var gzt=Wo().hovertemplateAttrs,ox=H2(),mzt=Jl(),ZRe=vl(),yzt=dh().defaultLine,ax=no().extendFlat,XRe=ox.marker.line;YRe.exports=ax({locations:{valType:\"data_array\",editType:\"calc\"},locationmode:ox.locationmode,z:{valType:\"data_array\",editType:\"calc\"},geojson:ax({},ox.geojson,{}),featureidkey:ox.featureidkey,text:ax({},ox.text,{}),hovertext:ax({},ox.hovertext,{}),marker:{line:{color:ax({},XRe.color,{dflt:yzt}),width:ax({},XRe.width,{dflt:1}),editType:\"calc\"},opacity:{valType:\"number\",arrayOk:!0,min:0,max:1,dflt:1,editType:\"style\"},editType:\"calc\"},selected:{marker:{opacity:ox.selected.marker.opacity,editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:ox.unselected.marker.opacity,editType:\"plot\"},editType:\"plot\"},hoverinfo:ax({},ZRe.hoverinfo,{editType:\"calc\",flags:[\"location\",\"z\",\"text\",\"name\"]}),hovertemplate:gzt(),showlegend:ax({},ZRe.showlegend,{dflt:!1})},mzt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var JRe=ye((Vpr,KRe)=>{\"use strict\";var Cz=Mr(),_zt=Uh(),xzt=K5();KRe.exports=function(t,r,n,i){function a(h,d){return Cz.coerce(t,r,xzt,h,d)}var o=a(\"locations\"),s=a(\"z\");if(!(o&&o.length&&Cz.isArrayOrTypedArray(s)&&s.length)){r.visible=!1;return}r._length=Math.min(o.length,s.length);var l=a(\"geojson\"),u;(typeof l==\"string\"&&l!==\"\"||Cz.isPlainObject(l))&&(u=\"geojson-id\");var c=a(\"locationmode\",u);c===\"geojson-id\"&&a(\"featureidkey\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\");var f=a(\"marker.line.width\");f&&a(\"marker.line.color\"),a(\"marker.opacity\"),_zt(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),Cz.coerceSelectionMarkerOpacity(r,a)}});var Lz=ye((Hpr,eDe)=>{\"use strict\";var $Re=uo(),bzt=es().BADNUM,wzt=zv(),Tzt=km(),Azt=F0();function QRe(e){return e&&typeof e==\"string\"}eDe.exports=function(t,r){var n=r._length,i=new Array(n),a;r.geojson?a=function(c){return QRe(c)||$Re(c)}:a=QRe;for(var o=0;o<n;o++){var s=i[o]={},l=r.locations[o],u=r.z[o];a(l)&&$Re(u)?(s.loc=l,s.z=u):(s.loc=null,s.z=bzt),s.index=o}return Tzt(i,r),wzt(t,r,{vals:r.z,containerStr:\"\",cLetter:\"z\"}),Azt(i,r),i}});var Pz=ye((Gpr,rDe)=>{\"use strict\";var Szt=xa(),Mzt=va(),IX=ao(),Ezt=Mu();function kzt(e,t){t&&tDe(e,t)}function tDe(e,t){var r=t[0].trace,n=t[0].node3,i=n.selectAll(\".choroplethlocation\"),a=r.marker||{},o=a.line||{},s=Ezt.makeColorScaleFuncFromTrace(r);i.each(function(l){Szt.select(this).attr(\"fill\",s(l.z)).call(Mzt.stroke,l.mlc||o.color).call(IX.dashLine,\"\",l.mlw||o.width||0).style(\"opacity\",a.opacity)}),IX.selectedPointStyle(i,r)}function Czt(e,t){var r=t[0].node3,n=t[0].trace;n.selectedpoints?IX.selectedPointStyle(r.selectAll(\".choroplethlocation\"),n):tDe(e,t)}rDe.exports={style:kzt,styleOnSelect:Czt}});var RX=ye((jpr,aDe)=>{\"use strict\";var Lzt=xa(),iDe=Mr(),J5=nx(),Pzt=cz().getTopojsonFeatures,nDe=wg().findExtremes,Izt=Pz().style;function Rzt(e,t,r){var n=t.layers.backplot.select(\".choroplethlayer\");iDe.makeTraceGroups(n,r,\"trace choropleth\").each(function(i){var a=Lzt.select(this),o=a.selectAll(\"path.choroplethlocation\").data(iDe.identity);o.enter().append(\"path\").classed(\"choroplethlocation\",!0),o.exit().remove(),Izt(e,i)})}function Dzt(e,t){for(var r=e[0].trace,n=t[r.geo],i=n._subplot,a=r.locationmode,o=r._length,s=a===\"geojson-id\"?J5.extractTraceFeature(e):Pzt(r,i.topojson),l=[],u=[],c=0;c<o;c++){var f=e[c],h=a===\"geojson-id\"?f.fOut:J5.locationToFeature(a,f.loc,s);if(h){f.geojson=h,f.ct=h.properties.ct,f._polygons=J5.feature2polygons(h);var d=J5.computeBbox(h);l.push(d[0],d[2]),u.push(d[1],d[3])}else f.geojson=null}if(n.fitbounds===\"geojson\"&&a===\"geojson-id\"){var v=J5.computeBbox(J5.getTraceGeojson(r));l=[v[0],v[2]],u=[v[1],v[3]]}var x={padded:!0};r._extremes.lon=nDe(n.lonaxis._ax,l,x),r._extremes.lat=nDe(n.lataxis._ax,u,x)}aDe.exports={calcGeoJSON:Dzt,plot:Rzt}});var Iz=ye((Wpr,oDe)=>{\"use strict\";var zzt=Qa(),Fzt=K5(),qzt=Mr().fillText;oDe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.subplot,s,l,u,c,f=[r,n],h=[r+360,n];for(l=0;l<i.length;l++)if(s=i[l],c=!1,s._polygons){for(u=0;u<s._polygons.length;u++)s._polygons[u].contains(f)&&(c=!c),s._polygons[u].contains(h)&&(c=!c);if(c)break}if(!(!c||!s))return t.x0=t.x1=t.xa.c2p(s.ct),t.y0=t.y1=t.ya.c2p(s.ct),t.index=s.index,t.location=s.loc,t.z=s.z,t.zLabel=zzt.tickText(o.mockAxis,o.mockAxis.c2l(s.z),\"hover\").text,t.hovertemplate=s.hovertemplate,Ozt(t,a,s),[t]};function Ozt(e,t,r){if(!t.hovertemplate){var n=r.hi||t.hoverinfo,i=String(r.loc),a=n===\"all\"?Fzt.hoverinfo.flags:n.split(\"+\"),o=a.indexOf(\"name\")!==-1,s=a.indexOf(\"location\")!==-1,l=a.indexOf(\"z\")!==-1,u=a.indexOf(\"text\")!==-1,c=!o&&s,f=[];c?e.nameOverride=i:(o&&(e.nameOverride=t.name),s&&f.push(i)),l&&f.push(e.zLabel),u&&qzt(r,t,f),e.extraText=f.join(\"<br>\")}}});var Rz=ye((Zpr,sDe)=>{\"use strict\";sDe.exports=function(t,r,n,i,a){t.location=r.location,t.z=r.z;var o=i[a];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t.ct=o.ct,t}});var Dz=ye((Xpr,lDe)=>{\"use strict\";lDe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l,u,c,f;if(r===!1)for(s=0;s<n.length;s++)n[s].selected=0;else for(s=0;s<n.length;s++)l=n[s],u=l.ct,u&&(c=i.c2p(u),f=a.c2p(u),r.contains([c,f],null,s,t)?(o.push({pointNumber:s,lon:u[0],lat:u[1]}),l.selected=1):l.selected=0);return o}});var cDe=ye((Ypr,uDe)=>{\"use strict\";uDe.exports={attributes:K5(),supplyDefaults:JRe(),colorbar:M_(),calc:Lz(),calcGeoJSON:RX().calcGeoJSON,plot:RX().plot,style:Pz().style,styleOnSelect:Pz().styleOnSelect,hoverPoints:Iz(),eventData:Rz(),selectPoints:Dz(),moduleType:\"trace\",name:\"choropleth\",basePlotModule:PX(),categories:[\"geo\",\"noOpacity\",\"showLegend\"],meta:{}}});var hDe=ye((Kpr,fDe)=>{\"use strict\";fDe.exports=cDe()});var zz=ye((Jpr,vDe)=>{\"use strict\";var Bzt=ba(),s0=Mr(),Nzt=oT();function Uzt(e,t,r,n){var i=e.cd,a=i[0].t,o=i[0].trace,s=e.xa,l=e.ya,u=a.x,c=a.y,f=s.c2p(t),h=l.c2p(r),d=e.distance,v;if(a.tree){var x=s.p2c(f-d),b=s.p2c(f+d),p=l.p2c(h-d),E=l.p2c(h+d);n===\"x\"?v=a.tree.range(Math.min(x,b),Math.min(l._rl[0],l._rl[1]),Math.max(x,b),Math.max(l._rl[0],l._rl[1])):v=a.tree.range(Math.min(x,b),Math.min(p,E),Math.max(x,b),Math.max(p,E))}else v=a.ids;var k,A,L,_,C,M,g,P,T,F=d;if(n===\"x\"){var q=!!o.xperiodalignment,V=!!o.yperiodalignment;for(C=0;C<v.length;C++){if(k=v[C],L=u[k],M=Math.abs(s.c2p(L)-f),q){var H=s.c2p(o._xStarts[k]),X=s.c2p(o._xEnds[k]);M=f>=Math.min(H,X)&&f<=Math.max(H,X)?0:1/0}if(M<F){if(F=M,_=c[k],g=l.c2p(_)-h,V){var G=l.c2p(o._yStarts[k]),N=l.c2p(o._yEnds[k]);g=h>=Math.min(G,N)&&h<=Math.max(G,N)?0:1/0}T=Math.sqrt(M*M+g*g),A=v[C]}}}else for(C=v.length-1;C>-1;C--)k=v[C],L=u[k],_=c[k],M=s.c2p(L)-f,g=l.c2p(_)-h,P=Math.sqrt(M*M+g*g),P<F&&(F=T=P,A=k);return e.index=A,e.distance=F,e.dxy=T,A===void 0?[e]:[dDe(e,u,c,o)]}function dDe(e,t,r,n){var i=e.xa,a=e.ya,o=e.distance,s=e.dxy,l=e.index,u={pointNumber:l,x:t[l],y:r[l]};u.tx=s0.isArrayOrTypedArray(n.text)?n.text[l]:n.text,u.htx=Array.isArray(n.hovertext)?n.hovertext[l]:n.hovertext,u.data=Array.isArray(n.customdata)?n.customdata[l]:n.customdata,u.tp=Array.isArray(n.textposition)?n.textposition[l]:n.textposition;var c=n.textfont;c&&(u.ts=s0.isArrayOrTypedArray(c.size)?c.size[l]:c.size,u.tc=s0.isArrayOrTypedArray(c.color)?c.color[l]:c.color,u.tf=Array.isArray(c.family)?c.family[l]:c.family,u.tw=Array.isArray(c.weight)?c.weight[l]:c.weight,u.ty=Array.isArray(c.style)?c.style[l]:c.style,u.tv=Array.isArray(c.variant)?c.variant[l]:c.variant);var f=n.marker;f&&(u.ms=s0.isArrayOrTypedArray(f.size)?f.size[l]:f.size,u.mo=s0.isArrayOrTypedArray(f.opacity)?f.opacity[l]:f.opacity,u.mx=s0.isArrayOrTypedArray(f.symbol)?f.symbol[l]:f.symbol,u.ma=s0.isArrayOrTypedArray(f.angle)?f.angle[l]:f.angle,u.mc=s0.isArrayOrTypedArray(f.color)?f.color[l]:f.color);var h=f&&f.line;h&&(u.mlc=Array.isArray(h.color)?h.color[l]:h.color,u.mlw=s0.isArrayOrTypedArray(h.width)?h.width[l]:h.width);var d=f&&f.gradient;d&&d.type!==\"none\"&&(u.mgt=Array.isArray(d.type)?d.type[l]:d.type,u.mgc=Array.isArray(d.color)?d.color[l]:d.color);var v=i.c2p(u.x,!0),x=a.c2p(u.y,!0),b=u.mrc||1,p=n.hoverlabel;p&&(u.hbg=Array.isArray(p.bgcolor)?p.bgcolor[l]:p.bgcolor,u.hbc=Array.isArray(p.bordercolor)?p.bordercolor[l]:p.bordercolor,u.hts=s0.isArrayOrTypedArray(p.font.size)?p.font.size[l]:p.font.size,u.htc=Array.isArray(p.font.color)?p.font.color[l]:p.font.color,u.htf=Array.isArray(p.font.family)?p.font.family[l]:p.font.family,u.hnl=s0.isArrayOrTypedArray(p.namelength)?p.namelength[l]:p.namelength);var E=n.hoverinfo;E&&(u.hi=Array.isArray(E)?E[l]:E);var k=n.hovertemplate;k&&(u.ht=Array.isArray(k)?k[l]:k);var A={};A[e.index]=u;var L=n._origX,_=n._origY,C=s0.extendFlat({},e,{color:Nzt(n,u),x0:v-b,x1:v+b,xLabelVal:L?L[l]:u.x,y0:x-b,y1:x+b,yLabelVal:_?_[l]:u.y,cd:A,distance:o,spikeDistance:s,hovertemplate:u.ht});return u.htx?C.text=u.htx:u.tx?C.text=u.tx:n.text&&(C.text=n.text),s0.fillText(u,n,C),Bzt.getComponentMethod(\"errorbars\",\"hoverInfo\")(u,n,C),C}vDe.exports={hoverPoints:Uzt,calcHover:dDe}});var sx=ye(($pr,gDe)=>{\"use strict\";var pDe=20;gDe.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:pDe,SYMBOL_STROKE:pDe/20,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]}}});var tk=ye((Qpr,xDe)=>{\"use strict\";var Vzt=vl(),Hzt=Su(),Gzt=Eg(),Af=Uc(),mDe=Oc().axisHoverFormat,yDe=Jl(),jzt=Y1(),DX=no().extendFlat,Wzt=Bu().overrideAll,Zzt=sx().DASHES,_De=Af.line,r1=Af.marker,Xzt=r1.line,$5=xDe.exports=Wzt({x:Af.x,x0:Af.x0,dx:Af.dx,y:Af.y,y0:Af.y0,dy:Af.dy,xperiod:Af.xperiod,yperiod:Af.yperiod,xperiod0:Af.xperiod0,yperiod0:Af.yperiod0,xperiodalignment:Af.xperiodalignment,yperiodalignment:Af.yperiodalignment,xhoverformat:mDe(\"x\"),yhoverformat:mDe(\"y\"),text:Af.text,hovertext:Af.hovertext,textposition:Af.textposition,textfont:Hzt({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:\"calc\",colorEditType:\"style\",arrayOk:!0,noNumericWeightValues:!0,variantValues:[\"normal\",\"small-caps\"]}),mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"]},line:{color:_De.color,width:_De.width,shape:{valType:\"enumerated\",values:[\"linear\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\",editType:\"plot\"},dash:{valType:\"enumerated\",values:jzt(Zzt),dflt:\"solid\"}},marker:DX({},yDe(\"marker\"),{symbol:r1.symbol,angle:r1.angle,size:r1.size,sizeref:r1.sizeref,sizemin:r1.sizemin,sizemode:r1.sizemode,opacity:r1.opacity,colorbar:r1.colorbar,line:DX({},yDe(\"marker.line\"),{width:Xzt.width})}),connectgaps:Af.connectgaps,fill:DX({},Af.fill,{dflt:\"none\"}),fillcolor:Gzt(),selected:{marker:Af.selected.marker,textfont:Af.selected.textfont},unselected:{marker:Af.unselected.marker,textfont:Af.unselected.textfont},opacity:Vzt.opacity},\"calc\",\"nested\");$5.x.editType=$5.y.editType=$5.x0.editType=$5.y0.editType=\"calc+clearAxisTypes\";$5.hovertemplate=Af.hovertemplate;$5.texttemplate=Af.texttemplate});var Fz=ye(zX=>{\"use strict\";var bDe=sx();zX.isOpenSymbol=function(e){return typeof e==\"string\"?bDe.OPEN_RE.test(e):e%200>100};zX.isDotSymbol=function(e){return typeof e==\"string\"?bDe.DOT_RE.test(e):e>200}});var ADe=ye((t0r,TDe)=>{\"use strict\";var wDe=Mr(),Yzt=ba(),Kzt=Fz(),Jzt=tk(),$zt=Sm(),qz=lu(),Qzt=K3(),eFt=Pg(),tFt=$p(),rFt=R0(),iFt=Ig(),nFt=D0();TDe.exports=function(t,r,n,i){function a(d,v){return wDe.coerce(t,r,Jzt,d,v)}var o=t.marker?Kzt.isOpenSymbol(t.marker.symbol):!1,s=qz.isBubble(t),l=Qzt(t,r,i,a);if(!l){r.visible=!1;return}eFt(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\");var u=l<$zt.PTS_LINESONLY?\"lines+markers\":\"lines\";a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"mode\",u),qz.hasMarkers(r)&&(tFt(t,r,n,i,a,{noAngleRef:!0,noStandOff:!0}),a(\"marker.line.width\",o||s?1:0)),qz.hasLines(r)&&(a(\"connectgaps\"),rFt(t,r,n,i,a),a(\"line.shape\")),qz.hasText(r)&&(a(\"texttemplate\"),nFt(t,r,i,a,{noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}));var c=(r.line||{}).color,f=(r.marker||{}).color;a(\"fill\"),r.fill!==\"none\"&&iFt(t,r,n,a);var h=Yzt.getComponentMethod(\"errorbars\",\"supplyDefaults\");h(t,r,c||f||n,{axis:\"y\"}),h(t,r,c||f||n,{axis:\"x\",inherit:\"y\"}),wDe.coerceSelectionMarkerOpacity(r,a)}});var MDe=ye((r0r,SDe)=>{\"use strict\";var aFt=$P();SDe.exports=function(t,r,n){var i=t.i;return\"x\"in t||(t.x=r._x[i]),\"y\"in t||(t.y=r._y[i]),aFt(t,r,n)}});var kDe=ye((i0r,EDe)=>{\"use strict\";function oFt(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>=0?(a=o,i=o-1):n=o+1}return a}function sFt(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>0?(a=o,i=o-1):n=o+1}return a}function lFt(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<0?(a=o,n=o+1):i=o-1}return a}function uFt(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<=0?(a=o,n=o+1):i=o-1}return a}function cFt(e,t,r,n,i){for(;n<=i;){var a=n+i>>>1,o=e[a],s=r!==void 0?r(o,t):o-t;if(s===0)return a;s<=0?n=a+1:i=a-1}return-1}function rk(e,t,r,n,i,a){return typeof r==\"function\"?a(e,t,r,n===void 0?0:n|0,i===void 0?e.length-1:i|0):a(e,t,void 0,r===void 0?0:r|0,n===void 0?e.length-1:n|0)}EDe.exports={ge:function(e,t,r,n,i){return rk(e,t,r,n,i,oFt)},gt:function(e,t,r,n,i){return rk(e,t,r,n,i,sFt)},lt:function(e,t,r,n,i){return rk(e,t,r,n,i,lFt)},le:function(e,t,r,n,i){return rk(e,t,r,n,i,uFt)},eq:function(e,t,r,n,i){return rk(e,t,r,n,i,cFt)}}});var Zm=ye((n0r,LDe)=>{\"use strict\";LDe.exports=function(t,r,n){var i={},a,o;if(typeof r==\"string\"&&(r=CDe(r)),Array.isArray(r)){var s={};for(o=0;o<r.length;o++)s[r[o]]=!0;r=s}for(a in r)r[a]=CDe(r[a]);var l={};for(a in r){var u=r[a];if(Array.isArray(u))for(o=0;o<u.length;o++){var c=u[o];if(n&&(l[c]=!0),c in t){if(i[a]=t[c],n)for(var f=o;f<u.length;f++)l[u[f]]=!0;break}}else a in t&&(r[a]&&(i[a]=t[a]),n&&(l[a]=!0))}if(n)for(a in t)l[a]||(i[a]=t[a]);return i};var FX={};function CDe(e){return FX[e]?FX[e]:(typeof e==\"string\"&&(e=FX[e]=e.split(/\\s*,\\s*|\\s+/)),e)}});var Q5=ye((a0r,PDe)=>{\"use strict\";var fFt=Zm();PDe.exports=hFt;function hFt(e){var t;return arguments.length>1&&(e=arguments),typeof e==\"string\"?e=e.split(/\\s/).map(parseFloat):typeof e==\"number\"&&(e=[e]),e.length&&typeof e[0]==\"number\"?e.length===1?t={width:e[0],height:e[0],x:0,y:0}:e.length===2?t={width:e[0],height:e[1],x:0,y:0}:t={x:e[0],y:e[1],width:e[2]-e[0]||0,height:e[3]-e[1]||0}:e&&(e=fFt(e,{left:\"x l left Left\",top:\"y t top Top\",width:\"w width W Width\",height:\"h height W Width\",bottom:\"b bottom Bottom\",right:\"r right Right\"}),t={x:e.left||0,y:e.top||0},e.width==null?e.right?t.width=e.right-t.x:t.width=0:t.width=e.width,e.height==null?e.bottom?t.height=e.bottom-t.y:t.height=0:t.height=e.height),t}});var j2=ye((o0r,IDe)=>{\"use strict\";IDe.exports=dFt;function dFt(e,t){if(!e||e.length==null)throw Error(\"Argument should be an array\");t==null?t=1:t=Math.floor(t);for(var r=Array(t*2),n=0;n<t;n++){for(var i=-1/0,a=1/0,o=n,s=e.length;o<s;o+=t)e[o]>i&&(i=e[o]),e[o]<a&&(a=e[o]);r[n]=a,r[t+n]=i}return r}});var DDe=ye((s0r,RDe)=>{RDe.exports=function(){for(var e=0;e<arguments.length;e++)if(arguments[e]!==void 0)return arguments[e]}});var W2=ye((l0r,FDe)=>{var zDe=HD();FDe.exports=vFt;function vFt(e,t,r){if(!e)throw new TypeError(\"must specify data as first parameter\");if(r=+(r||0)|0,Array.isArray(e)&&e[0]&&typeof e[0][0]==\"number\"){var n=e[0].length,i=e.length*n,a,o,s,l;(!t||typeof t==\"string\")&&(t=new(zDe(t||\"float32\"))(i+r));var u=t.length-r;if(i!==u)throw new Error(\"source length \"+i+\" (\"+n+\"x\"+e.length+\") does not match destination length \"+u);for(a=0,s=r;a<e.length;a++)for(o=0;o<n;o++)t[s++]=e[a][o]===null?NaN:e[a][o]}else if(!t||typeof t==\"string\"){var c=zDe(t||\"float32\");if(Array.isArray(e)||t===\"array\")for(t=new c(e.length+r),a=0,s=r,l=t.length;s<l;s++,a++)t[s]=e[a]===null?NaN:e[a];else r===0?t=new c(e):(t=new c(e.length+r),t.set(e,r))}else t.set(e,r);return t}});var ODe=ye((u0r,qDe)=>{\"use strict\";qDe.exports=function(e){var t=typeof e;return e!==null&&(t===\"object\"||t===\"function\")}});var NDe=ye((c0r,BDe)=>{\"use strict\";BDe.exports=Math.log2||function(e){return Math.log(e)*Math.LOG2E}});var ZDe=ye((f0r,WDe)=>{\"use strict\";var UDe=kDe(),VDe=VE(),pFt=Q5(),gFt=j2(),HDe=Zm(),qX=DDe(),mFt=W2(),yFt=ODe(),_Ft=HD(),GDe=NDe(),xFt=1073741824;WDe.exports=function(t,r){r||(r={}),t=mFt(t,\"float64\"),r=HDe(r,{bounds:\"range bounds dataBox databox\",maxDepth:\"depth maxDepth maxdepth level maxLevel maxlevel levels\",dtype:\"type dtype format out dst output destination\"});let n=qX(r.maxDepth,255),i=qX(r.bounds,gFt(t,2));i[0]===i[2]&&i[2]++,i[1]===i[3]&&i[3]++;let a=jDe(t,i),o=t.length>>>1,s;r.dtype||(r.dtype=\"array\"),typeof r.dtype==\"string\"?s=new(_Ft(r.dtype))(o):r.dtype&&(s=r.dtype,Array.isArray(s)&&(s.length=o));for(let p=0;p<o;++p)s[p]=p;let l=[],u=[],c=[],f=[];d(0,0,1,s,0,1);let h=0;for(let p=0;p<l.length;p++){let E=l[p];if(s.set)s.set(E,h);else for(let A=0,L=E.length;A<L;A++)s[A+h]=E[A];let k=h+l[p].length;f[p]=[h,k],h=k}return s.range=v,s;function d(p,E,k,A,L,_){if(!A.length)return null;let C=l[L]||(l[L]=[]),M=c[L]||(c[L]=[]),g=u[L]||(u[L]=[]),P=C.length;if(L++,L>n||_>xFt){for(let N=0;N<A.length;N++)C.push(A[N]),M.push(_),g.push(null,null,null,null);return P}if(C.push(A[0]),M.push(_),A.length<=1)return g.push(null,null,null,null),P;let T=k*.5,F=p+T,q=E+T,V=[],H=[],X=[],G=[];for(let N=1,W=A.length;N<W;N++){let re=A[N],ae=a[re*2],_e=a[re*2+1];ae<F?_e<q?V.push(re):H.push(re):_e<q?X.push(re):G.push(re)}return _<<=2,g.push(d(p,E,T,V,L,_),d(p,q,T,H,L,_+1),d(F,E,T,X,L,_+2),d(F,q,T,G,L,_+3)),P}function v(...p){let E;if(yFt(p[p.length-1])){let X=p.pop();!p.length&&(X.x!=null||X.l!=null||X.left!=null)&&(p=[X],E={}),E=HDe(X,{level:\"level maxLevel\",d:\"d diam diameter r radius px pxSize pixel pixelSize maxD size minSize\",lod:\"lod details ranges offsets\"})}else E={};p.length||(p=i);let k=pFt(...p),[A,L,_,C]=[Math.min(k.x,k.x+k.width),Math.min(k.y,k.y+k.height),Math.max(k.x,k.x+k.width),Math.max(k.y,k.y+k.height)],[M,g,P,T]=jDe([A,L,_,C],i),F=qX(E.level,l.length);if(E.d!=null){let X;typeof E.d==\"number\"?X=[E.d,E.d]:E.d.length&&(X=E.d),F=Math.min(Math.max(Math.ceil(-GDe(Math.abs(X[0])/(i[2]-i[0]))),Math.ceil(-GDe(Math.abs(X[1])/(i[3]-i[1])))),F)}if(F=Math.min(F,l.length),E.lod)return x(M,g,P,T,F);let q=[];V(0,0,1,0,0,1);function V(X,G,N,W,re,ae){if(re===null||ae===null)return;let _e=X+N,Me=G+N;if(M>_e||g>Me||P<X||T<G||W>=F||re===ae)return;let ke=l[W];ae===void 0&&(ae=ke.length);for(let Re=re;Re<ae;Re++){let ce=ke[Re],Ge=t[ce*2],nt=t[ce*2+1];Ge>=A&&Ge<=_&&nt>=L&&nt<=C&&q.push(ce)}let ge=u[W],ie=ge[re*4+0],Te=ge[re*4+1],Ee=ge[re*4+2],Ae=ge[re*4+3],ze=H(ge,re+1),Ce=N*.5,me=W+1;V(X,G,Ce,me,ie,Te||Ee||Ae||ze),V(X,G+Ce,Ce,me,Te,Ee||Ae||ze),V(X+Ce,G,Ce,me,Ee,Ae||ze),V(X+Ce,G+Ce,Ce,me,Ae,ze)}function H(X,G){let N=null,W=0;for(;N===null;)if(N=X[G*4+W],W++,W>X.length)return null;return N}return q}function x(p,E,k,A,L){let _=[];for(let C=0;C<L;C++){let M=c[C],g=f[C][0],P=b(p,E,C),T=b(k,A,C),F=UDe.ge(M,P),q=UDe.gt(M,T,F,M.length-1);_[C]=[F+g,q+g]}return _}function b(p,E,k){let A=1,L=.5,_=.5,C=.5;for(let M=0;M<k;M++)A<<=2,A+=p<L?E<_?0:1:E<_?2:3,C*=.5,L+=p<L?-C:C,_+=E<_?-C:C;return A}};function jDe(e,t){let[r,n,i,a]=t,o=1/(i-r),s=1/(a-n),l=new Array(e.length);for(let u=0,c=e.length/2;u<c;u++)l[2*u]=VDe((e[2*u]-r)*o,0,1),l[2*u+1]=VDe((e[2*u+1]-n)*s,0,1);return l}});var Oz=ye((h0r,XDe)=>{\"use strict\";XDe.exports=ZDe()});var OX=ye((d0r,YDe)=>{YDe.exports=bFt;function bFt(e){var t=0,r=0,n=0,i=0;return e.map(function(a){a=a.slice();var o=a[0],s=o.toUpperCase();if(o!=s)switch(a[0]=s,o){case\"a\":a[6]+=n,a[7]+=i;break;case\"v\":a[1]+=i;break;case\"h\":a[1]+=n;break;default:for(var l=1;l<a.length;)a[l++]+=n,a[l++]+=i}switch(s){case\"Z\":n=t,i=r;break;case\"H\":n=a[1];break;case\"V\":i=a[1];break;case\"M\":n=t=a[1],i=r=a[2];break;default:n=a[a.length-2],i=a[a.length-1]}return a})}});var $De=ye((Bz,JDe)=>{\"use strict\";Object.defineProperty(Bz,\"__esModule\",{value:!0});var wFt=function(){function e(t,r){var n=[],i=!0,a=!1,o=void 0;try{for(var s=t[Symbol.iterator](),l;!(i=(l=s.next()).done)&&(n.push(l.value),!(r&&n.length===r));i=!0);}catch(u){a=!0,o=u}finally{try{!i&&s.return&&s.return()}finally{if(a)throw o}}return n}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),ik=Math.PI*2,BX=function(t,r,n,i,a,o,s){var l=t.x,u=t.y;l*=r,u*=n;var c=i*l-a*u,f=a*l+i*u;return{x:c+o,y:f+s}},TFt=function(t,r){var n=r===1.5707963267948966?.551915024494:r===-1.5707963267948966?-.551915024494:1.3333333333333333*Math.tan(r/4),i=Math.cos(t),a=Math.sin(t),o=Math.cos(t+r),s=Math.sin(t+r);return[{x:i-a*n,y:a+i*n},{x:o+s*n,y:s-o*n},{x:o,y:s}]},KDe=function(t,r,n,i){var a=t*i-r*n<0?-1:1,o=t*n+r*i;return o>1&&(o=1),o<-1&&(o=-1),a*Math.acos(o)},AFt=function(t,r,n,i,a,o,s,l,u,c,f,h){var d=Math.pow(a,2),v=Math.pow(o,2),x=Math.pow(f,2),b=Math.pow(h,2),p=d*v-d*b-v*x;p<0&&(p=0),p/=d*b+v*x,p=Math.sqrt(p)*(s===l?-1:1);var E=p*a/o*h,k=p*-o/a*f,A=c*E-u*k+(t+n)/2,L=u*E+c*k+(r+i)/2,_=(f-E)/a,C=(h-k)/o,M=(-f-E)/a,g=(-h-k)/o,P=KDe(1,0,_,C),T=KDe(_,C,M,g);return l===0&&T>0&&(T-=ik),l===1&&T<0&&(T+=ik),[A,L,P,T]},SFt=function(t){var r=t.px,n=t.py,i=t.cx,a=t.cy,o=t.rx,s=t.ry,l=t.xAxisRotation,u=l===void 0?0:l,c=t.largeArcFlag,f=c===void 0?0:c,h=t.sweepFlag,d=h===void 0?0:h,v=[];if(o===0||s===0)return[];var x=Math.sin(u*ik/360),b=Math.cos(u*ik/360),p=b*(r-i)/2+x*(n-a)/2,E=-x*(r-i)/2+b*(n-a)/2;if(p===0&&E===0)return[];o=Math.abs(o),s=Math.abs(s);var k=Math.pow(p,2)/Math.pow(o,2)+Math.pow(E,2)/Math.pow(s,2);k>1&&(o*=Math.sqrt(k),s*=Math.sqrt(k));var A=AFt(r,n,i,a,o,s,f,d,x,b,p,E),L=wFt(A,4),_=L[0],C=L[1],M=L[2],g=L[3],P=Math.abs(g)/(ik/4);Math.abs(1-P)<1e-7&&(P=1);var T=Math.max(Math.ceil(P),1);g/=T;for(var F=0;F<T;F++)v.push(TFt(M,g)),M+=g;return v.map(function(q){var V=BX(q[0],o,s,b,x,_,C),H=V.x,X=V.y,G=BX(q[1],o,s,b,x,_,C),N=G.x,W=G.y,re=BX(q[2],o,s,b,x,_,C),ae=re.x,_e=re.y;return{x1:H,y1:X,x2:N,y2:W,x:ae,y:_e}})};Bz.default=SFt;JDe.exports=Bz.default});var tze=ye((v0r,eze)=>{\"use strict\";eze.exports=EFt;var MFt=$De();function EFt(e){for(var t,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,f=0,h=e.length;f<h;f++){var d=e[f],v=d[0];switch(v){case\"M\":a=d[1],o=d[2];break;case\"A\":var x=MFt({px:u,py:c,cx:d[6],cy:d[7],rx:d[1],ry:d[2],xAxisRotation:d[3],largeArcFlag:d[4],sweepFlag:d[5]});if(!x.length)continue;for(var b=0,p;b<x.length;b++)p=x[b],d=[\"C\",p.x1,p.y1,p.x2,p.y2,p.x,p.y],b<x.length-1&&r.push(d);break;case\"S\":var E=u,k=c;(t==\"C\"||t==\"S\")&&(E+=E-n,k+=k-i),d=[\"C\",E,k,d[1],d[2],d[3],d[4]];break;case\"T\":t==\"Q\"||t==\"T\"?(s=u*2-s,l=c*2-l):(s=u,l=c),d=QDe(u,c,s,l,d[1],d[2]);break;case\"Q\":s=d[1],l=d[2],d=QDe(u,c,d[1],d[2],d[3],d[4]);break;case\"L\":d=Nz(u,c,d[1],d[2]);break;case\"H\":d=Nz(u,c,d[1],c);break;case\"V\":d=Nz(u,c,u,d[1]);break;case\"Z\":d=Nz(u,c,a,o);break}t=v,u=d[d.length-2],c=d[d.length-1],d.length>4?(n=d[d.length-4],i=d[d.length-3]):(n=u,i=c),r.push(d)}return r}function Nz(e,t,r,n){return[\"C\",e,t,r,n,r,n]}function QDe(e,t,r,n,i,a){return[\"C\",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}});var NX=ye((p0r,rze)=>{\"use strict\";rze.exports=function(t){return typeof t!=\"string\"?!1:(t=t.trim(),!!(/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\\dz]$/i.test(t)&&t.length>4))}});var aze=ye((g0r,nze)=>{\"use strict\";var kFt=XS(),CFt=OX(),LFt=tze(),PFt=NX(),ize=tE();nze.exports=IFt;function IFt(e){if(Array.isArray(e)&&e.length===1&&typeof e[0]==\"string\"&&(e=e[0]),typeof e==\"string\"&&(ize(PFt(e),\"String is not an SVG path.\"),e=kFt(e)),ize(Array.isArray(e),\"Argument should be a string or an array of path segments.\"),e=CFt(e),e=LFt(e),!e.length)return[0,0,0,0];for(var t=[1/0,1/0,-1/0,-1/0],r=0,n=e.length;r<n;r++)for(var i=e[r].slice(1),a=0;a<i.length;a+=2)i[a+0]<t[0]&&(t[0]=i[a+0]),i[a+1]<t[1]&&(t[1]=i[a+1]),i[a+0]>t[2]&&(t[2]=i[a+0]),i[a+1]>t[3]&&(t[3]=i[a+1]);return t}});var fze=ye((m0r,cze)=>{var Z2=Math.PI,oze=uze(120);cze.exports=RFt;function RFt(e){for(var t,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,f=0,h=e.length;f<h;f++){var d=e[f],v=d[0];switch(v){case\"M\":a=d[1],o=d[2];break;case\"A\":d=lze(u,c,d[1],d[2],uze(d[3]),d[4],d[5],d[6],d[7]),d.unshift(\"C\"),d.length>7&&(r.push(d.splice(0,7)),d.unshift(\"C\"));break;case\"S\":var x=u,b=c;(t==\"C\"||t==\"S\")&&(x+=x-n,b+=b-i),d=[\"C\",x,b,d[1],d[2],d[3],d[4]];break;case\"T\":t==\"Q\"||t==\"T\"?(s=u*2-s,l=c*2-l):(s=u,l=c),d=sze(u,c,s,l,d[1],d[2]);break;case\"Q\":s=d[1],l=d[2],d=sze(u,c,d[1],d[2],d[3],d[4]);break;case\"L\":d=Uz(u,c,d[1],d[2]);break;case\"H\":d=Uz(u,c,d[1],c);break;case\"V\":d=Uz(u,c,u,d[1]);break;case\"Z\":d=Uz(u,c,a,o);break}t=v,u=d[d.length-2],c=d[d.length-1],d.length>4?(n=d[d.length-4],i=d[d.length-3]):(n=u,i=c),r.push(d)}return r}function Uz(e,t,r,n){return[\"C\",e,t,r,n,r,n]}function sze(e,t,r,n,i,a){return[\"C\",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function lze(e,t,r,n,i,a,o,s,l,u){if(u)k=u[0],A=u[1],p=u[2],E=u[3];else{var c=UX(e,t,-i);e=c.x,t=c.y,c=UX(s,l,-i),s=c.x,l=c.y;var f=(e-s)/2,h=(t-l)/2,d=f*f/(r*r)+h*h/(n*n);d>1&&(d=Math.sqrt(d),r=d*r,n=d*n);var v=r*r,x=n*n,b=(a==o?-1:1)*Math.sqrt(Math.abs((v*x-v*h*h-x*f*f)/(v*h*h+x*f*f)));b==1/0&&(b=1);var p=b*r*h/n+(e+s)/2,E=b*-n*f/r+(t+l)/2,k=Math.asin(((t-E)/n).toFixed(9)),A=Math.asin(((l-E)/n).toFixed(9));k=e<p?Z2-k:k,A=s<p?Z2-A:A,k<0&&(k=Z2*2+k),A<0&&(A=Z2*2+A),o&&k>A&&(k=k-Z2*2),!o&&A>k&&(A=A-Z2*2)}if(Math.abs(A-k)>oze){var L=A,_=s,C=l;A=k+oze*(o&&A>k?1:-1),s=p+r*Math.cos(A),l=E+n*Math.sin(A);var M=lze(s,l,r,n,i,0,o,_,C,[A,L,p,E])}var g=Math.tan((A-k)/4),P=4/3*r*g,T=4/3*n*g,F=[2*e-(e+P*Math.sin(k)),2*t-(t-T*Math.cos(k)),s+P*Math.sin(A),l-T*Math.cos(A),s,l];if(u)return F;M&&(F=F.concat(M));for(var q=0;q<F.length;){var V=UX(F[q],F[q+1],i);F[q++]=V.x,F[q++]=V.y}return F}function UX(e,t,r){return{x:e*Math.cos(r)-t*Math.sin(r),y:e*Math.sin(r)+t*Math.cos(r)}}function uze(e){return e*(Z2/180)}});var dze=ye((y0r,hze)=>{var DFt=OX(),zFt=fze(),FFt={M:\"moveTo\",C:\"bezierCurveTo\"};hze.exports=function(e,t){e.beginPath(),zFt(DFt(t)).forEach(function(r){var n=r[0],i=r.slice(1);e[FFt[n]].apply(e,i)}),e.closePath()}});var mze=ye((_0r,gze)=>{\"use strict\";var qFt=VE();gze.exports=OFt;var nk=1e20;function OFt(e,t){t||(t={});var r=t.cutoff==null?.25:t.cutoff,n=t.radius==null?8:t.radius,i=t.channel||0,a,o,s,l,u,c,f,h,d,v,x;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error(\"For raw data width and height should be provided by options\");a=t.width,o=t.height,l=e,t.stride?c=t.stride:c=Math.floor(e.length/a/o)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(h=e,f=h.getContext(\"2d\"),a=h.width,o=h.height,d=f.getImageData(0,0,a,o),l=d.data,c=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(h=e.canvas,f=e,a=h.width,o=h.height,d=f.getImageData(0,0,a,o),l=d.data,c=4):window.ImageData&&e instanceof window.ImageData&&(d=e,a=e.width,o=e.height,l=d.data,c=4);if(s=Math.max(a,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(u=l,l=Array(a*o),v=0,x=u.length;v<x;v++)l[v]=u[v*c+i]/255;else if(c!==1)throw Error(\"Raw data can have only 1 value per pixel\");var b=Array(a*o),p=Array(a*o),E=Array(s),k=Array(s),A=Array(s+1),L=Array(s);for(v=0,x=a*o;v<x;v++){var _=l[v];b[v]=_===1?0:_===0?nk:Math.pow(Math.max(0,.5-_),2),p[v]=_===1?nk:_===0?0:Math.pow(Math.max(0,_-.5),2)}vze(b,a,o,E,k,L,A),vze(p,a,o,E,k,L,A);var C=window.Float32Array?new Float32Array(a*o):new Array(a*o);for(v=0,x=a*o;v<x;v++)C[v]=qFt(1-((b[v]-p[v])/n+r),0,1);return C}function vze(e,t,r,n,i,a,o){for(var s=0;s<t;s++){for(var l=0;l<r;l++)n[l]=e[l*t+s];for(pze(n,i,a,o,r),l=0;l<r;l++)e[l*t+s]=i[l]}for(l=0;l<r;l++){for(s=0;s<t;s++)n[s]=e[l*t+s];for(pze(n,i,a,o,t),s=0;s<t;s++)e[l*t+s]=Math.sqrt(i[s])}}function pze(e,t,r,n,i){r[0]=0,n[0]=-nk,n[1]=+nk;for(var a=1,o=0;a<i;a++){for(var s=(e[a]+a*a-(e[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);s<=n[o];)o--,s=(e[a]+a*a-(e[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);o++,r[o]=a,n[o]=s,n[o+1]=+nk}for(a=0,o=0;a<i;a++){for(;n[o+1]<a;)o++;t[a]=(a-r[o])*(a-r[o])+e[r[o]]}}});var _ze=ye((x0r,yze)=>{\"use strict\";var BFt=aze(),NFt=XS(),UFt=dze(),VFt=NX(),HFt=mze(),VX=document.createElement(\"canvas\"),hp=VX.getContext(\"2d\");yze.exports=GFt;function GFt(e,t){if(!VFt(e))throw Error(\"Argument should be valid svg path string\");t||(t={});var r,n;t.shape?(r=t.shape[0],n=t.shape[1]):(r=VX.width=t.w||t.width||200,n=VX.height=t.h||t.height||200);var i=Math.min(r,n),a=t.stroke||0,o=t.viewbox||t.viewBox||BFt(e),s=[r/(o[2]-o[0]),n/(o[3]-o[1])],l=Math.min(s[0]||0,s[1]||0)/2;if(hp.fillStyle=\"black\",hp.fillRect(0,0,r,n),hp.fillStyle=\"white\",a&&(typeof a!=\"number\"&&(a=1),a>0?hp.strokeStyle=\"white\":hp.strokeStyle=\"black\",hp.lineWidth=Math.abs(a)),hp.translate(r*.5,n*.5),hp.scale(l,l),jFt()){var u=new Path2D(e);hp.fill(u),a&&hp.stroke(u)}else{var c=NFt(e);UFt(hp,c),hp.fill(),a&&hp.stroke()}hp.setTransform(1,0,0,1,0,0);var f=HFt(hp,{cutoff:t.cutoff!=null?t.cutoff:.5,radius:t.radius!=null?t.radius:i*.5});return f}var Vz;function jFt(){if(Vz!=null)return Vz;var e=document.createElement(\"canvas\").getContext(\"2d\");if(e.canvas.width=e.canvas.height=1,!window.Path2D)return Vz=!1;var t=new Path2D(\"M0,0h1v1h-1v-1Z\");e.fillStyle=\"black\",e.fill(t);var r=e.getImageData(0,0,1,1);return Vz=r&&r.data&&r.data[3]===255}});var Y2=ye((b0r,Lze)=>{\"use strict\";var Gz=uo(),WFt=_ze(),Hz=$_(),ZFt=ba(),rA=Mr(),Qf=rA.isArrayOrTypedArray,eA=ao(),xze=af(),bze=$y().formatColor,tA=lu(),XFt=S3(),GX=Fz(),ak=sx(),YFt=U1().DESELECTDIM,wze={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},KFt=rp().appendArrayPointValue;function JFt(e,t){var r,n={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0},i=e._context.plotGlPixelRatio;if(t.visible!==!0)return n;if(tA.hasText(t)&&(n.text=Cze(e,t),n.textSel=Aze(e,t,t.selected),n.textUnsel=Aze(e,t,t.unselected)),tA.hasMarkers(t)&&(n.marker=WX(e,t),n.markerSel=jX(e,t,t.selected),n.markerUnsel=jX(e,t,t.unselected),!t.unselected&&Qf(t.marker.opacity))){var a=t.marker.opacity;for(n.markerUnsel.opacity=new Array(a.length),r=0;r<a.length;r++)n.markerUnsel.opacity[r]=YFt*a[r]}if(tA.hasLines(t)){n.line={overlay:!0,thickness:t.line.width*i,color:t.line.color,opacity:t.opacity};var o=(ak.DASHES[t.line.dash]||[1]).slice();for(r=0;r<o.length;++r)o[r]*=t.line.width*i;n.line.dashes=o}return t.error_x&&t.error_x.visible&&(n.errorX=Sze(t,t.error_x,i)),t.error_y&&t.error_y.visible&&(n.errorY=Sze(t,t.error_y,i)),t.fill&&t.fill!==\"none\"&&(n.fill={closed:!0,fill:t.fillcolor,thickness:0}),n}function Cze(e,t){var r=e._fullLayout,n=t._length,i=t.textfont,a=t.textposition,o=Qf(a)?a:[a],s=i.color,l=i.size,u=i.family,c=i.weight,f=i.style,h=i.variant,d={},v,x=e._context.plotGlPixelRatio,b=t.texttemplate;if(b){d.text=[];var p=r._d3locale,E=Array.isArray(b),k=E?Math.min(b.length,n):n,A=E?function(T){return b[T]}:function(){return b};for(v=0;v<k;v++){var L={i:v},_=t._module.formatLabels(L,t,r),C={};KFt(C,t,v);var M=t._meta||{};d.text.push(rA.texttemplateString(A(v),_,p,C,L,M))}}else Qf(t.text)&&t.text.length<n?d.text=t.text.slice():d.text=t.text;if(Qf(d.text))for(v=d.text.length;v<n;v++)d.text[v]=\"\";for(d.opacity=t.opacity,d.font={},d.align=[],d.baseline=[],v=0;v<o.length;v++){var g=o[v].split(/\\s+/);switch(g[1]){case\"left\":d.align.push(\"right\");break;case\"right\":d.align.push(\"left\");break;default:d.align.push(g[1])}switch(g[0]){case\"top\":d.baseline.push(\"bottom\");break;case\"bottom\":d.baseline.push(\"top\");break;default:d.baseline.push(g[0])}}if(Qf(s))for(d.color=new Array(n),v=0;v<n;v++)d.color[v]=s[v];else d.color=s;if(Qf(l)||Array.isArray(u)||Qf(c)||Array.isArray(f)||Array.isArray(h))for(d.font=new Array(n),v=0;v<n;v++){var P=d.font[v]={};P.size=(rA.isTypedArray(l)?l[v]:Qf(l)?Gz(l[v])?l[v]:0:l)*x,P.family=Array.isArray(u)?u[v]:u,P.weight=Tze(Qf(c)?c[v]:c),P.style=Array.isArray(f)?f[v]:f,P.variant=Array.isArray(h)?h[v]:h}else d.font={size:l*x,family:u,weight:Tze(c),style:f,variant:h};return d}function Tze(e){return e<=1e3?e>500?\"bold\":\"normal\":e}function WX(e,t){var r=t._length,n=t.marker,i={},a,o=Qf(n.symbol),s=Qf(n.angle),l=Qf(n.color),u=Qf(n.line.color),c=Qf(n.opacity),f=Qf(n.size),h=Qf(n.line.width),d;if(o||(d=GX.isOpenSymbol(n.symbol)),o||l||u||c||s){i.symbols=new Array(r),i.angles=new Array(r),i.colors=new Array(r),i.borderColors=new Array(r);var v=n.symbol,x=n.angle,b=bze(n,n.opacity,r),p=bze(n.line,n.opacity,r);if(!Qf(p[0])){var E=p;for(p=Array(r),a=0;a<r;a++)p[a]=E}if(!Qf(b[0])){var k=b;for(b=Array(r),a=0;a<r;a++)b[a]=k}if(!Qf(v)){var A=v;for(v=Array(r),a=0;a<r;a++)v[a]=A}if(!Qf(x)){var L=x;for(x=Array(r),a=0;a<r;a++)x[a]=L}for(i.symbols=v,i.angles=x,i.colors=b,i.borderColors=p,a=0;a<r;a++)o&&(d=GX.isOpenSymbol(n.symbol[a])),d&&(p[a]=b[a].slice(),b[a]=b[a].slice(),b[a][3]=0);for(i.opacity=t.opacity,i.markers=new Array(r),a=0;a<r;a++)i.markers[a]=kze({mx:i.symbols[a],ma:i.angles[a]},t)}else d?(i.color=Hz(n.color,\"uint8\"),i.color[3]=0,i.borderColor=Hz(n.color,\"uint8\")):(i.color=Hz(n.color,\"uint8\"),i.borderColor=Hz(n.line.color,\"uint8\")),i.opacity=t.opacity*n.opacity,i.marker=kze({mx:n.symbol,ma:n.angle},t);var _=1,C=XFt(t,_),M;if(f||h){var g=i.sizes=new Array(r),P=i.borderSizes=new Array(r),T=0,F;if(f){for(a=0;a<r;a++)g[a]=C(n.size[a]),T+=g[a];F=T/r}else for(M=C(n.size),a=0;a<r;a++)g[a]=M;if(h)for(a=0;a<r;a++)P[a]=n.line.width[a];else for(M=n.line.width,a=0;a<r;a++)P[a]=M;i.sizeAvg=F}else i.size=C(n&&n.size||10),i.borderSizes=C(n.line.width);return i}function jX(e,t,r){var n=t.marker,i={};return r&&(r.marker&&r.marker.symbol?i=WX(e,rA.extendFlat({},n,r.marker)):r.marker&&(r.marker.size&&(i.size=r.marker.size),r.marker.color&&(i.colors=r.marker.color),r.marker.opacity!==void 0&&(i.opacity=r.marker.opacity))),i}function Aze(e,t,r){var n={};if(!r)return n;if(r.textfont){var i={opacity:1,text:t.text,texttemplate:t.texttemplate,textposition:t.textposition,textfont:rA.extendFlat({},t.textfont)};r.textfont&&rA.extendFlat(i.textfont,r.textfont),n=Cze(e,i)}return n}function Sze(e,t,r){var n={capSize:t.width*2*r,lineWidth:t.thickness*r,color:t.color};return t.copy_ystyle&&(n=e.error_y),n}var Mze=ak.SYMBOL_SDF_SIZE,X2=ak.SYMBOL_SIZE,Eze=ak.SYMBOL_STROKE,HX={},$Ft=eA.symbolFuncs[0](X2*.05);function kze(e,t){var r=e.mx;if(r===\"circle\")return null;var n,i,a=eA.symbolNumber(r),o=eA.symbolFuncs[a%100],s=!!eA.symbolNoDot[a%100],l=!!eA.symbolNoFill[a%100],u=GX.isDotSymbol(r);if(e.ma&&(r+=\"_\"+e.ma),HX[r])return HX[r];var c=eA.getMarkerAngle(e,t);return u&&!s?n=o(X2*1.1,c)+$Ft:n=o(X2,c),i=WFt(n,{w:Mze,h:Mze,viewBox:[-X2,-X2,X2,X2],stroke:l?Eze:-Eze}),HX[r]=i,i||null}function QFt(e,t,r){var n=r.length,i=n/2,a,o;if(tA.hasLines(t)&&i)if(t.line.shape===\"hv\"){for(a=[],o=0;o<i-1;o++)isNaN(r[o*2])||isNaN(r[o*2+1])?a.push(NaN,NaN,NaN,NaN):(a.push(r[o*2],r[o*2+1]),!isNaN(r[o*2+2])&&!isNaN(r[o*2+3])?a.push(r[o*2+2],r[o*2+1]):a.push(NaN,NaN));a.push(r[n-2],r[n-1])}else if(t.line.shape===\"hvh\"){for(a=[],o=0;o<i-1;o++)if(isNaN(r[o*2])||isNaN(r[o*2+1])||isNaN(r[o*2+2])||isNaN(r[o*2+3]))!isNaN(r[o*2])&&!isNaN(r[o*2+1])?a.push(r[o*2],r[o*2+1]):a.push(NaN,NaN),a.push(NaN,NaN);else{var s=(r[o*2]+r[o*2+2])/2;a.push(r[o*2],r[o*2+1],s,r[o*2+1],s,r[o*2+3])}a.push(r[n-2],r[n-1])}else if(t.line.shape===\"vhv\"){for(a=[],o=0;o<i-1;o++)if(isNaN(r[o*2])||isNaN(r[o*2+1])||isNaN(r[o*2+2])||isNaN(r[o*2+3]))!isNaN(r[o*2])&&!isNaN(r[o*2+1])?a.push(r[o*2],r[o*2+1]):a.push(NaN,NaN),a.push(NaN,NaN);else{var l=(r[o*2+1]+r[o*2+3])/2;a.push(r[o*2],r[o*2+1],r[o*2],l,r[o*2+2],l)}a.push(r[n-2],r[n-1])}else if(t.line.shape===\"vh\"){for(a=[],o=0;o<i-1;o++)isNaN(r[o*2])||isNaN(r[o*2+1])?a.push(NaN,NaN,NaN,NaN):(a.push(r[o*2],r[o*2+1]),!isNaN(r[o*2+2])&&!isNaN(r[o*2+3])?a.push(r[o*2],r[o*2+3]):a.push(NaN,NaN));a.push(r[n-2],r[n-1])}else a=r;var u=!1;for(o=0;o<a.length;o++)if(isNaN(a[o])){u=!0;break}var c=u||a.length>ak.TOO_MANY_POINTS||tA.hasMarkers(t)?\"rect\":\"round\";if(u&&t.connectgaps){var f=a[0],h=a[1];for(o=0;o<a.length;o+=2)isNaN(a[o])||isNaN(a[o+1])?(a[o]=f,a[o+1]=h):(f=a[o],h=a[o+1])}return{join:c,positions:a}}function e7t(e,t,r,n,i){var a=ZFt.getComponentMethod(\"errorbars\",\"makeComputeError\"),o=xze.getFromId(e,t.xaxis,\"x\"),s=xze.getFromId(e,t.yaxis,\"y\"),l=r.length/2,u={};function c(f,h){var d=h._id.charAt(0),v=t[\"error_\"+d];if(v&&v.visible&&(h.type===\"linear\"||h.type===\"log\")){for(var x=a(v),b={x:0,y:1}[d],p={x:[0,1,2,3],y:[2,3,0,1]}[d],E=new Float64Array(4*l),k=1/0,A=-1/0,L=0,_=0;L<l;L++,_+=4){var C=f[L];if(Gz(C)){var M=r[L*2+b],g=x(C,L),P=g[0],T=g[1];if(Gz(P)&&Gz(T)){var F=C-P,q=C+T;E[_+p[0]]=M-h.c2l(F),E[_+p[1]]=h.c2l(q)-M,E[_+p[2]]=0,E[_+p[3]]=0,k=Math.min(k,C-P),A=Math.max(A,C+T)}}}u[d]={positions:r,errors:E,_bnds:[k,A]}}}return c(n,o),c(i,s),u}function t7t(e,t,r,n){var i=t._length,a={},o;if(tA.hasMarkers(t)){var s=r.font,l=r.align,u=r.baseline;for(a.offset=new Array(i),o=0;o<i;o++){var c=n.sizes?n.sizes[o]:n.size,f=Qf(s)?s[o].size:s.size,h=Qf(l)?l.length>1?l[o]:l[0]:l,d=Qf(u)?u.length>1?u[o]:u[0]:u,v=wze[h],x=wze[d],b=c?c/.8+1:0,p=-x*b-x*.5;a.offset[o]=[v*b/f,p/f]}}return a}Lze.exports={style:JFt,markerStyle:WX,markerSelection:jX,linePositions:QFt,errorBarPositions:e7t,textPosition:t7t}});var ZX=ye((w0r,Pze)=>{\"use strict\";var jz=Mr();Pze.exports=function(t,r){var n=r._scene,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},a={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return r._scene||(n=r._scene={},n.init=function(){jz.extendFlat(n,a,i)},n.init(),n.update=function(s){var l=jz.repeat(s,n.count);if(n.fill2d&&n.fill2d.update(l),n.scatter2d&&n.scatter2d.update(l),n.line2d&&n.line2d.update(l),n.error2d&&n.error2d.update(l.concat(l)),n.select2d&&n.select2d.update(l),n.glText)for(var u=0;u<n.count;u++)n.glText[u].update(s)},n.draw=function(){for(var s=n.count,l=n.fill2d,u=n.error2d,c=n.line2d,f=n.scatter2d,h=n.glText,d=n.select2d,v=n.selectBatch,x=n.unselectBatch,b=0;b<s;b++){if(l&&n.fillOrder[b]&&l.draw(n.fillOrder[b]),c&&n.lineOptions[b]&&c.draw(b),u&&(n.errorXOptions[b]&&u.draw(b),n.errorYOptions[b]&&u.draw(b+s)),f&&n.markerOptions[b])if(x[b].length){var p=jz.repeat([],n.count);p[b]=x[b],f.draw(p)}else v[b].length||f.draw(b);h[b]&&n.textOptions[b]&&h[b].render()}d&&d.draw(v),n.dirty=!1},n.destroy=function(){n.fill2d&&n.fill2d.destroy&&n.fill2d.destroy(),n.scatter2d&&n.scatter2d.destroy&&n.scatter2d.destroy(),n.error2d&&n.error2d.destroy&&n.error2d.destroy(),n.line2d&&n.line2d.destroy&&n.line2d.destroy(),n.select2d&&n.select2d.destroy&&n.select2d.destroy(),n.glText&&n.glText.forEach(function(s){s.destroy&&s.destroy()}),n.lineOptions=null,n.fillOptions=null,n.markerOptions=null,n.markerSelectedOptions=null,n.markerUnselectedOptions=null,n.errorXOptions=null,n.errorYOptions=null,n.textOptions=null,n.textSelectedOptions=null,n.textUnselectedOptions=null,n.selectBatch=null,n.unselectBatch=null,r._scene=null}),n.dirty||jz.extendFlat(n,i),n}});var qze=ye((T0r,Fze)=>{\"use strict\";var r7t=Oz(),iA=Mr(),Ize=af(),i7t=wg().findExtremes,Rze=Rg(),XX=q0(),n7t=XX.calcMarkerSize,a7t=XX.calcAxisExpansion,o7t=XX.setFirstScatter,s7t=z0(),nA=Y2(),l7t=ZX(),Dze=es().BADNUM,u7t=sx().TOO_MANY_POINTS;Fze.exports=function(t,r){var n=t._fullLayout,i=r._xA=Ize.getFromId(t,r.xaxis,\"x\"),a=r._yA=Ize.getFromId(t,r.yaxis,\"y\"),o=n._plots[r.xaxis+r.yaxis],s=r._length,l=s>=u7t,u=s*2,c={},f,h=i.makeCalcdata(r,\"x\"),d=a.makeCalcdata(r,\"y\"),v=Rze(r,i,\"x\",h),x=Rze(r,a,\"y\",d),b=v.vals,p=x.vals;r._x=b,r._y=p,r.xperiodalignment&&(r._origX=h,r._xStarts=v.starts,r._xEnds=v.ends),r.yperiodalignment&&(r._origY=d,r._yStarts=x.starts,r._yEnds=x.ends);var E=new Array(u),k=new Array(s);for(f=0;f<s;f++)E[f*2]=b[f]===Dze?NaN:b[f],E[f*2+1]=p[f]===Dze?NaN:p[f],k[f]=f;if(i.type===\"log\")for(f=0;f<u;f+=2)E[f]=i.c2l(E[f]);if(a.type===\"log\")for(f=1;f<u;f+=2)E[f]=a.c2l(E[f]);l&&i.type!==\"log\"&&a.type!==\"log\"?c.tree=r7t(E):c.ids=k,s7t(t,r);var A=c7t(t,o,r,E,b,p),L=l7t(t,o);o7t(n,r);var _;return l?A.marker&&(_=A.marker.sizeAvg||Math.max(A.marker.size,3)):_=n7t(r,s),a7t(t,r,i,a,b,p,_),A.errorX&&zze(r,i,A.errorX),A.errorY&&zze(r,a,A.errorY),A.fill&&!L.fill2d&&(L.fill2d=!0),A.marker&&!L.scatter2d&&(L.scatter2d=!0),A.line&&!L.line2d&&(L.line2d=!0),(A.errorX||A.errorY)&&!L.error2d&&(L.error2d=!0),A.text&&!L.glText&&(L.glText=!0),A.marker&&(A.marker.snap=s),L.lineOptions.push(A.line),L.errorXOptions.push(A.errorX),L.errorYOptions.push(A.errorY),L.fillOptions.push(A.fill),L.markerOptions.push(A.marker),L.markerSelectedOptions.push(A.markerSel),L.markerUnselectedOptions.push(A.markerUnsel),L.textOptions.push(A.text),L.textSelectedOptions.push(A.textSel),L.textUnselectedOptions.push(A.textUnsel),L.selectBatch.push([]),L.unselectBatch.push([]),c._scene=L,c.index=L.count,c.x=b,c.y=p,c.positions=E,L.count++,[{x:!1,y:!1,t:c,trace:r}]};function zze(e,t,r){var n=e._extremes[t._id],i=i7t(t,r._bnds,{padded:!0});n.min=n.min.concat(i.min),n.max=n.max.concat(i.max)}function c7t(e,t,r,n,i,a){var o=nA.style(e,r);if(o.marker&&(o.marker.positions=n),o.line&&n.length>1&&iA.extendFlat(o.line,nA.linePositions(e,r,n)),o.errorX||o.errorY){var s=nA.errorBarPositions(e,r,n,i,a);o.errorX&&iA.extendFlat(o.errorX,s.x),o.errorY&&iA.extendFlat(o.errorY,s.y)}return o.text&&(iA.extendFlat(o.text,{positions:n},nA.textPosition(e,r,o.text,o.marker)),iA.extendFlat(o.textSel,{positions:n},nA.textPosition(e,r,o.text,o.markerSel)),iA.extendFlat(o.textUnsel,{positions:n},nA.textPosition(e,r,o.text,o.markerUnsel))),o}});var YX=ye((A0r,Bze)=>{\"use strict\";var Oze=Mr(),f7t=va(),h7t=U1().DESELECTDIM;function d7t(e){var t=e[0],r=t.trace,n=t.t,i=n._scene,a=n.index,o=i.selectBatch[a],s=i.unselectBatch[a],l=i.textOptions[a],u=i.textSelectedOptions[a]||{},c=i.textUnselectedOptions[a]||{},f=Oze.extendFlat({},l),h,d;if(o.length||s.length){var v=u.color,x=c.color,b=l.color,p=Oze.isArrayOrTypedArray(b);for(f.color=new Array(r._length),h=0;h<o.length;h++)d=o[h],f.color[d]=v||(p?b[d]:b);for(h=0;h<s.length;h++){d=s[h];var E=p?b[d]:b;f.color[d]=x||(v?E:f7t.addOpacity(E,h7t))}}i.glText[a].update(f)}Bze.exports={styleTextSelection:d7t}});var KX=ye((S0r,Uze)=>{\"use strict\";var Nze=lu(),v7t=YX().styleTextSelection;Uze.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l=n[0].t,u=s._length,c=l.x,f=l.y,h=l._scene,d=l.index;if(!h)return o;var v=Nze.hasText(s),x=Nze.hasMarkers(s),b=!x&&!v;if(s.visible!==!0||b)return o;var p=[],E=[];if(r!==!1&&!r.degenerate)for(var k=0;k<u;k++)r.contains([l.xpx[k],l.ypx[k]],!1,k,t)?(p.push(k),o.push({pointNumber:k,x:i.c2d(c[k]),y:a.c2d(f[k])})):E.push(k);if(x){var A=h.scatter2d;if(!p.length&&!E.length){var L=new Array(h.count);L[d]=h.markerOptions[d],A.update.apply(A,L)}else if(!h.selectBatch[d].length&&!h.unselectBatch[d].length){var _=new Array(h.count);_[d]=h.markerUnselectedOptions[d],A.update.apply(A,_)}}return h.selectBatch[d]=p,h.unselectBatch[d]=E,v&&v7t(n),o}});var Hze=ye((M0r,Vze)=>{\"use strict\";var p7t=zz();Vze.exports={moduleType:\"trace\",name:\"scattergl\",basePlotModule:Jf(),categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\"],attributes:tk(),supplyDefaults:ADe(),crossTraceDefaults:$N(),colorbar:Kd(),formatLabels:MDe(),calc:qze(),hoverPoints:p7t.hoverPoints,selectPoints:KX(),meta:{}}});var jze=ye((E0r,Zz)=>{\"use strict\";var Wz=VE();Zz.exports=Gze;Zz.exports.to=Gze;Zz.exports.from=g7t;function Gze(e,t){t==null&&(t=!0);var r=e[0],n=e[1],i=e[2],a=e[3];a==null&&(a=t?1:255),t&&(r*=255,n*=255,i*=255,a*=255),r=Wz(r,0,255)&255,n=Wz(n,0,255)&255,i=Wz(i,0,255)&255,a=Wz(a,0,255)&255;var o=r*16777216+(n<<16)+(i<<8)+a;return o}function g7t(e,t){e=+e;var r=e>>>24,n=(e&16711680)>>>16,i=(e&65280)>>>8,a=e&255;return t===!1?[r,n,i,a]:[r/255,n/255,i/255,a/255]}});var bh=ye((k0r,Zze)=>{\"use strict\";var Wze=Object.getOwnPropertySymbols,m7t=Object.prototype.hasOwnProperty,y7t=Object.prototype.propertyIsEnumerable;function _7t(e){if(e==null)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}function x7t(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",Object.getOwnPropertyNames(e)[0]===\"5\")return!1;for(var t={},r=0;r<10;r++)t[\"_\"+String.fromCharCode(r)]=r;var n=Object.getOwnPropertyNames(t).map(function(a){return t[a]});if(n.join(\"\")!==\"0123456789\")return!1;var i={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(a){i[a]=a}),Object.keys(Object.assign({},i)).join(\"\")===\"abcdefghijklmnopqrst\"}catch(a){return!1}}Zze.exports=x7t()?Object.assign:function(e,t){for(var r,n=_7t(e),i,a=1;a<arguments.length;a++){r=Object(arguments[a]);for(var o in r)m7t.call(r,o)&&(n[o]=r[o]);if(Wze){i=Wze(r);for(var s=0;s<i.length;s++)y7t.call(r,i[s])&&(n[i[s]]=r[i[s]])}}return n}});var Yze=ye((C0r,Xze)=>{Xze.exports=function(e){typeof e==\"string\"&&(e=[e]);for(var t=[].slice.call(arguments,1),r=[],n=0;n<e.length-1;n++)r.push(e[n],t[n]||\"\");return r.push(e[n]),r.join(\"\")}});var JX=ye((L0r,Kze)=>{\"use strict\";Kze.exports=function(t,r,n){Array.isArray(n)||(n=[].slice.call(arguments,2));for(var i=0,a=n.length;i<a;i++){var o=n[i];for(var s in o)if(!(r[s]!==void 0&&!Array.isArray(r[s])&&t[s]===r[s])&&s in r){var l;if(o[s]===!0)l=r[s];else{if(o[s]===!1)continue;if(typeof o[s]==\"function\"&&(l=o[s](r[s],t,r),l===void 0))continue}t[s]=l}}return t}});var $ze=ye((P0r,Jze)=>{\"use strict\";Jze.exports=typeof navigator!=\"undefined\"&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion))});var Xz=ye((I0r,aA)=>{\"use strict\";aA.exports=ok;aA.exports.float32=aA.exports.float=ok;aA.exports.fract32=aA.exports.fract=b7t;var Qze=new Float32Array(1);function b7t(e,t){if(e.length){if(e instanceof Float32Array)return new Float32Array(e.length);t instanceof Float32Array||(t=ok(e));for(var r=0,n=t.length;r<n;r++)t[r]=e[r]-t[r];return t}return ok(e-ok(e))}function ok(e){return e.length?e instanceof Float32Array?e:new Float32Array(e):(Qze[0]=e,Qze[0])}});var QX=ye((R0r,rFe)=>{\"use strict\";function w7t(e,t){var r=e==null?null:typeof Symbol!=\"undefined\"&&e[Symbol.iterator]||e[\"@@iterator\"];if(r!=null){var n,i,a,o,s=[],l=!0,u=!1;try{if(a=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(c){u=!0,i=c}finally{try{if(!l&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}function T7t(e,t){return M7t(e)||w7t(e,t)||tFe(e,t)||C7t()}function A7t(e){return S7t(e)||E7t(e)||tFe(e)||k7t()}function S7t(e){if(Array.isArray(e))return $X(e)}function M7t(e){if(Array.isArray(e))return e}function E7t(e){if(typeof Symbol!=\"undefined\"&&e[Symbol.iterator]!=null||e[\"@@iterator\"]!=null)return Array.from(e)}function tFe(e,t){if(e){if(typeof e==\"string\")return $X(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r===\"Object\"&&e.constructor&&(r=e.constructor.name),r===\"Map\"||r===\"Set\")return Array.from(e);if(r===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $X(e,t)}}function $X(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function k7t(){throw new TypeError(`Invalid attempt to spread non-iterable instance.\n", - "In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function C7t(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.\n", - "In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var L7t=$_(),P7t=j2(),I7t=jze(),R7t=Oz(),K2=bh(),Yz=Yze(),D7t=Zm(),z7t=JX(),F7t=W2(),eFe=$ze(),Kz=Xz(),q7t=Q5(),O7t=rv;function rv(e,t){var r=this;if(!(this instanceof rv))return new rv(e,t);typeof e==\"function\"?(t||(t={}),t.regl=e):(t=e,e=null),t&&t.length&&(t.positions=t),e=t.regl;var n=e._gl,i,a=[],o={},s=[],l=[null],u=[null],c=255,f=100;this.tooManyColors=eFe,i=e.texture({data:new Uint8Array(c*4),width:c,height:1,type:\"uint8\",format:\"rgba\",wrapS:\"clamp\",wrapT:\"clamp\",mag:\"nearest\",min:\"nearest\"}),K2(this,{regl:e,gl:n,groups:s,markerCache:u,markerTextures:l,palette:a,paletteIds:o,paletteTexture:i,maxColors:c,maxSize:f,canvas:n.canvas}),this.update(t);var h={uniforms:{constPointSize:!!t.constPointSize,opacity:e.prop(\"opacity\"),paletteSize:function(b,p){return[r.tooManyColors?0:c,i.height]},pixelRatio:e.context(\"pixelRatio\"),scale:e.prop(\"scale\"),scaleFract:e.prop(\"scaleFract\"),translate:e.prop(\"translate\"),translateFract:e.prop(\"translateFract\"),markerTexture:e.prop(\"markerTexture\"),paletteTexture:i},attributes:{x:function(b,p){return p.xAttr||{buffer:p.positionBuffer,stride:8,offset:0}},y:function(b,p){return p.yAttr||{buffer:p.positionBuffer,stride:8,offset:4}},xFract:function(b,p){return p.xAttr?{constant:[0,0]}:{buffer:p.positionFractBuffer,stride:8,offset:0}},yFract:function(b,p){return p.yAttr?{constant:[0,0]}:{buffer:p.positionFractBuffer,stride:8,offset:4}},size:function(b,p){return p.size.length?{buffer:p.sizeBuffer,stride:2,offset:0}:{constant:[Math.round(p.size*255/r.maxSize)]}},borderSize:function(b,p){return p.borderSize.length?{buffer:p.sizeBuffer,stride:2,offset:1}:{constant:[Math.round(p.borderSize*255/r.maxSize)]}},colorId:function(b,p){return p.color.length?{buffer:p.colorBuffer,stride:r.tooManyColors?8:4,offset:0}:{constant:r.tooManyColors?a.slice(p.color*4,p.color*4+4):[p.color]}},borderColorId:function(b,p){return p.borderColor.length?{buffer:p.colorBuffer,stride:r.tooManyColors?8:4,offset:r.tooManyColors?4:2}:{constant:r.tooManyColors?a.slice(p.borderColor*4,p.borderColor*4+4):[p.borderColor]}},isActive:function(b,p){return p.activation===!0?{constant:[1]}:p.activation?p.activation:{constant:[0]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},scissor:{enable:!0,box:e.prop(\"viewport\")},viewport:e.prop(\"viewport\"),stencil:{enable:!1},depth:{enable:!1},elements:e.prop(\"elements\"),count:e.prop(\"count\"),offset:e.prop(\"offset\"),primitive:\"points\"},d=K2({},h);d.frag=Yz([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform float opacity;\n", - "uniform sampler2D markerTexture;\n", - "\n", - "varying vec4 fragColor, fragBorderColor;\n", - "varying float fragWidth, fragBorderColorLevel, fragColorLevel;\n", - "\n", - "float smoothStep(float x, float y) {\n", - " return 1.0 / (1.0 + exp(50.0*(x - y)));\n", - "}\n", - "\n", - "void main() {\n", - " float dist = texture2D(markerTexture, gl_PointCoord).r, delta = fragWidth;\n", - "\n", - " // max-distance alpha\n", - " if (dist < 0.003) discard;\n", - "\n", - " // null-border case\n", - " if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) {\n", - " float colorAmt = smoothstep(.5 - delta, .5 + delta, dist);\n", - " gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a * opacity);\n", - " }\n", - " else {\n", - " float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist);\n", - " float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist);\n", - "\n", - " vec4 color = fragBorderColor;\n", - " color.a *= borderColorAmt;\n", - " color = mix(color, fragColor, colorAmt);\n", - " color.a *= opacity;\n", - "\n", - " gl_FragColor = color;\n", - " }\n", - "\n", - "}\n", - "`]),d.vert=Yz([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute float x, y, xFract, yFract;\n", - "attribute float size, borderSize;\n", - "attribute vec4 colorId, borderColorId;\n", - "attribute 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.\n", - "invariant gl_Position;\n", - "\n", - "uniform bool constPointSize;\n", - "uniform float pixelRatio;\n", - "uniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\n", - "uniform sampler2D paletteTexture;\n", - "\n", - "const float maxSize = 100.;\n", - "const float borderLevel = .5;\n", - "\n", - "varying vec4 fragColor, fragBorderColor;\n", - "varying float fragPointSize, fragBorderRadius, fragWidth, fragBorderColorLevel, fragColorLevel;\n", - "\n", - "float pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n", - "\n", - "bool isDirect = (paletteSize.x < 1.);\n", - "\n", - "vec4 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", - "\n", - "void main() {\n", - " // ignore inactive points\n", - " if (isActive == 0.) return;\n", - "\n", - " vec2 position = vec2(x, y);\n", - " vec2 positionFract = vec2(xFract, yFract);\n", - "\n", - " vec4 color = getColor(colorId);\n", - " vec4 borderColor = getColor(borderColorId);\n", - "\n", - " float size = size * maxSize / 255.;\n", - " float borderSize = borderSize * maxSize / 255.;\n", - "\n", - " gl_PointSize = 2. * size * pointSizeScale;\n", - " fragPointSize = size * pixelRatio;\n", - "\n", - " vec2 pos = (position + translate) * scale\n", - " + (positionFract + translateFract) * scale\n", - " + (position + translate) * scaleFract\n", - " + (positionFract + translateFract) * scaleFract;\n", - "\n", - " gl_Position = vec4(pos * 2. - 1., 0., 1.);\n", - "\n", - " fragColor = color;\n", - " fragBorderColor = borderColor;\n", - " fragWidth = 1. / gl_PointSize;\n", - "\n", - " fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.);\n", - " fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.);\n", - "}\n", - "`]),this.drawMarker=e(d);var v=K2({},h);v.frag=Yz([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "varying vec4 fragColor, fragBorderColor;\n", - "varying float fragBorderRadius, fragWidth;\n", - "\n", - "uniform float opacity;\n", - "\n", - "float smoothStep(float edge0, float edge1, float x) {\n", - "\tfloat t;\n", - "\tt = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n", - "\treturn t * t * (3.0 - 2.0 * t);\n", - "}\n", - "\n", - "void main() {\n", - "\tfloat radius, alpha = 1.0, delta = fragWidth;\n", - "\n", - "\tradius = length(2.0 * gl_PointCoord.xy - 1.0);\n", - "\n", - "\tif (radius > 1.0 + delta) {\n", - "\t\tdiscard;\n", - "\t}\n", - "\n", - "\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n", - "\n", - "\tfloat borderRadius = fragBorderRadius;\n", - "\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n", - "\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n", - "\tcolor.a *= alpha * opacity;\n", - "\tgl_FragColor = color;\n", - "}\n", - "`]),v.vert=Yz([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute float x, y, xFract, yFract;\n", - "attribute float size, borderSize;\n", - "attribute vec4 colorId, borderColorId;\n", - "attribute 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.\n", - "invariant gl_Position;\n", - "\n", - "uniform bool constPointSize;\n", - "uniform float pixelRatio;\n", - "uniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\n", - "uniform sampler2D paletteTexture;\n", - "\n", - "const float maxSize = 100.;\n", - "\n", - "varying vec4 fragColor, fragBorderColor;\n", - "varying float fragBorderRadius, fragWidth;\n", - "\n", - "float pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n", - "\n", - "bool isDirect = (paletteSize.x < 1.);\n", - "\n", - "vec4 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", - "\n", - "void 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", - "`]),eFe&&(v.frag=v.frag.replace(\"smoothstep\",\"smoothStep\"),d.frag=d.frag.replace(\"smoothstep\",\"smoothStep\")),this.drawCircle=e(v)}rv.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};rv.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this};rv.prototype.draw=function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];var i=this.groups;if(r.length===1&&Array.isArray(r[0])&&(r[0][0]===null||Array.isArray(r[0][0]))&&(r=r[0]),this.regl._refresh(),r.length)for(var a=0;a<r.length;a++)this.drawItem(a,r[a]);else i.forEach(function(o,s){e.drawItem(s)});return this};rv.prototype.drawItem=function(e,t){var r=this.groups,n=r[e];if(typeof t==\"number\"&&(e=t,n=r[t],t=null),!!(n&&n.count&&n.opacity)){n.activation[0]&&this.drawCircle(this.getMarkerDrawOptions(0,n,t));for(var i=[],a=1;a<n.activation.length;a++)!n.activation[a]||n.activation[a]!==!0&&!n.activation[a].data.length||i.push.apply(i,A7t(this.getMarkerDrawOptions(a,n,t)));i.length&&this.drawMarker(i)}};rv.prototype.getMarkerDrawOptions=function(e,t,r){var n=t.range,i=t.tree,a=t.viewport,o=t.activation,s=t.selectionBuffer,l=t.count,u=this.regl;if(!i)return r?[K2({},t,{markerTexture:this.markerTextures[e],activation:o[e],count:r.length,elements:r,offset:0})]:[K2({},t,{markerTexture:this.markerTextures[e],activation:o[e],offset:0})];var c=[],f=i.range(n,{lod:!0,px:[(n[2]-n[0])/a.width,(n[3]-n[1])/a.height]});if(r){for(var h=o[e],d=h.data,v=new Uint8Array(l),x=0;x<r.length;x++){var b=r[x];v[b]=d?d[b]:1}s.subdata(v)}for(var p=f.length;p--;){var E=T7t(f[p],2),k=E[0],A=E[1];c.push(K2({},t,{markerTexture:this.markerTextures[e],activation:r?s:o[e],offset:k,count:A-k}))}return c};rv.prototype.update=function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];if(r.length){r.length===1&&Array.isArray(r[0])&&(r=r[0]);var i=this.groups,a=this.gl,o=this.regl,s=this.maxSize,l=this.maxColors,u=this.palette;this.groups=i=r.map(function(c,f){var h=i[f];if(c===void 0)return h;c===null?c={positions:null}:typeof c==\"function\"?c={ondraw:c}:typeof c[0]==\"number\"&&(c={positions:c}),c=D7t(c,{positions:\"positions data points\",snap:\"snap cluster lod tree\",size:\"sizes size radius\",borderSize:\"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline\",color:\"colors color fill fill-color fillColor\",borderColor:\"borderColors borderColor stroke stroke-color strokeColor\",marker:\"markers marker shape\",range:\"range dataBox databox\",viewport:\"viewport viewPort viewBox viewbox\",opacity:\"opacity alpha transparency\",bounds:\"bound bounds boundaries limits\",tooManyColors:\"tooManyColors palette paletteMode optimizePalette enablePalette\"}),c.positions===null&&(c.positions=[]),c.tooManyColors!=null&&(e.tooManyColors=c.tooManyColors),h||(i[f]=h={id:f,scale:null,translate:null,scaleFract:null,translateFract:null,activation:[],selectionBuffer:o.buffer({data:new Uint8Array(0),usage:\"stream\",type:\"uint8\"}),sizeBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"uint8\"}),colorBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"uint8\"}),positionBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"float\"}),positionFractBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"float\"})},c=K2({},rv.defaults,c)),c.positions&&!(\"marker\"in c)&&(c.marker=h.marker,delete h.marker),c.marker&&!(\"positions\"in c)&&(c.positions=h.positions,delete h.positions);var d=0,v=0;if(z7t(h,c,[{snap:!0,size:function(G,N){return G==null&&(G=rv.defaults.size),d+=G&&G.length?1:0,G},borderSize:function(G,N){return G==null&&(G=rv.defaults.borderSize),d+=G&&G.length?1:0,G},opacity:parseFloat,color:function(G,N){return G==null&&(G=rv.defaults.color),G=e.updateColor(G),v++,G},borderColor:function(G,N){return G==null&&(G=rv.defaults.borderColor),G=e.updateColor(G),v++,G},bounds:function(G,N,W){return\"range\"in W||(W.range=null),G},positions:function(G,N,W){var re=N.snap,ae=N.positionBuffer,_e=N.positionFractBuffer,Me=N.selectionBuffer;if(G.x||G.y)return G.x.length?N.xAttr={buffer:o.buffer(G.x),offset:0,stride:4,count:G.x.length}:N.xAttr={buffer:G.x.buffer,offset:G.x.offset*4||0,stride:(G.x.stride||1)*4,count:G.x.count},G.y.length?N.yAttr={buffer:o.buffer(G.y),offset:0,stride:4,count:G.y.length}:N.yAttr={buffer:G.y.buffer,offset:G.y.offset*4||0,stride:(G.y.stride||1)*4,count:G.y.count},N.count=Math.max(N.xAttr.count,N.yAttr.count),G;G=F7t(G,\"float64\");var ke=N.count=Math.floor(G.length/2),ge=N.bounds=ke?P7t(G,2):null;if(!W.range&&!N.range&&(delete N.range,W.range=ge),!W.marker&&!N.marker&&(delete N.marker,W.marker=null),re&&(re===!0||ke>re)?N.tree=R7t(G,{bounds:ge}):re&&re.length&&(N.tree=re),N.tree){var ie={primitive:\"points\",usage:\"static\",data:N.tree,type:\"uint32\"};N.elements?N.elements(ie):N.elements=o.elements(ie)}var Te=Kz.float32(G);ae({data:Te,usage:\"dynamic\"});var Ee=Kz.fract32(G,Te);return _e({data:Ee,usage:\"dynamic\"}),Me({data:new Uint8Array(ke),type:\"uint8\",usage:\"stream\"}),G}},{marker:function(G,N,W){var re=N.activation;if(re.forEach(function(Ee){return Ee&&Ee.destroy&&Ee.destroy()}),re.length=0,!G||typeof G[0]==\"number\"){var ae=e.addMarker(G);re[ae]=!0}else{for(var _e=[],Me=0,ke=Math.min(G.length,N.count);Me<ke;Me++){var ge=e.addMarker(G[Me]);_e[ge]||(_e[ge]=new Uint8Array(N.count)),_e[ge][Me]=1}for(var ie=0;ie<_e.length;ie++)if(_e[ie]){var Te={data:_e[ie],type:\"uint8\",usage:\"static\"};re[ie]?re[ie](Te):re[ie]=o.buffer(Te),re[ie].data=_e[ie]}}return G},range:function(G,N,W){var re=N.bounds;if(re)return G||(G=re),N.scale=[1/(G[2]-G[0]),1/(G[3]-G[1])],N.translate=[-G[0],-G[1]],N.scaleFract=Kz.fract(N.scale),N.translateFract=Kz.fract(N.translate),G},viewport:function(G){var N=q7t(G||[a.drawingBufferWidth,a.drawingBufferHeight]);return N}}]),d){var x=h,b=x.count,p=x.size,E=x.borderSize,k=x.sizeBuffer,A=new Uint8Array(b*2);if(p.length||E.length)for(var L=0;L<b;L++)A[L*2]=Math.round((p[L]==null?p:p[L])*255/s),A[L*2+1]=Math.round((E[L]==null?E:E[L])*255/s);k({data:A,usage:\"dynamic\"})}if(v){var _=h,C=_.count,M=_.color,g=_.borderColor,P=_.colorBuffer,T;if(e.tooManyColors){if(M.length||g.length){T=new Uint8Array(C*8);for(var F=0;F<C;F++){var q=M[F];T[F*8]=u[q*4],T[F*8+1]=u[q*4+1],T[F*8+2]=u[q*4+2],T[F*8+3]=u[q*4+3];var V=g[F];T[F*8+4]=u[V*4],T[F*8+5]=u[V*4+1],T[F*8+6]=u[V*4+2],T[F*8+7]=u[V*4+3]}}}else if(M.length||g.length){T=new Uint8Array(C*4+2);for(var H=0;H<C;H++)M[H]!=null&&(T[H*4]=M[H]%l,T[H*4+1]=Math.floor(M[H]/l)),g[H]!=null&&(T[H*4+2]=g[H]%l,T[H*4+3]=Math.floor(g[H]/l))}P({data:T||new Uint8Array(0),type:\"uint8\",usage:\"dynamic\"})}return h})}};rv.prototype.addMarker=function(e){var t=this.markerTextures,r=this.regl,n=this.markerCache,i=e==null?0:n.indexOf(e);if(i>=0)return i;var a;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)a=e;else{a=new Uint8Array(e.length);for(var o=0,s=e.length;o<s;o++)a[o]=e[o]*255}var l=Math.floor(Math.sqrt(a.length));return i=t.length,n.push(e),t.push(r.texture({channels:1,data:a,radius:l,mag:\"linear\",min:\"linear\"})),i};rv.prototype.updateColor=function(e){var t=this.paletteIds,r=this.palette,n=this.maxColors;Array.isArray(e)||(e=[e]);var i=[];if(typeof e[0]==\"number\"){var a=[];if(Array.isArray(e))for(var o=0;o<e.length;o+=4)a.push(e.slice(o,o+4));else for(var s=0;s<e.length;s+=4)a.push(e.subarray(s,s+4));e=a}for(var l=0;l<e.length;l++){var u=e[l];u=L7t(u,\"uint8\");var c=I7t(u,!1);if(t[c]==null){var f=r.length;t[c]=Math.floor(f/4),r[f]=u[0],r[f+1]=u[1],r[f+2]=u[2],r[f+3]=u[3]}i[l]=t[c]}return!this.tooManyColors&&r.length>n*4&&(this.tooManyColors=!0),this.updatePalette(r),i.length===1?i[0]:i};rv.prototype.updatePalette=function(e){if(!this.tooManyColors){var t=this.maxColors,r=this.paletteTexture,n=Math.ceil(e.length*.25/t);if(n>1){e=e.slice();for(var i=e.length*.25%t;i<n*t;i++)e.push(0,0,0,0)}r.height<n&&r.resize(t,n),r.subimage({width:Math.min(e.length*.25,t),height:n,data:e},0,0)}};rv.prototype.destroy=function(){return this.groups.forEach(function(e){e.sizeBuffer.destroy(),e.positionBuffer.destroy(),e.positionFractBuffer.destroy(),e.colorBuffer.destroy(),e.activation.forEach(function(t){return t&&t.destroy&&t.destroy()}),e.selectionBuffer.destroy(),e.elements&&e.elements.destroy()}),this.groups.length=0,this.paletteTexture.destroy(),this.markerTextures.forEach(function(e){return e&&e.destroy&&e.destroy()}),this};var B7t=bh(),N7t=function(t,r){var n=new O7t(t,r),i=n.render.bind(n);return B7t(i,{render:i,update:n.update.bind(n),draw:n.draw.bind(n),destroy:n.destroy.bind(n),regl:n.regl,gl:n.gl,canvas:n.gl.canvas,groups:n.groups,markers:n.markerCache,palette:n.palette}),i};rFe.exports=N7t});var sFe=ye((D0r,iY)=>{\"use strict\";iY.exports=Qz;iY.exports.default=Qz;function Qz(e,t,r){r=r||2;var n=t&&t.length,i=n?t[0]*r:e.length,a=nFe(e,0,i,r,!0),o=[];if(!a||a.next===a.prev)return o;var s,l,u,c,f,h,d;if(n&&(a=j7t(e,t,a,r)),e.length>80*r){s=u=e[0],l=c=e[1];for(var v=r;v<i;v+=r)f=e[v],h=e[v+1],f<s&&(s=f),h<l&&(l=h),f>u&&(u=f),h>c&&(c=h);d=Math.max(u-s,c-l),d=d!==0?32767/d:0}return sk(a,o,r,s,l,d,0),o}function nFe(e,t,r,n,i){var a,o;if(i===rY(e,t,r,n)>0)for(a=t;a<r;a+=n)o=iFe(a,e[a],e[a+1],o);else for(a=r-n;a>=t;a-=n)o=iFe(a,e[a],e[a+1],o);return o&&eF(o,o.next)&&(uk(o),o=o.next),o}function J2(e,t){if(!e)return e;t||(t=e);var r=e,n;do if(n=!1,!r.steiner&&(eF(r,r.next)||eh(r.prev,r,r.next)===0)){if(uk(r),r=t=r.prev,r===r.next)break;n=!0}else r=r.next;while(n||r!==t);return t}function sk(e,t,r,n,i,a,o){if(e){!o&&a&&K7t(e,n,i,a);for(var s=e,l,u;e.prev!==e.next;){if(l=e.prev,u=e.next,a?V7t(e,n,i,a):U7t(e)){t.push(l.i/r|0),t.push(e.i/r|0),t.push(u.i/r|0),uk(e),e=u.next,s=u.next;continue}if(e=u,e===s){o?o===1?(e=H7t(J2(e),t,r),sk(e,t,r,n,i,a,2)):o===2&&G7t(e,t,r,n,i,a):sk(J2(e),t,r,n,i,a,1);break}}}}function U7t(e){var t=e.prev,r=e,n=e.next;if(eh(t,r,n)>=0)return!1;for(var i=t.x,a=r.x,o=n.x,s=t.y,l=r.y,u=n.y,c=i<a?i<o?i:o:a<o?a:o,f=s<l?s<u?s:u:l<u?l:u,h=i>a?i>o?i:o:a>o?a:o,d=s>l?s>u?s:u:l>u?l:u,v=n.next;v!==t;){if(v.x>=c&&v.x<=h&&v.y>=f&&v.y<=d&&oA(i,s,a,l,o,u,v.x,v.y)&&eh(v.prev,v,v.next)>=0)return!1;v=v.next}return!0}function V7t(e,t,r,n){var i=e.prev,a=e,o=e.next;if(eh(i,a,o)>=0)return!1;for(var s=i.x,l=a.x,u=o.x,c=i.y,f=a.y,h=o.y,d=s<l?s<u?s:u:l<u?l:u,v=c<f?c<h?c:h:f<h?f:h,x=s>l?s>u?s:u:l>u?l:u,b=c>f?c>h?c:h:f>h?f:h,p=eY(d,v,t,r,n),E=eY(x,b,t,r,n),k=e.prevZ,A=e.nextZ;k&&k.z>=p&&A&&A.z<=E;){if(k.x>=d&&k.x<=x&&k.y>=v&&k.y<=b&&k!==i&&k!==o&&oA(s,c,l,f,u,h,k.x,k.y)&&eh(k.prev,k,k.next)>=0||(k=k.prevZ,A.x>=d&&A.x<=x&&A.y>=v&&A.y<=b&&A!==i&&A!==o&&oA(s,c,l,f,u,h,A.x,A.y)&&eh(A.prev,A,A.next)>=0))return!1;A=A.nextZ}for(;k&&k.z>=p;){if(k.x>=d&&k.x<=x&&k.y>=v&&k.y<=b&&k!==i&&k!==o&&oA(s,c,l,f,u,h,k.x,k.y)&&eh(k.prev,k,k.next)>=0)return!1;k=k.prevZ}for(;A&&A.z<=E;){if(A.x>=d&&A.x<=x&&A.y>=v&&A.y<=b&&A!==i&&A!==o&&oA(s,c,l,f,u,h,A.x,A.y)&&eh(A.prev,A,A.next)>=0)return!1;A=A.nextZ}return!0}function H7t(e,t,r){var n=e;do{var i=n.prev,a=n.next.next;!eF(i,a)&&aFe(i,n,n.next,a)&&lk(i,a)&&lk(a,i)&&(t.push(i.i/r|0),t.push(n.i/r|0),t.push(a.i/r|0),uk(n),uk(n.next),n=e=a),n=n.next}while(n!==e);return J2(n)}function G7t(e,t,r,n,i,a){var o=e;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&Q7t(o,s)){var l=oFe(o,s);o=J2(o,o.next),l=J2(l,l.next),sk(o,t,r,n,i,a,0),sk(l,t,r,n,i,a,0);return}s=s.next}o=o.next}while(o!==e)}function j7t(e,t,r,n){var i=[],a,o,s,l,u;for(a=0,o=t.length;a<o;a++)s=t[a]*n,l=a<o-1?t[a+1]*n:e.length,u=nFe(e,s,l,n,!1),u===u.next&&(u.steiner=!0),i.push($7t(u));for(i.sort(W7t),a=0;a<i.length;a++)r=Z7t(i[a],r);return r}function W7t(e,t){return e.x-t.x}function Z7t(e,t){var r=X7t(e,t);if(!r)return t;var n=oFe(r,e);return J2(n,n.next),J2(r,r.next)}function X7t(e,t){var r=t,n=e.x,i=e.y,a=-1/0,o;do{if(i<=r.y&&i>=r.next.y&&r.next.y!==r.y){var s=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(s<=n&&s>a&&(a=s,o=r.x<r.next.x?r:r.next,s===n))return o}r=r.next}while(r!==t);if(!o)return null;var l=o,u=o.x,c=o.y,f=1/0,h;r=o;do n>=r.x&&r.x>=u&&n!==r.x&&oA(i<c?n:a,i,u,c,i<c?a:n,i,r.x,r.y)&&(h=Math.abs(i-r.y)/(n-r.x),lk(r,e)&&(h<f||h===f&&(r.x>o.x||r.x===o.x&&Y7t(o,r)))&&(o=r,f=h)),r=r.next;while(r!==l);return o}function Y7t(e,t){return eh(e.prev,e,t.prev)<0&&eh(t.next,e,e.next)<0}function K7t(e,t,r,n){var i=e;do i.z===0&&(i.z=eY(i.x,i.y,t,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,J7t(i)}function J7t(e){var t,r,n,i,a,o,s,l,u=1;do{for(r=e,e=null,a=null,o=0;r;){for(o++,n=r,s=0,t=0;t<u&&(s++,n=n.nextZ,!!n);t++);for(l=u;s>0||l>0&&n;)s!==0&&(l===0||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1);return e}function eY(e,t,r,n,i){return e=(e-r)*i|0,t=(t-n)*i|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function $7t(e){var t=e,r=e;do(t.x<r.x||t.x===r.x&&t.y<r.y)&&(r=t),t=t.next;while(t!==e);return r}function oA(e,t,r,n,i,a,o,s){return(i-o)*(t-s)>=(e-o)*(a-s)&&(e-o)*(n-s)>=(r-o)*(t-s)&&(r-o)*(a-s)>=(i-o)*(n-s)}function Q7t(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!e9t(e,t)&&(lk(e,t)&&lk(t,e)&&t9t(e,t)&&(eh(e.prev,e,t.prev)||eh(e,t.prev,t))||eF(e,t)&&eh(e.prev,e,e.next)>0&&eh(t.prev,t,t.next)>0)}function eh(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function eF(e,t){return e.x===t.x&&e.y===t.y}function aFe(e,t,r,n){var i=$z(eh(e,t,r)),a=$z(eh(e,t,n)),o=$z(eh(r,n,e)),s=$z(eh(r,n,t));return!!(i!==a&&o!==s||i===0&&Jz(e,r,t)||a===0&&Jz(e,n,t)||o===0&&Jz(r,e,n)||s===0&&Jz(r,t,n))}function Jz(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function $z(e){return e>0?1:e<0?-1:0}function e9t(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&aFe(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function lk(e,t){return eh(e.prev,e,e.next)<0?eh(e,t,e.next)>=0&&eh(e,e.prev,t)>=0:eh(e,t,e.prev)<0||eh(e,e.next,t)<0}function t9t(e,t){var r=e,n=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;while(r!==e);return n}function oFe(e,t){var r=new tY(e.i,e.x,e.y),n=new tY(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function iFe(e,t,r,n){var i=new tY(e,t,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function uk(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function tY(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}Qz.deviation=function(e,t,r,n){var i=t&&t.length,a=i?t[0]*r:e.length,o=Math.abs(rY(e,0,a,r));if(i)for(var s=0,l=t.length;s<l;s++){var u=t[s]*r,c=s<l-1?t[s+1]*r:e.length;o-=Math.abs(rY(e,u,c,r))}var f=0;for(s=0;s<n.length;s+=3){var h=n[s]*r,d=n[s+1]*r,v=n[s+2]*r;f+=Math.abs((e[h]-e[v])*(e[d+1]-e[h+1])-(e[h]-e[d])*(e[v+1]-e[h+1]))}return o===0&&f===0?0:Math.abs((f-o)/o)};function rY(e,t,r,n){for(var i=0,a=t,o=r-n;a<r;a+=n)i+=(e[o]-e[a])*(e[a+1]+e[o+1]),o=a;return i}Qz.flatten=function(e){for(var t=e[0][0].length,r={vertices:[],holes:[],dimensions:t},n=0,i=0;i<e.length;i++){for(var a=0;a<e[i].length;a++)for(var o=0;o<t;o++)r.vertices.push(e[i][a][o]);i>0&&(n+=e[i-1].length,r.holes.push(n))}return r}});var uFe=ye((z0r,lFe)=>{\"use strict\";var r9t=j2();lFe.exports=i9t;function i9t(e,t,r){if(!e||e.length==null)throw Error(\"Argument should be an array\");t==null&&(t=1),r==null&&(r=r9t(e,t));for(var n=0;n<t;n++){var i=r[t+n],a=r[n],o=n,s=e.length;if(i===1/0&&a===-1/0)for(o=n;o<s;o+=t)e[o]=e[o]===i?1:e[o]===a?0:.5;else if(i===1/0)for(o=n;o<s;o+=t)e[o]=e[o]===i?1:0;else if(a===-1/0)for(o=n;o<s;o+=t)e[o]=e[o]===a?0:1;else{var l=i-a;for(o=n;o<s;o+=t)isNaN(e[o])||(e[o]=l===0?.5:(e[o]-a)/l)}}return e}});var fFe=ye((F0r,cFe)=>{\"use strict\";cFe.exports=function(){var e,t;if(typeof WeakMap!=\"function\")return!1;try{e=new WeakMap([[t={},\"one\"],[{},\"two\"],[{},\"three\"]])}catch(r){return!1}return!(String(e)!==\"[object WeakMap]\"||typeof e.set!=\"function\"||e.set({},1)!==e||typeof e.delete!=\"function\"||typeof e.has!=\"function\"||e.get(t)!==\"one\")}});var dFe=ye((q0r,hFe)=>{\"use strict\";hFe.exports=function(){}});var lx=ye((O0r,vFe)=>{\"use strict\";var n9t=dFe()();vFe.exports=function(e){return e!==n9t&&e!==null}});var nY=ye((B0r,gFe)=>{\"use strict\";var a9t=Object.create,o9t=Object.getPrototypeOf,pFe={};gFe.exports=function(){var e=Object.setPrototypeOf,t=arguments[0]||a9t;return typeof e!=\"function\"?!1:o9t(e(t(null),pFe))===pFe}});var aY=ye((N0r,mFe)=>{\"use strict\";var s9t=lx(),l9t={function:!0,object:!0};mFe.exports=function(e){return s9t(e)&&l9t[typeof e]||!1}});var i1=ye((U0r,yFe)=>{\"use strict\";var u9t=lx();yFe.exports=function(e){if(!u9t(e))throw new TypeError(\"Cannot use null or undefined\");return e}});var xFe=ye((V0r,_Fe)=>{\"use strict\";var oY=Object.create,tF;nY()()||(tF=sY());_Fe.exports=function(){var e,t,r;return!tF||tF.level!==1?oY:(e={},t={},r={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(n){if(n===\"__proto__\"){t[n]={configurable:!0,enumerable:!1,writable:!0,value:void 0};return}t[n]=r}),Object.defineProperties(e,t),Object.defineProperty(tF,\"nullPolyfill\",{configurable:!1,enumerable:!1,writable:!1,value:e}),function(n,i){return oY(n===null?e:n,i)})}()});var sY=ye((H0r,bFe)=>{\"use strict\";var c9t=aY(),f9t=i1(),h9t=Object.prototype.isPrototypeOf,d9t=Object.defineProperty,v9t={configurable:!0,enumerable:!1,writable:!0,value:void 0},rF;rF=function(e,t){if(f9t(e),t===null||c9t(t))return e;throw new TypeError(\"Prototype must be null or an object\")};bFe.exports=function(e){var t,r;return e?(e.level===2?e.set?(r=e.set,t=function(n,i){return r.call(rF(n,i),i),n}):t=function(n,i){return rF(n,i).__proto__=i,n}:t=function n(i,a){var o;return rF(i,a),o=h9t.call(n.nullPolyfill,i),o&&delete n.nullPolyfill.__proto__,a===null&&(a=n.nullPolyfill),i.__proto__=a,o&&d9t(n.nullPolyfill,\"__proto__\",v9t),i},Object.defineProperty(t,\"level\",{configurable:!1,enumerable:!1,writable:!1,value:e.level})):null}(function(){var e=Object.create(null),t={},r,n=Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\");if(n){try{r=n.set,r.call(e,t)}catch(i){}if(Object.getPrototypeOf(e)===t)return{set:r,level:2}}return e.__proto__=t,Object.getPrototypeOf(e)===t?{level:2}:(e={},e.__proto__=t,Object.getPrototypeOf(e)===t?{level:1}:!1)}());xFe()});var iF=ye((G0r,wFe)=>{\"use strict\";wFe.exports=nY()()?Object.setPrototypeOf:sY()});var AFe=ye((j0r,TFe)=>{\"use strict\";var p9t=aY();TFe.exports=function(e){if(!p9t(e))throw new TypeError(e+\" is not an Object\");return e}});var MFe=ye((W0r,SFe)=>{\"use strict\";var g9t=Object.create(null),m9t=Math.random;SFe.exports=function(){var e;do e=m9t().toString(36).slice(2);while(g9t[e]);return e}});var $2=ye((Z0r,EFe)=>{\"use strict\";var y9t=void 0;EFe.exports=function(e){return e!==y9t&&e!==null}});var nF=ye((X0r,kFe)=>{\"use strict\";var _9t=$2(),x9t={object:!0,function:!0,undefined:!0};kFe.exports=function(e){return _9t(e)?hasOwnProperty.call(x9t,typeof e):!1}});var LFe=ye((Y0r,CFe)=>{\"use strict\";var b9t=nF();CFe.exports=function(e){if(!b9t(e))return!1;try{return e.constructor?e.constructor.prototype===e:!1}catch(t){return!1}}});var IFe=ye((K0r,PFe)=>{\"use strict\";var w9t=LFe();PFe.exports=function(e){if(typeof e!=\"function\"||!hasOwnProperty.call(e,\"length\"))return!1;try{if(typeof e.length!=\"number\"||typeof e.call!=\"function\"||typeof e.apply!=\"function\")return!1}catch(t){return!1}return!w9t(e)}});var lY=ye((J0r,RFe)=>{\"use strict\";var T9t=IFe(),A9t=/^\\s*class[\\s{/}]/,S9t=Function.prototype.toString;RFe.exports=function(e){return!(!T9t(e)||A9t.test(S9t.call(e)))}});var zFe=ye(($0r,DFe)=>{\"use strict\";DFe.exports=function(){var e=Object.assign,t;return typeof e!=\"function\"?!1:(t={foo:\"raz\"},e(t,{bar:\"dwa\"},{trzy:\"trzy\"}),t.foo+t.bar+t.trzy===\"razdwatrzy\")}});var qFe=ye((Q0r,FFe)=>{\"use strict\";FFe.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(e){return!1}}});var BFe=ye((egr,OFe)=>{\"use strict\";var M9t=lx(),E9t=Object.keys;OFe.exports=function(e){return E9t(M9t(e)?Object(e):e)}});var UFe=ye((tgr,NFe)=>{\"use strict\";NFe.exports=qFe()()?Object.keys:BFe()});var HFe=ye((rgr,VFe)=>{\"use strict\";var k9t=UFe(),C9t=i1(),L9t=Math.max;VFe.exports=function(e,t){var r,n,i=L9t(arguments.length,2),a;for(e=Object(C9t(e)),a=function(o){try{e[o]=t[o]}catch(s){r||(r=s)}},n=1;n<i;++n)t=arguments[n],k9t(t).forEach(a);if(r!==void 0)throw r;return e}});var aF=ye((igr,GFe)=>{\"use strict\";GFe.exports=zFe()()?Object.assign:HFe()});var uY=ye((ngr,jFe)=>{\"use strict\";var P9t=lx(),I9t=Array.prototype.forEach,R9t=Object.create,D9t=function(e,t){var r;for(r in e)t[r]=e[r]};jFe.exports=function(e){var t=R9t(null);return I9t.call(arguments,function(r){P9t(r)&&D9t(Object(r),t)}),t}});var ZFe=ye((agr,WFe)=>{\"use strict\";var cY=\"razdwatrzy\";WFe.exports=function(){return typeof cY.contains!=\"function\"?!1:cY.contains(\"dwa\")===!0&&cY.contains(\"foo\")===!1}});var YFe=ye((ogr,XFe)=>{\"use strict\";var z9t=String.prototype.indexOf;XFe.exports=function(e){return z9t.call(this,e,arguments[1])>-1}});var fY=ye((sgr,KFe)=>{\"use strict\";KFe.exports=ZFe()()?String.prototype.contains:YFe()});var n1=ye((lgr,e7e)=>{\"use strict\";var oF=$2(),JFe=lY(),$Fe=aF(),QFe=uY(),ck=fY(),F9t=e7e.exports=function(e,t){var r,n,i,a,o;return arguments.length<2||typeof e!=\"string\"?(a=t,t=e,e=null):a=arguments[2],oF(e)?(r=ck.call(e,\"c\"),n=ck.call(e,\"e\"),i=ck.call(e,\"w\")):(r=i=!0,n=!1),o={value:t,configurable:r,enumerable:n,writable:i},a?$Fe(QFe(a),o):o};F9t.gs=function(e,t,r){var n,i,a,o;return typeof e!=\"string\"?(a=r,r=t,t=e,e=null):a=arguments[3],oF(t)?JFe(t)?oF(r)?JFe(r)||(a=r,r=void 0):r=void 0:(a=t,t=r=void 0):t=void 0,oF(e)?(n=ck.call(e,\"c\"),i=ck.call(e,\"e\")):(n=!0,i=!1),o={get:t,set:r,configurable:n,enumerable:i},a?$Fe(QFe(a),o):o}});var fk=ye((ugr,r7e)=>{\"use strict\";var t7e=Object.prototype.toString,q9t=t7e.call(function(){return arguments}());r7e.exports=function(e){return t7e.call(e)===q9t}});var hk=ye((cgr,n7e)=>{\"use strict\";var i7e=Object.prototype.toString,O9t=i7e.call(\"\");n7e.exports=function(e){return typeof e==\"string\"||e&&typeof e==\"object\"&&(e instanceof String||i7e.call(e)===O9t)||!1}});var o7e=ye((fgr,a7e)=>{\"use strict\";a7e.exports=function(){return typeof globalThis!=\"object\"||!globalThis?!1:globalThis.Array===Array}});var u7e=ye((hgr,l7e)=>{var s7e=function(){if(typeof self==\"object\"&&self)return self;if(typeof window==\"object\"&&window)return window;throw new Error(\"Unable to resolve global `this`\")};l7e.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,\"__global__\",{get:function(){return this},configurable:!0})}catch(e){return s7e()}try{return __global__||s7e()}finally{delete Object.prototype.__global__}}()});var dk=ye((dgr,c7e)=>{\"use strict\";c7e.exports=o7e()()?globalThis:u7e()});var h7e=ye((vgr,f7e)=>{\"use strict\";var B9t=dk(),hY={object:!0,symbol:!0};f7e.exports=function(){var e=B9t.Symbol,t;if(typeof e!=\"function\")return!1;t=e(\"test symbol\");try{String(t)}catch(r){return!1}return!(!hY[typeof e.iterator]||!hY[typeof e.toPrimitive]||!hY[typeof e.toStringTag])}});var v7e=ye((pgr,d7e)=>{\"use strict\";d7e.exports=function(e){return e?typeof e==\"symbol\"?!0:!e.constructor||e.constructor.name!==\"Symbol\"?!1:e[e.constructor.toStringTag]===\"Symbol\":!1}});var dY=ye((ggr,p7e)=>{\"use strict\";var N9t=v7e();p7e.exports=function(e){if(!N9t(e))throw new TypeError(e+\" is not a symbol\");return e}});var x7e=ye((mgr,_7e)=>{\"use strict\";var g7e=n1(),U9t=Object.create,m7e=Object.defineProperty,V9t=Object.prototype,y7e=U9t(null);_7e.exports=function(e){for(var t=0,r,n;y7e[e+(t||\"\")];)++t;return e+=t||\"\",y7e[e]=!0,r=\"@@\"+e,m7e(V9t,r,g7e.gs(null,function(i){n||(n=!0,m7e(this,r,g7e(i)),n=!1)})),r}});var w7e=ye((ygr,b7e)=>{\"use strict\";var Qg=n1(),wh=dk().Symbol;b7e.exports=function(e){return Object.defineProperties(e,{hasInstance:Qg(\"\",wh&&wh.hasInstance||e(\"hasInstance\")),isConcatSpreadable:Qg(\"\",wh&&wh.isConcatSpreadable||e(\"isConcatSpreadable\")),iterator:Qg(\"\",wh&&wh.iterator||e(\"iterator\")),match:Qg(\"\",wh&&wh.match||e(\"match\")),replace:Qg(\"\",wh&&wh.replace||e(\"replace\")),search:Qg(\"\",wh&&wh.search||e(\"search\")),species:Qg(\"\",wh&&wh.species||e(\"species\")),split:Qg(\"\",wh&&wh.split||e(\"split\")),toPrimitive:Qg(\"\",wh&&wh.toPrimitive||e(\"toPrimitive\")),toStringTag:Qg(\"\",wh&&wh.toStringTag||e(\"toStringTag\")),unscopables:Qg(\"\",wh&&wh.unscopables||e(\"unscopables\"))})}});var S7e=ye((_gr,A7e)=>{\"use strict\";var T7e=n1(),H9t=dY(),vk=Object.create(null);A7e.exports=function(e){return Object.defineProperties(e,{for:T7e(function(t){return vk[t]?vk[t]:vk[t]=e(String(t))}),keyFor:T7e(function(t){var r;H9t(t);for(r in vk)if(vk[r]===t)return r})})}});var k7e=ye((xgr,E7e)=>{\"use strict\";var Xm=n1(),vY=dY(),sF=dk().Symbol,G9t=x7e(),j9t=w7e(),W9t=S7e(),Z9t=Object.create,pY=Object.defineProperties,lF=Object.defineProperty,Wv,sA,M7e;if(typeof sF==\"function\")try{String(sF()),M7e=!0}catch(e){}else sF=null;sA=function(t){if(this instanceof sA)throw new TypeError(\"Symbol is not a constructor\");return Wv(t)};E7e.exports=Wv=function e(t){var r;if(this instanceof e)throw new TypeError(\"Symbol is not a constructor\");return M7e?sF(t):(r=Z9t(sA.prototype),t=t===void 0?\"\":String(t),pY(r,{__description__:Xm(\"\",t),__name__:Xm(\"\",G9t(t))}))};j9t(Wv);W9t(Wv);pY(sA.prototype,{constructor:Xm(Wv),toString:Xm(\"\",function(){return this.__name__})});pY(Wv.prototype,{toString:Xm(function(){return\"Symbol (\"+vY(this).__description__+\")\"}),valueOf:Xm(function(){return vY(this)})});lF(Wv.prototype,Wv.toPrimitive,Xm(\"\",function(){var e=vY(this);return typeof e==\"symbol\"?e:e.toString()}));lF(Wv.prototype,Wv.toStringTag,Xm(\"c\",\"Symbol\"));lF(sA.prototype,Wv.toStringTag,Xm(\"c\",Wv.prototype[Wv.toStringTag]));lF(sA.prototype,Wv.toPrimitive,Xm(\"c\",Wv.prototype[Wv.toPrimitive]))});var ux=ye((bgr,C7e)=>{\"use strict\";C7e.exports=h7e()()?dk().Symbol:k7e()});var P7e=ye((wgr,L7e)=>{\"use strict\";var X9t=i1();L7e.exports=function(){return X9t(this).length=0,this}});var lA=ye((Tgr,I7e)=>{\"use strict\";I7e.exports=function(e){if(typeof e!=\"function\")throw new TypeError(e+\" is not a function\");return e}});var D7e=ye((Agr,R7e)=>{\"use strict\";var Y9t=$2(),K9t=nF(),J9t=Object.prototype.toString;R7e.exports=function(e){if(!Y9t(e))return null;if(K9t(e)){var t=e.toString;if(typeof t!=\"function\"||t===J9t)return null}try{return\"\"+e}catch(r){return null}}});var F7e=ye((Sgr,z7e)=>{\"use strict\";z7e.exports=function(e){try{return e.toString()}catch(t){try{return String(e)}catch(r){return null}}}});var O7e=ye((Mgr,q7e)=>{\"use strict\";var $9t=F7e(),Q9t=/[\\n\\r\\u2028\\u2029]/g;q7e.exports=function(e){var t=$9t(e);return t===null?\"<Non-coercible to string value>\":(t.length>100&&(t=t.slice(0,99)+\"\\u2026\"),t=t.replace(Q9t,function(r){switch(r){case`\n", - "`:return\"\\\\n\";case\"\\r\":return\"\\\\r\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw new Error(\"Unexpected character\")}}),t)}});var gY=ye((Egr,U7e)=>{\"use strict\";var B7e=$2(),eqt=nF(),tqt=D7e(),rqt=O7e(),N7e=function(e,t){return e.replace(\"%v\",rqt(t))};U7e.exports=function(e,t,r){if(!eqt(r))throw new TypeError(N7e(t,e));if(!B7e(e)){if(\"default\"in r)return r.default;if(r.isOptional)return null}var n=tqt(r.errorMessage);throw B7e(n)||(n=t),new TypeError(N7e(n,e))}});var H7e=ye((kgr,V7e)=>{\"use strict\";var iqt=gY(),nqt=$2();V7e.exports=function(e){return nqt(e)?e:iqt(e,\"Cannot use %v\",arguments[1])}});var j7e=ye((Cgr,G7e)=>{\"use strict\";var aqt=gY(),oqt=lY();G7e.exports=function(e){return oqt(e)?e:aqt(e,\"%v is not a plain function\",arguments[1])}});var Z7e=ye((Lgr,W7e)=>{\"use strict\";W7e.exports=function(){var e=Array.from,t,r;return typeof e!=\"function\"?!1:(t=[\"raz\",\"dwa\"],r=e(t),!!(r&&r!==t&&r[1]===\"dwa\"))}});var Y7e=ye((Pgr,X7e)=>{\"use strict\";var sqt=Object.prototype.toString,lqt=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);X7e.exports=function(e){return typeof e==\"function\"&&lqt(sqt.call(e))}});var J7e=ye((Igr,K7e)=>{\"use strict\";K7e.exports=function(){var e=Math.sign;return typeof e!=\"function\"?!1:e(10)===1&&e(-20)===-1}});var Q7e=ye((Rgr,$7e)=>{\"use strict\";$7e.exports=function(e){return e=Number(e),isNaN(e)||e===0?e:e>0?1:-1}});var t9e=ye((Dgr,e9e)=>{\"use strict\";e9e.exports=J7e()()?Math.sign:Q7e()});var i9e=ye((zgr,r9e)=>{\"use strict\";var uqt=t9e(),cqt=Math.abs,fqt=Math.floor;r9e.exports=function(e){return isNaN(e)?0:(e=Number(e),e===0||!isFinite(e)?e:uqt(e)*fqt(cqt(e)))}});var a9e=ye((Fgr,n9e)=>{\"use strict\";var hqt=i9e(),dqt=Math.max;n9e.exports=function(e){return dqt(0,hqt(e))}});var u9e=ye((qgr,l9e)=>{\"use strict\";var vqt=ux().iterator,pqt=fk(),gqt=Y7e(),mqt=a9e(),o9e=lA(),yqt=i1(),_qt=lx(),xqt=hk(),s9e=Array.isArray,mY=Function.prototype.call,Q2={configurable:!0,enumerable:!0,writable:!0,value:null},yY=Object.defineProperty;l9e.exports=function(e){var t=arguments[1],r=arguments[2],n,i,a,o,s,l,u,c,f,h;if(e=Object(yqt(e)),_qt(t)&&o9e(t),!this||this===Array||!gqt(this)){if(!t){if(pqt(e))return s=e.length,s!==1?Array.apply(null,e):(o=new Array(1),o[0]=e[0],o);if(s9e(e)){for(o=new Array(s=e.length),i=0;i<s;++i)o[i]=e[i];return o}}o=[]}else n=this;if(!s9e(e)){if((f=e[vqt])!==void 0){for(u=o9e(f).call(e),n&&(o=new n),c=u.next(),i=0;!c.done;)h=t?mY.call(t,r,c.value,i):c.value,n?(Q2.value=h,yY(o,i,Q2)):o[i]=h,c=u.next(),++i;s=i}else if(xqt(e)){for(s=e.length,n&&(o=new n),i=0,a=0;i<s;++i)h=e[i],i+1<s&&(l=h.charCodeAt(0),l>=55296&&l<=56319&&(h+=e[++i])),h=t?mY.call(t,r,h,a):h,n?(Q2.value=h,yY(o,a,Q2)):o[a]=h,++a;s=a}}if(s===void 0)for(s=mqt(e.length),n&&(o=new n(s)),i=0;i<s;++i)h=t?mY.call(t,r,e[i],i):e[i],n?(Q2.value=h,yY(o,i,Q2)):o[i]=h;return n&&(Q2.value=null,o.length=s),o}});var f9e=ye((Ogr,c9e)=>{\"use strict\";c9e.exports=Z7e()()?Array.from:u9e()});var d9e=ye((Bgr,h9e)=>{\"use strict\";var bqt=f9e(),wqt=aF(),Tqt=i1();h9e.exports=function(e){var t=Object(Tqt(e)),r=arguments[1],n=Object(arguments[2]);if(t!==e&&!r)return t;var i={};return r?bqt(r,function(a){(n.ensure||a in e)&&(i[a]=e[a])}):wqt(i,e),i}});var g9e=ye((Ngr,p9e)=>{\"use strict\";var Aqt=lA(),Sqt=i1(),Mqt=Function.prototype.bind,v9e=Function.prototype.call,Eqt=Object.keys,kqt=Object.prototype.propertyIsEnumerable;p9e.exports=function(e,t){return function(r,n){var i,a=arguments[2],o=arguments[3];return r=Object(Sqt(r)),Aqt(n),i=Eqt(r),o&&i.sort(typeof o==\"function\"?Mqt.call(o,r):void 0),typeof e!=\"function\"&&(e=i[e]),v9e.call(e,i,function(s,l){return kqt.call(r,s)?v9e.call(n,a,r[s],s,r,l):t})}}});var y9e=ye((Ugr,m9e)=>{\"use strict\";m9e.exports=g9e()(\"forEach\")});var x9e=ye((Vgr,_9e)=>{\"use strict\";var Cqt=lA(),Lqt=y9e(),Pqt=Function.prototype.call;_9e.exports=function(e,t){var r={},n=arguments[2];return Cqt(t),Lqt(e,function(i,a,o,s){r[a]=Pqt.call(t,n,i,a,o,s)}),r}});var A9e=ye((Hgr,T9e)=>{\"use strict\";var Iqt=$2(),Rqt=H7e(),b9e=j7e(),Dqt=d9e(),zqt=uY(),Fqt=x9e(),qqt=Function.prototype.bind,Oqt=Object.defineProperty,Bqt=Object.prototype.hasOwnProperty,w9e;w9e=function(e,t,r){var n=Rqt(t)&&b9e(t.value),i;return i=Dqt(t),delete i.writable,delete i.value,i.get=function(){return!r.overwriteDefinition&&Bqt.call(this,e)?n:(t.value=qqt.call(n,r.resolveContext?r.resolveContext(this):this),Oqt(this,e,t),this[e])},i};T9e.exports=function(e){var t=zqt(arguments[1]);return Iqt(t.resolveContext)&&b9e(t.resolveContext),Fqt(e,function(r,n){return w9e(n,r,t)})}});var _Y=ye((Ggr,k9e)=>{\"use strict\";var Nqt=P7e(),Uqt=aF(),Vqt=lA(),Hqt=i1(),Op=n1(),Gqt=A9e(),S9e=ux(),M9e=Object.defineProperty,E9e=Object.defineProperties,pk;k9e.exports=pk=function(e,t){if(!(this instanceof pk))throw new TypeError(\"Constructor requires 'new'\");E9e(this,{__list__:Op(\"w\",Hqt(e)),__context__:Op(\"w\",t),__nextIndex__:Op(\"w\",0)}),t&&(Vqt(t.on),t.on(\"_add\",this._onAdd),t.on(\"_delete\",this._onDelete),t.on(\"_clear\",this._onClear))};delete pk.prototype.constructor;E9e(pk.prototype,Uqt({_next:Op(function(){var e;if(this.__list__){if(this.__redo__&&(e=this.__redo__.shift(),e!==void 0))return e;if(this.__nextIndex__<this.__list__.length)return this.__nextIndex__++;this._unBind()}}),next:Op(function(){return this._createResult(this._next())}),_createResult:Op(function(e){return e===void 0?{done:!0,value:void 0}:{done:!1,value:this._resolve(e)}}),_resolve:Op(function(e){return this.__list__[e]}),_unBind:Op(function(){this.__list__=null,delete this.__redo__,this.__context__&&(this.__context__.off(\"_add\",this._onAdd),this.__context__.off(\"_delete\",this._onDelete),this.__context__.off(\"_clear\",this._onClear),this.__context__=null)}),toString:Op(function(){return\"[object \"+(this[S9e.toStringTag]||\"Object\")+\"]\"})},Gqt({_onAdd:Op(function(e){if(!(e>=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__){M9e(this,\"__redo__\",Op(\"c\",[e]));return}this.__redo__.forEach(function(t,r){t>=e&&(this.__redo__[r]=++t)},this),this.__redo__.push(e)}}),_onDelete:Op(function(e){var t;e>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(t=this.__redo__.indexOf(e),t!==-1&&this.__redo__.splice(t,1),this.__redo__.forEach(function(r,n){r>e&&(this.__redo__[n]=--r)},this)))}),_onClear:Op(function(){this.__redo__&&Nqt.call(this.__redo__),this.__nextIndex__=0})})));M9e(pk.prototype,S9e.iterator,Op(function(){return this}))});var R9e=ye((jgr,I9e)=>{\"use strict\";var C9e=iF(),L9e=fY(),xY=n1(),jqt=ux(),bY=_Y(),P9e=Object.defineProperty,uA;uA=I9e.exports=function(e,t){if(!(this instanceof uA))throw new TypeError(\"Constructor requires 'new'\");bY.call(this,e),t?L9e.call(t,\"key+value\")?t=\"key+value\":L9e.call(t,\"key\")?t=\"key\":t=\"value\":t=\"value\",P9e(this,\"__kind__\",xY(\"\",t))};C9e&&C9e(uA,bY);delete uA.prototype.constructor;uA.prototype=Object.create(bY.prototype,{_resolve:xY(function(e){return this.__kind__===\"value\"?this.__list__[e]:this.__kind__===\"key+value\"?[e,this.__list__[e]]:e})});P9e(uA.prototype,jqt.toStringTag,xY(\"c\",\"Array Iterator\"))});var q9e=ye((Wgr,F9e)=>{\"use strict\";var D9e=iF(),uF=n1(),Wqt=ux(),wY=_Y(),z9e=Object.defineProperty,cA;cA=F9e.exports=function(e){if(!(this instanceof cA))throw new TypeError(\"Constructor requires 'new'\");e=String(e),wY.call(this,e),z9e(this,\"__length__\",uF(\"\",e.length))};D9e&&D9e(cA,wY);delete cA.prototype.constructor;cA.prototype=Object.create(wY.prototype,{_next:uF(function(){if(this.__list__){if(this.__nextIndex__<this.__length__)return this.__nextIndex__++;this._unBind()}}),_resolve:uF(function(e){var t=this.__list__[e],r;return this.__nextIndex__===this.__length__?t:(r=t.charCodeAt(0),r>=55296&&r<=56319?t+this.__list__[this.__nextIndex__++]:t)})});z9e(cA.prototype,Wqt.toStringTag,uF(\"c\",\"String Iterator\"))});var B9e=ye((Zgr,O9e)=>{\"use strict\";var Zqt=fk(),Xqt=lx(),Yqt=hk(),Kqt=ux().iterator,Jqt=Array.isArray;O9e.exports=function(e){return Xqt(e)?Jqt(e)||Yqt(e)||Zqt(e)?!0:typeof e[Kqt]==\"function\":!1}});var U9e=ye((Xgr,N9e)=>{\"use strict\";var $qt=B9e();N9e.exports=function(e){if(!$qt(e))throw new TypeError(e+\" is not iterable\");return e}});var TY=ye((Ygr,G9e)=>{\"use strict\";var Qqt=fk(),eOt=hk(),V9e=R9e(),tOt=q9e(),rOt=U9e(),H9e=ux().iterator;G9e.exports=function(e){return typeof rOt(e)[H9e]==\"function\"?e[H9e]():Qqt(e)?new V9e(e):eOt(e)?new tOt(e):new V9e(e)}});var W9e=ye((Kgr,j9e)=>{\"use strict\";var iOt=fk(),nOt=lA(),aOt=hk(),oOt=TY(),sOt=Array.isArray,AY=Function.prototype.call,lOt=Array.prototype.some;j9e.exports=function(e,t){var r,n=arguments[2],i,a,o,s,l,u,c;if(sOt(e)||iOt(e)?r=\"array\":aOt(e)?r=\"string\":e=oOt(e),nOt(t),a=function(){o=!0},r===\"array\"){lOt.call(e,function(f){return AY.call(t,n,f,a),o});return}if(r===\"string\"){for(l=e.length,s=0;s<l&&(u=e[s],s+1<l&&(c=u.charCodeAt(0),c>=55296&&c<=56319&&(u+=e[++s])),AY.call(t,n,u,a),!o);++s);return}for(i=e.next();!i.done;){if(AY.call(t,n,i.value,a),o)return;i=e.next()}}});var X9e=ye((Jgr,Z9e)=>{\"use strict\";Z9e.exports=function(){return typeof WeakMap!=\"function\"?!1:Object.prototype.toString.call(new WeakMap)===\"[object WeakMap]\"}()});var J9e=ye(($gr,K9e)=>{\"use strict\";var uOt=lx(),fF=iF(),cF=AFe(),cOt=i1(),fOt=MFe(),a1=n1(),hOt=TY(),dOt=W9e(),vOt=ux().toStringTag,Y9e=X9e(),pOt=Array.isArray,MY=Object.defineProperty,SY=Object.prototype.hasOwnProperty,gOt=Object.getPrototypeOf,cx;K9e.exports=cx=function(){var e=arguments[0],t;if(!(this instanceof cx))throw new TypeError(\"Constructor requires 'new'\");return t=Y9e&&fF&&WeakMap!==cx?fF(new WeakMap,gOt(this)):this,uOt(e)&&(pOt(e)||(e=hOt(e))),MY(t,\"__weakMapData__\",a1(\"c\",\"$weakMap$\"+fOt())),e&&dOt(e,function(r){cOt(r),t.set(r[0],r[1])}),t};Y9e&&(fF&&fF(cx,WeakMap),cx.prototype=Object.create(WeakMap.prototype,{constructor:a1(cx)}));Object.defineProperties(cx.prototype,{delete:a1(function(e){return SY.call(cF(e),this.__weakMapData__)?(delete e[this.__weakMapData__],!0):!1}),get:a1(function(e){if(SY.call(cF(e),this.__weakMapData__))return e[this.__weakMapData__]}),has:a1(function(e){return SY.call(cF(e),this.__weakMapData__)}),set:a1(function(e,t){return MY(cF(e),this.__weakMapData__,a1(\"c\",t)),this}),toString:a1(function(){return\"[object WeakMap]\"})});MY(cx.prototype,vOt,a1(\"c\",\"WeakMap\"))});var EY=ye((Qgr,$9e)=>{\"use strict\";$9e.exports=fFe()()?WeakMap:J9e()});var eqe=ye((emr,Q9e)=>{\"use strict\";Q9e.exports=function(e,t,r){if(typeof Array.prototype.findIndex==\"function\")return e.findIndex(t,r);if(typeof t!=\"function\")throw new TypeError(\"predicate must be a function\");var n=Object(e),i=n.length;if(i===0)return-1;for(var a=0;a<i;a++)if(t.call(r,n[a],a,n))return a;return-1}});var LY=ye((tmr,iqe)=>{\"use strict\";var hF=$_(),mOt=j2(),CY=bh(),yOt=Zm(),_Ot=W2(),tqe=sFe(),xOt=uFe(),{float32:bOt,fract32:kY}=Xz(),wOt=EY(),rqe=Q5(),TOt=eqe(),AOt=`\n", - "precision highp float;\n", - "\n", - "attribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\n", - "attribute vec4 color;\n", - "attribute float lineEnd, lineTop;\n", - "\n", - "uniform vec2 scale, scaleFract, translate, translateFract;\n", - "uniform float thickness, pixelRatio, id, depth;\n", - "uniform vec4 viewport;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec2 tangent;\n", - "\n", - "vec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n", - "\t// the order is important\n", - "\treturn position * scale + translate\n", - " + positionFract * scale + translateFract\n", - " + position * scaleFract\n", - " + positionFract * scaleFract;\n", - "}\n", - "\n", - "void main() {\n", - "\tfloat lineStart = 1. - lineEnd;\n", - "\tfloat lineOffset = lineTop * 2. - 1.;\n", - "\n", - "\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n", - "\ttangent = normalize(diff * scale * viewport.zw);\n", - "\tvec2 normal = vec2(-tangent.y, tangent.x);\n", - "\n", - "\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\n", - "\t\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\n", - "\n", - "\t\t+ thickness * normal * .5 * lineOffset / viewport.zw;\n", - "\n", - "\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n", - "\n", - "\tfragColor = color / 255.;\n", - "}\n", - "`,SOt=`\n", - "precision highp float;\n", - "\n", - "uniform float dashLength, pixelRatio, thickness, opacity, id;\n", - "uniform sampler2D dashTexture;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec2 tangent;\n", - "\n", - "void main() {\n", - "\tfloat alpha = 1.;\n", - "\n", - "\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\n", - "\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\n", - "\n", - "\tgl_FragColor = fragColor;\n", - "\tgl_FragColor.a *= alpha * opacity * dash;\n", - "}\n", - "`,MOt=`\n", - "precision highp float;\n", - "\n", - "attribute vec2 position, positionFract;\n", - "\n", - "uniform vec4 color;\n", - "uniform vec2 scale, scaleFract, translate, translateFract;\n", - "uniform float pixelRatio, id;\n", - "uniform vec4 viewport;\n", - "uniform float opacity;\n", - "\n", - "varying vec4 fragColor;\n", - "\n", - "const float MAX_LINES = 256.;\n", - "\n", - "void 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", - "`,EOt=`\n", - "precision highp float;\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - "\tgl_FragColor = fragColor;\n", - "}\n", - "`,kOt=`\n", - "precision highp float;\n", - "\n", - "attribute vec2 aCoord, bCoord, nextCoord, prevCoord;\n", - "attribute vec4 aColor, bColor;\n", - "attribute float lineEnd, lineTop;\n", - "\n", - "uniform vec2 scale, translate;\n", - "uniform float thickness, pixelRatio, id, depth;\n", - "uniform vec4 viewport;\n", - "uniform float miterLimit, miterMode;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec4 startCutoff, endCutoff;\n", - "varying vec2 tangent;\n", - "varying vec2 startCoord, endCoord;\n", - "varying float enableStartMiter, enableEndMiter;\n", - "\n", - "const float REVERSE_THRESHOLD = -.875;\n", - "const float MIN_DIFF = 1e-6;\n", - "\n", - "// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\n", - "// TODO: precalculate dot products, normalize things beforehead etc.\n", - "// TODO: refactor to rectangular algorithm\n", - "\n", - "float 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", - "\n", - "bool isNaN( float val ){\n", - " return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\n", - "}\n", - "\n", - "void main() {\n", - "\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n", - "\n", - " vec2 adjustedScale;\n", - " adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x;\n", - " adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y;\n", - "\n", - " vec2 scaleRatio = adjustedScale * viewport.zw;\n", - "\tvec2 normalWidth = thickness / scaleRatio;\n", - "\n", - "\tfloat lineStart = 1. - lineEnd;\n", - "\tfloat lineBot = 1. - lineTop;\n", - "\n", - "\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\n", - "\n", - "\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\n", - "\n", - "\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\n", - "\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\n", - "\n", - "\n", - "\tvec2 prevDiff = aCoord - prevCoord;\n", - "\tvec2 currDiff = bCoord - aCoord;\n", - "\tvec2 nextDiff = nextCoord - bCoord;\n", - "\n", - "\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\n", - "\tvec2 currTangent = normalize(currDiff * scaleRatio);\n", - "\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\n", - "\n", - "\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\n", - "\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\n", - "\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\n", - "\n", - "\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\n", - "\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\n", - "\n", - "\t// collapsed/unidirectional segment cases\n", - "\t// FIXME: there should be more elegant solution\n", - "\tvec2 prevTanDiff = abs(prevTangent - currTangent);\n", - "\tvec2 nextTanDiff = abs(nextTangent - currTangent);\n", - "\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\n", - "\t\tstartJoinDirection = currNormal;\n", - "\t}\n", - "\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\n", - "\t\tendJoinDirection = currNormal;\n", - "\t}\n", - "\tif (aCoord == bCoord) {\n", - "\t\tendJoinDirection = startJoinDirection;\n", - "\t\tcurrNormal = prevNormal;\n", - "\t\tcurrTangent = prevTangent;\n", - "\t}\n", - "\n", - "\ttangent = currTangent;\n", - "\n", - "\t//calculate join shifts relative to normals\n", - "\tfloat startJoinShift = dot(currNormal, startJoinDirection);\n", - "\tfloat endJoinShift = dot(currNormal, endJoinDirection);\n", - "\n", - "\tfloat startMiterRatio = abs(1. / startJoinShift);\n", - "\tfloat endMiterRatio = abs(1. / endJoinShift);\n", - "\n", - "\tvec2 startJoin = startJoinDirection * startMiterRatio;\n", - "\tvec2 endJoin = endJoinDirection * endMiterRatio;\n", - "\n", - "\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\n", - "\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\n", - "\tstartBotJoin = -startTopJoin;\n", - "\n", - "\tendTopJoin = sign(endJoinShift) * endJoin * .5;\n", - "\tendBotJoin = -endTopJoin;\n", - "\n", - "\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\n", - "\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\n", - "\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\n", - "\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\n", - "\n", - "\t//miter anti-clipping\n", - "\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\n", - "\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\n", - "\n", - "\t//prevent close to reverse direction switch\n", - "\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) < length(normalWidth * currNormal);\n", - "\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) < length(normalWidth * currNormal);\n", - "\n", - "\tif (prevReverse) {\n", - "\t\t//make join rectangular\n", - "\t\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\n", - "\t\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\n", - "\t\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n", - "\t\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n", - "\t}\n", - "\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\n", - "\t\t//handle miter clipping\n", - "\t\tbTopCoord -= normalWidth * endTopJoin;\n", - "\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n", - "\t}\n", - "\n", - "\tif (nextReverse) {\n", - "\t\t//make join rectangular\n", - "\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n", - "\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n", - "\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n", - "\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n", - "\t}\n", - "\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n", - "\t\t//handle miter clipping\n", - "\t\taBotCoord -= normalWidth * startBotJoin;\n", - "\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n", - "\t}\n", - "\n", - "\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n", - "\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n", - "\n", - "\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n", - "\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n", - "\n", - "\t//position is normalized 0..1 coord on the screen\n", - "\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n", - "\n", - "\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n", - "\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n", - "\n", - "\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n", - "\n", - "\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n", - "\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n", - "\n", - "\t//bevel miter cutoffs\n", - "\tif (miterMode == 1.) {\n", - "\t\tif (enableStartMiter == 1.) {\n", - "\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n", - "\t\t\tstartCutoff = vec4(aCoord, aCoord);\n", - "\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n", - "\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", - "\t\t\tstartCutoff += viewport.xyxy;\n", - "\t\t\tstartCutoff += startMiterWidth.xyxy;\n", - "\t\t}\n", - "\n", - "\t\tif (enableEndMiter == 1.) {\n", - "\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n", - "\t\t\tendCutoff = vec4(bCoord, bCoord);\n", - "\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n", - "\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", - "\t\t\tendCutoff += viewport.xyxy;\n", - "\t\t\tendCutoff += endMiterWidth.xyxy;\n", - "\t\t}\n", - "\t}\n", - "\n", - "\t//round miter cutoffs\n", - "\telse if (miterMode == 2.) {\n", - "\t\tif (enableStartMiter == 1.) {\n", - "\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n", - "\t\t\tstartCutoff = vec4(aCoord, aCoord);\n", - "\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n", - "\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", - "\t\t\tstartCutoff += viewport.xyxy;\n", - "\t\t\tstartCutoff += startMiterWidth.xyxy;\n", - "\t\t}\n", - "\n", - "\t\tif (enableEndMiter == 1.) {\n", - "\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n", - "\t\t\tendCutoff = vec4(bCoord, bCoord);\n", - "\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n", - "\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", - "\t\t\tendCutoff += viewport.xyxy;\n", - "\t\t\tendCutoff += endMiterWidth.xyxy;\n", - "\t\t}\n", - "\t}\n", - "}\n", - "`,COt=`\n", - "precision highp float;\n", - "\n", - "uniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\n", - "uniform sampler2D dashTexture;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec2 tangent;\n", - "varying vec4 startCutoff, endCutoff;\n", - "varying vec2 startCoord, endCoord;\n", - "varying float enableStartMiter, enableEndMiter;\n", - "\n", - "float 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", - "\n", - "void 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", - "`;iqe.exports=uc;function uc(e,t){if(!(this instanceof uc))return new uc(e,t);if(typeof e==\"function\"?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),e=t.regl,!e.hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");this.gl=e._gl,this.regl=e,this.passes=[],this.shaders=uc.shaders.has(e)?uc.shaders.get(e):uc.shaders.set(e,uc.createShaders(e)).get(e),this.update(t)}uc.dashMult=2;uc.maxPatternLength=256;uc.precisionThreshold=3e6;uc.maxPoints=1e4;uc.maxLines=2048;uc.shaders=new wOt;uc.createShaders=function(e){let t=e.buffer({usage:\"static\",type:\"float\",data:[0,1,0,0,1,1,1,0]}),r={primitive:\"triangle strip\",instances:e.prop(\"count\"),count:4,offset:0,uniforms:{miterMode:(o,s)=>s.join===\"round\"?2:1,miterLimit:e.prop(\"miterLimit\"),scale:e.prop(\"scale\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),translate:e.prop(\"translate\"),thickness:e.prop(\"thickness\"),dashTexture:e.prop(\"dashTexture\"),opacity:e.prop(\"opacity\"),pixelRatio:e.context(\"pixelRatio\"),id:e.prop(\"id\"),dashLength:e.prop(\"dashLength\"),viewport:(o,s)=>[s.viewport.x,s.viewport.y,o.viewportWidth,o.viewportHeight],depth:e.prop(\"depth\")},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:(o,s)=>!s.overlay},stencil:{enable:!1},scissor:{enable:!0,box:e.prop(\"viewport\")},viewport:e.prop(\"viewport\")},n=e(CY({vert:AOt,frag:SOt,attributes:{lineEnd:{buffer:t,divisor:0,stride:8,offset:0},lineTop:{buffer:t,divisor:0,stride:8,offset:4},aCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:16,divisor:1},color:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1}}},r)),i;try{i=e(CY({cull:{enable:!0,face:\"back\"},vert:kOt,frag:COt,attributes:{lineEnd:{buffer:t,divisor:0,stride:8,offset:0},lineTop:{buffer:t,divisor:0,stride:8,offset:4},aColor:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1},bColor:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:4,divisor:1},prevCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:0,divisor:1},aCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},nextCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:24,divisor:1}}},r))}catch(o){i=n}return{fill:e({primitive:\"triangle\",elements:(o,s)=>s.triangles,offset:0,vert:MOt,frag:EOt,uniforms:{scale:e.prop(\"scale\"),color:e.prop(\"fill\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),translate:e.prop(\"translate\"),opacity:e.prop(\"opacity\"),pixelRatio:e.context(\"pixelRatio\"),id:e.prop(\"id\"),viewport:(o,s)=>[s.viewport.x,s.viewport.y,o.viewportWidth,o.viewportHeight]},attributes:{position:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8},positionFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:8}},blend:r.blend,depth:{enable:!1},scissor:r.scissor,stencil:r.stencil,viewport:r.viewport}),rect:n,miter:i}};uc.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};uc.prototype.render=function(...e){e.length&&this.update(...e),this.draw()};uc.prototype.draw=function(...e){return(e.length?e:this.passes).forEach((t,r)=>{if(t&&Array.isArray(t))return this.draw(...t);typeof t==\"number\"&&(t=this.passes[t]),t&&t.count>1&&t.opacity&&(this.regl._refresh(),t.fill&&t.triangles&&t.triangles.length>2&&this.shaders.fill(t),t.thickness&&(t.scale[0]*t.viewport.width>uc.precisionThreshold||t.scale[1]*t.viewport.height>uc.precisionThreshold?this.shaders.rect(t):t.join===\"rect\"||!t.join&&(t.thickness<=2||t.count>=uc.maxPoints)?this.shaders.rect(t):this.shaders.miter(t)))}),this};uc.prototype.update=function(e){if(!e)return;e.length!=null?typeof e[0]==\"number\"&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);let{regl:t,gl:r}=this;if(e.forEach((i,a)=>{let o=this.passes[a];if(i!==void 0){if(i===null){this.passes[a]=null;return}if(typeof i[0]==\"number\"&&(i={positions:i}),i=yOt(i,{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\"}),o||(this.passes[a]=o={id:a,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:t.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:\"linear\",min:\"linear\"}),colorBuffer:t.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array}),positionBuffer:t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),positionFractBuffer:t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array})},i=CY({},uc.defaults,i)),i.thickness!=null&&(o.thickness=parseFloat(i.thickness)),i.opacity!=null&&(o.opacity=parseFloat(i.opacity)),i.miterLimit!=null&&(o.miterLimit=parseFloat(i.miterLimit)),i.overlay!=null&&(o.overlay=!!i.overlay,a<uc.maxLines&&(o.depth=2*(uc.maxLines-1-a%uc.maxLines)/uc.maxLines-1)),i.join!=null&&(o.join=i.join),i.hole!=null&&(o.hole=i.hole),i.fill!=null&&(o.fill=i.fill?hF(i.fill,\"uint8\"):null),i.viewport!=null&&(o.viewport=rqe(i.viewport)),o.viewport||(o.viewport=rqe([r.drawingBufferWidth,r.drawingBufferHeight])),i.close!=null&&(o.close=i.close),i.positions===null&&(i.positions=[]),i.positions){let u,c;if(i.positions.x&&i.positions.y){let v=i.positions.x,x=i.positions.y;c=o.count=Math.max(v.length,x.length),u=new Float64Array(c*2);for(let b=0;b<c;b++)u[b*2]=v[b],u[b*2+1]=x[b]}else u=_Ot(i.positions,\"float64\"),c=o.count=Math.floor(u.length/2);let f=o.bounds=mOt(u,2);if(o.fill){let v=[],x={},b=0;for(let p=0,E=0,k=o.count;p<k;p++){let A=u[p*2],L=u[p*2+1];isNaN(A)||isNaN(L)||A==null||L==null?(A=u[b*2],L=u[b*2+1],x[p]=b):b=p,v[E++]=A,v[E++]=L}if(i.splitNull){o.count-1 in x||(x[o.count]=o.count-1);let p=Object.keys(x).map(Number).sort((L,_)=>L-_),E=[],k=0,A=o.hole!=null?o.hole[0]:null;if(A!=null){let L=TOt(p,_=>_>=A);p=p.slice(0,L),p.push(A)}for(let L=0;L<p.length;L++){let _=v.slice(k*2,p[L]*2).concat(A?v.slice(A*2):[]),C=(o.hole||[]).map(g=>g-A+(p[L]-k)),M=tqe(_,C);M=M.map(g=>g+k+(g+k<p[L]?0:A-p[L])),E.push(...M),k=p[L]+1}for(let L=0,_=E.length;L<_;L++)x[E[L]]!=null&&(E[L]=x[E[L]]);o.triangles=E}else{let p=tqe(v,o.hole||[]);for(let E=0,k=p.length;E<k;E++)x[p[E]]!=null&&(p[E]=x[p[E]]);o.triangles=p}}let h=new Float64Array(u);xOt(h,2,f);let d=new Float64Array(c*2+6);o.close?u[0]===u[c*2-2]&&u[1]===u[c*2-1]?(d[0]=h[c*2-4],d[1]=h[c*2-3]):(d[0]=h[c*2-2],d[1]=h[c*2-1]):(d[0]=h[0],d[1]=h[1]),d.set(h,2),o.close?u[0]===u[c*2-2]&&u[1]===u[c*2-1]?(d[c*2+2]=h[2],d[c*2+3]=h[3],o.count-=1):(d[c*2+2]=h[0],d[c*2+3]=h[1],d[c*2+4]=h[2],d[c*2+5]=h[3]):(d[c*2+2]=h[c*2-2],d[c*2+3]=h[c*2-1],d[c*2+4]=h[c*2-2],d[c*2+5]=h[c*2-1]);var s=bOt(d);o.positionBuffer(s);var l=kY(d,s);o.positionFractBuffer(l)}if(i.range?o.range=i.range:o.range||(o.range=o.bounds),(i.range||i.positions)&&o.count){let u=o.bounds,c=u[2]-u[0],f=u[3]-u[1],h=o.range[2]-o.range[0],d=o.range[3]-o.range[1];o.scale=[c/h,f/d],o.translate=[-o.range[0]/h+u[0]/h||0,-o.range[1]/d+u[1]/d||0],o.scaleFract=kY(o.scale),o.translateFract=kY(o.translate)}if(i.dashes){let u=0,c;if(!i.dashes||i.dashes.length<2)u=1,c=new Uint8Array([255,255,255,255,255,255,255,255]);else{u=0;for(let d=0;d<i.dashes.length;++d)u+=i.dashes[d];c=new Uint8Array(u*uc.dashMult);let f=0,h=255;for(let d=0;d<2;d++)for(let v=0;v<i.dashes.length;++v){for(let x=0,b=i.dashes[v]*uc.dashMult*.5;x<b;++x)c[f++]=h;h^=255}}o.dashLength=u,o.dashTexture({channels:1,data:c,width:c.length,height:1,mag:\"linear\",min:\"linear\"},0,0)}if(i.color){let u=o.count,c=i.color;c||(c=\"transparent\");let f=new Uint8Array(u*4+4);if(!Array.isArray(c)||typeof c[0]==\"number\"){let h=hF(c,\"uint8\");for(let d=0;d<u+1;d++)f.set(h,d*4)}else{for(let h=0;h<u;h++){let d=hF(c[h],\"uint8\");f.set(d,h*4)}f.set(hF(c[0],\"uint8\"),u*4)}o.colorBuffer({usage:\"dynamic\",type:\"uint8\",data:f})}}}),e.length<this.passes.length){for(let i=e.length;i<this.passes.length;i++){let a=this.passes[i];a&&(a.colorBuffer.destroy(),a.positionBuffer.destroy(),a.dashTexture.destroy())}this.passes.length=e.length}let n=[];for(let i=0;i<this.passes.length;i++)this.passes[i]!==null&&n.push(this.passes[i]);return this.passes=n,this};uc.prototype.destroy=function(){return this.passes.forEach(e=>{e.colorBuffer.destroy(),e.positionBuffer.destroy(),e.dashTexture.destroy()}),this.passes.length=0,this}});var lqe=ye((rmr,sqe)=>{\"use strict\";var LOt=j2(),POt=$_(),IOt=JX(),ROt=Zm(),nqe=bh(),aqe=W2(),{float32:DOt,fract32:PY}=Xz();sqe.exports=zOt;var oqe=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]];function zOt(e,t){if(typeof e==\"function\"?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),e=t.regl,!e.hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");let r=e._gl,n,i,a,o,s,l,u={color:\"black\",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},c=[];return o=e.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array(0)}),i=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),a=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),s=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),l=e.buffer({usage:\"static\",type:\"float\",data:oqe}),v(t),n=e({vert:`\n", - "\t\tprecision highp float;\n", - "\n", - "\t\tattribute vec2 position, positionFract;\n", - "\t\tattribute vec4 error;\n", - "\t\tattribute vec4 color;\n", - "\n", - "\t\tattribute vec2 direction, lineOffset, capOffset;\n", - "\n", - "\t\tuniform vec4 viewport;\n", - "\t\tuniform float lineWidth, capSize;\n", - "\t\tuniform vec2 scale, scaleFract, translate, translateFract;\n", - "\n", - "\t\tvarying vec4 fragColor;\n", - "\n", - "\t\tvoid main() {\n", - "\t\t\tfragColor = color / 255.;\n", - "\n", - "\t\t\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\n", - "\n", - "\t\t\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\n", - "\n", - "\t\t\tvec2 position = position + dxy;\n", - "\n", - "\t\t\tvec2 pos = (position + translate) * scale\n", - "\t\t\t\t+ (positionFract + translateFract) * scale\n", - "\t\t\t\t+ (position + translate) * scaleFract\n", - "\t\t\t\t+ (positionFract + translateFract) * scaleFract;\n", - "\n", - "\t\t\tpos += pixelOffset / viewport.zw;\n", - "\n", - "\t\t\tgl_Position = vec4(pos * 2. - 1., 0, 1);\n", - "\t\t}\n", - "\t\t`,frag:`\n", - "\t\tprecision highp float;\n", - "\n", - "\t\tvarying vec4 fragColor;\n", - "\n", - "\t\tuniform float opacity;\n", - "\n", - "\t\tvoid main() {\n", - "\t\t\tgl_FragColor = fragColor;\n", - "\t\t\tgl_FragColor.a *= opacity;\n", - "\t\t}\n", - "\t\t`,uniforms:{range:e.prop(\"range\"),lineWidth:e.prop(\"lineWidth\"),capSize:e.prop(\"capSize\"),opacity:e.prop(\"opacity\"),scale:e.prop(\"scale\"),translate:e.prop(\"translate\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),viewport:(b,p)=>[p.viewport.x,p.viewport.y,b.viewportWidth,b.viewportHeight]},attributes:{color:{buffer:o,offset:(b,p)=>p.offset*4,divisor:1},position:{buffer:i,offset:(b,p)=>p.offset*8,divisor:1},positionFract:{buffer:a,offset:(b,p)=>p.offset*8,divisor:1},error:{buffer:s,offset:(b,p)=>p.offset*16,divisor:1},direction:{buffer:l,stride:24,offset:0},lineOffset:{buffer:l,stride:24,offset:8},capOffset:{buffer:l,stride:24,offset:16}},primitive:\"triangles\",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:!1},scissor:{enable:!0,box:e.prop(\"viewport\")},viewport:e.prop(\"viewport\"),stencil:!1,instances:e.prop(\"count\"),count:oqe.length}),nqe(f,{update:v,draw:h,destroy:x,regl:e,gl:r,canvas:r.canvas,groups:c}),f;function f(b){b?v(b):b===null&&x(),h()}function h(b){if(typeof b==\"number\")return d(b);b&&!Array.isArray(b)&&(b=[b]),e._refresh(),c.forEach((p,E)=>{if(p){if(b&&(b[E]?p.draw=!0:p.draw=!1),!p.draw){p.draw=!0;return}d(E)}})}function d(b){typeof b==\"number\"&&(b=c[b]),b!=null&&b&&b.count&&b.color&&b.opacity&&b.positions&&b.positions.length>1&&(b.scaleRatio=[b.scale[0]*b.viewport.width,b.scale[1]*b.viewport.height],n(b),b.after&&b.after(b))}function v(b){if(!b)return;b.length!=null?typeof b[0]==\"number\"&&(b=[{positions:b}]):Array.isArray(b)||(b=[b]);let p=0,E=0;if(f.groups=c=b.map((L,_)=>{let C=c[_];if(L)typeof L==\"function\"?L={after:L}:typeof L[0]==\"number\"&&(L={positions:L});else return C;return L=ROt(L,{color:\"color colors fill\",capSize:\"capSize cap capsize cap-size\",lineWidth:\"lineWidth line-width width line thickness\",opacity:\"opacity alpha\",range:\"range dataBox\",viewport:\"viewport viewBox\",errors:\"errors error\",positions:\"positions position data points\"}),C||(c[_]=C={id:_,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},L=nqe({},u,L)),IOt(C,L,[{lineWidth:M=>+M*.5,capSize:M=>+M*.5,opacity:parseFloat,errors:M=>(M=aqe(M),E+=M.length,M),positions:(M,g)=>(M=aqe(M,\"float64\"),g.count=Math.floor(M.length/2),g.bounds=LOt(M,2),g.offset=p,p+=g.count,M)},{color:(M,g)=>{let P=g.count;if(M||(M=\"transparent\"),!Array.isArray(M)||typeof M[0]==\"number\"){let F=M;M=Array(P);for(let q=0;q<P;q++)M[q]=F}if(M.length<P)throw Error(\"Not enough colors\");let T=new Uint8Array(P*4);for(let F=0;F<P;F++){let q=POt(M[F],\"uint8\");T.set(q,F*4)}return T},range:(M,g,P)=>{let T=g.bounds;return M||(M=T),g.scale=[1/(M[2]-M[0]),1/(M[3]-M[1])],g.translate=[-M[0],-M[1]],g.scaleFract=PY(g.scale),g.translateFract=PY(g.translate),M},viewport:M=>{let g;return Array.isArray(M)?g={x:M[0],y:M[1],width:M[2]-M[0],height:M[3]-M[1]}:M?(g={x:M.x||M.left||0,y:M.y||M.top||0},M.right?g.width=M.right-g.x:g.width=M.w||M.width||0,M.bottom?g.height=M.bottom-g.y:g.height=M.h||M.height||0):g={x:0,y:0,width:r.drawingBufferWidth,height:r.drawingBufferHeight},g}}]),C}),p||E){let L=c.reduce((g,P,T)=>g+(P?P.count:0),0),_=new Float64Array(L*2),C=new Uint8Array(L*4),M=new Float32Array(L*4);c.forEach((g,P)=>{if(!g)return;let{positions:T,count:F,offset:q,color:V,errors:H}=g;F&&(C.set(V,q*4),M.set(H,q*4),_.set(T,q*2))});var k=DOt(_);i(k);var A=PY(_,k);a(A),o(C),s(M)}}function x(){i.destroy(),a.destroy(),o.destroy(),s.destroy(),l.destroy()}}});var fqe=ye((imr,cqe)=>{var uqe=/[\\'\\\"]/;cqe.exports=function(t){return t?(uqe.test(t.charAt(0))&&(t=t.substr(1)),uqe.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):\"\"}});var IY=ye(()=>{});var RY=ye(()=>{});var DY=ye(()=>{});var zY=ye(()=>{});var FY=ye(()=>{});var pqe=ye((vmr,vqe)=>{\"use strict\";function hqe(e,t){if(typeof e!=\"string\")return[e];var r=[e];typeof t==\"string\"||Array.isArray(t)?t={brackets:t}:t||(t={});var n=t.brackets?Array.isArray(t.brackets)?t.brackets:[t.brackets]:[\"{}\",\"[]\",\"()\"],i=t.escape||\"___\",a=!!t.flat;n.forEach(function(l){var u=new RegExp([\"\\\\\",l[0],\"[^\\\\\",l[0],\"\\\\\",l[1],\"]*\\\\\",l[1]].join(\"\")),c=[];function f(h,d,v){var x=r.push(h.slice(l[0].length,-l[1].length))-1;return c.push(x),i+x+i}r.forEach(function(h,d){for(var v,x=0;h!=v;)if(v=h,h=h.replace(u,f),x++>1e4)throw Error(\"References have circular dependency. Please, check them.\");r[d]=h}),c=c.reverse(),r=r.map(function(h){return c.forEach(function(d){h=h.replace(new RegExp(\"(\\\\\"+i+d+\"\\\\\"+i+\")\",\"g\"),l[0]+\"$1\"+l[1])}),h})});var o=new RegExp(\"\\\\\"+i+\"([0-9]+)\\\\\"+i);function s(l,u,c){for(var f=[],h,d=0;h=o.exec(l);){if(d++>1e4)throw Error(\"Circular references in parenthesis\");f.push(l.slice(0,h.index)),f.push(s(u[h[1]],u)),l=l.slice(h.index+h[0].length)}return f.push(l),f}return a?r:s(r[0],r)}function dqe(e,t){if(t&&t.flat){var r=t&&t.escape||\"___\",n=e[0],i;if(!n)return\"\";for(var a=new RegExp(\"\\\\\"+r+\"([0-9]+)\\\\\"+r),o=0;n!=i;){if(o++>1e4)throw Error(\"Circular references in \"+e);i=n,n=n.replace(a,s)}return n}return e.reduce(function l(u,c){return Array.isArray(c)&&(c=c.reduce(l,\"\")),u+c},\"\");function s(l,u){if(e[u]==null)throw Error(\"Reference \"+u+\"is undefined\");return e[u]}}function qY(e,t){return Array.isArray(e)?dqe(e,t):hqe(e,t)}qY.parse=hqe;qY.stringify=dqe;vqe.exports=qY});var yqe=ye((pmr,mqe)=>{\"use strict\";var gqe=pqe();mqe.exports=function(t,r,n){if(t==null)throw Error(\"First argument should be a string\");if(r==null)throw Error(\"Separator should be a string or a RegExp\");n?(typeof n==\"string\"||Array.isArray(n))&&(n={ignore:n}):n={},n.escape==null&&(n.escape=!0),n.ignore==null?n.ignore=[\"[]\",\"()\",\"{}\",\"<>\",'\"\"',\"''\",\"``\",\"\\u201C\\u201D\",\"\\xAB\\xBB\"]:(typeof n.ignore==\"string\"&&(n.ignore=[n.ignore]),n.ignore=n.ignore.map(function(f){return f.length===1&&(f=f+f),f}));var i=gqe.parse(t,{flat:!0,brackets:n.ignore}),a=i[0],o=a.split(r);if(n.escape){for(var s=[],l=0;l<o.length;l++){var u=o[l],c=o[l+1];u[u.length-1]===\"\\\\\"&&u[u.length-2]!==\"\\\\\"?(s.push(u+r+c),l++):s.push(u)}o=s}for(var l=0;l<o.length;l++)i[0]=o[l],o[l]=gqe.stringify(i,{flat:!0});return o}});var _qe=ye(()=>{});var OY=ye((ymr,xqe)=>{\"use strict\";var FOt=_qe();xqe.exports={isSize:function(t){return/^[\\d\\.]/.test(t)||t.indexOf(\"/\")!==-1||FOt.indexOf(t)!==-1}}});var Aqe=ye((_mr,Tqe)=>{\"use strict\";var qOt=fqe(),OOt=IY(),BOt=RY(),NOt=DY(),UOt=zY(),VOt=FY(),BY=yqe(),HOt=OY().isSize;Tqe.exports=wqe;var gk=wqe.cache={};function wqe(e){if(typeof e!=\"string\")throw new Error(\"Font argument must be a string.\");if(gk[e])return gk[e];if(e===\"\")throw new Error(\"Cannot parse an empty string.\");if(BOt.indexOf(e)!==-1)return gk[e]={system:e};for(var t={style:\"normal\",variant:\"normal\",weight:\"normal\",stretch:\"normal\",lineHeight:\"normal\",size:\"1rem\",family:[\"serif\"]},r=BY(e,/\\s+/),n;n=r.shift();){if(OOt.indexOf(n)!==-1)return[\"style\",\"variant\",\"weight\",\"stretch\"].forEach(function(a){t[a]=n}),gk[e]=t;if(UOt.indexOf(n)!==-1){t.style=n;continue}if(n===\"normal\"||n===\"small-caps\"){t.variant=n;continue}if(VOt.indexOf(n)!==-1){t.stretch=n;continue}if(NOt.indexOf(n)!==-1){t.weight=n;continue}if(HOt(n)){var i=BY(n,\"/\");if(t.size=i[0],i[1]!=null?t.lineHeight=bqe(i[1]):r[0]===\"/\"&&(r.shift(),t.lineHeight=bqe(r.shift())),!r.length)throw new Error(\"Missing required font-family.\");return t.family=BY(r.join(\" \"),/\\s*,\\s*/).map(qOt),gk[e]=t}throw new Error(\"Unknown or unsupported font token: \"+n)}throw new Error(\"Missing required font-size.\")}function bqe(e){var t=parseFloat(e);return t.toString()===e?t:e}});var UY=ye((xmr,Sqe)=>{\"use strict\";var GOt=Zm(),jOt=OY().isSize,WOt=yk(IY()),ZOt=yk(RY()),XOt=yk(DY()),YOt=yk(zY()),KOt=yk(FY()),JOt={normal:1,\"small-caps\":1},$Ot={serif:1,\"sans-serif\":1,monospace:1,cursive:1,fantasy:1,\"system-ui\":1},NY={style:\"normal\",variant:\"normal\",weight:\"normal\",stretch:\"normal\",size:\"1rem\",lineHeight:\"normal\",family:\"serif\"};Sqe.exports=function(t){if(t=GOt(t,{style:\"style fontstyle fontStyle font-style slope distinction\",variant:\"variant font-variant fontVariant fontvariant var capitalization\",weight:\"weight w font-weight fontWeight fontweight\",stretch:\"stretch font-stretch fontStretch fontstretch width\",size:\"size s font-size fontSize fontsize height em emSize\",lineHeight:\"lh line-height lineHeight lineheight leading\",family:\"font family fontFamily font-family fontfamily type typeface face\",system:\"system reserved default global\"}),t.system)return t.system&&mk(t.system,ZOt),t.system;if(mk(t.style,YOt),mk(t.variant,JOt),mk(t.weight,XOt),mk(t.stretch,KOt),t.size==null&&(t.size=NY.size),typeof t.size==\"number\"&&(t.size+=\"px\"),!jOt)throw Error(\"Bad size value `\"+t.size+\"`\");t.family||(t.family=NY.family),Array.isArray(t.family)&&(t.family.length||(t.family=[NY.family]),t.family=t.family.map(function(n){return $Ot[n]?n:'\"'+n+'\"'}).join(\", \"));var r=[];return r.push(t.style),t.variant!==t.style&&r.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&r.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&r.push(t.stretch),r.push(t.size+(t.lineHeight==null||t.lineHeight===\"normal\"||t.lineHeight+\"\"==\"1\"?\"\":\"/\"+t.lineHeight)),r.push(t.family),r.filter(Boolean).join(\" \")};function mk(e,t){if(e&&!t[e]&&!WOt[e])throw Error(\"Unknown keyword `\"+e+\"`\");return e}function yk(e){for(var t={},r=0;r<e.length;r++)t[e[r]]=1;return t}});var Eqe=ye((bmr,Mqe)=>{\"use strict\";Mqe.exports={parse:Aqe(),stringify:UY()}});var GY=ye((VY,HY)=>{(function(e,t){typeof VY==\"object\"&&typeof HY!=\"undefined\"?HY.exports=t():e.createREGL=t()})(VY,function(){\"use strict\";var e=function(At,Er){for(var Wr=Object.keys(Er),wi=0;wi<Wr.length;++wi)At[Wr[wi]]=Er[Wr[wi]];return At},t=0,r=0,n=5,i=6;function a(At,Er){this.id=t++,this.type=At,this.data=Er}function o(At){return At.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')}function s(At){if(At.length===0)return[];var Er=At.charAt(0),Wr=At.charAt(At.length-1);if(At.length>1&&Er===Wr&&(Er==='\"'||Er===\"'\"))return['\"'+o(At.substr(1,At.length-2))+'\"'];var wi=/\\[(false|true|null|\\d+|'[^']*'|\"[^\"]*\")\\]/.exec(At);if(wi)return s(At.substr(0,wi.index)).concat(s(wi[1])).concat(s(At.substr(wi.index+wi[0].length)));var Ui=At.split(\".\");if(Ui.length===1)return['\"'+o(At)+'\"'];for(var Oi=[],Bi=0;Bi<Ui.length;++Bi)Oi=Oi.concat(s(Ui[Bi]));return Oi}function l(At){return\"[\"+s(At).join(\"][\")+\"]\"}function u(At,Er){return new a(At,l(Er+\"\"))}function c(At){return typeof At==\"function\"&&!At._reglType||At instanceof a}function f(At,Er){if(typeof At==\"function\")return new a(r,At);if(typeof At==\"number\"||typeof At==\"boolean\")return new a(n,At);if(Array.isArray(At))return new a(i,At.map(function(Wr,wi){return f(Wr,Er+\"[\"+wi+\"]\")}));if(At instanceof a)return At}var h={DynamicVariable:a,define:u,isDynamic:c,unbox:f,accessor:l},d={next:typeof requestAnimationFrame==\"function\"?function(At){return requestAnimationFrame(At)}:function(At){return setTimeout(At,16)},cancel:typeof cancelAnimationFrame==\"function\"?function(At){return cancelAnimationFrame(At)}:clearTimeout},v=typeof performance!=\"undefined\"&&performance.now?function(){return performance.now()}:function(){return+new Date};function x(){var At={\"\":0},Er=[\"\"];return{id:function(Wr){var wi=At[Wr];return wi||(wi=At[Wr]=Er.length,Er.push(Wr),wi)},str:function(Wr){return Er[Wr]}}}function b(At,Er,Wr){var wi=document.createElement(\"canvas\");e(wi.style,{border:0,margin:0,padding:0,top:0,left:0,width:\"100%\",height:\"100%\"}),At.appendChild(wi),At===document.body&&(wi.style.position=\"absolute\",e(At.style,{margin:0,padding:0}));function Ui(){var cn=window.innerWidth,On=window.innerHeight;if(At!==document.body){var Bn=wi.getBoundingClientRect();cn=Bn.right-Bn.left,On=Bn.bottom-Bn.top}wi.width=Wr*cn,wi.height=Wr*On}var Oi;At!==document.body&&typeof ResizeObserver==\"function\"?(Oi=new ResizeObserver(function(){setTimeout(Ui)}),Oi.observe(At)):window.addEventListener(\"resize\",Ui,!1);function Bi(){Oi?Oi.disconnect():window.removeEventListener(\"resize\",Ui),At.removeChild(wi)}return Ui(),{canvas:wi,onDestroy:Bi}}function p(At,Er){function Wr(wi){try{return At.getContext(wi,Er)}catch(Ui){return null}}return Wr(\"webgl\")||Wr(\"experimental-webgl\")||Wr(\"webgl-experimental\")}function E(At){return typeof At.nodeName==\"string\"&&typeof At.appendChild==\"function\"&&typeof At.getBoundingClientRect==\"function\"}function k(At){return typeof At.drawArrays==\"function\"||typeof At.drawElements==\"function\"}function A(At){return typeof At==\"string\"?At.split():At}function L(At){return typeof At==\"string\"?document.querySelector(At):At}function _(At){var Er=At||{},Wr,wi,Ui,Oi,Bi={},cn=[],On=[],Bn=typeof window==\"undefined\"?1:window.devicePixelRatio,yn=!1,to={},Rn=function(Ai){},Dn=function(){};if(typeof Er==\"string\"?Wr=document.querySelector(Er):typeof Er==\"object\"&&(E(Er)?Wr=Er:k(Er)?(Oi=Er,Ui=Oi.canvas):(\"gl\"in Er?Oi=Er.gl:\"canvas\"in Er?Ui=L(Er.canvas):\"container\"in Er&&(wi=L(Er.container)),\"attributes\"in Er&&(Bi=Er.attributes),\"extensions\"in Er&&(cn=A(Er.extensions)),\"optionalExtensions\"in Er&&(On=A(Er.optionalExtensions)),\"onDone\"in Er&&(Rn=Er.onDone),\"profile\"in Er&&(yn=!!Er.profile),\"pixelRatio\"in Er&&(Bn=+Er.pixelRatio),\"cachedCode\"in Er&&(to=Er.cachedCode))),Wr&&(Wr.nodeName.toLowerCase()===\"canvas\"?Ui=Wr:wi=Wr),!Oi){if(!Ui){var fn=b(wi||document.body,Rn,Bn);if(!fn)return null;Ui=fn.canvas,Dn=fn.onDestroy}Bi.premultipliedAlpha===void 0&&(Bi.premultipliedAlpha=!0),Oi=p(Ui,Bi)}return Oi?{gl:Oi,canvas:Ui,container:wi,extensions:cn,optionalExtensions:On,pixelRatio:Bn,profile:yn,cachedCode:to,onDone:Rn,onDestroy:Dn}:(Dn(),Rn(\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\"),null)}function C(At,Er){var Wr={};function wi(Bi){var cn=Bi.toLowerCase(),On;try{On=Wr[cn]=At.getExtension(cn)}catch(Bn){}return!!On}for(var Ui=0;Ui<Er.extensions.length;++Ui){var Oi=Er.extensions[Ui];if(!wi(Oi))return Er.onDestroy(),Er.onDone('\"'+Oi+'\" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return Er.optionalExtensions.forEach(wi),{extensions:Wr,restore:function(){Object.keys(Wr).forEach(function(Bi){if(Wr[Bi]&&!wi(Bi))throw new Error(\"(regl): error restoring extension \"+Bi)})}}}function M(At,Er){for(var Wr=Array(At),wi=0;wi<At;++wi)Wr[wi]=Er(wi);return Wr}var g=5120,P=5121,T=5122,F=5123,q=5124,V=5125,H=5126;function X(At){for(var Er=16;Er<=1<<28;Er*=16)if(At<=Er)return Er;return 0}function G(At){var Er,Wr;return Er=(At>65535)<<4,At>>>=Er,Wr=(At>255)<<3,At>>>=Wr,Er|=Wr,Wr=(At>15)<<2,At>>>=Wr,Er|=Wr,Wr=(At>3)<<1,At>>>=Wr,Er|=Wr,Er|At>>1}function N(){var At=M(8,function(){return[]});function Er(Oi){var Bi=X(Oi),cn=At[G(Bi)>>2];return cn.length>0?cn.pop():new ArrayBuffer(Bi)}function Wr(Oi){At[G(Oi.byteLength)>>2].push(Oi)}function wi(Oi,Bi){var cn=null;switch(Oi){case g:cn=new Int8Array(Er(Bi),0,Bi);break;case P:cn=new Uint8Array(Er(Bi),0,Bi);break;case T:cn=new Int16Array(Er(2*Bi),0,Bi);break;case F:cn=new Uint16Array(Er(2*Bi),0,Bi);break;case q:cn=new Int32Array(Er(4*Bi),0,Bi);break;case V:cn=new Uint32Array(Er(4*Bi),0,Bi);break;case H:cn=new Float32Array(Er(4*Bi),0,Bi);break;default:return null}return cn.length!==Bi?cn.subarray(0,Bi):cn}function Ui(Oi){Wr(Oi.buffer)}return{alloc:Er,free:Wr,allocType:wi,freeType:Ui}}var W=N();W.zero=N();var re=3408,ae=3410,_e=3411,Me=3412,ke=3413,ge=3414,ie=3415,Te=33901,Ee=33902,Ae=3379,ze=3386,Ce=34921,me=36347,Re=36348,ce=35661,Ge=35660,nt=34930,ct=36349,qt=34076,rt=34024,ot=7936,Rt=7937,kt=7938,Ct=35724,Yt=34047,xr=36063,er=34852,Ke=3553,xt=34067,bt=34069,Lt=33984,St=6408,Et=5126,dt=5121,Ht=36160,$t=36053,fr=36064,_r=16384,Br=function(At,Er){var Wr=1;Er.ext_texture_filter_anisotropic&&(Wr=At.getParameter(Yt));var wi=1,Ui=1;Er.webgl_draw_buffers&&(wi=At.getParameter(er),Ui=At.getParameter(xr));var Oi=!!Er.oes_texture_float;if(Oi){var Bi=At.createTexture();At.bindTexture(Ke,Bi),At.texImage2D(Ke,0,St,1,1,0,St,Et,null);var cn=At.createFramebuffer();if(At.bindFramebuffer(Ht,cn),At.framebufferTexture2D(Ht,fr,Ke,Bi,0),At.bindTexture(Ke,null),At.checkFramebufferStatus(Ht)!==$t)Oi=!1;else{At.viewport(0,0,1,1),At.clearColor(1,0,0,1),At.clear(_r);var On=W.allocType(Et,4);At.readPixels(0,0,1,1,St,Et,On),At.getError()?Oi=!1:(At.deleteFramebuffer(cn),At.deleteTexture(Bi),Oi=On[0]===1),W.freeType(On)}}var Bn=typeof navigator!=\"undefined\"&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),yn=!0;if(!Bn){var to=At.createTexture(),Rn=W.allocType(dt,36);At.activeTexture(Lt),At.bindTexture(xt,to),At.texImage2D(bt,0,St,3,3,0,St,dt,Rn),W.freeType(Rn),At.bindTexture(xt,null),At.deleteTexture(to),yn=!At.getError()}return{colorBits:[At.getParameter(ae),At.getParameter(_e),At.getParameter(Me),At.getParameter(ke)],depthBits:At.getParameter(ge),stencilBits:At.getParameter(ie),subpixelBits:At.getParameter(re),extensions:Object.keys(Er).filter(function(Dn){return!!Er[Dn]}),maxAnisotropic:Wr,maxDrawbuffers:wi,maxColorAttachments:Ui,pointSizeDims:At.getParameter(Te),lineWidthDims:At.getParameter(Ee),maxViewportDims:At.getParameter(ze),maxCombinedTextureUnits:At.getParameter(ce),maxCubeMapSize:At.getParameter(qt),maxRenderbufferSize:At.getParameter(rt),maxTextureUnits:At.getParameter(nt),maxTextureSize:At.getParameter(Ae),maxAttributes:At.getParameter(Ce),maxVertexUniforms:At.getParameter(me),maxVertexTextureUnits:At.getParameter(Ge),maxVaryingVectors:At.getParameter(Re),maxFragmentUniforms:At.getParameter(ct),glsl:At.getParameter(Ct),renderer:At.getParameter(Rt),vendor:At.getParameter(ot),version:At.getParameter(kt),readFloat:Oi,npotTextureCube:yn}},Or=function(At){return At instanceof Uint8Array||At instanceof Uint16Array||At instanceof Uint32Array||At instanceof Int8Array||At instanceof Int16Array||At instanceof Int32Array||At instanceof Float32Array||At instanceof Float64Array||At instanceof Uint8ClampedArray};function Nr(At){return!!At&&typeof At==\"object\"&&Array.isArray(At.shape)&&Array.isArray(At.stride)&&typeof At.offset==\"number\"&&At.shape.length===At.stride.length&&(Array.isArray(At.data)||Or(At.data))}var ut=function(At){return Object.keys(At).map(function(Er){return At[Er]})},Ne={shape:xe,flatten:Le};function Ye(At,Er,Wr){for(var wi=0;wi<Er;++wi)Wr[wi]=At[wi]}function Ve(At,Er,Wr,wi){for(var Ui=0,Oi=0;Oi<Er;++Oi)for(var Bi=At[Oi],cn=0;cn<Wr;++cn)wi[Ui++]=Bi[cn]}function Xe(At,Er,Wr,wi,Ui,Oi){for(var Bi=Oi,cn=0;cn<Er;++cn)for(var On=At[cn],Bn=0;Bn<Wr;++Bn)for(var yn=On[Bn],to=0;to<wi;++to)Ui[Bi++]=yn[to]}function ht(At,Er,Wr,wi,Ui){for(var Oi=1,Bi=Wr+1;Bi<Er.length;++Bi)Oi*=Er[Bi];var cn=Er[Wr];if(Er.length-Wr===4){var On=Er[Wr+1],Bn=Er[Wr+2],yn=Er[Wr+3];for(Bi=0;Bi<cn;++Bi)Xe(At[Bi],On,Bn,yn,wi,Ui),Ui+=Oi}else for(Bi=0;Bi<cn;++Bi)ht(At[Bi],Er,Wr+1,wi,Ui),Ui+=Oi}function Le(At,Er,Wr,wi){var Ui=1;if(Er.length)for(var Oi=0;Oi<Er.length;++Oi)Ui*=Er[Oi];else Ui=0;var Bi=wi||W.allocType(Wr,Ui);switch(Er.length){case 0:break;case 1:Ye(At,Er[0],Bi);break;case 2:Ve(At,Er[0],Er[1],Bi);break;case 3:Xe(At,Er[0],Er[1],Er[2],Bi,0);break;default:ht(At,Er,0,Bi,0)}return Bi}function xe(At){for(var Er=[],Wr=At;Wr.length;Wr=Wr[0])Er.push(Wr.length);return Er}var Se={\"[object Int8Array]\":5120,\"[object Int16Array]\":5122,\"[object Int32Array]\":5124,\"[object Uint8Array]\":5121,\"[object Uint8ClampedArray]\":5121,\"[object Uint16Array]\":5123,\"[object Uint32Array]\":5125,\"[object Float32Array]\":5126,\"[object Float64Array]\":5121,\"[object ArrayBuffer]\":5121},lt=5120,Gt=5122,Vt=5124,ar=5121,Qr=5123,ai=5125,jr=5126,ri=5126,bi={int8:lt,int16:Gt,int32:Vt,uint8:ar,uint16:Qr,uint32:ai,float:jr,float32:ri},nn=35048,Wi=35040,Ni={dynamic:nn,stream:Wi,static:35044},_n=Ne.flatten,$i=Ne.shape,zn=35044,Wn=35040,It=5121,ft=5126,jt=[];jt[5120]=1,jt[5122]=2,jt[5124]=4,jt[5121]=1,jt[5123]=2,jt[5125]=4,jt[5126]=4;function Zt(At){return Se[Object.prototype.toString.call(At)]|0}function yr(At,Er){for(var Wr=0;Wr<Er.length;++Wr)At[Wr]=Er[Wr]}function Fr(At,Er,Wr,wi,Ui,Oi,Bi){for(var cn=0,On=0;On<Wr;++On)for(var Bn=0;Bn<wi;++Bn)At[cn++]=Er[Ui*On+Oi*Bn+Bi]}function Zr(At,Er,Wr,wi){var Ui=0,Oi={};function Bi(Ai){this.id=Ui++,this.buffer=At.createBuffer(),this.type=Ai,this.usage=zn,this.byteLength=0,this.dimension=1,this.dtype=It,this.persistentData=null,Wr.profile&&(this.stats={size:0})}Bi.prototype.bind=function(){At.bindBuffer(this.type,this.buffer)},Bi.prototype.destroy=function(){Rn(this)};var cn=[];function On(Ai,ji){var Ln=cn.pop();return Ln||(Ln=new Bi(Ai)),Ln.bind(),to(Ln,ji,Wn,0,1,!1),Ln}function Bn(Ai){cn.push(Ai)}function yn(Ai,ji,Ln){Ai.byteLength=ji.byteLength,At.bufferData(Ai.type,ji,Ln)}function to(Ai,ji,Ln,Un,gn,ca){var Kn;if(Ai.usage=Ln,Array.isArray(ji)){if(Ai.dtype=Un||ft,ji.length>0){var Za;if(Array.isArray(ji[0])){Kn=$i(ji);for(var wn=1,vn=1;vn<Kn.length;++vn)wn*=Kn[vn];Ai.dimension=wn,Za=_n(ji,Kn,Ai.dtype),yn(Ai,Za,Ln),ca?Ai.persistentData=Za:W.freeType(Za)}else if(typeof ji[0]==\"number\"){Ai.dimension=gn;var Aa=W.allocType(Ai.dtype,ji.length);yr(Aa,ji),yn(Ai,Aa,Ln),ca?Ai.persistentData=Aa:W.freeType(Aa)}else Or(ji[0])&&(Ai.dimension=ji[0].length,Ai.dtype=Un||Zt(ji[0])||ft,Za=_n(ji,[ji.length,ji[0].length],Ai.dtype),yn(Ai,Za,Ln),ca?Ai.persistentData=Za:W.freeType(Za))}}else if(Or(ji))Ai.dtype=Un||Zt(ji),Ai.dimension=gn,yn(Ai,ji,Ln),ca&&(Ai.persistentData=new Uint8Array(new Uint8Array(ji.buffer)));else if(Nr(ji)){Kn=ji.shape;var aa=ji.stride,Xn=ji.offset,Vn=0,ma=0,ro=0,Ao=0;Kn.length===1?(Vn=Kn[0],ma=1,ro=aa[0],Ao=0):Kn.length===2&&(Vn=Kn[0],ma=Kn[1],ro=aa[0],Ao=aa[1]),Ai.dtype=Un||Zt(ji.data)||ft,Ai.dimension=ma;var Jn=W.allocType(Ai.dtype,Vn*ma);Fr(Jn,ji.data,Vn,ma,ro,Ao,Xn),yn(Ai,Jn,Ln),ca?Ai.persistentData=Jn:W.freeType(Jn)}else ji instanceof ArrayBuffer&&(Ai.dtype=It,Ai.dimension=gn,yn(Ai,ji,Ln),ca&&(Ai.persistentData=new Uint8Array(new Uint8Array(ji))))}function Rn(Ai){Er.bufferCount--,wi(Ai);var ji=Ai.buffer;At.deleteBuffer(ji),Ai.buffer=null,delete Oi[Ai.id]}function Dn(Ai,ji,Ln,Un){Er.bufferCount++;var gn=new Bi(ji);Oi[gn.id]=gn;function ca(wn){var vn=zn,Aa=null,aa=0,Xn=0,Vn=1;return Array.isArray(wn)||Or(wn)||Nr(wn)||wn instanceof ArrayBuffer?Aa=wn:typeof wn==\"number\"?aa=wn|0:wn&&(\"data\"in wn&&(Aa=wn.data),\"usage\"in wn&&(vn=Ni[wn.usage]),\"type\"in wn&&(Xn=bi[wn.type]),\"dimension\"in wn&&(Vn=wn.dimension|0),\"length\"in wn&&(aa=wn.length|0)),gn.bind(),Aa?to(gn,Aa,vn,Xn,Vn,Un):(aa&&At.bufferData(gn.type,aa,vn),gn.dtype=Xn||It,gn.usage=vn,gn.dimension=Vn,gn.byteLength=aa),Wr.profile&&(gn.stats.size=gn.byteLength*jt[gn.dtype]),ca}function Kn(wn,vn){At.bufferSubData(gn.type,vn,wn)}function Za(wn,vn){var Aa=(vn||0)|0,aa;if(gn.bind(),Or(wn)||wn instanceof ArrayBuffer)Kn(wn,Aa);else if(Array.isArray(wn)){if(wn.length>0){if(typeof wn[0]==\"number\"){var Xn=W.allocType(gn.dtype,wn.length);yr(Xn,wn),Kn(Xn,Aa),W.freeType(Xn)}else if(Array.isArray(wn[0])||Or(wn[0])){aa=$i(wn);var Vn=_n(wn,aa,gn.dtype);Kn(Vn,Aa),W.freeType(Vn)}}}else if(Nr(wn)){aa=wn.shape;var ma=wn.stride,ro=0,Ao=0,Jn=0,Oa=0;aa.length===1?(ro=aa[0],Ao=1,Jn=ma[0],Oa=0):aa.length===2&&(ro=aa[0],Ao=aa[1],Jn=ma[0],Oa=ma[1]);var _o=Array.isArray(wn.data)?gn.dtype:Zt(wn.data),Po=W.allocType(_o,ro*Ao);Fr(Po,wn.data,ro,Ao,Jn,Oa,wn.offset),Kn(Po,Aa),W.freeType(Po)}return ca}return Ln||ca(Ai),ca._reglType=\"buffer\",ca._buffer=gn,ca.subdata=Za,Wr.profile&&(ca.stats=gn.stats),ca.destroy=function(){Rn(gn)},ca}function fn(){ut(Oi).forEach(function(Ai){Ai.buffer=At.createBuffer(),At.bindBuffer(Ai.type,Ai.buffer),At.bufferData(Ai.type,Ai.persistentData||Ai.byteLength,Ai.usage)})}return Wr.profile&&(Er.getTotalBufferSize=function(){var Ai=0;return Object.keys(Oi).forEach(function(ji){Ai+=Oi[ji].stats.size}),Ai}),{create:Dn,createStream:On,destroyStream:Bn,clear:function(){ut(Oi).forEach(Rn),cn.forEach(Rn)},getBuffer:function(Ai){return Ai&&Ai._buffer instanceof Bi?Ai._buffer:null},restore:fn,_initBuffer:to}}var Vr=0,gi=0,Si=1,Mi=1,Pi=4,Gi=4,Ki={points:Vr,point:gi,lines:Si,line:Mi,triangles:Pi,triangle:Gi,\"line loop\":2,\"line strip\":3,\"triangle strip\":5,\"triangle fan\":6},ka=0,jn=1,la=4,Fa=5120,Ra=5121,jo=5122,oa=5123,Sn=5124,Ha=5125,oo=34963,xn=35040,_t=35044;function br(At,Er,Wr,wi){var Ui={},Oi=0,Bi={uint8:Ra,uint16:oa};Er.oes_element_index_uint&&(Bi.uint32=Ha);function cn(fn){this.id=Oi++,Ui[this.id]=this,this.buffer=fn,this.primType=la,this.vertCount=0,this.type=0}cn.prototype.bind=function(){this.buffer.bind()};var On=[];function Bn(fn){var Ai=On.pop();return Ai||(Ai=new cn(Wr.create(null,oo,!0,!1)._buffer)),to(Ai,fn,xn,-1,-1,0,0),Ai}function yn(fn){On.push(fn)}function to(fn,Ai,ji,Ln,Un,gn,ca){fn.buffer.bind();var Kn;if(Ai){var Za=ca;!ca&&(!Or(Ai)||Nr(Ai)&&!Or(Ai.data))&&(Za=Er.oes_element_index_uint?Ha:oa),Wr._initBuffer(fn.buffer,Ai,ji,Za,3)}else At.bufferData(oo,gn,ji),fn.buffer.dtype=Kn||Ra,fn.buffer.usage=ji,fn.buffer.dimension=3,fn.buffer.byteLength=gn;if(Kn=ca,!ca){switch(fn.buffer.dtype){case Ra:case Fa:Kn=Ra;break;case oa:case jo:Kn=oa;break;case Ha:case Sn:Kn=Ha;break;default:}fn.buffer.dtype=Kn}fn.type=Kn;var wn=Un;wn<0&&(wn=fn.buffer.byteLength,Kn===oa?wn>>=1:Kn===Ha&&(wn>>=2)),fn.vertCount=wn;var vn=Ln;if(Ln<0){vn=la;var Aa=fn.buffer.dimension;Aa===1&&(vn=ka),Aa===2&&(vn=jn),Aa===3&&(vn=la)}fn.primType=vn}function Rn(fn){wi.elementsCount--,delete Ui[fn.id],fn.buffer.destroy(),fn.buffer=null}function Dn(fn,Ai){var ji=Wr.create(null,oo,!0),Ln=new cn(ji._buffer);wi.elementsCount++;function Un(gn){if(!gn)ji(),Ln.primType=la,Ln.vertCount=0,Ln.type=Ra;else if(typeof gn==\"number\")ji(gn),Ln.primType=la,Ln.vertCount=gn|0,Ln.type=Ra;else{var ca=null,Kn=_t,Za=-1,wn=-1,vn=0,Aa=0;Array.isArray(gn)||Or(gn)||Nr(gn)?ca=gn:(\"data\"in gn&&(ca=gn.data),\"usage\"in gn&&(Kn=Ni[gn.usage]),\"primitive\"in gn&&(Za=Ki[gn.primitive]),\"count\"in gn&&(wn=gn.count|0),\"type\"in gn&&(Aa=Bi[gn.type]),\"length\"in gn?vn=gn.length|0:(vn=wn,Aa===oa||Aa===jo?vn*=2:(Aa===Ha||Aa===Sn)&&(vn*=4))),to(Ln,ca,Kn,Za,wn,vn,Aa)}return Un}return Un(fn),Un._reglType=\"elements\",Un._elements=Ln,Un.subdata=function(gn,ca){return ji.subdata(gn,ca),Un},Un.destroy=function(){Rn(Ln)},Un}return{create:Dn,createStream:Bn,destroyStream:yn,getElements:function(fn){return typeof fn==\"function\"&&fn._elements instanceof cn?fn._elements:null},clear:function(){ut(Ui).forEach(Rn)}}}var Hr=new Float32Array(1),ti=new Uint32Array(Hr.buffer),zi=5123;function Yi(At){for(var Er=W.allocType(zi,At.length),Wr=0;Wr<At.length;++Wr)if(isNaN(At[Wr]))Er[Wr]=65535;else if(At[Wr]===1/0)Er[Wr]=31744;else if(At[Wr]===-1/0)Er[Wr]=64512;else{Hr[0]=At[Wr];var wi=ti[0],Ui=wi>>>31<<15,Oi=(wi<<1>>>24)-127,Bi=wi>>13&1023;if(Oi<-24)Er[Wr]=Ui;else if(Oi<-14){var cn=-14-Oi;Er[Wr]=Ui+(Bi+1024>>cn)}else Oi>15?Er[Wr]=Ui+31744:Er[Wr]=Ui+(Oi+15<<10)+Bi}return Er}function an(At){return Array.isArray(At)||Or(At)}var hi=34467,Ji=3553,ua=34067,Fn=34069,Sa=6408,go=6406,Oo=6407,ho=6409,Mo=6410,xo=32854,zs=32855,ks=36194,Zs=32819,Xs=32820,wl=33635,os=34042,cl=6402,Cs=34041,ml=35904,Ys=35906,Hs=36193,Eo=33776,fs=33777,Ql=33778,Hu=33779,fc=35986,ms=35987,on=34798,fa=35840,Qu=35841,Rl=35842,vo=35843,Zl=36196,Ks=5121,Xl=5123,Ec=5125,Zn=5126,ko=10242,Co=10243,Tl=10497,uf=33071,So=33648,cf=10240,rh=10241,Al=9728,Hc=9729,eu=9984,Ls=9985,mu=9986,kc=9987,Of=33170,Gc=4352,vd=4353,Bf=4354,ss=34046,ff=3317,ih=37440,Vl=37441,Js=37443,hc=37444,Cc=33984,ws=[eu,mu,Ls,kc],$s=[0,ho,Mo,Oo,Sa],hs={};hs[ho]=hs[go]=hs[cl]=1,hs[Cs]=hs[Mo]=2,hs[Oo]=hs[ml]=3,hs[Sa]=hs[Ys]=4;function Ms(At){return\"[object \"+At+\"]\"}var dc=Ms(\"HTMLCanvasElement\"),Sl=Ms(\"OffscreenCanvas\"),ec=Ms(\"CanvasRenderingContext2D\"),Ps=Ms(\"ImageBitmap\"),ov=Ms(\"HTMLImageElement\"),wo=Ms(\"HTMLVideoElement\"),Od=Object.keys(Se).concat([dc,Sl,ec,Ps,ov,wo]),$o=[];$o[Ks]=1,$o[Zn]=4,$o[Hs]=2,$o[Xl]=2,$o[Ec]=4;var Ja=[];Ja[xo]=2,Ja[zs]=2,Ja[ks]=2,Ja[Cs]=4,Ja[Eo]=.5,Ja[fs]=.5,Ja[Ql]=1,Ja[Hu]=1,Ja[fc]=.5,Ja[ms]=1,Ja[on]=1,Ja[fa]=.5,Ja[Qu]=.25,Ja[Rl]=.5,Ja[vo]=.25,Ja[Zl]=.5;function Ef(At){return Array.isArray(At)&&(At.length===0||typeof At[0]==\"number\")}function tc(At){if(!Array.isArray(At))return!1;var Er=At.length;return!(Er===0||!an(At[0]))}function uu(At){return Object.prototype.toString.call(At)}function Mh(At){return uu(At)===dc}function jc(At){return uu(At)===Sl}function kf(At){return uu(At)===ec}function Ml(At){return uu(At)===Ps}function Yh(At){return uu(At)===ov}function Eh(At){return uu(At)===wo}function nh(At){if(!At)return!1;var Er=uu(At);return Od.indexOf(Er)>=0?!0:Ef(At)||tc(At)||Nr(At)}function hf(At){return Se[Object.prototype.toString.call(At)]|0}function kh(At,Er){var Wr=Er.length;switch(At.type){case Ks:case Xl:case Ec:case Zn:var wi=W.allocType(At.type,Wr);wi.set(Er),At.data=wi;break;case Hs:At.data=Yi(Er);break;default:}}function Kh(At,Er){return W.allocType(At.type===Hs?Zn:At.type,Er)}function rc(At,Er){At.type===Hs?(At.data=Yi(Er),W.freeType(Er)):At.data=Er}function ah(At,Er,Wr,wi,Ui,Oi){for(var Bi=At.width,cn=At.height,On=At.channels,Bn=Bi*cn*On,yn=Kh(At,Bn),to=0,Rn=0;Rn<cn;++Rn)for(var Dn=0;Dn<Bi;++Dn)for(var fn=0;fn<On;++fn)yn[to++]=Er[Wr*Dn+wi*Rn+Ui*fn+Oi];rc(At,yn)}function Wc(At,Er,Wr,wi,Ui,Oi){var Bi;if(typeof Ja[At]!=\"undefined\"?Bi=Ja[At]:Bi=hs[At]*$o[Er],Oi&&(Bi*=6),Ui){for(var cn=0,On=Wr;On>=1;)cn+=Bi*On*On,On/=2;return cn}else return Bi*Wr*wi}function df(At,Er,Wr,wi,Ui,Oi,Bi){var cn={\"don't care\":Gc,\"dont care\":Gc,nice:Bf,fast:vd},On={repeat:Tl,clamp:uf,mirror:So},Bn={nearest:Al,linear:Hc},yn=e({mipmap:kc,\"nearest mipmap nearest\":eu,\"linear mipmap nearest\":Ls,\"nearest mipmap linear\":mu,\"linear mipmap linear\":kc},Bn),to={none:0,browser:hc},Rn={uint8:Ks,rgba4:Zs,rgb565:wl,\"rgb5 a1\":Xs},Dn={alpha:go,luminance:ho,\"luminance alpha\":Mo,rgb:Oo,rgba:Sa,rgba4:xo,\"rgb5 a1\":zs,rgb565:ks},fn={};Er.ext_srgb&&(Dn.srgb=ml,Dn.srgba=Ys),Er.oes_texture_float&&(Rn.float32=Rn.float=Zn),Er.oes_texture_half_float&&(Rn.float16=Rn[\"half float\"]=Hs),Er.webgl_depth_texture&&(e(Dn,{depth:cl,\"depth stencil\":Cs}),e(Rn,{uint16:Xl,uint32:Ec,\"depth stencil\":os})),Er.webgl_compressed_texture_s3tc&&e(fn,{\"rgb s3tc dxt1\":Eo,\"rgba s3tc dxt1\":fs,\"rgba s3tc dxt3\":Ql,\"rgba s3tc dxt5\":Hu}),Er.webgl_compressed_texture_atc&&e(fn,{\"rgb atc\":fc,\"rgba atc explicit alpha\":ms,\"rgba atc interpolated alpha\":on}),Er.webgl_compressed_texture_pvrtc&&e(fn,{\"rgb pvrtc 4bppv1\":fa,\"rgb pvrtc 2bppv1\":Qu,\"rgba pvrtc 4bppv1\":Rl,\"rgba pvrtc 2bppv1\":vo}),Er.webgl_compressed_texture_etc1&&(fn[\"rgb etc1\"]=Zl);var Ai=Array.prototype.slice.call(At.getParameter(hi));Object.keys(fn).forEach(function(de){var Ie=fn[de];Ai.indexOf(Ie)>=0&&(Dn[de]=Ie)});var ji=Object.keys(Dn);Wr.textureFormats=ji;var Ln=[];Object.keys(Dn).forEach(function(de){var Ie=Dn[de];Ln[Ie]=de});var Un=[];Object.keys(Rn).forEach(function(de){var Ie=Rn[de];Un[Ie]=de});var gn=[];Object.keys(Bn).forEach(function(de){var Ie=Bn[de];gn[Ie]=de});var ca=[];Object.keys(yn).forEach(function(de){var Ie=yn[de];ca[Ie]=de});var Kn=[];Object.keys(On).forEach(function(de){var Ie=On[de];Kn[Ie]=de});var Za=ji.reduce(function(de,Ie){var $e=Dn[Ie];return $e===ho||$e===go||$e===ho||$e===Mo||$e===cl||$e===Cs||Er.ext_srgb&&($e===ml||$e===Ys)?de[$e]=$e:$e===zs||Ie.indexOf(\"rgba\")>=0?de[$e]=Sa:de[$e]=Oo,de},{});function wn(){this.internalformat=Sa,this.format=Sa,this.type=Ks,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=hc,this.width=0,this.height=0,this.channels=0}function vn(de,Ie){de.internalformat=Ie.internalformat,de.format=Ie.format,de.type=Ie.type,de.compressed=Ie.compressed,de.premultiplyAlpha=Ie.premultiplyAlpha,de.flipY=Ie.flipY,de.unpackAlignment=Ie.unpackAlignment,de.colorSpace=Ie.colorSpace,de.width=Ie.width,de.height=Ie.height,de.channels=Ie.channels}function Aa(de,Ie){if(!(typeof Ie!=\"object\"||!Ie)){if(\"premultiplyAlpha\"in Ie&&(de.premultiplyAlpha=Ie.premultiplyAlpha),\"flipY\"in Ie&&(de.flipY=Ie.flipY),\"alignment\"in Ie&&(de.unpackAlignment=Ie.alignment),\"colorSpace\"in Ie&&(de.colorSpace=to[Ie.colorSpace]),\"type\"in Ie){var $e=Ie.type;de.type=Rn[$e]}var pt=de.width,Kt=de.height,ir=de.channels,Jt=!1;\"shape\"in Ie?(pt=Ie.shape[0],Kt=Ie.shape[1],Ie.shape.length===3&&(ir=Ie.shape[2],Jt=!0)):(\"radius\"in Ie&&(pt=Kt=Ie.radius),\"width\"in Ie&&(pt=Ie.width),\"height\"in Ie&&(Kt=Ie.height),\"channels\"in Ie&&(ir=Ie.channels,Jt=!0)),de.width=pt|0,de.height=Kt|0,de.channels=ir|0;var vt=!1;if(\"format\"in Ie){var Pt=Ie.format,Wt=de.internalformat=Dn[Pt];de.format=Za[Wt],Pt in Rn&&(\"type\"in Ie||(de.type=Rn[Pt])),Pt in fn&&(de.compressed=!0),vt=!0}!Jt&&vt?de.channels=hs[de.format]:Jt&&!vt&&de.channels!==$s[de.format]&&(de.format=de.internalformat=$s[de.channels])}}function aa(de){At.pixelStorei(ih,de.flipY),At.pixelStorei(Vl,de.premultiplyAlpha),At.pixelStorei(Js,de.colorSpace),At.pixelStorei(ff,de.unpackAlignment)}function Xn(){wn.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Vn(de,Ie){var $e=null;if(nh(Ie)?$e=Ie:Ie&&(Aa(de,Ie),\"x\"in Ie&&(de.xOffset=Ie.x|0),\"y\"in Ie&&(de.yOffset=Ie.y|0),nh(Ie.data)&&($e=Ie.data)),Ie.copy){var pt=Ui.viewportWidth,Kt=Ui.viewportHeight;de.width=de.width||pt-de.xOffset,de.height=de.height||Kt-de.yOffset,de.needsCopy=!0}else if(!$e)de.width=de.width||1,de.height=de.height||1,de.channels=de.channels||4;else if(Or($e))de.channels=de.channels||4,de.data=$e,!(\"type\"in Ie)&&de.type===Ks&&(de.type=hf($e));else if(Ef($e))de.channels=de.channels||4,kh(de,$e),de.alignment=1,de.needsFree=!0;else if(Nr($e)){var ir=$e.data;!Array.isArray(ir)&&de.type===Ks&&(de.type=hf(ir));var Jt=$e.shape,vt=$e.stride,Pt,Wt,rr,dr,pr,kr;Jt.length===3?(rr=Jt[2],kr=vt[2]):(rr=1,kr=1),Pt=Jt[0],Wt=Jt[1],dr=vt[0],pr=vt[1],de.alignment=1,de.width=Pt,de.height=Wt,de.channels=rr,de.format=de.internalformat=$s[rr],de.needsFree=!0,ah(de,ir,dr,pr,kr,$e.offset)}else if(Mh($e)||jc($e)||kf($e))Mh($e)||jc($e)?de.element=$e:de.element=$e.canvas,de.width=de.element.width,de.height=de.element.height,de.channels=4;else if(Ml($e))de.element=$e,de.width=$e.width,de.height=$e.height,de.channels=4;else if(Yh($e))de.element=$e,de.width=$e.naturalWidth,de.height=$e.naturalHeight,de.channels=4;else if(Eh($e))de.element=$e,de.width=$e.videoWidth,de.height=$e.videoHeight,de.channels=4;else if(tc($e)){var Ar=de.width||$e[0].length,gr=de.height||$e.length,Cr=de.channels;an($e[0][0])?Cr=Cr||$e[0][0].length:Cr=Cr||1;for(var cr=Ne.shape($e),Gr=1,ei=0;ei<cr.length;++ei)Gr*=cr[ei];var yi=Kh(de,Gr);Ne.flatten($e,cr,\"\",yi),rc(de,yi),de.alignment=1,de.width=Ar,de.height=gr,de.channels=Cr,de.format=de.internalformat=$s[Cr],de.needsFree=!0}de.type===Zn||de.type}function ma(de,Ie,$e){var pt=de.element,Kt=de.data,ir=de.internalformat,Jt=de.format,vt=de.type,Pt=de.width,Wt=de.height;aa(de),pt?At.texImage2D(Ie,$e,Jt,Jt,vt,pt):de.compressed?At.compressedTexImage2D(Ie,$e,ir,Pt,Wt,0,Kt):de.needsCopy?(wi(),At.copyTexImage2D(Ie,$e,Jt,de.xOffset,de.yOffset,Pt,Wt,0)):At.texImage2D(Ie,$e,Jt,Pt,Wt,0,Jt,vt,Kt||null)}function ro(de,Ie,$e,pt,Kt){var ir=de.element,Jt=de.data,vt=de.internalformat,Pt=de.format,Wt=de.type,rr=de.width,dr=de.height;aa(de),ir?At.texSubImage2D(Ie,Kt,$e,pt,Pt,Wt,ir):de.compressed?At.compressedTexSubImage2D(Ie,Kt,$e,pt,vt,rr,dr,Jt):de.needsCopy?(wi(),At.copyTexSubImage2D(Ie,Kt,$e,pt,de.xOffset,de.yOffset,rr,dr)):At.texSubImage2D(Ie,Kt,$e,pt,rr,dr,Pt,Wt,Jt)}var Ao=[];function Jn(){return Ao.pop()||new Xn}function Oa(de){de.needsFree&&W.freeType(de.data),Xn.call(de),Ao.push(de)}function _o(){wn.call(this),this.genMipmaps=!1,this.mipmapHint=Gc,this.mipmask=0,this.images=Array(16)}function Po(de,Ie,$e){var pt=de.images[0]=Jn();de.mipmask=1,pt.width=de.width=Ie,pt.height=de.height=$e,pt.channels=de.channels=4}function Jo(de,Ie){var $e=null;if(nh(Ie))$e=de.images[0]=Jn(),vn($e,de),Vn($e,Ie),de.mipmask=1;else if(Aa(de,Ie),Array.isArray(Ie.mipmap))for(var pt=Ie.mipmap,Kt=0;Kt<pt.length;++Kt)$e=de.images[Kt]=Jn(),vn($e,de),$e.width>>=Kt,$e.height>>=Kt,Vn($e,pt[Kt]),de.mipmask|=1<<Kt;else $e=de.images[0]=Jn(),vn($e,de),Vn($e,Ie),de.mipmask=1;vn(de,de.images[0]),de.compressed&&(de.internalformat===Eo||de.internalformat===fs||de.internalformat===Ql||de.internalformat)}function Yl(de,Ie){for(var $e=de.images,pt=0;pt<$e.length;++pt){if(!$e[pt])return;ma($e[pt],Ie,pt)}}var $c=[];function xs(){var de=$c.pop()||new _o;wn.call(de),de.mipmask=0;for(var Ie=0;Ie<16;++Ie)de.images[Ie]=null;return de}function Qc(de){for(var Ie=de.images,$e=0;$e<Ie.length;++$e)Ie[$e]&&Oa(Ie[$e]),Ie[$e]=null;$c.push(de)}function El(){this.minFilter=Al,this.magFilter=Al,this.wrapS=uf,this.wrapT=uf,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=Gc}function bc(de,Ie){if(\"min\"in Ie){var $e=Ie.min;de.minFilter=yn[$e],ws.indexOf(de.minFilter)>=0&&!(\"faces\"in Ie)&&(de.genMipmaps=!0)}if(\"mag\"in Ie){var pt=Ie.mag;de.magFilter=Bn[pt]}var Kt=de.wrapS,ir=de.wrapT;if(\"wrap\"in Ie){var Jt=Ie.wrap;typeof Jt==\"string\"?Kt=ir=On[Jt]:Array.isArray(Jt)&&(Kt=On[Jt[0]],ir=On[Jt[1]])}else{if(\"wrapS\"in Ie){var vt=Ie.wrapS;Kt=On[vt]}if(\"wrapT\"in Ie){var Pt=Ie.wrapT;ir=On[Pt]}}if(de.wrapS=Kt,de.wrapT=ir,\"anisotropic\"in Ie){var Wt=Ie.anisotropic;de.anisotropic=Ie.anisotropic}if(\"mipmap\"in Ie){var rr=!1;switch(typeof Ie.mipmap){case\"string\":de.mipmapHint=cn[Ie.mipmap],de.genMipmaps=!0,rr=!0;break;case\"boolean\":rr=de.genMipmaps=Ie.mipmap;break;case\"object\":de.genMipmaps=!1,rr=!0;break;default:}rr&&!(\"min\"in Ie)&&(de.minFilter=eu)}}function wc(de,Ie){At.texParameteri(Ie,rh,de.minFilter),At.texParameteri(Ie,cf,de.magFilter),At.texParameteri(Ie,ko,de.wrapS),At.texParameteri(Ie,Co,de.wrapT),Er.ext_texture_filter_anisotropic&&At.texParameteri(Ie,ss,de.anisotropic),de.genMipmaps&&(At.hint(Of,de.mipmapHint),At.generateMipmap(Ie))}var yf=0,Gl={},Fc=Wr.maxTextureUnits,ef=Array(Fc).map(function(){return null});function ls(de){wn.call(this),this.mipmask=0,this.internalformat=Sa,this.id=yf++,this.refCount=1,this.target=de,this.texture=At.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new El,Bi.profile&&(this.stats={size:0})}function _f(de){At.activeTexture(Cc),At.bindTexture(de.target,de.texture)}function ns(){var de=ef[0];de?At.bindTexture(de.target,de.texture):At.bindTexture(Ji,null)}function Y(de){var Ie=de.texture,$e=de.unit,pt=de.target;$e>=0&&(At.activeTexture(Cc+$e),At.bindTexture(pt,null),ef[$e]=null),At.deleteTexture(Ie),de.texture=null,de.params=null,de.pixels=null,de.refCount=0,delete Gl[de.id],Oi.textureCount--}e(ls.prototype,{bind:function(){var de=this;de.bindCount+=1;var Ie=de.unit;if(Ie<0){for(var $e=0;$e<Fc;++$e){var pt=ef[$e];if(pt){if(pt.bindCount>0)continue;pt.unit=-1}ef[$e]=de,Ie=$e;break}Ie>=Fc,Bi.profile&&Oi.maxTextureUnits<Ie+1&&(Oi.maxTextureUnits=Ie+1),de.unit=Ie,At.activeTexture(Cc+Ie),At.bindTexture(de.target,de.texture)}return Ie},unbind:function(){this.bindCount-=1},decRef:function(){--this.refCount<=0&&Y(this)}});function z(de,Ie){var $e=new ls(Ji);Gl[$e.id]=$e,Oi.textureCount++;function pt(Jt,vt){var Pt=$e.texInfo;El.call(Pt);var Wt=xs();return typeof Jt==\"number\"?typeof vt==\"number\"?Po(Wt,Jt|0,vt|0):Po(Wt,Jt|0,Jt|0):Jt?(bc(Pt,Jt),Jo(Wt,Jt)):Po(Wt,1,1),Pt.genMipmaps&&(Wt.mipmask=(Wt.width<<1)-1),$e.mipmask=Wt.mipmask,vn($e,Wt),$e.internalformat=Wt.internalformat,pt.width=Wt.width,pt.height=Wt.height,_f($e),Yl(Wt,Ji),wc(Pt,Ji),ns(),Qc(Wt),Bi.profile&&($e.stats.size=Wc($e.internalformat,$e.type,Wt.width,Wt.height,Pt.genMipmaps,!1)),pt.format=Ln[$e.internalformat],pt.type=Un[$e.type],pt.mag=gn[Pt.magFilter],pt.min=ca[Pt.minFilter],pt.wrapS=Kn[Pt.wrapS],pt.wrapT=Kn[Pt.wrapT],pt}function Kt(Jt,vt,Pt,Wt){var rr=vt|0,dr=Pt|0,pr=Wt|0,kr=Jn();return vn(kr,$e),kr.width=0,kr.height=0,Vn(kr,Jt),kr.width=kr.width||($e.width>>pr)-rr,kr.height=kr.height||($e.height>>pr)-dr,_f($e),ro(kr,Ji,rr,dr,pr),ns(),Oa(kr),pt}function ir(Jt,vt){var Pt=Jt|0,Wt=vt|0||Pt;if(Pt===$e.width&&Wt===$e.height)return pt;pt.width=$e.width=Pt,pt.height=$e.height=Wt,_f($e);for(var rr=0;$e.mipmask>>rr;++rr){var dr=Pt>>rr,pr=Wt>>rr;if(!dr||!pr)break;At.texImage2D(Ji,rr,$e.format,dr,pr,0,$e.format,$e.type,null)}return ns(),Bi.profile&&($e.stats.size=Wc($e.internalformat,$e.type,Pt,Wt,!1,!1)),pt}return pt(de,Ie),pt.subimage=Kt,pt.resize=ir,pt._reglType=\"texture2d\",pt._texture=$e,Bi.profile&&(pt.stats=$e.stats),pt.destroy=function(){$e.decRef()},pt}function K(de,Ie,$e,pt,Kt,ir){var Jt=new ls(ua);Gl[Jt.id]=Jt,Oi.cubeCount++;var vt=new Array(6);function Pt(dr,pr,kr,Ar,gr,Cr){var cr,Gr=Jt.texInfo;for(El.call(Gr),cr=0;cr<6;++cr)vt[cr]=xs();if(typeof dr==\"number\"||!dr){var ei=dr|0||1;for(cr=0;cr<6;++cr)Po(vt[cr],ei,ei)}else if(typeof dr==\"object\")if(pr)Jo(vt[0],dr),Jo(vt[1],pr),Jo(vt[2],kr),Jo(vt[3],Ar),Jo(vt[4],gr),Jo(vt[5],Cr);else if(bc(Gr,dr),Aa(Jt,dr),\"faces\"in dr){var yi=dr.faces;for(cr=0;cr<6;++cr)vn(vt[cr],Jt),Jo(vt[cr],yi[cr])}else for(cr=0;cr<6;++cr)Jo(vt[cr],dr);for(vn(Jt,vt[0]),Gr.genMipmaps?Jt.mipmask=(vt[0].width<<1)-1:Jt.mipmask=vt[0].mipmask,Jt.internalformat=vt[0].internalformat,Pt.width=vt[0].width,Pt.height=vt[0].height,_f(Jt),cr=0;cr<6;++cr)Yl(vt[cr],Fn+cr);for(wc(Gr,ua),ns(),Bi.profile&&(Jt.stats.size=Wc(Jt.internalformat,Jt.type,Pt.width,Pt.height,Gr.genMipmaps,!0)),Pt.format=Ln[Jt.internalformat],Pt.type=Un[Jt.type],Pt.mag=gn[Gr.magFilter],Pt.min=ca[Gr.minFilter],Pt.wrapS=Kn[Gr.wrapS],Pt.wrapT=Kn[Gr.wrapT],cr=0;cr<6;++cr)Qc(vt[cr]);return Pt}function Wt(dr,pr,kr,Ar,gr){var Cr=kr|0,cr=Ar|0,Gr=gr|0,ei=Jn();return vn(ei,Jt),ei.width=0,ei.height=0,Vn(ei,pr),ei.width=ei.width||(Jt.width>>Gr)-Cr,ei.height=ei.height||(Jt.height>>Gr)-cr,_f(Jt),ro(ei,Fn+dr,Cr,cr,Gr),ns(),Oa(ei),Pt}function rr(dr){var pr=dr|0;if(pr!==Jt.width){Pt.width=Jt.width=pr,Pt.height=Jt.height=pr,_f(Jt);for(var kr=0;kr<6;++kr)for(var Ar=0;Jt.mipmask>>Ar;++Ar)At.texImage2D(Fn+kr,Ar,Jt.format,pr>>Ar,pr>>Ar,0,Jt.format,Jt.type,null);return ns(),Bi.profile&&(Jt.stats.size=Wc(Jt.internalformat,Jt.type,Pt.width,Pt.height,!1,!0)),Pt}}return Pt(de,Ie,$e,pt,Kt,ir),Pt.subimage=Wt,Pt.resize=rr,Pt._reglType=\"textureCube\",Pt._texture=Jt,Bi.profile&&(Pt.stats=Jt.stats),Pt.destroy=function(){Jt.decRef()},Pt}function O(){for(var de=0;de<Fc;++de)At.activeTexture(Cc+de),At.bindTexture(Ji,null),ef[de]=null;ut(Gl).forEach(Y),Oi.cubeCount=0,Oi.textureCount=0}Bi.profile&&(Oi.getTotalTextureSize=function(){var de=0;return Object.keys(Gl).forEach(function(Ie){de+=Gl[Ie].stats.size}),de});function $(){for(var de=0;de<Fc;++de){var Ie=ef[de];Ie&&(Ie.bindCount=0,Ie.unit=-1,ef[de]=null)}ut(Gl).forEach(function($e){$e.texture=At.createTexture(),At.bindTexture($e.target,$e.texture);for(var pt=0;pt<32;++pt)if($e.mipmask&1<<pt)if($e.target===Ji)At.texImage2D(Ji,pt,$e.internalformat,$e.width>>pt,$e.height>>pt,0,$e.internalformat,$e.type,null);else for(var Kt=0;Kt<6;++Kt)At.texImage2D(Fn+Kt,pt,$e.internalformat,$e.width>>pt,$e.height>>pt,0,$e.internalformat,$e.type,null);wc($e.texInfo,$e.target)})}function pe(){for(var de=0;de<Fc;++de){var Ie=ef[de];Ie&&(Ie.bindCount=0,Ie.unit=-1,ef[de]=null),At.activeTexture(Cc+de),At.bindTexture(Ji,null),At.bindTexture(ua,null)}}return{create2D:z,createCube:K,clear:O,getTexture:function(de){return null},restore:$,refresh:pe}}var Cu=36161,Nf=32854,Zc=32855,ds=36194,Ch=33189,Bd=36168,Jh=34041,Cf=35907,pd=34836,Lu=34842,$h=34843,tu=[];tu[Nf]=2,tu[Zc]=2,tu[ds]=2,tu[Ch]=2,tu[Bd]=1,tu[Jh]=4,tu[Cf]=4,tu[pd]=16,tu[Lu]=8,tu[$h]=6;function Pu(At,Er,Wr){return tu[At]*Er*Wr}var Lc=function(At,Er,Wr,wi,Ui){var Oi={rgba4:Nf,rgb565:ds,\"rgb5 a1\":Zc,depth:Ch,stencil:Bd,\"depth stencil\":Jh};Er.ext_srgb&&(Oi.srgba=Cf),Er.ext_color_buffer_half_float&&(Oi.rgba16f=Lu,Oi.rgb16f=$h),Er.webgl_color_buffer_float&&(Oi.rgba32f=pd);var Bi=[];Object.keys(Oi).forEach(function(Dn){var fn=Oi[Dn];Bi[fn]=Dn});var cn=0,On={};function Bn(Dn){this.id=cn++,this.refCount=1,this.renderbuffer=Dn,this.format=Nf,this.width=0,this.height=0,Ui.profile&&(this.stats={size:0})}Bn.prototype.decRef=function(){--this.refCount<=0&&yn(this)};function yn(Dn){var fn=Dn.renderbuffer;At.bindRenderbuffer(Cu,null),At.deleteRenderbuffer(fn),Dn.renderbuffer=null,Dn.refCount=0,delete On[Dn.id],wi.renderbufferCount--}function to(Dn,fn){var Ai=new Bn(At.createRenderbuffer());On[Ai.id]=Ai,wi.renderbufferCount++;function ji(Un,gn){var ca=0,Kn=0,Za=Nf;if(typeof Un==\"object\"&&Un){var wn=Un;if(\"shape\"in wn){var vn=wn.shape;ca=vn[0]|0,Kn=vn[1]|0}else\"radius\"in wn&&(ca=Kn=wn.radius|0),\"width\"in wn&&(ca=wn.width|0),\"height\"in wn&&(Kn=wn.height|0);\"format\"in wn&&(Za=Oi[wn.format])}else typeof Un==\"number\"?(ca=Un|0,typeof gn==\"number\"?Kn=gn|0:Kn=ca):Un||(ca=Kn=1);if(!(ca===Ai.width&&Kn===Ai.height&&Za===Ai.format))return ji.width=Ai.width=ca,ji.height=Ai.height=Kn,Ai.format=Za,At.bindRenderbuffer(Cu,Ai.renderbuffer),At.renderbufferStorage(Cu,Za,ca,Kn),Ui.profile&&(Ai.stats.size=Pu(Ai.format,Ai.width,Ai.height)),ji.format=Bi[Ai.format],ji}function Ln(Un,gn){var ca=Un|0,Kn=gn|0||ca;return ca===Ai.width&&Kn===Ai.height||(ji.width=Ai.width=ca,ji.height=Ai.height=Kn,At.bindRenderbuffer(Cu,Ai.renderbuffer),At.renderbufferStorage(Cu,Ai.format,ca,Kn),Ui.profile&&(Ai.stats.size=Pu(Ai.format,Ai.width,Ai.height))),ji}return ji(Dn,fn),ji.resize=Ln,ji._reglType=\"renderbuffer\",ji._renderbuffer=Ai,Ui.profile&&(ji.stats=Ai.stats),ji.destroy=function(){Ai.decRef()},ji}Ui.profile&&(wi.getTotalRenderbufferSize=function(){var Dn=0;return Object.keys(On).forEach(function(fn){Dn+=On[fn].stats.size}),Dn});function Rn(){ut(On).forEach(function(Dn){Dn.renderbuffer=At.createRenderbuffer(),At.bindRenderbuffer(Cu,Dn.renderbuffer),At.renderbufferStorage(Cu,Dn.format,Dn.width,Dn.height)}),At.bindRenderbuffer(Cu,null)}return{create:to,clear:function(){ut(On).forEach(yn)},restore:Rn}},fl=36160,Xc=36161,ic=3553,yu=34069,Qs=36064,Qh=36096,gd=36128,Gu=33306,Pc=36053,vc=36193,sv=5121,Lf=5126,Uf=6407,Iu=6408,oh=[];oh[Iu]=4,oh[Uf]=3;var ru=[];ru[sv]=1,ru[Lf]=4,ru[vc]=2;function vf(At,Er,Wr,wi,Ui,Oi){var Bi={cur:null,next:null,dirty:!1,setFBO:null},cn=[\"rgba\"],On=[\"rgba4\",\"rgb565\",\"rgb5 a1\"];Er.ext_srgb&&On.push(\"srgba\"),Er.ext_color_buffer_half_float&&On.push(\"rgba16f\",\"rgb16f\"),Er.webgl_color_buffer_float&&On.push(\"rgba32f\");var Bn=[\"uint8\"];Er.oes_texture_half_float&&Bn.push(\"half float\",\"float16\"),Er.oes_texture_float&&Bn.push(\"float\",\"float32\");function yn(Xn,Vn,ma){this.target=Xn,this.texture=Vn,this.renderbuffer=ma;var ro=0,Ao=0;Vn?(ro=Vn.width,Ao=Vn.height):ma&&(ro=ma.width,Ao=ma.height),this.width=ro,this.height=Ao}function to(Xn){Xn&&(Xn.texture&&Xn.texture._texture.decRef(),Xn.renderbuffer&&Xn.renderbuffer._renderbuffer.decRef())}function Rn(Xn,Vn,ma){if(Xn)if(Xn.texture){var ro=Xn.texture._texture,Ao=Math.max(1,ro.width),Jn=Math.max(1,ro.height);ro.refCount+=1}else{var Oa=Xn.renderbuffer._renderbuffer;Oa.refCount+=1}}function Dn(Xn,Vn){Vn&&(Vn.texture?At.framebufferTexture2D(fl,Xn,Vn.target,Vn.texture._texture.texture,0):At.framebufferRenderbuffer(fl,Xn,Xc,Vn.renderbuffer._renderbuffer.renderbuffer))}function fn(Xn){var Vn=ic,ma=null,ro=null,Ao=Xn;typeof Xn==\"object\"&&(Ao=Xn.data,\"target\"in Xn&&(Vn=Xn.target|0));var Jn=Ao._reglType;return Jn===\"texture2d\"||Jn===\"textureCube\"?ma=Ao:Jn===\"renderbuffer\"&&(ro=Ao,Vn=Xc),new yn(Vn,ma,ro)}function Ai(Xn,Vn,ma,ro,Ao){if(ma){var Jn=wi.create2D({width:Xn,height:Vn,format:ro,type:Ao});return Jn._texture.refCount=0,new yn(ic,Jn,null)}else{var Oa=Ui.create({width:Xn,height:Vn,format:ro});return Oa._renderbuffer.refCount=0,new yn(Xc,null,Oa)}}function ji(Xn){return Xn&&(Xn.texture||Xn.renderbuffer)}function Ln(Xn,Vn,ma){Xn&&(Xn.texture?Xn.texture.resize(Vn,ma):Xn.renderbuffer&&Xn.renderbuffer.resize(Vn,ma),Xn.width=Vn,Xn.height=ma)}var Un=0,gn={};function ca(){this.id=Un++,gn[this.id]=this,this.framebuffer=At.createFramebuffer(),this.width=0,this.height=0,this.colorAttachments=[],this.depthAttachment=null,this.stencilAttachment=null,this.depthStencilAttachment=null}function Kn(Xn){Xn.colorAttachments.forEach(to),to(Xn.depthAttachment),to(Xn.stencilAttachment),to(Xn.depthStencilAttachment)}function Za(Xn){var Vn=Xn.framebuffer;At.deleteFramebuffer(Vn),Xn.framebuffer=null,Oi.framebufferCount--,delete gn[Xn.id]}function wn(Xn){var Vn;At.bindFramebuffer(fl,Xn.framebuffer);var ma=Xn.colorAttachments;for(Vn=0;Vn<ma.length;++Vn)Dn(Qs+Vn,ma[Vn]);for(Vn=ma.length;Vn<Wr.maxColorAttachments;++Vn)At.framebufferTexture2D(fl,Qs+Vn,ic,null,0);At.framebufferTexture2D(fl,Gu,ic,null,0),At.framebufferTexture2D(fl,Qh,ic,null,0),At.framebufferTexture2D(fl,gd,ic,null,0),Dn(Qh,Xn.depthAttachment),Dn(gd,Xn.stencilAttachment),Dn(Gu,Xn.depthStencilAttachment);var ro=At.checkFramebufferStatus(fl);At.isContextLost(),At.bindFramebuffer(fl,Bi.next?Bi.next.framebuffer:null),Bi.cur=Bi.next,At.getError()}function vn(Xn,Vn){var ma=new ca;Oi.framebufferCount++;function ro(Jn,Oa){var _o,Po=0,Jo=0,Yl=!0,$c=!0,xs=null,Qc=!0,El=\"rgba\",bc=\"uint8\",wc=1,yf=null,Gl=null,Fc=null,ef=!1;if(typeof Jn==\"number\")Po=Jn|0,Jo=Oa|0||Po;else if(!Jn)Po=Jo=1;else{var ls=Jn;if(\"shape\"in ls){var _f=ls.shape;Po=_f[0],Jo=_f[1]}else\"radius\"in ls&&(Po=Jo=ls.radius),\"width\"in ls&&(Po=ls.width),\"height\"in ls&&(Jo=ls.height);(\"color\"in ls||\"colors\"in ls)&&(xs=ls.color||ls.colors,Array.isArray(xs)),xs||(\"colorCount\"in ls&&(wc=ls.colorCount|0),\"colorTexture\"in ls&&(Qc=!!ls.colorTexture,El=\"rgba4\"),\"colorType\"in ls&&(bc=ls.colorType,Qc||(bc===\"half float\"||bc===\"float16\"?El=\"rgba16f\":(bc===\"float\"||bc===\"float32\")&&(El=\"rgba32f\"))),\"colorFormat\"in ls&&(El=ls.colorFormat,cn.indexOf(El)>=0?Qc=!0:On.indexOf(El)>=0&&(Qc=!1))),(\"depthTexture\"in ls||\"depthStencilTexture\"in ls)&&(ef=!!(ls.depthTexture||ls.depthStencilTexture)),\"depth\"in ls&&(typeof ls.depth==\"boolean\"?Yl=ls.depth:(yf=ls.depth,$c=!1)),\"stencil\"in ls&&(typeof ls.stencil==\"boolean\"?$c=ls.stencil:(Gl=ls.stencil,Yl=!1)),\"depthStencil\"in ls&&(typeof ls.depthStencil==\"boolean\"?Yl=$c=ls.depthStencil:(Fc=ls.depthStencil,Yl=!1,$c=!1))}var ns=null,Y=null,z=null,K=null;if(Array.isArray(xs))ns=xs.map(fn);else if(xs)ns=[fn(xs)];else for(ns=new Array(wc),_o=0;_o<wc;++_o)ns[_o]=Ai(Po,Jo,Qc,El,bc);Po=Po||ns[0].width,Jo=Jo||ns[0].height,yf?Y=fn(yf):Yl&&!$c&&(Y=Ai(Po,Jo,ef,\"depth\",\"uint32\")),Gl?z=fn(Gl):$c&&!Yl&&(z=Ai(Po,Jo,!1,\"stencil\",\"uint8\")),Fc?K=fn(Fc):!yf&&!Gl&&$c&&Yl&&(K=Ai(Po,Jo,ef,\"depth stencil\",\"depth stencil\"));var O=null;for(_o=0;_o<ns.length;++_o)if(Rn(ns[_o],Po,Jo),ns[_o]&&ns[_o].texture){var $=oh[ns[_o].texture._texture.format]*ru[ns[_o].texture._texture.type];O===null&&(O=$)}return Rn(Y,Po,Jo),Rn(z,Po,Jo),Rn(K,Po,Jo),Kn(ma),ma.width=Po,ma.height=Jo,ma.colorAttachments=ns,ma.depthAttachment=Y,ma.stencilAttachment=z,ma.depthStencilAttachment=K,ro.color=ns.map(ji),ro.depth=ji(Y),ro.stencil=ji(z),ro.depthStencil=ji(K),ro.width=ma.width,ro.height=ma.height,wn(ma),ro}function Ao(Jn,Oa){var _o=Math.max(Jn|0,1),Po=Math.max(Oa|0||_o,1);if(_o===ma.width&&Po===ma.height)return ro;for(var Jo=ma.colorAttachments,Yl=0;Yl<Jo.length;++Yl)Ln(Jo[Yl],_o,Po);return Ln(ma.depthAttachment,_o,Po),Ln(ma.stencilAttachment,_o,Po),Ln(ma.depthStencilAttachment,_o,Po),ma.width=ro.width=_o,ma.height=ro.height=Po,wn(ma),ro}return ro(Xn,Vn),e(ro,{resize:Ao,_reglType:\"framebuffer\",_framebuffer:ma,destroy:function(){Za(ma),Kn(ma)},use:function(Jn){Bi.setFBO({framebuffer:ro},Jn)}})}function Aa(Xn){var Vn=Array(6);function ma(Ao){var Jn,Oa={color:null},_o=0,Po=null,Jo=\"rgba\",Yl=\"uint8\",$c=1;if(typeof Ao==\"number\")_o=Ao|0;else if(!Ao)_o=1;else{var xs=Ao;if(\"shape\"in xs){var Qc=xs.shape;_o=Qc[0]}else\"radius\"in xs&&(_o=xs.radius|0),\"width\"in xs?(_o=xs.width|0,\"height\"in xs):\"height\"in xs&&(_o=xs.height|0);(\"color\"in xs||\"colors\"in xs)&&(Po=xs.color||xs.colors,Array.isArray(Po)),Po||(\"colorCount\"in xs&&($c=xs.colorCount|0),\"colorType\"in xs&&(Yl=xs.colorType),\"colorFormat\"in xs&&(Jo=xs.colorFormat)),\"depth\"in xs&&(Oa.depth=xs.depth),\"stencil\"in xs&&(Oa.stencil=xs.stencil),\"depthStencil\"in xs&&(Oa.depthStencil=xs.depthStencil)}var El;if(Po)if(Array.isArray(Po))for(El=[],Jn=0;Jn<Po.length;++Jn)El[Jn]=Po[Jn];else El=[Po];else{El=Array($c);var bc={radius:_o,format:Jo,type:Yl};for(Jn=0;Jn<$c;++Jn)El[Jn]=wi.createCube(bc)}for(Oa.color=Array(El.length),Jn=0;Jn<El.length;++Jn){var wc=El[Jn];_o=_o||wc.width,Oa.color[Jn]={target:yu,data:El[Jn]}}for(Jn=0;Jn<6;++Jn){for(var yf=0;yf<El.length;++yf)Oa.color[yf].target=yu+Jn;Jn>0&&(Oa.depth=Vn[0].depth,Oa.stencil=Vn[0].stencil,Oa.depthStencil=Vn[0].depthStencil),Vn[Jn]?Vn[Jn](Oa):Vn[Jn]=vn(Oa)}return e(ma,{width:_o,height:_o,color:El})}function ro(Ao){var Jn,Oa=Ao|0;if(Oa===ma.width)return ma;var _o=ma.color;for(Jn=0;Jn<_o.length;++Jn)_o[Jn].resize(Oa);for(Jn=0;Jn<6;++Jn)Vn[Jn].resize(Oa);return ma.width=ma.height=Oa,ma}return ma(Xn),e(ma,{faces:Vn,resize:ro,_reglType:\"framebufferCube\",destroy:function(){Vn.forEach(function(Ao){Ao.destroy()})}})}function aa(){Bi.cur=null,Bi.next=null,Bi.dirty=!0,ut(gn).forEach(function(Xn){Xn.framebuffer=At.createFramebuffer(),wn(Xn)})}return e(Bi,{getFramebuffer:function(Xn){if(typeof Xn==\"function\"&&Xn._reglType===\"framebuffer\"){var Vn=Xn._framebuffer;if(Vn instanceof ca)return Vn}return null},create:vn,createCube:Aa,clear:function(){ut(gn).forEach(Za)},restore:aa})}var md=5126,sh=34962,Fs=34963;function _u(){this.state=0,this.x=0,this.y=0,this.z=0,this.w=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=md,this.offset=0,this.stride=0,this.divisor=0}function xu(At,Er,Wr,wi,Ui,Oi,Bi){for(var cn=Wr.maxAttributes,On=new Array(cn),Bn=0;Bn<cn;++Bn)On[Bn]=new _u;var yn=0,to={},Rn={Record:_u,scope:{},state:On,currentVAO:null,targetVAO:null,restore:fn()?Kn:function(){},createVAO:Za,getVAO:ji,destroyBuffer:Dn,setVAO:fn()?Ln:Un,clear:fn()?gn:function(){}};function Dn(wn){for(var vn=0;vn<On.length;++vn){var Aa=On[vn];Aa.buffer===wn&&(At.disableVertexAttribArray(vn),Aa.buffer=null)}}function fn(){return Er.oes_vertex_array_object}function Ai(){return Er.angle_instanced_arrays}function ji(wn){return typeof wn==\"function\"&&wn._vao?wn._vao:null}function Ln(wn){if(wn!==Rn.currentVAO){var vn=fn();wn?vn.bindVertexArrayOES(wn.vao):vn.bindVertexArrayOES(null),Rn.currentVAO=wn}}function Un(wn){if(wn!==Rn.currentVAO){if(wn)wn.bindAttrs();else{for(var vn=Ai(),Aa=0;Aa<On.length;++Aa){var aa=On[Aa];aa.buffer?(At.enableVertexAttribArray(Aa),aa.buffer.bind(),At.vertexAttribPointer(Aa,aa.size,aa.type,aa.normalized,aa.stride,aa.offfset),vn&&aa.divisor&&vn.vertexAttribDivisorANGLE(Aa,aa.divisor)):(At.disableVertexAttribArray(Aa),At.vertexAttrib4f(Aa,aa.x,aa.y,aa.z,aa.w))}Bi.elements?At.bindBuffer(Fs,Bi.elements.buffer.buffer):At.bindBuffer(Fs,null)}Rn.currentVAO=wn}}function gn(){ut(to).forEach(function(wn){wn.destroy()})}function ca(){this.id=++yn,this.attributes=[],this.elements=null,this.ownsElements=!1,this.count=0,this.offset=0,this.instances=-1,this.primitive=4;var wn=fn();wn?this.vao=wn.createVertexArrayOES():this.vao=null,to[this.id]=this,this.buffers=[]}ca.prototype.bindAttrs=function(){for(var wn=Ai(),vn=this.attributes,Aa=0;Aa<vn.length;++Aa){var aa=vn[Aa];aa.buffer?(At.enableVertexAttribArray(Aa),At.bindBuffer(sh,aa.buffer.buffer),At.vertexAttribPointer(Aa,aa.size,aa.type,aa.normalized,aa.stride,aa.offset),wn&&aa.divisor&&wn.vertexAttribDivisorANGLE(Aa,aa.divisor)):(At.disableVertexAttribArray(Aa),At.vertexAttrib4f(Aa,aa.x,aa.y,aa.z,aa.w))}for(var Xn=vn.length;Xn<cn;++Xn)At.disableVertexAttribArray(Xn);var Vn=Oi.getElements(this.elements);Vn?At.bindBuffer(Fs,Vn.buffer.buffer):At.bindBuffer(Fs,null)},ca.prototype.refresh=function(){var wn=fn();wn&&(wn.bindVertexArrayOES(this.vao),this.bindAttrs(),Rn.currentVAO=null,wn.bindVertexArrayOES(null))},ca.prototype.destroy=function(){if(this.vao){var wn=fn();this===Rn.currentVAO&&(Rn.currentVAO=null,wn.bindVertexArrayOES(null)),wn.deleteVertexArrayOES(this.vao),this.vao=null}this.ownsElements&&(this.elements.destroy(),this.elements=null,this.ownsElements=!1),to[this.id]&&(delete to[this.id],wi.vaoCount-=1)};function Kn(){var wn=fn();wn&&ut(to).forEach(function(vn){vn.refresh()})}function Za(wn){var vn=new ca;wi.vaoCount+=1;function Aa(aa){var Xn;if(Array.isArray(aa))Xn=aa,vn.elements&&vn.ownsElements&&vn.elements.destroy(),vn.elements=null,vn.ownsElements=!1,vn.offset=0,vn.count=0,vn.instances=-1,vn.primitive=4;else{if(aa.elements){var Vn=aa.elements;vn.ownsElements?typeof Vn==\"function\"&&Vn._reglType===\"elements\"?(vn.elements.destroy(),vn.ownsElements=!1):(vn.elements(Vn),vn.ownsElements=!1):Oi.getElements(aa.elements)?(vn.elements=aa.elements,vn.ownsElements=!1):(vn.elements=Oi.create(aa.elements),vn.ownsElements=!0)}else vn.elements=null,vn.ownsElements=!1;Xn=aa.attributes,vn.offset=0,vn.count=-1,vn.instances=-1,vn.primitive=4,vn.elements&&(vn.count=vn.elements._elements.vertCount,vn.primitive=vn.elements._elements.primType),\"offset\"in aa&&(vn.offset=aa.offset|0),\"count\"in aa&&(vn.count=aa.count|0),\"instances\"in aa&&(vn.instances=aa.instances|0),\"primitive\"in aa&&(vn.primitive=Ki[aa.primitive])}var ma={},ro=vn.attributes;ro.length=Xn.length;for(var Ao=0;Ao<Xn.length;++Ao){var Jn=Xn[Ao],Oa=ro[Ao]=new _u,_o=Jn.data||Jn;if(Array.isArray(_o)||Or(_o)||Nr(_o)){var Po;vn.buffers[Ao]&&(Po=vn.buffers[Ao],Or(_o)&&Po._buffer.byteLength>=_o.byteLength?Po.subdata(_o):(Po.destroy(),vn.buffers[Ao]=null)),vn.buffers[Ao]||(Po=vn.buffers[Ao]=Ui.create(Jn,sh,!1,!0)),Oa.buffer=Ui.getBuffer(Po),Oa.size=Oa.buffer.dimension|0,Oa.normalized=!1,Oa.type=Oa.buffer.dtype,Oa.offset=0,Oa.stride=0,Oa.divisor=0,Oa.state=1,ma[Ao]=1}else Ui.getBuffer(Jn)?(Oa.buffer=Ui.getBuffer(Jn),Oa.size=Oa.buffer.dimension|0,Oa.normalized=!1,Oa.type=Oa.buffer.dtype,Oa.offset=0,Oa.stride=0,Oa.divisor=0,Oa.state=1):Ui.getBuffer(Jn.buffer)?(Oa.buffer=Ui.getBuffer(Jn.buffer),Oa.size=(+Jn.size||Oa.buffer.dimension)|0,Oa.normalized=!!Jn.normalized||!1,\"type\"in Jn?Oa.type=bi[Jn.type]:Oa.type=Oa.buffer.dtype,Oa.offset=(Jn.offset||0)|0,Oa.stride=(Jn.stride||0)|0,Oa.divisor=(Jn.divisor||0)|0,Oa.state=1):\"x\"in Jn&&(Oa.x=+Jn.x||0,Oa.y=+Jn.y||0,Oa.z=+Jn.z||0,Oa.w=+Jn.w||0,Oa.state=2)}for(var Jo=0;Jo<vn.buffers.length;++Jo)!ma[Jo]&&vn.buffers[Jo]&&(vn.buffers[Jo].destroy(),vn.buffers[Jo]=null);return vn.refresh(),Aa}return Aa.destroy=function(){for(var aa=0;aa<vn.buffers.length;++aa)vn.buffers[aa]&&vn.buffers[aa].destroy();vn.buffers.length=0,vn.ownsElements&&(vn.elements.destroy(),vn.elements=null,vn.ownsElements=!1),vn.destroy()},Aa._vao=vn,Aa._reglType=\"vao\",Aa(wn)}return Rn}var Lh=35632,Is=35633,Pf=35718,Ic=35721;function ju(At,Er,Wr,wi){var Ui={},Oi={};function Bi(Ai,ji,Ln,Un){this.name=Ai,this.id=ji,this.location=Ln,this.info=Un}function cn(Ai,ji){for(var Ln=0;Ln<Ai.length;++Ln)if(Ai[Ln].id===ji.id){Ai[Ln].location=ji.location;return}Ai.push(ji)}function On(Ai,ji,Ln){var Un=Ai===Lh?Ui:Oi,gn=Un[ji];if(!gn){var ca=Er.str(ji);gn=At.createShader(Ai),At.shaderSource(gn,ca),At.compileShader(gn),Un[ji]=gn}return gn}var Bn={},yn=[],to=0;function Rn(Ai,ji){this.id=to++,this.fragId=Ai,this.vertId=ji,this.program=null,this.uniforms=[],this.attributes=[],this.refCount=1,wi.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function Dn(Ai,ji,Ln){var Un,gn,ca=On(Lh,Ai.fragId),Kn=On(Is,Ai.vertId),Za=Ai.program=At.createProgram();if(At.attachShader(Za,ca),At.attachShader(Za,Kn),Ln)for(Un=0;Un<Ln.length;++Un){var wn=Ln[Un];At.bindAttribLocation(Za,wn[0],wn[1])}At.linkProgram(Za);var vn=At.getProgramParameter(Za,Pf);wi.profile&&(Ai.stats.uniformsCount=vn);var Aa=Ai.uniforms;for(Un=0;Un<vn;++Un)if(gn=At.getActiveUniform(Za,Un),gn)if(gn.size>1)for(var aa=0;aa<gn.size;++aa){var Xn=gn.name.replace(\"[0]\",\"[\"+aa+\"]\");cn(Aa,new Bi(Xn,Er.id(Xn),At.getUniformLocation(Za,Xn),gn))}else cn(Aa,new Bi(gn.name,Er.id(gn.name),At.getUniformLocation(Za,gn.name),gn));var Vn=At.getProgramParameter(Za,Ic);wi.profile&&(Ai.stats.attributesCount=Vn);var ma=Ai.attributes;for(Un=0;Un<Vn;++Un)gn=At.getActiveAttrib(Za,Un),gn&&cn(ma,new Bi(gn.name,Er.id(gn.name),At.getAttribLocation(Za,gn.name),gn))}wi.profile&&(Wr.getMaxUniformsCount=function(){var Ai=0;return yn.forEach(function(ji){ji.stats.uniformsCount>Ai&&(Ai=ji.stats.uniformsCount)}),Ai},Wr.getMaxAttributesCount=function(){var Ai=0;return yn.forEach(function(ji){ji.stats.attributesCount>Ai&&(Ai=ji.stats.attributesCount)}),Ai});function fn(){Ui={},Oi={};for(var Ai=0;Ai<yn.length;++Ai)Dn(yn[Ai],null,yn[Ai].attributes.map(function(ji){return[ji.location,ji.name]}))}return{clear:function(){var Ai=At.deleteShader.bind(At);ut(Ui).forEach(Ai),Ui={},ut(Oi).forEach(Ai),Oi={},yn.forEach(function(ji){At.deleteProgram(ji.program)}),yn.length=0,Bn={},Wr.shaderCount=0},program:function(Ai,ji,Ln,Un){var gn=Bn[ji];gn||(gn=Bn[ji]={});var ca=gn[Ai];if(ca&&(ca.refCount++,!Un))return ca;var Kn=new Rn(ji,Ai);return Wr.shaderCount++,Dn(Kn,Ln,Un),ca||(gn[Ai]=Kn),yn.push(Kn),e(Kn,{destroy:function(){if(Kn.refCount--,Kn.refCount<=0){At.deleteProgram(Kn.program);var Za=yn.indexOf(Kn);yn.splice(Za,1),Wr.shaderCount--}gn[Kn.vertId].refCount<=0&&(At.deleteShader(Oi[Kn.vertId]),delete Oi[Kn.vertId],delete Bn[Kn.fragId][Kn.vertId]),Object.keys(Bn[Kn.fragId]).length||(At.deleteShader(Ui[Kn.fragId]),delete Ui[Kn.fragId],delete Bn[Kn.fragId])}})},restore:fn,shader:On,frag:-1,vert:-1}}var Vf=6408,pc=5121,pf=3333,Ph=5126;function Dl(At,Er,Wr,wi,Ui,Oi,Bi){function cn(yn){var to;Er.next===null?to=pc:to=Er.next.colorAttachments[0].texture._texture.type;var Rn=0,Dn=0,fn=wi.framebufferWidth,Ai=wi.framebufferHeight,ji=null;Or(yn)?ji=yn:yn&&(Rn=yn.x|0,Dn=yn.y|0,fn=(yn.width||wi.framebufferWidth-Rn)|0,Ai=(yn.height||wi.framebufferHeight-Dn)|0,ji=yn.data||null),Wr();var Ln=fn*Ai*4;return ji||(to===pc?ji=new Uint8Array(Ln):to===Ph&&(ji=ji||new Float32Array(Ln))),At.pixelStorei(pf,4),At.readPixels(Rn,Dn,fn,Ai,Vf,to,ji),ji}function On(yn){var to;return Er.setFBO({framebuffer:yn.framebuffer},function(){to=cn(yn)}),to}function Bn(yn){return!yn||!(\"framebuffer\"in yn)?cn(yn):On(yn)}return Bn}var Ih=0,Wu=\"\";function Rc(At){return iu(gc(nc(At)))}function gc(At){return gt(Ti(gf(At),At.length*8))}function hl(At,Er){var Wr=gf(At);Wr.length>16&&(Wr=Ti(Wr,At.length*8));for(var wi=Array(16),Ui=Array(16),Oi=0;Oi<16;Oi++)wi[Oi]=Wr[Oi]^909522486,Ui[Oi]=Wr[Oi]^1549556828;var Bi=Ti(wi.concat(gf(Er)),512+Er.length*8);return gt(Ti(Ui.concat(Bi),768))}function iu(At){for(var Er=Ih?\"0123456789ABCDEF\":\"0123456789abcdef\",Wr=\"\",wi,Ui=0;Ui<At.length;Ui++)wi=At.charCodeAt(Ui),Wr+=Er.charAt(wi>>>4&15)+Er.charAt(wi&15);return Wr}function mc(At){for(var Er=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",Wr=\"\",wi=At.length,Ui=0;Ui<wi;Ui+=3)for(var Oi=At.charCodeAt(Ui)<<16|(Ui+1<wi?At.charCodeAt(Ui+1)<<8:0)|(Ui+2<wi?At.charCodeAt(Ui+2):0),Bi=0;Bi<4;Bi++)Ui*8+Bi*6>At.length*8?Wr+=Wu:Wr+=Er.charAt(Oi>>>6*(3-Bi)&63);return Wr}function Yc(At,Er){var Wr=Er.length,wi=Array(),Ui,Oi,Bi,cn,On=Array(Math.ceil(At.length/2));for(Ui=0;Ui<On.length;Ui++)On[Ui]=At.charCodeAt(Ui*2)<<8|At.charCodeAt(Ui*2+1);for(;On.length>0;){for(cn=Array(),Bi=0,Ui=0;Ui<On.length;Ui++)Bi=(Bi<<16)+On[Ui],Oi=Math.floor(Bi/Wr),Bi-=Oi*Wr,(cn.length>0||Oi>0)&&(cn[cn.length]=Oi);wi[wi.length]=Bi,On=cn}var Bn=\"\";for(Ui=wi.length-1;Ui>=0;Ui--)Bn+=Er.charAt(wi[Ui]);var yn=Math.ceil(At.length*8/(Math.log(Er.length)/Math.log(2)));for(Ui=Bn.length;Ui<yn;Ui++)Bn=Er[0]+Bn;return Bn}function nc(At){for(var Er=\"\",Wr=-1,wi,Ui;++Wr<At.length;)wi=At.charCodeAt(Wr),Ui=Wr+1<At.length?At.charCodeAt(Wr+1):0,55296<=wi&&wi<=56319&&56320<=Ui&&Ui<=57343&&(wi=65536+((wi&1023)<<10)+(Ui&1023),Wr++),wi<=127?Er+=String.fromCharCode(wi):wi<=2047?Er+=String.fromCharCode(192|wi>>>6&31,128|wi&63):wi<=65535?Er+=String.fromCharCode(224|wi>>>12&15,128|wi>>>6&63,128|wi&63):wi<=2097151&&(Er+=String.fromCharCode(240|wi>>>18&7,128|wi>>>12&63,128|wi>>>6&63,128|wi&63));return Er}function gf(At){for(var Er=Array(At.length>>2),Wr=0;Wr<Er.length;Wr++)Er[Wr]=0;for(var Wr=0;Wr<At.length*8;Wr+=8)Er[Wr>>5]|=(At.charCodeAt(Wr/8)&255)<<24-Wr%32;return Er}function gt(At){for(var Er=\"\",Wr=0;Wr<At.length*32;Wr+=8)Er+=String.fromCharCode(At[Wr>>5]>>>24-Wr%32&255);return Er}function Bt(At,Er){return At>>>Er|At<<32-Er}function wr(At,Er){return At>>>Er}function vr(At,Er,Wr){return At&Er^~At&Wr}function Ur(At,Er,Wr){return At&Er^At&Wr^Er&Wr}function fi(At){return Bt(At,2)^Bt(At,13)^Bt(At,22)}function xi(At){return Bt(At,6)^Bt(At,11)^Bt(At,25)}function Fi(At){return Bt(At,7)^Bt(At,18)^wr(At,3)}function Xi(At){return Bt(At,17)^Bt(At,19)^wr(At,10)}var hn=new Array(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);function Ti(At,Er){var Wr=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),wi=new Array(64),Ui,Oi,Bi,cn,On,Bn,yn,to,Rn,Dn,fn,Ai;for(At[Er>>5]|=128<<24-Er%32,At[(Er+64>>9<<4)+15]=Er,Rn=0;Rn<At.length;Rn+=16){for(Ui=Wr[0],Oi=Wr[1],Bi=Wr[2],cn=Wr[3],On=Wr[4],Bn=Wr[5],yn=Wr[6],to=Wr[7],Dn=0;Dn<64;Dn++)Dn<16?wi[Dn]=At[Dn+Rn]:wi[Dn]=qi(qi(qi(Xi(wi[Dn-2]),wi[Dn-7]),Fi(wi[Dn-15])),wi[Dn-16]),fn=qi(qi(qi(qi(to,xi(On)),vr(On,Bn,yn)),hn[Dn]),wi[Dn]),Ai=qi(fi(Ui),Ur(Ui,Oi,Bi)),to=yn,yn=Bn,Bn=On,On=qi(cn,fn),cn=Bi,Bi=Oi,Oi=Ui,Ui=qi(fn,Ai);Wr[0]=qi(Ui,Wr[0]),Wr[1]=qi(Oi,Wr[1]),Wr[2]=qi(Bi,Wr[2]),Wr[3]=qi(cn,Wr[3]),Wr[4]=qi(On,Wr[4]),Wr[5]=qi(Bn,Wr[5]),Wr[6]=qi(yn,Wr[6]),Wr[7]=qi(to,Wr[7])}return Wr}function qi(At,Er){var Wr=(At&65535)+(Er&65535),wi=(At>>16)+(Er>>16)+(Wr>>16);return wi<<16|Wr&65535}function Ii(At){return Array.prototype.slice.call(At)}function mi(At){return Ii(At).join(\"\")}function Pn(At){var Er=At&&At.cache,Wr=0,wi=[],Ui=[],Oi=[];function Bi(fn,Ai){var ji=Ai&&Ai.stable;if(!ji){for(var Ln=0;Ln<Ui.length;++Ln)if(Ui[Ln]===fn&&!Oi[Ln])return wi[Ln]}var Un=\"g\"+Wr++;return wi.push(Un),Ui.push(fn),Oi.push(ji),Un}function cn(){var fn=[];function Ai(){fn.push.apply(fn,Ii(arguments))}var ji=[];function Ln(){var Un=\"v\"+Wr++;return ji.push(Un),arguments.length>0&&(fn.push(Un,\"=\"),fn.push.apply(fn,Ii(arguments)),fn.push(\";\")),Un}return e(Ai,{def:Ln,toString:function(){return mi([ji.length>0?\"var \"+ji.join(\",\")+\";\":\"\",mi(fn)])}})}function On(){var fn=cn(),Ai=cn(),ji=fn.toString,Ln=Ai.toString;function Un(gn,ca){Ai(gn,ca,\"=\",fn.def(gn,ca),\";\")}return e(function(){fn.apply(fn,Ii(arguments))},{def:fn.def,entry:fn,exit:Ai,save:Un,set:function(gn,ca,Kn){Un(gn,ca),fn(gn,ca,\"=\",Kn,\";\")},toString:function(){return ji()+Ln()}})}function Bn(){var fn=mi(arguments),Ai=On(),ji=On(),Ln=Ai.toString,Un=ji.toString;return e(Ai,{then:function(){return Ai.apply(Ai,Ii(arguments)),this},else:function(){return ji.apply(ji,Ii(arguments)),this},toString:function(){var gn=Un();return gn&&(gn=\"else{\"+gn+\"}\"),mi([\"if(\",fn,\"){\",Ln(),\"}\",gn])}})}var yn=cn(),to={};function Rn(fn,Ai){var ji=[];function Ln(){var Za=\"a\"+ji.length;return ji.push(Za),Za}Ai=Ai||0;for(var Un=0;Un<Ai;++Un)Ln();var gn=On(),ca=gn.toString,Kn=to[fn]=e(gn,{arg:Ln,toString:function(){return mi([\"function(\",ji.join(),\"){\",ca(),\"}\"])}});return Kn}function Dn(){var fn=['\"use strict\";',yn,\"return {\"];Object.keys(to).forEach(function(Un){fn.push('\"',Un,'\":',to[Un].toString(),\",\")}),fn.push(\"}\");var Ai=mi(fn).replace(/;/g,`;\n", - "`).replace(/}/g,`}\n", - "`).replace(/{/g,`{\n", - "`),ji;if(Er&&(ji=Rc(Ai),Er[ji]))return Er[ji].apply(null,Ui);var Ln=Function.apply(null,wi.concat(Ai));return Er&&(Er[ji]=Ln),Ln.apply(null,Ui)}return{global:yn,link:Bi,block:cn,proc:Rn,scope:On,cond:Bn,compile:Dn}}var Ma=\"xyzw\".split(\"\"),Ta=5121,Ea=1,qa=2,Cn=0,sn=1,Ua=2,mo=3,Xo=4,Ts=5,Qo=6,ys=\"dither\",Bo=\"blend.enable\",yl=\"blend.color\",Gs=\"blend.equation\",Rs=\"blend.func\",ia=\"depth.enable\",Ka=\"depth.func\",vs=\"depth.range\",Ko=\"depth.mask\",nu=\"colorMask\",Ru=\"cull.enable\",ac=\"cull.face\",mf=\"frontFace\",bu=\"lineWidth\",Kc=\"polygonOffset.enable\",Du=\"polygonOffset.offset\",Dc=\"sample.alpha\",Da=\"sample.enable\",eo=\"sample.coverage\",Jc=\"stencil.enable\",yc=\"stencil.mask\",_c=\"stencil.func\",le=\"stencil.opFront\",w=\"stencil.opBack\",B=\"scissor.enable\",Q=\"scissor.box\",ee=\"viewport\",se=\"profile\",qe=\"framebuffer\",je=\"vert\",it=\"frag\",yt=\"elements\",Ot=\"primitive\",Nt=\"count\",hr=\"offset\",Sr=\"instances\",he=\"vao\",be=\"Width\",Pe=\"Height\",Oe=qe+be,Je=qe+Pe,He=ee+be,et=ee+Pe,Mt=\"drawingBuffer\",Dt=Mt+be,Ut=Mt+Pe,tr=[Rs,Gs,_c,le,w,eo,ee,Q,Du],mr=34962,Rr=34963,zr=2884,Xr=3042,di=3024,Li=2960,Ci=2929,Qi=3089,Mn=32823,pa=32926,ea=32928,Ga=5126,To=35664,Wa=35665,co=35666,Ro=5124,Ds=35667,As=35668,yo=35669,po=35670,_l=35671,Hl=35672,Zu=35673,cu=35674,el=35675,au=35676,zc=35678,zl=35680,Fl=4,Z=1028,oe=1029,we=2304,Be=2305,Ue=32775,We=32776,wt=519,tt=7680,zt=0,or=1,lr=32774,Dr=513,Ir=36160,oi=36064,ui={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},qr={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},Kr={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},ii={cw:we,ccw:Be};function vi(At){return Array.isArray(At)||Or(At)||Nr(At)}function ci(At){return At.sort(function(Er,Wr){return Er===ee?-1:Wr===ee?1:Er<Wr?-1:1})}function Jr(At,Er,Wr,wi){this.thisDep=At,this.contextDep=Er,this.propDep=Wr,this.append=wi}function un(At){return At&&!(At.thisDep||At.contextDep||At.propDep)}function dn(At){return new Jr(!1,!1,!1,At)}function En(At,Er){var Wr=At.type;if(Wr===Cn){var wi=At.data.length;return new Jr(!0,wi>=1,wi>=2,Er)}else if(Wr===Xo){var Ui=At.data;return new Jr(Ui.thisDep,Ui.contextDep,Ui.propDep,Er)}else{if(Wr===Ts)return new Jr(!1,!1,!1,Er);if(Wr===Qo){for(var Oi=!1,Bi=!1,cn=!1,On=0;On<At.data.length;++On){var Bn=At.data[On];if(Bn.type===sn)cn=!0;else if(Bn.type===Ua)Bi=!0;else if(Bn.type===mo)Oi=!0;else if(Bn.type===Cn){Oi=!0;var yn=Bn.data;yn>=1&&(Bi=!0),yn>=2&&(cn=!0)}else Bn.type===Xo&&(Oi=Oi||Bn.data.thisDep,Bi=Bi||Bn.data.contextDep,cn=cn||Bn.data.propDep)}return new Jr(Oi,Bi,cn,Er)}else return new Jr(Wr===mo,Wr===Ua,Wr===sn,Er)}}var Nn=new Jr(!1,!1,!1,function(){});function ga(At,Er,Wr,wi,Ui,Oi,Bi,cn,On,Bn,yn,to,Rn,Dn,fn,Ai){var ji=Bn.Record,Ln={add:32774,subtract:32778,\"reverse subtract\":32779};Wr.ext_blend_minmax&&(Ln.min=Ue,Ln.max=We);var Un=Wr.angle_instanced_arrays,gn=Wr.webgl_draw_buffers,ca=Wr.oes_vertex_array_object,Kn={dirty:!0,profile:Ai.profile},Za={},wn=[],vn={},Aa={};function aa(vt){return vt.replace(\".\",\"_\")}function Xn(vt,Pt,Wt){var rr=aa(vt);wn.push(vt),Za[rr]=Kn[rr]=!!Wt,vn[rr]=Pt}function Vn(vt,Pt,Wt){var rr=aa(vt);wn.push(vt),Array.isArray(Wt)?(Kn[rr]=Wt.slice(),Za[rr]=Wt.slice()):Kn[rr]=Za[rr]=Wt,Aa[rr]=Pt}function ma(vt){return!!isNaN(vt)}Xn(ys,di),Xn(Bo,Xr),Vn(yl,\"blendColor\",[0,0,0,0]),Vn(Gs,\"blendEquationSeparate\",[lr,lr]),Vn(Rs,\"blendFuncSeparate\",[or,zt,or,zt]),Xn(ia,Ci,!0),Vn(Ka,\"depthFunc\",Dr),Vn(vs,\"depthRange\",[0,1]),Vn(Ko,\"depthMask\",!0),Vn(nu,nu,[!0,!0,!0,!0]),Xn(Ru,zr),Vn(ac,\"cullFace\",oe),Vn(mf,mf,Be),Vn(bu,bu,1),Xn(Kc,Mn),Vn(Du,\"polygonOffset\",[0,0]),Xn(Dc,pa),Xn(Da,ea),Vn(eo,\"sampleCoverage\",[1,!1]),Xn(Jc,Li),Vn(yc,\"stencilMask\",-1),Vn(_c,\"stencilFunc\",[wt,0,-1]),Vn(le,\"stencilOpSeparate\",[Z,tt,tt,tt]),Vn(w,\"stencilOpSeparate\",[oe,tt,tt,tt]),Xn(B,Qi),Vn(Q,\"scissor\",[0,0,At.drawingBufferWidth,At.drawingBufferHeight]),Vn(ee,ee,[0,0,At.drawingBufferWidth,At.drawingBufferHeight]);var ro={gl:At,context:Rn,strings:Er,next:Za,current:Kn,draw:to,elements:Oi,buffer:Ui,shader:yn,attributes:Bn.state,vao:Bn,uniforms:On,framebuffer:cn,extensions:Wr,timer:Dn,isBufferArgs:vi},Ao={primTypes:Ki,compareFuncs:qr,blendFuncs:ui,blendEquations:Ln,stencilOps:Kr,glTypes:bi,orientationType:ii};gn&&(Ao.backBuffer=[oe],Ao.drawBuffer=M(wi.maxDrawbuffers,function(vt){return vt===0?[0]:M(vt,function(Pt){return oi+Pt})}));var Jn=0;function Oa(){var vt=Pn({cache:fn}),Pt=vt.link,Wt=vt.global;vt.id=Jn++,vt.batchId=\"0\";var rr=Pt(ro),dr=vt.shared={props:\"a0\"};Object.keys(ro).forEach(function(Cr){dr[Cr]=Wt.def(rr,\".\",Cr)});var pr=vt.next={},kr=vt.current={};Object.keys(Aa).forEach(function(Cr){Array.isArray(Kn[Cr])&&(pr[Cr]=Wt.def(dr.next,\".\",Cr),kr[Cr]=Wt.def(dr.current,\".\",Cr))});var Ar=vt.constants={};Object.keys(Ao).forEach(function(Cr){Ar[Cr]=Wt.def(JSON.stringify(Ao[Cr]))}),vt.invoke=function(Cr,cr){switch(cr.type){case Cn:var Gr=[\"this\",dr.context,dr.props,vt.batchId];return Cr.def(Pt(cr.data),\".call(\",Gr.slice(0,Math.max(cr.data.length+1,4)),\")\");case sn:return Cr.def(dr.props,cr.data);case Ua:return Cr.def(dr.context,cr.data);case mo:return Cr.def(\"this\",cr.data);case Xo:return cr.data.append(vt,Cr),cr.data.ref;case Ts:return cr.data.toString();case Qo:return cr.data.map(function(ei){return vt.invoke(Cr,ei)})}},vt.attribCache={};var gr={};return vt.scopeAttrib=function(Cr){var cr=Er.id(Cr);if(cr in gr)return gr[cr];var Gr=Bn.scope[cr];Gr||(Gr=Bn.scope[cr]=new ji);var ei=gr[cr]=Pt(Gr);return ei},vt}function _o(vt){var Pt=vt.static,Wt=vt.dynamic,rr;if(se in Pt){var dr=!!Pt[se];rr=dn(function(kr,Ar){return dr}),rr.enable=dr}else if(se in Wt){var pr=Wt[se];rr=En(pr,function(kr,Ar){return kr.invoke(Ar,pr)})}return rr}function Po(vt,Pt){var Wt=vt.static,rr=vt.dynamic;if(qe in Wt){var dr=Wt[qe];return dr?(dr=cn.getFramebuffer(dr),dn(function(kr,Ar){var gr=kr.link(dr),Cr=kr.shared;Ar.set(Cr.framebuffer,\".next\",gr);var cr=Cr.context;return Ar.set(cr,\".\"+Oe,gr+\".width\"),Ar.set(cr,\".\"+Je,gr+\".height\"),gr})):dn(function(kr,Ar){var gr=kr.shared;Ar.set(gr.framebuffer,\".next\",\"null\");var Cr=gr.context;return Ar.set(Cr,\".\"+Oe,Cr+\".\"+Dt),Ar.set(Cr,\".\"+Je,Cr+\".\"+Ut),\"null\"})}else if(qe in rr){var pr=rr[qe];return En(pr,function(kr,Ar){var gr=kr.invoke(Ar,pr),Cr=kr.shared,cr=Cr.framebuffer,Gr=Ar.def(cr,\".getFramebuffer(\",gr,\")\");Ar.set(cr,\".next\",Gr);var ei=Cr.context;return Ar.set(ei,\".\"+Oe,Gr+\"?\"+Gr+\".width:\"+ei+\".\"+Dt),Ar.set(ei,\".\"+Je,Gr+\"?\"+Gr+\".height:\"+ei+\".\"+Ut),Gr})}else return null}function Jo(vt,Pt,Wt){var rr=vt.static,dr=vt.dynamic;function pr(gr){if(gr in rr){var Cr=rr[gr],cr=!0,Gr=Cr.x|0,ei=Cr.y|0,yi,tn;return\"width\"in Cr?yi=Cr.width|0:cr=!1,\"height\"in Cr?tn=Cr.height|0:cr=!1,new Jr(!cr&&Pt&&Pt.thisDep,!cr&&Pt&&Pt.contextDep,!cr&&Pt&&Pt.propDep,function(Qn,qn){var rn=Qn.shared.context,bn=yi;\"width\"in Cr||(bn=qn.def(rn,\".\",Oe,\"-\",Gr));var mn=tn;return\"height\"in Cr||(mn=qn.def(rn,\".\",Je,\"-\",ei)),[Gr,ei,bn,mn]})}else if(gr in dr){var Ri=dr[gr],ln=En(Ri,function(Qn,qn){var rn=Qn.invoke(qn,Ri),bn=Qn.shared.context,mn=qn.def(rn,\".x|0\"),Gn=qn.def(rn,\".y|0\"),da=qn.def('\"width\" in ',rn,\"?\",rn,\".width|0:\",\"(\",bn,\".\",Oe,\"-\",mn,\")\"),No=qn.def('\"height\" in ',rn,\"?\",rn,\".height|0:\",\"(\",bn,\".\",Je,\"-\",Gn,\")\");return[mn,Gn,da,No]});return Pt&&(ln.thisDep=ln.thisDep||Pt.thisDep,ln.contextDep=ln.contextDep||Pt.contextDep,ln.propDep=ln.propDep||Pt.propDep),ln}else return Pt?new Jr(Pt.thisDep,Pt.contextDep,Pt.propDep,function(Qn,qn){var rn=Qn.shared.context;return[0,0,qn.def(rn,\".\",Oe),qn.def(rn,\".\",Je)]}):null}var kr=pr(ee);if(kr){var Ar=kr;kr=new Jr(kr.thisDep,kr.contextDep,kr.propDep,function(gr,Cr){var cr=Ar.append(gr,Cr),Gr=gr.shared.context;return Cr.set(Gr,\".\"+He,cr[2]),Cr.set(Gr,\".\"+et,cr[3]),cr})}return{viewport:kr,scissor_box:pr(Q)}}function Yl(vt,Pt){var Wt=vt.static,rr=typeof Wt[it]==\"string\"&&typeof Wt[je]==\"string\";if(rr){if(Object.keys(Pt.dynamic).length>0)return null;var dr=Pt.static,pr=Object.keys(dr);if(pr.length>0&&typeof dr[pr[0]]==\"number\"){for(var kr=[],Ar=0;Ar<pr.length;++Ar)kr.push([dr[pr[Ar]]|0,pr[Ar]]);return kr}}return null}function $c(vt,Pt,Wt){var rr=vt.static,dr=vt.dynamic;function pr(cr){if(cr in rr){var Gr=Er.id(rr[cr]),ei=dn(function(){return Gr});return ei.id=Gr,ei}else if(cr in dr){var yi=dr[cr];return En(yi,function(tn,Ri){var ln=tn.invoke(Ri,yi),Qn=Ri.def(tn.shared.strings,\".id(\",ln,\")\");return Qn})}return null}var kr=pr(it),Ar=pr(je),gr=null,Cr;return un(kr)&&un(Ar)?(gr=yn.program(Ar.id,kr.id,null,Wt),Cr=dn(function(cr,Gr){return cr.link(gr)})):Cr=new Jr(kr&&kr.thisDep||Ar&&Ar.thisDep,kr&&kr.contextDep||Ar&&Ar.contextDep,kr&&kr.propDep||Ar&&Ar.propDep,function(cr,Gr){var ei=cr.shared.shader,yi;kr?yi=kr.append(cr,Gr):yi=Gr.def(ei,\".\",it);var tn;Ar?tn=Ar.append(cr,Gr):tn=Gr.def(ei,\".\",je);var Ri=ei+\".program(\"+tn+\",\"+yi;return Gr.def(Ri+\")\")}),{frag:kr,vert:Ar,progVar:Cr,program:gr}}function xs(vt,Pt){var Wt=vt.static,rr=vt.dynamic,dr={},pr=!1;function kr(){if(he in Wt){var qn=Wt[he];return qn!==null&&Bn.getVAO(qn)===null&&(qn=Bn.createVAO(qn)),pr=!0,dr.vao=qn,dn(function(bn){var mn=Bn.getVAO(qn);return mn?bn.link(mn):\"null\"})}else if(he in rr){pr=!0;var rn=rr[he];return En(rn,function(bn,mn){var Gn=bn.invoke(mn,rn);return mn.def(bn.shared.vao+\".getVAO(\"+Gn+\")\")})}return null}var Ar=kr(),gr=!1;function Cr(){if(yt in Wt){var qn=Wt[yt];if(dr.elements=qn,vi(qn)){var rn=dr.elements=Oi.create(qn,!0);qn=Oi.getElements(rn),gr=!0}else qn&&(qn=Oi.getElements(qn),gr=!0);var bn=dn(function(Gn,da){if(qn){var No=Gn.link(qn);return Gn.ELEMENTS=No,No}return Gn.ELEMENTS=null,null});return bn.value=qn,bn}else if(yt in rr){gr=!0;var mn=rr[yt];return En(mn,function(Gn,da){var No=Gn.shared,Do=No.isBufferArgs,ps=No.elements,fo=Gn.invoke(da,mn),as=da.def(\"null\"),tl=da.def(Do,\"(\",fo,\")\"),zu=Gn.cond(tl).then(as,\"=\",ps,\".createStream(\",fo,\");\").else(as,\"=\",ps,\".getElements(\",fo,\");\");return da.entry(zu),da.exit(Gn.cond(tl).then(ps,\".destroyStream(\",as,\");\")),Gn.ELEMENTS=as,as})}else if(pr)return new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(Gn,da){return da.def(Gn.shared.vao+\".currentVAO?\"+Gn.shared.elements+\".getElements(\"+Gn.shared.vao+\".currentVAO.elements):null\")});return null}var cr=Cr();function Gr(){if(Ot in Wt){var qn=Wt[Ot];return dr.primitive=qn,dn(function(bn,mn){return Ki[qn]})}else if(Ot in rr){var rn=rr[Ot];return En(rn,function(bn,mn){var Gn=bn.constants.primTypes,da=bn.invoke(mn,rn);return mn.def(Gn,\"[\",da,\"]\")})}else{if(gr)return un(cr)?cr.value?dn(function(bn,mn){return mn.def(bn.ELEMENTS,\".primType\")}):dn(function(){return Fl}):new Jr(cr.thisDep,cr.contextDep,cr.propDep,function(bn,mn){var Gn=bn.ELEMENTS;return mn.def(Gn,\"?\",Gn,\".primType:\",Fl)});if(pr)return new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(bn,mn){return mn.def(bn.shared.vao+\".currentVAO?\"+bn.shared.vao+\".currentVAO.primitive:\"+Fl)})}return null}function ei(qn,rn){if(qn in Wt){var bn=Wt[qn]|0;return rn?dr.offset=bn:dr.instances=bn,dn(function(Gn,da){return rn&&(Gn.OFFSET=bn),bn})}else if(qn in rr){var mn=rr[qn];return En(mn,function(Gn,da){var No=Gn.invoke(da,mn);return rn&&(Gn.OFFSET=No),No})}else if(rn){if(gr)return dn(function(Gn,da){return Gn.OFFSET=0,0});if(pr)return new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(Gn,da){return da.def(Gn.shared.vao+\".currentVAO?\"+Gn.shared.vao+\".currentVAO.offset:0\")})}else if(pr)return new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(Gn,da){return da.def(Gn.shared.vao+\".currentVAO?\"+Gn.shared.vao+\".currentVAO.instances:-1\")});return null}var yi=ei(hr,!0);function tn(){if(Nt in Wt){var qn=Wt[Nt]|0;return dr.count=qn,dn(function(){return qn})}else if(Nt in rr){var rn=rr[Nt];return En(rn,function(da,No){var Do=da.invoke(No,rn);return Do})}else if(gr)if(un(cr)){if(cr)return yi?new Jr(yi.thisDep,yi.contextDep,yi.propDep,function(da,No){var Do=No.def(da.ELEMENTS,\".vertCount-\",da.OFFSET);return Do}):dn(function(da,No){return No.def(da.ELEMENTS,\".vertCount\")});var bn=dn(function(){return-1});return bn}else{var mn=new Jr(cr.thisDep||yi.thisDep,cr.contextDep||yi.contextDep,cr.propDep||yi.propDep,function(da,No){var Do=da.ELEMENTS;return da.OFFSET?No.def(Do,\"?\",Do,\".vertCount-\",da.OFFSET,\":-1\"):No.def(Do,\"?\",Do,\".vertCount:-1\")});return mn}else if(pr){var Gn=new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(da,No){return No.def(da.shared.vao,\".currentVAO?\",da.shared.vao,\".currentVAO.count:-1\")});return Gn}return null}var Ri=Gr(),ln=tn(),Qn=ei(Sr,!1);return{elements:cr,primitive:Ri,count:ln,instances:Qn,offset:yi,vao:Ar,vaoActive:pr,elementsActive:gr,static:dr}}function Qc(vt,Pt){var Wt=vt.static,rr=vt.dynamic,dr={};return wn.forEach(function(pr){var kr=aa(pr);function Ar(gr,Cr){if(pr in Wt){var cr=gr(Wt[pr]);dr[kr]=dn(function(){return cr})}else if(pr in rr){var Gr=rr[pr];dr[kr]=En(Gr,function(ei,yi){return Cr(ei,yi,ei.invoke(yi,Gr))})}}switch(pr){case Ru:case Bo:case ys:case Jc:case ia:case B:case Kc:case Dc:case Da:case Ko:return Ar(function(gr){return gr},function(gr,Cr,cr){return cr});case Ka:return Ar(function(gr){return qr[gr]},function(gr,Cr,cr){var Gr=gr.constants.compareFuncs;return Cr.def(Gr,\"[\",cr,\"]\")});case vs:return Ar(function(gr){return gr},function(gr,Cr,cr){var Gr=Cr.def(\"+\",cr,\"[0]\"),ei=Cr.def(\"+\",cr,\"[1]\");return[Gr,ei]});case Rs:return Ar(function(gr){var Cr=\"srcRGB\"in gr?gr.srcRGB:gr.src,cr=\"srcAlpha\"in gr?gr.srcAlpha:gr.src,Gr=\"dstRGB\"in gr?gr.dstRGB:gr.dst,ei=\"dstAlpha\"in gr?gr.dstAlpha:gr.dst;return[ui[Cr],ui[Gr],ui[cr],ui[ei]]},function(gr,Cr,cr){var Gr=gr.constants.blendFuncs;function ei(rn,bn){var mn=Cr.def('\"',rn,bn,'\" in ',cr,\"?\",cr,\".\",rn,bn,\":\",cr,\".\",rn);return mn}var yi=ei(\"src\",\"RGB\"),tn=ei(\"dst\",\"RGB\"),Ri=Cr.def(Gr,\"[\",yi,\"]\"),ln=Cr.def(Gr,\"[\",ei(\"src\",\"Alpha\"),\"]\"),Qn=Cr.def(Gr,\"[\",tn,\"]\"),qn=Cr.def(Gr,\"[\",ei(\"dst\",\"Alpha\"),\"]\");return[Ri,Qn,ln,qn]});case Gs:return Ar(function(gr){if(typeof gr==\"string\")return[Ln[gr],Ln[gr]];if(typeof gr==\"object\")return[Ln[gr.rgb],Ln[gr.alpha]]},function(gr,Cr,cr){var Gr=gr.constants.blendEquations,ei=Cr.def(),yi=Cr.def(),tn=gr.cond(\"typeof \",cr,'===\"string\"');return tn.then(ei,\"=\",yi,\"=\",Gr,\"[\",cr,\"];\"),tn.else(ei,\"=\",Gr,\"[\",cr,\".rgb];\",yi,\"=\",Gr,\"[\",cr,\".alpha];\"),Cr(tn),[ei,yi]});case yl:return Ar(function(gr){return M(4,function(Cr){return+gr[Cr]})},function(gr,Cr,cr){return M(4,function(Gr){return Cr.def(\"+\",cr,\"[\",Gr,\"]\")})});case yc:return Ar(function(gr){return gr|0},function(gr,Cr,cr){return Cr.def(cr,\"|0\")});case _c:return Ar(function(gr){var Cr=gr.cmp||\"keep\",cr=gr.ref||0,Gr=\"mask\"in gr?gr.mask:-1;return[qr[Cr],cr,Gr]},function(gr,Cr,cr){var Gr=gr.constants.compareFuncs,ei=Cr.def('\"cmp\" in ',cr,\"?\",Gr,\"[\",cr,\".cmp]\",\":\",tt),yi=Cr.def(cr,\".ref|0\"),tn=Cr.def('\"mask\" in ',cr,\"?\",cr,\".mask|0:-1\");return[ei,yi,tn]});case le:case w:return Ar(function(gr){var Cr=gr.fail||\"keep\",cr=gr.zfail||\"keep\",Gr=gr.zpass||\"keep\";return[pr===w?oe:Z,Kr[Cr],Kr[cr],Kr[Gr]]},function(gr,Cr,cr){var Gr=gr.constants.stencilOps;function ei(yi){return Cr.def('\"',yi,'\" in ',cr,\"?\",Gr,\"[\",cr,\".\",yi,\"]:\",tt)}return[pr===w?oe:Z,ei(\"fail\"),ei(\"zfail\"),ei(\"zpass\")]});case Du:return Ar(function(gr){var Cr=gr.factor|0,cr=gr.units|0;return[Cr,cr]},function(gr,Cr,cr){var Gr=Cr.def(cr,\".factor|0\"),ei=Cr.def(cr,\".units|0\");return[Gr,ei]});case ac:return Ar(function(gr){var Cr=0;return gr===\"front\"?Cr=Z:gr===\"back\"&&(Cr=oe),Cr},function(gr,Cr,cr){return Cr.def(cr,'===\"front\"?',Z,\":\",oe)});case bu:return Ar(function(gr){return gr},function(gr,Cr,cr){return cr});case mf:return Ar(function(gr){return ii[gr]},function(gr,Cr,cr){return Cr.def(cr+'===\"cw\"?'+we+\":\"+Be)});case nu:return Ar(function(gr){return gr.map(function(Cr){return!!Cr})},function(gr,Cr,cr){return M(4,function(Gr){return\"!!\"+cr+\"[\"+Gr+\"]\"})});case eo:return Ar(function(gr){var Cr=\"value\"in gr?gr.value:1,cr=!!gr.invert;return[Cr,cr]},function(gr,Cr,cr){var Gr=Cr.def('\"value\" in ',cr,\"?+\",cr,\".value:1\"),ei=Cr.def(\"!!\",cr,\".invert\");return[Gr,ei]})}}),dr}function El(vt,Pt){var Wt=vt.static,rr=vt.dynamic,dr={};return Object.keys(Wt).forEach(function(pr){var kr=Wt[pr],Ar;if(typeof kr==\"number\"||typeof kr==\"boolean\")Ar=dn(function(){return kr});else if(typeof kr==\"function\"){var gr=kr._reglType;gr===\"texture2d\"||gr===\"textureCube\"?Ar=dn(function(Cr){return Cr.link(kr)}):(gr===\"framebuffer\"||gr===\"framebufferCube\")&&(Ar=dn(function(Cr){return Cr.link(kr.color[0])}))}else an(kr)&&(Ar=dn(function(Cr){var cr=Cr.global.def(\"[\",M(kr.length,function(Gr){return kr[Gr]}),\"]\");return cr}));Ar.value=kr,dr[pr]=Ar}),Object.keys(rr).forEach(function(pr){var kr=rr[pr];dr[pr]=En(kr,function(Ar,gr){return Ar.invoke(gr,kr)})}),dr}function bc(vt,Pt){var Wt=vt.static,rr=vt.dynamic,dr={};return Object.keys(Wt).forEach(function(pr){var kr=Wt[pr],Ar=Er.id(pr),gr=new ji;if(vi(kr))gr.state=Ea,gr.buffer=Ui.getBuffer(Ui.create(kr,mr,!1,!0)),gr.type=0;else{var Cr=Ui.getBuffer(kr);if(Cr)gr.state=Ea,gr.buffer=Cr,gr.type=0;else if(\"constant\"in kr){var cr=kr.constant;gr.buffer=\"null\",gr.state=qa,typeof cr==\"number\"?gr.x=cr:Ma.forEach(function(Qn,qn){qn<cr.length&&(gr[Qn]=cr[qn])})}else{vi(kr.buffer)?Cr=Ui.getBuffer(Ui.create(kr.buffer,mr,!1,!0)):Cr=Ui.getBuffer(kr.buffer);var Gr=kr.offset|0,ei=kr.stride|0,yi=kr.size|0,tn=!!kr.normalized,Ri=0;\"type\"in kr&&(Ri=bi[kr.type]);var ln=kr.divisor|0;gr.buffer=Cr,gr.state=Ea,gr.size=yi,gr.normalized=tn,gr.type=Ri||Cr.dtype,gr.offset=Gr,gr.stride=ei,gr.divisor=ln}}dr[pr]=dn(function(Qn,qn){var rn=Qn.attribCache;if(Ar in rn)return rn[Ar];var bn={isStream:!1};return Object.keys(gr).forEach(function(mn){bn[mn]=gr[mn]}),gr.buffer&&(bn.buffer=Qn.link(gr.buffer),bn.type=bn.type||bn.buffer+\".dtype\"),rn[Ar]=bn,bn})}),Object.keys(rr).forEach(function(pr){var kr=rr[pr];function Ar(gr,Cr){var cr=gr.invoke(Cr,kr),Gr=gr.shared,ei=gr.constants,yi=Gr.isBufferArgs,tn=Gr.buffer,Ri={isStream:Cr.def(!1)},ln=new ji;ln.state=Ea,Object.keys(ln).forEach(function(bn){Ri[bn]=Cr.def(\"\"+ln[bn])});var Qn=Ri.buffer,qn=Ri.type;Cr(\"if(\",yi,\"(\",cr,\")){\",Ri.isStream,\"=true;\",Qn,\"=\",tn,\".createStream(\",mr,\",\",cr,\");\",qn,\"=\",Qn,\".dtype;\",\"}else{\",Qn,\"=\",tn,\".getBuffer(\",cr,\");\",\"if(\",Qn,\"){\",qn,\"=\",Qn,\".dtype;\",'}else if(\"constant\" in ',cr,\"){\",Ri.state,\"=\",qa,\";\",\"if(typeof \"+cr+'.constant === \"number\"){',Ri[Ma[0]],\"=\",cr,\".constant;\",Ma.slice(1).map(function(bn){return Ri[bn]}).join(\"=\"),\"=0;\",\"}else{\",Ma.map(function(bn,mn){return Ri[bn]+\"=\"+cr+\".constant.length>\"+mn+\"?\"+cr+\".constant[\"+mn+\"]:0;\"}).join(\"\"),\"}}else{\",\"if(\",yi,\"(\",cr,\".buffer)){\",Qn,\"=\",tn,\".createStream(\",mr,\",\",cr,\".buffer);\",\"}else{\",Qn,\"=\",tn,\".getBuffer(\",cr,\".buffer);\",\"}\",qn,'=\"type\" in ',cr,\"?\",ei.glTypes,\"[\",cr,\".type]:\",Qn,\".dtype;\",Ri.normalized,\"=!!\",cr,\".normalized;\");function rn(bn){Cr(Ri[bn],\"=\",cr,\".\",bn,\"|0;\")}return rn(\"size\"),rn(\"offset\"),rn(\"stride\"),rn(\"divisor\"),Cr(\"}}\"),Cr.exit(\"if(\",Ri.isStream,\"){\",tn,\".destroyStream(\",Qn,\");\",\"}\"),Ri}dr[pr]=En(kr,Ar)}),dr}function wc(vt){var Pt=vt.static,Wt=vt.dynamic,rr={};return Object.keys(Pt).forEach(function(dr){var pr=Pt[dr];rr[dr]=dn(function(kr,Ar){return typeof pr==\"number\"||typeof pr==\"boolean\"?\"\"+pr:kr.link(pr)})}),Object.keys(Wt).forEach(function(dr){var pr=Wt[dr];rr[dr]=En(pr,function(kr,Ar){return kr.invoke(Ar,pr)})}),rr}function yf(vt,Pt,Wt,rr,dr){var pr=vt.static,kr=vt.dynamic,Ar=Yl(vt,Pt),gr=Po(vt,dr),Cr=Jo(vt,gr,dr),cr=xs(vt,dr),Gr=Qc(vt,dr),ei=$c(vt,dr,Ar);function yi(rn){var bn=Cr[rn];bn&&(Gr[rn]=bn)}yi(ee),yi(aa(Q));var tn=Object.keys(Gr).length>0,Ri={framebuffer:gr,draw:cr,shader:ei,state:Gr,dirty:tn,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(Ri.profile=_o(vt,dr),Ri.uniforms=El(Wt,dr),Ri.drawVAO=Ri.scopeVAO=cr.vao,!Ri.drawVAO&&ei.program&&!Ar&&Wr.angle_instanced_arrays&&cr.static.elements){var ln=!0,Qn=ei.program.attributes.map(function(rn){var bn=Pt.static[rn];return ln=ln&&!!bn,bn});if(ln&&Qn.length>0){var qn=Bn.getVAO(Bn.createVAO({attributes:Qn,elements:cr.static.elements}));Ri.drawVAO=new Jr(null,null,null,function(rn,bn){return rn.link(qn)}),Ri.useVAO=!0}}return Ar?Ri.useVAO=!0:Ri.attributes=bc(Pt,dr),Ri.context=wc(rr,dr),Ri}function Gl(vt,Pt,Wt){var rr=vt.shared,dr=rr.context,pr=vt.scope();Object.keys(Wt).forEach(function(kr){Pt.save(dr,\".\"+kr);var Ar=Wt[kr],gr=Ar.append(vt,Pt);Array.isArray(gr)?pr(dr,\".\",kr,\"=[\",gr.join(),\"];\"):pr(dr,\".\",kr,\"=\",gr,\";\")}),Pt(pr)}function Fc(vt,Pt,Wt,rr){var dr=vt.shared,pr=dr.gl,kr=dr.framebuffer,Ar;gn&&(Ar=Pt.def(dr.extensions,\".webgl_draw_buffers\"));var gr=vt.constants,Cr=gr.drawBuffer,cr=gr.backBuffer,Gr;Wt?Gr=Wt.append(vt,Pt):Gr=Pt.def(kr,\".next\"),rr||Pt(\"if(\",Gr,\"!==\",kr,\".cur){\"),Pt(\"if(\",Gr,\"){\",pr,\".bindFramebuffer(\",Ir,\",\",Gr,\".framebuffer);\"),gn&&Pt(Ar,\".drawBuffersWEBGL(\",Cr,\"[\",Gr,\".colorAttachments.length]);\"),Pt(\"}else{\",pr,\".bindFramebuffer(\",Ir,\",null);\"),gn&&Pt(Ar,\".drawBuffersWEBGL(\",cr,\");\"),Pt(\"}\",kr,\".cur=\",Gr,\";\"),rr||Pt(\"}\")}function ef(vt,Pt,Wt){var rr=vt.shared,dr=rr.gl,pr=vt.current,kr=vt.next,Ar=rr.current,gr=rr.next,Cr=vt.cond(Ar,\".dirty\");wn.forEach(function(cr){var Gr=aa(cr);if(!(Gr in Wt.state)){var ei,yi;if(Gr in kr){ei=kr[Gr],yi=pr[Gr];var tn=M(Kn[Gr].length,function(ln){return Cr.def(ei,\"[\",ln,\"]\")});Cr(vt.cond(tn.map(function(ln,Qn){return ln+\"!==\"+yi+\"[\"+Qn+\"]\"}).join(\"||\")).then(dr,\".\",Aa[Gr],\"(\",tn,\");\",tn.map(function(ln,Qn){return yi+\"[\"+Qn+\"]=\"+ln}).join(\";\"),\";\"))}else{ei=Cr.def(gr,\".\",Gr);var Ri=vt.cond(ei,\"!==\",Ar,\".\",Gr);Cr(Ri),Gr in vn?Ri(vt.cond(ei).then(dr,\".enable(\",vn[Gr],\");\").else(dr,\".disable(\",vn[Gr],\");\"),Ar,\".\",Gr,\"=\",ei,\";\"):Ri(dr,\".\",Aa[Gr],\"(\",ei,\");\",Ar,\".\",Gr,\"=\",ei,\";\")}}}),Object.keys(Wt.state).length===0&&Cr(Ar,\".dirty=false;\"),Pt(Cr)}function ls(vt,Pt,Wt,rr){var dr=vt.shared,pr=vt.current,kr=dr.current,Ar=dr.gl,gr;ci(Object.keys(Wt)).forEach(function(Cr){var cr=Wt[Cr];if(!(rr&&!rr(cr))){var Gr=cr.append(vt,Pt);if(vn[Cr]){var ei=vn[Cr];un(cr)?(gr=vt.link(Gr,{stable:!0}),Pt(vt.cond(gr).then(Ar,\".enable(\",ei,\");\").else(Ar,\".disable(\",ei,\");\")),Pt(kr,\".\",Cr,\"=\",gr,\";\")):(Pt(vt.cond(Gr).then(Ar,\".enable(\",ei,\");\").else(Ar,\".disable(\",ei,\");\")),Pt(kr,\".\",Cr,\"=\",Gr,\";\"))}else if(an(Gr)){var yi=pr[Cr];Pt(Ar,\".\",Aa[Cr],\"(\",Gr,\");\",Gr.map(function(tn,Ri){return yi+\"[\"+Ri+\"]=\"+tn}).join(\";\"),\";\")}else un(cr)?(gr=vt.link(Gr,{stable:!0}),Pt(Ar,\".\",Aa[Cr],\"(\",gr,\");\",kr,\".\",Cr,\"=\",gr,\";\")):Pt(Ar,\".\",Aa[Cr],\"(\",Gr,\");\",kr,\".\",Cr,\"=\",Gr,\";\")}})}function _f(vt,Pt){Un&&(vt.instancing=Pt.def(vt.shared.extensions,\".angle_instanced_arrays\"))}function ns(vt,Pt,Wt,rr,dr){var pr=vt.shared,kr=vt.stats,Ar=pr.current,gr=pr.timer,Cr=Wt.profile;function cr(){return typeof performance==\"undefined\"?\"Date.now()\":\"performance.now()\"}var Gr,ei;function yi(rn){Gr=Pt.def(),rn(Gr,\"=\",cr(),\";\"),typeof dr==\"string\"?rn(kr,\".count+=\",dr,\";\"):rn(kr,\".count++;\"),Dn&&(rr?(ei=Pt.def(),rn(ei,\"=\",gr,\".getNumPendingQueries();\")):rn(gr,\".beginQuery(\",kr,\");\"))}function tn(rn){rn(kr,\".cpuTime+=\",cr(),\"-\",Gr,\";\"),Dn&&(rr?rn(gr,\".pushScopeStats(\",ei,\",\",gr,\".getNumPendingQueries(),\",kr,\");\"):rn(gr,\".endQuery();\"))}function Ri(rn){var bn=Pt.def(Ar,\".profile\");Pt(Ar,\".profile=\",rn,\";\"),Pt.exit(Ar,\".profile=\",bn,\";\")}var ln;if(Cr){if(un(Cr)){Cr.enable?(yi(Pt),tn(Pt.exit),Ri(\"true\")):Ri(\"false\");return}ln=Cr.append(vt,Pt),Ri(ln)}else ln=Pt.def(Ar,\".profile\");var Qn=vt.block();yi(Qn),Pt(\"if(\",ln,\"){\",Qn,\"}\");var qn=vt.block();tn(qn),Pt.exit(\"if(\",ln,\"){\",qn,\"}\")}function Y(vt,Pt,Wt,rr,dr){var pr=vt.shared;function kr(gr){switch(gr){case To:case Ds:case _l:return 2;case Wa:case As:case Hl:return 3;case co:case yo:case Zu:return 4;default:return 1}}function Ar(gr,Cr,cr){var Gr=pr.gl,ei=Pt.def(gr,\".location\"),yi=Pt.def(pr.attributes,\"[\",ei,\"]\"),tn=cr.state,Ri=cr.buffer,ln=[cr.x,cr.y,cr.z,cr.w],Qn=[\"buffer\",\"normalized\",\"offset\",\"stride\"];function qn(){Pt(\"if(!\",yi,\".buffer){\",Gr,\".enableVertexAttribArray(\",ei,\");}\");var bn=cr.type,mn;if(cr.size?mn=Pt.def(cr.size,\"||\",Cr):mn=Cr,Pt(\"if(\",yi,\".type!==\",bn,\"||\",yi,\".size!==\",mn,\"||\",Qn.map(function(da){return yi+\".\"+da+\"!==\"+cr[da]}).join(\"||\"),\"){\",Gr,\".bindBuffer(\",mr,\",\",Ri,\".buffer);\",Gr,\".vertexAttribPointer(\",[ei,mn,bn,cr.normalized,cr.stride,cr.offset],\");\",yi,\".type=\",bn,\";\",yi,\".size=\",mn,\";\",Qn.map(function(da){return yi+\".\"+da+\"=\"+cr[da]+\";\"}).join(\"\"),\"}\"),Un){var Gn=cr.divisor;Pt(\"if(\",yi,\".divisor!==\",Gn,\"){\",vt.instancing,\".vertexAttribDivisorANGLE(\",[ei,Gn],\");\",yi,\".divisor=\",Gn,\";}\")}}function rn(){Pt(\"if(\",yi,\".buffer){\",Gr,\".disableVertexAttribArray(\",ei,\");\",yi,\".buffer=null;\",\"}if(\",Ma.map(function(bn,mn){return yi+\".\"+bn+\"!==\"+ln[mn]}).join(\"||\"),\"){\",Gr,\".vertexAttrib4f(\",ei,\",\",ln,\");\",Ma.map(function(bn,mn){return yi+\".\"+bn+\"=\"+ln[mn]+\";\"}).join(\"\"),\"}\")}tn===Ea?qn():tn===qa?rn():(Pt(\"if(\",tn,\"===\",Ea,\"){\"),qn(),Pt(\"}else{\"),rn(),Pt(\"}\"))}rr.forEach(function(gr){var Cr=gr.name,cr=Wt.attributes[Cr],Gr;if(cr){if(!dr(cr))return;Gr=cr.append(vt,Pt)}else{if(!dr(Nn))return;var ei=vt.scopeAttrib(Cr);Gr={},Object.keys(new ji).forEach(function(yi){Gr[yi]=Pt.def(ei,\".\",yi)})}Ar(vt.link(gr),kr(gr.info.type),Gr)})}function z(vt,Pt,Wt,rr,dr,pr){for(var kr=vt.shared,Ar=kr.gl,gr,Cr=0;Cr<rr.length;++Cr){var cr=rr[Cr],Gr=cr.name,ei=cr.info.type,yi=Wt.uniforms[Gr],tn=vt.link(cr),Ri=tn+\".location\",ln;if(yi){if(!dr(yi))continue;if(un(yi)){var Qn=yi.value;if(ei===zc||ei===zl){var qn=vt.link(Qn._texture||Qn.color[0]._texture);Pt(Ar,\".uniform1i(\",Ri,\",\",qn+\".bind());\"),Pt.exit(qn,\".unbind();\")}else if(ei===cu||ei===el||ei===au){var rn=vt.global.def(\"new Float32Array([\"+Array.prototype.slice.call(Qn)+\"])\"),bn=2;ei===el?bn=3:ei===au&&(bn=4),Pt(Ar,\".uniformMatrix\",bn,\"fv(\",Ri,\",false,\",rn,\");\")}else{switch(ei){case Ga:gr=\"1f\";break;case To:gr=\"2f\";break;case Wa:gr=\"3f\";break;case co:gr=\"4f\";break;case po:gr=\"1i\";break;case Ro:gr=\"1i\";break;case _l:gr=\"2i\";break;case Ds:gr=\"2i\";break;case Hl:gr=\"3i\";break;case As:gr=\"3i\";break;case Zu:gr=\"4i\";break;case yo:gr=\"4i\";break}Pt(Ar,\".uniform\",gr,\"(\",Ri,\",\",an(Qn)?Array.prototype.slice.call(Qn):Qn,\");\")}continue}else ln=yi.append(vt,Pt)}else{if(!dr(Nn))continue;ln=Pt.def(kr.uniforms,\"[\",Er.id(Gr),\"]\")}ei===zc?Pt(\"if(\",ln,\"&&\",ln,'._reglType===\"framebuffer\"){',ln,\"=\",ln,\".color[0];\",\"}\"):ei===zl&&Pt(\"if(\",ln,\"&&\",ln,'._reglType===\"framebufferCube\"){',ln,\"=\",ln,\".color[0];\",\"}\");var mn=1;switch(ei){case zc:case zl:var Gn=Pt.def(ln,\"._texture\");Pt(Ar,\".uniform1i(\",Ri,\",\",Gn,\".bind());\"),Pt.exit(Gn,\".unbind();\");continue;case Ro:case po:gr=\"1i\";break;case Ds:case _l:gr=\"2i\",mn=2;break;case As:case Hl:gr=\"3i\",mn=3;break;case yo:case Zu:gr=\"4i\",mn=4;break;case Ga:gr=\"1f\";break;case To:gr=\"2f\",mn=2;break;case Wa:gr=\"3f\",mn=3;break;case co:gr=\"4f\",mn=4;break;case cu:gr=\"Matrix2fv\";break;case el:gr=\"Matrix3fv\";break;case au:gr=\"Matrix4fv\";break}if(gr.charAt(0)===\"M\"){Pt(Ar,\".uniform\",gr,\"(\",Ri,\",\");var da=Math.pow(ei-cu+2,2),No=vt.global.def(\"new Float32Array(\",da,\")\");Array.isArray(ln)?Pt(\"false,(\",M(da,function(tl){return No+\"[\"+tl+\"]=\"+ln[tl]}),\",\",No,\")\"):Pt(\"false,(Array.isArray(\",ln,\")||\",ln,\" instanceof Float32Array)?\",ln,\":(\",M(da,function(tl){return No+\"[\"+tl+\"]=\"+ln+\"[\"+tl+\"]\"}),\",\",No,\")\"),Pt(\");\")}else if(mn>1){for(var Do=[],ps=[],fo=0;fo<mn;++fo)Array.isArray(ln)?ps.push(ln[fo]):ps.push(Pt.def(ln+\"[\"+fo+\"]\")),pr&&Do.push(Pt.def());pr&&Pt(\"if(!\",vt.batchId,\"||\",Do.map(function(tl,zu){return tl+\"!==\"+ps[zu]}).join(\"||\"),\"){\",Do.map(function(tl,zu){return tl+\"=\"+ps[zu]+\";\"}).join(\"\")),Pt(Ar,\".uniform\",gr,\"(\",Ri,\",\",ps.join(\",\"),\");\"),pr&&Pt(\"}\")}else{if(pr){var as=Pt.def();Pt(\"if(!\",vt.batchId,\"||\",as,\"!==\",ln,\"){\",as,\"=\",ln,\";\")}Pt(Ar,\".uniform\",gr,\"(\",Ri,\",\",ln,\");\"),pr&&Pt(\"}\")}}}function K(vt,Pt,Wt,rr){var dr=vt.shared,pr=dr.gl,kr=dr.draw,Ar=rr.draw;function gr(){var mn=Ar.elements,Gn,da=Pt;return mn?((mn.contextDep&&rr.contextDynamic||mn.propDep)&&(da=Wt),Gn=mn.append(vt,da),Ar.elementsActive&&da(\"if(\"+Gn+\")\"+pr+\".bindBuffer(\"+Rr+\",\"+Gn+\".buffer.buffer);\")):(Gn=da.def(),da(Gn,\"=\",kr,\".\",yt,\";\",\"if(\",Gn,\"){\",pr,\".bindBuffer(\",Rr,\",\",Gn,\".buffer.buffer);}\",\"else if(\",dr.vao,\".currentVAO){\",Gn,\"=\",vt.shared.elements+\".getElements(\"+dr.vao,\".currentVAO.elements);\",ca?\"\":\"if(\"+Gn+\")\"+pr+\".bindBuffer(\"+Rr+\",\"+Gn+\".buffer.buffer);\",\"}\")),Gn}function Cr(){var mn=Ar.count,Gn,da=Pt;return mn?((mn.contextDep&&rr.contextDynamic||mn.propDep)&&(da=Wt),Gn=mn.append(vt,da)):Gn=da.def(kr,\".\",Nt),Gn}var cr=gr();function Gr(mn){var Gn=Ar[mn];return Gn?Gn.contextDep&&rr.contextDynamic||Gn.propDep?Gn.append(vt,Wt):Gn.append(vt,Pt):Pt.def(kr,\".\",mn)}var ei=Gr(Ot),yi=Gr(hr),tn=Cr();if(typeof tn==\"number\"){if(tn===0)return}else Wt(\"if(\",tn,\"){\"),Wt.exit(\"}\");var Ri,ln;Un&&(Ri=Gr(Sr),ln=vt.instancing);var Qn=cr+\".type\",qn=Ar.elements&&un(Ar.elements)&&!Ar.vaoActive;function rn(){function mn(){Wt(ln,\".drawElementsInstancedANGLE(\",[ei,tn,Qn,yi+\"<<((\"+Qn+\"-\"+Ta+\")>>1)\",Ri],\");\")}function Gn(){Wt(ln,\".drawArraysInstancedANGLE(\",[ei,yi,tn,Ri],\");\")}cr&&cr!==\"null\"?qn?mn():(Wt(\"if(\",cr,\"){\"),mn(),Wt(\"}else{\"),Gn(),Wt(\"}\")):Gn()}function bn(){function mn(){Wt(pr+\".drawElements(\"+[ei,tn,Qn,yi+\"<<((\"+Qn+\"-\"+Ta+\")>>1)\"]+\");\")}function Gn(){Wt(pr+\".drawArrays(\"+[ei,yi,tn]+\");\")}cr&&cr!==\"null\"?qn?mn():(Wt(\"if(\",cr,\"){\"),mn(),Wt(\"}else{\"),Gn(),Wt(\"}\")):Gn()}Un&&(typeof Ri!=\"number\"||Ri>=0)?typeof Ri==\"string\"?(Wt(\"if(\",Ri,\">0){\"),rn(),Wt(\"}else if(\",Ri,\"<0){\"),bn(),Wt(\"}\")):rn():bn()}function O(vt,Pt,Wt,rr,dr){var pr=Oa(),kr=pr.proc(\"body\",dr);return Un&&(pr.instancing=kr.def(pr.shared.extensions,\".angle_instanced_arrays\")),vt(pr,kr,Wt,rr),pr.compile().body}function $(vt,Pt,Wt,rr){_f(vt,Pt),Wt.useVAO?Wt.drawVAO?Pt(vt.shared.vao,\".setVAO(\",Wt.drawVAO.append(vt,Pt),\");\"):Pt(vt.shared.vao,\".setVAO(\",vt.shared.vao,\".targetVAO);\"):(Pt(vt.shared.vao,\".setVAO(null);\"),Y(vt,Pt,Wt,rr.attributes,function(){return!0})),z(vt,Pt,Wt,rr.uniforms,function(){return!0},!1),K(vt,Pt,Pt,Wt)}function pe(vt,Pt){var Wt=vt.proc(\"draw\",1);_f(vt,Wt),Gl(vt,Wt,Pt.context),Fc(vt,Wt,Pt.framebuffer),ef(vt,Wt,Pt),ls(vt,Wt,Pt.state),ns(vt,Wt,Pt,!1,!0);var rr=Pt.shader.progVar.append(vt,Wt);if(Wt(vt.shared.gl,\".useProgram(\",rr,\".program);\"),Pt.shader.program)$(vt,Wt,Pt,Pt.shader.program);else{Wt(vt.shared.vao,\".setVAO(null);\");var dr=vt.global.def(\"{}\"),pr=Wt.def(rr,\".id\"),kr=Wt.def(dr,\"[\",pr,\"]\");Wt(vt.cond(kr).then(kr,\".call(this,a0);\").else(kr,\"=\",dr,\"[\",pr,\"]=\",vt.link(function(Ar){return O($,vt,Pt,Ar,1)}),\"(\",rr,\");\",kr,\".call(this,a0);\"))}Object.keys(Pt.state).length>0&&Wt(vt.shared.current,\".dirty=true;\"),vt.shared.vao&&Wt(vt.shared.vao,\".setVAO(null);\")}function de(vt,Pt,Wt,rr){vt.batchId=\"a1\",_f(vt,Pt);function dr(){return!0}Y(vt,Pt,Wt,rr.attributes,dr),z(vt,Pt,Wt,rr.uniforms,dr,!1),K(vt,Pt,Pt,Wt)}function Ie(vt,Pt,Wt,rr){_f(vt,Pt);var dr=Wt.contextDep,pr=Pt.def(),kr=\"a0\",Ar=\"a1\",gr=Pt.def();vt.shared.props=gr,vt.batchId=pr;var Cr=vt.scope(),cr=vt.scope();Pt(Cr.entry,\"for(\",pr,\"=0;\",pr,\"<\",Ar,\";++\",pr,\"){\",gr,\"=\",kr,\"[\",pr,\"];\",cr,\"}\",Cr.exit);function Gr(Qn){return Qn.contextDep&&dr||Qn.propDep}function ei(Qn){return!Gr(Qn)}if(Wt.needsContext&&Gl(vt,cr,Wt.context),Wt.needsFramebuffer&&Fc(vt,cr,Wt.framebuffer),ls(vt,cr,Wt.state,Gr),Wt.profile&&Gr(Wt.profile)&&ns(vt,cr,Wt,!1,!0),rr)Wt.useVAO?Wt.drawVAO?Gr(Wt.drawVAO)?cr(vt.shared.vao,\".setVAO(\",Wt.drawVAO.append(vt,cr),\");\"):Cr(vt.shared.vao,\".setVAO(\",Wt.drawVAO.append(vt,Cr),\");\"):Cr(vt.shared.vao,\".setVAO(\",vt.shared.vao,\".targetVAO);\"):(Cr(vt.shared.vao,\".setVAO(null);\"),Y(vt,Cr,Wt,rr.attributes,ei),Y(vt,cr,Wt,rr.attributes,Gr)),z(vt,Cr,Wt,rr.uniforms,ei,!1),z(vt,cr,Wt,rr.uniforms,Gr,!0),K(vt,Cr,cr,Wt);else{var yi=vt.global.def(\"{}\"),tn=Wt.shader.progVar.append(vt,cr),Ri=cr.def(tn,\".id\"),ln=cr.def(yi,\"[\",Ri,\"]\");cr(vt.shared.gl,\".useProgram(\",tn,\".program);\",\"if(!\",ln,\"){\",ln,\"=\",yi,\"[\",Ri,\"]=\",vt.link(function(Qn){return O(de,vt,Wt,Qn,2)}),\"(\",tn,\");}\",ln,\".call(this,a0[\",pr,\"],\",pr,\");\")}}function $e(vt,Pt){var Wt=vt.proc(\"batch\",2);vt.batchId=\"0\",_f(vt,Wt);var rr=!1,dr=!0;Object.keys(Pt.context).forEach(function(yi){rr=rr||Pt.context[yi].propDep}),rr||(Gl(vt,Wt,Pt.context),dr=!1);var pr=Pt.framebuffer,kr=!1;pr?(pr.propDep?rr=kr=!0:pr.contextDep&&rr&&(kr=!0),kr||Fc(vt,Wt,pr)):Fc(vt,Wt,null),Pt.state.viewport&&Pt.state.viewport.propDep&&(rr=!0);function Ar(yi){return yi.contextDep&&rr||yi.propDep}ef(vt,Wt,Pt),ls(vt,Wt,Pt.state,function(yi){return!Ar(yi)}),(!Pt.profile||!Ar(Pt.profile))&&ns(vt,Wt,Pt,!1,\"a1\"),Pt.contextDep=rr,Pt.needsContext=dr,Pt.needsFramebuffer=kr;var gr=Pt.shader.progVar;if(gr.contextDep&&rr||gr.propDep)Ie(vt,Wt,Pt,null);else{var Cr=gr.append(vt,Wt);if(Wt(vt.shared.gl,\".useProgram(\",Cr,\".program);\"),Pt.shader.program)Ie(vt,Wt,Pt,Pt.shader.program);else{Wt(vt.shared.vao,\".setVAO(null);\");var cr=vt.global.def(\"{}\"),Gr=Wt.def(Cr,\".id\"),ei=Wt.def(cr,\"[\",Gr,\"]\");Wt(vt.cond(ei).then(ei,\".call(this,a0,a1);\").else(ei,\"=\",cr,\"[\",Gr,\"]=\",vt.link(function(yi){return O(Ie,vt,Pt,yi,2)}),\"(\",Cr,\");\",ei,\".call(this,a0,a1);\"))}}Object.keys(Pt.state).length>0&&Wt(vt.shared.current,\".dirty=true;\"),vt.shared.vao&&Wt(vt.shared.vao,\".setVAO(null);\")}function pt(vt,Pt){var Wt=vt.proc(\"scope\",3);vt.batchId=\"a2\";var rr=vt.shared,dr=rr.current;if(Gl(vt,Wt,Pt.context),Pt.framebuffer&&Pt.framebuffer.append(vt,Wt),ci(Object.keys(Pt.state)).forEach(function(Ar){var gr=Pt.state[Ar],Cr=gr.append(vt,Wt);an(Cr)?Cr.forEach(function(cr,Gr){ma(cr)?Wt.set(vt.next[Ar],\"[\"+Gr+\"]\",cr):Wt.set(vt.next[Ar],\"[\"+Gr+\"]\",vt.link(cr,{stable:!0}))}):un(gr)?Wt.set(rr.next,\".\"+Ar,vt.link(Cr,{stable:!0})):Wt.set(rr.next,\".\"+Ar,Cr)}),ns(vt,Wt,Pt,!0,!0),[yt,hr,Nt,Sr,Ot].forEach(function(Ar){var gr=Pt.draw[Ar];if(gr){var Cr=gr.append(vt,Wt);ma(Cr)?Wt.set(rr.draw,\".\"+Ar,Cr):Wt.set(rr.draw,\".\"+Ar,vt.link(Cr),{stable:!0})}}),Object.keys(Pt.uniforms).forEach(function(Ar){var gr=Pt.uniforms[Ar].append(vt,Wt);Array.isArray(gr)&&(gr=\"[\"+gr.map(function(Cr){return ma(Cr)?Cr:vt.link(Cr,{stable:!0})})+\"]\"),Wt.set(rr.uniforms,\"[\"+vt.link(Er.id(Ar),{stable:!0})+\"]\",gr)}),Object.keys(Pt.attributes).forEach(function(Ar){var gr=Pt.attributes[Ar].append(vt,Wt),Cr=vt.scopeAttrib(Ar);Object.keys(new ji).forEach(function(cr){Wt.set(Cr,\".\"+cr,gr[cr])})}),Pt.scopeVAO){var pr=Pt.scopeVAO.append(vt,Wt);ma(pr)?Wt.set(rr.vao,\".targetVAO\",pr):Wt.set(rr.vao,\".targetVAO\",vt.link(pr,{stable:!0}))}function kr(Ar){var gr=Pt.shader[Ar];if(gr){var Cr=gr.append(vt,Wt);ma(Cr)?Wt.set(rr.shader,\".\"+Ar,Cr):Wt.set(rr.shader,\".\"+Ar,vt.link(Cr,{stable:!0}))}}kr(je),kr(it),Object.keys(Pt.state).length>0&&(Wt(dr,\".dirty=true;\"),Wt.exit(dr,\".dirty=true;\")),Wt(\"a1(\",vt.shared.context,\",a0,\",vt.batchId,\");\")}function Kt(vt){if(!(typeof vt!=\"object\"||an(vt))){for(var Pt=Object.keys(vt),Wt=0;Wt<Pt.length;++Wt)if(h.isDynamic(vt[Pt[Wt]]))return!0;return!1}}function ir(vt,Pt,Wt){var rr=Pt.static[Wt];if(!rr||!Kt(rr))return;var dr=vt.global,pr=Object.keys(rr),kr=!1,Ar=!1,gr=!1,Cr=vt.global.def(\"{}\");pr.forEach(function(Gr){var ei=rr[Gr];if(h.isDynamic(ei)){typeof ei==\"function\"&&(ei=rr[Gr]=h.unbox(ei));var yi=En(ei,null);kr=kr||yi.thisDep,gr=gr||yi.propDep,Ar=Ar||yi.contextDep}else{switch(dr(Cr,\".\",Gr,\"=\"),typeof ei){case\"number\":dr(ei);break;case\"string\":dr('\"',ei,'\"');break;case\"object\":Array.isArray(ei)&&dr(\"[\",ei.join(),\"]\");break;default:dr(vt.link(ei));break}dr(\";\")}});function cr(Gr,ei){pr.forEach(function(yi){var tn=rr[yi];if(h.isDynamic(tn)){var Ri=Gr.invoke(ei,tn);ei(Cr,\".\",yi,\"=\",Ri,\";\")}})}Pt.dynamic[Wt]=new h.DynamicVariable(Xo,{thisDep:kr,contextDep:Ar,propDep:gr,ref:Cr,append:cr}),delete Pt.static[Wt]}function Jt(vt,Pt,Wt,rr,dr){var pr=Oa();pr.stats=pr.link(dr),Object.keys(Pt.static).forEach(function(Ar){ir(pr,Pt,Ar)}),tr.forEach(function(Ar){ir(pr,vt,Ar)});var kr=yf(vt,Pt,Wt,rr,pr);return kr.shader.program&&(kr.shader.program.attributes.sort(function(Ar,gr){return Ar.name<gr.name?-1:1}),kr.shader.program.uniforms.sort(function(Ar,gr){return Ar.name<gr.name?-1:1})),pe(pr,kr),pt(pr,kr),$e(pr,kr),e(pr.compile(),{destroy:function(){kr.shader.program.destroy()}})}return{next:Za,current:Kn,procs:function(){var vt=Oa(),Pt=vt.proc(\"poll\"),Wt=vt.proc(\"refresh\"),rr=vt.block();Pt(rr),Wt(rr);var dr=vt.shared,pr=dr.gl,kr=dr.next,Ar=dr.current;rr(Ar,\".dirty=false;\"),Fc(vt,Pt),Fc(vt,Wt,null,!0);var gr;Un&&(gr=vt.link(Un)),Wr.oes_vertex_array_object&&Wt(vt.link(Wr.oes_vertex_array_object),\".bindVertexArrayOES(null);\");var Cr=Wt.def(dr.attributes),cr=Wt.def(0),Gr=vt.cond(cr,\".buffer\");Gr.then(pr,\".enableVertexAttribArray(i);\",pr,\".bindBuffer(\",mr,\",\",cr,\".buffer.buffer);\",pr,\".vertexAttribPointer(i,\",cr,\".size,\",cr,\".type,\",cr,\".normalized,\",cr,\".stride,\",cr,\".offset);\").else(pr,\".disableVertexAttribArray(i);\",pr,\".vertexAttrib4f(i,\",cr,\".x,\",cr,\".y,\",cr,\".z,\",cr,\".w);\",cr,\".buffer=null;\");var ei=vt.link(wi.maxAttributes,{stable:!0});return Wt(\"for(var i=0;i<\",ei,\";++i){\",cr,\"=\",Cr,\"[i];\",Gr,\"}\"),Un&&Wt(\"for(var i=0;i<\",ei,\";++i){\",gr,\".vertexAttribDivisorANGLE(i,\",Cr,\"[i].divisor);\",\"}\"),Wt(vt.shared.vao,\".currentVAO=null;\",vt.shared.vao,\".setVAO(\",vt.shared.vao,\".targetVAO);\"),Object.keys(vn).forEach(function(yi){var tn=vn[yi],Ri=rr.def(kr,\".\",yi),ln=vt.block();ln(\"if(\",Ri,\"){\",pr,\".enable(\",tn,\")}else{\",pr,\".disable(\",tn,\")}\",Ar,\".\",yi,\"=\",Ri,\";\"),Wt(ln),Pt(\"if(\",Ri,\"!==\",Ar,\".\",yi,\"){\",ln,\"}\")}),Object.keys(Aa).forEach(function(yi){var tn=Aa[yi],Ri=Kn[yi],ln,Qn,qn=vt.block();if(qn(pr,\".\",tn,\"(\"),an(Ri)){var rn=Ri.length;ln=vt.global.def(kr,\".\",yi),Qn=vt.global.def(Ar,\".\",yi),qn(M(rn,function(bn){return ln+\"[\"+bn+\"]\"}),\");\",M(rn,function(bn){return Qn+\"[\"+bn+\"]=\"+ln+\"[\"+bn+\"];\"}).join(\"\")),Pt(\"if(\",M(rn,function(bn){return ln+\"[\"+bn+\"]!==\"+Qn+\"[\"+bn+\"]\"}).join(\"||\"),\"){\",qn,\"}\")}else ln=rr.def(kr,\".\",yi),Qn=rr.def(Ar,\".\",yi),qn(ln,\");\",Ar,\".\",yi,\"=\",ln,\";\"),Pt(\"if(\",ln,\"!==\",Qn,\"){\",qn,\"}\");Wt(qn)}),vt.compile()}(),compile:Jt}}function ya(){return{vaoCount:0,bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0}}var so=34918,wa=34919,io=35007,Ss=function(At,Er){if(!Er.ext_disjoint_timer_query)return null;var Wr=[];function wi(){return Wr.pop()||Er.ext_disjoint_timer_query.createQueryEXT()}function Ui(Ln){Wr.push(Ln)}var Oi=[];function Bi(Ln){var Un=wi();Er.ext_disjoint_timer_query.beginQueryEXT(io,Un),Oi.push(Un),Dn(Oi.length-1,Oi.length,Ln)}function cn(){Er.ext_disjoint_timer_query.endQueryEXT(io)}function On(){this.startQueryIndex=-1,this.endQueryIndex=-1,this.sum=0,this.stats=null}var Bn=[];function yn(){return Bn.pop()||new On}function to(Ln){Bn.push(Ln)}var Rn=[];function Dn(Ln,Un,gn){var ca=yn();ca.startQueryIndex=Ln,ca.endQueryIndex=Un,ca.sum=0,ca.stats=gn,Rn.push(ca)}var fn=[],Ai=[];function ji(){var Ln,Un,gn=Oi.length;if(gn!==0){Ai.length=Math.max(Ai.length,gn+1),fn.length=Math.max(fn.length,gn+1),fn[0]=0,Ai[0]=0;var ca=0;for(Ln=0,Un=0;Un<Oi.length;++Un){var Kn=Oi[Un];Er.ext_disjoint_timer_query.getQueryObjectEXT(Kn,wa)?(ca+=Er.ext_disjoint_timer_query.getQueryObjectEXT(Kn,so),Ui(Kn)):Oi[Ln++]=Kn,fn[Un+1]=ca,Ai[Un+1]=Ln}for(Oi.length=Ln,Ln=0,Un=0;Un<Rn.length;++Un){var Za=Rn[Un],wn=Za.startQueryIndex,vn=Za.endQueryIndex;Za.sum+=fn[vn]-fn[wn];var Aa=Ai[wn],aa=Ai[vn];aa===Aa?(Za.stats.gpuTime+=Za.sum/1e6,to(Za)):(Za.startQueryIndex=Aa,Za.endQueryIndex=aa,Rn[Ln++]=Za)}Rn.length=Ln}}return{beginQuery:Bi,endQuery:cn,pushScopeStats:Dn,update:ji,getNumPendingQueries:function(){return Oi.length},clear:function(){Wr.push.apply(Wr,Oi);for(var Ln=0;Ln<Wr.length;Ln++)Er.ext_disjoint_timer_query.deleteQueryEXT(Wr[Ln]);Oi.length=0,Wr.length=0},restore:function(){Oi.length=0,Wr.length=0}}},_s=16384,Ns=256,pn=1024,za=34962,Lo=\"webglcontextlost\",Fo=\"webglcontextrestored\",js=1,xl=2,fu=3;function dl(At,Er){for(var Wr=0;Wr<At.length;++Wr)if(At[Wr]===Er)return Wr;return-1}function xc(At){var Er=_(At);if(!Er)return null;var Wr=Er.gl,wi=Wr.getContextAttributes(),Ui=Wr.isContextLost(),Oi=C(Wr,Er);if(!Oi)return null;var Bi=x(),cn=ya(),On=Er.cachedCode||{},Bn=Oi.extensions,yn=Ss(Wr,Bn),to=v(),Rn=Wr.drawingBufferWidth,Dn=Wr.drawingBufferHeight,fn={tick:0,time:0,viewportWidth:Rn,viewportHeight:Dn,framebufferWidth:Rn,framebufferHeight:Dn,drawingBufferWidth:Rn,drawingBufferHeight:Dn,pixelRatio:Er.pixelRatio},Ai={},ji={elements:null,primitive:4,count:-1,offset:0,instances:-1},Ln=Br(Wr,Bn),Un=Zr(Wr,cn,Er,Kn),gn=br(Wr,Bn,Un,cn),ca=xu(Wr,Bn,Ln,cn,Un,gn,ji);function Kn(O){return ca.destroyBuffer(O)}var Za=ju(Wr,Bi,cn,Er),wn=df(Wr,Bn,Ln,function(){aa.procs.poll()},fn,cn,Er),vn=Lc(Wr,Bn,Ln,cn,Er),Aa=vf(Wr,Bn,Ln,wn,vn,cn),aa=ga(Wr,Bi,Bn,Ln,Un,gn,wn,Aa,Ai,ca,Za,ji,fn,yn,On,Er),Xn=Dl(Wr,Aa,aa.procs.poll,fn,wi,Bn,Ln),Vn=aa.next,ma=Wr.canvas,ro=[],Ao=[],Jn=[],Oa=[Er.onDestroy],_o=null;function Po(){if(ro.length===0){yn&&yn.update(),_o=null;return}_o=d.next(Po),ef();for(var O=ro.length-1;O>=0;--O){var $=ro[O];$&&$(fn,null,0)}Wr.flush(),yn&&yn.update()}function Jo(){!_o&&ro.length>0&&(_o=d.next(Po))}function Yl(){_o&&(d.cancel(Po),_o=null)}function $c(O){O.preventDefault(),Ui=!0,Yl(),Ao.forEach(function($){$()})}function xs(O){Wr.getError(),Ui=!1,Oi.restore(),Za.restore(),Un.restore(),wn.restore(),vn.restore(),Aa.restore(),ca.restore(),yn&&yn.restore(),aa.procs.refresh(),Jo(),Jn.forEach(function($){$()})}ma&&(ma.addEventListener(Lo,$c,!1),ma.addEventListener(Fo,xs,!1));function Qc(){ro.length=0,Yl(),ma&&(ma.removeEventListener(Lo,$c),ma.removeEventListener(Fo,xs)),Za.clear(),Aa.clear(),vn.clear(),ca.clear(),wn.clear(),gn.clear(),Un.clear(),yn&&yn.clear(),Oa.forEach(function(O){O()})}function El(O){function $(pr){var kr=e({},pr);delete kr.uniforms,delete kr.attributes,delete kr.context,delete kr.vao,\"stencil\"in kr&&kr.stencil.op&&(kr.stencil.opBack=kr.stencil.opFront=kr.stencil.op,delete kr.stencil.op);function Ar(gr){if(gr in kr){var Cr=kr[gr];delete kr[gr],Object.keys(Cr).forEach(function(cr){kr[gr+\".\"+cr]=Cr[cr]})}}return Ar(\"blend\"),Ar(\"depth\"),Ar(\"cull\"),Ar(\"stencil\"),Ar(\"polygonOffset\"),Ar(\"scissor\"),Ar(\"sample\"),\"vao\"in pr&&(kr.vao=pr.vao),kr}function pe(pr,kr){var Ar={},gr={};return Object.keys(pr).forEach(function(Cr){var cr=pr[Cr];if(h.isDynamic(cr)){gr[Cr]=h.unbox(cr,Cr);return}else if(kr&&Array.isArray(cr)){for(var Gr=0;Gr<cr.length;++Gr)if(h.isDynamic(cr[Gr])){gr[Cr]=h.unbox(cr,Cr);return}}Ar[Cr]=cr}),{dynamic:gr,static:Ar}}var de=pe(O.context||{},!0),Ie=pe(O.uniforms||{},!0),$e=pe(O.attributes||{},!1),pt=pe($(O),!1),Kt={gpuTime:0,cpuTime:0,count:0},ir=aa.compile(pt,$e,Ie,de,Kt),Jt=ir.draw,vt=ir.batch,Pt=ir.scope,Wt=[];function rr(pr){for(;Wt.length<pr;)Wt.push(null);return Wt}function dr(pr,kr){var Ar;if(typeof pr==\"function\")return Pt.call(this,null,pr,0);if(typeof kr==\"function\")if(typeof pr==\"number\")for(Ar=0;Ar<pr;++Ar)Pt.call(this,null,kr,Ar);else if(Array.isArray(pr))for(Ar=0;Ar<pr.length;++Ar)Pt.call(this,pr[Ar],kr,Ar);else return Pt.call(this,pr,kr,0);else if(typeof pr==\"number\"){if(pr>0)return vt.call(this,rr(pr|0),pr|0)}else if(Array.isArray(pr)){if(pr.length)return vt.call(this,pr,pr.length)}else return Jt.call(this,pr)}return e(dr,{stats:Kt,destroy:function(){ir.destroy()}})}var bc=Aa.setFBO=El({framebuffer:h.define.call(null,js,\"framebuffer\")});function wc(O,$){var pe=0;aa.procs.poll();var de=$.color;de&&(Wr.clearColor(+de[0]||0,+de[1]||0,+de[2]||0,+de[3]||0),pe|=_s),\"depth\"in $&&(Wr.clearDepth(+$.depth),pe|=Ns),\"stencil\"in $&&(Wr.clearStencil($.stencil|0),pe|=pn),Wr.clear(pe)}function yf(O){if(\"framebuffer\"in O)if(O.framebuffer&&O.framebuffer_reglType===\"framebufferCube\")for(var $=0;$<6;++$)bc(e({framebuffer:O.framebuffer.faces[$]},O),wc);else bc(O,wc);else wc(null,O)}function Gl(O){ro.push(O);function $(){var pe=dl(ro,O);function de(){var Ie=dl(ro,de);ro[Ie]=ro[ro.length-1],ro.length-=1,ro.length<=0&&Yl()}ro[pe]=de}return Jo(),{cancel:$}}function Fc(){var O=Vn.viewport,$=Vn.scissor_box;O[0]=O[1]=$[0]=$[1]=0,fn.viewportWidth=fn.framebufferWidth=fn.drawingBufferWidth=O[2]=$[2]=Wr.drawingBufferWidth,fn.viewportHeight=fn.framebufferHeight=fn.drawingBufferHeight=O[3]=$[3]=Wr.drawingBufferHeight}function ef(){fn.tick+=1,fn.time=_f(),Fc(),aa.procs.poll()}function ls(){wn.refresh(),Fc(),aa.procs.refresh(),yn&&yn.update()}function _f(){return(v()-to)/1e3}ls();function ns(O,$){var pe;switch(O){case\"frame\":return Gl($);case\"lost\":pe=Ao;break;case\"restore\":pe=Jn;break;case\"destroy\":pe=Oa;break;default:}return pe.push($),{cancel:function(){for(var de=0;de<pe.length;++de)if(pe[de]===$){pe[de]=pe[pe.length-1],pe.pop();return}}}}function Y(){return On}function z(O){Object.entries(O).forEach(function($){On[$[0]]=$[1]})}var K=e(El,{clear:yf,prop:h.define.bind(null,js),context:h.define.bind(null,xl),this:h.define.bind(null,fu),draw:El({}),buffer:function(O){return Un.create(O,za,!1,!1)},elements:function(O){return gn.create(O,!1)},texture:wn.create2D,cube:wn.createCube,renderbuffer:vn.create,framebuffer:Aa.create,framebufferCube:Aa.createCube,vao:ca.createVAO,attributes:wi,frame:Gl,on:ns,limits:Ln,hasExtension:function(O){return Ln.extensions.indexOf(O.toLowerCase())>=0},read:Xn,destroy:Qc,_gl:Wr,_refresh:ls,poll:function(){ef(),yn&&yn.update()},now:_f,stats:cn,getCachedCode:Y,preloadCachedCode:z});return Er.onDone(null,K),K}return xc})});var Iqe=ye((wmr,Pqe)=>{\"use strict\";var QOt=Zm();Pqe.exports=function(t){if(t?typeof t==\"string\"&&(t={container:t}):t={},Cqe(t)?t={container:t}:eBt(t)?t={container:t}:tBt(t)?t={gl:t}:t=QOt(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=window.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if(typeof t.container==\"string\"){var r=document.querySelector(t.container);if(!r)throw Error(\"Element \"+t.container+\" is not found\");t.container=r}Cqe(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=Lqe(),t.container.appendChild(t.canvas),kqe(t))}else if(!t.canvas)if(typeof document!=\"undefined\")t.container=document.body||document.documentElement,t.canvas=Lqe(),t.container.appendChild(t.canvas),kqe(t);else throw Error(\"Not DOM environment. Use headless-gl.\");return t.gl||[\"webgl\",\"experimental-webgl\",\"webgl-experimental\"].some(function(n){try{t.gl=t.canvas.getContext(n,t.attrs)}catch(i){}return t.gl}),t.gl};function kqe(e){if(e.container)if(e.container==document.body)document.body.style.width||(e.canvas.width=e.width||e.pixelRatio*window.innerWidth),document.body.style.height||(e.canvas.height=e.height||e.pixelRatio*window.innerHeight);else{var t=e.container.getBoundingClientRect();e.canvas.width=e.width||t.right-t.left,e.canvas.height=e.height||t.bottom-t.top}}function Cqe(e){return typeof e.getContext==\"function\"&&\"width\"in e&&\"height\"in e}function eBt(e){return typeof e.nodeName==\"string\"&&typeof e.appendChild==\"function\"&&typeof e.getBoundingClientRect==\"function\"}function tBt(e){return typeof e.drawArrays==\"function\"||typeof e.drawElements==\"function\"}function Lqe(){var e=document.createElement(\"canvas\");return e.style.position=\"absolute\",e.style.top=0,e.style.left=0,e}});var Dqe=ye((Tmr,Rqe)=>{\"use strict\";var rBt=UY(),iBt=[32,126];Rqe.exports=nBt;function nBt(e){e=e||{};var t=e.shape?e.shape:e.canvas?[e.canvas.width,e.canvas.height]:[512,512],r=e.canvas||document.createElement(\"canvas\"),n=e.font,i=typeof e.step==\"number\"?[e.step,e.step]:e.step||[32,32],a=e.chars||iBt;if(n&&typeof n!=\"string\"&&(n=rBt(n)),!Array.isArray(a))a=String(a).split(\"\");else if(a.length===2&&typeof a[0]==\"number\"&&typeof a[1]==\"number\"){for(var o=[],s=a[0],l=0;s<=a[1];s++)o[l++]=String.fromCharCode(s);a=o}t=t.slice(),r.width=t[0],r.height=t[1];var u=r.getContext(\"2d\");u.fillStyle=\"#000\",u.fillRect(0,0,r.width,r.height),u.font=n,u.textAlign=\"center\",u.textBaseline=\"middle\",u.fillStyle=\"#fff\";for(var c=i[0]/2,f=i[1]/2,s=0;s<a.length;s++)u.fillText(a[s],c,f),(c+=i[0])>t[0]-i[0]/2&&(c=i[0]/2,f+=i[1]);return r}});var WY=ye(Th=>{\"use strict\";\"use restrict\";var jY=32;Th.INT_BITS=jY;Th.INT_MAX=2147483647;Th.INT_MIN=-1<<jY-1;Th.sign=function(e){return(e>0)-(e<0)};Th.abs=function(e){var t=e>>jY-1;return(e^t)-t};Th.min=function(e,t){return t^(e^t)&-(e<t)};Th.max=function(e,t){return e^(e^t)&-(e<t)};Th.isPow2=function(e){return!(e&e-1)&&!!e};Th.log2=function(e){var t,r;return t=(e>65535)<<4,e>>>=t,r=(e>255)<<3,e>>>=r,t|=r,r=(e>15)<<2,e>>>=r,t|=r,r=(e>3)<<1,e>>>=r,t|=r,t|e>>1};Th.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0};Th.popCount=function(e){return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24};function zqe(e){var t=32;return e&=-e,e&&t--,e&65535&&(t-=16),e&16711935&&(t-=8),e&252645135&&(t-=4),e&858993459&&(t-=2),e&1431655765&&(t-=1),t}Th.countTrailingZeros=zqe;Th.nextPow2=function(e){return e+=e===0,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e+1};Th.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e-(e>>>1)};Th.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,e&=15,27030>>>e&1};var _k=new Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=r&1,--i;e[t]=n<<i&255}})(_k);Th.reverse=function(e){return _k[e&255]<<24|_k[e>>>8&255]<<16|_k[e>>>16&255]<<8|_k[e>>>24&255]};Th.interleave2=function(e,t){return e&=65535,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t&=65535,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1};Th.deinterleave2=function(e,t){return e=e>>>t&1431655765,e=(e|e>>>1)&858993459,e=(e|e>>>2)&252645135,e=(e|e>>>4)&16711935,e=(e|e>>>16)&65535,e<<16>>16};Th.interleave3=function(e,t,r){return e&=1023,e=(e|e<<16)&4278190335,e=(e|e<<8)&251719695,e=(e|e<<4)&3272356035,e=(e|e<<2)&1227133513,t&=1023,t=(t|t<<16)&4278190335,t=(t|t<<8)&251719695,t=(t|t<<4)&3272356035,t=(t|t<<2)&1227133513,e|=t<<1,r&=1023,r=(r|r<<16)&4278190335,r=(r|r<<8)&251719695,r=(r|r<<4)&3272356035,r=(r|r<<2)&1227133513,e|r<<2};Th.deinterleave3=function(e,t){return e=e>>>t&1227133513,e=(e|e>>>2)&3272356035,e=(e|e>>>4)&251719695,e=(e|e>>>8)&4278190335,e=(e|e>>>16)&1023,e<<22>>22};Th.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>zqe(e)+1}});var Oqe=ye((Smr,qqe)=>{\"use strict\";function Fqe(e,t,r){var n=e[r]|0;if(n<=0)return[];var i=new Array(n),a;if(r===e.length-1)for(a=0;a<n;++a)i[a]=t;else for(a=0;a<n;++a)i[a]=Fqe(e,t,r+1);return i}function aBt(e,t){var r,n;for(r=new Array(e),n=0;n<e;++n)r[n]=t;return r}function oBt(e,t){switch(typeof t==\"undefined\"&&(t=0),typeof e){case\"number\":if(e>0)return aBt(e|0,t);break;case\"object\":if(typeof e.length==\"number\")return Fqe(e,t,0);break}return[]}qqe.exports=oBt});var Qqe=ye(Wl=>{\"use strict\";var fx=WY(),Av=Oqe(),Bqe=u2().Buffer;window.__TYPEDARRAY_POOL||(window.__TYPEDARRAY_POOL={UINT8:Av([32,0]),UINT16:Av([32,0]),UINT32:Av([32,0]),BIGUINT64:Av([32,0]),INT8:Av([32,0]),INT16:Av([32,0]),INT32:Av([32,0]),BIGINT64:Av([32,0]),FLOAT:Av([32,0]),DOUBLE:Av([32,0]),DATA:Av([32,0]),UINT8C:Av([32,0]),BUFFER:Av([32,0])});var sBt=typeof Uint8ClampedArray!=\"undefined\",lBt=typeof BigUint64Array!=\"undefined\",uBt=typeof BigInt64Array!=\"undefined\",Xh=window.__TYPEDARRAY_POOL;Xh.UINT8C||(Xh.UINT8C=Av([32,0]));Xh.BIGUINT64||(Xh.BIGUINT64=Av([32,0]));Xh.BIGINT64||(Xh.BIGINT64=Av([32,0]));Xh.BUFFER||(Xh.BUFFER=Av([32,0]));var dF=Xh.DATA,vF=Xh.BUFFER;Wl.free=function(t){if(Bqe.isBuffer(t))vF[fx.log2(t.length)].push(t);else{if(Object.prototype.toString.call(t)!==\"[object ArrayBuffer]\"&&(t=t.buffer),!t)return;var r=t.length||t.byteLength,n=fx.log2(r)|0;dF[n].push(t)}};function Nqe(e){if(e){var t=e.length||e.byteLength,r=fx.log2(t);dF[r].push(e)}}function cBt(e){Nqe(e.buffer)}Wl.freeUint8=Wl.freeUint16=Wl.freeUint32=Wl.freeBigUint64=Wl.freeInt8=Wl.freeInt16=Wl.freeInt32=Wl.freeBigInt64=Wl.freeFloat32=Wl.freeFloat=Wl.freeFloat64=Wl.freeDouble=Wl.freeUint8Clamped=Wl.freeDataView=cBt;Wl.freeArrayBuffer=Nqe;Wl.freeBuffer=function(t){vF[fx.log2(t.length)].push(t)};Wl.malloc=function(t,r){if(r===void 0||r===\"arraybuffer\")return Bp(t);switch(r){case\"uint8\":return ZY(t);case\"uint16\":return Uqe(t);case\"uint32\":return Vqe(t);case\"int8\":return Hqe(t);case\"int16\":return Gqe(t);case\"int32\":return jqe(t);case\"float\":case\"float32\":return Wqe(t);case\"double\":case\"float64\":return Zqe(t);case\"uint8_clamped\":return Xqe(t);case\"bigint64\":return Kqe(t);case\"biguint64\":return Yqe(t);case\"buffer\":return $qe(t);case\"data\":case\"dataview\":return Jqe(t);default:return null}return null};function Bp(t){var t=fx.nextPow2(t),r=fx.log2(t),n=dF[r];return n.length>0?n.pop():new ArrayBuffer(t)}Wl.mallocArrayBuffer=Bp;function ZY(e){return new Uint8Array(Bp(e),0,e)}Wl.mallocUint8=ZY;function Uqe(e){return new Uint16Array(Bp(2*e),0,e)}Wl.mallocUint16=Uqe;function Vqe(e){return new Uint32Array(Bp(4*e),0,e)}Wl.mallocUint32=Vqe;function Hqe(e){return new Int8Array(Bp(e),0,e)}Wl.mallocInt8=Hqe;function Gqe(e){return new Int16Array(Bp(2*e),0,e)}Wl.mallocInt16=Gqe;function jqe(e){return new Int32Array(Bp(4*e),0,e)}Wl.mallocInt32=jqe;function Wqe(e){return new Float32Array(Bp(4*e),0,e)}Wl.mallocFloat32=Wl.mallocFloat=Wqe;function Zqe(e){return new Float64Array(Bp(8*e),0,e)}Wl.mallocFloat64=Wl.mallocDouble=Zqe;function Xqe(e){return sBt?new Uint8ClampedArray(Bp(e),0,e):ZY(e)}Wl.mallocUint8Clamped=Xqe;function Yqe(e){return lBt?new BigUint64Array(Bp(8*e),0,e):null}Wl.mallocBigUint64=Yqe;function Kqe(e){return uBt?new BigInt64Array(Bp(8*e),0,e):null}Wl.mallocBigInt64=Kqe;function Jqe(e){return new DataView(Bp(e),0,e)}Wl.mallocDataView=Jqe;function $qe(e){e=fx.nextPow2(e);var t=fx.log2(e),r=vF[t];return r.length>0?r.pop():new Bqe(e)}Wl.mallocBuffer=$qe;Wl.clearCache=function(){for(var t=0;t<32;++t)Xh.UINT8[t].length=0,Xh.UINT16[t].length=0,Xh.UINT32[t].length=0,Xh.INT8[t].length=0,Xh.INT16[t].length=0,Xh.INT32[t].length=0,Xh.FLOAT[t].length=0,Xh.DOUBLE[t].length=0,Xh.BIGUINT64[t].length=0,Xh.BIGINT64[t].length=0,Xh.UINT8C[t].length=0,dF[t].length=0,vF[t].length=0}});var tOe=ye((Emr,eOe)=>{\"use strict\";var fBt=Object.prototype.toString;eOe.exports=function(e){var t;return fBt.call(e)===\"[object Object]\"&&(t=Object.getPrototypeOf(e),t===null||t===Object.getPrototypeOf({}))}});var XY=ye((kmr,rOe)=>{rOe.exports=function(t,r){r||(r=[0,\"\"]),t=String(t);var n=parseFloat(t,10);return r[0]=n,r[1]=t.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",r}});var aOe=ye((Cmr,nOe)=>{\"use strict\";var hBt=XY();nOe.exports=iOe;var xk=96;function YY(e,t){var r=hBt(getComputedStyle(e).getPropertyValue(t));return r[0]*iOe(r[1],e)}function dBt(e,t){var r=document.createElement(\"div\");r.style[\"font-size\"]=\"128\"+e,t.appendChild(r);var n=YY(r,\"font-size\")/128;return t.removeChild(r),n}function iOe(e,t){switch(t=t||document.body,e=(e||\"px\").trim().toLowerCase(),(t===window||t===document)&&(t=document.body),e){case\"%\":return t.clientHeight/100;case\"ch\":case\"ex\":return dBt(e,t);case\"em\":return YY(t,\"font-size\");case\"rem\":return YY(document.body,\"font-size\");case\"vw\":return window.innerWidth/100;case\"vh\":return window.innerHeight/100;case\"vmin\":return Math.min(window.innerWidth,window.innerHeight)/100;case\"vmax\":return Math.max(window.innerWidth,window.innerHeight)/100;case\"in\":return xk;case\"cm\":return xk/2.54;case\"mm\":return xk/25.4;case\"pt\":return xk/72;case\"pc\":return xk/6}return 1}});var lOe=ye((Lmr,sOe)=>{\"use strict\";sOe.exports=mF;var vBt=mF.canvas=document.createElement(\"canvas\"),pF=vBt.getContext(\"2d\"),oOe=gF([32,126]);mF.createPairs=gF;mF.ascii=oOe;function mF(e,t){Array.isArray(e)&&(e=e.join(\", \"));var r={},n,i=16,a=.05;t&&(t.length===2&&typeof t[0]==\"number\"?n=gF(t):Array.isArray(t)?n=t:(t.o?n=gF(t.o):t.pairs&&(n=t.pairs),t.fontSize&&(i=t.fontSize),t.threshold!=null&&(a=t.threshold))),n||(n=oOe),pF.font=i+\"px \"+e;for(var o=0;o<n.length;o++){var s=n[o],l=pF.measureText(s[0]).width+pF.measureText(s[1]).width,u=pF.measureText(s).width;if(Math.abs(l-u)>i*a){var c=(u-l)/i;r[s]=c*1e3}}return r}function gF(e){for(var t=[],r=e[0];r<=e[1];r++)for(var n=String.fromCharCode(r),i=e[0];i<e[1];i++){var a=String.fromCharCode(i),o=n+a;t.push(o)}return t}});var hOe=ye((Pmr,fOe)=>{\"use strict\";fOe.exports=hx;hx.canvas=document.createElement(\"canvas\");hx.cache={};function hx(o,t){t||(t={}),(typeof o==\"string\"||Array.isArray(o))&&(t.family=o);var r=Array.isArray(t.family)?t.family.join(\", \"):t.family;if(!r)throw Error(\"`family` must be defined\");var n=t.size||t.fontSize||t.em||48,i=t.weight||t.fontWeight||\"\",a=t.style||t.fontStyle||\"\",o=[a,i,n].join(\" \")+\"px \"+r,s=t.origin||\"top\";if(hx.cache[r]&&n<=hx.cache[r].em)return uOe(hx.cache[r],s);var l=t.canvas||hx.canvas,u=l.getContext(\"2d\"),c={upper:t.upper!==void 0?t.upper:\"H\",lower:t.lower!==void 0?t.lower:\"x\",descent:t.descent!==void 0?t.descent:\"p\",ascent:t.ascent!==void 0?t.ascent:\"h\",tittle:t.tittle!==void 0?t.tittle:\"i\",overshoot:t.overshoot!==void 0?t.overshoot:\"O\"},f=Math.ceil(n*1.5);l.height=f,l.width=f*.5,u.font=o;var h=\"H\",d={top:0};u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillStyle=\"black\",u.fillText(h,0,0);var v=Ym(u.getImageData(0,0,f,f));u.clearRect(0,0,f,f),u.textBaseline=\"bottom\",u.fillText(h,0,f);var x=Ym(u.getImageData(0,0,f,f));d.lineHeight=d.bottom=f-x+v,u.clearRect(0,0,f,f),u.textBaseline=\"alphabetic\",u.fillText(h,0,f);var b=Ym(u.getImageData(0,0,f,f)),p=f-b-1+v;d.baseline=d.alphabetic=p,u.clearRect(0,0,f,f),u.textBaseline=\"middle\",u.fillText(h,0,f*.5);var E=Ym(u.getImageData(0,0,f,f));d.median=d.middle=f-E-1+v-f*.5,u.clearRect(0,0,f,f),u.textBaseline=\"hanging\",u.fillText(h,0,f*.5);var k=Ym(u.getImageData(0,0,f,f));d.hanging=f-k-1+v-f*.5,u.clearRect(0,0,f,f),u.textBaseline=\"ideographic\",u.fillText(h,0,f);var A=Ym(u.getImageData(0,0,f,f));if(d.ideographic=f-A-1+v,c.upper&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.upper,0,0),d.upper=Ym(u.getImageData(0,0,f,f)),d.capHeight=d.baseline-d.upper),c.lower&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.lower,0,0),d.lower=Ym(u.getImageData(0,0,f,f)),d.xHeight=d.baseline-d.lower),c.tittle&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.tittle,0,0),d.tittle=Ym(u.getImageData(0,0,f,f))),c.ascent&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.ascent,0,0),d.ascent=Ym(u.getImageData(0,0,f,f))),c.descent&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.descent,0,0),d.descent=cOe(u.getImageData(0,0,f,f))),c.overshoot){u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.overshoot,0,0);var L=cOe(u.getImageData(0,0,f,f));d.overshoot=L-p}for(var _ in d)d[_]/=n;return d.em=n,hx.cache[r]=d,uOe(d,s)}function uOe(e,t){var r={};typeof t==\"string\"&&(t=e[t]);for(var n in e)n!==\"em\"&&(r[n]=e[n]-t);return r}function Ym(e){for(var t=e.height,r=e.data,n=3;n<r.length;n+=4)if(r[n]!==0)return Math.floor((n-3)*.25/t)}function cOe(e){for(var t=e.height,r=e.data,n=r.length-1;n>0;n-=4)if(r[n]!==0)return Math.floor((n-3)*.25/t)}});var gOe=ye((Imr,pOe)=>{\"use strict\";var fA=Eqe(),pBt=Zm(),gBt=GY(),mBt=Iqe(),yBt=EY(),KY=$_(),_Bt=Dqe(),dx=Qqe(),xBt=Q5(),bBt=tOe(),wBt=XY(),TBt=aOe(),ABt=lOe(),SBt=bh(),MBt=hOe(),EBt=W2(),kBt=WY(),dOe=kBt.nextPow2,vOe=new yBt,_F=!1;document.body&&(yF=document.body.appendChild(document.createElement(\"div\")),yF.style.font=\"italic small-caps bold condensed 16px/2 cursive\",getComputedStyle(yF).fontStretch&&(_F=!0),document.body.removeChild(yF));var yF,Vu=function(t){CBt(t)?(t={regl:t},this.gl=t.regl._gl):this.gl=mBt(t),this.shader=vOe.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||gBt({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(),vOe.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(bBt(t)?t:{})};Vu.prototype.createShader=function(){var t=this.regl,r=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(i,a){return[a.atlas.width,a.atlas.height]},atlasDim:function(i,a){return[a.atlas.cols,a.atlas.rows]},atlas:function(i,a){return a.atlas.texture},charStep:function(i,a){return a.atlas.step},em:function(i,a){return a.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}`}),n={};return{regl:t,draw:r,atlas:n}};Vu.prototype.update=function(t){var r=this;if(typeof t==\"string\")t={text:t};else if(!t)return;t=pBt(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),t.opacity!=null&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map(function(ke){return parseFloat(ke)}):this.opacity=parseFloat(t.opacity)),t.viewport!=null&&(this.viewport=xBt(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),this.viewport==null&&(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]),t.kerning!=null&&(this.kerning=t.kerning),t.offset!=null&&(typeof t.offset==\"number\"&&(t.offset=[t.offset,0]),this.positionOffset=EBt(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=Vu.baseFontSize+\"px sans-serif\");var n=!1,i=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach(function(ke,ge){if(typeof ke==\"string\")try{ke=fA.parse(ke)}catch(Ge){ke=fA.parse(Vu.baseFontSize+\"px \"+ke)}else{var ie=ke.style,Te=ke.weight,Ee=ke.stretch,Ae=ke.variant;ke=fA.parse(fA.stringify(ke)),ie&&(ke.style=ie),Te&&(ke.weight=Te),Ee&&(ke.stretch=Ee),Ae&&(ke.variant=Ae)}var ze=fA.stringify({size:Vu.baseFontSize,family:ke.family,stretch:_F?ke.stretch:void 0,variant:ke.variant,weight:ke.weight,style:ke.style}),Ce=wBt(ke.size),me=Math.round(Ce[0]*TBt(Ce[1]));if(me!==r.fontSize[ge]&&(i=!0,r.fontSize[ge]=me),(!r.font[ge]||ze!=r.font[ge].baseString)&&(n=!0,r.font[ge]=Vu.fonts[ze],!r.font[ge])){var Re=ke.family.join(\", \"),ce=[ke.style];ke.style!=ke.variant&&ce.push(ke.variant),ke.variant!=ke.weight&&ce.push(ke.weight),_F&&ke.weight!=ke.stretch&&ce.push(ke.stretch),r.font[ge]={baseString:ze,family:Re,weight:ke.weight,stretch:ke.stretch,style:ke.style,variant:ke.variant,width:{},kerning:{},metrics:MBt(Re,{origin:\"top\",fontSize:Vu.baseFontSize,fontStyle:ce.join(\" \")})},Vu.fonts[ze]=r.font[ge]}}),(n||i)&&this.font.forEach(function(ke,ge){var ie=fA.stringify({size:r.fontSize[ge],family:ke.family,stretch:_F?ke.stretch:void 0,variant:ke.variant,weight:ke.weight,style:ke.style});if(r.fontAtlas[ge]=r.shader.atlas[ie],!r.fontAtlas[ge]){var Te=ke.metrics;r.shader.atlas[ie]=r.fontAtlas[ge]={fontString:ie,step:Math.ceil(r.fontSize[ge]*Te.bottom*.5)*2,em:r.fontSize[ge],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:r.regl.texture()}}t.text==null&&(t.text=r.text)}),typeof t.text==\"string\"&&t.position&&t.position.length>2){for(var a=Array(t.position.length*.5),o=0;o<a.length;o++)a[o]=t.text;t.text=a}var s;if(t.text!=null||n){if(this.textOffsets=[0],Array.isArray(t.text)){this.count=t.text[0].length,this.counts=[this.count];for(var l=1;l<t.text.length;l++)this.textOffsets[l]=this.textOffsets[l-1]+t.text[l-1].length,this.count+=t.text[l].length,this.counts.push(t.text[l].length);this.text=t.text.join(\"\")}else this.text=t.text,this.count=this.text.length,this.counts=[this.count];s=[],this.font.forEach(function(ke,ge){Vu.atlasContext.font=ke.baseString;for(var ie=r.fontAtlas[ge],Te=0;Te<r.text.length;Te++){var Ee=r.text.charAt(Te);if(ie.ids[Ee]==null&&(ie.ids[Ee]=ie.chars.length,ie.chars.push(Ee),s.push(Ee)),ke.width[Ee]==null&&(ke.width[Ee]=Vu.atlasContext.measureText(Ee).width/Vu.baseFontSize,r.kerning)){var Ae=[];for(var ze in ke.width)Ae.push(ze+Ee,Ee+ze);SBt(ke.kerning,ABt(ke.family,{pairs:Ae}))}}})}if(t.position)if(t.position.length>2){for(var u=!t.position[0].length,c=dx.mallocFloat(this.count*2),f=0,h=0;f<this.counts.length;f++){var d=this.counts[f];if(u)for(var v=0;v<d;v++)c[h++]=t.position[f*2],c[h++]=t.position[f*2+1];else for(var x=0;x<d;x++)c[h++]=t.position[f][0],c[h++]=t.position[f][1]}this.position.call?this.position({type:\"float\",data:c}):this.position=this.regl.buffer({type:\"float\",data:c}),dx.freeFloat(c)}else this.position.destroy&&this.position.destroy(),this.position={constant:t.position};if(t.text||n){var b=dx.mallocUint8(this.count),p=dx.mallocFloat(this.count*2);this.textWidth=[];for(var E=0,k=0;E<this.counts.length;E++){for(var A=this.counts[E],L=this.font[E]||this.font[0],_=this.fontAtlas[E]||this.fontAtlas[0],C=0;C<A;C++){var M=this.text.charAt(k),g=this.text.charAt(k-1);if(b[k]=_.ids[M],p[k*2]=L.width[M],C){var P=p[k*2-2],T=p[k*2],F=p[k*2-1],q=F+P*.5+T*.5;if(this.kerning){var V=L.kerning[g+M];V&&(q+=V*.001)}p[k*2+1]=q}else p[k*2+1]=p[k*2]*.5;k++}this.textWidth.push(p.length?p[k*2-2]*.5+p[k*2-1]:0)}t.align||(t.align=this.align),this.charBuffer({data:b,type:\"uint8\",usage:\"stream\"}),this.sizeBuffer({data:p,type:\"float\",usage:\"stream\"}),dx.freeUint8(b),dx.freeFloat(p),s.length&&this.font.forEach(function(ke,ge){var ie=r.fontAtlas[ge],Te=ie.step,Ee=Math.floor(Vu.maxAtlasSize/Te),Ae=Math.min(Ee,ie.chars.length),ze=Math.ceil(ie.chars.length/Ae),Ce=dOe(Ae*Te),me=dOe(ze*Te);ie.width=Ce,ie.height=me,ie.rows=ze,ie.cols=Ae,ie.em&&ie.texture({data:_Bt({canvas:Vu.atlasCanvas,font:ie.fontString,chars:ie.chars,shape:[Ce,me],step:[Te,Te]})})})}if(t.align&&(this.align=t.align,this.alignOffset=this.textWidth.map(function(ke,ge){var ie=Array.isArray(r.align)?r.align.length>1?r.align[ge]:r.align[0]:r.align;if(typeof ie==\"number\")return ie;switch(ie){case\"right\":case\"end\":return-ke;case\"center\":case\"centre\":case\"middle\":return-ke*.5}return 0})),this.baseline==null&&t.baseline==null&&(t.baseline=0),t.baseline!=null&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(ke,ge){var ie=(r.font[ge]||r.font[0]).metrics,Te=0;return Te+=ie.bottom*.5,typeof ke==\"number\"?Te+=ke-ie.baseline:Te+=-ie[ke],Te*=-1,Te})),t.color!=null)if(t.color||(t.color=\"transparent\"),typeof t.color==\"string\"||!isNaN(t.color))this.color=KY(t.color,\"uint8\");else{var H;if(typeof t.color[0]==\"number\"&&t.color.length>this.counts.length){var X=t.color.length;H=dx.mallocUint8(X);for(var G=(t.color.subarray||t.color.slice).bind(t.color),N=0;N<X;N+=4)H.set(KY(G(N,N+4),\"uint8\"),N)}else{var W=t.color.length;H=dx.mallocUint8(W*4);for(var re=0;re<W;re++)H.set(KY(t.color[re]||0,\"uint8\"),re*4)}this.color=H}if(t.position||t.text||t.color||t.baseline||t.align||t.font||t.offset||t.opacity){var ae=this.color.length>4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2;if(ae){var _e=Math.max(this.position.length*.5||0,this.color.length*.25||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,this.positionOffset.length*.5||0);this.batch=Array(_e);for(var Me=0;Me<this.batch.length;Me++)this.batch[Me]={count:this.counts.length>1?this.counts[Me]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[Me]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(Me*4,Me*4+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[Me]:this.opacity,baseline:this.baselineOffset[Me]!=null?this.baselineOffset[Me]:this.baselineOffset[0],align:this.align?this.alignOffset[Me]!=null?this.alignOffset[Me]:this.alignOffset[0]:0,atlas:this.fontAtlas[Me]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(Me*2,Me*2+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=[]}};Vu.prototype.destroy=function(){};Vu.prototype.kerning=!0;Vu.prototype.position={constant:new Float32Array(2)};Vu.prototype.translate=null;Vu.prototype.scale=null;Vu.prototype.font=null;Vu.prototype.text=\"\";Vu.prototype.positionOffset=[0,0];Vu.prototype.opacity=1;Vu.prototype.color=new Uint8Array([0,0,0,255]);Vu.prototype.alignOffset=[0,0];Vu.maxAtlasSize=1024;Vu.atlasCanvas=document.createElement(\"canvas\");Vu.atlasContext=Vu.atlasCanvas.getContext(\"2d\",{alpha:!1});Vu.baseFontSize=64;Vu.fonts={};function CBt(e){return typeof e==\"function\"&&e._gl&&e.prop&&e.texture&&e.buffer}pOe.exports=Vu});var xF=ye((Rmr,mOe)=>{\"use strict\";var LBt=pZ(),PBt=GY();mOe.exports=function(t,r,n){var i=t._fullLayout,a=!0;return i._glcanvas.each(function(o){if(o.regl){o.regl.preloadCachedCode(n);return}if(!(o.pick&&!i._has(\"parcoords\"))){try{o.regl=PBt({canvas:this,attributes:{antialias:!o.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||window.devicePixelRatio,extensions:r||[],cachedCode:n||{}})}catch(s){a=!1}o.regl||(a=!1),a&&this.addEventListener(\"webglcontextlost\",function(s){t&&t.emit&&t.emit(\"plotly_webglcontextlost\",{event:s,layer:o.key})},!1)}}),a||LBt({container:i._glcontainer.node()}),a}});var QY=ye(($Y,wOe)=>{\"use strict\";var yOe=QX(),_Oe=LY(),IBt=lqe(),xOe=gOe(),JY=Mr(),RBt=Sg().selectMode,DBt=xF(),zBt=lu(),FBt=hU(),qBt=YX().styleTextSelection,bOe={};function OBt(e,t,r,n){var i=e._size,a=e.width*n,o=e.height*n,s=i.l*n,l=i.b*n,u=i.r*n,c=i.t*n,f=i.w*n,h=i.h*n;return[s+t.domain[0]*f,l+r.domain[0]*h,a-u-(1-t.domain[1])*f,o-c-(1-r.domain[1])*h]}var $Y=wOe.exports=function(t,r,n){if(n.length){var i=t._fullLayout,a=r._scene,o=r.xaxis,s=r.yaxis,l,u;if(a){var c=DBt(t,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"],bOe);if(!c){a.init();return}var f=a.count,h=i._glcanvas.data()[0].regl;if(FBt(t,r,n),a.dirty){if((a.line2d||a.error2d)&&!(a.scatter2d||a.fill2d||a.glText)&&h.clear({}),a.error2d===!0&&(a.error2d=IBt(h)),a.line2d===!0&&(a.line2d=_Oe(h)),a.scatter2d===!0&&(a.scatter2d=yOe(h)),a.fill2d===!0&&(a.fill2d=_Oe(h)),a.glText===!0)for(a.glText=new Array(f),l=0;l<f;l++)a.glText[l]=new xOe(h);if(a.glText){if(f>a.glText.length){var d=f-a.glText.length;for(l=0;l<d;l++)a.glText.push(new xOe(h))}else if(f<a.glText.length){var v=a.glText.length-f,x=a.glText.splice(f,v);x.forEach(function(W){W.destroy()})}for(l=0;l<f;l++)a.glText[l].update(a.textOptions[l])}if(a.line2d&&(a.line2d.update(a.lineOptions),a.lineOptions=a.lineOptions.map(function(W){if(W&&W.positions){for(var re=W.positions,ae=0;ae<re.length&&(isNaN(re[ae])||isNaN(re[ae+1]));)ae+=2;for(var _e=re.length-2;_e>ae&&(isNaN(re[_e])||isNaN(re[_e+1]));)_e-=2;W.positions=re.slice(ae,_e+2)}return W}),a.line2d.update(a.lineOptions)),a.error2d){var b=(a.errorXOptions||[]).concat(a.errorYOptions||[]);a.error2d.update(b)}a.scatter2d&&a.scatter2d.update(a.markerOptions),a.fillOrder=JY.repeat(null,f),a.fill2d&&(a.fillOptions=a.fillOptions.map(function(W,re){var ae=n[re];if(!(!W||!ae||!ae[0]||!ae[0].trace)){var _e=ae[0],Me=_e.trace,ke=_e.t,ge=a.lineOptions[re],ie,Te,Ee=[];Me._ownfill&&Ee.push(re),Me._nexttrace&&Ee.push(re+1),Ee.length&&(a.fillOrder[re]=Ee);var Ae=[],ze=ge&&ge.positions||ke.positions,Ce,me;if(Me.fill===\"tozeroy\"){for(Ce=0;Ce<ze.length&&isNaN(ze[Ce+1]);)Ce+=2;for(me=ze.length-2;me>Ce&&isNaN(ze[me+1]);)me-=2;ze[Ce+1]!==0&&(Ae=[ze[Ce],0]),Ae=Ae.concat(ze.slice(Ce,me+2)),ze[me+1]!==0&&(Ae=Ae.concat([ze[me],0]))}else if(Me.fill===\"tozerox\"){for(Ce=0;Ce<ze.length&&isNaN(ze[Ce]);)Ce+=2;for(me=ze.length-2;me>Ce&&isNaN(ze[me]);)me-=2;ze[Ce]!==0&&(Ae=[0,ze[Ce+1]]),Ae=Ae.concat(ze.slice(Ce,me+2)),ze[me]!==0&&(Ae=Ae.concat([0,ze[me+1]]))}else if(Me.fill===\"toself\"||Me.fill===\"tonext\"){for(Ae=[],ie=0,W.splitNull=!0,Te=0;Te<ze.length;Te+=2)(isNaN(ze[Te])||isNaN(ze[Te+1]))&&(Ae=Ae.concat(ze.slice(ie,Te)),Ae.push(ze[ie],ze[ie+1]),Ae.push(null,null),ie=Te+2);Ae=Ae.concat(ze.slice(ie)),ie&&Ae.push(ze[ie],ze[ie+1])}else{var Re=Me._nexttrace;if(Re){var ce=a.lineOptions[re+1];if(ce){var Ge=ce.positions;if(Me.fill===\"tonexty\"){for(Ae=ze.slice(),re=Math.floor(Ge.length/2);re--;){var nt=Ge[re*2],ct=Ge[re*2+1];isNaN(nt)||isNaN(ct)||Ae.push(nt,ct)}W.fill=Re.fillcolor}}}}if(Me._prevtrace&&Me._prevtrace.fill===\"tonext\"){var qt=a.lineOptions[re-1].positions,rt=Ae.length/2;ie=rt;var ot=[ie];for(Te=0;Te<qt.length;Te+=2)(isNaN(qt[Te])||isNaN(qt[Te+1]))&&(ot.push(Te/2+rt+1),ie=Te+2);Ae=Ae.concat(qt),W.hole=ot}return W.fillmode=Me.fill,W.opacity=Me.opacity,W.positions=Ae,W}}),a.fill2d.update(a.fillOptions))}var p=i.dragmode,E=RBt(p),k=i.clickmode.indexOf(\"select\")>-1;for(l=0;l<f;l++){var A=n[l][0],L=A.trace,_=A.t,C=_.index,M=L._length,g=_.x,P=_.y;if(L.selectedpoints||E||k){if(E||(E=!0),L.selectedpoints){var T=a.selectBatch[C]=JY.selIndices2selPoints(L),F={};for(u=0;u<T.length;u++)F[T[u]]=1;var q=[];for(u=0;u<M;u++)F[u]||q.push(u);a.unselectBatch[C]=q}var V=_.xpx=new Array(M),H=_.ypx=new Array(M);for(u=0;u<M;u++)V[u]=o.c2p(g[u]),H[u]=s.c2p(P[u])}else _.xpx=_.ypx=null}if(E){if(a.select2d||(a.select2d=yOe(i._glcanvas.data()[1].regl)),a.scatter2d){var X=new Array(f);for(l=0;l<f;l++)X[l]=a.selectBatch[l].length||a.unselectBatch[l].length?a.markerUnselectedOptions[l]:{};a.scatter2d.update(X)}a.select2d&&(a.select2d.update(a.markerOptions),a.select2d.update(a.markerSelectedOptions)),a.glText&&n.forEach(function(W){var re=((W||[])[0]||{}).trace||{};zBt.hasText(re)&&qBt(W)})}else a.scatter2d&&a.scatter2d.update(a.markerOptions);var G={viewport:OBt(i,o,s,t._context.plotGlPixelRatio),range:[(o._rl||o.range)[0],(s._rl||s.range)[0],(o._rl||o.range)[1],(s._rl||s.range)[1]]},N=JY.repeat(G,a.count);a.fill2d&&a.fill2d.update(N),a.line2d&&a.line2d.update(N),a.error2d&&a.error2d.update(N.concat(N)),a.scatter2d&&a.scatter2d.update(N),a.select2d&&a.select2d.update(N),a.glText&&a.glText.forEach(function(W){W.update(G)})}}};$Y.reglPrecompiled=bOe});var SOe=ye((Dmr,AOe)=>{\"use strict\";var TOe=Hze();TOe.plot=QY();AOe.exports=TOe});var EOe=ye((zmr,MOe)=>{\"use strict\";MOe.exports=SOe()});var eK=ye((Fmr,POe)=>{\"use strict\";var BBt=Uc(),LOe=Jl(),kOe=Oc().axisHoverFormat,NBt=Wo().hovertemplateAttrs,bk=tk(),UBt=ad().idRegex,VBt=Vs().templatedArray,hA=no().extendFlat,o1=BBt.marker,HBt=o1.line,GBt=hA(LOe(\"marker.line\",{editTypeOverride:\"calc\"}),{width:hA({},HBt.width,{editType:\"calc\"}),editType:\"calc\"}),bF=hA(LOe(\"marker\"),{symbol:o1.symbol,angle:o1.angle,size:hA({},o1.size,{editType:\"markerSize\"}),sizeref:o1.sizeref,sizemin:o1.sizemin,sizemode:o1.sizemode,opacity:o1.opacity,colorbar:o1.colorbar,line:GBt,editType:\"calc\"});bF.color.editType=bF.cmin.editType=bF.cmax.editType=\"style\";function COe(e){return{valType:\"info_array\",freeLength:!0,editType:\"calc\",items:{valType:\"subplotid\",regex:UBt[e],editType:\"plot\"}}}POe.exports={dimensions:VBt(\"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:hA({},bk.text,{}),hovertext:hA({},bk.hovertext,{}),hovertemplate:NBt(),xhoverformat:kOe(\"x\"),yhoverformat:kOe(\"y\"),marker:bF,xaxes:COe(\"x\"),yaxes:COe(\"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:bk.selected.marker,editType:\"calc\"},unselected:{marker:bk.unselected.marker,editType:\"calc\"},opacity:bk.opacity}});var wF=ye((qmr,IOe)=>{\"use strict\";IOe.exports=function(e,t,r,n){n||(n=1/0);var i,a;for(i=0;i<t.length;i++)a=t[i],a.visible&&(n=Math.min(n,a[r].length));for(n===1/0&&(n=0),e._length=n,i=0;i<t.length;i++)a=t[i],a.visible&&(a._length=n);return n}});var zOe=ye((Omr,DOe)=>{\"use strict\";var tK=Mr(),jBt=Zd(),ROe=eK(),WBt=lu(),ZBt=$p(),XBt=wF(),YBt=Fz().isOpenSymbol;DOe.exports=function(t,r,n,i){function a(d,v){return tK.coerce(t,r,ROe,d,v)}var o=jBt(t,r,{name:\"dimensions\",handleItemDefaults:KBt}),s=a(\"diagonal.visible\"),l=a(\"showupperhalf\"),u=a(\"showlowerhalf\"),c=XBt(r,o,\"values\");if(!c||!s&&!l&&!u){r.visible=!1;return}a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\"),ZBt(t,r,n,i,a,{noAngleRef:!0,noStandOff:!0});var f=YBt(r.marker.symbol),h=WBt.isBubble(r);a(\"marker.line.width\",f||h?1:0),JBt(t,r,i,a),tK.coerceSelectionMarkerOpacity(r,a)};function KBt(e,t){function r(i,a){return tK.coerce(e,t,ROe.dimensions,i,a)}r(\"label\");var n=r(\"values\");n&&n.length?r(\"visible\"):t.visible=!1,r(\"axis.type\"),r(\"axis.matches\")}function JBt(e,t,r,n){var i=t.dimensions,a=i.length,o=t.showupperhalf,s=t.showlowerhalf,l=t.diagonal.visible,u,c,f=new Array(a),h=new Array(a);for(u=0;u<a;u++){var d=u?u+1:\"\";f[u]=\"x\"+d,h[u]=\"y\"+d}var v=n(\"xaxes\",f),x=n(\"yaxes\",h),b=t._diag=new Array(a);t._xaxes={},t._yaxes={};var p=[],E=[];function k(F,q,V,H){if(F){var X=F.charAt(0),G=r._splomAxes[X];if(t[\"_\"+X+\"axes\"][F]=1,H.push(F),!(F in G)){var N=G[F]={};V&&(N.label=V.label||\"\",V.visible&&V.axis&&(V.axis.type&&(N.type=V.axis.type),V.axis.matches&&(N.matches=q)))}}}var A=!l&&!s,L=!l&&!o;for(t._axesDim={},u=0;u<a;u++){var _=i[u],C=u===0,M=u===a-1,g=C&&A||M&&L?void 0:v[u],P=C&&L||M&&A?void 0:x[u];k(g,P,_,p),k(P,g,_,E),b[u]=[g,P],t._axesDim[g]=u,t._axesDim[P]=u}for(u=0;u<p.length;u++)for(c=0;c<E.length;c++){var T=p[u]+E[c];(u>c&&o||u<c&&s||u===c&&(l||!s||!o))&&(r._splomSubplots[T]=1)}(!s||!l&&o&&s)&&(r._splomGridDflt.xside=\"bottom\",r._splomGridDflt.yside=\"left\")}});var OOe=ye((Bmr,qOe)=>{\"use strict\";var FOe=Mr();qOe.exports=function(t,r){var n=t._fullLayout,i=r.uid,a=n._splomScenes;a||(a=n._splomScenes={});var o={dirty:!0,selectBatch:[],unselectBatch:[]},s={matrix:!1,selectBatch:[],unselectBatch:[]},l=a[r.uid];return l||(l=a[i]=FOe.extendFlat({},o,s),l.draw=function(){l.matrix&&l.matrix.draw&&(l.selectBatch.length||l.unselectBatch.length?l.matrix.draw(l.unselectBatch,l.selectBatch):l.matrix.draw()),l.dirty=!1},l.destroy=function(){l.matrix&&l.matrix.destroy&&l.matrix.destroy(),l.matrixOptions=null,l.selectBatch=null,l.unselectBatch=null,l=null}),l.dirty||FOe.extendFlat(l,o),l}});var UOe=ye((Nmr,NOe)=>{\"use strict\";var rK=Mr(),TF=af(),$Bt=q0().calcMarkerSize,QBt=q0().calcAxisExpansion,eNt=z0(),BOe=Y2().markerSelection,tNt=Y2().markerStyle,rNt=OOe(),iNt=es().BADNUM,nNt=sx().TOO_MANY_POINTS;NOe.exports=function(t,r){var n=r.dimensions,i=r._length,a={},o=a.cdata=[],s=a.data=[],l=r._visibleDims=[],u,c,f,h,d;function v(k,A){for(var L=k.makeCalcdata({v:A.values,vcalendar:r.calendar},\"v\"),_=0;_<L.length;_++)L[_]=L[_]===iNt?NaN:L[_];o.push(L),s.push(k.type===\"log\"?rK.simpleMap(L,k.c2l):L)}for(u=0;u<n.length;u++)if(f=n[u],f.visible){if(h=TF.getFromId(t,r._diag[u][0]),d=TF.getFromId(t,r._diag[u][1]),h&&d&&h.type!==d.type){rK.log(\"Skipping splom dimension \"+u+\" with conflicting axis types\");continue}h?(v(h,f),d&&d.type===\"category\"&&(d._categories=h._categories.slice())):v(d,f),l.push(u)}eNt(t,r),rK.extendFlat(a,tNt(t,r));var x=o.length,b=x*i>nNt,p;for(b?p=a.sizeAvg||Math.max(a.size,3):p=$Bt(r,i),c=0;c<l.length;c++)u=l[c],f=n[u],h=TF.getFromId(t,r._diag[u][0])||{},d=TF.getFromId(t,r._diag[u][1])||{},QBt(t,r,h,d,o[c],o[c],p);var E=rNt(t,r);return E.matrix||(E.matrix=!0),E.matrixOptions=a,E.selectedOptions=BOe(t,r,r.selected),E.unselectedOptions=BOe(t,r,r.unselected),[{x:!1,y:!1,t:{},trace:r}]}});var HOe=ye((VOe,wk)=>{(function(){var e,t,r,n,i,a;typeof performance!=\"undefined\"&&performance!==null&&performance.now?wk.exports=function(){return performance.now()}:typeof process!=\"undefined\"&&process!==null&&process.hrtime?(wk.exports=function(){return(e()-i)/1e6},t=process.hrtime,e=function(){var o;return o=t(),o[0]*1e9+o[1]},n=e(),a=process.uptime()*1e9,i=n-a):Date.now?(wk.exports=function(){return Date.now()-r},r=Date.now()):(wk.exports=function(){return new Date().getTime()-r},r=new Date().getTime())}).call(VOe)});var jOe=ye((Umr,MF)=>{var aNt=HOe(),s1=window,AF=[\"moz\",\"webkit\"],vA=\"AnimationFrame\",pA=s1[\"request\"+vA],Tk=s1[\"cancel\"+vA]||s1[\"cancelRequest\"+vA];for(dA=0;!pA&&dA<AF.length;dA++)pA=s1[AF[dA]+\"Request\"+vA],Tk=s1[AF[dA]+\"Cancel\"+vA]||s1[AF[dA]+\"CancelRequest\"+vA];var dA;(!pA||!Tk)&&(SF=0,iK=0,vx=[],GOe=1e3/60,pA=function(e){if(vx.length===0){var t=aNt(),r=Math.max(0,GOe-(t-SF));SF=r+t,setTimeout(function(){var n=vx.slice(0);vx.length=0;for(var i=0;i<n.length;i++)if(!n[i].cancelled)try{n[i].callback(SF)}catch(a){setTimeout(function(){throw a},0)}},Math.round(r))}return vx.push({handle:++iK,callback:e,cancelled:!1}),iK},Tk=function(e){for(var t=0;t<vx.length;t++)vx[t].handle===e&&(vx[t].cancelled=!0)});var SF,iK,vx,GOe;MF.exports=function(e){return pA.call(s1,e)};MF.exports.cancel=function(){Tk.apply(s1,arguments)};MF.exports.polyfill=function(e){e||(e=s1),e.requestAnimationFrame=pA,e.cancelAnimationFrame=Tk}});var ZOe=ye((Vmr,WOe)=>{WOe.exports=function(t,r){var n=typeof t==\"number\",i=typeof r==\"number\";n&&!i?(r=t,t=0):!n&&!i&&(t=0,r=0),t=t|0,r=r|0;var a=r-t;if(a<0)throw new Error(\"array length must be positive\");for(var o=new Array(a),s=0,l=t;s<a;s++,l++)o[s]=l;return o}});var JOe=ye((Hmr,KOe)=>{\"use strict\";var oNt=QX(),sNt=Zm(),lNt=j2(),XOe=jOe(),uNt=ZOe(),nK=Q5(),cNt=W2();KOe.exports=px;function px(e,t){if(!(this instanceof px))return new px(e,t);this.traces=[],this.passes={},this.regl=e,this.scatter=oNt(e),this.canvas=this.scatter.canvas}px.prototype.render=function(...e){return e.length&&this.update(...e),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?this.planned==null&&(this.planned=XOe(()=>{this.draw(),this.dirty=!0,this.planned=null})):(this.draw(),this.dirty=!0,XOe(()=>{this.dirty=!1})),this)};px.prototype.update=function(...e){if(!e.length)return;for(let n=0;n<e.length;n++)this.updateItem(n,e[n]);this.traces=this.traces.filter(Boolean);let t=[],r=0;for(let n=0;n<this.traces.length;n++){let i=this.traces[n],a=this.traces[n].passes;for(let o=0;o<a.length;o++)t.push(this.passes[a[o]]);i.passOffset=r,r+=i.passes.length}return this.scatter.update(...t),this};px.prototype.updateItem=function(e,t){let{regl:r}=this;if(t===null)return this.traces[e]=null,this;if(!t)return this;let n=sNt(t,{data:\"data items columns rows values dimensions samples x\",snap:\"snap cluster\",size:\"sizes size radius\",color:\"colors color fill fill-color fillColor\",opacity:\"opacity alpha transparency opaque\",borderSize:\"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline\",borderColor:\"borderColors borderColor bordercolor stroke stroke-color strokeColor\",marker:\"markers marker shape\",range:\"range ranges databox dataBox\",viewport:\"viewport viewBox viewbox\",domain:\"domain domains area areas\",padding:\"pad padding paddings pads margin margins\",transpose:\"transpose transposed\",diagonal:\"diagonal diag showDiagonal\",upper:\"upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf\",lower:\"lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower\"}),i=this.traces[e]||(this.traces[e]={id:e,buffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),color:\"black\",marker:null,size:12,borderColor:\"transparent\",borderSize:1,viewport:nK([r._gl.drawingBufferWidth,r._gl.drawingBufferHeight]),padding:[0,0,0,0],opacity:1,diagonal:!0,upper:!0,lower:!0});if(n.color!=null&&(i.color=n.color),n.size!=null&&(i.size=n.size),n.marker!=null&&(i.marker=n.marker),n.borderColor!=null&&(i.borderColor=n.borderColor),n.borderSize!=null&&(i.borderSize=n.borderSize),n.opacity!=null&&(i.opacity=n.opacity),n.viewport&&(i.viewport=nK(n.viewport)),n.diagonal!=null&&(i.diagonal=n.diagonal),n.upper!=null&&(i.upper=n.upper),n.lower!=null&&(i.lower=n.lower),n.data){i.buffer(cNt(n.data)),i.columns=n.data.length,i.count=n.data[0].length,i.bounds=[];for(let x=0;x<i.columns;x++)i.bounds[x]=lNt(n.data[x],1)}let a;n.range&&(i.range=n.range,a=i.range&&typeof i.range[0]!=\"number\"),n.domain&&(i.domain=n.domain);let o=!1;n.padding!=null&&(Array.isArray(n.padding)&&n.padding.length===i.columns&&typeof n.padding[n.padding.length-1]==\"number\"?(i.padding=n.padding.map(YOe),o=!0):i.padding=YOe(n.padding));let s=i.columns,l=i.count,u=i.viewport.width,c=i.viewport.height,f=i.viewport.x,h=i.viewport.y,d=u/s,v=c/s;i.passes=[];for(let x=0;x<s;x++)for(let b=0;b<s;b++){if(!i.diagonal&&b===x||!i.upper&&x>b||!i.lower&&x<b)continue;let p=fNt(i.id,x,b),E=this.passes[p]||(this.passes[p]={});if(n.data&&(n.transpose?E.positions={x:{buffer:i.buffer,offset:b,count:l,stride:s},y:{buffer:i.buffer,offset:x,count:l,stride:s}}:E.positions={x:{buffer:i.buffer,offset:b*l,count:l},y:{buffer:i.buffer,offset:x*l,count:l}},E.bounds=EF(i.bounds,x,b)),n.domain||n.viewport||n.data){let k=o?EF(i.padding,x,b):i.padding;if(i.domain){let[A,L,_,C]=EF(i.domain,x,b);E.viewport=[f+A*u+k[0],h+L*c+k[1],f+_*u-k[2],h+C*c-k[3]]}else E.viewport=[f+b*d+d*k[0],h+x*v+v*k[1],f+(b+1)*d-d*k[2],h+(x+1)*v-v*k[3]]}n.color&&(E.color=i.color),n.size&&(E.size=i.size),n.marker&&(E.marker=i.marker),n.borderSize&&(E.borderSize=i.borderSize),n.borderColor&&(E.borderColor=i.borderColor),n.opacity&&(E.opacity=i.opacity),n.range&&(E.range=a?EF(i.range,x,b):i.range||E.bounds),i.passes.push(p)}return this};px.prototype.draw=function(...e){if(!e.length)this.scatter.draw();else{let t=[];for(let r=0;r<e.length;r++)if(typeof e[r]==\"number\"){let{passes:n,passOffset:i}=this.traces[e[r]];t.push(...uNt(i,i+n.length))}else if(e[r].length){let n=e[r],{passes:i,passOffset:a}=this.traces[r];i=i.map((o,s)=>{t[a+s]=n})}this.scatter.draw(...t)}return this};px.prototype.destroy=function(){return this.traces.forEach(e=>{e.buffer&&e.buffer.destroy&&e.buffer.destroy()}),this.traces=null,this.passes=null,this.scatter.destroy(),this};function fNt(e,t,r){let n=e.id!=null?e.id:e,i=t,a=r;return n<<16|(i&255)<<8|a&255}function EF(e,t,r){let n,i,a,o,s,l,u,c,f=e[t],h=e[r];return f.length>2?(n=f[0],a=f[2],i=f[1],o=f[3]):f.length?(n=i=f[0],a=o=f[1]):(n=f.x,i=f.y,a=f.x+f.width,o=f.y+f.height),h.length>2?(s=h[0],u=h[2],l=h[1],c=h[3]):h.length?(s=l=h[0],u=c=h[1]):(s=h.x,l=h.y,u=h.x+h.width,c=h.y+h.height),[s,i,u,o]}function YOe(e){if(typeof e==\"number\")return[e,e,e,e];if(e.length===2)return[e[0],e[1],e[0],e[1]];{let t=nK(e);return[t.x,t.y,t.x+t.width,t.y+t.height]}}});var QOe=ye((Gmr,$Oe)=>{\"use strict\";var hNt=JOe(),aK=Mr(),kF=af(),dNt=Sg().selectMode;$Oe.exports=function(t,r,n){if(n.length)for(var i=0;i<n.length;i++)vNt(t,n[i][0])};function vNt(e,t){var r=e._fullLayout,n=r._size,i=t.trace,a=t.t,o=r._splomScenes[i.uid],s=o.matrixOptions,l=s.cdata,u=r._glcanvas.data()[0].regl,c=r.dragmode,f,h,d,v,x;if(l.length!==0){s.lower=i.showupperhalf,s.upper=i.showlowerhalf,s.diagonal=i.diagonal.visible;var b=i._visibleDims,p=l.length,E=o.viewOpts={};for(E.ranges=new Array(p),E.domains=new Array(p),x=0;x<b.length;x++){d=b[x];var k=E.ranges[x]=new Array(4),A=E.domains[x]=new Array(4);f=kF.getFromId(e,i._diag[d][0]),f&&(k[0]=f._rl[0],k[2]=f._rl[1],A[0]=f.domain[0],A[2]=f.domain[1]),h=kF.getFromId(e,i._diag[d][1]),h&&(k[1]=h._rl[0],k[3]=h._rl[1],A[1]=h.domain[0],A[3]=h.domain[1])}var L=e._context.plotGlPixelRatio,_=n.l*L,C=n.b*L,M=n.w*L,g=n.h*L;E.viewport=[_,C,M+_,g+C],o.matrix===!0&&(o.matrix=hNt(u));var P=r.clickmode.indexOf(\"select\")>-1,T=dNt(c)||!!i.selectedpoints||P,F=!0;if(T){var q=i._length;if(i.selectedpoints){o.selectBatch=i.selectedpoints;var V=i.selectedpoints,H={};for(d=0;d<V.length;d++)H[V[d]]=!0;var X=[];for(d=0;d<q;d++)H[d]||X.push(d);o.unselectBatch=X}var G=a.xpx=new Array(p),N=a.ypx=new Array(p);for(x=0;x<b.length;x++){if(d=b[x],f=kF.getFromId(e,i._diag[d][0]),f)for(G[x]=new Array(q),v=0;v<q;v++)G[x][v]=f.c2p(l[x][v]);if(h=kF.getFromId(e,i._diag[d][1]),h)for(N[x]=new Array(q),v=0;v<q;v++)N[x][v]=h.c2p(l[x][v])}if(o.selectBatch.length||o.unselectBatch.length){var W=aK.extendFlat({},s,o.unselectedOptions,E),re=aK.extendFlat({},s,o.selectedOptions,E);o.matrix.update(W,re),F=!1}}else a.xpx=a.ypx=null;if(F){var ae=aK.extendFlat({},s,E);o.matrix.update(ae,null)}}}});var oK=ye(eBe=>{\"use strict\";eBe.getDimIndex=function(t,r){for(var n=r._id,i=n.charAt(0),a={x:0,y:1}[i],o=t._visibleDims,s=0;s<o.length;s++){var l=o[s];if(t._diag[l][a]===n)return s}return!1}});var aBe=ye((Wmr,nBe)=>{\"use strict\";var tBe=oK(),pNt=zz().calcHover,rBe=Qa().getFromId,gNt=no().extendFlat;function mNt(e,t,r,n,i){i||(i={});var a=(n||\"\").charAt(0)===\"x\",o=(n||\"\").charAt(0)===\"y\",s=iBe(e,t,r);if((a||o)&&i.hoversubplots===\"axis\"&&s[0])for(var l=(a?e.xa:e.ya)._subplotsWith,u=i.gd,c=gNt({},e),f=0;f<l.length;f++){var h=l[f];if(h!==e.xa._id+e.ya._id){o?c.xa=rBe(u,h,\"x\"):c.ya=rBe(u,h,\"y\");var d=a||o,v=iBe(c,t,r,d);s=s.concat(v)}}return s}function iBe(e,t,r,n){var i=e.cd,a=i[0].trace,o=e.scene,s=o.matrixOptions.cdata,l=e.xa,u=e.ya,c=l.c2p(t),f=u.c2p(r),h=e.distance,d=tBe.getDimIndex(a,l),v=tBe.getDimIndex(a,u);if(d===!1||v===!1)return[e];for(var x=s[d],b=s[v],p,E,k=h,A=0;A<x.length;A++)if(!(n&&A!==e.index)){var L=x[A],_=b[A],C=l.c2p(L)-c,M=u.c2p(_)-f,g=Math.sqrt(C*C+M*M);(n||g<k)&&(k=E=g,p=A)}return e.index=p,e.distance=k,e.dxy=E,p===void 0?[e]:[pNt(e,x,b,a)]}nBe.exports={hoverPoints:mNt}});var fBe=ye((Zmr,cBe)=>{\"use strict\";var uBe=Mr(),oBe=uBe.pushUnique,sBe=lu(),lBe=oK();cBe.exports=function(t,r){var n=t.cd,i=n[0].trace,a=n[0].t,o=t.scene,s=o.matrixOptions.cdata,l=t.xaxis,u=t.yaxis,c=[];if(!o)return c;var f=!sBe.hasMarkers(i)&&!sBe.hasText(i);if(i.visible!==!0||f)return c;var h=lBe.getDimIndex(i,l),d=lBe.getDimIndex(i,u);if(h===!1||d===!1)return c;var v=a.xpx[h],x=a.ypx[d],b=s[h],p=s[d],E=(t.scene.selectBatch||[]).slice(),k=[];if(r!==!1&&!r.degenerate)for(var A=0;A<b.length;A++)r.contains([v[A],x[A]],null,A,t)?(c.push({pointNumber:A,x:b[A],y:p[A]}),oBe(E,A)):E.indexOf(A)!==-1?oBe(E,A):k.push(A);var L=o.matrixOptions;return!E.length&&!k.length?o.matrix.update(L,null):!o.selectBatch.length&&!o.unselectBatch.length&&o.matrix.update(o.unselectedOptions,uBe.extendFlat({},L,o.selectedOptions,o.viewOpts)),o.selectBatch=E,o.unselectBatch=k,c}});var vBe=ye((Xmr,dBe)=>{\"use strict\";var hBe=Mr(),yNt=z0(),_Nt=Y2().markerStyle;dBe.exports=function(t,r){var n=r.trace,i=t._fullLayout._splomScenes[n.uid];if(i){yNt(t,n),hBe.extendFlat(i.matrixOptions,_Nt(t,n));var a=hBe.extendFlat({},i.matrixOptions,i.viewOpts);i.matrix.update(a,null)}}});var gBe=ye((Ymr,pBe)=>{\"use strict\";var xNt=ba(),bNt=nV();pBe.exports={moduleType:\"trace\",name:\"splom\",categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:eK(),supplyDefaults:zOe(),colorbar:Kd(),calc:UOe(),plot:QOe(),hoverPoints:aBe().hoverPoints,selectPoints:fBe(),editStyle:vBe(),meta:{}};xNt.register(bNt)});var wBe=ye((Kmr,bBe)=>{\"use strict\";var wNt=LY(),TNt=ba(),ANt=xF(),SNt=kd().getModuleCalcData,gx=Jf(),mBe=af().getFromId,yBe=Qa().shouldShowZeroLine,_Be=\"splom\",xBe={};function MNt(e){var t=e._fullLayout,r=TNt.getModule(_Be),n=SNt(e.calcdata,r)[0],i=ANt(e,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"],xBe);i&&(t._hasOnlyLargeSploms&&sK(e),r.plot(e,{},n))}function ENt(e){var t=e.calcdata,r=e._fullLayout;r._hasOnlyLargeSploms&&sK(e);for(var n=0;n<t.length;n++){var i=t[n][0],a=i.trace,o=r._splomScenes[a.uid];a.type===\"splom\"&&o&&o.matrix&&kNt(e,a,o)}}function kNt(e,t,r){for(var n=r.matrixOptions.data.length,i=t._visibleDims,a=r.viewOpts.ranges=new Array(n),o=0;o<i.length;o++){var s=i[o],l=a[o]=new Array(4),u=mBe(e,t._diag[s][0]);u&&(l[0]=u.r2l(u.range[0]),l[2]=u.r2l(u.range[1]));var c=mBe(e,t._diag[s][1]);c&&(l[1]=c.r2l(c.range[0]),l[3]=c.r2l(c.range[1]))}r.selectBatch.length||r.unselectBatch.length?r.matrix.update({ranges:a},{ranges:a}):r.matrix.update({ranges:a})}function sK(e){var t=e._fullLayout,r=t._glcanvas.data()[0].regl,n=t._splomGrid;n||(n=t._splomGrid=wNt(r)),n.update(CNt(e))}function CNt(e){var t=e._context.plotGlPixelRatio,r=e._fullLayout,n=r._size,i=[0,0,r.width*t,r.height*t],a={},o;function s(_,C,M,g,P,T){M*=t,g*=t,P*=t,T*=t;var F=C[_+\"color\"],q=C[_+\"width\"],V=String(F+q);V in a?a[V].data.push(NaN,NaN,M,g,P,T):a[V]={data:[M,g,P,T],join:\"rect\",thickness:q*t,color:F,viewport:i,range:i,overlay:!1}}for(o in r._splomSubplots){var l=r._plots[o],u=l.xaxis,c=l.yaxis,f=u._gridVals,h=c._gridVals,d=u._offset,v=u._length,x=c._length,b=n.b+c.domain[0]*n.h,p=-c._m,E=-p*c.r2l(c.range[0],c.calendar),k,A;if(u.showgrid)for(o=0;o<f.length;o++)k=d+u.l2p(f[o].x),s(\"grid\",u,k,b,k,b+x);if(c.showgrid)for(o=0;o<h.length;o++)A=b+E+p*h[o].x,s(\"grid\",c,d,A,d+v,A);yBe(e,u,c)&&(k=d+u.l2p(0),s(\"zeroline\",u,k,b,k,b+x)),yBe(e,c,u)&&(A=b+E+0,s(\"zeroline\",c,d,A,d+v,A))}var L=[];for(o in a)L.push(a[o]);return L}function LNt(e,t,r,n){var i={},a;if(n._splomScenes){for(a=0;a<e.length;a++){var o=e[a];o.type===\"splom\"&&(i[o.uid]=1)}for(a=0;a<r.length;a++){var s=r[a];if(!i[s.uid]){var l=n._splomScenes[s.uid];l&&l.destroy&&l.destroy(),n._splomScenes[s.uid]=null,delete n._splomScenes[s.uid]}}}Object.keys(n._splomScenes||{}).length===0&&delete n._splomScenes,n._splomGrid&&!t._hasOnlyLargeSploms&&n._hasOnlyLargeSploms&&(n._splomGrid.destroy(),n._splomGrid=null,delete n._splomGrid),gx.clean(e,t,r,n)}bBe.exports={name:_Be,attr:gx.attr,attrRegex:gx.attrRegex,layoutAttributes:gx.layoutAttributes,supplyLayoutDefaults:gx.supplyLayoutDefaults,drawFramework:gx.drawFramework,plot:MNt,drag:ENt,updateGrid:sK,clean:LNt,updateFx:gx.updateFx,toSVG:gx.toSVG,reglPrecompiled:xBe}});var SBe=ye((Jmr,ABe)=>{\"use strict\";var TBe=gBe();TBe.basePlotModule=wBe(),ABe.exports=TBe});var EBe=ye(($mr,MBe)=>{\"use strict\";MBe.exports=SBe()});var cK=ye((Qmr,kBe)=>{\"use strict\";var PNt=Jl(),lK=Cd(),uK=Su(),INt=Ju().attributes,CF=no().extendFlat,RNt=Vs().templatedArray;kBe.exports={domain:INt({name:\"parcoords\",trace:!0,editType:\"plot\"}),labelangle:{valType:\"angle\",dflt:0,editType:\"plot\"},labelside:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},labelfont:uK({editType:\"plot\"}),tickfont:uK({autoShadowDflt:!0,editType:\"plot\"}),rangefont:uK({editType:\"plot\"}),dimensions:RNt(\"dimension\",{label:{valType:\"string\",editType:\"plot\"},tickvals:CF({},lK.tickvals,{editType:\"plot\"}),ticktext:CF({},lK.ticktext,{editType:\"plot\"}),tickformat:CF({},lK.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:CF({editType:\"calc\"},PNt(\"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\"}}});var Ak=ye((eyr,CBe)=>{\"use strict\";CBe.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:[\"contextLineLayer\",\"focusLineLayer\",\"pickLineLayer\"],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,captureWidth:10,fillColor:\"magenta\",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:\"axis-extent-text\",parcoordsLineLayers:\"parcoords-line-layers\",parcoordsLineLayer:\"parcoords-lines\",parcoords:\"parcoords\",parcoordsControlView:\"parcoords-control-view\",yAxis:\"y-axis\",axisOverlays:\"axis-overlays\",axis:\"axis\",axisHeading:\"axis-heading\",axisTitle:\"axis-title\",axisExtent:\"axis-extent\",axisExtentTop:\"axis-extent-top\",axisExtentTopText:\"axis-extent-top-text\",axisExtentBottom:\"axis-extent-bottom\",axisExtentBottomText:\"axis-extent-bottom-text\",axisBrush:\"axis-brush\"},id:{filterBarPattern:\"filter-bar-pattern\"}}});var Km=ye((tyr,PBe)=>{\"use strict\";var DNt=OS();function LBe(e){return[e]}PBe.exports={keyFun:function(e){return e.key},repeat:LBe,descend:DNt,wrap:LBe,unwrap:function(e){return e[0]}}});var dK=ye((ryr,VBe)=>{\"use strict\";var th=Ak(),em=xa(),zNt=Km().keyFun,LF=Km().repeat,gA=Mr().sorterAsc,FNt=Mr().strTranslate,IBe=th.bar.snapRatio;function RBe(e,t){return e*(1-IBe)+t*IBe}var DBe=th.bar.snapClose;function qNt(e,t){return e*(1-DBe)+t*DBe}function IF(e,t,r,n){if(ONt(r,n))return r;var i=e?-1:1,a=0,o=t.length-1;if(i<0){var s=a;a=o,o=s}for(var l=t[a],u=l,c=a;i*c<i*o;c+=i){var f=c+i,h=t[f];if(i*r<i*qNt(l,h))return RBe(l,u);if(i*r<i*h||f===o)return RBe(h,l);u=l,l=h}}function ONt(e,t){for(var r=0;r<t.length;r++)if(e>=t[r][0]&&e<=t[r][1])return!0;return!1}function BNt(e){e.attr(\"x\",-th.bar.captureWidth/2).attr(\"width\",th.bar.captureWidth)}function NNt(e){e.attr(\"visibility\",\"visible\").style(\"visibility\",\"visible\").attr(\"fill\",\"yellow\").attr(\"opacity\",0)}function UNt(e){if(!e.brush.filterSpecified)return\"0,\"+e.height;for(var t=zBe(e.brush.filter.getConsolidated(),e.height),r=[0],n,i,a,o=t.length?t[0][0]:null,s=0;s<t.length;s++)n=t[s],i=n[1]-n[0],r.push(o),r.push(i),a=s+1,a<t.length&&(o=t[a][0]-n[1]);return r.push(e.height),r}function zBe(e,t){return e.map(function(r){return r.map(function(n){return Math.max(0,n*t)}).sort(gA)})}function VNt(e,t){var r=th.bar.handleHeight;if(!(t>e[1]+r||t<e[0]-r))return t>=.9*e[1]+.1*e[0]?\"n\":t<=.9*e[0]+.1*e[1]?\"s\":\"ns\"}function FBe(){em.select(document.body).style(\"cursor\",null)}function hK(e){e.attr(\"stroke-dasharray\",UNt)}function PF(e,t){var r=em.select(e).selectAll(\".highlight, .highlight-shadow\"),n=t?r.transition().duration(th.bar.snapDuration).each(\"end\",t):r;hK(n)}function qBe(e,t){var r=e.brush,n=r.filterSpecified,i=NaN,a={},o;if(n){var s=e.height,l=r.filter.getConsolidated(),u=zBe(l,s),c=NaN,f=NaN,h=NaN;for(o=0;o<=u.length;o++){var d=u[o];if(d&&d[0]<=t&&t<=d[1]){c=o;break}else if(f=o?o-1:NaN,d&&d[0]>t){h=o;break}}if(i=c,isNaN(i)&&(isNaN(f)||isNaN(h)?i=isNaN(f)?h:f:i=t-u[f][1]<u[h][0]-t?f:h),!isNaN(i)){var v=u[i],x=VNt(v,t);x&&(a.interval=l[i],a.intervalPix=v,a.region=x)}}if(e.ordinal&&!a.region){var b=e.unitTickvals,p=e.unitToPaddedPx.invert(t);for(o=0;o<b.length;o++){var E=[b[Math.max(o-1,0)]*.25+b[o]*.75,b[Math.min(o+1,b.length-1)]*.25+b[o]*.75];if(p>=E[0]&&p<=E[1]){a.clickableOrdinalRange=E;break}}}return a}function HNt(e,t){em.event.sourceEvent.stopPropagation();var r=t.height-em.mouse(e)[1]-2*th.verticalPadding,n=t.unitToPaddedPx.invert(r),i=t.brush,a=qBe(t,r),o=a.interval,s=i.svgBrush;if(s.wasDragged=!1,s.grabbingBar=a.region===\"ns\",s.grabbingBar){var l=o.map(t.unitToPaddedPx);s.grabPoint=r-l[0]-th.verticalPadding,s.barLength=l[1]-l[0]}s.clickableOrdinalRange=a.clickableOrdinalRange,s.stayingIntervals=t.multiselect&&i.filterSpecified?i.filter.getConsolidated():[],o&&(s.stayingIntervals=s.stayingIntervals.filter(function(u){return u[0]!==o[0]&&u[1]!==o[1]})),s.startExtent=a.region?o[a.region===\"s\"?1:0]:n,t.parent.inBrushDrag=!0,s.brushStartCallback()}function OBe(e,t){em.event.sourceEvent.stopPropagation();var r=t.height-em.mouse(e)[1]-2*th.verticalPadding,n=t.brush.svgBrush;n.wasDragged=!0,n._dragging=!0,n.grabbingBar?n.newExtent=[r-n.grabPoint,r+n.barLength-n.grabPoint].map(t.unitToPaddedPx.invert):n.newExtent=[n.startExtent,t.unitToPaddedPx.invert(r)].sort(gA),t.brush.filterSpecified=!0,n.extent=n.stayingIntervals.concat([n.newExtent]),n.brushCallback(t),PF(e.parentNode)}function GNt(e,t){var r=t.brush,n=r.filter,i=r.svgBrush;i._dragging||(BBe(e,t),OBe(e,t),t.brush.svgBrush.wasDragged=!1),i._dragging=!1;var a=em.event;a.sourceEvent.stopPropagation();var o=i.grabbingBar;if(i.grabbingBar=!1,i.grabLocation=void 0,t.parent.inBrushDrag=!1,FBe(),!i.wasDragged){i.wasDragged=void 0,i.clickableOrdinalRange?r.filterSpecified&&t.multiselect?i.extent.push(i.clickableOrdinalRange):(i.extent=[i.clickableOrdinalRange],r.filterSpecified=!0):o?(i.extent=i.stayingIntervals,i.extent.length===0&&fK(r)):fK(r),i.brushCallback(t),PF(e.parentNode),i.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);return}var s=function(){n.set(n.getConsolidated())};if(t.ordinal){var l=t.unitTickvals;l[l.length-1]<l[0]&&l.reverse(),i.newExtent=[IF(0,l,i.newExtent[0],i.stayingIntervals),IF(1,l,i.newExtent[1],i.stayingIntervals)];var u=i.newExtent[1]>i.newExtent[0];i.extent=i.stayingIntervals.concat(u?[i.newExtent]:[]),i.extent.length||fK(r),i.brushCallback(t),u?PF(e.parentNode,s):(s(),PF(e.parentNode))}else s();i.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}function BBe(e,t){var r=t.height-em.mouse(e)[1]-2*th.verticalPadding,n=qBe(t,r),i=\"crosshair\";n.clickableOrdinalRange?i=\"pointer\":n.region&&(i=n.region+\"-resize\"),em.select(document.body).style(\"cursor\",i)}function jNt(e){e.on(\"mousemove\",function(t){em.event.preventDefault(),t.parent.inBrushDrag||BBe(this,t)}).on(\"mouseleave\",function(t){t.parent.inBrushDrag||FBe()}).call(em.behavior.drag().on(\"dragstart\",function(t){HNt(this,t)}).on(\"drag\",function(t){OBe(this,t)}).on(\"dragend\",function(t){GNt(this,t)}))}function NBe(e,t){return e[0]-t[0]}function WNt(e,t,r){var n=r._context.staticPlot,i=e.selectAll(\".background\").data(LF);i.enter().append(\"rect\").classed(\"background\",!0).call(BNt).call(NNt).style(\"pointer-events\",n?\"none\":\"auto\").attr(\"transform\",FNt(0,th.verticalPadding)),i.call(jNt).attr(\"height\",function(s){return s.height-th.verticalPadding});var a=e.selectAll(\".highlight-shadow\").data(LF);a.enter().append(\"line\").classed(\"highlight-shadow\",!0).attr(\"x\",-th.bar.width/2).attr(\"stroke-width\",th.bar.width+th.bar.strokeWidth).attr(\"stroke\",t).attr(\"opacity\",th.bar.strokeOpacity).attr(\"stroke-linecap\",\"butt\"),a.attr(\"y1\",function(s){return s.height}).call(hK);var o=e.selectAll(\".highlight\").data(LF);o.enter().append(\"line\").classed(\"highlight\",!0).attr(\"x\",-th.bar.width/2).attr(\"stroke-width\",th.bar.width-th.bar.strokeWidth).attr(\"stroke\",th.bar.fillColor).attr(\"opacity\",th.bar.fillOpacity).attr(\"stroke-linecap\",\"butt\"),o.attr(\"y1\",function(s){return s.height}).call(hK)}function ZNt(e,t,r){var n=e.selectAll(\".\"+th.cn.axisBrush).data(LF,zNt);n.enter().append(\"g\").classed(th.cn.axisBrush,!0),WNt(n,t,r)}function XNt(e){return e.svgBrush.extent.map(function(t){return t.slice()})}function fK(e){e.filterSpecified=!1,e.svgBrush.extent=[[-1/0,1/0]]}function YNt(e){return function(r){var n=r.brush,i=XNt(n),a=i.slice();n.filter.set(a),e()}}function UBe(e){for(var t=e.slice(),r=[],n,i=t.shift();i;){for(n=i.slice();(i=t.shift())&&i[0]<=n[1];)n[1]=Math.max(n[1],i[1]);r.push(n)}return r.length===1&&r[0][0]>r[0][1]&&(r=[]),r}function KNt(){var e=[],t,r;return{set:function(n){e=n.map(function(i){return i.slice().sort(gA)}).sort(NBe),e.length===1&&e[0][0]===-1/0&&e[0][1]===1/0&&(e=[[0,-1]]),t=UBe(e),r=e.reduce(function(i,a){return[Math.min(i[0],a[0]),Math.max(i[1],a[1])]},[1/0,-1/0])},get:function(){return e.slice()},getConsolidated:function(){return t},getBounds:function(){return r}}}function JNt(e,t,r,n,i,a){var o=KNt();return o.set(r),{filter:o,filterSpecified:t,svgBrush:{extent:[],brushStartCallback:n,brushCallback:YNt(i),brushEndCallback:a}}}function $Nt(e,t){if(Array.isArray(e[0])?(e=e.map(function(n){return n.sort(gA)}),t.multiselect?e=UBe(e.sort(NBe)):e=[e[0]]):e=[e.sort(gA)],t.tickvals){var r=t.tickvals.slice().sort(gA);if(e=e.map(function(n){var i=[IF(0,r,n[0],[]),IF(1,r,n[1],[])];if(i[1]>i[0])return i}).filter(function(n){return n}),!e.length)return}return e.length>1?e:e[0]}VBe.exports={makeBrush:JNt,ensureAxisBrush:ZNt,cleanRanges:$Nt}});var jBe=ye((iyr,GBe)=>{\"use strict\";var mx=Mr(),QNt=Dv().hasColorscale,eUt=Uh(),tUt=Ju().defaults,rUt=Zd(),iUt=Qa(),HBe=cK(),nUt=dK(),vK=Ak().maxDimensionCount,aUt=wF();function oUt(e,t,r,n,i){var a=i(\"line.color\",r);if(QNt(e,\"line\")&&mx.isArrayOrTypedArray(a)){if(a.length)return i(\"line.colorscale\"),eUt(e,t,n,i,{prefix:\"line.\",cLetter:\"c\"}),a.length;t.line.color=r}return 1/0}function sUt(e,t,r,n){function i(u,c){return mx.coerce(e,t,HBe.dimensions,u,c)}var a=i(\"values\"),o=i(\"visible\");if(a&&a.length||(o=t.visible=!1),o){i(\"label\"),i(\"tickvals\"),i(\"ticktext\"),i(\"tickformat\");var s=i(\"range\");t._ax={_id:\"y\",type:\"linear\",showexponent:\"all\",exponentformat:\"B\",range:s},iUt.setConvert(t._ax,n.layout),i(\"multiselect\");var l=i(\"constraintrange\");l&&(t.constraintrange=nUt.cleanRanges(l,t))}}GBe.exports=function(t,r,n,i){function a(c,f){return mx.coerce(t,r,HBe,c,f)}var o=t.dimensions;Array.isArray(o)&&o.length>vK&&(mx.log(\"parcoords traces support up to \"+vK+\" dimensions at the moment\"),o.splice(vK));var s=rUt(t,r,{name:\"dimensions\",layout:i,handleItemDefaults:sUt}),l=oUt(t,r,n,i,a);tUt(r,i,a),(!Array.isArray(s)||!s.length)&&(r.visible=!1),aUt(r,s,\"values\",l);var u=mx.extendFlat({},i.font,{size:Math.round(i.font.size/1.2)});mx.coerceFont(a,\"labelfont\",u),mx.coerceFont(a,\"tickfont\",u,{autoShadowDflt:!0}),mx.coerceFont(a,\"rangefont\",u),a(\"labelangle\"),a(\"labelside\"),a(\"unselected.line.color\"),a(\"unselected.line.opacity\")}});var ZBe=ye((nyr,WBe)=>{\"use strict\";var lUt=Mr().isArrayOrTypedArray,pK=Mu(),uUt=Km().wrap;WBe.exports=function(t,r){var n,i;return pK.hasColorscale(r,\"line\")&&lUt(r.line.color)?(n=r.line.color,i=pK.extractOpts(r.line).colorscale,pK.calc(t,r,{vals:n,containerStr:\"line\",cLetter:\"c\"})):(n=cUt(r._length),i=[[0,r.line.color],[1,r.line.color]]),uUt({lineColor:n,cscale:i})};function cUt(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=.5;return t}});function fUt(e){var c,f;var t,r=[],n=1,i;if(typeof e==\"number\")return{space:\"rgb\",values:[e>>>16,(e&65280)>>>8,e&255],alpha:1};if(typeof e==\"number\")return{space:\"rgb\",values:[e>>>16,(e&65280)>>>8,e&255],alpha:1};if(e=String(e).toLowerCase(),gK.default[e])r=gK.default[e].slice(),i=\"rgb\";else if(e===\"transparent\")n=0,i=\"rgb\",r=[0,0,0];else if(e[0]===\"#\"){var a=e.slice(1),o=a.length,s=o<=4;n=1,s?(r=[parseInt(a[0]+a[0],16),parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16)],o===4&&(n=parseInt(a[3]+a[3],16)/255)):(r=[parseInt(a[0]+a[1],16),parseInt(a[2]+a[3],16),parseInt(a[4]+a[5],16)],o===8&&(n=parseInt(a[6]+a[7],16)/255)),r[0]||(r[0]=0),r[1]||(r[1]=0),r[2]||(r[2]=0),i=\"rgb\"}else if(t=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\\s*\\(([^\\)]*)\\)/.exec(e)){var l=t[1];i=l.replace(/a$/,\"\");var u=i===\"cmyk\"?4:i===\"gray\"?1:3;r=t[2].trim().split(/\\s*[,\\/]\\s*|\\s+/),i===\"color\"&&(i=r.shift()),r=r.map(function(h,d){if(h[h.length-1]===\"%\")return h=parseFloat(h)/100,d===3?h:i===\"rgb\"?h*255:i[0]===\"h\"||i[0]===\"l\"&&!d?h*100:i===\"lab\"?h*125:i===\"lch\"?d<2?h*150:h*360:i[0]===\"o\"&&!d?h:i===\"oklab\"?h*.4:i===\"oklch\"?d<2?h*.4:h*360:h;if(i[d]===\"h\"||d===2&&i[i.length-1]===\"h\"){if(XBe[h]!==void 0)return XBe[h];if(h.endsWith(\"deg\"))return parseFloat(h);if(h.endsWith(\"turn\"))return parseFloat(h)*360;if(h.endsWith(\"grad\"))return parseFloat(h)*360/400;if(h.endsWith(\"rad\"))return parseFloat(h)*180/Math.PI}return h===\"none\"?0:parseFloat(h)}),n=r.length>u?r.pop():1}else/[0-9](?:\\s|\\/|,)/.test(e)&&(r=e.match(/([0-9]+)/g).map(function(h){return parseFloat(h)}),i=((f=(c=e.match(/([a-z])/ig))==null?void 0:c.join(\"\"))==null?void 0:f.toLowerCase())||\"rgb\");return{space:i,values:r,alpha:n}}var gK,YBe,XBe,KBe=Ll(()=>{gK=YQe(rZ(),1),YBe=fUt,XBe={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}});var Sk,mK=Ll(()=>{Sk={name:\"rgb\",min:[0,0,0],max:[255,255,255],channel:[\"red\",\"green\",\"blue\"],alias:[\"RGB\"]}});var RF,JBe=Ll(()=>{mK();RF={name:\"hsl\",min:[0,0,0],max:[360,100,100],channel:[\"hue\",\"saturation\",\"lightness\"],alias:[\"HSL\"],rgb:function(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100,i,a,o,s,l,u=0;if(r===0)return l=n*255,[l,l,l];for(a=n<.5?n*(1+r):n+r-n*r,i=2*n-a,s=[0,0,0];u<3;)o=t+1/3*-(u-1),o<0?o++:o>1&&o--,l=6*o<1?i+(a-i)*6*o:2*o<1?a:3*o<2?i+(a-i)*(2/3-o)*6:i,s[u++]=l*255;return s}};Sk.hsl=function(e){var t=e[0]/255,r=e[1]/255,n=e[2]/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=a-i,s,l,u;return a===i?s=0:t===a?s=(r-n)/o:r===a?s=2+(n-t)/o:n===a&&(s=4+(t-r)/o),s=Math.min(s*60,360),s<0&&(s+=360),u=(i+a)/2,a===i?l=0:u<=.5?l=o/(a+i):l=o/(2-a-i),[s,l*100,u*100]}});var QBe={};QQ(QBe,{default:()=>$Be});function $Be(e){Array.isArray(e)&&e.raw&&(e=String.raw(...arguments)),e instanceof Number&&(e=+e);var t,r,n,i=YBe(e);if(!i.space)return[];let a=i.space[0]===\"h\"?RF.min:Sk.min,o=i.space[0]===\"h\"?RF.max:Sk.max;return t=Array(3),t[0]=Math.min(Math.max(i.values[0],a[0]),o[0]),t[1]=Math.min(Math.max(i.values[1],a[1]),o[1]),t[2]=Math.min(Math.max(i.values[2],a[2]),o[2]),i.space[0]===\"h\"&&(t=RF.rgb(t)),t.push(Math.min(Math.max(i.alpha,0),1)),t}var eNe=Ll(()=>{KBe();mK();JBe()});var yK=ye(DF=>{\"use strict\";var hUt=Mr().isTypedArray;DF.convertTypedArray=function(e){return hUt(e)?Array.prototype.slice.call(e):e};DF.isOrdinal=function(e){return!!e.tickvals};DF.isVisible=function(e){return e.visible||!(\"visible\"in e)}});var cNe=ye((dyr,uNe)=>{\"use strict\";var dUt=[\"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", - "`),vUt=[\"precision highp float;\",\"\",\"varying vec4 fragColor;\",\"\",\"void main() {\",\" gl_FragColor = fragColor;\",\"}\"].join(`\n", - "`),Mk=Ak().maxDimensionCount,oNe=Mr(),tNe=1e-6,zF=2048,pUt=new Uint8Array(4),rNe=new Uint8Array(4),iNe={shape:[256,1],format:\"rgba\",type:\"uint8\",mag:\"nearest\",min:\"nearest\"};function gUt(e){e.read({x:0,y:0,width:1,height:1,data:pUt})}function sNe(e,t,r,n,i){var a=e._gl;a.enable(a.SCISSOR_TEST),a.scissor(t,r,n,i),e.clear({color:[0,0,0,0],depth:1})}function mUt(e,t,r,n,i,a){var o=a.key;function s(l){var u=Math.min(n,i-l*n);l===0&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],sNe(e,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),!r.clearOnly&&(a.count=2*u,a.offset=2*l*n,t(a),l*n+u<i&&(r.currentRafs[o]=window.requestAnimationFrame(function(){s(l+1)})),r.drawCompleted=!1)}r.drawCompleted||(gUt(e),r.drawCompleted=!0),s(0)}function yUt(e){return Math.max(tNe,Math.min(1-tNe,e))}function _Ut(e,t){for(var r=new Array(256),n=0;n<256;n++)r[n]=e(n/255).concat(t);return r}function _K(e,t){return(e>>>8*t)%256/255}function xUt(e,t,r){for(var n=new Array(e*(Mk+4)),i=0,a=0;a<e;a++){for(var o=0;o<Mk;o++)n[i++]=o<t.length?t[o].paddedUnitValues[a]:.5;n[i++]=_K(a,2),n[i++]=_K(a,1),n[i++]=_K(a,0),n[i++]=yUt(r[a])}return n}function bUt(e,t,r){for(var n=new Array(t*8),i=0,a=0;a<t;a++)for(var o=0;o<2;o++)for(var s=0;s<4;s++){var l=e*4+s,u=r[a*64+l];l===63&&o===0&&(u*=-1),n[i++]=u}return n}function nNe(e){var t=\"0\"+e;return t.substr(t.length-2)}function lNe(e){return e<Mk?\"p\"+nNe(e+1)+\"_\"+nNe(e+4):\"colors\"}function wUt(e,t,r){for(var n=0;n<=Mk;n+=4)e[lNe(n)](bUt(n/4,t,r))}function TUt(e){for(var t={},r=0;r<=Mk;r+=4)t[lNe(r)]=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)});return t}function AUt(e,t,r,n,i,a,o,s,l,u,c,f,h,d){for(var v=[[],[]],x=0;x<64;x++)v[0][x]=x===i?1:0,v[1][x]=x===a?1:0;o*=d,s*=d,l*=d,u*=d;var b=e.lines.canvasOverdrag*d,p=e.domain,E=e.canvasWidth*d,k=e.canvasHeight*d,A=e.pad.l*d,L=e.pad.b*d,_=e.layoutHeight*d,C=e.layoutWidth*d,M=e.deselectedLines.color,g=e.deselectedLines.opacity,P=oNe.extendFlat({key:c,resolution:[E,k],viewBoxPos:[o+b,s],viewBoxSize:[l,u],i0:i,i1:a,dim0A:v[0].slice(0,16),dim0B:v[0].slice(16,32),dim0C:v[0].slice(32,48),dim0D:v[0].slice(48,64),dim1A:v[1].slice(0,16),dim1B:v[1].slice(16,32),dim1C:v[1].slice(32,48),dim1D:v[1].slice(48,64),drwLayer:f,contextColor:[M[0]/255,M[1]/255,M[2]/255,g!==\"auto\"?M[3]*g:Math.max(1/255,Math.pow(1/e.lines.color.length,1/3))],scissorX:(n===t?0:o+b)+(A-b)+C*p.x[0],scissorWidth:(n===r?E-o+b:l+.5)+(n===t?o+b:0),scissorY:s+L+_*p.y[0],scissorHeight:u,viewportX:A-b+C*p.x[0],viewportY:L+_*p.y[0],viewportWidth:E,viewportHeight:k},h);return P}function aNe(e){var t=zF-1,r=Math.max(0,Math.floor(e[0]*t),0),n=Math.min(t,Math.ceil(e[1]*t),t);return[Math.min(r,n),Math.max(r,n)]}uNe.exports=function(e,t){var r=t.context,n=t.pick,i=t.regl,a=i._gl,o=a.getParameter(a.ALIASED_LINE_WIDTH_RANGE),s=Math.max(o[0],Math.min(o[1],t.viewModel.plotGlPixelRatio)),l={currentRafs:{},drawCompleted:!0,clearOnly:!1},u,c,f,h,d=TUt(i),v,x=i.texture(iNe),b=[];E(t);var p=i({profile:!1,blend:{enable:r,func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:1,dstAlpha:1},equation:{rgb:\"add\",alpha:\"add\"},color:[0,0,0,0]},depth:{enable:!r,mask:!0,func:\"less\",range:[0,1]},cull:{enable:!0,face:\"back\"},scissor:{enable:!0,box:{x:i.prop(\"scissorX\"),y:i.prop(\"scissorY\"),width:i.prop(\"scissorWidth\"),height:i.prop(\"scissorHeight\")}},viewport:{x:i.prop(\"viewportX\"),y:i.prop(\"viewportY\"),width:i.prop(\"viewportWidth\"),height:i.prop(\"viewportHeight\")},dither:!1,vert:dUt,frag:vUt,primitive:\"lines\",lineWidth:s,attributes:d,uniforms:{resolution:i.prop(\"resolution\"),viewBoxPos:i.prop(\"viewBoxPos\"),viewBoxSize:i.prop(\"viewBoxSize\"),dim0A:i.prop(\"dim0A\"),dim1A:i.prop(\"dim1A\"),dim0B:i.prop(\"dim0B\"),dim1B:i.prop(\"dim1B\"),dim0C:i.prop(\"dim0C\"),dim1C:i.prop(\"dim1C\"),dim0D:i.prop(\"dim0D\"),dim1D:i.prop(\"dim1D\"),loA:i.prop(\"loA\"),hiA:i.prop(\"hiA\"),loB:i.prop(\"loB\"),hiB:i.prop(\"hiB\"),loC:i.prop(\"loC\"),hiC:i.prop(\"hiC\"),loD:i.prop(\"loD\"),hiD:i.prop(\"hiD\"),palette:x,contextColor:i.prop(\"contextColor\"),maskTexture:i.prop(\"maskTexture\"),drwLayer:i.prop(\"drwLayer\"),maskHeight:i.prop(\"maskHeight\")},offset:i.prop(\"offset\"),count:i.prop(\"count\")});function E(M){u=M.model,c=M.viewModel,f=c.dimensions.slice(),h=f[0]?f[0].values.length:0;var g=u.lines,P=n?g.color.map(function(F,q){return q/g.color.length}):g.color,T=xUt(h,f,P);wUt(d,h,T),!r&&!n&&(x=i.texture(oNe.extendFlat({data:_Ut(u.unitToColor,255)},iNe)))}function k(M){var g,P,T,F=[[],[]];for(T=0;T<64;T++){var q=!M&&T<f.length?f[T].brush.filter.getBounds():[-1/0,1/0];F[0][T]=q[0],F[1][T]=q[1]}var V=zF*8,H=new Array(V);for(g=0;g<V;g++)H[g]=255;if(!M)for(g=0;g<f.length;g++){var X=g%8,G=(g-X)/8,N=Math.pow(2,X),W=f[g],re=W.brush.filter.get();if(!(re.length<2)){var ae=aNe(re[0])[1];for(P=1;P<re.length;P++){var _e=aNe(re[P]);for(T=ae+1;T<_e[0];T++)H[T*8+G]&=~N;ae=Math.max(ae,_e[1])}}}var Me={shape:[8,zF],format:\"alpha\",type:\"uint8\",mag:\"nearest\",min:\"nearest\",data:H};return v?v(Me):v=i.texture(Me),{maskTexture:v,maskHeight:zF,loA:F[0].slice(0,16),loB:F[0].slice(16,32),loC:F[0].slice(32,48),loD:F[0].slice(48,64),hiA:F[1].slice(0,16),hiB:F[1].slice(16,32),hiC:F[1].slice(32,48),hiD:F[1].slice(48,64)}}function A(M,g,P){var T=M.length,F,q,V,H=1/0,X=-1/0;for(F=0;F<T;F++)M[F].dim0.canvasX<H&&(H=M[F].dim0.canvasX,q=F),M[F].dim1.canvasX>X&&(X=M[F].dim1.canvasX,V=F);T===0&&sNe(i,0,0,u.canvasWidth,u.canvasHeight);var G=k(r);for(F=0;F<T;F++){var N=M[F],W=N.dim0.crossfilterDimensionIndex,re=N.dim1.crossfilterDimensionIndex,ae=N.canvasX,_e=N.canvasY,Me=ae+N.panelSizeX,ke=N.plotGlPixelRatio;if(g||!b[W]||b[W][0]!==ae||b[W][1]!==Me){b[W]=[ae,Me];var ge=AUt(u,q,V,F,W,re,ae,_e,N.panelSizeX,N.panelSizeY,N.dim0.crossfilterDimensionIndex,r?0:n?2:1,G,ke);l.clearOnly=P;var ie=g?u.lines.blockLineCount:h;mUt(i,p,l,ie,h,ge)}}}function L(M,g){return i.read({x:M,y:g,width:1,height:1,data:rNe}),rNe}function _(M,g,P,T){var F=new Uint8Array(4*P*T);return i.read({x:M,y:g,width:P,height:T,data:F}),F}function C(){e.style[\"pointer-events\"]=\"none\",x.destroy(),v&&v.destroy();for(var M in d)d[M].destroy()}return{render:A,readPixel:L,readPixels:_,destroy:C,update:E}}});var ANe=ye((vyr,TNe)=>{\"use strict\";var zd=xa(),l1=Mr(),xK=l1.isArrayOrTypedArray,gNe=l1.numberFormat,mNe=(eNe(),B1(QBe)).default,yNe=Qa(),SUt=l1.strRotate,Jm=l1.strTranslate,MUt=Pl(),FF=ao(),fNe=Mu(),TK=Km(),tg=TK.keyFun,$m=TK.repeat,_Ne=TK.unwrap,mA=yK(),ll=Ak(),xNe=dK(),EUt=cNe();function hNe(e,t,r){return l1.aggNums(e,null,t,r)}function bNe(e,t){return AK(hNe(Math.min,e,t),hNe(Math.max,e,t))}function qF(e){var t=e.range;return t?AK(t[0],t[1]):bNe(e.values,e._length)}function AK(e,t){return(isNaN(e)||!isFinite(e))&&(e=0),(isNaN(t)||!isFinite(t))&&(t=0),e===t&&(e===0?(e-=1,t+=1):(e*=.9,t*=1.1)),[e,t]}function kUt(e,t){return t?function(r,n){var i=t[n];return i==null?e(r):i}:e}function CUt(e,t,r,n,i){var a=qF(r);return n?zd.scale.ordinal().domain(n.map(kUt(gNe(r.tickformat),i))).range(n.map(function(o){var s=(o-a[0])/(a[1]-a[0]);return e-t+s*(2*t-e)})):zd.scale.linear().domain(a).range([e-t,t])}function LUt(e,t){return zd.scale.linear().range([t,e-t])}function PUt(e,t){return zd.scale.linear().domain(qF(e)).range([t,1-t])}function IUt(e){if(e.tickvals){var t=qF(e);return zd.scale.ordinal().domain(e.tickvals).range(e.tickvals.map(function(r){return(r-t[0])/(t[1]-t[0])}))}}function RUt(e){var t=e.map(function(a){return a[0]}),r=e.map(function(a){var o=mNe(a[1]);return zd.rgb(\"rgb(\"+o[0]+\",\"+o[1]+\",\"+o[2]+\")\")}),n=function(a){return function(o){return o[a]}},i=\"rgb\".split(\"\").map(function(a){return zd.scale.linear().clamp(!0).domain(t).range(r.map(n(a)))});return function(a){return i.map(function(o){return o(a)})}}function wK(e){return e.dimensions.some(function(t){return t.brush.filterSpecified})}function DUt(e,t,r){var n=_Ne(t),i=n.trace,a=mA.convertTypedArray(n.lineColor),o=i.line,s={color:mNe(i.unselected.line.color),opacity:i.unselected.line.opacity},l=fNe.extractOpts(o),u=l.reversescale?fNe.flipScale(n.cscale):n.cscale,c=i.domain,f=i.dimensions,h=e.width,d=i.labelangle,v=i.labelside,x=i.labelfont,b=i.tickfont,p=i.rangefont,E=l1.extendDeepNoArrays({},o,{color:a.map(zd.scale.linear().domain(qF({values:a,range:[l.min,l.max],_length:i._length}))),blockLineCount:ll.blockLineCount,canvasOverdrag:ll.overdrag*ll.canvasPixelRatio}),k=Math.floor(h*(c.x[1]-c.x[0])),A=Math.floor(e.height*(c.y[1]-c.y[0])),L=e.margin||{l:80,r:80,t:100,b:80},_=k,C=A;return{key:r,colCount:f.filter(mA.isVisible).length,dimensions:f,tickDistance:ll.tickDistance,unitToColor:RUt(u),lines:E,deselectedLines:s,labelAngle:d,labelSide:v,labelFont:x,tickFont:b,rangeFont:p,layoutWidth:h,layoutHeight:e.height,domain:c,translateX:c.x[0]*h,translateY:e.height-c.y[1]*e.height,pad:L,canvasWidth:_*ll.canvasPixelRatio+2*E.canvasOverdrag,canvasHeight:C*ll.canvasPixelRatio,width:_,height:C,canvasPixelRatio:ll.canvasPixelRatio}}function zUt(e,t,r){var n=r.width,i=r.height,a=r.dimensions,o=r.canvasPixelRatio,s=function(h){return n*h/Math.max(1,r.colCount-1)},l=ll.verticalPadding/i,u=LUt(i,ll.verticalPadding),c={key:r.key,xScale:s,model:r,inBrushDrag:!1},f={};return c.dimensions=a.filter(mA.isVisible).map(function(h,d){var v=PUt(h,l),x=f[h.label];f[h.label]=(x||0)+1;var b=h.label+(x?\"__\"+x:\"\"),p=h.constraintrange,E=p&&p.length;E&&!xK(p[0])&&(p=[p]);var k=E?p.map(function(q){return q.map(v)}):[[-1/0,1/0]],A=function(){var q=c;q.focusLayer&&q.focusLayer.render(q.panels,!0);var V=wK(q);!e.contextShown()&&V?(q.contextLayer&&q.contextLayer.render(q.panels,!0),e.contextShown(!0)):e.contextShown()&&!V&&(q.contextLayer&&q.contextLayer.render(q.panels,!0,!0),e.contextShown(!1))},L=h.values;L.length>h._length&&(L=L.slice(0,h._length));var _=h.tickvals,C;function M(q,V){return{val:q,text:C[V]}}function g(q,V){return q.val-V.val}if(xK(_)&&_.length){l1.isTypedArray(_)&&(_=Array.from(_)),C=h.ticktext,!xK(C)||!C.length?C=_.map(gNe(h.tickformat)):C.length>_.length?C=C.slice(0,_.length):_.length>C.length&&(_=_.slice(0,C.length));for(var P=1;P<_.length;P++)if(_[P]<_[P-1]){for(var T=_.map(M).sort(g),F=0;F<_.length;F++)_[F]=T[F].val,C[F]=T[F].text;break}}else _=void 0;return L=mA.convertTypedArray(L),{key:b,label:h.label,tickFormat:h.tickformat,tickvals:_,ticktext:C,ordinal:mA.isOrdinal(h),multiselect:h.multiselect,xIndex:d,crossfilterDimensionIndex:d,visibleIndex:h._index,height:i,values:L,paddedUnitValues:L.map(v),unitTickvals:_&&_.map(v),xScale:s,x:s(d),canvasX:s(d)*o,unitToPaddedPx:u,domainScale:CUt(i,ll.verticalPadding,h,_,C),ordinalScale:IUt(h),parent:c,model:r,brush:xNe.makeBrush(e,E,k,function(){e.linePickActive(!1)},A,function(q){if(c.focusLayer.render(c.panels,!0),c.pickLayer&&c.pickLayer.render(c.panels,!0),e.linePickActive(!0),t&&t.filterChanged){var V=v.invert,H=q.map(function(X){return X.map(V).sort(l1.sorterAsc)}).sort(function(X,G){return X[0]-G[0]});t.filterChanged(c.key,h._index,H)}})}}),c}function dNe(e){e.classed(ll.cn.axisExtentText,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"default\")}function FUt(){var e=!0,t=!1;return{linePickActive:function(r){return arguments.length?e=!!r:e},contextShown:function(r){return arguments.length?t=!!r:t}}}function vNe(e,t){var r=t===\"top\"?1:-1,n=e*Math.PI/180,i=Math.sin(n),a=Math.cos(n);return{dir:r,dx:i,dy:a,degrees:e}}function bK(e,t,r){for(var n=t.panels||(t.panels=[]),i=e.data(),a=0;a<i.length-1;a++){var o=n[a]||(n[a]={}),s=i[a],l=i[a+1];o.dim0=s,o.dim1=l,o.canvasX=s.canvasX,o.panelSizeX=l.canvasX-s.canvasX,o.panelSizeY=t.model.canvasHeight,o.y=0,o.canvasY=0,o.plotGlPixelRatio=r}}function qUt(e){for(var t=0;t<e.length;t++)for(var r=0;r<e[t].length;r++)for(var n=e[t][r].trace,i=n.dimensions,a=0;a<i.length;a++){var o=i[a].values,s=i[a]._ax;s&&(s.range?s.range=AK(s.range[0],s.range[1]):s.range=bNe(o,n._length),s.dtick||(s.dtick=.01*(Math.abs(s.range[1]-s.range[0])||1)),s.tickformat=i[a].tickformat,yNe.calcTicks(s),s.cleanRange())}}function wNe(e,t){return yNe.tickText(e._ax,t,!1).text}function pNe(e,t){if(e.ordinal)return\"\";var r=e.domainScale.domain(),n=r[t?r.length-1:0];return wNe(e.model.dimensions[e.visibleIndex],n)}TNe.exports=function(t,r,n,i){var a=t._context.staticPlot,o=t._fullLayout,s=o._toppaper,l=o._glcontainer,u=t._context.plotGlPixelRatio,c=t._fullLayout.paper_bgcolor;qUt(r);var f=FUt(),h=r.filter(function(F){return _Ne(F).trace.visible}).map(DUt.bind(0,n)).map(zUt.bind(0,f,i));l.each(function(F,q){return l1.extendFlat(F,h[q])});var d=l.selectAll(\".gl-canvas\").each(function(F){F.viewModel=h[0],F.viewModel.plotGlPixelRatio=u,F.viewModel.paperColor=c,F.model=F.viewModel?F.viewModel.model:null}),v=null,x=d.filter(function(F){return F.pick});x.style(\"pointer-events\",a?\"none\":\"auto\").on(\"mousemove\",function(F){if(f.linePickActive()&&F.lineLayer&&i&&i.hover){var q=zd.event,V=this.width,H=this.height,X=zd.mouse(this),G=X[0],N=X[1];if(G<0||N<0||G>=V||N>=H)return;var W=F.lineLayer.readPixel(G,H-1-N),re=W[3]!==0,ae=re?W[2]+256*(W[1]+256*W[0]):null,_e={x:G,y:N,clientX:q.clientX,clientY:q.clientY,dataIndex:F.model.key,curveNumber:ae};ae!==v&&(re?i.hover(_e):i.unhover&&i.unhover(_e),v=ae)}}),d.style(\"opacity\",function(F){return F.pick?0:1}),s.style(\"background\",\"rgba(255, 255, 255, 0)\");var b=s.selectAll(\".\"+ll.cn.parcoords).data(h,tg);b.exit().remove(),b.enter().append(\"g\").classed(ll.cn.parcoords,!0).style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"none\"),b.attr(\"transform\",function(F){return Jm(F.model.translateX,F.model.translateY)});var p=b.selectAll(\".\"+ll.cn.parcoordsControlView).data($m,tg);p.enter().append(\"g\").classed(ll.cn.parcoordsControlView,!0),p.attr(\"transform\",function(F){return Jm(F.model.pad.l,F.model.pad.t)});var E=p.selectAll(\".\"+ll.cn.yAxis).data(function(F){return F.dimensions},tg);E.enter().append(\"g\").classed(ll.cn.yAxis,!0),p.each(function(F){bK(E,F,u)}),d.each(function(F){if(F.viewModel){!F.lineLayer||i?F.lineLayer=EUt(this,F):F.lineLayer.update(F),(F.key||F.key===0)&&(F.viewModel[F.key]=F.lineLayer);var q=!F.context||i;F.lineLayer.render(F.viewModel.panels,q)}}),E.attr(\"transform\",function(F){return Jm(F.xScale(F.xIndex),0)}),E.call(zd.behavior.drag().origin(function(F){return F}).on(\"drag\",function(F){var q=F.parent;f.linePickActive(!1),F.x=Math.max(-ll.overdrag,Math.min(F.model.width+ll.overdrag,zd.event.x)),F.canvasX=F.x*F.model.canvasPixelRatio,E.sort(function(V,H){return V.x-H.x}).each(function(V,H){V.xIndex=H,V.x=F===V?V.x:V.xScale(V.xIndex),V.canvasX=V.x*V.model.canvasPixelRatio}),bK(E,q,u),E.filter(function(V){return Math.abs(F.xIndex-V.xIndex)!==0}).attr(\"transform\",function(V){return Jm(V.xScale(V.xIndex),0)}),zd.select(this).attr(\"transform\",Jm(F.x,0)),E.each(function(V,H,X){X===F.parent.key&&(q.dimensions[H]=V)}),q.contextLayer&&q.contextLayer.render(q.panels,!1,!wK(q)),q.focusLayer.render&&q.focusLayer.render(q.panels)}).on(\"dragend\",function(F){var q=F.parent;F.x=F.xScale(F.xIndex),F.canvasX=F.x*F.model.canvasPixelRatio,bK(E,q,u),zd.select(this).attr(\"transform\",function(V){return Jm(V.x,0)}),q.contextLayer&&q.contextLayer.render(q.panels,!1,!wK(q)),q.focusLayer&&q.focusLayer.render(q.panels),q.pickLayer&&q.pickLayer.render(q.panels,!0),f.linePickActive(!0),i&&i.axesMoved&&i.axesMoved(q.key,q.dimensions.map(function(V){return V.crossfilterDimensionIndex}))})),E.exit().remove();var k=E.selectAll(\".\"+ll.cn.axisOverlays).data($m,tg);k.enter().append(\"g\").classed(ll.cn.axisOverlays,!0),k.selectAll(\".\"+ll.cn.axis).remove();var A=k.selectAll(\".\"+ll.cn.axis).data($m,tg);A.enter().append(\"g\").classed(ll.cn.axis,!0),A.each(function(F){var q=F.model.height/F.model.tickDistance,V=F.domainScale,H=V.domain();zd.select(this).call(zd.svg.axis().orient(\"left\").tickSize(4).outerTickSize(2).ticks(q,F.tickFormat).tickValues(F.ordinal?H:null).tickFormat(function(X){return mA.isOrdinal(F)?X:wNe(F.model.dimensions[F.visibleIndex],X)}).scale(V)),FF.font(A.selectAll(\"text\"),F.model.tickFont)}),A.selectAll(\".domain, .tick>line\").attr(\"fill\",\"none\").attr(\"stroke\",\"black\").attr(\"stroke-opacity\",.25).attr(\"stroke-width\",\"1px\"),A.selectAll(\"text\").style(\"cursor\",\"default\");var L=k.selectAll(\".\"+ll.cn.axisHeading).data($m,tg);L.enter().append(\"g\").classed(ll.cn.axisHeading,!0);var _=L.selectAll(\".\"+ll.cn.axisTitle).data($m,tg);_.enter().append(\"text\").classed(ll.cn.axisTitle,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"ew-resize\").style(\"pointer-events\",a?\"none\":\"auto\"),_.text(function(F){return F.label}).each(function(F){var q=zd.select(this);FF.font(q,F.model.labelFont),MUt.convertToTspans(q,t)}).attr(\"transform\",function(F){var q=vNe(F.model.labelAngle,F.model.labelSide),V=ll.axisTitleOffset;return(q.dir>0?\"\":Jm(0,2*V+F.model.height))+SUt(q.degrees)+Jm(-V*q.dx,-V*q.dy)}).attr(\"text-anchor\",function(F){var q=vNe(F.model.labelAngle,F.model.labelSide),V=Math.abs(q.dx),H=Math.abs(q.dy);return 2*V>H?q.dir*q.dx<0?\"start\":\"end\":\"middle\"});var C=k.selectAll(\".\"+ll.cn.axisExtent).data($m,tg);C.enter().append(\"g\").classed(ll.cn.axisExtent,!0);var M=C.selectAll(\".\"+ll.cn.axisExtentTop).data($m,tg);M.enter().append(\"g\").classed(ll.cn.axisExtentTop,!0),M.attr(\"transform\",Jm(0,-ll.axisExtentOffset));var g=M.selectAll(\".\"+ll.cn.axisExtentTopText).data($m,tg);g.enter().append(\"text\").classed(ll.cn.axisExtentTopText,!0).call(dNe),g.text(function(F){return pNe(F,!0)}).each(function(F){FF.font(zd.select(this),F.model.rangeFont)});var P=C.selectAll(\".\"+ll.cn.axisExtentBottom).data($m,tg);P.enter().append(\"g\").classed(ll.cn.axisExtentBottom,!0),P.attr(\"transform\",function(F){return Jm(0,F.model.height+ll.axisExtentOffset)});var T=P.selectAll(\".\"+ll.cn.axisExtentBottomText).data($m,tg);T.enter().append(\"text\").classed(ll.cn.axisExtentBottomText,!0).attr(\"dy\",\"0.75em\").call(dNe),T.text(function(F){return pNe(F,!1)}).each(function(F){FF.font(zd.select(this),F.model.rangeFont)}),xNe.ensureAxisBrush(k,c,t)}});var MK=ye((SK,kNe)=>{\"use strict\";var OUt=ANe(),BUt=xF(),SNe=yK().isVisible,ENe={};function MNe(e,t,r){var n=t.indexOf(r),i=e.indexOf(n);return i===-1&&(i+=t.length),i}function NUt(e,t){return function(n,i){return MNe(e,t,n)-MNe(e,t,i)}}var SK=kNe.exports=function(t,r){var n=t._fullLayout,i=BUt(t,[],ENe);if(i){var a={},o={},s={},l={},u=n._size;r.forEach(function(v,x){var b=v[0].trace;s[x]=b.index;var p=l[x]=b.index;a[x]=t.data[p].dimensions,o[x]=t.data[p].dimensions.slice()});var c=function(v,x,b){var p=o[v][x],E=b.map(function(M){return M.slice()}),k=\"dimensions[\"+x+\"].constraintrange\",A=n._tracePreGUI[t._fullData[s[v]]._fullInput.uid];if(A[k]===void 0){var L=p.constraintrange;A[k]=L||null}var _=t._fullData[s[v]].dimensions[x];E.length?(E.length===1&&(E=E[0]),p.constraintrange=E,_.constraintrange=E.slice(),E=[E]):(delete p.constraintrange,delete _.constraintrange,E=null);var C={};C[k]=E,t.emit(\"plotly_restyle\",[C,[l[v]]])},f=function(v){t.emit(\"plotly_hover\",v)},h=function(v){t.emit(\"plotly_unhover\",v)},d=function(v,x){var b=NUt(x,o[v].filter(SNe));a[v].sort(b),o[v].filter(function(p){return!SNe(p)}).sort(function(p){return o[v].indexOf(p)}).forEach(function(p){a[v].splice(a[v].indexOf(p),1),a[v].splice(o[v].indexOf(p),0,p)}),t.emit(\"plotly_restyle\",[{dimensions:[a[v]]},[l[v]]])};OUt(t,r,{width:u.w,height:u.h,margin:{t:u.t,r:u.r,b:u.b,l:u.l}},{filterChanged:c,hover:f,unhover:h,axesMoved:d})}};SK.reglPrecompiled=ENe});var LNe=ye(Ek=>{\"use strict\";var CNe=xa(),UUt=kd().getModuleCalcData,VUt=MK(),HUt=Zp();Ek.name=\"parcoords\";Ek.plot=function(e){var t=UUt(e.calcdata,\"parcoords\")[0];t.length&&VUt(e,t)};Ek.clean=function(e,t,r,n){var i=n._has&&n._has(\"parcoords\"),a=t._has&&t._has(\"parcoords\");i&&!a&&(n._paperdiv.selectAll(\".parcoords\").remove(),n._glimages.selectAll(\"*\").remove())};Ek.toSVG=function(e){var t=e._fullLayout._glimages,r=CNe.select(e).selectAll(\".svg-container\"),n=r.filter(function(a,o){return o===r.size()-1}).selectAll(\".gl-canvas-context, .gl-canvas-focus\");function i(){var a=this,o=a.toDataURL(\"image/png\"),s=t.append(\"svg:image\");s.attr({xmlns:HUt.svg,\"xlink:href\":o,preserveAspectRatio:\"none\",x:0,y:0,width:a.style.width,height:a.style.height})}n.each(i),window.setTimeout(function(){CNe.selectAll(\"#filterBarPattern\").attr(\"id\",\"filterBarPattern\")},60)}});var INe=ye((gyr,PNe)=>{\"use strict\";PNe.exports={attributes:cK(),supplyDefaults:jBe(),calc:ZBe(),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcoords\",basePlotModule:LNe(),categories:[\"gl\",\"regl\",\"noOpacity\",\"noHover\"],meta:{}}});var zNe=ye((myr,DNe)=>{\"use strict\";var RNe=INe();RNe.plot=MK();DNe.exports=RNe});var qNe=ye((yyr,FNe)=>{\"use strict\";FNe.exports=zNe()});var EK=ye((_yr,UNe)=>{\"use strict\";var BNe=no().extendFlat,GUt=vl(),ONe=Su(),jUt=Jl(),NNe=Wo().hovertemplateAttrs,WUt=Ju().attributes,ZUt=BNe({editType:\"calc\"},jUt(\"line\",{editTypeOverride:\"calc\"}),{shape:{valType:\"enumerated\",values:[\"linear\",\"hspline\"],dflt:\"linear\",editType:\"plot\"},hovertemplate:NNe({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\"]})});UNe.exports={domain:WUt({name:\"parcats\",trace:!0,editType:\"calc\"}),hoverinfo:BNe({},GUt.hoverinfo,{flags:[\"count\",\"probability\"],editType:\"plot\",arrayOk:!1}),hoveron:{valType:\"enumerated\",values:[\"category\",\"color\",\"dimension\"],dflt:\"category\",editType:\"plot\"},hovertemplate:NNe({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\",\"category\",\"categorycount\",\"colorcount\",\"bandcolorcount\"]}),arrangement:{valType:\"enumerated\",values:[\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"perpendicular\",editType:\"plot\"},bundlecolors:{valType:\"boolean\",dflt:!0,editType:\"plot\"},sortpaths:{valType:\"enumerated\",values:[\"forward\",\"backward\"],dflt:\"forward\",editType:\"plot\"},labelfont:ONe({editType:\"calc\"}),tickfont:ONe({autoShadowDflt:!0,editType:\"calc\"}),dimensions:{_isLinkedToArray:\"dimension\",label:{valType:\"string\",editType:\"calc\"},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},values:{valType:\"data_array\",dflt:[],editType:\"calc\"},displayindex:{valType:\"integer\",editType:\"calc\"},editType:\"calc\",visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"}},line:ZUt,counts:{valType:\"number\",min:0,dflt:1,arrayOk:!0,editType:\"calc\"},customdata:void 0,hoverlabel:void 0,ids:void 0,legend:void 0,legendgroup:void 0,legendrank:void 0,opacity:void 0,selectedpoints:void 0,showlegend:void 0}});var GNe=ye((xyr,HNe)=>{\"use strict\";var yA=Mr(),XUt=Dv().hasColorscale,YUt=Uh(),KUt=Ju().defaults,JUt=Zd(),VNe=EK(),$Ut=wF(),QUt=vv().isTypedArraySpec;function eVt(e,t,r,n,i){i(\"line.shape\"),i(\"line.hovertemplate\");var a=i(\"line.color\",n.colorway[0]);if(XUt(e,\"line\")&&yA.isArrayOrTypedArray(a)){if(a.length)return i(\"line.colorscale\"),YUt(e,t,n,i,{prefix:\"line.\",cLetter:\"c\"}),a.length;t.line.color=r}return 1/0}function tVt(e,t){function r(u,c){return yA.coerce(e,t,VNe.dimensions,u,c)}var n=r(\"values\"),i=r(\"visible\");if(n&&n.length||(i=t.visible=!1),i){r(\"label\"),r(\"displayindex\",t._index);var a=e.categoryarray,o=yA.isArrayOrTypedArray(a)&&a.length>0||QUt(a),s;o&&(s=\"array\");var l=r(\"categoryorder\",s);l===\"array\"?(r(\"categoryarray\"),r(\"ticktext\")):(delete e.categoryarray,delete e.ticktext),!o&&l===\"array\"&&(t.categoryorder=\"trace\")}}HNe.exports=function(t,r,n,i){function a(u,c){return yA.coerce(t,r,VNe,u,c)}var o=JUt(t,r,{name:\"dimensions\",handleItemDefaults:tVt}),s=eVt(t,r,n,i,a);KUt(r,i,a),(!Array.isArray(o)||!o.length)&&(r.visible=!1),$Ut(r,o,\"values\",s),a(\"hoveron\"),a(\"hovertemplate\"),a(\"arrangement\"),a(\"bundlecolors\"),a(\"sortpaths\"),a(\"counts\");var l=i.font;yA.coerceFont(a,\"labelfont\",l,{overrideDflt:{size:Math.round(l.size)}}),yA.coerceFont(a,\"tickfont\",l,{autoShadowDflt:!0,overrideDflt:{size:Math.round(l.size/1.2)}})}});var WNe=ye((byr,jNe)=>{\"use strict\";var rVt=Km().wrap,iVt=Dv().hasColorscale,nVt=zv(),aVt=jq(),oVt=ao(),kk=Mr(),sVt=uo();jNe.exports=function(t,r){var n=kk.filterVisible(r.dimensions);if(n.length===0)return[];var i=n.map(function(g){var P;if(g.categoryorder===\"trace\")P=null;else if(g.categoryorder===\"array\")P=g.categoryarray;else{P=aVt(g.values);for(var T=!0,F=0;F<P.length;F++)if(!sVt(P[F])){T=!1;break}P.sort(T?kk.sorterAsc:void 0),g.categoryorder===\"category descending\"&&(P=P.reverse())}return vVt(g.values,P)}),a,o,s;kk.isArrayOrTypedArray(r.counts)?a=r.counts:a=[r.counts],pVt(n),n.forEach(function(g,P){gVt(g,i[P])});var l=r.line,u;l?(iVt(r,\"line\")&&nVt(t,r,{vals:r.line.color,containerStr:\"line\",cLetter:\"c\"}),u=oVt.tryColorscale(l)):u=kk.identity;function c(g){var P,T;return kk.isArrayOrTypedArray(l.color)?(P=l.color[g%l.color.length],T=P):P=l.color,{color:u(P),rawColor:T}}var f=n[0].values.length,h={},d=i.map(function(g){return g.inds});s=0;var v,x;for(v=0;v<f;v++){var b=[];for(x=0;x<d.length;x++)b.push(d[x][v]);o=a[v%a.length],s+=o;var p=c(v),E=b+\"-\"+p.rawColor;h[E]===void 0&&(h[E]=hVt(b,p.color,p.rawColor)),dVt(h[E],v,o)}var k=n.map(function(g,P){return uVt(P,g._index,g._displayindex,g.label,s)});for(v=0;v<f;v++)for(o=a[v%a.length],x=0;x<k.length;x++){var A=k[x].containerInd,L=i[x].inds[v],_=k[x].categories;if(_[L]===void 0){var C=r.dimensions[A]._categoryarray[L],M=r.dimensions[A]._ticktext[L];_[L]=cVt(x,L,C,M)}fVt(_[L],v,o)}return rVt(lVt(k,h,s))};function lVt(e,t,r){var n=e.map(function(i){return i.categories.length}).reduce(function(i,a){return Math.max(i,a)});return{dimensions:e,paths:t,trace:void 0,maxCats:n,count:r}}function uVt(e,t,r,n,i){return{dimensionInd:e,containerInd:t,displayInd:r,dimensionLabel:n,count:i,categories:[],dragX:null}}function cVt(e,t,r,n){return{dimensionInd:e,categoryInd:t,categoryValue:r,displayInd:t,categoryLabel:n,valueInds:[],count:0,dragY:null}}function fVt(e,t,r){e.valueInds.push(t),e.count+=r}function hVt(e,t,r){return{categoryInds:e,color:t,rawColor:r,valueInds:[],count:0}}function dVt(e,t,r){e.valueInds.push(t),e.count+=r}function vVt(e,t){t==null?t=[]:t=t.map(function(u){return u});var r={},n={},i=[];t.forEach(function(u,c){r[u]=0,n[u]=c});for(var a=0;a<e.length;a++){var o=e[a],s;r[o]===void 0?(r[o]=1,s=t.push(o)-1,n[o]=s):(r[o]++,s=n[o]),i.push(s)}var l=t.map(function(u){return r[u]});return{uniqueValues:t,uniqueCounts:l,inds:i}}function pVt(e){var t=e.map(function(n){return n.displayindex}),r;if(mVt(t))for(r=0;r<e.length;r++)e[r]._displayindex=e[r].displayindex;else for(r=0;r<e.length;r++)e[r]._displayindex=r}function gVt(e,t){e._categoryarray=t.uniqueValues,e.ticktext===null||e.ticktext===void 0?e._ticktext=[]:e._ticktext=e.ticktext.slice();for(var r=e._ticktext.length;r<t.uniqueValues.length;r++)e._ticktext.push(t.uniqueValues[r])}function mVt(e){for(var t=new Array(e.length),r=0;r<e.length;r++){if(e[r]<0||e[r]>=e.length||t[e[r]]!==void 0)return!1;t[e[r]]=!0}return!0}});var tUe=ye((wyr,eUe)=>{\"use strict\";var ul=xa(),yVt=(R2(),B1(I2)).interpolateNumber,_Vt=OP(),Pk=Nc(),yx=Mr(),Ck=yx.strTranslate,ZNe=ao(),kK=id(),xVt=Pl();function bVt(e,t,r,n){var i=t._context.staticPlot,a=e.map(FVt.bind(0,t,r)),o=n.selectAll(\"g.parcatslayer\").data([null]);o.enter().append(\"g\").attr(\"class\",\"parcatslayer\").style(\"pointer-events\",i?\"none\":\"all\");var s=o.selectAll(\"g.trace.parcats\").data(a,u1),l=s.enter().append(\"g\").attr(\"class\",\"trace parcats\");s.attr(\"transform\",function(E){return Ck(E.x,E.y)}),l.append(\"g\").attr(\"class\",\"paths\");var u=s.select(\"g.paths\"),c=u.selectAll(\"path.path\").data(function(E){return E.paths},u1);c.attr(\"fill\",function(E){return E.model.color});var f=c.enter().append(\"path\").attr(\"class\",\"path\").attr(\"stroke-opacity\",0).attr(\"fill\",function(E){return E.model.color}).attr(\"fill-opacity\",0);PK(f),c.attr(\"d\",function(E){return E.svgD}),f.empty()||c.sort(CK),c.exit().remove(),c.on(\"mouseover\",wVt).on(\"mouseout\",TVt).on(\"click\",AVt),l.append(\"g\").attr(\"class\",\"dimensions\");var h=s.select(\"g.dimensions\"),d=h.selectAll(\"g.dimension\").data(function(E){return E.dimensions},u1);d.enter().append(\"g\").attr(\"class\",\"dimension\"),d.attr(\"transform\",function(E){return Ck(E.x,0)}),d.exit().remove();var v=d.selectAll(\"g.category\").data(function(E){return E.categories},u1),x=v.enter().append(\"g\").attr(\"class\",\"category\");v.attr(\"transform\",function(E){return Ck(0,E.y)}),x.append(\"rect\").attr(\"class\",\"catrect\").attr(\"pointer-events\",\"none\"),v.select(\"rect.catrect\").attr(\"fill\",\"none\").attr(\"width\",function(E){return E.width}).attr(\"height\",function(E){return E.height}),YNe(x);var b=v.selectAll(\"rect.bandrect\").data(function(E){return E.bands},u1);b.each(function(){yx.raiseToTop(this)}),b.attr(\"fill\",function(E){return E.color});var p=b.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"stroke-opacity\",0).attr(\"fill\",function(E){return E.color}).attr(\"fill-opacity\",0);b.attr(\"fill\",function(E){return E.color}).attr(\"width\",function(E){return E.width}).attr(\"height\",function(E){return E.height}).attr(\"y\",function(E){return E.y}).attr(\"cursor\",function(E){return E.parcatsViewModel.arrangement===\"fixed\"?\"default\":E.parcatsViewModel.arrangement===\"perpendicular\"?\"ns-resize\":\"move\"}),RK(p),b.exit().remove(),x.append(\"text\").attr(\"class\",\"catlabel\").attr(\"pointer-events\",\"none\"),v.select(\"text.catlabel\").attr(\"text-anchor\",function(E){return Lk(E)?\"start\":\"end\"}).attr(\"alignment-baseline\",\"middle\").style(\"fill\",\"rgb(0, 0, 0)\").attr(\"x\",function(E){return Lk(E)?E.width+5:-5}).attr(\"y\",function(E){return E.height/2}).text(function(E){return E.model.categoryLabel}).each(function(E){ZNe.font(ul.select(this),E.parcatsViewModel.categorylabelfont),xVt.convertToTspans(ul.select(this),t)}),x.append(\"text\").attr(\"class\",\"dimlabel\"),v.select(\"text.dimlabel\").attr(\"text-anchor\",\"middle\").attr(\"alignment-baseline\",\"baseline\").attr(\"cursor\",function(E){return E.parcatsViewModel.arrangement===\"fixed\"?\"default\":\"ew-resize\"}).attr(\"x\",function(E){return E.width/2}).attr(\"y\",-5).text(function(E,k){return k===0?E.parcatsViewModel.model.dimensions[E.model.dimensionInd].dimensionLabel:null}).each(function(E){ZNe.font(ul.select(this),E.parcatsViewModel.labelfont)}),v.selectAll(\"rect.bandrect\").on(\"mouseover\",PVt).on(\"mouseout\",IVt),v.exit().remove(),d.call(ul.behavior.drag().origin(function(E){return{x:E.x,y:0}}).on(\"dragstart\",RVt).on(\"drag\",DVt).on(\"dragend\",zVt)),s.each(function(E){E.traceSelection=ul.select(this),E.pathSelection=ul.select(this).selectAll(\"g.paths\").selectAll(\"path.path\"),E.dimensionSelection=ul.select(this).selectAll(\"g.dimensions\").selectAll(\"g.dimension\")}),s.exit().remove()}eUe.exports=function(e,t,r,n){bVt(r,e,n,t)};function u1(e){return e.key}function Lk(e){var t=e.parcatsViewModel.dimensions.length,r=e.parcatsViewModel.dimensions[t-1].model.dimensionInd;return e.model.dimensionInd===r}function CK(e,t){return e.model.rawColor>t.model.rawColor?1:e.model.rawColor<t.model.rawColor?-1:0}function wVt(e){if(!e.parcatsViewModel.dragDimension&&e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1){yx.raiseToTop(this),IK(ul.select(this));var t=Ik(e),r=LK(e);if(e.parcatsViewModel.graphDiv.emit(\"plotly_hover\",{points:t,event:ul.event,constraints:r}),e.parcatsViewModel.hoverinfoItems.indexOf(\"none\")===-1){var n=ul.mouse(this)[0],i=e.parcatsViewModel.graphDiv,a=e.parcatsViewModel.trace,o=i._fullLayout,s=o._paperdiv.node().getBoundingClientRect(),l=e.parcatsViewModel.graphDiv.getBoundingClientRect(),u,c,f;for(f=0;f<e.leftXs.length-1;f++)if(e.leftXs[f]+e.dimWidths[f]-2<=n&&n<=e.leftXs[f+1]+2){var h=e.parcatsViewModel.dimensions[f],d=e.parcatsViewModel.dimensions[f+1];u=(h.x+h.width+d.x)/2,c=(e.topYs[f]+e.topYs[f+1]+e.height)/2;break}var v=e.parcatsViewModel.x+u,x=e.parcatsViewModel.y+c,b=kK.mostReadable(e.model.color,[\"black\",\"white\"]),p=e.model.count,E=p/e.parcatsViewModel.model.count,k={countLabel:p,probabilityLabel:E.toFixed(3)},A=[];e.parcatsViewModel.hoverinfoItems.indexOf(\"count\")!==-1&&A.push([\"Count:\",k.countLabel].join(\" \")),e.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")!==-1&&A.push([\"P:\",k.probabilityLabel].join(\" \"));var L=A.join(\"<br>\"),_=ul.mouse(i)[0];Pk.loneHover({trace:a,x:v-s.left+l.left,y:x-s.top+l.top,text:L,color:e.model.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:10,fontColor:b,idealAlign:_<v?\"right\":\"left\",hovertemplate:(a.line||{}).hovertemplate,hovertemplateLabels:k,eventData:[{data:a._input,fullData:a,count:p,probability:E}]},{container:o._hoverlayer.node(),outerContainer:o._paper.node(),gd:i})}}}function TVt(e){if(!e.parcatsViewModel.dragDimension&&(PK(ul.select(this)),Pk.loneUnhover(e.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()),e.parcatsViewModel.pathSelection.sort(CK),e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1)){var t=Ik(e),r=LK(e);e.parcatsViewModel.graphDiv.emit(\"plotly_unhover\",{points:t,event:ul.event,constraints:r})}}function Ik(e){for(var t=[],r=JNe(e.parcatsViewModel),n=0;n<e.model.valueInds.length;n++){var i=e.model.valueInds[n];t.push({curveNumber:r,pointNumber:i})}return t}function LK(e){for(var t={},r=e.parcatsViewModel.model.dimensions,n=0;n<r.length;n++){var i=r[n],a=i.categories[e.model.categoryInds[n]];t[i.containerInd]=a.categoryValue}return e.model.rawColor!==void 0&&(t.color=e.model.rawColor),t}function AVt(e){if(e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1){var t=Ik(e),r=LK(e);e.parcatsViewModel.graphDiv.emit(\"plotly_click\",{points:t,event:ul.event,constraints:r})}}function PK(e){e.attr(\"fill\",function(t){return t.model.color}).attr(\"fill-opacity\",.6).attr(\"stroke\",\"lightgray\").attr(\"stroke-width\",.2).attr(\"stroke-opacity\",1)}function IK(e){e.attr(\"fill-opacity\",.8).attr(\"stroke\",function(t){return kK.mostReadable(t.model.color,[\"black\",\"white\"])}).attr(\"stroke-width\",.3)}function SVt(e){e.select(\"rect.catrect\").attr(\"stroke\",\"black\").attr(\"stroke-width\",2.5)}function YNe(e){e.select(\"rect.catrect\").attr(\"stroke\",\"black\").attr(\"stroke-width\",1).attr(\"stroke-opacity\",1)}function MVt(e){e.attr(\"stroke\",\"black\").attr(\"stroke-width\",1.5)}function RK(e){e.attr(\"stroke\",\"black\").attr(\"stroke-width\",.2).attr(\"stroke-opacity\",1).attr(\"fill-opacity\",1)}function OF(e){var t=e.parcatsViewModel.pathSelection,r=e.categoryViewModel.model.dimensionInd,n=e.categoryViewModel.model.categoryInd;return t.filter(function(i){return i.model.categoryInds[r]===n&&i.model.color===e.color})}function EVt(e){var t=ul.select(e.parentNode).selectAll(\"rect.bandrect\");t.each(function(r){var n=OF(r);IK(n),n.each(function(){yx.raiseToTop(this)})}),SVt(ul.select(e.parentNode))}function kVt(e){var t=ul.select(e).datum(),r=OF(t);IK(r),r.each(function(){yx.raiseToTop(this)}),ul.select(e.parentNode).selectAll(\"rect.bandrect\").filter(function(n){return n.color===t.color}).each(function(){yx.raiseToTop(this),MVt(ul.select(this))})}function DK(e,t,r){var n=ul.select(e).datum(),i=n.categoryViewModel.model,a=n.parcatsViewModel.graphDiv,o=ul.select(e.parentNode).selectAll(\"rect.bandrect\"),s=[];o.each(function(u){var c=OF(u);c.each(function(f){Array.prototype.push.apply(s,Ik(f))})});var l={};l[i.dimensionInd]=i.categoryValue,a.emit(t,{points:s,event:r,constraints:l})}function zK(e,t,r){var n=ul.select(e).datum(),i=n.categoryViewModel.model,a=n.parcatsViewModel.graphDiv,o=OF(n),s=[];o.each(function(u){Array.prototype.push.apply(s,Ik(u))});var l={};l[i.dimensionInd]=i.categoryValue,n.rawColor!==void 0&&(l.color=n.rawColor),a.emit(t,{points:s,event:r,constraints:l})}function KNe(e,t,r){e._fullLayout._calcInverseTransform(e);var n=e._fullLayout._invScaleX,i=e._fullLayout._invScaleY,a=ul.select(r.parentNode).select(\"rect.catrect\"),o=a.node().getBoundingClientRect(),s=a.datum(),l=s.parcatsViewModel,u=l.model.dimensions[s.model.dimensionInd],c=l.trace,f=o.top+o.height/2,h,d;l.dimensions.length>1&&u.displayInd===l.dimensions.length-1?(h=o.left,d=\"left\"):(h=o.left+o.width,d=\"right\");var v=s.model.count,x=s.model.categoryLabel,b=v/s.parcatsViewModel.model.count,p={countLabel:v,categoryLabel:x,probabilityLabel:b.toFixed(3)},E=[];s.parcatsViewModel.hoverinfoItems.indexOf(\"count\")!==-1&&E.push([\"Count:\",p.countLabel].join(\" \")),s.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")!==-1&&E.push([\"P(\"+p.categoryLabel+\"):\",p.probabilityLabel].join(\" \"));var k=E.join(\"<br>\");return{trace:c,x:n*(h-t.left),y:i*(f-t.top),text:k,color:\"lightgray\",borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:12,fontColor:\"black\",idealAlign:d,hovertemplate:c.hovertemplate,hovertemplateLabels:p,eventData:[{data:c._input,fullData:c,count:v,category:x,probability:b}]}}function CVt(e,t,r){var n=[];return ul.select(r.parentNode.parentNode).selectAll(\"g.category\").select(\"rect.catrect\").each(function(){var i=this;n.push(KNe(e,t,i))}),n}function LVt(e,t,r){e._fullLayout._calcInverseTransform(e);var n=e._fullLayout._invScaleX,i=e._fullLayout._invScaleY,a=r.getBoundingClientRect(),o=ul.select(r).datum(),s=o.categoryViewModel,l=s.parcatsViewModel,u=l.model.dimensions[s.model.dimensionInd],c=l.trace,f=a.y+a.height/2,h,d;l.dimensions.length>1&&u.displayInd===l.dimensions.length-1?(h=a.left,d=\"left\"):(h=a.left+a.width,d=\"right\");var v=s.model.categoryLabel,x=o.parcatsViewModel.model.count,b=0;o.categoryViewModel.bands.forEach(function(P){P.color===o.color&&(b+=P.count)});var p=s.model.count,E=0;l.pathSelection.each(function(P){P.model.color===o.color&&(E+=P.model.count)});var k=b/x,A=b/E,L=b/p,_={countLabel:b,categoryLabel:v,probabilityLabel:k.toFixed(3)},C=[];s.parcatsViewModel.hoverinfoItems.indexOf(\"count\")!==-1&&C.push([\"Count:\",_.countLabel].join(\" \")),s.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")!==-1&&(C.push(\"P(color \\u2229 \"+v+\"): \"+_.probabilityLabel),C.push(\"P(\"+v+\" | color): \"+A.toFixed(3)),C.push(\"P(color | \"+v+\"): \"+L.toFixed(3)));var M=C.join(\"<br>\"),g=kK.mostReadable(o.color,[\"black\",\"white\"]);return{trace:c,x:n*(h-t.left),y:i*(f-t.top),text:M,color:o.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontColor:g,fontSize:10,idealAlign:d,hovertemplate:c.hovertemplate,hovertemplateLabels:_,eventData:[{data:c._input,fullData:c,category:v,count:x,probability:k,categorycount:p,colorcount:E,bandcolorcount:b}]}}function PVt(e){if(!e.parcatsViewModel.dragDimension&&e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1){var t=ul.mouse(this)[1];if(t<-1)return;var r=e.parcatsViewModel.graphDiv,n=r._fullLayout,i=n._paperdiv.node().getBoundingClientRect(),a=e.parcatsViewModel.hoveron,o=this;if(a===\"color\"?(kVt(o),zK(o,\"plotly_hover\",ul.event)):(EVt(o),DK(o,\"plotly_hover\",ul.event)),e.parcatsViewModel.hoverinfoItems.indexOf(\"none\")===-1){var s;a===\"category\"?s=KNe(r,i,o):a===\"color\"?s=LVt(r,i,o):a===\"dimension\"&&(s=CVt(r,i,o)),s&&Pk.loneHover(s,{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:r})}}}function IVt(e){var t=e.parcatsViewModel;if(!t.dragDimension&&(PK(t.pathSelection),YNe(t.dimensionSelection.selectAll(\"g.category\")),RK(t.dimensionSelection.selectAll(\"g.category\").selectAll(\"rect.bandrect\")),Pk.loneUnhover(t.graphDiv._fullLayout._hoverlayer.node()),t.pathSelection.sort(CK),t.hoverinfoItems.indexOf(\"skip\")===-1)){var r=e.parcatsViewModel.hoveron,n=this;r===\"color\"?zK(n,\"plotly_unhover\",ul.event):DK(n,\"plotly_unhover\",ul.event)}}function RVt(e){e.parcatsViewModel.arrangement!==\"fixed\"&&(e.dragDimensionDisplayInd=e.model.displayInd,e.initialDragDimensionDisplayInds=e.parcatsViewModel.model.dimensions.map(function(t){return t.displayInd}),e.dragHasMoved=!1,e.dragCategoryDisplayInd=null,ul.select(this).selectAll(\"g.category\").select(\"rect.catrect\").each(function(t){var r=ul.mouse(this)[0],n=ul.mouse(this)[1];-2<=r&&r<=t.width+2&&-2<=n&&n<=t.height+2&&(e.dragCategoryDisplayInd=t.model.displayInd,e.initialDragCategoryDisplayInds=e.model.categories.map(function(i){return i.displayInd}),t.model.dragY=t.y,yx.raiseToTop(this.parentNode),ul.select(this.parentNode).selectAll(\"rect.bandrect\").each(function(i){i.y<n&&n<=i.y+i.height&&(e.potentialClickBand=this)}))}),e.parcatsViewModel.dragDimension=e,Pk.loneUnhover(e.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()))}function DVt(e){if(e.parcatsViewModel.arrangement!==\"fixed\"&&(e.dragHasMoved=!0,e.dragDimensionDisplayInd!==null)){var t=e.dragDimensionDisplayInd,r=t-1,n=t+1,i=e.parcatsViewModel.dimensions[t];if(e.dragCategoryDisplayInd!==null){var a=i.categories[e.dragCategoryDisplayInd];a.model.dragY+=ul.event.dy;var o=a.model.dragY,s=a.model.displayInd,l=i.categories,u=l[s-1],c=l[s+1];u!==void 0&&o<u.y+u.height/2&&(a.model.displayInd=u.model.displayInd,u.model.displayInd=s),c!==void 0&&o+a.height>c.y+c.height/2&&(a.model.displayInd=c.model.displayInd,c.model.displayInd=s),e.dragCategoryDisplayInd=a.model.displayInd}if(e.dragCategoryDisplayInd===null||e.parcatsViewModel.arrangement===\"freeform\"){i.model.dragX=ul.event.x;var f=e.parcatsViewModel.dimensions[r],h=e.parcatsViewModel.dimensions[n];f!==void 0&&i.model.dragX<f.x+f.width&&(i.model.displayInd=f.model.displayInd,f.model.displayInd=t),h!==void 0&&i.model.dragX+i.width>h.x&&(i.model.displayInd=h.model.displayInd,h.model.displayInd=e.dragDimensionDisplayInd),e.dragDimensionDisplayInd=i.model.displayInd}qK(e.parcatsViewModel),FK(e.parcatsViewModel),QNe(e.parcatsViewModel),$Ne(e.parcatsViewModel)}}function zVt(e){if(e.parcatsViewModel.arrangement!==\"fixed\"&&e.dragDimensionDisplayInd!==null){ul.select(this).selectAll(\"text\").attr(\"font-weight\",\"normal\");var t={},r=JNe(e.parcatsViewModel),n=e.parcatsViewModel.model.dimensions.map(function(h){return h.displayInd}),i=e.initialDragDimensionDisplayInds.some(function(h,d){return h!==n[d]});i&&n.forEach(function(h,d){var v=e.parcatsViewModel.model.dimensions[d].containerInd;t[\"dimensions[\"+v+\"].displayindex\"]=h});var a=!1;if(e.dragCategoryDisplayInd!==null){var o=e.model.categories.map(function(h){return h.displayInd});if(a=e.initialDragCategoryDisplayInds.some(function(h,d){return h!==o[d]}),a){var s=e.model.categories.slice().sort(function(h,d){return h.displayInd-d.displayInd}),l=s.map(function(h){return h.categoryValue}),u=s.map(function(h){return h.categoryLabel});t[\"dimensions[\"+e.model.containerInd+\"].categoryarray\"]=[l],t[\"dimensions[\"+e.model.containerInd+\"].ticktext\"]=[u],t[\"dimensions[\"+e.model.containerInd+\"].categoryorder\"]=\"array\"}}if(e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1&&!e.dragHasMoved&&e.potentialClickBand&&(e.parcatsViewModel.hoveron===\"color\"?zK(e.potentialClickBand,\"plotly_click\",ul.event.sourceEvent):DK(e.potentialClickBand,\"plotly_click\",ul.event.sourceEvent)),e.model.dragX=null,e.dragCategoryDisplayInd!==null){var c=e.parcatsViewModel.dimensions[e.dragDimensionDisplayInd].categories[e.dragCategoryDisplayInd];c.model.dragY=null,e.dragCategoryDisplayInd=null}e.dragDimensionDisplayInd=null,e.parcatsViewModel.dragDimension=null,e.dragHasMoved=null,e.potentialClickBand=null,qK(e.parcatsViewModel),FK(e.parcatsViewModel);var f=ul.transition().duration(300).ease(\"cubic-in-out\");f.each(function(){QNe(e.parcatsViewModel,!0),$Ne(e.parcatsViewModel,!0)}).each(\"end\",function(){(i||a)&&_Vt.restyle(e.parcatsViewModel.graphDiv,t,[r])})}}function JNe(e){for(var t,r=e.graphDiv._fullData,n=0;n<r.length;n++)if(e.key===r[n].uid){t=n;break}return t}function $Ne(e,t){t===void 0&&(t=!1);function r(n){return t?n.transition():n}e.pathSelection.data(function(n){return n.paths},u1),r(e.pathSelection).attr(\"d\",function(n){return n.svgD})}function QNe(e,t){t===void 0&&(t=!1);function r(l){return t?l.transition():l}e.dimensionSelection.data(function(l){return l.dimensions},u1);var n=e.dimensionSelection.selectAll(\"g.category\").data(function(l){return l.categories},u1);r(e.dimensionSelection).attr(\"transform\",function(l){return Ck(l.x,0)}),r(n).attr(\"transform\",function(l){return Ck(0,l.y)});var i=n.select(\".dimlabel\");i.text(function(l,u){return u===0?l.parcatsViewModel.model.dimensions[l.model.dimensionInd].dimensionLabel:null});var a=n.select(\".catlabel\");a.attr(\"text-anchor\",function(l){return Lk(l)?\"start\":\"end\"}).attr(\"x\",function(l){return Lk(l)?l.width+5:-5}).each(function(l){var u,c;Lk(l)?(u=l.width+5,c=\"start\"):(u=-5,c=\"end\"),ul.select(this).selectAll(\"tspan\").attr(\"x\",u).attr(\"text-anchor\",c)});var o=n.selectAll(\"rect.bandrect\").data(function(l){return l.bands},u1),s=o.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"cursor\",\"move\").attr(\"stroke-opacity\",0).attr(\"fill\",function(l){return l.color}).attr(\"fill-opacity\",0);o.attr(\"fill\",function(l){return l.color}).attr(\"width\",function(l){return l.width}).attr(\"height\",function(l){return l.height}).attr(\"y\",function(l){return l.y}),RK(s),o.each(function(){yx.raiseToTop(this)}),o.exit().remove()}function FVt(e,t,r){var n=r[0],i=t.margin||{l:80,r:80,t:100,b:80},a=n.trace,o=a.domain,s=t.width,l=t.height,u=Math.floor(s*(o.x[1]-o.x[0])),c=Math.floor(l*(o.y[1]-o.y[0])),f=o.x[0]*s+i.l,h=t.height-o.y[1]*t.height+i.t,d=a.line.shape,v;a.hoverinfo===\"all\"?v=[\"count\",\"probability\"]:v=(a.hoverinfo||\"\").split(\"+\");var x={trace:a,key:a.uid,model:n,x:f,y:h,width:u,height:c,hoveron:a.hoveron,hoverinfoItems:v,arrangement:a.arrangement,bundlecolors:a.bundlecolors,sortpaths:a.sortpaths,labelfont:a.labelfont,categorylabelfont:a.tickfont,pathShape:d,dragDimension:null,margin:i,paths:[],dimensions:[],graphDiv:e,traceSelection:null,pathSelection:null,dimensionSelection:null};return n.dimensions&&(qK(x),FK(x)),x}function XNe(e,t,r,n,i){var a=[],o=[],s,l;for(l=0;l<r.length-1;l++)s=yVt(r[l]+e[l],e[l+1]),a.push(s(i)),o.push(s(1-i));var u=\"M \"+e[0]+\",\"+t[0];for(u+=\"l\"+r[0]+\",0 \",l=1;l<r.length;l++)u+=\"C\"+a[l-1]+\",\"+t[l-1]+\" \"+o[l-1]+\",\"+t[l]+\" \"+e[l]+\",\"+t[l],u+=\"l\"+r[l]+\",0 \";for(u+=\"l0,\"+n+\" \",u+=\"l -\"+r[r.length-1]+\",0 \",l=r.length-2;l>=0;l--)u+=\"C\"+o[l]+\",\"+(t[l+1]+n)+\" \"+a[l]+\",\"+(t[l]+n)+\" \"+(e[l]+r[l])+\",\"+(t[l]+n),u+=\"l-\"+r[l]+\",0 \";return u+=\"Z\",u}function FK(e){var t=e.dimensions,r=e.model,n=t.map(function(q){return q.categories.map(function(V){return V.y})}),i=e.model.dimensions.map(function(q){return q.categories.map(function(V){return V.displayInd})}),a=e.model.dimensions.map(function(q){return q.displayInd}),o=e.dimensions.map(function(q){return q.model.dimensionInd}),s=t.map(function(q){return q.x}),l=t.map(function(q){return q.width}),u=[];for(var c in r.paths)r.paths.hasOwnProperty(c)&&u.push(r.paths[c]);function f(q){var V=q.categoryInds.map(function(X,G){return i[G][X]}),H=o.map(function(X){return V[X]});return H}u.sort(function(q,V){var H=f(q),X=f(V);return e.sortpaths===\"backward\"&&(H.reverse(),X.reverse()),H.push(q.valueInds[0]),X.push(V.valueInds[0]),e.bundlecolors&&(H.unshift(q.rawColor),X.unshift(V.rawColor)),H<X?-1:H>X?1:0});for(var h=new Array(u.length),d=t[0].model.count,v=t[0].categories.map(function(q){return q.height}).reduce(function(q,V){return q+V}),x=0;x<u.length;x++){var b=u[x],p;d>0?p=v*(b.count/d):p=0;for(var E=new Array(n.length),k=0;k<b.categoryInds.length;k++){var A=b.categoryInds[k],L=i[k][A],_=a[k];E[_]=n[_][L],n[_][L]+=p;var C=e.dimensions[_].categories[L],M=C.bands.length,g=C.bands[M-1];if(g===void 0||b.rawColor!==g.rawColor){var P=g===void 0?0:g.y+g.height;C.bands.push({key:P,color:b.color,rawColor:b.rawColor,height:p,width:C.width,count:b.count,y:P,categoryViewModel:C,parcatsViewModel:e})}else{var T=C.bands[M-1];T.height+=p,T.count+=b.count}}var F;e.pathShape===\"hspline\"?F=XNe(s,E,l,p,.5):F=XNe(s,E,l,p,0),h[x]={key:b.valueInds[0],model:b,height:p,leftXs:s,topYs:E,dimWidths:l,svgD:F,parcatsViewModel:e}}e.paths=h}function qK(e){var t=e.model.dimensions.map(function(o){return{displayInd:o.displayInd,dimensionInd:o.dimensionInd}});t.sort(function(o,s){return o.displayInd-s.displayInd});var r=[];for(var n in t){var i=t[n].dimensionInd,a=e.model.dimensions[i];r.push(qVt(e,a))}e.dimensions=r}function qVt(e,t){var r=40,n=16,i=e.model.dimensions.length,a=t.displayInd,o,s,l;i>1?o=(e.width-2*r-n)/(i-1):o=0,s=r,l=s+o*a;var u=[],c=e.model.maxCats,f=t.categories.length,h=8,d=t.count,v=e.height-h*(c-1),x,b,p,E,k,A=(c-f)*h/2,L=t.categories.map(function(_){return{displayInd:_.displayInd,categoryInd:_.categoryInd}});for(L.sort(function(_,C){return _.displayInd-C.displayInd}),k=0;k<f;k++)E=L[k].categoryInd,b=t.categories[E],d>0?x=b.count/d*v:x=0,p={key:b.valueInds[0],model:b,width:n,height:x,y:b.dragY!==null?b.dragY:A,bands:[],parcatsViewModel:e},A=A+x+h,u.push(p);return{key:t.dimensionInd,x:t.dragX!==null?t.dragX:l,y:0,width:n,model:t,categories:u,parcatsViewModel:e,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}});var OK=ye((Tyr,rUe)=>{\"use strict\";var OVt=tUe();rUe.exports=function(t,r,n,i){var a=t._fullLayout,o=a._paper,s=a._size;OVt(t,o,r,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},n,i)}});var nUe=ye(BF=>{\"use strict\";var BVt=kd().getModuleCalcData,NVt=OK(),iUe=\"parcats\";BF.name=iUe;BF.plot=function(e,t,r,n){var i=BVt(e.calcdata,iUe);if(i.length){var a=i[0];NVt(e,a,r,n)}};BF.clean=function(e,t,r,n){var i=n._has&&n._has(\"parcats\"),a=t._has&&t._has(\"parcats\");i&&!a&&n._paperdiv.selectAll(\".parcats\").remove()}});var oUe=ye((Syr,aUe)=>{\"use strict\";aUe.exports={attributes:EK(),supplyDefaults:GNe(),calc:WNe(),plot:OK(),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcats\",basePlotModule:nUe(),categories:[\"noOpacity\"],meta:{}}});var lUe=ye((Myr,sUe)=>{\"use strict\";sUe.exports=oUe()});var c1=ye((Eyr,pUe)=>{\"use strict\";var UVt=Y1(),uUe=\"1.13.4\",dUe='\\xA9 <a target=\"_blank\" href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors',cUe=['\\xA9 <a target=\"_blank\" href=\"https://carto.com/\">Carto</a>',dUe].join(\" \"),fUe=['Map tiles by <a target=\"_blank\" href=\"https://stamen.com\">Stamen Design</a>','under <a target=\"_blank\" href=\"https://creativecommons.org/licenses/by/3.0\">CC BY 3.0</a>',\"|\",'Data by <a target=\"_blank\" href=\"https://openstreetmap.org\">OpenStreetMap</a> contributors','under <a target=\"_blank\" href=\"https://www.openstreetmap.org/copyright\">ODbL</a>'].join(\" \"),VVt=['Map tiles by <a target=\"_blank\" href=\"https://stamen.com\">Stamen Design</a>','under <a target=\"_blank\" href=\"https://creativecommons.org/licenses/by/3.0\">CC BY 3.0</a>',\"|\",'Data by <a target=\"_blank\" href=\"https://openstreetmap.org\">OpenStreetMap</a> contributors','under <a target=\"_blank\" href=\"https://creativecommons.org/licenses/by-sa/3.0\">CC BY SA</a>'].join(\" \"),vUe={\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:dUe,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:cUe,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:cUe,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:fUe,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:fUe,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:VVt,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\"}},hUe=UVt(vUe);pUe.exports={requiredVersion:uUe,styleUrlPrefix:\"mapbox://styles/mapbox/\",styleUrlSuffix:\"v9\",styleValuesMapbox:[\"basic\",\"streets\",\"outdoors\",\"light\",\"dark\",\"satellite\",\"satellite-streets\"],styleValueDflt:\"basic\",stylesNonMapbox:vUe,styleValuesNonMapbox:hUe,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@\"+uUe+\".\"].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:\",hUe.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')`}}});var Rk=ye((kyr,_Ue)=>{\"use strict\";var gUe=Mr(),mUe=va().defaultLine,HVt=Ju().attributes,GVt=Su(),jVt=Uc().textposition,WVt=Bu().overrideAll,ZVt=Vs().templatedArray,BK=c1(),yUe=GVt({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});yUe.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\";var XVt=_Ue.exports=WVt({_arrayAttrRegexps:[gUe.counterRegex(\"mapbox\",\".layers\",!0)],domain:HVt({name:\"mapbox\"}),accesstoken:{valType:\"string\",noBlank:!0,strict:!0},style:{valType:\"any\",values:BK.styleValuesMapbox.concat(BK.styleValuesNonMapbox),dflt:BK.styleValueDflt},center:{lon:{valType:\"number\",dflt:0},lat:{valType:\"number\",dflt:0}},zoom:{valType:\"number\",dflt:1},bearing:{valType:\"number\",dflt:0},pitch:{valType:\"number\",dflt:0},bounds:{west:{valType:\"number\"},east:{valType:\"number\"},south:{valType:\"number\"},north:{valType:\"number\"}},layers:ZVt(\"layer\",{visible:{valType:\"boolean\",dflt:!0},sourcetype:{valType:\"enumerated\",values:[\"geojson\",\"vector\",\"raster\",\"image\"],dflt:\"geojson\"},source:{valType:\"any\"},sourcelayer:{valType:\"string\",dflt:\"\"},sourceattribution:{valType:\"string\"},type:{valType:\"enumerated\",values:[\"circle\",\"line\",\"fill\",\"symbol\",\"raster\"],dflt:\"circle\"},coordinates:{valType:\"any\"},below:{valType:\"string\"},color:{valType:\"color\",dflt:mUe},opacity:{valType:\"number\",min:0,max:1,dflt:1},minzoom:{valType:\"number\",min:0,max:24,dflt:0},maxzoom:{valType:\"number\",min:0,max:24,dflt:24},circle:{radius:{valType:\"number\",dflt:15}},line:{width:{valType:\"number\",dflt:2},dash:{valType:\"data_array\"}},fill:{outlinecolor:{valType:\"color\",dflt:mUe}},symbol:{icon:{valType:\"string\",dflt:\"marker\"},iconsize:{valType:\"number\",dflt:10},text:{valType:\"string\",dflt:\"\"},placement:{valType:\"enumerated\",values:[\"point\",\"line\",\"line-center\"],dflt:\"point\"},textfont:yUe,textposition:gUe.extendFlat({},jVt,{arrayOk:!1})}})},\"plot\",\"from-root\");XVt.uirevision={valType:\"any\",editType:\"none\"}});var NF=ye((Cyr,wUe)=>{\"use strict\";var YVt=Wo().hovertemplateAttrs,KVt=Wo().texttemplateAttrs,JVt=Eg(),Dk=H2(),_A=Uc(),xUe=Rk(),$Vt=vl(),QVt=Jl(),ew=no().extendFlat,eHt=Bu().overrideAll,tHt=Rk(),bUe=Dk.line,xA=Dk.marker;wUe.exports=eHt({lon:Dk.lon,lat:Dk.lat,cluster:{enabled:{valType:\"boolean\"},maxzoom:ew({},tHt.layers.maxzoom,{}),step:{valType:\"number\",arrayOk:!0,dflt:-1,min:-1},size:{valType:\"number\",arrayOk:!0,dflt:20,min:0},color:{valType:\"color\",arrayOk:!0},opacity:ew({},xA.opacity,{dflt:1})},mode:ew({},_A.mode,{dflt:\"markers\"}),text:ew({},_A.text,{}),texttemplate:KVt({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"text\"]}),hovertext:ew({},_A.hovertext,{}),line:{color:bUe.color,width:bUe.width},connectgaps:_A.connectgaps,marker:ew({symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},angle:{valType:\"number\",dflt:\"auto\",arrayOk:!0},allowoverlap:{valType:\"boolean\",dflt:!1},opacity:xA.opacity,size:xA.size,sizeref:xA.sizeref,sizemin:xA.sizemin,sizemode:xA.sizemode},QVt(\"marker\")),fill:Dk.fill,fillcolor:JVt(),textfont:xUe.layers.symbol.textfont,textposition:xUe.layers.symbol.textposition,below:{valType:\"string\"},selected:{marker:_A.selected.marker},unselected:{marker:_A.unselected.marker},hoverinfo:ew({},$Vt.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]}),hovertemplate:YVt()},\"calc\",\"nested\")});var NK=ye((Lyr,TUe)=>{\"use strict\";var rHt=[\"Metropolis Black Italic\",\"Metropolis Black\",\"Metropolis Bold Italic\",\"Metropolis Bold\",\"Metropolis Extra Bold Italic\",\"Metropolis Extra Bold\",\"Metropolis Extra Light Italic\",\"Metropolis Extra Light\",\"Metropolis Light Italic\",\"Metropolis Light\",\"Metropolis Medium Italic\",\"Metropolis Medium\",\"Metropolis Regular Italic\",\"Metropolis Regular\",\"Metropolis Semi Bold Italic\",\"Metropolis Semi Bold\",\"Metropolis Thin Italic\",\"Metropolis Thin\",\"Open Sans Bold Italic\",\"Open Sans Bold\",\"Open Sans Extrabold Italic\",\"Open Sans Extrabold\",\"Open Sans Italic\",\"Open Sans Light Italic\",\"Open Sans Light\",\"Open Sans Regular\",\"Open Sans Semibold Italic\",\"Open Sans Semibold\",\"Klokantech Noto Sans Bold\",\"Klokantech Noto Sans CJK Bold\",\"Klokantech Noto Sans CJK Regular\",\"Klokantech Noto Sans Italic\",\"Klokantech Noto Sans Regular\"];TUe.exports={isSupportedFont:function(e){return rHt.indexOf(e)!==-1}}});var MUe=ye((Pyr,SUe)=>{\"use strict\";var zk=Mr(),UK=lu(),iHt=$p(),nHt=R0(),aHt=D0(),oHt=Ig(),AUe=NF(),sHt=NK().isSupportedFont;SUe.exports=function(t,r,n,i){function a(p,E){return zk.coerce(t,r,AUe,p,E)}function o(p,E){return zk.coerce2(t,r,AUe,p,E)}var s=lHt(t,r,a);if(!s){r.visible=!1;return}if(a(\"text\"),a(\"texttemplate\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"mode\"),a(\"below\"),UK.hasMarkers(r)){iHt(t,r,n,i,a,{noLine:!0,noAngle:!0}),a(\"marker.allowoverlap\"),a(\"marker.angle\");var l=r.marker;l.symbol!==\"circle\"&&(zk.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),zk.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}UK.hasLines(r)&&(nHt(t,r,n,i,a,{noDash:!0}),a(\"connectgaps\"));var u=o(\"cluster.maxzoom\"),c=o(\"cluster.step\"),f=o(\"cluster.color\",r.marker&&r.marker.color||n),h=o(\"cluster.size\"),d=o(\"cluster.opacity\"),v=u!==!1||c!==!1||f!==!1||h!==!1||d!==!1,x=a(\"cluster.enabled\",v);if(x||UK.hasText(r)){var b=i.font.family;aHt(t,r,i,a,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:sHt(b)?b:\"Open Sans Regular\",weight:i.font.weight,style:i.font.style,size:i.font.size,color:i.font.color}})}a(\"fill\"),r.fill!==\"none\"&&oHt(t,r,n,a),zk.coerceSelectionMarkerOpacity(r,a)};function lHt(e,t,r){var n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length);return t._length=a,a}});var VK=ye((Iyr,kUe)=>{\"use strict\";var EUe=Qa();kUe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=EUe.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=EUe.tickText(o,o.c2l(s[1]),!0).text,i}});var HK=ye((Ryr,LUe)=>{\"use strict\";var CUe=Mr();LUe.exports=function(t,r){var n=t.split(\" \"),i=n[0],a=n[1],o=CUe.isArrayOrTypedArray(r)?CUe.mean(r):r,s=.5+o/100,l=1.5+o/100,u=[\"\",\"\"],c=[0,0];switch(i){case\"top\":u[0]=\"top\",c[1]=-l;break;case\"bottom\":u[0]=\"bottom\",c[1]=l;break}switch(a){case\"left\":u[1]=\"right\",c[0]=-s;break;case\"right\":u[1]=\"left\",c[0]=s;break}var f;return u[0]&&u[1]?f=u.join(\"-\"):u[0]?f=u[0]:u[1]?f=u[1]:f=\"center\",{anchor:f,offset:c}}});var FUe=ye((Dyr,zUe)=>{\"use strict\";var RUe=uo(),iv=Mr(),uHt=es().BADNUM,VF=rx(),PUe=Mu(),cHt=ao(),fHt=S3(),HF=lu(),hHt=NK().isSupportedFont,dHt=HK(),vHt=rp().appendArrayPointValue,pHt=Pl().NEWLINES,gHt=Pl().BR_TAG_ALL;zUe.exports=function(t,r){var n=r[0].trace,i=n.visible===!0&&n._length!==0,a=n.fill!==\"none\",o=HF.hasLines(n),s=HF.hasMarkers(n),l=HF.hasText(n),u=s&&n.marker.symbol===\"circle\",c=s&&n.marker.symbol!==\"circle\",f=n.cluster&&n.cluster.enabled,h=UF(\"fill\"),d=UF(\"line\"),v=UF(\"circle\"),x=UF(\"symbol\"),b={fill:h,line:d,circle:v,symbol:x};if(!i)return b;var p;if((a||o)&&(p=VF.calcTraceToLineCoords(r)),a&&(h.geojson=VF.makePolygon(p),h.layout.visibility=\"visible\",iv.extendFlat(h.paint,{\"fill-color\":n.fillcolor})),o&&(d.geojson=VF.makeLine(p),d.layout.visibility=\"visible\",iv.extendFlat(d.paint,{\"line-width\":n.line.width,\"line-color\":n.line.color,\"line-opacity\":n.opacity})),u){var E=mHt(r);v.geojson=E.geojson,v.layout.visibility=\"visible\",f&&(v.filter=[\"!\",[\"has\",\"point_count\"]],b.cluster={type:\"circle\",filter:[\"has\",\"point_count\"],layout:{visibility:\"visible\"},paint:{\"circle-color\":jK(n.cluster.color,n.cluster.step),\"circle-radius\":jK(n.cluster.size,n.cluster.step),\"circle-opacity\":jK(n.cluster.opacity,n.cluster.step)}},b.clusterCount={type:\"symbol\",filter:[\"has\",\"point_count\"],paint:{},layout:{\"text-field\":\"{point_count_abbreviated}\",\"text-font\":IUe(n),\"text-size\":12}}),iv.extendFlat(v.paint,{\"circle-color\":E.mcc,\"circle-radius\":E.mrc,\"circle-opacity\":E.mo})}if(u&&f&&(v.filter=[\"!\",[\"has\",\"point_count\"]]),(c||l)&&(x.geojson=yHt(r,t),iv.extendFlat(x.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),c&&(iv.extendFlat(x.layout,{\"icon-size\":n.marker.size/10}),\"angle\"in n.marker&&n.marker.angle!==\"auto\"&&iv.extendFlat(x.layout,{\"icon-rotate\":{type:\"identity\",property:\"angle\"},\"icon-rotation-alignment\":\"map\"}),x.layout[\"icon-allow-overlap\"]=n.marker.allowoverlap,iv.extendFlat(x.paint,{\"icon-opacity\":n.opacity*n.marker.opacity,\"icon-color\":n.marker.color})),l)){var k=(n.marker||{}).size,A=dHt(n.textposition,k);iv.extendFlat(x.layout,{\"text-size\":n.textfont.size,\"text-anchor\":A.anchor,\"text-offset\":A.offset,\"text-font\":IUe(n)}),iv.extendFlat(x.paint,{\"text-color\":n.textfont.color,\"text-opacity\":n.opacity})}return b};function UF(e){return{type:e,geojson:VF.makeBlank(),layout:{visibility:\"none\"},filter:null,paint:{}}}function mHt(e){var t=e[0].trace,r=t.marker,n=t.selectedpoints,i=iv.isArrayOrTypedArray(r.color),a=iv.isArrayOrTypedArray(r.size),o=iv.isArrayOrTypedArray(r.opacity),s;function l(k){return t.opacity*k}function u(k){return k/2}var c;i&&(PUe.hasColorscale(t,\"marker\")?c=PUe.makeColorScaleFuncFromTrace(r):c=iv.identity);var f;a&&(f=fHt(t));var h;o&&(h=function(k){var A=RUe(k)?+iv.constrain(k,0,1):0;return l(A)});var d=[];for(s=0;s<e.length;s++){var v=e[s],x=v.lonlat;if(!DUe(x)){var b={};c&&(b.mcc=v.mcc=c(v.mc)),f&&(b.mrc=v.mrc=f(v.ms)),h&&(b.mo=h(v.mo)),n&&(b.selected=v.selected||0),d.push({type:\"Feature\",id:s+1,geometry:{type:\"Point\",coordinates:x},properties:b})}}var p;if(n)for(p=cHt.makeSelectedPointStyleFns(t),s=0;s<d.length;s++){var E=d[s].properties;p.selectedOpacityFn&&(E.mo=l(p.selectedOpacityFn(E))),p.selectedColorFn&&(E.mcc=p.selectedColorFn(E)),p.selectedSizeFn&&(E.mrc=p.selectedSizeFn(E))}return{geojson:{type:\"FeatureCollection\",features:d},mcc:i||p&&p.selectedColorFn?{type:\"identity\",property:\"mcc\"}:r.color,mrc:a||p&&p.selectedSizeFn?{type:\"identity\",property:\"mrc\"}:u(r.size),mo:o||p&&p.selectedOpacityFn?{type:\"identity\",property:\"mo\"}:l(r.opacity)}}function yHt(e,t){for(var r=t._fullLayout,n=e[0].trace,i=n.marker||{},a=i.symbol,o=i.angle,s=a!==\"circle\"?GK(a):GF,l=o!==\"auto\"?GK(o,!0):GF,u=HF.hasText(n)?GK(n.text):GF,c=[],f=0;f<e.length;f++){var h=e[f];if(!DUe(h.lonlat)){var d=n.texttemplate,v;if(d){var x=Array.isArray(d)?d[f]||\"\":d,b=n._module.formatLabels(h,n,r),p={};vHt(p,n,h.i);var E=n._meta||{};v=iv.texttemplateString(x,b,r._d3locale,p,h,E)}else v=u(f);v&&(v=v.replace(pHt,\"\").replace(gHt,`\n", - "`)),c.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:h.lonlat},properties:{symbol:s(f),angle:l(f),text:v}})}}return{type:\"FeatureCollection\",features:c}}function GK(e,t){return iv.isArrayOrTypedArray(e)?t?function(r){return RUe(e[r])?+e[r]:0}:function(r){return e[r]}:e?function(){return e}:GF}function GF(){return\"\"}function DUe(e){return e[0]===uHt}function jK(e,t){var r;if(iv.isArrayOrTypedArray(e)&&iv.isArrayOrTypedArray(t)){r=[\"step\",[\"get\",\"point_count\"],e[0]];for(var n=1;n<e.length;n++)r.push(t[n-1],e[n])}else r=e;return r}function IUe(e){var t=e.textfont,r=t.family,n=t.style,i=t.weight,a=r.split(\" \"),o=a[a.length-1]===\"Italic\";o&&a.pop(),o=o||n===\"italic\";var s=a.join(\" \");i===\"bold\"&&a.indexOf(\"Bold\")===-1?s+=\" Bold\":i<=1e3&&(a[0]===\"Metropolis\"?(s=\"Metropolis\",i>850?s+=\" Black\":i>750?s+=\" Extra Bold\":i>650?s+=\" Bold\":i>550?s+=\" Semi Bold\":i>450?s+=\" Medium\":i>350?s+=\" Regular\":i>250?s+=\" Light\":i>150?s+=\" Extra Light\":s+=\" Thin\"):a.slice(0,2).join(\" \")===\"Open Sans\"?(s=\"Open Sans\",i>750?s+=\" Extrabold\":i>650?s+=\" Bold\":i>550?s+=\" Semibold\":i>350?s+=\" Regular\":s+=\" Light\"):a.slice(0,3).join(\" \")===\"Klokantech Noto Sans\"&&(s=\"Klokantech Noto Sans\",a[3]===\"CJK\"&&(s+=\" CJK\"),s+=i>500?\" Bold\":\" Regular\")),o&&(s+=\" Italic\"),s===\"Open Sans Regular Italic\"?s=\"Open Sans Italic\":s===\"Open Sans Regular Bold\"?s=\"Open Sans Bold\":s===\"Open Sans Regular Bold Italic\"?s=\"Open Sans Bold Italic\":s===\"Klokantech Noto Sans Regular Italic\"&&(s=\"Klokantech Noto Sans Italic\"),hHt(s)||(s=r);var l=s.split(\", \");return l}});var NUe=ye((zyr,BUe)=>{\"use strict\";var _Ht=Mr(),qUe=FUe(),bA=c1().traceLayerPrefix,rg={cluster:[\"cluster\",\"clusterCount\",\"circle\"],nonCluster:[\"fill\",\"line\",\"circle\",\"symbol\"]};function OUe(e,t,r,n){this.type=\"scattermapbox\",this.subplot=e,this.uid=t,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:\"source-\"+t+\"-fill\",line:\"source-\"+t+\"-line\",circle:\"source-\"+t+\"-circle\",symbol:\"source-\"+t+\"-symbol\",cluster:\"source-\"+t+\"-circle\",clusterCount:\"source-\"+t+\"-circle\"},this.layerIds={fill:bA+t+\"-fill\",line:bA+t+\"-line\",circle:bA+t+\"-circle\",symbol:bA+t+\"-symbol\",cluster:bA+t+\"-cluster\",clusterCount:bA+t+\"-cluster-count\"},this.below=null}var Fk=OUe.prototype;Fk.addSource=function(e,t,r){var n={type:\"geojson\",data:t.geojson};r&&r.enabled&&_Ht.extendFlat(n,{cluster:!0,clusterMaxZoom:r.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[e]);i?i.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[e],n)};Fk.setSourceData=function(e,t){this.subplot.map.getSource(this.sourceIds[e]).setData(t.geojson)};Fk.addLayer=function(e,t,r){var n={type:t.type,id:this.layerIds[e],source:this.sourceIds[e],layout:t.layout,paint:t.paint};t.filter&&(n.filter=t.filter);for(var i=this.layerIds[e],a,o=this.subplot.getMapLayers(),s=0;s<o.length;s++)if(o[s].id===i){a=!0;break}a?(this.subplot.setOptions(i,\"setLayoutProperty\",n.layout),n.layout.visibility===\"visible\"&&this.subplot.setOptions(i,\"setPaintProperty\",n.paint)):this.subplot.addLayer(n,r)};Fk.update=function(t){var r=t[0].trace,n=this.subplot,i=n.map,a=qUe(n.gd,t),o=n.belowLookup[\"trace-\"+this.uid],s=!!(r.cluster&&r.cluster.enabled),l=!!this.clusterEnabled,u=this;function c(k){k||u.addSource(\"circle\",a.circle,r.cluster);for(var A=rg.cluster,L=0;L<A.length;L++){var _=A[L],C=a[_];u.addLayer(_,C,o)}}function f(k){for(var A=rg.cluster,L=A.length-1;L>=0;L--){var _=A[L];i.removeLayer(u.layerIds[_])}k||i.removeSource(u.sourceIds.circle)}function h(k){for(var A=rg.nonCluster,L=0;L<A.length;L++){var _=A[L],C=a[_];k||u.addSource(_,C),u.addLayer(_,C,o)}}function d(k){for(var A=rg.nonCluster,L=A.length-1;L>=0;L--){var _=A[L];i.removeLayer(u.layerIds[_]),k||i.removeSource(u.sourceIds[_])}}function v(k){l?f(k):d(k)}function x(k){s?c(k):h(k)}function b(){for(var k=s?rg.cluster:rg.nonCluster,A=0;A<k.length;A++){var L=k[A],_=a[L];_&&(n.setOptions(u.layerIds[L],\"setLayoutProperty\",_.layout),_.layout.visibility===\"visible\"&&(L!==\"cluster\"&&u.setSourceData(L,_),n.setOptions(u.layerIds[L],\"setPaintProperty\",_.paint)))}}var p=this.isHidden,E=r.visible!==!0;E?p||v():p?E||x():l!==s?(v(),x()):(this.below!==o&&(v(!0),x(!0)),b()),this.clusterEnabled=s,this.isHidden=E,this.below=o,t[0].trace._glTrace=this};Fk.dispose=function(){for(var t=this.subplot.map,r=this.clusterEnabled?rg.cluster:rg.nonCluster,n=r.length-1;n>=0;n--){var i=r[n];t.removeLayer(this.layerIds[i]),t.removeSource(this.sourceIds[i])}};BUe.exports=function(t,r){var n=r[0].trace,i=n.cluster&&n.cluster.enabled,a=n.visible!==!0,o=new OUe(t,n.uid,i,a),s=qUe(t.gd,r),l=o.below=t.belowLookup[\"trace-\"+n.uid],u,c,f;if(i)for(o.addSource(\"circle\",s.circle,n.cluster),u=0;u<rg.cluster.length;u++)c=rg.cluster[u],f=s[c],o.addLayer(c,f,l);else for(u=0;u<rg.nonCluster.length;u++)c=rg.nonCluster[u],f=s[c],o.addSource(c,f,n.cluster),o.addLayer(c,f,l);return r[0].trace._glTrace=o,o}});var jF=ye((Fyr,VUe)=>{\"use strict\";var xHt=Nc(),WK=Mr(),bHt=oT(),wHt=WK.fillText,THt=es().BADNUM,AHt=c1().traceLayerPrefix;function SHt(e,t,r){var n=e.cd,i=n[0].trace,a=e.xa,o=e.ya,s=e.subplot,l=[],u=AHt+i.uid+\"-circle\",c=i.cluster&&i.cluster.enabled;if(c){var f=s.map.queryRenderedFeatures(null,{layers:[u]});l=f.map(function(M){return M.id})}var h=t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360),d=h*360,v=t-d;function x(M){var g=M.lonlat;if(g[0]===THt||c&&l.indexOf(M.i+1)===-1)return 1/0;var P=WK.modHalf(g[0],360),T=g[1],F=s.project([P,T]),q=F.x-a.c2p([v,T]),V=F.y-o.c2p([P,r]),H=Math.max(3,M.mrc||0);return Math.max(Math.sqrt(q*q+V*V)-H,1-3/H)}if(xHt.getClosest(n,x,e),e.index!==!1){var b=n[e.index],p=b.lonlat,E=[WK.modHalf(p[0],360)+d,p[1]],k=a.c2p(E),A=o.c2p(E),L=b.mrc||1;e.x0=k-L,e.x1=k+L,e.y0=A-L,e.y1=A+L;var _={};_[i.subplot]={_subplot:s};var C=i._module.formatLabels(b,i,_);return e.lonLabel=C.lonLabel,e.latLabel=C.latLabel,e.color=bHt(i,b),e.extraText=UUe(i,b,n[0].t.labels),e.hovertemplate=i.hovertemplate,[e]}}function UUe(e,t,r){if(e.hovertemplate)return;var n=t.hi||e.hoverinfo,i=n.split(\"+\"),a=i.indexOf(\"all\")!==-1,o=i.indexOf(\"lon\")!==-1,s=i.indexOf(\"lat\")!==-1,l=t.lonlat,u=[];function c(f){return f+\"\\xB0\"}return a||o&&s?u.push(\"(\"+c(l[1])+\", \"+c(l[0])+\")\"):o?u.push(r.lon+c(l[0])):s&&u.push(r.lat+c(l[1])),(a||i.indexOf(\"text\")!==-1)&&wHt(t,e,u),u.join(\"<br>\")}VUe.exports={hoverPoints:SHt,getExtraText:UUe}});var GUe=ye((qyr,HUe)=>{\"use strict\";HUe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t}});var WUe=ye((Oyr,jUe)=>{\"use strict\";var MHt=Mr(),EHt=lu(),kHt=es().BADNUM;jUe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l;if(!EHt.hasMarkers(s))return[];if(r===!1)for(l=0;l<n.length;l++)n[l].selected=0;else for(l=0;l<n.length;l++){var u=n[l],c=u.lonlat;if(c[0]!==kHt){var f=[MHt.modHalf(c[0],360),c[1]],h=[i.c2p(f),a.c2p(f)];r.contains(h,null,l,t)?(o.push({pointNumber:l,lon:c[0],lat:c[1]}),u.selected=1):u.selected=0}}return o}});var YK=ye((ZK,XK)=>{(function(e,t){typeof ZK==\"object\"&&typeof XK!=\"undefined\"?XK.exports=t():(e=e||self,e.mapboxgl=t())})(ZK,function(){\"use strict\";var e,t,r;function n(i,a){if(!e)e=a;else if(!t)t=a;else{var o=\"var sharedChunk = {}; (\"+e+\")(sharedChunk); (\"+t+\")(sharedChunk);\",s={};e(s),r=a(s),typeof window!=\"undefined\"&&(r.workerUrl=window.URL.createObjectURL(new Blob([o],{type:\"text/javascript\"})))}}return n([\"exports\"],function(i){\"use strict\";function a(m,y){return y={exports:{}},m(y,y.exports),y.exports}var o=\"1.13.4\",s=l;function l(m,y,I,U){this.cx=3*m,this.bx=3*(I-m)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*y,this.by=3*(U-y)-this.cy,this.ay=1-this.cy-this.by,this.p1x=m,this.p1y=U,this.p2x=I,this.p2y=U}l.prototype.sampleCurveX=function(m){return((this.ax*m+this.bx)*m+this.cx)*m},l.prototype.sampleCurveY=function(m){return((this.ay*m+this.by)*m+this.cy)*m},l.prototype.sampleCurveDerivativeX=function(m){return(3*this.ax*m+2*this.bx)*m+this.cx},l.prototype.solveCurveX=function(m,y){typeof y==\"undefined\"&&(y=1e-6);var I,U,J,ne,fe;for(J=m,fe=0;fe<8;fe++){if(ne=this.sampleCurveX(J)-m,Math.abs(ne)<y)return J;var Fe=this.sampleCurveDerivativeX(J);if(Math.abs(Fe)<1e-6)break;J=J-ne/Fe}if(I=0,U=1,J=m,J<I)return I;if(J>U)return U;for(;I<U;){if(ne=this.sampleCurveX(J),Math.abs(ne-m)<y)return J;m>ne?I=J:U=J,J=(U-I)*.5+I}return J},l.prototype.solve=function(m,y){return this.sampleCurveY(this.solveCurveX(m,y))};var u=c;function c(m,y){this.x=m,this.y=y}c.prototype={clone:function(){return new c(this.x,this.y)},add:function(m){return this.clone()._add(m)},sub:function(m){return this.clone()._sub(m)},multByPoint:function(m){return this.clone()._multByPoint(m)},divByPoint:function(m){return this.clone()._divByPoint(m)},mult:function(m){return this.clone()._mult(m)},div:function(m){return this.clone()._div(m)},rotate:function(m){return this.clone()._rotate(m)},rotateAround:function(m,y){return this.clone()._rotateAround(m,y)},matMult:function(m){return this.clone()._matMult(m)},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(m){return this.x===m.x&&this.y===m.y},dist:function(m){return Math.sqrt(this.distSqr(m))},distSqr:function(m){var y=m.x-this.x,I=m.y-this.y;return y*y+I*I},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(m){return Math.atan2(this.y-m.y,this.x-m.x)},angleWith:function(m){return this.angleWithSep(m.x,m.y)},angleWithSep:function(m,y){return Math.atan2(this.x*y-this.y*m,this.x*m+this.y*y)},_matMult:function(m){var y=m[0]*this.x+m[1]*this.y,I=m[2]*this.x+m[3]*this.y;return this.x=y,this.y=I,this},_add:function(m){return this.x+=m.x,this.y+=m.y,this},_sub:function(m){return this.x-=m.x,this.y-=m.y,this},_mult:function(m){return this.x*=m,this.y*=m,this},_div:function(m){return this.x/=m,this.y/=m,this},_multByPoint:function(m){return this.x*=m.x,this.y*=m.y,this},_divByPoint:function(m){return this.x/=m.x,this.y/=m.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var m=this.y;return this.y=this.x,this.x=-m,this},_rotate:function(m){var y=Math.cos(m),I=Math.sin(m),U=y*this.x-I*this.y,J=I*this.x+y*this.y;return this.x=U,this.y=J,this},_rotateAround:function(m,y){var I=Math.cos(m),U=Math.sin(m),J=y.x+I*(this.x-y.x)-U*(this.y-y.y),ne=y.y+U*(this.x-y.x)+I*(this.y-y.y);return this.x=J,this.y=ne,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},c.convert=function(m){return m instanceof c?m:Array.isArray(m)?new c(m[0],m[1]):m};var f=typeof self!=\"undefined\"?self:{};function h(m,y){if(Array.isArray(m)){if(!Array.isArray(y)||m.length!==y.length)return!1;for(var I=0;I<m.length;I++)if(!h(m[I],y[I]))return!1;return!0}if(typeof m==\"object\"&&m!==null&&y!==null){if(typeof y!=\"object\")return!1;var U=Object.keys(m);if(U.length!==Object.keys(y).length)return!1;for(var J in m)if(!h(m[J],y[J]))return!1;return!0}return m===y}var d=Math.pow(2,53)-1;function v(m){if(m<=0)return 0;if(m>=1)return 1;var y=m*m,I=y*m;return 4*(m<.5?I:3*(m-y)+I-.75)}function x(m,y,I,U){var J=new s(m,y,I,U);return function(ne){return J.solve(ne)}}var b=x(.25,.1,.25,1);function p(m,y,I){return Math.min(I,Math.max(y,m))}function E(m,y,I){var U=I-y,J=((m-y)%U+U)%U+y;return J===y?I:J}function k(m,y,I){if(!m.length)return I(null,[]);var U=m.length,J=new Array(m.length),ne=null;m.forEach(function(fe,Fe){y(fe,function(Qe,st){Qe&&(ne=Qe),J[Fe]=st,--U===0&&I(ne,J)})})}function A(m){var y=[];for(var I in m)y.push(m[I]);return y}function L(m,y){var I=[];for(var U in m)U in y||I.push(U);return I}function _(m){for(var y=[],I=arguments.length-1;I-- >0;)y[I]=arguments[I+1];for(var U=0,J=y;U<J.length;U+=1){var ne=J[U];for(var fe in ne)m[fe]=ne[fe]}return m}function C(m,y){for(var I={},U=0;U<y.length;U++){var J=y[U];J in m&&(I[J]=m[J])}return I}var M=1;function g(){return M++}function P(){function m(y){return y?(y^Math.random()*16>>y/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,m)}return m()}function T(m){return m<=1?1:Math.pow(2,Math.ceil(Math.log(m)/Math.LN2))}function F(m){return m?/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(m):!1}function q(m,y){m.forEach(function(I){y[I]&&(y[I]=y[I].bind(y))})}function V(m,y){return m.indexOf(y,m.length-y.length)!==-1}function H(m,y,I){var U={};for(var J in m)U[J]=y.call(I||this,m[J],J,m);return U}function X(m,y,I){var U={};for(var J in m)y.call(I||this,m[J],J,m)&&(U[J]=m[J]);return U}function G(m){return Array.isArray(m)?m.map(G):typeof m==\"object\"&&m?H(m,G):m}function N(m,y){for(var I=0;I<m.length;I++)if(y.indexOf(m[I])>=0)return!0;return!1}var W={};function re(m){W[m]||(typeof console!=\"undefined\"&&console.warn(m),W[m]=!0)}function ae(m,y,I){return(I.y-m.y)*(y.x-m.x)>(y.y-m.y)*(I.x-m.x)}function _e(m){for(var y=0,I=0,U=m.length,J=U-1,ne=void 0,fe=void 0;I<U;J=I++)ne=m[I],fe=m[J],y+=(fe.x-ne.x)*(ne.y+fe.y);return y}function Me(m){var y=m[0],I=m[1],U=m[2];return I+=90,I*=Math.PI/180,U*=Math.PI/180,{x:y*Math.cos(I)*Math.sin(U),y:y*Math.sin(I)*Math.sin(U),z:y*Math.cos(U)}}function ke(){return typeof WorkerGlobalScope!=\"undefined\"&&typeof self!=\"undefined\"&&self instanceof WorkerGlobalScope}function ge(m){var y=/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,I={};if(m.replace(y,function(J,ne,fe,Fe){var Qe=fe||Fe;return I[ne]=Qe?Qe.toLowerCase():!0,\"\"}),I[\"max-age\"]){var U=parseInt(I[\"max-age\"],10);isNaN(U)?delete I[\"max-age\"]:I[\"max-age\"]=U}return I}var ie=null;function Te(m){if(ie==null){var y=m.navigator?m.navigator.userAgent:null;ie=!!m.safari||!!(y&&(/\\b(iPad|iPhone|iPod)\\b/.test(y)||y.match(\"Safari\")&&!y.match(\"Chrome\")))}return ie}function Ee(m){try{var y=f[m];return y.setItem(\"_mapbox_test_\",1),y.removeItem(\"_mapbox_test_\"),!0}catch(I){return!1}}function Ae(m){return f.btoa(encodeURIComponent(m).replace(/%([0-9A-F]{2})/g,function(y,I){return String.fromCharCode(+(\"0x\"+I))}))}function ze(m){return decodeURIComponent(f.atob(m).split(\"\").map(function(y){return\"%\"+(\"00\"+y.charCodeAt(0).toString(16)).slice(-2)}).join(\"\"))}var Ce=f.performance&&f.performance.now?f.performance.now.bind(f.performance):Date.now.bind(Date),me=f.requestAnimationFrame||f.mozRequestAnimationFrame||f.webkitRequestAnimationFrame||f.msRequestAnimationFrame,Re=f.cancelAnimationFrame||f.mozCancelAnimationFrame||f.webkitCancelAnimationFrame||f.msCancelAnimationFrame,ce,Ge,nt={now:Ce,frame:function(y){var I=me(y);return{cancel:function(){return Re(I)}}},getImageData:function(y,I){I===void 0&&(I=0);var U=f.document.createElement(\"canvas\"),J=U.getContext(\"2d\");if(!J)throw new Error(\"failed to create canvas 2d context\");return U.width=y.width,U.height=y.height,J.drawImage(y,0,0,y.width,y.height),J.getImageData(-I,-I,y.width+2*I,y.height+2*I)},resolveURL:function(y){return ce||(ce=f.document.createElement(\"a\")),ce.href=y,ce.href},hardwareConcurrency:f.navigator&&f.navigator.hardwareConcurrency||4,get devicePixelRatio(){return f.devicePixelRatio},get prefersReducedMotion(){return f.matchMedia?(Ge==null&&(Ge=f.matchMedia(\"(prefers-reduced-motion: reduce)\")),Ge.matches):!1}},ct={API_URL:\"https://api.mapbox.com\",get EVENTS_URL(){return this.API_URL?this.API_URL.indexOf(\"https://api.mapbox.cn\")===0?\"https://events.mapbox.cn/events/v2\":this.API_URL.indexOf(\"https://api.mapbox.com\")===0?\"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},qt={supported:!1,testSupport:Ct},rt,ot=!1,Rt,kt=!1;f.document&&(Rt=f.document.createElement(\"img\"),Rt.onload=function(){rt&&Yt(rt),rt=null,kt=!0},Rt.onerror=function(){ot=!0,rt=null},Rt.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\");function Ct(m){ot||!Rt||(kt?Yt(m):rt=m)}function Yt(m){var y=m.createTexture();m.bindTexture(m.TEXTURE_2D,y);try{if(m.texImage2D(m.TEXTURE_2D,0,m.RGBA,m.RGBA,m.UNSIGNED_BYTE,Rt),m.isContextLost())return;qt.supported=!0}catch(I){}m.deleteTexture(y),ot=!0}var xr=\"01\";function er(){for(var m=\"1\",y=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\",I=\"\",U=0;U<10;U++)I+=y[Math.floor(Math.random()*62)];var J=12*60*60*1e3,ne=[m,xr,I].join(\"\"),fe=Date.now()+J;return{token:ne,tokenExpiresAt:fe}}var Ke=function(y,I){this._transformRequestFn=y,this._customAccessToken=I,this._createSkuToken()};Ke.prototype._createSkuToken=function(){var y=er();this._skuToken=y.token,this._skuTokenExpiresAt=y.tokenExpiresAt},Ke.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},Ke.prototype.transformRequest=function(y,I){return this._transformRequestFn?this._transformRequestFn(y,I)||{url:y}:{url:y}},Ke.prototype.normalizeStyleURL=function(y,I){if(!xt(y))return y;var U=Ht(y);return U.path=\"/styles/v1\"+U.path,this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeGlyphsURL=function(y,I){if(!xt(y))return y;var U=Ht(y);return U.path=\"/fonts/v1\"+U.path,this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeSourceURL=function(y,I){if(!xt(y))return y;var U=Ht(y);return U.path=\"/v4/\"+U.authority+\".json\",U.params.push(\"secure\"),this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeSpriteURL=function(y,I,U,J){var ne=Ht(y);return xt(y)?(ne.path=\"/styles/v1\"+ne.path+\"/sprite\"+I+U,this._makeAPIURL(ne,this._customAccessToken||J)):(ne.path+=\"\"+I+U,$t(ne))},Ke.prototype.normalizeTileURL=function(y,I){if(this._isSkuTokenExpired()&&this._createSkuToken(),y&&!xt(y))return y;var U=Ht(y),J=/(\\.(png|jpg)\\d*)(?=$)/,ne=/^.+\\/v4\\//,fe=nt.devicePixelRatio>=2||I===512?\"@2x\":\"\",Fe=qt.supported?\".webp\":\"$1\";U.path=U.path.replace(J,\"\"+fe+Fe),U.path=U.path.replace(ne,\"/\"),U.path=\"/v4\"+U.path;var Qe=this._customAccessToken||Et(U.params)||ct.ACCESS_TOKEN;return ct.REQUIRE_ACCESS_TOKEN&&Qe&&this._skuToken&&U.params.push(\"sku=\"+this._skuToken),this._makeAPIURL(U,Qe)},Ke.prototype.canonicalizeTileURL=function(y,I){var U=\"/v4/\",J=/\\.[\\w]+$/,ne=Ht(y);if(!ne.path.match(/(^\\/v4\\/)/)||!ne.path.match(J))return y;var fe=\"mapbox://tiles/\";fe+=ne.path.replace(U,\"\");var Fe=ne.params;return I&&(Fe=Fe.filter(function(Qe){return!Qe.match(/^access_token=/)})),Fe.length&&(fe+=\"?\"+Fe.join(\"&\")),fe},Ke.prototype.canonicalizeTileset=function(y,I){for(var U=I?xt(I):!1,J=[],ne=0,fe=y.tiles||[];ne<fe.length;ne+=1){var Fe=fe[ne];Lt(Fe)?J.push(this.canonicalizeTileURL(Fe,U)):J.push(Fe)}return J},Ke.prototype._makeAPIURL=function(y,I){var U=\"See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\",J=Ht(ct.API_URL);if(y.protocol=J.protocol,y.authority=J.authority,y.protocol===\"http\"){var ne=y.params.indexOf(\"secure\");ne>=0&&y.params.splice(ne,1)}if(J.path!==\"/\"&&(y.path=\"\"+J.path+y.path),!ct.REQUIRE_ACCESS_TOKEN)return $t(y);if(I=I||ct.ACCESS_TOKEN,!I)throw new Error(\"An API access token is required to use Mapbox GL. \"+U);if(I[0]===\"s\")throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+U);return y.params=y.params.filter(function(fe){return fe.indexOf(\"access_token\")===-1}),y.params.push(\"access_token=\"+I),$t(y)};function xt(m){return m.indexOf(\"mapbox:\")===0}var bt=/^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/|\\?|$)/i;function Lt(m){return bt.test(m)}function St(m){return m.indexOf(\"sku=\")>0&&Lt(m)}function Et(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y],J=U.match(/^access_token=(.*)$/);if(J)return J[1]}return null}var dt=/^(\\w+):\\/\\/([^/?]*)(\\/[^?]+)?\\??(.+)?/;function Ht(m){var y=m.match(dt);if(!y)throw new Error(\"Unable to parse URL object\");return{protocol:y[1],authority:y[2],path:y[3]||\"/\",params:y[4]?y[4].split(\"&\"):[]}}function $t(m){var y=m.params.length?\"?\"+m.params.join(\"&\"):\"\";return m.protocol+\"://\"+m.authority+m.path+y}var fr=\"mapbox.eventData\";function _r(m){if(!m)return null;var y=m.split(\".\");if(!y||y.length!==3)return null;try{var I=JSON.parse(ze(y[1]));return I}catch(U){return null}}var Br=function(y){this.type=y,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};Br.prototype.getStorageKey=function(y){var I=_r(ct.ACCESS_TOKEN),U=\"\";return I&&I.u?U=Ae(I.u):U=ct.ACCESS_TOKEN||\"\",y?fr+\".\"+y+\":\"+U:fr+\":\"+U},Br.prototype.fetchEventData=function(){var y=Ee(\"localStorage\"),I=this.getStorageKey(),U=this.getStorageKey(\"uuid\");if(y)try{var J=f.localStorage.getItem(I);J&&(this.eventData=JSON.parse(J));var ne=f.localStorage.getItem(U);ne&&(this.anonId=ne)}catch(fe){re(\"Unable to read from LocalStorage\")}},Br.prototype.saveEventData=function(){var y=Ee(\"localStorage\"),I=this.getStorageKey(),U=this.getStorageKey(\"uuid\");if(y)try{f.localStorage.setItem(U,this.anonId),Object.keys(this.eventData).length>=1&&f.localStorage.setItem(I,JSON.stringify(this.eventData))}catch(J){re(\"Unable to write to LocalStorage\")}},Br.prototype.processRequests=function(y){},Br.prototype.postEvent=function(y,I,U,J){var ne=this;if(ct.EVENTS_URL){var fe=Ht(ct.EVENTS_URL);fe.params.push(\"access_token=\"+(J||ct.ACCESS_TOKEN||\"\"));var Fe={event:this.type,created:new Date(y).toISOString(),sdkIdentifier:\"mapbox-gl-js\",sdkVersion:o,skuId:xr,userId:this.anonId},Qe=I?_(Fe,I):Fe,st={url:$t(fe),headers:{\"Content-Type\":\"text/plain\"},body:JSON.stringify([Qe])};this.pendingRequest=Vr(st,function(mt){ne.pendingRequest=null,U(mt),ne.saveEventData(),ne.processRequests(J)})}},Br.prototype.queueRequest=function(y,I){this.queue.push(y),this.processRequests(I)};var Or=function(m){function y(){m.call(this,\"map.load\"),this.success={},this.skuToken=\"\"}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.postMapLoadEvent=function(U,J,ne,fe){this.skuToken=ne,(ct.EVENTS_URL&&fe||ct.ACCESS_TOKEN&&Array.isArray(U)&&U.some(function(Fe){return xt(Fe)||Lt(Fe)}))&&this.queueRequest({id:J,timestamp:Date.now()},fe)},y.prototype.processRequests=function(U){var J=this;if(!(this.pendingRequest||this.queue.length===0)){var ne=this.queue.shift(),fe=ne.id,Fe=ne.timestamp;fe&&this.success[fe]||(this.anonId||this.fetchEventData(),F(this.anonId)||(this.anonId=P()),this.postEvent(Fe,{skuToken:this.skuToken},function(Qe){Qe||fe&&(J.success[fe]=!0)},U))}},y}(Br),Nr=function(m){function y(I){m.call(this,\"appUserTurnstile\"),this._customAccessToken=I}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.postTurnstileEvent=function(U,J){ct.EVENTS_URL&&ct.ACCESS_TOKEN&&Array.isArray(U)&&U.some(function(ne){return xt(ne)||Lt(ne)})&&this.queueRequest(Date.now(),J)},y.prototype.processRequests=function(U){var J=this;if(!(this.pendingRequest||this.queue.length===0)){(!this.anonId||!this.eventData.lastSuccess||!this.eventData.tokenU)&&this.fetchEventData();var ne=_r(ct.ACCESS_TOKEN),fe=ne?ne.u:ct.ACCESS_TOKEN,Fe=fe!==this.eventData.tokenU;F(this.anonId)||(this.anonId=P(),Fe=!0);var Qe=this.queue.shift();if(this.eventData.lastSuccess){var st=new Date(this.eventData.lastSuccess),mt=new Date(Qe),Xt=(Qe-this.eventData.lastSuccess)/(24*60*60*1e3);Fe=Fe||Xt>=1||Xt<-1||st.getDate()!==mt.getDate()}else Fe=!0;if(!Fe)return this.processRequests();this.postEvent(Qe,{\"enabled.telemetry\":!1},function(ur){ur||(J.eventData.lastSuccess=Qe,J.eventData.tokenU=fe)},U)}},y}(Br),ut=new Nr,Ne=ut.postTurnstileEvent.bind(ut),Ye=new Or,Ve=Ye.postMapLoadEvent.bind(Ye),Xe=\"mapbox-tiles\",ht=500,Le=50,xe=1e3*60*7,Se;function lt(){f.caches&&!Se&&(Se=f.caches.open(Xe))}var Gt;function Vt(m,y){if(Gt===void 0)try{new Response(new ReadableStream),Gt=!0}catch(I){Gt=!1}Gt?y(m.body):m.blob().then(y)}function ar(m,y,I){if(lt(),!!Se){var U={status:y.status,statusText:y.statusText,headers:new f.Headers};y.headers.forEach(function(fe,Fe){return U.headers.set(Fe,fe)});var J=ge(y.headers.get(\"Cache-Control\")||\"\");if(!J[\"no-store\"]){J[\"max-age\"]&&U.headers.set(\"Expires\",new Date(I+J[\"max-age\"]*1e3).toUTCString());var ne=new Date(U.headers.get(\"Expires\")).getTime()-I;ne<xe||Vt(y,function(fe){var Fe=new f.Response(fe,U);lt(),Se&&Se.then(function(Qe){return Qe.put(Qr(m.url),Fe)}).catch(function(Qe){return re(Qe.message)})})}}}function Qr(m){var y=m.indexOf(\"?\");return y<0?m:m.slice(0,y)}function ai(m,y){if(lt(),!Se)return y(null);var I=Qr(m.url);Se.then(function(U){U.match(I).then(function(J){var ne=jr(J);U.delete(I),ne&&U.put(I,J.clone()),y(null,J,ne)}).catch(y)}).catch(y)}function jr(m){if(!m)return!1;var y=new Date(m.headers.get(\"Expires\")||0),I=ge(m.headers.get(\"Cache-Control\")||\"\");return y>Date.now()&&!I[\"no-cache\"]}var ri=1/0;function bi(m){ri++,ri>Le&&(m.getActor().send(\"enforceCacheSizeLimit\",ht),ri=0)}function nn(m){lt(),Se&&Se.then(function(y){y.keys().then(function(I){for(var U=0;U<I.length-m;U++)y.delete(I[U])})})}function Wi(m){var y=f.caches.delete(Xe);m&&y.catch(m).then(function(){return m()})}function Ni(m,y){ht=m,Le=y}var _n;function $i(){return _n==null&&(_n=f.OffscreenCanvas&&new f.OffscreenCanvas(1,1).getContext(\"2d\")&&typeof f.createImageBitmap==\"function\"),_n}var zn={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};typeof Object.freeze==\"function\"&&Object.freeze(zn);var Wn=function(m){function y(I,U,J){U===401&&Lt(J)&&(I+=\": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\"),m.call(this,I),this.status=U,this.url=J,this.name=this.constructor.name,this.message=I}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.toString=function(){return this.name+\": \"+this.message+\" (\"+this.status+\"): \"+this.url},y}(Error),It=ke()?function(){return self.worker&&self.worker.referrer}:function(){return(f.location.protocol===\"blob:\"?f.parent:f).location.href},ft=function(m){return/^file:/.test(m)||/^file:/.test(It())&&!/^\\w+:/.test(m)};function jt(m,y){var I=new f.AbortController,U=new f.Request(m.url,{method:m.method||\"GET\",body:m.body,credentials:m.credentials,headers:m.headers,referrer:It(),signal:I.signal}),J=!1,ne=!1,fe=St(U.url);m.type===\"json\"&&U.headers.set(\"Accept\",\"application/json\");var Fe=function(st,mt,Xt){if(!ne){if(st&&st.message!==\"SecurityError\"&&re(st),mt&&Xt)return Qe(mt);var ur=Date.now();f.fetch(U).then(function(nr){if(nr.ok){var Lr=fe?nr.clone():null;return Qe(nr,Lr,ur)}else return y(new Wn(nr.statusText,nr.status,m.url))}).catch(function(nr){nr.code!==20&&y(new Error(nr.message))})}},Qe=function(st,mt,Xt){(m.type===\"arrayBuffer\"?st.arrayBuffer():m.type===\"json\"?st.json():st.text()).then(function(ur){ne||(mt&&Xt&&ar(U,mt,Xt),J=!0,y(null,ur,st.headers.get(\"Cache-Control\"),st.headers.get(\"Expires\")))}).catch(function(ur){ne||y(new Error(ur.message))})};return fe?ai(U,Fe):Fe(null,null),{cancel:function(){ne=!0,J||I.abort()}}}function Zt(m,y){var I=new f.XMLHttpRequest;I.open(m.method||\"GET\",m.url,!0),m.type===\"arrayBuffer\"&&(I.responseType=\"arraybuffer\");for(var U in m.headers)I.setRequestHeader(U,m.headers[U]);return m.type===\"json\"&&(I.responseType=\"text\",I.setRequestHeader(\"Accept\",\"application/json\")),I.withCredentials=m.credentials===\"include\",I.onerror=function(){y(new Error(I.statusText))},I.onload=function(){if((I.status>=200&&I.status<300||I.status===0)&&I.response!==null){var J=I.response;if(m.type===\"json\")try{J=JSON.parse(I.response)}catch(ne){return y(ne)}y(null,J,I.getResponseHeader(\"Cache-Control\"),I.getResponseHeader(\"Expires\"))}else y(new Wn(I.statusText,I.status,m.url))},I.send(m.body),{cancel:function(){return I.abort()}}}var yr=function(m,y){if(!ft(m.url)){if(f.fetch&&f.Request&&f.AbortController&&f.Request.prototype.hasOwnProperty(\"signal\"))return jt(m,y);if(ke()&&self.worker&&self.worker.actor){var I=!0;return self.worker.actor.send(\"getResource\",m,y,void 0,I)}}return Zt(m,y)},Fr=function(m,y){return yr(_(m,{type:\"json\"}),y)},Zr=function(m,y){return yr(_(m,{type:\"arrayBuffer\"}),y)},Vr=function(m,y){return yr(_(m,{method:\"POST\"}),y)};function gi(m){var y=f.document.createElement(\"a\");return y.href=m,y.protocol===f.document.location.protocol&&y.host===f.document.location.host}var Si=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";function Mi(m,y,I,U){var J=new f.Image,ne=f.URL;J.onload=function(){y(null,J),ne.revokeObjectURL(J.src),J.onload=null,f.requestAnimationFrame(function(){J.src=Si})},J.onerror=function(){return y(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))};var fe=new f.Blob([new Uint8Array(m)],{type:\"image/png\"});J.cacheControl=I,J.expires=U,J.src=m.byteLength?ne.createObjectURL(fe):Si}function Pi(m,y){var I=new f.Blob([new Uint8Array(m)],{type:\"image/png\"});f.createImageBitmap(I).then(function(U){y(null,U)}).catch(function(U){y(new Error(\"Could not load image because of \"+U.message+\". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))})}var Gi,Ki,ka=function(){Gi=[],Ki=0};ka();var jn=function(m,y){if(qt.supported&&(m.headers||(m.headers={}),m.headers.accept=\"image/webp,*/*\"),Ki>=ct.MAX_PARALLEL_IMAGE_REQUESTS){var I={requestParameters:m,callback:y,cancelled:!1,cancel:function(){this.cancelled=!0}};return Gi.push(I),I}Ki++;var U=!1,J=function(){if(!U)for(U=!0,Ki--;Gi.length&&Ki<ct.MAX_PARALLEL_IMAGE_REQUESTS;){var fe=Gi.shift(),Fe=fe.requestParameters,Qe=fe.callback,st=fe.cancelled;st||(fe.cancel=jn(Fe,Qe).cancel)}},ne=Zr(m,function(fe,Fe,Qe,st){J(),fe?y(fe):Fe&&($i()?Pi(Fe,y):Mi(Fe,y,Qe,st))});return{cancel:function(){ne.cancel(),J()}}},la=function(m,y){var I=f.document.createElement(\"video\");I.muted=!0,I.onloadstart=function(){y(null,I)};for(var U=0;U<m.length;U++){var J=f.document.createElement(\"source\");gi(m[U])||(I.crossOrigin=\"Anonymous\"),J.src=m[U],I.appendChild(J)}return{cancel:function(){}}};function Fa(m,y,I){var U=I[m]&&I[m].indexOf(y)!==-1;U||(I[m]=I[m]||[],I[m].push(y))}function Ra(m,y,I){if(I&&I[m]){var U=I[m].indexOf(y);U!==-1&&I[m].splice(U,1)}}var jo=function(y,I){I===void 0&&(I={}),_(this,I),this.type=y},oa=function(m){function y(I,U){U===void 0&&(U={}),m.call(this,\"error\",_({error:I},U))}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(jo),Sn=function(){};Sn.prototype.on=function(y,I){return this._listeners=this._listeners||{},Fa(y,I,this._listeners),this},Sn.prototype.off=function(y,I){return Ra(y,I,this._listeners),Ra(y,I,this._oneTimeListeners),this},Sn.prototype.once=function(y,I){return this._oneTimeListeners=this._oneTimeListeners||{},Fa(y,I,this._oneTimeListeners),this},Sn.prototype.fire=function(y,I){typeof y==\"string\"&&(y=new jo(y,I||{}));var U=y.type;if(this.listens(U)){y.target=this;for(var J=this._listeners&&this._listeners[U]?this._listeners[U].slice():[],ne=0,fe=J;ne<fe.length;ne+=1){var Fe=fe[ne];Fe.call(this,y)}for(var Qe=this._oneTimeListeners&&this._oneTimeListeners[U]?this._oneTimeListeners[U].slice():[],st=0,mt=Qe;st<mt.length;st+=1){var Xt=mt[st];Ra(U,Xt,this._oneTimeListeners),Xt.call(this,y)}var ur=this._eventedParent;ur&&(_(y,typeof this._eventedParentData==\"function\"?this._eventedParentData():this._eventedParentData),ur.fire(y))}else y instanceof oa&&console.error(y.error);return this},Sn.prototype.listens=function(y){return this._listeners&&this._listeners[y]&&this._listeners[y].length>0||this._oneTimeListeners&&this._oneTimeListeners[y]&&this._oneTimeListeners[y].length>0||this._eventedParent&&this._eventedParent.listens(y)},Sn.prototype.setEventedParent=function(y,I){return this._eventedParent=y,this._eventedParentData=I,this};var Ha=8,oo={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\"}},xn={\"*\":{type:\"source\"}},_t=[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],br={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:\"*\"}},Hr={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:\"*\"}},ti={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:\"*\"}},zi={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\"}},Yi={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\"}}},an={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\"}}},hi={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\"}},Ji=[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],ua={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},Fn={\"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\"}},Sa={\"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\"}},go={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},Oo={\"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\"}},ho={\"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\"}},Mo={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},xo={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},zs={type:\"array\",value:\"*\"},ks={type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{},within:{}}},Zs={type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},Xs={type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},wl={type:\"array\",value:\"*\",minimum:1},os={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}},cl=[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],Cs={\"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\"}},ml={\"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\"}},Ys={\"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\"}},Hs={\"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\"}},Eo={\"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\"}},fs={\"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\"}},Ql={\"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\"}},Hu={\"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\"}},fc={duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},ms={\"*\":{type:\"string\"}},on={$version:Ha,$root:oo,sources:xn,source:_t,source_vector:br,source_raster:Hr,source_raster_dem:ti,source_geojson:zi,source_video:Yi,source_image:an,layer:hi,layout:Ji,layout_background:ua,layout_fill:Fn,layout_circle:Sa,layout_heatmap:go,\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:Oo,layout_symbol:ho,layout_raster:Mo,layout_hillshade:xo,filter:zs,filter_operator:ks,geometry_type:Zs,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:Xs,expression:wl,light:os,paint:cl,paint_fill:Cs,\"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:ml,paint_circle:Ys,paint_heatmap:Hs,paint_symbol:Eo,paint_raster:fs,paint_hillshade:Ql,paint_background:Hu,transition:fc,\"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:ms},fa=function(y,I,U,J){this.message=(y?y+\": \":\"\")+U,J&&(this.identifier=J),I!=null&&I.__line__&&(this.line=I.__line__)};function Qu(m){var y=m.key,I=m.value;return I?[new fa(y,I,\"constants have been deprecated as of v8\")]:[]}function Rl(m){for(var y=[],I=arguments.length-1;I-- >0;)y[I]=arguments[I+1];for(var U=0,J=y;U<J.length;U+=1){var ne=J[U];for(var fe in ne)m[fe]=ne[fe]}return m}function vo(m){return m instanceof Number||m instanceof String||m instanceof Boolean?m.valueOf():m}function Zl(m){if(Array.isArray(m))return m.map(Zl);if(m instanceof Object&&!(m instanceof Number||m instanceof String||m instanceof Boolean)){var y={};for(var I in m)y[I]=Zl(m[I]);return y}return vo(m)}var Ks=function(m){function y(I,U){m.call(this,U),this.message=U,this.key=I}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(Error),Xl=function(y,I){I===void 0&&(I=[]),this.parent=y,this.bindings={};for(var U=0,J=I;U<J.length;U+=1){var ne=J[U],fe=ne[0],Fe=ne[1];this.bindings[fe]=Fe}};Xl.prototype.concat=function(y){return new Xl(this,y)},Xl.prototype.get=function(y){if(this.bindings[y])return this.bindings[y];if(this.parent)return this.parent.get(y);throw new Error(y+\" not found in scope.\")},Xl.prototype.has=function(y){return this.bindings[y]?!0:this.parent?this.parent.has(y):!1};var Ec={kind:\"null\"},Zn={kind:\"number\"},ko={kind:\"string\"},Co={kind:\"boolean\"},Tl={kind:\"color\"},uf={kind:\"object\"},So={kind:\"value\"},cf={kind:\"error\"},rh={kind:\"collator\"},Al={kind:\"formatted\"},Hc={kind:\"resolvedImage\"};function eu(m,y){return{kind:\"array\",itemType:m,N:y}}function Ls(m){if(m.kind===\"array\"){var y=Ls(m.itemType);return typeof m.N==\"number\"?\"array<\"+y+\", \"+m.N+\">\":m.itemType.kind===\"value\"?\"array\":\"array<\"+y+\">\"}else return m.kind}var mu=[Ec,Zn,ko,Co,Tl,Al,uf,eu(So),Hc];function kc(m,y){if(y.kind===\"error\")return null;if(m.kind===\"array\"){if(y.kind===\"array\"&&(y.N===0&&y.itemType.kind===\"value\"||!kc(m.itemType,y.itemType))&&(typeof m.N!=\"number\"||m.N===y.N))return null}else{if(m.kind===y.kind)return null;if(m.kind===\"value\")for(var I=0,U=mu;I<U.length;I+=1){var J=U[I];if(!kc(J,y))return null}}return\"Expected \"+Ls(m)+\" but found \"+Ls(y)+\" instead.\"}function Of(m,y){return y.some(function(I){return I.kind===m.kind})}function Gc(m,y){return y.some(function(I){return I===\"null\"?m===null:I===\"array\"?Array.isArray(m):I===\"object\"?m&&!Array.isArray(m)&&typeof m==\"object\":I===typeof m})}var vd=a(function(m,y){var I={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function U(st){return st=Math.round(st),st<0?0:st>255?255:st}function J(st){return st<0?0:st>1?1:st}function ne(st){return st[st.length-1]===\"%\"?U(parseFloat(st)/100*255):U(parseInt(st))}function fe(st){return st[st.length-1]===\"%\"?J(parseFloat(st)/100):J(parseFloat(st))}function Fe(st,mt,Xt){return Xt<0?Xt+=1:Xt>1&&(Xt-=1),Xt*6<1?st+(mt-st)*Xt*6:Xt*2<1?mt:Xt*3<2?st+(mt-st)*(2/3-Xt)*6:st}function Qe(st){var mt=st.replace(/ /g,\"\").toLowerCase();if(mt in I)return I[mt].slice();if(mt[0]===\"#\"){if(mt.length===4){var Xt=parseInt(mt.substr(1),16);return Xt>=0&&Xt<=4095?[(Xt&3840)>>4|(Xt&3840)>>8,Xt&240|(Xt&240)>>4,Xt&15|(Xt&15)<<4,1]:null}else if(mt.length===7){var Xt=parseInt(mt.substr(1),16);return Xt>=0&&Xt<=16777215?[(Xt&16711680)>>16,(Xt&65280)>>8,Xt&255,1]:null}return null}var ur=mt.indexOf(\"(\"),nr=mt.indexOf(\")\");if(ur!==-1&&nr+1===mt.length){var Lr=mt.substr(0,ur),Yr=mt.substr(ur+1,nr-(ur+1)).split(\",\"),_i=1;switch(Lr){case\"rgba\":if(Yr.length!==4)return null;_i=fe(Yr.pop());case\"rgb\":return Yr.length!==3?null:[ne(Yr[0]),ne(Yr[1]),ne(Yr[2]),_i];case\"hsla\":if(Yr.length!==4)return null;_i=fe(Yr.pop());case\"hsl\":if(Yr.length!==3)return null;var si=(parseFloat(Yr[0])%360+360)%360/360,Hi=fe(Yr[1]),Ei=fe(Yr[2]),Vi=Ei<=.5?Ei*(Hi+1):Ei+Hi-Ei*Hi,en=Ei*2-Vi;return[U(Fe(en,Vi,si+1/3)*255),U(Fe(en,Vi,si)*255),U(Fe(en,Vi,si-1/3)*255),_i];default:return null}}return null}try{y.parseCSSColor=Qe}catch(st){}}),Bf=vd.parseCSSColor,ss=function(y,I,U,J){J===void 0&&(J=1),this.r=y,this.g=I,this.b=U,this.a=J};ss.parse=function(y){if(y){if(y instanceof ss)return y;if(typeof y==\"string\"){var I=Bf(y);if(I)return new ss(I[0]/255*I[3],I[1]/255*I[3],I[2]/255*I[3],I[3])}}},ss.prototype.toString=function(){var y=this.toArray(),I=y[0],U=y[1],J=y[2],ne=y[3];return\"rgba(\"+Math.round(I)+\",\"+Math.round(U)+\",\"+Math.round(J)+\",\"+ne+\")\"},ss.prototype.toArray=function(){var y=this,I=y.r,U=y.g,J=y.b,ne=y.a;return ne===0?[0,0,0,0]:[I*255/ne,U*255/ne,J*255/ne,ne]},ss.black=new ss(0,0,0,1),ss.white=new ss(1,1,1,1),ss.transparent=new ss(0,0,0,0),ss.red=new ss(1,0,0,1);var ff=function(y,I,U){y?this.sensitivity=I?\"variant\":\"case\":this.sensitivity=I?\"accent\":\"base\",this.locale=U,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})};ff.prototype.compare=function(y,I){return this.collator.compare(y,I)},ff.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var ih=function(y,I,U,J,ne){this.text=y,this.image=I,this.scale=U,this.fontStack=J,this.textColor=ne},Vl=function(y){this.sections=y};Vl.fromString=function(y){return new Vl([new ih(y,null,null,null,null)])},Vl.prototype.isEmpty=function(){return this.sections.length===0?!0:!this.sections.some(function(y){return y.text.length!==0||y.image&&y.image.name.length!==0})},Vl.factory=function(y){return y instanceof Vl?y:Vl.fromString(y)},Vl.prototype.toString=function(){return this.sections.length===0?\"\":this.sections.map(function(y){return y.text}).join(\"\")},Vl.prototype.serialize=function(){for(var y=[\"format\"],I=0,U=this.sections;I<U.length;I+=1){var J=U[I];if(J.image){y.push([\"image\",J.image.name]);continue}y.push(J.text);var ne={};J.fontStack&&(ne[\"text-font\"]=[\"literal\",J.fontStack.split(\",\")]),J.scale&&(ne[\"font-scale\"]=J.scale),J.textColor&&(ne[\"text-color\"]=[\"rgba\"].concat(J.textColor.toArray())),y.push(ne)}return y};var Js=function(y){this.name=y.name,this.available=y.available};Js.prototype.toString=function(){return this.name},Js.fromString=function(y){return y?new Js({name:y,available:!1}):null},Js.prototype.serialize=function(){return[\"image\",this.name]};function hc(m,y,I,U){if(!(typeof m==\"number\"&&m>=0&&m<=255&&typeof y==\"number\"&&y>=0&&y<=255&&typeof I==\"number\"&&I>=0&&I<=255)){var J=typeof U==\"number\"?[m,y,I,U]:[m,y,I];return\"Invalid rgba value [\"+J.join(\", \")+\"]: 'r', 'g', and 'b' must be between 0 and 255.\"}return typeof U==\"undefined\"||typeof U==\"number\"&&U>=0&&U<=1?null:\"Invalid rgba value [\"+[m,y,I,U].join(\", \")+\"]: 'a' must be between 0 and 1.\"}function Cc(m){if(m===null)return!0;if(typeof m==\"string\")return!0;if(typeof m==\"boolean\")return!0;if(typeof m==\"number\")return!0;if(m instanceof ss)return!0;if(m instanceof ff)return!0;if(m instanceof Vl)return!0;if(m instanceof Js)return!0;if(Array.isArray(m)){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(!Cc(U))return!1}return!0}else if(typeof m==\"object\"){for(var J in m)if(!Cc(m[J]))return!1;return!0}else return!1}function ws(m){if(m===null)return Ec;if(typeof m==\"string\")return ko;if(typeof m==\"boolean\")return Co;if(typeof m==\"number\")return Zn;if(m instanceof ss)return Tl;if(m instanceof ff)return rh;if(m instanceof Vl)return Al;if(m instanceof Js)return Hc;if(Array.isArray(m)){for(var y=m.length,I,U=0,J=m;U<J.length;U+=1){var ne=J[U],fe=ws(ne);if(!I)I=fe;else{if(I===fe)continue;I=So;break}}return eu(I||So,y)}else return uf}function $s(m){var y=typeof m;return m===null?\"\":y===\"string\"||y===\"number\"||y===\"boolean\"?String(m):m instanceof ss||m instanceof Vl||m instanceof Js?m.toString():JSON.stringify(m)}var hs=function(y,I){this.type=y,this.value=I};hs.parse=function(y,I){if(y.length!==2)return I.error(\"'literal' expression requires exactly one argument, but found \"+(y.length-1)+\" instead.\");if(!Cc(y[1]))return I.error(\"invalid value\");var U=y[1],J=ws(U),ne=I.expectedType;return J.kind===\"array\"&&J.N===0&&ne&&ne.kind===\"array\"&&(typeof ne.N!=\"number\"||ne.N===0)&&(J=ne),new hs(J,U)},hs.prototype.evaluate=function(){return this.value},hs.prototype.eachChild=function(){},hs.prototype.outputDefined=function(){return!0},hs.prototype.serialize=function(){return this.type.kind===\"array\"||this.type.kind===\"object\"?[\"literal\",this.value]:this.value instanceof ss?[\"rgba\"].concat(this.value.toArray()):this.value instanceof Vl?this.value.serialize():this.value};var Ms=function(y){this.name=\"ExpressionEvaluationError\",this.message=y};Ms.prototype.toJSON=function(){return this.message};var dc={string:ko,number:Zn,boolean:Co,object:uf},Sl=function(y,I){this.type=y,this.args=I};Sl.parse=function(y,I){if(y.length<2)return I.error(\"Expected at least one argument.\");var U=1,J,ne=y[0];if(ne===\"array\"){var fe;if(y.length>2){var Fe=y[1];if(typeof Fe!=\"string\"||!(Fe in dc)||Fe===\"object\")return I.error('The item type argument of \"array\" must be one of string, number, boolean',1);fe=dc[Fe],U++}else fe=So;var Qe;if(y.length>3){if(y[2]!==null&&(typeof y[2]!=\"number\"||y[2]<0||y[2]!==Math.floor(y[2])))return I.error('The length argument to \"array\" must be a positive integer literal',2);Qe=y[2],U++}J=eu(fe,Qe)}else J=dc[ne];for(var st=[];U<y.length;U++){var mt=I.parse(y[U],U,So);if(!mt)return null;st.push(mt)}return new Sl(J,st)},Sl.prototype.evaluate=function(y){for(var I=0;I<this.args.length;I++){var U=this.args[I].evaluate(y),J=kc(this.type,ws(U));if(J){if(I===this.args.length-1)throw new Ms(\"Expected value to be of type \"+Ls(this.type)+\", but found \"+Ls(ws(U))+\" instead.\")}else return U}return null},Sl.prototype.eachChild=function(y){this.args.forEach(y)},Sl.prototype.outputDefined=function(){return this.args.every(function(y){return y.outputDefined()})},Sl.prototype.serialize=function(){var y=this.type,I=[y.kind];if(y.kind===\"array\"){var U=y.itemType;if(U.kind===\"string\"||U.kind===\"number\"||U.kind===\"boolean\"){I.push(U.kind);var J=y.N;(typeof J==\"number\"||this.args.length>1)&&I.push(J)}}return I.concat(this.args.map(function(ne){return ne.serialize()}))};var ec=function(y){this.type=Al,this.sections=y};ec.parse=function(y,I){if(y.length<2)return I.error(\"Expected at least one argument.\");var U=y[1];if(!Array.isArray(U)&&typeof U==\"object\")return I.error(\"First argument must be an image or text section.\");for(var J=[],ne=!1,fe=1;fe<=y.length-1;++fe){var Fe=y[fe];if(ne&&typeof Fe==\"object\"&&!Array.isArray(Fe)){ne=!1;var Qe=null;if(Fe[\"font-scale\"]&&(Qe=I.parse(Fe[\"font-scale\"],1,Zn),!Qe))return null;var st=null;if(Fe[\"text-font\"]&&(st=I.parse(Fe[\"text-font\"],1,eu(ko)),!st))return null;var mt=null;if(Fe[\"text-color\"]&&(mt=I.parse(Fe[\"text-color\"],1,Tl),!mt))return null;var Xt=J[J.length-1];Xt.scale=Qe,Xt.font=st,Xt.textColor=mt}else{var ur=I.parse(y[fe],1,So);if(!ur)return null;var nr=ur.type.kind;if(nr!==\"string\"&&nr!==\"value\"&&nr!==\"null\"&&nr!==\"resolvedImage\")return I.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");ne=!0,J.push({content:ur,scale:null,font:null,textColor:null})}}return new ec(J)},ec.prototype.evaluate=function(y){var I=function(U){var J=U.content.evaluate(y);return ws(J)===Hc?new ih(\"\",J,null,null,null):new ih($s(J),null,U.scale?U.scale.evaluate(y):null,U.font?U.font.evaluate(y).join(\",\"):null,U.textColor?U.textColor.evaluate(y):null)};return new Vl(this.sections.map(I))},ec.prototype.eachChild=function(y){for(var I=0,U=this.sections;I<U.length;I+=1){var J=U[I];y(J.content),J.scale&&y(J.scale),J.font&&y(J.font),J.textColor&&y(J.textColor)}},ec.prototype.outputDefined=function(){return!1},ec.prototype.serialize=function(){for(var y=[\"format\"],I=0,U=this.sections;I<U.length;I+=1){var J=U[I];y.push(J.content.serialize());var ne={};J.scale&&(ne[\"font-scale\"]=J.scale.serialize()),J.font&&(ne[\"text-font\"]=J.font.serialize()),J.textColor&&(ne[\"text-color\"]=J.textColor.serialize()),y.push(ne)}return y};var Ps=function(y){this.type=Hc,this.input=y};Ps.parse=function(y,I){if(y.length!==2)return I.error(\"Expected two arguments.\");var U=I.parse(y[1],1,ko);return U?new Ps(U):I.error(\"No image name provided.\")},Ps.prototype.evaluate=function(y){var I=this.input.evaluate(y),U=Js.fromString(I);return U&&y.availableImages&&(U.available=y.availableImages.indexOf(I)>-1),U},Ps.prototype.eachChild=function(y){y(this.input)},Ps.prototype.outputDefined=function(){return!1},Ps.prototype.serialize=function(){return[\"image\",this.input.serialize()]};var ov={\"to-boolean\":Co,\"to-color\":Tl,\"to-number\":Zn,\"to-string\":ko},wo=function(y,I){this.type=y,this.args=I};wo.parse=function(y,I){if(y.length<2)return I.error(\"Expected at least one argument.\");var U=y[0];if((U===\"to-boolean\"||U===\"to-string\")&&y.length!==2)return I.error(\"Expected one argument.\");for(var J=ov[U],ne=[],fe=1;fe<y.length;fe++){var Fe=I.parse(y[fe],fe,So);if(!Fe)return null;ne.push(Fe)}return new wo(J,ne)},wo.prototype.evaluate=function(y){if(this.type.kind===\"boolean\")return!!this.args[0].evaluate(y);if(this.type.kind===\"color\"){for(var I,U,J=0,ne=this.args;J<ne.length;J+=1){var fe=ne[J];if(I=fe.evaluate(y),U=null,I instanceof ss)return I;if(typeof I==\"string\"){var Fe=y.parseColor(I);if(Fe)return Fe}else if(Array.isArray(I)&&(I.length<3||I.length>4?U=\"Invalid rbga value \"+JSON.stringify(I)+\": expected an array containing either three or four numeric values.\":U=hc(I[0],I[1],I[2],I[3]),!U))return new ss(I[0]/255,I[1]/255,I[2]/255,I[3])}throw new Ms(U||\"Could not parse color from value '\"+(typeof I==\"string\"?I:String(JSON.stringify(I)))+\"'\")}else if(this.type.kind===\"number\"){for(var Qe=null,st=0,mt=this.args;st<mt.length;st+=1){var Xt=mt[st];if(Qe=Xt.evaluate(y),Qe===null)return 0;var ur=Number(Qe);if(!isNaN(ur))return ur}throw new Ms(\"Could not convert \"+JSON.stringify(Qe)+\" to number.\")}else return this.type.kind===\"formatted\"?Vl.fromString($s(this.args[0].evaluate(y))):this.type.kind===\"resolvedImage\"?Js.fromString($s(this.args[0].evaluate(y))):$s(this.args[0].evaluate(y))},wo.prototype.eachChild=function(y){this.args.forEach(y)},wo.prototype.outputDefined=function(){return this.args.every(function(y){return y.outputDefined()})},wo.prototype.serialize=function(){if(this.type.kind===\"formatted\")return new ec([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if(this.type.kind===\"resolvedImage\")return new Ps(this.args[0]).serialize();var y=[\"to-\"+this.type.kind];return this.eachChild(function(I){y.push(I.serialize())}),y};var Od=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],$o=function(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null};$o.prototype.id=function(){return this.feature&&\"id\"in this.feature?this.feature.id:null},$o.prototype.geometryType=function(){return this.feature?typeof this.feature.type==\"number\"?Od[this.feature.type]:this.feature.type:null},$o.prototype.geometry=function(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null},$o.prototype.canonicalID=function(){return this.canonical},$o.prototype.properties=function(){return this.feature&&this.feature.properties||{}},$o.prototype.parseColor=function(y){var I=this._parseColorCache[y];return I||(I=this._parseColorCache[y]=ss.parse(y)),I};var Ja=function(y,I,U,J){this.name=y,this.type=I,this._evaluate=U,this.args=J};Ja.prototype.evaluate=function(y){return this._evaluate(y,this.args)},Ja.prototype.eachChild=function(y){this.args.forEach(y)},Ja.prototype.outputDefined=function(){return!1},Ja.prototype.serialize=function(){return[this.name].concat(this.args.map(function(y){return y.serialize()}))},Ja.parse=function(y,I){var U,J=y[0],ne=Ja.definitions[J];if(!ne)return I.error('Unknown expression \"'+J+'\". If you wanted a literal array, use [\"literal\", [...]].',0);for(var fe=Array.isArray(ne)?ne[0]:ne.type,Fe=Array.isArray(ne)?[[ne[1],ne[2]]]:ne.overloads,Qe=Fe.filter(function(Na){var ja=Na[0];return!Array.isArray(ja)||ja.length===y.length-1}),st=null,mt=0,Xt=Qe;mt<Xt.length;mt+=1){var ur=Xt[mt],nr=ur[0],Lr=ur[1];st=new fl(I.registry,I.path,null,I.scope);for(var Yr=[],_i=!1,si=1;si<y.length;si++){var Hi=y[si],Ei=Array.isArray(nr)?nr[si-1]:nr.type,Vi=st.parse(Hi,1+Yr.length,Ei);if(!Vi){_i=!0;break}Yr.push(Vi)}if(!_i){if(Array.isArray(nr)&&nr.length!==Yr.length){st.error(\"Expected \"+nr.length+\" arguments, but found \"+Yr.length+\" instead.\");continue}for(var en=0;en<Yr.length;en++){var An=Array.isArray(nr)?nr[en]:nr.type,ra=Yr[en];st.concat(en+1).checkSubtype(An,ra.type)}if(st.errors.length===0)return new Ja(J,fe,Lr,Yr)}}if(Qe.length===1)(U=I.errors).push.apply(U,st.errors);else{for(var $n=Qe.length?Qe:Fe,Ba=$n.map(function(Na){var ja=Na[0];return Ef(ja)}).join(\" | \"),_a=[],Pa=1;Pa<y.length;Pa++){var qo=I.parse(y[Pa],1+_a.length);if(!qo)return null;_a.push(Ls(qo.type))}I.error(\"Expected arguments of type \"+Ba+\", but found (\"+_a.join(\", \")+\") instead.\")}return null},Ja.register=function(y,I){Ja.definitions=I;for(var U in I)y[U]=Ja};function Ef(m){return Array.isArray(m)?\"(\"+m.map(Ls).join(\", \")+\")\":\"(\"+Ls(m.type)+\"...)\"}var tc=function(y,I,U){this.type=rh,this.locale=U,this.caseSensitive=y,this.diacriticSensitive=I};tc.parse=function(y,I){if(y.length!==2)return I.error(\"Expected one argument.\");var U=y[1];if(typeof U!=\"object\"||Array.isArray(U))return I.error(\"Collator options argument must be an object.\");var J=I.parse(U[\"case-sensitive\"]===void 0?!1:U[\"case-sensitive\"],1,Co);if(!J)return null;var ne=I.parse(U[\"diacritic-sensitive\"]===void 0?!1:U[\"diacritic-sensitive\"],1,Co);if(!ne)return null;var fe=null;return U.locale&&(fe=I.parse(U.locale,1,ko),!fe)?null:new tc(J,ne,fe)},tc.prototype.evaluate=function(y){return new ff(this.caseSensitive.evaluate(y),this.diacriticSensitive.evaluate(y),this.locale?this.locale.evaluate(y):null)},tc.prototype.eachChild=function(y){y(this.caseSensitive),y(this.diacriticSensitive),this.locale&&y(this.locale)},tc.prototype.outputDefined=function(){return!1},tc.prototype.serialize=function(){var y={};return y[\"case-sensitive\"]=this.caseSensitive.serialize(),y[\"diacritic-sensitive\"]=this.diacriticSensitive.serialize(),this.locale&&(y.locale=this.locale.serialize()),[\"collator\",y]};var uu=8192;function Mh(m,y){m[0]=Math.min(m[0],y[0]),m[1]=Math.min(m[1],y[1]),m[2]=Math.max(m[2],y[0]),m[3]=Math.max(m[3],y[1])}function jc(m){return(180+m)/360}function kf(m){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+m*Math.PI/360)))/360}function Ml(m,y){return!(m[0]<=y[0]||m[2]>=y[2]||m[1]<=y[1]||m[3]>=y[3])}function Yh(m,y){var I=jc(m[0]),U=kf(m[1]),J=Math.pow(2,y.z);return[Math.round(I*J*uu),Math.round(U*J*uu)]}function Eh(m,y,I){var U=m[0]-y[0],J=m[1]-y[1],ne=m[0]-I[0],fe=m[1]-I[1];return U*fe-ne*J===0&&U*ne<=0&&J*fe<=0}function nh(m,y,I){return y[1]>m[1]!=I[1]>m[1]&&m[0]<(I[0]-y[0])*(m[1]-y[1])/(I[1]-y[1])+y[0]}function hf(m,y){for(var I=!1,U=0,J=y.length;U<J;U++)for(var ne=y[U],fe=0,Fe=ne.length;fe<Fe-1;fe++){if(Eh(m,ne[fe],ne[fe+1]))return!1;nh(m,ne[fe],ne[fe+1])&&(I=!I)}return I}function kh(m,y){for(var I=0;I<y.length;I++)if(hf(m,y[I]))return!0;return!1}function Kh(m,y){return m[0]*y[1]-m[1]*y[0]}function rc(m,y,I,U){var J=m[0]-I[0],ne=m[1]-I[1],fe=y[0]-I[0],Fe=y[1]-I[1],Qe=U[0]-I[0],st=U[1]-I[1],mt=J*st-Qe*ne,Xt=fe*st-Qe*Fe;return mt>0&&Xt<0||mt<0&&Xt>0}function ah(m,y,I,U){var J=[y[0]-m[0],y[1]-m[1]],ne=[U[0]-I[0],U[1]-I[1]];return Kh(ne,J)===0?!1:!!(rc(m,y,I,U)&&rc(I,U,m,y))}function Wc(m,y,I){for(var U=0,J=I;U<J.length;U+=1)for(var ne=J[U],fe=0;fe<ne.length-1;++fe)if(ah(m,y,ne[fe],ne[fe+1]))return!0;return!1}function df(m,y){for(var I=0;I<m.length;++I)if(!hf(m[I],y))return!1;for(var U=0;U<m.length-1;++U)if(Wc(m[U],m[U+1],y))return!1;return!0}function Cu(m,y){for(var I=0;I<y.length;I++)if(df(m,y[I]))return!0;return!1}function Nf(m,y,I){for(var U=[],J=0;J<m.length;J++){for(var ne=[],fe=0;fe<m[J].length;fe++){var Fe=Yh(m[J][fe],I);Mh(y,Fe),ne.push(Fe)}U.push(ne)}return U}function Zc(m,y,I){for(var U=[],J=0;J<m.length;J++){var ne=Nf(m[J],y,I);U.push(ne)}return U}function ds(m,y,I,U){if(m[0]<I[0]||m[0]>I[2]){var J=U*.5,ne=m[0]-I[0]>J?-U:I[0]-m[0]>J?U:0;ne===0&&(ne=m[0]-I[2]>J?-U:I[2]-m[0]>J?U:0),m[0]+=ne}Mh(y,m)}function Ch(m){m[0]=m[1]=1/0,m[2]=m[3]=-1/0}function Bd(m,y,I,U){for(var J=Math.pow(2,U.z)*uu,ne=[U.x*uu,U.y*uu],fe=[],Fe=0,Qe=m;Fe<Qe.length;Fe+=1)for(var st=Qe[Fe],mt=0,Xt=st;mt<Xt.length;mt+=1){var ur=Xt[mt],nr=[ur.x+ne[0],ur.y+ne[1]];ds(nr,y,I,J),fe.push(nr)}return fe}function Jh(m,y,I,U){for(var J=Math.pow(2,U.z)*uu,ne=[U.x*uu,U.y*uu],fe=[],Fe=0,Qe=m;Fe<Qe.length;Fe+=1){for(var st=Qe[Fe],mt=[],Xt=0,ur=st;Xt<ur.length;Xt+=1){var nr=ur[Xt],Lr=[nr.x+ne[0],nr.y+ne[1]];Mh(y,Lr),mt.push(Lr)}fe.push(mt)}if(y[2]-y[0]<=J/2){Ch(y);for(var Yr=0,_i=fe;Yr<_i.length;Yr+=1)for(var si=_i[Yr],Hi=0,Ei=si;Hi<Ei.length;Hi+=1){var Vi=Ei[Hi];ds(Vi,y,I,J)}}return fe}function Cf(m,y){var I=[1/0,1/0,-1/0,-1/0],U=[1/0,1/0,-1/0,-1/0],J=m.canonicalID();if(y.type===\"Polygon\"){var ne=Nf(y.coordinates,U,J),fe=Bd(m.geometry(),I,U,J);if(!Ml(I,U))return!1;for(var Fe=0,Qe=fe;Fe<Qe.length;Fe+=1){var st=Qe[Fe];if(!hf(st,ne))return!1}}if(y.type===\"MultiPolygon\"){var mt=Zc(y.coordinates,U,J),Xt=Bd(m.geometry(),I,U,J);if(!Ml(I,U))return!1;for(var ur=0,nr=Xt;ur<nr.length;ur+=1){var Lr=nr[ur];if(!kh(Lr,mt))return!1}}return!0}function pd(m,y){var I=[1/0,1/0,-1/0,-1/0],U=[1/0,1/0,-1/0,-1/0],J=m.canonicalID();if(y.type===\"Polygon\"){var ne=Nf(y.coordinates,U,J),fe=Jh(m.geometry(),I,U,J);if(!Ml(I,U))return!1;for(var Fe=0,Qe=fe;Fe<Qe.length;Fe+=1){var st=Qe[Fe];if(!df(st,ne))return!1}}if(y.type===\"MultiPolygon\"){var mt=Zc(y.coordinates,U,J),Xt=Jh(m.geometry(),I,U,J);if(!Ml(I,U))return!1;for(var ur=0,nr=Xt;ur<nr.length;ur+=1){var Lr=nr[ur];if(!Cu(Lr,mt))return!1}}return!0}var Lu=function(y,I){this.type=Co,this.geojson=y,this.geometries=I};Lu.parse=function(y,I){if(y.length!==2)return I.error(\"'within' expression requires exactly one argument, but found \"+(y.length-1)+\" instead.\");if(Cc(y[1])){var U=y[1];if(U.type===\"FeatureCollection\")for(var J=0;J<U.features.length;++J){var ne=U.features[J].geometry.type;if(ne===\"Polygon\"||ne===\"MultiPolygon\")return new Lu(U,U.features[J].geometry)}else if(U.type===\"Feature\"){var fe=U.geometry.type;if(fe===\"Polygon\"||fe===\"MultiPolygon\")return new Lu(U,U.geometry)}else if(U.type===\"Polygon\"||U.type===\"MultiPolygon\")return new Lu(U,U)}return I.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")},Lu.prototype.evaluate=function(y){if(y.geometry()!=null&&y.canonicalID()!=null){if(y.geometryType()===\"Point\")return Cf(y,this.geometries);if(y.geometryType()===\"LineString\")return pd(y,this.geometries)}return!1},Lu.prototype.eachChild=function(){},Lu.prototype.outputDefined=function(){return!0},Lu.prototype.serialize=function(){return[\"within\",this.geojson]};function $h(m){if(m instanceof Ja){if(m.name===\"get\"&&m.args.length===1)return!1;if(m.name===\"feature-state\")return!1;if(m.name===\"has\"&&m.args.length===1)return!1;if(m.name===\"properties\"||m.name===\"geometry-type\"||m.name===\"id\")return!1;if(/^filter-/.test(m.name))return!1}if(m instanceof Lu)return!1;var y=!0;return m.eachChild(function(I){y&&!$h(I)&&(y=!1)}),y}function tu(m){if(m instanceof Ja&&m.name===\"feature-state\")return!1;var y=!0;return m.eachChild(function(I){y&&!tu(I)&&(y=!1)}),y}function Pu(m,y){if(m instanceof Ja&&y.indexOf(m.name)>=0)return!1;var I=!0;return m.eachChild(function(U){I&&!Pu(U,y)&&(I=!1)}),I}var Lc=function(y,I){this.type=I.type,this.name=y,this.boundExpression=I};Lc.parse=function(y,I){if(y.length!==2||typeof y[1]!=\"string\")return I.error(\"'var' expression requires exactly one string literal argument.\");var U=y[1];return I.scope.has(U)?new Lc(U,I.scope.get(U)):I.error('Unknown variable \"'+U+'\". Make sure \"'+U+'\" has been bound in an enclosing \"let\" expression before using it.',1)},Lc.prototype.evaluate=function(y){return this.boundExpression.evaluate(y)},Lc.prototype.eachChild=function(){},Lc.prototype.outputDefined=function(){return!1},Lc.prototype.serialize=function(){return[\"var\",this.name]};var fl=function(y,I,U,J,ne){I===void 0&&(I=[]),J===void 0&&(J=new Xl),ne===void 0&&(ne=[]),this.registry=y,this.path=I,this.key=I.map(function(fe){return\"[\"+fe+\"]\"}).join(\"\"),this.scope=J,this.errors=ne,this.expectedType=U};fl.prototype.parse=function(y,I,U,J,ne){return ne===void 0&&(ne={}),I?this.concat(I,U,J)._parse(y,ne):this._parse(y,ne)},fl.prototype._parse=function(y,I){(y===null||typeof y==\"string\"||typeof y==\"boolean\"||typeof y==\"number\")&&(y=[\"literal\",y]);function U(mt,Xt,ur){return ur===\"assert\"?new Sl(Xt,[mt]):ur===\"coerce\"?new wo(Xt,[mt]):mt}if(Array.isArray(y)){if(y.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');var J=y[0];if(typeof J!=\"string\")return this.error(\"Expression name must be a string, but found \"+typeof J+' instead. If you wanted a literal array, use [\"literal\", [...]].',0),null;var ne=this.registry[J];if(ne){var fe=ne.parse(y,this);if(!fe)return null;if(this.expectedType){var Fe=this.expectedType,Qe=fe.type;if((Fe.kind===\"string\"||Fe.kind===\"number\"||Fe.kind===\"boolean\"||Fe.kind===\"object\"||Fe.kind===\"array\")&&Qe.kind===\"value\")fe=U(fe,Fe,I.typeAnnotation||\"assert\");else if((Fe.kind===\"color\"||Fe.kind===\"formatted\"||Fe.kind===\"resolvedImage\")&&(Qe.kind===\"value\"||Qe.kind===\"string\"))fe=U(fe,Fe,I.typeAnnotation||\"coerce\");else if(this.checkSubtype(Fe,Qe))return null}if(!(fe instanceof hs)&&fe.type.kind!==\"resolvedImage\"&&Xc(fe)){var st=new $o;try{fe=new hs(fe.type,fe.evaluate(st))}catch(mt){return this.error(mt.message),null}}return fe}return this.error('Unknown expression \"'+J+'\". If you wanted a literal array, use [\"literal\", [...]].',0)}else return typeof y==\"undefined\"?this.error(\"'undefined' value invalid. Use null instead.\"):typeof y==\"object\"?this.error('Bare objects invalid. Use [\"literal\", {...}] instead.'):this.error(\"Expected an array, but found \"+typeof y+\" instead.\")},fl.prototype.concat=function(y,I,U){var J=typeof y==\"number\"?this.path.concat(y):this.path,ne=U?this.scope.concat(U):this.scope;return new fl(this.registry,J,I||null,ne,this.errors)},fl.prototype.error=function(y){for(var I=[],U=arguments.length-1;U-- >0;)I[U]=arguments[U+1];var J=\"\"+this.key+I.map(function(ne){return\"[\"+ne+\"]\"}).join(\"\");this.errors.push(new Ks(J,y))},fl.prototype.checkSubtype=function(y,I){var U=kc(y,I);return U&&this.error(U),U};function Xc(m){if(m instanceof Lc)return Xc(m.boundExpression);if(m instanceof Ja&&m.name===\"error\")return!1;if(m instanceof tc)return!1;if(m instanceof Lu)return!1;var y=m instanceof wo||m instanceof Sl,I=!0;return m.eachChild(function(U){y?I=I&&Xc(U):I=I&&U instanceof hs}),I?$h(m)&&Pu(m,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"]):!1}function ic(m,y){for(var I=m.length-1,U=0,J=I,ne=0,fe,Fe;U<=J;)if(ne=Math.floor((U+J)/2),fe=m[ne],Fe=m[ne+1],fe<=y){if(ne===I||y<Fe)return ne;U=ne+1}else if(fe>y)J=ne-1;else throw new Ms(\"Input is not a number.\");return 0}var yu=function(y,I,U){this.type=y,this.input=I,this.labels=[],this.outputs=[];for(var J=0,ne=U;J<ne.length;J+=1){var fe=ne[J],Fe=fe[0],Qe=fe[1];this.labels.push(Fe),this.outputs.push(Qe)}};yu.parse=function(y,I){if(y.length-1<4)return I.error(\"Expected at least 4 arguments, but found only \"+(y.length-1)+\".\");if((y.length-1)%2!==0)return I.error(\"Expected an even number of arguments.\");var U=I.parse(y[1],1,Zn);if(!U)return null;var J=[],ne=null;I.expectedType&&I.expectedType.kind!==\"value\"&&(ne=I.expectedType);for(var fe=1;fe<y.length;fe+=2){var Fe=fe===1?-1/0:y[fe],Qe=y[fe+1],st=fe,mt=fe+1;if(typeof Fe!=\"number\")return I.error('Input/output pairs for \"step\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',st);if(J.length&&J[J.length-1][0]>=Fe)return I.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',st);var Xt=I.parse(Qe,mt,ne);if(!Xt)return null;ne=ne||Xt.type,J.push([Fe,Xt])}return new yu(ne,U,J)},yu.prototype.evaluate=function(y){var I=this.labels,U=this.outputs;if(I.length===1)return U[0].evaluate(y);var J=this.input.evaluate(y);if(J<=I[0])return U[0].evaluate(y);var ne=I.length;if(J>=I[ne-1])return U[ne-1].evaluate(y);var fe=ic(I,J);return U[fe].evaluate(y)},yu.prototype.eachChild=function(y){y(this.input);for(var I=0,U=this.outputs;I<U.length;I+=1){var J=U[I];y(J)}},yu.prototype.outputDefined=function(){return this.outputs.every(function(y){return y.outputDefined()})},yu.prototype.serialize=function(){for(var y=[\"step\",this.input.serialize()],I=0;I<this.labels.length;I++)I>0&&y.push(this.labels[I]),y.push(this.outputs[I].serialize());return y};function Qs(m,y,I){return m*(1-I)+y*I}function Qh(m,y,I){return new ss(Qs(m.r,y.r,I),Qs(m.g,y.g,I),Qs(m.b,y.b,I),Qs(m.a,y.a,I))}function gd(m,y,I){return m.map(function(U,J){return Qs(U,y[J],I)})}var Gu=Object.freeze({__proto__:null,number:Qs,color:Qh,array:gd}),Pc=.95047,vc=1,sv=1.08883,Lf=4/29,Uf=6/29,Iu=3*Uf*Uf,oh=Uf*Uf*Uf,ru=Math.PI/180,vf=180/Math.PI;function md(m){return m>oh?Math.pow(m,1/3):m/Iu+Lf}function sh(m){return m>Uf?m*m*m:Iu*(m-Lf)}function Fs(m){return 255*(m<=.0031308?12.92*m:1.055*Math.pow(m,1/2.4)-.055)}function _u(m){return m/=255,m<=.04045?m/12.92:Math.pow((m+.055)/1.055,2.4)}function xu(m){var y=_u(m.r),I=_u(m.g),U=_u(m.b),J=md((.4124564*y+.3575761*I+.1804375*U)/Pc),ne=md((.2126729*y+.7151522*I+.072175*U)/vc),fe=md((.0193339*y+.119192*I+.9503041*U)/sv);return{l:116*ne-16,a:500*(J-ne),b:200*(ne-fe),alpha:m.a}}function Lh(m){var y=(m.l+16)/116,I=isNaN(m.a)?y:y+m.a/500,U=isNaN(m.b)?y:y-m.b/200;return y=vc*sh(y),I=Pc*sh(I),U=sv*sh(U),new ss(Fs(3.2404542*I-1.5371385*y-.4985314*U),Fs(-.969266*I+1.8760108*y+.041556*U),Fs(.0556434*I-.2040259*y+1.0572252*U),m.alpha)}function Is(m,y,I){return{l:Qs(m.l,y.l,I),a:Qs(m.a,y.a,I),b:Qs(m.b,y.b,I),alpha:Qs(m.alpha,y.alpha,I)}}function Pf(m){var y=xu(m),I=y.l,U=y.a,J=y.b,ne=Math.atan2(J,U)*vf;return{h:ne<0?ne+360:ne,c:Math.sqrt(U*U+J*J),l:I,alpha:m.a}}function Ic(m){var y=m.h*ru,I=m.c,U=m.l;return Lh({l:U,a:Math.cos(y)*I,b:Math.sin(y)*I,alpha:m.alpha})}function ju(m,y,I){var U=y-m;return m+I*(U>180||U<-180?U-360*Math.round(U/360):U)}function Vf(m,y,I){return{h:ju(m.h,y.h,I),c:Qs(m.c,y.c,I),l:Qs(m.l,y.l,I),alpha:Qs(m.alpha,y.alpha,I)}}var pc={forward:xu,reverse:Lh,interpolate:Is},pf={forward:Pf,reverse:Ic,interpolate:Vf},Ph=Object.freeze({__proto__:null,lab:pc,hcl:pf}),Dl=function(y,I,U,J,ne){this.type=y,this.operator=I,this.interpolation=U,this.input=J,this.labels=[],this.outputs=[];for(var fe=0,Fe=ne;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=Qe[0],mt=Qe[1];this.labels.push(st),this.outputs.push(mt)}};Dl.interpolationFactor=function(y,I,U,J){var ne=0;if(y.name===\"exponential\")ne=Ih(I,y.base,U,J);else if(y.name===\"linear\")ne=Ih(I,1,U,J);else if(y.name===\"cubic-bezier\"){var fe=y.controlPoints,Fe=new s(fe[0],fe[1],fe[2],fe[3]);ne=Fe.solve(Ih(I,1,U,J))}return ne},Dl.parse=function(y,I){var U=y[0],J=y[1],ne=y[2],fe=y.slice(3);if(!Array.isArray(J)||J.length===0)return I.error(\"Expected an interpolation type expression.\",1);if(J[0]===\"linear\")J={name:\"linear\"};else if(J[0]===\"exponential\"){var Fe=J[1];if(typeof Fe!=\"number\")return I.error(\"Exponential interpolation requires a numeric base.\",1,1);J={name:\"exponential\",base:Fe}}else if(J[0]===\"cubic-bezier\"){var Qe=J.slice(1);if(Qe.length!==4||Qe.some(function(si){return typeof si!=\"number\"||si<0||si>1}))return I.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);J={name:\"cubic-bezier\",controlPoints:Qe}}else return I.error(\"Unknown interpolation type \"+String(J[0]),1,0);if(y.length-1<4)return I.error(\"Expected at least 4 arguments, but found only \"+(y.length-1)+\".\");if((y.length-1)%2!==0)return I.error(\"Expected an even number of arguments.\");if(ne=I.parse(ne,2,Zn),!ne)return null;var st=[],mt=null;U===\"interpolate-hcl\"||U===\"interpolate-lab\"?mt=Tl:I.expectedType&&I.expectedType.kind!==\"value\"&&(mt=I.expectedType);for(var Xt=0;Xt<fe.length;Xt+=2){var ur=fe[Xt],nr=fe[Xt+1],Lr=Xt+3,Yr=Xt+4;if(typeof ur!=\"number\")return I.error('Input/output pairs for \"interpolate\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',Lr);if(st.length&&st[st.length-1][0]>=ur)return I.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',Lr);var _i=I.parse(nr,Yr,mt);if(!_i)return null;mt=mt||_i.type,st.push([ur,_i])}return mt.kind!==\"number\"&&mt.kind!==\"color\"&&!(mt.kind===\"array\"&&mt.itemType.kind===\"number\"&&typeof mt.N==\"number\")?I.error(\"Type \"+Ls(mt)+\" is not interpolatable.\"):new Dl(mt,U,J,ne,st)},Dl.prototype.evaluate=function(y){var I=this.labels,U=this.outputs;if(I.length===1)return U[0].evaluate(y);var J=this.input.evaluate(y);if(J<=I[0])return U[0].evaluate(y);var ne=I.length;if(J>=I[ne-1])return U[ne-1].evaluate(y);var fe=ic(I,J),Fe=I[fe],Qe=I[fe+1],st=Dl.interpolationFactor(this.interpolation,J,Fe,Qe),mt=U[fe].evaluate(y),Xt=U[fe+1].evaluate(y);return this.operator===\"interpolate\"?Gu[this.type.kind.toLowerCase()](mt,Xt,st):this.operator===\"interpolate-hcl\"?pf.reverse(pf.interpolate(pf.forward(mt),pf.forward(Xt),st)):pc.reverse(pc.interpolate(pc.forward(mt),pc.forward(Xt),st))},Dl.prototype.eachChild=function(y){y(this.input);for(var I=0,U=this.outputs;I<U.length;I+=1){var J=U[I];y(J)}},Dl.prototype.outputDefined=function(){return this.outputs.every(function(y){return y.outputDefined()})},Dl.prototype.serialize=function(){var y;this.interpolation.name===\"linear\"?y=[\"linear\"]:this.interpolation.name===\"exponential\"?this.interpolation.base===1?y=[\"linear\"]:y=[\"exponential\",this.interpolation.base]:y=[\"cubic-bezier\"].concat(this.interpolation.controlPoints);for(var I=[this.operator,y,this.input.serialize()],U=0;U<this.labels.length;U++)I.push(this.labels[U],this.outputs[U].serialize());return I};function Ih(m,y,I,U){var J=U-I,ne=m-I;return J===0?0:y===1?ne/J:(Math.pow(y,ne)-1)/(Math.pow(y,J)-1)}var Wu=function(y,I){this.type=y,this.args=I};Wu.parse=function(y,I){if(y.length<2)return I.error(\"Expectected at least one argument.\");var U=null,J=I.expectedType;J&&J.kind!==\"value\"&&(U=J);for(var ne=[],fe=0,Fe=y.slice(1);fe<Fe.length;fe+=1){var Qe=Fe[fe],st=I.parse(Qe,1+ne.length,U,void 0,{typeAnnotation:\"omit\"});if(!st)return null;U=U||st.type,ne.push(st)}var mt=J&&ne.some(function(Xt){return kc(J,Xt.type)});return mt?new Wu(So,ne):new Wu(U,ne)},Wu.prototype.evaluate=function(y){for(var I=null,U=0,J,ne=0,fe=this.args;ne<fe.length;ne+=1){var Fe=fe[ne];if(U++,I=Fe.evaluate(y),I&&I instanceof Js&&!I.available&&(J||(J=I.name),I=null,U===this.args.length&&(I=J)),I!==null)break}return I},Wu.prototype.eachChild=function(y){this.args.forEach(y)},Wu.prototype.outputDefined=function(){return this.args.every(function(y){return y.outputDefined()})},Wu.prototype.serialize=function(){var y=[\"coalesce\"];return this.eachChild(function(I){y.push(I.serialize())}),y};var Rc=function(y,I){this.type=I.type,this.bindings=[].concat(y),this.result=I};Rc.prototype.evaluate=function(y){return this.result.evaluate(y)},Rc.prototype.eachChild=function(y){for(var I=0,U=this.bindings;I<U.length;I+=1){var J=U[I];y(J[1])}y(this.result)},Rc.parse=function(y,I){if(y.length<4)return I.error(\"Expected at least 3 arguments, but found \"+(y.length-1)+\" instead.\");for(var U=[],J=1;J<y.length-1;J+=2){var ne=y[J];if(typeof ne!=\"string\")return I.error(\"Expected string, but found \"+typeof ne+\" instead.\",J);if(/[^a-zA-Z0-9_]/.test(ne))return I.error(\"Variable names must contain only alphanumeric characters or '_'.\",J);var fe=I.parse(y[J+1],J+1);if(!fe)return null;U.push([ne,fe])}var Fe=I.parse(y[y.length-1],y.length-1,I.expectedType,U);return Fe?new Rc(U,Fe):null},Rc.prototype.outputDefined=function(){return this.result.outputDefined()},Rc.prototype.serialize=function(){for(var y=[\"let\"],I=0,U=this.bindings;I<U.length;I+=1){var J=U[I],ne=J[0],fe=J[1];y.push(ne,fe.serialize())}return y.push(this.result.serialize()),y};var gc=function(y,I,U){this.type=y,this.index=I,this.input=U};gc.parse=function(y,I){if(y.length!==3)return I.error(\"Expected 2 arguments, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1,Zn),J=I.parse(y[2],2,eu(I.expectedType||So));if(!U||!J)return null;var ne=J.type;return new gc(ne.itemType,U,J)},gc.prototype.evaluate=function(y){var I=this.index.evaluate(y),U=this.input.evaluate(y);if(I<0)throw new Ms(\"Array index out of bounds: \"+I+\" < 0.\");if(I>=U.length)throw new Ms(\"Array index out of bounds: \"+I+\" > \"+(U.length-1)+\".\");if(I!==Math.floor(I))throw new Ms(\"Array index must be an integer, but found \"+I+\" instead.\");return U[I]},gc.prototype.eachChild=function(y){y(this.index),y(this.input)},gc.prototype.outputDefined=function(){return!1},gc.prototype.serialize=function(){return[\"at\",this.index.serialize(),this.input.serialize()]};var hl=function(y,I){this.type=Co,this.needle=y,this.haystack=I};hl.parse=function(y,I){if(y.length!==3)return I.error(\"Expected 2 arguments, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,So);return!U||!J?null:Of(U.type,[Co,ko,Zn,Ec,So])?new hl(U,J):I.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(U.type)+\" instead\")},hl.prototype.evaluate=function(y){var I=this.needle.evaluate(y),U=this.haystack.evaluate(y);if(!U)return!1;if(!Gc(I,[\"boolean\",\"string\",\"number\",\"null\"]))throw new Ms(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(ws(I))+\" instead.\");if(!Gc(U,[\"string\",\"array\"]))throw new Ms(\"Expected second argument to be of type array or string, but found \"+Ls(ws(U))+\" instead.\");return U.indexOf(I)>=0},hl.prototype.eachChild=function(y){y(this.needle),y(this.haystack)},hl.prototype.outputDefined=function(){return!0},hl.prototype.serialize=function(){return[\"in\",this.needle.serialize(),this.haystack.serialize()]};var iu=function(y,I,U){this.type=Zn,this.needle=y,this.haystack=I,this.fromIndex=U};iu.parse=function(y,I){if(y.length<=2||y.length>=5)return I.error(\"Expected 3 or 4 arguments, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,So);if(!U||!J)return null;if(!Of(U.type,[Co,ko,Zn,Ec,So]))return I.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(U.type)+\" instead\");if(y.length===4){var ne=I.parse(y[3],3,Zn);return ne?new iu(U,J,ne):null}else return new iu(U,J)},iu.prototype.evaluate=function(y){var I=this.needle.evaluate(y),U=this.haystack.evaluate(y);if(!Gc(I,[\"boolean\",\"string\",\"number\",\"null\"]))throw new Ms(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(ws(I))+\" instead.\");if(!Gc(U,[\"string\",\"array\"]))throw new Ms(\"Expected second argument to be of type array or string, but found \"+Ls(ws(U))+\" instead.\");if(this.fromIndex){var J=this.fromIndex.evaluate(y);return U.indexOf(I,J)}return U.indexOf(I)},iu.prototype.eachChild=function(y){y(this.needle),y(this.haystack),this.fromIndex&&y(this.fromIndex)},iu.prototype.outputDefined=function(){return!1},iu.prototype.serialize=function(){if(this.fromIndex!=null&&this.fromIndex!==void 0){var y=this.fromIndex.serialize();return[\"index-of\",this.needle.serialize(),this.haystack.serialize(),y]}return[\"index-of\",this.needle.serialize(),this.haystack.serialize()]};var mc=function(y,I,U,J,ne,fe){this.inputType=y,this.type=I,this.input=U,this.cases=J,this.outputs=ne,this.otherwise=fe};mc.parse=function(y,I){if(y.length<5)return I.error(\"Expected at least 4 arguments, but found only \"+(y.length-1)+\".\");if(y.length%2!==1)return I.error(\"Expected an even number of arguments.\");var U,J;I.expectedType&&I.expectedType.kind!==\"value\"&&(J=I.expectedType);for(var ne={},fe=[],Fe=2;Fe<y.length-1;Fe+=2){var Qe=y[Fe],st=y[Fe+1];Array.isArray(Qe)||(Qe=[Qe]);var mt=I.concat(Fe);if(Qe.length===0)return mt.error(\"Expected at least one branch label.\");for(var Xt=0,ur=Qe;Xt<ur.length;Xt+=1){var nr=ur[Xt];if(typeof nr!=\"number\"&&typeof nr!=\"string\")return mt.error(\"Branch labels must be numbers or strings.\");if(typeof nr==\"number\"&&Math.abs(nr)>Number.MAX_SAFE_INTEGER)return mt.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\");if(typeof nr==\"number\"&&Math.floor(nr)!==nr)return mt.error(\"Numeric branch labels must be integer values.\");if(!U)U=ws(nr);else if(mt.checkSubtype(U,ws(nr)))return null;if(typeof ne[String(nr)]!=\"undefined\")return mt.error(\"Branch labels must be unique.\");ne[String(nr)]=fe.length}var Lr=I.parse(st,Fe,J);if(!Lr)return null;J=J||Lr.type,fe.push(Lr)}var Yr=I.parse(y[1],1,So);if(!Yr)return null;var _i=I.parse(y[y.length-1],y.length-1,J);return!_i||Yr.type.kind!==\"value\"&&I.concat(1).checkSubtype(U,Yr.type)?null:new mc(U,J,Yr,ne,fe,_i)},mc.prototype.evaluate=function(y){var I=this.input.evaluate(y),U=ws(I)===this.inputType&&this.outputs[this.cases[I]]||this.otherwise;return U.evaluate(y)},mc.prototype.eachChild=function(y){y(this.input),this.outputs.forEach(y),y(this.otherwise)},mc.prototype.outputDefined=function(){return this.outputs.every(function(y){return y.outputDefined()})&&this.otherwise.outputDefined()},mc.prototype.serialize=function(){for(var y=this,I=[\"match\",this.input.serialize()],U=Object.keys(this.cases).sort(),J=[],ne={},fe=0,Fe=U;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=ne[this.cases[Qe]];st===void 0?(ne[this.cases[Qe]]=J.length,J.push([this.cases[Qe],[Qe]])):J[st][1].push(Qe)}for(var mt=function(Yr){return y.inputType.kind===\"number\"?Number(Yr):Yr},Xt=0,ur=J;Xt<ur.length;Xt+=1){var nr=ur[Xt],st=nr[0],Lr=nr[1];Lr.length===1?I.push(mt(Lr[0])):I.push(Lr.map(mt)),I.push(this.outputs[outputIndex$1].serialize())}return I.push(this.otherwise.serialize()),I};var Yc=function(y,I,U){this.type=y,this.branches=I,this.otherwise=U};Yc.parse=function(y,I){if(y.length<4)return I.error(\"Expected at least 3 arguments, but found only \"+(y.length-1)+\".\");if(y.length%2!==0)return I.error(\"Expected an odd number of arguments.\");var U;I.expectedType&&I.expectedType.kind!==\"value\"&&(U=I.expectedType);for(var J=[],ne=1;ne<y.length-1;ne+=2){var fe=I.parse(y[ne],ne,Co);if(!fe)return null;var Fe=I.parse(y[ne+1],ne+1,U);if(!Fe)return null;J.push([fe,Fe]),U=U||Fe.type}var Qe=I.parse(y[y.length-1],y.length-1,U);return Qe?new Yc(U,J,Qe):null},Yc.prototype.evaluate=function(y){for(var I=0,U=this.branches;I<U.length;I+=1){var J=U[I],ne=J[0],fe=J[1];if(ne.evaluate(y))return fe.evaluate(y)}return this.otherwise.evaluate(y)},Yc.prototype.eachChild=function(y){for(var I=0,U=this.branches;I<U.length;I+=1){var J=U[I],ne=J[0],fe=J[1];y(ne),y(fe)}y(this.otherwise)},Yc.prototype.outputDefined=function(){return this.branches.every(function(y){var I=y[0],U=y[1];return U.outputDefined()})&&this.otherwise.outputDefined()},Yc.prototype.serialize=function(){var y=[\"case\"];return this.eachChild(function(I){y.push(I.serialize())}),y};var nc=function(y,I,U,J){this.type=y,this.input=I,this.beginIndex=U,this.endIndex=J};nc.parse=function(y,I){if(y.length<=2||y.length>=5)return I.error(\"Expected 3 or 4 arguments, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,Zn);if(!U||!J)return null;if(!Of(U.type,[eu(So),ko,So]))return I.error(\"Expected first argument to be of type array or string, but found \"+Ls(U.type)+\" instead\");if(y.length===4){var ne=I.parse(y[3],3,Zn);return ne?new nc(U.type,U,J,ne):null}else return new nc(U.type,U,J)},nc.prototype.evaluate=function(y){var I=this.input.evaluate(y),U=this.beginIndex.evaluate(y);if(!Gc(I,[\"string\",\"array\"]))throw new Ms(\"Expected first argument to be of type array or string, but found \"+Ls(ws(I))+\" instead.\");if(this.endIndex){var J=this.endIndex.evaluate(y);return I.slice(U,J)}return I.slice(U)},nc.prototype.eachChild=function(y){y(this.input),y(this.beginIndex),this.endIndex&&y(this.endIndex)},nc.prototype.outputDefined=function(){return!1},nc.prototype.serialize=function(){if(this.endIndex!=null&&this.endIndex!==void 0){var y=this.endIndex.serialize();return[\"slice\",this.input.serialize(),this.beginIndex.serialize(),y]}return[\"slice\",this.input.serialize(),this.beginIndex.serialize()]};function gf(m,y){return m===\"==\"||m===\"!=\"?y.kind===\"boolean\"||y.kind===\"string\"||y.kind===\"number\"||y.kind===\"null\"||y.kind===\"value\":y.kind===\"string\"||y.kind===\"number\"||y.kind===\"value\"}function gt(m,y,I){return y===I}function Bt(m,y,I){return y!==I}function wr(m,y,I){return y<I}function vr(m,y,I){return y>I}function Ur(m,y,I){return y<=I}function fi(m,y,I){return y>=I}function xi(m,y,I,U){return U.compare(y,I)===0}function Fi(m,y,I,U){return!xi(m,y,I,U)}function Xi(m,y,I,U){return U.compare(y,I)<0}function hn(m,y,I,U){return U.compare(y,I)>0}function Ti(m,y,I,U){return U.compare(y,I)<=0}function qi(m,y,I,U){return U.compare(y,I)>=0}function Ii(m,y,I){var U=m!==\"==\"&&m!==\"!=\";return function(){function J(ne,fe,Fe){this.type=Co,this.lhs=ne,this.rhs=fe,this.collator=Fe,this.hasUntypedArgument=ne.type.kind===\"value\"||fe.type.kind===\"value\"}return J.parse=function(fe,Fe){if(fe.length!==3&&fe.length!==4)return Fe.error(\"Expected two or three arguments.\");var Qe=fe[0],st=Fe.parse(fe[1],1,So);if(!st)return null;if(!gf(Qe,st.type))return Fe.concat(1).error('\"'+Qe+`\" comparisons are not supported for type '`+Ls(st.type)+\"'.\");var mt=Fe.parse(fe[2],2,So);if(!mt)return null;if(!gf(Qe,mt.type))return Fe.concat(2).error('\"'+Qe+`\" comparisons are not supported for type '`+Ls(mt.type)+\"'.\");if(st.type.kind!==mt.type.kind&&st.type.kind!==\"value\"&&mt.type.kind!==\"value\")return Fe.error(\"Cannot compare types '\"+Ls(st.type)+\"' and '\"+Ls(mt.type)+\"'.\");U&&(st.type.kind===\"value\"&&mt.type.kind!==\"value\"?st=new Sl(mt.type,[st]):st.type.kind!==\"value\"&&mt.type.kind===\"value\"&&(mt=new Sl(st.type,[mt])));var Xt=null;if(fe.length===4){if(st.type.kind!==\"string\"&&mt.type.kind!==\"string\"&&st.type.kind!==\"value\"&&mt.type.kind!==\"value\")return Fe.error(\"Cannot use collator to compare non-string types.\");if(Xt=Fe.parse(fe[3],3,rh),!Xt)return null}return new J(st,mt,Xt)},J.prototype.evaluate=function(fe){var Fe=this.lhs.evaluate(fe),Qe=this.rhs.evaluate(fe);if(U&&this.hasUntypedArgument){var st=ws(Fe),mt=ws(Qe);if(st.kind!==mt.kind||!(st.kind===\"string\"||st.kind===\"number\"))throw new Ms('Expected arguments for \"'+m+'\" to be (string, string) or (number, number), but found ('+st.kind+\", \"+mt.kind+\") instead.\")}if(this.collator&&!U&&this.hasUntypedArgument){var Xt=ws(Fe),ur=ws(Qe);if(Xt.kind!==\"string\"||ur.kind!==\"string\")return y(fe,Fe,Qe)}return this.collator?I(fe,Fe,Qe,this.collator.evaluate(fe)):y(fe,Fe,Qe)},J.prototype.eachChild=function(fe){fe(this.lhs),fe(this.rhs),this.collator&&fe(this.collator)},J.prototype.outputDefined=function(){return!0},J.prototype.serialize=function(){var fe=[m];return this.eachChild(function(Fe){fe.push(Fe.serialize())}),fe},J}()}var mi=Ii(\"==\",gt,xi),Pn=Ii(\"!=\",Bt,Fi),Ma=Ii(\"<\",wr,Xi),Ta=Ii(\">\",vr,hn),Ea=Ii(\"<=\",Ur,Ti),qa=Ii(\">=\",fi,qi),Cn=function(y,I,U,J,ne){this.type=ko,this.number=y,this.locale=I,this.currency=U,this.minFractionDigits=J,this.maxFractionDigits=ne};Cn.parse=function(y,I){if(y.length!==3)return I.error(\"Expected two arguments.\");var U=I.parse(y[1],1,Zn);if(!U)return null;var J=y[2];if(typeof J!=\"object\"||Array.isArray(J))return I.error(\"NumberFormat options argument must be an object.\");var ne=null;if(J.locale&&(ne=I.parse(J.locale,1,ko),!ne))return null;var fe=null;if(J.currency&&(fe=I.parse(J.currency,1,ko),!fe))return null;var Fe=null;if(J[\"min-fraction-digits\"]&&(Fe=I.parse(J[\"min-fraction-digits\"],1,Zn),!Fe))return null;var Qe=null;return J[\"max-fraction-digits\"]&&(Qe=I.parse(J[\"max-fraction-digits\"],1,Zn),!Qe)?null:new Cn(U,ne,fe,Fe,Qe)},Cn.prototype.evaluate=function(y){return new Intl.NumberFormat(this.locale?this.locale.evaluate(y):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(y):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(y):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(y):void 0}).format(this.number.evaluate(y))},Cn.prototype.eachChild=function(y){y(this.number),this.locale&&y(this.locale),this.currency&&y(this.currency),this.minFractionDigits&&y(this.minFractionDigits),this.maxFractionDigits&&y(this.maxFractionDigits)},Cn.prototype.outputDefined=function(){return!1},Cn.prototype.serialize=function(){var y={};return this.locale&&(y.locale=this.locale.serialize()),this.currency&&(y.currency=this.currency.serialize()),this.minFractionDigits&&(y[\"min-fraction-digits\"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(y[\"max-fraction-digits\"]=this.maxFractionDigits.serialize()),[\"number-format\",this.number.serialize(),y]};var sn=function(y){this.type=Zn,this.input=y};sn.parse=function(y,I){if(y.length!==2)return I.error(\"Expected 1 argument, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1);return U?U.type.kind!==\"array\"&&U.type.kind!==\"string\"&&U.type.kind!==\"value\"?I.error(\"Expected argument of type string or array, but found \"+Ls(U.type)+\" instead.\"):new sn(U):null},sn.prototype.evaluate=function(y){var I=this.input.evaluate(y);if(typeof I==\"string\")return I.length;if(Array.isArray(I))return I.length;throw new Ms(\"Expected value to be of type string or array, but found \"+Ls(ws(I))+\" instead.\")},sn.prototype.eachChild=function(y){y(this.input)},sn.prototype.outputDefined=function(){return!1},sn.prototype.serialize=function(){var y=[\"length\"];return this.eachChild(function(I){y.push(I.serialize())}),y};var Ua={\"==\":mi,\"!=\":Pn,\">\":Ta,\"<\":Ma,\">=\":qa,\"<=\":Ea,array:Sl,at:gc,boolean:Sl,case:Yc,coalesce:Wu,collator:tc,format:ec,image:Ps,in:hl,\"index-of\":iu,interpolate:Dl,\"interpolate-hcl\":Dl,\"interpolate-lab\":Dl,length:sn,let:Rc,literal:hs,match:mc,number:Sl,\"number-format\":Cn,object:Sl,slice:nc,step:yu,string:Sl,\"to-boolean\":wo,\"to-color\":wo,\"to-number\":wo,\"to-string\":wo,var:Lc,within:Lu};function mo(m,y){var I=y[0],U=y[1],J=y[2],ne=y[3];I=I.evaluate(m),U=U.evaluate(m),J=J.evaluate(m);var fe=ne?ne.evaluate(m):1,Fe=hc(I,U,J,fe);if(Fe)throw new Ms(Fe);return new ss(I/255*fe,U/255*fe,J/255*fe,fe)}function Xo(m,y){return m in y}function Ts(m,y){var I=y[m];return typeof I==\"undefined\"?null:I}function Qo(m,y,I,U){for(;I<=U;){var J=I+U>>1;if(y[J]===m)return!0;y[J]>m?U=J-1:I=J+1}return!1}function ys(m){return{type:m}}Ja.register(Ua,{error:[cf,[ko],function(m,y){var I=y[0];throw new Ms(I.evaluate(m))}],typeof:[ko,[So],function(m,y){var I=y[0];return Ls(ws(I.evaluate(m)))}],\"to-rgba\":[eu(Zn,4),[Tl],function(m,y){var I=y[0];return I.evaluate(m).toArray()}],rgb:[Tl,[Zn,Zn,Zn],mo],rgba:[Tl,[Zn,Zn,Zn,Zn],mo],has:{type:Co,overloads:[[[ko],function(m,y){var I=y[0];return Xo(I.evaluate(m),m.properties())}],[[ko,uf],function(m,y){var I=y[0],U=y[1];return Xo(I.evaluate(m),U.evaluate(m))}]]},get:{type:So,overloads:[[[ko],function(m,y){var I=y[0];return Ts(I.evaluate(m),m.properties())}],[[ko,uf],function(m,y){var I=y[0],U=y[1];return Ts(I.evaluate(m),U.evaluate(m))}]]},\"feature-state\":[So,[ko],function(m,y){var I=y[0];return Ts(I.evaluate(m),m.featureState||{})}],properties:[uf,[],function(m){return m.properties()}],\"geometry-type\":[ko,[],function(m){return m.geometryType()}],id:[So,[],function(m){return m.id()}],zoom:[Zn,[],function(m){return m.globals.zoom}],\"heatmap-density\":[Zn,[],function(m){return m.globals.heatmapDensity||0}],\"line-progress\":[Zn,[],function(m){return m.globals.lineProgress||0}],accumulated:[So,[],function(m){return m.globals.accumulated===void 0?null:m.globals.accumulated}],\"+\":[Zn,ys(Zn),function(m,y){for(var I=0,U=0,J=y;U<J.length;U+=1){var ne=J[U];I+=ne.evaluate(m)}return I}],\"*\":[Zn,ys(Zn),function(m,y){for(var I=1,U=0,J=y;U<J.length;U+=1){var ne=J[U];I*=ne.evaluate(m)}return I}],\"-\":{type:Zn,overloads:[[[Zn,Zn],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)-U.evaluate(m)}],[[Zn],function(m,y){var I=y[0];return-I.evaluate(m)}]]},\"/\":[Zn,[Zn,Zn],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)/U.evaluate(m)}],\"%\":[Zn,[Zn,Zn],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)%U.evaluate(m)}],ln2:[Zn,[],function(){return Math.LN2}],pi:[Zn,[],function(){return Math.PI}],e:[Zn,[],function(){return Math.E}],\"^\":[Zn,[Zn,Zn],function(m,y){var I=y[0],U=y[1];return Math.pow(I.evaluate(m),U.evaluate(m))}],sqrt:[Zn,[Zn],function(m,y){var I=y[0];return Math.sqrt(I.evaluate(m))}],log10:[Zn,[Zn],function(m,y){var I=y[0];return Math.log(I.evaluate(m))/Math.LN10}],ln:[Zn,[Zn],function(m,y){var I=y[0];return Math.log(I.evaluate(m))}],log2:[Zn,[Zn],function(m,y){var I=y[0];return Math.log(I.evaluate(m))/Math.LN2}],sin:[Zn,[Zn],function(m,y){var I=y[0];return Math.sin(I.evaluate(m))}],cos:[Zn,[Zn],function(m,y){var I=y[0];return Math.cos(I.evaluate(m))}],tan:[Zn,[Zn],function(m,y){var I=y[0];return Math.tan(I.evaluate(m))}],asin:[Zn,[Zn],function(m,y){var I=y[0];return Math.asin(I.evaluate(m))}],acos:[Zn,[Zn],function(m,y){var I=y[0];return Math.acos(I.evaluate(m))}],atan:[Zn,[Zn],function(m,y){var I=y[0];return Math.atan(I.evaluate(m))}],min:[Zn,ys(Zn),function(m,y){return Math.min.apply(Math,y.map(function(I){return I.evaluate(m)}))}],max:[Zn,ys(Zn),function(m,y){return Math.max.apply(Math,y.map(function(I){return I.evaluate(m)}))}],abs:[Zn,[Zn],function(m,y){var I=y[0];return Math.abs(I.evaluate(m))}],round:[Zn,[Zn],function(m,y){var I=y[0],U=I.evaluate(m);return U<0?-Math.round(-U):Math.round(U)}],floor:[Zn,[Zn],function(m,y){var I=y[0];return Math.floor(I.evaluate(m))}],ceil:[Zn,[Zn],function(m,y){var I=y[0];return Math.ceil(I.evaluate(m))}],\"filter-==\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1];return m.properties()[I.value]===U.value}],\"filter-id-==\":[Co,[So],function(m,y){var I=y[0];return m.id()===I.value}],\"filter-type-==\":[Co,[ko],function(m,y){var I=y[0];return m.geometryType()===I.value}],\"filter-<\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J<ne}],\"filter-id-<\":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U<J}],\"filter->\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J>ne}],\"filter-id->\":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U>J}],\"filter-<=\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J<=ne}],\"filter-id-<=\":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U<=J}],\"filter->=\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J>=ne}],\"filter-id->=\":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U>=J}],\"filter-has\":[Co,[So],function(m,y){var I=y[0];return I.value in m.properties()}],\"filter-has-id\":[Co,[],function(m){return m.id()!==null&&m.id()!==void 0}],\"filter-type-in\":[Co,[eu(ko)],function(m,y){var I=y[0];return I.value.indexOf(m.geometryType())>=0}],\"filter-id-in\":[Co,[eu(So)],function(m,y){var I=y[0];return I.value.indexOf(m.id())>=0}],\"filter-in-small\":[Co,[ko,eu(So)],function(m,y){var I=y[0],U=y[1];return U.value.indexOf(m.properties()[I.value])>=0}],\"filter-in-large\":[Co,[ko,eu(So)],function(m,y){var I=y[0],U=y[1];return Qo(m.properties()[I.value],U.value,0,U.value.length-1)}],all:{type:Co,overloads:[[[Co,Co],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)&&U.evaluate(m)}],[ys(Co),function(m,y){for(var I=0,U=y;I<U.length;I+=1){var J=U[I];if(!J.evaluate(m))return!1}return!0}]]},any:{type:Co,overloads:[[[Co,Co],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)||U.evaluate(m)}],[ys(Co),function(m,y){for(var I=0,U=y;I<U.length;I+=1){var J=U[I];if(J.evaluate(m))return!0}return!1}]]},\"!\":[Co,[Co],function(m,y){var I=y[0];return!I.evaluate(m)}],\"is-supported-script\":[Co,[ko],function(m,y){var I=y[0],U=m.globals&&m.globals.isSupportedScript;return U?U(I.evaluate(m)):!0}],upcase:[ko,[ko],function(m,y){var I=y[0];return I.evaluate(m).toUpperCase()}],downcase:[ko,[ko],function(m,y){var I=y[0];return I.evaluate(m).toLowerCase()}],concat:[ko,ys(So),function(m,y){return y.map(function(I){return $s(I.evaluate(m))}).join(\"\")}],\"resolved-locale\":[ko,[rh],function(m,y){var I=y[0];return I.evaluate(m).resolvedLocale()}]});function Bo(m){return{result:\"success\",value:m}}function yl(m){return{result:\"error\",value:m}}function Gs(m){return m[\"property-type\"]===\"data-driven\"||m[\"property-type\"]===\"cross-faded-data-driven\"}function Rs(m){return!!m.expression&&m.expression.parameters.indexOf(\"zoom\")>-1}function ia(m){return!!m.expression&&m.expression.interpolated}function Ka(m){return m instanceof Number?\"number\":m instanceof String?\"string\":m instanceof Boolean?\"boolean\":Array.isArray(m)?\"array\":m===null?\"null\":typeof m}function vs(m){return typeof m==\"object\"&&m!==null&&!Array.isArray(m)}function Ko(m){return m}function nu(m,y){var I=y.type===\"color\",U=m.stops&&typeof m.stops[0][0]==\"object\",J=U||m.property!==void 0,ne=U||!J,fe=m.type||(ia(y)?\"exponential\":\"interval\");if(I&&(m=Rl({},m),m.stops&&(m.stops=m.stops.map(function($n){return[$n[0],ss.parse($n[1])]})),m.default?m.default=ss.parse(m.default):m.default=ss.parse(y.default)),m.colorSpace&&m.colorSpace!==\"rgb\"&&!Ph[m.colorSpace])throw new Error(\"Unknown color space: \"+m.colorSpace);var Fe,Qe,st;if(fe===\"exponential\")Fe=bu;else if(fe===\"interval\")Fe=mf;else if(fe===\"categorical\"){Fe=ac,Qe=Object.create(null);for(var mt=0,Xt=m.stops;mt<Xt.length;mt+=1){var ur=Xt[mt];Qe[ur[0]]=ur[1]}st=typeof m.stops[0][0]}else if(fe===\"identity\")Fe=Kc;else throw new Error('Unknown function type \"'+fe+'\"');if(U){for(var nr={},Lr=[],Yr=0;Yr<m.stops.length;Yr++){var _i=m.stops[Yr],si=_i[0].zoom;nr[si]===void 0&&(nr[si]={zoom:si,type:m.type,property:m.property,default:m.default,stops:[]},Lr.push(si)),nr[si].stops.push([_i[0].value,_i[1]])}for(var Hi=[],Ei=0,Vi=Lr;Ei<Vi.length;Ei+=1){var en=Vi[Ei];Hi.push([nr[en].zoom,nu(nr[en],y)])}var An={name:\"linear\"};return{kind:\"composite\",interpolationType:An,interpolationFactor:Dl.interpolationFactor.bind(void 0,An),zoomStops:Hi.map(function($n){return $n[0]}),evaluate:function(Ba,_a){var Pa=Ba.zoom;return bu({stops:Hi,base:m.base},y,Pa).evaluate(Pa,_a)}}}else if(ne){var ra=fe===\"exponential\"?{name:\"exponential\",base:m.base!==void 0?m.base:1}:null;return{kind:\"camera\",interpolationType:ra,interpolationFactor:Dl.interpolationFactor.bind(void 0,ra),zoomStops:m.stops.map(function($n){return $n[0]}),evaluate:function($n){var Ba=$n.zoom;return Fe(m,y,Ba,Qe,st)}}}else return{kind:\"source\",evaluate:function(Ba,_a){var Pa=_a&&_a.properties?_a.properties[m.property]:void 0;return Pa===void 0?Ru(m.default,y.default):Fe(m,y,Pa,Qe,st)}}}function Ru(m,y,I){if(m!==void 0)return m;if(y!==void 0)return y;if(I!==void 0)return I}function ac(m,y,I,U,J){var ne=typeof I===J?U[I]:void 0;return Ru(ne,m.default,y.default)}function mf(m,y,I){if(Ka(I)!==\"number\")return Ru(m.default,y.default);var U=m.stops.length;if(U===1||I<=m.stops[0][0])return m.stops[0][1];if(I>=m.stops[U-1][0])return m.stops[U-1][1];var J=ic(m.stops.map(function(ne){return ne[0]}),I);return m.stops[J][1]}function bu(m,y,I){var U=m.base!==void 0?m.base:1;if(Ka(I)!==\"number\")return Ru(m.default,y.default);var J=m.stops.length;if(J===1||I<=m.stops[0][0])return m.stops[0][1];if(I>=m.stops[J-1][0])return m.stops[J-1][1];var ne=ic(m.stops.map(function(Xt){return Xt[0]}),I),fe=Du(I,U,m.stops[ne][0],m.stops[ne+1][0]),Fe=m.stops[ne][1],Qe=m.stops[ne+1][1],st=Gu[y.type]||Ko;if(m.colorSpace&&m.colorSpace!==\"rgb\"){var mt=Ph[m.colorSpace];st=function(Xt,ur){return mt.reverse(mt.interpolate(mt.forward(Xt),mt.forward(ur),fe))}}return typeof Fe.evaluate==\"function\"?{evaluate:function(){for(var ur=[],nr=arguments.length;nr--;)ur[nr]=arguments[nr];var Lr=Fe.evaluate.apply(void 0,ur),Yr=Qe.evaluate.apply(void 0,ur);if(!(Lr===void 0||Yr===void 0))return st(Lr,Yr,fe)}}:st(Fe,Qe,fe)}function Kc(m,y,I){return y.type===\"color\"?I=ss.parse(I):y.type===\"formatted\"?I=Vl.fromString(I.toString()):y.type===\"resolvedImage\"?I=Js.fromString(I.toString()):Ka(I)!==y.type&&(y.type!==\"enum\"||!y.values[I])&&(I=void 0),Ru(I,m.default,y.default)}function Du(m,y,I,U){var J=U-I,ne=m-I;return J===0?0:y===1?ne/J:(Math.pow(y,ne)-1)/(Math.pow(y,J)-1)}var Dc=function(y,I){this.expression=y,this._warningHistory={},this._evaluator=new $o,this._defaultValue=I?ee(I):null,this._enumValues=I&&I.type===\"enum\"?I.values:null};Dc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._evaluator.globals=y,this._evaluator.feature=I,this._evaluator.featureState=U,this._evaluator.canonical=J,this._evaluator.availableImages=ne||null,this._evaluator.formattedSection=fe,this.expression.evaluate(this._evaluator)},Dc.prototype.evaluate=function(y,I,U,J,ne,fe){this._evaluator.globals=y,this._evaluator.feature=I||null,this._evaluator.featureState=U||null,this._evaluator.canonical=J,this._evaluator.availableImages=ne||null,this._evaluator.formattedSection=fe||null;try{var Fe=this.expression.evaluate(this._evaluator);if(Fe==null||typeof Fe==\"number\"&&Fe!==Fe)return this._defaultValue;if(this._enumValues&&!(Fe in this._enumValues))throw new Ms(\"Expected value to be one of \"+Object.keys(this._enumValues).map(function(Qe){return JSON.stringify(Qe)}).join(\", \")+\", but found \"+JSON.stringify(Fe)+\" instead.\");return Fe}catch(Qe){return this._warningHistory[Qe.message]||(this._warningHistory[Qe.message]=!0,typeof console!=\"undefined\"&&console.warn(Qe.message)),this._defaultValue}};function Da(m){return Array.isArray(m)&&m.length>0&&typeof m[0]==\"string\"&&m[0]in Ua}function eo(m,y){var I=new fl(Ua,[],y?Q(y):void 0),U=I.parse(m,void 0,void 0,void 0,y&&y.type===\"string\"?{typeAnnotation:\"coerce\"}:void 0);return U?Bo(new Dc(U,y)):yl(I.errors)}var Jc=function(y,I){this.kind=y,this._styleExpression=I,this.isStateDependent=y!==\"constant\"&&!tu(I.expression)};Jc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._styleExpression.evaluateWithoutErrorHandling(y,I,U,J,ne,fe)},Jc.prototype.evaluate=function(y,I,U,J,ne,fe){return this._styleExpression.evaluate(y,I,U,J,ne,fe)};var yc=function(y,I,U,J){this.kind=y,this.zoomStops=U,this._styleExpression=I,this.isStateDependent=y!==\"camera\"&&!tu(I.expression),this.interpolationType=J};yc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._styleExpression.evaluateWithoutErrorHandling(y,I,U,J,ne,fe)},yc.prototype.evaluate=function(y,I,U,J,ne,fe){return this._styleExpression.evaluate(y,I,U,J,ne,fe)},yc.prototype.interpolationFactor=function(y,I,U){return this.interpolationType?Dl.interpolationFactor(this.interpolationType,y,I,U):0};function _c(m,y){if(m=eo(m,y),m.result===\"error\")return m;var I=m.value.expression,U=$h(I);if(!U&&!Gs(y))return yl([new Ks(\"\",\"data expressions not supported\")]);var J=Pu(I,[\"zoom\"]);if(!J&&!Rs(y))return yl([new Ks(\"\",\"zoom expressions not supported\")]);var ne=B(I);if(!ne&&!J)return yl([new Ks(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')]);if(ne instanceof Ks)return yl([ne]);if(ne instanceof Dl&&!ia(y))return yl([new Ks(\"\",'\"interpolate\" expressions cannot be used with this property')]);if(!ne)return Bo(U?new Jc(\"constant\",m.value):new Jc(\"source\",m.value));var fe=ne instanceof Dl?ne.interpolation:void 0;return Bo(U?new yc(\"camera\",m.value,ne.labels,fe):new yc(\"composite\",m.value,ne.labels,fe))}var le=function(y,I){this._parameters=y,this._specification=I,Rl(this,nu(this._parameters,this._specification))};le.deserialize=function(y){return new le(y._parameters,y._specification)},le.serialize=function(y){return{_parameters:y._parameters,_specification:y._specification}};function w(m,y){if(vs(m))return new le(m,y);if(Da(m)){var I=_c(m,y);if(I.result===\"error\")throw new Error(I.value.map(function(J){return J.key+\": \"+J.message}).join(\", \"));return I.value}else{var U=m;return typeof m==\"string\"&&y.type===\"color\"&&(U=ss.parse(m)),{kind:\"constant\",evaluate:function(){return U}}}}function B(m){var y=null;if(m instanceof Rc)y=B(m.result);else if(m instanceof Wu)for(var I=0,U=m.args;I<U.length;I+=1){var J=U[I];if(y=B(J),y)break}else(m instanceof yu||m instanceof Dl)&&m.input instanceof Ja&&m.input.name===\"zoom\"&&(y=m);return y instanceof Ks||m.eachChild(function(ne){var fe=B(ne);fe instanceof Ks?y=fe:!y&&fe?y=new Ks(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):y&&fe&&y!==fe&&(y=new Ks(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))}),y}function Q(m){var y={color:Tl,string:ko,number:Zn,enum:ko,boolean:Co,formatted:Al,resolvedImage:Hc};return m.type===\"array\"?eu(y[m.value]||So,m.length):y[m.type]}function ee(m){return m.type===\"color\"&&vs(m.default)?new ss(0,0,0,0):m.type===\"color\"?ss.parse(m.default)||null:m.default===void 0?null:m.default}function se(m){var y=m.key,I=m.value,U=m.valueSpec||{},J=m.objectElementValidators||{},ne=m.style,fe=m.styleSpec,Fe=[],Qe=Ka(I);if(Qe!==\"object\")return[new fa(y,I,\"object expected, \"+Qe+\" found\")];for(var st in I){var mt=st.split(\".\")[0],Xt=U[mt]||U[\"*\"],ur=void 0;if(J[mt])ur=J[mt];else if(U[mt])ur=Wa;else if(J[\"*\"])ur=J[\"*\"];else if(U[\"*\"])ur=Wa;else{Fe.push(new fa(y,I[st],'unknown property \"'+st+'\"'));continue}Fe=Fe.concat(ur({key:(y&&y+\".\")+st,value:I[st],valueSpec:Xt,style:ne,styleSpec:fe,object:I,objectKey:st},I))}for(var nr in U)J[nr]||U[nr].required&&U[nr].default===void 0&&I[nr]===void 0&&Fe.push(new fa(y,I,'missing required property \"'+nr+'\"'));return Fe}function qe(m){var y=m.value,I=m.valueSpec,U=m.style,J=m.styleSpec,ne=m.key,fe=m.arrayElementValidator||Wa;if(Ka(y)!==\"array\")return[new fa(ne,y,\"array expected, \"+Ka(y)+\" found\")];if(I.length&&y.length!==I.length)return[new fa(ne,y,\"array length \"+I.length+\" expected, length \"+y.length+\" found\")];if(I[\"min-length\"]&&y.length<I[\"min-length\"])return[new fa(ne,y,\"array length at least \"+I[\"min-length\"]+\" expected, length \"+y.length+\" found\")];var Fe={type:I.value,values:I.values};J.$version<7&&(Fe.function=I.function),Ka(I.value)===\"object\"&&(Fe=I.value);for(var Qe=[],st=0;st<y.length;st++)Qe=Qe.concat(fe({array:y,arrayIndex:st,value:y[st],valueSpec:Fe,style:U,styleSpec:J,key:ne+\"[\"+st+\"]\"}));return Qe}function je(m){var y=m.key,I=m.value,U=m.valueSpec,J=Ka(I);return J===\"number\"&&I!==I&&(J=\"NaN\"),J!==\"number\"?[new fa(y,I,\"number expected, \"+J+\" found\")]:\"minimum\"in U&&I<U.minimum?[new fa(y,I,I+\" is less than the minimum value \"+U.minimum)]:\"maximum\"in U&&I>U.maximum?[new fa(y,I,I+\" is greater than the maximum value \"+U.maximum)]:[]}function it(m){var y=m.valueSpec,I=vo(m.value.type),U,J={},ne,fe,Fe=I!==\"categorical\"&&m.value.property===void 0,Qe=!Fe,st=Ka(m.value.stops)===\"array\"&&Ka(m.value.stops[0])===\"array\"&&Ka(m.value.stops[0][0])===\"object\",mt=se({key:m.key,value:m.value,valueSpec:m.styleSpec.function,style:m.style,styleSpec:m.styleSpec,objectElementValidators:{stops:Xt,default:Lr}});return I===\"identity\"&&Fe&&mt.push(new fa(m.key,m.value,'missing required property \"property\"')),I!==\"identity\"&&!m.value.stops&&mt.push(new fa(m.key,m.value,'missing required property \"stops\"')),I===\"exponential\"&&m.valueSpec.expression&&!ia(m.valueSpec)&&mt.push(new fa(m.key,m.value,\"exponential functions not supported\")),m.styleSpec.$version>=8&&(Qe&&!Gs(m.valueSpec)?mt.push(new fa(m.key,m.value,\"property functions not supported\")):Fe&&!Rs(m.valueSpec)&&mt.push(new fa(m.key,m.value,\"zoom functions not supported\"))),(I===\"categorical\"||st)&&m.value.property===void 0&&mt.push(new fa(m.key,m.value,'\"property\" property is required')),mt;function Xt(Yr){if(I===\"identity\")return[new fa(Yr.key,Yr.value,'identity function may not have a \"stops\" property')];var _i=[],si=Yr.value;return _i=_i.concat(qe({key:Yr.key,value:si,valueSpec:Yr.valueSpec,style:Yr.style,styleSpec:Yr.styleSpec,arrayElementValidator:ur})),Ka(si)===\"array\"&&si.length===0&&_i.push(new fa(Yr.key,si,\"array must have at least one stop\")),_i}function ur(Yr){var _i=[],si=Yr.value,Hi=Yr.key;if(Ka(si)!==\"array\")return[new fa(Hi,si,\"array expected, \"+Ka(si)+\" found\")];if(si.length!==2)return[new fa(Hi,si,\"array length 2 expected, length \"+si.length+\" found\")];if(st){if(Ka(si[0])!==\"object\")return[new fa(Hi,si,\"object expected, \"+Ka(si[0])+\" found\")];if(si[0].zoom===void 0)return[new fa(Hi,si,\"object stop key must have zoom\")];if(si[0].value===void 0)return[new fa(Hi,si,\"object stop key must have value\")];if(fe&&fe>vo(si[0].zoom))return[new fa(Hi,si[0].zoom,\"stop zoom values must appear in ascending order\")];vo(si[0].zoom)!==fe&&(fe=vo(si[0].zoom),ne=void 0,J={}),_i=_i.concat(se({key:Hi+\"[0]\",value:si[0],valueSpec:{zoom:{}},style:Yr.style,styleSpec:Yr.styleSpec,objectElementValidators:{zoom:je,value:nr}}))}else _i=_i.concat(nr({key:Hi+\"[0]\",value:si[0],valueSpec:{},style:Yr.style,styleSpec:Yr.styleSpec},si));return Da(Zl(si[1]))?_i.concat([new fa(Hi+\"[1]\",si[1],\"expressions are not allowed in function stops.\")]):_i.concat(Wa({key:Hi+\"[1]\",value:si[1],valueSpec:y,style:Yr.style,styleSpec:Yr.styleSpec}))}function nr(Yr,_i){var si=Ka(Yr.value),Hi=vo(Yr.value),Ei=Yr.value!==null?Yr.value:_i;if(!U)U=si;else if(si!==U)return[new fa(Yr.key,Ei,si+\" stop domain type must match previous stop domain type \"+U)];if(si!==\"number\"&&si!==\"string\"&&si!==\"boolean\")return[new fa(Yr.key,Ei,\"stop domain value must be a number, string, or boolean\")];if(si!==\"number\"&&I!==\"categorical\"){var Vi=\"number expected, \"+si+\" found\";return Gs(y)&&I===void 0&&(Vi+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new fa(Yr.key,Ei,Vi)]}return I===\"categorical\"&&si===\"number\"&&(!isFinite(Hi)||Math.floor(Hi)!==Hi)?[new fa(Yr.key,Ei,\"integer expected, found \"+Hi)]:I!==\"categorical\"&&si===\"number\"&&ne!==void 0&&Hi<ne?[new fa(Yr.key,Ei,\"stop domain values must appear in ascending order\")]:(ne=Hi,I===\"categorical\"&&Hi in J?[new fa(Yr.key,Ei,\"stop domain values must be unique\")]:(J[Hi]=!0,[]))}function Lr(Yr){return Wa({key:Yr.key,value:Yr.value,valueSpec:y,style:Yr.style,styleSpec:Yr.styleSpec})}}function yt(m){var y=(m.expressionContext===\"property\"?_c:eo)(Zl(m.value),m.valueSpec);if(y.result===\"error\")return y.value.map(function(U){return new fa(\"\"+m.key+U.key,m.value,U.message)});var I=y.value.expression||y.value._styleExpression.expression;if(m.expressionContext===\"property\"&&m.propertyKey===\"text-font\"&&!I.outputDefined())return[new fa(m.key,m.value,'Invalid data expression for \"'+m.propertyKey+'\". Output values must be contained as literals within the expression.')];if(m.expressionContext===\"property\"&&m.propertyType===\"layout\"&&!tu(I))return[new fa(m.key,m.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(m.expressionContext===\"filter\"&&!tu(I))return[new fa(m.key,m.value,'\"feature-state\" data expressions are not supported with filters.')];if(m.expressionContext&&m.expressionContext.indexOf(\"cluster\")===0){if(!Pu(I,[\"zoom\",\"feature-state\"]))return[new fa(m.key,m.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(m.expressionContext===\"cluster-initial\"&&!$h(I))return[new fa(m.key,m.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function Ot(m){var y=m.value,I=m.key,U=Ka(y);return U!==\"boolean\"?[new fa(I,y,\"boolean expected, \"+U+\" found\")]:[]}function Nt(m){var y=m.key,I=m.value,U=Ka(I);return U!==\"string\"?[new fa(y,I,\"color expected, \"+U+\" found\")]:Bf(I)===null?[new fa(y,I,'color expected, \"'+I+'\" found')]:[]}function hr(m){var y=m.key,I=m.value,U=m.valueSpec,J=[];return Array.isArray(U.values)?U.values.indexOf(vo(I))===-1&&J.push(new fa(y,I,\"expected one of [\"+U.values.join(\", \")+\"], \"+JSON.stringify(I)+\" found\")):Object.keys(U.values).indexOf(vo(I))===-1&&J.push(new fa(y,I,\"expected one of [\"+Object.keys(U.values).join(\", \")+\"], \"+JSON.stringify(I)+\" found\")),J}function Sr(m){if(m===!0||m===!1)return!0;if(!Array.isArray(m)||m.length===0)return!1;switch(m[0]){case\"has\":return m.length>=2&&m[1]!==\"$id\"&&m[1]!==\"$type\";case\"in\":return m.length>=3&&(typeof m[1]!=\"string\"||Array.isArray(m[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return m.length!==3||Array.isArray(m[1])||Array.isArray(m[2]);case\"any\":case\"all\":for(var y=0,I=m.slice(1);y<I.length;y+=1){var U=I[y];if(!Sr(U)&&typeof U!=\"boolean\")return!1}return!0;default:return!0}}var he={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function be(m){if(m==null)return{filter:function(){return!0},needGeometry:!1};Sr(m)||(m=Je(m));var y=eo(m,he);if(y.result===\"error\")throw new Error(y.value.map(function(U){return U.key+\": \"+U.message}).join(\", \"));var I=Oe(m);return{filter:function(U,J,ne){return y.value.evaluate(U,J,{},ne)},needGeometry:I}}function Pe(m,y){return m<y?-1:m>y?1:0}function Oe(m){if(!Array.isArray(m))return!1;if(m[0]===\"within\")return!0;for(var y=1;y<m.length;y++)if(Oe(m[y]))return!0;return!1}function Je(m){if(!m)return!0;var y=m[0];if(m.length<=1)return y!==\"any\";var I=y===\"==\"?He(m[1],m[2],\"==\"):y===\"!=\"?Ut(He(m[1],m[2],\"==\")):y===\"<\"||y===\">\"||y===\"<=\"||y===\">=\"?He(m[1],m[2],y):y===\"any\"?et(m.slice(1)):y===\"all\"?[\"all\"].concat(m.slice(1).map(Je)):y===\"none\"?[\"all\"].concat(m.slice(1).map(Je).map(Ut)):y===\"in\"?Mt(m[1],m.slice(2)):y===\"!in\"?Ut(Mt(m[1],m.slice(2))):y===\"has\"?Dt(m[1]):y===\"!has\"?Ut(Dt(m[1])):y===\"within\"?m:!0;return I}function He(m,y,I){switch(m){case\"$type\":return[\"filter-type-\"+I,y];case\"$id\":return[\"filter-id-\"+I,y];default:return[\"filter-\"+I,m,y]}}function et(m){return[\"any\"].concat(m.map(Je))}function Mt(m,y){if(y.length===0)return!1;switch(m){case\"$type\":return[\"filter-type-in\",[\"literal\",y]];case\"$id\":return[\"filter-id-in\",[\"literal\",y]];default:return y.length>200&&!y.some(function(I){return typeof I!=typeof y[0]})?[\"filter-in-large\",m,[\"literal\",y.sort(Pe)]]:[\"filter-in-small\",m,[\"literal\",y]]}}function Dt(m){switch(m){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",m]}}function Ut(m){return[\"!\",m]}function tr(m){return Sr(Zl(m.value))?yt(Rl({},m,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):mr(m)}function mr(m){var y=m.value,I=m.key;if(Ka(y)!==\"array\")return[new fa(I,y,\"array expected, \"+Ka(y)+\" found\")];var U=m.styleSpec,J,ne=[];if(y.length<1)return[new fa(I,y,\"filter array must have at least 1 element\")];switch(ne=ne.concat(hr({key:I+\"[0]\",value:y[0],valueSpec:U.filter_operator,style:m.style,styleSpec:m.styleSpec})),vo(y[0])){case\"<\":case\"<=\":case\">\":case\">=\":y.length>=2&&vo(y[1])===\"$type\"&&ne.push(new fa(I,y,'\"$type\" cannot be use with operator \"'+y[0]+'\"'));case\"==\":case\"!=\":y.length!==3&&ne.push(new fa(I,y,'filter array for operator \"'+y[0]+'\" must have 3 elements'));case\"in\":case\"!in\":y.length>=2&&(J=Ka(y[1]),J!==\"string\"&&ne.push(new fa(I+\"[1]\",y[1],\"string expected, \"+J+\" found\")));for(var fe=2;fe<y.length;fe++)J=Ka(y[fe]),vo(y[1])===\"$type\"?ne=ne.concat(hr({key:I+\"[\"+fe+\"]\",value:y[fe],valueSpec:U.geometry_type,style:m.style,styleSpec:m.styleSpec})):J!==\"string\"&&J!==\"number\"&&J!==\"boolean\"&&ne.push(new fa(I+\"[\"+fe+\"]\",y[fe],\"string, number, or boolean expected, \"+J+\" found\"));break;case\"any\":case\"all\":case\"none\":for(var Fe=1;Fe<y.length;Fe++)ne=ne.concat(mr({key:I+\"[\"+Fe+\"]\",value:y[Fe],style:m.style,styleSpec:m.styleSpec}));break;case\"has\":case\"!has\":J=Ka(y[1]),y.length!==2?ne.push(new fa(I,y,'filter array for \"'+y[0]+'\" operator must have 2 elements')):J!==\"string\"&&ne.push(new fa(I+\"[1]\",y[1],\"string expected, \"+J+\" found\"));break;case\"within\":J=Ka(y[1]),y.length!==2?ne.push(new fa(I,y,'filter array for \"'+y[0]+'\" operator must have 2 elements')):J!==\"object\"&&ne.push(new fa(I+\"[1]\",y[1],\"object expected, \"+J+\" found\"));break}return ne}function Rr(m,y){var I=m.key,U=m.style,J=m.styleSpec,ne=m.value,fe=m.objectKey,Fe=J[y+\"_\"+m.layerType];if(!Fe)return[];var Qe=fe.match(/^(.*)-transition$/);if(y===\"paint\"&&Qe&&Fe[Qe[1]]&&Fe[Qe[1]].transition)return Wa({key:I,value:ne,valueSpec:J.transition,style:U,styleSpec:J});var st=m.valueSpec||Fe[fe];if(!st)return[new fa(I,ne,'unknown property \"'+fe+'\"')];var mt;if(Ka(ne)===\"string\"&&Gs(st)&&!st.tokens&&(mt=/^{([^}]+)}$/.exec(ne)))return[new fa(I,ne,'\"'+fe+'\" does not support interpolation syntax\\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": '+JSON.stringify(mt[1])+\" }`.\")];var Xt=[];return m.layerType===\"symbol\"&&(fe===\"text-field\"&&U&&!U.glyphs&&Xt.push(new fa(I,ne,'use of \"text-field\" requires a style \"glyphs\" property')),fe===\"text-font\"&&vs(Zl(ne))&&vo(ne.type)===\"identity\"&&Xt.push(new fa(I,ne,'\"text-font\" does not support identity functions'))),Xt.concat(Wa({key:m.key,value:ne,valueSpec:st,style:U,styleSpec:J,expressionContext:\"property\",propertyType:y,propertyKey:fe}))}function zr(m){return Rr(m,\"paint\")}function Xr(m){return Rr(m,\"layout\")}function di(m){var y=[],I=m.value,U=m.key,J=m.style,ne=m.styleSpec;!I.type&&!I.ref&&y.push(new fa(U,I,'either \"type\" or \"ref\" is required'));var fe=vo(I.type),Fe=vo(I.ref);if(I.id)for(var Qe=vo(I.id),st=0;st<m.arrayIndex;st++){var mt=J.layers[st];vo(mt.id)===Qe&&y.push(new fa(U,I.id,'duplicate layer id \"'+I.id+'\", previously used at line '+mt.id.__line__))}if(\"ref\"in I){[\"type\",\"source\",\"source-layer\",\"filter\",\"layout\"].forEach(function(Lr){Lr in I&&y.push(new fa(U,I[Lr],'\"'+Lr+'\" is prohibited for ref layers'))});var Xt;J.layers.forEach(function(Lr){vo(Lr.id)===Fe&&(Xt=Lr)}),Xt?Xt.ref?y.push(new fa(U,I.ref,\"ref cannot reference another ref layer\")):fe=vo(Xt.type):y.push(new fa(U,I.ref,'ref layer \"'+Fe+'\" not found'))}else if(fe!==\"background\")if(!I.source)y.push(new fa(U,I,'missing required property \"source\"'));else{var ur=J.sources&&J.sources[I.source],nr=ur&&vo(ur.type);ur?nr===\"vector\"&&fe===\"raster\"?y.push(new fa(U,I.source,'layer \"'+I.id+'\" requires a raster source')):nr===\"raster\"&&fe!==\"raster\"?y.push(new fa(U,I.source,'layer \"'+I.id+'\" requires a vector source')):nr===\"vector\"&&!I[\"source-layer\"]?y.push(new fa(U,I,'layer \"'+I.id+'\" must specify a \"source-layer\"')):nr===\"raster-dem\"&&fe!==\"hillshade\"?y.push(new fa(U,I.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):fe===\"line\"&&I.paint&&I.paint[\"line-gradient\"]&&(nr!==\"geojson\"||!ur.lineMetrics)&&y.push(new fa(U,I,'layer \"'+I.id+'\" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.')):y.push(new fa(U,I.source,'source \"'+I.source+'\" not found'))}return y=y.concat(se({key:U,value:I,valueSpec:ne.layer,style:m.style,styleSpec:m.styleSpec,objectElementValidators:{\"*\":function(){return[]},type:function(){return Wa({key:U+\".type\",value:I.type,valueSpec:ne.layer.type,style:m.style,styleSpec:m.styleSpec,object:I,objectKey:\"type\"})},filter:tr,layout:function(Yr){return se({layer:I,key:Yr.key,value:Yr.value,style:Yr.style,styleSpec:Yr.styleSpec,objectElementValidators:{\"*\":function(si){return Xr(Rl({layerType:fe},si))}}})},paint:function(Yr){return se({layer:I,key:Yr.key,value:Yr.value,style:Yr.style,styleSpec:Yr.styleSpec,objectElementValidators:{\"*\":function(si){return zr(Rl({layerType:fe},si))}}})}}})),y}function Li(m){var y=m.value,I=m.key,U=Ka(y);return U!==\"string\"?[new fa(I,y,\"string expected, \"+U+\" found\")]:[]}var Ci={promoteId:Mn};function Qi(m){var y=m.value,I=m.key,U=m.styleSpec,J=m.style;if(!y.type)return[new fa(I,y,'\"type\" is required')];var ne=vo(y.type),fe;switch(ne){case\"vector\":case\"raster\":case\"raster-dem\":return fe=se({key:I,value:y,valueSpec:U[\"source_\"+ne.replace(\"-\",\"_\")],style:m.style,styleSpec:U,objectElementValidators:Ci}),fe;case\"geojson\":if(fe=se({key:I,value:y,valueSpec:U.source_geojson,style:J,styleSpec:U,objectElementValidators:Ci}),y.cluster)for(var Fe in y.clusterProperties){var Qe=y.clusterProperties[Fe],st=Qe[0],mt=Qe[1],Xt=typeof st==\"string\"?[st,[\"accumulated\"],[\"get\",Fe]]:st;fe.push.apply(fe,yt({key:I+\".\"+Fe+\".map\",value:mt,expressionContext:\"cluster-map\"})),fe.push.apply(fe,yt({key:I+\".\"+Fe+\".reduce\",value:Xt,expressionContext:\"cluster-reduce\"}))}return fe;case\"video\":return se({key:I,value:y,valueSpec:U.source_video,style:J,styleSpec:U});case\"image\":return se({key:I,value:y,valueSpec:U.source_image,style:J,styleSpec:U});case\"canvas\":return[new fa(I,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return hr({key:I+\".type\",value:y.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:J,styleSpec:U})}}function Mn(m){var y=m.key,I=m.value;if(Ka(I)===\"string\")return Li({key:y,value:I});var U=[];for(var J in I)U.push.apply(U,Li({key:y+\".\"+J,value:I[J]}));return U}function pa(m){var y=m.value,I=m.styleSpec,U=I.light,J=m.style,ne=[],fe=Ka(y);if(y===void 0)return ne;if(fe!==\"object\")return ne=ne.concat([new fa(\"light\",y,\"object expected, \"+fe+\" found\")]),ne;for(var Fe in y){var Qe=Fe.match(/^(.*)-transition$/);Qe&&U[Qe[1]]&&U[Qe[1]].transition?ne=ne.concat(Wa({key:Fe,value:y[Fe],valueSpec:I.transition,style:J,styleSpec:I})):U[Fe]?ne=ne.concat(Wa({key:Fe,value:y[Fe],valueSpec:U[Fe],style:J,styleSpec:I})):ne=ne.concat([new fa(Fe,y[Fe],'unknown property \"'+Fe+'\"')])}return ne}function ea(m){return Li(m).length===0?[]:yt(m)}function Ga(m){return Li(m).length===0?[]:yt(m)}var To={\"*\":function(){return[]},array:qe,boolean:Ot,number:je,color:Nt,constants:Qu,enum:hr,filter:tr,function:it,layer:di,object:se,source:Qi,light:pa,string:Li,formatted:ea,resolvedImage:Ga};function Wa(m){var y=m.value,I=m.valueSpec,U=m.styleSpec;if(I.expression&&vs(vo(y)))return it(m);if(I.expression&&Da(Zl(y)))return yt(m);if(I.type&&To[I.type])return To[I.type](m);var J=se(Rl({},m,{valueSpec:I.type?U[I.type]:I}));return J}function co(m){var y=m.value,I=m.key,U=Li(m);return U.length||(y.indexOf(\"{fontstack}\")===-1&&U.push(new fa(I,y,'\"glyphs\" url must include a \"{fontstack}\" token')),y.indexOf(\"{range}\")===-1&&U.push(new fa(I,y,'\"glyphs\" url must include a \"{range}\" token'))),U}function Ro(m,y){y===void 0&&(y=on);var I=[];return I=I.concat(Wa({key:\"\",value:m,valueSpec:y.$root,styleSpec:y,style:m,objectElementValidators:{glyphs:co,\"*\":function(){return[]}}})),m.constants&&(I=I.concat(Qu({key:\"constants\",value:m.constants,style:m,styleSpec:y}))),Ds(I)}Ro.source=As(Qi),Ro.light=As(pa),Ro.layer=As(di),Ro.filter=As(tr),Ro.paintProperty=As(zr),Ro.layoutProperty=As(Xr);function Ds(m){return[].concat(m).sort(function(y,I){return y.line-I.line})}function As(m){return function(){for(var y=[],I=arguments.length;I--;)y[I]=arguments[I];return Ds(m.apply(this,y))}}var yo=Ro,po=yo.light,_l=yo.paintProperty,Hl=yo.layoutProperty;function Zu(m,y){var I=!1;if(y&&y.length)for(var U=0,J=y;U<J.length;U+=1){var ne=J[U];m.fire(new oa(new Error(ne.message))),I=!0}return I}var cu=au,el=3;function au(m,y,I){var U=this.cells=[];if(m instanceof ArrayBuffer){this.arrayBuffer=m;var J=new Int32Array(this.arrayBuffer);m=J[0],y=J[1],I=J[2],this.d=y+2*I;for(var ne=0;ne<this.d*this.d;ne++){var fe=J[el+ne],Fe=J[el+ne+1];U.push(fe===Fe?null:J.subarray(fe,Fe))}var Qe=J[el+U.length],st=J[el+U.length+1];this.keys=J.subarray(Qe,st),this.bboxes=J.subarray(st),this.insert=this._insertReadonly}else{this.d=y+2*I;for(var mt=0;mt<this.d*this.d;mt++)U.push([]);this.keys=[],this.bboxes=[]}this.n=y,this.extent=m,this.padding=I,this.scale=y/m,this.uid=0;var Xt=I/y*m;this.min=-Xt,this.max=m+Xt}au.prototype.insert=function(m,y,I,U,J){this._forEachCell(y,I,U,J,this._insertCell,this.uid++),this.keys.push(m),this.bboxes.push(y),this.bboxes.push(I),this.bboxes.push(U),this.bboxes.push(J)},au.prototype._insertReadonly=function(){throw\"Cannot insert into a GridIndex created from an ArrayBuffer.\"},au.prototype._insertCell=function(m,y,I,U,J,ne){this.cells[J].push(ne)},au.prototype.query=function(m,y,I,U,J){var ne=this.min,fe=this.max;if(m<=ne&&y<=ne&&fe<=I&&fe<=U&&!J)return Array.prototype.slice.call(this.keys);var Fe=[],Qe={};return this._forEachCell(m,y,I,U,this._queryCell,Fe,Qe,J),Fe},au.prototype._queryCell=function(m,y,I,U,J,ne,fe,Fe){var Qe=this.cells[J];if(Qe!==null)for(var st=this.keys,mt=this.bboxes,Xt=0;Xt<Qe.length;Xt++){var ur=Qe[Xt];if(fe[ur]===void 0){var nr=ur*4;(Fe?Fe(mt[nr+0],mt[nr+1],mt[nr+2],mt[nr+3]):m<=mt[nr+2]&&y<=mt[nr+3]&&I>=mt[nr+0]&&U>=mt[nr+1])?(fe[ur]=!0,ne.push(st[ur])):fe[ur]=!1}}},au.prototype._forEachCell=function(m,y,I,U,J,ne,fe,Fe){for(var Qe=this._convertToCellCoord(m),st=this._convertToCellCoord(y),mt=this._convertToCellCoord(I),Xt=this._convertToCellCoord(U),ur=Qe;ur<=mt;ur++)for(var nr=st;nr<=Xt;nr++){var Lr=this.d*nr+ur;if(!(Fe&&!Fe(this._convertFromCellCoord(ur),this._convertFromCellCoord(nr),this._convertFromCellCoord(ur+1),this._convertFromCellCoord(nr+1)))&&J.call(this,m,y,I,U,Lr,ne,fe,Fe))return}},au.prototype._convertFromCellCoord=function(m){return(m-this.padding)/this.scale},au.prototype._convertToCellCoord=function(m){return Math.max(0,Math.min(this.d-1,Math.floor(m*this.scale)+this.padding))},au.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var m=this.cells,y=el+this.cells.length+1+1,I=0,U=0;U<this.cells.length;U++)I+=this.cells[U].length;var J=new Int32Array(y+I+this.keys.length+this.bboxes.length);J[0]=this.extent,J[1]=this.n,J[2]=this.padding;for(var ne=y,fe=0;fe<m.length;fe++){var Fe=m[fe];J[el+fe]=ne,J.set(Fe,ne),ne+=Fe.length}return J[el+m.length]=ne,J.set(this.keys,ne),ne+=this.keys.length,J[el+m.length+1]=ne,J.set(this.bboxes,ne),ne+=this.bboxes.length,J.buffer};var zc=f.ImageData,zl=f.ImageBitmap,Fl={};function Z(m,y,I){I===void 0&&(I={}),Object.defineProperty(y,\"_classRegistryKey\",{value:m,writeable:!1}),Fl[m]={klass:y,omit:I.omit||[],shallow:I.shallow||[]}}Z(\"Object\",Object),cu.serialize=function(y,I){var U=y.toArrayBuffer();return I&&I.push(U),{buffer:U}},cu.deserialize=function(y){return new cu(y.buffer)},Z(\"Grid\",cu),Z(\"Color\",ss),Z(\"Error\",Error),Z(\"ResolvedImage\",Js),Z(\"StylePropertyFunction\",le),Z(\"StyleExpression\",Dc,{omit:[\"_evaluator\"]}),Z(\"ZoomDependentExpression\",yc),Z(\"ZoomConstantExpression\",Jc),Z(\"CompoundExpression\",Ja,{omit:[\"_evaluate\"]});for(var oe in Ua)Ua[oe]._classRegistryKey||Z(\"Expression_\"+oe,Ua[oe]);function we(m){return m&&typeof ArrayBuffer!=\"undefined\"&&(m instanceof ArrayBuffer||m.constructor&&m.constructor.name===\"ArrayBuffer\")}function Be(m){return zl&&m instanceof zl}function Ue(m,y){if(m==null||typeof m==\"boolean\"||typeof m==\"number\"||typeof m==\"string\"||m instanceof Boolean||m instanceof Number||m instanceof String||m instanceof Date||m instanceof RegExp)return m;if(we(m)||Be(m))return y&&y.push(m),m;if(ArrayBuffer.isView(m)){var I=m;return y&&y.push(I.buffer),I}if(m instanceof zc)return y&&y.push(m.data.buffer),m;if(Array.isArray(m)){for(var U=[],J=0,ne=m;J<ne.length;J+=1){var fe=ne[J];U.push(Ue(fe,y))}return U}if(typeof m==\"object\"){var Fe=m.constructor,Qe=Fe._classRegistryKey;if(!Qe)throw new Error(\"can't serialize object of unregistered class\");var st=Fe.serialize?Fe.serialize(m,y):{};if(!Fe.serialize){for(var mt in m)if(m.hasOwnProperty(mt)&&!(Fl[Qe].omit.indexOf(mt)>=0)){var Xt=m[mt];st[mt]=Fl[Qe].shallow.indexOf(mt)>=0?Xt:Ue(Xt,y)}m instanceof Error&&(st.message=m.message)}if(st.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return Qe!==\"Object\"&&(st.$name=Qe),st}throw new Error(\"can't serialize object of type \"+typeof m)}function We(m){if(m==null||typeof m==\"boolean\"||typeof m==\"number\"||typeof m==\"string\"||m instanceof Boolean||m instanceof Number||m instanceof String||m instanceof Date||m instanceof RegExp||we(m)||Be(m)||ArrayBuffer.isView(m)||m instanceof zc)return m;if(Array.isArray(m))return m.map(We);if(typeof m==\"object\"){var y=m.$name||\"Object\",I=Fl[y],U=I.klass;if(!U)throw new Error(\"can't deserialize unregistered class \"+y);if(U.deserialize)return U.deserialize(m);for(var J=Object.create(U.prototype),ne=0,fe=Object.keys(m);ne<fe.length;ne+=1){var Fe=fe[ne];if(Fe!==\"$name\"){var Qe=m[Fe];J[Fe]=Fl[y].shallow.indexOf(Fe)>=0?Qe:We(Qe)}}return J}throw new Error(\"can't deserialize object of type \"+typeof m)}var wt=function(){this.first=!0};wt.prototype.update=function(y,I){var U=Math.floor(y);return this.first?(this.first=!1,this.lastIntegerZoom=U,this.lastIntegerZoomTime=0,this.lastZoom=y,this.lastFloorZoom=U,!0):(this.lastFloorZoom>U?(this.lastIntegerZoom=U+1,this.lastIntegerZoomTime=I):this.lastFloorZoom<U&&(this.lastIntegerZoom=U,this.lastIntegerZoomTime=I),y!==this.lastZoom?(this.lastZoom=y,this.lastFloorZoom=U,!0):!1)};var tt={\"Latin-1 Supplement\":function(m){return m>=128&&m<=255},Arabic:function(m){return m>=1536&&m<=1791},\"Arabic Supplement\":function(m){return m>=1872&&m<=1919},\"Arabic Extended-A\":function(m){return m>=2208&&m<=2303},\"Hangul Jamo\":function(m){return m>=4352&&m<=4607},\"Unified Canadian Aboriginal Syllabics\":function(m){return m>=5120&&m<=5759},Khmer:function(m){return m>=6016&&m<=6143},\"Unified Canadian Aboriginal Syllabics Extended\":function(m){return m>=6320&&m<=6399},\"General Punctuation\":function(m){return m>=8192&&m<=8303},\"Letterlike Symbols\":function(m){return m>=8448&&m<=8527},\"Number Forms\":function(m){return m>=8528&&m<=8591},\"Miscellaneous Technical\":function(m){return m>=8960&&m<=9215},\"Control Pictures\":function(m){return m>=9216&&m<=9279},\"Optical Character Recognition\":function(m){return m>=9280&&m<=9311},\"Enclosed Alphanumerics\":function(m){return m>=9312&&m<=9471},\"Geometric Shapes\":function(m){return m>=9632&&m<=9727},\"Miscellaneous Symbols\":function(m){return m>=9728&&m<=9983},\"Miscellaneous Symbols and Arrows\":function(m){return m>=11008&&m<=11263},\"CJK Radicals Supplement\":function(m){return m>=11904&&m<=12031},\"Kangxi Radicals\":function(m){return m>=12032&&m<=12255},\"Ideographic Description Characters\":function(m){return m>=12272&&m<=12287},\"CJK Symbols and Punctuation\":function(m){return m>=12288&&m<=12351},Hiragana:function(m){return m>=12352&&m<=12447},Katakana:function(m){return m>=12448&&m<=12543},Bopomofo:function(m){return m>=12544&&m<=12591},\"Hangul Compatibility Jamo\":function(m){return m>=12592&&m<=12687},Kanbun:function(m){return m>=12688&&m<=12703},\"Bopomofo Extended\":function(m){return m>=12704&&m<=12735},\"CJK Strokes\":function(m){return m>=12736&&m<=12783},\"Katakana Phonetic Extensions\":function(m){return m>=12784&&m<=12799},\"Enclosed CJK Letters and Months\":function(m){return m>=12800&&m<=13055},\"CJK Compatibility\":function(m){return m>=13056&&m<=13311},\"CJK Unified Ideographs Extension A\":function(m){return m>=13312&&m<=19903},\"Yijing Hexagram Symbols\":function(m){return m>=19904&&m<=19967},\"CJK Unified Ideographs\":function(m){return m>=19968&&m<=40959},\"Yi Syllables\":function(m){return m>=40960&&m<=42127},\"Yi Radicals\":function(m){return m>=42128&&m<=42191},\"Hangul Jamo Extended-A\":function(m){return m>=43360&&m<=43391},\"Hangul Syllables\":function(m){return m>=44032&&m<=55215},\"Hangul Jamo Extended-B\":function(m){return m>=55216&&m<=55295},\"Private Use Area\":function(m){return m>=57344&&m<=63743},\"CJK Compatibility Ideographs\":function(m){return m>=63744&&m<=64255},\"Arabic Presentation Forms-A\":function(m){return m>=64336&&m<=65023},\"Vertical Forms\":function(m){return m>=65040&&m<=65055},\"CJK Compatibility Forms\":function(m){return m>=65072&&m<=65103},\"Small Form Variants\":function(m){return m>=65104&&m<=65135},\"Arabic Presentation Forms-B\":function(m){return m>=65136&&m<=65279},\"Halfwidth and Fullwidth Forms\":function(m){return m>=65280&&m<=65519}};function zt(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(Ir(U.charCodeAt(0)))return!0}return!1}function or(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(!lr(U.charCodeAt(0)))return!1}return!0}function lr(m){return!(tt.Arabic(m)||tt[\"Arabic Supplement\"](m)||tt[\"Arabic Extended-A\"](m)||tt[\"Arabic Presentation Forms-A\"](m)||tt[\"Arabic Presentation Forms-B\"](m))}function Dr(m){return m<11904?!1:!!(tt[\"Bopomofo Extended\"](m)||tt.Bopomofo(m)||tt[\"CJK Compatibility Forms\"](m)||tt[\"CJK Compatibility Ideographs\"](m)||tt[\"CJK Compatibility\"](m)||tt[\"CJK Radicals Supplement\"](m)||tt[\"CJK Strokes\"](m)||tt[\"CJK Symbols and Punctuation\"](m)||tt[\"CJK Unified Ideographs Extension A\"](m)||tt[\"CJK Unified Ideographs\"](m)||tt[\"Enclosed CJK Letters and Months\"](m)||tt[\"Halfwidth and Fullwidth Forms\"](m)||tt.Hiragana(m)||tt[\"Ideographic Description Characters\"](m)||tt[\"Kangxi Radicals\"](m)||tt[\"Katakana Phonetic Extensions\"](m)||tt.Katakana(m)||tt[\"Vertical Forms\"](m)||tt[\"Yi Radicals\"](m)||tt[\"Yi Syllables\"](m))}function Ir(m){return m===746||m===747?!0:m<4352?!1:!!(tt[\"Bopomofo Extended\"](m)||tt.Bopomofo(m)||tt[\"CJK Compatibility Forms\"](m)&&!(m>=65097&&m<=65103)||tt[\"CJK Compatibility Ideographs\"](m)||tt[\"CJK Compatibility\"](m)||tt[\"CJK Radicals Supplement\"](m)||tt[\"CJK Strokes\"](m)||tt[\"CJK Symbols and Punctuation\"](m)&&!(m>=12296&&m<=12305)&&!(m>=12308&&m<=12319)&&m!==12336||tt[\"CJK Unified Ideographs Extension A\"](m)||tt[\"CJK Unified Ideographs\"](m)||tt[\"Enclosed CJK Letters and Months\"](m)||tt[\"Hangul Compatibility Jamo\"](m)||tt[\"Hangul Jamo Extended-A\"](m)||tt[\"Hangul Jamo Extended-B\"](m)||tt[\"Hangul Jamo\"](m)||tt[\"Hangul Syllables\"](m)||tt.Hiragana(m)||tt[\"Ideographic Description Characters\"](m)||tt.Kanbun(m)||tt[\"Kangxi Radicals\"](m)||tt[\"Katakana Phonetic Extensions\"](m)||tt.Katakana(m)&&m!==12540||tt[\"Halfwidth and Fullwidth Forms\"](m)&&m!==65288&&m!==65289&&m!==65293&&!(m>=65306&&m<=65310)&&m!==65339&&m!==65341&&m!==65343&&!(m>=65371&&m<=65503)&&m!==65507&&!(m>=65512&&m<=65519)||tt[\"Small Form Variants\"](m)&&!(m>=65112&&m<=65118)&&!(m>=65123&&m<=65126)||tt[\"Unified Canadian Aboriginal Syllabics\"](m)||tt[\"Unified Canadian Aboriginal Syllabics Extended\"](m)||tt[\"Vertical Forms\"](m)||tt[\"Yijing Hexagram Symbols\"](m)||tt[\"Yi Syllables\"](m)||tt[\"Yi Radicals\"](m))}function oi(m){return!!(tt[\"Latin-1 Supplement\"](m)&&(m===167||m===169||m===174||m===177||m===188||m===189||m===190||m===215||m===247)||tt[\"General Punctuation\"](m)&&(m===8214||m===8224||m===8225||m===8240||m===8241||m===8251||m===8252||m===8258||m===8263||m===8264||m===8265||m===8273)||tt[\"Letterlike Symbols\"](m)||tt[\"Number Forms\"](m)||tt[\"Miscellaneous Technical\"](m)&&(m>=8960&&m<=8967||m>=8972&&m<=8991||m>=8996&&m<=9e3||m===9003||m>=9085&&m<=9114||m>=9150&&m<=9165||m===9167||m>=9169&&m<=9179||m>=9186&&m<=9215)||tt[\"Control Pictures\"](m)&&m!==9251||tt[\"Optical Character Recognition\"](m)||tt[\"Enclosed Alphanumerics\"](m)||tt[\"Geometric Shapes\"](m)||tt[\"Miscellaneous Symbols\"](m)&&!(m>=9754&&m<=9759)||tt[\"Miscellaneous Symbols and Arrows\"](m)&&(m>=11026&&m<=11055||m>=11088&&m<=11097||m>=11192&&m<=11243)||tt[\"CJK Symbols and Punctuation\"](m)||tt.Katakana(m)||tt[\"Private Use Area\"](m)||tt[\"CJK Compatibility Forms\"](m)||tt[\"Small Form Variants\"](m)||tt[\"Halfwidth and Fullwidth Forms\"](m)||m===8734||m===8756||m===8757||m>=9984&&m<=10087||m>=10102&&m<=10131||m===65532||m===65533)}function ui(m){return!(Ir(m)||oi(m))}function qr(m){return tt.Arabic(m)||tt[\"Arabic Supplement\"](m)||tt[\"Arabic Extended-A\"](m)||tt[\"Arabic Presentation Forms-A\"](m)||tt[\"Arabic Presentation Forms-B\"](m)}function Kr(m){return m>=1424&&m<=2303||tt[\"Arabic Presentation Forms-A\"](m)||tt[\"Arabic Presentation Forms-B\"](m)}function ii(m,y){return!(!y&&Kr(m)||m>=2304&&m<=3583||m>=3840&&m<=4255||tt.Khmer(m))}function vi(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(Kr(U.charCodeAt(0)))return!0}return!1}function ci(m,y){for(var I=0,U=m;I<U.length;I+=1){var J=U[I];if(!ii(J.charCodeAt(0),y))return!1}return!0}var Jr={unavailable:\"unavailable\",deferred:\"deferred\",loading:\"loading\",loaded:\"loaded\",error:\"error\"},un=null,dn=Jr.unavailable,En=null,Nn=function(m){m&&typeof m==\"string\"&&m.indexOf(\"NetworkError\")>-1&&(dn=Jr.error),un&&un(m)};function ga(){ya.fire(new jo(\"pluginStateChange\",{pluginStatus:dn,pluginURL:En}))}var ya=new Sn,so=function(){return dn},wa=function(m){return m({pluginStatus:dn,pluginURL:En}),ya.on(\"pluginStateChange\",m),m},io=function(m,y,I){if(I===void 0&&(I=!1),dn===Jr.deferred||dn===Jr.loading||dn===Jr.loaded)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");En=nt.resolveURL(m),dn=Jr.deferred,un=y,ga(),I||Ss()},Ss=function(){if(dn!==Jr.deferred||!En)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");dn=Jr.loading,ga(),En&&Zr({url:En},function(m){m?Nn(m):(dn=Jr.loaded,ga())})},_s={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return dn===Jr.loaded||_s.applyArabicShaping!=null},isLoading:function(){return dn===Jr.loading},setState:function(y){dn=y.pluginStatus,En=y.pluginURL},isParsed:function(){return _s.applyArabicShaping!=null&&_s.processBidirectionalText!=null&&_s.processStyledBidirectionalText!=null},getPluginURL:function(){return En}},Ns=function(){!_s.isLoading()&&!_s.isLoaded()&&so()===\"deferred\"&&Ss()},pn=function(y,I){this.zoom=y,I?(this.now=I.now,this.fadeDuration=I.fadeDuration,this.zoomHistory=I.zoomHistory,this.transition=I.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new wt,this.transition={})};pn.prototype.isSupportedScript=function(y){return ci(y,_s.isLoaded())},pn.prototype.crossFadingFactor=function(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},pn.prototype.getCrossfadeParameters=function(){var y=this.zoom,I=y-Math.floor(y),U=this.crossFadingFactor();return y>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:I+(1-I)*U}:{fromScale:.5,toScale:1,t:1-(1-U)*I}};var za=function(y,I){this.property=y,this.value=I,this.expression=w(I===void 0?y.specification.default:I,y.specification)};za.prototype.isDataDriven=function(){return this.expression.kind===\"source\"||this.expression.kind===\"composite\"},za.prototype.possiblyEvaluate=function(y,I,U){return this.property.possiblyEvaluate(this,y,I,U)};var Lo=function(y){this.property=y,this.value=new za(y,void 0)};Lo.prototype.transitioned=function(y,I){return new js(this.property,this.value,I,_({},y.transition,this.transition),y.now)},Lo.prototype.untransitioned=function(){return new js(this.property,this.value,null,{},0)};var Fo=function(y){this._properties=y,this._values=Object.create(y.defaultTransitionablePropertyValues)};Fo.prototype.getValue=function(y){return G(this._values[y].value.value)},Fo.prototype.setValue=function(y,I){this._values.hasOwnProperty(y)||(this._values[y]=new Lo(this._values[y].property)),this._values[y].value=new za(this._values[y].property,I===null?void 0:G(I))},Fo.prototype.getTransition=function(y){return G(this._values[y].transition)},Fo.prototype.setTransition=function(y,I){this._values.hasOwnProperty(y)||(this._values[y]=new Lo(this._values[y].property)),this._values[y].transition=G(I)||void 0},Fo.prototype.serialize=function(){for(var y={},I=0,U=Object.keys(this._values);I<U.length;I+=1){var J=U[I],ne=this.getValue(J);ne!==void 0&&(y[J]=ne);var fe=this.getTransition(J);fe!==void 0&&(y[J+\"-transition\"]=fe)}return y},Fo.prototype.transitioned=function(y,I){for(var U=new xl(this._properties),J=0,ne=Object.keys(this._values);J<ne.length;J+=1){var fe=ne[J];U._values[fe]=this._values[fe].transitioned(y,I._values[fe])}return U},Fo.prototype.untransitioned=function(){for(var y=new xl(this._properties),I=0,U=Object.keys(this._values);I<U.length;I+=1){var J=U[I];y._values[J]=this._values[J].untransitioned()}return y};var js=function(y,I,U,J,ne){this.property=y,this.value=I,this.begin=ne+J.delay||0,this.end=this.begin+J.duration||0,y.specification.transition&&(J.delay||J.duration)&&(this.prior=U)};js.prototype.possiblyEvaluate=function(y,I,U){var J=y.now||0,ne=this.value.possiblyEvaluate(y,I,U),fe=this.prior;if(fe){if(J>this.end)return this.prior=null,ne;if(this.value.isDataDriven())return this.prior=null,ne;if(J<this.begin)return fe.possiblyEvaluate(y,I,U);var Fe=(J-this.begin)/(this.end-this.begin);return this.property.interpolate(fe.possiblyEvaluate(y,I,U),ne,v(Fe))}else return ne};var xl=function(y){this._properties=y,this._values=Object.create(y.defaultTransitioningPropertyValues)};xl.prototype.possiblyEvaluate=function(y,I,U){for(var J=new xc(this._properties),ne=0,fe=Object.keys(this._values);ne<fe.length;ne+=1){var Fe=fe[ne];J._values[Fe]=this._values[Fe].possiblyEvaluate(y,I,U)}return J},xl.prototype.hasTransition=function(){for(var y=0,I=Object.keys(this._values);y<I.length;y+=1){var U=I[y];if(this._values[U].prior)return!0}return!1};var fu=function(y){this._properties=y,this._values=Object.create(y.defaultPropertyValues)};fu.prototype.getValue=function(y){return G(this._values[y].value)},fu.prototype.setValue=function(y,I){this._values[y]=new za(this._values[y].property,I===null?void 0:G(I))},fu.prototype.serialize=function(){for(var y={},I=0,U=Object.keys(this._values);I<U.length;I+=1){var J=U[I],ne=this.getValue(J);ne!==void 0&&(y[J]=ne)}return y},fu.prototype.possiblyEvaluate=function(y,I,U){for(var J=new xc(this._properties),ne=0,fe=Object.keys(this._values);ne<fe.length;ne+=1){var Fe=fe[ne];J._values[Fe]=this._values[Fe].possiblyEvaluate(y,I,U)}return J};var dl=function(y,I,U){this.property=y,this.value=I,this.parameters=U};dl.prototype.isConstant=function(){return this.value.kind===\"constant\"},dl.prototype.constantOr=function(y){return this.value.kind===\"constant\"?this.value.value:y},dl.prototype.evaluate=function(y,I,U,J){return this.property.evaluate(this.value,this.parameters,y,I,U,J)};var xc=function(y){this._properties=y,this._values=Object.create(y.defaultPossiblyEvaluatedValues)};xc.prototype.get=function(y){return this._values[y]};var At=function(y){this.specification=y};At.prototype.possiblyEvaluate=function(y,I){return y.expression.evaluate(I)},At.prototype.interpolate=function(y,I,U){var J=Gu[this.specification.type];return J?J(y,I,U):y};var Er=function(y,I){this.specification=y,this.overrides=I};Er.prototype.possiblyEvaluate=function(y,I,U,J){return y.expression.kind===\"constant\"||y.expression.kind===\"camera\"?new dl(this,{kind:\"constant\",value:y.expression.evaluate(I,null,{},U,J)},I):new dl(this,y.expression,I)},Er.prototype.interpolate=function(y,I,U){if(y.value.kind!==\"constant\"||I.value.kind!==\"constant\")return y;if(y.value.value===void 0||I.value.value===void 0)return new dl(this,{kind:\"constant\",value:void 0},y.parameters);var J=Gu[this.specification.type];return J?new dl(this,{kind:\"constant\",value:J(y.value.value,I.value.value,U)},y.parameters):y},Er.prototype.evaluate=function(y,I,U,J,ne,fe){return y.kind===\"constant\"?y.value:y.evaluate(I,U,J,ne,fe)};var Wr=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.possiblyEvaluate=function(U,J,ne,fe){if(U.value===void 0)return new dl(this,{kind:\"constant\",value:void 0},J);if(U.expression.kind===\"constant\"){var Fe=U.expression.evaluate(J,null,{},ne,fe),Qe=U.property.specification.type===\"resolvedImage\",st=Qe&&typeof Fe!=\"string\"?Fe.name:Fe,mt=this._calculate(st,st,st,J);return new dl(this,{kind:\"constant\",value:mt},J)}else if(U.expression.kind===\"camera\"){var Xt=this._calculate(U.expression.evaluate({zoom:J.zoom-1}),U.expression.evaluate({zoom:J.zoom}),U.expression.evaluate({zoom:J.zoom+1}),J);return new dl(this,{kind:\"constant\",value:Xt},J)}else return new dl(this,U.expression,J)},y.prototype.evaluate=function(U,J,ne,fe,Fe,Qe){if(U.kind===\"source\"){var st=U.evaluate(J,ne,fe,Fe,Qe);return this._calculate(st,st,st,J)}else return U.kind===\"composite\"?this._calculate(U.evaluate({zoom:Math.floor(J.zoom)-1},ne,fe),U.evaluate({zoom:Math.floor(J.zoom)},ne,fe),U.evaluate({zoom:Math.floor(J.zoom)+1},ne,fe),J):U.value},y.prototype._calculate=function(U,J,ne,fe){var Fe=fe.zoom;return Fe>fe.zoomHistory.lastIntegerZoom?{from:U,to:J}:{from:ne,to:J}},y.prototype.interpolate=function(U){return U},y}(Er),wi=function(y){this.specification=y};wi.prototype.possiblyEvaluate=function(y,I,U,J){if(y.value!==void 0)if(y.expression.kind===\"constant\"){var ne=y.expression.evaluate(I,null,{},U,J);return this._calculate(ne,ne,ne,I)}else return this._calculate(y.expression.evaluate(new pn(Math.floor(I.zoom-1),I)),y.expression.evaluate(new pn(Math.floor(I.zoom),I)),y.expression.evaluate(new pn(Math.floor(I.zoom+1),I)),I)},wi.prototype._calculate=function(y,I,U,J){var ne=J.zoom;return ne>J.zoomHistory.lastIntegerZoom?{from:y,to:I}:{from:U,to:I}},wi.prototype.interpolate=function(y){return y};var Ui=function(y){this.specification=y};Ui.prototype.possiblyEvaluate=function(y,I,U,J){return!!y.expression.evaluate(I,null,{},U,J)},Ui.prototype.interpolate=function(){return!1};var Oi=function(y){this.properties=y,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(var I in y){var U=y[I];U.specification.overridable&&this.overridableProperties.push(I);var J=this.defaultPropertyValues[I]=new za(U,void 0),ne=this.defaultTransitionablePropertyValues[I]=new Lo(U);this.defaultTransitioningPropertyValues[I]=ne.untransitioned(),this.defaultPossiblyEvaluatedValues[I]=J.possiblyEvaluate({})}};Z(\"DataDrivenProperty\",Er),Z(\"DataConstantProperty\",At),Z(\"CrossFadedDataDrivenProperty\",Wr),Z(\"CrossFadedProperty\",wi),Z(\"ColorRampProperty\",Ui);var Bi=\"-transition\",cn=function(m){function y(I,U){if(m.call(this),this.id=I.id,this.type=I.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},I.type!==\"custom\"&&(I=I,this.metadata=I.metadata,this.minzoom=I.minzoom,this.maxzoom=I.maxzoom,I.type!==\"background\"&&(this.source=I.source,this.sourceLayer=I[\"source-layer\"],this.filter=I.filter),U.layout&&(this._unevaluatedLayout=new fu(U.layout)),U.paint)){this._transitionablePaint=new Fo(U.paint);for(var J in I.paint)this.setPaintProperty(J,I.paint[J],{validate:!1});for(var ne in I.layout)this.setLayoutProperty(ne,I.layout[ne],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new xc(U.paint)}}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},y.prototype.getLayoutProperty=function(U){return U===\"visibility\"?this.visibility:this._unevaluatedLayout.getValue(U)},y.prototype.setLayoutProperty=function(U,J,ne){if(ne===void 0&&(ne={}),J!=null){var fe=\"layers.\"+this.id+\".layout.\"+U;if(this._validate(Hl,fe,U,J,ne))return}if(U===\"visibility\"){this.visibility=J;return}this._unevaluatedLayout.setValue(U,J)},y.prototype.getPaintProperty=function(U){return V(U,Bi)?this._transitionablePaint.getTransition(U.slice(0,-Bi.length)):this._transitionablePaint.getValue(U)},y.prototype.setPaintProperty=function(U,J,ne){if(ne===void 0&&(ne={}),J!=null){var fe=\"layers.\"+this.id+\".paint.\"+U;if(this._validate(_l,fe,U,J,ne))return!1}if(V(U,Bi))return this._transitionablePaint.setTransition(U.slice(0,-Bi.length),J||void 0),!1;var Fe=this._transitionablePaint._values[U],Qe=Fe.property.specification[\"property-type\"]===\"cross-faded-data-driven\",st=Fe.value.isDataDriven(),mt=Fe.value;this._transitionablePaint.setValue(U,J),this._handleSpecialPaintPropertyUpdate(U);var Xt=this._transitionablePaint._values[U].value,ur=Xt.isDataDriven();return ur||st||Qe||this._handleOverridablePaintPropertyUpdate(U,mt,Xt)},y.prototype._handleSpecialPaintPropertyUpdate=function(U){},y.prototype._handleOverridablePaintPropertyUpdate=function(U,J,ne){return!1},y.prototype.isHidden=function(U){return this.minzoom&&U<this.minzoom||this.maxzoom&&U>=this.maxzoom?!0:this.visibility===\"none\"},y.prototype.updateTransitions=function(U){this._transitioningPaint=this._transitionablePaint.transitioned(U,this._transitioningPaint)},y.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},y.prototype.recalculate=function(U,J){U.getCrossfadeParameters&&(this._crossfadeParameters=U.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(U,void 0,J)),this.paint=this._transitioningPaint.possiblyEvaluate(U,void 0,J)},y.prototype.serialize=function(){var U={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&&(U.layout=U.layout||{},U.layout.visibility=this.visibility),X(U,function(J,ne){return J!==void 0&&!(ne===\"layout\"&&!Object.keys(J).length)&&!(ne===\"paint\"&&!Object.keys(J).length)})},y.prototype._validate=function(U,J,ne,fe,Fe){return Fe===void 0&&(Fe={}),Fe&&Fe.validate===!1?!1:Zu(this,U.call(yo,{key:J,layerType:this.type,objectKey:ne,value:fe,styleSpec:on,style:{glyphs:!0,sprite:!0}}))},y.prototype.is3D=function(){return!1},y.prototype.isTileClipped=function(){return!1},y.prototype.hasOffscreenPass=function(){return!1},y.prototype.resize=function(){},y.prototype.isStateDependent=function(){for(var U in this.paint._values){var J=this.paint.get(U);if(!(!(J instanceof dl)||!Gs(J.property.specification))&&(J.value.kind===\"source\"||J.value.kind===\"composite\")&&J.value.isStateDependent)return!0}return!1},y}(Sn),On={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Bn=function(y,I){this._structArray=y,this._pos1=I*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},yn=128,to=5,Rn=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};Rn.serialize=function(y,I){return y._trim(),I&&(y.isTransferred=!0,I.push(y.arrayBuffer)),{length:y.length,arrayBuffer:y.arrayBuffer}},Rn.deserialize=function(y){var I=Object.create(this.prototype);return I.arrayBuffer=y.arrayBuffer,I.length=y.length,I.capacity=y.arrayBuffer.byteLength/I.bytesPerElement,I._refreshViews(),I},Rn.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Rn.prototype.clear=function(){this.length=0},Rn.prototype.resize=function(y){this.reserve(y),this.length=y},Rn.prototype.reserve=function(y){if(y>this.capacity){this.capacity=Math.max(y,Math.floor(this.capacity*to),yn),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var I=this.uint8;this._refreshViews(),I&&this.uint8.set(I)}},Rn.prototype._refreshViews=function(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")};function Dn(m,y){y===void 0&&(y=1);var I=0,U=0,J=m.map(function(fe){var Fe=fn(fe.type),Qe=I=Ai(I,Math.max(y,Fe)),st=fe.components||1;return U=Math.max(U,Fe),I+=Fe*st,{name:fe.name,type:fe.type,components:st,offset:Qe}}),ne=Ai(I,Math.max(U,y));return{members:J,size:ne,alignment:y}}function fn(m){return On[m].BYTES_PER_ELEMENT}function Ai(m,y){return Math.ceil(m/y)*y}var ji=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.int16[fe+0]=J,this.int16[fe+1]=ne,U},y}(Rn);ji.prototype.bytesPerElement=4,Z(\"StructArrayLayout2i4\",ji);var Ln=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*4;return this.int16[Qe+0]=J,this.int16[Qe+1]=ne,this.int16[Qe+2]=fe,this.int16[Qe+3]=Fe,U},y}(Rn);Ln.prototype.bytesPerElement=8,Z(\"StructArrayLayout4i8\",Ln);var Un=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*6;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.int16[mt+2]=fe,this.int16[mt+3]=Fe,this.int16[mt+4]=Qe,this.int16[mt+5]=st,U},y}(Rn);Un.prototype.bytesPerElement=12,Z(\"StructArrayLayout2i4i12\",Un);var gn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*4,Xt=U*8;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.uint8[Xt+4]=fe,this.uint8[Xt+5]=Fe,this.uint8[Xt+6]=Qe,this.uint8[Xt+7]=st,U},y}(Rn);gn.prototype.bytesPerElement=8,Z(\"StructArrayLayout2i4ub8\",gn);var ca=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.float32[fe+0]=J,this.float32[fe+1]=ne,U},y}(Rn);ca.prototype.bytesPerElement=8,Z(\"StructArrayLayout2f8\",ca);var Kn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){var nr=this.length;return this.resize(nr+1),this.emplace(nr,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr){var Lr=U*10;return this.uint16[Lr+0]=J,this.uint16[Lr+1]=ne,this.uint16[Lr+2]=fe,this.uint16[Lr+3]=Fe,this.uint16[Lr+4]=Qe,this.uint16[Lr+5]=st,this.uint16[Lr+6]=mt,this.uint16[Lr+7]=Xt,this.uint16[Lr+8]=ur,this.uint16[Lr+9]=nr,U},y}(Rn);Kn.prototype.bytesPerElement=20,Z(\"StructArrayLayout10ui20\",Kn);var Za=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr){var Yr=this.length;return this.resize(Yr+1),this.emplace(Yr,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr){var _i=U*12;return this.int16[_i+0]=J,this.int16[_i+1]=ne,this.int16[_i+2]=fe,this.int16[_i+3]=Fe,this.uint16[_i+4]=Qe,this.uint16[_i+5]=st,this.uint16[_i+6]=mt,this.uint16[_i+7]=Xt,this.int16[_i+8]=ur,this.int16[_i+9]=nr,this.int16[_i+10]=Lr,this.int16[_i+11]=Yr,U},y}(Rn);Za.prototype.bytesPerElement=24,Z(\"StructArrayLayout4i4ui4i24\",Za);var wn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.float32[Fe+0]=J,this.float32[Fe+1]=ne,this.float32[Fe+2]=fe,U},y}(Rn);wn.prototype.bytesPerElement=12,Z(\"StructArrayLayout3f12\",wn);var vn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.uint32[ne+0]=J,U},y}(Rn);vn.prototype.bytesPerElement=4,Z(\"StructArrayLayout1ul4\",vn);var Aa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.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)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt){var ur=this.length;return this.resize(ur+1),this.emplace(ur,U,J,ne,fe,Fe,Qe,st,mt,Xt)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){var nr=U*10,Lr=U*5;return this.int16[nr+0]=J,this.int16[nr+1]=ne,this.int16[nr+2]=fe,this.int16[nr+3]=Fe,this.int16[nr+4]=Qe,this.int16[nr+5]=st,this.uint32[Lr+3]=mt,this.uint16[nr+8]=Xt,this.uint16[nr+9]=ur,U},y}(Rn);Aa.prototype.bytesPerElement=20,Z(\"StructArrayLayout6i1ul2ui20\",Aa);var aa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*6;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.int16[mt+2]=fe,this.int16[mt+3]=Fe,this.int16[mt+4]=Qe,this.int16[mt+5]=st,U},y}(Rn);aa.prototype.bytesPerElement=12,Z(\"StructArrayLayout2i2i2i12\",aa);var Xn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe){var Qe=this.length;return this.resize(Qe+1),this.emplace(Qe,U,J,ne,fe,Fe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe){var st=U*4,mt=U*8;return this.float32[st+0]=J,this.float32[st+1]=ne,this.float32[st+2]=fe,this.int16[mt+6]=Fe,this.int16[mt+7]=Qe,U},y}(Rn);Xn.prototype.bytesPerElement=16,Z(\"StructArrayLayout2f1f2i16\",Xn);var Vn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*12,st=U*3;return this.uint8[Qe+0]=J,this.uint8[Qe+1]=ne,this.float32[st+1]=fe,this.float32[st+2]=Fe,U},y}(Rn);Vn.prototype.bytesPerElement=12,Z(\"StructArrayLayout2ub2f12\",Vn);var ma=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.uint16[Fe+0]=J,this.uint16[Fe+1]=ne,this.uint16[Fe+2]=fe,U},y}(Rn);ma.prototype.bytesPerElement=6,Z(\"StructArrayLayout3ui6\",ma);var ro=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.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)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei){var Vi=this.length;return this.resize(Vi+1),this.emplace(Vi,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi){var en=U*24,An=U*12,ra=U*48;return this.int16[en+0]=J,this.int16[en+1]=ne,this.uint16[en+2]=fe,this.uint16[en+3]=Fe,this.uint32[An+2]=Qe,this.uint32[An+3]=st,this.uint32[An+4]=mt,this.uint16[en+10]=Xt,this.uint16[en+11]=ur,this.uint16[en+12]=nr,this.float32[An+7]=Lr,this.float32[An+8]=Yr,this.uint8[ra+36]=_i,this.uint8[ra+37]=si,this.uint8[ra+38]=Hi,this.uint32[An+10]=Ei,this.int16[en+22]=Vi,U},y}(Rn);ro.prototype.bytesPerElement=48,Z(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",ro);var Ao=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.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)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,_a,Pa,qo,Na,ja){var us=this.length;return this.resize(us+1),this.emplace(us,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,_a,Pa,qo,Na,ja)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,_a,Pa,qo,Na,ja,us){var zo=U*34,rl=U*17;return this.int16[zo+0]=J,this.int16[zo+1]=ne,this.int16[zo+2]=fe,this.int16[zo+3]=Fe,this.int16[zo+4]=Qe,this.int16[zo+5]=st,this.int16[zo+6]=mt,this.int16[zo+7]=Xt,this.uint16[zo+8]=ur,this.uint16[zo+9]=nr,this.uint16[zo+10]=Lr,this.uint16[zo+11]=Yr,this.uint16[zo+12]=_i,this.uint16[zo+13]=si,this.uint16[zo+14]=Hi,this.uint16[zo+15]=Ei,this.uint16[zo+16]=Vi,this.uint16[zo+17]=en,this.uint16[zo+18]=An,this.uint16[zo+19]=ra,this.uint16[zo+20]=$n,this.uint16[zo+21]=Ba,this.uint16[zo+22]=_a,this.uint32[rl+12]=Pa,this.float32[rl+13]=qo,this.float32[rl+14]=Na,this.float32[rl+15]=ja,this.float32[rl+16]=us,U},y}(Rn);Ao.prototype.bytesPerElement=68,Z(\"StructArrayLayout8i15ui1ul4f68\",Ao);var Jn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.float32[ne+0]=J,U},y}(Rn);Jn.prototype.bytesPerElement=4,Z(\"StructArrayLayout1f4\",Jn);var Oa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.int16[Fe+0]=J,this.int16[Fe+1]=ne,this.int16[Fe+2]=fe,U},y}(Rn);Oa.prototype.bytesPerElement=6,Z(\"StructArrayLayout3i6\",Oa);var _o=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*2,Qe=U*4;return this.uint32[Fe+0]=J,this.uint16[Qe+2]=ne,this.uint16[Qe+3]=fe,U},y}(Rn);_o.prototype.bytesPerElement=8,Z(\"StructArrayLayout1ul2ui8\",_o);var Po=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.uint16[fe+0]=J,this.uint16[fe+1]=ne,U},y}(Rn);Po.prototype.bytesPerElement=4,Z(\"StructArrayLayout2ui4\",Po);var Jo=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.uint16[ne+0]=J,U},y}(Rn);Jo.prototype.bytesPerElement=2,Z(\"StructArrayLayout1ui2\",Jo);var Yl=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*4;return this.float32[Qe+0]=J,this.float32[Qe+1]=ne,this.float32[Qe+2]=fe,this.float32[Qe+3]=Fe,U},y}(Rn);Yl.prototype.bytesPerElement=16,Z(\"StructArrayLayout4f16\",Yl);var $c=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={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 I.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},I.x1.get=function(){return this._structArray.int16[this._pos2+2]},I.y1.get=function(){return this._structArray.int16[this._pos2+3]},I.x2.get=function(){return this._structArray.int16[this._pos2+4]},I.y2.get=function(){return this._structArray.int16[this._pos2+5]},I.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},I.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},I.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},I.anchorPoint.get=function(){return new u(this.anchorPointX,this.anchorPointY)},Object.defineProperties(y.prototype,I),y}(Bn);$c.prototype.size=20;var xs=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new $c(this,U)},y}(Aa);Z(\"CollisionBoxArray\",xs);var Qc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={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 I.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},I.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},I.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},I.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},I.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},I.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},I.segment.get=function(){return this._structArray.uint16[this._pos2+10]},I.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},I.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},I.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},I.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},I.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},I.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},I.placedOrientation.set=function(U){this._structArray.uint8[this._pos1+37]=U},I.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},I.hidden.set=function(U){this._structArray.uint8[this._pos1+38]=U},I.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},I.crossTileID.set=function(U){this._structArray.uint32[this._pos4+10]=U},I.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(y.prototype,I),y}(Bn);Qc.prototype.size=48;var El=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new Qc(this,U)},y}(ro);Z(\"PlacedSymbolArray\",El);var bc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={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 I.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},I.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},I.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},I.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},I.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},I.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},I.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},I.key.get=function(){return this._structArray.uint16[this._pos2+8]},I.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},I.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},I.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},I.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},I.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},I.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},I.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},I.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},I.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},I.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},I.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},I.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},I.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},I.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},I.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},I.crossTileID.set=function(U){this._structArray.uint32[this._pos4+12]=U},I.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},I.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},I.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},I.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(y.prototype,I),y}(Bn);bc.prototype.size=68;var wc=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new bc(this,U)},y}(Ao);Z(\"SymbolInstanceArray\",wc);var yf=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getoffsetX=function(U){return this.float32[U*1+0]},y}(Jn);Z(\"GlyphOffsetArray\",yf);var Gl=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getx=function(U){return this.int16[U*3+0]},y.prototype.gety=function(U){return this.int16[U*3+1]},y.prototype.gettileUnitDistanceFromAnchor=function(U){return this.int16[U*3+2]},y}(Oa);Z(\"SymbolLineVertexArray\",Gl);var Fc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return I.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},I.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},I.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(y.prototype,I),y}(Bn);Fc.prototype.size=8;var ef=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new Fc(this,U)},y}(_o);Z(\"FeatureIndexArray\",ef);var ls=Dn([{name:\"a_pos\",components:2,type:\"Int16\"}],4),_f=ls.members,ns=function(y){y===void 0&&(y=[]),this.segments=y};ns.prototype.prepareSegment=function(y,I,U,J){var ne=this.segments[this.segments.length-1];return y>ns.MAX_VERTEX_ARRAY_LENGTH&&re(\"Max vertices per segment is \"+ns.MAX_VERTEX_ARRAY_LENGTH+\": bucket requested \"+y),(!ne||ne.vertexLength+y>ns.MAX_VERTEX_ARRAY_LENGTH||ne.sortKey!==J)&&(ne={vertexOffset:I.length,primitiveOffset:U.length,vertexLength:0,primitiveLength:0},J!==void 0&&(ne.sortKey=J),this.segments.push(ne)),ne},ns.prototype.get=function(){return this.segments},ns.prototype.destroy=function(){for(var y=0,I=this.segments;y<I.length;y+=1){var U=I[y];for(var J in U.vaos)U.vaos[J].destroy()}},ns.simpleSegment=function(y,I,U,J){return new ns([{vertexOffset:y,primitiveOffset:I,vertexLength:U,primitiveLength:J,vaos:{},sortKey:0}])},ns.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Z(\"SegmentVector\",ns);function Y(m,y){return m=p(Math.floor(m),0,255),y=p(Math.floor(y),0,255),256*m+y}var z=Dn([{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\"}]),K=a(function(m){function y(I,U){var J,ne,fe,Fe,Qe,st,mt,Xt;for(J=I.length&3,ne=I.length-J,fe=U,Qe=3432918353,st=461845907,Xt=0;Xt<ne;)mt=I.charCodeAt(Xt)&255|(I.charCodeAt(++Xt)&255)<<8|(I.charCodeAt(++Xt)&255)<<16|(I.charCodeAt(++Xt)&255)<<24,++Xt,mt=(mt&65535)*Qe+(((mt>>>16)*Qe&65535)<<16)&4294967295,mt=mt<<15|mt>>>17,mt=(mt&65535)*st+(((mt>>>16)*st&65535)<<16)&4294967295,fe^=mt,fe=fe<<13|fe>>>19,Fe=(fe&65535)*5+(((fe>>>16)*5&65535)<<16)&4294967295,fe=(Fe&65535)+27492+(((Fe>>>16)+58964&65535)<<16);switch(mt=0,J){case 3:mt^=(I.charCodeAt(Xt+2)&255)<<16;case 2:mt^=(I.charCodeAt(Xt+1)&255)<<8;case 1:mt^=I.charCodeAt(Xt)&255,mt=(mt&65535)*Qe+(((mt>>>16)*Qe&65535)<<16)&4294967295,mt=mt<<15|mt>>>17,mt=(mt&65535)*st+(((mt>>>16)*st&65535)<<16)&4294967295,fe^=mt}return fe^=I.length,fe^=fe>>>16,fe=(fe&65535)*2246822507+(((fe>>>16)*2246822507&65535)<<16)&4294967295,fe^=fe>>>13,fe=(fe&65535)*3266489909+(((fe>>>16)*3266489909&65535)<<16)&4294967295,fe^=fe>>>16,fe>>>0}m.exports=y}),O=a(function(m){function y(I,U){for(var J=I.length,ne=U^J,fe=0,Fe;J>=4;)Fe=I.charCodeAt(fe)&255|(I.charCodeAt(++fe)&255)<<8|(I.charCodeAt(++fe)&255)<<16|(I.charCodeAt(++fe)&255)<<24,Fe=(Fe&65535)*1540483477+(((Fe>>>16)*1540483477&65535)<<16),Fe^=Fe>>>24,Fe=(Fe&65535)*1540483477+(((Fe>>>16)*1540483477&65535)<<16),ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16)^Fe,J-=4,++fe;switch(J){case 3:ne^=(I.charCodeAt(fe+2)&255)<<16;case 2:ne^=(I.charCodeAt(fe+1)&255)<<8;case 1:ne^=I.charCodeAt(fe)&255,ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16)}return ne^=ne>>>13,ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16),ne^=ne>>>15,ne>>>0}m.exports=y}),$=K,pe=K,de=O;$.murmur3=pe,$.murmur2=de;var Ie=function(){this.ids=[],this.positions=[],this.indexed=!1};Ie.prototype.add=function(y,I,U,J){this.ids.push(pt(y)),this.positions.push(I,U,J)},Ie.prototype.getPositions=function(y){for(var I=pt(y),U=0,J=this.ids.length-1;U<J;){var ne=U+J>>1;this.ids[ne]>=I?J=ne:U=ne+1}for(var fe=[];this.ids[U]===I;){var Fe=this.positions[3*U],Qe=this.positions[3*U+1],st=this.positions[3*U+2];fe.push({index:Fe,start:Qe,end:st}),U++}return fe},Ie.serialize=function(y,I){var U=new Float64Array(y.ids),J=new Uint32Array(y.positions);return Kt(U,J,0,U.length-1),I&&I.push(U.buffer,J.buffer),{ids:U,positions:J}},Ie.deserialize=function(y){var I=new Ie;return I.ids=y.ids,I.positions=y.positions,I.indexed=!0,I};var $e=Math.pow(2,53)-1;function pt(m){var y=+m;return!isNaN(y)&&y<=$e?y:$(String(m))}function Kt(m,y,I,U){for(;I<U;){for(var J=m[I+U>>1],ne=I-1,fe=U+1;;){do ne++;while(m[ne]<J);do fe--;while(m[fe]>J);if(ne>=fe)break;ir(m,ne,fe),ir(y,3*ne,3*fe),ir(y,3*ne+1,3*fe+1),ir(y,3*ne+2,3*fe+2)}fe-I<U-fe?(Kt(m,y,I,fe),I=fe+1):(Kt(m,y,fe+1,U),U=fe)}}function ir(m,y,I){var U=m[y];m[y]=m[I],m[I]=U}Z(\"FeaturePositionMap\",Ie);var Jt=function(y,I){this.gl=y.gl,this.location=I},vt=function(m){function y(I,U){m.call(this,I,U),this.current=0}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){this.current!==U&&(this.current=U,this.gl.uniform1i(this.location,U))},y}(Jt),Pt=function(m){function y(I,U){m.call(this,I,U),this.current=0}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){this.current!==U&&(this.current=U,this.gl.uniform1f(this.location,U))},y}(Jt),Wt=function(m){function y(I,U){m.call(this,I,U),this.current=[0,0]}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){(U[0]!==this.current[0]||U[1]!==this.current[1])&&(this.current=U,this.gl.uniform2f(this.location,U[0],U[1]))},y}(Jt),rr=function(m){function y(I,U){m.call(this,I,U),this.current=[0,0,0]}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){(U[0]!==this.current[0]||U[1]!==this.current[1]||U[2]!==this.current[2])&&(this.current=U,this.gl.uniform3f(this.location,U[0],U[1],U[2]))},y}(Jt),dr=function(m){function y(I,U){m.call(this,I,U),this.current=[0,0,0,0]}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){(U[0]!==this.current[0]||U[1]!==this.current[1]||U[2]!==this.current[2]||U[3]!==this.current[3])&&(this.current=U,this.gl.uniform4f(this.location,U[0],U[1],U[2],U[3]))},y}(Jt),pr=function(m){function y(I,U){m.call(this,I,U),this.current=ss.transparent}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){(U.r!==this.current.r||U.g!==this.current.g||U.b!==this.current.b||U.a!==this.current.a)&&(this.current=U,this.gl.uniform4f(this.location,U.r,U.g,U.b,U.a))},y}(Jt),kr=new Float32Array(16),Ar=function(m){function y(I,U){m.call(this,I,U),this.current=kr}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){if(U[12]!==this.current[12]||U[0]!==this.current[0]){this.current=U,this.gl.uniformMatrix4fv(this.location,!1,U);return}for(var J=1;J<16;J++)if(U[J]!==this.current[J]){this.current=U,this.gl.uniformMatrix4fv(this.location,!1,U);break}},y}(Jt);function gr(m){return[Y(255*m.r,255*m.g),Y(255*m.b,255*m.a)]}var Cr=function(y,I,U){this.value=y,this.uniformNames=I.map(function(J){return\"u_\"+J}),this.type=U};Cr.prototype.setUniform=function(y,I,U){y.set(U.constantOr(this.value))},Cr.prototype.getBinding=function(y,I,U){return this.type===\"color\"?new pr(y,I):new Pt(y,I)};var cr=function(y,I){this.uniformNames=I.map(function(U){return\"u_\"+U}),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1};cr.prototype.setConstantPatternPositions=function(y,I){this.pixelRatioFrom=I.pixelRatio,this.pixelRatioTo=y.pixelRatio,this.patternFrom=I.tlbr,this.patternTo=y.tlbr},cr.prototype.setUniform=function(y,I,U,J){var ne=J===\"u_pattern_to\"?this.patternTo:J===\"u_pattern_from\"?this.patternFrom:J===\"u_pixel_ratio_to\"?this.pixelRatioTo:J===\"u_pixel_ratio_from\"?this.pixelRatioFrom:null;ne&&y.set(ne)},cr.prototype.getBinding=function(y,I,U){return U.substr(0,9)===\"u_pattern\"?new dr(y,I):new Pt(y,I)};var Gr=function(y,I,U,J){this.expression=y,this.type=U,this.maxValue=0,this.paintVertexAttributes=I.map(function(ne){return{name:\"a_\"+ne,type:\"Float32\",components:U===\"color\"?2:1,offset:0}}),this.paintVertexArray=new J};Gr.prototype.populatePaintArray=function(y,I,U,J,ne){var fe=this.paintVertexArray.length,Fe=this.expression.evaluate(new pn(0),I,{},J,[],ne);this.paintVertexArray.resize(y),this._setPaintValue(fe,y,Fe)},Gr.prototype.updatePaintArray=function(y,I,U,J){var ne=this.expression.evaluate({zoom:0},U,J);this._setPaintValue(y,I,ne)},Gr.prototype._setPaintValue=function(y,I,U){if(this.type===\"color\")for(var J=gr(U),ne=y;ne<I;ne++)this.paintVertexArray.emplace(ne,J[0],J[1]);else{for(var fe=y;fe<I;fe++)this.paintVertexArray.emplace(fe,U);this.maxValue=Math.max(this.maxValue,Math.abs(U))}},Gr.prototype.upload=function(y){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=y.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},Gr.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()};var ei=function(y,I,U,J,ne,fe){this.expression=y,this.uniformNames=I.map(function(Fe){return\"u_\"+Fe+\"_t\"}),this.type=U,this.useIntegerZoom=J,this.zoom=ne,this.maxValue=0,this.paintVertexAttributes=I.map(function(Fe){return{name:\"a_\"+Fe,type:\"Float32\",components:U===\"color\"?4:2,offset:0}}),this.paintVertexArray=new fe};ei.prototype.populatePaintArray=function(y,I,U,J,ne){var fe=this.expression.evaluate(new pn(this.zoom),I,{},J,[],ne),Fe=this.expression.evaluate(new pn(this.zoom+1),I,{},J,[],ne),Qe=this.paintVertexArray.length;this.paintVertexArray.resize(y),this._setPaintValue(Qe,y,fe,Fe)},ei.prototype.updatePaintArray=function(y,I,U,J){var ne=this.expression.evaluate({zoom:this.zoom},U,J),fe=this.expression.evaluate({zoom:this.zoom+1},U,J);this._setPaintValue(y,I,ne,fe)},ei.prototype._setPaintValue=function(y,I,U,J){if(this.type===\"color\")for(var ne=gr(U),fe=gr(J),Fe=y;Fe<I;Fe++)this.paintVertexArray.emplace(Fe,ne[0],ne[1],fe[0],fe[1]);else{for(var Qe=y;Qe<I;Qe++)this.paintVertexArray.emplace(Qe,U,J);this.maxValue=Math.max(this.maxValue,Math.abs(U),Math.abs(J))}},ei.prototype.upload=function(y){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=y.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},ei.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},ei.prototype.setUniform=function(y,I){var U=this.useIntegerZoom?Math.floor(I.zoom):I.zoom,J=p(this.expression.interpolationFactor(U,this.zoom,this.zoom+1),0,1);y.set(J)},ei.prototype.getBinding=function(y,I,U){return new Pt(y,I)};var yi=function(y,I,U,J,ne,fe){this.expression=y,this.type=I,this.useIntegerZoom=U,this.zoom=J,this.layerId=fe,this.zoomInPaintVertexArray=new ne,this.zoomOutPaintVertexArray=new ne};yi.prototype.populatePaintArray=function(y,I,U){var J=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(y),this.zoomOutPaintVertexArray.resize(y),this._setPaintValues(J,y,I.patterns&&I.patterns[this.layerId],U)},yi.prototype.updatePaintArray=function(y,I,U,J,ne){this._setPaintValues(y,I,U.patterns&&U.patterns[this.layerId],ne)},yi.prototype._setPaintValues=function(y,I,U,J){if(!(!J||!U)){var ne=U.min,fe=U.mid,Fe=U.max,Qe=J[ne],st=J[fe],mt=J[Fe];if(!(!Qe||!st||!mt))for(var Xt=y;Xt<I;Xt++)this.zoomInPaintVertexArray.emplace(Xt,st.tl[0],st.tl[1],st.br[0],st.br[1],Qe.tl[0],Qe.tl[1],Qe.br[0],Qe.br[1],st.pixelRatio,Qe.pixelRatio),this.zoomOutPaintVertexArray.emplace(Xt,st.tl[0],st.tl[1],st.br[0],st.br[1],mt.tl[0],mt.tl[1],mt.br[0],mt.br[1],st.pixelRatio,mt.pixelRatio)}},yi.prototype.upload=function(y){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=y.createVertexBuffer(this.zoomInPaintVertexArray,z.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=y.createVertexBuffer(this.zoomOutPaintVertexArray,z.members,this.expression.isStateDependent))},yi.prototype.destroy=function(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()};var tn=function(y,I,U){this.binders={},this._buffers=[];var J=[];for(var ne in y.paint._values)if(U(ne)){var fe=y.paint.get(ne);if(!(!(fe instanceof dl)||!Gs(fe.property.specification))){var Fe=ln(ne,y.type),Qe=fe.value,st=fe.property.specification.type,mt=fe.property.useIntegerZoom,Xt=fe.property.specification[\"property-type\"],ur=Xt===\"cross-faded\"||Xt===\"cross-faded-data-driven\";if(Qe.kind===\"constant\")this.binders[ne]=ur?new cr(Qe.value,Fe):new Cr(Qe.value,Fe,st),J.push(\"/u_\"+ne);else if(Qe.kind===\"source\"||ur){var nr=qn(ne,st,\"source\");this.binders[ne]=ur?new yi(Qe,st,mt,I,nr,y.id):new Gr(Qe,Fe,st,nr),J.push(\"/a_\"+ne)}else{var Lr=qn(ne,st,\"composite\");this.binders[ne]=new ei(Qe,Fe,st,mt,I,Lr),J.push(\"/z_\"+ne)}}}this.cacheKey=J.sort().join(\"\")};tn.prototype.getMaxValue=function(y){var I=this.binders[y];return I instanceof Gr||I instanceof ei?I.maxValue:0},tn.prototype.populatePaintArrays=function(y,I,U,J,ne){for(var fe in this.binders){var Fe=this.binders[fe];(Fe instanceof Gr||Fe instanceof ei||Fe instanceof yi)&&Fe.populatePaintArray(y,I,U,J,ne)}},tn.prototype.setConstantPatternPositions=function(y,I){for(var U in this.binders){var J=this.binders[U];J instanceof cr&&J.setConstantPatternPositions(y,I)}},tn.prototype.updatePaintArrays=function(y,I,U,J,ne){var fe=!1;for(var Fe in y)for(var Qe=I.getPositions(Fe),st=0,mt=Qe;st<mt.length;st+=1){var Xt=mt[st],ur=U.feature(Xt.index);for(var nr in this.binders){var Lr=this.binders[nr];if((Lr instanceof Gr||Lr instanceof ei||Lr instanceof yi)&&Lr.expression.isStateDependent===!0){var Yr=J.paint.get(nr);Lr.expression=Yr.value,Lr.updatePaintArray(Xt.start,Xt.end,ur,y[Fe],ne),fe=!0}}}return fe},tn.prototype.defines=function(){var y=[];for(var I in this.binders){var U=this.binders[I];(U instanceof Cr||U instanceof cr)&&y.push.apply(y,U.uniformNames.map(function(J){return\"#define HAS_UNIFORM_\"+J}))}return y},tn.prototype.getBinderAttributes=function(){var y=[];for(var I in this.binders){var U=this.binders[I];if(U instanceof Gr||U instanceof ei)for(var J=0;J<U.paintVertexAttributes.length;J++)y.push(U.paintVertexAttributes[J].name);else if(U instanceof yi)for(var ne=0;ne<z.members.length;ne++)y.push(z.members[ne].name)}return y},tn.prototype.getBinderUniforms=function(){var y=[];for(var I in this.binders){var U=this.binders[I];if(U instanceof Cr||U instanceof cr||U instanceof ei)for(var J=0,ne=U.uniformNames;J<ne.length;J+=1){var fe=ne[J];y.push(fe)}}return y},tn.prototype.getPaintVertexBuffers=function(){return this._buffers},tn.prototype.getUniforms=function(y,I){var U=[];for(var J in this.binders){var ne=this.binders[J];if(ne instanceof Cr||ne instanceof cr||ne instanceof ei)for(var fe=0,Fe=ne.uniformNames;fe<Fe.length;fe+=1){var Qe=Fe[fe];if(I[Qe]){var st=ne.getBinding(y,I[Qe],Qe);U.push({name:Qe,property:J,binding:st})}}}return U},tn.prototype.setUniforms=function(y,I,U,J){for(var ne=0,fe=I;ne<fe.length;ne+=1){var Fe=fe[ne],Qe=Fe.name,st=Fe.property,mt=Fe.binding;this.binders[st].setUniform(mt,J,U.get(st),Qe)}},tn.prototype.updatePaintBuffers=function(y){this._buffers=[];for(var I in this.binders){var U=this.binders[I];if(y&&U instanceof yi){var J=y.fromScale===2?U.zoomInPaintVertexBuffer:U.zoomOutPaintVertexBuffer;J&&this._buffers.push(J)}else(U instanceof Gr||U instanceof ei)&&U.paintVertexBuffer&&this._buffers.push(U.paintVertexBuffer)}},tn.prototype.upload=function(y){for(var I in this.binders){var U=this.binders[I];(U instanceof Gr||U instanceof ei||U instanceof yi)&&U.upload(y)}this.updatePaintBuffers()},tn.prototype.destroy=function(){for(var y in this.binders){var I=this.binders[y];(I instanceof Gr||I instanceof ei||I instanceof yi)&&I.destroy()}};var Ri=function(y,I,U){U===void 0&&(U=function(){return!0}),this.programConfigurations={};for(var J=0,ne=y;J<ne.length;J+=1){var fe=ne[J];this.programConfigurations[fe.id]=new tn(fe,I,U)}this.needsUpload=!1,this._featureMap=new Ie,this._bufferOffset=0};Ri.prototype.populatePaintArrays=function(y,I,U,J,ne,fe){for(var Fe in this.programConfigurations)this.programConfigurations[Fe].populatePaintArrays(y,I,J,ne,fe);I.id!==void 0&&this._featureMap.add(I.id,U,this._bufferOffset,y),this._bufferOffset=y,this.needsUpload=!0},Ri.prototype.updatePaintArrays=function(y,I,U,J){for(var ne=0,fe=U;ne<fe.length;ne+=1){var Fe=fe[ne];this.needsUpload=this.programConfigurations[Fe.id].updatePaintArrays(y,this._featureMap,I,Fe,J)||this.needsUpload}},Ri.prototype.get=function(y){return this.programConfigurations[y]},Ri.prototype.upload=function(y){if(this.needsUpload){for(var I in this.programConfigurations)this.programConfigurations[I].upload(y);this.needsUpload=!1}},Ri.prototype.destroy=function(){for(var y in this.programConfigurations)this.programConfigurations[y].destroy()};function ln(m,y){var I={\"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\"]};return I[m]||[m.replace(y+\"-\",\"\").replace(/-/g,\"_\")]}function Qn(m){var y={\"line-pattern\":{source:Kn,composite:Kn},\"fill-pattern\":{source:Kn,composite:Kn},\"fill-extrusion-pattern\":{source:Kn,composite:Kn}};return y[m]}function qn(m,y,I){var U={color:{source:ca,composite:Yl},number:{source:Jn,composite:ca}},J=Qn(m);return J&&J[I]||U[y][I]}Z(\"ConstantBinder\",Cr),Z(\"CrossFadedConstantBinder\",cr),Z(\"SourceExpressionBinder\",Gr),Z(\"CrossFadedCompositeBinder\",yi),Z(\"CompositeExpressionBinder\",ei),Z(\"ProgramConfiguration\",tn,{omit:[\"_buffers\"]}),Z(\"ProgramConfigurationSet\",Ri);var rn=8192,bn=15,mn=Math.pow(2,bn-1)-1,Gn=-mn-1;function da(m){for(var y=rn/m.extent,I=m.loadGeometry(),U=0;U<I.length;U++)for(var J=I[U],ne=0;ne<J.length;ne++){var fe=J[ne],Fe=Math.round(fe.x*y),Qe=Math.round(fe.y*y);fe.x=p(Fe,Gn,mn),fe.y=p(Qe,Gn,mn),(Fe<fe.x||Fe>fe.x+1||Qe<fe.y||Qe>fe.y+1)&&re(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return I}function No(m,y){return{type:m.type,id:m.id,properties:m.properties,geometry:y?da(m):[]}}function Do(m,y,I,U,J){m.emplaceBack(y*2+(U+1)/2,I*2+(J+1)/2)}var ps=function(y){this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=y.index,this.hasPattern=!1,this.layoutVertexArray=new ji,this.indexArray=new ma,this.segments=new ns,this.programConfigurations=new Ri(y.layers,y.zoom),this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};ps.prototype.populate=function(y,I,U){var J=this.layers[0],ne=[],fe=null;J.type===\"circle\"&&(fe=J.layout.get(\"circle-sort-key\"));for(var Fe=0,Qe=y;Fe<Qe.length;Fe+=1){var st=Qe[Fe],mt=st.feature,Xt=st.id,ur=st.index,nr=st.sourceLayerIndex,Lr=this.layers[0]._featureFilter.needGeometry,Yr=No(mt,Lr);if(this.layers[0]._featureFilter.filter(new pn(this.zoom),Yr,U)){var _i=fe?fe.evaluate(Yr,{},U):void 0,si={id:Xt,properties:mt.properties,type:mt.type,sourceLayerIndex:nr,index:ur,geometry:Lr?Yr.geometry:da(mt),patterns:{},sortKey:_i};ne.push(si)}}fe&&ne.sort(function(_a,Pa){return _a.sortKey-Pa.sortKey});for(var Hi=0,Ei=ne;Hi<Ei.length;Hi+=1){var Vi=Ei[Hi],en=Vi,An=en.geometry,ra=en.index,$n=en.sourceLayerIndex,Ba=y[ra].feature;this.addFeature(Vi,An,ra,U),I.featureIndex.insert(Ba,An,ra,$n,this.index)}},ps.prototype.update=function(y,I,U){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(y,I,this.stateDependentLayers,U)},ps.prototype.isEmpty=function(){return this.layoutVertexArray.length===0},ps.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},ps.prototype.upload=function(y){this.uploaded||(this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,_f),this.indexBuffer=y.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(y),this.uploaded=!0},ps.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},ps.prototype.addFeature=function(y,I,U,J){for(var ne=0,fe=I;ne<fe.length;ne+=1)for(var Fe=fe[ne],Qe=0,st=Fe;Qe<st.length;Qe+=1){var mt=st[Qe],Xt=mt.x,ur=mt.y;if(!(Xt<0||Xt>=rn||ur<0||ur>=rn)){var nr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,y.sortKey),Lr=nr.vertexLength;Do(this.layoutVertexArray,Xt,ur,-1,-1),Do(this.layoutVertexArray,Xt,ur,1,-1),Do(this.layoutVertexArray,Xt,ur,1,1),Do(this.layoutVertexArray,Xt,ur,-1,1),this.indexArray.emplaceBack(Lr,Lr+1,Lr+2),this.indexArray.emplaceBack(Lr,Lr+3,Lr+2),nr.vertexLength+=4,nr.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,y,U,{},J)},Z(\"CircleBucket\",ps,{omit:[\"layers\"]});function fo(m,y){for(var I=0;I<m.length;I++)if(_d(y,m[I]))return!0;for(var U=0;U<y.length;U++)if(_d(m,y[U]))return!0;return!!Ev(m,y)}function as(m,y,I){return!!(_d(m,y)||Yv(y,m,I))}function tl(m,y){if(m.length===1)return vp(y,m[0]);for(var I=0;I<y.length;I++)for(var U=y[I],J=0;J<U.length;J++)if(_d(m,U[J]))return!0;for(var ne=0;ne<m.length;ne++)if(vp(y,m[ne]))return!0;for(var fe=0;fe<y.length;fe++)if(Ev(m,y[fe]))return!0;return!1}function zu(m,y,I){for(var U=0;U<y.length;U++){var J=y[U];if(m.length>=3){for(var ne=0;ne<J.length;ne++)if(_d(m,J[ne]))return!0}if(Mv(m,J,I))return!0}return!1}function Mv(m,y,I){if(m.length>1){if(Ev(m,y))return!0;for(var U=0;U<y.length;U++)if(Yv(y[U],m,I))return!0}for(var J=0;J<m.length;J++)if(Yv(m[J],y,I))return!0;return!1}function Ev(m,y){if(m.length===0||y.length===0)return!1;for(var I=0;I<m.length-1;I++)for(var U=m[I],J=m[I+1],ne=0;ne<y.length-1;ne++){var fe=y[ne],Fe=y[ne+1];if(yd(U,J,fe,Fe))return!0}return!1}function yd(m,y,I,U){return ae(m,I,U)!==ae(y,I,U)&&ae(m,y,I)!==ae(m,y,U)}function Yv(m,y,I){var U=I*I;if(y.length===1)return m.distSqr(y[0])<U;for(var J=1;J<y.length;J++){var ne=y[J-1],fe=y[J];if(cg(m,ne,fe)<U)return!0}return!1}function cg(m,y,I){var U=y.distSqr(I);if(U===0)return m.distSqr(y);var J=((m.x-y.x)*(I.x-y.x)+(m.y-y.y)*(I.y-y.y))/U;return J<0?m.distSqr(y):J>1?m.distSqr(I):m.distSqr(I.sub(y)._mult(J)._add(y))}function vp(m,y){for(var I=!1,U,J,ne,fe=0;fe<m.length;fe++){U=m[fe];for(var Fe=0,Qe=U.length-1;Fe<U.length;Qe=Fe++)J=U[Fe],ne=U[Qe],J.y>y.y!=ne.y>y.y&&y.x<(ne.x-J.x)*(y.y-J.y)/(ne.y-J.y)+J.x&&(I=!I)}return I}function _d(m,y){for(var I=!1,U=0,J=m.length-1;U<m.length;J=U++){var ne=m[U],fe=m[J];ne.y>y.y!=fe.y>y.y&&y.x<(fe.x-ne.x)*(y.y-ne.y)/(fe.y-ne.y)+ne.x&&(I=!I)}return I}function pp(m,y,I,U,J){for(var ne=0,fe=m;ne<fe.length;ne+=1){var Fe=fe[ne];if(y<=Fe.x&&I<=Fe.y&&U>=Fe.x&&J>=Fe.y)return!0}var Qe=[new u(y,I),new u(y,J),new u(U,J),new u(U,I)];if(m.length>2)for(var st=0,mt=Qe;st<mt.length;st+=1){var Xt=mt[st];if(_d(m,Xt))return!0}for(var ur=0;ur<m.length-1;ur++){var nr=m[ur],Lr=m[ur+1];if(Nd(nr,Lr,Qe))return!0}return!1}function Nd(m,y,I){var U=I[0],J=I[2];if(m.x<U.x&&y.x<U.x||m.x>J.x&&y.x>J.x||m.y<U.y&&y.y<U.y||m.y>J.y&&y.y>J.y)return!1;var ne=ae(m,y,I[0]);return ne!==ae(m,y,I[1])||ne!==ae(m,y,I[2])||ne!==ae(m,y,I[3])}function xd(m,y,I){var U=y.paint.get(m).value;return U.kind===\"constant\"?U.value:I.programConfigurations.get(y.id).getMaxValue(m)}function kv(m){return Math.sqrt(m[0]*m[0]+m[1]*m[1])}function Kv(m,y,I,U,J){if(!y[0]&&!y[1])return m;var ne=u.convert(y)._mult(J);I===\"viewport\"&&ne._rotate(-U);for(var fe=[],Fe=0;Fe<m.length;Fe++){var Qe=m[Fe];fe.push(Qe.sub(ne))}return fe}var Cv=new Oi({\"circle-sort-key\":new Er(on.layout_circle[\"circle-sort-key\"])}),ny=new Oi({\"circle-radius\":new Er(on.paint_circle[\"circle-radius\"]),\"circle-color\":new Er(on.paint_circle[\"circle-color\"]),\"circle-blur\":new Er(on.paint_circle[\"circle-blur\"]),\"circle-opacity\":new Er(on.paint_circle[\"circle-opacity\"]),\"circle-translate\":new At(on.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new At(on.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new At(on.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new At(on.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new Er(on.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new Er(on.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new Er(on.paint_circle[\"circle-stroke-opacity\"])}),fg={paint:ny,layout:Cv},Hf=typeof Float32Array!=\"undefined\"?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var m=arguments,y=0,I=arguments.length;I--;)y+=m[I]*m[I];return Math.sqrt(y)});function hg(){var m=new Hf(4);return Hf!=Float32Array&&(m[1]=0,m[2]=0),m[0]=1,m[3]=1,m}function ay(m,y,I){var U=y[0],J=y[1],ne=y[2],fe=y[3],Fe=Math.sin(I),Qe=Math.cos(I);return m[0]=U*Qe+ne*Fe,m[1]=J*Qe+fe*Fe,m[2]=U*-Fe+ne*Qe,m[3]=J*-Fe+fe*Qe,m}function Rh(){var m=new Hf(9);return Hf!=Float32Array&&(m[1]=0,m[2]=0,m[3]=0,m[5]=0,m[6]=0,m[7]=0),m[0]=1,m[4]=1,m[8]=1,m}function rm(m,y){var I=Math.sin(y),U=Math.cos(y);return m[0]=U,m[1]=I,m[2]=0,m[3]=-I,m[4]=U,m[5]=0,m[6]=0,m[7]=0,m[8]=1,m}function w1(){var m=new Hf(16);return Hf!=Float32Array&&(m[1]=0,m[2]=0,m[3]=0,m[4]=0,m[6]=0,m[7]=0,m[8]=0,m[9]=0,m[11]=0,m[12]=0,m[13]=0,m[14]=0),m[0]=1,m[5]=1,m[10]=1,m[15]=1,m}function T1(m){var y=new Hf(16);return y[0]=m[0],y[1]=m[1],y[2]=m[2],y[3]=m[3],y[4]=m[4],y[5]=m[5],y[6]=m[6],y[7]=m[7],y[8]=m[8],y[9]=m[9],y[10]=m[10],y[11]=m[11],y[12]=m[12],y[13]=m[13],y[14]=m[14],y[15]=m[15],y}function oy(m){return m[0]=1,m[1]=0,m[2]=0,m[3]=0,m[4]=0,m[5]=1,m[6]=0,m[7]=0,m[8]=0,m[9]=0,m[10]=1,m[11]=0,m[12]=0,m[13]=0,m[14]=0,m[15]=1,m}function im(m,y){var I=y[0],U=y[1],J=y[2],ne=y[3],fe=y[4],Fe=y[5],Qe=y[6],st=y[7],mt=y[8],Xt=y[9],ur=y[10],nr=y[11],Lr=y[12],Yr=y[13],_i=y[14],si=y[15],Hi=I*Fe-U*fe,Ei=I*Qe-J*fe,Vi=I*st-ne*fe,en=U*Qe-J*Fe,An=U*st-ne*Fe,ra=J*st-ne*Qe,$n=mt*Yr-Xt*Lr,Ba=mt*_i-ur*Lr,_a=mt*si-nr*Lr,Pa=Xt*_i-ur*Yr,qo=Xt*si-nr*Yr,Na=ur*si-nr*_i,ja=Hi*Na-Ei*qo+Vi*Pa+en*_a-An*Ba+ra*$n;return ja?(ja=1/ja,m[0]=(Fe*Na-Qe*qo+st*Pa)*ja,m[1]=(J*qo-U*Na-ne*Pa)*ja,m[2]=(Yr*ra-_i*An+si*en)*ja,m[3]=(ur*An-Xt*ra-nr*en)*ja,m[4]=(Qe*_a-fe*Na-st*Ba)*ja,m[5]=(I*Na-J*_a+ne*Ba)*ja,m[6]=(_i*Vi-Lr*ra-si*Ei)*ja,m[7]=(mt*ra-ur*Vi+nr*Ei)*ja,m[8]=(fe*qo-Fe*_a+st*$n)*ja,m[9]=(U*_a-I*qo-ne*$n)*ja,m[10]=(Lr*An-Yr*Vi+si*Hi)*ja,m[11]=(Xt*Vi-mt*An-nr*Hi)*ja,m[12]=(Fe*Ba-fe*Pa-Qe*$n)*ja,m[13]=(I*Pa-U*Ba+J*$n)*ja,m[14]=(Yr*Ei-Lr*en-_i*Hi)*ja,m[15]=(mt*en-Xt*Ei+ur*Hi)*ja,m):null}function nm(m,y,I){var U=y[0],J=y[1],ne=y[2],fe=y[3],Fe=y[4],Qe=y[5],st=y[6],mt=y[7],Xt=y[8],ur=y[9],nr=y[10],Lr=y[11],Yr=y[12],_i=y[13],si=y[14],Hi=y[15],Ei=I[0],Vi=I[1],en=I[2],An=I[3];return m[0]=Ei*U+Vi*Fe+en*Xt+An*Yr,m[1]=Ei*J+Vi*Qe+en*ur+An*_i,m[2]=Ei*ne+Vi*st+en*nr+An*si,m[3]=Ei*fe+Vi*mt+en*Lr+An*Hi,Ei=I[4],Vi=I[5],en=I[6],An=I[7],m[4]=Ei*U+Vi*Fe+en*Xt+An*Yr,m[5]=Ei*J+Vi*Qe+en*ur+An*_i,m[6]=Ei*ne+Vi*st+en*nr+An*si,m[7]=Ei*fe+Vi*mt+en*Lr+An*Hi,Ei=I[8],Vi=I[9],en=I[10],An=I[11],m[8]=Ei*U+Vi*Fe+en*Xt+An*Yr,m[9]=Ei*J+Vi*Qe+en*ur+An*_i,m[10]=Ei*ne+Vi*st+en*nr+An*si,m[11]=Ei*fe+Vi*mt+en*Lr+An*Hi,Ei=I[12],Vi=I[13],en=I[14],An=I[15],m[12]=Ei*U+Vi*Fe+en*Xt+An*Yr,m[13]=Ei*J+Vi*Qe+en*ur+An*_i,m[14]=Ei*ne+Vi*st+en*nr+An*si,m[15]=Ei*fe+Vi*mt+en*Lr+An*Hi,m}function Fu(m,y,I){var U=I[0],J=I[1],ne=I[2],fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si;return y===m?(m[12]=y[0]*U+y[4]*J+y[8]*ne+y[12],m[13]=y[1]*U+y[5]*J+y[9]*ne+y[13],m[14]=y[2]*U+y[6]*J+y[10]*ne+y[14],m[15]=y[3]*U+y[7]*J+y[11]*ne+y[15]):(fe=y[0],Fe=y[1],Qe=y[2],st=y[3],mt=y[4],Xt=y[5],ur=y[6],nr=y[7],Lr=y[8],Yr=y[9],_i=y[10],si=y[11],m[0]=fe,m[1]=Fe,m[2]=Qe,m[3]=st,m[4]=mt,m[5]=Xt,m[6]=ur,m[7]=nr,m[8]=Lr,m[9]=Yr,m[10]=_i,m[11]=si,m[12]=fe*U+mt*J+Lr*ne+y[12],m[13]=Fe*U+Xt*J+Yr*ne+y[13],m[14]=Qe*U+ur*J+_i*ne+y[14],m[15]=st*U+nr*J+si*ne+y[15]),m}function kl(m,y,I){var U=I[0],J=I[1],ne=I[2];return m[0]=y[0]*U,m[1]=y[1]*U,m[2]=y[2]*U,m[3]=y[3]*U,m[4]=y[4]*J,m[5]=y[5]*J,m[6]=y[6]*J,m[7]=y[7]*J,m[8]=y[8]*ne,m[9]=y[9]*ne,m[10]=y[10]*ne,m[11]=y[11]*ne,m[12]=y[12],m[13]=y[13],m[14]=y[14],m[15]=y[15],m}function bd(m,y,I){var U=Math.sin(I),J=Math.cos(I),ne=y[4],fe=y[5],Fe=y[6],Qe=y[7],st=y[8],mt=y[9],Xt=y[10],ur=y[11];return y!==m&&(m[0]=y[0],m[1]=y[1],m[2]=y[2],m[3]=y[3],m[12]=y[12],m[13]=y[13],m[14]=y[14],m[15]=y[15]),m[4]=ne*J+st*U,m[5]=fe*J+mt*U,m[6]=Fe*J+Xt*U,m[7]=Qe*J+ur*U,m[8]=st*J-ne*U,m[9]=mt*J-fe*U,m[10]=Xt*J-Fe*U,m[11]=ur*J-Qe*U,m}function sy(m,y,I){var U=Math.sin(I),J=Math.cos(I),ne=y[0],fe=y[1],Fe=y[2],Qe=y[3],st=y[4],mt=y[5],Xt=y[6],ur=y[7];return y!==m&&(m[8]=y[8],m[9]=y[9],m[10]=y[10],m[11]=y[11],m[12]=y[12],m[13]=y[13],m[14]=y[14],m[15]=y[15]),m[0]=ne*J+st*U,m[1]=fe*J+mt*U,m[2]=Fe*J+Xt*U,m[3]=Qe*J+ur*U,m[4]=st*J-ne*U,m[5]=mt*J-fe*U,m[6]=Xt*J-Fe*U,m[7]=ur*J-Qe*U,m}function A1(m,y,I,U,J){var ne=1/Math.tan(y/2),fe;return m[0]=ne/I,m[1]=0,m[2]=0,m[3]=0,m[4]=0,m[5]=ne,m[6]=0,m[7]=0,m[8]=0,m[9]=0,m[11]=-1,m[12]=0,m[13]=0,m[15]=0,J!=null&&J!==1/0?(fe=1/(U-J),m[10]=(J+U)*fe,m[14]=2*J*U*fe):(m[10]=-1,m[14]=-2*U),m}function Kl(m,y,I,U,J,ne,fe){var Fe=1/(y-I),Qe=1/(U-J),st=1/(ne-fe);return m[0]=-2*Fe,m[1]=0,m[2]=0,m[3]=0,m[4]=0,m[5]=-2*Qe,m[6]=0,m[7]=0,m[8]=0,m[9]=0,m[10]=2*st,m[11]=0,m[12]=(y+I)*Fe,m[13]=(J+U)*Qe,m[14]=(fe+ne)*st,m[15]=1,m}var Nx=nm;function am(){var m=new Hf(3);return Hf!=Float32Array&&(m[0]=0,m[1]=0,m[2]=0),m}function Mw(m){var y=new Hf(3);return y[0]=m[0],y[1]=m[1],y[2]=m[2],y}function Lv(m,y,I){return m[0]=y[0]+I[0],m[1]=y[1]+I[1],m[2]=y[2]+I[2],m}function om(m,y,I){return m[0]=y[0]-I[0],m[1]=y[1]-I[1],m[2]=y[2]-I[2],m}function Ew(m,y,I){return m[0]=y[0]*I,m[1]=y[1]*I,m[2]=y[2]*I,m}function Ux(m,y){var I=y[0],U=y[1],J=y[2],ne=I*I+U*U+J*J;return ne>0&&(ne=1/Math.sqrt(ne)),m[0]=y[0]*ne,m[1]=y[1]*ne,m[2]=y[2]*ne,m}function P9(m,y){return m[0]*y[0]+m[1]*y[1]+m[2]*y[2]}function I9(m,y,I){var U=y[0],J=y[1],ne=y[2],fe=I[0],Fe=I[1],Qe=I[2];return m[0]=J*Qe-ne*Fe,m[1]=ne*fe-U*Qe,m[2]=U*Fe-J*fe,m}function R9(m,y,I){var U=y[0],J=y[1],ne=y[2];return m[0]=U*I[0]+J*I[3]+ne*I[6],m[1]=U*I[1]+J*I[4]+ne*I[7],m[2]=U*I[2]+J*I[5]+ne*I[8],m}var D9=om,mQ=function(){var m=am();return function(y,I,U,J,ne,fe){var Fe,Qe;for(I||(I=3),U||(U=0),J?Qe=Math.min(J*I+U,y.length):Qe=y.length,Fe=U;Fe<Qe;Fe+=I)m[0]=y[Fe],m[1]=y[Fe+1],m[2]=y[Fe+2],ne(m,m,fe),y[Fe]=m[0],y[Fe+1]=m[1],y[Fe+2]=m[2];return y}}();function z9(){var m=new Hf(4);return Hf!=Float32Array&&(m[0]=0,m[1]=0,m[2]=0,m[3]=0),m}function F9(m,y,I){return m[0]=y[0]*I,m[1]=y[1]*I,m[2]=y[2]*I,m[3]=y[3]*I,m}function q9(m,y){return m[0]*y[0]+m[1]*y[1]+m[2]*y[2]+m[3]*y[3]}function ly(m,y,I){var U=y[0],J=y[1],ne=y[2],fe=y[3];return m[0]=I[0]*U+I[4]*J+I[8]*ne+I[12]*fe,m[1]=I[1]*U+I[5]*J+I[9]*ne+I[13]*fe,m[2]=I[2]*U+I[6]*J+I[10]*ne+I[14]*fe,m[3]=I[3]*U+I[7]*J+I[11]*ne+I[15]*fe,m}var Vx=function(){var m=z9();return function(y,I,U,J,ne,fe){var Fe,Qe;for(I||(I=4),U||(U=0),J?Qe=Math.min(J*I+U,y.length):Qe=y.length,Fe=U;Fe<Qe;Fe+=I)m[0]=y[Fe],m[1]=y[Fe+1],m[2]=y[Fe+2],m[3]=y[Fe+3],ne(m,m,fe),y[Fe]=m[0],y[Fe+1]=m[1],y[Fe+2]=m[2],y[Fe+3]=m[3];return y}}();function cC(){var m=new Hf(2);return Hf!=Float32Array&&(m[0]=0,m[1]=0),m}function eS(m){var y=m[0],I=m[1];return y*y+I*I}var tS=eS,yQ=function(){var m=cC();return function(y,I,U,J,ne,fe){var Fe,Qe;for(I||(I=2),U||(U=0),J?Qe=Math.min(J*I+U,y.length):Qe=y.length,Fe=U;Fe<Qe;Fe+=I)m[0]=y[Fe],m[1]=y[Fe+1],ne(m,m,fe),y[Fe]=m[0],y[Fe+1]=m[1];return y}}(),O9=function(m){function y(I){m.call(this,I,fg)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.createBucket=function(U){return new ps(U)},y.prototype.queryRadius=function(U){var J=U;return xd(\"circle-radius\",this,J)+xd(\"circle-stroke-width\",this,J)+kv(this.paint.get(\"circle-translate\"))},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st,mt){for(var Xt=Kv(U,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),Qe.angle,st),ur=this.paint.get(\"circle-radius\").evaluate(J,ne),nr=this.paint.get(\"circle-stroke-width\").evaluate(J,ne),Lr=ur+nr,Yr=this.paint.get(\"circle-pitch-alignment\")===\"map\",_i=Yr?Xt:hC(Xt,mt),si=Yr?Lr*st:Lr,Hi=0,Ei=fe;Hi<Ei.length;Hi+=1)for(var Vi=Ei[Hi],en=0,An=Vi;en<An.length;en+=1){var ra=An[en],$n=Yr?ra:fC(ra,mt),Ba=si,_a=ly([],[ra.x,ra.y,0,1],mt);if(this.paint.get(\"circle-pitch-scale\")===\"viewport\"&&this.paint.get(\"circle-pitch-alignment\")===\"map\"?Ba*=_a[3]/Qe.cameraToCenterDistance:this.paint.get(\"circle-pitch-scale\")===\"map\"&&this.paint.get(\"circle-pitch-alignment\")===\"viewport\"&&(Ba*=Qe.cameraToCenterDistance/_a[3]),as(_i,$n,Ba))return!0}return!1},y}(cn);function fC(m,y){var I=ly([],[m.x,m.y,0,1],y);return new u(I[0]/I[3],I[1]/I[3])}function hC(m,y){return m.map(function(I){return fC(I,y)})}var rS=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(ps);Z(\"HeatmapBucket\",rS,{omit:[\"layers\"]});function wd(m,y,I,U){var J=y.width,ne=y.height;if(!U)U=new Uint8Array(J*ne*I);else if(U instanceof Uint8ClampedArray)U=new Uint8Array(U.buffer);else if(U.length!==J*ne*I)throw new RangeError(\"mismatched image size\");return m.width=J,m.height=ne,m.data=U,m}function kw(m,y,I){var U=y.width,J=y.height;if(!(U===m.width&&J===m.height)){var ne=wd({},{width:U,height:J},I);Cw(m,ne,{x:0,y:0},{x:0,y:0},{width:Math.min(m.width,U),height:Math.min(m.height,J)},I),m.width=U,m.height=J,m.data=ne.data}}function Cw(m,y,I,U,J,ne){if(J.width===0||J.height===0)return y;if(J.width>m.width||J.height>m.height||I.x>m.width-J.width||I.y>m.height-J.height)throw new RangeError(\"out of range source coordinates for image copy\");if(J.width>y.width||J.height>y.height||U.x>y.width-J.width||U.y>y.height-J.height)throw new RangeError(\"out of range destination coordinates for image copy\");for(var fe=m.data,Fe=y.data,Qe=0;Qe<J.height;Qe++)for(var st=((I.y+Qe)*m.width+I.x)*ne,mt=((U.y+Qe)*y.width+U.x)*ne,Xt=0;Xt<J.width*ne;Xt++)Fe[mt+Xt]=fe[st+Xt];return y}var Pv=function(y,I){wd(this,y,1,I)};Pv.prototype.resize=function(y){kw(this,y,1)},Pv.prototype.clone=function(){return new Pv({width:this.width,height:this.height},new Uint8Array(this.data))},Pv.copy=function(y,I,U,J,ne){Cw(y,I,U,J,ne,1)};var lh=function(y,I){wd(this,y,4,I)};lh.prototype.resize=function(y){kw(this,y,4)},lh.prototype.replace=function(y,I){I?this.data.set(y):y instanceof Uint8ClampedArray?this.data=new Uint8Array(y.buffer):this.data=y},lh.prototype.clone=function(){return new lh({width:this.width,height:this.height},new Uint8Array(this.data))},lh.copy=function(y,I,U,J,ne){Cw(y,I,U,J,ne,4)},Z(\"AlphaImage\",Pv),Z(\"RGBAImage\",lh);var Hx=new Oi({\"heatmap-radius\":new Er(on.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new Er(on.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new At(on.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new Ui(on.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new At(on.paint_heatmap[\"heatmap-opacity\"])}),S1={paint:Hx};function Gx(m){var y={},I=m.resolution||256,U=m.clips?m.clips.length:1,J=m.image||new lh({width:I,height:U}),ne=function(Hi,Ei,Vi){y[m.evaluationKey]=Vi;var en=m.expression.evaluate(y);J.data[Hi+Ei+0]=Math.floor(en.r*255/en.a),J.data[Hi+Ei+1]=Math.floor(en.g*255/en.a),J.data[Hi+Ei+2]=Math.floor(en.b*255/en.a),J.data[Hi+Ei+3]=Math.floor(en.a*255)};if(m.clips)for(var st=0,mt=0;st<U;++st,mt+=I*4)for(var Xt=0,ur=0;Xt<I;Xt++,ur+=4){var nr=Xt/(I-1),Lr=m.clips[st],Yr=Lr.start,_i=Lr.end,si=Yr*(1-nr)+_i*nr;ne(mt,ur,si)}else for(var fe=0,Fe=0;fe<I;fe++,Fe+=4){var Qe=fe/(I-1);ne(0,Fe,Qe)}return J}var Lw=function(m){function y(I){m.call(this,I,S1),this._updateColorRamp()}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.createBucket=function(U){return new rS(U)},y.prototype._handleSpecialPaintPropertyUpdate=function(U){U===\"heatmap-color\"&&this._updateColorRamp()},y.prototype._updateColorRamp=function(){var U=this._transitionablePaint._values[\"heatmap-color\"].value.expression;this.colorRamp=Gx({expression:U,evaluationKey:\"heatmapDensity\",image:this.colorRamp}),this.colorRampTexture=null},y.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)},y.prototype.queryRadius=function(){return 0},y.prototype.queryIntersectsFeature=function(){return!1},y.prototype.hasOffscreenPass=function(){return this.paint.get(\"heatmap-opacity\")!==0&&this.visibility!==\"none\"},y}(cn),B9=new Oi({\"hillshade-illumination-direction\":new At(on.paint_hillshade[\"hillshade-illumination-direction\"]),\"hillshade-illumination-anchor\":new At(on.paint_hillshade[\"hillshade-illumination-anchor\"]),\"hillshade-exaggeration\":new At(on.paint_hillshade[\"hillshade-exaggeration\"]),\"hillshade-shadow-color\":new At(on.paint_hillshade[\"hillshade-shadow-color\"]),\"hillshade-highlight-color\":new At(on.paint_hillshade[\"hillshade-highlight-color\"]),\"hillshade-accent-color\":new At(on.paint_hillshade[\"hillshade-accent-color\"])}),N9={paint:B9},dC=function(m){function y(I){m.call(this,I,N9)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.hasOffscreenPass=function(){return this.paint.get(\"hillshade-exaggeration\")!==0&&this.visibility!==\"none\"},y}(cn),vC=Dn([{name:\"a_pos\",components:2,type:\"Int16\"}],4),U9=vC.members,Pw=M1,pC=M1;function M1(m,y,I){I=I||2;var U=y&&y.length,J=U?y[0]*I:m.length,ne=Iw(m,0,J,I,!0),fe=[];if(!ne||ne.next===ne.prev)return fe;var Fe,Qe,st,mt,Xt,ur,nr;if(U&&(ne=lm(m,y,ne,I)),m.length>80*I){Fe=st=m[0],Qe=mt=m[1];for(var Lr=I;Lr<J;Lr+=I)Xt=m[Lr],ur=m[Lr+1],Xt<Fe&&(Fe=Xt),ur<Qe&&(Qe=ur),Xt>st&&(st=Xt),ur>mt&&(mt=ur);nr=Math.max(st-Fe,mt-Qe),nr=nr!==0?1/nr:0}return jx(ne,fe,I,Fe,Qe,nr),fe}function Iw(m,y,I,U,J){var ne,fe;if(J===uS(m,y,I,U)>0)for(ne=y;ne<I;ne+=U)fe=xC(ne,m[ne],m[ne+1],fe);else for(ne=I-U;ne>=y;ne-=U)fe=xC(ne,m[ne],m[ne+1],fe);return fe&&Zx(fe,fe.next)&&(Kx(fe),fe=fe.next),fe}function sm(m,y){if(!m)return m;y||(y=m);var I=m,U;do if(U=!1,!I.steiner&&(Zx(I,I.next)||tf(I.prev,I,I.next)===0)){if(Kx(I),I=y=I.prev,I===I.next)break;U=!0}else I=I.next;while(U||I!==y);return y}function jx(m,y,I,U,J,ne,fe){if(m){!fe&&ne&&Rw(m,U,J,ne);for(var Fe=m,Qe,st;m.prev!==m.next;){if(Qe=m.prev,st=m.next,ne?mC(m,U,J,ne):gC(m)){y.push(Qe.i/I),y.push(m.i/I),y.push(st.i/I),Kx(m),m=st.next,Fe=st.next;continue}if(m=st,m===Fe){fe?fe===1?(m=Wx(sm(m),y,I),jx(m,y,I,U,J,ne,2)):fe===2&&v0(m,y,I,U,J,ne):jx(sm(m),y,I,U,J,ne,1);break}}}}function gC(m){var y=m.prev,I=m,U=m.next;if(tf(y,I,U)>=0)return!1;for(var J=m.next.next;J!==m.prev;){if(um(y.x,y.y,I.x,I.y,U.x,U.y,J.x,J.y)&&tf(J.prev,J,J.next)>=0)return!1;J=J.next}return!0}function mC(m,y,I,U){var J=m.prev,ne=m,fe=m.next;if(tf(J,ne,fe)>=0)return!1;for(var Fe=J.x<ne.x?J.x<fe.x?J.x:fe.x:ne.x<fe.x?ne.x:fe.x,Qe=J.y<ne.y?J.y<fe.y?J.y:fe.y:ne.y<fe.y?ne.y:fe.y,st=J.x>ne.x?J.x>fe.x?J.x:fe.x:ne.x>fe.x?ne.x:fe.x,mt=J.y>ne.y?J.y>fe.y?J.y:fe.y:ne.y>fe.y?ne.y:fe.y,Xt=aS(Fe,Qe,y,I,U),ur=aS(st,mt,y,I,U),nr=m.prevZ,Lr=m.nextZ;nr&&nr.z>=Xt&&Lr&&Lr.z<=ur;){if(nr!==m.prev&&nr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,nr.x,nr.y)&&tf(nr.prev,nr,nr.next)>=0||(nr=nr.prevZ,Lr!==m.prev&&Lr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,Lr.x,Lr.y)&&tf(Lr.prev,Lr,Lr.next)>=0))return!1;Lr=Lr.nextZ}for(;nr&&nr.z>=Xt;){if(nr!==m.prev&&nr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,nr.x,nr.y)&&tf(nr.prev,nr,nr.next)>=0)return!1;nr=nr.prevZ}for(;Lr&&Lr.z<=ur;){if(Lr!==m.prev&&Lr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,Lr.x,Lr.y)&&tf(Lr.prev,Lr,Lr.next)>=0)return!1;Lr=Lr.nextZ}return!0}function Wx(m,y,I){var U=m;do{var J=U.prev,ne=U.next.next;!Zx(J,ne)&&Dw(J,U,U.next,ne)&&Yx(J,ne)&&Yx(ne,J)&&(y.push(J.i/I),y.push(U.i/I),y.push(ne.i/I),Kx(U),Kx(U.next),U=m=ne),U=U.next}while(U!==m);return sm(U)}function v0(m,y,I,U,J,ne){var fe=m;do{for(var Fe=fe.next.next;Fe!==fe.prev;){if(fe.i!==Fe.i&&E1(fe,Fe)){var Qe=sS(fe,Fe);fe=sm(fe,fe.next),Qe=sm(Qe,Qe.next),jx(fe,y,I,U,J,ne),jx(Qe,y,I,U,J,ne);return}Fe=Fe.next}fe=fe.next}while(fe!==m)}function lm(m,y,I,U){var J=[],ne,fe,Fe,Qe,st;for(ne=0,fe=y.length;ne<fe;ne++)Fe=y[ne]*U,Qe=ne<fe-1?y[ne+1]*U:m.length,st=Iw(m,Fe,Qe,U,!1),st===st.next&&(st.steiner=!0),J.push(oS(st));for(J.sort(yC),ne=0;ne<J.length;ne++)iS(J[ne],I),I=sm(I,I.next);return I}function yC(m,y){return m.x-y.x}function iS(m,y){if(y=V9(m,y),y){var I=sS(y,m);sm(y,y.next),sm(I,I.next)}}function V9(m,y){var I=y,U=m.x,J=m.y,ne=-1/0,fe;do{if(J<=I.y&&J>=I.next.y&&I.next.y!==I.y){var Fe=I.x+(J-I.y)*(I.next.x-I.x)/(I.next.y-I.y);if(Fe<=U&&Fe>ne){if(ne=Fe,Fe===U){if(J===I.y)return I;if(J===I.next.y)return I.next}fe=I.x<I.next.x?I:I.next}}I=I.next}while(I!==y);if(!fe)return null;if(U===ne)return fe;var Qe=fe,st=fe.x,mt=fe.y,Xt=1/0,ur;I=fe;do U>=I.x&&I.x>=st&&U!==I.x&&um(J<mt?U:ne,J,st,mt,J<mt?ne:U,J,I.x,I.y)&&(ur=Math.abs(J-I.y)/(U-I.x),Yx(I,m)&&(ur<Xt||ur===Xt&&(I.x>fe.x||I.x===fe.x&&H9(fe,I)))&&(fe=I,Xt=ur)),I=I.next;while(I!==Qe);return fe}function H9(m,y){return tf(m.prev,m,y.prev)<0&&tf(y.next,m,m.next)<0}function Rw(m,y,I,U){var J=m;do J.z===null&&(J.z=aS(J.x,J.y,y,I,U)),J.prevZ=J.prev,J.nextZ=J.next,J=J.next;while(J!==m);J.prevZ.nextZ=null,J.prevZ=null,nS(J)}function nS(m){var y,I,U,J,ne,fe,Fe,Qe,st=1;do{for(I=m,m=null,ne=null,fe=0;I;){for(fe++,U=I,Fe=0,y=0;y<st&&(Fe++,U=U.nextZ,!!U);y++);for(Qe=st;Fe>0||Qe>0&&U;)Fe!==0&&(Qe===0||!U||I.z<=U.z)?(J=I,I=I.nextZ,Fe--):(J=U,U=U.nextZ,Qe--),ne?ne.nextZ=J:m=J,J.prevZ=ne,ne=J;I=U}ne.nextZ=null,st*=2}while(fe>1);return m}function aS(m,y,I,U,J){return m=32767*(m-I)*J,y=32767*(y-U)*J,m=(m|m<<8)&16711935,m=(m|m<<4)&252645135,m=(m|m<<2)&858993459,m=(m|m<<1)&1431655765,y=(y|y<<8)&16711935,y=(y|y<<4)&252645135,y=(y|y<<2)&858993459,y=(y|y<<1)&1431655765,m|y<<1}function oS(m){var y=m,I=m;do(y.x<I.x||y.x===I.x&&y.y<I.y)&&(I=y),y=y.next;while(y!==m);return I}function um(m,y,I,U,J,ne,fe,Fe){return(J-fe)*(y-Fe)-(m-fe)*(ne-Fe)>=0&&(m-fe)*(U-Fe)-(I-fe)*(y-Fe)>=0&&(I-fe)*(ne-Fe)-(J-fe)*(U-Fe)>=0}function E1(m,y){return m.next.i!==y.i&&m.prev.i!==y.i&&!_C(m,y)&&(Yx(m,y)&&Yx(y,m)&&G9(m,y)&&(tf(m.prev,m,y.prev)||tf(m,y.prev,y))||Zx(m,y)&&tf(m.prev,m,m.next)>0&&tf(y.prev,y,y.next)>0)}function tf(m,y,I){return(y.y-m.y)*(I.x-y.x)-(y.x-m.x)*(I.y-y.y)}function Zx(m,y){return m.x===y.x&&m.y===y.y}function Dw(m,y,I,U){var J=uy(tf(m,y,I)),ne=uy(tf(m,y,U)),fe=uy(tf(I,U,m)),Fe=uy(tf(I,U,y));return!!(J!==ne&&fe!==Fe||J===0&&Xx(m,I,y)||ne===0&&Xx(m,U,y)||fe===0&&Xx(I,m,U)||Fe===0&&Xx(I,y,U))}function Xx(m,y,I){return y.x<=Math.max(m.x,I.x)&&y.x>=Math.min(m.x,I.x)&&y.y<=Math.max(m.y,I.y)&&y.y>=Math.min(m.y,I.y)}function uy(m){return m>0?1:m<0?-1:0}function _C(m,y){var I=m;do{if(I.i!==m.i&&I.next.i!==m.i&&I.i!==y.i&&I.next.i!==y.i&&Dw(I,I.next,m,y))return!0;I=I.next}while(I!==m);return!1}function Yx(m,y){return tf(m.prev,m,m.next)<0?tf(m,y,m.next)>=0&&tf(m,m.prev,y)>=0:tf(m,y,m.prev)<0||tf(m,m.next,y)<0}function G9(m,y){var I=m,U=!1,J=(m.x+y.x)/2,ne=(m.y+y.y)/2;do I.y>ne!=I.next.y>ne&&I.next.y!==I.y&&J<(I.next.x-I.x)*(ne-I.y)/(I.next.y-I.y)+I.x&&(U=!U),I=I.next;while(I!==m);return U}function sS(m,y){var I=new lS(m.i,m.x,m.y),U=new lS(y.i,y.x,y.y),J=m.next,ne=y.prev;return m.next=y,y.prev=m,I.next=J,J.prev=I,U.next=I,I.prev=U,ne.next=U,U.prev=ne,U}function xC(m,y,I,U){var J=new lS(m,y,I);return U?(J.next=U.next,J.prev=U,U.next.prev=J,U.next=J):(J.prev=J,J.next=J),J}function Kx(m){m.next.prev=m.prev,m.prev.next=m.next,m.prevZ&&(m.prevZ.nextZ=m.nextZ),m.nextZ&&(m.nextZ.prevZ=m.prevZ)}function lS(m,y,I){this.i=m,this.x=y,this.y=I,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}M1.deviation=function(m,y,I,U){var J=y&&y.length,ne=J?y[0]*I:m.length,fe=Math.abs(uS(m,0,ne,I));if(J)for(var Fe=0,Qe=y.length;Fe<Qe;Fe++){var st=y[Fe]*I,mt=Fe<Qe-1?y[Fe+1]*I:m.length;fe-=Math.abs(uS(m,st,mt,I))}var Xt=0;for(Fe=0;Fe<U.length;Fe+=3){var ur=U[Fe]*I,nr=U[Fe+1]*I,Lr=U[Fe+2]*I;Xt+=Math.abs((m[ur]-m[Lr])*(m[nr+1]-m[ur+1])-(m[ur]-m[nr])*(m[Lr+1]-m[ur+1]))}return fe===0&&Xt===0?0:Math.abs((Xt-fe)/fe)};function uS(m,y,I,U){for(var J=0,ne=y,fe=I-U;ne<I;ne+=U)J+=(m[fe]-m[ne])*(m[ne+1]+m[fe+1]),fe=ne;return J}M1.flatten=function(m){for(var y=m[0][0].length,I={vertices:[],holes:[],dimensions:y},U=0,J=0;J<m.length;J++){for(var ne=0;ne<m[J].length;ne++)for(var fe=0;fe<y;fe++)I.vertices.push(m[J][ne][fe]);J>0&&(U+=m[J-1].length,I.holes.push(U))}return I},Pw.default=pC;function cS(m,y,I,U,J){dg(m,y,I||0,U||m.length-1,J||bC)}function dg(m,y,I,U,J){for(;U>I;){if(U-I>600){var ne=U-I+1,fe=y-I+1,Fe=Math.log(ne),Qe=.5*Math.exp(2*Fe/3),st=.5*Math.sqrt(Fe*Qe*(ne-Qe)/ne)*(fe-ne/2<0?-1:1),mt=Math.max(I,Math.floor(y-fe*Qe/ne+st)),Xt=Math.min(U,Math.floor(y+(ne-fe)*Qe/ne+st));dg(m,y,mt,Xt,J)}var ur=m[y],nr=I,Lr=U;for(k1(m,I,y),J(m[U],ur)>0&&k1(m,I,U);nr<Lr;){for(k1(m,nr,Lr),nr++,Lr--;J(m[nr],ur)<0;)nr++;for(;J(m[Lr],ur)>0;)Lr--}J(m[I],ur)===0?k1(m,I,Lr):(Lr++,k1(m,Lr,U)),Lr<=y&&(I=Lr+1),y<=Lr&&(U=Lr-1)}}function k1(m,y,I){var U=m[y];m[y]=m[I],m[I]=U}function bC(m,y){return m<y?-1:m>y?1:0}function zw(m,y){var I=m.length;if(I<=1)return[m];for(var U=[],J,ne,fe=0;fe<I;fe++){var Fe=_e(m[fe]);Fe!==0&&(m[fe].area=Math.abs(Fe),ne===void 0&&(ne=Fe<0),ne===Fe<0?(J&&U.push(J),J=[m[fe]]):J.push(m[fe]))}if(J&&U.push(J),y>1)for(var Qe=0;Qe<U.length;Qe++)U[Qe].length<=y||(cS(U[Qe],y,1,U[Qe].length-1,wC),U[Qe]=U[Qe].slice(0,y));return U}function wC(m,y){return y.area-m.area}function Fw(m,y,I){for(var U=I.patternDependencies,J=!1,ne=0,fe=y;ne<fe.length;ne+=1){var Fe=fe[ne],Qe=Fe.paint.get(m+\"-pattern\");Qe.isConstant()||(J=!0);var st=Qe.constantOr(null);st&&(J=!0,U[st.to]=!0,U[st.from]=!0)}return J}function Jx(m,y,I,U,J){for(var ne=J.patternDependencies,fe=0,Fe=y;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=Qe.paint.get(m+\"-pattern\"),mt=st.value;if(mt.kind!==\"constant\"){var Xt=mt.evaluate({zoom:U-1},I,{},J.availableImages),ur=mt.evaluate({zoom:U},I,{},J.availableImages),nr=mt.evaluate({zoom:U+1},I,{},J.availableImages);Xt=Xt&&Xt.name?Xt.name:Xt,ur=ur&&ur.name?ur.name:ur,nr=nr&&nr.name?nr.name:nr,ne[Xt]=!0,ne[ur]=!0,ne[nr]=!0,I.patterns[Qe.id]={min:Xt,mid:ur,max:nr}}}return I}var $x=500,gp=function(y){this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=y.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ji,this.indexArray=new ma,this.indexArray2=new Po,this.programConfigurations=new Ri(y.layers,y.zoom),this.segments=new ns,this.segments2=new ns,this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};gp.prototype.populate=function(y,I,U){this.hasPattern=Fw(\"fill\",this.layers,I);for(var J=this.layers[0].layout.get(\"fill-sort-key\"),ne=[],fe=0,Fe=y;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=Qe.feature,mt=Qe.id,Xt=Qe.index,ur=Qe.sourceLayerIndex,nr=this.layers[0]._featureFilter.needGeometry,Lr=No(st,nr);if(this.layers[0]._featureFilter.filter(new pn(this.zoom),Lr,U)){var Yr=J?J.evaluate(Lr,{},U,I.availableImages):void 0,_i={id:mt,properties:st.properties,type:st.type,sourceLayerIndex:ur,index:Xt,geometry:nr?Lr.geometry:da(st),patterns:{},sortKey:Yr};ne.push(_i)}}J&&ne.sort(function(_a,Pa){return _a.sortKey-Pa.sortKey});for(var si=0,Hi=ne;si<Hi.length;si+=1){var Ei=Hi[si],Vi=Ei,en=Vi.geometry,An=Vi.index,ra=Vi.sourceLayerIndex;if(this.hasPattern){var $n=Jx(\"fill\",this.layers,Ei,this.zoom,I);this.patternFeatures.push($n)}else this.addFeature(Ei,en,An,U,{});var Ba=y[An].feature;I.featureIndex.insert(Ba,en,An,ra,this.index)}},gp.prototype.update=function(y,I,U){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(y,I,this.stateDependentLayers,U)},gp.prototype.addFeatures=function(y,I,U){for(var J=0,ne=this.patternFeatures;J<ne.length;J+=1){var fe=ne[J];this.addFeature(fe,fe.geometry,fe.index,I,U)}},gp.prototype.isEmpty=function(){return this.layoutVertexArray.length===0},gp.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},gp.prototype.upload=function(y){this.uploaded||(this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,U9),this.indexBuffer=y.createIndexBuffer(this.indexArray),this.indexBuffer2=y.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(y),this.uploaded=!0},gp.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())},gp.prototype.addFeature=function(y,I,U,J,ne){for(var fe=0,Fe=zw(I,$x);fe<Fe.length;fe+=1){for(var Qe=Fe[fe],st=0,mt=0,Xt=Qe;mt<Xt.length;mt+=1){var ur=Xt[mt];st+=ur.length}for(var nr=this.segments.prepareSegment(st,this.layoutVertexArray,this.indexArray),Lr=nr.vertexLength,Yr=[],_i=[],si=0,Hi=Qe;si<Hi.length;si+=1){var Ei=Hi[si];if(Ei.length!==0){Ei!==Qe[0]&&_i.push(Yr.length/2);var Vi=this.segments2.prepareSegment(Ei.length,this.layoutVertexArray,this.indexArray2),en=Vi.vertexLength;this.layoutVertexArray.emplaceBack(Ei[0].x,Ei[0].y),this.indexArray2.emplaceBack(en+Ei.length-1,en),Yr.push(Ei[0].x),Yr.push(Ei[0].y);for(var An=1;An<Ei.length;An++)this.layoutVertexArray.emplaceBack(Ei[An].x,Ei[An].y),this.indexArray2.emplaceBack(en+An-1,en+An),Yr.push(Ei[An].x),Yr.push(Ei[An].y);Vi.vertexLength+=Ei.length,Vi.primitiveLength+=Ei.length}}for(var ra=Pw(Yr,_i),$n=0;$n<ra.length;$n+=3)this.indexArray.emplaceBack(Lr+ra[$n],Lr+ra[$n+1],Lr+ra[$n+2]);nr.vertexLength+=st,nr.primitiveLength+=ra.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,y,U,ne,J)},Z(\"FillBucket\",gp,{omit:[\"layers\",\"patternFeatures\"]});var fS=new Oi({\"fill-sort-key\":new Er(on.layout_fill[\"fill-sort-key\"])}),TC=new Oi({\"fill-antialias\":new At(on.paint_fill[\"fill-antialias\"]),\"fill-opacity\":new Er(on.paint_fill[\"fill-opacity\"]),\"fill-color\":new Er(on.paint_fill[\"fill-color\"]),\"fill-outline-color\":new Er(on.paint_fill[\"fill-outline-color\"]),\"fill-translate\":new At(on.paint_fill[\"fill-translate\"]),\"fill-translate-anchor\":new At(on.paint_fill[\"fill-translate-anchor\"]),\"fill-pattern\":new Wr(on.paint_fill[\"fill-pattern\"])}),Jv={paint:TC,layout:fS},Qx=function(m){function y(I){m.call(this,I,Jv)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.recalculate=function(U,J){m.prototype.recalculate.call(this,U,J);var ne=this.paint._values[\"fill-outline-color\"];ne.value.kind===\"constant\"&&ne.value.value===void 0&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"])},y.prototype.createBucket=function(U){return new gp(U)},y.prototype.queryRadius=function(){return kv(this.paint.get(\"fill-translate\"))},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st){var mt=Kv(U,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),Qe.angle,st);return tl(mt,fe)},y.prototype.isTileClipped=function(){return!0},y}(cn),AC=Dn([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal_ed\",components:4,type:\"Int16\"}],4),SC=AC.members,hS=cy;function cy(m,y,I,U,J){this.properties={},this.extent=I,this.type=0,this._pbf=m,this._geometry=-1,this._keys=U,this._values=J,m.readFields(MC,this,y)}function MC(m,y,I){m==1?y.id=I.readVarint():m==2?EC(I,y):m==3?y.type=I.readVarint():m==4&&(y._geometry=I.pos)}function EC(m,y){for(var I=m.readVarint()+m.pos;m.pos<I;){var U=y._keys[m.readVarint()],J=y._values[m.readVarint()];y.properties[U]=J}}cy.types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],cy.prototype.loadGeometry=function(){var m=this._pbf;m.pos=this._geometry;for(var y=m.readVarint()+m.pos,I=1,U=0,J=0,ne=0,fe=[],Fe;m.pos<y;){if(U<=0){var Qe=m.readVarint();I=Qe&7,U=Qe>>3}if(U--,I===1||I===2)J+=m.readSVarint(),ne+=m.readSVarint(),I===1&&(Fe&&fe.push(Fe),Fe=[]),Fe.push(new u(J,ne));else if(I===7)Fe&&Fe.push(Fe[0].clone());else throw new Error(\"unknown command \"+I)}return Fe&&fe.push(Fe),fe},cy.prototype.bbox=function(){var m=this._pbf;m.pos=this._geometry;for(var y=m.readVarint()+m.pos,I=1,U=0,J=0,ne=0,fe=1/0,Fe=-1/0,Qe=1/0,st=-1/0;m.pos<y;){if(U<=0){var mt=m.readVarint();I=mt&7,U=mt>>3}if(U--,I===1||I===2)J+=m.readSVarint(),ne+=m.readSVarint(),J<fe&&(fe=J),J>Fe&&(Fe=J),ne<Qe&&(Qe=ne),ne>st&&(st=ne);else if(I!==7)throw new Error(\"unknown command \"+I)}return[fe,Qe,Fe,st]},cy.prototype.toGeoJSON=function(m,y,I){var U=this.extent*Math.pow(2,I),J=this.extent*m,ne=this.extent*y,fe=this.loadGeometry(),Fe=cy.types[this.type],Qe,st;function mt(nr){for(var Lr=0;Lr<nr.length;Lr++){var Yr=nr[Lr],_i=180-(Yr.y+ne)*360/U;nr[Lr]=[(Yr.x+J)*360/U-180,360/Math.PI*Math.atan(Math.exp(_i*Math.PI/180))-90]}}switch(this.type){case 1:var Xt=[];for(Qe=0;Qe<fe.length;Qe++)Xt[Qe]=fe[Qe][0];fe=Xt,mt(fe);break;case 2:for(Qe=0;Qe<fe.length;Qe++)mt(fe[Qe]);break;case 3:for(fe=j9(fe),Qe=0;Qe<fe.length;Qe++)for(st=0;st<fe[Qe].length;st++)mt(fe[Qe][st]);break}fe.length===1?fe=fe[0]:Fe=\"Multi\"+Fe;var ur={type:\"Feature\",geometry:{type:Fe,coordinates:fe},properties:this.properties};return\"id\"in this&&(ur.id=this.id),ur};function j9(m){var y=m.length;if(y<=1)return[m];for(var I=[],U,J,ne=0;ne<y;ne++){var fe=kC(m[ne]);fe!==0&&(J===void 0&&(J=fe<0),J===fe<0?(U&&I.push(U),U=[m[ne]]):U.push(m[ne]))}return U&&I.push(U),I}function kC(m){for(var y=0,I=0,U=m.length,J=U-1,ne,fe;I<U;J=I++)ne=m[I],fe=m[J],y+=(fe.x-ne.x)*(ne.y+fe.y);return y}var vg=dS;function dS(m,y){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=m,this._keys=[],this._values=[],this._features=[],m.readFields(CC,this,y),this.length=this._features.length}function CC(m,y,I){m===15?y.version=I.readVarint():m===1?y.name=I.readString():m===5?y.extent=I.readVarint():m===2?y._features.push(I.pos):m===3?y._keys.push(I.readString()):m===4&&y._values.push(LC(I))}function LC(m){for(var y=null,I=m.readVarint()+m.pos;m.pos<I;){var U=m.readVarint()>>3;y=U===1?m.readString():U===2?m.readFloat():U===3?m.readDouble():U===4?m.readVarint64():U===5?m.readVarint():U===6?m.readSVarint():U===7?m.readBoolean():null}return y}dS.prototype.feature=function(m){if(m<0||m>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[m];var y=this._pbf.readVarint()+this._pbf.pos;return new hS(this._pbf,y,this.extent,this._keys,this._values)};var PC=W9;function W9(m,y){this.layers=m.readFields(Z9,{},y)}function Z9(m,y,I){if(m===3){var U=new vg(I,I.readVarint()+I.pos);U.length&&(y[U.name]=U)}}var IC=PC,C1=hS,RC=vg,pg={VectorTile:IC,VectorTileFeature:C1,VectorTileLayer:RC},DC=pg.VectorTileFeature.types,qw=500,L1=Math.pow(2,13);function cm(m,y,I,U,J,ne,fe,Fe){m.emplaceBack(y,I,Math.floor(U*L1)*2+fe,J*L1*2,ne*L1*2,Math.round(Fe))}var Hp=function(y){this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=y.index,this.hasPattern=!1,this.layoutVertexArray=new Un,this.indexArray=new ma,this.programConfigurations=new Ri(y.layers,y.zoom),this.segments=new ns,this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};Hp.prototype.populate=function(y,I,U){this.features=[],this.hasPattern=Fw(\"fill-extrusion\",this.layers,I);for(var J=0,ne=y;J<ne.length;J+=1){var fe=ne[J],Fe=fe.feature,Qe=fe.id,st=fe.index,mt=fe.sourceLayerIndex,Xt=this.layers[0]._featureFilter.needGeometry,ur=No(Fe,Xt);if(this.layers[0]._featureFilter.filter(new pn(this.zoom),ur,U)){var nr={id:Qe,sourceLayerIndex:mt,index:st,geometry:Xt?ur.geometry:da(Fe),properties:Fe.properties,type:Fe.type,patterns:{}};this.hasPattern?this.features.push(Jx(\"fill-extrusion\",this.layers,nr,this.zoom,I)):this.addFeature(nr,nr.geometry,st,U,{}),I.featureIndex.insert(Fe,nr.geometry,st,mt,this.index,!0)}}},Hp.prototype.addFeatures=function(y,I,U){for(var J=0,ne=this.features;J<ne.length;J+=1){var fe=ne[J],Fe=fe.geometry;this.addFeature(fe,Fe,fe.index,I,U)}},Hp.prototype.update=function(y,I,U){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(y,I,this.stateDependentLayers,U)},Hp.prototype.isEmpty=function(){return this.layoutVertexArray.length===0},Hp.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Hp.prototype.upload=function(y){this.uploaded||(this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,SC),this.indexBuffer=y.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(y),this.uploaded=!0},Hp.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Hp.prototype.addFeature=function(y,I,U,J,ne){for(var fe=0,Fe=zw(I,qw);fe<Fe.length;fe+=1){for(var Qe=Fe[fe],st=0,mt=0,Xt=Qe;mt<Xt.length;mt+=1){var ur=Xt[mt];st+=ur.length}for(var nr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),Lr=0,Yr=Qe;Lr<Yr.length;Lr+=1){var _i=Yr[Lr];if(_i.length!==0&&!Y9(_i))for(var si=0,Hi=0;Hi<_i.length;Hi++){var Ei=_i[Hi];if(Hi>=1){var Vi=_i[Hi-1];if(!X9(Ei,Vi)){nr.vertexLength+4>ns.MAX_VERTEX_ARRAY_LENGTH&&(nr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var en=Ei.sub(Vi)._perp()._unit(),An=Vi.dist(Ei);si+An>32768&&(si=0),cm(this.layoutVertexArray,Ei.x,Ei.y,en.x,en.y,0,0,si),cm(this.layoutVertexArray,Ei.x,Ei.y,en.x,en.y,0,1,si),si+=An,cm(this.layoutVertexArray,Vi.x,Vi.y,en.x,en.y,0,0,si),cm(this.layoutVertexArray,Vi.x,Vi.y,en.x,en.y,0,1,si);var ra=nr.vertexLength;this.indexArray.emplaceBack(ra,ra+2,ra+1),this.indexArray.emplaceBack(ra+1,ra+2,ra+3),nr.vertexLength+=4,nr.primitiveLength+=2}}}}if(nr.vertexLength+st>ns.MAX_VERTEX_ARRAY_LENGTH&&(nr=this.segments.prepareSegment(st,this.layoutVertexArray,this.indexArray)),DC[y.type]===\"Polygon\"){for(var $n=[],Ba=[],_a=nr.vertexLength,Pa=0,qo=Qe;Pa<qo.length;Pa+=1){var Na=qo[Pa];if(Na.length!==0){Na!==Qe[0]&&Ba.push($n.length/2);for(var ja=0;ja<Na.length;ja++){var us=Na[ja];cm(this.layoutVertexArray,us.x,us.y,0,0,1,1,0),$n.push(us.x),$n.push(us.y)}}}for(var zo=Pw($n,Ba),rl=0;rl<zo.length;rl+=3)this.indexArray.emplaceBack(_a+zo[rl],_a+zo[rl+2],_a+zo[rl+1]);nr.primitiveLength+=zo.length/3,nr.vertexLength+=st}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,y,U,ne,J)},Z(\"FillExtrusionBucket\",Hp,{omit:[\"layers\",\"features\"]});function X9(m,y){return m.x===y.x&&(m.x<0||m.x>rn)||m.y===y.y&&(m.y<0||m.y>rn)}function Y9(m){return m.every(function(y){return y.x<0})||m.every(function(y){return y.x>rn})||m.every(function(y){return y.y<0})||m.every(function(y){return y.y>rn})}var P1=new Oi({\"fill-extrusion-opacity\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new Er(on[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Wr(on[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new Er(on[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new Er(on[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])}),ed={paint:P1},fm=function(m){function y(I){m.call(this,I,ed)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.createBucket=function(U){return new Hp(U)},y.prototype.queryRadius=function(){return kv(this.paint.get(\"fill-extrusion-translate\"))},y.prototype.is3D=function(){return!0},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st,mt){var Xt=Kv(U,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),Qe.angle,st),ur=this.paint.get(\"fill-extrusion-height\").evaluate(J,ne),nr=this.paint.get(\"fill-extrusion-base\").evaluate(J,ne),Lr=K9(Xt,mt,Qe,0),Yr=pS(fe,nr,ur,mt),_i=Yr[0],si=Yr[1];return zC(_i,si,Lr)},y}(cn);function fy(m,y){return m.x*y.x+m.y*y.y}function vS(m,y){if(m.length===1){for(var I=0,U=y[I++],J;!J||U.equals(J);)if(J=y[I++],!J)return 1/0;for(;I<y.length;I++){var ne=y[I],fe=m[0],Fe=J.sub(U),Qe=ne.sub(U),st=fe.sub(U),mt=fy(Fe,Fe),Xt=fy(Fe,Qe),ur=fy(Qe,Qe),nr=fy(st,Fe),Lr=fy(st,Qe),Yr=mt*ur-Xt*Xt,_i=(ur*nr-Xt*Lr)/Yr,si=(mt*Lr-Xt*nr)/Yr,Hi=1-_i-si,Ei=U.z*Hi+J.z*_i+ne.z*si;if(isFinite(Ei))return Ei}return 1/0}else{for(var Vi=1/0,en=0,An=y;en<An.length;en+=1){var ra=An[en];Vi=Math.min(Vi,ra.z)}return Vi}}function zC(m,y,I){var U=1/0;tl(I,y)&&(U=vS(I,y[0]));for(var J=0;J<y.length;J++)for(var ne=y[J],fe=m[J],Fe=0;Fe<ne.length-1;Fe++){var Qe=ne[Fe],st=ne[Fe+1],mt=fe[Fe],Xt=fe[Fe+1],ur=[Qe,st,Xt,mt,Qe];fo(I,ur)&&(U=Math.min(U,vS(I,ur)))}return U===1/0?!1:U}function pS(m,y,I,U){for(var J=[],ne=[],fe=U[8]*y,Fe=U[9]*y,Qe=U[10]*y,st=U[11]*y,mt=U[8]*I,Xt=U[9]*I,ur=U[10]*I,nr=U[11]*I,Lr=0,Yr=m;Lr<Yr.length;Lr+=1){for(var _i=Yr[Lr],si=[],Hi=[],Ei=0,Vi=_i;Ei<Vi.length;Ei+=1){var en=Vi[Ei],An=en.x,ra=en.y,$n=U[0]*An+U[4]*ra+U[12],Ba=U[1]*An+U[5]*ra+U[13],_a=U[2]*An+U[6]*ra+U[14],Pa=U[3]*An+U[7]*ra+U[15],qo=$n+fe,Na=Ba+Fe,ja=_a+Qe,us=Pa+st,zo=$n+mt,rl=Ba+Xt,su=_a+ur,il=Pa+nr,nl=new u(qo/us,Na/us);nl.z=ja/us,si.push(nl);var Ws=new u(zo/il,rl/il);Ws.z=su/il,Hi.push(Ws)}J.push(si),ne.push(Hi)}return[J,ne]}function K9(m,y,I,U){for(var J=[],ne=0,fe=m;ne<fe.length;ne+=1){var Fe=fe[ne],Qe=[Fe.x,Fe.y,U,1];ly(Qe,Qe,y),J.push(new u(Qe[0]/Qe[3],Qe[1]/Qe[3]))}return J}var FC=Dn([{name:\"a_pos_normal\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}],4),qC=FC.members,J9=Dn([{name:\"a_uv_x\",components:1,type:\"Float32\"},{name:\"a_split_index\",components:1,type:\"Float32\"}]),OC=J9.members,gS=pg.VectorTileFeature.types,Ow=63,BC=Math.cos(75/2*(Math.PI/180)),eb=15,mS=20,NC=15,Bw=1/2,tb=Math.pow(2,NC-1)/Bw,Gf=function(y){var I=this;this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(U){return U.id}),this.index=y.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(function(U){I.gradients[U.id]={}}),this.layoutVertexArray=new gn,this.layoutVertexArray2=new ca,this.indexArray=new ma,this.programConfigurations=new Ri(y.layers,y.zoom),this.segments=new ns,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(function(U){return U.isStateDependent()}).map(function(U){return U.id})};Gf.prototype.populate=function(y,I,U){this.hasPattern=Fw(\"line\",this.layers,I);for(var J=this.layers[0].layout.get(\"line-sort-key\"),ne=[],fe=0,Fe=y;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=Qe.feature,mt=Qe.id,Xt=Qe.index,ur=Qe.sourceLayerIndex,nr=this.layers[0]._featureFilter.needGeometry,Lr=No(st,nr);if(this.layers[0]._featureFilter.filter(new pn(this.zoom),Lr,U)){var Yr=J?J.evaluate(Lr,{},U):void 0,_i={id:mt,properties:st.properties,type:st.type,sourceLayerIndex:ur,index:Xt,geometry:nr?Lr.geometry:da(st),patterns:{},sortKey:Yr};ne.push(_i)}}J&&ne.sort(function(_a,Pa){return _a.sortKey-Pa.sortKey});for(var si=0,Hi=ne;si<Hi.length;si+=1){var Ei=Hi[si],Vi=Ei,en=Vi.geometry,An=Vi.index,ra=Vi.sourceLayerIndex;if(this.hasPattern){var $n=Jx(\"line\",this.layers,Ei,this.zoom,I);this.patternFeatures.push($n)}else this.addFeature(Ei,en,An,U,{});var Ba=y[An].feature;I.featureIndex.insert(Ba,en,An,ra,this.index)}},Gf.prototype.update=function(y,I,U){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(y,I,this.stateDependentLayers,U)},Gf.prototype.addFeatures=function(y,I,U){for(var J=0,ne=this.patternFeatures;J<ne.length;J+=1){var fe=ne[J];this.addFeature(fe,fe.geometry,fe.index,I,U)}},Gf.prototype.isEmpty=function(){return this.layoutVertexArray.length===0},Gf.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Gf.prototype.upload=function(y){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=y.createVertexBuffer(this.layoutVertexArray2,OC)),this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,qC),this.indexBuffer=y.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(y),this.uploaded=!0},Gf.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Gf.prototype.lineFeatureClips=function(y){if(y.properties&&y.properties.hasOwnProperty(\"mapbox_clip_start\")&&y.properties.hasOwnProperty(\"mapbox_clip_end\")){var I=+y.properties.mapbox_clip_start,U=+y.properties.mapbox_clip_end;return{start:I,end:U}}},Gf.prototype.addFeature=function(y,I,U,J,ne){var fe=this.layers[0].layout,Fe=fe.get(\"line-join\").evaluate(y,{}),Qe=fe.get(\"line-cap\"),st=fe.get(\"line-miter-limit\"),mt=fe.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(y);for(var Xt=0,ur=I;Xt<ur.length;Xt+=1){var nr=ur[Xt];this.addLine(nr,y,Fe,Qe,st,mt)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,y,U,ne,J)},Gf.prototype.addLine=function(y,I,U,J,ne,fe){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(var Fe=0;Fe<y.length-1;Fe++)this.totalDistance+=y[Fe].dist(y[Fe+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}for(var Qe=gS[I.type]===\"Polygon\",st=y.length;st>=2&&y[st-1].equals(y[st-2]);)st--;for(var mt=0;mt<st-1&&y[mt].equals(y[mt+1]);)mt++;if(!(st<(Qe?3:2))){U===\"bevel\"&&(ne=1.05);var Xt=this.overscaling<=16?eb*rn/(512*this.overscaling):0,ur=this.segments.prepareSegment(st*10,this.layoutVertexArray,this.indexArray),nr,Lr=void 0,Yr=void 0,_i=void 0,si=void 0;this.e1=this.e2=-1,Qe&&(nr=y[st-2],si=y[mt].sub(nr)._unit()._perp());for(var Hi=mt;Hi<st;Hi++)if(Yr=Hi===st-1?Qe?y[mt+1]:void 0:y[Hi+1],!(Yr&&y[Hi].equals(Yr))){si&&(_i=si),nr&&(Lr=nr),nr=y[Hi],si=Yr?Yr.sub(nr)._unit()._perp():_i,_i=_i||si;var Ei=_i.add(si);(Ei.x!==0||Ei.y!==0)&&Ei._unit();var Vi=_i.x*si.x+_i.y*si.y,en=Ei.x*si.x+Ei.y*si.y,An=en!==0?1/en:1/0,ra=2*Math.sqrt(2-2*en),$n=en<BC&&Lr&&Yr,Ba=_i.x*si.y-_i.y*si.x>0;if($n&&Hi>mt){var _a=nr.dist(Lr);if(_a>2*Xt){var Pa=nr.sub(nr.sub(Lr)._mult(Xt/_a)._round());this.updateDistance(Lr,Pa),this.addCurrentVertex(Pa,_i,0,0,ur),Lr=Pa}}var qo=Lr&&Yr,Na=qo?U:Qe?\"butt\":J;if(qo&&Na===\"round\"&&(An<fe?Na=\"miter\":An<=2&&(Na=\"fakeround\")),Na===\"miter\"&&An>ne&&(Na=\"bevel\"),Na===\"bevel\"&&(An>2&&(Na=\"flipbevel\"),An<ne&&(Na=\"miter\")),Lr&&this.updateDistance(Lr,nr),Na===\"miter\")Ei._mult(An),this.addCurrentVertex(nr,Ei,0,0,ur);else if(Na===\"flipbevel\"){if(An>100)Ei=si.mult(-1);else{var ja=An*_i.add(si).mag()/_i.sub(si).mag();Ei._perp()._mult(ja*(Ba?-1:1))}this.addCurrentVertex(nr,Ei,0,0,ur),this.addCurrentVertex(nr,Ei.mult(-1),0,0,ur)}else if(Na===\"bevel\"||Na===\"fakeround\"){var us=-Math.sqrt(An*An-1),zo=Ba?us:0,rl=Ba?0:us;if(Lr&&this.addCurrentVertex(nr,_i,zo,rl,ur),Na===\"fakeround\")for(var su=Math.round(ra*180/Math.PI/mS),il=1;il<su;il++){var nl=il/su;if(nl!==.5){var Ws=nl-.5,Au=1.0904+Vi*(-3.2452+Vi*(3.55645-Vi*1.43519)),Ou=.848013+Vi*(-1.06021+Vi*.215638);nl=nl+nl*Ws*(nl-1)*(Au*Ws*Ws+Ou)}var nf=si.sub(_i)._mult(nl)._add(_i)._unit()._mult(Ba?-1:1);this.addHalfVertex(nr,nf.x,nf.y,!1,Ba,0,ur)}Yr&&this.addCurrentVertex(nr,si,-zo,-rl,ur)}else if(Na===\"butt\")this.addCurrentVertex(nr,Ei,0,0,ur);else if(Na===\"square\"){var bf=Lr?1:-1;this.addCurrentVertex(nr,Ei,bf,bf,ur)}else Na===\"round\"&&(Lr&&(this.addCurrentVertex(nr,_i,0,0,ur),this.addCurrentVertex(nr,_i,1,1,ur,!0)),Yr&&(this.addCurrentVertex(nr,si,-1,-1,ur,!0),this.addCurrentVertex(nr,si,0,0,ur)));if($n&&Hi<st-1){var qh=nr.dist(Yr);if(qh>2*Xt){var Zf=nr.add(Yr.sub(nr)._mult(Xt/qh)._round());this.updateDistance(nr,Zf),this.addCurrentVertex(Zf,si,0,0,ur),nr=Zf}}}}},Gf.prototype.addCurrentVertex=function(y,I,U,J,ne,fe){fe===void 0&&(fe=!1);var Fe=I.x+I.y*U,Qe=I.y-I.x*U,st=-I.x+I.y*J,mt=-I.y-I.x*J;this.addHalfVertex(y,Fe,Qe,fe,!1,U,ne),this.addHalfVertex(y,st,mt,fe,!0,-J,ne),this.distance>tb/2&&this.totalDistance===0&&(this.distance=0,this.addCurrentVertex(y,I,U,J,ne,fe))},Gf.prototype.addHalfVertex=function(y,I,U,J,ne,fe,Fe){var Qe=y.x,st=y.y,mt=this.lineClips?this.scaledDistance*(tb-1):this.scaledDistance,Xt=mt*Bw;if(this.layoutVertexArray.emplaceBack((Qe<<1)+(J?1:0),(st<<1)+(ne?1:0),Math.round(Ow*I)+128,Math.round(Ow*U)+128,(fe===0?0:fe<0?-1:1)+1|(Xt&63)<<2,Xt>>6),this.lineClips){var ur=this.scaledDistance-this.lineClips.start,nr=this.lineClips.end-this.lineClips.start,Lr=ur/nr;this.layoutVertexArray2.emplaceBack(Lr,this.lineClipsArray.length)}var Yr=Fe.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Yr),Fe.primitiveLength++),ne?this.e2=Yr:this.e1=Yr},Gf.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},Gf.prototype.updateDistance=function(y,I){this.distance+=y.dist(I),this.updateScaledDistance()},Z(\"LineBucket\",Gf,{omit:[\"layers\",\"patternFeatures\"]});var yS=new Oi({\"line-cap\":new At(on.layout_line[\"line-cap\"]),\"line-join\":new Er(on.layout_line[\"line-join\"]),\"line-miter-limit\":new At(on.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new At(on.layout_line[\"line-round-limit\"]),\"line-sort-key\":new Er(on.layout_line[\"line-sort-key\"])}),_S=new Oi({\"line-opacity\":new Er(on.paint_line[\"line-opacity\"]),\"line-color\":new Er(on.paint_line[\"line-color\"]),\"line-translate\":new At(on.paint_line[\"line-translate\"]),\"line-translate-anchor\":new At(on.paint_line[\"line-translate-anchor\"]),\"line-width\":new Er(on.paint_line[\"line-width\"]),\"line-gap-width\":new Er(on.paint_line[\"line-gap-width\"]),\"line-offset\":new Er(on.paint_line[\"line-offset\"]),\"line-blur\":new Er(on.paint_line[\"line-blur\"]),\"line-dasharray\":new wi(on.paint_line[\"line-dasharray\"]),\"line-pattern\":new Wr(on.paint_line[\"line-pattern\"]),\"line-gradient\":new Ui(on.paint_line[\"line-gradient\"])}),Nw={paint:_S,layout:yS},$9=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.possiblyEvaluate=function(U,J){return J=new pn(Math.floor(J.zoom),{now:J.now,fadeDuration:J.fadeDuration,zoomHistory:J.zoomHistory,transition:J.transition}),m.prototype.possiblyEvaluate.call(this,U,J)},y.prototype.evaluate=function(U,J,ne,fe){return J=_({},J,{zoom:Math.floor(J.zoom)}),m.prototype.evaluate.call(this,U,J,ne,fe)},y}(Er),R=new $9(Nw.paint.properties[\"line-width\"].specification);R.useIntegerZoom=!0;var S=function(m){function y(I){m.call(this,I,Nw),this.gradientVersion=0}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._handleSpecialPaintPropertyUpdate=function(U){if(U===\"line-gradient\"){var J=this._transitionablePaint._values[\"line-gradient\"].value.expression;this.stepInterpolant=J._styleExpression.expression instanceof yu,this.gradientVersion=(this.gradientVersion+1)%d}},y.prototype.gradientExpression=function(){return this._transitionablePaint._values[\"line-gradient\"].value.expression},y.prototype.recalculate=function(U,J){m.prototype.recalculate.call(this,U,J),this.paint._values[\"line-floorwidth\"]=R.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,U)},y.prototype.createBucket=function(U){return new Gf(U)},y.prototype.queryRadius=function(U){var J=U,ne=D(xd(\"line-width\",this,J),xd(\"line-gap-width\",this,J)),fe=xd(\"line-offset\",this,J);return ne/2+Math.abs(fe)+kv(this.paint.get(\"line-translate\"))},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st){var mt=Kv(U,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),Qe.angle,st),Xt=st/2*D(this.paint.get(\"line-width\").evaluate(J,ne),this.paint.get(\"line-gap-width\").evaluate(J,ne)),ur=this.paint.get(\"line-offset\").evaluate(J,ne);return ur&&(fe=j(fe,ur*st)),zu(mt,fe,Xt)},y.prototype.isTileClipped=function(){return!0},y}(cn);function D(m,y){return y>0?y+2*m:m}function j(m,y){for(var I=[],U=new u(0,0),J=0;J<m.length;J++){for(var ne=m[J],fe=[],Fe=0;Fe<ne.length;Fe++){var Qe=ne[Fe-1],st=ne[Fe],mt=ne[Fe+1],Xt=Fe===0?U:st.sub(Qe)._unit()._perp(),ur=Fe===ne.length-1?U:mt.sub(st)._unit()._perp(),nr=Xt._add(ur)._unit(),Lr=nr.x*ur.x+nr.y*ur.y;nr._mult(1/Lr),fe.push(nr._mult(y)._add(st))}I.push(fe)}return I}var te=Dn([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),ue=Dn([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4),ve=Dn([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4),De=Dn([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}]),Ze=Dn([{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\"}]),at=Dn([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),Tt=Dn([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4),Ft=Dn([{name:\"triangle\",components:3,type:\"Uint16\"}]),Qt=Dn([{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\"}]),sr=Dn([{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\"}]),Tr=Dn([{type:\"Float32\",name:\"offsetX\"}]),Pr=Dn([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]);function $r(m,y,I){var U=y.layout.get(\"text-transform\").evaluate(I,{});return U===\"uppercase\"?m=m.toLocaleUpperCase():U===\"lowercase\"&&(m=m.toLocaleLowerCase()),_s.applyArabicShaping&&(m=_s.applyArabicShaping(m)),m}function ni(m,y,I){return m.sections.forEach(function(U){U.text=$r(U.text,y,I)}),m}function Di(m){var y={},I={},U=[],J=0;function ne(si){U.push(m[si]),J++}function fe(si,Hi,Ei){var Vi=I[si];return delete I[si],I[Hi]=Vi,U[Vi].geometry[0].pop(),U[Vi].geometry[0]=U[Vi].geometry[0].concat(Ei[0]),Vi}function Fe(si,Hi,Ei){var Vi=y[Hi];return delete y[Hi],y[si]=Vi,U[Vi].geometry[0].shift(),U[Vi].geometry[0]=Ei[0].concat(U[Vi].geometry[0]),Vi}function Qe(si,Hi,Ei){var Vi=Ei?Hi[0][Hi[0].length-1]:Hi[0][0];return si+\":\"+Vi.x+\":\"+Vi.y}for(var st=0;st<m.length;st++){var mt=m[st],Xt=mt.geometry,ur=mt.text?mt.text.toString():null;if(!ur){ne(st);continue}var nr=Qe(ur,Xt),Lr=Qe(ur,Xt,!0);if(nr in I&&Lr in y&&I[nr]!==y[Lr]){var Yr=Fe(nr,Lr,Xt),_i=fe(nr,Lr,U[Yr].geometry);delete y[nr],delete I[Lr],I[Qe(ur,U[_i].geometry,!0)]=_i,U[Yr].geometry=null}else nr in I?fe(nr,Lr,Xt):Lr in y?Fe(nr,Lr,Xt):(ne(st),y[nr]=J-1,I[Lr]=J-1)}return U.filter(function(si){return si.geometry})}var pi={\"!\":\"\\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\"};function ki(m){for(var y=\"\",I=0;I<m.length;I++){var U=m.charCodeAt(I+1)||null,J=m.charCodeAt(I-1)||null,ne=(!U||!ui(U)||pi[m[I+1]])&&(!J||!ui(J)||pi[m[I-1]]);ne&&pi[m[I]]?y+=pi[m[I]]:y+=m[I]}return y}var Zi=24,ta=function(m,y,I,U,J){var ne,fe,Fe=J*8-U-1,Qe=(1<<Fe)-1,st=Qe>>1,mt=-7,Xt=I?J-1:0,ur=I?-1:1,nr=m[y+Xt];for(Xt+=ur,ne=nr&(1<<-mt)-1,nr>>=-mt,mt+=Fe;mt>0;ne=ne*256+m[y+Xt],Xt+=ur,mt-=8);for(fe=ne&(1<<-mt)-1,ne>>=-mt,mt+=U;mt>0;fe=fe*256+m[y+Xt],Xt+=ur,mt-=8);if(ne===0)ne=1-st;else{if(ne===Qe)return fe?NaN:(nr?-1:1)*(1/0);fe=fe+Math.pow(2,U),ne=ne-st}return(nr?-1:1)*fe*Math.pow(2,ne-U)},Va=function(m,y,I,U,J,ne){var fe,Fe,Qe,st=ne*8-J-1,mt=(1<<st)-1,Xt=mt>>1,ur=J===23?Math.pow(2,-24)-Math.pow(2,-77):0,nr=U?0:ne-1,Lr=U?1:-1,Yr=y<0||y===0&&1/y<0?1:0;for(y=Math.abs(y),isNaN(y)||y===1/0?(Fe=isNaN(y)?1:0,fe=mt):(fe=Math.floor(Math.log(y)/Math.LN2),y*(Qe=Math.pow(2,-fe))<1&&(fe--,Qe*=2),fe+Xt>=1?y+=ur/Qe:y+=ur*Math.pow(2,1-Xt),y*Qe>=2&&(fe++,Qe/=2),fe+Xt>=mt?(Fe=0,fe=mt):fe+Xt>=1?(Fe=(y*Qe-1)*Math.pow(2,J),fe=fe+Xt):(Fe=y*Math.pow(2,Xt-1)*Math.pow(2,J),fe=0));J>=8;m[I+nr]=Fe&255,nr+=Lr,Fe/=256,J-=8);for(fe=fe<<J|Fe,st+=J;st>0;m[I+nr]=fe&255,nr+=Lr,fe/=256,st-=8);m[I+nr-Lr]|=Yr*128},Io={read:ta,write:Va},La=Hn;function Hn(m){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(m)?m:new Uint8Array(m||0),this.pos=0,this.type=0,this.length=this.buf.length}Hn.Varint=0,Hn.Fixed64=1,Hn.Bytes=2,Hn.Fixed32=5;var lo=65536*65536,$a=1/lo,Xa=12,Tn=typeof TextDecoder==\"undefined\"?null:new TextDecoder(\"utf8\");Hn.prototype={destroy:function(){this.buf=null},readFields:function(m,y,I){for(I=I||this.length;this.pos<I;){var U=this.readVarint(),J=U>>3,ne=this.pos;this.type=U&7,m(J,y,this),this.pos===ne&&this.skip(U)}return y},readMessage:function(m,y){return this.readFields(m,y,this.readVarint()+this.pos)},readFixed32:function(){var m=Dh(this.buf,this.pos);return this.pos+=4,m},readSFixed32:function(){var m=Iv(this.buf,this.pos);return this.pos+=4,m},readFixed64:function(){var m=Dh(this.buf,this.pos)+Dh(this.buf,this.pos+4)*lo;return this.pos+=8,m},readSFixed64:function(){var m=Dh(this.buf,this.pos)+Iv(this.buf,this.pos+4)*lo;return this.pos+=8,m},readFloat:function(){var m=Io.read(this.buf,this.pos,!0,23,4);return this.pos+=4,m},readDouble:function(){var m=Io.read(this.buf,this.pos,!0,52,8);return this.pos+=8,m},readVarint:function(m){var y=this.buf,I,U;return U=y[this.pos++],I=U&127,U<128||(U=y[this.pos++],I|=(U&127)<<7,U<128)||(U=y[this.pos++],I|=(U&127)<<14,U<128)||(U=y[this.pos++],I|=(U&127)<<21,U<128)?I:(U=y[this.pos],I|=(U&15)<<28,bo(I,m,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var m=this.readVarint();return m%2===1?(m+1)/-2:m/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var m=this.readVarint()+this.pos,y=this.pos;return this.pos=m,m-y>=Xa&&Tn?Cl(this.buf,y,m):lv(this.buf,y,m)},readBytes:function(){var m=this.readVarint()+this.pos,y=this.buf.subarray(this.pos,m);return this.pos=m,y},readPackedVarint:function(m,y){if(this.type!==Hn.Bytes)return m.push(this.readVarint(y));var I=Ya(this);for(m=m||[];this.pos<I;)m.push(this.readVarint(y));return m},readPackedSVarint:function(m){if(this.type!==Hn.Bytes)return m.push(this.readSVarint());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readSVarint());return m},readPackedBoolean:function(m){if(this.type!==Hn.Bytes)return m.push(this.readBoolean());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readBoolean());return m},readPackedFloat:function(m){if(this.type!==Hn.Bytes)return m.push(this.readFloat());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readFloat());return m},readPackedDouble:function(m){if(this.type!==Hn.Bytes)return m.push(this.readDouble());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readDouble());return m},readPackedFixed32:function(m){if(this.type!==Hn.Bytes)return m.push(this.readFixed32());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readFixed32());return m},readPackedSFixed32:function(m){if(this.type!==Hn.Bytes)return m.push(this.readSFixed32());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readSFixed32());return m},readPackedFixed64:function(m){if(this.type!==Hn.Bytes)return m.push(this.readFixed64());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readFixed64());return m},readPackedSFixed64:function(m){if(this.type!==Hn.Bytes)return m.push(this.readSFixed64());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readSFixed64());return m},skip:function(m){var y=m&7;if(y===Hn.Varint)for(;this.buf[this.pos++]>127;);else if(y===Hn.Bytes)this.pos=this.readVarint()+this.pos;else if(y===Hn.Fixed32)this.pos+=4;else if(y===Hn.Fixed64)this.pos+=8;else throw new Error(\"Unimplemented type: \"+y)},writeTag:function(m,y){this.writeVarint(m<<3|y)},realloc:function(m){for(var y=this.length||16;y<this.pos+m;)y*=2;if(y!==this.length){var I=new Uint8Array(y);I.set(this.buf),this.buf=I,this.length=y}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(m){this.realloc(4),xf(this.buf,m,this.pos),this.pos+=4},writeSFixed32:function(m){this.realloc(4),xf(this.buf,m,this.pos),this.pos+=4},writeFixed64:function(m){this.realloc(8),xf(this.buf,m&-1,this.pos),xf(this.buf,Math.floor(m*$a),this.pos+4),this.pos+=8},writeSFixed64:function(m){this.realloc(8),xf(this.buf,m&-1,this.pos),xf(this.buf,Math.floor(m*$a),this.pos+4),this.pos+=8},writeVarint:function(m){if(m=+m||0,m>268435455||m<0){wu(m,this);return}this.realloc(4),this.buf[this.pos++]=m&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=(m>>>=7)&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=(m>>>=7)&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=m>>>7&127)))},writeSVarint:function(m){this.writeVarint(m<0?-m*2-1:m*2)},writeBoolean:function(m){this.writeVarint(!!m)},writeString:function(m){m=String(m),this.realloc(m.length*4),this.pos++;var y=this.pos;this.pos=qu(this.buf,m,this.pos);var I=this.pos-y;I>=128&&$v(y,I,this),this.pos=y-1,this.writeVarint(I),this.pos+=I},writeFloat:function(m){this.realloc(4),Io.write(this.buf,m,this.pos,!0,23,4),this.pos+=4},writeDouble:function(m){this.realloc(8),Io.write(this.buf,m,this.pos,!0,52,8),this.pos+=8},writeBytes:function(m){var y=m.length;this.writeVarint(y),this.realloc(y);for(var I=0;I<y;I++)this.buf[this.pos++]=m[I]},writeRawMessage:function(m,y){this.pos++;var I=this.pos;m(y,this);var U=this.pos-I;U>=128&&$v(I,U,this),this.pos=I-1,this.writeVarint(U),this.pos+=U},writeMessage:function(m,y,I){this.writeTag(m,Hn.Bytes),this.writeRawMessage(y,I)},writePackedVarint:function(m,y){y.length&&this.writeMessage(m,td,y)},writePackedSVarint:function(m,y){y.length&&this.writeMessage(m,ch,y)},writePackedBoolean:function(m,y){y.length&&this.writeMessage(m,Hd,y)},writePackedFloat:function(m,y){y.length&&this.writeMessage(m,Ud,y)},writePackedDouble:function(m,y){y.length&&this.writeMessage(m,Vd,y)},writePackedFixed32:function(m,y){y.length&&this.writeMessage(m,rf,y)},writePackedSFixed32:function(m,y){y.length&&this.writeMessage(m,fh,y)},writePackedFixed64:function(m,y){y.length&&this.writeMessage(m,Td,y)},writePackedSFixed64:function(m,y){y.length&&this.writeMessage(m,rd,y)},writeBytesField:function(m,y){this.writeTag(m,Hn.Bytes),this.writeBytes(y)},writeFixed32Field:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeFixed32(y)},writeSFixed32Field:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeSFixed32(y)},writeFixed64Field:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeFixed64(y)},writeSFixed64Field:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeSFixed64(y)},writeVarintField:function(m,y){this.writeTag(m,Hn.Varint),this.writeVarint(y)},writeSVarintField:function(m,y){this.writeTag(m,Hn.Varint),this.writeSVarint(y)},writeStringField:function(m,y){this.writeTag(m,Hn.Bytes),this.writeString(y)},writeFloatField:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeFloat(y)},writeDoubleField:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeDouble(y)},writeBooleanField:function(m,y){this.writeVarintField(m,!!y)}};function bo(m,y,I){var U=I.buf,J,ne;if(ne=U[I.pos++],J=(ne&112)>>4,ne<128||(ne=U[I.pos++],J|=(ne&127)<<3,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<10,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<17,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<24,ne<128)||(ne=U[I.pos++],J|=(ne&1)<<31,ne<128))return Uo(m,J,y);throw new Error(\"Expected varint not more than 10 bytes\")}function Ya(m){return m.type===Hn.Bytes?m.readVarint()+m.pos:m.pos+1}function Uo(m,y,I){return I?y*4294967296+(m>>>0):(y>>>0)*4294967296+(m>>>0)}function wu(m,y){var I,U;if(m>=0?(I=m%4294967296|0,U=m/4294967296|0):(I=~(-m%4294967296),U=~(-m/4294967296),I^4294967295?I=I+1|0:(I=0,U=U+1|0)),m>=18446744073709552e3||m<-18446744073709552e3)throw new Error(\"Given varint doesn't fit into 10 bytes\");y.realloc(10),hu(I,U,y),uh(U,y)}function hu(m,y,I){I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos]=m&127}function uh(m,y){var I=(m&7)<<4;y.buf[y.pos++]|=I|((m>>>=3)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127)))))}function $v(m,y,I){var U=y<=16383?1:y<=2097151?2:y<=268435455?3:Math.floor(Math.log(y)/(Math.LN2*7));I.realloc(U);for(var J=I.pos-1;J>=m;J--)I.buf[J+U]=I.buf[J]}function td(m,y){for(var I=0;I<m.length;I++)y.writeVarint(m[I])}function ch(m,y){for(var I=0;I<m.length;I++)y.writeSVarint(m[I])}function Ud(m,y){for(var I=0;I<m.length;I++)y.writeFloat(m[I])}function Vd(m,y){for(var I=0;I<m.length;I++)y.writeDouble(m[I])}function Hd(m,y){for(var I=0;I<m.length;I++)y.writeBoolean(m[I])}function rf(m,y){for(var I=0;I<m.length;I++)y.writeFixed32(m[I])}function fh(m,y){for(var I=0;I<m.length;I++)y.writeSFixed32(m[I])}function Td(m,y){for(var I=0;I<m.length;I++)y.writeFixed64(m[I])}function rd(m,y){for(var I=0;I<m.length;I++)y.writeSFixed64(m[I])}function Dh(m,y){return(m[y]|m[y+1]<<8|m[y+2]<<16)+m[y+3]*16777216}function xf(m,y,I){m[I]=y,m[I+1]=y>>>8,m[I+2]=y>>>16,m[I+3]=y>>>24}function Iv(m,y){return(m[y]|m[y+1]<<8|m[y+2]<<16)+(m[y+3]<<24)}function lv(m,y,I){for(var U=\"\",J=y;J<I;){var ne=m[J],fe=null,Fe=ne>239?4:ne>223?3:ne>191?2:1;if(J+Fe>I)break;var Qe,st,mt;Fe===1?ne<128&&(fe=ne):Fe===2?(Qe=m[J+1],(Qe&192)===128&&(fe=(ne&31)<<6|Qe&63,fe<=127&&(fe=null))):Fe===3?(Qe=m[J+1],st=m[J+2],(Qe&192)===128&&(st&192)===128&&(fe=(ne&15)<<12|(Qe&63)<<6|st&63,(fe<=2047||fe>=55296&&fe<=57343)&&(fe=null))):Fe===4&&(Qe=m[J+1],st=m[J+2],mt=m[J+3],(Qe&192)===128&&(st&192)===128&&(mt&192)===128&&(fe=(ne&15)<<18|(Qe&63)<<12|(st&63)<<6|mt&63,(fe<=65535||fe>=1114112)&&(fe=null))),fe===null?(fe=65533,Fe=1):fe>65535&&(fe-=65536,U+=String.fromCharCode(fe>>>10&1023|55296),fe=56320|fe&1023),U+=String.fromCharCode(fe),J+=Fe}return U}function Cl(m,y,I){return Tn.decode(m.subarray(y,I))}function qu(m,y,I){for(var U=0,J,ne;U<y.length;U++){if(J=y.charCodeAt(U),J>55295&&J<57344)if(ne)if(J<56320){m[I++]=239,m[I++]=191,m[I++]=189,ne=J;continue}else J=ne-55296<<10|J-56320|65536,ne=null;else{J>56319||U+1===y.length?(m[I++]=239,m[I++]=191,m[I++]=189):ne=J;continue}else ne&&(m[I++]=239,m[I++]=191,m[I++]=189,ne=null);J<128?m[I++]=J:(J<2048?m[I++]=J>>6|192:(J<65536?m[I++]=J>>12|224:(m[I++]=J>>18|240,m[I++]=J>>12&63|128),m[I++]=J>>6&63|128),m[I++]=J&63|128)}return I}var Tu=3;function Rv(m,y,I){m===1&&I.readMessage(qc,y)}function qc(m,y,I){if(m===3){var U=I.readMessage(I1,{}),J=U.id,ne=U.bitmap,fe=U.width,Fe=U.height,Qe=U.left,st=U.top,mt=U.advance;y.push({id:J,bitmap:new Pv({width:fe+2*Tu,height:Fe+2*Tu},ne),metrics:{width:fe,height:Fe,left:Qe,top:st,advance:mt}})}}function I1(m,y,I){m===1?y.id=I.readVarint():m===2?y.bitmap=I.readBytes():m===3?y.width=I.readVarint():m===4?y.height=I.readVarint():m===5?y.left=I.readSVarint():m===6?y.top=I.readSVarint():m===7&&(y.advance=I.readVarint())}function p0(m){return new La(m).readFields(Rv,[])}var Gp=Tu;function Qv(m){for(var y=0,I=0,U=0,J=m;U<J.length;U+=1){var ne=J[U];y+=ne.w*ne.h,I=Math.max(I,ne.w)}m.sort(function(_i,si){return si.h-_i.h});for(var fe=Math.max(Math.ceil(Math.sqrt(y/.95)),I),Fe=[{x:0,y:0,w:fe,h:1/0}],Qe=0,st=0,mt=0,Xt=m;mt<Xt.length;mt+=1)for(var ur=Xt[mt],nr=Fe.length-1;nr>=0;nr--){var Lr=Fe[nr];if(!(ur.w>Lr.w||ur.h>Lr.h)){if(ur.x=Lr.x,ur.y=Lr.y,st=Math.max(st,ur.y+ur.h),Qe=Math.max(Qe,ur.x+ur.w),ur.w===Lr.w&&ur.h===Lr.h){var Yr=Fe.pop();nr<Fe.length&&(Fe[nr]=Yr)}else ur.h===Lr.h?(Lr.x+=ur.w,Lr.w-=ur.w):ur.w===Lr.w?(Lr.y+=ur.h,Lr.h-=ur.h):(Fe.push({x:Lr.x+ur.w,y:Lr.y,w:Lr.w-ur.w,h:ur.h}),Lr.y+=ur.h,Lr.h-=ur.h);break}}return{w:Qe,h:st,fill:y/(Qe*st)||0}}var oc=1,If=function(y,I){var U=I.pixelRatio,J=I.version,ne=I.stretchX,fe=I.stretchY,Fe=I.content;this.paddedRect=y,this.pixelRatio=U,this.stretchX=ne,this.stretchY=fe,this.content=Fe,this.version=J},ep={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};ep.tl.get=function(){return[this.paddedRect.x+oc,this.paddedRect.y+oc]},ep.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-oc,this.paddedRect.y+this.paddedRect.h-oc]},ep.tlbr.get=function(){return this.tl.concat(this.br)},ep.displaySize.get=function(){return[(this.paddedRect.w-oc*2)/this.pixelRatio,(this.paddedRect.h-oc*2)/this.pixelRatio]},Object.defineProperties(If.prototype,ep);var gg=function(y,I){var U={},J={};this.haveRenderCallbacks=[];var ne=[];this.addImages(y,U,ne),this.addImages(I,J,ne);var fe=Qv(ne),Fe=fe.w,Qe=fe.h,st=new lh({width:Fe||1,height:Qe||1});for(var mt in y){var Xt=y[mt],ur=U[mt].paddedRect;lh.copy(Xt.data,st,{x:0,y:0},{x:ur.x+oc,y:ur.y+oc},Xt.data)}for(var nr in I){var Lr=I[nr],Yr=J[nr].paddedRect,_i=Yr.x+oc,si=Yr.y+oc,Hi=Lr.data.width,Ei=Lr.data.height;lh.copy(Lr.data,st,{x:0,y:0},{x:_i,y:si},Lr.data),lh.copy(Lr.data,st,{x:0,y:Ei-1},{x:_i,y:si-1},{width:Hi,height:1}),lh.copy(Lr.data,st,{x:0,y:0},{x:_i,y:si+Ei},{width:Hi,height:1}),lh.copy(Lr.data,st,{x:Hi-1,y:0},{x:_i-1,y:si},{width:1,height:Ei}),lh.copy(Lr.data,st,{x:0,y:0},{x:_i+Hi,y:si},{width:1,height:Ei})}this.image=st,this.iconPositions=U,this.patternPositions=J};gg.prototype.addImages=function(y,I,U){for(var J in y){var ne=y[J],fe={x:0,y:0,w:ne.data.width+2*oc,h:ne.data.height+2*oc};U.push(fe),I[J]=new If(fe,ne),ne.hasRenderCallback&&this.haveRenderCallbacks.push(J)}},gg.prototype.patchUpdatedImages=function(y,I){y.dispatchRenderCallbacks(this.haveRenderCallbacks);for(var U in y.updatedImages)this.patchUpdatedImage(this.iconPositions[U],y.getImage(U),I),this.patchUpdatedImage(this.patternPositions[U],y.getImage(U),I)},gg.prototype.patchUpdatedImage=function(y,I,U){if(!(!y||!I)&&y.version!==I.version){y.version=I.version;var J=y.tl,ne=J[0],fe=J[1];U.update(I.data,void 0,{x:ne,y:fe})}},Z(\"ImagePosition\",If),Z(\"ImageAtlas\",gg);var uv={horizontal:1,vertical:2,horizontalOnly:3},R1=-17;function xS(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(U.positionedGlyphs.length!==0)return!1}return!0}var Uw=57344,g0=63743,hy=function(){this.scale=1,this.fontStack=\"\",this.imageName=null};hy.forText=function(y,I){var U=new hy;return U.scale=y||1,U.fontStack=I,U},hy.forImage=function(y){var I=new hy;return I.imageName=y,I};var zh=function(){this.text=\"\",this.sectionIndex=[],this.sections=[],this.imageSectionID=null};zh.fromFeature=function(y,I){for(var U=new zh,J=0;J<y.sections.length;J++){var ne=y.sections[J];ne.image?U.addImageSection(ne):U.addTextSection(ne,I)}return U},zh.prototype.length=function(){return this.text.length},zh.prototype.getSection=function(y){return this.sections[this.sectionIndex[y]]},zh.prototype.getSectionIndex=function(y){return this.sectionIndex[y]},zh.prototype.getCharCode=function(y){return this.text.charCodeAt(y)},zh.prototype.verticalizePunctuation=function(){this.text=ki(this.text)},zh.prototype.trim=function(){for(var y=0,I=0;I<this.text.length&&m0[this.text.charCodeAt(I)];I++)y++;for(var U=this.text.length,J=this.text.length-1;J>=0&&J>=y&&m0[this.text.charCodeAt(J)];J--)U--;this.text=this.text.substring(y,U),this.sectionIndex=this.sectionIndex.slice(y,U)},zh.prototype.substring=function(y,I){var U=new zh;return U.text=this.text.substring(y,I),U.sectionIndex=this.sectionIndex.slice(y,I),U.sections=this.sections,U},zh.prototype.toString=function(){return this.text},zh.prototype.getMaxScale=function(){var y=this;return this.sectionIndex.reduce(function(I,U){return Math.max(I,y.sections[U].scale)},0)},zh.prototype.addTextSection=function(y,I){this.text+=y.text,this.sections.push(hy.forText(y.scale,y.fontStack||I));for(var U=this.sections.length-1,J=0;J<y.text.length;++J)this.sectionIndex.push(U)},zh.prototype.addImageSection=function(y){var I=y.image?y.image.name:\"\";if(I.length===0){re(\"Can't add FormattedSection with an empty image.\");return}var U=this.getNextImageSectionCharCode();if(!U){re(\"Reached maximum number of images \"+(g0-Uw+2));return}this.text+=String.fromCharCode(U),this.sections.push(hy.forImage(I)),this.sectionIndex.push(this.sections.length-1)},zh.prototype.getNextImageSectionCharCode=function(){return this.imageSectionID?this.imageSectionID>=g0?null:++this.imageSectionID:(this.imageSectionID=Uw,this.imageSectionID)};function Q9(m,y){for(var I=[],U=m.text,J=0,ne=0,fe=y;ne<fe.length;ne+=1){var Fe=fe[ne];I.push(m.substring(J,Fe)),J=Fe}return J<U.length&&I.push(m.substring(J,U.length)),I}function Vw(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr){var _i=zh.fromFeature(m,J);Xt===uv.vertical&&_i.verticalizePunctuation();var si,Hi=_s.processBidirectionalText,Ei=_s.processStyledBidirectionalText;if(Hi&&_i.sections.length===1){si=[];for(var Vi=Hi(_i.toString(),Hw(_i,st,ne,y,U,nr,Lr)),en=0,An=Vi;en<An.length;en+=1){var ra=An[en],$n=new zh;$n.text=ra,$n.sections=_i.sections;for(var Ba=0;Ba<ra.length;Ba++)$n.sectionIndex.push(0);si.push($n)}}else if(Ei){si=[];for(var _a=Ei(_i.text,_i.sectionIndex,Hw(_i,st,ne,y,U,nr,Lr)),Pa=0,qo=_a;Pa<qo.length;Pa+=1){var Na=qo[Pa],ja=new zh;ja.text=Na[0],ja.sectionIndex=Na[1],ja.sections=_i.sections,si.push(ja)}}else si=Q9(_i,Hw(_i,st,ne,y,U,nr,Lr));var us=[],zo={positionedLines:us,text:_i.toString(),top:mt[1],bottom:mt[1],left:mt[0],right:mt[0],writingMode:Xt,iconsInText:!1,verticalizable:!1};return rq(zo,y,I,U,si,fe,Fe,Qe,Xt,st,ur,Yr),xS(us)?!1:zo}var m0={};m0[9]=!0,m0[10]=!0,m0[11]=!0,m0[12]=!0,m0[13]=!0,m0[32]=!0;var cv={};cv[10]=!0,cv[32]=!0,cv[38]=!0,cv[40]=!0,cv[41]=!0,cv[43]=!0,cv[45]=!0,cv[47]=!0,cv[173]=!0,cv[183]=!0,cv[8203]=!0,cv[8208]=!0,cv[8211]=!0,cv[8231]=!0;function UC(m,y,I,U,J,ne){if(y.imageName){var Qe=U[y.imageName];return Qe?Qe.displaySize[0]*y.scale*Zi/ne+J:0}else{var fe=I[y.fontStack],Fe=fe&&fe[m];return Fe?Fe.metrics.advance*y.scale+J:0}}function eq(m,y,I,U,J,ne){for(var fe=0,Fe=0;Fe<m.length();Fe++){var Qe=m.getSection(Fe);fe+=UC(m.getCharCode(Fe),Qe,U,J,y,ne)}var st=Math.max(1,Math.ceil(fe/I));return fe/st}function VC(m,y,I,U){var J=Math.pow(m-y,2);return U?m<y?J/2:J*2:J+Math.abs(I)*I}function tq(m,y,I){var U=0;return m===10&&(U-=1e4),I&&(U+=150),(m===40||m===65288)&&(U+=50),(y===41||y===65289)&&(U+=50),U}function mp(m,y,I,U,J,ne){for(var fe=null,Fe=VC(y,I,J,ne),Qe=0,st=U;Qe<st.length;Qe+=1){var mt=st[Qe],Xt=y-mt.x,ur=VC(Xt,I,J,ne)+mt.badness;ur<=Fe&&(fe=mt,Fe=ur)}return{index:m,x:y,priorBreak:fe,badness:Fe}}function rb(m){return m?rb(m.priorBreak).concat(m.index):[]}function Hw(m,y,I,U,J,ne,fe){if(ne!==\"point\")return[];if(!m)return[];for(var Fe=[],Qe=eq(m,y,I,U,J,fe),st=m.text.indexOf(\"\\u200B\")>=0,mt=0,Xt=0;Xt<m.length();Xt++){var ur=m.getSection(Xt),nr=m.getCharCode(Xt);if(m0[nr]||(mt+=UC(nr,ur,U,J,y,fe)),Xt<m.length()-1){var Lr=Dr(nr);(cv[nr]||Lr||ur.imageName)&&Fe.push(mp(Xt+1,mt,Qe,Fe,tq(nr,m.getCharCode(Xt+1),Lr&&st),!1))}}return rb(mp(m.length(),mt,Qe,Fe,0,!0))}function bS(m){var y=.5,I=.5;switch(m){case\"right\":case\"top-right\":case\"bottom-right\":y=1;break;case\"left\":case\"top-left\":case\"bottom-left\":y=0;break}switch(m){case\"bottom\":case\"bottom-right\":case\"bottom-left\":I=1;break;case\"top\":case\"top-right\":case\"top-left\":I=0;break}return{horizontalAlign:y,verticalAlign:I}}function rq(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt){for(var ur=0,nr=R1,Lr=0,Yr=0,_i=Fe===\"right\"?1:Fe===\"left\"?0:.5,si=0,Hi=0,Ei=J;Hi<Ei.length;Hi+=1){var Vi=Ei[Hi];Vi.trim();var en=Vi.getMaxScale(),An=(en-1)*Zi,ra={positionedGlyphs:[],lineOffset:0};m.positionedLines[si]=ra;var $n=ra.positionedGlyphs,Ba=0;if(!Vi.length()){nr+=ne,++si;continue}for(var _a=0;_a<Vi.length();_a++){var Pa=Vi.getSection(_a),qo=Vi.getSectionIndex(_a),Na=Vi.getCharCode(_a),ja=0,us=null,zo=null,rl=null,su=Zi,il=!(Qe===uv.horizontal||!mt&&!Ir(Na)||mt&&(m0[Na]||qr(Na)));if(Pa.imageName){var nf=U[Pa.imageName];if(!nf)continue;rl=Pa.imageName,m.iconsInText=m.iconsInText||!0,zo=nf.paddedRect;var bf=nf.displaySize;Pa.scale=Pa.scale*Zi/Xt,us={width:bf[0],height:bf[1],left:oc,top:-Gp,advance:il?bf[1]:bf[0]};var qh=Zi-bf[1]*Pa.scale;ja=An+qh,su=us.advance;var Zf=il?bf[0]*Pa.scale-Zi*en:bf[1]*Pa.scale-Zi*en;Zf>0&&Zf>Ba&&(Ba=Zf)}else{var nl=I[Pa.fontStack],Ws=nl&&nl[Na];if(Ws&&Ws.rect)zo=Ws.rect,us=Ws.metrics;else{var Au=y[Pa.fontStack],Ou=Au&&Au[Na];if(!Ou)continue;us=Ou.metrics}ja=(en-Pa.scale)*Zi}il?(m.verticalizable=!0,$n.push({glyph:Na,imageName:rl,x:ur,y:nr+ja,vertical:il,scale:Pa.scale,fontStack:Pa.fontStack,sectionIndex:qo,metrics:us,rect:zo}),ur+=su*Pa.scale+st):($n.push({glyph:Na,imageName:rl,x:ur,y:nr+ja,vertical:il,scale:Pa.scale,fontStack:Pa.fontStack,sectionIndex:qo,metrics:us,rect:zo}),ur+=us.advance*Pa.scale+st)}if($n.length!==0){var jd=ur-st;Lr=Math.max(jd,Lr),iq($n,0,$n.length-1,_i,Ba)}ur=0;var Wd=ne*en+Ba;ra.lineOffset=Math.max(Ba,An),nr+=Wd,Yr=Math.max(Wd,Yr),++si}var Oh=nr-R1,fv=bS(fe),hv=fv.horizontalAlign,hh=fv.verticalAlign;Ad(m.positionedLines,_i,hv,hh,Lr,Yr,ne,Oh,J.length),m.top+=-hh*Oh,m.bottom=m.top+Oh,m.left+=-hv*Lr,m.right=m.left+Lr}function iq(m,y,I,U,J){if(!(!U&&!J))for(var ne=m[I],fe=ne.metrics.advance*ne.scale,Fe=(m[I].x+fe)*U,Qe=y;Qe<=I;Qe++)m[Qe].x-=Fe,m[Qe].y+=J}function Ad(m,y,I,U,J,ne,fe,Fe,Qe){var st=(y-I)*J,mt=0;ne!==fe?mt=-Fe*U-R1:mt=(-U*Qe+.5)*fe;for(var Xt=0,ur=m;Xt<ur.length;Xt+=1)for(var nr=ur[Xt],Lr=0,Yr=nr.positionedGlyphs;Lr<Yr.length;Lr+=1){var _i=Yr[Lr];_i.x+=st,_i.y+=mt}}function tp(m,y,I){var U=bS(I),J=U.horizontalAlign,ne=U.verticalAlign,fe=y[0],Fe=y[1],Qe=fe-m.displaySize[0]*J,st=Qe+m.displaySize[0],mt=Fe-m.displaySize[1]*ne,Xt=mt+m.displaySize[1];return{image:m,top:mt,bottom:Xt,left:Qe,right:st}}function hm(m,y,I,U,J,ne){var fe=m.image,Fe;if(fe.content){var Qe=fe.content,st=fe.pixelRatio||1;Fe=[Qe[0]/st,Qe[1]/st,fe.displaySize[0]-Qe[2]/st,fe.displaySize[1]-Qe[3]/st]}var mt=y.left*ne,Xt=y.right*ne,ur,nr,Lr,Yr;I===\"width\"||I===\"both\"?(Yr=J[0]+mt-U[3],nr=J[0]+Xt+U[1]):(Yr=J[0]+(mt+Xt-fe.displaySize[0])/2,nr=Yr+fe.displaySize[0]);var _i=y.top*ne,si=y.bottom*ne;return I===\"height\"||I===\"both\"?(ur=J[1]+_i-U[0],Lr=J[1]+si+U[2]):(ur=J[1]+(_i+si-fe.displaySize[1])/2,Lr=ur+fe.displaySize[1]),{image:fe,top:ur,right:nr,bottom:Lr,left:Yr,collisionPadding:Fe}}var Gd=function(m){function y(I,U,J,ne){m.call(this,I,U),this.angle=J,ne!==void 0&&(this.segment=ne)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.clone=function(){return new y(this.x,this.y,this.angle,this.segment)},y}(u);Z(\"Anchor\",Gd);var Sd=128;function yp(m,y){var I=y.expression;if(I.kind===\"constant\"){var U=I.evaluate(new pn(m+1));return{kind:\"constant\",layoutSize:U}}else{if(I.kind===\"source\")return{kind:\"source\"};for(var J=I.zoomStops,ne=I.interpolationType,fe=0;fe<J.length&&J[fe]<=m;)fe++;fe=Math.max(0,fe-1);for(var Fe=fe;Fe<J.length&&J[Fe]<m+1;)Fe++;Fe=Math.min(J.length-1,Fe);var Qe=J[fe],st=J[Fe];if(I.kind===\"composite\")return{kind:\"composite\",minZoom:Qe,maxZoom:st,interpolationType:ne};var mt=I.evaluate(new pn(Qe)),Xt=I.evaluate(new pn(st));return{kind:\"camera\",minZoom:Qe,maxZoom:st,minSize:mt,maxSize:Xt,interpolationType:ne}}}function _Q(m,y,I){var U=y.uSize,J=y.uSizeT,ne=I.lowerSize,fe=I.upperSize;return m.kind===\"source\"?ne/Sd:m.kind===\"composite\"?Qs(ne/Sd,fe/Sd,J):U}function xQ(m,y){var I=0,U=0;if(m.kind===\"constant\")U=m.layoutSize;else if(m.kind!==\"source\"){var J=m.interpolationType,ne=m.minZoom,fe=m.maxZoom,Fe=J?p(Dl.interpolationFactor(J,y,ne,fe),0,1):0;m.kind===\"camera\"?U=Qs(m.minSize,m.maxSize,Fe):I=Fe}return{uSizeT:I,uSize:U}}var iQe=Object.freeze({__proto__:null,getSizeData:yp,evaluateSizeForFeature:_Q,evaluateSizeForZoom:xQ,SIZE_PACK_FACTOR:Sd});function bQ(m,y,I,U,J){if(y.segment===void 0)return!0;for(var ne=y,fe=y.segment+1,Fe=0;Fe>-I/2;){if(fe--,fe<0)return!1;Fe-=m[fe].dist(ne),ne=m[fe]}Fe+=m[fe].dist(m[fe+1]),fe++;for(var Qe=[],st=0;Fe<I/2;){var mt=m[fe-1],Xt=m[fe],ur=m[fe+1];if(!ur)return!1;var nr=mt.angleTo(Xt)-Xt.angleTo(ur);for(nr=Math.abs((nr+3*Math.PI)%(Math.PI*2)-Math.PI),Qe.push({distance:Fe,angleDelta:nr}),st+=nr;Fe-Qe[0].distance>U;)st-=Qe.shift().angleDelta;if(st>J)return!1;fe++,Fe+=Xt.dist(ur)}return!0}function wQ(m){for(var y=0,I=0;I<m.length-1;I++)y+=m[I].dist(m[I+1]);return y}function TQ(m,y,I){return m?3/5*y*I:0}function AQ(m,y){return Math.max(m?m.right-m.left:0,y?y.right-y.left:0)}function nQe(m,y,I,U,J,ne){for(var fe=TQ(I,J,ne),Fe=AQ(I,U)*ne,Qe=0,st=wQ(m)/2,mt=0;mt<m.length-1;mt++){var Xt=m[mt],ur=m[mt+1],nr=Xt.dist(ur);if(Qe+nr>st){var Lr=(st-Qe)/nr,Yr=Qs(Xt.x,ur.x,Lr),_i=Qs(Xt.y,ur.y,Lr),si=new Gd(Yr,_i,ur.angleTo(Xt),mt);return si._round(),!fe||bQ(m,si,Fe,fe,y)?si:void 0}Qe+=nr}}function aQe(m,y,I,U,J,ne,fe,Fe,Qe){var st=TQ(U,ne,fe),mt=AQ(U,J),Xt=mt*fe,ur=m[0].x===0||m[0].x===Qe||m[0].y===0||m[0].y===Qe;y-Xt<y/4&&(y=Xt+y/4);var nr=ne*2,Lr=ur?y/2*Fe%y:(mt/2+nr)*fe*Fe%y;return SQ(m,Lr,y,st,I,Xt,ur,!1,Qe)}function SQ(m,y,I,U,J,ne,fe,Fe,Qe){for(var st=ne/2,mt=wQ(m),Xt=0,ur=y-I,nr=[],Lr=0;Lr<m.length-1;Lr++){for(var Yr=m[Lr],_i=m[Lr+1],si=Yr.dist(_i),Hi=_i.angleTo(Yr);ur+I<Xt+si;){ur+=I;var Ei=(ur-Xt)/si,Vi=Qs(Yr.x,_i.x,Ei),en=Qs(Yr.y,_i.y,Ei);if(Vi>=0&&Vi<Qe&&en>=0&&en<Qe&&ur-st>=0&&ur+st<=mt){var An=new Gd(Vi,en,Hi,Lr);An._round(),(!U||bQ(m,An,ne,U,J))&&nr.push(An)}}Xt+=si}return!Fe&&!nr.length&&!fe&&(nr=SQ(m,Xt/2,I,U,J,ne,fe,!0,Qe)),nr}function MQ(m,y,I,U,J){for(var ne=[],fe=0;fe<m.length;fe++)for(var Fe=m[fe],Qe=void 0,st=0;st<Fe.length-1;st++){var mt=Fe[st],Xt=Fe[st+1];mt.x<y&&Xt.x<y||(mt.x<y?mt=new u(y,mt.y+(Xt.y-mt.y)*((y-mt.x)/(Xt.x-mt.x)))._round():Xt.x<y&&(Xt=new u(y,mt.y+(Xt.y-mt.y)*((y-mt.x)/(Xt.x-mt.x)))._round()),!(mt.y<I&&Xt.y<I)&&(mt.y<I?mt=new u(mt.x+(Xt.x-mt.x)*((I-mt.y)/(Xt.y-mt.y)),I)._round():Xt.y<I&&(Xt=new u(mt.x+(Xt.x-mt.x)*((I-mt.y)/(Xt.y-mt.y)),I)._round()),!(mt.x>=U&&Xt.x>=U)&&(mt.x>=U?mt=new u(U,mt.y+(Xt.y-mt.y)*((U-mt.x)/(Xt.x-mt.x)))._round():Xt.x>=U&&(Xt=new u(U,mt.y+(Xt.y-mt.y)*((U-mt.x)/(Xt.x-mt.x)))._round()),!(mt.y>=J&&Xt.y>=J)&&(mt.y>=J?mt=new u(mt.x+(Xt.x-mt.x)*((J-mt.y)/(Xt.y-mt.y)),J)._round():Xt.y>=J&&(Xt=new u(mt.x+(Xt.x-mt.x)*((J-mt.y)/(Xt.y-mt.y)),J)._round()),(!Qe||!mt.equals(Qe[Qe.length-1]))&&(Qe=[mt],ne.push(Qe)),Qe.push(Xt)))))}return ne}var Gw=oc;function EQ(m,y,I,U){var J=[],ne=m.image,fe=ne.pixelRatio,Fe=ne.paddedRect.w-2*Gw,Qe=ne.paddedRect.h-2*Gw,st=m.right-m.left,mt=m.bottom-m.top,Xt=ne.stretchX||[[0,Fe]],ur=ne.stretchY||[[0,Qe]],nr=function(nl,Ws){return nl+Ws[1]-Ws[0]},Lr=Xt.reduce(nr,0),Yr=ur.reduce(nr,0),_i=Fe-Lr,si=Qe-Yr,Hi=0,Ei=Lr,Vi=0,en=Yr,An=0,ra=_i,$n=0,Ba=si;if(ne.content&&U){var _a=ne.content;Hi=HC(Xt,0,_a[0]),Vi=HC(ur,0,_a[1]),Ei=HC(Xt,_a[0],_a[2]),en=HC(ur,_a[1],_a[3]),An=_a[0]-Hi,$n=_a[1]-Vi,ra=_a[2]-_a[0]-Ei,Ba=_a[3]-_a[1]-en}var Pa=function(nl,Ws,Au,Ou){var nf=GC(nl.stretch-Hi,Ei,st,m.left),bf=jC(nl.fixed-An,ra,nl.stretch,Lr),qh=GC(Ws.stretch-Vi,en,mt,m.top),Zf=jC(Ws.fixed-$n,Ba,Ws.stretch,Yr),jd=GC(Au.stretch-Hi,Ei,st,m.left),Wd=jC(Au.fixed-An,ra,Au.stretch,Lr),Oh=GC(Ou.stretch-Vi,en,mt,m.top),fv=jC(Ou.fixed-$n,Ba,Ou.stretch,Yr),hv=new u(nf,qh),hh=new u(jd,qh),dv=new u(jd,Oh),_p=new u(nf,Oh),py=new u(bf/fe,Zf/fe),F1=new u(Wd/fe,fv/fe),q1=y*Math.PI/180;if(q1){var O1=Math.sin(q1),$w=Math.cos(q1),y0=[$w,-O1,O1,$w];hv._matMult(y0),hh._matMult(y0),_p._matMult(y0),dv._matMult(y0)}var JC=nl.stretch+nl.fixed,fq=Au.stretch+Au.fixed,$C=Ws.stretch+Ws.fixed,hq=Ou.stretch+Ou.fixed,jp={x:ne.paddedRect.x+Gw+JC,y:ne.paddedRect.y+Gw+$C,w:fq-JC,h:hq-$C},Qw=ra/fe/st,QC=Ba/fe/mt;return{tl:hv,tr:hh,bl:_p,br:dv,tex:jp,writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:py,pixelOffsetBR:F1,minFontScaleX:Qw,minFontScaleY:QC,isSDF:I}};if(!U||!ne.stretchX&&!ne.stretchY)J.push(Pa({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:Fe+1},{fixed:0,stretch:Qe+1}));else for(var qo=kQ(Xt,_i,Lr),Na=kQ(ur,si,Yr),ja=0;ja<qo.length-1;ja++)for(var us=qo[ja],zo=qo[ja+1],rl=0;rl<Na.length-1;rl++){var su=Na[rl],il=Na[rl+1];J.push(Pa(us,su,zo,il))}return J}function HC(m,y,I){for(var U=0,J=0,ne=m;J<ne.length;J+=1){var fe=ne[J];U+=Math.max(y,Math.min(I,fe[1]))-Math.max(y,Math.min(I,fe[0]))}return U}function kQ(m,y,I){for(var U=[{fixed:-Gw,stretch:0}],J=0,ne=m;J<ne.length;J+=1){var fe=ne[J],Fe=fe[0],Qe=fe[1],st=U[U.length-1];U.push({fixed:Fe-st.stretch,stretch:st.stretch}),U.push({fixed:Fe-st.stretch,stretch:st.stretch+(Qe-Fe)})}return U.push({fixed:y+Gw,stretch:I}),U}function GC(m,y,I,U){return m/y*I+U}function jC(m,y,I,U){return m-y*I/U}function oQe(m,y,I,U,J,ne,fe,Fe){for(var Qe=U.layout.get(\"text-rotate\").evaluate(ne,{})*Math.PI/180,st=[],mt=0,Xt=y.positionedLines;mt<Xt.length;mt+=1)for(var ur=Xt[mt],nr=0,Lr=ur.positionedGlyphs;nr<Lr.length;nr+=1){var Yr=Lr[nr];if(Yr.rect){var _i=Yr.rect||{},si=1,Hi=Gp+si,Ei=!0,Vi=1,en=0,An=(J||Fe)&&Yr.vertical,ra=Yr.metrics.advance*Yr.scale/2;if(Fe&&y.verticalizable){var $n=(Yr.scale-1)*Zi,Ba=(Zi-Yr.metrics.width*Yr.scale)/2;en=ur.lineOffset/2-(Yr.imageName?-Ba:$n)}if(Yr.imageName){var _a=fe[Yr.imageName];Ei=_a.sdf,Vi=_a.pixelRatio,Hi=oc/Vi}var Pa=J?[Yr.x+ra,Yr.y]:[0,0],qo=J?[0,0]:[Yr.x+ra+I[0],Yr.y+I[1]-en],Na=[0,0];An&&(Na=qo,qo=[0,0]);var ja=(Yr.metrics.left-Hi)*Yr.scale-ra+qo[0],us=(-Yr.metrics.top-Hi)*Yr.scale+qo[1],zo=ja+_i.w*Yr.scale/Vi,rl=us+_i.h*Yr.scale/Vi,su=new u(ja,us),il=new u(zo,us),nl=new u(ja,rl),Ws=new u(zo,rl);if(An){var Au=new u(-ra,ra-R1),Ou=-Math.PI/2,nf=Zi/2-ra,bf=Yr.imageName?nf:0,qh=new u(5-R1-nf,-bf),Zf=new(Function.prototype.bind.apply(u,[null].concat(Na)));su._rotateAround(Ou,Au)._add(qh)._add(Zf),il._rotateAround(Ou,Au)._add(qh)._add(Zf),nl._rotateAround(Ou,Au)._add(qh)._add(Zf),Ws._rotateAround(Ou,Au)._add(qh)._add(Zf)}if(Qe){var jd=Math.sin(Qe),Wd=Math.cos(Qe),Oh=[Wd,-jd,jd,Wd];su._matMult(Oh),il._matMult(Oh),nl._matMult(Oh),Ws._matMult(Oh)}var fv=new u(0,0),hv=new u(0,0),hh=0,dv=0;st.push({tl:su,tr:il,bl:nl,br:Ws,tex:_i,writingMode:y.writingMode,glyphOffset:Pa,sectionIndex:Yr.sectionIndex,isSDF:Ei,pixelOffsetTL:fv,pixelOffsetBR:hv,minFontScaleX:hh,minFontScaleY:dv})}}return st}var WC=function(y,I,U,J,ne,fe,Fe,Qe,st,mt){if(this.boxStartIndex=y.length,st){var Xt=fe.top,ur=fe.bottom,nr=fe.collisionPadding;nr&&(Xt-=nr[1],ur+=nr[3]);var Lr=ur-Xt;Lr>0&&(Lr=Math.max(10,Lr),this.circleDiameter=Lr)}else{var Yr=fe.top*Fe-Qe,_i=fe.bottom*Fe+Qe,si=fe.left*Fe-Qe,Hi=fe.right*Fe+Qe,Ei=fe.collisionPadding;if(Ei&&(si-=Ei[0]*Fe,Yr-=Ei[1]*Fe,Hi+=Ei[2]*Fe,_i+=Ei[3]*Fe),mt){var Vi=new u(si,Yr),en=new u(Hi,Yr),An=new u(si,_i),ra=new u(Hi,_i),$n=mt*Math.PI/180;Vi._rotate($n),en._rotate($n),An._rotate($n),ra._rotate($n),si=Math.min(Vi.x,en.x,An.x,ra.x),Hi=Math.max(Vi.x,en.x,An.x,ra.x),Yr=Math.min(Vi.y,en.y,An.y,ra.y),_i=Math.max(Vi.y,en.y,An.y,ra.y)}y.emplaceBack(I.x,I.y,si,Yr,Hi,_i,U,J,ne)}this.boxEndIndex=y.length},jw=function(y,I){if(y===void 0&&(y=[]),I===void 0&&(I=sQe),this.data=y,this.length=this.data.length,this.compare=I,this.length>0)for(var U=(this.length>>1)-1;U>=0;U--)this._down(U)};jw.prototype.push=function(y){this.data.push(y),this.length++,this._up(this.length-1)},jw.prototype.pop=function(){if(this.length!==0){var y=this.data[0],I=this.data.pop();return this.length--,this.length>0&&(this.data[0]=I,this._down(0)),y}},jw.prototype.peek=function(){return this.data[0]},jw.prototype._up=function(y){for(var I=this,U=I.data,J=I.compare,ne=U[y];y>0;){var fe=y-1>>1,Fe=U[fe];if(J(ne,Fe)>=0)break;U[y]=Fe,y=fe}U[y]=ne},jw.prototype._down=function(y){for(var I=this,U=I.data,J=I.compare,ne=this.length>>1,fe=U[y];y<ne;){var Fe=(y<<1)+1,Qe=U[Fe],st=Fe+1;if(st<this.length&&J(U[st],Qe)<0&&(Fe=st,Qe=U[st]),J(Qe,fe)>=0)break;U[y]=Qe,y=Fe}U[y]=fe};function sQe(m,y){return m<y?-1:m>y?1:0}function lQe(m,y,I){y===void 0&&(y=1),I===void 0&&(I=!1);for(var U=1/0,J=1/0,ne=-1/0,fe=-1/0,Fe=m[0],Qe=0;Qe<Fe.length;Qe++){var st=Fe[Qe];(!Qe||st.x<U)&&(U=st.x),(!Qe||st.y<J)&&(J=st.y),(!Qe||st.x>ne)&&(ne=st.x),(!Qe||st.y>fe)&&(fe=st.y)}var mt=ne-U,Xt=fe-J,ur=Math.min(mt,Xt),nr=ur/2,Lr=new jw([],uQe);if(ur===0)return new u(U,J);for(var Yr=U;Yr<ne;Yr+=ur)for(var _i=J;_i<fe;_i+=ur)Lr.push(new Ww(Yr+nr,_i+nr,nr,m));for(var si=fQe(m),Hi=Lr.length;Lr.length;){var Ei=Lr.pop();(Ei.d>si.d||!si.d)&&(si=Ei,I&&console.log(\"found best %d after %d probes\",Math.round(1e4*Ei.d)/1e4,Hi)),!(Ei.max-si.d<=y)&&(nr=Ei.h/2,Lr.push(new Ww(Ei.p.x-nr,Ei.p.y-nr,nr,m)),Lr.push(new Ww(Ei.p.x+nr,Ei.p.y-nr,nr,m)),Lr.push(new Ww(Ei.p.x-nr,Ei.p.y+nr,nr,m)),Lr.push(new Ww(Ei.p.x+nr,Ei.p.y+nr,nr,m)),Hi+=4)}return I&&(console.log(\"num probes: \"+Hi),console.log(\"best distance: \"+si.d)),si.p}function uQe(m,y){return y.max-m.max}function Ww(m,y,I,U){this.p=new u(m,y),this.h=I,this.d=cQe(this.p,U),this.max=this.d+this.h*Math.SQRT2}function cQe(m,y){for(var I=!1,U=1/0,J=0;J<y.length;J++)for(var ne=y[J],fe=0,Fe=ne.length,Qe=Fe-1;fe<Fe;Qe=fe++){var st=ne[fe],mt=ne[Qe];st.y>m.y!=mt.y>m.y&&m.x<(mt.x-st.x)*(m.y-st.y)/(mt.y-st.y)+st.x&&(I=!I),U=Math.min(U,cg(m,st,mt))}return(I?1:-1)*Math.sqrt(U)}function fQe(m){for(var y=0,I=0,U=0,J=m[0],ne=0,fe=J.length,Fe=fe-1;ne<fe;Fe=ne++){var Qe=J[ne],st=J[Fe],mt=Qe.x*st.y-st.x*Qe.y;I+=(Qe.x+st.x)*mt,U+=(Qe.y+st.y)*mt,y+=mt*3}return new Ww(I/y,U/y,0,m)}var Zw=7,nq=Number.POSITIVE_INFINITY;function CQ(m,y){function I(J,ne){var fe=0,Fe=0;ne<0&&(ne=0);var Qe=ne/Math.sqrt(2);switch(J){case\"top-right\":case\"top-left\":Fe=Qe-Zw;break;case\"bottom-right\":case\"bottom-left\":Fe=-Qe+Zw;break;case\"bottom\":Fe=-ne+Zw;break;case\"top\":Fe=ne-Zw;break}switch(J){case\"top-right\":case\"bottom-right\":fe=-Qe;break;case\"top-left\":case\"bottom-left\":fe=Qe;break;case\"left\":fe=ne;break;case\"right\":fe=-ne;break}return[fe,Fe]}function U(J,ne,fe){var Fe=0,Qe=0;switch(ne=Math.abs(ne),fe=Math.abs(fe),J){case\"top-right\":case\"top-left\":case\"top\":Qe=fe-Zw;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":Qe=-fe+Zw;break}switch(J){case\"top-right\":case\"bottom-right\":case\"right\":Fe=-ne;break;case\"top-left\":case\"bottom-left\":case\"left\":Fe=ne;break}return[Fe,Qe]}return y[1]!==nq?U(m,y[0],y[1]):I(m,y[0])}function hQe(m,y,I,U,J,ne,fe){m.createArrays();var Fe=512*m.overscaling;m.tilePixelRatio=rn/Fe,m.compareText={},m.iconsNeedLinear=!1;var Qe=m.layers[0].layout,st=m.layers[0]._unevaluatedLayout._values,mt={};if(m.textSizeData.kind===\"composite\"){var Xt=m.textSizeData,ur=Xt.minZoom,nr=Xt.maxZoom;mt.compositeTextSizes=[st[\"text-size\"].possiblyEvaluate(new pn(ur),fe),st[\"text-size\"].possiblyEvaluate(new pn(nr),fe)]}if(m.iconSizeData.kind===\"composite\"){var Lr=m.iconSizeData,Yr=Lr.minZoom,_i=Lr.maxZoom;mt.compositeIconSizes=[st[\"icon-size\"].possiblyEvaluate(new pn(Yr),fe),st[\"icon-size\"].possiblyEvaluate(new pn(_i),fe)]}mt.layoutTextSize=st[\"text-size\"].possiblyEvaluate(new pn(m.zoom+1),fe),mt.layoutIconSize=st[\"icon-size\"].possiblyEvaluate(new pn(m.zoom+1),fe),mt.textMaxSize=st[\"text-size\"].possiblyEvaluate(new pn(18));for(var si=Qe.get(\"text-line-height\")*Zi,Hi=Qe.get(\"text-rotation-alignment\")===\"map\"&&Qe.get(\"symbol-placement\")!==\"point\",Ei=Qe.get(\"text-keep-upright\"),Vi=Qe.get(\"text-size\"),en=function(){var $n=ra[An],Ba=Qe.get(\"text-font\").evaluate($n,{},fe).join(\",\"),_a=Vi.evaluate($n,{},fe),Pa=mt.layoutTextSize.evaluate($n,{},fe),qo=mt.layoutIconSize.evaluate($n,{},fe),Na={horizontal:{},vertical:void 0},ja=$n.text,us=[0,0];if(ja){var zo=ja.toString(),rl=Qe.get(\"text-letter-spacing\").evaluate($n,{},fe)*Zi,su=or(zo)?rl:0,il=Qe.get(\"text-anchor\").evaluate($n,{},fe),nl=Qe.get(\"text-variable-anchor\");if(!nl){var Ws=Qe.get(\"text-radial-offset\").evaluate($n,{},fe);Ws?us=CQ(il,[Ws*Zi,nq]):us=Qe.get(\"text-offset\").evaluate($n,{},fe).map(function(py){return py*Zi})}var Au=Hi?\"center\":Qe.get(\"text-justify\").evaluate($n,{},fe),Ou=Qe.get(\"symbol-placement\"),nf=Ou===\"point\"?Qe.get(\"text-max-width\").evaluate($n,{},fe)*Zi:0,bf=function(){m.allowVerticalPlacement&&zt(zo)&&(Na.vertical=Vw(ja,y,I,J,Ba,nf,si,il,\"left\",su,us,uv.vertical,!0,Ou,Pa,_a))};if(!Hi&&nl){for(var qh=Au===\"auto\"?nl.map(function(py){return aq(py)}):[Au],Zf=!1,jd=0;jd<qh.length;jd++){var Wd=qh[jd];if(!Na.horizontal[Wd])if(Zf)Na.horizontal[Wd]=Na.horizontal[0];else{var Oh=Vw(ja,y,I,J,Ba,nf,si,\"center\",Wd,su,us,uv.horizontal,!1,Ou,Pa,_a);Oh&&(Na.horizontal[Wd]=Oh,Zf=Oh.positionedLines.length===1)}}bf()}else{Au===\"auto\"&&(Au=aq(il));var fv=Vw(ja,y,I,J,Ba,nf,si,il,Au,su,us,uv.horizontal,!1,Ou,Pa,_a);fv&&(Na.horizontal[Au]=fv),bf(),zt(zo)&&Hi&&Ei&&(Na.vertical=Vw(ja,y,I,J,Ba,nf,si,il,Au,su,us,uv.vertical,!1,Ou,Pa,_a))}}var hv=void 0,hh=!1;if($n.icon&&$n.icon.name){var dv=U[$n.icon.name];dv&&(hv=tp(J[$n.icon.name],Qe.get(\"icon-offset\").evaluate($n,{},fe),Qe.get(\"icon-anchor\").evaluate($n,{},fe)),hh=dv.sdf,m.sdfIcons===void 0?m.sdfIcons=dv.sdf:m.sdfIcons!==dv.sdf&&re(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),(dv.pixelRatio!==m.pixelRatio||Qe.get(\"icon-rotate\").constantOr(1)!==0)&&(m.iconsNeedLinear=!0))}var _p=PQ(Na.horizontal)||Na.vertical;m.iconsInText=_p?_p.iconsInText:!1,(_p||hv)&&dQe(m,$n,Na,hv,U,mt,Pa,qo,us,hh,fe)},An=0,ra=m.features;An<ra.length;An+=1)en();ne&&m.generateCollisionDebugBuffers()}function aq(m){switch(m){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function dQe(m,y,I,U,J,ne,fe,Fe,Qe,st,mt){var Xt=ne.textMaxSize.evaluate(y,{});Xt===void 0&&(Xt=fe);var ur=m.layers[0].layout,nr=ur.get(\"icon-offset\").evaluate(y,{},mt),Lr=PQ(I.horizontal),Yr=24,_i=fe/Yr,si=m.tilePixelRatio*_i,Hi=m.tilePixelRatio*Xt/Yr,Ei=m.tilePixelRatio*Fe,Vi=m.tilePixelRatio*ur.get(\"symbol-spacing\"),en=ur.get(\"text-padding\")*m.tilePixelRatio,An=ur.get(\"icon-padding\")*m.tilePixelRatio,ra=ur.get(\"text-max-angle\")/180*Math.PI,$n=ur.get(\"text-rotation-alignment\")===\"map\"&&ur.get(\"symbol-placement\")!==\"point\",Ba=ur.get(\"icon-rotation-alignment\")===\"map\"&&ur.get(\"symbol-placement\")!==\"point\",_a=ur.get(\"symbol-placement\"),Pa=Vi/2,qo=ur.get(\"icon-text-fit\"),Na;U&&qo!==\"none\"&&(m.allowVerticalPlacement&&I.vertical&&(Na=hm(U,I.vertical,qo,ur.get(\"icon-text-fit-padding\"),nr,_i)),Lr&&(U=hm(U,Lr,qo,ur.get(\"icon-text-fit-padding\"),nr,_i)));var ja=function($w,y0){y0.x<0||y0.x>=rn||y0.y<0||y0.y>=rn||vQe(m,y0,$w,I,U,J,Na,m.layers[0],m.collisionBoxArray,y.index,y.sourceLayerIndex,m.index,si,en,$n,Qe,Ei,An,Ba,nr,y,ne,st,mt,fe)};if(_a===\"line\")for(var us=0,zo=MQ(y.geometry,0,0,rn,rn);us<zo.length;us+=1)for(var rl=zo[us],su=aQe(rl,Vi,ra,I.vertical||Lr,U,Yr,Hi,m.overscaling,rn),il=0,nl=su;il<nl.length;il+=1){var Ws=nl[il],Au=Lr;(!Au||!pQe(m,Au.text,Pa,Ws))&&ja(rl,Ws)}else if(_a===\"line-center\")for(var Ou=0,nf=y.geometry;Ou<nf.length;Ou+=1){var bf=nf[Ou];if(bf.length>1){var qh=nQe(bf,ra,I.vertical||Lr,U,Yr,Hi);qh&&ja(bf,qh)}}else if(y.type===\"Polygon\")for(var Zf=0,jd=zw(y.geometry,0);Zf<jd.length;Zf+=1){var Wd=jd[Zf],Oh=lQe(Wd,16);ja(Wd[0],new Gd(Oh.x,Oh.y,0))}else if(y.type===\"LineString\")for(var fv=0,hv=y.geometry;fv<hv.length;fv+=1){var hh=hv[fv];ja(hh,new Gd(hh[0].x,hh[0].y,0))}else if(y.type===\"Point\")for(var dv=0,_p=y.geometry;dv<_p.length;dv+=1)for(var py=_p[dv],F1=0,q1=py;F1<q1.length;F1+=1){var O1=q1[F1];ja([O1],new Gd(O1.x,O1.y,0))}}var wS=255,D1=wS*Sd;function LQ(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr){var Yr=oQe(y,I,Fe,J,ne,fe,U,m.allowVerticalPlacement),_i=m.textSizeData,si=null;_i.kind===\"source\"?(si=[Sd*J.layout.get(\"text-size\").evaluate(fe,{})],si[0]>D1&&re(m.layerIds[0]+': Value for \"text-size\" is >= '+wS+'. Reduce your \"text-size\".')):_i.kind===\"composite\"&&(si=[Sd*nr.compositeTextSizes[0].evaluate(fe,{},Lr),Sd*nr.compositeTextSizes[1].evaluate(fe,{},Lr)],(si[0]>D1||si[1]>D1)&&re(m.layerIds[0]+': Value for \"text-size\" is >= '+wS+'. Reduce your \"text-size\".')),m.addSymbols(m.text,Yr,si,Fe,ne,fe,st,y,Qe.lineStartIndex,Qe.lineLength,ur,Lr);for(var Hi=0,Ei=mt;Hi<Ei.length;Hi+=1){var Vi=Ei[Hi];Xt[Vi]=m.text.placedSymbolArray.length-1}return Yr.length*4}function PQ(m){for(var y in m)return m[y];return null}function vQe(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n){var Ba,_a=m.addToLineVertexArray(y,I),Pa,qo,Na,ja,us=0,zo=0,rl=0,su=0,il=-1,nl=-1,Ws={},Au=$(\"\"),Ou=0,nf=0;if(Fe._unevaluatedLayout.getValue(\"text-radial-offset\")===void 0?(Ba=Fe.layout.get(\"text-offset\").evaluate(Vi,{},ra).map(function(SS){return SS*Zi}),Ou=Ba[0],nf=Ba[1]):(Ou=Fe.layout.get(\"text-radial-offset\").evaluate(Vi,{},ra)*Zi,nf=nq),m.allowVerticalPlacement&&U.vertical){var bf=Fe.layout.get(\"text-rotate\").evaluate(Vi,{},ra),qh=bf+90,Zf=U.vertical;Na=new WC(Qe,y,st,mt,Xt,Zf,ur,nr,Lr,qh),fe&&(ja=new WC(Qe,y,st,mt,Xt,fe,_i,si,Lr,qh))}if(J){var jd=Fe.layout.get(\"icon-rotate\").evaluate(Vi,{}),Wd=Fe.layout.get(\"icon-text-fit\")!==\"none\",Oh=EQ(J,jd,An,Wd),fv=fe?EQ(fe,jd,An,Wd):void 0;qo=new WC(Qe,y,st,mt,Xt,J,_i,si,!1,jd),us=Oh.length*4;var hv=m.iconSizeData,hh=null;hv.kind===\"source\"?(hh=[Sd*Fe.layout.get(\"icon-size\").evaluate(Vi,{})],hh[0]>D1&&re(m.layerIds[0]+': Value for \"icon-size\" is >= '+wS+'. Reduce your \"icon-size\".')):hv.kind===\"composite\"&&(hh=[Sd*en.compositeIconSizes[0].evaluate(Vi,{},ra),Sd*en.compositeIconSizes[1].evaluate(Vi,{},ra)],(hh[0]>D1||hh[1]>D1)&&re(m.layerIds[0]+': Value for \"icon-size\" is >= '+wS+'. Reduce your \"icon-size\".')),m.addSymbols(m.icon,Oh,hh,Ei,Hi,Vi,!1,y,_a.lineStartIndex,_a.lineLength,-1,ra),il=m.icon.placedSymbolArray.length-1,fv&&(zo=fv.length*4,m.addSymbols(m.icon,fv,hh,Ei,Hi,Vi,uv.vertical,y,_a.lineStartIndex,_a.lineLength,-1,ra),nl=m.icon.placedSymbolArray.length-1)}for(var dv in U.horizontal){var _p=U.horizontal[dv];if(!Pa){Au=$(_p.text);var py=Fe.layout.get(\"text-rotate\").evaluate(Vi,{},ra);Pa=new WC(Qe,y,st,mt,Xt,_p,ur,nr,Lr,py)}var F1=_p.positionedLines.length===1;if(rl+=LQ(m,y,_p,ne,Fe,Lr,Vi,Yr,_a,U.vertical?uv.horizontal:uv.horizontalOnly,F1?Object.keys(U.horizontal):[dv],Ws,il,en,ra),F1)break}U.vertical&&(su+=LQ(m,y,U.vertical,ne,Fe,Lr,Vi,Yr,_a,uv.vertical,[\"vertical\"],Ws,nl,en,ra));var q1=Pa?Pa.boxStartIndex:m.collisionBoxArray.length,O1=Pa?Pa.boxEndIndex:m.collisionBoxArray.length,$w=Na?Na.boxStartIndex:m.collisionBoxArray.length,y0=Na?Na.boxEndIndex:m.collisionBoxArray.length,JC=qo?qo.boxStartIndex:m.collisionBoxArray.length,fq=qo?qo.boxEndIndex:m.collisionBoxArray.length,$C=ja?ja.boxStartIndex:m.collisionBoxArray.length,hq=ja?ja.boxEndIndex:m.collisionBoxArray.length,jp=-1,Qw=function(SS,ZQ){return SS&&SS.circleDiameter?Math.max(SS.circleDiameter,ZQ):ZQ};jp=Qw(Pa,jp),jp=Qw(Na,jp),jp=Qw(qo,jp),jp=Qw(ja,jp);var QC=jp>-1?1:0;QC&&(jp*=$n/Zi),m.glyphOffsetArray.length>=ou.MAX_GLYPHS&&re(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),Vi.sortKey!==void 0&&m.addToSortKeyRanges(m.symbolInstances.length,Vi.sortKey),m.symbolInstances.emplaceBack(y.x,y.y,Ws.right>=0?Ws.right:-1,Ws.center>=0?Ws.center:-1,Ws.left>=0?Ws.left:-1,Ws.vertical||-1,il,nl,Au,q1,O1,$w,y0,JC,fq,$C,hq,st,rl,su,us,zo,QC,0,ur,Ou,nf,jp)}function pQe(m,y,I,U){var J=m.compareText;if(!(y in J))J[y]=[];else for(var ne=J[y],fe=ne.length-1;fe>=0;fe--)if(U.dist(ne[fe])<I)return!0;return J[y].push(U),!1}var gQe=pg.VectorTileFeature.types,mQe=[{name:\"a_fade_opacity\",components:1,type:\"Uint8\",offset:0}];function ZC(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){var nr=Fe?Math.min(D1,Math.round(Fe[0])):0,Lr=Fe?Math.min(D1,Math.round(Fe[1])):0;m.emplaceBack(y,I,Math.round(U*32),Math.round(J*32),ne,fe,(nr<<1)+(Qe?1:0),Lr,st*16,mt*16,Xt*256,ur*256)}function oq(m,y,I){m.emplaceBack(y.x,y.y,I),m.emplaceBack(y.x,y.y,I),m.emplaceBack(y.x,y.y,I),m.emplaceBack(y.x,y.y,I)}function yQe(m){for(var y=0,I=m.sections;y<I.length;y+=1){var U=I[y];if(vi(U.text))return!0}return!1}var Xw=function(y){this.layoutVertexArray=new Za,this.indexArray=new ma,this.programConfigurations=y,this.segments=new ns,this.dynamicLayoutVertexArray=new wn,this.opacityVertexArray=new vn,this.placedSymbolArray=new El};Xw.prototype.isEmpty=function(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0},Xw.prototype.upload=function(y,I,U,J){this.isEmpty()||(U&&(this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,te.members),this.indexBuffer=y.createIndexBuffer(this.indexArray,I),this.dynamicLayoutVertexBuffer=y.createVertexBuffer(this.dynamicLayoutVertexArray,ue.members,!0),this.opacityVertexBuffer=y.createVertexBuffer(this.opacityVertexArray,mQe,!0),this.opacityVertexBuffer.itemSize=1),(U||J)&&this.programConfigurations.upload(y))},Xw.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},Z(\"SymbolBuffers\",Xw);var TS=function(y,I,U){this.layoutVertexArray=new y,this.layoutAttributes=I,this.indexArray=new U,this.segments=new ns,this.collisionVertexArray=new Vn};TS.prototype.upload=function(y){this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=y.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=y.createVertexBuffer(this.collisionVertexArray,De.members,!0)},TS.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},Z(\"CollisionBuffers\",TS);var ou=function(y){this.collisionBoxArray=y.collisionBoxArray,this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(Qe){return Qe.id}),this.index=y.index,this.pixelRatio=y.pixelRatio,this.sourceLayerIndex=y.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=oy([]),this.placementViewportMatrix=oy([]);var I=this.layers[0],U=I._unevaluatedLayout._values;this.textSizeData=yp(this.zoom,U[\"text-size\"]),this.iconSizeData=yp(this.zoom,U[\"icon-size\"]);var J=this.layers[0].layout,ne=J.get(\"symbol-sort-key\"),fe=J.get(\"symbol-z-order\");this.canOverlap=J.get(\"text-allow-overlap\")||J.get(\"icon-allow-overlap\")||J.get(\"text-ignore-placement\")||J.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=fe!==\"viewport-y\"&&ne.constantOr(1)!==void 0;var Fe=fe===\"viewport-y\"||fe===\"auto\"&&!this.sortFeaturesByKey;this.sortFeaturesByY=Fe&&this.canOverlap,J.get(\"symbol-placement\")===\"point\"&&(this.writingModes=J.get(\"text-writing-mode\").map(function(Qe){return uv[Qe]})),this.stateDependentLayerIds=this.layers.filter(function(Qe){return Qe.isStateDependent()}).map(function(Qe){return Qe.id}),this.sourceID=y.sourceID};ou.prototype.createArrays=function(){this.text=new Xw(new Ri(this.layers,this.zoom,function(y){return/^text/.test(y)})),this.icon=new Xw(new Ri(this.layers,this.zoom,function(y){return/^icon/.test(y)})),this.glyphOffsetArray=new yf,this.lineVertexArray=new Gl,this.symbolInstances=new wc},ou.prototype.calculateGlyphDependencies=function(y,I,U,J,ne){for(var fe=0;fe<y.length;fe++)if(I[y.charCodeAt(fe)]=!0,(U||J)&&ne){var Fe=pi[y.charAt(fe)];Fe&&(I[Fe.charCodeAt(0)]=!0)}},ou.prototype.populate=function(y,I,U){var J=this.layers[0],ne=J.layout,fe=ne.get(\"text-font\"),Fe=ne.get(\"text-field\"),Qe=ne.get(\"icon-image\"),st=(Fe.value.kind!==\"constant\"||Fe.value.value instanceof Vl&&!Fe.value.value.isEmpty()||Fe.value.value.toString().length>0)&&(fe.value.kind!==\"constant\"||fe.value.value.length>0),mt=Qe.value.kind!==\"constant\"||!!Qe.value.value||Object.keys(Qe.parameters).length>0,Xt=ne.get(\"symbol-sort-key\");if(this.features=[],!(!st&&!mt)){for(var ur=I.iconDependencies,nr=I.glyphDependencies,Lr=I.availableImages,Yr=new pn(this.zoom),_i=0,si=y;_i<si.length;_i+=1){var Hi=si[_i],Ei=Hi.feature,Vi=Hi.id,en=Hi.index,An=Hi.sourceLayerIndex,ra=J._featureFilter.needGeometry,$n=No(Ei,ra);if(J._featureFilter.filter(Yr,$n,U)){ra||($n.geometry=da(Ei));var Ba=void 0;if(st){var _a=J.getValueAndResolveTokens(\"text-field\",$n,U,Lr),Pa=Vl.factory(_a);yQe(Pa)&&(this.hasRTLText=!0),(!this.hasRTLText||so()===\"unavailable\"||this.hasRTLText&&_s.isParsed())&&(Ba=ni(Pa,J,$n))}var qo=void 0;if(mt){var Na=J.getValueAndResolveTokens(\"icon-image\",$n,U,Lr);Na instanceof Js?qo=Na:qo=Js.fromString(Na)}if(!(!Ba&&!qo)){var ja=this.sortFeaturesByKey?Xt.evaluate($n,{},U):void 0,us={id:Vi,text:Ba,icon:qo,index:en,sourceLayerIndex:An,geometry:$n.geometry,properties:Ei.properties,type:gQe[Ei.type],sortKey:ja};if(this.features.push(us),qo&&(ur[qo.name]=!0),Ba){var zo=fe.evaluate($n,{},U).join(\",\"),rl=ne.get(\"text-rotation-alignment\")===\"map\"&&ne.get(\"symbol-placement\")!==\"point\";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(uv.vertical)>=0;for(var su=0,il=Ba.sections;su<il.length;su+=1){var nl=il[su];if(nl.image)ur[nl.image.name]=!0;else{var Ws=zt(Ba.toString()),Au=nl.fontStack||zo,Ou=nr[Au]=nr[Au]||{};this.calculateGlyphDependencies(nl.text,Ou,rl,this.allowVerticalPlacement,Ws)}}}}}}ne.get(\"symbol-placement\")===\"line\"&&(this.features=Di(this.features)),this.sortFeaturesByKey&&this.features.sort(function(nf,bf){return nf.sortKey-bf.sortKey})}},ou.prototype.update=function(y,I,U){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(y,I,this.layers,U),this.icon.programConfigurations.updatePaintArrays(y,I,this.layers,U))},ou.prototype.isEmpty=function(){return this.symbolInstances.length===0&&!this.hasRTLText},ou.prototype.uploadPending=function(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload},ou.prototype.upload=function(y){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(y),this.iconCollisionBox.upload(y)),this.text.upload(y,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(y,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0},ou.prototype.destroyDebugData=function(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()},ou.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()},ou.prototype.addToLineVertexArray=function(y,I){var U=this.lineVertexArray.length;if(y.segment!==void 0){for(var J=y.dist(I[y.segment+1]),ne=y.dist(I[y.segment]),fe={},Fe=y.segment+1;Fe<I.length;Fe++)fe[Fe]={x:I[Fe].x,y:I[Fe].y,tileUnitDistanceFromAnchor:J},Fe<I.length-1&&(J+=I[Fe+1].dist(I[Fe]));for(var Qe=y.segment||0;Qe>=0;Qe--)fe[Qe]={x:I[Qe].x,y:I[Qe].y,tileUnitDistanceFromAnchor:ne},Qe>0&&(ne+=I[Qe-1].dist(I[Qe]));for(var st=0;st<I.length;st++){var mt=fe[st];this.lineVertexArray.emplaceBack(mt.x,mt.y,mt.tileUnitDistanceFromAnchor)}}return{lineStartIndex:U,lineLength:this.lineVertexArray.length-U}},ou.prototype.addSymbols=function(y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){for(var nr=y.indexArray,Lr=y.layoutVertexArray,Yr=y.segments.prepareSegment(4*I.length,Lr,nr,this.canOverlap?fe.sortKey:void 0),_i=this.glyphOffsetArray.length,si=Yr.vertexLength,Hi=this.allowVerticalPlacement&&Fe===uv.vertical?Math.PI/2:0,Ei=fe.text&&fe.text.sections,Vi=0;Vi<I.length;Vi++){var en=I[Vi],An=en.tl,ra=en.tr,$n=en.bl,Ba=en.br,_a=en.tex,Pa=en.pixelOffsetTL,qo=en.pixelOffsetBR,Na=en.minFontScaleX,ja=en.minFontScaleY,us=en.glyphOffset,zo=en.isSDF,rl=en.sectionIndex,su=Yr.vertexLength,il=us[1];ZC(Lr,Qe.x,Qe.y,An.x,il+An.y,_a.x,_a.y,U,zo,Pa.x,Pa.y,Na,ja),ZC(Lr,Qe.x,Qe.y,ra.x,il+ra.y,_a.x+_a.w,_a.y,U,zo,qo.x,Pa.y,Na,ja),ZC(Lr,Qe.x,Qe.y,$n.x,il+$n.y,_a.x,_a.y+_a.h,U,zo,Pa.x,qo.y,Na,ja),ZC(Lr,Qe.x,Qe.y,Ba.x,il+Ba.y,_a.x+_a.w,_a.y+_a.h,U,zo,qo.x,qo.y,Na,ja),oq(y.dynamicLayoutVertexArray,Qe,Hi),nr.emplaceBack(su,su+1,su+2),nr.emplaceBack(su+1,su+2,su+3),Yr.vertexLength+=4,Yr.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(us[0]),(Vi===I.length-1||rl!==I[Vi+1].sectionIndex)&&y.programConfigurations.populatePaintArrays(Lr.length,fe,fe.index,{},ur,Ei&&Ei[rl])}y.placedSymbolArray.emplaceBack(Qe.x,Qe.y,_i,this.glyphOffsetArray.length-_i,si,st,mt,Qe.segment,U?U[0]:0,U?U[1]:0,J[0],J[1],Fe,0,!1,0,Xt)},ou.prototype._addCollisionDebugVertex=function(y,I,U,J,ne,fe){return I.emplaceBack(0,0),y.emplaceBack(U.x,U.y,J,ne,Math.round(fe.x),Math.round(fe.y))},ou.prototype.addCollisionDebugVertices=function(y,I,U,J,ne,fe,Fe){var Qe=ne.segments.prepareSegment(4,ne.layoutVertexArray,ne.indexArray),st=Qe.vertexLength,mt=ne.layoutVertexArray,Xt=ne.collisionVertexArray,ur=Fe.anchorX,nr=Fe.anchorY;this._addCollisionDebugVertex(mt,Xt,fe,ur,nr,new u(y,I)),this._addCollisionDebugVertex(mt,Xt,fe,ur,nr,new u(U,I)),this._addCollisionDebugVertex(mt,Xt,fe,ur,nr,new u(U,J)),this._addCollisionDebugVertex(mt,Xt,fe,ur,nr,new u(y,J)),Qe.vertexLength+=4;var Lr=ne.indexArray;Lr.emplaceBack(st,st+1),Lr.emplaceBack(st+1,st+2),Lr.emplaceBack(st+2,st+3),Lr.emplaceBack(st+3,st),Qe.primitiveLength+=4},ou.prototype.addDebugCollisionBoxes=function(y,I,U,J){for(var ne=y;ne<I;ne++){var fe=this.collisionBoxArray.get(ne),Fe=fe.x1,Qe=fe.y1,st=fe.x2,mt=fe.y2;this.addCollisionDebugVertices(Fe,Qe,st,mt,J?this.textCollisionBox:this.iconCollisionBox,fe.anchorPoint,U)}},ou.prototype.generateCollisionDebugBuffers=function(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new TS(aa,at.members,Po),this.iconCollisionBox=new TS(aa,at.members,Po);for(var y=0;y<this.symbolInstances.length;y++){var I=this.symbolInstances.get(y);this.addDebugCollisionBoxes(I.textBoxStartIndex,I.textBoxEndIndex,I,!0),this.addDebugCollisionBoxes(I.verticalTextBoxStartIndex,I.verticalTextBoxEndIndex,I,!0),this.addDebugCollisionBoxes(I.iconBoxStartIndex,I.iconBoxEndIndex,I,!1),this.addDebugCollisionBoxes(I.verticalIconBoxStartIndex,I.verticalIconBoxEndIndex,I,!1)}},ou.prototype._deserializeCollisionBoxesForSymbol=function(y,I,U,J,ne,fe,Fe,Qe,st){for(var mt={},Xt=I;Xt<U;Xt++){var ur=y.get(Xt);mt.textBox={x1:ur.x1,y1:ur.y1,x2:ur.x2,y2:ur.y2,anchorPointX:ur.anchorPointX,anchorPointY:ur.anchorPointY},mt.textFeatureIndex=ur.featureIndex;break}for(var nr=J;nr<ne;nr++){var Lr=y.get(nr);mt.verticalTextBox={x1:Lr.x1,y1:Lr.y1,x2:Lr.x2,y2:Lr.y2,anchorPointX:Lr.anchorPointX,anchorPointY:Lr.anchorPointY},mt.verticalTextFeatureIndex=Lr.featureIndex;break}for(var Yr=fe;Yr<Fe;Yr++){var _i=y.get(Yr);mt.iconBox={x1:_i.x1,y1:_i.y1,x2:_i.x2,y2:_i.y2,anchorPointX:_i.anchorPointX,anchorPointY:_i.anchorPointY},mt.iconFeatureIndex=_i.featureIndex;break}for(var si=Qe;si<st;si++){var Hi=y.get(si);mt.verticalIconBox={x1:Hi.x1,y1:Hi.y1,x2:Hi.x2,y2:Hi.y2,anchorPointX:Hi.anchorPointX,anchorPointY:Hi.anchorPointY},mt.verticalIconFeatureIndex=Hi.featureIndex;break}return mt},ou.prototype.deserializeCollisionBoxes=function(y){this.collisionArrays=[];for(var I=0;I<this.symbolInstances.length;I++){var U=this.symbolInstances.get(I);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(y,U.textBoxStartIndex,U.textBoxEndIndex,U.verticalTextBoxStartIndex,U.verticalTextBoxEndIndex,U.iconBoxStartIndex,U.iconBoxEndIndex,U.verticalIconBoxStartIndex,U.verticalIconBoxEndIndex))}},ou.prototype.hasTextData=function(){return this.text.segments.get().length>0},ou.prototype.hasIconData=function(){return this.icon.segments.get().length>0},ou.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},ou.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},ou.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},ou.prototype.addIndicesForPlacedSymbol=function(y,I){for(var U=y.placedSymbolArray.get(I),J=U.vertexStartIndex+U.numGlyphs*4,ne=U.vertexStartIndex;ne<J;ne+=4)y.indexArray.emplaceBack(ne,ne+1,ne+2),y.indexArray.emplaceBack(ne+1,ne+2,ne+3)},ou.prototype.getSortedSymbolIndexes=function(y){if(this.sortedAngle===y&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;for(var I=Math.sin(y),U=Math.cos(y),J=[],ne=[],fe=[],Fe=0;Fe<this.symbolInstances.length;++Fe){fe.push(Fe);var Qe=this.symbolInstances.get(Fe);J.push(Math.round(I*Qe.anchorX+U*Qe.anchorY)|0),ne.push(Qe.featureIndex)}return fe.sort(function(st,mt){return J[st]-J[mt]||ne[mt]-ne[st]}),fe},ou.prototype.addToSortKeyRanges=function(y,I){var U=this.sortKeyRanges[this.sortKeyRanges.length-1];U&&U.sortKey===I?U.symbolInstanceEnd=y+1:this.sortKeyRanges.push({sortKey:I,symbolInstanceStart:y,symbolInstanceEnd:y+1})},ou.prototype.sortFeatures=function(y){var I=this;if(this.sortFeaturesByY&&this.sortedAngle!==y&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(y),this.sortedAngle=y,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var U=0,J=this.symbolInstanceIndexes;U<J.length;U+=1){var ne=J[U],fe=this.symbolInstances.get(ne);this.featureSortOrder.push(fe.featureIndex),[fe.rightJustifiedTextSymbolIndex,fe.centerJustifiedTextSymbolIndex,fe.leftJustifiedTextSymbolIndex].forEach(function(Fe,Qe,st){Fe>=0&&st.indexOf(Fe)===Qe&&I.addIndicesForPlacedSymbol(I.text,Fe)}),fe.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,fe.verticalPlacedTextSymbolIndex),fe.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,fe.placedIconSymbolIndex),fe.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,fe.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},Z(\"SymbolBucket\",ou,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),ou.MAX_GLYPHS=65535,ou.addDynamicAttributes=oq;function _Qe(m,y){return y.replace(/{([^{}]+)}/g,function(I,U){return U in m?String(m[U]):\"\"})}var xQe=new Oi({\"symbol-placement\":new At(on.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new At(on.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new At(on.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new Er(on.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new At(on.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new At(on.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new At(on.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new At(on.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new At(on.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new Er(on.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new At(on.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new At(on.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new Er(on.layout_symbol[\"icon-image\"]),\"icon-rotate\":new Er(on.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new At(on.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new At(on.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new Er(on.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new Er(on.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new At(on.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new At(on.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new At(on.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new Er(on.layout_symbol[\"text-field\"]),\"text-font\":new Er(on.layout_symbol[\"text-font\"]),\"text-size\":new Er(on.layout_symbol[\"text-size\"]),\"text-max-width\":new Er(on.layout_symbol[\"text-max-width\"]),\"text-line-height\":new At(on.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new Er(on.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new Er(on.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new Er(on.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new At(on.layout_symbol[\"text-variable-anchor\"]),\"text-anchor\":new Er(on.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new At(on.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new At(on.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new Er(on.layout_symbol[\"text-rotate\"]),\"text-padding\":new At(on.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new At(on.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new Er(on.layout_symbol[\"text-transform\"]),\"text-offset\":new Er(on.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new At(on.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new At(on.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new At(on.layout_symbol[\"text-optional\"])}),bQe=new Oi({\"icon-opacity\":new Er(on.paint_symbol[\"icon-opacity\"]),\"icon-color\":new Er(on.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new Er(on.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new Er(on.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new Er(on.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new At(on.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new At(on.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new Er(on.paint_symbol[\"text-opacity\"]),\"text-color\":new Er(on.paint_symbol[\"text-color\"],{runtimeType:Tl,getOverride:function(m){return m.textColor},hasOverride:function(m){return!!m.textColor}}),\"text-halo-color\":new Er(on.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new Er(on.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new Er(on.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new At(on.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new At(on.paint_symbol[\"text-translate-anchor\"])}),sq={paint:bQe,layout:xQe},Yw=function(y){this.type=y.property.overrides?y.property.overrides.runtimeType:Ec,this.defaultValue=y};Yw.prototype.evaluate=function(y){if(y.formattedSection){var I=this.defaultValue.property.overrides;if(I&&I.hasOverride(y.formattedSection))return I.getOverride(y.formattedSection)}return y.feature&&y.featureState?this.defaultValue.evaluate(y.feature,y.featureState):this.defaultValue.property.specification.default},Yw.prototype.eachChild=function(y){if(!this.defaultValue.isConstant()){var I=this.defaultValue.value;y(I._styleExpression.expression)}},Yw.prototype.outputDefined=function(){return!1},Yw.prototype.serialize=function(){return null},Z(\"FormatSectionOverride\",Yw,{omit:[\"defaultValue\"]});var wQe=function(m){function y(I){m.call(this,I,sq)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.recalculate=function(U,J){if(m.prototype.recalculate.call(this,U,J),this.layout.get(\"icon-rotation-alignment\")===\"auto\"&&(this.layout.get(\"symbol-placement\")!==\"point\"?this.layout._values[\"icon-rotation-alignment\"]=\"map\":this.layout._values[\"icon-rotation-alignment\"]=\"viewport\"),this.layout.get(\"text-rotation-alignment\")===\"auto\"&&(this.layout.get(\"symbol-placement\")!==\"point\"?this.layout._values[\"text-rotation-alignment\"]=\"map\":this.layout._values[\"text-rotation-alignment\"]=\"viewport\"),this.layout.get(\"text-pitch-alignment\")===\"auto\"&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")),this.layout.get(\"icon-pitch-alignment\")===\"auto\"&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),this.layout.get(\"symbol-placement\")===\"point\"){var ne=this.layout.get(\"text-writing-mode\");if(ne){for(var fe=[],Fe=0,Qe=ne;Fe<Qe.length;Fe+=1){var st=Qe[Fe];fe.indexOf(st)<0&&fe.push(st)}this.layout._values[\"text-writing-mode\"]=fe}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]}this._setPaintOverrides()},y.prototype.getValueAndResolveTokens=function(U,J,ne,fe){var Fe=this.layout.get(U).evaluate(J,{},ne,fe),Qe=this._unevaluatedLayout._values[U];return!Qe.isDataDriven()&&!Da(Qe.value)&&Fe?_Qe(J.properties,Fe):Fe},y.prototype.createBucket=function(U){return new ou(U)},y.prototype.queryRadius=function(){return 0},y.prototype.queryIntersectsFeature=function(){return!1},y.prototype._setPaintOverrides=function(){for(var U=0,J=sq.paint.overridableProperties;U<J.length;U+=1){var ne=J[U];if(y.hasPaintOverride(this.layout,ne)){var fe=this.paint.get(ne),Fe=new Yw(fe),Qe=new Dc(Fe,fe.property.specification),st=null;fe.value.kind===\"constant\"||fe.value.kind===\"source\"?st=new Jc(\"source\",Qe):st=new yc(\"composite\",Qe,fe.value.zoomStops,fe.value._interpolationType),this.paint._values[ne]=new dl(fe.property,st,fe.parameters)}}},y.prototype._handleOverridablePaintPropertyUpdate=function(U,J,ne){return!this.layout||J.isDataDriven()||ne.isDataDriven()?!1:y.hasPaintOverride(this.layout,U)},y.hasPaintOverride=function(U,J){var ne=U.get(\"text-field\"),fe=sq.paint.properties[J],Fe=!1,Qe=function(Xt){for(var ur=0,nr=Xt;ur<nr.length;ur+=1){var Lr=nr[ur];if(fe.overrides&&fe.overrides.hasOverride(Lr)){Fe=!0;return}}};if(ne.value.kind===\"constant\"&&ne.value.value instanceof Vl)Qe(ne.value.value.sections);else if(ne.value.kind===\"source\"){var st=function(Xt){if(!Fe)if(Xt instanceof hs&&ws(Xt.value)===Al){var ur=Xt.value;Qe(ur.sections)}else Xt instanceof ec?Qe(Xt.sections):Xt.eachChild(st)},mt=ne.value;mt._styleExpression&&st(mt._styleExpression.expression)}return Fe},y}(cn),TQe=new Oi({\"background-color\":new At(on.paint_background[\"background-color\"]),\"background-pattern\":new wi(on.paint_background[\"background-pattern\"]),\"background-opacity\":new At(on.paint_background[\"background-opacity\"])}),AQe={paint:TQe},SQe=function(m){function y(I){m.call(this,I,AQe)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(cn),MQe=new Oi({\"raster-opacity\":new At(on.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new At(on.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new At(on.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new At(on.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new At(on.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new At(on.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new At(on.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new At(on.paint_raster[\"raster-fade-duration\"])}),EQe={paint:MQe},kQe=function(m){function y(I){m.call(this,I,EQe)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(cn);function CQe(m){var y=[],I=m.id;return I===void 0&&y.push({message:\"layers.\"+I+': missing required property \"id\"'}),m.render===void 0&&y.push({message:\"layers.\"+I+': missing required method \"render\"'}),m.renderingMode&&m.renderingMode!==\"2d\"&&m.renderingMode!==\"3d\"&&y.push({message:\"layers.\"+I+': property \"renderingMode\" must be either \"2d\" or \"3d\"'}),y}var LQe=function(m){function y(I){m.call(this,I,{}),this.implementation=I}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.is3D=function(){return this.implementation.renderingMode===\"3d\"},y.prototype.hasOffscreenPass=function(){return this.implementation.prerender!==void 0},y.prototype.recalculate=function(){},y.prototype.updateTransitions=function(){},y.prototype.hasTransition=function(){},y.prototype.serialize=function(){},y.prototype.onAdd=function(U){this.implementation.onAdd&&this.implementation.onAdd(U,U.painter.context.gl)},y.prototype.onRemove=function(U){this.implementation.onRemove&&this.implementation.onRemove(U,U.painter.context.gl)},y}(cn),PQe={circle:O9,heatmap:Lw,hillshade:dC,fill:Qx,\"fill-extrusion\":fm,line:S,symbol:wQe,background:SQe,raster:kQe};function IQe(m){return m.type===\"custom\"?new LQe(m):new PQe[m.type](m)}var IQ=f.HTMLImageElement,RQ=f.HTMLCanvasElement,DQ=f.HTMLVideoElement,zQ=f.ImageData,XC=f.ImageBitmap,ib=function(y,I,U,J){this.context=y,this.format=U,this.texture=y.gl.createTexture(),this.update(I,J)};ib.prototype.update=function(y,I,U){var J=y.width,ne=y.height,fe=(!this.size||this.size[0]!==J||this.size[1]!==ne)&&!U,Fe=this,Qe=Fe.context,st=Qe.gl;if(this.useMipmap=!!(I&&I.useMipmap),st.bindTexture(st.TEXTURE_2D,this.texture),Qe.pixelStoreUnpackFlipY.set(!1),Qe.pixelStoreUnpack.set(1),Qe.pixelStoreUnpackPremultiplyAlpha.set(this.format===st.RGBA&&(!I||I.premultiply!==!1)),fe)this.size=[J,ne],y instanceof IQ||y instanceof RQ||y instanceof DQ||y instanceof zQ||XC&&y instanceof XC?st.texImage2D(st.TEXTURE_2D,0,this.format,this.format,st.UNSIGNED_BYTE,y):st.texImage2D(st.TEXTURE_2D,0,this.format,J,ne,0,this.format,st.UNSIGNED_BYTE,y.data);else{var mt=U||{x:0,y:0},Xt=mt.x,ur=mt.y;y instanceof IQ||y instanceof RQ||y instanceof DQ||y instanceof zQ||XC&&y instanceof XC?st.texSubImage2D(st.TEXTURE_2D,0,Xt,ur,st.RGBA,st.UNSIGNED_BYTE,y):st.texSubImage2D(st.TEXTURE_2D,0,Xt,ur,J,ne,st.RGBA,st.UNSIGNED_BYTE,y.data)}this.useMipmap&&this.isSizePowerOfTwo()&&st.generateMipmap(st.TEXTURE_2D)},ib.prototype.bind=function(y,I,U){var J=this,ne=J.context,fe=ne.gl;fe.bindTexture(fe.TEXTURE_2D,this.texture),U===fe.LINEAR_MIPMAP_NEAREST&&!this.isSizePowerOfTwo()&&(U=fe.LINEAR),y!==this.filter&&(fe.texParameteri(fe.TEXTURE_2D,fe.TEXTURE_MAG_FILTER,y),fe.texParameteri(fe.TEXTURE_2D,fe.TEXTURE_MIN_FILTER,U||y),this.filter=y),I!==this.wrap&&(fe.texParameteri(fe.TEXTURE_2D,fe.TEXTURE_WRAP_S,I),fe.texParameteri(fe.TEXTURE_2D,fe.TEXTURE_WRAP_T,I),this.wrap=I)},ib.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1===0},ib.prototype.destroy=function(){var y=this.context,I=y.gl;I.deleteTexture(this.texture),this.texture=null};var lq=function(y){var I=this;this._callback=y,this._triggered=!1,typeof MessageChannel!=\"undefined\"&&(this._channel=new MessageChannel,this._channel.port2.onmessage=function(){I._triggered=!1,I._callback()})};lq.prototype.trigger=function(){var y=this;this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(function(){y._triggered=!1,y._callback()},0))},lq.prototype.remove=function(){delete this._channel,this._callback=function(){}};var Kw=function(y,I,U){this.target=y,this.parent=I,this.mapId=U,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},q([\"receive\",\"process\"],this),this.invoker=new lq(this.process),this.target.addEventListener(\"message\",this.receive,!1),this.globalScope=ke()?y:f};Kw.prototype.send=function(y,I,U,J,ne){var fe=this;ne===void 0&&(ne=!1);var Fe=Math.round(Math.random()*1e18).toString(36).substring(0,10);U&&(this.callbacks[Fe]=U);var Qe=Te(this.globalScope)?void 0:[];return this.target.postMessage({id:Fe,type:y,hasCallback:!!U,targetMapId:J,mustQueue:ne,sourceMapId:this.mapId,data:Ue(I,Qe)},Qe),{cancel:function(){U&&delete fe.callbacks[Fe],fe.target.postMessage({id:Fe,type:\"<cancel>\",targetMapId:J,sourceMapId:fe.mapId})}}},Kw.prototype.receive=function(y){var I=y.data,U=I.id;if(U&&!(I.targetMapId&&this.mapId!==I.targetMapId))if(I.type===\"<cancel>\"){delete this.tasks[U];var J=this.cancelCallbacks[U];delete this.cancelCallbacks[U],J&&J()}else ke()||I.mustQueue?(this.tasks[U]=I,this.taskQueue.push(U),this.invoker.trigger()):this.processTask(U,I)},Kw.prototype.process=function(){if(this.taskQueue.length){var y=this.taskQueue.shift(),I=this.tasks[y];delete this.tasks[y],this.taskQueue.length&&this.invoker.trigger(),I&&this.processTask(y,I)}},Kw.prototype.processTask=function(y,I){var U=this;if(I.type===\"<response>\"){var J=this.callbacks[y];delete this.callbacks[y],J&&(I.error?J(We(I.error)):J(null,We(I.data)))}else{var ne=!1,fe=Te(this.globalScope)?void 0:[],Fe=I.hasCallback?function(ur,nr){ne=!0,delete U.cancelCallbacks[y],U.target.postMessage({id:y,type:\"<response>\",sourceMapId:U.mapId,error:ur?Ue(ur):null,data:Ue(nr,fe)},fe)}:function(ur){ne=!0},Qe=null,st=We(I.data);if(this.parent[I.type])Qe=this.parent[I.type](I.sourceMapId,st,Fe);else if(this.parent.getWorkerSource){var mt=I.type.split(\".\"),Xt=this.parent.getWorkerSource(I.sourceMapId,mt[0],st.source);Qe=Xt[mt[1]](st,Fe)}else Fe(new Error(\"Could not find function \"+I.type));!ne&&Qe&&Qe.cancel&&(this.cancelCallbacks[y]=Qe.cancel)}},Kw.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1)};function RQe(m,y,I){y=Math.pow(2,I)-y-1;var U=FQ(m*256,y*256,I),J=FQ((m+1)*256,(y+1)*256,I);return U[0]+\",\"+U[1]+\",\"+J[0]+\",\"+J[1]}function FQ(m,y,I){var U=2*Math.PI*6378137/256/Math.pow(2,I),J=m*U-2*Math.PI*6378137/2,ne=y*U-2*Math.PI*6378137/2;return[J,ne]}var jf=function(y,I){y&&(I?this.setSouthWest(y).setNorthEast(I):y.length===4?this.setSouthWest([y[0],y[1]]).setNorthEast([y[2],y[3]]):this.setSouthWest(y[0]).setNorthEast(y[1]))};jf.prototype.setNorthEast=function(y){return this._ne=y instanceof sc?new sc(y.lng,y.lat):sc.convert(y),this},jf.prototype.setSouthWest=function(y){return this._sw=y instanceof sc?new sc(y.lng,y.lat):sc.convert(y),this},jf.prototype.extend=function(y){var I=this._sw,U=this._ne,J,ne;if(y instanceof sc)J=y,ne=y;else if(y instanceof jf){if(J=y._sw,ne=y._ne,!J||!ne)return this}else{if(Array.isArray(y))if(y.length===4||y.every(Array.isArray)){var fe=y;return this.extend(jf.convert(fe))}else{var Fe=y;return this.extend(sc.convert(Fe))}return this}return!I&&!U?(this._sw=new sc(J.lng,J.lat),this._ne=new sc(ne.lng,ne.lat)):(I.lng=Math.min(J.lng,I.lng),I.lat=Math.min(J.lat,I.lat),U.lng=Math.max(ne.lng,U.lng),U.lat=Math.max(ne.lat,U.lat)),this},jf.prototype.getCenter=function(){return new sc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},jf.prototype.getSouthWest=function(){return this._sw},jf.prototype.getNorthEast=function(){return this._ne},jf.prototype.getNorthWest=function(){return new sc(this.getWest(),this.getNorth())},jf.prototype.getSouthEast=function(){return new sc(this.getEast(),this.getSouth())},jf.prototype.getWest=function(){return this._sw.lng},jf.prototype.getSouth=function(){return this._sw.lat},jf.prototype.getEast=function(){return this._ne.lng},jf.prototype.getNorth=function(){return this._ne.lat},jf.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},jf.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},jf.prototype.isEmpty=function(){return!(this._sw&&this._ne)},jf.prototype.contains=function(y){var I=sc.convert(y),U=I.lng,J=I.lat,ne=this._sw.lat<=J&&J<=this._ne.lat,fe=this._sw.lng<=U&&U<=this._ne.lng;return this._sw.lng>this._ne.lng&&(fe=this._sw.lng>=U&&U>=this._ne.lng),ne&&fe},jf.convert=function(y){return!y||y instanceof jf?y:new jf(y)};var qQ=63710088e-1,sc=function(y,I){if(isNaN(y)||isNaN(I))throw new Error(\"Invalid LngLat object: (\"+y+\", \"+I+\")\");if(this.lng=+y,this.lat=+I,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};sc.prototype.wrap=function(){return new sc(E(this.lng,-180,180),this.lat)},sc.prototype.toArray=function(){return[this.lng,this.lat]},sc.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},sc.prototype.distanceTo=function(y){var I=Math.PI/180,U=this.lat*I,J=y.lat*I,ne=Math.sin(U)*Math.sin(J)+Math.cos(U)*Math.cos(J)*Math.cos((y.lng-this.lng)*I),fe=qQ*Math.acos(Math.min(ne,1));return fe},sc.prototype.toBounds=function(y){y===void 0&&(y=0);var I=40075017,U=360*y/I,J=U/Math.cos(Math.PI/180*this.lat);return new jf(new sc(this.lng-J,this.lat-U),new sc(this.lng+J,this.lat+U))},sc.convert=function(y){if(y instanceof sc)return y;if(Array.isArray(y)&&(y.length===2||y.length===3))return new sc(Number(y[0]),Number(y[1]));if(!Array.isArray(y)&&typeof y==\"object\"&&y!==null)return new sc(Number(\"lng\"in y?y.lng:y.lon),Number(y.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\")};var OQ=2*Math.PI*qQ;function BQ(m){return OQ*Math.cos(m*Math.PI/180)}function NQ(m){return(180+m)/360}function UQ(m){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+m*Math.PI/360)))/360}function VQ(m,y){return m/BQ(y)}function DQe(m){return m*360-180}function uq(m){var y=180-m*360;return 360/Math.PI*Math.atan(Math.exp(y*Math.PI/180))-90}function zQe(m,y){return m*BQ(uq(y))}function FQe(m){return 1/Math.cos(m*Math.PI/180)}var nb=function(y,I,U){U===void 0&&(U=0),this.x=+y,this.y=+I,this.z=+U};nb.fromLngLat=function(y,I){I===void 0&&(I=0);var U=sc.convert(y);return new nb(NQ(U.lng),UQ(U.lat),VQ(I,U.lat))},nb.prototype.toLngLat=function(){return new sc(DQe(this.x),uq(this.y))},nb.prototype.toAltitude=function(){return zQe(this.z,this.y)},nb.prototype.meterInMercatorCoordinateUnits=function(){return 1/OQ*FQe(uq(this.y))};var ab=function(y,I,U){this.z=y,this.x=I,this.y=U,this.key=AS(0,y,y,I,U)};ab.prototype.equals=function(y){return this.z===y.z&&this.x===y.x&&this.y===y.y},ab.prototype.url=function(y,I){var U=RQe(this.x,this.y,this.z),J=qQe(this.z,this.x,this.y);return y[(this.x+this.y)%y.length].replace(\"{prefix}\",(this.x%16).toString(16)+(this.y%16).toString(16)).replace(\"{z}\",String(this.z)).replace(\"{x}\",String(this.x)).replace(\"{y}\",String(I===\"tms\"?Math.pow(2,this.z)-this.y-1:this.y)).replace(\"{quadkey}\",J).replace(\"{bbox-epsg-3857}\",U)},ab.prototype.getTilePoint=function(y){var I=Math.pow(2,this.z);return new u((y.x*I-this.x)*rn,(y.y*I-this.y)*rn)},ab.prototype.toString=function(){return this.z+\"/\"+this.x+\"/\"+this.y};var HQ=function(y,I){this.wrap=y,this.canonical=I,this.key=AS(y,I.z,I.z,I.x,I.y)},Wf=function(y,I,U,J,ne){this.overscaledZ=y,this.wrap=I,this.canonical=new ab(U,+J,+ne),this.key=AS(I,y,U,J,ne)};Wf.prototype.equals=function(y){return this.overscaledZ===y.overscaledZ&&this.wrap===y.wrap&&this.canonical.equals(y.canonical)},Wf.prototype.scaledTo=function(y){var I=this.canonical.z-y;return y>this.canonical.z?new Wf(y,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Wf(y,this.wrap,y,this.canonical.x>>I,this.canonical.y>>I)},Wf.prototype.calculateScaledKey=function(y,I){var U=this.canonical.z-y;return y>this.canonical.z?AS(this.wrap*+I,y,this.canonical.z,this.canonical.x,this.canonical.y):AS(this.wrap*+I,y,y,this.canonical.x>>U,this.canonical.y>>U)},Wf.prototype.isChildOf=function(y){if(y.wrap!==this.wrap)return!1;var I=this.canonical.z-y.canonical.z;return y.overscaledZ===0||y.overscaledZ<this.overscaledZ&&y.canonical.x===this.canonical.x>>I&&y.canonical.y===this.canonical.y>>I},Wf.prototype.children=function(y){if(this.overscaledZ>=y)return[new Wf(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var I=this.canonical.z+1,U=this.canonical.x*2,J=this.canonical.y*2;return[new Wf(I,this.wrap,I,U,J),new Wf(I,this.wrap,I,U+1,J),new Wf(I,this.wrap,I,U,J+1),new Wf(I,this.wrap,I,U+1,J+1)]},Wf.prototype.isLessThan=function(y){return this.wrap<y.wrap?!0:this.wrap>y.wrap?!1:this.overscaledZ<y.overscaledZ?!0:this.overscaledZ>y.overscaledZ?!1:this.canonical.x<y.canonical.x?!0:this.canonical.x>y.canonical.x?!1:this.canonical.y<y.canonical.y},Wf.prototype.wrapped=function(){return new Wf(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},Wf.prototype.unwrapTo=function(y){return new Wf(this.overscaledZ,y,this.canonical.z,this.canonical.x,this.canonical.y)},Wf.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},Wf.prototype.toUnwrapped=function(){return new HQ(this.wrap,this.canonical)},Wf.prototype.toString=function(){return this.overscaledZ+\"/\"+this.canonical.x+\"/\"+this.canonical.y},Wf.prototype.getTilePoint=function(y){return this.canonical.getTilePoint(new nb(y.x-this.wrap,y.y))};function AS(m,y,I,U,J){m*=2,m<0&&(m=m*-1-1);var ne=1<<I;return(ne*ne*m+ne*J+U).toString(36)+I.toString(36)+y.toString(36)}function qQe(m,y,I){for(var U=\"\",J,ne=m;ne>0;ne--)J=1<<ne-1,U+=(y&J?1:0)+(I&J?2:0);return U}Z(\"CanonicalTileID\",ab),Z(\"OverscaledTileID\",Wf,{omit:[\"posMatrix\"]});var dy=function(y,I,U){if(this.uid=y,I.height!==I.width)throw new RangeError(\"DEM tiles must be square\");if(U&&U!==\"mapbox\"&&U!==\"terrarium\")return re('\"'+U+'\" is not a valid encoding type. Valid types include \"mapbox\" and \"terrarium\".');this.stride=I.height;var J=this.dim=I.height-2;this.data=new Uint32Array(I.data.buffer),this.encoding=U||\"mapbox\";for(var ne=0;ne<J;ne++)this.data[this._idx(-1,ne)]=this.data[this._idx(0,ne)],this.data[this._idx(J,ne)]=this.data[this._idx(J-1,ne)],this.data[this._idx(ne,-1)]=this.data[this._idx(ne,0)],this.data[this._idx(ne,J)]=this.data[this._idx(ne,J-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(J,-1)]=this.data[this._idx(J-1,0)],this.data[this._idx(-1,J)]=this.data[this._idx(0,J-1)],this.data[this._idx(J,J)]=this.data[this._idx(J-1,J-1)]};dy.prototype.get=function(y,I){var U=new Uint8Array(this.data.buffer),J=this._idx(y,I)*4,ne=this.encoding===\"terrarium\"?this._unpackTerrarium:this._unpackMapbox;return ne(U[J],U[J+1],U[J+2])},dy.prototype.getUnpackVector=function(){return this.encoding===\"terrarium\"?[256,1,1/256,32768]:[6553.6,25.6,.1,1e4]},dy.prototype._idx=function(y,I){if(y<-1||y>=this.dim+1||I<-1||I>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(I+1)*this.stride+(y+1)},dy.prototype._unpackMapbox=function(y,I,U){return(y*256*256+I*256+U)/10-1e4},dy.prototype._unpackTerrarium=function(y,I,U){return y*256+I+U/256-32768},dy.prototype.getPixels=function(){return new lh({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},dy.prototype.backfillBorder=function(y,I,U){if(this.dim!==y.dim)throw new Error(\"dem dimension mismatch\");var J=I*this.dim,ne=I*this.dim+this.dim,fe=U*this.dim,Fe=U*this.dim+this.dim;switch(I){case-1:J=ne-1;break;case 1:ne=J+1;break}switch(U){case-1:fe=Fe-1;break;case 1:Fe=fe+1;break}for(var Qe=-I*this.dim,st=-U*this.dim,mt=fe;mt<Fe;mt++)for(var Xt=J;Xt<ne;Xt++)this.data[this._idx(Xt,mt)]=y.data[this._idx(Xt+Qe,mt+st)]},Z(\"DEMData\",dy);function OQe(m,y){var I={};if(!y)return I;for(var U=function(){var fe=ne[J],Fe=fe.layerIds.map(function(Xt){return y.getLayer(Xt)}).filter(Boolean);if(Fe.length!==0){fe.layers=Fe,fe.stateDependentLayerIds&&(fe.stateDependentLayers=fe.stateDependentLayerIds.map(function(Xt){return Fe.filter(function(ur){return ur.id===Xt})[0]}));for(var Qe=0,st=Fe;Qe<st.length;Qe+=1){var mt=st[Qe];I[mt.id]=fe}}},J=0,ne=m;J<ne.length;J+=1)U();return I}var YC=function(y){this._stringToNumber={},this._numberToString=[];for(var I=0;I<y.length;I++){var U=y[I];this._stringToNumber[U]=I,this._numberToString[I]=U}};YC.prototype.encode=function(y){return this._stringToNumber[y]},YC.prototype.decode=function(y){return this._numberToString[y]};var KC=function(y,I,U,J,ne){this.type=\"Feature\",this._vectorTileFeature=y,y._z=I,y._x=U,y._y=J,this.properties=y.properties,this.id=ne},cq={geometry:{configurable:!0}};cq.geometry.get=function(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},cq.geometry.set=function(m){this._geometry=m},KC.prototype.toJSON=function(){var y={geometry:this.geometry};for(var I in this)I===\"_geometry\"||I===\"_vectorTileFeature\"||(y[I]=this[I]);return y},Object.defineProperties(KC.prototype,cq);var Jw=function(){this.state={},this.stateChanges={},this.deletedStates={}};Jw.prototype.updateState=function(y,I,U){var J=String(I);if(this.stateChanges[y]=this.stateChanges[y]||{},this.stateChanges[y][J]=this.stateChanges[y][J]||{},_(this.stateChanges[y][J],U),this.deletedStates[y]===null){this.deletedStates[y]={};for(var ne in this.state[y])ne!==J&&(this.deletedStates[y][ne]=null)}else{var fe=this.deletedStates[y]&&this.deletedStates[y][J]===null;if(fe){this.deletedStates[y][J]={};for(var Fe in this.state[y][J])U[Fe]||(this.deletedStates[y][J][Fe]=null)}else for(var Qe in U){var st=this.deletedStates[y]&&this.deletedStates[y][J]&&this.deletedStates[y][J][Qe]===null;st&&delete this.deletedStates[y][J][Qe]}}},Jw.prototype.removeFeatureState=function(y,I,U){var J=this.deletedStates[y]===null;if(!J){var ne=String(I);if(this.deletedStates[y]=this.deletedStates[y]||{},U&&I!==void 0)this.deletedStates[y][ne]!==null&&(this.deletedStates[y][ne]=this.deletedStates[y][ne]||{},this.deletedStates[y][ne][U]=null);else if(I!==void 0){var fe=this.stateChanges[y]&&this.stateChanges[y][ne];if(fe){this.deletedStates[y][ne]={};for(U in this.stateChanges[y][ne])this.deletedStates[y][ne][U]=null}else this.deletedStates[y][ne]=null}else this.deletedStates[y]=null}},Jw.prototype.getState=function(y,I){var U=String(I),J=this.state[y]||{},ne=this.stateChanges[y]||{},fe=_({},J[U],ne[U]);if(this.deletedStates[y]===null)return{};if(this.deletedStates[y]){var Fe=this.deletedStates[y][I];if(Fe===null)return{};for(var Qe in Fe)delete fe[Qe]}return fe},Jw.prototype.initializeTileState=function(y,I){y.setFeatureState(this.state,I)},Jw.prototype.coalesceChanges=function(y,I){var U={};for(var J in this.stateChanges){this.state[J]=this.state[J]||{};var ne={};for(var fe in this.stateChanges[J])this.state[J][fe]||(this.state[J][fe]={}),_(this.state[J][fe],this.stateChanges[J][fe]),ne[fe]=this.state[J][fe];U[J]=ne}for(var Fe in this.deletedStates){this.state[Fe]=this.state[Fe]||{};var Qe={};if(this.deletedStates[Fe]===null)for(var st in this.state[Fe])Qe[st]={},this.state[Fe][st]={};else for(var mt in this.deletedStates[Fe]){var Xt=this.deletedStates[Fe][mt]===null;if(Xt)this.state[Fe][mt]={};else for(var ur=0,nr=Object.keys(this.deletedStates[Fe][mt]);ur<nr.length;ur+=1){var Lr=nr[ur];delete this.state[Fe][mt][Lr]}Qe[mt]=this.state[Fe][mt]}U[Fe]=U[Fe]||{},_(U[Fe],Qe)}if(this.stateChanges={},this.deletedStates={},Object.keys(U).length!==0)for(var Yr in y){var _i=y[Yr];_i.setFeatureState(U,I)}};var vy=function(y,I){this.tileID=y,this.x=y.canonical.x,this.y=y.canonical.y,this.z=y.canonical.z,this.grid=new cu(rn,16,0),this.grid3D=new cu(rn,16,0),this.featureIndexArray=new ef,this.promoteId=I};vy.prototype.insert=function(y,I,U,J,ne,fe){var Fe=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(U,J,ne);for(var Qe=fe?this.grid3D:this.grid,st=0;st<I.length;st++){for(var mt=I[st],Xt=[1/0,1/0,-1/0,-1/0],ur=0;ur<mt.length;ur++){var nr=mt[ur];Xt[0]=Math.min(Xt[0],nr.x),Xt[1]=Math.min(Xt[1],nr.y),Xt[2]=Math.max(Xt[2],nr.x),Xt[3]=Math.max(Xt[3],nr.y)}Xt[0]<rn&&Xt[1]<rn&&Xt[2]>=0&&Xt[3]>=0&&Qe.insert(Fe,Xt[0],Xt[1],Xt[2],Xt[3])}},vy.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new pg.VectorTile(new La(this.rawTileData)).layers,this.sourceLayerCoder=new YC(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers},vy.prototype.query=function(y,I,U,J){var ne=this;this.loadVTLayers();for(var fe=y.params||{},Fe=rn/y.tileSize/y.scale,Qe=be(fe.filter),st=y.queryGeometry,mt=y.queryPadding*Fe,Xt=jQ(st),ur=this.grid.query(Xt.minX-mt,Xt.minY-mt,Xt.maxX+mt,Xt.maxY+mt),nr=jQ(y.cameraQueryGeometry),Lr=this.grid3D.query(nr.minX-mt,nr.minY-mt,nr.maxX+mt,nr.maxY+mt,function(An,ra,$n,Ba){return pp(y.cameraQueryGeometry,An-mt,ra-mt,$n+mt,Ba+mt)}),Yr=0,_i=Lr;Yr<_i.length;Yr+=1){var si=_i[Yr];ur.push(si)}ur.sort(BQe);for(var Hi={},Ei,Vi=function(An){var ra=ur[An];if(ra!==Ei){Ei=ra;var $n=ne.featureIndexArray.get(ra),Ba=null;ne.loadMatchingFeature(Hi,$n.bucketIndex,$n.sourceLayerIndex,$n.featureIndex,Qe,fe.layers,fe.availableImages,I,U,J,function(_a,Pa,qo){return Ba||(Ba=da(_a)),Pa.queryIntersectsFeature(st,_a,qo,Ba,ne.z,y.transform,Fe,y.pixelPosMatrix)})}},en=0;en<ur.length;en++)Vi(en);return Hi},vy.prototype.loadMatchingFeature=function(y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt){var ur=this.bucketLayerIDs[I];if(!(fe&&!N(fe,ur))){var nr=this.sourceLayerCoder.decode(U),Lr=this.vtLayers[nr],Yr=Lr.feature(J);if(ne.needGeometry){var _i=No(Yr,!0);if(!ne.filter(new pn(this.tileID.overscaledZ),_i,this.tileID.canonical))return}else if(!ne.filter(new pn(this.tileID.overscaledZ),Yr))return;for(var si=this.getId(Yr,nr),Hi=0;Hi<ur.length;Hi++){var Ei=ur[Hi];if(!(fe&&fe.indexOf(Ei)<0)){var Vi=Qe[Ei];if(Vi){var en={};si!==void 0&&mt&&(en=mt.getState(Vi.sourceLayer||\"_geojsonTileLayer\",si));var An=_({},st[Ei]);An.paint=GQ(An.paint,Vi.paint,Yr,en,Fe),An.layout=GQ(An.layout,Vi.layout,Yr,en,Fe);var ra=!Xt||Xt(Yr,Vi,en);if(ra){var $n=new KC(Yr,this.z,this.x,this.y,si);$n.layer=An;var Ba=y[Ei];Ba===void 0&&(Ba=y[Ei]=[]),Ba.push({featureIndex:J,feature:$n,intersectionZ:ra})}}}}}},vy.prototype.lookupSymbolFeatures=function(y,I,U,J,ne,fe,Fe,Qe){var st={};this.loadVTLayers();for(var mt=be(ne),Xt=0,ur=y;Xt<ur.length;Xt+=1){var nr=ur[Xt];this.loadMatchingFeature(st,U,J,nr,mt,fe,Fe,Qe,I)}return st},vy.prototype.hasLayer=function(y){for(var I=0,U=this.bucketLayerIDs;I<U.length;I+=1)for(var J=U[I],ne=0,fe=J;ne<fe.length;ne+=1){var Fe=fe[ne];if(y===Fe)return!0}return!1},vy.prototype.getId=function(y,I){var U=y.id;if(this.promoteId){var J=typeof this.promoteId==\"string\"?this.promoteId:this.promoteId[I];U=y.properties[J],typeof U==\"boolean\"&&(U=Number(U))}return U},Z(\"FeatureIndex\",vy,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});function GQ(m,y,I,U,J){return H(m,function(ne,fe){var Fe=y instanceof xc?y.get(fe):null;return Fe&&Fe.evaluate?Fe.evaluate(I,U,J):Fe})}function jQ(m){for(var y=1/0,I=1/0,U=-1/0,J=-1/0,ne=0,fe=m;ne<fe.length;ne+=1){var Fe=fe[ne];y=Math.min(y,Fe.x),I=Math.min(I,Fe.y),U=Math.max(U,Fe.x),J=Math.max(J,Fe.y)}return{minX:y,minY:I,maxX:U,maxY:J}}function BQe(m,y){return y-m}var NQe=3e4,Fh=function(y,I){this.tileID=y,this.uid=g(),this.uses=0,this.tileSize=I,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.expiredRequestCount=0,this.state=\"loading\"};Fh.prototype.registerFadeDuration=function(y){var I=y+this.timeAdded;I<nt.now()||this.fadeEndTime&&I<this.fadeEndTime||(this.fadeEndTime=I)},Fh.prototype.wasRequested=function(){return this.state===\"errored\"||this.state===\"loaded\"||this.state===\"reloading\"},Fh.prototype.loadVectorData=function(y,I,U){if(this.hasData()&&this.unloadVectorData(),this.state=\"loaded\",!y){this.collisionBoxArray=new xs;return}y.featureIndex&&(this.latestFeatureIndex=y.featureIndex,y.rawTileData?(this.latestRawTileData=y.rawTileData,this.latestFeatureIndex.rawTileData=y.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=y.collisionBoxArray,this.buckets=OQe(y.buckets,I.style),this.hasSymbolBuckets=!1;for(var J in this.buckets){var ne=this.buckets[J];if(ne instanceof ou)if(this.hasSymbolBuckets=!0,U)ne.justReloaded=!0;else break}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(var fe in this.buckets){var Fe=this.buckets[fe];if(Fe instanceof ou&&Fe.hasRTLText){this.hasRTLText=!0,Ns();break}}this.queryPadding=0;for(var Qe in this.buckets){var st=this.buckets[Qe];this.queryPadding=Math.max(this.queryPadding,I.style.getLayer(Qe).queryRadius(st))}y.imageAtlas&&(this.imageAtlas=y.imageAtlas),y.glyphAtlasImage&&(this.glyphAtlasImage=y.glyphAtlasImage)},Fh.prototype.unloadVectorData=function(){for(var y in this.buckets)this.buckets[y].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\"},Fh.prototype.getBucket=function(y){return this.buckets[y.id]},Fh.prototype.upload=function(y){for(var I in this.buckets){var U=this.buckets[I];U.uploadPending()&&U.upload(y)}var J=y.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new ib(y,this.imageAtlas.image,J.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new ib(y,this.glyphAtlasImage,J.ALPHA),this.glyphAtlasImage=null)},Fh.prototype.prepare=function(y){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(y,this.imageAtlasTexture)},Fh.prototype.queryRenderedFeatures=function(y,I,U,J,ne,fe,Fe,Qe,st,mt){return!this.latestFeatureIndex||!this.latestFeatureIndex.rawTileData?{}:this.latestFeatureIndex.query({queryGeometry:J,cameraQueryGeometry:ne,scale:fe,tileSize:this.tileSize,pixelPosMatrix:mt,transform:Qe,params:Fe,queryPadding:this.queryPadding*st},y,I,U)},Fh.prototype.querySourceFeatures=function(y,I){var U=this.latestFeatureIndex;if(!(!U||!U.rawTileData)){var J=U.loadVTLayers(),ne=I?I.sourceLayer:\"\",fe=J._geojsonTileLayer||J[ne];if(fe)for(var Fe=be(I&&I.filter),Qe=this.tileID.canonical,st=Qe.z,mt=Qe.x,Xt=Qe.y,ur={z:st,x:mt,y:Xt},nr=0;nr<fe.length;nr++){var Lr=fe.feature(nr);if(Fe.needGeometry){var Yr=No(Lr,!0);if(!Fe.filter(new pn(this.tileID.overscaledZ),Yr,this.tileID.canonical))continue}else if(!Fe.filter(new pn(this.tileID.overscaledZ),Lr))continue;var _i=U.getId(Lr,ne),si=new KC(Lr,st,mt,Xt,_i);si.tile=ur,y.push(si)}}},Fh.prototype.hasData=function(){return this.state===\"loaded\"||this.state===\"reloading\"||this.state===\"expired\"},Fh.prototype.patternsLoaded=function(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length},Fh.prototype.setExpiryData=function(y){var I=this.expirationTime;if(y.cacheControl){var U=ge(y.cacheControl);U[\"max-age\"]&&(this.expirationTime=Date.now()+U[\"max-age\"]*1e3)}else y.expires&&(this.expirationTime=new Date(y.expires).getTime());if(this.expirationTime){var J=Date.now(),ne=!1;if(this.expirationTime>J)ne=!1;else if(!I)ne=!0;else if(this.expirationTime<I)ne=!0;else{var fe=this.expirationTime-I;fe?this.expirationTime=J+Math.max(fe,NQe):ne=!0}ne?(this.expiredRequestCount++,this.state=\"expired\"):this.expiredRequestCount=0}},Fh.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-new Date().getTime(),Math.pow(2,31)-1)},Fh.prototype.setFeatureState=function(y,I){if(!(!this.latestFeatureIndex||!this.latestFeatureIndex.rawTileData||Object.keys(y).length===0)){var U=this.latestFeatureIndex.loadVTLayers();for(var J in this.buckets)if(I.style.hasLayer(J)){var ne=this.buckets[J],fe=ne.layers[0].sourceLayer||\"_geojsonTileLayer\",Fe=U[fe],Qe=y[fe];if(!(!Fe||!Qe||Object.keys(Qe).length===0)){ne.update(Qe,Fe,this.imageAtlas&&this.imageAtlas.patternPositions||{});var st=I&&I.style&&I.style.getLayer(J);st&&(this.queryPadding=Math.max(this.queryPadding,st.queryRadius(ne)))}}}},Fh.prototype.holdingForFade=function(){return this.symbolFadeHoldUntil!==void 0},Fh.prototype.symbolFadeFinished=function(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<nt.now()},Fh.prototype.clearFadeHold=function(){this.symbolFadeHoldUntil=void 0},Fh.prototype.setHoldDuration=function(y){this.symbolFadeHoldUntil=nt.now()+y},Fh.prototype.setDependencies=function(y,I){for(var U={},J=0,ne=I;J<ne.length;J+=1){var fe=ne[J];U[fe]=!0}this.dependencies[y]=U},Fh.prototype.hasDependency=function(y,I){for(var U=0,J=y;U<J.length;U+=1){var ne=J[U],fe=this.dependencies[ne];if(fe)for(var Fe=0,Qe=I;Fe<Qe.length;Fe+=1){var st=Qe[Fe];if(fe[st])return!0}}return!1};var UQe=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"],z1=f.performance,WQ=function(y){this._marks={start:[y.url,\"start\"].join(\"#\"),end:[y.url,\"end\"].join(\"#\"),measure:y.url.toString()},z1.mark(this._marks.start)};WQ.prototype.finish=function(){z1.mark(this._marks.end);var y=z1.getEntriesByName(this._marks.measure);return y.length===0&&(z1.measure(this._marks.measure,this._marks.start,this._marks.end),y=z1.getEntriesByName(this._marks.measure),z1.clearMarks(this._marks.start),z1.clearMarks(this._marks.end),z1.clearMeasures(this._marks.measure)),y},i.Actor=Kw,i.AlphaImage=Pv,i.CanonicalTileID=ab,i.CollisionBoxArray=xs,i.Color=ss,i.DEMData=dy,i.DataConstantProperty=At,i.DictionaryCoder=YC,i.EXTENT=rn,i.ErrorEvent=oa,i.EvaluationParameters=pn,i.Event=jo,i.Evented=Sn,i.FeatureIndex=vy,i.FillBucket=gp,i.FillExtrusionBucket=Hp,i.ImageAtlas=gg,i.ImagePosition=If,i.LineBucket=Gf,i.LngLat=sc,i.LngLatBounds=jf,i.MercatorCoordinate=nb,i.ONE_EM=Zi,i.OverscaledTileID=Wf,i.Point=u,i.Point$1=u,i.Properties=Oi,i.Protobuf=La,i.RGBAImage=lh,i.RequestManager=Ke,i.RequestPerformance=WQ,i.ResourceType=zn,i.SegmentVector=ns,i.SourceFeatureState=Jw,i.StructArrayLayout1ui2=Jo,i.StructArrayLayout2f1f2i16=Xn,i.StructArrayLayout2i4=ji,i.StructArrayLayout3ui6=ma,i.StructArrayLayout4i8=Ln,i.SymbolBucket=ou,i.Texture=ib,i.Tile=Fh,i.Transitionable=Fo,i.Uniform1f=Pt,i.Uniform1i=vt,i.Uniform2f=Wt,i.Uniform3f=rr,i.Uniform4f=dr,i.UniformColor=pr,i.UniformMatrix4f=Ar,i.UnwrappedTileID=HQ,i.ValidationError=fa,i.WritingMode=uv,i.ZoomHistory=wt,i.add=Lv,i.addDynamicAttributes=oq,i.asyncAll=k,i.bezier=x,i.bindAll=q,i.browser=nt,i.cacheEntryPossiblyAdded=bi,i.clamp=p,i.clearTileCache=Wi,i.clipLine=MQ,i.clone=T1,i.clone$1=G,i.clone$2=Mw,i.collisionCircleLayout=Tt,i.config=ct,i.create=w1,i.create$1=Rh,i.create$2=hg,i.createCommonjsModule=a,i.createExpression=eo,i.createLayout=Dn,i.createStyleLayer=IQe,i.cross=I9,i.deepEqual=h,i.dot=P9,i.dot$1=q9,i.ease=b,i.emitValidationErrors=Zu,i.endsWith=V,i.enforceCacheSizeLimit=nn,i.evaluateSizeForFeature=_Q,i.evaluateSizeForZoom=xQ,i.evaluateVariableOffset=CQ,i.evented=ya,i.extend=_,i.featureFilter=be,i.filterObject=X,i.fromRotation=rm,i.getAnchorAlignment=bS,i.getAnchorJustification=aq,i.getArrayBuffer=Zr,i.getImage=jn,i.getJSON=Fr,i.getRTLTextPluginStatus=so,i.getReferrer=It,i.getVideo=la,i.identity=oy,i.invert=im,i.isChar=tt,i.isMapboxURL=xt,i.keysDifference=L,i.makeRequest=yr,i.mapObject=H,i.mercatorXfromLng=NQ,i.mercatorYfromLat=UQ,i.mercatorZfromAltitude=VQ,i.mul=Nx,i.multiply=nm,i.mvt=pg,i.nextPowerOfTwo=T,i.normalize=Ux,i.number=Qs,i.offscreenCanvasSupported=$i,i.ortho=Kl,i.parseGlyphPBF=p0,i.pbf=La,i.performSymbolLayout=hQe,i.perspective=A1,i.pick=C,i.plugin=_s,i.polygonIntersectsPolygon=fo,i.postMapLoadEvent=Ve,i.postTurnstileEvent=Ne,i.potpack=Qv,i.refProperties=UQe,i.register=Z,i.registerForPluginStateChange=wa,i.renderColorRamp=Gx,i.rotate=ay,i.rotateX=bd,i.rotateZ=sy,i.scale=kl,i.scale$1=F9,i.scale$2=Ew,i.setCacheLimits=Ni,i.setRTLTextPlugin=io,i.sphericalToCartesian=Me,i.sqrLen=tS,i.styleSpec=on,i.sub=D9,i.symbolSize=iQe,i.transformMat3=R9,i.transformMat4=ly,i.translate=Fu,i.triggerPluginCompletionEvent=Nn,i.uniqueId=g,i.validateCustomStyleLayer=CQe,i.validateLight=po,i.validateStyle=yo,i.values=A,i.vectorTile=pg,i.version=o,i.warnOnce=re,i.webpSupported=qt,i.window=f,i.wrap=E}),n([\"./shared\"],function(i){\"use strict\";function a(It){var ft=typeof It;if(ft===\"number\"||ft===\"boolean\"||ft===\"string\"||It===void 0||It===null)return JSON.stringify(It);if(Array.isArray(It)){for(var jt=\"[\",Zt=0,yr=It;Zt<yr.length;Zt+=1){var Fr=yr[Zt];jt+=a(Fr)+\",\"}return jt+\"]\"}for(var Zr=Object.keys(It).sort(),Vr=\"{\",gi=0;gi<Zr.length;gi++)Vr+=JSON.stringify(Zr[gi])+\":\"+a(It[Zr[gi]])+\",\";return Vr+\"}\"}function o(It){for(var ft=\"\",jt=0,Zt=i.refProperties;jt<Zt.length;jt+=1){var yr=Zt[jt];ft+=\"/\"+a(It[yr])}return ft}function s(It,ft){for(var jt={},Zt=0;Zt<It.length;Zt++){var yr=ft&&ft[It[Zt].id]||o(It[Zt]);ft&&(ft[It[Zt].id]=yr);var Fr=jt[yr];Fr||(Fr=jt[yr]=[]),Fr.push(It[Zt])}var Zr=[];for(var Vr in jt)Zr.push(jt[Vr]);return Zr}var l=function(ft){this.keyCache={},ft&&this.replace(ft)};l.prototype.replace=function(ft){this._layerConfigs={},this._layers={},this.update(ft,[])},l.prototype.update=function(ft,jt){for(var Zt=this,yr=0,Fr=ft;yr<Fr.length;yr+=1){var Zr=Fr[yr];this._layerConfigs[Zr.id]=Zr;var Vr=this._layers[Zr.id]=i.createStyleLayer(Zr);Vr._featureFilter=i.featureFilter(Vr.filter),this.keyCache[Zr.id]&&delete this.keyCache[Zr.id]}for(var gi=0,Si=jt;gi<Si.length;gi+=1){var Mi=Si[gi];delete this.keyCache[Mi],delete this._layerConfigs[Mi],delete this._layers[Mi]}this.familiesBySource={};for(var Pi=s(i.values(this._layerConfigs),this.keyCache),Gi=0,Ki=Pi;Gi<Ki.length;Gi+=1){var ka=Ki[Gi],jn=ka.map(function(Sn){return Zt._layers[Sn.id]}),la=jn[0];if(la.visibility!==\"none\"){var Fa=la.source||\"\",Ra=this.familiesBySource[Fa];Ra||(Ra=this.familiesBySource[Fa]={});var jo=la.sourceLayer||\"_geojsonTileLayer\",oa=Ra[jo];oa||(oa=Ra[jo]=[]),oa.push(jn)}}};var u=1,c=function(ft){var jt={},Zt=[];for(var yr in ft){var Fr=ft[yr],Zr=jt[yr]={};for(var Vr in Fr){var gi=Fr[+Vr];if(!(!gi||gi.bitmap.width===0||gi.bitmap.height===0)){var Si={x:0,y:0,w:gi.bitmap.width+2*u,h:gi.bitmap.height+2*u};Zt.push(Si),Zr[Vr]={rect:Si,metrics:gi.metrics}}}}var Mi=i.potpack(Zt),Pi=Mi.w,Gi=Mi.h,Ki=new i.AlphaImage({width:Pi||1,height:Gi||1});for(var ka in ft){var jn=ft[ka];for(var la in jn){var Fa=jn[+la];if(!(!Fa||Fa.bitmap.width===0||Fa.bitmap.height===0)){var Ra=jt[ka][la].rect;i.AlphaImage.copy(Fa.bitmap,Ki,{x:0,y:0},{x:Ra.x+u,y:Ra.y+u},Fa.bitmap)}}}this.image=Ki,this.positions=jt};i.register(\"GlyphAtlas\",c);var f=function(ft){this.tileID=new i.OverscaledTileID(ft.tileID.overscaledZ,ft.tileID.wrap,ft.tileID.canonical.z,ft.tileID.canonical.x,ft.tileID.canonical.y),this.uid=ft.uid,this.zoom=ft.zoom,this.pixelRatio=ft.pixelRatio,this.tileSize=ft.tileSize,this.source=ft.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=ft.showCollisionBoxes,this.collectResourceTiming=!!ft.collectResourceTiming,this.returnDependencies=!!ft.returnDependencies,this.promoteId=ft.promoteId};f.prototype.parse=function(ft,jt,Zt,yr,Fr){var Zr=this;this.status=\"parsing\",this.data=ft,this.collisionBoxArray=new i.CollisionBoxArray;var Vr=new i.DictionaryCoder(Object.keys(ft.layers).sort()),gi=new i.FeatureIndex(this.tileID,this.promoteId);gi.bucketLayerIDs=[];var Si={},Mi={featureIndex:gi,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:Zt},Pi=jt.familiesBySource[this.source];for(var Gi in Pi){var Ki=ft.layers[Gi];if(Ki){Ki.version===1&&i.warnOnce('Vector tile source \"'+this.source+'\" layer \"'+Gi+'\" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var ka=Vr.encode(Gi),jn=[],la=0;la<Ki.length;la++){var Fa=Ki.feature(la),Ra=gi.getId(Fa,Gi);jn.push({feature:Fa,id:Ra,index:la,sourceLayerIndex:ka})}for(var jo=0,oa=Pi[Gi];jo<oa.length;jo+=1){var Sn=oa[jo],Ha=Sn[0];if(!(Ha.minzoom&&this.zoom<Math.floor(Ha.minzoom))&&!(Ha.maxzoom&&this.zoom>=Ha.maxzoom)&&Ha.visibility!==\"none\"){h(Sn,this.zoom,Zt);var oo=Si[Ha.id]=Ha.createBucket({index:gi.bucketLayerIDs.length,layers:Sn,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:ka,sourceID:this.source});oo.populate(jn,Mi,this.tileID.canonical),gi.bucketLayerIDs.push(Sn.map(function(hi){return hi.id}))}}}}var xn,_t,br,Hr,ti=i.mapObject(Mi.glyphDependencies,function(hi){return Object.keys(hi).map(Number)});Object.keys(ti).length?yr.send(\"getGlyphs\",{uid:this.uid,stacks:ti},function(hi,Ji){xn||(xn=hi,_t=Ji,an.call(Zr))}):_t={};var zi=Object.keys(Mi.iconDependencies);zi.length?yr.send(\"getImages\",{icons:zi,source:this.source,tileID:this.tileID,type:\"icons\"},function(hi,Ji){xn||(xn=hi,br=Ji,an.call(Zr))}):br={};var Yi=Object.keys(Mi.patternDependencies);Yi.length?yr.send(\"getImages\",{icons:Yi,source:this.source,tileID:this.tileID,type:\"patterns\"},function(hi,Ji){xn||(xn=hi,Hr=Ji,an.call(Zr))}):Hr={},an.call(this);function an(){if(xn)return Fr(xn);if(_t&&br&&Hr){var hi=new c(_t),Ji=new i.ImageAtlas(br,Hr);for(var ua in Si){var Fn=Si[ua];Fn instanceof i.SymbolBucket?(h(Fn.layers,this.zoom,Zt),i.performSymbolLayout(Fn,_t,hi.positions,br,Ji.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):Fn.hasPattern&&(Fn instanceof i.LineBucket||Fn instanceof i.FillBucket||Fn instanceof i.FillExtrusionBucket)&&(h(Fn.layers,this.zoom,Zt),Fn.addFeatures(Mi,this.tileID.canonical,Ji.patternPositions))}this.status=\"done\",Fr(null,{buckets:i.values(Si).filter(function(Sa){return!Sa.isEmpty()}),featureIndex:gi,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:hi.image,imageAtlas:Ji,glyphMap:this.returnDependencies?_t:null,iconMap:this.returnDependencies?br:null,glyphPositions:this.returnDependencies?hi.positions:null})}}};function h(It,ft,jt){for(var Zt=new i.EvaluationParameters(ft),yr=0,Fr=It;yr<Fr.length;yr+=1){var Zr=Fr[yr];Zr.recalculate(Zt,jt)}}function d(It,ft){var jt=i.getArrayBuffer(It.request,function(Zt,yr,Fr,Zr){Zt?ft(Zt):yr&&ft(null,{vectorTile:new i.vectorTile.VectorTile(new i.pbf(yr)),rawData:yr,cacheControl:Fr,expires:Zr})});return function(){jt.cancel(),ft()}}var v=function(ft,jt,Zt,yr){this.actor=ft,this.layerIndex=jt,this.availableImages=Zt,this.loadVectorData=yr||d,this.loading={},this.loaded={}};v.prototype.loadTile=function(ft,jt){var Zt=this,yr=ft.uid;this.loading||(this.loading={});var Fr=ft&&ft.request&&ft.request.collectResourceTiming?new i.RequestPerformance(ft.request):!1,Zr=this.loading[yr]=new f(ft);Zr.abort=this.loadVectorData(ft,function(Vr,gi){if(delete Zt.loading[yr],Vr||!gi)return Zr.status=\"done\",Zt.loaded[yr]=Zr,jt(Vr);var Si=gi.rawData,Mi={};gi.expires&&(Mi.expires=gi.expires),gi.cacheControl&&(Mi.cacheControl=gi.cacheControl);var Pi={};if(Fr){var Gi=Fr.finish();Gi&&(Pi.resourceTiming=JSON.parse(JSON.stringify(Gi)))}Zr.vectorTile=gi.vectorTile,Zr.parse(gi.vectorTile,Zt.layerIndex,Zt.availableImages,Zt.actor,function(Ki,ka){if(Ki||!ka)return jt(Ki);jt(null,i.extend({rawTileData:Si.slice(0)},ka,Mi,Pi))}),Zt.loaded=Zt.loaded||{},Zt.loaded[yr]=Zr})},v.prototype.reloadTile=function(ft,jt){var Zt=this,yr=this.loaded,Fr=ft.uid,Zr=this;if(yr&&yr[Fr]){var Vr=yr[Fr];Vr.showCollisionBoxes=ft.showCollisionBoxes;var gi=function(Si,Mi){var Pi=Vr.reloadCallback;Pi&&(delete Vr.reloadCallback,Vr.parse(Vr.vectorTile,Zr.layerIndex,Zt.availableImages,Zr.actor,Pi)),jt(Si,Mi)};Vr.status===\"parsing\"?Vr.reloadCallback=gi:Vr.status===\"done\"&&(Vr.vectorTile?Vr.parse(Vr.vectorTile,this.layerIndex,this.availableImages,this.actor,gi):gi())}},v.prototype.abortTile=function(ft,jt){var Zt=this.loading,yr=ft.uid;Zt&&Zt[yr]&&Zt[yr].abort&&(Zt[yr].abort(),delete Zt[yr]),jt()},v.prototype.removeTile=function(ft,jt){var Zt=this.loaded,yr=ft.uid;Zt&&Zt[yr]&&delete Zt[yr],jt()};var x=i.window.ImageBitmap,b=function(){this.loaded={}};b.prototype.loadTile=function(ft,jt){var Zt=ft.uid,yr=ft.encoding,Fr=ft.rawImageData,Zr=x&&Fr instanceof x?this.getImageData(Fr):Fr,Vr=new i.DEMData(Zt,Zr,yr);this.loaded=this.loaded||{},this.loaded[Zt]=Vr,jt(null,Vr)},b.prototype.getImageData=function(ft){(!this.offscreenCanvas||!this.offscreenCanvasContext)&&(this.offscreenCanvas=new OffscreenCanvas(ft.width,ft.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext(\"2d\")),this.offscreenCanvas.width=ft.width,this.offscreenCanvas.height=ft.height,this.offscreenCanvasContext.drawImage(ft,0,0,ft.width,ft.height);var jt=this.offscreenCanvasContext.getImageData(-1,-1,ft.width+2,ft.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new i.RGBAImage({width:jt.width,height:jt.height},jt.data)},b.prototype.removeTile=function(ft){var jt=this.loaded,Zt=ft.uid;jt&&jt[Zt]&&delete jt[Zt]};var p=E;function E(It,ft){var jt=It&&It.type,Zt;if(jt===\"FeatureCollection\")for(Zt=0;Zt<It.features.length;Zt++)E(It.features[Zt],ft);else if(jt===\"GeometryCollection\")for(Zt=0;Zt<It.geometries.length;Zt++)E(It.geometries[Zt],ft);else if(jt===\"Feature\")E(It.geometry,ft);else if(jt===\"Polygon\")k(It.coordinates,ft);else if(jt===\"MultiPolygon\")for(Zt=0;Zt<It.coordinates.length;Zt++)k(It.coordinates[Zt],ft);return It}function k(It,ft){if(It.length!==0){A(It[0],ft);for(var jt=1;jt<It.length;jt++)A(It[jt],!ft)}}function A(It,ft){for(var jt=0,Zt=0,yr=It.length,Fr=yr-1;Zt<yr;Fr=Zt++)jt+=(It[Zt][0]-It[Fr][0])*(It[Fr][1]+It[Zt][1]);jt>=0!=!!ft&&It.reverse()}var L=i.vectorTile.VectorTileFeature.prototype.toGeoJSON,_=function(ft){this._feature=ft,this.extent=i.EXTENT,this.type=ft.type,this.properties=ft.tags,\"id\"in ft&&!isNaN(ft.id)&&(this.id=parseInt(ft.id,10))};_.prototype.loadGeometry=function(){if(this._feature.type===1){for(var ft=[],jt=0,Zt=this._feature.geometry;jt<Zt.length;jt+=1){var yr=Zt[jt];ft.push([new i.Point$1(yr[0],yr[1])])}return ft}else{for(var Fr=[],Zr=0,Vr=this._feature.geometry;Zr<Vr.length;Zr+=1){for(var gi=Vr[Zr],Si=[],Mi=0,Pi=gi;Mi<Pi.length;Mi+=1){var Gi=Pi[Mi];Si.push(new i.Point$1(Gi[0],Gi[1]))}Fr.push(Si)}return Fr}},_.prototype.toGeoJSON=function(ft,jt,Zt){return L.call(this,ft,jt,Zt)};var C=function(ft){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=i.EXTENT,this.length=ft.length,this._features=ft};C.prototype.feature=function(ft){return new _(this._features[ft])};var M=i.vectorTile.VectorTileFeature,g=P;function P(It,ft){this.options=ft||{},this.features=It,this.length=It.length}P.prototype.feature=function(It){return new T(this.features[It],this.options.extent)};function T(It,ft){this.id=typeof It.id==\"number\"?It.id:void 0,this.type=It.type,this.rawGeometry=It.type===1?[It.geometry]:It.geometry,this.properties=It.tags,this.extent=ft||4096}T.prototype.loadGeometry=function(){var It=this.rawGeometry;this.geometry=[];for(var ft=0;ft<It.length;ft++){for(var jt=It[ft],Zt=[],yr=0;yr<jt.length;yr++)Zt.push(new i.Point$1(jt[yr][0],jt[yr][1]));this.geometry.push(Zt)}return this.geometry},T.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var It=this.geometry,ft=1/0,jt=-1/0,Zt=1/0,yr=-1/0,Fr=0;Fr<It.length;Fr++)for(var Zr=It[Fr],Vr=0;Vr<Zr.length;Vr++){var gi=Zr[Vr];ft=Math.min(ft,gi.x),jt=Math.max(jt,gi.x),Zt=Math.min(Zt,gi.y),yr=Math.max(yr,gi.y)}return[ft,Zt,jt,yr]},T.prototype.toGeoJSON=M.prototype.toGeoJSON;var F=X,q=X,V=G,H=g;function X(It){var ft=new i.pbf;return N(It,ft),ft.finish()}function G(It,ft){ft=ft||{};var jt={};for(var Zt in It)jt[Zt]=new g(It[Zt].features,ft),jt[Zt].name=Zt,jt[Zt].version=ft.version,jt[Zt].extent=ft.extent;return X({layers:jt})}function N(It,ft){for(var jt in It.layers)ft.writeMessage(3,W,It.layers[jt])}function W(It,ft){ft.writeVarintField(15,It.version||1),ft.writeStringField(1,It.name||\"\"),ft.writeVarintField(5,It.extent||4096);var jt,Zt={keys:[],values:[],keycache:{},valuecache:{}};for(jt=0;jt<It.length;jt++)Zt.feature=It.feature(jt),ft.writeMessage(2,re,Zt);var yr=Zt.keys;for(jt=0;jt<yr.length;jt++)ft.writeStringField(3,yr[jt]);var Fr=Zt.values;for(jt=0;jt<Fr.length;jt++)ft.writeMessage(4,ge,Fr[jt])}function re(It,ft){var jt=It.feature;jt.id!==void 0&&ft.writeVarintField(1,jt.id),ft.writeMessage(2,ae,It),ft.writeVarintField(3,jt.type),ft.writeMessage(4,ke,jt)}function ae(It,ft){var jt=It.feature,Zt=It.keys,yr=It.values,Fr=It.keycache,Zr=It.valuecache;for(var Vr in jt.properties){var gi=Fr[Vr];typeof gi==\"undefined\"&&(Zt.push(Vr),gi=Zt.length-1,Fr[Vr]=gi),ft.writeVarint(gi);var Si=jt.properties[Vr],Mi=typeof Si;Mi!==\"string\"&&Mi!==\"boolean\"&&Mi!==\"number\"&&(Si=JSON.stringify(Si));var Pi=Mi+\":\"+Si,Gi=Zr[Pi];typeof Gi==\"undefined\"&&(yr.push(Si),Gi=yr.length-1,Zr[Pi]=Gi),ft.writeVarint(Gi)}}function _e(It,ft){return(ft<<3)+(It&7)}function Me(It){return It<<1^It>>31}function ke(It,ft){for(var jt=It.loadGeometry(),Zt=It.type,yr=0,Fr=0,Zr=jt.length,Vr=0;Vr<Zr;Vr++){var gi=jt[Vr],Si=1;Zt===1&&(Si=gi.length),ft.writeVarint(_e(1,Si));for(var Mi=Zt===3?gi.length-1:gi.length,Pi=0;Pi<Mi;Pi++){Pi===1&&Zt!==1&&ft.writeVarint(_e(2,Mi-1));var Gi=gi[Pi].x-yr,Ki=gi[Pi].y-Fr;ft.writeVarint(Me(Gi)),ft.writeVarint(Me(Ki)),yr+=Gi,Fr+=Ki}Zt===3&&ft.writeVarint(_e(7,1))}}function ge(It,ft){var jt=typeof It;jt===\"string\"?ft.writeStringField(1,It):jt===\"boolean\"?ft.writeBooleanField(7,It):jt===\"number\"&&(It%1!==0?ft.writeDoubleField(3,It):It<0?ft.writeSVarintField(6,It):ft.writeVarintField(5,It))}F.fromVectorTileJs=q,F.fromGeojsonVt=V,F.GeoJSONWrapper=H;function ie(It,ft,jt,Zt,yr,Fr){if(!(yr-Zt<=jt)){var Zr=Zt+yr>>1;Te(It,ft,Zr,Zt,yr,Fr%2),ie(It,ft,jt,Zt,Zr-1,Fr+1),ie(It,ft,jt,Zr+1,yr,Fr+1)}}function Te(It,ft,jt,Zt,yr,Fr){for(;yr>Zt;){if(yr-Zt>600){var Zr=yr-Zt+1,Vr=jt-Zt+1,gi=Math.log(Zr),Si=.5*Math.exp(2*gi/3),Mi=.5*Math.sqrt(gi*Si*(Zr-Si)/Zr)*(Vr-Zr/2<0?-1:1),Pi=Math.max(Zt,Math.floor(jt-Vr*Si/Zr+Mi)),Gi=Math.min(yr,Math.floor(jt+(Zr-Vr)*Si/Zr+Mi));Te(It,ft,jt,Pi,Gi,Fr)}var Ki=ft[2*jt+Fr],ka=Zt,jn=yr;for(Ee(It,ft,Zt,jt),ft[2*yr+Fr]>Ki&&Ee(It,ft,Zt,yr);ka<jn;){for(Ee(It,ft,ka,jn),ka++,jn--;ft[2*ka+Fr]<Ki;)ka++;for(;ft[2*jn+Fr]>Ki;)jn--}ft[2*Zt+Fr]===Ki?Ee(It,ft,Zt,jn):(jn++,Ee(It,ft,jn,yr)),jn<=jt&&(Zt=jn+1),jt<=jn&&(yr=jn-1)}}function Ee(It,ft,jt,Zt){Ae(It,jt,Zt),Ae(ft,2*jt,2*Zt),Ae(ft,2*jt+1,2*Zt+1)}function Ae(It,ft,jt){var Zt=It[ft];It[ft]=It[jt],It[jt]=Zt}function ze(It,ft,jt,Zt,yr,Fr,Zr){for(var Vr=[0,It.length-1,0],gi=[],Si,Mi;Vr.length;){var Pi=Vr.pop(),Gi=Vr.pop(),Ki=Vr.pop();if(Gi-Ki<=Zr){for(var ka=Ki;ka<=Gi;ka++)Si=ft[2*ka],Mi=ft[2*ka+1],Si>=jt&&Si<=yr&&Mi>=Zt&&Mi<=Fr&&gi.push(It[ka]);continue}var jn=Math.floor((Ki+Gi)/2);Si=ft[2*jn],Mi=ft[2*jn+1],Si>=jt&&Si<=yr&&Mi>=Zt&&Mi<=Fr&&gi.push(It[jn]);var la=(Pi+1)%2;(Pi===0?jt<=Si:Zt<=Mi)&&(Vr.push(Ki),Vr.push(jn-1),Vr.push(la)),(Pi===0?yr>=Si:Fr>=Mi)&&(Vr.push(jn+1),Vr.push(Gi),Vr.push(la))}return gi}function Ce(It,ft,jt,Zt,yr,Fr){for(var Zr=[0,It.length-1,0],Vr=[],gi=yr*yr;Zr.length;){var Si=Zr.pop(),Mi=Zr.pop(),Pi=Zr.pop();if(Mi-Pi<=Fr){for(var Gi=Pi;Gi<=Mi;Gi++)me(ft[2*Gi],ft[2*Gi+1],jt,Zt)<=gi&&Vr.push(It[Gi]);continue}var Ki=Math.floor((Pi+Mi)/2),ka=ft[2*Ki],jn=ft[2*Ki+1];me(ka,jn,jt,Zt)<=gi&&Vr.push(It[Ki]);var la=(Si+1)%2;(Si===0?jt-yr<=ka:Zt-yr<=jn)&&(Zr.push(Pi),Zr.push(Ki-1),Zr.push(la)),(Si===0?jt+yr>=ka:Zt+yr>=jn)&&(Zr.push(Ki+1),Zr.push(Mi),Zr.push(la))}return Vr}function me(It,ft,jt,Zt){var yr=It-jt,Fr=ft-Zt;return yr*yr+Fr*Fr}var Re=function(It){return It[0]},ce=function(It){return It[1]},Ge=function(ft,jt,Zt,yr,Fr){jt===void 0&&(jt=Re),Zt===void 0&&(Zt=ce),yr===void 0&&(yr=64),Fr===void 0&&(Fr=Float64Array),this.nodeSize=yr,this.points=ft;for(var Zr=ft.length<65536?Uint16Array:Uint32Array,Vr=this.ids=new Zr(ft.length),gi=this.coords=new Fr(ft.length*2),Si=0;Si<ft.length;Si++)Vr[Si]=Si,gi[2*Si]=jt(ft[Si]),gi[2*Si+1]=Zt(ft[Si]);ie(Vr,gi,yr,0,Vr.length-1,0)};Ge.prototype.range=function(ft,jt,Zt,yr){return ze(this.ids,this.coords,ft,jt,Zt,yr,this.nodeSize)},Ge.prototype.within=function(ft,jt,Zt){return Ce(this.ids,this.coords,ft,jt,Zt,this.nodeSize)};var nt={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(It){return It}},ct=function(ft){this.options=er(Object.create(nt),ft),this.trees=new Array(this.options.maxZoom+1)};ct.prototype.load=function(ft){var jt=this.options,Zt=jt.log,yr=jt.minZoom,Fr=jt.maxZoom,Zr=jt.nodeSize;Zt&&console.time(\"total time\");var Vr=\"prepare \"+ft.length+\" points\";Zt&&console.time(Vr),this.points=ft;for(var gi=[],Si=0;Si<ft.length;Si++)ft[Si].geometry&&gi.push(rt(ft[Si],Si));this.trees[Fr+1]=new Ge(gi,Ke,xt,Zr,Float32Array),Zt&&console.timeEnd(Vr);for(var Mi=Fr;Mi>=yr;Mi--){var Pi=+Date.now();gi=this._cluster(gi,Mi),this.trees[Mi]=new Ge(gi,Ke,xt,Zr,Float32Array),Zt&&console.log(\"z%d: %d clusters in %dms\",Mi,gi.length,+Date.now()-Pi)}return Zt&&console.timeEnd(\"total time\"),this},ct.prototype.getClusters=function(ft,jt){var Zt=((ft[0]+180)%360+360)%360-180,yr=Math.max(-90,Math.min(90,ft[1])),Fr=ft[2]===180?180:((ft[2]+180)%360+360)%360-180,Zr=Math.max(-90,Math.min(90,ft[3]));if(ft[2]-ft[0]>=360)Zt=-180,Fr=180;else if(Zt>Fr){var Vr=this.getClusters([Zt,yr,180,Zr],jt),gi=this.getClusters([-180,yr,Fr,Zr],jt);return Vr.concat(gi)}for(var Si=this.trees[this._limitZoom(jt)],Mi=Si.range(kt(Zt),Ct(Zr),kt(Fr),Ct(yr)),Pi=[],Gi=0,Ki=Mi;Gi<Ki.length;Gi+=1){var ka=Ki[Gi],jn=Si.points[ka];Pi.push(jn.numPoints?ot(jn):this.points[jn.index])}return Pi},ct.prototype.getChildren=function(ft){var jt=this._getOriginId(ft),Zt=this._getOriginZoom(ft),yr=\"No cluster with the specified id.\",Fr=this.trees[Zt];if(!Fr)throw new Error(yr);var Zr=Fr.points[jt];if(!Zr)throw new Error(yr);for(var Vr=this.options.radius/(this.options.extent*Math.pow(2,Zt-1)),gi=Fr.within(Zr.x,Zr.y,Vr),Si=[],Mi=0,Pi=gi;Mi<Pi.length;Mi+=1){var Gi=Pi[Mi],Ki=Fr.points[Gi];Ki.parentId===ft&&Si.push(Ki.numPoints?ot(Ki):this.points[Ki.index])}if(Si.length===0)throw new Error(yr);return Si},ct.prototype.getLeaves=function(ft,jt,Zt){jt=jt||10,Zt=Zt||0;var yr=[];return this._appendLeaves(yr,ft,jt,Zt,0),yr},ct.prototype.getTile=function(ft,jt,Zt){var yr=this.trees[this._limitZoom(ft)],Fr=Math.pow(2,ft),Zr=this.options,Vr=Zr.extent,gi=Zr.radius,Si=gi/Vr,Mi=(Zt-Si)/Fr,Pi=(Zt+1+Si)/Fr,Gi={features:[]};return this._addTileFeatures(yr.range((jt-Si)/Fr,Mi,(jt+1+Si)/Fr,Pi),yr.points,jt,Zt,Fr,Gi),jt===0&&this._addTileFeatures(yr.range(1-Si/Fr,Mi,1,Pi),yr.points,Fr,Zt,Fr,Gi),jt===Fr-1&&this._addTileFeatures(yr.range(0,Mi,Si/Fr,Pi),yr.points,-1,Zt,Fr,Gi),Gi.features.length?Gi:null},ct.prototype.getClusterExpansionZoom=function(ft){for(var jt=this._getOriginZoom(ft)-1;jt<=this.options.maxZoom;){var Zt=this.getChildren(ft);if(jt++,Zt.length!==1)break;ft=Zt[0].properties.cluster_id}return jt},ct.prototype._appendLeaves=function(ft,jt,Zt,yr,Fr){for(var Zr=this.getChildren(jt),Vr=0,gi=Zr;Vr<gi.length;Vr+=1){var Si=gi[Vr],Mi=Si.properties;if(Mi&&Mi.cluster?Fr+Mi.point_count<=yr?Fr+=Mi.point_count:Fr=this._appendLeaves(ft,Mi.cluster_id,Zt,yr,Fr):Fr<yr?Fr++:ft.push(Si),ft.length===Zt)break}return Fr},ct.prototype._addTileFeatures=function(ft,jt,Zt,yr,Fr,Zr){for(var Vr=0,gi=ft;Vr<gi.length;Vr+=1){var Si=gi[Vr],Mi=jt[Si],Pi=Mi.numPoints,Gi={type:1,geometry:[[Math.round(this.options.extent*(Mi.x*Fr-Zt)),Math.round(this.options.extent*(Mi.y*Fr-yr))]],tags:Pi?Rt(Mi):this.points[Mi.index].properties},Ki=void 0;Pi?Ki=Mi.id:this.options.generateId?Ki=Mi.index:this.points[Mi.index].id&&(Ki=this.points[Mi.index].id),Ki!==void 0&&(Gi.id=Ki),Zr.features.push(Gi)}},ct.prototype._limitZoom=function(ft){return Math.max(this.options.minZoom,Math.min(+ft,this.options.maxZoom+1))},ct.prototype._cluster=function(ft,jt){for(var Zt=[],yr=this.options,Fr=yr.radius,Zr=yr.extent,Vr=yr.reduce,gi=yr.minPoints,Si=Fr/(Zr*Math.pow(2,jt)),Mi=0;Mi<ft.length;Mi++){var Pi=ft[Mi];if(!(Pi.zoom<=jt)){Pi.zoom=jt;for(var Gi=this.trees[jt+1],Ki=Gi.within(Pi.x,Pi.y,Si),ka=Pi.numPoints||1,jn=ka,la=0,Fa=Ki;la<Fa.length;la+=1){var Ra=Fa[la],jo=Gi.points[Ra];jo.zoom>jt&&(jn+=jo.numPoints||1)}if(jn>=gi){for(var oa=Pi.x*ka,Sn=Pi.y*ka,Ha=Vr&&ka>1?this._map(Pi,!0):null,oo=(Mi<<5)+(jt+1)+this.points.length,xn=0,_t=Ki;xn<_t.length;xn+=1){var br=_t[xn],Hr=Gi.points[br];if(!(Hr.zoom<=jt)){Hr.zoom=jt;var ti=Hr.numPoints||1;oa+=Hr.x*ti,Sn+=Hr.y*ti,Hr.parentId=oo,Vr&&(Ha||(Ha=this._map(Pi,!0)),Vr(Ha,this._map(Hr)))}}Pi.parentId=oo,Zt.push(qt(oa/jn,Sn/jn,oo,jn,Ha))}else if(Zt.push(Pi),jn>1)for(var zi=0,Yi=Ki;zi<Yi.length;zi+=1){var an=Yi[zi],hi=Gi.points[an];hi.zoom<=jt||(hi.zoom=jt,Zt.push(hi))}}}return Zt},ct.prototype._getOriginId=function(ft){return ft-this.points.length>>5},ct.prototype._getOriginZoom=function(ft){return(ft-this.points.length)%32},ct.prototype._map=function(ft,jt){if(ft.numPoints)return jt?er({},ft.properties):ft.properties;var Zt=this.points[ft.index].properties,yr=this.options.map(Zt);return jt&&yr===Zt?er({},yr):yr};function qt(It,ft,jt,Zt,yr){return{x:It,y:ft,zoom:1/0,id:jt,parentId:-1,numPoints:Zt,properties:yr}}function rt(It,ft){var jt=It.geometry.coordinates,Zt=jt[0],yr=jt[1];return{x:kt(Zt),y:Ct(yr),zoom:1/0,index:ft,parentId:-1}}function ot(It){return{type:\"Feature\",id:It.id,properties:Rt(It),geometry:{type:\"Point\",coordinates:[Yt(It.x),xr(It.y)]}}}function Rt(It){var ft=It.numPoints,jt=ft>=1e4?Math.round(ft/1e3)+\"k\":ft>=1e3?Math.round(ft/100)/10+\"k\":ft;return er(er({},It.properties),{cluster:!0,cluster_id:It.id,point_count:ft,point_count_abbreviated:jt})}function kt(It){return It/360+.5}function Ct(It){var ft=Math.sin(It*Math.PI/180),jt=.5-.25*Math.log((1+ft)/(1-ft))/Math.PI;return jt<0?0:jt>1?1:jt}function Yt(It){return(It-.5)*360}function xr(It){var ft=(180-It*360)*Math.PI/180;return 360*Math.atan(Math.exp(ft))/Math.PI-90}function er(It,ft){for(var jt in ft)It[jt]=ft[jt];return It}function Ke(It){return It.x}function xt(It){return It.y}function bt(It,ft,jt,Zt){for(var yr=Zt,Fr=jt-ft>>1,Zr=jt-ft,Vr,gi=It[ft],Si=It[ft+1],Mi=It[jt],Pi=It[jt+1],Gi=ft+3;Gi<jt;Gi+=3){var Ki=Lt(It[Gi],It[Gi+1],gi,Si,Mi,Pi);if(Ki>yr)Vr=Gi,yr=Ki;else if(Ki===yr){var ka=Math.abs(Gi-Fr);ka<Zr&&(Vr=Gi,Zr=ka)}}yr>Zt&&(Vr-ft>3&&bt(It,ft,Vr,Zt),It[Vr+2]=yr,jt-Vr>3&&bt(It,Vr,jt,Zt))}function Lt(It,ft,jt,Zt,yr,Fr){var Zr=yr-jt,Vr=Fr-Zt;if(Zr!==0||Vr!==0){var gi=((It-jt)*Zr+(ft-Zt)*Vr)/(Zr*Zr+Vr*Vr);gi>1?(jt=yr,Zt=Fr):gi>0&&(jt+=Zr*gi,Zt+=Vr*gi)}return Zr=It-jt,Vr=ft-Zt,Zr*Zr+Vr*Vr}function St(It,ft,jt,Zt){var yr={id:typeof It==\"undefined\"?null:It,type:ft,geometry:jt,tags:Zt,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return Et(yr),yr}function Et(It){var ft=It.geometry,jt=It.type;if(jt===\"Point\"||jt===\"MultiPoint\"||jt===\"LineString\")dt(It,ft);else if(jt===\"Polygon\"||jt===\"MultiLineString\")for(var Zt=0;Zt<ft.length;Zt++)dt(It,ft[Zt]);else if(jt===\"MultiPolygon\")for(Zt=0;Zt<ft.length;Zt++)for(var yr=0;yr<ft[Zt].length;yr++)dt(It,ft[Zt][yr])}function dt(It,ft){for(var jt=0;jt<ft.length;jt+=3)It.minX=Math.min(It.minX,ft[jt]),It.minY=Math.min(It.minY,ft[jt+1]),It.maxX=Math.max(It.maxX,ft[jt]),It.maxY=Math.max(It.maxY,ft[jt+1])}function Ht(It,ft){var jt=[];if(It.type===\"FeatureCollection\")for(var Zt=0;Zt<It.features.length;Zt++)$t(jt,It.features[Zt],ft,Zt);else It.type===\"Feature\"?$t(jt,It,ft):$t(jt,{geometry:It},ft);return jt}function $t(It,ft,jt,Zt){if(ft.geometry){var yr=ft.geometry.coordinates,Fr=ft.geometry.type,Zr=Math.pow(jt.tolerance/((1<<jt.maxZoom)*jt.extent),2),Vr=[],gi=ft.id;if(jt.promoteId?gi=ft.properties[jt.promoteId]:jt.generateId&&(gi=Zt||0),Fr===\"Point\")fr(yr,Vr);else if(Fr===\"MultiPoint\")for(var Si=0;Si<yr.length;Si++)fr(yr[Si],Vr);else if(Fr===\"LineString\")_r(yr,Vr,Zr,!1);else if(Fr===\"MultiLineString\")if(jt.lineMetrics){for(Si=0;Si<yr.length;Si++)Vr=[],_r(yr[Si],Vr,Zr,!1),It.push(St(gi,\"LineString\",Vr,ft.properties));return}else Br(yr,Vr,Zr,!1);else if(Fr===\"Polygon\")Br(yr,Vr,Zr,!0);else if(Fr===\"MultiPolygon\")for(Si=0;Si<yr.length;Si++){var Mi=[];Br(yr[Si],Mi,Zr,!0),Vr.push(Mi)}else if(Fr===\"GeometryCollection\"){for(Si=0;Si<ft.geometry.geometries.length;Si++)$t(It,{id:gi,geometry:ft.geometry.geometries[Si],properties:ft.properties},jt,Zt);return}else throw new Error(\"Input data is not a valid GeoJSON object.\");It.push(St(gi,Fr,Vr,ft.properties))}}function fr(It,ft){ft.push(Or(It[0])),ft.push(Nr(It[1])),ft.push(0)}function _r(It,ft,jt,Zt){for(var yr,Fr,Zr=0,Vr=0;Vr<It.length;Vr++){var gi=Or(It[Vr][0]),Si=Nr(It[Vr][1]);ft.push(gi),ft.push(Si),ft.push(0),Vr>0&&(Zt?Zr+=(yr*Si-gi*Fr)/2:Zr+=Math.sqrt(Math.pow(gi-yr,2)+Math.pow(Si-Fr,2))),yr=gi,Fr=Si}var Mi=ft.length-3;ft[2]=1,bt(ft,0,Mi,jt),ft[Mi+2]=1,ft.size=Math.abs(Zr),ft.start=0,ft.end=ft.size}function Br(It,ft,jt,Zt){for(var yr=0;yr<It.length;yr++){var Fr=[];_r(It[yr],Fr,jt,Zt),ft.push(Fr)}}function Or(It){return It/360+.5}function Nr(It){var ft=Math.sin(It*Math.PI/180),jt=.5-.25*Math.log((1+ft)/(1-ft))/Math.PI;return jt<0?0:jt>1?1:jt}function ut(It,ft,jt,Zt,yr,Fr,Zr,Vr){if(jt/=ft,Zt/=ft,Fr>=jt&&Zr<Zt)return It;if(Zr<jt||Fr>=Zt)return null;for(var gi=[],Si=0;Si<It.length;Si++){var Mi=It[Si],Pi=Mi.geometry,Gi=Mi.type,Ki=yr===0?Mi.minX:Mi.minY,ka=yr===0?Mi.maxX:Mi.maxY;if(Ki>=jt&&ka<Zt){gi.push(Mi);continue}else if(ka<jt||Ki>=Zt)continue;var jn=[];if(Gi===\"Point\"||Gi===\"MultiPoint\")Ne(Pi,jn,jt,Zt,yr);else if(Gi===\"LineString\")Ye(Pi,jn,jt,Zt,yr,!1,Vr.lineMetrics);else if(Gi===\"MultiLineString\")Xe(Pi,jn,jt,Zt,yr,!1);else if(Gi===\"Polygon\")Xe(Pi,jn,jt,Zt,yr,!0);else if(Gi===\"MultiPolygon\")for(var la=0;la<Pi.length;la++){var Fa=[];Xe(Pi[la],Fa,jt,Zt,yr,!0),Fa.length&&jn.push(Fa)}if(jn.length){if(Vr.lineMetrics&&Gi===\"LineString\"){for(la=0;la<jn.length;la++)gi.push(St(Mi.id,Gi,jn[la],Mi.tags));continue}(Gi===\"LineString\"||Gi===\"MultiLineString\")&&(jn.length===1?(Gi=\"LineString\",jn=jn[0]):Gi=\"MultiLineString\"),(Gi===\"Point\"||Gi===\"MultiPoint\")&&(Gi=jn.length===3?\"Point\":\"MultiPoint\"),gi.push(St(Mi.id,Gi,jn,Mi.tags))}}return gi.length?gi:null}function Ne(It,ft,jt,Zt,yr){for(var Fr=0;Fr<It.length;Fr+=3){var Zr=It[Fr+yr];Zr>=jt&&Zr<=Zt&&(ft.push(It[Fr]),ft.push(It[Fr+1]),ft.push(It[Fr+2]))}}function Ye(It,ft,jt,Zt,yr,Fr,Zr){for(var Vr=Ve(It),gi=yr===0?Le:xe,Si=It.start,Mi,Pi,Gi=0;Gi<It.length-3;Gi+=3){var Ki=It[Gi],ka=It[Gi+1],jn=It[Gi+2],la=It[Gi+3],Fa=It[Gi+4],Ra=yr===0?Ki:ka,jo=yr===0?la:Fa,oa=!1;Zr&&(Mi=Math.sqrt(Math.pow(Ki-la,2)+Math.pow(ka-Fa,2))),Ra<jt?jo>jt&&(Pi=gi(Vr,Ki,ka,la,Fa,jt),Zr&&(Vr.start=Si+Mi*Pi)):Ra>Zt?jo<Zt&&(Pi=gi(Vr,Ki,ka,la,Fa,Zt),Zr&&(Vr.start=Si+Mi*Pi)):ht(Vr,Ki,ka,jn),jo<jt&&Ra>=jt&&(Pi=gi(Vr,Ki,ka,la,Fa,jt),oa=!0),jo>Zt&&Ra<=Zt&&(Pi=gi(Vr,Ki,ka,la,Fa,Zt),oa=!0),!Fr&&oa&&(Zr&&(Vr.end=Si+Mi*Pi),ft.push(Vr),Vr=Ve(It)),Zr&&(Si+=Mi)}var Sn=It.length-3;Ki=It[Sn],ka=It[Sn+1],jn=It[Sn+2],Ra=yr===0?Ki:ka,Ra>=jt&&Ra<=Zt&&ht(Vr,Ki,ka,jn),Sn=Vr.length-3,Fr&&Sn>=3&&(Vr[Sn]!==Vr[0]||Vr[Sn+1]!==Vr[1])&&ht(Vr,Vr[0],Vr[1],Vr[2]),Vr.length&&ft.push(Vr)}function Ve(It){var ft=[];return ft.size=It.size,ft.start=It.start,ft.end=It.end,ft}function Xe(It,ft,jt,Zt,yr,Fr){for(var Zr=0;Zr<It.length;Zr++)Ye(It[Zr],ft,jt,Zt,yr,Fr,!1)}function ht(It,ft,jt,Zt){It.push(ft),It.push(jt),It.push(Zt)}function Le(It,ft,jt,Zt,yr,Fr){var Zr=(Fr-ft)/(Zt-ft);return It.push(Fr),It.push(jt+(yr-jt)*Zr),It.push(1),Zr}function xe(It,ft,jt,Zt,yr,Fr){var Zr=(Fr-jt)/(yr-jt);return It.push(ft+(Zt-ft)*Zr),It.push(Fr),It.push(1),Zr}function Se(It,ft){var jt=ft.buffer/ft.extent,Zt=It,yr=ut(It,1,-1-jt,jt,0,-1,2,ft),Fr=ut(It,1,1-jt,2+jt,0,-1,2,ft);return(yr||Fr)&&(Zt=ut(It,1,-jt,1+jt,0,-1,2,ft)||[],yr&&(Zt=lt(yr,1).concat(Zt)),Fr&&(Zt=Zt.concat(lt(Fr,-1)))),Zt}function lt(It,ft){for(var jt=[],Zt=0;Zt<It.length;Zt++){var yr=It[Zt],Fr=yr.type,Zr;if(Fr===\"Point\"||Fr===\"MultiPoint\"||Fr===\"LineString\")Zr=Gt(yr.geometry,ft);else if(Fr===\"MultiLineString\"||Fr===\"Polygon\"){Zr=[];for(var Vr=0;Vr<yr.geometry.length;Vr++)Zr.push(Gt(yr.geometry[Vr],ft))}else if(Fr===\"MultiPolygon\")for(Zr=[],Vr=0;Vr<yr.geometry.length;Vr++){for(var gi=[],Si=0;Si<yr.geometry[Vr].length;Si++)gi.push(Gt(yr.geometry[Vr][Si],ft));Zr.push(gi)}jt.push(St(yr.id,Fr,Zr,yr.tags))}return jt}function Gt(It,ft){var jt=[];jt.size=It.size,It.start!==void 0&&(jt.start=It.start,jt.end=It.end);for(var Zt=0;Zt<It.length;Zt+=3)jt.push(It[Zt]+ft,It[Zt+1],It[Zt+2]);return jt}function Vt(It,ft){if(It.transformed)return It;var jt=1<<It.z,Zt=It.x,yr=It.y,Fr,Zr,Vr;for(Fr=0;Fr<It.features.length;Fr++){var gi=It.features[Fr],Si=gi.geometry,Mi=gi.type;if(gi.geometry=[],Mi===1)for(Zr=0;Zr<Si.length;Zr+=2)gi.geometry.push(ar(Si[Zr],Si[Zr+1],ft,jt,Zt,yr));else for(Zr=0;Zr<Si.length;Zr++){var Pi=[];for(Vr=0;Vr<Si[Zr].length;Vr+=2)Pi.push(ar(Si[Zr][Vr],Si[Zr][Vr+1],ft,jt,Zt,yr));gi.geometry.push(Pi)}}return It.transformed=!0,It}function ar(It,ft,jt,Zt,yr,Fr){return[Math.round(jt*(It*Zt-yr)),Math.round(jt*(ft*Zt-Fr))]}function Qr(It,ft,jt,Zt,yr){for(var Fr=ft===yr.maxZoom?0:yr.tolerance/((1<<ft)*yr.extent),Zr={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:jt,y:Zt,z:ft,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},Vr=0;Vr<It.length;Vr++){Zr.numFeatures++,ai(Zr,It[Vr],Fr,yr);var gi=It[Vr].minX,Si=It[Vr].minY,Mi=It[Vr].maxX,Pi=It[Vr].maxY;gi<Zr.minX&&(Zr.minX=gi),Si<Zr.minY&&(Zr.minY=Si),Mi>Zr.maxX&&(Zr.maxX=Mi),Pi>Zr.maxY&&(Zr.maxY=Pi)}return Zr}function ai(It,ft,jt,Zt){var yr=ft.geometry,Fr=ft.type,Zr=[];if(Fr===\"Point\"||Fr===\"MultiPoint\")for(var Vr=0;Vr<yr.length;Vr+=3)Zr.push(yr[Vr]),Zr.push(yr[Vr+1]),It.numPoints++,It.numSimplified++;else if(Fr===\"LineString\")jr(Zr,yr,It,jt,!1,!1);else if(Fr===\"MultiLineString\"||Fr===\"Polygon\")for(Vr=0;Vr<yr.length;Vr++)jr(Zr,yr[Vr],It,jt,Fr===\"Polygon\",Vr===0);else if(Fr===\"MultiPolygon\")for(var gi=0;gi<yr.length;gi++){var Si=yr[gi];for(Vr=0;Vr<Si.length;Vr++)jr(Zr,Si[Vr],It,jt,!0,Vr===0)}if(Zr.length){var Mi=ft.tags||null;if(Fr===\"LineString\"&&Zt.lineMetrics){Mi={};for(var Pi in ft.tags)Mi[Pi]=ft.tags[Pi];Mi.mapbox_clip_start=yr.start/yr.size,Mi.mapbox_clip_end=yr.end/yr.size}var Gi={geometry:Zr,type:Fr===\"Polygon\"||Fr===\"MultiPolygon\"?3:Fr===\"LineString\"||Fr===\"MultiLineString\"?2:1,tags:Mi};ft.id!==null&&(Gi.id=ft.id),It.features.push(Gi)}}function jr(It,ft,jt,Zt,yr,Fr){var Zr=Zt*Zt;if(Zt>0&&ft.size<(yr?Zr:Zt)){jt.numPoints+=ft.length/3;return}for(var Vr=[],gi=0;gi<ft.length;gi+=3)(Zt===0||ft[gi+2]>Zr)&&(jt.numSimplified++,Vr.push(ft[gi]),Vr.push(ft[gi+1])),jt.numPoints++;yr&&ri(Vr,Fr),It.push(Vr)}function ri(It,ft){for(var jt=0,Zt=0,yr=It.length,Fr=yr-2;Zt<yr;Fr=Zt,Zt+=2)jt+=(It[Zt]-It[Fr])*(It[Zt+1]+It[Fr+1]);if(jt>0===ft)for(Zt=0,yr=It.length;Zt<yr/2;Zt+=2){var Zr=It[Zt],Vr=It[Zt+1];It[Zt]=It[yr-2-Zt],It[Zt+1]=It[yr-1-Zt],It[yr-2-Zt]=Zr,It[yr-1-Zt]=Vr}}function bi(It,ft){return new nn(It,ft)}function nn(It,ft){ft=this.options=Ni(Object.create(this.options),ft);var jt=ft.debug;if(jt&&console.time(\"preprocess data\"),ft.maxZoom<0||ft.maxZoom>24)throw new Error(\"maxZoom should be in the 0-24 range\");if(ft.promoteId&&ft.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var Zt=Ht(It,ft);this.tiles={},this.tileCoords=[],jt&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",ft.indexMaxZoom,ft.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),Zt=Se(Zt,ft),Zt.length&&this.splitTile(Zt,0,0,0),jt&&(Zt.length&&console.log(\"features: %d, points: %d\",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(\"generate tiles\"),console.log(\"tiles generated:\",this.total,JSON.stringify(this.stats)))}nn.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},nn.prototype.splitTile=function(It,ft,jt,Zt,yr,Fr,Zr){for(var Vr=[It,ft,jt,Zt],gi=this.options,Si=gi.debug;Vr.length;){Zt=Vr.pop(),jt=Vr.pop(),ft=Vr.pop(),It=Vr.pop();var Mi=1<<ft,Pi=Wi(ft,jt,Zt),Gi=this.tiles[Pi];if(!Gi&&(Si>1&&console.time(\"creation\"),Gi=this.tiles[Pi]=Qr(It,ft,jt,Zt,gi),this.tileCoords.push({z:ft,x:jt,y:Zt}),Si)){Si>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",ft,jt,Zt,Gi.numFeatures,Gi.numPoints,Gi.numSimplified),console.timeEnd(\"creation\"));var Ki=\"z\"+ft;this.stats[Ki]=(this.stats[Ki]||0)+1,this.total++}if(Gi.source=It,yr){if(ft===gi.maxZoom||ft===yr)continue;var ka=1<<yr-ft;if(jt!==Math.floor(Fr/ka)||Zt!==Math.floor(Zr/ka))continue}else if(ft===gi.indexMaxZoom||Gi.numPoints<=gi.indexMaxPoints)continue;if(Gi.source=null,It.length!==0){Si>1&&console.time(\"clipping\");var jn=.5*gi.buffer/gi.extent,la=.5-jn,Fa=.5+jn,Ra=1+jn,jo,oa,Sn,Ha,oo,xn;jo=oa=Sn=Ha=null,oo=ut(It,Mi,jt-jn,jt+Fa,0,Gi.minX,Gi.maxX,gi),xn=ut(It,Mi,jt+la,jt+Ra,0,Gi.minX,Gi.maxX,gi),It=null,oo&&(jo=ut(oo,Mi,Zt-jn,Zt+Fa,1,Gi.minY,Gi.maxY,gi),oa=ut(oo,Mi,Zt+la,Zt+Ra,1,Gi.minY,Gi.maxY,gi),oo=null),xn&&(Sn=ut(xn,Mi,Zt-jn,Zt+Fa,1,Gi.minY,Gi.maxY,gi),Ha=ut(xn,Mi,Zt+la,Zt+Ra,1,Gi.minY,Gi.maxY,gi),xn=null),Si>1&&console.timeEnd(\"clipping\"),Vr.push(jo||[],ft+1,jt*2,Zt*2),Vr.push(oa||[],ft+1,jt*2,Zt*2+1),Vr.push(Sn||[],ft+1,jt*2+1,Zt*2),Vr.push(Ha||[],ft+1,jt*2+1,Zt*2+1)}}},nn.prototype.getTile=function(It,ft,jt){var Zt=this.options,yr=Zt.extent,Fr=Zt.debug;if(It<0||It>24)return null;var Zr=1<<It;ft=(ft%Zr+Zr)%Zr;var Vr=Wi(It,ft,jt);if(this.tiles[Vr])return Vt(this.tiles[Vr],yr);Fr>1&&console.log(\"drilling down to z%d-%d-%d\",It,ft,jt);for(var gi=It,Si=ft,Mi=jt,Pi;!Pi&&gi>0;)gi--,Si=Math.floor(Si/2),Mi=Math.floor(Mi/2),Pi=this.tiles[Wi(gi,Si,Mi)];return!Pi||!Pi.source?null:(Fr>1&&console.log(\"found parent tile z%d-%d-%d\",gi,Si,Mi),Fr>1&&console.time(\"drilling down\"),this.splitTile(Pi.source,gi,Si,Mi,It,ft,jt),Fr>1&&console.timeEnd(\"drilling down\"),this.tiles[Vr]?Vt(this.tiles[Vr],yr):null)};function Wi(It,ft,jt){return((1<<It)*jt+ft)*32+It}function Ni(It,ft){for(var jt in ft)It[jt]=ft[jt];return It}function _n(It,ft){var jt=It.tileID.canonical;if(!this._geoJSONIndex)return ft(null,null);var Zt=this._geoJSONIndex.getTile(jt.z,jt.x,jt.y);if(!Zt)return ft(null,null);var yr=new C(Zt.features),Fr=F(yr);(Fr.byteOffset!==0||Fr.byteLength!==Fr.buffer.byteLength)&&(Fr=new Uint8Array(Fr)),ft(null,{vectorTile:yr,rawData:Fr.buffer})}var $i=function(It){function ft(jt,Zt,yr,Fr){It.call(this,jt,Zt,yr,_n),Fr&&(this.loadGeoJSON=Fr)}return It&&(ft.__proto__=It),ft.prototype=Object.create(It&&It.prototype),ft.prototype.constructor=ft,ft.prototype.loadData=function(Zt,yr){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=yr,this._pendingLoadDataParams=Zt,this._state&&this._state!==\"Idle\"?this._state=\"NeedsLoadData\":(this._state=\"Coalescing\",this._loadData())},ft.prototype._loadData=function(){var Zt=this;if(!(!this._pendingCallback||!this._pendingLoadDataParams)){var yr=this._pendingCallback,Fr=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var Zr=Fr&&Fr.request&&Fr.request.collectResourceTiming?new i.RequestPerformance(Fr.request):!1;this.loadGeoJSON(Fr,function(Vr,gi){if(Vr||!gi)return yr(Vr);if(typeof gi!=\"object\")return yr(new Error(\"Input data given to '\"+Fr.source+\"' is not a valid GeoJSON object.\"));p(gi,!0);try{if(Fr.filter){var Si=i.createExpression(Fr.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(Si.result===\"error\")throw new Error(Si.value.map(function(Ki){return Ki.key+\": \"+Ki.message}).join(\", \"));var Mi=gi.features.filter(function(Ki){return Si.value.evaluate({zoom:0},Ki)});gi={type:\"FeatureCollection\",features:Mi}}Zt._geoJSONIndex=Fr.cluster?new ct(zn(Fr)).load(gi.features):bi(gi,Fr.geojsonVtOptions)}catch(Ki){return yr(Ki)}Zt.loaded={};var Pi={};if(Zr){var Gi=Zr.finish();Gi&&(Pi.resourceTiming={},Pi.resourceTiming[Fr.source]=JSON.parse(JSON.stringify(Gi)))}yr(null,Pi)})}},ft.prototype.coalesce=function(){this._state===\"Coalescing\"?this._state=\"Idle\":this._state===\"NeedsLoadData\"&&(this._state=\"Coalescing\",this._loadData())},ft.prototype.reloadTile=function(Zt,yr){var Fr=this.loaded,Zr=Zt.uid;return Fr&&Fr[Zr]?It.prototype.reloadTile.call(this,Zt,yr):this.loadTile(Zt,yr)},ft.prototype.loadGeoJSON=function(Zt,yr){if(Zt.request)i.getJSON(Zt.request,yr);else if(typeof Zt.data==\"string\")try{return yr(null,JSON.parse(Zt.data))}catch(Fr){return yr(new Error(\"Input data given to '\"+Zt.source+\"' is not a valid GeoJSON object.\"))}else return yr(new Error(\"Input data given to '\"+Zt.source+\"' is not a valid GeoJSON object.\"))},ft.prototype.removeSource=function(Zt,yr){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),yr()},ft.prototype.getClusterExpansionZoom=function(Zt,yr){try{yr(null,this._geoJSONIndex.getClusterExpansionZoom(Zt.clusterId))}catch(Fr){yr(Fr)}},ft.prototype.getClusterChildren=function(Zt,yr){try{yr(null,this._geoJSONIndex.getChildren(Zt.clusterId))}catch(Fr){yr(Fr)}},ft.prototype.getClusterLeaves=function(Zt,yr){try{yr(null,this._geoJSONIndex.getLeaves(Zt.clusterId,Zt.limit,Zt.offset))}catch(Fr){yr(Fr)}},ft}(v);function zn(It){var ft=It.superclusterOptions,jt=It.clusterProperties;if(!jt||!ft)return ft;for(var Zt={},yr={},Fr={accumulated:null,zoom:0},Zr={properties:null},Vr=Object.keys(jt),gi=0,Si=Vr;gi<Si.length;gi+=1){var Mi=Si[gi],Pi=jt[Mi],Gi=Pi[0],Ki=Pi[1],ka=i.createExpression(Ki),jn=i.createExpression(typeof Gi==\"string\"?[Gi,[\"accumulated\"],[\"get\",Mi]]:Gi);Zt[Mi]=ka.value,yr[Mi]=jn.value}return ft.map=function(la){Zr.properties=la;for(var Fa={},Ra=0,jo=Vr;Ra<jo.length;Ra+=1){var oa=jo[Ra];Fa[oa]=Zt[oa].evaluate(Fr,Zr)}return Fa},ft.reduce=function(la,Fa){Zr.properties=Fa;for(var Ra=0,jo=Vr;Ra<jo.length;Ra+=1){var oa=jo[Ra];Fr.accumulated=la[oa],la[oa]=yr[oa].evaluate(Fr,Zr)}},ft}var Wn=function(ft){var jt=this;this.self=ft,this.actor=new i.Actor(ft,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:v,geojson:$i},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(Zt,yr){if(jt.workerSourceTypes[Zt])throw new Error('Worker source with name \"'+Zt+'\" already registered.');jt.workerSourceTypes[Zt]=yr},this.self.registerRTLTextPlugin=function(Zt){if(i.plugin.isParsed())throw new Error(\"RTL text plugin already registered.\");i.plugin.applyArabicShaping=Zt.applyArabicShaping,i.plugin.processBidirectionalText=Zt.processBidirectionalText,i.plugin.processStyledBidirectionalText=Zt.processStyledBidirectionalText}};return Wn.prototype.setReferrer=function(ft,jt){this.referrer=jt},Wn.prototype.setImages=function(ft,jt,Zt){this.availableImages[ft]=jt;for(var yr in this.workerSources[ft]){var Fr=this.workerSources[ft][yr];for(var Zr in Fr)Fr[Zr].availableImages=jt}Zt()},Wn.prototype.setLayers=function(ft,jt,Zt){this.getLayerIndex(ft).replace(jt),Zt()},Wn.prototype.updateLayers=function(ft,jt,Zt){this.getLayerIndex(ft).update(jt.layers,jt.removedIds),Zt()},Wn.prototype.loadTile=function(ft,jt,Zt){this.getWorkerSource(ft,jt.type,jt.source).loadTile(jt,Zt)},Wn.prototype.loadDEMTile=function(ft,jt,Zt){this.getDEMWorkerSource(ft,jt.source).loadTile(jt,Zt)},Wn.prototype.reloadTile=function(ft,jt,Zt){this.getWorkerSource(ft,jt.type,jt.source).reloadTile(jt,Zt)},Wn.prototype.abortTile=function(ft,jt,Zt){this.getWorkerSource(ft,jt.type,jt.source).abortTile(jt,Zt)},Wn.prototype.removeTile=function(ft,jt,Zt){this.getWorkerSource(ft,jt.type,jt.source).removeTile(jt,Zt)},Wn.prototype.removeDEMTile=function(ft,jt){this.getDEMWorkerSource(ft,jt.source).removeTile(jt)},Wn.prototype.removeSource=function(ft,jt,Zt){if(!(!this.workerSources[ft]||!this.workerSources[ft][jt.type]||!this.workerSources[ft][jt.type][jt.source])){var yr=this.workerSources[ft][jt.type][jt.source];delete this.workerSources[ft][jt.type][jt.source],yr.removeSource!==void 0?yr.removeSource(jt,Zt):Zt()}},Wn.prototype.loadWorkerSource=function(ft,jt,Zt){try{this.self.importScripts(jt.url),Zt()}catch(yr){Zt(yr.toString())}},Wn.prototype.syncRTLPluginState=function(ft,jt,Zt){try{i.plugin.setState(jt);var yr=i.plugin.getPluginURL();if(i.plugin.isLoaded()&&!i.plugin.isParsed()&&yr!=null){this.self.importScripts(yr);var Fr=i.plugin.isParsed(),Zr=Fr?void 0:new Error(\"RTL Text Plugin failed to import scripts from \"+yr);Zt(Zr,Fr)}}catch(Vr){Zt(Vr.toString())}},Wn.prototype.getAvailableImages=function(ft){var jt=this.availableImages[ft];return jt||(jt=[]),jt},Wn.prototype.getLayerIndex=function(ft){var jt=this.layerIndexes[ft];return jt||(jt=this.layerIndexes[ft]=new l),jt},Wn.prototype.getWorkerSource=function(ft,jt,Zt){var yr=this;if(this.workerSources[ft]||(this.workerSources[ft]={}),this.workerSources[ft][jt]||(this.workerSources[ft][jt]={}),!this.workerSources[ft][jt][Zt]){var Fr={send:function(Zr,Vr,gi){yr.actor.send(Zr,Vr,gi,ft)}};this.workerSources[ft][jt][Zt]=new this.workerSourceTypes[jt](Fr,this.getLayerIndex(ft),this.getAvailableImages(ft))}return this.workerSources[ft][jt][Zt]},Wn.prototype.getDEMWorkerSource=function(ft,jt){return this.demWorkerSources[ft]||(this.demWorkerSources[ft]={}),this.demWorkerSources[ft][jt]||(this.demWorkerSources[ft][jt]=new b),this.demWorkerSources[ft][jt]},Wn.prototype.enforceCacheSizeLimit=function(ft,jt){i.enforceCacheSizeLimit(jt)},typeof WorkerGlobalScope!=\"undefined\"&&typeof self!=\"undefined\"&&self instanceof WorkerGlobalScope&&(self.worker=new Wn(self)),Wn}),n([\"./shared\"],function(i){\"use strict\";var a=i.createCommonjsModule(function(Y){Y.exports?Y.exports=z:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=z,window.mapboxgl.notSupportedReason=K);function z(rr){return!K(rr)}function K(rr){if(!O())return\"not a browser\";if(!$())return\"insufficent Array support\";if(!pe())return\"insufficient Function support\";if(!de())return\"insufficient Object support\";if(!Ie())return\"insufficient JSON support\";if(!$e())return\"insufficient worker support\";if(!pt())return\"insufficient Uint8ClampedArray support\";if(!Kt())return\"insufficient ArrayBuffer support\";if(!ir())return\"insufficient Canvas/getImageData support\";if(!vt(rr&&rr.failIfMajorPerformanceCaveat))return\"insufficient WebGL support\"}function O(){return typeof window!=\"undefined\"&&typeof document!=\"undefined\"}function $(){return Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray}function pe(){return Function.prototype&&Function.prototype.bind}function de(){return Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions}function Ie(){return\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON}function $e(){if(!(\"Worker\"in window&&\"Blob\"in window&&\"URL\"in window))return!1;var rr=new Blob([\"\"],{type:\"text/javascript\"}),dr=URL.createObjectURL(rr),pr,kr;try{kr=new Worker(dr),pr=!0}catch(Ar){pr=!1}return kr&&kr.terminate(),URL.revokeObjectURL(dr),pr}function pt(){return\"Uint8ClampedArray\"in window}function Kt(){return ArrayBuffer.isView}function ir(){var rr=document.createElement(\"canvas\");rr.width=rr.height=1;var dr=rr.getContext(\"2d\");if(!dr)return!1;var pr=dr.getImageData(0,0,1,1);return pr&&pr.width===rr.width}var Jt={};function vt(rr){return Jt[rr]===void 0&&(Jt[rr]=Wt(rr)),Jt[rr]}z.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0};function Pt(rr){var dr=document.createElement(\"canvas\"),pr=Object.create(z.webGLContextAttributes);return pr.failIfMajorPerformanceCaveat=rr,dr.probablySupportsContext?dr.probablySupportsContext(\"webgl\",pr)||dr.probablySupportsContext(\"experimental-webgl\",pr):dr.supportsContext?dr.supportsContext(\"webgl\",pr)||dr.supportsContext(\"experimental-webgl\",pr):dr.getContext(\"webgl\",pr)||dr.getContext(\"experimental-webgl\",pr)}function Wt(rr){var dr=Pt(rr);if(!dr)return!1;var pr=dr.createShader(dr.VERTEX_SHADER);return!pr||dr.isContextLost()?!1:(dr.shaderSource(pr,\"void main() {}\"),dr.compileShader(pr),dr.getShaderParameter(pr,dr.COMPILE_STATUS)===!0)}}),o={};o.create=function(Y,z,K){var O=i.window.document.createElement(Y);return z!==void 0&&(O.className=z),K&&K.appendChild(O),O},o.createNS=function(Y,z){var K=i.window.document.createElementNS(Y,z);return K};var s=i.window.document&&i.window.document.documentElement.style;function l(Y){if(!s)return Y[0];for(var z=0;z<Y.length;z++)if(Y[z]in s)return Y[z];return Y[0]}var u=l([\"userSelect\",\"MozUserSelect\",\"WebkitUserSelect\",\"msUserSelect\"]),c;o.disableDrag=function(){s&&u&&(c=s[u],s[u]=\"none\")},o.enableDrag=function(){s&&u&&(s[u]=c)};var f=l([\"transform\",\"WebkitTransform\"]);o.setTransform=function(Y,z){Y.style[f]=z};var h=!1;try{var d=Object.defineProperty({},\"passive\",{get:function(){h=!0}});i.window.addEventListener(\"test\",d,d),i.window.removeEventListener(\"test\",d,d)}catch(Y){h=!1}o.addEventListener=function(Y,z,K,O){O===void 0&&(O={}),\"passive\"in O&&h?Y.addEventListener(z,K,O):Y.addEventListener(z,K,O.capture)},o.removeEventListener=function(Y,z,K,O){O===void 0&&(O={}),\"passive\"in O&&h?Y.removeEventListener(z,K,O):Y.removeEventListener(z,K,O.capture)};var v=function(Y){Y.preventDefault(),Y.stopPropagation(),i.window.removeEventListener(\"click\",v,!0)};o.suppressClick=function(){i.window.addEventListener(\"click\",v,!0),i.window.setTimeout(function(){i.window.removeEventListener(\"click\",v,!0)},0)},o.mousePos=function(Y,z){var K=Y.getBoundingClientRect();return new i.Point(z.clientX-K.left-Y.clientLeft,z.clientY-K.top-Y.clientTop)},o.touchPos=function(Y,z){for(var K=Y.getBoundingClientRect(),O=[],$=0;$<z.length;$++)O.push(new i.Point(z[$].clientX-K.left-Y.clientLeft,z[$].clientY-K.top-Y.clientTop));return O},o.mouseButton=function(Y){return typeof i.window.InstallTrigger!=\"undefined\"&&Y.button===2&&Y.ctrlKey&&i.window.navigator.platform.toUpperCase().indexOf(\"MAC\")>=0?0:Y.button},o.remove=function(Y){Y.parentNode&&Y.parentNode.removeChild(Y)};function x(Y,z,K){var O,$,pe,de=i.browser.devicePixelRatio>1?\"@2x\":\"\",Ie=i.getJSON(z.transformRequest(z.normalizeSpriteURL(Y,de,\".json\"),i.ResourceType.SpriteJSON),function(Kt,ir){Ie=null,pe||(pe=Kt,O=ir,pt())}),$e=i.getImage(z.transformRequest(z.normalizeSpriteURL(Y,de,\".png\"),i.ResourceType.SpriteImage),function(Kt,ir){$e=null,pe||(pe=Kt,$=ir,pt())});function pt(){if(pe)K(pe);else if(O&&$){var Kt=i.browser.getImageData($),ir={};for(var Jt in O){var vt=O[Jt],Pt=vt.width,Wt=vt.height,rr=vt.x,dr=vt.y,pr=vt.sdf,kr=vt.pixelRatio,Ar=vt.stretchX,gr=vt.stretchY,Cr=vt.content,cr=new i.RGBAImage({width:Pt,height:Wt});i.RGBAImage.copy(Kt,cr,{x:rr,y:dr},{x:0,y:0},{width:Pt,height:Wt}),ir[Jt]={data:cr,pixelRatio:kr,sdf:pr,stretchX:Ar,stretchY:gr,content:Cr}}K(null,ir)}}return{cancel:function(){Ie&&(Ie.cancel(),Ie=null),$e&&($e.cancel(),$e=null)}}}function b(Y){var z=Y.userImage;if(z&&z.render){var K=z.render();if(K)return Y.data.replace(new Uint8Array(z.data.buffer)),!0}return!1}var p=1,E=function(Y){function z(){Y.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new i.RGBAImage({width:1,height:1}),this.dirty=!0}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.isLoaded=function(){return this.loaded},z.prototype.setLoaded=function(O){if(this.loaded!==O&&(this.loaded=O,O)){for(var $=0,pe=this.requestors;$<pe.length;$+=1){var de=pe[$],Ie=de.ids,$e=de.callback;this._notify(Ie,$e)}this.requestors=[]}},z.prototype.getImage=function(O){return this.images[O]},z.prototype.addImage=function(O,$){this._validate(O,$)&&(this.images[O]=$)},z.prototype._validate=function(O,$){var pe=!0;return this._validateStretch($.stretchX,$.data&&$.data.width)||(this.fire(new i.ErrorEvent(new Error('Image \"'+O+'\" has invalid \"stretchX\" value'))),pe=!1),this._validateStretch($.stretchY,$.data&&$.data.height)||(this.fire(new i.ErrorEvent(new Error('Image \"'+O+'\" has invalid \"stretchY\" value'))),pe=!1),this._validateContent($.content,$)||(this.fire(new i.ErrorEvent(new Error('Image \"'+O+'\" has invalid \"content\" value'))),pe=!1),pe},z.prototype._validateStretch=function(O,$){if(!O)return!0;for(var pe=0,de=0,Ie=O;de<Ie.length;de+=1){var $e=Ie[de];if($e[0]<pe||$e[1]<$e[0]||$<$e[1])return!1;pe=$e[1]}return!0},z.prototype._validateContent=function(O,$){return O?!(O.length!==4||O[0]<0||$.data.width<O[0]||O[1]<0||$.data.height<O[1]||O[2]<0||$.data.width<O[2]||O[3]<0||$.data.height<O[3]||O[2]<O[0]||O[3]<O[1]):!0},z.prototype.updateImage=function(O,$){var pe=this.images[O];$.version=pe.version+1,this.images[O]=$,this.updatedImages[O]=!0},z.prototype.removeImage=function(O){var $=this.images[O];delete this.images[O],delete this.patterns[O],$.userImage&&$.userImage.onRemove&&$.userImage.onRemove()},z.prototype.listImages=function(){return Object.keys(this.images)},z.prototype.getImages=function(O,$){var pe=!0;if(!this.isLoaded())for(var de=0,Ie=O;de<Ie.length;de+=1){var $e=Ie[de];this.images[$e]||(pe=!1)}this.isLoaded()||pe?this._notify(O,$):this.requestors.push({ids:O,callback:$})},z.prototype._notify=function(O,$){for(var pe={},de=0,Ie=O;de<Ie.length;de+=1){var $e=Ie[de];this.images[$e]||this.fire(new i.Event(\"styleimagemissing\",{id:$e}));var pt=this.images[$e];pt?pe[$e]={data:pt.data.clone(),pixelRatio:pt.pixelRatio,sdf:pt.sdf,version:pt.version,stretchX:pt.stretchX,stretchY:pt.stretchY,content:pt.content,hasRenderCallback:!!(pt.userImage&&pt.userImage.render)}:i.warnOnce('Image \"'+$e+'\" 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.')}$(null,pe)},z.prototype.getPixelSize=function(){var O=this.atlasImage,$=O.width,pe=O.height;return{width:$,height:pe}},z.prototype.getPattern=function(O){var $=this.patterns[O],pe=this.getImage(O);if(!pe)return null;if($&&$.position.version===pe.version)return $.position;if($)$.position.version=pe.version;else{var de=pe.data.width+p*2,Ie=pe.data.height+p*2,$e={w:de,h:Ie,x:0,y:0},pt=new i.ImagePosition($e,pe);this.patterns[O]={bin:$e,position:pt}}return this._updatePatternAtlas(),this.patterns[O].position},z.prototype.bind=function(O){var $=O.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new i.Texture(O,this.atlasImage,$.RGBA),this.atlasTexture.bind($.LINEAR,$.CLAMP_TO_EDGE)},z.prototype._updatePatternAtlas=function(){var O=[];for(var $ in this.patterns)O.push(this.patterns[$].bin);var pe=i.potpack(O),de=pe.w,Ie=pe.h,$e=this.atlasImage;$e.resize({width:de||1,height:Ie||1});for(var pt in this.patterns){var Kt=this.patterns[pt],ir=Kt.bin,Jt=ir.x+p,vt=ir.y+p,Pt=this.images[pt].data,Wt=Pt.width,rr=Pt.height;i.RGBAImage.copy(Pt,$e,{x:0,y:0},{x:Jt,y:vt},{width:Wt,height:rr}),i.RGBAImage.copy(Pt,$e,{x:0,y:rr-1},{x:Jt,y:vt-1},{width:Wt,height:1}),i.RGBAImage.copy(Pt,$e,{x:0,y:0},{x:Jt,y:vt+rr},{width:Wt,height:1}),i.RGBAImage.copy(Pt,$e,{x:Wt-1,y:0},{x:Jt-1,y:vt},{width:1,height:rr}),i.RGBAImage.copy(Pt,$e,{x:0,y:0},{x:Jt+Wt,y:vt},{width:1,height:rr})}this.dirty=!0},z.prototype.beginFrame=function(){this.callbackDispatchedThisFrame={}},z.prototype.dispatchRenderCallbacks=function(O){for(var $=0,pe=O;$<pe.length;$+=1){var de=pe[$];if(!this.callbackDispatchedThisFrame[de]){this.callbackDispatchedThisFrame[de]=!0;var Ie=this.images[de],$e=b(Ie);$e&&this.updateImage(de,Ie)}}},z}(i.Evented);function k(Y,z,K,O,$){var pe=z*256,de=pe+255,Ie=O.transformRequest(O.normalizeGlyphsURL(K).replace(\"{fontstack}\",Y).replace(\"{range}\",pe+\"-\"+de),i.ResourceType.Glyphs);i.getArrayBuffer(Ie,function($e,pt){if($e)$($e);else if(pt){for(var Kt={},ir=0,Jt=i.parseGlyphPBF(pt);ir<Jt.length;ir+=1){var vt=Jt[ir];Kt[vt.id]=vt}$(null,Kt)}})}var A=C,L=C,_=1e20;function C(Y,z,K,O,$,pe){this.fontSize=Y||24,this.buffer=z===void 0?3:z,this.cutoff=O||.25,this.fontFamily=$||\"sans-serif\",this.fontWeight=pe||\"normal\",this.radius=K||8;var de=this.size=this.fontSize+this.buffer*2;this.canvas=document.createElement(\"canvas\"),this.canvas.width=this.canvas.height=de,this.ctx=this.canvas.getContext(\"2d\"),this.ctx.font=this.fontWeight+\" \"+this.fontSize+\"px \"+this.fontFamily,this.ctx.textBaseline=\"middle\",this.ctx.fillStyle=\"black\",this.gridOuter=new Float64Array(de*de),this.gridInner=new Float64Array(de*de),this.f=new Float64Array(de),this.d=new Float64Array(de),this.z=new Float64Array(de+1),this.v=new Int16Array(de),this.middle=Math.round(de/2*(navigator.userAgent.indexOf(\"Gecko/\")>=0?1.2:1))}C.prototype.draw=function(Y){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(Y,this.buffer,this.middle);for(var z=this.ctx.getImageData(0,0,this.size,this.size),K=new Uint8ClampedArray(this.size*this.size),O=0;O<this.size*this.size;O++){var $=z.data[O*4+3]/255;this.gridOuter[O]=$===1?0:$===0?_:Math.pow(Math.max(0,.5-$),2),this.gridInner[O]=$===1?_:$===0?0:Math.pow(Math.max(0,$-.5),2)}for(M(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),M(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),O=0;O<this.size*this.size;O++){var pe=this.gridOuter[O]-this.gridInner[O];K[O]=Math.max(0,Math.min(255,Math.round(255-255*(pe/this.radius+this.cutoff))))}return K};function M(Y,z,K,O,$,pe,de){for(var Ie=0;Ie<z;Ie++){for(var $e=0;$e<K;$e++)O[$e]=Y[$e*z+Ie];for(g(O,$,pe,de,K),$e=0;$e<K;$e++)Y[$e*z+Ie]=$[$e]}for($e=0;$e<K;$e++){for(Ie=0;Ie<z;Ie++)O[Ie]=Y[$e*z+Ie];for(g(O,$,pe,de,z),Ie=0;Ie<z;Ie++)Y[$e*z+Ie]=Math.sqrt($[Ie])}}function g(Y,z,K,O,$){K[0]=0,O[0]=-_,O[1]=+_;for(var pe=1,de=0;pe<$;pe++){for(var Ie=(Y[pe]+pe*pe-(Y[K[de]]+K[de]*K[de]))/(2*pe-2*K[de]);Ie<=O[de];)de--,Ie=(Y[pe]+pe*pe-(Y[K[de]]+K[de]*K[de]))/(2*pe-2*K[de]);de++,K[de]=pe,O[de]=Ie,O[de+1]=+_}for(pe=0,de=0;pe<$;pe++){for(;O[de+1]<pe;)de++;z[pe]=(pe-K[de])*(pe-K[de])+Y[K[de]]}}A.default=L;var P=function(z,K){this.requestManager=z,this.localIdeographFontFamily=K,this.entries={}};P.prototype.setURL=function(z){this.url=z},P.prototype.getGlyphs=function(z,K){var O=this,$=[];for(var pe in z)for(var de=0,Ie=z[pe];de<Ie.length;de+=1){var $e=Ie[de];$.push({stack:pe,id:$e})}i.asyncAll($,function(pt,Kt){var ir=pt.stack,Jt=pt.id,vt=O.entries[ir];vt||(vt=O.entries[ir]={glyphs:{},requests:{},ranges:{}});var Pt=vt.glyphs[Jt];if(Pt!==void 0){Kt(null,{stack:ir,id:Jt,glyph:Pt});return}if(Pt=O._tinySDF(vt,ir,Jt),Pt){vt.glyphs[Jt]=Pt,Kt(null,{stack:ir,id:Jt,glyph:Pt});return}var Wt=Math.floor(Jt/256);if(Wt*256>65535){Kt(new Error(\"glyphs > 65535 not supported\"));return}if(vt.ranges[Wt]){Kt(null,{stack:ir,id:Jt,glyph:Pt});return}var rr=vt.requests[Wt];rr||(rr=vt.requests[Wt]=[],P.loadGlyphRange(ir,Wt,O.url,O.requestManager,function(dr,pr){if(pr){for(var kr in pr)O._doesCharSupportLocalGlyph(+kr)||(vt.glyphs[+kr]=pr[+kr]);vt.ranges[Wt]=!0}for(var Ar=0,gr=rr;Ar<gr.length;Ar+=1){var Cr=gr[Ar];Cr(dr,pr)}delete vt.requests[Wt]})),rr.push(function(dr,pr){dr?Kt(dr):pr&&Kt(null,{stack:ir,id:Jt,glyph:pr[Jt]||null})})},function(pt,Kt){if(pt)K(pt);else if(Kt){for(var ir={},Jt=0,vt=Kt;Jt<vt.length;Jt+=1){var Pt=vt[Jt],Wt=Pt.stack,rr=Pt.id,dr=Pt.glyph;(ir[Wt]||(ir[Wt]={}))[rr]=dr&&{id:dr.id,bitmap:dr.bitmap.clone(),metrics:dr.metrics}}K(null,ir)}})},P.prototype._doesCharSupportLocalGlyph=function(z){return!!this.localIdeographFontFamily&&(i.isChar[\"CJK Unified Ideographs\"](z)||i.isChar[\"Hangul Syllables\"](z)||i.isChar.Hiragana(z)||i.isChar.Katakana(z))},P.prototype._tinySDF=function(z,K,O){var $=this.localIdeographFontFamily;if($&&this._doesCharSupportLocalGlyph(O)){var pe=z.tinySDF;if(!pe){var de=\"400\";/bold/i.test(K)?de=\"900\":/medium/i.test(K)?de=\"500\":/light/i.test(K)&&(de=\"200\"),pe=z.tinySDF=new P.TinySDF(24,3,8,.25,$,de)}return{id:O,bitmap:new i.AlphaImage({width:30,height:30},pe.draw(String.fromCharCode(O))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},P.loadGlyphRange=k,P.TinySDF=A;var T=function(){this.specification=i.styleSpec.light.position};T.prototype.possiblyEvaluate=function(z,K){return i.sphericalToCartesian(z.expression.evaluate(K))},T.prototype.interpolate=function(z,K,O){return{x:i.number(z.x,K.x,O),y:i.number(z.y,K.y,O),z:i.number(z.z,K.z,O)}};var F=new i.Properties({anchor:new i.DataConstantProperty(i.styleSpec.light.anchor),position:new T,color:new i.DataConstantProperty(i.styleSpec.light.color),intensity:new i.DataConstantProperty(i.styleSpec.light.intensity)}),q=\"-transition\",V=function(Y){function z(K){Y.call(this),this._transitionable=new i.Transitionable(F),this.setLight(K),this._transitioning=this._transitionable.untransitioned()}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getLight=function(){return this._transitionable.serialize()},z.prototype.setLight=function(O,$){if($===void 0&&($={}),!this._validate(i.validateLight,O,$))for(var pe in O){var de=O[pe];i.endsWith(pe,q)?this._transitionable.setTransition(pe.slice(0,-q.length),de):this._transitionable.setValue(pe,de)}},z.prototype.updateTransitions=function(O){this._transitioning=this._transitionable.transitioned(O,this._transitioning)},z.prototype.hasTransition=function(){return this._transitioning.hasTransition()},z.prototype.recalculate=function(O){this.properties=this._transitioning.possiblyEvaluate(O)},z.prototype._validate=function(O,$,pe){return pe&&pe.validate===!1?!1:i.emitValidationErrors(this,O.call(i.validateStyle,i.extend({value:$,style:{glyphs:!0,sprite:!0},styleSpec:i.styleSpec})))},z}(i.Evented),H=function(z,K){this.width=z,this.height=K,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}};H.prototype.getDash=function(z,K){var O=z.join(\",\")+String(K);return this.dashEntry[O]||(this.dashEntry[O]=this.addDash(z,K)),this.dashEntry[O]},H.prototype.getDashRanges=function(z,K,O){var $=z.length%2===1,pe=[],de=$?-z[z.length-1]*O:0,Ie=z[0]*O,$e=!0;pe.push({left:de,right:Ie,isDash:$e,zeroLength:z[0]===0});for(var pt=z[0],Kt=1;Kt<z.length;Kt++){$e=!$e;var ir=z[Kt];de=pt*O,pt+=ir,Ie=pt*O,pe.push({left:de,right:Ie,isDash:$e,zeroLength:ir===0})}return pe},H.prototype.addRoundDash=function(z,K,O){for(var $=K/2,pe=-O;pe<=O;pe++)for(var de=this.nextRow+O+pe,Ie=this.width*de,$e=0,pt=z[$e],Kt=0;Kt<this.width;Kt++){Kt/pt.right>1&&(pt=z[++$e]);var ir=Math.abs(Kt-pt.left),Jt=Math.abs(Kt-pt.right),vt=Math.min(ir,Jt),Pt=void 0,Wt=pe/O*($+1);if(pt.isDash){var rr=$-Math.abs(Wt);Pt=Math.sqrt(vt*vt+rr*rr)}else Pt=$-Math.sqrt(vt*vt+Wt*Wt);this.data[Ie+Kt]=Math.max(0,Math.min(255,Pt+128))}},H.prototype.addRegularDash=function(z){for(var K=z.length-1;K>=0;--K){var O=z[K],$=z[K+1];O.zeroLength?z.splice(K,1):$&&$.isDash===O.isDash&&($.left=O.left,z.splice(K,1))}var pe=z[0],de=z[z.length-1];pe.isDash===de.isDash&&(pe.left=de.left-this.width,de.right=pe.right+this.width);for(var Ie=this.width*this.nextRow,$e=0,pt=z[$e],Kt=0;Kt<this.width;Kt++){Kt/pt.right>1&&(pt=z[++$e]);var ir=Math.abs(Kt-pt.left),Jt=Math.abs(Kt-pt.right),vt=Math.min(ir,Jt),Pt=pt.isDash?vt:-vt;this.data[Ie+Kt]=Math.max(0,Math.min(255,Pt+128))}},H.prototype.addDash=function(z,K){var O=K?7:0,$=2*O+1;if(this.nextRow+$>this.height)return i.warnOnce(\"LineAtlas out of space\"),null;for(var pe=0,de=0;de<z.length;de++)pe+=z[de];if(pe!==0){var Ie=this.width/pe,$e=this.getDashRanges(z,this.width,Ie);K?this.addRoundDash($e,Ie,O):this.addRegularDash($e)}var pt={y:(this.nextRow+O+.5)/this.height,height:2*O/this.height,width:pe};return this.nextRow+=$,this.dirty=!0,pt},H.prototype.bind=function(z){var K=z.gl;this.texture?(K.bindTexture(K.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,K.texSubImage2D(K.TEXTURE_2D,0,0,0,this.width,this.height,K.ALPHA,K.UNSIGNED_BYTE,this.data))):(this.texture=K.createTexture(),K.bindTexture(K.TEXTURE_2D,this.texture),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_WRAP_S,K.REPEAT),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_WRAP_T,K.REPEAT),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_MIN_FILTER,K.LINEAR),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_MAG_FILTER,K.LINEAR),K.texImage2D(K.TEXTURE_2D,0,K.ALPHA,this.width,this.height,0,K.ALPHA,K.UNSIGNED_BYTE,this.data))};var X=function Y(z,K){this.workerPool=z,this.actors=[],this.currentActor=0,this.id=i.uniqueId();for(var O=this.workerPool.acquire(this.id),$=0;$<O.length;$++){var pe=O[$],de=new Y.Actor(pe,K,this.id);de.name=\"Worker \"+$,this.actors.push(de)}};X.prototype.broadcast=function(z,K,O){O=O||function(){},i.asyncAll(this.actors,function($,pe){$.send(z,K,pe)},O)},X.prototype.getActor=function(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]},X.prototype.remove=function(){this.actors.forEach(function(z){z.remove()}),this.actors=[],this.workerPool.release(this.id)},X.Actor=i.Actor;function G(Y,z,K){var O=function($,pe){if($)return K($);if(pe){var de=i.pick(i.extend(pe,Y),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"mapbox_logo\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);pe.vector_layers&&(de.vectorLayers=pe.vector_layers,de.vectorLayerIds=de.vectorLayers.map(function(Ie){return Ie.id})),de.tiles=z.canonicalizeTileset(de,Y.url),K(null,de)}};return Y.url?i.getJSON(z.transformRequest(z.normalizeSourceURL(Y.url),i.ResourceType.Source),O):i.browser.frame(function(){return O(null,Y)})}var N=function(z,K,O){this.bounds=i.LngLatBounds.convert(this.validateBounds(z)),this.minzoom=K||0,this.maxzoom=O||24};N.prototype.validateBounds=function(z){return!Array.isArray(z)||z.length!==4?[-180,-90,180,90]:[Math.max(-180,z[0]),Math.max(-90,z[1]),Math.min(180,z[2]),Math.min(90,z[3])]},N.prototype.contains=function(z){var K=Math.pow(2,z.z),O={minX:Math.floor(i.mercatorXfromLng(this.bounds.getWest())*K),minY:Math.floor(i.mercatorYfromLat(this.bounds.getNorth())*K),maxX:Math.ceil(i.mercatorXfromLng(this.bounds.getEast())*K),maxY:Math.ceil(i.mercatorYfromLat(this.bounds.getSouth())*K)},$=z.x>=O.minX&&z.x<O.maxX&&z.y>=O.minY&&z.y<O.maxY;return $};var W=function(Y){function z(K,O,$,pe){if(Y.call(this),this.id=K,this.dispatcher=$,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,i.extend(this,i.pick(O,[\"url\",\"scheme\",\"tileSize\",\"promoteId\"])),this._options=i.extend({type:\"vector\"},O),this._collectResourceTiming=O.collectResourceTiming,this.tileSize!==512)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(pe)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){var O=this;this._loaded=!1,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=G(this._options,this.map._requestManager,function($,pe){O._tileJSONRequest=null,O._loaded=!0,$?O.fire(new i.ErrorEvent($)):pe&&(i.extend(O,pe),pe.bounds&&(O.tileBounds=new N(pe.bounds,O.minzoom,O.maxzoom)),i.postTurnstileEvent(pe.tiles,O.map._requestManager._customAccessToken),i.postMapLoadEvent(pe.tiles,O.map._getMapId(),O.map._requestManager._skuToken,O.map._requestManager._customAccessToken),O.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),O.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})},z.prototype.loaded=function(){return this._loaded},z.prototype.hasTile=function(O){return!this.tileBounds||this.tileBounds.contains(O.canonical)},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.setSourceProperty=function(O){this._tileJSONRequest&&this._tileJSONRequest.cancel(),O();var $=this.map.style.sourceCaches[this.id];$.clearTiles(),this.load()},z.prototype.setTiles=function(O){var $=this;return this.setSourceProperty(function(){$._options.tiles=O}),this},z.prototype.setUrl=function(O){var $=this;return this.setSourceProperty(function(){$.url=O,$._options.url=O}),this},z.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},z.prototype.serialize=function(){return i.extend({},this._options)},z.prototype.loadTile=function(O,$){var pe=this.map._requestManager.normalizeTileURL(O.tileID.canonical.url(this.tiles,this.scheme)),de={request:this.map._requestManager.transformRequest(pe,i.ResourceType.Tile),uid:O.uid,tileID:O.tileID,zoom:O.tileID.overscaledZ,tileSize:this.tileSize*O.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:i.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};de.request.collectResourceTiming=this._collectResourceTiming,!O.actor||O.state===\"expired\"?(O.actor=this.dispatcher.getActor(),O.request=O.actor.send(\"loadTile\",de,Ie.bind(this))):O.state===\"loading\"?O.reloadCallback=$:O.request=O.actor.send(\"reloadTile\",de,Ie.bind(this));function Ie($e,pt){if(delete O.request,O.aborted)return $(null);if($e&&$e.status!==404)return $($e);pt&&pt.resourceTiming&&(O.resourceTiming=pt.resourceTiming),this.map._refreshExpiredTiles&&pt&&O.setExpiryData(pt),O.loadVectorData(pt,this.map.painter),i.cacheEntryPossiblyAdded(this.dispatcher),$(null),O.reloadCallback&&(this.loadTile(O,O.reloadCallback),O.reloadCallback=null)}},z.prototype.abortTile=function(O){O.request&&(O.request.cancel(),delete O.request),O.actor&&O.actor.send(\"abortTile\",{uid:O.uid,type:this.type,source:this.id},void 0)},z.prototype.unloadTile=function(O){O.unloadVectorData(),O.actor&&O.actor.send(\"removeTile\",{uid:O.uid,type:this.type,source:this.id},void 0)},z.prototype.hasTransition=function(){return!1},z}(i.Evented),re=function(Y){function z(K,O,$,pe){Y.call(this),this.id=K,this.dispatcher=$,this.setEventedParent(pe),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=i.extend({type:\"raster\"},O),i.extend(this,i.pick(O,[\"url\",\"scheme\",\"tileSize\"]))}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){var O=this;this._loaded=!1,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=G(this._options,this.map._requestManager,function($,pe){O._tileJSONRequest=null,O._loaded=!0,$?O.fire(new i.ErrorEvent($)):pe&&(i.extend(O,pe),pe.bounds&&(O.tileBounds=new N(pe.bounds,O.minzoom,O.maxzoom)),i.postTurnstileEvent(pe.tiles),i.postMapLoadEvent(pe.tiles,O.map._getMapId(),O.map._requestManager._skuToken),O.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),O.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})},z.prototype.loaded=function(){return this._loaded},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},z.prototype.serialize=function(){return i.extend({},this._options)},z.prototype.hasTile=function(O){return!this.tileBounds||this.tileBounds.contains(O.canonical)},z.prototype.loadTile=function(O,$){var pe=this,de=this.map._requestManager.normalizeTileURL(O.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);O.request=i.getImage(this.map._requestManager.transformRequest(de,i.ResourceType.Tile),function(Ie,$e){if(delete O.request,O.aborted)O.state=\"unloaded\",$(null);else if(Ie)O.state=\"errored\",$(Ie);else if($e){pe.map._refreshExpiredTiles&&O.setExpiryData($e),delete $e.cacheControl,delete $e.expires;var pt=pe.map.painter.context,Kt=pt.gl;O.texture=pe.map.painter.getTileTexture($e.width),O.texture?O.texture.update($e,{useMipmap:!0}):(O.texture=new i.Texture(pt,$e,Kt.RGBA,{useMipmap:!0}),O.texture.bind(Kt.LINEAR,Kt.CLAMP_TO_EDGE,Kt.LINEAR_MIPMAP_NEAREST),pt.extTextureFilterAnisotropic&&Kt.texParameterf(Kt.TEXTURE_2D,pt.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,pt.extTextureFilterAnisotropicMax)),O.state=\"loaded\",i.cacheEntryPossiblyAdded(pe.dispatcher),$(null)}})},z.prototype.abortTile=function(O,$){O.request&&(O.request.cancel(),delete O.request),$()},z.prototype.unloadTile=function(O,$){O.texture&&this.map.painter.saveTileTexture(O.texture),$()},z.prototype.hasTransition=function(){return!1},z}(i.Evented),ae=function(Y){function z(K,O,$,pe){Y.call(this,K,O,$,pe),this.type=\"raster-dem\",this.maxzoom=22,this._options=i.extend({type:\"raster-dem\"},O),this.encoding=O.encoding||\"mapbox\"}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.serialize=function(){return{type:\"raster-dem\",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}},z.prototype.loadTile=function(O,$){var pe=this.map._requestManager.normalizeTileURL(O.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);O.request=i.getImage(this.map._requestManager.transformRequest(pe,i.ResourceType.Tile),de.bind(this)),O.neighboringTiles=this._getNeighboringTiles(O.tileID);function de($e,pt){if(delete O.request,O.aborted)O.state=\"unloaded\",$(null);else if($e)O.state=\"errored\",$($e);else if(pt){this.map._refreshExpiredTiles&&O.setExpiryData(pt),delete pt.cacheControl,delete pt.expires;var Kt=i.window.ImageBitmap&&pt instanceof i.window.ImageBitmap&&i.offscreenCanvasSupported(),ir=Kt?pt:i.browser.getImageData(pt,1),Jt={uid:O.uid,coord:O.tileID,source:this.id,rawImageData:ir,encoding:this.encoding};(!O.actor||O.state===\"expired\")&&(O.actor=this.dispatcher.getActor(),O.actor.send(\"loadDEMTile\",Jt,Ie.bind(this)))}}function Ie($e,pt){$e&&(O.state=\"errored\",$($e)),pt&&(O.dem=pt,O.needsHillshadePrepare=!0,O.state=\"loaded\",$(null))}},z.prototype._getNeighboringTiles=function(O){var $=O.canonical,pe=Math.pow(2,$.z),de=($.x-1+pe)%pe,Ie=$.x===0?O.wrap-1:O.wrap,$e=($.x+1+pe)%pe,pt=$.x+1===pe?O.wrap+1:O.wrap,Kt={};return Kt[new i.OverscaledTileID(O.overscaledZ,Ie,$.z,de,$.y).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,pt,$.z,$e,$.y).key]={backfilled:!1},$.y>0&&(Kt[new i.OverscaledTileID(O.overscaledZ,Ie,$.z,de,$.y-1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,O.wrap,$.z,$.x,$.y-1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,pt,$.z,$e,$.y-1).key]={backfilled:!1}),$.y+1<pe&&(Kt[new i.OverscaledTileID(O.overscaledZ,Ie,$.z,de,$.y+1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,O.wrap,$.z,$.x,$.y+1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,pt,$.z,$e,$.y+1).key]={backfilled:!1}),Kt},z.prototype.unloadTile=function(O){O.demTexture&&this.map.painter.saveTileTexture(O.demTexture),O.fbo&&(O.fbo.destroy(),delete O.fbo),O.dem&&delete O.dem,delete O.neighboringTiles,O.state=\"unloaded\",O.actor&&O.actor.send(\"removeDEMTile\",{uid:O.uid,source:this.id})},z}(re),_e=function(Y){function z(K,O,$,pe){Y.call(this),this.id=K,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._loaded=!1,this.actor=$.getActor(),this.setEventedParent(pe),this._data=O.data,this._options=i.extend({},O),this._collectResourceTiming=O.collectResourceTiming,this._resourceTiming=[],O.maxzoom!==void 0&&(this.maxzoom=O.maxzoom),O.type&&(this.type=O.type),O.attribution&&(this.attribution=O.attribution),this.promoteId=O.promoteId;var de=i.EXTENT/this.tileSize;this.workerOptions=i.extend({source:this.id,cluster:O.cluster||!1,geojsonVtOptions:{buffer:(O.buffer!==void 0?O.buffer:128)*de,tolerance:(O.tolerance!==void 0?O.tolerance:.375)*de,extent:i.EXTENT,maxZoom:this.maxzoom,lineMetrics:O.lineMetrics||!1,generateId:O.generateId||!1},superclusterOptions:{maxZoom:O.clusterMaxZoom!==void 0?Math.min(O.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,minPoints:Math.max(2,O.clusterMinPoints||2),extent:i.EXTENT,radius:(O.clusterRadius||50)*de,log:!1,generateId:O.generateId||!1},clusterProperties:O.clusterProperties,filter:O.filter},O.workerOptions)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){var O=this;this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData(function($){if($){O.fire(new i.ErrorEvent($));return}var pe={dataType:\"source\",sourceDataType:\"metadata\"};O._collectResourceTiming&&O._resourceTiming&&O._resourceTiming.length>0&&(pe.resourceTiming=O._resourceTiming,O._resourceTiming=[]),O.fire(new i.Event(\"data\",pe))})},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.setData=function(O){var $=this;return this._data=O,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData(function(pe){if(pe){$.fire(new i.ErrorEvent(pe));return}var de={dataType:\"source\",sourceDataType:\"content\"};$._collectResourceTiming&&$._resourceTiming&&$._resourceTiming.length>0&&(de.resourceTiming=$._resourceTiming,$._resourceTiming=[]),$.fire(new i.Event(\"data\",de))}),this},z.prototype.getClusterExpansionZoom=function(O,$){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:O,source:this.id},$),this},z.prototype.getClusterChildren=function(O,$){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:O,source:this.id},$),this},z.prototype.getClusterLeaves=function(O,$,pe,de){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:O,limit:$,offset:pe},de),this},z.prototype._updateWorkerData=function(O){var $=this;this._loaded=!1;var pe=i.extend({},this.workerOptions),de=this._data;typeof de==\"string\"?(pe.request=this.map._requestManager.transformRequest(i.browser.resolveURL(de),i.ResourceType.Source),pe.request.collectResourceTiming=this._collectResourceTiming):pe.data=JSON.stringify(de),this.actor.send(this.type+\".loadData\",pe,function(Ie,$e){$._removed||$e&&$e.abandoned||($._loaded=!0,$e&&$e.resourceTiming&&$e.resourceTiming[$.id]&&($._resourceTiming=$e.resourceTiming[$.id].slice(0)),$.actor.send($.type+\".coalesce\",{source:pe.source},null),O(Ie))})},z.prototype.loaded=function(){return this._loaded},z.prototype.loadTile=function(O,$){var pe=this,de=O.actor?\"reloadTile\":\"loadTile\";O.actor=this.actor;var Ie={type:this.type,uid:O.uid,tileID:O.tileID,zoom:O.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:i.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};O.request=this.actor.send(de,Ie,function($e,pt){return delete O.request,O.unloadVectorData(),O.aborted?$(null):$e?$($e):(O.loadVectorData(pt,pe.map.painter,de===\"reloadTile\"),$(null))})},z.prototype.abortTile=function(O){O.request&&(O.request.cancel(),delete O.request),O.aborted=!0},z.prototype.unloadTile=function(O){O.unloadVectorData(),this.actor.send(\"removeTile\",{uid:O.uid,type:this.type,source:this.id})},z.prototype.onRemove=function(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id})},z.prototype.serialize=function(){return i.extend({},this._options,{type:this.type,data:this._data})},z.prototype.hasTransition=function(){return!1},z}(i.Evented),Me=i.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]),ke=function(Y){function z(K,O,$,pe){Y.call(this),this.id=K,this.dispatcher=$,this.coordinates=O.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(pe),this.options=O}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(O,$){var pe=this;this._loaded=!1,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,i.getImage(this.map._requestManager.transformRequest(this.url,i.ResourceType.Image),function(de,Ie){pe._loaded=!0,de?pe.fire(new i.ErrorEvent(de)):Ie&&(pe.image=Ie,O&&(pe.coordinates=O),$&&$(),pe._finishLoading())})},z.prototype.loaded=function(){return this._loaded},z.prototype.updateImage=function(O){var $=this;return!this.image||!O.url?this:(this.options.url=O.url,this.load(O.coordinates,function(){$.texture=null}),this)},z.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.setCoordinates=function(O){var $=this;this.coordinates=O;var pe=O.map(i.MercatorCoordinate.fromLngLat);this.tileID=ge(pe),this.minzoom=this.maxzoom=this.tileID.z;var de=pe.map(function(Ie){return $.tileID.getTilePoint(Ie)._round()});return this._boundsArray=new i.StructArrayLayout4i8,this._boundsArray.emplaceBack(de[0].x,de[0].y,0,0),this._boundsArray.emplaceBack(de[1].x,de[1].y,i.EXTENT,0),this._boundsArray.emplaceBack(de[3].x,de[3].y,0,i.EXTENT),this._boundsArray.emplaceBack(de[2].x,de[2].y,i.EXTENT,i.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this},z.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||!this.image)){var O=this.map.painter.context,$=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new i.Texture(O,this.image,$.RGBA),this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE));for(var pe in this.tiles){var de=this.tiles[pe];de.state!==\"loaded\"&&(de.state=\"loaded\",de.texture=this.texture)}}},z.prototype.loadTile=function(O,$){this.tileID&&this.tileID.equals(O.tileID.canonical)?(this.tiles[String(O.tileID.wrap)]=O,O.buckets={},$(null)):(O.state=\"errored\",$(null))},z.prototype.serialize=function(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}},z.prototype.hasTransition=function(){return!1},z}(i.Evented);function ge(Y){for(var z=1/0,K=1/0,O=-1/0,$=-1/0,pe=0,de=Y;pe<de.length;pe+=1){var Ie=de[pe];z=Math.min(z,Ie.x),K=Math.min(K,Ie.y),O=Math.max(O,Ie.x),$=Math.max($,Ie.y)}var $e=O-z,pt=$-K,Kt=Math.max($e,pt),ir=Math.max(0,Math.floor(-Math.log(Kt)/Math.LN2)),Jt=Math.pow(2,ir);return new i.CanonicalTileID(ir,Math.floor((z+O)/2*Jt),Math.floor((K+$)/2*Jt))}var ie=function(Y){function z(K,O,$,pe){Y.call(this,K,O,$,pe),this.roundZoom=!0,this.type=\"video\",this.options=O}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){var O=this;this._loaded=!1;var $=this.options;this.urls=[];for(var pe=0,de=$.urls;pe<de.length;pe+=1){var Ie=de[pe];this.urls.push(this.map._requestManager.transformRequest(Ie,i.ResourceType.Source).url)}i.getVideo(this.urls,function($e,pt){O._loaded=!0,$e?O.fire(new i.ErrorEvent($e)):pt&&(O.video=pt,O.video.loop=!0,O.video.addEventListener(\"playing\",function(){O.map.triggerRepaint()}),O.map&&O.video.play(),O._finishLoading())})},z.prototype.pause=function(){this.video&&this.video.pause()},z.prototype.play=function(){this.video&&this.video.play()},z.prototype.seek=function(O){if(this.video){var $=this.video.seekable;O<$.start(0)||O>$.end(0)?this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+this.id,null,\"Playback for this video can be set only between the \"+$.start(0)+\" and \"+$.end(0)+\"-second mark.\"))):this.video.currentTime=O}},z.prototype.getVideo=function(){return this.video},z.prototype.onAdd=function(O){this.map||(this.map=O,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},z.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||this.video.readyState<2)){var O=this.map.painter.context,$=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE),$.texSubImage2D($.TEXTURE_2D,0,0,0,$.RGBA,$.UNSIGNED_BYTE,this.video)):(this.texture=new i.Texture(O,this.video,$.RGBA),this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE));for(var pe in this.tiles){var de=this.tiles[pe];de.state!==\"loaded\"&&(de.state=\"loaded\",de.texture=this.texture)}}},z.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},z.prototype.hasTransition=function(){return this.video&&!this.video.paused},z}(ke),Te=function(Y){function z(K,O,$,pe){Y.call(this,K,O,$,pe),O.coordinates?(!Array.isArray(O.coordinates)||O.coordinates.length!==4||O.coordinates.some(function(de){return!Array.isArray(de)||de.length!==2||de.some(function(Ie){return typeof Ie!=\"number\"})}))&&this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'missing required property \"coordinates\"'))),O.animate&&typeof O.animate!=\"boolean\"&&this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'optional \"animate\" property must be a boolean value'))),O.canvas?typeof O.canvas!=\"string\"&&!(O.canvas instanceof i.window.HTMLCanvasElement)&&this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,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 i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'missing required property \"canvas\"'))),this.options=O,this.animate=O.animate!==void 0?O.animate:!0}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){if(this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof i.window.HTMLCanvasElement?this.options.canvas:i.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()){this.fire(new i.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\")));return}this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading()},z.prototype.getCanvas=function(){return this.canvas},z.prototype.onAdd=function(O){this.map=O,this.load(),this.canvas&&this.animate&&this.play()},z.prototype.onRemove=function(){this.pause()},z.prototype.prepare=function(){var O=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,O=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,O=!0),!this._hasInvalidDimensions()&&Object.keys(this.tiles).length!==0){var $=this.map.painter.context,pe=$.gl;this.boundsBuffer||(this.boundsBuffer=$.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(O||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new i.Texture($,this.canvas,pe.RGBA,{premultiply:!0});for(var de in this.tiles){var Ie=this.tiles[de];Ie.state!==\"loaded\"&&(Ie.state=\"loaded\",Ie.texture=this.texture)}}},z.prototype.serialize=function(){return{type:\"canvas\",coordinates:this.coordinates}},z.prototype.hasTransition=function(){return this._playing},z.prototype._hasInvalidDimensions=function(){for(var O=0,$=[this.canvas.width,this.canvas.height];O<$.length;O+=1){var pe=$[O];if(isNaN(pe)||pe<=0)return!0}return!1},z}(ke),Ee={vector:W,raster:re,\"raster-dem\":ae,geojson:_e,video:ie,image:ke,canvas:Te},Ae=function(Y,z,K,O){var $=new Ee[z.type](Y,z,K,O);if($.id!==Y)throw new Error(\"Expected Source id to be \"+Y+\" instead of \"+$.id);return i.bindAll([\"load\",\"abort\",\"unload\",\"serialize\",\"prepare\"],$),$},ze=function(Y){return Ee[Y]},Ce=function(Y,z){Ee[Y]=z};function me(Y,z){var K=i.identity([]);return i.translate(K,K,[1,1,0]),i.scale(K,K,[Y.width*.5,Y.height*.5,1]),i.multiply(K,K,Y.calculatePosMatrix(z.toUnwrapped()))}function Re(Y,z,K){if(Y)for(var O=0,$=Y;O<$.length;O+=1){var pe=$[O],de=z[pe];if(de&&de.source===K&&de.type===\"fill-extrusion\")return!0}else for(var Ie in z){var $e=z[Ie];if($e.source===K&&$e.type===\"fill-extrusion\")return!0}return!1}function ce(Y,z,K,O,$,pe){var de=Re($&&$.layers,z,Y.id),Ie=pe.maxPitchScaleFactor(),$e=Y.tilesIn(O,Ie,de);$e.sort(ct);for(var pt=[],Kt=0,ir=$e;Kt<ir.length;Kt+=1){var Jt=ir[Kt];pt.push({wrappedTileID:Jt.tileID.wrapped().key,queryResults:Jt.tile.queryRenderedFeatures(z,K,Y._state,Jt.queryGeometry,Jt.cameraQueryGeometry,Jt.scale,$,pe,Ie,me(Y.transform,Jt.tileID))})}var vt=qt(pt);for(var Pt in vt)vt[Pt].forEach(function(Wt){var rr=Wt.feature,dr=Y.getFeatureState(rr.layer[\"source-layer\"],rr.id);rr.source=rr.layer.source,rr.layer[\"source-layer\"]&&(rr.sourceLayer=rr.layer[\"source-layer\"]),rr.state=dr});return vt}function Ge(Y,z,K,O,$,pe,de){for(var Ie={},$e=pe.queryRenderedSymbols(O),pt=[],Kt=0,ir=Object.keys($e).map(Number);Kt<ir.length;Kt+=1){var Jt=ir[Kt];pt.push(de[Jt])}pt.sort(ct);for(var vt=function(){var pr=Wt[Pt],kr=pr.featureIndex.lookupSymbolFeatures($e[pr.bucketInstanceId],z,pr.bucketIndex,pr.sourceLayerIndex,$.filter,$.layers,$.availableImages,Y);for(var Ar in kr){var gr=Ie[Ar]=Ie[Ar]||[],Cr=kr[Ar];Cr.sort(function(yi,tn){var Ri=pr.featureSortOrder;if(Ri){var ln=Ri.indexOf(yi.featureIndex),Qn=Ri.indexOf(tn.featureIndex);return Qn-ln}else return tn.featureIndex-yi.featureIndex});for(var cr=0,Gr=Cr;cr<Gr.length;cr+=1){var ei=Gr[cr];gr.push(ei)}}},Pt=0,Wt=pt;Pt<Wt.length;Pt+=1)vt();var rr=function(pr){Ie[pr].forEach(function(kr){var Ar=kr.feature,gr=Y[pr],Cr=K[gr.source],cr=Cr.getFeatureState(Ar.layer[\"source-layer\"],Ar.id);Ar.source=Ar.layer.source,Ar.layer[\"source-layer\"]&&(Ar.sourceLayer=Ar.layer[\"source-layer\"]),Ar.state=cr})};for(var dr in Ie)rr(dr);return Ie}function nt(Y,z){for(var K=Y.getRenderableIds().map(function($e){return Y.getTileByID($e)}),O=[],$={},pe=0;pe<K.length;pe++){var de=K[pe],Ie=de.tileID.canonical.key;$[Ie]||($[Ie]=!0,de.querySourceFeatures(O,z))}return O}function ct(Y,z){var K=Y.tileID,O=z.tileID;return K.overscaledZ-O.overscaledZ||K.canonical.y-O.canonical.y||K.wrap-O.wrap||K.canonical.x-O.canonical.x}function qt(Y){for(var z={},K={},O=0,$=Y;O<$.length;O+=1){var pe=$[O],de=pe.queryResults,Ie=pe.wrappedTileID,$e=K[Ie]=K[Ie]||{};for(var pt in de)for(var Kt=de[pt],ir=$e[pt]=$e[pt]||{},Jt=z[pt]=z[pt]||[],vt=0,Pt=Kt;vt<Pt.length;vt+=1){var Wt=Pt[vt];ir[Wt.featureIndex]||(ir[Wt.featureIndex]=!0,Jt.push(Wt))}}return z}var rt=function(z,K){this.max=z,this.onRemove=K,this.reset()};rt.prototype.reset=function(){for(var z in this.data)for(var K=0,O=this.data[z];K<O.length;K+=1){var $=O[K];$.timeout&&clearTimeout($.timeout),this.onRemove($.value)}return this.data={},this.order=[],this},rt.prototype.add=function(z,K,O){var $=this,pe=z.wrapped().key;this.data[pe]===void 0&&(this.data[pe]=[]);var de={value:K,timeout:void 0};if(O!==void 0&&(de.timeout=setTimeout(function(){$.remove(z,de)},O)),this.data[pe].push(de),this.order.push(pe),this.order.length>this.max){var Ie=this._getAndRemoveByKey(this.order[0]);Ie&&this.onRemove(Ie)}return this},rt.prototype.has=function(z){return z.wrapped().key in this.data},rt.prototype.getAndRemove=function(z){return this.has(z)?this._getAndRemoveByKey(z.wrapped().key):null},rt.prototype._getAndRemoveByKey=function(z){var K=this.data[z].shift();return K.timeout&&clearTimeout(K.timeout),this.data[z].length===0&&delete this.data[z],this.order.splice(this.order.indexOf(z),1),K.value},rt.prototype.getByKey=function(z){var K=this.data[z];return K?K[0].value:null},rt.prototype.get=function(z){if(!this.has(z))return null;var K=this.data[z.wrapped().key][0];return K.value},rt.prototype.remove=function(z,K){if(!this.has(z))return this;var O=z.wrapped().key,$=K===void 0?0:this.data[O].indexOf(K),pe=this.data[O][$];return this.data[O].splice($,1),pe.timeout&&clearTimeout(pe.timeout),this.data[O].length===0&&delete this.data[O],this.onRemove(pe.value),this.order.splice(this.order.indexOf(O),1),this},rt.prototype.setMaxSize=function(z){for(this.max=z;this.order.length>this.max;){var K=this._getAndRemoveByKey(this.order[0]);K&&this.onRemove(K)}return this},rt.prototype.filter=function(z){var K=[];for(var O in this.data)for(var $=0,pe=this.data[O];$<pe.length;$+=1){var de=pe[$];z(de.value)||K.push(de)}for(var Ie=0,$e=K;Ie<$e.length;Ie+=1){var pt=$e[Ie];this.remove(pt.value.tileID,pt)}};var ot=function(z,K,O){this.context=z;var $=z.gl;this.buffer=$.createBuffer(),this.dynamicDraw=!!O,this.context.unbindVAO(),z.bindElementBuffer.set(this.buffer),$.bufferData($.ELEMENT_ARRAY_BUFFER,K.arrayBuffer,this.dynamicDraw?$.DYNAMIC_DRAW:$.STATIC_DRAW),this.dynamicDraw||delete K.arrayBuffer};ot.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},ot.prototype.updateData=function(z){var K=this.context.gl;this.context.unbindVAO(),this.bind(),K.bufferSubData(K.ELEMENT_ARRAY_BUFFER,0,z.arrayBuffer)},ot.prototype.destroy=function(){var z=this.context.gl;this.buffer&&(z.deleteBuffer(this.buffer),delete this.buffer)};var Rt={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"},kt=function(z,K,O,$){this.length=K.length,this.attributes=O,this.itemSize=K.bytesPerElement,this.dynamicDraw=$,this.context=z;var pe=z.gl;this.buffer=pe.createBuffer(),z.bindVertexBuffer.set(this.buffer),pe.bufferData(pe.ARRAY_BUFFER,K.arrayBuffer,this.dynamicDraw?pe.DYNAMIC_DRAW:pe.STATIC_DRAW),this.dynamicDraw||delete K.arrayBuffer};kt.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},kt.prototype.updateData=function(z){var K=this.context.gl;this.bind(),K.bufferSubData(K.ARRAY_BUFFER,0,z.arrayBuffer)},kt.prototype.enableAttributes=function(z,K){for(var O=0;O<this.attributes.length;O++){var $=this.attributes[O],pe=K.attributes[$.name];pe!==void 0&&z.enableVertexAttribArray(pe)}},kt.prototype.setVertexAttribPointers=function(z,K,O){for(var $=0;$<this.attributes.length;$++){var pe=this.attributes[$],de=K.attributes[pe.name];de!==void 0&&z.vertexAttribPointer(de,pe.components,z[Rt[pe.type]],!1,this.itemSize,pe.offset+this.itemSize*(O||0))}},kt.prototype.destroy=function(){var z=this.context.gl;this.buffer&&(z.deleteBuffer(this.buffer),delete this.buffer)};var Ct=function(z){this.gl=z.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1};Ct.prototype.get=function(){return this.current},Ct.prototype.set=function(z){},Ct.prototype.getDefault=function(){return this.default},Ct.prototype.setDefault=function(){this.set(this.default)};var Yt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return i.Color.transparent},z.prototype.set=function(O){var $=this.current;O.r===$.r&&O.g===$.g&&O.b===$.b&&O.a===$.a&&!this.dirty||(this.gl.clearColor(O.r,O.g,O.b,O.a),this.current=O,this.dirty=!1)},z}(Ct),xr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return 1},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.clearDepth(O),this.current=O,this.dirty=!1)},z}(Ct),er=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return 0},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.clearStencil(O),this.current=O,this.dirty=!1)},z}(Ct),Ke=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return[!0,!0,!0,!0]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&O[2]===$[2]&&O[3]===$[3]&&!this.dirty||(this.gl.colorMask(O[0],O[1],O[2],O[3]),this.current=O,this.dirty=!1)},z}(Ct),xt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!0},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.depthMask(O),this.current=O,this.dirty=!1)},z}(Ct),bt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return 255},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.stencilMask(O),this.current=O,this.dirty=!1)},z}(Ct),Lt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return{func:this.gl.ALWAYS,ref:0,mask:255}},z.prototype.set=function(O){var $=this.current;O.func===$.func&&O.ref===$.ref&&O.mask===$.mask&&!this.dirty||(this.gl.stencilFunc(O.func,O.ref,O.mask),this.current=O,this.dirty=!1)},z}(Ct),St=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){var O=this.gl;return[O.KEEP,O.KEEP,O.KEEP]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&O[2]===$[2]&&!this.dirty||(this.gl.stencilOp(O[0],O[1],O[2]),this.current=O,this.dirty=!1)},z}(Ct),Et=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;O?$.enable($.STENCIL_TEST):$.disable($.STENCIL_TEST),this.current=O,this.dirty=!1}},z}(Ct),dt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return[0,1]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&!this.dirty||(this.gl.depthRange(O[0],O[1]),this.current=O,this.dirty=!1)},z}(Ct),Ht=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;O?$.enable($.DEPTH_TEST):$.disable($.DEPTH_TEST),this.current=O,this.dirty=!1}},z}(Ct),$t=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.LESS},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.depthFunc(O),this.current=O,this.dirty=!1)},z}(Ct),fr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;O?$.enable($.BLEND):$.disable($.BLEND),this.current=O,this.dirty=!1}},z}(Ct),_r=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){var O=this.gl;return[O.ONE,O.ZERO]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&!this.dirty||(this.gl.blendFunc(O[0],O[1]),this.current=O,this.dirty=!1)},z}(Ct),Br=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return i.Color.transparent},z.prototype.set=function(O){var $=this.current;O.r===$.r&&O.g===$.g&&O.b===$.b&&O.a===$.a&&!this.dirty||(this.gl.blendColor(O.r,O.g,O.b,O.a),this.current=O,this.dirty=!1)},z}(Ct),Or=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.FUNC_ADD},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.blendEquation(O),this.current=O,this.dirty=!1)},z}(Ct),Nr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;O?$.enable($.CULL_FACE):$.disable($.CULL_FACE),this.current=O,this.dirty=!1}},z}(Ct),ut=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.BACK},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.cullFace(O),this.current=O,this.dirty=!1)},z}(Ct),Ne=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.CCW},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.frontFace(O),this.current=O,this.dirty=!1)},z}(Ct),Ye=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.useProgram(O),this.current=O,this.dirty=!1)},z}(Ct),Ve=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.TEXTURE0},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.activeTexture(O),this.current=O,this.dirty=!1)},z}(Ct),Xe=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){var O=this.gl;return[0,0,O.drawingBufferWidth,O.drawingBufferHeight]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&O[2]===$[2]&&O[3]===$[3]&&!this.dirty||(this.gl.viewport(O[0],O[1],O[2],O[3]),this.current=O,this.dirty=!1)},z}(Ct),ht=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.bindFramebuffer($.FRAMEBUFFER,O),this.current=O,this.dirty=!1}},z}(Ct),Le=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.bindRenderbuffer($.RENDERBUFFER,O),this.current=O,this.dirty=!1}},z}(Ct),xe=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.bindTexture($.TEXTURE_2D,O),this.current=O,this.dirty=!1}},z}(Ct),Se=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.bindBuffer($.ARRAY_BUFFER,O),this.current=O,this.dirty=!1}},z}(Ct),lt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){var $=this.gl;$.bindBuffer($.ELEMENT_ARRAY_BUFFER,O),this.current=O,this.dirty=!1},z}(Ct),Gt=function(Y){function z(K){Y.call(this,K),this.vao=K.extVertexArrayObject}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){!this.vao||O===this.current&&!this.dirty||(this.vao.bindVertexArrayOES(O),this.current=O,this.dirty=!1)},z}(Ct),Vt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return 4},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.pixelStorei($.UNPACK_ALIGNMENT,O),this.current=O,this.dirty=!1}},z}(Ct),ar=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.pixelStorei($.UNPACK_PREMULTIPLY_ALPHA_WEBGL,O),this.current=O,this.dirty=!1}},z}(Ct),Qr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.pixelStorei($.UNPACK_FLIP_Y_WEBGL,O),this.current=O,this.dirty=!1}},z}(Ct),ai=function(Y){function z(K,O){Y.call(this,K),this.context=K,this.parent=O}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z}(Ct),jr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.setDirty=function(){this.dirty=!0},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){this.context.bindFramebuffer.set(this.parent);var $=this.gl;$.framebufferTexture2D($.FRAMEBUFFER,$.COLOR_ATTACHMENT0,$.TEXTURE_2D,O,0),this.current=O,this.dirty=!1}},z}(ai),ri=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){this.context.bindFramebuffer.set(this.parent);var $=this.gl;$.framebufferRenderbuffer($.FRAMEBUFFER,$.DEPTH_ATTACHMENT,$.RENDERBUFFER,O),this.current=O,this.dirty=!1}},z}(ai),bi=function(z,K,O,$){this.context=z,this.width=K,this.height=O;var pe=z.gl,de=this.framebuffer=pe.createFramebuffer();this.colorAttachment=new jr(z,de),$&&(this.depthAttachment=new ri(z,de))};bi.prototype.destroy=function(){var z=this.context.gl,K=this.colorAttachment.get();if(K&&z.deleteTexture(K),this.depthAttachment){var O=this.depthAttachment.get();O&&z.deleteRenderbuffer(O)}z.deleteFramebuffer(this.framebuffer)};var nn=519,Wi=function(z,K,O){this.func=z,this.mask=K,this.range=O};Wi.ReadOnly=!1,Wi.ReadWrite=!0,Wi.disabled=new Wi(nn,Wi.ReadOnly,[0,1]);var Ni=519,_n=7680,$i=function(z,K,O,$,pe,de){this.test=z,this.ref=K,this.mask=O,this.fail=$,this.depthFail=pe,this.pass=de};$i.disabled=new $i({func:Ni,mask:0},0,0,_n,_n,_n);var zn=0,Wn=1,It=771,ft=function(z,K,O){this.blendFunction=z,this.blendColor=K,this.mask=O};ft.Replace=[Wn,zn],ft.disabled=new ft(ft.Replace,i.Color.transparent,[!1,!1,!1,!1]),ft.unblended=new ft(ft.Replace,i.Color.transparent,[!0,!0,!0,!0]),ft.alphaBlended=new ft([Wn,It],i.Color.transparent,[!0,!0,!0,!0]);var jt=1029,Zt=2305,yr=function(z,K,O){this.enable=z,this.mode=K,this.frontFace=O};yr.disabled=new yr(!1,jt,Zt),yr.backCCW=new yr(!0,jt,Zt);var Fr=function(z){this.gl=z,this.extVertexArrayObject=this.gl.getExtension(\"OES_vertex_array_object\"),this.clearColor=new Yt(this),this.clearDepth=new xr(this),this.clearStencil=new er(this),this.colorMask=new Ke(this),this.depthMask=new xt(this),this.stencilMask=new bt(this),this.stencilFunc=new Lt(this),this.stencilOp=new St(this),this.stencilTest=new Et(this),this.depthRange=new dt(this),this.depthTest=new Ht(this),this.depthFunc=new $t(this),this.blend=new fr(this),this.blendFunc=new _r(this),this.blendColor=new Br(this),this.blendEquation=new Or(this),this.cullFace=new Nr(this),this.cullFaceSide=new ut(this),this.frontFace=new Ne(this),this.program=new Ye(this),this.activeTexture=new Ve(this),this.viewport=new Xe(this),this.bindFramebuffer=new ht(this),this.bindRenderbuffer=new Le(this),this.bindTexture=new xe(this),this.bindVertexBuffer=new Se(this),this.bindElementBuffer=new lt(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new Gt(this),this.pixelStoreUnpack=new Vt(this),this.pixelStoreUnpackPremultiplyAlpha=new ar(this),this.pixelStoreUnpackFlipY=new Qr(this),this.extTextureFilterAnisotropic=z.getExtension(\"EXT_texture_filter_anisotropic\")||z.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||z.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=z.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=z.getExtension(\"OES_texture_half_float\"),this.extTextureHalfFloat&&(z.getExtension(\"OES_texture_half_float_linear\"),this.extRenderToTextureHalfFloat=z.getExtension(\"EXT_color_buffer_half_float\")),this.extTimerQuery=z.getExtension(\"EXT_disjoint_timer_query\"),this.maxTextureSize=z.getParameter(z.MAX_TEXTURE_SIZE)};Fr.prototype.setDefault=function(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()},Fr.prototype.setDirty=function(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.extVertexArrayObject&&(this.bindVertexArrayOES.dirty=!0),this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0},Fr.prototype.createIndexBuffer=function(z,K){return new ot(this,z,K)},Fr.prototype.createVertexBuffer=function(z,K,O){return new kt(this,z,K,O)},Fr.prototype.createRenderbuffer=function(z,K,O){var $=this.gl,pe=$.createRenderbuffer();return this.bindRenderbuffer.set(pe),$.renderbufferStorage($.RENDERBUFFER,z,K,O),this.bindRenderbuffer.set(null),pe},Fr.prototype.createFramebuffer=function(z,K,O){return new bi(this,z,K,O)},Fr.prototype.clear=function(z){var K=z.color,O=z.depth,$=this.gl,pe=0;K&&(pe|=$.COLOR_BUFFER_BIT,this.clearColor.set(K),this.colorMask.set([!0,!0,!0,!0])),typeof O!=\"undefined\"&&(pe|=$.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(O),this.depthMask.set(!0)),$.clear(pe)},Fr.prototype.setCullFace=function(z){z.enable===!1?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(z.mode),this.frontFace.set(z.frontFace))},Fr.prototype.setDepthMode=function(z){z.func===this.gl.ALWAYS&&!z.mask?this.depthTest.set(!1):(this.depthTest.set(!0),this.depthFunc.set(z.func),this.depthMask.set(z.mask),this.depthRange.set(z.range))},Fr.prototype.setStencilMode=function(z){z.test.func===this.gl.ALWAYS&&!z.mask?this.stencilTest.set(!1):(this.stencilTest.set(!0),this.stencilMask.set(z.mask),this.stencilOp.set([z.fail,z.depthFail,z.pass]),this.stencilFunc.set({func:z.test.func,ref:z.ref,mask:z.test.mask}))},Fr.prototype.setColorMode=function(z){i.deepEqual(z.blendFunction,ft.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(z.blendFunction),this.blendColor.set(z.blendColor)),this.colorMask.set(z.mask)},Fr.prototype.unbindVAO=function(){this.extVertexArrayObject&&this.bindVertexArrayOES.set(null)};var Zr=function(Y){function z(K,O,$){var pe=this;Y.call(this),this.id=K,this.dispatcher=$,this.on(\"data\",function(de){de.dataType===\"source\"&&de.sourceDataType===\"metadata\"&&(pe._sourceLoaded=!0),pe._sourceLoaded&&!pe._paused&&de.dataType===\"source\"&&de.sourceDataType===\"content\"&&(pe.reload(),pe.transform&&pe.update(pe.transform))}),this.on(\"error\",function(){pe._sourceErrored=!0}),this._source=Ae(K,O,$,this),this._tiles={},this._cache=new rt(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new i.SourceFeatureState}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.onAdd=function(O){this.map=O,this._maxTileCacheSize=O?O._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(O)},z.prototype.onRemove=function(O){this._source&&this._source.onRemove&&this._source.onRemove(O)},z.prototype.loaded=function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;for(var O in this._tiles){var $=this._tiles[O];if($.state!==\"loaded\"&&$.state!==\"errored\")return!1}return!0},z.prototype.getSource=function(){return this._source},z.prototype.pause=function(){this._paused=!0},z.prototype.resume=function(){if(this._paused){var O=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,O&&this.reload(),this.transform&&this.update(this.transform)}},z.prototype._loadTile=function(O,$){return this._source.loadTile(O,$)},z.prototype._unloadTile=function(O){if(this._source.unloadTile)return this._source.unloadTile(O,function(){})},z.prototype._abortTile=function(O){if(this._source.abortTile)return this._source.abortTile(O,function(){})},z.prototype.serialize=function(){return this._source.serialize()},z.prototype.prepare=function(O){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(var $ in this._tiles){var pe=this._tiles[$];pe.upload(O),pe.prepare(this.map.style.imageManager)}},z.prototype.getIds=function(){return i.values(this._tiles).map(function(O){return O.tileID}).sort(Vr).map(function(O){return O.key})},z.prototype.getRenderableIds=function(O){var $=this,pe=[];for(var de in this._tiles)this._isIdRenderable(de,O)&&pe.push(this._tiles[de]);return O?pe.sort(function(Ie,$e){var pt=Ie.tileID,Kt=$e.tileID,ir=new i.Point(pt.canonical.x,pt.canonical.y)._rotate($.transform.angle),Jt=new i.Point(Kt.canonical.x,Kt.canonical.y)._rotate($.transform.angle);return pt.overscaledZ-Kt.overscaledZ||Jt.y-ir.y||Jt.x-ir.x}).map(function(Ie){return Ie.tileID.key}):pe.map(function(Ie){return Ie.tileID}).sort(Vr).map(function(Ie){return Ie.key})},z.prototype.hasRenderableParent=function(O){var $=this.findLoadedParent(O,0);return $?this._isIdRenderable($.tileID.key):!1},z.prototype._isIdRenderable=function(O,$){return this._tiles[O]&&this._tiles[O].hasData()&&!this._coveredTiles[O]&&($||!this._tiles[O].holdingForFade())},z.prototype.reload=function(){if(this._paused){this._shouldReloadOnResume=!0;return}this._cache.reset();for(var O in this._tiles)this._tiles[O].state!==\"errored\"&&this._reloadTile(O,\"reloading\")},z.prototype._reloadTile=function(O,$){var pe=this._tiles[O];pe&&(pe.state!==\"loading\"&&(pe.state=$),this._loadTile(pe,this._tileLoaded.bind(this,pe,O,$)))},z.prototype._tileLoaded=function(O,$,pe,de){if(de){O.state=\"errored\",de.status!==404?this._source.fire(new i.ErrorEvent(de,{tile:O})):this.update(this.transform);return}O.timeAdded=i.browser.now(),pe===\"expired\"&&(O.refreshedUponExpiration=!0),this._setTileReloadTimer($,O),this.getSource().type===\"raster-dem\"&&O.dem&&this._backfillDEM(O),this._state.initializeTileState(O,this.map?this.map.painter:null),this._source.fire(new i.Event(\"data\",{dataType:\"source\",tile:O,coord:O.tileID}))},z.prototype._backfillDEM=function(O){for(var $=this.getRenderableIds(),pe=0;pe<$.length;pe++){var de=$[pe];if(O.neighboringTiles&&O.neighboringTiles[de]){var Ie=this.getTileByID(de);$e(O,Ie),$e(Ie,O)}}function $e(pt,Kt){pt.needsHillshadePrepare=!0;var ir=Kt.tileID.canonical.x-pt.tileID.canonical.x,Jt=Kt.tileID.canonical.y-pt.tileID.canonical.y,vt=Math.pow(2,pt.tileID.canonical.z),Pt=Kt.tileID.key;ir===0&&Jt===0||Math.abs(Jt)>1||(Math.abs(ir)>1&&(Math.abs(ir+vt)===1?ir+=vt:Math.abs(ir-vt)===1&&(ir-=vt)),!(!Kt.dem||!pt.dem)&&(pt.dem.backfillBorder(Kt.dem,ir,Jt),pt.neighboringTiles&&pt.neighboringTiles[Pt]&&(pt.neighboringTiles[Pt].backfilled=!0)))}},z.prototype.getTile=function(O){return this.getTileByID(O.key)},z.prototype.getTileByID=function(O){return this._tiles[O]},z.prototype._retainLoadedChildren=function(O,$,pe,de){for(var Ie in this._tiles){var $e=this._tiles[Ie];if(!(de[Ie]||!$e.hasData()||$e.tileID.overscaledZ<=$||$e.tileID.overscaledZ>pe)){for(var pt=$e.tileID;$e&&$e.tileID.overscaledZ>$+1;){var Kt=$e.tileID.scaledTo($e.tileID.overscaledZ-1);$e=this._tiles[Kt.key],$e&&$e.hasData()&&(pt=Kt)}for(var ir=pt;ir.overscaledZ>$;)if(ir=ir.scaledTo(ir.overscaledZ-1),O[ir.key]){de[pt.key]=pt;break}}}},z.prototype.findLoadedParent=function(O,$){if(O.key in this._loadedParentTiles){var pe=this._loadedParentTiles[O.key];return pe&&pe.tileID.overscaledZ>=$?pe:null}for(var de=O.overscaledZ-1;de>=$;de--){var Ie=O.scaledTo(de),$e=this._getLoadedTile(Ie);if($e)return $e}},z.prototype._getLoadedTile=function(O){var $=this._tiles[O.key];if($&&$.hasData())return $;var pe=this._cache.getByKey(O.wrapped().key);return pe},z.prototype.updateCacheSize=function(O){var $=Math.ceil(O.width/this._source.tileSize)+1,pe=Math.ceil(O.height/this._source.tileSize)+1,de=$*pe,Ie=5,$e=Math.floor(de*Ie),pt=typeof this._maxTileCacheSize==\"number\"?Math.min(this._maxTileCacheSize,$e):$e;this._cache.setMaxSize(pt)},z.prototype.handleWrapJump=function(O){var $=this._prevLng===void 0?O:this._prevLng,pe=O-$,de=pe/360,Ie=Math.round(de);if(this._prevLng=O,Ie){var $e={};for(var pt in this._tiles){var Kt=this._tiles[pt];Kt.tileID=Kt.tileID.unwrapTo(Kt.tileID.wrap+Ie),$e[Kt.tileID.key]=Kt}this._tiles=$e;for(var ir in this._timers)clearTimeout(this._timers[ir]),delete this._timers[ir];for(var Jt in this._tiles){var vt=this._tiles[Jt];this._setTileReloadTimer(Jt,vt)}}},z.prototype.update=function(O){var $=this;if(this.transform=O,!(!this._sourceLoaded||this._paused)){this.updateCacheSize(O),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={};var pe;this.used?this._source.tileID?pe=O.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(yi){return new i.OverscaledTileID(yi.canonical.z,yi.wrap,yi.canonical.z,yi.canonical.x,yi.canonical.y)}):(pe=O.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(pe=pe.filter(function(yi){return $._source.hasTile(yi)}))):pe=[];var de=O.coveringZoomLevel(this._source),Ie=Math.max(de-z.maxOverzooming,this._source.minzoom),$e=Math.max(de+z.maxUnderzooming,this._source.minzoom),pt=this._updateRetainedTiles(pe,de);if(gi(this._source.type)){for(var Kt={},ir={},Jt=Object.keys(pt),vt=0,Pt=Jt;vt<Pt.length;vt+=1){var Wt=Pt[vt],rr=pt[Wt],dr=this._tiles[Wt];if(!(!dr||dr.fadeEndTime&&dr.fadeEndTime<=i.browser.now())){var pr=this.findLoadedParent(rr,Ie);pr&&(this._addTile(pr.tileID),Kt[pr.tileID.key]=pr.tileID),ir[Wt]=rr}}this._retainLoadedChildren(ir,de,$e,pt);for(var kr in Kt)pt[kr]||(this._coveredTiles[kr]=!0,pt[kr]=Kt[kr])}for(var Ar in pt)this._tiles[Ar].clearFadeHold();for(var gr=i.keysDifference(this._tiles,pt),Cr=0,cr=gr;Cr<cr.length;Cr+=1){var Gr=cr[Cr],ei=this._tiles[Gr];ei.hasSymbolBuckets&&!ei.holdingForFade()?ei.setHoldDuration(this.map._fadeDuration):(!ei.hasSymbolBuckets||ei.symbolFadeFinished())&&this._removeTile(Gr)}this._updateLoadedParentTileCache()}},z.prototype.releaseSymbolFadeTiles=function(){for(var O in this._tiles)this._tiles[O].holdingForFade()&&this._removeTile(O)},z.prototype._updateRetainedTiles=function(O,$){for(var pe={},de={},Ie=Math.max($-z.maxOverzooming,this._source.minzoom),$e=Math.max($+z.maxUnderzooming,this._source.minzoom),pt={},Kt=0,ir=O;Kt<ir.length;Kt+=1){var Jt=ir[Kt],vt=this._addTile(Jt);pe[Jt.key]=Jt,!vt.hasData()&&$<this._source.maxzoom&&(pt[Jt.key]=Jt)}this._retainLoadedChildren(pt,$,$e,pe);for(var Pt=0,Wt=O;Pt<Wt.length;Pt+=1){var rr=Wt[Pt],dr=this._tiles[rr.key];if(!dr.hasData()){if($+1>this._source.maxzoom){var pr=rr.children(this._source.maxzoom)[0],kr=this.getTile(pr);if(kr&&kr.hasData()){pe[pr.key]=pr;continue}}else{var Ar=rr.children(this._source.maxzoom);if(pe[Ar[0].key]&&pe[Ar[1].key]&&pe[Ar[2].key]&&pe[Ar[3].key])continue}for(var gr=dr.wasRequested(),Cr=rr.overscaledZ-1;Cr>=Ie;--Cr){var cr=rr.scaledTo(Cr);if(de[cr.key]||(de[cr.key]=!0,dr=this.getTile(cr),!dr&&gr&&(dr=this._addTile(cr)),dr&&(pe[cr.key]=cr,gr=dr.wasRequested(),dr.hasData())))break}}}return pe},z.prototype._updateLoadedParentTileCache=function(){this._loadedParentTiles={};for(var O in this._tiles){for(var $=[],pe=void 0,de=this._tiles[O].tileID;de.overscaledZ>0;){if(de.key in this._loadedParentTiles){pe=this._loadedParentTiles[de.key];break}$.push(de.key);var Ie=de.scaledTo(de.overscaledZ-1);if(pe=this._getLoadedTile(Ie),pe)break;de=Ie}for(var $e=0,pt=$;$e<pt.length;$e+=1){var Kt=pt[$e];this._loadedParentTiles[Kt]=pe}}},z.prototype._addTile=function(O){var $=this._tiles[O.key];if($)return $;$=this._cache.getAndRemove(O),$&&(this._setTileReloadTimer(O.key,$),$.tileID=O,this._state.initializeTileState($,this.map?this.map.painter:null),this._cacheTimers[O.key]&&(clearTimeout(this._cacheTimers[O.key]),delete this._cacheTimers[O.key],this._setTileReloadTimer(O.key,$)));var pe=!!$;return pe||($=new i.Tile(O,this._source.tileSize*O.overscaleFactor()),this._loadTile($,this._tileLoaded.bind(this,$,O.key,$.state))),$?($.uses++,this._tiles[O.key]=$,pe||this._source.fire(new i.Event(\"dataloading\",{tile:$,coord:$.tileID,dataType:\"source\"})),$):null},z.prototype._setTileReloadTimer=function(O,$){var pe=this;O in this._timers&&(clearTimeout(this._timers[O]),delete this._timers[O]);var de=$.getExpiryTimeout();de&&(this._timers[O]=setTimeout(function(){pe._reloadTile(O,\"expired\"),delete pe._timers[O]},de))},z.prototype._removeTile=function(O){var $=this._tiles[O];$&&($.uses--,delete this._tiles[O],this._timers[O]&&(clearTimeout(this._timers[O]),delete this._timers[O]),!($.uses>0)&&($.hasData()&&$.state!==\"reloading\"?this._cache.add($.tileID,$,$.getExpiryTimeout()):($.aborted=!0,this._abortTile($),this._unloadTile($))))},z.prototype.clearTiles=function(){this._shouldReloadOnResume=!1,this._paused=!1;for(var O in this._tiles)this._removeTile(O);this._cache.reset()},z.prototype.tilesIn=function(O,$,pe){var de=this,Ie=[],$e=this.transform;if(!$e)return Ie;for(var pt=pe?$e.getCameraQueryGeometry(O):O,Kt=O.map(function(Cr){return $e.pointCoordinate(Cr)}),ir=pt.map(function(Cr){return $e.pointCoordinate(Cr)}),Jt=this.getIds(),vt=1/0,Pt=1/0,Wt=-1/0,rr=-1/0,dr=0,pr=ir;dr<pr.length;dr+=1){var kr=pr[dr];vt=Math.min(vt,kr.x),Pt=Math.min(Pt,kr.y),Wt=Math.max(Wt,kr.x),rr=Math.max(rr,kr.y)}for(var Ar=function(Cr){var cr=de._tiles[Jt[Cr]];if(!cr.holdingForFade()){var Gr=cr.tileID,ei=Math.pow(2,$e.zoom-cr.tileID.overscaledZ),yi=$*cr.queryPadding*i.EXTENT/cr.tileSize/ei,tn=[Gr.getTilePoint(new i.MercatorCoordinate(vt,Pt)),Gr.getTilePoint(new i.MercatorCoordinate(Wt,rr))];if(tn[0].x-yi<i.EXTENT&&tn[0].y-yi<i.EXTENT&&tn[1].x+yi>=0&&tn[1].y+yi>=0){var Ri=Kt.map(function(Qn){return Gr.getTilePoint(Qn)}),ln=ir.map(function(Qn){return Gr.getTilePoint(Qn)});Ie.push({tile:cr,tileID:Gr,queryGeometry:Ri,cameraQueryGeometry:ln,scale:ei})}}},gr=0;gr<Jt.length;gr++)Ar(gr);return Ie},z.prototype.getVisibleCoordinates=function(O){for(var $=this,pe=this.getRenderableIds(O).map(function(pt){return $._tiles[pt].tileID}),de=0,Ie=pe;de<Ie.length;de+=1){var $e=Ie[de];$e.posMatrix=this.transform.calculatePosMatrix($e.toUnwrapped())}return pe},z.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(gi(this._source.type))for(var O in this._tiles){var $=this._tiles[O];if($.fadeEndTime!==void 0&&$.fadeEndTime>=i.browser.now())return!0}return!1},z.prototype.setFeatureState=function(O,$,pe){O=O||\"_geojsonTileLayer\",this._state.updateState(O,$,pe)},z.prototype.removeFeatureState=function(O,$,pe){O=O||\"_geojsonTileLayer\",this._state.removeFeatureState(O,$,pe)},z.prototype.getFeatureState=function(O,$){return O=O||\"_geojsonTileLayer\",this._state.getState(O,$)},z.prototype.setDependencies=function(O,$,pe){var de=this._tiles[O];de&&de.setDependencies($,pe)},z.prototype.reloadTilesForDependencies=function(O,$){for(var pe in this._tiles){var de=this._tiles[pe];de.hasDependency(O,$)&&this._reloadTile(pe,\"reloading\")}this._cache.filter(function(Ie){return!Ie.hasDependency(O,$)})},z}(i.Evented);Zr.maxOverzooming=10,Zr.maxUnderzooming=3;function Vr(Y,z){var K=Math.abs(Y.wrap*2)-+(Y.wrap<0),O=Math.abs(z.wrap*2)-+(z.wrap<0);return Y.overscaledZ-z.overscaledZ||O-K||z.canonical.y-Y.canonical.y||z.canonical.x-Y.canonical.x}function gi(Y){return Y===\"raster\"||Y===\"image\"||Y===\"video\"}function Si(){return new i.window.Worker(ns.workerUrl)}var Mi=\"mapboxgl_preloaded_worker_pool\",Pi=function(){this.active={}};Pi.prototype.acquire=function(z){if(!this.workers)for(this.workers=[];this.workers.length<Pi.workerCount;)this.workers.push(new Si);return this.active[z]=!0,this.workers.slice()},Pi.prototype.release=function(z){delete this.active[z],this.numActive()===0&&(this.workers.forEach(function(K){K.terminate()}),this.workers=null)},Pi.prototype.isPreloaded=function(){return!!this.active[Mi]},Pi.prototype.numActive=function(){return Object.keys(this.active).length};var Gi=Math.floor(i.browser.hardwareConcurrency/2);Pi.workerCount=Math.max(Math.min(Gi,6),1);var Ki;function ka(){return Ki||(Ki=new Pi),Ki}function jn(){var Y=ka();Y.acquire(Mi)}function la(){var Y=Ki;Y&&(Y.isPreloaded()&&Y.numActive()===1?(Y.release(Mi),Ki=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()\"))}function Fa(Y,z){var K={};for(var O in Y)O!==\"ref\"&&(K[O]=Y[O]);return i.refProperties.forEach(function($){$ in z&&(K[$]=z[$])}),K}function Ra(Y){Y=Y.slice();for(var z=Object.create(null),K=0;K<Y.length;K++)z[Y[K].id]=Y[K];for(var O=0;O<Y.length;O++)\"ref\"in Y[O]&&(Y[O]=Fa(Y[O],z[Y[O].ref]));return Y}function jo(){var Y={},z=i.styleSpec.$version;for(var K in i.styleSpec.$root){var O=i.styleSpec.$root[K];if(O.required){var $=null;K===\"version\"?$=z:O.type===\"array\"?$=[]:$={},$!=null&&(Y[K]=$)}}return Y}var oa={setStyle:\"setStyle\",addLayer:\"addLayer\",removeLayer:\"removeLayer\",setPaintProperty:\"setPaintProperty\",setLayoutProperty:\"setLayoutProperty\",setFilter:\"setFilter\",addSource:\"addSource\",removeSource:\"removeSource\",setGeoJSONSourceData:\"setGeoJSONSourceData\",setLayerZoomRange:\"setLayerZoomRange\",setLayerProperty:\"setLayerProperty\",setCenter:\"setCenter\",setZoom:\"setZoom\",setBearing:\"setBearing\",setPitch:\"setPitch\",setSprite:\"setSprite\",setGlyphs:\"setGlyphs\",setTransition:\"setTransition\",setLight:\"setLight\"};function Sn(Y,z,K){K.push({command:oa.addSource,args:[Y,z[Y]]})}function Ha(Y,z,K){z.push({command:oa.removeSource,args:[Y]}),K[Y]=!0}function oo(Y,z,K,O){Ha(Y,K,O),Sn(Y,z,K)}function xn(Y,z,K){var O;for(O in Y[K])if(Y[K].hasOwnProperty(O)&&O!==\"data\"&&!i.deepEqual(Y[K][O],z[K][O]))return!1;for(O in z[K])if(z[K].hasOwnProperty(O)&&O!==\"data\"&&!i.deepEqual(Y[K][O],z[K][O]))return!1;return!0}function _t(Y,z,K,O){Y=Y||{},z=z||{};var $;for($ in Y)Y.hasOwnProperty($)&&(z.hasOwnProperty($)||Ha($,K,O));for($ in z)z.hasOwnProperty($)&&(Y.hasOwnProperty($)?i.deepEqual(Y[$],z[$])||(Y[$].type===\"geojson\"&&z[$].type===\"geojson\"&&xn(Y,z,$)?K.push({command:oa.setGeoJSONSourceData,args:[$,z[$].data]}):oo($,z,K,O)):Sn($,z,K))}function br(Y,z,K,O,$,pe){Y=Y||{},z=z||{};var de;for(de in Y)Y.hasOwnProperty(de)&&(i.deepEqual(Y[de],z[de])||K.push({command:pe,args:[O,de,z[de],$]}));for(de in z)!z.hasOwnProperty(de)||Y.hasOwnProperty(de)||i.deepEqual(Y[de],z[de])||K.push({command:pe,args:[O,de,z[de],$]})}function Hr(Y){return Y.id}function ti(Y,z){return Y[z.id]=z,Y}function zi(Y,z,K){Y=Y||[],z=z||[];var O=Y.map(Hr),$=z.map(Hr),pe=Y.reduce(ti,{}),de=z.reduce(ti,{}),Ie=O.slice(),$e=Object.create(null),pt,Kt,ir,Jt,vt,Pt,Wt;for(pt=0,Kt=0;pt<O.length;pt++)ir=O[pt],de.hasOwnProperty(ir)?Kt++:(K.push({command:oa.removeLayer,args:[ir]}),Ie.splice(Ie.indexOf(ir,Kt),1));for(pt=0,Kt=0;pt<$.length;pt++)ir=$[$.length-1-pt],Ie[Ie.length-1-pt]!==ir&&(pe.hasOwnProperty(ir)?(K.push({command:oa.removeLayer,args:[ir]}),Ie.splice(Ie.lastIndexOf(ir,Ie.length-Kt),1)):Kt++,Pt=Ie[Ie.length-pt],K.push({command:oa.addLayer,args:[de[ir],Pt]}),Ie.splice(Ie.length-pt,0,ir),$e[ir]=!0);for(pt=0;pt<$.length;pt++)if(ir=$[pt],Jt=pe[ir],vt=de[ir],!($e[ir]||i.deepEqual(Jt,vt))){if(!i.deepEqual(Jt.source,vt.source)||!i.deepEqual(Jt[\"source-layer\"],vt[\"source-layer\"])||!i.deepEqual(Jt.type,vt.type)){K.push({command:oa.removeLayer,args:[ir]}),Pt=Ie[Ie.lastIndexOf(ir)+1],K.push({command:oa.addLayer,args:[vt,Pt]});continue}br(Jt.layout,vt.layout,K,ir,null,oa.setLayoutProperty),br(Jt.paint,vt.paint,K,ir,null,oa.setPaintProperty),i.deepEqual(Jt.filter,vt.filter)||K.push({command:oa.setFilter,args:[ir,vt.filter]}),(!i.deepEqual(Jt.minzoom,vt.minzoom)||!i.deepEqual(Jt.maxzoom,vt.maxzoom))&&K.push({command:oa.setLayerZoomRange,args:[ir,vt.minzoom,vt.maxzoom]});for(Wt in Jt)Jt.hasOwnProperty(Wt)&&(Wt===\"layout\"||Wt===\"paint\"||Wt===\"filter\"||Wt===\"metadata\"||Wt===\"minzoom\"||Wt===\"maxzoom\"||(Wt.indexOf(\"paint.\")===0?br(Jt[Wt],vt[Wt],K,ir,Wt.slice(6),oa.setPaintProperty):i.deepEqual(Jt[Wt],vt[Wt])||K.push({command:oa.setLayerProperty,args:[ir,Wt,vt[Wt]]})));for(Wt in vt)!vt.hasOwnProperty(Wt)||Jt.hasOwnProperty(Wt)||Wt===\"layout\"||Wt===\"paint\"||Wt===\"filter\"||Wt===\"metadata\"||Wt===\"minzoom\"||Wt===\"maxzoom\"||(Wt.indexOf(\"paint.\")===0?br(Jt[Wt],vt[Wt],K,ir,Wt.slice(6),oa.setPaintProperty):i.deepEqual(Jt[Wt],vt[Wt])||K.push({command:oa.setLayerProperty,args:[ir,Wt,vt[Wt]]}))}}function Yi(Y,z){if(!Y)return[{command:oa.setStyle,args:[z]}];var K=[];try{if(!i.deepEqual(Y.version,z.version))return[{command:oa.setStyle,args:[z]}];i.deepEqual(Y.center,z.center)||K.push({command:oa.setCenter,args:[z.center]}),i.deepEqual(Y.zoom,z.zoom)||K.push({command:oa.setZoom,args:[z.zoom]}),i.deepEqual(Y.bearing,z.bearing)||K.push({command:oa.setBearing,args:[z.bearing]}),i.deepEqual(Y.pitch,z.pitch)||K.push({command:oa.setPitch,args:[z.pitch]}),i.deepEqual(Y.sprite,z.sprite)||K.push({command:oa.setSprite,args:[z.sprite]}),i.deepEqual(Y.glyphs,z.glyphs)||K.push({command:oa.setGlyphs,args:[z.glyphs]}),i.deepEqual(Y.transition,z.transition)||K.push({command:oa.setTransition,args:[z.transition]}),i.deepEqual(Y.light,z.light)||K.push({command:oa.setLight,args:[z.light]});var O={},$=[];_t(Y.sources,z.sources,$,O);var pe=[];Y.layers&&Y.layers.forEach(function(de){O[de.source]?K.push({command:oa.removeLayer,args:[de.id]}):pe.push(de)}),K=K.concat($),zi(pe,z.layers,K)}catch(de){console.warn(\"Unable to compute style diff:\",de),K=[{command:oa.setStyle,args:[z]}]}return K}var an=function(z,K){this.reset(z,K)};an.prototype.reset=function(z,K){this.points=z||[],this._distances=[0];for(var O=1;O<this.points.length;O++)this._distances[O]=this._distances[O-1]+this.points[O].dist(this.points[O-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(K||0,this.length*.5),this.paddedLength=this.length-this.padding*2},an.prototype.lerp=function(z){if(this.points.length===1)return this.points[0];z=i.clamp(z,0,1);for(var K=1,O=this._distances[K],$=z*this.paddedLength+this.padding;O<$&&K<this._distances.length;)O=this._distances[++K];var pe=K-1,de=this._distances[pe],Ie=O-de,$e=Ie>0?($-de)/Ie:0;return this.points[pe].mult(1-$e).add(this.points[K].mult($e))};var hi=function(z,K,O){var $=this.boxCells=[],pe=this.circleCells=[];this.xCellCount=Math.ceil(z/O),this.yCellCount=Math.ceil(K/O);for(var de=0;de<this.xCellCount*this.yCellCount;de++)$.push([]),pe.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=z,this.height=K,this.xScale=this.xCellCount/z,this.yScale=this.yCellCount/K,this.boxUid=0,this.circleUid=0};hi.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},hi.prototype.insert=function(z,K,O,$,pe){this._forEachCell(K,O,$,pe,this._insertBoxCell,this.boxUid++),this.boxKeys.push(z),this.bboxes.push(K),this.bboxes.push(O),this.bboxes.push($),this.bboxes.push(pe)},hi.prototype.insertCircle=function(z,K,O,$){this._forEachCell(K-$,O-$,K+$,O+$,this._insertCircleCell,this.circleUid++),this.circleKeys.push(z),this.circles.push(K),this.circles.push(O),this.circles.push($)},hi.prototype._insertBoxCell=function(z,K,O,$,pe,de){this.boxCells[pe].push(de)},hi.prototype._insertCircleCell=function(z,K,O,$,pe,de){this.circleCells[pe].push(de)},hi.prototype._query=function(z,K,O,$,pe,de){if(O<0||z>this.width||$<0||K>this.height)return pe?!1:[];var Ie=[];if(z<=0&&K<=0&&this.width<=O&&this.height<=$){if(pe)return!0;for(var $e=0;$e<this.boxKeys.length;$e++)Ie.push({key:this.boxKeys[$e],x1:this.bboxes[$e*4],y1:this.bboxes[$e*4+1],x2:this.bboxes[$e*4+2],y2:this.bboxes[$e*4+3]});for(var pt=0;pt<this.circleKeys.length;pt++){var Kt=this.circles[pt*3],ir=this.circles[pt*3+1],Jt=this.circles[pt*3+2];Ie.push({key:this.circleKeys[pt],x1:Kt-Jt,y1:ir-Jt,x2:Kt+Jt,y2:ir+Jt})}return de?Ie.filter(de):Ie}else{var vt={hitTest:pe,seenUids:{box:{},circle:{}}};return this._forEachCell(z,K,O,$,this._queryCell,Ie,vt,de),pe?Ie.length>0:Ie}},hi.prototype._queryCircle=function(z,K,O,$,pe){var de=z-O,Ie=z+O,$e=K-O,pt=K+O;if(Ie<0||de>this.width||pt<0||$e>this.height)return $?!1:[];var Kt=[],ir={hitTest:$,circle:{x:z,y:K,radius:O},seenUids:{box:{},circle:{}}};return this._forEachCell(de,$e,Ie,pt,this._queryCellCircle,Kt,ir,pe),$?Kt.length>0:Kt},hi.prototype.query=function(z,K,O,$,pe){return this._query(z,K,O,$,!1,pe)},hi.prototype.hitTest=function(z,K,O,$,pe){return this._query(z,K,O,$,!0,pe)},hi.prototype.hitTestCircle=function(z,K,O,$){return this._queryCircle(z,K,O,!0,$)},hi.prototype._queryCell=function(z,K,O,$,pe,de,Ie,$e){var pt=Ie.seenUids,Kt=this.boxCells[pe];if(Kt!==null)for(var ir=this.bboxes,Jt=0,vt=Kt;Jt<vt.length;Jt+=1){var Pt=vt[Jt];if(!pt.box[Pt]){pt.box[Pt]=!0;var Wt=Pt*4;if(z<=ir[Wt+2]&&K<=ir[Wt+3]&&O>=ir[Wt+0]&&$>=ir[Wt+1]&&(!$e||$e(this.boxKeys[Pt]))){if(Ie.hitTest)return de.push(!0),!0;de.push({key:this.boxKeys[Pt],x1:ir[Wt],y1:ir[Wt+1],x2:ir[Wt+2],y2:ir[Wt+3]})}}}var rr=this.circleCells[pe];if(rr!==null)for(var dr=this.circles,pr=0,kr=rr;pr<kr.length;pr+=1){var Ar=kr[pr];if(!pt.circle[Ar]){pt.circle[Ar]=!0;var gr=Ar*3;if(this._circleAndRectCollide(dr[gr],dr[gr+1],dr[gr+2],z,K,O,$)&&(!$e||$e(this.circleKeys[Ar]))){if(Ie.hitTest)return de.push(!0),!0;var Cr=dr[gr],cr=dr[gr+1],Gr=dr[gr+2];de.push({key:this.circleKeys[Ar],x1:Cr-Gr,y1:cr-Gr,x2:Cr+Gr,y2:cr+Gr})}}}},hi.prototype._queryCellCircle=function(z,K,O,$,pe,de,Ie,$e){var pt=Ie.circle,Kt=Ie.seenUids,ir=this.boxCells[pe];if(ir!==null)for(var Jt=this.bboxes,vt=0,Pt=ir;vt<Pt.length;vt+=1){var Wt=Pt[vt];if(!Kt.box[Wt]){Kt.box[Wt]=!0;var rr=Wt*4;if(this._circleAndRectCollide(pt.x,pt.y,pt.radius,Jt[rr+0],Jt[rr+1],Jt[rr+2],Jt[rr+3])&&(!$e||$e(this.boxKeys[Wt])))return de.push(!0),!0}}var dr=this.circleCells[pe];if(dr!==null)for(var pr=this.circles,kr=0,Ar=dr;kr<Ar.length;kr+=1){var gr=Ar[kr];if(!Kt.circle[gr]){Kt.circle[gr]=!0;var Cr=gr*3;if(this._circlesCollide(pr[Cr],pr[Cr+1],pr[Cr+2],pt.x,pt.y,pt.radius)&&(!$e||$e(this.circleKeys[gr])))return de.push(!0),!0}}},hi.prototype._forEachCell=function(z,K,O,$,pe,de,Ie,$e){for(var pt=this._convertToXCellCoord(z),Kt=this._convertToYCellCoord(K),ir=this._convertToXCellCoord(O),Jt=this._convertToYCellCoord($),vt=pt;vt<=ir;vt++)for(var Pt=Kt;Pt<=Jt;Pt++){var Wt=this.xCellCount*Pt+vt;if(pe.call(this,z,K,O,$,Wt,de,Ie,$e))return}},hi.prototype._convertToXCellCoord=function(z){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(z*this.xScale)))},hi.prototype._convertToYCellCoord=function(z){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(z*this.yScale)))},hi.prototype._circlesCollide=function(z,K,O,$,pe,de){var Ie=$-z,$e=pe-K,pt=O+de;return pt*pt>Ie*Ie+$e*$e},hi.prototype._circleAndRectCollide=function(z,K,O,$,pe,de,Ie){var $e=(de-$)/2,pt=Math.abs(z-($+$e));if(pt>$e+O)return!1;var Kt=(Ie-pe)/2,ir=Math.abs(K-(pe+Kt));if(ir>Kt+O)return!1;if(pt<=$e||ir<=Kt)return!0;var Jt=pt-$e,vt=ir-Kt;return Jt*Jt+vt*vt<=O*O};function Ji(Y,z,K,O,$){var pe=i.create();return z?(i.scale(pe,pe,[1/$,1/$,1]),K||i.rotateZ(pe,pe,O.angle)):i.multiply(pe,O.labelPlaneMatrix,Y),pe}function ua(Y,z,K,O,$){if(z){var pe=i.clone(Y);return i.scale(pe,pe,[$,$,1]),K||i.rotateZ(pe,pe,-O.angle),pe}else return O.glCoordMatrix}function Fn(Y,z){var K=[Y.x,Y.y,0,1];wl(K,K,z);var O=K[3];return{point:new i.Point(K[0]/O,K[1]/O),signedDistanceFromCamera:O}}function Sa(Y,z){return .5+.5*(Y/z)}function go(Y,z){var K=Y[0]/Y[3],O=Y[1]/Y[3],$=K>=-z[0]&&K<=z[0]&&O>=-z[1]&&O<=z[1];return $}function Oo(Y,z,K,O,$,pe,de,Ie){var $e=O?Y.textSizeData:Y.iconSizeData,pt=i.evaluateSizeForZoom($e,K.transform.zoom),Kt=[256/K.width*2+1,256/K.height*2+1],ir=O?Y.text.dynamicLayoutVertexArray:Y.icon.dynamicLayoutVertexArray;ir.clear();for(var Jt=Y.lineVertexArray,vt=O?Y.text.placedSymbolArray:Y.icon.placedSymbolArray,Pt=K.transform.width/K.transform.height,Wt=!1,rr=0;rr<vt.length;rr++){var dr=vt.get(rr);if(dr.hidden||dr.writingMode===i.WritingMode.vertical&&!Wt){Xs(dr.numGlyphs,ir);continue}Wt=!1;var pr=[dr.anchorX,dr.anchorY,0,1];if(i.transformMat4(pr,pr,z),!go(pr,Kt)){Xs(dr.numGlyphs,ir);continue}var kr=pr[3],Ar=Sa(K.transform.cameraToCenterDistance,kr),gr=i.evaluateSizeForFeature($e,pt,dr),Cr=de?gr/Ar:gr*Ar,cr=new i.Point(dr.anchorX,dr.anchorY),Gr=Fn(cr,$).point,ei={},yi=xo(dr,Cr,!1,Ie,z,$,pe,Y.glyphOffsetArray,Jt,ir,Gr,cr,ei,Pt);Wt=yi.useVertical,(yi.notEnoughRoom||Wt||yi.needsFlipping&&xo(dr,Cr,!0,Ie,z,$,pe,Y.glyphOffsetArray,Jt,ir,Gr,cr,ei,Pt).notEnoughRoom)&&Xs(dr.numGlyphs,ir)}O?Y.text.dynamicLayoutVertexBuffer.updateData(ir):Y.icon.dynamicLayoutVertexBuffer.updateData(ir)}function ho(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt){var ir=Ie.glyphStartIndex+Ie.numGlyphs,Jt=Ie.lineStartIndex,vt=Ie.lineStartIndex+Ie.lineLength,Pt=z.getoffsetX(Ie.glyphStartIndex),Wt=z.getoffsetX(ir-1),rr=ks(Y*Pt,K,O,$,pe,de,Ie.segment,Jt,vt,$e,pt,Kt);if(!rr)return null;var dr=ks(Y*Wt,K,O,$,pe,de,Ie.segment,Jt,vt,$e,pt,Kt);return dr?{first:rr,last:dr}:null}function Mo(Y,z,K,O){if(Y===i.WritingMode.horizontal){var $=Math.abs(K.y-z.y),pe=Math.abs(K.x-z.x)*O;if($>pe)return{useVertical:!0}}return(Y===i.WritingMode.vertical?z.y<K.y:z.x>K.x)?{needsFlipping:!0}:null}function xo(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt,ir,Jt,vt){var Pt=z/24,Wt=Y.lineOffsetX*Pt,rr=Y.lineOffsetY*Pt,dr;if(Y.numGlyphs>1){var pr=Y.glyphStartIndex+Y.numGlyphs,kr=Y.lineStartIndex,Ar=Y.lineStartIndex+Y.lineLength,gr=ho(Pt,Ie,Wt,rr,K,Kt,ir,Y,$e,pe,Jt);if(!gr)return{notEnoughRoom:!0};var Cr=Fn(gr.first.point,de).point,cr=Fn(gr.last.point,de).point;if(O&&!K){var Gr=Mo(Y.writingMode,Cr,cr,vt);if(Gr)return Gr}dr=[gr.first];for(var ei=Y.glyphStartIndex+1;ei<pr-1;ei++)dr.push(ks(Pt*Ie.getoffsetX(ei),Wt,rr,K,Kt,ir,Y.segment,kr,Ar,$e,pe,Jt));dr.push(gr.last)}else{if(O&&!K){var yi=Fn(ir,$).point,tn=Y.lineStartIndex+Y.segment+1,Ri=new i.Point($e.getx(tn),$e.gety(tn)),ln=Fn(Ri,$),Qn=ln.signedDistanceFromCamera>0?ln.point:zs(ir,Ri,yi,1,$),qn=Mo(Y.writingMode,yi,Qn,vt);if(qn)return qn}var rn=ks(Pt*Ie.getoffsetX(Y.glyphStartIndex),Wt,rr,K,Kt,ir,Y.segment,Y.lineStartIndex,Y.lineStartIndex+Y.lineLength,$e,pe,Jt);if(!rn)return{notEnoughRoom:!0};dr=[rn]}for(var bn=0,mn=dr;bn<mn.length;bn+=1){var Gn=mn[bn];i.addDynamicAttributes(pt,Gn.point,Gn.angle)}return{}}function zs(Y,z,K,O,$){var pe=Fn(Y.add(Y.sub(z)._unit()),$).point,de=K.sub(pe);return K.add(de._mult(O/de.mag()))}function ks(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt,ir){var Jt=O?Y-z:Y+z,vt=Jt>0?1:-1,Pt=0;O&&(vt*=-1,Pt=Math.PI),vt<0&&(Pt+=Math.PI);for(var Wt=vt>0?Ie+de:Ie+de+1,rr=$,dr=$,pr=0,kr=0,Ar=Math.abs(Jt),gr=[];pr+kr<=Ar;){if(Wt+=vt,Wt<Ie||Wt>=$e)return null;if(dr=rr,gr.push(rr),rr=ir[Wt],rr===void 0){var Cr=new i.Point(pt.getx(Wt),pt.gety(Wt)),cr=Fn(Cr,Kt);if(cr.signedDistanceFromCamera>0)rr=ir[Wt]=cr.point;else{var Gr=Wt-vt,ei=pr===0?pe:new i.Point(pt.getx(Gr),pt.gety(Gr));rr=zs(ei,Cr,dr,Ar-pr+1,Kt)}}pr+=kr,kr=dr.dist(rr)}var yi=(Ar-pr)/kr,tn=rr.sub(dr),Ri=tn.mult(yi)._add(dr);Ri._add(tn._unit()._perp()._mult(K*vt));var ln=Pt+Math.atan2(rr.y-dr.y,rr.x-dr.x);return gr.push(Ri),{point:Ri,angle:ln,path:gr}}var Zs=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Xs(Y,z){for(var K=0;K<Y;K++){var O=z.length;z.resize(O+4),z.float32.set(Zs,O*3)}}function wl(Y,z,K){var O=z[0],$=z[1];return Y[0]=K[0]*O+K[4]*$+K[12],Y[1]=K[1]*O+K[5]*$+K[13],Y[3]=K[3]*O+K[7]*$+K[15],Y}var os=100,cl=function(z,K,O){K===void 0&&(K=new hi(z.width+2*os,z.height+2*os,25)),O===void 0&&(O=new hi(z.width+2*os,z.height+2*os,25)),this.transform=z,this.grid=K,this.ignoredGrid=O,this.pitchfactor=Math.cos(z._pitch)*z.cameraToCenterDistance,this.screenRightBoundary=z.width+os,this.screenBottomBoundary=z.height+os,this.gridRightBoundary=z.width+2*os,this.gridBottomBoundary=z.height+2*os};cl.prototype.placeCollisionBox=function(z,K,O,$,pe){var de=this.projectAndGetPerspectiveRatio($,z.anchorPointX,z.anchorPointY),Ie=O*de.perspectiveRatio,$e=z.x1*Ie+de.point.x,pt=z.y1*Ie+de.point.y,Kt=z.x2*Ie+de.point.x,ir=z.y2*Ie+de.point.y;return!this.isInsideGrid($e,pt,Kt,ir)||!K&&this.grid.hitTest($e,pt,Kt,ir,pe)?{box:[],offscreen:!1}:{box:[$e,pt,Kt,ir],offscreen:this.isOffscreen($e,pt,Kt,ir)}},cl.prototype.placeCollisionCircles=function(z,K,O,$,pe,de,Ie,$e,pt,Kt,ir,Jt,vt){var Pt=[],Wt=new i.Point(K.anchorX,K.anchorY),rr=Fn(Wt,de),dr=Sa(this.transform.cameraToCenterDistance,rr.signedDistanceFromCamera),pr=Kt?pe/dr:pe*dr,kr=pr/i.ONE_EM,Ar=Fn(Wt,Ie).point,gr={},Cr=K.lineOffsetX*kr,cr=K.lineOffsetY*kr,Gr=ho(kr,$,Cr,cr,!1,Ar,Wt,K,O,Ie,gr),ei=!1,yi=!1,tn=!0;if(Gr){for(var Ri=Jt*.5*dr+vt,ln=new i.Point(-os,-os),Qn=new i.Point(this.screenRightBoundary,this.screenBottomBoundary),qn=new an,rn=Gr.first,bn=Gr.last,mn=[],Gn=rn.path.length-1;Gn>=1;Gn--)mn.push(rn.path[Gn]);for(var da=1;da<bn.path.length;da++)mn.push(bn.path[da]);var No=Ri*2.5;if($e){var Do=mn.map(function(Cv){return Fn(Cv,$e)});Do.some(function(Cv){return Cv.signedDistanceFromCamera<=0})?mn=[]:mn=Do.map(function(Cv){return Cv.point})}var ps=[];if(mn.length>0){for(var fo=mn[0].clone(),as=mn[0].clone(),tl=1;tl<mn.length;tl++)fo.x=Math.min(fo.x,mn[tl].x),fo.y=Math.min(fo.y,mn[tl].y),as.x=Math.max(as.x,mn[tl].x),as.y=Math.max(as.y,mn[tl].y);fo.x>=ln.x&&as.x<=Qn.x&&fo.y>=ln.y&&as.y<=Qn.y?ps=[mn]:as.x<ln.x||fo.x>Qn.x||as.y<ln.y||fo.y>Qn.y?ps=[]:ps=i.clipLine([mn],ln.x,ln.y,Qn.x,Qn.y)}for(var zu=0,Mv=ps;zu<Mv.length;zu+=1){var Ev=Mv[zu];qn.reset(Ev,Ri*.25);var yd=0;qn.length<=.5*Ri?yd=1:yd=Math.ceil(qn.paddedLength/No)+1;for(var Yv=0;Yv<yd;Yv++){var cg=Yv/Math.max(yd-1,1),vp=qn.lerp(cg),_d=vp.x+os,pp=vp.y+os;Pt.push(_d,pp,Ri,0);var Nd=_d-Ri,xd=pp-Ri,kv=_d+Ri,Kv=pp+Ri;if(tn=tn&&this.isOffscreen(Nd,xd,kv,Kv),yi=yi||this.isInsideGrid(Nd,xd,kv,Kv),!z&&this.grid.hitTestCircle(_d,pp,Ri,ir)&&(ei=!0,!pt))return{circles:[],offscreen:!1,collisionDetected:ei}}}}return{circles:!pt&&ei||!yi?[]:Pt,offscreen:tn,collisionDetected:ei}},cl.prototype.queryRenderedSymbols=function(z){if(z.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};for(var K=[],O=1/0,$=1/0,pe=-1/0,de=-1/0,Ie=0,$e=z;Ie<$e.length;Ie+=1){var pt=$e[Ie],Kt=new i.Point(pt.x+os,pt.y+os);O=Math.min(O,Kt.x),$=Math.min($,Kt.y),pe=Math.max(pe,Kt.x),de=Math.max(de,Kt.y),K.push(Kt)}for(var ir=this.grid.query(O,$,pe,de).concat(this.ignoredGrid.query(O,$,pe,de)),Jt={},vt={},Pt=0,Wt=ir;Pt<Wt.length;Pt+=1){var rr=Wt[Pt],dr=rr.key;if(Jt[dr.bucketInstanceId]===void 0&&(Jt[dr.bucketInstanceId]={}),!Jt[dr.bucketInstanceId][dr.featureIndex]){var pr=[new i.Point(rr.x1,rr.y1),new i.Point(rr.x2,rr.y1),new i.Point(rr.x2,rr.y2),new i.Point(rr.x1,rr.y2)];i.polygonIntersectsPolygon(K,pr)&&(Jt[dr.bucketInstanceId][dr.featureIndex]=!0,vt[dr.bucketInstanceId]===void 0&&(vt[dr.bucketInstanceId]=[]),vt[dr.bucketInstanceId].push(dr.featureIndex))}}return vt},cl.prototype.insertCollisionBox=function(z,K,O,$,pe){var de=K?this.ignoredGrid:this.grid,Ie={bucketInstanceId:O,featureIndex:$,collisionGroupID:pe};de.insert(Ie,z[0],z[1],z[2],z[3])},cl.prototype.insertCollisionCircles=function(z,K,O,$,pe){for(var de=K?this.ignoredGrid:this.grid,Ie={bucketInstanceId:O,featureIndex:$,collisionGroupID:pe},$e=0;$e<z.length;$e+=4)de.insertCircle(Ie,z[$e],z[$e+1],z[$e+2])},cl.prototype.projectAndGetPerspectiveRatio=function(z,K,O){var $=[K,O,0,1];wl($,$,z);var pe=new i.Point(($[0]/$[3]+1)/2*this.transform.width+os,(-$[1]/$[3]+1)/2*this.transform.height+os);return{point:pe,perspectiveRatio:.5+.5*(this.transform.cameraToCenterDistance/$[3])}},cl.prototype.isOffscreen=function(z,K,O,$){return O<os||z>=this.screenRightBoundary||$<os||K>this.screenBottomBoundary},cl.prototype.isInsideGrid=function(z,K,O,$){return O>=0&&z<this.gridRightBoundary&&$>=0&&K<this.gridBottomBoundary},cl.prototype.getViewportMatrix=function(){var z=i.identity([]);return i.translate(z,z,[-os,-os,0]),z};function Cs(Y,z,K){return z*(i.EXTENT/(Y.tileSize*Math.pow(2,K-Y.tileID.overscaledZ)))}var ml=function(z,K,O,$){z?this.opacity=Math.max(0,Math.min(1,z.opacity+(z.placed?K:-K))):this.opacity=$&&O?1:0,this.placed=O};ml.prototype.isHidden=function(){return this.opacity===0&&!this.placed};var Ys=function(z,K,O,$,pe){this.text=new ml(z?z.text:null,K,O,pe),this.icon=new ml(z?z.icon:null,K,$,pe)};Ys.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var Hs=function(z,K,O){this.text=z,this.icon=K,this.skipFade=O},Eo=function(){this.invProjMatrix=i.create(),this.viewportMatrix=i.create(),this.circles=[]},fs=function(z,K,O,$,pe){this.bucketInstanceId=z,this.featureIndex=K,this.sourceLayerIndex=O,this.bucketIndex=$,this.tileID=pe},Ql=function(z){this.crossSourceCollisions=z,this.maxGroupID=0,this.collisionGroups={}};Ql.prototype.get=function(z){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[z]){var K=++this.maxGroupID;this.collisionGroups[z]={ID:K,predicate:function(O){return O.collisionGroupID===K}}}return this.collisionGroups[z]};function Hu(Y,z,K,O,$){var pe=i.getAnchorAlignment(Y),de=pe.horizontalAlign,Ie=pe.verticalAlign,$e=-(de-.5)*z,pt=-(Ie-.5)*K,Kt=i.evaluateVariableOffset(Y,O);return new i.Point($e+Kt[0]*$,pt+Kt[1]*$)}function fc(Y,z,K,O,$,pe){var de=Y.x1,Ie=Y.x2,$e=Y.y1,pt=Y.y2,Kt=Y.anchorPointX,ir=Y.anchorPointY,Jt=new i.Point(z,K);return O&&Jt._rotate($?pe:-pe),{x1:de+Jt.x,y1:$e+Jt.y,x2:Ie+Jt.x,y2:pt+Jt.y,anchorPointX:Kt,anchorPointY:ir}}var ms=function(z,K,O,$){this.transform=z.clone(),this.collisionIndex=new cl(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=K,this.retainedQueryData={},this.collisionGroups=new Ql(O),this.collisionCircleArrays={},this.prevPlacement=$,$&&($.prevPlacement=void 0),this.placedOrientations={}};ms.prototype.getBucketParts=function(z,K,O,$){var pe=O.getBucket(K),de=O.latestFeatureIndex;if(!(!pe||!de||K.id!==pe.layerIds[0])){var Ie=O.collisionBoxArray,$e=pe.layers[0].layout,pt=Math.pow(2,this.transform.zoom-O.tileID.overscaledZ),Kt=O.tileSize/i.EXTENT,ir=this.transform.calculatePosMatrix(O.tileID.toUnwrapped()),Jt=$e.get(\"text-pitch-alignment\")===\"map\",vt=$e.get(\"text-rotation-alignment\")===\"map\",Pt=Cs(O,1,this.transform.zoom),Wt=Ji(ir,Jt,vt,this.transform,Pt),rr=null;if(Jt){var dr=ua(ir,Jt,vt,this.transform,Pt);rr=i.multiply([],this.transform.labelPlaneMatrix,dr)}this.retainedQueryData[pe.bucketInstanceId]=new fs(pe.bucketInstanceId,de,pe.sourceLayerIndex,pe.index,O.tileID);var pr={bucket:pe,layout:$e,posMatrix:ir,textLabelPlaneMatrix:Wt,labelToScreenMatrix:rr,scale:pt,textPixelRatio:Kt,holdingForFade:O.holdingForFade(),collisionBoxArray:Ie,partiallyEvaluatedTextSize:i.evaluateSizeForZoom(pe.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(pe.sourceID)};if($)for(var kr=0,Ar=pe.sortKeyRanges;kr<Ar.length;kr+=1){var gr=Ar[kr],Cr=gr.sortKey,cr=gr.symbolInstanceStart,Gr=gr.symbolInstanceEnd;z.push({sortKey:Cr,symbolInstanceStart:cr,symbolInstanceEnd:Gr,parameters:pr})}else z.push({symbolInstanceStart:0,symbolInstanceEnd:pe.symbolInstances.length,parameters:pr})}},ms.prototype.attemptAnchorPlacement=function(z,K,O,$,pe,de,Ie,$e,pt,Kt,ir,Jt,vt,Pt,Wt){var rr=[Jt.textOffset0,Jt.textOffset1],dr=Hu(z,O,$,rr,pe),pr=this.collisionIndex.placeCollisionBox(fc(K,dr.x,dr.y,de,Ie,this.transform.angle),ir,$e,pt,Kt.predicate);if(Wt){var kr=this.collisionIndex.placeCollisionBox(fc(Wt,dr.x,dr.y,de,Ie,this.transform.angle),ir,$e,pt,Kt.predicate);if(kr.box.length===0)return}if(pr.box.length>0){var Ar;return this.prevPlacement&&this.prevPlacement.variableOffsets[Jt.crossTileID]&&this.prevPlacement.placements[Jt.crossTileID]&&this.prevPlacement.placements[Jt.crossTileID].text&&(Ar=this.prevPlacement.variableOffsets[Jt.crossTileID].anchor),this.variableOffsets[Jt.crossTileID]={textOffset:rr,width:O,height:$,anchor:z,textBoxScale:pe,prevAnchor:Ar},this.markUsedJustification(vt,z,Jt,Pt),vt.allowVerticalPlacement&&(this.markUsedOrientation(vt,Pt,Jt),this.placedOrientations[Jt.crossTileID]=Pt),{shift:dr,placedGlyphBoxes:pr}}},ms.prototype.placeLayerBucketPart=function(z,K,O){var $=this,pe=z.parameters,de=pe.bucket,Ie=pe.layout,$e=pe.posMatrix,pt=pe.textLabelPlaneMatrix,Kt=pe.labelToScreenMatrix,ir=pe.textPixelRatio,Jt=pe.holdingForFade,vt=pe.collisionBoxArray,Pt=pe.partiallyEvaluatedTextSize,Wt=pe.collisionGroup,rr=Ie.get(\"text-optional\"),dr=Ie.get(\"icon-optional\"),pr=Ie.get(\"text-allow-overlap\"),kr=Ie.get(\"icon-allow-overlap\"),Ar=Ie.get(\"text-rotation-alignment\")===\"map\",gr=Ie.get(\"text-pitch-alignment\")===\"map\",Cr=Ie.get(\"icon-text-fit\")!==\"none\",cr=Ie.get(\"symbol-z-order\")===\"viewport-y\",Gr=pr&&(kr||!de.hasIconData()||dr),ei=kr&&(pr||!de.hasTextData()||rr);!de.collisionArrays&&vt&&de.deserializeCollisionBoxes(vt);var yi=function(rn,bn){if(!K[rn.crossTileID]){if(Jt){$.placements[rn.crossTileID]=new Hs(!1,!1,!1);return}var mn=!1,Gn=!1,da=!0,No=null,Do={box:null,offscreen:null},ps={box:null,offscreen:null},fo=null,as=null,tl=null,zu=0,Mv=0,Ev=0;bn.textFeatureIndex?zu=bn.textFeatureIndex:rn.useRuntimeCollisionCircles&&(zu=rn.featureIndex),bn.verticalTextFeatureIndex&&(Mv=bn.verticalTextFeatureIndex);var yd=bn.textBox;if(yd){var Yv=function(Fu){var kl=i.WritingMode.horizontal;if(de.allowVerticalPlacement&&!Fu&&$.prevPlacement){var bd=$.prevPlacement.placedOrientations[rn.crossTileID];bd&&($.placedOrientations[rn.crossTileID]=bd,kl=bd,$.markUsedOrientation(de,kl,rn))}return kl},cg=function(Fu,kl){if(de.allowVerticalPlacement&&rn.numVerticalGlyphVertices>0&&bn.verticalTextBox)for(var bd=0,sy=de.writingModes;bd<sy.length;bd+=1){var A1=sy[bd];if(A1===i.WritingMode.vertical?(Do=kl(),ps=Do):Do=Fu(),Do&&Do.box&&Do.box.length)break}else Do=Fu()};if(Ie.get(\"text-variable-anchor\")){var Nd=Ie.get(\"text-variable-anchor\");if($.prevPlacement&&$.prevPlacement.variableOffsets[rn.crossTileID]){var xd=$.prevPlacement.variableOffsets[rn.crossTileID];Nd.indexOf(xd.anchor)>0&&(Nd=Nd.filter(function(Fu){return Fu!==xd.anchor}),Nd.unshift(xd.anchor))}var kv=function(Fu,kl,bd){for(var sy=Fu.x2-Fu.x1,A1=Fu.y2-Fu.y1,Kl=rn.textBoxScale,Nx=Cr&&!kr?kl:null,am={box:[],offscreen:!1},Mw=pr?Nd.length*2:Nd.length,Lv=0;Lv<Mw;++Lv){var om=Nd[Lv%Nd.length],Ew=Lv>=Nd.length,Ux=$.attemptAnchorPlacement(om,Fu,sy,A1,Kl,Ar,gr,ir,$e,Wt,Ew,rn,de,bd,Nx);if(Ux&&(am=Ux.placedGlyphBoxes,am&&am.box&&am.box.length)){mn=!0,No=Ux.shift;break}}return am},Kv=function(){return kv(yd,bn.iconBox,i.WritingMode.horizontal)},Cv=function(){var Fu=bn.verticalTextBox,kl=Do&&Do.box&&Do.box.length;return de.allowVerticalPlacement&&!kl&&rn.numVerticalGlyphVertices>0&&Fu?kv(Fu,bn.verticalIconBox,i.WritingMode.vertical):{box:null,offscreen:null}};cg(Kv,Cv),Do&&(mn=Do.box,da=Do.offscreen);var ny=Yv(Do&&Do.box);if(!mn&&$.prevPlacement){var fg=$.prevPlacement.variableOffsets[rn.crossTileID];fg&&($.variableOffsets[rn.crossTileID]=fg,$.markUsedJustification(de,fg.anchor,rn,ny))}}else{var vp=function(Fu,kl){var bd=$.collisionIndex.placeCollisionBox(Fu,pr,ir,$e,Wt.predicate);return bd&&bd.box&&bd.box.length&&($.markUsedOrientation(de,kl,rn),$.placedOrientations[rn.crossTileID]=kl),bd},_d=function(){return vp(yd,i.WritingMode.horizontal)},pp=function(){var Fu=bn.verticalTextBox;return de.allowVerticalPlacement&&rn.numVerticalGlyphVertices>0&&Fu?vp(Fu,i.WritingMode.vertical):{box:null,offscreen:null}};cg(_d,pp),Yv(Do&&Do.box&&Do.box.length)}}if(fo=Do,mn=fo&&fo.box&&fo.box.length>0,da=fo&&fo.offscreen,rn.useRuntimeCollisionCircles){var Hf=de.text.placedSymbolArray.get(rn.centerJustifiedTextSymbolIndex),hg=i.evaluateSizeForFeature(de.textSizeData,Pt,Hf),ay=Ie.get(\"text-padding\"),Rh=rn.collisionCircleDiameter;as=$.collisionIndex.placeCollisionCircles(pr,Hf,de.lineVertexArray,de.glyphOffsetArray,hg,$e,pt,Kt,O,gr,Wt.predicate,Rh,ay),mn=pr||as.circles.length>0&&!as.collisionDetected,da=da&&as.offscreen}if(bn.iconFeatureIndex&&(Ev=bn.iconFeatureIndex),bn.iconBox){var rm=function(Fu){var kl=Cr&&No?fc(Fu,No.x,No.y,Ar,gr,$.transform.angle):Fu;return $.collisionIndex.placeCollisionBox(kl,kr,ir,$e,Wt.predicate)};ps&&ps.box&&ps.box.length&&bn.verticalIconBox?(tl=rm(bn.verticalIconBox),Gn=tl.box.length>0):(tl=rm(bn.iconBox),Gn=tl.box.length>0),da=da&&tl.offscreen}var w1=rr||rn.numHorizontalGlyphVertices===0&&rn.numVerticalGlyphVertices===0,T1=dr||rn.numIconVertices===0;if(!w1&&!T1?Gn=mn=Gn&&mn:T1?w1||(Gn=Gn&&mn):mn=Gn&&mn,mn&&fo&&fo.box&&(ps&&ps.box&&Mv?$.collisionIndex.insertCollisionBox(fo.box,Ie.get(\"text-ignore-placement\"),de.bucketInstanceId,Mv,Wt.ID):$.collisionIndex.insertCollisionBox(fo.box,Ie.get(\"text-ignore-placement\"),de.bucketInstanceId,zu,Wt.ID)),Gn&&tl&&$.collisionIndex.insertCollisionBox(tl.box,Ie.get(\"icon-ignore-placement\"),de.bucketInstanceId,Ev,Wt.ID),as&&(mn&&$.collisionIndex.insertCollisionCircles(as.circles,Ie.get(\"text-ignore-placement\"),de.bucketInstanceId,zu,Wt.ID),O)){var oy=de.bucketInstanceId,im=$.collisionCircleArrays[oy];im===void 0&&(im=$.collisionCircleArrays[oy]=new Eo);for(var nm=0;nm<as.circles.length;nm+=4)im.circles.push(as.circles[nm+0]),im.circles.push(as.circles[nm+1]),im.circles.push(as.circles[nm+2]),im.circles.push(as.collisionDetected?1:0)}$.placements[rn.crossTileID]=new Hs(mn||Gr,Gn||ei,da||de.justReloaded),K[rn.crossTileID]=!0}};if(cr)for(var tn=de.getSortedSymbolIndexes(this.transform.angle),Ri=tn.length-1;Ri>=0;--Ri){var ln=tn[Ri];yi(de.symbolInstances.get(ln),de.collisionArrays[ln])}else for(var Qn=z.symbolInstanceStart;Qn<z.symbolInstanceEnd;Qn++)yi(de.symbolInstances.get(Qn),de.collisionArrays[Qn]);if(O&&de.bucketInstanceId in this.collisionCircleArrays){var qn=this.collisionCircleArrays[de.bucketInstanceId];i.invert(qn.invProjMatrix,$e),qn.viewportMatrix=this.collisionIndex.getViewportMatrix()}de.justReloaded=!1},ms.prototype.markUsedJustification=function(z,K,O,$){var pe={left:O.leftJustifiedTextSymbolIndex,center:O.centerJustifiedTextSymbolIndex,right:O.rightJustifiedTextSymbolIndex},de;$===i.WritingMode.vertical?de=O.verticalPlacedTextSymbolIndex:de=pe[i.getAnchorJustification(K)];for(var Ie=[O.leftJustifiedTextSymbolIndex,O.centerJustifiedTextSymbolIndex,O.rightJustifiedTextSymbolIndex,O.verticalPlacedTextSymbolIndex],$e=0,pt=Ie;$e<pt.length;$e+=1){var Kt=pt[$e];Kt>=0&&(de>=0&&Kt!==de?z.text.placedSymbolArray.get(Kt).crossTileID=0:z.text.placedSymbolArray.get(Kt).crossTileID=O.crossTileID)}},ms.prototype.markUsedOrientation=function(z,K,O){for(var $=K===i.WritingMode.horizontal||K===i.WritingMode.horizontalOnly?K:0,pe=K===i.WritingMode.vertical?K:0,de=[O.leftJustifiedTextSymbolIndex,O.centerJustifiedTextSymbolIndex,O.rightJustifiedTextSymbolIndex],Ie=0,$e=de;Ie<$e.length;Ie+=1){var pt=$e[Ie];z.text.placedSymbolArray.get(pt).placedOrientation=$}O.verticalPlacedTextSymbolIndex&&(z.text.placedSymbolArray.get(O.verticalPlacedTextSymbolIndex).placedOrientation=pe)},ms.prototype.commit=function(z){this.commitTime=z,this.zoomAtLastRecencyCheck=this.transform.zoom;var K=this.prevPlacement,O=!1;this.prevZoomAdjustment=K?K.zoomAdjustment(this.transform.zoom):0;var $=K?K.symbolFadeChange(z):1,pe=K?K.opacities:{},de=K?K.variableOffsets:{},Ie=K?K.placedOrientations:{};for(var $e in this.placements){var pt=this.placements[$e],Kt=pe[$e];Kt?(this.opacities[$e]=new Ys(Kt,$,pt.text,pt.icon),O=O||pt.text!==Kt.text.placed||pt.icon!==Kt.icon.placed):(this.opacities[$e]=new Ys(null,$,pt.text,pt.icon,pt.skipFade),O=O||pt.text||pt.icon)}for(var ir in pe){var Jt=pe[ir];if(!this.opacities[ir]){var vt=new Ys(Jt,$,!1,!1);vt.isHidden()||(this.opacities[ir]=vt,O=O||Jt.text.placed||Jt.icon.placed)}}for(var Pt in de)!this.variableOffsets[Pt]&&this.opacities[Pt]&&!this.opacities[Pt].isHidden()&&(this.variableOffsets[Pt]=de[Pt]);for(var Wt in Ie)!this.placedOrientations[Wt]&&this.opacities[Wt]&&!this.opacities[Wt].isHidden()&&(this.placedOrientations[Wt]=Ie[Wt]);O?this.lastPlacementChangeTime=z:typeof this.lastPlacementChangeTime!=\"number\"&&(this.lastPlacementChangeTime=K?K.lastPlacementChangeTime:z)},ms.prototype.updateLayerOpacities=function(z,K){for(var O={},$=0,pe=K;$<pe.length;$+=1){var de=pe[$],Ie=de.getBucket(z);Ie&&de.latestFeatureIndex&&z.id===Ie.layerIds[0]&&this.updateBucketOpacities(Ie,O,de.collisionBoxArray)}},ms.prototype.updateBucketOpacities=function(z,K,O){var $=this;z.hasTextData()&&z.text.opacityVertexArray.clear(),z.hasIconData()&&z.icon.opacityVertexArray.clear(),z.hasIconCollisionBoxData()&&z.iconCollisionBox.collisionVertexArray.clear(),z.hasTextCollisionBoxData()&&z.textCollisionBox.collisionVertexArray.clear();var pe=z.layers[0].layout,de=new Ys(null,0,!1,!1,!0),Ie=pe.get(\"text-allow-overlap\"),$e=pe.get(\"icon-allow-overlap\"),pt=pe.get(\"text-variable-anchor\"),Kt=pe.get(\"text-rotation-alignment\")===\"map\",ir=pe.get(\"text-pitch-alignment\")===\"map\",Jt=pe.get(\"icon-text-fit\")!==\"none\",vt=new Ys(null,0,Ie&&($e||!z.hasIconData()||pe.get(\"icon-optional\")),$e&&(Ie||!z.hasTextData()||pe.get(\"text-optional\")),!0);!z.collisionArrays&&O&&(z.hasIconCollisionBoxData()||z.hasTextCollisionBoxData())&&z.deserializeCollisionBoxes(O);for(var Pt=function(pr,kr,Ar){for(var gr=0;gr<kr/4;gr++)pr.opacityVertexArray.emplaceBack(Ar)},Wt=function(pr){var kr=z.symbolInstances.get(pr),Ar=kr.numHorizontalGlyphVertices,gr=kr.numVerticalGlyphVertices,Cr=kr.crossTileID,cr=K[Cr],Gr=$.opacities[Cr];cr?Gr=de:Gr||(Gr=vt,$.opacities[Cr]=Gr),K[Cr]=!0;var ei=Ar>0||gr>0,yi=kr.numIconVertices>0,tn=$.placedOrientations[kr.crossTileID],Ri=tn===i.WritingMode.vertical,ln=tn===i.WritingMode.horizontal||tn===i.WritingMode.horizontalOnly;if(ei){var Qn=Ec(Gr.text),qn=Ri?Zn:Qn;Pt(z.text,Ar,qn);var rn=ln?Zn:Qn;Pt(z.text,gr,rn);var bn=Gr.text.isHidden();[kr.rightJustifiedTextSymbolIndex,kr.centerJustifiedTextSymbolIndex,kr.leftJustifiedTextSymbolIndex].forEach(function(Ev){Ev>=0&&(z.text.placedSymbolArray.get(Ev).hidden=bn||Ri?1:0)}),kr.verticalPlacedTextSymbolIndex>=0&&(z.text.placedSymbolArray.get(kr.verticalPlacedTextSymbolIndex).hidden=bn||ln?1:0);var mn=$.variableOffsets[kr.crossTileID];mn&&$.markUsedJustification(z,mn.anchor,kr,tn);var Gn=$.placedOrientations[kr.crossTileID];Gn&&($.markUsedJustification(z,\"left\",kr,Gn),$.markUsedOrientation(z,Gn,kr))}if(yi){var da=Ec(Gr.icon),No=!(Jt&&kr.verticalPlacedIconSymbolIndex&&Ri);if(kr.placedIconSymbolIndex>=0){var Do=No?da:Zn;Pt(z.icon,kr.numIconVertices,Do),z.icon.placedSymbolArray.get(kr.placedIconSymbolIndex).hidden=Gr.icon.isHidden()}if(kr.verticalPlacedIconSymbolIndex>=0){var ps=No?Zn:da;Pt(z.icon,kr.numVerticalIconVertices,ps),z.icon.placedSymbolArray.get(kr.verticalPlacedIconSymbolIndex).hidden=Gr.icon.isHidden()}}if(z.hasIconCollisionBoxData()||z.hasTextCollisionBoxData()){var fo=z.collisionArrays[pr];if(fo){var as=new i.Point(0,0);if(fo.textBox||fo.verticalTextBox){var tl=!0;if(pt){var zu=$.variableOffsets[Cr];zu?(as=Hu(zu.anchor,zu.width,zu.height,zu.textOffset,zu.textBoxScale),Kt&&as._rotate(ir?$.transform.angle:-$.transform.angle)):tl=!1}fo.textBox&&on(z.textCollisionBox.collisionVertexArray,Gr.text.placed,!tl||Ri,as.x,as.y),fo.verticalTextBox&&on(z.textCollisionBox.collisionVertexArray,Gr.text.placed,!tl||ln,as.x,as.y)}var Mv=!!(!ln&&fo.verticalIconBox);fo.iconBox&&on(z.iconCollisionBox.collisionVertexArray,Gr.icon.placed,Mv,Jt?as.x:0,Jt?as.y:0),fo.verticalIconBox&&on(z.iconCollisionBox.collisionVertexArray,Gr.icon.placed,!Mv,Jt?as.x:0,Jt?as.y:0)}}},rr=0;rr<z.symbolInstances.length;rr++)Wt(rr);if(z.sortFeatures(this.transform.angle),this.retainedQueryData[z.bucketInstanceId]&&(this.retainedQueryData[z.bucketInstanceId].featureSortOrder=z.featureSortOrder),z.hasTextData()&&z.text.opacityVertexBuffer&&z.text.opacityVertexBuffer.updateData(z.text.opacityVertexArray),z.hasIconData()&&z.icon.opacityVertexBuffer&&z.icon.opacityVertexBuffer.updateData(z.icon.opacityVertexArray),z.hasIconCollisionBoxData()&&z.iconCollisionBox.collisionVertexBuffer&&z.iconCollisionBox.collisionVertexBuffer.updateData(z.iconCollisionBox.collisionVertexArray),z.hasTextCollisionBoxData()&&z.textCollisionBox.collisionVertexBuffer&&z.textCollisionBox.collisionVertexBuffer.updateData(z.textCollisionBox.collisionVertexArray),z.bucketInstanceId in this.collisionCircleArrays){var dr=this.collisionCircleArrays[z.bucketInstanceId];z.placementInvProjMatrix=dr.invProjMatrix,z.placementViewportMatrix=dr.viewportMatrix,z.collisionCircleArray=dr.circles,delete this.collisionCircleArrays[z.bucketInstanceId]}},ms.prototype.symbolFadeChange=function(z){return this.fadeDuration===0?1:(z-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment},ms.prototype.zoomAdjustment=function(z){return Math.max(0,(this.transform.zoom-z)/1.5)},ms.prototype.hasTransitions=function(z){return this.stale||z-this.lastPlacementChangeTime<this.fadeDuration},ms.prototype.stillRecent=function(z,K){var O=this.zoomAtLastRecencyCheck===K?1-this.zoomAdjustment(K):1;return this.zoomAtLastRecencyCheck=K,this.commitTime+this.fadeDuration*O>z},ms.prototype.setStale=function(){this.stale=!0};function on(Y,z,K,O,$){Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0)}var fa=Math.pow(2,25),Qu=Math.pow(2,24),Rl=Math.pow(2,17),vo=Math.pow(2,16),Zl=Math.pow(2,9),Ks=Math.pow(2,8),Xl=Math.pow(2,1);function Ec(Y){if(Y.opacity===0&&!Y.placed)return 0;if(Y.opacity===1&&Y.placed)return 4294967295;var z=Y.placed?1:0,K=Math.floor(Y.opacity*127);return K*fa+z*Qu+K*Rl+z*vo+K*Zl+z*Ks+K*Xl+z}var Zn=0,ko=function(z){this._sortAcrossTiles=z.layout.get(\"symbol-z-order\")!==\"viewport-y\"&&z.layout.get(\"symbol-sort-key\").constantOr(1)!==void 0,this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};ko.prototype.continuePlacement=function(z,K,O,$,pe){for(var de=this._bucketParts;this._currentTileIndex<z.length;){var Ie=z[this._currentTileIndex];if(K.getBucketParts(de,$,Ie,this._sortAcrossTiles),this._currentTileIndex++,pe())return!0}for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,de.sort(function(pt,Kt){return pt.sortKey-Kt.sortKey}));this._currentPartIndex<de.length;){var $e=de[this._currentPartIndex];if(K.placeLayerBucketPart($e,this._seenCrossTileIDs,O),this._currentPartIndex++,pe())return!0}return!1};var Co=function(z,K,O,$,pe,de,Ie){this.placement=new ms(z,pe,de,Ie),this._currentPlacementIndex=K.length-1,this._forceFullPlacement=O,this._showCollisionBoxes=$,this._done=!1};Co.prototype.isDone=function(){return this._done},Co.prototype.continuePlacement=function(z,K,O){for(var $=this,pe=i.browser.now(),de=function(){var ir=i.browser.now()-pe;return $._forceFullPlacement?!1:ir>2};this._currentPlacementIndex>=0;){var Ie=z[this._currentPlacementIndex],$e=K[Ie],pt=this.placement.collisionIndex.transform.zoom;if($e.type===\"symbol\"&&(!$e.minzoom||$e.minzoom<=pt)&&(!$e.maxzoom||$e.maxzoom>pt)){this._inProgressLayer||(this._inProgressLayer=new ko($e));var Kt=this._inProgressLayer.continuePlacement(O[$e.source],this.placement,this._showCollisionBoxes,$e,de);if(Kt)return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Co.prototype.commit=function(z){return this.placement.commit(z),this.placement};var Tl=512/i.EXTENT/2,uf=function(z,K,O){this.tileID=z,this.indexedSymbolInstances={},this.bucketInstanceId=O;for(var $=0;$<K.length;$++){var pe=K.get($),de=pe.key;this.indexedSymbolInstances[de]||(this.indexedSymbolInstances[de]=[]),this.indexedSymbolInstances[de].push({crossTileID:pe.crossTileID,coord:this.getScaledCoordinates(pe,z)})}};uf.prototype.getScaledCoordinates=function(z,K){var O=K.canonical.z-this.tileID.canonical.z,$=Tl/Math.pow(2,O);return{x:Math.floor((K.canonical.x*i.EXTENT+z.anchorX)*$),y:Math.floor((K.canonical.y*i.EXTENT+z.anchorY)*$)}},uf.prototype.findMatches=function(z,K,O){for(var $=this.tileID.canonical.z<K.canonical.z?1:Math.pow(2,this.tileID.canonical.z-K.canonical.z),pe=0;pe<z.length;pe++){var de=z.get(pe);if(!de.crossTileID){var Ie=this.indexedSymbolInstances[de.key];if(Ie)for(var $e=this.getScaledCoordinates(de,K),pt=0,Kt=Ie;pt<Kt.length;pt+=1){var ir=Kt[pt];if(Math.abs(ir.coord.x-$e.x)<=$&&Math.abs(ir.coord.y-$e.y)<=$&&!O[ir.crossTileID]){O[ir.crossTileID]=!0,de.crossTileID=ir.crossTileID;break}}}}};var So=function(){this.maxCrossTileID=0};So.prototype.generate=function(){return++this.maxCrossTileID};var cf=function(){this.indexes={},this.usedCrossTileIDs={},this.lng=0};cf.prototype.handleWrapJump=function(z){var K=Math.round((z-this.lng)/360);if(K!==0)for(var O in this.indexes){var $=this.indexes[O],pe={};for(var de in $){var Ie=$[de];Ie.tileID=Ie.tileID.unwrapTo(Ie.tileID.wrap+K),pe[Ie.tileID.key]=Ie}this.indexes[O]=pe}this.lng=z},cf.prototype.addBucket=function(z,K,O){if(this.indexes[z.overscaledZ]&&this.indexes[z.overscaledZ][z.key]){if(this.indexes[z.overscaledZ][z.key].bucketInstanceId===K.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(z.overscaledZ,this.indexes[z.overscaledZ][z.key])}for(var $=0;$<K.symbolInstances.length;$++){var pe=K.symbolInstances.get($);pe.crossTileID=0}this.usedCrossTileIDs[z.overscaledZ]||(this.usedCrossTileIDs[z.overscaledZ]={});var de=this.usedCrossTileIDs[z.overscaledZ];for(var Ie in this.indexes){var $e=this.indexes[Ie];if(Number(Ie)>z.overscaledZ)for(var pt in $e){var Kt=$e[pt];Kt.tileID.isChildOf(z)&&Kt.findMatches(K.symbolInstances,z,de)}else{var ir=z.scaledTo(Number(Ie)),Jt=$e[ir.key];Jt&&Jt.findMatches(K.symbolInstances,z,de)}}for(var vt=0;vt<K.symbolInstances.length;vt++){var Pt=K.symbolInstances.get(vt);Pt.crossTileID||(Pt.crossTileID=O.generate(),de[Pt.crossTileID]=!0)}return this.indexes[z.overscaledZ]===void 0&&(this.indexes[z.overscaledZ]={}),this.indexes[z.overscaledZ][z.key]=new uf(z,K.symbolInstances,K.bucketInstanceId),!0},cf.prototype.removeBucketCrossTileIDs=function(z,K){for(var O in K.indexedSymbolInstances)for(var $=0,pe=K.indexedSymbolInstances[O];$<pe.length;$+=1){var de=pe[$];delete this.usedCrossTileIDs[z][de.crossTileID]}},cf.prototype.removeStaleBuckets=function(z){var K=!1;for(var O in this.indexes){var $=this.indexes[O];for(var pe in $)z[$[pe].bucketInstanceId]||(this.removeBucketCrossTileIDs(O,$[pe]),delete $[pe],K=!0)}return K};var rh=function(){this.layerIndexes={},this.crossTileIDs=new So,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}};rh.prototype.addLayer=function(z,K,O){var $=this.layerIndexes[z.id];$===void 0&&($=this.layerIndexes[z.id]=new cf);var pe=!1,de={};$.handleWrapJump(O);for(var Ie=0,$e=K;Ie<$e.length;Ie+=1){var pt=$e[Ie],Kt=pt.getBucket(z);!Kt||z.id!==Kt.layerIds[0]||(Kt.bucketInstanceId||(Kt.bucketInstanceId=++this.maxBucketInstanceId),$.addBucket(pt.tileID,Kt,this.crossTileIDs)&&(pe=!0),de[Kt.bucketInstanceId]=!0)}return $.removeStaleBuckets(de)&&(pe=!0),pe},rh.prototype.pruneUnusedLayers=function(z){var K={};z.forEach(function($){K[$]=!0});for(var O in this.layerIndexes)K[O]||delete this.layerIndexes[O]};var Al=function(Y,z){return i.emitValidationErrors(Y,z&&z.filter(function(K){return K.identifier!==\"source.canvas\"}))},Hc=i.pick(oa,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\"]),eu=i.pick(oa,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),Ls=jo(),mu=function(Y){function z(K,O){var $=this;O===void 0&&(O={}),Y.call(this),this.map=K,this.dispatcher=new X(ka(),this),this.imageManager=new E,this.imageManager.setEventedParent(this),this.glyphManager=new P(K._requestManager,O.localIdeographFontFamily),this.lineAtlas=new H(256,512),this.crossTileSymbolIndex=new rh,this._layers={},this._serializedLayers={},this._order=[],this.sourceCaches={},this.zoomHistory=new i.ZoomHistory,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"setReferrer\",i.getReferrer());var pe=this;this._rtlTextPluginCallback=z.registerForPluginStateChange(function(de){var Ie={pluginStatus:de.pluginStatus,pluginURL:de.pluginURL};pe.dispatcher.broadcast(\"syncRTLPluginState\",Ie,function($e,pt){if(i.triggerPluginCompletionEvent($e),pt){var Kt=pt.every(function(Jt){return Jt});if(Kt)for(var ir in pe.sourceCaches)pe.sourceCaches[ir].reload()}})}),this.on(\"data\",function(de){if(!(de.dataType!==\"source\"||de.sourceDataType!==\"metadata\")){var Ie=$.sourceCaches[de.sourceId];if(Ie){var $e=Ie.getSource();if(!(!$e||!$e.vectorLayerIds))for(var pt in $._layers){var Kt=$._layers[pt];Kt.source===$e.id&&$._validateLayer(Kt)}}}})}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.loadURL=function(O,$){var pe=this;$===void 0&&($={}),this.fire(new i.Event(\"dataloading\",{dataType:\"style\"}));var de=typeof $.validate==\"boolean\"?$.validate:!i.isMapboxURL(O);O=this.map._requestManager.normalizeStyleURL(O,$.accessToken);var Ie=this.map._requestManager.transformRequest(O,i.ResourceType.Style);this._request=i.getJSON(Ie,function($e,pt){pe._request=null,$e?pe.fire(new i.ErrorEvent($e)):pt&&pe._load(pt,de)})},z.prototype.loadJSON=function(O,$){var pe=this;$===void 0&&($={}),this.fire(new i.Event(\"dataloading\",{dataType:\"style\"})),this._request=i.browser.frame(function(){pe._request=null,pe._load(O,$.validate!==!1)})},z.prototype.loadEmpty=function(){this.fire(new i.Event(\"dataloading\",{dataType:\"style\"})),this._load(Ls,!1)},z.prototype._load=function(O,$){if(!($&&Al(this,i.validateStyle(O)))){this._loaded=!0,this.stylesheet=O;for(var pe in O.sources)this.addSource(pe,O.sources[pe],{validate:!1});O.sprite?this._loadSprite(O.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(O.glyphs);var de=Ra(this.stylesheet.layers);this._order=de.map(function(Kt){return Kt.id}),this._layers={},this._serializedLayers={};for(var Ie=0,$e=de;Ie<$e.length;Ie+=1){var pt=$e[Ie];pt=i.createStyleLayer(pt),pt.setEventedParent(this,{layer:{id:pt.id}}),this._layers[pt.id]=pt,this._serializedLayers[pt.id]=pt.serialize()}this.dispatcher.broadcast(\"setLayers\",this._serializeLayers(this._order)),this.light=new V(this.stylesheet.light),this.fire(new i.Event(\"data\",{dataType:\"style\"})),this.fire(new i.Event(\"style.load\"))}},z.prototype._loadSprite=function(O){var $=this;this._spriteRequest=x(O,this.map._requestManager,function(pe,de){if($._spriteRequest=null,pe)$.fire(new i.ErrorEvent(pe));else if(de)for(var Ie in de)$.imageManager.addImage(Ie,de[Ie]);$.imageManager.setLoaded(!0),$._availableImages=$.imageManager.listImages(),$.dispatcher.broadcast(\"setImages\",$._availableImages),$.fire(new i.Event(\"data\",{dataType:\"style\"}))})},z.prototype._validateLayer=function(O){var $=this.sourceCaches[O.source];if($){var pe=O.sourceLayer;if(pe){var de=$.getSource();(de.type===\"geojson\"||de.vectorLayerIds&&de.vectorLayerIds.indexOf(pe)===-1)&&this.fire(new i.ErrorEvent(new Error('Source layer \"'+pe+'\" does not exist on source \"'+de.id+'\" as specified by style layer \"'+O.id+'\"')))}}},z.prototype.loaded=function(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(var O in this.sourceCaches)if(!this.sourceCaches[O].loaded())return!1;return!!this.imageManager.isLoaded()},z.prototype._serializeLayers=function(O){for(var $=[],pe=0,de=O;pe<de.length;pe+=1){var Ie=de[pe],$e=this._layers[Ie];$e.type!==\"custom\"&&$.push($e.serialize())}return $},z.prototype.hasTransitions=function(){if(this.light&&this.light.hasTransition())return!0;for(var O in this.sourceCaches)if(this.sourceCaches[O].hasTransition())return!0;for(var $ in this._layers)if(this._layers[$].hasTransition())return!0;return!1},z.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\"Style is not done loading\")},z.prototype.update=function(O){if(this._loaded){var $=this._changed;if(this._changed){var pe=Object.keys(this._updatedLayers),de=Object.keys(this._removedLayers);(pe.length||de.length)&&this._updateWorkerLayers(pe,de);for(var Ie in this._updatedSources){var $e=this._updatedSources[Ie];$e===\"reload\"?this._reloadSource(Ie):$e===\"clear\"&&this._clearSource(Ie)}this._updateTilesForChangedImages();for(var pt in this._updatedPaintProps)this._layers[pt].updateTransitions(O);this.light.updateTransitions(O),this._resetUpdates()}var Kt={};for(var ir in this.sourceCaches){var Jt=this.sourceCaches[ir];Kt[ir]=Jt.used,Jt.used=!1}for(var vt=0,Pt=this._order;vt<Pt.length;vt+=1){var Wt=Pt[vt],rr=this._layers[Wt];rr.recalculate(O,this._availableImages),!rr.isHidden(O.zoom)&&rr.source&&(this.sourceCaches[rr.source].used=!0)}for(var dr in Kt){var pr=this.sourceCaches[dr];Kt[dr]!==pr.used&&pr.fire(new i.Event(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:dr}))}this.light.recalculate(O),this.z=O.zoom,$&&this.fire(new i.Event(\"data\",{dataType:\"style\"}))}},z.prototype._updateTilesForChangedImages=function(){var O=Object.keys(this._changedImages);if(O.length){for(var $ in this.sourceCaches)this.sourceCaches[$].reloadTilesForDependencies([\"icons\",\"patterns\"],O);this._changedImages={}}},z.prototype._updateWorkerLayers=function(O,$){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(O),removedIds:$})},z.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={}},z.prototype.setState=function(O){var $=this;if(this._checkLoaded(),Al(this,i.validateStyle(O)))return!1;O=i.clone$1(O),O.layers=Ra(O.layers);var pe=Yi(this.serialize(),O).filter(function(Ie){return!(Ie.command in eu)});if(pe.length===0)return!1;var de=pe.filter(function(Ie){return!(Ie.command in Hc)});if(de.length>0)throw new Error(\"Unimplemented: \"+de.map(function(Ie){return Ie.command}).join(\", \")+\".\");return pe.forEach(function(Ie){Ie.command!==\"setTransition\"&&$[Ie.command].apply($,Ie.args)}),this.stylesheet=O,!0},z.prototype.addImage=function(O,$){if(this.getImage(O))return this.fire(new i.ErrorEvent(new Error(\"An image with this name already exists.\")));this.imageManager.addImage(O,$),this._afterImageUpdated(O)},z.prototype.updateImage=function(O,$){this.imageManager.updateImage(O,$)},z.prototype.getImage=function(O){return this.imageManager.getImage(O)},z.prototype.removeImage=function(O){if(!this.getImage(O))return this.fire(new i.ErrorEvent(new Error(\"No image with this name exists.\")));this.imageManager.removeImage(O),this._afterImageUpdated(O)},z.prototype._afterImageUpdated=function(O){this._availableImages=this.imageManager.listImages(),this._changedImages[O]=!0,this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new i.Event(\"data\",{dataType:\"style\"}))},z.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},z.prototype.addSource=function(O,$,pe){var de=this;if(pe===void 0&&(pe={}),this._checkLoaded(),this.sourceCaches[O]!==void 0)throw new Error(\"There is already a source with this ID\");if(!$.type)throw new Error(\"The type property must be defined, but only the following properties were given: \"+Object.keys($).join(\", \")+\".\");var Ie=[\"vector\",\"raster\",\"geojson\",\"video\",\"image\"],$e=Ie.indexOf($.type)>=0;if(!($e&&this._validate(i.validateStyle.source,\"sources.\"+O,$,null,pe))){this.map&&this.map._collectResourceTiming&&($.collectResourceTiming=!0);var pt=this.sourceCaches[O]=new Zr(O,$,this.dispatcher);pt.style=this,pt.setEventedParent(this,function(){return{isSourceLoaded:de.loaded(),source:pt.serialize(),sourceId:O}}),pt.onAdd(this.map),this._changed=!0}},z.prototype.removeSource=function(O){if(this._checkLoaded(),this.sourceCaches[O]===void 0)throw new Error(\"There is no source with this ID\");for(var $ in this._layers)if(this._layers[$].source===O)return this.fire(new i.ErrorEvent(new Error('Source \"'+O+'\" cannot be removed while layer \"'+$+'\" is using it.')));var pe=this.sourceCaches[O];delete this.sourceCaches[O],delete this._updatedSources[O],pe.fire(new i.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:O})),pe.setEventedParent(null),pe.clearTiles(),pe.onRemove&&pe.onRemove(this.map),this._changed=!0},z.prototype.setGeoJSONSourceData=function(O,$){this._checkLoaded();var pe=this.sourceCaches[O].getSource();pe.setData($),this._changed=!0},z.prototype.getSource=function(O){return this.sourceCaches[O]&&this.sourceCaches[O].getSource()},z.prototype.addLayer=function(O,$,pe){pe===void 0&&(pe={}),this._checkLoaded();var de=O.id;if(this.getLayer(de)){this.fire(new i.ErrorEvent(new Error('Layer with id \"'+de+'\" already exists on this map')));return}var Ie;if(O.type===\"custom\"){if(Al(this,i.validateCustomStyleLayer(O)))return;Ie=i.createStyleLayer(O)}else{if(typeof O.source==\"object\"&&(this.addSource(de,O.source),O=i.clone$1(O),O=i.extend(O,{source:de})),this._validate(i.validateStyle.layer,\"layers.\"+de,O,{arrayIndex:-1},pe))return;Ie=i.createStyleLayer(O),this._validateLayer(Ie),Ie.setEventedParent(this,{layer:{id:de}}),this._serializedLayers[Ie.id]=Ie.serialize()}var $e=$?this._order.indexOf($):this._order.length;if($&&$e===-1){this.fire(new i.ErrorEvent(new Error('Layer with id \"'+$+'\" does not exist on this map.')));return}if(this._order.splice($e,0,de),this._layerOrderChanged=!0,this._layers[de]=Ie,this._removedLayers[de]&&Ie.source&&Ie.type!==\"custom\"){var pt=this._removedLayers[de];delete this._removedLayers[de],pt.type!==Ie.type?this._updatedSources[Ie.source]=\"clear\":(this._updatedSources[Ie.source]=\"reload\",this.sourceCaches[Ie.source].pause())}this._updateLayer(Ie),Ie.onAdd&&Ie.onAdd(this.map)},z.prototype.moveLayer=function(O,$){this._checkLoaded(),this._changed=!0;var pe=this._layers[O];if(!pe){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be moved.\")));return}if(O!==$){var de=this._order.indexOf(O);this._order.splice(de,1);var Ie=$?this._order.indexOf($):this._order.length;if($&&Ie===-1){this.fire(new i.ErrorEvent(new Error('Layer with id \"'+$+'\" does not exist on this map.')));return}this._order.splice(Ie,0,O),this._layerOrderChanged=!0}},z.prototype.removeLayer=function(O){this._checkLoaded();var $=this._layers[O];if(!$){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be removed.\")));return}$.setEventedParent(null);var pe=this._order.indexOf(O);this._order.splice(pe,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[O]=$,delete this._layers[O],delete this._serializedLayers[O],delete this._updatedLayers[O],delete this._updatedPaintProps[O],$.onRemove&&$.onRemove(this.map)},z.prototype.getLayer=function(O){return this._layers[O]},z.prototype.hasLayer=function(O){return O in this._layers},z.prototype.setLayerZoomRange=function(O,$,pe){this._checkLoaded();var de=this.getLayer(O);if(!de){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot have zoom extent.\")));return}de.minzoom===$&&de.maxzoom===pe||($!=null&&(de.minzoom=$),pe!=null&&(de.maxzoom=pe),this._updateLayer(de))},z.prototype.setFilter=function(O,$,pe){pe===void 0&&(pe={}),this._checkLoaded();var de=this.getLayer(O);if(!de){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be filtered.\")));return}if(!i.deepEqual(de.filter,$)){if($==null){de.filter=void 0,this._updateLayer(de);return}this._validate(i.validateStyle.filter,\"layers.\"+de.id+\".filter\",$,null,pe)||(de.filter=i.clone$1($),this._updateLayer(de))}},z.prototype.getFilter=function(O){return i.clone$1(this.getLayer(O).filter)},z.prototype.setLayoutProperty=function(O,$,pe,de){de===void 0&&(de={}),this._checkLoaded();var Ie=this.getLayer(O);if(!Ie){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be styled.\")));return}i.deepEqual(Ie.getLayoutProperty($),pe)||(Ie.setLayoutProperty($,pe,de),this._updateLayer(Ie))},z.prototype.getLayoutProperty=function(O,$){var pe=this.getLayer(O);if(!pe){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style.\")));return}return pe.getLayoutProperty($)},z.prototype.setPaintProperty=function(O,$,pe,de){de===void 0&&(de={}),this._checkLoaded();var Ie=this.getLayer(O);if(!Ie){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be styled.\")));return}if(!i.deepEqual(Ie.getPaintProperty($),pe)){var $e=Ie.setPaintProperty($,pe,de);$e&&this._updateLayer(Ie),this._changed=!0,this._updatedPaintProps[O]=!0}},z.prototype.getPaintProperty=function(O,$){return this.getLayer(O).getPaintProperty($)},z.prototype.setFeatureState=function(O,$){this._checkLoaded();var pe=O.source,de=O.sourceLayer,Ie=this.sourceCaches[pe];if(Ie===void 0){this.fire(new i.ErrorEvent(new Error(\"The source '\"+pe+\"' does not exist in the map's style.\")));return}var $e=Ie.getSource().type;if($e===\"geojson\"&&de){this.fire(new i.ErrorEvent(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\")));return}if($e===\"vector\"&&!de){this.fire(new i.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}O.id===void 0&&this.fire(new i.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),Ie.setFeatureState(de,O.id,$)},z.prototype.removeFeatureState=function(O,$){this._checkLoaded();var pe=O.source,de=this.sourceCaches[pe];if(de===void 0){this.fire(new i.ErrorEvent(new Error(\"The source '\"+pe+\"' does not exist in the map's style.\")));return}var Ie=de.getSource().type,$e=Ie===\"vector\"?O.sourceLayer:void 0;if(Ie===\"vector\"&&!$e){this.fire(new i.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}if($&&typeof O.id!=\"string\"&&typeof O.id!=\"number\"){this.fire(new i.ErrorEvent(new Error(\"A feature id is required to remove its specific state property.\")));return}de.removeFeatureState($e,O.id,$)},z.prototype.getFeatureState=function(O){this._checkLoaded();var $=O.source,pe=O.sourceLayer,de=this.sourceCaches[$];if(de===void 0){this.fire(new i.ErrorEvent(new Error(\"The source '\"+$+\"' does not exist in the map's style.\")));return}var Ie=de.getSource().type;if(Ie===\"vector\"&&!pe){this.fire(new i.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}return O.id===void 0&&this.fire(new i.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),de.getFeatureState(pe,O.id)},z.prototype.getTransition=function(){return i.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},z.prototype.serialize=function(){return i.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:i.mapObject(this.sourceCaches,function(O){return O.serialize()}),layers:this._serializeLayers(this._order)},function(O){return O!==void 0})},z.prototype._updateLayer=function(O){this._updatedLayers[O.id]=!0,O.source&&!this._updatedSources[O.source]&&this.sourceCaches[O.source].getSource().type!==\"raster\"&&(this._updatedSources[O.source]=\"reload\",this.sourceCaches[O.source].pause()),this._changed=!0},z.prototype._flattenAndSortRenderedFeatures=function(O){for(var $=this,pe=function(ln){return $._layers[ln].type===\"fill-extrusion\"},de={},Ie=[],$e=this._order.length-1;$e>=0;$e--){var pt=this._order[$e];if(pe(pt)){de[pt]=$e;for(var Kt=0,ir=O;Kt<ir.length;Kt+=1){var Jt=ir[Kt],vt=Jt[pt];if(vt)for(var Pt=0,Wt=vt;Pt<Wt.length;Pt+=1){var rr=Wt[Pt];Ie.push(rr)}}}}Ie.sort(function(ln,Qn){return Qn.intersectionZ-ln.intersectionZ});for(var dr=[],pr=this._order.length-1;pr>=0;pr--){var kr=this._order[pr];if(pe(kr))for(var Ar=Ie.length-1;Ar>=0;Ar--){var gr=Ie[Ar].feature;if(de[gr.layer.id]<pr)break;dr.push(gr),Ie.pop()}else for(var Cr=0,cr=O;Cr<cr.length;Cr+=1){var Gr=cr[Cr],ei=Gr[kr];if(ei)for(var yi=0,tn=ei;yi<tn.length;yi+=1){var Ri=tn[yi];dr.push(Ri.feature)}}}return dr},z.prototype.queryRenderedFeatures=function(O,$,pe){$&&$.filter&&this._validate(i.validateStyle.filter,\"queryRenderedFeatures.filter\",$.filter,null,$);var de={};if($&&$.layers){if(!Array.isArray($.layers))return this.fire(new i.ErrorEvent(new Error(\"parameters.layers must be an Array.\"))),[];for(var Ie=0,$e=$.layers;Ie<$e.length;Ie+=1){var pt=$e[Ie],Kt=this._layers[pt];if(!Kt)return this.fire(new i.ErrorEvent(new Error(\"The layer '\"+pt+\"' does not exist in the map's style and cannot be queried for features.\"))),[];de[Kt.source]=!0}}var ir=[];$.availableImages=this._availableImages;for(var Jt in this.sourceCaches)$.layers&&!de[Jt]||ir.push(ce(this.sourceCaches[Jt],this._layers,this._serializedLayers,O,$,pe));return this.placement&&ir.push(Ge(this._layers,this._serializedLayers,this.sourceCaches,O,$,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(ir)},z.prototype.querySourceFeatures=function(O,$){$&&$.filter&&this._validate(i.validateStyle.filter,\"querySourceFeatures.filter\",$.filter,null,$);var pe=this.sourceCaches[O];return pe?nt(pe,$):[]},z.prototype.addSourceType=function(O,$,pe){if(z.getSourceType(O))return pe(new Error('A source type called \"'+O+'\" already exists.'));if(z.setSourceType(O,$),!$.workerSourceURL)return pe(null,null);this.dispatcher.broadcast(\"loadWorkerSource\",{name:O,url:$.workerSourceURL},pe)},z.prototype.getLight=function(){return this.light.getLight()},z.prototype.setLight=function(O,$){$===void 0&&($={}),this._checkLoaded();var pe=this.light.getLight(),de=!1;for(var Ie in O)if(!i.deepEqual(O[Ie],pe[Ie])){de=!0;break}if(de){var $e={now:i.browser.now(),transition:i.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(O,$),this.light.updateTransitions($e)}},z.prototype._validate=function(O,$,pe,de,Ie){return Ie===void 0&&(Ie={}),Ie&&Ie.validate===!1?!1:Al(this,O.call(i.validateStyle,i.extend({key:$,style:this.serialize(),value:pe,styleSpec:i.styleSpec},de)))},z.prototype._remove=function(){this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),i.evented.off(\"pluginStateChange\",this._rtlTextPluginCallback);for(var O in this._layers){var $=this._layers[O];$.setEventedParent(null)}for(var pe in this.sourceCaches)this.sourceCaches[pe].clearTiles(),this.sourceCaches[pe].setEventedParent(null);this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove()},z.prototype._clearSource=function(O){this.sourceCaches[O].clearTiles()},z.prototype._reloadSource=function(O){this.sourceCaches[O].resume(),this.sourceCaches[O].reload()},z.prototype._updateSources=function(O){for(var $ in this.sourceCaches)this.sourceCaches[$].update(O)},z.prototype._generateCollisionBoxes=function(){for(var O in this.sourceCaches)this._reloadSource(O)},z.prototype._updatePlacement=function(O,$,pe,de,Ie){Ie===void 0&&(Ie=!1);for(var $e=!1,pt=!1,Kt={},ir=0,Jt=this._order;ir<Jt.length;ir+=1){var vt=Jt[ir],Pt=this._layers[vt];if(Pt.type===\"symbol\"){if(!Kt[Pt.source]){var Wt=this.sourceCaches[Pt.source];Kt[Pt.source]=Wt.getRenderableIds(!0).map(function(Cr){return Wt.getTileByID(Cr)}).sort(function(Cr,cr){return cr.tileID.overscaledZ-Cr.tileID.overscaledZ||(Cr.tileID.isLessThan(cr.tileID)?-1:1)})}var rr=this.crossTileSymbolIndex.addLayer(Pt,Kt[Pt.source],O.center.lng);$e=$e||rr}}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),Ie=Ie||this._layerOrderChanged||pe===0,(Ie||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(i.browser.now(),O.zoom))&&(this.pauseablePlacement=new Co(O,this._order,Ie,$,pe,de,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,Kt),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(i.browser.now()),pt=!0),$e&&this.pauseablePlacement.placement.setStale()),pt||$e)for(var dr=0,pr=this._order;dr<pr.length;dr+=1){var kr=pr[dr],Ar=this._layers[kr];Ar.type===\"symbol\"&&this.placement.updateLayerOpacities(Ar,Kt[Ar.source])}var gr=!this.pauseablePlacement.isDone()||this.placement.hasTransitions(i.browser.now());return gr},z.prototype._releaseSymbolFadeTiles=function(){for(var O in this.sourceCaches)this.sourceCaches[O].releaseSymbolFadeTiles()},z.prototype.getImages=function(O,$,pe){this.imageManager.getImages($.icons,pe),this._updateTilesForChangedImages();var de=this.sourceCaches[$.source];de&&de.setDependencies($.tileID.key,$.type,$.icons)},z.prototype.getGlyphs=function(O,$,pe){this.glyphManager.getGlyphs($.stacks,pe)},z.prototype.getResource=function(O,$,pe){return i.makeRequest($,pe)},z}(i.Evented);mu.getSourceType=ze,mu.setSourceType=Ce,mu.registerForPluginStateChange=i.registerForPluginStateChange;var kc=i.createLayout([{name:\"a_pos\",type:\"Int16\",components:2}]),Of=`#ifdef GL_ES\n", - "precision 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`,Gc=`#ifdef GL_ES\n", - "precision 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\n", - "vec2 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;}`,vd=`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Bf=\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\",ss=`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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,ff=\"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);}\",ih=`varying vec3 v_data;\n", - "#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define mediump float radius\n", - "#pragma mapbox: define lowp float blur\n", - "#pragma mapbox: define lowp float opacity\n", - "#pragma mapbox: define highp vec4 stroke_color\n", - "#pragma mapbox: define mediump float stroke_width\n", - "#pragma mapbox: define lowp float stroke_opacity\n", - "void 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\n", - "vec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Vl=`uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;\n", - "#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define mediump float radius\n", - "#pragma mapbox: define lowp float blur\n", - "#pragma mapbox: define lowp float opacity\n", - "#pragma mapbox: define highp vec4 stroke_color\n", - "#pragma mapbox: define mediump float stroke_width\n", - "#pragma mapbox: define lowp float stroke_opacity\n", - "void 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\n", - "vec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`,Js=\"void main() {gl_FragColor=vec4(1.0);}\",hc=\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\",Cc=`uniform highp float u_intensity;varying vec2 v_extrude;\n", - "#pragma mapbox: define highp float weight\n", - "#define GAUSS_COEF 0.3989422804014327\n", - "void main() {\n", - "#pragma mapbox: initialize highp float weight\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,ws=`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\n", - "const highp float ZERO=1.0/255.0/16.0;\n", - "#define GAUSS_COEF 0.3989422804014327\n", - "void main(void) {\n", - "#pragma mapbox: initialize highp float weight\n", - "#pragma mapbox: initialize mediump float radius\n", - "vec2 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;}`,$s=`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\n", - "gl_FragColor=vec4(0.0);\n", - "#endif\n", - "}`,hs=\"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;}\",Ms=\"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;}}\",dc=\"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;}\",Sl=\"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;}\",ec=\"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);}\",Ps=\"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);}\",ov=\"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);}\",wo=`#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_FragColor=color*opacity;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Od=`attribute vec2 a_pos;uniform mat4 u_matrix;\n", - "#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_Position=u_matrix*vec4(a_pos,0,1);}`,$o=`varying vec2 v_pos;\n", - "#pragma mapbox: define highp vec4 outline_color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 outline_color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Ja=`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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 outline_color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`,Ef=`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\n", - "void 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", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,tc=`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\n", - "void 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\n", - "vec2 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;}`,uu=`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\n", - "void 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", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Mh=`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\n", - "void 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\n", - "vec2 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);}`,jc=`varying vec4 v_color;void main() {gl_FragColor=v_color;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,kf=`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\n", - "void main() {\n", - "#pragma mapbox: initialize highp float base\n", - "#pragma mapbox: initialize highp float height\n", - "#pragma mapbox: initialize highp vec4 color\n", - "vec3 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;}`,Ml=`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\n", - "void 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\n", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Yh=`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\n", - "void 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\n", - "vec2 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;}`,Eh=`#ifdef GL_ES\n", - "precision highp float;\n", - "#endif\n", - "uniform 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,nh=\"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;}\",hf=`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\n", - "void 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,kh=\"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;}\",Kh=`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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float blur\n", - "#pragma mapbox: initialize lowp float opacity\n", - "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);gl_FragColor=color*(alpha*opacity);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,rc=`\n", - "#define scale 0.015873016\n", - "attribute 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\n", - "void 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", - "float 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);}`,ah=`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\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float blur\n", - "#pragma mapbox: initialize lowp float opacity\n", - "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);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Wc=`\n", - "#define scale 0.015873016\n", - "attribute 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\n", - "void 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\n", - "float 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);}`,df=`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\n", - "void 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\n", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Cu=`\n", - "#define scale 0.015873016\n", - "#define LINE_DISTANCE_SCALE 2.0\n", - "attribute 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\n", - "void 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\n", - "float 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;}`,Nf=`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\n", - "void 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\n", - "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 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Zc=`\n", - "#define scale 0.015873016\n", - "#define LINE_DISTANCE_SCALE 2.0\n", - "attribute 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\n", - "void 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\n", - "float 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);}`,ds=`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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Ch=\"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;}\",Bd=`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float opacity\n", - "lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Jh=`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\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float opacity\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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));}`,Cf=`#define SDF_PX 8.0\n", - "uniform 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\n", - "void 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\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,pd=`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\n", - "void 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\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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);}`,Lu=`#define SDF_PX 8.0\n", - "#define SDF 1.0\n", - "#define ICON 0.0\n", - "uniform 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\n", - "void 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\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "return;}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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,$h=`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\n", - "void 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\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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);}`,tu=Is(Of,Gc),Pu=Is(vd,Bf),Lc=Is(ss,ff),fl=Is(ih,Vl),Xc=Is(Js,hc),ic=Is(Cc,ws),yu=Is($s,hs),Qs=Is(Ms,dc),Qh=Is(Sl,ec),gd=Is(Ps,ov),Gu=Is(wo,Od),Pc=Is($o,Ja),vc=Is(Ef,tc),sv=Is(uu,Mh),Lf=Is(jc,kf),Uf=Is(Ml,Yh),Iu=Is(Eh,nh),oh=Is(hf,kh),ru=Is(Kh,rc),vf=Is(ah,Wc),md=Is(df,Cu),sh=Is(Nf,Zc),Fs=Is(ds,Ch),_u=Is(Bd,Jh),xu=Is(Cf,pd),Lh=Is(Lu,$h);function Is(Y,z){var K=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,O=z.match(/attribute ([\\w]+) ([\\w]+)/g),$=Y.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),pe=z.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),de=pe?pe.concat($):$,Ie={};return Y=Y.replace(K,function($e,pt,Kt,ir,Jt){return Ie[Jt]=!0,pt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - "varying `+Kt+\" \"+ir+\" \"+Jt+`;\n", - "#else\n", - "uniform `+Kt+\" \"+ir+\" u_\"+Jt+`;\n", - "#endif\n", - "`:`\n", - "#ifdef HAS_UNIFORM_u_`+Jt+`\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`}),z=z.replace(K,function($e,pt,Kt,ir,Jt){var vt=ir===\"float\"?\"vec2\":\"vec4\",Pt=Jt.match(/color/)?\"color\":vt;return Ie[Jt]?pt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - "uniform lowp float u_`+Jt+`_t;\n", - "attribute `+Kt+\" \"+vt+\" a_\"+Jt+`;\n", - "varying `+Kt+\" \"+ir+\" \"+Jt+`;\n", - "#else\n", - "uniform `+Kt+\" \"+ir+\" u_\"+Jt+`;\n", - "#endif\n", - "`:Pt===\"vec4\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - " `+Jt+\" = a_\"+Jt+`;\n", - "#else\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`:`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - " `+Jt+\" = unpack_mix_\"+Pt+\"(a_\"+Jt+\", u_\"+Jt+`_t);\n", - "#else\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`:pt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - "uniform lowp float u_`+Jt+`_t;\n", - "attribute `+Kt+\" \"+vt+\" a_\"+Jt+`;\n", - "#else\n", - "uniform `+Kt+\" \"+ir+\" u_\"+Jt+`;\n", - "#endif\n", - "`:Pt===\"vec4\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = a_\"+Jt+`;\n", - "#else\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`:`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = unpack_mix_\"+Pt+\"(a_\"+Jt+\", u_\"+Jt+`_t);\n", - "#else\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`}),{fragmentSource:Y,vertexSource:z,staticAttributes:O,staticUniforms:de}}var Pf=Object.freeze({__proto__:null,prelude:tu,background:Pu,backgroundPattern:Lc,circle:fl,clippingMask:Xc,heatmap:ic,heatmapTexture:yu,collisionBox:Qs,collisionCircle:Qh,debug:gd,fill:Gu,fillOutline:Pc,fillOutlinePattern:vc,fillPattern:sv,fillExtrusion:Lf,fillExtrusionPattern:Uf,hillshadePrepare:Iu,hillshade:oh,line:ru,lineGradient:vf,linePattern:md,lineSDF:sh,raster:Fs,symbolIcon:_u,symbolSDF:xu,symbolTextAndIcon:Lh}),Ic=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};Ic.prototype.bind=function(z,K,O,$,pe,de,Ie,$e){this.context=z;for(var pt=this.boundPaintVertexBuffers.length!==$.length,Kt=0;!pt&&Kt<$.length;Kt++)this.boundPaintVertexBuffers[Kt]!==$[Kt]&&(pt=!0);var ir=!this.vao||this.boundProgram!==K||this.boundLayoutVertexBuffer!==O||pt||this.boundIndexBuffer!==pe||this.boundVertexOffset!==de||this.boundDynamicVertexBuffer!==Ie||this.boundDynamicVertexBuffer2!==$e;!z.extVertexArrayObject||ir?this.freshBind(K,O,$,pe,de,Ie,$e):(z.bindVertexArrayOES.set(this.vao),Ie&&Ie.bind(),pe&&pe.dynamicDraw&&pe.bind(),$e&&$e.bind())},Ic.prototype.freshBind=function(z,K,O,$,pe,de,Ie){var $e,pt=z.numAttributes,Kt=this.context,ir=Kt.gl;if(Kt.extVertexArrayObject)this.vao&&this.destroy(),this.vao=Kt.extVertexArrayObject.createVertexArrayOES(),Kt.bindVertexArrayOES.set(this.vao),$e=0,this.boundProgram=z,this.boundLayoutVertexBuffer=K,this.boundPaintVertexBuffers=O,this.boundIndexBuffer=$,this.boundVertexOffset=pe,this.boundDynamicVertexBuffer=de,this.boundDynamicVertexBuffer2=Ie;else{$e=Kt.currentNumAttributes||0;for(var Jt=pt;Jt<$e;Jt++)ir.disableVertexAttribArray(Jt)}K.enableAttributes(ir,z);for(var vt=0,Pt=O;vt<Pt.length;vt+=1){var Wt=Pt[vt];Wt.enableAttributes(ir,z)}de&&de.enableAttributes(ir,z),Ie&&Ie.enableAttributes(ir,z),K.bind(),K.setVertexAttribPointers(ir,z,pe);for(var rr=0,dr=O;rr<dr.length;rr+=1){var pr=dr[rr];pr.bind(),pr.setVertexAttribPointers(ir,z,pe)}de&&(de.bind(),de.setVertexAttribPointers(ir,z,pe)),$&&$.bind(),Ie&&(Ie.bind(),Ie.setVertexAttribPointers(ir,z,pe)),Kt.currentNumAttributes=pt},Ic.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)};function ju(Y){for(var z=[],K=0;K<Y.length;K++)if(Y[K]!==null){var O=Y[K].split(\" \");z.push(O.pop())}return z}var Vf=function(z,K,O,$,pe,de){var Ie=z.gl;this.program=Ie.createProgram();for(var $e=ju(O.staticAttributes),pt=$?$.getBinderAttributes():[],Kt=$e.concat(pt),ir=O.staticUniforms?ju(O.staticUniforms):[],Jt=$?$.getBinderUniforms():[],vt=ir.concat(Jt),Pt=[],Wt=0,rr=vt;Wt<rr.length;Wt+=1){var dr=rr[Wt];Pt.indexOf(dr)<0&&Pt.push(dr)}var pr=$?$.defines():[];de&&pr.push(\"#define OVERDRAW_INSPECTOR;\");var kr=pr.concat(tu.fragmentSource,O.fragmentSource).join(`\n", - "`),Ar=pr.concat(tu.vertexSource,O.vertexSource).join(`\n", - "`),gr=Ie.createShader(Ie.FRAGMENT_SHADER);if(Ie.isContextLost()){this.failedToCreate=!0;return}Ie.shaderSource(gr,kr),Ie.compileShader(gr),Ie.attachShader(this.program,gr);var Cr=Ie.createShader(Ie.VERTEX_SHADER);if(Ie.isContextLost()){this.failedToCreate=!0;return}Ie.shaderSource(Cr,Ar),Ie.compileShader(Cr),Ie.attachShader(this.program,Cr),this.attributes={};var cr={};this.numAttributes=Kt.length;for(var Gr=0;Gr<this.numAttributes;Gr++)Kt[Gr]&&(Ie.bindAttribLocation(this.program,Gr,Kt[Gr]),this.attributes[Kt[Gr]]=Gr);Ie.linkProgram(this.program),Ie.deleteShader(Cr),Ie.deleteShader(gr);for(var ei=0;ei<Pt.length;ei++){var yi=Pt[ei];if(yi&&!cr[yi]){var tn=Ie.getUniformLocation(this.program,yi);tn&&(cr[yi]=tn)}}this.fixedUniforms=pe(z,cr),this.binderUniforms=$?$.getUniforms(z,cr):[]};Vf.prototype.draw=function(z,K,O,$,pe,de,Ie,$e,pt,Kt,ir,Jt,vt,Pt,Wt,rr){var dr,pr=z.gl;if(!this.failedToCreate){z.program.set(this.program),z.setDepthMode(O),z.setStencilMode($),z.setColorMode(pe),z.setCullFace(de);for(var kr in this.fixedUniforms)this.fixedUniforms[kr].set(Ie[kr]);Pt&&Pt.setUniforms(z,this.binderUniforms,Jt,{zoom:vt});for(var Ar=(dr={},dr[pr.LINES]=2,dr[pr.TRIANGLES]=3,dr[pr.LINE_STRIP]=1,dr)[K],gr=0,Cr=ir.get();gr<Cr.length;gr+=1){var cr=Cr[gr],Gr=cr.vaos||(cr.vaos={}),ei=Gr[$e]||(Gr[$e]=new Ic);ei.bind(z,this,pt,Pt?Pt.getPaintVertexBuffers():[],Kt,cr.vertexOffset,Wt,rr),pr.drawElements(K,cr.primitiveLength*Ar,pr.UNSIGNED_SHORT,cr.primitiveOffset*Ar*2)}}};function pc(Y,z,K){var O=1/Cs(K,1,z.transform.tileZoom),$=Math.pow(2,K.tileID.overscaledZ),pe=K.tileSize*Math.pow(2,z.transform.tileZoom)/$,de=pe*(K.tileID.canonical.x+K.tileID.wrap*$),Ie=pe*K.tileID.canonical.y;return{u_image:0,u_texsize:K.imageAtlasTexture.size,u_scale:[O,Y.fromScale,Y.toScale],u_fade:Y.t,u_pixel_coord_upper:[de>>16,Ie>>16],u_pixel_coord_lower:[de&65535,Ie&65535]}}function pf(Y,z,K,O){var $=K.imageManager.getPattern(Y.from.toString()),pe=K.imageManager.getPattern(Y.to.toString()),de=K.imageManager.getPixelSize(),Ie=de.width,$e=de.height,pt=Math.pow(2,O.tileID.overscaledZ),Kt=O.tileSize*Math.pow(2,K.transform.tileZoom)/pt,ir=Kt*(O.tileID.canonical.x+O.tileID.wrap*pt),Jt=Kt*O.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:$.tl,u_pattern_br_a:$.br,u_pattern_tl_b:pe.tl,u_pattern_br_b:pe.br,u_texsize:[Ie,$e],u_mix:z.t,u_pattern_size_a:$.displaySize,u_pattern_size_b:pe.displaySize,u_scale_a:z.fromScale,u_scale_b:z.toScale,u_tile_units_to_pixels:1/Cs(O,1,K.transform.tileZoom),u_pixel_coord_upper:[ir>>16,Jt>>16],u_pixel_coord_lower:[ir&65535,Jt&65535]}}var Ph=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_lightpos:new i.Uniform3f(Y,z.u_lightpos),u_lightintensity:new i.Uniform1f(Y,z.u_lightintensity),u_lightcolor:new i.Uniform3f(Y,z.u_lightcolor),u_vertical_gradient:new i.Uniform1f(Y,z.u_vertical_gradient),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},Dl=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_lightpos:new i.Uniform3f(Y,z.u_lightpos),u_lightintensity:new i.Uniform1f(Y,z.u_lightintensity),u_lightcolor:new i.Uniform3f(Y,z.u_lightcolor),u_vertical_gradient:new i.Uniform1f(Y,z.u_vertical_gradient),u_height_factor:new i.Uniform1f(Y,z.u_height_factor),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},Ih=function(Y,z,K,O){var $=z.style.light,pe=$.properties.get(\"position\"),de=[pe.x,pe.y,pe.z],Ie=i.create$1();$.properties.get(\"anchor\")===\"viewport\"&&i.fromRotation(Ie,-z.transform.angle),i.transformMat3(de,de,Ie);var $e=$.properties.get(\"color\");return{u_matrix:Y,u_lightpos:de,u_lightintensity:$.properties.get(\"intensity\"),u_lightcolor:[$e.r,$e.g,$e.b],u_vertical_gradient:+K,u_opacity:O}},Wu=function(Y,z,K,O,$,pe,de){return i.extend(Ih(Y,z,K,O),pc(pe,z,de),{u_height_factor:-Math.pow(2,$.overscaledZ)/de.tileSize/8})},Rc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},gc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},hl=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world)}},iu=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},mc=function(Y){return{u_matrix:Y}},Yc=function(Y,z,K,O){return i.extend(mc(Y),pc(K,z,O))},nc=function(Y,z){return{u_matrix:Y,u_world:z}},gf=function(Y,z,K,O,$){return i.extend(Yc(Y,z,K,O),{u_world:$})},gt=function(Y,z){return{u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_scale_with_map:new i.Uniform1i(Y,z.u_scale_with_map),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_extrude_scale:new i.Uniform2f(Y,z.u_extrude_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},Bt=function(Y,z,K,O){var $=Y.transform,pe,de;if(O.paint.get(\"circle-pitch-alignment\")===\"map\"){var Ie=Cs(K,1,$.zoom);pe=!0,de=[Ie,Ie]}else pe=!1,de=$.pixelsToGLUnits;return{u_camera_to_center_distance:$.cameraToCenterDistance,u_scale_with_map:+(O.paint.get(\"circle-pitch-scale\")===\"map\"),u_matrix:Y.translatePosMatrix(z.posMatrix,K,O.paint.get(\"circle-translate\"),O.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+pe,u_device_pixel_ratio:i.browser.devicePixelRatio,u_extrude_scale:de}},wr=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pixels_to_tile_units:new i.Uniform1f(Y,z.u_pixels_to_tile_units),u_extrude_scale:new i.Uniform2f(Y,z.u_extrude_scale),u_overscale_factor:new i.Uniform1f(Y,z.u_overscale_factor)}},vr=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_inv_matrix:new i.UniformMatrix4f(Y,z.u_inv_matrix),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_viewport_size:new i.Uniform2f(Y,z.u_viewport_size)}},Ur=function(Y,z,K){var O=Cs(K,1,z.zoom),$=Math.pow(2,z.zoom-K.tileID.overscaledZ),pe=K.tileID.overscaleFactor();return{u_matrix:Y,u_camera_to_center_distance:z.cameraToCenterDistance,u_pixels_to_tile_units:O,u_extrude_scale:[z.pixelsToGLUnits[0]/(O*$),z.pixelsToGLUnits[1]/(O*$)],u_overscale_factor:pe}},fi=function(Y,z,K){return{u_matrix:Y,u_inv_matrix:z,u_camera_to_center_distance:K.cameraToCenterDistance,u_viewport_size:[K.width,K.height]}},xi=function(Y,z){return{u_color:new i.UniformColor(Y,z.u_color),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_overlay:new i.Uniform1i(Y,z.u_overlay),u_overlay_scale:new i.Uniform1f(Y,z.u_overlay_scale)}},Fi=function(Y,z,K){return K===void 0&&(K=1),{u_matrix:Y,u_color:z,u_overlay:0,u_overlay_scale:K}},Xi=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},hn=function(Y){return{u_matrix:Y}},Ti=function(Y,z){return{u_extrude_scale:new i.Uniform1f(Y,z.u_extrude_scale),u_intensity:new i.Uniform1f(Y,z.u_intensity),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},qi=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world),u_image:new i.Uniform1i(Y,z.u_image),u_color_ramp:new i.Uniform1i(Y,z.u_color_ramp),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},Ii=function(Y,z,K,O){return{u_matrix:Y,u_extrude_scale:Cs(z,1,K),u_intensity:O}},mi=function(Y,z,K,O){var $=i.create();i.ortho($,0,Y.width,Y.height,0,0,1);var pe=Y.context.gl;return{u_matrix:$,u_world:[pe.drawingBufferWidth,pe.drawingBufferHeight],u_image:K,u_color_ramp:O,u_opacity:z.paint.get(\"heatmap-opacity\")}},Pn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_latrange:new i.Uniform2f(Y,z.u_latrange),u_light:new i.Uniform2f(Y,z.u_light),u_shadow:new i.UniformColor(Y,z.u_shadow),u_highlight:new i.UniformColor(Y,z.u_highlight),u_accent:new i.UniformColor(Y,z.u_accent)}},Ma=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_dimension:new i.Uniform2f(Y,z.u_dimension),u_zoom:new i.Uniform1f(Y,z.u_zoom),u_unpack:new i.Uniform4f(Y,z.u_unpack)}},Ta=function(Y,z,K){var O=K.paint.get(\"hillshade-shadow-color\"),$=K.paint.get(\"hillshade-highlight-color\"),pe=K.paint.get(\"hillshade-accent-color\"),de=K.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);K.paint.get(\"hillshade-illumination-anchor\")===\"viewport\"&&(de-=Y.transform.angle);var Ie=!Y.options.moving;return{u_matrix:Y.transform.calculatePosMatrix(z.tileID.toUnwrapped(),Ie),u_image:0,u_latrange:qa(Y,z.tileID),u_light:[K.paint.get(\"hillshade-exaggeration\"),de],u_shadow:O,u_highlight:$,u_accent:pe}},Ea=function(Y,z){var K=z.stride,O=i.create();return i.ortho(O,0,i.EXTENT,-i.EXTENT,0,0,1),i.translate(O,O,[0,-i.EXTENT,0]),{u_matrix:O,u_image:1,u_dimension:[K,K],u_zoom:Y.overscaledZ,u_unpack:z.getUnpackVector()}};function qa(Y,z){var K=Math.pow(2,z.canonical.z),O=z.canonical.y;return[new i.MercatorCoordinate(0,O/K).toLngLat().lat,new i.MercatorCoordinate(0,(O+1)/K).toLngLat().lat]}var Cn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels)}},sn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_image:new i.Uniform1i(Y,z.u_image),u_image_height:new i.Uniform1f(Y,z.u_image_height)}},Ua=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_image:new i.Uniform1i(Y,z.u_image),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},mo=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_patternscale_a:new i.Uniform2f(Y,z.u_patternscale_a),u_patternscale_b:new i.Uniform2f(Y,z.u_patternscale_b),u_sdfgamma:new i.Uniform1f(Y,z.u_sdfgamma),u_image:new i.Uniform1i(Y,z.u_image),u_tex_y_a:new i.Uniform1f(Y,z.u_tex_y_a),u_tex_y_b:new i.Uniform1f(Y,z.u_tex_y_b),u_mix:new i.Uniform1f(Y,z.u_mix)}},Xo=function(Y,z,K){var O=Y.transform;return{u_matrix:yl(Y,z,K),u_ratio:1/Cs(z,1,O.zoom),u_device_pixel_ratio:i.browser.devicePixelRatio,u_units_to_pixels:[1/O.pixelsToGLUnits[0],1/O.pixelsToGLUnits[1]]}},Ts=function(Y,z,K,O){return i.extend(Xo(Y,z,K),{u_image:0,u_image_height:O})},Qo=function(Y,z,K,O){var $=Y.transform,pe=Bo(z,$);return{u_matrix:yl(Y,z,K),u_texsize:z.imageAtlasTexture.size,u_ratio:1/Cs(z,1,$.zoom),u_device_pixel_ratio:i.browser.devicePixelRatio,u_image:0,u_scale:[pe,O.fromScale,O.toScale],u_fade:O.t,u_units_to_pixels:[1/$.pixelsToGLUnits[0],1/$.pixelsToGLUnits[1]]}},ys=function(Y,z,K,O,$){var pe=Y.transform,de=Y.lineAtlas,Ie=Bo(z,pe),$e=K.layout.get(\"line-cap\")===\"round\",pt=de.getDash(O.from,$e),Kt=de.getDash(O.to,$e),ir=pt.width*$.fromScale,Jt=Kt.width*$.toScale;return i.extend(Xo(Y,z,K),{u_patternscale_a:[Ie/ir,-pt.height/2],u_patternscale_b:[Ie/Jt,-Kt.height/2],u_sdfgamma:de.width/(Math.min(ir,Jt)*256*i.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:pt.y,u_tex_y_b:Kt.y,u_mix:$.t})};function Bo(Y,z){return 1/Cs(Y,1,z.tileZoom)}function yl(Y,z,K){return Y.translatePosMatrix(z.tileID.posMatrix,z,K.paint.get(\"line-translate\"),K.paint.get(\"line-translate-anchor\"))}var Gs=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_tl_parent:new i.Uniform2f(Y,z.u_tl_parent),u_scale_parent:new i.Uniform1f(Y,z.u_scale_parent),u_buffer_scale:new i.Uniform1f(Y,z.u_buffer_scale),u_fade_t:new i.Uniform1f(Y,z.u_fade_t),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_image0:new i.Uniform1i(Y,z.u_image0),u_image1:new i.Uniform1i(Y,z.u_image1),u_brightness_low:new i.Uniform1f(Y,z.u_brightness_low),u_brightness_high:new i.Uniform1f(Y,z.u_brightness_high),u_saturation_factor:new i.Uniform1f(Y,z.u_saturation_factor),u_contrast_factor:new i.Uniform1f(Y,z.u_contrast_factor),u_spin_weights:new i.Uniform3f(Y,z.u_spin_weights)}},Rs=function(Y,z,K,O,$){return{u_matrix:Y,u_tl_parent:z,u_scale_parent:K,u_buffer_scale:1,u_fade_t:O.mix,u_opacity:O.opacity*$.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:$.paint.get(\"raster-brightness-min\"),u_brightness_high:$.paint.get(\"raster-brightness-max\"),u_saturation_factor:vs($.paint.get(\"raster-saturation\")),u_contrast_factor:Ka($.paint.get(\"raster-contrast\")),u_spin_weights:ia($.paint.get(\"raster-hue-rotate\"))}};function ia(Y){Y*=Math.PI/180;var z=Math.sin(Y),K=Math.cos(Y);return[(2*K+1)/3,(-Math.sqrt(3)*z-K+1)/3,(Math.sqrt(3)*z-K+1)/3]}function Ka(Y){return Y>0?1/(1-Y):1+Y}function vs(Y){return Y>0?1-1/(1.001-Y):-Y}var Ko=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texture:new i.Uniform1i(Y,z.u_texture)}},nu=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texture:new i.Uniform1i(Y,z.u_texture),u_gamma_scale:new i.Uniform1f(Y,z.u_gamma_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_is_halo:new i.Uniform1i(Y,z.u_is_halo)}},Ru=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texsize_icon:new i.Uniform2f(Y,z.u_texsize_icon),u_texture:new i.Uniform1i(Y,z.u_texture),u_texture_icon:new i.Uniform1i(Y,z.u_texture_icon),u_gamma_scale:new i.Uniform1f(Y,z.u_gamma_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_is_halo:new i.Uniform1i(Y,z.u_is_halo)}},ac=function(Y,z,K,O,$,pe,de,Ie,$e,pt){var Kt=$.transform;return{u_is_size_zoom_constant:+(Y===\"constant\"||Y===\"source\"),u_is_size_feature_constant:+(Y===\"constant\"||Y===\"camera\"),u_size_t:z?z.uSizeT:0,u_size:z?z.uSize:0,u_camera_to_center_distance:Kt.cameraToCenterDistance,u_pitch:Kt.pitch/360*2*Math.PI,u_rotate_symbol:+K,u_aspect_ratio:Kt.width/Kt.height,u_fade_change:$.options.fadeDuration?$.symbolFadeChange:1,u_matrix:pe,u_label_plane_matrix:de,u_coord_matrix:Ie,u_is_text:+$e,u_pitch_with_map:+O,u_texsize:pt,u_texture:0}},mf=function(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt){var ir=$.transform;return i.extend(ac(Y,z,K,O,$,pe,de,Ie,$e,pt),{u_gamma_scale:O?Math.cos(ir._pitch)*ir.cameraToCenterDistance:1,u_device_pixel_ratio:i.browser.devicePixelRatio,u_is_halo:+Kt})},bu=function(Y,z,K,O,$,pe,de,Ie,$e,pt){return i.extend(mf(Y,z,K,O,$,pe,de,Ie,!0,$e,!0),{u_texsize_icon:pt,u_texture_icon:1})},Kc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_color:new i.UniformColor(Y,z.u_color)}},Du=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_image:new i.Uniform1i(Y,z.u_image),u_pattern_tl_a:new i.Uniform2f(Y,z.u_pattern_tl_a),u_pattern_br_a:new i.Uniform2f(Y,z.u_pattern_br_a),u_pattern_tl_b:new i.Uniform2f(Y,z.u_pattern_tl_b),u_pattern_br_b:new i.Uniform2f(Y,z.u_pattern_br_b),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_mix:new i.Uniform1f(Y,z.u_mix),u_pattern_size_a:new i.Uniform2f(Y,z.u_pattern_size_a),u_pattern_size_b:new i.Uniform2f(Y,z.u_pattern_size_b),u_scale_a:new i.Uniform1f(Y,z.u_scale_a),u_scale_b:new i.Uniform1f(Y,z.u_scale_b),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_tile_units_to_pixels:new i.Uniform1f(Y,z.u_tile_units_to_pixels)}},Dc=function(Y,z,K){return{u_matrix:Y,u_opacity:z,u_color:K}},Da=function(Y,z,K,O,$,pe){return i.extend(pf(O,pe,K,$),{u_matrix:Y,u_opacity:z})},eo={fillExtrusion:Ph,fillExtrusionPattern:Dl,fill:Rc,fillPattern:gc,fillOutline:hl,fillOutlinePattern:iu,circle:gt,collisionBox:wr,collisionCircle:vr,debug:xi,clippingMask:Xi,heatmap:Ti,heatmapTexture:qi,hillshade:Pn,hillshadePrepare:Ma,line:Cn,lineGradient:sn,linePattern:Ua,lineSDF:mo,raster:Gs,symbolIcon:Ko,symbolSDF:nu,symbolTextAndIcon:Ru,background:Kc,backgroundPattern:Du},Jc;function yc(Y,z,K,O,$,pe,de){for(var Ie=Y.context,$e=Ie.gl,pt=Y.useProgram(\"collisionBox\"),Kt=[],ir=0,Jt=0,vt=0;vt<O.length;vt++){var Pt=O[vt],Wt=z.getTile(Pt),rr=Wt.getBucket(K);if(rr){var dr=Pt.posMatrix;($[0]!==0||$[1]!==0)&&(dr=Y.translatePosMatrix(Pt.posMatrix,Wt,$,pe));var pr=de?rr.textCollisionBox:rr.iconCollisionBox,kr=rr.collisionCircleArray;if(kr.length>0){var Ar=i.create(),gr=dr;i.mul(Ar,rr.placementInvProjMatrix,Y.transform.glCoordMatrix),i.mul(Ar,Ar,rr.placementViewportMatrix),Kt.push({circleArray:kr,circleOffset:Jt,transform:gr,invTransform:Ar}),ir+=kr.length/4,Jt=ir}pr&&pt.draw(Ie,$e.LINES,Wi.disabled,$i.disabled,Y.colorModeForRenderPass(),yr.disabled,Ur(dr,Y.transform,Wt),K.id,pr.layoutVertexBuffer,pr.indexBuffer,pr.segments,null,Y.transform.zoom,null,null,pr.collisionVertexBuffer)}}if(!(!de||!Kt.length)){var Cr=Y.useProgram(\"collisionCircle\"),cr=new i.StructArrayLayout2f1f2i16;cr.resize(ir*4),cr._trim();for(var Gr=0,ei=0,yi=Kt;ei<yi.length;ei+=1)for(var tn=yi[ei],Ri=0;Ri<tn.circleArray.length/4;Ri++){var ln=Ri*4,Qn=tn.circleArray[ln+0],qn=tn.circleArray[ln+1],rn=tn.circleArray[ln+2],bn=tn.circleArray[ln+3];cr.emplace(Gr++,Qn,qn,rn,bn,0),cr.emplace(Gr++,Qn,qn,rn,bn,1),cr.emplace(Gr++,Qn,qn,rn,bn,2),cr.emplace(Gr++,Qn,qn,rn,bn,3)}(!Jc||Jc.length<ir*2)&&(Jc=_c(ir));for(var mn=Ie.createIndexBuffer(Jc,!0),Gn=Ie.createVertexBuffer(cr,i.collisionCircleLayout.members,!0),da=0,No=Kt;da<No.length;da+=1){var Do=No[da],ps=fi(Do.transform,Do.invTransform,Y.transform);Cr.draw(Ie,$e.TRIANGLES,Wi.disabled,$i.disabled,Y.colorModeForRenderPass(),yr.disabled,ps,K.id,Gn,mn,i.SegmentVector.simpleSegment(0,Do.circleOffset*2,Do.circleArray.length,Do.circleArray.length/2),null,Y.transform.zoom,null,null,null)}Gn.destroy(),mn.destroy()}}function _c(Y){var z=Y*2,K=new i.StructArrayLayout3ui6;K.resize(z),K._trim();for(var O=0;O<z;O++){var $=O*6;K.uint16[$+0]=O*4+0,K.uint16[$+1]=O*4+1,K.uint16[$+2]=O*4+2,K.uint16[$+3]=O*4+2,K.uint16[$+4]=O*4+3,K.uint16[$+5]=O*4+0}return K}var le=i.identity(new Float32Array(16));function w(Y,z,K,O,$){if(Y.renderPass===\"translucent\"){var pe=$i.disabled,de=Y.colorModeForRenderPass(),Ie=K.layout.get(\"text-variable-anchor\");Ie&&Q(O,Y,K,z,K.layout.get(\"text-rotation-alignment\"),K.layout.get(\"text-pitch-alignment\"),$),K.paint.get(\"icon-opacity\").constantOr(1)!==0&&qe(Y,z,K,O,!1,K.paint.get(\"icon-translate\"),K.paint.get(\"icon-translate-anchor\"),K.layout.get(\"icon-rotation-alignment\"),K.layout.get(\"icon-pitch-alignment\"),K.layout.get(\"icon-keep-upright\"),pe,de),K.paint.get(\"text-opacity\").constantOr(1)!==0&&qe(Y,z,K,O,!0,K.paint.get(\"text-translate\"),K.paint.get(\"text-translate-anchor\"),K.layout.get(\"text-rotation-alignment\"),K.layout.get(\"text-pitch-alignment\"),K.layout.get(\"text-keep-upright\"),pe,de),z.map.showCollisionBoxes&&(yc(Y,z,K,O,K.paint.get(\"text-translate\"),K.paint.get(\"text-translate-anchor\"),!0),yc(Y,z,K,O,K.paint.get(\"icon-translate\"),K.paint.get(\"icon-translate-anchor\"),!1))}}function B(Y,z,K,O,$,pe){var de=i.getAnchorAlignment(Y),Ie=de.horizontalAlign,$e=de.verticalAlign,pt=-(Ie-.5)*z,Kt=-($e-.5)*K,ir=i.evaluateVariableOffset(Y,O);return new i.Point((pt/$+ir[0])*pe,(Kt/$+ir[1])*pe)}function Q(Y,z,K,O,$,pe,de){for(var Ie=z.transform,$e=$===\"map\",pt=pe===\"map\",Kt=0,ir=Y;Kt<ir.length;Kt+=1){var Jt=ir[Kt],vt=O.getTile(Jt),Pt=vt.getBucket(K);if(!(!Pt||!Pt.text||!Pt.text.segments.get().length)){var Wt=Pt.textSizeData,rr=i.evaluateSizeForZoom(Wt,Ie.zoom),dr=Cs(vt,1,z.transform.zoom),pr=Ji(Jt.posMatrix,pt,$e,z.transform,dr),kr=K.layout.get(\"icon-text-fit\")!==\"none\"&&Pt.hasIconData();if(rr){var Ar=Math.pow(2,Ie.zoom-vt.tileID.overscaledZ);ee(Pt,$e,pt,de,i.symbolSize,Ie,pr,Jt.posMatrix,Ar,rr,kr)}}}}function ee(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt){var ir=Y.text.placedSymbolArray,Jt=Y.text.dynamicLayoutVertexArray,vt=Y.icon.dynamicLayoutVertexArray,Pt={};Jt.clear();for(var Wt=0;Wt<ir.length;Wt++){var rr=ir.get(Wt),dr=Y.allowVerticalPlacement&&!rr.placedOrientation,pr=!rr.hidden&&rr.crossTileID&&!dr?O[rr.crossTileID]:null;if(!pr)Xs(rr.numGlyphs,Jt);else{var kr=new i.Point(rr.anchorX,rr.anchorY),Ar=Fn(kr,K?Ie:de),gr=Sa(pe.cameraToCenterDistance,Ar.signedDistanceFromCamera),Cr=$.evaluateSizeForFeature(Y.textSizeData,pt,rr)*gr/i.ONE_EM;K&&(Cr*=Y.tilePixelRatio/$e);for(var cr=pr.width,Gr=pr.height,ei=pr.anchor,yi=pr.textOffset,tn=pr.textBoxScale,Ri=B(ei,cr,Gr,yi,tn,Cr),ln=K?Fn(kr.add(Ri),de).point:Ar.point.add(z?Ri.rotate(-pe.angle):Ri),Qn=Y.allowVerticalPlacement&&rr.placedOrientation===i.WritingMode.vertical?Math.PI/2:0,qn=0;qn<rr.numGlyphs;qn++)i.addDynamicAttributes(Jt,ln,Qn);Kt&&rr.associatedIconIndex>=0&&(Pt[rr.associatedIconIndex]={shiftedAnchor:ln,angle:Qn})}}if(Kt){vt.clear();for(var rn=Y.icon.placedSymbolArray,bn=0;bn<rn.length;bn++){var mn=rn.get(bn);if(mn.hidden)Xs(mn.numGlyphs,vt);else{var Gn=Pt[bn];if(!Gn)Xs(mn.numGlyphs,vt);else for(var da=0;da<mn.numGlyphs;da++)i.addDynamicAttributes(vt,Gn.shiftedAnchor,Gn.angle)}}Y.icon.dynamicLayoutVertexBuffer.updateData(vt)}Y.text.dynamicLayoutVertexBuffer.updateData(Jt)}function se(Y,z,K){return K.iconsInText&&z?\"symbolTextAndIcon\":Y?\"symbolSDF\":\"symbolIcon\"}function qe(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt,ir){for(var Jt=Y.context,vt=Jt.gl,Pt=Y.transform,Wt=Ie===\"map\",rr=$e===\"map\",dr=Wt&&K.layout.get(\"symbol-placement\")!==\"point\",pr=Wt&&!rr&&!dr,kr=K.layout.get(\"symbol-sort-key\").constantOr(1)!==void 0,Ar=!1,gr=Y.depthModeForSublayer(0,Wi.ReadOnly),Cr=K.layout.get(\"text-variable-anchor\"),cr=[],Gr=0,ei=O;Gr<ei.length;Gr+=1){var yi=ei[Gr],tn=z.getTile(yi),Ri=tn.getBucket(K);if(Ri){var ln=$?Ri.text:Ri.icon;if(!(!ln||!ln.segments.get().length)){var Qn=ln.programConfigurations.get(K.id),qn=$||Ri.sdfIcons,rn=$?Ri.textSizeData:Ri.iconSizeData,bn=rr||Pt.pitch!==0,mn=Y.useProgram(se(qn,$,Ri),Qn),Gn=i.evaluateSizeForZoom(rn,Pt.zoom),da=void 0,No=[0,0],Do=void 0,ps=void 0,fo=null,as=void 0;if($){if(Do=tn.glyphAtlasTexture,ps=vt.LINEAR,da=tn.glyphAtlasTexture.size,Ri.iconsInText){No=tn.imageAtlasTexture.size,fo=tn.imageAtlasTexture;var tl=rn.kind===\"composite\"||rn.kind===\"camera\";as=bn||Y.options.rotating||Y.options.zooming||tl?vt.LINEAR:vt.NEAREST}}else{var zu=K.layout.get(\"icon-size\").constantOr(0)!==1||Ri.iconsNeedLinear;Do=tn.imageAtlasTexture,ps=qn||Y.options.rotating||Y.options.zooming||zu||bn?vt.LINEAR:vt.NEAREST,da=tn.imageAtlasTexture.size}var Mv=Cs(tn,1,Y.transform.zoom),Ev=Ji(yi.posMatrix,rr,Wt,Y.transform,Mv),yd=ua(yi.posMatrix,rr,Wt,Y.transform,Mv),Yv=Cr&&Ri.hasTextData(),cg=K.layout.get(\"icon-text-fit\")!==\"none\"&&Yv&&Ri.hasIconData();dr&&Oo(Ri,yi.posMatrix,Y,$,Ev,yd,rr,pt);var vp=Y.translatePosMatrix(yi.posMatrix,tn,pe,de),_d=dr||$&&Cr||cg?le:Ev,pp=Y.translatePosMatrix(yd,tn,pe,de,!0),Nd=qn&&K.paint.get($?\"text-halo-width\":\"icon-halo-width\").constantOr(1)!==0,xd=void 0;qn?Ri.iconsInText?xd=bu(rn.kind,Gn,pr,rr,Y,vp,_d,pp,da,No):xd=mf(rn.kind,Gn,pr,rr,Y,vp,_d,pp,$,da,!0):xd=ac(rn.kind,Gn,pr,rr,Y,vp,_d,pp,$,da);var kv={program:mn,buffers:ln,uniformValues:xd,atlasTexture:Do,atlasTextureIcon:fo,atlasInterpolation:ps,atlasInterpolationIcon:as,isSDF:qn,hasHalo:Nd};if(kr&&Ri.canOverlap){Ar=!0;for(var Kv=ln.segments.get(),Cv=0,ny=Kv;Cv<ny.length;Cv+=1){var fg=ny[Cv];cr.push({segments:new i.SegmentVector([fg]),sortKey:fg.sortKey,state:kv})}}else cr.push({segments:ln.segments,sortKey:0,state:kv})}}}Ar&&cr.sort(function(w1,T1){return w1.sortKey-T1.sortKey});for(var Hf=0,hg=cr;Hf<hg.length;Hf+=1){var ay=hg[Hf],Rh=ay.state;if(Jt.activeTexture.set(vt.TEXTURE0),Rh.atlasTexture.bind(Rh.atlasInterpolation,vt.CLAMP_TO_EDGE),Rh.atlasTextureIcon&&(Jt.activeTexture.set(vt.TEXTURE1),Rh.atlasTextureIcon&&Rh.atlasTextureIcon.bind(Rh.atlasInterpolationIcon,vt.CLAMP_TO_EDGE)),Rh.isSDF){var rm=Rh.uniformValues;Rh.hasHalo&&(rm.u_is_halo=1,je(Rh.buffers,ay.segments,K,Y,Rh.program,gr,Kt,ir,rm)),rm.u_is_halo=0}je(Rh.buffers,ay.segments,K,Y,Rh.program,gr,Kt,ir,Rh.uniformValues)}}function je(Y,z,K,O,$,pe,de,Ie,$e){var pt=O.context,Kt=pt.gl;$.draw(pt,Kt.TRIANGLES,pe,de,Ie,yr.disabled,$e,K.id,Y.layoutVertexBuffer,Y.indexBuffer,z,K.paint,O.transform.zoom,Y.programConfigurations.get(K.id),Y.dynamicLayoutVertexBuffer,Y.opacityVertexBuffer)}function it(Y,z,K,O){if(Y.renderPass===\"translucent\"){var $=K.paint.get(\"circle-opacity\"),pe=K.paint.get(\"circle-stroke-width\"),de=K.paint.get(\"circle-stroke-opacity\"),Ie=K.layout.get(\"circle-sort-key\").constantOr(1)!==void 0;if(!($.constantOr(1)===0&&(pe.constantOr(1)===0||de.constantOr(1)===0))){for(var $e=Y.context,pt=$e.gl,Kt=Y.depthModeForSublayer(0,Wi.ReadOnly),ir=$i.disabled,Jt=Y.colorModeForRenderPass(),vt=[],Pt=0;Pt<O.length;Pt++){var Wt=O[Pt],rr=z.getTile(Wt),dr=rr.getBucket(K);if(dr){var pr=dr.programConfigurations.get(K.id),kr=Y.useProgram(\"circle\",pr),Ar=dr.layoutVertexBuffer,gr=dr.indexBuffer,Cr=Bt(Y,Wt,rr,K),cr={programConfiguration:pr,program:kr,layoutVertexBuffer:Ar,indexBuffer:gr,uniformValues:Cr};if(Ie)for(var Gr=dr.segments.get(),ei=0,yi=Gr;ei<yi.length;ei+=1){var tn=yi[ei];vt.push({segments:new i.SegmentVector([tn]),sortKey:tn.sortKey,state:cr})}else vt.push({segments:dr.segments,sortKey:0,state:cr})}}Ie&&vt.sort(function(Do,ps){return Do.sortKey-ps.sortKey});for(var Ri=0,ln=vt;Ri<ln.length;Ri+=1){var Qn=ln[Ri],qn=Qn.state,rn=qn.programConfiguration,bn=qn.program,mn=qn.layoutVertexBuffer,Gn=qn.indexBuffer,da=qn.uniformValues,No=Qn.segments;bn.draw($e,pt.TRIANGLES,Kt,ir,Jt,yr.disabled,da,K.id,mn,Gn,No,K.paint,Y.transform.zoom,rn)}}}}function yt(Y,z,K,O){if(K.paint.get(\"heatmap-opacity\")!==0)if(Y.renderPass===\"offscreen\"){var $=Y.context,pe=$.gl,de=$i.disabled,Ie=new ft([pe.ONE,pe.ONE],i.Color.transparent,[!0,!0,!0,!0]);Ot($,Y,K),$.clear({color:i.Color.transparent});for(var $e=0;$e<O.length;$e++){var pt=O[$e];if(!z.hasRenderableParent(pt)){var Kt=z.getTile(pt),ir=Kt.getBucket(K);if(ir){var Jt=ir.programConfigurations.get(K.id),vt=Y.useProgram(\"heatmap\",Jt),Pt=Y.transform,Wt=Pt.zoom;vt.draw($,pe.TRIANGLES,Wi.disabled,de,Ie,yr.disabled,Ii(pt.posMatrix,Kt,Wt,K.paint.get(\"heatmap-intensity\")),K.id,ir.layoutVertexBuffer,ir.indexBuffer,ir.segments,K.paint,Y.transform.zoom,Jt)}}}$.viewport.set([0,0,Y.width,Y.height])}else Y.renderPass===\"translucent\"&&(Y.context.setColorMode(Y.colorModeForRenderPass()),hr(Y,K))}function Ot(Y,z,K){var O=Y.gl;Y.activeTexture.set(O.TEXTURE1),Y.viewport.set([0,0,z.width/4,z.height/4]);var $=K.heatmapFbo;if($)O.bindTexture(O.TEXTURE_2D,$.colorAttachment.get()),Y.bindFramebuffer.set($.framebuffer);else{var pe=O.createTexture();O.bindTexture(O.TEXTURE_2D,pe),O.texParameteri(O.TEXTURE_2D,O.TEXTURE_WRAP_S,O.CLAMP_TO_EDGE),O.texParameteri(O.TEXTURE_2D,O.TEXTURE_WRAP_T,O.CLAMP_TO_EDGE),O.texParameteri(O.TEXTURE_2D,O.TEXTURE_MIN_FILTER,O.LINEAR),O.texParameteri(O.TEXTURE_2D,O.TEXTURE_MAG_FILTER,O.LINEAR),$=K.heatmapFbo=Y.createFramebuffer(z.width/4,z.height/4,!1),Nt(Y,z,pe,$)}}function Nt(Y,z,K,O){var $=Y.gl,pe=Y.extRenderToTextureHalfFloat?Y.extTextureHalfFloat.HALF_FLOAT_OES:$.UNSIGNED_BYTE;$.texImage2D($.TEXTURE_2D,0,$.RGBA,z.width/4,z.height/4,0,$.RGBA,pe,null),O.colorAttachment.set(K)}function hr(Y,z){var K=Y.context,O=K.gl,$=z.heatmapFbo;if($){K.activeTexture.set(O.TEXTURE0),O.bindTexture(O.TEXTURE_2D,$.colorAttachment.get()),K.activeTexture.set(O.TEXTURE1);var pe=z.colorRampTexture;pe||(pe=z.colorRampTexture=new i.Texture(K,z.colorRamp,O.RGBA)),pe.bind(O.LINEAR,O.CLAMP_TO_EDGE),Y.useProgram(\"heatmapTexture\").draw(K,O.TRIANGLES,Wi.disabled,$i.disabled,Y.colorModeForRenderPass(),yr.disabled,mi(Y,z,0,1),z.id,Y.viewportBuffer,Y.quadTriangleIndexBuffer,Y.viewportSegments,z.paint,Y.transform.zoom)}}function Sr(Y,z,K,O){if(Y.renderPass===\"translucent\"){var $=K.paint.get(\"line-opacity\"),pe=K.paint.get(\"line-width\");if(!($.constantOr(1)===0||pe.constantOr(1)===0))for(var de=Y.depthModeForSublayer(0,Wi.ReadOnly),Ie=Y.colorModeForRenderPass(),$e=K.paint.get(\"line-dasharray\"),pt=K.paint.get(\"line-pattern\"),Kt=pt.constantOr(1),ir=K.paint.get(\"line-gradient\"),Jt=K.getCrossfadeParameters(),vt=Kt?\"linePattern\":$e?\"lineSDF\":ir?\"lineGradient\":\"line\",Pt=Y.context,Wt=Pt.gl,rr=!0,dr=0,pr=O;dr<pr.length;dr+=1){var kr=pr[dr],Ar=z.getTile(kr);if(!(Kt&&!Ar.patternsLoaded())){var gr=Ar.getBucket(K);if(gr){var Cr=gr.programConfigurations.get(K.id),cr=Y.context.program.get(),Gr=Y.useProgram(vt,Cr),ei=rr||Gr.program!==cr,yi=pt.constantOr(null);if(yi&&Ar.imageAtlas){var tn=Ar.imageAtlas,Ri=tn.patternPositions[yi.to.toString()],ln=tn.patternPositions[yi.from.toString()];Ri&&ln&&Cr.setConstantPatternPositions(Ri,ln)}var Qn=Kt?Qo(Y,Ar,K,Jt):$e?ys(Y,Ar,K,$e,Jt):ir?Ts(Y,Ar,K,gr.lineClipsArray.length):Xo(Y,Ar,K);if(Kt)Pt.activeTexture.set(Wt.TEXTURE0),Ar.imageAtlasTexture.bind(Wt.LINEAR,Wt.CLAMP_TO_EDGE),Cr.updatePaintBuffers(Jt);else if($e&&(ei||Y.lineAtlas.dirty))Pt.activeTexture.set(Wt.TEXTURE0),Y.lineAtlas.bind(Pt);else if(ir){var qn=gr.gradients[K.id],rn=qn.texture;if(K.gradientVersion!==qn.version){var bn=256;if(K.stepInterpolant){var mn=z.getSource().maxzoom,Gn=kr.canonical.z===mn?Math.ceil(1<<Y.transform.maxZoom-kr.canonical.z):1,da=gr.maxLineLength/i.EXTENT,No=1024,Do=da*No*Gn;bn=i.clamp(i.nextPowerOfTwo(Do),256,Pt.maxTextureSize)}qn.gradient=i.renderColorRamp({expression:K.gradientExpression(),evaluationKey:\"lineProgress\",resolution:bn,image:qn.gradient||void 0,clips:gr.lineClipsArray}),qn.texture?qn.texture.update(qn.gradient):qn.texture=new i.Texture(Pt,qn.gradient,Wt.RGBA),qn.version=K.gradientVersion,rn=qn.texture}Pt.activeTexture.set(Wt.TEXTURE0),rn.bind(K.stepInterpolant?Wt.NEAREST:Wt.LINEAR,Wt.CLAMP_TO_EDGE)}Gr.draw(Pt,Wt.TRIANGLES,de,Y.stencilModeForClipping(kr),Ie,yr.disabled,Qn,K.id,gr.layoutVertexBuffer,gr.indexBuffer,gr.segments,K.paint,Y.transform.zoom,Cr,gr.layoutVertexBuffer2),rr=!1}}}}}function he(Y,z,K,O){var $=K.paint.get(\"fill-color\"),pe=K.paint.get(\"fill-opacity\");if(pe.constantOr(1)!==0){var de=Y.colorModeForRenderPass(),Ie=K.paint.get(\"fill-pattern\"),$e=Y.opaquePassEnabledForLayer()&&!Ie.constantOr(1)&&$.constantOr(i.Color.transparent).a===1&&pe.constantOr(0)===1?\"opaque\":\"translucent\";if(Y.renderPass===$e){var pt=Y.depthModeForSublayer(1,Y.renderPass===\"opaque\"?Wi.ReadWrite:Wi.ReadOnly);be(Y,z,K,O,pt,de,!1)}if(Y.renderPass===\"translucent\"&&K.paint.get(\"fill-antialias\")){var Kt=Y.depthModeForSublayer(K.getPaintProperty(\"fill-outline-color\")?2:0,Wi.ReadOnly);be(Y,z,K,O,Kt,de,!0)}}}function be(Y,z,K,O,$,pe,de){var Ie=Y.context.gl,$e=K.paint.get(\"fill-pattern\"),pt=$e&&$e.constantOr(1),Kt=K.getCrossfadeParameters(),ir,Jt,vt,Pt,Wt;de?(Jt=pt&&!K.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",ir=Ie.LINES):(Jt=pt?\"fillPattern\":\"fill\",ir=Ie.TRIANGLES);for(var rr=0,dr=O;rr<dr.length;rr+=1){var pr=dr[rr],kr=z.getTile(pr);if(!(pt&&!kr.patternsLoaded())){var Ar=kr.getBucket(K);if(Ar){var gr=Ar.programConfigurations.get(K.id),Cr=Y.useProgram(Jt,gr);pt&&(Y.context.activeTexture.set(Ie.TEXTURE0),kr.imageAtlasTexture.bind(Ie.LINEAR,Ie.CLAMP_TO_EDGE),gr.updatePaintBuffers(Kt));var cr=$e.constantOr(null);if(cr&&kr.imageAtlas){var Gr=kr.imageAtlas,ei=Gr.patternPositions[cr.to.toString()],yi=Gr.patternPositions[cr.from.toString()];ei&&yi&&gr.setConstantPatternPositions(ei,yi)}var tn=Y.translatePosMatrix(pr.posMatrix,kr,K.paint.get(\"fill-translate\"),K.paint.get(\"fill-translate-anchor\"));if(!de)Pt=Ar.indexBuffer,Wt=Ar.segments,vt=pt?Yc(tn,Y,Kt,kr):mc(tn);else{Pt=Ar.indexBuffer2,Wt=Ar.segments2;var Ri=[Ie.drawingBufferWidth,Ie.drawingBufferHeight];vt=Jt===\"fillOutlinePattern\"&&pt?gf(tn,Y,Kt,kr,Ri):nc(tn,Ri)}Cr.draw(Y.context,ir,$,Y.stencilModeForClipping(pr),pe,yr.disabled,vt,K.id,Ar.layoutVertexBuffer,Pt,Wt,K.paint,Y.transform.zoom,gr)}}}}function Pe(Y,z,K,O){var $=K.paint.get(\"fill-extrusion-opacity\");if($!==0&&Y.renderPass===\"translucent\"){var pe=new Wi(Y.context.gl.LEQUAL,Wi.ReadWrite,Y.depthRangeFor3D);if($===1&&!K.paint.get(\"fill-extrusion-pattern\").constantOr(1)){var de=Y.colorModeForRenderPass();Oe(Y,z,K,O,pe,$i.disabled,de)}else Oe(Y,z,K,O,pe,$i.disabled,ft.disabled),Oe(Y,z,K,O,pe,Y.stencilModeFor3D(),Y.colorModeForRenderPass())}}function Oe(Y,z,K,O,$,pe,de){for(var Ie=Y.context,$e=Ie.gl,pt=K.paint.get(\"fill-extrusion-pattern\"),Kt=pt.constantOr(1),ir=K.getCrossfadeParameters(),Jt=K.paint.get(\"fill-extrusion-opacity\"),vt=0,Pt=O;vt<Pt.length;vt+=1){var Wt=Pt[vt],rr=z.getTile(Wt),dr=rr.getBucket(K);if(dr){var pr=dr.programConfigurations.get(K.id),kr=Y.useProgram(Kt?\"fillExtrusionPattern\":\"fillExtrusion\",pr);Kt&&(Y.context.activeTexture.set($e.TEXTURE0),rr.imageAtlasTexture.bind($e.LINEAR,$e.CLAMP_TO_EDGE),pr.updatePaintBuffers(ir));var Ar=pt.constantOr(null);if(Ar&&rr.imageAtlas){var gr=rr.imageAtlas,Cr=gr.patternPositions[Ar.to.toString()],cr=gr.patternPositions[Ar.from.toString()];Cr&&cr&&pr.setConstantPatternPositions(Cr,cr)}var Gr=Y.translatePosMatrix(Wt.posMatrix,rr,K.paint.get(\"fill-extrusion-translate\"),K.paint.get(\"fill-extrusion-translate-anchor\")),ei=K.paint.get(\"fill-extrusion-vertical-gradient\"),yi=Kt?Wu(Gr,Y,ei,Jt,Wt,ir,rr):Ih(Gr,Y,ei,Jt);kr.draw(Ie,Ie.gl.TRIANGLES,$,pe,de,yr.backCCW,yi,K.id,dr.layoutVertexBuffer,dr.indexBuffer,dr.segments,K.paint,Y.transform.zoom,pr)}}}function Je(Y,z,K,O){if(!(Y.renderPass!==\"offscreen\"&&Y.renderPass!==\"translucent\")){for(var $=Y.context,pe=Y.depthModeForSublayer(0,Wi.ReadOnly),de=Y.colorModeForRenderPass(),Ie=Y.renderPass===\"translucent\"?Y.stencilConfigForOverlap(O):[{},O],$e=Ie[0],pt=Ie[1],Kt=0,ir=pt;Kt<ir.length;Kt+=1){var Jt=ir[Kt],vt=z.getTile(Jt);vt.needsHillshadePrepare&&Y.renderPass===\"offscreen\"?et(Y,vt,K,pe,$i.disabled,de):Y.renderPass===\"translucent\"&&He(Y,vt,K,pe,$e[Jt.overscaledZ],de)}$.viewport.set([0,0,Y.width,Y.height])}}function He(Y,z,K,O,$,pe){var de=Y.context,Ie=de.gl,$e=z.fbo;if($e){var pt=Y.useProgram(\"hillshade\");de.activeTexture.set(Ie.TEXTURE0),Ie.bindTexture(Ie.TEXTURE_2D,$e.colorAttachment.get());var Kt=Ta(Y,z,K);pt.draw(de,Ie.TRIANGLES,O,$,pe,yr.disabled,Kt,K.id,Y.rasterBoundsBuffer,Y.quadTriangleIndexBuffer,Y.rasterBoundsSegments)}}function et(Y,z,K,O,$,pe){var de=Y.context,Ie=de.gl,$e=z.dem;if($e&&$e.data){var pt=$e.dim,Kt=$e.stride,ir=$e.getPixels();if(de.activeTexture.set(Ie.TEXTURE1),de.pixelStoreUnpackPremultiplyAlpha.set(!1),z.demTexture=z.demTexture||Y.getTileTexture(Kt),z.demTexture){var Jt=z.demTexture;Jt.update(ir,{premultiply:!1}),Jt.bind(Ie.NEAREST,Ie.CLAMP_TO_EDGE)}else z.demTexture=new i.Texture(de,ir,Ie.RGBA,{premultiply:!1}),z.demTexture.bind(Ie.NEAREST,Ie.CLAMP_TO_EDGE);de.activeTexture.set(Ie.TEXTURE0);var vt=z.fbo;if(!vt){var Pt=new i.Texture(de,{width:pt,height:pt,data:null},Ie.RGBA);Pt.bind(Ie.LINEAR,Ie.CLAMP_TO_EDGE),vt=z.fbo=de.createFramebuffer(pt,pt,!0),vt.colorAttachment.set(Pt.texture)}de.bindFramebuffer.set(vt.framebuffer),de.viewport.set([0,0,pt,pt]),Y.useProgram(\"hillshadePrepare\").draw(de,Ie.TRIANGLES,O,$,pe,yr.disabled,Ea(z.tileID,$e),K.id,Y.rasterBoundsBuffer,Y.quadTriangleIndexBuffer,Y.rasterBoundsSegments),z.needsHillshadePrepare=!1}}function Mt(Y,z,K,O){if(Y.renderPass===\"translucent\"&&K.paint.get(\"raster-opacity\")!==0&&O.length)for(var $=Y.context,pe=$.gl,de=z.getSource(),Ie=Y.useProgram(\"raster\"),$e=Y.colorModeForRenderPass(),pt=de instanceof ke?[{},O]:Y.stencilConfigForOverlap(O),Kt=pt[0],ir=pt[1],Jt=ir[ir.length-1].overscaledZ,vt=!Y.options.moving,Pt=0,Wt=ir;Pt<Wt.length;Pt+=1){var rr=Wt[Pt],dr=Y.depthModeForSublayer(rr.overscaledZ-Jt,K.paint.get(\"raster-opacity\")===1?Wi.ReadWrite:Wi.ReadOnly,pe.LESS),pr=z.getTile(rr),kr=Y.transform.calculatePosMatrix(rr.toUnwrapped(),vt);pr.registerFadeDuration(K.paint.get(\"raster-fade-duration\"));var Ar=z.findLoadedParent(rr,0),gr=Dt(pr,Ar,z,K,Y.transform),Cr=void 0,cr=void 0,Gr=K.paint.get(\"raster-resampling\")===\"nearest\"?pe.NEAREST:pe.LINEAR;$.activeTexture.set(pe.TEXTURE0),pr.texture.bind(Gr,pe.CLAMP_TO_EDGE,pe.LINEAR_MIPMAP_NEAREST),$.activeTexture.set(pe.TEXTURE1),Ar?(Ar.texture.bind(Gr,pe.CLAMP_TO_EDGE,pe.LINEAR_MIPMAP_NEAREST),Cr=Math.pow(2,Ar.tileID.overscaledZ-pr.tileID.overscaledZ),cr=[pr.tileID.canonical.x*Cr%1,pr.tileID.canonical.y*Cr%1]):pr.texture.bind(Gr,pe.CLAMP_TO_EDGE,pe.LINEAR_MIPMAP_NEAREST);var ei=Rs(kr,cr||[0,0],Cr||1,gr,K);de instanceof ke?Ie.draw($,pe.TRIANGLES,dr,$i.disabled,$e,yr.disabled,ei,K.id,de.boundsBuffer,Y.quadTriangleIndexBuffer,de.boundsSegments):Ie.draw($,pe.TRIANGLES,dr,Kt[rr.overscaledZ],$e,yr.disabled,ei,K.id,Y.rasterBoundsBuffer,Y.quadTriangleIndexBuffer,Y.rasterBoundsSegments)}}function Dt(Y,z,K,O,$){var pe=O.paint.get(\"raster-fade-duration\");if(pe>0){var de=i.browser.now(),Ie=(de-Y.timeAdded)/pe,$e=z?(de-z.timeAdded)/pe:-1,pt=K.getSource(),Kt=$.coveringZoomLevel({tileSize:pt.tileSize,roundZoom:pt.roundZoom}),ir=!z||Math.abs(z.tileID.overscaledZ-Kt)>Math.abs(Y.tileID.overscaledZ-Kt),Jt=ir&&Y.refreshedUponExpiration?1:i.clamp(ir?Ie:1-$e,0,1);return Y.refreshedUponExpiration&&Ie>=1&&(Y.refreshedUponExpiration=!1),z?{opacity:1,mix:1-Jt}:{opacity:Jt,mix:0}}else return{opacity:1,mix:0}}function Ut(Y,z,K){var O=K.paint.get(\"background-color\"),$=K.paint.get(\"background-opacity\");if($!==0){var pe=Y.context,de=pe.gl,Ie=Y.transform,$e=Ie.tileSize,pt=K.paint.get(\"background-pattern\");if(!Y.isPatternMissing(pt)){var Kt=!pt&&O.a===1&&$===1&&Y.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(Y.renderPass===Kt){var ir=$i.disabled,Jt=Y.depthModeForSublayer(0,Kt===\"opaque\"?Wi.ReadWrite:Wi.ReadOnly),vt=Y.colorModeForRenderPass(),Pt=Y.useProgram(pt?\"backgroundPattern\":\"background\"),Wt=Ie.coveringTiles({tileSize:$e});pt&&(pe.activeTexture.set(de.TEXTURE0),Y.imageManager.bind(Y.context));for(var rr=K.getCrossfadeParameters(),dr=0,pr=Wt;dr<pr.length;dr+=1){var kr=pr[dr],Ar=Y.transform.calculatePosMatrix(kr.toUnwrapped()),gr=pt?Da(Ar,$,Y,pt,{tileID:kr,tileSize:$e},rr):Dc(Ar,$,O);Pt.draw(pe,de.TRIANGLES,Jt,ir,vt,yr.disabled,gr,K.id,Y.tileExtentBuffer,Y.quadTriangleIndexBuffer,Y.tileExtentSegments)}}}}}var tr=new i.Color(1,0,0,1),mr=new i.Color(0,1,0,1),Rr=new i.Color(0,0,1,1),zr=new i.Color(1,0,1,1),Xr=new i.Color(0,1,1,1);function di(Y){var z=Y.transform.padding,K=3;Ci(Y,Y.transform.height-(z.top||0),K,tr),Ci(Y,z.bottom||0,K,mr),Qi(Y,z.left||0,K,Rr),Qi(Y,Y.transform.width-(z.right||0),K,zr);var O=Y.transform.centerPoint;Li(Y,O.x,Y.transform.height-O.y,Xr)}function Li(Y,z,K,O){var $=20,pe=2;Mn(Y,z-pe/2,K-$/2,pe,$,O),Mn(Y,z-$/2,K-pe/2,$,pe,O)}function Ci(Y,z,K,O){Mn(Y,0,z+K/2,Y.transform.width,K,O)}function Qi(Y,z,K,O){Mn(Y,z-K/2,0,K,Y.transform.height,O)}function Mn(Y,z,K,O,$,pe){var de=Y.context,Ie=de.gl;Ie.enable(Ie.SCISSOR_TEST),Ie.scissor(z*i.browser.devicePixelRatio,K*i.browser.devicePixelRatio,O*i.browser.devicePixelRatio,$*i.browser.devicePixelRatio),de.clear({color:pe}),Ie.disable(Ie.SCISSOR_TEST)}function pa(Y,z,K){for(var O=0;O<K.length;O++)ea(Y,z,K[O])}function ea(Y,z,K){var O=Y.context,$=O.gl,pe=K.posMatrix,de=Y.useProgram(\"debug\"),Ie=Wi.disabled,$e=$i.disabled,pt=Y.colorModeForRenderPass(),Kt=\"$debug\";O.activeTexture.set($.TEXTURE0),Y.emptyTexture.bind($.LINEAR,$.CLAMP_TO_EDGE),de.draw(O,$.LINE_STRIP,Ie,$e,pt,yr.disabled,Fi(pe,i.Color.red),Kt,Y.debugBuffer,Y.tileBorderIndexBuffer,Y.debugSegments);var ir=z.getTileByID(K.key).latestRawTileData,Jt=ir&&ir.byteLength||0,vt=Math.floor(Jt/1024),Pt=z.getTile(K).tileSize,Wt=512/Math.min(Pt,512)*(K.overscaledZ/Y.transform.zoom)*.5,rr=K.canonical.toString();K.overscaledZ!==K.canonical.z&&(rr+=\" => \"+K.overscaledZ);var dr=rr+\" \"+vt+\"kb\";Ga(Y,dr),de.draw(O,$.TRIANGLES,Ie,$e,ft.alphaBlended,yr.disabled,Fi(pe,i.Color.transparent,Wt),Kt,Y.debugBuffer,Y.quadTriangleIndexBuffer,Y.debugSegments)}function Ga(Y,z){Y.initDebugOverlayCanvas();var K=Y.debugOverlayCanvas,O=Y.context.gl,$=Y.debugOverlayCanvas.getContext(\"2d\");$.clearRect(0,0,K.width,K.height),$.shadowColor=\"white\",$.shadowBlur=2,$.lineWidth=1.5,$.strokeStyle=\"white\",$.textBaseline=\"top\",$.font=\"bold 36px Open Sans, sans-serif\",$.fillText(z,5,5),$.strokeText(z,5,5),Y.debugOverlayTexture.update(K),Y.debugOverlayTexture.bind(O.LINEAR,O.CLAMP_TO_EDGE)}function To(Y,z,K){var O=Y.context,$=K.implementation;if(Y.renderPass===\"offscreen\"){var pe=$.prerender;pe&&(Y.setCustomLayerDefaults(),O.setColorMode(Y.colorModeForRenderPass()),pe.call($,O.gl,Y.transform.customLayerMatrix()),O.setDirty(),Y.setBaseState())}else if(Y.renderPass===\"translucent\"){Y.setCustomLayerDefaults(),O.setColorMode(Y.colorModeForRenderPass()),O.setStencilMode($i.disabled);var de=$.renderingMode===\"3d\"?new Wi(Y.context.gl.LEQUAL,Wi.ReadWrite,Y.depthRangeFor3D):Y.depthModeForSublayer(0,Wi.ReadOnly);O.setDepthMode(de),$.render(O.gl,Y.transform.customLayerMatrix()),O.setDirty(),Y.setBaseState(),O.bindFramebuffer.set(null)}}var Wa={symbol:w,circle:it,heatmap:yt,line:Sr,fill:he,\"fill-extrusion\":Pe,hillshade:Je,raster:Mt,background:Ut,debug:pa,custom:To},co=function(z,K){this.context=new Fr(z),this.transform=K,this._tileTextures={},this.setup(),this.numSublayers=Zr.maxUnderzooming+Zr.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new rh,this.gpuTimers={}};co.prototype.resize=function(z,K){if(this.width=z*i.browser.devicePixelRatio,this.height=K*i.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var O=0,$=this.style._order;O<$.length;O+=1){var pe=$[O];this.style._layers[pe].resize()}},co.prototype.setup=function(){var z=this.context,K=new i.StructArrayLayout2i4;K.emplaceBack(0,0),K.emplaceBack(i.EXTENT,0),K.emplaceBack(0,i.EXTENT),K.emplaceBack(i.EXTENT,i.EXTENT),this.tileExtentBuffer=z.createVertexBuffer(K,kc.members),this.tileExtentSegments=i.SegmentVector.simpleSegment(0,0,4,2);var O=new i.StructArrayLayout2i4;O.emplaceBack(0,0),O.emplaceBack(i.EXTENT,0),O.emplaceBack(0,i.EXTENT),O.emplaceBack(i.EXTENT,i.EXTENT),this.debugBuffer=z.createVertexBuffer(O,kc.members),this.debugSegments=i.SegmentVector.simpleSegment(0,0,4,5);var $=new i.StructArrayLayout4i8;$.emplaceBack(0,0,0,0),$.emplaceBack(i.EXTENT,0,i.EXTENT,0),$.emplaceBack(0,i.EXTENT,0,i.EXTENT),$.emplaceBack(i.EXTENT,i.EXTENT,i.EXTENT,i.EXTENT),this.rasterBoundsBuffer=z.createVertexBuffer($,Me.members),this.rasterBoundsSegments=i.SegmentVector.simpleSegment(0,0,4,2);var pe=new i.StructArrayLayout2i4;pe.emplaceBack(0,0),pe.emplaceBack(1,0),pe.emplaceBack(0,1),pe.emplaceBack(1,1),this.viewportBuffer=z.createVertexBuffer(pe,kc.members),this.viewportSegments=i.SegmentVector.simpleSegment(0,0,4,2);var de=new i.StructArrayLayout1ui2;de.emplaceBack(0),de.emplaceBack(1),de.emplaceBack(3),de.emplaceBack(2),de.emplaceBack(0),this.tileBorderIndexBuffer=z.createIndexBuffer(de);var Ie=new i.StructArrayLayout3ui6;Ie.emplaceBack(0,1,2),Ie.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=z.createIndexBuffer(Ie),this.emptyTexture=new i.Texture(z,{width:1,height:1,data:new Uint8Array([0,0,0,0])},z.gl.RGBA);var $e=this.context.gl;this.stencilClearMode=new $i({func:$e.ALWAYS,mask:0},0,255,$e.ZERO,$e.ZERO,$e.ZERO)},co.prototype.clearStencil=function(){var z=this.context,K=z.gl;this.nextStencilID=1,this.currentStencilSource=void 0;var O=i.create();i.ortho(O,0,this.width,this.height,0,0,1),i.scale(O,O,[K.drawingBufferWidth,K.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(z,K.TRIANGLES,Wi.disabled,this.stencilClearMode,ft.disabled,yr.disabled,hn(O),\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)},co.prototype._renderTileClippingMasks=function(z,K){if(!(this.currentStencilSource===z.source||!z.isTileClipped()||!K||!K.length)){this.currentStencilSource=z.source;var O=this.context,$=O.gl;this.nextStencilID+K.length>256&&this.clearStencil(),O.setColorMode(ft.disabled),O.setDepthMode(Wi.disabled);var pe=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(var de=0,Ie=K;de<Ie.length;de+=1){var $e=Ie[de],pt=this._tileClippingMaskIDs[$e.key]=this.nextStencilID++;pe.draw(O,$.TRIANGLES,Wi.disabled,new $i({func:$.ALWAYS,mask:0},pt,255,$.KEEP,$.KEEP,$.REPLACE),ft.disabled,yr.disabled,hn($e.posMatrix),\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}},co.prototype.stencilModeFor3D=function(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();var z=this.nextStencilID++,K=this.context.gl;return new $i({func:K.NOTEQUAL,mask:255},z,255,K.KEEP,K.KEEP,K.REPLACE)},co.prototype.stencilModeForClipping=function(z){var K=this.context.gl;return new $i({func:K.EQUAL,mask:255},this._tileClippingMaskIDs[z.key],0,K.KEEP,K.KEEP,K.REPLACE)},co.prototype.stencilConfigForOverlap=function(z){var K,O=this.context.gl,$=z.sort(function(pt,Kt){return Kt.overscaledZ-pt.overscaledZ}),pe=$[$.length-1].overscaledZ,de=$[0].overscaledZ-pe+1;if(de>1){this.currentStencilSource=void 0,this.nextStencilID+de>256&&this.clearStencil();for(var Ie={},$e=0;$e<de;$e++)Ie[$e+pe]=new $i({func:O.GEQUAL,mask:255},$e+this.nextStencilID,255,O.KEEP,O.KEEP,O.REPLACE);return this.nextStencilID+=de,[Ie,$]}return[(K={},K[pe]=$i.disabled,K),$]},co.prototype.colorModeForRenderPass=function(){var z=this.context.gl;if(this._showOverdrawInspector){var K=8,O=1/K;return new ft([z.CONSTANT_COLOR,z.ONE],new i.Color(O,O,O,0),[!0,!0,!0,!0])}else return this.renderPass===\"opaque\"?ft.unblended:ft.alphaBlended},co.prototype.depthModeForSublayer=function(z,K,O){if(!this.opaquePassEnabledForLayer())return Wi.disabled;var $=1-((1+this.currentLayer)*this.numSublayers+z)*this.depthEpsilon;return new Wi(O||this.context.gl.LEQUAL,K,[$,$])},co.prototype.opaquePassEnabledForLayer=function(){return this.currentLayer<this.opaquePassCutoff},co.prototype.render=function(z,K){var O=this;this.style=z,this.options=K,this.lineAtlas=z.lineAtlas,this.imageManager=z.imageManager,this.glyphManager=z.glyphManager,this.symbolFadeChange=z.placement.symbolFadeChange(i.browser.now()),this.imageManager.beginFrame();var $=this.style._order,pe=this.style.sourceCaches;for(var de in pe){var Ie=pe[de];Ie.used&&Ie.prepare(this.context)}var $e={},pt={},Kt={};for(var ir in pe){var Jt=pe[ir];$e[ir]=Jt.getVisibleCoordinates(),pt[ir]=$e[ir].slice().reverse(),Kt[ir]=Jt.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(var vt=0;vt<$.length;vt++){var Pt=$[vt];if(this.style._layers[Pt].is3D()){this.opaquePassCutoff=vt;break}}this.renderPass=\"offscreen\";for(var Wt=0,rr=$;Wt<rr.length;Wt+=1){var dr=rr[Wt],pr=this.style._layers[dr];if(!(!pr.hasOffscreenPass()||pr.isHidden(this.transform.zoom))){var kr=pt[pr.source];pr.type!==\"custom\"&&!kr.length||this.renderLayer(this,pe[pr.source],pr,kr)}}for(this.context.bindFramebuffer.set(null),this.context.clear({color:K.showOverdrawInspector?i.Color.black:i.Color.transparent,depth:1}),this.clearStencil(),this._showOverdrawInspector=K.showOverdrawInspector,this.depthRangeFor3D=[0,1-(z._order.length+2)*this.numSublayers*this.depthEpsilon],this.renderPass=\"opaque\",this.currentLayer=$.length-1;this.currentLayer>=0;this.currentLayer--){var Ar=this.style._layers[$[this.currentLayer]],gr=pe[Ar.source],Cr=$e[Ar.source];this._renderTileClippingMasks(Ar,Cr),this.renderLayer(this,gr,Ar,Cr)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer<$.length;this.currentLayer++){var cr=this.style._layers[$[this.currentLayer]],Gr=pe[cr.source],ei=(cr.type===\"symbol\"?Kt:pt)[cr.source];this._renderTileClippingMasks(cr,$e[cr.source]),this.renderLayer(this,Gr,cr,ei)}if(this.options.showTileBoundaries){var yi,tn,Ri=i.values(this.style._layers);Ri.forEach(function(ln){ln.source&&!ln.isHidden(O.transform.zoom)&&(ln.source!==(tn&&tn.id)&&(tn=O.style.sourceCaches[ln.source]),(!yi||yi.getSource().maxzoom<tn.getSource().maxzoom)&&(yi=tn))}),yi&&Wa.debug(this,yi,yi.getVisibleCoordinates())}this.options.showPadding&&di(this),this.context.setDefault()},co.prototype.renderLayer=function(z,K,O,$){O.isHidden(this.transform.zoom)||O.type!==\"background\"&&O.type!==\"custom\"&&!$.length||(this.id=O.id,this.gpuTimingStart(O),Wa[O.type](z,K,O,$,this.style.placement.variableOffsets),this.gpuTimingEnd())},co.prototype.gpuTimingStart=function(z){if(this.options.gpuTiming){var K=this.context.extTimerQuery,O=this.gpuTimers[z.id];O||(O=this.gpuTimers[z.id]={calls:0,cpuTime:0,query:K.createQueryEXT()}),O.calls++,K.beginQueryEXT(K.TIME_ELAPSED_EXT,O.query)}},co.prototype.gpuTimingEnd=function(){if(this.options.gpuTiming){var z=this.context.extTimerQuery;z.endQueryEXT(z.TIME_ELAPSED_EXT)}},co.prototype.collectGpuTimers=function(){var z=this.gpuTimers;return this.gpuTimers={},z},co.prototype.queryGpuTimers=function(z){var K={};for(var O in z){var $=z[O],pe=this.context.extTimerQuery,de=pe.getQueryObjectEXT($.query,pe.QUERY_RESULT_EXT)/(1e3*1e3);pe.deleteQueryEXT($.query),K[O]=de}return K},co.prototype.translatePosMatrix=function(z,K,O,$,pe){if(!O[0]&&!O[1])return z;var de=pe?$===\"map\"?this.transform.angle:0:$===\"viewport\"?-this.transform.angle:0;if(de){var Ie=Math.sin(de),$e=Math.cos(de);O=[O[0]*$e-O[1]*Ie,O[0]*Ie+O[1]*$e]}var pt=[pe?O[0]:Cs(K,O[0],this.transform.zoom),pe?O[1]:Cs(K,O[1],this.transform.zoom),0],Kt=new Float32Array(16);return i.translate(Kt,z,pt),Kt},co.prototype.saveTileTexture=function(z){var K=this._tileTextures[z.size[0]];K?K.push(z):this._tileTextures[z.size[0]]=[z]},co.prototype.getTileTexture=function(z){var K=this._tileTextures[z];return K&&K.length>0?K.pop():null},co.prototype.isPatternMissing=function(z){if(!z)return!1;if(!z.from||!z.to)return!0;var K=this.imageManager.getPattern(z.from.toString()),O=this.imageManager.getPattern(z.to.toString());return!K||!O},co.prototype.useProgram=function(z,K){this.cache=this.cache||{};var O=\"\"+z+(K?K.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\");return this.cache[O]||(this.cache[O]=new Vf(this.context,z,Pf[z],K,eo[z],this._showOverdrawInspector)),this.cache[O]},co.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()},co.prototype.setBaseState=function(){var z=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(z.FUNC_ADD)},co.prototype.initDebugOverlayCanvas=function(){if(this.debugOverlayCanvas==null){this.debugOverlayCanvas=i.window.document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var z=this.context.gl;this.debugOverlayTexture=new i.Texture(this.context,this.debugOverlayCanvas,z.RGBA)}},co.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var Ro=function(z,K){this.points=z,this.planes=K};Ro.fromInvProjectionMatrix=function(z,K,O){var $=[[-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]],pe=Math.pow(2,O),de=$.map(function(pt){return i.transformMat4([],pt,z)}).map(function(pt){return i.scale$1([],pt,1/pt[3]/K*pe)}),Ie=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]],$e=Ie.map(function(pt){var Kt=i.sub([],de[pt[0]],de[pt[1]]),ir=i.sub([],de[pt[2]],de[pt[1]]),Jt=i.normalize([],i.cross([],Kt,ir)),vt=-i.dot(Jt,de[pt[1]]);return Jt.concat(vt)});return new Ro(de,$e)};var Ds=function(z,K){this.min=z,this.max=K,this.center=i.scale$2([],i.add([],this.min,this.max),.5)};Ds.prototype.quadrant=function(z){for(var K=[z%2===0,z<2],O=i.clone$2(this.min),$=i.clone$2(this.max),pe=0;pe<K.length;pe++)O[pe]=K[pe]?this.min[pe]:this.center[pe],$[pe]=K[pe]?this.center[pe]:this.max[pe];return $[2]=this.max[2],new Ds(O,$)},Ds.prototype.distanceX=function(z){var K=Math.max(Math.min(this.max[0],z[0]),this.min[0]);return K-z[0]},Ds.prototype.distanceY=function(z){var K=Math.max(Math.min(this.max[1],z[1]),this.min[1]);return K-z[1]},Ds.prototype.intersects=function(z){for(var K=[[this.min[0],this.min[1],0,1],[this.max[0],this.min[1],0,1],[this.max[0],this.max[1],0,1],[this.min[0],this.max[1],0,1]],O=!0,$=0;$<z.planes.length;$++){for(var pe=z.planes[$],de=0,Ie=0;Ie<K.length;Ie++)de+=i.dot$1(pe,K[Ie])>=0;if(de===0)return 0;de!==K.length&&(O=!1)}if(O)return 2;for(var $e=0;$e<3;$e++){for(var pt=Number.MAX_VALUE,Kt=-Number.MAX_VALUE,ir=0;ir<z.points.length;ir++){var Jt=z.points[ir][$e]-this.min[$e];pt=Math.min(pt,Jt),Kt=Math.max(Kt,Jt)}if(Kt<0||pt>this.max[$e]-this.min[$e])return 0}return 1};var As=function(z,K,O,$){if(z===void 0&&(z=0),K===void 0&&(K=0),O===void 0&&(O=0),$===void 0&&($=0),isNaN(z)||z<0||isNaN(K)||K<0||isNaN(O)||O<0||isNaN($)||$<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=z,this.bottom=K,this.left=O,this.right=$};As.prototype.interpolate=function(z,K,O){return K.top!=null&&z.top!=null&&(this.top=i.number(z.top,K.top,O)),K.bottom!=null&&z.bottom!=null&&(this.bottom=i.number(z.bottom,K.bottom,O)),K.left!=null&&z.left!=null&&(this.left=i.number(z.left,K.left,O)),K.right!=null&&z.right!=null&&(this.right=i.number(z.right,K.right,O)),this},As.prototype.getCenter=function(z,K){var O=i.clamp((this.left+z-this.right)/2,0,z),$=i.clamp((this.top+K-this.bottom)/2,0,K);return new i.Point(O,$)},As.prototype.equals=function(z){return this.top===z.top&&this.bottom===z.bottom&&this.left===z.left&&this.right===z.right},As.prototype.clone=function(){return new As(this.top,this.bottom,this.left,this.right)},As.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var yo=function(z,K,O,$,pe){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=pe===void 0?!0:pe,this._minZoom=z||0,this._maxZoom=K||22,this._minPitch=O==null?0:O,this._maxPitch=$==null?60:$,this.setMaxBounds(),this.width=0,this.height=0,this._center=new i.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new As,this._posMatrixCache={},this._alignedPosMatrixCache={}},po={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}};yo.prototype.clone=function(){var z=new yo(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return z.tileSize=this.tileSize,z.latRange=this.latRange,z.width=this.width,z.height=this.height,z._center=this._center,z.zoom=this.zoom,z.angle=this.angle,z._fov=this._fov,z._pitch=this._pitch,z._unmodified=this._unmodified,z._edgeInsets=this._edgeInsets.clone(),z._calcMatrices(),z},po.minZoom.get=function(){return this._minZoom},po.minZoom.set=function(Y){this._minZoom!==Y&&(this._minZoom=Y,this.zoom=Math.max(this.zoom,Y))},po.maxZoom.get=function(){return this._maxZoom},po.maxZoom.set=function(Y){this._maxZoom!==Y&&(this._maxZoom=Y,this.zoom=Math.min(this.zoom,Y))},po.minPitch.get=function(){return this._minPitch},po.minPitch.set=function(Y){this._minPitch!==Y&&(this._minPitch=Y,this.pitch=Math.max(this.pitch,Y))},po.maxPitch.get=function(){return this._maxPitch},po.maxPitch.set=function(Y){this._maxPitch!==Y&&(this._maxPitch=Y,this.pitch=Math.min(this.pitch,Y))},po.renderWorldCopies.get=function(){return this._renderWorldCopies},po.renderWorldCopies.set=function(Y){Y===void 0?Y=!0:Y===null&&(Y=!1),this._renderWorldCopies=Y},po.worldSize.get=function(){return this.tileSize*this.scale},po.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},po.size.get=function(){return new i.Point(this.width,this.height)},po.bearing.get=function(){return-this.angle/Math.PI*180},po.bearing.set=function(Y){var z=-i.wrap(Y,-180,180)*Math.PI/180;this.angle!==z&&(this._unmodified=!1,this.angle=z,this._calcMatrices(),this.rotationMatrix=i.create$2(),i.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},po.pitch.get=function(){return this._pitch/Math.PI*180},po.pitch.set=function(Y){var z=i.clamp(Y,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==z&&(this._unmodified=!1,this._pitch=z,this._calcMatrices())},po.fov.get=function(){return this._fov/Math.PI*180},po.fov.set=function(Y){Y=Math.max(.01,Math.min(60,Y)),this._fov!==Y&&(this._unmodified=!1,this._fov=Y/180*Math.PI,this._calcMatrices())},po.zoom.get=function(){return this._zoom},po.zoom.set=function(Y){var z=Math.min(Math.max(Y,this.minZoom),this.maxZoom);this._zoom!==z&&(this._unmodified=!1,this._zoom=z,this.scale=this.zoomScale(z),this.tileZoom=Math.floor(z),this.zoomFraction=z-this.tileZoom,this._constrain(),this._calcMatrices())},po.center.get=function(){return this._center},po.center.set=function(Y){Y.lat===this._center.lat&&Y.lng===this._center.lng||(this._unmodified=!1,this._center=Y,this._constrain(),this._calcMatrices())},po.padding.get=function(){return this._edgeInsets.toJSON()},po.padding.set=function(Y){this._edgeInsets.equals(Y)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,Y,1),this._calcMatrices())},po.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},yo.prototype.isPaddingEqual=function(z){return this._edgeInsets.equals(z)},yo.prototype.interpolatePadding=function(z,K,O){this._unmodified=!1,this._edgeInsets.interpolate(z,K,O),this._constrain(),this._calcMatrices()},yo.prototype.coveringZoomLevel=function(z){var K=(z.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/z.tileSize));return Math.max(0,K)},yo.prototype.getVisibleUnwrappedCoordinates=function(z){var K=[new i.UnwrappedTileID(0,z)];if(this._renderWorldCopies)for(var O=this.pointCoordinate(new i.Point(0,0)),$=this.pointCoordinate(new i.Point(this.width,0)),pe=this.pointCoordinate(new i.Point(this.width,this.height)),de=this.pointCoordinate(new i.Point(0,this.height)),Ie=Math.floor(Math.min(O.x,$.x,pe.x,de.x)),$e=Math.floor(Math.max(O.x,$.x,pe.x,de.x)),pt=1,Kt=Ie-pt;Kt<=$e+pt;Kt++)Kt!==0&&K.push(new i.UnwrappedTileID(Kt,z));return K},yo.prototype.coveringTiles=function(z){var K=this.coveringZoomLevel(z),O=K;if(z.minzoom!==void 0&&K<z.minzoom)return[];z.maxzoom!==void 0&&K>z.maxzoom&&(K=z.maxzoom);var $=i.MercatorCoordinate.fromLngLat(this.center),pe=Math.pow(2,K),de=[pe*$.x,pe*$.y,0],Ie=Ro.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,K),$e=z.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&($e=K);var pt=3,Kt=function(Ri){return{aabb:new Ds([Ri*pe,0,0],[(Ri+1)*pe,pe,0]),zoom:0,x:0,y:0,wrap:Ri,fullyVisible:!1}},ir=[],Jt=[],vt=K,Pt=z.reparseOverscaled?O:K;if(this._renderWorldCopies)for(var Wt=1;Wt<=3;Wt++)ir.push(Kt(-Wt)),ir.push(Kt(Wt));for(ir.push(Kt(0));ir.length>0;){var rr=ir.pop(),dr=rr.x,pr=rr.y,kr=rr.fullyVisible;if(!kr){var Ar=rr.aabb.intersects(Ie);if(Ar===0)continue;kr=Ar===2}var gr=rr.aabb.distanceX(de),Cr=rr.aabb.distanceY(de),cr=Math.max(Math.abs(gr),Math.abs(Cr)),Gr=pt+(1<<vt-rr.zoom)-2;if(rr.zoom===vt||cr>Gr&&rr.zoom>=$e){Jt.push({tileID:new i.OverscaledTileID(rr.zoom===vt?Pt:rr.zoom,rr.wrap,rr.zoom,dr,pr),distanceSq:i.sqrLen([de[0]-.5-dr,de[1]-.5-pr])});continue}for(var ei=0;ei<4;ei++){var yi=(dr<<1)+ei%2,tn=(pr<<1)+(ei>>1);ir.push({aabb:rr.aabb.quadrant(ei),zoom:rr.zoom+1,x:yi,y:tn,wrap:rr.wrap,fullyVisible:kr})}}return Jt.sort(function(Ri,ln){return Ri.distanceSq-ln.distanceSq}).map(function(Ri){return Ri.tileID})},yo.prototype.resize=function(z,K){this.width=z,this.height=K,this.pixelsToGLUnits=[2/z,-2/K],this._constrain(),this._calcMatrices()},po.unmodified.get=function(){return this._unmodified},yo.prototype.zoomScale=function(z){return Math.pow(2,z)},yo.prototype.scaleZoom=function(z){return Math.log(z)/Math.LN2},yo.prototype.project=function(z){var K=i.clamp(z.lat,-this.maxValidLatitude,this.maxValidLatitude);return new i.Point(i.mercatorXfromLng(z.lng)*this.worldSize,i.mercatorYfromLat(K)*this.worldSize)},yo.prototype.unproject=function(z){return new i.MercatorCoordinate(z.x/this.worldSize,z.y/this.worldSize).toLngLat()},po.point.get=function(){return this.project(this.center)},yo.prototype.setLocationAtPoint=function(z,K){var O=this.pointCoordinate(K),$=this.pointCoordinate(this.centerPoint),pe=this.locationCoordinate(z),de=new i.MercatorCoordinate(pe.x-(O.x-$.x),pe.y-(O.y-$.y));this.center=this.coordinateLocation(de),this._renderWorldCopies&&(this.center=this.center.wrap())},yo.prototype.locationPoint=function(z){return this.coordinatePoint(this.locationCoordinate(z))},yo.prototype.pointLocation=function(z){return this.coordinateLocation(this.pointCoordinate(z))},yo.prototype.locationCoordinate=function(z){return i.MercatorCoordinate.fromLngLat(z)},yo.prototype.coordinateLocation=function(z){return z.toLngLat()},yo.prototype.pointCoordinate=function(z){var K=0,O=[z.x,z.y,0,1],$=[z.x,z.y,1,1];i.transformMat4(O,O,this.pixelMatrixInverse),i.transformMat4($,$,this.pixelMatrixInverse);var pe=O[3],de=$[3],Ie=O[0]/pe,$e=$[0]/de,pt=O[1]/pe,Kt=$[1]/de,ir=O[2]/pe,Jt=$[2]/de,vt=ir===Jt?0:(K-ir)/(Jt-ir);return new i.MercatorCoordinate(i.number(Ie,$e,vt)/this.worldSize,i.number(pt,Kt,vt)/this.worldSize)},yo.prototype.coordinatePoint=function(z){var K=[z.x*this.worldSize,z.y*this.worldSize,0,1];return i.transformMat4(K,K,this.pixelMatrix),new i.Point(K[0]/K[3],K[1]/K[3])},yo.prototype.getBounds=function(){return new i.LngLatBounds().extend(this.pointLocation(new i.Point(0,0))).extend(this.pointLocation(new i.Point(this.width,0))).extend(this.pointLocation(new i.Point(this.width,this.height))).extend(this.pointLocation(new i.Point(0,this.height)))},yo.prototype.getMaxBounds=function(){return!this.latRange||this.latRange.length!==2||!this.lngRange||this.lngRange.length!==2?null:new i.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]])},yo.prototype.setMaxBounds=function(z){z?(this.lngRange=[z.getWest(),z.getEast()],this.latRange=[z.getSouth(),z.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},yo.prototype.calculatePosMatrix=function(z,K){K===void 0&&(K=!1);var O=z.key,$=K?this._alignedPosMatrixCache:this._posMatrixCache;if($[O])return $[O];var pe=z.canonical,de=this.worldSize/this.zoomScale(pe.z),Ie=pe.x+Math.pow(2,pe.z)*z.wrap,$e=i.identity(new Float64Array(16));return i.translate($e,$e,[Ie*de,pe.y*de,0]),i.scale($e,$e,[de/i.EXTENT,de/i.EXTENT,1]),i.multiply($e,K?this.alignedProjMatrix:this.projMatrix,$e),$[O]=new Float32Array($e),$[O]},yo.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},yo.prototype._constrain=function(){if(!(!this.center||!this.width||!this.height||this._constraining)){this._constraining=!0;var z=-90,K=90,O=-180,$=180,pe,de,Ie,$e,pt=this.size,Kt=this._unmodified;if(this.latRange){var ir=this.latRange;z=i.mercatorYfromLat(ir[1])*this.worldSize,K=i.mercatorYfromLat(ir[0])*this.worldSize,pe=K-z<pt.y?pt.y/(K-z):0}if(this.lngRange){var Jt=this.lngRange;O=i.mercatorXfromLng(Jt[0])*this.worldSize,$=i.mercatorXfromLng(Jt[1])*this.worldSize,de=$-O<pt.x?pt.x/($-O):0}var vt=this.point,Pt=Math.max(de||0,pe||0);if(Pt){this.center=this.unproject(new i.Point(de?($+O)/2:vt.x,pe?(K+z)/2:vt.y)),this.zoom+=this.scaleZoom(Pt),this._unmodified=Kt,this._constraining=!1;return}if(this.latRange){var Wt=vt.y,rr=pt.y/2;Wt-rr<z&&($e=z+rr),Wt+rr>K&&($e=K-rr)}if(this.lngRange){var dr=vt.x,pr=pt.x/2;dr-pr<O&&(Ie=O+pr),dr+pr>$&&(Ie=$-pr)}(Ie!==void 0||$e!==void 0)&&(this.center=this.unproject(new i.Point(Ie!==void 0?Ie:vt.x,$e!==void 0?$e:vt.y))),this._unmodified=Kt,this._constraining=!1}},yo.prototype._calcMatrices=function(){if(this.height){var z=this._fov/2,K=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(z)*this.height;var O=Math.PI/2+this._pitch,$=this._fov*(.5+K.y/this.height),pe=Math.sin($)*this.cameraToCenterDistance/Math.sin(i.clamp(Math.PI-O-$,.01,Math.PI-.01)),de=this.point,Ie=de.x,$e=de.y,pt=Math.cos(Math.PI/2-this._pitch)*pe+this.cameraToCenterDistance,Kt=pt*1.01,ir=this.height/50,Jt=new Float64Array(16);i.perspective(Jt,this._fov,this.width/this.height,ir,Kt),Jt[8]=-K.x*2/this.width,Jt[9]=K.y*2/this.height,i.scale(Jt,Jt,[1,-1,1]),i.translate(Jt,Jt,[0,0,-this.cameraToCenterDistance]),i.rotateX(Jt,Jt,this._pitch),i.rotateZ(Jt,Jt,this.angle),i.translate(Jt,Jt,[-Ie,-$e,0]),this.mercatorMatrix=i.scale([],Jt,[this.worldSize,this.worldSize,this.worldSize]),i.scale(Jt,Jt,[1,1,i.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=Jt,this.invProjMatrix=i.invert([],this.projMatrix);var vt=this.width%2/2,Pt=this.height%2/2,Wt=Math.cos(this.angle),rr=Math.sin(this.angle),dr=Ie-Math.round(Ie)+Wt*vt+rr*Pt,pr=$e-Math.round($e)+Wt*Pt+rr*vt,kr=new Float64Array(Jt);if(i.translate(kr,kr,[dr>.5?dr-1:dr,pr>.5?pr-1:pr,0]),this.alignedProjMatrix=kr,Jt=i.create(),i.scale(Jt,Jt,[this.width/2,-this.height/2,1]),i.translate(Jt,Jt,[1,-1,0]),this.labelPlaneMatrix=Jt,Jt=i.create(),i.scale(Jt,Jt,[1,-1,1]),i.translate(Jt,Jt,[-1,-1,0]),i.scale(Jt,Jt,[2/this.width,2/this.height,1]),this.glCoordMatrix=Jt,this.pixelMatrix=i.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),Jt=i.invert(new Float64Array(16),this.pixelMatrix),!Jt)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=Jt,this._posMatrixCache={},this._alignedPosMatrixCache={}}},yo.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var z=this.pointCoordinate(new i.Point(0,0)),K=[z.x*this.worldSize,z.y*this.worldSize,0,1],O=i.transformMat4(K,K,this.pixelMatrix);return O[3]/this.cameraToCenterDistance},yo.prototype.getCameraPoint=function(){var z=this._pitch,K=Math.tan(z)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new i.Point(0,K))},yo.prototype.getCameraQueryGeometry=function(z){var K=this.getCameraPoint();if(z.length===1)return[z[0],K];for(var O=K.x,$=K.y,pe=K.x,de=K.y,Ie=0,$e=z;Ie<$e.length;Ie+=1){var pt=$e[Ie];O=Math.min(O,pt.x),$=Math.min($,pt.y),pe=Math.max(pe,pt.x),de=Math.max(de,pt.y)}return[new i.Point(O,$),new i.Point(pe,$),new i.Point(pe,de),new i.Point(O,de),new i.Point(O,$)]},Object.defineProperties(yo.prototype,po);function _l(Y,z){var K=!1,O=null,$=function(){O=null,K&&(Y(),O=setTimeout($,z),K=!1)};return function(){return K=!0,O||$(),O}}var Hl=function(z){this._hashName=z&&encodeURIComponent(z),i.bindAll([\"_getCurrentHash\",\"_onHashChange\",\"_updateHash\"],this),this._updateHash=_l(this._updateHashUnthrottled.bind(this),30*1e3/100)};Hl.prototype.addTo=function(z){return this._map=z,i.window.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},Hl.prototype.remove=function(){return i.window.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},Hl.prototype.getHashString=function(z){var K=this._map.getCenter(),O=Math.round(this._map.getZoom()*100)/100,$=Math.ceil((O*Math.LN2+Math.log(512/360/.5))/Math.LN10),pe=Math.pow(10,$),de=Math.round(K.lng*pe)/pe,Ie=Math.round(K.lat*pe)/pe,$e=this._map.getBearing(),pt=this._map.getPitch(),Kt=\"\";if(z?Kt+=\"/\"+de+\"/\"+Ie+\"/\"+O:Kt+=O+\"/\"+Ie+\"/\"+de,($e||pt)&&(Kt+=\"/\"+Math.round($e*10)/10),pt&&(Kt+=\"/\"+Math.round(pt)),this._hashName){var ir=this._hashName,Jt=!1,vt=i.window.location.hash.slice(1).split(\"&\").map(function(Pt){var Wt=Pt.split(\"=\")[0];return Wt===ir?(Jt=!0,Wt+\"=\"+Kt):Pt}).filter(function(Pt){return Pt});return Jt||vt.push(ir+\"=\"+Kt),\"#\"+vt.join(\"&\")}return\"#\"+Kt},Hl.prototype._getCurrentHash=function(){var z=this,K=i.window.location.hash.replace(\"#\",\"\");if(this._hashName){var O;return K.split(\"&\").map(function($){return $.split(\"=\")}).forEach(function($){$[0]===z._hashName&&(O=$)}),(O&&O[1]||\"\").split(\"/\")}return K.split(\"/\")},Hl.prototype._onHashChange=function(){var z=this._getCurrentHash();if(z.length>=3&&!z.some(function(O){return isNaN(O)})){var K=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(z[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+z[2],+z[1]],zoom:+z[0],bearing:K,pitch:+(z[4]||0)}),!0}return!1},Hl.prototype._updateHashUnthrottled=function(){var z=i.window.location.href.replace(/(#.+)?$/,this.getHashString());try{i.window.history.replaceState(i.window.history.state,null,z)}catch(K){}};var Zu={linearity:.3,easing:i.bezier(0,0,.3,1)},cu=i.extend({deceleration:2500,maxSpeed:1400},Zu),el=i.extend({deceleration:20,maxSpeed:1400},Zu),au=i.extend({deceleration:1e3,maxSpeed:360},Zu),zc=i.extend({deceleration:1e3,maxSpeed:90},Zu),zl=function(z){this._map=z,this.clear()};zl.prototype.clear=function(){this._inertiaBuffer=[]},zl.prototype.record=function(z){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:i.browser.now(),settings:z})},zl.prototype._drainInertiaBuffer=function(){for(var z=this._inertiaBuffer,K=i.browser.now(),O=160;z.length>0&&K-z[0].time>O;)z.shift()},zl.prototype._onMoveEnd=function(z){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var K={zoom:0,bearing:0,pitch:0,pan:new i.Point(0,0),pinchAround:void 0,around:void 0},O=0,$=this._inertiaBuffer;O<$.length;O+=1){var pe=$[O],de=pe.settings;K.zoom+=de.zoomDelta||0,K.bearing+=de.bearingDelta||0,K.pitch+=de.pitchDelta||0,de.panDelta&&K.pan._add(de.panDelta),de.around&&(K.around=de.around),de.pinchAround&&(K.pinchAround=de.pinchAround)}var Ie=this._inertiaBuffer[this._inertiaBuffer.length-1],$e=Ie.time-this._inertiaBuffer[0].time,pt={};if(K.pan.mag()){var Kt=Z(K.pan.mag(),$e,i.extend({},cu,z||{}));pt.offset=K.pan.mult(Kt.amount/K.pan.mag()),pt.center=this._map.transform.center,Fl(pt,Kt)}if(K.zoom){var ir=Z(K.zoom,$e,el);pt.zoom=this._map.transform.zoom+ir.amount,Fl(pt,ir)}if(K.bearing){var Jt=Z(K.bearing,$e,au);pt.bearing=this._map.transform.bearing+i.clamp(Jt.amount,-179,179),Fl(pt,Jt)}if(K.pitch){var vt=Z(K.pitch,$e,zc);pt.pitch=this._map.transform.pitch+vt.amount,Fl(pt,vt)}if(pt.zoom||pt.bearing){var Pt=K.pinchAround===void 0?K.around:K.pinchAround;pt.around=Pt?this._map.unproject(Pt):this._map.getCenter()}return this.clear(),i.extend(pt,{noMoveStart:!0})}};function Fl(Y,z){(!Y.duration||Y.duration<z.duration)&&(Y.duration=z.duration,Y.easing=z.easing)}function Z(Y,z,K){var O=K.maxSpeed,$=K.linearity,pe=K.deceleration,de=i.clamp(Y*$/(z/1e3),-O,O),Ie=Math.abs(de)/(pe*$);return{easing:K.easing,duration:Ie*1e3,amount:de*(Ie/2)}}var oe=function(Y){function z(O,$,pe,de){de===void 0&&(de={});var Ie=o.mousePos($.getCanvasContainer(),pe),$e=$.unproject(Ie);Y.call(this,O,i.extend({point:Ie,lngLat:$e,originalEvent:pe},de)),this._defaultPrevented=!1,this.target=$}Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z;var K={defaultPrevented:{configurable:!0}};return z.prototype.preventDefault=function(){this._defaultPrevented=!0},K.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(z.prototype,K),z}(i.Event),we=function(Y){function z(O,$,pe){var de=O===\"touchend\"?pe.changedTouches:pe.touches,Ie=o.touchPos($.getCanvasContainer(),de),$e=Ie.map(function(ir){return $.unproject(ir)}),pt=Ie.reduce(function(ir,Jt,vt,Pt){return ir.add(Jt.div(Pt.length))},new i.Point(0,0)),Kt=$.unproject(pt);Y.call(this,O,{points:Ie,point:pt,lngLats:$e,lngLat:Kt,originalEvent:pe}),this._defaultPrevented=!1}Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z;var K={defaultPrevented:{configurable:!0}};return z.prototype.preventDefault=function(){this._defaultPrevented=!0},K.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(z.prototype,K),z}(i.Event),Be=function(Y){function z(O,$,pe){Y.call(this,O,{originalEvent:pe}),this._defaultPrevented=!1}Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z;var K={defaultPrevented:{configurable:!0}};return z.prototype.preventDefault=function(){this._defaultPrevented=!0},K.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(z.prototype,K),z}(i.Event),Ue=function(z,K){this._map=z,this._clickTolerance=K.clickTolerance};Ue.prototype.reset=function(){delete this._mousedownPos},Ue.prototype.wheel=function(z){return this._firePreventable(new Be(z.type,this._map,z))},Ue.prototype.mousedown=function(z,K){return this._mousedownPos=K,this._firePreventable(new oe(z.type,this._map,z))},Ue.prototype.mouseup=function(z){this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.click=function(z,K){this._mousedownPos&&this._mousedownPos.dist(K)>=this._clickTolerance||this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.dblclick=function(z){return this._firePreventable(new oe(z.type,this._map,z))},Ue.prototype.mouseover=function(z){this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.mouseout=function(z){this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.touchstart=function(z){return this._firePreventable(new we(z.type,this._map,z))},Ue.prototype.touchmove=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype.touchend=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype.touchcancel=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype._firePreventable=function(z){if(this._map.fire(z),z.defaultPrevented)return{}},Ue.prototype.isEnabled=function(){return!0},Ue.prototype.isActive=function(){return!1},Ue.prototype.enable=function(){},Ue.prototype.disable=function(){};var We=function(z){this._map=z};We.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},We.prototype.mousemove=function(z){this._map.fire(new oe(z.type,this._map,z))},We.prototype.mousedown=function(){this._delayContextMenu=!0},We.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new oe(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},We.prototype.contextmenu=function(z){this._delayContextMenu?this._contextMenuEvent=z:this._map.fire(new oe(z.type,this._map,z)),this._map.listens(\"contextmenu\")&&z.preventDefault()},We.prototype.isEnabled=function(){return!0},We.prototype.isActive=function(){return!1},We.prototype.enable=function(){},We.prototype.disable=function(){};var wt=function(z,K){this._map=z,this._el=z.getCanvasContainer(),this._container=z.getContainer(),this._clickTolerance=K.clickTolerance||1};wt.prototype.isEnabled=function(){return!!this._enabled},wt.prototype.isActive=function(){return!!this._active},wt.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},wt.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},wt.prototype.mousedown=function(z,K){this.isEnabled()&&z.shiftKey&&z.button===0&&(o.disableDrag(),this._startPos=this._lastPos=K,this._active=!0)},wt.prototype.mousemoveWindow=function(z,K){if(this._active){var O=K;if(!(this._lastPos.equals(O)||!this._box&&O.dist(this._startPos)<this._clickTolerance)){var $=this._startPos;this._lastPos=O,this._box||(this._box=o.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",z));var pe=Math.min($.x,O.x),de=Math.max($.x,O.x),Ie=Math.min($.y,O.y),$e=Math.max($.y,O.y);o.setTransform(this._box,\"translate(\"+pe+\"px,\"+Ie+\"px)\"),this._box.style.width=de-pe+\"px\",this._box.style.height=$e-Ie+\"px\"}}},wt.prototype.mouseupWindow=function(z,K){var O=this;if(this._active&&z.button===0){var $=this._startPos,pe=K;if(this.reset(),o.suppressClick(),$.x===pe.x&&$.y===pe.y)this._fireEvent(\"boxzoomcancel\",z);else return this._map.fire(new i.Event(\"boxzoomend\",{originalEvent:z})),{cameraAnimation:function(de){return de.fitScreenCoordinates($,pe,O._map.getBearing(),{linear:!0})}}}},wt.prototype.keydown=function(z){this._active&&z.keyCode===27&&(this.reset(),this._fireEvent(\"boxzoomcancel\",z))},wt.prototype.reset=function(){this._active=!1,this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(o.remove(this._box),this._box=null),o.enableDrag(),delete this._startPos,delete this._lastPos},wt.prototype._fireEvent=function(z,K){return this._map.fire(new i.Event(z,{originalEvent:K}))};function tt(Y,z){for(var K={},O=0;O<Y.length;O++)K[Y[O].identifier]=z[O];return K}function zt(Y){for(var z=new i.Point(0,0),K=0,O=Y;K<O.length;K+=1){var $=O[K];z._add($)}return z.div(Y.length)}var or=500,lr=500,Dr=30,Ir=function(z){this.reset(),this.numTouches=z.numTouches};Ir.prototype.reset=function(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1},Ir.prototype.touchstart=function(z,K,O){(this.centroid||O.length>this.numTouches)&&(this.aborted=!0),!this.aborted&&(this.startTime===void 0&&(this.startTime=z.timeStamp),O.length===this.numTouches&&(this.centroid=zt(K),this.touches=tt(O,K)))},Ir.prototype.touchmove=function(z,K,O){if(!(this.aborted||!this.centroid)){var $=tt(O,K);for(var pe in this.touches){var de=this.touches[pe],Ie=$[pe];(!Ie||Ie.dist(de)>Dr)&&(this.aborted=!0)}}},Ir.prototype.touchend=function(z,K,O){if((!this.centroid||z.timeStamp-this.startTime>lr)&&(this.aborted=!0),O.length===0){var $=!this.aborted&&this.centroid;if(this.reset(),$)return $}};var oi=function(z){this.singleTap=new Ir(z),this.numTaps=z.numTaps,this.reset()};oi.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},oi.prototype.touchstart=function(z,K,O){this.singleTap.touchstart(z,K,O)},oi.prototype.touchmove=function(z,K,O){this.singleTap.touchmove(z,K,O)},oi.prototype.touchend=function(z,K,O){var $=this.singleTap.touchend(z,K,O);if($){var pe=z.timeStamp-this.lastTime<or,de=!this.lastTap||this.lastTap.dist($)<Dr;if((!pe||!de)&&this.reset(),this.count++,this.lastTime=z.timeStamp,this.lastTap=$,this.count===this.numTaps)return this.reset(),$}};var ui=function(){this._zoomIn=new oi({numTouches:1,numTaps:2}),this._zoomOut=new oi({numTouches:2,numTaps:1}),this.reset()};ui.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},ui.prototype.touchstart=function(z,K,O){this._zoomIn.touchstart(z,K,O),this._zoomOut.touchstart(z,K,O)},ui.prototype.touchmove=function(z,K,O){this._zoomIn.touchmove(z,K,O),this._zoomOut.touchmove(z,K,O)},ui.prototype.touchend=function(z,K,O){var $=this,pe=this._zoomIn.touchend(z,K,O),de=this._zoomOut.touchend(z,K,O);if(pe)return this._active=!0,z.preventDefault(),setTimeout(function(){return $.reset()},0),{cameraAnimation:function(Ie){return Ie.easeTo({duration:300,zoom:Ie.getZoom()+1,around:Ie.unproject(pe)},{originalEvent:z})}};if(de)return this._active=!0,z.preventDefault(),setTimeout(function(){return $.reset()},0),{cameraAnimation:function(Ie){return Ie.easeTo({duration:300,zoom:Ie.getZoom()-1,around:Ie.unproject(de)},{originalEvent:z})}}},ui.prototype.touchcancel=function(){this.reset()},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 qr=0,Kr=2,ii={};ii[qr]=1,ii[Kr]=2;function vi(Y,z){var K=ii[z];return Y.buttons===void 0||(Y.buttons&K)!==K}var ci=function(z){this.reset(),this._clickTolerance=z.clickTolerance||1};ci.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},ci.prototype._correctButton=function(z,K){return!1},ci.prototype._move=function(z,K){return{}},ci.prototype.mousedown=function(z,K){if(!this._lastPoint){var O=o.mouseButton(z);this._correctButton(z,O)&&(this._lastPoint=K,this._eventButton=O)}},ci.prototype.mousemoveWindow=function(z,K){var O=this._lastPoint;if(O){if(z.preventDefault(),vi(z,this._eventButton)){this.reset();return}if(!(!this._moved&&K.dist(O)<this._clickTolerance))return this._moved=!0,this._lastPoint=K,this._move(O,K)}},ci.prototype.mouseupWindow=function(z){if(this._lastPoint){var K=o.mouseButton(z);K===this._eventButton&&(this._moved&&o.suppressClick(),this.reset())}},ci.prototype.enable=function(){this._enabled=!0},ci.prototype.disable=function(){this._enabled=!1,this.reset()},ci.prototype.isEnabled=function(){return this._enabled},ci.prototype.isActive=function(){return this._active};var Jr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.mousedown=function(O,$){Y.prototype.mousedown.call(this,O,$),this._lastPoint&&(this._active=!0)},z.prototype._correctButton=function(O,$){return $===qr&&!O.ctrlKey},z.prototype._move=function(O,$){return{around:$,panDelta:$.sub(O)}},z}(ci),un=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype._correctButton=function(O,$){return $===qr&&O.ctrlKey||$===Kr},z.prototype._move=function(O,$){var pe=.8,de=($.x-O.x)*pe;if(de)return this._active=!0,{bearingDelta:de}},z.prototype.contextmenu=function(O){O.preventDefault()},z}(ci),dn=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype._correctButton=function(O,$){return $===qr&&O.ctrlKey||$===Kr},z.prototype._move=function(O,$){var pe=-.5,de=($.y-O.y)*pe;if(de)return this._active=!0,{pitchDelta:de}},z.prototype.contextmenu=function(O){O.preventDefault()},z}(ci),En=function(z){this._minTouches=1,this._clickTolerance=z.clickTolerance||1,this.reset()};En.prototype.reset=function(){this._active=!1,this._touches={},this._sum=new i.Point(0,0)},En.prototype.touchstart=function(z,K,O){return this._calculateTransform(z,K,O)},En.prototype.touchmove=function(z,K,O){if(!(!this._active||O.length<this._minTouches))return z.preventDefault(),this._calculateTransform(z,K,O)},En.prototype.touchend=function(z,K,O){this._calculateTransform(z,K,O),this._active&&O.length<this._minTouches&&this.reset()},En.prototype.touchcancel=function(){this.reset()},En.prototype._calculateTransform=function(z,K,O){O.length>0&&(this._active=!0);var $=tt(O,K),pe=new i.Point(0,0),de=new i.Point(0,0),Ie=0;for(var $e in $){var pt=$[$e],Kt=this._touches[$e];Kt&&(pe._add(pt),de._add(pt.sub(Kt)),Ie++,$[$e]=pt)}if(this._touches=$,!(Ie<this._minTouches||!de.mag())){var ir=de.div(Ie);if(this._sum._add(ir),!(this._sum.mag()<this._clickTolerance)){var Jt=pe.div(Ie);return{around:Jt,panDelta:ir}}}},En.prototype.enable=function(){this._enabled=!0},En.prototype.disable=function(){this._enabled=!1,this.reset()},En.prototype.isEnabled=function(){return this._enabled},En.prototype.isActive=function(){return this._active};var Nn=function(){this.reset()};Nn.prototype.reset=function(){this._active=!1,delete this._firstTwoTouches},Nn.prototype._start=function(z){},Nn.prototype._move=function(z,K,O){return{}},Nn.prototype.touchstart=function(z,K,O){this._firstTwoTouches||O.length<2||(this._firstTwoTouches=[O[0].identifier,O[1].identifier],this._start([K[0],K[1]]))},Nn.prototype.touchmove=function(z,K,O){if(this._firstTwoTouches){z.preventDefault();var $=this._firstTwoTouches,pe=$[0],de=$[1],Ie=ga(O,K,pe),$e=ga(O,K,de);if(!(!Ie||!$e)){var pt=this._aroundCenter?null:Ie.add($e).div(2);return this._move([Ie,$e],pt,z)}}},Nn.prototype.touchend=function(z,K,O){if(this._firstTwoTouches){var $=this._firstTwoTouches,pe=$[0],de=$[1],Ie=ga(O,K,pe),$e=ga(O,K,de);Ie&&$e||(this._active&&o.suppressClick(),this.reset())}},Nn.prototype.touchcancel=function(){this.reset()},Nn.prototype.enable=function(z){this._enabled=!0,this._aroundCenter=!!z&&z.around===\"center\"},Nn.prototype.disable=function(){this._enabled=!1,this.reset()},Nn.prototype.isEnabled=function(){return this._enabled},Nn.prototype.isActive=function(){return this._active};function ga(Y,z,K){for(var O=0;O<Y.length;O++)if(Y[O].identifier===K)return z[O]}var ya=.1;function so(Y,z){return Math.log(Y/z)/Math.LN2}var wa=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.reset=function(){Y.prototype.reset.call(this),delete this._distance,delete this._startDistance},z.prototype._start=function(O){this._startDistance=this._distance=O[0].dist(O[1])},z.prototype._move=function(O,$){var pe=this._distance;if(this._distance=O[0].dist(O[1]),!(!this._active&&Math.abs(so(this._distance,this._startDistance))<ya))return this._active=!0,{zoomDelta:so(this._distance,pe),pinchAround:$}},z}(Nn),io=25;function Ss(Y,z){return Y.angleWith(z)*180/Math.PI}var _s=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.reset=function(){Y.prototype.reset.call(this),delete this._minDiameter,delete this._startVector,delete this._vector},z.prototype._start=function(O){this._startVector=this._vector=O[0].sub(O[1]),this._minDiameter=O[0].dist(O[1])},z.prototype._move=function(O,$){var pe=this._vector;if(this._vector=O[0].sub(O[1]),!(!this._active&&this._isBelowThreshold(this._vector)))return this._active=!0,{bearingDelta:Ss(this._vector,pe),pinchAround:$}},z.prototype._isBelowThreshold=function(O){this._minDiameter=Math.min(this._minDiameter,O.mag());var $=Math.PI*this._minDiameter,pe=io/$*360,de=Ss(O,this._startVector);return Math.abs(de)<pe},z}(Nn);function Ns(Y){return Math.abs(Y.y)>Math.abs(Y.x)}var pn=100,za=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.reset=function(){Y.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},z.prototype._start=function(O){this._lastPoints=O,Ns(O[0].sub(O[1]))&&(this._valid=!1)},z.prototype._move=function(O,$,pe){var de=O[0].sub(this._lastPoints[0]),Ie=O[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(de,Ie,pe.timeStamp),!!this._valid){this._lastPoints=O,this._active=!0;var $e=(de.y+Ie.y)/2,pt=-.5;return{pitchDelta:$e*pt}}},z.prototype.gestureBeginsVertically=function(O,$,pe){if(this._valid!==void 0)return this._valid;var de=2,Ie=O.mag()>=de,$e=$.mag()>=de;if(!(!Ie&&!$e)){if(!Ie||!$e)return this._firstMove===void 0&&(this._firstMove=pe),pe-this._firstMove<pn?void 0:!1;var pt=O.y>0==$.y>0;return Ns(O)&&Ns($)&&pt}},z}(Nn),Lo={panStep:100,bearingStep:15,pitchStep:10},Fo=function(){var z=Lo;this._panStep=z.panStep,this._bearingStep=z.bearingStep,this._pitchStep=z.pitchStep,this._rotationDisabled=!1};Fo.prototype.reset=function(){this._active=!1},Fo.prototype.keydown=function(z){var K=this;if(!(z.altKey||z.ctrlKey||z.metaKey)){var O=0,$=0,pe=0,de=0,Ie=0;switch(z.keyCode){case 61:case 107:case 171:case 187:O=1;break;case 189:case 109:case 173:O=-1;break;case 37:z.shiftKey?$=-1:(z.preventDefault(),de=-1);break;case 39:z.shiftKey?$=1:(z.preventDefault(),de=1);break;case 38:z.shiftKey?pe=1:(z.preventDefault(),Ie=-1);break;case 40:z.shiftKey?pe=-1:(z.preventDefault(),Ie=1);break;default:return}return this._rotationDisabled&&($=0,pe=0),{cameraAnimation:function($e){var pt=$e.getZoom();$e.easeTo({duration:300,easeId:\"keyboardHandler\",easing:js,zoom:O?Math.round(pt)+O*(z.shiftKey?2:1):pt,bearing:$e.getBearing()+$*K._bearingStep,pitch:$e.getPitch()+pe*K._pitchStep,offset:[-de*K._panStep,-Ie*K._panStep],center:$e.getCenter()},{originalEvent:z})}}}},Fo.prototype.enable=function(){this._enabled=!0},Fo.prototype.disable=function(){this._enabled=!1,this.reset()},Fo.prototype.isEnabled=function(){return this._enabled},Fo.prototype.isActive=function(){return this._active},Fo.prototype.disableRotation=function(){this._rotationDisabled=!0},Fo.prototype.enableRotation=function(){this._rotationDisabled=!1};function js(Y){return Y*(2-Y)}var xl=4.000244140625,fu=1/100,dl=1/450,xc=2,At=function(z,K){this._map=z,this._el=z.getCanvasContainer(),this._handler=K,this._delta=0,this._defaultZoomRate=fu,this._wheelZoomRate=dl,i.bindAll([\"_onTimeout\"],this)};At.prototype.setZoomRate=function(z){this._defaultZoomRate=z},At.prototype.setWheelZoomRate=function(z){this._wheelZoomRate=z},At.prototype.isEnabled=function(){return!!this._enabled},At.prototype.isActive=function(){return!!this._active||this._finishTimeout!==void 0},At.prototype.isZooming=function(){return!!this._zooming},At.prototype.enable=function(z){this.isEnabled()||(this._enabled=!0,this._aroundCenter=z&&z.around===\"center\")},At.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},At.prototype.wheel=function(z){if(this.isEnabled()){var K=z.deltaMode===i.window.WheelEvent.DOM_DELTA_LINE?z.deltaY*40:z.deltaY,O=i.browser.now(),$=O-(this._lastWheelEventTime||0);this._lastWheelEventTime=O,K!==0&&K%xl===0?this._type=\"wheel\":K!==0&&Math.abs(K)<4?this._type=\"trackpad\":$>400?(this._type=null,this._lastValue=K,this._timeout=setTimeout(this._onTimeout,40,z)):this._type||(this._type=Math.abs($*K)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,K+=this._lastValue)),z.shiftKey&&K&&(K=K/4),this._type&&(this._lastWheelEvent=z,this._delta-=K,this._active||this._start(z)),z.preventDefault()}},At.prototype._onTimeout=function(z){this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(z)},At.prototype._start=function(z){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 K=o.mousePos(this._el,z);this._around=i.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(K)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},At.prototype.renderFrame=function(){var z=this;if(this._frameId&&(this._frameId=null,!!this.isActive())){var K=this._map.transform;if(this._delta!==0){var O=this._type===\"wheel\"&&Math.abs(this._delta)>xl?this._wheelZoomRate:this._defaultZoomRate,$=xc/(1+Math.exp(-Math.abs(this._delta*O)));this._delta<0&&$!==0&&($=1/$);var pe=typeof this._targetZoom==\"number\"?K.zoomScale(this._targetZoom):K.scale;this._targetZoom=Math.min(K.maxZoom,Math.max(K.minZoom,K.scaleZoom(pe*$))),this._type===\"wheel\"&&(this._startZoom=K.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var de=typeof this._targetZoom==\"number\"?this._targetZoom:K.zoom,Ie=this._startZoom,$e=this._easing,pt=!1,Kt;if(this._type===\"wheel\"&&Ie&&$e){var ir=Math.min((i.browser.now()-this._lastWheelEventTime)/200,1),Jt=$e(ir);Kt=i.number(Ie,de,Jt),ir<1?this._frameId||(this._frameId=!0):pt=!0}else Kt=de,pt=!0;return this._active=!0,pt&&(this._active=!1,this._finishTimeout=setTimeout(function(){z._zooming=!1,z._handler._triggerRenderFrame(),delete z._targetZoom,delete z._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!pt,zoomDelta:Kt-K.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},At.prototype._smoothOutEasing=function(z){var K=i.ease;if(this._prevEase){var O=this._prevEase,$=(i.browser.now()-O.start)/O.duration,pe=O.easing($+.01)-O.easing($),de=.27/Math.sqrt(pe*pe+1e-4)*.01,Ie=Math.sqrt(.27*.27-de*de);K=i.bezier(de,Ie,.25,1)}return this._prevEase={start:i.browser.now(),duration:z,easing:K},K},At.prototype.reset=function(){this._active=!1};var Er=function(z,K){this._clickZoom=z,this._tapZoom=K};Er.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},Er.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},Er.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},Er.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var Wr=function(){this.reset()};Wr.prototype.reset=function(){this._active=!1},Wr.prototype.dblclick=function(z,K){return z.preventDefault(),{cameraAnimation:function(O){O.easeTo({duration:300,zoom:O.getZoom()+(z.shiftKey?-1:1),around:O.unproject(K)},{originalEvent:z})}}},Wr.prototype.enable=function(){this._enabled=!0},Wr.prototype.disable=function(){this._enabled=!1,this.reset()},Wr.prototype.isEnabled=function(){return this._enabled},Wr.prototype.isActive=function(){return this._active};var wi=function(){this._tap=new oi({numTouches:1,numTaps:1}),this.reset()};wi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},wi.prototype.touchstart=function(z,K,O){this._swipePoint||(this._tapTime&&z.timeStamp-this._tapTime>or&&this.reset(),this._tapTime?O.length>0&&(this._swipePoint=K[0],this._swipeTouch=O[0].identifier):this._tap.touchstart(z,K,O))},wi.prototype.touchmove=function(z,K,O){if(!this._tapTime)this._tap.touchmove(z,K,O);else if(this._swipePoint){if(O[0].identifier!==this._swipeTouch)return;var $=K[0],pe=$.y-this._swipePoint.y;return this._swipePoint=$,z.preventDefault(),this._active=!0,{zoomDelta:pe/128}}},wi.prototype.touchend=function(z,K,O){if(this._tapTime)this._swipePoint&&O.length===0&&this.reset();else{var $=this._tap.touchend(z,K,O);$&&(this._tapTime=z.timeStamp)}},wi.prototype.touchcancel=function(){this.reset()},wi.prototype.enable=function(){this._enabled=!0},wi.prototype.disable=function(){this._enabled=!1,this.reset()},wi.prototype.isEnabled=function(){return this._enabled},wi.prototype.isActive=function(){return this._active};var Ui=function(z,K,O){this._el=z,this._mousePan=K,this._touchPan=O};Ui.prototype.enable=function(z){this._inertiaOptions=z||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"mapboxgl-touch-drag-pan\")},Ui.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"mapboxgl-touch-drag-pan\")},Ui.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},Ui.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var Oi=function(z,K,O){this._pitchWithRotate=z.pitchWithRotate,this._mouseRotate=K,this._mousePitch=O};Oi.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},Oi.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},Oi.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},Oi.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var Bi=function(z,K,O,$){this._el=z,this._touchZoom=K,this._touchRotate=O,this._tapDragZoom=$,this._rotationDisabled=!1,this._enabled=!0};Bi.prototype.enable=function(z){this._touchZoom.enable(z),this._rotationDisabled||this._touchRotate.enable(z),this._tapDragZoom.enable(),this._el.classList.add(\"mapboxgl-touch-zoom-rotate\")},Bi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\")},Bi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},Bi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},Bi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},Bi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var cn=function(Y){return Y.zoom||Y.drag||Y.pitch||Y.rotate},On=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z}(i.Event);function Bn(Y){return Y.panDelta&&Y.panDelta.mag()||Y.zoomDelta||Y.bearingDelta||Y.pitchDelta}var yn=function(z,K){this._map=z,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new zl(z),this._bearingSnap=K.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(K),i.bindAll([\"handleEvent\",\"handleWindowEvent\"],this);var O=this._el;this._listeners=[[O,\"touchstart\",{passive:!0}],[O,\"touchmove\",{passive:!1}],[O,\"touchend\",void 0],[O,\"touchcancel\",void 0],[O,\"mousedown\",void 0],[O,\"mousemove\",void 0],[O,\"mouseup\",void 0],[i.window.document,\"mousemove\",{capture:!0}],[i.window.document,\"mouseup\",void 0],[O,\"mouseover\",void 0],[O,\"mouseout\",void 0],[O,\"dblclick\",void 0],[O,\"click\",void 0],[O,\"keydown\",{capture:!1}],[O,\"keyup\",void 0],[O,\"wheel\",{passive:!1}],[O,\"contextmenu\",void 0],[i.window,\"blur\",void 0]];for(var $=0,pe=this._listeners;$<pe.length;$+=1){var de=pe[$],Ie=de[0],$e=de[1],pt=de[2];o.addEventListener(Ie,$e,Ie===i.window.document?this.handleWindowEvent:this.handleEvent,pt)}};yn.prototype.destroy=function(){for(var z=0,K=this._listeners;z<K.length;z+=1){var O=K[z],$=O[0],pe=O[1],de=O[2];o.removeEventListener($,pe,$===i.window.document?this.handleWindowEvent:this.handleEvent,de)}},yn.prototype._addDefaultHandlers=function(z){var K=this._map,O=K.getCanvasContainer();this._add(\"mapEvent\",new Ue(K,z));var $=K.boxZoom=new wt(K,z);this._add(\"boxZoom\",$);var pe=new ui,de=new Wr;K.doubleClickZoom=new Er(de,pe),this._add(\"tapZoom\",pe),this._add(\"clickZoom\",de);var Ie=new wi;this._add(\"tapDragZoom\",Ie);var $e=K.touchPitch=new za;this._add(\"touchPitch\",$e);var pt=new un(z),Kt=new dn(z);K.dragRotate=new Oi(z,pt,Kt),this._add(\"mouseRotate\",pt,[\"mousePitch\"]),this._add(\"mousePitch\",Kt,[\"mouseRotate\"]);var ir=new Jr(z),Jt=new En(z);K.dragPan=new Ui(O,ir,Jt),this._add(\"mousePan\",ir),this._add(\"touchPan\",Jt,[\"touchZoom\",\"touchRotate\"]);var vt=new _s,Pt=new wa;K.touchZoomRotate=new Bi(O,Pt,vt,Ie),this._add(\"touchRotate\",vt,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",Pt,[\"touchPan\",\"touchRotate\"]);var Wt=K.scrollZoom=new At(K,this);this._add(\"scrollZoom\",Wt,[\"mousePan\"]);var rr=K.keyboard=new Fo;this._add(\"keyboard\",rr),this._add(\"blockableMapEvent\",new We(K));for(var dr=0,pr=[\"boxZoom\",\"doubleClickZoom\",\"tapDragZoom\",\"touchPitch\",\"dragRotate\",\"dragPan\",\"touchZoomRotate\",\"scrollZoom\",\"keyboard\"];dr<pr.length;dr+=1){var kr=pr[dr];z.interactive&&z[kr]&&K[kr].enable(z[kr])}},yn.prototype._add=function(z,K,O){this._handlers.push({handlerName:z,handler:K,allowed:O}),this._handlersById[z]=K},yn.prototype.stop=function(z){if(!this._updatingCamera){for(var K=0,O=this._handlers;K<O.length;K+=1){var $=O[K],pe=$.handler;pe.reset()}this._inertia.clear(),this._fireEvents({},{},z),this._changes=[]}},yn.prototype.isActive=function(){for(var z=0,K=this._handlers;z<K.length;z+=1){var O=K[z],$=O.handler;if($.isActive())return!0}return!1},yn.prototype.isZooming=function(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()},yn.prototype.isRotating=function(){return!!this._eventsInProgress.rotate},yn.prototype.isMoving=function(){return!!cn(this._eventsInProgress)||this.isZooming()},yn.prototype._blockedByActive=function(z,K,O){for(var $ in z)if($!==O&&(!K||K.indexOf($)<0))return!0;return!1},yn.prototype.handleWindowEvent=function(z){this.handleEvent(z,z.type+\"Window\")},yn.prototype._getMapTouches=function(z){for(var K=[],O=0,$=z;O<$.length;O+=1){var pe=$[O],de=pe.target;this._el.contains(de)&&K.push(pe)}return K},yn.prototype.handleEvent=function(z,K){if(z.type===\"blur\"){this.stop(!0);return}this._updatingCamera=!0;for(var O=z.type===\"renderFrame\"?void 0:z,$={needsRenderFrame:!1},pe={},de={},Ie=z.touches?this._getMapTouches(z.touches):void 0,$e=Ie?o.touchPos(this._el,Ie):o.mousePos(this._el,z),pt=0,Kt=this._handlers;pt<Kt.length;pt+=1){var ir=Kt[pt],Jt=ir.handlerName,vt=ir.handler,Pt=ir.allowed;if(vt.isEnabled()){var Wt=void 0;this._blockedByActive(de,Pt,Jt)?vt.reset():vt[K||z.type]&&(Wt=vt[K||z.type](z,$e,Ie),this.mergeHandlerResult($,pe,Wt,Jt,O),Wt&&Wt.needsRenderFrame&&this._triggerRenderFrame()),(Wt||vt.isActive())&&(de[Jt]=vt)}}var rr={};for(var dr in this._previousActiveHandlers)de[dr]||(rr[dr]=O);this._previousActiveHandlers=de,(Object.keys(rr).length||Bn($))&&(this._changes.push([$,pe,rr]),this._triggerRenderFrame()),(Object.keys(de).length||Bn($))&&this._map._stop(!0),this._updatingCamera=!1;var pr=$.cameraAnimation;pr&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],pr(this._map))},yn.prototype.mergeHandlerResult=function(z,K,O,$,pe){if(O){i.extend(z,O);var de={handlerName:$,originalEvent:O.originalEvent||pe};O.zoomDelta!==void 0&&(K.zoom=de),O.panDelta!==void 0&&(K.drag=de),O.pitchDelta!==void 0&&(K.pitch=de),O.bearingDelta!==void 0&&(K.rotate=de)}},yn.prototype._applyChanges=function(){for(var z={},K={},O={},$=0,pe=this._changes;$<pe.length;$+=1){var de=pe[$],Ie=de[0],$e=de[1],pt=de[2];Ie.panDelta&&(z.panDelta=(z.panDelta||new i.Point(0,0))._add(Ie.panDelta)),Ie.zoomDelta&&(z.zoomDelta=(z.zoomDelta||0)+Ie.zoomDelta),Ie.bearingDelta&&(z.bearingDelta=(z.bearingDelta||0)+Ie.bearingDelta),Ie.pitchDelta&&(z.pitchDelta=(z.pitchDelta||0)+Ie.pitchDelta),Ie.around!==void 0&&(z.around=Ie.around),Ie.pinchAround!==void 0&&(z.pinchAround=Ie.pinchAround),Ie.noInertia&&(z.noInertia=Ie.noInertia),i.extend(K,$e),i.extend(O,pt)}this._updateMapTransform(z,K,O),this._changes=[]},yn.prototype._updateMapTransform=function(z,K,O){var $=this._map,pe=$.transform;if(!Bn(z))return this._fireEvents(K,O,!0);var de=z.panDelta,Ie=z.zoomDelta,$e=z.bearingDelta,pt=z.pitchDelta,Kt=z.around,ir=z.pinchAround;ir!==void 0&&(Kt=ir),$._stop(!0),Kt=Kt||$.transform.centerPoint;var Jt=pe.pointLocation(de?Kt.sub(de):Kt);$e&&(pe.bearing+=$e),pt&&(pe.pitch+=pt),Ie&&(pe.zoom+=Ie),pe.setLocationAtPoint(Jt,Kt),this._map._update(),z.noInertia||this._inertia.record(z),this._fireEvents(K,O,!0)},yn.prototype._fireEvents=function(z,K,O){var $=this,pe=cn(this._eventsInProgress),de=cn(z),Ie={};for(var $e in z){var pt=z[$e],Kt=pt.originalEvent;this._eventsInProgress[$e]||(Ie[$e+\"start\"]=Kt),this._eventsInProgress[$e]=z[$e]}!pe&&de&&this._fireEvent(\"movestart\",de.originalEvent);for(var ir in Ie)this._fireEvent(ir,Ie[ir]);de&&this._fireEvent(\"move\",de.originalEvent);for(var Jt in z){var vt=z[Jt],Pt=vt.originalEvent;this._fireEvent(Jt,Pt)}var Wt={},rr;for(var dr in this._eventsInProgress){var pr=this._eventsInProgress[dr],kr=pr.handlerName,Ar=pr.originalEvent;this._handlersById[kr].isActive()||(delete this._eventsInProgress[dr],rr=K[kr]||Ar,Wt[dr+\"end\"]=rr)}for(var gr in Wt)this._fireEvent(gr,Wt[gr]);var Cr=cn(this._eventsInProgress);if(O&&(pe||de)&&!Cr){this._updatingCamera=!0;var cr=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),Gr=function(ei){return ei!==0&&-$._bearingSnap<ei&&ei<$._bearingSnap};cr?(Gr(cr.bearing||this._map.getBearing())&&(cr.bearing=0),this._map.easeTo(cr,{originalEvent:rr})):(this._map.fire(new i.Event(\"moveend\",{originalEvent:rr})),Gr(this._map.getBearing())&&this._map.resetNorth()),this._updatingCamera=!1}},yn.prototype._fireEvent=function(z,K){this._map.fire(new i.Event(z,K?{originalEvent:K}:{}))},yn.prototype._requestFrame=function(){var z=this;return this._map.triggerRepaint(),this._map._renderTaskQueue.add(function(K){delete z._frameId,z.handleEvent(new On(\"renderFrame\",{timeStamp:K})),z._applyChanges()})},yn.prototype._triggerRenderFrame=function(){this._frameId===void 0&&(this._frameId=this._requestFrame())};var to=function(Y){function z(K,O){Y.call(this),this._moving=!1,this._zooming=!1,this.transform=K,this._bearingSnap=O.bearingSnap,i.bindAll([\"_renderFrameCallback\"],this)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getCenter=function(){return new i.LngLat(this.transform.center.lng,this.transform.center.lat)},z.prototype.setCenter=function(O,$){return this.jumpTo({center:O},$)},z.prototype.panBy=function(O,$,pe){return O=i.Point.convert(O).mult(-1),this.panTo(this.transform.center,i.extend({offset:O},$),pe)},z.prototype.panTo=function(O,$,pe){return this.easeTo(i.extend({center:O},$),pe)},z.prototype.getZoom=function(){return this.transform.zoom},z.prototype.setZoom=function(O,$){return this.jumpTo({zoom:O},$),this},z.prototype.zoomTo=function(O,$,pe){return this.easeTo(i.extend({zoom:O},$),pe)},z.prototype.zoomIn=function(O,$){return this.zoomTo(this.getZoom()+1,O,$),this},z.prototype.zoomOut=function(O,$){return this.zoomTo(this.getZoom()-1,O,$),this},z.prototype.getBearing=function(){return this.transform.bearing},z.prototype.setBearing=function(O,$){return this.jumpTo({bearing:O},$),this},z.prototype.getPadding=function(){return this.transform.padding},z.prototype.setPadding=function(O,$){return this.jumpTo({padding:O},$),this},z.prototype.rotateTo=function(O,$,pe){return this.easeTo(i.extend({bearing:O},$),pe)},z.prototype.resetNorth=function(O,$){return this.rotateTo(0,i.extend({duration:1e3},O),$),this},z.prototype.resetNorthPitch=function(O,$){return this.easeTo(i.extend({bearing:0,pitch:0,duration:1e3},O),$),this},z.prototype.snapToNorth=function(O,$){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(O,$):this},z.prototype.getPitch=function(){return this.transform.pitch},z.prototype.setPitch=function(O,$){return this.jumpTo({pitch:O},$),this},z.prototype.cameraForBounds=function(O,$){O=i.LngLatBounds.convert(O);var pe=$&&$.bearing||0;return this._cameraForBoxAndBearing(O.getNorthWest(),O.getSouthEast(),pe,$)},z.prototype._cameraForBoxAndBearing=function(O,$,pe,de){var Ie={top:0,bottom:0,right:0,left:0};if(de=i.extend({padding:Ie,offset:[0,0],maxZoom:this.transform.maxZoom},de),typeof de.padding==\"number\"){var $e=de.padding;de.padding={top:$e,bottom:$e,right:$e,left:$e}}de.padding=i.extend(Ie,de.padding);var pt=this.transform,Kt=pt.padding,ir=pt.project(i.LngLat.convert(O)),Jt=pt.project(i.LngLat.convert($)),vt=ir.rotate(-pe*Math.PI/180),Pt=Jt.rotate(-pe*Math.PI/180),Wt=new i.Point(Math.max(vt.x,Pt.x),Math.max(vt.y,Pt.y)),rr=new i.Point(Math.min(vt.x,Pt.x),Math.min(vt.y,Pt.y)),dr=Wt.sub(rr),pr=(pt.width-(Kt.left+Kt.right+de.padding.left+de.padding.right))/dr.x,kr=(pt.height-(Kt.top+Kt.bottom+de.padding.top+de.padding.bottom))/dr.y;if(kr<0||pr<0){i.warnOnce(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\");return}var Ar=Math.min(pt.scaleZoom(pt.scale*Math.min(pr,kr)),de.maxZoom),gr=typeof de.offset.x==\"number\"?new i.Point(de.offset.x,de.offset.y):i.Point.convert(de.offset),Cr=(de.padding.left-de.padding.right)/2,cr=(de.padding.top-de.padding.bottom)/2,Gr=new i.Point(Cr,cr),ei=Gr.rotate(pe*Math.PI/180),yi=gr.add(ei),tn=yi.mult(pt.scale/pt.zoomScale(Ar)),Ri=pt.unproject(ir.add(Jt).div(2).sub(tn));return{center:Ri,zoom:Ar,bearing:pe}},z.prototype.fitBounds=function(O,$,pe){return this._fitInternal(this.cameraForBounds(O,$),$,pe)},z.prototype.fitScreenCoordinates=function(O,$,pe,de,Ie){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(i.Point.convert(O)),this.transform.pointLocation(i.Point.convert($)),pe,de),de,Ie)},z.prototype._fitInternal=function(O,$,pe){return O?($=i.extend(O,$),delete $.padding,$.linear?this.easeTo($,pe):this.flyTo($,pe)):this},z.prototype.jumpTo=function(O,$){this.stop();var pe=this.transform,de=!1,Ie=!1,$e=!1;return\"zoom\"in O&&pe.zoom!==+O.zoom&&(de=!0,pe.zoom=+O.zoom),O.center!==void 0&&(pe.center=i.LngLat.convert(O.center)),\"bearing\"in O&&pe.bearing!==+O.bearing&&(Ie=!0,pe.bearing=+O.bearing),\"pitch\"in O&&pe.pitch!==+O.pitch&&($e=!0,pe.pitch=+O.pitch),O.padding!=null&&!pe.isPaddingEqual(O.padding)&&(pe.padding=O.padding),this.fire(new i.Event(\"movestart\",$)).fire(new i.Event(\"move\",$)),de&&this.fire(new i.Event(\"zoomstart\",$)).fire(new i.Event(\"zoom\",$)).fire(new i.Event(\"zoomend\",$)),Ie&&this.fire(new i.Event(\"rotatestart\",$)).fire(new i.Event(\"rotate\",$)).fire(new i.Event(\"rotateend\",$)),$e&&this.fire(new i.Event(\"pitchstart\",$)).fire(new i.Event(\"pitch\",$)).fire(new i.Event(\"pitchend\",$)),this.fire(new i.Event(\"moveend\",$))},z.prototype.easeTo=function(O,$){var pe=this;this._stop(!1,O.easeId),O=i.extend({offset:[0,0],duration:500,easing:i.ease},O),(O.animate===!1||!O.essential&&i.browser.prefersReducedMotion)&&(O.duration=0);var de=this.transform,Ie=this.getZoom(),$e=this.getBearing(),pt=this.getPitch(),Kt=this.getPadding(),ir=\"zoom\"in O?+O.zoom:Ie,Jt=\"bearing\"in O?this._normalizeBearing(O.bearing,$e):$e,vt=\"pitch\"in O?+O.pitch:pt,Pt=\"padding\"in O?O.padding:de.padding,Wt=i.Point.convert(O.offset),rr=de.centerPoint.add(Wt),dr=de.pointLocation(rr),pr=i.LngLat.convert(O.center||dr);this._normalizeCenter(pr);var kr=de.project(dr),Ar=de.project(pr).sub(kr),gr=de.zoomScale(ir-Ie),Cr,cr;O.around&&(Cr=i.LngLat.convert(O.around),cr=de.locationPoint(Cr));var Gr={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=this._zooming||ir!==Ie,this._rotating=this._rotating||$e!==Jt,this._pitching=this._pitching||vt!==pt,this._padding=!de.isPaddingEqual(Pt),this._easeId=O.easeId,this._prepareEase($,O.noMoveStart,Gr),this._ease(function(ei){if(pe._zooming&&(de.zoom=i.number(Ie,ir,ei)),pe._rotating&&(de.bearing=i.number($e,Jt,ei)),pe._pitching&&(de.pitch=i.number(pt,vt,ei)),pe._padding&&(de.interpolatePadding(Kt,Pt,ei),rr=de.centerPoint.add(Wt)),Cr)de.setLocationAtPoint(Cr,cr);else{var yi=de.zoomScale(de.zoom-Ie),tn=ir>Ie?Math.min(2,gr):Math.max(.5,gr),Ri=Math.pow(tn,1-ei),ln=de.unproject(kr.add(Ar.mult(ei*Ri)).mult(yi));de.setLocationAtPoint(de.renderWorldCopies?ln.wrap():ln,rr)}pe._fireMoveEvents($)},function(ei){pe._afterEase($,ei)},O),this},z.prototype._prepareEase=function(O,$,pe){pe===void 0&&(pe={}),this._moving=!0,!$&&!pe.moving&&this.fire(new i.Event(\"movestart\",O)),this._zooming&&!pe.zooming&&this.fire(new i.Event(\"zoomstart\",O)),this._rotating&&!pe.rotating&&this.fire(new i.Event(\"rotatestart\",O)),this._pitching&&!pe.pitching&&this.fire(new i.Event(\"pitchstart\",O))},z.prototype._fireMoveEvents=function(O){this.fire(new i.Event(\"move\",O)),this._zooming&&this.fire(new i.Event(\"zoom\",O)),this._rotating&&this.fire(new i.Event(\"rotate\",O)),this._pitching&&this.fire(new i.Event(\"pitch\",O))},z.prototype._afterEase=function(O,$){if(!(this._easeId&&$&&this._easeId===$)){delete this._easeId;var pe=this._zooming,de=this._rotating,Ie=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,pe&&this.fire(new i.Event(\"zoomend\",O)),de&&this.fire(new i.Event(\"rotateend\",O)),Ie&&this.fire(new i.Event(\"pitchend\",O)),this.fire(new i.Event(\"moveend\",O))}},z.prototype.flyTo=function(O,$){var pe=this;if(!O.essential&&i.browser.prefersReducedMotion){var de=i.pick(O,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(de,$)}this.stop(),O=i.extend({offset:[0,0],speed:1.2,curve:1.42,easing:i.ease},O);var Ie=this.transform,$e=this.getZoom(),pt=this.getBearing(),Kt=this.getPitch(),ir=this.getPadding(),Jt=\"zoom\"in O?i.clamp(+O.zoom,Ie.minZoom,Ie.maxZoom):$e,vt=\"bearing\"in O?this._normalizeBearing(O.bearing,pt):pt,Pt=\"pitch\"in O?+O.pitch:Kt,Wt=\"padding\"in O?O.padding:Ie.padding,rr=Ie.zoomScale(Jt-$e),dr=i.Point.convert(O.offset),pr=Ie.centerPoint.add(dr),kr=Ie.pointLocation(pr),Ar=i.LngLat.convert(O.center||kr);this._normalizeCenter(Ar);var gr=Ie.project(kr),Cr=Ie.project(Ar).sub(gr),cr=O.curve,Gr=Math.max(Ie.width,Ie.height),ei=Gr/rr,yi=Cr.mag();if(\"minZoom\"in O){var tn=i.clamp(Math.min(O.minZoom,$e,Jt),Ie.minZoom,Ie.maxZoom),Ri=Gr/Ie.zoomScale(tn-$e);cr=Math.sqrt(Ri/yi*2)}var ln=cr*cr;function Qn(fo){var as=(ei*ei-Gr*Gr+(fo?-1:1)*ln*ln*yi*yi)/(2*(fo?ei:Gr)*ln*yi);return Math.log(Math.sqrt(as*as+1)-as)}function qn(fo){return(Math.exp(fo)-Math.exp(-fo))/2}function rn(fo){return(Math.exp(fo)+Math.exp(-fo))/2}function bn(fo){return qn(fo)/rn(fo)}var mn=Qn(0),Gn=function(fo){return rn(mn)/rn(mn+cr*fo)},da=function(fo){return Gr*((rn(mn)*bn(mn+cr*fo)-qn(mn))/ln)/yi},No=(Qn(1)-mn)/cr;if(Math.abs(yi)<1e-6||!isFinite(No)){if(Math.abs(Gr-ei)<1e-6)return this.easeTo(O,$);var Do=ei<Gr?-1:1;No=Math.abs(Math.log(ei/Gr))/cr,da=function(){return 0},Gn=function(fo){return Math.exp(Do*cr*fo)}}if(\"duration\"in O)O.duration=+O.duration;else{var ps=\"screenSpeed\"in O?+O.screenSpeed/cr:+O.speed;O.duration=1e3*No/ps}return O.maxDuration&&O.duration>O.maxDuration&&(O.duration=0),this._zooming=!0,this._rotating=pt!==vt,this._pitching=Pt!==Kt,this._padding=!Ie.isPaddingEqual(Wt),this._prepareEase($,!1),this._ease(function(fo){var as=fo*No,tl=1/Gn(as);Ie.zoom=fo===1?Jt:$e+Ie.scaleZoom(tl),pe._rotating&&(Ie.bearing=i.number(pt,vt,fo)),pe._pitching&&(Ie.pitch=i.number(Kt,Pt,fo)),pe._padding&&(Ie.interpolatePadding(ir,Wt,fo),pr=Ie.centerPoint.add(dr));var zu=fo===1?Ar:Ie.unproject(gr.add(Cr.mult(da(as))).mult(tl));Ie.setLocationAtPoint(Ie.renderWorldCopies?zu.wrap():zu,pr),pe._fireMoveEvents($)},function(){return pe._afterEase($)},O),this},z.prototype.isEasing=function(){return!!this._easeFrameId},z.prototype.stop=function(){return this._stop()},z.prototype._stop=function(O,$){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var pe=this._onEaseEnd;delete this._onEaseEnd,pe.call(this,$)}if(!O){var de=this.handlers;de&&de.stop(!1)}return this},z.prototype._ease=function(O,$,pe){pe.animate===!1||pe.duration===0?(O(1),$()):(this._easeStart=i.browser.now(),this._easeOptions=pe,this._onEaseFrame=O,this._onEaseEnd=$,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},z.prototype._renderFrameCallback=function(){var O=Math.min((i.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(O)),O<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},z.prototype._normalizeBearing=function(O,$){O=i.wrap(O,-180,180);var pe=Math.abs(O-$);return Math.abs(O-360-$)<pe&&(O-=360),Math.abs(O+360-$)<pe&&(O+=360),O},z.prototype._normalizeCenter=function(O){var $=this.transform;if(!(!$.renderWorldCopies||$.lngRange)){var pe=O.lng-$.center.lng;O.lng+=pe>180?-360:pe<-180?360:0}},z}(i.Evented),Rn=function(z){z===void 0&&(z={}),this.options=z,i.bindAll([\"_toggleAttribution\",\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this)};Rn.prototype.getDefaultPosition=function(){return\"bottom-right\"},Rn.prototype.onAdd=function(z){var K=this.options&&this.options.compact;return this._map=z,this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),this._compactButton=o.create(\"button\",\"mapboxgl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=o.create(\"div\",\"mapboxgl-ctrl-attrib-inner\",this._container),this._innerContainer.setAttribute(\"role\",\"list\"),K&&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),K===void 0&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},Rn.prototype.onRemove=function(){o.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},Rn.prototype._setElementTitle=function(z,K){var O=this._map._getUIString(\"AttributionControl.\"+K);z.title=O,z.setAttribute(\"aria-label\",O)},Rn.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\"))},Rn.prototype._updateEditLink=function(){var z=this._editLink;z||(z=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));var K=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:this._map._requestManager._customAccessToken||i.config.ACCESS_TOKEN}];if(z){var O=K.reduce(function($,pe,de){return pe.value&&($+=pe.key+\"=\"+pe.value+(de<K.length-1?\"&\":\"\")),$},\"?\");z.href=i.config.FEEDBACK_URL+\"/\"+O+(this._map._hash?this._map._hash.getHashString(!0):\"\"),z.rel=\"noopener nofollow\",this._setElementTitle(z,\"MapFeedback\")}},Rn.prototype._updateData=function(z){z&&(z.sourceDataType===\"metadata\"||z.sourceDataType===\"visibility\"||z.dataType===\"style\")&&(this._updateAttributions(),this._updateEditLink())},Rn.prototype._updateAttributions=function(){if(this._map.style){var z=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?z=z.concat(this.options.customAttribution.map(function($e){return typeof $e!=\"string\"?\"\":$e})):typeof this.options.customAttribution==\"string\"&&z.push(this.options.customAttribution)),this._map.style.stylesheet){var K=this._map.style.stylesheet;this.styleOwner=K.owner,this.styleId=K.id}var O=this._map.style.sourceCaches;for(var $ in O){var pe=O[$];if(pe.used){var de=pe.getSource();de.attribution&&z.indexOf(de.attribution)<0&&z.push(de.attribution)}}z.sort(function($e,pt){return $e.length-pt.length}),z=z.filter(function($e,pt){for(var Kt=pt+1;Kt<z.length;Kt++)if(z[Kt].indexOf($e)>=0)return!1;return!0});var Ie=z.join(\" | \");Ie!==this._attribHTML&&(this._attribHTML=Ie,z.length?(this._innerContainer.innerHTML=Ie,this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null)}},Rn.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\",\"mapboxgl-compact-show\")};var Dn=function(){i.bindAll([\"_updateLogo\"],this),i.bindAll([\"_updateCompact\"],this)};Dn.prototype.onAdd=function(z){this._map=z,this._container=o.create(\"div\",\"mapboxgl-ctrl\");var K=o.create(\"a\",\"mapboxgl-ctrl-logo\");return K.target=\"_blank\",K.rel=\"noopener nofollow\",K.href=\"https://www.mapbox.com/\",K.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),K.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(K),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container},Dn.prototype.onRemove=function(){o.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo),this._map.off(\"resize\",this._updateCompact)},Dn.prototype.getDefaultPosition=function(){return\"bottom-left\"},Dn.prototype._updateLogo=function(z){(!z||z.sourceDataType===\"metadata\")&&(this._container.style.display=this._logoRequired()?\"block\":\"none\")},Dn.prototype._logoRequired=function(){if(this._map.style){var z=this._map.style.sourceCaches;for(var K in z){var O=z[K].getSource();if(O.mapbox_logo)return!0}return!1}},Dn.prototype._updateCompact=function(){var z=this._container.children;if(z.length){var K=z[0];this._map.getCanvasContainer().offsetWidth<250?K.classList.add(\"mapboxgl-compact\"):K.classList.remove(\"mapboxgl-compact\")}};var fn=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};fn.prototype.add=function(z){var K=++this._id,O=this._queue;return O.push({callback:z,id:K,cancelled:!1}),K},fn.prototype.remove=function(z){for(var K=this._currentlyRunning,O=K?this._queue.concat(K):this._queue,$=0,pe=O;$<pe.length;$+=1){var de=pe[$];if(de.id===z){de.cancelled=!0;return}}},fn.prototype.run=function(z){z===void 0&&(z=0);var K=this._currentlyRunning=this._queue;this._queue=[];for(var O=0,$=K;O<$.length;O+=1){var pe=$[O];if(!pe.cancelled&&(pe.callback(z),this._cleared))break}this._cleared=!1,this._currentlyRunning=!1},fn.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]};var Ai={\"AttributionControl.ToggleAttribution\":\"Toggle attribution\",\"AttributionControl.MapFeedback\":\"Map feedback\",\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"Mapbox logo\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"ScaleControl.Feet\":\"ft\",\"ScaleControl.Meters\":\"m\",\"ScaleControl.Kilometers\":\"km\",\"ScaleControl.Miles\":\"mi\",\"ScaleControl.NauticalMiles\":\"nm\"},ji=i.window.HTMLImageElement,Ln=i.window.HTMLElement,Un=i.window.ImageBitmap,gn=-2,ca=22,Kn=0,Za=60,wn={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:gn,maxZoom:ca,minPitch:Kn,maxPitch:Za,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:\"sans-serif\",transformRequest:null,accessToken:null,fadeDuration:300,crossSourceCollisions:!0},vn=function(Y){function z(O){var $=this;if(O=i.extend({},wn,O),O.minZoom!=null&&O.maxZoom!=null&&O.minZoom>O.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(O.minPitch!=null&&O.maxPitch!=null&&O.minPitch>O.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(O.minPitch!=null&&O.minPitch<Kn)throw new Error(\"minPitch must be greater than or equal to \"+Kn);if(O.maxPitch!=null&&O.maxPitch>Za)throw new Error(\"maxPitch must be less than or equal to \"+Za);var pe=new yo(O.minZoom,O.maxZoom,O.minPitch,O.maxPitch,O.renderWorldCopies);if(Y.call(this,pe,O),this._interactive=O.interactive,this._maxTileCacheSize=O.maxTileCacheSize,this._failIfMajorPerformanceCaveat=O.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=O.preserveDrawingBuffer,this._antialias=O.antialias,this._trackResize=O.trackResize,this._bearingSnap=O.bearingSnap,this._refreshExpiredTiles=O.refreshExpiredTiles,this._fadeDuration=O.fadeDuration,this._crossSourceCollisions=O.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=O.collectResourceTiming,this._renderTaskQueue=new fn,this._controls=[],this._mapId=i.uniqueId(),this._locale=i.extend({},Ai,O.locale),this._clickTolerance=O.clickTolerance,this._requestManager=new i.RequestManager(O.transformRequest,O.accessToken),typeof O.container==\"string\"){if(this._container=i.window.document.getElementById(O.container),!this._container)throw new Error(\"Container '\"+O.container+\"' not found.\")}else if(O.container instanceof Ln)this._container=O.container;else throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");if(O.maxBounds&&this.setMaxBounds(O.maxBounds),i.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_onMapScroll\",\"_contextLost\",\"_contextRestored\"],this),this._setupContainer(),this._setupPainter(),this.painter===void 0)throw new Error(\"Failed to initialize WebGL.\");this.on(\"move\",function(){return $._update(!1)}),this.on(\"moveend\",function(){return $._update(!1)}),this.on(\"zoom\",function(){return $._update(!0)}),typeof i.window!=\"undefined\"&&(i.window.addEventListener(\"online\",this._onWindowOnline,!1),i.window.addEventListener(\"resize\",this._onWindowResize,!1),i.window.addEventListener(\"orientationchange\",this._onWindowResize,!1)),this.handlers=new yn(this,O);var de=typeof O.hash==\"string\"&&O.hash||void 0;this._hash=O.hash&&new Hl(de).addTo(this),(!this._hash||!this._hash._onHashChange())&&(this.jumpTo({center:O.center,zoom:O.zoom,bearing:O.bearing,pitch:O.pitch}),O.bounds&&(this.resize(),this.fitBounds(O.bounds,i.extend({},O.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=O.localIdeographFontFamily,O.style&&this.setStyle(O.style,{localIdeographFontFamily:O.localIdeographFontFamily}),O.attributionControl&&this.addControl(new Rn({customAttribution:O.customAttribution})),this.addControl(new Dn,O.logoPosition),this.on(\"style.load\",function(){$.transform.unmodified&&$.jumpTo($.style.stylesheet)}),this.on(\"data\",function(Ie){$._update(Ie.dataType===\"style\"),$.fire(new i.Event(Ie.dataType+\"data\",Ie))}),this.on(\"dataloading\",function(Ie){$.fire(new i.Event(Ie.dataType+\"dataloading\",Ie))})}Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z;var K={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return z.prototype._getMapId=function(){return this._mapId},z.prototype.addControl=function($,pe){if(pe===void 0&&($.getDefaultPosition?pe=$.getDefaultPosition():pe=\"top-right\"),!$||!$.onAdd)return this.fire(new i.ErrorEvent(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));var de=$.onAdd(this);this._controls.push($);var Ie=this._controlPositions[pe];return pe.indexOf(\"bottom\")!==-1?Ie.insertBefore(de,Ie.firstChild):Ie.appendChild(de),this},z.prototype.removeControl=function($){if(!$||!$.onRemove)return this.fire(new i.ErrorEvent(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));var pe=this._controls.indexOf($);return pe>-1&&this._controls.splice(pe,1),$.onRemove(this),this},z.prototype.hasControl=function($){return this._controls.indexOf($)>-1},z.prototype.resize=function($){var pe=this._containerDimensions(),de=pe[0],Ie=pe[1];this._resizeCanvas(de,Ie),this.transform.resize(de,Ie),this.painter.resize(de,Ie);var $e=!this._moving;return $e&&(this.stop(),this.fire(new i.Event(\"movestart\",$)).fire(new i.Event(\"move\",$))),this.fire(new i.Event(\"resize\",$)),$e&&this.fire(new i.Event(\"moveend\",$)),this},z.prototype.getBounds=function(){return this.transform.getBounds()},z.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},z.prototype.setMaxBounds=function($){return this.transform.setMaxBounds(i.LngLatBounds.convert($)),this._update()},z.prototype.setMinZoom=function($){if($=$==null?gn:$,$>=gn&&$<=this.transform.maxZoom)return this.transform.minZoom=$,this._update(),this.getZoom()<$&&this.setZoom($),this;throw new Error(\"minZoom must be between \"+gn+\" and the current maxZoom, inclusive\")},z.prototype.getMinZoom=function(){return this.transform.minZoom},z.prototype.setMaxZoom=function($){if($=$==null?ca:$,$>=this.transform.minZoom)return this.transform.maxZoom=$,this._update(),this.getZoom()>$&&this.setZoom($),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},z.prototype.getMaxZoom=function(){return this.transform.maxZoom},z.prototype.setMinPitch=function($){if($=$==null?Kn:$,$<Kn)throw new Error(\"minPitch must be greater than or equal to \"+Kn);if($>=Kn&&$<=this.transform.maxPitch)return this.transform.minPitch=$,this._update(),this.getPitch()<$&&this.setPitch($),this;throw new Error(\"minPitch must be between \"+Kn+\" and the current maxPitch, inclusive\")},z.prototype.getMinPitch=function(){return this.transform.minPitch},z.prototype.setMaxPitch=function($){if($=$==null?Za:$,$>Za)throw new Error(\"maxPitch must be less than or equal to \"+Za);if($>=this.transform.minPitch)return this.transform.maxPitch=$,this._update(),this.getPitch()>$&&this.setPitch($),this;throw new Error(\"maxPitch must be greater than the current minPitch\")},z.prototype.getMaxPitch=function(){return this.transform.maxPitch},z.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},z.prototype.setRenderWorldCopies=function($){return this.transform.renderWorldCopies=$,this._update()},z.prototype.project=function($){return this.transform.locationPoint(i.LngLat.convert($))},z.prototype.unproject=function($){return this.transform.pointLocation(i.Point.convert($))},z.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},z.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},z.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},z.prototype._createDelegatedListener=function($,pe,de){var Ie=this,$e;if($===\"mouseenter\"||$===\"mouseover\"){var pt=!1,Kt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length?pt||(pt=!0,de.call(Ie,new oe($,Ie,rr.originalEvent,{features:dr}))):pt=!1},ir=function(){pt=!1};return{layer:pe,listener:de,delegates:{mousemove:Kt,mouseout:ir}}}else if($===\"mouseleave\"||$===\"mouseout\"){var Jt=!1,vt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length?Jt=!0:Jt&&(Jt=!1,de.call(Ie,new oe($,Ie,rr.originalEvent)))},Pt=function(rr){Jt&&(Jt=!1,de.call(Ie,new oe($,Ie,rr.originalEvent)))};return{layer:pe,listener:de,delegates:{mousemove:vt,mouseout:Pt}}}else{var Wt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length&&(rr.features=dr,de.call(Ie,rr),delete rr.features)};return{layer:pe,listener:de,delegates:($e={},$e[$]=Wt,$e)}}},z.prototype.on=function($,pe,de){if(de===void 0)return Y.prototype.on.call(this,$,pe);var Ie=this._createDelegatedListener($,pe,de);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[$]=this._delegatedListeners[$]||[],this._delegatedListeners[$].push(Ie);for(var $e in Ie.delegates)this.on($e,Ie.delegates[$e]);return this},z.prototype.once=function($,pe,de){if(de===void 0)return Y.prototype.once.call(this,$,pe);var Ie=this._createDelegatedListener($,pe,de);for(var $e in Ie.delegates)this.once($e,Ie.delegates[$e]);return this},z.prototype.off=function($,pe,de){var Ie=this;if(de===void 0)return Y.prototype.off.call(this,$,pe);var $e=function(pt){for(var Kt=pt[$],ir=0;ir<Kt.length;ir++){var Jt=Kt[ir];if(Jt.layer===pe&&Jt.listener===de){for(var vt in Jt.delegates)Ie.off(vt,Jt.delegates[vt]);return Kt.splice(ir,1),Ie}}};return this._delegatedListeners&&this._delegatedListeners[$]&&$e(this._delegatedListeners),this},z.prototype.queryRenderedFeatures=function($,pe){if(!this.style)return[];pe===void 0&&$!==void 0&&!($ instanceof i.Point)&&!Array.isArray($)&&(pe=$,$=void 0),pe=pe||{},$=$||[[0,0],[this.transform.width,this.transform.height]];var de;if($ instanceof i.Point||typeof $[0]==\"number\")de=[i.Point.convert($)];else{var Ie=i.Point.convert($[0]),$e=i.Point.convert($[1]);de=[Ie,new i.Point($e.x,Ie.y),$e,new i.Point(Ie.x,$e.y),Ie]}return this.style.queryRenderedFeatures(de,pe,this.transform)},z.prototype.querySourceFeatures=function($,pe){return this.style.querySourceFeatures($,pe)},z.prototype.setStyle=function($,pe){return pe=i.extend({},{localIdeographFontFamily:this._localIdeographFontFamily},pe),pe.diff!==!1&&pe.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&$?(this._diffStyle($,pe),this):(this._localIdeographFontFamily=pe.localIdeographFontFamily,this._updateStyle($,pe))},z.prototype._getUIString=function($){var pe=this._locale[$];if(pe==null)throw new Error(\"Missing UI string '\"+$+\"'\");return pe},z.prototype._updateStyle=function($,pe){if(this.style&&(this.style.setEventedParent(null),this.style._remove()),$)this.style=new mu(this,pe||{});else return delete this.style,this;return this.style.setEventedParent(this,{style:this.style}),typeof $==\"string\"?this.style.loadURL($):this.style.loadJSON($),this},z.prototype._lazyInitEmptyStyle=function(){this.style||(this.style=new mu(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())},z.prototype._diffStyle=function($,pe){var de=this;if(typeof $==\"string\"){var Ie=this._requestManager.normalizeStyleURL($),$e=this._requestManager.transformRequest(Ie,i.ResourceType.Style);i.getJSON($e,function(pt,Kt){pt?de.fire(new i.ErrorEvent(pt)):Kt&&de._updateDiff(Kt,pe)})}else typeof $==\"object\"&&this._updateDiff($,pe)},z.prototype._updateDiff=function($,pe){try{this.style.setState($)&&this._update(!0)}catch(de){i.warnOnce(\"Unable to perform style diff: \"+(de.message||de.error||de)+\". Rebuilding the style from scratch.\"),this._updateStyle($,pe)}},z.prototype.getStyle=function(){if(this.style)return this.style.serialize()},z.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():i.warnOnce(\"There is no style added to the map.\")},z.prototype.addSource=function($,pe){return this._lazyInitEmptyStyle(),this.style.addSource($,pe),this._update(!0)},z.prototype.isSourceLoaded=function($){var pe=this.style&&this.style.sourceCaches[$];if(pe===void 0){this.fire(new i.ErrorEvent(new Error(\"There is no source with ID '\"+$+\"'\")));return}return pe.loaded()},z.prototype.areTilesLoaded=function(){var $=this.style&&this.style.sourceCaches;for(var pe in $){var de=$[pe],Ie=de._tiles;for(var $e in Ie){var pt=Ie[$e];if(!(pt.state===\"loaded\"||pt.state===\"errored\"))return!1}}return!0},z.prototype.addSourceType=function($,pe,de){return this._lazyInitEmptyStyle(),this.style.addSourceType($,pe,de)},z.prototype.removeSource=function($){return this.style.removeSource($),this._update(!0)},z.prototype.getSource=function($){return this.style.getSource($)},z.prototype.addImage=function($,pe,de){de===void 0&&(de={});var Ie=de.pixelRatio;Ie===void 0&&(Ie=1);var $e=de.sdf;$e===void 0&&($e=!1);var pt=de.stretchX,Kt=de.stretchY,ir=de.content;this._lazyInitEmptyStyle();var Jt=0;if(pe instanceof ji||Un&&pe instanceof Un){var vt=i.browser.getImageData(pe),Pt=vt.width,Wt=vt.height,rr=vt.data;this.style.addImage($,{data:new i.RGBAImage({width:Pt,height:Wt},rr),pixelRatio:Ie,stretchX:pt,stretchY:Kt,content:ir,sdf:$e,version:Jt})}else{if(pe.width===void 0||pe.height===void 0)return this.fire(new i.ErrorEvent(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));var dr=pe.width,pr=pe.height,kr=pe.data,Ar=pe;this.style.addImage($,{data:new i.RGBAImage({width:dr,height:pr},new Uint8Array(kr)),pixelRatio:Ie,stretchX:pt,stretchY:Kt,content:ir,sdf:$e,version:Jt,userImage:Ar}),Ar.onAdd&&Ar.onAdd(this,$)}},z.prototype.updateImage=function($,pe){var de=this.style.getImage($);if(!de)return this.fire(new i.ErrorEvent(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));var Ie=pe instanceof ji||Un&&pe instanceof Un?i.browser.getImageData(pe):pe,$e=Ie.width,pt=Ie.height,Kt=Ie.data;if($e===void 0||pt===void 0)return this.fire(new i.ErrorEvent(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));if($e!==de.data.width||pt!==de.data.height)return this.fire(new i.ErrorEvent(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));var ir=!(pe instanceof ji||Un&&pe instanceof Un);de.data.replace(Kt,ir),this.style.updateImage($,de)},z.prototype.hasImage=function($){return $?!!this.style.getImage($):(this.fire(new i.ErrorEvent(new Error(\"Missing required image id\"))),!1)},z.prototype.removeImage=function($){this.style.removeImage($)},z.prototype.loadImage=function($,pe){i.getImage(this._requestManager.transformRequest($,i.ResourceType.Image),pe)},z.prototype.listImages=function(){return this.style.listImages()},z.prototype.addLayer=function($,pe){return this._lazyInitEmptyStyle(),this.style.addLayer($,pe),this._update(!0)},z.prototype.moveLayer=function($,pe){return this.style.moveLayer($,pe),this._update(!0)},z.prototype.removeLayer=function($){return this.style.removeLayer($),this._update(!0)},z.prototype.getLayer=function($){return this.style.getLayer($)},z.prototype.setLayerZoomRange=function($,pe,de){return this.style.setLayerZoomRange($,pe,de),this._update(!0)},z.prototype.setFilter=function($,pe,de){return de===void 0&&(de={}),this.style.setFilter($,pe,de),this._update(!0)},z.prototype.getFilter=function($){return this.style.getFilter($)},z.prototype.setPaintProperty=function($,pe,de,Ie){return Ie===void 0&&(Ie={}),this.style.setPaintProperty($,pe,de,Ie),this._update(!0)},z.prototype.getPaintProperty=function($,pe){return this.style.getPaintProperty($,pe)},z.prototype.setLayoutProperty=function($,pe,de,Ie){return Ie===void 0&&(Ie={}),this.style.setLayoutProperty($,pe,de,Ie),this._update(!0)},z.prototype.getLayoutProperty=function($,pe){return this.style.getLayoutProperty($,pe)},z.prototype.setLight=function($,pe){return pe===void 0&&(pe={}),this._lazyInitEmptyStyle(),this.style.setLight($,pe),this._update(!0)},z.prototype.getLight=function(){return this.style.getLight()},z.prototype.setFeatureState=function($,pe){return this.style.setFeatureState($,pe),this._update()},z.prototype.removeFeatureState=function($,pe){return this.style.removeFeatureState($,pe),this._update()},z.prototype.getFeatureState=function($){return this.style.getFeatureState($)},z.prototype.getContainer=function(){return this._container},z.prototype.getCanvasContainer=function(){return this._canvasContainer},z.prototype.getCanvas=function(){return this._canvas},z.prototype._containerDimensions=function(){var $=0,pe=0;return this._container&&($=this._container.clientWidth||400,pe=this._container.clientHeight||300),[$,pe]},z.prototype._detectMissingCSS=function(){var $=i.window.getComputedStyle(this._missingCSSCanary).getPropertyValue(\"background-color\");$!==\"rgb(250, 128, 114)\"&&i.warnOnce(\"This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.\")},z.prototype._setupContainer=function(){var $=this._container;$.classList.add(\"mapboxgl-map\");var pe=this._missingCSSCanary=o.create(\"div\",\"mapboxgl-canary\",$);pe.style.visibility=\"hidden\",this._detectMissingCSS();var de=this._canvasContainer=o.create(\"div\",\"mapboxgl-canvas-container\",$);this._interactive&&de.classList.add(\"mapboxgl-interactive\"),this._canvas=o.create(\"canvas\",\"mapboxgl-canvas\",de),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",\"Map\"),this._canvas.setAttribute(\"role\",\"region\");var Ie=this._containerDimensions();this._resizeCanvas(Ie[0],Ie[1]);var $e=this._controlContainer=o.create(\"div\",\"mapboxgl-control-container\",$),pt=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(function(Kt){pt[Kt]=o.create(\"div\",\"mapboxgl-ctrl-\"+Kt,$e)}),this._container.addEventListener(\"scroll\",this._onMapScroll,!1)},z.prototype._resizeCanvas=function($,pe){var de=i.browser.devicePixelRatio||1;this._canvas.width=de*$,this._canvas.height=de*pe,this._canvas.style.width=$+\"px\",this._canvas.style.height=pe+\"px\"},z.prototype._setupPainter=function(){var $=i.extend({},a.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),pe=this._canvas.getContext(\"webgl\",$)||this._canvas.getContext(\"experimental-webgl\",$);if(!pe){this.fire(new i.ErrorEvent(new Error(\"Failed to initialize WebGL\")));return}this.painter=new co(pe,this.transform),i.webpSupported.testSupport(pe)},z.prototype._contextLost=function($){$.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new i.Event(\"webglcontextlost\",{originalEvent:$}))},z.prototype._contextRestored=function($){this._setupPainter(),this.resize(),this._update(),this.fire(new i.Event(\"webglcontextrestored\",{originalEvent:$}))},z.prototype._onMapScroll=function($){if($.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},z.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()},z.prototype._update=function($){return this.style?(this._styleDirty=this._styleDirty||$,this._sourcesDirty=!0,this.triggerRepaint(),this):this},z.prototype._requestRenderFrame=function($){return this._update(),this._renderTaskQueue.add($)},z.prototype._cancelRenderFrame=function($){this._renderTaskQueue.remove($)},z.prototype._render=function($){var pe=this,de,Ie=0,$e=this.painter.context.extTimerQuery;if(this.listens(\"gpu-timing-frame\")&&(de=$e.createQueryEXT(),$e.beginQueryEXT($e.TIME_ELAPSED_EXT,de),Ie=i.browser.now()),this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run($),!this._removed){var pt=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var Kt=this.transform.zoom,ir=i.browser.now();this.style.zoomHistory.update(Kt,ir);var Jt=new i.EvaluationParameters(Kt,{now:ir,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),vt=Jt.crossFadingFactor();(vt!==1||vt!==this._crossFadingFactor)&&(pt=!0,this._crossFadingFactor=vt),this.style.update(Jt)}if(this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration,showPadding:this.showPadding,gpuTiming:!!this.listens(\"gpu-timing-layer\")}),this.fire(new i.Event(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new i.Event(\"load\"))),this.style&&(this.style.hasTransitions()||pt)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this.listens(\"gpu-timing-frame\")){var Pt=i.browser.now()-Ie;$e.endQueryEXT($e.TIME_ELAPSED_EXT,de),setTimeout(function(){var dr=$e.getQueryObjectEXT(de,$e.QUERY_RESULT_EXT)/1e6;$e.deleteQueryEXT(de),pe.fire(new i.Event(\"gpu-timing-frame\",{cpuTime:Pt,gpuTime:dr}))},50)}if(this.listens(\"gpu-timing-layer\")){var Wt=this.painter.collectGpuTimers();setTimeout(function(){var dr=pe.painter.queryGpuTimers(Wt);pe.fire(new i.Event(\"gpu-timing-layer\",{layerTimes:dr}))},50)}var rr=this._sourcesDirty||this._styleDirty||this._placementDirty;return rr||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new i.Event(\"idle\")),this._loaded&&!this._fullyLoaded&&!rr&&(this._fullyLoaded=!0),this}},z.prototype.remove=function(){this._hash&&this._hash.remove();for(var $=0,pe=this._controls;$<pe.length;$+=1){var de=pe[$];de.onRemove(this)}this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof i.window!=\"undefined\"&&(i.window.removeEventListener(\"resize\",this._onWindowResize,!1),i.window.removeEventListener(\"orientationchange\",this._onWindowResize,!1),i.window.removeEventListener(\"online\",this._onWindowOnline,!1));var Ie=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");Ie&&Ie.loseContext&&Ie.loseContext(),Aa(this._canvasContainer),Aa(this._controlContainer),Aa(this._missingCSSCanary),this._container.classList.remove(\"mapboxgl-map\"),this._removed=!0,this.fire(new i.Event(\"remove\"))},z.prototype.triggerRepaint=function(){var $=this;this.style&&!this._frame&&(this._frame=i.browser.frame(function(pe){$._frame=null,$._render(pe)}))},z.prototype._onWindowOnline=function(){this._update()},z.prototype._onWindowResize=function($){this._trackResize&&this.resize({originalEvent:$})._update()},K.showTileBoundaries.get=function(){return!!this._showTileBoundaries},K.showTileBoundaries.set=function(O){this._showTileBoundaries!==O&&(this._showTileBoundaries=O,this._update())},K.showPadding.get=function(){return!!this._showPadding},K.showPadding.set=function(O){this._showPadding!==O&&(this._showPadding=O,this._update())},K.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},K.showCollisionBoxes.set=function(O){this._showCollisionBoxes!==O&&(this._showCollisionBoxes=O,O?this.style._generateCollisionBoxes():this._update())},K.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},K.showOverdrawInspector.set=function(O){this._showOverdrawInspector!==O&&(this._showOverdrawInspector=O,this._update())},K.repaint.get=function(){return!!this._repaint},K.repaint.set=function(O){this._repaint!==O&&(this._repaint=O,this.triggerRepaint())},K.vertices.get=function(){return!!this._vertices},K.vertices.set=function(O){this._vertices=O,this._update()},z.prototype._setCacheLimits=function($,pe){i.setCacheLimits($,pe)},K.version.get=function(){return i.version},Object.defineProperties(z.prototype,K),z}(to);function Aa(Y){Y.parentNode&&Y.parentNode.removeChild(Y)}var aa={showCompass:!0,showZoom:!0,visualizePitch:!1},Xn=function(z){var K=this;this.options=i.extend({},aa,z),this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",function(O){return O.preventDefault()}),this.options.showZoom&&(i.bindAll([\"_setButtonTitle\",\"_updateZoomButtons\"],this),this._zoomInButton=this._createButton(\"mapboxgl-ctrl-zoom-in\",function(O){return K._map.zoomIn({},{originalEvent:O})}),o.create(\"span\",\"mapboxgl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",!0),this._zoomOutButton=this._createButton(\"mapboxgl-ctrl-zoom-out\",function(O){return K._map.zoomOut({},{originalEvent:O})}),o.create(\"span\",\"mapboxgl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",!0)),this.options.showCompass&&(i.bindAll([\"_rotateCompassArrow\"],this),this._compass=this._createButton(\"mapboxgl-ctrl-compass\",function(O){K.options.visualizePitch?K._map.resetNorthPitch({},{originalEvent:O}):K._map.resetNorth({},{originalEvent:O})}),this._compassIcon=o.create(\"span\",\"mapboxgl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",!0))};Xn.prototype._updateZoomButtons=function(){var z=this._map.getZoom(),K=z===this._map.getMaxZoom(),O=z===this._map.getMinZoom();this._zoomInButton.disabled=K,this._zoomOutButton.disabled=O,this._zoomInButton.setAttribute(\"aria-disabled\",K.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",O.toString())},Xn.prototype._rotateCompassArrow=function(){var z=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=z},Xn.prototype.onAdd=function(z){return this._map=z,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 Vn(this._map,this._compass,this.options.visualizePitch)),this._container},Xn.prototype.onRemove=function(){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},Xn.prototype._createButton=function(z,K){var O=o.create(\"button\",z,this._container);return O.type=\"button\",O.addEventListener(\"click\",K),O},Xn.prototype._setButtonTitle=function(z,K){var O=this._map._getUIString(\"NavigationControl.\"+K);z.title=O,z.setAttribute(\"aria-label\",O)};var Vn=function(z,K,O){O===void 0&&(O=!1),this._clickTolerance=10,this.element=K,this.mouseRotate=new un({clickTolerance:z.dragRotate._mouseRotate._clickTolerance}),this.map=z,O&&(this.mousePitch=new dn({clickTolerance:z.dragRotate._mousePitch._clickTolerance})),i.bindAll([\"mousedown\",\"mousemove\",\"mouseup\",\"touchstart\",\"touchmove\",\"touchend\",\"reset\"],this),o.addEventListener(K,\"mousedown\",this.mousedown),o.addEventListener(K,\"touchstart\",this.touchstart,{passive:!1}),o.addEventListener(K,\"touchmove\",this.touchmove),o.addEventListener(K,\"touchend\",this.touchend),o.addEventListener(K,\"touchcancel\",this.reset)};Vn.prototype.down=function(z,K){this.mouseRotate.mousedown(z,K),this.mousePitch&&this.mousePitch.mousedown(z,K),o.disableDrag()},Vn.prototype.move=function(z,K){var O=this.map,$=this.mouseRotate.mousemoveWindow(z,K);if($&&$.bearingDelta&&O.setBearing(O.getBearing()+$.bearingDelta),this.mousePitch){var pe=this.mousePitch.mousemoveWindow(z,K);pe&&pe.pitchDelta&&O.setPitch(O.getPitch()+pe.pitchDelta)}},Vn.prototype.off=function(){var z=this.element;o.removeEventListener(z,\"mousedown\",this.mousedown),o.removeEventListener(z,\"touchstart\",this.touchstart,{passive:!1}),o.removeEventListener(z,\"touchmove\",this.touchmove),o.removeEventListener(z,\"touchend\",this.touchend),o.removeEventListener(z,\"touchcancel\",this.reset),this.offTemp()},Vn.prototype.offTemp=function(){o.enableDrag(),o.removeEventListener(i.window,\"mousemove\",this.mousemove),o.removeEventListener(i.window,\"mouseup\",this.mouseup)},Vn.prototype.mousedown=function(z){this.down(i.extend({},z,{ctrlKey:!0,preventDefault:function(){return z.preventDefault()}}),o.mousePos(this.element,z)),o.addEventListener(i.window,\"mousemove\",this.mousemove),o.addEventListener(i.window,\"mouseup\",this.mouseup)},Vn.prototype.mousemove=function(z){this.move(z,o.mousePos(this.element,z))},Vn.prototype.mouseup=function(z){this.mouseRotate.mouseupWindow(z),this.mousePitch&&this.mousePitch.mouseupWindow(z),this.offTemp()},Vn.prototype.touchstart=function(z){z.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=o.touchPos(this.element,z.targetTouches)[0],this.down({type:\"mousedown\",button:0,ctrlKey:!0,preventDefault:function(){return z.preventDefault()}},this._startPos))},Vn.prototype.touchmove=function(z){z.targetTouches.length!==1?this.reset():(this._lastPos=o.touchPos(this.element,z.targetTouches)[0],this.move({preventDefault:function(){return z.preventDefault()}},this._lastPos))},Vn.prototype.touchend=function(z){z.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),this.reset()},Vn.prototype.reset=function(){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()};function ma(Y,z,K){if(Y=new i.LngLat(Y.lng,Y.lat),z){var O=new i.LngLat(Y.lng-360,Y.lat),$=new i.LngLat(Y.lng+360,Y.lat),pe=K.locationPoint(Y).distSqr(z);K.locationPoint(O).distSqr(z)<pe?Y=O:K.locationPoint($).distSqr(z)<pe&&(Y=$)}for(;Math.abs(Y.lng-K.center.lng)>180;){var de=K.locationPoint(Y);if(de.x>=0&&de.y>=0&&de.x<=K.width&&de.y<=K.height)break;Y.lng>K.center.lng?Y.lng-=360:Y.lng+=360}return Y}var ro={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 Ao(Y,z,K){var O=Y.classList;for(var $ in ro)O.remove(\"mapboxgl-\"+K+\"-anchor-\"+$);O.add(\"mapboxgl-\"+K+\"-anchor-\"+z)}var Jn=function(Y){function z(K,O){if(Y.call(this),(K instanceof i.window.HTMLElement||O)&&(K=i.extend({element:K},O)),i.bindAll([\"_update\",\"_onMove\",\"_onUp\",\"_addDragHandler\",\"_onMapClick\",\"_onKeyPress\"],this),this._anchor=K&&K.anchor||\"center\",this._color=K&&K.color||\"#3FB1CE\",this._scale=K&&K.scale||1,this._draggable=K&&K.draggable||!1,this._clickTolerance=K&&K.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=K&&K.rotation||0,this._rotationAlignment=K&&K.rotationAlignment||\"auto\",this._pitchAlignment=K&&K.pitchAlignment&&K.pitchAlignment!==\"auto\"?K.pitchAlignment:this._rotationAlignment,!K||!K.element){this._defaultMarker=!0,this._element=o.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");var $=o.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),pe=41,de=27;$.setAttributeNS(null,\"display\",\"block\"),$.setAttributeNS(null,\"height\",pe+\"px\"),$.setAttributeNS(null,\"width\",de+\"px\"),$.setAttributeNS(null,\"viewBox\",\"0 0 \"+de+\" \"+pe);var Ie=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");Ie.setAttributeNS(null,\"stroke\",\"none\"),Ie.setAttributeNS(null,\"stroke-width\",\"1\"),Ie.setAttributeNS(null,\"fill\",\"none\"),Ie.setAttributeNS(null,\"fill-rule\",\"evenodd\");var $e=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");$e.setAttributeNS(null,\"fill-rule\",\"nonzero\");var pt=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");pt.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),pt.setAttributeNS(null,\"fill\",\"#000000\");for(var Kt=[{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\"}],ir=0,Jt=Kt;ir<Jt.length;ir+=1){var vt=Jt[ir],Pt=o.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");Pt.setAttributeNS(null,\"opacity\",\"0.04\"),Pt.setAttributeNS(null,\"cx\",\"10.5\"),Pt.setAttributeNS(null,\"cy\",\"5.80029008\"),Pt.setAttributeNS(null,\"rx\",vt.rx),Pt.setAttributeNS(null,\"ry\",vt.ry),pt.appendChild(Pt)}var Wt=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");Wt.setAttributeNS(null,\"fill\",this._color);var rr=o.createNS(\"http://www.w3.org/2000/svg\",\"path\");rr.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\"),Wt.appendChild(rr);var dr=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");dr.setAttributeNS(null,\"opacity\",\"0.25\"),dr.setAttributeNS(null,\"fill\",\"#000000\");var pr=o.createNS(\"http://www.w3.org/2000/svg\",\"path\");pr.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\"),dr.appendChild(pr);var kr=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");kr.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),kr.setAttributeNS(null,\"fill\",\"#FFFFFF\");var Ar=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");Ar.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");var gr=o.createNS(\"http://www.w3.org/2000/svg\",\"circle\");gr.setAttributeNS(null,\"fill\",\"#000000\"),gr.setAttributeNS(null,\"opacity\",\"0.25\"),gr.setAttributeNS(null,\"cx\",\"5.5\"),gr.setAttributeNS(null,\"cy\",\"5.5\"),gr.setAttributeNS(null,\"r\",\"5.4999962\");var Cr=o.createNS(\"http://www.w3.org/2000/svg\",\"circle\");Cr.setAttributeNS(null,\"fill\",\"#FFFFFF\"),Cr.setAttributeNS(null,\"cx\",\"5.5\"),Cr.setAttributeNS(null,\"cy\",\"5.5\"),Cr.setAttributeNS(null,\"r\",\"5.4999962\"),Ar.appendChild(gr),Ar.appendChild(Cr),$e.appendChild(pt),$e.appendChild(Wt),$e.appendChild(dr),$e.appendChild(kr),$e.appendChild(Ar),$.appendChild($e),$.setAttributeNS(null,\"height\",pe*this._scale+\"px\"),$.setAttributeNS(null,\"width\",de*this._scale+\"px\"),this._element.appendChild($),this._offset=i.Point.convert(K&&K.offset||[0,-14])}else this._element=K.element,this._offset=i.Point.convert(K&&K.offset||[0,0]);this._element.classList.add(\"mapboxgl-marker\"),this._element.addEventListener(\"dragstart\",function(cr){cr.preventDefault()}),this._element.addEventListener(\"mousedown\",function(cr){cr.preventDefault()}),Ao(this._element,this._anchor,\"marker\"),this._popup=null}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.addTo=function(O){return this.remove(),this._map=O,O.getCanvasContainer().appendChild(this._element),O.on(\"move\",this._update),O.on(\"moveend\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this},z.prototype.remove=function(){return this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler),this._map.off(\"mouseup\",this._onUp),this._map.off(\"touchend\",this._onUp),this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),delete this._map),o.remove(this._element),this._popup&&this._popup.remove(),this},z.prototype.getLngLat=function(){return this._lngLat},z.prototype.setLngLat=function(O){return this._lngLat=i.LngLat.convert(O),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},z.prototype.getElement=function(){return this._element},z.prototype.setPopup=function(O){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),O){if(!(\"offset\"in O.options)){var $=38.1,pe=13.5,de=Math.sqrt(Math.pow(pe,2)/2);O.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-$],\"bottom-left\":[de,($-pe+de)*-1],\"bottom-right\":[-de,($-pe+de)*-1],left:[pe,($-pe)*-1],right:[-pe,($-pe)*-1]}:this._offset}this._popup=O,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress)}return this},z.prototype._onKeyPress=function(O){var $=O.code,pe=O.charCode||O.keyCode;($===\"Space\"||$===\"Enter\"||pe===32||pe===13)&&this.togglePopup()},z.prototype._onMapClick=function(O){var $=O.originalEvent.target,pe=this._element;this._popup&&($===pe||pe.contains($))&&this.togglePopup()},z.prototype.getPopup=function(){return this._popup},z.prototype.togglePopup=function(){var O=this._popup;if(O)O.isOpen()?O.remove():O.addTo(this._map);else return this;return this},z.prototype._update=function(O){if(this._map){this._map.transform.renderWorldCopies&&(this._lngLat=ma(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);var $=\"\";this._rotationAlignment===\"viewport\"||this._rotationAlignment===\"auto\"?$=\"rotateZ(\"+this._rotation+\"deg)\":this._rotationAlignment===\"map\"&&($=\"rotateZ(\"+(this._rotation-this._map.getBearing())+\"deg)\");var pe=\"\";this._pitchAlignment===\"viewport\"||this._pitchAlignment===\"auto\"?pe=\"rotateX(0deg)\":this._pitchAlignment===\"map\"&&(pe=\"rotateX(\"+this._map.getPitch()+\"deg)\"),(!O||O.type===\"moveend\")&&(this._pos=this._pos.round()),o.setTransform(this._element,ro[this._anchor]+\" translate(\"+this._pos.x+\"px, \"+this._pos.y+\"px) \"+pe+\" \"+$)}},z.prototype.getOffset=function(){return this._offset},z.prototype.setOffset=function(O){return this._offset=i.Point.convert(O),this._update(),this},z.prototype._onMove=function(O){if(!this._isDragging){var $=this._clickTolerance||this._map._clickTolerance;this._isDragging=O.point.dist(this._pointerdownPos)>=$}this._isDragging&&(this._pos=O.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",this._state===\"pending\"&&(this._state=\"active\",this.fire(new i.Event(\"dragstart\"))),this.fire(new i.Event(\"drag\")))},z.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),this._state===\"active\"&&this.fire(new i.Event(\"dragend\")),this._state=\"inactive\"},z.prototype._addDragHandler=function(O){this._element.contains(O.originalEvent.target)&&(O.preventDefault(),this._positionDelta=O.point.sub(this._pos).add(this._offset),this._pointerdownPos=O.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))},z.prototype.setDraggable=function(O){return this._draggable=!!O,this._map&&(O?(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},z.prototype.isDraggable=function(){return this._draggable},z.prototype.setRotation=function(O){return this._rotation=O||0,this._update(),this},z.prototype.getRotation=function(){return this._rotation},z.prototype.setRotationAlignment=function(O){return this._rotationAlignment=O||\"auto\",this._update(),this},z.prototype.getRotationAlignment=function(){return this._rotationAlignment},z.prototype.setPitchAlignment=function(O){return this._pitchAlignment=O&&O!==\"auto\"?O:this._rotationAlignment,this._update(),this},z.prototype.getPitchAlignment=function(){return this._pitchAlignment},z}(i.Evented),Oa={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},_o;function Po(Y){_o!==void 0?Y(_o):i.window.navigator.permissions!==void 0?i.window.navigator.permissions.query({name:\"geolocation\"}).then(function(z){_o=z.state!==\"denied\",Y(_o)}):(_o=!!i.window.navigator.geolocation,Y(_o))}var Jo=0,Yl=!1,$c=function(Y){function z(K){Y.call(this),this.options=i.extend({},Oa,K),i.bindAll([\"_onSuccess\",\"_onError\",\"_onZoom\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\"],this)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.onAdd=function(O){return this._map=O,this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),Po(this._setupUI),this._container},z.prototype.onRemove=function(){this._geolocationWatchID!==void 0&&(i.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,Jo=0,Yl=!1},z.prototype._isOutOfMapMaxBounds=function(O){var $=this._map.getMaxBounds(),pe=O.coords;return $&&(pe.longitude<$.getWest()||pe.longitude>$.getEast()||pe.latitude<$.getSouth()||pe.latitude>$.getNorth())},z.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\");break}},z.prototype._onSuccess=function(O){if(this._map){if(this._isOutOfMapMaxBounds(O)){this._setErrorState(),this.fire(new i.Event(\"outofmaxbounds\",O)),this._updateMarker(),this._finish();return}if(this.options.trackUserLocation)switch(this._lastKnownPosition=O,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\");break}this.options.showUserLocation&&this._watchState!==\"OFF\"&&this._updateMarker(O),(!this.options.trackUserLocation||this._watchState===\"ACTIVE_LOCK\")&&this._updateCamera(O),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(new i.Event(\"geolocate\",O)),this._finish()}},z.prototype._updateCamera=function(O){var $=new i.LngLat(O.coords.longitude,O.coords.latitude),pe=O.coords.accuracy,de=this._map.getBearing(),Ie=i.extend({bearing:de},this.options.fitBoundsOptions);this._map.fitBounds($.toBounds(pe),Ie,{geolocateSource:!0})},z.prototype._updateMarker=function(O){if(O){var $=new i.LngLat(O.coords.longitude,O.coords.latitude);this._accuracyCircleMarker.setLngLat($).addTo(this._map),this._userLocationDotMarker.setLngLat($).addTo(this._map),this._accuracy=O.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},z.prototype._updateCircleRadius=function(){var O=this._map._container.clientHeight/2,$=this._map.unproject([0,O]),pe=this._map.unproject([1,O]),de=$.distanceTo(pe),Ie=Math.ceil(2*this._accuracy/de);this._circleElement.style.width=Ie+\"px\",this._circleElement.style.height=Ie+\"px\"},z.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},z.prototype._onError=function(O){if(this._map){if(this.options.trackUserLocation)if(O.code===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._geolocateButton.disabled=!0;var $=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=$,this._geolocateButton.setAttribute(\"aria-label\",$),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(O.code===3&&Yl)return;this._setErrorState()}this._watchState!==\"OFF\"&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(new i.Event(\"error\",O)),this._finish()}},z.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},z.prototype._setupUI=function(O){var $=this;if(this._container.addEventListener(\"contextmenu\",function(Ie){return Ie.preventDefault()}),this._geolocateButton=o.create(\"button\",\"mapboxgl-ctrl-geolocate\",this._container),o.create(\"span\",\"mapboxgl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",!0),this._geolocateButton.type=\"button\",O===!1){i.warnOnce(\"Geolocation support is not available so the GeolocateControl will be disabled.\");var pe=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=pe,this._geolocateButton.setAttribute(\"aria-label\",pe)}else{var de=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=de,this._geolocateButton.setAttribute(\"aria-label\",de)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=o.create(\"div\",\"mapboxgl-user-location-dot\"),this._userLocationDotMarker=new Jn(this._dotElement),this._circleElement=o.create(\"div\",\"mapboxgl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Jn({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(Ie){var $e=Ie.originalEvent&&Ie.originalEvent.type===\"resize\";!Ie.geolocateSource&&$._watchState===\"ACTIVE_LOCK\"&&!$e&&($._watchState=\"BACKGROUND\",$._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),$._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),$.fire(new i.Event(\"trackuserlocationend\")))})},z.prototype.trigger=function(){if(!this._setup)return i.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 i.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":Jo--,Yl=!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 i.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 i.Event(\"trackuserlocationstart\"));break}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\");break}if(this._watchState===\"OFF\"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),Jo++;var O;Jo>1?(O={maximumAge:6e5,timeout:0},Yl=!0):(O=this.options.positionOptions,Yl=!1),this._geolocationWatchID=i.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,O)}}else i.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},z.prototype._clearWatch=function(){i.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)},z}(i.Evented),xs={maxWidth:100,unit:\"metric\"},Qc=function(z){this.options=i.extend({},xs,z),i.bindAll([\"_onMove\",\"setUnit\"],this)};Qc.prototype.getDefaultPosition=function(){return\"bottom-left\"},Qc.prototype._onMove=function(){El(this._map,this._container,this.options)},Qc.prototype.onAdd=function(z){return this._map=z,this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",z.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},Qc.prototype.onRemove=function(){o.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},Qc.prototype.setUnit=function(z){this.options.unit=z,El(this._map,this._container,this.options)};function El(Y,z,K){var O=K&&K.maxWidth||100,$=Y._container.clientHeight/2,pe=Y.unproject([0,$]),de=Y.unproject([O,$]),Ie=pe.distanceTo(de);if(K&&K.unit===\"imperial\"){var $e=3.2808*Ie;if($e>5280){var pt=$e/5280;bc(z,O,pt,Y._getUIString(\"ScaleControl.Miles\"))}else bc(z,O,$e,Y._getUIString(\"ScaleControl.Feet\"))}else if(K&&K.unit===\"nautical\"){var Kt=Ie/1852;bc(z,O,Kt,Y._getUIString(\"ScaleControl.NauticalMiles\"))}else Ie>=1e3?bc(z,O,Ie/1e3,Y._getUIString(\"ScaleControl.Kilometers\")):bc(z,O,Ie,Y._getUIString(\"ScaleControl.Meters\"))}function bc(Y,z,K,O){var $=yf(K),pe=$/K;Y.style.width=z*pe+\"px\",Y.innerHTML=$+\" \"+O}function wc(Y){var z=Math.pow(10,Math.ceil(-Math.log(Y)/Math.LN10));return Math.round(Y*z)/z}function yf(Y){var z=Math.pow(10,(\"\"+Math.floor(Y)).length-1),K=Y/z;return K=K>=10?10:K>=5?5:K>=3?3:K>=2?2:K>=1?1:wc(K),z*K}var Gl=function(z){this._fullscreen=!1,z&&z.container&&(z.container instanceof i.window.HTMLElement?this._container=z.container:i.warnOnce(\"Full screen control 'container' must be a DOM element.\")),i.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in i.window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in i.window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in i.window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in i.window.document&&(this._fullscreenchange=\"MSFullscreenChange\")};Gl.prototype.onAdd=function(z){return this._map=z,this._container||(this._container=this._map.getContainer()),this._controlContainer=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display=\"none\",i.warnOnce(\"This device does not support fullscreen mode.\")),this._controlContainer},Gl.prototype.onRemove=function(){o.remove(this._controlContainer),this._map=null,i.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Gl.prototype._checkFullscreenSupport=function(){return!!(i.window.document.fullscreenEnabled||i.window.document.mozFullScreenEnabled||i.window.document.msFullscreenEnabled||i.window.document.webkitFullscreenEnabled)},Gl.prototype._setupUI=function(){var z=this._fullscreenButton=o.create(\"button\",\"mapboxgl-ctrl-fullscreen\",this._controlContainer);o.create(\"span\",\"mapboxgl-ctrl-icon\",z).setAttribute(\"aria-hidden\",!0),z.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),i.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},Gl.prototype._updateTitle=function(){var z=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",z),this._fullscreenButton.title=z},Gl.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")},Gl.prototype._isFullscreen=function(){return this._fullscreen},Gl.prototype._changeIcon=function(){var z=i.window.document.fullscreenElement||i.window.document.mozFullScreenElement||i.window.document.webkitFullscreenElement||i.window.document.msFullscreenElement;z===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-fullscreen\"),this._updateTitle())},Gl.prototype._onClickFullscreen=function(){this._isFullscreen()?i.window.document.exitFullscreen?i.window.document.exitFullscreen():i.window.document.mozCancelFullScreen?i.window.document.mozCancelFullScreen():i.window.document.msExitFullscreen?i.window.document.msExitFullscreen():i.window.document.webkitCancelFullScreen&&i.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 Fc={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\"},ef=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \"),ls=function(Y){function z(K){Y.call(this),this.options=i.extend(Object.create(Fc),K),i.bindAll([\"_update\",\"_onClose\",\"remove\",\"_onMouseMove\",\"_onMouseUp\",\"_onDrag\"],this)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.addTo=function(O){return this._map&&this.remove(),this._map=O,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 i.Event(\"open\")),this},z.prototype.isOpen=function(){return!!this._map},z.prototype.remove=function(){return 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),delete this._map),this.fire(new i.Event(\"close\")),this},z.prototype.getLngLat=function(){return this._lngLat},z.prototype.setLngLat=function(O){return this._lngLat=i.LngLat.convert(O),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},z.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},z.prototype.getElement=function(){return this._container},z.prototype.setText=function(O){return this.setDOMContent(i.window.document.createTextNode(O))},z.prototype.setHTML=function(O){var $=i.window.document.createDocumentFragment(),pe=i.window.document.createElement(\"body\"),de;for(pe.innerHTML=O;de=pe.firstChild,!!de;)$.appendChild(de);return this.setDOMContent($)},z.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},z.prototype.setMaxWidth=function(O){return this.options.maxWidth=O,this._update(),this},z.prototype.setDOMContent=function(O){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=o.create(\"div\",\"mapboxgl-popup-content\",this._container);return this._content.appendChild(O),this._createCloseButton(),this._update(),this._focusFirstElement(),this},z.prototype.addClassName=function(O){this._container&&this._container.classList.add(O)},z.prototype.removeClassName=function(O){this._container&&this._container.classList.remove(O)},z.prototype.setOffset=function(O){return this.options.offset=O,this._update(),this},z.prototype.toggleClassName=function(O){if(this._container)return this._container.classList.toggle(O)},z.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=o.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))},z.prototype._onMouseUp=function(O){this._update(O.point)},z.prototype._onMouseMove=function(O){this._update(O.point)},z.prototype._onDrag=function(O){this._update(O.point)},z.prototype._update=function(O){var $=this,pe=this._lngLat||this._trackPointer;if(!(!this._map||!pe||!this._content)&&(this._container||(this._container=o.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=o.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(\" \").forEach(function(vt){return $._container.classList.add(vt)}),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=ma(this._lngLat,this._pos,this._map.transform)),!(this._trackPointer&&!O))){var de=this._pos=this._trackPointer&&O?O:this._map.project(this._lngLat),Ie=this.options.anchor,$e=_f(this.options.offset);if(!Ie){var pt=this._container.offsetWidth,Kt=this._container.offsetHeight,ir;de.y+$e.bottom.y<Kt?ir=[\"top\"]:de.y>this._map.transform.height-Kt?ir=[\"bottom\"]:ir=[],de.x<pt/2?ir.push(\"left\"):de.x>this._map.transform.width-pt/2&&ir.push(\"right\"),ir.length===0?Ie=\"bottom\":Ie=ir.join(\"-\")}var Jt=de.add($e[Ie]).round();o.setTransform(this._container,ro[Ie]+\" translate(\"+Jt.x+\"px,\"+Jt.y+\"px)\"),Ao(this._container,Ie,\"popup\")}},z.prototype._focusFirstElement=function(){if(!(!this.options.focusAfterOpen||!this._container)){var O=this._container.querySelector(ef);O&&O.focus()}},z.prototype._onClose=function(){this.remove()},z}(i.Evented);function _f(Y){if(Y)if(typeof Y==\"number\"){var z=Math.round(Math.sqrt(.5*Math.pow(Y,2)));return{center:new i.Point(0,0),top:new i.Point(0,Y),\"top-left\":new i.Point(z,z),\"top-right\":new i.Point(-z,z),bottom:new i.Point(0,-Y),\"bottom-left\":new i.Point(z,-z),\"bottom-right\":new i.Point(-z,-z),left:new i.Point(Y,0),right:new i.Point(-Y,0)}}else if(Y instanceof i.Point||Array.isArray(Y)){var K=i.Point.convert(Y);return{center:K,top:K,\"top-left\":K,\"top-right\":K,bottom:K,\"bottom-left\":K,\"bottom-right\":K,left:K,right:K}}else return{center:i.Point.convert(Y.center||[0,0]),top:i.Point.convert(Y.top||[0,0]),\"top-left\":i.Point.convert(Y[\"top-left\"]||[0,0]),\"top-right\":i.Point.convert(Y[\"top-right\"]||[0,0]),bottom:i.Point.convert(Y.bottom||[0,0]),\"bottom-left\":i.Point.convert(Y[\"bottom-left\"]||[0,0]),\"bottom-right\":i.Point.convert(Y[\"bottom-right\"]||[0,0]),left:i.Point.convert(Y.left||[0,0]),right:i.Point.convert(Y.right||[0,0])};else return _f(new i.Point(0,0))}var ns={version:i.version,supported:a,setRTLTextPlugin:i.setRTLTextPlugin,getRTLTextPluginStatus:i.getRTLTextPluginStatus,Map:vn,NavigationControl:Xn,GeolocateControl:$c,AttributionControl:Rn,ScaleControl:Qc,FullscreenControl:Gl,Popup:ls,Marker:Jn,Style:mu,LngLat:i.LngLat,LngLatBounds:i.LngLatBounds,Point:i.Point,MercatorCoordinate:i.MercatorCoordinate,Evented:i.Evented,config:i.config,prewarm:jn,clearPrewarmedResources:la,get accessToken(){return i.config.ACCESS_TOKEN},set accessToken(Y){i.config.ACCESS_TOKEN=Y},get baseApiUrl(){return i.config.API_URL},set baseApiUrl(Y){i.config.API_URL=Y},get workerCount(){return Pi.workerCount},set workerCount(Y){Pi.workerCount=Y},get maxParallelImageRequests(){return i.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(Y){i.config.MAX_PARALLEL_IMAGE_REQUESTS=Y},clearStorage:function(z){i.clearTileCache(z)},workerUrl:\"\"};return ns}),r})});var JUe=ye((Byr,KUe)=>{\"use strict\";var tw=Mr(),CHt=Pl().sanitizeHTML,LHt=HK(),ZUe=c1();function XUe(e,t){this.subplot=e,this.uid=e.uid+\"-\"+t,this.index=t,this.idSource=\"source-\"+this.uid,this.idLayer=ZUe.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var ig=XUe.prototype;ig.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=WF(t)};ig.needsNewImage=function(e){var t=this.subplot.map;return t.getSource(this.idSource)&&this.sourceType===\"image\"&&e.sourcetype===\"image\"&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))};ig.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type};ig.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]};ig.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]};ig.updateImage=function(e){var t=this.subplot.map;t.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var r=this.findFollowingMapboxLayerId(this.lookupBelow());r!==null&&this.subplot.map.moveLayer(this.idLayer,r)};ig.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,!!WF(e)){var r=PHt(e);t.addSource(this.idSource,r)}};ig.findFollowingMapboxLayerId=function(e){if(e===\"traces\")for(var t=this.subplot.getMapLayers(),r=0;r<t.length;r++){var n=t[r].id;if(typeof n==\"string\"&&n.indexOf(ZUe.traceLayerPrefix)===0){e=n;break}}return e};ig.updateLayer=function(e){var t=this.subplot,r=YUe(e),n=this.lookupBelow(),i=this.findFollowingMapboxLayerId(n);this.removeLayer(),WF(e)&&t.addLayer({id:this.idLayer,source:this.idSource,\"source-layer\":e.sourcelayer||\"\",type:e.type,minzoom:e.minzoom,maxzoom:e.maxzoom,layout:r.layout,paint:r.paint},i),this.layerType=e.type,this.below=n};ig.updateStyle=function(e){if(WF(e)){var t=YUe(e);this.subplot.setOptions(this.idLayer,\"setLayoutProperty\",t.layout),this.subplot.setOptions(this.idLayer,\"setPaintProperty\",t.paint)}};ig.removeLayer=function(){var e=this.subplot.map;e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer)};ig.dispose=function(){var e=this.subplot.map;e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer),e.getSource(this.idSource)&&e.removeSource(this.idSource)};function WF(e){if(!e.visible)return!1;var t=e.source;if(Array.isArray(t)&&t.length>0){for(var r=0;r<t.length;r++)if(typeof t[r]!=\"string\"||t[r].length===0)return!1;return!0}return tw.isPlainObject(t)||typeof t==\"string\"&&t.length>0}function YUe(e){var t={},r={};switch(e.type){case\"circle\":tw.extendFlat(r,{\"circle-radius\":e.circle.radius,\"circle-color\":e.color,\"circle-opacity\":e.opacity});break;case\"line\":tw.extendFlat(r,{\"line-width\":e.line.width,\"line-color\":e.color,\"line-opacity\":e.opacity,\"line-dasharray\":e.line.dash});break;case\"fill\":tw.extendFlat(r,{\"fill-color\":e.color,\"fill-outline-color\":e.fill.outlinecolor,\"fill-opacity\":e.opacity});break;case\"symbol\":var n=e.symbol,i=LHt(n.textposition,n.iconsize);tw.extendFlat(t,{\"icon-image\":n.icon+\"-15\",\"icon-size\":n.iconsize/10,\"text-field\":n.text,\"text-size\":n.textfont.size,\"text-anchor\":i.anchor,\"text-offset\":i.offset,\"symbol-placement\":n.placement}),tw.extendFlat(r,{\"icon-color\":e.color,\"text-color\":n.textfont.color,\"text-opacity\":e.opacity});break;case\"raster\":tw.extendFlat(r,{\"raster-fade-duration\":0,\"raster-opacity\":e.opacity});break}return{layout:t,paint:r}}function PHt(e){var t=e.sourcetype,r=e.source,n={type:t},i;return t===\"geojson\"?i=\"data\":t===\"vector\"?i=typeof r==\"string\"?\"url\":\"tiles\":t===\"raster\"?(i=\"tiles\",n.tileSize=256):t===\"image\"&&(i=\"url\",n.coordinates=e.coordinates),n[i]=r,e.sourceattribution&&(n.attribution=CHt(e.sourceattribution)),n}KUe.exports=function(t,r,n){var i=new XUe(t,r);return i.update(n),i}});var oVe=ye((Nyr,aVe)=>{\"use strict\";var KK=YK(),JK=Mr(),tVe=nx(),$Ue=ba(),IHt=Qa(),RHt=gv(),ZF=Nc(),rVe=Sg(),DHt=rVe.drawMode,zHt=rVe.selectMode,FHt=wf().prepSelect,qHt=wf().clearOutline,OHt=wf().clearSelectionsCache,BHt=wf().selectOnClick,_x=c1(),NHt=JUe();function iVe(e,t){this.id=t,this.gd=e;var r=e._fullLayout,n=e._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+\"-\"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var Ah=iVe.prototype;Ah.plot=function(e,t,r){var n=this,i=t[n.id];n.map&&i.accesstoken!==n.accessToken&&(n.map.remove(),n.map=null,n.styleObj=null,n.traceHash={},n.layerList=[]);var a;n.map?a=new Promise(function(o,s){n.updateMap(e,t,o,s)}):a=new Promise(function(o,s){n.createMap(e,t,o,s)}),r.push(a)};Ah.createMap=function(e,t,r,n){var i=this,a=t[i.id],o=i.styleObj=nVe(a.style,t);i.accessToken=a.accesstoken;var s=a.bounds,l=s?[[s.west,s.south],[s.east,s.north]]:null,u=i.map=new KK.Map({container:i.div,style:o.style,center:$K(a.center),zoom:a.zoom,bearing:a.bearing,pitch:a.pitch,maxBounds:l,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new KK.AttributionControl({compact:!0}));u._canvas.style.left=\"0px\",u._canvas.style.top=\"0px\",i.rejectOnError(n),i.isStatic||i.initFx(e,t);var c=[];c.push(new Promise(function(f){u.once(\"load\",f)})),c=c.concat(tVe.fetchTraceGeoData(e)),Promise.all(c).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Ah.updateMap=function(e,t,r,n){var i=this,a=i.map,o=t[this.id];i.rejectOnError(n);var s=[],l=nVe(o.style,t);JSON.stringify(i.styleObj)!==JSON.stringify(l)&&(i.styleObj=l,a.setStyle(l.style),i.traceHash={},s.push(new Promise(function(u){a.once(\"styledata\",u)}))),s=s.concat(tVe.fetchTraceGeoData(e)),Promise.all(s).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Ah.fillBelowLookup=function(e,t){var r=t[this.id],n=r.layers,i,a,o=this.belowLookup={},s=!1;for(i=0;i<e.length;i++){var l=e[i][0].trace,u=l._module;typeof l.below==\"string\"?a=l.below:u.getBelow&&(a=u.getBelow(l,this)),a===\"\"&&(s=!0),o[\"trace-\"+l.uid]=a||\"\"}for(i=0;i<n.length;i++){var c=n[i];typeof c.below==\"string\"?a=c.below:s?a=\"traces\":a=\"\",o[\"layout-\"+i]=a}var f={},h,d;for(h in o)a=o[h],f[a]?f[a].push(h):f[a]=[h];for(a in f){var v=f[a];if(v.length>1)for(i=0;i<v.length;i++)h=v[i],h.indexOf(\"trace-\")===0?(d=h.split(\"trace-\")[1],this.traceHash[d]&&(this.traceHash[d].below=null)):h.indexOf(\"layout-\")===0&&(d=h.split(\"layout-\")[1],this.layerList[d]&&(this.layerList[d].below=null))}};var QUe={choroplethmapbox:0,densitymapbox:1,scattermapbox:2};Ah.updateData=function(e){var t=this.traceHash,r,n,i,a,o=e.slice().sort(function(f,h){return QUe[f[0].trace.type]-QUe[h[0].trace.type]});for(i=0;i<o.length;i++){var s=o[i];n=s[0].trace,r=t[n.uid];var l=!1;r&&(r.type===n.type?(r.update(s),l=!0):r.dispose()),!l&&n._module&&(t[n.uid]=n._module.plot(this,s))}var u=Object.keys(t);e:for(i=0;i<u.length;i++){var c=u[i];for(a=0;a<e.length;a++)if(n=e[a][0].trace,c===n.uid)continue e;r=t[c],r.dispose(),delete t[c]}};Ah.updateLayout=function(e){var t=this.map,r=e[this.id];!this.dragging&&!this.wheeling&&(t.setCenter($K(r.center)),t.setZoom(r.zoom),t.setBearing(r.bearing),t.setPitch(r.pitch)),this.updateLayers(e),this.updateFramework(e),this.updateFx(e),this.map.resize(),this.gd._context._scrollZoom.mapbox?t.scrollZoom.enable():t.scrollZoom.disable()};Ah.resolveOnRender=function(e){var t=this.map;t.on(\"render\",function r(){t.loaded()&&(t.off(\"render\",r),setTimeout(e,10))})};Ah.rejectOnError=function(e){var t=this.map;function r(){e(new Error(_x.mapOnErrorMsg))}t.once(\"error\",r),t.once(\"style.error\",r),t.once(\"source.error\",r),t.once(\"tile.error\",r),t.once(\"layer.error\",r)};Ah.createFramework=function(e){var t=this,r=t.div=document.createElement(\"div\");r.id=t.uid,r.style.position=\"absolute\",t.container.appendChild(r),t.xaxis={_id:\"x\",c2p:function(n){return t.project(n).x}},t.yaxis={_id:\"y\",c2p:function(n){return t.project(n).y}},t.updateFramework(e),t.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},IHt.setConvert(t.mockAxis,e)};Ah.initFx=function(e,t){var r=this,n=r.gd,i=r.map;i.on(\"moveend\",function(s){if(r.map){var l=n._fullLayout;if(s.originalEvent||r.wheeling){var u=l[r.id];$Ue.call(\"_storeDirectGUIEdit\",n.layout,l._preGUI,r.getViewEdits(u));var c=r.getView();u._input.center=u.center=c.center,u._input.zoom=u.zoom=c.zoom,u._input.bearing=u.bearing=c.bearing,u._input.pitch=u.pitch=c.pitch,n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(c))}s.originalEvent&&s.originalEvent.type===\"mouseup\"?r.dragging=!1:r.wheeling&&(r.wheeling=!1),l._rehover&&l._rehover()}}),i.on(\"wheel\",function(){r.wheeling=!0}),i.on(\"mousemove\",function(s){var l=r.div.getBoundingClientRect(),u=[s.originalEvent.offsetX,s.originalEvent.offsetY];s.target.getBoundingClientRect=function(){return l},r.xaxis.p2c=function(){return i.unproject(u).lng},r.yaxis.p2c=function(){return i.unproject(u).lat},n._fullLayout._rehover=function(){n._fullLayout._hoversubplot===r.id&&n._fullLayout[r.id]&&ZF.hover(n,s,r.id)},ZF.hover(n,s,r.id),n._fullLayout._hoversubplot=r.id});function a(){ZF.loneUnhover(t._hoverlayer)}i.on(\"dragstart\",function(){r.dragging=!0,a()}),i.on(\"zoomstart\",a),i.on(\"mouseout\",function(){n._fullLayout._hoversubplot=null});function o(){var s=r.getView();n.emit(\"plotly_relayouting\",r.getViewEditsWithDerived(s))}i.on(\"drag\",o),i.on(\"zoom\",o),i.on(\"dblclick\",function(){var s=n._fullLayout[r.id];$Ue.call(\"_storeDirectGUIEdit\",n.layout,n._fullLayout._preGUI,r.getViewEdits(s));var l=r.viewInitial;i.setCenter($K(l.center)),i.setZoom(l.zoom),i.setBearing(l.bearing),i.setPitch(l.pitch);var u=r.getView();s._input.center=s.center=u.center,s._input.zoom=s.zoom=u.zoom,s._input.bearing=s.bearing=u.bearing,s._input.pitch=s.pitch=u.pitch,n.emit(\"plotly_doubleclick\",null),n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(u))}),r.clearOutline=function(){OHt(r.dragOptions),qHt(r.dragOptions.gd)},r.onClickInPanFn=function(s){return function(l){var u=n._fullLayout.clickmode;u.indexOf(\"select\")>-1&&BHt(l.originalEvent,n,[r.xaxis],[r.yaxis],r.id,s),u.indexOf(\"event\")>-1&&ZF.click(n,l.originalEvent)}}};Ah.updateFx=function(e){var t=this,r=t.map,n=t.gd;if(t.isStatic)return;function i(l){var u=t.map.unproject(l);return[u.lng,u.lat]}var a=e.dragmode,o;o=function(l,u){if(u.isRect){var c=l.range={};c[t.id]=[i([u.xmin,u.ymin]),i([u.xmax,u.ymax])]}else{var f=l.lassoPoints={};f[t.id]=u.map(i)}};var s=t.dragOptions;t.dragOptions=JK.extendDeep(s||{},{dragmode:e.dragmode,element:t.div,gd:n,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:o},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off(\"click\",t.onClickInPanHandler),zHt(a)||DHt(a)?(r.dragPan.disable(),r.on(\"zoomstart\",t.clearOutline),t.dragOptions.prepFn=function(l,u,c){FHt(l,u,c,t.dragOptions,a)},RHt.init(t.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener(\"touchstart\",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on(\"click\",t.onClickInPanHandler))};Ah.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+\"px\",n.height=r.h*(t.y[1]-t.y[0])+\"px\",n.left=r.l+t.x[0]*r.w+\"px\",n.top=r.t+(1-t.y[1])*r.h+\"px\",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])};Ah.updateLayers=function(e){var t=e[this.id],r=t.layers,n=this.layerList,i;if(r.length!==n.length){for(i=0;i<n.length;i++)n[i].dispose();for(n=this.layerList=[],i=0;i<r.length;i++)n.push(NHt(this,i,r[i]))}else for(i=0;i<r.length;i++)n[i].update(r[i])};Ah.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))};Ah.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()};Ah.setOptions=function(e,t,r){for(var n in r)this.map[t](e,n,r[n])};Ah.getMapLayers=function(){return this.map.getStyle().layers};Ah.addLayer=function(e,t){var r=this.map;if(typeof t==\"string\"){if(t===\"\"){r.addLayer(e,t);return}for(var n=this.getMapLayers(),i=0;i<n.length;i++)if(t===n[i].id){r.addLayer(e,t);return}JK.warn([\"Trying to add layer with *below* value\",t,\"referencing a layer that does not exist\",\"or that does not yet exist.\"].join(\" \"))}r.addLayer(e)};Ah.project=function(e){return this.map.project(new KK.LngLat(e[0],e[1]))};Ah.getView=function(){var e=this.map,t=e.getCenter(),r=t.lng,n=t.lat,i={lon:r,lat:n},a=e.getCanvas(),o=parseInt(a.style.width),s=parseInt(a.style.height);return{center:i,zoom:e.getZoom(),bearing:e.getBearing(),pitch:e.getPitch(),_derived:{coordinates:[e.unproject([0,0]).toArray(),e.unproject([o,0]).toArray(),e.unproject([o,s]).toArray(),e.unproject([0,s]).toArray()]}}};Ah.getViewEdits=function(e){for(var t=this.id,r=[\"center\",\"zoom\",\"bearing\",\"pitch\"],n={},i=0;i<r.length;i++){var a=r[i];n[t+\".\"+a]=e[a]}return n};Ah.getViewEditsWithDerived=function(e){var t=this.id,r=this.getViewEdits(e);return r[t+\"._derived\"]=e._derived,r};function nVe(e,t){var r={};if(JK.isPlainObject(e))r.id=e.id,r.style=e;else if(typeof e==\"string\")if(r.id=e,_x.styleValuesMapbox.indexOf(e)!==-1)r.style=eVe(e);else if(_x.stylesNonMapbox[e]){r.style=_x.stylesNonMapbox[e];var n=r.style.sources[\"plotly-\"+e],i=n?n.tiles:void 0;i&&i[0]&&i[0].slice(-9)===\"?api_key=\"&&(i[0]+=t._mapboxAccessToken)}else r.style=e;else r.id=_x.styleValueDflt,r.style=eVe(_x.styleValueDflt);return r.transition={duration:0,delay:0},r}function eVe(e){return _x.styleUrlPrefix+e+\"-\"+_x.styleUrlSuffix}function $K(e){return[e.lon,e.lat]}aVe.exports=iVe});var uVe=ye((Uyr,lVe)=>{\"use strict\";var QK=Mr(),UHt=C_(),VHt=Zd(),sVe=Rk();lVe.exports=function(t,r,n){UHt(t,r,n,{type:\"mapbox\",attributes:sVe,handleDefaults:HHt,partition:\"y\",accessToken:r._mapboxAccessToken})};function HHt(e,t,r,n){r(\"accesstoken\",n.accessToken),r(\"style\"),r(\"center.lon\"),r(\"center.lat\"),r(\"zoom\"),r(\"bearing\"),r(\"pitch\");var i=r(\"bounds.west\"),a=r(\"bounds.east\"),o=r(\"bounds.south\"),s=r(\"bounds.north\");(i===void 0||a===void 0||o===void 0||s===void 0)&&delete t.bounds,VHt(e,t,{name:\"layers\",handleItemDefaults:GHt}),t._input=e}function GHt(e,t){function r(l,u){return QK.coerce(e,t,sVe.layers,l,u)}var n=r(\"visible\");if(n){var i=r(\"sourcetype\"),a=i===\"raster\"||i===\"image\";r(\"source\"),r(\"sourceattribution\"),i===\"vector\"&&r(\"sourcelayer\"),i===\"image\"&&r(\"coordinates\");var o;a&&(o=\"raster\");var s=r(\"type\",o);a&&s!==\"raster\"&&(s=t.type=\"raster\",QK.log(\"Source types *raster* and *image* must drawn *raster* layer type.\")),r(\"below\"),r(\"color\"),r(\"opacity\"),r(\"minzoom\"),r(\"maxzoom\"),s===\"circle\"&&r(\"circle.radius\"),s===\"line\"&&(r(\"line.width\"),r(\"line.dash\")),s===\"fill\"&&r(\"fill.outlinecolor\"),s===\"symbol\"&&(r(\"symbol.icon\"),r(\"symbol.iconsize\"),r(\"symbol.text\"),QK.coerceFont(r,\"symbol.textfont\",void 0,{noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}),r(\"symbol.textposition\"),r(\"symbol.placement\"))}}});var XF=ye(Np=>{\"use strict\";var cVe=YK(),tm=Mr(),eJ=tm.strTranslate,jHt=tm.strScale,WHt=kd().getSubplotCalcData,ZHt=Zp(),XHt=xa(),fVe=ao(),YHt=Pl(),KHt=oVe(),xx=\"mapbox\",Qm=Np.constants=c1();Np.name=xx;Np.attr=\"subplot\";Np.idRoot=xx;Np.idRegex=Np.attrRegex=tm.counterRegex(xx);var JHt=[\"mapbox subplots and traces are deprecated!\",\"Please consider switching to `map` subplots and traces.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");Np.attributes={subplot:{valType:\"subplotid\",dflt:\"mapbox\",editType:\"calc\"}};Np.layoutAttributes=Rk();Np.supplyLayoutDefaults=uVe();var hVe=!0;Np.plot=function(t){hVe&&(hVe=!1,tm.warn(JHt));var r=t._fullLayout,n=t.calcdata,i=r._subplots[xx];if(cVe.version!==Qm.requiredVersion)throw new Error(Qm.wrongVersionErrorMsg);var a=$Ht(t,i);cVe.accessToken=a;for(var o=0;o<i.length;o++){var s=i[o],l=WHt(n,xx,s),u=r[s],c=u._subplot;c||(c=new KHt(t,s),r[s]._subplot=c),c.viewInitial||(c.viewInitial={center:tm.extendFlat({},u.center),zoom:u.zoom,bearing:u.bearing,pitch:u.pitch}),c.plot(l,r,t._promises)}};Np.clean=function(e,t,r,n){for(var i=n._subplots[xx]||[],a=0;a<i.length;a++){var o=i[a];!t[o]&&n[o]._subplot&&n[o]._subplot.destroy()}};Np.toSVG=function(e){for(var t=e._fullLayout,r=t._subplots[xx],n=t._size,i=0;i<r.length;i++){var a=t[r[i]],o=a.domain,s=a._subplot,l=s.toImage(\"png\"),u=t._glimages.append(\"svg:image\");u.attr({xmlns:ZHt.svg,\"xlink:href\":l,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"});var c=XHt.select(a._subplot.div),f=c.select(\".mapboxgl-ctrl-logo\").node().offsetParent===null;if(!f){var h=t._glimages.append(\"g\");h.attr(\"transform\",eJ(n.l+n.w*o.x[0]+10,n.t+n.h*(1-o.y[0])-31)),h.append(\"path\").attr(\"d\",Qm.mapboxLogo.path0).style({opacity:.9,fill:\"#ffffff\",\"enable-background\":\"new\"}),h.append(\"path\").attr(\"d\",Qm.mapboxLogo.path1).style(\"opacity\",.35).style(\"enable-background\",\"new\"),h.append(\"path\").attr(\"d\",Qm.mapboxLogo.path2).style(\"opacity\",.35).style(\"enable-background\",\"new\"),h.append(\"polygon\").attr(\"points\",Qm.mapboxLogo.polygon).style({opacity:.9,fill:\"#ffffff\",\"enable-background\":\"new\"})}var d=c.select(\".mapboxgl-ctrl-attrib\").text().replace(\"Improve this map\",\"\"),v=t._glimages.append(\"g\"),x=v.append(\"text\");x.text(d).classed(\"static-attribution\",!0).attr({\"font-size\":12,\"font-family\":\"Arial\",color:\"rgba(0, 0, 0, 0.75)\",\"text-anchor\":\"end\",\"data-unformatted\":d});var b=fVe.bBox(x.node()),p=n.w*(o.x[1]-o.x[0]);if(b.width>p/2){var E=d.split(\"|\").join(\"<br>\");x.text(E).attr(\"data-unformatted\",E).call(YHt.convertToTspans,e),b=fVe.bBox(x.node())}x.attr(\"transform\",eJ(-3,-b.height+8)),v.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>p&&(k=p/(b.width+6));var A=[n.l+n.w*o.x[1],n.t+n.h*(1-o.y[0])];v.attr(\"transform\",eJ(A[0],A[1])+jHt(k))}};function $Ht(e,t){var r=e._fullLayout,n=e._context;if(n.mapboxAccessToken===\"\")return\"\";for(var i=[],a=[],o=!1,s=!1,l=0;l<t.length;l++){var u=r[t[l]],c=u.accesstoken;dVe(u.style)&&(c?tm.pushUnique(i,c):(dVe(u._input.style)&&(tm.error(\"Uses Mapbox map style, but did not set an access token.\"),o=!0),s=!0)),c&&tm.pushUnique(a,c)}if(s){var f=o?Qm.noAccessTokenErrorMsg:Qm.missingStyleErrorMsg;throw tm.error(f),new Error(f)}return i.length?(i.length>1&&tm.warn(Qm.multipleTokensErrorMsg),i[0]):(a.length&&tm.log([\"Listed mapbox access token(s)\",a.join(\",\"),\"but did not use a Mapbox map style, ignoring token(s).\"].join(\" \")),\"\")}function dVe(e){return typeof e==\"string\"&&(Qm.styleValuesMapbox.indexOf(e)!==-1||e.indexOf(\"mapbox://\")===0||e.indexOf(\"stamen\")===0)}Np.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[xx],n=0;n<r.length;n++){var i=t[r[n]]._subplot;i.updateFx(t)}}});var pVe=ye((Gyr,vVe)=>{\"use strict\";var Hyr=[\"*scattermapbox* trace is deprecated!\",\"Please consider switching to the *scattermap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");vVe.exports={attributes:NF(),supplyDefaults:MUe(),colorbar:Kd(),formatLabels:VK(),calc:lz(),plot:NUe(),hoverPoints:jF().hoverPoints,eventData:GUe(),selectPoints:WUe(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.update(t)}},moduleType:\"trace\",name:\"scattermapbox\",basePlotModule:XF(),categories:[\"mapbox\",\"gl\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var mVe=ye((jyr,gVe)=>{\"use strict\";gVe.exports=pVe()});var tJ=ye((Wyr,yVe)=>{\"use strict\";var f1=K5(),QHt=Jl(),eGt=Wo().hovertemplateAttrs,tGt=vl(),bx=no().extendFlat;yVe.exports=bx({locations:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:bx({},f1.featureidkey,{}),below:{valType:\"string\",editType:\"plot\"},text:f1.text,hovertext:f1.hovertext,marker:{line:{color:bx({},f1.marker.line.color,{editType:\"plot\"}),width:bx({},f1.marker.line.width,{editType:\"plot\"}),editType:\"calc\"},opacity:bx({},f1.marker.opacity,{editType:\"plot\"}),editType:\"calc\"},selected:{marker:{opacity:bx({},f1.selected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:bx({},f1.unselected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},hoverinfo:f1.hoverinfo,hovertemplate:eGt({},{keys:[\"properties\"]}),showlegend:bx({},tGt.showlegend,{dflt:!1})},QHt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var xVe=ye((Zyr,_Ve)=>{\"use strict\";var qk=Mr(),rGt=Uh(),iGt=tJ();_Ve.exports=function(t,r,n,i){function a(c,f){return qk.coerce(t,r,iGt,c,f)}var o=a(\"locations\"),s=a(\"z\"),l=a(\"geojson\");if(!qk.isArrayOrTypedArray(o)||!o.length||!qk.isArrayOrTypedArray(s)||!s.length||!(typeof l==\"string\"&&l!==\"\"||qk.isPlainObject(l))){r.visible=!1;return}a(\"featureidkey\"),r._length=Math.min(o.length,s.length),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\");var u=a(\"marker.line.width\");u&&a(\"marker.line.color\"),a(\"marker.opacity\"),rGt(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),qk.coerceSelectionMarkerOpacity(r,a)}});var rJ=ye((Xyr,TVe)=>{\"use strict\";var nGt=uo(),h1=Mr(),aGt=Mu(),oGt=ao(),sGt=rx().makeBlank,bVe=nx();function lGt(e){var t=e[0].trace,r=t.visible===!0&&t._length!==0,n={layout:{visibility:\"none\"},paint:{}},i={layout:{visibility:\"none\"},paint:{}},a=t._opts={fill:n,line:i,geojson:sGt()};if(!r)return a;var o=bVe.extractTraceFeature(e);if(!o)return a;var s=aGt.makeColorScaleFuncFromTrace(t),l=t.marker,u=l.line||{},c;h1.isArrayOrTypedArray(l.opacity)&&(c=function(E){var k=E.mo;return nGt(k)?+h1.constrain(k,0,1):0});var f;h1.isArrayOrTypedArray(u.color)&&(f=function(E){return E.mlc});var h;h1.isArrayOrTypedArray(u.width)&&(h=function(E){return E.mlw});for(var d=0;d<e.length;d++){var v=e[d],x=v.fOut;if(x){var b=x.properties;b.fc=s(v.z),c&&(b.mo=c(v)),f&&(b.mlc=f(v)),h&&(b.mlw=h(v)),v.ct=b.ct,v._polygons=bVe.feature2polygons(x)}}var p=c?{type:\"identity\",property:\"mo\"}:l.opacity;return h1.extendFlat(n.paint,{\"fill-color\":{type:\"identity\",property:\"fc\"},\"fill-opacity\":p}),h1.extendFlat(i.paint,{\"line-color\":f?{type:\"identity\",property:\"mlc\"}:u.color,\"line-width\":h?{type:\"identity\",property:\"mlw\"}:u.width,\"line-opacity\":p}),n.layout.visibility=\"visible\",i.layout.visibility=\"visible\",a.geojson={type:\"FeatureCollection\",features:o},wVe(e),a}function wVe(e){var t=e[0].trace,r=t._opts,n;if(t.selectedpoints){for(var i=oGt.makeSelectedPointStyleFns(t),a=0;a<e.length;a++){var o=e[a];o.fOut&&(o.fOut.properties.mo2=i.selectedOpacityFn(o))}n={type:\"identity\",property:\"mo2\"}}else n=h1.isArrayOrTypedArray(t.marker.opacity)?{type:\"identity\",property:\"mo\"}:t.marker.opacity;return h1.extendFlat(r.fill.paint,{\"fill-opacity\":n}),h1.extendFlat(r.line.paint,{\"line-opacity\":n}),r}TVe.exports={convert:lGt,convertOnSelect:wVe}});var kVe=ye((Yyr,EVe)=>{\"use strict\";var SVe=rJ().convert,uGt=rJ().convertOnSelect,AVe=c1().traceLayerPrefix;function MVe(e,t){this.type=\"choroplethmapbox\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"fill\",AVe+t+\"-fill\"],[\"line\",AVe+t+\"-line\"]],this.below=null}var wA=MVe.prototype;wA.update=function(e){this._update(SVe(e)),e[0].trace._glTrace=this};wA.updateOnSelect=function(e){this._update(uGt(e))};wA._update=function(e){var t=this.subplot,r=this.layerList,n=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(e.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(e,n),this.below=n);for(var i=0;i<r.length;i++){var a=r[i],o=a[0],s=a[1],l=e[o];t.setOptions(s,\"setLayoutProperty\",l.layout),l.layout.visibility===\"visible\"&&t.setOptions(s,\"setPaintProperty\",l.paint)}};wA._addLayers=function(e,t){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=e[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},t)}};wA._removeLayers=function(){for(var e=this.subplot.map,t=this.layerList,r=t.length-1;r>=0;r--)e.removeLayer(t[r][1])};wA.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};EVe.exports=function(t,r){var n=r[0].trace,i=new MVe(t,n.uid),a=i.sourceId,o=SVe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),r[0].trace._glTrace=i,i}});var LVe=ye((Jyr,CVe)=>{\"use strict\";var Kyr=[\"*choroplethmapbox* trace is deprecated!\",\"Please consider switching to the *choroplethmap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");CVe.exports={attributes:tJ(),supplyDefaults:xVe(),colorbar:M_(),calc:Lz(),plot:kVe(),hoverPoints:Iz(),eventData:Rz(),selectPoints:Dz(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.updateOnSelect(t)}},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if(typeof i==\"string\"&&i.indexOf(\"water\")===0){for(var a=n+1;a<r.length;a++)if(i=r[a].id,typeof i==\"string\"&&i.indexOf(\"plotly-\")===-1)return i}}},moduleType:\"trace\",name:\"choroplethmapbox\",basePlotModule:XF(),categories:[\"mapbox\",\"gl\",\"noOpacity\",\"showLegend\"],meta:{hr_name:\"choropleth_mapbox\"}}});var IVe=ye(($yr,PVe)=>{\"use strict\";PVe.exports=LVe()});var nJ=ye((Qyr,DVe)=>{\"use strict\";var cGt=Jl(),fGt=Wo().hovertemplateAttrs,RVe=vl(),YF=NF(),iJ=no().extendFlat;DVe.exports=iJ({lon:YF.lon,lat:YF.lat,z:{valType:\"data_array\",editType:\"calc\"},radius:{valType:\"number\",editType:\"plot\",arrayOk:!0,min:1,dflt:30},below:{valType:\"string\",editType:\"plot\"},text:YF.text,hovertext:YF.hovertext,hoverinfo:iJ({},RVe.hoverinfo,{flags:[\"lon\",\"lat\",\"z\",\"text\",\"name\"]}),hovertemplate:fGt(),showlegend:iJ({},RVe.showlegend,{dflt:!1})},cGt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var FVe=ye((e1r,zVe)=>{\"use strict\";var hGt=Mr(),dGt=Uh(),vGt=nJ();zVe.exports=function(t,r,n,i){function a(u,c){return hGt.coerce(t,r,vGt,u,c)}var o=a(\"lon\")||[],s=a(\"lat\")||[],l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a(\"z\"),a(\"radius\"),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),dGt(t,r,i,a,{prefix:\"\",cLetter:\"z\"})}});var BVe=ye((t1r,OVe)=>{\"use strict\";var aJ=uo(),pGt=Mr().isArrayOrTypedArray,oJ=es().BADNUM,gGt=zv(),qVe=Mr()._;OVe.exports=function(t,r){for(var n=r._length,i=new Array(n),a=r.z,o=pGt(a)&&a.length,s=0;s<n;s++){var l=i[s]={},u=r.lon[s],c=r.lat[s];if(l.lonlat=aJ(u)&&aJ(c)?[+u,+c]:[oJ,oJ],o){var f=a[s];l.z=aJ(f)?f:oJ}}return gGt(t,r,{vals:o?a:[0,1],containerStr:\"\",cLetter:\"z\"}),n&&(i[0].t={labels:{lat:qVe(t,\"lat:\")+\" \",lon:qVe(t,\"lon:\")+\" \"}}),i}});var GVe=ye((r1r,HVe)=>{\"use strict\";var mGt=uo(),sJ=Mr(),NVe=va(),UVe=Mu(),VVe=es().BADNUM,yGt=rx().makeBlank;HVe.exports=function(t){var r=t[0].trace,n=r.visible===!0&&r._length!==0,i={layout:{visibility:\"none\"},paint:{}},a=r._opts={heatmap:i,geojson:yGt()};if(!n)return a;var o=[],s,l=r.z,u=r.radius,c=sJ.isArrayOrTypedArray(l)&&l.length,f=sJ.isArrayOrTypedArray(u);for(s=0;s<t.length;s++){var h=t[s],d=h.lonlat;if(d[0]!==VVe){var v={};if(c){var x=h.z;v.z=x!==VVe?x:0}f&&(v.r=mGt(u[s])&&u[s]>0?+u[s]:0),o.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:d},properties:v})}}var b=UVe.extractOpts(r),p=b.reversescale?UVe.flipScale(b.colorscale):b.colorscale,E=p[0][1],k=NVe.opacity(E)<1?E:NVe.addOpacity(E,0),A=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,k];for(s=1;s<p.length;s++)A.push(p[s][0],p[s][1]);var L=[\"interpolate\",[\"linear\"],[\"get\",\"z\"],b.min,0,b.max,1];return sJ.extendFlat(a.heatmap.paint,{\"heatmap-weight\":c?L:1/(b.max-b.min),\"heatmap-color\":A,\"heatmap-radius\":f?{type:\"identity\",property:\"r\"}:r.radius,\"heatmap-opacity\":r.opacity}),a.geojson={type:\"FeatureCollection\",features:o},a.heatmap.layout.visibility=\"visible\",a}});var XVe=ye((i1r,ZVe)=>{\"use strict\";var jVe=GVe(),_Gt=c1().traceLayerPrefix;function WVe(e,t){this.type=\"densitymapbox\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"heatmap\",_Gt+t+\"-heatmap\"]],this.below=null}var KF=WVe.prototype;KF.update=function(e){var t=this.subplot,r=this.layerList,n=jVe(e),i=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(n.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(n,i),this.below=i);for(var a=0;a<r.length;a++){var o=r[a],s=o[0],l=o[1],u=n[s];t.setOptions(l,\"setLayoutProperty\",u.layout),u.layout.visibility===\"visible\"&&t.setOptions(l,\"setPaintProperty\",u.paint)}};KF._addLayers=function(e,t){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=e[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},t)}};KF._removeLayers=function(){for(var e=this.subplot.map,t=this.layerList,r=t.length-1;r>=0;r--)e.removeLayer(t[r][1])};KF.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};ZVe.exports=function(t,r){var n=r[0].trace,i=new WVe(t,n.uid),a=i.sourceId,o=jVe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),i}});var KVe=ye((n1r,YVe)=>{\"use strict\";var xGt=Qa(),bGt=jF().hoverPoints,wGt=jF().getExtraText;YVe.exports=function(t,r,n){var i=bGt(t,r,n);if(i){var a=i[0],o=a.cd,s=o[0].trace,l=o[a.index];if(delete a.color,\"z\"in l){var u=a.subplot.mockAxis;a.z=l.z,a.zLabel=xGt.tickText(u,u.c2l(l.z),\"hover\").text}return a.extraText=wGt(s,l,o[0].t.labels),[a]}}});var $Ve=ye((a1r,JVe)=>{\"use strict\";JVe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t.z=r.z,t}});var eHe=ye((s1r,QVe)=>{\"use strict\";var o1r=[\"*densitymapbox* trace is deprecated!\",\"Please consider switching to the *densitymap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");QVe.exports={attributes:nJ(),supplyDefaults:FVe(),colorbar:M_(),formatLabels:VK(),calc:BVe(),plot:XVe(),hoverPoints:KVe(),eventData:$Ve(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n<r.length;n++){var i=r[n],a=i.id;if(i.type===\"symbol\"&&typeof a==\"string\"&&a.indexOf(\"plotly-\")===-1)return a}},moduleType:\"trace\",name:\"densitymapbox\",basePlotModule:XF(),categories:[\"mapbox\",\"gl\",\"showLegend\"],meta:{hr_name:\"density_mapbox\"}}});var rHe=ye((l1r,tHe)=>{\"use strict\";tHe.exports=eHe()});var nHe=ye((u1r,iHe)=>{iHe.exports={version:8,name:\"orto\",metadata:{\"maputnik:renderer\":\"mlgljs\"},center:[1.537786,41.837539],zoom:12,bearing:0,pitch:0,light:{anchor:\"viewport\",color:\"white\",intensity:.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 © <a href='http://www.esri.com'>ESRI</a>\"},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,.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,.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,.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,.8],[20,4]]},\"line-opacity\":.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,.9],[10,.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\":[.5,.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,.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,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.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\":[.5,.25],\"line-width\":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.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,.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,.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,.5],[20,18]]},\"line-opacity\":.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,.5],[20,18]]},\"line-opacity\":.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,.4],[15,.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,.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\":.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,.6]]},\"line-width\":{base:1.2,stops:[[7,0],[8,.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,.5]]},\"line-width\":{base:1.2,stops:[[5,0],[6,.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,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":{stops:[[4,0],[5,.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,.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\":.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,.5],[20,13]]},\"line-opacity\":.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,.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,.5],[20,18]]},\"line-opacity\":.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,.5],[20,18]]},\"line-opacity\":.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,.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\":[.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,.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\":[.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,.4],[15,.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\":[.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,.4],[6,.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,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.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,.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,.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,.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,.5],[20,18]]},\"line-opacity\":.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,.4],[15,.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\":[.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,.4],[5,1],[12,3]]},\"line-opacity\":.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,.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,.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,.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\":.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\":.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\":.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\":.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,.6],\"text-size\":12,\"text-max-width\":9},paint:{\"text-halo-blur\":.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,.6],\"text-size\":12,\"text-max-width\":9},paint:{\"text-halo-blur\":.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,.6],\"text-size\":11,\"text-max-width\":9},paint:{\"text-halo-blur\":.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,.6],\"text-size\":12,\"text-max-width\":9,\"icon-optional\":!1,\"icon-ignore-placement\":!1,\"icon-allow-overlap\":!1,\"text-ignore-placement\":!1,\"text-allow-overlap\":!1,\"text-optional\":!0},paint:{\"text-halo-blur\":.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,.5],[19,1]]}},paint:{\"icon-opacity\":.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,.5],[19,1]]}},paint:{\"icon-opacity\":.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\":.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\":.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\":.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\":.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\":.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\":[.4,0],\"icon-size\":.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\"}});var oHe=ye((c1r,aHe)=>{aHe.exports={version:8,name:\"orto\",metadata:{},center:[1.537786,41.837539],zoom:12,bearing:0,pitch:0,light:{anchor:\"viewport\",color:\"white\",intensity:.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 © <a href='http://www.esri.com'>ESRI</a>\"},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\"}}]}});var wx=ye((f1r,fHe)=>{\"use strict\";var TGt=Y1(),AGt=nHe(),SGt=oHe(),MGt='\\xA9 <a target=\"_blank\" href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors',sHe=\"https://basemaps.cartocdn.com/gl/positron-gl-style/style.json\",lHe=\"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json\",JF=\"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json\",EGt=\"https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json\",kGt=\"https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json\",CGt=\"https://basemaps.cartocdn.com/gl/voyager-nolabels-gl-style/style.json\",cHe={basic:JF,streets:JF,outdoors:JF,light:sHe,dark:lHe,satellite:SGt,\"satellite-streets\":AGt,\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:MGt,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\":sHe,\"carto-darkmatter\":lHe,\"carto-voyager\":JF,\"carto-positron-nolabels\":EGt,\"carto-darkmatter-nolabels\":kGt,\"carto-voyager-nolabels\":CGt},uHe=TGt(cHe);fHe.exports={styleValueDflt:\"basic\",stylesMap:cHe,styleValuesMap:uHe,traceLayerPrefix:\"plotly-trace-layer-\",layoutLayerPrefix:\"plotly-layout-layer-\",missingStyleErrorMsg:[\"No valid maplibre style found, please set `map.style` to one of:\",uHe.join(\", \"),\"or use a tile service.\"].join(`\n", - "`),mapOnErrorMsg:\"Map error.\"}});var Ok=ye((h1r,gHe)=>{\"use strict\";var hHe=Mr(),dHe=va().defaultLine,LGt=Ju().attributes,PGt=Su(),IGt=Uc().textposition,RGt=Bu().overrideAll,DGt=Vs().templatedArray,vHe=wx(),pHe=PGt({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});pHe.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\";var zGt=gHe.exports=RGt({_arrayAttrRegexps:[hHe.counterRegex(\"map\",\".layers\",!0)],domain:LGt({name:\"map\"}),style:{valType:\"any\",values:vHe.styleValuesMap,dflt:vHe.styleValueDflt},center:{lon:{valType:\"number\",dflt:0},lat:{valType:\"number\",dflt:0}},zoom:{valType:\"number\",dflt:1},bearing:{valType:\"number\",dflt:0},pitch:{valType:\"number\",dflt:0},bounds:{west:{valType:\"number\"},east:{valType:\"number\"},south:{valType:\"number\"},north:{valType:\"number\"}},layers:DGt(\"layer\",{visible:{valType:\"boolean\",dflt:!0},sourcetype:{valType:\"enumerated\",values:[\"geojson\",\"vector\",\"raster\",\"image\"],dflt:\"geojson\"},source:{valType:\"any\"},sourcelayer:{valType:\"string\",dflt:\"\"},sourceattribution:{valType:\"string\"},type:{valType:\"enumerated\",values:[\"circle\",\"line\",\"fill\",\"symbol\",\"raster\"],dflt:\"circle\"},coordinates:{valType:\"any\"},below:{valType:\"string\"},color:{valType:\"color\",dflt:dHe},opacity:{valType:\"number\",min:0,max:1,dflt:1},minzoom:{valType:\"number\",min:0,max:24,dflt:0},maxzoom:{valType:\"number\",min:0,max:24,dflt:24},circle:{radius:{valType:\"number\",dflt:15}},line:{width:{valType:\"number\",dflt:2},dash:{valType:\"data_array\"}},fill:{outlinecolor:{valType:\"color\",dflt:dHe}},symbol:{icon:{valType:\"string\",dflt:\"marker\"},iconsize:{valType:\"number\",dflt:10},text:{valType:\"string\",dflt:\"\"},placement:{valType:\"enumerated\",values:[\"point\",\"line\",\"line-center\"],dflt:\"point\"},textfont:pHe,textposition:hHe.extendFlat({},IGt,{arrayOk:!1})}})},\"plot\",\"from-root\");zGt.uirevision={valType:\"any\",editType:\"none\"}});var $F=ye((d1r,_He)=>{\"use strict\";var FGt=Wo().hovertemplateAttrs,qGt=Wo().texttemplateAttrs,OGt=Eg(),Bk=H2(),TA=Uc(),mHe=Ok(),BGt=vl(),NGt=Jl(),rw=no().extendFlat,UGt=Bu().overrideAll,VGt=Ok(),yHe=Bk.line,AA=Bk.marker;_He.exports=UGt({lon:Bk.lon,lat:Bk.lat,cluster:{enabled:{valType:\"boolean\"},maxzoom:rw({},VGt.layers.maxzoom,{}),step:{valType:\"number\",arrayOk:!0,dflt:-1,min:-1},size:{valType:\"number\",arrayOk:!0,dflt:20,min:0},color:{valType:\"color\",arrayOk:!0},opacity:rw({},AA.opacity,{dflt:1})},mode:rw({},TA.mode,{dflt:\"markers\"}),text:rw({},TA.text,{}),texttemplate:qGt({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"text\"]}),hovertext:rw({},TA.hovertext,{}),line:{color:yHe.color,width:yHe.width},connectgaps:TA.connectgaps,marker:rw({symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},angle:{valType:\"number\",dflt:\"auto\",arrayOk:!0},allowoverlap:{valType:\"boolean\",dflt:!1},opacity:AA.opacity,size:AA.size,sizeref:AA.sizeref,sizemin:AA.sizemin,sizemode:AA.sizemode},NGt(\"marker\")),fill:Bk.fill,fillcolor:OGt(),textfont:mHe.layers.symbol.textfont,textposition:mHe.layers.symbol.textposition,below:{valType:\"string\"},selected:{marker:TA.selected.marker},unselected:{marker:TA.unselected.marker},hoverinfo:rw({},BGt.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]}),hovertemplate:FGt()},\"calc\",\"nested\")});var lJ=ye((v1r,xHe)=>{\"use strict\";var HGt=[\"Metropolis Black Italic\",\"Metropolis Black\",\"Metropolis Bold Italic\",\"Metropolis Bold\",\"Metropolis Extra Bold Italic\",\"Metropolis Extra Bold\",\"Metropolis Extra Light Italic\",\"Metropolis Extra Light\",\"Metropolis Light Italic\",\"Metropolis Light\",\"Metropolis Medium Italic\",\"Metropolis Medium\",\"Metropolis Regular Italic\",\"Metropolis Regular\",\"Metropolis Semi Bold Italic\",\"Metropolis Semi Bold\",\"Metropolis Thin Italic\",\"Metropolis Thin\",\"Open Sans Bold Italic\",\"Open Sans Bold\",\"Open Sans Extrabold Italic\",\"Open Sans Extrabold\",\"Open Sans Italic\",\"Open Sans Light Italic\",\"Open Sans Light\",\"Open Sans Regular\",\"Open Sans Semibold Italic\",\"Open Sans Semibold\",\"Klokantech Noto Sans Bold\",\"Klokantech Noto Sans CJK Bold\",\"Klokantech Noto Sans CJK Regular\",\"Klokantech Noto Sans Italic\",\"Klokantech Noto Sans Regular\"];xHe.exports={isSupportedFont:function(e){return HGt.indexOf(e)!==-1}}});var THe=ye((p1r,wHe)=>{\"use strict\";var Nk=Mr(),uJ=lu(),GGt=$p(),jGt=R0(),WGt=D0(),ZGt=Ig(),bHe=$F(),XGt=lJ().isSupportedFont;wHe.exports=function(t,r,n,i){function a(p,E){return Nk.coerce(t,r,bHe,p,E)}function o(p,E){return Nk.coerce2(t,r,bHe,p,E)}var s=YGt(t,r,a);if(!s){r.visible=!1;return}if(a(\"text\"),a(\"texttemplate\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"mode\"),a(\"below\"),uJ.hasMarkers(r)){GGt(t,r,n,i,a,{noLine:!0,noAngle:!0}),a(\"marker.allowoverlap\"),a(\"marker.angle\");var l=r.marker;l.symbol!==\"circle\"&&(Nk.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),Nk.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}uJ.hasLines(r)&&(jGt(t,r,n,i,a,{noDash:!0}),a(\"connectgaps\"));var u=o(\"cluster.maxzoom\"),c=o(\"cluster.step\"),f=o(\"cluster.color\",r.marker&&r.marker.color||n),h=o(\"cluster.size\"),d=o(\"cluster.opacity\"),v=u!==!1||c!==!1||f!==!1||h!==!1||d!==!1,x=a(\"cluster.enabled\",v);if(x||uJ.hasText(r)){var b=i.font.family;WGt(t,r,i,a,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:XGt(b)?b:\"Open Sans Regular\",weight:i.font.weight,style:i.font.style,size:i.font.size,color:i.font.color}})}a(\"fill\"),r.fill!==\"none\"&&ZGt(t,r,n,a),Nk.coerceSelectionMarkerOpacity(r,a)};function YGt(e,t,r){var n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length);return t._length=a,a}});var cJ=ye((g1r,SHe)=>{\"use strict\";var AHe=Qa();SHe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=AHe.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=AHe.tickText(o,o.c2l(s[1]),!0).text,i}});var fJ=ye((m1r,EHe)=>{\"use strict\";var MHe=Mr();EHe.exports=function(t,r){var n=t.split(\" \"),i=n[0],a=n[1],o=MHe.isArrayOrTypedArray(r)?MHe.mean(r):r,s=.5+o/100,l=1.5+o/100,u=[\"\",\"\"],c=[0,0];switch(i){case\"top\":u[0]=\"top\",c[1]=-l;break;case\"bottom\":u[0]=\"bottom\",c[1]=l;break}switch(a){case\"left\":u[1]=\"right\",c[0]=-s;break;case\"right\":u[1]=\"left\",c[0]=s;break}var f;return u[0]&&u[1]?f=u.join(\"-\"):u[0]?f=u[0]:u[1]?f=u[1]:f=\"center\",{anchor:f,offset:c}}});var RHe=ye((y1r,IHe)=>{\"use strict\";var LHe=uo(),nv=Mr(),KGt=es().BADNUM,e7=rx(),kHe=Mu(),JGt=ao(),$Gt=S3(),t7=lu(),QGt=lJ().isSupportedFont,ejt=fJ(),tjt=rp().appendArrayPointValue,rjt=Pl().NEWLINES,ijt=Pl().BR_TAG_ALL;IHe.exports=function(t,r){var n=r[0].trace,i=n.visible===!0&&n._length!==0,a=n.fill!==\"none\",o=t7.hasLines(n),s=t7.hasMarkers(n),l=t7.hasText(n),u=s&&n.marker.symbol===\"circle\",c=s&&n.marker.symbol!==\"circle\",f=n.cluster&&n.cluster.enabled,h=QF(\"fill\"),d=QF(\"line\"),v=QF(\"circle\"),x=QF(\"symbol\"),b={fill:h,line:d,circle:v,symbol:x};if(!i)return b;var p;if((a||o)&&(p=e7.calcTraceToLineCoords(r)),a&&(h.geojson=e7.makePolygon(p),h.layout.visibility=\"visible\",nv.extendFlat(h.paint,{\"fill-color\":n.fillcolor})),o&&(d.geojson=e7.makeLine(p),d.layout.visibility=\"visible\",nv.extendFlat(d.paint,{\"line-width\":n.line.width,\"line-color\":n.line.color,\"line-opacity\":n.opacity})),u){var E=njt(r);v.geojson=E.geojson,v.layout.visibility=\"visible\",f&&(v.filter=[\"!\",[\"has\",\"point_count\"]],b.cluster={type:\"circle\",filter:[\"has\",\"point_count\"],layout:{visibility:\"visible\"},paint:{\"circle-color\":dJ(n.cluster.color,n.cluster.step),\"circle-radius\":dJ(n.cluster.size,n.cluster.step),\"circle-opacity\":dJ(n.cluster.opacity,n.cluster.step)}},b.clusterCount={type:\"symbol\",filter:[\"has\",\"point_count\"],paint:{},layout:{\"text-field\":\"{point_count_abbreviated}\",\"text-font\":CHe(n),\"text-size\":12}}),nv.extendFlat(v.paint,{\"circle-color\":E.mcc,\"circle-radius\":E.mrc,\"circle-opacity\":E.mo})}if(u&&f&&(v.filter=[\"!\",[\"has\",\"point_count\"]]),(c||l)&&(x.geojson=ajt(r,t),nv.extendFlat(x.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),c&&(nv.extendFlat(x.layout,{\"icon-size\":n.marker.size/10}),\"angle\"in n.marker&&n.marker.angle!==\"auto\"&&nv.extendFlat(x.layout,{\"icon-rotate\":{type:\"identity\",property:\"angle\"},\"icon-rotation-alignment\":\"map\"}),x.layout[\"icon-allow-overlap\"]=n.marker.allowoverlap,nv.extendFlat(x.paint,{\"icon-opacity\":n.opacity*n.marker.opacity,\"icon-color\":n.marker.color})),l)){var k=(n.marker||{}).size,A=ejt(n.textposition,k);nv.extendFlat(x.layout,{\"text-size\":n.textfont.size,\"text-anchor\":A.anchor,\"text-offset\":A.offset,\"text-font\":CHe(n)}),nv.extendFlat(x.paint,{\"text-color\":n.textfont.color,\"text-opacity\":n.opacity})}return b};function QF(e){return{type:e,geojson:e7.makeBlank(),layout:{visibility:\"none\"},filter:null,paint:{}}}function njt(e){var t=e[0].trace,r=t.marker,n=t.selectedpoints,i=nv.isArrayOrTypedArray(r.color),a=nv.isArrayOrTypedArray(r.size),o=nv.isArrayOrTypedArray(r.opacity),s;function l(k){return t.opacity*k}function u(k){return k/2}var c;i&&(kHe.hasColorscale(t,\"marker\")?c=kHe.makeColorScaleFuncFromTrace(r):c=nv.identity);var f;a&&(f=$Gt(t));var h;o&&(h=function(k){var A=LHe(k)?+nv.constrain(k,0,1):0;return l(A)});var d=[];for(s=0;s<e.length;s++){var v=e[s],x=v.lonlat;if(!PHe(x)){var b={};c&&(b.mcc=v.mcc=c(v.mc)),f&&(b.mrc=v.mrc=f(v.ms)),h&&(b.mo=h(v.mo)),n&&(b.selected=v.selected||0),d.push({type:\"Feature\",id:s+1,geometry:{type:\"Point\",coordinates:x},properties:b})}}var p;if(n)for(p=JGt.makeSelectedPointStyleFns(t),s=0;s<d.length;s++){var E=d[s].properties;p.selectedOpacityFn&&(E.mo=l(p.selectedOpacityFn(E))),p.selectedColorFn&&(E.mcc=p.selectedColorFn(E)),p.selectedSizeFn&&(E.mrc=p.selectedSizeFn(E))}return{geojson:{type:\"FeatureCollection\",features:d},mcc:i||p&&p.selectedColorFn?{type:\"identity\",property:\"mcc\"}:r.color,mrc:a||p&&p.selectedSizeFn?{type:\"identity\",property:\"mrc\"}:u(r.size),mo:o||p&&p.selectedOpacityFn?{type:\"identity\",property:\"mo\"}:l(r.opacity)}}function ajt(e,t){for(var r=t._fullLayout,n=e[0].trace,i=n.marker||{},a=i.symbol,o=i.angle,s=a!==\"circle\"?hJ(a):r7,l=o!==\"auto\"?hJ(o,!0):r7,u=t7.hasText(n)?hJ(n.text):r7,c=[],f=0;f<e.length;f++){var h=e[f];if(!PHe(h.lonlat)){var d=n.texttemplate,v;if(d){var x=Array.isArray(d)?d[f]||\"\":d,b=n._module.formatLabels(h,n,r),p={};tjt(p,n,h.i);var E=n._meta||{};v=nv.texttemplateString(x,b,r._d3locale,p,h,E)}else v=u(f);v&&(v=v.replace(rjt,\"\").replace(ijt,`\n", - "`)),c.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:h.lonlat},properties:{symbol:s(f),angle:l(f),text:v}})}}return{type:\"FeatureCollection\",features:c}}function hJ(e,t){return nv.isArrayOrTypedArray(e)?t?function(r){return LHe(e[r])?+e[r]:0}:function(r){return e[r]}:e?function(){return e}:r7}function r7(){return\"\"}function PHe(e){return e[0]===KGt}function dJ(e,t){var r;if(nv.isArrayOrTypedArray(e)&&nv.isArrayOrTypedArray(t)){r=[\"step\",[\"get\",\"point_count\"],e[0]];for(var n=1;n<e.length;n++)r.push(t[n-1],e[n])}else r=e;return r}function CHe(e){var t=e.textfont,r=t.family,n=t.style,i=t.weight,a=r.split(\" \"),o=a[a.length-1]===\"Italic\";o&&a.pop(),o=o||n===\"italic\";var s=a.join(\" \");i===\"bold\"&&a.indexOf(\"Bold\")===-1?s+=\" Bold\":i<=1e3&&(a[0]===\"Metropolis\"?(s=\"Metropolis\",i>850?s+=\" Black\":i>750?s+=\" Extra Bold\":i>650?s+=\" Bold\":i>550?s+=\" Semi Bold\":i>450?s+=\" Medium\":i>350?s+=\" Regular\":i>250?s+=\" Light\":i>150?s+=\" Extra Light\":s+=\" Thin\"):a.slice(0,2).join(\" \")===\"Open Sans\"?(s=\"Open Sans\",i>750?s+=\" Extrabold\":i>650?s+=\" Bold\":i>550?s+=\" Semibold\":i>350?s+=\" Regular\":s+=\" Light\"):a.slice(0,3).join(\" \")===\"Klokantech Noto Sans\"&&(s=\"Klokantech Noto Sans\",a[3]===\"CJK\"&&(s+=\" CJK\"),s+=i>500?\" Bold\":\" Regular\")),o&&(s+=\" Italic\"),s===\"Open Sans Regular Italic\"?s=\"Open Sans Italic\":s===\"Open Sans Regular Bold\"?s=\"Open Sans Bold\":s===\"Open Sans Regular Bold Italic\"?s=\"Open Sans Bold Italic\":s===\"Klokantech Noto Sans Regular Italic\"&&(s=\"Klokantech Noto Sans Italic\"),QGt(s)||(s=r);var l=s.split(\", \");return l}});var qHe=ye((_1r,FHe)=>{\"use strict\";var ojt=Mr(),DHe=RHe(),SA=wx().traceLayerPrefix,ng={cluster:[\"cluster\",\"clusterCount\",\"circle\"],nonCluster:[\"fill\",\"line\",\"circle\",\"symbol\"]};function zHe(e,t,r,n){this.type=\"scattermap\",this.subplot=e,this.uid=t,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:\"source-\"+t+\"-fill\",line:\"source-\"+t+\"-line\",circle:\"source-\"+t+\"-circle\",symbol:\"source-\"+t+\"-symbol\",cluster:\"source-\"+t+\"-circle\",clusterCount:\"source-\"+t+\"-circle\"},this.layerIds={fill:SA+t+\"-fill\",line:SA+t+\"-line\",circle:SA+t+\"-circle\",symbol:SA+t+\"-symbol\",cluster:SA+t+\"-cluster\",clusterCount:SA+t+\"-cluster-count\"},this.below=null}var Uk=zHe.prototype;Uk.addSource=function(e,t,r){var n={type:\"geojson\",data:t.geojson};r&&r.enabled&&ojt.extendFlat(n,{cluster:!0,clusterMaxZoom:r.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[e]);i?i.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[e],n)};Uk.setSourceData=function(e,t){this.subplot.map.getSource(this.sourceIds[e]).setData(t.geojson)};Uk.addLayer=function(e,t,r){var n={type:t.type,id:this.layerIds[e],source:this.sourceIds[e],layout:t.layout,paint:t.paint};t.filter&&(n.filter=t.filter);for(var i=this.layerIds[e],a,o=this.subplot.getMapLayers(),s=0;s<o.length;s++)if(o[s].id===i){a=!0;break}a?(this.subplot.setOptions(i,\"setLayoutProperty\",n.layout),n.layout.visibility===\"visible\"&&this.subplot.setOptions(i,\"setPaintProperty\",n.paint)):this.subplot.addLayer(n,r)};Uk.update=function(t){var r=t[0].trace,n=this.subplot,i=n.map,a=DHe(n.gd,t),o=n.belowLookup[\"trace-\"+this.uid],s=!!(r.cluster&&r.cluster.enabled),l=!!this.clusterEnabled,u=this;function c(k){k||u.addSource(\"circle\",a.circle,r.cluster);for(var A=ng.cluster,L=0;L<A.length;L++){var _=A[L],C=a[_];u.addLayer(_,C,o)}}function f(k){for(var A=ng.cluster,L=A.length-1;L>=0;L--){var _=A[L];i.removeLayer(u.layerIds[_])}k||i.removeSource(u.sourceIds.circle)}function h(k){for(var A=ng.nonCluster,L=0;L<A.length;L++){var _=A[L],C=a[_];k||u.addSource(_,C),u.addLayer(_,C,o)}}function d(k){for(var A=ng.nonCluster,L=A.length-1;L>=0;L--){var _=A[L];i.removeLayer(u.layerIds[_]),k||i.removeSource(u.sourceIds[_])}}function v(k){l?f(k):d(k)}function x(k){s?c(k):h(k)}function b(){for(var k=s?ng.cluster:ng.nonCluster,A=0;A<k.length;A++){var L=k[A],_=a[L];_&&(n.setOptions(u.layerIds[L],\"setLayoutProperty\",_.layout),_.layout.visibility===\"visible\"&&(L!==\"cluster\"&&u.setSourceData(L,_),n.setOptions(u.layerIds[L],\"setPaintProperty\",_.paint)))}}var p=this.isHidden,E=r.visible!==!0;E?p||v():p?E||x():l!==s?(v(),x()):(this.below!==o&&(v(!0),x(!0)),b()),this.clusterEnabled=s,this.isHidden=E,this.below=o,t[0].trace._glTrace=this};Uk.dispose=function(){for(var t=this.subplot.map,r=this.clusterEnabled?ng.cluster:ng.nonCluster,n=r.length-1;n>=0;n--){var i=r[n];t.removeLayer(this.layerIds[i]),t.removeSource(this.sourceIds[i])}};FHe.exports=function(t,r){var n=r[0].trace,i=n.cluster&&n.cluster.enabled,a=n.visible!==!0,o=new zHe(t,n.uid,i,a),s=DHe(t.gd,r),l=o.below=t.belowLookup[\"trace-\"+n.uid],u,c,f;if(i)for(o.addSource(\"circle\",s.circle,n.cluster),u=0;u<ng.cluster.length;u++)c=ng.cluster[u],f=s[c],o.addLayer(c,f,l);else for(u=0;u<ng.nonCluster.length;u++)c=ng.nonCluster[u],f=s[c],o.addSource(c,f,n.cluster),o.addLayer(c,f,l);return r[0].trace._glTrace=o,o}});var i7=ye((x1r,BHe)=>{\"use strict\";var sjt=Nc(),vJ=Mr(),ljt=oT(),ujt=vJ.fillText,cjt=es().BADNUM,fjt=wx().traceLayerPrefix;function hjt(e,t,r){var n=e.cd,i=n[0].trace,a=e.xa,o=e.ya,s=e.subplot,l=[],u=fjt+i.uid+\"-circle\",c=i.cluster&&i.cluster.enabled;if(c){var f=s.map.queryRenderedFeatures(null,{layers:[u]});l=f.map(function(M){return M.id})}var h=t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360),d=h*360,v=t-d;function x(M){var g=M.lonlat;if(g[0]===cjt||c&&l.indexOf(M.i+1)===-1)return 1/0;var P=vJ.modHalf(g[0],360),T=g[1],F=s.project([P,T]),q=F.x-a.c2p([v,T]),V=F.y-o.c2p([P,r]),H=Math.max(3,M.mrc||0);return Math.max(Math.sqrt(q*q+V*V)-H,1-3/H)}if(sjt.getClosest(n,x,e),e.index!==!1){var b=n[e.index],p=b.lonlat,E=[vJ.modHalf(p[0],360)+d,p[1]],k=a.c2p(E),A=o.c2p(E),L=b.mrc||1;e.x0=k-L,e.x1=k+L,e.y0=A-L,e.y1=A+L;var _={};_[i.subplot]={_subplot:s};var C=i._module.formatLabels(b,i,_);return e.lonLabel=C.lonLabel,e.latLabel=C.latLabel,e.color=ljt(i,b),e.extraText=OHe(i,b,n[0].t.labels),e.hovertemplate=i.hovertemplate,[e]}}function OHe(e,t,r){if(e.hovertemplate)return;var n=t.hi||e.hoverinfo,i=n.split(\"+\"),a=i.indexOf(\"all\")!==-1,o=i.indexOf(\"lon\")!==-1,s=i.indexOf(\"lat\")!==-1,l=t.lonlat,u=[];function c(f){return f+\"\\xB0\"}return a||o&&s?u.push(\"(\"+c(l[1])+\", \"+c(l[0])+\")\"):o?u.push(r.lon+c(l[0])):s&&u.push(r.lat+c(l[1])),(a||i.indexOf(\"text\")!==-1)&&ujt(t,e,u),u.join(\"<br>\")}BHe.exports={hoverPoints:hjt,getExtraText:OHe}});var UHe=ye((b1r,NHe)=>{\"use strict\";NHe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t}});var HHe=ye((w1r,VHe)=>{\"use strict\";var djt=Mr(),vjt=lu(),pjt=es().BADNUM;VHe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l;if(!vjt.hasMarkers(s))return[];if(r===!1)for(l=0;l<n.length;l++)n[l].selected=0;else for(l=0;l<n.length;l++){var u=n[l],c=u.lonlat;if(c[0]!==pjt){var f=[djt.modHalf(c[0],360),c[1]],h=[i.c2p(f),a.c2p(f)];r.contains(h,null,l,t)?(o.push({pointNumber:l,lon:c[0],lat:c[1]}),u.selected=1):u.selected=0}}return o}});var jHe=ye((pJ,gJ)=>{(function(e,t){typeof pJ==\"object\"&&typeof gJ!=\"undefined\"?gJ.exports=t():(e=typeof globalThis!=\"undefined\"?globalThis:e||self,e.maplibregl=t())})(pJ,function(){\"use strict\";var e={},t={};function r(i,a,o){if(t[i]=o,i===\"index\"){var s=\"var sharedModule = {}; (\"+t.shared+\")(sharedModule); (\"+t.worker+\")(sharedModule);\",l={};return t.shared(l),t.index(e,l),typeof window!=\"undefined\"&&e.setWorkerUrl(window.URL.createObjectURL(new Blob([s],{type:\"text/javascript\"}))),e}}r(\"shared\",[\"exports\"],function(i){\"use strict\";function a(R,S,D,j){return new(D||(D=Promise))(function(te,ue){function ve(at){try{Ze(j.next(at))}catch(Tt){ue(Tt)}}function De(at){try{Ze(j.throw(at))}catch(Tt){ue(Tt)}}function Ze(at){var Tt;at.done?te(at.value):(Tt=at.value,Tt instanceof D?Tt:new D(function(Ft){Ft(Tt)})).then(ve,De)}Ze((j=j.apply(R,S||[])).next())})}function o(R){return R&&R.__esModule&&Object.prototype.hasOwnProperty.call(R,\"default\")?R.default:R}typeof SuppressedError==\"function\"&&SuppressedError;var s=l;function l(R,S){this.x=R,this.y=S}l.prototype={clone:function(){return new l(this.x,this.y)},add:function(R){return this.clone()._add(R)},sub:function(R){return this.clone()._sub(R)},multByPoint:function(R){return this.clone()._multByPoint(R)},divByPoint:function(R){return this.clone()._divByPoint(R)},mult:function(R){return this.clone()._mult(R)},div:function(R){return this.clone()._div(R)},rotate:function(R){return this.clone()._rotate(R)},rotateAround:function(R,S){return this.clone()._rotateAround(R,S)},matMult:function(R){return this.clone()._matMult(R)},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(R){return this.x===R.x&&this.y===R.y},dist:function(R){return Math.sqrt(this.distSqr(R))},distSqr:function(R){var S=R.x-this.x,D=R.y-this.y;return S*S+D*D},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(R){return Math.atan2(this.y-R.y,this.x-R.x)},angleWith:function(R){return this.angleWithSep(R.x,R.y)},angleWithSep:function(R,S){return Math.atan2(this.x*S-this.y*R,this.x*R+this.y*S)},_matMult:function(R){var S=R[2]*this.x+R[3]*this.y;return this.x=R[0]*this.x+R[1]*this.y,this.y=S,this},_add:function(R){return this.x+=R.x,this.y+=R.y,this},_sub:function(R){return this.x-=R.x,this.y-=R.y,this},_mult:function(R){return this.x*=R,this.y*=R,this},_div:function(R){return this.x/=R,this.y/=R,this},_multByPoint:function(R){return this.x*=R.x,this.y*=R.y,this},_divByPoint:function(R){return this.x/=R.x,this.y/=R.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var R=this.y;return this.y=this.x,this.x=-R,this},_rotate:function(R){var S=Math.cos(R),D=Math.sin(R),j=D*this.x+S*this.y;return this.x=S*this.x-D*this.y,this.y=j,this},_rotateAround:function(R,S){var D=Math.cos(R),j=Math.sin(R),te=S.y+j*(this.x-S.x)+D*(this.y-S.y);return this.x=S.x+D*(this.x-S.x)-j*(this.y-S.y),this.y=te,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},l.convert=function(R){return R instanceof l?R:Array.isArray(R)?new l(R[0],R[1]):R};var u=o(s),c=f;function f(R,S,D,j){this.cx=3*R,this.bx=3*(D-R)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*S,this.by=3*(j-S)-this.cy,this.ay=1-this.cy-this.by,this.p1x=R,this.p1y=S,this.p2x=D,this.p2y=j}f.prototype={sampleCurveX:function(R){return((this.ax*R+this.bx)*R+this.cx)*R},sampleCurveY:function(R){return((this.ay*R+this.by)*R+this.cy)*R},sampleCurveDerivativeX:function(R){return(3*this.ax*R+2*this.bx)*R+this.cx},solveCurveX:function(R,S){if(S===void 0&&(S=1e-6),R<0)return 0;if(R>1)return 1;for(var D=R,j=0;j<8;j++){var te=this.sampleCurveX(D)-R;if(Math.abs(te)<S)return D;var ue=this.sampleCurveDerivativeX(D);if(Math.abs(ue)<1e-6)break;D-=te/ue}var ve=0,De=1;for(D=R,j=0;j<20&&(te=this.sampleCurveX(D),!(Math.abs(te-R)<S));j++)R>te?ve=D:De=D,D=.5*(De-ve)+ve;return D},solve:function(R,S){return this.sampleCurveY(this.solveCurveX(R,S))}};var h=o(c);let d,v;function x(){return d==null&&(d=typeof OffscreenCanvas!=\"undefined\"&&new OffscreenCanvas(1,1).getContext(\"2d\")&&typeof createImageBitmap==\"function\"),d}function b(){if(v==null&&(v=!1,x())){let S=new OffscreenCanvas(5,5).getContext(\"2d\",{willReadFrequently:!0});if(S){for(let j=0;j<5*5;j++){let te=4*j;S.fillStyle=`rgb(${te},${te+1},${te+2})`,S.fillRect(j%5,Math.floor(j/5),1,1)}let D=S.getImageData(0,0,5,5).data;for(let j=0;j<5*5*4;j++)if(j%4!=3&&D[j]!==j){v=!0;break}}}return v||!1}function p(R,S,D,j){let te=new h(R,S,D,j);return ue=>te.solve(ue)}let E=p(.25,.1,.25,1);function k(R,S,D){return Math.min(D,Math.max(S,R))}function A(R,S,D){let j=D-S,te=((R-S)%j+j)%j+S;return te===S?D:te}function L(R,...S){for(let D of S)for(let j in D)R[j]=D[j];return R}let _=1;function C(R,S,D){let j={};for(let te in R)j[te]=S.call(this,R[te],te,R);return j}function M(R,S,D){let j={};for(let te in R)S.call(this,R[te],te,R)&&(j[te]=R[te]);return j}function g(R){return Array.isArray(R)?R.map(g):typeof R==\"object\"&&R?C(R,g):R}let P={};function T(R){P[R]||(typeof console!=\"undefined\"&&console.warn(R),P[R]=!0)}function F(R,S,D){return(D.y-R.y)*(S.x-R.x)>(S.y-R.y)*(D.x-R.x)}function q(R){return typeof WorkerGlobalScope!=\"undefined\"&&R!==void 0&&R instanceof WorkerGlobalScope}let V=null;function H(R){return typeof ImageBitmap!=\"undefined\"&&R instanceof ImageBitmap}let X=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";function G(R,S,D,j,te){return a(this,void 0,void 0,function*(){if(typeof VideoFrame==\"undefined\")throw new Error(\"VideoFrame not supported\");let ue=new VideoFrame(R,{timestamp:0});try{let ve=ue==null?void 0:ue.format;if(!ve||!ve.startsWith(\"BGR\")&&!ve.startsWith(\"RGB\"))throw new Error(`Unrecognized format ${ve}`);let De=ve.startsWith(\"BGR\"),Ze=new Uint8ClampedArray(j*te*4);if(yield ue.copyTo(Ze,function(at,Tt,Ft,Qt,sr){let Tr=4*Math.max(-Tt,0),Pr=(Math.max(0,Ft)-Ft)*Qt*4+Tr,$r=4*Qt,ni=Math.max(0,Tt),Di=Math.max(0,Ft);return{rect:{x:ni,y:Di,width:Math.min(at.width,Tt+Qt)-ni,height:Math.min(at.height,Ft+sr)-Di},layout:[{offset:Pr,stride:$r}]}}(R,S,D,j,te)),De)for(let at=0;at<Ze.length;at+=4){let Tt=Ze[at];Ze[at]=Ze[at+2],Ze[at+2]=Tt}return Ze}finally{ue.close()}})}let N,W,re=\"AbortError\";function ae(){return new Error(re)}let _e={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:\"\"};function Me(R){return _e.REGISTERED_PROTOCOLS[R.substring(0,R.indexOf(\"://\"))]}let ke=\"global-dispatcher\";class ge extends Error{constructor(S,D,j,te){super(`AJAXError: ${D} (${S}): ${j}`),this.status=S,this.statusText=D,this.url=j,this.body=te}}let ie=()=>q(self)?self.worker&&self.worker.referrer:(window.location.protocol===\"blob:\"?window.parent:window).location.href,Te=function(R,S){if(/:\\/\\//.test(R.url)&&!/^https?:|^file:/.test(R.url)){let j=Me(R.url);if(j)return j(R,S);if(q(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:R,targetMapId:ke},S)}if(!(/^file:/.test(D=R.url)||/^file:/.test(ie())&&!/^\\w+:/.test(D))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,\"signal\"))return function(j,te){return a(this,void 0,void 0,function*(){let ue=new Request(j.url,{method:j.method||\"GET\",body:j.body,credentials:j.credentials,headers:j.headers,cache:j.cache,referrer:ie(),signal:te.signal});j.type!==\"json\"||ue.headers.has(\"Accept\")||ue.headers.set(\"Accept\",\"application/json\");let ve=yield fetch(ue);if(!ve.ok){let at=yield ve.blob();throw new ge(ve.status,ve.statusText,j.url,at)}let De;De=j.type===\"arrayBuffer\"||j.type===\"image\"?ve.arrayBuffer():j.type===\"json\"?ve.json():ve.text();let Ze=yield De;if(te.signal.aborted)throw ae();return{data:Ze,cacheControl:ve.headers.get(\"Cache-Control\"),expires:ve.headers.get(\"Expires\")}})}(R,S);if(q(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:R,mustQueue:!0,targetMapId:ke},S)}var D;return function(j,te){return new Promise((ue,ve)=>{var De;let Ze=new XMLHttpRequest;Ze.open(j.method||\"GET\",j.url,!0),j.type!==\"arrayBuffer\"&&j.type!==\"image\"||(Ze.responseType=\"arraybuffer\");for(let at in j.headers)Ze.setRequestHeader(at,j.headers[at]);j.type===\"json\"&&(Ze.responseType=\"text\",!((De=j.headers)===null||De===void 0)&&De.Accept||Ze.setRequestHeader(\"Accept\",\"application/json\")),Ze.withCredentials=j.credentials===\"include\",Ze.onerror=()=>{ve(new Error(Ze.statusText))},Ze.onload=()=>{if(!te.signal.aborted)if((Ze.status>=200&&Ze.status<300||Ze.status===0)&&Ze.response!==null){let at=Ze.response;if(j.type===\"json\")try{at=JSON.parse(Ze.response)}catch(Tt){return void ve(Tt)}ue({data:at,cacheControl:Ze.getResponseHeader(\"Cache-Control\"),expires:Ze.getResponseHeader(\"Expires\")})}else{let at=new Blob([Ze.response],{type:Ze.getResponseHeader(\"Content-Type\")});ve(new ge(Ze.status,Ze.statusText,j.url,at))}},te.signal.addEventListener(\"abort\",()=>{Ze.abort(),ve(ae())}),Ze.send(j.body)})}(R,S)};function Ee(R){if(!R||R.indexOf(\"://\")<=0||R.indexOf(\"data:image/\")===0||R.indexOf(\"blob:\")===0)return!0;let S=new URL(R),D=window.location;return S.protocol===D.protocol&&S.host===D.host}function Ae(R,S,D){D[R]&&D[R].indexOf(S)!==-1||(D[R]=D[R]||[],D[R].push(S))}function ze(R,S,D){if(D&&D[R]){let j=D[R].indexOf(S);j!==-1&&D[R].splice(j,1)}}class Ce{constructor(S,D={}){L(this,D),this.type=S}}class me extends Ce{constructor(S,D={}){super(\"error\",L({error:S},D))}}class Re{on(S,D){return this._listeners=this._listeners||{},Ae(S,D,this._listeners),this}off(S,D){return ze(S,D,this._listeners),ze(S,D,this._oneTimeListeners),this}once(S,D){return D?(this._oneTimeListeners=this._oneTimeListeners||{},Ae(S,D,this._oneTimeListeners),this):new Promise(j=>this.once(S,j))}fire(S,D){typeof S==\"string\"&&(S=new Ce(S,D||{}));let j=S.type;if(this.listens(j)){S.target=this;let te=this._listeners&&this._listeners[j]?this._listeners[j].slice():[];for(let De of te)De.call(this,S);let ue=this._oneTimeListeners&&this._oneTimeListeners[j]?this._oneTimeListeners[j].slice():[];for(let De of ue)ze(j,De,this._oneTimeListeners),De.call(this,S);let ve=this._eventedParent;ve&&(L(S,typeof this._eventedParentData==\"function\"?this._eventedParentData():this._eventedParentData),ve.fire(S))}else S instanceof me&&console.error(S.error);return this}listens(S){return this._listeners&&this._listeners[S]&&this._listeners[S].length>0||this._oneTimeListeners&&this._oneTimeListeners[S]&&this._oneTimeListeners[S].length>0||this._eventedParent&&this._eventedParent.listens(S)}setEventedParent(S,D){return this._eventedParent=S,this._eventedParentData=D,this}}var ce={$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\"}}};let Ge=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"];function nt(R,S){let D={};for(let j in R)j!==\"ref\"&&(D[j]=R[j]);return Ge.forEach(j=>{j in S&&(D[j]=S[j])}),D}function ct(R,S){if(Array.isArray(R)){if(!Array.isArray(S)||R.length!==S.length)return!1;for(let D=0;D<R.length;D++)if(!ct(R[D],S[D]))return!1;return!0}if(typeof R==\"object\"&&R!==null&&S!==null){if(typeof S!=\"object\"||Object.keys(R).length!==Object.keys(S).length)return!1;for(let D in R)if(!ct(R[D],S[D]))return!1;return!0}return R===S}function qt(R,S){R.push(S)}function rt(R,S,D){qt(D,{command:\"addSource\",args:[R,S[R]]})}function ot(R,S,D){qt(S,{command:\"removeSource\",args:[R]}),D[R]=!0}function Rt(R,S,D,j){ot(R,D,j),rt(R,S,D)}function kt(R,S,D){let j;for(j in R[D])if(Object.prototype.hasOwnProperty.call(R[D],j)&&j!==\"data\"&&!ct(R[D][j],S[D][j]))return!1;for(j in S[D])if(Object.prototype.hasOwnProperty.call(S[D],j)&&j!==\"data\"&&!ct(R[D][j],S[D][j]))return!1;return!0}function Ct(R,S,D,j,te,ue){R=R||{},S=S||{};for(let ve in R)Object.prototype.hasOwnProperty.call(R,ve)&&(ct(R[ve],S[ve])||D.push({command:ue,args:[j,ve,S[ve],te]}));for(let ve in S)Object.prototype.hasOwnProperty.call(S,ve)&&!Object.prototype.hasOwnProperty.call(R,ve)&&(ct(R[ve],S[ve])||D.push({command:ue,args:[j,ve,S[ve],te]}))}function Yt(R){return R.id}function xr(R,S){return R[S.id]=S,R}class er{constructor(S,D,j,te){this.message=(S?`${S}: `:\"\")+j,te&&(this.identifier=te),D!=null&&D.__line__&&(this.line=D.__line__)}}function Ke(R,...S){for(let D of S)for(let j in D)R[j]=D[j];return R}class xt extends Error{constructor(S,D){super(D),this.message=D,this.key=S}}class bt{constructor(S,D=[]){this.parent=S,this.bindings={};for(let[j,te]of D)this.bindings[j]=te}concat(S){return new bt(this,S)}get(S){if(this.bindings[S])return this.bindings[S];if(this.parent)return this.parent.get(S);throw new Error(`${S} not found in scope.`)}has(S){return!!this.bindings[S]||!!this.parent&&this.parent.has(S)}}let Lt={kind:\"null\"},St={kind:\"number\"},Et={kind:\"string\"},dt={kind:\"boolean\"},Ht={kind:\"color\"},$t={kind:\"object\"},fr={kind:\"value\"},_r={kind:\"collator\"},Br={kind:\"formatted\"},Or={kind:\"padding\"},Nr={kind:\"resolvedImage\"},ut={kind:\"variableAnchorOffsetCollection\"};function Ne(R,S){return{kind:\"array\",itemType:R,N:S}}function Ye(R){if(R.kind===\"array\"){let S=Ye(R.itemType);return typeof R.N==\"number\"?`array<${S}, ${R.N}>`:R.itemType.kind===\"value\"?\"array\":`array<${S}>`}return R.kind}let Ve=[Lt,St,Et,dt,Ht,Br,$t,Ne(fr),Or,Nr,ut];function Xe(R,S){if(S.kind===\"error\")return null;if(R.kind===\"array\"){if(S.kind===\"array\"&&(S.N===0&&S.itemType.kind===\"value\"||!Xe(R.itemType,S.itemType))&&(typeof R.N!=\"number\"||R.N===S.N))return null}else{if(R.kind===S.kind)return null;if(R.kind===\"value\"){for(let D of Ve)if(!Xe(D,S))return null}}return`Expected ${Ye(R)} but found ${Ye(S)} instead.`}function ht(R,S){return S.some(D=>D.kind===R.kind)}function Le(R,S){return S.some(D=>D===\"null\"?R===null:D===\"array\"?Array.isArray(R):D===\"object\"?R&&!Array.isArray(R)&&typeof R==\"object\":D===typeof R)}function xe(R,S){return R.kind===\"array\"&&S.kind===\"array\"?R.itemType.kind===S.itemType.kind&&typeof R.N==\"number\":R.kind===S.kind}let Se=.96422,lt=.82521,Gt=4/29,Vt=6/29,ar=3*Vt*Vt,Qr=Vt*Vt*Vt,ai=Math.PI/180,jr=180/Math.PI;function ri(R){return(R%=360)<0&&(R+=360),R}function bi([R,S,D,j]){let te,ue,ve=Wi((.2225045*(R=nn(R))+.7168786*(S=nn(S))+.0606169*(D=nn(D)))/1);R===S&&S===D?te=ue=ve:(te=Wi((.4360747*R+.3850649*S+.1430804*D)/Se),ue=Wi((.0139322*R+.0971045*S+.7141733*D)/lt));let De=116*ve-16;return[De<0?0:De,500*(te-ve),200*(ve-ue),j]}function nn(R){return R<=.04045?R/12.92:Math.pow((R+.055)/1.055,2.4)}function Wi(R){return R>Qr?Math.pow(R,1/3):R/ar+Gt}function Ni([R,S,D,j]){let te=(R+16)/116,ue=isNaN(S)?te:te+S/500,ve=isNaN(D)?te:te-D/200;return te=1*$i(te),ue=Se*$i(ue),ve=lt*$i(ve),[_n(3.1338561*ue-1.6168667*te-.4906146*ve),_n(-.9787684*ue+1.9161415*te+.033454*ve),_n(.0719453*ue-.2289914*te+1.4052427*ve),j]}function _n(R){return(R=R<=.00304?12.92*R:1.055*Math.pow(R,1/2.4)-.055)<0?0:R>1?1:R}function $i(R){return R>Vt?R*R*R:ar*(R-Gt)}function zn(R){return parseInt(R.padEnd(2,R),16)/255}function Wn(R,S){return It(S?R/100:R,0,1)}function It(R,S,D){return Math.min(Math.max(S,R),D)}function ft(R){return!R.some(Number.isNaN)}let jt={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 Zt{constructor(S,D,j,te=1,ue=!0){this.r=S,this.g=D,this.b=j,this.a=te,ue||(this.r*=te,this.g*=te,this.b*=te,te||this.overwriteGetter(\"rgb\",[S,D,j,te]))}static parse(S){if(S instanceof Zt)return S;if(typeof S!=\"string\")return;let D=function(j){if((j=j.toLowerCase().trim())===\"transparent\")return[0,0,0,0];let te=jt[j];if(te){let[ve,De,Ze]=te;return[ve/255,De/255,Ze/255,1]}if(j.startsWith(\"#\")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(j)){let ve=j.length<6?1:2,De=1;return[zn(j.slice(De,De+=ve)),zn(j.slice(De,De+=ve)),zn(j.slice(De,De+=ve)),zn(j.slice(De,De+ve)||\"ff\")]}if(j.startsWith(\"rgb\")){let ve=j.match(/^rgba?\\(\\s*([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(ve){let[De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di]=ve,pi=[Tt||\" \",sr||\" \",$r].join(\"\");if(pi===\" \"||pi===\" /\"||pi===\",,\"||pi===\",,,\"){let ki=[at,Qt,Pr].join(\"\"),Zi=ki===\"%%%\"?100:ki===\"\"?255:0;if(Zi){let ta=[It(+Ze/Zi,0,1),It(+Ft/Zi,0,1),It(+Tr/Zi,0,1),ni?Wn(+ni,Di):1];if(ft(ta))return ta}}return}}let ue=j.match(/^hsla?\\(\\s*([\\de.+-]+)(?:deg)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(ue){let[ve,De,Ze,at,Tt,Ft,Qt,sr,Tr]=ue,Pr=[Ze||\" \",Tt||\" \",Qt].join(\"\");if(Pr===\" \"||Pr===\" /\"||Pr===\",,\"||Pr===\",,,\"){let $r=[+De,It(+at,0,100),It(+Ft,0,100),sr?Wn(+sr,Tr):1];if(ft($r))return function([ni,Di,pi,ki]){function Zi(ta){let Va=(ta+ni/30)%12,Io=Di*Math.min(pi,1-pi);return pi-Io*Math.max(-1,Math.min(Va-3,9-Va,1))}return ni=ri(ni),Di/=100,pi/=100,[Zi(0),Zi(8),Zi(4),ki]}($r)}}}(S);return D?new Zt(...D,!1):void 0}get rgb(){let{r:S,g:D,b:j,a:te}=this,ue=te||1/0;return this.overwriteGetter(\"rgb\",[S/ue,D/ue,j/ue,te])}get hcl(){return this.overwriteGetter(\"hcl\",function(S){let[D,j,te,ue]=bi(S),ve=Math.sqrt(j*j+te*te);return[Math.round(1e4*ve)?ri(Math.atan2(te,j)*jr):NaN,ve,D,ue]}(this.rgb))}get lab(){return this.overwriteGetter(\"lab\",bi(this.rgb))}overwriteGetter(S,D){return Object.defineProperty(this,S,{value:D}),D}toString(){let[S,D,j,te]=this.rgb;return`rgba(${[S,D,j].map(ue=>Math.round(255*ue)).join(\",\")},${te})`}}Zt.black=new Zt(0,0,0,1),Zt.white=new Zt(1,1,1,1),Zt.transparent=new Zt(0,0,0,0),Zt.red=new Zt(1,0,0,1);class yr{constructor(S,D,j){this.sensitivity=S?D?\"variant\":\"case\":D?\"accent\":\"base\",this.locale=j,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})}compare(S,D){return this.collator.compare(S,D)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Fr{constructor(S,D,j,te,ue){this.text=S,this.image=D,this.scale=j,this.fontStack=te,this.textColor=ue}}class Zr{constructor(S){this.sections=S}static fromString(S){return new Zr([new Fr(S,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(S=>S.text.length!==0||S.image&&S.image.name.length!==0)}static factory(S){return S instanceof Zr?S:Zr.fromString(S)}toString(){return this.sections.length===0?\"\":this.sections.map(S=>S.text).join(\"\")}}class Vr{constructor(S){this.values=S.slice()}static parse(S){if(S instanceof Vr)return S;if(typeof S==\"number\")return new Vr([S,S,S,S]);if(Array.isArray(S)&&!(S.length<1||S.length>4)){for(let D of S)if(typeof D!=\"number\")return;switch(S.length){case 1:S=[S[0],S[0],S[0],S[0]];break;case 2:S=[S[0],S[1],S[0],S[1]];break;case 3:S=[S[0],S[1],S[2],S[1]]}return new Vr(S)}}toString(){return JSON.stringify(this.values)}}let gi=new Set([\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"]);class Si{constructor(S){this.values=S.slice()}static parse(S){if(S instanceof Si)return S;if(Array.isArray(S)&&!(S.length<1)&&S.length%2==0){for(let D=0;D<S.length;D+=2){let j=S[D],te=S[D+1];if(typeof j!=\"string\"||!gi.has(j)||!Array.isArray(te)||te.length!==2||typeof te[0]!=\"number\"||typeof te[1]!=\"number\")return}return new Si(S)}}toString(){return JSON.stringify(this.values)}}class Mi{constructor(S){this.name=S.name,this.available=S.available}toString(){return this.name}static fromString(S){return S?new Mi({name:S,available:!1}):null}}function Pi(R,S,D,j){return typeof R==\"number\"&&R>=0&&R<=255&&typeof S==\"number\"&&S>=0&&S<=255&&typeof D==\"number\"&&D>=0&&D<=255?j===void 0||typeof j==\"number\"&&j>=0&&j<=1?null:`Invalid rgba value [${[R,S,D,j].join(\", \")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof j==\"number\"?[R,S,D,j]:[R,S,D]).join(\", \")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Gi(R){if(R===null||typeof R==\"string\"||typeof R==\"boolean\"||typeof R==\"number\"||R instanceof Zt||R instanceof yr||R instanceof Zr||R instanceof Vr||R instanceof Si||R instanceof Mi)return!0;if(Array.isArray(R)){for(let S of R)if(!Gi(S))return!1;return!0}if(typeof R==\"object\"){for(let S in R)if(!Gi(R[S]))return!1;return!0}return!1}function Ki(R){if(R===null)return Lt;if(typeof R==\"string\")return Et;if(typeof R==\"boolean\")return dt;if(typeof R==\"number\")return St;if(R instanceof Zt)return Ht;if(R instanceof yr)return _r;if(R instanceof Zr)return Br;if(R instanceof Vr)return Or;if(R instanceof Si)return ut;if(R instanceof Mi)return Nr;if(Array.isArray(R)){let S=R.length,D;for(let j of R){let te=Ki(j);if(D){if(D===te)continue;D=fr;break}D=te}return Ne(D||fr,S)}return $t}function ka(R){let S=typeof R;return R===null?\"\":S===\"string\"||S===\"number\"||S===\"boolean\"?String(R):R instanceof Zt||R instanceof Zr||R instanceof Vr||R instanceof Si||R instanceof Mi?R.toString():JSON.stringify(R)}class jn{constructor(S,D){this.type=S,this.value=D}static parse(S,D){if(S.length!==2)return D.error(`'literal' expression requires exactly one argument, but found ${S.length-1} instead.`);if(!Gi(S[1]))return D.error(\"invalid value\");let j=S[1],te=Ki(j),ue=D.expectedType;return te.kind!==\"array\"||te.N!==0||!ue||ue.kind!==\"array\"||typeof ue.N==\"number\"&&ue.N!==0||(te=ue),new jn(te,j)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class la{constructor(S){this.name=\"ExpressionEvaluationError\",this.message=S}toJSON(){return this.message}}let Fa={string:Et,number:St,boolean:dt,object:$t};class Ra{constructor(S,D){this.type=S,this.args=D}static parse(S,D){if(S.length<2)return D.error(\"Expected at least one argument.\");let j,te=1,ue=S[0];if(ue===\"array\"){let De,Ze;if(S.length>2){let at=S[1];if(typeof at!=\"string\"||!(at in Fa)||at===\"object\")return D.error('The item type argument of \"array\" must be one of string, number, boolean',1);De=Fa[at],te++}else De=fr;if(S.length>3){if(S[2]!==null&&(typeof S[2]!=\"number\"||S[2]<0||S[2]!==Math.floor(S[2])))return D.error('The length argument to \"array\" must be a positive integer literal',2);Ze=S[2],te++}j=Ne(De,Ze)}else{if(!Fa[ue])throw new Error(`Types doesn't contain name = ${ue}`);j=Fa[ue]}let ve=[];for(;te<S.length;te++){let De=D.parse(S[te],te,fr);if(!De)return null;ve.push(De)}return new Ra(j,ve)}evaluate(S){for(let D=0;D<this.args.length;D++){let j=this.args[D].evaluate(S);if(!Xe(this.type,Ki(j)))return j;if(D===this.args.length-1)throw new la(`Expected value to be of type ${Ye(this.type)}, but found ${Ye(Ki(j))} instead.`)}throw new Error}eachChild(S){this.args.forEach(S)}outputDefined(){return this.args.every(S=>S.outputDefined())}}let jo={\"to-boolean\":dt,\"to-color\":Ht,\"to-number\":St,\"to-string\":Et};class oa{constructor(S,D){this.type=S,this.args=D}static parse(S,D){if(S.length<2)return D.error(\"Expected at least one argument.\");let j=S[0];if(!jo[j])throw new Error(`Can't parse ${j} as it is not part of the known types`);if((j===\"to-boolean\"||j===\"to-string\")&&S.length!==2)return D.error(\"Expected one argument.\");let te=jo[j],ue=[];for(let ve=1;ve<S.length;ve++){let De=D.parse(S[ve],ve,fr);if(!De)return null;ue.push(De)}return new oa(te,ue)}evaluate(S){switch(this.type.kind){case\"boolean\":return!!this.args[0].evaluate(S);case\"color\":{let D,j;for(let te of this.args){if(D=te.evaluate(S),j=null,D instanceof Zt)return D;if(typeof D==\"string\"){let ue=S.parseColor(D);if(ue)return ue}else if(Array.isArray(D)&&(j=D.length<3||D.length>4?`Invalid rbga value ${JSON.stringify(D)}: expected an array containing either three or four numeric values.`:Pi(D[0],D[1],D[2],D[3]),!j))return new Zt(D[0]/255,D[1]/255,D[2]/255,D[3])}throw new la(j||`Could not parse color from value '${typeof D==\"string\"?D:JSON.stringify(D)}'`)}case\"padding\":{let D;for(let j of this.args){D=j.evaluate(S);let te=Vr.parse(D);if(te)return te}throw new la(`Could not parse padding from value '${typeof D==\"string\"?D:JSON.stringify(D)}'`)}case\"variableAnchorOffsetCollection\":{let D;for(let j of this.args){D=j.evaluate(S);let te=Si.parse(D);if(te)return te}throw new la(`Could not parse variableAnchorOffsetCollection from value '${typeof D==\"string\"?D:JSON.stringify(D)}'`)}case\"number\":{let D=null;for(let j of this.args){if(D=j.evaluate(S),D===null)return 0;let te=Number(D);if(!isNaN(te))return te}throw new la(`Could not convert ${JSON.stringify(D)} to number.`)}case\"formatted\":return Zr.fromString(ka(this.args[0].evaluate(S)));case\"resolvedImage\":return Mi.fromString(ka(this.args[0].evaluate(S)));default:return ka(this.args[0].evaluate(S))}}eachChild(S){this.args.forEach(S)}outputDefined(){return this.args.every(S=>S.outputDefined())}}let Sn=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];class Ha{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?typeof this.feature.type==\"number\"?Sn[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(S){let D=this._parseColorCache[S];return D||(D=this._parseColorCache[S]=Zt.parse(S)),D}}class oo{constructor(S,D,j=[],te,ue=new bt,ve=[]){this.registry=S,this.path=j,this.key=j.map(De=>`[${De}]`).join(\"\"),this.scope=ue,this.errors=ve,this.expectedType=te,this._isConstant=D}parse(S,D,j,te,ue={}){return D?this.concat(D,j,te)._parse(S,ue):this._parse(S,ue)}_parse(S,D){function j(te,ue,ve){return ve===\"assert\"?new Ra(ue,[te]):ve===\"coerce\"?new oa(ue,[te]):te}if(S!==null&&typeof S!=\"string\"&&typeof S!=\"boolean\"&&typeof S!=\"number\"||(S=[\"literal\",S]),Array.isArray(S)){if(S.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');let te=S[0];if(typeof te!=\"string\")return this.error(`Expression name must be a string, but found ${typeof te} instead. If you wanted a literal array, use [\"literal\", [...]].`,0),null;let ue=this.registry[te];if(ue){let ve=ue.parse(S,this);if(!ve)return null;if(this.expectedType){let De=this.expectedType,Ze=ve.type;if(De.kind!==\"string\"&&De.kind!==\"number\"&&De.kind!==\"boolean\"&&De.kind!==\"object\"&&De.kind!==\"array\"||Ze.kind!==\"value\")if(De.kind!==\"color\"&&De.kind!==\"formatted\"&&De.kind!==\"resolvedImage\"||Ze.kind!==\"value\"&&Ze.kind!==\"string\")if(De.kind!==\"padding\"||Ze.kind!==\"value\"&&Ze.kind!==\"number\"&&Ze.kind!==\"array\")if(De.kind!==\"variableAnchorOffsetCollection\"||Ze.kind!==\"value\"&&Ze.kind!==\"array\"){if(this.checkSubtype(De,Ze))return null}else ve=j(ve,De,D.typeAnnotation||\"coerce\");else ve=j(ve,De,D.typeAnnotation||\"coerce\");else ve=j(ve,De,D.typeAnnotation||\"coerce\");else ve=j(ve,De,D.typeAnnotation||\"assert\")}if(!(ve instanceof jn)&&ve.type.kind!==\"resolvedImage\"&&this._isConstant(ve)){let De=new Ha;try{ve=new jn(ve.type,ve.evaluate(De))}catch(Ze){return this.error(Ze.message),null}}return ve}return this.error(`Unknown expression \"${te}\". If you wanted a literal array, use [\"literal\", [...]].`,0)}return this.error(S===void 0?\"'undefined' value invalid. Use null instead.\":typeof S==\"object\"?'Bare objects invalid. Use [\"literal\", {...}] instead.':`Expected an array, but found ${typeof S} instead.`)}concat(S,D,j){let te=typeof S==\"number\"?this.path.concat(S):this.path,ue=j?this.scope.concat(j):this.scope;return new oo(this.registry,this._isConstant,te,D||null,ue,this.errors)}error(S,...D){let j=`${this.key}${D.map(te=>`[${te}]`).join(\"\")}`;this.errors.push(new xt(j,S))}checkSubtype(S,D){let j=Xe(S,D);return j&&this.error(j),j}}class xn{constructor(S,D){this.type=D.type,this.bindings=[].concat(S),this.result=D}evaluate(S){return this.result.evaluate(S)}eachChild(S){for(let D of this.bindings)S(D[1]);S(this.result)}static parse(S,D){if(S.length<4)return D.error(`Expected at least 3 arguments, but found ${S.length-1} instead.`);let j=[];for(let ue=1;ue<S.length-1;ue+=2){let ve=S[ue];if(typeof ve!=\"string\")return D.error(`Expected string, but found ${typeof ve} instead.`,ue);if(/[^a-zA-Z0-9_]/.test(ve))return D.error(\"Variable names must contain only alphanumeric characters or '_'.\",ue);let De=D.parse(S[ue+1],ue+1);if(!De)return null;j.push([ve,De])}let te=D.parse(S[S.length-1],S.length-1,D.expectedType,j);return te?new xn(j,te):null}outputDefined(){return this.result.outputDefined()}}class _t{constructor(S,D){this.type=D.type,this.name=S,this.boundExpression=D}static parse(S,D){if(S.length!==2||typeof S[1]!=\"string\")return D.error(\"'var' expression requires exactly one string literal argument.\");let j=S[1];return D.scope.has(j)?new _t(j,D.scope.get(j)):D.error(`Unknown variable \"${j}\". Make sure \"${j}\" has been bound in an enclosing \"let\" expression before using it.`,1)}evaluate(S){return this.boundExpression.evaluate(S)}eachChild(){}outputDefined(){return!1}}class br{constructor(S,D,j){this.type=S,this.index=D,this.input=j}static parse(S,D){if(S.length!==3)return D.error(`Expected 2 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,St),te=D.parse(S[2],2,Ne(D.expectedType||fr));return j&&te?new br(te.type.itemType,j,te):null}evaluate(S){let D=this.index.evaluate(S),j=this.input.evaluate(S);if(D<0)throw new la(`Array index out of bounds: ${D} < 0.`);if(D>=j.length)throw new la(`Array index out of bounds: ${D} > ${j.length-1}.`);if(D!==Math.floor(D))throw new la(`Array index must be an integer, but found ${D} instead.`);return j[D]}eachChild(S){S(this.index),S(this.input)}outputDefined(){return!1}}class Hr{constructor(S,D){this.type=dt,this.needle=S,this.haystack=D}static parse(S,D){if(S.length!==3)return D.error(`Expected 2 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,fr),te=D.parse(S[2],2,fr);return j&&te?ht(j.type,[dt,Et,St,Lt,fr])?new Hr(j,te):D.error(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(j.type)} instead`):null}evaluate(S){let D=this.needle.evaluate(S),j=this.haystack.evaluate(S);if(!j)return!1;if(!Le(D,[\"boolean\",\"string\",\"number\",\"null\"]))throw new la(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(Ki(D))} instead.`);if(!Le(j,[\"string\",\"array\"]))throw new la(`Expected second argument to be of type array or string, but found ${Ye(Ki(j))} instead.`);return j.indexOf(D)>=0}eachChild(S){S(this.needle),S(this.haystack)}outputDefined(){return!0}}class ti{constructor(S,D,j){this.type=St,this.needle=S,this.haystack=D,this.fromIndex=j}static parse(S,D){if(S.length<=2||S.length>=5)return D.error(`Expected 3 or 4 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,fr),te=D.parse(S[2],2,fr);if(!j||!te)return null;if(!ht(j.type,[dt,Et,St,Lt,fr]))return D.error(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(j.type)} instead`);if(S.length===4){let ue=D.parse(S[3],3,St);return ue?new ti(j,te,ue):null}return new ti(j,te)}evaluate(S){let D=this.needle.evaluate(S),j=this.haystack.evaluate(S);if(!Le(D,[\"boolean\",\"string\",\"number\",\"null\"]))throw new la(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(Ki(D))} instead.`);let te;if(this.fromIndex&&(te=this.fromIndex.evaluate(S)),Le(j,[\"string\"])){let ue=j.indexOf(D,te);return ue===-1?-1:[...j.slice(0,ue)].length}if(Le(j,[\"array\"]))return j.indexOf(D,te);throw new la(`Expected second argument to be of type array or string, but found ${Ye(Ki(j))} instead.`)}eachChild(S){S(this.needle),S(this.haystack),this.fromIndex&&S(this.fromIndex)}outputDefined(){return!1}}class zi{constructor(S,D,j,te,ue,ve){this.inputType=S,this.type=D,this.input=j,this.cases=te,this.outputs=ue,this.otherwise=ve}static parse(S,D){if(S.length<5)return D.error(`Expected at least 4 arguments, but found only ${S.length-1}.`);if(S.length%2!=1)return D.error(\"Expected an even number of arguments.\");let j,te;D.expectedType&&D.expectedType.kind!==\"value\"&&(te=D.expectedType);let ue={},ve=[];for(let at=2;at<S.length-1;at+=2){let Tt=S[at],Ft=S[at+1];Array.isArray(Tt)||(Tt=[Tt]);let Qt=D.concat(at);if(Tt.length===0)return Qt.error(\"Expected at least one branch label.\");for(let Tr of Tt){if(typeof Tr!=\"number\"&&typeof Tr!=\"string\")return Qt.error(\"Branch labels must be numbers or strings.\");if(typeof Tr==\"number\"&&Math.abs(Tr)>Number.MAX_SAFE_INTEGER)return Qt.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof Tr==\"number\"&&Math.floor(Tr)!==Tr)return Qt.error(\"Numeric branch labels must be integer values.\");if(j){if(Qt.checkSubtype(j,Ki(Tr)))return null}else j=Ki(Tr);if(ue[String(Tr)]!==void 0)return Qt.error(\"Branch labels must be unique.\");ue[String(Tr)]=ve.length}let sr=D.parse(Ft,at,te);if(!sr)return null;te=te||sr.type,ve.push(sr)}let De=D.parse(S[1],1,fr);if(!De)return null;let Ze=D.parse(S[S.length-1],S.length-1,te);return Ze?De.type.kind!==\"value\"&&D.concat(1).checkSubtype(j,De.type)?null:new zi(j,te,De,ue,ve,Ze):null}evaluate(S){let D=this.input.evaluate(S);return(Ki(D)===this.inputType&&this.outputs[this.cases[D]]||this.otherwise).evaluate(S)}eachChild(S){S(this.input),this.outputs.forEach(S),S(this.otherwise)}outputDefined(){return this.outputs.every(S=>S.outputDefined())&&this.otherwise.outputDefined()}}class Yi{constructor(S,D,j){this.type=S,this.branches=D,this.otherwise=j}static parse(S,D){if(S.length<4)return D.error(`Expected at least 3 arguments, but found only ${S.length-1}.`);if(S.length%2!=0)return D.error(\"Expected an odd number of arguments.\");let j;D.expectedType&&D.expectedType.kind!==\"value\"&&(j=D.expectedType);let te=[];for(let ve=1;ve<S.length-1;ve+=2){let De=D.parse(S[ve],ve,dt);if(!De)return null;let Ze=D.parse(S[ve+1],ve+1,j);if(!Ze)return null;te.push([De,Ze]),j=j||Ze.type}let ue=D.parse(S[S.length-1],S.length-1,j);if(!ue)return null;if(!j)throw new Error(\"Can't infer output type\");return new Yi(j,te,ue)}evaluate(S){for(let[D,j]of this.branches)if(D.evaluate(S))return j.evaluate(S);return this.otherwise.evaluate(S)}eachChild(S){for(let[D,j]of this.branches)S(D),S(j);S(this.otherwise)}outputDefined(){return this.branches.every(([S,D])=>D.outputDefined())&&this.otherwise.outputDefined()}}class an{constructor(S,D,j,te){this.type=S,this.input=D,this.beginIndex=j,this.endIndex=te}static parse(S,D){if(S.length<=2||S.length>=5)return D.error(`Expected 3 or 4 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,fr),te=D.parse(S[2],2,St);if(!j||!te)return null;if(!ht(j.type,[Ne(fr),Et,fr]))return D.error(`Expected first argument to be of type array or string, but found ${Ye(j.type)} instead`);if(S.length===4){let ue=D.parse(S[3],3,St);return ue?new an(j.type,j,te,ue):null}return new an(j.type,j,te)}evaluate(S){let D=this.input.evaluate(S),j=this.beginIndex.evaluate(S),te;if(this.endIndex&&(te=this.endIndex.evaluate(S)),Le(D,[\"string\"]))return[...D].slice(j,te).join(\"\");if(Le(D,[\"array\"]))return D.slice(j,te);throw new la(`Expected first argument to be of type array or string, but found ${Ye(Ki(D))} instead.`)}eachChild(S){S(this.input),S(this.beginIndex),this.endIndex&&S(this.endIndex)}outputDefined(){return!1}}function hi(R,S){let D=R.length-1,j,te,ue=0,ve=D,De=0;for(;ue<=ve;)if(De=Math.floor((ue+ve)/2),j=R[De],te=R[De+1],j<=S){if(De===D||S<te)return De;ue=De+1}else{if(!(j>S))throw new la(\"Input is not a number.\");ve=De-1}return 0}class Ji{constructor(S,D,j){this.type=S,this.input=D,this.labels=[],this.outputs=[];for(let[te,ue]of j)this.labels.push(te),this.outputs.push(ue)}static parse(S,D){if(S.length-1<4)return D.error(`Expected at least 4 arguments, but found only ${S.length-1}.`);if((S.length-1)%2!=0)return D.error(\"Expected an even number of arguments.\");let j=D.parse(S[1],1,St);if(!j)return null;let te=[],ue=null;D.expectedType&&D.expectedType.kind!==\"value\"&&(ue=D.expectedType);for(let ve=1;ve<S.length;ve+=2){let De=ve===1?-1/0:S[ve],Ze=S[ve+1],at=ve,Tt=ve+1;if(typeof De!=\"number\")return D.error('Input/output pairs for \"step\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',at);if(te.length&&te[te.length-1][0]>=De)return D.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',at);let Ft=D.parse(Ze,Tt,ue);if(!Ft)return null;ue=ue||Ft.type,te.push([De,Ft])}return new Ji(ue,j,te)}evaluate(S){let D=this.labels,j=this.outputs;if(D.length===1)return j[0].evaluate(S);let te=this.input.evaluate(S);if(te<=D[0])return j[0].evaluate(S);let ue=D.length;return te>=D[ue-1]?j[ue-1].evaluate(S):j[hi(D,te)].evaluate(S)}eachChild(S){S(this.input);for(let D of this.outputs)S(D)}outputDefined(){return this.outputs.every(S=>S.outputDefined())}}function ua(R){return R&&R.__esModule&&Object.prototype.hasOwnProperty.call(R,\"default\")?R.default:R}var Fn=Sa;function Sa(R,S,D,j){this.cx=3*R,this.bx=3*(D-R)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*S,this.by=3*(j-S)-this.cy,this.ay=1-this.cy-this.by,this.p1x=R,this.p1y=S,this.p2x=D,this.p2y=j}Sa.prototype={sampleCurveX:function(R){return((this.ax*R+this.bx)*R+this.cx)*R},sampleCurveY:function(R){return((this.ay*R+this.by)*R+this.cy)*R},sampleCurveDerivativeX:function(R){return(3*this.ax*R+2*this.bx)*R+this.cx},solveCurveX:function(R,S){if(S===void 0&&(S=1e-6),R<0)return 0;if(R>1)return 1;for(var D=R,j=0;j<8;j++){var te=this.sampleCurveX(D)-R;if(Math.abs(te)<S)return D;var ue=this.sampleCurveDerivativeX(D);if(Math.abs(ue)<1e-6)break;D-=te/ue}var ve=0,De=1;for(D=R,j=0;j<20&&(te=this.sampleCurveX(D),!(Math.abs(te-R)<S));j++)R>te?ve=D:De=D,D=.5*(De-ve)+ve;return D},solve:function(R,S){return this.sampleCurveY(this.solveCurveX(R,S))}};var go=ua(Fn);function Oo(R,S,D){return R+D*(S-R)}function ho(R,S,D){return R.map((j,te)=>Oo(j,S[te],D))}let Mo={number:Oo,color:function(R,S,D,j=\"rgb\"){switch(j){case\"rgb\":{let[te,ue,ve,De]=ho(R.rgb,S.rgb,D);return new Zt(te,ue,ve,De,!1)}case\"hcl\":{let[te,ue,ve,De]=R.hcl,[Ze,at,Tt,Ft]=S.hcl,Qt,sr;if(isNaN(te)||isNaN(Ze))isNaN(te)?isNaN(Ze)?Qt=NaN:(Qt=Ze,ve!==1&&ve!==0||(sr=at)):(Qt=te,Tt!==1&&Tt!==0||(sr=ue));else{let Di=Ze-te;Ze>te&&Di>180?Di-=360:Ze<te&&te-Ze>180&&(Di+=360),Qt=te+D*Di}let[Tr,Pr,$r,ni]=function([Di,pi,ki,Zi]){return Di=isNaN(Di)?0:Di*ai,Ni([ki,Math.cos(Di)*pi,Math.sin(Di)*pi,Zi])}([Qt,sr!=null?sr:Oo(ue,at,D),Oo(ve,Tt,D),Oo(De,Ft,D)]);return new Zt(Tr,Pr,$r,ni,!1)}case\"lab\":{let[te,ue,ve,De]=Ni(ho(R.lab,S.lab,D));return new Zt(te,ue,ve,De,!1)}}},array:ho,padding:function(R,S,D){return new Vr(ho(R.values,S.values,D))},variableAnchorOffsetCollection:function(R,S,D){let j=R.values,te=S.values;if(j.length!==te.length)throw new la(`Cannot interpolate values of different length. from: ${R.toString()}, to: ${S.toString()}`);let ue=[];for(let ve=0;ve<j.length;ve+=2){if(j[ve]!==te[ve])throw new la(`Cannot interpolate values containing mismatched anchors. from[${ve}]: ${j[ve]}, to[${ve}]: ${te[ve]}`);ue.push(j[ve]);let[De,Ze]=j[ve+1],[at,Tt]=te[ve+1];ue.push([Oo(De,at,D),Oo(Ze,Tt,D)])}return new Si(ue)}};class xo{constructor(S,D,j,te,ue){this.type=S,this.operator=D,this.interpolation=j,this.input=te,this.labels=[],this.outputs=[];for(let[ve,De]of ue)this.labels.push(ve),this.outputs.push(De)}static interpolationFactor(S,D,j,te){let ue=0;if(S.name===\"exponential\")ue=zs(D,S.base,j,te);else if(S.name===\"linear\")ue=zs(D,1,j,te);else if(S.name===\"cubic-bezier\"){let ve=S.controlPoints;ue=new go(ve[0],ve[1],ve[2],ve[3]).solve(zs(D,1,j,te))}return ue}static parse(S,D){let[j,te,ue,...ve]=S;if(!Array.isArray(te)||te.length===0)return D.error(\"Expected an interpolation type expression.\",1);if(te[0]===\"linear\")te={name:\"linear\"};else if(te[0]===\"exponential\"){let at=te[1];if(typeof at!=\"number\")return D.error(\"Exponential interpolation requires a numeric base.\",1,1);te={name:\"exponential\",base:at}}else{if(te[0]!==\"cubic-bezier\")return D.error(`Unknown interpolation type ${String(te[0])}`,1,0);{let at=te.slice(1);if(at.length!==4||at.some(Tt=>typeof Tt!=\"number\"||Tt<0||Tt>1))return D.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);te={name:\"cubic-bezier\",controlPoints:at}}}if(S.length-1<4)return D.error(`Expected at least 4 arguments, but found only ${S.length-1}.`);if((S.length-1)%2!=0)return D.error(\"Expected an even number of arguments.\");if(ue=D.parse(ue,2,St),!ue)return null;let De=[],Ze=null;j===\"interpolate-hcl\"||j===\"interpolate-lab\"?Ze=Ht:D.expectedType&&D.expectedType.kind!==\"value\"&&(Ze=D.expectedType);for(let at=0;at<ve.length;at+=2){let Tt=ve[at],Ft=ve[at+1],Qt=at+3,sr=at+4;if(typeof Tt!=\"number\")return D.error('Input/output pairs for \"interpolate\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',Qt);if(De.length&&De[De.length-1][0]>=Tt)return D.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',Qt);let Tr=D.parse(Ft,sr,Ze);if(!Tr)return null;Ze=Ze||Tr.type,De.push([Tt,Tr])}return xe(Ze,St)||xe(Ze,Ht)||xe(Ze,Or)||xe(Ze,ut)||xe(Ze,Ne(St))?new xo(Ze,j,te,ue,De):D.error(`Type ${Ye(Ze)} is not interpolatable.`)}evaluate(S){let D=this.labels,j=this.outputs;if(D.length===1)return j[0].evaluate(S);let te=this.input.evaluate(S);if(te<=D[0])return j[0].evaluate(S);let ue=D.length;if(te>=D[ue-1])return j[ue-1].evaluate(S);let ve=hi(D,te),De=xo.interpolationFactor(this.interpolation,te,D[ve],D[ve+1]),Ze=j[ve].evaluate(S),at=j[ve+1].evaluate(S);switch(this.operator){case\"interpolate\":return Mo[this.type.kind](Ze,at,De);case\"interpolate-hcl\":return Mo.color(Ze,at,De,\"hcl\");case\"interpolate-lab\":return Mo.color(Ze,at,De,\"lab\")}}eachChild(S){S(this.input);for(let D of this.outputs)S(D)}outputDefined(){return this.outputs.every(S=>S.outputDefined())}}function zs(R,S,D,j){let te=j-D,ue=R-D;return te===0?0:S===1?ue/te:(Math.pow(S,ue)-1)/(Math.pow(S,te)-1)}class ks{constructor(S,D){this.type=S,this.args=D}static parse(S,D){if(S.length<2)return D.error(\"Expectected at least one argument.\");let j=null,te=D.expectedType;te&&te.kind!==\"value\"&&(j=te);let ue=[];for(let De of S.slice(1)){let Ze=D.parse(De,1+ue.length,j,void 0,{typeAnnotation:\"omit\"});if(!Ze)return null;j=j||Ze.type,ue.push(Ze)}if(!j)throw new Error(\"No output type\");let ve=te&&ue.some(De=>Xe(te,De.type));return new ks(ve?fr:j,ue)}evaluate(S){let D,j=null,te=0;for(let ue of this.args)if(te++,j=ue.evaluate(S),j&&j instanceof Mi&&!j.available&&(D||(D=j.name),j=null,te===this.args.length&&(j=D)),j!==null)break;return j}eachChild(S){this.args.forEach(S)}outputDefined(){return this.args.every(S=>S.outputDefined())}}function Zs(R,S){return R===\"==\"||R===\"!=\"?S.kind===\"boolean\"||S.kind===\"string\"||S.kind===\"number\"||S.kind===\"null\"||S.kind===\"value\":S.kind===\"string\"||S.kind===\"number\"||S.kind===\"value\"}function Xs(R,S,D,j){return j.compare(S,D)===0}function wl(R,S,D){let j=R!==\"==\"&&R!==\"!=\";return class GHe{constructor(ue,ve,De){this.type=dt,this.lhs=ue,this.rhs=ve,this.collator=De,this.hasUntypedArgument=ue.type.kind===\"value\"||ve.type.kind===\"value\"}static parse(ue,ve){if(ue.length!==3&&ue.length!==4)return ve.error(\"Expected two or three arguments.\");let De=ue[0],Ze=ve.parse(ue[1],1,fr);if(!Ze)return null;if(!Zs(De,Ze.type))return ve.concat(1).error(`\"${De}\" comparisons are not supported for type '${Ye(Ze.type)}'.`);let at=ve.parse(ue[2],2,fr);if(!at)return null;if(!Zs(De,at.type))return ve.concat(2).error(`\"${De}\" comparisons are not supported for type '${Ye(at.type)}'.`);if(Ze.type.kind!==at.type.kind&&Ze.type.kind!==\"value\"&&at.type.kind!==\"value\")return ve.error(`Cannot compare types '${Ye(Ze.type)}' and '${Ye(at.type)}'.`);j&&(Ze.type.kind===\"value\"&&at.type.kind!==\"value\"?Ze=new Ra(at.type,[Ze]):Ze.type.kind!==\"value\"&&at.type.kind===\"value\"&&(at=new Ra(Ze.type,[at])));let Tt=null;if(ue.length===4){if(Ze.type.kind!==\"string\"&&at.type.kind!==\"string\"&&Ze.type.kind!==\"value\"&&at.type.kind!==\"value\")return ve.error(\"Cannot use collator to compare non-string types.\");if(Tt=ve.parse(ue[3],3,_r),!Tt)return null}return new GHe(Ze,at,Tt)}evaluate(ue){let ve=this.lhs.evaluate(ue),De=this.rhs.evaluate(ue);if(j&&this.hasUntypedArgument){let Ze=Ki(ve),at=Ki(De);if(Ze.kind!==at.kind||Ze.kind!==\"string\"&&Ze.kind!==\"number\")throw new la(`Expected arguments for \"${R}\" to be (string, string) or (number, number), but found (${Ze.kind}, ${at.kind}) instead.`)}if(this.collator&&!j&&this.hasUntypedArgument){let Ze=Ki(ve),at=Ki(De);if(Ze.kind!==\"string\"||at.kind!==\"string\")return S(ue,ve,De)}return this.collator?D(ue,ve,De,this.collator.evaluate(ue)):S(ue,ve,De)}eachChild(ue){ue(this.lhs),ue(this.rhs),this.collator&&ue(this.collator)}outputDefined(){return!0}}}let os=wl(\"==\",function(R,S,D){return S===D},Xs),cl=wl(\"!=\",function(R,S,D){return S!==D},function(R,S,D,j){return!Xs(0,S,D,j)}),Cs=wl(\"<\",function(R,S,D){return S<D},function(R,S,D,j){return j.compare(S,D)<0}),ml=wl(\">\",function(R,S,D){return S>D},function(R,S,D,j){return j.compare(S,D)>0}),Ys=wl(\"<=\",function(R,S,D){return S<=D},function(R,S,D,j){return j.compare(S,D)<=0}),Hs=wl(\">=\",function(R,S,D){return S>=D},function(R,S,D,j){return j.compare(S,D)>=0});class Eo{constructor(S,D,j){this.type=_r,this.locale=j,this.caseSensitive=S,this.diacriticSensitive=D}static parse(S,D){if(S.length!==2)return D.error(\"Expected one argument.\");let j=S[1];if(typeof j!=\"object\"||Array.isArray(j))return D.error(\"Collator options argument must be an object.\");let te=D.parse(j[\"case-sensitive\"]!==void 0&&j[\"case-sensitive\"],1,dt);if(!te)return null;let ue=D.parse(j[\"diacritic-sensitive\"]!==void 0&&j[\"diacritic-sensitive\"],1,dt);if(!ue)return null;let ve=null;return j.locale&&(ve=D.parse(j.locale,1,Et),!ve)?null:new Eo(te,ue,ve)}evaluate(S){return new yr(this.caseSensitive.evaluate(S),this.diacriticSensitive.evaluate(S),this.locale?this.locale.evaluate(S):null)}eachChild(S){S(this.caseSensitive),S(this.diacriticSensitive),this.locale&&S(this.locale)}outputDefined(){return!1}}class fs{constructor(S,D,j,te,ue){this.type=Et,this.number=S,this.locale=D,this.currency=j,this.minFractionDigits=te,this.maxFractionDigits=ue}static parse(S,D){if(S.length!==3)return D.error(\"Expected two arguments.\");let j=D.parse(S[1],1,St);if(!j)return null;let te=S[2];if(typeof te!=\"object\"||Array.isArray(te))return D.error(\"NumberFormat options argument must be an object.\");let ue=null;if(te.locale&&(ue=D.parse(te.locale,1,Et),!ue))return null;let ve=null;if(te.currency&&(ve=D.parse(te.currency,1,Et),!ve))return null;let De=null;if(te[\"min-fraction-digits\"]&&(De=D.parse(te[\"min-fraction-digits\"],1,St),!De))return null;let Ze=null;return te[\"max-fraction-digits\"]&&(Ze=D.parse(te[\"max-fraction-digits\"],1,St),!Ze)?null:new fs(j,ue,ve,De,Ze)}evaluate(S){return new Intl.NumberFormat(this.locale?this.locale.evaluate(S):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(S):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(S):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(S):void 0}).format(this.number.evaluate(S))}eachChild(S){S(this.number),this.locale&&S(this.locale),this.currency&&S(this.currency),this.minFractionDigits&&S(this.minFractionDigits),this.maxFractionDigits&&S(this.maxFractionDigits)}outputDefined(){return!1}}class Ql{constructor(S){this.type=Br,this.sections=S}static parse(S,D){if(S.length<2)return D.error(\"Expected at least one argument.\");let j=S[1];if(!Array.isArray(j)&&typeof j==\"object\")return D.error(\"First argument must be an image or text section.\");let te=[],ue=!1;for(let ve=1;ve<=S.length-1;++ve){let De=S[ve];if(ue&&typeof De==\"object\"&&!Array.isArray(De)){ue=!1;let Ze=null;if(De[\"font-scale\"]&&(Ze=D.parse(De[\"font-scale\"],1,St),!Ze))return null;let at=null;if(De[\"text-font\"]&&(at=D.parse(De[\"text-font\"],1,Ne(Et)),!at))return null;let Tt=null;if(De[\"text-color\"]&&(Tt=D.parse(De[\"text-color\"],1,Ht),!Tt))return null;let Ft=te[te.length-1];Ft.scale=Ze,Ft.font=at,Ft.textColor=Tt}else{let Ze=D.parse(S[ve],1,fr);if(!Ze)return null;let at=Ze.type.kind;if(at!==\"string\"&&at!==\"value\"&&at!==\"null\"&&at!==\"resolvedImage\")return D.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");ue=!0,te.push({content:Ze,scale:null,font:null,textColor:null})}}return new Ql(te)}evaluate(S){return new Zr(this.sections.map(D=>{let j=D.content.evaluate(S);return Ki(j)===Nr?new Fr(\"\",j,null,null,null):new Fr(ka(j),null,D.scale?D.scale.evaluate(S):null,D.font?D.font.evaluate(S).join(\",\"):null,D.textColor?D.textColor.evaluate(S):null)}))}eachChild(S){for(let D of this.sections)S(D.content),D.scale&&S(D.scale),D.font&&S(D.font),D.textColor&&S(D.textColor)}outputDefined(){return!1}}class Hu{constructor(S){this.type=Nr,this.input=S}static parse(S,D){if(S.length!==2)return D.error(\"Expected two arguments.\");let j=D.parse(S[1],1,Et);return j?new Hu(j):D.error(\"No image name provided.\")}evaluate(S){let D=this.input.evaluate(S),j=Mi.fromString(D);return j&&S.availableImages&&(j.available=S.availableImages.indexOf(D)>-1),j}eachChild(S){S(this.input)}outputDefined(){return!1}}class fc{constructor(S){this.type=St,this.input=S}static parse(S,D){if(S.length!==2)return D.error(`Expected 1 argument, but found ${S.length-1} instead.`);let j=D.parse(S[1],1);return j?j.type.kind!==\"array\"&&j.type.kind!==\"string\"&&j.type.kind!==\"value\"?D.error(`Expected argument of type string or array, but found ${Ye(j.type)} instead.`):new fc(j):null}evaluate(S){let D=this.input.evaluate(S);if(typeof D==\"string\")return[...D].length;if(Array.isArray(D))return D.length;throw new la(`Expected value to be of type string or array, but found ${Ye(Ki(D))} instead.`)}eachChild(S){S(this.input)}outputDefined(){return!1}}let ms=8192;function on(R,S){let D=(180+R[0])/360,j=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+R[1]*Math.PI/360)))/360,te=Math.pow(2,S.z);return[Math.round(D*te*ms),Math.round(j*te*ms)]}function fa(R,S){let D=Math.pow(2,S.z);return[(te=(R[0]/ms+S.x)/D,360*te-180),(j=(R[1]/ms+S.y)/D,360/Math.PI*Math.atan(Math.exp((180-360*j)*Math.PI/180))-90)];var j,te}function Qu(R,S){R[0]=Math.min(R[0],S[0]),R[1]=Math.min(R[1],S[1]),R[2]=Math.max(R[2],S[0]),R[3]=Math.max(R[3],S[1])}function Rl(R,S){return!(R[0]<=S[0]||R[2]>=S[2]||R[1]<=S[1]||R[3]>=S[3])}function vo(R,S,D){let j=R[0]-S[0],te=R[1]-S[1],ue=R[0]-D[0],ve=R[1]-D[1];return j*ve-ue*te==0&&j*ue<=0&&te*ve<=0}function Zl(R,S,D,j){return(te=[j[0]-D[0],j[1]-D[1]])[0]*(ue=[S[0]-R[0],S[1]-R[1]])[1]-te[1]*ue[0]!=0&&!(!Co(R,S,D,j)||!Co(D,j,R,S));var te,ue}function Ks(R,S,D){for(let j of D)for(let te=0;te<j.length-1;++te)if(Zl(R,S,j[te],j[te+1]))return!0;return!1}function Xl(R,S,D=!1){let j=!1;for(let De of S)for(let Ze=0;Ze<De.length-1;Ze++){if(vo(R,De[Ze],De[Ze+1]))return D;(ue=De[Ze])[1]>(te=R)[1]!=(ve=De[Ze+1])[1]>te[1]&&te[0]<(ve[0]-ue[0])*(te[1]-ue[1])/(ve[1]-ue[1])+ue[0]&&(j=!j)}var te,ue,ve;return j}function Ec(R,S){for(let D of S)if(Xl(R,D))return!0;return!1}function Zn(R,S){for(let D of R)if(!Xl(D,S))return!1;for(let D=0;D<R.length-1;++D)if(Ks(R[D],R[D+1],S))return!1;return!0}function ko(R,S){for(let D of S)if(Zn(R,D))return!0;return!1}function Co(R,S,D,j){let te=j[0]-D[0],ue=j[1]-D[1],ve=(R[0]-D[0])*ue-te*(R[1]-D[1]),De=(S[0]-D[0])*ue-te*(S[1]-D[1]);return ve>0&&De<0||ve<0&&De>0}function Tl(R,S,D){let j=[];for(let te=0;te<R.length;te++){let ue=[];for(let ve=0;ve<R[te].length;ve++){let De=on(R[te][ve],D);Qu(S,De),ue.push(De)}j.push(ue)}return j}function uf(R,S,D){let j=[];for(let te=0;te<R.length;te++){let ue=Tl(R[te],S,D);j.push(ue)}return j}function So(R,S,D,j){if(R[0]<D[0]||R[0]>D[2]){let te=.5*j,ue=R[0]-D[0]>te?-j:D[0]-R[0]>te?j:0;ue===0&&(ue=R[0]-D[2]>te?-j:D[2]-R[0]>te?j:0),R[0]+=ue}Qu(S,R)}function cf(R,S,D,j){let te=Math.pow(2,j.z)*ms,ue=[j.x*ms,j.y*ms],ve=[];for(let De of R)for(let Ze of De){let at=[Ze.x+ue[0],Ze.y+ue[1]];So(at,S,D,te),ve.push(at)}return ve}function rh(R,S,D,j){let te=Math.pow(2,j.z)*ms,ue=[j.x*ms,j.y*ms],ve=[];for(let Ze of R){let at=[];for(let Tt of Ze){let Ft=[Tt.x+ue[0],Tt.y+ue[1]];Qu(S,Ft),at.push(Ft)}ve.push(at)}if(S[2]-S[0]<=te/2){(De=S)[0]=De[1]=1/0,De[2]=De[3]=-1/0;for(let Ze of ve)for(let at of Ze)So(at,S,D,te)}var De;return ve}class Al{constructor(S,D){this.type=dt,this.geojson=S,this.geometries=D}static parse(S,D){if(S.length!==2)return D.error(`'within' expression requires exactly one argument, but found ${S.length-1} instead.`);if(Gi(S[1])){let j=S[1];if(j.type===\"FeatureCollection\"){let te=[];for(let ue of j.features){let{type:ve,coordinates:De}=ue.geometry;ve===\"Polygon\"&&te.push(De),ve===\"MultiPolygon\"&&te.push(...De)}if(te.length)return new Al(j,{type:\"MultiPolygon\",coordinates:te})}else if(j.type===\"Feature\"){let te=j.geometry.type;if(te===\"Polygon\"||te===\"MultiPolygon\")return new Al(j,j.geometry)}else if(j.type===\"Polygon\"||j.type===\"MultiPolygon\")return new Al(j,j)}return D.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(S){if(S.geometry()!=null&&S.canonicalID()!=null){if(S.geometryType()===\"Point\")return function(D,j){let te=[1/0,1/0,-1/0,-1/0],ue=[1/0,1/0,-1/0,-1/0],ve=D.canonicalID();if(j.type===\"Polygon\"){let De=Tl(j.coordinates,ue,ve),Ze=cf(D.geometry(),te,ue,ve);if(!Rl(te,ue))return!1;for(let at of Ze)if(!Xl(at,De))return!1}if(j.type===\"MultiPolygon\"){let De=uf(j.coordinates,ue,ve),Ze=cf(D.geometry(),te,ue,ve);if(!Rl(te,ue))return!1;for(let at of Ze)if(!Ec(at,De))return!1}return!0}(S,this.geometries);if(S.geometryType()===\"LineString\")return function(D,j){let te=[1/0,1/0,-1/0,-1/0],ue=[1/0,1/0,-1/0,-1/0],ve=D.canonicalID();if(j.type===\"Polygon\"){let De=Tl(j.coordinates,ue,ve),Ze=rh(D.geometry(),te,ue,ve);if(!Rl(te,ue))return!1;for(let at of Ze)if(!Zn(at,De))return!1}if(j.type===\"MultiPolygon\"){let De=uf(j.coordinates,ue,ve),Ze=rh(D.geometry(),te,ue,ve);if(!Rl(te,ue))return!1;for(let at of Ze)if(!ko(at,De))return!1}return!0}(S,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let Hc=class{constructor(R=[],S=(D,j)=>D<j?-1:D>j?1:0){if(this.data=R,this.length=this.data.length,this.compare=S,this.length>0)for(let D=(this.length>>1)-1;D>=0;D--)this._down(D)}push(R){this.data.push(R),this._up(this.length++)}pop(){if(this.length===0)return;let R=this.data[0],S=this.data.pop();return--this.length>0&&(this.data[0]=S,this._down(0)),R}peek(){return this.data[0]}_up(R){let{data:S,compare:D}=this,j=S[R];for(;R>0;){let te=R-1>>1,ue=S[te];if(D(j,ue)>=0)break;S[R]=ue,R=te}S[R]=j}_down(R){let{data:S,compare:D}=this,j=this.length>>1,te=S[R];for(;R<j;){let ue=1+(R<<1),ve=ue+1;if(ve<this.length&&D(S[ve],S[ue])<0&&(ue=ve),D(S[ue],te)>=0)break;S[R]=S[ue],R=ue}S[R]=te}};function eu(R,S,D,j,te){Ls(R,S,D,j||R.length-1,te||kc)}function Ls(R,S,D,j,te){for(;j>D;){if(j-D>600){var ue=j-D+1,ve=S-D+1,De=Math.log(ue),Ze=.5*Math.exp(2*De/3),at=.5*Math.sqrt(De*Ze*(ue-Ze)/ue)*(ve-ue/2<0?-1:1);Ls(R,S,Math.max(D,Math.floor(S-ve*Ze/ue+at)),Math.min(j,Math.floor(S+(ue-ve)*Ze/ue+at)),te)}var Tt=R[S],Ft=D,Qt=j;for(mu(R,D,S),te(R[j],Tt)>0&&mu(R,D,j);Ft<Qt;){for(mu(R,Ft,Qt),Ft++,Qt--;te(R[Ft],Tt)<0;)Ft++;for(;te(R[Qt],Tt)>0;)Qt--}te(R[D],Tt)===0?mu(R,D,Qt):mu(R,++Qt,j),Qt<=S&&(D=Qt+1),S<=Qt&&(j=Qt-1)}}function mu(R,S,D){var j=R[S];R[S]=R[D],R[D]=j}function kc(R,S){return R<S?-1:R>S?1:0}function Of(R,S){if(R.length<=1)return[R];let D=[],j,te;for(let ue of R){let ve=vd(ue);ve!==0&&(ue.area=Math.abs(ve),te===void 0&&(te=ve<0),te===ve<0?(j&&D.push(j),j=[ue]):j.push(ue))}if(j&&D.push(j),S>1)for(let ue=0;ue<D.length;ue++)D[ue].length<=S||(eu(D[ue],S,1,D[ue].length-1,Gc),D[ue]=D[ue].slice(0,S));return D}function Gc(R,S){return S.area-R.area}function vd(R){let S=0;for(let D,j,te=0,ue=R.length,ve=ue-1;te<ue;ve=te++)D=R[te],j=R[ve],S+=(j.x-D.x)*(D.y+j.y);return S}let Bf=1/298.257223563,ss=Bf*(2-Bf),ff=Math.PI/180;class ih{constructor(S){let D=6378.137*ff*1e3,j=Math.cos(S*ff),te=1/(1-ss*(1-j*j)),ue=Math.sqrt(te);this.kx=D*ue*j,this.ky=D*ue*te*(1-ss)}distance(S,D){let j=this.wrap(S[0]-D[0])*this.kx,te=(S[1]-D[1])*this.ky;return Math.sqrt(j*j+te*te)}pointOnLine(S,D){let j,te,ue,ve,De=1/0;for(let Ze=0;Ze<S.length-1;Ze++){let at=S[Ze][0],Tt=S[Ze][1],Ft=this.wrap(S[Ze+1][0]-at)*this.kx,Qt=(S[Ze+1][1]-Tt)*this.ky,sr=0;Ft===0&&Qt===0||(sr=(this.wrap(D[0]-at)*this.kx*Ft+(D[1]-Tt)*this.ky*Qt)/(Ft*Ft+Qt*Qt),sr>1?(at=S[Ze+1][0],Tt=S[Ze+1][1]):sr>0&&(at+=Ft/this.kx*sr,Tt+=Qt/this.ky*sr)),Ft=this.wrap(D[0]-at)*this.kx,Qt=(D[1]-Tt)*this.ky;let Tr=Ft*Ft+Qt*Qt;Tr<De&&(De=Tr,j=at,te=Tt,ue=Ze,ve=sr)}return{point:[j,te],index:ue,t:Math.max(0,Math.min(1,ve))}}wrap(S){for(;S<-180;)S+=360;for(;S>180;)S-=360;return S}}function Vl(R,S){return S[0]-R[0]}function Js(R){return R[1]-R[0]+1}function hc(R,S){return R[1]>=R[0]&&R[1]<S}function Cc(R,S){if(R[0]>R[1])return[null,null];let D=Js(R);if(S){if(D===2)return[R,null];let te=Math.floor(D/2);return[[R[0],R[0]+te],[R[0]+te,R[1]]]}if(D===1)return[R,null];let j=Math.floor(D/2)-1;return[[R[0],R[0]+j],[R[0]+j+1,R[1]]]}function ws(R,S){if(!hc(S,R.length))return[1/0,1/0,-1/0,-1/0];let D=[1/0,1/0,-1/0,-1/0];for(let j=S[0];j<=S[1];++j)Qu(D,R[j]);return D}function $s(R){let S=[1/0,1/0,-1/0,-1/0];for(let D of R)for(let j of D)Qu(S,j);return S}function hs(R){return R[0]!==-1/0&&R[1]!==-1/0&&R[2]!==1/0&&R[3]!==1/0}function Ms(R,S,D){if(!hs(R)||!hs(S))return NaN;let j=0,te=0;return R[2]<S[0]&&(j=S[0]-R[2]),R[0]>S[2]&&(j=R[0]-S[2]),R[1]>S[3]&&(te=R[1]-S[3]),R[3]<S[1]&&(te=S[1]-R[3]),D.distance([0,0],[j,te])}function dc(R,S,D){let j=D.pointOnLine(S,R);return D.distance(R,j.point)}function Sl(R,S,D,j,te){let ue=Math.min(dc(R,[D,j],te),dc(S,[D,j],te)),ve=Math.min(dc(D,[R,S],te),dc(j,[R,S],te));return Math.min(ue,ve)}function ec(R,S,D,j,te){if(!hc(S,R.length)||!hc(j,D.length))return 1/0;let ue=1/0;for(let ve=S[0];ve<S[1];++ve){let De=R[ve],Ze=R[ve+1];for(let at=j[0];at<j[1];++at){let Tt=D[at],Ft=D[at+1];if(Zl(De,Ze,Tt,Ft))return 0;ue=Math.min(ue,Sl(De,Ze,Tt,Ft,te))}}return ue}function Ps(R,S,D,j,te){if(!hc(S,R.length)||!hc(j,D.length))return NaN;let ue=1/0;for(let ve=S[0];ve<=S[1];++ve)for(let De=j[0];De<=j[1];++De)if(ue=Math.min(ue,te.distance(R[ve],D[De])),ue===0)return ue;return ue}function ov(R,S,D){if(Xl(R,S,!0))return 0;let j=1/0;for(let te of S){let ue=te[0],ve=te[te.length-1];if(ue!==ve&&(j=Math.min(j,dc(R,[ve,ue],D)),j===0))return j;let De=D.pointOnLine(te,R);if(j=Math.min(j,D.distance(R,De.point)),j===0)return j}return j}function wo(R,S,D,j){if(!hc(S,R.length))return NaN;for(let ue=S[0];ue<=S[1];++ue)if(Xl(R[ue],D,!0))return 0;let te=1/0;for(let ue=S[0];ue<S[1];++ue){let ve=R[ue],De=R[ue+1];for(let Ze of D)for(let at=0,Tt=Ze.length,Ft=Tt-1;at<Tt;Ft=at++){let Qt=Ze[Ft],sr=Ze[at];if(Zl(ve,De,Qt,sr))return 0;te=Math.min(te,Sl(ve,De,Qt,sr,j))}}return te}function Od(R,S){for(let D of R)for(let j of D)if(Xl(j,S,!0))return!0;return!1}function $o(R,S,D,j=1/0){let te=$s(R),ue=$s(S);if(j!==1/0&&Ms(te,ue,D)>=j)return j;if(Rl(te,ue)){if(Od(R,S))return 0}else if(Od(S,R))return 0;let ve=1/0;for(let De of R)for(let Ze=0,at=De.length,Tt=at-1;Ze<at;Tt=Ze++){let Ft=De[Tt],Qt=De[Ze];for(let sr of S)for(let Tr=0,Pr=sr.length,$r=Pr-1;Tr<Pr;$r=Tr++){let ni=sr[$r],Di=sr[Tr];if(Zl(Ft,Qt,ni,Di))return 0;ve=Math.min(ve,Sl(Ft,Qt,ni,Di,D))}}return ve}function Ja(R,S,D,j,te,ue){if(!ue)return;let ve=Ms(ws(j,ue),te,D);ve<S&&R.push([ve,ue,[0,0]])}function Ef(R,S,D,j,te,ue,ve){if(!ue||!ve)return;let De=Ms(ws(j,ue),ws(te,ve),D);De<S&&R.push([De,ue,ve])}function tc(R,S,D,j,te=1/0){let ue=Math.min(j.distance(R[0],D[0][0]),te);if(ue===0)return ue;let ve=new Hc([[0,[0,R.length-1],[0,0]]],Vl),De=$s(D);for(;ve.length>0;){let Ze=ve.pop();if(Ze[0]>=ue)continue;let at=Ze[1],Tt=S?50:100;if(Js(at)<=Tt){if(!hc(at,R.length))return NaN;if(S){let Ft=wo(R,at,D,j);if(isNaN(Ft)||Ft===0)return Ft;ue=Math.min(ue,Ft)}else for(let Ft=at[0];Ft<=at[1];++Ft){let Qt=ov(R[Ft],D,j);if(ue=Math.min(ue,Qt),ue===0)return 0}}else{let Ft=Cc(at,S);Ja(ve,ue,j,R,De,Ft[0]),Ja(ve,ue,j,R,De,Ft[1])}}return ue}function uu(R,S,D,j,te,ue=1/0){let ve=Math.min(ue,te.distance(R[0],D[0]));if(ve===0)return ve;let De=new Hc([[0,[0,R.length-1],[0,D.length-1]]],Vl);for(;De.length>0;){let Ze=De.pop();if(Ze[0]>=ve)continue;let at=Ze[1],Tt=Ze[2],Ft=S?50:100,Qt=j?50:100;if(Js(at)<=Ft&&Js(Tt)<=Qt){if(!hc(at,R.length)&&hc(Tt,D.length))return NaN;let sr;if(S&&j)sr=ec(R,at,D,Tt,te),ve=Math.min(ve,sr);else if(S&&!j){let Tr=R.slice(at[0],at[1]+1);for(let Pr=Tt[0];Pr<=Tt[1];++Pr)if(sr=dc(D[Pr],Tr,te),ve=Math.min(ve,sr),ve===0)return ve}else if(!S&&j){let Tr=D.slice(Tt[0],Tt[1]+1);for(let Pr=at[0];Pr<=at[1];++Pr)if(sr=dc(R[Pr],Tr,te),ve=Math.min(ve,sr),ve===0)return ve}else sr=Ps(R,at,D,Tt,te),ve=Math.min(ve,sr)}else{let sr=Cc(at,S),Tr=Cc(Tt,j);Ef(De,ve,te,R,D,sr[0],Tr[0]),Ef(De,ve,te,R,D,sr[0],Tr[1]),Ef(De,ve,te,R,D,sr[1],Tr[0]),Ef(De,ve,te,R,D,sr[1],Tr[1])}}return ve}function Mh(R){return R.type===\"MultiPolygon\"?R.coordinates.map(S=>({type:\"Polygon\",coordinates:S})):R.type===\"MultiLineString\"?R.coordinates.map(S=>({type:\"LineString\",coordinates:S})):R.type===\"MultiPoint\"?R.coordinates.map(S=>({type:\"Point\",coordinates:S})):[R]}class jc{constructor(S,D){this.type=St,this.geojson=S,this.geometries=D}static parse(S,D){if(S.length!==2)return D.error(`'distance' expression requires exactly one argument, but found ${S.length-1} instead.`);if(Gi(S[1])){let j=S[1];if(j.type===\"FeatureCollection\")return new jc(j,j.features.map(te=>Mh(te.geometry)).flat());if(j.type===\"Feature\")return new jc(j,Mh(j.geometry));if(\"type\"in j&&\"coordinates\"in j)return new jc(j,Mh(j))}return D.error(\"'distance' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(S){if(S.geometry()!=null&&S.canonicalID()!=null){if(S.geometryType()===\"Point\")return function(D,j){let te=D.geometry(),ue=te.flat().map(Ze=>fa([Ze.x,Ze.y],D.canonical));if(te.length===0)return NaN;let ve=new ih(ue[0][1]),De=1/0;for(let Ze of j){switch(Ze.type){case\"Point\":De=Math.min(De,uu(ue,!1,[Ze.coordinates],!1,ve,De));break;case\"LineString\":De=Math.min(De,uu(ue,!1,Ze.coordinates,!0,ve,De));break;case\"Polygon\":De=Math.min(De,tc(ue,!1,Ze.coordinates,ve,De))}if(De===0)return De}return De}(S,this.geometries);if(S.geometryType()===\"LineString\")return function(D,j){let te=D.geometry(),ue=te.flat().map(Ze=>fa([Ze.x,Ze.y],D.canonical));if(te.length===0)return NaN;let ve=new ih(ue[0][1]),De=1/0;for(let Ze of j){switch(Ze.type){case\"Point\":De=Math.min(De,uu(ue,!0,[Ze.coordinates],!1,ve,De));break;case\"LineString\":De=Math.min(De,uu(ue,!0,Ze.coordinates,!0,ve,De));break;case\"Polygon\":De=Math.min(De,tc(ue,!0,Ze.coordinates,ve,De))}if(De===0)return De}return De}(S,this.geometries);if(S.geometryType()===\"Polygon\")return function(D,j){let te=D.geometry();if(te.length===0||te[0].length===0)return NaN;let ue=Of(te,0).map(Ze=>Ze.map(at=>at.map(Tt=>fa([Tt.x,Tt.y],D.canonical)))),ve=new ih(ue[0][0][0][1]),De=1/0;for(let Ze of j)for(let at of ue){switch(Ze.type){case\"Point\":De=Math.min(De,tc([Ze.coordinates],!1,at,ve,De));break;case\"LineString\":De=Math.min(De,tc(Ze.coordinates,!0,at,ve,De));break;case\"Polygon\":De=Math.min(De,$o(at,Ze.coordinates,ve,De))}if(De===0)return De}return De}(S,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}let kf={\"==\":os,\"!=\":cl,\">\":ml,\"<\":Cs,\">=\":Hs,\"<=\":Ys,array:Ra,at:br,boolean:Ra,case:Yi,coalesce:ks,collator:Eo,format:Ql,image:Hu,in:Hr,\"index-of\":ti,interpolate:xo,\"interpolate-hcl\":xo,\"interpolate-lab\":xo,length:fc,let:xn,literal:jn,match:zi,number:Ra,\"number-format\":fs,object:Ra,slice:an,step:Ji,string:Ra,\"to-boolean\":oa,\"to-color\":oa,\"to-number\":oa,\"to-string\":oa,var:_t,within:Al,distance:jc};class Ml{constructor(S,D,j,te){this.name=S,this.type=D,this._evaluate=j,this.args=te}evaluate(S){return this._evaluate(S,this.args)}eachChild(S){this.args.forEach(S)}outputDefined(){return!1}static parse(S,D){let j=S[0],te=Ml.definitions[j];if(!te)return D.error(`Unknown expression \"${j}\". If you wanted a literal array, use [\"literal\", [...]].`,0);let ue=Array.isArray(te)?te[0]:te.type,ve=Array.isArray(te)?[[te[1],te[2]]]:te.overloads,De=ve.filter(([at])=>!Array.isArray(at)||at.length===S.length-1),Ze=null;for(let[at,Tt]of De){Ze=new oo(D.registry,kh,D.path,null,D.scope);let Ft=[],Qt=!1;for(let sr=1;sr<S.length;sr++){let Tr=S[sr],Pr=Array.isArray(at)?at[sr-1]:at.type,$r=Ze.parse(Tr,1+Ft.length,Pr);if(!$r){Qt=!0;break}Ft.push($r)}if(!Qt)if(Array.isArray(at)&&at.length!==Ft.length)Ze.error(`Expected ${at.length} arguments, but found ${Ft.length} instead.`);else{for(let sr=0;sr<Ft.length;sr++){let Tr=Array.isArray(at)?at[sr]:at.type,Pr=Ft[sr];Ze.concat(sr+1).checkSubtype(Tr,Pr.type)}if(Ze.errors.length===0)return new Ml(j,ue,Tt,Ft)}}if(De.length===1)D.errors.push(...Ze.errors);else{let at=(De.length?De:ve).map(([Ft])=>{return Qt=Ft,Array.isArray(Qt)?`(${Qt.map(Ye).join(\", \")})`:`(${Ye(Qt.type)}...)`;var Qt}).join(\" | \"),Tt=[];for(let Ft=1;Ft<S.length;Ft++){let Qt=D.parse(S[Ft],1+Tt.length);if(!Qt)return null;Tt.push(Ye(Qt.type))}D.error(`Expected arguments of type ${at}, but found (${Tt.join(\", \")}) instead.`)}return null}static register(S,D){Ml.definitions=D;for(let j in D)S[j]=Ml}}function Yh(R,[S,D,j,te]){S=S.evaluate(R),D=D.evaluate(R),j=j.evaluate(R);let ue=te?te.evaluate(R):1,ve=Pi(S,D,j,ue);if(ve)throw new la(ve);return new Zt(S/255,D/255,j/255,ue,!1)}function Eh(R,S){return R in S}function nh(R,S){let D=S[R];return D===void 0?null:D}function hf(R){return{type:R}}function kh(R){if(R instanceof _t)return kh(R.boundExpression);if(R instanceof Ml&&R.name===\"error\"||R instanceof Eo||R instanceof Al||R instanceof jc)return!1;let S=R instanceof oa||R instanceof Ra,D=!0;return R.eachChild(j=>{D=S?D&&kh(j):D&&j instanceof jn}),!!D&&Kh(R)&&ah(R,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}function Kh(R){if(R instanceof Ml&&(R.name===\"get\"&&R.args.length===1||R.name===\"feature-state\"||R.name===\"has\"&&R.args.length===1||R.name===\"properties\"||R.name===\"geometry-type\"||R.name===\"id\"||/^filter-/.test(R.name))||R instanceof Al||R instanceof jc)return!1;let S=!0;return R.eachChild(D=>{S&&!Kh(D)&&(S=!1)}),S}function rc(R){if(R instanceof Ml&&R.name===\"feature-state\")return!1;let S=!0;return R.eachChild(D=>{S&&!rc(D)&&(S=!1)}),S}function ah(R,S){if(R instanceof Ml&&S.indexOf(R.name)>=0)return!1;let D=!0;return R.eachChild(j=>{D&&!ah(j,S)&&(D=!1)}),D}function Wc(R){return{result:\"success\",value:R}}function df(R){return{result:\"error\",value:R}}function Cu(R){return R[\"property-type\"]===\"data-driven\"||R[\"property-type\"]===\"cross-faded-data-driven\"}function Nf(R){return!!R.expression&&R.expression.parameters.indexOf(\"zoom\")>-1}function Zc(R){return!!R.expression&&R.expression.interpolated}function ds(R){return R instanceof Number?\"number\":R instanceof String?\"string\":R instanceof Boolean?\"boolean\":Array.isArray(R)?\"array\":R===null?\"null\":typeof R}function Ch(R){return typeof R==\"object\"&&R!==null&&!Array.isArray(R)}function Bd(R){return R}function Jh(R,S){let D=S.type===\"color\",j=R.stops&&typeof R.stops[0][0]==\"object\",te=j||!(j||R.property!==void 0),ue=R.type||(Zc(S)?\"exponential\":\"interval\");if(D||S.type===\"padding\"){let Tt=D?Zt.parse:Vr.parse;(R=Ke({},R)).stops&&(R.stops=R.stops.map(Ft=>[Ft[0],Tt(Ft[1])])),R.default=Tt(R.default?R.default:S.default)}if(R.colorSpace&&(ve=R.colorSpace)!==\"rgb\"&&ve!==\"hcl\"&&ve!==\"lab\")throw new Error(`Unknown color space: \"${R.colorSpace}\"`);var ve;let De,Ze,at;if(ue===\"exponential\")De=$h;else if(ue===\"interval\")De=Lu;else if(ue===\"categorical\"){De=pd,Ze=Object.create(null);for(let Tt of R.stops)Ze[Tt[0]]=Tt[1];at=typeof R.stops[0][0]}else{if(ue!==\"identity\")throw new Error(`Unknown function type \"${ue}\"`);De=tu}if(j){let Tt={},Ft=[];for(let Tr=0;Tr<R.stops.length;Tr++){let Pr=R.stops[Tr],$r=Pr[0].zoom;Tt[$r]===void 0&&(Tt[$r]={zoom:$r,type:R.type,property:R.property,default:R.default,stops:[]},Ft.push($r)),Tt[$r].stops.push([Pr[0].value,Pr[1]])}let Qt=[];for(let Tr of Ft)Qt.push([Tt[Tr].zoom,Jh(Tt[Tr],S)]);let sr={name:\"linear\"};return{kind:\"composite\",interpolationType:sr,interpolationFactor:xo.interpolationFactor.bind(void 0,sr),zoomStops:Qt.map(Tr=>Tr[0]),evaluate:({zoom:Tr},Pr)=>$h({stops:Qt,base:R.base},S,Tr).evaluate(Tr,Pr)}}if(te){let Tt=ue===\"exponential\"?{name:\"exponential\",base:R.base!==void 0?R.base:1}:null;return{kind:\"camera\",interpolationType:Tt,interpolationFactor:xo.interpolationFactor.bind(void 0,Tt),zoomStops:R.stops.map(Ft=>Ft[0]),evaluate:({zoom:Ft})=>De(R,S,Ft,Ze,at)}}return{kind:\"source\",evaluate(Tt,Ft){let Qt=Ft&&Ft.properties?Ft.properties[R.property]:void 0;return Qt===void 0?Cf(R.default,S.default):De(R,S,Qt,Ze,at)}}}function Cf(R,S,D){return R!==void 0?R:S!==void 0?S:D!==void 0?D:void 0}function pd(R,S,D,j,te){return Cf(typeof D===te?j[D]:void 0,R.default,S.default)}function Lu(R,S,D){if(ds(D)!==\"number\")return Cf(R.default,S.default);let j=R.stops.length;if(j===1||D<=R.stops[0][0])return R.stops[0][1];if(D>=R.stops[j-1][0])return R.stops[j-1][1];let te=hi(R.stops.map(ue=>ue[0]),D);return R.stops[te][1]}function $h(R,S,D){let j=R.base!==void 0?R.base:1;if(ds(D)!==\"number\")return Cf(R.default,S.default);let te=R.stops.length;if(te===1||D<=R.stops[0][0])return R.stops[0][1];if(D>=R.stops[te-1][0])return R.stops[te-1][1];let ue=hi(R.stops.map(Tt=>Tt[0]),D),ve=function(Tt,Ft,Qt,sr){let Tr=sr-Qt,Pr=Tt-Qt;return Tr===0?0:Ft===1?Pr/Tr:(Math.pow(Ft,Pr)-1)/(Math.pow(Ft,Tr)-1)}(D,j,R.stops[ue][0],R.stops[ue+1][0]),De=R.stops[ue][1],Ze=R.stops[ue+1][1],at=Mo[S.type]||Bd;return typeof De.evaluate==\"function\"?{evaluate(...Tt){let Ft=De.evaluate.apply(void 0,Tt),Qt=Ze.evaluate.apply(void 0,Tt);if(Ft!==void 0&&Qt!==void 0)return at(Ft,Qt,ve,R.colorSpace)}}:at(De,Ze,ve,R.colorSpace)}function tu(R,S,D){switch(S.type){case\"color\":D=Zt.parse(D);break;case\"formatted\":D=Zr.fromString(D.toString());break;case\"resolvedImage\":D=Mi.fromString(D.toString());break;case\"padding\":D=Vr.parse(D);break;default:ds(D)===S.type||S.type===\"enum\"&&S.values[D]||(D=void 0)}return Cf(D,R.default,S.default)}Ml.register(kf,{error:[{kind:\"error\"},[Et],(R,[S])=>{throw new la(S.evaluate(R))}],typeof:[Et,[fr],(R,[S])=>Ye(Ki(S.evaluate(R)))],\"to-rgba\":[Ne(St,4),[Ht],(R,[S])=>{let[D,j,te,ue]=S.evaluate(R).rgb;return[255*D,255*j,255*te,ue]}],rgb:[Ht,[St,St,St],Yh],rgba:[Ht,[St,St,St,St],Yh],has:{type:dt,overloads:[[[Et],(R,[S])=>Eh(S.evaluate(R),R.properties())],[[Et,$t],(R,[S,D])=>Eh(S.evaluate(R),D.evaluate(R))]]},get:{type:fr,overloads:[[[Et],(R,[S])=>nh(S.evaluate(R),R.properties())],[[Et,$t],(R,[S,D])=>nh(S.evaluate(R),D.evaluate(R))]]},\"feature-state\":[fr,[Et],(R,[S])=>nh(S.evaluate(R),R.featureState||{})],properties:[$t,[],R=>R.properties()],\"geometry-type\":[Et,[],R=>R.geometryType()],id:[fr,[],R=>R.id()],zoom:[St,[],R=>R.globals.zoom],\"heatmap-density\":[St,[],R=>R.globals.heatmapDensity||0],\"line-progress\":[St,[],R=>R.globals.lineProgress||0],accumulated:[fr,[],R=>R.globals.accumulated===void 0?null:R.globals.accumulated],\"+\":[St,hf(St),(R,S)=>{let D=0;for(let j of S)D+=j.evaluate(R);return D}],\"*\":[St,hf(St),(R,S)=>{let D=1;for(let j of S)D*=j.evaluate(R);return D}],\"-\":{type:St,overloads:[[[St,St],(R,[S,D])=>S.evaluate(R)-D.evaluate(R)],[[St],(R,[S])=>-S.evaluate(R)]]},\"/\":[St,[St,St],(R,[S,D])=>S.evaluate(R)/D.evaluate(R)],\"%\":[St,[St,St],(R,[S,D])=>S.evaluate(R)%D.evaluate(R)],ln2:[St,[],()=>Math.LN2],pi:[St,[],()=>Math.PI],e:[St,[],()=>Math.E],\"^\":[St,[St,St],(R,[S,D])=>Math.pow(S.evaluate(R),D.evaluate(R))],sqrt:[St,[St],(R,[S])=>Math.sqrt(S.evaluate(R))],log10:[St,[St],(R,[S])=>Math.log(S.evaluate(R))/Math.LN10],ln:[St,[St],(R,[S])=>Math.log(S.evaluate(R))],log2:[St,[St],(R,[S])=>Math.log(S.evaluate(R))/Math.LN2],sin:[St,[St],(R,[S])=>Math.sin(S.evaluate(R))],cos:[St,[St],(R,[S])=>Math.cos(S.evaluate(R))],tan:[St,[St],(R,[S])=>Math.tan(S.evaluate(R))],asin:[St,[St],(R,[S])=>Math.asin(S.evaluate(R))],acos:[St,[St],(R,[S])=>Math.acos(S.evaluate(R))],atan:[St,[St],(R,[S])=>Math.atan(S.evaluate(R))],min:[St,hf(St),(R,S)=>Math.min(...S.map(D=>D.evaluate(R)))],max:[St,hf(St),(R,S)=>Math.max(...S.map(D=>D.evaluate(R)))],abs:[St,[St],(R,[S])=>Math.abs(S.evaluate(R))],round:[St,[St],(R,[S])=>{let D=S.evaluate(R);return D<0?-Math.round(-D):Math.round(D)}],floor:[St,[St],(R,[S])=>Math.floor(S.evaluate(R))],ceil:[St,[St],(R,[S])=>Math.ceil(S.evaluate(R))],\"filter-==\":[dt,[Et,fr],(R,[S,D])=>R.properties()[S.value]===D.value],\"filter-id-==\":[dt,[fr],(R,[S])=>R.id()===S.value],\"filter-type-==\":[dt,[Et],(R,[S])=>R.geometryType()===S.value],\"filter-<\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j<te}],\"filter-id-<\":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D<j}],\"filter->\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j>te}],\"filter-id->\":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D>j}],\"filter-<=\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j<=te}],\"filter-id-<=\":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D<=j}],\"filter->=\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j>=te}],\"filter-id->=\":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D>=j}],\"filter-has\":[dt,[fr],(R,[S])=>S.value in R.properties()],\"filter-has-id\":[dt,[],R=>R.id()!==null&&R.id()!==void 0],\"filter-type-in\":[dt,[Ne(Et)],(R,[S])=>S.value.indexOf(R.geometryType())>=0],\"filter-id-in\":[dt,[Ne(fr)],(R,[S])=>S.value.indexOf(R.id())>=0],\"filter-in-small\":[dt,[Et,Ne(fr)],(R,[S,D])=>D.value.indexOf(R.properties()[S.value])>=0],\"filter-in-large\":[dt,[Et,Ne(fr)],(R,[S,D])=>function(j,te,ue,ve){for(;ue<=ve;){let De=ue+ve>>1;if(te[De]===j)return!0;te[De]>j?ve=De-1:ue=De+1}return!1}(R.properties()[S.value],D.value,0,D.value.length-1)],all:{type:dt,overloads:[[[dt,dt],(R,[S,D])=>S.evaluate(R)&&D.evaluate(R)],[hf(dt),(R,S)=>{for(let D of S)if(!D.evaluate(R))return!1;return!0}]]},any:{type:dt,overloads:[[[dt,dt],(R,[S,D])=>S.evaluate(R)||D.evaluate(R)],[hf(dt),(R,S)=>{for(let D of S)if(D.evaluate(R))return!0;return!1}]]},\"!\":[dt,[dt],(R,[S])=>!S.evaluate(R)],\"is-supported-script\":[dt,[Et],(R,[S])=>{let D=R.globals&&R.globals.isSupportedScript;return!D||D(S.evaluate(R))}],upcase:[Et,[Et],(R,[S])=>S.evaluate(R).toUpperCase()],downcase:[Et,[Et],(R,[S])=>S.evaluate(R).toLowerCase()],concat:[Et,hf(fr),(R,S)=>S.map(D=>ka(D.evaluate(R))).join(\"\")],\"resolved-locale\":[Et,[_r],(R,[S])=>S.evaluate(R).resolvedLocale()]});class Pu{constructor(S,D){var j;this.expression=S,this._warningHistory={},this._evaluator=new Ha,this._defaultValue=D?(j=D).type===\"color\"&&Ch(j.default)?new Zt(0,0,0,0):j.type===\"color\"?Zt.parse(j.default)||null:j.type===\"padding\"?Vr.parse(j.default)||null:j.type===\"variableAnchorOffsetCollection\"?Si.parse(j.default)||null:j.default===void 0?null:j.default:null,this._enumValues=D&&D.type===\"enum\"?D.values:null}evaluateWithoutErrorHandling(S,D,j,te,ue,ve){return this._evaluator.globals=S,this._evaluator.feature=D,this._evaluator.featureState=j,this._evaluator.canonical=te,this._evaluator.availableImages=ue||null,this._evaluator.formattedSection=ve,this.expression.evaluate(this._evaluator)}evaluate(S,D,j,te,ue,ve){this._evaluator.globals=S,this._evaluator.feature=D||null,this._evaluator.featureState=j||null,this._evaluator.canonical=te,this._evaluator.availableImages=ue||null,this._evaluator.formattedSection=ve||null;try{let De=this.expression.evaluate(this._evaluator);if(De==null||typeof De==\"number\"&&De!=De)return this._defaultValue;if(this._enumValues&&!(De in this._enumValues))throw new la(`Expected value to be one of ${Object.keys(this._enumValues).map(Ze=>JSON.stringify(Ze)).join(\", \")}, but found ${JSON.stringify(De)} instead.`);return De}catch(De){return this._warningHistory[De.message]||(this._warningHistory[De.message]=!0,typeof console!=\"undefined\"&&console.warn(De.message)),this._defaultValue}}}function Lc(R){return Array.isArray(R)&&R.length>0&&typeof R[0]==\"string\"&&R[0]in kf}function fl(R,S){let D=new oo(kf,kh,[],S?function(te){let ue={color:Ht,string:Et,number:St,enum:Et,boolean:dt,formatted:Br,padding:Or,resolvedImage:Nr,variableAnchorOffsetCollection:ut};return te.type===\"array\"?Ne(ue[te.value]||fr,te.length):ue[te.type]}(S):void 0),j=D.parse(R,void 0,void 0,void 0,S&&S.type===\"string\"?{typeAnnotation:\"coerce\"}:void 0);return j?Wc(new Pu(j,S)):df(D.errors)}class Xc{constructor(S,D){this.kind=S,this._styleExpression=D,this.isStateDependent=S!==\"constant\"&&!rc(D.expression)}evaluateWithoutErrorHandling(S,D,j,te,ue,ve){return this._styleExpression.evaluateWithoutErrorHandling(S,D,j,te,ue,ve)}evaluate(S,D,j,te,ue,ve){return this._styleExpression.evaluate(S,D,j,te,ue,ve)}}class ic{constructor(S,D,j,te){this.kind=S,this.zoomStops=j,this._styleExpression=D,this.isStateDependent=S!==\"camera\"&&!rc(D.expression),this.interpolationType=te}evaluateWithoutErrorHandling(S,D,j,te,ue,ve){return this._styleExpression.evaluateWithoutErrorHandling(S,D,j,te,ue,ve)}evaluate(S,D,j,te,ue,ve){return this._styleExpression.evaluate(S,D,j,te,ue,ve)}interpolationFactor(S,D,j){return this.interpolationType?xo.interpolationFactor(this.interpolationType,S,D,j):0}}function yu(R,S){let D=fl(R,S);if(D.result===\"error\")return D;let j=D.value.expression,te=Kh(j);if(!te&&!Cu(S))return df([new xt(\"\",\"data expressions not supported\")]);let ue=ah(j,[\"zoom\"]);if(!ue&&!Nf(S))return df([new xt(\"\",\"zoom expressions not supported\")]);let ve=Qh(j);return ve||ue?ve instanceof xt?df([ve]):ve instanceof xo&&!Zc(S)?df([new xt(\"\",'\"interpolate\" expressions cannot be used with this property')]):Wc(ve?new ic(te?\"camera\":\"composite\",D.value,ve.labels,ve instanceof xo?ve.interpolation:void 0):new Xc(te?\"constant\":\"source\",D.value)):df([new xt(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}class Qs{constructor(S,D){this._parameters=S,this._specification=D,Ke(this,Jh(this._parameters,this._specification))}static deserialize(S){return new Qs(S._parameters,S._specification)}static serialize(S){return{_parameters:S._parameters,_specification:S._specification}}}function Qh(R){let S=null;if(R instanceof xn)S=Qh(R.result);else if(R instanceof ks){for(let D of R.args)if(S=Qh(D),S)break}else(R instanceof Ji||R instanceof xo)&&R.input instanceof Ml&&R.input.name===\"zoom\"&&(S=R);return S instanceof xt||R.eachChild(D=>{let j=Qh(D);j instanceof xt?S=j:!S&&j?S=new xt(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):S&&j&&S!==j&&(S=new xt(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))}),S}function gd(R){if(R===!0||R===!1)return!0;if(!Array.isArray(R)||R.length===0)return!1;switch(R[0]){case\"has\":return R.length>=2&&R[1]!==\"$id\"&&R[1]!==\"$type\";case\"in\":return R.length>=3&&(typeof R[1]!=\"string\"||Array.isArray(R[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return R.length!==3||Array.isArray(R[1])||Array.isArray(R[2]);case\"any\":case\"all\":for(let S of R.slice(1))if(!gd(S)&&typeof S!=\"boolean\")return!1;return!0;default:return!0}}let Gu={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function Pc(R){if(R==null)return{filter:()=>!0,needGeometry:!1};gd(R)||(R=Lf(R));let S=fl(R,Gu);if(S.result===\"error\")throw new Error(S.value.map(D=>`${D.key}: ${D.message}`).join(\", \"));return{filter:(D,j,te)=>S.value.evaluate(D,j,{},te),needGeometry:sv(R)}}function vc(R,S){return R<S?-1:R>S?1:0}function sv(R){if(!Array.isArray(R))return!1;if(R[0]===\"within\"||R[0]===\"distance\")return!0;for(let S=1;S<R.length;S++)if(sv(R[S]))return!0;return!1}function Lf(R){if(!R)return!0;let S=R[0];return R.length<=1?S!==\"any\":S===\"==\"?Uf(R[1],R[2],\"==\"):S===\"!=\"?ru(Uf(R[1],R[2],\"==\")):S===\"<\"||S===\">\"||S===\"<=\"||S===\">=\"?Uf(R[1],R[2],S):S===\"any\"?(D=R.slice(1),[\"any\"].concat(D.map(Lf))):S===\"all\"?[\"all\"].concat(R.slice(1).map(Lf)):S===\"none\"?[\"all\"].concat(R.slice(1).map(Lf).map(ru)):S===\"in\"?Iu(R[1],R.slice(2)):S===\"!in\"?ru(Iu(R[1],R.slice(2))):S===\"has\"?oh(R[1]):S!==\"!has\"||ru(oh(R[1]));var D}function Uf(R,S,D){switch(R){case\"$type\":return[`filter-type-${D}`,S];case\"$id\":return[`filter-id-${D}`,S];default:return[`filter-${D}`,R,S]}}function Iu(R,S){if(S.length===0)return!1;switch(R){case\"$type\":return[\"filter-type-in\",[\"literal\",S]];case\"$id\":return[\"filter-id-in\",[\"literal\",S]];default:return S.length>200&&!S.some(D=>typeof D!=typeof S[0])?[\"filter-in-large\",R,[\"literal\",S.sort(vc)]]:[\"filter-in-small\",R,[\"literal\",S]]}}function oh(R){switch(R){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",R]}}function ru(R){return[\"!\",R]}function vf(R){let S=typeof R;if(S===\"number\"||S===\"boolean\"||S===\"string\"||R==null)return JSON.stringify(R);if(Array.isArray(R)){let te=\"[\";for(let ue of R)te+=`${vf(ue)},`;return`${te}]`}let D=Object.keys(R).sort(),j=\"{\";for(let te=0;te<D.length;te++)j+=`${JSON.stringify(D[te])}:${vf(R[D[te]])},`;return`${j}}`}function md(R){let S=\"\";for(let D of Ge)S+=`/${vf(R[D])}`;return S}function sh(R){let S=R.value;return S?[new er(R.key,S,\"constants have been deprecated as of v8\")]:[]}function Fs(R){return R instanceof Number||R instanceof String||R instanceof Boolean?R.valueOf():R}function _u(R){if(Array.isArray(R))return R.map(_u);if(R instanceof Object&&!(R instanceof Number||R instanceof String||R instanceof Boolean)){let S={};for(let D in R)S[D]=_u(R[D]);return S}return Fs(R)}function xu(R){let S=R.key,D=R.value,j=R.valueSpec||{},te=R.objectElementValidators||{},ue=R.style,ve=R.styleSpec,De=R.validateSpec,Ze=[],at=ds(D);if(at!==\"object\")return[new er(S,D,`object expected, ${at} found`)];for(let Tt in D){let Ft=Tt.split(\".\")[0],Qt=j[Ft]||j[\"*\"],sr;if(te[Ft])sr=te[Ft];else if(j[Ft])sr=De;else if(te[\"*\"])sr=te[\"*\"];else{if(!j[\"*\"]){Ze.push(new er(S,D[Tt],`unknown property \"${Tt}\"`));continue}sr=De}Ze=Ze.concat(sr({key:(S&&`${S}.`)+Tt,value:D[Tt],valueSpec:Qt,style:ue,styleSpec:ve,object:D,objectKey:Tt,validateSpec:De},D))}for(let Tt in j)te[Tt]||j[Tt].required&&j[Tt].default===void 0&&D[Tt]===void 0&&Ze.push(new er(S,D,`missing required property \"${Tt}\"`));return Ze}function Lh(R){let S=R.value,D=R.valueSpec,j=R.style,te=R.styleSpec,ue=R.key,ve=R.arrayElementValidator||R.validateSpec;if(ds(S)!==\"array\")return[new er(ue,S,`array expected, ${ds(S)} found`)];if(D.length&&S.length!==D.length)return[new er(ue,S,`array length ${D.length} expected, length ${S.length} found`)];if(D[\"min-length\"]&&S.length<D[\"min-length\"])return[new er(ue,S,`array length at least ${D[\"min-length\"]} expected, length ${S.length} found`)];let De={type:D.value,values:D.values};te.$version<7&&(De.function=D.function),ds(D.value)===\"object\"&&(De=D.value);let Ze=[];for(let at=0;at<S.length;at++)Ze=Ze.concat(ve({array:S,arrayIndex:at,value:S[at],valueSpec:De,validateSpec:R.validateSpec,style:j,styleSpec:te,key:`${ue}[${at}]`}));return Ze}function Is(R){let S=R.key,D=R.value,j=R.valueSpec,te=ds(D);return te===\"number\"&&D!=D&&(te=\"NaN\"),te!==\"number\"?[new er(S,D,`number expected, ${te} found`)]:\"minimum\"in j&&D<j.minimum?[new er(S,D,`${D} is less than the minimum value ${j.minimum}`)]:\"maximum\"in j&&D>j.maximum?[new er(S,D,`${D} is greater than the maximum value ${j.maximum}`)]:[]}function Pf(R){let S=R.valueSpec,D=Fs(R.value.type),j,te,ue,ve={},De=D!==\"categorical\"&&R.value.property===void 0,Ze=!De,at=ds(R.value.stops)===\"array\"&&ds(R.value.stops[0])===\"array\"&&ds(R.value.stops[0][0])===\"object\",Tt=xu({key:R.key,value:R.value,valueSpec:R.styleSpec.function,validateSpec:R.validateSpec,style:R.style,styleSpec:R.styleSpec,objectElementValidators:{stops:function(sr){if(D===\"identity\")return[new er(sr.key,sr.value,'identity function may not have a \"stops\" property')];let Tr=[],Pr=sr.value;return Tr=Tr.concat(Lh({key:sr.key,value:Pr,valueSpec:sr.valueSpec,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec,arrayElementValidator:Ft})),ds(Pr)===\"array\"&&Pr.length===0&&Tr.push(new er(sr.key,Pr,\"array must have at least one stop\")),Tr},default:function(sr){return sr.validateSpec({key:sr.key,value:sr.value,valueSpec:S,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec})}}});return D===\"identity\"&&De&&Tt.push(new er(R.key,R.value,'missing required property \"property\"')),D===\"identity\"||R.value.stops||Tt.push(new er(R.key,R.value,'missing required property \"stops\"')),D===\"exponential\"&&R.valueSpec.expression&&!Zc(R.valueSpec)&&Tt.push(new er(R.key,R.value,\"exponential functions not supported\")),R.styleSpec.$version>=8&&(Ze&&!Cu(R.valueSpec)?Tt.push(new er(R.key,R.value,\"property functions not supported\")):De&&!Nf(R.valueSpec)&&Tt.push(new er(R.key,R.value,\"zoom functions not supported\"))),D!==\"categorical\"&&!at||R.value.property!==void 0||Tt.push(new er(R.key,R.value,'\"property\" property is required')),Tt;function Ft(sr){let Tr=[],Pr=sr.value,$r=sr.key;if(ds(Pr)!==\"array\")return[new er($r,Pr,`array expected, ${ds(Pr)} found`)];if(Pr.length!==2)return[new er($r,Pr,`array length 2 expected, length ${Pr.length} found`)];if(at){if(ds(Pr[0])!==\"object\")return[new er($r,Pr,`object expected, ${ds(Pr[0])} found`)];if(Pr[0].zoom===void 0)return[new er($r,Pr,\"object stop key must have zoom\")];if(Pr[0].value===void 0)return[new er($r,Pr,\"object stop key must have value\")];if(ue&&ue>Fs(Pr[0].zoom))return[new er($r,Pr[0].zoom,\"stop zoom values must appear in ascending order\")];Fs(Pr[0].zoom)!==ue&&(ue=Fs(Pr[0].zoom),te=void 0,ve={}),Tr=Tr.concat(xu({key:`${$r}[0]`,value:Pr[0],valueSpec:{zoom:{}},validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec,objectElementValidators:{zoom:Is,value:Qt}}))}else Tr=Tr.concat(Qt({key:`${$r}[0]`,value:Pr[0],valueSpec:{},validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec},Pr));return Lc(_u(Pr[1]))?Tr.concat([new er(`${$r}[1]`,Pr[1],\"expressions are not allowed in function stops.\")]):Tr.concat(sr.validateSpec({key:`${$r}[1]`,value:Pr[1],valueSpec:S,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec}))}function Qt(sr,Tr){let Pr=ds(sr.value),$r=Fs(sr.value),ni=sr.value!==null?sr.value:Tr;if(j){if(Pr!==j)return[new er(sr.key,ni,`${Pr} stop domain type must match previous stop domain type ${j}`)]}else j=Pr;if(Pr!==\"number\"&&Pr!==\"string\"&&Pr!==\"boolean\")return[new er(sr.key,ni,\"stop domain value must be a number, string, or boolean\")];if(Pr!==\"number\"&&D!==\"categorical\"){let Di=`number expected, ${Pr} found`;return Cu(S)&&D===void 0&&(Di+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new er(sr.key,ni,Di)]}return D!==\"categorical\"||Pr!==\"number\"||isFinite($r)&&Math.floor($r)===$r?D!==\"categorical\"&&Pr===\"number\"&&te!==void 0&&$r<te?[new er(sr.key,ni,\"stop domain values must appear in ascending order\")]:(te=$r,D===\"categorical\"&&$r in ve?[new er(sr.key,ni,\"stop domain values must be unique\")]:(ve[$r]=!0,[])):[new er(sr.key,ni,`integer expected, found ${$r}`)]}}function Ic(R){let S=(R.expressionContext===\"property\"?yu:fl)(_u(R.value),R.valueSpec);if(S.result===\"error\")return S.value.map(j=>new er(`${R.key}${j.key}`,R.value,j.message));let D=S.value.expression||S.value._styleExpression.expression;if(R.expressionContext===\"property\"&&R.propertyKey===\"text-font\"&&!D.outputDefined())return[new er(R.key,R.value,`Invalid data expression for \"${R.propertyKey}\". Output values must be contained as literals within the expression.`)];if(R.expressionContext===\"property\"&&R.propertyType===\"layout\"&&!rc(D))return[new er(R.key,R.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(R.expressionContext===\"filter\"&&!rc(D))return[new er(R.key,R.value,'\"feature-state\" data expressions are not supported with filters.')];if(R.expressionContext&&R.expressionContext.indexOf(\"cluster\")===0){if(!ah(D,[\"zoom\",\"feature-state\"]))return[new er(R.key,R.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(R.expressionContext===\"cluster-initial\"&&!Kh(D))return[new er(R.key,R.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function ju(R){let S=R.key,D=R.value,j=R.valueSpec,te=[];return Array.isArray(j.values)?j.values.indexOf(Fs(D))===-1&&te.push(new er(S,D,`expected one of [${j.values.join(\", \")}], ${JSON.stringify(D)} found`)):Object.keys(j.values).indexOf(Fs(D))===-1&&te.push(new er(S,D,`expected one of [${Object.keys(j.values).join(\", \")}], ${JSON.stringify(D)} found`)),te}function Vf(R){return gd(_u(R.value))?Ic(Ke({},R,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):pc(R)}function pc(R){let S=R.value,D=R.key;if(ds(S)!==\"array\")return[new er(D,S,`array expected, ${ds(S)} found`)];let j=R.styleSpec,te,ue=[];if(S.length<1)return[new er(D,S,\"filter array must have at least 1 element\")];switch(ue=ue.concat(ju({key:`${D}[0]`,value:S[0],valueSpec:j.filter_operator,style:R.style,styleSpec:R.styleSpec})),Fs(S[0])){case\"<\":case\"<=\":case\">\":case\">=\":S.length>=2&&Fs(S[1])===\"$type\"&&ue.push(new er(D,S,`\"$type\" cannot be use with operator \"${S[0]}\"`));case\"==\":case\"!=\":S.length!==3&&ue.push(new er(D,S,`filter array for operator \"${S[0]}\" must have 3 elements`));case\"in\":case\"!in\":S.length>=2&&(te=ds(S[1]),te!==\"string\"&&ue.push(new er(`${D}[1]`,S[1],`string expected, ${te} found`)));for(let ve=2;ve<S.length;ve++)te=ds(S[ve]),Fs(S[1])===\"$type\"?ue=ue.concat(ju({key:`${D}[${ve}]`,value:S[ve],valueSpec:j.geometry_type,style:R.style,styleSpec:R.styleSpec})):te!==\"string\"&&te!==\"number\"&&te!==\"boolean\"&&ue.push(new er(`${D}[${ve}]`,S[ve],`string, number, or boolean expected, ${te} found`));break;case\"any\":case\"all\":case\"none\":for(let ve=1;ve<S.length;ve++)ue=ue.concat(pc({key:`${D}[${ve}]`,value:S[ve],style:R.style,styleSpec:R.styleSpec}));break;case\"has\":case\"!has\":te=ds(S[1]),S.length!==2?ue.push(new er(D,S,`filter array for \"${S[0]}\" operator must have 2 elements`)):te!==\"string\"&&ue.push(new er(`${D}[1]`,S[1],`string expected, ${te} found`))}return ue}function pf(R,S){let D=R.key,j=R.validateSpec,te=R.style,ue=R.styleSpec,ve=R.value,De=R.objectKey,Ze=ue[`${S}_${R.layerType}`];if(!Ze)return[];let at=De.match(/^(.*)-transition$/);if(S===\"paint\"&&at&&Ze[at[1]]&&Ze[at[1]].transition)return j({key:D,value:ve,valueSpec:ue.transition,style:te,styleSpec:ue});let Tt=R.valueSpec||Ze[De];if(!Tt)return[new er(D,ve,`unknown property \"${De}\"`)];let Ft;if(ds(ve)===\"string\"&&Cu(Tt)&&!Tt.tokens&&(Ft=/^{([^}]+)}$/.exec(ve)))return[new er(D,ve,`\"${De}\" does not support interpolation syntax\n", - "Use an identity property function instead: \\`{ \"type\": \"identity\", \"property\": ${JSON.stringify(Ft[1])} }\\`.`)];let Qt=[];return R.layerType===\"symbol\"&&(De===\"text-field\"&&te&&!te.glyphs&&Qt.push(new er(D,ve,'use of \"text-field\" requires a style \"glyphs\" property')),De===\"text-font\"&&Ch(_u(ve))&&Fs(ve.type)===\"identity\"&&Qt.push(new er(D,ve,'\"text-font\" does not support identity functions'))),Qt.concat(j({key:R.key,value:ve,valueSpec:Tt,style:te,styleSpec:ue,expressionContext:\"property\",propertyType:S,propertyKey:De}))}function Ph(R){return pf(R,\"paint\")}function Dl(R){return pf(R,\"layout\")}function Ih(R){let S=[],D=R.value,j=R.key,te=R.style,ue=R.styleSpec;D.type||D.ref||S.push(new er(j,D,'either \"type\" or \"ref\" is required'));let ve=Fs(D.type),De=Fs(D.ref);if(D.id){let Ze=Fs(D.id);for(let at=0;at<R.arrayIndex;at++){let Tt=te.layers[at];Fs(Tt.id)===Ze&&S.push(new er(j,D.id,`duplicate layer id \"${D.id}\", previously used at line ${Tt.id.__line__}`))}}if(\"ref\"in D){let Ze;[\"type\",\"source\",\"source-layer\",\"filter\",\"layout\"].forEach(at=>{at in D&&S.push(new er(j,D[at],`\"${at}\" is prohibited for ref layers`))}),te.layers.forEach(at=>{Fs(at.id)===De&&(Ze=at)}),Ze?Ze.ref?S.push(new er(j,D.ref,\"ref cannot reference another ref layer\")):ve=Fs(Ze.type):S.push(new er(j,D.ref,`ref layer \"${De}\" not found`))}else if(ve!==\"background\")if(D.source){let Ze=te.sources&&te.sources[D.source],at=Ze&&Fs(Ze.type);Ze?at===\"vector\"&&ve===\"raster\"?S.push(new er(j,D.source,`layer \"${D.id}\" requires a raster source`)):at!==\"raster-dem\"&&ve===\"hillshade\"?S.push(new er(j,D.source,`layer \"${D.id}\" requires a raster-dem source`)):at===\"raster\"&&ve!==\"raster\"?S.push(new er(j,D.source,`layer \"${D.id}\" requires a vector source`)):at!==\"vector\"||D[\"source-layer\"]?at===\"raster-dem\"&&ve!==\"hillshade\"?S.push(new er(j,D.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):ve!==\"line\"||!D.paint||!D.paint[\"line-gradient\"]||at===\"geojson\"&&Ze.lineMetrics||S.push(new er(j,D,`layer \"${D.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):S.push(new er(j,D,`layer \"${D.id}\" must specify a \"source-layer\"`)):S.push(new er(j,D.source,`source \"${D.source}\" not found`))}else S.push(new er(j,D,'missing required property \"source\"'));return S=S.concat(xu({key:j,value:D,valueSpec:ue.layer,style:R.style,styleSpec:R.styleSpec,validateSpec:R.validateSpec,objectElementValidators:{\"*\":()=>[],type:()=>R.validateSpec({key:`${j}.type`,value:D.type,valueSpec:ue.layer.type,style:R.style,styleSpec:R.styleSpec,validateSpec:R.validateSpec,object:D,objectKey:\"type\"}),filter:Vf,layout:Ze=>xu({layer:D,key:Ze.key,value:Ze.value,style:Ze.style,styleSpec:Ze.styleSpec,validateSpec:Ze.validateSpec,objectElementValidators:{\"*\":at=>Dl(Ke({layerType:ve},at))}}),paint:Ze=>xu({layer:D,key:Ze.key,value:Ze.value,style:Ze.style,styleSpec:Ze.styleSpec,validateSpec:Ze.validateSpec,objectElementValidators:{\"*\":at=>Ph(Ke({layerType:ve},at))}})}})),S}function Wu(R){let S=R.value,D=R.key,j=ds(S);return j!==\"string\"?[new er(D,S,`string expected, ${j} found`)]:[]}let Rc={promoteId:function({key:R,value:S}){if(ds(S)===\"string\")return Wu({key:R,value:S});{let D=[];for(let j in S)D.push(...Wu({key:`${R}.${j}`,value:S[j]}));return D}}};function gc(R){let S=R.value,D=R.key,j=R.styleSpec,te=R.style,ue=R.validateSpec;if(!S.type)return[new er(D,S,'\"type\" is required')];let ve=Fs(S.type),De;switch(ve){case\"vector\":case\"raster\":return De=xu({key:D,value:S,valueSpec:j[`source_${ve.replace(\"-\",\"_\")}`],style:R.style,styleSpec:j,objectElementValidators:Rc,validateSpec:ue}),De;case\"raster-dem\":return De=function(Ze){var at;let Tt=(at=Ze.sourceName)!==null&&at!==void 0?at:\"\",Ft=Ze.value,Qt=Ze.styleSpec,sr=Qt.source_raster_dem,Tr=Ze.style,Pr=[],$r=ds(Ft);if(Ft===void 0)return Pr;if($r!==\"object\")return Pr.push(new er(\"source_raster_dem\",Ft,`object expected, ${$r} found`)),Pr;let ni=Fs(Ft.encoding)===\"custom\",Di=[\"redFactor\",\"greenFactor\",\"blueFactor\",\"baseShift\"],pi=Ze.value.encoding?`\"${Ze.value.encoding}\"`:\"Default\";for(let ki in Ft)!ni&&Di.includes(ki)?Pr.push(new er(ki,Ft[ki],`In \"${Tt}\": \"${ki}\" is only valid when \"encoding\" is set to \"custom\". ${pi} encoding found`)):sr[ki]?Pr=Pr.concat(Ze.validateSpec({key:ki,value:Ft[ki],valueSpec:sr[ki],validateSpec:Ze.validateSpec,style:Tr,styleSpec:Qt})):Pr.push(new er(ki,Ft[ki],`unknown property \"${ki}\"`));return Pr}({sourceName:D,value:S,style:R.style,styleSpec:j,validateSpec:ue}),De;case\"geojson\":if(De=xu({key:D,value:S,valueSpec:j.source_geojson,style:te,styleSpec:j,validateSpec:ue,objectElementValidators:Rc}),S.cluster)for(let Ze in S.clusterProperties){let[at,Tt]=S.clusterProperties[Ze],Ft=typeof at==\"string\"?[at,[\"accumulated\"],[\"get\",Ze]]:at;De.push(...Ic({key:`${D}.${Ze}.map`,value:Tt,validateSpec:ue,expressionContext:\"cluster-map\"})),De.push(...Ic({key:`${D}.${Ze}.reduce`,value:Ft,validateSpec:ue,expressionContext:\"cluster-reduce\"}))}return De;case\"video\":return xu({key:D,value:S,valueSpec:j.source_video,style:te,validateSpec:ue,styleSpec:j});case\"image\":return xu({key:D,value:S,valueSpec:j.source_image,style:te,validateSpec:ue,styleSpec:j});case\"canvas\":return[new er(D,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return ju({key:`${D}.type`,value:S.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:te,validateSpec:ue,styleSpec:j})}}function hl(R){let S=R.value,D=R.styleSpec,j=D.light,te=R.style,ue=[],ve=ds(S);if(S===void 0)return ue;if(ve!==\"object\")return ue=ue.concat([new er(\"light\",S,`object expected, ${ve} found`)]),ue;for(let De in S){let Ze=De.match(/^(.*)-transition$/);ue=ue.concat(Ze&&j[Ze[1]]&&j[Ze[1]].transition?R.validateSpec({key:De,value:S[De],valueSpec:D.transition,validateSpec:R.validateSpec,style:te,styleSpec:D}):j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],validateSpec:R.validateSpec,style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)])}return ue}function iu(R){let S=R.value,D=R.styleSpec,j=D.sky,te=R.style,ue=ds(S);if(S===void 0)return[];if(ue!==\"object\")return[new er(\"sky\",S,`object expected, ${ue} found`)];let ve=[];for(let De in S)ve=ve.concat(j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)]);return ve}function mc(R){let S=R.value,D=R.styleSpec,j=D.terrain,te=R.style,ue=[],ve=ds(S);if(S===void 0)return ue;if(ve!==\"object\")return ue=ue.concat([new er(\"terrain\",S,`object expected, ${ve} found`)]),ue;for(let De in S)ue=ue.concat(j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],validateSpec:R.validateSpec,style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)]);return ue}function Yc(R){let S=[],D=R.value,j=R.key;if(Array.isArray(D)){let te=[],ue=[];for(let ve in D)D[ve].id&&te.includes(D[ve].id)&&S.push(new er(j,D,`all the sprites' ids must be unique, but ${D[ve].id} is duplicated`)),te.push(D[ve].id),D[ve].url&&ue.includes(D[ve].url)&&S.push(new er(j,D,`all the sprites' URLs must be unique, but ${D[ve].url} is duplicated`)),ue.push(D[ve].url),S=S.concat(xu({key:`${j}[${ve}]`,value:D[ve],valueSpec:{id:{type:\"string\",required:!0},url:{type:\"string\",required:!0}},validateSpec:R.validateSpec}));return S}return Wu({key:j,value:D})}let nc={\"*\":()=>[],array:Lh,boolean:function(R){let S=R.value,D=R.key,j=ds(S);return j!==\"boolean\"?[new er(D,S,`boolean expected, ${j} found`)]:[]},number:Is,color:function(R){let S=R.key,D=R.value,j=ds(D);return j!==\"string\"?[new er(S,D,`color expected, ${j} found`)]:Zt.parse(String(D))?[]:[new er(S,D,`color expected, \"${D}\" found`)]},constants:sh,enum:ju,filter:Vf,function:Pf,layer:Ih,object:xu,source:gc,light:hl,sky:iu,terrain:mc,projection:function(R){let S=R.value,D=R.styleSpec,j=D.projection,te=R.style,ue=ds(S);if(S===void 0)return[];if(ue!==\"object\")return[new er(\"projection\",S,`object expected, ${ue} found`)];let ve=[];for(let De in S)ve=ve.concat(j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)]);return ve},string:Wu,formatted:function(R){return Wu(R).length===0?[]:Ic(R)},resolvedImage:function(R){return Wu(R).length===0?[]:Ic(R)},padding:function(R){let S=R.key,D=R.value;if(ds(D)===\"array\"){if(D.length<1||D.length>4)return[new er(S,D,`padding requires 1 to 4 values; ${D.length} values found`)];let j={type:\"number\"},te=[];for(let ue=0;ue<D.length;ue++)te=te.concat(R.validateSpec({key:`${S}[${ue}]`,value:D[ue],validateSpec:R.validateSpec,valueSpec:j}));return te}return Is({key:S,value:D,valueSpec:{}})},variableAnchorOffsetCollection:function(R){let S=R.key,D=R.value,j=ds(D),te=R.styleSpec;if(j!==\"array\"||D.length<1||D.length%2!=0)return[new er(S,D,\"variableAnchorOffsetCollection requires a non-empty array of even length\")];let ue=[];for(let ve=0;ve<D.length;ve+=2)ue=ue.concat(ju({key:`${S}[${ve}]`,value:D[ve],valueSpec:te.layout_symbol[\"text-anchor\"]})),ue=ue.concat(Lh({key:`${S}[${ve+1}]`,value:D[ve+1],valueSpec:{length:2,value:\"number\"},validateSpec:R.validateSpec,style:R.style,styleSpec:te}));return ue},sprite:Yc};function gf(R){let S=R.value,D=R.valueSpec,j=R.styleSpec;return R.validateSpec=gf,D.expression&&Ch(Fs(S))?Pf(R):D.expression&&Lc(_u(S))?Ic(R):D.type&&nc[D.type]?nc[D.type](R):xu(Ke({},R,{valueSpec:D.type?j[D.type]:D}))}function gt(R){let S=R.value,D=R.key,j=Wu(R);return j.length||(S.indexOf(\"{fontstack}\")===-1&&j.push(new er(D,S,'\"glyphs\" url must include a \"{fontstack}\" token')),S.indexOf(\"{range}\")===-1&&j.push(new er(D,S,'\"glyphs\" url must include a \"{range}\" token'))),j}function Bt(R,S=ce){let D=[];return D=D.concat(gf({key:\"\",value:R,valueSpec:S.$root,styleSpec:S,style:R,validateSpec:gf,objectElementValidators:{glyphs:gt,\"*\":()=>[]}})),R.constants&&(D=D.concat(sh({key:\"constants\",value:R.constants,style:R,styleSpec:S,validateSpec:gf}))),vr(D)}function wr(R){return function(S){return R($Q(JQ({},S),{validateSpec:gf}))}}function vr(R){return[].concat(R).sort((S,D)=>S.line-D.line)}function Ur(R){return function(...S){return vr(R.apply(this,S))}}Bt.source=Ur(wr(gc)),Bt.sprite=Ur(wr(Yc)),Bt.glyphs=Ur(wr(gt)),Bt.light=Ur(wr(hl)),Bt.sky=Ur(wr(iu)),Bt.terrain=Ur(wr(mc)),Bt.layer=Ur(wr(Ih)),Bt.filter=Ur(wr(Vf)),Bt.paintProperty=Ur(wr(Ph)),Bt.layoutProperty=Ur(wr(Dl));let fi=Bt,xi=fi.light,Fi=fi.sky,Xi=fi.paintProperty,hn=fi.layoutProperty;function Ti(R,S){let D=!1;if(S&&S.length)for(let j of S)R.fire(new me(new Error(j.message))),D=!0;return D}class qi{constructor(S,D,j){let te=this.cells=[];if(S instanceof ArrayBuffer){this.arrayBuffer=S;let ve=new Int32Array(this.arrayBuffer);S=ve[0],this.d=(D=ve[1])+2*(j=ve[2]);for(let Ze=0;Ze<this.d*this.d;Ze++){let at=ve[3+Ze],Tt=ve[3+Ze+1];te.push(at===Tt?null:ve.subarray(at,Tt))}let De=ve[3+te.length+1];this.keys=ve.subarray(ve[3+te.length],De),this.bboxes=ve.subarray(De),this.insert=this._insertReadonly}else{this.d=D+2*j;for(let ve=0;ve<this.d*this.d;ve++)te.push([]);this.keys=[],this.bboxes=[]}this.n=D,this.extent=S,this.padding=j,this.scale=D/S,this.uid=0;let ue=j/D*S;this.min=-ue,this.max=S+ue}insert(S,D,j,te,ue){this._forEachCell(D,j,te,ue,this._insertCell,this.uid++,void 0,void 0),this.keys.push(S),this.bboxes.push(D),this.bboxes.push(j),this.bboxes.push(te),this.bboxes.push(ue)}_insertReadonly(){throw new Error(\"Cannot insert into a GridIndex created from an ArrayBuffer.\")}_insertCell(S,D,j,te,ue,ve){this.cells[ue].push(ve)}query(S,D,j,te,ue){let ve=this.min,De=this.max;if(S<=ve&&D<=ve&&De<=j&&De<=te&&!ue)return Array.prototype.slice.call(this.keys);{let Ze=[];return this._forEachCell(S,D,j,te,this._queryCell,Ze,{},ue),Ze}}_queryCell(S,D,j,te,ue,ve,De,Ze){let at=this.cells[ue];if(at!==null){let Tt=this.keys,Ft=this.bboxes;for(let Qt=0;Qt<at.length;Qt++){let sr=at[Qt];if(De[sr]===void 0){let Tr=4*sr;(Ze?Ze(Ft[Tr+0],Ft[Tr+1],Ft[Tr+2],Ft[Tr+3]):S<=Ft[Tr+2]&&D<=Ft[Tr+3]&&j>=Ft[Tr+0]&&te>=Ft[Tr+1])?(De[sr]=!0,ve.push(Tt[sr])):De[sr]=!1}}}}_forEachCell(S,D,j,te,ue,ve,De,Ze){let at=this._convertToCellCoord(S),Tt=this._convertToCellCoord(D),Ft=this._convertToCellCoord(j),Qt=this._convertToCellCoord(te);for(let sr=at;sr<=Ft;sr++)for(let Tr=Tt;Tr<=Qt;Tr++){let Pr=this.d*Tr+sr;if((!Ze||Ze(this._convertFromCellCoord(sr),this._convertFromCellCoord(Tr),this._convertFromCellCoord(sr+1),this._convertFromCellCoord(Tr+1)))&&ue.call(this,S,D,j,te,Pr,ve,De,Ze))return}}_convertFromCellCoord(S){return(S-this.padding)/this.scale}_convertToCellCoord(S){return Math.max(0,Math.min(this.d-1,Math.floor(S*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let S=this.cells,D=3+this.cells.length+1+1,j=0;for(let ve=0;ve<this.cells.length;ve++)j+=this.cells[ve].length;let te=new Int32Array(D+j+this.keys.length+this.bboxes.length);te[0]=this.extent,te[1]=this.n,te[2]=this.padding;let ue=D;for(let ve=0;ve<S.length;ve++){let De=S[ve];te[3+ve]=ue,te.set(De,ue),ue+=De.length}return te[3+S.length]=ue,te.set(this.keys,ue),ue+=this.keys.length,te[3+S.length+1]=ue,te.set(this.bboxes,ue),ue+=this.bboxes.length,te.buffer}static serialize(S,D){let j=S.toArrayBuffer();return D&&D.push(j),{buffer:j}}static deserialize(S){return new qi(S.buffer)}}let Ii={};function mi(R,S,D={}){if(Ii[R])throw new Error(`${R} is already registered.`);Object.defineProperty(S,\"_classRegistryKey\",{value:R,writeable:!1}),Ii[R]={klass:S,omit:D.omit||[],shallow:D.shallow||[]}}mi(\"Object\",Object),mi(\"TransferableGridIndex\",qi),mi(\"Color\",Zt),mi(\"Error\",Error),mi(\"AJAXError\",ge),mi(\"ResolvedImage\",Mi),mi(\"StylePropertyFunction\",Qs),mi(\"StyleExpression\",Pu,{omit:[\"_evaluator\"]}),mi(\"ZoomDependentExpression\",ic),mi(\"ZoomConstantExpression\",Xc),mi(\"CompoundExpression\",Ml,{omit:[\"_evaluate\"]});for(let R in kf)kf[R]._classRegistryKey||mi(`Expression_${R}`,kf[R]);function Pn(R){return R&&typeof ArrayBuffer!=\"undefined\"&&(R instanceof ArrayBuffer||R.constructor&&R.constructor.name===\"ArrayBuffer\")}function Ma(R){return R.$name||R.constructor._classRegistryKey}function Ta(R){return!function(S){if(S===null||typeof S!=\"object\")return!1;let D=Ma(S);return!(!D||D===\"Object\")}(R)&&(R==null||typeof R==\"boolean\"||typeof R==\"number\"||typeof R==\"string\"||R instanceof Boolean||R instanceof Number||R instanceof String||R instanceof Date||R instanceof RegExp||R instanceof Blob||R instanceof Error||Pn(R)||H(R)||ArrayBuffer.isView(R)||R instanceof ImageData)}function Ea(R,S){if(Ta(R))return(Pn(R)||H(R))&&S&&S.push(R),ArrayBuffer.isView(R)&&S&&S.push(R.buffer),R instanceof ImageData&&S&&S.push(R.data.buffer),R;if(Array.isArray(R)){let ue=[];for(let ve of R)ue.push(Ea(ve,S));return ue}if(typeof R!=\"object\")throw new Error(\"can't serialize object of type \"+typeof R);let D=Ma(R);if(!D)throw new Error(`can't serialize object of unregistered class ${R.constructor.name}`);if(!Ii[D])throw new Error(`${D} is not registered.`);let{klass:j}=Ii[D],te=j.serialize?j.serialize(R,S):{};if(j.serialize){if(S&&te===S[S.length-1])throw new Error(\"statically serialized object won't survive transfer of $name property\")}else{for(let ue in R){if(!R.hasOwnProperty(ue)||Ii[D].omit.indexOf(ue)>=0)continue;let ve=R[ue];te[ue]=Ii[D].shallow.indexOf(ue)>=0?ve:Ea(ve,S)}R instanceof Error&&(te.message=R.message)}if(te.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return D!==\"Object\"&&(te.$name=D),te}function qa(R){if(Ta(R))return R;if(Array.isArray(R))return R.map(qa);if(typeof R!=\"object\")throw new Error(\"can't deserialize object of type \"+typeof R);let S=Ma(R)||\"Object\";if(!Ii[S])throw new Error(`can't deserialize unregistered class ${S}`);let{klass:D}=Ii[S];if(!D)throw new Error(`can't deserialize unregistered class ${S}`);if(D.deserialize)return D.deserialize(R);let j=Object.create(D.prototype);for(let te of Object.keys(R)){if(te===\"$name\")continue;let ue=R[te];j[te]=Ii[S].shallow.indexOf(te)>=0?ue:qa(ue)}return j}class Cn{constructor(){this.first=!0}update(S,D){let j=Math.floor(S);return this.first?(this.first=!1,this.lastIntegerZoom=j,this.lastIntegerZoomTime=0,this.lastZoom=S,this.lastFloorZoom=j,!0):(this.lastFloorZoom>j?(this.lastIntegerZoom=j+1,this.lastIntegerZoomTime=D):this.lastFloorZoom<j&&(this.lastIntegerZoom=j,this.lastIntegerZoomTime=D),S!==this.lastZoom&&(this.lastZoom=S,this.lastFloorZoom=j,!0))}}let sn={\"Latin-1 Supplement\":R=>R>=128&&R<=255,\"Hangul Jamo\":R=>R>=4352&&R<=4607,Khmer:R=>R>=6016&&R<=6143,\"General Punctuation\":R=>R>=8192&&R<=8303,\"Letterlike Symbols\":R=>R>=8448&&R<=8527,\"Number Forms\":R=>R>=8528&&R<=8591,\"Miscellaneous Technical\":R=>R>=8960&&R<=9215,\"Control Pictures\":R=>R>=9216&&R<=9279,\"Optical Character Recognition\":R=>R>=9280&&R<=9311,\"Enclosed Alphanumerics\":R=>R>=9312&&R<=9471,\"Geometric Shapes\":R=>R>=9632&&R<=9727,\"Miscellaneous Symbols\":R=>R>=9728&&R<=9983,\"Miscellaneous Symbols and Arrows\":R=>R>=11008&&R<=11263,\"Ideographic Description Characters\":R=>R>=12272&&R<=12287,\"CJK Symbols and Punctuation\":R=>R>=12288&&R<=12351,Katakana:R=>R>=12448&&R<=12543,Kanbun:R=>R>=12688&&R<=12703,\"CJK Strokes\":R=>R>=12736&&R<=12783,\"Enclosed CJK Letters and Months\":R=>R>=12800&&R<=13055,\"CJK Compatibility\":R=>R>=13056&&R<=13311,\"Yijing Hexagram Symbols\":R=>R>=19904&&R<=19967,\"Private Use Area\":R=>R>=57344&&R<=63743,\"Vertical Forms\":R=>R>=65040&&R<=65055,\"CJK Compatibility Forms\":R=>R>=65072&&R<=65103,\"Small Form Variants\":R=>R>=65104&&R<=65135,\"Halfwidth and Fullwidth Forms\":R=>R>=65280&&R<=65519};function Ua(R){for(let S of R)if(Bo(S.charCodeAt(0)))return!0;return!1}function mo(R){for(let S of R)if(!Qo(S.charCodeAt(0)))return!1;return!0}function Xo(R){let S=R.map(D=>{try{return new RegExp(`\\\\p{sc=${D}}`,\"u\").source}catch(j){return null}}).filter(D=>D);return new RegExp(S.join(\"|\"),\"u\")}let Ts=Xo([\"Arab\",\"Dupl\",\"Mong\",\"Ougr\",\"Syrc\"]);function Qo(R){return!Ts.test(String.fromCodePoint(R))}let ys=Xo([\"Bopo\",\"Hani\",\"Hira\",\"Kana\",\"Kits\",\"Nshu\",\"Tang\",\"Yiii\"]);function Bo(R){return!(R!==746&&R!==747&&(R<4352||!(sn[\"CJK Compatibility Forms\"](R)&&!(R>=65097&&R<=65103)||sn[\"CJK Compatibility\"](R)||sn[\"CJK Strokes\"](R)||!(!sn[\"CJK Symbols and Punctuation\"](R)||R>=12296&&R<=12305||R>=12308&&R<=12319||R===12336)||sn[\"Enclosed CJK Letters and Months\"](R)||sn[\"Ideographic Description Characters\"](R)||sn.Kanbun(R)||sn.Katakana(R)&&R!==12540||!(!sn[\"Halfwidth and Fullwidth Forms\"](R)||R===65288||R===65289||R===65293||R>=65306&&R<=65310||R===65339||R===65341||R===65343||R>=65371&&R<=65503||R===65507||R>=65512&&R<=65519)||!(!sn[\"Small Form Variants\"](R)||R>=65112&&R<=65118||R>=65123&&R<=65126)||sn[\"Vertical Forms\"](R)||sn[\"Yijing Hexagram Symbols\"](R)||new RegExp(\"\\\\p{sc=Cans}\",\"u\").test(String.fromCodePoint(R))||new RegExp(\"\\\\p{sc=Hang}\",\"u\").test(String.fromCodePoint(R))||ys.test(String.fromCodePoint(R)))))}function yl(R){return!(Bo(R)||function(S){return!!(sn[\"Latin-1 Supplement\"](S)&&(S===167||S===169||S===174||S===177||S===188||S===189||S===190||S===215||S===247)||sn[\"General Punctuation\"](S)&&(S===8214||S===8224||S===8225||S===8240||S===8241||S===8251||S===8252||S===8258||S===8263||S===8264||S===8265||S===8273)||sn[\"Letterlike Symbols\"](S)||sn[\"Number Forms\"](S)||sn[\"Miscellaneous Technical\"](S)&&(S>=8960&&S<=8967||S>=8972&&S<=8991||S>=8996&&S<=9e3||S===9003||S>=9085&&S<=9114||S>=9150&&S<=9165||S===9167||S>=9169&&S<=9179||S>=9186&&S<=9215)||sn[\"Control Pictures\"](S)&&S!==9251||sn[\"Optical Character Recognition\"](S)||sn[\"Enclosed Alphanumerics\"](S)||sn[\"Geometric Shapes\"](S)||sn[\"Miscellaneous Symbols\"](S)&&!(S>=9754&&S<=9759)||sn[\"Miscellaneous Symbols and Arrows\"](S)&&(S>=11026&&S<=11055||S>=11088&&S<=11097||S>=11192&&S<=11243)||sn[\"CJK Symbols and Punctuation\"](S)||sn.Katakana(S)||sn[\"Private Use Area\"](S)||sn[\"CJK Compatibility Forms\"](S)||sn[\"Small Form Variants\"](S)||sn[\"Halfwidth and Fullwidth Forms\"](S)||S===8734||S===8756||S===8757||S>=9984&&S<=10087||S>=10102&&S<=10131||S===65532||S===65533)}(R))}let Gs=Xo([\"Adlm\",\"Arab\",\"Armi\",\"Avst\",\"Chrs\",\"Cprt\",\"Egyp\",\"Elym\",\"Gara\",\"Hatr\",\"Hebr\",\"Hung\",\"Khar\",\"Lydi\",\"Mand\",\"Mani\",\"Mend\",\"Merc\",\"Mero\",\"Narb\",\"Nbat\",\"Nkoo\",\"Orkh\",\"Palm\",\"Phli\",\"Phlp\",\"Phnx\",\"Prti\",\"Rohg\",\"Samr\",\"Sarb\",\"Sogo\",\"Syrc\",\"Thaa\",\"Todr\",\"Yezi\"]);function Rs(R){return Gs.test(String.fromCodePoint(R))}function ia(R,S){return!(!S&&Rs(R)||R>=2304&&R<=3583||R>=3840&&R<=4255||sn.Khmer(R))}function Ka(R){for(let S of R)if(Rs(S.charCodeAt(0)))return!0;return!1}let vs=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus=\"unavailable\",this.pluginURL=null}setState(R){this.pluginStatus=R.pluginStatus,this.pluginURL=R.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(R){this.applyArabicShaping=R.applyArabicShaping,this.processBidirectionalText=R.processBidirectionalText,this.processStyledBidirectionalText=R.processStyledBidirectionalText}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Ko{constructor(S,D){this.zoom=S,D?(this.now=D.now,this.fadeDuration=D.fadeDuration,this.zoomHistory=D.zoomHistory,this.transition=D.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Cn,this.transition={})}isSupportedScript(S){return function(D,j){for(let te of D)if(!ia(te.charCodeAt(0),j))return!1;return!0}(S,vs.getRTLTextPluginStatus()===\"loaded\")}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let S=this.zoom,D=S-Math.floor(S),j=this.crossFadingFactor();return S>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:D+(1-D)*j}:{fromScale:.5,toScale:1,t:1-(1-j)*D}}}class nu{constructor(S,D){this.property=S,this.value=D,this.expression=function(j,te){if(Ch(j))return new Qs(j,te);if(Lc(j)){let ue=yu(j,te);if(ue.result===\"error\")throw new Error(ue.value.map(ve=>`${ve.key}: ${ve.message}`).join(\", \"));return ue.value}{let ue=j;return te.type===\"color\"&&typeof j==\"string\"?ue=Zt.parse(j):te.type!==\"padding\"||typeof j!=\"number\"&&!Array.isArray(j)?te.type===\"variableAnchorOffsetCollection\"&&Array.isArray(j)&&(ue=Si.parse(j)):ue=Vr.parse(j),{kind:\"constant\",evaluate:()=>ue}}}(D===void 0?S.specification.default:D,S.specification)}isDataDriven(){return this.expression.kind===\"source\"||this.expression.kind===\"composite\"}possiblyEvaluate(S,D,j){return this.property.possiblyEvaluate(this,S,D,j)}}class Ru{constructor(S){this.property=S,this.value=new nu(S,void 0)}transitioned(S,D){return new mf(this.property,this.value,D,L({},S.transition,this.transition),S.now)}untransitioned(){return new mf(this.property,this.value,null,{},0)}}class ac{constructor(S){this._properties=S,this._values=Object.create(S.defaultTransitionablePropertyValues)}getValue(S){return g(this._values[S].value.value)}setValue(S,D){Object.prototype.hasOwnProperty.call(this._values,S)||(this._values[S]=new Ru(this._values[S].property)),this._values[S].value=new nu(this._values[S].property,D===null?void 0:g(D))}getTransition(S){return g(this._values[S].transition)}setTransition(S,D){Object.prototype.hasOwnProperty.call(this._values,S)||(this._values[S]=new Ru(this._values[S].property)),this._values[S].transition=g(D)||void 0}serialize(){let S={};for(let D of Object.keys(this._values)){let j=this.getValue(D);j!==void 0&&(S[D]=j);let te=this.getTransition(D);te!==void 0&&(S[`${D}-transition`]=te)}return S}transitioned(S,D){let j=new bu(this._properties);for(let te of Object.keys(this._values))j._values[te]=this._values[te].transitioned(S,D._values[te]);return j}untransitioned(){let S=new bu(this._properties);for(let D of Object.keys(this._values))S._values[D]=this._values[D].untransitioned();return S}}class mf{constructor(S,D,j,te,ue){this.property=S,this.value=D,this.begin=ue+te.delay||0,this.end=this.begin+te.duration||0,S.specification.transition&&(te.delay||te.duration)&&(this.prior=j)}possiblyEvaluate(S,D,j){let te=S.now||0,ue=this.value.possiblyEvaluate(S,D,j),ve=this.prior;if(ve){if(te>this.end)return this.prior=null,ue;if(this.value.isDataDriven())return this.prior=null,ue;if(te<this.begin)return ve.possiblyEvaluate(S,D,j);{let De=(te-this.begin)/(this.end-this.begin);return this.property.interpolate(ve.possiblyEvaluate(S,D,j),ue,function(Ze){if(Ze<=0)return 0;if(Ze>=1)return 1;let at=Ze*Ze,Tt=at*Ze;return 4*(Ze<.5?Tt:3*(Ze-at)+Tt-.75)}(De))}}return ue}}class bu{constructor(S){this._properties=S,this._values=Object.create(S.defaultTransitioningPropertyValues)}possiblyEvaluate(S,D,j){let te=new Dc(this._properties);for(let ue of Object.keys(this._values))te._values[ue]=this._values[ue].possiblyEvaluate(S,D,j);return te}hasTransition(){for(let S of Object.keys(this._values))if(this._values[S].prior)return!0;return!1}}class Kc{constructor(S){this._properties=S,this._values=Object.create(S.defaultPropertyValues)}hasValue(S){return this._values[S].value!==void 0}getValue(S){return g(this._values[S].value)}setValue(S,D){this._values[S]=new nu(this._values[S].property,D===null?void 0:g(D))}serialize(){let S={};for(let D of Object.keys(this._values)){let j=this.getValue(D);j!==void 0&&(S[D]=j)}return S}possiblyEvaluate(S,D,j){let te=new Dc(this._properties);for(let ue of Object.keys(this._values))te._values[ue]=this._values[ue].possiblyEvaluate(S,D,j);return te}}class Du{constructor(S,D,j){this.property=S,this.value=D,this.parameters=j}isConstant(){return this.value.kind===\"constant\"}constantOr(S){return this.value.kind===\"constant\"?this.value.value:S}evaluate(S,D,j,te){return this.property.evaluate(this.value,this.parameters,S,D,j,te)}}class Dc{constructor(S){this._properties=S,this._values=Object.create(S.defaultPossiblyEvaluatedValues)}get(S){return this._values[S]}}class Da{constructor(S){this.specification=S}possiblyEvaluate(S,D){if(S.isDataDriven())throw new Error(\"Value should not be data driven\");return S.expression.evaluate(D)}interpolate(S,D,j){let te=Mo[this.specification.type];return te?te(S,D,j):S}}class eo{constructor(S,D){this.specification=S,this.overrides=D}possiblyEvaluate(S,D,j,te){return new Du(this,S.expression.kind===\"constant\"||S.expression.kind===\"camera\"?{kind:\"constant\",value:S.expression.evaluate(D,null,{},j,te)}:S.expression,D)}interpolate(S,D,j){if(S.value.kind!==\"constant\"||D.value.kind!==\"constant\")return S;if(S.value.value===void 0||D.value.value===void 0)return new Du(this,{kind:\"constant\",value:void 0},S.parameters);let te=Mo[this.specification.type];if(te){let ue=te(S.value.value,D.value.value,j);return new Du(this,{kind:\"constant\",value:ue},S.parameters)}return S}evaluate(S,D,j,te,ue,ve){return S.kind===\"constant\"?S.value:S.evaluate(D,j,te,ue,ve)}}class Jc extends eo{possiblyEvaluate(S,D,j,te){if(S.value===void 0)return new Du(this,{kind:\"constant\",value:void 0},D);if(S.expression.kind===\"constant\"){let ue=S.expression.evaluate(D,null,{},j,te),ve=S.property.specification.type===\"resolvedImage\"&&typeof ue!=\"string\"?ue.name:ue,De=this._calculate(ve,ve,ve,D);return new Du(this,{kind:\"constant\",value:De},D)}if(S.expression.kind===\"camera\"){let ue=this._calculate(S.expression.evaluate({zoom:D.zoom-1}),S.expression.evaluate({zoom:D.zoom}),S.expression.evaluate({zoom:D.zoom+1}),D);return new Du(this,{kind:\"constant\",value:ue},D)}return new Du(this,S.expression,D)}evaluate(S,D,j,te,ue,ve){if(S.kind===\"source\"){let De=S.evaluate(D,j,te,ue,ve);return this._calculate(De,De,De,D)}return S.kind===\"composite\"?this._calculate(S.evaluate({zoom:Math.floor(D.zoom)-1},j,te),S.evaluate({zoom:Math.floor(D.zoom)},j,te),S.evaluate({zoom:Math.floor(D.zoom)+1},j,te),D):S.value}_calculate(S,D,j,te){return te.zoom>te.zoomHistory.lastIntegerZoom?{from:S,to:D}:{from:j,to:D}}interpolate(S){return S}}class yc{constructor(S){this.specification=S}possiblyEvaluate(S,D,j,te){if(S.value!==void 0){if(S.expression.kind===\"constant\"){let ue=S.expression.evaluate(D,null,{},j,te);return this._calculate(ue,ue,ue,D)}return this._calculate(S.expression.evaluate(new Ko(Math.floor(D.zoom-1),D)),S.expression.evaluate(new Ko(Math.floor(D.zoom),D)),S.expression.evaluate(new Ko(Math.floor(D.zoom+1),D)),D)}}_calculate(S,D,j,te){return te.zoom>te.zoomHistory.lastIntegerZoom?{from:S,to:D}:{from:j,to:D}}interpolate(S){return S}}class _c{constructor(S){this.specification=S}possiblyEvaluate(S,D,j,te){return!!S.expression.evaluate(D,null,{},j,te)}interpolate(){return!1}}class le{constructor(S){this.properties=S,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let D in S){let j=S[D];j.specification.overridable&&this.overridableProperties.push(D);let te=this.defaultPropertyValues[D]=new nu(j,void 0),ue=this.defaultTransitionablePropertyValues[D]=new Ru(j);this.defaultTransitioningPropertyValues[D]=ue.untransitioned(),this.defaultPossiblyEvaluatedValues[D]=te.possiblyEvaluate({})}}}mi(\"DataDrivenProperty\",eo),mi(\"DataConstantProperty\",Da),mi(\"CrossFadedDataDrivenProperty\",Jc),mi(\"CrossFadedProperty\",yc),mi(\"ColorRampProperty\",_c);let w=\"-transition\";class B extends Re{constructor(S,D){if(super(),this.id=S.id,this.type=S.type,this._featureFilter={filter:()=>!0,needGeometry:!1},S.type!==\"custom\"&&(this.metadata=S.metadata,this.minzoom=S.minzoom,this.maxzoom=S.maxzoom,S.type!==\"background\"&&(this.source=S.source,this.sourceLayer=S[\"source-layer\"],this.filter=S.filter),D.layout&&(this._unevaluatedLayout=new Kc(D.layout)),D.paint)){this._transitionablePaint=new ac(D.paint);for(let j in S.paint)this.setPaintProperty(j,S.paint[j],{validate:!1});for(let j in S.layout)this.setLayoutProperty(j,S.layout[j],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Dc(D.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(S){return S===\"visibility\"?this.visibility:this._unevaluatedLayout.getValue(S)}setLayoutProperty(S,D,j={}){D!=null&&this._validate(hn,`layers.${this.id}.layout.${S}`,S,D,j)||(S!==\"visibility\"?this._unevaluatedLayout.setValue(S,D):this.visibility=D)}getPaintProperty(S){return S.endsWith(w)?this._transitionablePaint.getTransition(S.slice(0,-11)):this._transitionablePaint.getValue(S)}setPaintProperty(S,D,j={}){if(D!=null&&this._validate(Xi,`layers.${this.id}.paint.${S}`,S,D,j))return!1;if(S.endsWith(w))return this._transitionablePaint.setTransition(S.slice(0,-11),D||void 0),!1;{let te=this._transitionablePaint._values[S],ue=te.property.specification[\"property-type\"]===\"cross-faded-data-driven\",ve=te.value.isDataDriven(),De=te.value;this._transitionablePaint.setValue(S,D),this._handleSpecialPaintPropertyUpdate(S);let Ze=this._transitionablePaint._values[S].value;return Ze.isDataDriven()||ve||ue||this._handleOverridablePaintPropertyUpdate(S,De,Ze)}}_handleSpecialPaintPropertyUpdate(S){}_handleOverridablePaintPropertyUpdate(S,D,j){return!1}isHidden(S){return!!(this.minzoom&&S<this.minzoom)||!!(this.maxzoom&&S>=this.maxzoom)||this.visibility===\"none\"}updateTransitions(S){this._transitioningPaint=this._transitionablePaint.transitioned(S,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(S,D){S.getCrossfadeParameters&&(this._crossfadeParameters=S.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(S,void 0,D)),this.paint=this._transitioningPaint.possiblyEvaluate(S,void 0,D)}serialize(){let S={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&&(S.layout=S.layout||{},S.layout.visibility=this.visibility),M(S,(D,j)=>!(D===void 0||j===\"layout\"&&!Object.keys(D).length||j===\"paint\"&&!Object.keys(D).length))}_validate(S,D,j,te,ue={}){return(!ue||ue.validate!==!1)&&Ti(this,S.call(fi,{key:D,layerType:this.type,objectKey:j,value:te,styleSpec:ce,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let S in this.paint._values){let D=this.paint.get(S);if(D instanceof Du&&Cu(D.property.specification)&&(D.value.kind===\"source\"||D.value.kind===\"composite\")&&D.value.isStateDependent)return!0}return!1}}let Q={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class ee{constructor(S,D){this._structArray=S,this._pos1=D*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class se{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(S,D){return S._trim(),D&&(S.isTransferred=!0,D.push(S.arrayBuffer)),{length:S.length,arrayBuffer:S.arrayBuffer}}static deserialize(S){let D=Object.create(this.prototype);return D.arrayBuffer=S.arrayBuffer,D.length=S.length,D.capacity=S.arrayBuffer.byteLength/D.bytesPerElement,D._refreshViews(),D}_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(S){this.reserve(S),this.length=S}reserve(S){if(S>this.capacity){this.capacity=Math.max(S,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let D=this.uint8;this._refreshViews(),D&&this.uint8.set(D)}}_refreshViews(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")}}function qe(R,S=1){let D=0,j=0;return{members:R.map(te=>{let ue=Q[te.type].BYTES_PER_ELEMENT,ve=D=je(D,Math.max(S,ue)),De=te.components||1;return j=Math.max(j,ue),D+=ue*De,{name:te.name,type:te.type,components:De,offset:ve}}),size:je(D,Math.max(j,S)),alignment:S}}function je(R,S){return Math.ceil(R/S)*S}class it extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D){let j=this.length;return this.resize(j+1),this.emplace(j,S,D)}emplace(S,D,j){let te=2*S;return this.int16[te+0]=D,this.int16[te+1]=j,S}}it.prototype.bytesPerElement=4,mi(\"StructArrayLayout2i4\",it);class yt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.int16[ue+0]=D,this.int16[ue+1]=j,this.int16[ue+2]=te,S}}yt.prototype.bytesPerElement=6,mi(\"StructArrayLayout3i6\",yt);class Ot extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te){let ue=this.length;return this.resize(ue+1),this.emplace(ue,S,D,j,te)}emplace(S,D,j,te,ue){let ve=4*S;return this.int16[ve+0]=D,this.int16[ve+1]=j,this.int16[ve+2]=te,this.int16[ve+3]=ue,S}}Ot.prototype.bytesPerElement=8,mi(\"StructArrayLayout4i8\",Ot);class Nt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=6*S;return this.int16[Ze+0]=D,this.int16[Ze+1]=j,this.int16[Ze+2]=te,this.int16[Ze+3]=ue,this.int16[Ze+4]=ve,this.int16[Ze+5]=De,S}}Nt.prototype.bytesPerElement=12,mi(\"StructArrayLayout2i4i12\",Nt);class hr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=4*S,at=8*S;return this.int16[Ze+0]=D,this.int16[Ze+1]=j,this.uint8[at+4]=te,this.uint8[at+5]=ue,this.uint8[at+6]=ve,this.uint8[at+7]=De,S}}hr.prototype.bytesPerElement=8,mi(\"StructArrayLayout2i4ub8\",hr);class Sr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D){let j=this.length;return this.resize(j+1),this.emplace(j,S,D)}emplace(S,D,j){let te=2*S;return this.float32[te+0]=D,this.float32[te+1]=j,S}}Sr.prototype.bytesPerElement=8,mi(\"StructArrayLayout2f8\",Sr);class he extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve,De,Ze,at,Tt){let Ft=this.length;return this.resize(Ft+1),this.emplace(Ft,S,D,j,te,ue,ve,De,Ze,at,Tt)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft){let Qt=10*S;return this.uint16[Qt+0]=D,this.uint16[Qt+1]=j,this.uint16[Qt+2]=te,this.uint16[Qt+3]=ue,this.uint16[Qt+4]=ve,this.uint16[Qt+5]=De,this.uint16[Qt+6]=Ze,this.uint16[Qt+7]=at,this.uint16[Qt+8]=Tt,this.uint16[Qt+9]=Ft,S}}he.prototype.bytesPerElement=20,mi(\"StructArrayLayout10ui20\",he);class be extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt){let sr=this.length;return this.resize(sr+1),this.emplace(sr,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr){let Tr=12*S;return this.int16[Tr+0]=D,this.int16[Tr+1]=j,this.int16[Tr+2]=te,this.int16[Tr+3]=ue,this.uint16[Tr+4]=ve,this.uint16[Tr+5]=De,this.uint16[Tr+6]=Ze,this.uint16[Tr+7]=at,this.int16[Tr+8]=Tt,this.int16[Tr+9]=Ft,this.int16[Tr+10]=Qt,this.int16[Tr+11]=sr,S}}be.prototype.bytesPerElement=24,mi(\"StructArrayLayout4i4ui4i24\",be);class Pe extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.float32[ue+0]=D,this.float32[ue+1]=j,this.float32[ue+2]=te,S}}Pe.prototype.bytesPerElement=12,mi(\"StructArrayLayout3f12\",Pe);class Oe extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(S){let D=this.length;return this.resize(D+1),this.emplace(D,S)}emplace(S,D){return this.uint32[1*S+0]=D,S}}Oe.prototype.bytesPerElement=4,mi(\"StructArrayLayout1ul4\",Oe);class Je extends se{_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(S,D,j,te,ue,ve,De,Ze,at){let Tt=this.length;return this.resize(Tt+1),this.emplace(Tt,S,D,j,te,ue,ve,De,Ze,at)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt){let Ft=10*S,Qt=5*S;return this.int16[Ft+0]=D,this.int16[Ft+1]=j,this.int16[Ft+2]=te,this.int16[Ft+3]=ue,this.int16[Ft+4]=ve,this.int16[Ft+5]=De,this.uint32[Qt+3]=Ze,this.uint16[Ft+8]=at,this.uint16[Ft+9]=Tt,S}}Je.prototype.bytesPerElement=20,mi(\"StructArrayLayout6i1ul2ui20\",Je);class He extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=6*S;return this.int16[Ze+0]=D,this.int16[Ze+1]=j,this.int16[Ze+2]=te,this.int16[Ze+3]=ue,this.int16[Ze+4]=ve,this.int16[Ze+5]=De,S}}He.prototype.bytesPerElement=12,mi(\"StructArrayLayout2i2i2i12\",He);class et extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue){let ve=this.length;return this.resize(ve+1),this.emplace(ve,S,D,j,te,ue)}emplace(S,D,j,te,ue,ve){let De=4*S,Ze=8*S;return this.float32[De+0]=D,this.float32[De+1]=j,this.float32[De+2]=te,this.int16[Ze+6]=ue,this.int16[Ze+7]=ve,S}}et.prototype.bytesPerElement=16,mi(\"StructArrayLayout2f1f2i16\",et);class Mt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=16*S,at=4*S,Tt=8*S;return this.uint8[Ze+0]=D,this.uint8[Ze+1]=j,this.float32[at+1]=te,this.float32[at+2]=ue,this.int16[Tt+6]=ve,this.int16[Tt+7]=De,S}}Mt.prototype.bytesPerElement=16,mi(\"StructArrayLayout2ub2f2i16\",Mt);class Dt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.uint16[ue+0]=D,this.uint16[ue+1]=j,this.uint16[ue+2]=te,S}}Dt.prototype.bytesPerElement=6,mi(\"StructArrayLayout3ui6\",Dt);class Ut extends se{_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(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni){let Di=this.length;return this.resize(Di+1),this.emplace(Di,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di){let pi=24*S,ki=12*S,Zi=48*S;return this.int16[pi+0]=D,this.int16[pi+1]=j,this.uint16[pi+2]=te,this.uint16[pi+3]=ue,this.uint32[ki+2]=ve,this.uint32[ki+3]=De,this.uint32[ki+4]=Ze,this.uint16[pi+10]=at,this.uint16[pi+11]=Tt,this.uint16[pi+12]=Ft,this.float32[ki+7]=Qt,this.float32[ki+8]=sr,this.uint8[Zi+36]=Tr,this.uint8[Zi+37]=Pr,this.uint8[Zi+38]=$r,this.uint32[ki+10]=ni,this.int16[pi+22]=Di,S}}Ut.prototype.bytesPerElement=48,mi(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",Ut);class tr extends se{_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(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di,pi,ki,Zi,ta,Va,Io,La,Hn,lo,$a){let Xa=this.length;return this.resize(Xa+1),this.emplace(Xa,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di,pi,ki,Zi,ta,Va,Io,La,Hn,lo,$a)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di,pi,ki,Zi,ta,Va,Io,La,Hn,lo,$a,Xa){let Tn=32*S,bo=16*S;return this.int16[Tn+0]=D,this.int16[Tn+1]=j,this.int16[Tn+2]=te,this.int16[Tn+3]=ue,this.int16[Tn+4]=ve,this.int16[Tn+5]=De,this.int16[Tn+6]=Ze,this.int16[Tn+7]=at,this.uint16[Tn+8]=Tt,this.uint16[Tn+9]=Ft,this.uint16[Tn+10]=Qt,this.uint16[Tn+11]=sr,this.uint16[Tn+12]=Tr,this.uint16[Tn+13]=Pr,this.uint16[Tn+14]=$r,this.uint16[Tn+15]=ni,this.uint16[Tn+16]=Di,this.uint16[Tn+17]=pi,this.uint16[Tn+18]=ki,this.uint16[Tn+19]=Zi,this.uint16[Tn+20]=ta,this.uint16[Tn+21]=Va,this.uint16[Tn+22]=Io,this.uint32[bo+12]=La,this.float32[bo+13]=Hn,this.float32[bo+14]=lo,this.uint16[Tn+30]=$a,this.uint16[Tn+31]=Xa,S}}tr.prototype.bytesPerElement=64,mi(\"StructArrayLayout8i15ui1ul2f2ui64\",tr);class mr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S){let D=this.length;return this.resize(D+1),this.emplace(D,S)}emplace(S,D){return this.float32[1*S+0]=D,S}}mr.prototype.bytesPerElement=4,mi(\"StructArrayLayout1f4\",mr);class Rr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.uint16[6*S+0]=D,this.float32[ue+1]=j,this.float32[ue+2]=te,S}}Rr.prototype.bytesPerElement=12,mi(\"StructArrayLayout1ui2f12\",Rr);class zr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=4*S;return this.uint32[2*S+0]=D,this.uint16[ue+2]=j,this.uint16[ue+3]=te,S}}zr.prototype.bytesPerElement=8,mi(\"StructArrayLayout1ul2ui8\",zr);class Xr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D){let j=this.length;return this.resize(j+1),this.emplace(j,S,D)}emplace(S,D,j){let te=2*S;return this.uint16[te+0]=D,this.uint16[te+1]=j,S}}Xr.prototype.bytesPerElement=4,mi(\"StructArrayLayout2ui4\",Xr);class di extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S){let D=this.length;return this.resize(D+1),this.emplace(D,S)}emplace(S,D){return this.uint16[1*S+0]=D,S}}di.prototype.bytesPerElement=2,mi(\"StructArrayLayout1ui2\",di);class Li extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j,te){let ue=this.length;return this.resize(ue+1),this.emplace(ue,S,D,j,te)}emplace(S,D,j,te,ue){let ve=4*S;return this.float32[ve+0]=D,this.float32[ve+1]=j,this.float32[ve+2]=te,this.float32[ve+3]=ue,S}}Li.prototype.bytesPerElement=16,mi(\"StructArrayLayout4f16\",Li);class Ci extends ee{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 u(this.anchorPointX,this.anchorPointY)}}Ci.prototype.size=20;class Qi extends Je{get(S){return new Ci(this,S)}}mi(\"CollisionBoxArray\",Qi);class Mn extends ee{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(S){this._structArray.uint8[this._pos1+37]=S}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(S){this._structArray.uint8[this._pos1+38]=S}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(S){this._structArray.uint32[this._pos4+10]=S}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Mn.prototype.size=48;class pa extends Ut{get(S){return new Mn(this,S)}}mi(\"PlacedSymbolArray\",pa);class ea extends ee{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(S){this._structArray.uint32[this._pos4+12]=S}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]}}ea.prototype.size=64;class Ga extends tr{get(S){return new ea(this,S)}}mi(\"SymbolInstanceArray\",Ga);class To extends mr{getoffsetX(S){return this.float32[1*S+0]}}mi(\"GlyphOffsetArray\",To);class Wa extends yt{getx(S){return this.int16[3*S+0]}gety(S){return this.int16[3*S+1]}gettileUnitDistanceFromAnchor(S){return this.int16[3*S+2]}}mi(\"SymbolLineVertexArray\",Wa);class co extends ee{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]}}co.prototype.size=12;class Ro extends Rr{get(S){return new co(this,S)}}mi(\"TextAnchorOffsetArray\",Ro);class Ds extends ee{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]}}Ds.prototype.size=8;class As extends zr{get(S){return new Ds(this,S)}}mi(\"FeatureIndexArray\",As);class yo extends it{}class po extends it{}class _l extends it{}class Hl extends Nt{}class Zu extends hr{}class cu extends Sr{}class el extends he{}class au extends be{}class zc extends Pe{}class zl extends Oe{}class Fl extends He{}class Z extends Mt{}class oe extends Dt{}class we extends Xr{}let Be=qe([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:Ue}=Be;class We{constructor(S=[]){this.segments=S}prepareSegment(S,D,j,te){let ue=this.segments[this.segments.length-1];return S>We.MAX_VERTEX_ARRAY_LENGTH&&T(`Max vertices per segment is ${We.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${S}`),(!ue||ue.vertexLength+S>We.MAX_VERTEX_ARRAY_LENGTH||ue.sortKey!==te)&&(ue={vertexOffset:D.length,primitiveOffset:j.length,vertexLength:0,primitiveLength:0},te!==void 0&&(ue.sortKey=te),this.segments.push(ue)),ue}get(){return this.segments}destroy(){for(let S of this.segments)for(let D in S.vaos)S.vaos[D].destroy()}static simpleSegment(S,D,j,te){return new We([{vertexOffset:S,primitiveOffset:D,vertexLength:j,primitiveLength:te,vaos:{},sortKey:0}])}}function wt(R,S){return 256*(R=k(Math.floor(R),0,255))+k(Math.floor(S),0,255)}We.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,mi(\"SegmentVector\",We);let tt=qe([{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 zt={exports:{}},or={exports:{}};or.exports=function(R,S){var D,j,te,ue,ve,De,Ze,at;for(j=R.length-(D=3&R.length),te=S,ve=3432918353,De=461845907,at=0;at<j;)Ze=255&R.charCodeAt(at)|(255&R.charCodeAt(++at))<<8|(255&R.charCodeAt(++at))<<16|(255&R.charCodeAt(++at))<<24,++at,te=27492+(65535&(ue=5*(65535&(te=(te^=Ze=(65535&(Ze=(Ze=(65535&Ze)*ve+(((Ze>>>16)*ve&65535)<<16)&4294967295)<<15|Ze>>>17))*De+(((Ze>>>16)*De&65535)<<16)&4294967295)<<13|te>>>19))+((5*(te>>>16)&65535)<<16)&4294967295))+((58964+(ue>>>16)&65535)<<16);switch(Ze=0,D){case 3:Ze^=(255&R.charCodeAt(at+2))<<16;case 2:Ze^=(255&R.charCodeAt(at+1))<<8;case 1:te^=Ze=(65535&(Ze=(Ze=(65535&(Ze^=255&R.charCodeAt(at)))*ve+(((Ze>>>16)*ve&65535)<<16)&4294967295)<<15|Ze>>>17))*De+(((Ze>>>16)*De&65535)<<16)&4294967295}return te^=R.length,te=2246822507*(65535&(te^=te>>>16))+((2246822507*(te>>>16)&65535)<<16)&4294967295,te=3266489909*(65535&(te^=te>>>13))+((3266489909*(te>>>16)&65535)<<16)&4294967295,(te^=te>>>16)>>>0};var lr=or.exports,Dr={exports:{}};Dr.exports=function(R,S){for(var D,j=R.length,te=S^j,ue=0;j>=4;)D=1540483477*(65535&(D=255&R.charCodeAt(ue)|(255&R.charCodeAt(++ue))<<8|(255&R.charCodeAt(++ue))<<16|(255&R.charCodeAt(++ue))<<24))+((1540483477*(D>>>16)&65535)<<16),te=1540483477*(65535&te)+((1540483477*(te>>>16)&65535)<<16)^(D=1540483477*(65535&(D^=D>>>24))+((1540483477*(D>>>16)&65535)<<16)),j-=4,++ue;switch(j){case 3:te^=(255&R.charCodeAt(ue+2))<<16;case 2:te^=(255&R.charCodeAt(ue+1))<<8;case 1:te=1540483477*(65535&(te^=255&R.charCodeAt(ue)))+((1540483477*(te>>>16)&65535)<<16)}return te=1540483477*(65535&(te^=te>>>13))+((1540483477*(te>>>16)&65535)<<16),(te^=te>>>15)>>>0};var Ir=lr,oi=Dr.exports;zt.exports=Ir,zt.exports.murmur3=Ir,zt.exports.murmur2=oi;var ui=o(zt.exports);class qr{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(S,D,j,te){this.ids.push(Kr(S)),this.positions.push(D,j,te)}getPositions(S){if(!this.indexed)throw new Error(\"Trying to get index, but feature positions are not indexed\");let D=Kr(S),j=0,te=this.ids.length-1;for(;j<te;){let ve=j+te>>1;this.ids[ve]>=D?te=ve:j=ve+1}let ue=[];for(;this.ids[j]===D;)ue.push({index:this.positions[3*j],start:this.positions[3*j+1],end:this.positions[3*j+2]}),j++;return ue}static serialize(S,D){let j=new Float64Array(S.ids),te=new Uint32Array(S.positions);return ii(j,te,0,j.length-1),D&&D.push(j.buffer,te.buffer),{ids:j,positions:te}}static deserialize(S){let D=new qr;return D.ids=S.ids,D.positions=S.positions,D.indexed=!0,D}}function Kr(R){let S=+R;return!isNaN(S)&&S<=Number.MAX_SAFE_INTEGER?S:ui(String(R))}function ii(R,S,D,j){for(;D<j;){let te=R[D+j>>1],ue=D-1,ve=j+1;for(;;){do ue++;while(R[ue]<te);do ve--;while(R[ve]>te);if(ue>=ve)break;vi(R,ue,ve),vi(S,3*ue,3*ve),vi(S,3*ue+1,3*ve+1),vi(S,3*ue+2,3*ve+2)}ve-D<j-ve?(ii(R,S,D,ve),D=ve+1):(ii(R,S,ve+1,j),j=ve)}}function vi(R,S,D){let j=R[S];R[S]=R[D],R[D]=j}mi(\"FeaturePositionMap\",qr);class ci{constructor(S,D){this.gl=S.gl,this.location=D}}class Jr extends ci{constructor(S,D){super(S,D),this.current=0}set(S){this.current!==S&&(this.current=S,this.gl.uniform1f(this.location,S))}}class un extends ci{constructor(S,D){super(S,D),this.current=[0,0,0,0]}set(S){S[0]===this.current[0]&&S[1]===this.current[1]&&S[2]===this.current[2]&&S[3]===this.current[3]||(this.current=S,this.gl.uniform4f(this.location,S[0],S[1],S[2],S[3]))}}class dn extends ci{constructor(S,D){super(S,D),this.current=Zt.transparent}set(S){S.r===this.current.r&&S.g===this.current.g&&S.b===this.current.b&&S.a===this.current.a||(this.current=S,this.gl.uniform4f(this.location,S.r,S.g,S.b,S.a))}}let En=new Float32Array(16);function Nn(R){return[wt(255*R.r,255*R.g),wt(255*R.b,255*R.a)]}class ga{constructor(S,D,j){this.value=S,this.uniformNames=D.map(te=>`u_${te}`),this.type=j}setUniform(S,D,j){S.set(j.constantOr(this.value))}getBinding(S,D,j){return this.type===\"color\"?new dn(S,D):new Jr(S,D)}}class ya{constructor(S,D){this.uniformNames=D.map(j=>`u_${j}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(S,D){this.pixelRatioFrom=D.pixelRatio,this.pixelRatioTo=S.pixelRatio,this.patternFrom=D.tlbr,this.patternTo=S.tlbr}setUniform(S,D,j,te){let ue=te===\"u_pattern_to\"?this.patternTo:te===\"u_pattern_from\"?this.patternFrom:te===\"u_pixel_ratio_to\"?this.pixelRatioTo:te===\"u_pixel_ratio_from\"?this.pixelRatioFrom:null;ue&&S.set(ue)}getBinding(S,D,j){return j.substr(0,9)===\"u_pattern\"?new un(S,D):new Jr(S,D)}}class so{constructor(S,D,j,te){this.expression=S,this.type=j,this.maxValue=0,this.paintVertexAttributes=D.map(ue=>({name:`a_${ue}`,type:\"Float32\",components:j===\"color\"?2:1,offset:0})),this.paintVertexArray=new te}populatePaintArray(S,D,j,te,ue){let ve=this.paintVertexArray.length,De=this.expression.evaluate(new Ko(0),D,{},te,[],ue);this.paintVertexArray.resize(S),this._setPaintValue(ve,S,De)}updatePaintArray(S,D,j,te){let ue=this.expression.evaluate({zoom:0},j,te);this._setPaintValue(S,D,ue)}_setPaintValue(S,D,j){if(this.type===\"color\"){let te=Nn(j);for(let ue=S;ue<D;ue++)this.paintVertexArray.emplace(ue,te[0],te[1])}else{for(let te=S;te<D;te++)this.paintVertexArray.emplace(te,j);this.maxValue=Math.max(this.maxValue,Math.abs(j))}}upload(S){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=S.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}}class wa{constructor(S,D,j,te,ue,ve){this.expression=S,this.uniformNames=D.map(De=>`u_${De}_t`),this.type=j,this.useIntegerZoom=te,this.zoom=ue,this.maxValue=0,this.paintVertexAttributes=D.map(De=>({name:`a_${De}`,type:\"Float32\",components:j===\"color\"?4:2,offset:0})),this.paintVertexArray=new ve}populatePaintArray(S,D,j,te,ue){let ve=this.expression.evaluate(new Ko(this.zoom),D,{},te,[],ue),De=this.expression.evaluate(new Ko(this.zoom+1),D,{},te,[],ue),Ze=this.paintVertexArray.length;this.paintVertexArray.resize(S),this._setPaintValue(Ze,S,ve,De)}updatePaintArray(S,D,j,te){let ue=this.expression.evaluate({zoom:this.zoom},j,te),ve=this.expression.evaluate({zoom:this.zoom+1},j,te);this._setPaintValue(S,D,ue,ve)}_setPaintValue(S,D,j,te){if(this.type===\"color\"){let ue=Nn(j),ve=Nn(te);for(let De=S;De<D;De++)this.paintVertexArray.emplace(De,ue[0],ue[1],ve[0],ve[1])}else{for(let ue=S;ue<D;ue++)this.paintVertexArray.emplace(ue,j,te);this.maxValue=Math.max(this.maxValue,Math.abs(j),Math.abs(te))}}upload(S){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=S.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}setUniform(S,D){let j=this.useIntegerZoom?Math.floor(D.zoom):D.zoom,te=k(this.expression.interpolationFactor(j,this.zoom,this.zoom+1),0,1);S.set(te)}getBinding(S,D,j){return new Jr(S,D)}}class io{constructor(S,D,j,te,ue,ve){this.expression=S,this.type=D,this.useIntegerZoom=j,this.zoom=te,this.layerId=ve,this.zoomInPaintVertexArray=new ue,this.zoomOutPaintVertexArray=new ue}populatePaintArray(S,D,j){let te=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(S),this.zoomOutPaintVertexArray.resize(S),this._setPaintValues(te,S,D.patterns&&D.patterns[this.layerId],j)}updatePaintArray(S,D,j,te,ue){this._setPaintValues(S,D,j.patterns&&j.patterns[this.layerId],ue)}_setPaintValues(S,D,j,te){if(!te||!j)return;let{min:ue,mid:ve,max:De}=j,Ze=te[ue],at=te[ve],Tt=te[De];if(Ze&&at&&Tt)for(let Ft=S;Ft<D;Ft++)this.zoomInPaintVertexArray.emplace(Ft,at.tl[0],at.tl[1],at.br[0],at.br[1],Ze.tl[0],Ze.tl[1],Ze.br[0],Ze.br[1],at.pixelRatio,Ze.pixelRatio),this.zoomOutPaintVertexArray.emplace(Ft,at.tl[0],at.tl[1],at.br[0],at.br[1],Tt.tl[0],Tt.tl[1],Tt.br[0],Tt.br[1],at.pixelRatio,Tt.pixelRatio)}upload(S){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=S.createVertexBuffer(this.zoomInPaintVertexArray,tt.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=S.createVertexBuffer(this.zoomOutPaintVertexArray,tt.members,this.expression.isStateDependent))}destroy(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()}}class Ss{constructor(S,D,j){this.binders={},this._buffers=[];let te=[];for(let ue in S.paint._values){if(!j(ue))continue;let ve=S.paint.get(ue);if(!(ve instanceof Du&&Cu(ve.property.specification)))continue;let De=Ns(ue,S.type),Ze=ve.value,at=ve.property.specification.type,Tt=ve.property.useIntegerZoom,Ft=ve.property.specification[\"property-type\"],Qt=Ft===\"cross-faded\"||Ft===\"cross-faded-data-driven\";if(Ze.kind===\"constant\")this.binders[ue]=Qt?new ya(Ze.value,De):new ga(Ze.value,De,at),te.push(`/u_${ue}`);else if(Ze.kind===\"source\"||Qt){let sr=pn(ue,at,\"source\");this.binders[ue]=Qt?new io(Ze,at,Tt,D,sr,S.id):new so(Ze,De,at,sr),te.push(`/a_${ue}`)}else{let sr=pn(ue,at,\"composite\");this.binders[ue]=new wa(Ze,De,at,Tt,D,sr),te.push(`/z_${ue}`)}}this.cacheKey=te.sort().join(\"\")}getMaxValue(S){let D=this.binders[S];return D instanceof so||D instanceof wa?D.maxValue:0}populatePaintArrays(S,D,j,te,ue){for(let ve in this.binders){let De=this.binders[ve];(De instanceof so||De instanceof wa||De instanceof io)&&De.populatePaintArray(S,D,j,te,ue)}}setConstantPatternPositions(S,D){for(let j in this.binders){let te=this.binders[j];te instanceof ya&&te.setConstantPatternPositions(S,D)}}updatePaintArrays(S,D,j,te,ue){let ve=!1;for(let De in S){let Ze=D.getPositions(De);for(let at of Ze){let Tt=j.feature(at.index);for(let Ft in this.binders){let Qt=this.binders[Ft];if((Qt instanceof so||Qt instanceof wa||Qt instanceof io)&&Qt.expression.isStateDependent===!0){let sr=te.paint.get(Ft);Qt.expression=sr.value,Qt.updatePaintArray(at.start,at.end,Tt,S[De],ue),ve=!0}}}}return ve}defines(){let S=[];for(let D in this.binders){let j=this.binders[D];(j instanceof ga||j instanceof ya)&&S.push(...j.uniformNames.map(te=>`#define HAS_UNIFORM_${te}`))}return S}getBinderAttributes(){let S=[];for(let D in this.binders){let j=this.binders[D];if(j instanceof so||j instanceof wa)for(let te=0;te<j.paintVertexAttributes.length;te++)S.push(j.paintVertexAttributes[te].name);else if(j instanceof io)for(let te=0;te<tt.members.length;te++)S.push(tt.members[te].name)}return S}getBinderUniforms(){let S=[];for(let D in this.binders){let j=this.binders[D];if(j instanceof ga||j instanceof ya||j instanceof wa)for(let te of j.uniformNames)S.push(te)}return S}getPaintVertexBuffers(){return this._buffers}getUniforms(S,D){let j=[];for(let te in this.binders){let ue=this.binders[te];if(ue instanceof ga||ue instanceof ya||ue instanceof wa){for(let ve of ue.uniformNames)if(D[ve]){let De=ue.getBinding(S,D[ve],ve);j.push({name:ve,property:te,binding:De})}}}return j}setUniforms(S,D,j,te){for(let{name:ue,property:ve,binding:De}of D)this.binders[ve].setUniform(De,te,j.get(ve),ue)}updatePaintBuffers(S){this._buffers=[];for(let D in this.binders){let j=this.binders[D];if(S&&j instanceof io){let te=S.fromScale===2?j.zoomInPaintVertexBuffer:j.zoomOutPaintVertexBuffer;te&&this._buffers.push(te)}else(j instanceof so||j instanceof wa)&&j.paintVertexBuffer&&this._buffers.push(j.paintVertexBuffer)}}upload(S){for(let D in this.binders){let j=this.binders[D];(j instanceof so||j instanceof wa||j instanceof io)&&j.upload(S)}this.updatePaintBuffers()}destroy(){for(let S in this.binders){let D=this.binders[S];(D instanceof so||D instanceof wa||D instanceof io)&&D.destroy()}}}class _s{constructor(S,D,j=()=>!0){this.programConfigurations={};for(let te of S)this.programConfigurations[te.id]=new Ss(te,D,j);this.needsUpload=!1,this._featureMap=new qr,this._bufferOffset=0}populatePaintArrays(S,D,j,te,ue,ve){for(let De in this.programConfigurations)this.programConfigurations[De].populatePaintArrays(S,D,te,ue,ve);D.id!==void 0&&this._featureMap.add(D.id,j,this._bufferOffset,S),this._bufferOffset=S,this.needsUpload=!0}updatePaintArrays(S,D,j,te){for(let ue of j)this.needsUpload=this.programConfigurations[ue.id].updatePaintArrays(S,this._featureMap,D,ue,te)||this.needsUpload}get(S){return this.programConfigurations[S]}upload(S){if(this.needsUpload){for(let D in this.programConfigurations)this.programConfigurations[D].upload(S);this.needsUpload=!1}}destroy(){for(let S in this.programConfigurations)this.programConfigurations[S].destroy()}}function Ns(R,S){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\"]}[R]||[R.replace(`${S}-`,\"\").replace(/-/g,\"_\")]}function pn(R,S,D){let j={color:{source:Sr,composite:Li},number:{source:mr,composite:Sr}},te=function(ue){return{\"line-pattern\":{source:el,composite:el},\"fill-pattern\":{source:el,composite:el},\"fill-extrusion-pattern\":{source:el,composite:el}}[ue]}(R);return te&&te[D]||j[S][D]}mi(\"ConstantBinder\",ga),mi(\"CrossFadedConstantBinder\",ya),mi(\"SourceExpressionBinder\",so),mi(\"CrossFadedCompositeBinder\",io),mi(\"CompositeExpressionBinder\",wa),mi(\"ProgramConfiguration\",Ss,{omit:[\"_buffers\"]}),mi(\"ProgramConfigurationSet\",_s);let za=8192,Lo=Math.pow(2,14)-1,Fo=-Lo-1;function js(R){let S=za/R.extent,D=R.loadGeometry();for(let j=0;j<D.length;j++){let te=D[j];for(let ue=0;ue<te.length;ue++){let ve=te[ue],De=Math.round(ve.x*S),Ze=Math.round(ve.y*S);ve.x=k(De,Fo,Lo),ve.y=k(Ze,Fo,Lo),(De<ve.x||De>ve.x+1||Ze<ve.y||Ze>ve.y+1)&&T(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}}return D}function xl(R,S){return{type:R.type,id:R.id,properties:R.properties,geometry:S?js(R):[]}}function fu(R,S,D,j,te){R.emplaceBack(2*S+(j+1)/2,2*D+(te+1)/2)}class dl{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.layoutVertexArray=new po,this.indexArray=new oe,this.segments=new We,this.programConfigurations=new _s(S.layers,S.zoom),this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){let te=this.layers[0],ue=[],ve=null,De=!1;te.type===\"circle\"&&(ve=te.layout.get(\"circle-sort-key\"),De=!ve.isConstant());for(let{feature:Ze,id:at,index:Tt,sourceLayerIndex:Ft}of S){let Qt=this.layers[0]._featureFilter.needGeometry,sr=xl(Ze,Qt);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),sr,j))continue;let Tr=De?ve.evaluate(sr,{},j):void 0,Pr={id:at,properties:Ze.properties,type:Ze.type,sourceLayerIndex:Ft,index:Tt,geometry:Qt?sr.geometry:js(Ze),patterns:{},sortKey:Tr};ue.push(Pr)}De&&ue.sort((Ze,at)=>Ze.sortKey-at.sortKey);for(let Ze of ue){let{geometry:at,index:Tt,sourceLayerIndex:Ft}=Ze,Qt=S[Tt].feature;this.addFeature(Ze,at,Tt,j),D.featureIndex.insert(Qt,at,Tt,Ft,this.index)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,Ue),this.indexBuffer=S.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(S),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(S,D,j,te){for(let ue of D)for(let ve of ue){let De=ve.x,Ze=ve.y;if(De<0||De>=za||Ze<0||Ze>=za)continue;let at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,S.sortKey),Tt=at.vertexLength;fu(this.layoutVertexArray,De,Ze,-1,-1),fu(this.layoutVertexArray,De,Ze,1,-1),fu(this.layoutVertexArray,De,Ze,1,1),fu(this.layoutVertexArray,De,Ze,-1,1),this.indexArray.emplaceBack(Tt,Tt+1,Tt+2),this.indexArray.emplaceBack(Tt,Tt+3,Tt+2),at.vertexLength+=4,at.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,{},te)}}function xc(R,S){for(let D=0;D<R.length;D++)if(On(S,R[D]))return!0;for(let D=0;D<S.length;D++)if(On(R,S[D]))return!0;return!!wi(R,S)}function At(R,S,D){return!!On(R,S)||!!Oi(S,R,D)}function Er(R,S){if(R.length===1)return cn(S,R[0]);for(let D=0;D<S.length;D++){let j=S[D];for(let te=0;te<j.length;te++)if(On(R,j[te]))return!0}for(let D=0;D<R.length;D++)if(cn(S,R[D]))return!0;for(let D=0;D<S.length;D++)if(wi(R,S[D]))return!0;return!1}function Wr(R,S,D){if(R.length>1){if(wi(R,S))return!0;for(let j=0;j<S.length;j++)if(Oi(S[j],R,D))return!0}for(let j=0;j<R.length;j++)if(Oi(R[j],S,D))return!0;return!1}function wi(R,S){if(R.length===0||S.length===0)return!1;for(let D=0;D<R.length-1;D++){let j=R[D],te=R[D+1];for(let ue=0;ue<S.length-1;ue++)if(Ui(j,te,S[ue],S[ue+1]))return!0}return!1}function Ui(R,S,D,j){return F(R,D,j)!==F(S,D,j)&&F(R,S,D)!==F(R,S,j)}function Oi(R,S,D){let j=D*D;if(S.length===1)return R.distSqr(S[0])<j;for(let te=1;te<S.length;te++)if(Bi(R,S[te-1],S[te])<j)return!0;return!1}function Bi(R,S,D){let j=S.distSqr(D);if(j===0)return R.distSqr(S);let te=((R.x-S.x)*(D.x-S.x)+(R.y-S.y)*(D.y-S.y))/j;return R.distSqr(te<0?S:te>1?D:D.sub(S)._mult(te)._add(S))}function cn(R,S){let D,j,te,ue=!1;for(let ve=0;ve<R.length;ve++){D=R[ve];for(let De=0,Ze=D.length-1;De<D.length;Ze=De++)j=D[De],te=D[Ze],j.y>S.y!=te.y>S.y&&S.x<(te.x-j.x)*(S.y-j.y)/(te.y-j.y)+j.x&&(ue=!ue)}return ue}function On(R,S){let D=!1;for(let j=0,te=R.length-1;j<R.length;te=j++){let ue=R[j],ve=R[te];ue.y>S.y!=ve.y>S.y&&S.x<(ve.x-ue.x)*(S.y-ue.y)/(ve.y-ue.y)+ue.x&&(D=!D)}return D}function Bn(R,S,D){let j=D[0],te=D[2];if(R.x<j.x&&S.x<j.x||R.x>te.x&&S.x>te.x||R.y<j.y&&S.y<j.y||R.y>te.y&&S.y>te.y)return!1;let ue=F(R,S,D[0]);return ue!==F(R,S,D[1])||ue!==F(R,S,D[2])||ue!==F(R,S,D[3])}function yn(R,S,D){let j=S.paint.get(R).value;return j.kind===\"constant\"?j.value:D.programConfigurations.get(S.id).getMaxValue(R)}function to(R){return Math.sqrt(R[0]*R[0]+R[1]*R[1])}function Rn(R,S,D,j,te){if(!S[0]&&!S[1])return R;let ue=u.convert(S)._mult(te);D===\"viewport\"&&ue._rotate(-j);let ve=[];for(let De=0;De<R.length;De++)ve.push(R[De].sub(ue));return ve}let Dn,fn;mi(\"CircleBucket\",dl,{omit:[\"layers\"]});var Ai={get paint(){return fn=fn||new le({\"circle-radius\":new eo(ce.paint_circle[\"circle-radius\"]),\"circle-color\":new eo(ce.paint_circle[\"circle-color\"]),\"circle-blur\":new eo(ce.paint_circle[\"circle-blur\"]),\"circle-opacity\":new eo(ce.paint_circle[\"circle-opacity\"]),\"circle-translate\":new Da(ce.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new Da(ce.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new Da(ce.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new Da(ce.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new eo(ce.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new eo(ce.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new eo(ce.paint_circle[\"circle-stroke-opacity\"])})},get layout(){return Dn=Dn||new le({\"circle-sort-key\":new eo(ce.layout_circle[\"circle-sort-key\"])})}},ji=1e-6,Ln=typeof Float32Array!=\"undefined\"?Float32Array:Array;function Un(R){return R[0]=1,R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=1,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[10]=1,R[11]=0,R[12]=0,R[13]=0,R[14]=0,R[15]=1,R}function gn(R,S,D){var j=S[0],te=S[1],ue=S[2],ve=S[3],De=S[4],Ze=S[5],at=S[6],Tt=S[7],Ft=S[8],Qt=S[9],sr=S[10],Tr=S[11],Pr=S[12],$r=S[13],ni=S[14],Di=S[15],pi=D[0],ki=D[1],Zi=D[2],ta=D[3];return R[0]=pi*j+ki*De+Zi*Ft+ta*Pr,R[1]=pi*te+ki*Ze+Zi*Qt+ta*$r,R[2]=pi*ue+ki*at+Zi*sr+ta*ni,R[3]=pi*ve+ki*Tt+Zi*Tr+ta*Di,R[4]=(pi=D[4])*j+(ki=D[5])*De+(Zi=D[6])*Ft+(ta=D[7])*Pr,R[5]=pi*te+ki*Ze+Zi*Qt+ta*$r,R[6]=pi*ue+ki*at+Zi*sr+ta*ni,R[7]=pi*ve+ki*Tt+Zi*Tr+ta*Di,R[8]=(pi=D[8])*j+(ki=D[9])*De+(Zi=D[10])*Ft+(ta=D[11])*Pr,R[9]=pi*te+ki*Ze+Zi*Qt+ta*$r,R[10]=pi*ue+ki*at+Zi*sr+ta*ni,R[11]=pi*ve+ki*Tt+Zi*Tr+ta*Di,R[12]=(pi=D[12])*j+(ki=D[13])*De+(Zi=D[14])*Ft+(ta=D[15])*Pr,R[13]=pi*te+ki*Ze+Zi*Qt+ta*$r,R[14]=pi*ue+ki*at+Zi*sr+ta*ni,R[15]=pi*ve+ki*Tt+Zi*Tr+ta*Di,R}Math.hypot||(Math.hypot=function(){for(var R=0,S=arguments.length;S--;)R+=arguments[S]*arguments[S];return Math.sqrt(R)});var ca,Kn=gn;function Za(R,S,D){var j=S[0],te=S[1],ue=S[2],ve=S[3];return R[0]=D[0]*j+D[4]*te+D[8]*ue+D[12]*ve,R[1]=D[1]*j+D[5]*te+D[9]*ue+D[13]*ve,R[2]=D[2]*j+D[6]*te+D[10]*ue+D[14]*ve,R[3]=D[3]*j+D[7]*te+D[11]*ue+D[15]*ve,R}ca=new Ln(4),Ln!=Float32Array&&(ca[0]=0,ca[1]=0,ca[2]=0,ca[3]=0);class wn extends B{constructor(S){super(S,Ai)}createBucket(S){return new dl(S)}queryRadius(S){let D=S;return yn(\"circle-radius\",this,D)+yn(\"circle-stroke-width\",this,D)+to(this.paint.get(\"circle-translate\"))}queryIntersectsFeature(S,D,j,te,ue,ve,De,Ze){let at=Rn(S,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),ve.angle,De),Tt=this.paint.get(\"circle-radius\").evaluate(D,j)+this.paint.get(\"circle-stroke-width\").evaluate(D,j),Ft=this.paint.get(\"circle-pitch-alignment\")===\"map\",Qt=Ft?at:function(Tr,Pr){return Tr.map($r=>vn($r,Pr))}(at,Ze),sr=Ft?Tt*De:Tt;for(let Tr of te)for(let Pr of Tr){let $r=Ft?Pr:vn(Pr,Ze),ni=sr,Di=Za([],[Pr.x,Pr.y,0,1],Ze);if(this.paint.get(\"circle-pitch-scale\")===\"viewport\"&&this.paint.get(\"circle-pitch-alignment\")===\"map\"?ni*=Di[3]/ve.cameraToCenterDistance:this.paint.get(\"circle-pitch-scale\")===\"map\"&&this.paint.get(\"circle-pitch-alignment\")===\"viewport\"&&(ni*=ve.cameraToCenterDistance/Di[3]),At(Qt,$r,ni))return!0}return!1}}function vn(R,S){let D=Za([],[R.x,R.y,0,1],S);return new u(D[0]/D[3],D[1]/D[3])}class Aa extends dl{}let aa;mi(\"HeatmapBucket\",Aa,{omit:[\"layers\"]});var Xn={get paint(){return aa=aa||new le({\"heatmap-radius\":new eo(ce.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new eo(ce.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new Da(ce.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new _c(ce.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new Da(ce.paint_heatmap[\"heatmap-opacity\"])})}};function Vn(R,{width:S,height:D},j,te){if(te){if(te instanceof Uint8ClampedArray)te=new Uint8Array(te.buffer);else if(te.length!==S*D*j)throw new RangeError(`mismatched image size. expected: ${te.length} but got: ${S*D*j}`)}else te=new Uint8Array(S*D*j);return R.width=S,R.height=D,R.data=te,R}function ma(R,{width:S,height:D},j){if(S===R.width&&D===R.height)return;let te=Vn({},{width:S,height:D},j);ro(R,te,{x:0,y:0},{x:0,y:0},{width:Math.min(R.width,S),height:Math.min(R.height,D)},j),R.width=S,R.height=D,R.data=te.data}function ro(R,S,D,j,te,ue){if(te.width===0||te.height===0)return S;if(te.width>R.width||te.height>R.height||D.x>R.width-te.width||D.y>R.height-te.height)throw new RangeError(\"out of range source coordinates for image copy\");if(te.width>S.width||te.height>S.height||j.x>S.width-te.width||j.y>S.height-te.height)throw new RangeError(\"out of range destination coordinates for image copy\");let ve=R.data,De=S.data;if(ve===De)throw new Error(\"srcData equals dstData, so image is already copied\");for(let Ze=0;Ze<te.height;Ze++){let at=((D.y+Ze)*R.width+D.x)*ue,Tt=((j.y+Ze)*S.width+j.x)*ue;for(let Ft=0;Ft<te.width*ue;Ft++)De[Tt+Ft]=ve[at+Ft]}return S}class Ao{constructor(S,D){Vn(this,S,1,D)}resize(S){ma(this,S,1)}clone(){return new Ao({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(S,D,j,te,ue){ro(S,D,j,te,ue,1)}}class Jn{constructor(S,D){Vn(this,S,4,D)}resize(S){ma(this,S,4)}replace(S,D){D?this.data.set(S):this.data=S instanceof Uint8ClampedArray?new Uint8Array(S.buffer):S}clone(){return new Jn({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(S,D,j,te,ue){ro(S,D,j,te,ue,4)}}function Oa(R){let S={},D=R.resolution||256,j=R.clips?R.clips.length:1,te=R.image||new Jn({width:D,height:j});if(Math.log(D)/Math.LN2%1!=0)throw new Error(`width is not a power of 2 - ${D}`);let ue=(ve,De,Ze)=>{S[R.evaluationKey]=Ze;let at=R.expression.evaluate(S);te.data[ve+De+0]=Math.floor(255*at.r/at.a),te.data[ve+De+1]=Math.floor(255*at.g/at.a),te.data[ve+De+2]=Math.floor(255*at.b/at.a),te.data[ve+De+3]=Math.floor(255*at.a)};if(R.clips)for(let ve=0,De=0;ve<j;++ve,De+=4*D)for(let Ze=0,at=0;Ze<D;Ze++,at+=4){let Tt=Ze/(D-1),{start:Ft,end:Qt}=R.clips[ve];ue(De,at,Ft*(1-Tt)+Qt*Tt)}else for(let ve=0,De=0;ve<D;ve++,De+=4)ue(0,De,ve/(D-1));return te}mi(\"AlphaImage\",Ao),mi(\"RGBAImage\",Jn);let _o=\"big-fb\";class Po extends B{createBucket(S){return new Aa(S)}constructor(S){super(S,Xn),this.heatmapFbos=new Map,this._updateColorRamp()}_handleSpecialPaintPropertyUpdate(S){S===\"heatmap-color\"&&this._updateColorRamp()}_updateColorRamp(){this.colorRamp=Oa({expression:this._transitionablePaint._values[\"heatmap-color\"].value.expression,evaluationKey:\"heatmapDensity\",image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbos.has(_o)&&this.heatmapFbos.delete(_o)}queryRadius(){return 0}queryIntersectsFeature(){return!1}hasOffscreenPass(){return this.paint.get(\"heatmap-opacity\")!==0&&this.visibility!==\"none\"}}let Jo;var Yl={get paint(){return Jo=Jo||new le({\"hillshade-illumination-direction\":new Da(ce.paint_hillshade[\"hillshade-illumination-direction\"]),\"hillshade-illumination-anchor\":new Da(ce.paint_hillshade[\"hillshade-illumination-anchor\"]),\"hillshade-exaggeration\":new Da(ce.paint_hillshade[\"hillshade-exaggeration\"]),\"hillshade-shadow-color\":new Da(ce.paint_hillshade[\"hillshade-shadow-color\"]),\"hillshade-highlight-color\":new Da(ce.paint_hillshade[\"hillshade-highlight-color\"]),\"hillshade-accent-color\":new Da(ce.paint_hillshade[\"hillshade-accent-color\"])})}};class $c extends B{constructor(S){super(S,Yl)}hasOffscreenPass(){return this.paint.get(\"hillshade-exaggeration\")!==0&&this.visibility!==\"none\"}}let xs=qe([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:Qc}=xs;function El(R,S,D=2){let j=S&&S.length,te=j?S[0]*D:R.length,ue=bc(R,0,te,D,!0),ve=[];if(!ue||ue.next===ue.prev)return ve;let De,Ze,at;if(j&&(ue=function(Tt,Ft,Qt,sr){let Tr=[];for(let Pr=0,$r=Ft.length;Pr<$r;Pr++){let ni=bc(Tt,Ft[Pr]*sr,Pr<$r-1?Ft[Pr+1]*sr:Tt.length,sr,!1);ni===ni.next&&(ni.steiner=!0),Tr.push(K(ni))}Tr.sort(_f);for(let Pr=0;Pr<Tr.length;Pr++)Qt=ns(Tr[Pr],Qt);return Qt}(R,S,ue,D)),R.length>80*D){De=1/0,Ze=1/0;let Tt=-1/0,Ft=-1/0;for(let Qt=D;Qt<te;Qt+=D){let sr=R[Qt],Tr=R[Qt+1];sr<De&&(De=sr),Tr<Ze&&(Ze=Tr),sr>Tt&&(Tt=sr),Tr>Ft&&(Ft=Tr)}at=Math.max(Tt-De,Ft-Ze),at=at!==0?32767/at:0}return yf(ue,ve,D,De,Ze,at,0),ve}function bc(R,S,D,j,te){let ue;if(te===function(ve,De,Ze,at){let Tt=0;for(let Ft=De,Qt=Ze-at;Ft<Ze;Ft+=at)Tt+=(ve[Qt]-ve[Ft])*(ve[Ft+1]+ve[Qt+1]),Qt=Ft;return Tt}(R,S,D,j)>0)for(let ve=S;ve<D;ve+=j)ue=Jt(ve/j|0,R[ve],R[ve+1],ue);else for(let ve=D-j;ve>=S;ve-=j)ue=Jt(ve/j|0,R[ve],R[ve+1],ue);return ue&&de(ue,ue.next)&&(vt(ue),ue=ue.next),ue}function wc(R,S){if(!R)return R;S||(S=R);let D,j=R;do if(D=!1,j.steiner||!de(j,j.next)&&pe(j.prev,j,j.next)!==0)j=j.next;else{if(vt(j),j=S=j.prev,j===j.next)break;D=!0}while(D||j!==S);return S}function yf(R,S,D,j,te,ue,ve){if(!R)return;!ve&&ue&&function(Ze,at,Tt,Ft){let Qt=Ze;do Qt.z===0&&(Qt.z=z(Qt.x,Qt.y,at,Tt,Ft)),Qt.prevZ=Qt.prev,Qt.nextZ=Qt.next,Qt=Qt.next;while(Qt!==Ze);Qt.prevZ.nextZ=null,Qt.prevZ=null,function(sr){let Tr,Pr=1;do{let $r,ni=sr;sr=null;let Di=null;for(Tr=0;ni;){Tr++;let pi=ni,ki=0;for(let ta=0;ta<Pr&&(ki++,pi=pi.nextZ,pi);ta++);let Zi=Pr;for(;ki>0||Zi>0&π)ki!==0&&(Zi===0||!pi||ni.z<=pi.z)?($r=ni,ni=ni.nextZ,ki--):($r=pi,pi=pi.nextZ,Zi--),Di?Di.nextZ=$r:sr=$r,$r.prevZ=Di,Di=$r;ni=pi}Di.nextZ=null,Pr*=2}while(Tr>1)}(Qt)}(R,j,te,ue);let De=R;for(;R.prev!==R.next;){let Ze=R.prev,at=R.next;if(ue?Fc(R,j,te,ue):Gl(R))S.push(Ze.i,R.i,at.i),vt(R),R=at.next,De=at.next;else if((R=at)===De){ve?ve===1?yf(R=ef(wc(R),S),S,D,j,te,ue,2):ve===2&&ls(R,S,D,j,te,ue):yf(wc(R),S,D,j,te,ue,1);break}}}function Gl(R){let S=R.prev,D=R,j=R.next;if(pe(S,D,j)>=0)return!1;let te=S.x,ue=D.x,ve=j.x,De=S.y,Ze=D.y,at=j.y,Tt=te<ue?te<ve?te:ve:ue<ve?ue:ve,Ft=De<Ze?De<at?De:at:Ze<at?Ze:at,Qt=te>ue?te>ve?te:ve:ue>ve?ue:ve,sr=De>Ze?De>at?De:at:Ze>at?Ze:at,Tr=j.next;for(;Tr!==S;){if(Tr.x>=Tt&&Tr.x<=Qt&&Tr.y>=Ft&&Tr.y<=sr&&O(te,De,ue,Ze,ve,at,Tr.x,Tr.y)&&pe(Tr.prev,Tr,Tr.next)>=0)return!1;Tr=Tr.next}return!0}function Fc(R,S,D,j){let te=R.prev,ue=R,ve=R.next;if(pe(te,ue,ve)>=0)return!1;let De=te.x,Ze=ue.x,at=ve.x,Tt=te.y,Ft=ue.y,Qt=ve.y,sr=De<Ze?De<at?De:at:Ze<at?Ze:at,Tr=Tt<Ft?Tt<Qt?Tt:Qt:Ft<Qt?Ft:Qt,Pr=De>Ze?De>at?De:at:Ze>at?Ze:at,$r=Tt>Ft?Tt>Qt?Tt:Qt:Ft>Qt?Ft:Qt,ni=z(sr,Tr,S,D,j),Di=z(Pr,$r,S,D,j),pi=R.prevZ,ki=R.nextZ;for(;pi&&pi.z>=ni&&ki&&ki.z<=Di;){if(pi.x>=sr&&pi.x<=Pr&&pi.y>=Tr&&pi.y<=$r&&pi!==te&&pi!==ve&&O(De,Tt,Ze,Ft,at,Qt,pi.x,pi.y)&&pe(pi.prev,pi,pi.next)>=0||(pi=pi.prevZ,ki.x>=sr&&ki.x<=Pr&&ki.y>=Tr&&ki.y<=$r&&ki!==te&&ki!==ve&&O(De,Tt,Ze,Ft,at,Qt,ki.x,ki.y)&&pe(ki.prev,ki,ki.next)>=0))return!1;ki=ki.nextZ}for(;pi&&pi.z>=ni;){if(pi.x>=sr&&pi.x<=Pr&&pi.y>=Tr&&pi.y<=$r&&pi!==te&&pi!==ve&&O(De,Tt,Ze,Ft,at,Qt,pi.x,pi.y)&&pe(pi.prev,pi,pi.next)>=0)return!1;pi=pi.prevZ}for(;ki&&ki.z<=Di;){if(ki.x>=sr&&ki.x<=Pr&&ki.y>=Tr&&ki.y<=$r&&ki!==te&&ki!==ve&&O(De,Tt,Ze,Ft,at,Qt,ki.x,ki.y)&&pe(ki.prev,ki,ki.next)>=0)return!1;ki=ki.nextZ}return!0}function ef(R,S){let D=R;do{let j=D.prev,te=D.next.next;!de(j,te)&&Ie(j,D,D.next,te)&&Kt(j,te)&&Kt(te,j)&&(S.push(j.i,D.i,te.i),vt(D),vt(D.next),D=R=te),D=D.next}while(D!==R);return wc(D)}function ls(R,S,D,j,te,ue){let ve=R;do{let De=ve.next.next;for(;De!==ve.prev;){if(ve.i!==De.i&&$(ve,De)){let Ze=ir(ve,De);return ve=wc(ve,ve.next),Ze=wc(Ze,Ze.next),yf(ve,S,D,j,te,ue,0),void yf(Ze,S,D,j,te,ue,0)}De=De.next}ve=ve.next}while(ve!==R)}function _f(R,S){return R.x-S.x}function ns(R,S){let D=function(te,ue){let ve=ue,De=te.x,Ze=te.y,at,Tt=-1/0;do{if(Ze<=ve.y&&Ze>=ve.next.y&&ve.next.y!==ve.y){let Pr=ve.x+(Ze-ve.y)*(ve.next.x-ve.x)/(ve.next.y-ve.y);if(Pr<=De&&Pr>Tt&&(Tt=Pr,at=ve.x<ve.next.x?ve:ve.next,Pr===De))return at}ve=ve.next}while(ve!==ue);if(!at)return null;let Ft=at,Qt=at.x,sr=at.y,Tr=1/0;ve=at;do{if(De>=ve.x&&ve.x>=Qt&&De!==ve.x&&O(Ze<sr?De:Tt,Ze,Qt,sr,Ze<sr?Tt:De,Ze,ve.x,ve.y)){let Pr=Math.abs(Ze-ve.y)/(De-ve.x);Kt(ve,te)&&(Pr<Tr||Pr===Tr&&(ve.x>at.x||ve.x===at.x&&Y(at,ve)))&&(at=ve,Tr=Pr)}ve=ve.next}while(ve!==Ft);return at}(R,S);if(!D)return S;let j=ir(D,R);return wc(j,j.next),wc(D,D.next)}function Y(R,S){return pe(R.prev,R,S.prev)<0&&pe(S.next,R,R.next)<0}function z(R,S,D,j,te){return(R=1431655765&((R=858993459&((R=252645135&((R=16711935&((R=(R-D)*te|0)|R<<8))|R<<4))|R<<2))|R<<1))|(S=1431655765&((S=858993459&((S=252645135&((S=16711935&((S=(S-j)*te|0)|S<<8))|S<<4))|S<<2))|S<<1))<<1}function K(R){let S=R,D=R;do(S.x<D.x||S.x===D.x&&S.y<D.y)&&(D=S),S=S.next;while(S!==R);return D}function O(R,S,D,j,te,ue,ve,De){return(te-ve)*(S-De)>=(R-ve)*(ue-De)&&(R-ve)*(j-De)>=(D-ve)*(S-De)&&(D-ve)*(ue-De)>=(te-ve)*(j-De)}function $(R,S){return R.next.i!==S.i&&R.prev.i!==S.i&&!function(D,j){let te=D;do{if(te.i!==D.i&&te.next.i!==D.i&&te.i!==j.i&&te.next.i!==j.i&&Ie(te,te.next,D,j))return!0;te=te.next}while(te!==D);return!1}(R,S)&&(Kt(R,S)&&Kt(S,R)&&function(D,j){let te=D,ue=!1,ve=(D.x+j.x)/2,De=(D.y+j.y)/2;do te.y>De!=te.next.y>De&&te.next.y!==te.y&&ve<(te.next.x-te.x)*(De-te.y)/(te.next.y-te.y)+te.x&&(ue=!ue),te=te.next;while(te!==D);return ue}(R,S)&&(pe(R.prev,R,S.prev)||pe(R,S.prev,S))||de(R,S)&&pe(R.prev,R,R.next)>0&&pe(S.prev,S,S.next)>0)}function pe(R,S,D){return(S.y-R.y)*(D.x-S.x)-(S.x-R.x)*(D.y-S.y)}function de(R,S){return R.x===S.x&&R.y===S.y}function Ie(R,S,D,j){let te=pt(pe(R,S,D)),ue=pt(pe(R,S,j)),ve=pt(pe(D,j,R)),De=pt(pe(D,j,S));return te!==ue&&ve!==De||!(te!==0||!$e(R,D,S))||!(ue!==0||!$e(R,j,S))||!(ve!==0||!$e(D,R,j))||!(De!==0||!$e(D,S,j))}function $e(R,S,D){return S.x<=Math.max(R.x,D.x)&&S.x>=Math.min(R.x,D.x)&&S.y<=Math.max(R.y,D.y)&&S.y>=Math.min(R.y,D.y)}function pt(R){return R>0?1:R<0?-1:0}function Kt(R,S){return pe(R.prev,R,R.next)<0?pe(R,S,R.next)>=0&&pe(R,R.prev,S)>=0:pe(R,S,R.prev)<0||pe(R,R.next,S)<0}function ir(R,S){let D=Pt(R.i,R.x,R.y),j=Pt(S.i,S.x,S.y),te=R.next,ue=S.prev;return R.next=S,S.prev=R,D.next=te,te.prev=D,j.next=D,D.prev=j,ue.next=j,j.prev=ue,j}function Jt(R,S,D,j){let te=Pt(R,S,D);return j?(te.next=j.next,te.prev=j,j.next.prev=te,j.next=te):(te.prev=te,te.next=te),te}function vt(R){R.next.prev=R.prev,R.prev.next=R.next,R.prevZ&&(R.prevZ.nextZ=R.nextZ),R.nextZ&&(R.nextZ.prevZ=R.prevZ)}function Pt(R,S,D){return{i:R,x:S,y:D,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function Wt(R,S,D){let j=D.patternDependencies,te=!1;for(let ue of S){let ve=ue.paint.get(`${R}-pattern`);ve.isConstant()||(te=!0);let De=ve.constantOr(null);De&&(te=!0,j[De.to]=!0,j[De.from]=!0)}return te}function rr(R,S,D,j,te){let ue=te.patternDependencies;for(let ve of S){let De=ve.paint.get(`${R}-pattern`).value;if(De.kind!==\"constant\"){let Ze=De.evaluate({zoom:j-1},D,{},te.availableImages),at=De.evaluate({zoom:j},D,{},te.availableImages),Tt=De.evaluate({zoom:j+1},D,{},te.availableImages);Ze=Ze&&Ze.name?Ze.name:Ze,at=at&&at.name?at.name:at,Tt=Tt&&Tt.name?Tt.name:Tt,ue[Ze]=!0,ue[at]=!0,ue[Tt]=!0,D.patterns[ve.id]={min:Ze,mid:at,max:Tt}}}return D}class dr{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new _l,this.indexArray=new oe,this.indexArray2=new we,this.programConfigurations=new _s(S.layers,S.zoom),this.segments=new We,this.segments2=new We,this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){this.hasPattern=Wt(\"fill\",this.layers,D);let te=this.layers[0].layout.get(\"fill-sort-key\"),ue=!te.isConstant(),ve=[];for(let{feature:De,id:Ze,index:at,sourceLayerIndex:Tt}of S){let Ft=this.layers[0]._featureFilter.needGeometry,Qt=xl(De,Ft);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),Qt,j))continue;let sr=ue?te.evaluate(Qt,{},j,D.availableImages):void 0,Tr={id:Ze,properties:De.properties,type:De.type,sourceLayerIndex:Tt,index:at,geometry:Ft?Qt.geometry:js(De),patterns:{},sortKey:sr};ve.push(Tr)}ue&&ve.sort((De,Ze)=>De.sortKey-Ze.sortKey);for(let De of ve){let{geometry:Ze,index:at,sourceLayerIndex:Tt}=De;if(this.hasPattern){let Ft=rr(\"fill\",this.layers,De,this.zoom,D);this.patternFeatures.push(Ft)}else this.addFeature(De,Ze,at,j,{});D.featureIndex.insert(S[at].feature,Ze,at,Tt,this.index)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}addFeatures(S,D,j){for(let te of this.patternFeatures)this.addFeature(te,te.geometry,te.index,D,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,Qc),this.indexBuffer=S.createIndexBuffer(this.indexArray),this.indexBuffer2=S.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(S),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(S,D,j,te,ue){for(let ve of Of(D,500)){let De=0;for(let sr of ve)De+=sr.length;let Ze=this.segments.prepareSegment(De,this.layoutVertexArray,this.indexArray),at=Ze.vertexLength,Tt=[],Ft=[];for(let sr of ve){if(sr.length===0)continue;sr!==ve[0]&&Ft.push(Tt.length/2);let Tr=this.segments2.prepareSegment(sr.length,this.layoutVertexArray,this.indexArray2),Pr=Tr.vertexLength;this.layoutVertexArray.emplaceBack(sr[0].x,sr[0].y),this.indexArray2.emplaceBack(Pr+sr.length-1,Pr),Tt.push(sr[0].x),Tt.push(sr[0].y);for(let $r=1;$r<sr.length;$r++)this.layoutVertexArray.emplaceBack(sr[$r].x,sr[$r].y),this.indexArray2.emplaceBack(Pr+$r-1,Pr+$r),Tt.push(sr[$r].x),Tt.push(sr[$r].y);Tr.vertexLength+=sr.length,Tr.primitiveLength+=sr.length}let Qt=El(Tt,Ft);for(let sr=0;sr<Qt.length;sr+=3)this.indexArray.emplaceBack(at+Qt[sr],at+Qt[sr+1],at+Qt[sr+2]);Ze.vertexLength+=De,Ze.primitiveLength+=Qt.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,ue,te)}}let pr,kr;mi(\"FillBucket\",dr,{omit:[\"layers\",\"patternFeatures\"]});var Ar={get paint(){return kr=kr||new le({\"fill-antialias\":new Da(ce.paint_fill[\"fill-antialias\"]),\"fill-opacity\":new eo(ce.paint_fill[\"fill-opacity\"]),\"fill-color\":new eo(ce.paint_fill[\"fill-color\"]),\"fill-outline-color\":new eo(ce.paint_fill[\"fill-outline-color\"]),\"fill-translate\":new Da(ce.paint_fill[\"fill-translate\"]),\"fill-translate-anchor\":new Da(ce.paint_fill[\"fill-translate-anchor\"]),\"fill-pattern\":new Jc(ce.paint_fill[\"fill-pattern\"])})},get layout(){return pr=pr||new le({\"fill-sort-key\":new eo(ce.layout_fill[\"fill-sort-key\"])})}};class gr extends B{constructor(S){super(S,Ar)}recalculate(S,D){super.recalculate(S,D);let j=this.paint._values[\"fill-outline-color\"];j.value.kind===\"constant\"&&j.value.value===void 0&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"])}createBucket(S){return new dr(S)}queryRadius(){return to(this.paint.get(\"fill-translate\"))}queryIntersectsFeature(S,D,j,te,ue,ve,De){return Er(Rn(S,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),ve.angle,De),te)}isTileClipped(){return!0}}let Cr=qe([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal_ed\",components:4,type:\"Int16\"}],4),cr=qe([{name:\"a_centroid\",components:2,type:\"Int16\"}],4),{members:Gr}=Cr;var ei={},yi=s,tn=Ri;function Ri(R,S,D,j,te){this.properties={},this.extent=D,this.type=0,this._pbf=R,this._geometry=-1,this._keys=j,this._values=te,R.readFields(ln,this,S)}function ln(R,S,D){R==1?S.id=D.readVarint():R==2?function(j,te){for(var ue=j.readVarint()+j.pos;j.pos<ue;){var ve=te._keys[j.readVarint()],De=te._values[j.readVarint()];te.properties[ve]=De}}(D,S):R==3?S.type=D.readVarint():R==4&&(S._geometry=D.pos)}function Qn(R){for(var S,D,j=0,te=0,ue=R.length,ve=ue-1;te<ue;ve=te++)j+=((D=R[ve]).x-(S=R[te]).x)*(S.y+D.y);return j}Ri.types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],Ri.prototype.loadGeometry=function(){var R=this._pbf;R.pos=this._geometry;for(var S,D=R.readVarint()+R.pos,j=1,te=0,ue=0,ve=0,De=[];R.pos<D;){if(te<=0){var Ze=R.readVarint();j=7&Ze,te=Ze>>3}if(te--,j===1||j===2)ue+=R.readSVarint(),ve+=R.readSVarint(),j===1&&(S&&De.push(S),S=[]),S.push(new yi(ue,ve));else{if(j!==7)throw new Error(\"unknown command \"+j);S&&S.push(S[0].clone())}}return S&&De.push(S),De},Ri.prototype.bbox=function(){var R=this._pbf;R.pos=this._geometry;for(var S=R.readVarint()+R.pos,D=1,j=0,te=0,ue=0,ve=1/0,De=-1/0,Ze=1/0,at=-1/0;R.pos<S;){if(j<=0){var Tt=R.readVarint();D=7&Tt,j=Tt>>3}if(j--,D===1||D===2)(te+=R.readSVarint())<ve&&(ve=te),te>De&&(De=te),(ue+=R.readSVarint())<Ze&&(Ze=ue),ue>at&&(at=ue);else if(D!==7)throw new Error(\"unknown command \"+D)}return[ve,Ze,De,at]},Ri.prototype.toGeoJSON=function(R,S,D){var j,te,ue=this.extent*Math.pow(2,D),ve=this.extent*R,De=this.extent*S,Ze=this.loadGeometry(),at=Ri.types[this.type];function Tt(sr){for(var Tr=0;Tr<sr.length;Tr++){var Pr=sr[Tr];sr[Tr]=[360*(Pr.x+ve)/ue-180,360/Math.PI*Math.atan(Math.exp((180-360*(Pr.y+De)/ue)*Math.PI/180))-90]}}switch(this.type){case 1:var Ft=[];for(j=0;j<Ze.length;j++)Ft[j]=Ze[j][0];Tt(Ze=Ft);break;case 2:for(j=0;j<Ze.length;j++)Tt(Ze[j]);break;case 3:for(Ze=function(sr){var Tr=sr.length;if(Tr<=1)return[sr];for(var Pr,$r,ni=[],Di=0;Di<Tr;Di++){var pi=Qn(sr[Di]);pi!==0&&($r===void 0&&($r=pi<0),$r===pi<0?(Pr&&ni.push(Pr),Pr=[sr[Di]]):Pr.push(sr[Di]))}return Pr&&ni.push(Pr),ni}(Ze),j=0;j<Ze.length;j++)for(te=0;te<Ze[j].length;te++)Tt(Ze[j][te])}Ze.length===1?Ze=Ze[0]:at=\"Multi\"+at;var Qt={type:\"Feature\",geometry:{type:at,coordinates:Ze},properties:this.properties};return\"id\"in this&&(Qt.id=this.id),Qt};var qn=tn,rn=bn;function bn(R,S){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=R,this._keys=[],this._values=[],this._features=[],R.readFields(mn,this,S),this.length=this._features.length}function mn(R,S,D){R===15?S.version=D.readVarint():R===1?S.name=D.readString():R===5?S.extent=D.readVarint():R===2?S._features.push(D.pos):R===3?S._keys.push(D.readString()):R===4&&S._values.push(function(j){for(var te=null,ue=j.readVarint()+j.pos;j.pos<ue;){var ve=j.readVarint()>>3;te=ve===1?j.readString():ve===2?j.readFloat():ve===3?j.readDouble():ve===4?j.readVarint64():ve===5?j.readVarint():ve===6?j.readSVarint():ve===7?j.readBoolean():null}return te}(D))}bn.prototype.feature=function(R){if(R<0||R>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[R];var S=this._pbf.readVarint()+this._pbf.pos;return new qn(this._pbf,S,this.extent,this._keys,this._values)};var Gn=rn;function da(R,S,D){if(R===3){var j=new Gn(D,D.readVarint()+D.pos);j.length&&(S[j.name]=j)}}ei.VectorTile=function(R,S){this.layers=R.readFields(da,{},S)},ei.VectorTileFeature=tn,ei.VectorTileLayer=rn;let No=ei.VectorTileFeature.types,Do=Math.pow(2,13);function ps(R,S,D,j,te,ue,ve,De){R.emplaceBack(S,D,2*Math.floor(j*Do)+ve,te*Do*2,ue*Do*2,Math.round(De))}class fo{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.layoutVertexArray=new Hl,this.centroidVertexArray=new yo,this.indexArray=new oe,this.programConfigurations=new _s(S.layers,S.zoom),this.segments=new We,this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){this.features=[],this.hasPattern=Wt(\"fill-extrusion\",this.layers,D);for(let{feature:te,id:ue,index:ve,sourceLayerIndex:De}of S){let Ze=this.layers[0]._featureFilter.needGeometry,at=xl(te,Ze);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),at,j))continue;let Tt={id:ue,sourceLayerIndex:De,index:ve,geometry:Ze?at.geometry:js(te),properties:te.properties,type:te.type,patterns:{}};this.hasPattern?this.features.push(rr(\"fill-extrusion\",this.layers,Tt,this.zoom,D)):this.addFeature(Tt,Tt.geometry,ve,j,{}),D.featureIndex.insert(te,Tt.geometry,ve,De,this.index,!0)}}addFeatures(S,D,j){for(let te of this.features){let{geometry:ue}=te;this.addFeature(te,ue,te.index,D,j)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,Gr),this.centroidVertexBuffer=S.createVertexBuffer(this.centroidVertexArray,cr.members,!0),this.indexBuffer=S.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(S),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(S,D,j,te,ue){for(let ve of Of(D,500)){let De={x:0,y:0,vertexCount:0},Ze=0;for(let Tr of ve)Ze+=Tr.length;let at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let Tr of ve){if(Tr.length===0||tl(Tr))continue;let Pr=0;for(let $r=0;$r<Tr.length;$r++){let ni=Tr[$r];if($r>=1){let Di=Tr[$r-1];if(!as(ni,Di)){at.vertexLength+4>We.MAX_VERTEX_ARRAY_LENGTH&&(at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let pi=ni.sub(Di)._perp()._unit(),ki=Di.dist(ni);Pr+ki>32768&&(Pr=0),ps(this.layoutVertexArray,ni.x,ni.y,pi.x,pi.y,0,0,Pr),ps(this.layoutVertexArray,ni.x,ni.y,pi.x,pi.y,0,1,Pr),De.x+=2*ni.x,De.y+=2*ni.y,De.vertexCount+=2,Pr+=ki,ps(this.layoutVertexArray,Di.x,Di.y,pi.x,pi.y,0,0,Pr),ps(this.layoutVertexArray,Di.x,Di.y,pi.x,pi.y,0,1,Pr),De.x+=2*Di.x,De.y+=2*Di.y,De.vertexCount+=2;let Zi=at.vertexLength;this.indexArray.emplaceBack(Zi,Zi+2,Zi+1),this.indexArray.emplaceBack(Zi+1,Zi+2,Zi+3),at.vertexLength+=4,at.primitiveLength+=2}}}}if(at.vertexLength+Ze>We.MAX_VERTEX_ARRAY_LENGTH&&(at=this.segments.prepareSegment(Ze,this.layoutVertexArray,this.indexArray)),No[S.type]!==\"Polygon\")continue;let Tt=[],Ft=[],Qt=at.vertexLength;for(let Tr of ve)if(Tr.length!==0){Tr!==ve[0]&&Ft.push(Tt.length/2);for(let Pr=0;Pr<Tr.length;Pr++){let $r=Tr[Pr];ps(this.layoutVertexArray,$r.x,$r.y,0,0,1,1,0),De.x+=$r.x,De.y+=$r.y,De.vertexCount+=1,Tt.push($r.x),Tt.push($r.y)}}let sr=El(Tt,Ft);for(let Tr=0;Tr<sr.length;Tr+=3)this.indexArray.emplaceBack(Qt+sr[Tr],Qt+sr[Tr+2],Qt+sr[Tr+1]);at.primitiveLength+=sr.length/3,at.vertexLength+=Ze;for(let Tr=0;Tr<De.vertexCount;Tr++){let Pr=Math.floor(De.x/De.vertexCount),$r=Math.floor(De.y/De.vertexCount);this.centroidVertexArray.emplaceBack(Pr,$r)}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,ue,te)}}function as(R,S){return R.x===S.x&&(R.x<0||R.x>za)||R.y===S.y&&(R.y<0||R.y>za)}function tl(R){return R.every(S=>S.x<0)||R.every(S=>S.x>za)||R.every(S=>S.y<0)||R.every(S=>S.y>za)}let zu;mi(\"FillExtrusionBucket\",fo,{omit:[\"layers\",\"features\"]});var Mv={get paint(){return zu=zu||new le({\"fill-extrusion-opacity\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new eo(ce[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Jc(ce[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new eo(ce[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new eo(ce[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})}};class Ev extends B{constructor(S){super(S,Mv)}createBucket(S){return new fo(S)}queryRadius(){return to(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return!0}queryIntersectsFeature(S,D,j,te,ue,ve,De,Ze){let at=Rn(S,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),ve.angle,De),Tt=this.paint.get(\"fill-extrusion-height\").evaluate(D,j),Ft=this.paint.get(\"fill-extrusion-base\").evaluate(D,j),Qt=function(Tr,Pr,$r,ni){let Di=[];for(let pi of Tr){let ki=[pi.x,pi.y,0,1];Za(ki,ki,Pr),Di.push(new u(ki[0]/ki[3],ki[1]/ki[3]))}return Di}(at,Ze),sr=function(Tr,Pr,$r,ni){let Di=[],pi=[],ki=ni[8]*Pr,Zi=ni[9]*Pr,ta=ni[10]*Pr,Va=ni[11]*Pr,Io=ni[8]*$r,La=ni[9]*$r,Hn=ni[10]*$r,lo=ni[11]*$r;for(let $a of Tr){let Xa=[],Tn=[];for(let bo of $a){let Ya=bo.x,Uo=bo.y,wu=ni[0]*Ya+ni[4]*Uo+ni[12],hu=ni[1]*Ya+ni[5]*Uo+ni[13],uh=ni[2]*Ya+ni[6]*Uo+ni[14],$v=ni[3]*Ya+ni[7]*Uo+ni[15],td=uh+ta,ch=$v+Va,Ud=wu+Io,Vd=hu+La,Hd=uh+Hn,rf=$v+lo,fh=new u((wu+ki)/ch,(hu+Zi)/ch);fh.z=td/ch,Xa.push(fh);let Td=new u(Ud/rf,Vd/rf);Td.z=Hd/rf,Tn.push(Td)}Di.push(Xa),pi.push(Tn)}return[Di,pi]}(te,Ft,Tt,Ze);return function(Tr,Pr,$r){let ni=1/0;Er($r,Pr)&&(ni=Yv($r,Pr[0]));for(let Di=0;Di<Pr.length;Di++){let pi=Pr[Di],ki=Tr[Di];for(let Zi=0;Zi<pi.length-1;Zi++){let ta=pi[Zi],Va=[ta,pi[Zi+1],ki[Zi+1],ki[Zi],ta];xc($r,Va)&&(ni=Math.min(ni,Yv($r,Va)))}}return ni!==1/0&&ni}(sr[0],sr[1],Qt)}}function yd(R,S){return R.x*S.x+R.y*S.y}function Yv(R,S){if(R.length===1){let D=0,j=S[D++],te;for(;!te||j.equals(te);)if(te=S[D++],!te)return 1/0;for(;D<S.length;D++){let ue=S[D],ve=R[0],De=te.sub(j),Ze=ue.sub(j),at=ve.sub(j),Tt=yd(De,De),Ft=yd(De,Ze),Qt=yd(Ze,Ze),sr=yd(at,De),Tr=yd(at,Ze),Pr=Tt*Qt-Ft*Ft,$r=(Qt*sr-Ft*Tr)/Pr,ni=(Tt*Tr-Ft*sr)/Pr,Di=j.z*(1-$r-ni)+te.z*$r+ue.z*ni;if(isFinite(Di))return Di}return 1/0}{let D=1/0;for(let j of S)D=Math.min(D,j.z);return D}}let cg=qe([{name:\"a_pos_normal\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}],4),{members:vp}=cg,_d=qe([{name:\"a_uv_x\",components:1,type:\"Float32\"},{name:\"a_split_index\",components:1,type:\"Float32\"}]),{members:pp}=_d,Nd=ei.VectorTileFeature.types,xd=Math.cos(Math.PI/180*37.5),kv=Math.pow(2,14)/.5;class Kv{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(D=>{this.gradients[D.id]={}}),this.layoutVertexArray=new Zu,this.layoutVertexArray2=new cu,this.indexArray=new oe,this.programConfigurations=new _s(S.layers,S.zoom),this.segments=new We,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){this.hasPattern=Wt(\"line\",this.layers,D);let te=this.layers[0].layout.get(\"line-sort-key\"),ue=!te.isConstant(),ve=[];for(let{feature:De,id:Ze,index:at,sourceLayerIndex:Tt}of S){let Ft=this.layers[0]._featureFilter.needGeometry,Qt=xl(De,Ft);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),Qt,j))continue;let sr=ue?te.evaluate(Qt,{},j):void 0,Tr={id:Ze,properties:De.properties,type:De.type,sourceLayerIndex:Tt,index:at,geometry:Ft?Qt.geometry:js(De),patterns:{},sortKey:sr};ve.push(Tr)}ue&&ve.sort((De,Ze)=>De.sortKey-Ze.sortKey);for(let De of ve){let{geometry:Ze,index:at,sourceLayerIndex:Tt}=De;if(this.hasPattern){let Ft=rr(\"line\",this.layers,De,this.zoom,D);this.patternFeatures.push(Ft)}else this.addFeature(De,Ze,at,j,{});D.featureIndex.insert(S[at].feature,Ze,at,Tt,this.index)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}addFeatures(S,D,j){for(let te of this.patternFeatures)this.addFeature(te,te.geometry,te.index,D,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=S.createVertexBuffer(this.layoutVertexArray2,pp)),this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,vp),this.indexBuffer=S.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(S),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(S){if(S.properties&&Object.prototype.hasOwnProperty.call(S.properties,\"mapbox_clip_start\")&&Object.prototype.hasOwnProperty.call(S.properties,\"mapbox_clip_end\"))return{start:+S.properties.mapbox_clip_start,end:+S.properties.mapbox_clip_end}}addFeature(S,D,j,te,ue){let ve=this.layers[0].layout,De=ve.get(\"line-join\").evaluate(S,{}),Ze=ve.get(\"line-cap\"),at=ve.get(\"line-miter-limit\"),Tt=ve.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(S);for(let Ft of D)this.addLine(Ft,S,De,Ze,at,Tt);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,ue,te)}addLine(S,D,j,te,ue,ve){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let ni=0;ni<S.length-1;ni++)this.totalDistance+=S[ni].dist(S[ni+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}let De=Nd[D.type]===\"Polygon\",Ze=S.length;for(;Ze>=2&&S[Ze-1].equals(S[Ze-2]);)Ze--;let at=0;for(;at<Ze-1&&S[at].equals(S[at+1]);)at++;if(Ze<(De?3:2))return;j===\"bevel\"&&(ue=1.05);let Tt=this.overscaling<=16?15*za/(512*this.overscaling):0,Ft=this.segments.prepareSegment(10*Ze,this.layoutVertexArray,this.indexArray),Qt,sr,Tr,Pr,$r;this.e1=this.e2=-1,De&&(Qt=S[Ze-2],$r=S[at].sub(Qt)._unit()._perp());for(let ni=at;ni<Ze;ni++){if(Tr=ni===Ze-1?De?S[at+1]:void 0:S[ni+1],Tr&&S[ni].equals(Tr))continue;$r&&(Pr=$r),Qt&&(sr=Qt),Qt=S[ni],$r=Tr?Tr.sub(Qt)._unit()._perp():Pr,Pr=Pr||$r;let Di=Pr.add($r);Di.x===0&&Di.y===0||Di._unit();let pi=Pr.x*$r.x+Pr.y*$r.y,ki=Di.x*$r.x+Di.y*$r.y,Zi=ki!==0?1/ki:1/0,ta=2*Math.sqrt(2-2*ki),Va=ki<xd&&sr&&Tr,Io=Pr.x*$r.y-Pr.y*$r.x>0;if(Va&&ni>at){let lo=Qt.dist(sr);if(lo>2*Tt){let $a=Qt.sub(Qt.sub(sr)._mult(Tt/lo)._round());this.updateDistance(sr,$a),this.addCurrentVertex($a,Pr,0,0,Ft),sr=$a}}let La=sr&&Tr,Hn=La?j:De?\"butt\":te;if(La&&Hn===\"round\"&&(Zi<ve?Hn=\"miter\":Zi<=2&&(Hn=\"fakeround\")),Hn===\"miter\"&&Zi>ue&&(Hn=\"bevel\"),Hn===\"bevel\"&&(Zi>2&&(Hn=\"flipbevel\"),Zi<ue&&(Hn=\"miter\")),sr&&this.updateDistance(sr,Qt),Hn===\"miter\")Di._mult(Zi),this.addCurrentVertex(Qt,Di,0,0,Ft);else if(Hn===\"flipbevel\"){if(Zi>100)Di=$r.mult(-1);else{let lo=Zi*Pr.add($r).mag()/Pr.sub($r).mag();Di._perp()._mult(lo*(Io?-1:1))}this.addCurrentVertex(Qt,Di,0,0,Ft),this.addCurrentVertex(Qt,Di.mult(-1),0,0,Ft)}else if(Hn===\"bevel\"||Hn===\"fakeround\"){let lo=-Math.sqrt(Zi*Zi-1),$a=Io?lo:0,Xa=Io?0:lo;if(sr&&this.addCurrentVertex(Qt,Pr,$a,Xa,Ft),Hn===\"fakeround\"){let Tn=Math.round(180*ta/Math.PI/20);for(let bo=1;bo<Tn;bo++){let Ya=bo/Tn;if(Ya!==.5){let wu=Ya-.5;Ya+=Ya*wu*(Ya-1)*((1.0904+pi*(pi*(3.55645-1.43519*pi)-3.2452))*wu*wu+(.848013+pi*(.215638*pi-1.06021)))}let Uo=$r.sub(Pr)._mult(Ya)._add(Pr)._unit()._mult(Io?-1:1);this.addHalfVertex(Qt,Uo.x,Uo.y,!1,Io,0,Ft)}}Tr&&this.addCurrentVertex(Qt,$r,-$a,-Xa,Ft)}else if(Hn===\"butt\")this.addCurrentVertex(Qt,Di,0,0,Ft);else if(Hn===\"square\"){let lo=sr?1:-1;this.addCurrentVertex(Qt,Di,lo,lo,Ft)}else Hn===\"round\"&&(sr&&(this.addCurrentVertex(Qt,Pr,0,0,Ft),this.addCurrentVertex(Qt,Pr,1,1,Ft,!0)),Tr&&(this.addCurrentVertex(Qt,$r,-1,-1,Ft,!0),this.addCurrentVertex(Qt,$r,0,0,Ft)));if(Va&&ni<Ze-1){let lo=Qt.dist(Tr);if(lo>2*Tt){let $a=Qt.add(Tr.sub(Qt)._mult(Tt/lo)._round());this.updateDistance(Qt,$a),this.addCurrentVertex($a,$r,0,0,Ft),Qt=$a}}}}addCurrentVertex(S,D,j,te,ue,ve=!1){let De=D.y*te-D.x,Ze=-D.y-D.x*te;this.addHalfVertex(S,D.x+D.y*j,D.y-D.x*j,ve,!1,j,ue),this.addHalfVertex(S,De,Ze,ve,!0,-te,ue),this.distance>kv/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(S,D,j,te,ue,ve))}addHalfVertex({x:S,y:D},j,te,ue,ve,De,Ze){let at=.5*(this.lineClips?this.scaledDistance*(kv-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((S<<1)+(ue?1:0),(D<<1)+(ve?1:0),Math.round(63*j)+128,Math.round(63*te)+128,1+(De===0?0:De<0?-1:1)|(63&at)<<2,at>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let Tt=Ze.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Tt),Ze.primitiveLength++),ve?this.e2=Tt:this.e1=Tt}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(S,D){this.distance+=S.dist(D),this.updateScaledDistance()}}let Cv,ny;mi(\"LineBucket\",Kv,{omit:[\"layers\",\"patternFeatures\"]});var fg={get paint(){return ny=ny||new le({\"line-opacity\":new eo(ce.paint_line[\"line-opacity\"]),\"line-color\":new eo(ce.paint_line[\"line-color\"]),\"line-translate\":new Da(ce.paint_line[\"line-translate\"]),\"line-translate-anchor\":new Da(ce.paint_line[\"line-translate-anchor\"]),\"line-width\":new eo(ce.paint_line[\"line-width\"]),\"line-gap-width\":new eo(ce.paint_line[\"line-gap-width\"]),\"line-offset\":new eo(ce.paint_line[\"line-offset\"]),\"line-blur\":new eo(ce.paint_line[\"line-blur\"]),\"line-dasharray\":new yc(ce.paint_line[\"line-dasharray\"]),\"line-pattern\":new Jc(ce.paint_line[\"line-pattern\"]),\"line-gradient\":new _c(ce.paint_line[\"line-gradient\"])})},get layout(){return Cv=Cv||new le({\"line-cap\":new Da(ce.layout_line[\"line-cap\"]),\"line-join\":new eo(ce.layout_line[\"line-join\"]),\"line-miter-limit\":new Da(ce.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new Da(ce.layout_line[\"line-round-limit\"]),\"line-sort-key\":new eo(ce.layout_line[\"line-sort-key\"])})}};class Hf extends eo{possiblyEvaluate(S,D){return D=new Ko(Math.floor(D.zoom),{now:D.now,fadeDuration:D.fadeDuration,zoomHistory:D.zoomHistory,transition:D.transition}),super.possiblyEvaluate(S,D)}evaluate(S,D,j,te){return D=L({},D,{zoom:Math.floor(D.zoom)}),super.evaluate(S,D,j,te)}}let hg;class ay extends B{constructor(S){super(S,fg),this.gradientVersion=0,hg||(hg=new Hf(fg.paint.properties[\"line-width\"].specification),hg.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(S){if(S===\"line-gradient\"){let D=this.gradientExpression();this.stepInterpolant=!!function(j){return j._styleExpression!==void 0}(D)&&D._styleExpression.expression instanceof Ji,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values[\"line-gradient\"].value.expression}recalculate(S,D){super.recalculate(S,D),this.paint._values[\"line-floorwidth\"]=hg.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,S)}createBucket(S){return new Kv(S)}queryRadius(S){let D=S,j=Rh(yn(\"line-width\",this,D),yn(\"line-gap-width\",this,D)),te=yn(\"line-offset\",this,D);return j/2+Math.abs(te)+to(this.paint.get(\"line-translate\"))}queryIntersectsFeature(S,D,j,te,ue,ve,De){let Ze=Rn(S,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),ve.angle,De),at=De/2*Rh(this.paint.get(\"line-width\").evaluate(D,j),this.paint.get(\"line-gap-width\").evaluate(D,j)),Tt=this.paint.get(\"line-offset\").evaluate(D,j);return Tt&&(te=function(Ft,Qt){let sr=[];for(let Tr=0;Tr<Ft.length;Tr++){let Pr=Ft[Tr],$r=[];for(let ni=0;ni<Pr.length;ni++){let Di=Pr[ni-1],pi=Pr[ni],ki=Pr[ni+1],Zi=ni===0?new u(0,0):pi.sub(Di)._unit()._perp(),ta=ni===Pr.length-1?new u(0,0):ki.sub(pi)._unit()._perp(),Va=Zi._add(ta)._unit(),Io=Va.x*ta.x+Va.y*ta.y;Io!==0&&Va._mult(1/Io),$r.push(Va._mult(Qt)._add(pi))}sr.push($r)}return sr}(te,Tt*De)),function(Ft,Qt,sr){for(let Tr=0;Tr<Qt.length;Tr++){let Pr=Qt[Tr];if(Ft.length>=3){for(let $r=0;$r<Pr.length;$r++)if(On(Ft,Pr[$r]))return!0}if(Wr(Ft,Pr,sr))return!0}return!1}(Ze,te,at)}isTileClipped(){return!0}}function Rh(R,S){return S>0?S+2*R:R}let rm=qe([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),w1=qe([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4);qe([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);let T1=qe([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"},{name:\"a_box_real\",components:2,type:\"Int16\"}]);qe([{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\"}]);let oy=qe([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),im=qe([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function nm(R,S,D){return R.sections.forEach(j=>{j.text=function(te,ue,ve){let De=ue.layout.get(\"text-transform\").evaluate(ve,{});return De===\"uppercase\"?te=te.toLocaleUpperCase():De===\"lowercase\"&&(te=te.toLocaleLowerCase()),vs.applyArabicShaping&&(te=vs.applyArabicShaping(te)),te}(j.text,S,D)}),R}qe([{name:\"triangle\",components:3,type:\"Uint16\"}]),qe([{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\"}]),qe([{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\"}]),qe([{type:\"Float32\",name:\"offsetX\"}]),qe([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]),qe([{type:\"Uint16\",name:\"textAnchor\"},{type:\"Float32\",components:2,name:\"textOffset\"}]);let Fu={\"!\":\"\\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 kl=24,bd=Kl,sy=function(R,S,D,j,te){var ue,ve,De=8*te-j-1,Ze=(1<<De)-1,at=Ze>>1,Tt=-7,Ft=D?te-1:0,Qt=D?-1:1,sr=R[S+Ft];for(Ft+=Qt,ue=sr&(1<<-Tt)-1,sr>>=-Tt,Tt+=De;Tt>0;ue=256*ue+R[S+Ft],Ft+=Qt,Tt-=8);for(ve=ue&(1<<-Tt)-1,ue>>=-Tt,Tt+=j;Tt>0;ve=256*ve+R[S+Ft],Ft+=Qt,Tt-=8);if(ue===0)ue=1-at;else{if(ue===Ze)return ve?NaN:1/0*(sr?-1:1);ve+=Math.pow(2,j),ue-=at}return(sr?-1:1)*ve*Math.pow(2,ue-j)},A1=function(R,S,D,j,te,ue){var ve,De,Ze,at=8*ue-te-1,Tt=(1<<at)-1,Ft=Tt>>1,Qt=te===23?Math.pow(2,-24)-Math.pow(2,-77):0,sr=j?0:ue-1,Tr=j?1:-1,Pr=S<0||S===0&&1/S<0?1:0;for(S=Math.abs(S),isNaN(S)||S===1/0?(De=isNaN(S)?1:0,ve=Tt):(ve=Math.floor(Math.log(S)/Math.LN2),S*(Ze=Math.pow(2,-ve))<1&&(ve--,Ze*=2),(S+=ve+Ft>=1?Qt/Ze:Qt*Math.pow(2,1-Ft))*Ze>=2&&(ve++,Ze/=2),ve+Ft>=Tt?(De=0,ve=Tt):ve+Ft>=1?(De=(S*Ze-1)*Math.pow(2,te),ve+=Ft):(De=S*Math.pow(2,Ft-1)*Math.pow(2,te),ve=0));te>=8;R[D+sr]=255&De,sr+=Tr,De/=256,te-=8);for(ve=ve<<te|De,at+=te;at>0;R[D+sr]=255&ve,sr+=Tr,ve/=256,at-=8);R[D+sr-Tr]|=128*Pr};function Kl(R){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(R)?R:new Uint8Array(R||0),this.pos=0,this.type=0,this.length=this.buf.length}Kl.Varint=0,Kl.Fixed64=1,Kl.Bytes=2,Kl.Fixed32=5;var Nx=4294967296,am=1/Nx,Mw=typeof TextDecoder==\"undefined\"?null:new TextDecoder(\"utf-8\");function Lv(R){return R.type===Kl.Bytes?R.readVarint()+R.pos:R.pos+1}function om(R,S,D){return D?4294967296*S+(R>>>0):4294967296*(S>>>0)+(R>>>0)}function Ew(R,S,D){var j=S<=16383?1:S<=2097151?2:S<=268435455?3:Math.floor(Math.log(S)/(7*Math.LN2));D.realloc(j);for(var te=D.pos-1;te>=R;te--)D.buf[te+j]=D.buf[te]}function Ux(R,S){for(var D=0;D<R.length;D++)S.writeVarint(R[D])}function P9(R,S){for(var D=0;D<R.length;D++)S.writeSVarint(R[D])}function I9(R,S){for(var D=0;D<R.length;D++)S.writeFloat(R[D])}function R9(R,S){for(var D=0;D<R.length;D++)S.writeDouble(R[D])}function D9(R,S){for(var D=0;D<R.length;D++)S.writeBoolean(R[D])}function mQ(R,S){for(var D=0;D<R.length;D++)S.writeFixed32(R[D])}function z9(R,S){for(var D=0;D<R.length;D++)S.writeSFixed32(R[D])}function F9(R,S){for(var D=0;D<R.length;D++)S.writeFixed64(R[D])}function q9(R,S){for(var D=0;D<R.length;D++)S.writeSFixed64(R[D])}function ly(R,S){return(R[S]|R[S+1]<<8|R[S+2]<<16)+16777216*R[S+3]}function Vx(R,S,D){R[D]=S,R[D+1]=S>>>8,R[D+2]=S>>>16,R[D+3]=S>>>24}function cC(R,S){return(R[S]|R[S+1]<<8|R[S+2]<<16)+(R[S+3]<<24)}Kl.prototype={destroy:function(){this.buf=null},readFields:function(R,S,D){for(D=D||this.length;this.pos<D;){var j=this.readVarint(),te=j>>3,ue=this.pos;this.type=7&j,R(te,S,this),this.pos===ue&&this.skip(j)}return S},readMessage:function(R,S){return this.readFields(R,S,this.readVarint()+this.pos)},readFixed32:function(){var R=ly(this.buf,this.pos);return this.pos+=4,R},readSFixed32:function(){var R=cC(this.buf,this.pos);return this.pos+=4,R},readFixed64:function(){var R=ly(this.buf,this.pos)+ly(this.buf,this.pos+4)*Nx;return this.pos+=8,R},readSFixed64:function(){var R=ly(this.buf,this.pos)+cC(this.buf,this.pos+4)*Nx;return this.pos+=8,R},readFloat:function(){var R=sy(this.buf,this.pos,!0,23,4);return this.pos+=4,R},readDouble:function(){var R=sy(this.buf,this.pos,!0,52,8);return this.pos+=8,R},readVarint:function(R){var S,D,j=this.buf;return S=127&(D=j[this.pos++]),D<128?S:(S|=(127&(D=j[this.pos++]))<<7,D<128?S:(S|=(127&(D=j[this.pos++]))<<14,D<128?S:(S|=(127&(D=j[this.pos++]))<<21,D<128?S:function(te,ue,ve){var De,Ze,at=ve.buf;if(De=(112&(Ze=at[ve.pos++]))>>4,Ze<128||(De|=(127&(Ze=at[ve.pos++]))<<3,Ze<128)||(De|=(127&(Ze=at[ve.pos++]))<<10,Ze<128)||(De|=(127&(Ze=at[ve.pos++]))<<17,Ze<128)||(De|=(127&(Ze=at[ve.pos++]))<<24,Ze<128)||(De|=(1&(Ze=at[ve.pos++]))<<31,Ze<128))return om(te,De,ue);throw new Error(\"Expected varint not more than 10 bytes\")}(S|=(15&(D=j[this.pos]))<<28,R,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var R=this.readVarint();return R%2==1?(R+1)/-2:R/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var R=this.readVarint()+this.pos,S=this.pos;return this.pos=R,R-S>=12&&Mw?function(D,j,te){return Mw.decode(D.subarray(j,te))}(this.buf,S,R):function(D,j,te){for(var ue=\"\",ve=j;ve<te;){var De,Ze,at,Tt=D[ve],Ft=null,Qt=Tt>239?4:Tt>223?3:Tt>191?2:1;if(ve+Qt>te)break;Qt===1?Tt<128&&(Ft=Tt):Qt===2?(192&(De=D[ve+1]))==128&&(Ft=(31&Tt)<<6|63&De)<=127&&(Ft=null):Qt===3?(Ze=D[ve+2],(192&(De=D[ve+1]))==128&&(192&Ze)==128&&((Ft=(15&Tt)<<12|(63&De)<<6|63&Ze)<=2047||Ft>=55296&&Ft<=57343)&&(Ft=null)):Qt===4&&(Ze=D[ve+2],at=D[ve+3],(192&(De=D[ve+1]))==128&&(192&Ze)==128&&(192&at)==128&&((Ft=(15&Tt)<<18|(63&De)<<12|(63&Ze)<<6|63&at)<=65535||Ft>=1114112)&&(Ft=null)),Ft===null?(Ft=65533,Qt=1):Ft>65535&&(Ft-=65536,ue+=String.fromCharCode(Ft>>>10&1023|55296),Ft=56320|1023&Ft),ue+=String.fromCharCode(Ft),ve+=Qt}return ue}(this.buf,S,R)},readBytes:function(){var R=this.readVarint()+this.pos,S=this.buf.subarray(this.pos,R);return this.pos=R,S},readPackedVarint:function(R,S){if(this.type!==Kl.Bytes)return R.push(this.readVarint(S));var D=Lv(this);for(R=R||[];this.pos<D;)R.push(this.readVarint(S));return R},readPackedSVarint:function(R){if(this.type!==Kl.Bytes)return R.push(this.readSVarint());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readSVarint());return R},readPackedBoolean:function(R){if(this.type!==Kl.Bytes)return R.push(this.readBoolean());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readBoolean());return R},readPackedFloat:function(R){if(this.type!==Kl.Bytes)return R.push(this.readFloat());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readFloat());return R},readPackedDouble:function(R){if(this.type!==Kl.Bytes)return R.push(this.readDouble());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readDouble());return R},readPackedFixed32:function(R){if(this.type!==Kl.Bytes)return R.push(this.readFixed32());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readFixed32());return R},readPackedSFixed32:function(R){if(this.type!==Kl.Bytes)return R.push(this.readSFixed32());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readSFixed32());return R},readPackedFixed64:function(R){if(this.type!==Kl.Bytes)return R.push(this.readFixed64());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readFixed64());return R},readPackedSFixed64:function(R){if(this.type!==Kl.Bytes)return R.push(this.readSFixed64());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readSFixed64());return R},skip:function(R){var S=7&R;if(S===Kl.Varint)for(;this.buf[this.pos++]>127;);else if(S===Kl.Bytes)this.pos=this.readVarint()+this.pos;else if(S===Kl.Fixed32)this.pos+=4;else{if(S!==Kl.Fixed64)throw new Error(\"Unimplemented type: \"+S);this.pos+=8}},writeTag:function(R,S){this.writeVarint(R<<3|S)},realloc:function(R){for(var S=this.length||16;S<this.pos+R;)S*=2;if(S!==this.length){var D=new Uint8Array(S);D.set(this.buf),this.buf=D,this.length=S}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(R){this.realloc(4),Vx(this.buf,R,this.pos),this.pos+=4},writeSFixed32:function(R){this.realloc(4),Vx(this.buf,R,this.pos),this.pos+=4},writeFixed64:function(R){this.realloc(8),Vx(this.buf,-1&R,this.pos),Vx(this.buf,Math.floor(R*am),this.pos+4),this.pos+=8},writeSFixed64:function(R){this.realloc(8),Vx(this.buf,-1&R,this.pos),Vx(this.buf,Math.floor(R*am),this.pos+4),this.pos+=8},writeVarint:function(R){(R=+R||0)>268435455||R<0?function(S,D){var j,te;if(S>=0?(j=S%4294967296|0,te=S/4294967296|0):(te=~(-S/4294967296),4294967295^(j=~(-S%4294967296))?j=j+1|0:(j=0,te=te+1|0)),S>=18446744073709552e3||S<-18446744073709552e3)throw new Error(\"Given varint doesn't fit into 10 bytes\");D.realloc(10),function(ue,ve,De){De.buf[De.pos++]=127&ue|128,ue>>>=7,De.buf[De.pos++]=127&ue|128,ue>>>=7,De.buf[De.pos++]=127&ue|128,ue>>>=7,De.buf[De.pos++]=127&ue|128,De.buf[De.pos]=127&(ue>>>=7)}(j,0,D),function(ue,ve){var De=(7&ue)<<4;ve.buf[ve.pos++]|=De|((ue>>>=3)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue)))))}(te,D)}(R,this):(this.realloc(4),this.buf[this.pos++]=127&R|(R>127?128:0),R<=127||(this.buf[this.pos++]=127&(R>>>=7)|(R>127?128:0),R<=127||(this.buf[this.pos++]=127&(R>>>=7)|(R>127?128:0),R<=127||(this.buf[this.pos++]=R>>>7&127))))},writeSVarint:function(R){this.writeVarint(R<0?2*-R-1:2*R)},writeBoolean:function(R){this.writeVarint(!!R)},writeString:function(R){R=String(R),this.realloc(4*R.length),this.pos++;var S=this.pos;this.pos=function(j,te,ue){for(var ve,De,Ze=0;Ze<te.length;Ze++){if((ve=te.charCodeAt(Ze))>55295&&ve<57344){if(!De){ve>56319||Ze+1===te.length?(j[ue++]=239,j[ue++]=191,j[ue++]=189):De=ve;continue}if(ve<56320){j[ue++]=239,j[ue++]=191,j[ue++]=189,De=ve;continue}ve=De-55296<<10|ve-56320|65536,De=null}else De&&(j[ue++]=239,j[ue++]=191,j[ue++]=189,De=null);ve<128?j[ue++]=ve:(ve<2048?j[ue++]=ve>>6|192:(ve<65536?j[ue++]=ve>>12|224:(j[ue++]=ve>>18|240,j[ue++]=ve>>12&63|128),j[ue++]=ve>>6&63|128),j[ue++]=63&ve|128)}return ue}(this.buf,R,this.pos);var D=this.pos-S;D>=128&&Ew(S,D,this),this.pos=S-1,this.writeVarint(D),this.pos+=D},writeFloat:function(R){this.realloc(4),A1(this.buf,R,this.pos,!0,23,4),this.pos+=4},writeDouble:function(R){this.realloc(8),A1(this.buf,R,this.pos,!0,52,8),this.pos+=8},writeBytes:function(R){var S=R.length;this.writeVarint(S),this.realloc(S);for(var D=0;D<S;D++)this.buf[this.pos++]=R[D]},writeRawMessage:function(R,S){this.pos++;var D=this.pos;R(S,this);var j=this.pos-D;j>=128&&Ew(D,j,this),this.pos=D-1,this.writeVarint(j),this.pos+=j},writeMessage:function(R,S,D){this.writeTag(R,Kl.Bytes),this.writeRawMessage(S,D)},writePackedVarint:function(R,S){S.length&&this.writeMessage(R,Ux,S)},writePackedSVarint:function(R,S){S.length&&this.writeMessage(R,P9,S)},writePackedBoolean:function(R,S){S.length&&this.writeMessage(R,D9,S)},writePackedFloat:function(R,S){S.length&&this.writeMessage(R,I9,S)},writePackedDouble:function(R,S){S.length&&this.writeMessage(R,R9,S)},writePackedFixed32:function(R,S){S.length&&this.writeMessage(R,mQ,S)},writePackedSFixed32:function(R,S){S.length&&this.writeMessage(R,z9,S)},writePackedFixed64:function(R,S){S.length&&this.writeMessage(R,F9,S)},writePackedSFixed64:function(R,S){S.length&&this.writeMessage(R,q9,S)},writeBytesField:function(R,S){this.writeTag(R,Kl.Bytes),this.writeBytes(S)},writeFixed32Field:function(R,S){this.writeTag(R,Kl.Fixed32),this.writeFixed32(S)},writeSFixed32Field:function(R,S){this.writeTag(R,Kl.Fixed32),this.writeSFixed32(S)},writeFixed64Field:function(R,S){this.writeTag(R,Kl.Fixed64),this.writeFixed64(S)},writeSFixed64Field:function(R,S){this.writeTag(R,Kl.Fixed64),this.writeSFixed64(S)},writeVarintField:function(R,S){this.writeTag(R,Kl.Varint),this.writeVarint(S)},writeSVarintField:function(R,S){this.writeTag(R,Kl.Varint),this.writeSVarint(S)},writeStringField:function(R,S){this.writeTag(R,Kl.Bytes),this.writeString(S)},writeFloatField:function(R,S){this.writeTag(R,Kl.Fixed32),this.writeFloat(S)},writeDoubleField:function(R,S){this.writeTag(R,Kl.Fixed64),this.writeDouble(S)},writeBooleanField:function(R,S){this.writeVarintField(R,!!S)}};var eS=o(bd);let tS=3;function yQ(R,S,D){R===1&&D.readMessage(O9,S)}function O9(R,S,D){if(R===3){let{id:j,bitmap:te,width:ue,height:ve,left:De,top:Ze,advance:at}=D.readMessage(fC,{});S.push({id:j,bitmap:new Ao({width:ue+2*tS,height:ve+2*tS},te),metrics:{width:ue,height:ve,left:De,top:Ze,advance:at}})}}function fC(R,S,D){R===1?S.id=D.readVarint():R===2?S.bitmap=D.readBytes():R===3?S.width=D.readVarint():R===4?S.height=D.readVarint():R===5?S.left=D.readSVarint():R===6?S.top=D.readSVarint():R===7&&(S.advance=D.readVarint())}let hC=tS;function rS(R){let S=0,D=0;for(let ve of R)S+=ve.w*ve.h,D=Math.max(D,ve.w);R.sort((ve,De)=>De.h-ve.h);let j=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(S/.95)),D),h:1/0}],te=0,ue=0;for(let ve of R)for(let De=j.length-1;De>=0;De--){let Ze=j[De];if(!(ve.w>Ze.w||ve.h>Ze.h)){if(ve.x=Ze.x,ve.y=Ze.y,ue=Math.max(ue,ve.y+ve.h),te=Math.max(te,ve.x+ve.w),ve.w===Ze.w&&ve.h===Ze.h){let at=j.pop();De<j.length&&(j[De]=at)}else ve.h===Ze.h?(Ze.x+=ve.w,Ze.w-=ve.w):ve.w===Ze.w?(Ze.y+=ve.h,Ze.h-=ve.h):(j.push({x:Ze.x+ve.w,y:Ze.y,w:Ze.w-ve.w,h:ve.h}),Ze.y+=ve.h,Ze.h-=ve.h);break}}return{w:te,h:ue,fill:S/(te*ue)||0}}let wd=1;class kw{constructor(S,{pixelRatio:D,version:j,stretchX:te,stretchY:ue,content:ve,textFitWidth:De,textFitHeight:Ze}){this.paddedRect=S,this.pixelRatio=D,this.stretchX=te,this.stretchY=ue,this.content=ve,this.version=j,this.textFitWidth=De,this.textFitHeight=Ze}get tl(){return[this.paddedRect.x+wd,this.paddedRect.y+wd]}get br(){return[this.paddedRect.x+this.paddedRect.w-wd,this.paddedRect.y+this.paddedRect.h-wd]}get tlbr(){return this.tl.concat(this.br)}get displaySize(){return[(this.paddedRect.w-2*wd)/this.pixelRatio,(this.paddedRect.h-2*wd)/this.pixelRatio]}}class Cw{constructor(S,D){let j={},te={};this.haveRenderCallbacks=[];let ue=[];this.addImages(S,j,ue),this.addImages(D,te,ue);let{w:ve,h:De}=rS(ue),Ze=new Jn({width:ve||1,height:De||1});for(let at in S){let Tt=S[at],Ft=j[at].paddedRect;Jn.copy(Tt.data,Ze,{x:0,y:0},{x:Ft.x+wd,y:Ft.y+wd},Tt.data)}for(let at in D){let Tt=D[at],Ft=te[at].paddedRect,Qt=Ft.x+wd,sr=Ft.y+wd,Tr=Tt.data.width,Pr=Tt.data.height;Jn.copy(Tt.data,Ze,{x:0,y:0},{x:Qt,y:sr},Tt.data),Jn.copy(Tt.data,Ze,{x:0,y:Pr-1},{x:Qt,y:sr-1},{width:Tr,height:1}),Jn.copy(Tt.data,Ze,{x:0,y:0},{x:Qt,y:sr+Pr},{width:Tr,height:1}),Jn.copy(Tt.data,Ze,{x:Tr-1,y:0},{x:Qt-1,y:sr},{width:1,height:Pr}),Jn.copy(Tt.data,Ze,{x:0,y:0},{x:Qt+Tr,y:sr},{width:1,height:Pr})}this.image=Ze,this.iconPositions=j,this.patternPositions=te}addImages(S,D,j){for(let te in S){let ue=S[te],ve={x:0,y:0,w:ue.data.width+2*wd,h:ue.data.height+2*wd};j.push(ve),D[te]=new kw(ve,ue),ue.hasRenderCallback&&this.haveRenderCallbacks.push(te)}}patchUpdatedImages(S,D){S.dispatchRenderCallbacks(this.haveRenderCallbacks);for(let j in S.updatedImages)this.patchUpdatedImage(this.iconPositions[j],S.getImage(j),D),this.patchUpdatedImage(this.patternPositions[j],S.getImage(j),D)}patchUpdatedImage(S,D,j){if(!S||!D||S.version===D.version)return;S.version=D.version;let[te,ue]=S.tl;j.update(D.data,void 0,{x:te,y:ue})}}var Pv;mi(\"ImagePosition\",kw),mi(\"ImageAtlas\",Cw),i.ah=void 0,(Pv=i.ah||(i.ah={}))[Pv.none=0]=\"none\",Pv[Pv.horizontal=1]=\"horizontal\",Pv[Pv.vertical=2]=\"vertical\",Pv[Pv.horizontalOnly=3]=\"horizontalOnly\";let lh=-17;class Hx{constructor(){this.scale=1,this.fontStack=\"\",this.imageName=null}static forText(S,D){let j=new Hx;return j.scale=S||1,j.fontStack=D,j}static forImage(S){let D=new Hx;return D.imageName=S,D}}class S1{constructor(){this.text=\"\",this.sectionIndex=[],this.sections=[],this.imageSectionID=null}static fromFeature(S,D){let j=new S1;for(let te=0;te<S.sections.length;te++){let ue=S.sections[te];ue.image?j.addImageSection(ue):j.addTextSection(ue,D)}return j}length(){return this.text.length}getSection(S){return this.sections[this.sectionIndex[S]]}getSectionIndex(S){return this.sectionIndex[S]}getCharCode(S){return this.text.charCodeAt(S)}verticalizePunctuation(){this.text=function(S){let D=\"\";for(let j=0;j<S.length;j++){let te=S.charCodeAt(j+1)||null,ue=S.charCodeAt(j-1)||null;D+=te&&yl(te)&&!Fu[S[j+1]]||ue&&yl(ue)&&!Fu[S[j-1]]||!Fu[S[j]]?S[j]:Fu[S[j]]}return D}(this.text)}trim(){let S=0;for(let j=0;j<this.text.length&&Lw[this.text.charCodeAt(j)];j++)S++;let D=this.text.length;for(let j=this.text.length-1;j>=0&&j>=S&&Lw[this.text.charCodeAt(j)];j--)D--;this.text=this.text.substring(S,D),this.sectionIndex=this.sectionIndex.slice(S,D)}substring(S,D){let j=new S1;return j.text=this.text.substring(S,D),j.sectionIndex=this.sectionIndex.slice(S,D),j.sections=this.sections,j}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((S,D)=>Math.max(S,this.sections[D].scale),0)}addTextSection(S,D){this.text+=S.text,this.sections.push(Hx.forText(S.scale,S.fontStack||D));let j=this.sections.length-1;for(let te=0;te<S.text.length;++te)this.sectionIndex.push(j)}addImageSection(S){let D=S.image?S.image.name:\"\";if(D.length===0)return void T(\"Can't add FormattedSection with an empty image.\");let j=this.getNextImageSectionCharCode();j?(this.text+=String.fromCharCode(j),this.sections.push(Hx.forImage(D)),this.sectionIndex.push(this.sections.length-1)):T(\"Reached maximum number of images 6401\")}getNextImageSectionCharCode(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Gx(R,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr){let Pr=S1.fromFeature(R,te),$r;Ft===i.ah.vertical&&Pr.verticalizePunctuation();let{processBidirectionalText:ni,processStyledBidirectionalText:Di}=vs;if(ni&&Pr.sections.length===1){$r=[];let Zi=ni(Pr.toString(),M1(Pr,at,ue,S,j,sr));for(let ta of Zi){let Va=new S1;Va.text=ta,Va.sections=Pr.sections;for(let Io=0;Io<ta.length;Io++)Va.sectionIndex.push(0);$r.push(Va)}}else if(Di){$r=[];let Zi=Di(Pr.text,Pr.sectionIndex,M1(Pr,at,ue,S,j,sr));for(let ta of Zi){let Va=new S1;Va.text=ta[0],Va.sectionIndex=ta[1],Va.sections=Pr.sections,$r.push(Va)}}else $r=function(Zi,ta){let Va=[],Io=Zi.text,La=0;for(let Hn of ta)Va.push(Zi.substring(La,Hn)),La=Hn;return La<Io.length&&Va.push(Zi.substring(La,Io.length)),Va}(Pr,M1(Pr,at,ue,S,j,sr));let pi=[],ki={positionedLines:pi,text:Pr.toString(),top:Tt[1],bottom:Tt[1],left:Tt[0],right:Tt[0],writingMode:Ft,iconsInText:!1,verticalizable:!1};return function(Zi,ta,Va,Io,La,Hn,lo,$a,Xa,Tn,bo,Ya){let Uo=0,wu=lh,hu=0,uh=0,$v=$a===\"right\"?1:$a===\"left\"?0:.5,td=0;for(let rf of La){rf.trim();let fh=rf.getMaxScale(),Td=(fh-1)*kl,rd={positionedGlyphs:[],lineOffset:0};Zi.positionedLines[td]=rd;let Dh=rd.positionedGlyphs,xf=0;if(!rf.length()){wu+=Hn,++td;continue}for(let lv=0;lv<rf.length();lv++){let Cl=rf.getSection(lv),qu=rf.getSectionIndex(lv),Tu=rf.getCharCode(lv),Rv=0,qc=null,I1=null,p0=null,Gp=kl,Qv=!(Xa===i.ah.horizontal||!bo&&!Bo(Tu)||bo&&(Lw[Tu]||(ch=Tu,new RegExp(\"\\\\p{sc=Arab}\",\"u\").test(String.fromCodePoint(ch)))));if(Cl.imageName){let oc=Io[Cl.imageName];if(!oc)continue;p0=Cl.imageName,Zi.iconsInText=Zi.iconsInText||!0,I1=oc.paddedRect;let If=oc.displaySize;Cl.scale=Cl.scale*kl/Ya,qc={width:If[0],height:If[1],left:wd,top:-hC,advance:Qv?If[1]:If[0]},Rv=Td+(kl-If[1]*Cl.scale),Gp=qc.advance;let ep=Qv?If[0]*Cl.scale-kl*fh:If[1]*Cl.scale-kl*fh;ep>0&&ep>xf&&(xf=ep)}else{let oc=Va[Cl.fontStack],If=oc&&oc[Tu];if(If&&If.rect)I1=If.rect,qc=If.metrics;else{let ep=ta[Cl.fontStack],gg=ep&&ep[Tu];if(!gg)continue;qc=gg.metrics}Rv=(fh-Cl.scale)*kl}Qv?(Zi.verticalizable=!0,Dh.push({glyph:Tu,imageName:p0,x:Uo,y:wu+Rv,vertical:Qv,scale:Cl.scale,fontStack:Cl.fontStack,sectionIndex:qu,metrics:qc,rect:I1}),Uo+=Gp*Cl.scale+Tn):(Dh.push({glyph:Tu,imageName:p0,x:Uo,y:wu+Rv,vertical:Qv,scale:Cl.scale,fontStack:Cl.fontStack,sectionIndex:qu,metrics:qc,rect:I1}),Uo+=qc.advance*Cl.scale+Tn)}Dh.length!==0&&(hu=Math.max(Uo-Tn,hu),sm(Dh,0,Dh.length-1,$v,xf)),Uo=0;let Iv=Hn*fh+xf;rd.lineOffset=Math.max(xf,Td),wu+=Iv,uh=Math.max(Iv,uh),++td}var ch;let Ud=wu-lh,{horizontalAlign:Vd,verticalAlign:Hd}=Iw(lo);(function(rf,fh,Td,rd,Dh,xf,Iv,lv,Cl){let qu=(fh-Td)*Dh,Tu=0;Tu=xf!==Iv?-lv*rd-lh:(-rd*Cl+.5)*Iv;for(let Rv of rf)for(let qc of Rv.positionedGlyphs)qc.x+=qu,qc.y+=Tu})(Zi.positionedLines,$v,Vd,Hd,hu,uh,Hn,Ud,La.length),Zi.top+=-Hd*Ud,Zi.bottom=Zi.top+Ud,Zi.left+=-Vd*hu,Zi.right=Zi.left+hu}(ki,S,D,j,$r,ve,De,Ze,Ft,at,Qt,Tr),!function(Zi){for(let ta of Zi)if(ta.positionedGlyphs.length!==0)return!1;return!0}(pi)&&ki}let Lw={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},B9={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},N9={40:!0};function dC(R,S,D,j,te,ue){if(S.imageName){let ve=j[S.imageName];return ve?ve.displaySize[0]*S.scale*kl/ue+te:0}{let ve=D[S.fontStack],De=ve&&ve[R];return De?De.metrics.advance*S.scale+te:0}}function vC(R,S,D,j){let te=Math.pow(R-S,2);return j?R<S?te/2:2*te:te+Math.abs(D)*D}function U9(R,S,D){let j=0;return R===10&&(j-=1e4),D&&(j+=150),R!==40&&R!==65288||(j+=50),S!==41&&S!==65289||(j+=50),j}function Pw(R,S,D,j,te,ue){let ve=null,De=vC(S,D,te,ue);for(let Ze of j){let at=vC(S-Ze.x,D,te,ue)+Ze.badness;at<=De&&(ve=Ze,De=at)}return{index:R,x:S,priorBreak:ve,badness:De}}function pC(R){return R?pC(R.priorBreak).concat(R.index):[]}function M1(R,S,D,j,te,ue){if(!R)return[];let ve=[],De=function(Ft,Qt,sr,Tr,Pr,$r){let ni=0;for(let Di=0;Di<Ft.length();Di++){let pi=Ft.getSection(Di);ni+=dC(Ft.getCharCode(Di),pi,Tr,Pr,Qt,$r)}return ni/Math.max(1,Math.ceil(ni/sr))}(R,S,D,j,te,ue),Ze=R.text.indexOf(\"\\u200B\")>=0,at=0;for(let Ft=0;Ft<R.length();Ft++){let Qt=R.getSection(Ft),sr=R.getCharCode(Ft);if(Lw[sr]||(at+=dC(sr,Qt,j,te,S,ue)),Ft<R.length()-1){let Tr=!((Tt=sr)<11904)&&(!!sn[\"CJK Compatibility Forms\"](Tt)||!!sn[\"CJK Compatibility\"](Tt)||!!sn[\"CJK Strokes\"](Tt)||!!sn[\"CJK Symbols and Punctuation\"](Tt)||!!sn[\"Enclosed CJK Letters and Months\"](Tt)||!!sn[\"Halfwidth and Fullwidth Forms\"](Tt)||!!sn[\"Ideographic Description Characters\"](Tt)||!!sn[\"Vertical Forms\"](Tt)||ys.test(String.fromCodePoint(Tt)));(B9[sr]||Tr||Qt.imageName||Ft!==R.length()-2&&N9[R.getCharCode(Ft+1)])&&ve.push(Pw(Ft+1,at,De,ve,U9(sr,R.getCharCode(Ft+1),Tr&&Ze),!1))}}var Tt;return pC(Pw(R.length(),at,De,ve,0,!0))}function Iw(R){let S=.5,D=.5;switch(R){case\"right\":case\"top-right\":case\"bottom-right\":S=1;break;case\"left\":case\"top-left\":case\"bottom-left\":S=0}switch(R){case\"bottom\":case\"bottom-right\":case\"bottom-left\":D=1;break;case\"top\":case\"top-right\":case\"top-left\":D=0}return{horizontalAlign:S,verticalAlign:D}}function sm(R,S,D,j,te){if(!j&&!te)return;let ue=R[D],ve=(R[D].x+ue.metrics.advance*ue.scale)*j;for(let De=S;De<=D;De++)R[De].x-=ve,R[De].y+=te}function jx(R,S,D){let{horizontalAlign:j,verticalAlign:te}=Iw(D),ue=S[0]-R.displaySize[0]*j,ve=S[1]-R.displaySize[1]*te;return{image:R,top:ve,bottom:ve+R.displaySize[1],left:ue,right:ue+R.displaySize[0]}}function gC(R){var S,D;let j=R.left,te=R.top,ue=R.right-j,ve=R.bottom-te,De=(S=R.image.textFitWidth)!==null&&S!==void 0?S:\"stretchOrShrink\",Ze=(D=R.image.textFitHeight)!==null&&D!==void 0?D:\"stretchOrShrink\",at=(R.image.content[2]-R.image.content[0])/(R.image.content[3]-R.image.content[1]);if(Ze===\"proportional\"){if(De===\"stretchOnly\"&&ue/ve<at||De===\"proportional\"){let Tt=Math.ceil(ve*at);j*=Tt/ue,ue=Tt}}else if(De===\"proportional\"&&Ze===\"stretchOnly\"&&at!==0&&ue/ve>at){let Tt=Math.ceil(ue/at);te*=Tt/ve,ve=Tt}return{x1:j,y1:te,x2:j+ue,y2:te+ve}}function mC(R,S,D,j,te,ue){let ve=R.image,De;if(ve.content){let $r=ve.content,ni=ve.pixelRatio||1;De=[$r[0]/ni,$r[1]/ni,ve.displaySize[0]-$r[2]/ni,ve.displaySize[1]-$r[3]/ni]}let Ze=S.left*ue,at=S.right*ue,Tt,Ft,Qt,sr;D===\"width\"||D===\"both\"?(sr=te[0]+Ze-j[3],Ft=te[0]+at+j[1]):(sr=te[0]+(Ze+at-ve.displaySize[0])/2,Ft=sr+ve.displaySize[0]);let Tr=S.top*ue,Pr=S.bottom*ue;return D===\"height\"||D===\"both\"?(Tt=te[1]+Tr-j[0],Qt=te[1]+Pr+j[2]):(Tt=te[1]+(Tr+Pr-ve.displaySize[1])/2,Qt=Tt+ve.displaySize[1]),{image:ve,top:Tt,right:Ft,bottom:Qt,left:sr,collisionPadding:De}}let Wx=255,v0=128,lm=Wx*v0;function yC(R,S){let{expression:D}=S;if(D.kind===\"constant\")return{kind:\"constant\",layoutSize:D.evaluate(new Ko(R+1))};if(D.kind===\"source\")return{kind:\"source\"};{let{zoomStops:j,interpolationType:te}=D,ue=0;for(;ue<j.length&&j[ue]<=R;)ue++;ue=Math.max(0,ue-1);let ve=ue;for(;ve<j.length&&j[ve]<R+1;)ve++;ve=Math.min(j.length-1,ve);let De=j[ue],Ze=j[ve];return D.kind===\"composite\"?{kind:\"composite\",minZoom:De,maxZoom:Ze,interpolationType:te}:{kind:\"camera\",minZoom:De,maxZoom:Ze,minSize:D.evaluate(new Ko(De)),maxSize:D.evaluate(new Ko(Ze)),interpolationType:te}}}function iS(R,S,D){let j=\"never\",te=R.get(S);return te?j=te:R.get(D)&&(j=\"always\"),j}let V9=ei.VectorTileFeature.types,H9=[{name:\"a_fade_opacity\",components:1,type:\"Uint8\",offset:0}];function Rw(R,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt){let sr=De?Math.min(lm,Math.round(De[0])):0,Tr=De?Math.min(lm,Math.round(De[1])):0;R.emplaceBack(S,D,Math.round(32*j),Math.round(32*te),ue,ve,(sr<<1)+(Ze?1:0),Tr,16*at,16*Tt,256*Ft,256*Qt)}function nS(R,S,D){R.emplaceBack(S.x,S.y,D),R.emplaceBack(S.x,S.y,D),R.emplaceBack(S.x,S.y,D),R.emplaceBack(S.x,S.y,D)}function aS(R){for(let S of R.sections)if(Ka(S.text))return!0;return!1}class oS{constructor(S){this.layoutVertexArray=new au,this.indexArray=new oe,this.programConfigurations=S,this.segments=new We,this.dynamicLayoutVertexArray=new zc,this.opacityVertexArray=new zl,this.hasVisibleVertices=!1,this.placedSymbolArray=new pa}isEmpty(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0}upload(S,D,j,te){this.isEmpty()||(j&&(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,rm.members),this.indexBuffer=S.createIndexBuffer(this.indexArray,D),this.dynamicLayoutVertexBuffer=S.createVertexBuffer(this.dynamicLayoutVertexArray,w1.members,!0),this.opacityVertexBuffer=S.createVertexBuffer(this.opacityVertexArray,H9,!0),this.opacityVertexBuffer.itemSize=1),(j||te)&&this.programConfigurations.upload(S))}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())}}mi(\"SymbolBuffers\",oS);class um{constructor(S,D,j){this.layoutVertexArray=new S,this.layoutAttributes=D,this.indexArray=new j,this.segments=new We,this.collisionVertexArray=new Z}upload(S){this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=S.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=S.createVertexBuffer(this.collisionVertexArray,T1.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())}}mi(\"CollisionBuffers\",um);class E1{constructor(S){this.collisionBoxArray=S.collisionBoxArray,this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(ve=>ve.id),this.index=S.index,this.pixelRatio=S.pixelRatio,this.sourceLayerIndex=S.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=Un([]),this.placementViewportMatrix=Un([]);let D=this.layers[0]._unevaluatedLayout._values;this.textSizeData=yC(this.zoom,D[\"text-size\"]),this.iconSizeData=yC(this.zoom,D[\"icon-size\"]);let j=this.layers[0].layout,te=j.get(\"symbol-sort-key\"),ue=j.get(\"symbol-z-order\");this.canOverlap=iS(j,\"text-overlap\",\"text-allow-overlap\")!==\"never\"||iS(j,\"icon-overlap\",\"icon-allow-overlap\")!==\"never\"||j.get(\"text-ignore-placement\")||j.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=ue!==\"viewport-y\"&&!te.isConstant(),this.sortFeaturesByY=(ue===\"viewport-y\"||ue===\"auto\"&&!this.sortFeaturesByKey)&&this.canOverlap,j.get(\"symbol-placement\")===\"point\"&&(this.writingModes=j.get(\"text-writing-mode\").map(ve=>i.ah[ve])),this.stateDependentLayerIds=this.layers.filter(ve=>ve.isStateDependent()).map(ve=>ve.id),this.sourceID=S.sourceID}createArrays(){this.text=new oS(new _s(this.layers,this.zoom,S=>/^text/.test(S))),this.icon=new oS(new _s(this.layers,this.zoom,S=>/^icon/.test(S))),this.glyphOffsetArray=new To,this.lineVertexArray=new Wa,this.symbolInstances=new Ga,this.textAnchorOffsets=new Ro}calculateGlyphDependencies(S,D,j,te,ue){for(let ve=0;ve<S.length;ve++)if(D[S.charCodeAt(ve)]=!0,(j||te)&&ue){let De=Fu[S.charAt(ve)];De&&(D[De.charCodeAt(0)]=!0)}}populate(S,D,j){let te=this.layers[0],ue=te.layout,ve=ue.get(\"text-font\"),De=ue.get(\"text-field\"),Ze=ue.get(\"icon-image\"),at=(De.value.kind!==\"constant\"||De.value.value instanceof Zr&&!De.value.value.isEmpty()||De.value.value.toString().length>0)&&(ve.value.kind!==\"constant\"||ve.value.value.length>0),Tt=Ze.value.kind!==\"constant\"||!!Ze.value.value||Object.keys(Ze.parameters).length>0,Ft=ue.get(\"symbol-sort-key\");if(this.features=[],!at&&!Tt)return;let Qt=D.iconDependencies,sr=D.glyphDependencies,Tr=D.availableImages,Pr=new Ko(this.zoom);for(let{feature:$r,id:ni,index:Di,sourceLayerIndex:pi}of S){let ki=te._featureFilter.needGeometry,Zi=xl($r,ki);if(!te._featureFilter.filter(Pr,Zi,j))continue;let ta,Va;if(ki||(Zi.geometry=js($r)),at){let La=te.getValueAndResolveTokens(\"text-field\",Zi,j,Tr),Hn=Zr.factory(La),lo=this.hasRTLText=this.hasRTLText||aS(Hn);(!lo||vs.getRTLTextPluginStatus()===\"unavailable\"||lo&&vs.isParsed())&&(ta=nm(Hn,te,Zi))}if(Tt){let La=te.getValueAndResolveTokens(\"icon-image\",Zi,j,Tr);Va=La instanceof Mi?La:Mi.fromString(La)}if(!ta&&!Va)continue;let Io=this.sortFeaturesByKey?Ft.evaluate(Zi,{},j):void 0;if(this.features.push({id:ni,text:ta,icon:Va,index:Di,sourceLayerIndex:pi,geometry:Zi.geometry,properties:$r.properties,type:V9[$r.type],sortKey:Io}),Va&&(Qt[Va.name]=!0),ta){let La=ve.evaluate(Zi,{},j).join(\",\"),Hn=ue.get(\"text-rotation-alignment\")!==\"viewport\"&&ue.get(\"symbol-placement\")!==\"point\";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(i.ah.vertical)>=0;for(let lo of ta.sections)if(lo.image)Qt[lo.image.name]=!0;else{let $a=Ua(ta.toString()),Xa=lo.fontStack||La,Tn=sr[Xa]=sr[Xa]||{};this.calculateGlyphDependencies(lo.text,Tn,Hn,this.allowVerticalPlacement,$a)}}}ue.get(\"symbol-placement\")===\"line\"&&(this.features=function($r){let ni={},Di={},pi=[],ki=0;function Zi(La){pi.push($r[La]),ki++}function ta(La,Hn,lo){let $a=Di[La];return delete Di[La],Di[Hn]=$a,pi[$a].geometry[0].pop(),pi[$a].geometry[0]=pi[$a].geometry[0].concat(lo[0]),$a}function Va(La,Hn,lo){let $a=ni[Hn];return delete ni[Hn],ni[La]=$a,pi[$a].geometry[0].shift(),pi[$a].geometry[0]=lo[0].concat(pi[$a].geometry[0]),$a}function Io(La,Hn,lo){let $a=lo?Hn[0][Hn[0].length-1]:Hn[0][0];return`${La}:${$a.x}:${$a.y}`}for(let La=0;La<$r.length;La++){let Hn=$r[La],lo=Hn.geometry,$a=Hn.text?Hn.text.toString():null;if(!$a){Zi(La);continue}let Xa=Io($a,lo),Tn=Io($a,lo,!0);if(Xa in Di&&Tn in ni&&Di[Xa]!==ni[Tn]){let bo=Va(Xa,Tn,lo),Ya=ta(Xa,Tn,pi[bo].geometry);delete ni[Xa],delete Di[Tn],Di[Io($a,pi[Ya].geometry,!0)]=Ya,pi[bo].geometry=null}else Xa in Di?ta(Xa,Tn,lo):Tn in ni?Va(Xa,Tn,lo):(Zi(La),ni[Xa]=ki-1,Di[Tn]=ki-1)}return pi.filter(La=>La.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort(($r,ni)=>$r.sortKey-ni.sortKey)}update(S,D,j){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(S,D,this.layers,j),this.icon.programConfigurations.updatePaintArrays(S,D,this.layers,j))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(S){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(S),this.iconCollisionBox.upload(S)),this.text.upload(S,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(S,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(S,D){let j=this.lineVertexArray.length;if(S.segment!==void 0){let te=S.dist(D[S.segment+1]),ue=S.dist(D[S.segment]),ve={};for(let De=S.segment+1;De<D.length;De++)ve[De]={x:D[De].x,y:D[De].y,tileUnitDistanceFromAnchor:te},De<D.length-1&&(te+=D[De+1].dist(D[De]));for(let De=S.segment||0;De>=0;De--)ve[De]={x:D[De].x,y:D[De].y,tileUnitDistanceFromAnchor:ue},De>0&&(ue+=D[De-1].dist(D[De]));for(let De=0;De<D.length;De++){let Ze=ve[De];this.lineVertexArray.emplaceBack(Ze.x,Ze.y,Ze.tileUnitDistanceFromAnchor)}}return{lineStartIndex:j,lineLength:this.lineVertexArray.length-j}}addSymbols(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt){let sr=S.indexArray,Tr=S.layoutVertexArray,Pr=S.segments.prepareSegment(4*D.length,Tr,sr,this.canOverlap?ve.sortKey:void 0),$r=this.glyphOffsetArray.length,ni=Pr.vertexLength,Di=this.allowVerticalPlacement&&De===i.ah.vertical?Math.PI/2:0,pi=ve.text&&ve.text.sections;for(let ki=0;ki<D.length;ki++){let{tl:Zi,tr:ta,bl:Va,br:Io,tex:La,pixelOffsetTL:Hn,pixelOffsetBR:lo,minFontScaleX:$a,minFontScaleY:Xa,glyphOffset:Tn,isSDF:bo,sectionIndex:Ya}=D[ki],Uo=Pr.vertexLength,wu=Tn[1];Rw(Tr,Ze.x,Ze.y,Zi.x,wu+Zi.y,La.x,La.y,j,bo,Hn.x,Hn.y,$a,Xa),Rw(Tr,Ze.x,Ze.y,ta.x,wu+ta.y,La.x+La.w,La.y,j,bo,lo.x,Hn.y,$a,Xa),Rw(Tr,Ze.x,Ze.y,Va.x,wu+Va.y,La.x,La.y+La.h,j,bo,Hn.x,lo.y,$a,Xa),Rw(Tr,Ze.x,Ze.y,Io.x,wu+Io.y,La.x+La.w,La.y+La.h,j,bo,lo.x,lo.y,$a,Xa),nS(S.dynamicLayoutVertexArray,Ze,Di),sr.emplaceBack(Uo,Uo+1,Uo+2),sr.emplaceBack(Uo+1,Uo+2,Uo+3),Pr.vertexLength+=4,Pr.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(Tn[0]),ki!==D.length-1&&Ya===D[ki+1].sectionIndex||S.programConfigurations.populatePaintArrays(Tr.length,ve,ve.index,{},Qt,pi&&pi[Ya])}S.placedSymbolArray.emplaceBack(Ze.x,Ze.y,$r,this.glyphOffsetArray.length-$r,ni,at,Tt,Ze.segment,j?j[0]:0,j?j[1]:0,te[0],te[1],De,0,!1,0,Ft)}_addCollisionDebugVertex(S,D,j,te,ue,ve){return D.emplaceBack(0,0),S.emplaceBack(j.x,j.y,te,ue,Math.round(ve.x),Math.round(ve.y))}addCollisionDebugVertices(S,D,j,te,ue,ve,De){let Ze=ue.segments.prepareSegment(4,ue.layoutVertexArray,ue.indexArray),at=Ze.vertexLength,Tt=ue.layoutVertexArray,Ft=ue.collisionVertexArray,Qt=De.anchorX,sr=De.anchorY;this._addCollisionDebugVertex(Tt,Ft,ve,Qt,sr,new u(S,D)),this._addCollisionDebugVertex(Tt,Ft,ve,Qt,sr,new u(j,D)),this._addCollisionDebugVertex(Tt,Ft,ve,Qt,sr,new u(j,te)),this._addCollisionDebugVertex(Tt,Ft,ve,Qt,sr,new u(S,te)),Ze.vertexLength+=4;let Tr=ue.indexArray;Tr.emplaceBack(at,at+1),Tr.emplaceBack(at+1,at+2),Tr.emplaceBack(at+2,at+3),Tr.emplaceBack(at+3,at),Ze.primitiveLength+=4}addDebugCollisionBoxes(S,D,j,te){for(let ue=S;ue<D;ue++){let ve=this.collisionBoxArray.get(ue);this.addCollisionDebugVertices(ve.x1,ve.y1,ve.x2,ve.y2,te?this.textCollisionBox:this.iconCollisionBox,ve.anchorPoint,j)}}generateCollisionDebugBuffers(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new um(Fl,oy.members,we),this.iconCollisionBox=new um(Fl,oy.members,we);for(let S=0;S<this.symbolInstances.length;S++){let D=this.symbolInstances.get(S);this.addDebugCollisionBoxes(D.textBoxStartIndex,D.textBoxEndIndex,D,!0),this.addDebugCollisionBoxes(D.verticalTextBoxStartIndex,D.verticalTextBoxEndIndex,D,!0),this.addDebugCollisionBoxes(D.iconBoxStartIndex,D.iconBoxEndIndex,D,!1),this.addDebugCollisionBoxes(D.verticalIconBoxStartIndex,D.verticalIconBoxEndIndex,D,!1)}}_deserializeCollisionBoxesForSymbol(S,D,j,te,ue,ve,De,Ze,at){let Tt={};for(let Ft=D;Ft<j;Ft++){let Qt=S.get(Ft);Tt.textBox={x1:Qt.x1,y1:Qt.y1,x2:Qt.x2,y2:Qt.y2,anchorPointX:Qt.anchorPointX,anchorPointY:Qt.anchorPointY},Tt.textFeatureIndex=Qt.featureIndex;break}for(let Ft=te;Ft<ue;Ft++){let Qt=S.get(Ft);Tt.verticalTextBox={x1:Qt.x1,y1:Qt.y1,x2:Qt.x2,y2:Qt.y2,anchorPointX:Qt.anchorPointX,anchorPointY:Qt.anchorPointY},Tt.verticalTextFeatureIndex=Qt.featureIndex;break}for(let Ft=ve;Ft<De;Ft++){let Qt=S.get(Ft);Tt.iconBox={x1:Qt.x1,y1:Qt.y1,x2:Qt.x2,y2:Qt.y2,anchorPointX:Qt.anchorPointX,anchorPointY:Qt.anchorPointY},Tt.iconFeatureIndex=Qt.featureIndex;break}for(let Ft=Ze;Ft<at;Ft++){let Qt=S.get(Ft);Tt.verticalIconBox={x1:Qt.x1,y1:Qt.y1,x2:Qt.x2,y2:Qt.y2,anchorPointX:Qt.anchorPointX,anchorPointY:Qt.anchorPointY},Tt.verticalIconFeatureIndex=Qt.featureIndex;break}return Tt}deserializeCollisionBoxes(S){this.collisionArrays=[];for(let D=0;D<this.symbolInstances.length;D++){let j=this.symbolInstances.get(D);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(S,j.textBoxStartIndex,j.textBoxEndIndex,j.verticalTextBoxStartIndex,j.verticalTextBoxEndIndex,j.iconBoxStartIndex,j.iconBoxEndIndex,j.verticalIconBoxStartIndex,j.verticalIconBoxEndIndex))}}hasTextData(){return this.text.segments.get().length>0}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(S,D){let j=S.placedSymbolArray.get(D),te=j.vertexStartIndex+4*j.numGlyphs;for(let ue=j.vertexStartIndex;ue<te;ue+=4)S.indexArray.emplaceBack(ue,ue+1,ue+2),S.indexArray.emplaceBack(ue+1,ue+2,ue+3)}getSortedSymbolIndexes(S){if(this.sortedAngle===S&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;let D=Math.sin(S),j=Math.cos(S),te=[],ue=[],ve=[];for(let De=0;De<this.symbolInstances.length;++De){ve.push(De);let Ze=this.symbolInstances.get(De);te.push(0|Math.round(D*Ze.anchorX+j*Ze.anchorY)),ue.push(Ze.featureIndex)}return ve.sort((De,Ze)=>te[De]-te[Ze]||ue[Ze]-ue[De]),ve}addToSortKeyRanges(S,D){let j=this.sortKeyRanges[this.sortKeyRanges.length-1];j&&j.sortKey===D?j.symbolInstanceEnd=S+1:this.sortKeyRanges.push({sortKey:D,symbolInstanceStart:S,symbolInstanceEnd:S+1})}sortFeatures(S){if(this.sortFeaturesByY&&this.sortedAngle!==S&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(S),this.sortedAngle=S,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let D of this.symbolInstanceIndexes){let j=this.symbolInstances.get(D);this.featureSortOrder.push(j.featureIndex),[j.rightJustifiedTextSymbolIndex,j.centerJustifiedTextSymbolIndex,j.leftJustifiedTextSymbolIndex].forEach((te,ue,ve)=>{te>=0&&ve.indexOf(te)===ue&&this.addIndicesForPlacedSymbol(this.text,te)}),j.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,j.verticalPlacedTextSymbolIndex),j.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,j.placedIconSymbolIndex),j.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,j.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let tf,Zx;mi(\"SymbolBucket\",E1,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),E1.MAX_GLYPHS=65535,E1.addDynamicAttributes=nS;var Dw={get paint(){return Zx=Zx||new le({\"icon-opacity\":new eo(ce.paint_symbol[\"icon-opacity\"]),\"icon-color\":new eo(ce.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new eo(ce.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new eo(ce.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new eo(ce.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new Da(ce.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new Da(ce.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new eo(ce.paint_symbol[\"text-opacity\"]),\"text-color\":new eo(ce.paint_symbol[\"text-color\"],{runtimeType:Ht,getOverride:R=>R.textColor,hasOverride:R=>!!R.textColor}),\"text-halo-color\":new eo(ce.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new eo(ce.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new eo(ce.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new Da(ce.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new Da(ce.paint_symbol[\"text-translate-anchor\"])})},get layout(){return tf=tf||new le({\"symbol-placement\":new Da(ce.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new Da(ce.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new Da(ce.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new eo(ce.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new Da(ce.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new Da(ce.layout_symbol[\"icon-allow-overlap\"]),\"icon-overlap\":new Da(ce.layout_symbol[\"icon-overlap\"]),\"icon-ignore-placement\":new Da(ce.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new Da(ce.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new Da(ce.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new eo(ce.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new Da(ce.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new Da(ce.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new eo(ce.layout_symbol[\"icon-image\"]),\"icon-rotate\":new eo(ce.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new eo(ce.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new Da(ce.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new eo(ce.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new eo(ce.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new Da(ce.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new Da(ce.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new Da(ce.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new eo(ce.layout_symbol[\"text-field\"]),\"text-font\":new eo(ce.layout_symbol[\"text-font\"]),\"text-size\":new eo(ce.layout_symbol[\"text-size\"]),\"text-max-width\":new eo(ce.layout_symbol[\"text-max-width\"]),\"text-line-height\":new Da(ce.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new eo(ce.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new eo(ce.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new eo(ce.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new Da(ce.layout_symbol[\"text-variable-anchor\"]),\"text-variable-anchor-offset\":new eo(ce.layout_symbol[\"text-variable-anchor-offset\"]),\"text-anchor\":new eo(ce.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new Da(ce.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new Da(ce.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new eo(ce.layout_symbol[\"text-rotate\"]),\"text-padding\":new Da(ce.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new Da(ce.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new eo(ce.layout_symbol[\"text-transform\"]),\"text-offset\":new eo(ce.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new Da(ce.layout_symbol[\"text-allow-overlap\"]),\"text-overlap\":new Da(ce.layout_symbol[\"text-overlap\"]),\"text-ignore-placement\":new Da(ce.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new Da(ce.layout_symbol[\"text-optional\"])})}};class Xx{constructor(S){if(S.property.overrides===void 0)throw new Error(\"overrides must be provided to instantiate FormatSectionOverride class\");this.type=S.property.overrides?S.property.overrides.runtimeType:Lt,this.defaultValue=S}evaluate(S){if(S.formattedSection){let D=this.defaultValue.property.overrides;if(D&&D.hasOverride(S.formattedSection))return D.getOverride(S.formattedSection)}return S.feature&&S.featureState?this.defaultValue.evaluate(S.feature,S.featureState):this.defaultValue.property.specification.default}eachChild(S){this.defaultValue.isConstant()||S(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}mi(\"FormatSectionOverride\",Xx,{omit:[\"defaultValue\"]});class uy extends B{constructor(S){super(S,Dw)}recalculate(S,D){if(super.recalculate(S,D),this.layout.get(\"icon-rotation-alignment\")===\"auto\"&&(this.layout._values[\"icon-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-rotation-alignment\")===\"auto\"&&(this.layout._values[\"text-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-pitch-alignment\")===\"auto\"&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")===\"map\"?\"map\":\"viewport\"),this.layout.get(\"icon-pitch-alignment\")===\"auto\"&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),this.layout.get(\"symbol-placement\")===\"point\"){let j=this.layout.get(\"text-writing-mode\");if(j){let te=[];for(let ue of j)te.indexOf(ue)<0&&te.push(ue);this.layout._values[\"text-writing-mode\"]=te}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]}this._setPaintOverrides()}getValueAndResolveTokens(S,D,j,te){let ue=this.layout.get(S).evaluate(D,{},j,te),ve=this._unevaluatedLayout._values[S];return ve.isDataDriven()||Lc(ve.value)||!ue?ue:function(De,Ze){return Ze.replace(/{([^{}]+)}/g,(at,Tt)=>De&&Tt in De?String(De[Tt]):\"\")}(D.properties,ue)}createBucket(S){return new E1(S)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error(\"Should take a different path in FeatureIndex\")}_setPaintOverrides(){for(let S of Dw.paint.overridableProperties){if(!uy.hasPaintOverride(this.layout,S))continue;let D=this.paint.get(S),j=new Xx(D),te=new Pu(j,D.property.specification),ue=null;ue=D.value.kind===\"constant\"||D.value.kind===\"source\"?new Xc(\"source\",te):new ic(\"composite\",te,D.value.zoomStops),this.paint._values[S]=new Du(D.property,ue,D.parameters)}}_handleOverridablePaintPropertyUpdate(S,D,j){return!(!this.layout||D.isDataDriven()||j.isDataDriven())&&uy.hasPaintOverride(this.layout,S)}static hasPaintOverride(S,D){let j=S.get(\"text-field\"),te=Dw.paint.properties[D],ue=!1,ve=De=>{for(let Ze of De)if(te.overrides&&te.overrides.hasOverride(Ze))return void(ue=!0)};if(j.value.kind===\"constant\"&&j.value.value instanceof Zr)ve(j.value.value.sections);else if(j.value.kind===\"source\"){let De=at=>{ue||(at instanceof jn&&Ki(at.value)===Br?ve(at.value.sections):at instanceof Ql?ve(at.sections):at.eachChild(De))},Ze=j.value;Ze._styleExpression&&De(Ze._styleExpression.expression)}return ue}}let _C;var Yx={get paint(){return _C=_C||new le({\"background-color\":new Da(ce.paint_background[\"background-color\"]),\"background-pattern\":new yc(ce.paint_background[\"background-pattern\"]),\"background-opacity\":new Da(ce.paint_background[\"background-opacity\"])})}};class G9 extends B{constructor(S){super(S,Yx)}}let sS;var xC={get paint(){return sS=sS||new le({\"raster-opacity\":new Da(ce.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new Da(ce.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new Da(ce.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new Da(ce.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new Da(ce.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new Da(ce.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new Da(ce.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new Da(ce.paint_raster[\"raster-fade-duration\"])})}};class Kx extends B{constructor(S){super(S,xC)}}class lS extends B{constructor(S){super(S,{}),this.onAdd=D=>{this.implementation.onAdd&&this.implementation.onAdd(D,D.painter.context.gl)},this.onRemove=D=>{this.implementation.onRemove&&this.implementation.onRemove(D,D.painter.context.gl)},this.implementation=S}is3D(){return this.implementation.renderingMode===\"3d\"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error(\"Custom layers cannot be serialized\")}}class uS{constructor(S){this._methodToThrottle=S,this._triggered=!1,typeof MessageChannel!=\"undefined\"&&(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=()=>{}}}let cS=63710088e-1;class dg{constructor(S,D){if(isNaN(S)||isNaN(D))throw new Error(`Invalid LngLat object: (${S}, ${D})`);if(this.lng=+S,this.lat=+D,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")}wrap(){return new dg(A(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(S){let D=Math.PI/180,j=this.lat*D,te=S.lat*D,ue=Math.sin(j)*Math.sin(te)+Math.cos(j)*Math.cos(te)*Math.cos((S.lng-this.lng)*D);return cS*Math.acos(Math.min(ue,1))}static convert(S){if(S instanceof dg)return S;if(Array.isArray(S)&&(S.length===2||S.length===3))return new dg(Number(S[0]),Number(S[1]));if(!Array.isArray(S)&&typeof S==\"object\"&&S!==null)return new dg(Number(\"lng\"in S?S.lng:S.lon),Number(S.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\")}}let k1=2*Math.PI*cS;function bC(R){return k1*Math.cos(R*Math.PI/180)}function zw(R){return(180+R)/360}function wC(R){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+R*Math.PI/360)))/360}function Fw(R,S){return R/bC(S)}function Jx(R){return 360/Math.PI*Math.atan(Math.exp((180-360*R)*Math.PI/180))-90}class $x{constructor(S,D,j=0){this.x=+S,this.y=+D,this.z=+j}static fromLngLat(S,D=0){let j=dg.convert(S);return new $x(zw(j.lng),wC(j.lat),Fw(D,j.lat))}toLngLat(){return new dg(360*this.x-180,Jx(this.y))}toAltitude(){return this.z*bC(Jx(this.y))}meterInMercatorCoordinateUnits(){return 1/k1*(S=Jx(this.y),1/Math.cos(S*Math.PI/180));var S}}function gp(R,S,D){var j=2*Math.PI*6378137/256/Math.pow(2,D);return[R*j-2*Math.PI*6378137/2,S*j-2*Math.PI*6378137/2]}class fS{constructor(S,D,j){if(!function(te,ue,ve){return!(te<0||te>25||ve<0||ve>=Math.pow(2,te)||ue<0||ue>=Math.pow(2,te))}(S,D,j))throw new Error(`x=${D}, y=${j}, z=${S} outside of bounds. 0<=x<${Math.pow(2,S)}, 0<=y<${Math.pow(2,S)} 0<=z<=25 `);this.z=S,this.x=D,this.y=j,this.key=Qx(0,S,S,D,j)}equals(S){return this.z===S.z&&this.x===S.x&&this.y===S.y}url(S,D,j){let te=(ve=this.y,De=this.z,Ze=gp(256*(ue=this.x),256*(ve=Math.pow(2,De)-ve-1),De),at=gp(256*(ue+1),256*(ve+1),De),Ze[0]+\",\"+Ze[1]+\",\"+at[0]+\",\"+at[1]);var ue,ve,De,Ze,at;let Tt=function(Ft,Qt,sr){let Tr,Pr=\"\";for(let $r=Ft;$r>0;$r--)Tr=1<<$r-1,Pr+=(Qt&Tr?1:0)+(sr&Tr?2:0);return Pr}(this.z,this.x,this.y);return S[(this.x+this.y)%S.length].replace(/{prefix}/g,(this.x%16).toString(16)+(this.y%16).toString(16)).replace(/{z}/g,String(this.z)).replace(/{x}/g,String(this.x)).replace(/{y}/g,String(j===\"tms\"?Math.pow(2,this.z)-this.y-1:this.y)).replace(/{ratio}/g,D>1?\"@2x\":\"\").replace(/{quadkey}/g,Tt).replace(/{bbox-epsg-3857}/g,te)}isChildOf(S){let D=this.z-S.z;return D>0&&S.x===this.x>>D&&S.y===this.y>>D}getTilePoint(S){let D=Math.pow(2,this.z);return new u((S.x*D-this.x)*za,(S.y*D-this.y)*za)}toString(){return`${this.z}/${this.x}/${this.y}`}}class TC{constructor(S,D){this.wrap=S,this.canonical=D,this.key=Qx(S,D.z,D.z,D.x,D.y)}}class Jv{constructor(S,D,j,te,ue){if(S<j)throw new Error(`overscaledZ should be >= z; overscaledZ = ${S}; z = ${j}`);this.overscaledZ=S,this.wrap=D,this.canonical=new fS(j,+te,+ue),this.key=Qx(D,S,j,te,ue)}clone(){return new Jv(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(S){return this.overscaledZ===S.overscaledZ&&this.wrap===S.wrap&&this.canonical.equals(S.canonical)}scaledTo(S){if(S>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${S}; overscaledZ = ${this.overscaledZ}`);let D=this.canonical.z-S;return S>this.canonical.z?new Jv(S,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Jv(S,this.wrap,S,this.canonical.x>>D,this.canonical.y>>D)}calculateScaledKey(S,D){if(S>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${S}; overscaledZ = ${this.overscaledZ}`);let j=this.canonical.z-S;return S>this.canonical.z?Qx(this.wrap*+D,S,this.canonical.z,this.canonical.x,this.canonical.y):Qx(this.wrap*+D,S,S,this.canonical.x>>j,this.canonical.y>>j)}isChildOf(S){if(S.wrap!==this.wrap)return!1;let D=this.canonical.z-S.canonical.z;return S.overscaledZ===0||S.overscaledZ<this.overscaledZ&&S.canonical.x===this.canonical.x>>D&&S.canonical.y===this.canonical.y>>D}children(S){if(this.overscaledZ>=S)return[new Jv(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let D=this.canonical.z+1,j=2*this.canonical.x,te=2*this.canonical.y;return[new Jv(D,this.wrap,D,j,te),new Jv(D,this.wrap,D,j+1,te),new Jv(D,this.wrap,D,j,te+1),new Jv(D,this.wrap,D,j+1,te+1)]}isLessThan(S){return this.wrap<S.wrap||!(this.wrap>S.wrap)&&(this.overscaledZ<S.overscaledZ||!(this.overscaledZ>S.overscaledZ)&&(this.canonical.x<S.canonical.x||!(this.canonical.x>S.canonical.x)&&this.canonical.y<S.canonical.y))}wrapped(){return new Jv(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)}unwrapTo(S){return new Jv(this.overscaledZ,S,this.canonical.z,this.canonical.x,this.canonical.y)}overscaleFactor(){return Math.pow(2,this.overscaledZ-this.canonical.z)}toUnwrapped(){return new TC(this.wrap,this.canonical)}toString(){return`${this.overscaledZ}/${this.canonical.x}/${this.canonical.y}`}getTilePoint(S){return this.canonical.getTilePoint(new $x(S.x-this.wrap,S.y))}}function Qx(R,S,D,j,te){(R*=2)<0&&(R=-1*R-1);let ue=1<<D;return(ue*ue*R+ue*te+j).toString(36)+D.toString(36)+S.toString(36)}mi(\"CanonicalTileID\",fS),mi(\"OverscaledTileID\",Jv,{omit:[\"posMatrix\"]});class AC{constructor(S,D,j,te=1,ue=1,ve=1,De=0){if(this.uid=S,D.height!==D.width)throw new RangeError(\"DEM tiles must be square\");if(j&&![\"mapbox\",\"terrarium\",\"custom\"].includes(j))return void T(`\"${j}\" is not a valid encoding type. Valid types include \"mapbox\", \"terrarium\" and \"custom\".`);this.stride=D.height;let Ze=this.dim=D.height-2;switch(this.data=new Uint32Array(D.data.buffer),j){case\"terrarium\":this.redFactor=256,this.greenFactor=1,this.blueFactor=1/256,this.baseShift=32768;break;case\"custom\":this.redFactor=te,this.greenFactor=ue,this.blueFactor=ve,this.baseShift=De;break;default:this.redFactor=6553.6,this.greenFactor=25.6,this.blueFactor=.1,this.baseShift=1e4}for(let at=0;at<Ze;at++)this.data[this._idx(-1,at)]=this.data[this._idx(0,at)],this.data[this._idx(Ze,at)]=this.data[this._idx(Ze-1,at)],this.data[this._idx(at,-1)]=this.data[this._idx(at,0)],this.data[this._idx(at,Ze)]=this.data[this._idx(at,Ze-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(Ze,-1)]=this.data[this._idx(Ze-1,0)],this.data[this._idx(-1,Ze)]=this.data[this._idx(0,Ze-1)],this.data[this._idx(Ze,Ze)]=this.data[this._idx(Ze-1,Ze-1)],this.min=Number.MAX_SAFE_INTEGER,this.max=Number.MIN_SAFE_INTEGER;for(let at=0;at<Ze;at++)for(let Tt=0;Tt<Ze;Tt++){let Ft=this.get(at,Tt);Ft>this.max&&(this.max=Ft),Ft<this.min&&(this.min=Ft)}}get(S,D){let j=new Uint8Array(this.data.buffer),te=4*this._idx(S,D);return this.unpack(j[te],j[te+1],j[te+2])}getUnpackVector(){return[this.redFactor,this.greenFactor,this.blueFactor,this.baseShift]}_idx(S,D){if(S<-1||S>=this.dim+1||D<-1||D>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(D+1)*this.stride+(S+1)}unpack(S,D,j){return S*this.redFactor+D*this.greenFactor+j*this.blueFactor-this.baseShift}getPixels(){return new Jn({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(S,D,j){if(this.dim!==S.dim)throw new Error(\"dem dimension mismatch\");let te=D*this.dim,ue=D*this.dim+this.dim,ve=j*this.dim,De=j*this.dim+this.dim;switch(D){case-1:te=ue-1;break;case 1:ue=te+1}switch(j){case-1:ve=De-1;break;case 1:De=ve+1}let Ze=-D*this.dim,at=-j*this.dim;for(let Tt=ve;Tt<De;Tt++)for(let Ft=te;Ft<ue;Ft++)this.data[this._idx(Ft,Tt)]=S.data[this._idx(Ft+Ze,Tt+at)]}}mi(\"DEMData\",AC);class SC{constructor(S){this._stringToNumber={},this._numberToString=[];for(let D=0;D<S.length;D++){let j=S[D];this._stringToNumber[j]=D,this._numberToString[D]=j}}encode(S){return this._stringToNumber[S]}decode(S){if(S>=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${S} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[S]}}class hS{constructor(S,D,j,te,ue){this.type=\"Feature\",this._vectorTileFeature=S,S._z=D,S._x=j,S._y=te,this.properties=S.properties,this.id=ue}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(S){this._geometry=S}toJSON(){let S={geometry:this.geometry};for(let D in this)D!==\"_geometry\"&&D!==\"_vectorTileFeature\"&&(S[D]=this[D]);return S}}class cy{constructor(S,D){this.tileID=S,this.x=S.canonical.x,this.y=S.canonical.y,this.z=S.canonical.z,this.grid=new qi(za,16,0),this.grid3D=new qi(za,16,0),this.featureIndexArray=new As,this.promoteId=D}insert(S,D,j,te,ue,ve){let De=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(j,te,ue);let Ze=ve?this.grid3D:this.grid;for(let at=0;at<D.length;at++){let Tt=D[at],Ft=[1/0,1/0,-1/0,-1/0];for(let Qt=0;Qt<Tt.length;Qt++){let sr=Tt[Qt];Ft[0]=Math.min(Ft[0],sr.x),Ft[1]=Math.min(Ft[1],sr.y),Ft[2]=Math.max(Ft[2],sr.x),Ft[3]=Math.max(Ft[3],sr.y)}Ft[0]<za&&Ft[1]<za&&Ft[2]>=0&&Ft[3]>=0&&Ze.insert(De,Ft[0],Ft[1],Ft[2],Ft[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new ei.VectorTile(new eS(this.rawTileData)).layers,this.sourceLayerCoder=new SC(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers}query(S,D,j,te){this.loadVTLayers();let ue=S.params||{},ve=za/S.tileSize/S.scale,De=Pc(ue.filter),Ze=S.queryGeometry,at=S.queryPadding*ve,Tt=EC(Ze),Ft=this.grid.query(Tt.minX-at,Tt.minY-at,Tt.maxX+at,Tt.maxY+at),Qt=EC(S.cameraQueryGeometry),sr=this.grid3D.query(Qt.minX-at,Qt.minY-at,Qt.maxX+at,Qt.maxY+at,($r,ni,Di,pi)=>function(ki,Zi,ta,Va,Io){for(let Hn of ki)if(Zi<=Hn.x&&ta<=Hn.y&&Va>=Hn.x&&Io>=Hn.y)return!0;let La=[new u(Zi,ta),new u(Zi,Io),new u(Va,Io),new u(Va,ta)];if(ki.length>2){for(let Hn of La)if(On(ki,Hn))return!0}for(let Hn=0;Hn<ki.length-1;Hn++)if(Bn(ki[Hn],ki[Hn+1],La))return!0;return!1}(S.cameraQueryGeometry,$r-at,ni-at,Di+at,pi+at));for(let $r of sr)Ft.push($r);Ft.sort(j9);let Tr={},Pr;for(let $r=0;$r<Ft.length;$r++){let ni=Ft[$r];if(ni===Pr)continue;Pr=ni;let Di=this.featureIndexArray.get(ni),pi=null;this.loadMatchingFeature(Tr,Di.bucketIndex,Di.sourceLayerIndex,Di.featureIndex,De,ue.layers,ue.availableImages,D,j,te,(ki,Zi,ta)=>(pi||(pi=js(ki)),Zi.queryIntersectsFeature(Ze,ki,ta,pi,this.z,S.transform,ve,S.pixelPosMatrix)))}return Tr}loadMatchingFeature(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft){let Qt=this.bucketLayerIDs[D];if(ve&&!function($r,ni){for(let Di=0;Di<$r.length;Di++)if(ni.indexOf($r[Di])>=0)return!0;return!1}(ve,Qt))return;let sr=this.sourceLayerCoder.decode(j),Tr=this.vtLayers[sr].feature(te);if(ue.needGeometry){let $r=xl(Tr,!0);if(!ue.filter(new Ko(this.tileID.overscaledZ),$r,this.tileID.canonical))return}else if(!ue.filter(new Ko(this.tileID.overscaledZ),Tr))return;let Pr=this.getId(Tr,sr);for(let $r=0;$r<Qt.length;$r++){let ni=Qt[$r];if(ve&&ve.indexOf(ni)<0)continue;let Di=Ze[ni];if(!Di)continue;let pi={};Pr&&Tt&&(pi=Tt.getState(Di.sourceLayer||\"_geojsonTileLayer\",Pr));let ki=L({},at[ni]);ki.paint=MC(ki.paint,Di.paint,Tr,pi,De),ki.layout=MC(ki.layout,Di.layout,Tr,pi,De);let Zi=!Ft||Ft(Tr,Di,pi);if(!Zi)continue;let ta=new hS(Tr,this.z,this.x,this.y,Pr);ta.layer=ki;let Va=S[ni];Va===void 0&&(Va=S[ni]=[]),Va.push({featureIndex:te,feature:ta,intersectionZ:Zi})}}lookupSymbolFeatures(S,D,j,te,ue,ve,De,Ze){let at={};this.loadVTLayers();let Tt=Pc(ue);for(let Ft of S)this.loadMatchingFeature(at,j,te,Ft,Tt,ve,De,Ze,D);return at}hasLayer(S){for(let D of this.bucketLayerIDs)for(let j of D)if(S===j)return!0;return!1}getId(S,D){let j=S.id;return this.promoteId&&(j=S.properties[typeof this.promoteId==\"string\"?this.promoteId:this.promoteId[D]],typeof j==\"boolean\"&&(j=Number(j))),j}}function MC(R,S,D,j,te){return C(R,(ue,ve)=>{let De=S instanceof Dc?S.get(ve):null;return De&&De.evaluate?De.evaluate(D,j,te):De})}function EC(R){let S=1/0,D=1/0,j=-1/0,te=-1/0;for(let ue of R)S=Math.min(S,ue.x),D=Math.min(D,ue.y),j=Math.max(j,ue.x),te=Math.max(te,ue.y);return{minX:S,minY:D,maxX:j,maxY:te}}function j9(R,S){return S-R}function kC(R,S,D,j,te){let ue=[];for(let ve=0;ve<R.length;ve++){let De=R[ve],Ze;for(let at=0;at<De.length-1;at++){let Tt=De[at],Ft=De[at+1];Tt.x<S&&Ft.x<S||(Tt.x<S?Tt=new u(S,Tt.y+(S-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round():Ft.x<S&&(Ft=new u(S,Tt.y+(S-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round()),Tt.y<D&&Ft.y<D||(Tt.y<D?Tt=new u(Tt.x+(D-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),D)._round():Ft.y<D&&(Ft=new u(Tt.x+(D-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),D)._round()),Tt.x>=j&&Ft.x>=j||(Tt.x>=j?Tt=new u(j,Tt.y+(j-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round():Ft.x>=j&&(Ft=new u(j,Tt.y+(j-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round()),Tt.y>=te&&Ft.y>=te||(Tt.y>=te?Tt=new u(Tt.x+(te-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),te)._round():Ft.y>=te&&(Ft=new u(Tt.x+(te-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),te)._round()),Ze&&Tt.equals(Ze[Ze.length-1])||(Ze=[Tt],ue.push(Ze)),Ze.push(Ft)))))}}return ue}mi(\"FeatureIndex\",cy,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});class vg extends u{constructor(S,D,j,te){super(S,D),this.angle=j,te!==void 0&&(this.segment=te)}clone(){return new vg(this.x,this.y,this.angle,this.segment)}}function dS(R,S,D,j,te){if(S.segment===void 0||D===0)return!0;let ue=S,ve=S.segment+1,De=0;for(;De>-D/2;){if(ve--,ve<0)return!1;De-=R[ve].dist(ue),ue=R[ve]}De+=R[ve].dist(R[ve+1]),ve++;let Ze=[],at=0;for(;De<D/2;){let Tt=R[ve],Ft=R[ve+1];if(!Ft)return!1;let Qt=R[ve-1].angleTo(Tt)-Tt.angleTo(Ft);for(Qt=Math.abs((Qt+3*Math.PI)%(2*Math.PI)-Math.PI),Ze.push({distance:De,angleDelta:Qt}),at+=Qt;De-Ze[0].distance>j;)at-=Ze.shift().angleDelta;if(at>te)return!1;ve++,De+=Tt.dist(Ft)}return!0}function CC(R){let S=0;for(let D=0;D<R.length-1;D++)S+=R[D].dist(R[D+1]);return S}function LC(R,S,D){return R?.6*S*D:0}function PC(R,S){return Math.max(R?R.right-R.left:0,S?S.right-S.left:0)}function W9(R,S,D,j,te,ue){let ve=LC(D,te,ue),De=PC(D,j)*ue,Ze=0,at=CC(R)/2;for(let Tt=0;Tt<R.length-1;Tt++){let Ft=R[Tt],Qt=R[Tt+1],sr=Ft.dist(Qt);if(Ze+sr>at){let Tr=(at-Ze)/sr,Pr=Mo.number(Ft.x,Qt.x,Tr),$r=Mo.number(Ft.y,Qt.y,Tr),ni=new vg(Pr,$r,Qt.angleTo(Ft),Tt);return ni._round(),!ve||dS(R,ni,De,ve,S)?ni:void 0}Ze+=sr}}function Z9(R,S,D,j,te,ue,ve,De,Ze){let at=LC(j,ue,ve),Tt=PC(j,te),Ft=Tt*ve,Qt=R[0].x===0||R[0].x===Ze||R[0].y===0||R[0].y===Ze;return S-Ft<S/4&&(S=Ft+S/4),IC(R,Qt?S/2*De%S:(Tt/2+2*ue)*ve*De%S,S,at,D,Ft,Qt,!1,Ze)}function IC(R,S,D,j,te,ue,ve,De,Ze){let at=ue/2,Tt=CC(R),Ft=0,Qt=S-D,sr=[];for(let Tr=0;Tr<R.length-1;Tr++){let Pr=R[Tr],$r=R[Tr+1],ni=Pr.dist($r),Di=$r.angleTo(Pr);for(;Qt+D<Ft+ni;){Qt+=D;let pi=(Qt-Ft)/ni,ki=Mo.number(Pr.x,$r.x,pi),Zi=Mo.number(Pr.y,$r.y,pi);if(ki>=0&&ki<Ze&&Zi>=0&&Zi<Ze&&Qt-at>=0&&Qt+at<=Tt){let ta=new vg(ki,Zi,Di,Tr);ta._round(),j&&!dS(R,ta,ue,j,te)||sr.push(ta)}}Ft+=ni}return De||sr.length||ve||(sr=IC(R,Ft/2,D,j,te,ue,ve,!0,Ze)),sr}mi(\"Anchor\",vg);let C1=wd;function RC(R,S,D,j){let te=[],ue=R.image,ve=ue.pixelRatio,De=ue.paddedRect.w-2*C1,Ze=ue.paddedRect.h-2*C1,at={x1:R.left,y1:R.top,x2:R.right,y2:R.bottom},Tt=ue.stretchX||[[0,De]],Ft=ue.stretchY||[[0,Ze]],Qt=(Tn,bo)=>Tn+bo[1]-bo[0],sr=Tt.reduce(Qt,0),Tr=Ft.reduce(Qt,0),Pr=De-sr,$r=Ze-Tr,ni=0,Di=sr,pi=0,ki=Tr,Zi=0,ta=Pr,Va=0,Io=$r;if(ue.content&&j){let Tn=ue.content,bo=Tn[2]-Tn[0],Ya=Tn[3]-Tn[1];(ue.textFitWidth||ue.textFitHeight)&&(at=gC(R)),ni=pg(Tt,0,Tn[0]),pi=pg(Ft,0,Tn[1]),Di=pg(Tt,Tn[0],Tn[2]),ki=pg(Ft,Tn[1],Tn[3]),Zi=Tn[0]-ni,Va=Tn[1]-pi,ta=bo-Di,Io=Ya-ki}let La=at.x1,Hn=at.y1,lo=at.x2-La,$a=at.y2-Hn,Xa=(Tn,bo,Ya,Uo)=>{let wu=qw(Tn.stretch-ni,Di,lo,La),hu=L1(Tn.fixed-Zi,ta,Tn.stretch,sr),uh=qw(bo.stretch-pi,ki,$a,Hn),$v=L1(bo.fixed-Va,Io,bo.stretch,Tr),td=qw(Ya.stretch-ni,Di,lo,La),ch=L1(Ya.fixed-Zi,ta,Ya.stretch,sr),Ud=qw(Uo.stretch-pi,ki,$a,Hn),Vd=L1(Uo.fixed-Va,Io,Uo.stretch,Tr),Hd=new u(wu,uh),rf=new u(td,uh),fh=new u(td,Ud),Td=new u(wu,Ud),rd=new u(hu/ve,$v/ve),Dh=new u(ch/ve,Vd/ve),xf=S*Math.PI/180;if(xf){let Cl=Math.sin(xf),qu=Math.cos(xf),Tu=[qu,-Cl,Cl,qu];Hd._matMult(Tu),rf._matMult(Tu),Td._matMult(Tu),fh._matMult(Tu)}let Iv=Tn.stretch+Tn.fixed,lv=bo.stretch+bo.fixed;return{tl:Hd,tr:rf,bl:Td,br:fh,tex:{x:ue.paddedRect.x+C1+Iv,y:ue.paddedRect.y+C1+lv,w:Ya.stretch+Ya.fixed-Iv,h:Uo.stretch+Uo.fixed-lv},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:rd,pixelOffsetBR:Dh,minFontScaleX:ta/ve/lo,minFontScaleY:Io/ve/$a,isSDF:D}};if(j&&(ue.stretchX||ue.stretchY)){let Tn=DC(Tt,Pr,sr),bo=DC(Ft,$r,Tr);for(let Ya=0;Ya<Tn.length-1;Ya++){let Uo=Tn[Ya],wu=Tn[Ya+1];for(let hu=0;hu<bo.length-1;hu++)te.push(Xa(Uo,bo[hu],wu,bo[hu+1]))}}else te.push(Xa({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:De+1},{fixed:0,stretch:Ze+1}));return te}function pg(R,S,D){let j=0;for(let te of R)j+=Math.max(S,Math.min(D,te[1]))-Math.max(S,Math.min(D,te[0]));return j}function DC(R,S,D){let j=[{fixed:-C1,stretch:0}];for(let[te,ue]of R){let ve=j[j.length-1];j.push({fixed:te-ve.stretch,stretch:ve.stretch}),j.push({fixed:te-ve.stretch,stretch:ve.stretch+(ue-te)})}return j.push({fixed:S+C1,stretch:D}),j}function qw(R,S,D,j){return R/S*D+j}function L1(R,S,D,j){return R-S*D/j}class cm{constructor(S,D,j,te,ue,ve,De,Ze,at,Tt){var Ft;if(this.boxStartIndex=S.length,at){let Qt=ve.top,sr=ve.bottom,Tr=ve.collisionPadding;Tr&&(Qt-=Tr[1],sr+=Tr[3]);let Pr=sr-Qt;Pr>0&&(Pr=Math.max(10,Pr),this.circleDiameter=Pr)}else{let Qt=!((Ft=ve.image)===null||Ft===void 0)&&Ft.content&&(ve.image.textFitWidth||ve.image.textFitHeight)?gC(ve):{x1:ve.left,y1:ve.top,x2:ve.right,y2:ve.bottom};Qt.y1=Qt.y1*De-Ze[0],Qt.y2=Qt.y2*De+Ze[2],Qt.x1=Qt.x1*De-Ze[3],Qt.x2=Qt.x2*De+Ze[1];let sr=ve.collisionPadding;if(sr&&(Qt.x1-=sr[0]*De,Qt.y1-=sr[1]*De,Qt.x2+=sr[2]*De,Qt.y2+=sr[3]*De),Tt){let Tr=new u(Qt.x1,Qt.y1),Pr=new u(Qt.x2,Qt.y1),$r=new u(Qt.x1,Qt.y2),ni=new u(Qt.x2,Qt.y2),Di=Tt*Math.PI/180;Tr._rotate(Di),Pr._rotate(Di),$r._rotate(Di),ni._rotate(Di),Qt.x1=Math.min(Tr.x,Pr.x,$r.x,ni.x),Qt.x2=Math.max(Tr.x,Pr.x,$r.x,ni.x),Qt.y1=Math.min(Tr.y,Pr.y,$r.y,ni.y),Qt.y2=Math.max(Tr.y,Pr.y,$r.y,ni.y)}S.emplaceBack(D.x,D.y,Qt.x1,Qt.y1,Qt.x2,Qt.y2,j,te,ue)}this.boxEndIndex=S.length}}class Hp{constructor(S=[],D=(j,te)=>j<te?-1:j>te?1:0){if(this.data=S,this.length=this.data.length,this.compare=D,this.length>0)for(let j=(this.length>>1)-1;j>=0;j--)this._down(j)}push(S){this.data.push(S),this._up(this.length++)}pop(){if(this.length===0)return;let S=this.data[0],D=this.data.pop();return--this.length>0&&(this.data[0]=D,this._down(0)),S}peek(){return this.data[0]}_up(S){let{data:D,compare:j}=this,te=D[S];for(;S>0;){let ue=S-1>>1,ve=D[ue];if(j(te,ve)>=0)break;D[S]=ve,S=ue}D[S]=te}_down(S){let{data:D,compare:j}=this,te=this.length>>1,ue=D[S];for(;S<te;){let ve=1+(S<<1),De=ve+1;if(De<this.length&&j(D[De],D[ve])<0&&(ve=De),j(D[ve],ue)>=0)break;D[S]=D[ve],S=ve}D[S]=ue}}function X9(R,S=1,D=!1){let j=1/0,te=1/0,ue=-1/0,ve=-1/0,De=R[0];for(let sr=0;sr<De.length;sr++){let Tr=De[sr];(!sr||Tr.x<j)&&(j=Tr.x),(!sr||Tr.y<te)&&(te=Tr.y),(!sr||Tr.x>ue)&&(ue=Tr.x),(!sr||Tr.y>ve)&&(ve=Tr.y)}let Ze=Math.min(ue-j,ve-te),at=Ze/2,Tt=new Hp([],Y9);if(Ze===0)return new u(j,te);for(let sr=j;sr<ue;sr+=Ze)for(let Tr=te;Tr<ve;Tr+=Ze)Tt.push(new P1(sr+at,Tr+at,at,R));let Ft=function(sr){let Tr=0,Pr=0,$r=0,ni=sr[0];for(let Di=0,pi=ni.length,ki=pi-1;Di<pi;ki=Di++){let Zi=ni[Di],ta=ni[ki],Va=Zi.x*ta.y-ta.x*Zi.y;Pr+=(Zi.x+ta.x)*Va,$r+=(Zi.y+ta.y)*Va,Tr+=3*Va}return new P1(Pr/Tr,$r/Tr,0,sr)}(R),Qt=Tt.length;for(;Tt.length;){let sr=Tt.pop();(sr.d>Ft.d||!Ft.d)&&(Ft=sr,D&&console.log(\"found best %d after %d probes\",Math.round(1e4*sr.d)/1e4,Qt)),sr.max-Ft.d<=S||(at=sr.h/2,Tt.push(new P1(sr.p.x-at,sr.p.y-at,at,R)),Tt.push(new P1(sr.p.x+at,sr.p.y-at,at,R)),Tt.push(new P1(sr.p.x-at,sr.p.y+at,at,R)),Tt.push(new P1(sr.p.x+at,sr.p.y+at,at,R)),Qt+=4)}return D&&(console.log(`num probes: ${Qt}`),console.log(`best distance: ${Ft.d}`)),Ft.p}function Y9(R,S){return S.max-R.max}function P1(R,S,D,j){this.p=new u(R,S),this.h=D,this.d=function(te,ue){let ve=!1,De=1/0;for(let Ze=0;Ze<ue.length;Ze++){let at=ue[Ze];for(let Tt=0,Ft=at.length,Qt=Ft-1;Tt<Ft;Qt=Tt++){let sr=at[Tt],Tr=at[Qt];sr.y>te.y!=Tr.y>te.y&&te.x<(Tr.x-sr.x)*(te.y-sr.y)/(Tr.y-sr.y)+sr.x&&(ve=!ve),De=Math.min(De,Bi(te,sr,Tr))}}return(ve?1:-1)*Math.sqrt(De)}(this.p,j),this.max=this.d+this.h*Math.SQRT2}var ed;i.aq=void 0,(ed=i.aq||(i.aq={}))[ed.center=1]=\"center\",ed[ed.left=2]=\"left\",ed[ed.right=3]=\"right\",ed[ed.top=4]=\"top\",ed[ed.bottom=5]=\"bottom\",ed[ed[\"top-left\"]=6]=\"top-left\",ed[ed[\"top-right\"]=7]=\"top-right\",ed[ed[\"bottom-left\"]=8]=\"bottom-left\",ed[ed[\"bottom-right\"]=9]=\"bottom-right\";let fm=7,fy=Number.POSITIVE_INFINITY;function vS(R,S){return S[1]!==fy?function(D,j,te){let ue=0,ve=0;switch(j=Math.abs(j),te=Math.abs(te),D){case\"top-right\":case\"top-left\":case\"top\":ve=te-fm;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":ve=-te+fm}switch(D){case\"top-right\":case\"bottom-right\":case\"right\":ue=-j;break;case\"top-left\":case\"bottom-left\":case\"left\":ue=j}return[ue,ve]}(R,S[0],S[1]):function(D,j){let te=0,ue=0;j<0&&(j=0);let ve=j/Math.SQRT2;switch(D){case\"top-right\":case\"top-left\":ue=ve-fm;break;case\"bottom-right\":case\"bottom-left\":ue=-ve+fm;break;case\"bottom\":ue=-j+fm;break;case\"top\":ue=j-fm}switch(D){case\"top-right\":case\"bottom-right\":te=-ve;break;case\"top-left\":case\"bottom-left\":te=ve;break;case\"left\":te=j;break;case\"right\":te=-j}return[te,ue]}(R,S[0])}function zC(R,S,D){var j;let te=R.layout,ue=(j=te.get(\"text-variable-anchor-offset\"))===null||j===void 0?void 0:j.evaluate(S,{},D);if(ue){let De=ue.values,Ze=[];for(let at=0;at<De.length;at+=2){let Tt=Ze[at]=De[at],Ft=De[at+1].map(Qt=>Qt*kl);Tt.startsWith(\"top\")?Ft[1]-=fm:Tt.startsWith(\"bottom\")&&(Ft[1]+=fm),Ze[at+1]=Ft}return new Si(Ze)}let ve=te.get(\"text-variable-anchor\");if(ve){let De;De=R._unevaluatedLayout.getValue(\"text-radial-offset\")!==void 0?[te.get(\"text-radial-offset\").evaluate(S,{},D)*kl,fy]:te.get(\"text-offset\").evaluate(S,{},D).map(at=>at*kl);let Ze=[];for(let at of ve)Ze.push(at,vS(at,De));return new Si(Ze)}return null}function pS(R){switch(R){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function K9(R,S,D,j,te,ue,ve,De,Ze,at,Tt){let Ft=ue.textMaxSize.evaluate(S,{});Ft===void 0&&(Ft=ve);let Qt=R.layers[0].layout,sr=Qt.get(\"icon-offset\").evaluate(S,{},Tt),Tr=qC(D.horizontal),Pr=ve/24,$r=R.tilePixelRatio*Pr,ni=R.tilePixelRatio*Ft/24,Di=R.tilePixelRatio*De,pi=R.tilePixelRatio*Qt.get(\"symbol-spacing\"),ki=Qt.get(\"text-padding\")*R.tilePixelRatio,Zi=function(Tn,bo,Ya,Uo=1){let wu=Tn.get(\"icon-padding\").evaluate(bo,{},Ya),hu=wu&&wu.values;return[hu[0]*Uo,hu[1]*Uo,hu[2]*Uo,hu[3]*Uo]}(Qt,S,Tt,R.tilePixelRatio),ta=Qt.get(\"text-max-angle\")/180*Math.PI,Va=Qt.get(\"text-rotation-alignment\")!==\"viewport\"&&Qt.get(\"symbol-placement\")!==\"point\",Io=Qt.get(\"icon-rotation-alignment\")===\"map\"&&Qt.get(\"symbol-placement\")!==\"point\",La=Qt.get(\"symbol-placement\"),Hn=pi/2,lo=Qt.get(\"icon-text-fit\"),$a;j&&lo!==\"none\"&&(R.allowVerticalPlacement&&D.vertical&&($a=mC(j,D.vertical,lo,Qt.get(\"icon-text-fit-padding\"),sr,Pr)),Tr&&(j=mC(j,Tr,lo,Qt.get(\"icon-text-fit-padding\"),sr,Pr)));let Xa=(Tn,bo)=>{bo.x<0||bo.x>=za||bo.y<0||bo.y>=za||function(Ya,Uo,wu,hu,uh,$v,td,ch,Ud,Vd,Hd,rf,fh,Td,rd,Dh,xf,Iv,lv,Cl,qu,Tu,Rv,qc,I1){let p0=Ya.addToLineVertexArray(Uo,wu),Gp,Qv,oc,If,ep=0,gg=0,uv=0,R1=0,xS=-1,Uw=-1,g0={},hy=ui(\"\");if(Ya.allowVerticalPlacement&&hu.vertical){let Ad=ch.layout.get(\"text-rotate\").evaluate(qu,{},qc)+90;oc=new cm(Ud,Uo,Vd,Hd,rf,hu.vertical,fh,Td,rd,Ad),td&&(If=new cm(Ud,Uo,Vd,Hd,rf,td,xf,Iv,rd,Ad))}if(uh){let Ad=ch.layout.get(\"icon-rotate\").evaluate(qu,{}),tp=ch.layout.get(\"icon-text-fit\")!==\"none\",hm=RC(uh,Ad,Rv,tp),Gd=td?RC(td,Ad,Rv,tp):void 0;Qv=new cm(Ud,Uo,Vd,Hd,rf,uh,xf,Iv,!1,Ad),ep=4*hm.length;let Sd=Ya.iconSizeData,yp=null;Sd.kind===\"source\"?(yp=[v0*ch.layout.get(\"icon-size\").evaluate(qu,{})],yp[0]>lm&&T(`${Ya.layerIds[0]}: Value for \"icon-size\" is >= ${Wx}. Reduce your \"icon-size\".`)):Sd.kind===\"composite\"&&(yp=[v0*Tu.compositeIconSizes[0].evaluate(qu,{},qc),v0*Tu.compositeIconSizes[1].evaluate(qu,{},qc)],(yp[0]>lm||yp[1]>lm)&&T(`${Ya.layerIds[0]}: Value for \"icon-size\" is >= ${Wx}. Reduce your \"icon-size\".`)),Ya.addSymbols(Ya.icon,hm,yp,Cl,lv,qu,i.ah.none,Uo,p0.lineStartIndex,p0.lineLength,-1,qc),xS=Ya.icon.placedSymbolArray.length-1,Gd&&(gg=4*Gd.length,Ya.addSymbols(Ya.icon,Gd,yp,Cl,lv,qu,i.ah.vertical,Uo,p0.lineStartIndex,p0.lineLength,-1,qc),Uw=Ya.icon.placedSymbolArray.length-1)}let zh=Object.keys(hu.horizontal);for(let Ad of zh){let tp=hu.horizontal[Ad];if(!Gp){hy=ui(tp.text);let Gd=ch.layout.get(\"text-rotate\").evaluate(qu,{},qc);Gp=new cm(Ud,Uo,Vd,Hd,rf,tp,fh,Td,rd,Gd)}let hm=tp.positionedLines.length===1;if(uv+=FC(Ya,Uo,tp,$v,ch,rd,qu,Dh,p0,hu.vertical?i.ah.horizontal:i.ah.horizontalOnly,hm?zh:[Ad],g0,xS,Tu,qc),hm)break}hu.vertical&&(R1+=FC(Ya,Uo,hu.vertical,$v,ch,rd,qu,Dh,p0,i.ah.vertical,[\"vertical\"],g0,Uw,Tu,qc));let Q9=Gp?Gp.boxStartIndex:Ya.collisionBoxArray.length,Vw=Gp?Gp.boxEndIndex:Ya.collisionBoxArray.length,m0=oc?oc.boxStartIndex:Ya.collisionBoxArray.length,cv=oc?oc.boxEndIndex:Ya.collisionBoxArray.length,UC=Qv?Qv.boxStartIndex:Ya.collisionBoxArray.length,eq=Qv?Qv.boxEndIndex:Ya.collisionBoxArray.length,VC=If?If.boxStartIndex:Ya.collisionBoxArray.length,tq=If?If.boxEndIndex:Ya.collisionBoxArray.length,mp=-1,rb=(Ad,tp)=>Ad&&Ad.circleDiameter?Math.max(Ad.circleDiameter,tp):tp;mp=rb(Gp,mp),mp=rb(oc,mp),mp=rb(Qv,mp),mp=rb(If,mp);let Hw=mp>-1?1:0;Hw&&(mp*=I1/kl),Ya.glyphOffsetArray.length>=E1.MAX_GLYPHS&&T(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),qu.sortKey!==void 0&&Ya.addToSortKeyRanges(Ya.symbolInstances.length,qu.sortKey);let bS=zC(ch,qu,qc),[rq,iq]=function(Ad,tp){let hm=Ad.length,Gd=tp==null?void 0:tp.values;if((Gd==null?void 0:Gd.length)>0)for(let Sd=0;Sd<Gd.length;Sd+=2){let yp=Gd[Sd+1];Ad.emplaceBack(i.aq[Gd[Sd]],yp[0],yp[1])}return[hm,Ad.length]}(Ya.textAnchorOffsets,bS);Ya.symbolInstances.emplaceBack(Uo.x,Uo.y,g0.right>=0?g0.right:-1,g0.center>=0?g0.center:-1,g0.left>=0?g0.left:-1,g0.vertical||-1,xS,Uw,hy,Q9,Vw,m0,cv,UC,eq,VC,tq,Vd,uv,R1,ep,gg,Hw,0,fh,mp,rq,iq)}(R,bo,Tn,D,j,te,$a,R.layers[0],R.collisionBoxArray,S.index,S.sourceLayerIndex,R.index,$r,[ki,ki,ki,ki],Va,Ze,Di,Zi,Io,sr,S,ue,at,Tt,ve)};if(La===\"line\")for(let Tn of kC(S.geometry,0,0,za,za)){let bo=Z9(Tn,pi,ta,D.vertical||Tr,j,24,ni,R.overscaling,za);for(let Ya of bo)Tr&&J9(R,Tr.text,Hn,Ya)||Xa(Tn,Ya)}else if(La===\"line-center\"){for(let Tn of S.geometry)if(Tn.length>1){let bo=W9(Tn,ta,D.vertical||Tr,j,24,ni);bo&&Xa(Tn,bo)}}else if(S.type===\"Polygon\")for(let Tn of Of(S.geometry,0)){let bo=X9(Tn,16);Xa(Tn[0],new vg(bo.x,bo.y,0))}else if(S.type===\"LineString\")for(let Tn of S.geometry)Xa(Tn,new vg(Tn[0].x,Tn[0].y,0));else if(S.type===\"Point\")for(let Tn of S.geometry)for(let bo of Tn)Xa([bo],new vg(bo.x,bo.y,0))}function FC(R,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr){let Pr=function(Di,pi,ki,Zi,ta,Va,Io,La){let Hn=Zi.layout.get(\"text-rotate\").evaluate(Va,{})*Math.PI/180,lo=[];for(let $a of pi.positionedLines)for(let Xa of $a.positionedGlyphs){if(!Xa.rect)continue;let Tn=Xa.rect||{},bo=hC+1,Ya=!0,Uo=1,wu=0,hu=(ta||La)&&Xa.vertical,uh=Xa.metrics.advance*Xa.scale/2;if(La&&pi.verticalizable&&(wu=$a.lineOffset/2-(Xa.imageName?-(kl-Xa.metrics.width*Xa.scale)/2:(Xa.scale-1)*kl)),Xa.imageName){let Cl=Io[Xa.imageName];Ya=Cl.sdf,Uo=Cl.pixelRatio,bo=wd/Uo}let $v=ta?[Xa.x+uh,Xa.y]:[0,0],td=ta?[0,0]:[Xa.x+uh+ki[0],Xa.y+ki[1]-wu],ch=[0,0];hu&&(ch=td,td=[0,0]);let Ud=Xa.metrics.isDoubleResolution?2:1,Vd=(Xa.metrics.left-bo)*Xa.scale-uh+td[0],Hd=(-Xa.metrics.top-bo)*Xa.scale+td[1],rf=Vd+Tn.w/Ud*Xa.scale/Uo,fh=Hd+Tn.h/Ud*Xa.scale/Uo,Td=new u(Vd,Hd),rd=new u(rf,Hd),Dh=new u(Vd,fh),xf=new u(rf,fh);if(hu){let Cl=new u(-uh,uh-lh),qu=-Math.PI/2,Tu=kl/2-uh,Rv=new u(5-lh-Tu,-(Xa.imageName?Tu:0)),qc=new u(...ch);Td._rotateAround(qu,Cl)._add(Rv)._add(qc),rd._rotateAround(qu,Cl)._add(Rv)._add(qc),Dh._rotateAround(qu,Cl)._add(Rv)._add(qc),xf._rotateAround(qu,Cl)._add(Rv)._add(qc)}if(Hn){let Cl=Math.sin(Hn),qu=Math.cos(Hn),Tu=[qu,-Cl,Cl,qu];Td._matMult(Tu),rd._matMult(Tu),Dh._matMult(Tu),xf._matMult(Tu)}let Iv=new u(0,0),lv=new u(0,0);lo.push({tl:Td,tr:rd,bl:Dh,br:xf,tex:Tn,writingMode:pi.writingMode,glyphOffset:$v,sectionIndex:Xa.sectionIndex,isSDF:Ya,pixelOffsetTL:Iv,pixelOffsetBR:lv,minFontScaleX:0,minFontScaleY:0})}return lo}(0,D,De,te,ue,ve,j,R.allowVerticalPlacement),$r=R.textSizeData,ni=null;$r.kind===\"source\"?(ni=[v0*te.layout.get(\"text-size\").evaluate(ve,{})],ni[0]>lm&&T(`${R.layerIds[0]}: Value for \"text-size\" is >= ${Wx}. Reduce your \"text-size\".`)):$r.kind===\"composite\"&&(ni=[v0*sr.compositeTextSizes[0].evaluate(ve,{},Tr),v0*sr.compositeTextSizes[1].evaluate(ve,{},Tr)],(ni[0]>lm||ni[1]>lm)&&T(`${R.layerIds[0]}: Value for \"text-size\" is >= ${Wx}. Reduce your \"text-size\".`)),R.addSymbols(R.text,Pr,ni,De,ue,ve,at,S,Ze.lineStartIndex,Ze.lineLength,Qt,Tr);for(let Di of Tt)Ft[Di]=R.text.placedSymbolArray.length-1;return 4*Pr.length}function qC(R){for(let S in R)return R[S];return null}function J9(R,S,D,j){let te=R.compareText;if(S in te){let ue=te[S];for(let ve=ue.length-1;ve>=0;ve--)if(j.dist(ue[ve])<D)return!0}else te[S]=[];return te[S].push(j),!1}let OC=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class gS{static from(S){if(!(S instanceof ArrayBuffer))throw new Error(\"Data must be an instance of ArrayBuffer.\");let[D,j]=new Uint8Array(S,0,2);if(D!==219)throw new Error(\"Data does not appear to be in a KDBush format.\");let te=j>>4;if(te!==1)throw new Error(`Got v${te} data when expected v1.`);let ue=OC[15&j];if(!ue)throw new Error(\"Unrecognized array type.\");let[ve]=new Uint16Array(S,2,1),[De]=new Uint32Array(S,4,1);return new gS(De,ve,ue,S)}constructor(S,D=64,j=Float64Array,te){if(isNaN(S)||S<0)throw new Error(`Unpexpected numItems value: ${S}.`);this.numItems=+S,this.nodeSize=Math.min(Math.max(+D,2),65535),this.ArrayType=j,this.IndexArrayType=S<65536?Uint16Array:Uint32Array;let ue=OC.indexOf(this.ArrayType),ve=2*S*this.ArrayType.BYTES_PER_ELEMENT,De=S*this.IndexArrayType.BYTES_PER_ELEMENT,Ze=(8-De%8)%8;if(ue<0)throw new Error(`Unexpected typed array class: ${j}.`);te&&te instanceof ArrayBuffer?(this.data=te,this.ids=new this.IndexArrayType(this.data,8,S),this.coords=new this.ArrayType(this.data,8+De+Ze,2*S),this._pos=2*S,this._finished=!0):(this.data=new ArrayBuffer(8+ve+De+Ze),this.ids=new this.IndexArrayType(this.data,8,S),this.coords=new this.ArrayType(this.data,8+De+Ze,2*S),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+ue]),new Uint16Array(this.data,2,1)[0]=D,new Uint32Array(this.data,4,1)[0]=S)}add(S,D){let j=this._pos>>1;return this.ids[j]=j,this.coords[this._pos++]=S,this.coords[this._pos++]=D,j}finish(){let S=this._pos>>1;if(S!==this.numItems)throw new Error(`Added ${S} items when expected ${this.numItems}.`);return Ow(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(S,D,j,te){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:ue,coords:ve,nodeSize:De}=this,Ze=[0,ue.length-1,0],at=[];for(;Ze.length;){let Tt=Ze.pop()||0,Ft=Ze.pop()||0,Qt=Ze.pop()||0;if(Ft-Qt<=De){for(let $r=Qt;$r<=Ft;$r++){let ni=ve[2*$r],Di=ve[2*$r+1];ni>=S&&ni<=j&&Di>=D&&Di<=te&&at.push(ue[$r])}continue}let sr=Qt+Ft>>1,Tr=ve[2*sr],Pr=ve[2*sr+1];Tr>=S&&Tr<=j&&Pr>=D&&Pr<=te&&at.push(ue[sr]),(Tt===0?S<=Tr:D<=Pr)&&(Ze.push(Qt),Ze.push(sr-1),Ze.push(1-Tt)),(Tt===0?j>=Tr:te>=Pr)&&(Ze.push(sr+1),Ze.push(Ft),Ze.push(1-Tt))}return at}within(S,D,j){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:te,coords:ue,nodeSize:ve}=this,De=[0,te.length-1,0],Ze=[],at=j*j;for(;De.length;){let Tt=De.pop()||0,Ft=De.pop()||0,Qt=De.pop()||0;if(Ft-Qt<=ve){for(let $r=Qt;$r<=Ft;$r++)NC(ue[2*$r],ue[2*$r+1],S,D)<=at&&Ze.push(te[$r]);continue}let sr=Qt+Ft>>1,Tr=ue[2*sr],Pr=ue[2*sr+1];NC(Tr,Pr,S,D)<=at&&Ze.push(te[sr]),(Tt===0?S-j<=Tr:D-j<=Pr)&&(De.push(Qt),De.push(sr-1),De.push(1-Tt)),(Tt===0?S+j>=Tr:D+j>=Pr)&&(De.push(sr+1),De.push(Ft),De.push(1-Tt))}return Ze}}function Ow(R,S,D,j,te,ue){if(te-j<=D)return;let ve=j+te>>1;BC(R,S,ve,j,te,ue),Ow(R,S,D,j,ve-1,1-ue),Ow(R,S,D,ve+1,te,1-ue)}function BC(R,S,D,j,te,ue){for(;te>j;){if(te-j>600){let at=te-j+1,Tt=D-j+1,Ft=Math.log(at),Qt=.5*Math.exp(2*Ft/3),sr=.5*Math.sqrt(Ft*Qt*(at-Qt)/at)*(Tt-at/2<0?-1:1);BC(R,S,D,Math.max(j,Math.floor(D-Tt*Qt/at+sr)),Math.min(te,Math.floor(D+(at-Tt)*Qt/at+sr)),ue)}let ve=S[2*D+ue],De=j,Ze=te;for(eb(R,S,j,D),S[2*te+ue]>ve&&eb(R,S,j,te);De<Ze;){for(eb(R,S,De,Ze),De++,Ze--;S[2*De+ue]<ve;)De++;for(;S[2*Ze+ue]>ve;)Ze--}S[2*j+ue]===ve?eb(R,S,j,Ze):(Ze++,eb(R,S,Ze,te)),Ze<=D&&(j=Ze+1),D<=Ze&&(te=Ze-1)}}function eb(R,S,D,j){mS(R,D,j),mS(S,2*D,2*j),mS(S,2*D+1,2*j+1)}function mS(R,S,D){let j=R[S];R[S]=R[D],R[D]=j}function NC(R,S,D,j){let te=R-D,ue=S-j;return te*te+ue*ue}var Bw;i.bg=void 0,(Bw=i.bg||(i.bg={})).create=\"create\",Bw.load=\"load\",Bw.fullLoad=\"fullLoad\";let tb=null,Gf=[],yS=1e3/60,_S=\"loadTime\",Nw=\"fullLoadTime\",$9={mark(R){performance.mark(R)},frame(R){let S=R;tb!=null&&Gf.push(S-tb),tb=S},clearMetrics(){tb=null,Gf=[],performance.clearMeasures(_S),performance.clearMeasures(Nw);for(let R in i.bg)performance.clearMarks(i.bg[R])},getPerformanceMetrics(){performance.measure(_S,i.bg.create,i.bg.load),performance.measure(Nw,i.bg.create,i.bg.fullLoad);let R=performance.getEntriesByName(_S)[0].duration,S=performance.getEntriesByName(Nw)[0].duration,D=Gf.length,j=1/(Gf.reduce((ue,ve)=>ue+ve,0)/D/1e3),te=Gf.filter(ue=>ue>yS).reduce((ue,ve)=>ue+(ve-yS)/yS,0);return{loadTime:R,fullLoadTime:S,fps:j,percentDroppedFrames:te/(D+te)*100,totalFrames:D}}};i.$=class extends Ot{},i.A=Ln,i.B=Fi,i.C=function(R){if(V==null){let S=R.navigator?R.navigator.userAgent:null;V=!!R.safari||!(!S||!(/\\b(iPad|iPhone|iPod)\\b/.test(S)||S.match(\"Safari\")&&!S.match(\"Chrome\")))}return V},i.D=Da,i.E=Re,i.F=class{constructor(R,S){this.target=R,this.mapId=S,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new uS(()=>this.process()),this.subscription=function(D,j,te,ue){return D.addEventListener(j,te,!1),{unsubscribe:()=>{D.removeEventListener(j,te,!1)}}}(this.target,\"message\",D=>this.receive(D)),this.globalScope=q(self)?R:window}registerMessageHandler(R,S){this.messageHandlers[R]=S}sendAsync(R,S){return new Promise((D,j)=>{let te=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[te]={resolve:D,reject:j},S&&S.signal.addEventListener(\"abort\",()=>{delete this.resolveRejects[te];let De={id:te,type:\"<cancel>\",origin:location.origin,targetMapId:R.targetMapId,sourceMapId:this.mapId};this.target.postMessage(De)},{once:!0});let ue=[],ve=Object.assign(Object.assign({},R),{id:te,sourceMapId:this.mapId,origin:location.origin,data:Ea(R.data,ue)});this.target.postMessage(ve,{transfer:ue})})}receive(R){let S=R.data,D=S.id;if(!(S.origin!==\"file://\"&&location.origin!==\"file://\"&&S.origin!==\"resource://android\"&&location.origin!==\"resource://android\"&&S.origin!==location.origin||S.targetMapId&&this.mapId!==S.targetMapId)){if(S.type===\"<cancel>\"){delete this.tasks[D];let j=this.abortControllers[D];return delete this.abortControllers[D],void(j&&j.abort())}if(q(self)||S.mustQueue)return this.tasks[D]=S,this.taskQueue.push(D),void this.invoker.trigger();this.processTask(D,S)}}process(){if(this.taskQueue.length===0)return;let R=this.taskQueue.shift(),S=this.tasks[R];delete this.tasks[R],this.taskQueue.length>0&&this.invoker.trigger(),S&&this.processTask(R,S)}processTask(R,S){return a(this,void 0,void 0,function*(){if(S.type===\"<response>\"){let te=this.resolveRejects[R];return delete this.resolveRejects[R],te?void(S.error?te.reject(qa(S.error)):te.resolve(qa(S.data))):void 0}if(!this.messageHandlers[S.type])return void this.completeTask(R,new Error(`Could not find a registered handler for ${S.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(\", \")}`));let D=qa(S.data),j=new AbortController;this.abortControllers[R]=j;try{let te=yield this.messageHandlers[S.type](S.sourceMapId,D,j);this.completeTask(R,null,te)}catch(te){this.completeTask(R,te)}})}completeTask(R,S,D){let j=[];delete this.abortControllers[R];let te={id:R,type:\"<response>\",sourceMapId:this.mapId,origin:location.origin,error:S?Ea(S):null,data:Ea(D,j)};this.target.postMessage(te,{transfer:j})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},i.G=ke,i.H=function(){var R=new Ln(16);return Ln!=Float32Array&&(R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[11]=0,R[12]=0,R[13]=0,R[14]=0),R[0]=1,R[5]=1,R[10]=1,R[15]=1,R},i.I=kw,i.J=function(R,S,D){var j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr=D[0],$r=D[1],ni=D[2];return S===R?(R[12]=S[0]*Pr+S[4]*$r+S[8]*ni+S[12],R[13]=S[1]*Pr+S[5]*$r+S[9]*ni+S[13],R[14]=S[2]*Pr+S[6]*$r+S[10]*ni+S[14],R[15]=S[3]*Pr+S[7]*$r+S[11]*ni+S[15]):(te=S[1],ue=S[2],ve=S[3],De=S[4],Ze=S[5],at=S[6],Tt=S[7],Ft=S[8],Qt=S[9],sr=S[10],Tr=S[11],R[0]=j=S[0],R[1]=te,R[2]=ue,R[3]=ve,R[4]=De,R[5]=Ze,R[6]=at,R[7]=Tt,R[8]=Ft,R[9]=Qt,R[10]=sr,R[11]=Tr,R[12]=j*Pr+De*$r+Ft*ni+S[12],R[13]=te*Pr+Ze*$r+Qt*ni+S[13],R[14]=ue*Pr+at*$r+sr*ni+S[14],R[15]=ve*Pr+Tt*$r+Tr*ni+S[15]),R},i.K=function(R,S,D){var j=D[0],te=D[1],ue=D[2];return R[0]=S[0]*j,R[1]=S[1]*j,R[2]=S[2]*j,R[3]=S[3]*j,R[4]=S[4]*te,R[5]=S[5]*te,R[6]=S[6]*te,R[7]=S[7]*te,R[8]=S[8]*ue,R[9]=S[9]*ue,R[10]=S[10]*ue,R[11]=S[11]*ue,R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15],R},i.L=gn,i.M=function(R,S){let D={};for(let j=0;j<S.length;j++){let te=S[j];te in R&&(D[te]=R[te])}return D},i.N=dg,i.O=zw,i.P=u,i.Q=wC,i.R=Jn,i.S=Jv,i.T=ac,i.U=x,i.V=b,i.W=G,i.X=za,i.Y=qe,i.Z=$x,i._=a,i.a=_e,i.a$=function(R,S){var D=R[0],j=R[1],te=R[2],ue=R[3],ve=R[4],De=R[5],Ze=R[6],at=R[7],Tt=R[8],Ft=R[9],Qt=R[10],sr=R[11],Tr=R[12],Pr=R[13],$r=R[14],ni=R[15],Di=S[0],pi=S[1],ki=S[2],Zi=S[3],ta=S[4],Va=S[5],Io=S[6],La=S[7],Hn=S[8],lo=S[9],$a=S[10],Xa=S[11],Tn=S[12],bo=S[13],Ya=S[14],Uo=S[15];return Math.abs(D-Di)<=ji*Math.max(1,Math.abs(D),Math.abs(Di))&&Math.abs(j-pi)<=ji*Math.max(1,Math.abs(j),Math.abs(pi))&&Math.abs(te-ki)<=ji*Math.max(1,Math.abs(te),Math.abs(ki))&&Math.abs(ue-Zi)<=ji*Math.max(1,Math.abs(ue),Math.abs(Zi))&&Math.abs(ve-ta)<=ji*Math.max(1,Math.abs(ve),Math.abs(ta))&&Math.abs(De-Va)<=ji*Math.max(1,Math.abs(De),Math.abs(Va))&&Math.abs(Ze-Io)<=ji*Math.max(1,Math.abs(Ze),Math.abs(Io))&&Math.abs(at-La)<=ji*Math.max(1,Math.abs(at),Math.abs(La))&&Math.abs(Tt-Hn)<=ji*Math.max(1,Math.abs(Tt),Math.abs(Hn))&&Math.abs(Ft-lo)<=ji*Math.max(1,Math.abs(Ft),Math.abs(lo))&&Math.abs(Qt-$a)<=ji*Math.max(1,Math.abs(Qt),Math.abs($a))&&Math.abs(sr-Xa)<=ji*Math.max(1,Math.abs(sr),Math.abs(Xa))&&Math.abs(Tr-Tn)<=ji*Math.max(1,Math.abs(Tr),Math.abs(Tn))&&Math.abs(Pr-bo)<=ji*Math.max(1,Math.abs(Pr),Math.abs(bo))&&Math.abs($r-Ya)<=ji*Math.max(1,Math.abs($r),Math.abs(Ya))&&Math.abs(ni-Uo)<=ji*Math.max(1,Math.abs(ni),Math.abs(Uo))},i.a0=We,i.a1=fS,i.a2=er,i.a3=R=>{let S=window.document.createElement(\"video\");return S.muted=!0,new Promise(D=>{S.onloadstart=()=>{D(S)};for(let j of R){let te=window.document.createElement(\"source\");Ee(j)||(S.crossOrigin=\"Anonymous\"),te.src=j,S.appendChild(te)}})},i.a4=function(){return _++},i.a5=Qi,i.a6=E1,i.a7=Pc,i.a8=xl,i.a9=hS,i.aA=function(R){if(R.type===\"custom\")return new lS(R);switch(R.type){case\"background\":return new G9(R);case\"circle\":return new wn(R);case\"fill\":return new gr(R);case\"fill-extrusion\":return new Ev(R);case\"heatmap\":return new Po(R);case\"hillshade\":return new $c(R);case\"line\":return new ay(R);case\"raster\":return new Kx(R);case\"symbol\":return new uy(R)}},i.aB=g,i.aC=function(R,S){if(!R)return[{command:\"setStyle\",args:[S]}];let D=[];try{if(!ct(R.version,S.version))return[{command:\"setStyle\",args:[S]}];ct(R.center,S.center)||D.push({command:\"setCenter\",args:[S.center]}),ct(R.zoom,S.zoom)||D.push({command:\"setZoom\",args:[S.zoom]}),ct(R.bearing,S.bearing)||D.push({command:\"setBearing\",args:[S.bearing]}),ct(R.pitch,S.pitch)||D.push({command:\"setPitch\",args:[S.pitch]}),ct(R.sprite,S.sprite)||D.push({command:\"setSprite\",args:[S.sprite]}),ct(R.glyphs,S.glyphs)||D.push({command:\"setGlyphs\",args:[S.glyphs]}),ct(R.transition,S.transition)||D.push({command:\"setTransition\",args:[S.transition]}),ct(R.light,S.light)||D.push({command:\"setLight\",args:[S.light]}),ct(R.terrain,S.terrain)||D.push({command:\"setTerrain\",args:[S.terrain]}),ct(R.sky,S.sky)||D.push({command:\"setSky\",args:[S.sky]}),ct(R.projection,S.projection)||D.push({command:\"setProjection\",args:[S.projection]});let j={},te=[];(function(ve,De,Ze,at){let Tt;for(Tt in De=De||{},ve=ve||{})Object.prototype.hasOwnProperty.call(ve,Tt)&&(Object.prototype.hasOwnProperty.call(De,Tt)||ot(Tt,Ze,at));for(Tt in De)Object.prototype.hasOwnProperty.call(De,Tt)&&(Object.prototype.hasOwnProperty.call(ve,Tt)?ct(ve[Tt],De[Tt])||(ve[Tt].type===\"geojson\"&&De[Tt].type===\"geojson\"&&kt(ve,De,Tt)?qt(Ze,{command:\"setGeoJSONSourceData\",args:[Tt,De[Tt].data]}):Rt(Tt,De,Ze,at)):rt(Tt,De,Ze))})(R.sources,S.sources,te,j);let ue=[];R.layers&&R.layers.forEach(ve=>{\"source\"in ve&&j[ve.source]?D.push({command:\"removeLayer\",args:[ve.id]}):ue.push(ve)}),D=D.concat(te),function(ve,De,Ze){De=De||[];let at=(ve=ve||[]).map(Yt),Tt=De.map(Yt),Ft=ve.reduce(xr,{}),Qt=De.reduce(xr,{}),sr=at.slice(),Tr=Object.create(null),Pr,$r,ni,Di,pi;for(let ki=0,Zi=0;ki<at.length;ki++)Pr=at[ki],Object.prototype.hasOwnProperty.call(Qt,Pr)?Zi++:(qt(Ze,{command:\"removeLayer\",args:[Pr]}),sr.splice(sr.indexOf(Pr,Zi),1));for(let ki=0,Zi=0;ki<Tt.length;ki++)Pr=Tt[Tt.length-1-ki],sr[sr.length-1-ki]!==Pr&&(Object.prototype.hasOwnProperty.call(Ft,Pr)?(qt(Ze,{command:\"removeLayer\",args:[Pr]}),sr.splice(sr.lastIndexOf(Pr,sr.length-Zi),1)):Zi++,Di=sr[sr.length-ki],qt(Ze,{command:\"addLayer\",args:[Qt[Pr],Di]}),sr.splice(sr.length-ki,0,Pr),Tr[Pr]=!0);for(let ki=0;ki<Tt.length;ki++)if(Pr=Tt[ki],$r=Ft[Pr],ni=Qt[Pr],!Tr[Pr]&&!ct($r,ni))if(ct($r.source,ni.source)&&ct($r[\"source-layer\"],ni[\"source-layer\"])&&ct($r.type,ni.type)){for(pi in Ct($r.layout,ni.layout,Ze,Pr,null,\"setLayoutProperty\"),Ct($r.paint,ni.paint,Ze,Pr,null,\"setPaintProperty\"),ct($r.filter,ni.filter)||qt(Ze,{command:\"setFilter\",args:[Pr,ni.filter]}),ct($r.minzoom,ni.minzoom)&&ct($r.maxzoom,ni.maxzoom)||qt(Ze,{command:\"setLayerZoomRange\",args:[Pr,ni.minzoom,ni.maxzoom]}),$r)Object.prototype.hasOwnProperty.call($r,pi)&&pi!==\"layout\"&&pi!==\"paint\"&&pi!==\"filter\"&&pi!==\"metadata\"&&pi!==\"minzoom\"&&pi!==\"maxzoom\"&&(pi.indexOf(\"paint.\")===0?Ct($r[pi],ni[pi],Ze,Pr,pi.slice(6),\"setPaintProperty\"):ct($r[pi],ni[pi])||qt(Ze,{command:\"setLayerProperty\",args:[Pr,pi,ni[pi]]}));for(pi in ni)Object.prototype.hasOwnProperty.call(ni,pi)&&!Object.prototype.hasOwnProperty.call($r,pi)&&pi!==\"layout\"&&pi!==\"paint\"&&pi!==\"filter\"&&pi!==\"metadata\"&&pi!==\"minzoom\"&&pi!==\"maxzoom\"&&(pi.indexOf(\"paint.\")===0?Ct($r[pi],ni[pi],Ze,Pr,pi.slice(6),\"setPaintProperty\"):ct($r[pi],ni[pi])||qt(Ze,{command:\"setLayerProperty\",args:[Pr,pi,ni[pi]]}))}else qt(Ze,{command:\"removeLayer\",args:[Pr]}),Di=sr[sr.lastIndexOf(Pr)+1],qt(Ze,{command:\"addLayer\",args:[ni,Di]})}(ue,S.layers,D)}catch(j){console.warn(\"Unable to compute style diff:\",j),D=[{command:\"setStyle\",args:[S]}]}return D},i.aD=function(R){let S=[],D=R.id;return D===void 0&&S.push({message:`layers.${D}: missing required property \"id\"`}),R.render===void 0&&S.push({message:`layers.${D}: missing required method \"render\"`}),R.renderingMode&&R.renderingMode!==\"2d\"&&R.renderingMode!==\"3d\"&&S.push({message:`layers.${D}: property \"renderingMode\" must be either \"2d\" or \"3d\"`}),S},i.aE=function R(S,D){if(Array.isArray(S)){if(!Array.isArray(D)||S.length!==D.length)return!1;for(let j=0;j<S.length;j++)if(!R(S[j],D[j]))return!1;return!0}if(typeof S==\"object\"&&S!==null&&D!==null){if(typeof D!=\"object\"||Object.keys(S).length!==Object.keys(D).length)return!1;for(let j in S)if(!R(S[j],D[j]))return!1;return!0}return S===D},i.aF=C,i.aG=M,i.aH=class extends ci{constructor(R,S){super(R,S),this.current=0}set(R){this.current!==R&&(this.current=R,this.gl.uniform1i(this.location,R))}},i.aI=Jr,i.aJ=class extends ci{constructor(R,S){super(R,S),this.current=En}set(R){if(R[12]!==this.current[12]||R[0]!==this.current[0])return this.current=R,void this.gl.uniformMatrix4fv(this.location,!1,R);for(let S=1;S<16;S++)if(R[S]!==this.current[S]){this.current=R,this.gl.uniformMatrix4fv(this.location,!1,R);break}}},i.aK=un,i.aL=dn,i.aM=Zt,i.aN=class extends ci{constructor(R,S){super(R,S),this.current=[0,0,0]}set(R){R[0]===this.current[0]&&R[1]===this.current[1]&&R[2]===this.current[2]||(this.current=R,this.gl.uniform3f(this.location,R[0],R[1],R[2]))}},i.aO=class extends ci{constructor(R,S){super(R,S),this.current=[0,0]}set(R){R[0]===this.current[0]&&R[1]===this.current[1]||(this.current=R,this.gl.uniform2f(this.location,R[0],R[1]))}},i.aP=function(R,S,D,j,te,ue,ve){var De=1/(S-D),Ze=1/(j-te),at=1/(ue-ve);return R[0]=-2*De,R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=-2*Ze,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[10]=2*at,R[11]=0,R[12]=(S+D)*De,R[13]=(te+j)*Ze,R[14]=(ve+ue)*at,R[15]=1,R},i.aQ=Kn,i.aR=class extends et{},i.aS=im,i.aT=class extends Dt{},i.aU=_o,i.aV=function(R){return R<=1?1:Math.pow(2,Math.ceil(Math.log(R)/Math.LN2))},i.aW=Oa,i.aX=yo,i.aY=oe,i.aZ=class extends di{},i.a_=function(R,S){return R[0]===S[0]&&R[1]===S[1]&&R[2]===S[2]&&R[3]===S[3]&&R[4]===S[4]&&R[5]===S[5]&&R[6]===S[6]&&R[7]===S[7]&&R[8]===S[8]&&R[9]===S[9]&&R[10]===S[10]&&R[11]===S[11]&&R[12]===S[12]&&R[13]===S[13]&&R[14]===S[14]&&R[15]===S[15]},i.aa=function(R){let S={};if(R.replace(/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,(D,j,te,ue)=>{let ve=te||ue;return S[j]=!ve||ve.toLowerCase(),\"\"}),S[\"max-age\"]){let D=parseInt(S[\"max-age\"],10);isNaN(D)?delete S[\"max-age\"]:S[\"max-age\"]=D}return S},i.ab=function(R,S){let D=[];for(let j in R)j in S||D.push(j);return D},i.ac=k,i.ad=function(R,S,D){var j=Math.sin(D),te=Math.cos(D),ue=S[0],ve=S[1],De=S[2],Ze=S[3],at=S[4],Tt=S[5],Ft=S[6],Qt=S[7];return S!==R&&(R[8]=S[8],R[9]=S[9],R[10]=S[10],R[11]=S[11],R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15]),R[0]=ue*te+at*j,R[1]=ve*te+Tt*j,R[2]=De*te+Ft*j,R[3]=Ze*te+Qt*j,R[4]=at*te-ue*j,R[5]=Tt*te-ve*j,R[6]=Ft*te-De*j,R[7]=Qt*te-Ze*j,R},i.ae=function(R){var S=new Ln(16);return S[0]=R[0],S[1]=R[1],S[2]=R[2],S[3]=R[3],S[4]=R[4],S[5]=R[5],S[6]=R[6],S[7]=R[7],S[8]=R[8],S[9]=R[9],S[10]=R[10],S[11]=R[11],S[12]=R[12],S[13]=R[13],S[14]=R[14],S[15]=R[15],S},i.af=Za,i.ag=function(R,S){let D=0,j=0;if(R.kind===\"constant\")j=R.layoutSize;else if(R.kind!==\"source\"){let{interpolationType:te,minZoom:ue,maxZoom:ve}=R,De=te?k(xo.interpolationFactor(te,S,ue,ve),0,1):0;R.kind===\"camera\"?j=Mo.number(R.minSize,R.maxSize,De):D=De}return{uSizeT:D,uSize:j}},i.ai=function(R,{uSize:S,uSizeT:D},{lowerSize:j,upperSize:te}){return R.kind===\"source\"?j/v0:R.kind===\"composite\"?Mo.number(j/v0,te/v0,D):S},i.aj=nS,i.ak=function(R,S,D,j){let te=S.y-R.y,ue=S.x-R.x,ve=j.y-D.y,De=j.x-D.x,Ze=ve*ue-De*te;if(Ze===0)return null;let at=(De*(R.y-D.y)-ve*(R.x-D.x))/Ze;return new u(R.x+at*ue,R.y+at*te)},i.al=kC,i.am=xc,i.an=Un,i.ao=function(R){let S=1/0,D=1/0,j=-1/0,te=-1/0;for(let ue of R)S=Math.min(S,ue.x),D=Math.min(D,ue.y),j=Math.max(j,ue.x),te=Math.max(te,ue.y);return[S,D,j,te]},i.ap=kl,i.ar=iS,i.as=function(R,S){var D=S[0],j=S[1],te=S[2],ue=S[3],ve=S[4],De=S[5],Ze=S[6],at=S[7],Tt=S[8],Ft=S[9],Qt=S[10],sr=S[11],Tr=S[12],Pr=S[13],$r=S[14],ni=S[15],Di=D*De-j*ve,pi=D*Ze-te*ve,ki=D*at-ue*ve,Zi=j*Ze-te*De,ta=j*at-ue*De,Va=te*at-ue*Ze,Io=Tt*Pr-Ft*Tr,La=Tt*$r-Qt*Tr,Hn=Tt*ni-sr*Tr,lo=Ft*$r-Qt*Pr,$a=Ft*ni-sr*Pr,Xa=Qt*ni-sr*$r,Tn=Di*Xa-pi*$a+ki*lo+Zi*Hn-ta*La+Va*Io;return Tn?(R[0]=(De*Xa-Ze*$a+at*lo)*(Tn=1/Tn),R[1]=(te*$a-j*Xa-ue*lo)*Tn,R[2]=(Pr*Va-$r*ta+ni*Zi)*Tn,R[3]=(Qt*ta-Ft*Va-sr*Zi)*Tn,R[4]=(Ze*Hn-ve*Xa-at*La)*Tn,R[5]=(D*Xa-te*Hn+ue*La)*Tn,R[6]=($r*ki-Tr*Va-ni*pi)*Tn,R[7]=(Tt*Va-Qt*ki+sr*pi)*Tn,R[8]=(ve*$a-De*Hn+at*Io)*Tn,R[9]=(j*Hn-D*$a-ue*Io)*Tn,R[10]=(Tr*ta-Pr*ki+ni*Di)*Tn,R[11]=(Ft*ki-Tt*ta-sr*Di)*Tn,R[12]=(De*La-ve*lo-Ze*Io)*Tn,R[13]=(D*lo-j*La+te*Io)*Tn,R[14]=(Pr*pi-Tr*Zi-$r*Di)*Tn,R[15]=(Tt*Zi-Ft*pi+Qt*Di)*Tn,R):null},i.at=pS,i.au=Iw,i.av=gS,i.aw=function(){let R={},S=ce.$version;for(let D in ce.$root){let j=ce.$root[D];if(j.required){let te=null;te=D===\"version\"?S:j.type===\"array\"?[]:{},te!=null&&(R[D]=te)}}return R},i.ax=Cn,i.ay=ie,i.az=function(R){R=R.slice();let S=Object.create(null);for(let D=0;D<R.length;D++)S[R[D].id]=R[D];for(let D=0;D<R.length;D++)\"ref\"in R[D]&&(R[D]=nt(R[D],S[R[D].ref]));return R},i.b=H,i.b0=function(R,S){return R[0]=S[0],R[1]=S[1],R[2]=S[2],R[3]=S[3],R[4]=S[4],R[5]=S[5],R[6]=S[6],R[7]=S[7],R[8]=S[8],R[9]=S[9],R[10]=S[10],R[11]=S[11],R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15],R},i.b1=function(R,S,D){return R[0]=S[0]*D[0],R[1]=S[1]*D[1],R[2]=S[2]*D[2],R[3]=S[3]*D[3],R},i.b2=function(R,S){return R[0]*S[0]+R[1]*S[1]+R[2]*S[2]+R[3]*S[3]},i.b3=A,i.b4=TC,i.b5=Fw,i.b6=function(R,S,D,j,te){var ue,ve=1/Math.tan(S/2);return R[0]=ve/D,R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=ve,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[11]=-1,R[12]=0,R[13]=0,R[15]=0,te!=null&&te!==1/0?(R[10]=(te+j)*(ue=1/(j-te)),R[14]=2*te*j*ue):(R[10]=-1,R[14]=-2*j),R},i.b7=function(R,S,D){var j=Math.sin(D),te=Math.cos(D),ue=S[4],ve=S[5],De=S[6],Ze=S[7],at=S[8],Tt=S[9],Ft=S[10],Qt=S[11];return S!==R&&(R[0]=S[0],R[1]=S[1],R[2]=S[2],R[3]=S[3],R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15]),R[4]=ue*te+at*j,R[5]=ve*te+Tt*j,R[6]=De*te+Ft*j,R[7]=Ze*te+Qt*j,R[8]=at*te-ue*j,R[9]=Tt*te-ve*j,R[10]=Ft*te-De*j,R[11]=Qt*te-Ze*j,R},i.b8=p,i.b9=E,i.bA=bd,i.bB=function(R){return R.message===re},i.bC=fl,i.bD=vs,i.ba=function(R){return R*Math.PI/180},i.bb=function(R,S){let{x:D,y:j}=$x.fromLngLat(S);return!(R<0||R>25||j<0||j>=1||D<0||D>=1)},i.bc=function(R,S){return R[0]=S[0],R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=S[1],R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[10]=S[2],R[11]=0,R[12]=0,R[13]=0,R[14]=0,R[15]=1,R},i.bd=class extends yt{},i.be=cS,i.bf=$9,i.bh=ge,i.bi=function(R,S){_e.REGISTERED_PROTOCOLS[R]=S},i.bj=function(R){delete _e.REGISTERED_PROTOCOLS[R]},i.bk=function(R,S){let D={};for(let te=0;te<R.length;te++){let ue=S&&S[R[te].id]||md(R[te]);S&&(S[R[te].id]=ue);let ve=D[ue];ve||(ve=D[ue]=[]),ve.push(R[te])}let j=[];for(let te in D)j.push(D[te]);return j},i.bl=mi,i.bm=SC,i.bn=cy,i.bo=Cw,i.bp=function(R){R.bucket.createArrays(),R.bucket.tilePixelRatio=za/(512*R.bucket.overscaling),R.bucket.compareText={},R.bucket.iconsNeedLinear=!1;let S=R.bucket.layers[0],D=S.layout,j=S._unevaluatedLayout._values,te={layoutIconSize:j[\"icon-size\"].possiblyEvaluate(new Ko(R.bucket.zoom+1),R.canonical),layoutTextSize:j[\"text-size\"].possiblyEvaluate(new Ko(R.bucket.zoom+1),R.canonical),textMaxSize:j[\"text-size\"].possiblyEvaluate(new Ko(18))};if(R.bucket.textSizeData.kind===\"composite\"){let{minZoom:at,maxZoom:Tt}=R.bucket.textSizeData;te.compositeTextSizes=[j[\"text-size\"].possiblyEvaluate(new Ko(at),R.canonical),j[\"text-size\"].possiblyEvaluate(new Ko(Tt),R.canonical)]}if(R.bucket.iconSizeData.kind===\"composite\"){let{minZoom:at,maxZoom:Tt}=R.bucket.iconSizeData;te.compositeIconSizes=[j[\"icon-size\"].possiblyEvaluate(new Ko(at),R.canonical),j[\"icon-size\"].possiblyEvaluate(new Ko(Tt),R.canonical)]}let ue=D.get(\"text-line-height\")*kl,ve=D.get(\"text-rotation-alignment\")!==\"viewport\"&&D.get(\"symbol-placement\")!==\"point\",De=D.get(\"text-keep-upright\"),Ze=D.get(\"text-size\");for(let at of R.bucket.features){let Tt=D.get(\"text-font\").evaluate(at,{},R.canonical).join(\",\"),Ft=Ze.evaluate(at,{},R.canonical),Qt=te.layoutTextSize.evaluate(at,{},R.canonical),sr=te.layoutIconSize.evaluate(at,{},R.canonical),Tr={horizontal:{},vertical:void 0},Pr=at.text,$r,ni=[0,0];if(Pr){let ki=Pr.toString(),Zi=D.get(\"text-letter-spacing\").evaluate(at,{},R.canonical)*kl,ta=mo(ki)?Zi:0,Va=D.get(\"text-anchor\").evaluate(at,{},R.canonical),Io=zC(S,at,R.canonical);if(!Io){let $a=D.get(\"text-radial-offset\").evaluate(at,{},R.canonical);ni=$a?vS(Va,[$a*kl,fy]):D.get(\"text-offset\").evaluate(at,{},R.canonical).map(Xa=>Xa*kl)}let La=ve?\"center\":D.get(\"text-justify\").evaluate(at,{},R.canonical),Hn=D.get(\"symbol-placement\")===\"point\"?D.get(\"text-max-width\").evaluate(at,{},R.canonical)*kl:1/0,lo=()=>{R.bucket.allowVerticalPlacement&&Ua(ki)&&(Tr.vertical=Gx(Pr,R.glyphMap,R.glyphPositions,R.imagePositions,Tt,Hn,ue,Va,\"left\",ta,ni,i.ah.vertical,!0,Qt,Ft))};if(!ve&&Io){let $a=new Set;if(La===\"auto\")for(let Tn=0;Tn<Io.values.length;Tn+=2)$a.add(pS(Io.values[Tn]));else $a.add(La);let Xa=!1;for(let Tn of $a)if(!Tr.horizontal[Tn])if(Xa)Tr.horizontal[Tn]=Tr.horizontal[0];else{let bo=Gx(Pr,R.glyphMap,R.glyphPositions,R.imagePositions,Tt,Hn,ue,\"center\",Tn,ta,ni,i.ah.horizontal,!1,Qt,Ft);bo&&(Tr.horizontal[Tn]=bo,Xa=bo.positionedLines.length===1)}lo()}else{La===\"auto\"&&(La=pS(Va));let $a=Gx(Pr,R.glyphMap,R.glyphPositions,R.imagePositions,Tt,Hn,ue,Va,La,ta,ni,i.ah.horizontal,!1,Qt,Ft);$a&&(Tr.horizontal[La]=$a),lo(),Ua(ki)&&ve&&De&&(Tr.vertical=Gx(Pr,R.glyphMap,R.glyphPositions,R.imagePositions,Tt,Hn,ue,Va,La,ta,ni,i.ah.vertical,!1,Qt,Ft))}}let Di=!1;if(at.icon&&at.icon.name){let ki=R.imageMap[at.icon.name];ki&&($r=jx(R.imagePositions[at.icon.name],D.get(\"icon-offset\").evaluate(at,{},R.canonical),D.get(\"icon-anchor\").evaluate(at,{},R.canonical)),Di=!!ki.sdf,R.bucket.sdfIcons===void 0?R.bucket.sdfIcons=Di:R.bucket.sdfIcons!==Di&&T(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),(ki.pixelRatio!==R.bucket.pixelRatio||D.get(\"icon-rotate\").constantOr(1)!==0)&&(R.bucket.iconsNeedLinear=!0))}let pi=qC(Tr.horizontal)||Tr.vertical;R.bucket.iconsInText=!!pi&&pi.iconsInText,(pi||$r)&&K9(R.bucket,at,Tr,$r,R.imageMap,te,Qt,sr,ni,Di,R.canonical)}R.showCollisionBoxes&&R.bucket.generateCollisionDebugBuffers()},i.bq=Kv,i.br=dr,i.bs=fo,i.bt=ei,i.bu=eS,i.bv=class{constructor(R){this._marks={start:[R.url,\"start\"].join(\"#\"),end:[R.url,\"end\"].join(\"#\"),measure:R.url.toString()},performance.mark(this._marks.start)}finish(){performance.mark(this._marks.end);let R=performance.getEntriesByName(this._marks.measure);return R.length===0&&(performance.measure(this._marks.measure,this._marks.start,this._marks.end),R=performance.getEntriesByName(this._marks.measure),performance.clearMarks(this._marks.start),performance.clearMarks(this._marks.end),performance.clearMeasures(this._marks.measure)),R}},i.bw=function(R,S,D,j,te){return a(this,void 0,void 0,function*(){if(b())try{return yield G(R,S,D,j,te)}catch(ue){}return function(ue,ve,De,Ze,at){let Tt=ue.width,Ft=ue.height;N&&W||(N=new OffscreenCanvas(Tt,Ft),W=N.getContext(\"2d\",{willReadFrequently:!0})),N.width=Tt,N.height=Ft,W.drawImage(ue,0,0,Tt,Ft);let Qt=W.getImageData(ve,De,Ze,at);return W.clearRect(0,0,Tt,Ft),Qt.data}(R,S,D,j,te)})},i.bx=AC,i.by=o,i.bz=s,i.c=ae,i.d=R=>a(void 0,void 0,void 0,function*(){if(R.byteLength===0)return createImageBitmap(new ImageData(1,1));let S=new Blob([new Uint8Array(R)],{type:\"image/png\"});try{return createImageBitmap(S)}catch(D){throw new Error(`Could not load image because of ${D.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),i.e=L,i.f=R=>new Promise((S,D)=>{let j=new Image;j.onload=()=>{S(j),URL.revokeObjectURL(j.src),j.onload=null,window.requestAnimationFrame(()=>{j.src=X})},j.onerror=()=>D(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.\"));let te=new Blob([new Uint8Array(R)],{type:\"image/png\"});j.src=R.byteLength?URL.createObjectURL(te):X}),i.g=Me,i.h=(R,S)=>Te(L(R,{type:\"json\"}),S),i.i=q,i.j=me,i.k=Ce,i.l=(R,S)=>Te(L(R,{type:\"arrayBuffer\"}),S),i.m=Te,i.n=function(R){return new eS(R).readFields(yQ,[])},i.o=Ao,i.p=rS,i.q=le,i.r=xi,i.s=Ee,i.t=Ti,i.u=fi,i.v=ce,i.w=T,i.x=function([R,S,D]){return S+=90,S*=Math.PI/180,D*=Math.PI/180,{x:R*Math.cos(S)*Math.sin(D),y:R*Math.sin(S)*Math.sin(D),z:R*Math.cos(D)}},i.y=Mo,i.z=Ko}),r(\"worker\",[\"./shared\"],function(i){\"use strict\";class a{constructor(Ne){this.keyCache={},Ne&&this.replace(Ne)}replace(Ne){this._layerConfigs={},this._layers={},this.update(Ne,[])}update(Ne,Ye){for(let Xe of Ne){this._layerConfigs[Xe.id]=Xe;let ht=this._layers[Xe.id]=i.aA(Xe);ht._featureFilter=i.a7(ht.filter),this.keyCache[Xe.id]&&delete this.keyCache[Xe.id]}for(let Xe of Ye)delete this.keyCache[Xe],delete this._layerConfigs[Xe],delete this._layers[Xe];this.familiesBySource={};let Ve=i.bk(Object.values(this._layerConfigs),this.keyCache);for(let Xe of Ve){let ht=Xe.map(Vt=>this._layers[Vt.id]),Le=ht[0];if(Le.visibility===\"none\")continue;let xe=Le.source||\"\",Se=this.familiesBySource[xe];Se||(Se=this.familiesBySource[xe]={});let lt=Le.sourceLayer||\"_geojsonTileLayer\",Gt=Se[lt];Gt||(Gt=Se[lt]=[]),Gt.push(ht)}}}class o{constructor(Ne){let Ye={},Ve=[];for(let xe in Ne){let Se=Ne[xe],lt=Ye[xe]={};for(let Gt in Se){let Vt=Se[+Gt];if(!Vt||Vt.bitmap.width===0||Vt.bitmap.height===0)continue;let ar={x:0,y:0,w:Vt.bitmap.width+2,h:Vt.bitmap.height+2};Ve.push(ar),lt[Gt]={rect:ar,metrics:Vt.metrics}}}let{w:Xe,h:ht}=i.p(Ve),Le=new i.o({width:Xe||1,height:ht||1});for(let xe in Ne){let Se=Ne[xe];for(let lt in Se){let Gt=Se[+lt];if(!Gt||Gt.bitmap.width===0||Gt.bitmap.height===0)continue;let Vt=Ye[xe][lt].rect;i.o.copy(Gt.bitmap,Le,{x:0,y:0},{x:Vt.x+1,y:Vt.y+1},Gt.bitmap)}}this.image=Le,this.positions=Ye}}i.bl(\"GlyphAtlas\",o);class s{constructor(Ne){this.tileID=new i.S(Ne.tileID.overscaledZ,Ne.tileID.wrap,Ne.tileID.canonical.z,Ne.tileID.canonical.x,Ne.tileID.canonical.y),this.uid=Ne.uid,this.zoom=Ne.zoom,this.pixelRatio=Ne.pixelRatio,this.tileSize=Ne.tileSize,this.source=Ne.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=Ne.showCollisionBoxes,this.collectResourceTiming=!!Ne.collectResourceTiming,this.returnDependencies=!!Ne.returnDependencies,this.promoteId=Ne.promoteId,this.inFlightDependencies=[]}parse(Ne,Ye,Ve,Xe){return i._(this,void 0,void 0,function*(){this.status=\"parsing\",this.data=Ne,this.collisionBoxArray=new i.a5;let ht=new i.bm(Object.keys(Ne.layers).sort()),Le=new i.bn(this.tileID,this.promoteId);Le.bucketLayerIDs=[];let xe={},Se={featureIndex:Le,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:Ve},lt=Ye.familiesBySource[this.source];for(let _n in lt){let $i=Ne.layers[_n];if(!$i)continue;$i.version===1&&i.w(`Vector tile source \"${this.source}\" layer \"${_n}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);let zn=ht.encode(_n),Wn=[];for(let It=0;It<$i.length;It++){let ft=$i.feature(It),jt=Le.getId(ft,_n);Wn.push({feature:ft,id:jt,index:It,sourceLayerIndex:zn})}for(let It of lt[_n]){let ft=It[0];ft.source!==this.source&&i.w(`layer.source = ${ft.source} does not equal this.source = ${this.source}`),ft.minzoom&&this.zoom<Math.floor(ft.minzoom)||ft.maxzoom&&this.zoom>=ft.maxzoom||ft.visibility!==\"none\"&&(l(It,this.zoom,Ve),(xe[ft.id]=ft.createBucket({index:Le.bucketLayerIDs.length,layers:It,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:zn,sourceID:this.source})).populate(Wn,Se,this.tileID.canonical),Le.bucketLayerIDs.push(It.map(jt=>jt.id)))}}let Gt=i.aF(Se.glyphDependencies,_n=>Object.keys(_n).map(Number));this.inFlightDependencies.forEach(_n=>_n==null?void 0:_n.abort()),this.inFlightDependencies=[];let Vt=Promise.resolve({});if(Object.keys(Gt).length){let _n=new AbortController;this.inFlightDependencies.push(_n),Vt=Xe.sendAsync({type:\"GG\",data:{stacks:Gt,source:this.source,tileID:this.tileID,type:\"glyphs\"}},_n)}let ar=Object.keys(Se.iconDependencies),Qr=Promise.resolve({});if(ar.length){let _n=new AbortController;this.inFlightDependencies.push(_n),Qr=Xe.sendAsync({type:\"GI\",data:{icons:ar,source:this.source,tileID:this.tileID,type:\"icons\"}},_n)}let ai=Object.keys(Se.patternDependencies),jr=Promise.resolve({});if(ai.length){let _n=new AbortController;this.inFlightDependencies.push(_n),jr=Xe.sendAsync({type:\"GI\",data:{icons:ai,source:this.source,tileID:this.tileID,type:\"patterns\"}},_n)}let[ri,bi,nn]=yield Promise.all([Vt,Qr,jr]),Wi=new o(ri),Ni=new i.bo(bi,nn);for(let _n in xe){let $i=xe[_n];$i instanceof i.a6?(l($i.layers,this.zoom,Ve),i.bp({bucket:$i,glyphMap:ri,glyphPositions:Wi.positions,imageMap:bi,imagePositions:Ni.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):$i.hasPattern&&($i instanceof i.bq||$i instanceof i.br||$i instanceof i.bs)&&(l($i.layers,this.zoom,Ve),$i.addFeatures(Se,this.tileID.canonical,Ni.patternPositions))}return this.status=\"done\",{buckets:Object.values(xe).filter(_n=>!_n.isEmpty()),featureIndex:Le,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:Wi.image,imageAtlas:Ni,glyphMap:this.returnDependencies?ri:null,iconMap:this.returnDependencies?bi:null,glyphPositions:this.returnDependencies?Wi.positions:null}})}}function l(ut,Ne,Ye){let Ve=new i.z(Ne);for(let Xe of ut)Xe.recalculate(Ve,Ye)}class u{constructor(Ne,Ye,Ve){this.actor=Ne,this.layerIndex=Ye,this.availableImages=Ve,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(Ne,Ye){return i._(this,void 0,void 0,function*(){let Ve=yield i.l(Ne.request,Ye);try{return{vectorTile:new i.bt.VectorTile(new i.bu(Ve.data)),rawData:Ve.data,cacheControl:Ve.cacheControl,expires:Ve.expires}}catch(Xe){let ht=new Uint8Array(Ve.data),Le=`Unable to parse the tile at ${Ne.request.url}, `;throw Le+=ht[0]===31&&ht[1]===139?\"please make sure the data is not gzipped and that you have configured the relevant header in the server\":`got error: ${Xe.message}`,new Error(Le)}})}loadTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=Ne.uid,Ve=!!(Ne&&Ne.request&&Ne.request.collectResourceTiming)&&new i.bv(Ne.request),Xe=new s(Ne);this.loading[Ye]=Xe;let ht=new AbortController;Xe.abort=ht;try{let Le=yield this.loadVectorTile(Ne,ht);if(delete this.loading[Ye],!Le)return null;let xe=Le.rawData,Se={};Le.expires&&(Se.expires=Le.expires),Le.cacheControl&&(Se.cacheControl=Le.cacheControl);let lt={};if(Ve){let Vt=Ve.finish();Vt&&(lt.resourceTiming=JSON.parse(JSON.stringify(Vt)))}Xe.vectorTile=Le.vectorTile;let Gt=Xe.parse(Le.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[Ye]=Xe,this.fetching[Ye]={rawTileData:xe,cacheControl:Se,resourceTiming:lt};try{let Vt=yield Gt;return i.e({rawTileData:xe.slice(0)},Vt,Se,lt)}finally{delete this.fetching[Ye]}}catch(Le){throw delete this.loading[Ye],Xe.status=\"done\",this.loaded[Ye]=Xe,Le}})}reloadTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=Ne.uid;if(!this.loaded||!this.loaded[Ye])throw new Error(\"Should not be trying to reload a tile that was never loaded or has been removed\");let Ve=this.loaded[Ye];if(Ve.showCollisionBoxes=Ne.showCollisionBoxes,Ve.status===\"parsing\"){let Xe=yield Ve.parse(Ve.vectorTile,this.layerIndex,this.availableImages,this.actor),ht;if(this.fetching[Ye]){let{rawTileData:Le,cacheControl:xe,resourceTiming:Se}=this.fetching[Ye];delete this.fetching[Ye],ht=i.e({rawTileData:Le.slice(0)},Xe,xe,Se)}else ht=Xe;return ht}if(Ve.status===\"done\"&&Ve.vectorTile)return Ve.parse(Ve.vectorTile,this.layerIndex,this.availableImages,this.actor)})}abortTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=this.loading,Ve=Ne.uid;Ye&&Ye[Ve]&&Ye[Ve].abort&&(Ye[Ve].abort.abort(),delete Ye[Ve])})}removeTile(Ne){return i._(this,void 0,void 0,function*(){this.loaded&&this.loaded[Ne.uid]&&delete this.loaded[Ne.uid]})}}class c{constructor(){this.loaded={}}loadTile(Ne){return i._(this,void 0,void 0,function*(){let{uid:Ye,encoding:Ve,rawImageData:Xe,redFactor:ht,greenFactor:Le,blueFactor:xe,baseShift:Se}=Ne,lt=Xe.width+2,Gt=Xe.height+2,Vt=i.b(Xe)?new i.R({width:lt,height:Gt},yield i.bw(Xe,-1,-1,lt,Gt)):Xe,ar=new i.bx(Ye,Vt,Ve,ht,Le,xe,Se);return this.loaded=this.loaded||{},this.loaded[Ye]=ar,ar})}removeTile(Ne){let Ye=this.loaded,Ve=Ne.uid;Ye&&Ye[Ve]&&delete Ye[Ve]}}function f(ut,Ne){if(ut.length!==0){h(ut[0],Ne);for(var Ye=1;Ye<ut.length;Ye++)h(ut[Ye],!Ne)}}function h(ut,Ne){for(var Ye=0,Ve=0,Xe=0,ht=ut.length,Le=ht-1;Xe<ht;Le=Xe++){var xe=(ut[Xe][0]-ut[Le][0])*(ut[Le][1]+ut[Xe][1]),Se=Ye+xe;Ve+=Math.abs(Ye)>=Math.abs(xe)?Ye-Se+xe:xe-Se+Ye,Ye=Se}Ye+Ve>=0!=!!Ne&&ut.reverse()}var d=i.by(function ut(Ne,Ye){var Ve,Xe=Ne&&Ne.type;if(Xe===\"FeatureCollection\")for(Ve=0;Ve<Ne.features.length;Ve++)ut(Ne.features[Ve],Ye);else if(Xe===\"GeometryCollection\")for(Ve=0;Ve<Ne.geometries.length;Ve++)ut(Ne.geometries[Ve],Ye);else if(Xe===\"Feature\")ut(Ne.geometry,Ye);else if(Xe===\"Polygon\")f(Ne.coordinates,Ye);else if(Xe===\"MultiPolygon\")for(Ve=0;Ve<Ne.coordinates.length;Ve++)f(Ne.coordinates[Ve],Ye);return Ne});let v=i.bt.VectorTileFeature.prototype.toGeoJSON;var x={exports:{}},b=i.bz,p=i.bt.VectorTileFeature,E=k;function k(ut,Ne){this.options=Ne||{},this.features=ut,this.length=ut.length}function A(ut,Ne){this.id=typeof ut.id==\"number\"?ut.id:void 0,this.type=ut.type,this.rawGeometry=ut.type===1?[ut.geometry]:ut.geometry,this.properties=ut.tags,this.extent=Ne||4096}k.prototype.feature=function(ut){return new A(this.features[ut],this.options.extent)},A.prototype.loadGeometry=function(){var ut=this.rawGeometry;this.geometry=[];for(var Ne=0;Ne<ut.length;Ne++){for(var Ye=ut[Ne],Ve=[],Xe=0;Xe<Ye.length;Xe++)Ve.push(new b(Ye[Xe][0],Ye[Xe][1]));this.geometry.push(Ve)}return this.geometry},A.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var ut=this.geometry,Ne=1/0,Ye=-1/0,Ve=1/0,Xe=-1/0,ht=0;ht<ut.length;ht++)for(var Le=ut[ht],xe=0;xe<Le.length;xe++){var Se=Le[xe];Ne=Math.min(Ne,Se.x),Ye=Math.max(Ye,Se.x),Ve=Math.min(Ve,Se.y),Xe=Math.max(Xe,Se.y)}return[Ne,Ve,Ye,Xe]},A.prototype.toGeoJSON=p.prototype.toGeoJSON;var L=i.bA,_=E;function C(ut){var Ne=new L;return function(Ye,Ve){for(var Xe in Ye.layers)Ve.writeMessage(3,M,Ye.layers[Xe])}(ut,Ne),Ne.finish()}function M(ut,Ne){var Ye;Ne.writeVarintField(15,ut.version||1),Ne.writeStringField(1,ut.name||\"\"),Ne.writeVarintField(5,ut.extent||4096);var Ve={keys:[],values:[],keycache:{},valuecache:{}};for(Ye=0;Ye<ut.length;Ye++)Ve.feature=ut.feature(Ye),Ne.writeMessage(2,g,Ve);var Xe=Ve.keys;for(Ye=0;Ye<Xe.length;Ye++)Ne.writeStringField(3,Xe[Ye]);var ht=Ve.values;for(Ye=0;Ye<ht.length;Ye++)Ne.writeMessage(4,V,ht[Ye])}function g(ut,Ne){var Ye=ut.feature;Ye.id!==void 0&&Ne.writeVarintField(1,Ye.id),Ne.writeMessage(2,P,ut),Ne.writeVarintField(3,Ye.type),Ne.writeMessage(4,q,Ye)}function P(ut,Ne){var Ye=ut.feature,Ve=ut.keys,Xe=ut.values,ht=ut.keycache,Le=ut.valuecache;for(var xe in Ye.properties){var Se=Ye.properties[xe],lt=ht[xe];if(Se!==null){lt===void 0&&(Ve.push(xe),ht[xe]=lt=Ve.length-1),Ne.writeVarint(lt);var Gt=typeof Se;Gt!==\"string\"&&Gt!==\"boolean\"&&Gt!==\"number\"&&(Se=JSON.stringify(Se));var Vt=Gt+\":\"+Se,ar=Le[Vt];ar===void 0&&(Xe.push(Se),Le[Vt]=ar=Xe.length-1),Ne.writeVarint(ar)}}}function T(ut,Ne){return(Ne<<3)+(7&ut)}function F(ut){return ut<<1^ut>>31}function q(ut,Ne){for(var Ye=ut.loadGeometry(),Ve=ut.type,Xe=0,ht=0,Le=Ye.length,xe=0;xe<Le;xe++){var Se=Ye[xe],lt=1;Ve===1&&(lt=Se.length),Ne.writeVarint(T(1,lt));for(var Gt=Ve===3?Se.length-1:Se.length,Vt=0;Vt<Gt;Vt++){Vt===1&&Ve!==1&&Ne.writeVarint(T(2,Gt-1));var ar=Se[Vt].x-Xe,Qr=Se[Vt].y-ht;Ne.writeVarint(F(ar)),Ne.writeVarint(F(Qr)),Xe+=ar,ht+=Qr}Ve===3&&Ne.writeVarint(T(7,1))}}function V(ut,Ne){var Ye=typeof ut;Ye===\"string\"?Ne.writeStringField(1,ut):Ye===\"boolean\"?Ne.writeBooleanField(7,ut):Ye===\"number\"&&(ut%1!=0?Ne.writeDoubleField(3,ut):ut<0?Ne.writeSVarintField(6,ut):Ne.writeVarintField(5,ut))}x.exports=C,x.exports.fromVectorTileJs=C,x.exports.fromGeojsonVt=function(ut,Ne){Ne=Ne||{};var Ye={};for(var Ve in ut)Ye[Ve]=new _(ut[Ve].features,Ne),Ye[Ve].name=Ve,Ye[Ve].version=Ne.version,Ye[Ve].extent=Ne.extent;return C({layers:Ye})},x.exports.GeoJSONWrapper=_;var H=i.by(x.exports);let X={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:ut=>ut},G=Math.fround||(N=new Float32Array(1),ut=>(N[0]=+ut,N[0]));var N;let W=3,re=5,ae=6;class _e{constructor(Ne){this.options=Object.assign(Object.create(X),Ne),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(Ne){let{log:Ye,minZoom:Ve,maxZoom:Xe}=this.options;Ye&&console.time(\"total time\");let ht=`prepare ${Ne.length} points`;Ye&&console.time(ht),this.points=Ne;let Le=[];for(let Se=0;Se<Ne.length;Se++){let lt=Ne[Se];if(!lt.geometry)continue;let[Gt,Vt]=lt.geometry.coordinates,ar=G(ge(Gt)),Qr=G(ie(Vt));Le.push(ar,Qr,1/0,Se,-1,1),this.options.reduce&&Le.push(0)}let xe=this.trees[Xe+1]=this._createTree(Le);Ye&&console.timeEnd(ht);for(let Se=Xe;Se>=Ve;Se--){let lt=+Date.now();xe=this.trees[Se]=this._createTree(this._cluster(xe,Se)),Ye&&console.log(\"z%d: %d clusters in %dms\",Se,xe.numItems,+Date.now()-lt)}return Ye&&console.timeEnd(\"total time\"),this}getClusters(Ne,Ye){let Ve=((Ne[0]+180)%360+360)%360-180,Xe=Math.max(-90,Math.min(90,Ne[1])),ht=Ne[2]===180?180:((Ne[2]+180)%360+360)%360-180,Le=Math.max(-90,Math.min(90,Ne[3]));if(Ne[2]-Ne[0]>=360)Ve=-180,ht=180;else if(Ve>ht){let Vt=this.getClusters([Ve,Xe,180,Le],Ye),ar=this.getClusters([-180,Xe,ht,Le],Ye);return Vt.concat(ar)}let xe=this.trees[this._limitZoom(Ye)],Se=xe.range(ge(Ve),ie(Le),ge(ht),ie(Xe)),lt=xe.data,Gt=[];for(let Vt of Se){let ar=this.stride*Vt;Gt.push(lt[ar+re]>1?Me(lt,ar,this.clusterProps):this.points[lt[ar+W]])}return Gt}getChildren(Ne){let Ye=this._getOriginId(Ne),Ve=this._getOriginZoom(Ne),Xe=\"No cluster with the specified id.\",ht=this.trees[Ve];if(!ht)throw new Error(Xe);let Le=ht.data;if(Ye*this.stride>=Le.length)throw new Error(Xe);let xe=this.options.radius/(this.options.extent*Math.pow(2,Ve-1)),Se=ht.within(Le[Ye*this.stride],Le[Ye*this.stride+1],xe),lt=[];for(let Gt of Se){let Vt=Gt*this.stride;Le[Vt+4]===Ne&<.push(Le[Vt+re]>1?Me(Le,Vt,this.clusterProps):this.points[Le[Vt+W]])}if(lt.length===0)throw new Error(Xe);return lt}getLeaves(Ne,Ye,Ve){let Xe=[];return this._appendLeaves(Xe,Ne,Ye=Ye||10,Ve=Ve||0,0),Xe}getTile(Ne,Ye,Ve){let Xe=this.trees[this._limitZoom(Ne)],ht=Math.pow(2,Ne),{extent:Le,radius:xe}=this.options,Se=xe/Le,lt=(Ve-Se)/ht,Gt=(Ve+1+Se)/ht,Vt={features:[]};return this._addTileFeatures(Xe.range((Ye-Se)/ht,lt,(Ye+1+Se)/ht,Gt),Xe.data,Ye,Ve,ht,Vt),Ye===0&&this._addTileFeatures(Xe.range(1-Se/ht,lt,1,Gt),Xe.data,ht,Ve,ht,Vt),Ye===ht-1&&this._addTileFeatures(Xe.range(0,lt,Se/ht,Gt),Xe.data,-1,Ve,ht,Vt),Vt.features.length?Vt:null}getClusterExpansionZoom(Ne){let Ye=this._getOriginZoom(Ne)-1;for(;Ye<=this.options.maxZoom;){let Ve=this.getChildren(Ne);if(Ye++,Ve.length!==1)break;Ne=Ve[0].properties.cluster_id}return Ye}_appendLeaves(Ne,Ye,Ve,Xe,ht){let Le=this.getChildren(Ye);for(let xe of Le){let Se=xe.properties;if(Se&&Se.cluster?ht+Se.point_count<=Xe?ht+=Se.point_count:ht=this._appendLeaves(Ne,Se.cluster_id,Ve,Xe,ht):ht<Xe?ht++:Ne.push(xe),Ne.length===Ve)break}return ht}_createTree(Ne){let Ye=new i.av(Ne.length/this.stride|0,this.options.nodeSize,Float32Array);for(let Ve=0;Ve<Ne.length;Ve+=this.stride)Ye.add(Ne[Ve],Ne[Ve+1]);return Ye.finish(),Ye.data=Ne,Ye}_addTileFeatures(Ne,Ye,Ve,Xe,ht,Le){for(let xe of Ne){let Se=xe*this.stride,lt=Ye[Se+re]>1,Gt,Vt,ar;if(lt)Gt=ke(Ye,Se,this.clusterProps),Vt=Ye[Se],ar=Ye[Se+1];else{let jr=this.points[Ye[Se+W]];Gt=jr.properties;let[ri,bi]=jr.geometry.coordinates;Vt=ge(ri),ar=ie(bi)}let Qr={type:1,geometry:[[Math.round(this.options.extent*(Vt*ht-Ve)),Math.round(this.options.extent*(ar*ht-Xe))]],tags:Gt},ai;ai=lt||this.options.generateId?Ye[Se+W]:this.points[Ye[Se+W]].id,ai!==void 0&&(Qr.id=ai),Le.features.push(Qr)}}_limitZoom(Ne){return Math.max(this.options.minZoom,Math.min(Math.floor(+Ne),this.options.maxZoom+1))}_cluster(Ne,Ye){let{radius:Ve,extent:Xe,reduce:ht,minPoints:Le}=this.options,xe=Ve/(Xe*Math.pow(2,Ye)),Se=Ne.data,lt=[],Gt=this.stride;for(let Vt=0;Vt<Se.length;Vt+=Gt){if(Se[Vt+2]<=Ye)continue;Se[Vt+2]=Ye;let ar=Se[Vt],Qr=Se[Vt+1],ai=Ne.within(Se[Vt],Se[Vt+1],xe),jr=Se[Vt+re],ri=jr;for(let bi of ai){let nn=bi*Gt;Se[nn+2]>Ye&&(ri+=Se[nn+re])}if(ri>jr&&ri>=Le){let bi,nn=ar*jr,Wi=Qr*jr,Ni=-1,_n=((Vt/Gt|0)<<5)+(Ye+1)+this.points.length;for(let $i of ai){let zn=$i*Gt;if(Se[zn+2]<=Ye)continue;Se[zn+2]=Ye;let Wn=Se[zn+re];nn+=Se[zn]*Wn,Wi+=Se[zn+1]*Wn,Se[zn+4]=_n,ht&&(bi||(bi=this._map(Se,Vt,!0),Ni=this.clusterProps.length,this.clusterProps.push(bi)),ht(bi,this._map(Se,zn)))}Se[Vt+4]=_n,lt.push(nn/ri,Wi/ri,1/0,_n,-1,ri),ht&<.push(Ni)}else{for(let bi=0;bi<Gt;bi++)lt.push(Se[Vt+bi]);if(ri>1)for(let bi of ai){let nn=bi*Gt;if(!(Se[nn+2]<=Ye)){Se[nn+2]=Ye;for(let Wi=0;Wi<Gt;Wi++)lt.push(Se[nn+Wi])}}}}return lt}_getOriginId(Ne){return Ne-this.points.length>>5}_getOriginZoom(Ne){return(Ne-this.points.length)%32}_map(Ne,Ye,Ve){if(Ne[Ye+re]>1){let Le=this.clusterProps[Ne[Ye+ae]];return Ve?Object.assign({},Le):Le}let Xe=this.points[Ne[Ye+W]].properties,ht=this.options.map(Xe);return Ve&&ht===Xe?Object.assign({},ht):ht}}function Me(ut,Ne,Ye){return{type:\"Feature\",id:ut[Ne+W],properties:ke(ut,Ne,Ye),geometry:{type:\"Point\",coordinates:[(Ve=ut[Ne],360*(Ve-.5)),Te(ut[Ne+1])]}};var Ve}function ke(ut,Ne,Ye){let Ve=ut[Ne+re],Xe=Ve>=1e4?`${Math.round(Ve/1e3)}k`:Ve>=1e3?Math.round(Ve/100)/10+\"k\":Ve,ht=ut[Ne+ae],Le=ht===-1?{}:Object.assign({},Ye[ht]);return Object.assign(Le,{cluster:!0,cluster_id:ut[Ne+W],point_count:Ve,point_count_abbreviated:Xe})}function ge(ut){return ut/360+.5}function ie(ut){let Ne=Math.sin(ut*Math.PI/180),Ye=.5-.25*Math.log((1+Ne)/(1-Ne))/Math.PI;return Ye<0?0:Ye>1?1:Ye}function Te(ut){let Ne=(180-360*ut)*Math.PI/180;return 360*Math.atan(Math.exp(Ne))/Math.PI-90}function Ee(ut,Ne,Ye,Ve){let Xe=Ve,ht=Ne+(Ye-Ne>>1),Le,xe=Ye-Ne,Se=ut[Ne],lt=ut[Ne+1],Gt=ut[Ye],Vt=ut[Ye+1];for(let ar=Ne+3;ar<Ye;ar+=3){let Qr=Ae(ut[ar],ut[ar+1],Se,lt,Gt,Vt);if(Qr>Xe)Le=ar,Xe=Qr;else if(Qr===Xe){let ai=Math.abs(ar-ht);ai<xe&&(Le=ar,xe=ai)}}Xe>Ve&&(Le-Ne>3&&Ee(ut,Ne,Le,Ve),ut[Le+2]=Xe,Ye-Le>3&&Ee(ut,Le,Ye,Ve))}function Ae(ut,Ne,Ye,Ve,Xe,ht){let Le=Xe-Ye,xe=ht-Ve;if(Le!==0||xe!==0){let Se=((ut-Ye)*Le+(Ne-Ve)*xe)/(Le*Le+xe*xe);Se>1?(Ye=Xe,Ve=ht):Se>0&&(Ye+=Le*Se,Ve+=xe*Se)}return Le=ut-Ye,xe=Ne-Ve,Le*Le+xe*xe}function ze(ut,Ne,Ye,Ve){let Xe={id:ut==null?null:ut,type:Ne,geometry:Ye,tags:Ve,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(Ne===\"Point\"||Ne===\"MultiPoint\"||Ne===\"LineString\")Ce(Xe,Ye);else if(Ne===\"Polygon\")Ce(Xe,Ye[0]);else if(Ne===\"MultiLineString\")for(let ht of Ye)Ce(Xe,ht);else if(Ne===\"MultiPolygon\")for(let ht of Ye)Ce(Xe,ht[0]);return Xe}function Ce(ut,Ne){for(let Ye=0;Ye<Ne.length;Ye+=3)ut.minX=Math.min(ut.minX,Ne[Ye]),ut.minY=Math.min(ut.minY,Ne[Ye+1]),ut.maxX=Math.max(ut.maxX,Ne[Ye]),ut.maxY=Math.max(ut.maxY,Ne[Ye+1])}function me(ut,Ne,Ye,Ve){if(!Ne.geometry)return;let Xe=Ne.geometry.coordinates;if(Xe&&Xe.length===0)return;let ht=Ne.geometry.type,Le=Math.pow(Ye.tolerance/((1<<Ye.maxZoom)*Ye.extent),2),xe=[],Se=Ne.id;if(Ye.promoteId?Se=Ne.properties[Ye.promoteId]:Ye.generateId&&(Se=Ve||0),ht===\"Point\")Re(Xe,xe);else if(ht===\"MultiPoint\")for(let lt of Xe)Re(lt,xe);else if(ht===\"LineString\")ce(Xe,xe,Le,!1);else if(ht===\"MultiLineString\"){if(Ye.lineMetrics){for(let lt of Xe)xe=[],ce(lt,xe,Le,!1),ut.push(ze(Se,\"LineString\",xe,Ne.properties));return}Ge(Xe,xe,Le,!1)}else if(ht===\"Polygon\")Ge(Xe,xe,Le,!0);else{if(ht!==\"MultiPolygon\"){if(ht===\"GeometryCollection\"){for(let lt of Ne.geometry.geometries)me(ut,{id:Se,geometry:lt,properties:Ne.properties},Ye,Ve);return}throw new Error(\"Input data is not a valid GeoJSON object.\")}for(let lt of Xe){let Gt=[];Ge(lt,Gt,Le,!0),xe.push(Gt)}}ut.push(ze(Se,ht,xe,Ne.properties))}function Re(ut,Ne){Ne.push(nt(ut[0]),ct(ut[1]),0)}function ce(ut,Ne,Ye,Ve){let Xe,ht,Le=0;for(let Se=0;Se<ut.length;Se++){let lt=nt(ut[Se][0]),Gt=ct(ut[Se][1]);Ne.push(lt,Gt,0),Se>0&&(Le+=Ve?(Xe*Gt-lt*ht)/2:Math.sqrt(Math.pow(lt-Xe,2)+Math.pow(Gt-ht,2))),Xe=lt,ht=Gt}let xe=Ne.length-3;Ne[2]=1,Ee(Ne,0,xe,Ye),Ne[xe+2]=1,Ne.size=Math.abs(Le),Ne.start=0,Ne.end=Ne.size}function Ge(ut,Ne,Ye,Ve){for(let Xe=0;Xe<ut.length;Xe++){let ht=[];ce(ut[Xe],ht,Ye,Ve),Ne.push(ht)}}function nt(ut){return ut/360+.5}function ct(ut){let Ne=Math.sin(ut*Math.PI/180),Ye=.5-.25*Math.log((1+Ne)/(1-Ne))/Math.PI;return Ye<0?0:Ye>1?1:Ye}function qt(ut,Ne,Ye,Ve,Xe,ht,Le,xe){if(Ve/=Ne,ht>=(Ye/=Ne)&&Le<Ve)return ut;if(Le<Ye||ht>=Ve)return null;let Se=[];for(let lt of ut){let Gt=lt.geometry,Vt=lt.type,ar=Xe===0?lt.minX:lt.minY,Qr=Xe===0?lt.maxX:lt.maxY;if(ar>=Ye&&Qr<Ve){Se.push(lt);continue}if(Qr<Ye||ar>=Ve)continue;let ai=[];if(Vt===\"Point\"||Vt===\"MultiPoint\")rt(Gt,ai,Ye,Ve,Xe);else if(Vt===\"LineString\")ot(Gt,ai,Ye,Ve,Xe,!1,xe.lineMetrics);else if(Vt===\"MultiLineString\")kt(Gt,ai,Ye,Ve,Xe,!1);else if(Vt===\"Polygon\")kt(Gt,ai,Ye,Ve,Xe,!0);else if(Vt===\"MultiPolygon\")for(let jr of Gt){let ri=[];kt(jr,ri,Ye,Ve,Xe,!0),ri.length&&ai.push(ri)}if(ai.length){if(xe.lineMetrics&&Vt===\"LineString\"){for(let jr of ai)Se.push(ze(lt.id,Vt,jr,lt.tags));continue}Vt!==\"LineString\"&&Vt!==\"MultiLineString\"||(ai.length===1?(Vt=\"LineString\",ai=ai[0]):Vt=\"MultiLineString\"),Vt!==\"Point\"&&Vt!==\"MultiPoint\"||(Vt=ai.length===3?\"Point\":\"MultiPoint\"),Se.push(ze(lt.id,Vt,ai,lt.tags))}}return Se.length?Se:null}function rt(ut,Ne,Ye,Ve,Xe){for(let ht=0;ht<ut.length;ht+=3){let Le=ut[ht+Xe];Le>=Ye&&Le<=Ve&&Ct(Ne,ut[ht],ut[ht+1],ut[ht+2])}}function ot(ut,Ne,Ye,Ve,Xe,ht,Le){let xe=Rt(ut),Se=Xe===0?Yt:xr,lt,Gt,Vt=ut.start;for(let ri=0;ri<ut.length-3;ri+=3){let bi=ut[ri],nn=ut[ri+1],Wi=ut[ri+2],Ni=ut[ri+3],_n=ut[ri+4],$i=Xe===0?bi:nn,zn=Xe===0?Ni:_n,Wn=!1;Le&&(lt=Math.sqrt(Math.pow(bi-Ni,2)+Math.pow(nn-_n,2))),$i<Ye?zn>Ye&&(Gt=Se(xe,bi,nn,Ni,_n,Ye),Le&&(xe.start=Vt+lt*Gt)):$i>Ve?zn<Ve&&(Gt=Se(xe,bi,nn,Ni,_n,Ve),Le&&(xe.start=Vt+lt*Gt)):Ct(xe,bi,nn,Wi),zn<Ye&&$i>=Ye&&(Gt=Se(xe,bi,nn,Ni,_n,Ye),Wn=!0),zn>Ve&&$i<=Ve&&(Gt=Se(xe,bi,nn,Ni,_n,Ve),Wn=!0),!ht&&Wn&&(Le&&(xe.end=Vt+lt*Gt),Ne.push(xe),xe=Rt(ut)),Le&&(Vt+=lt)}let ar=ut.length-3,Qr=ut[ar],ai=ut[ar+1],jr=Xe===0?Qr:ai;jr>=Ye&&jr<=Ve&&Ct(xe,Qr,ai,ut[ar+2]),ar=xe.length-3,ht&&ar>=3&&(xe[ar]!==xe[0]||xe[ar+1]!==xe[1])&&Ct(xe,xe[0],xe[1],xe[2]),xe.length&&Ne.push(xe)}function Rt(ut){let Ne=[];return Ne.size=ut.size,Ne.start=ut.start,Ne.end=ut.end,Ne}function kt(ut,Ne,Ye,Ve,Xe,ht){for(let Le of ut)ot(Le,Ne,Ye,Ve,Xe,ht,!1)}function Ct(ut,Ne,Ye,Ve){ut.push(Ne,Ye,Ve)}function Yt(ut,Ne,Ye,Ve,Xe,ht){let Le=(ht-Ne)/(Ve-Ne);return Ct(ut,ht,Ye+(Xe-Ye)*Le,1),Le}function xr(ut,Ne,Ye,Ve,Xe,ht){let Le=(ht-Ye)/(Xe-Ye);return Ct(ut,Ne+(Ve-Ne)*Le,ht,1),Le}function er(ut,Ne){let Ye=[];for(let Ve=0;Ve<ut.length;Ve++){let Xe=ut[Ve],ht=Xe.type,Le;if(ht===\"Point\"||ht===\"MultiPoint\"||ht===\"LineString\")Le=Ke(Xe.geometry,Ne);else if(ht===\"MultiLineString\"||ht===\"Polygon\"){Le=[];for(let xe of Xe.geometry)Le.push(Ke(xe,Ne))}else if(ht===\"MultiPolygon\"){Le=[];for(let xe of Xe.geometry){let Se=[];for(let lt of xe)Se.push(Ke(lt,Ne));Le.push(Se)}}Ye.push(ze(Xe.id,ht,Le,Xe.tags))}return Ye}function Ke(ut,Ne){let Ye=[];Ye.size=ut.size,ut.start!==void 0&&(Ye.start=ut.start,Ye.end=ut.end);for(let Ve=0;Ve<ut.length;Ve+=3)Ye.push(ut[Ve]+Ne,ut[Ve+1],ut[Ve+2]);return Ye}function xt(ut,Ne){if(ut.transformed)return ut;let Ye=1<<ut.z,Ve=ut.x,Xe=ut.y;for(let ht of ut.features){let Le=ht.geometry,xe=ht.type;if(ht.geometry=[],xe===1)for(let Se=0;Se<Le.length;Se+=2)ht.geometry.push(bt(Le[Se],Le[Se+1],Ne,Ye,Ve,Xe));else for(let Se=0;Se<Le.length;Se++){let lt=[];for(let Gt=0;Gt<Le[Se].length;Gt+=2)lt.push(bt(Le[Se][Gt],Le[Se][Gt+1],Ne,Ye,Ve,Xe));ht.geometry.push(lt)}}return ut.transformed=!0,ut}function bt(ut,Ne,Ye,Ve,Xe,ht){return[Math.round(Ye*(ut*Ve-Xe)),Math.round(Ye*(Ne*Ve-ht))]}function Lt(ut,Ne,Ye,Ve,Xe){let ht=Ne===Xe.maxZoom?0:Xe.tolerance/((1<<Ne)*Xe.extent),Le={features:[],numPoints:0,numSimplified:0,numFeatures:ut.length,source:null,x:Ye,y:Ve,z:Ne,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0};for(let xe of ut)St(Le,xe,ht,Xe);return Le}function St(ut,Ne,Ye,Ve){let Xe=Ne.geometry,ht=Ne.type,Le=[];if(ut.minX=Math.min(ut.minX,Ne.minX),ut.minY=Math.min(ut.minY,Ne.minY),ut.maxX=Math.max(ut.maxX,Ne.maxX),ut.maxY=Math.max(ut.maxY,Ne.maxY),ht===\"Point\"||ht===\"MultiPoint\")for(let xe=0;xe<Xe.length;xe+=3)Le.push(Xe[xe],Xe[xe+1]),ut.numPoints++,ut.numSimplified++;else if(ht===\"LineString\")Et(Le,Xe,ut,Ye,!1,!1);else if(ht===\"MultiLineString\"||ht===\"Polygon\")for(let xe=0;xe<Xe.length;xe++)Et(Le,Xe[xe],ut,Ye,ht===\"Polygon\",xe===0);else if(ht===\"MultiPolygon\")for(let xe=0;xe<Xe.length;xe++){let Se=Xe[xe];for(let lt=0;lt<Se.length;lt++)Et(Le,Se[lt],ut,Ye,!0,lt===0)}if(Le.length){let xe=Ne.tags||null;if(ht===\"LineString\"&&Ve.lineMetrics){xe={};for(let lt in Ne.tags)xe[lt]=Ne.tags[lt];xe.mapbox_clip_start=Xe.start/Xe.size,xe.mapbox_clip_end=Xe.end/Xe.size}let Se={geometry:Le,type:ht===\"Polygon\"||ht===\"MultiPolygon\"?3:ht===\"LineString\"||ht===\"MultiLineString\"?2:1,tags:xe};Ne.id!==null&&(Se.id=Ne.id),ut.features.push(Se)}}function Et(ut,Ne,Ye,Ve,Xe,ht){let Le=Ve*Ve;if(Ve>0&&Ne.size<(Xe?Le:Ve))return void(Ye.numPoints+=Ne.length/3);let xe=[];for(let Se=0;Se<Ne.length;Se+=3)(Ve===0||Ne[Se+2]>Le)&&(Ye.numSimplified++,xe.push(Ne[Se],Ne[Se+1])),Ye.numPoints++;Xe&&function(Se,lt){let Gt=0;for(let Vt=0,ar=Se.length,Qr=ar-2;Vt<ar;Qr=Vt,Vt+=2)Gt+=(Se[Vt]-Se[Qr])*(Se[Vt+1]+Se[Qr+1]);if(Gt>0===lt)for(let Vt=0,ar=Se.length;Vt<ar/2;Vt+=2){let Qr=Se[Vt],ai=Se[Vt+1];Se[Vt]=Se[ar-2-Vt],Se[Vt+1]=Se[ar-1-Vt],Se[ar-2-Vt]=Qr,Se[ar-1-Vt]=ai}}(xe,ht),ut.push(xe)}let dt={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0};class Ht{constructor(Ne,Ye){let Ve=(Ye=this.options=function(ht,Le){for(let xe in Le)ht[xe]=Le[xe];return ht}(Object.create(dt),Ye)).debug;if(Ve&&console.time(\"preprocess data\"),Ye.maxZoom<0||Ye.maxZoom>24)throw new Error(\"maxZoom should be in the 0-24 range\");if(Ye.promoteId&&Ye.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");let Xe=function(ht,Le){let xe=[];if(ht.type===\"FeatureCollection\")for(let Se=0;Se<ht.features.length;Se++)me(xe,ht.features[Se],Le,Se);else me(xe,ht.type===\"Feature\"?ht:{geometry:ht},Le);return xe}(Ne,Ye);this.tiles={},this.tileCoords=[],Ve&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",Ye.indexMaxZoom,Ye.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),Xe=function(ht,Le){let xe=Le.buffer/Le.extent,Se=ht,lt=qt(ht,1,-1-xe,xe,0,-1,2,Le),Gt=qt(ht,1,1-xe,2+xe,0,-1,2,Le);return(lt||Gt)&&(Se=qt(ht,1,-xe,1+xe,0,-1,2,Le)||[],lt&&(Se=er(lt,1).concat(Se)),Gt&&(Se=Se.concat(er(Gt,-1)))),Se}(Xe,Ye),Xe.length&&this.splitTile(Xe,0,0,0),Ve&&(Xe.length&&console.log(\"features: %d, points: %d\",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(\"generate tiles\"),console.log(\"tiles generated:\",this.total,JSON.stringify(this.stats)))}splitTile(Ne,Ye,Ve,Xe,ht,Le,xe){let Se=[Ne,Ye,Ve,Xe],lt=this.options,Gt=lt.debug;for(;Se.length;){Xe=Se.pop(),Ve=Se.pop(),Ye=Se.pop(),Ne=Se.pop();let Vt=1<<Ye,ar=$t(Ye,Ve,Xe),Qr=this.tiles[ar];if(!Qr&&(Gt>1&&console.time(\"creation\"),Qr=this.tiles[ar]=Lt(Ne,Ye,Ve,Xe,lt),this.tileCoords.push({z:Ye,x:Ve,y:Xe}),Gt)){Gt>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",Ye,Ve,Xe,Qr.numFeatures,Qr.numPoints,Qr.numSimplified),console.timeEnd(\"creation\"));let Wn=`z${Ye}`;this.stats[Wn]=(this.stats[Wn]||0)+1,this.total++}if(Qr.source=Ne,ht==null){if(Ye===lt.indexMaxZoom||Qr.numPoints<=lt.indexMaxPoints)continue}else{if(Ye===lt.maxZoom||Ye===ht)continue;if(ht!=null){let Wn=ht-Ye;if(Ve!==Le>>Wn||Xe!==xe>>Wn)continue}}if(Qr.source=null,Ne.length===0)continue;Gt>1&&console.time(\"clipping\");let ai=.5*lt.buffer/lt.extent,jr=.5-ai,ri=.5+ai,bi=1+ai,nn=null,Wi=null,Ni=null,_n=null,$i=qt(Ne,Vt,Ve-ai,Ve+ri,0,Qr.minX,Qr.maxX,lt),zn=qt(Ne,Vt,Ve+jr,Ve+bi,0,Qr.minX,Qr.maxX,lt);Ne=null,$i&&(nn=qt($i,Vt,Xe-ai,Xe+ri,1,Qr.minY,Qr.maxY,lt),Wi=qt($i,Vt,Xe+jr,Xe+bi,1,Qr.minY,Qr.maxY,lt),$i=null),zn&&(Ni=qt(zn,Vt,Xe-ai,Xe+ri,1,Qr.minY,Qr.maxY,lt),_n=qt(zn,Vt,Xe+jr,Xe+bi,1,Qr.minY,Qr.maxY,lt),zn=null),Gt>1&&console.timeEnd(\"clipping\"),Se.push(nn||[],Ye+1,2*Ve,2*Xe),Se.push(Wi||[],Ye+1,2*Ve,2*Xe+1),Se.push(Ni||[],Ye+1,2*Ve+1,2*Xe),Se.push(_n||[],Ye+1,2*Ve+1,2*Xe+1)}}getTile(Ne,Ye,Ve){Ne=+Ne,Ye=+Ye,Ve=+Ve;let Xe=this.options,{extent:ht,debug:Le}=Xe;if(Ne<0||Ne>24)return null;let xe=1<<Ne,Se=$t(Ne,Ye=Ye+xe&xe-1,Ve);if(this.tiles[Se])return xt(this.tiles[Se],ht);Le>1&&console.log(\"drilling down to z%d-%d-%d\",Ne,Ye,Ve);let lt,Gt=Ne,Vt=Ye,ar=Ve;for(;!lt&&Gt>0;)Gt--,Vt>>=1,ar>>=1,lt=this.tiles[$t(Gt,Vt,ar)];return lt&<.source?(Le>1&&(console.log(\"found parent tile z%d-%d-%d\",Gt,Vt,ar),console.time(\"drilling down\")),this.splitTile(lt.source,Gt,Vt,ar,Ne,Ye,Ve),Le>1&&console.timeEnd(\"drilling down\"),this.tiles[Se]?xt(this.tiles[Se],ht):null):null}}function $t(ut,Ne,Ye){return 32*((1<<ut)*Ye+Ne)+ut}function fr(ut,Ne){return Ne?ut.properties[Ne]:ut.id}function _r(ut,Ne){if(ut==null)return!0;if(ut.type===\"Feature\")return fr(ut,Ne)!=null;if(ut.type===\"FeatureCollection\"){let Ye=new Set;for(let Ve of ut.features){let Xe=fr(Ve,Ne);if(Xe==null||Ye.has(Xe))return!1;Ye.add(Xe)}return!0}return!1}function Br(ut,Ne){let Ye=new Map;if(ut!=null)if(ut.type===\"Feature\")Ye.set(fr(ut,Ne),ut);else for(let Ve of ut.features)Ye.set(fr(Ve,Ne),Ve);return Ye}class Or extends u{constructor(){super(...arguments),this._dataUpdateable=new Map}loadVectorTile(Ne,Ye){return i._(this,void 0,void 0,function*(){let Ve=Ne.tileID.canonical;if(!this._geoJSONIndex)throw new Error(\"Unable to parse the data into a cluster or geojson\");let Xe=this._geoJSONIndex.getTile(Ve.z,Ve.x,Ve.y);if(!Xe)return null;let ht=new class{constructor(xe){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=i.X,this.length=xe.length,this._features=xe}feature(xe){return new class{constructor(Se){this._feature=Se,this.extent=i.X,this.type=Se.type,this.properties=Se.tags,\"id\"in Se&&!isNaN(Se.id)&&(this.id=parseInt(Se.id,10))}loadGeometry(){if(this._feature.type===1){let Se=[];for(let lt of this._feature.geometry)Se.push([new i.P(lt[0],lt[1])]);return Se}{let Se=[];for(let lt of this._feature.geometry){let Gt=[];for(let Vt of lt)Gt.push(new i.P(Vt[0],Vt[1]));Se.push(Gt)}return Se}}toGeoJSON(Se,lt,Gt){return v.call(this,Se,lt,Gt)}}(this._features[xe])}}(Xe.features),Le=H(ht);return Le.byteOffset===0&&Le.byteLength===Le.buffer.byteLength||(Le=new Uint8Array(Le)),{vectorTile:ht,rawData:Le.buffer}})}loadData(Ne){return i._(this,void 0,void 0,function*(){var Ye;(Ye=this._pendingRequest)===null||Ye===void 0||Ye.abort();let Ve=!!(Ne&&Ne.request&&Ne.request.collectResourceTiming)&&new i.bv(Ne.request);this._pendingRequest=new AbortController;try{this._pendingData=this.loadAndProcessGeoJSON(Ne,this._pendingRequest),this._geoJSONIndex=Ne.cluster?new _e(function({superclusterOptions:Le,clusterProperties:xe}){if(!xe||!Le)return Le;let Se={},lt={},Gt={accumulated:null,zoom:0},Vt={properties:null},ar=Object.keys(xe);for(let Qr of ar){let[ai,jr]=xe[Qr],ri=i.bC(jr),bi=i.bC(typeof ai==\"string\"?[ai,[\"accumulated\"],[\"get\",Qr]]:ai);Se[Qr]=ri.value,lt[Qr]=bi.value}return Le.map=Qr=>{Vt.properties=Qr;let ai={};for(let jr of ar)ai[jr]=Se[jr].evaluate(Gt,Vt);return ai},Le.reduce=(Qr,ai)=>{Vt.properties=ai;for(let jr of ar)Gt.accumulated=Qr[jr],Qr[jr]=lt[jr].evaluate(Gt,Vt)},Le}(Ne)).load((yield this._pendingData).features):(Xe=yield this._pendingData,new Ht(Xe,Ne.geojsonVtOptions)),this.loaded={};let ht={};if(Ve){let Le=Ve.finish();Le&&(ht.resourceTiming={},ht.resourceTiming[Ne.source]=JSON.parse(JSON.stringify(Le)))}return ht}catch(ht){if(delete this._pendingRequest,i.bB(ht))return{abandoned:!0};throw ht}var Xe})}getData(){return i._(this,void 0,void 0,function*(){return this._pendingData})}reloadTile(Ne){let Ye=this.loaded;return Ye&&Ye[Ne.uid]?super.reloadTile(Ne):this.loadTile(Ne)}loadAndProcessGeoJSON(Ne,Ye){return i._(this,void 0,void 0,function*(){let Ve=yield this.loadGeoJSON(Ne,Ye);if(delete this._pendingRequest,typeof Ve!=\"object\")throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`);if(d(Ve,!0),Ne.filter){let Xe=i.bC(Ne.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(Xe.result===\"error\")throw new Error(Xe.value.map(Le=>`${Le.key}: ${Le.message}`).join(\", \"));Ve={type:\"FeatureCollection\",features:Ve.features.filter(Le=>Xe.value.evaluate({zoom:0},Le))}}return Ve})}loadGeoJSON(Ne,Ye){return i._(this,void 0,void 0,function*(){let{promoteId:Ve}=Ne;if(Ne.request){let Xe=yield i.h(Ne.request,Ye);return this._dataUpdateable=_r(Xe.data,Ve)?Br(Xe.data,Ve):void 0,Xe.data}if(typeof Ne.data==\"string\")try{let Xe=JSON.parse(Ne.data);return this._dataUpdateable=_r(Xe,Ve)?Br(Xe,Ve):void 0,Xe}catch(Xe){throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`)}if(!Ne.dataDiff)throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${Ne.source}`);return function(Xe,ht,Le){var xe,Se,lt,Gt;if(ht.removeAll&&Xe.clear(),ht.remove)for(let Vt of ht.remove)Xe.delete(Vt);if(ht.add)for(let Vt of ht.add){let ar=fr(Vt,Le);ar!=null&&Xe.set(ar,Vt)}if(ht.update)for(let Vt of ht.update){let ar=Xe.get(Vt.id);if(ar==null)continue;let Qr=!Vt.removeAllProperties&&(((xe=Vt.removeProperties)===null||xe===void 0?void 0:xe.length)>0||((Se=Vt.addOrUpdateProperties)===null||Se===void 0?void 0:Se.length)>0);if((Vt.newGeometry||Vt.removeAllProperties||Qr)&&(ar=Object.assign({},ar),Xe.set(Vt.id,ar),Qr&&(ar.properties=Object.assign({},ar.properties))),Vt.newGeometry&&(ar.geometry=Vt.newGeometry),Vt.removeAllProperties)ar.properties={};else if(((lt=Vt.removeProperties)===null||lt===void 0?void 0:lt.length)>0)for(let ai of Vt.removeProperties)Object.prototype.hasOwnProperty.call(ar.properties,ai)&&delete ar.properties[ai];if(((Gt=Vt.addOrUpdateProperties)===null||Gt===void 0?void 0:Gt.length)>0)for(let{key:ai,value:jr}of Vt.addOrUpdateProperties)ar.properties[ai]=jr}}(this._dataUpdateable,Ne.dataDiff,Ve),{type:\"FeatureCollection\",features:Array.from(this._dataUpdateable.values())}})}removeSource(Ne){return i._(this,void 0,void 0,function*(){this._pendingRequest&&this._pendingRequest.abort()})}getClusterExpansionZoom(Ne){return this._geoJSONIndex.getClusterExpansionZoom(Ne.clusterId)}getClusterChildren(Ne){return this._geoJSONIndex.getChildren(Ne.clusterId)}getClusterLeaves(Ne){return this._geoJSONIndex.getLeaves(Ne.clusterId,Ne.limit,Ne.offset)}}class Nr{constructor(Ne){this.self=Ne,this.actor=new i.F(Ne),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(Ye,Ve)=>{if(this.externalWorkerSourceTypes[Ye])throw new Error(`Worker source with name \"${Ye}\" already registered.`);this.externalWorkerSourceTypes[Ye]=Ve},this.self.addProtocol=i.bi,this.self.removeProtocol=i.bj,this.self.registerRTLTextPlugin=Ye=>{if(i.bD.isParsed())throw new Error(\"RTL text plugin already registered.\");i.bD.setMethods(Ye)},this.actor.registerMessageHandler(\"LDT\",(Ye,Ve)=>this._getDEMWorkerSource(Ye,Ve.source).loadTile(Ve)),this.actor.registerMessageHandler(\"RDT\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getDEMWorkerSource(Ye,Ve.source).removeTile(Ve)})),this.actor.registerMessageHandler(\"GCEZ\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterExpansionZoom(Ve)})),this.actor.registerMessageHandler(\"GCC\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterChildren(Ve)})),this.actor.registerMessageHandler(\"GCL\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterLeaves(Ve)})),this.actor.registerMessageHandler(\"LD\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).loadData(Ve)),this.actor.registerMessageHandler(\"GD\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).getData()),this.actor.registerMessageHandler(\"LT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).loadTile(Ve)),this.actor.registerMessageHandler(\"RT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).reloadTile(Ve)),this.actor.registerMessageHandler(\"AT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).abortTile(Ve)),this.actor.registerMessageHandler(\"RMT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).removeTile(Ve)),this.actor.registerMessageHandler(\"RS\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){if(!this.workerSources[Ye]||!this.workerSources[Ye][Ve.type]||!this.workerSources[Ye][Ve.type][Ve.source])return;let Xe=this.workerSources[Ye][Ve.type][Ve.source];delete this.workerSources[Ye][Ve.type][Ve.source],Xe.removeSource!==void 0&&Xe.removeSource(Ve)})),this.actor.registerMessageHandler(\"RM\",Ye=>i._(this,void 0,void 0,function*(){delete this.layerIndexes[Ye],delete this.availableImages[Ye],delete this.workerSources[Ye],delete this.demWorkerSources[Ye]})),this.actor.registerMessageHandler(\"SR\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this.referrer=Ve})),this.actor.registerMessageHandler(\"SRPS\",(Ye,Ve)=>this._syncRTLPluginState(Ye,Ve)),this.actor.registerMessageHandler(\"IS\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this.self.importScripts(Ve)})),this.actor.registerMessageHandler(\"SI\",(Ye,Ve)=>this._setImages(Ye,Ve)),this.actor.registerMessageHandler(\"UL\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getLayerIndex(Ye).update(Ve.layers,Ve.removedIds)})),this.actor.registerMessageHandler(\"SL\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getLayerIndex(Ye).replace(Ve)}))}_setImages(Ne,Ye){return i._(this,void 0,void 0,function*(){this.availableImages[Ne]=Ye;for(let Ve in this.workerSources[Ne]){let Xe=this.workerSources[Ne][Ve];for(let ht in Xe)Xe[ht].availableImages=Ye}})}_syncRTLPluginState(Ne,Ye){return i._(this,void 0,void 0,function*(){if(i.bD.isParsed())return i.bD.getState();if(Ye.pluginStatus!==\"loading\")return i.bD.setState(Ye),Ye;let Ve=Ye.pluginURL;if(this.self.importScripts(Ve),i.bD.isParsed()){let Xe={pluginStatus:\"loaded\",pluginURL:Ve};return i.bD.setState(Xe),Xe}throw i.bD.setState({pluginStatus:\"error\",pluginURL:\"\"}),new Error(`RTL Text Plugin failed to import scripts from ${Ve}`)})}_getAvailableImages(Ne){let Ye=this.availableImages[Ne];return Ye||(Ye=[]),Ye}_getLayerIndex(Ne){let Ye=this.layerIndexes[Ne];return Ye||(Ye=this.layerIndexes[Ne]=new a),Ye}_getWorkerSource(Ne,Ye,Ve){if(this.workerSources[Ne]||(this.workerSources[Ne]={}),this.workerSources[Ne][Ye]||(this.workerSources[Ne][Ye]={}),!this.workerSources[Ne][Ye][Ve]){let Xe={sendAsync:(ht,Le)=>(ht.targetMapId=Ne,this.actor.sendAsync(ht,Le))};switch(Ye){case\"vector\":this.workerSources[Ne][Ye][Ve]=new u(Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne));break;case\"geojson\":this.workerSources[Ne][Ye][Ve]=new Or(Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne));break;default:this.workerSources[Ne][Ye][Ve]=new this.externalWorkerSourceTypes[Ye](Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne))}}return this.workerSources[Ne][Ye][Ve]}_getDEMWorkerSource(Ne,Ye){return this.demWorkerSources[Ne]||(this.demWorkerSources[Ne]={}),this.demWorkerSources[Ne][Ye]||(this.demWorkerSources[Ne][Ye]=new c),this.demWorkerSources[Ne][Ye]}}return i.i(self)&&(self.worker=new Nr(self)),Nr}),r(\"index\",[\"exports\",\"./shared\"],function(i,a){\"use strict\";var o=\"4.7.1\";let s,l,u={now:typeof performance!=\"undefined\"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:le=>new Promise((w,B)=>{let Q=requestAnimationFrame(w);le.signal.addEventListener(\"abort\",()=>{cancelAnimationFrame(Q),B(a.c())})}),getImageData(le,w=0){return this.getImageCanvasContext(le).getImageData(-w,-w,le.width+2*w,le.height+2*w)},getImageCanvasContext(le){let w=window.document.createElement(\"canvas\"),B=w.getContext(\"2d\",{willReadFrequently:!0});if(!B)throw new Error(\"failed to create canvas 2d context\");return w.width=le.width,w.height=le.height,B.drawImage(le,0,0,le.width,le.height),B},resolveURL:le=>(s||(s=document.createElement(\"a\")),s.href=le,s.href),hardwareConcurrency:typeof navigator!=\"undefined\"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(l==null&&(l=matchMedia(\"(prefers-reduced-motion: reduce)\")),l.matches)}};class c{static testProp(w){if(!c.docStyle)return w[0];for(let B=0;B<w.length;B++)if(w[B]in c.docStyle)return w[B];return w[0]}static create(w,B,Q){let ee=window.document.createElement(w);return B!==void 0&&(ee.className=B),Q&&Q.appendChild(ee),ee}static createNS(w,B){return window.document.createElementNS(w,B)}static disableDrag(){c.docStyle&&c.selectProp&&(c.userSelect=c.docStyle[c.selectProp],c.docStyle[c.selectProp]=\"none\")}static enableDrag(){c.docStyle&&c.selectProp&&(c.docStyle[c.selectProp]=c.userSelect)}static setTransform(w,B){w.style[c.transformProp]=B}static addEventListener(w,B,Q,ee={}){w.addEventListener(B,Q,\"passive\"in ee?ee:ee.capture)}static removeEventListener(w,B,Q,ee={}){w.removeEventListener(B,Q,\"passive\"in ee?ee:ee.capture)}static suppressClickInternal(w){w.preventDefault(),w.stopPropagation(),window.removeEventListener(\"click\",c.suppressClickInternal,!0)}static suppressClick(){window.addEventListener(\"click\",c.suppressClickInternal,!0),window.setTimeout(()=>{window.removeEventListener(\"click\",c.suppressClickInternal,!0)},0)}static getScale(w){let B=w.getBoundingClientRect();return{x:B.width/w.offsetWidth||1,y:B.height/w.offsetHeight||1,boundingClientRect:B}}static getPoint(w,B,Q){let ee=B.boundingClientRect;return new a.P((Q.clientX-ee.left)/B.x-w.clientLeft,(Q.clientY-ee.top)/B.y-w.clientTop)}static mousePos(w,B){let Q=c.getScale(w);return c.getPoint(w,Q,B)}static touchPos(w,B){let Q=[],ee=c.getScale(w);for(let se=0;se<B.length;se++)Q.push(c.getPoint(w,ee,B[se]));return Q}static mouseButton(w){return w.button}static remove(w){w.parentNode&&w.parentNode.removeChild(w)}}c.docStyle=typeof window!=\"undefined\"&&window.document&&window.document.documentElement.style,c.selectProp=c.testProp([\"userSelect\",\"MozUserSelect\",\"WebkitUserSelect\",\"msUserSelect\"]),c.transformProp=c.testProp([\"transform\",\"WebkitTransform\"]);let f={supported:!1,testSupport:function(le){!v&&d&&(x?b(le):h=le)}},h,d,v=!1,x=!1;function b(le){let w=le.createTexture();le.bindTexture(le.TEXTURE_2D,w);try{if(le.texImage2D(le.TEXTURE_2D,0,le.RGBA,le.RGBA,le.UNSIGNED_BYTE,d),le.isContextLost())return;f.supported=!0}catch(B){}le.deleteTexture(w),v=!0}var p;typeof document!=\"undefined\"&&(d=document.createElement(\"img\"),d.onload=()=>{h&&b(h),h=null,x=!0},d.onerror=()=>{v=!0,h=null},d.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\"),function(le){let w,B,Q,ee;le.resetRequestQueue=()=>{w=[],B=0,Q=0,ee={}},le.addThrottleControl=it=>{let yt=Q++;return ee[yt]=it,yt},le.removeThrottleControl=it=>{delete ee[it],qe()},le.getImage=(it,yt,Ot=!0)=>new Promise((Nt,hr)=>{f.supported&&(it.headers||(it.headers={}),it.headers.accept=\"image/webp,*/*\"),a.e(it,{type:\"image\"}),w.push({abortController:yt,requestParameters:it,supportImageRefresh:Ot,state:\"queued\",onError:Sr=>{hr(Sr)},onSuccess:Sr=>{Nt(Sr)}}),qe()});let se=it=>a._(this,void 0,void 0,function*(){it.state=\"running\";let{requestParameters:yt,supportImageRefresh:Ot,onError:Nt,onSuccess:hr,abortController:Sr}=it,he=Ot===!1&&!a.i(self)&&!a.g(yt.url)&&(!yt.headers||Object.keys(yt.headers).reduce((Oe,Je)=>Oe&&Je===\"accept\",!0));B++;let be=he?je(yt,Sr):a.m(yt,Sr);try{let Oe=yield be;delete it.abortController,it.state=\"completed\",Oe.data instanceof HTMLImageElement||a.b(Oe.data)?hr(Oe):Oe.data&&hr({data:yield(Pe=Oe.data,typeof createImageBitmap==\"function\"?a.d(Pe):a.f(Pe)),cacheControl:Oe.cacheControl,expires:Oe.expires})}catch(Oe){delete it.abortController,Nt(Oe)}finally{B--,qe()}var Pe}),qe=()=>{let it=(()=>{for(let yt of Object.keys(ee))if(ee[yt]())return!0;return!1})()?a.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:a.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let yt=B;yt<it&&w.length>0;yt++){let Ot=w.shift();Ot.abortController.signal.aborted?yt--:se(Ot)}},je=(it,yt)=>new Promise((Ot,Nt)=>{let hr=new Image,Sr=it.url,he=it.credentials;he&&he===\"include\"?hr.crossOrigin=\"use-credentials\":(he&&he===\"same-origin\"||!a.s(Sr))&&(hr.crossOrigin=\"anonymous\"),yt.signal.addEventListener(\"abort\",()=>{hr.src=\"\",Nt(a.c())}),hr.fetchPriority=\"high\",hr.onload=()=>{hr.onerror=hr.onload=null,Ot({data:hr})},hr.onerror=()=>{hr.onerror=hr.onload=null,yt.signal.aborted||Nt(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.\"))},hr.src=Sr})}(p||(p={})),p.resetRequestQueue();class E{constructor(w){this._transformRequestFn=w}transformRequest(w,B){return this._transformRequestFn&&this._transformRequestFn(w,B)||{url:w}}setTransformRequest(w){this._transformRequestFn=w}}function k(le){var w=new a.A(3);return w[0]=le[0],w[1]=le[1],w[2]=le[2],w}var A,L=function(le,w,B){return le[0]=w[0]-B[0],le[1]=w[1]-B[1],le[2]=w[2]-B[2],le};A=new a.A(3),a.A!=Float32Array&&(A[0]=0,A[1]=0,A[2]=0);var _=function(le){var w=le[0],B=le[1];return w*w+B*B};function C(le){let w=[];if(typeof le==\"string\")w.push({id:\"default\",url:le});else if(le&&le.length>0){let B=[];for(let{id:Q,url:ee}of le){let se=`${Q}${ee}`;B.indexOf(se)===-1&&(B.push(se),w.push({id:Q,url:ee}))}}return w}function M(le,w,B){let Q=le.split(\"?\");return Q[0]+=`${w}${B}`,Q.join(\"?\")}(function(){var le=new a.A(2);a.A!=Float32Array&&(le[0]=0,le[1]=0)})();class g{constructor(w,B,Q,ee){this.context=w,this.format=Q,this.texture=w.gl.createTexture(),this.update(B,ee)}update(w,B,Q){let{width:ee,height:se}=w,qe=!(this.size&&this.size[0]===ee&&this.size[1]===se||Q),{context:je}=this,{gl:it}=je;if(this.useMipmap=!!(B&&B.useMipmap),it.bindTexture(it.TEXTURE_2D,this.texture),je.pixelStoreUnpackFlipY.set(!1),je.pixelStoreUnpack.set(1),je.pixelStoreUnpackPremultiplyAlpha.set(this.format===it.RGBA&&(!B||B.premultiply!==!1)),qe)this.size=[ee,se],w instanceof HTMLImageElement||w instanceof HTMLCanvasElement||w instanceof HTMLVideoElement||w instanceof ImageData||a.b(w)?it.texImage2D(it.TEXTURE_2D,0,this.format,this.format,it.UNSIGNED_BYTE,w):it.texImage2D(it.TEXTURE_2D,0,this.format,ee,se,0,this.format,it.UNSIGNED_BYTE,w.data);else{let{x:yt,y:Ot}=Q||{x:0,y:0};w instanceof HTMLImageElement||w instanceof HTMLCanvasElement||w instanceof HTMLVideoElement||w instanceof ImageData||a.b(w)?it.texSubImage2D(it.TEXTURE_2D,0,yt,Ot,it.RGBA,it.UNSIGNED_BYTE,w):it.texSubImage2D(it.TEXTURE_2D,0,yt,Ot,ee,se,it.RGBA,it.UNSIGNED_BYTE,w.data)}this.useMipmap&&this.isSizePowerOfTwo()&&it.generateMipmap(it.TEXTURE_2D)}bind(w,B,Q){let{context:ee}=this,{gl:se}=ee;se.bindTexture(se.TEXTURE_2D,this.texture),Q!==se.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(Q=se.LINEAR),w!==this.filter&&(se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MAG_FILTER,w),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MIN_FILTER,Q||w),this.filter=w),B!==this.wrap&&(se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_S,B),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_T,B),this.wrap=B)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:w}=this.context;w.deleteTexture(this.texture),this.texture=null}}function P(le){let{userImage:w}=le;return!!(w&&w.render&&w.render())&&(le.data.replace(new Uint8Array(w.data.buffer)),!0)}class T extends a.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new a.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(w){if(this.loaded!==w&&(this.loaded=w,w)){for(let{ids:B,promiseResolve:Q}of this.requestors)Q(this._getImagesForIds(B));this.requestors=[]}}getImage(w){let B=this.images[w];if(B&&!B.data&&B.spriteData){let Q=B.spriteData;B.data=new a.R({width:Q.width,height:Q.height},Q.context.getImageData(Q.x,Q.y,Q.width,Q.height).data),B.spriteData=null}return B}addImage(w,B){if(this.images[w])throw new Error(`Image id ${w} already exist, use updateImage instead`);this._validate(w,B)&&(this.images[w]=B)}_validate(w,B){let Q=!0,ee=B.data||B.spriteData;return this._validateStretch(B.stretchX,ee&&ee.width)||(this.fire(new a.j(new Error(`Image \"${w}\" has invalid \"stretchX\" value`))),Q=!1),this._validateStretch(B.stretchY,ee&&ee.height)||(this.fire(new a.j(new Error(`Image \"${w}\" has invalid \"stretchY\" value`))),Q=!1),this._validateContent(B.content,B)||(this.fire(new a.j(new Error(`Image \"${w}\" has invalid \"content\" value`))),Q=!1),Q}_validateStretch(w,B){if(!w)return!0;let Q=0;for(let ee of w){if(ee[0]<Q||ee[1]<ee[0]||B<ee[1])return!1;Q=ee[1]}return!0}_validateContent(w,B){if(!w)return!0;if(w.length!==4)return!1;let Q=B.spriteData,ee=Q&&Q.width||B.data.width,se=Q&&Q.height||B.data.height;return!(w[0]<0||ee<w[0]||w[1]<0||se<w[1]||w[2]<0||ee<w[2]||w[3]<0||se<w[3]||w[2]<w[0]||w[3]<w[1])}updateImage(w,B,Q=!0){let ee=this.getImage(w);if(Q&&(ee.data.width!==B.data.width||ee.data.height!==B.data.height))throw new Error(`size mismatch between old image (${ee.data.width}x${ee.data.height}) and new image (${B.data.width}x${B.data.height}).`);B.version=ee.version+1,this.images[w]=B,this.updatedImages[w]=!0}removeImage(w){let B=this.images[w];delete this.images[w],delete this.patterns[w],B.userImage&&B.userImage.onRemove&&B.userImage.onRemove()}listImages(){return Object.keys(this.images)}getImages(w){return new Promise((B,Q)=>{let ee=!0;if(!this.isLoaded())for(let se of w)this.images[se]||(ee=!1);this.isLoaded()||ee?B(this._getImagesForIds(w)):this.requestors.push({ids:w,promiseResolve:B})})}_getImagesForIds(w){let B={};for(let Q of w){let ee=this.getImage(Q);ee||(this.fire(new a.k(\"styleimagemissing\",{id:Q})),ee=this.getImage(Q)),ee?B[Q]={data:ee.data.clone(),pixelRatio:ee.pixelRatio,sdf:ee.sdf,version:ee.version,stretchX:ee.stretchX,stretchY:ee.stretchY,content:ee.content,textFitWidth:ee.textFitWidth,textFitHeight:ee.textFitHeight,hasRenderCallback:!!(ee.userImage&&ee.userImage.render)}:a.w(`Image \"${Q}\" 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 B}getPixelSize(){let{width:w,height:B}=this.atlasImage;return{width:w,height:B}}getPattern(w){let B=this.patterns[w],Q=this.getImage(w);if(!Q)return null;if(B&&B.position.version===Q.version)return B.position;if(B)B.position.version=Q.version;else{let ee={w:Q.data.width+2,h:Q.data.height+2,x:0,y:0},se=new a.I(ee,Q);this.patterns[w]={bin:ee,position:se}}return this._updatePatternAtlas(),this.patterns[w].position}bind(w){let B=w.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new g(w,this.atlasImage,B.RGBA),this.atlasTexture.bind(B.LINEAR,B.CLAMP_TO_EDGE)}_updatePatternAtlas(){let w=[];for(let se in this.patterns)w.push(this.patterns[se].bin);let{w:B,h:Q}=a.p(w),ee=this.atlasImage;ee.resize({width:B||1,height:Q||1});for(let se in this.patterns){let{bin:qe}=this.patterns[se],je=qe.x+1,it=qe.y+1,yt=this.getImage(se).data,Ot=yt.width,Nt=yt.height;a.R.copy(yt,ee,{x:0,y:0},{x:je,y:it},{width:Ot,height:Nt}),a.R.copy(yt,ee,{x:0,y:Nt-1},{x:je,y:it-1},{width:Ot,height:1}),a.R.copy(yt,ee,{x:0,y:0},{x:je,y:it+Nt},{width:Ot,height:1}),a.R.copy(yt,ee,{x:Ot-1,y:0},{x:je-1,y:it},{width:1,height:Nt}),a.R.copy(yt,ee,{x:0,y:0},{x:je+Ot,y:it},{width:1,height:Nt})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(w){for(let B of w){if(this.callbackDispatchedThisFrame[B])continue;this.callbackDispatchedThisFrame[B]=!0;let Q=this.getImage(B);Q||a.w(`Image with ID: \"${B}\" was not found`),P(Q)&&this.updateImage(B,Q)}}}let F=1e20;function q(le,w,B,Q,ee,se,qe,je,it){for(let yt=w;yt<w+Q;yt++)V(le,B*se+yt,se,ee,qe,je,it);for(let yt=B;yt<B+ee;yt++)V(le,yt*se+w,1,Q,qe,je,it)}function V(le,w,B,Q,ee,se,qe){se[0]=0,qe[0]=-F,qe[1]=F,ee[0]=le[w];for(let je=1,it=0,yt=0;je<Q;je++){ee[je]=le[w+je*B];let Ot=je*je;do{let Nt=se[it];yt=(ee[je]-ee[Nt]+Ot-Nt*Nt)/(je-Nt)/2}while(yt<=qe[it]&&--it>-1);it++,se[it]=je,qe[it]=yt,qe[it+1]=F}for(let je=0,it=0;je<Q;je++){for(;qe[it+1]<je;)it++;let yt=se[it],Ot=je-yt;le[w+je*B]=ee[yt]+Ot*Ot}}class H{constructor(w,B){this.requestManager=w,this.localIdeographFontFamily=B,this.entries={}}setURL(w){this.url=w}getGlyphs(w){return a._(this,void 0,void 0,function*(){let B=[];for(let se in w)for(let qe of w[se])B.push(this._getAndCacheGlyphsPromise(se,qe));let Q=yield Promise.all(B),ee={};for(let{stack:se,id:qe,glyph:je}of Q)ee[se]||(ee[se]={}),ee[se][qe]=je&&{id:je.id,bitmap:je.bitmap.clone(),metrics:je.metrics};return ee})}_getAndCacheGlyphsPromise(w,B){return a._(this,void 0,void 0,function*(){let Q=this.entries[w];Q||(Q=this.entries[w]={glyphs:{},requests:{},ranges:{}});let ee=Q.glyphs[B];if(ee!==void 0)return{stack:w,id:B,glyph:ee};if(ee=this._tinySDF(Q,w,B),ee)return Q.glyphs[B]=ee,{stack:w,id:B,glyph:ee};let se=Math.floor(B/256);if(256*se>65535)throw new Error(\"glyphs > 65535 not supported\");if(Q.ranges[se])return{stack:w,id:B,glyph:ee};if(!this.url)throw new Error(\"glyphsUrl is not set\");if(!Q.requests[se]){let je=H.loadGlyphRange(w,se,this.url,this.requestManager);Q.requests[se]=je}let qe=yield Q.requests[se];for(let je in qe)this._doesCharSupportLocalGlyph(+je)||(Q.glyphs[+je]=qe[+je]);return Q.ranges[se]=!0,{stack:w,id:B,glyph:qe[B]||null}})}_doesCharSupportLocalGlyph(w){return!!this.localIdeographFontFamily&&new RegExp(\"\\\\p{Ideo}|\\\\p{sc=Hang}|\\\\p{sc=Hira}|\\\\p{sc=Kana}\",\"u\").test(String.fromCodePoint(w))}_tinySDF(w,B,Q){let ee=this.localIdeographFontFamily;if(!ee||!this._doesCharSupportLocalGlyph(Q))return;let se=w.tinySDF;if(!se){let je=\"400\";/bold/i.test(B)?je=\"900\":/medium/i.test(B)?je=\"500\":/light/i.test(B)&&(je=\"200\"),se=w.tinySDF=new H.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:ee,fontWeight:je})}let qe=se.draw(String.fromCharCode(Q));return{id:Q,bitmap:new a.o({width:qe.width||60,height:qe.height||60},qe.data),metrics:{width:qe.glyphWidth/2||24,height:qe.glyphHeight/2||24,left:qe.glyphLeft/2+.5||0,top:qe.glyphTop/2-27.5||-8,advance:qe.glyphAdvance/2||24,isDoubleResolution:!0}}}}H.loadGlyphRange=function(le,w,B,Q){return a._(this,void 0,void 0,function*(){let ee=256*w,se=ee+255,qe=Q.transformRequest(B.replace(\"{fontstack}\",le).replace(\"{range}\",`${ee}-${se}`),\"Glyphs\"),je=yield a.l(qe,new AbortController);if(!je||!je.data)throw new Error(`Could not load glyph range. range: ${w}, ${ee}-${se}`);let it={};for(let yt of a.n(je.data))it[yt.id]=yt;return it})},H.TinySDF=class{constructor({fontSize:le=24,buffer:w=3,radius:B=8,cutoff:Q=.25,fontFamily:ee=\"sans-serif\",fontWeight:se=\"normal\",fontStyle:qe=\"normal\"}={}){this.buffer=w,this.cutoff=Q,this.radius=B;let je=this.size=le+4*w,it=this._createCanvas(je),yt=this.ctx=it.getContext(\"2d\",{willReadFrequently:!0});yt.font=`${qe} ${se} ${le}px ${ee}`,yt.textBaseline=\"alphabetic\",yt.textAlign=\"left\",yt.fillStyle=\"black\",this.gridOuter=new Float64Array(je*je),this.gridInner=new Float64Array(je*je),this.f=new Float64Array(je),this.z=new Float64Array(je+1),this.v=new Uint16Array(je)}_createCanvas(le){let w=document.createElement(\"canvas\");return w.width=w.height=le,w}draw(le){let{width:w,actualBoundingBoxAscent:B,actualBoundingBoxDescent:Q,actualBoundingBoxLeft:ee,actualBoundingBoxRight:se}=this.ctx.measureText(le),qe=Math.ceil(B),je=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(se-ee))),it=Math.min(this.size-this.buffer,qe+Math.ceil(Q)),yt=je+2*this.buffer,Ot=it+2*this.buffer,Nt=Math.max(yt*Ot,0),hr=new Uint8ClampedArray(Nt),Sr={data:hr,width:yt,height:Ot,glyphWidth:je,glyphHeight:it,glyphTop:qe,glyphLeft:0,glyphAdvance:w};if(je===0||it===0)return Sr;let{ctx:he,buffer:be,gridInner:Pe,gridOuter:Oe}=this;he.clearRect(be,be,je,it),he.fillText(le,be,be+qe);let Je=he.getImageData(be,be,je,it);Oe.fill(F,0,Nt),Pe.fill(0,0,Nt);for(let He=0;He<it;He++)for(let et=0;et<je;et++){let Mt=Je.data[4*(He*je+et)+3]/255;if(Mt===0)continue;let Dt=(He+be)*yt+et+be;if(Mt===1)Oe[Dt]=0,Pe[Dt]=F;else{let Ut=.5-Mt;Oe[Dt]=Ut>0?Ut*Ut:0,Pe[Dt]=Ut<0?Ut*Ut:0}}q(Oe,0,0,yt,Ot,yt,this.f,this.v,this.z),q(Pe,be,be,je,it,yt,this.f,this.v,this.z);for(let He=0;He<Nt;He++){let et=Math.sqrt(Oe[He])-Math.sqrt(Pe[He]);hr[He]=Math.round(255-255*(et/this.radius+this.cutoff))}return Sr}};class X{constructor(){this.specification=a.v.light.position}possiblyEvaluate(w,B){return a.x(w.expression.evaluate(B))}interpolate(w,B,Q){return{x:a.y.number(w.x,B.x,Q),y:a.y.number(w.y,B.y,Q),z:a.y.number(w.z,B.z,Q)}}}let G;class N extends a.E{constructor(w){super(),G=G||new a.q({anchor:new a.D(a.v.light.anchor),position:new X,color:new a.D(a.v.light.color),intensity:new a.D(a.v.light.intensity)}),this._transitionable=new a.T(G),this.setLight(w),this._transitioning=this._transitionable.untransitioned()}getLight(){return this._transitionable.serialize()}setLight(w,B={}){if(!this._validate(a.r,w,B))for(let Q in w){let ee=w[Q];Q.endsWith(\"-transition\")?this._transitionable.setTransition(Q.slice(0,-11),ee):this._transitionable.setValue(Q,ee)}}updateTransitions(w){this._transitioning=this._transitionable.transitioned(w,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(w){this.properties=this._transitioning.possiblyEvaluate(w)}_validate(w,B,Q){return(!Q||Q.validate!==!1)&&a.t(this,w.call(a.u,{value:B,style:{glyphs:!0,sprite:!0},styleSpec:a.v}))}}let W=new a.q({\"sky-color\":new a.D(a.v.sky[\"sky-color\"]),\"horizon-color\":new a.D(a.v.sky[\"horizon-color\"]),\"fog-color\":new a.D(a.v.sky[\"fog-color\"]),\"fog-ground-blend\":new a.D(a.v.sky[\"fog-ground-blend\"]),\"horizon-fog-blend\":new a.D(a.v.sky[\"horizon-fog-blend\"]),\"sky-horizon-blend\":new a.D(a.v.sky[\"sky-horizon-blend\"]),\"atmosphere-blend\":new a.D(a.v.sky[\"atmosphere-blend\"])});class re extends a.E{constructor(w){super(),this._transitionable=new a.T(W),this.setSky(w),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new a.z(0))}setSky(w,B={}){if(!this._validate(a.B,w,B)){w||(w={\"sky-color\":\"transparent\",\"horizon-color\":\"transparent\",\"fog-color\":\"transparent\",\"fog-ground-blend\":1,\"atmosphere-blend\":0});for(let Q in w){let ee=w[Q];Q.endsWith(\"-transition\")?this._transitionable.setTransition(Q.slice(0,-11),ee):this._transitionable.setValue(Q,ee)}}}getSky(){return this._transitionable.serialize()}updateTransitions(w){this._transitioning=this._transitionable.transitioned(w,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(w){this.properties=this._transitioning.possiblyEvaluate(w)}_validate(w,B,Q={}){return(Q==null?void 0:Q.validate)!==!1&&a.t(this,w.call(a.u,a.e({value:B,style:{glyphs:!0,sprite:!0},styleSpec:a.v})))}calculateFogBlendOpacity(w){return w<60?0:w<70?(w-60)/10:1}}class ae{constructor(w,B){this.width=w,this.height=B,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}}getDash(w,B){let Q=w.join(\",\")+String(B);return this.dashEntry[Q]||(this.dashEntry[Q]=this.addDash(w,B)),this.dashEntry[Q]}getDashRanges(w,B,Q){let ee=[],se=w.length%2==1?-w[w.length-1]*Q:0,qe=w[0]*Q,je=!0;ee.push({left:se,right:qe,isDash:je,zeroLength:w[0]===0});let it=w[0];for(let yt=1;yt<w.length;yt++){je=!je;let Ot=w[yt];se=it*Q,it+=Ot,qe=it*Q,ee.push({left:se,right:qe,isDash:je,zeroLength:Ot===0})}return ee}addRoundDash(w,B,Q){let ee=B/2;for(let se=-Q;se<=Q;se++){let qe=this.width*(this.nextRow+Q+se),je=0,it=w[je];for(let yt=0;yt<this.width;yt++){yt/it.right>1&&(it=w[++je]);let Ot=Math.abs(yt-it.left),Nt=Math.abs(yt-it.right),hr=Math.min(Ot,Nt),Sr,he=se/Q*(ee+1);if(it.isDash){let be=ee-Math.abs(he);Sr=Math.sqrt(hr*hr+be*be)}else Sr=ee-Math.sqrt(hr*hr+he*he);this.data[qe+yt]=Math.max(0,Math.min(255,Sr+128))}}}addRegularDash(w){for(let je=w.length-1;je>=0;--je){let it=w[je],yt=w[je+1];it.zeroLength?w.splice(je,1):yt&&yt.isDash===it.isDash&&(yt.left=it.left,w.splice(je,1))}let B=w[0],Q=w[w.length-1];B.isDash===Q.isDash&&(B.left=Q.left-this.width,Q.right=B.right+this.width);let ee=this.width*this.nextRow,se=0,qe=w[se];for(let je=0;je<this.width;je++){je/qe.right>1&&(qe=w[++se]);let it=Math.abs(je-qe.left),yt=Math.abs(je-qe.right),Ot=Math.min(it,yt);this.data[ee+je]=Math.max(0,Math.min(255,(qe.isDash?Ot:-Ot)+128))}}addDash(w,B){let Q=B?7:0,ee=2*Q+1;if(this.nextRow+ee>this.height)return a.w(\"LineAtlas out of space\"),null;let se=0;for(let je=0;je<w.length;je++)se+=w[je];if(se!==0){let je=this.width/se,it=this.getDashRanges(w,this.width,je);B?this.addRoundDash(it,je,Q):this.addRegularDash(it)}let qe={y:(this.nextRow+Q+.5)/this.height,height:2*Q/this.height,width:se};return this.nextRow+=ee,this.dirty=!0,qe}bind(w){let B=w.gl;this.texture?(B.bindTexture(B.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,B.texSubImage2D(B.TEXTURE_2D,0,0,0,this.width,this.height,B.ALPHA,B.UNSIGNED_BYTE,this.data))):(this.texture=B.createTexture(),B.bindTexture(B.TEXTURE_2D,this.texture),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_S,B.REPEAT),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_T,B.REPEAT),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MIN_FILTER,B.LINEAR),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MAG_FILTER,B.LINEAR),B.texImage2D(B.TEXTURE_2D,0,B.ALPHA,this.width,this.height,0,B.ALPHA,B.UNSIGNED_BYTE,this.data))}}let _e=\"maplibre_preloaded_worker_pool\";class Me{constructor(){this.active={}}acquire(w){if(!this.workers)for(this.workers=[];this.workers.length<Me.workerCount;)this.workers.push(new Worker(a.a.WORKER_URL));return this.active[w]=!0,this.workers.slice()}release(w){delete this.active[w],this.numActive()===0&&(this.workers.forEach(B=>{B.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[_e]}numActive(){return Object.keys(this.active).length}}let ke=Math.floor(u.hardwareConcurrency/2),ge,ie;function Te(){return ge||(ge=new Me),ge}Me.workerCount=a.C(globalThis)?Math.max(Math.min(ke,3),1):1;class Ee{constructor(w,B){this.workerPool=w,this.actors=[],this.currentActor=0,this.id=B;let Q=this.workerPool.acquire(B);for(let ee=0;ee<Q.length;ee++){let se=new a.F(Q[ee],B);se.name=`Worker ${ee}`,this.actors.push(se)}if(!this.actors.length)throw new Error(\"No actors found\")}broadcast(w,B){let Q=[];for(let ee of this.actors)Q.push(ee.sendAsync({type:w,data:B}));return Promise.all(Q)}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(w=!0){this.actors.forEach(B=>{B.remove()}),this.actors=[],w&&this.workerPool.release(this.id)}registerMessageHandler(w,B){for(let Q of this.actors)Q.registerMessageHandler(w,B)}}function Ae(){return ie||(ie=new Ee(Te(),a.G),ie.registerMessageHandler(\"GR\",(le,w,B)=>a.m(w,B))),ie}function ze(le,w){let B=a.H();return a.J(B,B,[1,1,0]),a.K(B,B,[.5*le.width,.5*le.height,1]),a.L(B,B,le.calculatePosMatrix(w.toUnwrapped()))}function Ce(le,w,B,Q,ee,se){let qe=function(Nt,hr,Sr){if(Nt)for(let he of Nt){let be=hr[he];if(be&&be.source===Sr&&be.type===\"fill-extrusion\")return!0}else for(let he in hr){let be=hr[he];if(be.source===Sr&&be.type===\"fill-extrusion\")return!0}return!1}(ee&&ee.layers,w,le.id),je=se.maxPitchScaleFactor(),it=le.tilesIn(Q,je,qe);it.sort(me);let yt=[];for(let Nt of it)yt.push({wrappedTileID:Nt.tileID.wrapped().key,queryResults:Nt.tile.queryRenderedFeatures(w,B,le._state,Nt.queryGeometry,Nt.cameraQueryGeometry,Nt.scale,ee,se,je,ze(le.transform,Nt.tileID))});let Ot=function(Nt){let hr={},Sr={};for(let he of Nt){let be=he.queryResults,Pe=he.wrappedTileID,Oe=Sr[Pe]=Sr[Pe]||{};for(let Je in be){let He=be[Je],et=Oe[Je]=Oe[Je]||{},Mt=hr[Je]=hr[Je]||[];for(let Dt of He)et[Dt.featureIndex]||(et[Dt.featureIndex]=!0,Mt.push(Dt))}}return hr}(yt);for(let Nt in Ot)Ot[Nt].forEach(hr=>{let Sr=hr.feature,he=le.getFeatureState(Sr.layer[\"source-layer\"],Sr.id);Sr.source=Sr.layer.source,Sr.layer[\"source-layer\"]&&(Sr.sourceLayer=Sr.layer[\"source-layer\"]),Sr.state=he});return Ot}function me(le,w){let B=le.tileID,Q=w.tileID;return B.overscaledZ-Q.overscaledZ||B.canonical.y-Q.canonical.y||B.wrap-Q.wrap||B.canonical.x-Q.canonical.x}function Re(le,w,B){return a._(this,void 0,void 0,function*(){let Q=le;if(le.url?Q=(yield a.h(w.transformRequest(le.url,\"Source\"),B)).data:yield u.frameAsync(B),!Q)return null;let ee=a.M(a.e(Q,le),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);return\"vector_layers\"in Q&&Q.vector_layers&&(ee.vectorLayerIds=Q.vector_layers.map(se=>se.id)),ee})}class ce{constructor(w,B){w&&(B?this.setSouthWest(w).setNorthEast(B):Array.isArray(w)&&(w.length===4?this.setSouthWest([w[0],w[1]]).setNorthEast([w[2],w[3]]):this.setSouthWest(w[0]).setNorthEast(w[1])))}setNorthEast(w){return this._ne=w instanceof a.N?new a.N(w.lng,w.lat):a.N.convert(w),this}setSouthWest(w){return this._sw=w instanceof a.N?new a.N(w.lng,w.lat):a.N.convert(w),this}extend(w){let B=this._sw,Q=this._ne,ee,se;if(w instanceof a.N)ee=w,se=w;else{if(!(w instanceof ce))return Array.isArray(w)?w.length===4||w.every(Array.isArray)?this.extend(ce.convert(w)):this.extend(a.N.convert(w)):w&&(\"lng\"in w||\"lon\"in w)&&\"lat\"in w?this.extend(a.N.convert(w)):this;if(ee=w._sw,se=w._ne,!ee||!se)return this}return B||Q?(B.lng=Math.min(ee.lng,B.lng),B.lat=Math.min(ee.lat,B.lat),Q.lng=Math.max(se.lng,Q.lng),Q.lat=Math.max(se.lat,Q.lat)):(this._sw=new a.N(ee.lng,ee.lat),this._ne=new a.N(se.lng,se.lat)),this}getCenter(){return new a.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 a.N(this.getWest(),this.getNorth())}getSouthEast(){return new a.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(w){let{lng:B,lat:Q}=a.N.convert(w),ee=this._sw.lng<=B&&B<=this._ne.lng;return this._sw.lng>this._ne.lng&&(ee=this._sw.lng>=B&&B>=this._ne.lng),this._sw.lat<=Q&&Q<=this._ne.lat&&ee}static convert(w){return w instanceof ce?w:w&&new ce(w)}static fromLngLat(w,B=0){let Q=360*B/40075017,ee=Q/Math.cos(Math.PI/180*w.lat);return new ce(new a.N(w.lng-ee,w.lat-Q),new a.N(w.lng+ee,w.lat+Q))}adjustAntiMeridian(){let w=new a.N(this._sw.lng,this._sw.lat),B=new a.N(this._ne.lng,this._ne.lat);return new ce(w,w.lng>B.lng?new a.N(B.lng+360,B.lat):B)}}class Ge{constructor(w,B,Q){this.bounds=ce.convert(this.validateBounds(w)),this.minzoom=B||0,this.maxzoom=Q||24}validateBounds(w){return Array.isArray(w)&&w.length===4?[Math.max(-180,w[0]),Math.max(-90,w[1]),Math.min(180,w[2]),Math.min(90,w[3])]:[-180,-90,180,90]}contains(w){let B=Math.pow(2,w.z),Q=Math.floor(a.O(this.bounds.getWest())*B),ee=Math.floor(a.Q(this.bounds.getNorth())*B),se=Math.ceil(a.O(this.bounds.getEast())*B),qe=Math.ceil(a.Q(this.bounds.getSouth())*B);return w.x>=Q&&w.x<se&&w.y>=ee&&w.y<qe}}class nt extends a.E{constructor(w,B,Q,ee){if(super(),this.id=w,this.dispatcher=Q,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,a.e(this,a.M(B,[\"url\",\"scheme\",\"tileSize\",\"promoteId\"])),this._options=a.e({type:\"vector\"},B),this._collectResourceTiming=B.collectResourceTiming,this.tileSize!==512)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(ee)}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=new AbortController;try{let w=yield Re(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,this.map.style.sourceCaches[this.id].clearTiles(),w&&(a.e(this,w),w.bounds&&(this.tileBounds=new Ge(w.bounds,this.minzoom,this.maxzoom)),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))}catch(w){this._tileJSONRequest=null,this.fire(new a.j(w))}})}loaded(){return this._loaded}hasTile(w){return!this.tileBounds||this.tileBounds.contains(w.canonical)}onAdd(w){this.map=w,this.load()}setSourceProperty(w){this._tileJSONRequest&&this._tileJSONRequest.abort(),w(),this.load()}setTiles(w){return this.setSourceProperty(()=>{this._options.tiles=w}),this}setUrl(w){return this.setSourceProperty(()=>{this.url=w,this._options.url=w}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return a.e({},this._options)}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),Q={request:this.map._requestManager.transformRequest(B,\"Tile\"),uid:w.uid,tileID:w.tileID,zoom:w.tileID.overscaledZ,tileSize:this.tileSize*w.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};Q.request.collectResourceTiming=this._collectResourceTiming;let ee=\"RT\";if(w.actor&&w.state!==\"expired\"){if(w.state===\"loading\")return new Promise((se,qe)=>{w.reloadPromise={resolve:se,reject:qe}})}else w.actor=this.dispatcher.getActor(),ee=\"LT\";w.abortController=new AbortController;try{let se=yield w.actor.sendAsync({type:ee,data:Q},w.abortController);if(delete w.abortController,w.aborted)return;this._afterTileLoadWorkerResponse(w,se)}catch(se){if(delete w.abortController,w.aborted)return;if(se&&se.status!==404)throw se;this._afterTileLoadWorkerResponse(w,null)}})}_afterTileLoadWorkerResponse(w,B){if(B&&B.resourceTiming&&(w.resourceTiming=B.resourceTiming),B&&this.map._refreshExpiredTiles&&w.setExpiryData(B),w.loadVectorData(B,this.map.painter),w.reloadPromise){let Q=w.reloadPromise;w.reloadPromise=null,this.loadTile(w).then(Q.resolve).catch(Q.reject)}}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController),w.actor&&(yield w.actor.sendAsync({type:\"AT\",data:{uid:w.uid,type:this.type,source:this.id}}))})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.unloadVectorData(),w.actor&&(yield w.actor.sendAsync({type:\"RMT\",data:{uid:w.uid,type:this.type,source:this.id}}))})}hasTransition(){return!1}}class ct extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.dispatcher=Q,this.setEventedParent(ee),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=a.e({type:\"raster\"},B),a.e(this,a.M(B,[\"url\",\"scheme\",\"tileSize\"]))}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=new AbortController;try{let w=yield Re(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,w&&(a.e(this,w),w.bounds&&(this.tileBounds=new Ge(w.bounds,this.minzoom,this.maxzoom)),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))}catch(w){this._tileJSONRequest=null,this.fire(new a.j(w))}})}loaded(){return this._loaded}onAdd(w){this.map=w,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(w){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),w(),this.load()}setTiles(w){return this.setSourceProperty(()=>{this._options.tiles=w}),this}setUrl(w){return this.setSourceProperty(()=>{this.url=w,this._options.url=w}),this}serialize(){return a.e({},this._options)}hasTile(w){return!this.tileBounds||this.tileBounds.contains(w.canonical)}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);w.abortController=new AbortController;try{let Q=yield p.getImage(this.map._requestManager.transformRequest(B,\"Tile\"),w.abortController,this.map._refreshExpiredTiles);if(delete w.abortController,w.aborted)return void(w.state=\"unloaded\");if(Q&&Q.data){this.map._refreshExpiredTiles&&Q.cacheControl&&Q.expires&&w.setExpiryData({cacheControl:Q.cacheControl,expires:Q.expires});let ee=this.map.painter.context,se=ee.gl,qe=Q.data;w.texture=this.map.painter.getTileTexture(qe.width),w.texture?w.texture.update(qe,{useMipmap:!0}):(w.texture=new g(ee,qe,se.RGBA,{useMipmap:!0}),w.texture.bind(se.LINEAR,se.CLAMP_TO_EDGE,se.LINEAR_MIPMAP_NEAREST)),w.state=\"loaded\"}}catch(Q){if(delete w.abortController,w.aborted)w.state=\"unloaded\";else if(Q)throw w.state=\"errored\",Q}})}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController)})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.texture&&this.map.painter.saveTileTexture(w.texture)})}hasTransition(){return!1}}class qt extends ct{constructor(w,B,Q,ee){super(w,B,Q,ee),this.type=\"raster-dem\",this.maxzoom=22,this._options=a.e({type:\"raster-dem\"},B),this.encoding=B.encoding||\"mapbox\",this.redFactor=B.redFactor,this.greenFactor=B.greenFactor,this.blueFactor=B.blueFactor,this.baseShift=B.baseShift}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),Q=this.map._requestManager.transformRequest(B,\"Tile\");w.neighboringTiles=this._getNeighboringTiles(w.tileID),w.abortController=new AbortController;try{let ee=yield p.getImage(Q,w.abortController,this.map._refreshExpiredTiles);if(delete w.abortController,w.aborted)return void(w.state=\"unloaded\");if(ee&&ee.data){let se=ee.data;this.map._refreshExpiredTiles&&ee.cacheControl&&ee.expires&&w.setExpiryData({cacheControl:ee.cacheControl,expires:ee.expires});let qe=a.b(se)&&a.U()?se:yield this.readImageNow(se),je={type:this.type,uid:w.uid,source:this.id,rawImageData:qe,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!w.actor||w.state===\"expired\"){w.actor=this.dispatcher.getActor();let it=yield w.actor.sendAsync({type:\"LDT\",data:je});w.dem=it,w.needsHillshadePrepare=!0,w.needsTerrainPrepare=!0,w.state=\"loaded\"}}}catch(ee){if(delete w.abortController,w.aborted)w.state=\"unloaded\";else if(ee)throw w.state=\"errored\",ee}})}readImageNow(w){return a._(this,void 0,void 0,function*(){if(typeof VideoFrame!=\"undefined\"&&a.V()){let B=w.width+2,Q=w.height+2;try{return new a.R({width:B,height:Q},yield a.W(w,-1,-1,B,Q))}catch(ee){}}return u.getImageData(w,1)})}_getNeighboringTiles(w){let B=w.canonical,Q=Math.pow(2,B.z),ee=(B.x-1+Q)%Q,se=B.x===0?w.wrap-1:w.wrap,qe=(B.x+1+Q)%Q,je=B.x+1===Q?w.wrap+1:w.wrap,it={};return it[new a.S(w.overscaledZ,se,B.z,ee,B.y).key]={backfilled:!1},it[new a.S(w.overscaledZ,je,B.z,qe,B.y).key]={backfilled:!1},B.y>0&&(it[new a.S(w.overscaledZ,se,B.z,ee,B.y-1).key]={backfilled:!1},it[new a.S(w.overscaledZ,w.wrap,B.z,B.x,B.y-1).key]={backfilled:!1},it[new a.S(w.overscaledZ,je,B.z,qe,B.y-1).key]={backfilled:!1}),B.y+1<Q&&(it[new a.S(w.overscaledZ,se,B.z,ee,B.y+1).key]={backfilled:!1},it[new a.S(w.overscaledZ,w.wrap,B.z,B.x,B.y+1).key]={backfilled:!1},it[new a.S(w.overscaledZ,je,B.z,qe,B.y+1).key]={backfilled:!1}),it}unloadTile(w){return a._(this,void 0,void 0,function*(){w.demTexture&&this.map.painter.saveTileTexture(w.demTexture),w.fbo&&(w.fbo.destroy(),delete w.fbo),w.dem&&delete w.dem,delete w.neighboringTiles,w.state=\"unloaded\",w.actor&&(yield w.actor.sendAsync({type:\"RDT\",data:{type:this.type,uid:w.uid,source:this.id}}))})}}class rt extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._pendingLoads=0,this.actor=Q.getActor(),this.setEventedParent(ee),this._data=B.data,this._options=a.e({},B),this._collectResourceTiming=B.collectResourceTiming,B.maxzoom!==void 0&&(this.maxzoom=B.maxzoom),B.type&&(this.type=B.type),B.attribution&&(this.attribution=B.attribution),this.promoteId=B.promoteId;let se=a.X/this.tileSize;B.clusterMaxZoom!==void 0&&this.maxzoom<=B.clusterMaxZoom&&a.w(`The maxzoom value \"${this.maxzoom}\" is expected to be greater than the clusterMaxZoom value \"${B.clusterMaxZoom}\".`),this.workerOptions=a.e({source:this.id,cluster:B.cluster||!1,geojsonVtOptions:{buffer:(B.buffer!==void 0?B.buffer:128)*se,tolerance:(B.tolerance!==void 0?B.tolerance:.375)*se,extent:a.X,maxZoom:this.maxzoom,lineMetrics:B.lineMetrics||!1,generateId:B.generateId||!1},superclusterOptions:{maxZoom:B.clusterMaxZoom!==void 0?B.clusterMaxZoom:this.maxzoom-1,minPoints:Math.max(2,B.clusterMinPoints||2),extent:a.X,radius:(B.clusterRadius||50)*se,log:!1,generateId:B.generateId||!1},clusterProperties:B.clusterProperties,filter:B.filter},B.workerOptions),typeof this.promoteId==\"string\"&&(this.workerOptions.promoteId=this.promoteId)}load(){return a._(this,void 0,void 0,function*(){yield this._updateWorkerData()})}onAdd(w){this.map=w,this.load()}setData(w){return this._data=w,this._updateWorkerData(),this}updateData(w){return this._updateWorkerData(w),this}getData(){return a._(this,void 0,void 0,function*(){let w=a.e({type:this.type},this.workerOptions);return this.actor.sendAsync({type:\"GD\",data:w})})}setClusterOptions(w){return this.workerOptions.cluster=w.cluster,w&&(w.clusterRadius!==void 0&&(this.workerOptions.superclusterOptions.radius=w.clusterRadius),w.clusterMaxZoom!==void 0&&(this.workerOptions.superclusterOptions.maxZoom=w.clusterMaxZoom)),this._updateWorkerData(),this}getClusterExpansionZoom(w){return this.actor.sendAsync({type:\"GCEZ\",data:{type:this.type,clusterId:w,source:this.id}})}getClusterChildren(w){return this.actor.sendAsync({type:\"GCC\",data:{type:this.type,clusterId:w,source:this.id}})}getClusterLeaves(w,B,Q){return this.actor.sendAsync({type:\"GCL\",data:{type:this.type,source:this.id,clusterId:w,limit:B,offset:Q}})}_updateWorkerData(w){return a._(this,void 0,void 0,function*(){let B=a.e({type:this.type},this.workerOptions);w?B.dataDiff=w:typeof this._data==\"string\"?(B.request=this.map._requestManager.transformRequest(u.resolveURL(this._data),\"Source\"),B.request.collectResourceTiming=this._collectResourceTiming):B.data=JSON.stringify(this._data),this._pendingLoads++,this.fire(new a.k(\"dataloading\",{dataType:\"source\"}));try{let Q=yield this.actor.sendAsync({type:\"LD\",data:B});if(this._pendingLoads--,this._removed||Q.abandoned)return void this.fire(new a.k(\"dataabort\",{dataType:\"source\"}));let ee=null;Q.resourceTiming&&Q.resourceTiming[this.id]&&(ee=Q.resourceTiming[this.id].slice(0));let se={dataType:\"source\"};this._collectResourceTiming&&ee&&ee.length>0&&a.e(se,{resourceTiming:ee}),this.fire(new a.k(\"data\",Object.assign(Object.assign({},se),{sourceDataType:\"metadata\"}))),this.fire(new a.k(\"data\",Object.assign(Object.assign({},se),{sourceDataType:\"content\"})))}catch(Q){if(this._pendingLoads--,this._removed)return void this.fire(new a.k(\"dataabort\",{dataType:\"source\"}));this.fire(new a.j(Q))}})}loaded(){return this._pendingLoads===0}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.actor?\"RT\":\"LT\";w.actor=this.actor;let Q={type:this.type,uid:w.uid,tileID:w.tileID,zoom:w.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};w.abortController=new AbortController;let ee=yield this.actor.sendAsync({type:B,data:Q},w.abortController);delete w.abortController,w.unloadVectorData(),w.aborted||w.loadVectorData(ee,this.map.painter,B===\"RT\")})}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController),w.aborted=!0})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.unloadVectorData(),yield this.actor.sendAsync({type:\"RMT\",data:{uid:w.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 a.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var ot=a.Y([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);class Rt extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.dispatcher=Q,this.coordinates=B.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(ee),this.options=B}load(w){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,this._request=new AbortController;try{let B=yield p.getImage(this.map._requestManager.transformRequest(this.url,\"Image\"),this._request);this._request=null,this._loaded=!0,B&&B.data&&(this.image=B.data,w&&(this.coordinates=w),this._finishLoading())}catch(B){this._request=null,this._loaded=!0,this.fire(new a.j(B))}})}loaded(){return this._loaded}updateImage(w){return w.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=w.url,this.load(w.coordinates).finally(()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))}onAdd(w){this.map=w,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(w){this.coordinates=w;let B=w.map(a.Z.fromLngLat);this.tileID=function(ee){let se=1/0,qe=1/0,je=-1/0,it=-1/0;for(let hr of ee)se=Math.min(se,hr.x),qe=Math.min(qe,hr.y),je=Math.max(je,hr.x),it=Math.max(it,hr.y);let yt=Math.max(je-se,it-qe),Ot=Math.max(0,Math.floor(-Math.log(yt)/Math.LN2)),Nt=Math.pow(2,Ot);return new a.a1(Ot,Math.floor((se+je)/2*Nt),Math.floor((qe+it)/2*Nt))}(B),this.minzoom=this.maxzoom=this.tileID.z;let Q=B.map(ee=>this.tileID.getTilePoint(ee)._round());return this._boundsArray=new a.$,this._boundsArray.emplaceBack(Q[0].x,Q[0].y,0,0),this._boundsArray.emplaceBack(Q[1].x,Q[1].y,a.X,0),this._boundsArray.emplaceBack(Q[3].x,Q[3].y,0,a.X),this._boundsArray.emplaceBack(Q[2].x,Q[2].y,a.X,a.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let w=this.map.painter.context,B=w.gl;this.boundsBuffer||(this.boundsBuffer=w.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new g(w,this.image,B.RGBA),this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE));let Q=!1;for(let ee in this.tiles){let se=this.tiles[ee];se.state!==\"loaded\"&&(se.state=\"loaded\",se.texture=this.texture,Q=!0)}Q&&this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}loadTile(w){return a._(this,void 0,void 0,function*(){this.tileID&&this.tileID.equals(w.tileID.canonical)?(this.tiles[String(w.tileID.wrap)]=w,w.buckets={}):w.state=\"errored\"})}serialize(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class kt extends Rt{constructor(w,B,Q,ee){super(w,B,Q,ee),this.roundZoom=!0,this.type=\"video\",this.options=B}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1;let w=this.options;this.urls=[];for(let B of w.urls)this.urls.push(this.map._requestManager.transformRequest(B,\"Source\").url);try{let B=yield a.a3(this.urls);if(this._loaded=!0,!B)return;this.video=B,this.video.loop=!0,this.video.addEventListener(\"playing\",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading()}catch(B){this.fire(new a.j(B))}})}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(w){if(this.video){let B=this.video.seekable;w<B.start(0)||w>B.end(0)?this.fire(new a.j(new a.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${B.start(0)} and ${B.end(0)}-second mark.`))):this.video.currentTime=w}}getVideo(){return this.video}onAdd(w){this.map||(this.map=w,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let w=this.map.painter.context,B=w.gl;this.boundsBuffer||(this.boundsBuffer=w.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE),B.texSubImage2D(B.TEXTURE_2D,0,0,0,B.RGBA,B.UNSIGNED_BYTE,this.video)):(this.texture=new g(w,this.video,B.RGBA),this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE));let Q=!1;for(let ee in this.tiles){let se=this.tiles[ee];se.state!==\"loaded\"&&(se.state=\"loaded\",se.texture=this.texture,Q=!0)}Q&&this.fire(new a.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 Ct extends Rt{constructor(w,B,Q,ee){super(w,B,Q,ee),B.coordinates?Array.isArray(B.coordinates)&&B.coordinates.length===4&&!B.coordinates.some(se=>!Array.isArray(se)||se.length!==2||se.some(qe=>typeof qe!=\"number\"))||this.fire(new a.j(new a.a2(`sources.${w}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new a.j(new a.a2(`sources.${w}`,null,'missing required property \"coordinates\"'))),B.animate&&typeof B.animate!=\"boolean\"&&this.fire(new a.j(new a.a2(`sources.${w}`,null,'optional \"animate\" property must be a boolean value'))),B.canvas?typeof B.canvas==\"string\"||B.canvas instanceof HTMLCanvasElement||this.fire(new a.j(new a.a2(`sources.${w}`,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 a.j(new a.a2(`sources.${w}`,null,'missing required property \"canvas\"'))),this.options=B,this.animate=B.animate===void 0||B.animate}load(){return a._(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 a.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(w){this.map=w,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let w=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,w=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,w=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let B=this.map.painter.context,Q=B.gl;this.boundsBuffer||(this.boundsBuffer=B.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture?(w||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new g(B,this.canvas,Q.RGBA,{premultiply:!0});let ee=!1;for(let se in this.tiles){let qe=this.tiles[se];qe.state!==\"loaded\"&&(qe.state=\"loaded\",qe.texture=this.texture,ee=!0)}ee&&this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}serialize(){return{type:\"canvas\",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let w of[this.canvas.width,this.canvas.height])if(isNaN(w)||w<=0)return!0;return!1}}let Yt={},xr=le=>{switch(le){case\"geojson\":return rt;case\"image\":return Rt;case\"raster\":return ct;case\"raster-dem\":return qt;case\"vector\":return nt;case\"video\":return kt;case\"canvas\":return Ct}return Yt[le]},er=\"RTLPluginLoaded\";class Ke extends a.E{constructor(){super(...arguments),this.status=\"unavailable\",this.url=null,this.dispatcher=Ae()}_syncState(w){return this.status=w,this.dispatcher.broadcast(\"SRPS\",{pluginStatus:w,pluginURL:this.url}).catch(B=>{throw this.status=\"error\",B})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status=\"unavailable\",this.url=null}setRTLTextPlugin(w){return a._(this,arguments,void 0,function*(B,Q=!1){if(this.url)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");if(this.url=u.resolveURL(B),!this.url)throw new Error(`requested url ${B} is invalid`);if(this.status===\"unavailable\"){if(!Q)return this._requestImport();this.status=\"deferred\",this._syncState(this.status)}else if(this.status===\"requested\")return this._requestImport()})}_requestImport(){return a._(this,void 0,void 0,function*(){yield this._syncState(\"loading\"),this.status=\"loaded\",this.fire(new a.k(er))})}lazyLoad(){this.status===\"unavailable\"?this.status=\"requested\":this.status===\"deferred\"&&this._requestImport()}}let xt=null;function bt(){return xt||(xt=new Ke),xt}class Lt{constructor(w,B){this.timeAdded=0,this.fadeEndTime=0,this.tileID=w,this.uid=a.a4(),this.uses=0,this.tileSize=B,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(w){let B=w+this.timeAdded;B<this.fadeEndTime||(this.fadeEndTime=B)}wasRequested(){return this.state===\"errored\"||this.state===\"loaded\"||this.state===\"reloading\"}clearTextures(w){this.demTexture&&w.saveTileTexture(this.demTexture),this.demTexture=null}loadVectorData(w,B,Q){if(this.hasData()&&this.unloadVectorData(),this.state=\"loaded\",w){w.featureIndex&&(this.latestFeatureIndex=w.featureIndex,w.rawTileData?(this.latestRawTileData=w.rawTileData,this.latestFeatureIndex.rawTileData=w.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=w.collisionBoxArray,this.buckets=function(ee,se){let qe={};if(!se)return qe;for(let je of ee){let it=je.layerIds.map(yt=>se.getLayer(yt)).filter(Boolean);if(it.length!==0){je.layers=it,je.stateDependentLayerIds&&(je.stateDependentLayers=je.stateDependentLayerIds.map(yt=>it.filter(Ot=>Ot.id===yt)[0]));for(let yt of it)qe[yt.id]=je}}return qe}(w.buckets,B.style),this.hasSymbolBuckets=!1;for(let ee in this.buckets){let se=this.buckets[ee];if(se instanceof a.a6){if(this.hasSymbolBuckets=!0,!Q)break;se.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let ee in this.buckets){let se=this.buckets[ee];if(se instanceof a.a6&&se.hasRTLText){this.hasRTLText=!0,bt().lazyLoad();break}}this.queryPadding=0;for(let ee in this.buckets){let se=this.buckets[ee];this.queryPadding=Math.max(this.queryPadding,B.style.getLayer(ee).queryRadius(se))}w.imageAtlas&&(this.imageAtlas=w.imageAtlas),w.glyphAtlasImage&&(this.glyphAtlasImage=w.glyphAtlasImage)}else this.collisionBoxArray=new a.a5}unloadVectorData(){for(let w in this.buckets)this.buckets[w].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(w){return this.buckets[w.id]}upload(w){for(let Q in this.buckets){let ee=this.buckets[Q];ee.uploadPending()&&ee.upload(w)}let B=w.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new g(w,this.imageAtlas.image,B.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new g(w,this.glyphAtlasImage,B.ALPHA),this.glyphAtlasImage=null)}prepare(w){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(w,this.imageAtlasTexture)}queryRenderedFeatures(w,B,Q,ee,se,qe,je,it,yt,Ot){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:ee,cameraQueryGeometry:se,scale:qe,tileSize:this.tileSize,pixelPosMatrix:Ot,transform:it,params:je,queryPadding:this.queryPadding*yt},w,B,Q):{}}querySourceFeatures(w,B){let Q=this.latestFeatureIndex;if(!Q||!Q.rawTileData)return;let ee=Q.loadVTLayers(),se=B&&B.sourceLayer?B.sourceLayer:\"\",qe=ee._geojsonTileLayer||ee[se];if(!qe)return;let je=a.a7(B&&B.filter),{z:it,x:yt,y:Ot}=this.tileID.canonical,Nt={z:it,x:yt,y:Ot};for(let hr=0;hr<qe.length;hr++){let Sr=qe.feature(hr);if(je.needGeometry){let Pe=a.a8(Sr,!0);if(!je.filter(new a.z(this.tileID.overscaledZ),Pe,this.tileID.canonical))continue}else if(!je.filter(new a.z(this.tileID.overscaledZ),Sr))continue;let he=Q.getId(Sr,se),be=new a.a9(Sr,it,yt,Ot,he);be.tile=Nt,w.push(be)}}hasData(){return this.state===\"loaded\"||this.state===\"reloading\"||this.state===\"expired\"}patternsLoaded(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length}setExpiryData(w){let B=this.expirationTime;if(w.cacheControl){let Q=a.aa(w.cacheControl);Q[\"max-age\"]&&(this.expirationTime=Date.now()+1e3*Q[\"max-age\"])}else w.expires&&(this.expirationTime=new Date(w.expires).getTime());if(this.expirationTime){let Q=Date.now(),ee=!1;if(this.expirationTime>Q)ee=!1;else if(B)if(this.expirationTime<B)ee=!0;else{let se=this.expirationTime-B;se?this.expirationTime=Q+Math.max(se,3e4):ee=!0}else ee=!0;ee?(this.expiredRequestCount++,this.state=\"expired\"):this.expiredRequestCount=0}}getExpiryTimeout(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-new Date().getTime(),Math.pow(2,31)-1)}setFeatureState(w,B){if(!this.latestFeatureIndex||!this.latestFeatureIndex.rawTileData||Object.keys(w).length===0)return;let Q=this.latestFeatureIndex.loadVTLayers();for(let ee in this.buckets){if(!B.style.hasLayer(ee))continue;let se=this.buckets[ee],qe=se.layers[0].sourceLayer||\"_geojsonTileLayer\",je=Q[qe],it=w[qe];if(!je||!it||Object.keys(it).length===0)continue;se.update(it,je,this.imageAtlas&&this.imageAtlas.patternPositions||{});let yt=B&&B.style&&B.style.getLayer(ee);yt&&(this.queryPadding=Math.max(this.queryPadding,yt.queryRadius(se)))}}holdingForFade(){return this.symbolFadeHoldUntil!==void 0}symbolFadeFinished(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<u.now()}clearFadeHold(){this.symbolFadeHoldUntil=void 0}setHoldDuration(w){this.symbolFadeHoldUntil=u.now()+w}setDependencies(w,B){let Q={};for(let ee of B)Q[ee]=!0;this.dependencies[w]=Q}hasDependency(w,B){for(let Q of w){let ee=this.dependencies[Q];if(ee){for(let se of B)if(ee[se])return!0}}return!1}}class St{constructor(w,B){this.max=w,this.onRemove=B,this.reset()}reset(){for(let w in this.data)for(let B of this.data[w])B.timeout&&clearTimeout(B.timeout),this.onRemove(B.value);return this.data={},this.order=[],this}add(w,B,Q){let ee=w.wrapped().key;this.data[ee]===void 0&&(this.data[ee]=[]);let se={value:B,timeout:void 0};if(Q!==void 0&&(se.timeout=setTimeout(()=>{this.remove(w,se)},Q)),this.data[ee].push(se),this.order.push(ee),this.order.length>this.max){let qe=this._getAndRemoveByKey(this.order[0]);qe&&this.onRemove(qe)}return this}has(w){return w.wrapped().key in this.data}getAndRemove(w){return this.has(w)?this._getAndRemoveByKey(w.wrapped().key):null}_getAndRemoveByKey(w){let B=this.data[w].shift();return B.timeout&&clearTimeout(B.timeout),this.data[w].length===0&&delete this.data[w],this.order.splice(this.order.indexOf(w),1),B.value}getByKey(w){let B=this.data[w];return B?B[0].value:null}get(w){return this.has(w)?this.data[w.wrapped().key][0].value:null}remove(w,B){if(!this.has(w))return this;let Q=w.wrapped().key,ee=B===void 0?0:this.data[Q].indexOf(B),se=this.data[Q][ee];return this.data[Q].splice(ee,1),se.timeout&&clearTimeout(se.timeout),this.data[Q].length===0&&delete this.data[Q],this.onRemove(se.value),this.order.splice(this.order.indexOf(Q),1),this}setMaxSize(w){for(this.max=w;this.order.length>this.max;){let B=this._getAndRemoveByKey(this.order[0]);B&&this.onRemove(B)}return this}filter(w){let B=[];for(let Q in this.data)for(let ee of this.data[Q])w(ee.value)||B.push(ee);for(let Q of B)this.remove(Q.value.tileID,Q)}}class Et{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(w,B,Q){let ee=String(B);if(this.stateChanges[w]=this.stateChanges[w]||{},this.stateChanges[w][ee]=this.stateChanges[w][ee]||{},a.e(this.stateChanges[w][ee],Q),this.deletedStates[w]===null){this.deletedStates[w]={};for(let se in this.state[w])se!==ee&&(this.deletedStates[w][se]=null)}else if(this.deletedStates[w]&&this.deletedStates[w][ee]===null){this.deletedStates[w][ee]={};for(let se in this.state[w][ee])Q[se]||(this.deletedStates[w][ee][se]=null)}else for(let se in Q)this.deletedStates[w]&&this.deletedStates[w][ee]&&this.deletedStates[w][ee][se]===null&&delete this.deletedStates[w][ee][se]}removeFeatureState(w,B,Q){if(this.deletedStates[w]===null)return;let ee=String(B);if(this.deletedStates[w]=this.deletedStates[w]||{},Q&&B!==void 0)this.deletedStates[w][ee]!==null&&(this.deletedStates[w][ee]=this.deletedStates[w][ee]||{},this.deletedStates[w][ee][Q]=null);else if(B!==void 0)if(this.stateChanges[w]&&this.stateChanges[w][ee])for(Q in this.deletedStates[w][ee]={},this.stateChanges[w][ee])this.deletedStates[w][ee][Q]=null;else this.deletedStates[w][ee]=null;else this.deletedStates[w]=null}getState(w,B){let Q=String(B),ee=a.e({},(this.state[w]||{})[Q],(this.stateChanges[w]||{})[Q]);if(this.deletedStates[w]===null)return{};if(this.deletedStates[w]){let se=this.deletedStates[w][B];if(se===null)return{};for(let qe in se)delete ee[qe]}return ee}initializeTileState(w,B){w.setFeatureState(this.state,B)}coalesceChanges(w,B){let Q={};for(let ee in this.stateChanges){this.state[ee]=this.state[ee]||{};let se={};for(let qe in this.stateChanges[ee])this.state[ee][qe]||(this.state[ee][qe]={}),a.e(this.state[ee][qe],this.stateChanges[ee][qe]),se[qe]=this.state[ee][qe];Q[ee]=se}for(let ee in this.deletedStates){this.state[ee]=this.state[ee]||{};let se={};if(this.deletedStates[ee]===null)for(let qe in this.state[ee])se[qe]={},this.state[ee][qe]={};else for(let qe in this.deletedStates[ee]){if(this.deletedStates[ee][qe]===null)this.state[ee][qe]={};else for(let je of Object.keys(this.deletedStates[ee][qe]))delete this.state[ee][qe][je];se[qe]=this.state[ee][qe]}Q[ee]=Q[ee]||{},a.e(Q[ee],se)}if(this.stateChanges={},this.deletedStates={},Object.keys(Q).length!==0)for(let ee in w)w[ee].setFeatureState(Q,B)}}class dt extends a.E{constructor(w,B,Q){super(),this.id=w,this.dispatcher=Q,this.on(\"data\",ee=>this._dataHandler(ee)),this.on(\"dataloading\",()=>{this._sourceErrored=!1}),this.on(\"error\",()=>{this._sourceErrored=this._source.loaded()}),this._source=((ee,se,qe,je)=>{let it=new(xr(se.type))(ee,se,qe,je);if(it.id!==ee)throw new Error(`Expected Source id to be ${ee} instead of ${it.id}`);return it})(w,B,Q,this),this._tiles={},this._cache=new St(0,ee=>this._unloadTile(ee)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new Et,this._didEmitContent=!1,this._updated=!1}onAdd(w){this.map=w,this._maxTileCacheSize=w?w._maxTileCacheSize:null,this._maxTileCacheZoomLevels=w?w._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(w)}onRemove(w){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(w)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let w in this._tiles){let B=this._tiles[w];if(B.state!==\"loaded\"&&B.state!==\"errored\")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let w=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,w&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(w,B,Q){return a._(this,void 0,void 0,function*(){try{yield this._source.loadTile(w),this._tileLoaded(w,B,Q)}catch(ee){w.state=\"errored\",ee.status!==404?this._source.fire(new a.j(ee,{tile:w})):this.update(this.transform,this.terrain)}})}_unloadTile(w){this._source.unloadTile&&this._source.unloadTile(w)}_abortTile(w){this._source.abortTile&&this._source.abortTile(w),this._source.fire(new a.k(\"dataabort\",{tile:w,coord:w.tileID,dataType:\"source\"}))}serialize(){return this._source.serialize()}prepare(w){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let B in this._tiles){let Q=this._tiles[B];Q.upload(w),Q.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(w=>w.tileID).sort(Ht).map(w=>w.key)}getRenderableIds(w){let B=[];for(let Q in this._tiles)this._isIdRenderable(Q,w)&&B.push(this._tiles[Q]);return w?B.sort((Q,ee)=>{let se=Q.tileID,qe=ee.tileID,je=new a.P(se.canonical.x,se.canonical.y)._rotate(this.transform.angle),it=new a.P(qe.canonical.x,qe.canonical.y)._rotate(this.transform.angle);return se.overscaledZ-qe.overscaledZ||it.y-je.y||it.x-je.x}).map(Q=>Q.tileID.key):B.map(Q=>Q.tileID).sort(Ht).map(Q=>Q.key)}hasRenderableParent(w){let B=this.findLoadedParent(w,0);return!!B&&this._isIdRenderable(B.tileID.key)}_isIdRenderable(w,B){return this._tiles[w]&&this._tiles[w].hasData()&&!this._coveredTiles[w]&&(B||!this._tiles[w].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let w in this._tiles)this._tiles[w].state!==\"errored\"&&this._reloadTile(w,\"reloading\")}}_reloadTile(w,B){return a._(this,void 0,void 0,function*(){let Q=this._tiles[w];Q&&(Q.state!==\"loading\"&&(Q.state=B),yield this._loadTile(Q,w,B))})}_tileLoaded(w,B,Q){w.timeAdded=u.now(),Q===\"expired\"&&(w.refreshedUponExpiration=!0),this._setTileReloadTimer(B,w),this.getSource().type===\"raster-dem\"&&w.dem&&this._backfillDEM(w),this._state.initializeTileState(w,this.map?this.map.painter:null),w.aborted||this._source.fire(new a.k(\"data\",{dataType:\"source\",tile:w,coord:w.tileID}))}_backfillDEM(w){let B=this.getRenderableIds();for(let ee=0;ee<B.length;ee++){let se=B[ee];if(w.neighboringTiles&&w.neighboringTiles[se]){let qe=this.getTileByID(se);Q(w,qe),Q(qe,w)}}function Q(ee,se){ee.needsHillshadePrepare=!0,ee.needsTerrainPrepare=!0;let qe=se.tileID.canonical.x-ee.tileID.canonical.x,je=se.tileID.canonical.y-ee.tileID.canonical.y,it=Math.pow(2,ee.tileID.canonical.z),yt=se.tileID.key;qe===0&&je===0||Math.abs(je)>1||(Math.abs(qe)>1&&(Math.abs(qe+it)===1?qe+=it:Math.abs(qe-it)===1&&(qe-=it)),se.dem&&ee.dem&&(ee.dem.backfillBorder(se.dem,qe,je),ee.neighboringTiles&&ee.neighboringTiles[yt]&&(ee.neighboringTiles[yt].backfilled=!0)))}}getTile(w){return this.getTileByID(w.key)}getTileByID(w){return this._tiles[w]}_retainLoadedChildren(w,B,Q,ee){for(let se in this._tiles){let qe=this._tiles[se];if(ee[se]||!qe.hasData()||qe.tileID.overscaledZ<=B||qe.tileID.overscaledZ>Q)continue;let je=qe.tileID;for(;qe&&qe.tileID.overscaledZ>B+1;){let yt=qe.tileID.scaledTo(qe.tileID.overscaledZ-1);qe=this._tiles[yt.key],qe&&qe.hasData()&&(je=yt)}let it=je;for(;it.overscaledZ>B;)if(it=it.scaledTo(it.overscaledZ-1),w[it.key]){ee[je.key]=je;break}}}findLoadedParent(w,B){if(w.key in this._loadedParentTiles){let Q=this._loadedParentTiles[w.key];return Q&&Q.tileID.overscaledZ>=B?Q:null}for(let Q=w.overscaledZ-1;Q>=B;Q--){let ee=w.scaledTo(Q),se=this._getLoadedTile(ee);if(se)return se}}findLoadedSibling(w){return this._getLoadedTile(w)}_getLoadedTile(w){let B=this._tiles[w.key];return B&&B.hasData()?B:this._cache.getByKey(w.wrapped().key)}updateCacheSize(w){let B=Math.ceil(w.width/this._source.tileSize)+1,Q=Math.ceil(w.height/this._source.tileSize)+1,ee=Math.floor(B*Q*(this._maxTileCacheZoomLevels===null?a.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),se=typeof this._maxTileCacheSize==\"number\"?Math.min(this._maxTileCacheSize,ee):ee;this._cache.setMaxSize(se)}handleWrapJump(w){let B=Math.round((w-(this._prevLng===void 0?w:this._prevLng))/360);if(this._prevLng=w,B){let Q={};for(let ee in this._tiles){let se=this._tiles[ee];se.tileID=se.tileID.unwrapTo(se.tileID.wrap+B),Q[se.tileID.key]=se}this._tiles=Q;for(let ee in this._timers)clearTimeout(this._timers[ee]),delete this._timers[ee];for(let ee in this._tiles)this._setTileReloadTimer(ee,this._tiles[ee])}}_updateCoveredAndRetainedTiles(w,B,Q,ee,se,qe){let je={},it={},yt=Object.keys(w),Ot=u.now();for(let Nt of yt){let hr=w[Nt],Sr=this._tiles[Nt];if(!Sr||Sr.fadeEndTime!==0&&Sr.fadeEndTime<=Ot)continue;let he=this.findLoadedParent(hr,B),be=this.findLoadedSibling(hr),Pe=he||be||null;Pe&&(this._addTile(Pe.tileID),je[Pe.tileID.key]=Pe.tileID),it[Nt]=hr}this._retainLoadedChildren(it,ee,Q,w);for(let Nt in je)w[Nt]||(this._coveredTiles[Nt]=!0,w[Nt]=je[Nt]);if(qe){let Nt={},hr={};for(let Sr of se)this._tiles[Sr.key].hasData()?Nt[Sr.key]=Sr:hr[Sr.key]=Sr;for(let Sr in hr){let he=hr[Sr].children(this._source.maxzoom);this._tiles[he[0].key]&&this._tiles[he[1].key]&&this._tiles[he[2].key]&&this._tiles[he[3].key]&&(Nt[he[0].key]=w[he[0].key]=he[0],Nt[he[1].key]=w[he[1].key]=he[1],Nt[he[2].key]=w[he[2].key]=he[2],Nt[he[3].key]=w[he[3].key]=he[3],delete hr[Sr])}for(let Sr in hr){let he=hr[Sr],be=this.findLoadedParent(he,this._source.minzoom),Pe=this.findLoadedSibling(he),Oe=be||Pe||null;if(Oe){Nt[Oe.tileID.key]=w[Oe.tileID.key]=Oe.tileID;for(let Je in Nt)Nt[Je].isChildOf(Oe.tileID)&&delete Nt[Je]}}for(let Sr in this._tiles)Nt[Sr]||(this._coveredTiles[Sr]=!0)}}update(w,B){if(!this._sourceLoaded||this._paused)return;let Q;this.transform=w,this.terrain=B,this.updateCacheSize(w),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?Q=w.getVisibleUnwrappedCoordinates(this._source.tileID).map(Ot=>new a.S(Ot.canonical.z,Ot.wrap,Ot.canonical.z,Ot.canonical.x,Ot.canonical.y)):(Q=w.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:B}),this._source.hasTile&&(Q=Q.filter(Ot=>this._source.hasTile(Ot)))):Q=[];let ee=w.coveringZoomLevel(this._source),se=Math.max(ee-dt.maxOverzooming,this._source.minzoom),qe=Math.max(ee+dt.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let Ot={};for(let Nt of Q)if(Nt.canonical.z>this._source.minzoom){let hr=Nt.scaledTo(Nt.canonical.z-1);Ot[hr.key]=hr;let Sr=Nt.scaledTo(Math.max(this._source.minzoom,Math.min(Nt.canonical.z,5)));Ot[Sr.key]=Sr}Q=Q.concat(Object.values(Ot))}let je=Q.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,je&&this.fire(new a.k(\"data\",{sourceDataType:\"idle\",dataType:\"source\",sourceId:this.id}));let it=this._updateRetainedTiles(Q,ee);$t(this._source.type)&&this._updateCoveredAndRetainedTiles(it,se,qe,ee,Q,B);for(let Ot in it)this._tiles[Ot].clearFadeHold();let yt=a.ab(this._tiles,it);for(let Ot of yt){let Nt=this._tiles[Ot];Nt.hasSymbolBuckets&&!Nt.holdingForFade()?Nt.setHoldDuration(this.map._fadeDuration):Nt.hasSymbolBuckets&&!Nt.symbolFadeFinished()||this._removeTile(Ot)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(let w in this._tiles)this._tiles[w].holdingForFade()&&this._removeTile(w)}_updateRetainedTiles(w,B){var Q;let ee={},se={},qe=Math.max(B-dt.maxOverzooming,this._source.minzoom),je=Math.max(B+dt.maxUnderzooming,this._source.minzoom),it={};for(let yt of w){let Ot=this._addTile(yt);ee[yt.key]=yt,Ot.hasData()||B<this._source.maxzoom&&(it[yt.key]=yt)}this._retainLoadedChildren(it,B,je,ee);for(let yt of w){let Ot=this._tiles[yt.key];if(Ot.hasData())continue;if(B+1>this._source.maxzoom){let hr=yt.children(this._source.maxzoom)[0],Sr=this.getTile(hr);if(Sr&&Sr.hasData()){ee[hr.key]=hr;continue}}else{let hr=yt.children(this._source.maxzoom);if(ee[hr[0].key]&&ee[hr[1].key]&&ee[hr[2].key]&&ee[hr[3].key])continue}let Nt=Ot.wasRequested();for(let hr=yt.overscaledZ-1;hr>=qe;--hr){let Sr=yt.scaledTo(hr);if(se[Sr.key])break;if(se[Sr.key]=!0,Ot=this.getTile(Sr),!Ot&&Nt&&(Ot=this._addTile(Sr)),Ot){let he=Ot.hasData();if((he||!(!((Q=this.map)===null||Q===void 0)&&Q.cancelPendingTileRequestsWhileZooming)||Nt)&&(ee[Sr.key]=Sr),Nt=Ot.wasRequested(),he)break}}}return ee}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let w in this._tiles){let B=[],Q,ee=this._tiles[w].tileID;for(;ee.overscaledZ>0;){if(ee.key in this._loadedParentTiles){Q=this._loadedParentTiles[ee.key];break}B.push(ee.key);let se=ee.scaledTo(ee.overscaledZ-1);if(Q=this._getLoadedTile(se),Q)break;ee=se}for(let se of B)this._loadedParentTiles[se]=Q}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(let w in this._tiles){let B=this._tiles[w].tileID,Q=this._getLoadedTile(B);this._loadedSiblingTiles[B.key]=Q}}_addTile(w){let B=this._tiles[w.key];if(B)return B;B=this._cache.getAndRemove(w),B&&(this._setTileReloadTimer(w.key,B),B.tileID=w,this._state.initializeTileState(B,this.map?this.map.painter:null),this._cacheTimers[w.key]&&(clearTimeout(this._cacheTimers[w.key]),delete this._cacheTimers[w.key],this._setTileReloadTimer(w.key,B)));let Q=B;return B||(B=new Lt(w,this._source.tileSize*w.overscaleFactor()),this._loadTile(B,w.key,B.state)),B.uses++,this._tiles[w.key]=B,Q||this._source.fire(new a.k(\"dataloading\",{tile:B,coord:B.tileID,dataType:\"source\"})),B}_setTileReloadTimer(w,B){w in this._timers&&(clearTimeout(this._timers[w]),delete this._timers[w]);let Q=B.getExpiryTimeout();Q&&(this._timers[w]=setTimeout(()=>{this._reloadTile(w,\"expired\"),delete this._timers[w]},Q))}_removeTile(w){let B=this._tiles[w];B&&(B.uses--,delete this._tiles[w],this._timers[w]&&(clearTimeout(this._timers[w]),delete this._timers[w]),B.uses>0||(B.hasData()&&B.state!==\"reloading\"?this._cache.add(B.tileID,B,B.getExpiryTimeout()):(B.aborted=!0,this._abortTile(B),this._unloadTile(B))))}_dataHandler(w){let B=w.sourceDataType;w.dataType===\"source\"&&B===\"metadata\"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&w.dataType===\"source\"&&B===\"content\"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let w in this._tiles)this._removeTile(w);this._cache.reset()}tilesIn(w,B,Q){let ee=[],se=this.transform;if(!se)return ee;let qe=Q?se.getCameraQueryGeometry(w):w,je=w.map(he=>se.pointCoordinate(he,this.terrain)),it=qe.map(he=>se.pointCoordinate(he,this.terrain)),yt=this.getIds(),Ot=1/0,Nt=1/0,hr=-1/0,Sr=-1/0;for(let he of it)Ot=Math.min(Ot,he.x),Nt=Math.min(Nt,he.y),hr=Math.max(hr,he.x),Sr=Math.max(Sr,he.y);for(let he=0;he<yt.length;he++){let be=this._tiles[yt[he]];if(be.holdingForFade())continue;let Pe=be.tileID,Oe=Math.pow(2,se.zoom-be.tileID.overscaledZ),Je=B*be.queryPadding*a.X/be.tileSize/Oe,He=[Pe.getTilePoint(new a.Z(Ot,Nt)),Pe.getTilePoint(new a.Z(hr,Sr))];if(He[0].x-Je<a.X&&He[0].y-Je<a.X&&He[1].x+Je>=0&&He[1].y+Je>=0){let et=je.map(Dt=>Pe.getTilePoint(Dt)),Mt=it.map(Dt=>Pe.getTilePoint(Dt));ee.push({tile:be,tileID:Pe,queryGeometry:et,cameraQueryGeometry:Mt,scale:Oe})}}return ee}getVisibleCoordinates(w){let B=this.getRenderableIds(w).map(Q=>this._tiles[Q].tileID);for(let Q of B)Q.posMatrix=this.transform.calculatePosMatrix(Q.toUnwrapped());return B}hasTransition(){if(this._source.hasTransition())return!0;if($t(this._source.type)){let w=u.now();for(let B in this._tiles)if(this._tiles[B].fadeEndTime>=w)return!0}return!1}setFeatureState(w,B,Q){this._state.updateState(w=w||\"_geojsonTileLayer\",B,Q)}removeFeatureState(w,B,Q){this._state.removeFeatureState(w=w||\"_geojsonTileLayer\",B,Q)}getFeatureState(w,B){return this._state.getState(w=w||\"_geojsonTileLayer\",B)}setDependencies(w,B,Q){let ee=this._tiles[w];ee&&ee.setDependencies(B,Q)}reloadTilesForDependencies(w,B){for(let Q in this._tiles)this._tiles[Q].hasDependency(w,B)&&this._reloadTile(Q,\"reloading\");this._cache.filter(Q=>!Q.hasDependency(w,B))}}function Ht(le,w){let B=Math.abs(2*le.wrap)-+(le.wrap<0),Q=Math.abs(2*w.wrap)-+(w.wrap<0);return le.overscaledZ-w.overscaledZ||Q-B||w.canonical.y-le.canonical.y||w.canonical.x-le.canonical.x}function $t(le){return le===\"raster\"||le===\"image\"||le===\"video\"}dt.maxOverzooming=10,dt.maxUnderzooming=3;class fr{constructor(w,B){this.reset(w,B)}reset(w,B){this.points=w||[],this._distances=[0];for(let Q=1;Q<this.points.length;Q++)this._distances[Q]=this._distances[Q-1]+this.points[Q].dist(this.points[Q-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(B||0,.5*this.length),this.paddedLength=this.length-2*this.padding}lerp(w){if(this.points.length===1)return this.points[0];w=a.ac(w,0,1);let B=1,Q=this._distances[B],ee=w*this.paddedLength+this.padding;for(;Q<ee&&B<this._distances.length;)Q=this._distances[++B];let se=B-1,qe=this._distances[se],je=Q-qe,it=je>0?(ee-qe)/je:0;return this.points[se].mult(1-it).add(this.points[B].mult(it))}}function _r(le,w){let B=!0;return le===\"always\"||le!==\"never\"&&w!==\"never\"||(B=!1),B}class Br{constructor(w,B,Q){let ee=this.boxCells=[],se=this.circleCells=[];this.xCellCount=Math.ceil(w/Q),this.yCellCount=Math.ceil(B/Q);for(let qe=0;qe<this.xCellCount*this.yCellCount;qe++)ee.push([]),se.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=w,this.height=B,this.xScale=this.xCellCount/w,this.yScale=this.yCellCount/B,this.boxUid=0,this.circleUid=0}keysLength(){return this.boxKeys.length+this.circleKeys.length}insert(w,B,Q,ee,se){this._forEachCell(B,Q,ee,se,this._insertBoxCell,this.boxUid++),this.boxKeys.push(w),this.bboxes.push(B),this.bboxes.push(Q),this.bboxes.push(ee),this.bboxes.push(se)}insertCircle(w,B,Q,ee){this._forEachCell(B-ee,Q-ee,B+ee,Q+ee,this._insertCircleCell,this.circleUid++),this.circleKeys.push(w),this.circles.push(B),this.circles.push(Q),this.circles.push(ee)}_insertBoxCell(w,B,Q,ee,se,qe){this.boxCells[se].push(qe)}_insertCircleCell(w,B,Q,ee,se,qe){this.circleCells[se].push(qe)}_query(w,B,Q,ee,se,qe,je){if(Q<0||w>this.width||ee<0||B>this.height)return[];let it=[];if(w<=0&&B<=0&&this.width<=Q&&this.height<=ee){if(se)return[{key:null,x1:w,y1:B,x2:Q,y2:ee}];for(let yt=0;yt<this.boxKeys.length;yt++)it.push({key:this.boxKeys[yt],x1:this.bboxes[4*yt],y1:this.bboxes[4*yt+1],x2:this.bboxes[4*yt+2],y2:this.bboxes[4*yt+3]});for(let yt=0;yt<this.circleKeys.length;yt++){let Ot=this.circles[3*yt],Nt=this.circles[3*yt+1],hr=this.circles[3*yt+2];it.push({key:this.circleKeys[yt],x1:Ot-hr,y1:Nt-hr,x2:Ot+hr,y2:Nt+hr})}}else this._forEachCell(w,B,Q,ee,this._queryCell,it,{hitTest:se,overlapMode:qe,seenUids:{box:{},circle:{}}},je);return it}query(w,B,Q,ee){return this._query(w,B,Q,ee,!1,null)}hitTest(w,B,Q,ee,se,qe){return this._query(w,B,Q,ee,!0,se,qe).length>0}hitTestCircle(w,B,Q,ee,se){let qe=w-Q,je=w+Q,it=B-Q,yt=B+Q;if(je<0||qe>this.width||yt<0||it>this.height)return!1;let Ot=[];return this._forEachCell(qe,it,je,yt,this._queryCellCircle,Ot,{hitTest:!0,overlapMode:ee,circle:{x:w,y:B,radius:Q},seenUids:{box:{},circle:{}}},se),Ot.length>0}_queryCell(w,B,Q,ee,se,qe,je,it){let{seenUids:yt,hitTest:Ot,overlapMode:Nt}=je,hr=this.boxCells[se];if(hr!==null){let he=this.bboxes;for(let be of hr)if(!yt.box[be]){yt.box[be]=!0;let Pe=4*be,Oe=this.boxKeys[be];if(w<=he[Pe+2]&&B<=he[Pe+3]&&Q>=he[Pe+0]&&ee>=he[Pe+1]&&(!it||it(Oe))&&(!Ot||!_r(Nt,Oe.overlapMode))&&(qe.push({key:Oe,x1:he[Pe],y1:he[Pe+1],x2:he[Pe+2],y2:he[Pe+3]}),Ot))return!0}}let Sr=this.circleCells[se];if(Sr!==null){let he=this.circles;for(let be of Sr)if(!yt.circle[be]){yt.circle[be]=!0;let Pe=3*be,Oe=this.circleKeys[be];if(this._circleAndRectCollide(he[Pe],he[Pe+1],he[Pe+2],w,B,Q,ee)&&(!it||it(Oe))&&(!Ot||!_r(Nt,Oe.overlapMode))){let Je=he[Pe],He=he[Pe+1],et=he[Pe+2];if(qe.push({key:Oe,x1:Je-et,y1:He-et,x2:Je+et,y2:He+et}),Ot)return!0}}}return!1}_queryCellCircle(w,B,Q,ee,se,qe,je,it){let{circle:yt,seenUids:Ot,overlapMode:Nt}=je,hr=this.boxCells[se];if(hr!==null){let he=this.bboxes;for(let be of hr)if(!Ot.box[be]){Ot.box[be]=!0;let Pe=4*be,Oe=this.boxKeys[be];if(this._circleAndRectCollide(yt.x,yt.y,yt.radius,he[Pe+0],he[Pe+1],he[Pe+2],he[Pe+3])&&(!it||it(Oe))&&!_r(Nt,Oe.overlapMode))return qe.push(!0),!0}}let Sr=this.circleCells[se];if(Sr!==null){let he=this.circles;for(let be of Sr)if(!Ot.circle[be]){Ot.circle[be]=!0;let Pe=3*be,Oe=this.circleKeys[be];if(this._circlesCollide(he[Pe],he[Pe+1],he[Pe+2],yt.x,yt.y,yt.radius)&&(!it||it(Oe))&&!_r(Nt,Oe.overlapMode))return qe.push(!0),!0}}}_forEachCell(w,B,Q,ee,se,qe,je,it){let yt=this._convertToXCellCoord(w),Ot=this._convertToYCellCoord(B),Nt=this._convertToXCellCoord(Q),hr=this._convertToYCellCoord(ee);for(let Sr=yt;Sr<=Nt;Sr++)for(let he=Ot;he<=hr;he++)if(se.call(this,w,B,Q,ee,this.xCellCount*he+Sr,qe,je,it))return}_convertToXCellCoord(w){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(w*this.xScale)))}_convertToYCellCoord(w){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(w*this.yScale)))}_circlesCollide(w,B,Q,ee,se,qe){let je=ee-w,it=se-B,yt=Q+qe;return yt*yt>je*je+it*it}_circleAndRectCollide(w,B,Q,ee,se,qe,je){let it=(qe-ee)/2,yt=Math.abs(w-(ee+it));if(yt>it+Q)return!1;let Ot=(je-se)/2,Nt=Math.abs(B-(se+Ot));if(Nt>Ot+Q)return!1;if(yt<=it||Nt<=Ot)return!0;let hr=yt-it,Sr=Nt-Ot;return hr*hr+Sr*Sr<=Q*Q}}function Or(le,w,B,Q,ee){let se=a.H();return w?(a.K(se,se,[1/ee,1/ee,1]),B||a.ad(se,se,Q.angle)):a.L(se,Q.labelPlaneMatrix,le),se}function Nr(le,w,B,Q,ee){if(w){let se=a.ae(le);return a.K(se,se,[ee,ee,1]),B||a.ad(se,se,-Q.angle),se}return Q.glCoordMatrix}function ut(le,w,B,Q){let ee;Q?(ee=[le,w,Q(le,w),1],a.af(ee,ee,B)):(ee=[le,w,0,1],jr(ee,ee,B));let se=ee[3];return{point:new a.P(ee[0]/se,ee[1]/se),signedDistanceFromCamera:se,isOccluded:!1}}function Ne(le,w){return .5+le/w*.5}function Ye(le,w){return le.x>=-w[0]&&le.x<=w[0]&&le.y>=-w[1]&&le.y<=w[1]}function Ve(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he){let be=Q?le.textSizeData:le.iconSizeData,Pe=a.ag(be,B.transform.zoom),Oe=[256/B.width*2+1,256/B.height*2+1],Je=Q?le.text.dynamicLayoutVertexArray:le.icon.dynamicLayoutVertexArray;Je.clear();let He=le.lineVertexArray,et=Q?le.text.placedSymbolArray:le.icon.placedSymbolArray,Mt=B.transform.width/B.transform.height,Dt=!1;for(let Ut=0;Ut<et.length;Ut++){let tr=et.get(Ut);if(tr.hidden||tr.writingMode===a.ah.vertical&&!Dt){ai(tr.numGlyphs,Je);continue}Dt=!1;let mr=ut(tr.anchorX,tr.anchorY,w,he);if(!Ye(mr.point,Oe)){ai(tr.numGlyphs,Je);continue}let Rr=Ne(B.transform.cameraToCenterDistance,mr.signedDistanceFromCamera),zr=a.ai(be,Pe,tr),Xr=qe?zr/Rr:zr*Rr,di={getElevation:he,labelPlaneMatrix:ee,lineVertexArray:He,pitchWithMap:qe,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},projection:yt,tileAnchorPoint:new a.P(tr.anchorX,tr.anchorY),unwrappedTileID:Ot,width:Nt,height:hr,translation:Sr},Li=Le(di,tr,Xr,!1,je,w,se,le.glyphOffsetArray,Je,Mt,it);Dt=Li.useVertical,(Li.notEnoughRoom||Dt||Li.needsFlipping&&Le(di,tr,Xr,!0,je,w,se,le.glyphOffsetArray,Je,Mt,it).notEnoughRoom)&&ai(tr.numGlyphs,Je)}Q?le.text.dynamicLayoutVertexBuffer.updateData(Je):le.icon.dynamicLayoutVertexBuffer.updateData(Je)}function Xe(le,w,B,Q,ee,se,qe,je){let it=se.glyphStartIndex+se.numGlyphs,yt=se.lineStartIndex,Ot=se.lineStartIndex+se.lineLength,Nt=w.getoffsetX(se.glyphStartIndex),hr=w.getoffsetX(it-1),Sr=ar(le*Nt,B,Q,ee,se.segment,yt,Ot,je,qe);if(!Sr)return null;let he=ar(le*hr,B,Q,ee,se.segment,yt,Ot,je,qe);return he?je.projectionCache.anyProjectionOccluded?null:{first:Sr,last:he}:null}function ht(le,w,B,Q){return le===a.ah.horizontal&&Math.abs(B.y-w.y)>Math.abs(B.x-w.x)*Q?{useVertical:!0}:(le===a.ah.vertical?w.y<B.y:w.x>B.x)?{needsFlipping:!0}:null}function Le(le,w,B,Q,ee,se,qe,je,it,yt,Ot){let Nt=B/24,hr=w.lineOffsetX*Nt,Sr=w.lineOffsetY*Nt,he;if(w.numGlyphs>1){let be=w.glyphStartIndex+w.numGlyphs,Pe=w.lineStartIndex,Oe=w.lineStartIndex+w.lineLength,Je=Xe(Nt,je,hr,Sr,Q,w,Ot,le);if(!Je)return{notEnoughRoom:!0};let He=ut(Je.first.point.x,Je.first.point.y,qe,le.getElevation).point,et=ut(Je.last.point.x,Je.last.point.y,qe,le.getElevation).point;if(ee&&!Q){let Mt=ht(w.writingMode,He,et,yt);if(Mt)return Mt}he=[Je.first];for(let Mt=w.glyphStartIndex+1;Mt<be-1;Mt++)he.push(ar(Nt*je.getoffsetX(Mt),hr,Sr,Q,w.segment,Pe,Oe,le,Ot));he.push(Je.last)}else{if(ee&&!Q){let Pe=ut(le.tileAnchorPoint.x,le.tileAnchorPoint.y,se,le.getElevation).point,Oe=w.lineStartIndex+w.segment+1,Je=new a.P(le.lineVertexArray.getx(Oe),le.lineVertexArray.gety(Oe)),He=ut(Je.x,Je.y,se,le.getElevation),et=He.signedDistanceFromCamera>0?He.point:function(Dt,Ut,tr,mr,Rr,zr){return xe(Dt,Ut,tr,1,Rr,zr)}(le.tileAnchorPoint,Je,Pe,0,se,le),Mt=ht(w.writingMode,Pe,et,yt);if(Mt)return Mt}let be=ar(Nt*je.getoffsetX(w.glyphStartIndex),hr,Sr,Q,w.segment,w.lineStartIndex,w.lineStartIndex+w.lineLength,le,Ot);if(!be||le.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};he=[be]}for(let be of he)a.aj(it,be.point,be.angle);return{}}function xe(le,w,B,Q,ee,se){let qe=le.add(le.sub(w)._unit()),je=ee!==void 0?ut(qe.x,qe.y,ee,se.getElevation).point:lt(qe.x,qe.y,se).point,it=B.sub(je);return B.add(it._mult(Q/it.mag()))}function Se(le,w,B){let Q=w.projectionCache;if(Q.projections[le])return Q.projections[le];let ee=new a.P(w.lineVertexArray.getx(le),w.lineVertexArray.gety(le)),se=lt(ee.x,ee.y,w);if(se.signedDistanceFromCamera>0)return Q.projections[le]=se.point,Q.anyProjectionOccluded=Q.anyProjectionOccluded||se.isOccluded,se.point;let qe=le-B.direction;return function(je,it,yt,Ot,Nt){return xe(je,it,yt,Ot,void 0,Nt)}(B.distanceFromAnchor===0?w.tileAnchorPoint:new a.P(w.lineVertexArray.getx(qe),w.lineVertexArray.gety(qe)),ee,B.previousVertex,B.absOffsetX-B.distanceFromAnchor+1,w)}function lt(le,w,B){let Q=le+B.translation[0],ee=w+B.translation[1],se;return!B.pitchWithMap&&B.projection.useSpecialProjectionForSymbols?(se=B.projection.projectTileCoordinates(Q,ee,B.unwrappedTileID,B.getElevation),se.point.x=(.5*se.point.x+.5)*B.width,se.point.y=(.5*-se.point.y+.5)*B.height):(se=ut(Q,ee,B.labelPlaneMatrix,B.getElevation),se.isOccluded=!1),se}function Gt(le,w,B){return le._unit()._perp()._mult(w*B)}function Vt(le,w,B,Q,ee,se,qe,je,it){if(je.projectionCache.offsets[le])return je.projectionCache.offsets[le];let yt=B.add(w);if(le+it.direction<Q||le+it.direction>=ee)return je.projectionCache.offsets[le]=yt,yt;let Ot=Se(le+it.direction,je,it),Nt=Gt(Ot.sub(B),qe,it.direction),hr=B.add(Nt),Sr=Ot.add(Nt);return je.projectionCache.offsets[le]=a.ak(se,yt,hr,Sr)||yt,je.projectionCache.offsets[le]}function ar(le,w,B,Q,ee,se,qe,je,it){let yt=Q?le-w:le+w,Ot=yt>0?1:-1,Nt=0;Q&&(Ot*=-1,Nt=Math.PI),Ot<0&&(Nt+=Math.PI);let hr,Sr=Ot>0?se+ee:se+ee+1;je.projectionCache.cachedAnchorPoint?hr=je.projectionCache.cachedAnchorPoint:(hr=lt(je.tileAnchorPoint.x,je.tileAnchorPoint.y,je).point,je.projectionCache.cachedAnchorPoint=hr);let he,be,Pe=hr,Oe=hr,Je=0,He=0,et=Math.abs(yt),Mt=[],Dt;for(;Je+He<=et;){if(Sr+=Ot,Sr<se||Sr>=qe)return null;Je+=He,Oe=Pe,be=he;let mr={absOffsetX:et,direction:Ot,distanceFromAnchor:Je,previousVertex:Oe};if(Pe=Se(Sr,je,mr),B===0)Mt.push(Oe),Dt=Pe.sub(Oe);else{let Rr,zr=Pe.sub(Oe);Rr=zr.mag()===0?Gt(Se(Sr+Ot,je,mr).sub(Pe),B,Ot):Gt(zr,B,Ot),be||(be=Oe.add(Rr)),he=Vt(Sr,Rr,Pe,se,qe,be,B,je,mr),Mt.push(be),Dt=he.sub(be)}He=Dt.mag()}let Ut=Dt._mult((et-Je)/He)._add(be||Oe),tr=Nt+Math.atan2(Pe.y-Oe.y,Pe.x-Oe.x);return Mt.push(Ut),{point:Ut,angle:it?tr:0,path:Mt}}let Qr=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ai(le,w){for(let B=0;B<le;B++){let Q=w.length;w.resize(Q+4),w.float32.set(Qr,3*Q)}}function jr(le,w,B){let Q=w[0],ee=w[1];return le[0]=B[0]*Q+B[4]*ee+B[12],le[1]=B[1]*Q+B[5]*ee+B[13],le[3]=B[3]*Q+B[7]*ee+B[15],le}let ri=100;class bi{constructor(w,B,Q=new Br(w.width+200,w.height+200,25),ee=new Br(w.width+200,w.height+200,25)){this.transform=w,this.mapProjection=B,this.grid=Q,this.ignoredGrid=ee,this.pitchFactor=Math.cos(w._pitch)*w.cameraToCenterDistance,this.screenRightBoundary=w.width+ri,this.screenBottomBoundary=w.height+ri,this.gridRightBoundary=w.width+200,this.gridBottomBoundary=w.height+200,this.perspectiveRatioCutoff=.6}placeCollisionBox(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt){let hr=w.anchorPointX+it[0],Sr=w.anchorPointY+it[1],he=this.projectAndGetPerspectiveRatio(ee,hr,Sr,se,Ot),be=Q*he.perspectiveRatio,Pe;if(qe||je)Pe=this._projectCollisionBox(w,be,ee,se,qe,je,it,he,Ot,Nt);else{let Mt=he.point.x+(Nt?Nt.x*be:0),Dt=he.point.y+(Nt?Nt.y*be:0);Pe={allPointsOccluded:!1,box:[Mt+w.x1*be,Dt+w.y1*be,Mt+w.x2*be,Dt+w.y2*be]}}let[Oe,Je,He,et]=Pe.box;return this.mapProjection.useSpecialProjectionForSymbols&&(qe?Pe.allPointsOccluded:this.mapProjection.isOccluded(hr,Sr,se))||he.perspectiveRatio<this.perspectiveRatioCutoff||!this.isInsideGrid(Oe,Je,He,et)||B!==\"always\"&&this.grid.hitTest(Oe,Je,He,et,B,yt)?{box:[Oe,Je,He,et],placeable:!1,offscreen:!1}:{box:[Oe,Je,He,et],placeable:!0,offscreen:this.isOffscreen(Oe,Je,He,et)}}placeCollisionCircles(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he,be,Pe){let Oe=[],Je=new a.P(B.anchorX,B.anchorY),He=this.getPerspectiveRatio(qe,Je.x,Je.y,je,Pe),et=(Nt?se/He:se*He)/a.ap,Mt={getElevation:Pe,labelPlaneMatrix:it,lineVertexArray:Q,pitchWithMap:Nt,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},projection:this.mapProjection,tileAnchorPoint:Je,unwrappedTileID:je,width:this.transform.width,height:this.transform.height,translation:be},Dt=Xe(et,ee,B.lineOffsetX*et,B.lineOffsetY*et,!1,B,!1,Mt),Ut=!1,tr=!1,mr=!0;if(Dt){let Rr=.5*Sr*He+he,zr=new a.P(-100,-100),Xr=new a.P(this.screenRightBoundary,this.screenBottomBoundary),di=new fr,Li=Dt.first,Ci=Dt.last,Qi=[];for(let ea=Li.path.length-1;ea>=1;ea--)Qi.push(Li.path[ea]);for(let ea=1;ea<Ci.path.length;ea++)Qi.push(Ci.path[ea]);let Mn=2.5*Rr;if(yt){let ea=this.projectPathToScreenSpace(Qi,Mt,yt);Qi=ea.some(Ga=>Ga.signedDistanceFromCamera<=0)?[]:ea.map(Ga=>Ga.point)}let pa=[];if(Qi.length>0){let ea=Qi[0].clone(),Ga=Qi[0].clone();for(let To=1;To<Qi.length;To++)ea.x=Math.min(ea.x,Qi[To].x),ea.y=Math.min(ea.y,Qi[To].y),Ga.x=Math.max(Ga.x,Qi[To].x),Ga.y=Math.max(Ga.y,Qi[To].y);pa=ea.x>=zr.x&&Ga.x<=Xr.x&&ea.y>=zr.y&&Ga.y<=Xr.y?[Qi]:Ga.x<zr.x||ea.x>Xr.x||Ga.y<zr.y||ea.y>Xr.y?[]:a.al([Qi],zr.x,zr.y,Xr.x,Xr.y)}for(let ea of pa){di.reset(ea,.25*Rr);let Ga=0;Ga=di.length<=.5*Rr?1:Math.ceil(di.paddedLength/Mn)+1;for(let To=0;To<Ga;To++){let Wa=To/Math.max(Ga-1,1),co=di.lerp(Wa),Ro=co.x+ri,Ds=co.y+ri;Oe.push(Ro,Ds,Rr,0);let As=Ro-Rr,yo=Ds-Rr,po=Ro+Rr,_l=Ds+Rr;if(mr=mr&&this.isOffscreen(As,yo,po,_l),tr=tr||this.isInsideGrid(As,yo,po,_l),w!==\"always\"&&this.grid.hitTestCircle(Ro,Ds,Rr,w,hr)&&(Ut=!0,!Ot))return{circles:[],offscreen:!1,collisionDetected:Ut}}}}return{circles:!Ot&&Ut||!tr||He<this.perspectiveRatioCutoff?[]:Oe,offscreen:mr,collisionDetected:Ut}}projectPathToScreenSpace(w,B,Q){return w.map(ee=>ut(ee.x,ee.y,Q,B.getElevation))}queryRenderedSymbols(w){if(w.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let B=[],Q=1/0,ee=1/0,se=-1/0,qe=-1/0;for(let Ot of w){let Nt=new a.P(Ot.x+ri,Ot.y+ri);Q=Math.min(Q,Nt.x),ee=Math.min(ee,Nt.y),se=Math.max(se,Nt.x),qe=Math.max(qe,Nt.y),B.push(Nt)}let je=this.grid.query(Q,ee,se,qe).concat(this.ignoredGrid.query(Q,ee,se,qe)),it={},yt={};for(let Ot of je){let Nt=Ot.key;if(it[Nt.bucketInstanceId]===void 0&&(it[Nt.bucketInstanceId]={}),it[Nt.bucketInstanceId][Nt.featureIndex])continue;let hr=[new a.P(Ot.x1,Ot.y1),new a.P(Ot.x2,Ot.y1),new a.P(Ot.x2,Ot.y2),new a.P(Ot.x1,Ot.y2)];a.am(B,hr)&&(it[Nt.bucketInstanceId][Nt.featureIndex]=!0,yt[Nt.bucketInstanceId]===void 0&&(yt[Nt.bucketInstanceId]=[]),yt[Nt.bucketInstanceId].push(Nt.featureIndex))}return yt}insertCollisionBox(w,B,Q,ee,se,qe){(Q?this.ignoredGrid:this.grid).insert({bucketInstanceId:ee,featureIndex:se,collisionGroupID:qe,overlapMode:B},w[0],w[1],w[2],w[3])}insertCollisionCircles(w,B,Q,ee,se,qe){let je=Q?this.ignoredGrid:this.grid,it={bucketInstanceId:ee,featureIndex:se,collisionGroupID:qe,overlapMode:B};for(let yt=0;yt<w.length;yt+=4)je.insertCircle(it,w[yt],w[yt+1],w[yt+2])}projectAndGetPerspectiveRatio(w,B,Q,ee,se){let qe;se?(qe=[B,Q,se(B,Q),1],a.af(qe,qe,w)):(qe=[B,Q,0,1],jr(qe,qe,w));let je=qe[3];return{point:new a.P((qe[0]/je+1)/2*this.transform.width+ri,(-qe[1]/je+1)/2*this.transform.height+ri),perspectiveRatio:.5+this.transform.cameraToCenterDistance/je*.5,isOccluded:!1,signedDistanceFromCamera:je}}getPerspectiveRatio(w,B,Q,ee,se){let qe=this.mapProjection.useSpecialProjectionForSymbols?this.mapProjection.projectTileCoordinates(B,Q,ee,se):ut(B,Q,w,se);return .5+this.transform.cameraToCenterDistance/qe.signedDistanceFromCamera*.5}isOffscreen(w,B,Q,ee){return Q<ri||w>=this.screenRightBoundary||ee<ri||B>this.screenBottomBoundary}isInsideGrid(w,B,Q,ee){return Q>=0&&w<this.gridRightBoundary&&ee>=0&&B<this.gridBottomBoundary}getViewportMatrix(){let w=a.an([]);return a.J(w,w,[-100,-100,0]),w}_projectCollisionBox(w,B,Q,ee,se,qe,je,it,yt,Ot){let Nt=new a.P(1,0),hr=new a.P(0,1),Sr=new a.P(w.anchorPointX+je[0],w.anchorPointY+je[1]);if(qe&&!se){let mr=this.projectAndGetPerspectiveRatio(Q,Sr.x+1,Sr.y,ee,yt).point.sub(it.point).unit(),Rr=Math.atan(mr.y/mr.x)+(mr.x<0?Math.PI:0),zr=Math.sin(Rr),Xr=Math.cos(Rr);Nt=new a.P(Xr,zr),hr=new a.P(-zr,Xr)}else if(!qe&&se){let mr=-this.transform.angle,Rr=Math.sin(mr),zr=Math.cos(mr);Nt=new a.P(zr,Rr),hr=new a.P(-Rr,zr)}let he=it.point,be=B;if(se){he=Sr;let mr=this.transform.zoom-Math.floor(this.transform.zoom);be=Math.pow(2,-mr),be*=this.mapProjection.getPitchedTextCorrection(this.transform,Sr,ee),Ot||(be*=a.ac(.5+it.signedDistanceFromCamera/this.transform.cameraToCenterDistance*.5,0,4))}Ot&&(he=he.add(Nt.mult(Ot.x*be)).add(hr.mult(Ot.y*be)));let Pe=w.x1*be,Oe=w.x2*be,Je=(Pe+Oe)/2,He=w.y1*be,et=w.y2*be,Mt=(He+et)/2,Dt=[{offsetX:Pe,offsetY:He},{offsetX:Je,offsetY:He},{offsetX:Oe,offsetY:He},{offsetX:Oe,offsetY:Mt},{offsetX:Oe,offsetY:et},{offsetX:Je,offsetY:et},{offsetX:Pe,offsetY:et},{offsetX:Pe,offsetY:Mt}],Ut=[];for(let{offsetX:mr,offsetY:Rr}of Dt)Ut.push(new a.P(he.x+Nt.x*mr+hr.x*Rr,he.y+Nt.y*mr+hr.y*Rr));let tr=!1;if(se){let mr=Ut.map(Rr=>this.projectAndGetPerspectiveRatio(Q,Rr.x,Rr.y,ee,yt));tr=mr.some(Rr=>!Rr.isOccluded),Ut=mr.map(Rr=>Rr.point)}else tr=!0;return{box:a.ao(Ut),allPointsOccluded:!tr}}}function nn(le,w,B){return w*(a.X/(le.tileSize*Math.pow(2,B-le.tileID.overscaledZ)))}class Wi{constructor(w,B,Q,ee){this.opacity=w?Math.max(0,Math.min(1,w.opacity+(w.placed?B:-B))):ee&&Q?1:0,this.placed=Q}isHidden(){return this.opacity===0&&!this.placed}}class Ni{constructor(w,B,Q,ee,se){this.text=new Wi(w?w.text:null,B,Q,se),this.icon=new Wi(w?w.icon:null,B,ee,se)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class _n{constructor(w,B,Q){this.text=w,this.icon=B,this.skipFade=Q}}class $i{constructor(){this.invProjMatrix=a.H(),this.viewportMatrix=a.H(),this.circles=[]}}class zn{constructor(w,B,Q,ee,se){this.bucketInstanceId=w,this.featureIndex=B,this.sourceLayerIndex=Q,this.bucketIndex=ee,this.tileID=se}}class Wn{constructor(w){this.crossSourceCollisions=w,this.maxGroupID=0,this.collisionGroups={}}get(w){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[w]){let B=++this.maxGroupID;this.collisionGroups[w]={ID:B,predicate:Q=>Q.collisionGroupID===B}}return this.collisionGroups[w]}}function It(le,w,B,Q,ee){let{horizontalAlign:se,verticalAlign:qe}=a.au(le);return new a.P(-(se-.5)*w+Q[0]*ee,-(qe-.5)*B+Q[1]*ee)}class ft{constructor(w,B,Q,ee,se,qe){this.transform=w.clone(),this.terrain=Q,this.collisionIndex=new bi(this.transform,B),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=ee,this.retainedQueryData={},this.collisionGroups=new Wn(se),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=qe,qe&&(qe.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(w){let B=this.terrain;return B?(Q,ee)=>B.getElevation(w,Q,ee):null}getBucketParts(w,B,Q,ee){let se=Q.getBucket(B),qe=Q.latestFeatureIndex;if(!se||!qe||B.id!==se.layerIds[0])return;let je=Q.collisionBoxArray,it=se.layers[0].layout,yt=se.layers[0].paint,Ot=Math.pow(2,this.transform.zoom-Q.tileID.overscaledZ),Nt=Q.tileSize/a.X,hr=Q.tileID.toUnwrapped(),Sr=this.transform.calculatePosMatrix(hr),he=it.get(\"text-pitch-alignment\")===\"map\",be=it.get(\"text-rotation-alignment\")===\"map\",Pe=nn(Q,1,this.transform.zoom),Oe=this.collisionIndex.mapProjection.translatePosition(this.transform,Q,yt.get(\"text-translate\"),yt.get(\"text-translate-anchor\")),Je=this.collisionIndex.mapProjection.translatePosition(this.transform,Q,yt.get(\"icon-translate\"),yt.get(\"icon-translate-anchor\")),He=Or(Sr,he,be,this.transform,Pe),et=null;if(he){let Dt=Nr(Sr,he,be,this.transform,Pe);et=a.L([],this.transform.labelPlaneMatrix,Dt)}this.retainedQueryData[se.bucketInstanceId]=new zn(se.bucketInstanceId,qe,se.sourceLayerIndex,se.index,Q.tileID);let Mt={bucket:se,layout:it,translationText:Oe,translationIcon:Je,posMatrix:Sr,unwrappedTileID:hr,textLabelPlaneMatrix:He,labelToScreenMatrix:et,scale:Ot,textPixelRatio:Nt,holdingForFade:Q.holdingForFade(),collisionBoxArray:je,partiallyEvaluatedTextSize:a.ag(se.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(se.sourceID)};if(ee)for(let Dt of se.sortKeyRanges){let{sortKey:Ut,symbolInstanceStart:tr,symbolInstanceEnd:mr}=Dt;w.push({sortKey:Ut,symbolInstanceStart:tr,symbolInstanceEnd:mr,parameters:Mt})}else w.push({symbolInstanceStart:0,symbolInstanceEnd:se.symbolInstances.length,parameters:Mt})}attemptAnchorPlacement(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he,be,Pe,Oe,Je,He){let et=a.aq[w.textAnchor],Mt=[w.textOffset0,w.textOffset1],Dt=It(et,Q,ee,Mt,se),Ut=this.collisionIndex.placeCollisionBox(B,hr,it,yt,Ot,je,qe,Pe,Nt.predicate,He,Dt);if((!Je||this.collisionIndex.placeCollisionBox(Je,hr,it,yt,Ot,je,qe,Oe,Nt.predicate,He,Dt).placeable)&&Ut.placeable){let tr;if(this.prevPlacement&&this.prevPlacement.variableOffsets[Sr.crossTileID]&&this.prevPlacement.placements[Sr.crossTileID]&&this.prevPlacement.placements[Sr.crossTileID].text&&(tr=this.prevPlacement.variableOffsets[Sr.crossTileID].anchor),Sr.crossTileID===0)throw new Error(\"symbolInstance.crossTileID can't be 0\");return this.variableOffsets[Sr.crossTileID]={textOffset:Mt,width:Q,height:ee,anchor:et,textBoxScale:se,prevAnchor:tr},this.markUsedJustification(he,et,Sr,be),he.allowVerticalPlacement&&(this.markUsedOrientation(he,be,Sr),this.placedOrientations[Sr.crossTileID]=be),{shift:Dt,placedGlyphBoxes:Ut}}}placeLayerBucketPart(w,B,Q){let{bucket:ee,layout:se,translationText:qe,translationIcon:je,posMatrix:it,unwrappedTileID:yt,textLabelPlaneMatrix:Ot,labelToScreenMatrix:Nt,textPixelRatio:hr,holdingForFade:Sr,collisionBoxArray:he,partiallyEvaluatedTextSize:be,collisionGroup:Pe}=w.parameters,Oe=se.get(\"text-optional\"),Je=se.get(\"icon-optional\"),He=a.ar(se,\"text-overlap\",\"text-allow-overlap\"),et=He===\"always\",Mt=a.ar(se,\"icon-overlap\",\"icon-allow-overlap\"),Dt=Mt===\"always\",Ut=se.get(\"text-rotation-alignment\")===\"map\",tr=se.get(\"text-pitch-alignment\")===\"map\",mr=se.get(\"icon-text-fit\")!==\"none\",Rr=se.get(\"symbol-z-order\")===\"viewport-y\",zr=et&&(Dt||!ee.hasIconData()||Je),Xr=Dt&&(et||!ee.hasTextData()||Oe);!ee.collisionArrays&&he&&ee.deserializeCollisionBoxes(he);let di=this._getTerrainElevationFunc(this.retainedQueryData[ee.bucketInstanceId].tileID),Li=(Ci,Qi,Mn)=>{var pa,ea;if(B[Ci.crossTileID])return;if(Sr)return void(this.placements[Ci.crossTileID]=new _n(!1,!1,!1));let Ga=!1,To=!1,Wa=!0,co=null,Ro={box:null,placeable:!1,offscreen:null},Ds={box:null,placeable:!1,offscreen:null},As=null,yo=null,po=null,_l=0,Hl=0,Zu=0;Qi.textFeatureIndex?_l=Qi.textFeatureIndex:Ci.useRuntimeCollisionCircles&&(_l=Ci.featureIndex),Qi.verticalTextFeatureIndex&&(Hl=Qi.verticalTextFeatureIndex);let cu=Qi.textBox;if(cu){let zl=we=>{let Be=a.ah.horizontal;if(ee.allowVerticalPlacement&&!we&&this.prevPlacement){let Ue=this.prevPlacement.placedOrientations[Ci.crossTileID];Ue&&(this.placedOrientations[Ci.crossTileID]=Ue,Be=Ue,this.markUsedOrientation(ee,Be,Ci))}return Be},Fl=(we,Be)=>{if(ee.allowVerticalPlacement&&Ci.numVerticalGlyphVertices>0&&Qi.verticalTextBox){for(let Ue of ee.writingModes)if(Ue===a.ah.vertical?(Ro=Be(),Ds=Ro):Ro=we(),Ro&&Ro.placeable)break}else Ro=we()},Z=Ci.textAnchorOffsetStartIndex,oe=Ci.textAnchorOffsetEndIndex;if(oe===Z){let we=(Be,Ue)=>{let We=this.collisionIndex.placeCollisionBox(Be,He,hr,it,yt,tr,Ut,qe,Pe.predicate,di);return We&&We.placeable&&(this.markUsedOrientation(ee,Ue,Ci),this.placedOrientations[Ci.crossTileID]=Ue),We};Fl(()=>we(cu,a.ah.horizontal),()=>{let Be=Qi.verticalTextBox;return ee.allowVerticalPlacement&&Ci.numVerticalGlyphVertices>0&&Be?we(Be,a.ah.vertical):{box:null,offscreen:null}}),zl(Ro&&Ro.placeable)}else{let we=a.aq[(ea=(pa=this.prevPlacement)===null||pa===void 0?void 0:pa.variableOffsets[Ci.crossTileID])===null||ea===void 0?void 0:ea.anchor],Be=(We,wt,tt)=>{let zt=We.x2-We.x1,or=We.y2-We.y1,lr=Ci.textBoxScale,Dr=mr&&Mt===\"never\"?wt:null,Ir=null,oi=He===\"never\"?1:2,ui=\"never\";we&&oi++;for(let qr=0;qr<oi;qr++){for(let Kr=Z;Kr<oe;Kr++){let ii=ee.textAnchorOffsets.get(Kr);if(we&&ii.textAnchor!==we)continue;let vi=this.attemptAnchorPlacement(ii,We,zt,or,lr,Ut,tr,hr,it,yt,Pe,ui,Ci,ee,tt,qe,je,Dr,di);if(vi&&(Ir=vi.placedGlyphBoxes,Ir&&Ir.placeable))return Ga=!0,co=vi.shift,Ir}we?we=null:ui=He}return Q&&!Ir&&(Ir={box:this.collisionIndex.placeCollisionBox(cu,\"always\",hr,it,yt,tr,Ut,qe,Pe.predicate,di,new a.P(0,0)).box,offscreen:!1,placeable:!1}),Ir};Fl(()=>Be(cu,Qi.iconBox,a.ah.horizontal),()=>{let We=Qi.verticalTextBox;return ee.allowVerticalPlacement&&(!Ro||!Ro.placeable)&&Ci.numVerticalGlyphVertices>0&&We?Be(We,Qi.verticalIconBox,a.ah.vertical):{box:null,occluded:!0,offscreen:null}}),Ro&&(Ga=Ro.placeable,Wa=Ro.offscreen);let Ue=zl(Ro&&Ro.placeable);if(!Ga&&this.prevPlacement){let We=this.prevPlacement.variableOffsets[Ci.crossTileID];We&&(this.variableOffsets[Ci.crossTileID]=We,this.markUsedJustification(ee,We.anchor,Ci,Ue))}}}if(As=Ro,Ga=As&&As.placeable,Wa=As&&As.offscreen,Ci.useRuntimeCollisionCircles){let zl=ee.text.placedSymbolArray.get(Ci.centerJustifiedTextSymbolIndex),Fl=a.ai(ee.textSizeData,be,zl),Z=se.get(\"text-padding\");yo=this.collisionIndex.placeCollisionCircles(He,zl,ee.lineVertexArray,ee.glyphOffsetArray,Fl,it,yt,Ot,Nt,Q,tr,Pe.predicate,Ci.collisionCircleDiameter,Z,qe,di),yo.circles.length&&yo.collisionDetected&&!Q&&a.w(\"Collisions detected, but collision boxes are not shown\"),Ga=et||yo.circles.length>0&&!yo.collisionDetected,Wa=Wa&&yo.offscreen}if(Qi.iconFeatureIndex&&(Zu=Qi.iconFeatureIndex),Qi.iconBox){let zl=Fl=>this.collisionIndex.placeCollisionBox(Fl,Mt,hr,it,yt,tr,Ut,je,Pe.predicate,di,mr&&co?co:void 0);Ds&&Ds.placeable&&Qi.verticalIconBox?(po=zl(Qi.verticalIconBox),To=po.placeable):(po=zl(Qi.iconBox),To=po.placeable),Wa=Wa&&po.offscreen}let el=Oe||Ci.numHorizontalGlyphVertices===0&&Ci.numVerticalGlyphVertices===0,au=Je||Ci.numIconVertices===0;el||au?au?el||(To=To&&Ga):Ga=To&&Ga:To=Ga=To&&Ga;let zc=To&&po.placeable;if(Ga&&As.placeable&&this.collisionIndex.insertCollisionBox(As.box,He,se.get(\"text-ignore-placement\"),ee.bucketInstanceId,Ds&&Ds.placeable&&Hl?Hl:_l,Pe.ID),zc&&this.collisionIndex.insertCollisionBox(po.box,Mt,se.get(\"icon-ignore-placement\"),ee.bucketInstanceId,Zu,Pe.ID),yo&&Ga&&this.collisionIndex.insertCollisionCircles(yo.circles,He,se.get(\"text-ignore-placement\"),ee.bucketInstanceId,_l,Pe.ID),Q&&this.storeCollisionData(ee.bucketInstanceId,Mn,Qi,As,po,yo),Ci.crossTileID===0)throw new Error(\"symbolInstance.crossTileID can't be 0\");if(ee.bucketInstanceId===0)throw new Error(\"bucket.bucketInstanceId can't be 0\");this.placements[Ci.crossTileID]=new _n(Ga||zr,To||Xr,Wa||ee.justReloaded),B[Ci.crossTileID]=!0};if(Rr){if(w.symbolInstanceStart!==0)throw new Error(\"bucket.bucketInstanceId should be 0\");let Ci=ee.getSortedSymbolIndexes(this.transform.angle);for(let Qi=Ci.length-1;Qi>=0;--Qi){let Mn=Ci[Qi];Li(ee.symbolInstances.get(Mn),ee.collisionArrays[Mn],Mn)}}else for(let Ci=w.symbolInstanceStart;Ci<w.symbolInstanceEnd;Ci++)Li(ee.symbolInstances.get(Ci),ee.collisionArrays[Ci],Ci);if(Q&&ee.bucketInstanceId in this.collisionCircleArrays){let Ci=this.collisionCircleArrays[ee.bucketInstanceId];a.as(Ci.invProjMatrix,it),Ci.viewportMatrix=this.collisionIndex.getViewportMatrix()}ee.justReloaded=!1}storeCollisionData(w,B,Q,ee,se,qe){if(Q.textBox||Q.iconBox){let je,it;this.collisionBoxArrays.has(w)?je=this.collisionBoxArrays.get(w):(je=new Map,this.collisionBoxArrays.set(w,je)),je.has(B)?it=je.get(B):(it={text:null,icon:null},je.set(B,it)),Q.textBox&&(it.text=ee.box),Q.iconBox&&(it.icon=se.box)}if(qe){let je=this.collisionCircleArrays[w];je===void 0&&(je=this.collisionCircleArrays[w]=new $i);for(let it=0;it<qe.circles.length;it+=4)je.circles.push(qe.circles[it+0]),je.circles.push(qe.circles[it+1]),je.circles.push(qe.circles[it+2]),je.circles.push(qe.collisionDetected?1:0)}}markUsedJustification(w,B,Q,ee){let se;se=ee===a.ah.vertical?Q.verticalPlacedTextSymbolIndex:{left:Q.leftJustifiedTextSymbolIndex,center:Q.centerJustifiedTextSymbolIndex,right:Q.rightJustifiedTextSymbolIndex}[a.at(B)];let qe=[Q.leftJustifiedTextSymbolIndex,Q.centerJustifiedTextSymbolIndex,Q.rightJustifiedTextSymbolIndex,Q.verticalPlacedTextSymbolIndex];for(let je of qe)je>=0&&(w.text.placedSymbolArray.get(je).crossTileID=se>=0&&je!==se?0:Q.crossTileID)}markUsedOrientation(w,B,Q){let ee=B===a.ah.horizontal||B===a.ah.horizontalOnly?B:0,se=B===a.ah.vertical?B:0,qe=[Q.leftJustifiedTextSymbolIndex,Q.centerJustifiedTextSymbolIndex,Q.rightJustifiedTextSymbolIndex];for(let je of qe)w.text.placedSymbolArray.get(je).placedOrientation=ee;Q.verticalPlacedTextSymbolIndex&&(w.text.placedSymbolArray.get(Q.verticalPlacedTextSymbolIndex).placedOrientation=se)}commit(w){this.commitTime=w,this.zoomAtLastRecencyCheck=this.transform.zoom;let B=this.prevPlacement,Q=!1;this.prevZoomAdjustment=B?B.zoomAdjustment(this.transform.zoom):0;let ee=B?B.symbolFadeChange(w):1,se=B?B.opacities:{},qe=B?B.variableOffsets:{},je=B?B.placedOrientations:{};for(let it in this.placements){let yt=this.placements[it],Ot=se[it];Ot?(this.opacities[it]=new Ni(Ot,ee,yt.text,yt.icon),Q=Q||yt.text!==Ot.text.placed||yt.icon!==Ot.icon.placed):(this.opacities[it]=new Ni(null,ee,yt.text,yt.icon,yt.skipFade),Q=Q||yt.text||yt.icon)}for(let it in se){let yt=se[it];if(!this.opacities[it]){let Ot=new Ni(yt,ee,!1,!1);Ot.isHidden()||(this.opacities[it]=Ot,Q=Q||yt.text.placed||yt.icon.placed)}}for(let it in qe)this.variableOffsets[it]||!this.opacities[it]||this.opacities[it].isHidden()||(this.variableOffsets[it]=qe[it]);for(let it in je)this.placedOrientations[it]||!this.opacities[it]||this.opacities[it].isHidden()||(this.placedOrientations[it]=je[it]);if(B&&B.lastPlacementChangeTime===void 0)throw new Error(\"Last placement time for previous placement is not defined\");Q?this.lastPlacementChangeTime=w:typeof this.lastPlacementChangeTime!=\"number\"&&(this.lastPlacementChangeTime=B?B.lastPlacementChangeTime:w)}updateLayerOpacities(w,B){let Q={};for(let ee of B){let se=ee.getBucket(w);se&&ee.latestFeatureIndex&&w.id===se.layerIds[0]&&this.updateBucketOpacities(se,ee.tileID,Q,ee.collisionBoxArray)}}updateBucketOpacities(w,B,Q,ee){w.hasTextData()&&(w.text.opacityVertexArray.clear(),w.text.hasVisibleVertices=!1),w.hasIconData()&&(w.icon.opacityVertexArray.clear(),w.icon.hasVisibleVertices=!1),w.hasIconCollisionBoxData()&&w.iconCollisionBox.collisionVertexArray.clear(),w.hasTextCollisionBoxData()&&w.textCollisionBox.collisionVertexArray.clear();let se=w.layers[0],qe=se.layout,je=new Ni(null,0,!1,!1,!0),it=qe.get(\"text-allow-overlap\"),yt=qe.get(\"icon-allow-overlap\"),Ot=se._unevaluatedLayout.hasValue(\"text-variable-anchor\")||se._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),Nt=qe.get(\"text-rotation-alignment\")===\"map\",hr=qe.get(\"text-pitch-alignment\")===\"map\",Sr=qe.get(\"icon-text-fit\")!==\"none\",he=new Ni(null,0,it&&(yt||!w.hasIconData()||qe.get(\"icon-optional\")),yt&&(it||!w.hasTextData()||qe.get(\"text-optional\")),!0);!w.collisionArrays&&ee&&(w.hasIconCollisionBoxData()||w.hasTextCollisionBoxData())&&w.deserializeCollisionBoxes(ee);let be=(Oe,Je,He)=>{for(let et=0;et<Je/4;et++)Oe.opacityVertexArray.emplaceBack(He);Oe.hasVisibleVertices=Oe.hasVisibleVertices||He!==Pi},Pe=this.collisionBoxArrays.get(w.bucketInstanceId);for(let Oe=0;Oe<w.symbolInstances.length;Oe++){let Je=w.symbolInstances.get(Oe),{numHorizontalGlyphVertices:He,numVerticalGlyphVertices:et,crossTileID:Mt}=Je,Dt=this.opacities[Mt];Q[Mt]?Dt=je:Dt||(Dt=he,this.opacities[Mt]=Dt),Q[Mt]=!0;let Ut=Je.numIconVertices>0,tr=this.placedOrientations[Je.crossTileID],mr=tr===a.ah.vertical,Rr=tr===a.ah.horizontal||tr===a.ah.horizontalOnly;if(He>0||et>0){let Xr=Mi(Dt.text);be(w.text,He,mr?Pi:Xr),be(w.text,et,Rr?Pi:Xr);let di=Dt.text.isHidden();[Je.rightJustifiedTextSymbolIndex,Je.centerJustifiedTextSymbolIndex,Je.leftJustifiedTextSymbolIndex].forEach(Qi=>{Qi>=0&&(w.text.placedSymbolArray.get(Qi).hidden=di||mr?1:0)}),Je.verticalPlacedTextSymbolIndex>=0&&(w.text.placedSymbolArray.get(Je.verticalPlacedTextSymbolIndex).hidden=di||Rr?1:0);let Li=this.variableOffsets[Je.crossTileID];Li&&this.markUsedJustification(w,Li.anchor,Je,tr);let Ci=this.placedOrientations[Je.crossTileID];Ci&&(this.markUsedJustification(w,\"left\",Je,Ci),this.markUsedOrientation(w,Ci,Je))}if(Ut){let Xr=Mi(Dt.icon),di=!(Sr&&Je.verticalPlacedIconSymbolIndex&&mr);Je.placedIconSymbolIndex>=0&&(be(w.icon,Je.numIconVertices,di?Xr:Pi),w.icon.placedSymbolArray.get(Je.placedIconSymbolIndex).hidden=Dt.icon.isHidden()),Je.verticalPlacedIconSymbolIndex>=0&&(be(w.icon,Je.numVerticalIconVertices,di?Pi:Xr),w.icon.placedSymbolArray.get(Je.verticalPlacedIconSymbolIndex).hidden=Dt.icon.isHidden())}let zr=Pe&&Pe.has(Oe)?Pe.get(Oe):{text:null,icon:null};if(w.hasIconCollisionBoxData()||w.hasTextCollisionBoxData()){let Xr=w.collisionArrays[Oe];if(Xr){let di=new a.P(0,0);if(Xr.textBox||Xr.verticalTextBox){let Li=!0;if(Ot){let Ci=this.variableOffsets[Mt];Ci?(di=It(Ci.anchor,Ci.width,Ci.height,Ci.textOffset,Ci.textBoxScale),Nt&&di._rotate(hr?this.transform.angle:-this.transform.angle)):Li=!1}if(Xr.textBox||Xr.verticalTextBox){let Ci;Xr.textBox&&(Ci=mr),Xr.verticalTextBox&&(Ci=Rr),jt(w.textCollisionBox.collisionVertexArray,Dt.text.placed,!Li||Ci,zr.text,di.x,di.y)}}if(Xr.iconBox||Xr.verticalIconBox){let Li=!!(!Rr&&Xr.verticalIconBox),Ci;Xr.iconBox&&(Ci=Li),Xr.verticalIconBox&&(Ci=!Li),jt(w.iconCollisionBox.collisionVertexArray,Dt.icon.placed,Ci,zr.icon,Sr?di.x:0,Sr?di.y:0)}}}}if(w.sortFeatures(this.transform.angle),this.retainedQueryData[w.bucketInstanceId]&&(this.retainedQueryData[w.bucketInstanceId].featureSortOrder=w.featureSortOrder),w.hasTextData()&&w.text.opacityVertexBuffer&&w.text.opacityVertexBuffer.updateData(w.text.opacityVertexArray),w.hasIconData()&&w.icon.opacityVertexBuffer&&w.icon.opacityVertexBuffer.updateData(w.icon.opacityVertexArray),w.hasIconCollisionBoxData()&&w.iconCollisionBox.collisionVertexBuffer&&w.iconCollisionBox.collisionVertexBuffer.updateData(w.iconCollisionBox.collisionVertexArray),w.hasTextCollisionBoxData()&&w.textCollisionBox.collisionVertexBuffer&&w.textCollisionBox.collisionVertexBuffer.updateData(w.textCollisionBox.collisionVertexArray),w.text.opacityVertexArray.length!==w.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${w.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${w.text.layoutVertexArray.length}) / 4`);if(w.icon.opacityVertexArray.length!==w.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${w.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${w.icon.layoutVertexArray.length}) / 4`);if(w.bucketInstanceId in this.collisionCircleArrays){let Oe=this.collisionCircleArrays[w.bucketInstanceId];w.placementInvProjMatrix=Oe.invProjMatrix,w.placementViewportMatrix=Oe.viewportMatrix,w.collisionCircleArray=Oe.circles,delete this.collisionCircleArrays[w.bucketInstanceId]}}symbolFadeChange(w){return this.fadeDuration===0?1:(w-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(w){return Math.max(0,(this.transform.zoom-w)/1.5)}hasTransitions(w){return this.stale||w-this.lastPlacementChangeTime<this.fadeDuration}stillRecent(w,B){let Q=this.zoomAtLastRecencyCheck===B?1-this.zoomAdjustment(B):1;return this.zoomAtLastRecencyCheck=B,this.commitTime+this.fadeDuration*Q>w}setStale(){this.stale=!0}}function jt(le,w,B,Q,ee,se){Q&&Q.length!==0||(Q=[0,0,0,0]);let qe=Q[0]-ri,je=Q[1]-ri,it=Q[2]-ri,yt=Q[3]-ri;le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,qe,je),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,it,je),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,it,yt),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,qe,yt)}let Zt=Math.pow(2,25),yr=Math.pow(2,24),Fr=Math.pow(2,17),Zr=Math.pow(2,16),Vr=Math.pow(2,9),gi=Math.pow(2,8),Si=Math.pow(2,1);function Mi(le){if(le.opacity===0&&!le.placed)return 0;if(le.opacity===1&&le.placed)return 4294967295;let w=le.placed?1:0,B=Math.floor(127*le.opacity);return B*Zt+w*yr+B*Fr+w*Zr+B*Vr+w*gi+B*Si+w}let Pi=0;function Gi(){return{isOccluded:(le,w,B)=>!1,getPitchedTextCorrection:(le,w,B)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(le,w,B,Q){throw new Error(\"Not implemented.\")},translatePosition:(le,w,B,Q)=>function(ee,se,qe,je,it=!1){if(!qe[0]&&!qe[1])return[0,0];let yt=it?je===\"map\"?ee.angle:0:je===\"viewport\"?-ee.angle:0;if(yt){let Ot=Math.sin(yt),Nt=Math.cos(yt);qe=[qe[0]*Nt-qe[1]*Ot,qe[0]*Ot+qe[1]*Nt]}return[it?qe[0]:nn(se,qe[0],ee.zoom),it?qe[1]:nn(se,qe[1],ee.zoom)]}(le,w,B,Q),getCircleRadiusCorrection:le=>1}}class Ki{constructor(w){this._sortAcrossTiles=w.layout.get(\"symbol-z-order\")!==\"viewport-y\"&&!w.layout.get(\"symbol-sort-key\").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(w,B,Q,ee,se){let qe=this._bucketParts;for(;this._currentTileIndex<w.length;)if(B.getBucketParts(qe,ee,w[this._currentTileIndex],this._sortAcrossTiles),this._currentTileIndex++,se())return!0;for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,qe.sort((je,it)=>je.sortKey-it.sortKey));this._currentPartIndex<qe.length;)if(B.placeLayerBucketPart(qe[this._currentPartIndex],this._seenCrossTileIDs,Q),this._currentPartIndex++,se())return!0;return!1}}class ka{constructor(w,B,Q,ee,se,qe,je,it){this.placement=new ft(w,Gi(),B,qe,je,it),this._currentPlacementIndex=Q.length-1,this._forceFullPlacement=ee,this._showCollisionBoxes=se,this._done=!1}isDone(){return this._done}continuePlacement(w,B,Q){let ee=u.now(),se=()=>!this._forceFullPlacement&&u.now()-ee>2;for(;this._currentPlacementIndex>=0;){let qe=B[w[this._currentPlacementIndex]],je=this.placement.collisionIndex.transform.zoom;if(qe.type===\"symbol\"&&(!qe.minzoom||qe.minzoom<=je)&&(!qe.maxzoom||qe.maxzoom>je)){if(this._inProgressLayer||(this._inProgressLayer=new Ki(qe)),this._inProgressLayer.continuePlacement(Q[qe.source],this.placement,this._showCollisionBoxes,qe,se))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(w){return this.placement.commit(w),this.placement}}let jn=512/a.X/2;class la{constructor(w,B,Q){this.tileID=w,this.bucketInstanceId=Q,this._symbolsByKey={};let ee=new Map;for(let se=0;se<B.length;se++){let qe=B.get(se),je=qe.key,it=ee.get(je);it?it.push(qe):ee.set(je,[qe])}for(let[se,qe]of ee){let je={positions:qe.map(it=>({x:Math.floor(it.anchorX*jn),y:Math.floor(it.anchorY*jn)})),crossTileIDs:qe.map(it=>it.crossTileID)};if(je.positions.length>128){let it=new a.av(je.positions.length,16,Uint16Array);for(let{x:yt,y:Ot}of je.positions)it.add(yt,Ot);it.finish(),delete je.positions,je.index=it}this._symbolsByKey[se]=je}}getScaledCoordinates(w,B){let{x:Q,y:ee,z:se}=this.tileID.canonical,{x:qe,y:je,z:it}=B.canonical,yt=jn/Math.pow(2,it-se),Ot=(je*a.X+w.anchorY)*yt,Nt=ee*a.X*jn;return{x:Math.floor((qe*a.X+w.anchorX)*yt-Q*a.X*jn),y:Math.floor(Ot-Nt)}}findMatches(w,B,Q){let ee=this.tileID.canonical.z<B.canonical.z?1:Math.pow(2,this.tileID.canonical.z-B.canonical.z);for(let se=0;se<w.length;se++){let qe=w.get(se);if(qe.crossTileID)continue;let je=this._symbolsByKey[qe.key];if(!je)continue;let it=this.getScaledCoordinates(qe,B);if(je.index){let yt=je.index.range(it.x-ee,it.y-ee,it.x+ee,it.y+ee).sort();for(let Ot of yt){let Nt=je.crossTileIDs[Ot];if(!Q[Nt]){Q[Nt]=!0,qe.crossTileID=Nt;break}}}else if(je.positions)for(let yt=0;yt<je.positions.length;yt++){let Ot=je.positions[yt],Nt=je.crossTileIDs[yt];if(Math.abs(Ot.x-it.x)<=ee&&Math.abs(Ot.y-it.y)<=ee&&!Q[Nt]){Q[Nt]=!0,qe.crossTileID=Nt;break}}}}getCrossTileIDsLists(){return Object.values(this._symbolsByKey).map(({crossTileIDs:w})=>w)}}class Fa{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class Ra{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(w){let B=Math.round((w-this.lng)/360);if(B!==0)for(let Q in this.indexes){let ee=this.indexes[Q],se={};for(let qe in ee){let je=ee[qe];je.tileID=je.tileID.unwrapTo(je.tileID.wrap+B),se[je.tileID.key]=je}this.indexes[Q]=se}this.lng=w}addBucket(w,B,Q){if(this.indexes[w.overscaledZ]&&this.indexes[w.overscaledZ][w.key]){if(this.indexes[w.overscaledZ][w.key].bucketInstanceId===B.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(w.overscaledZ,this.indexes[w.overscaledZ][w.key])}for(let se=0;se<B.symbolInstances.length;se++)B.symbolInstances.get(se).crossTileID=0;this.usedCrossTileIDs[w.overscaledZ]||(this.usedCrossTileIDs[w.overscaledZ]={});let ee=this.usedCrossTileIDs[w.overscaledZ];for(let se in this.indexes){let qe=this.indexes[se];if(Number(se)>w.overscaledZ)for(let je in qe){let it=qe[je];it.tileID.isChildOf(w)&&it.findMatches(B.symbolInstances,w,ee)}else{let je=qe[w.scaledTo(Number(se)).key];je&&je.findMatches(B.symbolInstances,w,ee)}}for(let se=0;se<B.symbolInstances.length;se++){let qe=B.symbolInstances.get(se);qe.crossTileID||(qe.crossTileID=Q.generate(),ee[qe.crossTileID]=!0)}return this.indexes[w.overscaledZ]===void 0&&(this.indexes[w.overscaledZ]={}),this.indexes[w.overscaledZ][w.key]=new la(w,B.symbolInstances,B.bucketInstanceId),!0}removeBucketCrossTileIDs(w,B){for(let Q of B.getCrossTileIDsLists())for(let ee of Q)delete this.usedCrossTileIDs[w][ee]}removeStaleBuckets(w){let B=!1;for(let Q in this.indexes){let ee=this.indexes[Q];for(let se in ee)w[ee[se].bucketInstanceId]||(this.removeBucketCrossTileIDs(Q,ee[se]),delete ee[se],B=!0)}return B}}class jo{constructor(){this.layerIndexes={},this.crossTileIDs=new Fa,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}}addLayer(w,B,Q){let ee=this.layerIndexes[w.id];ee===void 0&&(ee=this.layerIndexes[w.id]=new Ra);let se=!1,qe={};ee.handleWrapJump(Q);for(let je of B){let it=je.getBucket(w);it&&w.id===it.layerIds[0]&&(it.bucketInstanceId||(it.bucketInstanceId=++this.maxBucketInstanceId),ee.addBucket(je.tileID,it,this.crossTileIDs)&&(se=!0),qe[it.bucketInstanceId]=!0)}return ee.removeStaleBuckets(qe)&&(se=!0),se}pruneUnusedLayers(w){let B={};w.forEach(Q=>{B[Q]=!0});for(let Q in this.layerIndexes)B[Q]||delete this.layerIndexes[Q]}}let oa=(le,w)=>a.t(le,w&&w.filter(B=>B.identifier!==\"source.canvas\")),Sn=a.aw();class Ha extends a.E{constructor(w,B={}){super(),this._rtlPluginLoaded=()=>{for(let Q in this.sourceCaches){let ee=this.sourceCaches[Q].getSource().type;ee!==\"vector\"&&ee!==\"geojson\"||this.sourceCaches[Q].reload()}},this.map=w,this.dispatcher=new Ee(Te(),w._getMapId()),this.dispatcher.registerMessageHandler(\"GG\",(Q,ee)=>this.getGlyphs(Q,ee)),this.dispatcher.registerMessageHandler(\"GI\",(Q,ee)=>this.getImages(Q,ee)),this.imageManager=new T,this.imageManager.setEventedParent(this),this.glyphManager=new H(w._requestManager,B.localIdeographFontFamily),this.lineAtlas=new ae(256,512),this.crossTileSymbolIndex=new jo,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new a.ax,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"SR\",a.ay()),bt().on(er,this._rtlPluginLoaded),this.on(\"data\",Q=>{if(Q.dataType!==\"source\"||Q.sourceDataType!==\"metadata\")return;let ee=this.sourceCaches[Q.sourceId];if(!ee)return;let se=ee.getSource();if(se&&se.vectorLayerIds)for(let qe in this._layers){let je=this._layers[qe];je.source===se.id&&this._validateLayer(je)}})}loadURL(w,B={},Q){this.fire(new a.k(\"dataloading\",{dataType:\"style\"})),B.validate=typeof B.validate!=\"boolean\"||B.validate;let ee=this.map._requestManager.transformRequest(w,\"Style\");this._loadStyleRequest=new AbortController;let se=this._loadStyleRequest;a.h(ee,this._loadStyleRequest).then(qe=>{this._loadStyleRequest=null,this._load(qe.data,B,Q)}).catch(qe=>{this._loadStyleRequest=null,qe&&!se.signal.aborted&&this.fire(new a.j(qe))})}loadJSON(w,B={},Q){this.fire(new a.k(\"dataloading\",{dataType:\"style\"})),this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then(()=>{this._frameRequest=null,B.validate=B.validate!==!1,this._load(w,B,Q)}).catch(()=>{})}loadEmpty(){this.fire(new a.k(\"dataloading\",{dataType:\"style\"})),this._load(Sn,{validate:!1})}_load(w,B,Q){var ee;let se=B.transformStyle?B.transformStyle(Q,w):w;if(!B.validate||!oa(this,a.u(se))){this._loaded=!0,this.stylesheet=se;for(let qe in se.sources)this.addSource(qe,se.sources[qe],{validate:!1});se.sprite?this._loadSprite(se.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(se.glyphs),this._createLayers(),this.light=new N(this.stylesheet.light),this.sky=new re(this.stylesheet.sky),this.map.setTerrain((ee=this.stylesheet.terrain)!==null&&ee!==void 0?ee:null),this.fire(new a.k(\"data\",{dataType:\"style\"})),this.fire(new a.k(\"style.load\"))}}_createLayers(){let w=a.az(this.stylesheet.layers);this.dispatcher.broadcast(\"SL\",w),this._order=w.map(B=>B.id),this._layers={},this._serializedLayers=null;for(let B of w){let Q=a.aA(B);Q.setEventedParent(this,{layer:{id:B.id}}),this._layers[B.id]=Q}}_loadSprite(w,B=!1,Q=void 0){let ee;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(se,qe,je,it){return a._(this,void 0,void 0,function*(){let yt=C(se),Ot=je>1?\"@2x\":\"\",Nt={},hr={};for(let{id:Sr,url:he}of yt){let be=qe.transformRequest(M(he,Ot,\".json\"),\"SpriteJSON\");Nt[Sr]=a.h(be,it);let Pe=qe.transformRequest(M(he,Ot,\".png\"),\"SpriteImage\");hr[Sr]=p.getImage(Pe,it)}return yield Promise.all([...Object.values(Nt),...Object.values(hr)]),function(Sr,he){return a._(this,void 0,void 0,function*(){let be={};for(let Pe in Sr){be[Pe]={};let Oe=u.getImageCanvasContext((yield he[Pe]).data),Je=(yield Sr[Pe]).data;for(let He in Je){let{width:et,height:Mt,x:Dt,y:Ut,sdf:tr,pixelRatio:mr,stretchX:Rr,stretchY:zr,content:Xr,textFitWidth:di,textFitHeight:Li}=Je[He];be[Pe][He]={data:null,pixelRatio:mr,sdf:tr,stretchX:Rr,stretchY:zr,content:Xr,textFitWidth:di,textFitHeight:Li,spriteData:{width:et,height:Mt,x:Dt,y:Ut,context:Oe}}}}return be})}(Nt,hr)})}(w,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then(se=>{if(this._spriteRequest=null,se)for(let qe in se){this._spritesImagesIds[qe]=[];let je=this._spritesImagesIds[qe]?this._spritesImagesIds[qe].filter(it=>!(it in se)):[];for(let it of je)this.imageManager.removeImage(it),this._changedImages[it]=!0;for(let it in se[qe]){let yt=qe===\"default\"?it:`${qe}:${it}`;this._spritesImagesIds[qe].push(yt),yt in this.imageManager.images?this.imageManager.updateImage(yt,se[qe][it],!1):this.imageManager.addImage(yt,se[qe][it]),B&&(this._changedImages[yt]=!0)}}}).catch(se=>{this._spriteRequest=null,ee=se,this.fire(new a.j(ee))}).finally(()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),B&&(this._changed=!0),this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"})),Q&&Q(ee)})}_unloadSprite(){for(let w of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(w),this._changedImages[w]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"}))}_validateLayer(w){let B=this.sourceCaches[w.source];if(!B)return;let Q=w.sourceLayer;if(!Q)return;let ee=B.getSource();(ee.type===\"geojson\"||ee.vectorLayerIds&&ee.vectorLayerIds.indexOf(Q)===-1)&&this.fire(new a.j(new Error(`Source layer \"${Q}\" does not exist on source \"${ee.id}\" as specified by style layer \"${w.id}\".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let w in this.sourceCaches)if(!this.sourceCaches[w].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(w,B=!1){let Q=this._serializedAllLayers();if(!w||w.length===0)return Object.values(B?a.aB(Q):Q);let ee=[];for(let se of w)if(Q[se]){let qe=B?a.aB(Q[se]):Q[se];ee.push(qe)}return ee}_serializedAllLayers(){let w=this._serializedLayers;if(w)return w;w=this._serializedLayers={};let B=Object.keys(this._layers);for(let Q of B){let ee=this._layers[Q];ee.type!==\"custom\"&&(w[Q]=ee.serialize())}return w}hasTransitions(){if(this.light&&this.light.hasTransition()||this.sky&&this.sky.hasTransition())return!0;for(let w in this.sourceCaches)if(this.sourceCaches[w].hasTransition())return!0;for(let w in this._layers)if(this._layers[w].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error(\"Style is not done loading.\")}update(w){if(!this._loaded)return;let B=this._changed;if(B){let ee=Object.keys(this._updatedLayers),se=Object.keys(this._removedLayers);(ee.length||se.length)&&this._updateWorkerLayers(ee,se);for(let qe in this._updatedSources){let je=this._updatedSources[qe];if(je===\"reload\")this._reloadSource(qe);else{if(je!==\"clear\")throw new Error(`Invalid action ${je}`);this._clearSource(qe)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let qe in this._updatedPaintProps)this._layers[qe].updateTransitions(w);this.light.updateTransitions(w),this.sky.updateTransitions(w),this._resetUpdates()}let Q={};for(let ee in this.sourceCaches){let se=this.sourceCaches[ee];Q[ee]=se.used,se.used=!1}for(let ee of this._order){let se=this._layers[ee];se.recalculate(w,this._availableImages),!se.isHidden(w.zoom)&&se.source&&(this.sourceCaches[se.source].used=!0)}for(let ee in Q){let se=this.sourceCaches[ee];!!Q[ee]!=!!se.used&&se.fire(new a.k(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:ee}))}this.light.recalculate(w),this.sky.recalculate(w),this.z=w.zoom,B&&this.fire(new a.k(\"data\",{dataType:\"style\"}))}_updateTilesForChangedImages(){let w=Object.keys(this._changedImages);if(w.length){for(let B in this.sourceCaches)this.sourceCaches[B].reloadTilesForDependencies([\"icons\",\"patterns\"],w);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let w in this.sourceCaches)this.sourceCaches[w].reloadTilesForDependencies([\"glyphs\"],[\"\"]);this._glyphsDidChange=!1}}_updateWorkerLayers(w,B){this.dispatcher.broadcast(\"UL\",{layers:this._serializeByIds(w,!1),removedIds:B})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(w,B={}){var Q;this._checkLoaded();let ee=this.serialize();if(w=B.transformStyle?B.transformStyle(ee,w):w,((Q=B.validate)===null||Q===void 0||Q)&&oa(this,a.u(w)))return!1;(w=a.aB(w)).layers=a.az(w.layers);let se=a.aC(ee,w),qe=this._getOperationsToPerform(se);if(qe.unimplemented.length>0)throw new Error(`Unimplemented: ${qe.unimplemented.join(\", \")}.`);if(qe.operations.length===0)return!1;for(let je of qe.operations)je();return this.stylesheet=w,this._serializedLayers=null,!0}_getOperationsToPerform(w){let B=[],Q=[];for(let ee of w)switch(ee.command){case\"setCenter\":case\"setZoom\":case\"setBearing\":case\"setPitch\":continue;case\"addLayer\":B.push(()=>this.addLayer.apply(this,ee.args));break;case\"removeLayer\":B.push(()=>this.removeLayer.apply(this,ee.args));break;case\"setPaintProperty\":B.push(()=>this.setPaintProperty.apply(this,ee.args));break;case\"setLayoutProperty\":B.push(()=>this.setLayoutProperty.apply(this,ee.args));break;case\"setFilter\":B.push(()=>this.setFilter.apply(this,ee.args));break;case\"addSource\":B.push(()=>this.addSource.apply(this,ee.args));break;case\"removeSource\":B.push(()=>this.removeSource.apply(this,ee.args));break;case\"setLayerZoomRange\":B.push(()=>this.setLayerZoomRange.apply(this,ee.args));break;case\"setLight\":B.push(()=>this.setLight.apply(this,ee.args));break;case\"setGeoJSONSourceData\":B.push(()=>this.setGeoJSONSourceData.apply(this,ee.args));break;case\"setGlyphs\":B.push(()=>this.setGlyphs.apply(this,ee.args));break;case\"setSprite\":B.push(()=>this.setSprite.apply(this,ee.args));break;case\"setSky\":B.push(()=>this.setSky.apply(this,ee.args));break;case\"setTerrain\":B.push(()=>this.map.setTerrain.apply(this,ee.args));break;case\"setTransition\":B.push(()=>{});break;default:Q.push(ee.command)}return{operations:B,unimplemented:Q}}addImage(w,B){if(this.getImage(w))return this.fire(new a.j(new Error(`An image named \"${w}\" already exists.`)));this.imageManager.addImage(w,B),this._afterImageUpdated(w)}updateImage(w,B){this.imageManager.updateImage(w,B)}getImage(w){return this.imageManager.getImage(w)}removeImage(w){if(!this.getImage(w))return this.fire(new a.j(new Error(`An image named \"${w}\" does not exist.`)));this.imageManager.removeImage(w),this._afterImageUpdated(w)}_afterImageUpdated(w){this._availableImages=this.imageManager.listImages(),this._changedImages[w]=!0,this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(w,B,Q={}){if(this._checkLoaded(),this.sourceCaches[w]!==void 0)throw new Error(`Source \"${w}\" already exists.`);if(!B.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(B).join(\", \")}.`);if([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(B.type)>=0&&this._validate(a.u.source,`sources.${w}`,B,null,Q))return;this.map&&this.map._collectResourceTiming&&(B.collectResourceTiming=!0);let ee=this.sourceCaches[w]=new dt(w,B,this.dispatcher);ee.style=this,ee.setEventedParent(this,()=>({isSourceLoaded:ee.loaded(),source:ee.serialize(),sourceId:w})),ee.onAdd(this.map),this._changed=!0}removeSource(w){if(this._checkLoaded(),this.sourceCaches[w]===void 0)throw new Error(\"There is no source with this ID\");for(let Q in this._layers)if(this._layers[Q].source===w)return this.fire(new a.j(new Error(`Source \"${w}\" cannot be removed while layer \"${Q}\" is using it.`)));let B=this.sourceCaches[w];delete this.sourceCaches[w],delete this._updatedSources[w],B.fire(new a.k(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:w})),B.setEventedParent(null),B.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(w,B){if(this._checkLoaded(),this.sourceCaches[w]===void 0)throw new Error(`There is no source with this ID=${w}`);let Q=this.sourceCaches[w].getSource();if(Q.type!==\"geojson\")throw new Error(`geojsonSource.type is ${Q.type}, which is !== 'geojson`);Q.setData(B),this._changed=!0}getSource(w){return this.sourceCaches[w]&&this.sourceCaches[w].getSource()}addLayer(w,B,Q={}){this._checkLoaded();let ee=w.id;if(this.getLayer(ee))return void this.fire(new a.j(new Error(`Layer \"${ee}\" already exists on this map.`)));let se;if(w.type===\"custom\"){if(oa(this,a.aD(w)))return;se=a.aA(w)}else{if(\"source\"in w&&typeof w.source==\"object\"&&(this.addSource(ee,w.source),w=a.aB(w),w=a.e(w,{source:ee})),this._validate(a.u.layer,`layers.${ee}`,w,{arrayIndex:-1},Q))return;se=a.aA(w),this._validateLayer(se),se.setEventedParent(this,{layer:{id:ee}})}let qe=B?this._order.indexOf(B):this._order.length;if(B&&qe===-1)this.fire(new a.j(new Error(`Cannot add layer \"${ee}\" before non-existing layer \"${B}\".`)));else{if(this._order.splice(qe,0,ee),this._layerOrderChanged=!0,this._layers[ee]=se,this._removedLayers[ee]&&se.source&&se.type!==\"custom\"){let je=this._removedLayers[ee];delete this._removedLayers[ee],je.type!==se.type?this._updatedSources[se.source]=\"clear\":(this._updatedSources[se.source]=\"reload\",this.sourceCaches[se.source].pause())}this._updateLayer(se),se.onAdd&&se.onAdd(this.map)}}moveLayer(w,B){if(this._checkLoaded(),this._changed=!0,!this._layers[w])return void this.fire(new a.j(new Error(`The layer '${w}' does not exist in the map's style and cannot be moved.`)));if(w===B)return;let Q=this._order.indexOf(w);this._order.splice(Q,1);let ee=B?this._order.indexOf(B):this._order.length;B&&ee===-1?this.fire(new a.j(new Error(`Cannot move layer \"${w}\" before non-existing layer \"${B}\".`))):(this._order.splice(ee,0,w),this._layerOrderChanged=!0)}removeLayer(w){this._checkLoaded();let B=this._layers[w];if(!B)return void this.fire(new a.j(new Error(`Cannot remove non-existing layer \"${w}\".`)));B.setEventedParent(null);let Q=this._order.indexOf(w);this._order.splice(Q,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[w]=B,delete this._layers[w],this._serializedLayers&&delete this._serializedLayers[w],delete this._updatedLayers[w],delete this._updatedPaintProps[w],B.onRemove&&B.onRemove(this.map)}getLayer(w){return this._layers[w]}getLayersOrder(){return[...this._order]}hasLayer(w){return w in this._layers}setLayerZoomRange(w,B,Q){this._checkLoaded();let ee=this.getLayer(w);ee?ee.minzoom===B&&ee.maxzoom===Q||(B!=null&&(ee.minzoom=B),Q!=null&&(ee.maxzoom=Q),this._updateLayer(ee)):this.fire(new a.j(new Error(`Cannot set the zoom range of non-existing layer \"${w}\".`)))}setFilter(w,B,Q={}){this._checkLoaded();let ee=this.getLayer(w);if(ee){if(!a.aE(ee.filter,B))return B==null?(ee.filter=void 0,void this._updateLayer(ee)):void(this._validate(a.u.filter,`layers.${ee.id}.filter`,B,null,Q)||(ee.filter=a.aB(B),this._updateLayer(ee)))}else this.fire(new a.j(new Error(`Cannot filter non-existing layer \"${w}\".`)))}getFilter(w){return a.aB(this.getLayer(w).filter)}setLayoutProperty(w,B,Q,ee={}){this._checkLoaded();let se=this.getLayer(w);se?a.aE(se.getLayoutProperty(B),Q)||(se.setLayoutProperty(B,Q,ee),this._updateLayer(se)):this.fire(new a.j(new Error(`Cannot style non-existing layer \"${w}\".`)))}getLayoutProperty(w,B){let Q=this.getLayer(w);if(Q)return Q.getLayoutProperty(B);this.fire(new a.j(new Error(`Cannot get style of non-existing layer \"${w}\".`)))}setPaintProperty(w,B,Q,ee={}){this._checkLoaded();let se=this.getLayer(w);se?a.aE(se.getPaintProperty(B),Q)||(se.setPaintProperty(B,Q,ee)&&this._updateLayer(se),this._changed=!0,this._updatedPaintProps[w]=!0,this._serializedLayers=null):this.fire(new a.j(new Error(`Cannot style non-existing layer \"${w}\".`)))}getPaintProperty(w,B){return this.getLayer(w).getPaintProperty(B)}setFeatureState(w,B){this._checkLoaded();let Q=w.source,ee=w.sourceLayer,se=this.sourceCaches[Q];if(se===void 0)return void this.fire(new a.j(new Error(`The source '${Q}' does not exist in the map's style.`)));let qe=se.getSource().type;qe===\"geojson\"&&ee?this.fire(new a.j(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):qe!==\"vector\"||ee?(w.id===void 0&&this.fire(new a.j(new Error(\"The feature id parameter must be provided.\"))),se.setFeatureState(ee,w.id,B)):this.fire(new a.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}removeFeatureState(w,B){this._checkLoaded();let Q=w.source,ee=this.sourceCaches[Q];if(ee===void 0)return void this.fire(new a.j(new Error(`The source '${Q}' does not exist in the map's style.`)));let se=ee.getSource().type,qe=se===\"vector\"?w.sourceLayer:void 0;se!==\"vector\"||qe?B&&typeof w.id!=\"string\"&&typeof w.id!=\"number\"?this.fire(new a.j(new Error(\"A feature id is required to remove its specific state property.\"))):ee.removeFeatureState(qe,w.id,B):this.fire(new a.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}getFeatureState(w){this._checkLoaded();let B=w.source,Q=w.sourceLayer,ee=this.sourceCaches[B];if(ee!==void 0)return ee.getSource().type!==\"vector\"||Q?(w.id===void 0&&this.fire(new a.j(new Error(\"The feature id parameter must be provided.\"))),ee.getFeatureState(Q,w.id)):void this.fire(new a.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));this.fire(new a.j(new Error(`The source '${B}' does not exist in the map's style.`)))}getTransition(){return a.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let w=a.aF(this.sourceCaches,se=>se.serialize()),B=this._serializeByIds(this._order,!0),Q=this.map.getTerrain()||void 0,ee=this.stylesheet;return a.aG({version:ee.version,name:ee.name,metadata:ee.metadata,light:ee.light,sky:ee.sky,center:ee.center,zoom:ee.zoom,bearing:ee.bearing,pitch:ee.pitch,sprite:ee.sprite,glyphs:ee.glyphs,transition:ee.transition,sources:w,layers:B,terrain:Q},se=>se!==void 0)}_updateLayer(w){this._updatedLayers[w.id]=!0,w.source&&!this._updatedSources[w.source]&&this.sourceCaches[w.source].getSource().type!==\"raster\"&&(this._updatedSources[w.source]=\"reload\",this.sourceCaches[w.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(w){let B=qe=>this._layers[qe].type===\"fill-extrusion\",Q={},ee=[];for(let qe=this._order.length-1;qe>=0;qe--){let je=this._order[qe];if(B(je)){Q[je]=qe;for(let it of w){let yt=it[je];if(yt)for(let Ot of yt)ee.push(Ot)}}}ee.sort((qe,je)=>je.intersectionZ-qe.intersectionZ);let se=[];for(let qe=this._order.length-1;qe>=0;qe--){let je=this._order[qe];if(B(je))for(let it=ee.length-1;it>=0;it--){let yt=ee[it].feature;if(Q[yt.layer.id]<qe)break;se.push(yt),ee.pop()}else for(let it of w){let yt=it[je];if(yt)for(let Ot of yt)se.push(Ot.feature)}}return se}queryRenderedFeatures(w,B,Q){B&&B.filter&&this._validate(a.u.filter,\"queryRenderedFeatures.filter\",B.filter,null,B);let ee={};if(B&&B.layers){if(!Array.isArray(B.layers))return this.fire(new a.j(new Error(\"parameters.layers must be an Array.\"))),[];for(let je of B.layers){let it=this._layers[je];if(!it)return this.fire(new a.j(new Error(`The layer '${je}' does not exist in the map's style and cannot be queried for features.`))),[];ee[it.source]=!0}}let se=[];B.availableImages=this._availableImages;let qe=this._serializedAllLayers();for(let je in this.sourceCaches)B.layers&&!ee[je]||se.push(Ce(this.sourceCaches[je],this._layers,qe,w,B,Q));return this.placement&&se.push(function(je,it,yt,Ot,Nt,hr,Sr){let he={},be=hr.queryRenderedSymbols(Ot),Pe=[];for(let Oe of Object.keys(be).map(Number))Pe.push(Sr[Oe]);Pe.sort(me);for(let Oe of Pe){let Je=Oe.featureIndex.lookupSymbolFeatures(be[Oe.bucketInstanceId],it,Oe.bucketIndex,Oe.sourceLayerIndex,Nt.filter,Nt.layers,Nt.availableImages,je);for(let He in Je){let et=he[He]=he[He]||[],Mt=Je[He];Mt.sort((Dt,Ut)=>{let tr=Oe.featureSortOrder;if(tr){let mr=tr.indexOf(Dt.featureIndex);return tr.indexOf(Ut.featureIndex)-mr}return Ut.featureIndex-Dt.featureIndex});for(let Dt of Mt)et.push(Dt)}}for(let Oe in he)he[Oe].forEach(Je=>{let He=Je.feature,et=yt[je[Oe].source].getFeatureState(He.layer[\"source-layer\"],He.id);He.source=He.layer.source,He.layer[\"source-layer\"]&&(He.sourceLayer=He.layer[\"source-layer\"]),He.state=et});return he}(this._layers,qe,this.sourceCaches,w,B,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(se)}querySourceFeatures(w,B){B&&B.filter&&this._validate(a.u.filter,\"querySourceFeatures.filter\",B.filter,null,B);let Q=this.sourceCaches[w];return Q?function(ee,se){let qe=ee.getRenderableIds().map(yt=>ee.getTileByID(yt)),je=[],it={};for(let yt=0;yt<qe.length;yt++){let Ot=qe[yt],Nt=Ot.tileID.canonical.key;it[Nt]||(it[Nt]=!0,Ot.querySourceFeatures(je,se))}return je}(Q,B):[]}getLight(){return this.light.getLight()}setLight(w,B={}){this._checkLoaded();let Q=this.light.getLight(),ee=!1;for(let qe in w)if(!a.aE(w[qe],Q[qe])){ee=!0;break}if(!ee)return;let se={now:u.now(),transition:a.e({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(w,B),this.light.updateTransitions(se)}getSky(){var w;return(w=this.stylesheet)===null||w===void 0?void 0:w.sky}setSky(w,B={}){let Q=this.getSky(),ee=!1;if(!w&&!Q)return;if(w&&!Q)ee=!0;else if(!w&&Q)ee=!0;else for(let qe in w)if(!a.aE(w[qe],Q[qe])){ee=!0;break}if(!ee)return;let se={now:u.now(),transition:a.e({duration:300,delay:0},this.stylesheet.transition)};this.stylesheet.sky=w,this.sky.setSky(w,B),this.sky.updateTransitions(se)}_validate(w,B,Q,ee,se={}){return(!se||se.validate!==!1)&&oa(this,w.call(a.u,a.e({key:B,style:this.serialize(),value:Q,styleSpec:a.v},ee)))}_remove(w=!0){this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._loadStyleRequest&&(this._loadStyleRequest.abort(),this._loadStyleRequest=null),this._spriteRequest&&(this._spriteRequest.abort(),this._spriteRequest=null),bt().off(er,this._rtlPluginLoaded);for(let B in this._layers)this._layers[B].setEventedParent(null);for(let B in this.sourceCaches){let Q=this.sourceCaches[B];Q.setEventedParent(null),Q.onRemove(this.map)}this.imageManager.setEventedParent(null),this.setEventedParent(null),w&&this.dispatcher.broadcast(\"RM\",void 0),this.dispatcher.remove(w)}_clearSource(w){this.sourceCaches[w].clearTiles()}_reloadSource(w){this.sourceCaches[w].resume(),this.sourceCaches[w].reload()}_updateSources(w){for(let B in this.sourceCaches)this.sourceCaches[B].update(w,this.map.terrain)}_generateCollisionBoxes(){for(let w in this.sourceCaches)this._reloadSource(w)}_updatePlacement(w,B,Q,ee,se=!1){let qe=!1,je=!1,it={};for(let yt of this._order){let Ot=this._layers[yt];if(Ot.type!==\"symbol\")continue;if(!it[Ot.source]){let hr=this.sourceCaches[Ot.source];it[Ot.source]=hr.getRenderableIds(!0).map(Sr=>hr.getTileByID(Sr)).sort((Sr,he)=>he.tileID.overscaledZ-Sr.tileID.overscaledZ||(Sr.tileID.isLessThan(he.tileID)?-1:1))}let Nt=this.crossTileSymbolIndex.addLayer(Ot,it[Ot.source],w.center.lng);qe=qe||Nt}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((se=se||this._layerOrderChanged||Q===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(u.now(),w.zoom))&&(this.pauseablePlacement=new ka(w,this.map.terrain,this._order,se,B,Q,ee,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,it),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(u.now()),je=!0),qe&&this.pauseablePlacement.placement.setStale()),je||qe)for(let yt of this._order){let Ot=this._layers[yt];Ot.type===\"symbol\"&&this.placement.updateLayerOpacities(Ot,it[Ot.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(u.now())}_releaseSymbolFadeTiles(){for(let w in this.sourceCaches)this.sourceCaches[w].releaseSymbolFadeTiles()}getImages(w,B){return a._(this,void 0,void 0,function*(){let Q=yield this.imageManager.getImages(B.icons);this._updateTilesForChangedImages();let ee=this.sourceCaches[B.source];return ee&&ee.setDependencies(B.tileID.key,B.type,B.icons),Q})}getGlyphs(w,B){return a._(this,void 0,void 0,function*(){let Q=yield this.glyphManager.getGlyphs(B.stacks),ee=this.sourceCaches[B.source];return ee&&ee.setDependencies(B.tileID.key,B.type,[\"\"]),Q})}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(w,B={}){this._checkLoaded(),w&&this._validate(a.u.glyphs,\"glyphs\",w,null,B)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=w,this.glyphManager.entries={},this.glyphManager.setURL(w))}addSprite(w,B,Q={},ee){this._checkLoaded();let se=[{id:w,url:B}],qe=[...C(this.stylesheet.sprite),...se];this._validate(a.u.sprite,\"sprite\",qe,null,Q)||(this.stylesheet.sprite=qe,this._loadSprite(se,!0,ee))}removeSprite(w){this._checkLoaded();let B=C(this.stylesheet.sprite);if(B.find(Q=>Q.id===w)){if(this._spritesImagesIds[w])for(let Q of this._spritesImagesIds[w])this.imageManager.removeImage(Q),this._changedImages[Q]=!0;B.splice(B.findIndex(Q=>Q.id===w),1),this.stylesheet.sprite=B.length>0?B:void 0,delete this._spritesImagesIds[w],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"}))}else this.fire(new a.j(new Error(`Sprite \"${w}\" doesn't exists on this map.`)))}getSprite(){return C(this.stylesheet.sprite)}setSprite(w,B={},Q){this._checkLoaded(),w&&this._validate(a.u.sprite,\"sprite\",w,null,B)||(this.stylesheet.sprite=w,w?this._loadSprite(w,!0,Q):(this._unloadSprite(),Q&&Q(null)))}}var oo=a.Y([{name:\"a_pos\",type:\"Int16\",components:2}]);let xn={prelude:_t(`#ifdef GL_ES\n", - "precision 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\n", - "precision 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\n", - "vec2 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\n", - "uniform 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\n", - "const 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\n", - "highp 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\n", - "return 1.0;\n", - "#endif\n", - "}float calculate_visibility(vec4 pos) {\n", - "#ifdef TERRAIN3D\n", - "vec3 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\n", - "return 1.0;\n", - "#endif\n", - "}float ele(vec2 pos) {\n", - "#ifdef TERRAIN3D\n", - "vec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n", - "#else\n", - "return 0.0;\n", - "#endif\n", - "}float get_elevation(vec2 pos) {\n", - "#ifdef TERRAIN3D\n", - "vec2 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\n", - "return 0.0;\n", - "#endif\n", - "}`),background:_t(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_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:_t(`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\n", - "gl_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:_t(`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\n", - "void 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\n", - "vec2 extrude=v_data.xy;float extrude_length=length(extrude);float antialiased_blur=v_data.z;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\n", - "gl_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\n", - "void 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\n", - "vec2 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;}}float antialiasblur=-max(1.0/u_device_pixel_ratio/(radius+stroke_width),blur);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:_t(\"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:_t(`uniform highp float u_intensity;varying vec2 v_extrude;\n", - "#pragma mapbox: define highp float weight\n", - "#define GAUSS_COEF 0.3989422804014327\n", - "void main() {\n", - "#pragma mapbox: initialize highp float weight\n", - "float 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\n", - "gl_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\n", - "const highp float ZERO=1.0/255.0/16.0;\n", - "#define GAUSS_COEF 0.3989422804014327\n", - "void main(void) {\n", - "#pragma mapbox: initialize highp float weight\n", - "#pragma mapbox: initialize mediump float radius\n", - "vec2 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,get_elevation(floor(a_pos*0.5)),1);gl_Position=u_matrix*pos;}`),heatmapTexture:_t(`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\n", - "gl_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:_t(\"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:_t(\"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:_t(\"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:_t(`#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_FragColor=color*opacity;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:_t(`varying vec2 v_pos;\n", - "#pragma mapbox: define highp vec4 outline_color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 outline_color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "float 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\n", - "gl_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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 outline_color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:_t(`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\n", - "void 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", - "vec2 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\n", - "gl_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\n", - "void 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\n", - "vec2 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:_t(`#ifdef GL_ES\n", - "precision highp float;\n", - "#endif\n", - "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\n", - "void 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", - "vec2 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\n", - "gl_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\n", - "void 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\n", - "vec2 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:_t(`varying vec4 v_color;void main() {gl_FragColor=v_color;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_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\n", - "attribute vec2 a_centroid;\n", - "#endif\n", - "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\n", - "void main() {\n", - "#pragma mapbox: initialize highp float base\n", - "#pragma mapbox: initialize highp float height\n", - "#pragma mapbox: initialize highp vec4 color\n", - "vec3 normal=a_normal_ed.xyz;\n", - "#ifdef TERRAIN3D\n", - "float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n", - "#else\n", - "float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n", - "#endif\n", - "base=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:_t(`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\n", - "void 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\n", - "vec2 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\n", - "gl_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\n", - "attribute vec2 a_centroid;\n", - "#endif\n", - "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\n", - "void 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\n", - "vec2 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\n", - "float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n", - "#else\n", - "float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n", - "#endif\n", - "base=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:_t(`#ifdef GL_ES\n", - "precision highp float;\n", - "#endif\n", - "uniform 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\n", - "gl_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:_t(`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\n", - "void 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\n", - "gl_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:_t(`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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float blur\n", - "#pragma mapbox: initialize lowp float opacity\n", - "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);gl_FragColor=color*(alpha*opacity);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,`\n", - "#define scale 0.015873016\n", - "attribute 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\n", - "void 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", - "float 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\n", - "v_gamma_scale=1.0;\n", - "#else\n", - "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;\n", - "#endif\n", - "v_width2=vec2(outset,inset);}`),lineGradient:_t(`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\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float blur\n", - "#pragma mapbox: initialize lowp float opacity\n", - "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);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,`\n", - "#define scale 0.015873016\n", - "attribute 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\n", - "void 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\n", - "float 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\n", - "v_gamma_scale=1.0;\n", - "#else\n", - "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;\n", - "#endif\n", - "v_width2=vec2(outset,inset);}`),linePattern:_t(`#ifdef GL_ES\n", - "precision highp float;\n", - "#endif\n", - "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\n", - "void 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\n", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,`\n", - "#define scale 0.015873016\n", - "#define LINE_DISTANCE_SCALE 2.0\n", - "attribute 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\n", - "void 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\n", - "float 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\n", - "v_gamma_scale=1.0;\n", - "#else\n", - "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;\n", - "#endif\n", - "v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:_t(`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\n", - "void 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\n", - "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 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,`\n", - "#define scale 0.015873016\n", - "#define LINE_DISTANCE_SCALE 2.0\n", - "attribute 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\n", - "void 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\n", - "float 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\n", - "v_gamma_scale=1.0;\n", - "#else\n", - "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;\n", - "#endif\n", - "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);}`),raster:_t(`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\n", - "gl_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:_t(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float opacity\n", - "lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_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\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float opacity\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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:_t(`#define SDF_PX 8.0\n", - "uniform 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\n", - "void 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\n", - "float 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\n", - "gl_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\n", - "void 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\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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:_t(`#define SDF_PX 8.0\n", - "#define SDF 1.0\n", - "#define ICON 0.0\n", - "uniform 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\n", - "void 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\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "return;}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\n", - "gl_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\n", - "void 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\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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:_t(\"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:_t(\"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:_t(\"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:_t(\"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 _t(le,w){let B=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,Q=w.match(/attribute ([\\w]+) ([\\w]+)/g),ee=le.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),se=w.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),qe=se?se.concat(ee):ee,je={};return{fragmentSource:le=le.replace(B,(it,yt,Ot,Nt,hr)=>(je[hr]=!0,yt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - "varying ${Ot} ${Nt} ${hr};\n", - "#else\n", - "uniform ${Ot} ${Nt} u_${hr};\n", - "#endif\n", - "`:`\n", - "#ifdef HAS_UNIFORM_u_${hr}\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`)),vertexSource:w=w.replace(B,(it,yt,Ot,Nt,hr)=>{let Sr=Nt===\"float\"?\"vec2\":\"vec4\",he=hr.match(/color/)?\"color\":Sr;return je[hr]?yt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - "uniform lowp float u_${hr}_t;\n", - "attribute ${Ot} ${Sr} a_${hr};\n", - "varying ${Ot} ${Nt} ${hr};\n", - "#else\n", - "uniform ${Ot} ${Nt} u_${hr};\n", - "#endif\n", - "`:he===\"vec4\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - " ${hr} = a_${hr};\n", - "#else\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`:`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - " ${hr} = unpack_mix_${he}(a_${hr}, u_${hr}_t);\n", - "#else\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`:yt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - "uniform lowp float u_${hr}_t;\n", - "attribute ${Ot} ${Sr} a_${hr};\n", - "#else\n", - "uniform ${Ot} ${Nt} u_${hr};\n", - "#endif\n", - "`:he===\"vec4\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - " ${Ot} ${Nt} ${hr} = a_${hr};\n", - "#else\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`:`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - " ${Ot} ${Nt} ${hr} = unpack_mix_${he}(a_${hr}, u_${hr}_t);\n", - "#else\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`}),staticAttributes:Q,staticUniforms:qe}}class br{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(w,B,Q,ee,se,qe,je,it,yt){this.context=w;let Ot=this.boundPaintVertexBuffers.length!==ee.length;for(let Nt=0;!Ot&&Nt<ee.length;Nt++)this.boundPaintVertexBuffers[Nt]!==ee[Nt]&&(Ot=!0);!this.vao||this.boundProgram!==B||this.boundLayoutVertexBuffer!==Q||Ot||this.boundIndexBuffer!==se||this.boundVertexOffset!==qe||this.boundDynamicVertexBuffer!==je||this.boundDynamicVertexBuffer2!==it||this.boundDynamicVertexBuffer3!==yt?this.freshBind(B,Q,ee,se,qe,je,it,yt):(w.bindVertexArray.set(this.vao),je&&je.bind(),se&&se.dynamicDraw&&se.bind(),it&&it.bind(),yt&&yt.bind())}freshBind(w,B,Q,ee,se,qe,je,it){let yt=w.numAttributes,Ot=this.context,Nt=Ot.gl;this.vao&&this.destroy(),this.vao=Ot.createVertexArray(),Ot.bindVertexArray.set(this.vao),this.boundProgram=w,this.boundLayoutVertexBuffer=B,this.boundPaintVertexBuffers=Q,this.boundIndexBuffer=ee,this.boundVertexOffset=se,this.boundDynamicVertexBuffer=qe,this.boundDynamicVertexBuffer2=je,this.boundDynamicVertexBuffer3=it,B.enableAttributes(Nt,w);for(let hr of Q)hr.enableAttributes(Nt,w);qe&&qe.enableAttributes(Nt,w),je&&je.enableAttributes(Nt,w),it&&it.enableAttributes(Nt,w),B.bind(),B.setVertexAttribPointers(Nt,w,se);for(let hr of Q)hr.bind(),hr.setVertexAttribPointers(Nt,w,se);qe&&(qe.bind(),qe.setVertexAttribPointers(Nt,w,se)),ee&&ee.bind(),je&&(je.bind(),je.setVertexAttribPointers(Nt,w,se)),it&&(it.bind(),it.setVertexAttribPointers(Nt,w,se)),Ot.currentNumAttributes=yt}destroy(){this.vao&&(this.context.deleteVertexArray(this.vao),this.vao=null)}}let Hr=(le,w,B,Q,ee)=>({u_matrix:le,u_texture:0,u_ele_delta:w,u_fog_matrix:B,u_fog_color:Q?Q.properties.get(\"fog-color\"):a.aM.white,u_fog_ground_blend:Q?Q.properties.get(\"fog-ground-blend\"):1,u_fog_ground_blend_opacity:Q?Q.calculateFogBlendOpacity(ee):0,u_horizon_color:Q?Q.properties.get(\"horizon-color\"):a.aM.white,u_horizon_fog_blend:Q?Q.properties.get(\"horizon-fog-blend\"):1});function ti(le){let w=[];for(let B=0;B<le.length;B++){if(le[B]===null)continue;let Q=le[B].split(\" \");w.push(Q.pop())}return w}class zi{constructor(w,B,Q,ee,se,qe){let je=w.gl;this.program=je.createProgram();let it=ti(B.staticAttributes),yt=Q?Q.getBinderAttributes():[],Ot=it.concat(yt),Nt=xn.prelude.staticUniforms?ti(xn.prelude.staticUniforms):[],hr=B.staticUniforms?ti(B.staticUniforms):[],Sr=Q?Q.getBinderUniforms():[],he=Nt.concat(hr).concat(Sr),be=[];for(let Dt of he)be.indexOf(Dt)<0&&be.push(Dt);let Pe=Q?Q.defines():[];se&&Pe.push(\"#define OVERDRAW_INSPECTOR;\"),qe&&Pe.push(\"#define TERRAIN3D;\");let Oe=Pe.concat(xn.prelude.fragmentSource,B.fragmentSource).join(`\n", - "`),Je=Pe.concat(xn.prelude.vertexSource,B.vertexSource).join(`\n", - "`),He=je.createShader(je.FRAGMENT_SHADER);if(je.isContextLost())return void(this.failedToCreate=!0);if(je.shaderSource(He,Oe),je.compileShader(He),!je.getShaderParameter(He,je.COMPILE_STATUS))throw new Error(`Could not compile fragment shader: ${je.getShaderInfoLog(He)}`);je.attachShader(this.program,He);let et=je.createShader(je.VERTEX_SHADER);if(je.isContextLost())return void(this.failedToCreate=!0);if(je.shaderSource(et,Je),je.compileShader(et),!je.getShaderParameter(et,je.COMPILE_STATUS))throw new Error(`Could not compile vertex shader: ${je.getShaderInfoLog(et)}`);je.attachShader(this.program,et),this.attributes={};let Mt={};this.numAttributes=Ot.length;for(let Dt=0;Dt<this.numAttributes;Dt++)Ot[Dt]&&(je.bindAttribLocation(this.program,Dt,Ot[Dt]),this.attributes[Ot[Dt]]=Dt);if(je.linkProgram(this.program),!je.getProgramParameter(this.program,je.LINK_STATUS))throw new Error(`Program failed to link: ${je.getProgramInfoLog(this.program)}`);je.deleteShader(et),je.deleteShader(He);for(let Dt=0;Dt<be.length;Dt++){let Ut=be[Dt];if(Ut&&!Mt[Ut]){let tr=je.getUniformLocation(this.program,Ut);tr&&(Mt[Ut]=tr)}}this.fixedUniforms=ee(w,Mt),this.terrainUniforms=((Dt,Ut)=>({u_depth:new a.aH(Dt,Ut.u_depth),u_terrain:new a.aH(Dt,Ut.u_terrain),u_terrain_dim:new a.aI(Dt,Ut.u_terrain_dim),u_terrain_matrix:new a.aJ(Dt,Ut.u_terrain_matrix),u_terrain_unpack:new a.aK(Dt,Ut.u_terrain_unpack),u_terrain_exaggeration:new a.aI(Dt,Ut.u_terrain_exaggeration)}))(w,Mt),this.binderUniforms=Q?Q.getUniforms(w,Mt):[]}draw(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he,be,Pe,Oe,Je){let He=w.gl;if(this.failedToCreate)return;if(w.program.set(this.program),w.setDepthMode(Q),w.setStencilMode(ee),w.setColorMode(se),w.setCullFace(qe),it){w.activeTexture.set(He.TEXTURE2),He.bindTexture(He.TEXTURE_2D,it.depthTexture),w.activeTexture.set(He.TEXTURE3),He.bindTexture(He.TEXTURE_2D,it.texture);for(let Mt in this.terrainUniforms)this.terrainUniforms[Mt].set(it[Mt])}for(let Mt in this.fixedUniforms)this.fixedUniforms[Mt].set(je[Mt]);be&&be.setUniforms(w,this.binderUniforms,Sr,{zoom:he});let et=0;switch(B){case He.LINES:et=2;break;case He.TRIANGLES:et=3;break;case He.LINE_STRIP:et=1}for(let Mt of hr.get()){let Dt=Mt.vaos||(Mt.vaos={});(Dt[yt]||(Dt[yt]=new br)).bind(w,this,Ot,be?be.getPaintVertexBuffers():[],Nt,Mt.vertexOffset,Pe,Oe,Je),He.drawElements(B,Mt.primitiveLength*et,He.UNSIGNED_SHORT,Mt.primitiveOffset*et*2)}}}function Yi(le,w,B){let Q=1/nn(B,1,w.transform.tileZoom),ee=Math.pow(2,B.tileID.overscaledZ),se=B.tileSize*Math.pow(2,w.transform.tileZoom)/ee,qe=se*(B.tileID.canonical.x+B.tileID.wrap*ee),je=se*B.tileID.canonical.y;return{u_image:0,u_texsize:B.imageAtlasTexture.size,u_scale:[Q,le.fromScale,le.toScale],u_fade:le.t,u_pixel_coord_upper:[qe>>16,je>>16],u_pixel_coord_lower:[65535&qe,65535&je]}}let an=(le,w,B,Q)=>{let ee=w.style.light,se=ee.properties.get(\"position\"),qe=[se.x,se.y,se.z],je=function(){var yt=new a.A(9);return a.A!=Float32Array&&(yt[1]=0,yt[2]=0,yt[3]=0,yt[5]=0,yt[6]=0,yt[7]=0),yt[0]=1,yt[4]=1,yt[8]=1,yt}();ee.properties.get(\"anchor\")===\"viewport\"&&function(yt,Ot){var Nt=Math.sin(Ot),hr=Math.cos(Ot);yt[0]=hr,yt[1]=Nt,yt[2]=0,yt[3]=-Nt,yt[4]=hr,yt[5]=0,yt[6]=0,yt[7]=0,yt[8]=1}(je,-w.transform.angle),function(yt,Ot,Nt){var hr=Ot[0],Sr=Ot[1],he=Ot[2];yt[0]=hr*Nt[0]+Sr*Nt[3]+he*Nt[6],yt[1]=hr*Nt[1]+Sr*Nt[4]+he*Nt[7],yt[2]=hr*Nt[2]+Sr*Nt[5]+he*Nt[8]}(qe,qe,je);let it=ee.properties.get(\"color\");return{u_matrix:le,u_lightpos:qe,u_lightintensity:ee.properties.get(\"intensity\"),u_lightcolor:[it.r,it.g,it.b],u_vertical_gradient:+B,u_opacity:Q}},hi=(le,w,B,Q,ee,se,qe)=>a.e(an(le,w,B,Q),Yi(se,w,qe),{u_height_factor:-Math.pow(2,ee.overscaledZ)/qe.tileSize/8}),Ji=le=>({u_matrix:le}),ua=(le,w,B,Q)=>a.e(Ji(le),Yi(B,w,Q)),Fn=(le,w)=>({u_matrix:le,u_world:w}),Sa=(le,w,B,Q,ee)=>a.e(ua(le,w,B,Q),{u_world:ee}),go=(le,w,B,Q)=>{let ee=le.transform,se,qe;if(Q.paint.get(\"circle-pitch-alignment\")===\"map\"){let je=nn(B,1,ee.zoom);se=!0,qe=[je,je]}else se=!1,qe=ee.pixelsToGLUnits;return{u_camera_to_center_distance:ee.cameraToCenterDistance,u_scale_with_map:+(Q.paint.get(\"circle-pitch-scale\")===\"map\"),u_matrix:le.translatePosMatrix(w.posMatrix,B,Q.paint.get(\"circle-translate\"),Q.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+se,u_device_pixel_ratio:le.pixelRatio,u_extrude_scale:qe}},Oo=(le,w,B)=>({u_matrix:le,u_inv_matrix:w,u_camera_to_center_distance:B.cameraToCenterDistance,u_viewport_size:[B.width,B.height]}),ho=(le,w,B=1)=>({u_matrix:le,u_color:w,u_overlay:0,u_overlay_scale:B}),Mo=le=>({u_matrix:le}),xo=(le,w,B,Q)=>({u_matrix:le,u_extrude_scale:nn(w,1,B),u_intensity:Q}),zs=(le,w,B,Q)=>{let ee=a.H();a.aP(ee,0,le.width,le.height,0,0,1);let se=le.context.gl;return{u_matrix:ee,u_world:[se.drawingBufferWidth,se.drawingBufferHeight],u_image:B,u_color_ramp:Q,u_opacity:w.paint.get(\"heatmap-opacity\")}};function ks(le,w){let B=Math.pow(2,w.canonical.z),Q=w.canonical.y;return[new a.Z(0,Q/B).toLngLat().lat,new a.Z(0,(Q+1)/B).toLngLat().lat]}let Zs=(le,w,B,Q)=>{let ee=le.transform;return{u_matrix:Cs(le,w,B,Q),u_ratio:1/nn(w,1,ee.zoom),u_device_pixel_ratio:le.pixelRatio,u_units_to_pixels:[1/ee.pixelsToGLUnits[0],1/ee.pixelsToGLUnits[1]]}},Xs=(le,w,B,Q,ee)=>a.e(Zs(le,w,B,ee),{u_image:0,u_image_height:Q}),wl=(le,w,B,Q,ee)=>{let se=le.transform,qe=cl(w,se);return{u_matrix:Cs(le,w,B,ee),u_texsize:w.imageAtlasTexture.size,u_ratio:1/nn(w,1,se.zoom),u_device_pixel_ratio:le.pixelRatio,u_image:0,u_scale:[qe,Q.fromScale,Q.toScale],u_fade:Q.t,u_units_to_pixels:[1/se.pixelsToGLUnits[0],1/se.pixelsToGLUnits[1]]}},os=(le,w,B,Q,ee,se)=>{let qe=le.lineAtlas,je=cl(w,le.transform),it=B.layout.get(\"line-cap\")===\"round\",yt=qe.getDash(Q.from,it),Ot=qe.getDash(Q.to,it),Nt=yt.width*ee.fromScale,hr=Ot.width*ee.toScale;return a.e(Zs(le,w,B,se),{u_patternscale_a:[je/Nt,-yt.height/2],u_patternscale_b:[je/hr,-Ot.height/2],u_sdfgamma:qe.width/(256*Math.min(Nt,hr)*le.pixelRatio)/2,u_image:0,u_tex_y_a:yt.y,u_tex_y_b:Ot.y,u_mix:ee.t})};function cl(le,w){return 1/nn(le,1,w.tileZoom)}function Cs(le,w,B,Q){return le.translatePosMatrix(Q?Q.posMatrix:w.tileID.posMatrix,w,B.paint.get(\"line-translate\"),B.paint.get(\"line-translate-anchor\"))}let ml=(le,w,B,Q,ee)=>{return{u_matrix:le,u_tl_parent:w,u_scale_parent:B,u_buffer_scale:1,u_fade_t:Q.mix,u_opacity:Q.opacity*ee.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:ee.paint.get(\"raster-brightness-min\"),u_brightness_high:ee.paint.get(\"raster-brightness-max\"),u_saturation_factor:(qe=ee.paint.get(\"raster-saturation\"),qe>0?1-1/(1.001-qe):-qe),u_contrast_factor:(se=ee.paint.get(\"raster-contrast\"),se>0?1/(1-se):1+se),u_spin_weights:Ys(ee.paint.get(\"raster-hue-rotate\"))};var se,qe};function Ys(le){le*=Math.PI/180;let w=Math.sin(le),B=Math.cos(le);return[(2*B+1)/3,(-Math.sqrt(3)*w-B+1)/3,(Math.sqrt(3)*w-B+1)/3]}let Hs=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr)=>{let he=qe.transform;return{u_is_size_zoom_constant:+(le===\"constant\"||le===\"source\"),u_is_size_feature_constant:+(le===\"constant\"||le===\"camera\"),u_size_t:w?w.uSizeT:0,u_size:w?w.uSize:0,u_camera_to_center_distance:he.cameraToCenterDistance,u_pitch:he.pitch/360*2*Math.PI,u_rotate_symbol:+B,u_aspect_ratio:he.width/he.height,u_fade_change:qe.options.fadeDuration?qe.symbolFadeChange:1,u_matrix:je,u_label_plane_matrix:it,u_coord_matrix:yt,u_is_text:+Nt,u_pitch_with_map:+Q,u_is_along_line:ee,u_is_variable_anchor:se,u_texsize:hr,u_texture:0,u_translation:Ot,u_pitched_scale:Sr}},Eo=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he)=>{let be=qe.transform;return a.e(Hs(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,he),{u_gamma_scale:Q?Math.cos(be._pitch)*be.cameraToCenterDistance:1,u_device_pixel_ratio:qe.pixelRatio,u_is_halo:+Sr})},fs=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr)=>a.e(Eo(le,w,B,Q,ee,se,qe,je,it,yt,Ot,!0,Nt,!0,Sr),{u_texsize_icon:hr,u_texture_icon:1}),Ql=(le,w,B)=>({u_matrix:le,u_opacity:w,u_color:B}),Hu=(le,w,B,Q,ee,se)=>a.e(function(qe,je,it,yt){let Ot=it.imageManager.getPattern(qe.from.toString()),Nt=it.imageManager.getPattern(qe.to.toString()),{width:hr,height:Sr}=it.imageManager.getPixelSize(),he=Math.pow(2,yt.tileID.overscaledZ),be=yt.tileSize*Math.pow(2,it.transform.tileZoom)/he,Pe=be*(yt.tileID.canonical.x+yt.tileID.wrap*he),Oe=be*yt.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:Ot.tl,u_pattern_br_a:Ot.br,u_pattern_tl_b:Nt.tl,u_pattern_br_b:Nt.br,u_texsize:[hr,Sr],u_mix:je.t,u_pattern_size_a:Ot.displaySize,u_pattern_size_b:Nt.displaySize,u_scale_a:je.fromScale,u_scale_b:je.toScale,u_tile_units_to_pixels:1/nn(yt,1,it.transform.tileZoom),u_pixel_coord_upper:[Pe>>16,Oe>>16],u_pixel_coord_lower:[65535&Pe,65535&Oe]}}(Q,se,B,ee),{u_matrix:le,u_opacity:w}),fc={fillExtrusion:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_lightpos:new a.aN(le,w.u_lightpos),u_lightintensity:new a.aI(le,w.u_lightintensity),u_lightcolor:new a.aN(le,w.u_lightcolor),u_vertical_gradient:new a.aI(le,w.u_vertical_gradient),u_opacity:new a.aI(le,w.u_opacity)}),fillExtrusionPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_lightpos:new a.aN(le,w.u_lightpos),u_lightintensity:new a.aI(le,w.u_lightintensity),u_lightcolor:new a.aN(le,w.u_lightcolor),u_vertical_gradient:new a.aI(le,w.u_vertical_gradient),u_height_factor:new a.aI(le,w.u_height_factor),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade),u_opacity:new a.aI(le,w.u_opacity)}),fill:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix)}),fillPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),fillOutline:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world)}),fillOutlinePattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),circle:(le,w)=>({u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_scale_with_map:new a.aH(le,w.u_scale_with_map),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_extrude_scale:new a.aO(le,w.u_extrude_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_matrix:new a.aJ(le,w.u_matrix)}),collisionBox:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_pixel_extrude_scale:new a.aO(le,w.u_pixel_extrude_scale)}),collisionCircle:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_inv_matrix:new a.aJ(le,w.u_inv_matrix),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_viewport_size:new a.aO(le,w.u_viewport_size)}),debug:(le,w)=>({u_color:new a.aL(le,w.u_color),u_matrix:new a.aJ(le,w.u_matrix),u_overlay:new a.aH(le,w.u_overlay),u_overlay_scale:new a.aI(le,w.u_overlay_scale)}),clippingMask:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix)}),heatmap:(le,w)=>({u_extrude_scale:new a.aI(le,w.u_extrude_scale),u_intensity:new a.aI(le,w.u_intensity),u_matrix:new a.aJ(le,w.u_matrix)}),heatmapTexture:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world),u_image:new a.aH(le,w.u_image),u_color_ramp:new a.aH(le,w.u_color_ramp),u_opacity:new a.aI(le,w.u_opacity)}),hillshade:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_latrange:new a.aO(le,w.u_latrange),u_light:new a.aO(le,w.u_light),u_shadow:new a.aL(le,w.u_shadow),u_highlight:new a.aL(le,w.u_highlight),u_accent:new a.aL(le,w.u_accent)}),hillshadePrepare:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_dimension:new a.aO(le,w.u_dimension),u_zoom:new a.aI(le,w.u_zoom),u_unpack:new a.aK(le,w.u_unpack)}),line:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels)}),lineGradient:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_image:new a.aH(le,w.u_image),u_image_height:new a.aI(le,w.u_image_height)}),linePattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texsize:new a.aO(le,w.u_texsize),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_image:new a.aH(le,w.u_image),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),lineSDF:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_patternscale_a:new a.aO(le,w.u_patternscale_a),u_patternscale_b:new a.aO(le,w.u_patternscale_b),u_sdfgamma:new a.aI(le,w.u_sdfgamma),u_image:new a.aH(le,w.u_image),u_tex_y_a:new a.aI(le,w.u_tex_y_a),u_tex_y_b:new a.aI(le,w.u_tex_y_b),u_mix:new a.aI(le,w.u_mix)}),raster:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_tl_parent:new a.aO(le,w.u_tl_parent),u_scale_parent:new a.aI(le,w.u_scale_parent),u_buffer_scale:new a.aI(le,w.u_buffer_scale),u_fade_t:new a.aI(le,w.u_fade_t),u_opacity:new a.aI(le,w.u_opacity),u_image0:new a.aH(le,w.u_image0),u_image1:new a.aH(le,w.u_image1),u_brightness_low:new a.aI(le,w.u_brightness_low),u_brightness_high:new a.aI(le,w.u_brightness_high),u_saturation_factor:new a.aI(le,w.u_saturation_factor),u_contrast_factor:new a.aI(le,w.u_contrast_factor),u_spin_weights:new a.aN(le,w.u_spin_weights)}),symbolIcon:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texture:new a.aH(le,w.u_texture),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),symbolSDF:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texture:new a.aH(le,w.u_texture),u_gamma_scale:new a.aI(le,w.u_gamma_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_is_halo:new a.aH(le,w.u_is_halo),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),symbolTextAndIcon:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texsize_icon:new a.aO(le,w.u_texsize_icon),u_texture:new a.aH(le,w.u_texture),u_texture_icon:new a.aH(le,w.u_texture_icon),u_gamma_scale:new a.aI(le,w.u_gamma_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_is_halo:new a.aH(le,w.u_is_halo),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),background:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_opacity:new a.aI(le,w.u_opacity),u_color:new a.aL(le,w.u_color)}),backgroundPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_opacity:new a.aI(le,w.u_opacity),u_image:new a.aH(le,w.u_image),u_pattern_tl_a:new a.aO(le,w.u_pattern_tl_a),u_pattern_br_a:new a.aO(le,w.u_pattern_br_a),u_pattern_tl_b:new a.aO(le,w.u_pattern_tl_b),u_pattern_br_b:new a.aO(le,w.u_pattern_br_b),u_texsize:new a.aO(le,w.u_texsize),u_mix:new a.aI(le,w.u_mix),u_pattern_size_a:new a.aO(le,w.u_pattern_size_a),u_pattern_size_b:new a.aO(le,w.u_pattern_size_b),u_scale_a:new a.aI(le,w.u_scale_a),u_scale_b:new a.aI(le,w.u_scale_b),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_tile_units_to_pixels:new a.aI(le,w.u_tile_units_to_pixels)}),terrain:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texture:new a.aH(le,w.u_texture),u_ele_delta:new a.aI(le,w.u_ele_delta),u_fog_matrix:new a.aJ(le,w.u_fog_matrix),u_fog_color:new a.aL(le,w.u_fog_color),u_fog_ground_blend:new a.aI(le,w.u_fog_ground_blend),u_fog_ground_blend_opacity:new a.aI(le,w.u_fog_ground_blend_opacity),u_horizon_color:new a.aL(le,w.u_horizon_color),u_horizon_fog_blend:new a.aI(le,w.u_horizon_fog_blend)}),terrainDepth:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ele_delta:new a.aI(le,w.u_ele_delta)}),terrainCoords:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texture:new a.aH(le,w.u_texture),u_terrain_coords_id:new a.aI(le,w.u_terrain_coords_id),u_ele_delta:new a.aI(le,w.u_ele_delta)}),sky:(le,w)=>({u_sky_color:new a.aL(le,w.u_sky_color),u_horizon_color:new a.aL(le,w.u_horizon_color),u_horizon:new a.aI(le,w.u_horizon),u_sky_horizon_blend:new a.aI(le,w.u_sky_horizon_blend)})};class ms{constructor(w,B,Q){this.context=w;let ee=w.gl;this.buffer=ee.createBuffer(),this.dynamicDraw=!!Q,this.context.unbindVAO(),w.bindElementBuffer.set(this.buffer),ee.bufferData(ee.ELEMENT_ARRAY_BUFFER,B.arrayBuffer,this.dynamicDraw?ee.DYNAMIC_DRAW:ee.STATIC_DRAW),this.dynamicDraw||delete B.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(w){let B=this.context.gl;if(!this.dynamicDraw)throw new Error(\"Attempted to update data while not in dynamic mode.\");this.context.unbindVAO(),this.bind(),B.bufferSubData(B.ELEMENT_ARRAY_BUFFER,0,w.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let on={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"};class fa{constructor(w,B,Q,ee){this.length=B.length,this.attributes=Q,this.itemSize=B.bytesPerElement,this.dynamicDraw=ee,this.context=w;let se=w.gl;this.buffer=se.createBuffer(),w.bindVertexBuffer.set(this.buffer),se.bufferData(se.ARRAY_BUFFER,B.arrayBuffer,this.dynamicDraw?se.DYNAMIC_DRAW:se.STATIC_DRAW),this.dynamicDraw||delete B.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(w){if(w.length!==this.length)throw new Error(`Length of new data is ${w.length}, which doesn't match current length of ${this.length}`);let B=this.context.gl;this.bind(),B.bufferSubData(B.ARRAY_BUFFER,0,w.arrayBuffer)}enableAttributes(w,B){for(let Q=0;Q<this.attributes.length;Q++){let ee=B.attributes[this.attributes[Q].name];ee!==void 0&&w.enableVertexAttribArray(ee)}}setVertexAttribPointers(w,B,Q){for(let ee=0;ee<this.attributes.length;ee++){let se=this.attributes[ee],qe=B.attributes[se.name];qe!==void 0&&w.vertexAttribPointer(qe,se.components,w[on[se.type]],!1,this.itemSize,se.offset+this.itemSize*(Q||0))}}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let Qu=new WeakMap;function Rl(le){var w;if(Qu.has(le))return Qu.get(le);{let B=(w=le.getParameter(le.VERSION))===null||w===void 0?void 0:w.startsWith(\"WebGL 2.0\");return Qu.set(le,B),B}}class vo{constructor(w){this.gl=w.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1}get(){return this.current}set(w){}getDefault(){return this.default}setDefault(){this.set(this.default)}}class Zl extends vo{getDefault(){return a.aM.transparent}set(w){let B=this.current;(w.r!==B.r||w.g!==B.g||w.b!==B.b||w.a!==B.a||this.dirty)&&(this.gl.clearColor(w.r,w.g,w.b,w.a),this.current=w,this.dirty=!1)}}class Ks extends vo{getDefault(){return 1}set(w){(w!==this.current||this.dirty)&&(this.gl.clearDepth(w),this.current=w,this.dirty=!1)}}class Xl extends vo{getDefault(){return 0}set(w){(w!==this.current||this.dirty)&&(this.gl.clearStencil(w),this.current=w,this.dirty=!1)}}class Ec extends vo{getDefault(){return[!0,!0,!0,!0]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||w[2]!==B[2]||w[3]!==B[3]||this.dirty)&&(this.gl.colorMask(w[0],w[1],w[2],w[3]),this.current=w,this.dirty=!1)}}class Zn extends vo{getDefault(){return!0}set(w){(w!==this.current||this.dirty)&&(this.gl.depthMask(w),this.current=w,this.dirty=!1)}}class ko extends vo{getDefault(){return 255}set(w){(w!==this.current||this.dirty)&&(this.gl.stencilMask(w),this.current=w,this.dirty=!1)}}class Co extends vo{getDefault(){return{func:this.gl.ALWAYS,ref:0,mask:255}}set(w){let B=this.current;(w.func!==B.func||w.ref!==B.ref||w.mask!==B.mask||this.dirty)&&(this.gl.stencilFunc(w.func,w.ref,w.mask),this.current=w,this.dirty=!1)}}class Tl extends vo{getDefault(){let w=this.gl;return[w.KEEP,w.KEEP,w.KEEP]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||w[2]!==B[2]||this.dirty)&&(this.gl.stencilOp(w[0],w[1],w[2]),this.current=w,this.dirty=!1)}}class uf extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;w?B.enable(B.STENCIL_TEST):B.disable(B.STENCIL_TEST),this.current=w,this.dirty=!1}}class So extends vo{getDefault(){return[0,1]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||this.dirty)&&(this.gl.depthRange(w[0],w[1]),this.current=w,this.dirty=!1)}}class cf extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;w?B.enable(B.DEPTH_TEST):B.disable(B.DEPTH_TEST),this.current=w,this.dirty=!1}}class rh extends vo{getDefault(){return this.gl.LESS}set(w){(w!==this.current||this.dirty)&&(this.gl.depthFunc(w),this.current=w,this.dirty=!1)}}class Al extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;w?B.enable(B.BLEND):B.disable(B.BLEND),this.current=w,this.dirty=!1}}class Hc extends vo{getDefault(){let w=this.gl;return[w.ONE,w.ZERO]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||this.dirty)&&(this.gl.blendFunc(w[0],w[1]),this.current=w,this.dirty=!1)}}class eu extends vo{getDefault(){return a.aM.transparent}set(w){let B=this.current;(w.r!==B.r||w.g!==B.g||w.b!==B.b||w.a!==B.a||this.dirty)&&(this.gl.blendColor(w.r,w.g,w.b,w.a),this.current=w,this.dirty=!1)}}class Ls extends vo{getDefault(){return this.gl.FUNC_ADD}set(w){(w!==this.current||this.dirty)&&(this.gl.blendEquation(w),this.current=w,this.dirty=!1)}}class mu extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;w?B.enable(B.CULL_FACE):B.disable(B.CULL_FACE),this.current=w,this.dirty=!1}}class kc extends vo{getDefault(){return this.gl.BACK}set(w){(w!==this.current||this.dirty)&&(this.gl.cullFace(w),this.current=w,this.dirty=!1)}}class Of extends vo{getDefault(){return this.gl.CCW}set(w){(w!==this.current||this.dirty)&&(this.gl.frontFace(w),this.current=w,this.dirty=!1)}}class Gc extends vo{getDefault(){return null}set(w){(w!==this.current||this.dirty)&&(this.gl.useProgram(w),this.current=w,this.dirty=!1)}}class vd extends vo{getDefault(){return this.gl.TEXTURE0}set(w){(w!==this.current||this.dirty)&&(this.gl.activeTexture(w),this.current=w,this.dirty=!1)}}class Bf extends vo{getDefault(){let w=this.gl;return[0,0,w.drawingBufferWidth,w.drawingBufferHeight]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||w[2]!==B[2]||w[3]!==B[3]||this.dirty)&&(this.gl.viewport(w[0],w[1],w[2],w[3]),this.current=w,this.dirty=!1)}}class ss extends vo{getDefault(){return null}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.bindFramebuffer(B.FRAMEBUFFER,w),this.current=w,this.dirty=!1}}class ff extends vo{getDefault(){return null}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.bindRenderbuffer(B.RENDERBUFFER,w),this.current=w,this.dirty=!1}}class ih extends vo{getDefault(){return null}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.bindTexture(B.TEXTURE_2D,w),this.current=w,this.dirty=!1}}class Vl extends vo{getDefault(){return null}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.bindBuffer(B.ARRAY_BUFFER,w),this.current=w,this.dirty=!1}}class Js extends vo{getDefault(){return null}set(w){let B=this.gl;B.bindBuffer(B.ELEMENT_ARRAY_BUFFER,w),this.current=w,this.dirty=!1}}class hc extends vo{getDefault(){return null}set(w){var B;if(w===this.current&&!this.dirty)return;let Q=this.gl;Rl(Q)?Q.bindVertexArray(w):(B=Q.getExtension(\"OES_vertex_array_object\"))===null||B===void 0||B.bindVertexArrayOES(w),this.current=w,this.dirty=!1}}class Cc extends vo{getDefault(){return 4}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.pixelStorei(B.UNPACK_ALIGNMENT,w),this.current=w,this.dirty=!1}}class ws extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.pixelStorei(B.UNPACK_PREMULTIPLY_ALPHA_WEBGL,w),this.current=w,this.dirty=!1}}class $s extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.pixelStorei(B.UNPACK_FLIP_Y_WEBGL,w),this.current=w,this.dirty=!1}}class hs extends vo{constructor(w,B){super(w),this.context=w,this.parent=B}getDefault(){return null}}class Ms extends hs{setDirty(){this.dirty=!0}set(w){if(w===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let B=this.gl;B.framebufferTexture2D(B.FRAMEBUFFER,B.COLOR_ATTACHMENT0,B.TEXTURE_2D,w,0),this.current=w,this.dirty=!1}}class dc extends hs{set(w){if(w===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let B=this.gl;B.framebufferRenderbuffer(B.FRAMEBUFFER,B.DEPTH_ATTACHMENT,B.RENDERBUFFER,w),this.current=w,this.dirty=!1}}class Sl extends hs{set(w){if(w===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let B=this.gl;B.framebufferRenderbuffer(B.FRAMEBUFFER,B.DEPTH_STENCIL_ATTACHMENT,B.RENDERBUFFER,w),this.current=w,this.dirty=!1}}class ec{constructor(w,B,Q,ee,se){this.context=w,this.width=B,this.height=Q;let qe=w.gl,je=this.framebuffer=qe.createFramebuffer();if(this.colorAttachment=new Ms(w,je),ee)this.depthAttachment=se?new Sl(w,je):new dc(w,je);else if(se)throw new Error(\"Stencil cannot be set without depth\");if(qe.checkFramebufferStatus(qe.FRAMEBUFFER)!==qe.FRAMEBUFFER_COMPLETE)throw new Error(\"Framebuffer is not complete\")}destroy(){let w=this.context.gl,B=this.colorAttachment.get();if(B&&w.deleteTexture(B),this.depthAttachment){let Q=this.depthAttachment.get();Q&&w.deleteRenderbuffer(Q)}w.deleteFramebuffer(this.framebuffer)}}class Ps{constructor(w,B,Q){this.blendFunction=w,this.blendColor=B,this.mask=Q}}Ps.Replace=[1,0],Ps.disabled=new Ps(Ps.Replace,a.aM.transparent,[!1,!1,!1,!1]),Ps.unblended=new Ps(Ps.Replace,a.aM.transparent,[!0,!0,!0,!0]),Ps.alphaBlended=new Ps([1,771],a.aM.transparent,[!0,!0,!0,!0]);class ov{constructor(w){var B,Q;if(this.gl=w,this.clearColor=new Zl(this),this.clearDepth=new Ks(this),this.clearStencil=new Xl(this),this.colorMask=new Ec(this),this.depthMask=new Zn(this),this.stencilMask=new ko(this),this.stencilFunc=new Co(this),this.stencilOp=new Tl(this),this.stencilTest=new uf(this),this.depthRange=new So(this),this.depthTest=new cf(this),this.depthFunc=new rh(this),this.blend=new Al(this),this.blendFunc=new Hc(this),this.blendColor=new eu(this),this.blendEquation=new Ls(this),this.cullFace=new mu(this),this.cullFaceSide=new kc(this),this.frontFace=new Of(this),this.program=new Gc(this),this.activeTexture=new vd(this),this.viewport=new Bf(this),this.bindFramebuffer=new ss(this),this.bindRenderbuffer=new ff(this),this.bindTexture=new ih(this),this.bindVertexBuffer=new Vl(this),this.bindElementBuffer=new Js(this),this.bindVertexArray=new hc(this),this.pixelStoreUnpack=new Cc(this),this.pixelStoreUnpackPremultiplyAlpha=new ws(this),this.pixelStoreUnpackFlipY=new $s(this),this.extTextureFilterAnisotropic=w.getExtension(\"EXT_texture_filter_anisotropic\")||w.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||w.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=w.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.maxTextureSize=w.getParameter(w.MAX_TEXTURE_SIZE),Rl(w)){this.HALF_FLOAT=w.HALF_FLOAT;let ee=w.getExtension(\"EXT_color_buffer_half_float\");this.RGBA16F=(B=w.RGBA16F)!==null&&B!==void 0?B:ee==null?void 0:ee.RGBA16F_EXT,this.RGB16F=(Q=w.RGB16F)!==null&&Q!==void 0?Q:ee==null?void 0:ee.RGB16F_EXT,w.getExtension(\"EXT_color_buffer_float\")}else{w.getExtension(\"EXT_color_buffer_half_float\"),w.getExtension(\"OES_texture_half_float_linear\");let ee=w.getExtension(\"OES_texture_half_float\");this.HALF_FLOAT=ee==null?void 0:ee.HALF_FLOAT_OES}}setDefault(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()}setDirty(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.bindVertexArray.dirty=!0,this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0}createIndexBuffer(w,B){return new ms(this,w,B)}createVertexBuffer(w,B,Q){return new fa(this,w,B,Q)}createRenderbuffer(w,B,Q){let ee=this.gl,se=ee.createRenderbuffer();return this.bindRenderbuffer.set(se),ee.renderbufferStorage(ee.RENDERBUFFER,w,B,Q),this.bindRenderbuffer.set(null),se}createFramebuffer(w,B,Q,ee){return new ec(this,w,B,Q,ee)}clear({color:w,depth:B,stencil:Q}){let ee=this.gl,se=0;w&&(se|=ee.COLOR_BUFFER_BIT,this.clearColor.set(w),this.colorMask.set([!0,!0,!0,!0])),B!==void 0&&(se|=ee.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(B),this.depthMask.set(!0)),Q!==void 0&&(se|=ee.STENCIL_BUFFER_BIT,this.clearStencil.set(Q),this.stencilMask.set(255)),ee.clear(se)}setCullFace(w){w.enable===!1?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(w.mode),this.frontFace.set(w.frontFace))}setDepthMode(w){w.func!==this.gl.ALWAYS||w.mask?(this.depthTest.set(!0),this.depthFunc.set(w.func),this.depthMask.set(w.mask),this.depthRange.set(w.range)):this.depthTest.set(!1)}setStencilMode(w){w.test.func!==this.gl.ALWAYS||w.mask?(this.stencilTest.set(!0),this.stencilMask.set(w.mask),this.stencilOp.set([w.fail,w.depthFail,w.pass]),this.stencilFunc.set({func:w.test.func,ref:w.ref,mask:w.test.mask})):this.stencilTest.set(!1)}setColorMode(w){a.aE(w.blendFunction,Ps.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(w.blendFunction),this.blendColor.set(w.blendColor)),this.colorMask.set(w.mask)}createVertexArray(){var w;return Rl(this.gl)?this.gl.createVertexArray():(w=this.gl.getExtension(\"OES_vertex_array_object\"))===null||w===void 0?void 0:w.createVertexArrayOES()}deleteVertexArray(w){var B;return Rl(this.gl)?this.gl.deleteVertexArray(w):(B=this.gl.getExtension(\"OES_vertex_array_object\"))===null||B===void 0?void 0:B.deleteVertexArrayOES(w)}unbindVAO(){this.bindVertexArray.set(null)}}class wo{constructor(w,B,Q){this.func=w,this.mask=B,this.range=Q}}wo.ReadOnly=!1,wo.ReadWrite=!0,wo.disabled=new wo(519,wo.ReadOnly,[0,1]);let Od=7680;class $o{constructor(w,B,Q,ee,se,qe){this.test=w,this.ref=B,this.mask=Q,this.fail=ee,this.depthFail=se,this.pass=qe}}$o.disabled=new $o({func:519,mask:0},0,0,Od,Od,Od);class Ja{constructor(w,B,Q){this.enable=w,this.mode=B,this.frontFace=Q}}let Ef;function tc(le,w,B,Q,ee){let se=le.context,qe=se.gl,je=le.useProgram(\"collisionBox\"),it=[],yt=0,Ot=0;for(let Oe=0;Oe<Q.length;Oe++){let Je=Q[Oe],He=w.getTile(Je).getBucket(B);if(!He)continue;let et=ee?He.textCollisionBox:He.iconCollisionBox,Mt=He.collisionCircleArray;if(Mt.length>0){let Dt=a.H();a.aQ(Dt,He.placementInvProjMatrix,le.transform.glCoordMatrix),a.aQ(Dt,Dt,He.placementViewportMatrix),it.push({circleArray:Mt,circleOffset:Ot,transform:Je.posMatrix,invTransform:Dt,coord:Je}),yt+=Mt.length/4,Ot=yt}et&&je.draw(se,qe.LINES,wo.disabled,$o.disabled,le.colorModeForRenderPass(),Ja.disabled,{u_matrix:Je.posMatrix,u_pixel_extrude_scale:[1/(Nt=le.transform).width,1/Nt.height]},le.style.map.terrain&&le.style.map.terrain.getTerrainData(Je),B.id,et.layoutVertexBuffer,et.indexBuffer,et.segments,null,le.transform.zoom,null,null,et.collisionVertexBuffer)}var Nt;if(!ee||!it.length)return;let hr=le.useProgram(\"collisionCircle\"),Sr=new a.aR;Sr.resize(4*yt),Sr._trim();let he=0;for(let Oe of it)for(let Je=0;Je<Oe.circleArray.length/4;Je++){let He=4*Je,et=Oe.circleArray[He+0],Mt=Oe.circleArray[He+1],Dt=Oe.circleArray[He+2],Ut=Oe.circleArray[He+3];Sr.emplace(he++,et,Mt,Dt,Ut,0),Sr.emplace(he++,et,Mt,Dt,Ut,1),Sr.emplace(he++,et,Mt,Dt,Ut,2),Sr.emplace(he++,et,Mt,Dt,Ut,3)}(!Ef||Ef.length<2*yt)&&(Ef=function(Oe){let Je=2*Oe,He=new a.aT;He.resize(Je),He._trim();for(let et=0;et<Je;et++){let Mt=6*et;He.uint16[Mt+0]=4*et+0,He.uint16[Mt+1]=4*et+1,He.uint16[Mt+2]=4*et+2,He.uint16[Mt+3]=4*et+2,He.uint16[Mt+4]=4*et+3,He.uint16[Mt+5]=4*et+0}return He}(yt));let be=se.createIndexBuffer(Ef,!0),Pe=se.createVertexBuffer(Sr,a.aS.members,!0);for(let Oe of it){let Je=Oo(Oe.transform,Oe.invTransform,le.transform);hr.draw(se,qe.TRIANGLES,wo.disabled,$o.disabled,le.colorModeForRenderPass(),Ja.disabled,Je,le.style.map.terrain&&le.style.map.terrain.getTerrainData(Oe.coord),B.id,Pe,be,a.a0.simpleSegment(0,2*Oe.circleOffset,Oe.circleArray.length,Oe.circleArray.length/2),null,le.transform.zoom,null,null,null)}Pe.destroy(),be.destroy()}Ja.disabled=new Ja(!1,1029,2305),Ja.backCCW=new Ja(!0,1029,2305);let uu=a.an(new Float32Array(16));function Mh(le,w,B,Q,ee,se){let{horizontalAlign:qe,verticalAlign:je}=a.au(le);return new a.P((-(qe-.5)*w/ee+Q[0])*se,(-(je-.5)*B/ee+Q[1])*se)}function jc(le,w,B,Q,ee,se){let qe=w.tileAnchorPoint.add(new a.P(w.translation[0],w.translation[1]));if(w.pitchWithMap){let je=Q.mult(se);B||(je=je.rotate(-ee));let it=qe.add(je);return ut(it.x,it.y,w.labelPlaneMatrix,w.getElevation).point}if(B){let je=lt(w.tileAnchorPoint.x+1,w.tileAnchorPoint.y,w).point.sub(le),it=Math.atan(je.y/je.x)+(je.x<0?Math.PI:0);return le.add(Q.rotate(it))}return le.add(Q)}function kf(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr){let he=le.text.placedSymbolArray,be=le.text.dynamicLayoutVertexArray,Pe=le.icon.dynamicLayoutVertexArray,Oe={};be.clear();for(let Je=0;Je<he.length;Je++){let He=he.get(Je),et=He.hidden||!He.crossTileID||le.allowVerticalPlacement&&!He.placedOrientation?null:Q[He.crossTileID];if(et){let Mt=new a.P(He.anchorX,He.anchorY),Dt={getElevation:Sr,width:ee.width,height:ee.height,labelPlaneMatrix:se,lineVertexArray:null,pitchWithMap:B,projection:Ot,projectionCache:null,tileAnchorPoint:Mt,translation:Nt,unwrappedTileID:hr},Ut=B?ut(Mt.x,Mt.y,qe,Sr):lt(Mt.x,Mt.y,Dt),tr=Ne(ee.cameraToCenterDistance,Ut.signedDistanceFromCamera),mr=a.ai(le.textSizeData,it,He)*tr/a.ap;B&&(mr*=le.tilePixelRatio/je);let{width:Rr,height:zr,anchor:Xr,textOffset:di,textBoxScale:Li}=et,Ci=Mh(Xr,Rr,zr,di,Li,mr),Qi=Ot.getPitchedTextCorrection(ee,Mt.add(new a.P(Nt[0],Nt[1])),hr),Mn=jc(Ut.point,Dt,w,Ci,ee.angle,Qi),pa=le.allowVerticalPlacement&&He.placedOrientation===a.ah.vertical?Math.PI/2:0;for(let ea=0;ea<He.numGlyphs;ea++)a.aj(be,Mn,pa);yt&&He.associatedIconIndex>=0&&(Oe[He.associatedIconIndex]={shiftedAnchor:Mn,angle:pa})}else ai(He.numGlyphs,be)}if(yt){Pe.clear();let Je=le.icon.placedSymbolArray;for(let He=0;He<Je.length;He++){let et=Je.get(He);if(et.hidden)ai(et.numGlyphs,Pe);else{let Mt=Oe[He];if(Mt)for(let Dt=0;Dt<et.numGlyphs;Dt++)a.aj(Pe,Mt.shiftedAnchor,Mt.angle);else ai(et.numGlyphs,Pe)}}le.icon.dynamicLayoutVertexBuffer.updateData(Pe)}le.text.dynamicLayoutVertexBuffer.updateData(be)}function Ml(le,w,B){return B.iconsInText&&w?\"symbolTextAndIcon\":le?\"symbolSDF\":\"symbolIcon\"}function Yh(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt){let hr=le.context,Sr=hr.gl,he=le.transform,be=Gi(),Pe=je===\"map\",Oe=it===\"map\",Je=je!==\"viewport\"&&B.layout.get(\"symbol-placement\")!==\"point\",He=Pe&&!Oe&&!Je,et=!Oe&&Je,Mt=!B.layout.get(\"symbol-sort-key\").isConstant(),Dt=!1,Ut=le.depthModeForSublayer(0,wo.ReadOnly),tr=B._unevaluatedLayout.hasValue(\"text-variable-anchor\")||B._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),mr=[],Rr=be.getCircleRadiusCorrection(he);for(let zr of Q){let Xr=w.getTile(zr),di=Xr.getBucket(B);if(!di)continue;let Li=ee?di.text:di.icon;if(!Li||!Li.segments.get().length||!Li.hasVisibleVertices)continue;let Ci=Li.programConfigurations.get(B.id),Qi=ee||di.sdfIcons,Mn=ee?di.textSizeData:di.iconSizeData,pa=Oe||he.pitch!==0,ea=le.useProgram(Ml(Qi,ee,di),Ci),Ga=a.ag(Mn,he.zoom),To=le.style.map.terrain&&le.style.map.terrain.getTerrainData(zr),Wa,co,Ro,Ds,As=[0,0],yo=null;if(ee)co=Xr.glyphAtlasTexture,Ro=Sr.LINEAR,Wa=Xr.glyphAtlasTexture.size,di.iconsInText&&(As=Xr.imageAtlasTexture.size,yo=Xr.imageAtlasTexture,Ds=pa||le.options.rotating||le.options.zooming||Mn.kind===\"composite\"||Mn.kind===\"camera\"?Sr.LINEAR:Sr.NEAREST);else{let We=B.layout.get(\"icon-size\").constantOr(0)!==1||di.iconsNeedLinear;co=Xr.imageAtlasTexture,Ro=Qi||le.options.rotating||le.options.zooming||We||pa?Sr.LINEAR:Sr.NEAREST,Wa=Xr.imageAtlasTexture.size}let po=nn(Xr,1,le.transform.zoom),_l=et?zr.posMatrix:uu,Hl=Or(_l,Oe,Pe,le.transform,po),Zu=Nr(_l,Oe,Pe,le.transform,po),cu=Nr(zr.posMatrix,Oe,Pe,le.transform,po),el=be.translatePosition(le.transform,Xr,se,qe),au=tr&&di.hasTextData(),zc=B.layout.get(\"icon-text-fit\")!==\"none\"&&au&&di.hasIconData();if(Je){let We=le.style.map.terrain?(tt,zt)=>le.style.map.terrain.getElevation(zr,tt,zt):null,wt=B.layout.get(\"text-rotation-alignment\")===\"map\";Ve(di,zr.posMatrix,le,ee,Hl,cu,Oe,yt,wt,be,zr.toUnwrapped(),he.width,he.height,el,We)}let zl=zr.posMatrix,Fl=ee&&tr||zc,Z=Je||Fl?uu:Hl,oe=Zu,we=Qi&&B.paint.get(ee?\"text-halo-width\":\"icon-halo-width\").constantOr(1)!==0,Be;Be=Qi?di.iconsInText?fs(Mn.kind,Ga,He,Oe,Je,Fl,le,zl,Z,oe,el,Wa,As,Rr):Eo(Mn.kind,Ga,He,Oe,Je,Fl,le,zl,Z,oe,el,ee,Wa,!0,Rr):Hs(Mn.kind,Ga,He,Oe,Je,Fl,le,zl,Z,oe,el,ee,Wa,Rr);let Ue={program:ea,buffers:Li,uniformValues:Be,atlasTexture:co,atlasTextureIcon:yo,atlasInterpolation:Ro,atlasInterpolationIcon:Ds,isSDF:Qi,hasHalo:we};if(Mt&&di.canOverlap){Dt=!0;let We=Li.segments.get();for(let wt of We)mr.push({segments:new a.a0([wt]),sortKey:wt.sortKey,state:Ue,terrainData:To})}else mr.push({segments:Li.segments,sortKey:0,state:Ue,terrainData:To})}Dt&&mr.sort((zr,Xr)=>zr.sortKey-Xr.sortKey);for(let zr of mr){let Xr=zr.state;if(hr.activeTexture.set(Sr.TEXTURE0),Xr.atlasTexture.bind(Xr.atlasInterpolation,Sr.CLAMP_TO_EDGE),Xr.atlasTextureIcon&&(hr.activeTexture.set(Sr.TEXTURE1),Xr.atlasTextureIcon&&Xr.atlasTextureIcon.bind(Xr.atlasInterpolationIcon,Sr.CLAMP_TO_EDGE)),Xr.isSDF){let di=Xr.uniformValues;Xr.hasHalo&&(di.u_is_halo=1,Eh(Xr.buffers,zr.segments,B,le,Xr.program,Ut,Ot,Nt,di,zr.terrainData)),di.u_is_halo=0}Eh(Xr.buffers,zr.segments,B,le,Xr.program,Ut,Ot,Nt,Xr.uniformValues,zr.terrainData)}}function Eh(le,w,B,Q,ee,se,qe,je,it,yt){let Ot=Q.context;ee.draw(Ot,Ot.gl.TRIANGLES,se,qe,je,Ja.disabled,it,yt,B.id,le.layoutVertexBuffer,le.indexBuffer,w,B.paint,Q.transform.zoom,le.programConfigurations.get(B.id),le.dynamicLayoutVertexBuffer,le.opacityVertexBuffer)}function nh(le,w,B,Q){let ee=le.context,se=ee.gl,qe=$o.disabled,je=new Ps([se.ONE,se.ONE],a.aM.transparent,[!0,!0,!0,!0]),it=w.getBucket(B);if(!it)return;let yt=Q.key,Ot=B.heatmapFbos.get(yt);Ot||(Ot=kh(ee,w.tileSize,w.tileSize),B.heatmapFbos.set(yt,Ot)),ee.bindFramebuffer.set(Ot.framebuffer),ee.viewport.set([0,0,w.tileSize,w.tileSize]),ee.clear({color:a.aM.transparent});let Nt=it.programConfigurations.get(B.id),hr=le.useProgram(\"heatmap\",Nt),Sr=le.style.map.terrain.getTerrainData(Q);hr.draw(ee,se.TRIANGLES,wo.disabled,qe,je,Ja.disabled,xo(Q.posMatrix,w,le.transform.zoom,B.paint.get(\"heatmap-intensity\")),Sr,B.id,it.layoutVertexBuffer,it.indexBuffer,it.segments,B.paint,le.transform.zoom,Nt)}function hf(le,w,B){let Q=le.context,ee=Q.gl;Q.setColorMode(le.colorModeForRenderPass());let se=Kh(Q,w),qe=B.key,je=w.heatmapFbos.get(qe);je&&(Q.activeTexture.set(ee.TEXTURE0),ee.bindTexture(ee.TEXTURE_2D,je.colorAttachment.get()),Q.activeTexture.set(ee.TEXTURE1),se.bind(ee.LINEAR,ee.CLAMP_TO_EDGE),le.useProgram(\"heatmapTexture\").draw(Q,ee.TRIANGLES,wo.disabled,$o.disabled,le.colorModeForRenderPass(),Ja.disabled,zs(le,w,0,1),null,w.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments,w.paint,le.transform.zoom),je.destroy(),w.heatmapFbos.delete(qe))}function kh(le,w,B){var Q,ee;let se=le.gl,qe=se.createTexture();se.bindTexture(se.TEXTURE_2D,qe),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_S,se.CLAMP_TO_EDGE),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_T,se.CLAMP_TO_EDGE),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MIN_FILTER,se.LINEAR),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MAG_FILTER,se.LINEAR);let je=(Q=le.HALF_FLOAT)!==null&&Q!==void 0?Q:se.UNSIGNED_BYTE,it=(ee=le.RGBA16F)!==null&&ee!==void 0?ee:se.RGBA;se.texImage2D(se.TEXTURE_2D,0,it,w,B,0,se.RGBA,je,null);let yt=le.createFramebuffer(w,B,!1,!1);return yt.colorAttachment.set(qe),yt}function Kh(le,w){return w.colorRampTexture||(w.colorRampTexture=new g(le,w.colorRamp,le.gl.RGBA)),w.colorRampTexture}function rc(le,w,B,Q,ee){if(!B||!Q||!Q.imageAtlas)return;let se=Q.imageAtlas.patternPositions,qe=se[B.to.toString()],je=se[B.from.toString()];if(!qe&&je&&(qe=je),!je&&qe&&(je=qe),!qe||!je){let it=ee.getPaintProperty(w);qe=se[it],je=se[it]}qe&&je&&le.setConstantPatternPositions(qe,je)}function ah(le,w,B,Q,ee,se,qe){let je=le.context.gl,it=\"fill-pattern\",yt=B.paint.get(it),Ot=yt&&yt.constantOr(1),Nt=B.getCrossfadeParameters(),hr,Sr,he,be,Pe;qe?(Sr=Ot&&!B.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",hr=je.LINES):(Sr=Ot?\"fillPattern\":\"fill\",hr=je.TRIANGLES);let Oe=yt.constantOr(null);for(let Je of Q){let He=w.getTile(Je);if(Ot&&!He.patternsLoaded())continue;let et=He.getBucket(B);if(!et)continue;let Mt=et.programConfigurations.get(B.id),Dt=le.useProgram(Sr,Mt),Ut=le.style.map.terrain&&le.style.map.terrain.getTerrainData(Je);Ot&&(le.context.activeTexture.set(je.TEXTURE0),He.imageAtlasTexture.bind(je.LINEAR,je.CLAMP_TO_EDGE),Mt.updatePaintBuffers(Nt)),rc(Mt,it,Oe,He,B);let tr=Ut?Je:null,mr=le.translatePosMatrix(tr?tr.posMatrix:Je.posMatrix,He,B.paint.get(\"fill-translate\"),B.paint.get(\"fill-translate-anchor\"));if(qe){be=et.indexBuffer2,Pe=et.segments2;let Rr=[je.drawingBufferWidth,je.drawingBufferHeight];he=Sr===\"fillOutlinePattern\"&&Ot?Sa(mr,le,Nt,He,Rr):Fn(mr,Rr)}else be=et.indexBuffer,Pe=et.segments,he=Ot?ua(mr,le,Nt,He):Ji(mr);Dt.draw(le.context,hr,ee,le.stencilModeForClipping(Je),se,Ja.disabled,he,Ut,B.id,et.layoutVertexBuffer,be,Pe,B.paint,le.transform.zoom,Mt)}}function Wc(le,w,B,Q,ee,se,qe){let je=le.context,it=je.gl,yt=\"fill-extrusion-pattern\",Ot=B.paint.get(yt),Nt=Ot.constantOr(1),hr=B.getCrossfadeParameters(),Sr=B.paint.get(\"fill-extrusion-opacity\"),he=Ot.constantOr(null);for(let be of Q){let Pe=w.getTile(be),Oe=Pe.getBucket(B);if(!Oe)continue;let Je=le.style.map.terrain&&le.style.map.terrain.getTerrainData(be),He=Oe.programConfigurations.get(B.id),et=le.useProgram(Nt?\"fillExtrusionPattern\":\"fillExtrusion\",He);Nt&&(le.context.activeTexture.set(it.TEXTURE0),Pe.imageAtlasTexture.bind(it.LINEAR,it.CLAMP_TO_EDGE),He.updatePaintBuffers(hr)),rc(He,yt,he,Pe,B);let Mt=le.translatePosMatrix(be.posMatrix,Pe,B.paint.get(\"fill-extrusion-translate\"),B.paint.get(\"fill-extrusion-translate-anchor\")),Dt=B.paint.get(\"fill-extrusion-vertical-gradient\"),Ut=Nt?hi(Mt,le,Dt,Sr,be,hr,Pe):an(Mt,le,Dt,Sr);et.draw(je,je.gl.TRIANGLES,ee,se,qe,Ja.backCCW,Ut,Je,B.id,Oe.layoutVertexBuffer,Oe.indexBuffer,Oe.segments,B.paint,le.transform.zoom,He,le.style.map.terrain&&Oe.centroidVertexBuffer)}}function df(le,w,B,Q,ee,se,qe){let je=le.context,it=je.gl,yt=B.fbo;if(!yt)return;let Ot=le.useProgram(\"hillshade\"),Nt=le.style.map.terrain&&le.style.map.terrain.getTerrainData(w);je.activeTexture.set(it.TEXTURE0),it.bindTexture(it.TEXTURE_2D,yt.colorAttachment.get()),Ot.draw(je,it.TRIANGLES,ee,se,qe,Ja.disabled,((hr,Sr,he,be)=>{let Pe=he.paint.get(\"hillshade-shadow-color\"),Oe=he.paint.get(\"hillshade-highlight-color\"),Je=he.paint.get(\"hillshade-accent-color\"),He=he.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);he.paint.get(\"hillshade-illumination-anchor\")===\"viewport\"&&(He-=hr.transform.angle);let et=!hr.options.moving;return{u_matrix:be?be.posMatrix:hr.transform.calculatePosMatrix(Sr.tileID.toUnwrapped(),et),u_image:0,u_latrange:ks(0,Sr.tileID),u_light:[he.paint.get(\"hillshade-exaggeration\"),He],u_shadow:Pe,u_highlight:Oe,u_accent:Je}})(le,B,Q,Nt?w:null),Nt,Q.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments)}function Cu(le,w,B,Q,ee,se){let qe=le.context,je=qe.gl,it=w.dem;if(it&&it.data){let yt=it.dim,Ot=it.stride,Nt=it.getPixels();if(qe.activeTexture.set(je.TEXTURE1),qe.pixelStoreUnpackPremultiplyAlpha.set(!1),w.demTexture=w.demTexture||le.getTileTexture(Ot),w.demTexture){let Sr=w.demTexture;Sr.update(Nt,{premultiply:!1}),Sr.bind(je.NEAREST,je.CLAMP_TO_EDGE)}else w.demTexture=new g(qe,Nt,je.RGBA,{premultiply:!1}),w.demTexture.bind(je.NEAREST,je.CLAMP_TO_EDGE);qe.activeTexture.set(je.TEXTURE0);let hr=w.fbo;if(!hr){let Sr=new g(qe,{width:yt,height:yt,data:null},je.RGBA);Sr.bind(je.LINEAR,je.CLAMP_TO_EDGE),hr=w.fbo=qe.createFramebuffer(yt,yt,!0,!1),hr.colorAttachment.set(Sr.texture)}qe.bindFramebuffer.set(hr.framebuffer),qe.viewport.set([0,0,yt,yt]),le.useProgram(\"hillshadePrepare\").draw(qe,je.TRIANGLES,Q,ee,se,Ja.disabled,((Sr,he)=>{let be=he.stride,Pe=a.H();return a.aP(Pe,0,a.X,-a.X,0,0,1),a.J(Pe,Pe,[0,-a.X,0]),{u_matrix:Pe,u_image:1,u_dimension:[be,be],u_zoom:Sr.overscaledZ,u_unpack:he.getUnpackVector()}})(w.tileID,it),null,B.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments),w.needsHillshadePrepare=!1}}function Nf(le,w,B,Q,ee,se){let qe=Q.paint.get(\"raster-fade-duration\");if(!se&&qe>0){let je=u.now(),it=(je-le.timeAdded)/qe,yt=w?(je-w.timeAdded)/qe:-1,Ot=B.getSource(),Nt=ee.coveringZoomLevel({tileSize:Ot.tileSize,roundZoom:Ot.roundZoom}),hr=!w||Math.abs(w.tileID.overscaledZ-Nt)>Math.abs(le.tileID.overscaledZ-Nt),Sr=hr&&le.refreshedUponExpiration?1:a.ac(hr?it:1-yt,0,1);return le.refreshedUponExpiration&&it>=1&&(le.refreshedUponExpiration=!1),w?{opacity:1,mix:1-Sr}:{opacity:Sr,mix:0}}return{opacity:1,mix:0}}let Zc=new a.aM(1,0,0,1),ds=new a.aM(0,1,0,1),Ch=new a.aM(0,0,1,1),Bd=new a.aM(1,0,1,1),Jh=new a.aM(0,1,1,1);function Cf(le,w,B,Q){Lu(le,0,w+B/2,le.transform.width,B,Q)}function pd(le,w,B,Q){Lu(le,w-B/2,0,B,le.transform.height,Q)}function Lu(le,w,B,Q,ee,se){let qe=le.context,je=qe.gl;je.enable(je.SCISSOR_TEST),je.scissor(w*le.pixelRatio,B*le.pixelRatio,Q*le.pixelRatio,ee*le.pixelRatio),qe.clear({color:se}),je.disable(je.SCISSOR_TEST)}function $h(le,w,B){let Q=le.context,ee=Q.gl,se=B.posMatrix,qe=le.useProgram(\"debug\"),je=wo.disabled,it=$o.disabled,yt=le.colorModeForRenderPass(),Ot=\"$debug\",Nt=le.style.map.terrain&&le.style.map.terrain.getTerrainData(B);Q.activeTexture.set(ee.TEXTURE0);let hr=w.getTileByID(B.key).latestRawTileData,Sr=Math.floor((hr&&hr.byteLength||0)/1024),he=w.getTile(B).tileSize,be=512/Math.min(he,512)*(B.overscaledZ/le.transform.zoom)*.5,Pe=B.canonical.toString();B.overscaledZ!==B.canonical.z&&(Pe+=` => ${B.overscaledZ}`),function(Oe,Je){Oe.initDebugOverlayCanvas();let He=Oe.debugOverlayCanvas,et=Oe.context.gl,Mt=Oe.debugOverlayCanvas.getContext(\"2d\");Mt.clearRect(0,0,He.width,He.height),Mt.shadowColor=\"white\",Mt.shadowBlur=2,Mt.lineWidth=1.5,Mt.strokeStyle=\"white\",Mt.textBaseline=\"top\",Mt.font=\"bold 36px Open Sans, sans-serif\",Mt.fillText(Je,5,5),Mt.strokeText(Je,5,5),Oe.debugOverlayTexture.update(He),Oe.debugOverlayTexture.bind(et.LINEAR,et.CLAMP_TO_EDGE)}(le,`${Pe} ${Sr}kB`),qe.draw(Q,ee.TRIANGLES,je,it,Ps.alphaBlended,Ja.disabled,ho(se,a.aM.transparent,be),null,Ot,le.debugBuffer,le.quadTriangleIndexBuffer,le.debugSegments),qe.draw(Q,ee.LINE_STRIP,je,it,yt,Ja.disabled,ho(se,a.aM.red),Nt,Ot,le.debugBuffer,le.tileBorderIndexBuffer,le.debugSegments)}function tu(le,w,B){let Q=le.context,ee=Q.gl,se=le.colorModeForRenderPass(),qe=new wo(ee.LEQUAL,wo.ReadWrite,le.depthRangeFor3D),je=le.useProgram(\"terrain\"),it=w.getTerrainMesh();Q.bindFramebuffer.set(null),Q.viewport.set([0,0,le.width,le.height]);for(let yt of B){let Ot=le.renderToTexture.getTexture(yt),Nt=w.getTerrainData(yt.tileID);Q.activeTexture.set(ee.TEXTURE0),ee.bindTexture(ee.TEXTURE_2D,Ot.texture);let hr=le.transform.calculatePosMatrix(yt.tileID.toUnwrapped()),Sr=w.getMeshFrameDelta(le.transform.zoom),he=le.transform.calculateFogMatrix(yt.tileID.toUnwrapped()),be=Hr(hr,Sr,he,le.style.sky,le.transform.pitch);je.draw(Q,ee.TRIANGLES,qe,$o.disabled,se,Ja.backCCW,be,Nt,\"terrain\",it.vertexBuffer,it.indexBuffer,it.segments)}}class Pu{constructor(w,B,Q){this.vertexBuffer=w,this.indexBuffer=B,this.segments=Q}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class Lc{constructor(w,B){this.context=new ov(w),this.transform=B,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:a.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=dt.maxUnderzooming+dt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new jo}resize(w,B,Q){if(this.width=Math.floor(w*Q),this.height=Math.floor(B*Q),this.pixelRatio=Q,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let ee of this.style._order)this.style._layers[ee].resize()}setup(){let w=this.context,B=new a.aX;B.emplaceBack(0,0),B.emplaceBack(a.X,0),B.emplaceBack(0,a.X),B.emplaceBack(a.X,a.X),this.tileExtentBuffer=w.createVertexBuffer(B,oo.members),this.tileExtentSegments=a.a0.simpleSegment(0,0,4,2);let Q=new a.aX;Q.emplaceBack(0,0),Q.emplaceBack(a.X,0),Q.emplaceBack(0,a.X),Q.emplaceBack(a.X,a.X),this.debugBuffer=w.createVertexBuffer(Q,oo.members),this.debugSegments=a.a0.simpleSegment(0,0,4,5);let ee=new a.$;ee.emplaceBack(0,0,0,0),ee.emplaceBack(a.X,0,a.X,0),ee.emplaceBack(0,a.X,0,a.X),ee.emplaceBack(a.X,a.X,a.X,a.X),this.rasterBoundsBuffer=w.createVertexBuffer(ee,ot.members),this.rasterBoundsSegments=a.a0.simpleSegment(0,0,4,2);let se=new a.aX;se.emplaceBack(0,0),se.emplaceBack(1,0),se.emplaceBack(0,1),se.emplaceBack(1,1),this.viewportBuffer=w.createVertexBuffer(se,oo.members),this.viewportSegments=a.a0.simpleSegment(0,0,4,2);let qe=new a.aZ;qe.emplaceBack(0),qe.emplaceBack(1),qe.emplaceBack(3),qe.emplaceBack(2),qe.emplaceBack(0),this.tileBorderIndexBuffer=w.createIndexBuffer(qe);let je=new a.aY;je.emplaceBack(0,1,2),je.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=w.createIndexBuffer(je);let it=this.context.gl;this.stencilClearMode=new $o({func:it.ALWAYS,mask:0},0,255,it.ZERO,it.ZERO,it.ZERO)}clearStencil(){let w=this.context,B=w.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let Q=a.H();a.aP(Q,0,this.width,this.height,0,0,1),a.K(Q,Q,[B.drawingBufferWidth,B.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(w,B.TRIANGLES,wo.disabled,this.stencilClearMode,Ps.disabled,Ja.disabled,Mo(Q),null,\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(w,B){if(this.currentStencilSource===w.source||!w.isTileClipped()||!B||!B.length)return;this.currentStencilSource=w.source;let Q=this.context,ee=Q.gl;this.nextStencilID+B.length>256&&this.clearStencil(),Q.setColorMode(Ps.disabled),Q.setDepthMode(wo.disabled);let se=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(let qe of B){let je=this._tileClippingMaskIDs[qe.key]=this.nextStencilID++,it=this.style.map.terrain&&this.style.map.terrain.getTerrainData(qe);se.draw(Q,ee.TRIANGLES,wo.disabled,new $o({func:ee.ALWAYS,mask:0},je,255,ee.KEEP,ee.KEEP,ee.REPLACE),Ps.disabled,Ja.disabled,Mo(qe.posMatrix),it,\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let w=this.nextStencilID++,B=this.context.gl;return new $o({func:B.NOTEQUAL,mask:255},w,255,B.KEEP,B.KEEP,B.REPLACE)}stencilModeForClipping(w){let B=this.context.gl;return new $o({func:B.EQUAL,mask:255},this._tileClippingMaskIDs[w.key],0,B.KEEP,B.KEEP,B.REPLACE)}stencilConfigForOverlap(w){let B=this.context.gl,Q=w.sort((qe,je)=>je.overscaledZ-qe.overscaledZ),ee=Q[Q.length-1].overscaledZ,se=Q[0].overscaledZ-ee+1;if(se>1){this.currentStencilSource=void 0,this.nextStencilID+se>256&&this.clearStencil();let qe={};for(let je=0;je<se;je++)qe[je+ee]=new $o({func:B.GEQUAL,mask:255},je+this.nextStencilID,255,B.KEEP,B.KEEP,B.REPLACE);return this.nextStencilID+=se,[qe,Q]}return[{[ee]:$o.disabled},Q]}colorModeForRenderPass(){let w=this.context.gl;return this._showOverdrawInspector?new Ps([w.CONSTANT_COLOR,w.ONE],new a.aM(.125,.125,.125,0),[!0,!0,!0,!0]):this.renderPass===\"opaque\"?Ps.unblended:Ps.alphaBlended}depthModeForSublayer(w,B,Q){if(!this.opaquePassEnabledForLayer())return wo.disabled;let ee=1-((1+this.currentLayer)*this.numSublayers+w)*this.depthEpsilon;return new wo(Q||this.context.gl.LEQUAL,B,[ee,ee])}opaquePassEnabledForLayer(){return this.currentLayer<this.opaquePassCutoff}render(w,B){this.style=w,this.options=B,this.lineAtlas=w.lineAtlas,this.imageManager=w.imageManager,this.glyphManager=w.glyphManager,this.symbolFadeChange=w.placement.symbolFadeChange(u.now()),this.imageManager.beginFrame();let Q=this.style._order,ee=this.style.sourceCaches,se={},qe={},je={};for(let it in ee){let yt=ee[it];yt.used&&yt.prepare(this.context),se[it]=yt.getVisibleCoordinates(),qe[it]=se[it].slice().reverse(),je[it]=yt.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(let it=0;it<Q.length;it++)if(this.style._layers[Q[it]].is3D()){this.opaquePassCutoff=it;break}this.maybeDrawDepthAndCoords(!1),this.renderToTexture&&(this.renderToTexture.prepareForRender(this.style,this.transform.zoom),this.opaquePassCutoff=0),this.renderPass=\"offscreen\";for(let it of Q){let yt=this.style._layers[it];if(!yt.hasOffscreenPass()||yt.isHidden(this.transform.zoom))continue;let Ot=qe[yt.source];(yt.type===\"custom\"||Ot.length)&&this.renderLayer(this,ee[yt.source],yt,Ot)}if(this.context.bindFramebuffer.set(null),this.context.clear({color:B.showOverdrawInspector?a.aM.black:a.aM.transparent,depth:1}),this.clearStencil(),this.style.sky&&function(it,yt){let Ot=it.context,Nt=Ot.gl,hr=((Oe,Je,He)=>({u_sky_color:Oe.properties.get(\"sky-color\"),u_horizon_color:Oe.properties.get(\"horizon-color\"),u_horizon:(Je.height/2+Je.getHorizon())*He,u_sky_horizon_blend:Oe.properties.get(\"sky-horizon-blend\")*Je.height/2*He}))(yt,it.style.map.transform,it.pixelRatio),Sr=new wo(Nt.LEQUAL,wo.ReadWrite,[0,1]),he=$o.disabled,be=it.colorModeForRenderPass(),Pe=it.useProgram(\"sky\");if(!yt.mesh){let Oe=new a.aX;Oe.emplaceBack(-1,-1),Oe.emplaceBack(1,-1),Oe.emplaceBack(1,1),Oe.emplaceBack(-1,1);let Je=new a.aY;Je.emplaceBack(0,1,2),Je.emplaceBack(0,2,3),yt.mesh=new Pu(Ot.createVertexBuffer(Oe,oo.members),Ot.createIndexBuffer(Je),a.a0.simpleSegment(0,0,Oe.length,Je.length))}Pe.draw(Ot,Nt.TRIANGLES,Sr,he,be,Ja.disabled,hr,void 0,\"sky\",yt.mesh.vertexBuffer,yt.mesh.indexBuffer,yt.mesh.segments)}(this,this.style.sky),this._showOverdrawInspector=B.showOverdrawInspector,this.depthRangeFor3D=[0,1-(w._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass=\"opaque\",this.currentLayer=Q.length-1;this.currentLayer>=0;this.currentLayer--){let it=this.style._layers[Q[this.currentLayer]],yt=ee[it.source],Ot=se[it.source];this._renderTileClippingMasks(it,Ot),this.renderLayer(this,yt,it,Ot)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer<Q.length;this.currentLayer++){let it=this.style._layers[Q[this.currentLayer]],yt=ee[it.source];if(this.renderToTexture&&this.renderToTexture.renderLayer(it))continue;let Ot=(it.type===\"symbol\"?je:qe)[it.source];this._renderTileClippingMasks(it,se[it.source]),this.renderLayer(this,yt,it,Ot)}if(this.options.showTileBoundaries){let it=function(yt,Ot){let Nt=null,hr=Object.values(yt._layers).flatMap(Pe=>Pe.source&&!Pe.isHidden(Ot)?[yt.sourceCaches[Pe.source]]:[]),Sr=hr.filter(Pe=>Pe.getSource().type===\"vector\"),he=hr.filter(Pe=>Pe.getSource().type!==\"vector\"),be=Pe=>{(!Nt||Nt.getSource().maxzoom<Pe.getSource().maxzoom)&&(Nt=Pe)};return Sr.forEach(Pe=>be(Pe)),Nt||he.forEach(Pe=>be(Pe)),Nt}(this.style,this.transform.zoom);it&&function(yt,Ot,Nt){for(let hr=0;hr<Nt.length;hr++)$h(yt,Ot,Nt[hr])}(this,it,it.getVisibleCoordinates())}this.options.showPadding&&function(it){let yt=it.transform.padding;Cf(it,it.transform.height-(yt.top||0),3,Zc),Cf(it,yt.bottom||0,3,ds),pd(it,yt.left||0,3,Ch),pd(it,it.transform.width-(yt.right||0),3,Bd);let Ot=it.transform.centerPoint;(function(Nt,hr,Sr,he){Lu(Nt,hr-1,Sr-10,2,20,he),Lu(Nt,hr-10,Sr-1,20,2,he)})(it,Ot.x,it.transform.height-Ot.y,Jh)}(this),this.context.setDefault()}maybeDrawDepthAndCoords(w){if(!this.style||!this.style.map||!this.style.map.terrain)return;let B=this.terrainFacilitator.matrix,Q=this.transform.modelViewProjectionMatrix,ee=this.terrainFacilitator.dirty;ee||(ee=w?!a.a_(B,Q):!a.a$(B,Q)),ee||(ee=this.style.map.terrain.sourceCache.tilesAfterTime(this.terrainFacilitator.renderTime).length>0),ee&&(a.b0(B,Q),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(se,qe){let je=se.context,it=je.gl,yt=Ps.unblended,Ot=new wo(it.LEQUAL,wo.ReadWrite,[0,1]),Nt=qe.getTerrainMesh(),hr=qe.sourceCache.getRenderableTiles(),Sr=se.useProgram(\"terrainDepth\");je.bindFramebuffer.set(qe.getFramebuffer(\"depth\").framebuffer),je.viewport.set([0,0,se.width/devicePixelRatio,se.height/devicePixelRatio]),je.clear({color:a.aM.transparent,depth:1});for(let he of hr){let be=qe.getTerrainData(he.tileID),Pe={u_matrix:se.transform.calculatePosMatrix(he.tileID.toUnwrapped()),u_ele_delta:qe.getMeshFrameDelta(se.transform.zoom)};Sr.draw(je,it.TRIANGLES,Ot,$o.disabled,yt,Ja.backCCW,Pe,be,\"terrain\",Nt.vertexBuffer,Nt.indexBuffer,Nt.segments)}je.bindFramebuffer.set(null),je.viewport.set([0,0,se.width,se.height])}(this,this.style.map.terrain),function(se,qe){let je=se.context,it=je.gl,yt=Ps.unblended,Ot=new wo(it.LEQUAL,wo.ReadWrite,[0,1]),Nt=qe.getTerrainMesh(),hr=qe.getCoordsTexture(),Sr=qe.sourceCache.getRenderableTiles(),he=se.useProgram(\"terrainCoords\");je.bindFramebuffer.set(qe.getFramebuffer(\"coords\").framebuffer),je.viewport.set([0,0,se.width/devicePixelRatio,se.height/devicePixelRatio]),je.clear({color:a.aM.transparent,depth:1}),qe.coordsIndex=[];for(let be of Sr){let Pe=qe.getTerrainData(be.tileID);je.activeTexture.set(it.TEXTURE0),it.bindTexture(it.TEXTURE_2D,hr.texture);let Oe={u_matrix:se.transform.calculatePosMatrix(be.tileID.toUnwrapped()),u_terrain_coords_id:(255-qe.coordsIndex.length)/255,u_texture:0,u_ele_delta:qe.getMeshFrameDelta(se.transform.zoom)};he.draw(je,it.TRIANGLES,Ot,$o.disabled,yt,Ja.backCCW,Oe,Pe,\"terrain\",Nt.vertexBuffer,Nt.indexBuffer,Nt.segments),qe.coordsIndex.push(be.tileID.key)}je.bindFramebuffer.set(null),je.viewport.set([0,0,se.width,se.height])}(this,this.style.map.terrain))}renderLayer(w,B,Q,ee){if(!Q.isHidden(this.transform.zoom)&&(Q.type===\"background\"||Q.type===\"custom\"||(ee||[]).length))switch(this.id=Q.id,Q.type){case\"symbol\":(function(se,qe,je,it,yt){if(se.renderPass!==\"translucent\")return;let Ot=$o.disabled,Nt=se.colorModeForRenderPass();(je._unevaluatedLayout.hasValue(\"text-variable-anchor\")||je._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"))&&function(hr,Sr,he,be,Pe,Oe,Je,He,et){let Mt=Sr.transform,Dt=Gi(),Ut=Pe===\"map\",tr=Oe===\"map\";for(let mr of hr){let Rr=be.getTile(mr),zr=Rr.getBucket(he);if(!zr||!zr.text||!zr.text.segments.get().length)continue;let Xr=a.ag(zr.textSizeData,Mt.zoom),di=nn(Rr,1,Sr.transform.zoom),Li=Or(mr.posMatrix,tr,Ut,Sr.transform,di),Ci=he.layout.get(\"icon-text-fit\")!==\"none\"&&zr.hasIconData();if(Xr){let Qi=Math.pow(2,Mt.zoom-Rr.tileID.overscaledZ),Mn=Sr.style.map.terrain?(ea,Ga)=>Sr.style.map.terrain.getElevation(mr,ea,Ga):null,pa=Dt.translatePosition(Mt,Rr,Je,He);kf(zr,Ut,tr,et,Mt,Li,mr.posMatrix,Qi,Xr,Ci,Dt,pa,mr.toUnwrapped(),Mn)}}}(it,se,je,qe,je.layout.get(\"text-rotation-alignment\"),je.layout.get(\"text-pitch-alignment\"),je.paint.get(\"text-translate\"),je.paint.get(\"text-translate-anchor\"),yt),je.paint.get(\"icon-opacity\").constantOr(1)!==0&&Yh(se,qe,je,it,!1,je.paint.get(\"icon-translate\"),je.paint.get(\"icon-translate-anchor\"),je.layout.get(\"icon-rotation-alignment\"),je.layout.get(\"icon-pitch-alignment\"),je.layout.get(\"icon-keep-upright\"),Ot,Nt),je.paint.get(\"text-opacity\").constantOr(1)!==0&&Yh(se,qe,je,it,!0,je.paint.get(\"text-translate\"),je.paint.get(\"text-translate-anchor\"),je.layout.get(\"text-rotation-alignment\"),je.layout.get(\"text-pitch-alignment\"),je.layout.get(\"text-keep-upright\"),Ot,Nt),qe.map.showCollisionBoxes&&(tc(se,qe,je,it,!0),tc(se,qe,je,it,!1))})(w,B,Q,ee,this.style.placement.variableOffsets);break;case\"circle\":(function(se,qe,je,it){if(se.renderPass!==\"translucent\")return;let yt=je.paint.get(\"circle-opacity\"),Ot=je.paint.get(\"circle-stroke-width\"),Nt=je.paint.get(\"circle-stroke-opacity\"),hr=!je.layout.get(\"circle-sort-key\").isConstant();if(yt.constantOr(1)===0&&(Ot.constantOr(1)===0||Nt.constantOr(1)===0))return;let Sr=se.context,he=Sr.gl,be=se.depthModeForSublayer(0,wo.ReadOnly),Pe=$o.disabled,Oe=se.colorModeForRenderPass(),Je=[];for(let He=0;He<it.length;He++){let et=it[He],Mt=qe.getTile(et),Dt=Mt.getBucket(je);if(!Dt)continue;let Ut=Dt.programConfigurations.get(je.id),tr=se.useProgram(\"circle\",Ut),mr=Dt.layoutVertexBuffer,Rr=Dt.indexBuffer,zr=se.style.map.terrain&&se.style.map.terrain.getTerrainData(et),Xr={programConfiguration:Ut,program:tr,layoutVertexBuffer:mr,indexBuffer:Rr,uniformValues:go(se,et,Mt,je),terrainData:zr};if(hr){let di=Dt.segments.get();for(let Li of di)Je.push({segments:new a.a0([Li]),sortKey:Li.sortKey,state:Xr})}else Je.push({segments:Dt.segments,sortKey:0,state:Xr})}hr&&Je.sort((He,et)=>He.sortKey-et.sortKey);for(let He of Je){let{programConfiguration:et,program:Mt,layoutVertexBuffer:Dt,indexBuffer:Ut,uniformValues:tr,terrainData:mr}=He.state;Mt.draw(Sr,he.TRIANGLES,be,Pe,Oe,Ja.disabled,tr,mr,je.id,Dt,Ut,He.segments,je.paint,se.transform.zoom,et)}})(w,B,Q,ee);break;case\"heatmap\":(function(se,qe,je,it){if(je.paint.get(\"heatmap-opacity\")===0)return;let yt=se.context;if(se.style.map.terrain){for(let Ot of it){let Nt=qe.getTile(Ot);qe.hasRenderableParent(Ot)||(se.renderPass===\"offscreen\"?nh(se,Nt,je,Ot):se.renderPass===\"translucent\"&&hf(se,je,Ot))}yt.viewport.set([0,0,se.width,se.height])}else se.renderPass===\"offscreen\"?function(Ot,Nt,hr,Sr){let he=Ot.context,be=he.gl,Pe=$o.disabled,Oe=new Ps([be.ONE,be.ONE],a.aM.transparent,[!0,!0,!0,!0]);(function(Je,He,et){let Mt=Je.gl;Je.activeTexture.set(Mt.TEXTURE1),Je.viewport.set([0,0,He.width/4,He.height/4]);let Dt=et.heatmapFbos.get(a.aU);Dt?(Mt.bindTexture(Mt.TEXTURE_2D,Dt.colorAttachment.get()),Je.bindFramebuffer.set(Dt.framebuffer)):(Dt=kh(Je,He.width/4,He.height/4),et.heatmapFbos.set(a.aU,Dt))})(he,Ot,hr),he.clear({color:a.aM.transparent});for(let Je=0;Je<Sr.length;Je++){let He=Sr[Je];if(Nt.hasRenderableParent(He))continue;let et=Nt.getTile(He),Mt=et.getBucket(hr);if(!Mt)continue;let Dt=Mt.programConfigurations.get(hr.id),Ut=Ot.useProgram(\"heatmap\",Dt),{zoom:tr}=Ot.transform;Ut.draw(he,be.TRIANGLES,wo.disabled,Pe,Oe,Ja.disabled,xo(He.posMatrix,et,tr,hr.paint.get(\"heatmap-intensity\")),null,hr.id,Mt.layoutVertexBuffer,Mt.indexBuffer,Mt.segments,hr.paint,Ot.transform.zoom,Dt)}he.viewport.set([0,0,Ot.width,Ot.height])}(se,qe,je,it):se.renderPass===\"translucent\"&&function(Ot,Nt){let hr=Ot.context,Sr=hr.gl;hr.setColorMode(Ot.colorModeForRenderPass());let he=Nt.heatmapFbos.get(a.aU);he&&(hr.activeTexture.set(Sr.TEXTURE0),Sr.bindTexture(Sr.TEXTURE_2D,he.colorAttachment.get()),hr.activeTexture.set(Sr.TEXTURE1),Kh(hr,Nt).bind(Sr.LINEAR,Sr.CLAMP_TO_EDGE),Ot.useProgram(\"heatmapTexture\").draw(hr,Sr.TRIANGLES,wo.disabled,$o.disabled,Ot.colorModeForRenderPass(),Ja.disabled,zs(Ot,Nt,0,1),null,Nt.id,Ot.viewportBuffer,Ot.quadTriangleIndexBuffer,Ot.viewportSegments,Nt.paint,Ot.transform.zoom))}(se,je)})(w,B,Q,ee);break;case\"line\":(function(se,qe,je,it){if(se.renderPass!==\"translucent\")return;let yt=je.paint.get(\"line-opacity\"),Ot=je.paint.get(\"line-width\");if(yt.constantOr(1)===0||Ot.constantOr(1)===0)return;let Nt=se.depthModeForSublayer(0,wo.ReadOnly),hr=se.colorModeForRenderPass(),Sr=je.paint.get(\"line-dasharray\"),he=je.paint.get(\"line-pattern\"),be=he.constantOr(1),Pe=je.paint.get(\"line-gradient\"),Oe=je.getCrossfadeParameters(),Je=be?\"linePattern\":Sr?\"lineSDF\":Pe?\"lineGradient\":\"line\",He=se.context,et=He.gl,Mt=!0;for(let Dt of it){let Ut=qe.getTile(Dt);if(be&&!Ut.patternsLoaded())continue;let tr=Ut.getBucket(je);if(!tr)continue;let mr=tr.programConfigurations.get(je.id),Rr=se.context.program.get(),zr=se.useProgram(Je,mr),Xr=Mt||zr.program!==Rr,di=se.style.map.terrain&&se.style.map.terrain.getTerrainData(Dt),Li=he.constantOr(null);if(Li&&Ut.imageAtlas){let Mn=Ut.imageAtlas,pa=Mn.patternPositions[Li.to.toString()],ea=Mn.patternPositions[Li.from.toString()];pa&&ea&&mr.setConstantPatternPositions(pa,ea)}let Ci=di?Dt:null,Qi=be?wl(se,Ut,je,Oe,Ci):Sr?os(se,Ut,je,Sr,Oe,Ci):Pe?Xs(se,Ut,je,tr.lineClipsArray.length,Ci):Zs(se,Ut,je,Ci);if(be)He.activeTexture.set(et.TEXTURE0),Ut.imageAtlasTexture.bind(et.LINEAR,et.CLAMP_TO_EDGE),mr.updatePaintBuffers(Oe);else if(Sr&&(Xr||se.lineAtlas.dirty))He.activeTexture.set(et.TEXTURE0),se.lineAtlas.bind(He);else if(Pe){let Mn=tr.gradients[je.id],pa=Mn.texture;if(je.gradientVersion!==Mn.version){let ea=256;if(je.stepInterpolant){let Ga=qe.getSource().maxzoom,To=Dt.canonical.z===Ga?Math.ceil(1<<se.transform.maxZoom-Dt.canonical.z):1;ea=a.ac(a.aV(tr.maxLineLength/a.X*1024*To),256,He.maxTextureSize)}Mn.gradient=a.aW({expression:je.gradientExpression(),evaluationKey:\"lineProgress\",resolution:ea,image:Mn.gradient||void 0,clips:tr.lineClipsArray}),Mn.texture?Mn.texture.update(Mn.gradient):Mn.texture=new g(He,Mn.gradient,et.RGBA),Mn.version=je.gradientVersion,pa=Mn.texture}He.activeTexture.set(et.TEXTURE0),pa.bind(je.stepInterpolant?et.NEAREST:et.LINEAR,et.CLAMP_TO_EDGE)}zr.draw(He,et.TRIANGLES,Nt,se.stencilModeForClipping(Dt),hr,Ja.disabled,Qi,di,je.id,tr.layoutVertexBuffer,tr.indexBuffer,tr.segments,je.paint,se.transform.zoom,mr,tr.layoutVertexBuffer2),Mt=!1}})(w,B,Q,ee);break;case\"fill\":(function(se,qe,je,it){let yt=je.paint.get(\"fill-color\"),Ot=je.paint.get(\"fill-opacity\");if(Ot.constantOr(1)===0)return;let Nt=se.colorModeForRenderPass(),hr=je.paint.get(\"fill-pattern\"),Sr=se.opaquePassEnabledForLayer()&&!hr.constantOr(1)&&yt.constantOr(a.aM.transparent).a===1&&Ot.constantOr(0)===1?\"opaque\":\"translucent\";if(se.renderPass===Sr){let he=se.depthModeForSublayer(1,se.renderPass===\"opaque\"?wo.ReadWrite:wo.ReadOnly);ah(se,qe,je,it,he,Nt,!1)}if(se.renderPass===\"translucent\"&&je.paint.get(\"fill-antialias\")){let he=se.depthModeForSublayer(je.getPaintProperty(\"fill-outline-color\")?2:0,wo.ReadOnly);ah(se,qe,je,it,he,Nt,!0)}})(w,B,Q,ee);break;case\"fill-extrusion\":(function(se,qe,je,it){let yt=je.paint.get(\"fill-extrusion-opacity\");if(yt!==0&&se.renderPass===\"translucent\"){let Ot=new wo(se.context.gl.LEQUAL,wo.ReadWrite,se.depthRangeFor3D);if(yt!==1||je.paint.get(\"fill-extrusion-pattern\").constantOr(1))Wc(se,qe,je,it,Ot,$o.disabled,Ps.disabled),Wc(se,qe,je,it,Ot,se.stencilModeFor3D(),se.colorModeForRenderPass());else{let Nt=se.colorModeForRenderPass();Wc(se,qe,je,it,Ot,$o.disabled,Nt)}}})(w,B,Q,ee);break;case\"hillshade\":(function(se,qe,je,it){if(se.renderPass!==\"offscreen\"&&se.renderPass!==\"translucent\")return;let yt=se.context,Ot=se.depthModeForSublayer(0,wo.ReadOnly),Nt=se.colorModeForRenderPass(),[hr,Sr]=se.renderPass===\"translucent\"?se.stencilConfigForOverlap(it):[{},it];for(let he of Sr){let be=qe.getTile(he);be.needsHillshadePrepare!==void 0&&be.needsHillshadePrepare&&se.renderPass===\"offscreen\"?Cu(se,be,je,Ot,$o.disabled,Nt):se.renderPass===\"translucent\"&&df(se,he,be,je,Ot,hr[he.overscaledZ],Nt)}yt.viewport.set([0,0,se.width,se.height])})(w,B,Q,ee);break;case\"raster\":(function(se,qe,je,it){if(se.renderPass!==\"translucent\"||je.paint.get(\"raster-opacity\")===0||!it.length)return;let yt=se.context,Ot=yt.gl,Nt=qe.getSource(),hr=se.useProgram(\"raster\"),Sr=se.colorModeForRenderPass(),[he,be]=Nt instanceof Rt?[{},it]:se.stencilConfigForOverlap(it),Pe=be[be.length-1].overscaledZ,Oe=!se.options.moving;for(let Je of be){let He=se.depthModeForSublayer(Je.overscaledZ-Pe,je.paint.get(\"raster-opacity\")===1?wo.ReadWrite:wo.ReadOnly,Ot.LESS),et=qe.getTile(Je);et.registerFadeDuration(je.paint.get(\"raster-fade-duration\"));let Mt=qe.findLoadedParent(Je,0),Dt=qe.findLoadedSibling(Je),Ut=Nf(et,Mt||Dt||null,qe,je,se.transform,se.style.map.terrain),tr,mr,Rr=je.paint.get(\"raster-resampling\")===\"nearest\"?Ot.NEAREST:Ot.LINEAR;yt.activeTexture.set(Ot.TEXTURE0),et.texture.bind(Rr,Ot.CLAMP_TO_EDGE,Ot.LINEAR_MIPMAP_NEAREST),yt.activeTexture.set(Ot.TEXTURE1),Mt?(Mt.texture.bind(Rr,Ot.CLAMP_TO_EDGE,Ot.LINEAR_MIPMAP_NEAREST),tr=Math.pow(2,Mt.tileID.overscaledZ-et.tileID.overscaledZ),mr=[et.tileID.canonical.x*tr%1,et.tileID.canonical.y*tr%1]):et.texture.bind(Rr,Ot.CLAMP_TO_EDGE,Ot.LINEAR_MIPMAP_NEAREST),et.texture.useMipmap&&yt.extTextureFilterAnisotropic&&se.transform.pitch>20&&Ot.texParameterf(Ot.TEXTURE_2D,yt.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,yt.extTextureFilterAnisotropicMax);let zr=se.style.map.terrain&&se.style.map.terrain.getTerrainData(Je),Xr=zr?Je:null,di=Xr?Xr.posMatrix:se.transform.calculatePosMatrix(Je.toUnwrapped(),Oe),Li=ml(di,mr||[0,0],tr||1,Ut,je);Nt instanceof Rt?hr.draw(yt,Ot.TRIANGLES,He,$o.disabled,Sr,Ja.disabled,Li,zr,je.id,Nt.boundsBuffer,se.quadTriangleIndexBuffer,Nt.boundsSegments):hr.draw(yt,Ot.TRIANGLES,He,he[Je.overscaledZ],Sr,Ja.disabled,Li,zr,je.id,se.rasterBoundsBuffer,se.quadTriangleIndexBuffer,se.rasterBoundsSegments)}})(w,B,Q,ee);break;case\"background\":(function(se,qe,je,it){let yt=je.paint.get(\"background-color\"),Ot=je.paint.get(\"background-opacity\");if(Ot===0)return;let Nt=se.context,hr=Nt.gl,Sr=se.transform,he=Sr.tileSize,be=je.paint.get(\"background-pattern\");if(se.isPatternMissing(be))return;let Pe=!be&&yt.a===1&&Ot===1&&se.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(se.renderPass!==Pe)return;let Oe=$o.disabled,Je=se.depthModeForSublayer(0,Pe===\"opaque\"?wo.ReadWrite:wo.ReadOnly),He=se.colorModeForRenderPass(),et=se.useProgram(be?\"backgroundPattern\":\"background\"),Mt=it||Sr.coveringTiles({tileSize:he,terrain:se.style.map.terrain});be&&(Nt.activeTexture.set(hr.TEXTURE0),se.imageManager.bind(se.context));let Dt=je.getCrossfadeParameters();for(let Ut of Mt){let tr=it?Ut.posMatrix:se.transform.calculatePosMatrix(Ut.toUnwrapped()),mr=be?Hu(tr,Ot,se,be,{tileID:Ut,tileSize:he},Dt):Ql(tr,Ot,yt),Rr=se.style.map.terrain&&se.style.map.terrain.getTerrainData(Ut);et.draw(Nt,hr.TRIANGLES,Je,Oe,He,Ja.disabled,mr,Rr,je.id,se.tileExtentBuffer,se.quadTriangleIndexBuffer,se.tileExtentSegments)}})(w,0,Q,ee);break;case\"custom\":(function(se,qe,je){let it=se.context,yt=je.implementation;if(se.renderPass===\"offscreen\"){let Ot=yt.prerender;Ot&&(se.setCustomLayerDefaults(),it.setColorMode(se.colorModeForRenderPass()),Ot.call(yt,it.gl,se.transform.customLayerMatrix()),it.setDirty(),se.setBaseState())}else if(se.renderPass===\"translucent\"){se.setCustomLayerDefaults(),it.setColorMode(se.colorModeForRenderPass()),it.setStencilMode($o.disabled);let Ot=yt.renderingMode===\"3d\"?new wo(se.context.gl.LEQUAL,wo.ReadWrite,se.depthRangeFor3D):se.depthModeForSublayer(0,wo.ReadOnly);it.setDepthMode(Ot),yt.render(it.gl,se.transform.customLayerMatrix(),{farZ:se.transform.farZ,nearZ:se.transform.nearZ,fov:se.transform._fov,modelViewProjectionMatrix:se.transform.modelViewProjectionMatrix,projectionMatrix:se.transform.projectionMatrix}),it.setDirty(),se.setBaseState(),it.bindFramebuffer.set(null)}})(w,0,Q)}}translatePosMatrix(w,B,Q,ee,se){if(!Q[0]&&!Q[1])return w;let qe=se?ee===\"map\"?this.transform.angle:0:ee===\"viewport\"?-this.transform.angle:0;if(qe){let yt=Math.sin(qe),Ot=Math.cos(qe);Q=[Q[0]*Ot-Q[1]*yt,Q[0]*yt+Q[1]*Ot]}let je=[se?Q[0]:nn(B,Q[0],this.transform.zoom),se?Q[1]:nn(B,Q[1],this.transform.zoom),0],it=new Float32Array(16);return a.J(it,w,je),it}saveTileTexture(w){let B=this._tileTextures[w.size[0]];B?B.push(w):this._tileTextures[w.size[0]]=[w]}getTileTexture(w){let B=this._tileTextures[w];return B&&B.length>0?B.pop():null}isPatternMissing(w){if(!w)return!1;if(!w.from||!w.to)return!0;let B=this.imageManager.getPattern(w.from.toString()),Q=this.imageManager.getPattern(w.to.toString());return!B||!Q}useProgram(w,B){this.cache=this.cache||{};let Q=w+(B?B.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\")+(this.style.map.terrain?\"/terrain\":\"\");return this.cache[Q]||(this.cache[Q]=new zi(this.context,xn[w],B,fc[w],this._showOverdrawInspector,this.style.map.terrain)),this.cache[Q]}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(){let w=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(w.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new g(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:w,drawingBufferHeight:B}=this.context.gl;return this.width!==w||this.height!==B}}class fl{constructor(w,B){this.points=w,this.planes=B}static fromInvProjectionMatrix(w,B,Q){let ee=Math.pow(2,Q),se=[[-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(je=>{let it=1/(je=a.af([],je,w))[3]/B*ee;return a.b1(je,je,[it,it,1/je[3],it])}),qe=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(je=>{let it=function(hr,Sr){var he=Sr[0],be=Sr[1],Pe=Sr[2],Oe=he*he+be*be+Pe*Pe;return Oe>0&&(Oe=1/Math.sqrt(Oe)),hr[0]=Sr[0]*Oe,hr[1]=Sr[1]*Oe,hr[2]=Sr[2]*Oe,hr}([],function(hr,Sr,he){var be=Sr[0],Pe=Sr[1],Oe=Sr[2],Je=he[0],He=he[1],et=he[2];return hr[0]=Pe*et-Oe*He,hr[1]=Oe*Je-be*et,hr[2]=be*He-Pe*Je,hr}([],L([],se[je[0]],se[je[1]]),L([],se[je[2]],se[je[1]]))),yt=-((Ot=it)[0]*(Nt=se[je[1]])[0]+Ot[1]*Nt[1]+Ot[2]*Nt[2]);var Ot,Nt;return it.concat(yt)});return new fl(se,qe)}}class Xc{constructor(w,B){this.min=w,this.max=B,this.center=function(Q,ee,se){return Q[0]=.5*ee[0],Q[1]=.5*ee[1],Q[2]=.5*ee[2],Q}([],function(Q,ee,se){return Q[0]=ee[0]+se[0],Q[1]=ee[1]+se[1],Q[2]=ee[2]+se[2],Q}([],this.min,this.max))}quadrant(w){let B=[w%2==0,w<2],Q=k(this.min),ee=k(this.max);for(let se=0;se<B.length;se++)Q[se]=B[se]?this.min[se]:this.center[se],ee[se]=B[se]?this.center[se]:this.max[se];return ee[2]=this.max[2],new Xc(Q,ee)}distanceX(w){return Math.max(Math.min(this.max[0],w[0]),this.min[0])-w[0]}distanceY(w){return Math.max(Math.min(this.max[1],w[1]),this.min[1])-w[1]}intersects(w){let B=[[this.min[0],this.min[1],this.min[2],1],[this.max[0],this.min[1],this.min[2],1],[this.max[0],this.max[1],this.min[2],1],[this.min[0],this.max[1],this.min[2],1],[this.min[0],this.min[1],this.max[2],1],[this.max[0],this.min[1],this.max[2],1],[this.max[0],this.max[1],this.max[2],1],[this.min[0],this.max[1],this.max[2],1]],Q=!0;for(let ee=0;ee<w.planes.length;ee++){let se=w.planes[ee],qe=0;for(let je=0;je<B.length;je++)a.b2(se,B[je])>=0&&qe++;if(qe===0)return 0;qe!==B.length&&(Q=!1)}if(Q)return 2;for(let ee=0;ee<3;ee++){let se=Number.MAX_VALUE,qe=-Number.MAX_VALUE;for(let je=0;je<w.points.length;je++){let it=w.points[je][ee]-this.min[ee];se=Math.min(se,it),qe=Math.max(qe,it)}if(qe<0||se>this.max[ee]-this.min[ee])return 0}return 1}}class ic{constructor(w=0,B=0,Q=0,ee=0){if(isNaN(w)||w<0||isNaN(B)||B<0||isNaN(Q)||Q<0||isNaN(ee)||ee<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=w,this.bottom=B,this.left=Q,this.right=ee}interpolate(w,B,Q){return B.top!=null&&w.top!=null&&(this.top=a.y.number(w.top,B.top,Q)),B.bottom!=null&&w.bottom!=null&&(this.bottom=a.y.number(w.bottom,B.bottom,Q)),B.left!=null&&w.left!=null&&(this.left=a.y.number(w.left,B.left,Q)),B.right!=null&&w.right!=null&&(this.right=a.y.number(w.right,B.right,Q)),this}getCenter(w,B){let Q=a.ac((this.left+w-this.right)/2,0,w),ee=a.ac((this.top+B-this.bottom)/2,0,B);return new a.P(Q,ee)}equals(w){return this.top===w.top&&this.bottom===w.bottom&&this.left===w.left&&this.right===w.right}clone(){return new ic(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}let yu=85.051129;class Qs{constructor(w,B,Q,ee,se){this.tileSize=512,this._renderWorldCopies=se===void 0||!!se,this._minZoom=w||0,this._maxZoom=B||22,this._minPitch=Q==null?0:Q,this._maxPitch=ee==null?60:ee,this.setMaxBounds(),this.width=0,this.height=0,this._center=new a.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new ic,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){let w=new Qs(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return w.apply(this),w}apply(w){this.tileSize=w.tileSize,this.latRange=w.latRange,this.lngRange=w.lngRange,this.width=w.width,this.height=w.height,this._center=w._center,this._elevation=w._elevation,this.minElevationForCurrentTile=w.minElevationForCurrentTile,this.zoom=w.zoom,this.angle=w.angle,this._fov=w._fov,this._pitch=w._pitch,this._unmodified=w._unmodified,this._edgeInsets=w._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(w){this._minZoom!==w&&(this._minZoom=w,this.zoom=Math.max(this.zoom,w))}get maxZoom(){return this._maxZoom}set maxZoom(w){this._maxZoom!==w&&(this._maxZoom=w,this.zoom=Math.min(this.zoom,w))}get minPitch(){return this._minPitch}set minPitch(w){this._minPitch!==w&&(this._minPitch=w,this.pitch=Math.max(this.pitch,w))}get maxPitch(){return this._maxPitch}set maxPitch(w){this._maxPitch!==w&&(this._maxPitch=w,this.pitch=Math.min(this.pitch,w))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(w){w===void 0?w=!0:w===null&&(w=!1),this._renderWorldCopies=w}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new a.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(w){let B=-a.b3(w,-180,180)*Math.PI/180;this.angle!==B&&(this._unmodified=!1,this.angle=B,this._calcMatrices(),this.rotationMatrix=function(){var Q=new a.A(4);return a.A!=Float32Array&&(Q[1]=0,Q[2]=0),Q[0]=1,Q[3]=1,Q}(),function(Q,ee,se){var qe=ee[0],je=ee[1],it=ee[2],yt=ee[3],Ot=Math.sin(se),Nt=Math.cos(se);Q[0]=qe*Nt+it*Ot,Q[1]=je*Nt+yt*Ot,Q[2]=qe*-Ot+it*Nt,Q[3]=je*-Ot+yt*Nt}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(w){let B=a.ac(w,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==B&&(this._unmodified=!1,this._pitch=B,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(w){w=Math.max(.01,Math.min(60,w)),this._fov!==w&&(this._unmodified=!1,this._fov=w/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(w){let B=Math.min(Math.max(w,this.minZoom),this.maxZoom);this._zoom!==B&&(this._unmodified=!1,this._zoom=B,this.tileZoom=Math.max(0,Math.floor(B)),this.scale=this.zoomScale(B),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(w){w.lat===this._center.lat&&w.lng===this._center.lng||(this._unmodified=!1,this._center=w,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(w){w!==this._elevation&&(this._elevation=w,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(w){this._edgeInsets.equals(w)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,w,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(w){return this._edgeInsets.equals(w)}interpolatePadding(w,B,Q){this._unmodified=!1,this._edgeInsets.interpolate(w,B,Q),this._constrain(),this._calcMatrices()}coveringZoomLevel(w){let B=(w.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/w.tileSize));return Math.max(0,B)}getVisibleUnwrappedCoordinates(w){let B=[new a.b4(0,w)];if(this._renderWorldCopies){let Q=this.pointCoordinate(new a.P(0,0)),ee=this.pointCoordinate(new a.P(this.width,0)),se=this.pointCoordinate(new a.P(this.width,this.height)),qe=this.pointCoordinate(new a.P(0,this.height)),je=Math.floor(Math.min(Q.x,ee.x,se.x,qe.x)),it=Math.floor(Math.max(Q.x,ee.x,se.x,qe.x)),yt=1;for(let Ot=je-yt;Ot<=it+yt;Ot++)Ot!==0&&B.push(new a.b4(Ot,w))}return B}coveringTiles(w){var B,Q;let ee=this.coveringZoomLevel(w),se=ee;if(w.minzoom!==void 0&&ee<w.minzoom)return[];w.maxzoom!==void 0&&ee>w.maxzoom&&(ee=w.maxzoom);let qe=this.pointCoordinate(this.getCameraPoint()),je=a.Z.fromLngLat(this.center),it=Math.pow(2,ee),yt=[it*qe.x,it*qe.y,0],Ot=[it*je.x,it*je.y,0],Nt=fl.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,ee),hr=w.minzoom||0;!w.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(hr=ee);let Sr=w.terrain?2/Math.min(this.tileSize,w.tileSize)*this.tileSize:3,he=He=>({aabb:new Xc([He*it,0,0],[(He+1)*it,it,0]),zoom:0,x:0,y:0,wrap:He,fullyVisible:!1}),be=[],Pe=[],Oe=ee,Je=w.reparseOverscaled?se:ee;if(this._renderWorldCopies)for(let He=1;He<=3;He++)be.push(he(-He)),be.push(he(He));for(be.push(he(0));be.length>0;){let He=be.pop(),et=He.x,Mt=He.y,Dt=He.fullyVisible;if(!Dt){let zr=He.aabb.intersects(Nt);if(zr===0)continue;Dt=zr===2}let Ut=w.terrain?yt:Ot,tr=He.aabb.distanceX(Ut),mr=He.aabb.distanceY(Ut),Rr=Math.max(Math.abs(tr),Math.abs(mr));if(He.zoom===Oe||Rr>Sr+(1<<Oe-He.zoom)-2&&He.zoom>=hr){let zr=Oe-He.zoom,Xr=yt[0]-.5-(et<<zr),di=yt[1]-.5-(Mt<<zr);Pe.push({tileID:new a.S(He.zoom===Oe?Je:He.zoom,He.wrap,He.zoom,et,Mt),distanceSq:_([Ot[0]-.5-et,Ot[1]-.5-Mt]),tileDistanceToCamera:Math.sqrt(Xr*Xr+di*di)})}else for(let zr=0;zr<4;zr++){let Xr=(et<<1)+zr%2,di=(Mt<<1)+(zr>>1),Li=He.zoom+1,Ci=He.aabb.quadrant(zr);if(w.terrain){let Qi=new a.S(Li,He.wrap,Li,Xr,di),Mn=w.terrain.getMinMaxElevation(Qi),pa=(B=Mn.minElevation)!==null&&B!==void 0?B:this.elevation,ea=(Q=Mn.maxElevation)!==null&&Q!==void 0?Q:this.elevation;Ci=new Xc([Ci.min[0],Ci.min[1],pa],[Ci.max[0],Ci.max[1],ea])}be.push({aabb:Ci,zoom:Li,x:Xr,y:di,wrap:He.wrap,fullyVisible:Dt})}}return Pe.sort((He,et)=>He.distanceSq-et.distanceSq).map(He=>He.tileID)}resize(w,B){this.width=w,this.height=B,this.pixelsToGLUnits=[2/w,-2/B],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(w){return Math.pow(2,w)}scaleZoom(w){return Math.log(w)/Math.LN2}project(w){let B=a.ac(w.lat,-85.051129,yu);return new a.P(a.O(w.lng)*this.worldSize,a.Q(B)*this.worldSize)}unproject(w){return new a.Z(w.x/this.worldSize,w.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(w){let B=this.elevation,Q=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,ee=this.pointLocation(this.centerPoint,w),se=w.getElevationForLngLatZoom(ee,this.tileZoom);if(!(this.elevation-se))return;let qe=Q+B-se,je=Math.cos(this._pitch)*this.cameraToCenterDistance/qe/a.b5(1,ee.lat),it=this.scaleZoom(je/this.tileSize);this._elevation=se,this._center=ee,this.zoom=it}setLocationAtPoint(w,B){let Q=this.pointCoordinate(B),ee=this.pointCoordinate(this.centerPoint),se=this.locationCoordinate(w),qe=new a.Z(se.x-(Q.x-ee.x),se.y-(Q.y-ee.y));this.center=this.coordinateLocation(qe),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(w,B){return B?this.coordinatePoint(this.locationCoordinate(w),B.getElevationForLngLatZoom(w,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(w))}pointLocation(w,B){return this.coordinateLocation(this.pointCoordinate(w,B))}locationCoordinate(w){return a.Z.fromLngLat(w)}coordinateLocation(w){return w&&w.toLngLat()}pointCoordinate(w,B){if(B){let hr=B.pointCoordinate(w);if(hr!=null)return hr}let Q=[w.x,w.y,0,1],ee=[w.x,w.y,1,1];a.af(Q,Q,this.pixelMatrixInverse),a.af(ee,ee,this.pixelMatrixInverse);let se=Q[3],qe=ee[3],je=Q[1]/se,it=ee[1]/qe,yt=Q[2]/se,Ot=ee[2]/qe,Nt=yt===Ot?0:(0-yt)/(Ot-yt);return new a.Z(a.y.number(Q[0]/se,ee[0]/qe,Nt)/this.worldSize,a.y.number(je,it,Nt)/this.worldSize)}coordinatePoint(w,B=0,Q=this.pixelMatrix){let ee=[w.x*this.worldSize,w.y*this.worldSize,B,1];return a.af(ee,ee,Q),new a.P(ee[0]/ee[3],ee[1]/ee[3])}getBounds(){let w=Math.max(0,this.height/2-this.getHorizon());return new ce().extend(this.pointLocation(new a.P(0,w))).extend(this.pointLocation(new a.P(this.width,w))).extend(this.pointLocation(new a.P(this.width,this.height))).extend(this.pointLocation(new a.P(0,this.height)))}getMaxBounds(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new ce([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(w){w?(this.lngRange=[w.getWest(),w.getEast()],this.latRange=[w.getSouth(),w.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,yu])}calculateTileMatrix(w){let B=w.canonical,Q=this.worldSize/this.zoomScale(B.z),ee=B.x+Math.pow(2,B.z)*w.wrap,se=a.an(new Float64Array(16));return a.J(se,se,[ee*Q,B.y*Q,0]),a.K(se,se,[Q/a.X,Q/a.X,1]),se}calculatePosMatrix(w,B=!1){let Q=w.key,ee=B?this._alignedPosMatrixCache:this._posMatrixCache;if(ee[Q])return ee[Q];let se=this.calculateTileMatrix(w);return a.L(se,B?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,se),ee[Q]=new Float32Array(se),ee[Q]}calculateFogMatrix(w){let B=w.key,Q=this._fogMatrixCache;if(Q[B])return Q[B];let ee=this.calculateTileMatrix(w);return a.L(ee,this.fogMatrix,ee),Q[B]=new Float32Array(ee),Q[B]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(w,B){B=a.ac(+B,this.minZoom,this.maxZoom);let Q={center:new a.N(w.lng,w.lat),zoom:B},ee=this.lngRange;if(!this._renderWorldCopies&&ee===null){let He=179.9999999999;ee=[-He,He]}let se=this.tileSize*this.zoomScale(Q.zoom),qe=0,je=se,it=0,yt=se,Ot=0,Nt=0,{x:hr,y:Sr}=this.size;if(this.latRange){let He=this.latRange;qe=a.Q(He[1])*se,je=a.Q(He[0])*se,je-qe<Sr&&(Ot=Sr/(je-qe))}ee&&(it=a.b3(a.O(ee[0])*se,0,se),yt=a.b3(a.O(ee[1])*se,0,se),yt<it&&(yt+=se),yt-it<hr&&(Nt=hr/(yt-it)));let{x:he,y:be}=this.project.call({worldSize:se},w),Pe,Oe,Je=Math.max(Nt||0,Ot||0);if(Je){let He=new a.P(Nt?(yt+it)/2:he,Ot?(je+qe)/2:be);return Q.center=this.unproject.call({worldSize:se},He).wrap(),Q.zoom+=this.scaleZoom(Je),Q}if(this.latRange){let He=Sr/2;be-He<qe&&(Oe=qe+He),be+He>je&&(Oe=je-He)}if(ee){let He=(it+yt)/2,et=he;this._renderWorldCopies&&(et=a.b3(he,He-se/2,He+se/2));let Mt=hr/2;et-Mt<it&&(Pe=it+Mt),et+Mt>yt&&(Pe=yt-Mt)}if(Pe!==void 0||Oe!==void 0){let He=new a.P(Pe!=null?Pe:he,Oe!=null?Oe:be);Q.center=this.unproject.call({worldSize:se},He).wrap()}return Q}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let w=this._unmodified,{center:B,zoom:Q}=this.getConstrained(this.center,this.zoom);this.center=B,this.zoom=Q,this._unmodified=w,this._constraining=!1}_calcMatrices(){if(!this.height)return;let w=this.centerOffset,B=this.point.x,Q=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=a.b5(1,this.center.lat)*this.worldSize;let ee=a.an(new Float64Array(16));a.K(ee,ee,[this.width/2,-this.height/2,1]),a.J(ee,ee,[1,-1,0]),this.labelPlaneMatrix=ee,ee=a.an(new Float64Array(16)),a.K(ee,ee,[1,-1,1]),a.J(ee,ee,[-1,-1,0]),a.K(ee,ee,[2/this.width,2/this.height,1]),this.glCoordMatrix=ee;let se=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),qe=Math.min(this.elevation,this.minElevationForCurrentTile),je=se-qe*this._pixelPerMeter/Math.cos(this._pitch),it=qe<0?je:se,yt=Math.PI/2+this._pitch,Ot=this._fov*(.5+w.y/this.height),Nt=Math.sin(Ot)*it/Math.sin(a.ac(Math.PI-yt-Ot,.01,Math.PI-.01)),hr=this.getHorizon(),Sr=2*Math.atan(hr/this.cameraToCenterDistance)*(.5+w.y/(2*hr)),he=Math.sin(Sr)*it/Math.sin(a.ac(Math.PI-yt-Sr,.01,Math.PI-.01)),be=Math.min(Nt,he);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*be+it),this.nearZ=this.height/50,ee=new Float64Array(16),a.b6(ee,this._fov,this.width/this.height,this.nearZ,this.farZ),ee[8]=2*-w.x/this.width,ee[9]=2*w.y/this.height,this.projectionMatrix=a.ae(ee),a.K(ee,ee,[1,-1,1]),a.J(ee,ee,[0,0,-this.cameraToCenterDistance]),a.b7(ee,ee,this._pitch),a.ad(ee,ee,this.angle),a.J(ee,ee,[-B,-Q,0]),this.mercatorMatrix=a.K([],ee,[this.worldSize,this.worldSize,this.worldSize]),a.K(ee,ee,[1,1,this._pixelPerMeter]),this.pixelMatrix=a.L(new Float64Array(16),this.labelPlaneMatrix,ee),a.J(ee,ee,[0,0,-this.elevation]),this.modelViewProjectionMatrix=ee,this.invModelViewProjectionMatrix=a.as([],ee),this.fogMatrix=new Float64Array(16),a.b6(this.fogMatrix,this._fov,this.width/this.height,se,this.farZ),this.fogMatrix[8]=2*-w.x/this.width,this.fogMatrix[9]=2*w.y/this.height,a.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),a.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),a.b7(this.fogMatrix,this.fogMatrix,this._pitch),a.ad(this.fogMatrix,this.fogMatrix,this.angle),a.J(this.fogMatrix,this.fogMatrix,[-B,-Q,0]),a.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),a.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=a.L(new Float64Array(16),this.labelPlaneMatrix,ee);let Pe=this.width%2/2,Oe=this.height%2/2,Je=Math.cos(this.angle),He=Math.sin(this.angle),et=B-Math.round(B)+Je*Pe+He*Oe,Mt=Q-Math.round(Q)+Je*Oe+He*Pe,Dt=new Float64Array(ee);if(a.J(Dt,Dt,[et>.5?et-1:et,Mt>.5?Mt-1:Mt,0]),this.alignedModelViewProjectionMatrix=Dt,ee=a.as(new Float64Array(16),this.pixelMatrix),!ee)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=ee,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let w=this.pointCoordinate(new a.P(0,0)),B=[w.x*this.worldSize,w.y*this.worldSize,0,1];return a.af(B,B,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let w=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new a.P(0,w))}getCameraQueryGeometry(w){let B=this.getCameraPoint();if(w.length===1)return[w[0],B];{let Q=B.x,ee=B.y,se=B.x,qe=B.y;for(let je of w)Q=Math.min(Q,je.x),ee=Math.min(ee,je.y),se=Math.max(se,je.x),qe=Math.max(qe,je.y);return[new a.P(Q,ee),new a.P(se,ee),new a.P(se,qe),new a.P(Q,qe),new a.P(Q,ee)]}}lngLatToCameraDepth(w,B){let Q=this.locationCoordinate(w),ee=[Q.x*this.worldSize,Q.y*this.worldSize,B,1];return a.af(ee,ee,this.modelViewProjectionMatrix),ee[2]/ee[3]}}function Qh(le,w){let B,Q=!1,ee=null,se=null,qe=()=>{ee=null,Q&&(le.apply(se,B),ee=setTimeout(qe,w),Q=!1)};return(...je)=>(Q=!0,se=this,B=je,ee||qe(),ee)}class gd{constructor(w){this._getCurrentHash=()=>{let B=window.location.hash.replace(\"#\",\"\");if(this._hashName){let Q;return B.split(\"&\").map(ee=>ee.split(\"=\")).forEach(ee=>{ee[0]===this._hashName&&(Q=ee)}),(Q&&Q[1]||\"\").split(\"/\")}return B.split(\"/\")},this._onHashChange=()=>{let B=this._getCurrentHash();if(B.length>=3&&!B.some(Q=>isNaN(Q))){let Q=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(B[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+B[2],+B[1]],zoom:+B[0],bearing:Q,pitch:+(B[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let B=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,B)},this._removeHash=()=>{let B=this._getCurrentHash();if(B.length===0)return;let Q=B.join(\"/\"),ee=Q;ee.split(\"&\").length>0&&(ee=ee.split(\"&\")[0]),this._hashName&&(ee=`${this._hashName}=${Q}`);let se=window.location.hash.replace(ee,\"\");se.startsWith(\"#&\")?se=se.slice(0,1)+se.slice(2):se===\"#\"&&(se=\"\");let qe=window.location.href.replace(/(#.+)?$/,se);qe=qe.replace(\"&&\",\"&\"),window.history.replaceState(window.history.state,null,qe)},this._updateHash=Qh(this._updateHashUnthrottled,300),this._hashName=w&&encodeURIComponent(w)}addTo(w){return this._map=w,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(w){let B=this._map.getCenter(),Q=Math.round(100*this._map.getZoom())/100,ee=Math.ceil((Q*Math.LN2+Math.log(512/360/.5))/Math.LN10),se=Math.pow(10,ee),qe=Math.round(B.lng*se)/se,je=Math.round(B.lat*se)/se,it=this._map.getBearing(),yt=this._map.getPitch(),Ot=\"\";if(Ot+=w?`/${qe}/${je}/${Q}`:`${Q}/${je}/${qe}`,(it||yt)&&(Ot+=\"/\"+Math.round(10*it)/10),yt&&(Ot+=`/${Math.round(yt)}`),this._hashName){let Nt=this._hashName,hr=!1,Sr=window.location.hash.slice(1).split(\"&\").map(he=>{let be=he.split(\"=\")[0];return be===Nt?(hr=!0,`${be}=${Ot}`):he}).filter(he=>he);return hr||Sr.push(`${Nt}=${Ot}`),`#${Sr.join(\"&\")}`}return`#${Ot}`}}let Gu={linearity:.3,easing:a.b8(0,0,.3,1)},Pc=a.e({deceleration:2500,maxSpeed:1400},Gu),vc=a.e({deceleration:20,maxSpeed:1400},Gu),sv=a.e({deceleration:1e3,maxSpeed:360},Gu),Lf=a.e({deceleration:1e3,maxSpeed:90},Gu);class Uf{constructor(w){this._map=w,this.clear()}clear(){this._inertiaBuffer=[]}record(w){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:u.now(),settings:w})}_drainInertiaBuffer(){let w=this._inertiaBuffer,B=u.now();for(;w.length>0&&B-w[0].time>160;)w.shift()}_onMoveEnd(w){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let B={zoom:0,bearing:0,pitch:0,pan:new a.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:se}of this._inertiaBuffer)B.zoom+=se.zoomDelta||0,B.bearing+=se.bearingDelta||0,B.pitch+=se.pitchDelta||0,se.panDelta&&B.pan._add(se.panDelta),se.around&&(B.around=se.around),se.pinchAround&&(B.pinchAround=se.pinchAround);let Q=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,ee={};if(B.pan.mag()){let se=oh(B.pan.mag(),Q,a.e({},Pc,w||{}));ee.offset=B.pan.mult(se.amount/B.pan.mag()),ee.center=this._map.transform.center,Iu(ee,se)}if(B.zoom){let se=oh(B.zoom,Q,vc);ee.zoom=this._map.transform.zoom+se.amount,Iu(ee,se)}if(B.bearing){let se=oh(B.bearing,Q,sv);ee.bearing=this._map.transform.bearing+a.ac(se.amount,-179,179),Iu(ee,se)}if(B.pitch){let se=oh(B.pitch,Q,Lf);ee.pitch=this._map.transform.pitch+se.amount,Iu(ee,se)}if(ee.zoom||ee.bearing){let se=B.pinchAround===void 0?B.around:B.pinchAround;ee.around=se?this._map.unproject(se):this._map.getCenter()}return this.clear(),a.e(ee,{noMoveStart:!0})}}function Iu(le,w){(!le.duration||le.duration<w.duration)&&(le.duration=w.duration,le.easing=w.easing)}function oh(le,w,B){let{maxSpeed:Q,linearity:ee,deceleration:se}=B,qe=a.ac(le*ee/(w/1e3),-Q,Q),je=Math.abs(qe)/(se*ee);return{easing:B.easing,duration:1e3*je,amount:qe*(je/2)}}class ru extends a.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(w,B,Q,ee={}){let se=c.mousePos(B.getCanvas(),Q),qe=B.unproject(se);super(w,a.e({point:se,lngLat:qe,originalEvent:Q},ee)),this._defaultPrevented=!1,this.target=B}}class vf extends a.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(w,B,Q){let ee=w===\"touchend\"?Q.changedTouches:Q.touches,se=c.touchPos(B.getCanvasContainer(),ee),qe=se.map(it=>B.unproject(it)),je=se.reduce((it,yt,Ot,Nt)=>it.add(yt.div(Nt.length)),new a.P(0,0));super(w,{points:se,point:je,lngLats:qe,lngLat:B.unproject(je),originalEvent:Q}),this._defaultPrevented=!1}}class md extends a.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(w,B,Q){super(w,{originalEvent:Q}),this._defaultPrevented=!1}}class sh{constructor(w,B){this._map=w,this._clickTolerance=B.clickTolerance}reset(){delete this._mousedownPos}wheel(w){return this._firePreventable(new md(w.type,this._map,w))}mousedown(w,B){return this._mousedownPos=B,this._firePreventable(new ru(w.type,this._map,w))}mouseup(w){this._map.fire(new ru(w.type,this._map,w))}click(w,B){this._mousedownPos&&this._mousedownPos.dist(B)>=this._clickTolerance||this._map.fire(new ru(w.type,this._map,w))}dblclick(w){return this._firePreventable(new ru(w.type,this._map,w))}mouseover(w){this._map.fire(new ru(w.type,this._map,w))}mouseout(w){this._map.fire(new ru(w.type,this._map,w))}touchstart(w){return this._firePreventable(new vf(w.type,this._map,w))}touchmove(w){this._map.fire(new vf(w.type,this._map,w))}touchend(w){this._map.fire(new vf(w.type,this._map,w))}touchcancel(w){this._map.fire(new vf(w.type,this._map,w))}_firePreventable(w){if(this._map.fire(w),w.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Fs{constructor(w){this._map=w}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(w){this._map.fire(new ru(w.type,this._map,w))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new ru(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(w){this._delayContextMenu?this._contextMenuEvent=w:this._ignoreContextMenu||this._map.fire(new ru(w.type,this._map,w)),this._map.listens(\"contextmenu\")&&w.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class _u{constructor(w){this._map=w}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(w){return this.transform.pointLocation(a.P.convert(w),this._map.terrain)}}class xu{constructor(w,B){this._map=w,this._tr=new _u(w),this._el=w.getCanvasContainer(),this._container=w.getContainer(),this._clickTolerance=B.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(w,B){this.isEnabled()&&w.shiftKey&&w.button===0&&(c.disableDrag(),this._startPos=this._lastPos=B,this._active=!0)}mousemoveWindow(w,B){if(!this._active)return;let Q=B;if(this._lastPos.equals(Q)||!this._box&&Q.dist(this._startPos)<this._clickTolerance)return;let ee=this._startPos;this._lastPos=Q,this._box||(this._box=c.create(\"div\",\"maplibregl-boxzoom\",this._container),this._container.classList.add(\"maplibregl-crosshair\"),this._fireEvent(\"boxzoomstart\",w));let se=Math.min(ee.x,Q.x),qe=Math.max(ee.x,Q.x),je=Math.min(ee.y,Q.y),it=Math.max(ee.y,Q.y);c.setTransform(this._box,`translate(${se}px,${je}px)`),this._box.style.width=qe-se+\"px\",this._box.style.height=it-je+\"px\"}mouseupWindow(w,B){if(!this._active||w.button!==0)return;let Q=this._startPos,ee=B;if(this.reset(),c.suppressClick(),Q.x!==ee.x||Q.y!==ee.y)return this._map.fire(new a.k(\"boxzoomend\",{originalEvent:w})),{cameraAnimation:se=>se.fitScreenCoordinates(Q,ee,this._tr.bearing,{linear:!0})};this._fireEvent(\"boxzoomcancel\",w)}keydown(w){this._active&&w.keyCode===27&&(this.reset(),this._fireEvent(\"boxzoomcancel\",w))}reset(){this._active=!1,this._container.classList.remove(\"maplibregl-crosshair\"),this._box&&(c.remove(this._box),this._box=null),c.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(w,B){return this._map.fire(new a.k(w,{originalEvent:B}))}}function Lh(le,w){if(le.length!==w.length)throw new Error(`The number of touches and points are not equal - touches ${le.length}, points ${w.length}`);let B={};for(let Q=0;Q<le.length;Q++)B[le[Q].identifier]=w[Q];return B}class Is{constructor(w){this.reset(),this.numTouches=w.numTouches}reset(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1}touchstart(w,B,Q){(this.centroid||Q.length>this.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=w.timeStamp),Q.length===this.numTouches&&(this.centroid=function(ee){let se=new a.P(0,0);for(let qe of ee)se._add(qe);return se.div(ee.length)}(B),this.touches=Lh(Q,B)))}touchmove(w,B,Q){if(this.aborted||!this.centroid)return;let ee=Lh(Q,B);for(let se in this.touches){let qe=ee[se];(!qe||qe.dist(this.touches[se])>30)&&(this.aborted=!0)}}touchend(w,B,Q){if((!this.centroid||w.timeStamp-this.startTime>500)&&(this.aborted=!0),Q.length===0){let ee=!this.aborted&&this.centroid;if(this.reset(),ee)return ee}}}class Pf{constructor(w){this.singleTap=new Is(w),this.numTaps=w.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(w,B,Q){this.singleTap.touchstart(w,B,Q)}touchmove(w,B,Q){this.singleTap.touchmove(w,B,Q)}touchend(w,B,Q){let ee=this.singleTap.touchend(w,B,Q);if(ee){let se=w.timeStamp-this.lastTime<500,qe=!this.lastTap||this.lastTap.dist(ee)<30;if(se&&qe||this.reset(),this.count++,this.lastTime=w.timeStamp,this.lastTap=ee,this.count===this.numTaps)return this.reset(),ee}}}class Ic{constructor(w){this._tr=new _u(w),this._zoomIn=new Pf({numTouches:1,numTaps:2}),this._zoomOut=new Pf({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(w,B,Q){this._zoomIn.touchstart(w,B,Q),this._zoomOut.touchstart(w,B,Q)}touchmove(w,B,Q){this._zoomIn.touchmove(w,B,Q),this._zoomOut.touchmove(w,B,Q)}touchend(w,B,Q){let ee=this._zoomIn.touchend(w,B,Q),se=this._zoomOut.touchend(w,B,Q),qe=this._tr;return ee?(this._active=!0,w.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:je=>je.easeTo({duration:300,zoom:qe.zoom+1,around:qe.unproject(ee)},{originalEvent:w})}):se?(this._active=!0,w.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:je=>je.easeTo({duration:300,zoom:qe.zoom-1,around:qe.unproject(se)},{originalEvent:w})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class ju{constructor(w){this._enabled=!!w.enable,this._moveStateManager=w.moveStateManager,this._clickTolerance=w.clickTolerance||1,this._moveFunction=w.move,this._activateOnStart=!!w.activateOnStart,w.assignEvents(this),this.reset()}reset(w){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(w)}_move(...w){let B=this._moveFunction(...w);if(B.bearingDelta||B.pitchDelta||B.around||B.panDelta)return this._active=!0,B}dragStart(w,B){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(w)&&(this._moveStateManager.startMove(w),this._lastPoint=B.length?B[0]:B,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(w,B){if(!this.isEnabled())return;let Q=this._lastPoint;if(!Q)return;if(w.preventDefault(),!this._moveStateManager.isValidMoveEvent(w))return void this.reset(w);let ee=B.length?B[0]:B;return!this._moved&&ee.dist(Q)<this._clickTolerance?void 0:(this._moved=!0,this._lastPoint=ee,this._move(Q,ee))}dragEnd(w){this.isEnabled()&&this._lastPoint&&this._moveStateManager.isValidEndEvent(w)&&(this._moved&&c.suppressClick(),this.reset(w))}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}getClickTolerance(){return this._clickTolerance}}let Vf={0:1,2:2};class pc{constructor(w){this._correctEvent=w.checkCorrectEvent}startMove(w){let B=c.mouseButton(w);this._eventButton=B}endMove(w){delete this._eventButton}isValidStartEvent(w){return this._correctEvent(w)}isValidMoveEvent(w){return!function(B,Q){let ee=Vf[Q];return B.buttons===void 0||(B.buttons&ee)!==ee}(w,this._eventButton)}isValidEndEvent(w){return c.mouseButton(w)===this._eventButton}}class pf{constructor(){this._firstTouch=void 0}_isOneFingerTouch(w){return w.targetTouches.length===1}_isSameTouchEvent(w){return w.targetTouches[0].identifier===this._firstTouch}startMove(w){this._firstTouch=w.targetTouches[0].identifier}endMove(w){delete this._firstTouch}isValidStartEvent(w){return this._isOneFingerTouch(w)}isValidMoveEvent(w){return this._isOneFingerTouch(w)&&this._isSameTouchEvent(w)}isValidEndEvent(w){return this._isOneFingerTouch(w)&&this._isSameTouchEvent(w)}}let Ph=le=>{le.mousedown=le.dragStart,le.mousemoveWindow=le.dragMove,le.mouseup=le.dragEnd,le.contextmenu=w=>{w.preventDefault()}},Dl=({enable:le,clickTolerance:w,bearingDegreesPerPixelMoved:B=.8})=>{let Q=new pc({checkCorrectEvent:ee=>c.mouseButton(ee)===0&&ee.ctrlKey||c.mouseButton(ee)===2});return new ju({clickTolerance:w,move:(ee,se)=>({bearingDelta:(se.x-ee.x)*B}),moveStateManager:Q,enable:le,assignEvents:Ph})},Ih=({enable:le,clickTolerance:w,pitchDegreesPerPixelMoved:B=-.5})=>{let Q=new pc({checkCorrectEvent:ee=>c.mouseButton(ee)===0&&ee.ctrlKey||c.mouseButton(ee)===2});return new ju({clickTolerance:w,move:(ee,se)=>({pitchDelta:(se.y-ee.y)*B}),moveStateManager:Q,enable:le,assignEvents:Ph})};class Wu{constructor(w,B){this._clickTolerance=w.clickTolerance||1,this._map=B,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new a.P(0,0)}_shouldBePrevented(w){return w<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(w,B,Q){return this._calculateTransform(w,B,Q)}touchmove(w,B,Q){if(this._active){if(!this._shouldBePrevented(Q.length))return w.preventDefault(),this._calculateTransform(w,B,Q);this._map.cooperativeGestures.notifyGestureBlocked(\"touch_pan\",w)}}touchend(w,B,Q){this._calculateTransform(w,B,Q),this._active&&this._shouldBePrevented(Q.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(w,B,Q){Q.length>0&&(this._active=!0);let ee=Lh(Q,B),se=new a.P(0,0),qe=new a.P(0,0),je=0;for(let yt in ee){let Ot=ee[yt],Nt=this._touches[yt];Nt&&(se._add(Ot),qe._add(Ot.sub(Nt)),je++,ee[yt]=Ot)}if(this._touches=ee,this._shouldBePrevented(je)||!qe.mag())return;let it=qe.div(je);return this._sum._add(it),this._sum.mag()<this._clickTolerance?void 0:{around:se.div(je),panDelta:it}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Rc{constructor(){this.reset()}reset(){this._active=!1,delete this._firstTwoTouches}touchstart(w,B,Q){this._firstTwoTouches||Q.length<2||(this._firstTwoTouches=[Q[0].identifier,Q[1].identifier],this._start([B[0],B[1]]))}touchmove(w,B,Q){if(!this._firstTwoTouches)return;w.preventDefault();let[ee,se]=this._firstTwoTouches,qe=gc(Q,B,ee),je=gc(Q,B,se);if(!qe||!je)return;let it=this._aroundCenter?null:qe.add(je).div(2);return this._move([qe,je],it,w)}touchend(w,B,Q){if(!this._firstTwoTouches)return;let[ee,se]=this._firstTwoTouches,qe=gc(Q,B,ee),je=gc(Q,B,se);qe&&je||(this._active&&c.suppressClick(),this.reset())}touchcancel(){this.reset()}enable(w){this._enabled=!0,this._aroundCenter=!!w&&w.around===\"center\"}disable(){this._enabled=!1,this.reset()}isEnabled(){return!!this._enabled}isActive(){return!!this._active}}function gc(le,w,B){for(let Q=0;Q<le.length;Q++)if(le[Q].identifier===B)return w[Q]}function hl(le,w){return Math.log(le/w)/Math.LN2}class iu extends Rc{reset(){super.reset(),delete this._distance,delete this._startDistance}_start(w){this._startDistance=this._distance=w[0].dist(w[1])}_move(w,B){let Q=this._distance;if(this._distance=w[0].dist(w[1]),this._active||!(Math.abs(hl(this._distance,this._startDistance))<.1))return this._active=!0,{zoomDelta:hl(this._distance,Q),pinchAround:B}}}function mc(le,w){return 180*le.angleWith(w)/Math.PI}class Yc extends Rc{reset(){super.reset(),delete this._minDiameter,delete this._startVector,delete this._vector}_start(w){this._startVector=this._vector=w[0].sub(w[1]),this._minDiameter=w[0].dist(w[1])}_move(w,B,Q){let ee=this._vector;if(this._vector=w[0].sub(w[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:mc(this._vector,ee),pinchAround:B}}_isBelowThreshold(w){this._minDiameter=Math.min(this._minDiameter,w.mag());let B=25/(Math.PI*this._minDiameter)*360,Q=mc(w,this._startVector);return Math.abs(Q)<B}}function nc(le){return Math.abs(le.y)>Math.abs(le.x)}class gf extends Rc{constructor(w){super(),this._currentTouchCount=0,this._map=w}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(w,B,Q){super.touchstart(w,B,Q),this._currentTouchCount=Q.length}_start(w){this._lastPoints=w,nc(w[0].sub(w[1]))&&(this._valid=!1)}_move(w,B,Q){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let ee=w[0].sub(this._lastPoints[0]),se=w[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(ee,se,Q.timeStamp),this._valid?(this._lastPoints=w,this._active=!0,{pitchDelta:(ee.y+se.y)/2*-.5}):void 0}gestureBeginsVertically(w,B,Q){if(this._valid!==void 0)return this._valid;let ee=w.mag()>=2,se=B.mag()>=2;if(!ee&&!se)return;if(!ee||!se)return this._firstMove===void 0&&(this._firstMove=Q),Q-this._firstMove<100&&void 0;let qe=w.y>0==B.y>0;return nc(w)&&nc(B)&&qe}}let gt={panStep:100,bearingStep:15,pitchStep:10};class Bt{constructor(w){this._tr=new _u(w);let B=gt;this._panStep=B.panStep,this._bearingStep=B.bearingStep,this._pitchStep=B.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(w){if(w.altKey||w.ctrlKey||w.metaKey)return;let B=0,Q=0,ee=0,se=0,qe=0;switch(w.keyCode){case 61:case 107:case 171:case 187:B=1;break;case 189:case 109:case 173:B=-1;break;case 37:w.shiftKey?Q=-1:(w.preventDefault(),se=-1);break;case 39:w.shiftKey?Q=1:(w.preventDefault(),se=1);break;case 38:w.shiftKey?ee=1:(w.preventDefault(),qe=-1);break;case 40:w.shiftKey?ee=-1:(w.preventDefault(),qe=1);break;default:return}return this._rotationDisabled&&(Q=0,ee=0),{cameraAnimation:je=>{let it=this._tr;je.easeTo({duration:300,easeId:\"keyboardHandler\",easing:wr,zoom:B?Math.round(it.zoom)+B*(w.shiftKey?2:1):it.zoom,bearing:it.bearing+Q*this._bearingStep,pitch:it.pitch+ee*this._pitchStep,offset:[-se*this._panStep,-qe*this._panStep],center:it.center},{originalEvent:w})}}}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 wr(le){return le*(2-le)}let vr=4.000244140625;class Ur{constructor(w,B){this._onTimeout=Q=>{this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(Q)},this._map=w,this._tr=new _u(w),this._triggerRenderFrame=B,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(w){this._defaultZoomRate=w}setWheelZoomRate(w){this._wheelZoomRate=w}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(w){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!w&&w.around===\"center\")}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(w){return!!this._map.cooperativeGestures.isEnabled()&&!(w.ctrlKey||this._map.cooperativeGestures.isBypassed(w))}wheel(w){if(!this.isEnabled())return;if(this._shouldBePrevented(w))return void this._map.cooperativeGestures.notifyGestureBlocked(\"wheel_zoom\",w);let B=w.deltaMode===WheelEvent.DOM_DELTA_LINE?40*w.deltaY:w.deltaY,Q=u.now(),ee=Q-(this._lastWheelEventTime||0);this._lastWheelEventTime=Q,B!==0&&B%vr==0?this._type=\"wheel\":B!==0&&Math.abs(B)<4?this._type=\"trackpad\":ee>400?(this._type=null,this._lastValue=B,this._timeout=setTimeout(this._onTimeout,40,w)):this._type||(this._type=Math.abs(ee*B)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,B+=this._lastValue)),w.shiftKey&&B&&(B/=4),this._type&&(this._lastWheelEvent=w,this._delta-=B,this._active||this._start(w)),w.preventDefault()}_start(w){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);let B=c.mousePos(this._map.getCanvas(),w),Q=this._tr;this._around=B.y>Q.transform.height/2-Q.transform.getHorizon()?a.N.convert(this._aroundCenter?Q.center:Q.unproject(B)):a.N.convert(Q.center),this._aroundPoint=Q.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let w=this._tr.transform;if(this._delta!==0){let it=this._type===\"wheel\"&&Math.abs(this._delta)>vr?this._wheelZoomRate:this._defaultZoomRate,yt=2/(1+Math.exp(-Math.abs(this._delta*it)));this._delta<0&&yt!==0&&(yt=1/yt);let Ot=typeof this._targetZoom==\"number\"?w.zoomScale(this._targetZoom):w.scale;this._targetZoom=Math.min(w.maxZoom,Math.max(w.minZoom,w.scaleZoom(Ot*yt))),this._type===\"wheel\"&&(this._startZoom=w.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let B=typeof this._targetZoom==\"number\"?this._targetZoom:w.zoom,Q=this._startZoom,ee=this._easing,se,qe=!1,je=u.now()-this._lastWheelEventTime;if(this._type===\"wheel\"&&Q&&ee&&je){let it=Math.min(je/200,1),yt=ee(it);se=a.y.number(Q,B,yt),it<1?this._frameId||(this._frameId=!0):qe=!0}else se=B,qe=!0;return this._active=!0,qe&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!qe,zoomDelta:se-w.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(w){let B=a.b9;if(this._prevEase){let Q=this._prevEase,ee=(u.now()-Q.start)/Q.duration,se=Q.easing(ee+.01)-Q.easing(ee),qe=.27/Math.sqrt(se*se+1e-4)*.01,je=Math.sqrt(.0729-qe*qe);B=a.b8(qe,je,.25,1)}return this._prevEase={start:u.now(),duration:w,easing:B},B}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class fi{constructor(w,B){this._clickZoom=w,this._tapZoom=B}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 xi{constructor(w){this._tr=new _u(w),this.reset()}reset(){this._active=!1}dblclick(w,B){return w.preventDefault(),{cameraAnimation:Q=>{Q.easeTo({duration:300,zoom:this._tr.zoom+(w.shiftKey?-1:1),around:this._tr.unproject(B)},{originalEvent:w})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Fi{constructor(){this._tap=new Pf({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(w,B,Q){if(!this._swipePoint)if(this._tapTime){let ee=B[0],se=w.timeStamp-this._tapTime<500,qe=this._tapPoint.dist(ee)<30;se&&qe?Q.length>0&&(this._swipePoint=ee,this._swipeTouch=Q[0].identifier):this.reset()}else this._tap.touchstart(w,B,Q)}touchmove(w,B,Q){if(this._tapTime){if(this._swipePoint){if(Q[0].identifier!==this._swipeTouch)return;let ee=B[0],se=ee.y-this._swipePoint.y;return this._swipePoint=ee,w.preventDefault(),this._active=!0,{zoomDelta:se/128}}}else this._tap.touchmove(w,B,Q)}touchend(w,B,Q){if(this._tapTime)this._swipePoint&&Q.length===0&&this.reset();else{let ee=this._tap.touchend(w,B,Q);ee&&(this._tapTime=w.timeStamp,this._tapPoint=ee)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Xi{constructor(w,B,Q){this._el=w,this._mousePan=B,this._touchPan=Q}enable(w){this._inertiaOptions=w||{},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 hn{constructor(w,B,Q){this._pitchWithRotate=w.pitchWithRotate,this._mouseRotate=B,this._mousePitch=Q}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 Ti{constructor(w,B,Q,ee){this._el=w,this._touchZoom=B,this._touchRotate=Q,this._tapDragZoom=ee,this._rotationDisabled=!1,this._enabled=!0}enable(w){this._touchZoom.enable(w),this._rotationDisabled||this._touchRotate.enable(w),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 qi{constructor(w,B){this._bypassKey=navigator.userAgent.indexOf(\"Mac\")!==-1?\"metaKey\":\"ctrlKey\",this._map=w,this._options=B,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let w=this._map.getCanvasContainer();w.classList.add(\"maplibregl-cooperative-gestures\"),this._container=c.create(\"div\",\"maplibregl-cooperative-gesture-screen\",w);let B=this._map._getUIString(\"CooperativeGesturesHandler.WindowsHelpText\");this._bypassKey===\"metaKey\"&&(B=this._map._getUIString(\"CooperativeGesturesHandler.MacHelpText\"));let Q=this._map._getUIString(\"CooperativeGesturesHandler.MobileHelpText\"),ee=document.createElement(\"div\");ee.className=\"maplibregl-desktop-message\",ee.textContent=B,this._container.appendChild(ee);let se=document.createElement(\"div\");se.className=\"maplibregl-mobile-message\",se.textContent=Q,this._container.appendChild(se),this._container.setAttribute(\"aria-hidden\",\"true\")}_destroyUI(){this._container&&(c.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(w){return w[this._bypassKey]}notifyGestureBlocked(w,B){this._enabled&&(this._map.fire(new a.k(\"cooperativegestureprevented\",{gestureType:w,originalEvent:B})),this._container.classList.add(\"maplibregl-show\"),setTimeout(()=>{this._container.classList.remove(\"maplibregl-show\")},100))}}let Ii=le=>le.zoom||le.drag||le.pitch||le.rotate;class mi extends a.k{}function Pn(le){return le.panDelta&&le.panDelta.mag()||le.zoomDelta||le.bearingDelta||le.pitchDelta}class Ma{constructor(w,B){this.handleWindowEvent=ee=>{this.handleEvent(ee,`${ee.type}Window`)},this.handleEvent=(ee,se)=>{if(ee.type===\"blur\")return void this.stop(!0);this._updatingCamera=!0;let qe=ee.type===\"renderFrame\"?void 0:ee,je={needsRenderFrame:!1},it={},yt={},Ot=ee.touches,Nt=Ot?this._getMapTouches(Ot):void 0,hr=Nt?c.touchPos(this._map.getCanvas(),Nt):c.mousePos(this._map.getCanvas(),ee);for(let{handlerName:be,handler:Pe,allowed:Oe}of this._handlers){if(!Pe.isEnabled())continue;let Je;this._blockedByActive(yt,Oe,be)?Pe.reset():Pe[se||ee.type]&&(Je=Pe[se||ee.type](ee,hr,Nt),this.mergeHandlerResult(je,it,Je,be,qe),Je&&Je.needsRenderFrame&&this._triggerRenderFrame()),(Je||Pe.isActive())&&(yt[be]=Pe)}let Sr={};for(let be in this._previousActiveHandlers)yt[be]||(Sr[be]=qe);this._previousActiveHandlers=yt,(Object.keys(Sr).length||Pn(je))&&(this._changes.push([je,it,Sr]),this._triggerRenderFrame()),(Object.keys(yt).length||Pn(je))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:he}=je;he&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],he(this._map))},this._map=w,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Uf(w),this._bearingSnap=B.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(B);let Q=this._el;this._listeners=[[Q,\"touchstart\",{passive:!0}],[Q,\"touchmove\",{passive:!1}],[Q,\"touchend\",void 0],[Q,\"touchcancel\",void 0],[Q,\"mousedown\",void 0],[Q,\"mousemove\",void 0],[Q,\"mouseup\",void 0],[document,\"mousemove\",{capture:!0}],[document,\"mouseup\",void 0],[Q,\"mouseover\",void 0],[Q,\"mouseout\",void 0],[Q,\"dblclick\",void 0],[Q,\"click\",void 0],[Q,\"keydown\",{capture:!1}],[Q,\"keyup\",void 0],[Q,\"wheel\",{passive:!1}],[Q,\"contextmenu\",void 0],[window,\"blur\",void 0]];for(let[ee,se,qe]of this._listeners)c.addEventListener(ee,se,ee===document?this.handleWindowEvent:this.handleEvent,qe)}destroy(){for(let[w,B,Q]of this._listeners)c.removeEventListener(w,B,w===document?this.handleWindowEvent:this.handleEvent,Q)}_addDefaultHandlers(w){let B=this._map,Q=B.getCanvasContainer();this._add(\"mapEvent\",new sh(B,w));let ee=B.boxZoom=new xu(B,w);this._add(\"boxZoom\",ee),w.interactive&&w.boxZoom&&ee.enable();let se=B.cooperativeGestures=new qi(B,w.cooperativeGestures);this._add(\"cooperativeGestures\",se),w.cooperativeGestures&&se.enable();let qe=new Ic(B),je=new xi(B);B.doubleClickZoom=new fi(je,qe),this._add(\"tapZoom\",qe),this._add(\"clickZoom\",je),w.interactive&&w.doubleClickZoom&&B.doubleClickZoom.enable();let it=new Fi;this._add(\"tapDragZoom\",it);let yt=B.touchPitch=new gf(B);this._add(\"touchPitch\",yt),w.interactive&&w.touchPitch&&B.touchPitch.enable(w.touchPitch);let Ot=Dl(w),Nt=Ih(w);B.dragRotate=new hn(w,Ot,Nt),this._add(\"mouseRotate\",Ot,[\"mousePitch\"]),this._add(\"mousePitch\",Nt,[\"mouseRotate\"]),w.interactive&&w.dragRotate&&B.dragRotate.enable();let hr=(({enable:Je,clickTolerance:He})=>{let et=new pc({checkCorrectEvent:Mt=>c.mouseButton(Mt)===0&&!Mt.ctrlKey});return new ju({clickTolerance:He,move:(Mt,Dt)=>({around:Dt,panDelta:Dt.sub(Mt)}),activateOnStart:!0,moveStateManager:et,enable:Je,assignEvents:Ph})})(w),Sr=new Wu(w,B);B.dragPan=new Xi(Q,hr,Sr),this._add(\"mousePan\",hr),this._add(\"touchPan\",Sr,[\"touchZoom\",\"touchRotate\"]),w.interactive&&w.dragPan&&B.dragPan.enable(w.dragPan);let he=new Yc,be=new iu;B.touchZoomRotate=new Ti(Q,be,he,it),this._add(\"touchRotate\",he,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",be,[\"touchPan\",\"touchRotate\"]),w.interactive&&w.touchZoomRotate&&B.touchZoomRotate.enable(w.touchZoomRotate);let Pe=B.scrollZoom=new Ur(B,()=>this._triggerRenderFrame());this._add(\"scrollZoom\",Pe,[\"mousePan\"]),w.interactive&&w.scrollZoom&&B.scrollZoom.enable(w.scrollZoom);let Oe=B.keyboard=new Bt(B);this._add(\"keyboard\",Oe),w.interactive&&w.keyboard&&B.keyboard.enable(),this._add(\"blockableMapEvent\",new Fs(B))}_add(w,B,Q){this._handlers.push({handlerName:w,handler:B,allowed:Q}),this._handlersById[w]=B}stop(w){if(!this._updatingCamera){for(let{handler:B}of this._handlers)B.reset();this._inertia.clear(),this._fireEvents({},{},w),this._changes=[]}}isActive(){for(let{handler:w}of this._handlers)if(w.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Ii(this._eventsInProgress)||this.isZooming()}_blockedByActive(w,B,Q){for(let ee in w)if(ee!==Q&&(!B||B.indexOf(ee)<0))return!0;return!1}_getMapTouches(w){let B=[];for(let Q of w)this._el.contains(Q.target)&&B.push(Q);return B}mergeHandlerResult(w,B,Q,ee,se){if(!Q)return;a.e(w,Q);let qe={handlerName:ee,originalEvent:Q.originalEvent||se};Q.zoomDelta!==void 0&&(B.zoom=qe),Q.panDelta!==void 0&&(B.drag=qe),Q.pitchDelta!==void 0&&(B.pitch=qe),Q.bearingDelta!==void 0&&(B.rotate=qe)}_applyChanges(){let w={},B={},Q={};for(let[ee,se,qe]of this._changes)ee.panDelta&&(w.panDelta=(w.panDelta||new a.P(0,0))._add(ee.panDelta)),ee.zoomDelta&&(w.zoomDelta=(w.zoomDelta||0)+ee.zoomDelta),ee.bearingDelta&&(w.bearingDelta=(w.bearingDelta||0)+ee.bearingDelta),ee.pitchDelta&&(w.pitchDelta=(w.pitchDelta||0)+ee.pitchDelta),ee.around!==void 0&&(w.around=ee.around),ee.pinchAround!==void 0&&(w.pinchAround=ee.pinchAround),ee.noInertia&&(w.noInertia=ee.noInertia),a.e(B,se),a.e(Q,qe);this._updateMapTransform(w,B,Q),this._changes=[]}_updateMapTransform(w,B,Q){let ee=this._map,se=ee._getTransformForUpdate(),qe=ee.terrain;if(!(Pn(w)||qe&&this._terrainMovement))return this._fireEvents(B,Q,!0);let{panDelta:je,zoomDelta:it,bearingDelta:yt,pitchDelta:Ot,around:Nt,pinchAround:hr}=w;hr!==void 0&&(Nt=hr),ee._stop(!0),Nt=Nt||ee.transform.centerPoint;let Sr=se.pointLocation(je?Nt.sub(je):Nt);yt&&(se.bearing+=yt),Ot&&(se.pitch+=Ot),it&&(se.zoom+=it),qe?this._terrainMovement||!B.drag&&!B.zoom?B.drag&&this._terrainMovement?se.center=se.pointLocation(se.centerPoint.sub(je)):se.setLocationAtPoint(Sr,Nt):(this._terrainMovement=!0,this._map._elevationFreeze=!0,se.setLocationAtPoint(Sr,Nt)):se.setLocationAtPoint(Sr,Nt),ee._applyUpdatedTransform(se),this._map._update(),w.noInertia||this._inertia.record(w),this._fireEvents(B,Q,!0)}_fireEvents(w,B,Q){let ee=Ii(this._eventsInProgress),se=Ii(w),qe={};for(let Nt in w){let{originalEvent:hr}=w[Nt];this._eventsInProgress[Nt]||(qe[`${Nt}start`]=hr),this._eventsInProgress[Nt]=w[Nt]}!ee&&se&&this._fireEvent(\"movestart\",se.originalEvent);for(let Nt in qe)this._fireEvent(Nt,qe[Nt]);se&&this._fireEvent(\"move\",se.originalEvent);for(let Nt in w){let{originalEvent:hr}=w[Nt];this._fireEvent(Nt,hr)}let je={},it;for(let Nt in this._eventsInProgress){let{handlerName:hr,originalEvent:Sr}=this._eventsInProgress[Nt];this._handlersById[hr].isActive()||(delete this._eventsInProgress[Nt],it=B[hr]||Sr,je[`${Nt}end`]=it)}for(let Nt in je)this._fireEvent(Nt,je[Nt]);let yt=Ii(this._eventsInProgress),Ot=(ee||se)&&!yt;if(Ot&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;let Nt=this._map._getTransformForUpdate();Nt.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(Nt)}if(Q&&Ot){this._updatingCamera=!0;let Nt=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),hr=Sr=>Sr!==0&&-this._bearingSnap<Sr&&Sr<this._bearingSnap;!Nt||!Nt.essential&&u.prefersReducedMotion?(this._map.fire(new a.k(\"moveend\",{originalEvent:it})),hr(this._map.getBearing())&&this._map.resetNorth()):(hr(Nt.bearing||this._map.getBearing())&&(Nt.bearing=0),Nt.freezeElevation=!0,this._map.easeTo(Nt,{originalEvent:it})),this._updatingCamera=!1}}_fireEvent(w,B){this._map.fire(new a.k(w,B?{originalEvent:B}:{}))}_requestFrame(){return this._map.triggerRepaint(),this._map._renderTaskQueue.add(w=>{delete this._frameId,this.handleEvent(new mi(\"renderFrame\",{timeStamp:w})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class Ta extends a.E{constructor(w,B){super(),this._renderFrameCallback=()=>{let Q=Math.min((u.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(Q)),Q<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=w,this._bearingSnap=B.bearingSnap,this.on(\"moveend\",()=>{delete this._requestedCameraState})}getCenter(){return new a.N(this.transform.center.lng,this.transform.center.lat)}setCenter(w,B){return this.jumpTo({center:w},B)}panBy(w,B,Q){return w=a.P.convert(w).mult(-1),this.panTo(this.transform.center,a.e({offset:w},B),Q)}panTo(w,B,Q){return this.easeTo(a.e({center:w},B),Q)}getZoom(){return this.transform.zoom}setZoom(w,B){return this.jumpTo({zoom:w},B),this}zoomTo(w,B,Q){return this.easeTo(a.e({zoom:w},B),Q)}zoomIn(w,B){return this.zoomTo(this.getZoom()+1,w,B),this}zoomOut(w,B){return this.zoomTo(this.getZoom()-1,w,B),this}getBearing(){return this.transform.bearing}setBearing(w,B){return this.jumpTo({bearing:w},B),this}getPadding(){return this.transform.padding}setPadding(w,B){return this.jumpTo({padding:w},B),this}rotateTo(w,B,Q){return this.easeTo(a.e({bearing:w},B),Q)}resetNorth(w,B){return this.rotateTo(0,a.e({duration:1e3},w),B),this}resetNorthPitch(w,B){return this.easeTo(a.e({bearing:0,pitch:0,duration:1e3},w),B),this}snapToNorth(w,B){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(w,B):this}getPitch(){return this.transform.pitch}setPitch(w,B){return this.jumpTo({pitch:w},B),this}cameraForBounds(w,B){w=ce.convert(w).adjustAntiMeridian();let Q=B&&B.bearing||0;return this._cameraForBoxAndBearing(w.getNorthWest(),w.getSouthEast(),Q,B)}_cameraForBoxAndBearing(w,B,Q,ee){let se={top:0,bottom:0,right:0,left:0};if(typeof(ee=a.e({padding:se,offset:[0,0],maxZoom:this.transform.maxZoom},ee)).padding==\"number\"){let zr=ee.padding;ee.padding={top:zr,bottom:zr,right:zr,left:zr}}ee.padding=a.e(se,ee.padding);let qe=this.transform,je=qe.padding,it=new ce(w,B),yt=qe.project(it.getNorthWest()),Ot=qe.project(it.getNorthEast()),Nt=qe.project(it.getSouthEast()),hr=qe.project(it.getSouthWest()),Sr=a.ba(-Q),he=yt.rotate(Sr),be=Ot.rotate(Sr),Pe=Nt.rotate(Sr),Oe=hr.rotate(Sr),Je=new a.P(Math.max(he.x,be.x,Oe.x,Pe.x),Math.max(he.y,be.y,Oe.y,Pe.y)),He=new a.P(Math.min(he.x,be.x,Oe.x,Pe.x),Math.min(he.y,be.y,Oe.y,Pe.y)),et=Je.sub(He),Mt=(qe.width-(je.left+je.right+ee.padding.left+ee.padding.right))/et.x,Dt=(qe.height-(je.top+je.bottom+ee.padding.top+ee.padding.bottom))/et.y;if(Dt<0||Mt<0)return void a.w(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\");let Ut=Math.min(qe.scaleZoom(qe.scale*Math.min(Mt,Dt)),ee.maxZoom),tr=a.P.convert(ee.offset),mr=new a.P((ee.padding.left-ee.padding.right)/2,(ee.padding.top-ee.padding.bottom)/2).rotate(a.ba(Q)),Rr=tr.add(mr).mult(qe.scale/qe.zoomScale(Ut));return{center:qe.unproject(yt.add(Nt).div(2).sub(Rr)),zoom:Ut,bearing:Q}}fitBounds(w,B,Q){return this._fitInternal(this.cameraForBounds(w,B),B,Q)}fitScreenCoordinates(w,B,Q,ee,se){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(a.P.convert(w)),this.transform.pointLocation(a.P.convert(B)),Q,ee),ee,se)}_fitInternal(w,B,Q){return w?(delete(B=a.e(w,B)).padding,B.linear?this.easeTo(B,Q):this.flyTo(B,Q)):this}jumpTo(w,B){this.stop();let Q=this._getTransformForUpdate(),ee=!1,se=!1,qe=!1;return\"zoom\"in w&&Q.zoom!==+w.zoom&&(ee=!0,Q.zoom=+w.zoom),w.center!==void 0&&(Q.center=a.N.convert(w.center)),\"bearing\"in w&&Q.bearing!==+w.bearing&&(se=!0,Q.bearing=+w.bearing),\"pitch\"in w&&Q.pitch!==+w.pitch&&(qe=!0,Q.pitch=+w.pitch),w.padding==null||Q.isPaddingEqual(w.padding)||(Q.padding=w.padding),this._applyUpdatedTransform(Q),this.fire(new a.k(\"movestart\",B)).fire(new a.k(\"move\",B)),ee&&this.fire(new a.k(\"zoomstart\",B)).fire(new a.k(\"zoom\",B)).fire(new a.k(\"zoomend\",B)),se&&this.fire(new a.k(\"rotatestart\",B)).fire(new a.k(\"rotate\",B)).fire(new a.k(\"rotateend\",B)),qe&&this.fire(new a.k(\"pitchstart\",B)).fire(new a.k(\"pitch\",B)).fire(new a.k(\"pitchend\",B)),this.fire(new a.k(\"moveend\",B))}calculateCameraOptionsFromTo(w,B,Q,ee=0){let se=a.Z.fromLngLat(w,B),qe=a.Z.fromLngLat(Q,ee),je=qe.x-se.x,it=qe.y-se.y,yt=qe.z-se.z,Ot=Math.hypot(je,it,yt);if(Ot===0)throw new Error(\"Can't calculate camera options with same From and To\");let Nt=Math.hypot(je,it),hr=this.transform.scaleZoom(this.transform.cameraToCenterDistance/Ot/this.transform.tileSize),Sr=180*Math.atan2(je,-it)/Math.PI,he=180*Math.acos(Nt/Ot)/Math.PI;return he=yt<0?90-he:90+he,{center:qe.toLngLat(),zoom:hr,pitch:he,bearing:Sr}}easeTo(w,B){var Q;this._stop(!1,w.easeId),((w=a.e({offset:[0,0],duration:500,easing:a.b9},w)).animate===!1||!w.essential&&u.prefersReducedMotion)&&(w.duration=0);let ee=this._getTransformForUpdate(),se=ee.zoom,qe=ee.bearing,je=ee.pitch,it=ee.padding,yt=\"bearing\"in w?this._normalizeBearing(w.bearing,qe):qe,Ot=\"pitch\"in w?+w.pitch:je,Nt=\"padding\"in w?w.padding:ee.padding,hr=a.P.convert(w.offset),Sr=ee.centerPoint.add(hr),he=ee.pointLocation(Sr),{center:be,zoom:Pe}=ee.getConstrained(a.N.convert(w.center||he),(Q=w.zoom)!==null&&Q!==void 0?Q:se);this._normalizeCenter(be,ee);let Oe=ee.project(he),Je=ee.project(be).sub(Oe),He=ee.zoomScale(Pe-se),et,Mt;w.around&&(et=a.N.convert(w.around),Mt=ee.locationPoint(et));let Dt={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=this._zooming||Pe!==se,this._rotating=this._rotating||qe!==yt,this._pitching=this._pitching||Ot!==je,this._padding=!ee.isPaddingEqual(Nt),this._easeId=w.easeId,this._prepareEase(B,w.noMoveStart,Dt),this.terrain&&this._prepareElevation(be),this._ease(Ut=>{if(this._zooming&&(ee.zoom=a.y.number(se,Pe,Ut)),this._rotating&&(ee.bearing=a.y.number(qe,yt,Ut)),this._pitching&&(ee.pitch=a.y.number(je,Ot,Ut)),this._padding&&(ee.interpolatePadding(it,Nt,Ut),Sr=ee.centerPoint.add(hr)),this.terrain&&!w.freezeElevation&&this._updateElevation(Ut),et)ee.setLocationAtPoint(et,Mt);else{let tr=ee.zoomScale(ee.zoom-se),mr=Pe>se?Math.min(2,He):Math.max(.5,He),Rr=Math.pow(mr,1-Ut),zr=ee.unproject(Oe.add(Je.mult(Ut*Rr)).mult(tr));ee.setLocationAtPoint(ee.renderWorldCopies?zr.wrap():zr,Sr)}this._applyUpdatedTransform(ee),this._fireMoveEvents(B)},Ut=>{this.terrain&&w.freezeElevation&&this._finalizeElevation(),this._afterEase(B,Ut)},w),this}_prepareEase(w,B,Q={}){this._moving=!0,B||Q.moving||this.fire(new a.k(\"movestart\",w)),this._zooming&&!Q.zooming&&this.fire(new a.k(\"zoomstart\",w)),this._rotating&&!Q.rotating&&this.fire(new a.k(\"rotatestart\",w)),this._pitching&&!Q.pitching&&this.fire(new a.k(\"pitchstart\",w))}_prepareElevation(w){this._elevationCenter=w,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(w,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(w){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let B=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(w<1&&B!==this._elevationTarget){let Q=this._elevationTarget-this._elevationStart;this._elevationStart+=w*(Q-(B-(Q*w+this._elevationStart))/(1-w)),this._elevationTarget=B}this.transform.elevation=a.y.number(this._elevationStart,this._elevationTarget,w)}_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(w){let B=w.getCameraPosition(),Q=this.terrain.getElevationForLngLatZoom(B.lngLat,w.zoom);if(B.altitude<Q){let ee=this.calculateCameraOptionsFromTo(B.lngLat,Q,w.center,w.elevation);return{pitch:ee.pitch,zoom:ee.zoom}}return{}}_applyUpdatedTransform(w){let B=[];if(this.terrain&&B.push(ee=>this._elevateCameraIfInsideTerrain(ee)),this.transformCameraUpdate&&B.push(ee=>this.transformCameraUpdate(ee)),!B.length)return;let Q=w.clone();for(let ee of B){let se=Q.clone(),{center:qe,zoom:je,pitch:it,bearing:yt,elevation:Ot}=ee(se);qe&&(se.center=qe),je!==void 0&&(se.zoom=je),it!==void 0&&(se.pitch=it),yt!==void 0&&(se.bearing=yt),Ot!==void 0&&(se.elevation=Ot),Q.apply(se)}this.transform.apply(Q)}_fireMoveEvents(w){this.fire(new a.k(\"move\",w)),this._zooming&&this.fire(new a.k(\"zoom\",w)),this._rotating&&this.fire(new a.k(\"rotate\",w)),this._pitching&&this.fire(new a.k(\"pitch\",w))}_afterEase(w,B){if(this._easeId&&B&&this._easeId===B)return;delete this._easeId;let Q=this._zooming,ee=this._rotating,se=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,Q&&this.fire(new a.k(\"zoomend\",w)),ee&&this.fire(new a.k(\"rotateend\",w)),se&&this.fire(new a.k(\"pitchend\",w)),this.fire(new a.k(\"moveend\",w))}flyTo(w,B){var Q;if(!w.essential&&u.prefersReducedMotion){let Qi=a.M(w,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(Qi,B)}this.stop(),w=a.e({offset:[0,0],speed:1.2,curve:1.42,easing:a.b9},w);let ee=this._getTransformForUpdate(),se=ee.zoom,qe=ee.bearing,je=ee.pitch,it=ee.padding,yt=\"bearing\"in w?this._normalizeBearing(w.bearing,qe):qe,Ot=\"pitch\"in w?+w.pitch:je,Nt=\"padding\"in w?w.padding:ee.padding,hr=a.P.convert(w.offset),Sr=ee.centerPoint.add(hr),he=ee.pointLocation(Sr),{center:be,zoom:Pe}=ee.getConstrained(a.N.convert(w.center||he),(Q=w.zoom)!==null&&Q!==void 0?Q:se);this._normalizeCenter(be,ee);let Oe=ee.zoomScale(Pe-se),Je=ee.project(he),He=ee.project(be).sub(Je),et=w.curve,Mt=Math.max(ee.width,ee.height),Dt=Mt/Oe,Ut=He.mag();if(\"minZoom\"in w){let Qi=a.ac(Math.min(w.minZoom,se,Pe),ee.minZoom,ee.maxZoom),Mn=Mt/ee.zoomScale(Qi-se);et=Math.sqrt(Mn/Ut*2)}let tr=et*et;function mr(Qi){let Mn=(Dt*Dt-Mt*Mt+(Qi?-1:1)*tr*tr*Ut*Ut)/(2*(Qi?Dt:Mt)*tr*Ut);return Math.log(Math.sqrt(Mn*Mn+1)-Mn)}function Rr(Qi){return(Math.exp(Qi)-Math.exp(-Qi))/2}function zr(Qi){return(Math.exp(Qi)+Math.exp(-Qi))/2}let Xr=mr(!1),di=function(Qi){return zr(Xr)/zr(Xr+et*Qi)},Li=function(Qi){return Mt*((zr(Xr)*(Rr(Mn=Xr+et*Qi)/zr(Mn))-Rr(Xr))/tr)/Ut;var Mn},Ci=(mr(!0)-Xr)/et;if(Math.abs(Ut)<1e-6||!isFinite(Ci)){if(Math.abs(Mt-Dt)<1e-6)return this.easeTo(w,B);let Qi=Dt<Mt?-1:1;Ci=Math.abs(Math.log(Dt/Mt))/et,Li=()=>0,di=Mn=>Math.exp(Qi*et*Mn)}return w.duration=\"duration\"in w?+w.duration:1e3*Ci/(\"screenSpeed\"in w?+w.screenSpeed/et:+w.speed),w.maxDuration&&w.duration>w.maxDuration&&(w.duration=0),this._zooming=!0,this._rotating=qe!==yt,this._pitching=Ot!==je,this._padding=!ee.isPaddingEqual(Nt),this._prepareEase(B,!1),this.terrain&&this._prepareElevation(be),this._ease(Qi=>{let Mn=Qi*Ci,pa=1/di(Mn);ee.zoom=Qi===1?Pe:se+ee.scaleZoom(pa),this._rotating&&(ee.bearing=a.y.number(qe,yt,Qi)),this._pitching&&(ee.pitch=a.y.number(je,Ot,Qi)),this._padding&&(ee.interpolatePadding(it,Nt,Qi),Sr=ee.centerPoint.add(hr)),this.terrain&&!w.freezeElevation&&this._updateElevation(Qi);let ea=Qi===1?be:ee.unproject(Je.add(He.mult(Li(Mn))).mult(pa));ee.setLocationAtPoint(ee.renderWorldCopies?ea.wrap():ea,Sr),this._applyUpdatedTransform(ee),this._fireMoveEvents(B)},()=>{this.terrain&&w.freezeElevation&&this._finalizeElevation(),this._afterEase(B)},w),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(w,B){var Q;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let ee=this._onEaseEnd;delete this._onEaseEnd,ee.call(this,B)}return w||(Q=this.handlers)===null||Q===void 0||Q.stop(!1),this}_ease(w,B,Q){Q.animate===!1||Q.duration===0?(w(1),B()):(this._easeStart=u.now(),this._easeOptions=Q,this._onEaseFrame=w,this._onEaseEnd=B,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(w,B){w=a.b3(w,-180,180);let Q=Math.abs(w-B);return Math.abs(w-360-B)<Q&&(w-=360),Math.abs(w+360-B)<Q&&(w+=360),w}_normalizeCenter(w,B){if(!B.renderWorldCopies||B.lngRange)return;let Q=w.lng-B.center.lng;w.lng+=Q>180?-360:Q<-180?360:0}queryTerrainElevation(w){return this.terrain?this.terrain.getElevationForLngLatZoom(a.N.convert(w),this.transform.tileZoom)-this.transform.elevation:null}}let Ea={compact:!0,customAttribution:'<a href=\"https://maplibre.org/\" target=\"_blank\">MapLibre</a>'};class qa{constructor(w=Ea){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=B=>{!B||B.sourceDataType!==\"metadata\"&&B.sourceDataType!==\"visibility\"&&B.dataType!==\"style\"&&B.type!==\"terrain\"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?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=w}getDefaultPosition(){return\"bottom-right\"}onAdd(w){return this._map=w,this._compact=this.options.compact,this._container=c.create(\"details\",\"maplibregl-ctrl maplibregl-ctrl-attrib\"),this._compactButton=c.create(\"summary\",\"maplibregl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=c.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(){c.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(w,B){let Q=this._map._getUIString(`AttributionControl.${B}`);w.title=Q,w.setAttribute(\"aria-label\",Q)}_updateAttributions(){if(!this._map.style)return;let w=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?w=w.concat(this.options.customAttribution.map(ee=>typeof ee!=\"string\"?\"\":ee)):typeof this.options.customAttribution==\"string\"&&w.push(this.options.customAttribution)),this._map.style.stylesheet){let ee=this._map.style.stylesheet;this.styleOwner=ee.owner,this.styleId=ee.id}let B=this._map.style.sourceCaches;for(let ee in B){let se=B[ee];if(se.used||se.usedForTerrain){let qe=se.getSource();qe.attribution&&w.indexOf(qe.attribution)<0&&w.push(qe.attribution)}}w=w.filter(ee=>String(ee).trim()),w.sort((ee,se)=>ee.length-se.length),w=w.filter((ee,se)=>{for(let qe=se+1;qe<w.length;qe++)if(w[qe].indexOf(ee)>=0)return!1;return!0});let Q=w.join(\" | \");Q!==this._attribHTML&&(this._attribHTML=Q,w.length?(this._innerContainer.innerHTML=Q,this._container.classList.remove(\"maplibregl-attrib-empty\")):this._container.classList.add(\"maplibregl-attrib-empty\"),this._updateCompact(),this._editLink=null)}}class Cn{constructor(w={}){this._updateCompact=()=>{let B=this._container.children;if(B.length){let Q=B[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&Q.classList.add(\"maplibregl-compact\"):Q.classList.remove(\"maplibregl-compact\")}},this.options=w}getDefaultPosition(){return\"bottom-left\"}onAdd(w){this._map=w,this._compact=this.options&&this.options.compact,this._container=c.create(\"div\",\"maplibregl-ctrl\");let B=c.create(\"a\",\"maplibregl-ctrl-logo\");return B.target=\"_blank\",B.rel=\"noopener nofollow\",B.href=\"https://maplibre.org/\",B.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),B.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(B),this._container.style.display=\"block\",this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container}onRemove(){c.remove(this._container),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._compact=void 0}}class sn{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(w){let B=++this._id;return this._queue.push({callback:w,id:B,cancelled:!1}),B}remove(w){let B=this._currentlyRunning,Q=B?this._queue.concat(B):this._queue;for(let ee of Q)if(ee.id===w)return void(ee.cancelled=!0)}run(w=0){if(this._currentlyRunning)throw new Error(\"Attempting to run(), but is already running.\");let B=this._currentlyRunning=this._queue;this._queue=[];for(let Q of B)if(!Q.cancelled&&(Q.callback(w),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var Ua=a.Y([{name:\"a_pos3d\",type:\"Int16\",components:3}]);class mo extends a.E{constructor(w){super(),this.sourceCache=w,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,w.usedForTerrain=!0,w.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(w,B){this.sourceCache.update(w,B),this._renderableTilesKeys=[];let Q={};for(let ee of w.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:B}))Q[ee.key]=!0,this._renderableTilesKeys.push(ee.key),this._tiles[ee.key]||(ee.posMatrix=new Float64Array(16),a.aP(ee.posMatrix,0,a.X,0,a.X,0,1),this._tiles[ee.key]=new Lt(ee,this.tileSize));for(let ee in this._tiles)Q[ee]||delete this._tiles[ee]}freeRtt(w){for(let B in this._tiles){let Q=this._tiles[B];(!w||Q.tileID.equals(w)||Q.tileID.isChildOf(w)||w.isChildOf(Q.tileID))&&(Q.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(w=>this.getTileByID(w))}getTileByID(w){return this._tiles[w]}getTerrainCoords(w){let B={};for(let Q of this._renderableTilesKeys){let ee=this._tiles[Q].tileID;if(ee.canonical.equals(w.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16),a.aP(se.posMatrix,0,a.X,0,a.X,0,1),B[Q]=se}else if(ee.canonical.isChildOf(w.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16);let qe=ee.canonical.z-w.canonical.z,je=ee.canonical.x-(ee.canonical.x>>qe<<qe),it=ee.canonical.y-(ee.canonical.y>>qe<<qe),yt=a.X>>qe;a.aP(se.posMatrix,0,yt,0,yt,0,1),a.J(se.posMatrix,se.posMatrix,[-je*yt,-it*yt,0]),B[Q]=se}else if(w.canonical.isChildOf(ee.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16);let qe=w.canonical.z-ee.canonical.z,je=w.canonical.x-(w.canonical.x>>qe<<qe),it=w.canonical.y-(w.canonical.y>>qe<<qe),yt=a.X>>qe;a.aP(se.posMatrix,0,a.X,0,a.X,0,1),a.J(se.posMatrix,se.posMatrix,[je*yt,it*yt,0]),a.K(se.posMatrix,se.posMatrix,[1/2**qe,1/2**qe,0]),B[Q]=se}}return B}getSourceTile(w,B){let Q=this.sourceCache._source,ee=w.overscaledZ-this.deltaZoom;if(ee>Q.maxzoom&&(ee=Q.maxzoom),ee<Q.minzoom)return null;this._sourceTileCache[w.key]||(this._sourceTileCache[w.key]=w.scaledTo(ee).key);let se=this.sourceCache.getTileByID(this._sourceTileCache[w.key]);if((!se||!se.dem)&&B)for(;ee>=Q.minzoom&&(!se||!se.dem);)se=this.sourceCache.getTileByID(w.scaledTo(ee--).key);return se}tilesAfterTime(w=Date.now()){return Object.values(this._tiles).filter(B=>B.timeAdded>=w)}}class Xo{constructor(w,B,Q){this.painter=w,this.sourceCache=new mo(B),this.options=Q,this.exaggeration=typeof Q.exaggeration==\"number\"?Q.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(w,B,Q,ee=a.X){var se;if(!(B>=0&&B<ee&&Q>=0&&Q<ee))return 0;let qe=this.getTerrainData(w),je=(se=qe.tile)===null||se===void 0?void 0:se.dem;if(!je)return 0;let it=function(he,be,Pe){var Oe=be[0],Je=be[1];return he[0]=Pe[0]*Oe+Pe[4]*Je+Pe[12],he[1]=Pe[1]*Oe+Pe[5]*Je+Pe[13],he}([],[B/ee*a.X,Q/ee*a.X],qe.u_terrain_matrix),yt=[it[0]*je.dim,it[1]*je.dim],Ot=Math.floor(yt[0]),Nt=Math.floor(yt[1]),hr=yt[0]-Ot,Sr=yt[1]-Nt;return je.get(Ot,Nt)*(1-hr)*(1-Sr)+je.get(Ot+1,Nt)*hr*(1-Sr)+je.get(Ot,Nt+1)*(1-hr)*Sr+je.get(Ot+1,Nt+1)*hr*Sr}getElevationForLngLatZoom(w,B){if(!a.bb(B,w.wrap()))return 0;let{tileID:Q,mercatorX:ee,mercatorY:se}=this._getOverscaledTileIDFromLngLatZoom(w,B);return this.getElevation(Q,ee%a.X,se%a.X,a.X)}getElevation(w,B,Q,ee=a.X){return this.getDEMElevation(w,B,Q,ee)*this.exaggeration}getTerrainData(w){if(!this._emptyDemTexture){let ee=this.painter.context,se=new a.R({width:1,height:1},new Uint8Array(4));this._emptyDepthTexture=new g(ee,se,ee.gl.RGBA,{premultiply:!1}),this._emptyDemUnpack=[0,0,0,0],this._emptyDemTexture=new g(ee,new a.R({width:1,height:1}),ee.gl.RGBA,{premultiply:!1}),this._emptyDemTexture.bind(ee.gl.NEAREST,ee.gl.CLAMP_TO_EDGE),this._emptyDemMatrix=a.an([])}let B=this.sourceCache.getSourceTile(w,!0);if(B&&B.dem&&(!B.demTexture||B.needsTerrainPrepare)){let ee=this.painter.context;B.demTexture=this.painter.getTileTexture(B.dem.stride),B.demTexture?B.demTexture.update(B.dem.getPixels(),{premultiply:!1}):B.demTexture=new g(ee,B.dem.getPixels(),ee.gl.RGBA,{premultiply:!1}),B.demTexture.bind(ee.gl.NEAREST,ee.gl.CLAMP_TO_EDGE),B.needsTerrainPrepare=!1}let Q=B&&B+B.tileID.key+w.key;if(Q&&!this._demMatrixCache[Q]){let ee=this.sourceCache.sourceCache._source.maxzoom,se=w.canonical.z-B.tileID.canonical.z;w.overscaledZ>w.canonical.z&&(w.canonical.z>=ee?se=w.canonical.z-ee:a.w(\"cannot calculate elevation if elevation maxzoom > source.maxzoom\"));let qe=w.canonical.x-(w.canonical.x>>se<<se),je=w.canonical.y-(w.canonical.y>>se<<se),it=a.bc(new Float64Array(16),[1/(a.X<<se),1/(a.X<<se),0]);a.J(it,it,[qe*a.X,je*a.X,0]),this._demMatrixCache[w.key]={matrix:it,coord:w}}return{u_depth:2,u_terrain:3,u_terrain_dim:B&&B.dem&&B.dem.dim||1,u_terrain_matrix:Q?this._demMatrixCache[w.key].matrix:this._emptyDemMatrix,u_terrain_unpack:B&&B.dem&&B.dem.getUnpackVector()||this._emptyDemUnpack,u_terrain_exaggeration:this.exaggeration,texture:(B&&B.demTexture||this._emptyDemTexture).texture,depthTexture:(this._fboDepthTexture||this._emptyDepthTexture).texture,tile:B}}getFramebuffer(w){let B=this.painter,Q=B.width/devicePixelRatio,ee=B.height/devicePixelRatio;return!this._fbo||this._fbo.width===Q&&this._fbo.height===ee||(this._fbo.destroy(),this._fboCoordsTexture.destroy(),this._fboDepthTexture.destroy(),delete this._fbo,delete this._fboDepthTexture,delete this._fboCoordsTexture),this._fboCoordsTexture||(this._fboCoordsTexture=new g(B.context,{width:Q,height:ee,data:null},B.context.gl.RGBA,{premultiply:!1}),this._fboCoordsTexture.bind(B.context.gl.NEAREST,B.context.gl.CLAMP_TO_EDGE)),this._fboDepthTexture||(this._fboDepthTexture=new g(B.context,{width:Q,height:ee,data:null},B.context.gl.RGBA,{premultiply:!1}),this._fboDepthTexture.bind(B.context.gl.NEAREST,B.context.gl.CLAMP_TO_EDGE)),this._fbo||(this._fbo=B.context.createFramebuffer(Q,ee,!0,!1),this._fbo.depthAttachment.set(B.context.createRenderbuffer(B.context.gl.DEPTH_COMPONENT16,Q,ee))),this._fbo.colorAttachment.set(w===\"coords\"?this._fboCoordsTexture.texture:this._fboDepthTexture.texture),this._fbo}getCoordsTexture(){let w=this.painter.context;if(this._coordsTexture)return this._coordsTexture;let B=new Uint8Array(this._coordsTextureSize*this._coordsTextureSize*4);for(let se=0,qe=0;se<this._coordsTextureSize;se++)for(let je=0;je<this._coordsTextureSize;je++,qe+=4)B[qe+0]=255&je,B[qe+1]=255&se,B[qe+2]=je>>8<<4|se>>8,B[qe+3]=0;let Q=new a.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(B.buffer)),ee=new g(w,Q,w.gl.RGBA,{premultiply:!1});return ee.bind(w.gl.NEAREST,w.gl.CLAMP_TO_EDGE),this._coordsTexture=ee,ee}pointCoordinate(w){this.painter.maybeDrawDepthAndCoords(!0);let B=new Uint8Array(4),Q=this.painter.context,ee=Q.gl,se=Math.round(w.x*this.painter.pixelRatio/devicePixelRatio),qe=Math.round(w.y*this.painter.pixelRatio/devicePixelRatio),je=Math.round(this.painter.height/devicePixelRatio);Q.bindFramebuffer.set(this.getFramebuffer(\"coords\").framebuffer),ee.readPixels(se,je-qe-1,1,1,ee.RGBA,ee.UNSIGNED_BYTE,B),Q.bindFramebuffer.set(null);let it=B[0]+(B[2]>>4<<8),yt=B[1]+((15&B[2])<<8),Ot=this.coordsIndex[255-B[3]],Nt=Ot&&this.sourceCache.getTileByID(Ot);if(!Nt)return null;let hr=this._coordsTextureSize,Sr=(1<<Nt.tileID.canonical.z)*hr;return new a.Z((Nt.tileID.canonical.x*hr+it)/Sr+Nt.tileID.wrap,(Nt.tileID.canonical.y*hr+yt)/Sr,this.getElevation(Nt.tileID,it,yt,hr))}depthAtPoint(w){let B=new Uint8Array(4),Q=this.painter.context,ee=Q.gl;return Q.bindFramebuffer.set(this.getFramebuffer(\"depth\").framebuffer),ee.readPixels(w.x,this.painter.height/devicePixelRatio-w.y-1,1,1,ee.RGBA,ee.UNSIGNED_BYTE,B),Q.bindFramebuffer.set(null),(B[0]/16777216+B[1]/65536+B[2]/256+B[3])/256}getTerrainMesh(){if(this._mesh)return this._mesh;let w=this.painter.context,B=new a.bd,Q=new a.aY,ee=this.meshSize,se=a.X/ee,qe=ee*ee;for(let Nt=0;Nt<=ee;Nt++)for(let hr=0;hr<=ee;hr++)B.emplaceBack(hr*se,Nt*se,0);for(let Nt=0;Nt<qe;Nt+=ee+1)for(let hr=0;hr<ee;hr++)Q.emplaceBack(hr+Nt,ee+hr+Nt+1,ee+hr+Nt+2),Q.emplaceBack(hr+Nt,ee+hr+Nt+2,hr+Nt+1);let je=B.length,it=je+2*(ee+1);for(let Nt of[0,1])for(let hr=0;hr<=ee;hr++)for(let Sr of[0,1])B.emplaceBack(hr*se,Nt*a.X,Sr);for(let Nt=0;Nt<2*ee;Nt+=2)Q.emplaceBack(it+Nt,it+Nt+1,it+Nt+3),Q.emplaceBack(it+Nt,it+Nt+3,it+Nt+2),Q.emplaceBack(je+Nt,je+Nt+3,je+Nt+1),Q.emplaceBack(je+Nt,je+Nt+2,je+Nt+3);let yt=B.length,Ot=yt+2*(ee+1);for(let Nt of[0,1])for(let hr=0;hr<=ee;hr++)for(let Sr of[0,1])B.emplaceBack(Nt*a.X,hr*se,Sr);for(let Nt=0;Nt<2*ee;Nt+=2)Q.emplaceBack(yt+Nt,yt+Nt+1,yt+Nt+3),Q.emplaceBack(yt+Nt,yt+Nt+3,yt+Nt+2),Q.emplaceBack(Ot+Nt,Ot+Nt+3,Ot+Nt+1),Q.emplaceBack(Ot+Nt,Ot+Nt+2,Ot+Nt+3);return this._mesh=new Pu(w.createVertexBuffer(B,Ua.members),w.createIndexBuffer(Q),a.a0.simpleSegment(0,0,B.length,Q.length)),this._mesh}getMeshFrameDelta(w){return 2*Math.PI*a.be/Math.pow(2,w)/5}getMinTileElevationForLngLatZoom(w,B){var Q;let{tileID:ee}=this._getOverscaledTileIDFromLngLatZoom(w,B);return(Q=this.getMinMaxElevation(ee).minElevation)!==null&&Q!==void 0?Q:0}getMinMaxElevation(w){let B=this.getTerrainData(w).tile,Q={minElevation:null,maxElevation:null};return B&&B.dem&&(Q.minElevation=B.dem.min*this.exaggeration,Q.maxElevation=B.dem.max*this.exaggeration),Q}_getOverscaledTileIDFromLngLatZoom(w,B){let Q=a.Z.fromLngLat(w.wrap()),ee=(1<<B)*a.X,se=Q.x*ee,qe=Q.y*ee,je=Math.floor(se/a.X),it=Math.floor(qe/a.X);return{tileID:new a.S(B,0,B,je,it),mercatorX:se,mercatorY:qe}}}class Ts{constructor(w,B,Q){this._context=w,this._size=B,this._tileSize=Q,this._objects=[],this._recentlyUsed=[],this._stamp=0}destruct(){for(let w of this._objects)w.texture.destroy(),w.fbo.destroy()}_createObject(w){let B=this._context.createFramebuffer(this._tileSize,this._tileSize,!0,!0),Q=new g(this._context,{width:this._tileSize,height:this._tileSize,data:null},this._context.gl.RGBA);return Q.bind(this._context.gl.LINEAR,this._context.gl.CLAMP_TO_EDGE),B.depthAttachment.set(this._context.createRenderbuffer(this._context.gl.DEPTH_STENCIL,this._tileSize,this._tileSize)),B.colorAttachment.set(Q.texture),{id:w,fbo:B,texture:Q,stamp:-1,inUse:!1}}getObjectForId(w){return this._objects[w]}useObject(w){w.inUse=!0,this._recentlyUsed=this._recentlyUsed.filter(B=>w.id!==B),this._recentlyUsed.push(w.id)}stampObject(w){w.stamp=++this._stamp}getOrCreateFreeObject(){for(let B of this._recentlyUsed)if(!this._objects[B].inUse)return this._objects[B];if(this._objects.length>=this._size)throw new Error(\"No free RenderPool available, call freeAllObjects() required!\");let w=this._createObject(this._objects.length);return this._objects.push(w),w}freeObject(w){w.inUse=!1}freeAllObjects(){for(let w of this._objects)this.freeObject(w)}isFull(){return!(this._objects.length<this._size)&&this._objects.some(w=>!w.inUse)===!1}}let Qo={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class ys{constructor(w,B){this.painter=w,this.terrain=B,this.pool=new Ts(w.context,30,B.sourceCache.tileSize*B.qualityFactor)}destruct(){this.pool.destruct()}getTexture(w){return this.pool.getObjectForId(w.rtt[this._stacks.length-1].id).texture}prepareForRender(w,B){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=w._order.filter(Q=>!w._layers[Q].isHidden(B)),this._coordsDescendingInv={};for(let Q in w.sourceCaches){this._coordsDescendingInv[Q]={};let ee=w.sourceCaches[Q].getVisibleCoordinates();for(let se of ee){let qe=this.terrain.sourceCache.getTerrainCoords(se);for(let je in qe)this._coordsDescendingInv[Q][je]||(this._coordsDescendingInv[Q][je]=[]),this._coordsDescendingInv[Q][je].push(qe[je])}}this._coordsDescendingInvStr={};for(let Q of w._order){let ee=w._layers[Q],se=ee.source;if(Qo[ee.type]&&!this._coordsDescendingInvStr[se]){this._coordsDescendingInvStr[se]={};for(let qe in this._coordsDescendingInv[se])this._coordsDescendingInvStr[se][qe]=this._coordsDescendingInv[se][qe].map(je=>je.key).sort().join()}}for(let Q of this._renderableTiles)for(let ee in this._coordsDescendingInvStr){let se=this._coordsDescendingInvStr[ee][Q.tileID.key];se&&se!==Q.rttCoords[ee]&&(Q.rtt=[])}}renderLayer(w){if(w.isHidden(this.painter.transform.zoom))return!1;let B=w.type,Q=this.painter,ee=this._renderableLayerIds[this._renderableLayerIds.length-1]===w.id;if(Qo[B]&&(this._prevType&&Qo[this._prevType]||this._stacks.push([]),this._prevType=B,this._stacks[this._stacks.length-1].push(w.id),!ee))return!0;if(Qo[this._prevType]||Qo[B]&&ee){this._prevType=B;let se=this._stacks.length-1,qe=this._stacks[se]||[];for(let je of this._renderableTiles){if(this.pool.isFull()&&(tu(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(je),je.rtt[se]){let yt=this.pool.getObjectForId(je.rtt[se].id);if(yt.stamp===je.rtt[se].stamp){this.pool.useObject(yt);continue}}let it=this.pool.getOrCreateFreeObject();this.pool.useObject(it),this.pool.stampObject(it),je.rtt[se]={id:it.id,stamp:it.stamp},Q.context.bindFramebuffer.set(it.fbo.framebuffer),Q.context.clear({color:a.aM.transparent,stencil:0}),Q.currentStencilSource=void 0;for(let yt=0;yt<qe.length;yt++){let Ot=Q.style._layers[qe[yt]],Nt=Ot.source?this._coordsDescendingInv[Ot.source][je.tileID.key]:[je.tileID];Q.context.viewport.set([0,0,it.fbo.width,it.fbo.height]),Q._renderTileClippingMasks(Ot,Nt),Q.renderLayer(Q,Q.style.sourceCaches[Ot.source],Ot,Nt),Ot.source&&(je.rttCoords[Ot.source]=this._coordsDescendingInvStr[Ot.source][je.tileID.key])}}return tu(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects(),Qo[B]}return!1}}let Bo={\"AttributionControl.ToggleAttribution\":\"Toggle attribution\",\"AttributionControl.MapFeedback\":\"Map feedback\",\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"MapLibre logo\",\"Map.Title\":\"Map\",\"Marker.Title\":\"Map marker\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"Popup.Close\":\"Close popup\",\"ScaleControl.Feet\":\"ft\",\"ScaleControl.Meters\":\"m\",\"ScaleControl.Kilometers\":\"km\",\"ScaleControl.Miles\":\"mi\",\"ScaleControl.NauticalMiles\":\"nm\",\"TerrainControl.Enable\":\"Enable terrain\",\"TerrainControl.Disable\":\"Disable terrain\",\"CooperativeGesturesHandler.WindowsHelpText\":\"Use Ctrl + scroll to zoom the map\",\"CooperativeGesturesHandler.MacHelpText\":\"Use \\u2318 + scroll to zoom the map\",\"CooperativeGesturesHandler.MobileHelpText\":\"Use two fingers to move the map\"},yl=o,Gs={hash:!1,interactive:!0,bearingSnap:7,attributionControl:Ea,maplibreLogo:!1,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,refreshExpiredTiles:!0,scrollZoom:!0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:!1,trackResize:!0,center:[0,0],zoom:0,bearing:0,pitch:0,renderWorldCopies:!0,maxTileCacheSize:null,maxTileCacheZoomLevels:a.a.MAX_TILE_CACHE_ZOOM_LEVELS,transformRequest:null,transformCameraUpdate:null,fadeDuration:300,crossSourceCollisions:!0,clickTolerance:3,localIdeographFontFamily:\"sans-serif\",pitchWithRotate:!0,validateStyle:!0,maxCanvasSize:[4096,4096],cancelPendingTileRequestsWhileZooming:!0},Rs=le=>{le.touchstart=le.dragStart,le.touchmoveWindow=le.dragMove,le.touchend=le.dragEnd},ia={showCompass:!0,showZoom:!0,visualizePitch:!1};class Ka{constructor(w,B,Q=!1){this.mousedown=qe=>{this.startMouse(a.e({},qe,{ctrlKey:!0,preventDefault:()=>qe.preventDefault()}),c.mousePos(this.element,qe)),c.addEventListener(window,\"mousemove\",this.mousemove),c.addEventListener(window,\"mouseup\",this.mouseup)},this.mousemove=qe=>{this.moveMouse(qe,c.mousePos(this.element,qe))},this.mouseup=qe=>{this.mouseRotate.dragEnd(qe),this.mousePitch&&this.mousePitch.dragEnd(qe),this.offTemp()},this.touchstart=qe=>{qe.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=c.touchPos(this.element,qe.targetTouches)[0],this.startTouch(qe,this._startPos),c.addEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.addEventListener(window,\"touchend\",this.touchend))},this.touchmove=qe=>{qe.targetTouches.length!==1?this.reset():(this._lastPos=c.touchPos(this.element,qe.targetTouches)[0],this.moveTouch(qe,this._lastPos))},this.touchend=qe=>{qe.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),delete this._startPos,delete this._lastPos,this.offTemp()},this.reset=()=>{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;let ee=w.dragRotate._mouseRotate.getClickTolerance(),se=w.dragRotate._mousePitch.getClickTolerance();this.element=B,this.mouseRotate=Dl({clickTolerance:ee,enable:!0}),this.touchRotate=(({enable:qe,clickTolerance:je,bearingDegreesPerPixelMoved:it=.8})=>{let yt=new pf;return new ju({clickTolerance:je,move:(Ot,Nt)=>({bearingDelta:(Nt.x-Ot.x)*it}),moveStateManager:yt,enable:qe,assignEvents:Rs})})({clickTolerance:ee,enable:!0}),this.map=w,Q&&(this.mousePitch=Ih({clickTolerance:se,enable:!0}),this.touchPitch=(({enable:qe,clickTolerance:je,pitchDegreesPerPixelMoved:it=-.5})=>{let yt=new pf;return new ju({clickTolerance:je,move:(Ot,Nt)=>({pitchDelta:(Nt.y-Ot.y)*it}),moveStateManager:yt,enable:qe,assignEvents:Rs})})({clickTolerance:se,enable:!0})),c.addEventListener(B,\"mousedown\",this.mousedown),c.addEventListener(B,\"touchstart\",this.touchstart,{passive:!1}),c.addEventListener(B,\"touchcancel\",this.reset)}startMouse(w,B){this.mouseRotate.dragStart(w,B),this.mousePitch&&this.mousePitch.dragStart(w,B),c.disableDrag()}startTouch(w,B){this.touchRotate.dragStart(w,B),this.touchPitch&&this.touchPitch.dragStart(w,B),c.disableDrag()}moveMouse(w,B){let Q=this.map,{bearingDelta:ee}=this.mouseRotate.dragMove(w,B)||{};if(ee&&Q.setBearing(Q.getBearing()+ee),this.mousePitch){let{pitchDelta:se}=this.mousePitch.dragMove(w,B)||{};se&&Q.setPitch(Q.getPitch()+se)}}moveTouch(w,B){let Q=this.map,{bearingDelta:ee}=this.touchRotate.dragMove(w,B)||{};if(ee&&Q.setBearing(Q.getBearing()+ee),this.touchPitch){let{pitchDelta:se}=this.touchPitch.dragMove(w,B)||{};se&&Q.setPitch(Q.getPitch()+se)}}off(){let w=this.element;c.removeEventListener(w,\"mousedown\",this.mousedown),c.removeEventListener(w,\"touchstart\",this.touchstart,{passive:!1}),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend),c.removeEventListener(w,\"touchcancel\",this.reset),this.offTemp()}offTemp(){c.enableDrag(),c.removeEventListener(window,\"mousemove\",this.mousemove),c.removeEventListener(window,\"mouseup\",this.mouseup),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend)}}let vs;function Ko(le,w,B){let Q=new a.N(le.lng,le.lat);if(le=new a.N(le.lng,le.lat),w){let ee=new a.N(le.lng-360,le.lat),se=new a.N(le.lng+360,le.lat),qe=B.locationPoint(le).distSqr(w);B.locationPoint(ee).distSqr(w)<qe?le=ee:B.locationPoint(se).distSqr(w)<qe&&(le=se)}for(;Math.abs(le.lng-B.center.lng)>180;){let ee=B.locationPoint(le);if(ee.x>=0&&ee.y>=0&&ee.x<=B.width&&ee.y<=B.height)break;le.lng>B.center.lng?le.lng-=360:le.lng+=360}return le.lng!==Q.lng&&B.locationPoint(le).y>B.height/2-B.getHorizon()?le:Q}let nu={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 Ru(le,w,B){let Q=le.classList;for(let ee in nu)Q.remove(`maplibregl-${B}-anchor-${ee}`);Q.add(`maplibregl-${B}-anchor-${w}`)}class ac extends a.E{constructor(w){if(super(),this._onKeyPress=B=>{let Q=B.code,ee=B.charCode||B.keyCode;Q!==\"Space\"&&Q!==\"Enter\"&&ee!==32&&ee!==13||this.togglePopup()},this._onMapClick=B=>{let Q=B.originalEvent.target,ee=this._element;this._popup&&(Q===ee||ee.contains(Q))&&this.togglePopup()},this._update=B=>{var Q;if(!this._map)return;let ee=this._map.loaded()&&!this._map.isMoving();((B==null?void 0:B.type)===\"terrain\"||(B==null?void 0:B.type)===\"render\"&&!ee)&&this._map.once(\"render\",this._update),this._lngLat=this._map.transform.renderWorldCopies?Ko(this._lngLat,this._flatPos,this._map.transform):(Q=this._lngLat)===null||Q===void 0?void 0:Q.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 se=\"\";this._rotationAlignment===\"viewport\"||this._rotationAlignment===\"auto\"?se=`rotateZ(${this._rotation}deg)`:this._rotationAlignment===\"map\"&&(se=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let qe=\"\";this._pitchAlignment===\"viewport\"||this._pitchAlignment===\"auto\"?qe=\"rotateX(0deg)\":this._pitchAlignment===\"map\"&&(qe=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||B&&B.type!==\"moveend\"||(this._pos=this._pos.round()),c.setTransform(this._element,`${nu[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${qe} ${se}`),u.frameAsync(new AbortController).then(()=>{this._updateOpacity(B&&B.type===\"moveend\")}).catch(()=>{})},this._onMove=B=>{if(!this._isDragging){let Q=this._clickTolerance||this._map._clickTolerance;this._isDragging=B.point.dist(this._pointerdownPos)>=Q}this._isDragging&&(this._pos=B.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",this._state===\"pending\"&&(this._state=\"active\",this.fire(new a.k(\"dragstart\"))),this.fire(new a.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),this._state===\"active\"&&this.fire(new a.k(\"dragend\")),this._state=\"inactive\"},this._addDragHandler=B=>{this._element.contains(B.originalEvent.target)&&(B.preventDefault(),this._positionDelta=B.point.sub(this._pos).add(this._offset),this._pointerdownPos=B.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=w&&w.anchor||\"center\",this._color=w&&w.color||\"#3FB1CE\",this._scale=w&&w.scale||1,this._draggable=w&&w.draggable||!1,this._clickTolerance=w&&w.clickTolerance||0,this._subpixelPositioning=w&&w.subpixelPositioning||!1,this._isDragging=!1,this._state=\"inactive\",this._rotation=w&&w.rotation||0,this._rotationAlignment=w&&w.rotationAlignment||\"auto\",this._pitchAlignment=w&&w.pitchAlignment&&w.pitchAlignment!==\"auto\"?w.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(w==null?void 0:w.opacity,w==null?void 0:w.opacityWhenCovered),w&&w.element)this._element=w.element,this._offset=a.P.convert(w&&w.offset||[0,0]);else{this._defaultMarker=!0,this._element=c.create(\"div\");let B=c.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),Q=41,ee=27;B.setAttributeNS(null,\"display\",\"block\"),B.setAttributeNS(null,\"height\",`${Q}px`),B.setAttributeNS(null,\"width\",`${ee}px`),B.setAttributeNS(null,\"viewBox\",`0 0 ${ee} ${Q}`);let se=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");se.setAttributeNS(null,\"stroke\",\"none\"),se.setAttributeNS(null,\"stroke-width\",\"1\"),se.setAttributeNS(null,\"fill\",\"none\"),se.setAttributeNS(null,\"fill-rule\",\"evenodd\");let qe=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");qe.setAttributeNS(null,\"fill-rule\",\"nonzero\");let je=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");je.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),je.setAttributeNS(null,\"fill\",\"#000000\");let it=[{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(let Oe of it){let Je=c.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");Je.setAttributeNS(null,\"opacity\",\"0.04\"),Je.setAttributeNS(null,\"cx\",\"10.5\"),Je.setAttributeNS(null,\"cy\",\"5.80029008\"),Je.setAttributeNS(null,\"rx\",Oe.rx),Je.setAttributeNS(null,\"ry\",Oe.ry),je.appendChild(Je)}let yt=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");yt.setAttributeNS(null,\"fill\",this._color);let Ot=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");Ot.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\"),yt.appendChild(Ot);let Nt=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");Nt.setAttributeNS(null,\"opacity\",\"0.25\"),Nt.setAttributeNS(null,\"fill\",\"#000000\");let hr=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");hr.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\"),Nt.appendChild(hr);let Sr=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");Sr.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),Sr.setAttributeNS(null,\"fill\",\"#FFFFFF\");let he=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");he.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");let be=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");be.setAttributeNS(null,\"fill\",\"#000000\"),be.setAttributeNS(null,\"opacity\",\"0.25\"),be.setAttributeNS(null,\"cx\",\"5.5\"),be.setAttributeNS(null,\"cy\",\"5.5\"),be.setAttributeNS(null,\"r\",\"5.4999962\");let Pe=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");Pe.setAttributeNS(null,\"fill\",\"#FFFFFF\"),Pe.setAttributeNS(null,\"cx\",\"5.5\"),Pe.setAttributeNS(null,\"cy\",\"5.5\"),Pe.setAttributeNS(null,\"r\",\"5.4999962\"),he.appendChild(be),he.appendChild(Pe),qe.appendChild(je),qe.appendChild(yt),qe.appendChild(Nt),qe.appendChild(Sr),qe.appendChild(he),B.appendChild(qe),B.setAttributeNS(null,\"height\",Q*this._scale+\"px\"),B.setAttributeNS(null,\"width\",ee*this._scale+\"px\"),this._element.appendChild(B),this._offset=a.P.convert(w&&w.offset||[0,-14])}if(this._element.classList.add(\"maplibregl-marker\"),this._element.addEventListener(\"dragstart\",B=>{B.preventDefault()}),this._element.addEventListener(\"mousedown\",B=>{B.preventDefault()}),Ru(this._element,this._anchor,\"marker\"),w&&w.className)for(let B of w.className.split(\" \"))this._element.classList.add(B);this._popup=null}addTo(w){return this.remove(),this._map=w,this._element.setAttribute(\"aria-label\",w._getUIString(\"Marker.Title\")),w.getCanvasContainer().appendChild(this._element),w.on(\"move\",this._update),w.on(\"moveend\",this._update),w.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),c.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(w){return this._lngLat=a.N.convert(w),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(w){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),w){if(!(\"offset\"in w.options)){let ee=Math.abs(13.5)/Math.SQRT2;w.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-38.1],\"bottom-left\":[ee,-1*(38.1-13.5+ee)],\"bottom-right\":[-ee,-1*(38.1-13.5+ee)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=w,this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress)}return this}setSubpixelPositioning(w){return this._subpixelPositioning=w,this}getPopup(){return this._popup}togglePopup(){let w=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:w?(w.isOpen()?w.remove():(w.setLngLat(this._lngLat),w.addTo(this._map)),this):this}_updateOpacity(w=!1){var B,Q;if(!(!((B=this._map)===null||B===void 0)&&B.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(w)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}let ee=this._map,se=ee.terrain.depthAtPoint(this._pos),qe=ee.terrain.getElevationForLngLatZoom(this._lngLat,ee.transform.tileZoom);if(ee.transform.lngLatToCameraDepth(this._lngLat,qe)-se<.006)return void(this._element.style.opacity=this._opacity);let je=-this._offset.y/ee.transform._pixelPerMeter,it=Math.sin(ee.getPitch()*Math.PI/180)*je,yt=ee.terrain.depthAtPoint(new a.P(this._pos.x,this._pos.y-this._offset.y)),Ot=ee.transform.lngLatToCameraDepth(this._lngLat,qe+it)-yt>.006;!((Q=this._popup)===null||Q===void 0)&&Q.isOpen()&&Ot&&this._popup.remove(),this._element.style.opacity=Ot?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(w){return this._offset=a.P.convert(w),this._update(),this}addClassName(w){this._element.classList.add(w)}removeClassName(w){this._element.classList.remove(w)}toggleClassName(w){return this._element.classList.toggle(w)}setDraggable(w){return this._draggable=!!w,this._map&&(w?(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(w){return this._rotation=w||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(w){return this._rotationAlignment=w||\"auto\",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(w){return this._pitchAlignment=w&&w!==\"auto\"?w:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(w,B){return w===void 0&&B===void 0&&(this._opacity=\"1\",this._opacityWhenCovered=\"0.2\"),w!==void 0&&(this._opacity=w),B!==void 0&&(this._opacityWhenCovered=B),this._map&&this._updateOpacity(!0),this}}let mf={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},bu=0,Kc=!1,Du={maxWidth:100,unit:\"metric\"};function Dc(le,w,B){let Q=B&&B.maxWidth||100,ee=le._container.clientHeight/2,se=le.unproject([0,ee]),qe=le.unproject([Q,ee]),je=se.distanceTo(qe);if(B&&B.unit===\"imperial\"){let it=3.2808*je;it>5280?Da(w,Q,it/5280,le._getUIString(\"ScaleControl.Miles\")):Da(w,Q,it,le._getUIString(\"ScaleControl.Feet\"))}else B&&B.unit===\"nautical\"?Da(w,Q,je/1852,le._getUIString(\"ScaleControl.NauticalMiles\")):je>=1e3?Da(w,Q,je/1e3,le._getUIString(\"ScaleControl.Kilometers\")):Da(w,Q,je,le._getUIString(\"ScaleControl.Meters\"))}function Da(le,w,B,Q){let ee=function(se){let qe=Math.pow(10,`${Math.floor(se)}`.length-1),je=se/qe;return je=je>=10?10:je>=5?5:je>=3?3:je>=2?2:je>=1?1:function(it){let yt=Math.pow(10,Math.ceil(-Math.log(it)/Math.LN10));return Math.round(it*yt)/yt}(je),qe*je}(B);le.style.width=w*(ee/B)+\"px\",le.innerHTML=`${ee} ${Q}`}let eo={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\",subpixelPositioning:!1},Jc=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \");function yc(le){if(le){if(typeof le==\"number\"){let w=Math.round(Math.abs(le)/Math.SQRT2);return{center:new a.P(0,0),top:new a.P(0,le),\"top-left\":new a.P(w,w),\"top-right\":new a.P(-w,w),bottom:new a.P(0,-le),\"bottom-left\":new a.P(w,-w),\"bottom-right\":new a.P(-w,-w),left:new a.P(le,0),right:new a.P(-le,0)}}if(le instanceof a.P||Array.isArray(le)){let w=a.P.convert(le);return{center:w,top:w,\"top-left\":w,\"top-right\":w,bottom:w,\"bottom-left\":w,\"bottom-right\":w,left:w,right:w}}return{center:a.P.convert(le.center||[0,0]),top:a.P.convert(le.top||[0,0]),\"top-left\":a.P.convert(le[\"top-left\"]||[0,0]),\"top-right\":a.P.convert(le[\"top-right\"]||[0,0]),bottom:a.P.convert(le.bottom||[0,0]),\"bottom-left\":a.P.convert(le[\"bottom-left\"]||[0,0]),\"bottom-right\":a.P.convert(le[\"bottom-right\"]||[0,0]),left:a.P.convert(le.left||[0,0]),right:a.P.convert(le.right||[0,0])}}return yc(new a.P(0,0))}let _c=o;i.AJAXError=a.bh,i.Evented=a.E,i.LngLat=a.N,i.MercatorCoordinate=a.Z,i.Point=a.P,i.addProtocol=a.bi,i.config=a.a,i.removeProtocol=a.bj,i.AttributionControl=qa,i.BoxZoomHandler=xu,i.CanvasSource=Ct,i.CooperativeGesturesHandler=qi,i.DoubleClickZoomHandler=fi,i.DragPanHandler=Xi,i.DragRotateHandler=hn,i.EdgeInsets=ic,i.FullscreenControl=class extends a.E{constructor(le={}){super(),this._onFullscreenChange=()=>{var w;let B=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;!((w=B==null?void 0:B.shadowRoot)===null||w===void 0)&&w.fullscreenElement;)B=B.shadowRoot.fullscreenElement;B===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,le&&le.container&&(le.container instanceof HTMLElement?this._container=le.container:a.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(le){return this._map=le,this._container||(this._container=this._map.getContainer()),this._controlContainer=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),this._controlContainer}onRemove(){c.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let le=this._fullscreenButton=c.create(\"button\",\"maplibregl-ctrl-fullscreen\",this._controlContainer);c.create(\"span\",\"maplibregl-ctrl-icon\",le).setAttribute(\"aria-hidden\",\"true\"),le.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let le=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",le),this._fullscreenButton.title=le}_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 a.k(\"fullscreenstart\")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new a.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()}},i.GeoJSONSource=rt,i.GeolocateControl=class extends a.E{constructor(le){super(),this._onSuccess=w=>{if(this._map){if(this._isOutOfMapMaxBounds(w))return this._setErrorState(),this.fire(new a.k(\"outofmaxbounds\",w)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=w,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&&this._watchState!==\"OFF\"&&this._updateMarker(w),this.options.trackUserLocation&&this._watchState!==\"ACTIVE_LOCK\"||this._updateCamera(w),this.options.showUserLocation&&this._dotElement.classList.remove(\"maplibregl-user-location-dot-stale\"),this.fire(new a.k(\"geolocate\",w)),this._finish()}},this._updateCamera=w=>{let B=new a.N(w.coords.longitude,w.coords.latitude),Q=w.coords.accuracy,ee=this._map.getBearing(),se=a.e({bearing:ee},this.options.fitBoundsOptions),qe=ce.fromLngLat(B,Q);this._map.fitBounds(qe,se,{geolocateSource:!0})},this._updateMarker=w=>{if(w){let B=new a.N(w.coords.longitude,w.coords.latitude);this._accuracyCircleMarker.setLngLat(B).addTo(this._map),this._userLocationDotMarker.setLngLat(B).addTo(this._map),this._accuracy=w.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=w=>{if(this._map){if(this.options.trackUserLocation)if(w.code===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._geolocateButton.disabled=!0;let B=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=B,this._geolocateButton.setAttribute(\"aria-label\",B),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(w.code===3&&Kc)return;this._setErrorState()}this._watchState!==\"OFF\"&&this.options.showUserLocation&&this._dotElement.classList.add(\"maplibregl-user-location-dot-stale\"),this.fire(new a.k(\"error\",w)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener(\"contextmenu\",w=>w.preventDefault()),this._geolocateButton=c.create(\"button\",\"maplibregl-ctrl-geolocate\",this._container),c.create(\"span\",\"maplibregl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",this._geolocateButton.disabled=!0)},this._finishSetupUI=w=>{if(this._map){if(w===!1){a.w(\"Geolocation support is not available so the GeolocateControl will be disabled.\");let B=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=B,this._geolocateButton.setAttribute(\"aria-label\",B)}else{let B=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.disabled=!1,this._geolocateButton.title=B,this._geolocateButton.setAttribute(\"aria-label\",B)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=c.create(\"div\",\"maplibregl-user-location-dot\"),this._userLocationDotMarker=new ac({element:this._dotElement}),this._circleElement=c.create(\"div\",\"maplibregl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new ac({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\",B=>{B.geolocateSource||this._watchState!==\"ACTIVE_LOCK\"||B.originalEvent&&B.originalEvent.type===\"resize\"||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this.fire(new a.k(\"trackuserlocationend\")),this.fire(new a.k(\"userlocationlostfocus\")))})}},this.options=a.e({},mf,le)}onAdd(le){return this._map=le,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),function(){return a._(this,arguments,void 0,function*(w=!1){if(vs!==void 0&&!w)return vs;if(window.navigator.permissions===void 0)return vs=!!window.navigator.geolocation,vs;try{vs=(yield window.navigator.permissions.query({name:\"geolocation\"})).state!==\"denied\"}catch(B){vs=!!window.navigator.geolocation}return vs})}().then(w=>this._finishSetupUI(w)),this._container}onRemove(){this._geolocationWatchID!==void 0&&(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(),c.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,bu=0,Kc=!1}_isOutOfMapMaxBounds(le){let w=this._map.getMaxBounds(),B=le.coords;return w&&(B.longitude<w.getWest()||B.longitude>w.getEast()||B.latitude<w.getSouth()||B.latitude>w.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(){let le=this._map.getBounds(),w=le.getSouthEast(),B=le.getNorthEast(),Q=w.distanceTo(B),ee=Math.ceil(this._accuracy/(Q/this._map._container.clientHeight)*2);this._circleElement.style.width=`${ee}px`,this._circleElement.style.height=`${ee}px`}trigger(){if(!this._setup)return a.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 a.k(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":bu--,Kc=!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 a.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 a.k(\"trackuserlocationstart\")),this.fire(new a.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(this._watchState===\"OFF\"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let le;this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),bu++,bu>1?(le={maximumAge:6e5,timeout:0},Kc=!0):(le=this.options.positionOptions,Kc=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,le)}}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)}},i.Hash=gd,i.ImageSource=Rt,i.KeyboardHandler=Bt,i.LngLatBounds=ce,i.LogoControl=Cn,i.Map=class extends Ta{constructor(le){a.bf.mark(a.bg.create);let w=Object.assign(Object.assign({},Gs),le);if(w.minZoom!=null&&w.maxZoom!=null&&w.minZoom>w.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(w.minPitch!=null&&w.maxPitch!=null&&w.minPitch>w.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(w.minPitch!=null&&w.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(w.maxPitch!=null&&w.maxPitch>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(super(new Qs(w.minZoom,w.maxZoom,w.minPitch,w.maxPitch,w.renderWorldCopies),{bearingSnap:w.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new sn,this._controls=[],this._mapId=a.a4(),this._contextLost=B=>{B.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new a.k(\"webglcontextlost\",{originalEvent:B}))},this._contextRestored=B=>{this._setupPainter(),this.resize(),this._update(),this.fire(new a.k(\"webglcontextrestored\",{originalEvent:B}))},this._onMapScroll=B=>{if(B.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=w.interactive,this._maxTileCacheSize=w.maxTileCacheSize,this._maxTileCacheZoomLevels=w.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=w.failIfMajorPerformanceCaveat===!0,this._preserveDrawingBuffer=w.preserveDrawingBuffer===!0,this._antialias=w.antialias===!0,this._trackResize=w.trackResize===!0,this._bearingSnap=w.bearingSnap,this._refreshExpiredTiles=w.refreshExpiredTiles===!0,this._fadeDuration=w.fadeDuration,this._crossSourceCollisions=w.crossSourceCollisions===!0,this._collectResourceTiming=w.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},Bo),w.locale),this._clickTolerance=w.clickTolerance,this._overridePixelRatio=w.pixelRatio,this._maxCanvasSize=w.maxCanvasSize,this.transformCameraUpdate=w.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=w.cancelPendingTileRequestsWhileZooming===!0,this._imageQueueHandle=p.addThrottleControl(()=>this.isMoving()),this._requestManager=new E(w.transformRequest),typeof w.container==\"string\"){if(this._container=document.getElementById(w.container),!this._container)throw new Error(`Container '${w.container}' not found.`)}else{if(!(w.container instanceof HTMLElement))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=w.container}if(w.maxBounds&&this.setMaxBounds(w.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}),typeof window!=\"undefined\"){addEventListener(\"online\",this._onWindowOnline,!1);let B=!1,Q=Qh(ee=>{this._trackResize&&!this._removed&&(this.resize(ee),this.redraw())},50);this._resizeObserver=new ResizeObserver(ee=>{B?Q(ee):B=!0}),this._resizeObserver.observe(this._container)}this.handlers=new Ma(this,w),this._hash=w.hash&&new gd(typeof w.hash==\"string\"&&w.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:w.center,zoom:w.zoom,bearing:w.bearing,pitch:w.pitch}),w.bounds&&(this.resize(),this.fitBounds(w.bounds,a.e({},w.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=w.localIdeographFontFamily,this._validateStyle=w.validateStyle,w.style&&this.setStyle(w.style,{localIdeographFontFamily:w.localIdeographFontFamily}),w.attributionControl&&this.addControl(new qa(typeof w.attributionControl==\"boolean\"?void 0:w.attributionControl)),w.maplibreLogo&&this.addControl(new Cn,w.logoPosition),this.on(\"style.load\",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on(\"data\",B=>{this._update(B.dataType===\"style\"),this.fire(new a.k(`${B.dataType}data`,B))}),this.on(\"dataloading\",B=>{this.fire(new a.k(`${B.dataType}dataloading`,B))}),this.on(\"dataabort\",B=>{this.fire(new a.k(\"sourcedataabort\",B))})}_getMapId(){return this._mapId}addControl(le,w){if(w===void 0&&(w=le.getDefaultPosition?le.getDefaultPosition():\"top-right\"),!le||!le.onAdd)return this.fire(new a.j(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));let B=le.onAdd(this);this._controls.push(le);let Q=this._controlPositions[w];return w.indexOf(\"bottom\")!==-1?Q.insertBefore(B,Q.firstChild):Q.appendChild(B),this}removeControl(le){if(!le||!le.onRemove)return this.fire(new a.j(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));let w=this._controls.indexOf(le);return w>-1&&this._controls.splice(w,1),le.onRemove(this),this}hasControl(le){return this._controls.indexOf(le)>-1}calculateCameraOptionsFromTo(le,w,B,Q){return Q==null&&this.terrain&&(Q=this.terrain.getElevationForLngLatZoom(B,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(le,w,B,Q)}resize(le){var w;let B=this._containerDimensions(),Q=B[0],ee=B[1],se=this._getClampedPixelRatio(Q,ee);if(this._resizeCanvas(Q,ee,se),this.painter.resize(Q,ee,se),this.painter.overLimit()){let je=this.painter.context.gl;this._maxCanvasSize=[je.drawingBufferWidth,je.drawingBufferHeight];let it=this._getClampedPixelRatio(Q,ee);this._resizeCanvas(Q,ee,it),this.painter.resize(Q,ee,it)}this.transform.resize(Q,ee),(w=this._requestedCameraState)===null||w===void 0||w.resize(Q,ee);let qe=!this._moving;return qe&&(this.stop(),this.fire(new a.k(\"movestart\",le)).fire(new a.k(\"move\",le))),this.fire(new a.k(\"resize\",le)),qe&&this.fire(new a.k(\"moveend\",le)),this}_getClampedPixelRatio(le,w){let{0:B,1:Q}=this._maxCanvasSize,ee=this.getPixelRatio(),se=le*ee,qe=w*ee;return Math.min(se>B?B/se:1,qe>Q?Q/qe:1)*ee}getPixelRatio(){var le;return(le=this._overridePixelRatio)!==null&&le!==void 0?le:devicePixelRatio}setPixelRatio(le){this._overridePixelRatio=le,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(le){return this.transform.setMaxBounds(ce.convert(le)),this._update()}setMinZoom(le){if((le=le==null?-2:le)>=-2&&le<=this.transform.maxZoom)return this.transform.minZoom=le,this._update(),this.getZoom()<le&&this.setZoom(le),this;throw new Error(\"minZoom must be between -2 and the current maxZoom, inclusive\")}getMinZoom(){return this.transform.minZoom}setMaxZoom(le){if((le=le==null?22:le)>=this.transform.minZoom)return this.transform.maxZoom=le,this._update(),this.getZoom()>le&&this.setZoom(le),this;throw new Error(\"maxZoom must be greater than the current minZoom\")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(le){if((le=le==null?0:le)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(le>=0&&le<=this.transform.maxPitch)return this.transform.minPitch=le,this._update(),this.getPitch()<le&&this.setPitch(le),this;throw new Error(\"minPitch must be between 0 and the current maxPitch, inclusive\")}getMinPitch(){return this.transform.minPitch}setMaxPitch(le){if((le=le==null?60:le)>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(le>=this.transform.minPitch)return this.transform.maxPitch=le,this._update(),this.getPitch()>le&&this.setPitch(le),this;throw new Error(\"maxPitch must be greater than the current minPitch\")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(le){return this.transform.renderWorldCopies=le,this._update()}project(le){return this.transform.locationPoint(a.N.convert(le),this.style&&this.terrain)}unproject(le){return this.transform.pointLocation(a.P.convert(le),this.terrain)}isMoving(){var le;return this._moving||((le=this.handlers)===null||le===void 0?void 0:le.isMoving())}isZooming(){var le;return this._zooming||((le=this.handlers)===null||le===void 0?void 0:le.isZooming())}isRotating(){var le;return this._rotating||((le=this.handlers)===null||le===void 0?void 0:le.isRotating())}_createDelegatedListener(le,w,B){if(le===\"mouseenter\"||le===\"mouseover\"){let Q=!1;return{layers:w,listener:B,delegates:{mousemove:se=>{let qe=w.filter(it=>this.getLayer(it)),je=qe.length!==0?this.queryRenderedFeatures(se.point,{layers:qe}):[];je.length?Q||(Q=!0,B.call(this,new ru(le,this,se.originalEvent,{features:je}))):Q=!1},mouseout:()=>{Q=!1}}}}if(le===\"mouseleave\"||le===\"mouseout\"){let Q=!1;return{layers:w,listener:B,delegates:{mousemove:qe=>{let je=w.filter(it=>this.getLayer(it));(je.length!==0?this.queryRenderedFeatures(qe.point,{layers:je}):[]).length?Q=!0:Q&&(Q=!1,B.call(this,new ru(le,this,qe.originalEvent)))},mouseout:qe=>{Q&&(Q=!1,B.call(this,new ru(le,this,qe.originalEvent)))}}}}{let Q=ee=>{let se=w.filter(je=>this.getLayer(je)),qe=se.length!==0?this.queryRenderedFeatures(ee.point,{layers:se}):[];qe.length&&(ee.features=qe,B.call(this,ee),delete ee.features)};return{layers:w,listener:B,delegates:{[le]:Q}}}}_saveDelegatedListener(le,w){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[le]=this._delegatedListeners[le]||[],this._delegatedListeners[le].push(w)}_removeDelegatedListener(le,w,B){if(!this._delegatedListeners||!this._delegatedListeners[le])return;let Q=this._delegatedListeners[le];for(let ee=0;ee<Q.length;ee++){let se=Q[ee];if(se.listener===B&&se.layers.length===w.length&&se.layers.every(qe=>w.includes(qe))){for(let qe in se.delegates)this.off(qe,se.delegates[qe]);return void Q.splice(ee,1)}}}on(le,w,B){if(B===void 0)return super.on(le,w);let Q=this._createDelegatedListener(le,typeof w==\"string\"?[w]:w,B);this._saveDelegatedListener(le,Q);for(let ee in Q.delegates)this.on(ee,Q.delegates[ee]);return this}once(le,w,B){if(B===void 0)return super.once(le,w);let Q=typeof w==\"string\"?[w]:w,ee=this._createDelegatedListener(le,Q,B);for(let se in ee.delegates){let qe=ee.delegates[se];ee.delegates[se]=(...je)=>{this._removeDelegatedListener(le,Q,B),qe(...je)}}this._saveDelegatedListener(le,ee);for(let se in ee.delegates)this.once(se,ee.delegates[se]);return this}off(le,w,B){return B===void 0?super.off(le,w):(this._removeDelegatedListener(le,typeof w==\"string\"?[w]:w,B),this)}queryRenderedFeatures(le,w){if(!this.style)return[];let B,Q=le instanceof a.P||Array.isArray(le),ee=Q?le:[[0,0],[this.transform.width,this.transform.height]];if(w=w||(Q?{}:le)||{},ee instanceof a.P||typeof ee[0]==\"number\")B=[a.P.convert(ee)];else{let se=a.P.convert(ee[0]),qe=a.P.convert(ee[1]);B=[se,new a.P(qe.x,se.y),qe,new a.P(se.x,qe.y),se]}return this.style.queryRenderedFeatures(B,w,this.transform)}querySourceFeatures(le,w){return this.style.querySourceFeatures(le,w)}setStyle(le,w){return(w=a.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},w)).diff!==!1&&w.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&le?(this._diffStyle(le,w),this):(this._localIdeographFontFamily=w.localIdeographFontFamily,this._updateStyle(le,w))}setTransformRequest(le){return this._requestManager.setTransformRequest(le),this}_getUIString(le){let w=this._locale[le];if(w==null)throw new Error(`Missing UI string '${le}'`);return w}_updateStyle(le,w){if(w.transformStyle&&this.style&&!this.style._loaded)return void this.style.once(\"style.load\",()=>this._updateStyle(le,w));let B=this.style&&w.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!le)),le?(this.style=new Ha(this,w||{}),this.style.setEventedParent(this,{style:this.style}),typeof le==\"string\"?this.style.loadURL(le,w,B):this.style.loadJSON(le,w,B),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new Ha(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(le,w){if(typeof le==\"string\"){let B=this._requestManager.transformRequest(le,\"Style\");a.h(B,new AbortController).then(Q=>{this._updateDiff(Q.data,w)}).catch(Q=>{Q&&this.fire(new a.j(Q))})}else typeof le==\"object\"&&this._updateDiff(le,w)}_updateDiff(le,w){try{this.style.setState(le,w)&&this._update(!0)}catch(B){a.w(`Unable to perform style diff: ${B.message||B.error||B}. Rebuilding the style from scratch.`),this._updateStyle(le,w)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():a.w(\"There is no style added to the map.\")}addSource(le,w){return this._lazyInitEmptyStyle(),this.style.addSource(le,w),this._update(!0)}isSourceLoaded(le){let w=this.style&&this.style.sourceCaches[le];if(w!==void 0)return w.loaded();this.fire(new a.j(new Error(`There is no source with ID '${le}'`)))}setTerrain(le){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off(\"data\",this._terrainDataCallback),le){let w=this.style.sourceCaches[le.source];if(!w)throw new Error(`cannot load terrain, because there exists no source with ID: ${le.source}`);this.terrain===null&&w.reload();for(let B in this.style._layers){let Q=this.style._layers[B];Q.type===\"hillshade\"&&Q.source===le.source&&a.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 Xo(this.painter,w,le),this.painter.renderToTexture=new ys(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=B=>{B.dataType===\"style\"?this.terrain.sourceCache.freeRtt():B.dataType===\"source\"&&B.tile&&(B.sourceId!==le.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(B.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 a.k(\"terrain\",{terrain:le})),this}getTerrain(){var le,w;return(w=(le=this.terrain)===null||le===void 0?void 0:le.options)!==null&&w!==void 0?w:null}areTilesLoaded(){let le=this.style&&this.style.sourceCaches;for(let w in le){let B=le[w]._tiles;for(let Q in B){let ee=B[Q];if(ee.state!==\"loaded\"&&ee.state!==\"errored\")return!1}}return!0}removeSource(le){return this.style.removeSource(le),this._update(!0)}getSource(le){return this.style.getSource(le)}addImage(le,w,B={}){let{pixelRatio:Q=1,sdf:ee=!1,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt}=B;if(this._lazyInitEmptyStyle(),!(w instanceof HTMLImageElement||a.b(w))){if(w.width===void 0||w.height===void 0)return this.fire(new a.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`\")));{let{width:Ot,height:Nt,data:hr}=w,Sr=w;return this.style.addImage(le,{data:new a.R({width:Ot,height:Nt},new Uint8Array(hr)),pixelRatio:Q,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt,sdf:ee,version:0,userImage:Sr}),Sr.onAdd&&Sr.onAdd(this,le),this}}{let{width:Ot,height:Nt,data:hr}=u.getImageData(w);this.style.addImage(le,{data:new a.R({width:Ot,height:Nt},hr),pixelRatio:Q,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt,sdf:ee,version:0})}}updateImage(le,w){let B=this.style.getImage(le);if(!B)return this.fire(new a.j(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));let Q=w instanceof HTMLImageElement||a.b(w)?u.getImageData(w):w,{width:ee,height:se,data:qe}=Q;if(ee===void 0||se===void 0)return this.fire(new a.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(ee!==B.data.width||se!==B.data.height)return this.fire(new a.j(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));let je=!(w instanceof HTMLImageElement||a.b(w));return B.data.replace(qe,je),this.style.updateImage(le,B),this}getImage(le){return this.style.getImage(le)}hasImage(le){return le?!!this.style.getImage(le):(this.fire(new a.j(new Error(\"Missing required image id\"))),!1)}removeImage(le){this.style.removeImage(le)}loadImage(le){return p.getImage(this._requestManager.transformRequest(le,\"Image\"),new AbortController)}listImages(){return this.style.listImages()}addLayer(le,w){return this._lazyInitEmptyStyle(),this.style.addLayer(le,w),this._update(!0)}moveLayer(le,w){return this.style.moveLayer(le,w),this._update(!0)}removeLayer(le){return this.style.removeLayer(le),this._update(!0)}getLayer(le){return this.style.getLayer(le)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(le,w,B){return this.style.setLayerZoomRange(le,w,B),this._update(!0)}setFilter(le,w,B={}){return this.style.setFilter(le,w,B),this._update(!0)}getFilter(le){return this.style.getFilter(le)}setPaintProperty(le,w,B,Q={}){return this.style.setPaintProperty(le,w,B,Q),this._update(!0)}getPaintProperty(le,w){return this.style.getPaintProperty(le,w)}setLayoutProperty(le,w,B,Q={}){return this.style.setLayoutProperty(le,w,B,Q),this._update(!0)}getLayoutProperty(le,w){return this.style.getLayoutProperty(le,w)}setGlyphs(le,w={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(le,w),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(le,w,B={}){return this._lazyInitEmptyStyle(),this.style.addSprite(le,w,B,Q=>{Q||this._update(!0)}),this}removeSprite(le){return this._lazyInitEmptyStyle(),this.style.removeSprite(le),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(le,w={}){return this._lazyInitEmptyStyle(),this.style.setSprite(le,w,B=>{B||this._update(!0)}),this}setLight(le,w={}){return this._lazyInitEmptyStyle(),this.style.setLight(le,w),this._update(!0)}getLight(){return this.style.getLight()}setSky(le){return this._lazyInitEmptyStyle(),this.style.setSky(le),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(le,w){return this.style.setFeatureState(le,w),this._update()}removeFeatureState(le,w){return this.style.removeFeatureState(le,w),this._update()}getFeatureState(le){return this.style.getFeatureState(le)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let le=0,w=0;return this._container&&(le=this._container.clientWidth||400,w=this._container.clientHeight||300),[le,w]}_setupContainer(){let le=this._container;le.classList.add(\"maplibregl-map\");let w=this._canvasContainer=c.create(\"div\",\"maplibregl-canvas-container\",le);this._interactive&&w.classList.add(\"maplibregl-interactive\"),this._canvas=c.create(\"canvas\",\"maplibregl-canvas\",w),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\");let B=this._containerDimensions(),Q=this._getClampedPixelRatio(B[0],B[1]);this._resizeCanvas(B[0],B[1],Q);let ee=this._controlContainer=c.create(\"div\",\"maplibregl-control-container\",le),se=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(qe=>{se[qe]=c.create(\"div\",`maplibregl-ctrl-${qe} `,ee)}),this._container.addEventListener(\"scroll\",this._onMapScroll,!1)}_resizeCanvas(le,w,B){this._canvas.width=Math.floor(B*le),this._canvas.height=Math.floor(B*w),this._canvas.style.width=`${le}px`,this._canvas.style.height=`${w}px`}_setupPainter(){let le={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},w=null;this._canvas.addEventListener(\"webglcontextcreationerror\",Q=>{w={requestedAttributes:le},Q&&(w.statusMessage=Q.statusMessage,w.type=Q.type)},{once:!0});let B=this._canvas.getContext(\"webgl2\",le)||this._canvas.getContext(\"webgl\",le);if(!B){let Q=\"Failed to initialize WebGL\";throw w?(w.message=Q,new Error(JSON.stringify(w))):new Error(Q)}this.painter=new Lc(B,this.transform),f.testSupport(B)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(le){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||le,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(le){return this._update(),this._renderTaskQueue.add(le)}_cancelRenderFrame(le){this._renderTaskQueue.remove(le)}_render(le){let w=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(le),this._removed)return;let B=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let ee=this.transform.zoom,se=u.now();this.style.zoomHistory.update(ee,se);let qe=new a.z(ee,{now:se,fadeDuration:w,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),je=qe.crossFadingFactor();je===1&&je===this._crossFadingFactor||(B=!0,this._crossFadingFactor=je),this.style.update(qe)}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,w,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:w,showPadding:this.showPadding}),this.fire(new a.k(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,a.bf.mark(a.bg.load),this.fire(new a.k(\"load\"))),this.style&&(this.style.hasTransitions()||B)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let Q=this._sourcesDirty||this._styleDirty||this._placementDirty;return Q||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new a.k(\"idle\")),!this._loaded||this._fullyLoaded||Q||(this._fullyLoaded=!0,a.bf.mark(a.bg.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var le;this._hash&&this._hash.remove();for(let B of this._controls)B.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),typeof window!=\"undefined\"&&removeEventListener(\"online\",this._onWindowOnline,!1),p.removeThrottleControl(this._imageQueueHandle),(le=this._resizeObserver)===null||le===void 0||le.disconnect();let w=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");w!=null&&w.loseContext&&w.loseContext(),this._canvas.removeEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.removeEventListener(\"webglcontextlost\",this._contextLost,!1),c.remove(this._canvasContainer),c.remove(this._controlContainer),this._container.classList.remove(\"maplibregl-map\"),a.bf.clearMetrics(),this._removed=!0,this.fire(new a.k(\"remove\"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then(le=>{a.bf.frame(le),this._frameRequest=null,this._render(le)}).catch(()=>{}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(le){this._showTileBoundaries!==le&&(this._showTileBoundaries=le,this._update())}get showPadding(){return!!this._showPadding}set showPadding(le){this._showPadding!==le&&(this._showPadding=le,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(le){this._showCollisionBoxes!==le&&(this._showCollisionBoxes=le,le?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(le){this._showOverdrawInspector!==le&&(this._showOverdrawInspector=le,this._update())}get repaint(){return!!this._repaint}set repaint(le){this._repaint!==le&&(this._repaint=le,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(le){this._vertices=le,this._update()}get version(){return yl}getCameraTargetElevation(){return this.transform.elevation}},i.MapMouseEvent=ru,i.MapTouchEvent=vf,i.MapWheelEvent=md,i.Marker=ac,i.NavigationControl=class{constructor(le){this._updateZoomButtons=()=>{let w=this._map.getZoom(),B=w===this._map.getMaxZoom(),Q=w===this._map.getMinZoom();this._zoomInButton.disabled=B,this._zoomOutButton.disabled=Q,this._zoomInButton.setAttribute(\"aria-disabled\",B.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",Q.toString())},this._rotateCompassArrow=()=>{let w=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=w},this._setButtonTitle=(w,B)=>{let Q=this._map._getUIString(`NavigationControl.${B}`);w.title=Q,w.setAttribute(\"aria-label\",Q)},this.options=a.e({},ia,le),this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",w=>w.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton(\"maplibregl-ctrl-zoom-in\",w=>this._map.zoomIn({},{originalEvent:w})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",\"true\"),this._zoomOutButton=this._createButton(\"maplibregl-ctrl-zoom-out\",w=>this._map.zoomOut({},{originalEvent:w})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",\"true\")),this.options.showCompass&&(this._compass=this._createButton(\"maplibregl-ctrl-compass\",w=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:w}):this._map.resetNorth({},{originalEvent:w})}),this._compassIcon=c.create(\"span\",\"maplibregl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",\"true\"))}onAdd(le){return this._map=le,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 Ka(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){c.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(le,w){let B=c.create(\"button\",le,this._container);return B.type=\"button\",B.addEventListener(\"click\",w),B}},i.Popup=class extends a.E{constructor(le){super(),this.remove=()=>(this._content&&c.remove(this._content),this._container&&(c.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 a.k(\"close\"))),this),this._onMouseUp=w=>{this._update(w.point)},this._onMouseMove=w=>{this._update(w.point)},this._onDrag=w=>{this._update(w.point)},this._update=w=>{var B;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=c.create(\"div\",\"maplibregl-popup\",this._map.getContainer()),this._tip=c.create(\"div\",\"maplibregl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className)for(let je of this.options.className.split(\" \"))this._container.classList.add(je);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._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?Ko(this._lngLat,this._flatPos,this._map.transform):(B=this._lngLat)===null||B===void 0?void 0:B.wrap(),this._trackPointer&&!w)return;let Q=this._flatPos=this._pos=this._trackPointer&&w?w:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&w?w:this._map.transform.locationPoint(this._lngLat));let ee=this.options.anchor,se=yc(this.options.offset);if(!ee){let je=this._container.offsetWidth,it=this._container.offsetHeight,yt;yt=Q.y+se.bottom.y<it?[\"top\"]:Q.y>this._map.transform.height-it?[\"bottom\"]:[],Q.x<je/2?yt.push(\"left\"):Q.x>this._map.transform.width-je/2&&yt.push(\"right\"),ee=yt.length===0?\"bottom\":yt.join(\"-\")}let qe=Q.add(se[ee]);this.options.subpixelPositioning||(qe=qe.round()),c.setTransform(this._container,`${nu[ee]} translate(${qe.x}px,${qe.y}px)`),Ru(this._container,ee,\"popup\")},this._onClose=()=>{this.remove()},this.options=a.e(Object.create(eo),le)}addTo(le){return this._map&&this.remove(),this._map=le,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 a.k(\"open\")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(le){return this._lngLat=a.N.convert(le),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(le){return this.setDOMContent(document.createTextNode(le))}setHTML(le){let w=document.createDocumentFragment(),B=document.createElement(\"body\"),Q;for(B.innerHTML=le;Q=B.firstChild,Q;)w.appendChild(Q);return this.setDOMContent(w)}getMaxWidth(){var le;return(le=this._container)===null||le===void 0?void 0:le.style.maxWidth}setMaxWidth(le){return this.options.maxWidth=le,this._update(),this}setDOMContent(le){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=c.create(\"div\",\"maplibregl-popup-content\",this._container);return this._content.appendChild(le),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(le){return this._container&&this._container.classList.add(le),this}removeClassName(le){return this._container&&this._container.classList.remove(le),this}setOffset(le){return this.options.offset=le,this._update(),this}toggleClassName(le){if(this._container)return this._container.classList.toggle(le)}setSubpixelPositioning(le){this.options.subpixelPositioning=le}_createCloseButton(){this.options.closeButton&&(this._closeButton=c.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;let le=this._container.querySelector(Jc);le&&le.focus()}},i.RasterDEMTileSource=qt,i.RasterTileSource=ct,i.ScaleControl=class{constructor(le){this._onMove=()=>{Dc(this._map,this._container,this.options)},this.setUnit=w=>{this.options.unit=w,Dc(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},Du),le)}getDefaultPosition(){return\"bottom-left\"}onAdd(le){return this._map=le,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-scale\",le.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container}onRemove(){c.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0}},i.ScrollZoomHandler=Ur,i.Style=Ha,i.TerrainControl=class{constructor(le){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=le}onAdd(le){return this._map=le,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._terrainButton=c.create(\"button\",\"maplibregl-ctrl-terrain\",this._container),c.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(){c.remove(this._container),this._map.off(\"terrain\",this._updateTerrainIcon),this._map=void 0}},i.TwoFingersTouchPitchHandler=gf,i.TwoFingersTouchRotateHandler=Yc,i.TwoFingersTouchZoomHandler=iu,i.TwoFingersTouchZoomRotateHandler=Ti,i.VectorTileSource=nt,i.VideoSource=kt,i.addSourceType=(le,w)=>a._(void 0,void 0,void 0,function*(){if(xr(le))throw new Error(`A source type called \"${le}\" already exists.`);((B,Q)=>{Yt[B]=Q})(le,w)}),i.clearPrewarmedResources=function(){let le=ge;le&&(le.isPreloaded()&&le.numActive()===1?(le.release(_e),ge=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()\"))},i.getMaxParallelImageRequests=function(){return a.a.MAX_PARALLEL_IMAGE_REQUESTS},i.getRTLTextPluginStatus=function(){return bt().getRTLTextPluginStatus()},i.getVersion=function(){return _c},i.getWorkerCount=function(){return Me.workerCount},i.getWorkerUrl=function(){return a.a.WORKER_URL},i.importScriptInWorkers=function(le){return Ae().broadcast(\"IS\",le)},i.prewarm=function(){Te().acquire(_e)},i.setMaxParallelImageRequests=function(le){a.a.MAX_PARALLEL_IMAGE_REQUESTS=le},i.setRTLTextPlugin=function(le,w){return bt().setRTLTextPlugin(le,w)},i.setWorkerCount=function(le){Me.workerCount=le},i.setWorkerUrl=function(le){a.a.WORKER_URL=le}});var n=e;return n})});var KHe=ye((Z1r,YHe)=>{\"use strict\";var iw=Mr(),gjt=Pl().sanitizeHTML,mjt=fJ(),WHe=wx();function ZHe(e,t){this.subplot=e,this.uid=e.uid+\"-\"+t,this.index=t,this.idSource=\"source-\"+this.uid,this.idLayer=WHe.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var ag=ZHe.prototype;ag.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=n7(t)};ag.needsNewImage=function(e){var t=this.subplot.map;return t.getSource(this.idSource)&&this.sourceType===\"image\"&&e.sourcetype===\"image\"&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))};ag.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type};ag.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]};ag.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]};ag.updateImage=function(e){var t=this.subplot.map;t.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var r=this.findFollowingMapLayerId(this.lookupBelow());r!==null&&this.subplot.map.moveLayer(this.idLayer,r)};ag.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,!!n7(e)){var r=yjt(e);t.addSource(this.idSource,r)}};ag.findFollowingMapLayerId=function(e){if(e===\"traces\")for(var t=this.subplot.getMapLayers(),r=0;r<t.length;r++){var n=t[r].id;if(typeof n==\"string\"&&n.indexOf(WHe.traceLayerPrefix)===0){e=n;break}}return e};ag.updateLayer=function(e){var t=this.subplot,r=XHe(e),n=this.lookupBelow(),i=this.findFollowingMapLayerId(n);this.removeLayer(),n7(e)&&t.addLayer({id:this.idLayer,source:this.idSource,\"source-layer\":e.sourcelayer||\"\",type:e.type,minzoom:e.minzoom,maxzoom:e.maxzoom,layout:r.layout,paint:r.paint},i),this.layerType=e.type,this.below=n};ag.updateStyle=function(e){if(n7(e)){var t=XHe(e);this.subplot.setOptions(this.idLayer,\"setLayoutProperty\",t.layout),this.subplot.setOptions(this.idLayer,\"setPaintProperty\",t.paint)}};ag.removeLayer=function(){var e=this.subplot.map;e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer)};ag.dispose=function(){var e=this.subplot.map;e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer),e.getSource(this.idSource)&&e.removeSource(this.idSource)};function n7(e){if(!e.visible)return!1;var t=e.source;if(Array.isArray(t)&&t.length>0){for(var r=0;r<t.length;r++)if(typeof t[r]!=\"string\"||t[r].length===0)return!1;return!0}return iw.isPlainObject(t)||typeof t==\"string\"&&t.length>0}function XHe(e){var t={},r={};switch(e.type){case\"circle\":iw.extendFlat(r,{\"circle-radius\":e.circle.radius,\"circle-color\":e.color,\"circle-opacity\":e.opacity});break;case\"line\":iw.extendFlat(r,{\"line-width\":e.line.width,\"line-color\":e.color,\"line-opacity\":e.opacity,\"line-dasharray\":e.line.dash});break;case\"fill\":iw.extendFlat(r,{\"fill-color\":e.color,\"fill-outline-color\":e.fill.outlinecolor,\"fill-opacity\":e.opacity});break;case\"symbol\":var n=e.symbol,i=mjt(n.textposition,n.iconsize);iw.extendFlat(t,{\"icon-image\":n.icon+\"-15\",\"icon-size\":n.iconsize/10,\"text-field\":n.text,\"text-size\":n.textfont.size,\"text-anchor\":i.anchor,\"text-offset\":i.offset,\"symbol-placement\":n.placement}),iw.extendFlat(r,{\"icon-color\":e.color,\"text-color\":n.textfont.color,\"text-opacity\":e.opacity});break;case\"raster\":iw.extendFlat(r,{\"raster-fade-duration\":0,\"raster-opacity\":e.opacity});break}return{layout:t,paint:r}}function yjt(e){var t=e.sourcetype,r=e.source,n={type:t},i;return t===\"geojson\"?i=\"data\":t===\"vector\"?i=typeof r==\"string\"?\"url\":\"tiles\":t===\"raster\"?(i=\"tiles\",n.tileSize=256):t===\"image\"&&(i=\"url\",n.coordinates=e.coordinates),n[i]=r,e.sourceattribution&&(n.attribution=gjt(e.sourceattribution)),n}YHe.exports=function(t,r,n){var i=new ZHe(t,r);return i.update(n),i}});var nGe=ye((X1r,iGe)=>{\"use strict\";var mJ=jHe(),yJ=Mr(),QHe=nx(),JHe=ba(),_jt=Qa(),xjt=gv(),a7=Nc(),eGe=Sg(),bjt=eGe.drawMode,wjt=eGe.selectMode,Tjt=wf().prepSelect,Ajt=wf().clearOutline,Sjt=wf().clearSelectionsCache,Mjt=wf().selectOnClick,nw=wx(),Ejt=KHe();function tGe(e,t){this.id=t,this.gd=e;var r=e._fullLayout,n=e._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+\"-\"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var Sh=tGe.prototype;Sh.plot=function(e,t,r){var n=this,i;n.map?i=new Promise(function(a,o){n.updateMap(e,t,a,o)}):i=new Promise(function(a,o){n.createMap(e,t,a,o)}),r.push(i)};Sh.createMap=function(e,t,r,n){var i=this,a=t[i.id],o=i.styleObj=rGe(a.style),s=a.bounds,l=s?[[s.west,s.south],[s.east,s.north]]:null,u=i.map=new mJ.Map({container:i.div,style:o.style,center:_J(a.center),zoom:a.zoom,bearing:a.bearing,pitch:a.pitch,maxBounds:l,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new mJ.AttributionControl({compact:!0})),c={};u.on(\"styleimagemissing\",function(h){var d=h.id;if(!c[d]&&d.includes(\"-15\")){c[d]=!0;var v=new Image(15,15);v.onload=function(){u.addImage(d,v)},v.crossOrigin=\"Anonymous\",v.src=\"https://unpkg.com/maki@2.1.0/icons/\"+d+\".svg\"}}),u.setTransformRequest(function(h){return h=h.replace(\"https://fonts.openmaptiles.org/Open Sans Extrabold\",\"https://fonts.openmaptiles.org/Open Sans Extra Bold\"),h=h.replace(\"https://tiles.basemaps.cartocdn.com/fonts/Open Sans Extrabold\",\"https://fonts.openmaptiles.org/Open Sans Extra Bold\"),h=h.replace(\"https://fonts.openmaptiles.org/Open Sans Regular,Arial Unicode MS Regular\",\"https://fonts.openmaptiles.org/Klokantech Noto Sans Regular\"),{url:h}}),u._canvas.style.left=\"0px\",u._canvas.style.top=\"0px\",i.rejectOnError(n),i.isStatic||i.initFx(e,t);var f=[];f.push(new Promise(function(h){u.once(\"load\",h)})),f=f.concat(QHe.fetchTraceGeoData(e)),Promise.all(f).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Sh.updateMap=function(e,t,r,n){var i=this,a=i.map,o=t[this.id];i.rejectOnError(n);var s=[],l=rGe(o.style);JSON.stringify(i.styleObj)!==JSON.stringify(l)&&(i.styleObj=l,a.setStyle(l.style),i.traceHash={},s.push(new Promise(function(u){a.once(\"styledata\",u)}))),s=s.concat(QHe.fetchTraceGeoData(e)),Promise.all(s).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Sh.fillBelowLookup=function(e,t){var r=t[this.id],n=r.layers,i,a,o=this.belowLookup={},s=!1;for(i=0;i<e.length;i++){var l=e[i][0].trace,u=l._module;typeof l.below==\"string\"?a=l.below:u.getBelow&&(a=u.getBelow(l,this)),a===\"\"&&(s=!0),o[\"trace-\"+l.uid]=a||\"\"}for(i=0;i<n.length;i++){var c=n[i];typeof c.below==\"string\"?a=c.below:s?a=\"traces\":a=\"\",o[\"layout-\"+i]=a}var f={},h,d;for(h in o)a=o[h],f[a]?f[a].push(h):f[a]=[h];for(a in f){var v=f[a];if(v.length>1)for(i=0;i<v.length;i++)h=v[i],h.indexOf(\"trace-\")===0?(d=h.split(\"trace-\")[1],this.traceHash[d]&&(this.traceHash[d].below=null)):h.indexOf(\"layout-\")===0&&(d=h.split(\"layout-\")[1],this.layerList[d]&&(this.layerList[d].below=null))}};var $He={choroplethmap:0,densitymap:1,scattermap:2};Sh.updateData=function(e){var t=this.traceHash,r,n,i,a,o=e.slice().sort(function(f,h){return $He[f[0].trace.type]-$He[h[0].trace.type]});for(i=0;i<o.length;i++){var s=o[i];n=s[0].trace,r=t[n.uid];var l=!1;r&&(r.type===n.type?(r.update(s),l=!0):r.dispose()),!l&&n._module&&(t[n.uid]=n._module.plot(this,s))}var u=Object.keys(t);e:for(i=0;i<u.length;i++){var c=u[i];for(a=0;a<e.length;a++)if(n=e[a][0].trace,c===n.uid)continue e;r=t[c],r.dispose(),delete t[c]}};Sh.updateLayout=function(e){var t=this.map,r=e[this.id];!this.dragging&&!this.wheeling&&(t.setCenter(_J(r.center)),t.setZoom(r.zoom),t.setBearing(r.bearing),t.setPitch(r.pitch)),this.updateLayers(e),this.updateFramework(e),this.updateFx(e),this.map.resize(),this.gd._context._scrollZoom.map?t.scrollZoom.enable():t.scrollZoom.disable()};Sh.resolveOnRender=function(e){var t=this.map;t.on(\"render\",function r(){t.loaded()&&(t.off(\"render\",r),setTimeout(e,10))})};Sh.rejectOnError=function(e){var t=this.map;function r(){e(new Error(nw.mapOnErrorMsg))}t.once(\"error\",r),t.once(\"style.error\",r),t.once(\"source.error\",r),t.once(\"tile.error\",r),t.once(\"layer.error\",r)};Sh.createFramework=function(e){var t=this,r=t.div=document.createElement(\"div\");r.id=t.uid,r.style.position=\"absolute\",t.container.appendChild(r),t.xaxis={_id:\"x\",c2p:function(n){return t.project(n).x}},t.yaxis={_id:\"y\",c2p:function(n){return t.project(n).y}},t.updateFramework(e),t.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},_jt.setConvert(t.mockAxis,e)};Sh.initFx=function(e,t){var r=this,n=r.gd,i=r.map;i.on(\"moveend\",function(s){if(r.map){var l=n._fullLayout;if(s.originalEvent||r.wheeling){var u=l[r.id];JHe.call(\"_storeDirectGUIEdit\",n.layout,l._preGUI,r.getViewEdits(u));var c=r.getView();u._input.center=u.center=c.center,u._input.zoom=u.zoom=c.zoom,u._input.bearing=u.bearing=c.bearing,u._input.pitch=u.pitch=c.pitch,n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(c))}s.originalEvent&&s.originalEvent.type===\"mouseup\"?r.dragging=!1:r.wheeling&&(r.wheeling=!1),l&&l._rehover&&l._rehover()}}),i.on(\"wheel\",function(){r.wheeling=!0}),i.on(\"mousemove\",function(s){var l=r.div.getBoundingClientRect(),u=[s.originalEvent.offsetX,s.originalEvent.offsetY];s.target.getBoundingClientRect=function(){return l},r.xaxis.p2c=function(){return i.unproject(u).lng},r.yaxis.p2c=function(){return i.unproject(u).lat},n._fullLayout._rehover=function(){n._fullLayout._hoversubplot===r.id&&n._fullLayout[r.id]&&a7.hover(n,s,r.id)},a7.hover(n,s,r.id),n._fullLayout._hoversubplot=r.id});function a(){a7.loneUnhover(t._hoverlayer)}i.on(\"dragstart\",function(){r.dragging=!0,a()}),i.on(\"zoomstart\",a),i.on(\"mouseout\",function(){n._fullLayout._hoversubplot=null});function o(){var s=r.getView();n.emit(\"plotly_relayouting\",r.getViewEditsWithDerived(s))}i.on(\"drag\",o),i.on(\"zoom\",o),i.on(\"dblclick\",function(){var s=n._fullLayout[r.id];JHe.call(\"_storeDirectGUIEdit\",n.layout,n._fullLayout._preGUI,r.getViewEdits(s));var l=r.viewInitial;i.setCenter(_J(l.center)),i.setZoom(l.zoom),i.setBearing(l.bearing),i.setPitch(l.pitch);var u=r.getView();s._input.center=s.center=u.center,s._input.zoom=s.zoom=u.zoom,s._input.bearing=s.bearing=u.bearing,s._input.pitch=s.pitch=u.pitch,n.emit(\"plotly_doubleclick\",null),n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(u))}),r.clearOutline=function(){Sjt(r.dragOptions),Ajt(r.dragOptions.gd)},r.onClickInPanFn=function(s){return function(l){var u=n._fullLayout.clickmode;u.indexOf(\"select\")>-1&&Mjt(l.originalEvent,n,[r.xaxis],[r.yaxis],r.id,s),u.indexOf(\"event\")>-1&&a7.click(n,l.originalEvent)}}};Sh.updateFx=function(e){var t=this,r=t.map,n=t.gd;if(t.isStatic)return;function i(l){var u=t.map.unproject(l);return[u.lng,u.lat]}var a=e.dragmode,o;o=function(l,u){if(u.isRect){var c=l.range={};c[t.id]=[i([u.xmin,u.ymin]),i([u.xmax,u.ymax])]}else{var f=l.lassoPoints={};f[t.id]=u.map(i)}};var s=t.dragOptions;t.dragOptions=yJ.extendDeep(s||{},{dragmode:e.dragmode,element:t.div,gd:n,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:o},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off(\"click\",t.onClickInPanHandler),wjt(a)||bjt(a)?(r.dragPan.disable(),r.on(\"zoomstart\",t.clearOutline),t.dragOptions.prepFn=function(l,u,c){Tjt(l,u,c,t.dragOptions,a)},xjt.init(t.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener(\"touchstart\",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on(\"click\",t.onClickInPanHandler))};Sh.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+\"px\",n.height=r.h*(t.y[1]-t.y[0])+\"px\",n.left=r.l+t.x[0]*r.w+\"px\",n.top=r.t+(1-t.y[1])*r.h+\"px\",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])};Sh.updateLayers=function(e){var t=e[this.id],r=t.layers,n=this.layerList,i;if(r.length!==n.length){for(i=0;i<n.length;i++)n[i].dispose();for(n=this.layerList=[],i=0;i<r.length;i++)n.push(Ejt(this,i,r[i]))}else for(i=0;i<r.length;i++)n[i].update(r[i])};Sh.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))};Sh.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()};Sh.setOptions=function(e,t,r){for(var n in r)this.map[t](e,n,r[n])};Sh.getMapLayers=function(){return this.map.getStyle().layers};Sh.addLayer=function(e,t){var r=this.map;if(typeof t==\"string\"){if(t===\"\"){r.addLayer(e,t);return}for(var n=this.getMapLayers(),i=0;i<n.length;i++)if(t===n[i].id){r.addLayer(e,t);return}yJ.warn([\"Trying to add layer with *below* value\",t,\"referencing a layer that does not exist\",\"or that does not yet exist.\"].join(\" \"))}r.addLayer(e)};Sh.project=function(e){return this.map.project(new mJ.LngLat(e[0],e[1]))};Sh.getView=function(){var e=this.map,t=e.getCenter(),r=t.lng,n=t.lat,i={lon:r,lat:n},a=e.getCanvas(),o=parseInt(a.style.width),s=parseInt(a.style.height);return{center:i,zoom:e.getZoom(),bearing:e.getBearing(),pitch:e.getPitch(),_derived:{coordinates:[e.unproject([0,0]).toArray(),e.unproject([o,0]).toArray(),e.unproject([o,s]).toArray(),e.unproject([0,s]).toArray()]}}};Sh.getViewEdits=function(e){for(var t=this.id,r=[\"center\",\"zoom\",\"bearing\",\"pitch\"],n={},i=0;i<r.length;i++){var a=r[i];n[t+\".\"+a]=e[a]}return n};Sh.getViewEditsWithDerived=function(e){var t=this.id,r=this.getViewEdits(e);return r[t+\"._derived\"]=e._derived,r};function rGe(e){var t={};return yJ.isPlainObject(e)?(t.id=e.id,t.style=e):typeof e==\"string\"?(t.id=e,nw.stylesMap[e]?t.style=nw.stylesMap[e]:t.style=e):(t.id=nw.styleValueDflt,t.style=kjt(nw.styleValueDflt)),t.transition={duration:0,delay:0},t}function kjt(e){return nw.styleUrlPrefix+e+\"-\"+nw.styleUrlSuffix}function _J(e){return[e.lon,e.lat]}iGe.exports=tGe});var sGe=ye((Y1r,oGe)=>{\"use strict\";var xJ=Mr(),Cjt=C_(),Ljt=Zd(),aGe=Ok();oGe.exports=function(t,r,n){Cjt(t,r,n,{type:\"map\",attributes:aGe,handleDefaults:Pjt,partition:\"y\"})};function Pjt(e,t,r){r(\"style\"),r(\"center.lon\"),r(\"center.lat\"),r(\"zoom\"),r(\"bearing\"),r(\"pitch\");var n=r(\"bounds.west\"),i=r(\"bounds.east\"),a=r(\"bounds.south\"),o=r(\"bounds.north\");(n===void 0||i===void 0||a===void 0||o===void 0)&&delete t.bounds,Ljt(e,t,{name:\"layers\",handleItemDefaults:Ijt}),t._input=e}function Ijt(e,t){function r(l,u){return xJ.coerce(e,t,aGe.layers,l,u)}var n=r(\"visible\");if(n){var i=r(\"sourcetype\"),a=i===\"raster\"||i===\"image\";r(\"source\"),r(\"sourceattribution\"),i===\"vector\"&&r(\"sourcelayer\"),i===\"image\"&&r(\"coordinates\");var o;a&&(o=\"raster\");var s=r(\"type\",o);a&&s!==\"raster\"&&(s=t.type=\"raster\",xJ.log(\"Source types *raster* and *image* must drawn *raster* layer type.\")),r(\"below\"),r(\"color\"),r(\"opacity\"),r(\"minzoom\"),r(\"maxzoom\"),s===\"circle\"&&r(\"circle.radius\"),s===\"line\"&&(r(\"line.width\"),r(\"line.dash\")),s===\"fill\"&&r(\"fill.outlinecolor\"),s===\"symbol\"&&(r(\"symbol.icon\"),r(\"symbol.iconsize\"),r(\"symbol.text\"),xJ.coerceFont(r,\"symbol.textfont\",void 0,{noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}),r(\"symbol.textposition\"),r(\"symbol.placement\"))}}});var s7=ye(l0=>{\"use strict\";var o7=Mr(),lGe=o7.strTranslate,Rjt=o7.strScale,Djt=kd().getSubplotCalcData,zjt=Zp(),Fjt=xa(),uGe=ao(),qjt=Pl(),Ojt=nGe(),Tx=\"map\";l0.name=Tx;l0.attr=\"subplot\";l0.idRoot=Tx;l0.idRegex=l0.attrRegex=o7.counterRegex(Tx);l0.attributes={subplot:{valType:\"subplotid\",dflt:\"map\",editType:\"calc\"}};l0.layoutAttributes=Ok();l0.supplyLayoutDefaults=sGe();l0.plot=function(t){for(var r=t._fullLayout,n=t.calcdata,i=r._subplots[Tx],a=0;a<i.length;a++){var o=i[a],s=Djt(n,Tx,o),l=r[o],u=l._subplot;u||(u=new Ojt(t,o),r[o]._subplot=u),u.viewInitial||(u.viewInitial={center:o7.extendFlat({},l.center),zoom:l.zoom,bearing:l.bearing,pitch:l.pitch}),u.plot(s,r,t._promises)}};l0.clean=function(e,t,r,n){for(var i=n._subplots[Tx]||[],a=0;a<i.length;a++){var o=i[a];!t[o]&&n[o]._subplot&&n[o]._subplot.destroy()}};l0.toSVG=function(e){for(var t=e._fullLayout,r=t._subplots[Tx],n=t._size,i=0;i<r.length;i++){var a=t[r[i]],o=a.domain,s=a._subplot,l=s.toImage(\"png\"),u=t._glimages.append(\"svg:image\");u.attr({xmlns:zjt.svg,\"xlink:href\":l,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"});var c=Fjt.select(a._subplot.div),f=c.select(\".maplibregl-ctrl-attrib\").text().replace(\"Improve this map\",\"\"),h=t._glimages.append(\"g\"),d=h.append(\"text\");d.text(f).classed(\"static-attribution\",!0).attr({\"font-size\":12,\"font-family\":\"Arial\",color:\"rgba(0, 0, 0, 0.75)\",\"text-anchor\":\"end\",\"data-unformatted\":f});var v=uGe.bBox(d.node()),x=n.w*(o.x[1]-o.x[0]);if(v.width>x/2){var b=f.split(\"|\").join(\"<br>\");d.text(b).attr(\"data-unformatted\",b).call(qjt.convertToTspans,e),v=uGe.bBox(d.node())}d.attr(\"transform\",lGe(-3,-v.height+8)),h.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 p=1;v.width+6>x&&(p=x/(v.width+6));var E=[n.l+n.w*o.x[1],n.t+n.h*(1-o.y[0])];h.attr(\"transform\",lGe(E[0],E[1])+Rjt(p))}};l0.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[Tx],n=0;n<r.length;n++){var i=t[r[n]]._subplot;i.updateFx(t)}}});var fGe=ye((J1r,cGe)=>{\"use strict\";cGe.exports={attributes:$F(),supplyDefaults:THe(),colorbar:Kd(),formatLabels:cJ(),calc:lz(),plot:qHe(),hoverPoints:i7().hoverPoints,eventData:UHe(),selectPoints:HHe(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.update(t)}},moduleType:\"trace\",name:\"scattermap\",basePlotModule:s7(),categories:[\"map\",\"gl\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var dGe=ye(($1r,hGe)=>{\"use strict\";hGe.exports=fGe()});var bJ=ye((Q1r,vGe)=>{\"use strict\";var d1=K5(),Bjt=Jl(),Njt=Wo().hovertemplateAttrs,Ujt=vl(),Ax=no().extendFlat;vGe.exports=Ax({locations:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:Ax({},d1.featureidkey,{}),below:{valType:\"string\",editType:\"plot\"},text:d1.text,hovertext:d1.hovertext,marker:{line:{color:Ax({},d1.marker.line.color,{editType:\"plot\"}),width:Ax({},d1.marker.line.width,{editType:\"plot\"}),editType:\"calc\"},opacity:Ax({},d1.marker.opacity,{editType:\"plot\"}),editType:\"calc\"},selected:{marker:{opacity:Ax({},d1.selected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:Ax({},d1.unselected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},hoverinfo:d1.hoverinfo,hovertemplate:Njt({},{keys:[\"properties\"]}),showlegend:Ax({},Ujt.showlegend,{dflt:!1})},Bjt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var gGe=ye((e_r,pGe)=>{\"use strict\";var Vk=Mr(),Vjt=Uh(),Hjt=bJ();pGe.exports=function(t,r,n,i){function a(c,f){return Vk.coerce(t,r,Hjt,c,f)}var o=a(\"locations\"),s=a(\"z\"),l=a(\"geojson\");if(!Vk.isArrayOrTypedArray(o)||!o.length||!Vk.isArrayOrTypedArray(s)||!s.length||!(typeof l==\"string\"&&l!==\"\"||Vk.isPlainObject(l))){r.visible=!1;return}a(\"featureidkey\"),r._length=Math.min(o.length,s.length),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\");var u=a(\"marker.line.width\");u&&a(\"marker.line.color\"),a(\"marker.opacity\"),Vjt(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),Vk.coerceSelectionMarkerOpacity(r,a)}});var wJ=ye((t_r,_Ge)=>{\"use strict\";var Gjt=uo(),v1=Mr(),jjt=Mu(),Wjt=ao(),Zjt=rx().makeBlank,mGe=nx();function Xjt(e){var t=e[0].trace,r=t.visible===!0&&t._length!==0,n={layout:{visibility:\"none\"},paint:{}},i={layout:{visibility:\"none\"},paint:{}},a=t._opts={fill:n,line:i,geojson:Zjt()};if(!r)return a;var o=mGe.extractTraceFeature(e);if(!o)return a;var s=jjt.makeColorScaleFuncFromTrace(t),l=t.marker,u=l.line||{},c;v1.isArrayOrTypedArray(l.opacity)&&(c=function(E){var k=E.mo;return Gjt(k)?+v1.constrain(k,0,1):0});var f;v1.isArrayOrTypedArray(u.color)&&(f=function(E){return E.mlc});var h;v1.isArrayOrTypedArray(u.width)&&(h=function(E){return E.mlw});for(var d=0;d<e.length;d++){var v=e[d],x=v.fOut;if(x){var b=x.properties;b.fc=s(v.z),c&&(b.mo=c(v)),f&&(b.mlc=f(v)),h&&(b.mlw=h(v)),v.ct=b.ct,v._polygons=mGe.feature2polygons(x)}}var p=c?{type:\"identity\",property:\"mo\"}:l.opacity;return v1.extendFlat(n.paint,{\"fill-color\":{type:\"identity\",property:\"fc\"},\"fill-opacity\":p}),v1.extendFlat(i.paint,{\"line-color\":f?{type:\"identity\",property:\"mlc\"}:u.color,\"line-width\":h?{type:\"identity\",property:\"mlw\"}:u.width,\"line-opacity\":p}),n.layout.visibility=\"visible\",i.layout.visibility=\"visible\",a.geojson={type:\"FeatureCollection\",features:o},yGe(e),a}function yGe(e){var t=e[0].trace,r=t._opts,n;if(t.selectedpoints){for(var i=Wjt.makeSelectedPointStyleFns(t),a=0;a<e.length;a++){var o=e[a];o.fOut&&(o.fOut.properties.mo2=i.selectedOpacityFn(o))}n={type:\"identity\",property:\"mo2\"}}else n=v1.isArrayOrTypedArray(t.marker.opacity)?{type:\"identity\",property:\"mo\"}:t.marker.opacity;return v1.extendFlat(r.fill.paint,{\"fill-opacity\":n}),v1.extendFlat(r.line.paint,{\"line-opacity\":n}),r}_Ge.exports={convert:Xjt,convertOnSelect:yGe}});var AGe=ye((r_r,TGe)=>{\"use strict\";var bGe=wJ().convert,Yjt=wJ().convertOnSelect,xGe=wx().traceLayerPrefix;function wGe(e,t){this.type=\"choroplethmap\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"fill\",xGe+t+\"-fill\"],[\"line\",xGe+t+\"-line\"]],this.below=null}var MA=wGe.prototype;MA.update=function(e){this._update(bGe(e)),e[0].trace._glTrace=this};MA.updateOnSelect=function(e){this._update(Yjt(e))};MA._update=function(e){var t=this.subplot,r=this.layerList,n=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(e.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(e,n),this.below=n);for(var i=0;i<r.length;i++){var a=r[i],o=a[0],s=a[1],l=e[o];t.setOptions(s,\"setLayoutProperty\",l.layout),l.layout.visibility===\"visible\"&&t.setOptions(s,\"setPaintProperty\",l.paint)}};MA._addLayers=function(e,t){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=e[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},t)}};MA._removeLayers=function(){for(var e=this.subplot.map,t=this.layerList,r=t.length-1;r>=0;r--)e.removeLayer(t[r][1])};MA.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};TGe.exports=function(t,r){var n=r[0].trace,i=new wGe(t,n.uid),a=i.sourceId,o=bGe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),r[0].trace._glTrace=i,i}});var MGe=ye((i_r,SGe)=>{\"use strict\";SGe.exports={attributes:bJ(),supplyDefaults:gGe(),colorbar:M_(),calc:Lz(),plot:AGe(),hoverPoints:Iz(),eventData:Rz(),selectPoints:Dz(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.updateOnSelect(t)}},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if(typeof i==\"string\"&&i.indexOf(\"water\")===0){for(var a=n+1;a<r.length;a++)if(i=r[a].id,typeof i==\"string\"&&i.indexOf(\"plotly-\")===-1)return i}}},moduleType:\"trace\",name:\"choroplethmap\",basePlotModule:s7(),categories:[\"map\",\"gl\",\"noOpacity\",\"showLegend\"],meta:{hr_name:\"choropleth_map\"}}});var kGe=ye((n_r,EGe)=>{\"use strict\";EGe.exports=MGe()});var AJ=ye((a_r,LGe)=>{\"use strict\";var Kjt=Jl(),Jjt=Wo().hovertemplateAttrs,CGe=vl(),l7=$F(),TJ=no().extendFlat;LGe.exports=TJ({lon:l7.lon,lat:l7.lat,z:{valType:\"data_array\",editType:\"calc\"},radius:{valType:\"number\",editType:\"plot\",arrayOk:!0,min:1,dflt:30},below:{valType:\"string\",editType:\"plot\"},text:l7.text,hovertext:l7.hovertext,hoverinfo:TJ({},CGe.hoverinfo,{flags:[\"lon\",\"lat\",\"z\",\"text\",\"name\"]}),hovertemplate:Jjt(),showlegend:TJ({},CGe.showlegend,{dflt:!1})},Kjt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var IGe=ye((o_r,PGe)=>{\"use strict\";var $jt=Mr(),Qjt=Uh(),eWt=AJ();PGe.exports=function(t,r,n,i){function a(u,c){return $jt.coerce(t,r,eWt,u,c)}var o=a(\"lon\")||[],s=a(\"lat\")||[],l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a(\"z\"),a(\"radius\"),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),Qjt(t,r,i,a,{prefix:\"\",cLetter:\"z\"})}});var zGe=ye((s_r,DGe)=>{\"use strict\";var SJ=uo(),tWt=Mr().isArrayOrTypedArray,MJ=es().BADNUM,rWt=zv(),RGe=Mr()._;DGe.exports=function(t,r){for(var n=r._length,i=new Array(n),a=r.z,o=tWt(a)&&a.length,s=0;s<n;s++){var l=i[s]={},u=r.lon[s],c=r.lat[s];if(l.lonlat=SJ(u)&&SJ(c)?[+u,+c]:[MJ,MJ],o){var f=a[s];l.z=SJ(f)?f:MJ}}return rWt(t,r,{vals:o?a:[0,1],containerStr:\"\",cLetter:\"z\"}),n&&(i[0].t={labels:{lat:RGe(t,\"lat:\")+\" \",lon:RGe(t,\"lon:\")+\" \"}}),i}});var NGe=ye((l_r,BGe)=>{\"use strict\";var iWt=uo(),EJ=Mr(),FGe=va(),qGe=Mu(),OGe=es().BADNUM,nWt=rx().makeBlank;BGe.exports=function(t){var r=t[0].trace,n=r.visible===!0&&r._length!==0,i={layout:{visibility:\"none\"},paint:{}},a=r._opts={heatmap:i,geojson:nWt()};if(!n)return a;var o=[],s,l=r.z,u=r.radius,c=EJ.isArrayOrTypedArray(l)&&l.length,f=EJ.isArrayOrTypedArray(u);for(s=0;s<t.length;s++){var h=t[s],d=h.lonlat;if(d[0]!==OGe){var v={};if(c){var x=h.z;v.z=x!==OGe?x:0}f&&(v.r=iWt(u[s])&&u[s]>0?+u[s]:0),o.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:d},properties:v})}}var b=qGe.extractOpts(r),p=b.reversescale?qGe.flipScale(b.colorscale):b.colorscale,E=p[0][1],k=FGe.opacity(E)<1?E:FGe.addOpacity(E,0),A=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,k];for(s=1;s<p.length;s++)A.push(p[s][0],p[s][1]);var L=[\"interpolate\",[\"linear\"],[\"get\",\"z\"],b.min,0,b.max,1];return EJ.extendFlat(a.heatmap.paint,{\"heatmap-weight\":c?L:1/(b.max-b.min),\"heatmap-color\":A,\"heatmap-radius\":f?{type:\"identity\",property:\"r\"}:r.radius,\"heatmap-opacity\":r.opacity}),a.geojson={type:\"FeatureCollection\",features:o},a.heatmap.layout.visibility=\"visible\",a}});var GGe=ye((u_r,HGe)=>{\"use strict\";var UGe=NGe(),aWt=wx().traceLayerPrefix;function VGe(e,t){this.type=\"densitymap\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"heatmap\",aWt+t+\"-heatmap\"]],this.below=null}var u7=VGe.prototype;u7.update=function(e){var t=this.subplot,r=this.layerList,n=UGe(e),i=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(n.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(n,i),this.below=i);for(var a=0;a<r.length;a++){var o=r[a],s=o[0],l=o[1],u=n[s];t.setOptions(l,\"setLayoutProperty\",u.layout),u.layout.visibility===\"visible\"&&t.setOptions(l,\"setPaintProperty\",u.paint)}};u7._addLayers=function(e,t){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=e[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},t)}};u7._removeLayers=function(){for(var e=this.subplot.map,t=this.layerList,r=t.length-1;r>=0;r--)e.removeLayer(t[r][1])};u7.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};HGe.exports=function(t,r){var n=r[0].trace,i=new VGe(t,n.uid),a=i.sourceId,o=UGe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),i}});var WGe=ye((c_r,jGe)=>{\"use strict\";var oWt=Qa(),sWt=i7().hoverPoints,lWt=i7().getExtraText;jGe.exports=function(t,r,n){var i=sWt(t,r,n);if(i){var a=i[0],o=a.cd,s=o[0].trace,l=o[a.index];if(delete a.color,\"z\"in l){var u=a.subplot.mockAxis;a.z=l.z,a.zLabel=oWt.tickText(u,u.c2l(l.z),\"hover\").text}return a.extraText=lWt(s,l,o[0].t.labels),[a]}}});var XGe=ye((f_r,ZGe)=>{\"use strict\";ZGe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t.z=r.z,t}});var KGe=ye((h_r,YGe)=>{\"use strict\";YGe.exports={attributes:AJ(),supplyDefaults:IGe(),colorbar:M_(),formatLabels:cJ(),calc:zGe(),plot:GGe(),hoverPoints:WGe(),eventData:XGe(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n<r.length;n++){var i=r[n],a=i.id;if(i.type===\"symbol\"&&typeof a==\"string\"&&a.indexOf(\"plotly-\")===-1)return a}},moduleType:\"trace\",name:\"densitymap\",basePlotModule:s7(),categories:[\"map\",\"gl\",\"showLegend\"],meta:{hr_name:\"density_map\"}}});var $Ge=ye((d_r,JGe)=>{\"use strict\";JGe.exports=KGe()});var CJ=ye((p_r,rje)=>{\"use strict\";var uWt=Su(),cWt=vl(),QGe=dh(),kJ=i3(),fWt=Ju().attributes,eje=Wo().hovertemplateAttrs,hWt=Jl(),dWt=Vs().templatedArray,vWt=Oc().descriptionOnlyNumbers,tje=no().extendFlat,pWt=Bu().overrideAll,v_r=rje.exports=pWt({hoverinfo:tje({},cWt.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:kJ.hoverlabel,domain:fWt({name:\"sankey\",trace:!0}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\"},valueformat:{valType:\"string\",dflt:\".3s\",description:vWt(\"value\")},valuesuffix:{valType:\"string\",dflt:\"\"},arrangement:{valType:\"enumerated\",values:[\"snap\",\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"snap\"},textfont:uWt({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:QGe.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:kJ.hoverlabel,hovertemplate:eje({},{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:QGe.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:kJ.hoverlabel,hovertemplate:eje({},{keys:[\"value\",\"label\"]}),colorscales:dWt(\"concentrationscales\",{editType:\"calc\",label:{valType:\"string\",editType:\"calc\",dflt:\"\"},cmax:{valType:\"number\",editType:\"calc\",dflt:1},cmin:{valType:\"number\",editType:\"calc\",dflt:0},colorscale:tje(hWt().colorscale,{dflt:[[0,\"white\"],[1,\"black\"]]})})}},\"calc\",\"nested\")});var sje=ye((g_r,oje)=>{\"use strict\";var EA=Mr(),c7=CJ(),gWt=va(),ije=id(),mWt=Ju().defaults,nje=oM(),aje=Vs(),yWt=Zd();oje.exports=function(t,r,n,i){function a(A,L){return EA.coerce(t,r,c7,A,L)}var o=EA.extendDeep(i.hoverlabel,t.hoverlabel),s=t.node,l=aje.newContainer(r,\"node\");function u(A,L){return EA.coerce(s,l,c7.node,A,L)}u(\"label\"),u(\"groups\"),u(\"x\"),u(\"y\"),u(\"pad\"),u(\"thickness\"),u(\"line.color\"),u(\"line.width\"),u(\"hoverinfo\",t.hoverinfo),nje(s,l,u,o),u(\"hovertemplate\"),u(\"align\");var c=i.colorway,f=function(A){return c[A%c.length]};u(\"color\",l.label.map(function(A,L){return gWt.addOpacity(f(L),.8)})),u(\"customdata\");var h=t.link||{},d=aje.newContainer(r,\"link\");function v(A,L){return EA.coerce(h,d,c7.link,A,L)}v(\"label\"),v(\"arrowlen\"),v(\"source\"),v(\"target\"),v(\"value\"),v(\"line.color\"),v(\"line.width\"),v(\"hoverinfo\",t.hoverinfo),nje(h,d,v,o),v(\"hovertemplate\");var x=ije(i.paper_bgcolor).getLuminance()<.333,b=x?\"rgba(255, 255, 255, 0.6)\":\"rgba(0, 0, 0, 0.2)\",p=v(\"color\",b);function E(A){var L=ije(A);if(!L.isValid())return A;var _=L.getAlpha();return _<=.8?L.setAlpha(_+.2):L=x?L.brighten():L.darken(),L.toRgbString()}v(\"hovercolor\",Array.isArray(p)?p.map(E):E(p)),v(\"customdata\"),yWt(h,d,{name:\"colorscales\",handleItemDefaults:_Wt}),mWt(r,i,a),a(\"orientation\"),a(\"valueformat\"),a(\"valuesuffix\");var k;l.x.length&&l.y.length&&(k=\"freeform\"),a(\"arrangement\",k),EA.coerceFont(a,\"textfont\",i.font,{autoShadowDflt:!0}),r._length=null};function _Wt(e,t){function r(n,i){return EA.coerce(e,t,c7.link.colorscales,n,i)}r(\"label\"),r(\"cmin\"),r(\"cmax\"),r(\"colorscale\")}});var LJ=ye((m_r,lje)=>{\"use strict\";lje.exports=xWt;function xWt(e){for(var t=e.length,r=new Array(t),n=new Array(t),i=new Array(t),a=new Array(t),o=new Array(t),s=new Array(t),l=0;l<t;++l)r[l]=-1,n[l]=0,i[l]=!1,a[l]=0,o[l]=-1,s[l]=[];var u=0,c=[],f=[];function h(b){var p=[b],E=[b];for(r[b]=n[b]=u,i[b]=!0,u+=1;E.length>0;){b=E[E.length-1];var k=e[b];if(a[b]<k.length){for(var A=a[b];A<k.length;++A){var L=k[A];if(r[L]<0){r[L]=n[L]=u,i[L]=!0,u+=1,p.push(L),E.push(L);break}else i[L]&&(n[b]=Math.min(n[b],n[L])|0);o[L]>=0&&s[b].push(o[L])}a[b]=A}else{if(n[b]===r[b]){for(var _=[],C=[],M=0,A=p.length-1;A>=0;--A){var g=p[A];if(i[g]=!1,_.push(g),C.push(s[g]),M+=s[g].length,o[g]=c.length,g===b){p.length=A;break}}c.push(_);for(var P=new Array(M),A=0;A<C.length;A++)for(var T=0;T<C[A].length;T++)P[--M]=C[A][T];f.push(P)}E.pop()}}}for(var l=0;l<t;++l)r[l]<0&&h(l);for(var d,l=0;l<f.length;l++){var v=f[l];if(v.length!==0){v.sort(function(p,E){return p-E}),d=[v[0]];for(var x=1;x<v.length;x++)v[x]!==v[x-1]&&d.push(v[x]);f[l]=d}}return{components:c,adjacencyList:f}}});var hje=ye((y_r,fje)=>{\"use strict\";var bWt=LJ(),kA=Mr(),wWt=Km().wrap,Hk=kA.isArrayOrTypedArray,uje=kA.isIndex,cje=Mu();function TWt(e){var t=e.node,r=e.link,n=[],i=Hk(r.color),a=Hk(r.hovercolor),o=Hk(r.customdata),s={},l={},u=r.colorscales.length,c;for(c=0;c<u;c++){var f=r.colorscales[c],h=cje.extractScale(f,{cLetter:\"c\"}),d=cje.makeColorScaleFunc(h);l[f.label]=d}var v=0;for(c=0;c<r.value.length;c++)r.source[c]>v&&(v=r.source[c]),r.target[c]>v&&(v=r.target[c]);var x=v+1;e.node._count=x;var b,p=e.node.groups,E={};for(c=0;c<p.length;c++){var k=p[c];for(b=0;b<k.length;b++){var A=k[b],L=x+c;E.hasOwnProperty(A)?kA.warn(\"Node \"+A+\" is already part of a group.\"):E[A]=L}}var _={source:[],target:[]};for(c=0;c<r.value.length;c++){var C=r.value[c],M=r.source[c],g=r.target[c];if(C>0&&uje(M,x)&&uje(g,x)&&!(E.hasOwnProperty(M)&&E.hasOwnProperty(g)&&E[M]===E[g])){E.hasOwnProperty(g)&&(g=E[g]),E.hasOwnProperty(M)&&(M=E[M]),M=+M,g=+g,s[M]=s[g]=!0;var P=\"\";r.label&&r.label[c]&&(P=r.label[c]);var T=null;P&&l.hasOwnProperty(P)&&(T=l[P]),n.push({pointNumber:c,label:P,color:i?r.color[c]:r.color,hovercolor:a?r.hovercolor[c]:r.hovercolor,customdata:o?r.customdata[c]:r.customdata,concentrationscale:T,source:M,target:g,value:+C}),_.source.push(M),_.target.push(g)}}var F=x+p.length,q=Hk(t.color),V=Hk(t.customdata),H=[];for(c=0;c<F;c++)if(s[c]){var X=t.label[c];H.push({group:c>x-1,childrenNodes:[],pointNumber:c,label:X,color:q?t.color[c]:t.color,customdata:V?t.customdata[c]:t.customdata})}var G=!1;return AWt(F,_.source,_.target)&&(G=!0),{circular:G,links:n,nodes:H,groups:p,groupLookup:E}}function AWt(e,t,r){for(var n=kA.init2dArray(e,0),i=0;i<Math.min(t.length,r.length);i++)if(kA.isIndex(t[i],e)&&kA.isIndex(r[i],e)){if(t[i]===r[i])return!0;n[t[i]].push(r[i])}var a=bWt(n);return a.components.some(function(o){return o.length>1})}fje.exports=function(t,r){var n=TWt(r);return wWt({circular:n.circular,_nodes:n.nodes,_links:n.links,_groups:n.groups,_groupLookup:n.groupLookup})}});var vje=ye((f7,dje)=>{(function(e,t){typeof f7==\"object\"&&typeof dje!=\"undefined\"?t(f7):(e=e||self,t(e.d3=e.d3||{}))})(f7,function(e){\"use strict\";function t(C){var M=+this._x.call(null,C),g=+this._y.call(null,C);return r(this.cover(M,g),M,g,C)}function r(C,M,g,P){if(isNaN(M)||isNaN(g))return C;var T,F=C._root,q={data:P},V=C._x0,H=C._y0,X=C._x1,G=C._y1,N,W,re,ae,_e,Me,ke,ge;if(!F)return C._root=q,C;for(;F.length;)if((_e=M>=(N=(V+X)/2))?V=N:X=N,(Me=g>=(W=(H+G)/2))?H=W:G=W,T=F,!(F=F[ke=Me<<1|_e]))return T[ke]=q,C;if(re=+C._x.call(null,F.data),ae=+C._y.call(null,F.data),M===re&&g===ae)return q.next=F,T?T[ke]=q:C._root=q,C;do T=T?T[ke]=new Array(4):C._root=new Array(4),(_e=M>=(N=(V+X)/2))?V=N:X=N,(Me=g>=(W=(H+G)/2))?H=W:G=W;while((ke=Me<<1|_e)===(ge=(ae>=W)<<1|re>=N));return T[ge]=F,T[ke]=q,C}function n(C){var M,g,P=C.length,T,F,q=new Array(P),V=new Array(P),H=1/0,X=1/0,G=-1/0,N=-1/0;for(g=0;g<P;++g)isNaN(T=+this._x.call(null,M=C[g]))||isNaN(F=+this._y.call(null,M))||(q[g]=T,V[g]=F,T<H&&(H=T),T>G&&(G=T),F<X&&(X=F),F>N&&(N=F));if(H>G||X>N)return this;for(this.cover(H,X).cover(G,N),g=0;g<P;++g)r(this,q[g],V[g],C[g]);return this}function i(C,M){if(isNaN(C=+C)||isNaN(M=+M))return this;var g=this._x0,P=this._y0,T=this._x1,F=this._y1;if(isNaN(g))T=(g=Math.floor(C))+1,F=(P=Math.floor(M))+1;else{for(var q=T-g,V=this._root,H,X;g>C||C>=T||P>M||M>=F;)switch(X=(M<P)<<1|C<g,H=new Array(4),H[X]=V,V=H,q*=2,X){case 0:T=g+q,F=P+q;break;case 1:g=T-q,F=P+q;break;case 2:T=g+q,P=F-q;break;case 3:g=T-q,P=F-q;break}this._root&&this._root.length&&(this._root=V)}return this._x0=g,this._y0=P,this._x1=T,this._y1=F,this}function a(){var C=[];return this.visit(function(M){if(!M.length)do C.push(M.data);while(M=M.next)}),C}function o(C){return arguments.length?this.cover(+C[0][0],+C[0][1]).cover(+C[1][0],+C[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function s(C,M,g,P,T){this.node=C,this.x0=M,this.y0=g,this.x1=P,this.y1=T}function l(C,M,g){var P,T=this._x0,F=this._y0,q,V,H,X,G=this._x1,N=this._y1,W=[],re=this._root,ae,_e;for(re&&W.push(new s(re,T,F,G,N)),g==null?g=1/0:(T=C-g,F=M-g,G=C+g,N=M+g,g*=g);ae=W.pop();)if(!(!(re=ae.node)||(q=ae.x0)>G||(V=ae.y0)>N||(H=ae.x1)<T||(X=ae.y1)<F))if(re.length){var Me=(q+H)/2,ke=(V+X)/2;W.push(new s(re[3],Me,ke,H,X),new s(re[2],q,ke,Me,X),new s(re[1],Me,V,H,ke),new s(re[0],q,V,Me,ke)),(_e=(M>=ke)<<1|C>=Me)&&(ae=W[W.length-1],W[W.length-1]=W[W.length-1-_e],W[W.length-1-_e]=ae)}else{var ge=C-+this._x.call(null,re.data),ie=M-+this._y.call(null,re.data),Te=ge*ge+ie*ie;if(Te<g){var Ee=Math.sqrt(g=Te);T=C-Ee,F=M-Ee,G=C+Ee,N=M+Ee,P=re.data}}return P}function u(C){if(isNaN(G=+this._x.call(null,C))||isNaN(N=+this._y.call(null,C)))return this;var M,g=this._root,P,T,F,q=this._x0,V=this._y0,H=this._x1,X=this._y1,G,N,W,re,ae,_e,Me,ke;if(!g)return this;if(g.length)for(;;){if((ae=G>=(W=(q+H)/2))?q=W:H=W,(_e=N>=(re=(V+X)/2))?V=re:X=re,M=g,!(g=g[Me=_e<<1|ae]))return this;if(!g.length)break;(M[Me+1&3]||M[Me+2&3]||M[Me+3&3])&&(P=M,ke=Me)}for(;g.data!==C;)if(T=g,!(g=g.next))return this;return(F=g.next)&&delete g.next,T?(F?T.next=F:delete T.next,this):M?(F?M[Me]=F:delete M[Me],(g=M[0]||M[1]||M[2]||M[3])&&g===(M[3]||M[2]||M[1]||M[0])&&!g.length&&(P?P[ke]=g:this._root=g),this):(this._root=F,this)}function c(C){for(var M=0,g=C.length;M<g;++M)this.remove(C[M]);return this}function f(){return this._root}function h(){var C=0;return this.visit(function(M){if(!M.length)do++C;while(M=M.next)}),C}function d(C){var M=[],g,P=this._root,T,F,q,V,H;for(P&&M.push(new s(P,this._x0,this._y0,this._x1,this._y1));g=M.pop();)if(!C(P=g.node,F=g.x0,q=g.y0,V=g.x1,H=g.y1)&&P.length){var X=(F+V)/2,G=(q+H)/2;(T=P[3])&&M.push(new s(T,X,G,V,H)),(T=P[2])&&M.push(new s(T,F,G,X,H)),(T=P[1])&&M.push(new s(T,X,q,V,G)),(T=P[0])&&M.push(new s(T,F,q,X,G))}return this}function v(C){var M=[],g=[],P;for(this._root&&M.push(new s(this._root,this._x0,this._y0,this._x1,this._y1));P=M.pop();){var T=P.node;if(T.length){var F,q=P.x0,V=P.y0,H=P.x1,X=P.y1,G=(q+H)/2,N=(V+X)/2;(F=T[0])&&M.push(new s(F,q,V,G,N)),(F=T[1])&&M.push(new s(F,G,V,H,N)),(F=T[2])&&M.push(new s(F,q,N,G,X)),(F=T[3])&&M.push(new s(F,G,N,H,X))}g.push(P)}for(;P=g.pop();)C(P.node,P.x0,P.y0,P.x1,P.y1);return this}function x(C){return C[0]}function b(C){return arguments.length?(this._x=C,this):this._x}function p(C){return C[1]}function E(C){return arguments.length?(this._y=C,this):this._y}function k(C,M,g){var P=new A(M==null?x:M,g==null?p:g,NaN,NaN,NaN,NaN);return C==null?P:P.addAll(C)}function A(C,M,g,P,T,F){this._x=C,this._y=M,this._x0=g,this._y0=P,this._x1=T,this._y1=F,this._root=void 0}function L(C){for(var M={data:C.data},g=M;C=C.next;)g=g.next={data:C.data};return M}var _=k.prototype=A.prototype;_.copy=function(){var C=new A(this._x,this._y,this._x0,this._y0,this._x1,this._y1),M=this._root,g,P;if(!M)return C;if(!M.length)return C._root=L(M),C;for(g=[{source:M,target:C._root=new Array(4)}];M=g.pop();)for(var T=0;T<4;++T)(P=M.source[T])&&(P.length?g.push({source:P,target:M.target[T]=new Array(4)}):M.target[T]=L(P));return C},_.add=t,_.addAll=n,_.cover=i,_.data=a,_.extent=o,_.find=l,_.remove=u,_.removeAll=c,_.root=f,_.size=h,_.visit=d,_.visitAfter=v,_.x=b,_.y=E,e.quadtree=k,Object.defineProperty(e,\"__esModule\",{value:!0})})});var d7=ye((h7,pje)=>{(function(e,t){t(typeof h7==\"object\"&&typeof pje!=\"undefined\"?h7:e.d3=e.d3||{})})(h7,function(e){\"use strict\";var t=\"$\";function r(){}r.prototype=n.prototype={constructor:r,has:function(x){return t+x in this},get:function(x){return this[t+x]},set:function(x,b){return this[t+x]=b,this},remove:function(x){var b=t+x;return b in this&&delete this[b]},clear:function(){for(var x in this)x[0]===t&&delete this[x]},keys:function(){var x=[];for(var b in this)b[0]===t&&x.push(b.slice(1));return x},values:function(){var x=[];for(var b in this)b[0]===t&&x.push(this[b]);return x},entries:function(){var x=[];for(var b in this)b[0]===t&&x.push({key:b.slice(1),value:this[b]});return x},size:function(){var x=0;for(var b in this)b[0]===t&&++x;return x},empty:function(){for(var x in this)if(x[0]===t)return!1;return!0},each:function(x){for(var b in this)b[0]===t&&x(this[b],b.slice(1),this)}};function n(x,b){var p=new r;if(x instanceof r)x.each(function(_,C){p.set(C,_)});else if(Array.isArray(x)){var E=-1,k=x.length,A;if(b==null)for(;++E<k;)p.set(E,x[E]);else for(;++E<k;)p.set(b(A=x[E],E,x),A)}else if(x)for(var L in x)p.set(L,x[L]);return p}function i(){var x=[],b=[],p,E,k;function A(_,C,M,g){if(C>=x.length)return p!=null&&_.sort(p),E!=null?E(_):_;for(var P=-1,T=_.length,F=x[C++],q,V,H=n(),X,G=M();++P<T;)(X=H.get(q=F(V=_[P])+\"\"))?X.push(V):H.set(q,[V]);return H.each(function(N,W){g(G,W,A(N,C,M,g))}),G}function L(_,C){if(++C>x.length)return _;var M,g=b[C-1];return E!=null&&C>=x.length?M=_.entries():(M=[],_.each(function(P,T){M.push({key:T,values:L(P,C)})})),g!=null?M.sort(function(P,T){return g(P.key,T.key)}):M}return k={object:function(_){return A(_,0,a,o)},map:function(_){return A(_,0,s,l)},entries:function(_){return L(A(_,0,s,l),0)},key:function(_){return x.push(_),k},sortKeys:function(_){return b[x.length-1]=_,k},sortValues:function(_){return p=_,k},rollup:function(_){return E=_,k}}}function a(){return{}}function o(x,b,p){x[b]=p}function s(){return n()}function l(x,b,p){x.set(b,p)}function u(){}var c=n.prototype;u.prototype=f.prototype={constructor:u,has:c.has,add:function(x){return x+=\"\",this[t+x]=x,this},remove:c.remove,clear:c.clear,values:c.keys,size:c.size,empty:c.empty,each:c.each};function f(x,b){var p=new u;if(x instanceof u)x.each(function(A){p.add(A)});else if(x){var E=-1,k=x.length;if(b==null)for(;++E<k;)p.add(x[E]);else for(;++E<k;)p.add(b(x[E],E,x))}return p}function h(x){var b=[];for(var p in x)b.push(p);return b}function d(x){var b=[];for(var p in x)b.push(x[p]);return b}function v(x){var b=[];for(var p in x)b.push({key:p,value:x[p]});return b}e.nest=i,e.set=f,e.map=n,e.keys=h,e.values=d,e.entries=v,Object.defineProperty(e,\"__esModule\",{value:!0})})});var mje=ye((v7,gje)=>{(function(e,t){typeof v7==\"object\"&&typeof gje!=\"undefined\"?t(v7):(e=e||self,t(e.d3=e.d3||{}))})(v7,function(e){\"use strict\";var t={value:function(){}};function r(){for(var s=0,l=arguments.length,u={},c;s<l;++s){if(!(c=arguments[s]+\"\")||c in u||/[\\s.]/.test(c))throw new Error(\"illegal type: \"+c);u[c]=[]}return new n(u)}function n(s){this._=s}function i(s,l){return s.trim().split(/^|\\s+/).map(function(u){var c=\"\",f=u.indexOf(\".\");if(f>=0&&(c=u.slice(f+1),u=u.slice(0,f)),u&&!l.hasOwnProperty(u))throw new Error(\"unknown type: \"+u);return{type:u,name:c}})}n.prototype=r.prototype={constructor:n,on:function(s,l){var u=this._,c=i(s+\"\",u),f,h=-1,d=c.length;if(arguments.length<2){for(;++h<d;)if((f=(s=c[h]).type)&&(f=a(u[f],s.name)))return f;return}if(l!=null&&typeof l!=\"function\")throw new Error(\"invalid callback: \"+l);for(;++h<d;)if(f=(s=c[h]).type)u[f]=o(u[f],s.name,l);else if(l==null)for(f in u)u[f]=o(u[f],s.name,null);return this},copy:function(){var s={},l=this._;for(var u in l)s[u]=l[u].slice();return new n(s)},call:function(s,l){if((f=arguments.length-2)>0)for(var u=new Array(f),c=0,f,h;c<f;++c)u[c]=arguments[c+2];if(!this._.hasOwnProperty(s))throw new Error(\"unknown type: \"+s);for(h=this._[s],c=0,f=h.length;c<f;++c)h[c].value.apply(l,u)},apply:function(s,l,u){if(!this._.hasOwnProperty(s))throw new Error(\"unknown type: \"+s);for(var c=this._[s],f=0,h=c.length;f<h;++f)c[f].value.apply(l,u)}};function a(s,l){for(var u=0,c=s.length,f;u<c;++u)if((f=s[u]).name===l)return f.value}function o(s,l,u){for(var c=0,f=s.length;c<f;++c)if(s[c].name===l){s[c]=t,s=s.slice(0,c).concat(s.slice(c+1));break}return u!=null&&s.push({name:l,value:u}),s}e.dispatch=r,Object.defineProperty(e,\"__esModule\",{value:!0})})});var _je=ye((p7,yje)=>{(function(e,t){typeof p7==\"object\"&&typeof yje!=\"undefined\"?t(p7):(e=e||self,t(e.d3=e.d3||{}))})(p7,function(e){\"use strict\";var t=0,r=0,n=0,i=1e3,a,o,s=0,l=0,u=0,c=typeof performance==\"object\"&&performance.now?performance:Date,f=typeof window==\"object\"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(C){setTimeout(C,17)};function h(){return l||(f(d),l=c.now()+u)}function d(){l=0}function v(){this._call=this._time=this._next=null}v.prototype=x.prototype={constructor:v,restart:function(C,M,g){if(typeof C!=\"function\")throw new TypeError(\"callback is not a function\");g=(g==null?h():+g)+(M==null?0:+M),!this._next&&o!==this&&(o?o._next=this:a=this,o=this),this._call=C,this._time=g,A()},stop:function(){this._call&&(this._call=null,this._time=1/0,A())}};function x(C,M,g){var P=new v;return P.restart(C,M,g),P}function b(){h(),++t;for(var C=a,M;C;)(M=l-C._time)>=0&&C._call.call(null,M),C=C._next;--t}function p(){l=(s=c.now())+u,t=r=0;try{b()}finally{t=0,k(),l=0}}function E(){var C=c.now(),M=C-s;M>i&&(u-=M,s=C)}function k(){for(var C,M=a,g,P=1/0;M;)M._call?(P>M._time&&(P=M._time),C=M,M=M._next):(g=M._next,M._next=null,M=C?C._next=g:a=g);o=C,A(P)}function A(C){if(!t){r&&(r=clearTimeout(r));var M=C-l;M>24?(C<1/0&&(r=setTimeout(p,C-c.now()-u)),n&&(n=clearInterval(n))):(n||(s=c.now(),n=setInterval(E,i)),t=1,f(p))}}function L(C,M,g){var P=new v;return M=M==null?0:+M,P.restart(function(T){P.stop(),C(T+M)},M,g),P}function _(C,M,g){var P=new v,T=M;return M==null?(P.restart(C,M,g),P):(M=+M,g=g==null?h():+g,P.restart(function F(q){q+=T,P.restart(F,T+=M,g),C(q)},M,g),P)}e.interval=_,e.now=h,e.timeout=L,e.timer=x,e.timerFlush=b,Object.defineProperty(e,\"__esModule\",{value:!0})})});var bje=ye((g7,xje)=>{(function(e,t){typeof g7==\"object\"&&typeof xje!=\"undefined\"?t(g7,vje(),d7(),mje(),_je()):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,e.d3)})(g7,function(e,t,r,n,i){\"use strict\";function a(C,M){var g;C==null&&(C=0),M==null&&(M=0);function P(){var T,F=g.length,q,V=0,H=0;for(T=0;T<F;++T)q=g[T],V+=q.x,H+=q.y;for(V=V/F-C,H=H/F-M,T=0;T<F;++T)q=g[T],q.x-=V,q.y-=H}return P.initialize=function(T){g=T},P.x=function(T){return arguments.length?(C=+T,P):C},P.y=function(T){return arguments.length?(M=+T,P):M},P}function o(C){return function(){return C}}function s(){return(Math.random()-.5)*1e-6}function l(C){return C.x+C.vx}function u(C){return C.y+C.vy}function c(C){var M,g,P=1,T=1;typeof C!=\"function\"&&(C=o(C==null?1:+C));function F(){for(var H,X=M.length,G,N,W,re,ae,_e,Me=0;Me<T;++Me)for(G=t.quadtree(M,l,u).visitAfter(q),H=0;H<X;++H)N=M[H],ae=g[N.index],_e=ae*ae,W=N.x+N.vx,re=N.y+N.vy,G.visit(ke);function ke(ge,ie,Te,Ee,Ae){var ze=ge.data,Ce=ge.r,me=ae+Ce;if(ze){if(ze.index>N.index){var Re=W-ze.x-ze.vx,ce=re-ze.y-ze.vy,Ge=Re*Re+ce*ce;Ge<me*me&&(Re===0&&(Re=s(),Ge+=Re*Re),ce===0&&(ce=s(),Ge+=ce*ce),Ge=(me-(Ge=Math.sqrt(Ge)))/Ge*P,N.vx+=(Re*=Ge)*(me=(Ce*=Ce)/(_e+Ce)),N.vy+=(ce*=Ge)*me,ze.vx-=Re*(me=1-me),ze.vy-=ce*me)}return}return ie>W+me||Ee<W-me||Te>re+me||Ae<re-me}}function q(H){if(H.data)return H.r=g[H.data.index];for(var X=H.r=0;X<4;++X)H[X]&&H[X].r>H.r&&(H.r=H[X].r)}function V(){if(M){var H,X=M.length,G;for(g=new Array(X),H=0;H<X;++H)G=M[H],g[G.index]=+C(G,H,M)}}return F.initialize=function(H){M=H,V()},F.iterations=function(H){return arguments.length?(T=+H,F):T},F.strength=function(H){return arguments.length?(P=+H,F):P},F.radius=function(H){return arguments.length?(C=typeof H==\"function\"?H:o(+H),V(),F):C},F}function f(C){return C.index}function h(C,M){var g=C.get(M);if(!g)throw new Error(\"missing: \"+M);return g}function d(C){var M=f,g=G,P,T=o(30),F,q,V,H,X=1;C==null&&(C=[]);function G(_e){return 1/Math.min(V[_e.source.index],V[_e.target.index])}function N(_e){for(var Me=0,ke=C.length;Me<X;++Me)for(var ge=0,ie,Te,Ee,Ae,ze,Ce,me;ge<ke;++ge)ie=C[ge],Te=ie.source,Ee=ie.target,Ae=Ee.x+Ee.vx-Te.x-Te.vx||s(),ze=Ee.y+Ee.vy-Te.y-Te.vy||s(),Ce=Math.sqrt(Ae*Ae+ze*ze),Ce=(Ce-F[ge])/Ce*_e*P[ge],Ae*=Ce,ze*=Ce,Ee.vx-=Ae*(me=H[ge]),Ee.vy-=ze*me,Te.vx+=Ae*(me=1-me),Te.vy+=ze*me}function W(){if(q){var _e,Me=q.length,ke=C.length,ge=r.map(q,M),ie;for(_e=0,V=new Array(Me);_e<ke;++_e)ie=C[_e],ie.index=_e,typeof ie.source!=\"object\"&&(ie.source=h(ge,ie.source)),typeof ie.target!=\"object\"&&(ie.target=h(ge,ie.target)),V[ie.source.index]=(V[ie.source.index]||0)+1,V[ie.target.index]=(V[ie.target.index]||0)+1;for(_e=0,H=new Array(ke);_e<ke;++_e)ie=C[_e],H[_e]=V[ie.source.index]/(V[ie.source.index]+V[ie.target.index]);P=new Array(ke),re(),F=new Array(ke),ae()}}function re(){if(q)for(var _e=0,Me=C.length;_e<Me;++_e)P[_e]=+g(C[_e],_e,C)}function ae(){if(q)for(var _e=0,Me=C.length;_e<Me;++_e)F[_e]=+T(C[_e],_e,C)}return N.initialize=function(_e){q=_e,W()},N.links=function(_e){return arguments.length?(C=_e,W(),N):C},N.id=function(_e){return arguments.length?(M=_e,N):M},N.iterations=function(_e){return arguments.length?(X=+_e,N):X},N.strength=function(_e){return arguments.length?(g=typeof _e==\"function\"?_e:o(+_e),re(),N):g},N.distance=function(_e){return arguments.length?(T=typeof _e==\"function\"?_e:o(+_e),ae(),N):T},N}function v(C){return C.x}function x(C){return C.y}var b=10,p=Math.PI*(3-Math.sqrt(5));function E(C){var M,g=1,P=.001,T=1-Math.pow(P,1/300),F=0,q=.6,V=r.map(),H=i.timer(G),X=n.dispatch(\"tick\",\"end\");C==null&&(C=[]);function G(){N(),X.call(\"tick\",M),g<P&&(H.stop(),X.call(\"end\",M))}function N(ae){var _e,Me=C.length,ke;ae===void 0&&(ae=1);for(var ge=0;ge<ae;++ge)for(g+=(F-g)*T,V.each(function(ie){ie(g)}),_e=0;_e<Me;++_e)ke=C[_e],ke.fx==null?ke.x+=ke.vx*=q:(ke.x=ke.fx,ke.vx=0),ke.fy==null?ke.y+=ke.vy*=q:(ke.y=ke.fy,ke.vy=0);return M}function W(){for(var ae=0,_e=C.length,Me;ae<_e;++ae){if(Me=C[ae],Me.index=ae,Me.fx!=null&&(Me.x=Me.fx),Me.fy!=null&&(Me.y=Me.fy),isNaN(Me.x)||isNaN(Me.y)){var ke=b*Math.sqrt(ae),ge=ae*p;Me.x=ke*Math.cos(ge),Me.y=ke*Math.sin(ge)}(isNaN(Me.vx)||isNaN(Me.vy))&&(Me.vx=Me.vy=0)}}function re(ae){return ae.initialize&&ae.initialize(C),ae}return W(),M={tick:N,restart:function(){return H.restart(G),M},stop:function(){return H.stop(),M},nodes:function(ae){return arguments.length?(C=ae,W(),V.each(re),M):C},alpha:function(ae){return arguments.length?(g=+ae,M):g},alphaMin:function(ae){return arguments.length?(P=+ae,M):P},alphaDecay:function(ae){return arguments.length?(T=+ae,M):+T},alphaTarget:function(ae){return arguments.length?(F=+ae,M):F},velocityDecay:function(ae){return arguments.length?(q=1-ae,M):1-q},force:function(ae,_e){return arguments.length>1?(_e==null?V.remove(ae):V.set(ae,re(_e)),M):V.get(ae)},find:function(ae,_e,Me){var ke=0,ge=C.length,ie,Te,Ee,Ae,ze;for(Me==null?Me=1/0:Me*=Me,ke=0;ke<ge;++ke)Ae=C[ke],ie=ae-Ae.x,Te=_e-Ae.y,Ee=ie*ie+Te*Te,Ee<Me&&(ze=Ae,Me=Ee);return ze},on:function(ae,_e){return arguments.length>1?(X.on(ae,_e),M):X.on(ae)}}}function k(){var C,M,g,P=o(-30),T,F=1,q=1/0,V=.81;function H(W){var re,ae=C.length,_e=t.quadtree(C,v,x).visitAfter(G);for(g=W,re=0;re<ae;++re)M=C[re],_e.visit(N)}function X(){if(C){var W,re=C.length,ae;for(T=new Array(re),W=0;W<re;++W)ae=C[W],T[ae.index]=+P(ae,W,C)}}function G(W){var re=0,ae,_e,Me=0,ke,ge,ie;if(W.length){for(ke=ge=ie=0;ie<4;++ie)(ae=W[ie])&&(_e=Math.abs(ae.value))&&(re+=ae.value,Me+=_e,ke+=_e*ae.x,ge+=_e*ae.y);W.x=ke/Me,W.y=ge/Me}else{ae=W,ae.x=ae.data.x,ae.y=ae.data.y;do re+=T[ae.data.index];while(ae=ae.next)}W.value=re}function N(W,re,ae,_e){if(!W.value)return!0;var Me=W.x-M.x,ke=W.y-M.y,ge=_e-re,ie=Me*Me+ke*ke;if(ge*ge/V<ie)return ie<q&&(Me===0&&(Me=s(),ie+=Me*Me),ke===0&&(ke=s(),ie+=ke*ke),ie<F&&(ie=Math.sqrt(F*ie)),M.vx+=Me*W.value*g/ie,M.vy+=ke*W.value*g/ie),!0;if(W.length||ie>=q)return;(W.data!==M||W.next)&&(Me===0&&(Me=s(),ie+=Me*Me),ke===0&&(ke=s(),ie+=ke*ke),ie<F&&(ie=Math.sqrt(F*ie)));do W.data!==M&&(ge=T[W.data.index]*g/ie,M.vx+=Me*ge,M.vy+=ke*ge);while(W=W.next)}return H.initialize=function(W){C=W,X()},H.strength=function(W){return arguments.length?(P=typeof W==\"function\"?W:o(+W),X(),H):P},H.distanceMin=function(W){return arguments.length?(F=W*W,H):Math.sqrt(F)},H.distanceMax=function(W){return arguments.length?(q=W*W,H):Math.sqrt(q)},H.theta=function(W){return arguments.length?(V=W*W,H):Math.sqrt(V)},H}function A(C,M,g){var P,T=o(.1),F,q;typeof C!=\"function\"&&(C=o(+C)),M==null&&(M=0),g==null&&(g=0);function V(X){for(var G=0,N=P.length;G<N;++G){var W=P[G],re=W.x-M||1e-6,ae=W.y-g||1e-6,_e=Math.sqrt(re*re+ae*ae),Me=(q[G]-_e)*F[G]*X/_e;W.vx+=re*Me,W.vy+=ae*Me}}function H(){if(P){var X,G=P.length;for(F=new Array(G),q=new Array(G),X=0;X<G;++X)q[X]=+C(P[X],X,P),F[X]=isNaN(q[X])?0:+T(P[X],X,P)}}return V.initialize=function(X){P=X,H()},V.strength=function(X){return arguments.length?(T=typeof X==\"function\"?X:o(+X),H(),V):T},V.radius=function(X){return arguments.length?(C=typeof X==\"function\"?X:o(+X),H(),V):C},V.x=function(X){return arguments.length?(M=+X,V):M},V.y=function(X){return arguments.length?(g=+X,V):g},V}function L(C){var M=o(.1),g,P,T;typeof C!=\"function\"&&(C=o(C==null?0:+C));function F(V){for(var H=0,X=g.length,G;H<X;++H)G=g[H],G.vx+=(T[H]-G.x)*P[H]*V}function q(){if(g){var V,H=g.length;for(P=new Array(H),T=new Array(H),V=0;V<H;++V)P[V]=isNaN(T[V]=+C(g[V],V,g))?0:+M(g[V],V,g)}}return F.initialize=function(V){g=V,q()},F.strength=function(V){return arguments.length?(M=typeof V==\"function\"?V:o(+V),q(),F):M},F.x=function(V){return arguments.length?(C=typeof V==\"function\"?V:o(+V),q(),F):C},F}function _(C){var M=o(.1),g,P,T;typeof C!=\"function\"&&(C=o(C==null?0:+C));function F(V){for(var H=0,X=g.length,G;H<X;++H)G=g[H],G.vy+=(T[H]-G.y)*P[H]*V}function q(){if(g){var V,H=g.length;for(P=new Array(H),T=new Array(H),V=0;V<H;++V)P[V]=isNaN(T[V]=+C(g[V],V,g))?0:+M(g[V],V,g)}}return F.initialize=function(V){g=V,q()},F.strength=function(V){return arguments.length?(M=typeof V==\"function\"?V:o(+V),q(),F):M},F.y=function(V){return arguments.length?(C=typeof V==\"function\"?V:o(+V),q(),F):C},F}e.forceCenter=a,e.forceCollide=c,e.forceLink=d,e.forceManyBody=k,e.forceRadial=A,e.forceSimulation=E,e.forceX=L,e.forceY=_,Object.defineProperty(e,\"__esModule\",{value:!0})})});var Tje=ye((m7,wje)=>{(function(e,t){typeof m7==\"object\"&&typeof wje!=\"undefined\"?t(m7):(e=e||self,t(e.d3=e.d3||{}))})(m7,function(e){\"use strict\";var t=Math.PI,r=2*t,n=1e-6,i=r-n;function a(){this._x0=this._y0=this._x1=this._y1=null,this._=\"\"}function o(){return new a}a.prototype=o.prototype={constructor:a,moveTo:function(s,l){this._+=\"M\"+(this._x0=this._x1=+s)+\",\"+(this._y0=this._y1=+l)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+=\"Z\")},lineTo:function(s,l){this._+=\"L\"+(this._x1=+s)+\",\"+(this._y1=+l)},quadraticCurveTo:function(s,l,u,c){this._+=\"Q\"+ +s+\",\"+ +l+\",\"+(this._x1=+u)+\",\"+(this._y1=+c)},bezierCurveTo:function(s,l,u,c,f,h){this._+=\"C\"+ +s+\",\"+ +l+\",\"+ +u+\",\"+ +c+\",\"+(this._x1=+f)+\",\"+(this._y1=+h)},arcTo:function(s,l,u,c,f){s=+s,l=+l,u=+u,c=+c,f=+f;var h=this._x1,d=this._y1,v=u-s,x=c-l,b=h-s,p=d-l,E=b*b+p*p;if(f<0)throw new Error(\"negative radius: \"+f);if(this._x1===null)this._+=\"M\"+(this._x1=s)+\",\"+(this._y1=l);else if(E>n)if(!(Math.abs(p*v-x*b)>n)||!f)this._+=\"L\"+(this._x1=s)+\",\"+(this._y1=l);else{var k=u-h,A=c-d,L=v*v+x*x,_=k*k+A*A,C=Math.sqrt(L),M=Math.sqrt(E),g=f*Math.tan((t-Math.acos((L+E-_)/(2*C*M)))/2),P=g/M,T=g/C;Math.abs(P-1)>n&&(this._+=\"L\"+(s+P*b)+\",\"+(l+P*p)),this._+=\"A\"+f+\",\"+f+\",0,0,\"+ +(p*k>b*A)+\",\"+(this._x1=s+T*v)+\",\"+(this._y1=l+T*x)}},arc:function(s,l,u,c,f,h){s=+s,l=+l,u=+u,h=!!h;var d=u*Math.cos(c),v=u*Math.sin(c),x=s+d,b=l+v,p=1^h,E=h?c-f:f-c;if(u<0)throw new Error(\"negative radius: \"+u);this._x1===null?this._+=\"M\"+x+\",\"+b:(Math.abs(this._x1-x)>n||Math.abs(this._y1-b)>n)&&(this._+=\"L\"+x+\",\"+b),u&&(E<0&&(E=E%r+r),E>i?this._+=\"A\"+u+\",\"+u+\",0,1,\"+p+\",\"+(s-d)+\",\"+(l-v)+\"A\"+u+\",\"+u+\",0,1,\"+p+\",\"+(this._x1=x)+\",\"+(this._y1=b):E>n&&(this._+=\"A\"+u+\",\"+u+\",0,\"+ +(E>=t)+\",\"+p+\",\"+(this._x1=s+u*Math.cos(f))+\",\"+(this._y1=l+u*Math.sin(f))))},rect:function(s,l,u,c){this._+=\"M\"+(this._x0=this._x1=+s)+\",\"+(this._y0=this._y1=+l)+\"h\"+ +u+\"v\"+ +c+\"h\"+-u+\"Z\"},toString:function(){return this._}},e.path=o,Object.defineProperty(e,\"__esModule\",{value:!0})})});var PJ=ye((y7,Aje)=>{(function(e,t){typeof y7==\"object\"&&typeof Aje!=\"undefined\"?t(y7,Tje()):(e=e||self,t(e.d3=e.d3||{},e.d3))})(y7,function(e,t){\"use strict\";function r(_t){return function(){return _t}}var n=Math.abs,i=Math.atan2,a=Math.cos,o=Math.max,s=Math.min,l=Math.sin,u=Math.sqrt,c=1e-12,f=Math.PI,h=f/2,d=2*f;function v(_t){return _t>1?0:_t<-1?f:Math.acos(_t)}function x(_t){return _t>=1?h:_t<=-1?-h:Math.asin(_t)}function b(_t){return _t.innerRadius}function p(_t){return _t.outerRadius}function E(_t){return _t.startAngle}function k(_t){return _t.endAngle}function A(_t){return _t&&_t.padAngle}function L(_t,br,Hr,ti,zi,Yi,an,hi){var Ji=Hr-_t,ua=ti-br,Fn=an-zi,Sa=hi-Yi,go=Sa*Ji-Fn*ua;if(!(go*go<c))return go=(Fn*(br-Yi)-Sa*(_t-zi))/go,[_t+go*Ji,br+go*ua]}function _(_t,br,Hr,ti,zi,Yi,an){var hi=_t-Hr,Ji=br-ti,ua=(an?Yi:-Yi)/u(hi*hi+Ji*Ji),Fn=ua*Ji,Sa=-ua*hi,go=_t+Fn,Oo=br+Sa,ho=Hr+Fn,Mo=ti+Sa,xo=(go+ho)/2,zs=(Oo+Mo)/2,ks=ho-go,Zs=Mo-Oo,Xs=ks*ks+Zs*Zs,wl=zi-Yi,os=go*Mo-ho*Oo,cl=(Zs<0?-1:1)*u(o(0,wl*wl*Xs-os*os)),Cs=(os*Zs-ks*cl)/Xs,ml=(-os*ks-Zs*cl)/Xs,Ys=(os*Zs+ks*cl)/Xs,Hs=(-os*ks+Zs*cl)/Xs,Eo=Cs-xo,fs=ml-zs,Ql=Ys-xo,Hu=Hs-zs;return Eo*Eo+fs*fs>Ql*Ql+Hu*Hu&&(Cs=Ys,ml=Hs),{cx:Cs,cy:ml,x01:-Fn,y01:-Sa,x11:Cs*(zi/wl-1),y11:ml*(zi/wl-1)}}function C(){var _t=b,br=p,Hr=r(0),ti=null,zi=E,Yi=k,an=A,hi=null;function Ji(){var ua,Fn,Sa=+_t.apply(this,arguments),go=+br.apply(this,arguments),Oo=zi.apply(this,arguments)-h,ho=Yi.apply(this,arguments)-h,Mo=n(ho-Oo),xo=ho>Oo;if(hi||(hi=ua=t.path()),go<Sa&&(Fn=go,go=Sa,Sa=Fn),!(go>c))hi.moveTo(0,0);else if(Mo>d-c)hi.moveTo(go*a(Oo),go*l(Oo)),hi.arc(0,0,go,Oo,ho,!xo),Sa>c&&(hi.moveTo(Sa*a(ho),Sa*l(ho)),hi.arc(0,0,Sa,ho,Oo,xo));else{var zs=Oo,ks=ho,Zs=Oo,Xs=ho,wl=Mo,os=Mo,cl=an.apply(this,arguments)/2,Cs=cl>c&&(ti?+ti.apply(this,arguments):u(Sa*Sa+go*go)),ml=s(n(go-Sa)/2,+Hr.apply(this,arguments)),Ys=ml,Hs=ml,Eo,fs;if(Cs>c){var Ql=x(Cs/Sa*l(cl)),Hu=x(Cs/go*l(cl));(wl-=Ql*2)>c?(Ql*=xo?1:-1,Zs+=Ql,Xs-=Ql):(wl=0,Zs=Xs=(Oo+ho)/2),(os-=Hu*2)>c?(Hu*=xo?1:-1,zs+=Hu,ks-=Hu):(os=0,zs=ks=(Oo+ho)/2)}var fc=go*a(zs),ms=go*l(zs),on=Sa*a(Xs),fa=Sa*l(Xs);if(ml>c){var Qu=go*a(ks),Rl=go*l(ks),vo=Sa*a(Zs),Zl=Sa*l(Zs),Ks;if(Mo<f&&(Ks=L(fc,ms,vo,Zl,Qu,Rl,on,fa))){var Xl=fc-Ks[0],Ec=ms-Ks[1],Zn=Qu-Ks[0],ko=Rl-Ks[1],Co=1/l(v((Xl*Zn+Ec*ko)/(u(Xl*Xl+Ec*Ec)*u(Zn*Zn+ko*ko)))/2),Tl=u(Ks[0]*Ks[0]+Ks[1]*Ks[1]);Ys=s(ml,(Sa-Tl)/(Co-1)),Hs=s(ml,(go-Tl)/(Co+1))}}os>c?Hs>c?(Eo=_(vo,Zl,fc,ms,go,Hs,xo),fs=_(Qu,Rl,on,fa,go,Hs,xo),hi.moveTo(Eo.cx+Eo.x01,Eo.cy+Eo.y01),Hs<ml?hi.arc(Eo.cx,Eo.cy,Hs,i(Eo.y01,Eo.x01),i(fs.y01,fs.x01),!xo):(hi.arc(Eo.cx,Eo.cy,Hs,i(Eo.y01,Eo.x01),i(Eo.y11,Eo.x11),!xo),hi.arc(0,0,go,i(Eo.cy+Eo.y11,Eo.cx+Eo.x11),i(fs.cy+fs.y11,fs.cx+fs.x11),!xo),hi.arc(fs.cx,fs.cy,Hs,i(fs.y11,fs.x11),i(fs.y01,fs.x01),!xo))):(hi.moveTo(fc,ms),hi.arc(0,0,go,zs,ks,!xo)):hi.moveTo(fc,ms),!(Sa>c)||!(wl>c)?hi.lineTo(on,fa):Ys>c?(Eo=_(on,fa,Qu,Rl,Sa,-Ys,xo),fs=_(fc,ms,vo,Zl,Sa,-Ys,xo),hi.lineTo(Eo.cx+Eo.x01,Eo.cy+Eo.y01),Ys<ml?hi.arc(Eo.cx,Eo.cy,Ys,i(Eo.y01,Eo.x01),i(fs.y01,fs.x01),!xo):(hi.arc(Eo.cx,Eo.cy,Ys,i(Eo.y01,Eo.x01),i(Eo.y11,Eo.x11),!xo),hi.arc(0,0,Sa,i(Eo.cy+Eo.y11,Eo.cx+Eo.x11),i(fs.cy+fs.y11,fs.cx+fs.x11),xo),hi.arc(fs.cx,fs.cy,Ys,i(fs.y11,fs.x11),i(fs.y01,fs.x01),!xo))):hi.arc(0,0,Sa,Xs,Zs,xo)}if(hi.closePath(),ua)return hi=null,ua+\"\"||null}return Ji.centroid=function(){var ua=(+_t.apply(this,arguments)+ +br.apply(this,arguments))/2,Fn=(+zi.apply(this,arguments)+ +Yi.apply(this,arguments))/2-f/2;return[a(Fn)*ua,l(Fn)*ua]},Ji.innerRadius=function(ua){return arguments.length?(_t=typeof ua==\"function\"?ua:r(+ua),Ji):_t},Ji.outerRadius=function(ua){return arguments.length?(br=typeof ua==\"function\"?ua:r(+ua),Ji):br},Ji.cornerRadius=function(ua){return arguments.length?(Hr=typeof ua==\"function\"?ua:r(+ua),Ji):Hr},Ji.padRadius=function(ua){return arguments.length?(ti=ua==null?null:typeof ua==\"function\"?ua:r(+ua),Ji):ti},Ji.startAngle=function(ua){return arguments.length?(zi=typeof ua==\"function\"?ua:r(+ua),Ji):zi},Ji.endAngle=function(ua){return arguments.length?(Yi=typeof ua==\"function\"?ua:r(+ua),Ji):Yi},Ji.padAngle=function(ua){return arguments.length?(an=typeof ua==\"function\"?ua:r(+ua),Ji):an},Ji.context=function(ua){return arguments.length?(hi=ua==null?null:ua,Ji):hi},Ji}function M(_t){this._context=_t}M.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;default:this._context.lineTo(_t,br);break}}};function g(_t){return new M(_t)}function P(_t){return _t[0]}function T(_t){return _t[1]}function F(){var _t=P,br=T,Hr=r(!0),ti=null,zi=g,Yi=null;function an(hi){var Ji,ua=hi.length,Fn,Sa=!1,go;for(ti==null&&(Yi=zi(go=t.path())),Ji=0;Ji<=ua;++Ji)!(Ji<ua&&Hr(Fn=hi[Ji],Ji,hi))===Sa&&((Sa=!Sa)?Yi.lineStart():Yi.lineEnd()),Sa&&Yi.point(+_t(Fn,Ji,hi),+br(Fn,Ji,hi));if(go)return Yi=null,go+\"\"||null}return an.x=function(hi){return arguments.length?(_t=typeof hi==\"function\"?hi:r(+hi),an):_t},an.y=function(hi){return arguments.length?(br=typeof hi==\"function\"?hi:r(+hi),an):br},an.defined=function(hi){return arguments.length?(Hr=typeof hi==\"function\"?hi:r(!!hi),an):Hr},an.curve=function(hi){return arguments.length?(zi=hi,ti!=null&&(Yi=zi(ti)),an):zi},an.context=function(hi){return arguments.length?(hi==null?ti=Yi=null:Yi=zi(ti=hi),an):ti},an}function q(){var _t=P,br=null,Hr=r(0),ti=T,zi=r(!0),Yi=null,an=g,hi=null;function Ji(Fn){var Sa,go,Oo,ho=Fn.length,Mo,xo=!1,zs,ks=new Array(ho),Zs=new Array(ho);for(Yi==null&&(hi=an(zs=t.path())),Sa=0;Sa<=ho;++Sa){if(!(Sa<ho&&zi(Mo=Fn[Sa],Sa,Fn))===xo)if(xo=!xo)go=Sa,hi.areaStart(),hi.lineStart();else{for(hi.lineEnd(),hi.lineStart(),Oo=Sa-1;Oo>=go;--Oo)hi.point(ks[Oo],Zs[Oo]);hi.lineEnd(),hi.areaEnd()}xo&&(ks[Sa]=+_t(Mo,Sa,Fn),Zs[Sa]=+Hr(Mo,Sa,Fn),hi.point(br?+br(Mo,Sa,Fn):ks[Sa],ti?+ti(Mo,Sa,Fn):Zs[Sa]))}if(zs)return hi=null,zs+\"\"||null}function ua(){return F().defined(zi).curve(an).context(Yi)}return Ji.x=function(Fn){return arguments.length?(_t=typeof Fn==\"function\"?Fn:r(+Fn),br=null,Ji):_t},Ji.x0=function(Fn){return arguments.length?(_t=typeof Fn==\"function\"?Fn:r(+Fn),Ji):_t},Ji.x1=function(Fn){return arguments.length?(br=Fn==null?null:typeof Fn==\"function\"?Fn:r(+Fn),Ji):br},Ji.y=function(Fn){return arguments.length?(Hr=typeof Fn==\"function\"?Fn:r(+Fn),ti=null,Ji):Hr},Ji.y0=function(Fn){return arguments.length?(Hr=typeof Fn==\"function\"?Fn:r(+Fn),Ji):Hr},Ji.y1=function(Fn){return arguments.length?(ti=Fn==null?null:typeof Fn==\"function\"?Fn:r(+Fn),Ji):ti},Ji.lineX0=Ji.lineY0=function(){return ua().x(_t).y(Hr)},Ji.lineY1=function(){return ua().x(_t).y(ti)},Ji.lineX1=function(){return ua().x(br).y(Hr)},Ji.defined=function(Fn){return arguments.length?(zi=typeof Fn==\"function\"?Fn:r(!!Fn),Ji):zi},Ji.curve=function(Fn){return arguments.length?(an=Fn,Yi!=null&&(hi=an(Yi)),Ji):an},Ji.context=function(Fn){return arguments.length?(Fn==null?Yi=hi=null:hi=an(Yi=Fn),Ji):Yi},Ji}function V(_t,br){return br<_t?-1:br>_t?1:br>=_t?0:NaN}function H(_t){return _t}function X(){var _t=H,br=V,Hr=null,ti=r(0),zi=r(d),Yi=r(0);function an(hi){var Ji,ua=hi.length,Fn,Sa,go=0,Oo=new Array(ua),ho=new Array(ua),Mo=+ti.apply(this,arguments),xo=Math.min(d,Math.max(-d,zi.apply(this,arguments)-Mo)),zs,ks=Math.min(Math.abs(xo)/ua,Yi.apply(this,arguments)),Zs=ks*(xo<0?-1:1),Xs;for(Ji=0;Ji<ua;++Ji)(Xs=ho[Oo[Ji]=Ji]=+_t(hi[Ji],Ji,hi))>0&&(go+=Xs);for(br!=null?Oo.sort(function(wl,os){return br(ho[wl],ho[os])}):Hr!=null&&Oo.sort(function(wl,os){return Hr(hi[wl],hi[os])}),Ji=0,Sa=go?(xo-ua*Zs)/go:0;Ji<ua;++Ji,Mo=zs)Fn=Oo[Ji],Xs=ho[Fn],zs=Mo+(Xs>0?Xs*Sa:0)+Zs,ho[Fn]={data:hi[Fn],index:Ji,value:Xs,startAngle:Mo,endAngle:zs,padAngle:ks};return ho}return an.value=function(hi){return arguments.length?(_t=typeof hi==\"function\"?hi:r(+hi),an):_t},an.sortValues=function(hi){return arguments.length?(br=hi,Hr=null,an):br},an.sort=function(hi){return arguments.length?(Hr=hi,br=null,an):Hr},an.startAngle=function(hi){return arguments.length?(ti=typeof hi==\"function\"?hi:r(+hi),an):ti},an.endAngle=function(hi){return arguments.length?(zi=typeof hi==\"function\"?hi:r(+hi),an):zi},an.padAngle=function(hi){return arguments.length?(Yi=typeof hi==\"function\"?hi:r(+hi),an):Yi},an}var G=W(g);function N(_t){this._curve=_t}N.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(_t,br){this._curve.point(br*Math.sin(_t),br*-Math.cos(_t))}};function W(_t){function br(Hr){return new N(_t(Hr))}return br._curve=_t,br}function re(_t){var br=_t.curve;return _t.angle=_t.x,delete _t.x,_t.radius=_t.y,delete _t.y,_t.curve=function(Hr){return arguments.length?br(W(Hr)):br()._curve},_t}function ae(){return re(F().curve(G))}function _e(){var _t=q().curve(G),br=_t.curve,Hr=_t.lineX0,ti=_t.lineX1,zi=_t.lineY0,Yi=_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 re(Hr())},delete _t.lineX0,_t.lineEndAngle=function(){return re(ti())},delete _t.lineX1,_t.lineInnerRadius=function(){return re(zi())},delete _t.lineY0,_t.lineOuterRadius=function(){return re(Yi())},delete _t.lineY1,_t.curve=function(an){return arguments.length?br(W(an)):br()._curve},_t}function Me(_t,br){return[(br=+br)*Math.cos(_t-=Math.PI/2),br*Math.sin(_t)]}var ke=Array.prototype.slice;function ge(_t){return _t.source}function ie(_t){return _t.target}function Te(_t){var br=ge,Hr=ie,ti=P,zi=T,Yi=null;function an(){var hi,Ji=ke.call(arguments),ua=br.apply(this,Ji),Fn=Hr.apply(this,Ji);if(Yi||(Yi=hi=t.path()),_t(Yi,+ti.apply(this,(Ji[0]=ua,Ji)),+zi.apply(this,Ji),+ti.apply(this,(Ji[0]=Fn,Ji)),+zi.apply(this,Ji)),hi)return Yi=null,hi+\"\"||null}return an.source=function(hi){return arguments.length?(br=hi,an):br},an.target=function(hi){return arguments.length?(Hr=hi,an):Hr},an.x=function(hi){return arguments.length?(ti=typeof hi==\"function\"?hi:r(+hi),an):ti},an.y=function(hi){return arguments.length?(zi=typeof hi==\"function\"?hi:r(+hi),an):zi},an.context=function(hi){return arguments.length?(Yi=hi==null?null:hi,an):Yi},an}function Ee(_t,br,Hr,ti,zi){_t.moveTo(br,Hr),_t.bezierCurveTo(br=(br+ti)/2,Hr,br,zi,ti,zi)}function Ae(_t,br,Hr,ti,zi){_t.moveTo(br,Hr),_t.bezierCurveTo(br,Hr=(Hr+zi)/2,ti,Hr,ti,zi)}function ze(_t,br,Hr,ti,zi){var Yi=Me(br,Hr),an=Me(br,Hr=(Hr+zi)/2),hi=Me(ti,Hr),Ji=Me(ti,zi);_t.moveTo(Yi[0],Yi[1]),_t.bezierCurveTo(an[0],an[1],hi[0],hi[1],Ji[0],Ji[1])}function Ce(){return Te(Ee)}function me(){return Te(Ae)}function Re(){var _t=Te(ze);return _t.angle=_t.x,delete _t.x,_t.radius=_t.y,delete _t.y,_t}var ce={draw:function(_t,br){var Hr=Math.sqrt(br/f);_t.moveTo(Hr,0),_t.arc(0,0,Hr,0,d)}},Ge={draw:function(_t,br){var Hr=Math.sqrt(br/5)/2;_t.moveTo(-3*Hr,-Hr),_t.lineTo(-Hr,-Hr),_t.lineTo(-Hr,-3*Hr),_t.lineTo(Hr,-3*Hr),_t.lineTo(Hr,-Hr),_t.lineTo(3*Hr,-Hr),_t.lineTo(3*Hr,Hr),_t.lineTo(Hr,Hr),_t.lineTo(Hr,3*Hr),_t.lineTo(-Hr,3*Hr),_t.lineTo(-Hr,Hr),_t.lineTo(-3*Hr,Hr),_t.closePath()}},nt=Math.sqrt(1/3),ct=nt*2,qt={draw:function(_t,br){var Hr=Math.sqrt(br/ct),ti=Hr*nt;_t.moveTo(0,-Hr),_t.lineTo(ti,0),_t.lineTo(0,Hr),_t.lineTo(-ti,0),_t.closePath()}},rt=.8908130915292852,ot=Math.sin(f/10)/Math.sin(7*f/10),Rt=Math.sin(d/10)*ot,kt=-Math.cos(d/10)*ot,Ct={draw:function(_t,br){var Hr=Math.sqrt(br*rt),ti=Rt*Hr,zi=kt*Hr;_t.moveTo(0,-Hr),_t.lineTo(ti,zi);for(var Yi=1;Yi<5;++Yi){var an=d*Yi/5,hi=Math.cos(an),Ji=Math.sin(an);_t.lineTo(Ji*Hr,-hi*Hr),_t.lineTo(hi*ti-Ji*zi,Ji*ti+hi*zi)}_t.closePath()}},Yt={draw:function(_t,br){var Hr=Math.sqrt(br),ti=-Hr/2;_t.rect(ti,ti,Hr,Hr)}},xr=Math.sqrt(3),er={draw:function(_t,br){var Hr=-Math.sqrt(br/(xr*3));_t.moveTo(0,Hr*2),_t.lineTo(-xr*Hr,-Hr),_t.lineTo(xr*Hr,-Hr),_t.closePath()}},Ke=-.5,xt=Math.sqrt(3)/2,bt=1/Math.sqrt(12),Lt=(bt/2+1)*3,St={draw:function(_t,br){var Hr=Math.sqrt(br/Lt),ti=Hr/2,zi=Hr*bt,Yi=ti,an=Hr*bt+Hr,hi=-Yi,Ji=an;_t.moveTo(ti,zi),_t.lineTo(Yi,an),_t.lineTo(hi,Ji),_t.lineTo(Ke*ti-xt*zi,xt*ti+Ke*zi),_t.lineTo(Ke*Yi-xt*an,xt*Yi+Ke*an),_t.lineTo(Ke*hi-xt*Ji,xt*hi+Ke*Ji),_t.lineTo(Ke*ti+xt*zi,Ke*zi-xt*ti),_t.lineTo(Ke*Yi+xt*an,Ke*an-xt*Yi),_t.lineTo(Ke*hi+xt*Ji,Ke*Ji-xt*hi),_t.closePath()}},Et=[ce,Ge,qt,Yt,Ct,er,St];function dt(){var _t=r(ce),br=r(64),Hr=null;function ti(){var zi;if(Hr||(Hr=zi=t.path()),_t.apply(this,arguments).draw(Hr,+br.apply(this,arguments)),zi)return Hr=null,zi+\"\"||null}return ti.type=function(zi){return arguments.length?(_t=typeof zi==\"function\"?zi:r(zi),ti):_t},ti.size=function(zi){return arguments.length?(br=typeof zi==\"function\"?zi:r(+zi),ti):br},ti.context=function(zi){return arguments.length?(Hr=zi==null?null:zi,ti):Hr},ti}function Ht(){}function $t(_t,br,Hr){_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+br)/6,(_t._y0+4*_t._y1+Hr)/6)}function fr(_t){this._context=_t}fr.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:$t(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);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:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function _r(_t){return new fr(_t)}function Br(_t){this._context=_t}Br.prototype={areaStart:Ht,areaEnd:Ht,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);break}}},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._x2=_t,this._y2=br;break;case 1:this._point=2,this._x3=_t,this._y3=br;break;case 2:this._point=3,this._x4=_t,this._y4=br,this._context.moveTo((this._x0+4*this._x1+_t)/6,(this._y0+4*this._y1+br)/6);break;default:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function Or(_t){return new Br(_t)}function Nr(_t){this._context=_t}Nr.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var Hr=(this._x0+4*this._x1+_t)/6,ti=(this._y0+4*this._y1+br)/6;this._line?this._context.lineTo(Hr,ti):this._context.moveTo(Hr,ti);break;case 3:this._point=4;default:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function ut(_t){return new Nr(_t)}function Ne(_t,br){this._basis=new fr(_t),this._beta=br}Ne.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var _t=this._x,br=this._y,Hr=_t.length-1;if(Hr>0)for(var ti=_t[0],zi=br[0],Yi=_t[Hr]-ti,an=br[Hr]-zi,hi=-1,Ji;++hi<=Hr;)Ji=hi/Hr,this._basis.point(this._beta*_t[hi]+(1-this._beta)*(ti+Ji*Yi),this._beta*br[hi]+(1-this._beta)*(zi+Ji*an));this._x=this._y=null,this._basis.lineEnd()},point:function(_t,br){this._x.push(+_t),this._y.push(+br)}};var Ye=function _t(br){function Hr(ti){return br===1?new fr(ti):new Ne(ti,br)}return Hr.beta=function(ti){return _t(+ti)},Hr}(.85);function Ve(_t,br,Hr){_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-br),_t._y2+_t._k*(_t._y1-Hr),_t._x2,_t._y2)}function Xe(_t,br){this._context=_t,this._k=(1-br)/6}Xe.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:Ve(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2,this._x1=_t,this._y1=br;break;case 2:this._point=3;default:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var ht=function _t(br){function Hr(ti){return new Xe(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Le(_t,br){this._context=_t,this._k=(1-br)/6}Le.prototype={areaStart:Ht,areaEnd:Ht,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);break}}},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._x3=_t,this._y3=br;break;case 1:this._point=2,this._context.moveTo(this._x4=_t,this._y4=br);break;case 2:this._point=3,this._x5=_t,this._y5=br;break;default:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var xe=function _t(br){function Hr(ti){return new Le(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Se(_t,br){this._context=_t,this._k=(1-br)/6}Se.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,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:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var lt=function _t(br){function Hr(ti){return new Se(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Gt(_t,br,Hr){var ti=_t._x1,zi=_t._y1,Yi=_t._x2,an=_t._y2;if(_t._l01_a>c){var hi=2*_t._l01_2a+3*_t._l01_a*_t._l12_a+_t._l12_2a,Ji=3*_t._l01_a*(_t._l01_a+_t._l12_a);ti=(ti*hi-_t._x0*_t._l12_2a+_t._x2*_t._l01_2a)/Ji,zi=(zi*hi-_t._y0*_t._l12_2a+_t._y2*_t._l01_2a)/Ji}if(_t._l23_a>c){var ua=2*_t._l23_2a+3*_t._l23_a*_t._l12_a+_t._l12_2a,Fn=3*_t._l23_a*(_t._l23_a+_t._l12_a);Yi=(Yi*ua+_t._x1*_t._l23_2a-br*_t._l12_2a)/Fn,an=(an*ua+_t._y1*_t._l23_2a-Hr*_t._l12_2a)/Fn}_t._context.bezierCurveTo(ti,zi,Yi,an,_t._x2,_t._y2)}function Vt(_t,br){this._context=_t,this._alpha=br}Vt.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);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;break;case 2:this._point=3;default:Gt(this,_t,br);break}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=br}};var ar=function _t(br){function Hr(ti){return br?new Vt(ti,br):new Xe(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function Qr(_t,br){this._context=_t,this._alpha=br}Qr.prototype={areaStart:Ht,areaEnd:Ht,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);break}}},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=_t,this._y3=br;break;case 1:this._point=2,this._context.moveTo(this._x4=_t,this._y4=br);break;case 2:this._point=3,this._x5=_t,this._y5=br;break;default:Gt(this,_t,br);break}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=br}};var ai=function _t(br){function Hr(ti){return br?new Qr(ti,br):new Le(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function jr(_t,br){this._context=_t,this._alpha=br}jr.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,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:Gt(this,_t,br);break}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=br}};var ri=function _t(br){function Hr(ti){return br?new jr(ti,br):new Se(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function bi(_t){this._context=_t}bi.prototype={areaStart:Ht,areaEnd:Ht,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(_t,br){_t=+_t,br=+br,this._point?this._context.lineTo(_t,br):(this._point=1,this._context.moveTo(_t,br))}};function nn(_t){return new bi(_t)}function Wi(_t){return _t<0?-1:1}function Ni(_t,br,Hr){var ti=_t._x1-_t._x0,zi=br-_t._x1,Yi=(_t._y1-_t._y0)/(ti||zi<0&&-0),an=(Hr-_t._y1)/(zi||ti<0&&-0),hi=(Yi*zi+an*ti)/(ti+zi);return(Wi(Yi)+Wi(an))*Math.min(Math.abs(Yi),Math.abs(an),.5*Math.abs(hi))||0}function _n(_t,br){var Hr=_t._x1-_t._x0;return Hr?(3*(_t._y1-_t._y0)/Hr-br)/2:br}function $i(_t,br,Hr){var ti=_t._x0,zi=_t._y0,Yi=_t._x1,an=_t._y1,hi=(Yi-ti)/3;_t._context.bezierCurveTo(ti+hi,zi+hi*br,Yi-hi,an-hi*Hr,Yi,an)}function zn(_t){this._context=_t}zn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:$i(this,this._t0,_n(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){var Hr=NaN;if(_t=+_t,br=+br,!(_t===this._x1&&br===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;break;case 2:this._point=3,$i(this,_n(this,Hr=Ni(this,_t,br)),Hr);break;default:$i(this,this._t0,Hr=Ni(this,_t,br));break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br,this._t0=Hr}}};function Wn(_t){this._context=new It(_t)}(Wn.prototype=Object.create(zn.prototype)).point=function(_t,br){zn.prototype.point.call(this,br,_t)};function It(_t){this._context=_t}It.prototype={moveTo:function(_t,br){this._context.moveTo(br,_t)},closePath:function(){this._context.closePath()},lineTo:function(_t,br){this._context.lineTo(br,_t)},bezierCurveTo:function(_t,br,Hr,ti,zi,Yi){this._context.bezierCurveTo(br,_t,ti,Hr,Yi,zi)}};function ft(_t){return new zn(_t)}function jt(_t){return new Wn(_t)}function Zt(_t){this._context=_t}Zt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var _t=this._x,br=this._y,Hr=_t.length;if(Hr)if(this._line?this._context.lineTo(_t[0],br[0]):this._context.moveTo(_t[0],br[0]),Hr===2)this._context.lineTo(_t[1],br[1]);else for(var ti=yr(_t),zi=yr(br),Yi=0,an=1;an<Hr;++Yi,++an)this._context.bezierCurveTo(ti[0][Yi],zi[0][Yi],ti[1][Yi],zi[1][Yi],_t[an],br[an]);(this._line||this._line!==0&&Hr===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(_t,br){this._x.push(+_t),this._y.push(+br)}};function yr(_t){var br,Hr=_t.length-1,ti,zi=new Array(Hr),Yi=new Array(Hr),an=new Array(Hr);for(zi[0]=0,Yi[0]=2,an[0]=_t[0]+2*_t[1],br=1;br<Hr-1;++br)zi[br]=1,Yi[br]=4,an[br]=4*_t[br]+2*_t[br+1];for(zi[Hr-1]=2,Yi[Hr-1]=7,an[Hr-1]=8*_t[Hr-1]+_t[Hr],br=1;br<Hr;++br)ti=zi[br]/Yi[br-1],Yi[br]-=ti,an[br]-=ti*an[br-1];for(zi[Hr-1]=an[Hr-1]/Yi[Hr-1],br=Hr-2;br>=0;--br)zi[br]=(an[br]-zi[br+1])/Yi[br];for(Yi[Hr-1]=(_t[Hr]+zi[Hr-1])/2,br=0;br<Hr-1;++br)Yi[br]=2*_t[br+1]-zi[br+1];return[zi,Yi]}function Fr(_t){return new Zt(_t)}function Zr(_t,br){this._context=_t,this._t=br}Zr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,br),this._context.lineTo(_t,br);else{var Hr=this._x*(1-this._t)+_t*this._t;this._context.lineTo(Hr,this._y),this._context.lineTo(Hr,br)}break}}this._x=_t,this._y=br}};function Vr(_t){return new Zr(_t,.5)}function gi(_t){return new Zr(_t,0)}function Si(_t){return new Zr(_t,1)}function Mi(_t,br){if((an=_t.length)>1)for(var Hr=1,ti,zi,Yi=_t[br[0]],an,hi=Yi.length;Hr<an;++Hr)for(zi=Yi,Yi=_t[br[Hr]],ti=0;ti<hi;++ti)Yi[ti][1]+=Yi[ti][0]=isNaN(zi[ti][1])?zi[ti][0]:zi[ti][1]}function Pi(_t){for(var br=_t.length,Hr=new Array(br);--br>=0;)Hr[br]=br;return Hr}function Gi(_t,br){return _t[br]}function Ki(){var _t=r([]),br=Pi,Hr=Mi,ti=Gi;function zi(Yi){var an=_t.apply(this,arguments),hi,Ji=Yi.length,ua=an.length,Fn=new Array(ua),Sa;for(hi=0;hi<ua;++hi){for(var go=an[hi],Oo=Fn[hi]=new Array(Ji),ho=0,Mo;ho<Ji;++ho)Oo[ho]=Mo=[0,+ti(Yi[ho],go,ho,Yi)],Mo.data=Yi[ho];Oo.key=go}for(hi=0,Sa=br(Fn);hi<ua;++hi)Fn[Sa[hi]].index=hi;return Hr(Fn,Sa),Fn}return zi.keys=function(Yi){return arguments.length?(_t=typeof Yi==\"function\"?Yi:r(ke.call(Yi)),zi):_t},zi.value=function(Yi){return arguments.length?(ti=typeof Yi==\"function\"?Yi:r(+Yi),zi):ti},zi.order=function(Yi){return arguments.length?(br=Yi==null?Pi:typeof Yi==\"function\"?Yi:r(ke.call(Yi)),zi):br},zi.offset=function(Yi){return arguments.length?(Hr=Yi==null?Mi:Yi,zi):Hr},zi}function ka(_t,br){if((ti=_t.length)>0){for(var Hr,ti,zi=0,Yi=_t[0].length,an;zi<Yi;++zi){for(an=Hr=0;Hr<ti;++Hr)an+=_t[Hr][zi][1]||0;if(an)for(Hr=0;Hr<ti;++Hr)_t[Hr][zi][1]/=an}Mi(_t,br)}}function jn(_t,br){if((Ji=_t.length)>0)for(var Hr,ti=0,zi,Yi,an,hi,Ji,ua=_t[br[0]].length;ti<ua;++ti)for(an=hi=0,Hr=0;Hr<Ji;++Hr)(Yi=(zi=_t[br[Hr]][ti])[1]-zi[0])>0?(zi[0]=an,zi[1]=an+=Yi):Yi<0?(zi[1]=hi,zi[0]=hi+=Yi):(zi[0]=0,zi[1]=Yi)}function la(_t,br){if((zi=_t.length)>0){for(var Hr=0,ti=_t[br[0]],zi,Yi=ti.length;Hr<Yi;++Hr){for(var an=0,hi=0;an<zi;++an)hi+=_t[an][Hr][1]||0;ti[Hr][1]+=ti[Hr][0]=-hi/2}Mi(_t,br)}}function Fa(_t,br){if(!(!((an=_t.length)>0)||!((Yi=(zi=_t[br[0]]).length)>0))){for(var Hr=0,ti=1,zi,Yi,an;ti<Yi;++ti){for(var hi=0,Ji=0,ua=0;hi<an;++hi){for(var Fn=_t[br[hi]],Sa=Fn[ti][1]||0,go=Fn[ti-1][1]||0,Oo=(Sa-go)/2,ho=0;ho<hi;++ho){var Mo=_t[br[ho]],xo=Mo[ti][1]||0,zs=Mo[ti-1][1]||0;Oo+=xo-zs}Ji+=Sa,ua+=Oo*Sa}zi[ti-1][1]+=zi[ti-1][0]=Hr,Ji&&(Hr-=ua/Ji)}zi[ti-1][1]+=zi[ti-1][0]=Hr,Mi(_t,br)}}function Ra(_t){var br=_t.map(jo);return Pi(_t).sort(function(Hr,ti){return br[Hr]-br[ti]})}function jo(_t){for(var br=-1,Hr=0,ti=_t.length,zi,Yi=-1/0;++br<ti;)(zi=+_t[br][1])>Yi&&(Yi=zi,Hr=br);return Hr}function oa(_t){var br=_t.map(Sn);return Pi(_t).sort(function(Hr,ti){return br[Hr]-br[ti]})}function Sn(_t){for(var br=0,Hr=-1,ti=_t.length,zi;++Hr<ti;)(zi=+_t[Hr][1])&&(br+=zi);return br}function Ha(_t){return oa(_t).reverse()}function oo(_t){var br=_t.length,Hr,ti,zi=_t.map(Sn),Yi=Ra(_t),an=0,hi=0,Ji=[],ua=[];for(Hr=0;Hr<br;++Hr)ti=Yi[Hr],an<hi?(an+=zi[ti],Ji.push(ti)):(hi+=zi[ti],ua.push(ti));return ua.reverse().concat(Ji)}function xn(_t){return Pi(_t).reverse()}e.arc=C,e.area=q,e.areaRadial=_e,e.curveBasis=_r,e.curveBasisClosed=Or,e.curveBasisOpen=ut,e.curveBundle=Ye,e.curveCardinal=ht,e.curveCardinalClosed=xe,e.curveCardinalOpen=lt,e.curveCatmullRom=ar,e.curveCatmullRomClosed=ai,e.curveCatmullRomOpen=ri,e.curveLinear=g,e.curveLinearClosed=nn,e.curveMonotoneX=ft,e.curveMonotoneY=jt,e.curveNatural=Fr,e.curveStep=Vr,e.curveStepAfter=Si,e.curveStepBefore=gi,e.line=F,e.lineRadial=ae,e.linkHorizontal=Ce,e.linkRadial=Re,e.linkVertical=me,e.pie=X,e.pointRadial=Me,e.radialArea=_e,e.radialLine=ae,e.stack=Ki,e.stackOffsetDiverging=jn,e.stackOffsetExpand=ka,e.stackOffsetNone=Mi,e.stackOffsetSilhouette=la,e.stackOffsetWiggle=Fa,e.stackOrderAppearance=Ra,e.stackOrderAscending=oa,e.stackOrderDescending=Ha,e.stackOrderInsideOut=oo,e.stackOrderNone=Pi,e.stackOrderReverse=xn,e.symbol=dt,e.symbolCircle=ce,e.symbolCross=Ge,e.symbolDiamond=qt,e.symbolSquare=Yt,e.symbolStar=Ct,e.symbolTriangle=er,e.symbolWye=St,e.symbols=Et,Object.defineProperty(e,\"__esModule\",{value:!0})})});var Mje=ye((_7,Sje)=>{(function(e,t){typeof _7==\"object\"&&typeof Sje!=\"undefined\"?t(_7,$E(),d7(),PJ()):t(e.d3=e.d3||{},e.d3,e.d3,e.d3)})(_7,function(e,t,r,n){\"use strict\";function i(g){return g.target.depth}function a(g){return g.depth}function o(g,P){return P-1-g.height}function s(g,P){return g.sourceLinks.length?g.depth:P-1}function l(g){return g.targetLinks.length?g.depth:g.sourceLinks.length?t.min(g.sourceLinks,i)-1:0}function u(g){return function(){return g}}function c(g,P){return h(g.source,P.source)||g.index-P.index}function f(g,P){return h(g.target,P.target)||g.index-P.index}function h(g,P){return g.y0-P.y0}function d(g){return g.value}function v(g){return(g.y0+g.y1)/2}function x(g){return v(g.source)*g.value}function b(g){return v(g.target)*g.value}function p(g){return g.index}function E(g){return g.nodes}function k(g){return g.links}function A(g,P){var T=g.get(P);if(!T)throw new Error(\"missing: \"+P);return T}var L=function(){var g=0,P=0,T=1,F=1,q=24,V=8,H=p,X=s,G=E,N=k,W=32,re=2/3;function ae(){var Te={nodes:G.apply(null,arguments),links:N.apply(null,arguments)};return _e(Te),Me(Te),ke(Te),ge(Te,W),ie(Te),Te}ae.update=function(Te){return ie(Te),Te},ae.nodeId=function(Te){return arguments.length?(H=typeof Te==\"function\"?Te:u(Te),ae):H},ae.nodeAlign=function(Te){return arguments.length?(X=typeof Te==\"function\"?Te:u(Te),ae):X},ae.nodeWidth=function(Te){return arguments.length?(q=+Te,ae):q},ae.nodePadding=function(Te){return arguments.length?(V=+Te,ae):V},ae.nodes=function(Te){return arguments.length?(G=typeof Te==\"function\"?Te:u(Te),ae):G},ae.links=function(Te){return arguments.length?(N=typeof Te==\"function\"?Te:u(Te),ae):N},ae.size=function(Te){return arguments.length?(g=P=0,T=+Te[0],F=+Te[1],ae):[T-g,F-P]},ae.extent=function(Te){return arguments.length?(g=+Te[0][0],T=+Te[1][0],P=+Te[0][1],F=+Te[1][1],ae):[[g,P],[T,F]]},ae.iterations=function(Te){return arguments.length?(W=+Te,ae):W};function _e(Te){Te.nodes.forEach(function(Ae,ze){Ae.index=ze,Ae.sourceLinks=[],Ae.targetLinks=[]});var Ee=r.map(Te.nodes,H);Te.links.forEach(function(Ae,ze){Ae.index=ze;var Ce=Ae.source,me=Ae.target;typeof Ce!=\"object\"&&(Ce=Ae.source=A(Ee,Ce)),typeof me!=\"object\"&&(me=Ae.target=A(Ee,me)),Ce.sourceLinks.push(Ae),me.targetLinks.push(Ae)})}function Me(Te){Te.nodes.forEach(function(Ee){Ee.value=Math.max(t.sum(Ee.sourceLinks,d),t.sum(Ee.targetLinks,d))})}function ke(Te){var Ee,Ae,ze;for(Ee=Te.nodes,Ae=[],ze=0;Ee.length;++ze,Ee=Ae,Ae=[])Ee.forEach(function(me){me.depth=ze,me.sourceLinks.forEach(function(Re){Ae.indexOf(Re.target)<0&&Ae.push(Re.target)})});for(Ee=Te.nodes,Ae=[],ze=0;Ee.length;++ze,Ee=Ae,Ae=[])Ee.forEach(function(me){me.height=ze,me.targetLinks.forEach(function(Re){Ae.indexOf(Re.source)<0&&Ae.push(Re.source)})});var Ce=(T-g-q)/(ze-1);Te.nodes.forEach(function(me){me.x1=(me.x0=g+Math.max(0,Math.min(ze-1,Math.floor(X.call(null,me,ze))))*Ce)+q})}function ge(Te){var Ee=r.nest().key(function(Ge){return Ge.x0}).sortKeys(t.ascending).entries(Te.nodes).map(function(Ge){return Ge.values});Ce(),ce();for(var Ae=1,ze=W;ze>0;--ze)Re(Ae*=.99),ce(),me(Ae),ce();function Ce(){var Ge=t.max(Ee,function(qt){return qt.length}),nt=re*(F-P)/(Ge-1);V>nt&&(V=nt);var ct=t.min(Ee,function(qt){return(F-P-(qt.length-1)*V)/t.sum(qt,d)});Ee.forEach(function(qt){qt.forEach(function(rt,ot){rt.y1=(rt.y0=ot)+rt.value*ct})}),Te.links.forEach(function(qt){qt.width=qt.value*ct})}function me(Ge){Ee.forEach(function(nt){nt.forEach(function(ct){if(ct.targetLinks.length){var qt=(t.sum(ct.targetLinks,x)/t.sum(ct.targetLinks,d)-v(ct))*Ge;ct.y0+=qt,ct.y1+=qt}})})}function Re(Ge){Ee.slice().reverse().forEach(function(nt){nt.forEach(function(ct){if(ct.sourceLinks.length){var qt=(t.sum(ct.sourceLinks,b)/t.sum(ct.sourceLinks,d)-v(ct))*Ge;ct.y0+=qt,ct.y1+=qt}})})}function ce(){Ee.forEach(function(Ge){var nt,ct,qt=P,rt=Ge.length,ot;for(Ge.sort(h),ot=0;ot<rt;++ot)nt=Ge[ot],ct=qt-nt.y0,ct>0&&(nt.y0+=ct,nt.y1+=ct),qt=nt.y1+V;if(ct=qt-V-F,ct>0)for(qt=nt.y0-=ct,nt.y1-=ct,ot=rt-2;ot>=0;--ot)nt=Ge[ot],ct=nt.y1+V-qt,ct>0&&(nt.y0-=ct,nt.y1-=ct),qt=nt.y0})}}function ie(Te){Te.nodes.forEach(function(Ee){Ee.sourceLinks.sort(f),Ee.targetLinks.sort(c)}),Te.nodes.forEach(function(Ee){var Ae=Ee.y0,ze=Ae;Ee.sourceLinks.forEach(function(Ce){Ce.y0=Ae+Ce.width/2,Ae+=Ce.width}),Ee.targetLinks.forEach(function(Ce){Ce.y1=ze+Ce.width/2,ze+=Ce.width})})}return ae};function _(g){return[g.source.x1,g.y0]}function C(g){return[g.target.x0,g.y1]}var M=function(){return n.linkHorizontal().source(_).target(C)};e.sankey=L,e.sankeyCenter=l,e.sankeyLeft=a,e.sankeyRight=o,e.sankeyJustify=s,e.sankeyLinkHorizontal=M,Object.defineProperty(e,\"__esModule\",{value:!0})})});var kje=ye((__r,Eje)=>{var SWt=LJ();Eje.exports=function(t,r){var n=[],i=[],a=[],o={},s=[],l;function u(k){a[k]=!1,o.hasOwnProperty(k)&&Object.keys(o[k]).forEach(function(A){delete o[k][A],a[A]&&u(A)})}function c(k){var A=!1;i.push(k),a[k]=!0;var L,_;for(L=0;L<s[k].length;L++)_=s[k][L],_===l?(f(l,i),A=!0):a[_]||(A=c(_));if(A)u(k);else for(L=0;L<s[k].length;L++){_=s[k][L];var C=o[_];C||(C={},o[_]=C),C[_]=!0}return i.pop(),A}function f(k,A){var L=[].concat(A).concat(k);r?r(c):n.push(L)}function h(k){for(var A=0;A<t.length;A++)A<k&&(t[A]=[]),t[A]=t[A].filter(function(L){return L>=k})}function d(k){h(k);for(var A=t,L=SWt(A),_=L.components.filter(function(q){return q.length>1}),C=1/0,M,g=0;g<_.length;g++)for(var P=0;P<_[g].length;P++)_[g][P]<C&&(C=_[g][P],M=g);var T=_[M];if(!T)return!1;var F=t.map(function(q,V){return T.indexOf(V)===-1?[]:q.filter(function(H){return T.indexOf(H)!==-1})});return{leastVertex:C,adjList:F}}l=0;for(var v=t.length;l<v;){var x=d(l);if(l=x.leastVertex,s=x.adjList,s){for(var b=0;b<s.length;b++)for(var p=0;p<s[b].length;p++){var E=s[b][p];a[+E]=!1,o[E]={}}c(l),l=l+1}else l=v}if(!r)return n}});var Lje=ye((x7,Cje)=>{(function(e,t){typeof x7==\"object\"&&typeof Cje!=\"undefined\"?t(x7,$E(),d7(),PJ(),kje()):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,null)})(x7,function(e,t,r,n,i){\"use strict\";i=i&&i.hasOwnProperty(\"default\")?i.default:i;function a(rt){return rt.target.depth}function o(rt){return rt.depth}function s(rt,ot){return ot-1-rt.height}function l(rt,ot){return rt.sourceLinks.length?rt.depth:ot-1}function u(rt){return rt.targetLinks.length?rt.depth:rt.sourceLinks.length?t.min(rt.sourceLinks,a)-1:0}function c(rt){return function(){return rt}}var f=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(rt){return typeof rt}:function(rt){return rt&&typeof Symbol==\"function\"&&rt.constructor===Symbol&&rt!==Symbol.prototype?\"symbol\":typeof rt};function h(rt,ot){return v(rt.source,ot.source)||rt.index-ot.index}function d(rt,ot){return v(rt.target,ot.target)||rt.index-ot.index}function v(rt,ot){return rt.partOfCycle===ot.partOfCycle?rt.y0-ot.y0:rt.circularLinkType===\"top\"||ot.circularLinkType===\"bottom\"?-1:1}function x(rt){return rt.value}function b(rt){return(rt.y0+rt.y1)/2}function p(rt){return b(rt.source)}function E(rt){return b(rt.target)}function k(rt){return rt.index}function A(rt){return rt.nodes}function L(rt){return rt.links}function _(rt,ot){var Rt=rt.get(ot);if(!Rt)throw new Error(\"missing: \"+ot);return Rt}function C(rt,ot){return ot(rt)}var M=25,g=10,P=.3;function T(){var rt=0,ot=0,Rt=1,kt=1,Ct=24,Yt,xr=k,er=l,Ke=A,xt=L,bt=32,Lt=2,St,Et=null;function dt(){var ut={nodes:Ke.apply(null,arguments),links:xt.apply(null,arguments)};Ht(ut),F(ut,xr,Et),$t(ut),Br(ut),q(ut,xr),Or(ut,bt,xr),Nr(ut);for(var Ne=4,Ye=0;Ye<Ne;Ye++)Re(ut,kt,xr),ce(ut,kt,xr),ze(ut,ot,kt,xr),Re(ut,kt,xr),ce(ut,kt,xr);return qt(ut,ot,kt),W(ut,Lt,kt,xr),ut}dt.nodeId=function(ut){return arguments.length?(xr=typeof ut==\"function\"?ut:c(ut),dt):xr},dt.nodeAlign=function(ut){return arguments.length?(er=typeof ut==\"function\"?ut:c(ut),dt):er},dt.nodeWidth=function(ut){return arguments.length?(Ct=+ut,dt):Ct},dt.nodePadding=function(ut){return arguments.length?(Yt=+ut,dt):Yt},dt.nodes=function(ut){return arguments.length?(Ke=typeof ut==\"function\"?ut:c(ut),dt):Ke},dt.links=function(ut){return arguments.length?(xt=typeof ut==\"function\"?ut:c(ut),dt):xt},dt.size=function(ut){return arguments.length?(rt=ot=0,Rt=+ut[0],kt=+ut[1],dt):[Rt-rt,kt-ot]},dt.extent=function(ut){return arguments.length?(rt=+ut[0][0],Rt=+ut[1][0],ot=+ut[0][1],kt=+ut[1][1],dt):[[rt,ot],[Rt,kt]]},dt.iterations=function(ut){return arguments.length?(bt=+ut,dt):bt},dt.circularLinkGap=function(ut){return arguments.length?(Lt=+ut,dt):Lt},dt.nodePaddingRatio=function(ut){return arguments.length?(St=+ut,dt):St},dt.sortNodes=function(ut){return arguments.length?(Et=ut,dt):Et},dt.update=function(ut){return q(ut,xr),Nr(ut),ut.links.forEach(function(Ne){Ne.circular&&(Ne.circularLinkType=Ne.y0+Ne.y1<kt?\"top\":\"bottom\",Ne.source.circularLinkType=Ne.circularLinkType,Ne.target.circularLinkType=Ne.circularLinkType)}),Re(ut,kt,xr,!1),ce(ut,kt,xr),W(ut,Lt,kt,xr),ut};function Ht(ut){ut.nodes.forEach(function(Ye,Ve){Ye.index=Ve,Ye.sourceLinks=[],Ye.targetLinks=[]});var Ne=r.map(ut.nodes,xr);return ut.links.forEach(function(Ye,Ve){Ye.index=Ve;var Xe=Ye.source,ht=Ye.target;(typeof Xe==\"undefined\"?\"undefined\":f(Xe))!==\"object\"&&(Xe=Ye.source=_(Ne,Xe)),(typeof ht==\"undefined\"?\"undefined\":f(ht))!==\"object\"&&(ht=Ye.target=_(Ne,ht)),Xe.sourceLinks.push(Ye),ht.targetLinks.push(Ye)}),ut}function $t(ut){ut.nodes.forEach(function(Ne){Ne.partOfCycle=!1,Ne.value=Math.max(t.sum(Ne.sourceLinks,x),t.sum(Ne.targetLinks,x)),Ne.sourceLinks.forEach(function(Ye){Ye.circular&&(Ne.partOfCycle=!0,Ne.circularLinkType=Ye.circularLinkType)}),Ne.targetLinks.forEach(function(Ye){Ye.circular&&(Ne.partOfCycle=!0,Ne.circularLinkType=Ye.circularLinkType)})})}function fr(ut){var Ne=0,Ye=0,Ve=0,Xe=0,ht=t.max(ut.nodes,function(Le){return Le.column});return ut.links.forEach(function(Le){Le.circular&&(Le.circularLinkType==\"top\"?Ne=Ne+Le.width:Ye=Ye+Le.width,Le.target.column==0&&(Xe=Xe+Le.width),Le.source.column==ht&&(Ve=Ve+Le.width))}),Ne=Ne>0?Ne+M+g:Ne,Ye=Ye>0?Ye+M+g:Ye,Ve=Ve>0?Ve+M+g:Ve,Xe=Xe>0?Xe+M+g:Xe,{top:Ne,bottom:Ye,left:Xe,right:Ve}}function _r(ut,Ne){var Ye=t.max(ut.nodes,function(lt){return lt.column}),Ve=Rt-rt,Xe=kt-ot,ht=Ve+Ne.right+Ne.left,Le=Xe+Ne.top+Ne.bottom,xe=Ve/ht,Se=Xe/Le;return rt=rt*xe+Ne.left,Rt=Ne.right==0?Rt:Rt*xe,ot=ot*Se+Ne.top,kt=kt*Se,ut.nodes.forEach(function(lt){lt.x0=rt+lt.column*((Rt-rt-Ct)/Ye),lt.x1=lt.x0+Ct}),Se}function Br(ut){var Ne,Ye,Ve;for(Ne=ut.nodes,Ye=[],Ve=0;Ne.length;++Ve,Ne=Ye,Ye=[])Ne.forEach(function(Xe){Xe.depth=Ve,Xe.sourceLinks.forEach(function(ht){Ye.indexOf(ht.target)<0&&!ht.circular&&Ye.push(ht.target)})});for(Ne=ut.nodes,Ye=[],Ve=0;Ne.length;++Ve,Ne=Ye,Ye=[])Ne.forEach(function(Xe){Xe.height=Ve,Xe.targetLinks.forEach(function(ht){Ye.indexOf(ht.source)<0&&!ht.circular&&Ye.push(ht.source)})});ut.nodes.forEach(function(Xe){Xe.column=Math.floor(er.call(null,Xe,Ve))})}function Or(ut,Ne,Ye){var Ve=r.nest().key(function(lt){return lt.column}).sortKeys(t.ascending).entries(ut.nodes).map(function(lt){return lt.values});Le(Ye),Se();for(var Xe=1,ht=Ne;ht>0;--ht)xe(Xe*=.99,Ye),Se();function Le(lt){if(St){var Gt=1/0;Ve.forEach(function(ai){var jr=kt*St/(ai.length+1);Gt=jr<Gt?jr:Gt}),Yt=Gt}var Vt=t.min(Ve,function(ai){return(kt-ot-(ai.length-1)*Yt)/t.sum(ai,x)});Vt=Vt*P,ut.links.forEach(function(ai){ai.width=ai.value*Vt});var ar=fr(ut),Qr=_r(ut,ar);Vt=Vt*Qr,ut.links.forEach(function(ai){ai.width=ai.value*Vt}),Ve.forEach(function(ai){var jr=ai.length;ai.forEach(function(ri,bi){ri.depth==Ve.length-1&&jr==1||ri.depth==0&&jr==1?(ri.y0=kt/2-ri.value*Vt,ri.y1=ri.y0+ri.value*Vt):ri.partOfCycle?X(ri,lt)==0?(ri.y0=kt/2+bi,ri.y1=ri.y0+ri.value*Vt):ri.circularLinkType==\"top\"?(ri.y0=ot+bi,ri.y1=ri.y0+ri.value*Vt):(ri.y0=kt-ri.value*Vt-bi,ri.y1=ri.y0+ri.value*Vt):ar.top==0||ar.bottom==0?(ri.y0=(kt-ot)/jr*bi,ri.y1=ri.y0+ri.value*Vt):(ri.y0=(kt-ot)/2-jr/2+bi,ri.y1=ri.y0+ri.value*Vt)})})}function xe(lt,Gt){var Vt=Ve.length;Ve.forEach(function(ar){var Qr=ar.length,ai=ar[0].depth;ar.forEach(function(jr){var ri;if((jr.sourceLinks.length||jr.targetLinks.length)&&!(jr.partOfCycle&&X(jr,Gt)>0))if(ai==0&&Qr==1)ri=jr.y1-jr.y0,jr.y0=kt/2-ri/2,jr.y1=kt/2+ri/2;else if(ai==Vt-1&&Qr==1)ri=jr.y1-jr.y0,jr.y0=kt/2-ri/2,jr.y1=kt/2+ri/2;else{var bi=0,nn=t.mean(jr.sourceLinks,E),Wi=t.mean(jr.targetLinks,p);nn&&Wi?bi=(nn+Wi)/2:bi=nn||Wi;var Ni=(bi-b(jr))*lt;jr.y0+=Ni,jr.y1+=Ni}})})}function Se(){Ve.forEach(function(lt){var Gt,Vt,ar=ot,Qr=lt.length,ai;for(lt.sort(v),ai=0;ai<Qr;++ai)Gt=lt[ai],Vt=ar-Gt.y0,Vt>0&&(Gt.y0+=Vt,Gt.y1+=Vt),ar=Gt.y1+Yt;if(Vt=ar-Yt-kt,Vt>0)for(ar=Gt.y0-=Vt,Gt.y1-=Vt,ai=Qr-2;ai>=0;--ai)Gt=lt[ai],Vt=Gt.y1+Yt-ar,Vt>0&&(Gt.y0-=Vt,Gt.y1-=Vt),ar=Gt.y0})}}function Nr(ut){ut.nodes.forEach(function(Ne){Ne.sourceLinks.sort(d),Ne.targetLinks.sort(h)}),ut.nodes.forEach(function(Ne){var Ye=Ne.y0,Ve=Ye,Xe=Ne.y1,ht=Xe;Ne.sourceLinks.forEach(function(Le){Le.circular?(Le.y0=Xe-Le.width/2,Xe=Xe-Le.width):(Le.y0=Ye+Le.width/2,Ye+=Le.width)}),Ne.targetLinks.forEach(function(Le){Le.circular?(Le.y1=ht-Le.width/2,ht=ht-Le.width):(Le.y1=Ve+Le.width/2,Ve+=Le.width)})})}return dt}function F(rt,ot,Rt){var kt=0;if(Rt===null){for(var Ct=[],Yt=0;Yt<rt.links.length;Yt++){var xr=rt.links[Yt],er=xr.source.index,Ke=xr.target.index;Ct[er]||(Ct[er]=[]),Ct[Ke]||(Ct[Ke]=[]),Ct[er].indexOf(Ke)===-1&&Ct[er].push(Ke)}var xt=i(Ct);xt.sort(function(Et,dt){return Et.length-dt.length});var bt={};for(Yt=0;Yt<xt.length;Yt++){var Lt=xt[Yt],St=Lt.slice(-2);bt[St[0]]||(bt[St[0]]={}),bt[St[0]][St[1]]=!0}rt.links.forEach(function(Et){var dt=Et.target.index,Ht=Et.source.index;dt===Ht||bt[Ht]&&bt[Ht][dt]?(Et.circular=!0,Et.circularLinkID=kt,kt=kt+1):Et.circular=!1})}else rt.links.forEach(function(Et){Et.source[Rt]<Et.target[Rt]?Et.circular=!1:(Et.circular=!0,Et.circularLinkID=kt,kt=kt+1)})}function q(rt,ot){var Rt=0,kt=0;rt.links.forEach(function(Ct){Ct.circular&&(Ct.source.circularLinkType||Ct.target.circularLinkType?Ct.circularLinkType=Ct.source.circularLinkType?Ct.source.circularLinkType:Ct.target.circularLinkType:Ct.circularLinkType=Rt<kt?\"top\":\"bottom\",Ct.circularLinkType==\"top\"?Rt=Rt+1:kt=kt+1,rt.nodes.forEach(function(Yt){(C(Yt,ot)==C(Ct.source,ot)||C(Yt,ot)==C(Ct.target,ot))&&(Yt.circularLinkType=Ct.circularLinkType)}))}),rt.links.forEach(function(Ct){Ct.circular&&(Ct.source.circularLinkType==Ct.target.circularLinkType&&(Ct.circularLinkType=Ct.source.circularLinkType),ct(Ct,ot)&&(Ct.circularLinkType=Ct.source.circularLinkType))})}function V(rt){var ot=Math.abs(rt.y1-rt.y0),Rt=Math.abs(rt.target.x0-rt.source.x1);return Math.atan(Rt/ot)}function H(rt,ot){return rt.source.column<ot.target.column?!1:!(rt.target.column>ot.source.column)}function X(rt,ot){var Rt=0;rt.sourceLinks.forEach(function(Ct){Rt=Ct.circular&&!ct(Ct,ot)?Rt+1:Rt});var kt=0;return rt.targetLinks.forEach(function(Ct){kt=Ct.circular&&!ct(Ct,ot)?kt+1:kt}),Rt+kt}function G(rt){var ot=rt.source.sourceLinks,Rt=0;ot.forEach(function(Yt){Rt=Yt.circular?Rt+1:Rt});var kt=rt.target.targetLinks,Ct=0;return kt.forEach(function(Yt){Ct=Yt.circular?Ct+1:Ct}),!(Rt>1||Ct>1)}function N(rt,ot,Rt){return rt.sort(ae),rt.forEach(function(kt,Ct){var Yt=0;if(ct(kt,Rt)&&G(kt))kt.circularPathData.verticalBuffer=Yt+kt.width/2;else{var xr=0;for(xr;xr<Ct;xr++)if(H(rt[Ct],rt[xr])){var er=rt[xr].circularPathData.verticalBuffer+rt[xr].width/2+ot;Yt=er>Yt?er:Yt}kt.circularPathData.verticalBuffer=Yt+kt.width/2}}),rt}function W(rt,ot,Rt,kt){var Ct=5,Yt=t.min(rt.links,function(Ke){return Ke.source.y0});rt.links.forEach(function(Ke){Ke.circular&&(Ke.circularPathData={})});var xr=rt.links.filter(function(Ke){return Ke.circularLinkType==\"top\"});N(xr,ot,kt);var er=rt.links.filter(function(Ke){return Ke.circularLinkType==\"bottom\"});N(er,ot,kt),rt.links.forEach(function(Ke){if(Ke.circular){if(Ke.circularPathData.arcRadius=Ke.width+g,Ke.circularPathData.leftNodeBuffer=Ct,Ke.circularPathData.rightNodeBuffer=Ct,Ke.circularPathData.sourceWidth=Ke.source.x1-Ke.source.x0,Ke.circularPathData.sourceX=Ke.source.x0+Ke.circularPathData.sourceWidth,Ke.circularPathData.targetX=Ke.target.x0,Ke.circularPathData.sourceY=Ke.y0,Ke.circularPathData.targetY=Ke.y1,ct(Ke,kt)&&G(Ke))Ke.circularPathData.leftSmallArcRadius=g+Ke.width/2,Ke.circularPathData.leftLargeArcRadius=g+Ke.width/2,Ke.circularPathData.rightSmallArcRadius=g+Ke.width/2,Ke.circularPathData.rightLargeArcRadius=g+Ke.width/2,Ke.circularLinkType==\"bottom\"?(Ke.circularPathData.verticalFullExtent=Ke.source.y1+M+Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.rightLargeArcRadius):(Ke.circularPathData.verticalFullExtent=Ke.source.y0-M-Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.rightLargeArcRadius);else{var xt=Ke.source.column,bt=Ke.circularLinkType,Lt=rt.links.filter(function(dt){return dt.source.column==xt&&dt.circularLinkType==bt});Ke.circularLinkType==\"bottom\"?Lt.sort(Me):Lt.sort(_e);var St=0;Lt.forEach(function(dt,Ht){dt.circularLinkID==Ke.circularLinkID&&(Ke.circularPathData.leftSmallArcRadius=g+Ke.width/2+St,Ke.circularPathData.leftLargeArcRadius=g+Ke.width/2+Ht*ot+St),St=St+dt.width}),xt=Ke.target.column,Lt=rt.links.filter(function(dt){return dt.target.column==xt&&dt.circularLinkType==bt}),Ke.circularLinkType==\"bottom\"?Lt.sort(ge):Lt.sort(ke),St=0,Lt.forEach(function(dt,Ht){dt.circularLinkID==Ke.circularLinkID&&(Ke.circularPathData.rightSmallArcRadius=g+Ke.width/2+St,Ke.circularPathData.rightLargeArcRadius=g+Ke.width/2+Ht*ot+St),St=St+dt.width}),Ke.circularLinkType==\"bottom\"?(Ke.circularPathData.verticalFullExtent=Math.max(Rt,Ke.source.y1,Ke.target.y1)+M+Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.rightLargeArcRadius):(Ke.circularPathData.verticalFullExtent=Yt-M-Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.rightLargeArcRadius)}Ke.circularPathData.leftInnerExtent=Ke.circularPathData.sourceX+Ke.circularPathData.leftNodeBuffer,Ke.circularPathData.rightInnerExtent=Ke.circularPathData.targetX-Ke.circularPathData.rightNodeBuffer,Ke.circularPathData.leftFullExtent=Ke.circularPathData.sourceX+Ke.circularPathData.leftLargeArcRadius+Ke.circularPathData.leftNodeBuffer,Ke.circularPathData.rightFullExtent=Ke.circularPathData.targetX-Ke.circularPathData.rightLargeArcRadius-Ke.circularPathData.rightNodeBuffer}if(Ke.circular)Ke.path=re(Ke);else{var Et=n.linkHorizontal().source(function(dt){var Ht=dt.source.x0+(dt.source.x1-dt.source.x0),$t=dt.y0;return[Ht,$t]}).target(function(dt){var Ht=dt.target.x0,$t=dt.y1;return[Ht,$t]});Ke.path=Et(Ke)}})}function re(rt){var ot=\"\";return rt.circularLinkType==\"top\"?ot=\"M\"+rt.circularPathData.sourceX+\" \"+rt.circularPathData.sourceY+\" L\"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.sourceY+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftSmallArcRadius+\" 0 0 0 \"+rt.circularPathData.leftFullExtent+\" \"+(rt.circularPathData.sourceY-rt.circularPathData.leftSmallArcRadius)+\" L\"+rt.circularPathData.leftFullExtent+\" \"+rt.circularPathData.verticalLeftInnerExtent+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftLargeArcRadius+\" 0 0 0 \"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" L\"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightLargeArcRadius+\" 0 0 0 \"+rt.circularPathData.rightFullExtent+\" \"+rt.circularPathData.verticalRightInnerExtent+\" L\"+rt.circularPathData.rightFullExtent+\" \"+(rt.circularPathData.targetY-rt.circularPathData.rightSmallArcRadius)+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightSmallArcRadius+\" 0 0 0 \"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.targetY+\" L\"+rt.circularPathData.targetX+\" \"+rt.circularPathData.targetY:ot=\"M\"+rt.circularPathData.sourceX+\" \"+rt.circularPathData.sourceY+\" L\"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.sourceY+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftSmallArcRadius+\" 0 0 1 \"+rt.circularPathData.leftFullExtent+\" \"+(rt.circularPathData.sourceY+rt.circularPathData.leftSmallArcRadius)+\" L\"+rt.circularPathData.leftFullExtent+\" \"+rt.circularPathData.verticalLeftInnerExtent+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftLargeArcRadius+\" 0 0 1 \"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" L\"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightLargeArcRadius+\" 0 0 1 \"+rt.circularPathData.rightFullExtent+\" \"+rt.circularPathData.verticalRightInnerExtent+\" L\"+rt.circularPathData.rightFullExtent+\" \"+(rt.circularPathData.targetY+rt.circularPathData.rightSmallArcRadius)+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightSmallArcRadius+\" 0 0 1 \"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.targetY+\" L\"+rt.circularPathData.targetX+\" \"+rt.circularPathData.targetY,ot}function ae(rt,ot){return ie(rt)==ie(ot)?rt.circularLinkType==\"bottom\"?Me(rt,ot):_e(rt,ot):ie(ot)-ie(rt)}function _e(rt,ot){return rt.y0-ot.y0}function Me(rt,ot){return ot.y0-rt.y0}function ke(rt,ot){return rt.y1-ot.y1}function ge(rt,ot){return ot.y1-rt.y1}function ie(rt){return rt.target.column-rt.source.column}function Te(rt){return rt.target.x0-rt.source.x1}function Ee(rt,ot){var Rt=V(rt),kt=Te(ot)/Math.tan(Rt),Ct=nt(rt)==\"up\"?rt.y1+kt:rt.y1-kt;return Ct}function Ae(rt,ot){var Rt=V(rt),kt=Te(ot)/Math.tan(Rt),Ct=nt(rt)==\"up\"?rt.y1-kt:rt.y1+kt;return Ct}function ze(rt,ot,Rt,kt){rt.links.forEach(function(Ct){if(!Ct.circular&&Ct.target.column-Ct.source.column>1){var Yt=Ct.source.column+1,xr=Ct.target.column-1,er=1,Ke=xr-Yt+1;for(er=1;Yt<=xr;Yt++,er++)rt.nodes.forEach(function(xt){if(xt.column==Yt){var bt=er/(Ke+1),Lt=Math.pow(1-bt,3),St=3*bt*Math.pow(1-bt,2),Et=3*Math.pow(bt,2)*(1-bt),dt=Math.pow(bt,3),Ht=Lt*Ct.y0+St*Ct.y0+Et*Ct.y1+dt*Ct.y1,$t=Ht-Ct.width/2,fr=Ht+Ct.width/2,_r;$t>xt.y0&&$t<xt.y1?(_r=xt.y1-$t+10,_r=xt.circularLinkType==\"bottom\"?_r:-_r,xt=me(xt,_r,ot,Rt),rt.nodes.forEach(function(Br){C(Br,kt)==C(xt,kt)||Br.column!=xt.column||Ce(xt,Br)&&me(Br,_r,ot,Rt)})):fr>xt.y0&&fr<xt.y1?(_r=fr-xt.y0+10,xt=me(xt,_r,ot,Rt),rt.nodes.forEach(function(Br){C(Br,kt)==C(xt,kt)||Br.column!=xt.column||Br.y0<xt.y1&&Br.y1>xt.y1&&me(Br,_r,ot,Rt)})):$t<xt.y0&&fr>xt.y1&&(_r=fr-xt.y0+10,xt=me(xt,_r,ot,Rt),rt.nodes.forEach(function(Br){C(Br,kt)==C(xt,kt)||Br.column!=xt.column||Br.y0<xt.y1&&Br.y1>xt.y1&&me(Br,_r,ot,Rt)}))}})}})}function Ce(rt,ot){return rt.y0>ot.y0&&rt.y0<ot.y1||rt.y1>ot.y0&&rt.y1<ot.y1?!0:rt.y0<ot.y0&&rt.y1>ot.y1}function me(rt,ot,Rt,kt){return rt.y0+ot>=Rt&&rt.y1+ot<=kt&&(rt.y0=rt.y0+ot,rt.y1=rt.y1+ot,rt.targetLinks.forEach(function(Ct){Ct.y1=Ct.y1+ot}),rt.sourceLinks.forEach(function(Ct){Ct.y0=Ct.y0+ot})),rt}function Re(rt,ot,Rt,kt){rt.nodes.forEach(function(Ct){kt&&Ct.y+(Ct.y1-Ct.y0)>ot&&(Ct.y=Ct.y-(Ct.y+(Ct.y1-Ct.y0)-ot));var Yt=rt.links.filter(function(Ke){return C(Ke.source,Rt)==C(Ct,Rt)}),xr=Yt.length;xr>1&&Yt.sort(function(Ke,xt){if(!Ke.circular&&!xt.circular){if(Ke.target.column==xt.target.column)return Ke.y1-xt.y1;if(Ge(Ke,xt)){if(Ke.target.column>xt.target.column){var bt=Ae(xt,Ke);return Ke.y1-bt}if(xt.target.column>Ke.target.column){var Lt=Ae(Ke,xt);return Lt-xt.y1}}else return Ke.y1-xt.y1}if(Ke.circular&&!xt.circular)return Ke.circularLinkType==\"top\"?-1:1;if(xt.circular&&!Ke.circular)return xt.circularLinkType==\"top\"?1:-1;if(Ke.circular&&xt.circular)return Ke.circularLinkType===xt.circularLinkType&&Ke.circularLinkType==\"top\"?Ke.target.column===xt.target.column?Ke.target.y1-xt.target.y1:xt.target.column-Ke.target.column:Ke.circularLinkType===xt.circularLinkType&&Ke.circularLinkType==\"bottom\"?Ke.target.column===xt.target.column?xt.target.y1-Ke.target.y1:Ke.target.column-xt.target.column:Ke.circularLinkType==\"top\"?-1:1});var er=Ct.y0;Yt.forEach(function(Ke){Ke.y0=er+Ke.width/2,er=er+Ke.width}),Yt.forEach(function(Ke,xt){if(Ke.circularLinkType==\"bottom\"){var bt=xt+1,Lt=0;for(bt;bt<xr;bt++)Lt=Lt+Yt[bt].width;Ke.y0=Ct.y1-Lt-Ke.width/2}})})}function ce(rt,ot,Rt){rt.nodes.forEach(function(kt){var Ct=rt.links.filter(function(er){return C(er.target,Rt)==C(kt,Rt)}),Yt=Ct.length;Yt>1&&Ct.sort(function(er,Ke){if(!er.circular&&!Ke.circular){if(er.source.column==Ke.source.column)return er.y0-Ke.y0;if(Ge(er,Ke)){if(Ke.source.column<er.source.column){var xt=Ee(Ke,er);return er.y0-xt}if(er.source.column<Ke.source.column){var bt=Ee(er,Ke);return bt-Ke.y0}}else return er.y0-Ke.y0}if(er.circular&&!Ke.circular)return er.circularLinkType==\"top\"?-1:1;if(Ke.circular&&!er.circular)return Ke.circularLinkType==\"top\"?1:-1;if(er.circular&&Ke.circular)return er.circularLinkType===Ke.circularLinkType&&er.circularLinkType==\"top\"?er.source.column===Ke.source.column?er.source.y1-Ke.source.y1:er.source.column-Ke.source.column:er.circularLinkType===Ke.circularLinkType&&er.circularLinkType==\"bottom\"?er.source.column===Ke.source.column?er.source.y1-Ke.source.y1:Ke.source.column-er.source.column:er.circularLinkType==\"top\"?-1:1});var xr=kt.y0;Ct.forEach(function(er){er.y1=xr+er.width/2,xr=xr+er.width}),Ct.forEach(function(er,Ke){if(er.circularLinkType==\"bottom\"){var xt=Ke+1,bt=0;for(xt;xt<Yt;xt++)bt=bt+Ct[xt].width;er.y1=kt.y1-bt-er.width/2}})})}function Ge(rt,ot){return nt(rt)==nt(ot)}function nt(rt){return rt.y0-rt.y1>0?\"up\":\"down\"}function ct(rt,ot){return C(rt.source,ot)==C(rt.target,ot)}function qt(rt,ot,Rt){var kt=rt.nodes,Ct=rt.links,Yt=!1,xr=!1;if(Ct.forEach(function(St){St.circularLinkType==\"top\"?Yt=!0:St.circularLinkType==\"bottom\"&&(xr=!0)}),Yt==!1||xr==!1){var er=t.min(kt,function(St){return St.y0}),Ke=t.max(kt,function(St){return St.y1}),xt=Ke-er,bt=Rt-ot,Lt=bt/xt;kt.forEach(function(St){var Et=(St.y1-St.y0)*Lt;St.y0=(St.y0-er)*Lt,St.y1=St.y0+Et}),Ct.forEach(function(St){St.y0=(St.y0-er)*Lt,St.y1=(St.y1-er)*Lt,St.width=St.width*Lt})}}e.sankeyCircular=T,e.sankeyCenter=u,e.sankeyLeft=o,e.sankeyRight=s,e.sankeyJustify=l,Object.defineProperty(e,\"__esModule\",{value:!0})})});var IJ=ye((x_r,Pje)=>{\"use strict\";Pje.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\"}}});var Gje=ye((b_r,Hje)=>{\"use strict\";var Ije=bje(),MWt=(R2(),B1(I2)).interpolateNumber,CA=xa(),Gk=Mje(),EWt=Lje(),pu=IJ(),LA=id(),aw=va(),kWt=ao(),p1=Mr(),zJ=p1.strTranslate,CWt=p1.strRotate,FJ=Km(),jk=FJ.keyFun,b7=FJ.repeat,Oje=FJ.unwrap,Rje=Pl(),LWt=ba(),Bje=Nh(),PWt=Bje.CAP_SHIFT,IWt=Bje.LINE_SPACING,RWt=3;function DWt(e,t,r){var n=Oje(t),i=n.trace,a=i.domain,o=i.orientation===\"h\",s=i.node.pad,l=i.node.thickness,u={justify:Gk.sankeyJustify,left:Gk.sankeyLeft,right:Gk.sankeyRight,center:Gk.sankeyCenter}[i.node.align],c=e.width*(a.x[1]-a.x[0]),f=e.height*(a.y[1]-a.y[0]),h=n._nodes,d=n._links,v=n.circular,x;v?x=EWt.sankeyCircular().circularLinkGap(0):x=Gk.sankey(),x.iterations(pu.sankeyIterations).size(o?[c,f]:[f,c]).nodeWidth(l).nodePadding(s).nodeId(function(V){return V.pointNumber}).nodeAlign(u).nodes(h).links(d);var b=x();x.nodePadding()<s&&p1.warn(\"node.pad was reduced to \",x.nodePadding(),\" to fit within the figure.\");var p,E,k;for(var A in n._groupLookup){var L=parseInt(n._groupLookup[A]),_;for(p=0;p<b.nodes.length;p++)if(b.nodes[p].pointNumber===L){_=b.nodes[p];break}if(_){var C={pointNumber:parseInt(A),x0:_.x0,x1:_.x1,y0:_.y0,y1:_.y1,partOfGroup:!0,sourceLinks:[],targetLinks:[]};b.nodes.unshift(C),_.childrenNodes.unshift(C)}}function M(){for(p=0;p<b.nodes.length;p++){var V=b.nodes[p],H={},X,G;for(E=0;E<V.targetLinks.length;E++)G=V.targetLinks[E],X=G.source.pointNumber+\":\"+G.target.pointNumber,H.hasOwnProperty(X)||(H[X]=[]),H[X].push(G);var N=Object.keys(H);for(E=0;E<N.length;E++){X=N[E];var W=H[X],re=0,ae={};for(k=0;k<W.length;k++)G=W[k],ae[G.label]||(ae[G.label]=0),ae[G.label]+=G.value,re+=G.value;for(k=0;k<W.length;k++)G=W[k],G.flow={value:re,labelConcentration:ae[G.label]/re,concentration:G.value/re,links:W},G.concentrationscale&&(G.color=LA(G.concentrationscale(G.flow.labelConcentration)))}var _e=0;for(E=0;E<V.sourceLinks.length;E++)_e+=V.sourceLinks[E].value;for(E=0;E<V.sourceLinks.length;E++)G=V.sourceLinks[E],G.concentrationOut=G.value/_e;var Me=0;for(E=0;E<V.targetLinks.length;E++)Me+=V.targetLinks[E].value;for(E=0;E<V.targetLinks.length;E++)G=V.targetLinks[E],G.concenrationIn=G.value/Me}}M();function g(V){V.forEach(function(H){var X,G,N=0,W=H.length,re;for(H.sort(function(ae,_e){return ae.y0-_e.y0}),re=0;re<W;++re)X=H[re],X.y0>=N||(G=N-X.y0,G>1e-6&&(X.y0+=G,X.y1+=G)),N=X.y1+s})}function P(V){var H=V.map(function(_e,Me){return{x0:_e.x0,index:Me}}).sort(function(_e,Me){return _e.x0-Me.x0}),X=[],G=-1,N,W=-1/0,re;for(p=0;p<H.length;p++){var ae=V[H[p].index];ae.x0>W+l&&(G+=1,N=ae.x0),W=ae.x0,X[G]||(X[G]=[]),X[G].push(ae),re=N-ae.x0,ae.x0+=re,ae.x1+=re}return X}if(i.node.x.length&&i.node.y.length){for(p=0;p<Math.min(i.node.x.length,i.node.y.length,b.nodes.length);p++)if(i.node.x[p]&&i.node.y[p]){var T=[i.node.x[p]*c,i.node.y[p]*f];b.nodes[p].x0=T[0]-l/2,b.nodes[p].x1=T[0]+l/2;var F=b.nodes[p].y1-b.nodes[p].y0;b.nodes[p].y0=T[1]-F/2,b.nodes[p].y1=T[1]+F/2}if(i.arrangement===\"snap\"){h=b.nodes;var q=P(h);g(q)}x.update(b)}return{circular:v,key:r,trace:i,guid:p1.randstr(),horizontal:o,width:c,height:f,nodePad:i.node.pad,nodeLineColor:i.node.line.color,nodeLineWidth:i.node.line.width,linkLineColor:i.link.line.color,linkLineWidth:i.link.line.width,linkArrowLength:i.link.arrowlen,valueFormat:i.valueformat,valueSuffix:i.valuesuffix,textFont:i.textfont,translateX:a.x[0]*e.width+e.margin.l,translateY:e.height-a.y[1]*e.height+e.margin.t,dragParallel:o?f:c,dragPerpendicular:o?c:f,arrangement:i.arrangement,sankey:x,graph:b,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function zWt(e,t,r){var n=LA(t.color),i=LA(t.hovercolor),a=t.source.label+\"|\"+t.target.label,o=a+\"__\"+r;return t.trace=e.trace,t.curveNumber=e.trace.index,{circular:e.circular,key:o,traceId:e.key,pointNumber:t.pointNumber,link:t,tinyColorHue:aw.tinyRGB(n),tinyColorAlpha:n.getAlpha(),tinyColorHoverHue:aw.tinyRGB(i),tinyColorHoverAlpha:i.getAlpha(),linkPath:qJ,linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,linkArrowLength:e.linkArrowLength,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,parent:e,interactionState:e.interactionState,flow:t.flow}}function FWt(e,t){var r=\"\",n=e.width/2,i=e.circularPathData,a=i.sourceX+i.verticalBuffer<i.targetX,o=i.rightFullExtent-i.rightLargeArcRadius-t<=i.leftFullExtent-n,s=Math.abs(i.rightFullExtent-i.leftFullExtent-n)<n;return e.circularLinkType===\"top\"?(r=\"M \"+(i.targetX-t)+\" \"+(i.targetY+n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.targetY+n)+\"A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightSmallArcRadius+n)+\" 0 0 1 \"+(i.rightFullExtent-n-t)+\" \"+(i.targetY-i.rightSmallArcRadius)+\"L \"+(i.rightFullExtent-n-t)+\" \"+i.verticalRightInnerExtent,a&&o?r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 1 \"+(i.rightFullExtent+n-t-(i.rightLargeArcRadius-n))+\" \"+(i.verticalRightInnerExtent-(i.rightLargeArcRadius+n))+\" L \"+(i.rightFullExtent+n-(i.rightLargeArcRadius-n)-t)+\" \"+(i.verticalRightInnerExtent-(i.rightLargeArcRadius+n))+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftLargeArcRadius+n)+\" 0 0 1 \"+(i.leftFullExtent+n)+\" \"+i.verticalRightInnerExtent:a?r+=\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightLargeArcRadius-n)+\" 0 0 0 \"+(i.rightFullExtent-n-t-(i.rightLargeArcRadius-n))+\" \"+(i.verticalRightInnerExtent-(i.rightLargeArcRadius-n))+\" L \"+(i.leftFullExtent+n+(i.rightLargeArcRadius-n))+\" \"+(i.verticalRightInnerExtent-(i.rightLargeArcRadius-n))+\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftLargeArcRadius-n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent:r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 1 \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent-n)+\" L \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftLargeArcRadius+n)+\" 0 0 1 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent,r+=\" L \"+(i.leftFullExtent+n)+\" \"+(i.sourceY-i.leftSmallArcRadius)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 1 \"+i.leftInnerExtent+\" \"+(i.sourceY+n)+\" L \"+i.sourceX+\" \"+(i.sourceY+n)+\" L \"+i.sourceX+\" \"+(i.sourceY-n)+\" L \"+i.leftInnerExtent+\" \"+(i.sourceY-n)+\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftSmallArcRadius-n)+\" 0 0 0 \"+(i.leftFullExtent-n)+\" \"+(i.sourceY-i.leftSmallArcRadius)+\" L \"+(i.leftFullExtent-n)+\" \"+i.verticalLeftInnerExtent,a&&o?r+=\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent-n)+\" \"+(i.verticalFullExtent+n)+\"L\"+(i.rightFullExtent+n-t)+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 0 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:a?r+=\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 1 \"+(i.leftFullExtent+n)+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.rightFullExtent-n-t)+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 1 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:r+=\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftLargeArcRadius-n)+\" 0 0 0 \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent+n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightLargeArcRadius-n)+\" 0 0 0 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent,r+=\" L \"+(i.rightFullExtent+n-t)+\" \"+(i.targetY-i.rightSmallArcRadius)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 0 \"+(i.rightInnerExtent-t)+\" \"+(i.targetY-n)+\" L \"+(i.targetX-t)+\" \"+(i.targetY-n)+(t>0?\" L \"+i.targetX+\" \"+i.targetY:\"\")+\"Z\"):(r=\"M \"+(i.targetX-t)+\" \"+(i.targetY-n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.targetY-n)+\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightSmallArcRadius+n)+\" 0 0 0 \"+(i.rightFullExtent-n-t)+\" \"+(i.targetY+i.rightSmallArcRadius)+\" L \"+(i.rightFullExtent-n-t)+\" \"+i.verticalRightInnerExtent,a&&o?r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.rightInnerExtent-n-t)+\" \"+(i.verticalFullExtent+n)+\" L \"+(i.rightFullExtent+n-t-(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent:a?r+=\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.rightFullExtent-t-n-(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.leftFullExtent+n+(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent:r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent+n)+\" L \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftLargeArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent,r+=\" L \"+(i.leftFullExtent+n)+\" \"+(i.sourceY+i.leftSmallArcRadius)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 0 \"+i.leftInnerExtent+\" \"+(i.sourceY-n)+\" L \"+i.sourceX+\" \"+(i.sourceY-n)+\" L \"+i.sourceX+\" \"+(i.sourceY+n)+\" L \"+i.leftInnerExtent+\" \"+(i.sourceY+n)+\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftSmallArcRadius-n)+\" 0 0 1 \"+(i.leftFullExtent-n)+\" \"+(i.sourceY+i.leftSmallArcRadius)+\" L \"+(i.leftFullExtent-n)+\" \"+i.verticalLeftInnerExtent,a&&o?r+=\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.leftFullExtent-n-(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.rightFullExtent+n-t+(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:a?r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+(i.verticalFullExtent+n)+\" L \"+(i.rightFullExtent-t-n)+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:r+=\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftLargeArcRadius-n)+\" 0 0 1 \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightLargeArcRadius-n)+\" 0 0 1 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent,r+=\" L \"+(i.rightFullExtent+n-t)+\" \"+(i.targetY+i.rightSmallArcRadius)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.rightInnerExtent-t)+\" \"+(i.targetY+n)+\" L \"+(i.targetX-t)+\" \"+(i.targetY+n)+(t>0?\" L \"+i.targetX+\" \"+i.targetY:\"\")+\"Z\"),r}function qJ(){var e=.5;function t(r){var n=r.linkArrowLength;if(r.link.circular)return FWt(r.link,n);var i=Math.abs((r.link.target.x0-r.link.source.x1)/2);n>i&&(n=i);var a=r.link.source.x1,o=r.link.target.x0-n,s=MWt(a,o),l=s(e),u=s(1-e),c=r.link.y0-r.link.width/2,f=r.link.y0+r.link.width/2,h=r.link.y1-r.link.width/2,d=r.link.y1+r.link.width/2,v=\"M\"+a+\",\"+c,x=\"C\"+l+\",\"+c+\" \"+u+\",\"+h+\" \"+o+\",\"+h,b=\"C\"+u+\",\"+d+\" \"+l+\",\"+f+\" \"+a+\",\"+f,p=n>0?\"L\"+(o+n)+\",\"+(h+r.link.width/2):\"\";return p+=\"L\"+o+\",\"+d,v+x+p+b+\"Z\"}return t}function qWt(e,t){var r=LA(t.color),n=pu.nodePadAcross,i=e.nodePad/2;t.dx=t.x1-t.x0,t.dy=t.y1-t.y0;var a=t.dx,o=Math.max(.5,t.dy),s=\"node_\"+t.pointNumber;return t.group&&(s=p1.randstr()),t.trace=e.trace,t.curveNumber=e.trace.index,{index:t.pointNumber,key:s,partOfGroup:t.partOfGroup||!1,group:t.group,traceId:e.key,trace:e.trace,node:t,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:e.horizontal?t.dy/2+1:t.dx/2+1,left:t.originalLayer===1,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:aw.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,graph:e.graph,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,s].join(\"_\"),interactionState:e.interactionState,figure:e}}function DJ(e){e.attr(\"transform\",function(t){return zJ(t.node.x0.toFixed(3),t.node.y0.toFixed(3))})}function OWt(e){e.call(DJ)}function Nje(e,t){e.call(OWt),t.attr(\"d\",qJ())}function Dje(e){e.attr(\"width\",function(t){return t.node.x1-t.node.x0}).attr(\"height\",function(t){return t.visibleHeight})}function RJ(e){return e.link.width>1||e.linkLineWidth>0}function zje(e){var t=zJ(e.translateX,e.translateY);return t+(e.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\")}function Fje(e,t,r){e.on(\".basic\",null).on(\"mouseover.basic\",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.hover(this,n,t),n.interactionState.hovered=[this,n])}).on(\"mousemove.basic\",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.follow(this,n),n.interactionState.hovered=[this,n])}).on(\"mouseout.basic\",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.unhover(this,n,t),n.interactionState.hovered=!1)}).on(\"click.basic\",function(n){n.interactionState.hovered&&(r.unhover(this,n,t),n.interactionState.hovered=!1),!n.interactionState.dragInProgress&&!n.partOfGroup&&r.select(this,n,t)})}function BWt(e,t,r,n){var i=CA.behavior.drag().origin(function(a){return{x:a.node.x0+a.visibleWidth/2,y:a.node.y0+a.visibleHeight/2}}).on(\"dragstart\",function(a){if(a.arrangement!==\"fixed\"&&(p1.ensureSingle(n._fullLayout._infolayer,\"g\",\"dragcover\",function(s){n._fullLayout._dragCover=s}),p1.raiseToTop(this),a.interactionState.dragInProgress=a.node,qje(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),a.arrangement===\"snap\")){var o=a.traceId+\"|\"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):NWt(e,o,a,n),UWt(e,t,a,o,n)}}).on(\"drag\",function(a){if(a.arrangement!==\"fixed\"){var o=CA.event.x,s=CA.event.y;a.arrangement===\"snap\"?(a.node.x0=o-a.visibleWidth/2,a.node.x1=o+a.visibleWidth/2,a.node.y0=s-a.visibleHeight/2,a.node.y1=s+a.visibleHeight/2):(a.arrangement===\"freeform\"&&(a.node.x0=o-a.visibleWidth/2,a.node.x1=o+a.visibleWidth/2),s=Math.max(0,Math.min(a.size-a.visibleHeight/2,s)),a.node.y0=s-a.visibleHeight/2,a.node.y1=s+a.visibleHeight/2),qje(a.node),a.arrangement!==\"snap\"&&(a.sankey.update(a.graph),Nje(e.filter(Vje(a)),t))}}).on(\"dragend\",function(a){if(a.arrangement!==\"fixed\"){a.interactionState.dragInProgress=!1;for(var o=0;o<a.node.childrenNodes.length;o++)a.node.childrenNodes[o].x=a.node.x,a.node.childrenNodes[o].y=a.node.y;a.arrangement!==\"snap\"&&Uje(a,n)}});e.on(\".drag\",null).call(i)}function NWt(e,t,r,n){GWt(r.graph.nodes);var i=r.graph.nodes.filter(function(a){return a.originalX===r.node.originalX}).filter(function(a){return!a.partOfGroup});r.forceLayouts[t]=Ije.forceSimulation(i).alphaDecay(0).force(\"collide\",Ije.forceCollide().radius(function(a){return a.dy/2+r.nodePad/2}).strength(1).iterations(pu.forceIterations)).force(\"constrain\",VWt(e,t,i,r,n)).stop()}function UWt(e,t,r,n,i){window.requestAnimationFrame(function a(){var o;for(o=0;o<pu.forceTicksPerFrame;o++)r.forceLayouts[n].tick();var s=r.graph.nodes;if(jWt(s),r.sankey.update(r.graph),Nje(e.filter(Vje(r)),t),r.forceLayouts[n].alpha()>0)window.requestAnimationFrame(a);else{var l=r.node.originalX;r.node.x0=l-r.visibleWidth/2,r.node.x1=l+r.visibleWidth/2,Uje(r,i)}})}function VWt(e,t,r,n){return function(){for(var a=0,o=0;o<r.length;o++){var s=r[o];s===n.interactionState.dragInProgress?(s.x=s.lastDraggedX,s.y=s.lastDraggedY):(s.vx=(s.originalX-s.x)/pu.forceTicksPerFrame,s.y=Math.min(n.size-s.dy/2,Math.max(s.dy/2,s.y))),a=Math.max(a,Math.abs(s.vx),Math.abs(s.vy))}!n.interactionState.dragInProgress&&a<.1&&n.forceLayouts[t].alpha()>0&&n.forceLayouts[t].alpha(0)}}function Uje(e,t){for(var r=[],n=[],i=0;i<e.graph.nodes.length;i++){var a=(e.graph.nodes[i].x0+e.graph.nodes[i].x1)/2,o=(e.graph.nodes[i].y0+e.graph.nodes[i].y1)/2;r.push(a/e.figure.width),n.push(o/e.figure.height)}LWt.call(\"_guiRestyle\",t,{\"node.x\":[r],\"node.y\":[n]},e.trace.index).then(function(){t._fullLayout._dragCover&&t._fullLayout._dragCover.remove()})}function HWt(e){var t=[],r;for(r=0;r<e.length;r++)e[r].originalX=(e[r].x0+e[r].x1)/2,e[r].originalY=(e[r].y0+e[r].y1)/2,t.indexOf(e[r].originalX)===-1&&t.push(e[r].originalX);for(t.sort(function(n,i){return n-i}),r=0;r<e.length;r++)e[r].originalLayerIndex=t.indexOf(e[r].originalX),e[r].originalLayer=e[r].originalLayerIndex/(t.length-1)}function qje(e){e.lastDraggedX=e.x0+e.dx/2,e.lastDraggedY=e.y0+e.dy/2}function Vje(e){return function(t){return t.node.originalX===e.node.originalX}}function GWt(e){for(var t=0;t<e.length;t++)e[t].y=(e[t].y0+e[t].y1)/2,e[t].x=(e[t].x0+e[t].x1)/2}function jWt(e){for(var t=0;t<e.length;t++)e[t].y0=e[t].y-e[t].dy/2,e[t].y1=e[t].y0+e[t].dy,e[t].x0=e[t].x-e[t].dx/2,e[t].x1=e[t].x0+e[t].dx}Hje.exports=function(e,t,r,n,i){var a=e._context.staticPlot,o=!1;p1.ensureSingle(e._fullLayout._infolayer,\"g\",\"first-render\",function(){o=!0});var s=e._fullLayout._dragCover,l=r.filter(function(b){return Oje(b).trace.visible}).map(DWt.bind(null,n)),u=t.selectAll(\".\"+pu.cn.sankey).data(l,jk);u.exit().remove(),u.enter().append(\"g\").classed(pu.cn.sankey,!0).style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"shape-rendering\",\"geometricPrecision\").style(\"pointer-events\",a?\"none\":\"auto\").attr(\"transform\",zje),u.each(function(b,p){e._fullData[p]._sankey=b;var E=\"bgsankey-\"+b.trace.uid+\"-\"+p;p1.ensureSingle(e._fullLayout._draggers,\"rect\",E),e._fullData[p]._bgRect=CA.select(\".\"+E),e._fullData[p]._bgRect.style(\"pointer-events\",a?\"none\":\"all\").attr(\"width\",b.width).attr(\"height\",b.height).attr(\"x\",b.translateX).attr(\"y\",b.translateY).classed(\"bgsankey\",!0).style({fill:\"transparent\",\"stroke-width\":0})}),u.transition().ease(pu.ease).duration(pu.duration).attr(\"transform\",zje);var c=u.selectAll(\".\"+pu.cn.sankeyLinks).data(b7,jk);c.enter().append(\"g\").classed(pu.cn.sankeyLinks,!0).style(\"fill\",\"none\");var f=c.selectAll(\".\"+pu.cn.sankeyLink).data(function(b){var p=b.graph.links;return p.filter(function(E){return E.value}).map(zWt.bind(null,b))},jk);f.enter().append(\"path\").classed(pu.cn.sankeyLink,!0).call(Fje,u,i.linkEvents),f.style(\"stroke\",function(b){return RJ(b)?aw.tinyRGB(LA(b.linkLineColor)):b.tinyColorHue}).style(\"stroke-opacity\",function(b){return RJ(b)?aw.opacity(b.linkLineColor):b.tinyColorAlpha}).style(\"fill\",function(b){return b.tinyColorHue}).style(\"fill-opacity\",function(b){return b.tinyColorAlpha}).style(\"stroke-width\",function(b){return RJ(b)?b.linkLineWidth:1}).attr(\"d\",qJ()),f.style(\"opacity\",function(){return e._context.staticPlot||o||s?1:0}).transition().ease(pu.ease).duration(pu.duration).style(\"opacity\",1),f.exit().transition().ease(pu.ease).duration(pu.duration).style(\"opacity\",0).remove();var h=u.selectAll(\".\"+pu.cn.sankeyNodeSet).data(b7,jk);h.enter().append(\"g\").classed(pu.cn.sankeyNodeSet,!0),h.style(\"cursor\",function(b){switch(b.arrangement){case\"fixed\":return\"default\";case\"perpendicular\":return\"ns-resize\";default:return\"move\"}});var d=h.selectAll(\".\"+pu.cn.sankeyNode).data(function(b){var p=b.graph.nodes;return HWt(p),p.map(qWt.bind(null,b))},jk);d.enter().append(\"g\").classed(pu.cn.sankeyNode,!0).call(DJ).style(\"opacity\",function(b){return(e._context.staticPlot||o)&&!b.partOfGroup?1:0}),d.call(Fje,u,i.nodeEvents).call(BWt,f,i,e),d.transition().ease(pu.ease).duration(pu.duration).call(DJ).style(\"opacity\",function(b){return b.partOfGroup?0:1}),d.exit().transition().ease(pu.ease).duration(pu.duration).style(\"opacity\",0).remove();var v=d.selectAll(\".\"+pu.cn.nodeRect).data(b7);v.enter().append(\"rect\").classed(pu.cn.nodeRect,!0).call(Dje),v.style(\"stroke-width\",function(b){return b.nodeLineWidth}).style(\"stroke\",function(b){return aw.tinyRGB(LA(b.nodeLineColor))}).style(\"stroke-opacity\",function(b){return aw.opacity(b.nodeLineColor)}).style(\"fill\",function(b){return b.tinyColorHue}).style(\"fill-opacity\",function(b){return b.tinyColorAlpha}),v.transition().ease(pu.ease).duration(pu.duration).call(Dje);var x=d.selectAll(\".\"+pu.cn.nodeLabel).data(b7);x.enter().append(\"text\").classed(pu.cn.nodeLabel,!0).style(\"cursor\",\"default\"),x.attr(\"data-notex\",1).text(function(b){return b.node.label}).each(function(b){var p=CA.select(this);kWt.font(p,b.textFont),Rje.convertToTspans(p,e)}).attr(\"text-anchor\",function(b){return b.horizontal&&b.left?\"end\":\"start\"}).attr(\"transform\",function(b){var p=CA.select(this),E=Rje.lineCount(p),k=b.textFont.size*((E-1)*IWt-PWt),A=b.nodeLineWidth/2+RWt,L=((b.horizontal?b.visibleHeight:b.visibleWidth)-k)/2;b.horizontal&&(b.left?A=-A:A+=b.visibleWidth);var _=b.horizontal?\"\":\"scale(-1,1)\"+CWt(90);return zJ(b.horizontal?A:L,b.horizontal?L:A)+_}),x.transition().ease(pu.ease).duration(pu.duration)}});var NJ=ye((w_r,Qje)=>{\"use strict\";var Zv=xa(),BJ=Mr(),w7=BJ.numberFormat,WWt=Gje(),PA=Nc(),ZWt=va(),Sx=IJ().cn,Wk=BJ._;function jje(e){return e!==\"\"}function IA(e,t){return e.filter(function(r){return r.key===t.traceId})}function Wje(e,t){Zv.select(e).select(\"path\").style(\"fill-opacity\",t),Zv.select(e).select(\"rect\").style(\"fill-opacity\",t)}function Zje(e){Zv.select(e).select(\"text.name\").style(\"fill\",\"black\")}function Xje(e){return function(t){return e.node.sourceLinks.indexOf(t.link)!==-1||e.node.targetLinks.indexOf(t.link)!==-1}}function Yje(e){return function(t){return t.node.sourceLinks.indexOf(e.link)!==-1||t.node.targetLinks.indexOf(e.link)!==-1}}function Kje(e,t,r){t&&r&&IA(r,t).selectAll(\".\"+Sx.sankeyLink).filter(Xje(t)).call(Jje.bind(0,t,r,!1))}function OJ(e,t,r){t&&r&&IA(r,t).selectAll(\".\"+Sx.sankeyLink).filter(Xje(t)).call($je.bind(0,t,r,!1))}function Jje(e,t,r,n){n.style(\"fill\",function(i){if(!i.link.concentrationscale)return i.tinyColorHoverHue}).style(\"fill-opacity\",function(i){if(!i.link.concentrationscale)return i.tinyColorHoverAlpha}),n.each(function(i){var a=i.link.label;a!==\"\"&&IA(t,e).selectAll(\".\"+Sx.sankeyLink).filter(function(o){return o.link.label===a}).style(\"fill\",function(o){if(!o.link.concentrationscale)return o.tinyColorHoverHue}).style(\"fill-opacity\",function(o){if(!o.link.concentrationscale)return o.tinyColorHoverAlpha})}),r&&IA(t,e).selectAll(\".\"+Sx.sankeyNode).filter(Yje(e)).call(Kje)}function $je(e,t,r,n){n.style(\"fill\",function(i){return i.tinyColorHue}).style(\"fill-opacity\",function(i){return i.tinyColorAlpha}),n.each(function(i){var a=i.link.label;a!==\"\"&&IA(t,e).selectAll(\".\"+Sx.sankeyLink).filter(function(o){return o.link.label===a}).style(\"fill\",function(o){return o.tinyColorHue}).style(\"fill-opacity\",function(o){return o.tinyColorAlpha})}),r&&IA(t,e).selectAll(Sx.sankeyNode).filter(Yje(e)).call(OJ)}function lf(e,t){var r=e.hoverlabel||{},n=BJ.nestedProperty(r,t).get();return Array.isArray(n)?!1:n}Qje.exports=function(t,r){for(var n=t._fullLayout,i=n._paper,a=n._size,o=0;o<t._fullData.length;o++)if(t._fullData[o].visible&&t._fullData[o].type===Sx.sankey&&!t._fullData[o]._viewInitial){var s=t._fullData[o].node;t._fullData[o]._viewInitial={node:{groups:s.groups.slice(),x:s.x.slice(),y:s.y.slice()}}}var l=function(L,_){var C=_.link;C.originalEvent=Zv.event,t._hoverdata=[C],PA.click(t,{target:!0})},u=function(L,_,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call(Jje.bind(0,_,C,!0)),_.link.trace.link.hoverinfo!==\"skip\"&&(_.link.fullData=_.link.trace,t.emit(\"plotly_hover\",{event:Zv.event,points:[_.link]})))},c=Wk(t,\"source:\")+\" \",f=Wk(t,\"target:\")+\" \",h=Wk(t,\"concentration:\")+\" \",d=Wk(t,\"incoming flow count:\")+\" \",v=Wk(t,\"outgoing flow count:\")+\" \",x=function(L,_){if(t._fullLayout.hovermode===!1)return;var C=_.link.trace.link;if(C.hoverinfo===\"none\"||C.hoverinfo===\"skip\")return;var M=[];function g(X){var G,N;X.circular?(G=(X.circularPathData.leftInnerExtent+X.circularPathData.rightInnerExtent)/2,N=X.circularPathData.verticalFullExtent):(G=(X.source.x1+X.target.x0)/2,N=(X.y0+X.y1)/2);var W=[G,N];return X.trace.orientation===\"v\"&&W.reverse(),W[0]+=_.parent.translateX,W[1]+=_.parent.translateY,W}for(var P=0,T=0;T<_.flow.links.length;T++){var F=_.flow.links[T];if(!(t._fullLayout.hovermode===\"closest\"&&_.link.pointNumber!==F.pointNumber)){_.link.pointNumber===F.pointNumber&&(P=T),F.fullData=F.trace,C=_.link.trace.link;var q=g(F),V={valueLabel:w7(_.valueFormat)(F.value)+_.valueSuffix};M.push({x:q[0],y:q[1],name:V.valueLabel,text:[F.label||\"\",c+F.source.label,f+F.target.label,F.concentrationscale?h+w7(\"%0.2f\")(F.flow.labelConcentration):\"\"].filter(jje).join(\"<br>\"),color:lf(C,\"bgcolor\")||ZWt.addOpacity(F.color,1),borderColor:lf(C,\"bordercolor\"),fontFamily:lf(C,\"font.family\"),fontSize:lf(C,\"font.size\"),fontColor:lf(C,\"font.color\"),fontWeight:lf(C,\"font.weight\"),fontStyle:lf(C,\"font.style\"),fontVariant:lf(C,\"font.variant\"),fontTextcase:lf(C,\"font.textcase\"),fontLineposition:lf(C,\"font.lineposition\"),fontShadow:lf(C,\"font.shadow\"),nameLength:lf(C,\"namelength\"),textAlign:lf(C,\"align\"),idealAlign:Zv.event.x<q[0]?\"right\":\"left\",hovertemplate:C.hovertemplate,hovertemplateLabels:V,eventData:[F]})}}var H=PA.loneHover(M,{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t,anchorIndex:P});H.each(function(){var X=this;_.link.concentrationscale||Wje(X,.65),Zje(X)})},b=function(L,_,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call($je.bind(0,_,C,!0)),_.link.trace.link.hoverinfo!==\"skip\"&&(_.link.fullData=_.link.trace,t.emit(\"plotly_unhover\",{event:Zv.event,points:[_.link]})),PA.loneUnhover(n._hoverlayer.node()))},p=function(L,_,C){var M=_.node;M.originalEvent=Zv.event,t._hoverdata=[M],Zv.select(L).call(OJ,_,C),PA.click(t,{target:!0})},E=function(L,_,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call(Kje,_,C),_.node.trace.node.hoverinfo!==\"skip\"&&(_.node.fullData=_.node.trace,t.emit(\"plotly_hover\",{event:Zv.event,points:[_.node]})))},k=function(L,_){if(t._fullLayout.hovermode!==!1){var C=_.node.trace.node;if(!(C.hoverinfo===\"none\"||C.hoverinfo===\"skip\")){var M=Zv.select(L).select(\".\"+Sx.nodeRect),g=t._fullLayout._paperdiv.node().getBoundingClientRect(),P=M.node().getBoundingClientRect(),T=P.left-2-g.left,F=P.right+2-g.left,q=P.top+P.height/4-g.top,V={valueLabel:w7(_.valueFormat)(_.node.value)+_.valueSuffix};_.node.fullData=_.node.trace,t._fullLayout._calcInverseTransform(t);var H=t._fullLayout._invScaleX,X=t._fullLayout._invScaleY,G=PA.loneHover({x0:H*T,x1:H*F,y:X*q,name:w7(_.valueFormat)(_.node.value)+_.valueSuffix,text:[_.node.label,d+_.node.targetLinks.length,v+_.node.sourceLinks.length].filter(jje).join(\"<br>\"),color:lf(C,\"bgcolor\")||_.tinyColorHue,borderColor:lf(C,\"bordercolor\"),fontFamily:lf(C,\"font.family\"),fontSize:lf(C,\"font.size\"),fontColor:lf(C,\"font.color\"),fontWeight:lf(C,\"font.weight\"),fontStyle:lf(C,\"font.style\"),fontVariant:lf(C,\"font.variant\"),fontTextcase:lf(C,\"font.textcase\"),fontLineposition:lf(C,\"font.lineposition\"),fontShadow:lf(C,\"font.shadow\"),nameLength:lf(C,\"namelength\"),textAlign:lf(C,\"align\"),idealAlign:\"left\",hovertemplate:C.hovertemplate,hovertemplateLabels:V,eventData:[_.node]},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t});Wje(G,.85),Zje(G)}}},A=function(L,_,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call(OJ,_,C),_.node.trace.node.hoverinfo!==\"skip\"&&(_.node.fullData=_.node.trace,t.emit(\"plotly_unhover\",{event:Zv.event,points:[_.node]})),PA.loneUnhover(n._hoverlayer.node()))};WWt(t,i,r,{width:a.w,height:a.h,margin:{t:a.t,r:a.r,b:a.b,l:a.l}},{linkEvents:{hover:u,follow:x,unhover:b,select:l},nodeEvents:{hover:E,follow:k,unhover:A,select:p}})}});var eWe=ye(ow=>{\"use strict\";var XWt=Bu().overrideAll,YWt=kd().getModuleCalcData,KWt=NJ(),JWt=N1(),$Wt=Tg(),QWt=gv(),eZt=wf().prepSelect,UJ=Mr(),tZt=ba(),T7=\"sankey\";ow.name=T7;ow.baseLayoutAttrOverrides=XWt({hoverlabel:JWt.hoverlabel},\"plot\",\"nested\");ow.plot=function(e){var t=YWt(e.calcdata,T7)[0];KWt(e,t),ow.updateFx(e)};ow.clean=function(e,t,r,n){var i=n._has&&n._has(T7),a=t._has&&t._has(T7);i&&!a&&(n._paperdiv.selectAll(\".sankey\").remove(),n._paperdiv.selectAll(\".bgsankey\").remove())};ow.updateFx=function(e){for(var t=0;t<e._fullData.length;t++)rZt(e,t)};function rZt(e,t){var r=e._fullData[t],n=e._fullLayout,i=n.dragmode,a=n.dragmode===\"pan\"?\"move\":\"crosshair\",o=r._bgRect;if(o&&!(i===\"pan\"||i===\"zoom\")){$Wt(o,a);var s={_id:\"x\",c2p:UJ.identity,_offset:r._sankey.translateX,_length:r._sankey.width},l={_id:\"y\",c2p:UJ.identity,_offset:r._sankey.translateY,_length:r._sankey.height},u={gd:e,element:o.node(),plotinfo:{id:t,xaxis:s,yaxis:l,fillRangeItems:UJ.noop},subplot:t,xaxes:[s],yaxes:[l],doneFnCompleted:function(c){var f=e._fullData[t],h,d=f.node.groups.slice(),v=[];function x(k){for(var A=f._sankey.graph.nodes,L=0;L<A.length;L++)if(A[L].pointNumber===k)return A[L]}for(var b=0;b<c.length;b++){var p=x(c[b].pointNumber);if(p)if(p.group){for(var E=0;E<p.childrenNodes.length;E++)v.push(p.childrenNodes[E].pointNumber);d[p.pointNumber-f.node._count]=!1}else v.push(p.pointNumber)}h=d.filter(Boolean).concat([v]),tZt.call(\"_guiRestyle\",e,{\"node.groups\":[h]},t)}};u.prepFn=function(c,f,h){eZt(c,f,h,u,i)},QWt.init(u)}}});var rWe=ye((A_r,tWe)=>{\"use strict\";tWe.exports=function(t,r){for(var n=t.cd,i=[],a=n[0].trace,o=a._sankey.graph.nodes,s=0;s<o.length;s++){var l=o[s];if(!l.partOfGroup){var u=[(l.x0+l.x1)/2,(l.y0+l.y1)/2];a.orientation===\"v\"&&u.reverse(),r&&r.contains(u,!1,s,t)&&i.push({pointNumber:l.pointNumber})}}return i}});var nWe=ye((S_r,iWe)=>{\"use strict\";iWe.exports={attributes:CJ(),supplyDefaults:sje(),calc:hje(),plot:NJ(),moduleType:\"trace\",name:\"sankey\",basePlotModule:eWe(),selectPoints:rWe(),categories:[\"noOpacity\"],meta:{}}});var oWe=ye((M_r,aWe)=>{\"use strict\";aWe.exports=nWe()});var lWe=ye(RA=>{\"use strict\";var sWe=Xu();RA.name=\"indicator\";RA.plot=function(e,t,r,n){sWe.plotBasePlot(RA.name,e,t,r,n)};RA.clean=function(e,t,r,n){sWe.cleanBasePlot(RA.name,e,t,r,n)}});var HJ=ye((k_r,vWe)=>{\"use strict\";var Mx=no().extendFlat,cWe=no().extendDeep,iZt=Bu().overrideAll,fWe=Su(),hWe=dh(),nZt=Ju().attributes,Sf=Cd(),aZt=Vs().templatedArray,A7=HT(),uWe=Oc().descriptionOnlyNumbers,VJ=fWe({editType:\"plot\",colorEditType:\"plot\"}),Zk={color:{valType:\"color\",editType:\"plot\"},line:{color:{valType:\"color\",dflt:hWe.defaultLine,editType:\"plot\"},width:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},thickness:{valType:\"number\",min:0,max:1,dflt:1,editType:\"plot\"},editType:\"calc\"},dWe={valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],editType:\"plot\"},oZt=aZt(\"step\",cWe({},Zk,{range:dWe}));vWe.exports={mode:{valType:\"flaglist\",editType:\"calc\",flags:[\"number\",\"delta\",\"gauge\"],dflt:\"number\"},value:{valType:\"number\",editType:\"calc\",anim:!0},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],editType:\"plot\"},domain:nZt({name:\"indicator\",trace:!0,editType:\"calc\"}),title:{text:{valType:\"string\",editType:\"plot\"},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],editType:\"plot\"},font:Mx({},VJ,{}),editType:\"plot\"},number:{valueformat:{valType:\"string\",dflt:\"\",editType:\"plot\",description:uWe(\"value\")},font:Mx({},VJ,{}),prefix:{valType:\"string\",dflt:\"\",editType:\"plot\"},suffix:{valType:\"string\",dflt:\"\",editType:\"plot\"},editType:\"plot\"},delta:{reference:{valType:\"number\",editType:\"calc\"},position:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"],dflt:\"bottom\",editType:\"plot\"},relative:{valType:\"boolean\",editType:\"plot\",dflt:!1},valueformat:{valType:\"string\",editType:\"plot\",description:uWe(\"value\")},increasing:{symbol:{valType:\"string\",dflt:A7.INCREASING.SYMBOL,editType:\"plot\"},color:{valType:\"color\",dflt:A7.INCREASING.COLOR,editType:\"plot\"},editType:\"plot\"},decreasing:{symbol:{valType:\"string\",dflt:A7.DECREASING.SYMBOL,editType:\"plot\"},color:{valType:\"color\",dflt:A7.DECREASING.COLOR,editType:\"plot\"},editType:\"plot\"},font:Mx({},VJ,{}),prefix:{valType:\"string\",dflt:\"\",editType:\"plot\"},suffix:{valType:\"string\",dflt:\"\",editType:\"plot\"},editType:\"calc\"},gauge:{shape:{valType:\"enumerated\",editType:\"plot\",dflt:\"angular\",values:[\"angular\",\"bullet\"]},bar:cWe({},Zk,{color:{dflt:\"green\"}}),bgcolor:{valType:\"color\",editType:\"plot\"},bordercolor:{valType:\"color\",dflt:hWe.defaultLine,editType:\"plot\"},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},axis:iZt({range:dWe,visible:Mx({},Sf.visible,{dflt:!0}),tickmode:Sf.minor.tickmode,nticks:Sf.nticks,tick0:Sf.tick0,dtick:Sf.dtick,tickvals:Sf.tickvals,ticktext:Sf.ticktext,ticks:Mx({},Sf.ticks,{dflt:\"outside\"}),ticklen:Sf.ticklen,tickwidth:Sf.tickwidth,tickcolor:Sf.tickcolor,ticklabelstep:Sf.ticklabelstep,showticklabels:Sf.showticklabels,labelalias:Sf.labelalias,tickfont:fWe({}),tickangle:Sf.tickangle,tickformat:Sf.tickformat,tickformatstops:Sf.tickformatstops,tickprefix:Sf.tickprefix,showtickprefix:Sf.showtickprefix,ticksuffix:Sf.ticksuffix,showticksuffix:Sf.showticksuffix,separatethousands:Sf.separatethousands,exponentformat:Sf.exponentformat,minexponent:Sf.minexponent,showexponent:Sf.showexponent,editType:\"plot\"},\"plot\"),steps:oZt,threshold:{line:{color:Mx({},Zk.line.color,{}),width:Mx({},Zk.line.width,{dflt:1}),editType:\"plot\"},thickness:Mx({},Zk.thickness,{dflt:.85}),value:{valType:\"number\",editType:\"calc\",dflt:!1},editType:\"plot\"},editType:\"plot\"}}});var GJ=ye((C_r,pWe)=>{\"use strict\";pWe.exports={defaultNumberFontSize:80,bulletNumberDomainSize:.25,bulletPadding:.025,innerRadius:.75,valueThickness:.5,titlePadding:5,horizontalPadding:10}});var yWe=ye((L_r,mWe)=>{\"use strict\";var ey=Mr(),M7=HJ(),sZt=Ju().defaults,gWe=Vs(),lZt=Zd(),S7=GJ(),uZt=xb(),cZt=T3(),fZt=t_(),hZt=r_();function dZt(e,t,r,n){function i(_,C){return ey.coerce(e,t,M7,_,C)}sZt(t,n,i),i(\"mode\"),t._hasNumber=t.mode.indexOf(\"number\")!==-1,t._hasDelta=t.mode.indexOf(\"delta\")!==-1,t._hasGauge=t.mode.indexOf(\"gauge\")!==-1;var a=i(\"value\");t._range=[0,typeof a==\"number\"?1.5*a:1];var o=new Array(2),s;if(t._hasNumber){i(\"number.valueformat\");var l=ey.extendFlat({},n.font);l.size=void 0,ey.coerceFont(i,\"number.font\",l),t.number.font.size===void 0&&(t.number.font.size=S7.defaultNumberFontSize,o[0]=!0),i(\"number.prefix\"),i(\"number.suffix\"),s=t.number.font.size}var u;if(t._hasDelta){var c=ey.extendFlat({},n.font);c.size=void 0,ey.coerceFont(i,\"delta.font\",c),t.delta.font.size===void 0&&(t.delta.font.size=(t._hasNumber?.5:1)*(s||S7.defaultNumberFontSize),o[1]=!0),i(\"delta.reference\",t.value),i(\"delta.relative\"),i(\"delta.valueformat\",t.delta.relative?\"2%\":\"\"),i(\"delta.increasing.symbol\"),i(\"delta.increasing.color\"),i(\"delta.decreasing.symbol\"),i(\"delta.decreasing.color\"),i(\"delta.position\"),i(\"delta.prefix\"),i(\"delta.suffix\"),u=t.delta.font.size}t._scaleNumbers=(!t._hasNumber||o[0])&&(!t._hasDelta||o[1])||!1;var f=ey.extendFlat({},n.font);f.size=.25*(s||u||S7.defaultNumberFontSize),ey.coerceFont(i,\"title.font\",f),i(\"title.text\");var h,d,v,x;function b(_,C){return ey.coerce(h,d,M7.gauge,_,C)}function p(_,C){return ey.coerce(v,x,M7.gauge.axis,_,C)}if(t._hasGauge){h=e.gauge,h||(h={}),d=gWe.newContainer(t,\"gauge\"),b(\"shape\");var E=t._isBullet=t.gauge.shape===\"bullet\";E||i(\"title.align\",\"center\");var k=t._isAngular=t.gauge.shape===\"angular\";k||i(\"align\",\"center\"),b(\"bgcolor\",n.paper_bgcolor),b(\"borderwidth\"),b(\"bordercolor\"),b(\"bar.color\"),b(\"bar.line.color\"),b(\"bar.line.width\");var A=S7.valueThickness*(t.gauge.shape===\"bullet\"?.5:1);b(\"bar.thickness\",A),lZt(h,d,{name:\"steps\",handleItemDefaults:vZt}),b(\"threshold.value\"),b(\"threshold.thickness\"),b(\"threshold.line.width\"),b(\"threshold.line.color\"),v={},h&&(v=h.axis||{}),x=gWe.newContainer(d,\"axis\"),p(\"visible\"),t._range=p(\"range\",t._range);var L={font:n.font,noAutotickangles:!0,outerTicks:!0,noTicklabelshift:!0,noTicklabelstandoff:!0};uZt(v,x,p,\"linear\"),hZt(v,x,p,\"linear\",L),fZt(v,x,p,\"linear\",L),cZt(v,x,p,L)}else i(\"title.align\",\"center\"),i(\"align\",\"center\"),t._isAngular=t._isBullet=!1;t._length=null}function vZt(e,t){function r(n,i){return ey.coerce(e,t,M7.gauge.steps,n,i)}r(\"color\"),r(\"line.color\"),r(\"line.width\"),r(\"range\"),r(\"thickness\")}mWe.exports={supplyDefaults:dZt}});var xWe=ye((P_r,_We)=>{\"use strict\";function pZt(e,t){var r=[],n=t.value;typeof t._lastValue!=\"number\"&&(t._lastValue=t.value);var i=t._lastValue,a=i;return t._hasDelta&&typeof t.delta.reference==\"number\"&&(a=t.delta.reference),r[0]={y:n,lastY:i,delta:n-a,relativeDelta:(n-a)/a},r}_We.exports={calc:pZt}});var MWe=ye((I_r,SWe)=>{\"use strict\";var fw=xa(),gZt=(R2(),B1(I2)).interpolate,bWe=(R2(),B1(I2)).interpolateNumber,Ex=Mr(),mZt=Ex.strScale,Yk=Ex.strTranslate,yZt=Ex.rad2deg,_Zt=Nh().MID_SHIFT,cw=ao(),sw=GJ(),k7=Pl(),av=Qa(),xZt=JM(),bZt=iI(),wZt=Cd(),DA=va(),jJ={left:\"start\",center:\"middle\",right:\"end\"},lw={left:0,center:.5,right:1},wWe=/[yzafpnµmkMGTPEZY]/;function Kk(e){return e&&e.duration>0}SWe.exports=function(t,r,n,i){var a=t._fullLayout,o;Kk(n)&&i&&(o=i()),Ex.makeTraceGroups(a._indicatorlayer,r,\"trace\").each(function(s){var l=s[0],u=l.trace,c=fw.select(this),f=u._hasGauge,h=u._isAngular,d=u._isBullet,v=u.domain,x={w:a._size.w*(v.x[1]-v.x[0]),h:a._size.h*(v.y[1]-v.y[0]),l:a._size.l+a._size.w*v.x[0],r:a._size.r+a._size.w*(1-v.x[1]),t:a._size.t+a._size.h*(1-v.y[1]),b:a._size.b+a._size.h*v.y[0]},b=x.l+x.w/2,p=x.t+x.h/2,E=Math.min(x.w/2,x.h),k=sw.innerRadius*E,A,L,_,C=u.align||\"center\";if(L=p,!f)A=x.l+lw[C]*x.w,_=function(G){return TWe(G,x.w,x.h)};else if(h&&(A=b,L=p+E/2,_=function(G){return EZt(G,.9*k)}),d){var M=sw.bulletPadding,g=1-sw.bulletNumberDomainSize+M;A=x.l+(g+(1-g)*lw[C])*x.w,_=function(G){return TWe(G,(sw.bulletNumberDomainSize-M)*x.w,x.h)}}SZt(t,c,s,{numbersX:A,numbersY:L,numbersScaler:_,transitionOpts:n,onComplete:o});var P,T;f&&(P={range:u.gauge.axis.range,color:u.gauge.bgcolor,line:{color:u.gauge.bordercolor,width:0},thickness:1},T={range:u.gauge.axis.range,color:\"rgba(0, 0, 0, 0)\",line:{color:u.gauge.bordercolor,width:u.gauge.borderwidth},thickness:1});var F=c.selectAll(\"g.angular\").data(h?s:[]);F.exit().remove();var q=c.selectAll(\"g.angularaxis\").data(h?s:[]);q.exit().remove(),h&&AZt(t,c,s,{radius:E,innerRadius:k,gauge:F,layer:q,size:x,gaugeBg:P,gaugeOutline:T,transitionOpts:n,onComplete:o});var V=c.selectAll(\"g.bullet\").data(d?s:[]);V.exit().remove();var H=c.selectAll(\"g.bulletaxis\").data(d?s:[]);H.exit().remove(),d&&TZt(t,c,s,{gauge:V,layer:H,size:x,gaugeBg:P,gaugeOutline:T,transitionOpts:n,onComplete:o});var X=c.selectAll(\"text.title\").data(s);X.exit().remove(),X.enter().append(\"text\").classed(\"title\",!0),X.attr(\"text-anchor\",function(){return d?jJ.right:jJ[u.title.align]}).text(u.title.text).call(cw.font,u.title.font).call(k7.convertToTspans,t),X.attr(\"transform\",function(){var G=x.l+x.w*lw[u.title.align],N,W=sw.titlePadding,re=cw.bBox(X.node());if(f){if(h)if(u.gauge.axis.visible){var ae=cw.bBox(q.node());N=ae.top-W-re.bottom}else N=x.t+x.h/2-E/2-re.bottom-W;d&&(N=L-(re.top+re.bottom)/2,G=x.l-sw.bulletPadding*x.w)}else N=u._numbersTop-W-re.bottom;return Yk(G,N)})})};function TZt(e,t,r,n){var i=r[0].trace,a=n.gauge,o=n.layer,s=n.gaugeBg,l=n.gaugeOutline,u=n.size,c=i.domain,f=n.transitionOpts,h=n.onComplete,d,v,x,b,p;a.enter().append(\"g\").classed(\"bullet\",!0),a.attr(\"transform\",Yk(u.l,u.t)),o.enter().append(\"g\").classed(\"bulletaxis\",!0).classed(\"crisp\",!0),o.selectAll(\"g.xbulletaxistick,path,text\").remove();var E=u.h,k=i.gauge.bar.thickness*E,A=c.x[0],L=c.x[0]+(c.x[1]-c.x[0])*(i._hasNumber||i._hasDelta?1-sw.bulletNumberDomainSize:1);d=Xk(e,i.gauge.axis),d._id=\"xbulletaxis\",d.domain=[A,L],d.setScale(),v=av.calcTicks(d),x=av.makeTransTickFn(d),b=av.getTickSigns(d)[2],p=u.t+u.h,d.visible&&(av.drawTicks(e,d,{vals:d.ticks===\"inside\"?av.clipEnds(d,v):v,layer:o,path:av.makeTickPath(d,p,b),transFn:x}),av.drawLabels(e,d,{vals:v,layer:o,transFn:x,labelFns:av.makeLabelFns(d,p)}));function _(q){q.attr(\"width\",function(V){return Math.max(0,d.c2p(V.range[1])-d.c2p(V.range[0]))}).attr(\"x\",function(V){return d.c2p(V.range[0])}).attr(\"y\",function(V){return .5*(1-V.thickness)*E}).attr(\"height\",function(V){return V.thickness*E})}var C=[s].concat(i.gauge.steps),M=a.selectAll(\"g.bg-bullet\").data(C);M.enter().append(\"g\").classed(\"bg-bullet\",!0).append(\"rect\"),M.select(\"rect\").call(_).call(uw),M.exit().remove();var g=a.selectAll(\"g.value-bullet\").data([i.gauge.bar]);g.enter().append(\"g\").classed(\"value-bullet\",!0).append(\"rect\"),g.select(\"rect\").attr(\"height\",k).attr(\"y\",(E-k)/2).call(uw),Kk(f)?g.select(\"rect\").transition().duration(f.duration).ease(f.easing).each(\"end\",function(){h&&h()}).each(\"interrupt\",function(){h&&h()}).attr(\"width\",Math.max(0,d.c2p(Math.min(i.gauge.axis.range[1],r[0].y)))):g.select(\"rect\").attr(\"width\",typeof r[0].y==\"number\"?Math.max(0,d.c2p(Math.min(i.gauge.axis.range[1],r[0].y))):0),g.exit().remove();var P=r.filter(function(){return i.gauge.threshold.value||i.gauge.threshold.value===0}),T=a.selectAll(\"g.threshold-bullet\").data(P);T.enter().append(\"g\").classed(\"threshold-bullet\",!0).append(\"line\"),T.select(\"line\").attr(\"x1\",d.c2p(i.gauge.threshold.value)).attr(\"x2\",d.c2p(i.gauge.threshold.value)).attr(\"y1\",(1-i.gauge.threshold.thickness)/2*E).attr(\"y2\",(1-(1-i.gauge.threshold.thickness)/2)*E).call(DA.stroke,i.gauge.threshold.line.color).style(\"stroke-width\",i.gauge.threshold.line.width),T.exit().remove();var F=a.selectAll(\"g.gauge-outline\").data([l]);F.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"rect\"),F.select(\"rect\").call(_).call(uw),F.exit().remove()}function AZt(e,t,r,n){var i=r[0].trace,a=n.size,o=n.radius,s=n.innerRadius,l=n.gaugeBg,u=n.gaugeOutline,c=[a.l+a.w/2,a.t+a.h/2+o/2],f=n.gauge,h=n.layer,d=n.transitionOpts,v=n.onComplete,x=Math.PI/2;function b(_e){var Me=i.gauge.axis.range[0],ke=i.gauge.axis.range[1],ge=(_e-Me)/(ke-Me)*Math.PI-x;return ge<-x?-x:ge>x?x:ge}function p(_e){return fw.svg.arc().innerRadius((s+o)/2-_e/2*(o-s)).outerRadius((s+o)/2+_e/2*(o-s)).startAngle(-x)}function E(_e){_e.attr(\"d\",function(Me){return p(Me.thickness).startAngle(b(Me.range[0])).endAngle(b(Me.range[1]))()})}var k,A,L,_;f.enter().append(\"g\").classed(\"angular\",!0),f.attr(\"transform\",Yk(c[0],c[1])),h.enter().append(\"g\").classed(\"angularaxis\",!0).classed(\"crisp\",!0),h.selectAll(\"g.xangularaxistick,path,text\").remove(),k=Xk(e,i.gauge.axis),k.type=\"linear\",k.range=i.gauge.axis.range,k._id=\"xangularaxis\",k.ticklabeloverflow=\"allow\",k.setScale();var C=function(_e){return(k.range[0]-_e.x)/(k.range[1]-k.range[0])*Math.PI+Math.PI},M={},g=av.makeLabelFns(k,0),P=g.labelStandoff;M.xFn=function(_e){var Me=C(_e);return Math.cos(Me)*P},M.yFn=function(_e){var Me=C(_e),ke=Math.sin(Me)>0?.2:1;return-Math.sin(Me)*(P+_e.fontSize*ke)+Math.abs(Math.cos(Me))*(_e.fontSize*_Zt)},M.anchorFn=function(_e){var Me=C(_e),ke=Math.cos(Me);return Math.abs(ke)<.1?\"middle\":ke>0?\"start\":\"end\"},M.heightFn=function(_e,Me,ke){var ge=C(_e);return-.5*(1+Math.sin(ge))*ke};var T=function(_e){return Yk(c[0]+o*Math.cos(_e),c[1]-o*Math.sin(_e))};L=function(_e){return T(C(_e))};var F=function(_e){var Me=C(_e);return T(Me)+\"rotate(\"+-yZt(Me)+\")\"};if(A=av.calcTicks(k),_=av.getTickSigns(k)[2],k.visible){_=k.ticks===\"inside\"?-1:1;var q=(k.linewidth||1)/2;av.drawTicks(e,k,{vals:A,layer:h,path:\"M\"+_*q+\",0h\"+_*k.ticklen,transFn:F}),av.drawLabels(e,k,{vals:A,layer:h,transFn:L,labelFns:M})}var V=[l].concat(i.gauge.steps),H=f.selectAll(\"g.bg-arc\").data(V);H.enter().append(\"g\").classed(\"bg-arc\",!0).append(\"path\"),H.select(\"path\").call(E).call(uw),H.exit().remove();var X=p(i.gauge.bar.thickness),G=f.selectAll(\"g.value-arc\").data([i.gauge.bar]);G.enter().append(\"g\").classed(\"value-arc\",!0).append(\"path\");var N=G.select(\"path\");Kk(d)?(N.transition().duration(d.duration).ease(d.easing).each(\"end\",function(){v&&v()}).each(\"interrupt\",function(){v&&v()}).attrTween(\"d\",MZt(X,b(r[0].lastY),b(r[0].y))),i._lastValue=r[0].y):N.attr(\"d\",typeof r[0].y==\"number\"?X.endAngle(b(r[0].y)):\"M0,0Z\"),N.call(uw),G.exit().remove(),V=[];var W=i.gauge.threshold.value;(W||W===0)&&V.push({range:[W,W],color:i.gauge.threshold.color,line:{color:i.gauge.threshold.line.color,width:i.gauge.threshold.line.width},thickness:i.gauge.threshold.thickness});var re=f.selectAll(\"g.threshold-arc\").data(V);re.enter().append(\"g\").classed(\"threshold-arc\",!0).append(\"path\"),re.select(\"path\").call(E).call(uw),re.exit().remove();var ae=f.selectAll(\"g.gauge-outline\").data([u]);ae.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"path\"),ae.select(\"path\").call(E).call(uw),ae.exit().remove()}function SZt(e,t,r,n){var i=r[0].trace,a=n.numbersX,o=n.numbersY,s=i.align||\"center\",l=jJ[s],u=n.transitionOpts,c=n.onComplete,f=Ex.ensureSingle(t,\"g\",\"numbers\"),h,d,v,x=[];i._hasNumber&&x.push(\"number\"),i._hasDelta&&(x.push(\"delta\"),i.delta.position===\"left\"&&x.reverse());var b=f.selectAll(\"text\").data(x);b.enter().append(\"text\"),b.attr(\"text-anchor\",function(){return l}).attr(\"class\",function(T){return T}).attr(\"x\",null).attr(\"y\",null).attr(\"dx\",null).attr(\"dy\",null),b.exit().remove();function p(T,F,q,V){if(T.match(\"s\")&&q>=0!=V>=0&&!F(q).slice(-1).match(wWe)&&!F(V).slice(-1).match(wWe)){var H=T.slice().replace(\"s\",\"f\").replace(/\\d+/,function(G){return parseInt(G)-1}),X=Xk(e,{tickformat:H});return function(G){return Math.abs(G)<1?av.tickText(X,G).text:F(G)}}else return F}function E(){var T=Xk(e,{tickformat:i.number.valueformat},i._range);T.setScale(),av.prepTicks(T);var F=function(G){return av.tickText(T,G).text},q=i.number.suffix,V=i.number.prefix,H=f.select(\"text.number\");function X(){var G=typeof r[0].y==\"number\"?V+F(r[0].y)+q:\"-\";H.text(G).call(cw.font,i.number.font).call(k7.convertToTspans,e)}return Kk(u)?H.transition().duration(u.duration).ease(u.easing).each(\"end\",function(){X(),c&&c()}).each(\"interrupt\",function(){X(),c&&c()}).attrTween(\"text\",function(){var G=fw.select(this),N=bWe(r[0].lastY,r[0].y);i._lastValue=r[0].y;var W=p(i.number.valueformat,F,r[0].lastY,r[0].y);return function(re){G.text(V+W(N(re))+q)}}):X(),h=AWe(V+F(r[0].y)+q,i.number.font,l,e),H}function k(){var T=Xk(e,{tickformat:i.delta.valueformat},i._range);T.setScale(),av.prepTicks(T);var F=function(re){return av.tickText(T,re).text},q=i.delta.suffix,V=i.delta.prefix,H=function(re){var ae=i.delta.relative?re.relativeDelta:re.delta;return ae},X=function(re,ae){return re===0||typeof re!=\"number\"||isNaN(re)?\"-\":(re>0?i.delta.increasing.symbol:i.delta.decreasing.symbol)+V+ae(re)+q},G=function(re){return re.delta>=0?i.delta.increasing.color:i.delta.decreasing.color};i._deltaLastValue===void 0&&(i._deltaLastValue=H(r[0]));var N=f.select(\"text.delta\");N.call(cw.font,i.delta.font).call(DA.fill,G({delta:i._deltaLastValue}));function W(){N.text(X(H(r[0]),F)).call(DA.fill,G(r[0])).call(k7.convertToTspans,e)}return Kk(u)?N.transition().duration(u.duration).ease(u.easing).tween(\"text\",function(){var re=fw.select(this),ae=H(r[0]),_e=i._deltaLastValue,Me=p(i.delta.valueformat,F,_e,ae),ke=bWe(_e,ae);return i._deltaLastValue=ae,function(ge){re.text(X(ke(ge),Me)),re.call(DA.fill,G({delta:ke(ge)}))}}).each(\"end\",function(){W(),c&&c()}).each(\"interrupt\",function(){W(),c&&c()}):W(),d=AWe(X(H(r[0]),F),i.delta.font,l,e),N}var A=i.mode+i.align,L;if(i._hasDelta&&(L=k(),A+=i.delta.position+i.delta.font.size+i.delta.font.family+i.delta.valueformat,A+=i.delta.increasing.symbol+i.delta.decreasing.symbol,v=d),i._hasNumber&&(E(),A+=i.number.font.size+i.number.font.family+i.number.valueformat+i.number.suffix+i.number.prefix,v=h),i._hasDelta&&i._hasNumber){var _=[(h.left+h.right)/2,(h.top+h.bottom)/2],C=[(d.left+d.right)/2,(d.top+d.bottom)/2],M,g,P=.75*i.delta.font.size;i.delta.position===\"left\"&&(M=E7(i,\"deltaPos\",0,-1*(h.width*lw[i.align]+d.width*(1-lw[i.align])+P),A,Math.min),g=_[1]-C[1],v={width:h.width+d.width+P,height:Math.max(h.height,d.height),left:d.left+M,right:h.right,top:Math.min(h.top,d.top+g),bottom:Math.max(h.bottom,d.bottom+g)}),i.delta.position===\"right\"&&(M=E7(i,\"deltaPos\",0,h.width*(1-lw[i.align])+d.width*lw[i.align]+P,A,Math.max),g=_[1]-C[1],v={width:h.width+d.width+P,height:Math.max(h.height,d.height),left:h.left,right:d.right+M,top:Math.min(h.top,d.top+g),bottom:Math.max(h.bottom,d.bottom+g)}),i.delta.position===\"bottom\"&&(M=null,g=d.height,v={width:Math.max(h.width,d.width),height:h.height+d.height,left:Math.min(h.left,d.left),right:Math.max(h.right,d.right),top:h.bottom-h.height,bottom:h.bottom+d.height}),i.delta.position===\"top\"&&(M=null,g=h.top,v={width:Math.max(h.width,d.width),height:h.height+d.height,left:Math.min(h.left,d.left),right:Math.max(h.right,d.right),top:h.bottom-h.height-d.height,bottom:h.bottom}),L.attr({dx:M,dy:g})}(i._hasNumber||i._hasDelta)&&f.attr(\"transform\",function(){var T=n.numbersScaler(v);A+=T[2];var F=E7(i,\"numbersScale\",1,T[0],A,Math.min),q;i._scaleNumbers||(F=1),i._isAngular?q=o-F*v.bottom:q=o-F*(v.top+v.bottom)/2,i._numbersTop=F*v.top+q;var V=v[s];s===\"center\"&&(V=(v.left+v.right)/2);var H=a-F*V;return H=E7(i,\"numbersTranslate\",0,H,A,Math.max),Yk(H,q)+mZt(F)})}function uw(e){e.each(function(t){DA.stroke(fw.select(this),t.line.color)}).each(function(t){DA.fill(fw.select(this),t.color)}).style(\"stroke-width\",function(t){return t.line.width})}function MZt(e,t,r){return function(){var n=gZt(t,r);return function(i){return e.endAngle(n(i))()}}}function Xk(e,t,r){var n=e._fullLayout,i=Ex.extendFlat({type:\"linear\",ticks:\"outside\",range:r,showline:!0},t),a={type:\"linear\",_id:\"x\"+t._id},o={letter:\"x\",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function s(l,u){return Ex.coerce(i,a,wZt,l,u)}return xZt(i,a,s,o,n),bZt(i,a,s,o),a}function TWe(e,t,r){var n=Math.min(t/e.width,r/e.height);return[n,e,t+\"x\"+r]}function EZt(e,t){var r=Math.sqrt(e.width/2*(e.width/2)+e.height*e.height),n=t/r;return[n,e,t]}function AWe(e,t,r,n){var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"text\"),a=fw.select(i);return a.text(e).attr(\"x\",0).attr(\"y\",0).attr(\"text-anchor\",r).attr(\"data-unformatted\",e).call(k7.convertToTspans,n).call(cw.font,t),cw.bBox(a.node())}function E7(e,t,r,n,i,a){var o=\"_cache\"+t;e[o]&&e[o].key===i||(e[o]={key:i,value:r});var s=Ex.aggNums(a,null,[e[o].value,n],2);return e[o].value=s,s}});var kWe=ye((R_r,EWe)=>{\"use strict\";EWe.exports={moduleType:\"trace\",name:\"indicator\",basePlotModule:lWe(),categories:[\"svg\",\"noOpacity\",\"noHover\"],animatable:!0,attributes:HJ(),supplyDefaults:yWe().supplyDefaults,calc:xWe().calc,plot:MWe(),meta:{}}});var LWe=ye((D_r,CWe)=>{\"use strict\";CWe.exports=kWe()});var WJ=ye((F_r,DWe)=>{\"use strict\";var PWe=Nb(),C7=no().extendFlat,kZt=Bu().overrideAll,IWe=Su(),CZt=Ju().attributes,RWe=Oc().descriptionOnlyNumbers,z_r=DWe.exports=kZt({domain:CZt({name:\"table\",trace:!0}),columnwidth:{valType:\"number\",arrayOk:!0,dflt:null},columnorder:{valType:\"data_array\"},header:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[],description:RWe(\"cell value\")},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:28},align:C7({},PWe.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:C7({},IWe({arrayOk:!0}))},cells:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[],description:RWe(\"cell value\")},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:20},align:C7({},PWe.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:C7({},IWe({arrayOk:!0}))}},\"calc\",\"from-root\")});var FWe=ye((q_r,zWe)=>{\"use strict\";var ZJ=Mr(),LZt=WJ(),PZt=Ju().defaults;function IZt(e,t){for(var r=e.columnorder||[],n=e.header.values.length,i=r.slice(0,n),a=i.slice().sort(function(l,u){return l-u}),o=i.map(function(l){return a.indexOf(l)}),s=o.length;s<n;s++)o.push(s);t(\"columnorder\",o)}zWe.exports=function(t,r,n,i){function a(o,s){return ZJ.coerce(t,r,LZt,o,s)}PZt(r,i,a),a(\"columnwidth\"),a(\"header.values\"),a(\"header.format\"),a(\"header.align\"),a(\"header.prefix\"),a(\"header.suffix\"),a(\"header.height\"),a(\"header.line.width\"),a(\"header.line.color\"),a(\"header.fill.color\"),ZJ.coerceFont(a,\"header.font\",i.font),IZt(r,a),a(\"cells.values\"),a(\"cells.format\"),a(\"cells.align\"),a(\"cells.prefix\"),a(\"cells.suffix\"),a(\"cells.height\"),a(\"cells.line.width\"),a(\"cells.line.color\"),a(\"cells.fill.color\"),ZJ.coerceFont(a,\"cells.font\",i.font),r._length=null}});var OWe=ye((O_r,qWe)=>{\"use strict\";var RZt=Km().wrap;qWe.exports=function(){return RZt({})}});var XJ=ye((B_r,BWe)=>{\"use strict\";BWe.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\\$.*\\$$/,goldenRatio:1.618,lineBreaker:\"<br>\",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:\"cubic-out\",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:\"cubic-out\",uplift:5,wrapSpacer:\" \",wrapSplitCharacter:\" \",cn:{table:\"table\",tableControlView:\"table-control-view\",scrollBackground:\"scroll-background\",yColumn:\"y-column\",columnBlock:\"column-block\",scrollAreaClip:\"scroll-area-clip\",scrollAreaClipRect:\"scroll-area-clip-rect\",columnBoundary:\"column-boundary\",columnBoundaryClippath:\"column-boundary-clippath\",columnBoundaryRect:\"column-boundary-rect\",columnCells:\"column-cells\",columnCell:\"column-cell\",cellRect:\"cell-rect\",cellText:\"cell-text\",cellTextHolder:\"cell-text-holder\",scrollbarKit:\"scrollbar-kit\",scrollbar:\"scrollbar\",scrollbarSlider:\"scrollbar-slider\",scrollbarGlyph:\"scrollbar-glyph\",scrollbarCaptureZone:\"scrollbar-capture-zone\"}}});var XWe=ye((N_r,ZWe)=>{\"use strict\";var NWe=XJ(),KJ=no().extendFlat,DZt=uo(),zZt=vv().isTypedArray,L7=vv().isArrayOrTypedArray;ZWe.exports=function(t,r){var n=YJ(r.cells.values),i=function(g){return g.slice(r.header.values.length,g.length)},a=YJ(r.header.values);a.length&&!a[0].length&&(a[0]=[\"\"],a=YJ(a));var o=a.concat(i(n).map(function(){return WWe((a[0]||[\"\"]).length)})),s=r.domain,l=Math.floor(t._fullLayout._size.w*(s.x[1]-s.x[0])),u=Math.floor(t._fullLayout._size.h*(s.y[1]-s.y[0])),c=r.header.values.length?o[0].map(function(){return r.header.height}):[NWe.emptyHeaderHeight],f=n.length?n[0].map(function(){return r.cells.height}):[],h=c.reduce(UWe,0),d=u-h,v=d+NWe.uplift,x=GWe(f,v),b=GWe(c,h),p=HWe(b,[]),E=HWe(x,p),k={},A=r._fullInput.columnorder;L7(A)&&(A=Array.from(A)),A=A.concat(i(n.map(function(g,P){return P})));var L=o.map(function(g,P){var T=L7(r.columnwidth)?r.columnwidth[Math.min(P,r.columnwidth.length-1)]:r.columnwidth;return DZt(T)?Number(T):1}),_=L.reduce(UWe,0);L=L.map(function(g){return g/_*l});var C=Math.max(JJ(r.header.line.width),JJ(r.cells.line.width)),M={key:r.uid+t._context.staticPlot,translateX:s.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-s.y[1]),size:t._fullLayout._size,width:l,maxLineWidth:C,height:u,columnOrder:A,groupHeight:u,rowBlocks:E,headerRowBlocks:p,scrollY:0,cells:KJ({},r.cells,{values:n}),headerCells:KJ({},r.header,{values:o}),gdColumns:o.map(function(g){return g[0]}),gdColumnsOriginalOrder:o.map(function(g){return g[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:o.map(function(g,P){var T=k[g];k[g]=(T||0)+1;var F=g+\"__\"+k[g];return{key:F,label:g,specIndex:P,xIndex:A[P],xScale:VWe,x:void 0,calcdata:void 0,columnWidth:L[P]}})};return M.columns.forEach(function(g){g.calcdata=M,g.x=VWe(g)}),M};function JJ(e){if(L7(e)){for(var t=0,r=0;r<e.length;r++)t=Math.max(t,JJ(e[r]));return t}return e}function UWe(e,t){return e+t}function YJ(e){var t=e.slice(),r=1/0,n=0,i;for(i=0;i<t.length;i++)zZt(t[i])?t[i]=Array.from(t[i]):L7(t[i])||(t[i]=[t[i]]),r=Math.min(r,t[i].length),n=Math.max(n,t[i].length);if(r!==n)for(i=0;i<t.length;i++){var a=n-t[i].length;a&&(t[i]=t[i].concat(WWe(a)))}return t}function WWe(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=\"\";return t}function VWe(e){return e.calcdata.columns.reduce(function(t,r){return r.xIndex<e.xIndex?t+r.columnWidth:t},0)}function HWe(e,t){var r=Object.keys(e);return r.map(function(n){return KJ({},e[n],{auxiliaryBlocks:t})})}function GWe(e,t){for(var r={},n,i=0,a=0,o=jWe(),s=0,l=0,u=0;u<e.length;u++)n=e[u],o.rows.push({rowIndex:u,rowHeight:n}),a+=n,(a>=t||u===e.length-1)&&(r[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o=jWe(),i+=a,s=u+1,a=0);return r}function jWe(){return{firstRowIndex:null,lastRowIndex:null,rows:[]}}});var YWe=ye($J=>{\"use strict\";var P7=no().extendFlat;$J.splitToPanels=function(e){var t=[0,0],r=P7({},e,{key:\"header\",type:\"header\",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!0,values:e.calcdata.headerCells.values[e.specIndex],rowBlocks:e.calcdata.headerRowBlocks,calcdata:P7({},e.calcdata,{cells:e.calcdata.headerCells})}),n=P7({},e,{key:\"cells1\",type:\"cells\",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks}),i=P7({},e,{key:\"cells2\",type:\"cells\",page:1,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks});return[n,i,r]};$J.splitToCells=function(e){var t=FZt(e);return(e.values||[]).slice(t[0],t[1]).map(function(r,n){var i=typeof r==\"string\"&&r.match(/[<$&> ]/)?\"_keybuster_\"+Math.random():\"\";return{keyWithinBlock:n+i,key:t[0]+n,column:e,calcdata:e.calcdata,page:e.page,rowBlocks:e.rowBlocks,value:r}})};function FZt(e){var t=e.rowBlocks[e.page],r=t?t.rows[0].rowIndex:0,n=t?r+t.rows.length:0;return[r,n]}});var l$=ye((V_r,oZe)=>{\"use strict\";var Ia=XJ(),Mc=xa(),QJ=Mr(),qZt=QJ.numberFormat,gu=Km(),e$=ao(),OZt=Pl(),BZt=Mr().raiseToTop,og=Mr().strTranslate,NZt=Mr().cancelTransition,UZt=XWe(),rZe=YWe(),KWe=va();oZe.exports=function(t,r){var n=!t._context.staticPlot,i=t._fullLayout._paper.selectAll(\".\"+Ia.cn.table).data(r.map(function(E){var k=gu.unwrap(E),A=k.trace;return UZt(t,A)}),gu.keyFun);i.exit().remove(),i.enter().append(\"g\").classed(Ia.cn.table,!0).attr(\"overflow\",\"visible\").style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"overflow\",\"visible\").style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"all\"),i.attr(\"width\",function(E){return E.width+E.size.l+E.size.r}).attr(\"height\",function(E){return E.height+E.size.t+E.size.b}).attr(\"transform\",function(E){return og(E.translateX,E.translateY)});var a=i.selectAll(\".\"+Ia.cn.tableControlView).data(gu.repeat,gu.keyFun),o=a.enter().append(\"g\").classed(Ia.cn.tableControlView,!0).style(\"box-sizing\",\"content-box\");if(n){var s=\"onwheel\"in document?\"wheel\":\"mousewheel\";o.on(\"mousemove\",function(E){a.filter(function(k){return E===k}).call(Jk,t)}).on(s,function(E){if(!E.scrollbarState.wheeling){E.scrollbarState.wheeling=!0;var k=E.scrollY+Mc.event.deltaY,A=R7(t,a,null,k)(E);A||(Mc.event.stopPropagation(),Mc.event.preventDefault()),E.scrollbarState.wheeling=!1}}).call(Jk,t,!0)}a.attr(\"transform\",function(E){return og(E.size.l,E.size.t)});var l=a.selectAll(\".\"+Ia.cn.scrollBackground).data(gu.repeat,gu.keyFun);l.enter().append(\"rect\").classed(Ia.cn.scrollBackground,!0).attr(\"fill\",\"none\"),l.attr(\"width\",function(E){return E.width}).attr(\"height\",function(E){return E.height}),a.each(function(E){e$.setClipUrl(Mc.select(this),JWe(t,E),t)});var u=a.selectAll(\".\"+Ia.cn.yColumn).data(function(E){return E.columns},gu.keyFun);u.enter().append(\"g\").classed(Ia.cn.yColumn,!0),u.exit().remove(),u.attr(\"transform\",function(E){return og(E.x,0)}),n&&u.call(Mc.behavior.drag().origin(function(E){var k=Mc.select(this);return eZe(k,E,-Ia.uplift),BZt(this),E.calcdata.columnDragInProgress=!0,Jk(a.filter(function(A){return E.calcdata.key===A.key}),t),E}).on(\"drag\",function(E){var k=Mc.select(this),A=function(C){return(E===C?Mc.event.x:C.x)+C.columnWidth/2};E.x=Math.max(-Ia.overdrag,Math.min(E.calcdata.width+Ia.overdrag-E.columnWidth,Mc.event.x));var L=iZe(u).filter(function(C){return C.calcdata.key===E.calcdata.key}),_=L.sort(function(C,M){return A(C)-A(M)});_.forEach(function(C,M){C.xIndex=M,C.x=E===C?C.x:C.xScale(C)}),u.filter(function(C){return E!==C}).transition().ease(Ia.transitionEase).duration(Ia.transitionDuration).attr(\"transform\",function(C){return og(C.x,0)}),k.call(NZt).attr(\"transform\",og(E.x,-Ia.uplift))}).on(\"dragend\",function(E){var k=Mc.select(this),A=E.calcdata;E.x=E.xScale(E),E.calcdata.columnDragInProgress=!1,eZe(k,E,0),JZt(t,A,A.columns.map(function(L){return L.xIndex}))})),u.each(function(E){e$.setClipUrl(Mc.select(this),$We(t,E),t)});var c=u.selectAll(\".\"+Ia.cn.columnBlock).data(rZe.splitToPanels,gu.keyFun);c.enter().append(\"g\").classed(Ia.cn.columnBlock,!0).attr(\"id\",function(E){return E.key}),c.style(\"cursor\",function(E){return E.dragHandle?\"ew-resize\":E.calcdata.scrollbarState.barWiggleRoom?\"ns-resize\":\"default\"});var f=c.filter($Zt),h=c.filter(a$);n&&h.call(Mc.behavior.drag().origin(function(E){return Mc.event.stopPropagation(),E}).on(\"drag\",R7(t,a,-1)).on(\"dragend\",function(){})),t$(t,a,f,c),t$(t,a,h,c);var d=a.selectAll(\".\"+Ia.cn.scrollAreaClip).data(gu.repeat,gu.keyFun);d.enter().append(\"clipPath\").classed(Ia.cn.scrollAreaClip,!0).attr(\"id\",function(E){return JWe(t,E)});var v=d.selectAll(\".\"+Ia.cn.scrollAreaClipRect).data(gu.repeat,gu.keyFun);v.enter().append(\"rect\").classed(Ia.cn.scrollAreaClipRect,!0).attr(\"x\",-Ia.overdrag).attr(\"y\",-Ia.uplift).attr(\"fill\",\"none\"),v.attr(\"width\",function(E){return E.width+2*Ia.overdrag}).attr(\"height\",function(E){return E.height+Ia.uplift});var x=u.selectAll(\".\"+Ia.cn.columnBoundary).data(gu.repeat,gu.keyFun);x.enter().append(\"g\").classed(Ia.cn.columnBoundary,!0);var b=u.selectAll(\".\"+Ia.cn.columnBoundaryClippath).data(gu.repeat,gu.keyFun);b.enter().append(\"clipPath\").classed(Ia.cn.columnBoundaryClippath,!0),b.attr(\"id\",function(E){return $We(t,E)});var p=b.selectAll(\".\"+Ia.cn.columnBoundaryRect).data(gu.repeat,gu.keyFun);p.enter().append(\"rect\").classed(Ia.cn.columnBoundaryRect,!0).attr(\"fill\",\"none\"),p.attr(\"width\",function(E){return E.columnWidth+2*I7(E)}).attr(\"height\",function(E){return E.calcdata.height+2*I7(E)+Ia.uplift}).attr(\"x\",function(E){return-I7(E)}).attr(\"y\",function(E){return-I7(E)}),o$(null,h,a)};function I7(e){return Math.ceil(e.calcdata.maxLineWidth/2)}function JWe(e,t){return\"clip\"+e._fullLayout._uid+\"_scrollAreaBottomClip_\"+t.key}function $We(e,t){return\"clip\"+e._fullLayout._uid+\"_columnBoundaryClippath_\"+t.calcdata.key+\"_\"+t.specIndex}function iZe(e){return[].concat.apply([],e.map(function(t){return t})).map(function(t){return t.__data__})}function Jk(e,t,r){function n(u){var c=u.rowBlocks;return i$(c,c.length-1)+(c.length?D7(c[c.length-1],1/0):1)}var i=e.selectAll(\".\"+Ia.cn.scrollbarKit).data(gu.repeat,gu.keyFun);i.enter().append(\"g\").classed(Ia.cn.scrollbarKit,!0).style(\"shape-rendering\",\"geometricPrecision\"),i.each(function(u){var c=u.scrollbarState;c.totalHeight=n(u),c.scrollableAreaHeight=u.groupHeight-r$(u),c.currentlyVisibleHeight=Math.min(c.totalHeight,c.scrollableAreaHeight),c.ratio=c.currentlyVisibleHeight/c.totalHeight,c.barLength=Math.max(c.ratio*c.currentlyVisibleHeight,Ia.goldenRatio*Ia.scrollbarWidth),c.barWiggleRoom=c.currentlyVisibleHeight-c.barLength,c.wiggleRoom=Math.max(0,c.totalHeight-c.scrollableAreaHeight),c.topY=c.barWiggleRoom===0?0:u.scrollY/c.wiggleRoom*c.barWiggleRoom,c.bottomY=c.topY+c.barLength,c.dragMultiplier=c.wiggleRoom/c.barWiggleRoom}).attr(\"transform\",function(u){var c=u.width+Ia.scrollbarWidth/2+Ia.scrollbarOffset;return og(c,r$(u))});var a=i.selectAll(\".\"+Ia.cn.scrollbar).data(gu.repeat,gu.keyFun);a.enter().append(\"g\").classed(Ia.cn.scrollbar,!0);var o=a.selectAll(\".\"+Ia.cn.scrollbarSlider).data(gu.repeat,gu.keyFun);o.enter().append(\"g\").classed(Ia.cn.scrollbarSlider,!0),o.attr(\"transform\",function(u){return og(0,u.scrollbarState.topY||0)});var s=o.selectAll(\".\"+Ia.cn.scrollbarGlyph).data(gu.repeat,gu.keyFun);s.enter().append(\"line\").classed(Ia.cn.scrollbarGlyph,!0).attr(\"stroke\",\"black\").attr(\"stroke-width\",Ia.scrollbarWidth).attr(\"stroke-linecap\",\"round\").attr(\"y1\",Ia.scrollbarWidth/2),s.attr(\"y2\",function(u){return u.scrollbarState.barLength-Ia.scrollbarWidth/2}).attr(\"stroke-opacity\",function(u){return u.columnDragInProgress||!u.scrollbarState.barWiggleRoom||r?0:.4}),s.transition().delay(0).duration(0),s.transition().delay(Ia.scrollbarHideDelay).duration(Ia.scrollbarHideDuration).attr(\"stroke-opacity\",0);var l=a.selectAll(\".\"+Ia.cn.scrollbarCaptureZone).data(gu.repeat,gu.keyFun);l.enter().append(\"line\").classed(Ia.cn.scrollbarCaptureZone,!0).attr(\"stroke\",\"white\").attr(\"stroke-opacity\",.01).attr(\"stroke-width\",Ia.scrollbarCaptureWidth).attr(\"stroke-linecap\",\"butt\").attr(\"y1\",0).on(\"mousedown\",function(u){var c=Mc.event.y,f=this.getBoundingClientRect(),h=u.scrollbarState,d=c-f.top,v=Mc.scale.linear().domain([0,h.scrollableAreaHeight]).range([0,h.totalHeight]).clamp(!0);h.topY<=d&&d<=h.bottomY||R7(t,e,null,v(d-h.barLength/2))(u)}).call(Mc.behavior.drag().origin(function(u){return Mc.event.stopPropagation(),u.scrollbarState.scrollbarScrollInProgress=!0,u}).on(\"drag\",R7(t,e)).on(\"dragend\",function(){})),l.attr(\"y2\",function(u){return u.scrollbarState.scrollableAreaHeight}),t._context.staticPlot&&(s.remove(),l.remove())}function t$(e,t,r,n){var i=VZt(r),a=HZt(i);ZZt(a);var o=GZt(a);YZt(o);var s=WZt(a),l=jZt(s);XZt(l),nZe(l,t,n,e),s$(a)}function VZt(e){var t=e.selectAll(\".\"+Ia.cn.columnCells).data(gu.repeat,gu.keyFun);return t.enter().append(\"g\").classed(Ia.cn.columnCells,!0),t.exit().remove(),t}function HZt(e){var t=e.selectAll(\".\"+Ia.cn.columnCell).data(rZe.splitToCells,function(r){return r.keyWithinBlock});return t.enter().append(\"g\").classed(Ia.cn.columnCell,!0),t.exit().remove(),t}function GZt(e){var t=e.selectAll(\".\"+Ia.cn.cellRect).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append(\"rect\").classed(Ia.cn.cellRect,!0),t}function jZt(e){var t=e.selectAll(\".\"+Ia.cn.cellText).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append(\"text\").classed(Ia.cn.cellText,!0).style(\"cursor\",function(){return\"auto\"}).on(\"mousedown\",function(){Mc.event.stopPropagation()}),t}function WZt(e){var t=e.selectAll(\".\"+Ia.cn.cellTextHolder).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append(\"g\").classed(Ia.cn.cellTextHolder,!0).style(\"shape-rendering\",\"geometricPrecision\"),t}function ZZt(e){e.each(function(t,r){var n=t.calcdata.cells.font,i=t.column.specIndex,a={size:Xv(n.size,i,r),color:Xv(n.color,i,r),family:Xv(n.family,i,r),weight:Xv(n.weight,i,r),style:Xv(n.style,i,r),variant:Xv(n.variant,i,r),textcase:Xv(n.textcase,i,r),lineposition:Xv(n.lineposition,i,r),shadow:Xv(n.shadow,i,r)};t.rowNumber=t.key,t.align=Xv(t.calcdata.cells.align,i,r),t.cellBorderWidth=Xv(t.calcdata.cells.line.width,i,r),t.font=a})}function XZt(e){e.each(function(t){e$.font(Mc.select(this),t.font)})}function YZt(e){e.attr(\"width\",function(t){return t.column.columnWidth}).attr(\"stroke-width\",function(t){return t.cellBorderWidth}).each(function(t){var r=Mc.select(this);KWe.stroke(r,Xv(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),KWe.fill(r,Xv(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}function nZe(e,t,r,n){e.text(function(i){var a=i.column.specIndex,o=i.rowNumber,s=i.value,l=typeof s==\"string\",u=l&&s.match(/<br>/i),c=!l||u;i.mayHaveMarkup=l&&s.match(/[<&>]/);var f=KZt(s);i.latex=f;var h=f?\"\":Xv(i.calcdata.cells.prefix,a,o)||\"\",d=f?\"\":Xv(i.calcdata.cells.suffix,a,o)||\"\",v=f?null:Xv(i.calcdata.cells.format,a,o)||null,x=h+(v?qZt(v)(i.value):i.value)+d,b;i.wrappingNeeded=!i.wrapped&&!c&&!f&&(b=QWe(x)),i.cellHeightMayIncrease=u||f||i.mayHaveMarkup||(b===void 0?QWe(x):b),i.needsConvertToTspans=i.mayHaveMarkup||i.wrappingNeeded||i.latex;var p;if(i.wrappingNeeded){var E=Ia.wrapSplitCharacter===\" \"?x.replace(/<a href=/ig,\"<a_href=\"):x,k=E.split(Ia.wrapSplitCharacter),A=Ia.wrapSplitCharacter===\" \"?k.map(function(L){return L.replace(/<a_href=/ig,\"<a href=\")}):k;i.fragments=A.map(function(L){return{text:L,width:null}}),i.fragments.push({fragment:Ia.wrapSpacer,width:null}),p=A.join(Ia.lineBreaker)+Ia.lineBreaker+Ia.wrapSpacer}else delete i.fragments,p=x;return p}).attr(\"dy\",function(i){return i.needsConvertToTspans?0:\"0.75em\"}).each(function(i){var a=this,o=Mc.select(a),s=i.wrappingNeeded?eXt:tXt;i.needsConvertToTspans?OZt.convertToTspans(o,n,s(r,a,t,n,i)):Mc.select(a.parentNode).attr(\"transform\",function(l){return og(aZe(l),Ia.cellPad)}).attr(\"text-anchor\",function(l){return{left:\"start\",center:\"middle\",right:\"end\"}[l.align]})})}function KZt(e){return typeof e==\"string\"&&e.match(Ia.latexCheck)}function QWe(e){return e.indexOf(Ia.wrapSplitCharacter)!==-1}function JZt(e,t,r){var n=t.gdColumnsOriginalOrder;t.gdColumns.sort(function(i,a){return r[n.indexOf(i)]-r[n.indexOf(a)]}),t.columnorder=r,e.emit(\"plotly_restyle\")}function Xv(e,t,r){if(QJ.isArrayOrTypedArray(e)){var n=e[Math.min(t,e.length-1)];return QJ.isArrayOrTypedArray(n)?n[Math.min(r,n.length-1)]:n}else return e}function eZe(e,t,r){e.transition().ease(Ia.releaseTransitionEase).duration(Ia.releaseTransitionDuration).attr(\"transform\",og(t.x,r))}function a$(e){return e.type===\"cells\"}function $Zt(e){return e.type===\"header\"}function r$(e){var t=e.rowBlocks.length?e.rowBlocks[0].auxiliaryBlocks:[];return t.reduce(function(r,n){return r+D7(n,1/0)},0)}function QZt(e,t,r){for(var n=[],i=0,a=0;a<e.length;a++){for(var o=e[a],s=o.rows,l=0,u=0;u<s.length;u++)l+=s[u].rowHeight;o.allRowsHeight=l;var c=i+l,f=t,h=f+r;f<c&&h>i&&n.push(a),i+=l}return n}function o$(e,t,r){var n=iZe(t)[0];if(n!==void 0){var i=n.rowBlocks,a=n.calcdata,o=i$(i,i.length),s=n.calcdata.groupHeight-r$(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),u=QZt(i,l,s);u.length===1&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),t.each(function(c,f){c.page=u[f],c.scrollY=l}),t.attr(\"transform\",function(c){var f=i$(c.rowBlocks,c.page)-c.scrollY;return og(0,f)}),e&&(tZe(e,r,t,u,n.prevPages,n,0),tZe(e,r,t,u,n.prevPages,n,1),Jk(r,e))}}function R7(e,t,r,n){return function(a){var o=a.calcdata?a.calcdata:a,s=t.filter(function(f){return o.key===f.key}),l=r||o.scrollbarState.dragMultiplier,u=o.scrollY;o.scrollY=n===void 0?o.scrollY+l*Mc.event.dy:n;var c=s.selectAll(\".\"+Ia.cn.yColumn).selectAll(\".\"+Ia.cn.columnBlock).filter(a$);return o$(e,c,s),o.scrollY===u}}function tZe(e,t,r,n,i,a,o){var s=n[o]!==i[o];s&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var l=r.filter(function(u,c){return c===o&&n[c]!==i[c]});t$(e,t,l,r),i[o]=n[o]}))}function eXt(e,t,r,n){return function(){var a=Mc.select(t.parentNode);a.each(function(o){var s=o.fragments;a.selectAll(\"tspan.line\").each(function(x,b){s[b].width=this.getComputedTextLength()});var l=s[s.length-1].width,u=s.slice(0,-1),c=[],f,h,d=0,v=o.column.columnWidth-2*Ia.cellPad;for(o.value=\"\";u.length;)f=u.shift(),h=f.width+l,d+h>v&&(o.value+=c.join(Ia.wrapSpacer)+Ia.lineBreaker,c=[],d=0),c.push(f.text),d+=h;d&&(o.value+=c.join(Ia.wrapSpacer)),o.wrapped=!0}),a.selectAll(\"tspan.line\").remove(),nZe(a.select(\".\"+Ia.cn.cellText),r,e,n),Mc.select(t.parentNode.parentNode).call(s$)}}function tXt(e,t,r,n,i){return function(){if(!i.settledY){var o=Mc.select(t.parentNode),s=n$(i),l=i.key-s.firstRowIndex,u=s.rows[l].rowHeight,c=i.cellHeightMayIncrease?t.parentNode.getBoundingClientRect().height+2*Ia.cellPad:u,f=Math.max(c,u),h=f-s.rows[l].rowHeight;h&&(s.rows[l].rowHeight=f,e.selectAll(\".\"+Ia.cn.columnCell).call(s$),o$(null,e.filter(a$),0),Jk(r,n,!0)),o.attr(\"transform\",function(){var d=this,v=d.parentNode,x=v.getBoundingClientRect(),b=Mc.select(d.parentNode).select(\".\"+Ia.cn.cellRect).node().getBoundingClientRect(),p=d.transform.baseVal.consolidate(),E=b.top-x.top+(p?p.matrix.f:Ia.cellPad);return og(aZe(i,Mc.select(d.parentNode).select(\".\"+Ia.cn.cellTextHolder).node().getBoundingClientRect().width),E)}),i.settledY=!0}}}function aZe(e,t){switch(e.align){case\"left\":return Ia.cellPad;case\"right\":return e.column.columnWidth-(t||0)-Ia.cellPad;case\"center\":return(e.column.columnWidth-(t||0))/2;default:return Ia.cellPad}}function s$(e){e.attr(\"transform\",function(t){var r=t.rowBlocks[0].auxiliaryBlocks.reduce(function(o,s){return o+D7(s,1/0)},0),n=n$(t),i=D7(n,t.key),a=i+r;return og(0,a)}).selectAll(\".\"+Ia.cn.cellRect).attr(\"height\",function(t){return iXt(n$(t),t.key).rowHeight})}function i$(e,t){for(var r=0,n=t-1;n>=0;n--)r+=rXt(e[n]);return r}function D7(e,t){for(var r=0,n=0;n<e.rows.length&&e.rows[n].rowIndex<t;n++)r+=e.rows[n].rowHeight;return r}function rXt(e){var t=e.allRowsHeight;if(t!==void 0)return t;for(var r=0,n=0;n<e.rows.length;n++)r+=e.rows[n].rowHeight;return e.allRowsHeight=r,r}function n$(e){return e.rowBlocks[e.page]}function iXt(e,t){return e.rows[t-e.firstRowIndex]}});var sZe=ye(F7=>{\"use strict\";var nXt=kd().getModuleCalcData,aXt=l$(),z7=\"table\";F7.name=z7;F7.plot=function(e){var t=nXt(e.calcdata,z7)[0];t.length&&aXt(e,t)};F7.clean=function(e,t,r,n){var i=n._has&&n._has(z7),a=t._has&&t._has(z7);i&&!a&&n._paperdiv.selectAll(\".table\").remove()}});var uZe=ye((G_r,lZe)=>{\"use strict\";lZe.exports={attributes:WJ(),supplyDefaults:FWe(),calc:OWe(),plot:l$(),moduleType:\"trace\",name:\"table\",basePlotModule:sZe(),categories:[\"noOpacity\"],meta:{}}});var fZe=ye((j_r,cZe)=>{\"use strict\";cZe.exports=uZe()});var gZe=ye((W_r,pZe)=>{\"use strict\";var hZe=Su(),dZe=dh(),u$=Cd(),oXt=Oc().descriptionWithDates,sXt=Bu().overrideAll,vZe=Ed().dash,c$=no().extendFlat;pZe.exports={color:{valType:\"color\",editType:\"calc\"},smoothing:{valType:\"number\",dflt:1,min:0,max:1.3,editType:\"calc\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"calc\"},font:hZe({editType:\"calc\"}),offset:{valType:\"number\",dflt:10,editType:\"calc\"},editType:\"calc\"},type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"date\",\"category\"],dflt:\"-\",editType:\"calc\"},autotypenumbers:u$.autotypenumbers,autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],dflt:!0,editType:\"calc\"},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"calc\"},range:{valType:\"info_array\",editType:\"calc\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}]},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cheatertype:{valType:\"enumerated\",values:[\"index\",\"value\"],dflt:\"value\",editType:\"calc\"},tickmode:{valType:\"enumerated\",values:[\"linear\",\"array\"],dflt:\"array\",editType:\"calc\"},nticks:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},tickvals:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},showticklabels:{valType:\"enumerated\",values:[\"start\",\"end\",\"both\",\"none\"],dflt:\"start\",editType:\"calc\"},labelalias:c$({},u$.labelalias,{editType:\"calc\"}),tickfont:hZe({editType:\"calc\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"calc\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"calc\"},minexponent:{valType:\"number\",dflt:3,min:0,editType:\"calc\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"calc\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"calc\",description:oXt(\"tick label\")},tickformatstops:sXt(u$.tickformatstops,\"calc\",\"from-root\"),categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},labelpadding:{valType:\"integer\",dflt:10,editType:\"calc\"},labelprefix:{valType:\"string\",editType:\"calc\"},labelsuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showline:{valType:\"boolean\",dflt:!1,editType:\"calc\"},linecolor:{valType:\"color\",dflt:dZe.defaultLine,editType:\"calc\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},gridcolor:{valType:\"color\",editType:\"calc\"},gridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},griddash:c$({},vZe,{editType:\"calc\"}),showgrid:{valType:\"boolean\",dflt:!0,editType:\"calc\"},minorgridcount:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},minorgridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},minorgriddash:c$({},vZe,{editType:\"calc\"}),minorgridcolor:{valType:\"color\",dflt:dZe.lightLine,editType:\"calc\"},startline:{valType:\"boolean\",editType:\"calc\"},startlinecolor:{valType:\"color\",editType:\"calc\"},startlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endline:{valType:\"boolean\",editType:\"calc\"},endlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endlinecolor:{valType:\"color\",editType:\"calc\"},tick0:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},dtick:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},arraytick0:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},arraydtick:{valType:\"integer\",min:1,dflt:1,editType:\"calc\"},editType:\"calc\"}});var O7=ye((Z_r,_Ze)=>{\"use strict\";var lXt=Su(),mZe=gZe(),yZe=dh(),q7=lXt({editType:\"calc\"}),uXt=Uc().zorder;q7.family.dflt='\"Open Sans\", verdana, arial, sans-serif';q7.size.dflt=12;q7.color.dflt=yZe.defaultLine;_Ze.exports={carpet:{valType:\"string\",editType:\"calc\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},a:{valType:\"data_array\",editType:\"calc\"},a0:{valType:\"number\",dflt:0,editType:\"calc\"},da:{valType:\"number\",dflt:1,editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},b0:{valType:\"number\",dflt:0,editType:\"calc\"},db:{valType:\"number\",dflt:1,editType:\"calc\"},cheaterslope:{valType:\"number\",dflt:1,editType:\"calc\"},aaxis:mZe,baxis:mZe,font:q7,color:{valType:\"color\",dflt:yZe.defaultLine,editType:\"plot\"},zorder:uXt}});var wZe=ye((X_r,bZe)=>{\"use strict\";var xZe=Mr().isArray1D;bZe.exports=function(t,r,n){var i=n(\"x\"),a=i&&i.length,o=n(\"y\"),s=o&&o.length;if(!a&&!s)return!1;if(r._cheater=!i,(!a||xZe(i))&&(!s||xZe(o))){var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),r.a&&r.a.length&&(l=Math.min(l,r.a.length)),r.b&&r.b.length&&(l=Math.min(l,r.b.length)),r._length=l}else r._length=null;return!0}});var SZe=ye((Y_r,AZe)=>{\"use strict\";var cXt=O7(),TZe=va().addOpacity,fXt=ba(),$k=Mr(),hXt=xb(),dXt=t_(),vXt=r_(),pXt=eI(),gXt=ym(),mXt=L3();AZe.exports=function(t,r,n){var i=n.letter,a=n.font||{},o=cXt[i+\"axis\"];function s(g,P){return $k.coerce(t,r,o,g,P)}function l(g,P){return $k.coerce2(t,r,o,g,P)}n.name&&(r._name=n.name,r._id=n.name),s(\"autotypenumbers\",n.autotypenumbersDflt);var u=s(\"type\");if(u===\"-\"&&(n.data&&yXt(r,n.data),r.type===\"-\"?r.type=\"linear\":u=t.type=r.type),s(\"smoothing\"),s(\"cheatertype\"),s(\"showticklabels\"),s(\"labelprefix\",i+\" = \"),s(\"labelsuffix\"),s(\"showtickprefix\"),s(\"showticksuffix\"),s(\"separatethousands\"),s(\"tickformat\"),s(\"exponentformat\"),s(\"minexponent\"),s(\"showexponent\"),s(\"categoryorder\"),s(\"tickmode\"),s(\"tickvals\"),s(\"ticktext\"),s(\"tick0\"),s(\"dtick\"),r.tickmode===\"array\"&&(s(\"arraytick0\"),s(\"arraydtick\")),s(\"labelpadding\"),r._hovertitle=i,u===\"date\"){var c=fXt.getComponentMethod(\"calendars\",\"handleDefaults\");c(t,r,\"calendar\",n.calendar)}gXt(r,n.fullLayout),r.c2p=$k.identity;var f=s(\"color\",n.dfltColor),h=f===t.color?f:a.color,d=s(\"title.text\");d&&($k.coerceFont(s,\"title.font\",a,{overrideDflt:{size:$k.bigFont(a.size),color:h}}),s(\"title.offset\")),s(\"tickangle\");var v=s(\"autorange\",!r.isValidRange(t.range));v&&s(\"rangemode\"),s(\"range\"),r.cleanRange(),s(\"fixedrange\"),hXt(t,r,s,u),vXt(t,r,s,u,n),dXt(t,r,s,u,n),pXt(t,r,s,{data:n.data,dataAttr:i});var x=l(\"gridcolor\",TZe(f,.3)),b=l(\"gridwidth\"),p=l(\"griddash\"),E=s(\"showgrid\");E||(delete r.gridcolor,delete r.gridwidth,delete r.griddash);var k=l(\"startlinecolor\",f),A=l(\"startlinewidth\",b),L=s(\"startline\",r.showgrid||!!k||!!A);L||(delete r.startlinecolor,delete r.startlinewidth);var _=l(\"endlinecolor\",f),C=l(\"endlinewidth\",b),M=s(\"endline\",r.showgrid||!!_||!!C);return M||(delete r.endlinecolor,delete r.endlinewidth),E?(s(\"minorgridcount\"),s(\"minorgridwidth\",b),s(\"minorgriddash\",p),s(\"minorgridcolor\",TZe(x,.06)),r.minorgridcount||(delete r.minorgridwidth,delete r.minorgriddash,delete r.minorgridcolor)):(delete r.gridcolor,delete r.gridwidth,delete r.griddash),r.showticklabels===\"none\"&&(delete r.tickfont,delete r.tickangle,delete r.showexponent,delete r.exponentformat,delete r.minexponent,delete r.tickformat,delete r.showticksuffix,delete r.showtickprefix),r.showticksuffix||delete r.ticksuffix,r.showtickprefix||delete r.tickprefix,s(\"tickmode\"),r};function yXt(e,t){if(e.type===\"-\"){var r=e._id,n=r.charAt(0),i=n+\"calendar\",a=e[i];e.type=mXt(t,a,{autotypenumbers:e.autotypenumbers})}}});var EZe=ye((K_r,MZe)=>{\"use strict\";var _Xt=SZe(),xXt=Vs();MZe.exports=function(t,r,n,i,a){var o=i(\"a\");o||(i(\"da\"),i(\"a0\"));var s=i(\"b\");s||(i(\"db\"),i(\"b0\")),bXt(t,r,n,a)};function bXt(e,t,r,n){var i=[\"aaxis\",\"baxis\"];i.forEach(function(a){var o=a.charAt(0),s=e[a]||{},l=xXt.newContainer(t,a),u={noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,noTicklabelstep:!0,tickfont:\"x\",id:o+\"axis\",letter:o,font:t.font,name:a,data:e[o],calendar:t.calendar,dfltColor:n,bgColor:r.paper_bgcolor,autotypenumbersDflt:r.autotypenumbers,fullLayout:r};_Xt(s,l,u),l._categories=l._categories||[],!e[a]&&s.type!==\"-\"&&(e[a]={type:s.type})})}});var LZe=ye((J_r,CZe)=>{\"use strict\";var kZe=Mr(),wXt=wZe(),TXt=EZe(),AXt=O7(),SXt=dh();CZe.exports=function(t,r,n,i){function a(l,u){return kZe.coerce(t,r,AXt,l,u)}r._clipPathId=\"clip\"+r.uid+\"carpet\";var o=a(\"color\",SXt.defaultLine);if(kZe.coerceFont(a,\"font\",i.font),a(\"carpet\"),TXt(t,r,i,a,o),!r.a||!r.b){r.visible=!1;return}r.a.length<3&&(r.aaxis.smoothing=0),r.b.length<3&&(r.baxis.smoothing=0);var s=wXt(t,r,a);s||(r.visible=!1),r._cheater&&a(\"cheaterslope\"),a(\"zorder\")}});var f$=ye(($_r,PZe)=>{\"use strict\";var MXt=Mr().isArrayOrTypedArray;PZe.exports=function(t,r,n){var i;for(MXt(t)?t.length>r.length&&(t=t.slice(0,r.length)):t=[],i=0;i<r.length;i++)t[i]=n(r[i]);return t}});var h$=ye((Q_r,IZe)=>{\"use strict\";IZe.exports=function(t,r,n){if(t.length===0)return\"\";var i,a=[],o=n?3:1;for(i=0;i<t.length;i+=o)a.push(t[i]+\",\"+r[i]),n&&i<t.length-o&&(a.push(\"C\"),a.push([t[i+1]+\",\"+r[i+1],t[i+2]+\",\"+r[i+2]+\" \"].join(\" \")));return a.join(n?\"\":\"L\")}});var DZe=ye((exr,RZe)=>{\"use strict\";RZe.exports=function(t,r,n,i,a,o){var s=a[0]*t.dpdx(r),l=a[1]*t.dpdy(n),u=1,c=1;if(o){var f=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=Math.sqrt(o[0]*o[0]+o[1]*o[1]),d=(a[0]*o[0]+a[1]*o[1])/f/h;c=Math.max(0,d)}var v=Math.atan2(l,s)*180/Math.PI;return v<-90?(v+=180,u=-u):v>90&&(v-=180,u=-u),{angle:v,flip:u,p:t.c2p(i,r,n),offsetMultplier:c}}});var VZe=ye((txr,UZe)=>{\"use strict\";var V7=xa(),B7=ao(),N7=f$(),qZe=h$(),Qk=DZe(),d$=Pl(),Up=Mr(),OZe=Up.strRotate,U7=Up.strTranslate,BZe=Nh();UZe.exports=function(t,r,n,i){var a=t._context.staticPlot,o=r.xaxis,s=r.yaxis,l=t._fullLayout,u=l._clips;Up.makeTraceGroups(i,n,\"trace\").each(function(c){var f=V7.select(this),h=c[0],d=h.trace,v=d.aaxis,x=d.baxis,b=Up.ensureSingle(f,\"g\",\"minorlayer\"),p=Up.ensureSingle(f,\"g\",\"majorlayer\"),E=Up.ensureSingle(f,\"g\",\"boundarylayer\"),k=Up.ensureSingle(f,\"g\",\"labellayer\");f.style(\"opacity\",d.opacity),zA(o,s,p,v,\"a\",v._gridlines,!0,a),zA(o,s,p,x,\"b\",x._gridlines,!0,a),zA(o,s,b,v,\"a\",v._minorgridlines,!0,a),zA(o,s,b,x,\"b\",x._minorgridlines,!0,a),zA(o,s,E,v,\"a-boundary\",v._boundarylines,a),zA(o,s,E,x,\"b-boundary\",x._boundarylines,a);var A=zZe(t,o,s,d,h,k,v._labels,\"a-label\"),L=zZe(t,o,s,d,h,k,x._labels,\"b-label\");kXt(t,k,d,h,o,s,A,L),EXt(d,h,u,o,s)})};function EXt(e,t,r,n,i){var a,o,s,l,u=r.select(\"#\"+e._clipPathId);u.size()||(u=r.append(\"clipPath\").classed(\"carpetclip\",!0));var c=Up.ensureSingle(u,\"path\",\"carpetboundary\"),f=t.clipsegments,h=[];for(l=0;l<f.length;l++)a=f[l],o=N7([],a.x,n.c2p),s=N7([],a.y,i.c2p),h.push(qZe(o,s,a.bicubic));var d=\"M\"+h.join(\"L\")+\"Z\";u.attr(\"id\",e._clipPathId),c.attr(\"d\",d)}function zA(e,t,r,n,i,a,o){var s=\"const-\"+i+\"-lines\",l=r.selectAll(\".\"+s).data(a);l.enter().append(\"path\").classed(s,!0).style(\"vector-effect\",o?\"none\":\"non-scaling-stroke\"),l.each(function(u){var c=u,f=c.x,h=c.y,d=N7([],f,e.c2p),v=N7([],h,t.c2p),x=\"M\"+qZe(d,v,c.smoothing),b=V7.select(this);b.attr(\"d\",x).style(\"stroke-width\",c.width).style(\"stroke\",c.color).style(\"stroke-dasharray\",B7.dashStyle(c.dash,c.width)).style(\"fill\",\"none\")}),l.exit().remove()}function zZe(e,t,r,n,i,a,o,s){var l=a.selectAll(\"text.\"+s).data(o);l.enter().append(\"text\").classed(s,!0);var u=0,c={};return l.each(function(f,h){var d;if(f.axis.tickangle===\"auto\")d=Qk(n,t,r,f.xy,f.dxy);else{var v=(f.axis.tickangle+180)*Math.PI/180;d=Qk(n,t,r,f.xy,[Math.cos(v),Math.sin(v)])}h||(c={angle:d.angle,flip:d.flip});var x=(f.endAnchor?-1:1)*d.flip,b=V7.select(this).attr({\"text-anchor\":x>0?\"start\":\"end\",\"data-notex\":1}).call(B7.font,f.font).text(f.text).call(d$.convertToTspans,e),p=B7.bBox(this);b.attr(\"transform\",U7(d.p[0],d.p[1])+OZe(d.angle)+U7(f.axis.labelpadding*x,p.height*.3)),u=Math.max(u,p.width+f.axis.labelpadding)}),l.exit().remove(),c.maxExtent=u,c}function kXt(e,t,r,n,i,a,o,s){var l,u,c,f,h=Up.aggNums(Math.min,null,r.a),d=Up.aggNums(Math.max,null,r.a),v=Up.aggNums(Math.min,null,r.b),x=Up.aggNums(Math.max,null,r.b);l=.5*(h+d),u=v,c=r.ab2xy(l,u,!0),f=r.dxyda_rough(l,u),o.angle===void 0&&Up.extendFlat(o,Qk(r,i,a,c,r.dxydb_rough(l,u))),FZe(e,t,r,n,c,f,r.aaxis,i,a,o,\"a-title\"),l=h,u=.5*(v+x),c=r.ab2xy(l,u,!0),f=r.dxydb_rough(l,u),s.angle===void 0&&Up.extendFlat(s,Qk(r,i,a,c,r.dxyda_rough(l,u))),FZe(e,t,r,n,c,f,r.baxis,i,a,s,\"b-title\")}var NZe=BZe.LINE_SPACING,CXt=(1-BZe.MID_SHIFT)/NZe+1;function FZe(e,t,r,n,i,a,o,s,l,u,c){var f=[];o.title.text&&f.push(o.title.text);var h=t.selectAll(\"text.\"+c).data(f),d=u.maxExtent;h.enter().append(\"text\").classed(c,!0),h.each(function(){var v=Qk(r,s,l,i,a);[\"start\",\"both\"].indexOf(o.showticklabels)===-1&&(d=0);var x=o.title.font.size;d+=x+o.title.offset;var b=u.angle+(u.flip<0?180:0),p=(b-v.angle+450)%360,E=p>90&&p<270,k=V7.select(this);k.text(o.title.text).call(d$.convertToTspans,e),E&&(d=(-d$.lineCount(k)+CXt)*NZe*x-d),k.attr(\"transform\",U7(v.p[0],v.p[1])+OZe(v.angle)+U7(0,d)).attr(\"text-anchor\",\"middle\").call(B7.font,o.title.font)}),h.exit().remove()}});var GZe=ye((rxr,HZe)=>{\"use strict\";var H7=Mr().isArrayOrTypedArray;HZe.exports=function(e,t,r){var n,i,a,o,s,l,u=[],c=H7(e)?e.length:e,f=H7(t)?t.length:t,h=H7(e)?e:null,d=H7(t)?t:null;h&&(a=(h.length-1)/(h[h.length-1]-h[0])/(c-1)),d&&(o=(d.length-1)/(d[d.length-1]-d[0])/(f-1));var v,x=1/0,b=-1/0;for(i=0;i<f;i++)for(u[i]=[],l=d?(d[i]-d[0])*o:i/(f-1),n=0;n<c;n++)s=h?(h[n]-h[0])*a:n/(c-1),v=s-l*r,x=Math.min(v,x),b=Math.max(v,b),u[i][n]=v;var p=1/(b-x),E=-x*p;for(i=0;i<f;i++)for(n=0;n<c;n++)u[i][n]=p*u[i][n]+E;return u}});var XZe=ye((ixr,ZZe)=>{\"use strict\";var jZe=Mr().isArrayOrTypedArray;ZZe.exports=function(e){return WZe(e,0)};function WZe(e,t){if(!jZe(e)||t>=10)return null;for(var r=1/0,n=-1/0,i=e.length,a=0;a<i;a++){var o=e[a];if(jZe(o)){var s=WZe(o,t+1);s&&(r=Math.min(s[0],r),n=Math.max(s[1],n))}else r=Math.min(o,r),n=Math.max(o,n)}return[r,n]}});var KZe=ye((nxr,YZe)=>{\"use strict\";var LXt=Qa(),kx=no().extendFlat;YZe.exports=function(t,r,n){var i,a,o,s,l,u,c,f,h,d,v,x,b,p,E=t[\"_\"+r],k=t[r+\"axis\"],A=k._gridlines=[],L=k._minorgridlines=[],_=k._boundarylines=[],C=t[\"_\"+n],M=t[n+\"axis\"];k.tickmode===\"array\"&&(k.tickvals=E.slice());var g=t._xctrl,P=t._yctrl,T=g[0].length,F=g.length,q=t._a.length,V=t._b.length;LXt.prepTicks(k),k.tickmode===\"array\"&&delete k.tickvals;var H=k.smoothing?3:1;function X(N){var W,re,ae,_e,Me,ke,ge,ie,Te,Ee,Ae,ze,Ce=[],me=[],Re={};if(r===\"b\")for(re=t.b2j(N),ae=Math.floor(Math.max(0,Math.min(V-2,re))),_e=re-ae,Re.length=V,Re.crossLength=q,Re.xy=function(ce){return t.evalxy([],ce,re)},Re.dxy=function(ce,Ge){return t.dxydi([],ce,ae,Ge,_e)},W=0;W<q;W++)ke=Math.min(q-2,W),ge=W-ke,ie=t.evalxy([],W,re),M.smoothing&&W>0&&(Te=t.dxydi([],W-1,ae,0,_e),Ce.push(Me[0]+Te[0]/3),me.push(Me[1]+Te[1]/3),Ee=t.dxydi([],W-1,ae,1,_e),Ce.push(ie[0]-Ee[0]/3),me.push(ie[1]-Ee[1]/3)),Ce.push(ie[0]),me.push(ie[1]),Me=ie;else for(W=t.a2i(N),ke=Math.floor(Math.max(0,Math.min(q-2,W))),ge=W-ke,Re.length=q,Re.crossLength=V,Re.xy=function(ce){return t.evalxy([],W,ce)},Re.dxy=function(ce,Ge){return t.dxydj([],ke,ce,ge,Ge)},re=0;re<V;re++)ae=Math.min(V-2,re),_e=re-ae,ie=t.evalxy([],W,re),M.smoothing&&re>0&&(Ae=t.dxydj([],ke,re-1,ge,0),Ce.push(Me[0]+Ae[0]/3),me.push(Me[1]+Ae[1]/3),ze=t.dxydj([],ke,re-1,ge,1),Ce.push(ie[0]-ze[0]/3),me.push(ie[1]-ze[1]/3)),Ce.push(ie[0]),me.push(ie[1]),Me=ie;return Re.axisLetter=r,Re.axis=k,Re.crossAxis=M,Re.value=N,Re.constvar=n,Re.index=f,Re.x=Ce,Re.y=me,Re.smoothing=M.smoothing,Re}function G(N){var W,re,ae,_e,Me,ke=[],ge=[],ie={};if(ie.length=E.length,ie.crossLength=C.length,r===\"b\")for(ae=Math.max(0,Math.min(V-2,N)),Me=Math.min(1,Math.max(0,N-ae)),ie.xy=function(Te){return t.evalxy([],Te,N)},ie.dxy=function(Te,Ee){return t.dxydi([],Te,ae,Ee,Me)},W=0;W<T;W++)ke[W]=g[N*H][W],ge[W]=P[N*H][W];else for(re=Math.max(0,Math.min(q-2,N)),_e=Math.min(1,Math.max(0,N-re)),ie.xy=function(Te){return t.evalxy([],N,Te)},ie.dxy=function(Te,Ee){return t.dxydj([],re,Te,_e,Ee)},W=0;W<F;W++)ke[W]=g[W][N*H],ge[W]=P[W][N*H];return ie.axisLetter=r,ie.axis=k,ie.crossAxis=M,ie.value=E[N],ie.constvar=n,ie.index=N,ie.x=ke,ie.y=ge,ie.smoothing=M.smoothing,ie}if(k.tickmode===\"array\"){for(s=5e-15,l=[Math.floor((E.length-1-k.arraytick0)/k.arraydtick*(1+s)),Math.ceil(-k.arraytick0/k.arraydtick/(1+s))].sort(function(N,W){return N-W}),u=l[0]-1,c=l[1]+1,f=u;f<c;f++)a=k.arraytick0+k.arraydtick*f,!(a<0||a>E.length-1)&&A.push(kx(G(a),{color:k.gridcolor,width:k.gridwidth,dash:k.griddash}));for(f=u;f<c;f++)if(o=k.arraytick0+k.arraydtick*f,v=Math.min(o+k.arraydtick,E.length-1),!(o<0||o>E.length-1)&&!(v<0||v>E.length-1))for(x=E[o],b=E[v],i=0;i<k.minorgridcount;i++)p=v-o,!(p<=0)&&(d=x+(b-x)*(i+1)/(k.minorgridcount+1)*(k.arraydtick/p),!(d<E[0]||d>E[E.length-1])&&L.push(kx(X(d),{color:k.minorgridcolor,width:k.minorgridwidth,dash:k.minorgriddash})));k.startline&&_.push(kx(G(0),{color:k.startlinecolor,width:k.startlinewidth})),k.endline&&_.push(kx(G(E.length-1),{color:k.endlinecolor,width:k.endlinewidth}))}else{for(s=5e-15,l=[Math.floor((E[E.length-1]-k.tick0)/k.dtick*(1+s)),Math.ceil((E[0]-k.tick0)/k.dtick/(1+s))].sort(function(N,W){return N-W}),u=l[0],c=l[1],f=u;f<=c;f++)h=k.tick0+k.dtick*f,A.push(kx(X(h),{color:k.gridcolor,width:k.gridwidth,dash:k.griddash}));for(f=u-1;f<c+1;f++)for(h=k.tick0+k.dtick*f,i=0;i<k.minorgridcount;i++)d=h+k.dtick*(i+1)/(k.minorgridcount+1),!(d<E[0]||d>E[E.length-1])&&L.push(kx(X(d),{color:k.minorgridcolor,width:k.minorgridwidth,dash:k.minorgriddash}));k.startline&&_.push(kx(X(E[0]),{color:k.startlinecolor,width:k.startlinewidth})),k.endline&&_.push(kx(X(E[E.length-1]),{color:k.endlinecolor,width:k.endlinewidth}))}}});var eXe=ye((axr,QZe)=>{\"use strict\";var JZe=Qa(),$Ze=no().extendFlat;QZe.exports=function(t,r){var n,i,a,o,s,l=r._labels=[],u=r._gridlines;for(n=0;n<u.length;n++)s=u[n],[\"start\",\"both\"].indexOf(r.showticklabels)!==-1&&(i=JZe.tickText(r,s.value),$Ze(i,{prefix:a,suffix:o,endAnchor:!0,xy:s.xy(0),dxy:s.dxy(0,0),axis:s.axis,length:s.crossAxis.length,font:s.axis.tickfont,isFirst:n===0,isLast:n===u.length-1}),l.push(i)),[\"end\",\"both\"].indexOf(r.showticklabels)!==-1&&(i=JZe.tickText(r,s.value),$Ze(i,{endAnchor:!1,xy:s.xy(s.crossLength-1),dxy:s.dxy(s.crossLength-2,1),axis:s.axis,length:s.crossAxis.length,font:s.axis.tickfont,isFirst:n===0,isLast:n===u.length-1}),l.push(i))}});var rXe=ye((oxr,tXe)=>{\"use strict\";tXe.exports=function(t,r,n,i){var a,o,s,l=[],u=!!n.smoothing,c=!!i.smoothing,f=t[0].length-1,h=t.length-1;for(a=0,o=[],s=[];a<=f;a++)o[a]=t[0][a],s[a]=r[0][a];for(l.push({x:o,y:s,bicubic:u}),a=0,o=[],s=[];a<=h;a++)o[a]=t[a][f],s[a]=r[a][f];for(l.push({x:o,y:s,bicubic:c}),a=f,o=[],s=[];a>=0;a--)o[f-a]=t[h][a],s[f-a]=r[h][a];for(l.push({x:o,y:s,bicubic:u}),a=h,o=[],s=[];a>=0;a--)o[h-a]=t[a][0],s[h-a]=r[a][0];return l.push({x:o,y:s,bicubic:c}),l}});var nXe=ye((sxr,iXe)=>{\"use strict\";var PXt=Mr();iXe.exports=function(t,r,n){var i,a,o,s=[],l=[],u=t[0].length,c=t.length;function f(ae,_e){var Me=0,ke,ge=0;return ae>0&&(ke=t[_e][ae-1])!==void 0&&(ge++,Me+=ke),ae<u-1&&(ke=t[_e][ae+1])!==void 0&&(ge++,Me+=ke),_e>0&&(ke=t[_e-1][ae])!==void 0&&(ge++,Me+=ke),_e<c-1&&(ke=t[_e+1][ae])!==void 0&&(ge++,Me+=ke),Me/Math.max(1,ge)}var h=0;for(i=0;i<u;i++)for(a=0;a<c;a++)t[a][i]===void 0&&(s.push(i),l.push(a),t[a][i]=f(i,a)),h=Math.max(h,Math.abs(t[a][i]));if(!s.length)return t;var d,v,x,b,p,E,k,A,L,_,C,M=1e-5,g=0,P=100,T=0,F=s.length;do{for(g=0,o=0;o<F;o++){i=s[o],a=l[o];var q=0,V=0,H,X,G,N,W,re;i===0?(W=Math.min(u-1,2),G=r[W],N=r[1],H=t[a][W],X=t[a][1],V+=X+(X-H)*(r[0]-N)/(N-G),q++):i===u-1&&(W=Math.max(0,u-3),G=r[W],N=r[u-2],H=t[a][W],X=t[a][u-2],V+=X+(X-H)*(r[u-1]-N)/(N-G),q++),(i===0||i===u-1)&&a>0&&a<c-1&&(d=n[a+1]-n[a],v=n[a]-n[a-1],V+=(v*t[a+1][i]+d*t[a-1][i])/(v+d),q++),a===0?(re=Math.min(c-1,2),G=n[re],N=n[1],H=t[re][i],X=t[1][i],V+=X+(X-H)*(n[0]-N)/(N-G),q++):a===c-1&&(re=Math.max(0,c-3),G=n[re],N=n[c-2],H=t[re][i],X=t[c-2][i],V+=X+(X-H)*(n[c-1]-N)/(N-G),q++),(a===0||a===c-1)&&i>0&&i<u-1&&(d=r[i+1]-r[i],v=r[i]-r[i-1],V+=(v*t[a][i+1]+d*t[a][i-1])/(v+d),q++),q?V/=q:(x=r[i+1]-r[i],b=r[i]-r[i-1],p=n[a+1]-n[a],E=n[a]-n[a-1],k=x*b*(x+b),A=p*E*(p+E),V=(k*(E*t[a+1][i]+p*t[a-1][i])+A*(b*t[a][i+1]+x*t[a][i-1]))/(A*(b+x)+k*(E+p))),L=V-t[a][i],_=L/h,g+=_*_,C=q?0:.85,t[a][i]+=L*(1+C)}g=Math.sqrt(g)}while(T++<P&&g>M);return PXt.log(\"Smoother converged to\",g,\"after\",T,\"iterations\"),t}});var oXe=ye((lxr,aXe)=>{\"use strict\";aXe.exports={RELATIVE_CULL_TOLERANCE:1e-6}});var uXe=ye((uxr,lXe)=>{\"use strict\";var sXe=.5;lXe.exports=function(t,r,n,i){var a=t[0]-r[0],o=t[1]-r[1],s=n[0]-r[0],l=n[1]-r[1],u=Math.pow(a*a+o*o,sXe/2),c=Math.pow(s*s+l*l,sXe/2),f=(c*c*a-u*u*s)*i,h=(c*c*o-u*u*l)*i,d=c*(u+c)*3,v=u*(u+c)*3;return[[r[0]+(d&&f/d),r[1]+(d&&h/d)],[r[0]-(v&&f/v),r[1]-(v&&h/v)]]}});var fXe=ye((cxr,cXe)=>{\"use strict\";var v$=uXe(),G7=Mr().ensureArray;function FA(e,t,r){var n=-.5*r[0]+1.5*t[0],i=-.5*r[1]+1.5*t[1];return[(2*n+e[0])/3,(2*i+e[1])/3]}cXe.exports=function(t,r,n,i,a,o){var s,l,u,c,f,h,d,v,x,b,p=n[0].length,E=n.length,k=a?3*p-2:p,A=o?3*E-2:E;for(t=G7(t,A),r=G7(r,A),u=0;u<A;u++)t[u]=G7(t[u],k),r[u]=G7(r[u],k);for(l=0,c=0;l<E;l++,c+=o?3:1)for(f=t[c],h=r[c],d=n[l],v=i[l],s=0,u=0;s<p;s++,u+=a?3:1)f[u]=d[s],h[u]=v[s];if(a)for(l=0,c=0;l<E;l++,c+=o?3:1){for(s=1,u=3;s<p-1;s++,u+=3)x=v$([n[l][s-1],i[l][s-1]],[n[l][s],i[l][s]],[n[l][s+1],i[l][s+1]],a),t[c][u-1]=x[0][0],r[c][u-1]=x[0][1],t[c][u+1]=x[1][0],r[c][u+1]=x[1][1];b=FA([t[c][0],r[c][0]],[t[c][2],r[c][2]],[t[c][3],r[c][3]]),t[c][1]=b[0],r[c][1]=b[1],b=FA([t[c][k-1],r[c][k-1]],[t[c][k-3],r[c][k-3]],[t[c][k-4],r[c][k-4]]),t[c][k-2]=b[0],r[c][k-2]=b[1]}if(o)for(u=0;u<k;u++){for(c=3;c<A-3;c+=3)x=v$([t[c-3][u],r[c-3][u]],[t[c][u],r[c][u]],[t[c+3][u],r[c+3][u]],o),t[c-1][u]=x[0][0],r[c-1][u]=x[0][1],t[c+1][u]=x[1][0],r[c+1][u]=x[1][1];b=FA([t[0][u],r[0][u]],[t[2][u],r[2][u]],[t[3][u],r[3][u]]),t[1][u]=b[0],r[1][u]=b[1],b=FA([t[A-1][u],r[A-1][u]],[t[A-3][u],r[A-3][u]],[t[A-4][u],r[A-4][u]]),t[A-2][u]=b[0],r[A-2][u]=b[1]}if(a&&o)for(c=1;c<A;c+=(c+1)%3===0?2:1){for(u=3;u<k-3;u+=3)x=v$([t[c][u-3],r[c][u-3]],[t[c][u],r[c][u]],[t[c][u+3],r[c][u+3]],a),t[c][u-1]=.5*(t[c][u-1]+x[0][0]),r[c][u-1]=.5*(r[c][u-1]+x[0][1]),t[c][u+1]=.5*(t[c][u+1]+x[1][0]),r[c][u+1]=.5*(r[c][u+1]+x[1][1]);b=FA([t[c][0],r[c][0]],[t[c][2],r[c][2]],[t[c][3],r[c][3]]),t[c][1]=.5*(t[c][1]+b[0]),r[c][1]=.5*(r[c][1]+b[1]),b=FA([t[c][k-1],r[c][k-1]],[t[c][k-3],r[c][k-3]],[t[c][k-4],r[c][k-4]]),t[c][k-2]=.5*(t[c][k-2]+b[0]),r[c][k-2]=.5*(r[c][k-2]+b[1])}return[t,r]}});var dXe=ye((fxr,hXe)=>{\"use strict\";hXe.exports=function(e,t,r,n,i){var a=t-2,o=r-2;return n&&i?function(s,l,u){s||(s=[]);var c,f,h,d,v,x,b=Math.max(0,Math.min(Math.floor(l),a)),p=Math.max(0,Math.min(Math.floor(u),o)),E=Math.max(0,Math.min(1,l-b)),k=Math.max(0,Math.min(1,u-p));b*=3,p*=3;var A=E*E,L=A*E,_=1-E,C=_*_,M=C*_,g=k*k,P=g*k,T=1-k,F=T*T,q=F*T;for(x=0;x<e.length;x++)v=e[x],c=M*v[p][b]+3*(C*E*v[p][b+1]+_*A*v[p][b+2])+L*v[p][b+3],f=M*v[p+1][b]+3*(C*E*v[p+1][b+1]+_*A*v[p+1][b+2])+L*v[p+1][b+3],h=M*v[p+2][b]+3*(C*E*v[p+2][b+1]+_*A*v[p+2][b+2])+L*v[p+2][b+3],d=M*v[p+3][b]+3*(C*E*v[p+3][b+1]+_*A*v[p+3][b+2])+L*v[p+3][b+3],s[x]=q*c+3*(F*k*f+T*g*h)+P*d;return s}:n?function(s,l,u){s||(s=[]);var c=Math.max(0,Math.min(Math.floor(l),a)),f=Math.max(0,Math.min(Math.floor(u),o)),h=Math.max(0,Math.min(1,l-c)),d=Math.max(0,Math.min(1,u-f)),v,x,b,p,E,k;c*=3;var A=h*h,L=A*h,_=1-h,C=_*_,M=C*_,g=1-d;for(E=0;E<e.length;E++)k=e[E],v=g*k[f][c]+d*k[f+1][c],x=g*k[f][c+1]+d*k[f+1][c+1],b=g*k[f][c+2]+d*k[f+1][c+1],p=g*k[f][c+3]+d*k[f+1][c+1],s[E]=M*v+3*(C*h*x+_*A*b)+L*p;return s}:i?function(s,l,u){s||(s=[]);var c=Math.max(0,Math.min(Math.floor(l),a)),f=Math.max(0,Math.min(Math.floor(u),o)),h=Math.max(0,Math.min(1,l-c)),d=Math.max(0,Math.min(1,u-f)),v,x,b,p,E,k;f*=3;var A=d*d,L=A*d,_=1-d,C=_*_,M=C*_,g=1-h;for(E=0;E<e.length;E++)k=e[E],v=g*k[f][c]+h*k[f][c+1],x=g*k[f+1][c]+h*k[f+1][c+1],b=g*k[f+2][c]+h*k[f+2][c+1],p=g*k[f+3][c]+h*k[f+3][c+1],s[E]=M*v+3*(C*d*x+_*A*b)+L*p;return s}:function(s,l,u){s||(s=[]);var c=Math.max(0,Math.min(Math.floor(l),a)),f=Math.max(0,Math.min(Math.floor(u),o)),h=Math.max(0,Math.min(1,l-c)),d=Math.max(0,Math.min(1,u-f)),v,x,b,p,E=1-d,k=1-h;for(b=0;b<e.length;b++)p=e[b],v=k*p[f][c]+h*p[f][c+1],x=k*p[f+1][c]+h*p[f+1][c+1],s[b]=E*v+d*x;return s}}});var pXe=ye((hxr,vXe)=>{\"use strict\";vXe.exports=function(e,t,r){return t&&r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;i*=3,a*=3;var v=o*o,x=1-o,b=x*x,p=x*o*2,E=-3*b,k=3*(b-p),A=3*(p-v),L=3*v,_=s*s,C=_*s,M=1-s,g=M*M,P=g*M;for(d=0;d<e.length;d++)h=e[d],l=E*h[a][i]+k*h[a][i+1]+A*h[a][i+2]+L*h[a][i+3],u=E*h[a+1][i]+k*h[a+1][i+1]+A*h[a+1][i+2]+L*h[a+1][i+3],c=E*h[a+2][i]+k*h[a+2][i+1]+A*h[a+2][i+2]+L*h[a+2][i+3],f=E*h[a+3][i]+k*h[a+3][i+1]+A*h[a+3][i+2]+L*h[a+3][i+3],n[d]=P*l+3*(g*s*u+M*_*c)+C*f;return n}:t?function(n,i,a,o,s){n||(n=[]);var l,u,c,f;i*=3;var h=o*o,d=1-o,v=d*d,x=d*o*2,b=-3*v,p=3*(v-x),E=3*(x-h),k=3*h,A=1-s;for(c=0;c<e.length;c++)f=e[c],l=b*f[a][i]+p*f[a][i+1]+E*f[a][i+2]+k*f[a][i+3],u=b*f[a+1][i]+p*f[a+1][i+1]+E*f[a+1][i+2]+k*f[a+1][i+3],n[c]=A*l+s*u;return n}:r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;a*=3;var v=s*s,x=v*s,b=1-s,p=b*b,E=p*b;for(h=0;h<e.length;h++)d=e[h],l=d[a][i+1]-d[a][i],u=d[a+1][i+1]-d[a+1][i],c=d[a+2][i+1]-d[a+2][i],f=d[a+3][i+1]-d[a+3][i],n[h]=E*l+3*(p*s*u+b*v*c)+x*f;return n}:function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h=1-s;for(c=0;c<e.length;c++)f=e[c],l=f[a][i+1]-f[a][i],u=f[a+1][i+1]-f[a+1][i],n[c]=h*l+s*u;return n}}});var mXe=ye((dxr,gXe)=>{\"use strict\";gXe.exports=function(e,t,r){return t&&r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;i*=3,a*=3;var v=o*o,x=v*o,b=1-o,p=b*b,E=p*b,k=s*s,A=1-s,L=A*A,_=A*s*2,C=-3*L,M=3*(L-_),g=3*(_-k),P=3*k;for(d=0;d<e.length;d++)h=e[d],l=C*h[a][i]+M*h[a+1][i]+g*h[a+2][i]+P*h[a+3][i],u=C*h[a][i+1]+M*h[a+1][i+1]+g*h[a+2][i+1]+P*h[a+3][i+1],c=C*h[a][i+2]+M*h[a+1][i+2]+g*h[a+2][i+2]+P*h[a+3][i+2],f=C*h[a][i+3]+M*h[a+1][i+3]+g*h[a+2][i+3]+P*h[a+3][i+3],n[d]=E*l+3*(p*o*u+b*v*c)+x*f;return n}:t?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;i*=3;var v=s*s,x=v*s,b=1-s,p=b*b,E=p*b;for(h=0;h<e.length;h++)d=e[h],l=d[a+1][i]-d[a][i],u=d[a+1][i+1]-d[a][i+1],c=d[a+1][i+2]-d[a][i+2],f=d[a+1][i+3]-d[a][i+3],n[h]=E*l+3*(p*s*u+b*v*c)+x*f;return n}:r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f;a*=3;var h=1-o,d=s*s,v=1-s,x=v*v,b=v*s*2,p=-3*x,E=3*(x-b),k=3*(b-d),A=3*d;for(c=0;c<e.length;c++)f=e[c],l=p*f[a][i]+E*f[a+1][i]+k*f[a+2][i]+A*f[a+3][i],u=p*f[a][i+1]+E*f[a+1][i+1]+k*f[a+2][i+1]+A*f[a+3][i+1],n[c]=h*l+o*u;return n}:function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h=1-o;for(c=0;c<e.length;c++)f=e[c],l=f[a+1][i]-f[a][i],u=f[a+1][i+1]-f[a][i+1],n[c]=h*l+o*u;return n}}});var bXe=ye((vxr,xXe)=>{\"use strict\";var yXe=oXe(),_Xe=k6().findBin,IXt=fXe(),RXt=dXe(),DXt=pXe(),zXt=mXe();xXe.exports=function(t){var r=t._a,n=t._b,i=r.length,a=n.length,o=t.aaxis,s=t.baxis,l=r[0],u=r[i-1],c=n[0],f=n[a-1],h=r[r.length-1]-r[0],d=n[n.length-1]-n[0],v=h*yXe.RELATIVE_CULL_TOLERANCE,x=d*yXe.RELATIVE_CULL_TOLERANCE;l-=v,u+=v,c-=x,f+=x,t.isVisible=function(b,p){return b>l&&b<u&&p>c&&p<f},t.isOccluded=function(b,p){return b<l||b>u||p<c||p>f},t.setScale=function(){var b=t._x,p=t._y,E=IXt(t._xctrl,t._yctrl,b,p,o.smoothing,s.smoothing);t._xctrl=E[0],t._yctrl=E[1],t.evalxy=RXt([t._xctrl,t._yctrl],i,a,o.smoothing,s.smoothing),t.dxydi=DXt([t._xctrl,t._yctrl],o.smoothing,s.smoothing),t.dxydj=zXt([t._xctrl,t._yctrl],o.smoothing,s.smoothing)},t.i2a=function(b){var p=Math.max(0,Math.floor(b[0]),i-2),E=b[0]-p;return(1-E)*r[p]+E*r[p+1]},t.j2b=function(b){var p=Math.max(0,Math.floor(b[1]),i-2),E=b[1]-p;return(1-E)*n[p]+E*n[p+1]},t.ij2ab=function(b){return[t.i2a(b[0]),t.j2b(b[1])]},t.a2i=function(b){var p=Math.max(0,Math.min(_Xe(b,r),i-2)),E=r[p],k=r[p+1];return Math.max(0,Math.min(i-1,p+(b-E)/(k-E)))},t.b2j=function(b){var p=Math.max(0,Math.min(_Xe(b,n),a-2)),E=n[p],k=n[p+1];return Math.max(0,Math.min(a-1,p+(b-E)/(k-E)))},t.ab2ij=function(b){return[t.a2i(b[0]),t.b2j(b[1])]},t.i2c=function(b,p){return t.evalxy([],b,p)},t.ab2xy=function(b,p,E){if(!E&&(b<r[0]||b>r[i-1]|p<n[0]||p>n[a-1]))return[!1,!1];var k=t.a2i(b),A=t.b2j(p),L=t.evalxy([],k,A);if(E){var _=0,C=0,M=[],g,P,T,F;b<r[0]?(g=0,P=0,_=(b-r[0])/(r[1]-r[0])):b>r[i-1]?(g=i-2,P=1,_=(b-r[i-1])/(r[i-1]-r[i-2])):(g=Math.max(0,Math.min(i-2,Math.floor(k))),P=k-g),p<n[0]?(T=0,F=0,C=(p-n[0])/(n[1]-n[0])):p>n[a-1]?(T=a-2,F=1,C=(p-n[a-1])/(n[a-1]-n[a-2])):(T=Math.max(0,Math.min(a-2,Math.floor(A))),F=A-T),_&&(t.dxydi(M,g,T,P,F),L[0]+=M[0]*_,L[1]+=M[1]*_),C&&(t.dxydj(M,g,T,P,F),L[0]+=M[0]*C,L[1]+=M[1]*C)}return L},t.c2p=function(b,p,E){return[p.c2p(b[0]),E.c2p(b[1])]},t.p2x=function(b,p,E){return[p.p2c(b[0]),E.p2c(b[1])]},t.dadi=function(b){var p=Math.max(0,Math.min(r.length-2,b));return r[p+1]-r[p]},t.dbdj=function(b){var p=Math.max(0,Math.min(n.length-2,b));return n[p+1]-n[p]},t.dxyda=function(b,p,E,k){var A=t.dxydi(null,b,p,E,k),L=t.dadi(b,E);return[A[0]/L,A[1]/L]},t.dxydb=function(b,p,E,k){var A=t.dxydj(null,b,p,E,k),L=t.dbdj(p,k);return[A[0]/L,A[1]/L]},t.dxyda_rough=function(b,p,E){var k=h*(E||.1),A=t.ab2xy(b+k,p,!0),L=t.ab2xy(b-k,p,!0);return[(A[0]-L[0])*.5/k,(A[1]-L[1])*.5/k]},t.dxydb_rough=function(b,p,E){var k=d*(E||.1),A=t.ab2xy(b,p+k,!0),L=t.ab2xy(b,p-k,!0);return[(A[0]-L[0])*.5/k,(A[1]-L[1])*.5/k]},t.dpdx=function(b){return b._m},t.dpdy=function(b){return b._m}}});var CXe=ye((pxr,kXe)=>{\"use strict\";var j7=Qa(),wXe=Mr().isArray1D,FXt=GZe(),TXe=XZe(),AXe=KZe(),SXe=eXe(),qXt=rXe(),MXe=QI(),EXe=nXe(),OXt=JI(),BXt=bXe();kXe.exports=function(t,r){var n=j7.getFromId(t,r.xaxis),i=j7.getFromId(t,r.yaxis),a=r.aaxis,o=r.baxis,s=r.x,l=r.y,u=[];s&&wXe(s)&&u.push(\"x\"),l&&wXe(l)&&u.push(\"y\"),u.length&&OXt(r,a,o,\"a\",\"b\",u);var c=r._a=r._a||r.a,f=r._b=r._b||r.b;s=r._x||r.x,l=r._y||r.y;var h={};if(r._cheater){var d=a.cheatertype===\"index\"?c.length:c,v=o.cheatertype===\"index\"?f.length:f;s=FXt(d,v,r.cheaterslope)}r._x=s=MXe(s),r._y=l=MXe(l),EXe(s,c,f),EXe(l,c,f),BXt(r),r.setScale();var x=TXe(s),b=TXe(l),p=.5*(x[1]-x[0]),E=.5*(x[1]+x[0]),k=.5*(b[1]-b[0]),A=.5*(b[1]+b[0]),L=1.3;return x=[E-p*L,E+p*L],b=[A-k*L,A+k*L],r._extremes[n._id]=j7.findExtremes(n,x,{padded:!0}),r._extremes[i._id]=j7.findExtremes(i,b,{padded:!0}),AXe(r,\"a\",\"b\"),AXe(r,\"b\",\"a\"),SXe(r,a),SXe(r,o),h.clipsegments=qXt(r._xctrl,r._yctrl,a,o),h.x=s,h.y=l,h.a=c,h.b=f,[h]}});var PXe=ye((gxr,LXe)=>{\"use strict\";LXe.exports={attributes:O7(),supplyDefaults:LZe(),plot:VZe(),calc:CXe(),animatable:!0,isContainer:!0,moduleType:\"trace\",name:\"carpet\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"carpet\",\"carpetAxis\",\"notLegendIsolatable\",\"noMultiCategory\",\"noHover\",\"noSortingByValue\"],meta:{}}});var RXe=ye((mxr,IXe)=>{\"use strict\";IXe.exports=PXe()});var p$=ye((yxr,zXe)=>{\"use strict\";var NXt=Eg(),u0=Uc(),UXt=vl(),VXt=Wo().hovertemplateAttrs,HXt=Wo().texttemplateAttrs,DXe=Jl(),Cx=no().extendFlat,sg=u0.marker,qA=u0.line,GXt=sg.line;zXe.exports={carpet:{valType:\"string\",editType:\"calc\"},a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},mode:Cx({},u0.mode,{dflt:\"markers\"}),text:Cx({},u0.text,{}),texttemplate:HXt({editType:\"plot\"},{keys:[\"a\",\"b\",\"text\"]}),hovertext:Cx({},u0.hovertext,{}),line:{color:qA.color,width:qA.width,dash:qA.dash,backoff:qA.backoff,shape:Cx({},qA.shape,{values:[\"linear\",\"spline\"]}),smoothing:qA.smoothing,editType:\"calc\"},connectgaps:u0.connectgaps,fill:Cx({},u0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:NXt(),marker:Cx({symbol:sg.symbol,opacity:sg.opacity,maxdisplayed:sg.maxdisplayed,angle:sg.angle,angleref:sg.angleref,standoff:sg.standoff,size:sg.size,sizeref:sg.sizeref,sizemin:sg.sizemin,sizemode:sg.sizemode,line:Cx({width:GXt.width,editType:\"calc\"},DXe(\"marker.line\")),gradient:sg.gradient,editType:\"calc\"},DXe(\"marker\")),textfont:u0.textfont,textposition:u0.textposition,selected:u0.selected,unselected:u0.unselected,hoverinfo:Cx({},UXt.hoverinfo,{flags:[\"a\",\"b\",\"text\",\"name\"]}),hoveron:u0.hoveron,hovertemplate:VXt(),zorder:u0.zorder}});var BXe=ye((_xr,OXe)=>{\"use strict\";var FXe=Mr(),jXt=Sm(),OA=lu(),WXt=$p(),ZXt=R0(),qXe=J3(),XXt=D0(),YXt=Ig(),KXt=p$();OXe.exports=function(t,r,n,i){function a(h,d){return FXe.coerce(t,r,KXt,h,d)}a(\"carpet\"),r.xaxis=\"x\",r.yaxis=\"y\";var o=a(\"a\"),s=a(\"b\"),l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a(\"text\"),a(\"texttemplate\"),a(\"hovertext\");var u=l<jXt.PTS_LINESONLY?\"lines+markers\":\"lines\";a(\"mode\",u),OA.hasMarkers(r)&&WXt(t,r,n,i,a,{gradient:!0}),OA.hasLines(r)&&(ZXt(t,r,n,i,a,{backoff:!0}),qXe(t,r,a),a(\"connectgaps\")),OA.hasText(r)&&XXt(t,r,i,a);var c=[];(OA.hasMarkers(r)||OA.hasText(r))&&(a(\"marker.maxdisplayed\"),c.push(\"points\")),a(\"fill\"),r.fill!==\"none\"&&(YXt(t,r,n,a),OA.hasLines(r)||qXe(t,r,a)),(r.fill===\"tonext\"||r.fill===\"toself\")&&c.push(\"fills\");var f=a(\"hoveron\",c.join(\"+\")||\"points\");f!==\"fills\"&&a(\"hovertemplate\"),a(\"zorder\"),FXe.coerceSelectionMarkerOpacity(r,a)}});var UXe=ye((xxr,NXe)=>{\"use strict\";NXe.exports=function(t,r){var n={},i=r._carpet,a=i.ab2ij([t.a,t.b]),o=Math.floor(a[0]),s=a[0]-o,l=Math.floor(a[1]),u=a[1]-l,c=i.evalxy([],o,l,s,u);return n.yLabel=c[1].toFixed(3),n}});var W7=ye((bxr,VXe)=>{\"use strict\";VXe.exports=function(e,t){for(var r=e._fullData.length,n,i=0;i<r;i++){var a=e._fullData[i];if(a.index!==t.index&&a.type===\"carpet\"&&(n||(n=a),a.carpet===t.carpet))return a}return n}});var jXe=ye((wxr,GXe)=>{\"use strict\";var HXe=uo(),JXt=z0(),$Xt=km(),QXt=F0(),eYt=q0().calcMarkerSize,tYt=W7();GXe.exports=function(t,r){var n=r._carpetTrace=tYt(t,r);if(!(!n||!n.visible||n.visible===\"legendonly\")){var i;r.xaxis=n.xaxis,r.yaxis=n.yaxis;var a=r._length,o=new Array(a),s,l,u=!1;for(i=0;i<a;i++)if(s=r.a[i],l=r.b[i],HXe(s)&&HXe(l)){var c=n.ab2xy(+s,+l,!0),f=n.isVisible(+s,+l);f||(u=!0),o[i]={x:c[0],y:c[1],a:s,b:l,vis:f}}else o[i]={x:!1,y:!1};return r._needsCull=u,o[0].carpet=n,o[0].trace=r,eYt(r,a),JXt(t,r),$Xt(o,r),QXt(o,r),o}}});var XXe=ye((Txr,ZXe)=>{\"use strict\";var rYt=iT(),WXe=Qa(),iYt=ao();ZXe.exports=function(t,r,n,i){var a,o,s,l=n[0][0].carpet,u=WXe.getFromId(t,l.xaxis||\"x\"),c=WXe.getFromId(t,l.yaxis||\"y\"),f={xaxis:u,yaxis:c,plot:r.plot};for(a=0;a<n.length;a++)o=n[a][0].trace,o._xA=u,o._yA=c;for(rYt(t,f,n,i),a=0;a<n.length;a++)o=n[a][0].trace,s=i.selectAll(\"g.trace\"+o.uid+\" .js-line\"),iYt.setClipUrl(s,n[a][0].carpet._clipPathId,t)}});var KXe=ye((Axr,YXe)=>{\"use strict\";var nYt=sT(),aYt=Mr().fillText;YXe.exports=function(t,r,n,i){var a=nYt(t,r,n,i);if(!a||a[0].index===!1)return;var o=a[0];if(o.index===void 0){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,c=l-u;return o.x0=Math.max(Math.min(o.x0,c),u),o.x1=Math.max(Math.min(o.x1,c),u),a}var f=o.cd[o.index];o.a=f.a,o.b=f.b,o.xLabelVal=void 0,o.yLabelVal=void 0;var h=o.trace,d=h._carpet,v=h._module.formatLabels(f,h);o.yLabel=v.yLabel,delete o.text;var x=[];function b(k,A){var L;k.labelprefix&&k.labelprefix.length>0?L=k.labelprefix.replace(/ = $/,\"\"):L=k._hovertitle,x.push(L+\": \"+A.toFixed(3)+k.labelsuffix)}if(!h.hovertemplate){var p=f.hi||h.hoverinfo,E=p.split(\"+\");E.indexOf(\"all\")!==-1&&(E=[\"a\",\"b\",\"text\"]),E.indexOf(\"a\")!==-1&&b(d.aaxis,f.a),E.indexOf(\"b\")!==-1&&b(d.baxis,f.b),x.push(\"y: \"+o.yLabel),E.indexOf(\"text\")!==-1&&aYt(f,h,x),o.extraText=x.join(\"<br>\")}return a}});var $Xe=ye((Sxr,JXe)=>{\"use strict\";JXe.exports=function(t,r,n,i,a){var o=i[a];return t.a=o.a,t.b=o.b,t.y=o.y,t}});var eYe=ye((Mxr,QXe)=>{\"use strict\";QXe.exports={attributes:p$(),supplyDefaults:BXe(),colorbar:Kd(),formatLabels:UXe(),calc:jXe(),plot:XXe(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:KXe(),selectPoints:lT(),eventData:$Xe(),moduleType:\"trace\",name:\"scattercarpet\",basePlotModule:Jf(),categories:[\"svg\",\"carpet\",\"symbols\",\"showLegend\",\"carpetDependent\",\"zoomScale\"],meta:{}}});var rYe=ye((Exr,tYe)=>{\"use strict\";tYe.exports=eYe()});var g$=ye((kxr,iYe)=>{\"use strict\";var lg=ET(),g1=T4(),oYt=Jl(),sYt=no().extendFlat,ty=g1.contours;iYe.exports=sYt({carpet:{valType:\"string\",editType:\"calc\"},z:lg.z,a:lg.x,a0:lg.x0,da:lg.dx,b:lg.y,b0:lg.y0,db:lg.dy,text:lg.text,hovertext:lg.hovertext,transpose:lg.transpose,atype:lg.xtype,btype:lg.ytype,fillcolor:g1.fillcolor,autocontour:g1.autocontour,ncontours:g1.ncontours,contours:{type:ty.type,start:ty.start,end:ty.end,size:ty.size,coloring:{valType:\"enumerated\",values:[\"fill\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:ty.showlines,showlabels:ty.showlabels,labelfont:ty.labelfont,labelformat:ty.labelformat,operation:ty.operation,value:ty.value,editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:g1.line.color,width:g1.line.width,dash:g1.line.dash,smoothing:g1.line.smoothing,editType:\"plot\"},zorder:g1.zorder},oYt(\"\",{cLetter:\"z\",autoColorDflt:!1}))});var m$=ye((Cxr,oYe)=>{\"use strict\";var nYe=Mr(),lYt=XI(),aYe=g$(),uYt=yH(),cYt=y8(),fYt=_8();oYe.exports=function(t,r,n,i){function a(u,c){return nYe.coerce(t,r,aYe,u,c)}function o(u){return nYe.coerce2(t,r,aYe,u)}if(a(\"carpet\"),t.a&&t.b){var s=lYt(t,r,a,i,\"a\",\"b\");if(!s){r.visible=!1;return}a(\"text\");var l=a(\"contours.type\")===\"constraint\";l?uYt(t,r,a,i,n,{hasHover:!1}):(cYt(t,r,a,o),fYt(t,r,a,i,{hasHover:!1}))}else r._defaultColor=n,r._length=null;a(\"zorder\")}});var cYe=ye((Lxr,uYe)=>{\"use strict\";var hYt=zv(),sYe=Mr(),dYt=JI(),vYt=QI(),pYt=e8(),gYt=t8(),lYe=VV(),mYt=m$(),yYt=W7(),_Yt=oH();uYe.exports=function(t,r){var n=r._carpetTrace=yYt(t,r);if(!(!n||!n.visible||n.visible===\"legendonly\")){if(!r.a||!r.b){var i=t.data[n.index],a=t.data[r.index];a.a||(a.a=i.a),a.b||(a.b=i.b),mYt(a,r,r._defaultColor,t._fullLayout)}var o=xYt(t,r);return _Yt(r,r._z),o}};function xYt(e,t){var r=t._carpetTrace,n=r.aaxis,i=r.baxis,a,o,s,l,u,c,f;n._minDtick=0,i._minDtick=0,sYe.isArray1D(t.z)&&dYt(t,n,i,\"a\",\"b\",[\"z\"]),a=t._a=t._a||t.a,l=t._b=t._b||t.b,a=a?n.makeCalcdata(t,\"_a\"):[],l=l?i.makeCalcdata(t,\"_b\"):[],o=t.a0||0,s=t.da||1,u=t.b0||0,c=t.db||1,f=t._z=vYt(t._z||t.z,t.transpose),t._emptypoints=gYt(f),pYt(f,t._emptypoints);var h=sYe.maxRowLength(f),d=t.xtype===\"scaled\"?\"\":a,v=lYe(t,d,o,s,h,n),x=t.ytype===\"scaled\"?\"\":l,b=lYe(t,x,u,c,f.length,i),p={a:v,b,z:f};return t.contours.type===\"levels\"&&t.contours.coloring!==\"none\"&&hYt(e,t,{vals:f,containerStr:\"\",cLetter:\"z\"}),[p]}});var hYe=ye((Pxr,fYe)=>{\"use strict\";var bYt=Mr().isArrayOrTypedArray;fYe.exports=function(e,t,r,n){var i,a,o,s,l,u,c,f,h,d,v,x,b,p=bYt(r)?\"a\":\"b\",E=p===\"a\"?e.aaxis:e.baxis,k=E.smoothing,A=p===\"a\"?e.a2i:e.b2j,L=p===\"a\"?r:n,_=p===\"a\"?n:r,C=p===\"a\"?t.a.length:t.b.length,M=p===\"a\"?t.b.length:t.a.length,g=Math.floor(p===\"a\"?e.b2j(_):e.a2i(_)),P=p===\"a\"?function(_e){return e.evalxy([],_e,g)}:function(_e){return e.evalxy([],g,_e)};k&&(o=Math.max(0,Math.min(M-2,g)),s=g-o,a=p===\"a\"?function(_e,Me){return e.dxydi([],_e,o,Me,s)}:function(_e,Me){return e.dxydj([],o,_e,s,Me)});var T=A(L[0]),F=A(L[1]),q=T<F?1:-1,V=(F-T)*1e-8,H=q>0?Math.floor:Math.ceil,X=q>0?Math.ceil:Math.floor,G=q>0?Math.min:Math.max,N=q>0?Math.max:Math.min,W=H(T+V),re=X(F-V);c=P(T);var ae=[[c]];for(i=W;i*q<re*q;i+=q)l=[],v=N(T,i),x=G(F,i+q),b=x-v,u=Math.max(0,Math.min(C-2,Math.floor(.5*(v+x)))),f=P(x),k&&(h=a(u,v-u),d=a(u,x-u),l.push([c[0]+h[0]/3*b,c[1]+h[1]/3*b]),l.push([f[0]-d[0]/3*b,f[1]-d[1]/3*b])),l.push(f),ae.push(l),c=f;return ae}});var _Ye=ye((Ixr,yYe)=>{\"use strict\";var X7=xa(),Y7=f$(),mYe=h$(),eC=ao(),m1=Mr(),wYt=lH(),TYt=uH(),hw=w8(),Z7=S4(),AYt=dH(),SYt=hH(),MYt=vH(),EYt=W7(),dYe=hYe();yYe.exports=function(t,r,n,i){var a=r.xaxis,o=r.yaxis;m1.makeTraceGroups(i,n,\"contour\").each(function(s){var l=X7.select(this),u=s[0],c=u.trace,f=c._carpetTrace=EYt(t,c),h=t.calcdata[f.index][0];if(!f.visible||f.visible===\"legendonly\")return;var d=u.a,v=u.b,x=c.contours,b=SYt(x,r,u),p=x.type===\"constraint\",E=x._operation,k=p?E===\"=\"?\"lines\":\"fill\":x.coloring;function A(H){var X=f.ab2xy(H[0],H[1],!0);return[a.c2p(X[0]),o.c2p(X[1])]}var L=[[d[0],v[v.length-1]],[d[d.length-1],v[v.length-1]],[d[d.length-1],v[0]],[d[0],v[0]]];wYt(b);var _=(d[d.length-1]-d[0])*1e-8,C=(v[v.length-1]-v[0])*1e-8;TYt(b,_,C);var M=b;x.type===\"constraint\"&&(M=AYt(b,E)),kYt(b,A);var g,P,T,F,q=[];for(F=h.clipsegments.length-1;F>=0;F--)g=h.clipsegments[F],P=Y7([],g.x,a.c2p),T=Y7([],g.y,o.c2p),P.reverse(),T.reverse(),q.push(mYe(P,T,g.bicubic));var V=\"M\"+q.join(\"L\")+\"Z\";PYt(l,h.clipsegments,a,o,p,k),IYt(c,l,a,o,M,L,A,f,h,k,V),CYt(l,b,t,u,x,r,f),eC.setClipUrl(l,f._clipPathId,t)})};function kYt(e,t){var r,n,i,a,o,s,l,u,c;for(r=0;r<e.length;r++){for(a=e[r],o=a.pedgepaths=[],s=a.ppaths=[],n=0;n<a.edgepaths.length;n++){for(c=a.edgepaths[n],l=[],i=0;i<c.length;i++)l[i]=t(c[i]);o.push(l)}for(n=0;n<a.paths.length;n++){for(c=a.paths[n],u=[],i=0;i<c.length;i++)u[i]=t(c[i]);s.push(u)}}}function CYt(e,t,r,n,i,a,o){var s=r._context.staticPlot,l=m1.ensureSingle(e,\"g\",\"contourlines\"),u=i.showlines!==!1,c=i.showlabels,f=u&&c,h=hw.createLines(l,u||c,t,s),d=hw.createLineClip(l,f,r,n.trace.uid),v=e.selectAll(\"g.contourlabels\").data(c?[0]:[]);if(v.exit().remove(),v.enter().append(\"g\").classed(\"contourlabels\",!0),c){var x=a.xaxis,b=a.yaxis,p=x._length,E=b._length,k=[[[0,0],[p,0],[p,E],[0,E]]],A=[];m1.clearLocationCache();var L=hw.labelFormatter(r,n),_=eC.tester.append(\"text\").attr(\"data-notex\",1).call(eC.font,i.labelfont),C={left:0,right:p,center:p/2,top:0,bottom:E,middle:E/2},M=Math.sqrt(p*p+E*E),g=Z7.LABELDISTANCE*M/Math.max(1,t.length/Z7.LABELINCREASE);h.each(function(P){var T=hw.calcTextOpts(P.level,L,_,r);X7.select(this).selectAll(\"path\").each(function(F){var q=this,V=m1.getVisibleSegment(q,C,T.height/2);if(V&&(LYt(q,F,P,V,o,T.height),!(V.len<(T.width+T.height)*Z7.LABELMIN)))for(var H=Math.min(Math.ceil(V.len/g),Z7.LABELMAX),X=0;X<H;X++){var G=hw.findBestTextLocation(q,V,T,A,C);if(!G)break;hw.addLabelData(G,T,A,k)}})}),_.remove(),hw.drawLabels(v,A,r,d,f?k:null)}c&&!u&&h.remove()}function LYt(e,t,r,n,i,a){for(var o,s=0;s<r.pedgepaths.length;s++)t===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(!o)return;var l=i.a[0],u=i.a[i.a.length-1],c=i.b[0],f=i.b[i.b.length-1];function h(p,E){var k=0,A,L=.1;return(Math.abs(p[0]-l)<L||Math.abs(p[0]-u)<L)&&(A=pYe(i.dxydb_rough(p[0],p[1],L)),k=Math.max(k,a*gYe(E,A)/2)),(Math.abs(p[1]-c)<L||Math.abs(p[1]-f)<L)&&(A=pYe(i.dxyda_rough(p[0],p[1],L)),k=Math.max(k,a*gYe(E,A)/2)),k}var d=vYe(e,0,1),v=vYe(e,n.total,n.total-1),x=h(o[0],d),b=n.total-h(o[o.length-1],v);n.min<x&&(n.min=x),n.max>b&&(n.max=b),n.len=n.max-n.min}function vYe(e,t,r){var n=e.getPointAtLength(t),i=e.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function pYe(e){var t=Math.sqrt(e[0]*e[0]+e[1]*e[1]);return[e[0]/t,e[1]/t]}function gYe(e,t){var r=Math.abs(e[0]*t[0]+e[1]*t[1]),n=Math.sqrt(1-r*r);return n/r}function PYt(e,t,r,n,i,a){var o,s,l,u,c=m1.ensureSingle(e,\"g\",\"contourbg\"),f=c.selectAll(\"path\").data(a===\"fill\"&&!i?[0]:[]);f.enter().append(\"path\"),f.exit().remove();var h=[];for(u=0;u<t.length;u++)o=t[u],s=Y7([],o.x,r.c2p),l=Y7([],o.y,n.c2p),h.push(mYe(s,l,o.bicubic));f.attr(\"d\",\"M\"+h.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}function IYt(e,t,r,n,i,a,o,s,l,u,c){var f=u===\"fill\";f&&MYt(i,e.contours);var h=m1.ensureSingle(t,\"g\",\"contourfill\"),d=h.selectAll(\"path\").data(f?i:[]);d.enter().append(\"path\"),d.exit().remove(),d.each(function(v){var x=(v.prefixBoundary?c:\"\")+RYt(e,v,a,o,s,l,r,n);x?X7.select(this).attr(\"d\",x).style(\"stroke\",\"none\"):X7.select(this).remove()})}function RYt(e,t,r,n,i,a,o,s){var l,u=\"\",c=t.edgepaths.map(function(T,F){return F}),f=!0,h,d,v,x,b,p,E=Math.abs(r[0][0]-r[2][0])*1e-4,k=Math.abs(r[0][1]-r[2][1])*1e-4;function A(T){return Math.abs(T[1]-r[0][1])<k}function L(T){return Math.abs(T[1]-r[2][1])<k}function _(T){return Math.abs(T[0]-r[0][0])<E}function C(T){return Math.abs(T[0]-r[2][0])<E}function M(T,F){var q,V,H,X,G=\"\";for(A(T)&&!C(T)||L(T)&&!_(T)?(X=i.aaxis,H=dYe(i,a,[T[0],F[0]],.5*(T[1]+F[1]))):(X=i.baxis,H=dYe(i,a,.5*(T[0]+F[0]),[T[1],F[1]])),q=1;q<H.length;q++)for(G+=X.smoothing?\"C\":\"L\",V=0;V<H[q].length;V++){var N=H[q][V];G+=[o.c2p(N[0]),s.c2p(N[1])]+\" \"}return G}for(l=0,h=null;c.length;){var g=t.edgepaths[l][0];for(h&&(u+=M(h,g)),p=eC.smoothopen(t.edgepaths[l].map(n),t.smoothing),u+=f?p:p.replace(/^M/,\"L\"),c.splice(c.indexOf(l),1),h=t.edgepaths[l][t.edgepaths[l].length-1],x=-1,v=0;v<4;v++){if(!h){m1.log(\"Missing end?\",l,t);break}for(A(h)&&!C(h)?d=r[1]:_(h)?d=r[0]:L(h)?d=r[3]:C(h)&&(d=r[2]),b=0;b<t.edgepaths.length;b++){var P=t.edgepaths[b][0];Math.abs(h[0]-d[0])<E?Math.abs(h[0]-P[0])<E&&(P[1]-h[1])*(d[1]-P[1])>=0&&(d=P,x=b):Math.abs(h[1]-d[1])<k?Math.abs(h[1]-P[1])<k&&(P[0]-h[0])*(d[0]-P[0])>=0&&(d=P,x=b):m1.log(\"endpt to newendpt is not vert. or horz.\",h,d,P)}if(x>=0)break;u+=M(h,d),h=d}if(x===t.edgepaths.length){m1.log(\"unclosed perimeter path\");break}l=x,f=c.indexOf(l)===-1,f&&(l=c[0],u+=M(h,d)+\"Z\",h=null)}for(l=0;l<t.paths.length;l++)u+=eC.smoothclosed(t.paths[l].map(n),t.smoothing);return u}});var bYe=ye((Rxr,xYe)=>{\"use strict\";xYe.exports={attributes:g$(),supplyDefaults:m$(),colorbar:S8(),calc:cYe(),plot:_Ye(),style:A8(),moduleType:\"trace\",name:\"contourcarpet\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"carpet\",\"contour\",\"symbols\",\"showLegend\",\"hasLines\",\"carpetDependent\",\"noHover\",\"noSortingByValue\"],meta:{}}});var TYe=ye((Dxr,wYe)=>{\"use strict\";wYe.exports=bYe()});var J7=ye((zxr,kYe)=>{\"use strict\";var K7=Mr().extendFlat,tC=Uc(),AYe=Oc().axisHoverFormat,MYe=Ed().dash,DYt=i3(),EYe=HT(),zYt=EYe.INCREASING.COLOR,FYt=EYe.DECREASING.COLOR,y$=tC.line;function SYe(e){return{line:{color:K7({},y$.color,{dflt:e}),width:y$.width,dash:MYe,editType:\"style\"},editType:\"style\"}}kYe.exports={xperiod:tC.xperiod,xperiod0:tC.xperiod0,xperiodalignment:tC.xperiodalignment,xhoverformat:AYe(\"x\"),yhoverformat:AYe(\"y\"),x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},open:{valType:\"data_array\",editType:\"calc\"},high:{valType:\"data_array\",editType:\"calc\"},low:{valType:\"data_array\",editType:\"calc\"},close:{valType:\"data_array\",editType:\"calc\"},line:{width:K7({},y$.width,{}),dash:K7({},MYe,{}),editType:\"style\"},increasing:SYe(zYt),decreasing:SYe(FYt),text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},tickwidth:{valType:\"number\",min:0,max:.5,dflt:.3,editType:\"calc\"},hoverlabel:K7({},DYt.hoverlabel,{split:{valType:\"boolean\",dflt:!1,editType:\"style\"}}),zorder:tC.zorder}});var _$=ye((Fxr,CYe)=>{\"use strict\";var qYt=ba(),OYt=Mr();CYe.exports=function(t,r,n,i){var a=n(\"x\"),o=n(\"open\"),s=n(\"high\"),l=n(\"low\"),u=n(\"close\");n(\"hoverlabel.split\");var c=qYt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");if(c(t,r,[\"x\"],i),!!(o&&s&&l&&u)){var f=Math.min(o.length,s.length,l.length,u.length);return a&&(f=Math.min(f,OYt.minRowLength(a))),r._length=f,f}}});var IYe=ye((qxr,PYe)=>{\"use strict\";var BYt=Mr(),NYt=_$(),UYt=Pg(),VYt=J7();PYe.exports=function(t,r,n,i){function a(s,l){return BYt.coerce(t,r,VYt,s,l)}var o=NYt(t,r,a,i);if(!o){r.visible=!1;return}UYt(t,r,i,a,{x:!0}),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"line.width\"),a(\"line.dash\"),LYe(t,r,a,\"increasing\"),LYe(t,r,a,\"decreasing\"),a(\"text\"),a(\"hovertext\"),a(\"tickwidth\"),i._requestRangeslider[r.xaxis]=!0,a(\"zorder\")};function LYe(e,t,r,n){r(n+\".line.color\"),r(n+\".line.width\",t.line.width),r(n+\".line.dash\",t.line.dash)}});var x$=ye((Oxr,DYe)=>{\"use strict\";var BA=Mr(),$7=BA._,Q7=Qa(),HYt=Rg(),rC=es().BADNUM;function GYt(e,t){var r=Q7.getFromId(e,t.xaxis),n=Q7.getFromId(e,t.yaxis),i=WYt(e,r,t),a=t._minDiff;t._minDiff=null;var o=t._origX;t._origX=null;var s=t._xcalc;t._xcalc=null;var l=RYe(e,t,o,s,n,jYt);return t._extremes[r._id]=Q7.findExtremes(r,s,{vpad:a/2}),l.length?(BA.extendFlat(l[0].t,{wHover:a/2,tickLen:i}),l):[{t:{empty:!0}}]}function jYt(e,t,r,n){return{o:e,h:t,l:r,c:n}}function RYe(e,t,r,n,i,a){for(var o=i.makeCalcdata(t,\"open\"),s=i.makeCalcdata(t,\"high\"),l=i.makeCalcdata(t,\"low\"),u=i.makeCalcdata(t,\"close\"),c=BA.isArrayOrTypedArray(t.text),f=BA.isArrayOrTypedArray(t.hovertext),h=!0,d=null,v=!!t.xperiodalignment,x=[],b=0;b<n.length;b++){var p=n[b],E=o[b],k=s[b],A=l[b],L=u[b];if(p!==rC&&E!==rC&&k!==rC&&A!==rC&&L!==rC){L===E?d!==null&&L!==d&&(h=L>d):h=L>E,d=L;var _=a(E,k,A,L);_.pos=p,_.yc=(E+L)/2,_.i=b,_.dir=h?\"increasing\":\"decreasing\",_.x=_.pos,_.y=[A,k],v&&(_.orig_p=r[b]),c&&(_.tx=t.text[b]),f&&(_.htx=t.hovertext[b]),x.push(_)}else x.push({pos:p,empty:!0})}return t._extremes[i._id]=Q7.findExtremes(i,BA.concat(l,s),{padded:!0}),x.length&&(x[0].t={labels:{open:$7(e,\"open:\")+\" \",high:$7(e,\"high:\")+\" \",low:$7(e,\"low:\")+\" \",close:$7(e,\"close:\")+\" \"}}),x}function WYt(e,t,r){var n=r._minDiff;if(!n){var i=e._fullData,a=[];n=1/0;var o;for(o=0;o<i.length;o++){var s=i[o];if(s.type===\"ohlc\"&&s.visible===!0&&s.xaxis===t._id){a.push(s);var l=t.makeCalcdata(s,\"x\");s._origX=l;var u=HYt(r,t,\"x\",l).vals;s._xcalc=u;var c=BA.distinctVals(u).minDiff;c&&isFinite(c)&&(n=Math.min(n,c))}}for(n===1/0&&(n=1),o=0;o<a.length;o++)a[o]._minDiff=n}return n*r.tickwidth}DYe.exports={calc:GYt,calcCommon:RYe}});var qYe=ye((Bxr,FYe)=>{\"use strict\";var ZYt=xa(),zYe=Mr();FYe.exports=function(t,r,n,i){var a=r.yaxis,o=r.xaxis,s=!!o.rangebreaks;zYe.makeTraceGroups(i,n,\"trace ohlc\").each(function(l){var u=ZYt.select(this),c=l[0],f=c.t,h=c.trace;if(h.visible!==!0||f.empty){u.remove();return}var d=f.tickLen,v=u.selectAll(\"path\").data(zYe.identity);v.enter().append(\"path\"),v.exit().remove(),v.attr(\"d\",function(x){if(x.empty)return\"M0,0Z\";var b=o.c2p(x.pos-d,!0),p=o.c2p(x.pos+d,!0),E=s?(b+p)/2:o.c2p(x.pos,!0),k=a.c2p(x.o,!0),A=a.c2p(x.h,!0),L=a.c2p(x.l,!0),_=a.c2p(x.c,!0);return\"M\"+b+\",\"+k+\"H\"+E+\"M\"+E+\",\"+A+\"V\"+L+\"M\"+p+\",\"+_+\"H\"+E})})}});var BYe=ye((Nxr,OYe)=>{\"use strict\";var b$=xa(),XYt=ao(),YYt=va();OYe.exports=function(t,r,n){var i=n||b$.select(t).selectAll(\"g.ohlclayer\").selectAll(\"g.trace\");i.style(\"opacity\",function(a){return a[0].trace.opacity}),i.each(function(a){var o=a[0].trace;b$.select(this).selectAll(\"path\").each(function(s){if(!s.empty){var l=o[s.dir].line;b$.select(this).style(\"fill\",\"none\").call(YYt.stroke,l.color).call(XYt.dashLine,l.dash,l.width).style(\"opacity\",o.selectedpoints&&!s.selected?.3:1)}})})}});var T$=ye((Uxr,GYe)=>{\"use strict\";var w$=Qa(),KYt=Mr(),e9=Nc(),JYt=va(),$Yt=Mr().fillText,NYe=HT(),QYt={increasing:NYe.INCREASING.SYMBOL,decreasing:NYe.DECREASING.SYMBOL};function eKt(e,t,r,n){var i=e.cd,a=i[0].trace;return a.hoverlabel.split?VYe(e,t,r,n):HYe(e,t,r,n)}function UYe(e,t,r,n){var i=e.cd,a=e.xa,o=i[0].trace,s=i[0].t,l=o.type,u=l===\"ohlc\"?\"l\":\"min\",c=l===\"ohlc\"?\"h\":\"max\",f,h,d=s.bPos||0,v=function(P){return P.pos+d-t},x=s.bdPos||s.tickLen,b=s.wHover,p=Math.min(1,x/Math.abs(a.r2c(a.range[1])-a.r2c(a.range[0])));f=e.maxHoverDistance-p,h=e.maxSpikeDistance-p;function E(P){var T=v(P);return e9.inbox(T-b,T+b,f)}function k(P){var T=P[u],F=P[c];return T===F||e9.inbox(T-r,F-r,f)}function A(P){return(E(P)+k(P))/2}var L=e9.getDistanceFunction(n,E,k,A);if(e9.getClosest(i,L,e),e.index===!1)return null;var _=i[e.index];if(_.empty)return null;var C=_.dir,M=o[C],g=M.line.color;return JYt.opacity(g)&&M.line.width?e.color=g:e.color=M.fillcolor,e.x0=a.c2p(_.pos+d-x,!0),e.x1=a.c2p(_.pos+d+x,!0),e.xLabelVal=_.orig_p!==void 0?_.orig_p:_.pos,e.spikeDistance=A(_)*h/f,e.xSpike=a.c2p(_.pos,!0),e}function VYe(e,t,r,n){var i=e.cd,a=e.ya,o=i[0].trace,s=i[0].t,l=[],u=UYe(e,t,r,n);if(!u)return[];var c=u.index,f=i[c],h=f.hi||o.hoverinfo,d=h.split(\"+\"),v=h===\"all\",x=v||d.indexOf(\"y\")!==-1;if(!x)return[];for(var b=[\"high\",\"open\",\"close\",\"low\"],p={},E=0;E<b.length;E++){var k=b[E],A=o[k][u.index],L=a.c2p(A,!0),_;A in p?(_=p[A],_.yLabel+=\"<br>\"+s.labels[k]+w$.hoverLabelText(a,A,o.yhoverformat)):(_=KYt.extendFlat({},u),_.y0=_.y1=L,_.yLabelVal=A,_.yLabel=s.labels[k]+w$.hoverLabelText(a,A,o.yhoverformat),_.name=\"\",l.push(_),p[A]=_)}return l}function HYe(e,t,r,n){var i=e.cd,a=e.ya,o=i[0].trace,s=i[0].t,l=UYe(e,t,r,n);if(!l)return[];var u=l.index,c=i[u],f=l.index=c.i,h=c.dir;function d(A){return s.labels[A]+w$.hoverLabelText(a,o[A][f],o.yhoverformat)}var v=c.hi||o.hoverinfo,x=v.split(\"+\"),b=v===\"all\",p=b||x.indexOf(\"y\")!==-1,E=b||x.indexOf(\"text\")!==-1,k=p?[d(\"open\"),d(\"high\"),d(\"low\"),d(\"close\")+\" \"+QYt[h]]:[];return E&&$Yt(c,o,k),l.extraText=k.join(\"<br>\"),l.y0=l.y1=a.c2p(c.yc,!0),[l]}GYe.exports={hoverPoints:eKt,hoverSplit:VYe,hoverOnPoints:HYe}});var A$=ye((Vxr,jYe)=>{\"use strict\";jYe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l=n[0].t.bPos||0;if(r===!1)for(s=0;s<n.length;s++)n[s].selected=0;else for(s=0;s<n.length;s++){var u=n[s];r.contains([i.c2p(u.pos+l),a.c2p(u.yc)],null,u.i,t)?(o.push({pointNumber:u.i,x:i.c2d(u.pos),y:a.c2d(u.yc)}),u.selected=1):u.selected=0}return o}});var ZYe=ye((Hxr,WYe)=>{\"use strict\";WYe.exports={moduleType:\"trace\",name:\"ohlc\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"showLegend\"],meta:{},attributes:J7(),supplyDefaults:IYe(),calc:x$().calc,plot:qYe(),style:BYe(),hoverPoints:T$().hoverPoints,selectPoints:A$()}});var YYe=ye((Gxr,XYe)=>{\"use strict\";XYe.exports=ZYe()});var M$=ye((jxr,$Ye)=>{\"use strict\";var S$=Mr().extendFlat,KYe=Oc().axisHoverFormat,c0=J7(),NA=v4();function JYe(e){return{line:{color:S$({},NA.line.color,{dflt:e}),width:NA.line.width,editType:\"style\"},fillcolor:NA.fillcolor,editType:\"style\"}}$Ye.exports={xperiod:c0.xperiod,xperiod0:c0.xperiod0,xperiodalignment:c0.xperiodalignment,xhoverformat:KYe(\"x\"),yhoverformat:KYe(\"y\"),x:c0.x,open:c0.open,high:c0.high,low:c0.low,close:c0.close,line:{width:S$({},NA.line.width,{}),editType:\"style\"},increasing:JYe(c0.increasing.line.color.dflt),decreasing:JYe(c0.decreasing.line.color.dflt),text:c0.text,hovertext:c0.hovertext,whiskerwidth:S$({},NA.whiskerwidth,{dflt:0}),hoverlabel:c0.hoverlabel,zorder:NA.zorder}});var tKe=ye((Wxr,eKe)=>{\"use strict\";var tKt=Mr(),rKt=va(),iKt=_$(),nKt=Pg(),aKt=M$();eKe.exports=function(t,r,n,i){function a(s,l){return tKt.coerce(t,r,aKt,s,l)}var o=iKt(t,r,a,i);if(!o){r.visible=!1;return}nKt(t,r,i,a,{x:!0}),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"line.width\"),QYe(t,r,a,\"increasing\"),QYe(t,r,a,\"decreasing\"),a(\"text\"),a(\"hovertext\"),a(\"whiskerwidth\"),i._requestRangeslider[r.xaxis]=!0,a(\"zorder\")};function QYe(e,t,r,n){var i=r(n+\".line.color\");r(n+\".line.width\",t.line.width),r(n+\".fillcolor\",rKt.addOpacity(i,.5))}});var aKe=ye((Zxr,nKe)=>{\"use strict\";var rKe=Mr(),iKe=Qa(),oKt=Rg(),sKt=x$().calcCommon;nKe.exports=function(e,t){var r=e._fullLayout,n=iKe.getFromId(e,t.xaxis),i=iKe.getFromId(e,t.yaxis),a=n.makeCalcdata(t,\"x\"),o=oKt(t,n,\"x\",a).vals,s=sKt(e,t,a,o,i,lKt);return s.length?(rKe.extendFlat(s[0].t,{num:r._numBoxes,dPos:rKe.distinctVals(o).minDiff/2,posLetter:\"x\",valLetter:\"y\"}),r._numBoxes++,s):[{t:{empty:!0}}]};function lKt(e,t,r,n){return{min:r,q1:Math.min(e,n),med:n,q3:Math.max(e,n),max:t}}});var sKe=ye((Xxr,oKe)=>{\"use strict\";oKe.exports={moduleType:\"trace\",name:\"candlestick\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"showLegend\",\"candlestick\",\"boxLayout\"],meta:{},attributes:M$(),layoutAttributes:p4(),supplyLayoutDefaults:VI().supplyLayoutDefaults,crossTraceCalc:GI().crossTraceCalc,supplyDefaults:tKe(),calc:aKe(),plot:jI().plot,layerName:\"boxlayer\",style:WI().style,hoverPoints:T$().hoverPoints,selectPoints:A$()}});var uKe=ye((Yxr,lKe)=>{\"use strict\";lKe.exports=sKe()});var k$=ye((Kxr,cKe)=>{\"use strict\";var r9=Mr(),uKt=ym(),t9=r9.deg2rad,E$=r9.rad2deg;cKe.exports=function(t,r,n){switch(uKt(t,n),t._id){case\"x\":case\"radialaxis\":cKt(t,r);break;case\"angularaxis\":dKt(t,r);break}};function cKt(e,t){var r=t._subplot;e.setGeometry=function(){var n=e._rl[0],i=e._rl[1],a=r.innerRadius,o=(r.radius-a)/(i-n),s=a/o,l=n>i?function(u){return u<=0}:function(u){return u>=0};e.c2g=function(u){var c=e.c2l(u)-n;return(l(c)?c:0)+s},e.g2c=function(u){return e.l2c(u+n-s)},e.g2p=function(u){return u*o},e.c2p=function(u){return e.g2p(e.c2g(u))}}}function fKt(e,t){return t===\"degrees\"?t9(e):e}function hKt(e,t){return t===\"degrees\"?E$(e):e}function dKt(e,t){var r=e.type;if(r===\"linear\"){var n=e.d2c,i=e.c2d;e.d2c=function(a,o){return fKt(n(a),o)},e.c2d=function(a,o){return i(hKt(a,o))}}e.makeCalcdata=function(a,o){var s=a[o],l=a._length,u,c,f=function(b){return e.d2c(b,a.thetaunit)};if(s)for(u=new Array(l),c=0;c<l;c++)u[c]=f(s[c]);else{var h=o+\"0\",d=\"d\"+o,v=h in a?f(a[h]):0,x=a[d]?f(a[d]):(e.period||2*Math.PI)/l;for(u=new Array(l),c=0;c<l;c++)u[c]=v+c*x}return u},e.setGeometry=function(){var a=t.sector,o=a.map(t9),s={clockwise:-1,counterclockwise:1}[e.direction],l=t9(e.rotation),u=function(p){return s*p+l},c=function(p){return(p-l)/s},f,h,d,v;switch(r){case\"linear\":h=f=r9.identity,v=t9,d=E$,e.range=r9.isFullCircle(o)?[a[0],a[0]+360]:o.map(c).map(E$);break;case\"category\":var x=e._categories.length,b=e.period?Math.max(e.period,x):x;b===0&&(b=1),h=v=function(p){return p*2*Math.PI/b},f=d=function(p){return p*b/Math.PI/2},e.range=[0,b];break}e.c2g=function(p){return u(h(p))},e.g2c=function(p){return f(c(p))},e.t2g=function(p){return u(v(p))},e.g2t=function(p){return d(c(p))}}}});var i9=ye((Jxr,fKe)=>{\"use strict\";fKe.exports={attr:\"subplot\",name:\"polar\",axisNames:[\"angularaxis\",\"radialaxis\"],axisName2dataArray:{angularaxis:\"theta\",radialaxis:\"r\"},layerNames:[\"draglayer\",\"plotbg\",\"backplot\",\"angular-grid\",\"radial-grid\",\"frontplot\",\"angular-line\",\"radial-line\",\"angular-axis\",\"radial-axis\"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}});var a9=ye(($xr,gKe)=>{\"use strict\";var dw=Mr(),hKe=wM().tester,C$=dw.findIndexOfMin,vKe=dw.isAngleInsideSector,vKt=dw.angleDelta,dKe=dw.angleDist;function pKt(e,t,r,n,i){if(!vKe(t,n))return!1;var a,o;r[0]<r[1]?(a=r[0],o=r[1]):(a=r[1],o=r[0]);var s=hKe(UA(a,n[0],n[1],i)),l=hKe(UA(o,n[0],n[1],i)),u=[e*Math.cos(t),e*Math.sin(t)];return l.contains(u)&&!s.contains(u)}function pKe(e,t,r,n){var i,a,o=n[0],s=n[1],l=n9(Math.sin(t)-Math.sin(e)),u=n9(Math.cos(t)-Math.cos(e)),c=Math.tan(r),f=n9(1/c),h=l/u,d=s-h*o;return f?l&&u?(i=d/(c-h),a=c*i):u?(i=s*f,a=s):(i=o,a=o*c):l&&u?(i=0,a=d):u?(i=0,a=s):i=a=NaN,[i,a]}function gKt(e,t,r,n){var i=-t*r,a=t*t+1,o=2*(t*i-r),s=i*i+r*r-e*e,l=Math.sqrt(o*o-4*a*s),u=(-o+l)/(2*a),c=(-o-l)/(2*a);return[[u,t*u+i+n],[c,t*c+i+n]]}function mKt(e,t){var r=t.length,n=new Array(r+1),i;for(i=0;i<r;i++){var a=t[i];n[i]=[e*Math.cos(a),e*Math.sin(a)]}return n[i]=n[0].slice(),n}function yKt(e,t,r,n){var i=n.length,a=[],o,s;function l(p){return[e*Math.cos(p),e*Math.sin(p)]}function u(p,E,k){return pKe(p,E,k,l(p))}function c(p){return dw.mod(p,i)}function f(p){return vKe(p,[t,r])}var h=C$(n,function(p){return f(p)?dKe(p,t):1/0}),d=u(n[h],n[c(h-1)],t);for(a.push(d),o=h,s=0;s<i;o++,s++){var v=n[c(o)];if(!f(v))break;a.push(l(v))}var x=C$(n,function(p){return f(p)?dKe(p,r):1/0}),b=u(n[x],n[c(x+1)],r);return a.push(b),a.push([0,0]),a.push(a[0].slice()),a}function UA(e,t,r,n){return dw.isFullCircle([t,r])?mKt(e,n):yKt(e,t,r,n)}function _Kt(e,t,r,n){for(var i=1/0,a=1/0,o=UA(e,t,r,n),s=0;s<o.length;s++){var l=o[s];i=Math.min(i,l[0]),a=Math.min(a,-l[1])}return[i,a]}function xKt(e,t){var r=function(a){var o=vKt(a,e);return o>0?o:1/0},n=C$(t,r),i=dw.mod(n+1,t.length);return[t[n],t[i]]}function n9(e){return Math.abs(e)>1e-10?e:0}function L$(e,t,r){t=t||0,r=r||0;for(var n=e.length,i=new Array(n),a=0;a<n;a++){var o=e[a];i[a]=[t+o[0],r-o[1]]}return i}function bKt(e,t,r,n,i,a){var o=UA(e,t,r,n);return\"M\"+L$(o,i,a).join(\"L\")}function wKt(e,t,r,n,i,a,o){var s,l;e<t?(s=e,l=t):(s=t,l=e);var u=L$(UA(s,r,n,i),a,o),c=L$(UA(l,r,n,i),a,o);return\"M\"+c.reverse().join(\"L\")+\"M\"+u.join(\"L\")}gKe.exports={isPtInsidePolygon:pKt,findPolygonOffset:_Kt,findEnclosingVertexAngles:xKt,findIntersectionXY:pKe,findXYatLength:gKt,clampTiny:n9,pathPolygon:bKt,pathPolygonAnnulus:wKt}});var P$=ye((Qxr,_Ke)=>{\"use strict\";function mKe(e){return e<0?-1:e>0?1:0}function VA(e){var t=e[0],r=e[1];if(!isFinite(t)||!isFinite(r))return[1,0];var n=(t+1)*(t+1)+r*r;return[(t*t+r*r-1)/n,2*r/n]}function HA(e,t){var r=t[0],n=t[1];return[r*e.radius+e.cx,-n*e.radius+e.cy]}function yKe(e,t){return t*e.radius}function TKt(e,t,r,n){var i=HA(e,VA([r,t])),a=i[0],o=i[1],s=HA(e,VA([n,t])),l=s[0],u=s[1];if(t===0)return[\"M\"+a+\",\"+o,\"L\"+l+\",\"+u].join(\" \");var c=yKe(e,1/Math.abs(t));return[\"M\"+a+\",\"+o,\"A\"+c+\",\"+c+\" 0 0,\"+(t<0?1:0)+\" \"+l+\",\"+u].join(\" \")}function AKt(e,t,r,n){var i=yKe(e,1/(t+1)),a=HA(e,VA([t,r])),o=a[0],s=a[1],l=HA(e,VA([t,n])),u=l[0],c=l[1];if(mKe(r)!==mKe(n)){var f=HA(e,VA([t,0])),h=f[0],d=f[1];return[\"M\"+o+\",\"+s,\"A\"+i+\",\"+i+\" 0 0,\"+(0<r?0:1)+\" \"+h+\",\"+d,\"A\"+i+\",\"+i+\" 0 0,\"+(n<0?0:1)+u+\",\"+c].join(\" \")}return[\"M\"+o+\",\"+s,\"A\"+i+\",\"+i+\" 0 0,\"+(n<r?0:1)+\" \"+u+\",\"+c].join(\" \")}_Ke.exports={smith:VA,reactanceArc:TKt,resistanceArc:AKt,smithTransform:HA}});var D$=ye((ebr,kKe)=>{\"use strict\";var vw=xa(),SKt=id(),gw=ba(),cc=Mr(),ry=cc.strRotate,dd=cc.strTranslate,I$=va(),iC=ao(),MKt=Xu(),dp=Qa(),EKt=ym(),kKt=k$(),CKt=wg().doAutoRange,y1=DN(),l9=gv(),xKe=Nc(),LKt=Mb(),PKt=wf().prepSelect,IKt=wf().selectOnClick,R$=wf().clearOutline,bKe=Tg(),wKe=lM(),TKe=gM().redrawReglTraces,RKt=Nh().MID_SHIFT,Lx=i9(),_1=a9(),u9=P$(),o9=u9.smith,DKt=u9.reactanceArc,zKt=u9.resistanceArc,s9=u9.smithTransform,FKt=cc._,AKe=cc.mod,Px=cc.deg2rad,pw=cc.rad2deg;function SKe(e,t,r){this.isSmith=r||!1,this.id=t,this.gd=e,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var n=e._fullLayout,i=\"clip\"+n._uid+t;this.clipIds.forTraces=i+\"-for-traces\",this.clipPaths.forTraces=n._clips.append(\"clipPath\").attr(\"id\",this.clipIds.forTraces),this.clipPaths.forTraces.append(\"path\"),this.framework=n[\"_\"+(r?\"smith\":\"polar\")+\"layer\"].append(\"g\").attr(\"class\",t),this.getHole=function(a){return this.isSmith?0:a.hole},this.getSector=function(a){return this.isSmith?[0,360]:a.sector},this.getRadial=function(a){return this.isSmith?a.realaxis:a.radialaxis},this.getAngular=function(a){return this.isSmith?a.imaginaryaxis:a.angularaxis},r||(this.radialTickLayout=null,this.angularTickLayout=null)}var Fd=SKe.prototype;kKe.exports=function(t,r,n){return new SKe(t,r,n)};Fd.plot=function(e,t){for(var r=this,n=t[r.id],i=!1,a=0;a<e.length;a++){var o=e[a][0].trace;if(o.cliponaxis===!1){i=!0;break}}r._hasClipOnAxisFalse=i,r.updateLayers(t,n),r.updateLayout(t,n),MKt.generalUpdatePerTraceModule(r.gd,r,e,n),r.updateFx(t,n),r.isSmith&&(delete n.realaxis.range,delete n.imaginaryaxis.range)};Fd.updateLayers=function(e,t){var r=this,n=r.isSmith,i=r.layers,a=r.getRadial(t),o=r.getAngular(t),s=Lx.layerNames,l=s.indexOf(\"frontplot\"),u=s.slice(0,l),c=o.layer===\"below traces\",f=a.layer===\"below traces\";c&&u.push(\"angular-line\"),f&&u.push(\"radial-line\"),c&&u.push(\"angular-axis\"),f&&u.push(\"radial-axis\"),u.push(\"frontplot\"),c||u.push(\"angular-line\"),f||u.push(\"radial-line\"),c||u.push(\"angular-axis\"),f||u.push(\"radial-axis\");var h=(n?\"smith\":\"polar\")+\"sublayer\",d=r.framework.selectAll(\".\"+h).data(u,String);d.enter().append(\"g\").attr(\"class\",function(v){return h+\" \"+v}).each(function(v){var x=i[v]=vw.select(this);switch(v){case\"frontplot\":n||x.append(\"g\").classed(\"barlayer\",!0),x.append(\"g\").classed(\"scatterlayer\",!0);break;case\"backplot\":x.append(\"g\").classed(\"maplayer\",!0);break;case\"plotbg\":i.bg=x.append(\"path\");break;case\"radial-grid\":x.style(\"fill\",\"none\");break;case\"angular-grid\":x.style(\"fill\",\"none\");break;case\"radial-line\":x.append(\"line\").style(\"fill\",\"none\");break;case\"angular-line\":x.append(\"path\").style(\"fill\",\"none\");break}}),d.order()};Fd.updateLayout=function(e,t){var r=this,n=r.layers,i=e._size,a=r.getRadial(t),o=r.getAngular(t),s=t.domain.x,l=t.domain.y;r.xOffset=i.l+i.w*s[0],r.yOffset=i.t+i.h*(1-l[1]);var u=r.xLength=i.w*(s[1]-s[0]),c=r.yLength=i.h*(l[1]-l[0]),f=r.getSector(t);r.sectorInRad=f.map(Px);var h=r.sectorBBox=qKt(f),d=h[2]-h[0],v=h[3]-h[1],x=c/u,b=Math.abs(v/d),p,E,k,A,L;x>b?(p=u,E=u*b,L=(c-E)/i.h/2,k=[s[0],s[1]],A=[l[0]+L,l[1]-L]):(p=c/b,E=c,L=(u-p)/i.w/2,k=[s[0]+L,s[1]-L],A=[l[0],l[1]]),r.xLength2=p,r.yLength2=E,r.xDomain2=k,r.yDomain2=A;var _=r.xOffset2=i.l+i.w*k[0],C=r.yOffset2=i.t+i.h*(1-A[1]),M=r.radius=p/d,g=r.innerRadius=r.getHole(t)*M,P=r.cx=_-M*h[0],T=r.cy=C+M*h[3],F=r.cxx=P-_,q=r.cyy=T-C,V=a.side,H;V===\"counterclockwise\"?(H=V,V=\"top\"):V===\"clockwise\"&&(H=V,V=\"bottom\"),r.radialAxis=r.mockAxis(e,t,a,{_id:\"x\",side:V,_trueSide:H,domain:[g/i.w,M/i.w]}),r.angularAxis=r.mockAxis(e,t,o,{side:\"right\",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(e,t),r.updateAngularAxis(e,t),r.updateRadialAxis(e,t),r.updateRadialAxisTitle(e,t),r.xaxis=r.mockCartesianAxis(e,t,{_id:\"x\",domain:k}),r.yaxis=r.mockCartesianAxis(e,t,{_id:\"y\",domain:A});var X=r.pathSubplot();r.clipPaths.forTraces.select(\"path\").attr(\"d\",X).attr(\"transform\",dd(F,q)),n.frontplot.attr(\"transform\",dd(_,C)).call(iC.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr(\"d\",X).attr(\"transform\",dd(P,T)).call(I$.fill,t.bgcolor)};Fd.mockAxis=function(e,t,r,n){var i=cc.extendFlat({},r,n);return kKt(i,t,e),i};Fd.mockCartesianAxis=function(e,t,r){var n=this,i=n.isSmith,a=r._id,o=cc.extendFlat({type:\"linear\"},r);EKt(o,e);var s={x:[0,2],y:[1,3]};return o.setRange=function(){var l=n.sectorBBox,u=s[a],c=n.radialAxis._rl,f=(c[1]-c[0])/(1-n.getHole(t));o.range=[l[u[0]]*f,l[u[1]]*f]},o.isPtWithinRange=a===\"x\"&&!i?function(l){return n.isPtInside(l)}:function(){return!0},o.setRange(),o.setScale(),o};Fd.doAutoRange=function(e,t){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(t);CKt(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\")],i.minallowed!==void 0){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(i.maxallowed!==void 0){var l=i.r2l(i.maxallowed);i._rl[0]<i._rl[1]?i._rl[1]=Math.min(i._rl[1],l):i._rl[0]=Math.min(i._rl[0],l)}};Fd.updateRadialAxis=function(e,t){var r=this,n=r.gd,i=r.layers,a=r.radius,o=r.innerRadius,s=r.cx,l=r.cy,u=r.getRadial(t),c=AKe(r.getSector(t)[0],360),f=r.radialAxis,h=o<a,d=r.isSmith;d||(r.fillViewInitialKey(\"radialaxis.angle\",u.angle),r.fillViewInitialKey(\"radialaxis.range\",f.range.slice()),f.setGeometry()),f.tickangle===\"auto\"&&c>90&&c<=270&&(f.tickangle=180);var v=d?function(M){var g=s9(r,o9([M.x,0]));return dd(g[0]-s,g[1]-l)}:function(M){return dd(f.l2p(M.x)+o,0)},x=d?function(M){return zKt(r,M.x,-1/0,1/0)}:function(M){return r.pathArc(f.r2p(M.x)+o)},b=MKe(u);if(r.radialTickLayout!==b&&(i[\"radial-axis\"].selectAll(\".xtick\").remove(),r.radialTickLayout=b),h){f.setScale();var p=0,E=d?(f.tickvals||[]).filter(function(M){return M>=0}).map(function(M){return dp.tickText(f,M,!0,!1)}):dp.calcTicks(f),k=d?E:dp.clipEnds(f,E),A=dp.getTickSigns(f)[2];d&&((f.ticks===\"top\"&&f.side===\"bottom\"||f.ticks===\"bottom\"&&f.side===\"top\")&&(A=-A),f.ticks===\"top\"&&f.side===\"top\"&&(p=-f.ticklen),f.ticks===\"bottom\"&&f.side===\"bottom\"&&(p=f.ticklen)),dp.drawTicks(n,f,{vals:E,layer:i[\"radial-axis\"],path:dp.makeTickPath(f,0,A),transFn:v,crisp:!1}),dp.drawGrid(n,f,{vals:k,layer:i[\"radial-grid\"],path:x,transFn:cc.noop,crisp:!1}),dp.drawLabels(n,f,{vals:E,layer:i[\"radial-axis\"],transFn:v,labelFns:dp.makeLabelFns(f,p)})}var L=r.radialAxisAngle=r.vangles?pw(EKe(Px(u.angle),r.vangles)):u.angle,_=dd(s,l),C=_+ry(-L);nC(i[\"radial-axis\"],h&&(u.showticklabels||u.ticks),{transform:C}),nC(i[\"radial-grid\"],h&&u.showgrid,{transform:d?\"\":_}),nC(i[\"radial-line\"].select(\"line\"),h&&u.showline,{x1:d?-a:o,y1:0,x2:a,y2:0,transform:C}).attr(\"stroke-width\",u.linewidth).call(I$.stroke,u.linecolor)};Fd.updateRadialAxisTitle=function(e,t,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(t),u=n.id+\"title\",c=0;if(l.title){var f=iC.bBox(n.layers[\"radial-axis\"].node()).height,h=l.title.font.size,d=l.side;c=d===\"top\"?h:d===\"counterclockwise\"?-(f+h*.4):f+h*.8}var v=r!==void 0?r:n.radialAxisAngle,x=Px(v),b=Math.cos(x),p=Math.sin(x),E=o+a/2*b+c*p,k=s-a/2*p+c*b;n.layers[\"radial-axis-title\"]=LKt.draw(i,u,{propContainer:l,propName:n.id+\".radialaxis.title\",placeholder:FKt(i,\"Click to enter radial axis title\"),attributes:{x:E,y:k,\"text-anchor\":\"middle\"},transform:{rotate:-v}})}};Fd.updateAngularAxis=function(e,t){var r=this,n=r.gd,i=r.layers,a=r.radius,o=r.innerRadius,s=r.cx,l=r.cy,u=r.getAngular(t),c=r.angularAxis,f=r.isSmith;f||(r.fillViewInitialKey(\"angularaxis.rotation\",u.rotation),c.setGeometry(),c.setScale());var h=f?function(g){var P=s9(r,o9([0,g.x]));return Math.atan2(P[0]-s,P[1]-l)-Math.PI/2}:function(g){return c.t2g(g.x)};c.type===\"linear\"&&c.thetaunit===\"radians\"&&(c.tick0=pw(c.tick0),c.dtick=pw(c.dtick));var d=function(g){return dd(s+a*Math.cos(g),l-a*Math.sin(g))},v=f?function(g){var P=s9(r,o9([0,g.x]));return dd(P[0],P[1])}:function(g){return d(h(g))},x=f?function(g){var P=s9(r,o9([0,g.x])),T=Math.atan2(P[0]-s,P[1]-l)-Math.PI/2;return dd(P[0],P[1])+ry(-pw(T))}:function(g){var P=h(g);return d(P)+ry(-pw(P))},b=f?function(g){return DKt(r,g.x,0,1/0)}:function(g){var P=h(g),T=Math.cos(P),F=Math.sin(P);return\"M\"+[s+o*T,l-o*F]+\"L\"+[s+a*T,l-a*F]},p=dp.makeLabelFns(c,0),E=p.labelStandoff,k={};k.xFn=function(g){var P=h(g);return Math.cos(P)*E},k.yFn=function(g){var P=h(g),T=Math.sin(P)>0?.2:1;return-Math.sin(P)*(E+g.fontSize*T)+Math.abs(Math.cos(P))*(g.fontSize*RKt)},k.anchorFn=function(g){var P=h(g),T=Math.cos(P);return Math.abs(T)<.1?\"middle\":T>0?\"start\":\"end\"},k.heightFn=function(g,P,T){var F=h(g);return-.5*(1+Math.sin(F))*T};var A=MKe(u);r.angularTickLayout!==A&&(i[\"angular-axis\"].selectAll(\".\"+c._id+\"tick\").remove(),r.angularTickLayout=A);var L=f?[1/0].concat(c.tickvals||[]).map(function(g){return dp.tickText(c,g,!0,!1)}):dp.calcTicks(c);f&&(L[0].text=\"\\u221E\",L[0].fontSize*=1.75);var _;if(t.gridshape===\"linear\"?(_=L.map(h),cc.angleDelta(_[0],_[1])<0&&(_=_.slice().reverse())):_=null,r.vangles=_,c.type===\"category\"&&(L=L.filter(function(g){return cc.isAngleInsideSector(h(g),r.sectorInRad)})),c.visible){var C=c.ticks===\"inside\"?-1:1,M=(c.linewidth||1)/2;dp.drawTicks(n,c,{vals:L,layer:i[\"angular-axis\"],path:\"M\"+C*M+\",0h\"+C*c.ticklen,transFn:x,crisp:!1}),dp.drawGrid(n,c,{vals:L,layer:i[\"angular-grid\"],path:b,transFn:cc.noop,crisp:!1}),dp.drawLabels(n,c,{vals:L,layer:i[\"angular-axis\"],repositionOnUpdate:!0,transFn:v,labelFns:k})}nC(i[\"angular-line\"].select(\"path\"),u.showline,{d:r.pathSubplot(),transform:dd(s,l)}).attr(\"stroke-width\",u.linewidth).call(I$.stroke,u.linecolor)};Fd.updateFx=function(e,t){if(!this.gd._context.staticPlot){var r=!this.isSmith;r&&(this.updateAngularDrag(e),this.updateRadialDrag(e,t,0),this.updateRadialDrag(e,t,1)),this.updateHoverAndMainDrag(e)}};Fd.updateHoverAndMainDrag=function(e){var t=this,r=t.isSmith,n=t.gd,i=t.layers,a=e._zoomlayer,o=Lx.MINZOOM,s=Lx.OFFEDGE,l=t.radius,u=t.innerRadius,c=t.cx,f=t.cy,h=t.cxx,d=t.cyy,v=t.sectorInRad,x=t.vangles,b=t.radialAxis,p=_1.clampTiny,E=_1.findXYatLength,k=_1.findEnclosingVertexAngles,A=Lx.cornerHalfWidth,L=Lx.cornerLen/2,_,C,M=y1.makeDragger(i,\"path\",\"maindrag\",e.dragmode===!1?\"none\":\"crosshair\");vw.select(M).attr(\"d\",t.pathSubplot()).attr(\"transform\",dd(c,f)),M.onmousemove=function(ce){xKe.hover(n,ce,t.id),n._fullLayout._lasthover=M,n._fullLayout._hoversubplot=t.id},M.onmouseout=function(ce){n._dragging||l9.unhover(n,ce)};var g={element:M,gd:n,subplot:t.id,plotinfo:{id:t.id,xaxis:t.xaxis,yaxis:t.yaxis},xaxes:[t.xaxis],yaxes:[t.yaxis]},P,T,F,q,V,H,X,G,N;function W(ce,Ge){return Math.sqrt(ce*ce+Ge*Ge)}function re(ce,Ge){return W(ce-h,Ge-d)}function ae(ce,Ge){return Math.atan2(d-Ge,ce-h)}function _e(ce,Ge){return[ce*Math.cos(Ge),ce*Math.sin(-Ge)]}function Me(ce,Ge){if(ce===0)return t.pathSector(2*A);var nt=L/ce,ct=Ge-nt,qt=Ge+nt,rt=Math.max(0,Math.min(ce,l)),ot=rt-A,Rt=rt+A;return\"M\"+_e(ot,ct)+\"A\"+[ot,ot]+\" 0,0,0 \"+_e(ot,qt)+\"L\"+_e(Rt,qt)+\"A\"+[Rt,Rt]+\" 0,0,1 \"+_e(Rt,ct)+\"Z\"}function ke(ce,Ge,nt){if(ce===0)return t.pathSector(2*A);var ct=_e(ce,Ge),qt=_e(ce,nt),rt=p((ct[0]+qt[0])/2),ot=p((ct[1]+qt[1])/2),Rt,kt;if(rt&&ot){var Ct=ot/rt,Yt=-1/Ct,xr=E(A,Ct,rt,ot);Rt=E(L,Yt,xr[0][0],xr[0][1]),kt=E(L,Yt,xr[1][0],xr[1][1])}else{var er,Ke;ot?(er=L,Ke=A):(er=A,Ke=L),Rt=[[rt-er,ot-Ke],[rt+er,ot-Ke]],kt=[[rt-er,ot+Ke],[rt+er,ot+Ke]]}return\"M\"+Rt.join(\"L\")+\"L\"+kt.reverse().join(\"L\")+\"Z\"}function ge(){F=null,q=null,V=t.pathSubplot(),H=!1;var ce=n._fullLayout[t.id];X=SKt(ce.bgcolor).getLuminance(),G=y1.makeZoombox(a,X,c,f,V),G.attr(\"fill-rule\",\"evenodd\"),N=y1.makeCorners(a,c,f),R$(n)}function ie(ce,Ge){return Ge=Math.max(Math.min(Ge,l),u),ce<s?ce=0:l-ce<s?ce=l:Ge<s?Ge=0:l-Ge<s&&(Ge=l),Math.abs(Ge-ce)>o?(ce<Ge?(F=ce,q=Ge):(F=Ge,q=ce),!0):(F=null,q=null,!1)}function Te(ce,Ge){ce=ce||V,Ge=Ge||\"M0,0Z\",G.attr(\"d\",ce),N.attr(\"d\",Ge),y1.transitionZoombox(G,N,H,X),H=!0;var nt={};me(nt),n.emit(\"plotly_relayouting\",nt)}function Ee(ce,Ge){ce=ce*_,Ge=Ge*C;var nt=P+ce,ct=T+Ge,qt=re(P,T),rt=Math.min(re(nt,ct),l),ot=ae(P,T),Rt,kt;ie(qt,rt)&&(Rt=V+t.pathSector(q),F&&(Rt+=t.pathSector(F)),kt=Me(F,ot)+Me(q,ot)),Te(Rt,kt)}function Ae(ce,Ge,nt,ct){var qt=_1.findIntersectionXY(nt,ct,nt,[ce-h,d-Ge]);return W(qt[0],qt[1])}function ze(ce,Ge){var nt=P+ce,ct=T+Ge,qt=ae(P,T),rt=ae(nt,ct),ot=k(qt,x),Rt=k(rt,x),kt=Ae(P,T,ot[0],ot[1]),Ct=Math.min(Ae(nt,ct,Rt[0],Rt[1]),l),Yt,xr;ie(kt,Ct)&&(Yt=V+t.pathSector(q),F&&(Yt+=t.pathSector(F)),xr=[ke(F,ot[0],ot[1]),ke(q,ot[0],ot[1])].join(\" \")),Te(Yt,xr)}function Ce(){if(y1.removeZoombox(n),!(F===null||q===null)){var ce={};me(ce),y1.showDoubleClickNotifier(n),gw.call(\"_guiRelayout\",n,ce)}}function me(ce){var Ge=b._rl,nt=(Ge[1]-Ge[0])/(1-u/l)/l,ct=[Ge[0]+(F-u)*nt,Ge[0]+(q-u)*nt];ce[t.id+\".radialaxis.range\"]=ct}function Re(ce,Ge){var nt=n._fullLayout.clickmode;if(y1.removeZoombox(n),ce===2){var ct={};for(var qt in t.viewInitial)ct[t.id+\".\"+qt]=t.viewInitial[qt];n.emit(\"plotly_doubleclick\",null),gw.call(\"_guiRelayout\",n,ct)}nt.indexOf(\"select\")>-1&&ce===1&&IKt(Ge,n,[t.xaxis],[t.yaxis],t.id,g),nt.indexOf(\"event\")>-1&&xKe.click(n,Ge,t.id)}g.prepFn=function(ce,Ge,nt){var ct=n._fullLayout.dragmode,qt=M.getBoundingClientRect();n._fullLayout._calcInverseTransform(n);var rt=n._fullLayout._invTransform;_=n._fullLayout._invScaleX,C=n._fullLayout._invScaleY;var ot=cc.apply3DTransform(rt)(Ge-qt.left,nt-qt.top);if(P=ot[0],T=ot[1],x){var Rt=_1.findPolygonOffset(l,v[0],v[1],x);P+=h+Rt[0],T+=d+Rt[1]}switch(ct){case\"zoom\":g.clickFn=Re,r||(x?g.moveFn=ze:g.moveFn=Ee,g.doneFn=Ce,ge(ce,Ge,nt));break;case\"select\":case\"lasso\":PKt(ce,Ge,nt,g,ct);break}},l9.init(g)};Fd.updateRadialDrag=function(e,t,r){var n=this,i=n.gd,a=n.layers,o=n.radius,s=n.innerRadius,l=n.cx,u=n.cy,c=n.radialAxis,f=Lx.radialDragBoxSize,h=f/2;if(!c.visible)return;var d=Px(n.radialAxisAngle),v=c._rl,x=v[0],b=v[1],p=v[r],E=.75*(v[1]-v[0])/(1-n.getHole(t))/o,k,A,L;r?(k=l+(o+h)*Math.cos(d),A=u-(o+h)*Math.sin(d),L=\"radialdrag\"):(k=l+(s-h)*Math.cos(d),A=u-(s-h)*Math.sin(d),L=\"radialdrag-inner\");var _=y1.makeRectDragger(a,L,\"crosshair\",-h,-h,f,f),C={element:_,gd:i};e.dragmode===!1&&(C.dragmode=!1),nC(vw.select(_),c.visible&&s<o,{transform:dd(k,A)});var M,g,P;function T(X,G){if(M)M(X,G);else{var N=[X,-G],W=[Math.cos(d),Math.sin(d)],re=Math.abs(cc.dot(N,W)/Math.sqrt(cc.dot(N,N)));isNaN(re)||(M=re<.5?V:H)}var ae={};F(ae),i.emit(\"plotly_relayouting\",ae)}function F(X){g!==null?X[n.id+\".radialaxis.angle\"]=g:P!==null&&(X[n.id+\".radialaxis.range[\"+r+\"]\"]=P)}function q(){g!==null?gw.call(\"_guiRelayout\",i,n.id+\".radialaxis.angle\",g):P!==null&&gw.call(\"_guiRelayout\",i,n.id+\".radialaxis.range[\"+r+\"]\",P)}function V(X,G){if(r!==0){var N=k+X,W=A+G;g=Math.atan2(u-W,N-l),n.vangles&&(g=EKe(g,n.vangles)),g=pw(g);var re=dd(l,u)+ry(-g);a[\"radial-axis\"].attr(\"transform\",re),a[\"radial-line\"].select(\"line\").attr(\"transform\",re);var ae=n.gd._fullLayout,_e=ae[n.id];n.updateRadialAxisTitle(ae,_e,g)}}function H(X,G){var N=cc.dot([X,-G],[Math.cos(d),Math.sin(d)]);if(P=p-E*N,E>0!=(r?P>x:P<b)){P=null;return}var W=i._fullLayout,re=W[n.id];c.range[r]=P,c._rl[r]=P,n.updateRadialAxis(W,re),n.xaxis.setRange(),n.xaxis.setScale(),n.yaxis.setRange(),n.yaxis.setScale();var ae=!1;for(var _e in n.traceHash){var Me=n.traceHash[_e],ke=cc.filterVisible(Me),ge=Me[0][0].trace._module;ge.plot(i,n,ke,re),gw.traceIs(_e,\"gl\")&&ke.length&&(ae=!0)}ae&&(wKe(i),TKe(i))}C.prepFn=function(){M=null,g=null,P=null,C.moveFn=T,C.doneFn=q,R$(i)},C.clampFn=function(X,G){return Math.sqrt(X*X+G*G)<Lx.MINDRAG&&(X=0,G=0),[X,G]},l9.init(C)};Fd.updateAngularDrag=function(e){var t=this,r=t.gd,n=t.layers,i=t.radius,a=t.angularAxis,o=t.cx,s=t.cy,l=t.cxx,u=t.cyy,c=Lx.angularDragBoxSize,f=y1.makeDragger(n,\"path\",\"angulardrag\",e.dragmode===!1?\"none\":\"move\"),h={element:f,gd:r};e.dragmode===!1?h.dragmode=!1:vw.select(f).attr(\"d\",t.pathAnnulus(i,i+c)).attr(\"transform\",dd(o,s)).call(bKe,\"move\");function d(P,T){return Math.atan2(u+c-T,P-l-c)}var v=n.frontplot.select(\".scatterlayer\").selectAll(\".trace\"),x=v.selectAll(\".point\"),b=v.selectAll(\".textpoint\"),p,E,k,A,L,_;function C(P,T){var F=t.gd._fullLayout,q=F[t.id],V=p+P*e._invScaleX,H=E+T*e._invScaleY,X=d(V,H),G=pw(X-_);if(A=k+G,n.frontplot.attr(\"transform\",dd(t.xOffset2,t.yOffset2)+ry([-G,l,u])),t.vangles){L=t.radialAxisAngle+G;var N=dd(o,s)+ry(-G),W=dd(o,s)+ry(-L);n.bg.attr(\"transform\",N),n[\"radial-grid\"].attr(\"transform\",N),n[\"radial-axis\"].attr(\"transform\",W),n[\"radial-line\"].select(\"line\").attr(\"transform\",W),t.updateRadialAxisTitle(F,q,L)}else t.clipPaths.forTraces.select(\"path\").attr(\"transform\",dd(l,u)+ry(G));x.each(function(){var ie=vw.select(this),Te=iC.getTranslate(ie);ie.attr(\"transform\",dd(Te.x,Te.y)+ry([G]))}),b.each(function(){var ie=vw.select(this),Te=ie.select(\"text\"),Ee=iC.getTranslate(ie);ie.attr(\"transform\",ry([G,Te.attr(\"x\"),Te.attr(\"y\")])+dd(Ee.x,Ee.y))}),a.rotation=cc.modHalf(A,360),t.updateAngularAxis(F,q),t._hasClipOnAxisFalse&&!cc.isFullCircle(t.sectorInRad)&&v.call(iC.hideOutsideRangePoints,t);var re=!1;for(var ae in t.traceHash)if(gw.traceIs(ae,\"gl\")){var _e=t.traceHash[ae],Me=cc.filterVisible(_e),ke=_e[0][0].trace._module;ke.plot(r,t,Me,q),Me.length&&(re=!0)}re&&(wKe(r),TKe(r));var ge={};M(ge),r.emit(\"plotly_relayouting\",ge)}function M(P){P[t.id+\".angularaxis.rotation\"]=A,t.vangles&&(P[t.id+\".radialaxis.angle\"]=L)}function g(){b.select(\"text\").attr(\"transform\",null);var P={};M(P),gw.call(\"_guiRelayout\",r,P)}h.prepFn=function(P,T,F){var q=e[t.id];k=q.angularaxis.rotation;var V=f.getBoundingClientRect();p=T-V.left,E=F-V.top,r._fullLayout._calcInverseTransform(r);var H=cc.apply3DTransform(e._invTransform)(p,E);p=H[0],E=H[1],_=d(p,E),h.moveFn=C,h.doneFn=g,R$(r)},t.vangles&&!cc.isFullCircle(t.sectorInRad)&&(h.prepFn=cc.noop,bKe(vw.select(f),null)),l9.init(h)};Fd.isPtInside=function(e){if(this.isSmith)return!0;var t=this.sectorInRad,r=this.vangles,n=this.angularAxis.c2g(e.theta),i=this.radialAxis,a=i.c2l(e.r),o=i._rl,s=r?_1.isPtInsidePolygon:cc.isPtInsideSector;return s(a,n,o,t,r)};Fd.pathArc=function(e){var t=this.sectorInRad,r=this.vangles,n=r?_1.pathPolygon:cc.pathArc;return n(e,t[0],t[1],r)};Fd.pathSector=function(e){var t=this.sectorInRad,r=this.vangles,n=r?_1.pathPolygon:cc.pathSector;return n(e,t[0],t[1],r)};Fd.pathAnnulus=function(e,t){var r=this.sectorInRad,n=this.vangles,i=n?_1.pathPolygonAnnulus:cc.pathAnnulus;return i(e,t,r[0],r[1],n)};Fd.pathSubplot=function(){var e=this.innerRadius,t=this.radius;return e?this.pathAnnulus(e,t):this.pathSector(t)};Fd.fillViewInitialKey=function(e,t){e in this.viewInitial||(this.viewInitial[e]=t)};function MKe(e){var t=e.ticks+String(e.ticklen)+String(e.showticklabels);return\"side\"in e&&(t+=e.side),t}function qKt(e){var t=e[0],r=e[1],n=r-t,i=AKe(t,360),a=i+n,o=Math.cos(Px(i)),s=Math.sin(Px(i)),l=Math.cos(Px(a)),u=Math.sin(Px(a)),c,f,h,d;return i<=90&&a>=90||i>90&&a>=450?d=1:s<=0&&u<=0?d=0:d=Math.max(s,u),i<=180&&a>=180||i>180&&a>=540?c=-1:o>=0&&l>=0?c=0:c=Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?f=-1:s>=0&&u>=0?f=0:f=Math.min(s,u),a>=360?h=1:o<=0&&l<=0?h=0:h=Math.max(o,l),[c,f,h,d]}function EKe(e,t){var r=function(i){return cc.angleDist(e,i)},n=cc.findIndexOfMin(t,r);return t[n]}function nC(e,t,r){return t?(e.attr(\"display\",null),e.attr(r)):e&&e.attr(\"display\",\"none\"),e}});var z$=ye((tbr,DKe)=>{\"use strict\";var OKt=dh(),Yo=Cd(),BKt=Ju().attributes,f0=Mr().extendFlat,CKe=Bu().overrideAll,LKe=CKe({color:Yo.color,showline:f0({},Yo.showline,{dflt:!0}),linecolor:Yo.linecolor,linewidth:Yo.linewidth,showgrid:f0({},Yo.showgrid,{dflt:!0}),gridcolor:Yo.gridcolor,gridwidth:Yo.gridwidth,griddash:Yo.griddash},\"plot\",\"from-root\"),PKe=CKe({tickmode:Yo.minor.tickmode,nticks:Yo.nticks,tick0:Yo.tick0,dtick:Yo.dtick,tickvals:Yo.tickvals,ticktext:Yo.ticktext,ticks:Yo.ticks,ticklen:Yo.ticklen,tickwidth:Yo.tickwidth,tickcolor:Yo.tickcolor,ticklabelstep:Yo.ticklabelstep,showticklabels:Yo.showticklabels,labelalias:Yo.labelalias,showtickprefix:Yo.showtickprefix,tickprefix:Yo.tickprefix,showticksuffix:Yo.showticksuffix,ticksuffix:Yo.ticksuffix,showexponent:Yo.showexponent,exponentformat:Yo.exponentformat,minexponent:Yo.minexponent,separatethousands:Yo.separatethousands,tickfont:Yo.tickfont,tickangle:Yo.tickangle,tickformat:Yo.tickformat,tickformatstops:Yo.tickformatstops,layer:Yo.layer},\"plot\",\"from-root\"),IKe={visible:f0({},Yo.visible,{dflt:!0}),type:f0({},Yo.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autotypenumbers:Yo.autotypenumbers,autorangeoptions:{minallowed:Yo.autorangeoptions.minallowed,maxallowed:Yo.autorangeoptions.maxallowed,clipmin:Yo.autorangeoptions.clipmin,clipmax:Yo.autorangeoptions.clipmax,include:Yo.autorangeoptions.include,editType:\"plot\"},autorange:f0({},Yo.autorange,{editType:\"plot\"}),rangemode:{valType:\"enumerated\",values:[\"tozero\",\"nonnegative\",\"normal\"],dflt:\"tozero\",editType:\"calc\"},minallowed:f0({},Yo.minallowed,{editType:\"plot\"}),maxallowed:f0({},Yo.maxallowed,{editType:\"plot\"}),range:f0({},Yo.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],editType:\"plot\"}),categoryorder:Yo.categoryorder,categoryarray:Yo.categoryarray,angle:{valType:\"angle\",editType:\"plot\"},autotickangles:Yo.autotickangles,side:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"clockwise\",editType:\"plot\"},title:{text:f0({},Yo.title.text,{editType:\"plot\",dflt:\"\"}),font:f0({},Yo.title.font,{editType:\"plot\"}),editType:\"plot\"},hoverformat:Yo.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"};f0(IKe,LKe,PKe);var RKe={visible:f0({},Yo.visible,{dflt:!0}),type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"category\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},autotypenumbers:Yo.autotypenumbers,categoryorder:Yo.categoryorder,categoryarray:Yo.categoryarray,thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\"],dflt:\"degrees\",editType:\"calc\"},period:{valType:\"number\",editType:\"calc\",min:0},direction:{valType:\"enumerated\",values:[\"counterclockwise\",\"clockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"angle\",editType:\"calc\"},hoverformat:Yo.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"};f0(RKe,LKe,PKe);DKe.exports={domain:BKt({name:\"polar\",editType:\"plot\"}),sector:{valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],dflt:[0,360],editType:\"plot\"},hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot\"},bgcolor:{valType:\"color\",editType:\"plot\",dflt:OKt.background},radialaxis:IKe,angularaxis:RKe,gridshape:{valType:\"enumerated\",values:[\"circular\",\"linear\"],dflt:\"circular\",editType:\"plot\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"}});var OKe=ye((rbr,qKe)=>{\"use strict\";var c9=Mr(),NKt=va(),UKt=Vs(),VKt=C_(),HKt=kd().getSubplotData,GKt=xb(),jKt=T3(),WKt=t_(),ZKt=r_(),XKt=eI(),YKt=YM(),KKt=hB(),JKt=L3(),FKe=z$(),$Kt=k$(),f9=i9(),zKe=f9.axisNames;function QKt(e,t,r,n){var i=r(\"bgcolor\");n.bgColor=NKt.combine(i,n.paper_bgcolor);var a=r(\"sector\");r(\"hole\");var o=HKt(n.fullData,f9.name,n.id),s=n.layoutOut,l;function u(G,N){return r(l+\".\"+G,N)}for(var c=0;c<zKe.length;c++){l=zKe[c],c9.isPlainObject(e[l])||(e[l]={});var f=e[l],h=UKt.newContainer(t,l);h._id=h._name=l,h._attr=n.id+\".\"+l,h._traceIndices=o.map(function(G){return G.index});var d=f9.axisName2dataArray[l],v=eJt(f,h,u,o,d,n);XKt(f,h,u,{axData:o,dataAttr:d});var x=u(\"visible\");switch($Kt(h,t,s),u(\"uirevision\",t.uirevision),h._m=1,l){case\"radialaxis\":u(\"minallowed\"),u(\"maxallowed\");var b=u(\"range\"),p=h.getAutorangeDflt(b),E=u(\"autorange\",p),k;b&&(b[0]===null&&b[1]===null||(b[0]===null||b[1]===null)&&(E===\"reversed\"||E===!0)||b[0]!==null&&(E===\"min\"||E===\"max reversed\")||b[1]!==null&&(E===\"max\"||E===\"min reversed\"))&&(b=void 0,delete h.range,h.autorange=!0,k=!0),k||(p=h.getAutorangeDflt(b),E=u(\"autorange\",p)),f.autorange=E,E&&(KKt(u,E,b),(v===\"linear\"||v===\"-\")&&u(\"rangemode\"),h.isReversed()&&(h._m=-1)),h.cleanRange(\"range\",{dfltRange:[0,1]});break;case\"angularaxis\":if(v===\"date\"){c9.log(\"Polar plots do not support date angular axes yet.\");for(var A=0;A<o.length;A++)o[A].visible=!1;v=f.type=h.type=\"linear\"}u(v===\"linear\"?\"thetaunit\":\"period\");var L=u(\"direction\");u(\"rotation\",{counterclockwise:0,clockwise:90}[L]);break}if(ZKt(f,h,u,h.type,{tickSuffixDflt:h.thetaunit===\"degrees\"?\"\\xB0\":void 0}),x){var _,C,M,g,P,T,F,q,V,H,X=n.font||{};_=u(\"color\"),C=_===f.color?_:X.color,M=X.size,g=X.family,P=X.weight,T=X.style,F=X.variant,q=X.textcase,V=X.lineposition,H=X.shadow,GKt(f,h,u,h.type),WKt(f,h,u,h.type,{font:{weight:P,style:T,variant:F,textcase:q,lineposition:V,shadow:H,color:C,size:M,family:g},noAutotickangles:l===\"angularaxis\",noTicklabelshift:!0,noTicklabelstandoff:!0}),jKt(f,h,u,{outerTicks:!0}),YKt(f,h,u,{dfltColor:_,bgColor:n.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:FKe[l]}),u(\"layer\"),l===\"radialaxis\"&&(u(\"side\"),u(\"angle\",a[0]),u(\"title.text\"),c9.coerceFont(u,\"title.font\",{weight:P,style:T,variant:F,textcase:q,lineposition:V,shadow:H,color:C,size:c9.bigFont(M),family:g}))}v!==\"category\"&&u(\"hoverformat\"),h._input=f}t.angularaxis.type===\"category\"&&r(\"gridshape\")}function eJt(e,t,r,n,i,a){var o=r(\"autotypenumbers\",a.autotypenumbersDflt),s=r(\"type\");if(s===\"-\"){for(var l,u=0;u<n.length;u++)if(n[u].visible){l=n[u];break}l&&l[i]&&(t.type=JKt(l[i],\"gregorian\",{noMultiCategory:!0,autotypenumbers:o})),t.type===\"-\"?t.type=\"linear\":e.type=t.type}return t.type}qKe.exports=function(t,r,n){VKt(t,r,n,{type:f9.name,attributes:FKe,handleDefaults:QKt,font:r.font,autotypenumbersDflt:r.autotypenumbers,paper_bgcolor:r.paper_bgcolor,fullData:n,layoutOut:r})}});var h9=ye((ibr,HKe)=>{\"use strict\";var tJt=kd().getSubplotCalcData,rJt=Mr().counterRegex,iJt=D$(),NKe=i9(),UKe=NKe.attr,mw=NKe.name,BKe=rJt(mw),VKe={};VKe[UKe]={valType:\"subplotid\",dflt:mw,editType:\"calc\"};function nJt(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[mw],i=0;i<n.length;i++){var a=n[i],o=tJt(r,mw,a),s=t[a]._subplot;s||(s=iJt(e,a),t[a]._subplot=s),s.plot(o,t,e._promises)}}function aJt(e,t,r,n){for(var i=n._subplots[mw]||[],a=n._has&&n._has(\"gl\"),o=t._has&&t._has(\"gl\"),s=a&&!o,l=0;l<i.length;l++){var u=i[l],c=n[u]._subplot;if(!t[u]&&c){c.framework.remove(),c.layers[\"radial-axis-title\"].remove();for(var f in c.clipPaths)c.clipPaths[f].remove()}s&&c._scene&&(c._scene.destroy(),c._scene=null)}}HKe.exports={attr:UKe,name:mw,idRoot:mw,idRegex:BKe,attrRegex:BKe,attributes:VKe,layoutAttributes:z$(),supplyLayoutDefaults:OKe(),plot:nJt,clean:aJt,toSVG:Jf().toSVG}});var aC=ye((nbr,GKe)=>{\"use strict\";var oJt=Wo().hovertemplateAttrs,sJt=Wo().texttemplateAttrs,d9=no().extendFlat,lJt=Eg(),h0=Uc(),uJt=vl(),GA=h0.line;GKe.exports={mode:h0.mode,r:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},theta:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},r0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dr:{valType:\"number\",dflt:1,editType:\"calc\"},theta0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dtheta:{valType:\"number\",editType:\"calc\"},thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\",\"gradians\"],dflt:\"degrees\",editType:\"calc+clearAxisTypes\"},text:h0.text,texttemplate:sJt({editType:\"plot\"},{keys:[\"r\",\"theta\",\"text\"]}),hovertext:h0.hovertext,line:{color:GA.color,width:GA.width,dash:GA.dash,backoff:GA.backoff,shape:d9({},GA.shape,{values:[\"linear\",\"spline\"]}),smoothing:GA.smoothing,editType:\"calc\"},connectgaps:h0.connectgaps,marker:h0.marker,cliponaxis:d9({},h0.cliponaxis,{dflt:!1}),textposition:h0.textposition,textfont:h0.textfont,fill:d9({},h0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:lJt(),hoverinfo:d9({},uJt.hoverinfo,{flags:[\"r\",\"theta\",\"text\",\"name\"]}),hoveron:h0.hoveron,hovertemplate:oJt(),selected:h0.selected,unselected:h0.unselected}});var p9=ye((abr,ZKe)=>{\"use strict\";var v9=Mr(),jA=lu(),cJt=$p(),fJt=R0(),jKe=J3(),hJt=D0(),dJt=Ig(),vJt=Sm().PTS_LINESONLY,pJt=aC();function gJt(e,t,r,n){function i(s,l){return v9.coerce(e,t,pJt,s,l)}var a=WKe(e,t,n,i);if(!a){t.visible=!1;return}i(\"thetaunit\"),i(\"mode\",a<vJt?\"lines+markers\":\"lines\"),i(\"text\"),i(\"hovertext\"),t.hoveron!==\"fills\"&&i(\"hovertemplate\"),jA.hasMarkers(t)&&cJt(e,t,r,n,i,{gradient:!0}),jA.hasLines(t)&&(fJt(e,t,r,n,i,{backoff:!0}),jKe(e,t,i),i(\"connectgaps\")),jA.hasText(t)&&(i(\"texttemplate\"),hJt(e,t,n,i));var o=[];(jA.hasMarkers(t)||jA.hasText(t))&&(i(\"cliponaxis\"),i(\"marker.maxdisplayed\"),o.push(\"points\")),i(\"fill\"),t.fill!==\"none\"&&(dJt(e,t,r,i),jA.hasLines(t)||jKe(e,t,i)),(t.fill===\"tonext\"||t.fill===\"toself\")&&o.push(\"fills\"),i(\"hoveron\",o.join(\"+\")||\"points\"),v9.coerceSelectionMarkerOpacity(t,i)}function WKe(e,t,r,n){var i=n(\"r\"),a=n(\"theta\");v9.isTypedArray(i)&&(t.r=i=Array.from(i)),v9.isTypedArray(a)&&(t.theta=a=Array.from(a));var o;if(i)a?o=Math.min(i.length,a.length):(o=i.length,n(\"theta0\"),n(\"dtheta\"));else{if(!a)return 0;o=t.theta.length,n(\"r0\"),n(\"dr\")}return t._length=o,o}ZKe.exports={handleRThetaDefaults:WKe,supplyDefaults:gJt}});var g9=ye((obr,YKe)=>{\"use strict\";var mJt=Mr(),XKe=Qa();YKe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o,s;a?(o=a.radialAxis,s=a.angularAxis):(a=n[r.subplot],o=a.radialaxis,s=a.angularaxis);var l=o.c2l(t.r);i.rLabel=XKe.tickText(o,l,!0).text;var u=s.thetaunit===\"degrees\"?mJt.rad2deg(t.theta):t.theta;return i.thetaLabel=XKe.tickText(s,u,!0).text,i}});var $Ke=ye((sbr,JKe)=>{\"use strict\";var KKe=uo(),yJt=es().BADNUM,_Jt=Qa(),xJt=z0(),bJt=km(),wJt=F0(),TJt=q0().calcMarkerSize;JKe.exports=function(t,r){for(var n=t._fullLayout,i=r.subplot,a=n[i].radialaxis,o=n[i].angularaxis,s=a.makeCalcdata(r,\"r\"),l=o.makeCalcdata(r,\"theta\"),u=r._length,c=new Array(u),f=0;f<u;f++){var h=s[f],d=l[f],v=c[f]={};KKe(h)&&KKe(d)?(v.r=h,v.theta=d):v.r=yJt}var x=TJt(r,u);return r._extremes.x=_Jt.findExtremes(a,s,{ppad:x}),xJt(t,r),bJt(c,r),wJt(c,r),c}});var tJe=ye((lbr,eJe)=>{\"use strict\";var AJt=iT(),QKe=es().BADNUM;eJe.exports=function(t,r,n){for(var i=r.layers.frontplot.select(\"g.scatterlayer\"),a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:r.framework,layerClipId:r._hasClipOnAxisFalse?r.clipIds.forTraces:null},l=r.radialAxis,u=r.angularAxis,c=0;c<n.length;c++)for(var f=n[c],h=0;h<f.length;h++){h===0&&(f[0].trace._xA=a,f[0].trace._yA=o);var d=f[h],v=d.r;if(v===QKe)d.x=d.y=QKe;else{var x=l.c2g(v),b=u.c2g(d.theta);d.x=x*Math.cos(b),d.y=x*Math.sin(b)}}AJt(t,s,n,i)}});var m9=ye((ubr,iJe)=>{\"use strict\";var SJt=sT();function MJt(e,t,r,n){var i=SJt(e,t,r,n);if(!(!i||i[0].index===!1)){var a=i[0];if(a.index===void 0)return i;var o=e.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtInside(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,rJe(s,l,o,a),a.hovertemplate=l.hovertemplate,i}}function rJe(e,t,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle=\"r\",a._hovertitle=\"\\u03B8\";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.rLabel=s.rLabel,n.thetaLabel=s.thetaLabel;var l=e.hi||t.hoverinfo,u=[];function c(h,d){u.push(h._hovertitle+\": \"+d)}if(!t.hovertemplate){var f=l.split(\"+\");f.indexOf(\"all\")!==-1&&(f=[\"r\",\"theta\",\"text\"]),f.indexOf(\"r\")!==-1&&c(i,n.rLabel),f.indexOf(\"theta\")!==-1&&c(a,n.thetaLabel),f.indexOf(\"text\")!==-1&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join(\"<br>\")}}iJe.exports={hoverPoints:MJt,makeHoverPointText:rJe}});var aJe=ye((cbr,nJe)=>{\"use strict\";nJe.exports={moduleType:\"trace\",name:\"scatterpolar\",basePlotModule:h9(),categories:[\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:aC(),supplyDefaults:p9().supplyDefaults,colorbar:Kd(),formatLabels:g9(),calc:$Ke(),plot:tJe(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:m9().hoverPoints,selectPoints:lT(),meta:{}}});var sJe=ye((fbr,oJe)=>{\"use strict\";oJe.exports=aJe()});var F$=ye((hbr,lJe)=>{\"use strict\";var Vp=aC(),x1=tk(),EJt=Wo().texttemplateAttrs;lJe.exports={mode:Vp.mode,r:Vp.r,theta:Vp.theta,r0:Vp.r0,dr:Vp.dr,theta0:Vp.theta0,dtheta:Vp.dtheta,thetaunit:Vp.thetaunit,text:Vp.text,texttemplate:EJt({editType:\"plot\"},{keys:[\"r\",\"theta\",\"text\"]}),hovertext:Vp.hovertext,hovertemplate:Vp.hovertemplate,line:{color:x1.line.color,width:x1.line.width,dash:x1.line.dash,editType:\"calc\"},connectgaps:x1.connectgaps,marker:x1.marker,fill:x1.fill,fillcolor:x1.fillcolor,textposition:x1.textposition,textfont:x1.textfont,hoverinfo:Vp.hoverinfo,selected:Vp.selected,unselected:Vp.unselected}});var fJe=ye((dbr,cJe)=>{\"use strict\";var uJe=Mr(),q$=lu(),kJt=p9().handleRThetaDefaults,CJt=$p(),LJt=R0(),PJt=D0(),IJt=Ig(),RJt=Sm().PTS_LINESONLY,DJt=F$();cJe.exports=function(t,r,n,i){function a(s,l){return uJe.coerce(t,r,DJt,s,l)}var o=kJt(t,r,i,a);if(!o){r.visible=!1;return}a(\"thetaunit\"),a(\"mode\",o<RJt?\"lines+markers\":\"lines\"),a(\"text\"),a(\"hovertext\"),r.hoveron!==\"fills\"&&a(\"hovertemplate\"),q$.hasMarkers(r)&&CJt(t,r,n,i,a,{noAngleRef:!0,noStandOff:!0}),q$.hasLines(r)&&(LJt(t,r,n,i,a),a(\"connectgaps\")),q$.hasText(r)&&(a(\"texttemplate\"),PJt(t,r,i,a,{noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0})),a(\"fill\"),r.fill!==\"none\"&&IJt(t,r,n,a),uJe.coerceSelectionMarkerOpacity(r,a)}});var dJe=ye((vbr,hJe)=>{\"use strict\";var zJt=g9();hJe.exports=function(t,r,n){var i=t.i;return\"r\"in t||(t.r=r._r[i]),\"theta\"in t||(t.theta=r._theta[i]),zJt(t,r,n)}});var pJe=ye((pbr,vJe)=>{\"use strict\";var FJt=z0(),qJt=q0().calcMarkerSize,OJt=Y2(),BJt=Qa(),NJt=sx().TOO_MANY_POINTS;vJe.exports=function(t,r){var n=t._fullLayout,i=r.subplot,a=n[i].radialaxis,o=n[i].angularaxis,s=r._r=a.makeCalcdata(r,\"r\"),l=r._theta=o.makeCalcdata(r,\"theta\"),u=r._length,c={};u<s.length&&(s=s.slice(0,u)),u<l.length&&(l=l.slice(0,u)),c.r=s,c.theta=l,FJt(t,r);var f=c.opts=OJt.style(t,r),h;return u<NJt?h=qJt(r,u):f.marker&&(h=2*(f.marker.sizeAvg||Math.max(f.marker.size,3))),r._extremes.x=BJt.findExtremes(a,s,{ppad:h}),[{x:!1,y:!1,t:c,trace:r}]}});var mJe=ye((gbr,gJe)=>{\"use strict\";var UJt=zz(),VJt=m9().makeHoverPointText;function HJt(e,t,r,n){var i=e.cd,a=i[0].t,o=a.r,s=a.theta,l=UJt.hoverPoints(e,t,r,n);if(!(!l||l[0].index===!1)){var u=l[0];if(u.index===void 0)return l;var c=e.subplot,f=u.cd[u.index],h=u.trace;if(f.r=o[u.index],f.theta=s[u.index],!!c.isPtInside(f))return u.xLabelVal=void 0,u.yLabelVal=void 0,VJt(f,h,c,u),l}}gJe.exports={hoverPoints:HJt}});var _Je=ye((mbr,yJe)=>{\"use strict\";yJe.exports={moduleType:\"trace\",name:\"scatterpolargl\",basePlotModule:h9(),categories:[\"gl\",\"regl\",\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:F$(),supplyDefaults:fJe(),colorbar:Kd(),formatLabels:dJe(),calc:pJe(),hoverPoints:mJe().hoverPoints,selectPoints:KX(),meta:{}}});var xJe=ye((ybr,O$)=>{\"use strict\";var GJt=Oz(),jJt=uo(),WJt=QY(),ZJt=ZX(),y9=Y2(),_9=Mr(),XJt=sx().TOO_MANY_POINTS,YJt={};O$.exports=function(t,r,n){if(n.length){var i=r.radialAxis,a=r.angularAxis,o=ZJt(t,r);return n.forEach(function(s){if(!(!s||!s[0]||!s[0].trace)){var l=s[0],u=l.trace,c=l.t,f=u._length,h=c.r,d=c.theta,v=c.opts,x,b=h.slice(),p=d.slice();for(x=0;x<h.length;x++)r.isPtInside({r:h[x],theta:d[x]})||(b[x]=NaN,p[x]=NaN);var E=new Array(f*2),k=Array(f),A=Array(f);for(x=0;x<f;x++){var L=b[x],_,C;if(jJt(L)){var M=i.c2g(L),g=a.c2g(p[x],u.thetaunit);_=M*Math.cos(g),C=M*Math.sin(g)}else _=C=NaN;k[x]=E[x*2]=_,A[x]=E[x*2+1]=C}c.tree=GJt(E),v.marker&&f>=XJt&&(v.marker.cluster=c.tree),v.marker&&(v.markerSel.positions=v.markerUnsel.positions=v.marker.positions=E),v.line&&E.length>1&&_9.extendFlat(v.line,y9.linePositions(t,u,E)),v.text&&(_9.extendFlat(v.text,{positions:E},y9.textPosition(t,u,v.text,v.marker)),_9.extendFlat(v.textSel,{positions:E},y9.textPosition(t,u,v.text,v.markerSel)),_9.extendFlat(v.textUnsel,{positions:E},y9.textPosition(t,u,v.text,v.markerUnsel))),v.fill&&!o.fill2d&&(o.fill2d=!0),v.marker&&!o.scatter2d&&(o.scatter2d=!0),v.line&&!o.line2d&&(o.line2d=!0),v.text&&!o.glText&&(o.glText=!0),o.lineOptions.push(v.line),o.fillOptions.push(v.fill),o.markerOptions.push(v.marker),o.markerSelectedOptions.push(v.markerSel),o.markerUnselectedOptions.push(v.markerUnsel),o.textOptions.push(v.text),o.textSelectedOptions.push(v.textSel),o.textUnselectedOptions.push(v.textUnsel),o.selectBatch.push([]),o.unselectBatch.push([]),c.x=k,c.y=A,c.rawx=k,c.rawy=A,c.r=h,c.theta=d,c.positions=E,c._scene=o,c.index=o.count,o.count++}}),WJt(t,r,n)}};O$.exports.reglPrecompiled=YJt});var TJe=ye((_br,wJe)=>{\"use strict\";var bJe=_Je();bJe.plot=xJe();wJe.exports=bJe});var SJe=ye((xbr,AJe)=>{\"use strict\";AJe.exports=TJe()});var B$=ye((bbr,MJe)=>{\"use strict\";var KJt=Wo().hovertemplateAttrs,WA=no().extendFlat,Ix=aC(),Rx=Lm();MJe.exports={r:Ix.r,theta:Ix.theta,r0:Ix.r0,dr:Ix.dr,theta0:Ix.theta0,dtheta:Ix.dtheta,thetaunit:Ix.thetaunit,base:WA({},Rx.base,{}),offset:WA({},Rx.offset,{}),width:WA({},Rx.width,{}),text:WA({},Rx.text,{}),hovertext:WA({},Rx.hovertext,{}),marker:JJt(),hoverinfo:Ix.hoverinfo,hovertemplate:KJt(),selected:Rx.selected,unselected:Rx.unselected};function JJt(){var e=WA({},Rx.marker);return delete e.cornerradius,e}});var N$=ye((wbr,EJe)=>{\"use strict\";EJe.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},bargap:{valType:\"number\",dflt:.1,min:0,max:1,editType:\"calc\"}}});var LJe=ye((Tbr,CJe)=>{\"use strict\";var kJe=Mr(),$Jt=p9().handleRThetaDefaults,QJt=FI(),e$t=B$();CJe.exports=function(t,r,n,i){function a(s,l){return kJe.coerce(t,r,e$t,s,l)}var o=$Jt(t,r,i,a);if(!o){r.visible=!1;return}a(\"thetaunit\"),a(\"base\"),a(\"offset\"),a(\"width\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),QJt(t,r,a,n,i),kJe.coerceSelectionMarkerOpacity(r,a)}});var IJe=ye((Abr,PJe)=>{\"use strict\";var t$t=Mr(),r$t=N$();PJe.exports=function(e,t,r){var n={},i;function a(l,u){return t$t.coerce(e[i]||{},t[i],r$t,l,u)}for(var o=0;o<r.length;o++){var s=r[o];s.type===\"barpolar\"&&s.visible===!0&&(i=s.subplot,n[i]||(a(\"barmode\"),a(\"bargap\"),n[i]=1))}}});var U$=ye((Sbr,zJe)=>{\"use strict\";var RJe=Dv().hasColorscale,DJe=zv(),i$t=Mr().isArrayOrTypedArray,n$t=c4(),a$t=Gb().setGroupPositions,o$t=F0(),s$t=ba().traceIs,l$t=Mr().extendFlat;function u$t(e,t){for(var r=e._fullLayout,n=t.subplot,i=r[n].radialaxis,a=r[n].angularaxis,o=i.makeCalcdata(t,\"r\"),s=a.makeCalcdata(t,\"theta\"),l=t._length,u=new Array(l),c=o,f=s,h=0;h<l;h++)u[h]={p:f[h],s:c[h]};function d(v){var x=t[v];x!==void 0&&(t[\"_\"+v]=i$t(x)?a.makeCalcdata(t,v):a.d2c(x,t.thetaunit))}return a.type===\"linear\"&&(d(\"width\"),d(\"offset\")),RJe(t,\"marker\")&&DJe(e,t,{vals:t.marker.color,containerStr:\"marker\",cLetter:\"c\"}),RJe(t,\"marker.line\")&&DJe(e,t,{vals:t.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}),n$t(u,t),o$t(u,t),u}function c$t(e,t,r){for(var n=e.calcdata,i=[],a=0;a<n.length;a++){var o=n[a],s=o[0].trace;s.visible===!0&&s$t(s,\"bar\")&&s.subplot===r&&i.push(o)}var l=l$t({},t.radialaxis,{_id:\"x\"}),u=t.angularaxis;a$t(e,u,l,i,{mode:t.barmode,norm:t.barnorm,gap:t.bargap,groupgap:t.bargroupgap})}zJe.exports={calc:u$t,crossTraceCalc:c$t}});var OJe=ye((Mbr,qJe)=>{\"use strict\";var FJe=xa(),x9=uo(),ZA=Mr(),f$t=ao(),V$=a9();qJe.exports=function(t,r,n){var i=t._context.staticPlot,a=r.xaxis,o=r.yaxis,s=r.radialAxis,l=r.angularAxis,u=h$t(r),c=r.layers.frontplot.select(\"g.barlayer\");ZA.makeTraceGroups(c,n,\"trace bars\").each(function(){var f=FJe.select(this),h=ZA.ensureSingle(f,\"g\",\"points\"),d=h.selectAll(\"g.point\").data(ZA.identity);d.enter().append(\"g\").style(\"vector-effect\",i?\"none\":\"non-scaling-stroke\").style(\"stroke-miterlimit\",2).classed(\"point\",!0),d.exit().remove(),d.each(function(v){var x=FJe.select(this),b=v.rp0=s.c2p(v.s0),p=v.rp1=s.c2p(v.s1),E=v.thetag0=l.c2g(v.p0),k=v.thetag1=l.c2g(v.p1),A;if(!x9(b)||!x9(p)||!x9(E)||!x9(k)||b===p||E===k)A=\"M0,0Z\";else{var L=s.c2g(v.s1),_=(E+k)/2;v.ct=[a.c2p(L*Math.cos(_)),o.c2p(L*Math.sin(_))],A=u(b,p,E,k)}ZA.ensureSingle(x,\"path\").attr(\"d\",A)}),f$t.setClipUrl(f,r._hasClipOnAxisFalse?r.clipIds.forTraces:null,t)})};function h$t(e){var t=e.cxx,r=e.cyy;return e.vangles?function(n,i,a,o){var s,l;ZA.angleDelta(a,o)>0?(s=a,l=o):(s=o,l=a);var u=V$.findEnclosingVertexAngles(s,e.vangles)[0],c=V$.findEnclosingVertexAngles(l,e.vangles)[1],f=[u,(s+l)/2,c];return V$.pathPolygonAnnulus(n,i,s,l,f,t,r)}:function(n,i,a,o){return ZA.pathAnnulus(n,i,a,o,t,r)}}});var NJe=ye((Ebr,BJe)=>{\"use strict\";var d$t=Nc(),H$=Mr(),v$t=TT().getTraceColor,p$t=H$.fillText,g$t=m9().makeHoverPointText,m$t=a9().isPtInsidePolygon;BJe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.subplot,s=o.radialAxis,l=o.angularAxis,u=o.vangles,c=u?m$t:H$.isPtInsideSector,f=t.maxHoverDistance,h=l._period||2*Math.PI,d=Math.abs(s.g2p(Math.sqrt(r*r+n*n))),v=Math.atan2(n,r);s.range[0]>s.range[1]&&(v+=Math.PI);var x=function(k){return c(d,v,[k.rp0,k.rp1],[k.thetag0,k.thetag1],u)?f+Math.min(1,Math.abs(k.thetag1-k.thetag0)/h)-1+(k.rp1-d)/(k.rp1-k.rp0)-1:1/0};if(d$t.getClosest(i,x,t),t.index!==!1){var b=t.index,p=i[b];t.x0=t.x1=p.ct[0],t.y0=t.y1=p.ct[1];var E=H$.extendFlat({},p,{r:p.s,theta:p.p});return p$t(p,a,t),g$t(E,a,o,t),t.hovertemplate=a.hovertemplate,t.color=v$t(a,p),t.xLabelVal=t.yLabelVal=void 0,p.s<0&&(t.idealAlign=\"left\"),[t]}}});var VJe=ye((kbr,UJe)=>{\"use strict\";UJe.exports={moduleType:\"trace\",name:\"barpolar\",basePlotModule:h9(),categories:[\"polar\",\"bar\",\"showLegend\"],attributes:B$(),layoutAttributes:N$(),supplyDefaults:LJe(),supplyLayoutDefaults:IJe(),calc:U$().calc,crossTraceCalc:U$().crossTraceCalc,plot:OJe(),colorbar:Kd(),formatLabels:g9(),style:N0().style,styleOnSelect:N0().styleOnSelect,hoverPoints:NJe(),selectPoints:AT(),meta:{}}});var GJe=ye((Cbr,HJe)=>{\"use strict\";HJe.exports=VJe()});var G$=ye((Lbr,jJe)=>{\"use strict\";jJe.exports={attr:\"subplot\",name:\"smith\",axisNames:[\"realaxis\",\"imaginaryaxis\"],axisName2dataArray:{imaginaryaxis:\"imag\",realaxis:\"real\"}}});var j$=ye((Pbr,YJe)=>{\"use strict\";var y$t=dh(),Mf=Cd(),_$t=Ju().attributes,Dx=Mr().extendFlat,WJe=Bu().overrideAll,ZJe=WJe({color:Mf.color,showline:Dx({},Mf.showline,{dflt:!0}),linecolor:Mf.linecolor,linewidth:Mf.linewidth,showgrid:Dx({},Mf.showgrid,{dflt:!0}),gridcolor:Mf.gridcolor,gridwidth:Mf.gridwidth,griddash:Mf.griddash},\"plot\",\"from-root\"),XJe=WJe({ticklen:Mf.ticklen,tickwidth:Dx({},Mf.tickwidth,{dflt:2}),tickcolor:Mf.tickcolor,showticklabels:Mf.showticklabels,labelalias:Mf.labelalias,showtickprefix:Mf.showtickprefix,tickprefix:Mf.tickprefix,showticksuffix:Mf.showticksuffix,ticksuffix:Mf.ticksuffix,tickfont:Mf.tickfont,tickformat:Mf.tickformat,hoverformat:Mf.hoverformat,layer:Mf.layer},\"plot\",\"from-root\"),x$t=Dx({visible:Dx({},Mf.visible,{dflt:!0}),tickvals:{dflt:[.2,.5,1,2,5],valType:\"data_array\",editType:\"plot\"},tickangle:Dx({},Mf.tickangle,{dflt:90}),ticks:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"\"],editType:\"ticks\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},editType:\"calc\"},ZJe,XJe),b$t=Dx({visible:Dx({},Mf.visible,{dflt:!0}),tickvals:{valType:\"data_array\",editType:\"plot\"},ticks:Mf.ticks,editType:\"calc\"},ZJe,XJe);YJe.exports={domain:_$t({name:\"smith\",editType:\"plot\"}),bgcolor:{valType:\"color\",editType:\"plot\",dflt:y$t.background},realaxis:x$t,imaginaryaxis:b$t,editType:\"calc\"}});var $Je=ye((Ibr,JJe)=>{\"use strict\";var XA=Mr(),w$t=va(),T$t=Vs(),A$t=C_(),S$t=kd().getSubplotData,M$t=r_(),E$t=t_(),k$t=YM(),C$t=ym(),YA=j$(),W$=G$(),KJe=W$.axisNames,L$t=I$t(function(e){return XA.isTypedArray(e)&&(e=Array.from(e)),e.slice().reverse().map(function(t){return-t}).concat([0]).concat(e)},String);function P$t(e,t,r,n){var i=r(\"bgcolor\");n.bgColor=w$t.combine(i,n.paper_bgcolor);var a=S$t(n.fullData,W$.name,n.id),o=n.layoutOut,s;function l(L,_){return r(s+\".\"+L,_)}for(var u=0;u<KJe.length;u++){s=KJe[u],XA.isPlainObject(e[s])||(e[s]={});var c=e[s],f=T$t.newContainer(t,s);f._id=f._name=s,f._attr=n.id+\".\"+s,f._traceIndices=a.map(function(L){return L.index});var h=l(\"visible\");if(f.type=\"linear\",C$t(f,o),M$t(c,f,l,f.type),h){var d=s===\"realaxis\";if(d&&l(\"side\"),d)l(\"tickvals\");else{var v=L$t(t.realaxis.tickvals||YA.realaxis.tickvals.dflt);l(\"tickvals\",v)}XA.isTypedArray(f.tickvals)&&(f.tickvals=Array.from(f.tickvals));var x,b,p,E,k=n.font||{};h&&(x=l(\"color\"),b=x===c.color?x:k.color,p=k.size,E=k.family),E$t(c,f,l,f.type,{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,noTicklabelstep:!0,noAng:!d,noExp:!0,font:{color:b,size:p,family:E}}),XA.coerce2(e,t,YA,s+\".ticklen\"),XA.coerce2(e,t,YA,s+\".tickwidth\"),XA.coerce2(e,t,YA,s+\".tickcolor\",t.color);var A=l(\"ticks\");A||(delete t[s].ticklen,delete t[s].tickwidth,delete t[s].tickcolor),k$t(c,f,l,{dfltColor:x,bgColor:n.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:YA[s]}),l(\"layer\")}l(\"hoverformat\"),delete f.type,f._input=c}}JJe.exports=function(t,r,n){A$t(t,r,n,{noUirevision:!0,type:W$.name,attributes:YA,handleDefaults:P$t,font:r.font,paper_bgcolor:r.paper_bgcolor,fullData:n,layoutOut:r})};function I$t(e,t){var r={};return function(n){var i=t?t(n):n;if(i in r)return r[i];var a=e(n);return r[i]=a,a}}});var n$e=ye((Rbr,i$e)=>{\"use strict\";var R$t=kd().getSubplotCalcData,D$t=Mr().counterRegex,z$t=D$(),e$e=G$(),t$e=e$e.attr,yw=e$e.name,QJe=D$t(yw),r$e={};r$e[t$e]={valType:\"subplotid\",dflt:yw,editType:\"calc\"};function F$t(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[yw],i=0;i<n.length;i++){var a=n[i],o=R$t(r,yw,a),s=t[a]._subplot;s||(s=z$t(e,a,!0),t[a]._subplot=s),s.plot(o,t,e._promises)}}function q$t(e,t,r,n){for(var i=n._subplots[yw]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;if(!t[o]&&s){s.framework.remove();for(var l in s.clipPaths)s.clipPaths[l].remove()}}}i$e.exports={attr:t$e,name:yw,idRoot:yw,idRegex:QJe,attrRegex:QJe,attributes:r$e,layoutAttributes:j$(),supplyLayoutDefaults:$Je(),plot:F$t,clean:q$t,toSVG:Jf().toSVG}});var Z$=ye((Dbr,a$e)=>{\"use strict\";var O$t=Wo().hovertemplateAttrs,B$t=Wo().texttemplateAttrs,b9=no().extendFlat,N$t=Eg(),d0=Uc(),U$t=vl(),KA=d0.line;a$e.exports={mode:d0.mode,real:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},imag:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},text:d0.text,texttemplate:B$t({editType:\"plot\"},{keys:[\"real\",\"imag\",\"text\"]}),hovertext:d0.hovertext,line:{color:KA.color,width:KA.width,dash:KA.dash,backoff:KA.backoff,shape:b9({},KA.shape,{values:[\"linear\",\"spline\"]}),smoothing:KA.smoothing,editType:\"calc\"},connectgaps:d0.connectgaps,marker:d0.marker,cliponaxis:b9({},d0.cliponaxis,{dflt:!1}),textposition:d0.textposition,textfont:d0.textfont,fill:b9({},d0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:N$t(),hoverinfo:b9({},U$t.hoverinfo,{flags:[\"real\",\"imag\",\"text\",\"name\"]}),hoveron:d0.hoveron,hovertemplate:O$t(),selected:d0.selected,unselected:d0.unselected}});var l$e=ye((zbr,s$e)=>{\"use strict\";var w9=Mr(),JA=lu(),V$t=$p(),H$t=R0(),o$e=J3(),G$t=D0(),j$t=Ig(),W$t=Sm().PTS_LINESONLY,Z$t=Z$();s$e.exports=function(t,r,n,i){function a(l,u){return w9.coerce(t,r,Z$t,l,u)}var o=X$t(t,r,i,a);if(!o){r.visible=!1;return}a(\"mode\",o<W$t?\"lines+markers\":\"lines\"),a(\"text\"),a(\"hovertext\"),r.hoveron!==\"fills\"&&a(\"hovertemplate\"),JA.hasMarkers(r)&&V$t(t,r,n,i,a,{gradient:!0}),JA.hasLines(r)&&(H$t(t,r,n,i,a,{backoff:!0}),o$e(t,r,a),a(\"connectgaps\")),JA.hasText(r)&&(a(\"texttemplate\"),G$t(t,r,i,a));var s=[];(JA.hasMarkers(r)||JA.hasText(r))&&(a(\"cliponaxis\"),a(\"marker.maxdisplayed\"),s.push(\"points\")),a(\"fill\"),r.fill!==\"none\"&&(j$t(t,r,n,a),JA.hasLines(r)||o$e(t,r,a)),(r.fill===\"tonext\"||r.fill===\"toself\")&&s.push(\"fills\"),a(\"hoveron\",s.join(\"+\")||\"points\"),w9.coerceSelectionMarkerOpacity(r,a)};function X$t(e,t,r,n){var i=n(\"real\"),a=n(\"imag\"),o;return i&&a&&(o=Math.min(i.length,a.length)),w9.isTypedArray(i)&&(t.real=i=Array.from(i)),w9.isTypedArray(a)&&(t.imag=a=Array.from(a)),t._length=o,o}});var f$e=ye((Fbr,c$e)=>{\"use strict\";var u$e=Qa();c$e.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot;return i.realLabel=u$e.tickText(a.radialAxis,t.real,!0).text,i.imagLabel=u$e.tickText(a.angularAxis,t.imag,!0).text,i}});var v$e=ye((qbr,d$e)=>{\"use strict\";var h$e=uo(),Y$t=es().BADNUM,K$t=z0(),J$t=km(),$$t=F0(),Q$t=q0().calcMarkerSize;d$e.exports=function(t,r){for(var n=t._fullLayout,i=r.subplot,a=n[i].realaxis,o=n[i].imaginaryaxis,s=a.makeCalcdata(r,\"real\"),l=o.makeCalcdata(r,\"imag\"),u=r._length,c=new Array(u),f=0;f<u;f++){var h=s[f],d=l[f],v=c[f]={};h$e(h)&&h$e(d)?(v.real=h,v.imag=d):v.real=Y$t}return Q$t(r,u),K$t(t,r),J$t(c,r),$$t(c,r),c}});var m$e=ye((Obr,g$e)=>{\"use strict\";var eQt=iT(),p$e=es().BADNUM,tQt=P$(),rQt=tQt.smith;g$e.exports=function(t,r,n){for(var i=r.layers.frontplot.select(\"g.scatterlayer\"),a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:r.framework,layerClipId:r._hasClipOnAxisFalse?r.clipIds.forTraces:null},l=0;l<n.length;l++)for(var u=n[l],c=0;c<u.length;c++){c===0&&(u[0].trace._xA=a,u[0].trace._yA=o);var f=u[c],h=f.real;if(h===p$e)f.x=f.y=p$e;else{var d=rQt([h,f.imag]);f.x=d[0],f.y=d[1]}}eQt(t,s,n,i)}});var x$e=ye((Bbr,_$e)=>{\"use strict\";var iQt=sT();function nQt(e,t,r,n){var i=iQt(e,t,r,n);if(!(!i||i[0].index===!1)){var a=i[0];if(a.index===void 0)return i;var o=e.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtInside(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,y$e(s,l,o,a),a.hovertemplate=l.hovertemplate,i}}function y$e(e,t,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle=\"real\",a._hovertitle=\"imag\";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.realLabel=s.realLabel,n.imagLabel=s.imagLabel;var l=e.hi||t.hoverinfo,u=[];function c(h,d){u.push(h._hovertitle+\": \"+d)}if(!t.hovertemplate){var f=l.split(\"+\");f.indexOf(\"all\")!==-1&&(f=[\"real\",\"imag\",\"text\"]),f.indexOf(\"real\")!==-1&&c(i,n.realLabel),f.indexOf(\"imag\")!==-1&&c(a,n.imagLabel),f.indexOf(\"text\")!==-1&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join(\"<br>\")}}_$e.exports={hoverPoints:nQt,makeHoverPointText:y$e}});var w$e=ye((Nbr,b$e)=>{\"use strict\";b$e.exports={moduleType:\"trace\",name:\"scattersmith\",basePlotModule:n$e(),categories:[\"smith\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:Z$(),supplyDefaults:l$e(),colorbar:Kd(),formatLabels:f$e(),calc:v$e(),plot:m$e(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:x$e().hoverPoints,selectPoints:lT(),meta:{}}});var A$e=ye((Ubr,T$e)=>{\"use strict\";T$e.exports=w$e()});var Sv=ye((Vbr,M$e)=>{var A9=bh();function S$e(){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={}}A9(S$e.prototype,{instance:function(e,t){e=(e||\"gregorian\").toLowerCase(),t=t||\"\";var r=this._localCals[e+\"-\"+t];if(!r&&this.calendars[e]&&(r=new this.calendars[e](t),this._localCals[e+\"-\"+t]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[\"\"].invalidCalendar).replace(/\\{0\\}/,e);return r},newDate:function(e,t,r,n,i){return n=(e!=null&&e.year?e.calendar():typeof n==\"string\"?this.instance(n,i):n)||this.instance(),n.newDate(e,t,r)},substituteDigits:function(e){return function(t){return(t+\"\").replace(/[0-9]/g,function(r){return e[r]})}},substituteChineseDigits:function(e,t){return function(r){for(var n=\"\",i=0;r>0;){var a=r%10;n=(a===0?\"\":e[a]+t[i])+n,i++,r=Math.floor(r/10)}return n.indexOf(e[1]+t[1])===0&&(n=n.substr(1)),n||e[0]}}});function X$(e,t,r,n){if(this._calendar=e,this._year=t,this._month=r,this._day=n,this._calendar._validateLevel===0&&!this._calendar.isValid(this._year,this._month,this._day))throw(Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name)}function T9(e,t){return e=\"\"+e,\"000000\".substring(0,t-e.length)+e}A9(X$.prototype,{newDate:function(e,t,r){return this._calendar.newDate(e==null?this:e,t,r)},year:function(e){return arguments.length===0?this._year:this.set(e,\"y\")},month:function(e){return arguments.length===0?this._month:this.set(e,\"m\")},day:function(e){return arguments.length===0?this._day:this.set(e,\"d\")},date:function(e,t,r){if(!this._calendar.isValid(e,t,r))throw(Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name);return this._year=e,this._month=t,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(e,t){return this._calendar.add(this,e,t)},set:function(e,t){return this._calendar.set(this,e,t)},compareTo:function(e){if(this._calendar.name!==e._calendar.name)throw(Es.local.differentCalendars||Es.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this._calendar.local.name).replace(/\\{1\\}/,e._calendar.local.name);var t=this._year!==e._year?this._year-e._year:this._month!==e._month?this.monthOfYear()-e.monthOfYear():this._day-e._day;return t===0?0:t<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(e){return this._calendar.fromJD(e)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(e){return this._calendar.fromJSDate(e)},toString:function(){return(this.year()<0?\"-\":\"\")+T9(Math.abs(this.year()),4)+\"-\"+T9(this.month(),2)+\"-\"+T9(this.day(),2)}});function Y$(){this.shortYearCutoff=\"+10\"}A9(Y$.prototype,{_validateLevel:0,newDate:function(e,t,r){return e==null?this.today():(e.year&&(this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),r=e.day(),t=e.month(),e=e.year()),new X$(this,e,t,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(e){var t=this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear);return t.year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear);return(t.year()<0?\"-\":\"\")+T9(Math.abs(t.year()),4)},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear),12},monthOfYear:function(e,t){var r=this._validate(e,t,this.minDay,Es.local.invalidMonth||Es.regionalOptions[\"\"].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(e,t){var r=(t+this.firstMonth-2*this.minMonth)%this.monthsInYear(e)+this.minMonth;return this._validate(e,r,this.minDay,Es.local.invalidMonth||Es.regionalOptions[\"\"].invalidMonth),r},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear);return this.leapYear(t)?366:365},dayOfYear:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(e,t,r){return this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),{}},add:function(e,t,r){return this._validate(e,this.minMonth,this.minDay,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),this._correctAdd(e,this._add(e,t,r),t,r)},_add:function(e,t,r){if(this._validateLevel++,r===\"d\"||r===\"w\"){var n=e.toJD()+t*(r===\"w\"?this.daysInWeek():1),i=e.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=e.year()+(r===\"y\"?t:0),o=e.monthOfYear()+(r===\"m\"?t:0),i=e.day(),s=function(c){for(;o<c.minMonth;)a--,o+=c.monthsInYear(a);for(var f=c.monthsInYear(a);o>f-1+c.minMonth;)a++,o-=f,f=c.monthsInYear(a)};r===\"y\"?(e.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,e.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):r===\"m\"&&(s(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var l=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,l}catch(u){throw this._validateLevel--,u}},_correctAdd:function(e,t,r,n){if(!this.hasYearZero&&(n===\"y\"||n===\"m\")&&(t[0]===0||e.year()>0!=t[0]>0)){var i={y:[1,1,\"y\"],m:[1,this.monthsInYear(-1),\"m\"],w:[this.daysInWeek(),this.daysInYear(-1),\"d\"],d:[1,this.daysInYear(-1),\"d\"]}[n],a=r<0?-1:1;t=this._add(e,r*i[0]+a*i[1],i[2])}return e.date(t[0],t[1],t[2])},set:function(e,t,r){this._validate(e,this.minMonth,this.minDay,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);var n=r===\"y\"?t:e.year(),i=r===\"m\"?t:e.month(),a=r===\"d\"?t:e.day();return(r===\"y\"||r===\"m\")&&(a=Math.min(a,this.daysInMonth(n,i))),e.date(n,i,a)},isValid:function(e,t,r){this._validateLevel++;var n=this.hasYearZero||e!==0;if(n){var i=this.newDate(e,t,this.minDay);n=t>=this.minMonth&&t-this.minMonth<this.monthsInYear(i)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(i)}return this._validateLevel--,n},toJSDate:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);return Es.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(e){return this.fromJD(Es.instance().fromJSDate(e).toJD())},_validate:function(e,t,r,n){if(e.year){if(this._validateLevel===0&&this.name!==e.calendar().name)throw(Es.local.differentCalendars||Es.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this.local.name).replace(/\\{1\\}/,e.calendar().local.name);return e}try{if(this._validateLevel++,this._validateLevel===1&&!this.isValid(e,t,r))throw n.replace(/\\{0\\}/,this.local.name);var i=this.newDate(e,t,r);return this._validateLevel--,i}catch(a){throw this._validateLevel--,a}}});function K$(e){this.local=this.regionalOptions[e]||this.regionalOptions[\"\"]}K$.prototype=new Y$;A9(K$.prototype,{name:\"Gregorian\",jdEpoch:17214255e-1,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Gregorian\",epochs:[\"BCE\",\"CE\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"mm/dd/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===0&&(r%100!==0||r%400===0)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Es.local.invalidMonth||Es.regionalOptions[\"\"].invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);e=n.year(),t=n.month(),r=n.day(),e<0&&e++,t<3&&(t+=12,e--);var i=Math.floor(e/100),a=2-i+Math.floor(i/4);return Math.floor(365.25*(e+4716))+Math.floor(30.6001*(t+1))+r+a-1524.5},fromJD:function(e){var t=Math.floor(e+.5),r=Math.floor((t-186721625e-2)/36524.25);r=t+1+r-Math.floor(r/4);var n=r+1524,i=Math.floor((n-122.1)/365.25),a=Math.floor(365.25*i),o=Math.floor((n-a)/30.6001),s=n-a-Math.floor(o*30.6001),l=o-(o>13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(e){return this.newDate(e.getFullYear(),e.getMonth()+1,e.getDate())}});var Es=M$e.exports=new S$e;Es.cdate=X$;Es.baseCalendar=Y$;Es.calendars.gregorian=K$});var E$e=ye(()=>{var J$=bh(),qd=Sv();J$(qd.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\"});qd.local=qd.regionalOptions[\"\"];J$(qd.cdate.prototype,{formatDate:function(e,t){return typeof e!=\"string\"&&(t=e,e=\"\"),this._calendar.formatDate(e||\"\",this,t)}});J$(qd.baseCalendar.prototype,{UNIX_EPOCH:qd.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:24*60*60,TICKS_EPOCH:qd.instance().jdEpoch,TICKS_PER_DAY:24*60*60*1e7,ATOM:\"yyyy-mm-dd\",COOKIE:\"D, dd M yyyy\",FULL:\"DD, MM d, yyyy\",ISO_8601:\"yyyy-mm-dd\",JULIAN:\"J\",RFC_822:\"D, d M yy\",RFC_850:\"DD, dd-M-yy\",RFC_1036:\"D, d M yy\",RFC_1123:\"D, d M yyyy\",RFC_2822:\"D, d M yyyy\",RSS:\"D, d M yy\",TICKS:\"!\",TIMESTAMP:\"@\",W3C:\"yyyy-mm-dd\",formatDate:function(e,t,r){if(typeof e!=\"string\"&&(r=t,t=e,e=\"\"),!t)return\"\";if(t.calendar()!==this)throw qd.local.invalidFormat||qd.regionalOptions[\"\"].invalidFormat;e=e||this.local.dateFormat,r=r||{};for(var n=r.dayNamesShort||this.local.dayNamesShort,i=r.dayNames||this.local.dayNames,a=r.monthNumbers||this.local.monthNumbers,o=r.monthNamesShort||this.local.monthNamesShort,s=r.monthNames||this.local.monthNames,l=r.calculateWeek||this.local.calculateWeek,u=function(A,L){for(var _=1;k+_<e.length&&e.charAt(k+_)===A;)_++;return k+=_-1,Math.floor(_/(L||1))>1},c=function(A,L,_,C){var M=\"\"+L;if(u(A,C))for(;M.length<_;)M=\"0\"+M;return M},f=function(A,L,_,C){return u(A)?C[L]:_[L]},h=this,d=function(A){return typeof a==\"function\"?a.call(h,A,u(\"m\")):b(c(\"m\",A.month(),2))},v=function(A,L){return L?typeof s==\"function\"?s.call(h,A):s[A.month()-h.minMonth]:typeof o==\"function\"?o.call(h,A):o[A.month()-h.minMonth]},x=this.local.digits,b=function(A){return r.localNumbers&&x?x(A):A},p=\"\",E=!1,k=0;k<e.length;k++)if(E)e.charAt(k)===\"'\"&&!u(\"'\")?E=!1:p+=e.charAt(k);else switch(e.charAt(k)){case\"d\":p+=b(c(\"d\",t.day(),2));break;case\"D\":p+=f(\"D\",t.dayOfWeek(),n,i);break;case\"o\":p+=c(\"o\",t.dayOfYear(),3);break;case\"w\":p+=c(\"w\",t.weekOfYear(),2);break;case\"m\":p+=d(t);break;case\"M\":p+=v(t,u(\"M\"));break;case\"y\":p+=u(\"y\",2)?t.year():(t.year()%100<10?\"0\":\"\")+t.year()%100;break;case\"Y\":u(\"Y\",2),p+=t.formatYear();break;case\"J\":p+=t.toJD();break;case\"@\":p+=(t.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case\"!\":p+=(t.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case\"'\":u(\"'\")?p+=\"'\":E=!0;break;default:p+=e.charAt(k)}return p},parseDate:function(e,t,r){if(t==null)throw qd.local.invalidArguments||qd.regionalOptions[\"\"].invalidArguments;if(t=typeof t==\"object\"?t.toString():t+\"\",t===\"\")return null;e=e||this.local.dateFormat,r=r||{};var n=r.shortYearCutoff||this.shortYearCutoff;n=typeof n!=\"string\"?n:this.today().year()%100+parseInt(n,10);for(var i=r.dayNamesShort||this.local.dayNamesShort,a=r.dayNames||this.local.dayNames,o=r.parseMonth||this.local.parseMonth,s=r.monthNumbers||this.local.monthNumbers,l=r.monthNamesShort||this.local.monthNamesShort,u=r.monthNames||this.local.monthNames,c=-1,f=-1,h=-1,d=-1,v=-1,x=!1,b=!1,p=function(F,q){for(var V=1;g+V<e.length&&e.charAt(g+V)===F;)V++;return g+=V-1,Math.floor(V/(q||1))>1},E=function(F,q){var V=p(F,q),H=[2,3,V?4:2,V?4:2,10,11,20][\"oyYJ@!\".indexOf(F)+1],X=new RegExp(\"^-?\\\\d{1,\"+H+\"}\"),G=t.substring(M).match(X);if(!G)throw(qd.local.missingNumberAt||qd.regionalOptions[\"\"].missingNumberAt).replace(/\\{0\\}/,M);return M+=G[0].length,parseInt(G[0],10)},k=this,A=function(){if(typeof s==\"function\"){p(\"m\");var F=s.call(k,t.substring(M));return M+=F.length,F}return E(\"m\")},L=function(F,q,V,H){for(var X=p(F,H)?V:q,G=0;G<X.length;G++)if(t.substr(M,X[G].length).toLowerCase()===X[G].toLowerCase())return M+=X[G].length,G+k.minMonth;throw(qd.local.unknownNameAt||qd.regionalOptions[\"\"].unknownNameAt).replace(/\\{0\\}/,M)},_=function(){if(typeof u==\"function\"){var F=p(\"M\")?u.call(k,t.substring(M)):l.call(k,t.substring(M));return M+=F.length,F}return L(\"M\",l,u)},C=function(){if(t.charAt(M)!==e.charAt(g))throw(qd.local.unexpectedLiteralAt||qd.regionalOptions[\"\"].unexpectedLiteralAt).replace(/\\{0\\}/,M);M++},M=0,g=0;g<e.length;g++)if(b)e.charAt(g)===\"'\"&&!p(\"'\")?b=!1:C();else switch(e.charAt(g)){case\"d\":d=E(\"d\");break;case\"D\":L(\"D\",i,a);break;case\"o\":v=E(\"o\");break;case\"w\":E(\"w\");break;case\"m\":h=A();break;case\"M\":h=_();break;case\"y\":var P=g;x=!p(\"y\",2),g=P,f=E(\"y\",2);break;case\"Y\":f=E(\"Y\",2);break;case\"J\":c=E(\"J\")+.5,t.charAt(M)===\".\"&&(M++,E(\"J\"));break;case\"@\":c=E(\"@\")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case\"!\":c=E(\"!\")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case\"*\":M=t.length;break;case\"'\":p(\"'\")?C():b=!0;break;default:C()}if(M<t.length)throw qd.local.unexpectedText||qd.regionalOptions[\"\"].unexpectedText;if(f===-1?f=this.today().year():f<100&&x&&(f+=n===-1?1900:this.today().year()-this.today().year()%100-(f<=n?0:100)),typeof h==\"string\"&&(h=o.call(this,f,h)),v>-1){h=1,d=v;for(var T=this.daysInMonth(f,h);d>T;T=this.daysInMonth(f,h))h++,d-=T}return c>-1?this.fromJD(c):this.newDate(f,h,d)},determineDate:function(e,t,r,n,i){r&&typeof r!=\"object\"&&(i=n,n=r,r=null),typeof n!=\"string\"&&(i=n,n=\"\");var a=this,o=function(s){try{return a.parseDate(n,s,i)}catch(f){}s=s.toLowerCase();for(var l=(s.match(/^c/)&&r?r.newDate():null)||a.today(),u=/([+-]?[0-9]+)\\s*(d|w|m|y)?/g,c=u.exec(s);c;)l.add(parseInt(c[1],10),c[2]||\"d\"),c=u.exec(s);return l};return t=t?t.newDate():null,e=e==null?t:typeof e==\"string\"?o(e):typeof e==\"number\"?isNaN(e)||e===1/0||e===-1/0?t:a.today().add(e,\"d\"):a.newDate(e),e}})});var k$e=ye(()=>{var zx=Sv(),aQt=bh(),$$=zx.instance();function S9(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}S9.prototype=new zx.baseCalendar;aQt(S9.prototype,{name:\"Chinese\",jdEpoch:17214255e-1,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{\"\":{name:\"Chinese\",epochs:[\"BEC\",\"EC\"],monthNumbers:function(e,t){if(typeof e==\"string\"){var r=e.match(sQt);return r?r[0]:\"\"}var n=this._validateYear(e),i=e.month(),a=\"\"+this.toChineseMonth(n,i);return t&&a.length<2&&(a=\"0\"+a),this.isIntercalaryMonth(n,i)&&(a+=\"i\"),a},monthNames:function(e){if(typeof e==\"string\"){var t=e.match(lQt);return t?t[0]:\"\"}var r=this._validateYear(e),n=e.month(),i=this.toChineseMonth(r,n),a=[\"\\u4E00\\u6708\",\"\\u4E8C\\u6708\",\"\\u4E09\\u6708\",\"\\u56DB\\u6708\",\"\\u4E94\\u6708\",\"\\u516D\\u6708\",\"\\u4E03\\u6708\",\"\\u516B\\u6708\",\"\\u4E5D\\u6708\",\"\\u5341\\u6708\",\"\\u5341\\u4E00\\u6708\",\"\\u5341\\u4E8C\\u6708\"][i-1];return this.isIntercalaryMonth(r,n)&&(a=\"\\u95F0\"+a),a},monthNamesShort:function(e){if(typeof e==\"string\"){var t=e.match(uQt);return t?t[0]:\"\"}var r=this._validateYear(e),n=e.month(),i=this.toChineseMonth(r,n),a=[\"\\u4E00\",\"\\u4E8C\",\"\\u4E09\",\"\\u56DB\",\"\\u4E94\",\"\\u516D\",\"\\u4E03\",\"\\u516B\",\"\\u4E5D\",\"\\u5341\",\"\\u5341\\u4E00\",\"\\u5341\\u4E8C\"][i-1];return this.isIntercalaryMonth(r,n)&&(a=\"\\u95F0\"+a),a},parseMonth:function(e,t){e=this._validateYear(e);var r=parseInt(t),n;if(isNaN(r))t[0]===\"\\u95F0\"&&(n=!0,t=t.substring(1)),t[t.length-1]===\"\\u6708\"&&(t=t.substring(0,t.length-1)),r=1+[\"\\u4E00\",\"\\u4E8C\",\"\\u4E09\",\"\\u56DB\",\"\\u4E94\",\"\\u516D\",\"\\u4E03\",\"\\u516B\",\"\\u4E5D\",\"\\u5341\",\"\\u5341\\u4E00\",\"\\u5341\\u4E8C\"].indexOf(t);else{var i=t[t.length-1];n=i===\"i\"||i===\"I\"}var a=this.toMonthIndex(e,r,n);return a},dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:1,isRTL:!1}},_validateYear:function(e,t){if(e.year&&(e=e.year()),typeof e!=\"number\"||e<1888||e>2111)throw t.replace(/\\{0\\}/,this.local.name);return e},toMonthIndex:function(e,t,r){var n=this.intercalaryMonth(e),i=r&&t!==n;if(i||t<1||t>12)throw zx.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var a;return n?!r&&t<=n?a=t-1:a=t:a=t-1,a},toChineseMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e),n=r?12:11;if(t<0||t>n)throw zx.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var i;return r?t<r?i=t+1:i=t:i=t+1,i},intercalaryMonth:function(e){e=this._validateYear(e);var t=Fx[e-Fx[0]],r=t>>13;return r},isIntercalaryMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e);return!!r&&r===t},leapYear:function(e){return this.intercalaryMonth(e)!==0},weekOfYear:function(e,t,r){var n=this._validateYear(e,zx.local.invalidyear),i=qx[n-qx[0]],a=i>>9&4095,o=i>>5&15,s=i&31,l;l=$$.newDate(a,o,s),l.add(4-(l.dayOfWeek()||7),\"d\");var u=this.toJD(e,t,r)-l.toJD();return 1+Math.floor(u/7)},monthsInYear:function(e){return this.leapYear(e)?13:12},daysInMonth:function(e,t){e.year&&(t=e.month(),e=e.year()),e=this._validateYear(e);var r=Fx[e-Fx[0]],n=r>>13,i=n?12:11;if(t>i)throw zx.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var a=r&1<<12-t?30:29;return a},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,a,r,zx.local.invalidDate);e=this._validateYear(n.year()),t=n.month(),r=n.day();var i=this.isIntercalaryMonth(e,t),a=this.toChineseMonth(e,t),o=fQt(e,a,r,i);return $$.toJD(o.year,o.month,o.day)},fromJD:function(e){var t=$$.fromJD(e),r=cQt(t.year(),t.month(),t.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(e){var t=e.match(oQt),r=this._validateYear(+t[1]),n=+t[2],i=!!t[3],a=this.toMonthIndex(r,n,i),o=+t[4];return this.newDate(r,a,o)},add:function(e,t,r){var n=e.year(),i=e.month(),a=this.isIntercalaryMonth(n,i),o=this.toChineseMonth(n,i),s=Object.getPrototypeOf(S9.prototype).add.call(this,e,t,r);if(r===\"y\"){var l=s.year(),u=s.month(),c=this.isIntercalaryMonth(l,o),f=a&&c?this.toMonthIndex(l,o,!0):this.toMonthIndex(l,o,!1);f!==u&&s.month(f)}return s}});var oQt=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)[-/](\\d?\\d)([iI]?)[-/](\\d?\\d)/m,sQt=/^\\d?\\d[iI]?/m,lQt=/^闰?十?[一二三四五六七八九]?月/m,uQt=/^闰?十?[一二三四五六七八九]?/m;zx.calendars.chinese=S9;var Fx=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],qx=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904];function cQt(e,t,r,n){var i,a;if(typeof e==\"object\")i=e,a=t||{};else{var o=typeof e==\"number\"&&e>=1888&&e<=2111;if(!o)throw new Error(\"Solar year outside range 1888-2111\");var s=typeof t==\"number\"&&t>=1&&t<=12;if(!s)throw new Error(\"Solar month outside range 1 - 12\");var l=typeof r==\"number\"&&r>=1&&r<=31;if(!l)throw new Error(\"Solar day outside range 1 - 31\");i={year:e,month:t,day:r},a=n||{}}var u=qx[i.year-qx[0]],c=i.year<<9|i.month<<5|i.day;a.year=c>=u?i.year:i.year-1,u=qx[a.year-qx[0]];var f=u>>9&4095,h=u>>5&15,d=u&31,v,x=new Date(f,h-1,d),b=new Date(i.year,i.month-1,i.day);v=Math.round((b-x)/(24*3600*1e3));var p=Fx[a.year-Fx[0]],E;for(E=0;E<13;E++){var k=p&1<<12-E?30:29;if(v<k)break;v-=k}var A=p>>13;return!A||E<A?(a.isIntercalary=!1,a.month=1+E):E===A?(a.isIntercalary=!0,a.month=E):(a.isIntercalary=!1,a.month=E),a.day=1+v,a}function fQt(e,t,r,n,i){var a,o;if(typeof e==\"object\")o=e,a=t||{};else{var s=typeof e==\"number\"&&e>=1888&&e<=2111;if(!s)throw new Error(\"Lunar year outside range 1888-2111\");var l=typeof t==\"number\"&&t>=1&&t<=12;if(!l)throw new Error(\"Lunar month outside range 1 - 12\");var u=typeof r==\"number\"&&r>=1&&r<=30;if(!u)throw new Error(\"Lunar day outside range 1 - 30\");var c;typeof n==\"object\"?(c=!1,a=n):(c=!!n,a=i||{}),o={year:e,month:t,day:r,isIntercalary:c}}var f;f=o.day-1;var h=Fx[o.year-Fx[0]],d=h>>13,v;d&&(o.month>d||o.isIntercalary)?v=o.month:v=o.month-1;for(var x=0;x<v;x++){var b=h&1<<12-x?30:29;f+=b}var p=qx[o.year-qx[0]],E=p>>9&4095,k=p>>5&15,A=p&31,L=new Date(E,k-1,A+f);return a.year=L.getFullYear(),a.month=1+L.getMonth(),a.day=L.getDate(),a}});var C$e=ye(()=>{var _w=Sv(),hQt=bh();function Q$(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}Q$.prototype=new _w.baseCalendar;hQt(Q$.prototype,{name:\"Coptic\",jdEpoch:18250295e-1,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Coptic\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Thout\",\"Paopi\",\"Hathor\",\"Koiak\",\"Tobi\",\"Meshir\",\"Paremhat\",\"Paremoude\",\"Pashons\",\"Paoni\",\"Epip\",\"Mesori\",\"Pi Kogi Enavot\"],monthNamesShort:[\"Tho\",\"Pao\",\"Hath\",\"Koi\",\"Tob\",\"Mesh\",\"Pat\",\"Pad\",\"Pash\",\"Pao\",\"Epi\",\"Meso\",\"PiK\"],dayNames:[\"Tkyriaka\",\"Pesnau\",\"Pshoment\",\"Peftoou\",\"Ptiou\",\"Psoou\",\"Psabbaton\"],dayNamesShort:[\"Tky\",\"Pes\",\"Psh\",\"Pef\",\"Pti\",\"Pso\",\"Psa\"],dayNamesMin:[\"Tk\",\"Pes\",\"Psh\",\"Pef\",\"Pt\",\"Pso\",\"Psa\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,_w.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,_w.local.invalidYear||_w.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,_w.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,_w.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}});_w.calendars.coptic=Q$});var L$e=ye(()=>{var b1=Sv(),dQt=bh();function eQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}eQ.prototype=new b1.baseCalendar;dQt(eQ.prototype,{name:\"Discworld\",jdEpoch:17214255e-1,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Discworld\",epochs:[\"BUC\",\"UC\"],monthNames:[\"Ick\",\"Offle\",\"February\",\"March\",\"April\",\"May\",\"June\",\"Grune\",\"August\",\"Spune\",\"Sektober\",\"Ember\",\"December\"],monthNamesShort:[\"Ick\",\"Off\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Gru\",\"Aug\",\"Spu\",\"Sek\",\"Emb\",\"Dec\"],dayNames:[\"Sunday\",\"Octeday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Oct\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Oc\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:2,isRTL:!1}},leapYear:function(e){return this._validate(e,this.minMonth,this.minDay,b1.local.invalidYear),!1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,b1.local.invalidYear),13},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,b1.local.invalidYear),400},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,b1.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,b1.local.invalidDate);return(n.day()+1)%8},weekDay:function(e,t,r){var n=this.dayOfWeek(e,t,r);return n>=2&&n<=6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,b1.local.invalidDate);return{century:vQt[Math.floor((n.year()-1)/100)+1]||\"\"}},toJD:function(e,t,r){var n=this._validate(e,t,r,b1.local.invalidDate);return e=n.year()+(n.year()<0?1:0),t=n.month(),r=n.day(),r+(t>1?16:0)+(t>2?(t-2)*32:0)+(e-1)*400+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e+.5)-Math.floor(this.jdEpoch)-1;var t=Math.floor(e/400)+1;e-=(t-1)*400,e+=e>15?16:0;var r=Math.floor(e/32)+1,n=e-(r-1)*32+1;return this.newDate(t<=0?t-1:t,r,n)}});var vQt={20:\"Fruitbat\",21:\"Anchovy\"};b1.calendars.discworld=eQ});var P$e=ye(()=>{var xw=Sv(),pQt=bh();function tQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}tQ.prototype=new xw.baseCalendar;pQt(tQ.prototype,{name:\"Ethiopian\",jdEpoch:17242205e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,xw.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,xw.local.invalidYear||xw.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,xw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,xw.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}});xw.calendars.ethiopian=tQ});var I$e=ye(()=>{var Ox=Sv(),gQt=bh();function rQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}rQ.prototype=new Ox.baseCalendar;gQt(rQ.prototype,{name:\"Hebrew\",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{\"\":{name:\"Hebrew\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Nisan\",\"Iyar\",\"Sivan\",\"Tammuz\",\"Av\",\"Elul\",\"Tishrei\",\"Cheshvan\",\"Kislev\",\"Tevet\",\"Shevat\",\"Adar\",\"Adar II\"],monthNamesShort:[\"Nis\",\"Iya\",\"Siv\",\"Tam\",\"Av\",\"Elu\",\"Tis\",\"Che\",\"Kis\",\"Tev\",\"She\",\"Ada\",\"Ad2\"],dayNames:[\"Yom Rishon\",\"Yom Sheni\",\"Yom Shlishi\",\"Yom Revi'i\",\"Yom Chamishi\",\"Yom Shishi\",\"Yom Shabbat\"],dayNamesShort:[\"Ris\",\"She\",\"Shl\",\"Rev\",\"Cha\",\"Shi\",\"Sha\"],dayNamesMin:[\"Ri\",\"She\",\"Shl\",\"Re\",\"Ch\",\"Shi\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Ox.local.invalidYear);return this._leapYear(t.year())},_leapYear:function(e){return e=e<0?e+1:e,M9(e*7+1,19)<7},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Ox.local.invalidYear),this._leapYear(e.year?e.year():e)?13:12},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Ox.local.invalidYear);return e=t.year(),this.toJD(e===-1?1:e+1,7,1)-this.toJD(e,7,1)},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,Ox.local.invalidMonth),t===12&&this.leapYear(e)||t===8&&M9(this.daysInYear(e),10)===5?30:t===9&&M9(this.daysInYear(e),10)===3?29:this.daysPerMonth[t-1]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,Ox.local.invalidDate);return{yearType:(this.leapYear(n)?\"embolismic\":\"common\")+\" \"+[\"deficient\",\"regular\",\"complete\"][this.daysInYear(n)%10-3]}},toJD:function(e,t,r){var n=this._validate(e,t,r,Ox.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=e<=0?e+1:e,a=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(t<7){for(var o=7;o<=this.monthsInYear(e);o++)a+=this.daysInMonth(e,o);for(var o=1;o<t;o++)a+=this.daysInMonth(e,o)}else for(var o=7;o<t;o++)a+=this.daysInMonth(e,o);return a},_delay1:function(e){var t=Math.floor((235*e-234)/19),r=12084+13753*t,n=t*29+Math.floor(r/25920);return M9(3*(n+1),7)<3&&n++,n},_delay2:function(e){var t=this._delay1(e-1),r=this._delay1(e),n=this._delay1(e+1);return n-r===356?2:r-t===382?1:0},fromJD:function(e){e=Math.floor(e)+.5;for(var t=Math.floor((e-this.jdEpoch)*98496/35975351)-1;e>=this.toJD(t===-1?1:t+1,7,1);)t++;for(var r=e<this.toJD(t,1,1)?7:1;e>this.toJD(t,r,this.daysInMonth(t,r));)r++;var n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});function M9(e,t){return e-t*Math.floor(e/t)}Ox.calendars.hebrew=rQ});var R$e=ye(()=>{var oC=Sv(),mQt=bh();function iQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}iQ.prototype=new oC.baseCalendar;mQt(iQ.prototype,{name:\"Islamic\",jdEpoch:19484395e-1,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(e){var t=this._validate(e,this.minMonth,this.minDay,oC.local.invalidYear);return(t.year()*11+14)%30<11},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){return this.leapYear(e)?355:354},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,oC.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,oC.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e=e<=0?e+1:e,r+Math.ceil(29.5*(t-1))+(e-1)*354+Math.floor((3+11*e)/30)+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=Math.floor((30*(e-this.jdEpoch)+10646)/10631);t=t<=0?t-1:t;var r=Math.min(12,Math.ceil((e-29-this.toJD(t,1,1))/29.5)+1),n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});oC.calendars.islamic=iQ});var D$e=ye(()=>{var sC=Sv(),yQt=bh();function nQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}nQ.prototype=new sC.baseCalendar;yQt(nQ.prototype,{name:\"Julian\",jdEpoch:17214235e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,sC.local.invalidYear),r=t.year()<0?t.year()+1:t.year();return r%4===0},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,sC.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,sC.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e<0&&e++,t<=2&&(e--,t+=12),Math.floor(365.25*(e+4716))+Math.floor(30.6001*(t+1))+r-1524.5},fromJD:function(e){var t=Math.floor(e+.5),r=t+1524,n=Math.floor((r-122.1)/365.25),i=Math.floor(365.25*n),a=Math.floor((r-i)/30.6001),o=a-Math.floor(a<14?1:13),s=n-Math.floor(o>2?4716:4715),l=r-i-Math.floor(30.6001*a);return s<=0&&s--,this.newDate(s,o,l)}});sC.calendars.julian=nQ});var F$e=ye(()=>{var ug=Sv(),_Qt=bh();function oQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}oQ.prototype=new ug.baseCalendar;_Qt(oQ.prototype,{name:\"Mayan\",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{\"\":{name:\"Mayan\",epochs:[\"\",\"\"],monthNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],monthNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],dayNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesMin:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],digits:null,dateFormat:\"YYYY.m.d\",firstDay:0,isRTL:!1,haabMonths:[\"Pop\",\"Uo\",\"Zip\",\"Zotz\",\"Tzec\",\"Xul\",\"Yaxkin\",\"Mol\",\"Chen\",\"Yax\",\"Zac\",\"Ceh\",\"Mac\",\"Kankin\",\"Muan\",\"Pax\",\"Kayab\",\"Cumku\",\"Uayeb\"],tzolkinMonths:[\"Imix\",\"Ik\",\"Akbal\",\"Kan\",\"Chicchan\",\"Cimi\",\"Manik\",\"Lamat\",\"Muluc\",\"Oc\",\"Chuen\",\"Eb\",\"Ben\",\"Ix\",\"Men\",\"Cib\",\"Caban\",\"Etznab\",\"Cauac\",\"Ahau\"]}},leapYear:function(e){return this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear),!1},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear);e=t.year();var r=Math.floor(e/400);e=e%400,e+=e<0?400:0;var n=Math.floor(e/20);return r+\".\"+n+\".\"+e%20},forYear:function(e){if(e=e.split(\".\"),e.length<3)throw\"Invalid Mayan year\";for(var t=0,r=0;r<e.length;r++){var n=parseInt(e[r],10);if(Math.abs(n)>19||r>0&&n<0)throw\"Invalid Mayan year\";t=t*20+n}return t},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear),18},weekOfYear:function(e,t,r){return this._validate(e,t,r,ug.local.invalidDate),0},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear),360},daysInMonth:function(e,t){return this._validate(e,t,this.minDay,ug.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,ug.local.invalidDate);return n.day()},weekDay:function(e,t,r){return this._validate(e,t,r,ug.local.invalidDate),!0},extraInfo:function(e,t,r){var n=this._validate(e,t,r,ug.local.invalidDate),i=n.toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(e){e-=this.jdEpoch;var t=aQ(e+8+17*20,365);return[Math.floor(t/20)+1,aQ(t,20)]},_toTzolkin:function(e){return e-=this.jdEpoch,[z$e(e+20,20),z$e(e+4,13)]},toJD:function(e,t,r){var n=this._validate(e,t,r,ug.local.invalidDate);return n.day()+n.month()*20+n.year()*360+this.jdEpoch},fromJD:function(e){e=Math.floor(e)+.5-this.jdEpoch;var t=Math.floor(e/360);e=e%360,e+=e<0?360:0;var r=Math.floor(e/20),n=e%20;return this.newDate(t,r,n)}});function aQ(e,t){return e-t*Math.floor(e/t)}function z$e(e,t){return aQ(e-1,t)+1}ug.calendars.mayan=oQ});var O$e=ye(()=>{var bw=Sv(),xQt=bh();function sQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}sQ.prototype=new bw.baseCalendar;var q$e=bw.instance(\"gregorian\");xQt(sQ.prototype,{name:\"Nanakshahi\",jdEpoch:22576735e-1,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Nanakshahi\",epochs:[\"BN\",\"AN\"],monthNames:[\"Chet\",\"Vaisakh\",\"Jeth\",\"Harh\",\"Sawan\",\"Bhadon\",\"Assu\",\"Katak\",\"Maghar\",\"Poh\",\"Magh\",\"Phagun\"],monthNamesShort:[\"Che\",\"Vai\",\"Jet\",\"Har\",\"Saw\",\"Bha\",\"Ass\",\"Kat\",\"Mgr\",\"Poh\",\"Mgh\",\"Pha\"],dayNames:[\"Somvaar\",\"Mangalvar\",\"Budhvaar\",\"Veervaar\",\"Shukarvaar\",\"Sanicharvaar\",\"Etvaar\"],dayNamesShort:[\"Som\",\"Mangal\",\"Budh\",\"Veer\",\"Shukar\",\"Sanichar\",\"Et\"],dayNamesMin:[\"So\",\"Ma\",\"Bu\",\"Ve\",\"Sh\",\"Sa\",\"Et\"],digits:null,dateFormat:\"dd-mm-yyyy\",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,bw.local.invalidYear||bw.regionalOptions[\"\"].invalidYear);return q$e.leapYear(t.year()+(t.year()<1?1:0)+1469)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(1-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,bw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,bw.local.invalidMonth),i=n.year();i<0&&i++;for(var a=n.day(),o=1;o<n.month();o++)a+=this.daysPerMonth[o-1];return a+q$e.toJD(i+1468,3,13)},fromJD:function(e){e=Math.floor(e+.5);for(var t=Math.floor((e-(this.jdEpoch-1))/366);e>=this.toJD(t+1,1,1);)t++;for(var r=e-Math.floor(this.toJD(t,1,1)+.5)+1,n=1;r>this.daysInMonth(t,n);)r-=this.daysInMonth(t,n),n++;return this.newDate(t,n,r)}});bw.calendars.nanakshahi=sQ});var B$e=ye(()=>{var ww=Sv(),bQt=bh();function lQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}lQ.prototype=new ww.baseCalendar;bQt(lQ.prototype,{name:\"Nepali\",jdEpoch:17007095e-1,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{\"\":{name:\"Nepali\",epochs:[\"BBS\",\"ABS\"],monthNames:[\"Baisakh\",\"Jestha\",\"Ashadh\",\"Shrawan\",\"Bhadra\",\"Ashwin\",\"Kartik\",\"Mangsir\",\"Paush\",\"Mangh\",\"Falgun\",\"Chaitra\"],monthNamesShort:[\"Bai\",\"Je\",\"As\",\"Shra\",\"Bha\",\"Ash\",\"Kar\",\"Mang\",\"Pau\",\"Ma\",\"Fal\",\"Chai\"],dayNames:[\"Aaitabaar\",\"Sombaar\",\"Manglbaar\",\"Budhabaar\",\"Bihibaar\",\"Shukrabaar\",\"Shanibaar\"],dayNamesShort:[\"Aaita\",\"Som\",\"Mangl\",\"Budha\",\"Bihi\",\"Shukra\",\"Shani\"],dayNamesMin:[\"Aai\",\"So\",\"Man\",\"Bu\",\"Bi\",\"Shu\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:1,isRTL:!1}},leapYear:function(e){return this.daysInYear(e)!==this.daysPerYear},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,ww.local.invalidYear);if(e=t.year(),typeof this.NEPALI_CALENDAR_DATA[e]==\"undefined\")return this.daysPerYear;for(var r=0,n=this.minMonth;n<=12;n++)r+=this.NEPALI_CALENDAR_DATA[e][n];return r},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,ww.local.invalidMonth),typeof this.NEPALI_CALENDAR_DATA[e]==\"undefined\"?this.daysPerMonth[t-1]:this.NEPALI_CALENDAR_DATA[e][t]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},toJD:function(e,t,r){var n=this._validate(e,t,r,ww.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=ww.instance(),a=0,o=t,s=e;this._createMissingCalendarData(e);var l=e-(o>9||o===9&&r>=this.NEPALI_CALENDAR_DATA[s][0]?56:57);for(t!==9&&(a=r,o--);o!==9;)o<=0&&(o=12,s--),a+=this.NEPALI_CALENDAR_DATA[s][o],o--;return t===9?(a+=r-this.NEPALI_CALENDAR_DATA[s][0],a<0&&(a+=i.daysInYear(l))):a+=this.NEPALI_CALENDAR_DATA[s][9]-this.NEPALI_CALENDAR_DATA[s][0],i.newDate(l,1,1).add(a,\"d\").toJD()},fromJD:function(e){var t=ww.instance(),r=t.fromJD(e),n=r.year(),i=r.dayOfYear(),a=n+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++,o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var u=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,u)},_createMissingCalendarData:function(e){var t=this.daysPerMonth.slice(0);t.unshift(17);for(var r=e-1;r<e+2;r++)typeof this.NEPALI_CALENDAR_DATA[r]==\"undefined\"&&(this.NEPALI_CALENDAR_DATA[r]=t)},NEPALI_CALENDAR_DATA:{1970:[18,31,31,32,31,31,31,30,29,30,29,30,30],1971:[18,31,31,32,31,32,30,30,29,30,29,30,30],1972:[17,31,32,31,32,31,30,30,30,29,29,30,30],1973:[19,30,32,31,32,31,30,30,30,29,30,29,31],1974:[19,31,31,32,30,31,31,30,29,30,29,30,30],1975:[18,31,31,32,32,30,31,30,29,30,29,30,30],1976:[17,31,32,31,32,31,30,30,30,29,29,30,31],1977:[18,31,32,31,32,31,31,29,30,29,30,29,31],1978:[18,31,31,32,31,31,31,30,29,30,29,30,30],1979:[18,31,31,32,32,31,30,30,29,30,29,30,30],1980:[17,31,32,31,32,31,30,30,30,29,29,30,31],1981:[18,31,31,31,32,31,31,29,30,30,29,30,30],1982:[18,31,31,32,31,31,31,30,29,30,29,30,30],1983:[18,31,31,32,32,31,30,30,29,30,29,30,30],1984:[17,31,32,31,32,31,30,30,30,29,29,30,31],1985:[18,31,31,31,32,31,31,29,30,30,29,30,30],1986:[18,31,31,32,31,31,31,30,29,30,29,30,30],1987:[18,31,32,31,32,31,30,30,29,30,29,30,30],1988:[17,31,32,31,32,31,30,30,30,29,29,30,31],1989:[18,31,31,31,32,31,31,30,29,30,29,30,30],1990:[18,31,31,32,31,31,31,30,29,30,29,30,30],1991:[18,31,32,31,32,31,30,30,29,30,29,30,30],1992:[17,31,32,31,32,31,30,30,30,29,30,29,31],1993:[18,31,31,31,32,31,31,30,29,30,29,30,30],1994:[18,31,31,32,31,31,31,30,29,30,29,30,30],1995:[17,31,32,31,32,31,30,30,30,29,29,30,30],1996:[17,31,32,31,32,31,30,30,30,29,30,29,31],1997:[18,31,31,32,31,31,31,30,29,30,29,30,30],1998:[18,31,31,32,31,31,31,30,29,30,29,30,30],1999:[17,31,32,31,32,31,30,30,30,29,29,30,31],2e3:[17,30,32,31,32,31,30,30,30,29,30,29,31],2001:[18,31,31,32,31,31,31,30,29,30,29,30,30],2002:[18,31,31,32,32,31,30,30,29,30,29,30,30],2003:[17,31,32,31,32,31,30,30,30,29,29,30,31],2004:[17,30,32,31,32,31,30,30,30,29,30,29,31],2005:[18,31,31,32,31,31,31,30,29,30,29,30,30],2006:[18,31,31,32,32,31,30,30,29,30,29,30,30],2007:[17,31,32,31,32,31,30,30,30,29,29,30,31],2008:[17,31,31,31,32,31,31,29,30,30,29,29,31],2009:[18,31,31,32,31,31,31,30,29,30,29,30,30],2010:[18,31,31,32,32,31,30,30,29,30,29,30,30],2011:[17,31,32,31,32,31,30,30,30,29,29,30,31],2012:[17,31,31,31,32,31,31,29,30,30,29,30,30],2013:[18,31,31,32,31,31,31,30,29,30,29,30,30],2014:[18,31,31,32,32,31,30,30,29,30,29,30,30],2015:[17,31,32,31,32,31,30,30,30,29,29,30,31],2016:[17,31,31,31,32,31,31,29,30,30,29,30,30],2017:[18,31,31,32,31,31,31,30,29,30,29,30,30],2018:[18,31,32,31,32,31,30,30,29,30,29,30,30],2019:[17,31,32,31,32,31,30,30,30,29,30,29,31],2020:[17,31,31,31,32,31,31,30,29,30,29,30,30],2021:[18,31,31,32,31,31,31,30,29,30,29,30,30],2022:[17,31,32,31,32,31,30,30,30,29,29,30,30],2023:[17,31,32,31,32,31,30,30,30,29,30,29,31],2024:[17,31,31,31,32,31,31,30,29,30,29,30,30],2025:[18,31,31,32,31,31,31,30,29,30,29,30,30],2026:[17,31,32,31,32,31,30,30,30,29,29,30,31],2027:[17,30,32,31,32,31,30,30,30,29,30,29,31],2028:[17,31,31,32,31,31,31,30,29,30,29,30,30],2029:[18,31,31,32,31,32,30,30,29,30,29,30,30],2030:[17,31,32,31,32,31,30,30,30,30,30,30,31],2031:[17,31,32,31,32,31,31,31,31,31,31,31,31],2032:[17,32,32,32,32,32,32,32,32,32,32,32,32],2033:[18,31,31,32,32,31,30,30,29,30,29,30,30],2034:[17,31,32,31,32,31,30,30,30,29,29,30,31],2035:[17,30,32,31,32,31,31,29,30,30,29,29,31],2036:[17,31,31,32,31,31,31,30,29,30,29,30,30],2037:[18,31,31,32,32,31,30,30,29,30,29,30,30],2038:[17,31,32,31,32,31,30,30,30,29,29,30,31],2039:[17,31,31,31,32,31,31,29,30,30,29,30,30],2040:[17,31,31,32,31,31,31,30,29,30,29,30,30],2041:[18,31,31,32,32,31,30,30,29,30,29,30,30],2042:[17,31,32,31,32,31,30,30,30,29,29,30,31],2043:[17,31,31,31,32,31,31,29,30,30,29,30,30],2044:[17,31,31,32,31,31,31,30,29,30,29,30,30],2045:[18,31,32,31,32,31,30,30,29,30,29,30,30],2046:[17,31,32,31,32,31,30,30,30,29,29,30,31],2047:[17,31,31,31,32,31,31,30,29,30,29,30,30],2048:[17,31,31,32,31,31,31,30,29,30,29,30,30],2049:[17,31,32,31,32,31,30,30,30,29,29,30,30],2050:[17,31,32,31,32,31,30,30,30,29,30,29,31],2051:[17,31,31,31,32,31,31,30,29,30,29,30,30],2052:[17,31,31,32,31,31,31,30,29,30,29,30,30],2053:[17,31,32,31,32,31,30,30,30,29,29,30,30],2054:[17,31,32,31,32,31,30,30,30,29,30,29,31],2055:[17,31,31,32,31,31,31,30,29,30,30,29,30],2056:[17,31,31,32,31,32,30,30,29,30,29,30,30],2057:[17,31,32,31,32,31,30,30,30,29,29,30,31],2058:[17,30,32,31,32,31,30,30,30,29,30,29,31],2059:[17,31,31,32,31,31,31,30,29,30,29,30,30],2060:[17,31,31,32,32,31,30,30,29,30,29,30,30],2061:[17,31,32,31,32,31,30,30,30,29,29,30,31],2062:[17,30,32,31,32,31,31,29,30,29,30,29,31],2063:[17,31,31,32,31,31,31,30,29,30,29,30,30],2064:[17,31,31,32,32,31,30,30,29,30,29,30,30],2065:[17,31,32,31,32,31,30,30,30,29,29,30,31],2066:[17,31,31,31,32,31,31,29,30,30,29,29,31],2067:[17,31,31,32,31,31,31,30,29,30,29,30,30],2068:[17,31,31,32,32,31,30,30,29,30,29,30,30],2069:[17,31,32,31,32,31,30,30,30,29,29,30,31],2070:[17,31,31,31,32,31,31,29,30,30,29,30,30],2071:[17,31,31,32,31,31,31,30,29,30,29,30,30],2072:[17,31,32,31,32,31,30,30,29,30,29,30,30],2073:[17,31,32,31,32,31,30,30,30,29,29,30,31],2074:[17,31,31,31,32,31,31,30,29,30,29,30,30],2075:[17,31,31,32,31,31,31,30,29,30,29,30,30],2076:[16,31,32,31,32,31,30,30,30,29,29,30,30],2077:[17,31,32,31,32,31,30,30,30,29,30,29,31],2078:[17,31,31,31,32,31,31,30,29,30,29,30,30],2079:[17,31,31,32,31,31,31,30,29,30,29,30,30],2080:[16,31,32,31,32,31,30,30,30,29,29,30,30],2081:[17,31,31,32,32,31,30,30,30,29,30,30,30],2082:[17,31,32,31,32,31,30,30,30,29,30,30,30],2083:[17,31,31,32,31,31,30,30,30,29,30,30,30],2084:[17,31,31,32,31,31,30,30,30,29,30,30,30],2085:[17,31,32,31,32,31,31,30,30,29,30,30,30],2086:[17,31,32,31,32,31,30,30,30,29,30,30,30],2087:[16,31,31,32,31,31,31,30,30,29,30,30,30],2088:[16,30,31,32,32,30,31,30,30,29,30,30,30],2089:[17,31,32,31,32,31,30,30,30,29,30,30,30],2090:[17,31,32,31,32,31,30,30,30,29,30,30,30],2091:[16,31,31,32,31,31,31,30,30,29,30,30,30],2092:[16,31,31,32,32,31,30,30,30,29,30,30,30],2093:[17,31,32,31,32,31,30,30,30,29,30,30,30],2094:[17,31,31,32,31,31,30,30,30,29,30,30,30],2095:[17,31,31,32,31,31,31,30,29,30,30,30,30],2096:[17,30,31,32,32,31,30,30,29,30,29,30,30],2097:[17,31,32,31,32,31,30,30,30,29,30,30,30],2098:[17,31,31,32,31,31,31,29,30,29,30,30,31],2099:[17,31,31,32,31,31,31,30,29,29,30,30,30],2100:[17,31,32,31,32,30,31,30,29,30,29,30,30]}});ww.calendars.nepali=lQ});var N$e=ye(()=>{var $A=Sv(),wQt=bh();function E9(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}E9.prototype=new $A.baseCalendar;wQt(E9.prototype,{name:\"Persian\",jdEpoch:19483205e-1,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Persian\",epochs:[\"BP\",\"AP\"],monthNames:[\"Farvardin\",\"Ordibehesht\",\"Khordad\",\"Tir\",\"Mordad\",\"Shahrivar\",\"Mehr\",\"Aban\",\"Azar\",\"Day\",\"Bahman\",\"Esfand\"],monthNamesShort:[\"Far\",\"Ord\",\"Kho\",\"Tir\",\"Mor\",\"Sha\",\"Meh\",\"Aba\",\"Aza\",\"Day\",\"Bah\",\"Esf\"],dayNames:[\"Yekshambe\",\"Doshambe\",\"Seshambe\",\"Ch\\xE6harshambe\",\"Panjshambe\",\"Jom'e\",\"Shambe\"],dayNamesShort:[\"Yek\",\"Do\",\"Se\",\"Ch\\xE6\",\"Panj\",\"Jom\",\"Sha\"],dayNamesMin:[\"Ye\",\"Do\",\"Se\",\"Ch\",\"Pa\",\"Jo\",\"Sh\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,$A.local.invalidYear);return((t.year()-(t.year()>0?474:473))%2820+474+38)*682%2816<682},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-((n.dayOfWeek()+1)%7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,$A.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,$A.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=e-(e>=0?474:473),a=474+uQ(i,2820);return r+(t<=7?(t-1)*31:(t-1)*30+6)+Math.floor((a*682-110)/2816)+(a-1)*365+Math.floor(i/2820)*1029983+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=e-this.toJD(475,1,1),r=Math.floor(t/1029983),n=uQ(t,1029983),i=2820;if(n!==1029982){var a=Math.floor(n/366),o=uQ(n,366);i=Math.floor((2134*a+2816*o+2815)/1028522)+a+1}var s=i+2820*r+474;s=s<=0?s-1:s;var l=e-this.toJD(s,1,1)+1,u=l<=186?Math.ceil(l/31):Math.ceil((l-6)/30),c=e-this.toJD(s,u,1)+1;return this.newDate(s,u,c)}});function uQ(e,t){return e-t*Math.floor(e/t)}$A.calendars.persian=E9;$A.calendars.jalali=E9});var U$e=ye(()=>{var Tw=Sv(),TQt=bh(),k9=Tw.instance();function cQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}cQ.prototype=new Tw.baseCalendar;TQt(cQ.prototype,{name:\"Taiwan\",jdEpoch:24194025e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,Tw.local.invalidYear),r=this._t2gYear(t.year());return k9.leapYear(r)},weekOfYear:function(i,t,r){var n=this._validate(i,this.minMonth,this.minDay,Tw.local.invalidYear),i=this._t2gYear(n.year());return k9.weekOfYear(i,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Tw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,Tw.local.invalidDate),i=this._t2gYear(n.year());return k9.toJD(i,n.month(),n.day())},fromJD:function(e){var t=k9.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)},_g2tYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)}});Tw.calendars.taiwan=cQ});var V$e=ye(()=>{var Aw=Sv(),AQt=bh(),C9=Aw.instance();function fQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}fQ.prototype=new Aw.baseCalendar;AQt(fQ.prototype,{name:\"Thai\",jdEpoch:15230985e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,Aw.local.invalidYear),r=this._t2gYear(t.year());return C9.leapYear(r)},weekOfYear:function(i,t,r){var n=this._validate(i,this.minMonth,this.minDay,Aw.local.invalidYear),i=this._t2gYear(n.year());return C9.weekOfYear(i,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Aw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,Aw.local.invalidDate),i=this._t2gYear(n.year());return C9.toJD(i,n.month(),n.day())},fromJD:function(e){var t=C9.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)},_g2tYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)}});Aw.calendars.thai=fQ});var H$e=ye(()=>{var Sw=Sv(),SQt=bh();function hQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}hQ.prototype=new Sw.baseCalendar;SQt(hQ.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(e){var t=this._validate(e,this.minMonth,this.minDay,Sw.local.invalidYear);return this.daysInYear(t.year())===355},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){for(var t=0,r=1;r<=12;r++)t+=this.daysInMonth(e,r);return t},daysInMonth:function(e,t){for(var r=this._validate(e,t,this.minDay,Sw.local.invalidMonth),n=r.toJD()-24e5+.5,i=0,a=0;a<Bx.length;a++){if(Bx[a]>n)return Bx[i]-Bx[i-1];i++}return 30},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,Sw.local.invalidDate),i=12*(n.year()-1)+n.month()-15292,a=n.day()+Bx[i-1]-1;return a+24e5-.5},fromJD:function(e){for(var t=e-24e5+.5,r=0,n=0;n<Bx.length&&!(Bx[n]>t);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),o=a+1,s=i-12*a,l=t-Bx[r-1]+1;return this.newDate(o,s,l)},isValid:function(e,t,r){var n=Sw.baseCalendar.prototype.isValid.apply(this,arguments);return n&&(e=e.year!=null?e.year:e,n=e>=1276&&e<=1500),n},_validate:function(e,t,r,n){var i=Sw.baseCalendar.prototype._validate.apply(this,arguments);if(i.year<1276||i.year>1500)throw n.replace(/\\{0\\}/,this.local.name);return i}});Sw.calendars.ummalqura=hQ;var Bx=[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]});var j$e=ye((_2r,G$e)=>{\"use strict\";G$e.exports=Sv();E$e();k$e();C$e();L$e();P$e();I$e();R$e();D$e();F$e();O$e();B$e();N$e();U$e();V$e();H$e()});var $$e=ye((x2r,J$e)=>{\"use strict\";var Z$e=j$e(),lC=Mr(),X$e=es(),MQt=X$e.EPOCHJD,EQt=X$e.ONEDAY,pQ={valType:\"enumerated\",values:lC.sortObjectKeys(Z$e.calendars),editType:\"calc\",dflt:\"gregorian\"},Y$e=function(e,t,r,n){var i={};return i[r]=pQ,lC.coerce(e,t,i,r,n)},kQt=function(e,t,r,n){for(var i=0;i<r.length;i++)Y$e(e,t,r[i]+\"calendar\",n.calendar)},CQt={chinese:\"2000-01-01\",coptic:\"2000-01-01\",discworld:\"2000-01-01\",ethiopian:\"2000-01-01\",hebrew:\"5000-01-01\",islamic:\"1000-01-01\",julian:\"2000-01-01\",mayan:\"5000-01-01\",nanakshahi:\"1000-01-01\",nepali:\"2000-01-01\",persian:\"1000-01-01\",jalali:\"1000-01-01\",taiwan:\"1000-01-01\",thai:\"2000-01-01\",ummalqura:\"1400-01-01\"},LQt={chinese:\"2000-01-02\",coptic:\"2000-01-03\",discworld:\"2000-01-03\",ethiopian:\"2000-01-05\",hebrew:\"5000-01-01\",islamic:\"1000-01-02\",julian:\"2000-01-03\",mayan:\"5000-01-01\",nanakshahi:\"1000-01-05\",nepali:\"2000-01-05\",persian:\"1000-01-01\",jalali:\"1000-01-01\",taiwan:\"1000-01-04\",thai:\"2000-01-04\",ummalqura:\"1400-01-06\"},PQt={chinese:[\"2000-01-01\",\"2001-01-01\"],coptic:[\"1700-01-01\",\"1701-01-01\"],discworld:[\"1800-01-01\",\"1801-01-01\"],ethiopian:[\"2000-01-01\",\"2001-01-01\"],hebrew:[\"5700-01-01\",\"5701-01-01\"],islamic:[\"1400-01-01\",\"1401-01-01\"],julian:[\"2000-01-01\",\"2001-01-01\"],mayan:[\"5200-01-01\",\"5201-01-01\"],nanakshahi:[\"0500-01-01\",\"0501-01-01\"],nepali:[\"2000-01-01\",\"2001-01-01\"],persian:[\"1400-01-01\",\"1401-01-01\"],jalali:[\"1400-01-01\",\"1401-01-01\"],taiwan:[\"0100-01-01\",\"0101-01-01\"],thai:[\"2500-01-01\",\"2501-01-01\"],ummalqura:[\"1400-01-01\",\"1401-01-01\"]},L9=\"##\",IQt={d:{0:\"dd\",\"-\":\"d\"},e:{0:\"d\",\"-\":\"d\"},a:{0:\"D\",\"-\":\"D\"},A:{0:\"DD\",\"-\":\"DD\"},j:{0:\"oo\",\"-\":\"o\"},W:{0:\"ww\",\"-\":\"w\"},m:{0:\"mm\",\"-\":\"m\"},b:{0:\"M\",\"-\":\"M\"},B:{0:\"MM\",\"-\":\"MM\"},y:{0:\"yy\",\"-\":\"yy\"},Y:{0:\"yyyy\",\"-\":\"yyyy\"},U:L9,w:L9,c:{0:\"D M d %X yyyy\",\"-\":\"D M d %X yyyy\"},x:{0:\"mm/dd/yyyy\",\"-\":\"mm/dd/yyyy\"}};function RQt(e,t,r){for(var n=Math.floor((t+.05)/EQt)+MQt,i=K$e(r).fromJD(n),a=0,o,s,l,u,c;(a=e.indexOf(\"%\",a))!==-1;)o=e.charAt(a+1),o===\"0\"||o===\"-\"||o===\"_\"?(l=3,s=e.charAt(a+2),o===\"_\"&&(o=\"-\")):(s=o,o=\"0\",l=2),u=IQt[s],u?(u===L9?c=L9:c=i.formatDate(u[o]),e=e.substr(0,a)+c+e.substr(a+l),a+=c.length):a+=l;return e}var W$e={};function K$e(e){var t=W$e[e];return t||(t=W$e[e]=Z$e.instance(e),t)}function uC(e){return lC.extendFlat({},pQ,{description:e})}function gQ(e){return\"Sets the calendar system to use with `\"+e+\"` date data.\"}var vQ={xcalendar:uC(gQ(\"x\"))},iy=lC.extendFlat({},vQ,{ycalendar:uC(gQ(\"y\"))}),dQ=lC.extendFlat({},iy,{zcalendar:uC(gQ(\"z\"))}),QA=uC([\"Sets the calendar system to use for `range` and `tick0`\",\"if this is a date axis. This does not set the calendar for\",\"interpreting data on this axis, that's specified in the trace\",\"or via the global `layout.calendar`\"].join(\" \"));J$e.exports={moduleType:\"component\",name:\"calendars\",schema:{traces:{scatter:iy,bar:iy,box:iy,heatmap:iy,contour:iy,histogram:iy,histogram2d:iy,histogram2dcontour:iy,scatter3d:dQ,surface:dQ,mesh3d:dQ,scattergl:iy,ohlc:vQ,candlestick:vQ},layout:{calendar:uC([\"Sets the default calendar system to use for interpreting and\",\"displaying dates throughout the plot.\"].join(\" \"))},subplots:{xaxis:{calendar:QA},yaxis:{calendar:QA},scene:{xaxis:{calendar:QA},yaxis:{calendar:QA},zaxis:{calendar:QA}},polar:{radialaxis:{calendar:QA}}}},layoutAttributes:pQ,handleDefaults:Y$e,handleTraceDefaults:kQt,CANONICAL_SUNDAY:LQt,CANONICAL_TICK:CQt,DFLTRANGE:PQt,getCal:K$e,worldCalFmt:RQt}});var eQe=ye((b2r,Q$e)=>{\"use strict\";Q$e.exports=$$e()});var DQt=ye((w2r,rQe)=>{var tQe=Wme();tQe.register([Xye(),z1e(),Z_e(),dxe(),Mxe(),wbe(),zbe(),b2e(),K2e(),Pwe(),m3e(),j4e(),REe(),TCe(),c6e(),N6e(),uLe(),RPe(),$Pe(),gIe(),kIe(),VIe(),i8e(),_8e(),WRe(),hDe(),EOe(),EBe(),qNe(),lUe(),mVe(),IVe(),rHe(),dGe(),kGe(),$Ge(),oWe(),LWe(),fZe(),RXe(),rYe(),TYe(),YYe(),uKe(),sJe(),SJe(),GJe(),A$e(),eQe()]);rQe.exports=tQe});return DQt();})();\n", - "/*!\n", - " * The buffer module from node.js, for the browser.\n", - " *\n", - " * @author Feross Aboukhadijeh <https://feross.org>\n", - " * @license MIT\n", - " */\n", - "/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\n", - "/*!\n", - " * Determine if an object is a Buffer\n", - " *\n", - " * @author Feross Aboukhadijeh <https://feross.org>\n", - " * @license MIT\n", - " */\n", - "/*!\n", - " * pad-left <https://github.com/jonschlinkert/pad-left>\n", - " *\n", - " * Copyright (c) 2014-2015, Jon Schlinkert.\n", - " * Licensed under the MIT license.\n", - " */\n", - "/*!\n", - " * repeat-string <https://github.com/jonschlinkert/repeat-string>\n", - " *\n", - " * Copyright (c) 2014-2015, Jon Schlinkert.\n", - " * Licensed under the MIT License.\n", - " */\n", - "/*! Bundled license information:\n", - "\n", - "native-promise-only/lib/npo.src.js:\n", - " (*! Native Promise Only\n", - " v0.8.1 (c) Kyle Simpson\n", - " MIT License: http://getify.mit-license.org\n", - " *)\n", - "\n", - "polybooljs/index.js:\n", - " (*\n", - " * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc\n", - " * @license MIT\n", - " * @preserve Project Home: https://github.com/voidqk/polybooljs\n", - " *)\n", - "\n", - "ieee754/index.js:\n", - " (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> *)\n", - "\n", - "buffer/index.js:\n", - " (*!\n", - " * The buffer module from node.js, for the browser.\n", - " *\n", - " * @author Feross Aboukhadijeh <https://feross.org>\n", - " * @license MIT\n", - " *)\n", - "\n", - "safe-buffer/index.js:\n", - " (*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *)\n", - "\n", - "assert/build/internal/util/comparisons.js:\n", - " (*!\n", - " * The buffer module from node.js, for the browser.\n", - " *\n", - " * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n", - " * @license MIT\n", - " *)\n", - "\n", - "object-assign/index.js:\n", - " (*\n", - " object-assign\n", - " (c) Sindre Sorhus\n", - " @license MIT\n", - " *)\n", - "\n", - "maplibre-gl/dist/maplibre-gl.js:\n", - " (**\n", - " * MapLibre GL JS\n", - " * @license 3-Clause BSD. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v4.7.1/LICENSE.txt\n", - " *)\n", - "*/\n", - "\n", - "window.Plotly = Plotly;\n", - "return Plotly;\n", - "}));</script> <div id=\"c6311f16-f19c-4a44-be7a-6c2709ea2729\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div> <script type=\"text/javascript\"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"c6311f16-f19c-4a44-be7a-6c2709ea2729\")) { Plotly.newPlot( \"c6311f16-f19c-4a44-be7a-6c2709ea2729\", [{\"hovertemplate\":\"speed=%{marker.size}\\u003cbr\\u003elat=%{lat}\\u003cbr\\u003elon=%{lon}\\u003cbr\\u003esnr=%{marker.color}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"lat\":{\"dtype\":\"f8\",\"bdata\":\"vMj7wrfFSEA9iilHv8VIQKB9m7TzxUhAD24hfgDGSEB6TRd7EsZIQC8FvZowxkhA5Lxiuk7GSEBMGGKzysZIQA\\u002f2dnvtxkhA0tOLQxDHSECVsaALM8dIQMEayv2+x0hAlemf+d3HSEBpuHX1\\u002fMdIQD2HS\\u002fEbyEhAJlFQBj7ISEBqhrBZfMhIQJchd3OByEhAw7w9jYbISEDwVwSni8hIQNAuW8LMyEhARflZl+DISEC7w1hs9MhIQDGOV0EIyUhA0b9wBxPJSEBO5IrqJslIQAqwtaYryUhA\\u002fiwS6irJSEApW6C0JMlIQKlL5z8LyUhAiXSJ9gfJSEBqvZM0EclIQB\\u002fRhZsZyUhA1eR3AiLJSEDWaQ9BVslIQLqVkNVuyUhAlhvSyY7JSEB+KRPppMlIQGU3VAi7yUhAAWGvyQ3KSEDZbi8nIMpIQLB8r4QyykhAUPJVuEbKSECJtPBpzMpIQJbUIgXzykhAAAncHRbLSEBNS8JAN8tIQK1YvNBTy0hAHCnX68jLSECF5ymb68tIQGkXV4UPzEhAW69teiHMSEDuAT5oP8xIQCZ+FJm6zEhAzEQlIdnMSEBxCzap98xIQBfSRjEWzUhA2LLFqIzNSEDN9EJypc1IQFy9TLbAzUhAuXg9BdfNSECvurrO781IQKR3Im9WzkhAPyqZA3LOSEASnjMWi85IQEmT0FmlzkhApvMVVh\\u002fPSEAebGNhPM9IQAQdYJNYz0hApq8ZYHHPSEBHQtMsis9IQETomNrvz0hA8Z0yQx7QSEAiYbA7RNBIQJEdPGxu0EhAit+TghzRSEC5KEEWSNFIQAbGfwV40UhANQ8tmaPRSEBkWNosz9FIQLLfReT\\u002f0UhAmnDkVvvRSECDAYPJ9tFIQGuSITzy0UhAVweC+KfRSEDqIVz5k9FIQH08Nvp\\u002f0UhAQrFThmHRSECd7xpXMdFIQBU8sshr0EhAaLarhTvQSEBrTGmQCtBIQG4e2QXGz0hAd8nJ4BDPSECY1gq95s5IQGcNPlu9zkhANkRx+ZPOSEAFe6SXas5IQFDCGFb4zUhAdzVvjO\\u002fNSEC7Tc7h5c1IQP5lLTfczUhApNpYNa3NSEA3LYsHoM1IQMp\\u002fvdmSzUhAXdLvq4XNSECksa7Pas1IQPWF\\u002fZbEzEhA8PFIDJzMSEARe\\u002fvzccxIQABWV\\u002fIxzEhA0M1POgTMSEA1\\u002fwpwS8tIQFrioIANy0hAfsU2kc\\u002fKSECjqMyhkcpIQPTakmW5yUhA8x+j4JrJSEClOGhOeclIQPGpw9ZdyUhACmryKTbJSEC0uaJlo8hIQGRK+5x6yEhAFNtT1FHISEBwrZv3JMhIQJCZB9Czx0hAjzcSCY7HSEDfQcCmjMdIQG91JruFx0hA\\u002f6iMz37HSEC+JLUzbsdIQL4ktTNux0hA3ouBXGDHSEDa3xDhlsdIQFUBku\\u002fBx0hAl2UHFOnHSEDYyXw4EMhIQBku8lw3yEhAcbLvVaLISEA5JKwZvMhIQACWaN3VyEhAulsnaPLISEBJ\\u002fJ0jEMlIQPr0nQqKyUhA7LJer5\\u002fJSEBCjmk9rclIQJhpdMu6yUhALWNpJfjJSEBE\\u002fwKLDspIQFubnPAkykhAcjc2VjvKSECJ08+7UcpIQDXnr2NwykhAgstVTG3KSEDPr\\u002fs0aspIQL33fs5mykhABYjslbXKSEAJTBX6zspIQEKZWiT6ykhAQplaJPrKSEB4WZdD8MpIQDuPBsfXykhAXd49vH7KSEAL1cOHZMpIQMlK789EykhAu1hF+ifKSEDumUqpuMlIQJYKCFanyUhAPXvFApbJSEDl64KvhMlIQIxcQFxzyUhAcuxSaWrJSEBj8oTrcclIQFP4tm15yUhARP7o74DJSECXRvZ0FslIQBzT4Jf1yEhAol\\u002fLutTISECFjzZoq8hIQBljKk15yEhAkUZF3qvHSEAoRWuHeMdIQM3vWUFAx0hAcZpI+wfHSECWaEavJsZIQEvM5akkxkhAADCFpCLGSEBIt2drIMZIQP0aB2YexkhAtyTPJTDGSEAWNPIkO8ZIQHVDFSRGxkhA1FI4I1HGSEDw00oHrsdIQIYlr1vjx0hAHXcTsBjISECzyHcETshIQEoa3FiDyEhANjUEwT\\u002fJSECvhigwbMlIQCjYTJ+YyUhAuuif28PJSEDWHfN3YcpIQBYsHMGLykhAbjmozazKSEBVSCxIuMpIQDxXsMLDykhADDMCxe3KSEAVdZK3xspIQB63IqqfykhAJvmynHjKSEBqHns04slIQNyp4ZfQyUhAIppTBr3JSEBoisV0qclIQK16N+OVyUhA82qpUYLJSEC86lfMr8hIQGXYmax9yEhAD8bbjEvISEAmfG19IchIQFKt2kD7x0hAAnKPTmLHSEAHSssiT8dIQMLLOrtAx0hAfE2qUzLHSEBPNhMpHsdIQDfd0D7ExkhA8C5AsaXGSECqgK8jh8ZIQGPSHpZoxkhAVZroiJPGSECsf7n8rsZIQAJlinDKxkhAWEpb5OXGSEBlqn5PGsdIQOFHk3c1yEhAEk+Yh3rISEDzNsxjkMhIQIT\\u002fLgx3yEhA2TX3JA\\u002fISEBHP3eT6MdIQAAqIyuux0hAuRTPwnPHSEBz\\u002f3paOcdIQH4d18glxkhAH3b6m8\\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\"},\"legendgroup\":\"\",\"lon\":{\"dtype\":\"f8\",\"bdata\":\"X3wYG9VEMkDjKZJMwkQyQNs+N3ZFRDJAm7p+AydEMkB8nB4x+0MyQKxsNyqwQzJA3DxQI2VDMkASXO\\u002fYNUIyQLcMRgUWQjJAW72cMfZBMkAAbvNd1kEyQLZSQo9AQTJAB2TpIgVBMkBZdZC2yUAyQKqGN0qOQDJAHYCi7ExAMkACfHyA2j4yQB8TIV1sPjJAPKrFOf49MkBZQWoWkD0yQEcBYEQsPDJAQHBTC947MkA430bSjzsyQDBOOplBOzJArrz6M+M6MkDP8WB1KTkyQPxf\\u002f0fAODJA8eM\\u002fD1c4MkCvfSLL7TcyQDgn3TM+NjJAxlO8P9Q1MkCPV7ysXDUyQFzPjfjvNDJAKkdfRIM0MkBCLHK6AjMyQMq105zNMjJAxxvsj4gyMkAosRDCWDIyQIlGNfQoMjJABUZFOSQxMkDVq69L4DAyQKQRGl6cMDJAOxuPpVEwMkBWPGDkhjAyQH\\u002fMvXafMDJA02ZBzbUwMkBfVDH2wzAyQBkEHgq\\u002fMDJAldTO26owMkB7iyTNmTAyQHPuwEpnMDJA7h+PCU4wMkASHTzyIzAyQIHKdoFRLzJAGI+2FPguMkCvU\\u002fanni4yQEYYNjtFLjJAc4DQ96AsMkCvq+tCLSwyQNj07\\u002futKzJAJwIi2UUrMkBkLT0k0ioyQKecUkq9KTJArkxRGXwpMkDipn7VQCkyQA7RogX\\u002fKDJA\\u002fUR6c6onMkBnVN5cWScyQHBEGBz7JjJA97apMmgmMkB+KTtJ1SUyQA5\\u002fj\\u002fJ6IzJAT8CciDAjMkBVgUqm8yIyQHkCKACwIjJAIv\\u002fE7aghMkBBhhckdyEyQH202F9AITJAnDsrlg4hMkC7wn3M3CAyQA18Nhu8HzJA7OLB\\u002f2ofMkDLSU3kGR8yQKqw2MjIHjJAAAgvLJUbMkDAw3rEvBoyQIF\\u002fxlzkGTJAdn1\\u002flQMZMkCnLB5nVxgyQFhhwnWVFTJA+gg1KOoUMkCTbBvCRhQyQJyR9\\u002f9hEzJA686YbAURMkCpFmx+VxAyQPoFr2SoDzJAS\\u002fXxSvkOMkCc5DQxSg4yQHNrimxLCzJABoeplX8KMkAp8n5cnwkyQEtdVCO\\u002fCDJAX2TvR4UFMkAWnIuNtQQyQM3TJ9PlAzJAhAvEGBYDMkA0h\\u002fyoWQIyQAaZMSqk\\u002fzFAsFgGBfv+MUDbkMB9Sv4xQIzPoTs7\\u002fTFA5iAeenn8MUDA3bhZvvkxQBDu++WJ+TFAX\\u002f4+clX5MUCvDoL+IPkxQEDKY1as9zFAI3+ojPT2MUDqEvRhKvYxQOnoMfmE9TFAdzqLDJb0MUCr2qaUz\\u002fExQLS9ncQT8TFAvKCU9FfwMUB4mopcie8xQH2mAHaM6zFAHA+vqTnqMUAqYwVhLeoxQG8HtfXv6TFAtatkirLpMUBbnHAiH+kxQFuccCIf6TFA5eTPS6ToMUBsn8hyluYxQDk7MLED5jFA3cgCR37lMUCBVtXc+OQxQCXkp3Jz5DFAIx5cr37iMUAY6WPUBOIxQA20a\\u002fmK4TFAZr9\\u002fTfngMUDpCplsXeAxQIPAgFLe3TFA9nUd2Q\\u002fdMUBXlT3HDtwxQLi0XbUN2zFAyCKvoNDWMUDnSWTIxNUxQAZxGfC41DFAJZjOF63TMUBDv4M\\u002fodIxQF1p\\u002fyppzjFAiPSn22TNMUCyf1CMYMwxQJTlCTVCyzFA5sZxzMjHMUCFGpjv88YxQK2ovxGKxTFArai\\u002fEYrFMUBI4M0iccQxQD800taBwzFAfgg\\u002fqxvAMUAiAhOBHr8xQNQTaubtvTFAMDu5\\u002fNi8MUDbcJRRXrgxQLRkiYc2tzFAjVh+vQ62MUBmTHPz5rQxQD9AaCm\\u002fszFAWgzCphyvMUCwtzRa\\u002f60xQAdjpw3irDFAXg4awcSrMUCoGSrLV6cxQCxy005FpjFAsMp80jKlMUAmFl1BBqQxQPh62lP4ojFAI2Wpn6WeMUAVtOPEop0xQIOrETXMnDFA8qI\\u002fpfWbMUBnTtZ8gJgxQMJXimFzlzFAHWE+RmaWMUA1ONFBPpUxQJBBhSYxlDFAi64zn8iPMUDPdGfrro4xQBM7mzeVjTFAWAHPg3uMMUAiF5muvoMxQE9Y6ObQgjFAe5k3H+OBMUCo2oZX9YAxQNQb1o8HgDFAkBRQi7F7MUCnKusFnHoxQL9AhoCGeTFAMcjORW94MUD7nJRq2nMxQCSLX7+fcjFATRey6XpxMUCZoFX9OnAxQOUp+RD7bjFAgQMB5t5pMUDAD8ImwmgxQP8bg2elZzFAPihEqIhmMUD43yebUGExQIckx3gqYDFAe+Lpp+NeMUBvoAzXnF0xQGNeLwZWXDFAVxxSNQ9bMUAWpHCqs1YxQProdw+qVTFA3i1\\u002fdKBUMUC\\u002f+dACbVMxQNGbMoRVUjFAGSS5ifdNMUAbzk1k2UwxQBo6L5W5SzFAGaYQxplKMUBKPUzXBkkxQHWx9dCpRDFAjf\\u002foHJtDMUCkTdxojEIxQLubz7R9QTFA66xZl3A9MUDpSwH7ejwxQOfqqF6FOzFA5YlQwo86MUB2oTMI9jkxQJO6cOZ6ODFAMM3QbR44MUDMT1yXkDcxQGVCE2PRNjFA2\\u002fEac8EzMUDLUFNXAjMxQD7STWBDMjFAsFNIaYQxMUAj1UJyxTAxQIZHmJVMLjFAjRKXEwEuMUCV3ZWRtS0xQNg1k3MPLTFA2DWTcw8tMUBxoNpfXisxQDIma+5lKDFAN2URINAnMUAB2zehbCcxQMtQXiIJJzFAgVpJm3olMUDJk6d+RyUxQJredgzXJDFAmt52DNckMUAChF7TniQxQEq9vLZrJDFAd2bE\\u002fZ4iMUDW4pUcJiIxQDRfZzutITFAPfeEokohMUAOeV7RIyExQL5\\u002frFkaITFAA4YloQMhMUC2f6rUPCAxQLZ\\u002fqtQ8IDFAS3\\u002fVky8gMUDffgBTIiAxQBh7gwurHzFA5XYxgyYfMUCZnUgWuB0xQFk8NyeiHTFAGNslOIwdMUDYeRRJdh0xQBOrKbpdHTFAeST0B2MdMUDfnb5VaB0xQEQXiaNtHTFAgdXbMmQdMUDSsDaxSxwxQF4XNm8AHDFA3EixqM8bMUDfPtls8BsxQEUDPJNnHDFAH9XR7XwcMUBoM9rsQBwxQF3GydQPHDFApSTS09MbMUDCcfJD4BoxQLuryVuIGjFA+w52cTgaMUA7ciKH6BkxQFCZJ9wzGTFAfyxKbCwZMUDY4ICpJRkxQDGVt+YeGTFAi0nuIxgZMUBwvkqnTxcxQMiryPPaFjFAH5lGQGYWMUB\\u002fperpzBUxQGeChBf0EjFAIk6XVEISMUAVNZtYrBExQD83kCMyETFAaDmF7rcQMUAoCsU4qw4xQPx9fpfRDTFA+Zy4dL8NMUDmN9vGZA0xQNTS\\u002fRgKDTFAwm0ga68MMUCwCEO9VAwxQJ6jZQ\\u002f6CzFAjD6IYZ8LMUDJtLnkowkxQGVK0tJoCTFATfFkf\\u002f4IMUCfdQOv8ggxQPL5od7mCDFA2aA0i3wIMUBmUASX+gcxQKbxcKaSBzFAD1wXwhgGMUBTuX7WsAUxQFy771B8BTFA1CTovnEFMUDabi9oRgUxQJrXInLuBDFAR78OZiIEMUDzpvpZVgMxQJ+O5k2KAjFA0n+CzAn\\u002fMEA50GCqD\\u002f4wQJ8gP4gV\\u002fTBABXEdZhv8MEBrwftDIfswQP9xED0w9zBA6RzD9jr2MEDSx3WwRfUwQP5O5dpU9DBAC7Wt5XfzMEAOy\\u002fppVPAwQI8QDouL7zBAwxGDRAPvMED3Evj9eu4wQAQYfaI+7DBAmA\\u002f74TPrMEBVyqkpjeowQBGFWHHm6TBAwP72YB7pMEDf\\u002fYsh2eUwQPuYjuLw5DBAFzSRowjkMEA0z5NkIOMwQGmRbZ0q4jBAT5FVtOfdMEApDvKg3dwwQFu\\u002fkm3U2zBArOrnRM3aMEDgtV5RltYwQPP7UP2P1TBAEa23+4zUMEAuXh76idMwQEsPhfiG0jBAuKHW8kLOMEBV94bKKM0wQFAi\\u002fGryyzBA7XesQtjKMEAlEjl9fsYwQDBvxElQxTBArmZajz3EMEAsXvDUKsMwQKpVhhoYwjBAE2rYmJq9MEAwU0EgXrwwQGI+z2w+uzBAdp+Ozz66MEDCRVUsX7YwQO39ck9ttTBAQOoCoIK0MEADpIm5nLMwQMddENO2sjBAhiEDxRGvMECa1MO1Q64wQK6HhKZ1rTBAwTpFl6esMECECphMmKkwQCrGc5b5qDBAYeFLAUuoMEAInSdLrKcwQK9YA5UNpzBAVL0wKL2kMEBgpGycDqQwQKmRmbOLozBAmJ3e1wijMEBeeSL3e6EwQDe1dyoboTBAGtBAg7qgMEBOwhwtW6AwQIK0+Nb7nzBA9MWAAHKeMEDWLOJgV54wQCOOrtY2njBAOnLFQRmeMEDH4CXkp50wQNcljDqSnTBA5mrykHydMED2r1jnZp0wQAb1vj1RnTBA0LtQQyicMEAQPAnSypswQE+8wWBtmzBAjjx67w+bMEBKIKC2BJowQE8c\\u002fmHHmTBAUxhcDYqZMEDPTTOoYZkwQMlS9TtCmTBAlc2QZsGYMECzcNvwvpgwQJTSK8rPmDBACwvRUuKYMEBHZLy1BJkwQJppYIrTmDBA7W4EX6KYMEBAdKgzcZgwQJN5TAhAmDBAxFrrP2mXMEAp8KRYMpcwQI+FXnH7ljBA9BoYisSWMEDLDfDQF5YwQPFkDnPylTBAF7wsFc2VMEDXdWnUqJUwQAunt5mOlTBAlD14DyOVMEDIbsbUCJUwQM7STAsKlTBAQa5nTg6VMEAzZe\\u002fHH5UwQKztdlchlTBATMCaviGVMEDskr4lIpUwQI1l4owilTBA\"},\"marker\":{\"color\":{\"dtype\":\"f8\",\"bdata\":\"AAAAAAAACEAAAAAAAAAYQAAAAAAAACRAAAAAAAAAGEAAAAAAAAAIQAAAAAAAAAjAAAAAAAAAHMAAAAAAAAAkQAAAAAAAAAAAAAAAAAAAFEAAAAAAAAAIQAAAAAAAABRAAAAAAAAAAMAAAAAAAAAUQAAAAAAAABhAAAAAAAAAFEAAAAAAAAAcQAAAAAAAABhAAAAAAAAAHEAAAAAAAAAIQAAAAAAAAPA\\u002fAAAAAAAAOEAAAAAAAAA2QAAAAAAAAC5AAAAAAAAAMUAAAAAAAAAIQAAAAAAAAAjAAAAAAAAA8D8AAAAAAAAIwAAAAAAAABjAAAAAAAAAEMAAAAAAAAAAwAAAAAAAAPA\\u002fAAAAAAAAAEAAAAAAAAAmQAAAAAAAACBAAAAAAAAAGMAAAAAAAAAmwAAAAAAAAADAAAAAAAAAMUAAAAAAAAA0QAAAAAAAACxAAAAAAAAALkAAAAAAAAAyQAAAAAAAADZAAAAAAAAAMUAAAAAAAAAuQAAAAAAAACZAAAAAAAAAHEAAAAAAAAAiwAAAAAAAACDAAAAAAAAANUAAAAAAAAAwQAAAAAAAACxAAAAAAAAAJkAAAAAAAAAYQAAAAAAAAAhAAAAAAAAAHEAAAAAAAADwPwAAAAAAADBAAAAAAAAAHEAAAAAAAAAYwAAAAAAAABRAAAAAAAAAIsAAAAAAAAAUwAAAAAAAACDAAAAAAAAA8L8AAAAAAAAIwAAAAAAAAPA\\u002fAAAAAAAACEAAAAAAAADwPwAAAAAAACLAAAAAAAAAGEAAAAAAAAAQwAAAAAAAAAAAAAAAAAAAIMAAAAAAAAAyQAAAAAAAADhAAAAAAAAAN0AAAAAAAAAxQAAAAAAAADZAAAAAAAAAMEAAAAAAAAAqQAAAAAAAACpAAAAAAAAAFEAAAAAAAAAoQAAAAAAAACxAAAAAAAAAEEAAAAAAAAAkQAAAAAAAABhAAAAAAAAAMUAAAAAAAAAYQAAAAAAAACjAAAAAAAAAGEAAAAAAAAAIQAAAAAAAABRAAAAAAAAALkAAAAAAAAAUwAAAAAAAAAhAAAAAAAAACEAAAAAAAAAUQAAAAAAAABBAAAAAAAAACEAAAAAAAAAIQAAAAAAAAPC\\u002fAAAAAAAAAMAAAAAAAAAywAAAAAAAADVAAAAAAAAALkAAAAAAAADwvwAAAAAAACLAAAAAAAAAMsAAAAAAAAAgQAAAAAAAADBAAAAAAAAAKEAAAAAAAAAkQAAAAAAAACJAAAAAAAAACEAAAAAAAAAgQAAAAAAAAPC\\u002fAAAAAAAAAMAAAAAAAAAYQAAAAAAAAChAAAAAAAAAIkAAAAAAAAAiQAAAAAAAABBAAAAAAAAAKsAAAAAAAAAAAAAAAAAAABjAAAAAAAAAMsAAAAAAAAAcwAAAAAAAAC7AAAAAAAAALEAAAAAAAAAsQAAAAAAAACpAAAAAAAAAFEAAAAAAAAAgQAAAAAAAAChAAAAAAAAAGEAAAAAAAAAcwAAAAAAAACDAAAAAAAAAIsAAAAAAAAA3QAAAAAAAAC5AAAAAAAAALEAAAAAAAAAoQAAAAAAAACBAAAAAAAAA8D8AAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAUQAAAAAAAACZAAAAAAAAANkAAAAAAAAAsQAAAAAAAABjAAAAAAAAAAMAAAAAAAAAqwAAAAAAAAAjAAAAAAAAAIsAAAAAAAAAUQAAAAAAAACRAAAAAAAAAMEAAAAAAAAAuQAAAAAAAABBAAAAAAAAAMEAAAAAAAAAqQAAAAAAAABjAAAAAAAAAGMAAAAAAAADwvwAAAAAAABhAAAAAAAAA8D8AAAAAAAAgQAAAAAAAABhAAAAAAAAACMAAAAAAAADwPwAAAAAAAPC\\u002fAAAAAAAAFMAAAAAAAAAQQAAAAAAAAABAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAHEAAAAAAAAAiQAAAAAAAACBAAAAAAAAALkAAAAAAAAAgQAAAAAAAABhAAAAAAAAAMUAAAAAAAAAyQAAAAAAAADJAAAAAAAAAMkAAAAAAAAAwQAAAAAAAAADAAAAAAAAAFEAAAAAAAAAiQAAAAAAAACZAAAAAAAAAKkAAAAAAAAAqQAAAAAAAACpAAAAAAAAAKkAAAAAAAAAqQAAAAAAAACRAAAAAAAAAJEAAAAAAAAAoQAAAAAAAAChAAAAAAAAAGEAAAAAAAAAcwAAAAAAAABRAAAAAAAAAAMAAAAAAAAAAQAAAAAAAABzAAAAAAAAA8L8AAAAAAAAcwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAAAAAAAAAACJAAAAAAAAAIEAAAAAAAAAAAAAAAAAAAPA\\u002fAAAAAAAAKkAAAAAAAAAQQAAAAAAAACRAAAAAAAAAGEAAAAAAAAAQwAAAAAAAACZAAAAAAAAAKEAAAAAAAAAoQAAAAAAAACZAAAAAAAAAJEAAAAAAAAAkQAAAAAAAAAhAAAAAAAAAIkAAAAAAAAAQQAAAAAAAABhAAAAAAAAAIkAAAAAAAAAiQAAAAAAAAPA\\u002fAAAAAAAAIkAAAAAAAAAiQAAAAAAAAAjAAAAAAAAAFEAAAAAAAAAgQAAAAAAAACJAAAAAAAAAGEAAAAAAAAAkQAAAAAAAACBAAAAAAAAAIMAAAAAAAAAAwAAAAAAAAPC\\u002fAAAAAAAAEEAAAAAAAADwPwAAAAAAAABAAAAAAAAAHEAAAAAAAAAiwAAAAAAAAADAAAAAAAAAIMAAAAAAAAAiQAAAAAAAAABAAAAAAAAAJkAAAAAAAAAIQAAAAAAAACbAAAAAAAAA8D8AAAAAAAAiQAAAAAAAACJAAAAAAAAACEAAAAAAAAAIwAAAAAAAACjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxAAAAAAAAAFEAAAAAAAAAcQAAAAAAAACJAAAAAAAAA8L8AAAAAAAAUwAAAAAAAABBAAAAAAAAAJEAAAAAAAAAmQAAAAAAAAChAAAAAAAAAAEAAAAAAAAAAQAAAAAAAACZAAAAAAAAAJkAAAAAAAAAmQAAAAAAAACRAAAAAAAAAJkAAAAAAAAAiQAAAAAAAACJAAAAAAAAAIkAAAAAAAAAoQAAAAAAAAAhAAAAAAAAAJkAAAAAAAAAgQAAAAAAAABxAAAAAAAAAKEAAAAAAAAAqQAAAAAAAACpAAAAAAAAAGEAAAAAAAAAiQAAAAAAAACJAAAAAAAAAJEAAAAAAAAAYQAAAAAAAABDAAAAAAAAAFEAAAAAAAAAAwAAAAAAAAADAAAAAAAAAFEAAAAAAAADwPwAAAAAAACzAAAAAAAAAAAAAAAAAAADwPwAAAAAAABxAAAAAAAAA8D8AAAAAAADwPwAAAAAAAAhAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAPA\\u002fAAAAAAAA8L8AAAAAAAAgwAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAkwAAAAAAAAAAAAAAAAAAAEEAAAAAAAAAIQAAAAAAAABBAAAAAAAAA8L8AAAAAAAAcQAAAAAAAACJAAAAAAAAAJkAAAAAAAADwPwAAAAAAACBAAAAAAAAAEMAAAAAAAAAoQAAAAAAAACRAAAAAAAAAJkAAAAAAAAAYQAAAAAAAACpAAAAAAAAAIkAAAAAAAAAiQAAAAAAAAChAAAAAAAAAKEAAAAAAAAAqQAAAAAAAACZAAAAAAAAAIEAAAAAAAADwPwAAAAAAACJAAAAAAAAAJMAAAAAAAADwvwAAAAAAABDAAAAAAAAAFMAAAAAAAAAQwAAAAAAAACBAAAAAAAAAKsAAAAAAAAAmwAAAAAAAABhAAAAAAAAACEAAAAAAAAAiQAAAAAAAAPA\\u002fAAAAAAAAKEAAAAAAAAAmQAAAAAAAACZAAAAAAAAAKEAAAAAAAAAoQAAAAAAAACpAAAAAAAAALEAAAAAAAAAmQAAAAAAAACBAAAAAAAAA8L8AAAAAAAAcQAAAAAAAABRAAAAAAAAAKEAAAAAAAAAAwAAAAAAAABBAAAAAAAAAJEAAAAAAAAAAQAAAAAAAACBAAAAAAAAAIEAAAAAAAAAYQAAAAAAAACRAAAAAAAAAHEAAAAAAAAAgQAAAAAAAACpAAAAAAAAACEAAAAAAAAAgQAAAAAAAACJAAAAAAAAAGMAAAAAAAAAAwAAAAAAAACZAAAAAAAAAJEAAAAAAAAAcQAAAAAAAAPA\\u002fAAAAAAAAIkAAAAAAAADwPwAAAAAAAADAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAALMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAIsAAAAAAAAAUwAAAAAAAAAjAAAAAAAAAAMAAAAAAAAAkwAAAAAAAAABAAAAAAAAAEEAAAAAAAADwPwAAAAAAABBAAAAAAAAAIEAAAAAAAAAgQAAAAAAAABxAAAAAAAAAHMAAAAAAAAAAwAAAAAAAACJAAAAAAAAAGEAAAAAAAAAoQAAAAAAAACZAAAAAAAAAKEAAAAAAAAAqQAAAAAAAACJAAAAAAAAAHEAAAAAAAAAUwAAAAAAAACRAAAAAAAAAIkAAAAAAAADwvwAAAAAAACRAAAAAAAAAKkAAAAAAAAAqQAAAAAAAACpAAAAAAAAACEAAAAAAAAAYQAAAAAAAACbAAAAAAAAAFEAAAAAAAAAoQAAAAAAAAChAAAAAAAAAKEAAAAAAAAAqQAAAAAAAAChAAAAAAAAAKEAAAAAAAAAqQAAAAAAAACpAAAAAAAAAJEAAAAAAAAAqQAAAAAAAABRA\"},\"coloraxis\":\"coloraxis\",\"opacity\":1,\"size\":{\"dtype\":\"f8\",\"bdata\":\"AAAAAAAAAAAAAAAAAAAAACuHFtnO90ZAK4cW2c73RkArhxbZzvdGQCuHFtnO90ZAK4cW2c73RkD+1HjpJjFIQP7UeOkmMUhA\\u002ftR46SYxSED+1HjpJjFIQBSuR+F61ElAFK5H4XrUSUAUrkfhetRJQLbz\\u002fdR46UhAtvP91HjpSEC28\\u002f3UeOlIQIgW2c73E0VAiBbZzvcTRUCIFtnO9xNFQIgW2c73E0VAEVg5tMh2RkARWDm0yHZGQBFYObTIdkZAEVg5tMh2RkC28\\u002f3UeKlGQLbz\\u002fdR4qUZAtvP91HipRkC28\\u002f3UeKlGQEJg5dAiW0ZAQmDl0CJbRkBCYOXQIltGQEJg5dAiW0ZAtMh2vp9aSEC0yHa+n1pIQLTIdr6fWkhAK4cW2c53O0ArhxbZznc7QCuHFtnOdztAK4cW2c53O0C8dJMYBFZIQLx0kxgEVkhAvHSTGARWSEAEVg4tst1JQARWDi2y3UlABFYOLbLdSUAEVg4tst1JQARWDi2y3UlA8KfGSzeJRkDwp8ZLN4lGQPCnxks3iUZA8KfGSzeJRkDwp8ZLN4lGQPYoXI\\u002fCNUhA9ihcj8I1SED2KFyPwjVIQIGVQ4tsJ1FAgZVDi2wnUUCBlUOLbCdRQNijcD0Kl0ZA2KNwPQqXRkDYo3A9CpdGQDzfT42XrkRAPN9PjZeuREA830+Nl65EQDzfT42XrkRAqvHSTWKQTkCq8dJNYpBOQKrx0k1ikE5AqvHSTWKQTkCq8dJNYpBOQESLbOf76U9ARIts5\\u002fvpT0BEi2zn++lPQESLbOf76U9A\\u002fKnx0k1CVED8qfHSTUJUQPyp8dJNQlRAfT81XrqJREB9PzVeuolEQH0\\u002fNV66iURAfT81XrrJT0B9PzVeuslPQH0\\u002fNV66yU9AXI\\u002fC9Sj8V0Bcj8L1KPxXQFyPwvUo\\u002fFdAXI\\u002fC9Sj8V0Bcj8L1KPxXQJQYBFYOLVZAlBgEVg4tVkCUGARWDi1WQJQYBFYOLVZAiUFg5dDCVkCJQWDl0MJWQIlBYOXQwlZAiUFg5dDCVkAxCKwcWiRUQDEIrBxaJFRAMQisHFokVEDVeOkmMchTQNV46SYxyFNA1XjpJjHIU0DNzMzMzOxUQM3MzMzM7FRAzczMzMzsVEDNzMzMzOxUQBKDwMqhJVhAEoPAyqElWEASg8DKoSVYQBKDwMqhJVhAEoPAyqElWEBSuB6F61FWQFK4HoXrUVZAUrgehetRVkBeukkMAitVQF66SQwCK1VAXrpJDAIrVUBKDAIrhxZUQEoMAiuHFlRASgwCK4cWVEBKDAIrhxZUQIXrUbgeJVpAhetRuB4lWkCF61G4HiVaQD81XrpJDEhAPzVeukkMSEA\\u002fNV66SQxIQD81XrpJDEhAPzVeukkMSEDkpZvEIPBQQOSlm8Qg8FBA5KWbxCDwUEDkpZvEIPBQQGdmZmZmpklAZ2ZmZmamSUBnZmZmZqZJQGdmZmZmpklADAIrhxYZTEAMAiuHFhlMQAwCK4cWGUxADAIrhxYZTEAMAiuHFhlMQPT91HjpRlRA9P3UeOlGVED0\\u002fdR46UZUQPT91HjpRlRArBxaZDvfXECsHFpkO99cQKwcWmQ731xAd76fGi\\u002fdW0B3vp8aL91bQHe+nxov3VtA7FG4HoULW0DsUbgehQtbQOxRuB6FC1tAmpmZmZn5WECamZmZmflYQJqZmZmZ+VhAmpmZmZn5WECamZmZmflYQJqZmZmZ+VhA9P3UeOlmXkD0\\u002fdR46WZeQPT91HjpZl5A9P3UeOlmXkD5U+Olm2ReQPlT46WbZF5A+VPjpZtkXkBDYOXQIjteQENg5dAiO15AQ2Dl0CI7XkCLbOf7qfFcQIts5\\u002fup8VxAi2zn+6nxXEBDYOXQIltfQENg5dAiW19AQ2Dl0CJbX0BDYOXQIltfQENg5dAiW19A6iYxCKzcXUDqJjEIrNxdQOomMQis3F1A6iYxCKzcXUC4HoXrUdhcQLgehetR2FxAuB6F61HYXECmm8QgsHJdQKabxCCwcl1AppvEILByXUCmm8QgsHJdQP7UeOkmkVtA\\u002ftR46SaRW0CiRbbz\\u002fVRcQKJFtvP9VFxARbbz\\u002fdS4YEBFtvP91LhgQEW28\\u002f3UuGBAIbByaJFNXkAhsHJokU1eQCGwcmiRTV5AIbByaJFNXkDufD81XupgQO58PzVe6mBA7nw\\u002fNV7qYEDufD81XupgQO58PzVe6mBAoUW28\\u002f2UXkChRbbz\\u002fZReQKFFtvP9lF5AoUW28\\u002f2UXkBzaJHtfD9fQHNoke18P19AfT81XrqpXkB9PzVeuqleQH0\\u002fNV66qV5AfT81XrqpXkAL16NwPepeQAvXo3A96l5AC9ejcD3qXkAL16NwPepeQAvXo3A96l5AIbByaJEtXUAhsHJokS1dQCGwcmiRLV1AIbByaJEtXUASg8DKoaVcQBKDwMqhpVxAEoPAyqGlXEA730+Nl65dQDvfT42Xrl1AO99PjZeuXUDkpZvEIBBbQOSlm8QgEFtA5KWbxCAQW0DkpZvEIBBbQPCnxks3SVRA8KfGSzdJVEDwp8ZLN0lUQPCnxks3SVRAiUFg5dDiV0CJQWDl0OJXQIlBYOXQ4ldAiUFg5dDiV0Bh5dAi23lcQGHl0CLbeVxAYeXQItt5XEACK4cW2a5cQAIrhxbZrlxAAiuHFtmuXEACK4cW2a5cQKwcWmQ7n1pArBxaZDufWkCsHFpkO59aQKwcWmQ7n1pAYxBYObTIWkBjEFg5tMhaQFCNl24Sg1xAUI2XbhKDXEBQjZduEoNcQFCNl24Sg1xAtvP91HgJWkC28\\u002f3UeAlaQLbz\\u002fdR4CVpAtvP91HgJWkCF61G4HqVVQIXrUbgepVVAhetRuB6lVUCF61G4HqVVQIXrUbgepVVAhetRuB6lVUCF61G4HqVVQIXrUbgepVVAv58aL93EV0C\\u002fnxov3cRXQL+fGi\\u002fdxFdAeekmMQisHkB56SYxCKweQHnpJjEIrB5AAAAAAAAAO0AAAAAAAAA7QAAAAAAAADtAAAAAAAAAO0AZBFYOLVJVQBkEVg4tUlVAGQRWDi1SVUAZBFYOLVJVQJHtfD81\\u002flhAke18PzX+WECR7Xw\\u002fNf5YQJHtfD81\\u002flhA8tJNYhB4WkDy0k1iEHhaQPLSTWIQeFpA8tJNYhB4WkDVeOkmMYhaQNV46SYxiFpA1XjpJjGIWkDn+6nx0g1bQOf7qfHSDVtA5\\u002fup8dINW0DVeOkmMWhZQNV46SYxaFlA1XjpJjFoWUDVeOkmMWhZQEW28\\u002f3UuFlARbbz\\u002fdS4WUBFtvP91LhZQEW28\\u002f3UuFlARbbz\\u002fdS4WUCJQWDl0EJbQIlBYOXQQltAiUFg5dBCW0CJQWDl0EJbQIlBYOXQQltAAAAAAADgWUAAAAAAAOBZQAAAAAAA4FlAAAAAAADgWUAAAAAAAOBZQAAAAAAA4FlAQmDl0CL7W0BCYOXQIvtbQEJg5dAi+1tAQmDl0CL7W0BCYOXQIvtbQEJg5dAi+1tA5\\u002fup8dINW0Dn+6nx0g1bQOf7qfHSDVtA5\\u002fup8dINW0CsHFpkO39ZQKwcWmQ7f1lArBxaZDt\\u002fWUCsHFpkO39ZQDm0yHa+\\u002f1tAObTIdr7\\u002fW0A5tMh2vv9bQHE9CtejcFxAcT0K16NwXEBxPQrXo3BcQM73U+OlW11AzvdT46VbXUDO91PjpVtdQM73U+OlW11AzvdT46VbXUB3vp8aL91bQHe+nxov3VtAd76fGi\\u002fdW0B3vp8aL91bQAIrhxbZzl1AAiuHFtnOXUACK4cW2c5dQPCnxks3KVxA8KfGSzcpXEDwp8ZLNylcQFYOLbKd71tAVg4tsp3vW0BWDi2yne9bQFYOLbKd71tAMQisHFoEXEAxCKwcWgRcQDEIrBxaBFxAMQisHFoEXEBEi2zn+wlYQESLbOf7CVhARIts5\\u002fsJWEBEi2zn+wlYQKnGSzeJ4VxAqcZLN4nhXECpxks3ieFcQHnpJjEIjF1AeekmMQiMXUB56SYxCIxdQHnpJjEIjF1ASOF6FK6HXEBI4XoUrodcQEjhehSuh1xAbef7qfFyXEBt5\\u002fup8XJcQG3n+6nxclxAbef7qfFyXEDByqFFtlNYQMHKoUW2U1hAwcqhRbZTWEDByqFFtlNYQMHKoUW2U1hAwcqhRbYzV0DByqFFtjNXQMHKoUW2M1dAYxBYObSoUEBjEFg5tKhQQGMQWDm0qFBAUrgehevRSkBSuB6F69FKQFK4HoXr0UpAarx0kxiESEBqvHSTGIRIQGq8dJMYhEhAarx0kxiESEBI4XoUrodDQEjhehSuh0NASOF6FK6HQ0BI4XoUrodDQEjhehSuh0NAPN9PjZduQkA830+Nl25CQDzfT42XbkJAPN9PjZduQkCoxks3iUE3QKjGSzeJQTdAqMZLN4lBN0DYo3A9CldEQNijcD0KV0RA2KNwPQpXREBEi2zn+2lCQESLbOf7aUJARIts5\\u002ftpQkDByqFFtvNEQMHKoUW280RAwcqhRbbzREDByqFFtvNEQMHKoUW280RApHA9CtejOkCkcD0K16M6QKRwPQrXozpApHA9CtejOkB9PzVeuklCQH0\\u002fNV66SUJAfT81XrpJQkDufD81XnpBQO58PzVeekFA7nw\\u002fNV56QUDHSzeJQSBCQMdLN4lBIEJAx0s3iUEgQkBnZmZmZuZCQGdmZmZm5kJAZ2ZmZmbmQkBnZmZmZuZCQGdmZmZm5kJAEoPAyqFFEEASg8DKoUUQQBKDwMqhRRBAEoPAyqFFEEAw3SQGgZUDQDDdJAaBlQNAMN0kBoGVA0Aw3SQGgZUDQBfZzvdT4+U\\u002f\"},\"sizemode\":\"area\",\"sizeref\":1.3532400000000002},\"mode\":\"markers\",\"name\":\"\",\"showlegend\":false,\"subplot\":\"map\",\"type\":\"scattermap\"}], {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermap\":[{\"type\":\"scattermap\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"map\":{\"domain\":{\"x\":[0.0,1.0],\"y\":[0.0,1.0]},\"center\":{\"lat\":49.4500818735672,\"lon\":17.419228472787495},\"zoom\":8,\"style\":\"open-street-map\"},\"coloraxis\":{\"colorbar\":{\"title\":{\"text\":\"snr\"}},\"colorscale\":[[0.0,\"rgb(0,0,131)\"],[0.2,\"rgb(0,60,170)\"],[0.4,\"rgb(5,255,255)\"],[0.6,\"rgb(255,255,0)\"],[0.8,\"rgb(250,0,0)\"],[1.0,\"rgb(128,0,0)\"]]},\"legend\":{\"tracegroupgap\":0,\"itemsizing\":\"constant\"},\"margin\":{\"t\":60},\"mapbox\":{\"center\":{\"lat\":49.4500818735672,\"lon\":17.419228472787495},\"zoom\":8,\"style\":\"open-street-map\"}}, {\"responsive\": true} ).then(function(){\n", - " \n", - "var gd = document.getElementById('c6311f16-f19c-4a44-be7a-6c2709ea2729');\n", - "var x = new MutationObserver(function (mutations, observer) {{\n", - " var display = window.getComputedStyle(gd).display;\n", - " if (!display || display === 'none') {{\n", - " console.log([gd, 'removed!']);\n", - " Plotly.purge(gd);\n", - " observer.disconnect();\n", - " }}\n", - "}});\n", - "\n", - "// Listen for the removal of the full notebook cells\n", - "var notebookContainer = gd.closest('#notebook-container');\n", - "if (notebookContainer) {{\n", - " x.observe(notebookContainer, {childList: true});\n", - "}}\n", - "\n", - "// Listen for the clearing of the current output cell\n", - "var outputEl = gd.closest('.output');\n", - "if (outputEl) {{\n", - " x.observe(outputEl, {childList: true});\n", - "}}\n", - "\n", - " }) }; </script> </div>" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "fig = px.scatter_map(df, lat='lat', lon='lon',color=\"snr\", opacity=1, size='speed', size_max=10,\n", - " map_style=\"open-street-map\", color_continuous_scale='jet', zoom=8)\n", - "fig.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "id": "4e0a0ef0-1cb3-42f1-b325-2d89fde64f04", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.plotly.v1+json": { - "config": { - "plotlyServerURL": "https://plot.ly" - }, - "data": [ - { - "hovertemplate": "battery=%{marker.size}<br>lat=%{lat}<br>lon=%{lon}<br>humi=%{marker.color}<extra></extra>", - "lat": { - "bdata": "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", - "dtype": "f8" - }, - "legendgroup": "", - "lon": { - "bdata": "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", - "dtype": "f8" - }, - "marker": { - "color": { - "bdata": "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", - "dtype": "f8" - }, - "coloraxis": "coloraxis", - "opacity": 1, - "size": { - "bdata": "SkpLS0tLS0tLS0tMTExNTU1OTk5OTk5OTk5OTk5PT09PUFBQUFBQUFFRUVFRUVFRUlJSUlJSUlJSUlJTU1NUVFRUVVVVVVVVVVVVVVVVVlZWVlZWV1dXV1dXV1dXV1dXV1hYWFhYWFlZWVlZWVlZWVlZWVlZWVlZWVlYWFhYWFhYWFhYWFhXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1ZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZW", - "dtype": "i1" - }, - "sizemode": "area", - "sizeref": 1.0987654320987654 - }, - "mode": "markers", - "name": "", - "showlegend": false, - "subplot": "map", - "type": "scattermap" - } - ], - "layout": { - "coloraxis": { - "colorbar": { - "title": { - "text": "humi" - } - }, - "colorscale": [ - [ - 0, - "rgb(0,0,131)" - ], - [ - 0.2, - "rgb(0,60,170)" - ], - [ - 0.4, - "rgb(5,255,255)" - ], - [ - 0.6, - "rgb(255,255,0)" - ], - [ - 0.8, - "rgb(250,0,0)" - ], - [ - 1, - "rgb(128,0,0)" - ] - ] - }, - "legend": { - "itemsizing": "constant", - "tracegroupgap": 0 - }, - "map": { - "center": { - "lat": 49.4500818735672, - "lon": 17.419228472787495 - }, - "domain": { - "x": [ - 0, - 1 - ], - "y": [ - 0, - 1 - ] - }, - "style": "open-street-map", - "zoom": 8 - }, - "mapbox": { - "center": { - "lat": 49.4500818735672, - "lon": 17.419228472787495 - }, - "style": "open-street-map", - "zoom": 8 - }, - "margin": { - "t": 60 - }, - "template": { - "data": { - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "choropleth": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "choropleth" - } - ], - "contour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "contour" - } - ], - "contourcarpet": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "contourcarpet" - } - ], - "heatmap": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmap" - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "histogram2d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2d" - } - ], - "histogram2dcontour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2dcontour" - } - ], - "mesh3d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "mesh3d" - } - ], - "parcoords": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "parcoords" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "scatter3d": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatter3d" - } - ], - "scattercarpet": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattercarpet" - } - ], - "scattergeo": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergeo" - } - ], - "scattergl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergl" - } - ], - "scattermap": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermap" - } - ], - "scattermapbox": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermapbox" - } - ], - "scatterpolar": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolar" - } - ], - "scatterpolargl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolargl" - } - ], - "scatterternary": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterternary" - } - ], - "surface": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "surface" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ] - }, - "layout": { - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "autotypenumbers": "strict", - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ], - "sequential": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ] - }, - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "geo": { - "bgcolor": "white", - "lakecolor": "white", - "landcolor": "#E5ECF6", - "showlakes": true, - "showland": true, - "subunitcolor": "white" - }, - "hoverlabel": { - "align": "left" - }, - "hovermode": "closest", - "mapbox": { - "style": "light" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "ternary": { - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "title": { - "x": 0.05 - }, - "xaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - }, - "yaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - } - } - } - } - }, - "text/html": [ - "<div> <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script> <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n", - " <script type=\"text/javascript\">/**\n", - "* plotly.js v3.0.1\n", - "* Copyright 2012-2025, Plotly, Inc.\n", - "* All rights reserved.\n", - "* Licensed under the MIT license\n", - "*/\n", - "(\n", - " function(root, factory) {\n", - " if (typeof module === \"object\" && module.exports) {\n", - " module.exports = factory();\n", - " } else {\n", - " root.moduleName = factory();\n", - " }\n", - "} (typeof self !== \"undefined\" ? self : this, () => {\n", - "\"use strict\";var Plotly=(()=>{var VQe=Object.create;var MS=Object.defineProperty,HQe=Object.defineProperties,GQe=Object.getOwnPropertyDescriptor,jQe=Object.getOwnPropertyDescriptors,WQe=Object.getOwnPropertyNames,XQ=Object.getOwnPropertySymbols,ZQe=Object.getPrototypeOf,KQ=Object.prototype.hasOwnProperty,XQe=Object.prototype.propertyIsEnumerable;var YQ=(e,t,r)=>t in e?MS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,JQ=(e,t)=>{for(var r in t||(t={}))KQ.call(t,r)&&YQ(e,r,t[r]);if(XQ)for(var r of XQ(t))XQe.call(t,r)&&YQ(e,r,t[r]);return e},$Q=(e,t)=>HQe(e,jQe(t));var Ll=(e,t)=>()=>(e&&(t=e(e=0)),t);var ye=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),QQ=(e,t)=>{for(var r in t)MS(e,r,{get:t[r],enumerable:!0})},eee=(e,t,r,n)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let i of WQe(t))!KQ.call(e,i)&&i!==r&&MS(e,i,{get:()=>t[i],enumerable:!(n=GQe(t,i))||n.enumerable});return e};var YQe=(e,t,r)=>(r=e!=null?VQe(ZQe(e)):{},eee(t||!e||!e.__esModule?MS(r,\"default\",{value:e,enumerable:!0}):r,e)),B1=e=>eee(MS({},\"__esModule\",{value:!0}),e);var e6=ye(tee=>{\"use strict\";tee.version=\"3.0.1\"});var iee=ye((ree,t6)=>{(function(t,r,n){r[t]=r[t]||n(),typeof t6!=\"undefined\"&&t6.exports&&(t6.exports=r[t])})(\"Promise\",typeof window!=\"undefined\"?window:ree,function(){\"use strict\";var t,r,n,i=Object.prototype.toString,a=typeof setImmediate!=\"undefined\"?function(E){return setImmediate(E)}:setTimeout;try{Object.defineProperty({},\"x\",{}),t=function(E,k,A,L){return Object.defineProperty(E,k,{value:A,writable:!0,configurable:L!==!1})}}catch(p){t=function(k,A,L){return k[A]=L,k}}n=function(){var E,k,A;function L(_,C){this.fn=_,this.self=C,this.next=void 0}return{add:function(C,M){A=new L(C,M),k?k.next=A:E=A,k=A,A=void 0},drain:function(){var C=E;for(E=k=r=void 0;C;)C.fn.call(C.self),C=C.next}}}();function o(p,E){n.add(p,E),r||(r=a(n.drain))}function s(p){var E,k=typeof p;return p!=null&&(k==\"object\"||k==\"function\")&&(E=p.then),typeof E==\"function\"?E:!1}function l(){for(var p=0;p<this.chain.length;p++)u(this,this.state===1?this.chain[p].success:this.chain[p].failure,this.chain[p]);this.chain.length=0}function u(p,E,k){var A,L;try{E===!1?k.reject(p.msg):(E===!0?A=p.msg:A=E.call(void 0,p.msg),A===k.promise?k.reject(TypeError(\"Promise-chain cycle\")):(L=s(A))?L.call(A,k.resolve,k.reject):k.resolve(A))}catch(_){k.reject(_)}}function c(p){var E,k=this;if(!k.triggered){k.triggered=!0,k.def&&(k=k.def);try{(E=s(p))?o(function(){var A=new d(k);try{E.call(p,function(){c.apply(A,arguments)},function(){f.apply(A,arguments)})}catch(L){f.call(A,L)}}):(k.msg=p,k.state=1,k.chain.length>0&&o(l,k))}catch(A){f.call(new d(k),A)}}}function f(p){var E=this;E.triggered||(E.triggered=!0,E.def&&(E=E.def),E.msg=p,E.state=2,E.chain.length>0&&o(l,E))}function h(p,E,k,A){for(var L=0;L<E.length;L++)(function(C){p.resolve(E[C]).then(function(g){k(C,g)},A)})(L)}function d(p){this.def=p,this.triggered=!1}function v(p){this.promise=p,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function x(p){if(typeof p!=\"function\")throw TypeError(\"Not a function\");if(this.__NPO__!==0)throw TypeError(\"Not a promise\");this.__NPO__=1;var E=new v(this);this.then=function(A,L){var _={success:typeof A==\"function\"?A:!0,failure:typeof L==\"function\"?L:!1};return _.promise=new this.constructor(function(M,g){if(typeof M!=\"function\"||typeof g!=\"function\")throw TypeError(\"Not a function\");_.resolve=M,_.reject=g}),E.chain.push(_),E.state!==0&&o(l,E),_.promise},this.catch=function(A){return this.then(void 0,A)};try{p.call(void 0,function(A){c.call(E,A)},function(A){f.call(E,A)})}catch(k){f.call(E,k)}}var b=t({},\"constructor\",x,!1);return x.prototype=b,t(b,\"__NPO__\",0,!1),t(x,\"resolve\",function(E){var k=this;return E&&typeof E==\"object\"&&E.__NPO__===1?E:new k(function(L,_){if(typeof L!=\"function\"||typeof _!=\"function\")throw TypeError(\"Not a function\");L(E)})}),t(x,\"reject\",function(E){return new this(function(A,L){if(typeof A!=\"function\"||typeof L!=\"function\")throw TypeError(\"Not a function\");L(E)})}),t(x,\"all\",function(E){var k=this;return i.call(E)!=\"[object Array]\"?k.reject(TypeError(\"Not an array\")):E.length===0?k.resolve([]):new k(function(L,_){if(typeof L!=\"function\"||typeof _!=\"function\")throw TypeError(\"Not a function\");var C=E.length,M=Array(C),g=0;h(k,E,function(T,F){M[T]=F,++g===C&&L(M)},_)})}),t(x,\"race\",function(E){var k=this;return i.call(E)!=\"[object Array]\"?k.reject(TypeError(\"Not an array\")):new k(function(L,_){if(typeof L!=\"function\"||typeof _!=\"function\")throw TypeError(\"Not a function\");h(k,E,function(M,g){L(g)},_)})}),x})});var xa=ye((qQt,r6)=>{(function(){var e={version:\"3.8.2\"},t=[].slice,r=function(Z){return t.call(Z)},n=self.document;function i(Z){return Z&&(Z.ownerDocument||Z.document||Z).documentElement}function a(Z){return Z&&(Z.ownerDocument&&Z.ownerDocument.defaultView||Z.document&&Z||Z.defaultView)}if(n)try{r(n.documentElement.childNodes)[0].nodeType}catch(Z){r=function(oe){for(var we=oe.length,Be=new Array(we);we--;)Be[we]=oe[we];return Be}}if(Date.now||(Date.now=function(){return+new Date}),n)try{n.createElement(\"DIV\").style.setProperty(\"opacity\",0,\"\")}catch(Z){var o=this.Element.prototype,s=o.setAttribute,l=o.setAttributeNS,u=this.CSSStyleDeclaration.prototype,c=u.setProperty;o.setAttribute=function(oe,we){s.call(this,oe,we+\"\")},o.setAttributeNS=function(oe,we,Be){l.call(this,oe,we,Be+\"\")},u.setProperty=function(oe,we,Be){c.call(this,oe,we+\"\",Be)}}e.ascending=f;function f(Z,oe){return Z<oe?-1:Z>oe?1:Z>=oe?0:NaN}e.descending=function(Z,oe){return oe<Z?-1:oe>Z?1:oe>=Z?0:NaN},e.min=function(Z,oe){var we=-1,Be=Z.length,Ue,We;if(arguments.length===1){for(;++we<Be;)if((We=Z[we])!=null&&We>=We){Ue=We;break}for(;++we<Be;)(We=Z[we])!=null&&Ue>We&&(Ue=We)}else{for(;++we<Be;)if((We=oe.call(Z,Z[we],we))!=null&&We>=We){Ue=We;break}for(;++we<Be;)(We=oe.call(Z,Z[we],we))!=null&&Ue>We&&(Ue=We)}return Ue},e.max=function(Z,oe){var we=-1,Be=Z.length,Ue,We;if(arguments.length===1){for(;++we<Be;)if((We=Z[we])!=null&&We>=We){Ue=We;break}for(;++we<Be;)(We=Z[we])!=null&&We>Ue&&(Ue=We)}else{for(;++we<Be;)if((We=oe.call(Z,Z[we],we))!=null&&We>=We){Ue=We;break}for(;++we<Be;)(We=oe.call(Z,Z[we],we))!=null&&We>Ue&&(Ue=We)}return Ue},e.extent=function(Z,oe){var we=-1,Be=Z.length,Ue,We,wt;if(arguments.length===1){for(;++we<Be;)if((We=Z[we])!=null&&We>=We){Ue=wt=We;break}for(;++we<Be;)(We=Z[we])!=null&&(Ue>We&&(Ue=We),wt<We&&(wt=We))}else{for(;++we<Be;)if((We=oe.call(Z,Z[we],we))!=null&&We>=We){Ue=wt=We;break}for(;++we<Be;)(We=oe.call(Z,Z[we],we))!=null&&(Ue>We&&(Ue=We),wt<We&&(wt=We))}return[Ue,wt]};function h(Z){return Z===null?NaN:+Z}function d(Z){return!isNaN(Z)}e.sum=function(Z,oe){var we=0,Be=Z.length,Ue,We=-1;if(arguments.length===1)for(;++We<Be;)d(Ue=+Z[We])&&(we+=Ue);else for(;++We<Be;)d(Ue=+oe.call(Z,Z[We],We))&&(we+=Ue);return we},e.mean=function(Z,oe){var we=0,Be=Z.length,Ue,We=-1,wt=Be;if(arguments.length===1)for(;++We<Be;)d(Ue=h(Z[We]))?we+=Ue:--wt;else for(;++We<Be;)d(Ue=h(oe.call(Z,Z[We],We)))?we+=Ue:--wt;if(wt)return we/wt},e.quantile=function(Z,oe){var we=(Z.length-1)*oe+1,Be=Math.floor(we),Ue=+Z[Be-1],We=we-Be;return We?Ue+We*(Z[Be]-Ue):Ue},e.median=function(Z,oe){var we=[],Be=Z.length,Ue,We=-1;if(arguments.length===1)for(;++We<Be;)d(Ue=h(Z[We]))&&we.push(Ue);else for(;++We<Be;)d(Ue=h(oe.call(Z,Z[We],We)))&&we.push(Ue);if(we.length)return e.quantile(we.sort(f),.5)},e.variance=function(Z,oe){var we=Z.length,Be=0,Ue,We,wt=0,tt=-1,zt=0;if(arguments.length===1)for(;++tt<we;)d(Ue=h(Z[tt]))&&(We=Ue-Be,Be+=We/++zt,wt+=We*(Ue-Be));else for(;++tt<we;)d(Ue=h(oe.call(Z,Z[tt],tt)))&&(We=Ue-Be,Be+=We/++zt,wt+=We*(Ue-Be));if(zt>1)return wt/(zt-1)},e.deviation=function(){var Z=e.variance.apply(this,arguments);return Z&&Math.sqrt(Z)};function v(Z){return{left:function(oe,we,Be,Ue){for(arguments.length<3&&(Be=0),arguments.length<4&&(Ue=oe.length);Be<Ue;){var We=Be+Ue>>>1;Z(oe[We],we)<0?Be=We+1:Ue=We}return Be},right:function(oe,we,Be,Ue){for(arguments.length<3&&(Be=0),arguments.length<4&&(Ue=oe.length);Be<Ue;){var We=Be+Ue>>>1;Z(oe[We],we)>0?Ue=We:Be=We+1}return Be}}}var x=v(f);e.bisectLeft=x.left,e.bisect=e.bisectRight=x.right,e.bisector=function(Z){return v(Z.length===1?function(oe,we){return f(Z(oe),we)}:Z)},e.shuffle=function(Z,oe,we){(Be=arguments.length)<3&&(we=Z.length,Be<2&&(oe=0));for(var Be=we-oe,Ue,We;Be;)We=Math.random()*Be--|0,Ue=Z[Be+oe],Z[Be+oe]=Z[We+oe],Z[We+oe]=Ue;return Z},e.permute=function(Z,oe){for(var we=oe.length,Be=new Array(we);we--;)Be[we]=Z[oe[we]];return Be},e.pairs=function(Z){for(var oe=0,we=Z.length-1,Be,Ue=Z[0],We=new Array(we<0?0:we);oe<we;)We[oe]=[Be=Ue,Ue=Z[++oe]];return We},e.transpose=function(Z){if(!(We=Z.length))return[];for(var oe=-1,we=e.min(Z,b),Be=new Array(we);++oe<we;)for(var Ue=-1,We,wt=Be[oe]=new Array(We);++Ue<We;)wt[Ue]=Z[Ue][oe];return Be};function b(Z){return Z.length}e.zip=function(){return e.transpose(arguments)},e.keys=function(Z){var oe=[];for(var we in Z)oe.push(we);return oe},e.values=function(Z){var oe=[];for(var we in Z)oe.push(Z[we]);return oe},e.entries=function(Z){var oe=[];for(var we in Z)oe.push({key:we,value:Z[we]});return oe},e.merge=function(Z){for(var oe=Z.length,we,Be=-1,Ue=0,We,wt;++Be<oe;)Ue+=Z[Be].length;for(We=new Array(Ue);--oe>=0;)for(wt=Z[oe],we=wt.length;--we>=0;)We[--Ue]=wt[we];return We};var p=Math.abs;e.range=function(Z,oe,we){if(arguments.length<3&&(we=1,arguments.length<2&&(oe=Z,Z=0)),(oe-Z)/we===1/0)throw new Error(\"infinite range\");var Be=[],Ue=E(p(we)),We=-1,wt;if(Z*=Ue,oe*=Ue,we*=Ue,we<0)for(;(wt=Z+we*++We)>oe;)Be.push(wt/Ue);else for(;(wt=Z+we*++We)<oe;)Be.push(wt/Ue);return Be};function E(Z){for(var oe=1;Z*oe%1;)oe*=10;return oe}function k(Z,oe){for(var we in oe)Object.defineProperty(Z.prototype,we,{value:oe[we],enumerable:!1})}e.map=function(Z,oe){var we=new A;if(Z instanceof A)Z.forEach(function(tt,zt){we.set(tt,zt)});else if(Array.isArray(Z)){var Be=-1,Ue=Z.length,We;if(arguments.length===1)for(;++Be<Ue;)we.set(Be,Z[Be]);else for(;++Be<Ue;)we.set(oe.call(Z,We=Z[Be],Be),We)}else for(var wt in Z)we.set(wt,Z[wt]);return we};function A(){this._=Object.create(null)}var L=\"__proto__\",_=\"\\0\";k(A,{has:g,get:function(Z){return this._[C(Z)]},set:function(Z,oe){return this._[C(Z)]=oe},remove:P,keys:T,values:function(){var Z=[];for(var oe in this._)Z.push(this._[oe]);return Z},entries:function(){var Z=[];for(var oe in this._)Z.push({key:M(oe),value:this._[oe]});return Z},size:F,empty:q,forEach:function(Z){for(var oe in this._)Z.call(this,M(oe),this._[oe])}});function C(Z){return(Z+=\"\")===L||Z[0]===_?_+Z:Z}function M(Z){return(Z+=\"\")[0]===_?Z.slice(1):Z}function g(Z){return C(Z)in this._}function P(Z){return(Z=C(Z))in this._&&delete this._[Z]}function T(){var Z=[];for(var oe in this._)Z.push(M(oe));return Z}function F(){var Z=0;for(var oe in this._)++Z;return Z}function q(){for(var Z in this._)return!1;return!0}e.nest=function(){var Z={},oe=[],we=[],Be,Ue;function We(tt,zt,or){if(or>=oe.length)return Ue?Ue.call(Z,zt):Be?zt.sort(Be):zt;for(var lr=-1,Dr=zt.length,Ir=oe[or++],oi,ui,qr,Kr=new A,ii;++lr<Dr;)(ii=Kr.get(oi=Ir(ui=zt[lr])))?ii.push(ui):Kr.set(oi,[ui]);return tt?(ui=tt(),qr=function(vi,ci){ui.set(vi,We(tt,ci,or))}):(ui={},qr=function(vi,ci){ui[vi]=We(tt,ci,or)}),Kr.forEach(qr),ui}function wt(tt,zt){if(zt>=oe.length)return tt;var or=[],lr=we[zt++];return tt.forEach(function(Dr,Ir){or.push({key:Dr,values:wt(Ir,zt)})}),lr?or.sort(function(Dr,Ir){return lr(Dr.key,Ir.key)}):or}return Z.map=function(tt,zt){return We(zt,tt,0)},Z.entries=function(tt){return wt(We(e.map,tt,0),0)},Z.key=function(tt){return oe.push(tt),Z},Z.sortKeys=function(tt){return we[oe.length-1]=tt,Z},Z.sortValues=function(tt){return Be=tt,Z},Z.rollup=function(tt){return Ue=tt,Z},Z},e.set=function(Z){var oe=new V;if(Z)for(var we=0,Be=Z.length;we<Be;++we)oe.add(Z[we]);return oe};function V(){this._=Object.create(null)}k(V,{has:g,add:function(Z){return this._[C(Z+=\"\")]=!0,Z},remove:P,values:T,size:F,empty:q,forEach:function(Z){for(var oe in this._)Z.call(this,M(oe))}}),e.behavior={};function H(Z){return Z}e.rebind=function(Z,oe){for(var we=1,Be=arguments.length,Ue;++we<Be;)Z[Ue=arguments[we]]=X(Z,oe,oe[Ue]);return Z};function X(Z,oe,we){return function(){var Be=we.apply(oe,arguments);return Be===oe?Z:Be}}function G(Z,oe){if(oe in Z)return oe;oe=oe.charAt(0).toUpperCase()+oe.slice(1);for(var we=0,Be=N.length;we<Be;++we){var Ue=N[we]+oe;if(Ue in Z)return Ue}}var N=[\"webkit\",\"ms\",\"moz\",\"Moz\",\"o\",\"O\"];function W(){}e.dispatch=function(){for(var Z=new re,oe=-1,we=arguments.length;++oe<we;)Z[arguments[oe]]=ae(Z);return Z};function re(){}re.prototype.on=function(Z,oe){var we=Z.indexOf(\".\"),Be=\"\";if(we>=0&&(Be=Z.slice(we+1),Z=Z.slice(0,we)),Z)return arguments.length<2?this[Z].on(Be):this[Z].on(Be,oe);if(arguments.length===2){if(oe==null)for(Z in this)this.hasOwnProperty(Z)&&this[Z].on(Be,null);return this}};function ae(Z){var oe=[],we=new A;function Be(){for(var Ue=oe,We=-1,wt=Ue.length,tt;++We<wt;)(tt=Ue[We].on)&&tt.apply(this,arguments);return Z}return Be.on=function(Ue,We){var wt=we.get(Ue),tt;return arguments.length<2?wt&&wt.on:(wt&&(wt.on=null,oe=oe.slice(0,tt=oe.indexOf(wt)).concat(oe.slice(tt+1)),we.remove(Ue)),We&&oe.push(we.set(Ue,{on:We})),Z)},Be}e.event=null;function _e(){e.event.preventDefault()}function Me(){for(var Z=e.event,oe;oe=Z.sourceEvent;)Z=oe;return Z}function ke(Z){for(var oe=new re,we=0,Be=arguments.length;++we<Be;)oe[arguments[we]]=ae(oe);return oe.of=function(Ue,We){return function(wt){try{var tt=wt.sourceEvent=e.event;wt.target=Z,e.event=wt,oe[wt.type].apply(Ue,We)}finally{e.event=tt}}},oe}e.requote=function(Z){return Z.replace(ge,\"\\\\$&\")};var ge=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g,ie={}.__proto__?function(Z,oe){Z.__proto__=oe}:function(Z,oe){for(var we in oe)Z[we]=oe[we]};function Te(Z){return ie(Z,Ce),Z}var Ee=function(Z,oe){return oe.querySelector(Z)},Ae=function(Z,oe){return oe.querySelectorAll(Z)},ze=function(Z,oe){var we=Z.matches||Z[G(Z,\"matchesSelector\")];return ze=function(Be,Ue){return we.call(Be,Ue)},ze(Z,oe)};typeof Sizzle==\"function\"&&(Ee=function(Z,oe){return Sizzle(Z,oe)[0]||null},Ae=Sizzle,ze=Sizzle.matchesSelector),e.selection=function(){return e.select(n.documentElement)};var Ce=e.selection.prototype=[];Ce.select=function(Z){var oe=[],we,Be,Ue,We;Z=me(Z);for(var wt=-1,tt=this.length;++wt<tt;){oe.push(we=[]),we.parentNode=(Ue=this[wt]).parentNode;for(var zt=-1,or=Ue.length;++zt<or;)(We=Ue[zt])?(we.push(Be=Z.call(We,We.__data__,zt,wt)),Be&&\"__data__\"in We&&(Be.__data__=We.__data__)):we.push(null)}return Te(oe)};function me(Z){return typeof Z==\"function\"?Z:function(){return Ee(Z,this)}}Ce.selectAll=function(Z){var oe=[],we,Be;Z=Re(Z);for(var Ue=-1,We=this.length;++Ue<We;)for(var wt=this[Ue],tt=-1,zt=wt.length;++tt<zt;)(Be=wt[tt])&&(oe.push(we=r(Z.call(Be,Be.__data__,tt,Ue))),we.parentNode=Be);return Te(oe)};function Re(Z){return typeof Z==\"function\"?Z:function(){return Ae(Z,this)}}var ce=\"http://www.w3.org/1999/xhtml\",Ge={svg:\"http://www.w3.org/2000/svg\",xhtml:ce,xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"};e.ns={prefix:Ge,qualify:function(Z){var oe=Z.indexOf(\":\"),we=Z;return oe>=0&&(we=Z.slice(0,oe))!==\"xmlns\"&&(Z=Z.slice(oe+1)),Ge.hasOwnProperty(we)?{space:Ge[we],local:Z}:Z}},Ce.attr=function(Z,oe){if(arguments.length<2){if(typeof Z==\"string\"){var we=this.node();return Z=e.ns.qualify(Z),Z.local?we.getAttributeNS(Z.space,Z.local):we.getAttribute(Z)}for(oe in Z)this.each(nt(oe,Z[oe]));return this}return this.each(nt(Z,oe))};function nt(Z,oe){Z=e.ns.qualify(Z);function we(){this.removeAttribute(Z)}function Be(){this.removeAttributeNS(Z.space,Z.local)}function Ue(){this.setAttribute(Z,oe)}function We(){this.setAttributeNS(Z.space,Z.local,oe)}function wt(){var zt=oe.apply(this,arguments);zt==null?this.removeAttribute(Z):this.setAttribute(Z,zt)}function tt(){var zt=oe.apply(this,arguments);zt==null?this.removeAttributeNS(Z.space,Z.local):this.setAttributeNS(Z.space,Z.local,zt)}return oe==null?Z.local?Be:we:typeof oe==\"function\"?Z.local?tt:wt:Z.local?We:Ue}function ct(Z){return Z.trim().replace(/\\s+/g,\" \")}Ce.classed=function(Z,oe){if(arguments.length<2){if(typeof Z==\"string\"){var we=this.node(),Be=(Z=rt(Z)).length,Ue=-1;if(oe=we.classList){for(;++Ue<Be;)if(!oe.contains(Z[Ue]))return!1}else for(oe=we.getAttribute(\"class\");++Ue<Be;)if(!qt(Z[Ue]).test(oe))return!1;return!0}for(oe in Z)this.each(ot(oe,Z[oe]));return this}return this.each(ot(Z,oe))};function qt(Z){return new RegExp(\"(?:^|\\\\s+)\"+e.requote(Z)+\"(?:\\\\s+|$)\",\"g\")}function rt(Z){return(Z+\"\").trim().split(/^|\\s+/)}function ot(Z,oe){Z=rt(Z).map(Rt);var we=Z.length;function Be(){for(var We=-1;++We<we;)Z[We](this,oe)}function Ue(){for(var We=-1,wt=oe.apply(this,arguments);++We<we;)Z[We](this,wt)}return typeof oe==\"function\"?Ue:Be}function Rt(Z){var oe=qt(Z);return function(we,Be){if(Ue=we.classList)return Be?Ue.add(Z):Ue.remove(Z);var Ue=we.getAttribute(\"class\")||\"\";Be?(oe.lastIndex=0,oe.test(Ue)||we.setAttribute(\"class\",ct(Ue+\" \"+Z))):we.setAttribute(\"class\",ct(Ue.replace(oe,\" \")))}}Ce.style=function(Z,oe,we){var Be=arguments.length;if(Be<3){if(typeof Z!=\"string\"){Be<2&&(oe=\"\");for(we in Z)this.each(kt(we,Z[we],oe));return this}if(Be<2){var Ue=this.node();return a(Ue).getComputedStyle(Ue,null).getPropertyValue(Z)}we=\"\"}return this.each(kt(Z,oe,we))};function kt(Z,oe,we){function Be(){this.style.removeProperty(Z)}function Ue(){this.style.setProperty(Z,oe,we)}function We(){var wt=oe.apply(this,arguments);wt==null?this.style.removeProperty(Z):this.style.setProperty(Z,wt,we)}return oe==null?Be:typeof oe==\"function\"?We:Ue}Ce.property=function(Z,oe){if(arguments.length<2){if(typeof Z==\"string\")return this.node()[Z];for(oe in Z)this.each(Ct(oe,Z[oe]));return this}return this.each(Ct(Z,oe))};function Ct(Z,oe){function we(){delete this[Z]}function Be(){this[Z]=oe}function Ue(){var We=oe.apply(this,arguments);We==null?delete this[Z]:this[Z]=We}return oe==null?we:typeof oe==\"function\"?Ue:Be}Ce.text=function(Z){return arguments.length?this.each(typeof Z==\"function\"?function(){var oe=Z.apply(this,arguments);this.textContent=oe==null?\"\":oe}:Z==null?function(){this.textContent=\"\"}:function(){this.textContent=Z}):this.node().textContent},Ce.html=function(Z){return arguments.length?this.each(typeof Z==\"function\"?function(){var oe=Z.apply(this,arguments);this.innerHTML=oe==null?\"\":oe}:Z==null?function(){this.innerHTML=\"\"}:function(){this.innerHTML=Z}):this.node().innerHTML},Ce.append=function(Z){return Z=Yt(Z),this.select(function(){return this.appendChild(Z.apply(this,arguments))})};function Yt(Z){function oe(){var Be=this.ownerDocument,Ue=this.namespaceURI;return Ue===ce&&Be.documentElement.namespaceURI===ce?Be.createElement(Z):Be.createElementNS(Ue,Z)}function we(){return this.ownerDocument.createElementNS(Z.space,Z.local)}return typeof Z==\"function\"?Z:(Z=e.ns.qualify(Z)).local?we:oe}Ce.insert=function(Z,oe){return Z=Yt(Z),oe=me(oe),this.select(function(){return this.insertBefore(Z.apply(this,arguments),oe.apply(this,arguments)||null)})},Ce.remove=function(){return this.each(xr)};function xr(){var Z=this.parentNode;Z&&Z.removeChild(this)}Ce.data=function(Z,oe){var we=-1,Be=this.length,Ue,We;if(!arguments.length){for(Z=new Array(Be=(Ue=this[0]).length);++we<Be;)(We=Ue[we])&&(Z[we]=We.__data__);return Z}function wt(lr,Dr){var Ir,oi=lr.length,ui=Dr.length,qr=Math.min(oi,ui),Kr=new Array(ui),ii=new Array(ui),vi=new Array(oi),ci,Jr;if(oe){var un=new A,dn=new Array(oi),En;for(Ir=-1;++Ir<oi;)(ci=lr[Ir])&&(un.has(En=oe.call(ci,ci.__data__,Ir))?vi[Ir]=ci:un.set(En,ci),dn[Ir]=En);for(Ir=-1;++Ir<ui;)(ci=un.get(En=oe.call(Dr,Jr=Dr[Ir],Ir)))?ci!==!0&&(Kr[Ir]=ci,ci.__data__=Jr):ii[Ir]=er(Jr),un.set(En,!0);for(Ir=-1;++Ir<oi;)Ir in dn&&un.get(dn[Ir])!==!0&&(vi[Ir]=lr[Ir])}else{for(Ir=-1;++Ir<qr;)ci=lr[Ir],Jr=Dr[Ir],ci?(ci.__data__=Jr,Kr[Ir]=ci):ii[Ir]=er(Jr);for(;Ir<ui;++Ir)ii[Ir]=er(Dr[Ir]);for(;Ir<oi;++Ir)vi[Ir]=lr[Ir]}ii.update=Kr,ii.parentNode=Kr.parentNode=vi.parentNode=lr.parentNode,tt.push(ii),zt.push(Kr),or.push(vi)}var tt=Lt([]),zt=Te([]),or=Te([]);if(typeof Z==\"function\")for(;++we<Be;)wt(Ue=this[we],Z.call(Ue,Ue.parentNode.__data__,we));else for(;++we<Be;)wt(Ue=this[we],Z);return zt.enter=function(){return tt},zt.exit=function(){return or},zt};function er(Z){return{__data__:Z}}Ce.datum=function(Z){return arguments.length?this.property(\"__data__\",Z):this.property(\"__data__\")},Ce.filter=function(Z){var oe=[],we,Be,Ue;typeof Z!=\"function\"&&(Z=Ke(Z));for(var We=0,wt=this.length;We<wt;We++){oe.push(we=[]),we.parentNode=(Be=this[We]).parentNode;for(var tt=0,zt=Be.length;tt<zt;tt++)(Ue=Be[tt])&&Z.call(Ue,Ue.__data__,tt,We)&&we.push(Ue)}return Te(oe)};function Ke(Z){return function(){return ze(this,Z)}}Ce.order=function(){for(var Z=-1,oe=this.length;++Z<oe;)for(var we=this[Z],Be=we.length-1,Ue=we[Be],We;--Be>=0;)(We=we[Be])&&(Ue&&Ue!==We.nextSibling&&Ue.parentNode.insertBefore(We,Ue),Ue=We);return this},Ce.sort=function(Z){Z=xt.apply(this,arguments);for(var oe=-1,we=this.length;++oe<we;)this[oe].sort(Z);return this.order()};function xt(Z){return arguments.length||(Z=f),function(oe,we){return oe&&we?Z(oe.__data__,we.__data__):!oe-!we}}Ce.each=function(Z){return bt(this,function(oe,we,Be){Z.call(oe,oe.__data__,we,Be)})};function bt(Z,oe){for(var we=0,Be=Z.length;we<Be;we++)for(var Ue=Z[we],We=0,wt=Ue.length,tt;We<wt;We++)(tt=Ue[We])&&oe(tt,We,we);return Z}Ce.call=function(Z){var oe=r(arguments);return Z.apply(oe[0]=this,oe),this},Ce.empty=function(){return!this.node()},Ce.node=function(){for(var Z=0,oe=this.length;Z<oe;Z++)for(var we=this[Z],Be=0,Ue=we.length;Be<Ue;Be++){var We=we[Be];if(We)return We}return null},Ce.size=function(){var Z=0;return bt(this,function(){++Z}),Z};function Lt(Z){return ie(Z,St),Z}var St=[];e.selection.enter=Lt,e.selection.enter.prototype=St,St.append=Ce.append,St.empty=Ce.empty,St.node=Ce.node,St.call=Ce.call,St.size=Ce.size,St.select=function(Z){for(var oe=[],we,Be,Ue,We,wt,tt=-1,zt=this.length;++tt<zt;){Ue=(We=this[tt]).update,oe.push(we=[]),we.parentNode=We.parentNode;for(var or=-1,lr=We.length;++or<lr;)(wt=We[or])?(we.push(Ue[or]=Be=Z.call(We.parentNode,wt.__data__,or,tt)),Be.__data__=wt.__data__):we.push(null)}return Te(oe)},St.insert=function(Z,oe){return arguments.length<2&&(oe=Et(this)),Ce.insert.call(this,Z,oe)};function Et(Z){var oe,we;return function(Be,Ue,We){var wt=Z[We].update,tt=wt.length,zt;for(We!=we&&(we=We,oe=0),Ue>=oe&&(oe=Ue+1);!(zt=wt[oe])&&++oe<tt;);return zt}}e.select=function(Z){var oe;return typeof Z==\"string\"?(oe=[Ee(Z,n)],oe.parentNode=n.documentElement):(oe=[Z],oe.parentNode=i(Z)),Te([oe])},e.selectAll=function(Z){var oe;return typeof Z==\"string\"?(oe=r(Ae(Z,n)),oe.parentNode=n.documentElement):(oe=r(Z),oe.parentNode=null),Te([oe])},Ce.on=function(Z,oe,we){var Be=arguments.length;if(Be<3){if(typeof Z!=\"string\"){Be<2&&(oe=!1);for(we in Z)this.each(dt(we,Z[we],oe));return this}if(Be<2)return(Be=this.node()[\"__on\"+Z])&&Be._;we=!1}return this.each(dt(Z,oe,we))};function dt(Z,oe,we){var Be=\"__on\"+Z,Ue=Z.indexOf(\".\"),We=$t;Ue>0&&(Z=Z.slice(0,Ue));var wt=Ht.get(Z);wt&&(Z=wt,We=fr);function tt(){var lr=this[Be];lr&&(this.removeEventListener(Z,lr,lr.$),delete this[Be])}function zt(){var lr=We(oe,r(arguments));tt.call(this),this.addEventListener(Z,this[Be]=lr,lr.$=we),lr._=oe}function or(){var lr=new RegExp(\"^__on([^.]+)\"+e.requote(Z)+\"$\"),Dr;for(var Ir in this)if(Dr=Ir.match(lr)){var oi=this[Ir];this.removeEventListener(Dr[1],oi,oi.$),delete this[Ir]}}return Ue?oe?zt:tt:oe?W:or}var Ht=e.map({mouseenter:\"mouseover\",mouseleave:\"mouseout\"});n&&Ht.forEach(function(Z){\"on\"+Z in n&&Ht.remove(Z)});function $t(Z,oe){return function(we){var Be=e.event;e.event=we,oe[0]=this.__data__;try{Z.apply(this,oe)}finally{e.event=Be}}}function fr(Z,oe){var we=$t(Z,oe);return function(Be){var Ue=this,We=Be.relatedTarget;(!We||We!==Ue&&!(We.compareDocumentPosition(Ue)&8))&&we.call(Ue,Be)}}var _r,Br=0;function Or(Z){var oe=\".dragsuppress-\"+ ++Br,we=\"click\"+oe,Be=e.select(a(Z)).on(\"touchmove\"+oe,_e).on(\"dragstart\"+oe,_e).on(\"selectstart\"+oe,_e);if(_r==null&&(_r=\"onselectstart\"in Z?!1:G(Z.style,\"userSelect\")),_r){var Ue=i(Z).style,We=Ue[_r];Ue[_r]=\"none\"}return function(wt){if(Be.on(oe,null),_r&&(Ue[_r]=We),wt){var tt=function(){Be.on(we,null)};Be.on(we,function(){_e(),tt()},!0),setTimeout(tt,0)}}}e.mouse=function(Z){return ut(Z,Me())};var Nr=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function ut(Z,oe){oe.changedTouches&&(oe=oe.changedTouches[0]);var we=Z.ownerSVGElement||Z;if(we.createSVGPoint){var Be=we.createSVGPoint();if(Nr<0){var Ue=a(Z);if(Ue.scrollX||Ue.scrollY){we=e.select(\"body\").append(\"svg\").style({position:\"absolute\",top:0,left:0,margin:0,padding:0,border:\"none\"},\"important\");var We=we[0][0].getScreenCTM();Nr=!(We.f||We.e),we.remove()}}return Nr?(Be.x=oe.pageX,Be.y=oe.pageY):(Be.x=oe.clientX,Be.y=oe.clientY),Be=Be.matrixTransform(Z.getScreenCTM().inverse()),[Be.x,Be.y]}var wt=Z.getBoundingClientRect();return[oe.clientX-wt.left-Z.clientLeft,oe.clientY-wt.top-Z.clientTop]}e.touch=function(Z,oe,we){if(arguments.length<3&&(we=oe,oe=Me().changedTouches),oe){for(var Be=0,Ue=oe.length,We;Be<Ue;++Be)if((We=oe[Be]).identifier===we)return ut(Z,We)}},e.behavior.drag=function(){var Z=ke(Ue,\"drag\",\"dragstart\",\"dragend\"),oe=null,we=We(W,e.mouse,a,\"mousemove\",\"mouseup\"),Be=We(Ne,e.touch,H,\"touchmove\",\"touchend\");function Ue(){this.on(\"mousedown.drag\",we).on(\"touchstart.drag\",Be)}function We(wt,tt,zt,or,lr){return function(){var Dr=this,Ir=e.event.target.correspondingElement||e.event.target,oi=Dr.parentNode,ui=Z.of(Dr,arguments),qr=0,Kr=wt(),ii=\".drag\"+(Kr==null?\"\":\"-\"+Kr),vi,ci=e.select(zt(Ir)).on(or+ii,dn).on(lr+ii,En),Jr=Or(Ir),un=tt(oi,Kr);oe?(vi=oe.apply(Dr,arguments),vi=[vi.x-un[0],vi.y-un[1]]):vi=[0,0],ui({type:\"dragstart\"});function dn(){var Nn=tt(oi,Kr),ga,ya;Nn&&(ga=Nn[0]-un[0],ya=Nn[1]-un[1],qr|=ga|ya,un=Nn,ui({type:\"drag\",x:Nn[0]+vi[0],y:Nn[1]+vi[1],dx:ga,dy:ya}))}function En(){tt(oi,Kr)&&(ci.on(or+ii,null).on(lr+ii,null),Jr(qr),ui({type:\"dragend\"}))}}}return Ue.origin=function(wt){return arguments.length?(oe=wt,Ue):oe},e.rebind(Ue,Z,\"on\")};function Ne(){return e.event.changedTouches[0].identifier}e.touches=function(Z,oe){return arguments.length<2&&(oe=Me().touches),oe?r(oe).map(function(we){var Be=ut(Z,we);return Be.identifier=we.identifier,Be}):[]};var Ye=1e-6,Ve=Ye*Ye,Xe=Math.PI,ht=2*Xe,Le=ht-Ye,xe=Xe/2,Se=Xe/180,lt=180/Xe;function Gt(Z){return Z>0?1:Z<0?-1:0}function Vt(Z,oe,we){return(oe[0]-Z[0])*(we[1]-Z[1])-(oe[1]-Z[1])*(we[0]-Z[0])}function ar(Z){return Z>1?0:Z<-1?Xe:Math.acos(Z)}function Qr(Z){return Z>1?xe:Z<-1?-xe:Math.asin(Z)}function ai(Z){return((Z=Math.exp(Z))-1/Z)/2}function jr(Z){return((Z=Math.exp(Z))+1/Z)/2}function ri(Z){return((Z=Math.exp(2*Z))-1)/(Z+1)}function bi(Z){return(Z=Math.sin(Z/2))*Z}var nn=Math.SQRT2,Wi=2,Ni=4;e.interpolateZoom=function(Z,oe){var we=Z[0],Be=Z[1],Ue=Z[2],We=oe[0],wt=oe[1],tt=oe[2],zt=We-we,or=wt-Be,lr=zt*zt+or*or,Dr,Ir;if(lr<Ve)Ir=Math.log(tt/Ue)/nn,Dr=function(vi){return[we+vi*zt,Be+vi*or,Ue*Math.exp(nn*vi*Ir)]};else{var oi=Math.sqrt(lr),ui=(tt*tt-Ue*Ue+Ni*lr)/(2*Ue*Wi*oi),qr=(tt*tt-Ue*Ue-Ni*lr)/(2*tt*Wi*oi),Kr=Math.log(Math.sqrt(ui*ui+1)-ui),ii=Math.log(Math.sqrt(qr*qr+1)-qr);Ir=(ii-Kr)/nn,Dr=function(vi){var ci=vi*Ir,Jr=jr(Kr),un=Ue/(Wi*oi)*(Jr*ri(nn*ci+Kr)-ai(Kr));return[we+un*zt,Be+un*or,Ue*Jr/jr(nn*ci+Kr)]}}return Dr.duration=Ir*1e3,Dr},e.behavior.zoom=function(){var Z={x:0,y:0,k:1},oe,we,Be,Ue=[960,500],We=_n,wt=250,tt=0,zt=\"mousedown.zoom\",or=\"mousemove.zoom\",lr=\"mouseup.zoom\",Dr,Ir=\"touchstart.zoom\",oi,ui=ke(ci,\"zoomstart\",\"zoom\",\"zoomend\"),qr,Kr,ii,vi;zn||(zn=\"onwheel\"in n?($i=function(){return-e.event.deltaY*(e.event.deltaMode?120:1)},\"wheel\"):\"onmousewheel\"in n?($i=function(){return e.event.wheelDelta},\"mousewheel\"):($i=function(){return-e.event.detail},\"MozMousePixelScroll\"));function ci(pn){pn.on(zt,io).on(zn+\".zoom\",_s).on(\"dblclick.zoom\",Ns).on(Ir,Ss)}ci.event=function(pn){pn.each(function(){var za=ui.of(this,arguments),Lo=Z;Ro?e.select(this).transition().each(\"start.zoom\",function(){Z=this.__chart__||{x:0,y:0,k:1},ya(za)}).tween(\"zoom:zoom\",function(){var Fo=Ue[0],js=Ue[1],xl=we?we[0]:Fo/2,fu=we?we[1]:js/2,dl=e.interpolateZoom([(xl-Z.x)/Z.k,(fu-Z.y)/Z.k,Fo/Z.k],[(xl-Lo.x)/Lo.k,(fu-Lo.y)/Lo.k,Fo/Lo.k]);return function(xc){var At=dl(xc),Er=Fo/At[2];this.__chart__=Z={x:xl-At[0]*Er,y:fu-At[1]*Er,k:Er},so(za)}}).each(\"interrupt.zoom\",function(){wa(za)}).each(\"end.zoom\",function(){wa(za)}):(this.__chart__=Z,ya(za),so(za),wa(za))})},ci.translate=function(pn){return arguments.length?(Z={x:+pn[0],y:+pn[1],k:Z.k},ga(),ci):[Z.x,Z.y]},ci.scale=function(pn){return arguments.length?(Z={x:Z.x,y:Z.y,k:null},dn(+pn),ga(),ci):Z.k},ci.scaleExtent=function(pn){return arguments.length?(We=pn==null?_n:[+pn[0],+pn[1]],ci):We},ci.center=function(pn){return arguments.length?(Be=pn&&[+pn[0],+pn[1]],ci):Be},ci.size=function(pn){return arguments.length?(Ue=pn&&[+pn[0],+pn[1]],ci):Ue},ci.duration=function(pn){return arguments.length?(wt=+pn,ci):wt},ci.x=function(pn){return arguments.length?(Kr=pn,qr=pn.copy(),Z={x:0,y:0,k:1},ci):Kr},ci.y=function(pn){return arguments.length?(vi=pn,ii=pn.copy(),Z={x:0,y:0,k:1},ci):vi};function Jr(pn){return[(pn[0]-Z.x)/Z.k,(pn[1]-Z.y)/Z.k]}function un(pn){return[pn[0]*Z.k+Z.x,pn[1]*Z.k+Z.y]}function dn(pn){Z.k=Math.max(We[0],Math.min(We[1],pn))}function En(pn,za){za=un(za),Z.x+=pn[0]-za[0],Z.y+=pn[1]-za[1]}function Nn(pn,za,Lo,Fo){pn.__chart__={x:Z.x,y:Z.y,k:Z.k},dn(Math.pow(2,Fo)),En(we=za,Lo),pn=e.select(pn),wt>0&&(pn=pn.transition().duration(wt)),pn.call(ci.event)}function ga(){Kr&&Kr.domain(qr.range().map(function(pn){return(pn-Z.x)/Z.k}).map(qr.invert)),vi&&vi.domain(ii.range().map(function(pn){return(pn-Z.y)/Z.k}).map(ii.invert))}function ya(pn){tt++||pn({type:\"zoomstart\"})}function so(pn){ga(),pn({type:\"zoom\",scale:Z.k,translate:[Z.x,Z.y]})}function wa(pn){--tt||(pn({type:\"zoomend\"}),we=null)}function io(){var pn=this,za=ui.of(pn,arguments),Lo=0,Fo=e.select(a(pn)).on(or,fu).on(lr,dl),js=Jr(e.mouse(pn)),xl=Or(pn);ea.call(pn),ya(za);function fu(){Lo=1,En(e.mouse(pn),js),so(za)}function dl(){Fo.on(or,null).on(lr,null),xl(Lo),wa(za)}}function Ss(){var pn=this,za=ui.of(pn,arguments),Lo={},Fo=0,js,xl=\".zoom-\"+e.event.changedTouches[0].identifier,fu=\"touchmove\"+xl,dl=\"touchend\"+xl,xc=[],At=e.select(pn),Er=Or(pn);wi(),ya(za),At.on(zt,null).on(Ir,wi);function Wr(){var Bi=e.touches(pn);return js=Z.k,Bi.forEach(function(cn){cn.identifier in Lo&&(Lo[cn.identifier]=Jr(cn))}),Bi}function wi(){var Bi=e.event.target;e.select(Bi).on(fu,Ui).on(dl,Oi),xc.push(Bi);for(var cn=e.event.changedTouches,On=0,Bn=cn.length;On<Bn;++On)Lo[cn[On].identifier]=null;var yn=Wr(),to=Date.now();if(yn.length===1){if(to-oi<500){var Rn=yn[0];Nn(pn,Rn,Lo[Rn.identifier],Math.floor(Math.log(Z.k)/Math.LN2)+1),_e()}oi=to}else if(yn.length>1){var Rn=yn[0],Dn=yn[1],fn=Rn[0]-Dn[0],Ai=Rn[1]-Dn[1];Fo=fn*fn+Ai*Ai}}function Ui(){var Bi=e.touches(pn),cn,On,Bn,yn;ea.call(pn);for(var to=0,Rn=Bi.length;to<Rn;++to,yn=null)if(Bn=Bi[to],yn=Lo[Bn.identifier]){if(On)break;cn=Bn,On=yn}if(yn){var Dn=(Dn=Bn[0]-cn[0])*Dn+(Dn=Bn[1]-cn[1])*Dn,fn=Fo&&Math.sqrt(Dn/Fo);cn=[(cn[0]+Bn[0])/2,(cn[1]+Bn[1])/2],On=[(On[0]+yn[0])/2,(On[1]+yn[1])/2],dn(fn*js)}oi=null,En(cn,On),so(za)}function Oi(){if(e.event.touches.length){for(var Bi=e.event.changedTouches,cn=0,On=Bi.length;cn<On;++cn)delete Lo[Bi[cn].identifier];for(var Bn in Lo)return void Wr()}e.selectAll(xc).on(xl,null),At.on(zt,io).on(Ir,Ss),Er(),wa(za)}}function _s(){var pn=ui.of(this,arguments);Dr?clearTimeout(Dr):(ea.call(this),oe=Jr(we=Be||e.mouse(this)),ya(pn)),Dr=setTimeout(function(){Dr=null,wa(pn)},50),_e(),dn(Math.pow(2,$i()*.002)*Z.k),En(we,oe),so(pn)}function Ns(){var pn=e.mouse(this),za=Math.log(Z.k)/Math.LN2;Nn(this,pn,Jr(pn),e.event.shiftKey?Math.ceil(za)-1:Math.floor(za)+1)}return e.rebind(ci,ui,\"on\")};var _n=[0,1/0],$i,zn;e.color=Wn;function Wn(){}Wn.prototype.toString=function(){return this.rgb()+\"\"},e.hsl=It;function It(Z,oe,we){return this instanceof It?(this.h=+Z,this.s=+oe,void(this.l=+we)):arguments.length<2?Z instanceof It?new It(Z.h,Z.s,Z.l):Ha(\"\"+Z,oo,It):new It(Z,oe,we)}var ft=It.prototype=new Wn;ft.brighter=function(Z){return Z=Math.pow(.7,arguments.length?Z:1),new It(this.h,this.s,this.l/Z)},ft.darker=function(Z){return Z=Math.pow(.7,arguments.length?Z:1),new It(this.h,this.s,Z*this.l)},ft.rgb=function(){return jt(this.h,this.s,this.l)};function jt(Z,oe,we){var Be,Ue;Z=isNaN(Z)?0:(Z%=360)<0?Z+360:Z,oe=isNaN(oe)||oe<0?0:oe>1?1:oe,we=we<0?0:we>1?1:we,Ue=we<=.5?we*(1+oe):we+oe-we*oe,Be=2*we-Ue;function We(tt){return tt>360?tt-=360:tt<0&&(tt+=360),tt<60?Be+(Ue-Be)*tt/60:tt<180?Ue:tt<240?Be+(Ue-Be)*(240-tt)/60:Be}function wt(tt){return Math.round(We(tt)*255)}return new Fa(wt(Z+120),wt(Z),wt(Z-120))}e.hcl=Zt;function Zt(Z,oe,we){return this instanceof Zt?(this.h=+Z,this.c=+oe,void(this.l=+we)):arguments.length<2?Z instanceof Zt?new Zt(Z.h,Z.c,Z.l):Z instanceof Zr?Ki(Z.l,Z.a,Z.b):Ki((Z=xn((Z=e.rgb(Z)).r,Z.g,Z.b)).l,Z.a,Z.b):new Zt(Z,oe,we)}var yr=Zt.prototype=new Wn;yr.brighter=function(Z){return new Zt(this.h,this.c,Math.min(100,this.l+Vr*(arguments.length?Z:1)))},yr.darker=function(Z){return new Zt(this.h,this.c,Math.max(0,this.l-Vr*(arguments.length?Z:1)))},yr.rgb=function(){return Fr(this.h,this.c,this.l).rgb()};function Fr(Z,oe,we){return isNaN(Z)&&(Z=0),isNaN(oe)&&(oe=0),new Zr(we,Math.cos(Z*=Se)*oe,Math.sin(Z)*oe)}e.lab=Zr;function Zr(Z,oe,we){return this instanceof Zr?(this.l=+Z,this.a=+oe,void(this.b=+we)):arguments.length<2?Z instanceof Zr?new Zr(Z.l,Z.a,Z.b):Z instanceof Zt?Fr(Z.h,Z.c,Z.l):xn((Z=Fa(Z)).r,Z.g,Z.b):new Zr(Z,oe,we)}var Vr=18,gi=.95047,Si=1,Mi=1.08883,Pi=Zr.prototype=new Wn;Pi.brighter=function(Z){return new Zr(Math.min(100,this.l+Vr*(arguments.length?Z:1)),this.a,this.b)},Pi.darker=function(Z){return new Zr(Math.max(0,this.l-Vr*(arguments.length?Z:1)),this.a,this.b)},Pi.rgb=function(){return Gi(this.l,this.a,this.b)};function Gi(Z,oe,we){var Be=(Z+16)/116,Ue=Be+oe/500,We=Be-we/200;return Ue=ka(Ue)*gi,Be=ka(Be)*Si,We=ka(We)*Mi,new Fa(la(3.2404542*Ue-1.5371385*Be-.4985314*We),la(-.969266*Ue+1.8760108*Be+.041556*We),la(.0556434*Ue-.2040259*Be+1.0572252*We))}function Ki(Z,oe,we){return Z>0?new Zt(Math.atan2(we,oe)*lt,Math.sqrt(oe*oe+we*we),Z):new Zt(NaN,NaN,Z)}function ka(Z){return Z>.206893034?Z*Z*Z:(Z-4/29)/7.787037}function jn(Z){return Z>.008856?Math.pow(Z,1/3):7.787037*Z+4/29}function la(Z){return Math.round(255*(Z<=.00304?12.92*Z:1.055*Math.pow(Z,1/2.4)-.055))}e.rgb=Fa;function Fa(Z,oe,we){return this instanceof Fa?(this.r=~~Z,this.g=~~oe,void(this.b=~~we)):arguments.length<2?Z instanceof Fa?new Fa(Z.r,Z.g,Z.b):Ha(\"\"+Z,Fa,jt):new Fa(Z,oe,we)}function Ra(Z){return new Fa(Z>>16,Z>>8&255,Z&255)}function jo(Z){return Ra(Z)+\"\"}var oa=Fa.prototype=new Wn;oa.brighter=function(Z){Z=Math.pow(.7,arguments.length?Z:1);var oe=this.r,we=this.g,Be=this.b,Ue=30;return!oe&&!we&&!Be?new Fa(Ue,Ue,Ue):(oe&&oe<Ue&&(oe=Ue),we&&we<Ue&&(we=Ue),Be&&Be<Ue&&(Be=Ue),new Fa(Math.min(255,oe/Z),Math.min(255,we/Z),Math.min(255,Be/Z)))},oa.darker=function(Z){return Z=Math.pow(.7,arguments.length?Z:1),new Fa(Z*this.r,Z*this.g,Z*this.b)},oa.hsl=function(){return oo(this.r,this.g,this.b)},oa.toString=function(){return\"#\"+Sn(this.r)+Sn(this.g)+Sn(this.b)};function Sn(Z){return Z<16?\"0\"+Math.max(0,Z).toString(16):Math.min(255,Z).toString(16)}function Ha(Z,oe,we){var Be=0,Ue=0,We=0,wt,tt,zt;if(wt=/([a-z]+)\\((.*)\\)/.exec(Z=Z.toLowerCase()),wt)switch(tt=wt[2].split(\",\"),wt[1]){case\"hsl\":return we(parseFloat(tt[0]),parseFloat(tt[1])/100,parseFloat(tt[2])/100);case\"rgb\":return oe(br(tt[0]),br(tt[1]),br(tt[2]))}return(zt=Hr.get(Z))?oe(zt.r,zt.g,zt.b):(Z!=null&&Z.charAt(0)===\"#\"&&!isNaN(zt=parseInt(Z.slice(1),16))&&(Z.length===4?(Be=(zt&3840)>>4,Be=Be>>4|Be,Ue=zt&240,Ue=Ue>>4|Ue,We=zt&15,We=We<<4|We):Z.length===7&&(Be=(zt&16711680)>>16,Ue=(zt&65280)>>8,We=zt&255)),oe(Be,Ue,We))}function oo(Z,oe,we){var Be=Math.min(Z/=255,oe/=255,we/=255),Ue=Math.max(Z,oe,we),We=Ue-Be,wt,tt,zt=(Ue+Be)/2;return We?(tt=zt<.5?We/(Ue+Be):We/(2-Ue-Be),Z==Ue?wt=(oe-we)/We+(oe<we?6:0):oe==Ue?wt=(we-Z)/We+2:wt=(Z-oe)/We+4,wt*=60):(wt=NaN,tt=zt>0&&zt<1?0:wt),new It(wt,tt,zt)}function xn(Z,oe,we){Z=_t(Z),oe=_t(oe),we=_t(we);var Be=jn((.4124564*Z+.3575761*oe+.1804375*we)/gi),Ue=jn((.2126729*Z+.7151522*oe+.072175*we)/Si),We=jn((.0193339*Z+.119192*oe+.9503041*we)/Mi);return Zr(116*Ue-16,500*(Be-Ue),200*(Ue-We))}function _t(Z){return(Z/=255)<=.04045?Z/12.92:Math.pow((Z+.055)/1.055,2.4)}function br(Z){var oe=parseFloat(Z);return Z.charAt(Z.length-1)===\"%\"?Math.round(oe*2.55):oe}var Hr=e.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Hr.forEach(function(Z,oe){Hr.set(Z,Ra(oe))});function ti(Z){return typeof Z==\"function\"?Z:function(){return Z}}e.functor=ti,e.xhr=zi(H);function zi(Z){return function(oe,we,Be){return arguments.length===2&&typeof we==\"function\"&&(Be=we,we=null),Yi(oe,we,Z,Be)}}function Yi(Z,oe,we,Be){var Ue={},We=e.dispatch(\"beforesend\",\"progress\",\"load\",\"error\"),wt={},tt=new XMLHttpRequest,zt=null;self.XDomainRequest&&!(\"withCredentials\"in tt)&&/^(http(s)?:)?\\/\\//.test(Z)&&(tt=new XDomainRequest),\"onload\"in tt?tt.onload=tt.onerror=or:tt.onreadystatechange=function(){tt.readyState>3&&or()};function or(){var lr=tt.status,Dr;if(!lr&&hi(tt)||lr>=200&&lr<300||lr===304){try{Dr=we.call(Ue,tt)}catch(Ir){We.error.call(Ue,Ir);return}We.load.call(Ue,Dr)}else We.error.call(Ue,tt)}return tt.onprogress=function(lr){var Dr=e.event;e.event=lr;try{We.progress.call(Ue,tt)}finally{e.event=Dr}},Ue.header=function(lr,Dr){return lr=(lr+\"\").toLowerCase(),arguments.length<2?wt[lr]:(Dr==null?delete wt[lr]:wt[lr]=Dr+\"\",Ue)},Ue.mimeType=function(lr){return arguments.length?(oe=lr==null?null:lr+\"\",Ue):oe},Ue.responseType=function(lr){return arguments.length?(zt=lr,Ue):zt},Ue.response=function(lr){return we=lr,Ue},[\"get\",\"post\"].forEach(function(lr){Ue[lr]=function(){return Ue.send.apply(Ue,[lr].concat(r(arguments)))}}),Ue.send=function(lr,Dr,Ir){if(arguments.length===2&&typeof Dr==\"function\"&&(Ir=Dr,Dr=null),tt.open(lr,Z,!0),oe!=null&&!(\"accept\"in wt)&&(wt.accept=oe+\",*/*\"),tt.setRequestHeader)for(var oi in wt)tt.setRequestHeader(oi,wt[oi]);return oe!=null&&tt.overrideMimeType&&tt.overrideMimeType(oe),zt!=null&&(tt.responseType=zt),Ir!=null&&Ue.on(\"error\",Ir).on(\"load\",function(ui){Ir(null,ui)}),We.beforesend.call(Ue,tt),tt.send(Dr==null?null:Dr),Ue},Ue.abort=function(){return tt.abort(),Ue},e.rebind(Ue,We,\"on\"),Be==null?Ue:Ue.get(an(Be))}function an(Z){return Z.length===1?function(oe,we){Z(oe==null?we:null)}:Z}function hi(Z){var oe=Z.responseType;return oe&&oe!==\"text\"?Z.response:Z.responseText}e.dsv=function(Z,oe){var we=new RegExp('[\"'+Z+`\n", - "]`),Be=Z.charCodeAt(0);function Ue(or,lr,Dr){arguments.length<3&&(Dr=lr,lr=null);var Ir=Yi(or,oe,lr==null?We:wt(lr),Dr);return Ir.row=function(oi){return arguments.length?Ir.response((lr=oi)==null?We:wt(oi)):lr},Ir}function We(or){return Ue.parse(or.responseText)}function wt(or){return function(lr){return Ue.parse(lr.responseText,or)}}Ue.parse=function(or,lr){var Dr;return Ue.parseRows(or,function(Ir,oi){if(Dr)return Dr(Ir,oi-1);var ui=function(qr){for(var Kr={},ii=Ir.length,vi=0;vi<ii;++vi)Kr[Ir[vi]]=qr[vi];return Kr};Dr=lr?function(qr,Kr){return lr(ui(qr),Kr)}:ui})},Ue.parseRows=function(or,lr){var Dr={},Ir={},oi=[],ui=or.length,qr=0,Kr=0,ii,vi;function ci(){if(qr>=ui)return Ir;if(vi)return vi=!1,Dr;var un=qr;if(or.charCodeAt(un)===34){for(var dn=un;dn++<ui;)if(or.charCodeAt(dn)===34){if(or.charCodeAt(dn+1)!==34)break;++dn}qr=dn+2;var En=or.charCodeAt(dn+1);return En===13?(vi=!0,or.charCodeAt(dn+2)===10&&++qr):En===10&&(vi=!0),or.slice(un+1,dn).replace(/\"\"/g,'\"')}for(;qr<ui;){var En=or.charCodeAt(qr++),Nn=1;if(En===10)vi=!0;else if(En===13)vi=!0,or.charCodeAt(qr)===10&&(++qr,++Nn);else if(En!==Be)continue;return or.slice(un,qr-Nn)}return or.slice(un)}for(;(ii=ci())!==Ir;){for(var Jr=[];ii!==Dr&&ii!==Ir;)Jr.push(ii),ii=ci();lr&&(Jr=lr(Jr,Kr++))==null||oi.push(Jr)}return oi},Ue.format=function(or){if(Array.isArray(or[0]))return Ue.formatRows(or);var lr=new V,Dr=[];return or.forEach(function(Ir){for(var oi in Ir)lr.has(oi)||Dr.push(lr.add(oi))}),[Dr.map(zt).join(Z)].concat(or.map(function(Ir){return Dr.map(function(oi){return zt(Ir[oi])}).join(Z)})).join(`\n", - "`)},Ue.formatRows=function(or){return or.map(tt).join(`\n", - "`)};function tt(or){return or.map(zt).join(Z)}function zt(or){return we.test(or)?'\"'+or.replace(/\\\"/g,'\"\"')+'\"':or}return Ue},e.csv=e.dsv(\",\",\"text/csv\"),e.tsv=e.dsv(\"\t\",\"text/tab-separated-values\");var Ji,ua,Fn,Sa,go=this[G(this,\"requestAnimationFrame\")]||function(Z){setTimeout(Z,17)};e.timer=function(){Oo.apply(this,arguments)};function Oo(Z,oe,we){var Be=arguments.length;Be<2&&(oe=0),Be<3&&(we=Date.now());var Ue=we+oe,We={c:Z,t:Ue,n:null};return ua?ua.n=We:Ji=We,ua=We,Fn||(Sa=clearTimeout(Sa),Fn=1,go(ho)),We}function ho(){var Z=Mo(),oe=xo()-Z;oe>24?(isFinite(oe)&&(clearTimeout(Sa),Sa=setTimeout(ho,oe)),Fn=0):(Fn=1,go(ho))}e.timer.flush=function(){Mo(),xo()};function Mo(){for(var Z=Date.now(),oe=Ji;oe;)Z>=oe.t&&oe.c(Z-oe.t)&&(oe.c=null),oe=oe.n;return Z}function xo(){for(var Z,oe=Ji,we=1/0;oe;)oe.c?(oe.t<we&&(we=oe.t),oe=(Z=oe).n):oe=Z?Z.n=oe.n:Ji=oe.n;return ua=Z,we}e.round=function(Z,oe){return oe?Math.round(Z*(oe=Math.pow(10,oe)))/oe:Math.round(Z)},e.geom={};function zs(Z){return Z[0]}function ks(Z){return Z[1]}e.geom.hull=function(Z){var oe=zs,we=ks;if(arguments.length)return Be(Z);function Be(Ue){if(Ue.length<3)return[];var We=ti(oe),wt=ti(we),tt,zt=Ue.length,or=[],lr=[];for(tt=0;tt<zt;tt++)or.push([+We.call(this,Ue[tt],tt),+wt.call(this,Ue[tt],tt),tt]);for(or.sort(Xs),tt=0;tt<zt;tt++)lr.push([or[tt][0],-or[tt][1]]);var Dr=Zs(or),Ir=Zs(lr),oi=Ir[0]===Dr[0],ui=Ir[Ir.length-1]===Dr[Dr.length-1],qr=[];for(tt=Dr.length-1;tt>=0;--tt)qr.push(Ue[or[Dr[tt]][2]]);for(tt=+oi;tt<Ir.length-ui;++tt)qr.push(Ue[or[Ir[tt]][2]]);return qr}return Be.x=function(Ue){return arguments.length?(oe=Ue,Be):oe},Be.y=function(Ue){return arguments.length?(we=Ue,Be):we},Be};function Zs(Z){for(var oe=Z.length,we=[0,1],Be=2,Ue=2;Ue<oe;Ue++){for(;Be>1&&Vt(Z[we[Be-2]],Z[we[Be-1]],Z[Ue])<=0;)--Be;we[Be++]=Ue}return we.slice(0,Be)}function Xs(Z,oe){return Z[0]-oe[0]||Z[1]-oe[1]}e.geom.polygon=function(Z){return ie(Z,wl),Z};var wl=e.geom.polygon.prototype=[];wl.area=function(){for(var Z=-1,oe=this.length,we,Be=this[oe-1],Ue=0;++Z<oe;)we=Be,Be=this[Z],Ue+=we[1]*Be[0]-we[0]*Be[1];return Ue*.5},wl.centroid=function(Z){var oe=-1,we=this.length,Be=0,Ue=0,We,wt=this[we-1],tt;for(arguments.length||(Z=-1/(6*this.area()));++oe<we;)We=wt,wt=this[oe],tt=We[0]*wt[1]-wt[0]*We[1],Be+=(We[0]+wt[0])*tt,Ue+=(We[1]+wt[1])*tt;return[Be*Z,Ue*Z]},wl.clip=function(Z){for(var oe,we=Cs(Z),Be=-1,Ue=this.length-Cs(this),We,wt,tt=this[Ue-1],zt,or,lr;++Be<Ue;){for(oe=Z.slice(),Z.length=0,zt=this[Be],or=oe[(wt=oe.length-we)-1],We=-1;++We<wt;)lr=oe[We],os(lr,tt,zt)?(os(or,tt,zt)||Z.push(cl(or,lr,tt,zt)),Z.push(lr)):os(or,tt,zt)&&Z.push(cl(or,lr,tt,zt)),or=lr;we&&Z.push(Z[0]),tt=zt}return Z};function os(Z,oe,we){return(we[0]-oe[0])*(Z[1]-oe[1])<(we[1]-oe[1])*(Z[0]-oe[0])}function cl(Z,oe,we,Be){var Ue=Z[0],We=we[0],wt=oe[0]-Ue,tt=Be[0]-We,zt=Z[1],or=we[1],lr=oe[1]-zt,Dr=Be[1]-or,Ir=(tt*(zt-or)-Dr*(Ue-We))/(Dr*wt-tt*lr);return[Ue+Ir*wt,zt+Ir*lr]}function Cs(Z){var oe=Z[0],we=Z[Z.length-1];return!(oe[0]-we[0]||oe[1]-we[1])}var ml,Ys,Hs,Eo=[],fs,Ql,Hu=[];function fc(){Ls(this),this.edge=this.site=this.circle=null}function ms(Z){var oe=Eo.pop()||new fc;return oe.site=Z,oe}function on(Z){ko(Z),Hs.remove(Z),Eo.push(Z),Ls(Z)}function fa(Z){var oe=Z.circle,we=oe.x,Be=oe.cy,Ue={x:we,y:Be},We=Z.P,wt=Z.N,tt=[Z];on(Z);for(var zt=We;zt.circle&&p(we-zt.circle.x)<Ye&&p(Be-zt.circle.cy)<Ye;)We=zt.P,tt.unshift(zt),on(zt),zt=We;tt.unshift(zt),ko(zt);for(var or=wt;or.circle&&p(we-or.circle.x)<Ye&&p(Be-or.circle.cy)<Ye;)wt=or.N,tt.push(or),on(or),or=wt;tt.push(or),ko(or);var lr=tt.length,Dr;for(Dr=1;Dr<lr;++Dr)or=tt[Dr],zt=tt[Dr-1],Al(or.edge,zt.site,or.site,Ue);zt=tt[0],or=tt[lr-1],or.edge=cf(zt.site,or.site,null,Ue),Zn(zt),Zn(or)}function Qu(Z){for(var oe=Z.x,we=Z.y,Be,Ue,We,wt,tt=Hs._;tt;)if(We=Rl(tt,we)-oe,We>Ye)tt=tt.L;else if(wt=oe-vo(tt,we),wt>Ye){if(!tt.R){Be=tt;break}tt=tt.R}else{We>-Ye?(Be=tt.P,Ue=tt):wt>-Ye?(Be=tt,Ue=tt.N):Be=Ue=tt;break}var zt=ms(Z);if(Hs.insert(Be,zt),!(!Be&&!Ue)){if(Be===Ue){ko(Be),Ue=ms(Be.site),Hs.insert(zt,Ue),zt.edge=Ue.edge=cf(Be.site,zt.site),Zn(Be),Zn(Ue);return}if(!Ue){zt.edge=cf(Be.site,zt.site);return}ko(Be),ko(Ue);var or=Be.site,lr=or.x,Dr=or.y,Ir=Z.x-lr,oi=Z.y-Dr,ui=Ue.site,qr=ui.x-lr,Kr=ui.y-Dr,ii=2*(Ir*Kr-oi*qr),vi=Ir*Ir+oi*oi,ci=qr*qr+Kr*Kr,Jr={x:(Kr*vi-oi*ci)/ii+lr,y:(Ir*ci-qr*vi)/ii+Dr};Al(Ue.edge,or,ui,Jr),zt.edge=cf(or,Z,null,Jr),Ue.edge=cf(Z,ui,null,Jr),Zn(Be),Zn(Ue)}}function Rl(Z,oe){var we=Z.site,Be=we.x,Ue=we.y,We=Ue-oe;if(!We)return Be;var wt=Z.P;if(!wt)return-1/0;we=wt.site;var tt=we.x,zt=we.y,or=zt-oe;if(!or)return tt;var lr=tt-Be,Dr=1/We-1/or,Ir=lr/or;return Dr?(-Ir+Math.sqrt(Ir*Ir-2*Dr*(lr*lr/(-2*or)-zt+or/2+Ue-We/2)))/Dr+Be:(Be+tt)/2}function vo(Z,oe){var we=Z.N;if(we)return Rl(we,oe);var Be=Z.site;return Be.y===oe?Be.x:1/0}function Zl(Z){this.site=Z,this.edges=[]}Zl.prototype.prepare=function(){for(var Z=this.edges,oe=Z.length,we;oe--;)we=Z[oe].edge,(!we.b||!we.a)&&Z.splice(oe,1);return Z.sort(Xl),Z.length};function Ks(Z){for(var oe=Z[0][0],we=Z[1][0],Be=Z[0][1],Ue=Z[1][1],We,wt,tt,zt,or=Ys,lr=or.length,Dr,Ir,oi,ui,qr,Kr;lr--;)if(Dr=or[lr],!(!Dr||!Dr.prepare()))for(oi=Dr.edges,ui=oi.length,Ir=0;Ir<ui;)Kr=oi[Ir].end(),tt=Kr.x,zt=Kr.y,qr=oi[++Ir%ui].start(),We=qr.x,wt=qr.y,(p(tt-We)>Ye||p(zt-wt)>Ye)&&(oi.splice(Ir,0,new Hc(rh(Dr.site,Kr,p(tt-oe)<Ye&&Ue-zt>Ye?{x:oe,y:p(We-oe)<Ye?wt:Ue}:p(zt-Ue)<Ye&&we-tt>Ye?{x:p(wt-Ue)<Ye?We:we,y:Ue}:p(tt-we)<Ye&&zt-Be>Ye?{x:we,y:p(We-we)<Ye?wt:Be}:p(zt-Be)<Ye&&tt-oe>Ye?{x:p(wt-Be)<Ye?We:oe,y:Be}:null),Dr.site,null)),++ui)}function Xl(Z,oe){return oe.angle-Z.angle}function Ec(){Ls(this),this.x=this.y=this.arc=this.site=this.cy=null}function Zn(Z){var oe=Z.P,we=Z.N;if(!(!oe||!we)){var Be=oe.site,Ue=Z.site,We=we.site;if(Be!==We){var wt=Ue.x,tt=Ue.y,zt=Be.x-wt,or=Be.y-tt,lr=We.x-wt,Kr=We.y-tt,Dr=2*(zt*Kr-or*lr);if(!(Dr>=-Ve)){var Ir=zt*zt+or*or,oi=lr*lr+Kr*Kr,ui=(Kr*Ir-or*oi)/Dr,qr=(zt*oi-lr*Ir)/Dr,Kr=qr+tt,ii=Hu.pop()||new Ec;ii.arc=Z,ii.site=Ue,ii.x=ui+wt,ii.y=Kr+Math.sqrt(ui*ui+qr*qr),ii.cy=Kr,Z.circle=ii;for(var vi=null,ci=Ql._;ci;)if(ii.y<ci.y||ii.y===ci.y&&ii.x<=ci.x)if(ci.L)ci=ci.L;else{vi=ci.P;break}else if(ci.R)ci=ci.R;else{vi=ci;break}Ql.insert(vi,ii),vi||(fs=ii)}}}}function ko(Z){var oe=Z.circle;oe&&(oe.P||(fs=oe.N),Ql.remove(oe),Hu.push(oe),Ls(oe),Z.circle=null)}function Co(Z,oe,we,Be){return function(Ue){var We=Ue.a,wt=Ue.b,tt=We.x,zt=We.y,or=wt.x,lr=wt.y,Dr=0,Ir=1,oi=or-tt,ui=lr-zt,qr;if(qr=Z-tt,!(!oi&&qr>0)){if(qr/=oi,oi<0){if(qr<Dr)return;qr<Ir&&(Ir=qr)}else if(oi>0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}if(qr=we-tt,!(!oi&&qr<0)){if(qr/=oi,oi<0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}else if(oi>0){if(qr<Dr)return;qr<Ir&&(Ir=qr)}if(qr=oe-zt,!(!ui&&qr>0)){if(qr/=ui,ui<0){if(qr<Dr)return;qr<Ir&&(Ir=qr)}else if(ui>0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}if(qr=Be-zt,!(!ui&&qr<0)){if(qr/=ui,ui<0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}else if(ui>0){if(qr<Dr)return;qr<Ir&&(Ir=qr)}return Dr>0&&(Ue.a={x:tt+Dr*oi,y:zt+Dr*ui}),Ir<1&&(Ue.b={x:tt+Ir*oi,y:zt+Ir*ui}),Ue}}}}}}function Tl(Z){for(var oe=ml,we=Co(Z[0][0],Z[0][1],Z[1][0],Z[1][1]),Be=oe.length,Ue;Be--;)Ue=oe[Be],(!uf(Ue,Z)||!we(Ue)||p(Ue.a.x-Ue.b.x)<Ye&&p(Ue.a.y-Ue.b.y)<Ye)&&(Ue.a=Ue.b=null,oe.splice(Be,1))}function uf(Z,oe){var we=Z.b;if(we)return!0;var Be=Z.a,Ue=oe[0][0],We=oe[1][0],wt=oe[0][1],tt=oe[1][1],zt=Z.l,or=Z.r,lr=zt.x,Dr=zt.y,Ir=or.x,oi=or.y,ui=(lr+Ir)/2,qr=(Dr+oi)/2,Kr,ii;if(oi===Dr){if(ui<Ue||ui>=We)return;if(lr>Ir){if(!Be)Be={x:ui,y:wt};else if(Be.y>=tt)return;we={x:ui,y:tt}}else{if(!Be)Be={x:ui,y:tt};else if(Be.y<wt)return;we={x:ui,y:wt}}}else if(Kr=(lr-Ir)/(oi-Dr),ii=qr-Kr*ui,Kr<-1||Kr>1)if(lr>Ir){if(!Be)Be={x:(wt-ii)/Kr,y:wt};else if(Be.y>=tt)return;we={x:(tt-ii)/Kr,y:tt}}else{if(!Be)Be={x:(tt-ii)/Kr,y:tt};else if(Be.y<wt)return;we={x:(wt-ii)/Kr,y:wt}}else if(Dr<oi){if(!Be)Be={x:Ue,y:Kr*Ue+ii};else if(Be.x>=We)return;we={x:We,y:Kr*We+ii}}else{if(!Be)Be={x:We,y:Kr*We+ii};else if(Be.x<Ue)return;we={x:Ue,y:Kr*Ue+ii}}return Z.a=Be,Z.b=we,!0}function So(Z,oe){this.l=Z,this.r=oe,this.a=this.b=null}function cf(Z,oe,we,Be){var Ue=new So(Z,oe);return ml.push(Ue),we&&Al(Ue,Z,oe,we),Be&&Al(Ue,oe,Z,Be),Ys[Z.i].edges.push(new Hc(Ue,Z,oe)),Ys[oe.i].edges.push(new Hc(Ue,oe,Z)),Ue}function rh(Z,oe,we){var Be=new So(Z,null);return Be.a=oe,Be.b=we,ml.push(Be),Be}function Al(Z,oe,we,Be){!Z.a&&!Z.b?(Z.a=Be,Z.l=oe,Z.r=we):Z.l===we?Z.b=Be:Z.a=Be}function Hc(Z,oe,we){var Be=Z.a,Ue=Z.b;this.edge=Z,this.site=oe,this.angle=we?Math.atan2(we.y-oe.y,we.x-oe.x):Z.l===oe?Math.atan2(Ue.x-Be.x,Be.y-Ue.y):Math.atan2(Be.x-Ue.x,Ue.y-Be.y)}Hc.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}};function eu(){this._=null}function Ls(Z){Z.U=Z.C=Z.L=Z.R=Z.P=Z.N=null}eu.prototype={insert:function(Z,oe){var we,Be,Ue;if(Z){if(oe.P=Z,oe.N=Z.N,Z.N&&(Z.N.P=oe),Z.N=oe,Z.R){for(Z=Z.R;Z.L;)Z=Z.L;Z.L=oe}else Z.R=oe;we=Z}else this._?(Z=Of(this._),oe.P=null,oe.N=Z,Z.P=Z.L=oe,we=Z):(oe.P=oe.N=null,this._=oe,we=null);for(oe.L=oe.R=null,oe.U=we,oe.C=!0,Z=oe;we&&we.C;)Be=we.U,we===Be.L?(Ue=Be.R,Ue&&Ue.C?(we.C=Ue.C=!1,Be.C=!0,Z=Be):(Z===we.R&&(mu(this,we),Z=we,we=Z.U),we.C=!1,Be.C=!0,kc(this,Be))):(Ue=Be.L,Ue&&Ue.C?(we.C=Ue.C=!1,Be.C=!0,Z=Be):(Z===we.L&&(kc(this,we),Z=we,we=Z.U),we.C=!1,Be.C=!0,mu(this,Be))),we=Z.U;this._.C=!1},remove:function(Z){Z.N&&(Z.N.P=Z.P),Z.P&&(Z.P.N=Z.N),Z.N=Z.P=null;var oe=Z.U,we,Be=Z.L,Ue=Z.R,We,wt;if(Be?Ue?We=Of(Ue):We=Be:We=Ue,oe?oe.L===Z?oe.L=We:oe.R=We:this._=We,Be&&Ue?(wt=We.C,We.C=Z.C,We.L=Be,Be.U=We,We!==Ue?(oe=We.U,We.U=Z.U,Z=We.R,oe.L=Z,We.R=Ue,Ue.U=We):(We.U=oe,oe=We,Z=We.R)):(wt=Z.C,Z=We),Z&&(Z.U=oe),!wt){if(Z&&Z.C){Z.C=!1;return}do{if(Z===this._)break;if(Z===oe.L){if(we=oe.R,we.C&&(we.C=!1,oe.C=!0,mu(this,oe),we=oe.R),we.L&&we.L.C||we.R&&we.R.C){(!we.R||!we.R.C)&&(we.L.C=!1,we.C=!0,kc(this,we),we=oe.R),we.C=oe.C,oe.C=we.R.C=!1,mu(this,oe),Z=this._;break}}else if(we=oe.L,we.C&&(we.C=!1,oe.C=!0,kc(this,oe),we=oe.L),we.L&&we.L.C||we.R&&we.R.C){(!we.L||!we.L.C)&&(we.R.C=!1,we.C=!0,mu(this,we),we=oe.L),we.C=oe.C,oe.C=we.L.C=!1,kc(this,oe),Z=this._;break}we.C=!0,Z=oe,oe=oe.U}while(!Z.C);Z&&(Z.C=!1)}}};function mu(Z,oe){var we=oe,Be=oe.R,Ue=we.U;Ue?Ue.L===we?Ue.L=Be:Ue.R=Be:Z._=Be,Be.U=Ue,we.U=Be,we.R=Be.L,we.R&&(we.R.U=we),Be.L=we}function kc(Z,oe){var we=oe,Be=oe.L,Ue=we.U;Ue?Ue.L===we?Ue.L=Be:Ue.R=Be:Z._=Be,Be.U=Ue,we.U=Be,we.L=Be.R,we.L&&(we.L.U=we),Be.R=we}function Of(Z){for(;Z.L;)Z=Z.L;return Z}function Gc(Z,oe){var we=Z.sort(vd).pop(),Be,Ue,We;for(ml=[],Ys=new Array(Z.length),Hs=new eu,Ql=new eu;;)if(We=fs,we&&(!We||we.y<We.y||we.y===We.y&&we.x<We.x))(we.x!==Be||we.y!==Ue)&&(Ys[we.i]=new Zl(we),Qu(we),Be=we.x,Ue=we.y),we=Z.pop();else if(We)fa(We.arc);else break;oe&&(Tl(oe),Ks(oe));var wt={cells:Ys,edges:ml};return Hs=Ql=ml=Ys=null,wt}function vd(Z,oe){return oe.y-Z.y||oe.x-Z.x}e.geom.voronoi=function(Z){var oe=zs,we=ks,Be=oe,Ue=we,We=Bf;if(Z)return wt(Z);function wt(zt){var or=new Array(zt.length),lr=We[0][0],Dr=We[0][1],Ir=We[1][0],oi=We[1][1];return Gc(tt(zt),We).cells.forEach(function(ui,qr){var Kr=ui.edges,ii=ui.site,vi=or[qr]=Kr.length?Kr.map(function(ci){var Jr=ci.start();return[Jr.x,Jr.y]}):ii.x>=lr&&ii.x<=Ir&&ii.y>=Dr&&ii.y<=oi?[[lr,oi],[Ir,oi],[Ir,Dr],[lr,Dr]]:[];vi.point=zt[qr]}),or}function tt(zt){return zt.map(function(or,lr){return{x:Math.round(Be(or,lr)/Ye)*Ye,y:Math.round(Ue(or,lr)/Ye)*Ye,i:lr}})}return wt.links=function(zt){return Gc(tt(zt)).edges.filter(function(or){return or.l&&or.r}).map(function(or){return{source:zt[or.l.i],target:zt[or.r.i]}})},wt.triangles=function(zt){var or=[];return Gc(tt(zt)).cells.forEach(function(lr,Dr){for(var Ir=lr.site,oi=lr.edges.sort(Xl),ui=-1,qr=oi.length,Kr,ii,vi=oi[qr-1].edge,ci=vi.l===Ir?vi.r:vi.l;++ui<qr;)Kr=vi,ii=ci,vi=oi[ui].edge,ci=vi.l===Ir?vi.r:vi.l,Dr<ii.i&&Dr<ci.i&&ss(Ir,ii,ci)<0&&or.push([zt[Dr],zt[ii.i],zt[ci.i]])}),or},wt.x=function(zt){return arguments.length?(Be=ti(oe=zt),wt):oe},wt.y=function(zt){return arguments.length?(Ue=ti(we=zt),wt):we},wt.clipExtent=function(zt){return arguments.length?(We=zt==null?Bf:zt,wt):We===Bf?null:We},wt.size=function(zt){return arguments.length?wt.clipExtent(zt&&[[0,0],zt]):We===Bf?null:We&&We[1]},wt};var Bf=[[-1e6,-1e6],[1e6,1e6]];function ss(Z,oe,we){return(Z.x-we.x)*(oe.y-Z.y)-(Z.x-oe.x)*(we.y-Z.y)}e.geom.delaunay=function(Z){return e.geom.voronoi().triangles(Z)},e.geom.quadtree=function(Z,oe,we,Be,Ue){var We=zs,wt=ks,tt;if(tt=arguments.length)return We=ff,wt=ih,tt===3&&(Ue=we,Be=oe,we=oe=0),zt(Z);function zt(or){var lr,Dr=ti(We),Ir=ti(wt),oi,ui,qr,Kr,ii,vi,ci,Jr;if(oe!=null)ii=oe,vi=we,ci=Be,Jr=Ue;else if(ci=Jr=-(ii=vi=1/0),oi=[],ui=[],Kr=or.length,tt)for(qr=0;qr<Kr;++qr)lr=or[qr],lr.x<ii&&(ii=lr.x),lr.y<vi&&(vi=lr.y),lr.x>ci&&(ci=lr.x),lr.y>Jr&&(Jr=lr.y),oi.push(lr.x),ui.push(lr.y);else for(qr=0;qr<Kr;++qr){var un=+Dr(lr=or[qr],qr),dn=+Ir(lr,qr);un<ii&&(ii=un),dn<vi&&(vi=dn),un>ci&&(ci=un),dn>Jr&&(Jr=dn),oi.push(un),ui.push(dn)}var En=ci-ii,Nn=Jr-vi;En>Nn?Jr=vi+En:ci=ii+Nn;function ga(wa,io,Ss,_s,Ns,pn,za,Lo){if(!(isNaN(Ss)||isNaN(_s)))if(wa.leaf){var Fo=wa.x,js=wa.y;if(Fo!=null)if(p(Fo-Ss)+p(js-_s)<.01)ya(wa,io,Ss,_s,Ns,pn,za,Lo);else{var xl=wa.point;wa.x=wa.y=wa.point=null,ya(wa,xl,Fo,js,Ns,pn,za,Lo),ya(wa,io,Ss,_s,Ns,pn,za,Lo)}else wa.x=Ss,wa.y=_s,wa.point=io}else ya(wa,io,Ss,_s,Ns,pn,za,Lo)}function ya(wa,io,Ss,_s,Ns,pn,za,Lo){var Fo=(Ns+za)*.5,js=(pn+Lo)*.5,xl=Ss>=Fo,fu=_s>=js,dl=fu<<1|xl;wa.leaf=!1,wa=wa.nodes[dl]||(wa.nodes[dl]=Vl()),xl?Ns=Fo:za=Fo,fu?pn=js:Lo=js,ga(wa,io,Ss,_s,Ns,pn,za,Lo)}var so=Vl();if(so.add=function(wa){ga(so,wa,+Dr(wa,++qr),+Ir(wa,qr),ii,vi,ci,Jr)},so.visit=function(wa){Js(wa,so,ii,vi,ci,Jr)},so.find=function(wa){return hc(so,wa[0],wa[1],ii,vi,ci,Jr)},qr=-1,oe==null){for(;++qr<Kr;)ga(so,or[qr],oi[qr],ui[qr],ii,vi,ci,Jr);--qr}else or.forEach(so.add);return oi=ui=or=lr=null,so}return zt.x=function(or){return arguments.length?(We=or,zt):We},zt.y=function(or){return arguments.length?(wt=or,zt):wt},zt.extent=function(or){return arguments.length?(or==null?oe=we=Be=Ue=null:(oe=+or[0][0],we=+or[0][1],Be=+or[1][0],Ue=+or[1][1]),zt):oe==null?null:[[oe,we],[Be,Ue]]},zt.size=function(or){return arguments.length?(or==null?oe=we=Be=Ue=null:(oe=we=0,Be=+or[0],Ue=+or[1]),zt):oe==null?null:[Be-oe,Ue-we]},zt};function ff(Z){return Z.x}function ih(Z){return Z.y}function Vl(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function Js(Z,oe,we,Be,Ue,We){if(!Z(oe,we,Be,Ue,We)){var wt=(we+Ue)*.5,tt=(Be+We)*.5,zt=oe.nodes;zt[0]&&Js(Z,zt[0],we,Be,wt,tt),zt[1]&&Js(Z,zt[1],wt,Be,Ue,tt),zt[2]&&Js(Z,zt[2],we,tt,wt,We),zt[3]&&Js(Z,zt[3],wt,tt,Ue,We)}}function hc(Z,oe,we,Be,Ue,We,wt){var tt=1/0,zt;return function or(lr,Dr,Ir,oi,ui){if(!(Dr>We||Ir>wt||oi<Be||ui<Ue)){if(qr=lr.point){var qr,Kr=oe-lr.x,ii=we-lr.y,vi=Kr*Kr+ii*ii;if(vi<tt){var ci=Math.sqrt(tt=vi);Be=oe-ci,Ue=we-ci,We=oe+ci,wt=we+ci,zt=qr}}for(var Jr=lr.nodes,un=(Dr+oi)*.5,dn=(Ir+ui)*.5,En=oe>=un,Nn=we>=dn,ga=Nn<<1|En,ya=ga+4;ga<ya;++ga)if(lr=Jr[ga&3])switch(ga&3){case 0:or(lr,Dr,Ir,un,dn);break;case 1:or(lr,un,Ir,oi,dn);break;case 2:or(lr,Dr,dn,un,ui);break;case 3:or(lr,un,dn,oi,ui);break}}}(Z,Be,Ue,We,wt),zt}e.interpolateRgb=Cc;function Cc(Z,oe){Z=e.rgb(Z),oe=e.rgb(oe);var we=Z.r,Be=Z.g,Ue=Z.b,We=oe.r-we,wt=oe.g-Be,tt=oe.b-Ue;return function(zt){return\"#\"+Sn(Math.round(we+We*zt))+Sn(Math.round(Be+wt*zt))+Sn(Math.round(Ue+tt*zt))}}e.interpolateObject=ws;function ws(Z,oe){var we={},Be={},Ue;for(Ue in Z)Ue in oe?we[Ue]=Sl(Z[Ue],oe[Ue]):Be[Ue]=Z[Ue];for(Ue in oe)Ue in Z||(Be[Ue]=oe[Ue]);return function(We){for(Ue in we)Be[Ue]=we[Ue](We);return Be}}e.interpolateNumber=$s;function $s(Z,oe){return Z=+Z,oe=+oe,function(we){return Z*(1-we)+oe*we}}e.interpolateString=hs;function hs(Z,oe){var we=Ms.lastIndex=dc.lastIndex=0,Be,Ue,We,wt=-1,tt=[],zt=[];for(Z=Z+\"\",oe=oe+\"\";(Be=Ms.exec(Z))&&(Ue=dc.exec(oe));)(We=Ue.index)>we&&(We=oe.slice(we,We),tt[wt]?tt[wt]+=We:tt[++wt]=We),(Be=Be[0])===(Ue=Ue[0])?tt[wt]?tt[wt]+=Ue:tt[++wt]=Ue:(tt[++wt]=null,zt.push({i:wt,x:$s(Be,Ue)})),we=dc.lastIndex;return we<oe.length&&(We=oe.slice(we),tt[wt]?tt[wt]+=We:tt[++wt]=We),tt.length<2?zt[0]?(oe=zt[0].x,function(or){return oe(or)+\"\"}):function(){return oe}:(oe=zt.length,function(or){for(var lr=0,Dr;lr<oe;++lr)tt[(Dr=zt[lr]).i]=Dr.x(or);return tt.join(\"\")})}var Ms=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,dc=new RegExp(Ms.source,\"g\");e.interpolate=Sl;function Sl(Z,oe){for(var we=e.interpolators.length,Be;--we>=0&&!(Be=e.interpolators[we](Z,oe)););return Be}e.interpolators=[function(Z,oe){var we=typeof oe;return(we===\"string\"?Hr.has(oe.toLowerCase())||/^(#|rgb\\(|hsl\\()/i.test(oe)?Cc:hs:oe instanceof Wn?Cc:Array.isArray(oe)?ec:we===\"object\"&&isNaN(oe)?ws:$s)(Z,oe)}],e.interpolateArray=ec;function ec(Z,oe){var we=[],Be=[],Ue=Z.length,We=oe.length,wt=Math.min(Z.length,oe.length),tt;for(tt=0;tt<wt;++tt)we.push(Sl(Z[tt],oe[tt]));for(;tt<Ue;++tt)Be[tt]=Z[tt];for(;tt<We;++tt)Be[tt]=oe[tt];return function(zt){for(tt=0;tt<wt;++tt)Be[tt]=we[tt](zt);return Be}}var Ps=function(){return H},ov=e.map({linear:Ps,poly:Mh,quad:function(){return Ef},cubic:function(){return tc},sin:function(){return jc},exp:function(){return kf},circle:function(){return Ml},elastic:Yh,back:Eh,bounce:function(){return nh}}),wo=e.map({in:H,out:$o,\"in-out\":Ja,\"out-in\":function(Z){return Ja($o(Z))}});e.ease=function(Z){var oe=Z.indexOf(\"-\"),we=oe>=0?Z.slice(0,oe):Z,Be=oe>=0?Z.slice(oe+1):\"in\";return we=ov.get(we)||Ps,Be=wo.get(Be)||H,Od(Be(we.apply(null,t.call(arguments,1))))};function Od(Z){return function(oe){return oe<=0?0:oe>=1?1:Z(oe)}}function $o(Z){return function(oe){return 1-Z(1-oe)}}function Ja(Z){return function(oe){return .5*(oe<.5?Z(2*oe):2-Z(2-2*oe))}}function Ef(Z){return Z*Z}function tc(Z){return Z*Z*Z}function uu(Z){if(Z<=0)return 0;if(Z>=1)return 1;var oe=Z*Z,we=oe*Z;return 4*(Z<.5?we:3*(Z-oe)+we-.75)}function Mh(Z){return function(oe){return Math.pow(oe,Z)}}function jc(Z){return 1-Math.cos(Z*xe)}function kf(Z){return Math.pow(2,10*(Z-1))}function Ml(Z){return 1-Math.sqrt(1-Z*Z)}function Yh(Z,oe){var we;return arguments.length<2&&(oe=.45),arguments.length?we=oe/ht*Math.asin(1/Z):(Z=1,we=oe/4),function(Be){return 1+Z*Math.pow(2,-10*Be)*Math.sin((Be-we)*ht/oe)}}function Eh(Z){return Z||(Z=1.70158),function(oe){return oe*oe*((Z+1)*oe-Z)}}function nh(Z){return Z<1/2.75?7.5625*Z*Z:Z<2/2.75?7.5625*(Z-=1.5/2.75)*Z+.75:Z<2.5/2.75?7.5625*(Z-=2.25/2.75)*Z+.9375:7.5625*(Z-=2.625/2.75)*Z+.984375}e.interpolateHcl=hf;function hf(Z,oe){Z=e.hcl(Z),oe=e.hcl(oe);var we=Z.h,Be=Z.c,Ue=Z.l,We=oe.h-we,wt=oe.c-Be,tt=oe.l-Ue;return isNaN(wt)&&(wt=0,Be=isNaN(Be)?oe.c:Be),isNaN(We)?(We=0,we=isNaN(we)?oe.h:we):We>180?We-=360:We<-180&&(We+=360),function(zt){return Fr(we+We*zt,Be+wt*zt,Ue+tt*zt)+\"\"}}e.interpolateHsl=kh;function kh(Z,oe){Z=e.hsl(Z),oe=e.hsl(oe);var we=Z.h,Be=Z.s,Ue=Z.l,We=oe.h-we,wt=oe.s-Be,tt=oe.l-Ue;return isNaN(wt)&&(wt=0,Be=isNaN(Be)?oe.s:Be),isNaN(We)?(We=0,we=isNaN(we)?oe.h:we):We>180?We-=360:We<-180&&(We+=360),function(zt){return jt(we+We*zt,Be+wt*zt,Ue+tt*zt)+\"\"}}e.interpolateLab=Kh;function Kh(Z,oe){Z=e.lab(Z),oe=e.lab(oe);var we=Z.l,Be=Z.a,Ue=Z.b,We=oe.l-we,wt=oe.a-Be,tt=oe.b-Ue;return function(zt){return Gi(we+We*zt,Be+wt*zt,Ue+tt*zt)+\"\"}}e.interpolateRound=rc;function rc(Z,oe){return oe-=Z,function(we){return Math.round(Z+oe*we)}}e.transform=function(Z){var oe=n.createElementNS(e.ns.prefix.svg,\"g\");return(e.transform=function(we){if(we!=null){oe.setAttribute(\"transform\",we);var Be=oe.transform.baseVal.consolidate()}return new ah(Be?Be.matrix:Nf)})(Z)};function ah(Z){var oe=[Z.a,Z.b],we=[Z.c,Z.d],Be=df(oe),Ue=Wc(oe,we),We=df(Cu(we,oe,-Ue))||0;oe[0]*we[1]<we[0]*oe[1]&&(oe[0]*=-1,oe[1]*=-1,Be*=-1,Ue*=-1),this.rotate=(Be?Math.atan2(oe[1],oe[0]):Math.atan2(-we[0],we[1]))*lt,this.translate=[Z.e,Z.f],this.scale=[Be,We],this.skew=We?Math.atan2(Ue,We)*lt:0}ah.prototype.toString=function(){return\"translate(\"+this.translate+\")rotate(\"+this.rotate+\")skewX(\"+this.skew+\")scale(\"+this.scale+\")\"};function Wc(Z,oe){return Z[0]*oe[0]+Z[1]*oe[1]}function df(Z){var oe=Math.sqrt(Wc(Z,Z));return oe&&(Z[0]/=oe,Z[1]/=oe),oe}function Cu(Z,oe,we){return Z[0]+=we*oe[0],Z[1]+=we*oe[1],Z}var Nf={a:1,b:0,c:0,d:1,e:0,f:0};e.interpolateTransform=Cf;function Zc(Z){return Z.length?Z.pop()+\",\":\"\"}function ds(Z,oe,we,Be){if(Z[0]!==oe[0]||Z[1]!==oe[1]){var Ue=we.push(\"translate(\",null,\",\",null,\")\");Be.push({i:Ue-4,x:$s(Z[0],oe[0])},{i:Ue-2,x:$s(Z[1],oe[1])})}else(oe[0]||oe[1])&&we.push(\"translate(\"+oe+\")\")}function Ch(Z,oe,we,Be){Z!==oe?(Z-oe>180?oe+=360:oe-Z>180&&(Z+=360),Be.push({i:we.push(Zc(we)+\"rotate(\",null,\")\")-2,x:$s(Z,oe)})):oe&&we.push(Zc(we)+\"rotate(\"+oe+\")\")}function Bd(Z,oe,we,Be){Z!==oe?Be.push({i:we.push(Zc(we)+\"skewX(\",null,\")\")-2,x:$s(Z,oe)}):oe&&we.push(Zc(we)+\"skewX(\"+oe+\")\")}function Jh(Z,oe,we,Be){if(Z[0]!==oe[0]||Z[1]!==oe[1]){var Ue=we.push(Zc(we)+\"scale(\",null,\",\",null,\")\");Be.push({i:Ue-4,x:$s(Z[0],oe[0])},{i:Ue-2,x:$s(Z[1],oe[1])})}else(oe[0]!==1||oe[1]!==1)&&we.push(Zc(we)+\"scale(\"+oe+\")\")}function Cf(Z,oe){var we=[],Be=[];return Z=e.transform(Z),oe=e.transform(oe),ds(Z.translate,oe.translate,we,Be),Ch(Z.rotate,oe.rotate,we,Be),Bd(Z.skew,oe.skew,we,Be),Jh(Z.scale,oe.scale,we,Be),Z=oe=null,function(Ue){for(var We=-1,wt=Be.length,tt;++We<wt;)we[(tt=Be[We]).i]=tt.x(Ue);return we.join(\"\")}}function pd(Z,oe){return oe=(oe-=Z=+Z)||1/oe,function(we){return(we-Z)/oe}}function Lu(Z,oe){return oe=(oe-=Z=+Z)||1/oe,function(we){return Math.max(0,Math.min(1,(we-Z)/oe))}}e.layout={},e.layout.bundle=function(){return function(Z){for(var oe=[],we=-1,Be=Z.length;++we<Be;)oe.push($h(Z[we]));return oe}};function $h(Z){for(var oe=Z.source,we=Z.target,Be=Pu(oe,we),Ue=[oe];oe!==Be;)oe=oe.parent,Ue.push(oe);for(var We=Ue.length;we!==Be;)Ue.splice(We,0,we),we=we.parent;return Ue}function tu(Z){for(var oe=[],we=Z.parent;we!=null;)oe.push(Z),Z=we,we=we.parent;return oe.push(Z),oe}function Pu(Z,oe){if(Z===oe)return Z;for(var we=tu(Z),Be=tu(oe),Ue=we.pop(),We=Be.pop(),wt=null;Ue===We;)wt=Ue,Ue=we.pop(),We=Be.pop();return wt}e.layout.chord=function(){var Z={},oe,we,Be,Ue,We=0,wt,tt,zt;function or(){var Dr={},Ir=[],oi=e.range(Ue),ui=[],qr,Kr,ii,vi,ci;for(oe=[],we=[],qr=0,vi=-1;++vi<Ue;){for(Kr=0,ci=-1;++ci<Ue;)Kr+=Be[vi][ci];Ir.push(Kr),ui.push(e.range(Ue)),qr+=Kr}for(wt&&oi.sort(function(so,wa){return wt(Ir[so],Ir[wa])}),tt&&ui.forEach(function(so,wa){so.sort(function(io,Ss){return tt(Be[wa][io],Be[wa][Ss])})}),qr=(ht-We*Ue)/qr,Kr=0,vi=-1;++vi<Ue;){for(ii=Kr,ci=-1;++ci<Ue;){var Jr=oi[vi],un=ui[Jr][ci],dn=Be[Jr][un],En=Kr,Nn=Kr+=dn*qr;Dr[Jr+\"-\"+un]={index:Jr,subindex:un,startAngle:En,endAngle:Nn,value:dn}}we[Jr]={index:Jr,startAngle:ii,endAngle:Kr,value:Ir[Jr]},Kr+=We}for(vi=-1;++vi<Ue;)for(ci=vi-1;++ci<Ue;){var ga=Dr[vi+\"-\"+ci],ya=Dr[ci+\"-\"+vi];(ga.value||ya.value)&&oe.push(ga.value<ya.value?{source:ya,target:ga}:{source:ga,target:ya})}zt&&lr()}function lr(){oe.sort(function(Dr,Ir){return zt((Dr.source.value+Dr.target.value)/2,(Ir.source.value+Ir.target.value)/2)})}return Z.matrix=function(Dr){return arguments.length?(Ue=(Be=Dr)&&Be.length,oe=we=null,Z):Be},Z.padding=function(Dr){return arguments.length?(We=Dr,oe=we=null,Z):We},Z.sortGroups=function(Dr){return arguments.length?(wt=Dr,oe=we=null,Z):wt},Z.sortSubgroups=function(Dr){return arguments.length?(tt=Dr,oe=null,Z):tt},Z.sortChords=function(Dr){return arguments.length?(zt=Dr,oe&&lr(),Z):zt},Z.chords=function(){return oe||or(),oe},Z.groups=function(){return we||or(),we},Z},e.layout.force=function(){var Z={},oe=e.dispatch(\"start\",\"tick\",\"end\"),we,Be=[1,1],Ue,We,wt=.9,tt=Qs,zt=Qh,or=-30,lr=gd,Dr=.1,Ir=.64,oi=[],ui=[],qr,Kr,ii;function vi(Jr){return function(un,dn,En,Nn){if(un.point!==Jr){var ga=un.cx-Jr.x,ya=un.cy-Jr.y,so=Nn-dn,wa=ga*ga+ya*ya;if(so*so/Ir<wa){if(wa<lr){var io=un.charge/wa;Jr.px-=ga*io,Jr.py-=ya*io}return!0}if(un.point&&wa&&wa<lr){var io=un.pointCharge/wa;Jr.px-=ga*io,Jr.py-=ya*io}}return!un.charge}}Z.tick=function(){if((We*=.99)<.005)return we=null,oe.end({type:\"end\",alpha:We=0}),!0;var Jr=oi.length,un=ui.length,dn,En,Nn,ga,ya,so,wa,io,Ss;for(En=0;En<un;++En)Nn=ui[En],ga=Nn.source,ya=Nn.target,io=ya.x-ga.x,Ss=ya.y-ga.y,(so=io*io+Ss*Ss)&&(so=We*Kr[En]*((so=Math.sqrt(so))-qr[En])/so,io*=so,Ss*=so,ya.x-=io*(wa=ga.weight+ya.weight?ga.weight/(ga.weight+ya.weight):.5),ya.y-=Ss*wa,ga.x+=io*(wa=1-wa),ga.y+=Ss*wa);if((wa=We*Dr)&&(io=Be[0]/2,Ss=Be[1]/2,En=-1,wa))for(;++En<Jr;)Nn=oi[En],Nn.x+=(io-Nn.x)*wa,Nn.y+=(Ss-Nn.y)*wa;if(or)for(yu(dn=e.geom.quadtree(oi),We,ii),En=-1;++En<Jr;)(Nn=oi[En]).fixed||dn.visit(vi(Nn));for(En=-1;++En<Jr;)Nn=oi[En],Nn.fixed?(Nn.x=Nn.px,Nn.y=Nn.py):(Nn.x-=(Nn.px-(Nn.px=Nn.x))*wt,Nn.y-=(Nn.py-(Nn.py=Nn.y))*wt);oe.tick({type:\"tick\",alpha:We})},Z.nodes=function(Jr){return arguments.length?(oi=Jr,Z):oi},Z.links=function(Jr){return arguments.length?(ui=Jr,Z):ui},Z.size=function(Jr){return arguments.length?(Be=Jr,Z):Be},Z.linkDistance=function(Jr){return arguments.length?(tt=typeof Jr==\"function\"?Jr:+Jr,Z):tt},Z.distance=Z.linkDistance,Z.linkStrength=function(Jr){return arguments.length?(zt=typeof Jr==\"function\"?Jr:+Jr,Z):zt},Z.friction=function(Jr){return arguments.length?(wt=+Jr,Z):wt},Z.charge=function(Jr){return arguments.length?(or=typeof Jr==\"function\"?Jr:+Jr,Z):or},Z.chargeDistance=function(Jr){return arguments.length?(lr=Jr*Jr,Z):Math.sqrt(lr)},Z.gravity=function(Jr){return arguments.length?(Dr=+Jr,Z):Dr},Z.theta=function(Jr){return arguments.length?(Ir=Jr*Jr,Z):Math.sqrt(Ir)},Z.alpha=function(Jr){return arguments.length?(Jr=+Jr,We?Jr>0?We=Jr:(we.c=null,we.t=NaN,we=null,oe.end({type:\"end\",alpha:We=0})):Jr>0&&(oe.start({type:\"start\",alpha:We=Jr}),we=Oo(Z.tick)),Z):We},Z.start=function(){var Jr,un=oi.length,dn=ui.length,En=Be[0],Nn=Be[1],ga,ya;for(Jr=0;Jr<un;++Jr)(ya=oi[Jr]).index=Jr,ya.weight=0;for(Jr=0;Jr<dn;++Jr)ya=ui[Jr],typeof ya.source==\"number\"&&(ya.source=oi[ya.source]),typeof ya.target==\"number\"&&(ya.target=oi[ya.target]),++ya.source.weight,++ya.target.weight;for(Jr=0;Jr<un;++Jr)ya=oi[Jr],isNaN(ya.x)&&(ya.x=so(\"x\",En)),isNaN(ya.y)&&(ya.y=so(\"y\",Nn)),isNaN(ya.px)&&(ya.px=ya.x),isNaN(ya.py)&&(ya.py=ya.y);if(qr=[],typeof tt==\"function\")for(Jr=0;Jr<dn;++Jr)qr[Jr]=+tt.call(this,ui[Jr],Jr);else for(Jr=0;Jr<dn;++Jr)qr[Jr]=tt;if(Kr=[],typeof zt==\"function\")for(Jr=0;Jr<dn;++Jr)Kr[Jr]=+zt.call(this,ui[Jr],Jr);else for(Jr=0;Jr<dn;++Jr)Kr[Jr]=zt;if(ii=[],typeof or==\"function\")for(Jr=0;Jr<un;++Jr)ii[Jr]=+or.call(this,oi[Jr],Jr);else for(Jr=0;Jr<un;++Jr)ii[Jr]=or;function so(wa,io){if(!ga){for(ga=new Array(un),Ns=0;Ns<un;++Ns)ga[Ns]=[];for(Ns=0;Ns<dn;++Ns){var Ss=ui[Ns];ga[Ss.source.index].push(Ss.target),ga[Ss.target.index].push(Ss.source)}}for(var _s=ga[Jr],Ns=-1,pn=_s.length,za;++Ns<pn;)if(!isNaN(za=_s[Ns][wa]))return za;return Math.random()*io}return Z.resume()},Z.resume=function(){return Z.alpha(.1)},Z.stop=function(){return Z.alpha(0)},Z.drag=function(){if(Ue||(Ue=e.behavior.drag().origin(H).on(\"dragstart.force\",Lc).on(\"drag.force\",ci).on(\"dragend.force\",fl)),!arguments.length)return Ue;this.on(\"mouseover.force\",Xc).on(\"mouseout.force\",ic).call(Ue)};function ci(Jr){Jr.px=e.event.x,Jr.py=e.event.y,Z.resume()}return e.rebind(Z,oe,\"on\")};function Lc(Z){Z.fixed|=2}function fl(Z){Z.fixed&=-7}function Xc(Z){Z.fixed|=4,Z.px=Z.x,Z.py=Z.y}function ic(Z){Z.fixed&=-5}function yu(Z,oe,we){var Be=0,Ue=0;if(Z.charge=0,!Z.leaf)for(var We=Z.nodes,wt=We.length,tt=-1,zt;++tt<wt;)zt=We[tt],zt!=null&&(yu(zt,oe,we),Z.charge+=zt.charge,Be+=zt.charge*zt.cx,Ue+=zt.charge*zt.cy);if(Z.point){Z.leaf||(Z.point.x+=Math.random()-.5,Z.point.y+=Math.random()-.5);var or=oe*we[Z.point.index];Z.charge+=Z.pointCharge=or,Be+=or*Z.point.x,Ue+=or*Z.point.y}Z.cx=Be/Z.charge,Z.cy=Ue/Z.charge}var Qs=20,Qh=1,gd=1/0;e.layout.hierarchy=function(){var Z=Uf,oe=sv,we=Lf;function Be(Ue){var We=[Ue],wt=[],tt;for(Ue.depth=0;(tt=We.pop())!=null;)if(wt.push(tt),(or=oe.call(Be,tt,tt.depth))&&(zt=or.length)){for(var zt,or,lr;--zt>=0;)We.push(lr=or[zt]),lr.parent=tt,lr.depth=tt.depth+1;we&&(tt.value=0),tt.children=or}else we&&(tt.value=+we.call(Be,tt,tt.depth)||0),delete tt.children;return vc(Ue,function(Dr){var Ir,oi;Z&&(Ir=Dr.children)&&Ir.sort(Z),we&&(oi=Dr.parent)&&(oi.value+=Dr.value)}),wt}return Be.sort=function(Ue){return arguments.length?(Z=Ue,Be):Z},Be.children=function(Ue){return arguments.length?(oe=Ue,Be):oe},Be.value=function(Ue){return arguments.length?(we=Ue,Be):we},Be.revalue=function(Ue){return we&&(Pc(Ue,function(We){We.children&&(We.value=0)}),vc(Ue,function(We){var wt;We.children||(We.value=+we.call(Be,We,We.depth)||0),(wt=We.parent)&&(wt.value+=We.value)})),Ue},Be};function Gu(Z,oe){return e.rebind(Z,oe,\"sort\",\"children\",\"value\"),Z.nodes=Z,Z.links=Iu,Z}function Pc(Z,oe){for(var we=[Z];(Z=we.pop())!=null;)if(oe(Z),(Ue=Z.children)&&(Be=Ue.length))for(var Be,Ue;--Be>=0;)we.push(Ue[Be])}function vc(Z,oe){for(var we=[Z],Be=[];(Z=we.pop())!=null;)if(Be.push(Z),(wt=Z.children)&&(We=wt.length))for(var Ue=-1,We,wt;++Ue<We;)we.push(wt[Ue]);for(;(Z=Be.pop())!=null;)oe(Z)}function sv(Z){return Z.children}function Lf(Z){return Z.value}function Uf(Z,oe){return oe.value-Z.value}function Iu(Z){return e.merge(Z.map(function(oe){return(oe.children||[]).map(function(we){return{source:oe,target:we}})}))}e.layout.partition=function(){var Z=e.layout.hierarchy(),oe=[1,1];function we(We,wt,tt,zt){var or=We.children;if(We.x=wt,We.y=We.depth*zt,We.dx=tt,We.dy=zt,or&&(Dr=or.length)){var lr=-1,Dr,Ir,oi;for(tt=We.value?tt/We.value:0;++lr<Dr;)we(Ir=or[lr],wt,oi=Ir.value*tt,zt),wt+=oi}}function Be(We){var wt=We.children,tt=0;if(wt&&(or=wt.length))for(var zt=-1,or;++zt<or;)tt=Math.max(tt,Be(wt[zt]));return 1+tt}function Ue(We,wt){var tt=Z.call(this,We,wt);return we(tt[0],0,oe[0],oe[1]/Be(tt[0])),tt}return Ue.size=function(We){return arguments.length?(oe=We,Ue):oe},Gu(Ue,Z)},e.layout.pie=function(){var Z=Number,oe=oh,we=0,Be=ht,Ue=0;function We(wt){var tt=wt.length,zt=wt.map(function(vi,ci){return+Z.call(We,vi,ci)}),or=+(typeof we==\"function\"?we.apply(this,arguments):we),lr=(typeof Be==\"function\"?Be.apply(this,arguments):Be)-or,Dr=Math.min(Math.abs(lr)/tt,+(typeof Ue==\"function\"?Ue.apply(this,arguments):Ue)),Ir=Dr*(lr<0?-1:1),oi=e.sum(zt),ui=oi?(lr-tt*Ir)/oi:0,qr=e.range(tt),Kr=[],ii;return oe!=null&&qr.sort(oe===oh?function(vi,ci){return zt[ci]-zt[vi]}:function(vi,ci){return oe(wt[vi],wt[ci])}),qr.forEach(function(vi){Kr[vi]={data:wt[vi],value:ii=zt[vi],startAngle:or,endAngle:or+=ii*ui+Ir,padAngle:Dr}}),Kr}return We.value=function(wt){return arguments.length?(Z=wt,We):Z},We.sort=function(wt){return arguments.length?(oe=wt,We):oe},We.startAngle=function(wt){return arguments.length?(we=wt,We):we},We.endAngle=function(wt){return arguments.length?(Be=wt,We):Be},We.padAngle=function(wt){return arguments.length?(Ue=wt,We):Ue},We};var oh={};e.layout.stack=function(){var Z=H,oe=_u,we=xu,Be=md,Ue=ru,We=vf;function wt(tt,zt){if(!(ui=tt.length))return tt;var or=tt.map(function(vi,ci){return Z.call(wt,vi,ci)}),lr=or.map(function(vi){return vi.map(function(ci,Jr){return[Ue.call(wt,ci,Jr),We.call(wt,ci,Jr)]})}),Dr=oe.call(wt,lr,zt);or=e.permute(or,Dr),lr=e.permute(lr,Dr);var Ir=we.call(wt,lr,zt),oi=or[0].length,ui,qr,Kr,ii;for(Kr=0;Kr<oi;++Kr)for(Be.call(wt,or[0][Kr],ii=Ir[Kr],lr[0][Kr][1]),qr=1;qr<ui;++qr)Be.call(wt,or[qr][Kr],ii+=lr[qr-1][Kr][1],lr[qr][Kr][1]);return tt}return wt.values=function(tt){return arguments.length?(Z=tt,wt):Z},wt.order=function(tt){return arguments.length?(oe=typeof tt==\"function\"?tt:sh.get(tt)||_u,wt):oe},wt.offset=function(tt){return arguments.length?(we=typeof tt==\"function\"?tt:Fs.get(tt)||xu,wt):we},wt.x=function(tt){return arguments.length?(Ue=tt,wt):Ue},wt.y=function(tt){return arguments.length?(We=tt,wt):We},wt.out=function(tt){return arguments.length?(Be=tt,wt):Be},wt};function ru(Z){return Z.x}function vf(Z){return Z.y}function md(Z,oe,we){Z.y0=oe,Z.y=we}var sh=e.map({\"inside-out\":function(Z){var oe=Z.length,we,Be,Ue=Z.map(Lh),We=Z.map(Is),wt=e.range(oe).sort(function(Dr,Ir){return Ue[Dr]-Ue[Ir]}),tt=0,zt=0,or=[],lr=[];for(we=0;we<oe;++we)Be=wt[we],tt<zt?(tt+=We[Be],or.push(Be)):(zt+=We[Be],lr.push(Be));return lr.reverse().concat(or)},reverse:function(Z){return e.range(Z.length).reverse()},default:_u}),Fs=e.map({silhouette:function(Z){var oe=Z.length,we=Z[0].length,Be=[],Ue=0,We,wt,tt,zt=[];for(wt=0;wt<we;++wt){for(We=0,tt=0;We<oe;We++)tt+=Z[We][wt][1];tt>Ue&&(Ue=tt),Be.push(tt)}for(wt=0;wt<we;++wt)zt[wt]=(Ue-Be[wt])/2;return zt},wiggle:function(Z){var oe=Z.length,we=Z[0],Be=we.length,Ue,We,wt,tt,zt,or,lr,Dr,Ir,oi=[];for(oi[0]=Dr=Ir=0,We=1;We<Be;++We){for(Ue=0,tt=0;Ue<oe;++Ue)tt+=Z[Ue][We][1];for(Ue=0,zt=0,lr=we[We][0]-we[We-1][0];Ue<oe;++Ue){for(wt=0,or=(Z[Ue][We][1]-Z[Ue][We-1][1])/(2*lr);wt<Ue;++wt)or+=(Z[wt][We][1]-Z[wt][We-1][1])/lr;zt+=or*Z[Ue][We][1]}oi[We]=Dr-=tt?zt/tt*lr:0,Dr<Ir&&(Ir=Dr)}for(We=0;We<Be;++We)oi[We]-=Ir;return oi},expand:function(Z){var oe=Z.length,we=Z[0].length,Be=1/oe,Ue,We,wt,tt=[];for(We=0;We<we;++We){for(Ue=0,wt=0;Ue<oe;Ue++)wt+=Z[Ue][We][1];if(wt)for(Ue=0;Ue<oe;Ue++)Z[Ue][We][1]/=wt;else for(Ue=0;Ue<oe;Ue++)Z[Ue][We][1]=Be}for(We=0;We<we;++We)tt[We]=0;return tt},zero:xu});function _u(Z){return e.range(Z.length)}function xu(Z){for(var oe=-1,we=Z[0].length,Be=[];++oe<we;)Be[oe]=0;return Be}function Lh(Z){for(var oe=1,we=0,Be=Z[0][1],Ue,We=Z.length;oe<We;++oe)(Ue=Z[oe][1])>Be&&(we=oe,Be=Ue);return we}function Is(Z){return Z.reduce(Pf,0)}function Pf(Z,oe){return Z+oe[1]}e.layout.histogram=function(){var Z=!0,oe=Number,we=Vf,Be=Ic;function Ue(We,Ir){for(var tt=[],zt=We.map(oe,this),or=we.call(this,zt,Ir),lr=Be.call(this,or,zt,Ir),Dr,Ir=-1,oi=zt.length,ui=lr.length-1,qr=Z?1:1/oi,Kr;++Ir<ui;)Dr=tt[Ir]=[],Dr.dx=lr[Ir+1]-(Dr.x=lr[Ir]),Dr.y=0;if(ui>0)for(Ir=-1;++Ir<oi;)Kr=zt[Ir],Kr>=or[0]&&Kr<=or[1]&&(Dr=tt[e.bisect(lr,Kr,1,ui)-1],Dr.y+=qr,Dr.push(We[Ir]));return tt}return Ue.value=function(We){return arguments.length?(oe=We,Ue):oe},Ue.range=function(We){return arguments.length?(we=ti(We),Ue):we},Ue.bins=function(We){return arguments.length?(Be=typeof We==\"number\"?function(wt){return ju(wt,We)}:ti(We),Ue):Be},Ue.frequency=function(We){return arguments.length?(Z=!!We,Ue):Z},Ue};function Ic(Z,oe){return ju(Z,Math.ceil(Math.log(oe.length)/Math.LN2+1))}function ju(Z,oe){for(var we=-1,Be=+Z[0],Ue=(Z[1]-Be)/oe,We=[];++we<=oe;)We[we]=Ue*we+Be;return We}function Vf(Z){return[e.min(Z),e.max(Z)]}e.layout.pack=function(){var Z=e.layout.hierarchy().sort(pc),oe=0,we=[1,1],Be;function Ue(We,wt){var tt=Z.call(this,We,wt),zt=tt[0],or=we[0],lr=we[1],Dr=Be==null?Math.sqrt:typeof Be==\"function\"?Be:function(){return Be};if(zt.x=zt.y=0,vc(zt,function(oi){oi.r=+Dr(oi.value)}),vc(zt,Ih),oe){var Ir=oe*(Be?1:Math.max(2*zt.r/or,2*zt.r/lr))/2;vc(zt,function(oi){oi.r+=Ir}),vc(zt,Ih),vc(zt,function(oi){oi.r-=Ir})}return gc(zt,or/2,lr/2,Be?1:1/Math.max(2*zt.r/or,2*zt.r/lr)),tt}return Ue.size=function(We){return arguments.length?(we=We,Ue):we},Ue.radius=function(We){return arguments.length?(Be=We==null||typeof We==\"function\"?We:+We,Ue):Be},Ue.padding=function(We){return arguments.length?(oe=+We,Ue):oe},Gu(Ue,Z)};function pc(Z,oe){return Z.value-oe.value}function pf(Z,oe){var we=Z._pack_next;Z._pack_next=oe,oe._pack_prev=Z,oe._pack_next=we,we._pack_prev=oe}function Ph(Z,oe){Z._pack_next=oe,oe._pack_prev=Z}function Dl(Z,oe){var we=oe.x-Z.x,Be=oe.y-Z.y,Ue=Z.r+oe.r;return .999*Ue*Ue>we*we+Be*Be}function Ih(Z){if(!(oe=Z.children)||!(Ir=oe.length))return;var oe,we=1/0,Be=-1/0,Ue=1/0,We=-1/0,wt,tt,zt,or,lr,Dr,Ir;function oi(Jr){we=Math.min(Jr.x-Jr.r,we),Be=Math.max(Jr.x+Jr.r,Be),Ue=Math.min(Jr.y-Jr.r,Ue),We=Math.max(Jr.y+Jr.r,We)}if(oe.forEach(Wu),wt=oe[0],wt.x=-wt.r,wt.y=0,oi(wt),Ir>1&&(tt=oe[1],tt.x=tt.r,tt.y=0,oi(tt),Ir>2))for(zt=oe[2],hl(wt,tt,zt),oi(zt),pf(wt,zt),wt._pack_prev=zt,pf(zt,tt),tt=wt._pack_next,or=3;or<Ir;or++){hl(wt,tt,zt=oe[or]);var ui=0,qr=1,Kr=1;for(lr=tt._pack_next;lr!==tt;lr=lr._pack_next,qr++)if(Dl(lr,zt)){ui=1;break}if(ui==1)for(Dr=wt._pack_prev;Dr!==lr._pack_prev&&!Dl(Dr,zt);Dr=Dr._pack_prev,Kr++);ui?(qr<Kr||qr==Kr&&tt.r<wt.r?Ph(wt,tt=lr):Ph(wt=Dr,tt),or--):(pf(wt,zt),tt=zt,oi(zt))}var ii=(we+Be)/2,vi=(Ue+We)/2,ci=0;for(or=0;or<Ir;or++)zt=oe[or],zt.x-=ii,zt.y-=vi,ci=Math.max(ci,zt.r+Math.sqrt(zt.x*zt.x+zt.y*zt.y));Z.r=ci,oe.forEach(Rc)}function Wu(Z){Z._pack_next=Z._pack_prev=Z}function Rc(Z){delete Z._pack_next,delete Z._pack_prev}function gc(Z,oe,we,Be){var Ue=Z.children;if(Z.x=oe+=Be*Z.x,Z.y=we+=Be*Z.y,Z.r*=Be,Ue)for(var We=-1,wt=Ue.length;++We<wt;)gc(Ue[We],oe,we,Be)}function hl(Z,oe,we){var Be=Z.r+we.r,Ue=oe.x-Z.x,We=oe.y-Z.y;if(Be&&(Ue||We)){var wt=oe.r+we.r,tt=Ue*Ue+We*We;wt*=wt,Be*=Be;var zt=.5+(Be-wt)/(2*tt),or=Math.sqrt(Math.max(0,2*wt*(Be+tt)-(Be-=tt)*Be-wt*wt))/(2*tt);we.x=Z.x+zt*Ue+or*We,we.y=Z.y+zt*We-or*Ue}else we.x=Z.x+Be,we.y=Z.y}e.layout.tree=function(){var Z=e.layout.hierarchy().sort(null).value(null),oe=iu,we=[1,1],Be=null;function Ue(lr,Dr){var Ir=Z.call(this,lr,Dr),oi=Ir[0],ui=We(oi);if(vc(ui,wt),ui.parent.m=-ui.z,Pc(ui,tt),Be)Pc(oi,or);else{var qr=oi,Kr=oi,ii=oi;Pc(oi,function(un){un.x<qr.x&&(qr=un),un.x>Kr.x&&(Kr=un),un.depth>ii.depth&&(ii=un)});var vi=oe(qr,Kr)/2-qr.x,ci=we[0]/(Kr.x+oe(Kr,qr)/2+vi),Jr=we[1]/(ii.depth||1);Pc(oi,function(un){un.x=(un.x+vi)*ci,un.y=un.depth*Jr})}return Ir}function We(lr){for(var Dr={A:null,children:[lr]},Ir=[Dr],oi;(oi=Ir.pop())!=null;)for(var ui=oi.children,qr,Kr=0,ii=ui.length;Kr<ii;++Kr)Ir.push((ui[Kr]=qr={_:ui[Kr],parent:oi,children:(qr=ui[Kr].children)&&qr.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:Kr}).a=qr);return Dr.children[0]}function wt(lr){var Dr=lr.children,Ir=lr.parent.children,oi=lr.i?Ir[lr.i-1]:null;if(Dr.length){gf(lr);var ui=(Dr[0].z+Dr[Dr.length-1].z)/2;oi?(lr.z=oi.z+oe(lr._,oi._),lr.m=lr.z-ui):lr.z=ui}else oi&&(lr.z=oi.z+oe(lr._,oi._));lr.parent.A=zt(lr,oi,lr.parent.A||Ir[0])}function tt(lr){lr._.x=lr.z+lr.parent.m,lr.m+=lr.parent.m}function zt(lr,Dr,Ir){if(Dr){for(var oi=lr,ui=lr,qr=Dr,Kr=oi.parent.children[0],ii=oi.m,vi=ui.m,ci=qr.m,Jr=Kr.m,un;qr=Yc(qr),oi=mc(oi),qr&&oi;)Kr=mc(Kr),ui=Yc(ui),ui.a=lr,un=qr.z+ci-oi.z-ii+oe(qr._,oi._),un>0&&(nc(gt(qr,lr,Ir),lr,un),ii+=un,vi+=un),ci+=qr.m,ii+=oi.m,Jr+=Kr.m,vi+=ui.m;qr&&!Yc(ui)&&(ui.t=qr,ui.m+=ci-vi),oi&&!mc(Kr)&&(Kr.t=oi,Kr.m+=ii-Jr,Ir=lr)}return Ir}function or(lr){lr.x*=we[0],lr.y=lr.depth*we[1]}return Ue.separation=function(lr){return arguments.length?(oe=lr,Ue):oe},Ue.size=function(lr){return arguments.length?(Be=(we=lr)==null?or:null,Ue):Be?null:we},Ue.nodeSize=function(lr){return arguments.length?(Be=(we=lr)==null?null:or,Ue):Be?we:null},Gu(Ue,Z)};function iu(Z,oe){return Z.parent==oe.parent?1:2}function mc(Z){var oe=Z.children;return oe.length?oe[0]:Z.t}function Yc(Z){var oe=Z.children,we;return(we=oe.length)?oe[we-1]:Z.t}function nc(Z,oe,we){var Be=we/(oe.i-Z.i);oe.c-=Be,oe.s+=we,Z.c+=Be,oe.z+=we,oe.m+=we}function gf(Z){for(var oe=0,we=0,Be=Z.children,Ue=Be.length,We;--Ue>=0;)We=Be[Ue],We.z+=oe,We.m+=oe,oe+=We.s+(we+=We.c)}function gt(Z,oe,we){return Z.a.parent===oe.parent?Z.a:we}e.layout.cluster=function(){var Z=e.layout.hierarchy().sort(null).value(null),oe=iu,we=[1,1],Be=!1;function Ue(We,wt){var tt=Z.call(this,We,wt),zt=tt[0],or,lr=0;vc(zt,function(qr){var Kr=qr.children;Kr&&Kr.length?(qr.x=wr(Kr),qr.y=Bt(Kr)):(qr.x=or?lr+=oe(qr,or):0,qr.y=0,or=qr)});var Dr=vr(zt),Ir=Ur(zt),oi=Dr.x-oe(Dr,Ir)/2,ui=Ir.x+oe(Ir,Dr)/2;return vc(zt,Be?function(qr){qr.x=(qr.x-zt.x)*we[0],qr.y=(zt.y-qr.y)*we[1]}:function(qr){qr.x=(qr.x-oi)/(ui-oi)*we[0],qr.y=(1-(zt.y?qr.y/zt.y:1))*we[1]}),tt}return Ue.separation=function(We){return arguments.length?(oe=We,Ue):oe},Ue.size=function(We){return arguments.length?(Be=(we=We)==null,Ue):Be?null:we},Ue.nodeSize=function(We){return arguments.length?(Be=(we=We)!=null,Ue):Be?we:null},Gu(Ue,Z)};function Bt(Z){return 1+e.max(Z,function(oe){return oe.y})}function wr(Z){return Z.reduce(function(oe,we){return oe+we.x},0)/Z.length}function vr(Z){var oe=Z.children;return oe&&oe.length?vr(oe[0]):Z}function Ur(Z){var oe=Z.children,we;return oe&&(we=oe.length)?Ur(oe[we-1]):Z}e.layout.treemap=function(){var Z=e.layout.hierarchy(),oe=Math.round,we=[1,1],Be=null,Ue=fi,We=!1,wt,tt=\"squarify\",zt=.5*(1+Math.sqrt(5));function or(qr,Kr){for(var ii=-1,vi=qr.length,ci,Jr;++ii<vi;)Jr=(ci=qr[ii]).value*(Kr<0?0:Kr),ci.area=isNaN(Jr)||Jr<=0?0:Jr}function lr(qr){var Kr=qr.children;if(Kr&&Kr.length){var ii=Ue(qr),vi=[],ci=Kr.slice(),Jr,un=1/0,dn,En=tt===\"slice\"?ii.dx:tt===\"dice\"?ii.dy:tt===\"slice-dice\"?qr.depth&1?ii.dy:ii.dx:Math.min(ii.dx,ii.dy),Nn;for(or(ci,ii.dx*ii.dy/qr.value),vi.area=0;(Nn=ci.length)>0;)vi.push(Jr=ci[Nn-1]),vi.area+=Jr.area,tt!==\"squarify\"||(dn=Ir(vi,En))<=un?(ci.pop(),un=dn):(vi.area-=vi.pop().area,oi(vi,En,ii,!1),En=Math.min(ii.dx,ii.dy),vi.length=vi.area=0,un=1/0);vi.length&&(oi(vi,En,ii,!0),vi.length=vi.area=0),Kr.forEach(lr)}}function Dr(qr){var Kr=qr.children;if(Kr&&Kr.length){var ii=Ue(qr),vi=Kr.slice(),ci,Jr=[];for(or(vi,ii.dx*ii.dy/qr.value),Jr.area=0;ci=vi.pop();)Jr.push(ci),Jr.area+=ci.area,ci.z!=null&&(oi(Jr,ci.z?ii.dx:ii.dy,ii,!vi.length),Jr.length=Jr.area=0);Kr.forEach(Dr)}}function Ir(qr,Kr){for(var ii=qr.area,vi,ci=0,Jr=1/0,un=-1,dn=qr.length;++un<dn;)(vi=qr[un].area)&&(vi<Jr&&(Jr=vi),vi>ci&&(ci=vi));return ii*=ii,Kr*=Kr,ii?Math.max(Kr*ci*zt/ii,ii/(Kr*Jr*zt)):1/0}function oi(qr,Kr,ii,vi){var ci=-1,Jr=qr.length,un=ii.x,dn=ii.y,En=Kr?oe(qr.area/Kr):0,Nn;if(Kr==ii.dx){for((vi||En>ii.dy)&&(En=ii.dy);++ci<Jr;)Nn=qr[ci],Nn.x=un,Nn.y=dn,Nn.dy=En,un+=Nn.dx=Math.min(ii.x+ii.dx-un,En?oe(Nn.area/En):0);Nn.z=!0,Nn.dx+=ii.x+ii.dx-un,ii.y+=En,ii.dy-=En}else{for((vi||En>ii.dx)&&(En=ii.dx);++ci<Jr;)Nn=qr[ci],Nn.x=un,Nn.y=dn,Nn.dx=En,dn+=Nn.dy=Math.min(ii.y+ii.dy-dn,En?oe(Nn.area/En):0);Nn.z=!1,Nn.dy+=ii.y+ii.dy-dn,ii.x+=En,ii.dx-=En}}function ui(qr){var Kr=wt||Z(qr),ii=Kr[0];return ii.x=ii.y=0,ii.value?(ii.dx=we[0],ii.dy=we[1]):ii.dx=ii.dy=0,wt&&Z.revalue(ii),or([ii],ii.dx*ii.dy/ii.value),(wt?Dr:lr)(ii),We&&(wt=Kr),Kr}return ui.size=function(qr){return arguments.length?(we=qr,ui):we},ui.padding=function(qr){if(!arguments.length)return Be;function Kr(ci){var Jr=qr.call(ui,ci,ci.depth);return Jr==null?fi(ci):xi(ci,typeof Jr==\"number\"?[Jr,Jr,Jr,Jr]:Jr)}function ii(ci){return xi(ci,qr)}var vi;return Ue=(Be=qr)==null?fi:(vi=typeof qr)==\"function\"?Kr:(vi===\"number\"&&(qr=[qr,qr,qr,qr]),ii),ui},ui.round=function(qr){return arguments.length?(oe=qr?Math.round:Number,ui):oe!=Number},ui.sticky=function(qr){return arguments.length?(We=qr,wt=null,ui):We},ui.ratio=function(qr){return arguments.length?(zt=qr,ui):zt},ui.mode=function(qr){return arguments.length?(tt=qr+\"\",ui):tt},Gu(ui,Z)};function fi(Z){return{x:Z.x,y:Z.y,dx:Z.dx,dy:Z.dy}}function xi(Z,oe){var we=Z.x+oe[3],Be=Z.y+oe[0],Ue=Z.dx-oe[1]-oe[3],We=Z.dy-oe[0]-oe[2];return Ue<0&&(we+=Ue/2,Ue=0),We<0&&(Be+=We/2,We=0),{x:we,y:Be,dx:Ue,dy:We}}e.random={normal:function(Z,oe){var we=arguments.length;return we<2&&(oe=1),we<1&&(Z=0),function(){var Be,Ue,We;do Be=Math.random()*2-1,Ue=Math.random()*2-1,We=Be*Be+Ue*Ue;while(!We||We>1);return Z+oe*Be*Math.sqrt(-2*Math.log(We)/We)}},logNormal:function(){var Z=e.random.normal.apply(e,arguments);return function(){return Math.exp(Z())}},bates:function(Z){var oe=e.random.irwinHall(Z);return function(){return oe()/Z}},irwinHall:function(Z){return function(){for(var oe=0,we=0;we<Z;we++)oe+=Math.random();return oe}}},e.scale={};function Fi(Z){var oe=Z[0],we=Z[Z.length-1];return oe<we?[oe,we]:[we,oe]}function Xi(Z){return Z.rangeExtent?Z.rangeExtent():Fi(Z.range())}function hn(Z,oe,we,Be){var Ue=we(Z[0],Z[1]),We=Be(oe[0],oe[1]);return function(wt){return We(Ue(wt))}}function Ti(Z,oe){var we=0,Be=Z.length-1,Ue=Z[we],We=Z[Be],wt;return We<Ue&&(wt=we,we=Be,Be=wt,wt=Ue,Ue=We,We=wt),Z[we]=oe.floor(Ue),Z[Be]=oe.ceil(We),Z}function qi(Z){return Z?{floor:function(oe){return Math.floor(oe/Z)*Z},ceil:function(oe){return Math.ceil(oe/Z)*Z}}:Ii}var Ii={floor:H,ceil:H};function mi(Z,oe,we,Be){var Ue=[],We=[],wt=0,tt=Math.min(Z.length,oe.length)-1;for(Z[tt]<Z[0]&&(Z=Z.slice().reverse(),oe=oe.slice().reverse());++wt<=tt;)Ue.push(we(Z[wt-1],Z[wt])),We.push(Be(oe[wt-1],oe[wt]));return function(zt){var or=e.bisect(Z,zt,1,tt)-1;return We[or](Ue[or](zt))}}e.scale.linear=function(){return Pn([0,1],[0,1],Sl,!1)};function Pn(Z,oe,we,Be){var Ue,We;function wt(){var zt=Math.min(Z.length,oe.length)>2?mi:hn,or=Be?Lu:pd;return Ue=zt(Z,oe,or,we),We=zt(oe,Z,or,Sl),tt}function tt(zt){return Ue(zt)}return tt.invert=function(zt){return We(zt)},tt.domain=function(zt){return arguments.length?(Z=zt.map(Number),wt()):Z},tt.range=function(zt){return arguments.length?(oe=zt,wt()):oe},tt.rangeRound=function(zt){return tt.range(zt).interpolate(rc)},tt.clamp=function(zt){return arguments.length?(Be=zt,wt()):Be},tt.interpolate=function(zt){return arguments.length?(we=zt,wt()):we},tt.ticks=function(zt){return qa(Z,zt)},tt.tickFormat=function(zt,or){return d3_scale_linearTickFormat(Z,zt,or)},tt.nice=function(zt){return Ta(Z,zt),wt()},tt.copy=function(){return Pn(Z,oe,we,Be)},wt()}function Ma(Z,oe){return e.rebind(Z,oe,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function Ta(Z,oe){return Ti(Z,qi(Ea(Z,oe)[2])),Ti(Z,qi(Ea(Z,oe)[2])),Z}function Ea(Z,oe){oe==null&&(oe=10);var we=Fi(Z),Be=we[1]-we[0],Ue=Math.pow(10,Math.floor(Math.log(Be/oe)/Math.LN10)),We=oe/Be*Ue;return We<=.15?Ue*=10:We<=.35?Ue*=5:We<=.75&&(Ue*=2),we[0]=Math.ceil(we[0]/Ue)*Ue,we[1]=Math.floor(we[1]/Ue)*Ue+Ue*.5,we[2]=Ue,we}function qa(Z,oe){return e.range.apply(e,Ea(Z,oe))}var Cn={s:1,g:1,p:1,r:1,e:1};function sn(Z){return-Math.floor(Math.log(Z)/Math.LN10+.01)}function Ua(Z,oe){var we=sn(oe[2]);return Z in Cn?Math.abs(we-sn(Math.max(p(oe[0]),p(oe[1]))))+ +(Z!==\"e\"):we-(Z===\"%\")*2}e.scale.log=function(){return mo(e.scale.linear().domain([0,1]),10,!0,[1,10])};function mo(Z,oe,we,Be){function Ue(tt){return(we?Math.log(tt<0?0:tt):-Math.log(tt>0?0:-tt))/Math.log(oe)}function We(tt){return we?Math.pow(oe,tt):-Math.pow(oe,-tt)}function wt(tt){return Z(Ue(tt))}return wt.invert=function(tt){return We(Z.invert(tt))},wt.domain=function(tt){return arguments.length?(we=tt[0]>=0,Z.domain((Be=tt.map(Number)).map(Ue)),wt):Be},wt.base=function(tt){return arguments.length?(oe=+tt,Z.domain(Be.map(Ue)),wt):oe},wt.nice=function(){var tt=Ti(Be.map(Ue),we?Math:Xo);return Z.domain(tt),Be=tt.map(We),wt},wt.ticks=function(){var tt=Fi(Be),zt=[],or=tt[0],lr=tt[1],Dr=Math.floor(Ue(or)),Ir=Math.ceil(Ue(lr)),oi=oe%1?2:oe;if(isFinite(Ir-Dr)){if(we){for(;Dr<Ir;Dr++)for(var ui=1;ui<oi;ui++)zt.push(We(Dr)*ui);zt.push(We(Dr))}else for(zt.push(We(Dr));Dr++<Ir;)for(var ui=oi-1;ui>0;ui--)zt.push(We(Dr)*ui);for(Dr=0;zt[Dr]<or;Dr++);for(Ir=zt.length;zt[Ir-1]>lr;Ir--);zt=zt.slice(Dr,Ir)}return zt},wt.copy=function(){return mo(Z.copy(),oe,we,Be)},Ma(wt,Z)}var Xo={floor:function(Z){return-Math.ceil(-Z)},ceil:function(Z){return-Math.floor(-Z)}};e.scale.pow=function(){return Ts(e.scale.linear(),1,[0,1])};function Ts(Z,oe,we){var Be=Qo(oe),Ue=Qo(1/oe);function We(wt){return Z(Be(wt))}return We.invert=function(wt){return Ue(Z.invert(wt))},We.domain=function(wt){return arguments.length?(Z.domain((we=wt.map(Number)).map(Be)),We):we},We.ticks=function(wt){return qa(we,wt)},We.tickFormat=function(wt,tt){return d3_scale_linearTickFormat(we,wt,tt)},We.nice=function(wt){return We.domain(Ta(we,wt))},We.exponent=function(wt){return arguments.length?(Be=Qo(oe=wt),Ue=Qo(1/oe),Z.domain(we.map(Be)),We):oe},We.copy=function(){return Ts(Z.copy(),oe,we)},Ma(We,Z)}function Qo(Z){return function(oe){return oe<0?-Math.pow(-oe,Z):Math.pow(oe,Z)}}e.scale.sqrt=function(){return e.scale.pow().exponent(.5)},e.scale.ordinal=function(){return ys([],{t:\"range\",a:[[]]})};function ys(Z,oe){var we,Be,Ue;function We(tt){return Be[((we.get(tt)||(oe.t===\"range\"?we.set(tt,Z.push(tt)):NaN))-1)%Be.length]}function wt(tt,zt){return e.range(Z.length).map(function(or){return tt+zt*or})}return We.domain=function(tt){if(!arguments.length)return Z;Z=[],we=new A;for(var zt=-1,or=tt.length,lr;++zt<or;)we.has(lr=tt[zt])||we.set(lr,Z.push(lr));return We[oe.t].apply(We,oe.a)},We.range=function(tt){return arguments.length?(Be=tt,Ue=0,oe={t:\"range\",a:arguments},We):Be},We.rangePoints=function(tt,zt){arguments.length<2&&(zt=0);var or=tt[0],lr=tt[1],Dr=Z.length<2?(or=(or+lr)/2,0):(lr-or)/(Z.length-1+zt);return Be=wt(or+Dr*zt/2,Dr),Ue=0,oe={t:\"rangePoints\",a:arguments},We},We.rangeRoundPoints=function(tt,zt){arguments.length<2&&(zt=0);var or=tt[0],lr=tt[1],Dr=Z.length<2?(or=lr=Math.round((or+lr)/2),0):(lr-or)/(Z.length-1+zt)|0;return Be=wt(or+Math.round(Dr*zt/2+(lr-or-(Z.length-1+zt)*Dr)/2),Dr),Ue=0,oe={t:\"rangeRoundPoints\",a:arguments},We},We.rangeBands=function(tt,zt,or){arguments.length<2&&(zt=0),arguments.length<3&&(or=zt);var lr=tt[1]<tt[0],Dr=tt[lr-0],Ir=tt[1-lr],oi=(Ir-Dr)/(Z.length-zt+2*or);return Be=wt(Dr+oi*or,oi),lr&&Be.reverse(),Ue=oi*(1-zt),oe={t:\"rangeBands\",a:arguments},We},We.rangeRoundBands=function(tt,zt,or){arguments.length<2&&(zt=0),arguments.length<3&&(or=zt);var lr=tt[1]<tt[0],Dr=tt[lr-0],Ir=tt[1-lr],oi=Math.floor((Ir-Dr)/(Z.length-zt+2*or));return Be=wt(Dr+Math.round((Ir-Dr-(Z.length-zt)*oi)/2),oi),lr&&Be.reverse(),Ue=Math.round(oi*(1-zt)),oe={t:\"rangeRoundBands\",a:arguments},We},We.rangeBand=function(){return Ue},We.rangeExtent=function(){return Fi(oe.a[0])},We.copy=function(){return ys(Z,oe)},We.domain(Z)}e.scale.category10=function(){return e.scale.ordinal().range(Bo)},e.scale.category20=function(){return e.scale.ordinal().range(yl)},e.scale.category20b=function(){return e.scale.ordinal().range(Gs)},e.scale.category20c=function(){return e.scale.ordinal().range(Rs)};var Bo=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(jo),yl=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(jo),Gs=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(jo),Rs=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(jo);e.scale.quantile=function(){return ia([],[])};function ia(Z,oe){var we;function Be(){var We=0,wt=oe.length;for(we=[];++We<wt;)we[We-1]=e.quantile(Z,We/wt);return Ue}function Ue(We){if(!isNaN(We=+We))return oe[e.bisect(we,We)]}return Ue.domain=function(We){return arguments.length?(Z=We.map(h).filter(d).sort(f),Be()):Z},Ue.range=function(We){return arguments.length?(oe=We,Be()):oe},Ue.quantiles=function(){return we},Ue.invertExtent=function(We){return We=oe.indexOf(We),We<0?[NaN,NaN]:[We>0?we[We-1]:Z[0],We<we.length?we[We]:Z[Z.length-1]]},Ue.copy=function(){return ia(Z,oe)},Be()}e.scale.quantize=function(){return Ka(0,1,[0,1])};function Ka(Z,oe,we){var Be,Ue;function We(tt){return we[Math.max(0,Math.min(Ue,Math.floor(Be*(tt-Z))))]}function wt(){return Be=we.length/(oe-Z),Ue=we.length-1,We}return We.domain=function(tt){return arguments.length?(Z=+tt[0],oe=+tt[tt.length-1],wt()):[Z,oe]},We.range=function(tt){return arguments.length?(we=tt,wt()):we},We.invertExtent=function(tt){return tt=we.indexOf(tt),tt=tt<0?NaN:tt/Be+Z,[tt,tt+1/Be]},We.copy=function(){return Ka(Z,oe,we)},wt()}e.scale.threshold=function(){return vs([.5],[0,1])};function vs(Z,oe){function we(Be){if(Be<=Be)return oe[e.bisect(Z,Be)]}return we.domain=function(Be){return arguments.length?(Z=Be,we):Z},we.range=function(Be){return arguments.length?(oe=Be,we):oe},we.invertExtent=function(Be){return Be=oe.indexOf(Be),[Z[Be-1],Z[Be]]},we.copy=function(){return vs(Z,oe)},we}e.scale.identity=function(){return Ko([0,1])};function Ko(Z){function oe(we){return+we}return oe.invert=oe,oe.domain=oe.range=function(we){return arguments.length?(Z=we.map(oe),oe):Z},oe.ticks=function(we){return qa(Z,we)},oe.tickFormat=function(we,Be){return d3_scale_linearTickFormat(Z,we,Be)},oe.copy=function(){return Ko(Z)},oe}e.svg={};function nu(){return 0}e.svg.arc=function(){var Z=ac,oe=mf,we=nu,Be=Ru,Ue=bu,We=Kc,wt=Du;function tt(){var or=Math.max(0,+Z.apply(this,arguments)),lr=Math.max(0,+oe.apply(this,arguments)),Dr=Ue.apply(this,arguments)-xe,Ir=We.apply(this,arguments)-xe,oi=Math.abs(Ir-Dr),ui=Dr>Ir?0:1;if(lr<or&&(qr=lr,lr=or,or=qr),oi>=Le)return zt(lr,ui)+(or?zt(or,1-ui):\"\")+\"Z\";var qr,Kr,ii,vi,ci=0,Jr=0,un,dn,En,Nn,ga,ya,so,wa,io=[];if((vi=(+wt.apply(this,arguments)||0)/2)&&(ii=Be===Ru?Math.sqrt(or*or+lr*lr):+Be.apply(this,arguments),ui||(Jr*=-1),lr&&(Jr=Qr(ii/lr*Math.sin(vi))),or&&(ci=Qr(ii/or*Math.sin(vi)))),lr){un=lr*Math.cos(Dr+Jr),dn=lr*Math.sin(Dr+Jr),En=lr*Math.cos(Ir-Jr),Nn=lr*Math.sin(Ir-Jr);var Ss=Math.abs(Ir-Dr-2*Jr)<=Xe?0:1;if(Jr&&Dc(un,dn,En,Nn)===ui^Ss){var _s=(Dr+Ir)/2;un=lr*Math.cos(_s),dn=lr*Math.sin(_s),En=Nn=null}}else un=dn=0;if(or){ga=or*Math.cos(Ir-ci),ya=or*Math.sin(Ir-ci),so=or*Math.cos(Dr+ci),wa=or*Math.sin(Dr+ci);var Ns=Math.abs(Dr-Ir+2*ci)<=Xe?0:1;if(ci&&Dc(ga,ya,so,wa)===1-ui^Ns){var pn=(Dr+Ir)/2;ga=or*Math.cos(pn),ya=or*Math.sin(pn),so=wa=null}}else ga=ya=0;if(oi>Ye&&(qr=Math.min(Math.abs(lr-or)/2,+we.apply(this,arguments)))>.001){Kr=or<lr^ui?0:1;var za=qr,Lo=qr;if(oi<Xe){var Fo=so==null?[ga,ya]:En==null?[un,dn]:cl([un,dn],[so,wa],[En,Nn],[ga,ya]),js=un-Fo[0],xl=dn-Fo[1],fu=En-Fo[0],dl=Nn-Fo[1],xc=1/Math.sin(Math.acos((js*fu+xl*dl)/(Math.sqrt(js*js+xl*xl)*Math.sqrt(fu*fu+dl*dl)))/2),At=Math.sqrt(Fo[0]*Fo[0]+Fo[1]*Fo[1]);Lo=Math.min(qr,(or-At)/(xc-1)),za=Math.min(qr,(lr-At)/(xc+1))}if(En!=null){var Er=Da(so==null?[ga,ya]:[so,wa],[un,dn],lr,za,ui),Wr=Da([En,Nn],[ga,ya],lr,za,ui);qr===za?io.push(\"M\",Er[0],\"A\",za,\",\",za,\" 0 0,\",Kr,\" \",Er[1],\"A\",lr,\",\",lr,\" 0 \",1-ui^Dc(Er[1][0],Er[1][1],Wr[1][0],Wr[1][1]),\",\",ui,\" \",Wr[1],\"A\",za,\",\",za,\" 0 0,\",Kr,\" \",Wr[0]):io.push(\"M\",Er[0],\"A\",za,\",\",za,\" 0 1,\",Kr,\" \",Wr[0])}else io.push(\"M\",un,\",\",dn);if(so!=null){var wi=Da([un,dn],[so,wa],or,-Lo,ui),Ui=Da([ga,ya],En==null?[un,dn]:[En,Nn],or,-Lo,ui);qr===Lo?io.push(\"L\",Ui[0],\"A\",Lo,\",\",Lo,\" 0 0,\",Kr,\" \",Ui[1],\"A\",or,\",\",or,\" 0 \",ui^Dc(Ui[1][0],Ui[1][1],wi[1][0],wi[1][1]),\",\",1-ui,\" \",wi[1],\"A\",Lo,\",\",Lo,\" 0 0,\",Kr,\" \",wi[0]):io.push(\"L\",Ui[0],\"A\",Lo,\",\",Lo,\" 0 0,\",Kr,\" \",wi[0])}else io.push(\"L\",ga,\",\",ya)}else io.push(\"M\",un,\",\",dn),En!=null&&io.push(\"A\",lr,\",\",lr,\" 0 \",Ss,\",\",ui,\" \",En,\",\",Nn),io.push(\"L\",ga,\",\",ya),so!=null&&io.push(\"A\",or,\",\",or,\" 0 \",Ns,\",\",1-ui,\" \",so,\",\",wa);return io.push(\"Z\"),io.join(\"\")}function zt(or,lr){return\"M0,\"+or+\"A\"+or+\",\"+or+\" 0 1,\"+lr+\" 0,\"+-or+\"A\"+or+\",\"+or+\" 0 1,\"+lr+\" 0,\"+or}return tt.innerRadius=function(or){return arguments.length?(Z=ti(or),tt):Z},tt.outerRadius=function(or){return arguments.length?(oe=ti(or),tt):oe},tt.cornerRadius=function(or){return arguments.length?(we=ti(or),tt):we},tt.padRadius=function(or){return arguments.length?(Be=or==Ru?Ru:ti(or),tt):Be},tt.startAngle=function(or){return arguments.length?(Ue=ti(or),tt):Ue},tt.endAngle=function(or){return arguments.length?(We=ti(or),tt):We},tt.padAngle=function(or){return arguments.length?(wt=ti(or),tt):wt},tt.centroid=function(){var or=(+Z.apply(this,arguments)+ +oe.apply(this,arguments))/2,lr=(+Ue.apply(this,arguments)+ +We.apply(this,arguments))/2-xe;return[Math.cos(lr)*or,Math.sin(lr)*or]},tt};var Ru=\"auto\";function ac(Z){return Z.innerRadius}function mf(Z){return Z.outerRadius}function bu(Z){return Z.startAngle}function Kc(Z){return Z.endAngle}function Du(Z){return Z&&Z.padAngle}function Dc(Z,oe,we,Be){return(Z-we)*oe-(oe-Be)*Z>0?0:1}function Da(Z,oe,we,Be,Ue){var We=Z[0]-oe[0],wt=Z[1]-oe[1],tt=(Ue?Be:-Be)/Math.sqrt(We*We+wt*wt),zt=tt*wt,or=-tt*We,lr=Z[0]+zt,Dr=Z[1]+or,Ir=oe[0]+zt,oi=oe[1]+or,ui=(lr+Ir)/2,qr=(Dr+oi)/2,Kr=Ir-lr,ii=oi-Dr,vi=Kr*Kr+ii*ii,ci=we-Be,Jr=lr*oi-Ir*Dr,un=(ii<0?-1:1)*Math.sqrt(Math.max(0,ci*ci*vi-Jr*Jr)),dn=(Jr*ii-Kr*un)/vi,En=(-Jr*Kr-ii*un)/vi,Nn=(Jr*ii+Kr*un)/vi,ga=(-Jr*Kr+ii*un)/vi,ya=dn-ui,so=En-qr,wa=Nn-ui,io=ga-qr;return ya*ya+so*so>wa*wa+io*io&&(dn=Nn,En=ga),[[dn-zt,En-or],[dn*we/ci,En*we/ci]]}function eo(){return!0}function Jc(Z){var oe=zs,we=ks,Be=eo,Ue=_c,We=Ue.key,wt=.7;function tt(zt){var or=[],lr=[],Dr=-1,Ir=zt.length,oi,ui=ti(oe),qr=ti(we);function Kr(){or.push(\"M\",Ue(Z(lr),wt))}for(;++Dr<Ir;)Be.call(this,oi=zt[Dr],Dr)?lr.push([+ui.call(this,oi,Dr),+qr.call(this,oi,Dr)]):lr.length&&(Kr(),lr=[]);return lr.length&&Kr(),or.length?or.join(\"\"):null}return tt.x=function(zt){return arguments.length?(oe=zt,tt):oe},tt.y=function(zt){return arguments.length?(we=zt,tt):we},tt.defined=function(zt){return arguments.length?(Be=zt,tt):Be},tt.interpolate=function(zt){return arguments.length?(typeof zt==\"function\"?We=Ue=zt:We=(Ue=yc.get(zt)||_c).key,tt):We},tt.tension=function(zt){return arguments.length?(wt=zt,tt):wt},tt}e.svg.line=function(){return Jc(H)};var yc=e.map({linear:_c,\"linear-closed\":le,step:w,\"step-before\":B,\"step-after\":Q,basis:yt,\"basis-open\":Ot,\"basis-closed\":Nt,bundle:hr,cardinal:qe,\"cardinal-open\":ee,\"cardinal-closed\":se,monotone:Mt});yc.forEach(function(Z,oe){oe.key=Z,oe.closed=/-closed$/.test(Z)});function _c(Z){return Z.length>1?Z.join(\"L\"):Z+\"Z\"}function le(Z){return Z.join(\"L\")+\"Z\"}function w(Z){for(var oe=0,we=Z.length,Be=Z[0],Ue=[Be[0],\",\",Be[1]];++oe<we;)Ue.push(\"H\",(Be[0]+(Be=Z[oe])[0])/2,\"V\",Be[1]);return we>1&&Ue.push(\"H\",Be[0]),Ue.join(\"\")}function B(Z){for(var oe=0,we=Z.length,Be=Z[0],Ue=[Be[0],\",\",Be[1]];++oe<we;)Ue.push(\"V\",(Be=Z[oe])[1],\"H\",Be[0]);return Ue.join(\"\")}function Q(Z){for(var oe=0,we=Z.length,Be=Z[0],Ue=[Be[0],\",\",Be[1]];++oe<we;)Ue.push(\"H\",(Be=Z[oe])[0],\"V\",Be[1]);return Ue.join(\"\")}function ee(Z,oe){return Z.length<4?_c(Z):Z[1]+je(Z.slice(1,-1),it(Z,oe))}function se(Z,oe){return Z.length<3?le(Z):Z[0]+je((Z.push(Z[0]),Z),it([Z[Z.length-2]].concat(Z,[Z[1]]),oe))}function qe(Z,oe){return Z.length<3?_c(Z):Z[0]+je(Z,it(Z,oe))}function je(Z,oe){if(oe.length<1||Z.length!=oe.length&&Z.length!=oe.length+2)return _c(Z);var we=Z.length!=oe.length,Be=\"\",Ue=Z[0],We=Z[1],wt=oe[0],tt=wt,zt=1;if(we&&(Be+=\"Q\"+(We[0]-wt[0]*2/3)+\",\"+(We[1]-wt[1]*2/3)+\",\"+We[0]+\",\"+We[1],Ue=Z[1],zt=2),oe.length>1){tt=oe[1],We=Z[zt],zt++,Be+=\"C\"+(Ue[0]+wt[0])+\",\"+(Ue[1]+wt[1])+\",\"+(We[0]-tt[0])+\",\"+(We[1]-tt[1])+\",\"+We[0]+\",\"+We[1];for(var or=2;or<oe.length;or++,zt++)We=Z[zt],tt=oe[or],Be+=\"S\"+(We[0]-tt[0])+\",\"+(We[1]-tt[1])+\",\"+We[0]+\",\"+We[1]}if(we){var lr=Z[zt];Be+=\"Q\"+(We[0]+tt[0]*2/3)+\",\"+(We[1]+tt[1]*2/3)+\",\"+lr[0]+\",\"+lr[1]}return Be}function it(Z,oe){for(var we=[],Be=(1-oe)/2,Ue,We=Z[0],wt=Z[1],tt=1,zt=Z.length;++tt<zt;)Ue=We,We=wt,wt=Z[tt],we.push([Be*(wt[0]-Ue[0]),Be*(wt[1]-Ue[1])]);return we}function yt(Z){if(Z.length<3)return _c(Z);var oe=1,we=Z.length,Be=Z[0],Ue=Be[0],We=Be[1],wt=[Ue,Ue,Ue,(Be=Z[1])[0]],tt=[We,We,We,Be[1]],zt=[Ue,\",\",We,\"L\",Sr(Pe,wt),\",\",Sr(Pe,tt)];for(Z.push(Z[we-1]);++oe<=we;)Be=Z[oe],wt.shift(),wt.push(Be[0]),tt.shift(),tt.push(Be[1]),Oe(zt,wt,tt);return Z.pop(),zt.push(\"L\",Be),zt.join(\"\")}function Ot(Z){if(Z.length<4)return _c(Z);for(var oe=[],we=-1,Be=Z.length,Ue,We=[0],wt=[0];++we<3;)Ue=Z[we],We.push(Ue[0]),wt.push(Ue[1]);for(oe.push(Sr(Pe,We)+\",\"+Sr(Pe,wt)),--we;++we<Be;)Ue=Z[we],We.shift(),We.push(Ue[0]),wt.shift(),wt.push(Ue[1]),Oe(oe,We,wt);return oe.join(\"\")}function Nt(Z){for(var oe,we=-1,Be=Z.length,Ue=Be+4,We,wt=[],tt=[];++we<4;)We=Z[we%Be],wt.push(We[0]),tt.push(We[1]);for(oe=[Sr(Pe,wt),\",\",Sr(Pe,tt)],--we;++we<Ue;)We=Z[we%Be],wt.shift(),wt.push(We[0]),tt.shift(),tt.push(We[1]),Oe(oe,wt,tt);return oe.join(\"\")}function hr(Z,oe){var we=Z.length-1;if(we)for(var Be=Z[0][0],Ue=Z[0][1],We=Z[we][0]-Be,wt=Z[we][1]-Ue,tt=-1,zt,or;++tt<=we;)zt=Z[tt],or=tt/we,zt[0]=oe*zt[0]+(1-oe)*(Be+or*We),zt[1]=oe*zt[1]+(1-oe)*(Ue+or*wt);return yt(Z)}function Sr(Z,oe){return Z[0]*oe[0]+Z[1]*oe[1]+Z[2]*oe[2]+Z[3]*oe[3]}var he=[0,2/3,1/3,0],be=[0,1/3,2/3,0],Pe=[0,1/6,2/3,1/6];function Oe(Z,oe,we){Z.push(\"C\",Sr(he,oe),\",\",Sr(he,we),\",\",Sr(be,oe),\",\",Sr(be,we),\",\",Sr(Pe,oe),\",\",Sr(Pe,we))}function Je(Z,oe){return(oe[1]-Z[1])/(oe[0]-Z[0])}function He(Z){for(var oe=0,we=Z.length-1,Be=[],Ue=Z[0],We=Z[1],wt=Be[0]=Je(Ue,We);++oe<we;)Be[oe]=(wt+(wt=Je(Ue=We,We=Z[oe+1])))/2;return Be[oe]=wt,Be}function et(Z){for(var oe=[],we,Be,Ue,We,wt=He(Z),tt=-1,zt=Z.length-1;++tt<zt;)we=Je(Z[tt],Z[tt+1]),p(we)<Ye?wt[tt]=wt[tt+1]=0:(Be=wt[tt]/we,Ue=wt[tt+1]/we,We=Be*Be+Ue*Ue,We>9&&(We=we*3/Math.sqrt(We),wt[tt]=We*Be,wt[tt+1]=We*Ue));for(tt=-1;++tt<=zt;)We=(Z[Math.min(zt,tt+1)][0]-Z[Math.max(0,tt-1)][0])/(6*(1+wt[tt]*wt[tt])),oe.push([We||0,wt[tt]*We||0]);return oe}function Mt(Z){return Z.length<3?_c(Z):Z[0]+je(Z,et(Z))}e.svg.line.radial=function(){var Z=Jc(Dt);return Z.radius=Z.x,delete Z.x,Z.angle=Z.y,delete Z.y,Z};function Dt(Z){for(var oe,we=-1,Be=Z.length,Ue,We;++we<Be;)oe=Z[we],Ue=oe[0],We=oe[1]-xe,oe[0]=Ue*Math.cos(We),oe[1]=Ue*Math.sin(We);return Z}function Ut(Z){var oe=zs,we=zs,Be=0,Ue=ks,We=eo,wt=_c,tt=wt.key,zt=wt,or=\"L\",lr=.7;function Dr(Ir){var oi=[],ui=[],qr=[],Kr=-1,ii=Ir.length,vi,ci=ti(oe),Jr=ti(Be),un=oe===we?function(){return En}:ti(we),dn=Be===Ue?function(){return Nn}:ti(Ue),En,Nn;function ga(){oi.push(\"M\",wt(Z(qr),lr),or,zt(Z(ui.reverse()),lr),\"Z\")}for(;++Kr<ii;)We.call(this,vi=Ir[Kr],Kr)?(ui.push([En=+ci.call(this,vi,Kr),Nn=+Jr.call(this,vi,Kr)]),qr.push([+un.call(this,vi,Kr),+dn.call(this,vi,Kr)])):ui.length&&(ga(),ui=[],qr=[]);return ui.length&&ga(),oi.length?oi.join(\"\"):null}return Dr.x=function(Ir){return arguments.length?(oe=we=Ir,Dr):we},Dr.x0=function(Ir){return arguments.length?(oe=Ir,Dr):oe},Dr.x1=function(Ir){return arguments.length?(we=Ir,Dr):we},Dr.y=function(Ir){return arguments.length?(Be=Ue=Ir,Dr):Ue},Dr.y0=function(Ir){return arguments.length?(Be=Ir,Dr):Be},Dr.y1=function(Ir){return arguments.length?(Ue=Ir,Dr):Ue},Dr.defined=function(Ir){return arguments.length?(We=Ir,Dr):We},Dr.interpolate=function(Ir){return arguments.length?(typeof Ir==\"function\"?tt=wt=Ir:tt=(wt=yc.get(Ir)||_c).key,zt=wt.reverse||wt,or=wt.closed?\"M\":\"L\",Dr):tt},Dr.tension=function(Ir){return arguments.length?(lr=Ir,Dr):lr},Dr}B.reverse=Q,Q.reverse=B,e.svg.area=function(){return Ut(H)},e.svg.area.radial=function(){var Z=Ut(Dt);return Z.radius=Z.x,delete Z.x,Z.innerRadius=Z.x0,delete Z.x0,Z.outerRadius=Z.x1,delete Z.x1,Z.angle=Z.y,delete Z.y,Z.startAngle=Z.y0,delete Z.y0,Z.endAngle=Z.y1,delete Z.y1,Z};function tr(Z){return Z.source}function mr(Z){return Z.target}e.svg.chord=function(){var Z=tr,oe=mr,we=Rr,Be=bu,Ue=Kc;function We(lr,Dr){var Ir=wt(this,Z,lr,Dr),oi=wt(this,oe,lr,Dr);return\"M\"+Ir.p0+zt(Ir.r,Ir.p1,Ir.a1-Ir.a0)+(tt(Ir,oi)?or(Ir.r,Ir.p1,Ir.r,Ir.p0):or(Ir.r,Ir.p1,oi.r,oi.p0)+zt(oi.r,oi.p1,oi.a1-oi.a0)+or(oi.r,oi.p1,Ir.r,Ir.p0))+\"Z\"}function wt(lr,Dr,Ir,oi){var ui=Dr.call(lr,Ir,oi),qr=we.call(lr,ui,oi),Kr=Be.call(lr,ui,oi)-xe,ii=Ue.call(lr,ui,oi)-xe;return{r:qr,a0:Kr,a1:ii,p0:[qr*Math.cos(Kr),qr*Math.sin(Kr)],p1:[qr*Math.cos(ii),qr*Math.sin(ii)]}}function tt(lr,Dr){return lr.a0==Dr.a0&&lr.a1==Dr.a1}function zt(lr,Dr,Ir){return\"A\"+lr+\",\"+lr+\" 0 \"+ +(Ir>Xe)+\",1 \"+Dr}function or(lr,Dr,Ir,oi){return\"Q 0,0 \"+oi}return We.radius=function(lr){return arguments.length?(we=ti(lr),We):we},We.source=function(lr){return arguments.length?(Z=ti(lr),We):Z},We.target=function(lr){return arguments.length?(oe=ti(lr),We):oe},We.startAngle=function(lr){return arguments.length?(Be=ti(lr),We):Be},We.endAngle=function(lr){return arguments.length?(Ue=ti(lr),We):Ue},We};function Rr(Z){return Z.radius}e.svg.diagonal=function(){var Z=tr,oe=mr,we=zr;function Be(Ue,We){var wt=Z.call(this,Ue,We),tt=oe.call(this,Ue,We),zt=(wt.y+tt.y)/2,or=[wt,{x:wt.x,y:zt},{x:tt.x,y:zt},tt];return or=or.map(we),\"M\"+or[0]+\"C\"+or[1]+\" \"+or[2]+\" \"+or[3]}return Be.source=function(Ue){return arguments.length?(Z=ti(Ue),Be):Z},Be.target=function(Ue){return arguments.length?(oe=ti(Ue),Be):oe},Be.projection=function(Ue){return arguments.length?(we=Ue,Be):we},Be};function zr(Z){return[Z.x,Z.y]}e.svg.diagonal.radial=function(){var Z=e.svg.diagonal(),oe=zr,we=Z.projection;return Z.projection=function(Be){return arguments.length?we(Xr(oe=Be)):oe},Z};function Xr(Z){return function(){var oe=Z.apply(this,arguments),we=oe[0],Be=oe[1]-xe;return[we*Math.cos(Be),we*Math.sin(Be)]}}e.svg.symbol=function(){var Z=Li,oe=di;function we(Be,Ue){return(Qi.get(Z.call(this,Be,Ue))||Ci)(oe.call(this,Be,Ue))}return we.type=function(Be){return arguments.length?(Z=ti(Be),we):Z},we.size=function(Be){return arguments.length?(oe=ti(Be),we):oe},we};function di(){return 64}function Li(){return\"circle\"}function Ci(Z){var oe=Math.sqrt(Z/Xe);return\"M0,\"+oe+\"A\"+oe+\",\"+oe+\" 0 1,1 0,\"+-oe+\"A\"+oe+\",\"+oe+\" 0 1,1 0,\"+oe+\"Z\"}var Qi=e.map({circle:Ci,cross:function(Z){var oe=Math.sqrt(Z/5)/2;return\"M\"+-3*oe+\",\"+-oe+\"H\"+-oe+\"V\"+-3*oe+\"H\"+oe+\"V\"+-oe+\"H\"+3*oe+\"V\"+oe+\"H\"+oe+\"V\"+3*oe+\"H\"+-oe+\"V\"+oe+\"H\"+-3*oe+\"Z\"},diamond:function(Z){var oe=Math.sqrt(Z/(2*pa)),we=oe*pa;return\"M0,\"+-oe+\"L\"+we+\",0 0,\"+oe+\" \"+-we+\",0Z\"},square:function(Z){var oe=Math.sqrt(Z)/2;return\"M\"+-oe+\",\"+-oe+\"L\"+oe+\",\"+-oe+\" \"+oe+\",\"+oe+\" \"+-oe+\",\"+oe+\"Z\"},\"triangle-down\":function(Z){var oe=Math.sqrt(Z/Mn),we=oe*Mn/2;return\"M0,\"+we+\"L\"+oe+\",\"+-we+\" \"+-oe+\",\"+-we+\"Z\"},\"triangle-up\":function(Z){var oe=Math.sqrt(Z/Mn),we=oe*Mn/2;return\"M0,\"+-we+\"L\"+oe+\",\"+we+\" \"+-oe+\",\"+we+\"Z\"}});e.svg.symbolTypes=Qi.keys();var Mn=Math.sqrt(3),pa=Math.tan(30*Se);Ce.transition=function(Z){for(var oe=Ro||++co,we=po(Z),Be=[],Ue,We,wt=Ds||{time:Date.now(),ease:uu,delay:0,duration:250},tt=-1,zt=this.length;++tt<zt;){Be.push(Ue=[]);for(var or=this[tt],lr=-1,Dr=or.length;++lr<Dr;)(We=or[lr])&&_l(We,lr,we,oe,wt),Ue.push(We)}return To(Be,we,oe)},Ce.interrupt=function(Z){return this.each(Z==null?ea:Ga(po(Z)))};var ea=Ga(po());function Ga(Z){return function(){var oe,we,Be;(oe=this[Z])&&(Be=oe[we=oe.active])&&(Be.timer.c=null,Be.timer.t=NaN,--oe.count?delete oe[we]:delete this[Z],oe.active+=.5,Be.event&&Be.event.interrupt.call(this,this.__data__,Be.index))}}function To(Z,oe,we){return ie(Z,Wa),Z.namespace=oe,Z.id=we,Z}var Wa=[],co=0,Ro,Ds;Wa.call=Ce.call,Wa.empty=Ce.empty,Wa.node=Ce.node,Wa.size=Ce.size,e.transition=function(Z,oe){return Z&&Z.transition?Ro?Z.transition(oe):Z:e.selection().transition(Z)},e.transition.prototype=Wa,Wa.select=function(Z){var oe=this.id,we=this.namespace,Be=[],Ue,We,wt;Z=me(Z);for(var tt=-1,zt=this.length;++tt<zt;){Be.push(Ue=[]);for(var or=this[tt],lr=-1,Dr=or.length;++lr<Dr;)(wt=or[lr])&&(We=Z.call(wt,wt.__data__,lr,tt))?(\"__data__\"in wt&&(We.__data__=wt.__data__),_l(We,lr,we,oe,wt[we][oe]),Ue.push(We)):Ue.push(null)}return To(Be,we,oe)},Wa.selectAll=function(Z){var oe=this.id,we=this.namespace,Be=[],Ue,We,wt,tt,zt;Z=Re(Z);for(var or=-1,lr=this.length;++or<lr;)for(var Dr=this[or],Ir=-1,oi=Dr.length;++Ir<oi;)if(wt=Dr[Ir]){zt=wt[we][oe],We=Z.call(wt,wt.__data__,Ir,or),Be.push(Ue=[]);for(var ui=-1,qr=We.length;++ui<qr;)(tt=We[ui])&&_l(tt,ui,we,oe,zt),Ue.push(tt)}return To(Be,we,oe)},Wa.filter=function(Z){var oe=[],we,Be,Ue;typeof Z!=\"function\"&&(Z=Ke(Z));for(var We=0,wt=this.length;We<wt;We++){oe.push(we=[]);for(var Be=this[We],tt=0,zt=Be.length;tt<zt;tt++)(Ue=Be[tt])&&Z.call(Ue,Ue.__data__,tt,We)&&we.push(Ue)}return To(oe,this.namespace,this.id)},Wa.tween=function(Z,oe){var we=this.id,Be=this.namespace;return arguments.length<2?this.node()[Be][we].tween.get(Z):bt(this,oe==null?function(Ue){Ue[Be][we].tween.remove(Z)}:function(Ue){Ue[Be][we].tween.set(Z,oe)})};function As(Z,oe,we,Be){var Ue=Z.id,We=Z.namespace;return bt(Z,typeof we==\"function\"?function(wt,tt,zt){wt[We][Ue].tween.set(oe,Be(we.call(wt,wt.__data__,tt,zt)))}:(we=Be(we),function(wt){wt[We][Ue].tween.set(oe,we)}))}Wa.attr=function(Z,oe){if(arguments.length<2){for(oe in Z)this.attr(oe,Z[oe]);return this}var we=Z==\"transform\"?Cf:Sl,Be=e.ns.qualify(Z);function Ue(){this.removeAttribute(Be)}function We(){this.removeAttributeNS(Be.space,Be.local)}function wt(zt){return zt==null?Ue:(zt+=\"\",function(){var or=this.getAttribute(Be),lr;return or!==zt&&(lr=we(or,zt),function(Dr){this.setAttribute(Be,lr(Dr))})})}function tt(zt){return zt==null?We:(zt+=\"\",function(){var or=this.getAttributeNS(Be.space,Be.local),lr;return or!==zt&&(lr=we(or,zt),function(Dr){this.setAttributeNS(Be.space,Be.local,lr(Dr))})})}return As(this,\"attr.\"+Z,oe,Be.local?tt:wt)},Wa.attrTween=function(Z,oe){var we=e.ns.qualify(Z);function Be(We,wt){var tt=oe.call(this,We,wt,this.getAttribute(we));return tt&&function(zt){this.setAttribute(we,tt(zt))}}function Ue(We,wt){var tt=oe.call(this,We,wt,this.getAttributeNS(we.space,we.local));return tt&&function(zt){this.setAttributeNS(we.space,we.local,tt(zt))}}return this.tween(\"attr.\"+Z,we.local?Ue:Be)},Wa.style=function(Z,oe,we){var Be=arguments.length;if(Be<3){if(typeof Z!=\"string\"){Be<2&&(oe=\"\");for(we in Z)this.style(we,Z[we],oe);return this}we=\"\"}function Ue(){this.style.removeProperty(Z)}function We(wt){return wt==null?Ue:(wt+=\"\",function(){var tt=a(this).getComputedStyle(this,null).getPropertyValue(Z),zt;return tt!==wt&&(zt=Sl(tt,wt),function(or){this.style.setProperty(Z,zt(or),we)})})}return As(this,\"style.\"+Z,oe,We)},Wa.styleTween=function(Z,oe,we){arguments.length<3&&(we=\"\");function Be(Ue,We){var wt=oe.call(this,Ue,We,a(this).getComputedStyle(this,null).getPropertyValue(Z));return wt&&function(tt){this.style.setProperty(Z,wt(tt),we)}}return this.tween(\"style.\"+Z,Be)},Wa.text=function(Z){return As(this,\"text\",Z,yo)};function yo(Z){return Z==null&&(Z=\"\"),function(){this.textContent=Z}}Wa.remove=function(){var Z=this.namespace;return this.each(\"end.transition\",function(){var oe;this[Z].count<2&&(oe=this.parentNode)&&oe.removeChild(this)})},Wa.ease=function(Z){var oe=this.id,we=this.namespace;return arguments.length<1?this.node()[we][oe].ease:(typeof Z!=\"function\"&&(Z=e.ease.apply(e,arguments)),bt(this,function(Be){Be[we][oe].ease=Z}))},Wa.delay=function(Z){var oe=this.id,we=this.namespace;return arguments.length<1?this.node()[we][oe].delay:bt(this,typeof Z==\"function\"?function(Be,Ue,We){Be[we][oe].delay=+Z.call(Be,Be.__data__,Ue,We)}:(Z=+Z,function(Be){Be[we][oe].delay=Z}))},Wa.duration=function(Z){var oe=this.id,we=this.namespace;return arguments.length<1?this.node()[we][oe].duration:bt(this,typeof Z==\"function\"?function(Be,Ue,We){Be[we][oe].duration=Math.max(1,Z.call(Be,Be.__data__,Ue,We))}:(Z=Math.max(1,Z),function(Be){Be[we][oe].duration=Z}))},Wa.each=function(Z,oe){var we=this.id,Be=this.namespace;if(arguments.length<2){var Ue=Ds,We=Ro;try{Ro=we,bt(this,function(wt,tt,zt){Ds=wt[Be][we],Z.call(wt,wt.__data__,tt,zt)})}finally{Ds=Ue,Ro=We}}else bt(this,function(wt){var tt=wt[Be][we];(tt.event||(tt.event=e.dispatch(\"start\",\"end\",\"interrupt\"))).on(Z,oe)});return this},Wa.transition=function(){for(var Z=this.id,oe=++co,we=this.namespace,Be=[],Ue,We,wt,tt,zt=0,or=this.length;zt<or;zt++){Be.push(Ue=[]);for(var We=this[zt],lr=0,Dr=We.length;lr<Dr;lr++)(wt=We[lr])&&(tt=wt[we][Z],_l(wt,lr,we,oe,{time:tt.time,ease:tt.ease,delay:tt.delay+tt.duration,duration:tt.duration})),Ue.push(wt)}return To(Be,we,oe)};function po(Z){return Z==null?\"__transition__\":\"__transition_\"+Z+\"__\"}function _l(Z,oe,we,Be,Ue){var We=Z[we]||(Z[we]={active:0,count:0}),wt=We[Be],tt,zt,or,lr,Dr;function Ir(qr){var Kr=wt.delay;if(zt.t=Kr+tt,Kr<=qr)return oi(qr-Kr);zt.c=oi}function oi(qr){var Kr=We.active,ii=We[Kr];ii&&(ii.timer.c=null,ii.timer.t=NaN,--We.count,delete We[Kr],ii.event&&ii.event.interrupt.call(Z,Z.__data__,ii.index));for(var vi in We)if(+vi<Be){var ci=We[vi];ci.timer.c=null,ci.timer.t=NaN,--We.count,delete We[vi]}zt.c=ui,Oo(function(){return zt.c&&ui(qr||1)&&(zt.c=null,zt.t=NaN),1},0,tt),We.active=Be,wt.event&&wt.event.start.call(Z,Z.__data__,oe),Dr=[],wt.tween.forEach(function(Jr,un){(un=un.call(Z,Z.__data__,oe))&&Dr.push(un)}),lr=wt.ease,or=wt.duration}function ui(qr){for(var Kr=qr/or,ii=lr(Kr),vi=Dr.length;vi>0;)Dr[--vi].call(Z,ii);if(Kr>=1)return wt.event&&wt.event.end.call(Z,Z.__data__,oe),--We.count?delete We[Be]:delete Z[we],1}wt||(tt=Ue.time,zt=Oo(Ir,0,tt),wt=We[Be]={tween:new A,time:tt,timer:zt,delay:Ue.delay,duration:Ue.duration,ease:Ue.ease,index:oe},Ue=null,++We.count)}e.svg.axis=function(){var Z=e.scale.linear(),oe=Hl,we=6,Be=6,Ue=3,We=[10],wt=null,tt;function zt(or){or.each(function(){var lr=e.select(this),Dr=this.__chart__||Z,Ir=this.__chart__=Z.copy(),oi=wt==null?Ir.ticks?Ir.ticks.apply(Ir,We):Ir.domain():wt,ui=tt==null?Ir.tickFormat?Ir.tickFormat.apply(Ir,We):H:tt,qr=lr.selectAll(\".tick\").data(oi,Ir),Kr=qr.enter().insert(\"g\",\".domain\").attr(\"class\",\"tick\").style(\"opacity\",Ye),ii=e.transition(qr.exit()).style(\"opacity\",Ye).remove(),vi=e.transition(qr.order()).style(\"opacity\",1),ci=Math.max(we,0)+Ue,Jr,un=Xi(Ir),dn=lr.selectAll(\".domain\").data([0]),En=(dn.enter().append(\"path\").attr(\"class\",\"domain\"),e.transition(dn));Kr.append(\"line\"),Kr.append(\"text\");var Nn=Kr.select(\"line\"),ga=vi.select(\"line\"),ya=qr.select(\"text\").text(ui),so=Kr.select(\"text\"),wa=vi.select(\"text\"),io=oe===\"top\"||oe===\"left\"?-1:1,Ss,_s,Ns,pn;if(oe===\"bottom\"||oe===\"top\"?(Jr=cu,Ss=\"x\",Ns=\"y\",_s=\"x2\",pn=\"y2\",ya.attr(\"dy\",io<0?\"0em\":\".71em\").style(\"text-anchor\",\"middle\"),En.attr(\"d\",\"M\"+un[0]+\",\"+io*Be+\"V0H\"+un[1]+\"V\"+io*Be)):(Jr=el,Ss=\"y\",Ns=\"x\",_s=\"y2\",pn=\"x2\",ya.attr(\"dy\",\".32em\").style(\"text-anchor\",io<0?\"end\":\"start\"),En.attr(\"d\",\"M\"+io*Be+\",\"+un[0]+\"H0V\"+un[1]+\"H\"+io*Be)),Nn.attr(pn,io*we),so.attr(Ns,io*ci),ga.attr(_s,0).attr(pn,io*we),wa.attr(Ss,0).attr(Ns,io*ci),Ir.rangeBand){var za=Ir,Lo=za.rangeBand()/2;Dr=Ir=function(Fo){return za(Fo)+Lo}}else Dr.rangeBand?Dr=Ir:ii.call(Jr,Ir,Dr);Kr.call(Jr,Dr,Ir),vi.call(Jr,Ir,Ir)})}return zt.scale=function(or){return arguments.length?(Z=or,zt):Z},zt.orient=function(or){return arguments.length?(oe=or in Zu?or+\"\":Hl,zt):oe},zt.ticks=function(){return arguments.length?(We=r(arguments),zt):We},zt.tickValues=function(or){return arguments.length?(wt=or,zt):wt},zt.tickFormat=function(or){return arguments.length?(tt=or,zt):tt},zt.tickSize=function(or){var lr=arguments.length;return lr?(we=+or,Be=+arguments[lr-1],zt):we},zt.innerTickSize=function(or){return arguments.length?(we=+or,zt):we},zt.outerTickSize=function(or){return arguments.length?(Be=+or,zt):Be},zt.tickPadding=function(or){return arguments.length?(Ue=+or,zt):Ue},zt.tickSubdivide=function(){return arguments.length&&zt},zt};var Hl=\"bottom\",Zu={top:1,right:1,bottom:1,left:1};function cu(Z,oe,we){Z.attr(\"transform\",function(Be){var Ue=oe(Be);return\"translate(\"+(isFinite(Ue)?Ue:we(Be))+\",0)\"})}function el(Z,oe,we){Z.attr(\"transform\",function(Be){var Ue=oe(Be);return\"translate(0,\"+(isFinite(Ue)?Ue:we(Be))+\")\"})}e.svg.brush=function(){var Z=ke(lr,\"brushstart\",\"brush\",\"brushend\"),oe=null,we=null,Be=[0,0],Ue=[0,0],We,wt,tt=!0,zt=!0,or=zc[0];function lr(qr){qr.each(function(){var Kr=e.select(this).style(\"pointer-events\",\"all\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\").on(\"mousedown.brush\",ui).on(\"touchstart.brush\",ui),ii=Kr.selectAll(\".background\").data([0]);ii.enter().append(\"rect\").attr(\"class\",\"background\").style(\"visibility\",\"hidden\").style(\"cursor\",\"crosshair\"),Kr.selectAll(\".extent\").data([0]).enter().append(\"rect\").attr(\"class\",\"extent\").style(\"cursor\",\"move\");var vi=Kr.selectAll(\".resize\").data(or,H);vi.exit().remove(),vi.enter().append(\"g\").attr(\"class\",function(dn){return\"resize \"+dn}).style(\"cursor\",function(dn){return au[dn]}).append(\"rect\").attr(\"x\",function(dn){return/[ew]$/.test(dn)?-3:null}).attr(\"y\",function(dn){return/^[ns]/.test(dn)?-3:null}).attr(\"width\",6).attr(\"height\",6).style(\"visibility\",\"hidden\"),vi.style(\"display\",lr.empty()?\"none\":null);var ci=e.transition(Kr),Jr=e.transition(ii),un;oe&&(un=Xi(oe),Jr.attr(\"x\",un[0]).attr(\"width\",un[1]-un[0]),Ir(ci)),we&&(un=Xi(we),Jr.attr(\"y\",un[0]).attr(\"height\",un[1]-un[0]),oi(ci)),Dr(ci)})}lr.event=function(qr){qr.each(function(){var Kr=Z.of(this,arguments),ii={x:Be,y:Ue,i:We,j:wt},vi=this.__chart__||ii;this.__chart__=ii,Ro?e.select(this).transition().each(\"start.brush\",function(){We=vi.i,wt=vi.j,Be=vi.x,Ue=vi.y,Kr({type:\"brushstart\"})}).tween(\"brush:brush\",function(){var ci=ec(Be,ii.x),Jr=ec(Ue,ii.y);return We=wt=null,function(un){Be=ii.x=ci(un),Ue=ii.y=Jr(un),Kr({type:\"brush\",mode:\"resize\"})}}).each(\"end.brush\",function(){We=ii.i,wt=ii.j,Kr({type:\"brush\",mode:\"resize\"}),Kr({type:\"brushend\"})}):(Kr({type:\"brushstart\"}),Kr({type:\"brush\",mode:\"resize\"}),Kr({type:\"brushend\"}))})};function Dr(qr){qr.selectAll(\".resize\").attr(\"transform\",function(Kr){return\"translate(\"+Be[+/e$/.test(Kr)]+\",\"+Ue[+/^s/.test(Kr)]+\")\"})}function Ir(qr){qr.select(\".extent\").attr(\"x\",Be[0]),qr.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\",Be[1]-Be[0])}function oi(qr){qr.select(\".extent\").attr(\"y\",Ue[0]),qr.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",Ue[1]-Ue[0])}function ui(){var qr=this,Kr=e.select(e.event.target),ii=Z.of(qr,arguments),vi=e.select(qr),ci=Kr.datum(),Jr=!/^(n|s)$/.test(ci)&&oe,un=!/^(e|w)$/.test(ci)&&we,dn=Kr.classed(\"extent\"),En=Or(qr),Nn,ga=e.mouse(qr),ya,so=e.select(a(qr)).on(\"keydown.brush\",Ss).on(\"keyup.brush\",_s);if(e.event.changedTouches?so.on(\"touchmove.brush\",Ns).on(\"touchend.brush\",za):so.on(\"mousemove.brush\",Ns).on(\"mouseup.brush\",za),vi.interrupt().selectAll(\"*\").interrupt(),dn)ga[0]=Be[0]-ga[0],ga[1]=Ue[0]-ga[1];else if(ci){var wa=+/w$/.test(ci),io=+/^n/.test(ci);ya=[Be[1-wa]-ga[0],Ue[1-io]-ga[1]],ga[0]=Be[wa],ga[1]=Ue[io]}else e.event.altKey&&(Nn=ga.slice());vi.style(\"pointer-events\",\"none\").selectAll(\".resize\").style(\"display\",null),e.select(\"body\").style(\"cursor\",Kr.style(\"cursor\")),ii({type:\"brushstart\"}),Ns();function Ss(){e.event.keyCode==32&&(dn||(Nn=null,ga[0]-=Be[1],ga[1]-=Ue[1],dn=2),_e())}function _s(){e.event.keyCode==32&&dn==2&&(ga[0]+=Be[1],ga[1]+=Ue[1],dn=0,_e())}function Ns(){var Lo=e.mouse(qr),Fo=!1;ya&&(Lo[0]+=ya[0],Lo[1]+=ya[1]),dn||(e.event.altKey?(Nn||(Nn=[(Be[0]+Be[1])/2,(Ue[0]+Ue[1])/2]),ga[0]=Be[+(Lo[0]<Nn[0])],ga[1]=Ue[+(Lo[1]<Nn[1])]):Nn=null),Jr&&pn(Lo,oe,0)&&(Ir(vi),Fo=!0),un&&pn(Lo,we,1)&&(oi(vi),Fo=!0),Fo&&(Dr(vi),ii({type:\"brush\",mode:dn?\"move\":\"resize\"}))}function pn(Lo,Fo,js){var xl=Xi(Fo),fu=xl[0],dl=xl[1],xc=ga[js],At=js?Ue:Be,Er=At[1]-At[0],Wr,wi;if(dn&&(fu-=xc,dl-=Er+xc),Wr=(js?zt:tt)?Math.max(fu,Math.min(dl,Lo[js])):Lo[js],dn?wi=(Wr+=xc)+Er:(Nn&&(xc=Math.max(fu,Math.min(dl,2*Nn[js]-Wr))),xc<Wr?(wi=Wr,Wr=xc):wi=xc),At[0]!=Wr||At[1]!=wi)return js?wt=null:We=null,At[0]=Wr,At[1]=wi,!0}function za(){Ns(),vi.style(\"pointer-events\",\"all\").selectAll(\".resize\").style(\"display\",lr.empty()?\"none\":null),e.select(\"body\").style(\"cursor\",null),so.on(\"mousemove.brush\",null).on(\"mouseup.brush\",null).on(\"touchmove.brush\",null).on(\"touchend.brush\",null).on(\"keydown.brush\",null).on(\"keyup.brush\",null),En(),ii({type:\"brushend\"})}}return lr.x=function(qr){return arguments.length?(oe=qr,or=zc[!oe<<1|!we],lr):oe},lr.y=function(qr){return arguments.length?(we=qr,or=zc[!oe<<1|!we],lr):we},lr.clamp=function(qr){return arguments.length?(oe&&we?(tt=!!qr[0],zt=!!qr[1]):oe?tt=!!qr:we&&(zt=!!qr),lr):oe&&we?[tt,zt]:oe?tt:we?zt:null},lr.extent=function(qr){var Kr,ii,vi,ci,Jr;return arguments.length?(oe&&(Kr=qr[0],ii=qr[1],we&&(Kr=Kr[0],ii=ii[0]),We=[Kr,ii],oe.invert&&(Kr=oe(Kr),ii=oe(ii)),ii<Kr&&(Jr=Kr,Kr=ii,ii=Jr),(Kr!=Be[0]||ii!=Be[1])&&(Be=[Kr,ii])),we&&(vi=qr[0],ci=qr[1],oe&&(vi=vi[1],ci=ci[1]),wt=[vi,ci],we.invert&&(vi=we(vi),ci=we(ci)),ci<vi&&(Jr=vi,vi=ci,ci=Jr),(vi!=Ue[0]||ci!=Ue[1])&&(Ue=[vi,ci])),lr):(oe&&(We?(Kr=We[0],ii=We[1]):(Kr=Be[0],ii=Be[1],oe.invert&&(Kr=oe.invert(Kr),ii=oe.invert(ii)),ii<Kr&&(Jr=Kr,Kr=ii,ii=Jr))),we&&(wt?(vi=wt[0],ci=wt[1]):(vi=Ue[0],ci=Ue[1],we.invert&&(vi=we.invert(vi),ci=we.invert(ci)),ci<vi&&(Jr=vi,vi=ci,ci=Jr))),oe&&we?[[Kr,vi],[ii,ci]]:oe?[Kr,ii]:we&&[vi,ci])},lr.clear=function(){return lr.empty()||(Be=[0,0],Ue=[0,0],We=wt=null),lr},lr.empty=function(){return!!oe&&Be[0]==Be[1]||!!we&&Ue[0]==Ue[1]},e.rebind(lr,Z,\"on\")};var au={n:\"ns-resize\",e:\"ew-resize\",s:\"ns-resize\",w:\"ew-resize\",nw:\"nwse-resize\",ne:\"nesw-resize\",se:\"nwse-resize\",sw:\"nesw-resize\"},zc=[[\"n\",\"e\",\"s\",\"w\",\"nw\",\"ne\",\"se\",\"sw\"],[\"e\",\"w\"],[\"n\",\"s\"],[]];e.text=zi(function(Z){return Z.responseText}),e.json=function(Z,oe){return Yi(Z,\"application/json\",zl,oe)};function zl(Z){return JSON.parse(Z.responseText)}e.html=function(Z,oe){return Yi(Z,\"text/html\",Fl,oe)};function Fl(Z){var oe=n.createRange();return oe.selectNode(n.body),oe.createContextualFragment(Z.responseText)}e.xml=zi(function(Z){return Z.responseXML}),typeof r6==\"object\"&&r6.exports?r6.exports=e:this.d3=e}).apply(self)});var dq=ye((i6,nee)=>{(function(e,t){typeof i6==\"object\"&&typeof nee!=\"undefined\"?t(i6):(e=e||self,t(e.d3=e.d3||{}))})(i6,function(e){\"use strict\";var t=new Date,r=new Date;function n(Ke,xt,bt,Lt){function St(Et){return Ke(Et=arguments.length===0?new Date:new Date(+Et)),Et}return St.floor=function(Et){return Ke(Et=new Date(+Et)),Et},St.ceil=function(Et){return Ke(Et=new Date(Et-1)),xt(Et,1),Ke(Et),Et},St.round=function(Et){var dt=St(Et),Ht=St.ceil(Et);return Et-dt<Ht-Et?dt:Ht},St.offset=function(Et,dt){return xt(Et=new Date(+Et),dt==null?1:Math.floor(dt)),Et},St.range=function(Et,dt,Ht){var $t=[],fr;if(Et=St.ceil(Et),Ht=Ht==null?1:Math.floor(Ht),!(Et<dt)||!(Ht>0))return $t;do $t.push(fr=new Date(+Et)),xt(Et,Ht),Ke(Et);while(fr<Et&&Et<dt);return $t},St.filter=function(Et){return n(function(dt){if(dt>=dt)for(;Ke(dt),!Et(dt);)dt.setTime(dt-1)},function(dt,Ht){if(dt>=dt)if(Ht<0)for(;++Ht<=0;)for(;xt(dt,-1),!Et(dt););else for(;--Ht>=0;)for(;xt(dt,1),!Et(dt););})},bt&&(St.count=function(Et,dt){return t.setTime(+Et),r.setTime(+dt),Ke(t),Ke(r),Math.floor(bt(t,r))},St.every=function(Et){return Et=Math.floor(Et),!isFinite(Et)||!(Et>0)?null:Et>1?St.filter(Lt?function(dt){return Lt(dt)%Et===0}:function(dt){return St.count(0,dt)%Et===0}):St}),St}var i=n(function(){},function(Ke,xt){Ke.setTime(+Ke+xt)},function(Ke,xt){return xt-Ke});i.every=function(Ke){return Ke=Math.floor(Ke),!isFinite(Ke)||!(Ke>0)?null:Ke>1?n(function(xt){xt.setTime(Math.floor(xt/Ke)*Ke)},function(xt,bt){xt.setTime(+xt+bt*Ke)},function(xt,bt){return(bt-xt)/Ke}):i};var a=i.range,o=1e3,s=6e4,l=36e5,u=864e5,c=6048e5,f=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds())},function(Ke,xt){Ke.setTime(+Ke+xt*o)},function(Ke,xt){return(xt-Ke)/o},function(Ke){return Ke.getUTCSeconds()}),h=f.range,d=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds()-Ke.getSeconds()*o)},function(Ke,xt){Ke.setTime(+Ke+xt*s)},function(Ke,xt){return(xt-Ke)/s},function(Ke){return Ke.getMinutes()}),v=d.range,x=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds()-Ke.getSeconds()*o-Ke.getMinutes()*s)},function(Ke,xt){Ke.setTime(+Ke+xt*l)},function(Ke,xt){return(xt-Ke)/l},function(Ke){return Ke.getHours()}),b=x.range,p=n(function(Ke){Ke.setHours(0,0,0,0)},function(Ke,xt){Ke.setDate(Ke.getDate()+xt)},function(Ke,xt){return(xt-Ke-(xt.getTimezoneOffset()-Ke.getTimezoneOffset())*s)/u},function(Ke){return Ke.getDate()-1}),E=p.range;function k(Ke){return n(function(xt){xt.setDate(xt.getDate()-(xt.getDay()+7-Ke)%7),xt.setHours(0,0,0,0)},function(xt,bt){xt.setDate(xt.getDate()+bt*7)},function(xt,bt){return(bt-xt-(bt.getTimezoneOffset()-xt.getTimezoneOffset())*s)/c})}var A=k(0),L=k(1),_=k(2),C=k(3),M=k(4),g=k(5),P=k(6),T=A.range,F=L.range,q=_.range,V=C.range,H=M.range,X=g.range,G=P.range,N=n(function(Ke){Ke.setDate(1),Ke.setHours(0,0,0,0)},function(Ke,xt){Ke.setMonth(Ke.getMonth()+xt)},function(Ke,xt){return xt.getMonth()-Ke.getMonth()+(xt.getFullYear()-Ke.getFullYear())*12},function(Ke){return Ke.getMonth()}),W=N.range,re=n(function(Ke){Ke.setMonth(0,1),Ke.setHours(0,0,0,0)},function(Ke,xt){Ke.setFullYear(Ke.getFullYear()+xt)},function(Ke,xt){return xt.getFullYear()-Ke.getFullYear()},function(Ke){return Ke.getFullYear()});re.every=function(Ke){return!isFinite(Ke=Math.floor(Ke))||!(Ke>0)?null:n(function(xt){xt.setFullYear(Math.floor(xt.getFullYear()/Ke)*Ke),xt.setMonth(0,1),xt.setHours(0,0,0,0)},function(xt,bt){xt.setFullYear(xt.getFullYear()+bt*Ke)})};var ae=re.range,_e=n(function(Ke){Ke.setUTCSeconds(0,0)},function(Ke,xt){Ke.setTime(+Ke+xt*s)},function(Ke,xt){return(xt-Ke)/s},function(Ke){return Ke.getUTCMinutes()}),Me=_e.range,ke=n(function(Ke){Ke.setUTCMinutes(0,0,0)},function(Ke,xt){Ke.setTime(+Ke+xt*l)},function(Ke,xt){return(xt-Ke)/l},function(Ke){return Ke.getUTCHours()}),ge=ke.range,ie=n(function(Ke){Ke.setUTCHours(0,0,0,0)},function(Ke,xt){Ke.setUTCDate(Ke.getUTCDate()+xt)},function(Ke,xt){return(xt-Ke)/u},function(Ke){return Ke.getUTCDate()-1}),Te=ie.range;function Ee(Ke){return n(function(xt){xt.setUTCDate(xt.getUTCDate()-(xt.getUTCDay()+7-Ke)%7),xt.setUTCHours(0,0,0,0)},function(xt,bt){xt.setUTCDate(xt.getUTCDate()+bt*7)},function(xt,bt){return(bt-xt)/c})}var Ae=Ee(0),ze=Ee(1),Ce=Ee(2),me=Ee(3),Re=Ee(4),ce=Ee(5),Ge=Ee(6),nt=Ae.range,ct=ze.range,qt=Ce.range,rt=me.range,ot=Re.range,Rt=ce.range,kt=Ge.range,Ct=n(function(Ke){Ke.setUTCDate(1),Ke.setUTCHours(0,0,0,0)},function(Ke,xt){Ke.setUTCMonth(Ke.getUTCMonth()+xt)},function(Ke,xt){return xt.getUTCMonth()-Ke.getUTCMonth()+(xt.getUTCFullYear()-Ke.getUTCFullYear())*12},function(Ke){return Ke.getUTCMonth()}),Yt=Ct.range,xr=n(function(Ke){Ke.setUTCMonth(0,1),Ke.setUTCHours(0,0,0,0)},function(Ke,xt){Ke.setUTCFullYear(Ke.getUTCFullYear()+xt)},function(Ke,xt){return xt.getUTCFullYear()-Ke.getUTCFullYear()},function(Ke){return Ke.getUTCFullYear()});xr.every=function(Ke){return!isFinite(Ke=Math.floor(Ke))||!(Ke>0)?null:n(function(xt){xt.setUTCFullYear(Math.floor(xt.getUTCFullYear()/Ke)*Ke),xt.setUTCMonth(0,1),xt.setUTCHours(0,0,0,0)},function(xt,bt){xt.setUTCFullYear(xt.getUTCFullYear()+bt*Ke)})};var er=xr.range;e.timeDay=p,e.timeDays=E,e.timeFriday=g,e.timeFridays=X,e.timeHour=x,e.timeHours=b,e.timeInterval=n,e.timeMillisecond=i,e.timeMilliseconds=a,e.timeMinute=d,e.timeMinutes=v,e.timeMonday=L,e.timeMondays=F,e.timeMonth=N,e.timeMonths=W,e.timeSaturday=P,e.timeSaturdays=G,e.timeSecond=f,e.timeSeconds=h,e.timeSunday=A,e.timeSundays=T,e.timeThursday=M,e.timeThursdays=H,e.timeTuesday=_,e.timeTuesdays=q,e.timeWednesday=C,e.timeWednesdays=V,e.timeWeek=A,e.timeWeeks=T,e.timeYear=re,e.timeYears=ae,e.utcDay=ie,e.utcDays=Te,e.utcFriday=ce,e.utcFridays=Rt,e.utcHour=ke,e.utcHours=ge,e.utcMillisecond=i,e.utcMilliseconds=a,e.utcMinute=_e,e.utcMinutes=Me,e.utcMonday=ze,e.utcMondays=ct,e.utcMonth=Ct,e.utcMonths=Yt,e.utcSaturday=Ge,e.utcSaturdays=kt,e.utcSecond=f,e.utcSeconds=h,e.utcSunday=Ae,e.utcSundays=nt,e.utcThursday=Re,e.utcThursdays=ot,e.utcTuesday=Ce,e.utcTuesdays=qt,e.utcWednesday=me,e.utcWednesdays=rt,e.utcWeek=Ae,e.utcWeeks=nt,e.utcYear=xr,e.utcYears=er,Object.defineProperty(e,\"__esModule\",{value:!0})})});var e3=ye((n6,aee)=>{(function(e,t){typeof n6==\"object\"&&typeof aee!=\"undefined\"?t(n6,dq()):(e=e||self,t(e.d3=e.d3||{},e.d3))})(n6,function(e,t){\"use strict\";function r(Ne){if(0<=Ne.y&&Ne.y<100){var Ye=new Date(-1,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L);return Ye.setFullYear(Ne.y),Ye}return new Date(Ne.y,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L)}function n(Ne){if(0<=Ne.y&&Ne.y<100){var Ye=new Date(Date.UTC(-1,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L));return Ye.setUTCFullYear(Ne.y),Ye}return new Date(Date.UTC(Ne.y,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L))}function i(Ne,Ye,Ve){return{y:Ne,m:Ye,d:Ve,H:0,M:0,S:0,L:0}}function a(Ne){var Ye=Ne.dateTime,Ve=Ne.date,Xe=Ne.time,ht=Ne.periods,Le=Ne.days,xe=Ne.shortDays,Se=Ne.months,lt=Ne.shortMonths,Gt=h(ht),Vt=d(ht),ar=h(Le),Qr=d(Le),ai=h(xe),jr=d(xe),ri=h(Se),bi=d(Se),nn=h(lt),Wi=d(lt),Ni={a:Si,A:Mi,b:Pi,B:Gi,c:null,d:N,e:N,f:Me,H:W,I:re,j:ae,L:_e,m:ke,M:ge,p:Ki,q:ka,Q:dt,s:Ht,S:ie,u:Te,U:Ee,V:Ae,w:ze,W:Ce,x:null,X:null,y:me,Y:Re,Z:ce,\"%\":Et},_n={a:jn,A:la,b:Fa,B:Ra,c:null,d:Ge,e:Ge,f:ot,H:nt,I:ct,j:qt,L:rt,m:Rt,M:kt,p:jo,q:oa,Q:dt,s:Ht,S:Ct,u:Yt,U:xr,V:er,w:Ke,W:xt,x:null,X:null,y:bt,Y:Lt,Z:St,\"%\":Et},$i={a:jt,A:Zt,b:yr,B:Fr,c:Zr,d:M,e:M,f:V,H:P,I:P,j:g,L:q,m:C,M:T,p:ft,q:_,Q:X,s:G,S:F,u:x,U:b,V:p,w:v,W:E,x:Vr,X:gi,y:A,Y:k,Z:L,\"%\":H};Ni.x=zn(Ve,Ni),Ni.X=zn(Xe,Ni),Ni.c=zn(Ye,Ni),_n.x=zn(Ve,_n),_n.X=zn(Xe,_n),_n.c=zn(Ye,_n);function zn(Sn,Ha){return function(oo){var xn=[],_t=-1,br=0,Hr=Sn.length,ti,zi,Yi;for(oo instanceof Date||(oo=new Date(+oo));++_t<Hr;)Sn.charCodeAt(_t)===37&&(xn.push(Sn.slice(br,_t)),(zi=o[ti=Sn.charAt(++_t)])!=null?ti=Sn.charAt(++_t):zi=ti===\"e\"?\" \":\"0\",(Yi=Ha[ti])&&(ti=Yi(oo,zi)),xn.push(ti),br=_t+1);return xn.push(Sn.slice(br,_t)),xn.join(\"\")}}function Wn(Sn,Ha){return function(oo){var xn=i(1900,void 0,1),_t=It(xn,Sn,oo+=\"\",0),br,Hr;if(_t!=oo.length)return null;if(\"Q\"in xn)return new Date(xn.Q);if(\"s\"in xn)return new Date(xn.s*1e3+(\"L\"in xn?xn.L:0));if(Ha&&!(\"Z\"in xn)&&(xn.Z=0),\"p\"in xn&&(xn.H=xn.H%12+xn.p*12),xn.m===void 0&&(xn.m=\"q\"in xn?xn.q:0),\"V\"in xn){if(xn.V<1||xn.V>53)return null;\"w\"in xn||(xn.w=1),\"Z\"in xn?(br=n(i(xn.y,0,1)),Hr=br.getUTCDay(),br=Hr>4||Hr===0?t.utcMonday.ceil(br):t.utcMonday(br),br=t.utcDay.offset(br,(xn.V-1)*7),xn.y=br.getUTCFullYear(),xn.m=br.getUTCMonth(),xn.d=br.getUTCDate()+(xn.w+6)%7):(br=r(i(xn.y,0,1)),Hr=br.getDay(),br=Hr>4||Hr===0?t.timeMonday.ceil(br):t.timeMonday(br),br=t.timeDay.offset(br,(xn.V-1)*7),xn.y=br.getFullYear(),xn.m=br.getMonth(),xn.d=br.getDate()+(xn.w+6)%7)}else(\"W\"in xn||\"U\"in xn)&&(\"w\"in xn||(xn.w=\"u\"in xn?xn.u%7:\"W\"in xn?1:0),Hr=\"Z\"in xn?n(i(xn.y,0,1)).getUTCDay():r(i(xn.y,0,1)).getDay(),xn.m=0,xn.d=\"W\"in xn?(xn.w+6)%7+xn.W*7-(Hr+5)%7:xn.w+xn.U*7-(Hr+6)%7);return\"Z\"in xn?(xn.H+=xn.Z/100|0,xn.M+=xn.Z%100,n(xn)):r(xn)}}function It(Sn,Ha,oo,xn){for(var _t=0,br=Ha.length,Hr=oo.length,ti,zi;_t<br;){if(xn>=Hr)return-1;if(ti=Ha.charCodeAt(_t++),ti===37){if(ti=Ha.charAt(_t++),zi=$i[ti in o?Ha.charAt(_t++):ti],!zi||(xn=zi(Sn,oo,xn))<0)return-1}else if(ti!=oo.charCodeAt(xn++))return-1}return xn}function ft(Sn,Ha,oo){var xn=Gt.exec(Ha.slice(oo));return xn?(Sn.p=Vt[xn[0].toLowerCase()],oo+xn[0].length):-1}function jt(Sn,Ha,oo){var xn=ai.exec(Ha.slice(oo));return xn?(Sn.w=jr[xn[0].toLowerCase()],oo+xn[0].length):-1}function Zt(Sn,Ha,oo){var xn=ar.exec(Ha.slice(oo));return xn?(Sn.w=Qr[xn[0].toLowerCase()],oo+xn[0].length):-1}function yr(Sn,Ha,oo){var xn=nn.exec(Ha.slice(oo));return xn?(Sn.m=Wi[xn[0].toLowerCase()],oo+xn[0].length):-1}function Fr(Sn,Ha,oo){var xn=ri.exec(Ha.slice(oo));return xn?(Sn.m=bi[xn[0].toLowerCase()],oo+xn[0].length):-1}function Zr(Sn,Ha,oo){return It(Sn,Ye,Ha,oo)}function Vr(Sn,Ha,oo){return It(Sn,Ve,Ha,oo)}function gi(Sn,Ha,oo){return It(Sn,Xe,Ha,oo)}function Si(Sn){return xe[Sn.getDay()]}function Mi(Sn){return Le[Sn.getDay()]}function Pi(Sn){return lt[Sn.getMonth()]}function Gi(Sn){return Se[Sn.getMonth()]}function Ki(Sn){return ht[+(Sn.getHours()>=12)]}function ka(Sn){return 1+~~(Sn.getMonth()/3)}function jn(Sn){return xe[Sn.getUTCDay()]}function la(Sn){return Le[Sn.getUTCDay()]}function Fa(Sn){return lt[Sn.getUTCMonth()]}function Ra(Sn){return Se[Sn.getUTCMonth()]}function jo(Sn){return ht[+(Sn.getUTCHours()>=12)]}function oa(Sn){return 1+~~(Sn.getUTCMonth()/3)}return{format:function(Sn){var Ha=zn(Sn+=\"\",Ni);return Ha.toString=function(){return Sn},Ha},parse:function(Sn){var Ha=Wn(Sn+=\"\",!1);return Ha.toString=function(){return Sn},Ha},utcFormat:function(Sn){var Ha=zn(Sn+=\"\",_n);return Ha.toString=function(){return Sn},Ha},utcParse:function(Sn){var Ha=Wn(Sn+=\"\",!0);return Ha.toString=function(){return Sn},Ha}}}var o={\"-\":\"\",_:\" \",0:\"0\"},s=/^\\s*\\d+/,l=/^%/,u=/[\\\\^$*+?|[\\]().{}]/g;function c(Ne,Ye,Ve){var Xe=Ne<0?\"-\":\"\",ht=(Xe?-Ne:Ne)+\"\",Le=ht.length;return Xe+(Le<Ve?new Array(Ve-Le+1).join(Ye)+ht:ht)}function f(Ne){return Ne.replace(u,\"\\\\$&\")}function h(Ne){return new RegExp(\"^(?:\"+Ne.map(f).join(\"|\")+\")\",\"i\")}function d(Ne){for(var Ye={},Ve=-1,Xe=Ne.length;++Ve<Xe;)Ye[Ne[Ve].toLowerCase()]=Ve;return Ye}function v(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+1));return Xe?(Ne.w=+Xe[0],Ve+Xe[0].length):-1}function x(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+1));return Xe?(Ne.u=+Xe[0],Ve+Xe[0].length):-1}function b(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.U=+Xe[0],Ve+Xe[0].length):-1}function p(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.V=+Xe[0],Ve+Xe[0].length):-1}function E(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.W=+Xe[0],Ve+Xe[0].length):-1}function k(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+4));return Xe?(Ne.y=+Xe[0],Ve+Xe[0].length):-1}function A(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.y=+Xe[0]+(+Xe[0]>68?1900:2e3),Ve+Xe[0].length):-1}function L(Ne,Ye,Ve){var Xe=/^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(Ye.slice(Ve,Ve+6));return Xe?(Ne.Z=Xe[1]?0:-(Xe[2]+(Xe[3]||\"00\")),Ve+Xe[0].length):-1}function _(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+1));return Xe?(Ne.q=Xe[0]*3-3,Ve+Xe[0].length):-1}function C(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.m=Xe[0]-1,Ve+Xe[0].length):-1}function M(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.d=+Xe[0],Ve+Xe[0].length):-1}function g(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+3));return Xe?(Ne.m=0,Ne.d=+Xe[0],Ve+Xe[0].length):-1}function P(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.H=+Xe[0],Ve+Xe[0].length):-1}function T(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.M=+Xe[0],Ve+Xe[0].length):-1}function F(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.S=+Xe[0],Ve+Xe[0].length):-1}function q(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+3));return Xe?(Ne.L=+Xe[0],Ve+Xe[0].length):-1}function V(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+6));return Xe?(Ne.L=Math.floor(Xe[0]/1e3),Ve+Xe[0].length):-1}function H(Ne,Ye,Ve){var Xe=l.exec(Ye.slice(Ve,Ve+1));return Xe?Ve+Xe[0].length:-1}function X(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve));return Xe?(Ne.Q=+Xe[0],Ve+Xe[0].length):-1}function G(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve));return Xe?(Ne.s=+Xe[0],Ve+Xe[0].length):-1}function N(Ne,Ye){return c(Ne.getDate(),Ye,2)}function W(Ne,Ye){return c(Ne.getHours(),Ye,2)}function re(Ne,Ye){return c(Ne.getHours()%12||12,Ye,2)}function ae(Ne,Ye){return c(1+t.timeDay.count(t.timeYear(Ne),Ne),Ye,3)}function _e(Ne,Ye){return c(Ne.getMilliseconds(),Ye,3)}function Me(Ne,Ye){return _e(Ne,Ye)+\"000\"}function ke(Ne,Ye){return c(Ne.getMonth()+1,Ye,2)}function ge(Ne,Ye){return c(Ne.getMinutes(),Ye,2)}function ie(Ne,Ye){return c(Ne.getSeconds(),Ye,2)}function Te(Ne){var Ye=Ne.getDay();return Ye===0?7:Ye}function Ee(Ne,Ye){return c(t.timeSunday.count(t.timeYear(Ne)-1,Ne),Ye,2)}function Ae(Ne,Ye){var Ve=Ne.getDay();return Ne=Ve>=4||Ve===0?t.timeThursday(Ne):t.timeThursday.ceil(Ne),c(t.timeThursday.count(t.timeYear(Ne),Ne)+(t.timeYear(Ne).getDay()===4),Ye,2)}function ze(Ne){return Ne.getDay()}function Ce(Ne,Ye){return c(t.timeMonday.count(t.timeYear(Ne)-1,Ne),Ye,2)}function me(Ne,Ye){return c(Ne.getFullYear()%100,Ye,2)}function Re(Ne,Ye){return c(Ne.getFullYear()%1e4,Ye,4)}function ce(Ne){var Ye=Ne.getTimezoneOffset();return(Ye>0?\"-\":(Ye*=-1,\"+\"))+c(Ye/60|0,\"0\",2)+c(Ye%60,\"0\",2)}function Ge(Ne,Ye){return c(Ne.getUTCDate(),Ye,2)}function nt(Ne,Ye){return c(Ne.getUTCHours(),Ye,2)}function ct(Ne,Ye){return c(Ne.getUTCHours()%12||12,Ye,2)}function qt(Ne,Ye){return c(1+t.utcDay.count(t.utcYear(Ne),Ne),Ye,3)}function rt(Ne,Ye){return c(Ne.getUTCMilliseconds(),Ye,3)}function ot(Ne,Ye){return rt(Ne,Ye)+\"000\"}function Rt(Ne,Ye){return c(Ne.getUTCMonth()+1,Ye,2)}function kt(Ne,Ye){return c(Ne.getUTCMinutes(),Ye,2)}function Ct(Ne,Ye){return c(Ne.getUTCSeconds(),Ye,2)}function Yt(Ne){var Ye=Ne.getUTCDay();return Ye===0?7:Ye}function xr(Ne,Ye){return c(t.utcSunday.count(t.utcYear(Ne)-1,Ne),Ye,2)}function er(Ne,Ye){var Ve=Ne.getUTCDay();return Ne=Ve>=4||Ve===0?t.utcThursday(Ne):t.utcThursday.ceil(Ne),c(t.utcThursday.count(t.utcYear(Ne),Ne)+(t.utcYear(Ne).getUTCDay()===4),Ye,2)}function Ke(Ne){return Ne.getUTCDay()}function xt(Ne,Ye){return c(t.utcMonday.count(t.utcYear(Ne)-1,Ne),Ye,2)}function bt(Ne,Ye){return c(Ne.getUTCFullYear()%100,Ye,2)}function Lt(Ne,Ye){return c(Ne.getUTCFullYear()%1e4,Ye,4)}function St(){return\"+0000\"}function Et(){return\"%\"}function dt(Ne){return+Ne}function Ht(Ne){return Math.floor(+Ne/1e3)}var $t;fr({dateTime:\"%x, %X\",date:\"%-m/%-d/%Y\",time:\"%-I:%M:%S %p\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]});function fr(Ne){return $t=a(Ne),e.timeFormat=$t.format,e.timeParse=$t.parse,e.utcFormat=$t.utcFormat,e.utcParse=$t.utcParse,$t}var _r=\"%Y-%m-%dT%H:%M:%S.%LZ\";function Br(Ne){return Ne.toISOString()}var Or=Date.prototype.toISOString?Br:e.utcFormat(_r);function Nr(Ne){var Ye=new Date(Ne);return isNaN(Ye)?null:Ye}var ut=+new Date(\"2000-01-01T00:00:00.000Z\")?Nr:e.utcParse(_r);e.isoFormat=Or,e.isoParse=ut,e.timeFormatDefaultLocale=fr,e.timeFormatLocale=a,Object.defineProperty(e,\"__esModule\",{value:!0})})});var vq=ye((a6,oee)=>{(function(e,t){typeof a6==\"object\"&&typeof oee!=\"undefined\"?t(a6):(e=typeof globalThis!=\"undefined\"?globalThis:e||self,t(e.d3=e.d3||{}))})(a6,function(e){\"use strict\";function t(C){return Math.abs(C=Math.round(C))>=1e21?C.toLocaleString(\"en\").replace(/,/g,\"\"):C.toString(10)}function r(C,M){if((g=(C=M?C.toExponential(M-1):C.toExponential()).indexOf(\"e\"))<0)return null;var g,P=C.slice(0,g);return[P.length>1?P[0]+P.slice(2):P,+C.slice(g+1)]}function n(C){return C=r(Math.abs(C)),C?C[1]:NaN}function i(C,M){return function(g,P){for(var T=g.length,F=[],q=0,V=C[0],H=0;T>0&&V>0&&(H+V+1>P&&(V=Math.max(1,P-H)),F.push(g.substring(T-=V,T+V)),!((H+=V+1)>P));)V=C[q=(q+1)%C.length];return F.reverse().join(M)}}function a(C){return function(M){return M.replace(/[0-9]/g,function(g){return C[+g]})}}var o=/^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;function s(C){if(!(M=o.exec(C)))throw new Error(\"invalid format: \"+C);var M;return new l({fill:M[1],align:M[2],sign:M[3],symbol:M[4],zero:M[5],width:M[6],comma:M[7],precision:M[8]&&M[8].slice(1),trim:M[9],type:M[10]})}s.prototype=l.prototype;function l(C){this.fill=C.fill===void 0?\" \":C.fill+\"\",this.align=C.align===void 0?\">\":C.align+\"\",this.sign=C.sign===void 0?\"-\":C.sign+\"\",this.symbol=C.symbol===void 0?\"\":C.symbol+\"\",this.zero=!!C.zero,this.width=C.width===void 0?void 0:+C.width,this.comma=!!C.comma,this.precision=C.precision===void 0?void 0:+C.precision,this.trim=!!C.trim,this.type=C.type===void 0?\"\":C.type+\"\"}l.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?\"0\":\"\")+(this.width===void 0?\"\":Math.max(1,this.width|0))+(this.comma?\",\":\"\")+(this.precision===void 0?\"\":\".\"+Math.max(0,this.precision|0))+(this.trim?\"~\":\"\")+this.type};function u(C){e:for(var M=C.length,g=1,P=-1,T;g<M;++g)switch(C[g]){case\".\":P=T=g;break;case\"0\":P===0&&(P=g),T=g;break;default:if(!+C[g])break e;P>0&&(P=0);break}return P>0?C.slice(0,P)+C.slice(T+1):C}var c;function f(C,M){var g=r(C,M);if(!g)return C+\"\";var P=g[0],T=g[1],F=T-(c=Math.max(-8,Math.min(8,Math.floor(T/3)))*3)+1,q=P.length;return F===q?P:F>q?P+new Array(F-q+1).join(\"0\"):F>0?P.slice(0,F)+\".\"+P.slice(F):\"0.\"+new Array(1-F).join(\"0\")+r(C,Math.max(0,M+F-1))[0]}function h(C,M){var g=r(C,M);if(!g)return C+\"\";var P=g[0],T=g[1];return T<0?\"0.\"+new Array(-T).join(\"0\")+P:P.length>T+1?P.slice(0,T+1)+\".\"+P.slice(T+1):P+new Array(T-P.length+2).join(\"0\")}var d={\"%\":function(C,M){return(C*100).toFixed(M)},b:function(C){return Math.round(C).toString(2)},c:function(C){return C+\"\"},d:t,e:function(C,M){return C.toExponential(M)},f:function(C,M){return C.toFixed(M)},g:function(C,M){return C.toPrecision(M)},o:function(C){return Math.round(C).toString(8)},p:function(C,M){return h(C*100,M)},r:h,s:f,X:function(C){return Math.round(C).toString(16).toUpperCase()},x:function(C){return Math.round(C).toString(16)}};function v(C){return C}var x=Array.prototype.map,b=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"\\xB5\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];function p(C){var M=C.grouping===void 0||C.thousands===void 0?v:i(x.call(C.grouping,Number),C.thousands+\"\"),g=C.currency===void 0?\"\":C.currency[0]+\"\",P=C.currency===void 0?\"\":C.currency[1]+\"\",T=C.decimal===void 0?\".\":C.decimal+\"\",F=C.numerals===void 0?v:a(x.call(C.numerals,String)),q=C.percent===void 0?\"%\":C.percent+\"\",V=C.minus===void 0?\"-\":C.minus+\"\",H=C.nan===void 0?\"NaN\":C.nan+\"\";function X(N){N=s(N);var W=N.fill,re=N.align,ae=N.sign,_e=N.symbol,Me=N.zero,ke=N.width,ge=N.comma,ie=N.precision,Te=N.trim,Ee=N.type;Ee===\"n\"?(ge=!0,Ee=\"g\"):d[Ee]||(ie===void 0&&(ie=12),Te=!0,Ee=\"g\"),(Me||W===\"0\"&&re===\"=\")&&(Me=!0,W=\"0\",re=\"=\");var Ae=_e===\"$\"?g:_e===\"#\"&&/[boxX]/.test(Ee)?\"0\"+Ee.toLowerCase():\"\",ze=_e===\"$\"?P:/[%p]/.test(Ee)?q:\"\",Ce=d[Ee],me=/[defgprs%]/.test(Ee);ie=ie===void 0?6:/[gprs]/.test(Ee)?Math.max(1,Math.min(21,ie)):Math.max(0,Math.min(20,ie));function Re(ce){var Ge=Ae,nt=ze,ct,qt,rt;if(Ee===\"c\")nt=Ce(ce)+nt,ce=\"\";else{ce=+ce;var ot=ce<0||1/ce<0;if(ce=isNaN(ce)?H:Ce(Math.abs(ce),ie),Te&&(ce=u(ce)),ot&&+ce==0&&ae!==\"+\"&&(ot=!1),Ge=(ot?ae===\"(\"?ae:V:ae===\"-\"||ae===\"(\"?\"\":ae)+Ge,nt=(Ee===\"s\"?b[8+c/3]:\"\")+nt+(ot&&ae===\"(\"?\")\":\"\"),me){for(ct=-1,qt=ce.length;++ct<qt;)if(rt=ce.charCodeAt(ct),48>rt||rt>57){nt=(rt===46?T+ce.slice(ct+1):ce.slice(ct))+nt,ce=ce.slice(0,ct);break}}}ge&&!Me&&(ce=M(ce,1/0));var Rt=Ge.length+ce.length+nt.length,kt=Rt<ke?new Array(ke-Rt+1).join(W):\"\";switch(ge&&Me&&(ce=M(kt+ce,kt.length?ke-nt.length:1/0),kt=\"\"),re){case\"<\":ce=Ge+ce+nt+kt;break;case\"=\":ce=Ge+kt+ce+nt;break;case\"^\":ce=kt.slice(0,Rt=kt.length>>1)+Ge+ce+nt+kt.slice(Rt);break;default:ce=kt+Ge+ce+nt;break}return F(ce)}return Re.toString=function(){return N+\"\"},Re}function G(N,W){var re=X((N=s(N),N.type=\"f\",N)),ae=Math.max(-8,Math.min(8,Math.floor(n(W)/3)))*3,_e=Math.pow(10,-ae),Me=b[8+ae/3];return function(ke){return re(_e*ke)+Me}}return{format:X,formatPrefix:G}}var E;k({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],minus:\"-\"});function k(C){return E=p(C),e.format=E.format,e.formatPrefix=E.formatPrefix,E}function A(C){return Math.max(0,-n(Math.abs(C)))}function L(C,M){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(n(M)/3)))*3-n(Math.abs(C)))}function _(C,M){return C=Math.abs(C),M=Math.abs(M)-C,Math.max(0,n(M)-n(C))+1}e.FormatSpecifier=l,e.formatDefaultLocale=k,e.formatLocale=p,e.formatSpecifier=s,e.precisionFixed=A,e.precisionPrefix=L,e.precisionRound=_,Object.defineProperty(e,\"__esModule\",{value:!0})})});var lee=ye((OQt,see)=>{\"use strict\";see.exports=function(e){for(var t=e.length,r,n=0;n<t;n++)if(r=e.charCodeAt(n),(r<9||r>13)&&r!==32&&r!==133&&r!==160&&r!==5760&&r!==6158&&(r<8192||r>8205)&&r!==8232&&r!==8233&&r!==8239&&r!==8287&&r!==8288&&r!==12288&&r!==65279)return!1;return!0}});var uo=ye((BQt,uee)=>{\"use strict\";var KQe=lee();uee.exports=function(e){var t=typeof e;if(t===\"string\"){var r=e;if(e=+e,e===0&&KQe(r))return!1}else if(t!==\"number\")return!1;return e-e<1}});var es=ye((NQt,cee)=>{\"use strict\";cee.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE*1e-4,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:24405875e-1,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:\"\\u2212\"}});var pq=ye((o6,fee)=>{(function(e,t){typeof o6==\"object\"&&typeof fee!=\"undefined\"?t(o6):(e=typeof globalThis!=\"undefined\"?globalThis:e||self,t(e[\"base64-arraybuffer\"]={}))})(o6,function(e){\"use strict\";for(var t=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",r=typeof Uint8Array==\"undefined\"?[]:new Uint8Array(256),n=0;n<t.length;n++)r[t.charCodeAt(n)]=n;var i=function(o){var s=new Uint8Array(o),l,u=s.length,c=\"\";for(l=0;l<u;l+=3)c+=t[s[l]>>2],c+=t[(s[l]&3)<<4|s[l+1]>>4],c+=t[(s[l+1]&15)<<2|s[l+2]>>6],c+=t[s[l+2]&63];return u%3===2?c=c.substring(0,c.length-1)+\"=\":u%3===1&&(c=c.substring(0,c.length-2)+\"==\"),c},a=function(o){var s=o.length*.75,l=o.length,u,c=0,f,h,d,v;o[o.length-1]===\"=\"&&(s--,o[o.length-2]===\"=\"&&s--);var x=new ArrayBuffer(s),b=new Uint8Array(x);for(u=0;u<l;u+=4)f=r[o.charCodeAt(u)],h=r[o.charCodeAt(u+1)],d=r[o.charCodeAt(u+2)],v=r[o.charCodeAt(u+3)],b[c++]=f<<2|h>>4,b[c++]=(h&15)<<4|d>>2,b[c++]=(d&3)<<6|v&63;return x};e.decode=a,e.encode=i,Object.defineProperty(e,\"__esModule\",{value:!0})})});var gy=ye((UQt,hee)=>{\"use strict\";hee.exports=function(t){return window&&window.process&&window.process.versions?Object.prototype.toString.call(t)===\"[object Object]\":Object.prototype.toString.call(t)===\"[object Object]\"&&Object.getPrototypeOf(t).hasOwnProperty(\"hasOwnProperty\")}});var vv=ye(mg=>{\"use strict\";var JQe=pq().decode,$Qe=gy(),gq=Array.isArray,QQe=ArrayBuffer,eet=DataView;function dee(e){return QQe.isView(e)&&!(e instanceof eet)}mg.isTypedArray=dee;function s6(e){return gq(e)||dee(e)}mg.isArrayOrTypedArray=s6;function tet(e){return!s6(e[0])}mg.isArray1D=tet;mg.ensureArray=function(e,t){return gq(e)||(e=[]),e.length=t,e};var Md={u1c:typeof Uint8ClampedArray==\"undefined\"?void 0:Uint8ClampedArray,i1:typeof Int8Array==\"undefined\"?void 0:Int8Array,u1:typeof Uint8Array==\"undefined\"?void 0:Uint8Array,i2:typeof Int16Array==\"undefined\"?void 0:Int16Array,u2:typeof Uint16Array==\"undefined\"?void 0:Uint16Array,i4:typeof Int32Array==\"undefined\"?void 0:Int32Array,u4:typeof Uint32Array==\"undefined\"?void 0:Uint32Array,f4:typeof Float32Array==\"undefined\"?void 0:Float32Array,f8:typeof Float64Array==\"undefined\"?void 0:Float64Array};Md.uint8c=Md.u1c;Md.uint8=Md.u1;Md.int8=Md.i1;Md.uint16=Md.u2;Md.int16=Md.i2;Md.uint32=Md.u4;Md.int32=Md.i4;Md.float32=Md.f4;Md.float64=Md.f8;function mq(e){return e.constructor===ArrayBuffer}mg.isArrayBuffer=mq;mg.decodeTypedArraySpec=function(e){var t=[],r=ret(e),n=r.dtype,i=Md[n];if(!i)throw new Error('Error in dtype: \"'+n+'\"');var a=i.BYTES_PER_ELEMENT,o=r.bdata;mq(o)||(o=JQe(o));var s=r.shape===void 0?[o.byteLength/a]:(\"\"+r.shape).split(\",\");s.reverse();var l=s.length,u,c,f=+s[0],h=a*f,d=0;if(l===1)t=new i(o);else if(l===2)for(u=+s[1],c=0;c<u;c++)t[c]=new i(o,d,f),d+=h;else if(l===3){u=+s[1];for(var v=+s[2],x=0;x<v;x++)for(t[x]=[],c=0;c<u;c++)t[x][c]=new i(o,d,f),d+=h}else throw new Error(\"ndim: \"+l+'is not supported with the shape:\"'+r.shape+'\"');return t.bdata=r.bdata,t.dtype=r.dtype,t.shape=s.reverse().join(\",\"),e._inputArray=t,t};mg.isTypedArraySpec=function(e){return $Qe(e)&&e.hasOwnProperty(\"dtype\")&&typeof e.dtype==\"string\"&&e.hasOwnProperty(\"bdata\")&&(typeof e.bdata==\"string\"||mq(e.bdata))&&(e.shape===void 0||e.hasOwnProperty(\"shape\")&&(typeof e.shape==\"string\"||typeof e.shape==\"number\"))};function ret(e){return{bdata:e.bdata,dtype:e.dtype,shape:e.shape}}mg.concat=function(){var e=[],t=!0,r=0,n,i,a,o,s,l,u,c;for(a=0;a<arguments.length;a++)o=arguments[a],l=o.length,l&&(i?e.push(o):(i=o,s=l),gq(o)?n=!1:(t=!1,r?n!==o.constructor&&(n=!1):n=o.constructor),r+=l);if(!r)return[];if(!e.length)return i;if(t)return i.concat.apply(i,e);if(n){for(u=new n(r),u.set(i),a=0;a<e.length;a++)o=e[a],u.set(o,s),s+=o.length;return u}for(u=new Array(r),c=0;c<i.length;c++)u[c]=i[c];for(a=0;a<e.length;a++){for(o=e[a],c=0;c<o.length;c++)u[s+c]=o[c];s+=c}return u};mg.maxRowLength=function(e){return vee(e,Math.max,0)};mg.minRowLength=function(e){return vee(e,Math.min,1/0)};function vee(e,t,r){if(s6(e))if(s6(e[0])){for(var n=r,i=0;i<e.length;i++)n=t(n,e[i].length);return n}else return e.length;return 0}});var ES=ye((HQt,_ee)=>{\"use strict\";var pee=uo(),_q=vv().isArrayOrTypedArray;_ee.exports=function(t,r){if(pee(r))r=String(r);else if(typeof r!=\"string\"||r.substr(r.length-4)===\"[-1]\")throw\"bad property string\";var n=r.split(\".\"),i,a,o,s;for(s=0;s<n.length;s++)if(String(n[s]).slice(0,2)===\"__\")throw\"bad property string\";for(s=0;s<n.length;){if(i=String(n[s]).match(/^([^\\[\\]]*)((\\[\\-?[0-9]*\\])+)$/),i){if(i[1])n[s]=i[1];else if(s===0)n.splice(0,1);else throw\"bad property string\";for(a=i[2].substr(1,i[2].length-2).split(\"][\"),o=0;o<a.length;o++)s++,n.splice(s,0,Number(a[o]))}s++}return typeof t!=\"object\"?oet(t,r,n):{set:mee(t,n,r),get:gee(t,n),astr:r,parts:n,obj:t}};function gee(e,t){return function(r){var n=e,i,a,o,s,l;for(s=0;s<t.length-1;s++){if(i=t[s],i===-1){for(a=!0,o=[],l=0;l<n.length;l++)o[l]=gee(n[l],t.slice(s+1))(r),o[l]!==o[0]&&(a=!1);return a?o[0]:o}if(typeof i==\"number\"&&!_q(n)||(n=n[i],typeof n!=\"object\"||n===null))return}if(!(typeof n!=\"object\"||n===null)&&(o=n[t[s]],!(!r&&o===null)))return o}}var iet=/(^|\\.)args\\[/;function yq(e,t){return e===void 0||e===null&&!t.match(iet)}function mee(e,t,r){return function(n){var i=e,a=\"\",o=[[e,a]],s=yq(n,r),l,u;for(u=0;u<t.length-1;u++){if(l=t[u],typeof l==\"number\"&&!_q(i))throw\"array index but container is not an array\";if(l===-1){if(s=!aet(i,t.slice(u+1),n,r),s)break;return}if(!yee(i,l,t[u+1],s))break;if(i=i[l],typeof i!=\"object\"||i===null)throw\"container is not an object\";a=net(a,l),o.push([i,a])}if(s){if(u===t.length-1&&(delete i[t[u]],Array.isArray(i)&&+t[u]===i.length-1))for(;i.length&&i[i.length-1]===void 0;)i.pop()}else i[t[u]]=n}}function net(e,t){var r=t;return pee(t)?r=\"[\"+t+\"]\":e&&(r=\".\"+t),e+r}function aet(e,t,r,n){var i=_q(r),a=!0,o=r,s=n.replace(\"-1\",0),l=i?!1:yq(r,s),u=t[0],c;for(c=0;c<e.length;c++)s=n.replace(\"-1\",c),i&&(o=r[c%r.length],l=yq(o,s)),l&&(a=!1),yee(e,c,u,l)&&mee(e[c],t,n.replace(\"-1\",c))(o);return a}function yee(e,t,r,n){if(e[t]===void 0){if(n)return!1;typeof r==\"number\"?e[t]=[]:e[t]={}}return!0}function oet(e,t,r){return{set:function(){throw\"bad container\"},get:function(){},astr:t,parts:r,obj:e}}});var Tee=ye((GQt,wee)=>{\"use strict\";var t3=ES(),set=/^\\w*$/,uet=0,xee=1,l6=2,bee=3,ob=4;wee.exports=function(t,r,n,i){n=n||\"name\",i=i||\"value\";var a,o,s,l={};r&&r.length?(s=t3(t,r),o=s.get()):o=t,r=r||\"\";var u={};if(o)for(a=0;a<o.length;a++)u[o[a][n]]=a;var c=set.test(i),f={set:function(h,d){var v=d===null?ob:uet;if(!o){if(!s||v===ob)return;o=[],s.set(o)}var x=u[h];if(x===void 0){if(v===ob)return;v=v|bee,x=o.length,u[h]=x}else d!==(c?o[x][i]:t3(o[x],i).get())&&(v=v|l6);var b=o[x]=o[x]||{};return b[n]=h,c?b[i]=d:t3(b,i).set(d),d!==null&&(v=v&~ob),l[x]=l[x]|v,f},get:function(h){if(o){var d=u[h];if(d!==void 0)return c?o[d][i]:t3(o[d],i).get()}},rename:function(h,d){var v=u[h];return v===void 0||(l[v]=l[v]|xee,u[d]=v,delete u[h],o[v][n]=d),f},remove:function(h){var d=u[h];if(d===void 0)return f;var v=o[d];if(Object.keys(v).length>2)return l[d]=l[d]|l6,f.set(h,null);if(c){for(a=d;a<o.length;a++)l[a]=l[a]|bee;for(a=d;a<o.length;a++)u[o[a][n]]--;o.splice(d,1),delete u[h]}else t3(v,i).set(null),l[d]=l[d]|l6|ob;return f},constructUpdate:function(){for(var h,d,v={},x=Object.keys(l),b=0;b<x.length;b++)d=x[b],h=r+\"[\"+d+\"]\",o[d]?(l[d]&xee&&(v[h+\".\"+n]=o[d][n]),l[d]&l6&&(c?v[h+\".\"+i]=l[d]&ob?null:o[d][i]:v[h+\".\"+i]=l[d]&ob?null:t3(o[d],i).get())):v[h]=null;return v}};return f}});var See=ye((jQt,Aee)=>{\"use strict\";var cet=/^(.*)(\\.[^\\.\\[\\]]+|\\[\\d\\])$/,fet=/^[^\\.\\[\\]]+$/;Aee.exports=function(e,t){for(;t;){var r=e.match(cet);if(r)e=r[1];else if(e.match(fet))e=\"\";else throw new Error(\"bad relativeAttr call:\"+[e,t]);if(t.charAt(0)===\"^\")t=t.slice(1);else break}return e&&t.charAt(0)!==\"[\"?e+\".\"+t:e+t}});var u6=ye((WQt,Mee)=>{\"use strict\";var het=uo();Mee.exports=function(t,r){if(t>0)return Math.log(t)/Math.LN10;var n=Math.log(Math.min(r[0],r[1]))/Math.LN10;return het(n)||(n=Math.log(Math.max(r[0],r[1]))/Math.LN10-6),n}});var Cee=ye((ZQt,kee)=>{\"use strict\";var Eee=vv().isArrayOrTypedArray,kS=gy();kee.exports=function e(t,r){for(var n in r){var i=r[n],a=t[n];if(a!==i)if(n.charAt(0)===\"_\"||typeof i==\"function\"){if(n in t)continue;t[n]=i}else if(Eee(i)&&Eee(a)&&kS(i[0])){if(n===\"customdata\"||n===\"ids\")continue;for(var o=Math.min(i.length,a.length),s=0;s<o;s++)a[s]!==i[s]&&kS(i[s])&&kS(a[s])&&e(a[s],i[s])}else kS(i)&&kS(a)&&(e(a,i),Object.keys(a).length||delete t[n])}}});var r3=ye((XQt,Lee)=>{\"use strict\";function det(e,t){var r=e%t;return r<0?r+t:r}function vet(e,t){return Math.abs(e)>t/2?e-Math.round(e/t)*t:e}Lee.exports={mod:det,modHalf:vet}});var id=ye((YQt,c6)=>{(function(e){var t=/^\\s+/,r=/\\s+$/,n=0,i=e.round,a=e.min,o=e.max,s=e.random;function l(me,Re){if(me=me||\"\",Re=Re||{},me instanceof l)return me;if(!(this instanceof l))return new l(me,Re);var ce=u(me);this._originalInput=me,this._r=ce.r,this._g=ce.g,this._b=ce.b,this._a=ce.a,this._roundA=i(100*this._a)/100,this._format=Re.format||ce.format,this._gradientType=Re.gradientType,this._r<1&&(this._r=i(this._r)),this._g<1&&(this._g=i(this._g)),this._b<1&&(this._b=i(this._b)),this._ok=ce.ok,this._tc_id=n++}l.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 me=this.toRgb();return(me.r*299+me.g*587+me.b*114)/1e3},getLuminance:function(){var me=this.toRgb(),Re,ce,Ge,nt,ct,qt;return Re=me.r/255,ce=me.g/255,Ge=me.b/255,Re<=.03928?nt=Re/12.92:nt=e.pow((Re+.055)/1.055,2.4),ce<=.03928?ct=ce/12.92:ct=e.pow((ce+.055)/1.055,2.4),Ge<=.03928?qt=Ge/12.92:qt=e.pow((Ge+.055)/1.055,2.4),.2126*nt+.7152*ct+.0722*qt},setAlpha:function(me){return this._a=N(me),this._roundA=i(100*this._a)/100,this},toHsv:function(){var me=d(this._r,this._g,this._b);return{h:me.h*360,s:me.s,v:me.v,a:this._a}},toHsvString:function(){var me=d(this._r,this._g,this._b),Re=i(me.h*360),ce=i(me.s*100),Ge=i(me.v*100);return this._a==1?\"hsv(\"+Re+\", \"+ce+\"%, \"+Ge+\"%)\":\"hsva(\"+Re+\", \"+ce+\"%, \"+Ge+\"%, \"+this._roundA+\")\"},toHsl:function(){var me=f(this._r,this._g,this._b);return{h:me.h*360,s:me.s,l:me.l,a:this._a}},toHslString:function(){var me=f(this._r,this._g,this._b),Re=i(me.h*360),ce=i(me.s*100),Ge=i(me.l*100);return this._a==1?\"hsl(\"+Re+\", \"+ce+\"%, \"+Ge+\"%)\":\"hsla(\"+Re+\", \"+ce+\"%, \"+Ge+\"%, \"+this._roundA+\")\"},toHex:function(me){return x(this._r,this._g,this._b,me)},toHexString:function(me){return\"#\"+this.toHex(me)},toHex8:function(me){return b(this._r,this._g,this._b,this._a,me)},toHex8String:function(me){return\"#\"+this.toHex8(me)},toRgb:function(){return{r:i(this._r),g:i(this._g),b:i(this._b),a:this._a}},toRgbString:function(){return this._a==1?\"rgb(\"+i(this._r)+\", \"+i(this._g)+\", \"+i(this._b)+\")\":\"rgba(\"+i(this._r)+\", \"+i(this._g)+\", \"+i(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:i(W(this._r,255)*100)+\"%\",g:i(W(this._g,255)*100)+\"%\",b:i(W(this._b,255)*100)+\"%\",a:this._a}},toPercentageRgbString:function(){return this._a==1?\"rgb(\"+i(W(this._r,255)*100)+\"%, \"+i(W(this._g,255)*100)+\"%, \"+i(W(this._b,255)*100)+\"%)\":\"rgba(\"+i(W(this._r,255)*100)+\"%, \"+i(W(this._g,255)*100)+\"%, \"+i(W(this._b,255)*100)+\"%, \"+this._roundA+\")\"},toName:function(){return this._a===0?\"transparent\":this._a<1?!1:X[x(this._r,this._g,this._b,!0)]||!1},toFilter:function(me){var Re=\"#\"+p(this._r,this._g,this._b,this._a),ce=Re,Ge=this._gradientType?\"GradientType = 1, \":\"\";if(me){var nt=l(me);ce=\"#\"+p(nt._r,nt._g,nt._b,nt._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+Ge+\"startColorstr=\"+Re+\",endColorstr=\"+ce+\")\"},toString:function(me){var Re=!!me;me=me||this._format;var ce=!1,Ge=this._a<1&&this._a>=0,nt=!Re&&Ge&&(me===\"hex\"||me===\"hex6\"||me===\"hex3\"||me===\"hex4\"||me===\"hex8\"||me===\"name\");return nt?me===\"name\"&&this._a===0?this.toName():this.toRgbString():(me===\"rgb\"&&(ce=this.toRgbString()),me===\"prgb\"&&(ce=this.toPercentageRgbString()),(me===\"hex\"||me===\"hex6\")&&(ce=this.toHexString()),me===\"hex3\"&&(ce=this.toHexString(!0)),me===\"hex4\"&&(ce=this.toHex8String(!0)),me===\"hex8\"&&(ce=this.toHex8String()),me===\"name\"&&(ce=this.toName()),me===\"hsl\"&&(ce=this.toHslString()),me===\"hsv\"&&(ce=this.toHsvString()),ce||this.toHexString())},clone:function(){return l(this.toString())},_applyModification:function(me,Re){var ce=me.apply(null,[this].concat([].slice.call(Re)));return this._r=ce._r,this._g=ce._g,this._b=ce._b,this.setAlpha(ce._a),this},lighten:function(){return this._applyModification(L,arguments)},brighten:function(){return this._applyModification(_,arguments)},darken:function(){return this._applyModification(C,arguments)},desaturate:function(){return this._applyModification(E,arguments)},saturate:function(){return this._applyModification(k,arguments)},greyscale:function(){return this._applyModification(A,arguments)},spin:function(){return this._applyModification(M,arguments)},_applyCombination:function(me,Re){return me.apply(null,[this].concat([].slice.call(Re)))},analogous:function(){return this._applyCombination(q,arguments)},complement:function(){return this._applyCombination(g,arguments)},monochromatic:function(){return this._applyCombination(V,arguments)},splitcomplement:function(){return this._applyCombination(F,arguments)},triad:function(){return this._applyCombination(P,arguments)},tetrad:function(){return this._applyCombination(T,arguments)}},l.fromRatio=function(me,Re){if(typeof me==\"object\"){var ce={};for(var Ge in me)me.hasOwnProperty(Ge)&&(Ge===\"a\"?ce[Ge]=me[Ge]:ce[Ge]=ge(me[Ge]));me=ce}return l(me,Re)};function u(me){var Re={r:0,g:0,b:0},ce=1,Ge=null,nt=null,ct=null,qt=!1,rt=!1;return typeof me==\"string\"&&(me=ze(me)),typeof me==\"object\"&&(Ae(me.r)&&Ae(me.g)&&Ae(me.b)?(Re=c(me.r,me.g,me.b),qt=!0,rt=String(me.r).substr(-1)===\"%\"?\"prgb\":\"rgb\"):Ae(me.h)&&Ae(me.s)&&Ae(me.v)?(Ge=ge(me.s),nt=ge(me.v),Re=v(me.h,Ge,nt),qt=!0,rt=\"hsv\"):Ae(me.h)&&Ae(me.s)&&Ae(me.l)&&(Ge=ge(me.s),ct=ge(me.l),Re=h(me.h,Ge,ct),qt=!0,rt=\"hsl\"),me.hasOwnProperty(\"a\")&&(ce=me.a)),ce=N(ce),{ok:qt,format:me.format||rt,r:a(255,o(Re.r,0)),g:a(255,o(Re.g,0)),b:a(255,o(Re.b,0)),a:ce}}function c(me,Re,ce){return{r:W(me,255)*255,g:W(Re,255)*255,b:W(ce,255)*255}}function f(me,Re,ce){me=W(me,255),Re=W(Re,255),ce=W(ce,255);var Ge=o(me,Re,ce),nt=a(me,Re,ce),ct,qt,rt=(Ge+nt)/2;if(Ge==nt)ct=qt=0;else{var ot=Ge-nt;switch(qt=rt>.5?ot/(2-Ge-nt):ot/(Ge+nt),Ge){case me:ct=(Re-ce)/ot+(Re<ce?6:0);break;case Re:ct=(ce-me)/ot+2;break;case ce:ct=(me-Re)/ot+4;break}ct/=6}return{h:ct,s:qt,l:rt}}function h(me,Re,ce){var Ge,nt,ct;me=W(me,360),Re=W(Re,100),ce=W(ce,100);function qt(Rt,kt,Ct){return Ct<0&&(Ct+=1),Ct>1&&(Ct-=1),Ct<1/6?Rt+(kt-Rt)*6*Ct:Ct<1/2?kt:Ct<2/3?Rt+(kt-Rt)*(2/3-Ct)*6:Rt}if(Re===0)Ge=nt=ct=ce;else{var rt=ce<.5?ce*(1+Re):ce+Re-ce*Re,ot=2*ce-rt;Ge=qt(ot,rt,me+1/3),nt=qt(ot,rt,me),ct=qt(ot,rt,me-1/3)}return{r:Ge*255,g:nt*255,b:ct*255}}function d(me,Re,ce){me=W(me,255),Re=W(Re,255),ce=W(ce,255);var Ge=o(me,Re,ce),nt=a(me,Re,ce),ct,qt,rt=Ge,ot=Ge-nt;if(qt=Ge===0?0:ot/Ge,Ge==nt)ct=0;else{switch(Ge){case me:ct=(Re-ce)/ot+(Re<ce?6:0);break;case Re:ct=(ce-me)/ot+2;break;case ce:ct=(me-Re)/ot+4;break}ct/=6}return{h:ct,s:qt,v:rt}}function v(me,Re,ce){me=W(me,360)*6,Re=W(Re,100),ce=W(ce,100);var Ge=e.floor(me),nt=me-Ge,ct=ce*(1-Re),qt=ce*(1-nt*Re),rt=ce*(1-(1-nt)*Re),ot=Ge%6,Rt=[ce,qt,ct,ct,rt,ce][ot],kt=[rt,ce,ce,qt,ct,ct][ot],Ct=[ct,ct,rt,ce,ce,qt][ot];return{r:Rt*255,g:kt*255,b:Ct*255}}function x(me,Re,ce,Ge){var nt=[ke(i(me).toString(16)),ke(i(Re).toString(16)),ke(i(ce).toString(16))];return Ge&&nt[0].charAt(0)==nt[0].charAt(1)&&nt[1].charAt(0)==nt[1].charAt(1)&&nt[2].charAt(0)==nt[2].charAt(1)?nt[0].charAt(0)+nt[1].charAt(0)+nt[2].charAt(0):nt.join(\"\")}function b(me,Re,ce,Ge,nt){var ct=[ke(i(me).toString(16)),ke(i(Re).toString(16)),ke(i(ce).toString(16)),ke(ie(Ge))];return nt&&ct[0].charAt(0)==ct[0].charAt(1)&&ct[1].charAt(0)==ct[1].charAt(1)&&ct[2].charAt(0)==ct[2].charAt(1)&&ct[3].charAt(0)==ct[3].charAt(1)?ct[0].charAt(0)+ct[1].charAt(0)+ct[2].charAt(0)+ct[3].charAt(0):ct.join(\"\")}function p(me,Re,ce,Ge){var nt=[ke(ie(Ge)),ke(i(me).toString(16)),ke(i(Re).toString(16)),ke(i(ce).toString(16))];return nt.join(\"\")}l.equals=function(me,Re){return!me||!Re?!1:l(me).toRgbString()==l(Re).toRgbString()},l.random=function(){return l.fromRatio({r:s(),g:s(),b:s()})};function E(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toHsl();return ce.s-=Re/100,ce.s=re(ce.s),l(ce)}function k(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toHsl();return ce.s+=Re/100,ce.s=re(ce.s),l(ce)}function A(me){return l(me).desaturate(100)}function L(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toHsl();return ce.l+=Re/100,ce.l=re(ce.l),l(ce)}function _(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toRgb();return ce.r=o(0,a(255,ce.r-i(255*-(Re/100)))),ce.g=o(0,a(255,ce.g-i(255*-(Re/100)))),ce.b=o(0,a(255,ce.b-i(255*-(Re/100)))),l(ce)}function C(me,Re){Re=Re===0?0:Re||10;var ce=l(me).toHsl();return ce.l-=Re/100,ce.l=re(ce.l),l(ce)}function M(me,Re){var ce=l(me).toHsl(),Ge=(ce.h+Re)%360;return ce.h=Ge<0?360+Ge:Ge,l(ce)}function g(me){var Re=l(me).toHsl();return Re.h=(Re.h+180)%360,l(Re)}function P(me){var Re=l(me).toHsl(),ce=Re.h;return[l(me),l({h:(ce+120)%360,s:Re.s,l:Re.l}),l({h:(ce+240)%360,s:Re.s,l:Re.l})]}function T(me){var Re=l(me).toHsl(),ce=Re.h;return[l(me),l({h:(ce+90)%360,s:Re.s,l:Re.l}),l({h:(ce+180)%360,s:Re.s,l:Re.l}),l({h:(ce+270)%360,s:Re.s,l:Re.l})]}function F(me){var Re=l(me).toHsl(),ce=Re.h;return[l(me),l({h:(ce+72)%360,s:Re.s,l:Re.l}),l({h:(ce+216)%360,s:Re.s,l:Re.l})]}function q(me,Re,ce){Re=Re||6,ce=ce||30;var Ge=l(me).toHsl(),nt=360/ce,ct=[l(me)];for(Ge.h=(Ge.h-(nt*Re>>1)+720)%360;--Re;)Ge.h=(Ge.h+nt)%360,ct.push(l(Ge));return ct}function V(me,Re){Re=Re||6;for(var ce=l(me).toHsv(),Ge=ce.h,nt=ce.s,ct=ce.v,qt=[],rt=1/Re;Re--;)qt.push(l({h:Ge,s:nt,v:ct})),ct=(ct+rt)%1;return qt}l.mix=function(me,Re,ce){ce=ce===0?0:ce||50;var Ge=l(me).toRgb(),nt=l(Re).toRgb(),ct=ce/100,qt={r:(nt.r-Ge.r)*ct+Ge.r,g:(nt.g-Ge.g)*ct+Ge.g,b:(nt.b-Ge.b)*ct+Ge.b,a:(nt.a-Ge.a)*ct+Ge.a};return l(qt)},l.readability=function(me,Re){var ce=l(me),Ge=l(Re);return(e.max(ce.getLuminance(),Ge.getLuminance())+.05)/(e.min(ce.getLuminance(),Ge.getLuminance())+.05)},l.isReadable=function(me,Re,ce){var Ge=l.readability(me,Re),nt,ct;switch(ct=!1,nt=Ce(ce),nt.level+nt.size){case\"AAsmall\":case\"AAAlarge\":ct=Ge>=4.5;break;case\"AAlarge\":ct=Ge>=3;break;case\"AAAsmall\":ct=Ge>=7;break}return ct},l.mostReadable=function(me,Re,ce){var Ge=null,nt=0,ct,qt,rt,ot;ce=ce||{},qt=ce.includeFallbackColors,rt=ce.level,ot=ce.size;for(var Rt=0;Rt<Re.length;Rt++)ct=l.readability(me,Re[Rt]),ct>nt&&(nt=ct,Ge=l(Re[Rt]));return l.isReadable(me,Ge,{level:rt,size:ot})||!qt?Ge:(ce.includeFallbackColors=!1,l.mostReadable(me,[\"#fff\",\"#000\"],ce))};var H=l.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\"},X=l.hexNames=G(H);function G(me){var Re={};for(var ce in me)me.hasOwnProperty(ce)&&(Re[me[ce]]=ce);return Re}function N(me){return me=parseFloat(me),(isNaN(me)||me<0||me>1)&&(me=1),me}function W(me,Re){_e(me)&&(me=\"100%\");var ce=Me(me);return me=a(Re,o(0,parseFloat(me))),ce&&(me=parseInt(me*Re,10)/100),e.abs(me-Re)<1e-6?1:me%Re/parseFloat(Re)}function re(me){return a(1,o(0,me))}function ae(me){return parseInt(me,16)}function _e(me){return typeof me==\"string\"&&me.indexOf(\".\")!=-1&&parseFloat(me)===1}function Me(me){return typeof me==\"string\"&&me.indexOf(\"%\")!=-1}function ke(me){return me.length==1?\"0\"+me:\"\"+me}function ge(me){return me<=1&&(me=me*100+\"%\"),me}function ie(me){return e.round(parseFloat(me)*255).toString(16)}function Te(me){return ae(me)/255}var Ee=function(){var me=\"[-\\\\+]?\\\\d+%?\",Re=\"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\",ce=\"(?:\"+Re+\")|(?:\"+me+\")\",Ge=\"[\\\\s|\\\\(]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")\\\\s*\\\\)?\",nt=\"[\\\\s|\\\\(]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")\\\\s*\\\\)?\";return{CSS_UNIT:new RegExp(ce),rgb:new RegExp(\"rgb\"+Ge),rgba:new RegExp(\"rgba\"+nt),hsl:new RegExp(\"hsl\"+Ge),hsla:new RegExp(\"hsla\"+nt),hsv:new RegExp(\"hsv\"+Ge),hsva:new RegExp(\"hsva\"+nt),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 Ae(me){return!!Ee.CSS_UNIT.exec(me)}function ze(me){me=me.replace(t,\"\").replace(r,\"\").toLowerCase();var Re=!1;if(H[me])me=H[me],Re=!0;else if(me==\"transparent\")return{r:0,g:0,b:0,a:0,format:\"name\"};var ce;return(ce=Ee.rgb.exec(me))?{r:ce[1],g:ce[2],b:ce[3]}:(ce=Ee.rgba.exec(me))?{r:ce[1],g:ce[2],b:ce[3],a:ce[4]}:(ce=Ee.hsl.exec(me))?{h:ce[1],s:ce[2],l:ce[3]}:(ce=Ee.hsla.exec(me))?{h:ce[1],s:ce[2],l:ce[3],a:ce[4]}:(ce=Ee.hsv.exec(me))?{h:ce[1],s:ce[2],v:ce[3]}:(ce=Ee.hsva.exec(me))?{h:ce[1],s:ce[2],v:ce[3],a:ce[4]}:(ce=Ee.hex8.exec(me))?{r:ae(ce[1]),g:ae(ce[2]),b:ae(ce[3]),a:Te(ce[4]),format:Re?\"name\":\"hex8\"}:(ce=Ee.hex6.exec(me))?{r:ae(ce[1]),g:ae(ce[2]),b:ae(ce[3]),format:Re?\"name\":\"hex\"}:(ce=Ee.hex4.exec(me))?{r:ae(ce[1]+\"\"+ce[1]),g:ae(ce[2]+\"\"+ce[2]),b:ae(ce[3]+\"\"+ce[3]),a:Te(ce[4]+\"\"+ce[4]),format:Re?\"name\":\"hex8\"}:(ce=Ee.hex3.exec(me))?{r:ae(ce[1]+\"\"+ce[1]),g:ae(ce[2]+\"\"+ce[2]),b:ae(ce[3]+\"\"+ce[3]),format:Re?\"name\":\"hex\"}:!1}function Ce(me){var Re,ce;return me=me||{level:\"AA\",size:\"small\"},Re=(me.level||\"AA\").toUpperCase(),ce=(me.size||\"small\").toLowerCase(),Re!==\"AA\"&&Re!==\"AAA\"&&(Re=\"AA\"),ce!==\"small\"&&ce!==\"large\"&&(ce=\"small\"),{level:Re,size:ce}}typeof c6!=\"undefined\"&&c6.exports?c6.exports=l:window.tinycolor=l})(Math)});var no=ye(PS=>{\"use strict\";var Pee=gy(),CS=Array.isArray;function pet(e,t){var r,n;for(r=0;r<e.length;r++){if(n=e[r],n!==null&&typeof n==\"object\")return!1;n!==void 0&&(t[r]=n)}return!0}PS.extendFlat=function(){return LS(arguments,!1,!1,!1)};PS.extendDeep=function(){return LS(arguments,!0,!1,!1)};PS.extendDeepAll=function(){return LS(arguments,!0,!0,!1)};PS.extendDeepNoArrays=function(){return LS(arguments,!0,!1,!0)};function LS(e,t,r,n){var i=e[0],a=e.length,o,s,l,u,c,f,h;if(a===2&&CS(i)&&CS(e[1])&&i.length===0){if(h=pet(e[1],i),h)return i;i.splice(0,i.length)}for(var d=1;d<a;d++){o=e[d];for(s in o)l=i[s],u=o[s],n&&CS(u)?i[s]=u:t&&u&&(Pee(u)||(c=CS(u)))?(c?(c=!1,f=l&&CS(l)?l:[]):f=l&&Pee(l)?l:{},i[s]=LS([f,u],t,r,n)):(typeof u!=\"undefined\"||r)&&(i[s]=u)}return i}});var Su=ye((JQt,Iee)=>{\"use strict\";Iee.exports=function(e){var t=e.variantValues,r=e.editType,n=e.colorEditType;n===void 0&&(n=r);var i={editType:r,valType:\"integer\",min:1,max:1e3,extras:[\"normal\",\"bold\"],dflt:\"normal\"};e.noNumericWeightValues&&(i.valType=\"enumerated\",i.values=i.extras,i.extras=void 0,i.min=void 0,i.max=void 0);var a={family:{valType:\"string\",noBlank:!0,strict:!0,editType:r},size:{valType:\"number\",min:1,editType:r},color:{valType:\"color\",editType:n},weight:i,style:{editType:r,valType:\"enumerated\",values:[\"normal\",\"italic\"],dflt:\"normal\"},variant:e.noFontVariant?void 0:{editType:r,valType:\"enumerated\",values:t||[\"normal\",\"small-caps\",\"all-small-caps\",\"all-petite-caps\",\"petite-caps\",\"unicase\"],dflt:\"normal\"},textcase:e.noFontTextcase?void 0:{editType:r,valType:\"enumerated\",values:[\"normal\",\"word caps\",\"upper\",\"lower\"],dflt:\"normal\"},lineposition:e.noFontLineposition?void 0:{editType:r,valType:\"flaglist\",flags:[\"under\",\"over\",\"through\"],extras:[\"none\"],dflt:\"none\"},shadow:e.noFontShadow?void 0:{editType:r,valType:\"string\",dflt:e.autoShadowDflt?\"auto\":\"none\"},editType:r};return e.autoSize&&(a.size.dflt=\"auto\"),e.autoColor&&(a.color.dflt=\"auto\"),e.arrayOk&&(a.family.arrayOk=!0,a.weight.arrayOk=!0,a.style.arrayOk=!0,e.noFontVariant||(a.variant.arrayOk=!0),e.noFontTextcase||(a.textcase.arrayOk=!0),e.noFontLineposition||(a.lineposition.arrayOk=!0),e.noFontShadow||(a.shadow.arrayOk=!0),a.size.arrayOk=!0,a.color.arrayOk=!0),a}});var IS=ye(($Qt,Ree)=>{\"use strict\";Ree.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:\"Arial, sans-serif\",HOVERMINTIME:50,HOVERID:\"-hover\"}});var N1=ye((QQt,Fee)=>{\"use strict\";var Dee=IS(),zee=Su(),xq=zee({editType:\"none\"});xq.family.dflt=Dee.HOVERFONT;xq.size.dflt=Dee.HOVERFONTSIZE;Fee.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:xq,grouptitlefont:zee({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\"}}});var i3=ye((eer,qee)=>{\"use strict\";var get=Su(),f6=N1().hoverlabel,h6=no().extendFlat;qee.exports={hoverlabel:{bgcolor:h6({},f6.bgcolor,{arrayOk:!0}),bordercolor:h6({},f6.bordercolor,{arrayOk:!0}),font:get({arrayOk:!0,editType:\"none\"}),align:h6({},f6.align,{arrayOk:!0}),namelength:h6({},f6.namelength,{arrayOk:!0}),editType:\"none\"}}});var vl=ye((ter,Oee)=>{\"use strict\";var met=Su(),yet=i3();Oee.exports={type:{valType:\"enumerated\",values:[],dflt:\"scatter\",editType:\"calc+clearAxisTypes\",_noTemplating:!0},visible:{valType:\"enumerated\",values:[!0,!1,\"legendonly\"],dflt:!0,editType:\"calc\"},showlegend:{valType:\"boolean\",dflt:!0,editType:\"style\"},legend:{valType:\"subplotid\",dflt:\"legend\",editType:\"style\"},legendgroup:{valType:\"string\",dflt:\"\",editType:\"style\"},legendgrouptitle:{text:{valType:\"string\",dflt:\"\",editType:\"style\"},font:met({editType:\"style\"}),editType:\"style\"},legendrank:{valType:\"number\",dflt:1e3,editType:\"style\"},legendwidth:{valType:\"number\",min:0,editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"style\"},name:{valType:\"string\",editType:\"style\"},uid:{valType:\"string\",editType:\"plot\",anim:!0},ids:{valType:\"data_array\",editType:\"calc\",anim:!0},customdata:{valType:\"data_array\",editType:\"calc\"},meta:{valType:\"any\",arrayOk:!0,editType:\"plot\"},selectedpoints:{valType:\"any\",editType:\"calc\"},hoverinfo:{valType:\"flaglist\",flags:[\"x\",\"y\",\"z\",\"text\",\"name\"],extras:[\"all\",\"none\",\"skip\"],arrayOk:!0,dflt:\"all\",editType:\"none\"},hoverlabel:yet.hoverlabel,stream:{token:{valType:\"string\",noBlank:!0,strict:!0,editType:\"calc\"},maxpoints:{valType:\"number\",min:0,max:1e4,dflt:500,editType:\"calc\"},editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"}}});var sb=ye((rer,Uee)=>{\"use strict\";var _et=id(),d6={Greys:[[0,\"rgb(0,0,0)\"],[1,\"rgb(255,255,255)\"]],YlGnBu:[[0,\"rgb(8,29,88)\"],[.125,\"rgb(37,52,148)\"],[.25,\"rgb(34,94,168)\"],[.375,\"rgb(29,145,192)\"],[.5,\"rgb(65,182,196)\"],[.625,\"rgb(127,205,187)\"],[.75,\"rgb(199,233,180)\"],[.875,\"rgb(237,248,217)\"],[1,\"rgb(255,255,217)\"]],Greens:[[0,\"rgb(0,68,27)\"],[.125,\"rgb(0,109,44)\"],[.25,\"rgb(35,139,69)\"],[.375,\"rgb(65,171,93)\"],[.5,\"rgb(116,196,118)\"],[.625,\"rgb(161,217,155)\"],[.75,\"rgb(199,233,192)\"],[.875,\"rgb(229,245,224)\"],[1,\"rgb(247,252,245)\"]],YlOrRd:[[0,\"rgb(128,0,38)\"],[.125,\"rgb(189,0,38)\"],[.25,\"rgb(227,26,28)\"],[.375,\"rgb(252,78,42)\"],[.5,\"rgb(253,141,60)\"],[.625,\"rgb(254,178,76)\"],[.75,\"rgb(254,217,118)\"],[.875,\"rgb(255,237,160)\"],[1,\"rgb(255,255,204)\"]],Bluered:[[0,\"rgb(0,0,255)\"],[1,\"rgb(255,0,0)\"]],RdBu:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(106,137,247)\"],[.5,\"rgb(190,190,190)\"],[.6,\"rgb(220,170,132)\"],[.7,\"rgb(230,145,90)\"],[1,\"rgb(178,10,28)\"]],Reds:[[0,\"rgb(220,220,220)\"],[.2,\"rgb(245,195,157)\"],[.4,\"rgb(245,160,105)\"],[1,\"rgb(178,10,28)\"]],Blues:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(40,60,190)\"],[.5,\"rgb(70,100,245)\"],[.6,\"rgb(90,120,245)\"],[.7,\"rgb(106,137,247)\"],[1,\"rgb(220,220,220)\"]],Picnic:[[0,\"rgb(0,0,255)\"],[.1,\"rgb(51,153,255)\"],[.2,\"rgb(102,204,255)\"],[.3,\"rgb(153,204,255)\"],[.4,\"rgb(204,204,255)\"],[.5,\"rgb(255,255,255)\"],[.6,\"rgb(255,204,255)\"],[.7,\"rgb(255,153,255)\"],[.8,\"rgb(255,102,204)\"],[.9,\"rgb(255,102,102)\"],[1,\"rgb(255,0,0)\"]],Rainbow:[[0,\"rgb(150,0,90)\"],[.125,\"rgb(0,0,200)\"],[.25,\"rgb(0,25,255)\"],[.375,\"rgb(0,152,255)\"],[.5,\"rgb(44,255,150)\"],[.625,\"rgb(151,255,0)\"],[.75,\"rgb(255,234,0)\"],[.875,\"rgb(255,111,0)\"],[1,\"rgb(255,0,0)\"]],Portland:[[0,\"rgb(12,51,131)\"],[.25,\"rgb(10,136,186)\"],[.5,\"rgb(242,211,56)\"],[.75,\"rgb(242,143,56)\"],[1,\"rgb(217,30,30)\"]],Jet:[[0,\"rgb(0,0,131)\"],[.125,\"rgb(0,60,170)\"],[.375,\"rgb(5,255,255)\"],[.625,\"rgb(255,255,0)\"],[.875,\"rgb(250,0,0)\"],[1,\"rgb(128,0,0)\"]],Hot:[[0,\"rgb(0,0,0)\"],[.3,\"rgb(230,0,0)\"],[.6,\"rgb(255,210,0)\"],[1,\"rgb(255,255,255)\"]],Blackbody:[[0,\"rgb(0,0,0)\"],[.2,\"rgb(230,0,0)\"],[.4,\"rgb(230,210,0)\"],[.7,\"rgb(255,255,255)\"],[1,\"rgb(160,200,255)\"]],Earth:[[0,\"rgb(0,0,130)\"],[.1,\"rgb(0,180,180)\"],[.2,\"rgb(40,210,40)\"],[.4,\"rgb(230,230,50)\"],[.6,\"rgb(120,70,20)\"],[1,\"rgb(255,255,255)\"]],Electric:[[0,\"rgb(0,0,0)\"],[.15,\"rgb(30,0,100)\"],[.4,\"rgb(120,0,100)\"],[.6,\"rgb(160,90,0)\"],[.8,\"rgb(230,200,0)\"],[1,\"rgb(255,250,220)\"]],Viridis:[[0,\"#440154\"],[.06274509803921569,\"#48186a\"],[.12549019607843137,\"#472d7b\"],[.18823529411764706,\"#424086\"],[.25098039215686274,\"#3b528b\"],[.3137254901960784,\"#33638d\"],[.3764705882352941,\"#2c728e\"],[.4392156862745098,\"#26828e\"],[.5019607843137255,\"#21918c\"],[.5647058823529412,\"#1fa088\"],[.6274509803921569,\"#28ae80\"],[.6901960784313725,\"#3fbc73\"],[.7529411764705882,\"#5ec962\"],[.8156862745098039,\"#84d44b\"],[.8784313725490196,\"#addc30\"],[.9411764705882353,\"#d8e219\"],[1,\"#fde725\"]],Cividis:[[0,\"rgb(0,32,76)\"],[.058824,\"rgb(0,42,102)\"],[.117647,\"rgb(0,52,110)\"],[.176471,\"rgb(39,63,108)\"],[.235294,\"rgb(60,74,107)\"],[.294118,\"rgb(76,85,107)\"],[.352941,\"rgb(91,95,109)\"],[.411765,\"rgb(104,106,112)\"],[.470588,\"rgb(117,117,117)\"],[.529412,\"rgb(131,129,120)\"],[.588235,\"rgb(146,140,120)\"],[.647059,\"rgb(161,152,118)\"],[.705882,\"rgb(176,165,114)\"],[.764706,\"rgb(192,177,109)\"],[.823529,\"rgb(209,191,102)\"],[.882353,\"rgb(225,204,92)\"],[.941176,\"rgb(243,219,79)\"],[1,\"rgb(255,233,69)\"]]},Bee=d6.RdBu;function xet(e,t){if(t||(t=Bee),!e)return t;function r(){try{e=d6[e]||JSON.parse(e)}catch(n){e=t}}return typeof e==\"string\"&&(r(),typeof e==\"string\"&&r()),Nee(e)?e:t}function Nee(e){var t=0;if(!Array.isArray(e)||e.length<2||!e[0]||!e[e.length-1]||+e[0][0]!=0||+e[e.length-1][0]!=1)return!1;for(var r=0;r<e.length;r++){var n=e[r];if(n.length!==2||+n[0]<t||!_et(n[1]).isValid())return!1;t=+n[0]}return!0}function bet(e){return d6[e]!==void 0?!0:Nee(e)}Uee.exports={scales:d6,defaultScale:Bee,get:xet,isValid:bet}});var dh=ye(lb=>{\"use strict\";lb.defaults=[\"#1f77b4\",\"#ff7f0e\",\"#2ca02c\",\"#d62728\",\"#9467bd\",\"#8c564b\",\"#e377c2\",\"#7f7f7f\",\"#bcbd22\",\"#17becf\"];lb.defaultLine=\"#444\";lb.lightLine=\"#eee\";lb.background=\"#fff\";lb.borderLine=\"#BEC8D9\";lb.lightFraction=100*10/11});var va=ye((ner,Vee)=>{\"use strict\";var xp=id(),wet=uo(),Tet=vv().isTypedArray,nd=Vee.exports={},v6=dh();nd.defaults=v6.defaults;var Aet=nd.defaultLine=v6.defaultLine;nd.lightLine=v6.lightLine;var wq=nd.background=v6.background;nd.tinyRGB=function(e){var t=e.toRgb();return\"rgb(\"+Math.round(t.r)+\", \"+Math.round(t.g)+\", \"+Math.round(t.b)+\")\"};nd.rgb=function(e){return nd.tinyRGB(xp(e))};nd.opacity=function(e){return e?xp(e).getAlpha():0};nd.addOpacity=function(e,t){var r=xp(e).toRgb();return\"rgba(\"+Math.round(r.r)+\", \"+Math.round(r.g)+\", \"+Math.round(r.b)+\", \"+t+\")\"};nd.combine=function(e,t){var r=xp(e).toRgb();if(r.a===1)return xp(e).toRgbString();var n=xp(t||wq).toRgb(),i=n.a===1?n:{r:255*(1-n.a)+n.r*n.a,g:255*(1-n.a)+n.g*n.a,b:255*(1-n.a)+n.b*n.a},a={r:i.r*(1-r.a)+r.r*r.a,g:i.g*(1-r.a)+r.g*r.a,b:i.b*(1-r.a)+r.b*r.a};return xp(a).toRgbString()};nd.interpolate=function(e,t,r){var n=xp(e).toRgb(),i=xp(t).toRgb(),a={r:r*n.r+(1-r)*i.r,g:r*n.g+(1-r)*i.g,b:r*n.b+(1-r)*i.b};return xp(a).toRgbString()};nd.contrast=function(e,t,r){var n=xp(e);n.getAlpha()!==1&&(n=xp(nd.combine(e,wq)));var i=n.isDark()?t?n.lighten(t):wq:r?n.darken(r):Aet;return i.toString()};nd.stroke=function(e,t){var r=xp(t);e.style({stroke:nd.tinyRGB(r),\"stroke-opacity\":r.getAlpha()})};nd.fill=function(e,t){var r=xp(t);e.style({fill:nd.tinyRGB(r),\"fill-opacity\":r.getAlpha()})};nd.clean=function(e){if(!(!e||typeof e!=\"object\")){var t=Object.keys(e),r,n,i,a;for(r=0;r<t.length;r++)if(i=t[r],a=e[i],i.substr(i.length-5)===\"color\")if(Array.isArray(a))for(n=0;n<a.length;n++)a[n]=bq(a[n]);else e[i]=bq(a);else if(i.substr(i.length-10)===\"colorscale\"&&Array.isArray(a))for(n=0;n<a.length;n++)Array.isArray(a[n])&&(a[n][1]=bq(a[n][1]));else if(Array.isArray(a)){var o=a[0];if(!Array.isArray(o)&&o&&typeof o==\"object\")for(n=0;n<a.length;n++)nd.clean(a[n])}else a&&typeof a==\"object\"&&!Tet(a)&&nd.clean(a)}};function bq(e){if(wet(e)||typeof e!=\"string\")return e;var t=e.trim();if(t.substr(0,3)!==\"rgb\")return e;var r=t.match(/^rgba?\\s*\\(([^()]*)\\)$/);if(!r)return e;var n=r[1].trim().split(/\\s*[\\s,]\\s*/),i=t.charAt(3)===\"a\"&&n.length===4;if(!i&&n.length!==3)return e;for(var a=0;a<n.length;a++){if(!n[a].length||(n[a]=Number(n[a]),!(n[a]>=0)))return e;if(a===3)n[a]>1&&(n[a]=1);else if(n[a]>=1)return e}var o=Math.round(n[0]*255)+\", \"+Math.round(n[1]*255)+\", \"+Math.round(n[2]*255);return i?\"rgba(\"+o+\", \"+n[3]+\")\":\"rgb(\"+o+\")\"}});var U1=ye((aer,Hee)=>{\"use strict\";Hee.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}});var n3=ye(Gee=>{\"use strict\";Gee.counter=function(e,t,r,n){var i=(t||\"\")+(r?\"\":\"$\"),a=n===!1?\"\":\"^\";return e===\"xy\"?new RegExp(a+\"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?\"+i):new RegExp(a+e+\"([2-9]|[1-9][0-9]+)?\"+i)}});var Xee=ye(bp=>{\"use strict\";var Tq=uo(),jee=id(),Wee=no().extendFlat,Met=vl(),Eet=sb(),ket=va(),Cet=U1().DESELECTDIM,a3=ES(),Zee=n3().counter,Let=r3().modHalf,dm=vv().isArrayOrTypedArray,V1=vv().isTypedArraySpec,H1=vv().decodeTypedArraySpec;bp.valObjectMeta={data_array:{coerceFunction:function(e,t,r){t.set(dm(e)?e:V1(e)?H1(e):r)}},enumerated:{coerceFunction:function(e,t,r,n){n.coerceNumber&&(e=+e),n.values.indexOf(e)===-1?t.set(r):t.set(e)},validateFunction:function(e,t){t.coerceNumber&&(e=+e);for(var r=t.values,n=0;n<r.length;n++){var i=String(r[n]);if(i.charAt(0)===\"/\"&&i.charAt(i.length-1)===\"/\"){var a=new RegExp(i.substr(1,i.length-2));if(a.test(e))return!0}else if(e===r[n])return!0}return!1}},boolean:{coerceFunction:function(e,t,r){e===!0||e===!1?t.set(e):t.set(r)}},number:{coerceFunction:function(e,t,r,n){V1(e)&&(e=H1(e)),!Tq(e)||n.min!==void 0&&e<n.min||n.max!==void 0&&e>n.max?t.set(r):t.set(+e)}},integer:{coerceFunction:function(e,t,r,n){if((n.extras||[]).indexOf(e)!==-1){t.set(e);return}V1(e)&&(e=H1(e)),e%1||!Tq(e)||n.min!==void 0&&e<n.min||n.max!==void 0&&e>n.max?t.set(r):t.set(+e)}},string:{coerceFunction:function(e,t,r,n){if(typeof e!=\"string\"){var i=typeof e==\"number\";n.strict===!0||!i?t.set(r):t.set(String(e))}else n.noBlank&&!e?t.set(r):t.set(e)}},color:{coerceFunction:function(e,t,r){V1(e)&&(e=H1(e)),jee(e).isValid()?t.set(e):t.set(r)}},colorlist:{coerceFunction:function(e,t,r){function n(i){return jee(i).isValid()}!Array.isArray(e)||!e.length?t.set(r):e.every(n)?t.set(e):t.set(r)}},colorscale:{coerceFunction:function(e,t,r){t.set(Eet.get(e,r))}},angle:{coerceFunction:function(e,t,r){V1(e)&&(e=H1(e)),e===\"auto\"?t.set(\"auto\"):Tq(e)?t.set(Let(+e,360)):t.set(r)}},subplotid:{coerceFunction:function(e,t,r,n){var i=n.regex||Zee(r);if(typeof e==\"string\"&&i.test(e)){t.set(e);return}t.set(r)},validateFunction:function(e,t){var r=t.dflt;return e===r?!0:typeof e!=\"string\"?!1:!!Zee(r).test(e)}},flaglist:{coerceFunction:function(e,t,r,n){if((n.extras||[]).indexOf(e)!==-1){t.set(e);return}if(typeof e!=\"string\"){t.set(r);return}for(var i=e.split(\"+\"),a=0;a<i.length;){var o=i[a];n.flags.indexOf(o)===-1||i.indexOf(o)<a?i.splice(a,1):a++}i.length?t.set(i.join(\"+\")):t.set(r)}},any:{coerceFunction:function(e,t,r){e===void 0?t.set(r):t.set(V1(e)?H1(e):e)}},info_array:{coerceFunction:function(e,t,r,n){function i(E,k,A){var L,_={set:function(C){L=C}};return A===void 0&&(A=k.dflt),bp.valObjectMeta[k.valType].coerceFunction(E,_,A,k),L}if(V1(e)&&(e=H1(e)),!dm(e)){t.set(r);return}var a=n.dimensions===2||n.dimensions===\"1-2\"&&Array.isArray(e)&&dm(e[0]),o=n.items,s=[],l=Array.isArray(o),u=l&&a&&dm(o[0]),c=a&&l&&!u,f=l&&!c?o.length:e.length,h,d,v,x,b,p;if(r=Array.isArray(r)?r:[],a)for(h=0;h<f;h++)for(s[h]=[],v=dm(e[h])?e[h]:[],c?b=o.length:l?b=o[h].length:b=v.length,d=0;d<b;d++)c?x=o[d]:l?x=o[h][d]:x=o,p=i(v[d],x,(r[h]||[])[d]),p!==void 0&&(s[h][d]=p);else for(h=0;h<f;h++)p=i(e[h],l?o[h]:o,r[h]),p!==void 0&&(s[h]=p);t.set(s)},validateFunction:function(e,t){if(!dm(e))return!1;var r=t.items,n=Array.isArray(r),i=t.dimensions===2;if(!t.freeLength&&e.length!==r.length)return!1;for(var a=0;a<e.length;a++)if(i){if(!dm(e[a])||!t.freeLength&&e[a].length!==r[a].length)return!1;for(var o=0;o<e[a].length;o++)if(!p6(e[a][o],n?r[a][o]:r))return!1}else if(!p6(e[a],n?r[a]:r))return!1;return!0}}};bp.coerce=function(e,t,r,n,i){var a=a3(r,n).get(),o=a3(e,n),s=a3(t,n),l=o.get(),u=t._template;if(l===void 0&&u&&(l=a3(u,n).get(),u=0),i===void 0&&(i=a.dflt),a.arrayOk){if(dm(l))return s.set(l),l;if(V1(l))return l=H1(l),s.set(l),l}var c=bp.valObjectMeta[a.valType].coerceFunction;c(l,s,i,a);var f=s.get();return u&&f===i&&!p6(l,a)&&(l=a3(u,n).get(),c(l,s,i,a),f=s.get()),f};bp.coerce2=function(e,t,r,n,i){var a=a3(e,n),o=bp.coerce(e,t,r,n,i),s=a.get();return s!=null?o:!1};bp.coerceFont=function(e,t,r,n){n||(n={}),r=Wee({},r),r=Wee(r,n.overrideDflt||{});var i={family:e(t+\".family\",r.family),size:e(t+\".size\",r.size),color:e(t+\".color\",r.color),weight:e(t+\".weight\",r.weight),style:e(t+\".style\",r.style)};if(n.noFontVariant||(i.variant=e(t+\".variant\",r.variant)),n.noFontLineposition||(i.lineposition=e(t+\".lineposition\",r.lineposition)),n.noFontTextcase||(i.textcase=e(t+\".textcase\",r.textcase)),!n.noFontShadow){var a=r.shadow;a===\"none\"&&n.autoShadowDflt&&(a=\"auto\"),i.shadow=e(t+\".shadow\",a)}return i};bp.coercePattern=function(e,t,r,n){var i=e(t+\".shape\");if(i){e(t+\".solidity\"),e(t+\".size\");var a=e(t+\".fillmode\"),o=a===\"overlay\";if(!n){var s=e(t+\".bgcolor\",o?r:void 0);e(t+\".fgcolor\",o?ket.contrast(s):r)}e(t+\".fgopacity\",o?.5:1)}};bp.coerceHoverinfo=function(e,t,r){var n=t._module.attributes,i=n.hoverinfo?n:Met,a=i.hoverinfo,o;if(r._dataLength===1){var s=a.dflt===\"all\"?a.flags.slice():a.dflt.split(\"+\");s.splice(s.indexOf(\"name\"),1),o=s.join(\"+\")}return bp.coerce(e,t,i,\"hoverinfo\",o)};bp.coerceSelectionMarkerOpacity=function(e,t){if(e.marker){var r=e.marker.opacity;if(r!==void 0){var n,i;!dm(r)&&!e.selected&&!e.unselected&&(n=r,i=Cet*r),t(\"selected.marker.opacity\",n),t(\"unselected.marker.opacity\",i)}}};function p6(e,t){var r=bp.valObjectMeta[t.valType];if(t.arrayOk&&dm(e))return!0;if(r.validateFunction)return r.validateFunction(e,t);var n={},i=n,a={set:function(o){i=o}};return r.coerceFunction(e,a,n,t),i!==n}bp.validate=p6});var ub=ye((ler,$ee)=>{\"use strict\";var Yee={staticPlot:{valType:\"boolean\",dflt:!1},typesetMath:{valType:\"boolean\",dflt:!0},plotlyServerURL:{valType:\"string\",dflt:\"\"},editable:{valType:\"boolean\",dflt:!1},edits:{annotationPosition:{valType:\"boolean\",dflt:!1},annotationTail:{valType:\"boolean\",dflt:!1},annotationText:{valType:\"boolean\",dflt:!1},axisTitleText:{valType:\"boolean\",dflt:!1},colorbarPosition:{valType:\"boolean\",dflt:!1},colorbarTitleText:{valType:\"boolean\",dflt:!1},legendPosition:{valType:\"boolean\",dflt:!1},legendText:{valType:\"boolean\",dflt:!1},shapePosition:{valType:\"boolean\",dflt:!1},titleText:{valType:\"boolean\",dflt:!1}},editSelection:{valType:\"boolean\",dflt:!0},autosizable:{valType:\"boolean\",dflt:!1},responsive:{valType:\"boolean\",dflt:!1},fillFrame:{valType:\"boolean\",dflt:!1},frameMargins:{valType:\"number\",dflt:0,min:0,max:.5},scrollZoom:{valType:\"flaglist\",flags:[\"cartesian\",\"gl3d\",\"geo\",\"mapbox\",\"map\"],extras:[!0,!1],dflt:\"gl3d+geo+map\"},doubleClick:{valType:\"enumerated\",values:[!1,\"reset\",\"autosize\",\"reset+autosize\"],dflt:\"reset+autosize\"},doubleClickDelay:{valType:\"number\",dflt:300,min:0},showAxisDragHandles:{valType:\"boolean\",dflt:!0},showAxisRangeEntryBoxes:{valType:\"boolean\",dflt:!0},showTips:{valType:\"boolean\",dflt:!0},showLink:{valType:\"boolean\",dflt:!1},linkText:{valType:\"string\",dflt:\"Edit chart\",noBlank:!0},sendData:{valType:\"boolean\",dflt:!0},showSources:{valType:\"any\",dflt:!1},displayModeBar:{valType:\"enumerated\",values:[\"hover\",!0,!1],dflt:\"hover\"},showSendToCloud:{valType:\"boolean\",dflt:!1},showEditInChartStudio:{valType:\"boolean\",dflt:!1},modeBarButtonsToRemove:{valType:\"any\",dflt:[]},modeBarButtonsToAdd:{valType:\"any\",dflt:[]},modeBarButtons:{valType:\"any\",dflt:!1},toImageButtonOptions:{valType:\"any\",dflt:{}},displaylogo:{valType:\"boolean\",dflt:!0},watermark:{valType:\"boolean\",dflt:!1},plotGlPixelRatio:{valType:\"number\",dflt:2,min:1,max:4},setBackground:{valType:\"any\",dflt:\"transparent\"},topojsonURL:{valType:\"string\",noBlank:!0,dflt:\"https://cdn.plot.ly/\"},mapboxAccessToken:{valType:\"string\",dflt:null},logging:{valType:\"integer\",min:0,max:2,dflt:1},notifyOnLogging:{valType:\"integer\",min:0,max:2,dflt:0},queueLength:{valType:\"integer\",min:0,dflt:0},locale:{valType:\"string\",dflt:\"en-US\"},locales:{valType:\"any\",dflt:{}}},Kee={};function Jee(e,t){for(var r in e){var n=e[r];n.valType?t[r]=n.dflt:(t[r]||(t[r]={}),Jee(n,t[r]))}}Jee(Yee,Kee);$ee.exports={configAttributes:Yee,dfltConfig:Kee}});var Sq=ye((uer,Qee)=>{\"use strict\";var Aq=xa(),Pet=uo(),RS=[];Qee.exports=function(e,t){if(RS.indexOf(e)!==-1)return;RS.push(e);var r=1e3;Pet(t)?r=t:t===\"long\"&&(r=3e3);var n=Aq.select(\"body\").selectAll(\".plotly-notifier\").data([0]);n.enter().append(\"div\").classed(\"plotly-notifier\",!0);var i=n.selectAll(\".notifier-note\").data(RS);function a(o){o.duration(700).style(\"opacity\",0).each(\"end\",function(s){var l=RS.indexOf(s);l!==-1&&RS.splice(l,1),Aq.select(this).remove()})}i.enter().append(\"div\").classed(\"notifier-note\",!0).style(\"opacity\",0).each(function(o){var s=Aq.select(this);s.append(\"button\").classed(\"notifier-close\",!0).html(\"×\").on(\"click\",function(){s.transition().call(a)});for(var l=s.append(\"p\"),u=o.split(/<br\\s*\\/?>/g),c=0;c<u.length;c++)c&&l.append(\"br\"),l.append(\"span\").text(u[c]);t===\"stick\"?s.transition().duration(350).style(\"opacity\",1):s.transition().duration(700).style(\"opacity\",1).transition().delay(r).call(a)})}});var G1=ye((cer,ete)=>{\"use strict\";var o3=ub().dfltConfig,Mq=Sq(),Eq=ete.exports={};Eq.log=function(){var e;if(o3.logging>1){var t=[\"LOG:\"];for(e=0;e<arguments.length;e++)t.push(arguments[e]);console.trace.apply(console,t)}if(o3.notifyOnLogging>1){var r=[];for(e=0;e<arguments.length;e++)r.push(arguments[e]);Mq(r.join(\"<br>\"),\"long\")}};Eq.warn=function(){var e;if(o3.logging>0){var t=[\"WARN:\"];for(e=0;e<arguments.length;e++)t.push(arguments[e]);console.trace.apply(console,t)}if(o3.notifyOnLogging>0){var r=[];for(e=0;e<arguments.length;e++)r.push(arguments[e]);Mq(r.join(\"<br>\"),\"stick\")}};Eq.error=function(){var e;if(o3.logging>0){var t=[\"ERROR:\"];for(e=0;e<arguments.length;e++)t.push(arguments[e]);console.error.apply(console,t)}if(o3.notifyOnLogging>0){var r=[];for(e=0;e<arguments.length;e++)r.push(arguments[e]);Mq(r.join(\"<br>\"),\"stick\")}}});var g6=ye((fer,tte)=>{\"use strict\";tte.exports=function(){}});var kq=ye((her,rte)=>{\"use strict\";rte.exports=function(t,r){if(r instanceof RegExp){for(var n=r.toString(),i=0;i<t.length;i++)if(t[i]instanceof RegExp&&t[i].toString()===n)return t;t.push(r)}else(r||r===0)&&t.indexOf(r)===-1&&t.push(r);return t}});var nte=ye((der,ite)=>{ite.exports=Iet;function Iet(){var e=new Float32Array(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var ote=ye((ver,ate)=>{ate.exports=Ret;function Ret(e){var t=new Float32Array(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}});var lte=ye((per,ste)=>{ste.exports=Det;function Det(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var Cq=ye((ger,ute)=>{ute.exports=zet;function zet(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var fte=ye((mer,cte)=>{cte.exports=Fet;function Fet(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}});var dte=ye((yer,hte)=>{hte.exports=qet;function qet(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],d=t[11],v=t[12],x=t[13],b=t[14],p=t[15],E=r*s-n*o,k=r*l-i*o,A=r*u-a*o,L=n*l-i*s,_=n*u-a*s,C=i*u-a*l,M=c*x-f*v,g=c*b-h*v,P=c*p-d*v,T=f*b-h*x,F=f*p-d*x,q=h*p-d*b,V=E*q-k*F+A*T+L*P-_*g+C*M;return V?(V=1/V,e[0]=(s*q-l*F+u*T)*V,e[1]=(i*F-n*q-a*T)*V,e[2]=(x*C-b*_+p*L)*V,e[3]=(h*_-f*C-d*L)*V,e[4]=(l*P-o*q-u*g)*V,e[5]=(r*q-i*P+a*g)*V,e[6]=(b*A-v*C-p*k)*V,e[7]=(c*C-h*A+d*k)*V,e[8]=(o*F-s*P+u*M)*V,e[9]=(n*P-r*F-a*M)*V,e[10]=(v*_-x*A+p*E)*V,e[11]=(f*A-c*_-d*E)*V,e[12]=(s*g-o*T-l*M)*V,e[13]=(r*T-n*g+i*M)*V,e[14]=(x*k-v*L-b*E)*V,e[15]=(c*L-f*k+h*E)*V,e):null}});var pte=ye((_er,vte)=>{vte.exports=Oet;function Oet(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],d=t[11],v=t[12],x=t[13],b=t[14],p=t[15];return e[0]=s*(h*p-d*b)-f*(l*p-u*b)+x*(l*d-u*h),e[1]=-(n*(h*p-d*b)-f*(i*p-a*b)+x*(i*d-a*h)),e[2]=n*(l*p-u*b)-s*(i*p-a*b)+x*(i*u-a*l),e[3]=-(n*(l*d-u*h)-s*(i*d-a*h)+f*(i*u-a*l)),e[4]=-(o*(h*p-d*b)-c*(l*p-u*b)+v*(l*d-u*h)),e[5]=r*(h*p-d*b)-c*(i*p-a*b)+v*(i*d-a*h),e[6]=-(r*(l*p-u*b)-o*(i*p-a*b)+v*(i*u-a*l)),e[7]=r*(l*d-u*h)-o*(i*d-a*h)+c*(i*u-a*l),e[8]=o*(f*p-d*x)-c*(s*p-u*x)+v*(s*d-u*f),e[9]=-(r*(f*p-d*x)-c*(n*p-a*x)+v*(n*d-a*f)),e[10]=r*(s*p-u*x)-o*(n*p-a*x)+v*(n*u-a*s),e[11]=-(r*(s*d-u*f)-o*(n*d-a*f)+c*(n*u-a*s)),e[12]=-(o*(f*b-h*x)-c*(s*b-l*x)+v*(s*h-l*f)),e[13]=r*(f*b-h*x)-c*(n*b-i*x)+v*(n*h-i*f),e[14]=-(r*(s*b-l*x)-o*(n*b-i*x)+v*(n*l-i*s)),e[15]=r*(s*h-l*f)-o*(n*h-i*f)+c*(n*l-i*s),e}});var mte=ye((xer,gte)=>{gte.exports=Bet;function Bet(e){var t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],f=e[10],h=e[11],d=e[12],v=e[13],x=e[14],b=e[15],p=t*o-r*a,E=t*s-n*a,k=t*l-i*a,A=r*s-n*o,L=r*l-i*o,_=n*l-i*s,C=u*v-c*d,M=u*x-f*d,g=u*b-h*d,P=c*x-f*v,T=c*b-h*v,F=f*b-h*x;return p*F-E*T+k*P+A*g-L*M+_*C}});var _te=ye((ber,yte)=>{yte.exports=Net;function Net(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],f=t[8],h=t[9],d=t[10],v=t[11],x=t[12],b=t[13],p=t[14],E=t[15],k=r[0],A=r[1],L=r[2],_=r[3];return e[0]=k*n+A*s+L*f+_*x,e[1]=k*i+A*l+L*h+_*b,e[2]=k*a+A*u+L*d+_*p,e[3]=k*o+A*c+L*v+_*E,k=r[4],A=r[5],L=r[6],_=r[7],e[4]=k*n+A*s+L*f+_*x,e[5]=k*i+A*l+L*h+_*b,e[6]=k*a+A*u+L*d+_*p,e[7]=k*o+A*c+L*v+_*E,k=r[8],A=r[9],L=r[10],_=r[11],e[8]=k*n+A*s+L*f+_*x,e[9]=k*i+A*l+L*h+_*b,e[10]=k*a+A*u+L*d+_*p,e[11]=k*o+A*c+L*v+_*E,k=r[12],A=r[13],L=r[14],_=r[15],e[12]=k*n+A*s+L*f+_*x,e[13]=k*i+A*l+L*h+_*b,e[14]=k*a+A*u+L*d+_*p,e[15]=k*o+A*c+L*v+_*E,e}});var bte=ye((wer,xte)=>{xte.exports=Uet;function Uet(e,t,r){var n=r[0],i=r[1],a=r[2],o,s,l,u,c,f,h,d,v,x,b,p;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],l=t[2],u=t[3],c=t[4],f=t[5],h=t[6],d=t[7],v=t[8],x=t[9],b=t[10],p=t[11],e[0]=o,e[1]=s,e[2]=l,e[3]=u,e[4]=c,e[5]=f,e[6]=h,e[7]=d,e[8]=v,e[9]=x,e[10]=b,e[11]=p,e[12]=o*n+c*i+v*a+t[12],e[13]=s*n+f*i+x*a+t[13],e[14]=l*n+h*i+b*a+t[14],e[15]=u*n+d*i+p*a+t[15]),e}});var Tte=ye((Ter,wte)=>{wte.exports=Vet;function Vet(e,t,r){var n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var Ste=ye((Aer,Ate)=>{Ate.exports=Het;function Het(e,t,r,n){var i=n[0],a=n[1],o=n[2],s=Math.sqrt(i*i+a*a+o*o),l,u,c,f,h,d,v,x,b,p,E,k,A,L,_,C,M,g,P,T,F,q,V,H;return Math.abs(s)<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,l=Math.sin(r),u=Math.cos(r),c=1-u,f=t[0],h=t[1],d=t[2],v=t[3],x=t[4],b=t[5],p=t[6],E=t[7],k=t[8],A=t[9],L=t[10],_=t[11],C=i*i*c+u,M=a*i*c+o*l,g=o*i*c-a*l,P=i*a*c-o*l,T=a*a*c+u,F=o*a*c+i*l,q=i*o*c+a*l,V=a*o*c-i*l,H=o*o*c+u,e[0]=f*C+x*M+k*g,e[1]=h*C+b*M+A*g,e[2]=d*C+p*M+L*g,e[3]=v*C+E*M+_*g,e[4]=f*P+x*T+k*F,e[5]=h*P+b*T+A*F,e[6]=d*P+p*T+L*F,e[7]=v*P+E*T+_*F,e[8]=f*q+x*V+k*H,e[9]=h*q+b*V+A*H,e[10]=d*q+p*V+L*H,e[11]=v*q+E*V+_*H,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}});var Ete=ye((Ser,Mte)=>{Mte.exports=Get;function Get(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+u*n,e[5]=o*i+c*n,e[6]=s*i+f*n,e[7]=l*i+h*n,e[8]=u*i-a*n,e[9]=c*i-o*n,e[10]=f*i-s*n,e[11]=h*i-l*n,e}});var Cte=ye((Mer,kte)=>{kte.exports=jet;function jet(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-u*n,e[1]=o*i-c*n,e[2]=s*i-f*n,e[3]=l*i-h*n,e[8]=a*n+u*i,e[9]=o*n+c*i,e[10]=s*n+f*i,e[11]=l*n+h*i,e}});var Pte=ye((Eer,Lte)=>{Lte.exports=Wet;function Wet(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[4],c=t[5],f=t[6],h=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+u*n,e[1]=o*i+c*n,e[2]=s*i+f*n,e[3]=l*i+h*n,e[4]=u*i-a*n,e[5]=c*i-o*n,e[6]=f*i-s*n,e[7]=h*i-l*n,e}});var Rte=ye((ker,Ite)=>{Ite.exports=Zet;function Zet(e,t,r){var n,i,a,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(u=1/u,o*=u,s*=u,l*=u,n=Math.sin(t),i=Math.cos(t),a=1-i,e[0]=o*o*a+i,e[1]=s*o*a+l*n,e[2]=l*o*a-s*n,e[3]=0,e[4]=o*s*a-l*n,e[5]=s*s*a+i,e[6]=l*s*a+o*n,e[7]=0,e[8]=o*l*a+s*n,e[9]=s*l*a-o*n,e[10]=l*l*a+i,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}});var zte=ye((Cer,Dte)=>{Dte.exports=Xet;function Xet(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,l=i+i,u=a+a,c=n*s,f=n*l,h=n*u,d=i*l,v=i*u,x=a*u,b=o*s,p=o*l,E=o*u;return e[0]=1-(d+x),e[1]=f+E,e[2]=h-p,e[3]=0,e[4]=f-E,e[5]=1-(c+x),e[6]=v+b,e[7]=0,e[8]=h+p,e[9]=v-b,e[10]=1-(c+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}});var qte=ye((Ler,Fte)=>{Fte.exports=Yet;function Yet(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Bte=ye((Per,Ote)=>{Ote.exports=Ket;function Ket(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}});var Ute=ye((Ier,Nte)=>{Nte.exports=Jet;function Jet(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Hte=ye((Rer,Vte)=>{Vte.exports=$et;function $et(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var jte=ye((Der,Gte)=>{Gte.exports=Qet;function Qet(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Lq=ye((zer,Wte)=>{Wte.exports=ett;function ett(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,f=n*s,h=i*o,d=i*s,v=i*l,x=a*o,b=a*s,p=a*l;return e[0]=1-f-v,e[1]=c+p,e[2]=h-b,e[3]=0,e[4]=c-p,e[5]=1-u-v,e[6]=d+x,e[7]=0,e[8]=h+b,e[9]=d-x,e[10]=1-u-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Xte=ye((Fer,Zte)=>{Zte.exports=ttt;function ttt(e,t,r,n,i,a,o){var s=1/(r-t),l=1/(i-n),u=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*l,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*l,e[10]=(o+a)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*u,e[15]=0,e}});var Kte=ye((qer,Yte)=>{Yte.exports=rtt;function rtt(e,t,r,n,i){var a=1/Math.tan(t/2),o=1/(n-i);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(i+n)*o,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*i*n*o,e[15]=0,e}});var $te=ye((Oer,Jte)=>{Jte.exports=itt;function itt(e,t,r,n){var i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return e[0]=l,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=u,e[6]=0,e[7]=0,e[8]=-((o-s)*l*.5),e[9]=(i-a)*u*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}});var ere=ye((Ber,Qte)=>{Qte.exports=ntt;function ntt(e,t,r,n,i,a,o){var s=1/(t-r),l=1/(n-i),u=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*l,e[14]=(o+a)*u,e[15]=1,e}});var rre=ye((Ner,tre)=>{var att=Cq();tre.exports=ott;function ott(e,t,r,n){var i,a,o,s,l,u,c,f,h,d,v=t[0],x=t[1],b=t[2],p=n[0],E=n[1],k=n[2],A=r[0],L=r[1],_=r[2];return Math.abs(v-A)<1e-6&&Math.abs(x-L)<1e-6&&Math.abs(b-_)<1e-6?att(e):(c=v-A,f=x-L,h=b-_,d=1/Math.sqrt(c*c+f*f+h*h),c*=d,f*=d,h*=d,i=E*h-k*f,a=k*c-p*h,o=p*f-E*c,d=Math.sqrt(i*i+a*a+o*o),d?(d=1/d,i*=d,a*=d,o*=d):(i=0,a=0,o=0),s=f*o-h*a,l=h*i-c*o,u=c*a-f*i,d=Math.sqrt(s*s+l*l+u*u),d?(d=1/d,s*=d,l*=d,u*=d):(s=0,l=0,u=0),e[0]=i,e[1]=s,e[2]=c,e[3]=0,e[4]=a,e[5]=l,e[6]=f,e[7]=0,e[8]=o,e[9]=u,e[10]=h,e[11]=0,e[12]=-(i*v+a*x+o*b),e[13]=-(s*v+l*x+u*b),e[14]=-(c*v+f*x+h*b),e[15]=1,e)}});var nre=ye((Uer,ire)=>{ire.exports=stt;function stt(e){return\"mat4(\"+e[0]+\", \"+e[1]+\", \"+e[2]+\", \"+e[3]+\", \"+e[4]+\", \"+e[5]+\", \"+e[6]+\", \"+e[7]+\", \"+e[8]+\", \"+e[9]+\", \"+e[10]+\", \"+e[11]+\", \"+e[12]+\", \"+e[13]+\", \"+e[14]+\", \"+e[15]+\")\"}});var Pq=ye((Ver,are)=>{are.exports={create:nte(),clone:ote(),copy:lte(),identity:Cq(),transpose:fte(),invert:dte(),adjoint:pte(),determinant:mte(),multiply:_te(),translate:bte(),scale:Tte(),rotate:Ste(),rotateX:Ete(),rotateY:Cte(),rotateZ:Pte(),fromRotation:Rte(),fromRotationTranslation:zte(),fromScaling:qte(),fromTranslation:Bte(),fromXRotation:Ute(),fromYRotation:Hte(),fromZRotation:jte(),fromQuat:Lq(),frustum:Xte(),perspective:Kte(),perspectiveFromFieldOfView:$te(),ortho:ere(),lookAt:rre(),str:nre()}});var m6=ye(Xf=>{\"use strict\";var ltt=Pq();Xf.init2dArray=function(e,t){for(var r=new Array(e),n=0;n<e;n++)r[n]=new Array(t);return r};Xf.transposeRagged=function(e){var t=0,r=e.length,n,i;for(n=0;n<r;n++)t=Math.max(t,e[n].length);var a=new Array(t);for(n=0;n<t;n++)for(a[n]=new Array(r),i=0;i<r;i++)a[n][i]=e[i][n];return a};Xf.dot=function(e,t){if(!(e.length&&t.length)||e.length!==t.length)return null;var r=e.length,n,i;if(e[0].length)for(n=new Array(r),i=0;i<r;i++)n[i]=Xf.dot(e[i],t);else if(t[0].length){var a=Xf.transposeRagged(t);for(n=new Array(a.length),i=0;i<a.length;i++)n[i]=Xf.dot(e,a[i])}else for(n=0,i=0;i<r;i++)n+=e[i]*t[i];return n};Xf.translationMatrix=function(e,t){return[[1,0,e],[0,1,t],[0,0,1]]};Xf.rotationMatrix=function(e){var t=e*Math.PI/180;return[[Math.cos(t),-Math.sin(t),0],[Math.sin(t),Math.cos(t),0],[0,0,1]]};Xf.rotationXYMatrix=function(e,t,r){return Xf.dot(Xf.dot(Xf.translationMatrix(t,r),Xf.rotationMatrix(e)),Xf.translationMatrix(-t,-r))};Xf.apply3DTransform=function(e){return function(){var t=arguments,r=arguments.length===1?t[0]:[t[0],t[1],t[2]||0];return Xf.dot(e,[r[0],r[1],r[2],1]).slice(0,3)}};Xf.apply2DTransform=function(e){return function(){var t=arguments;t.length===3&&(t=t[0]);var r=arguments.length===1?t[0]:[t[0],t[1]];return Xf.dot(e,[r[0],r[1],1]).slice(0,2)}};Xf.apply2DTransform2=function(e){var t=Xf.apply2DTransform(e);return function(r){return t(r.slice(0,2)).concat(t(r.slice(2,4)))}};Xf.convertCssMatrix=function(e){if(e){var t=e.length;if(t===16)return e;if(t===6)return[e[0],e[1],0,0,e[2],e[3],0,0,0,0,1,0,e[4],e[5],0,1]}return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]};Xf.inverseTransformMatrix=function(e){var t=[];return ltt.invert(t,e),[[t[0],t[1],t[2],t[3]],[t[4],t[5],t[6],t[7]],[t[8],t[9],t[10],t[11]],[t[12],t[13],t[14],t[15]]]}});var DS=ye((Ger,fre)=>{\"use strict\";var utt=xa(),ore=G1(),ctt=m6(),ftt=Pq();function htt(e){var t;if(typeof e==\"string\"){if(t=document.getElementById(e),t===null)throw new Error(\"No DOM element with id '\"+e+\"' exists on the page.\");return t}else if(e==null)throw new Error(\"DOM element provided is null or undefined\");return e}function dtt(e){var t=utt.select(e);return t.node()instanceof HTMLElement&&t.size()&&t.classed(\"js-plotly-plot\")}function sre(e){var t=e&&e.parentNode;t&&t.removeChild(e)}function vtt(e,t){lre(\"global\",e,t)}function lre(e,t,r){var n=\"plotly.js-style-\"+e,i=document.getElementById(n);if(!(i&&i.matches(\".no-inline-styles\"))){i||(i=document.createElement(\"style\"),i.setAttribute(\"id\",n),i.appendChild(document.createTextNode(\"\")),document.head.appendChild(i));var a=i.sheet;a?a.insertRule?a.insertRule(t+\"{\"+r+\"}\",0):a.addRule?a.addRule(t,r,0):ore.warn(\"addStyleRule failed\"):ore.warn(\"Cannot addRelatedStyleRule, probably due to strict CSP...\")}}function ptt(e){var t=\"plotly.js-style-\"+e,r=document.getElementById(t);r&&sre(r)}function gtt(e,t,r,n,i,a){var o=n.split(\":\"),s=i.split(\":\"),l=\"data-btn-style-event-added\";a||(a=document),a.querySelectorAll(e).forEach(function(u){u.getAttribute(l)||(u.addEventListener(\"mouseenter\",function(){var c=this.querySelector(r);c&&(c.style[o[0]]=o[1])}),u.addEventListener(\"mouseleave\",function(){var c=this.querySelector(r);c&&(t&&this.matches(t)?c.style[o[0]]=o[1]:c.style[s[0]]=s[1])}),u.setAttribute(l,!0))})}function mtt(e){var t=cre(e),r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return t.forEach(function(n){var i=ure(n);if(i){var a=ctt.convertCssMatrix(i);r=ftt.multiply(r,r,a)}}),r}function ure(e){var t=window.getComputedStyle(e,null),r=t.getPropertyValue(\"-webkit-transform\")||t.getPropertyValue(\"-moz-transform\")||t.getPropertyValue(\"-ms-transform\")||t.getPropertyValue(\"-o-transform\")||t.getPropertyValue(\"transform\");return r===\"none\"?null:r.replace(\"matrix\",\"\").replace(\"3d\",\"\").slice(1,-1).split(\",\").map(function(n){return+n})}function cre(e){for(var t=[];ytt(e);)t.push(e),e=e.parentNode,typeof ShadowRoot==\"function\"&&e instanceof ShadowRoot&&(e=e.host);return t}function ytt(e){return e&&(e instanceof Element||e instanceof HTMLElement)}function _tt(e,t){return e&&t&&e.top===t.top&&e.left===t.left&&e.right===t.right&&e.bottom===t.bottom}fre.exports={getGraphDiv:htt,isPlotDiv:dtt,removeElement:sre,addStyleRule:vtt,addRelatedStyleRule:lre,deleteRelatedStyleRule:ptt,setStyleOnHover:gtt,getFullTransformMatrix:mtt,getElementTransformMatrix:ure,getElementAndAncestors:cre,equalDomRects:_tt}});var zS=ye((jer,hre)=>{\"use strict\";hre.exports={mode:{valType:\"enumerated\",dflt:\"afterall\",values:[\"immediate\",\"next\",\"afterall\"]},direction:{valType:\"enumerated\",values:[\"forward\",\"reverse\"],dflt:\"forward\"},fromcurrent:{valType:\"boolean\",dflt:!1},frame:{duration:{valType:\"number\",min:0,dflt:500},redraw:{valType:\"boolean\",dflt:!0}},transition:{duration:{valType:\"number\",min:0,dflt:500,editType:\"none\"},easing:{valType:\"enumerated\",dflt:\"cubic-in-out\",values:[\"linear\",\"quad\",\"cubic\",\"sin\",\"exp\",\"circle\",\"elastic\",\"back\",\"bounce\",\"linear-in\",\"quad-in\",\"cubic-in\",\"sin-in\",\"exp-in\",\"circle-in\",\"elastic-in\",\"back-in\",\"bounce-in\",\"linear-out\",\"quad-out\",\"cubic-out\",\"sin-out\",\"exp-out\",\"circle-out\",\"elastic-out\",\"back-out\",\"bounce-out\",\"linear-in-out\",\"quad-in-out\",\"cubic-in-out\",\"sin-in-out\",\"exp-in-out\",\"circle-in-out\",\"elastic-in-out\",\"back-in-out\",\"bounce-in-out\"],editType:\"none\"},ordering:{valType:\"enumerated\",values:[\"layout first\",\"traces first\"],dflt:\"layout first\",editType:\"none\"}}}});var Bu=ye((Wer,_re)=>{\"use strict\";var vre=no().extendFlat,xtt=gy(),pre={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"clearAxisTypes\",\"plot\",\"style\",\"markerSize\",\"colorbars\"]},gre={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"plot\",\"legend\",\"ticks\",\"axrange\",\"layoutstyle\",\"modebar\",\"camera\",\"arraydraw\",\"colorbars\"]},btt=pre.flags.slice().concat([\"fullReplot\"]),wtt=gre.flags.slice().concat(\"layoutReplot\");_re.exports={traces:pre,layout:gre,traceFlags:function(){return dre(btt)},layoutFlags:function(){return dre(wtt)},update:function(e,t){var r=t.editType;if(r&&r!==\"none\")for(var n=r.split(\"+\"),i=0;i<n.length;i++)e[n[i]]=!0},overrideAll:mre};function dre(e){for(var t={},r=0;r<e.length;r++)t[e[r]]=!1;return t}function mre(e,t,r){var n=vre({},e);for(var i in n){var a=n[i];xtt(a)&&(n[i]=yre(a,t,r,i))}return r===\"from-root\"&&(n.editType=t),n}function yre(e,t,r,n){if(e.valType){var i=vre({},e);if(i.editType=t,Array.isArray(e.items)){i.items=new Array(e.items.length);for(var a=0;a<e.items.length;a++)i.items[a]=yre(e.items[a],t,\"from-root\")}return i}else return mre(e,t,n.charAt(0)===\"_\"?\"nested\":\"from-root\")}});var Ed=ye(Iq=>{\"use strict\";Iq.dash={valType:\"string\",values:[\"solid\",\"dot\",\"dash\",\"longdash\",\"dashdot\",\"longdashdot\"],dflt:\"solid\",editType:\"style\"};Iq.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\"}});var Rq=ye((Xer,xre)=>{\"use strict\";xre.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\"}});var Wo=ye(y6=>{\"use strict\";var bre=Rq(),Yer=bre.FORMAT_LINK,Ker=bre.DATE_FORMAT_LINK;function Dq(e){var t=e.description?\" \"+e.description:\"\",r=e.keys||[];if(r.length>0){for(var n=[],i=0;i<r.length;i++)n[i]=\"`\"+r[i]+\"`\";t=t+\"Finally, the template string has access to \",r.length===1?t=t+\"variable \"+n[0]:t=t+\"variables \"+n.slice(0,-1).join(\", \")+\" and \"+n.slice(-1)+\".\"}return t}y6.hovertemplateAttrs=function(e,t){e=e||{},t=t||{};var r=Dq(t),n={valType:\"string\",dflt:\"\",editType:e.editType||\"none\"};return e.arrayOk!==!1&&(n.arrayOk=!0),n};y6.texttemplateAttrs=function(e,t){e=e||{},t=t||{};var r=Dq(t),n={valType:\"string\",dflt:\"\",editType:e.editType||\"calc\"};return e.arrayOk!==!1&&(n.arrayOk=!0),n};y6.shapeTexttemplateAttrs=function(e,t){e=e||{},t=t||{};var r=e.newshape?\"new \":\"\",n=Dq(t),i={valType:\"string\",dflt:\"\",editType:e.editType||\"arraydraw\"};return i}});var b6=ye(($er,Ere)=>{\"use strict\";function j1(e,t){return t?t.d2l(e):e}function wre(e,t){return t?t.l2d(e):e}function Ttt(e){return e.x0}function Att(e){return e.x1}function Stt(e){return e.y0}function Mtt(e){return e.y1}function Tre(e){return e.x0shift||0}function Are(e){return e.x1shift||0}function Sre(e){return e.y0shift||0}function Mre(e){return e.y1shift||0}function _6(e,t){return j1(e.x1,t)+Are(e)-j1(e.x0,t)-Tre(e)}function x6(e,t,r){return j1(e.y1,r)+Mre(e)-j1(e.y0,r)-Sre(e)}function Ett(e,t){return Math.abs(_6(e,t))}function ktt(e,t,r){return Math.abs(x6(e,t,r))}function Ctt(e,t,r){return e.type!==\"line\"?void 0:Math.sqrt(Math.pow(_6(e,t),2)+Math.pow(x6(e,t,r),2))}function Ltt(e,t){return wre((j1(e.x1,t)+Are(e)+j1(e.x0,t)+Tre(e))/2,t)}function Ptt(e,t,r){return wre((j1(e.y1,r)+Mre(e)+j1(e.y0,r)+Sre(e))/2,r)}function Itt(e,t,r){return e.type!==\"line\"?void 0:x6(e,t,r)/_6(e,t)}Ere.exports={x0:Ttt,x1:Att,y0:Stt,y1:Mtt,slope:Itt,dx:_6,dy:x6,width:Ett,height:ktt,length:Ctt,xcenter:Ltt,ycenter:Ptt}});var Lre=ye((Qer,Cre)=>{\"use strict\";var Rtt=Bu().overrideAll,cb=vl(),kre=Su(),Dtt=Ed().dash,W1=no().extendFlat,ztt=Wo().shapeTexttemplateAttrs,Ftt=b6();Cre.exports=Rtt({newshape:{visible:W1({},cb.visible,{}),showlegend:{valType:\"boolean\",dflt:!1},legend:W1({},cb.legend,{}),legendgroup:W1({},cb.legendgroup,{}),legendgrouptitle:{text:W1({},cb.legendgrouptitle.text,{}),font:kre({})},legendrank:W1({},cb.legendrank,{}),legendwidth:W1({},cb.legendwidth,{}),line:{color:{valType:\"color\"},width:{valType:\"number\",min:0,dflt:4},dash:W1({},Dtt,{dflt:\"solid\"})},fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},fillrule:{valType:\"enumerated\",values:[\"evenodd\",\"nonzero\"],dflt:\"evenodd\"},opacity:{valType:\"number\",min:0,max:1,dflt:1},layer:{valType:\"enumerated\",values:[\"below\",\"above\",\"between\"],dflt:\"above\"},drawdirection:{valType:\"enumerated\",values:[\"ortho\",\"horizontal\",\"vertical\",\"diagonal\"],dflt:\"diagonal\"},name:W1({},cb.name,{}),label:{text:{valType:\"string\",dflt:\"\"},texttemplate:ztt({newshape:!0},{keys:Object.keys(Ftt)}),font:kre({}),textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\",\"start\",\"middle\",\"end\"]},textangle:{valType:\"angle\",dflt:\"auto\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"]},padding:{valType:\"number\",dflt:3,min:0}}},activeshape:{fillcolor:{valType:\"color\",dflt:\"rgb(255,0,255)\"},opacity:{valType:\"number\",min:0,max:1,dflt:.5}}},\"none\",\"from-root\")});var Ire=ye((etr,Pre)=>{\"use strict\";var qtt=Ed().dash,Ott=no().extendFlat;Pre.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:Ott({},qtt,{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\"}}});var w6=ye((ttr,Rre)=>{\"use strict\";Rre.exports=function(e){var t=e.editType;return{t:{valType:\"number\",dflt:0,editType:t},r:{valType:\"number\",dflt:0,editType:t},b:{valType:\"number\",dflt:0,editType:t},l:{valType:\"number\",dflt:0,editType:t},editType:t}}});var s3=ye((rtr,qre)=>{\"use strict\";var zq=Su(),Btt=zS(),T6=dh(),Dre=Lre(),zre=Ire(),Ntt=w6(),Fre=no().extendFlat,A6=zq({editType:\"calc\"});A6.family.dflt='\"Open Sans\", verdana, arial, sans-serif';A6.size.dflt=12;A6.color.dflt=T6.defaultLine;qre.exports={font:A6,title:{text:{valType:\"string\",editType:\"layoutstyle\"},font:zq({editType:\"layoutstyle\"}),subtitle:{text:{valType:\"string\",editType:\"layoutstyle\"},font:zq({editType:\"layoutstyle\"}),editType:\"layoutstyle\"},xref:{valType:\"enumerated\",dflt:\"container\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},yref:{valType:\"enumerated\",dflt:\"container\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},x:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"layoutstyle\"},y:{valType:\"number\",min:0,max:1,dflt:\"auto\",editType:\"layoutstyle\"},xanchor:{valType:\"enumerated\",dflt:\"auto\",values:[\"auto\",\"left\",\"center\",\"right\"],editType:\"layoutstyle\"},yanchor:{valType:\"enumerated\",dflt:\"auto\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],editType:\"layoutstyle\"},pad:Fre(Ntt({editType:\"layoutstyle\"}),{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},editType:\"layoutstyle\"},uniformtext:{mode:{valType:\"enumerated\",values:[!1,\"hide\",\"show\"],dflt:!1,editType:\"plot\"},minsize:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"},autosize:{valType:\"boolean\",dflt:!1,editType:\"none\"},width:{valType:\"number\",min:10,dflt:700,editType:\"plot\"},height:{valType:\"number\",min:10,dflt:450,editType:\"plot\"},minreducedwidth:{valType:\"number\",min:2,dflt:64,editType:\"plot\"},minreducedheight:{valType:\"number\",min:2,dflt:64,editType:\"plot\"},margin:{l:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},r:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},t:{valType:\"number\",min:0,dflt:100,editType:\"plot\"},b:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},autoexpand:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},computed:{valType:\"any\",editType:\"none\"},paper_bgcolor:{valType:\"color\",dflt:T6.background,editType:\"plot\"},plot_bgcolor:{valType:\"color\",dflt:T6.background,editType:\"layoutstyle\"},autotypenumbers:{valType:\"enumerated\",values:[\"convert types\",\"strict\"],dflt:\"convert types\",editType:\"calc\"},separators:{valType:\"string\",editType:\"plot\"},hidesources:{valType:\"boolean\",dflt:!1,editType:\"plot\"},showlegend:{valType:\"boolean\",editType:\"legend\"},colorway:{valType:\"colorlist\",dflt:T6.defaults,editType:\"calc\"},datarevision:{valType:\"any\",editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"},editrevision:{valType:\"any\",editType:\"none\"},selectionrevision:{valType:\"any\",editType:\"none\"},template:{valType:\"any\",editType:\"calc\"},newshape:Dre.newshape,activeshape:Dre.activeshape,newselection:zre.newselection,activeselection:zre.activeselection,meta:{valType:\"any\",arrayOk:!0,editType:\"plot\"},transition:Fre({},Btt.transition,{editType:\"none\"})}});var Ore=Ll(()=>{});var Utt={};var Bre=Ll(()=>{Ore()});var ba=ye(qs=>{\"use strict\";var l3=G1(),Nre=g6(),Ure=kq(),Vtt=gy(),Htt=DS().addStyleRule,Vre=no(),Gtt=vl(),jtt=s3(),Wtt=Vre.extendFlat,Fq=Vre.extendDeepAll;qs.modules={};qs.allCategories={};qs.allTypes=[];qs.subplotsRegistry={};qs.componentsRegistry={};qs.layoutArrayContainers=[];qs.layoutArrayRegexes=[];qs.traceLayoutAttributes={};qs.localeRegistry={};qs.apiMethodRegistry={};qs.collectableSubplotTypes=null;qs.register=function(t){if(qs.collectableSubplotTypes=null,t)t&&!Array.isArray(t)&&(t=[t]);else throw new Error(\"No argument passed to Plotly.register.\");for(var r=0;r<t.length;r++){var n=t[r];if(!n)throw new Error(\"Invalid module was attempted to be registered!\");switch(n.moduleType){case\"trace\":Ztt(n);break;case\"transform\":Ktt(n);break;case\"component\":Ytt(n);break;case\"locale\":Jtt(n);break;case\"apiMethod\":var i=n.name;qs.apiMethodRegistry[i]=n.fn;break;default:throw new Error(\"Invalid module was attempted to be registered!\")}}};qs.getModule=function(e){var t=qs.modules[Wre(e)];return t?t._module:!1};qs.traceIs=function(e,t){if(e=Wre(e),e===\"various\")return!1;var r=qs.modules[e];return r||(e&&l3.log(\"Unrecognized trace type \"+e+\".\"),r=qs.modules[Gtt.type.dflt]),!!r.categories[t]};qs.getComponentMethod=function(e,t){var r=qs.componentsRegistry[e];return r&&r[t]||Nre};qs.call=function(){var e=arguments[0],t=[].slice.call(arguments,1);return qs.apiMethodRegistry[e].apply(null,t)};function Ztt(e){var t=e.name,r=e.categories,n=e.meta;if(qs.modules[t]){l3.log(\"Type \"+t+\" already registered\");return}qs.subplotsRegistry[e.basePlotModule.name]||Xtt(e.basePlotModule);for(var i={},a=0;a<r.length;a++)i[r[a]]=!0,qs.allCategories[r[a]]=!0;qs.modules[t]={_module:e,categories:i},n&&Object.keys(n).length&&(qs.modules[t].meta=n),qs.allTypes.push(t);for(var o in qs.componentsRegistry)Gre(o,t);e.layoutAttributes&&Wtt(qs.traceLayoutAttributes,e.layoutAttributes);var s=e.basePlotModule,l=s.name;if(l===\"mapbox\"){var u=s.constants.styleRules;for(var c in u)Htt(\".js-plotly-plot .plotly .mapboxgl-\"+c,u[c])}l===\"map\"&&(Bre(),B1(Utt)),(l===\"geo\"||l===\"mapbox\"||l===\"map\")&&window.PlotlyGeoAssets===void 0&&(window.PlotlyGeoAssets={topojson:{}})}function Xtt(e){var t=e.name;if(qs.subplotsRegistry[t]){l3.log(\"Plot type \"+t+\" already registered.\");return}Hre(e),qs.subplotsRegistry[t]=e;for(var r in qs.componentsRegistry)jre(r,e.name)}function Ytt(e){if(typeof e.name!=\"string\")throw new Error(\"Component module *name* must be a string.\");var t=e.name;qs.componentsRegistry[t]=e,e.layoutAttributes&&(e.layoutAttributes._isLinkedToArray&&Ure(qs.layoutArrayContainers,t),Hre(e));for(var r in qs.modules)Gre(t,r);for(var n in qs.subplotsRegistry)jre(t,n);e.schema&&e.schema.layout&&Fq(jtt,e.schema.layout)}function Ktt(e){if(typeof e.name!=\"string\")throw new Error(\"Transform module *name* must be a string.\");var t=\"Transform module \"+e.name,r=typeof e.transform==\"function\",n=typeof e.calcTransform==\"function\";if(!r&&!n)throw new Error(t+\" is missing a *transform* or *calcTransform* method.\");r&&n&&l3.log([t+\" has both a *transform* and *calcTransform* methods.\",\"Please note that all *transform* methods are executed\",\"before all *calcTransform* methods.\"].join(\" \")),Vtt(e.attributes)||l3.log(t+\" registered without an *attributes* object.\"),typeof e.supplyDefaults!=\"function\"&&l3.log(t+\" registered without a *supplyDefaults* method.\")}function Jtt(e){var t=e.name,r=t.split(\"-\")[0],n=e.dictionary,i=e.format,a=n&&Object.keys(n).length,o=i&&Object.keys(i).length,s=qs.localeRegistry,l=s[t];if(l||(s[t]=l={}),r!==t){var u=s[r];u||(s[r]=u={}),a&&u.dictionary===l.dictionary&&(u.dictionary=n),o&&u.format===l.format&&(u.format=i)}a&&(l.dictionary=n),o&&(l.format=i)}function Hre(e){if(e.layoutAttributes){var t=e.layoutAttributes._arrayAttrRegexps;if(t)for(var r=0;r<t.length;r++)Ure(qs.layoutArrayRegexes,t[r])}}function Gre(e,t){var r=qs.componentsRegistry[e].schema;if(!(!r||!r.traces)){var n=r.traces[t];n&&Fq(qs.modules[t]._module.attributes,n)}}function jre(e,t){var r=qs.componentsRegistry[e].schema;if(!(!r||!r.subplots)){var n=qs.subplotsRegistry[t],i=n.layoutAttributes,a=n.attr===\"subplot\"?n.name:n.attr;Array.isArray(a)&&(a=a[0]);var o=r.subplots[a];i&&o&&Fq(i,o)}}function Wre(e){return typeof e==\"object\"&&(e=e.type),e}});var tie=ye(Yf=>{\"use strict\";var $tt=e3().timeFormat,Qre=uo(),qq=G1(),X1=r3().mod,f3=es(),_0=f3.BADNUM,wp=f3.ONEDAY,FS=f3.ONEHOUR,Z1=f3.ONEMIN,c3=f3.ONESEC,qS=f3.EPOCHJD,my=ba(),Zre=e3().utcFormat,Qtt=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\d)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d(:?\\d\\d)?)?)?)?)?)?\\s*$/m,ert=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\di?)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d(:?\\d\\d)?)?)?)?)?)?\\s*$/m,Xre=new Date().getFullYear()-70;function yy(e){return e&&my.componentsRegistry.calendars&&typeof e==\"string\"&&e!==\"gregorian\"}Yf.dateTick0=function(e,t){var r=trt(e,!!t);if(t<2)return r;var n=Yf.dateTime2ms(r,e);return n+=wp*(t-1),Yf.ms2DateTime(n,0,e)};function trt(e,t){return yy(e)?t?my.getComponentMethod(\"calendars\",\"CANONICAL_SUNDAY\")[e]:my.getComponentMethod(\"calendars\",\"CANONICAL_TICK\")[e]:t?\"2000-01-02\":\"2000-01-01\"}Yf.dfltRange=function(e){return yy(e)?my.getComponentMethod(\"calendars\",\"DFLTRANGE\")[e]:[\"2000-01-01\",\"2001-01-01\"]};Yf.isJSDate=function(e){return typeof e==\"object\"&&e!==null&&typeof e.getTime==\"function\"};var M6,E6;Yf.dateTime2ms=function(e,t){if(Yf.isJSDate(e)){var r=e.getTimezoneOffset()*Z1,n=(e.getUTCMinutes()-e.getMinutes())*Z1+(e.getUTCSeconds()-e.getSeconds())*c3+(e.getUTCMilliseconds()-e.getMilliseconds());if(n){var i=3*Z1;r=r-i/2+X1(n-r+i/2,i)}return e=Number(e)-r,e>=M6&&e<=E6?e:_0}if(typeof e!=\"string\"&&typeof e!=\"number\")return _0;e=String(e);var a=yy(t),o=e.charAt(0);a&&(o===\"G\"||o===\"g\")&&(e=e.substr(1),t=\"\");var s=a&&t.substr(0,7)===\"chinese\",l=e.match(s?ert:Qtt);if(!l)return _0;var u=l[1],c=l[3]||\"1\",f=Number(l[5]||1),h=Number(l[7]||0),d=Number(l[9]||0),v=Number(l[11]||0);if(a){if(u.length===2)return _0;u=Number(u);var x;try{var b=my.getComponentMethod(\"calendars\",\"getCal\")(t);if(s){var p=c.charAt(c.length-1)===\"i\";c=parseInt(c,10),x=b.newDate(u,b.toMonthIndex(u,c,p),f)}else x=b.newDate(u,Number(c),f)}catch(k){return _0}return x?(x.toJD()-qS)*wp+h*FS+d*Z1+v*c3:_0}u.length===2?u=(Number(u)+2e3-Xre)%100+Xre:u=Number(u),c-=1;var E=new Date(Date.UTC(2e3,c,f,h,d));return E.setUTCFullYear(u),E.getUTCMonth()!==c||E.getUTCDate()!==f?_0:E.getTime()+v*c3};M6=Yf.MIN_MS=Yf.dateTime2ms(\"-9999\");E6=Yf.MAX_MS=Yf.dateTime2ms(\"9999-12-31 23:59:59.9999\");Yf.isDateTime=function(e,t){return Yf.dateTime2ms(e,t)!==_0};function u3(e,t){return String(e+Math.pow(10,t)).substr(1)}var S6=90*wp,Yre=3*FS,Kre=5*Z1;Yf.ms2DateTime=function(e,t,r){if(typeof e!=\"number\"||!(e>=M6&&e<=E6))return _0;t||(t=0);var n=Math.floor(X1(e+.05,1)*10),i=Math.round(e-n/10),a,o,s,l,u,c;if(yy(r)){var f=Math.floor(i/wp)+qS,h=Math.floor(X1(e,wp));try{a=my.getComponentMethod(\"calendars\",\"getCal\")(r).fromJD(f).formatDate(\"yyyy-mm-dd\")}catch(d){a=Zre(\"G%Y-%m-%d\")(new Date(i))}if(a.charAt(0)===\"-\")for(;a.length<11;)a=\"-0\"+a.substr(1);else for(;a.length<10;)a=\"0\"+a;o=t<S6?Math.floor(h/FS):0,s=t<S6?Math.floor(h%FS/Z1):0,l=t<Yre?Math.floor(h%Z1/c3):0,u=t<Kre?h%c3*10+n:0}else c=new Date(i),a=Zre(\"%Y-%m-%d\")(c),o=t<S6?c.getUTCHours():0,s=t<S6?c.getUTCMinutes():0,l=t<Yre?c.getUTCSeconds():0,u=t<Kre?c.getUTCMilliseconds()*10+n:0;return eie(a,o,s,l,u)};Yf.ms2DateTimeLocal=function(e){if(!(e>=M6+wp&&e<=E6-wp))return _0;var t=Math.floor(X1(e+.05,1)*10),r=new Date(Math.round(e-t/10)),n=$tt(\"%Y-%m-%d\")(r),i=r.getHours(),a=r.getMinutes(),o=r.getSeconds(),s=r.getUTCMilliseconds()*10+t;return eie(n,i,a,o,s)};function eie(e,t,r,n,i){if((t||r||n||i)&&(e+=\" \"+u3(t,2)+\":\"+u3(r,2),(n||i)&&(e+=\":\"+u3(n,2),i))){for(var a=4;i%10===0;)a-=1,i/=10;e+=\".\"+u3(i,a)}return e}Yf.cleanDate=function(e,t,r){if(e===_0)return t;if(Yf.isJSDate(e)||typeof e==\"number\"&&isFinite(e)){if(yy(r))return qq.error(\"JS Dates and milliseconds are incompatible with world calendars\",e),t;if(e=Yf.ms2DateTimeLocal(+e),!e&&t!==void 0)return t}else if(!Yf.isDateTime(e,r))return qq.error(\"unrecognized date\",e),t;return e};var rrt=/%\\d?f/g,irt=/%h/g,nrt={1:\"1\",2:\"1\",3:\"2\",4:\"2\"};function Jre(e,t,r,n){e=e.replace(rrt,function(a){var o=Math.min(+a.charAt(1)||6,6),s=(t/1e3%1+2).toFixed(o).substr(2).replace(/0+$/,\"\")||\"0\";return s});var i=new Date(Math.floor(t+.05));if(e=e.replace(irt,function(){return nrt[r(\"%q\")(i)]}),yy(n))try{e=my.getComponentMethod(\"calendars\",\"worldCalFmt\")(e,t,n)}catch(a){return\"Invalid\"}return r(e)(i)}var art=[59,59.9,59.99,59.999,59.9999];function ort(e,t){var r=X1(e+.05,wp),n=u3(Math.floor(r/FS),2)+\":\"+u3(X1(Math.floor(r/Z1),60),2);if(t!==\"M\"){Qre(t)||(t=0);var i=Math.min(X1(e/c3,60),art[t]),a=(100+i).toFixed(t).substr(1);t>0&&(a=a.replace(/0+$/,\"\").replace(/[\\.]$/,\"\")),n+=\":\"+a}return n}Yf.formatDate=function(e,t,r,n,i,a){if(i=yy(i)&&i,!t)if(r===\"y\")t=a.year;else if(r===\"m\")t=a.month;else if(r===\"d\")t=a.dayMonth+`\n", - "`+a.year;else return ort(e,r)+`\n", - "`+Jre(a.dayMonthYear,e,n,i);return Jre(t,e,n,i)};var $re=3*wp;Yf.incrementMonth=function(e,t,r){r=yy(r)&&r;var n=X1(e,wp);if(e=Math.round(e-n),r)try{var i=Math.round(e/wp)+qS,a=my.getComponentMethod(\"calendars\",\"getCal\")(r),o=a.fromJD(i);return t%12?a.add(o,t,\"m\"):a.add(o,t/12,\"y\"),(o.toJD()-qS)*wp+n}catch(l){qq.error(\"invalid ms \"+e+\" in calendar \"+r)}var s=new Date(e+$re);return s.setUTCMonth(s.getUTCMonth()+t)+n-$re};Yf.findExactDates=function(e,t){for(var r=0,n=0,i=0,a=0,o,s,l=yy(t)&&my.getComponentMethod(\"calendars\",\"getCal\")(t),u=0;u<e.length;u++){if(s=e[u],!Qre(s)){a++;continue}if(!(s%wp))if(l)try{o=l.fromJD(s/wp+qS),o.day()===1?o.month()===1?r++:n++:i++}catch(f){}else o=new Date(s),o.getUTCDate()===1?o.getUTCMonth()===0?r++:n++:i++}n+=r,i+=n;var c=e.length-a;return{exactYears:r/c,exactMonths:n/c,exactDays:i/c}}});var OS=ye((ltr,rie)=>{\"use strict\";rie.exports=function(t){return t}});var k6=ye(_y=>{\"use strict\";var srt=uo(),lrt=G1(),urt=OS(),crt=es().BADNUM,Oq=1e-9;_y.findBin=function(e,t,r){if(srt(t.start))return r?Math.ceil((e-t.start)/t.size-Oq)-1:Math.floor((e-t.start)/t.size+Oq);var n=0,i=t.length,a=0,o=i>1?(t[i-1]-t[0])/(i-1):1,s,l;for(o>=0?l=r?frt:hrt:l=r?vrt:drt,e+=o*Oq*(r?-1:1)*(o>=0?1:-1);n<i&&a++<100;)s=Math.floor((n+i)/2),l(t[s],e)?n=s+1:i=s;return a>90&&lrt.log(\"Long binary search...\"),n-1};function frt(e,t){return e<t}function hrt(e,t){return e<=t}function drt(e,t){return e>t}function vrt(e,t){return e>=t}_y.sorterAsc=function(e,t){return e-t};_y.sorterDes=function(e,t){return t-e};_y.distinctVals=function(e){var t=e.slice();t.sort(_y.sorterAsc);var r;for(r=t.length-1;r>-1&&t[r]===crt;r--);for(var n=t[r]-t[0]||1,i=n/(r||1)/1e4,a=[],o,s=0;s<=r;s++){var l=t[s],u=l-o;o===void 0?(a.push(l),o=l):u>i&&(n=Math.min(n,u),a.push(l),o=l)}return{vals:a,minDiff:n}};_y.roundUp=function(e,t,r){for(var n=0,i=t.length-1,a,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;n<i&&o++<100;)a=u((n+i)/2),t[a]<=e?n=a+s:i=a-l;return t[n]};_y.sort=function(e,t){for(var r=0,n=0,i=1;i<e.length;i++){var a=t(e[i],e[i-1]);if(a<0?r=1:a>0&&(n=1),r&&n)return e.sort(t)}return n?e:e.reverse()};_y.findIndexOfMin=function(e,t){t=t||urt;for(var r=1/0,n,i=0;i<e.length;i++){var a=t(e[i]);a<r&&(r=a,n=i)}return n}});var Y1=ye((ctr,iie)=>{\"use strict\";iie.exports=function(t){return Object.keys(t).sort()}});var nie=ye(Kf=>{\"use strict\";var BS=uo(),prt=vv().isArrayOrTypedArray;Kf.aggNums=function(e,t,r,n){var i,a;if((!n||n>r.length)&&(n=r.length),BS(t)||(t=!1),prt(r[0])){for(a=new Array(n),i=0;i<n;i++)a[i]=Kf.aggNums(e,t,r[i]);r=a}for(i=0;i<n;i++)BS(t)?BS(r[i])&&(t=e(+t,+r[i])):t=r[i];return t};Kf.len=function(e){return Kf.aggNums(function(t){return t+1},0,e)};Kf.mean=function(e,t){return t||(t=Kf.len(e)),Kf.aggNums(function(r,n){return r+n},0,e)/t};Kf.geometricMean=function(e,t){return t||(t=Kf.len(e)),Math.pow(Kf.aggNums(function(r,n){return r*n},1,e),1/t)};Kf.midRange=function(e){if(!(e===void 0||e.length===0))return(Kf.aggNums(Math.max,null,e)+Kf.aggNums(Math.min,null,e))/2};Kf.variance=function(e,t,r){return t||(t=Kf.len(e)),BS(r)||(r=Kf.mean(e,t)),Kf.aggNums(function(n,i){return n+Math.pow(i-r,2)},0,e)/t};Kf.stdev=function(e,t,r){return Math.sqrt(Kf.variance(e,t,r))};Kf.median=function(e){var t=e.slice().sort();return Kf.interp(t,.5)};Kf.interp=function(e,t){if(!BS(t))throw\"n should be a finite number\";if(t=t*e.length-.5,t<0)return e[0];if(t>e.length-1)return e[e.length-1];var r=t%1;return r*e[Math.ceil(t)]+(1-r)*e[Math.floor(t)]}});var uie=ye((htr,lie)=>{\"use strict\";var aie=r3(),Bq=aie.mod,grt=aie.modHalf,NS=Math.PI,K1=2*NS;function mrt(e){return e/180*NS}function yrt(e){return e/NS*180}function Nq(e){return Math.abs(e[1]-e[0])>K1-1e-14}function oie(e,t){return grt(t-e,K1)}function _rt(e,t){return Math.abs(oie(e,t))}function sie(e,t){if(Nq(t))return!0;var r,n;t[0]<t[1]?(r=t[0],n=t[1]):(r=t[1],n=t[0]),r=Bq(r,K1),n=Bq(n,K1),r>n&&(n+=K1);var i=Bq(e,K1),a=i+K1;return i>=r&&i<=n||a>=r&&a<=n}function xrt(e,t,r,n){if(!sie(t,n))return!1;var i,a;return r[0]<r[1]?(i=r[0],a=r[1]):(i=r[1],a=r[0]),e>=i&&e<=a}function Uq(e,t,r,n,i,a,o){i=i||0,a=a||0;var s=Nq([r,n]),l,u,c,f,h;s?(l=0,u=NS,c=K1):r<n?(l=r,c=n):(l=n,c=r),e<t?(f=e,h=t):(f=t,h=e);function d(p,E){return[p*Math.cos(E)+i,a-p*Math.sin(E)]}var v=Math.abs(c-l)<=NS?0:1;function x(p,E,k){return\"A\"+[p,p]+\" \"+[0,v,k]+\" \"+d(p,E)}var b;return s?f===null?b=\"M\"+d(h,l)+x(h,u,0)+x(h,c,0)+\"Z\":b=\"M\"+d(f,l)+x(f,u,0)+x(f,c,0)+\"ZM\"+d(h,l)+x(h,u,1)+x(h,c,1)+\"Z\":f===null?(b=\"M\"+d(h,l)+x(h,c,0),o&&(b+=\"L0,0Z\")):b=\"M\"+d(f,l)+\"L\"+d(h,l)+x(h,c,0)+\"L\"+d(f,c)+x(f,l,1)+\"Z\",b}function brt(e,t,r,n,i){return Uq(null,e,t,r,n,i,0)}function wrt(e,t,r,n,i){return Uq(null,e,t,r,n,i,1)}function Trt(e,t,r,n,i,a){return Uq(e,t,r,n,i,a,1)}lie.exports={deg2rad:mrt,rad2deg:yrt,angleDelta:oie,angleDist:_rt,isFullCircle:Nq,isAngleInsideSector:sie,isPtInsideSector:xrt,pathArc:brt,pathSector:wrt,pathAnnulus:Trt}});var cie=ye(fb=>{\"use strict\";fb.isLeftAnchor=function(t){return t.xanchor===\"left\"||t.xanchor===\"auto\"&&t.x<=1/3};fb.isCenterAnchor=function(t){return t.xanchor===\"center\"||t.xanchor===\"auto\"&&t.x>1/3&&t.x<2/3};fb.isRightAnchor=function(t){return t.xanchor===\"right\"||t.xanchor===\"auto\"&&t.x>=2/3};fb.isTopAnchor=function(t){return t.yanchor===\"top\"||t.yanchor===\"auto\"&&t.y>=2/3};fb.isMiddleAnchor=function(t){return t.yanchor===\"middle\"||t.yanchor===\"auto\"&&t.y>1/3&&t.y<2/3};fb.isBottomAnchor=function(t){return t.yanchor===\"bottom\"||t.yanchor===\"auto\"&&t.y<=1/3}});var die=ye(hb=>{\"use strict\";var Vq=r3().mod;hb.segmentsIntersect=hie;function hie(e,t,r,n,i,a,o,s){var l=r-e,u=i-e,c=o-i,f=n-t,h=a-t,d=s-a,v=l*d-c*f;if(v===0)return null;var x=(u*d-c*h)/v,b=(u*f-l*h)/v;return b<0||b>1||x<0||x>1?null:{x:e+l*x,y:t+f*x}}hb.segmentDistance=function(t,r,n,i,a,o,s,l){if(hie(t,r,n,i,a,o,s,l))return 0;var u=n-t,c=i-r,f=s-a,h=l-o,d=u*u+c*c,v=f*f+h*h,x=Math.min(C6(u,c,d,a-t,o-r),C6(u,c,d,s-t,l-r),C6(f,h,v,t-a,r-o),C6(f,h,v,n-a,i-o));return Math.sqrt(x)};function C6(e,t,r,n,i){var a=n*e+i*t;if(a<0)return n*n+i*i;if(a>r){var o=n-e,s=i-t;return o*o+s*s}else{var l=n*t-i*e;return l*l/r}}var L6,Hq,fie;hb.getTextLocation=function(t,r,n,i){if((t!==Hq||i!==fie)&&(L6={},Hq=t,fie=i),L6[n])return L6[n];var a=t.getPointAtLength(Vq(n-i/2,r)),o=t.getPointAtLength(Vq(n+i/2,r)),s=Math.atan((o.y-a.y)/(o.x-a.x)),l=t.getPointAtLength(Vq(n,r)),u=(l.x*4+a.x+o.x)/6,c=(l.y*4+a.y+o.y)/6,f={x:u,y:c,theta:s};return L6[n]=f,f};hb.clearLocationCache=function(){Hq=null};hb.getVisibleSegment=function(t,r,n){var i=r.left,a=r.right,o=r.top,s=r.bottom,l=0,u=t.getTotalLength(),c=u,f,h;function d(x){var b=t.getPointAtLength(x);x===0?f=b:x===u&&(h=b);var p=b.x<i?i-b.x:b.x>a?b.x-a:0,E=b.y<o?o-b.y:b.y>s?b.y-s:0;return Math.sqrt(p*p+E*E)}for(var v=d(l);v;){if(l+=v+n,l>c)return;v=d(l)}for(v=d(c);v;){if(c-=v+n,l>c)return;v=d(c)}return{min:l,max:c,len:c-l,total:u,isClosed:l===0&&c===u&&Math.abs(f.x-h.x)<.1&&Math.abs(f.y-h.y)<.1}};hb.findPointOnPath=function(t,r,n,i){i=i||{};for(var a=i.pathLength||t.getTotalLength(),o=i.tolerance||.001,s=i.iterationLimit||30,l=t.getPointAtLength(0)[n]>t.getPointAtLength(a)[n]?-1:1,u=0,c=0,f=a,h,d,v;u<s;){if(h=(c+f)/2,d=t.getPointAtLength(h),v=d[n]-r,Math.abs(v)<o)return d;l*v>0?f=h:c=h,u++}return d}});var P6=ye(US=>{\"use strict\";var xy={};US.throttle=function(t,r,n){var i=xy[t],a=Date.now();if(!i){for(var o in xy)xy[o].ts<a-6e4&&delete xy[o];i=xy[t]={ts:0,timer:null}}vie(i);function s(){n(),i.ts=Date.now(),i.onDone&&(i.onDone(),i.onDone=null)}if(a>i.ts+r){s();return}i.timer=setTimeout(function(){s(),i.timer=null},r)};US.done=function(e){var t=xy[e];return!t||!t.timer?Promise.resolve():new Promise(function(r){var n=t.onDone;t.onDone=function(){n&&n(),r(),t.onDone=null}})};US.clear=function(e){if(e)vie(xy[e]),delete xy[e];else for(var t in xy)US.clear(t)};function vie(e){e&&e.timer!==null&&(clearTimeout(e.timer),e.timer=null)}});var gie=ye((gtr,pie)=>{\"use strict\";pie.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener(\"resize\",t._responsiveChartHandler),delete t._responsiveChartHandler)}});var mie=ye((mtr,I6)=>{\"use strict\";I6.exports=Gq;I6.exports.isMobile=Gq;I6.exports.default=Gq;var Art=/(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,Srt=/CrOS/,Mrt=/android|ipad|playbook|silk/i;function Gq(e){e||(e={});let t=e.ua;if(!t&&typeof navigator!=\"undefined\"&&(t=navigator.userAgent),t&&t.headers&&typeof t.headers[\"user-agent\"]==\"string\"&&(t=t.headers[\"user-agent\"]),typeof t!=\"string\")return!1;let r=Art.test(t)&&!Srt.test(t)||!!e.tablet&&Mrt.test(t);return!r&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&t.indexOf(\"Macintosh\")!==-1&&t.indexOf(\"Safari\")!==-1&&(r=!0),r}});var _ie=ye((ytr,yie)=>{\"use strict\";var Ert=uo(),krt=mie();yie.exports=function(t){var r;if(t&&t.hasOwnProperty(\"userAgent\")?r=t.userAgent:r=Crt(),typeof r!=\"string\")return!0;var n=krt({ua:{headers:{\"user-agent\":r}},tablet:!0,featureDetect:!1});if(!n)for(var i=r.split(\" \"),a=1;a<i.length;a++){var o=i[a];if(o.indexOf(\"Safari\")!==-1)for(var s=a-1;s>-1;s--){var l=i[s];if(l.substr(0,8)===\"Version/\"){var u=l.substr(8).split(\".\")[0];if(Ert(u)&&(u=+u),u>=13)return!0}}}return n};function Crt(){var e;return typeof navigator!=\"undefined\"&&(e=navigator.userAgent),e&&e.headers&&typeof e.headers[\"user-agent\"]==\"string\"&&(e=e.headers[\"user-agent\"]),e}});var bie=ye((_tr,xie)=>{\"use strict\";var Lrt=xa();xie.exports=function(t,r,n){var i=t.selectAll(\"g.\"+n.replace(/\\s/g,\".\")).data(r,function(o){return o[0].trace.uid});i.exit().remove(),i.enter().append(\"g\").attr(\"class\",n),i.order();var a=t.classed(\"rangeplot\")?\"nodeRangePlot3\":\"node3\";return i.each(function(o){o[0][a]=Lrt.select(this)}),i}});var Tie=ye((xtr,wie)=>{\"use strict\";var Prt=ba();wie.exports=function(t,r){for(var n=t._context.locale,i=0;i<2;i++){for(var a=t._context.locales,o=0;o<2;o++){var s=(a[n]||{}).dictionary;if(s){var l=s[r];if(l)return l}a=Prt.localeRegistry}var u=n.split(\"-\")[0];if(u===n)break;n=u}return r}});var jq=ye((btr,Aie)=>{\"use strict\";Aie.exports=function(t){for(var r={},n=[],i=0,a=0;a<t.length;a++){var o=t[a];r[o]!==1&&(r[o]=1,n[i++]=o)}return n}});var Mie=ye((wtr,Sie)=>{\"use strict\";Sie.exports=function(t){for(var r=Drt(t)?Rrt:Irt,n=[],i=0;i<t.length;i++){var a=t[i];r(a)&&n.push(a)}return n};function Irt(e){return e.visible===!0}function Rrt(e){var t=e[0].trace;return t.visible===!0&&t._length!==0}function Drt(e){return Array.isArray(e)&&Array.isArray(e[0])&&e[0][0]&&e[0][0].trace}});var kie=ye((Ttr,Eie)=>{\"use strict\";Eie.exports=function(t,r){if(!r)return t;var n=1/Math.abs(r),i=n>1?(n*t+n*r)/n:t+r,a=String(i).length;if(a>16){var o=String(r).length,s=String(t).length;if(a>=s+o){var l=parseFloat(i).toPrecision(12);l.indexOf(\"e+\")===-1&&(i=+l)}}return i}});var Lie=ye((Atr,Cie)=>{\"use strict\";var zrt=uo(),Frt=es().BADNUM,qrt=/^['\"%,$#\\s']+|[, ]|['\"%,$#\\s']+$/g;Cie.exports=function(t){return typeof t==\"string\"&&(t=t.replace(qrt,\"\")),zrt(t)?Number(t):Frt}});var Mr=ye((Str,Hie)=>{\"use strict\";var VS=xa(),Ort=e3().utcFormat,Brt=vq().format,Fie=uo(),qie=es(),Oie=qie.FP_SAFE,Nrt=-Oie,Pie=qie.BADNUM,li=Hie.exports={};li.adjustFormat=function(t){return!t||/^\\d[.]\\df/.test(t)||/[.]\\d%/.test(t)?t:t===\"0.f\"?\"~f\":/^\\d%/.test(t)?\"~%\":/^\\ds/.test(t)?\"~s\":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?\"~\"+t:t};var Iie={};li.warnBadFormat=function(e){var t=String(e);Iie[t]||(Iie[t]=1,li.warn('encountered bad format: \"'+t+'\"'))};li.noFormat=function(e){return String(e)};li.numberFormat=function(e){var t;try{t=Brt(li.adjustFormat(e))}catch(r){return li.warnBadFormat(e),li.noFormat}return t};li.nestedProperty=ES();li.keyedContainer=Tee();li.relativeAttr=See();li.isPlainObject=gy();li.toLogRange=u6();li.relinkPrivateKeys=Cee();var J1=vv();li.isArrayBuffer=J1.isArrayBuffer;li.isTypedArray=J1.isTypedArray;li.isArrayOrTypedArray=J1.isArrayOrTypedArray;li.isArray1D=J1.isArray1D;li.ensureArray=J1.ensureArray;li.concat=J1.concat;li.maxRowLength=J1.maxRowLength;li.minRowLength=J1.minRowLength;var Bie=r3();li.mod=Bie.mod;li.modHalf=Bie.modHalf;var $1=Xee();li.valObjectMeta=$1.valObjectMeta;li.coerce=$1.coerce;li.coerce2=$1.coerce2;li.coerceFont=$1.coerceFont;li.coercePattern=$1.coercePattern;li.coerceHoverinfo=$1.coerceHoverinfo;li.coerceSelectionMarkerOpacity=$1.coerceSelectionMarkerOpacity;li.validate=$1.validate;var Wp=tie();li.dateTime2ms=Wp.dateTime2ms;li.isDateTime=Wp.isDateTime;li.ms2DateTime=Wp.ms2DateTime;li.ms2DateTimeLocal=Wp.ms2DateTimeLocal;li.cleanDate=Wp.cleanDate;li.isJSDate=Wp.isJSDate;li.formatDate=Wp.formatDate;li.incrementMonth=Wp.incrementMonth;li.dateTick0=Wp.dateTick0;li.dfltRange=Wp.dfltRange;li.findExactDates=Wp.findExactDates;li.MIN_MS=Wp.MIN_MS;li.MAX_MS=Wp.MAX_MS;var db=k6();li.findBin=db.findBin;li.sorterAsc=db.sorterAsc;li.sorterDes=db.sorterDes;li.distinctVals=db.distinctVals;li.roundUp=db.roundUp;li.sort=db.sort;li.findIndexOfMin=db.findIndexOfMin;li.sortObjectKeys=Y1();var by=nie();li.aggNums=by.aggNums;li.len=by.len;li.mean=by.mean;li.geometricMean=by.geometricMean;li.median=by.median;li.midRange=by.midRange;li.variance=by.variance;li.stdev=by.stdev;li.interp=by.interp;var yg=m6();li.init2dArray=yg.init2dArray;li.transposeRagged=yg.transposeRagged;li.dot=yg.dot;li.translationMatrix=yg.translationMatrix;li.rotationMatrix=yg.rotationMatrix;li.rotationXYMatrix=yg.rotationXYMatrix;li.apply3DTransform=yg.apply3DTransform;li.apply2DTransform=yg.apply2DTransform;li.apply2DTransform2=yg.apply2DTransform2;li.convertCssMatrix=yg.convertCssMatrix;li.inverseTransformMatrix=yg.inverseTransformMatrix;var vm=uie();li.deg2rad=vm.deg2rad;li.rad2deg=vm.rad2deg;li.angleDelta=vm.angleDelta;li.angleDist=vm.angleDist;li.isFullCircle=vm.isFullCircle;li.isAngleInsideSector=vm.isAngleInsideSector;li.isPtInsideSector=vm.isPtInsideSector;li.pathArc=vm.pathArc;li.pathSector=vm.pathSector;li.pathAnnulus=vm.pathAnnulus;var d3=cie();li.isLeftAnchor=d3.isLeftAnchor;li.isCenterAnchor=d3.isCenterAnchor;li.isRightAnchor=d3.isRightAnchor;li.isTopAnchor=d3.isTopAnchor;li.isMiddleAnchor=d3.isMiddleAnchor;li.isBottomAnchor=d3.isBottomAnchor;var v3=die();li.segmentsIntersect=v3.segmentsIntersect;li.segmentDistance=v3.segmentDistance;li.getTextLocation=v3.getTextLocation;li.clearLocationCache=v3.clearLocationCache;li.getVisibleSegment=v3.getVisibleSegment;li.findPointOnPath=v3.findPointOnPath;var z6=no();li.extendFlat=z6.extendFlat;li.extendDeep=z6.extendDeep;li.extendDeepAll=z6.extendDeepAll;li.extendDeepNoArrays=z6.extendDeepNoArrays;var Wq=G1();li.log=Wq.log;li.warn=Wq.warn;li.error=Wq.error;var Urt=n3();li.counterRegex=Urt.counter;var Zq=P6();li.throttle=Zq.throttle;li.throttleDone=Zq.done;li.clearThrottle=Zq.clear;var _g=DS();li.getGraphDiv=_g.getGraphDiv;li.isPlotDiv=_g.isPlotDiv;li.removeElement=_g.removeElement;li.addStyleRule=_g.addStyleRule;li.addRelatedStyleRule=_g.addRelatedStyleRule;li.deleteRelatedStyleRule=_g.deleteRelatedStyleRule;li.setStyleOnHover=_g.setStyleOnHover;li.getFullTransformMatrix=_g.getFullTransformMatrix;li.getElementTransformMatrix=_g.getElementTransformMatrix;li.getElementAndAncestors=_g.getElementAndAncestors;li.equalDomRects=_g.equalDomRects;li.clearResponsive=gie();li.preserveDrawingBuffer=_ie();li.makeTraceGroups=bie();li._=Tie();li.notifier=Sq();li.filterUnique=jq();li.filterVisible=Mie();li.pushUnique=kq();li.increment=kie();li.cleanNumber=Lie();li.ensureNumber=function(t){return Fie(t)?(t=Number(t),t>Oie||t<Nrt?Pie:t):Pie};li.isIndex=function(e,t){return t!==void 0&&e>=t?!1:Fie(e)&&e>=0&&e%1===0};li.noop=g6();li.identity=OS();li.repeat=function(e,t){for(var r=new Array(t),n=0;n<t;n++)r[n]=e;return r};li.swapAttrs=function(e,t,r,n){r||(r=\"x\"),n||(n=\"y\");for(var i=0;i<t.length;i++){var a=t[i],o=li.nestedProperty(e,a.replace(\"?\",r)),s=li.nestedProperty(e,a.replace(\"?\",n)),l=o.get();o.set(s.get()),s.set(l)}};li.raiseToTop=function(t){t.parentNode.appendChild(t)};li.cancelTransition=function(e){return e.transition().duration(0)};li.constrain=function(e,t,r){return t>r?Math.max(r,Math.min(t,e)):Math.max(t,Math.min(r,e))};li.bBoxIntersect=function(e,t,r){return r=r||0,e.left<=t.right+r&&t.left<=e.right+r&&e.top<=t.bottom+r&&t.top<=e.bottom+r};li.simpleMap=function(e,t,r,n,i){for(var a=e.length,o=new Array(a),s=0;s<a;s++)o[s]=t(e[s],r,n,i);return o};li.randstr=function e(t,r,n,i){if(n||(n=16),r===void 0&&(r=24),r<=0)return\"0\";var a=Math.log(Math.pow(2,r))/Math.log(n),o=\"\",s,l,u;for(s=2;a===1/0;s*=2)a=Math.log(Math.pow(2,r/s))/Math.log(n)*s;var c=a-Math.floor(a);for(s=0;s<Math.floor(a);s++)u=Math.floor(Math.random()*n).toString(n),o=u+o;c&&(l=Math.pow(n,c),u=Math.floor(Math.random()*l).toString(n),o=u+o);var f=parseInt(o,n);return t&&t[o]||f!==1/0&&f>=Math.pow(2,r)?i>10?(li.warn(\"randstr failed uniqueness\"),o):e(t,r,n,(i||0)+1):o};li.OptionControl=function(e,t){e||(e={}),t||(t=\"opt\");var r={};return r.optionList=[],r._newoption=function(n){n[t]=e,r[n.name]=n,r.optionList.push(n)},r[\"_\"+t]=e,r};li.smooth=function(e,t){if(t=Math.round(t)||0,t<2)return e;var r=e.length,n=2*r,i=2*t-1,a=new Array(i),o=new Array(r),s,l,u,c;for(s=0;s<i;s++)a[s]=(1-Math.cos(Math.PI*(s+1)/t))/(2*t);for(s=0;s<r;s++){for(c=0,l=0;l<i;l++)u=s+l+1-t,u<-r?u-=n*Math.round(u/n):u>=n&&(u-=n*Math.floor(u/n)),u<0?u=-1-u:u>=r&&(u=n-1-u),c+=e[u]*a[l];o[s]=c}return o};li.syncOrAsync=function(e,t,r){var n,i;function a(){return li.syncOrAsync(e,t,r)}for(;e.length;)if(i=e.splice(0,1)[0],n=i(t),n&&n.then)return n.then(a);return r&&r(t)};li.stripTrailingSlash=function(e){return e.substr(-1)===\"/\"?e.substr(0,e.length-1):e};li.noneOrAll=function(e,t,r){if(e){var n=!1,i=!0,a,o;for(a=0;a<r.length;a++)o=e[r[a]],o!=null?n=!0:i=!1;if(n&&!i)for(a=0;a<r.length;a++)e[r[a]]=t[r[a]]}};li.mergeArray=function(e,t,r,n){var i=typeof n==\"function\";if(li.isArrayOrTypedArray(e))for(var a=Math.min(e.length,t.length),o=0;o<a;o++){var s=e[o];t[o][r]=i?n(s):s}};li.mergeArrayCastPositive=function(e,t,r){return li.mergeArray(e,t,r,function(n){var i=+n;return isFinite(i)&&i>0?i:0})};li.fillArray=function(e,t,r,n){if(n=n||li.identity,li.isArrayOrTypedArray(e))for(var i=0;i<t.length;i++)t[i][r]=n(e[i])};li.castOption=function(e,t,r,n){n=n||li.identity;var i=li.nestedProperty(e,r).get();return li.isArrayOrTypedArray(i)?Array.isArray(t)&&li.isArrayOrTypedArray(i[t[0]])?n(i[t[0]][t[1]]):n(i[t]):i};li.extractOption=function(e,t,r,n){if(r in e)return e[r];var i=li.nestedProperty(t,n).get();if(!Array.isArray(i))return i};function Nie(e){var t={};for(var r in e)for(var n=e[r],i=0;i<n.length;i++)t[n[i]]=+r;return t}li.tagSelected=function(e,t,r){var n=t.selectedpoints,i=t._indexToPoints,a;i&&(a=Nie(i));function o(f){return f!==void 0&&f<e.length}for(var s=0;s<n.length;s++){var l=n[s];if(li.isIndex(l)||li.isArrayOrTypedArray(l)&&li.isIndex(l[0])&&li.isIndex(l[1])){var u=a?a[l]:l,c=r?r[u]:u;o(c)&&(e[c].selected=1)}}};li.selIndices2selPoints=function(e){var t=e.selectedpoints,r=e._indexToPoints;if(r){for(var n=Nie(r),i=[],a=0;a<t.length;a++){var o=t[a];if(li.isIndex(o)){var s=n[o];li.isIndex(s)&&i.push(s)}}return i}else return t};li.getTargetArray=function(e,t){var r=t.target;if(typeof r==\"string\"&&r){var n=li.nestedProperty(e,r).get();return li.isArrayOrTypedArray(n)?n:!1}else if(li.isArrayOrTypedArray(r))return r;return!1};function Uie(e,t,r){var n={};typeof t!=\"object\"&&(t={});var i=r===\"pieLike\"?-1:3,a=Object.keys(e),o,s,l;for(o=0;o<a.length;o++)s=a[o],l=e[s],!(s.charAt(0)===\"_\"||typeof l==\"function\")&&(s===\"module\"?n[s]=l:Array.isArray(l)?s===\"colorscale\"||i===-1?n[s]=l.slice():n[s]=l.slice(0,i):li.isTypedArray(l)?i===-1?n[s]=l.subarray():n[s]=l.subarray(0,i):l&&typeof l==\"object\"?n[s]=Uie(e[s],t[s],r):n[s]=l);for(a=Object.keys(t),o=0;o<a.length;o++)s=a[o],l=t[s],(typeof l!=\"object\"||!(s in n)||typeof n[s]!=\"object\")&&(n[s]=l);return n}li.minExtend=Uie;li.titleCase=function(e){return e.charAt(0).toUpperCase()+e.substr(1)};li.containsAny=function(e,t){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])!==-1)return!0;return!1};var Vrt=/Version\\/[\\d\\.]+.*Safari/;li.isSafari=function(){return Vrt.test(window.navigator.userAgent)};var Hrt=/iPad|iPhone|iPod/;li.isIOS=function(){return Hrt.test(window.navigator.userAgent)};var Grt=/Firefox\\/(\\d+)\\.\\d+/;li.getFirefoxVersion=function(){var e=Grt.exec(window.navigator.userAgent);if(e&&e.length===2){var t=parseInt(e[1]);if(!isNaN(t))return t}return null};li.isD3Selection=function(e){return e instanceof VS.selection};li.ensureSingle=function(e,t,r,n){var i=e.select(t+(r?\".\"+r:\"\"));if(i.size())return i;var a=e.append(t);return r&&a.classed(r,!0),n&&a.call(n),a};li.ensureSingleById=function(e,t,r,n){var i=e.select(t+\"#\"+r);if(i.size())return i;var a=e.append(t).attr(\"id\",r);return n&&a.call(n),a};li.objectFromPath=function(e,t){for(var r=e.split(\".\"),n,i=n={},a=0;a<r.length;a++){var o=r[a],s=null,l=r[a].match(/(.*)\\[([0-9]+)\\]/);l?(o=l[1],s=l[2],n=n[o]=[],a===r.length-1?n[s]=t:n[s]={},n=n[s]):(a===r.length-1?n[o]=t:n[o]={},n=n[o])}return i};var jrt=/^([^\\[\\.]+)\\.(.+)?/,Wrt=/^([^\\.]+)\\[([0-9]+)\\](\\.)?(.+)?/;function R6(e){return e.slice(0,2)===\"__\"}li.expandObjectPaths=function(e){var t,r,n,i,a,o,s;if(typeof e==\"object\"&&!Array.isArray(e)){for(r in e)if(e.hasOwnProperty(r))if(t=r.match(jrt)){if(i=e[r],n=t[1],R6(n))continue;delete e[r],e[n]=li.extendDeepNoArrays(e[n]||{},li.objectFromPath(r,li.expandObjectPaths(i))[n])}else if(t=r.match(Wrt)){if(i=e[r],n=t[1],R6(n))continue;if(a=parseInt(t[2]),delete e[r],e[n]=e[n]||[],t[3]===\".\")s=t[4],o=e[n][a]=e[n][a]||{},li.extendDeepNoArrays(o,li.objectFromPath(s,li.expandObjectPaths(i)));else{if(R6(n))continue;e[n][a]=li.expandObjectPaths(i)}}else{if(R6(r))continue;e[r]=li.expandObjectPaths(e[r])}}return e};li.numSeparate=function(e,t,r){if(r||(r=!1),typeof t!=\"string\"||t.length===0)throw new Error(\"Separator string required for formatting!\");typeof e==\"number\"&&(e=String(e));var n=/(\\d+)(\\d{3})/,i=t.charAt(0),a=t.charAt(1),o=e.split(\".\"),s=o[0],l=o.length>1?i+o[1]:\"\";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,\"$1\"+a+\"$2\");return s+l};li.TEMPLATE_STRING_REGEX=/%{([^\\s%{}:]*)([:|\\|][^}]*)?}/g;var Vie=/^\\w*$/;li.templateString=function(e,t){var r={};return e.replace(li.TEMPLATE_STRING_REGEX,function(n,i){var a;return Vie.test(i)?a=t[i]:(r[i]=r[i]||li.nestedProperty(t,i).get,a=r[i](!0)),a!==void 0?a:\"\"})};var Zrt={max:10,count:0,name:\"hovertemplate\"};li.hovertemplateString=function(){return Xq.apply(Zrt,arguments)};var Xrt={max:10,count:0,name:\"texttemplate\"};li.texttemplateString=function(){return Xq.apply(Xrt,arguments)};var Yrt=/^(\\S+)([\\*\\/])(-?\\d+(\\.\\d+)?)$/;function Krt(e){var t=e.match(Yrt);return t?{key:t[1],op:t[2],number:Number(t[3])}:{key:e,op:null,number:null}}var Jrt={max:10,count:0,name:\"texttemplate\",parseMultDiv:!0};li.texttemplateStringForShapes=function(){return Xq.apply(Jrt,arguments)};var Rie=/^[:|\\|]/;function Xq(e,t,r){var n=this,i=arguments;return t||(t={}),e.replace(li.TEMPLATE_STRING_REGEX,function(a,o,s){var l=o===\"xother\"||o===\"yother\",u=o===\"_xother\"||o===\"_yother\",c=o===\"_xother_\"||o===\"_yother_\",f=o===\"xother_\"||o===\"yother_\",h=l||u||f||c,d=o;(u||c)&&(d=d.substring(1)),(f||c)&&(d=d.substring(0,d.length-1));var v=null,x=null;if(n.parseMultDiv){var b=Krt(d);d=b.key,v=b.op,x=b.number}var p;if(h){if(p=t[d],p===void 0)return\"\"}else{var E,k;for(k=3;k<i.length;k++)if(E=i[k],!!E){if(E.hasOwnProperty(d)){p=E[d];break}if(Vie.test(d)||(p=li.nestedProperty(E,d).get(!0)),p!==void 0)break}}if(p!==void 0&&(v===\"*\"&&(p*=x),v===\"/\"&&(p/=x)),p===void 0&&n)return n.count<n.max&&(li.warn(\"Variable '\"+d+\"' in \"+n.name+\" could not be found!\"),p=a),n.count===n.max&&li.warn(\"Too many \"+n.name+\" warnings - additional warnings will be suppressed\"),n.count++,a;if(s){var A;if(s[0]===\":\"&&(A=r?r.numberFormat:li.numberFormat,p!==\"\"&&(p=A(s.replace(Rie,\"\"))(p))),s[0]===\"|\"){A=r?r.timeFormat:Ort;var L=li.dateTime2ms(p);p=li.formatDate(L,s.replace(Rie,\"\"),!1,A)}}else{var _=d+\"Label\";t.hasOwnProperty(_)&&(p=t[_])}return h&&(p=\"(\"+p+\")\",(u||c)&&(p=\" \"+p),(f||c)&&(p=p+\" \")),p})}var D6=48,Die=57;li.subplotSort=function(e,t){for(var r=Math.min(e.length,t.length)+1,n=0,i=0,a=0;a<r;a++){var o=e.charCodeAt(a)||0,s=t.charCodeAt(a)||0,l=o>=D6&&o<=Die,u=s>=D6&&s<=Die;if(l&&(n=10*n+o-D6),u&&(i=10*i+s-D6),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var h3=2e9;li.seedPseudoRandom=function(){h3=2e9};li.pseudoRandom=function(){var e=h3;return h3=(69069*h3+1)%4294967296,Math.abs(h3-e)<429496729?li.pseudoRandom():h3/4294967296};li.fillText=function(e,t,r){var n=Array.isArray(r)?function(o){r.push(o)}:function(o){r.text=o},i=li.extractOption(e,t,\"htx\",\"hovertext\");if(li.isValidTextValue(i))return n(i);var a=li.extractOption(e,t,\"tx\",\"text\");if(li.isValidTextValue(a))return n(a)};li.isValidTextValue=function(e){return e||e===0};li.formatPercent=function(e,t){t=t||0;for(var r=(Math.round(100*e*Math.pow(10,t))*Math.pow(.1,t)).toFixed(t)+\"%\",n=0;n<t;n++)r.indexOf(\".\")!==-1&&(r=r.replace(\"0%\",\"%\"),r=r.replace(\".%\",\"%\"));return r};li.isHidden=function(e){var t=window.getComputedStyle(e).display;return!t||t===\"none\"};li.strTranslate=function(e,t){return e||t?\"translate(\"+e+\",\"+t+\")\":\"\"};li.strRotate=function(e){return e?\"rotate(\"+e+\")\":\"\"};li.strScale=function(e){return e!==1?\"scale(\"+e+\")\":\"\"};li.getTextTransform=function(e){var t=e.noCenter,r=e.textX,n=e.textY,i=e.targetX,a=e.targetY,o=e.anchorX||0,s=e.anchorY||0,l=e.rotate,u=e.scale;return u?u>1&&(u=1):u=0,li.strTranslate(i-u*(r+o),a-u*(n+s))+li.strScale(u)+(l?\"rotate(\"+l+(t?\"\":\" \"+r+\" \"+n)+\")\":\"\")};li.setTransormAndDisplay=function(e,t){e.attr(\"transform\",li.getTextTransform(t)),e.style(\"display\",t.scale?null:\"none\")};li.ensureUniformFontSize=function(e,t){var r=li.extendFlat({},t);return r.size=Math.max(t.size,e._fullLayout.uniformtext.minsize||0),r};li.join2=function(e,t,r){var n=e.length;return n>1?e.slice(0,-1).join(t)+r+e[n-1]:e.join(t)};li.bigFont=function(e){return Math.round(1.2*e)};var zie=li.getFirefoxVersion(),$rt=zie!==null&&zie<86;li.getPositionFromD3Event=function(){return $rt?[VS.event.layerX,VS.event.layerY]:[VS.event.offsetX,VS.event.offsetY]}});var Wie=ye(()=>{\"use strict\";var Qrt=Mr(),Gie={\"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 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(Yq in Gie)jie=Yq.replace(/^,/,\" ,\").replace(/X/g,\".js-plotly-plot .plotly\").replace(/Y/g,\".plotly-notifier\"),Qrt.addStyleRule(jie,Gie[Yq]);var jie,Yq});var Kq=ye((ktr,Zie)=>{Zie.exports=!0});var $q=ye((Ctr,Xie)=>{\"use strict\";var eit=Kq(),Jq;typeof window.matchMedia==\"function\"?Jq=!window.matchMedia(\"(hover: none)\").matches:Jq=eit;Xie.exports=Jq});var vb=ye((Ltr,Qq)=>{\"use strict\";var p3=typeof Reflect==\"object\"?Reflect:null,Yie=p3&&typeof p3.apply==\"function\"?p3.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},F6;p3&&typeof p3.ownKeys==\"function\"?F6=p3.ownKeys:Object.getOwnPropertySymbols?F6=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:F6=function(t){return Object.getOwnPropertyNames(t)};function tit(e){console&&console.warn&&console.warn(e)}var Jie=Number.isNaN||function(t){return t!==t};function Tc(){Tc.init.call(this)}Qq.exports=Tc;Qq.exports.once=ait;Tc.EventEmitter=Tc;Tc.prototype._events=void 0;Tc.prototype._eventsCount=0;Tc.prototype._maxListeners=void 0;var Kie=10;function q6(e){if(typeof e!=\"function\")throw new TypeError('The \"listener\" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(Tc,\"defaultMaxListeners\",{enumerable:!0,get:function(){return Kie},set:function(e){if(typeof e!=\"number\"||e<0||Jie(e))throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received '+e+\".\");Kie=e}});Tc.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};Tc.prototype.setMaxListeners=function(t){if(typeof t!=\"number\"||t<0||Jie(t))throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received '+t+\".\");return this._maxListeners=t,this};function $ie(e){return e._maxListeners===void 0?Tc.defaultMaxListeners:e._maxListeners}Tc.prototype.getMaxListeners=function(){return $ie(this)};Tc.prototype.emit=function(t){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=t===\"error\",a=this._events;if(a!==void 0)i=i&&a.error===void 0;else if(!i)return!1;if(i){var o;if(r.length>0&&(o=r[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(l===void 0)return!1;if(typeof l==\"function\")Yie(l,this,r);else for(var u=l.length,c=ine(l,u),n=0;n<u;++n)Yie(c[n],this,r);return!0};function Qie(e,t,r,n){var i,a,o;if(q6(r),a=e._events,a===void 0?(a=e._events=Object.create(null),e._eventsCount=0):(a.newListener!==void 0&&(e.emit(\"newListener\",t,r.listener?r.listener:r),a=e._events),o=a[t]),o===void 0)o=a[t]=r,++e._eventsCount;else if(typeof o==\"function\"?o=a[t]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),i=$ie(e),i>0&&o.length>i&&!o.warned){o.warned=!0;var s=new Error(\"Possible EventEmitter memory leak detected. \"+o.length+\" \"+String(t)+\" listeners added. Use emitter.setMaxListeners() to increase limit\");s.name=\"MaxListenersExceededWarning\",s.emitter=e,s.type=t,s.count=o.length,tit(s)}return e}Tc.prototype.addListener=function(t,r){return Qie(this,t,r,!1)};Tc.prototype.on=Tc.prototype.addListener;Tc.prototype.prependListener=function(t,r){return Qie(this,t,r,!0)};function rit(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function ene(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=rit.bind(n);return i.listener=r,n.wrapFn=i,i}Tc.prototype.once=function(t,r){return q6(r),this.on(t,ene(this,t,r)),this};Tc.prototype.prependOnceListener=function(t,r){return q6(r),this.prependListener(t,ene(this,t,r)),this};Tc.prototype.removeListener=function(t,r){var n,i,a,o,s;if(q6(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit(\"removeListener\",t,n.listener||r));else if(typeof n!=\"function\"){for(a=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){s=n[o].listener,a=o;break}if(a<0)return this;a===0?n.shift():iit(n,a),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit(\"removeListener\",t,s||r)}return this};Tc.prototype.off=Tc.prototype.removeListener;Tc.prototype.removeAllListeners=function(t){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var a=Object.keys(n),o;for(i=0;i<a.length;++i)o=a[i],o!==\"removeListener\"&&this.removeAllListeners(o);return this.removeAllListeners(\"removeListener\"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[t],typeof r==\"function\")this.removeListener(t,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(t,r[i]);return this};function tne(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i==\"function\"?r?[i.listener||i]:[i]:r?nit(i):ine(i,i.length)}Tc.prototype.listeners=function(t){return tne(this,t,!0)};Tc.prototype.rawListeners=function(t){return tne(this,t,!1)};Tc.listenerCount=function(e,t){return typeof e.listenerCount==\"function\"?e.listenerCount(t):rne.call(e,t)};Tc.prototype.listenerCount=rne;function rne(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r==\"function\")return 1;if(r!==void 0)return r.length}return 0}Tc.prototype.eventNames=function(){return this._eventsCount>0?F6(this._events):[]};function ine(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function iit(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function nit(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function ait(e,t){return new Promise(function(r,n){function i(o){e.removeListener(t,a),n(o)}function a(){typeof e.removeListener==\"function\"&&e.removeListener(\"error\",i),r([].slice.call(arguments))}nne(e,t,a,{once:!0}),t!==\"error\"&&oit(e,i,{once:!0})})}function oit(e,t,r){typeof e.on==\"function\"&&nne(e,\"error\",t,r)}function nne(e,t,r,n){if(typeof e.on==\"function\")n.once?e.once(t,r):e.on(t,r);else if(typeof e.addEventListener==\"function\")e.addEventListener(t,function i(a){n.once&&e.removeEventListener(t,i),r(a)});else throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type '+typeof e)}});var g3=ye((Ptr,ane)=>{\"use strict\";var eO=vb().EventEmitter,sit={init:function(e){if(e._ev instanceof eO)return e;var t=new eO,r=new eO;return e._ev=t,e._internalEv=r,e.on=t.on.bind(t),e.once=t.once.bind(t),e.removeListener=t.removeListener.bind(t),e.removeAllListeners=t.removeAllListeners.bind(t),e._internalOn=r.on.bind(r),e._internalOnce=r.once.bind(r),e._removeInternalListener=r.removeListener.bind(r),e._removeAllInternalListeners=r.removeAllListeners.bind(r),e.emit=function(n,i){t.emit(n,i),r.emit(n,i)},e},triggerHandler:function(e,t,r){var n,i=e._ev;if(!i)return;var a=i._events[t];if(!a)return;function o(l){if(l.listener){if(i.removeListener(t,l.listener),!l.fired)return l.fired=!0,l.listener.apply(i,[r])}else return l.apply(i,[r])}a=Array.isArray(a)?a:[a];var s;for(s=0;s<a.length-1;s++)o(a[s]);return n=o(a[s]),n},purge:function(e){return delete e._ev,delete e.on,delete e.once,delete e.removeListener,delete e.removeAllListeners,delete e.emit,delete e._ev,delete e._internalEv,delete e._internalOn,delete e._internalOnce,delete e._removeInternalListener,delete e._removeAllInternalListeners,e}};ane.exports=sit});var lne=ye((Itr,sne)=>{\"use strict\";var one=Mr(),lit=ub().dfltConfig;function uit(e,t){for(var r=[],n,i=0;i<t.length;i++)n=t[i],n===e?r[i]=n:typeof n==\"object\"?r[i]=Array.isArray(n)?one.extendDeep([],n):one.extendDeepAll({},n):r[i]=n;return r}var wy={};wy.add=function(e,t,r,n,i){var a,o;if(e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},o=e.undoQueue.index,e.autoplay){e.undoQueue.inSequence||(e.autoplay=!1);return}!e.undoQueue.sequence||e.undoQueue.beginSequence?(a={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},e.undoQueue.queue.splice(o,e.undoQueue.queue.length-o,a),e.undoQueue.index+=1):a=e.undoQueue.queue[o-1],e.undoQueue.beginSequence=!1,a&&(a.undo.calls.unshift(t),a.undo.args.unshift(r),a.redo.calls.push(n),a.redo.args.push(i)),e.undoQueue.queue.length>lit.queueLength&&(e.undoQueue.queue.shift(),e.undoQueue.index--)};wy.startSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!0,e.undoQueue.beginSequence=!0};wy.stopSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!1,e.undoQueue.beginSequence=!1};wy.undo=function(t){var r,n;if(!(t.undoQueue===void 0||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,n=0;n<r.undo.calls.length;n++)wy.plotDo(t,r.undo.calls[n],r.undo.args[n]);t.undoQueue.inSequence=!1,t.autoplay=!1}};wy.redo=function(t){var r,n;if(!(t.undoQueue===void 0||isNaN(t.undoQueue.index)||t.undoQueue.index>=t.undoQueue.queue.length)){for(r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,n=0;n<r.redo.calls.length;n++)wy.plotDo(t,r.redo.calls[n],r.redo.args[n]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}};wy.plotDo=function(e,t,r){e.autoplay=!0,r=uit(e,r),t.apply(null,r)};sne.exports=wy});var tO=ye((Rtr,une)=>{\"use strict\";une.exports={_isLinkedToArray:\"frames_entry\",group:{valType:\"string\"},name:{valType:\"string\"},traces:{valType:\"any\"},baseframe:{valType:\"string\"},data:{valType:\"any\"},layout:{valType:\"any\"}}});var _3=ye(Bh=>{\"use strict\";var x0=ba(),HS=Mr(),B6=vl(),rO=s3(),cit=tO(),fit=zS(),hit=ub().configAttributes,cne=Bu(),xg=HS.extendDeepAll,m3=HS.isPlainObject,dit=HS.isArrayOrTypedArray,N6=HS.nestedProperty,vit=HS.valObjectMeta,iO=\"_isSubplotObj\",U6=\"_isLinkedToArray\",pit=\"_arrayAttrRegexps\",hne=\"_deprecated\",nO=[iO,U6,pit,hne];Bh.IS_SUBPLOT_OBJ=iO;Bh.IS_LINKED_TO_ARRAY=U6;Bh.DEPRECATED=hne;Bh.UNDERSCORE_ATTRS=nO;Bh.get=function(){var e={};return x0.allTypes.forEach(function(t){e[t]=mit(t)}),{defs:{valObjects:vit,metaKeys:nO.concat([\"description\",\"role\",\"editType\",\"impliedEdits\"]),editType:{traces:cne.traces,layout:cne.layout},impliedEdits:{}},traces:e,layout:yit(),frames:_it(),animation:y3(fit),config:y3(hit)}};Bh.crawl=function(e,t,r,n){var i=r||0;n=n||\"\",Object.keys(e).forEach(function(a){var o=e[a];if(nO.indexOf(a)===-1){var s=(n?n+\".\":\"\")+a;t(o,a,e,i,s),!Bh.isValObject(o)&&m3(o)&&a!==\"impliedEdits\"&&Bh.crawl(o,t,i+1,s)}})};Bh.isValObject=function(e){return e&&e.valType!==void 0};Bh.findArrayAttributes=function(e){var t=[],r=[],n=[],i,a;function o(l,u,c,f){r=r.slice(0,f).concat([u]),n=n.slice(0,f).concat([l&&l._isLinkedToArray]);var h=l&&(l.valType===\"data_array\"||l.arrayOk===!0)&&!(r[f-1]===\"colorbar\"&&(u===\"ticktext\"||u===\"tickvals\"));h&&s(i,0,\"\")}function s(l,u,c){var f=l[r[u]],h=c+r[u];if(u===r.length-1)dit(f)&&t.push(a+h);else if(n[u]){if(Array.isArray(f))for(var d=0;d<f.length;d++)m3(f[d])&&s(f[d],u+1,h+\"[\"+d+\"].\")}else m3(f)&&s(f,u+1,h+\".\")}return i=e,a=\"\",Bh.crawl(B6,o),e._module&&e._module.attributes&&Bh.crawl(e._module.attributes,o),t};Bh.getTraceValObject=function(e,t){var r=t[0],n=1,i,a,o=e._module;if(o||(o=(x0.modules[e.type||B6.type.dflt]||{})._module),!o)return!1;if(i=o.attributes,a=i&&i[r],!a){var s=o.basePlotModule;s&&s.attributes&&(a=s.attributes[r])}return a||(a=B6[r]),dne(a,t,n)};Bh.getLayoutValObject=function(e,t){var r=git(e,t[0]);return dne(r,t,1)};function git(e,t){var r,n,i,a,o=e._basePlotModules;if(o){var s;for(r=0;r<o.length;r++){if(i=o[r],i.attrRegex&&i.attrRegex.test(t)){if(i.layoutAttrOverrides)return i.layoutAttrOverrides;!s&&i.layoutAttributes&&(s=i.layoutAttributes)}var l=i.baseLayoutAttrOverrides;if(l&&t in l)return l[t]}if(s)return s}var u=e._modules;if(u){for(r=0;r<u.length;r++)if(a=u[r].layoutAttributes,a&&t in a)return a[t]}for(n in x0.componentsRegistry){if(i=x0.componentsRegistry[n],i.name===\"colorscale\"&&t.indexOf(\"coloraxis\")===0)return i.layoutAttributes[t];if(!i.schema&&t===i.name)return i.layoutAttributes}return t in rO?rO[t]:!1}function dne(e,t,r){if(!e)return!1;if(e._isLinkedToArray){if(O6(t[r]))r++;else if(r<t.length)return!1}for(;r<t.length;r++){var n=e[t[r]];if(m3(n))e=n;else break;if(r===t.length-1)break;if(e._isLinkedToArray){if(r++,!O6(t[r]))return!1}else if(e.valType===\"info_array\"){r++;var i=t[r];if(!O6(i))return!1;var a=e.items;if(Array.isArray(a)){if(i>=a.length)return!1;if(e.dimensions===2){if(r++,t.length===r)return e;var o=t[r];if(!O6(o))return!1;e=a[i][o]}else e=a[i]}else e=a}}return e}function O6(e){return e===Math.round(e)&&e>=0}function mit(e){var t,r;t=x0.modules[e]._module,r=t.basePlotModule;var n={};n.type=null;var i=xg({},B6),a=xg({},t.attributes);Bh.crawl(a,function(l,u,c,f,h){N6(i,h).set(void 0),l===void 0&&N6(a,h).set(void 0)}),xg(n,i),x0.traceIs(e,\"noOpacity\")&&delete n.opacity,x0.traceIs(e,\"showLegend\")||(delete n.showlegend,delete n.legendgroup),x0.traceIs(e,\"noHover\")&&(delete n.hoverinfo,delete n.hoverlabel),t.selectPoints||delete n.selectedpoints,xg(n,a),r.attributes&&xg(n,r.attributes),n.type=e;var o={meta:t.meta||{},categories:t.categories||{},animatable:!!t.animatable,type:e,attributes:y3(n)};if(t.layoutAttributes){var s={};xg(s,t.layoutAttributes),o.layoutAttributes=y3(s)}return t.animatable||Bh.crawl(o,function(l){Bh.isValObject(l)&&\"anim\"in l&&delete l.anim}),o}function yit(){var e={},t,r;xg(e,rO);for(t in x0.subplotsRegistry)if(r=x0.subplotsRegistry[t],!!r.layoutAttributes)if(Array.isArray(r.attr))for(var n=0;n<r.attr.length;n++)fne(e,r,r.attr[n]);else{var i=r.attr===\"subplot\"?r.name:r.attr;fne(e,r,i)}for(t in x0.componentsRegistry){r=x0.componentsRegistry[t];var a=r.schema;if(a&&(a.subplots||a.layout)){var o=a.subplots;if(o&&o.xaxis&&!o.yaxis)for(var s in o.xaxis)delete e.yaxis[s];delete e.xaxis.shift,delete e.xaxis.autoshift}else r.name===\"colorscale\"?xg(e,r.layoutAttributes):r.layoutAttributes&&Tit(e,r.layoutAttributes,r.name)}return{layoutAttributes:y3(e)}}function _it(){var e={frames:xg({},cit)};return y3(e),e.frames}function y3(e){return xit(e),bit(e),wit(e),e}function xit(e){function t(n){return{valType:\"string\",editType:\"none\"}}function r(n,i,a){Bh.isValObject(n)?(n.arrayOk===!0||n.valType===\"data_array\")&&(a[i+\"src\"]=t(i)):m3(n)&&(n.role=\"object\")}Bh.crawl(e,r)}function bit(e){function t(r,n,i){if(r){var a=r[U6];a&&(delete r[U6],i[n]={items:{}},i[n].items[a]=r,i[n].role=\"object\")}}Bh.crawl(e,t)}function wit(e){function t(r){for(var n in r)if(m3(r[n]))t(r[n]);else if(Array.isArray(r[n]))for(var i=0;i<r[n].length;i++)t(r[n][i]);else r[n]instanceof RegExp&&(r[n]=r[n].toString())}t(e)}function fne(e,t,r){var n=N6(e,r),i=xg({},t.layoutAttributes);i[iO]=!0,n.set(i)}function Tit(e,t,r){var n=N6(e,r);n.set(xg(n.get()||{},t))}});var Vs=ye(pb=>{\"use strict\";var x3=Mr(),Ait=vl(),Q1=\"templateitemname\",aO={name:{valType:\"string\",editType:\"none\"}};aO[Q1]={valType:\"string\",editType:\"calc\"};pb.templatedArray=function(e,t){return t._isLinkedToArray=e,t.name=aO.name,t[Q1]=aO[Q1],t};pb.traceTemplater=function(e){var t={},r,n;for(r in e)n=e[r],Array.isArray(n)&&n.length&&(t[r]=0);function i(a){r=x3.coerce(a,{},Ait,\"type\");var o={type:r,_template:null};if(r in t){n=e[r];var s=t[r]%n.length;t[r]++,o._template=n[s]}return o}return{newTrace:i}};pb.newContainer=function(e,t,r){var n=e._template,i=n&&(n[t]||r&&n[r]);x3.isPlainObject(i)||(i=null);var a=e[t]={_template:i};return a};pb.arrayTemplater=function(e,t,r){var n=e._template,i=n&&n[pne(t)],a=n&&n[t];(!Array.isArray(a)||!a.length)&&(a=[]);var o={};function s(u){var c={name:u.name,_input:u},f=c[Q1]=u[Q1];if(!vne(f))return c._template=i,c;for(var h=0;h<a.length;h++){var d=a[h];if(d.name===f)return o[f]=1,c._template=d,c}return c[r]=u[r]||!1,c._template=!1,c}function l(){for(var u=[],c=0;c<a.length;c++){var f=a[c],h=f.name;if(vne(h)&&!o[h]){var d={_template:f,name:h,_input:{_templateitemname:h}};d[Q1]=f[Q1],u.push(d),o[h]=1}}return u}return{newItem:s,defaultItems:l}};function vne(e){return e&&typeof e==\"string\"}function pne(e){var t=e.length-1;return e.charAt(t)!==\"s\"&&x3.warn(\"bad argument to arrayDefaultKey: \"+e),e.substr(0,e.length-1)+\"defaults\"}pb.arrayDefaultKey=pne;pb.arrayEditor=function(e,t,r){var n=(x3.nestedProperty(e,t).get()||[]).length,i=r._index,a=i>=n&&(r._input||{})._templateitemname;a&&(i=n);var o=t+\"[\"+i+\"]\",s;function l(){s={},a&&(s[o]={},s[o][Q1]=a)}l();function u(d,v){s[d]=v}function c(d,v){a?x3.nestedProperty(s[o],d).set(v):s[o+\".\"+d]=v}function f(){var d=s;return l(),d}function h(d,v){d&&c(d,v);var x=f();for(var b in x)x3.nestedProperty(e,b).set(x[b])}return{modifyBase:u,modifyItem:c,getUpdateObj:f,applyUpdate:h}}});var ad=ye((Ftr,gne)=>{\"use strict\";var GS=n3().counter;gne.exports={idRegex:{x:GS(\"x\",\"( domain)?\"),y:GS(\"y\",\"( domain)?\")},attrRegex:GS(\"[xy]axis\"),xAxisMatch:GS(\"xaxis\"),yAxisMatch:GS(\"yaxis\"),AX_ID_PATTERN:/^[xyz][0-9]*( domain)?$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,HOUR_PATTERN:\"hour\",WEEKDAY_PATTERN:\"day of week\",MINDRAG:8,MINZOOM:20,DRAGGERSIZE:20,REDRAWDELAY:50,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:[\"imagelayer\",\"heatmaplayer\",\"contourcarpetlayer\",\"contourlayer\",\"funnellayer\",\"waterfalllayer\",\"barlayer\",\"carpetlayer\",\"violinlayer\",\"boxlayer\",\"ohlclayer\",\"scattercarpetlayer\",\"scatterlayer\"],clipOnAxisFalseQuery:[\".scatterlayer\",\".barlayer\",\".funnellayer\",\".waterfalllayer\"],layerValue2layerClass:{\"above traces\":\"above\",\"below traces\":\"below\"},zindexSeparator:\"z\"}});var af=ye(Tp=>{\"use strict\";var Sit=ba(),oO=ad();Tp.id2name=function(t){if(!(typeof t!=\"string\"||!t.match(oO.AX_ID_PATTERN))){var r=t.split(\" \")[0].substr(1);return r===\"1\"&&(r=\"\"),t.charAt(0)+\"axis\"+r}};Tp.name2id=function(t){if(t.match(oO.AX_NAME_PATTERN)){var r=t.substr(5);return r===\"1\"&&(r=\"\"),t.charAt(0)+r}};Tp.cleanId=function(t,r,n){var i=/( domain)$/.test(t);if(!(typeof t!=\"string\"||!t.match(oO.AX_ID_PATTERN))&&!(r&&t.charAt(0)!==r)&&!(i&&!n)){var a=t.split(\" \")[0].substr(1).replace(/^0+/,\"\");return a===\"1\"&&(a=\"\"),t.charAt(0)+a+(i&&n?\" domain\":\"\")}};Tp.list=function(e,t,r){var n=e._fullLayout;if(!n)return[];var i=Tp.listIds(e,t),a=new Array(i.length),o;for(o=0;o<i.length;o++){var s=i[o];a[o]=n[s.charAt(0)+\"axis\"+s.substr(1)]}if(!r){var l=n._subplots.gl3d||[];for(o=0;o<l.length;o++){var u=n[l[o]];t?a.push(u[t+\"axis\"]):a.push(u.xaxis,u.yaxis,u.zaxis)}}return a};Tp.listIds=function(e,t){var r=e._fullLayout;if(!r)return[];var n=r._subplots;return t?n[t+\"axis\"]:n.xaxis.concat(n.yaxis)};Tp.getFromId=function(e,t,r){var n=e._fullLayout;return t=t===void 0||typeof t!=\"string\"?t:t.replace(\" domain\",\"\"),r===\"x\"?t=t.replace(/y[0-9]*/,\"\"):r===\"y\"&&(t=t.replace(/x[0-9]*/,\"\")),n[Tp.id2name(t)]};Tp.getFromTrace=function(e,t,r){var n=e._fullLayout,i=null;if(Sit.traceIs(t,\"gl3d\")){var a=t.scene;a.substr(0,5)===\"scene\"&&(i=n[a][r+\"axis\"])}else i=Tp.getFromId(e,t[r+\"axis\"]||r);return i};Tp.idSort=function(e,t){var r=e.charAt(0),n=t.charAt(0);return r!==n?r>n?1:-1:+(e.substr(1)||1)-+(t.substr(1)||1)};Tp.ref2id=function(e){return/^[xyz]/.test(e)?e.split(\" \")[0]:!1};function mne(e,t){if(t&&t.length){for(var r=0;r<t.length;r++)if(t[r][e])return!0}return!1}Tp.isLinked=function(e,t){return mne(t,e._axisMatchGroups)||mne(t,e._axisConstraintGroups)}});var e_=ye((Otr,yne)=>{\"use strict\";function Mit(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(\".outline-controllers\").remove()}function Eit(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(\".select-outline\").remove(),e._fullLayout._outlining=!1}yne.exports={clearOutlineControllers:Mit,clearOutline:Eit}});var V6=ye((Btr,_ne)=>{\"use strict\";_ne.exports={scattermode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\",editType:\"calc\"},scattergap:{valType:\"number\",min:0,max:1,editType:\"calc\"}}});var kd=ye(G6=>{\"use strict\";var H6=ba(),Ntr=ad().SUBPLOT_PATTERN;G6.getSubplotCalcData=function(e,t,r){var n=H6.subplotsRegistry[t];if(!n)return[];for(var i=n.attr,a=[],o=0;o<e.length;o++){var s=e[o],l=s[0].trace;l[i]===r&&a.push(s)}return a};G6.getModuleCalcData=function(e,t,r){var n=[],i=[],a;if(typeof t==\"string\"?a=H6.getModule(t).plot:typeof t==\"function\"?a=t:a=t.plot,!a)return[n,e];for(var o=r,s=0;s<e.length;s++){var l=e[s],u=l[0].trace,c=u.zorder!==void 0;u.visible!==!0||u._length===0||(u._module&&u._module.plot===a&&(!c||u.zorder===o)?n.push(l):i.push(l))}return[n,i]};G6.getSubplotData=function(t,r,n){if(!H6.subplotsRegistry[r])return[];for(var i=H6.subplotsRegistry[r].attr,a=[],o,s,l,u=0;u<t.length;u++)o=t[u],o[i]===n&&a.push(o);return a}});var Tne=ye(gb=>{\"use strict\";var kit=ba(),b3=Mr();gb.manageCommandObserver=function(e,t,r,n){var i={},a=!0;t&&t._commandObserver&&(i=t._commandObserver),i.cache||(i.cache={}),i.lookupTable={};var o=gb.hasSimpleAPICommandBindings(e,r,i.lookupTable);if(t&&t._commandObserver){if(o)return i;if(t._commandObserver.remove)return t._commandObserver.remove(),t._commandObserver=null,i}if(o){xne(e,o,i.cache),i.check=function(){if(a){var c=xne(e,o,i.cache);return c.changed&&n&&i.lookupTable[c.value]!==void 0&&(i.disable(),Promise.resolve(n({value:c.value,type:o.type,prop:o.prop,traces:o.traces,index:i.lookupTable[c.value]})).then(i.enable,i.enable)),c.changed}};for(var s=[\"plotly_relayout\",\"plotly_redraw\",\"plotly_restyle\",\"plotly_update\",\"plotly_animatingframe\",\"plotly_afterplot\"],l=0;l<s.length;l++)e._internalOn(s[l],i.check);i.remove=function(){for(var u=0;u<s.length;u++)e._removeInternalListener(s[u],i.check)}}else b3.log(\"Unable to automatically bind plot updates to API command\"),i.lookupTable={},i.remove=function(){};return i.disable=function(){a=!1},i.enable=function(){a=!0},t&&(t._commandObserver=i),i};gb.hasSimpleAPICommandBindings=function(e,t,r){var n,i=t.length,a;for(n=0;n<i;n++){var o,s=t[n],l=s.method,u=s.args;if(Array.isArray(u)||(u=[]),!l)return!1;var c=gb.computeAPICommandBindings(e,l,u);if(c.length!==1)return!1;if(!a)a=c[0],Array.isArray(a.traces)&&a.traces.sort();else{if(o=c[0],o.type!==a.type||o.prop!==a.prop)return!1;if(Array.isArray(a.traces))if(Array.isArray(o.traces)){o.traces.sort();for(var f=0;f<a.traces.length;f++)if(a.traces[f]!==o.traces[f])return!1}else return!1;else if(o.prop!==a.prop)return!1}o=c[0];var h=o.value;if(Array.isArray(h))if(h.length===1)h=h[0];else return!1;r&&(r[h]=n)}return a};function xne(e,t,r){var n,i,a,o=!1;if(t.type===\"data\")n=e._fullData[t.traces!==null?t.traces[0]:0];else if(t.type===\"layout\")n=e._fullLayout;else return!1;return i=b3.nestedProperty(n,t.prop).get(),a=r[t.type]=r[t.type]||{},a.hasOwnProperty(t.prop)&&a[t.prop]!==i&&(o=!0),a[t.prop]=i,{changed:o,value:i}}gb.executeAPICommand=function(e,t,r){if(t===\"skip\")return Promise.resolve();var n=kit.apiMethodRegistry[t],i=[e];Array.isArray(r)||(r=[]);for(var a=0;a<r.length;a++)i.push(r[a]);return n.apply(null,i).catch(function(o){return b3.warn(\"API call to Plotly.\"+t+\" rejected.\",o),Promise.reject(o)})};gb.computeAPICommandBindings=function(e,t,r){var n;switch(Array.isArray(r)||(r=[]),t){case\"restyle\":n=wne(e,r);break;case\"relayout\":n=bne(e,r);break;case\"update\":n=wne(e,[r[0],r[2]]).concat(bne(e,[r[1]]));break;case\"animate\":n=Cit(e,r);break;default:n=[]}return n};function Cit(e,t){return Array.isArray(t[0])&&t[0].length===1&&[\"string\",\"number\"].indexOf(typeof t[0][0])!==-1?[{type:\"layout\",prop:\"_currentFrame\",value:t[0][0].toString()}]:[]}function bne(e,t){var r=[],n=t[0],i={};if(typeof n==\"string\")i[n]=t[1];else if(b3.isPlainObject(n))i=n;else return r;return sO(i,function(a,o,s){r.push({type:\"layout\",prop:a,value:s})},\"\",0),r}function wne(e,t){var r,n,i,a,o=[];if(n=t[0],i=t[1],r=t[2],a={},typeof n==\"string\")a[n]=i;else if(b3.isPlainObject(n))a=n,r===void 0&&(r=i);else return o;return r===void 0&&(r=null),sO(a,function(s,l,u){var c,f;if(Array.isArray(u)){f=u.slice();var h=Math.min(f.length,e.data.length);r&&(h=Math.min(h,r.length)),c=[];for(var d=0;d<h;d++)c[d]=r?r[d]:d}else f=u,c=r?r.slice():null;if(c===null)Array.isArray(f)&&(f=f[0]);else if(Array.isArray(c)){if(!Array.isArray(f)){var v=f;f=[];for(var x=0;x<c.length;x++)f[x]=v}f.length=Math.min(c.length,f.length)}o.push({type:\"data\",prop:s,traces:c,value:f})},\"\",0),o}function sO(e,t,r,n){Object.keys(e).forEach(function(i){var a=e[i];if(i[0]!==\"_\"){var o=r+(n>0?\".\":\"\")+i;b3.isPlainObject(a)?sO(a,t,o,n+1):t(o,i,a)}})}});var Xu=ye((Htr,qne)=>{\"use strict\";var Lne=xa(),Lit=e3().timeFormatLocale,Pit=vq().formatLocale,jS=uo(),Iit=pq(),bl=ba(),Pne=_3(),Rit=Vs(),Ca=Mr(),Ine=va(),Ane=es().BADNUM,Ap=af(),Dit=e_().clearOutline,zit=V6(),lO=zS(),Fit=tO(),qit=kd().getModuleCalcData,Sne=Ca.relinkPrivateKeys,mb=Ca._,ha=qne.exports={};Ca.extendFlat(ha,bl);ha.attributes=vl();ha.attributes.type.values=ha.allTypes;ha.fontAttrs=Su();ha.layoutAttributes=s3();var W6=Tne();ha.executeAPICommand=W6.executeAPICommand;ha.computeAPICommandBindings=W6.computeAPICommandBindings;ha.manageCommandObserver=W6.manageCommandObserver;ha.hasSimpleAPICommandBindings=W6.hasSimpleAPICommandBindings;ha.redrawText=function(e){return e=Ca.getGraphDiv(e),new Promise(function(t){setTimeout(function(){e._fullLayout&&(bl.getComponentMethod(\"annotations\",\"draw\")(e),bl.getComponentMethod(\"legend\",\"draw\")(e),bl.getComponentMethod(\"colorbar\",\"draw\")(e),t(ha.previousPromises(e)))},300)})};ha.resize=function(e){e=Ca.getGraphDiv(e);var t,r=new Promise(function(n,i){(!e||Ca.isHidden(e))&&i(new Error(\"Resize must be passed a displayed plot div element.\")),e._redrawTimer&&clearTimeout(e._redrawTimer),e._resolveResize&&(t=e._resolveResize),e._resolveResize=n,e._redrawTimer=setTimeout(function(){if(!e.layout||e.layout.width&&e.layout.height||Ca.isHidden(e)){n(e);return}delete e.layout.width,delete e.layout.height;var a=e.changed;e.autoplay=!0,bl.call(\"relayout\",e,{autosize:!0}).then(function(){e.changed=a,e._resolveResize===n&&(delete e._resolveResize,n(e))})},100)});return t&&t(r),r};ha.previousPromises=function(e){if((e._promises||[]).length)return Promise.all(e._promises).then(function(){e._promises=[]})};ha.addLinks=function(e){if(!(!e._context.showLink&&!e._context.showSources)){var t=e._fullLayout,r=Ca.ensureSingle(t._paper,\"text\",\"js-plot-link-container\",function(l){l.style({\"font-family\":'\"Open Sans\", Arial, sans-serif',\"font-size\":\"12px\",fill:Ine.defaultLine,\"pointer-events\":\"all\"}).each(function(){var u=Lne.select(this);u.append(\"tspan\").classed(\"js-link-to-tool\",!0),u.append(\"tspan\").classed(\"js-link-spacer\",!0),u.append(\"tspan\").classed(\"js-sourcelinks\",!0)})}),n=r.node(),i={y:t._paper.attr(\"height\")-9};document.body.contains(n)&&n.getComputedTextLength()>=t.width-20?(i[\"text-anchor\"]=\"start\",i.x=5):(i[\"text-anchor\"]=\"end\",i.x=t._paper.attr(\"width\")-7),r.attr(i);var a=r.select(\".js-link-to-tool\"),o=r.select(\".js-link-spacer\"),s=r.select(\".js-sourcelinks\");e._context.showSources&&e._context.showSources(e),e._context.showLink&&Oit(e,a),o.text(a.text()&&s.text()?\" - \":\"\")}};function Oit(e,t){t.text(\"\");var r=t.append(\"a\").attr({\"xlink:xlink:href\":\"#\",class:\"link--impt link--embedview\",\"font-weight\":\"bold\"}).text(e._context.linkText+\" \\xBB\");if(e._context.sendData)r.on(\"click\",function(){ha.sendDataToCloud(e)});else{var n=window.location.pathname.split(\"/\"),i=window.location.search;r.attr({\"xlink:xlink:show\":\"new\",\"xlink:xlink:href\":\"/\"+n[2].split(\".\")[0]+\"/\"+n[1]+i})}}ha.sendDataToCloud=function(e){var t=(window.PLOTLYENV||{}).BASE_URL||e._context.plotlyServerURL;if(t){e.emit(\"plotly_beforeexport\");var r=Lne.select(e).append(\"div\").attr(\"id\",\"hiddenform\").style(\"display\",\"none\"),n=r.append(\"form\").attr({action:t+\"/external\",method:\"post\",target:\"_blank\"}),i=n.append(\"input\").attr({type:\"text\",name:\"data\"});return i.node().value=ha.graphJson(e,!1,\"keepdata\"),n.node().submit(),r.remove(),e.emit(\"plotly_afterexport\"),!1}};var Bit=[\"days\",\"shortDays\",\"months\",\"shortMonths\",\"periods\",\"dateTime\",\"date\",\"time\",\"decimal\",\"thousands\",\"grouping\",\"currency\"],Nit=[\"year\",\"month\",\"dayMonth\",\"dayMonthYear\"];ha.supplyDefaults=function(e,t){var r=t&&t.skipUpdateCalc,n=e._fullLayout||{};if(n._skipDefaults){delete n._skipDefaults;return}var i=e._fullLayout={},a=e.layout||{},o=e._fullData||[],s=e._fullData=[],l=e.data||[],u=e.calcdata||[],c=e._context||{},f;e._transitionData||ha.createTransitionData(e),i._dfltTitle={plot:mb(e,\"Click to enter Plot title\"),subtitle:mb(e,\"Click to enter Plot subtitle\"),x:mb(e,\"Click to enter X axis title\"),y:mb(e,\"Click to enter Y axis title\"),colorbar:mb(e,\"Click to enter Colorscale title\"),annotation:mb(e,\"new text\")},i._traceWord=mb(e,\"trace\");var h=Mne(e,Bit);if(i._mapboxAccessToken=c.mapboxAccessToken,n._initialAutoSizeIsDone){var d=n.width,v=n.height;ha.supplyLayoutGlobalDefaults(a,i,h),a.width||(i.width=d),a.height||(i.height=v),ha.sanitizeMargins(i)}else{ha.supplyLayoutGlobalDefaults(a,i,h);var x=!a.width||!a.height,b=i.autosize,p=c.autosizable,E=x&&(b||p);E?ha.plotAutoSize(e,a,i):x&&ha.sanitizeMargins(i),!b&&x&&(a.width=i.width,a.height=i.height)}i._d3locale=Hit(h,i.separators),i._extraFormat=Mne(e,Nit),i._initialAutoSizeIsDone=!0,i._dataLength=l.length,i._modules=[],i._visibleModules=[],i._basePlotModules=[];var k=i._subplots=Vit(),A=i._splomAxes={x:{},y:{}},L=i._splomSubplots={};i._splomGridDflt={},i._scatterStackOpts={},i._firstScatter={},i._alignmentOpts={},i._colorAxes={},i._requestRangeslider={},i._traceUids=Uit(o,l),ha.supplyDataDefaults(l,s,a,i);var _=Object.keys(A.x),C=Object.keys(A.y);if(_.length>1&&C.length>1){for(bl.getComponentMethod(\"grid\",\"sizeDefaults\")(a,i),f=0;f<_.length;f++)Ca.pushUnique(k.xaxis,_[f]);for(f=0;f<C.length;f++)Ca.pushUnique(k.yaxis,C[f]);for(var M in L)Ca.pushUnique(k.cartesian,M)}if(i._has=ha._hasPlotType.bind(i),o.length===s.length)for(f=0;f<s.length;f++)Sne(s[f],o[f]);ha.supplyLayoutModuleDefaults(a,i,s,e._transitionData);var g=i._visibleModules,P=[];for(f=0;f<g.length;f++){var T=g[f].crossTraceDefaults;T&&Ca.pushUnique(P,T)}for(f=0;f<P.length;f++)P[f](s,i);i._hasOnlyLargeSploms=i._basePlotModules.length===1&&i._basePlotModules[0].name===\"splom\"&&_.length>15&&C.length>15&&i.shapes.length===0&&i.images.length===0,ha.linkSubplots(s,i,o,n),ha.cleanPlot(s,i,o,n);var F=!!(n._has&&n._has(\"cartesian\")),q=!!(i._has&&i._has(\"cartesian\")),V=F,H=q;V&&!H?n._bgLayer.remove():H&&!V&&(i._shouldCreateBgLayer=!0),n._zoomlayer&&!e._dragging&&Dit({_fullLayout:n}),Git(s,i),Sne(i,n),bl.getComponentMethod(\"colorscale\",\"crossTraceDefaults\")(s,i),i._preGUI||(i._preGUI={}),i._tracePreGUI||(i._tracePreGUI={});var X=i._tracePreGUI,G={},N;for(N in X)G[N]=\"old\";for(f=0;f<s.length;f++)N=s[f]._fullInput.uid,G[N]||(X[N]={}),G[N]=\"new\";for(N in G)G[N]===\"old\"&&delete X[N];Rne(i),bl.getComponentMethod(\"rangeslider\",\"makeData\")(i),!r&&u.length===s.length&&ha.supplyDefaultsUpdateCalc(u,s)};ha.supplyDefaultsUpdateCalc=function(e,t){for(var r=0;r<t.length;r++){var n=t[r],i=(e[r]||[])[0];if(i&&i.trace){var a=i.trace;if(a._hasCalcTransform){var o=a._arrayAttrs,s,l,u;for(s=0;s<o.length;s++)l=o[s],u=Ca.nestedProperty(a,l).get().slice(),Ca.nestedProperty(n,l).set(u)}i.trace=n}}};function Uit(e,t){var r=t.length,n=[],i,a;for(i=0;i<e.length;i++){var o=e[i]._fullInput;o!==a&&n.push(o),a=o}var s=n.length,l=new Array(r),u={};function c(d,v){l[v]=d,u[d]=1}function f(d,v){if(d&&typeof d==\"string\"&&!u[d])return c(d,v),!0}for(i=0;i<r;i++){var h=t[i].uid;typeof h==\"number\"&&(h=String(h)),!f(h,i)&&(i<s&&f(n[i].uid,i)||c(Ca.randstr(u),i))}return l}function Vit(){var e=bl.collectableSubplotTypes,t={},r,n;if(!e){e=[];var i=bl.subplotsRegistry;for(var a in i){var o=i[a],s=o.attr;if(s&&(e.push(a),Array.isArray(s)))for(n=0;n<s.length;n++)Ca.pushUnique(e,s[n])}}for(r=0;r<e.length;r++)t[e[r]]=[];return t}function Mne(e,t){var r=e._context.locale;r||(r=\"en-US\");var n=!1,i={};function a(f){for(var h=!0,d=0;d<t.length;d++){var v=t[d];i[v]||(f[v]?i[v]=f[v]:h=!1)}h&&(n=!0)}for(var o=0;o<2;o++){for(var s=e._context.locales,l=0;l<2;l++){var u=(s[r]||{}).format;if(u&&(a(u),n))break;s=bl.localeRegistry}var c=r.split(\"-\")[0];if(n||c===r)break;r=c}return n||a(bl.localeRegistry.en.format),i}function Hit(e,t){return e.decimal=t.charAt(0),e.thousands=t.charAt(1),{numberFormat:function(r){try{r=Pit(e).format(Ca.adjustFormat(r))}catch(n){return Ca.warnBadFormat(r),Ca.noFormat}return r},timeFormat:Lit(e).utcFormat}}function Git(e,t){var r,n=[];t.meta&&(r=t._meta={meta:t.meta,layout:{meta:t.meta}});for(var i=0;i<e.length;i++){var a=e[i];a.meta?n[a.index]=a._meta={meta:a.meta}:t.meta&&(a._meta={meta:t.meta}),t.meta&&(a._meta.layout={meta:t.meta})}n.length&&(r||(r=t._meta={}),r.data=n)}ha.createTransitionData=function(e){e._transitionData||(e._transitionData={}),e._transitionData._frames||(e._transitionData._frames=[]),e._transitionData._frameHash||(e._transitionData._frameHash={}),e._transitionData._counter||(e._transitionData._counter=0),e._transitionData._interruptCallbacks||(e._transitionData._interruptCallbacks=[])};ha._hasPlotType=function(e){var t,r=this._basePlotModules||[];for(t=0;t<r.length;t++)if(r[t].name===e)return!0;var n=this._modules||[];for(t=0;t<n.length;t++){var i=n[t].name;if(i===e)return!0;var a=bl.modules[i];if(a&&a.categories[e])return!0}return!1};ha.cleanPlot=function(e,t,r,n){var i,a,o=n._basePlotModules||[];for(i=0;i<o.length;i++){var s=o[i];s.clean&&s.clean(e,t,r,n)}var l=n._has&&n._has(\"gl\"),u=t._has&&t._has(\"gl\");l&&!u&&n._glcontainer!==void 0&&(n._glcontainer.selectAll(\".gl-canvas\").remove(),n._glcontainer.selectAll(\".no-webgl\").remove(),n._glcanvas=null);var c=!!n._infolayer;e:for(i=0;i<r.length;i++){var f=r[i],h=f.uid;for(a=0;a<e.length;a++){var d=e[a];if(h===d.uid)continue e}c&&n._infolayer.select(\".cb\"+h).remove()}};ha.linkSubplots=function(e,t,r,n){var i,a,o=n._plots||{},s=t._plots={},l=t._subplots,u={_fullData:e,_fullLayout:t},c=l.cartesian||[];for(i=0;i<c.length;i++){var f=c[i],h=o[f],d=Ap.getFromId(u,f,\"x\"),v=Ap.getFromId(u,f,\"y\"),x;for(h?x=s[f]=h:(x=s[f]={},x.id=f),d._counterAxes.push(v._id),v._counterAxes.push(d._id),d._subplotsWith.push(f),v._subplotsWith.push(f),x.xaxis=d,x.yaxis=v,x._hasClipOnAxisFalse=!1,a=0;a<e.length;a++){var b=e[a];if(b.xaxis===x.xaxis._id&&b.yaxis===x.yaxis._id&&b.cliponaxis===!1){x._hasClipOnAxisFalse=!0;break}}}var p=Ap.list(u,null,!0),E;for(i=0;i<p.length;i++){E=p[i];var k=null;E.overlaying&&(k=Ap.getFromId(u,E.overlaying),k&&k.overlaying&&(E.overlaying=!1,k=null)),E._mainAxis=k||E,k&&(E.domain=k.domain.slice()),E._anchorAxis=E.anchor===\"free\"?null:Ap.getFromId(u,E.anchor)}for(i=0;i<p.length;i++)if(E=p[i],E._counterAxes.sort(Ap.idSort),E._subplotsWith.sort(Ca.subplotSort),E._mainSubplot=jit(E,t),E._counterAxes.length&&(E.spikemode&&E.spikemode.indexOf(\"across\")!==-1||E.automargin&&E.mirror&&E.anchor!==\"free\"||bl.getComponentMethod(\"rangeslider\",\"isVisible\")(E))){var A=1,L=0;for(a=0;a<E._counterAxes.length;a++){var _=Ap.getFromId(u,E._counterAxes[a]);A=Math.min(A,_.domain[0]),L=Math.max(L,_.domain[1])}A<L&&(E._counterDomainMin=A,E._counterDomainMax=L)}};function jit(e,t){var r={_fullLayout:t},n=e._id.charAt(0)===\"x\",i=e._mainAxis._anchorAxis,a=\"\",o=\"\",s=\"\";if(i&&(s=i._mainAxis._id,a=n?e._id+s:s+e._id),!a||!t._plots[a]){a=\"\";for(var l=e._counterAxes,u=0;u<l.length;u++){var c=l[u],f=n?e._id+c:c+e._id;o||(o=f);var h=Ap.getFromId(r,c);if(s&&h.overlaying===s){a=f;break}}}return a||o}ha.clearExpandedTraceDefaultColors=function(e){var t,r,n;function i(o,s,l,u){r[u]=s,r.length=u+1,o.valType===\"color\"&&o.dflt===void 0&&t.push(r.join(\".\"))}for(r=[],t=e._module._colorAttrs,t||(e._module._colorAttrs=t=[],Pne.crawl(e._module.attributes,i)),n=0;n<t.length;n++){var a=Ca.nestedProperty(e,\"_input.\"+t[n]);a.get()||Ca.nestedProperty(e,t[n]).set(null)}};ha.supplyDataDefaults=function(e,t,r,n){var i=n._modules,a=n._visibleModules,o=n._basePlotModules,s=0,l=0,u,c,f;n._transformModules=[];function h(E){t.push(E);var k=E._module;k&&(Ca.pushUnique(i,k),E.visible===!0&&Ca.pushUnique(a,k),Ca.pushUnique(o,E._module.basePlotModule),s++,E._input.visible!==!1&&l++)}var d={},v=[],x=(r.template||{}).data||{},b=Rit.traceTemplater(x);for(u=0;u<e.length;u++)f=e[u],c=b.newTrace(f),c.uid=n._traceUids[u],ha.supplyTraceDefaults(f,c,l,n,u),c.index=u,c._input=f,c._fullInput=c,h(c),bl.traceIs(c,\"carpetAxis\")&&(d[c.carpet]=c),bl.traceIs(c,\"carpetDependent\")&&v.push(u);for(u=0;u<v.length;u++)if(c=t[v[u]],!!c.visible){var p=d[c.carpet];if(c._carpet=p,!p||!p.visible){c.visible=!1;continue}c.xaxis=p.xaxis,c.yaxis=p.yaxis}};ha.supplyAnimationDefaults=function(e){e=e||{};var t,r={};function n(i,a){return Ca.coerce(e||{},r,lO,i,a)}if(n(\"mode\"),n(\"direction\"),n(\"fromcurrent\"),Array.isArray(e.frame))for(r.frame=[],t=0;t<e.frame.length;t++)r.frame[t]=ha.supplyAnimationFrameDefaults(e.frame[t]||{});else r.frame=ha.supplyAnimationFrameDefaults(e.frame||{});if(Array.isArray(e.transition))for(r.transition=[],t=0;t<e.transition.length;t++)r.transition[t]=ha.supplyAnimationTransitionDefaults(e.transition[t]||{});else r.transition=ha.supplyAnimationTransitionDefaults(e.transition||{});return r};ha.supplyAnimationFrameDefaults=function(e){var t={};function r(n,i){return Ca.coerce(e||{},t,lO.frame,n,i)}return r(\"duration\"),r(\"redraw\"),t};ha.supplyAnimationTransitionDefaults=function(e){var t={};function r(n,i){return Ca.coerce(e||{},t,lO.transition,n,i)}return r(\"duration\"),r(\"easing\"),t};ha.supplyFrameDefaults=function(e){var t={};function r(n,i){return Ca.coerce(e,t,Fit,n,i)}return r(\"group\"),r(\"name\"),r(\"traces\"),r(\"baseframe\"),r(\"data\"),r(\"layout\"),t};ha.supplyTraceDefaults=function(e,t,r,n,i){var a=n.colorway||Ine.defaults,o=a[r%a.length],s;function l(k,A){return Ca.coerce(e,t,ha.attributes,k,A)}var u=l(\"visible\");l(\"type\"),l(\"name\",n._traceWord+\" \"+i),l(\"uirevision\",n.uirevision);var c=ha.getModule(t);if(t._module=c,c){var f=c.basePlotModule,h=f.attr,d=f.attributes;if(h&&d){var v=n._subplots,x=\"\";if(Array.isArray(h))for(s=0;s<h.length;s++){var b=h[s],p=Ca.coerce(e,t,d,b);v[b]&&Ca.pushUnique(v[b],p),x+=p}else x=Ca.coerce(e,t,d,h);v[f.name]&&Ca.pushUnique(v[f.name],x)}}if(u&&(l(\"customdata\"),l(\"ids\"),l(\"meta\"),bl.traceIs(t,\"showLegend\")?(Ca.coerce(e,t,c.attributes.showlegend?c.attributes:ha.attributes,\"showlegend\"),l(\"legend\"),l(\"legendwidth\"),l(\"legendgroup\"),l(\"legendgrouptitle.text\"),l(\"legendrank\"),t._dfltShowLegend=!0):t._dfltShowLegend=!1,c&&c.supplyDefaults(e,t,o,n),bl.traceIs(t,\"noOpacity\")||l(\"opacity\"),bl.traceIs(t,\"notLegendIsolatable\")&&(t.visible=!!t.visible),bl.traceIs(t,\"noHover\")||(t.hovertemplate||Ca.coerceHoverinfo(e,t,n),t.type!==\"parcats\"&&bl.getComponentMethod(\"fx\",\"supplyDefaults\")(e,t,o,n)),c&&c.selectPoints)){var E=l(\"selectedpoints\");Ca.isTypedArray(E)&&(t.selectedpoints=Array.from(E))}return t};ha.supplyLayoutGlobalDefaults=function(e,t,r){function n(f,h){return Ca.coerce(e,t,ha.layoutAttributes,f,h)}var i=e.template;Ca.isPlainObject(i)&&(t.template=i,t._template=i.layout,t._dataTemplate=i.data),n(\"autotypenumbers\");var a=Ca.coerceFont(n,\"font\"),o=a.size;Ca.coerceFont(n,\"title.font\",a,{overrideDflt:{size:Math.round(o*1.4)}}),n(\"title.text\",t._dfltTitle.plot),n(\"title.xref\");var s=n(\"title.yref\");n(\"title.pad.t\"),n(\"title.pad.r\"),n(\"title.pad.b\"),n(\"title.pad.l\");var l=n(\"title.automargin\");n(\"title.x\"),n(\"title.xanchor\"),n(\"title.y\"),n(\"title.yanchor\"),n(\"title.subtitle.text\",t._dfltTitle.subtitle),Ca.coerceFont(n,\"title.subtitle.font\",a,{overrideDflt:{size:Math.round(t.title.font.size*.7)}}),l&&(s===\"paper\"&&(t.title.y!==0&&(t.title.y=1),t.title.yanchor===\"auto\"&&(t.title.yanchor=t.title.y===0?\"top\":\"bottom\")),s===\"container\"&&(t.title.y===\"auto\"&&(t.title.y=1),t.title.yanchor===\"auto\"&&(t.title.yanchor=t.title.y<.5?\"bottom\":\"top\")));var u=n(\"uniformtext.mode\");u&&n(\"uniformtext.minsize\"),n(\"autosize\",!(e.width&&e.height)),n(\"width\"),n(\"height\"),n(\"minreducedwidth\"),n(\"minreducedheight\"),n(\"margin.l\"),n(\"margin.r\"),n(\"margin.t\"),n(\"margin.b\"),n(\"margin.pad\"),n(\"margin.autoexpand\"),e.width&&e.height&&ha.sanitizeMargins(t),bl.getComponentMethod(\"grid\",\"sizeDefaults\")(e,t),n(\"paper_bgcolor\"),n(\"separators\",r.decimal+r.thousands),n(\"hidesources\"),n(\"colorway\"),n(\"datarevision\");var c=n(\"uirevision\");n(\"editrevision\",c),n(\"selectionrevision\",c),bl.getComponentMethod(\"modebar\",\"supplyLayoutDefaults\")(e,t),bl.getComponentMethod(\"shapes\",\"supplyDrawNewShapeDefaults\")(e,t,n),bl.getComponentMethod(\"selections\",\"supplyDrawNewSelectionDefaults\")(e,t,n),n(\"meta\"),Ca.isPlainObject(e.transition)&&(n(\"transition.duration\"),n(\"transition.easing\"),n(\"transition.ordering\")),bl.getComponentMethod(\"calendars\",\"handleDefaults\")(e,t,\"calendar\"),bl.getComponentMethod(\"fx\",\"supplyLayoutGlobalDefaults\")(e,t,n),Ca.coerce(e,t,zit,\"scattermode\")};function j6(e){return typeof e==\"string\"&&e.substr(e.length-2)===\"px\"&&parseFloat(e)}ha.plotAutoSize=function(t,r,n){var i=t._context||{},a=i.frameMargins,o,s,l=Ca.isPlotDiv(t);if(l&&t.emit(\"plotly_autosize\"),i.fillFrame)o=window.innerWidth,s=window.innerHeight,document.body.style.overflow=\"hidden\";else{var u=l?window.getComputedStyle(t):{};if(o=j6(u.width)||j6(u.maxWidth)||n.width,s=j6(u.height)||j6(u.maxHeight)||n.height,jS(a)&&a>0){var c=1-2*a;o=Math.round(c*o),s=Math.round(c*s)}}var f=ha.layoutAttributes.width.min,h=ha.layoutAttributes.height.min;o<f&&(o=f),s<h&&(s=h);var d=!r.width&&Math.abs(n.width-o)>1,v=!r.height&&Math.abs(n.height-s)>1;(v||d)&&(d&&(n.width=o),v&&(n.height=s)),t._initialAutoSize||(t._initialAutoSize={width:o,height:s}),ha.sanitizeMargins(n)};ha.supplyLayoutModuleDefaults=function(e,t,r,n){var i=bl.componentsRegistry,a=t._basePlotModules,o,s,l,u=bl.subplotsRegistry.cartesian;for(o in i)l=i[o],l.includeBasePlot&&l.includeBasePlot(e,t);a.length||a.push(u),t._has(\"cartesian\")&&(bl.getComponentMethod(\"grid\",\"contentDefaults\")(e,t),u.finalizeSubplots(e,t));for(var c in t._subplots)t._subplots[c].sort(Ca.subplotSort);for(s=0;s<a.length;s++)l=a[s],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r);var f=t._modules;for(s=0;s<f.length;s++)l=f[s],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r);var h=t._transformModules;for(s=0;s<h.length;s++)l=h[s],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r,n);for(o in i)l=i[o],l.supplyLayoutDefaults&&l.supplyLayoutDefaults(e,t,r)};ha.purge=function(e){var t=e._fullLayout||{};t._glcontainer!==void 0&&(t._glcontainer.selectAll(\".gl-canvas\").remove(),t._glcontainer.remove(),t._glcanvas=null),t._modeBar&&t._modeBar.destroy(),e._transitionData&&(e._transitionData._interruptCallbacks&&(e._transitionData._interruptCallbacks.length=0),e._transitionData._animationRaf&&window.cancelAnimationFrame(e._transitionData._animationRaf)),Ca.clearThrottle(),Ca.clearResponsive(e),delete e.data,delete e.layout,delete e._fullData,delete e._fullLayout,delete e.calcdata,delete e.empty,delete e.fid,delete e.undoqueue,delete e.undonum,delete e.autoplay,delete e.changed,delete e._promises,delete e._redrawTimer,delete e._hmlumcount,delete e._hmpixcount,delete e._transitionData,delete e._transitioning,delete e._initialAutoSize,delete e._transitioningWithDuration,delete e._dragging,delete e._dragged,delete e._dragdata,delete e._hoverdata,delete e._snapshotInProgress,delete e._editing,delete e._mouseDownTime,delete e._legendMouseDownTime,e.removeAllListeners&&e.removeAllListeners()};ha.style=function(e){var t=e._fullLayout._visibleModules,r=[],n;for(n=0;n<t.length;n++){var i=t[n];i.style&&Ca.pushUnique(r,i.style)}for(n=0;n<r.length;n++)r[n](e)};ha.sanitizeMargins=function(e){if(!(!e||!e.margin)){var t=e.width,r=e.height,n=e.margin,i=t-(n.l+n.r),a=r-(n.t+n.b),o;i<0&&(o=(t-1)/(n.l+n.r),n.l=Math.floor(o*n.l),n.r=Math.floor(o*n.r)),a<0&&(o=(r-1)/(n.t+n.b),n.t=Math.floor(o*n.t),n.b=Math.floor(o*n.b))}};ha.clearAutoMarginIds=function(e){e._fullLayout._pushmarginIds={}};ha.allowAutoMargin=function(e,t){e._fullLayout._pushmarginIds[t]=1};function Rne(e){var t=e.margin;if(!e._size){var r=e._size={l:Math.round(t.l),r:Math.round(t.r),t:Math.round(t.t),b:Math.round(t.b),p:Math.round(t.pad)};r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b}e._pushmargin||(e._pushmargin={}),e._pushmarginIds||(e._pushmarginIds={}),e._reservedMargin||(e._reservedMargin={})}var Dne=2,zne=2;ha.autoMargin=function(e,t,r){var n=e._fullLayout,i=n.width,a=n.height,o=n.margin,s=n.minreducedwidth,l=n.minreducedheight,u=Ca.constrain(i-o.l-o.r,Dne,s),c=Ca.constrain(a-o.t-o.b,zne,l),f=Math.max(0,i-u),h=Math.max(0,a-c),d=n._pushmargin,v=n._pushmarginIds;if(o.autoexpand!==!1){if(!r)delete d[t],delete v[t];else{var x=r.pad;if(x===void 0&&(x=Math.min(12,o.l,o.r,o.t,o.b)),f){var b=(r.l+r.r)/f;b>1&&(r.l/=b,r.r/=b)}if(h){var p=(r.t+r.b)/h;p>1&&(r.t/=p,r.b/=p)}var E=r.xl!==void 0?r.xl:r.x,k=r.xr!==void 0?r.xr:r.x,A=r.yt!==void 0?r.yt:r.y,L=r.yb!==void 0?r.yb:r.y;d[t]={l:{val:E,size:r.l+x},r:{val:k,size:r.r+x},b:{val:L,size:r.b+x},t:{val:A,size:r.t+x}},v[t]=1}if(!n._replotting)return ha.doAutoMargin(e)}};function Wit(e){if(\"_redrawFromAutoMarginCount\"in e._fullLayout)return!1;var t=Ap.list(e,\"\",!0);for(var r in t)if(t[r].autoshift||t[r].shift)return!0;return!1}ha.doAutoMargin=function(e){var t=e._fullLayout,r=t.width,n=t.height;t._size||(t._size={}),Rne(t);var i=t._size,a=t.margin,o={t:0,b:0,l:0,r:0},s=Ca.extendFlat({},i),l=a.l,u=a.r,c=a.t,f=a.b,h=t._pushmargin,d=t._pushmarginIds,v=t.minreducedwidth,x=t.minreducedheight;if(a.autoexpand!==!1){for(var b in h)d[b]||delete h[b];var p=e._fullLayout._reservedMargin;for(var E in p)for(var k in p[E]){var A=p[E][k];o[k]=Math.max(o[k],A)}h.base={l:{val:0,size:l},r:{val:1,size:u},t:{val:1,size:c},b:{val:0,size:f}};for(var L in o){var _=0;for(var C in h)C!==\"base\"&&jS(h[C][L].size)&&(_=h[C][L].size>_?h[C][L].size:_);var M=Math.max(0,a[L]-_);o[L]=Math.max(0,o[L]-M)}for(var g in h){var P=h[g].l||{},T=h[g].b||{},F=P.val,q=P.size,V=T.val,H=T.size,X=r-o.r-o.l,G=n-o.t-o.b;for(var N in h){if(jS(q)&&h[N].r){var W=h[N].r.val,re=h[N].r.size;if(W>F){var ae=(q*W+(re-X)*F)/(W-F),_e=(re*(1-F)+(q-X)*(1-W))/(W-F);ae+_e>l+u&&(l=ae,u=_e)}}if(jS(H)&&h[N].t){var Me=h[N].t.val,ke=h[N].t.size;if(Me>V){var ge=(H*Me+(ke-G)*V)/(Me-V),ie=(ke*(1-V)+(H-G)*(1-Me))/(Me-V);ge+ie>f+c&&(f=ge,c=ie)}}}}}var Te=Ca.constrain(r-a.l-a.r,Dne,v),Ee=Ca.constrain(n-a.t-a.b,zne,x),Ae=Math.max(0,r-Te),ze=Math.max(0,n-Ee);if(Ae){var Ce=(l+u)/Ae;Ce>1&&(l/=Ce,u/=Ce)}if(ze){var me=(f+c)/ze;me>1&&(f/=me,c/=me)}if(i.l=Math.round(l)+o.l,i.r=Math.round(u)+o.r,i.t=Math.round(c)+o.t,i.b=Math.round(f)+o.b,i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!t._replotting&&(ha.didMarginChange(s,i)||Wit(e))){\"_redrawFromAutoMarginCount\"in t?t._redrawFromAutoMarginCount++:t._redrawFromAutoMarginCount=1;var Re=3*(1+Object.keys(d).length);if(t._redrawFromAutoMarginCount<Re)return bl.call(\"_doPlot\",e);t._size=s,Ca.warn(\"Too many auto-margin redraws.\")}Zit(e)};function Zit(e){var t=Ap.list(e,\"\",!0);[\"_adjustTickLabelsOverflow\",\"_hideCounterAxisInsideTickLabels\"].forEach(function(r){for(var n=0;n<t.length;n++){var i=t[n][r];i&&i()}})}var Ene=[\"l\",\"r\",\"t\",\"b\",\"p\",\"w\",\"h\"];ha.didMarginChange=function(e,t){for(var r=0;r<Ene.length;r++){var n=Ene[r],i=e[n],a=t[n];if(!jS(i)||Math.abs(a-i)>1)return!0}return!1};ha.graphJson=function(e,t,r,n,i,a){(i&&t&&!e._fullData||i&&!t&&!e._fullLayout)&&ha.supplyDefaults(e);var o=i?e._fullData:e.data,s=i?e._fullLayout:e.layout,l=(e._transitionData||{})._frames;function u(h,d){if(typeof h==\"function\")return d?\"_function_\":null;if(Ca.isPlainObject(h)){var v={},x;return Object.keys(h).sort().forEach(function(k){if([\"_\",\"[\"].indexOf(k.charAt(0))===-1){if(typeof h[k]==\"function\"){d&&(v[k]=\"_function\");return}if(r===\"keepdata\"){if(k.substr(k.length-3)===\"src\")return}else if(r===\"keepstream\"){if(x=h[k+\"src\"],typeof x==\"string\"&&x.indexOf(\":\")>0&&!Ca.isPlainObject(h.stream))return}else if(r!==\"keepall\"&&(x=h[k+\"src\"],typeof x==\"string\"&&x.indexOf(\":\")>0))return;v[k]=u(h[k],d)}}),v}var b=Array.isArray(h),p=Ca.isTypedArray(h);if((b||p)&&h.dtype&&h.shape){var E=h.bdata;return u({dtype:h.dtype,shape:h.shape,bdata:Ca.isArrayBuffer(E)?Iit.encode(E):E},d)}return b?h.map(function(k){return u(k,d)}):p?Ca.simpleMap(h,Ca.identity):Ca.isJSDate(h)?Ca.ms2DateTimeLocal(+h):h}var c={data:(o||[]).map(function(h){var d=u(h);return t&&delete d.fit,d})};if(!t&&(c.layout=u(s),i)){var f=s._size;c.layout.computed={margin:{b:f.b,l:f.l,r:f.r,t:f.t}}}return l&&(c.frames=u(l)),a&&(c.config=u(e._context,!0)),n===\"object\"?c:JSON.stringify(c)};ha.modifyFrames=function(e,t){var r,n,i,a=e._transitionData._frames,o=e._transitionData._frameHash;for(r=0;r<t.length;r++)switch(n=t[r],n.type){case\"replace\":i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&&(delete o[s],o[l]=i);break;case\"insert\":i=n.value,o[i.name]=i,a.splice(n.index,0,i);break;case\"delete\":i=a[n.index],delete o[i.name],a.splice(n.index,1);break}return Promise.resolve()};ha.computeFrame=function(e,t){var r=e._transitionData._frameHash,n,i,a,o;if(!t)throw new Error(\"computeFrame must be given a string frame name\");var s=r[t.toString()];if(!s)return!1;for(var l=[s],u=[s.name];s.baseframe&&(s=r[s.baseframe.toString()])&&u.indexOf(s.name)===-1;)l.push(s),u.push(s.name);for(var c={};s=l.pop();)if(s.layout&&(c.layout=ha.extendLayout(c.layout,s.layout)),s.data){if(c.data||(c.data=[]),i=s.traces,!i)for(i=[],n=0;n<s.data.length;n++)i[n]=n;for(c.traces||(c.traces=[]),n=0;n<s.data.length;n++)a=i[n],a!=null&&(o=c.traces.indexOf(a),o===-1&&(o=c.data.length,c.traces[o]=a),c.data[o]=ha.extendTrace(c.data[o],s.data[n]))}return c};ha.recomputeFrameHash=function(e){for(var t=e._transitionData._frameHash={},r=e._transitionData._frames,n=0;n<r.length;n++){var i=r[n];i&&i.name&&(t[i.name]=i)}};ha.extendObjectWithContainers=function(e,t,r){var n,i,a,o,s,l,u,c,f=Ca.extendDeepNoArrays({},t||{}),h=Ca.expandObjectPaths(f),d={};if(r&&r.length)for(a=0;a<r.length;a++)n=Ca.nestedProperty(h,r[a]),i=n.get(),i===void 0?Ca.nestedProperty(d,r[a]).set(null):(n.set(null),Ca.nestedProperty(d,r[a]).set(i));if(e=Ca.extendDeepNoArrays(e||{},h),r&&r.length){for(a=0;a<r.length;a++)if(s=Ca.nestedProperty(d,r[a]),u=s.get(),!!u){for(l=Ca.nestedProperty(e,r[a]),c=l.get(),Array.isArray(c)||(c=[],l.set(c)),o=0;o<u.length;o++){var v=u[o];v===null?c[o]=null:c[o]=ha.extendObjectWithContainers(c[o],v)}l.set(c)}}return e};ha.dataArrayContainers=[\"transforms\",\"dimensions\"];ha.layoutArrayContainers=bl.layoutArrayContainers;ha.extendTrace=function(e,t){return ha.extendObjectWithContainers(e,t,ha.dataArrayContainers)};ha.extendLayout=function(e,t){return ha.extendObjectWithContainers(e,t,ha.layoutArrayContainers)};ha.transition=function(e,t,r,n,i,a){var o={redraw:i.redraw},s={},l=[];return o.prepareFn=function(){for(var u=Array.isArray(t)?t.length:0,c=n.slice(0,u),f=0;f<c.length;f++){var h=c[f],d=e._fullData[h],v=d._module;if(v){if(v.animatable){var x=v.basePlotModule.name;s[x]||(s[x]=[]),s[x].push(h)}e.data[c[f]]=ha.extendTrace(e.data[c[f]],t[f])}}var b=Ca.expandObjectPaths(Ca.extendDeepNoArrays({},r)),p=/^[xy]axis[0-9]*$/;for(var E in b)p.test(E)&&delete b[E].range;ha.extendLayout(e.layout,b),delete e.calcdata,ha.supplyDefaults(e),ha.doCalcdata(e);var k=Ca.expandObjectPaths(r);if(k){var A=e._fullLayout._plots;for(var L in A){var _=A[L],C=_.xaxis,M=_.yaxis,g=C.range.slice(),P=M.range.slice(),T=null,F=null,q=null,V=null;Array.isArray(k[C._name+\".range\"])?T=k[C._name+\".range\"].slice():Array.isArray((k[C._name]||{}).range)&&(T=k[C._name].range.slice()),Array.isArray(k[M._name+\".range\"])?F=k[M._name+\".range\"].slice():Array.isArray((k[M._name]||{}).range)&&(F=k[M._name].range.slice()),g&&T&&(C.r2l(g[0])!==C.r2l(T[0])||C.r2l(g[1])!==C.r2l(T[1]))&&(q={xr0:g,xr1:T}),P&&F&&(M.r2l(P[0])!==M.r2l(F[0])||M.r2l(P[1])!==M.r2l(F[1]))&&(V={yr0:P,yr1:F}),(q||V)&&l.push(Ca.extendFlat({plotinfo:_},q,V))}}return Promise.resolve()},o.runFn=function(u){var c,f=e._fullLayout._basePlotModules,h=l.length,d;if(r)for(d=0;d<f.length;d++)f[d].transitionAxes&&f[d].transitionAxes(e,l,a,u);h?(c=Ca.extendFlat({},a),c.duration=0,delete s.cartesian):c=a;for(var v in s){var x=s[v],b=e._fullData[x[0]]._module;b.basePlotModule.plot(e,x,c,u)}},Fne(e,a,o)};ha.transitionFromReact=function(e,t,r,n){var i=e._fullLayout,a=i.transition,o={},s=[];return o.prepareFn=function(){var l=i._plots;o.redraw=!1,t.anim===\"some\"&&(o.redraw=!0),r.anim===\"some\"&&(o.redraw=!0);for(var u in l){var c=l[u],f=c.xaxis,h=c.yaxis,d=n[f._name].range.slice(),v=n[h._name].range.slice(),x=f.range.slice(),b=h.range.slice();f.setScale(),h.setScale();var p=null,E=null;(f.r2l(d[0])!==f.r2l(x[0])||f.r2l(d[1])!==f.r2l(x[1]))&&(p={xr0:d,xr1:x}),(h.r2l(v[0])!==h.r2l(b[0])||h.r2l(v[1])!==h.r2l(b[1]))&&(E={yr0:v,yr1:b}),(p||E)&&s.push(Ca.extendFlat({plotinfo:c},p,E))}return Promise.resolve()},o.runFn=function(l){for(var u=e._fullData,c=e._fullLayout,f=c._basePlotModules,h,d,v,x=[],b=0;b<u.length;b++)x.push(b);function p(){if(e._fullLayout)for(var k=0;k<f.length;k++)f[k].transitionAxes&&f[k].transitionAxes(e,s,h,l)}function E(){if(e._fullLayout)for(var k=0;k<f.length;k++)f[k].plot(e,v,d,l)}s.length&&t.anim?a.ordering===\"traces first\"?(h=Ca.extendFlat({},a,{duration:0}),v=x,d=a,setTimeout(p,a.duration),E()):(h=a,v=null,d=Ca.extendFlat({},a,{duration:0}),setTimeout(E,h.duration),p()):s.length?(h=a,p()):t.anim&&(v=x,d=a,E())},Fne(e,a,o)};function Fne(e,t,r){var n=!1;function i(f){var h=Promise.resolve();if(!f)return h;for(;f.length;)h=h.then(f.shift());return h}function a(f){if(f)for(;f.length;)f.shift()}function o(){return e.emit(\"plotly_transitioning\",[]),new Promise(function(f){e._transitioning=!0,t.duration>0&&(e._transitioningWithDuration=!0),e._transitionData._interruptCallbacks.push(function(){n=!0}),r.redraw&&e._transitionData._interruptCallbacks.push(function(){return bl.call(\"redraw\",e)}),e._transitionData._interruptCallbacks.push(function(){e.emit(\"plotly_transitioninterrupted\",[])});var h=0,d=0;function v(){return h++,function(){d++,!n&&d===h&&s(f)}}r.runFn(v),setTimeout(v())})}function s(f){if(e._transitionData)return a(e._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(r.redraw)return bl.call(\"redraw\",e)}).then(function(){e._transitioning=!1,e._transitioningWithDuration=!1,e.emit(\"plotly_transitioned\",[])}).then(f)}function l(){if(e._transitionData)return e._transitioning=!1,i(e._transitionData._interruptCallbacks)}var u=[ha.previousPromises,l,r.prepareFn,ha.rehover,ha.reselect,o],c=Ca.syncOrAsync(u,e);return(!c||!c.then)&&(c=Promise.resolve()),c.then(function(){return e})}ha.doCalcdata=function(e,t){var r=Ap.list(e),n=e._fullData,i=e._fullLayout,a,o,s,l,u=new Array(n.length),c=(e.calcdata||[]).slice();for(e.calcdata=u,i._numBoxes=0,i._numViolins=0,i._violinScaleGroupStats={},e._hmpixcount=0,e._hmlumcount=0,i._piecolormap={},i._sunburstcolormap={},i._treemapcolormap={},i._iciclecolormap={},i._funnelareacolormap={},s=0;s<n.length;s++)if(Array.isArray(t)&&t.indexOf(s)===-1){u[s]=c[s];continue}for(s=0;s<n.length;s++)a=n[s],a._arrayAttrs=Pne.findArrayAttributes(a),a._extremes={};var f=i._subplots.polar||[];for(s=0;s<f.length;s++)r.push(i[f[s]].radialaxis,i[f[s]].angularaxis);for(var h in i._colorAxes){var d=i[h];d.cauto!==!1&&(delete d.cmin,delete d.cmax)}var v=!1;function x(E){if(a=n[E],o=a._module,a.visible===!0&&a.transforms){if(o&&o.calc){var k=o.calc(e,a);k[0]&&k[0].t&&k[0].t._scene&&delete k[0].t._scene.dirty}for(l=0;l<a.transforms.length;l++){var A=a.transforms[l];o=transformsRegistry[A.type],o&&o.calcTransform&&(a._hasCalcTransform=!0,v=!0,o.calcTransform(e,a,A))}}}function b(E,k){if(a=n[E],o=a._module,!!o.isContainer===k){var A=[];if(a.visible===!0&&a._length!==0){delete a._indexToPoints;var L=a.transforms||[];for(l=L.length-1;l>=0;l--)if(L[l].enabled){a._indexToPoints=L[l]._indexToPoints;break}o&&o.calc&&(A=o.calc(e,a))}(!Array.isArray(A)||!A[0])&&(A=[{x:Ane,y:Ane}]),A[0].t||(A[0].t={}),A[0].trace=a,u[E]=A}}for(kne(r,n,i),s=0;s<n.length;s++)b(s,!0);for(s=0;s<n.length;s++)x(s);for(v&&kne(r,n,i),s=0;s<n.length;s++)b(s,!0);for(s=0;s<n.length;s++)b(s,!1);Cne(e);var p=Yit(r,e);if(p.length){for(i._numBoxes=0,i._numViolins=0,s=0;s<p.length;s++)b(p[s],!0);for(s=0;s<p.length;s++)b(p[s],!1);Cne(e)}bl.getComponentMethod(\"fx\",\"calc\")(e),bl.getComponentMethod(\"errorbars\",\"calc\")(e)};var Xit=/(total|sum|min|max|mean|geometric mean|median) (ascending|descending)/;function Yit(e,t){var r=[],n,i,a,o,s;function l(N,W,re){var ae=W._id.charAt(0);if(N===\"histogram2dcontour\"){var _e=W._counterAxes[0],Me=Ap.getFromId(t,_e),ke=ae===\"x\"||_e===\"x\"&&Me.type===\"category\",ge=ae===\"y\"||_e===\"y\"&&Me.type===\"category\";return function(ie,Te){return ie===0||Te===0||ke&&ie===re[Te].length-1||ge&&Te===re.length-1?-1:(ae===\"y\"?Te:ie)-1}}else return function(ie,Te){return ae===\"y\"?Te:ie}}var u={min:function(N){return Ca.aggNums(Math.min,null,N)},max:function(N){return Ca.aggNums(Math.max,null,N)},sum:function(N){return Ca.aggNums(function(W,re){return W+re},null,N)},total:function(N){return Ca.aggNums(function(W,re){return W+re},null,N)},mean:function(N){return Ca.mean(N)},\"geometric mean\":function(N){return Ca.geometricMean(N)},median:function(N){return Ca.median(N)}};function c(N,W){return N[1]-W[1]}function f(N,W){return W[1]-N[1]}for(n=0;n<e.length;n++){var h=e[n];if(h.type===\"category\"){var d=h.categoryorder.match(Xit);if(d){var v=d[1],x=d[2],b=h._id.charAt(0),p=b===\"x\",E=[];for(i=0;i<h._categories.length;i++)E.push([h._categories[i],[]]);for(i=0;i<h._traceIndices.length;i++){var k=h._traceIndices[i],A=t._fullData[k];if(A.visible===!0){var L=A.type;bl.traceIs(A,\"histogram\")&&(delete A._xautoBinFinished,delete A._yautoBinFinished);var _=L===\"splom\",C=L===\"scattergl\",M=t.calcdata[k];for(a=0;a<M.length;a++){var g=M[a],P,T;if(_){var F=A._axesDim[h._id];if(!p){var q=A._diag[F][0];q&&(h=t._fullLayout[Ap.id2name(q)])}var V=g.trace.dimensions[F].values;for(o=0;o<V.length;o++)for(P=h._categoriesMap[V[o]],s=0;s<g.trace.dimensions.length;s++)if(s!==F){var H=g.trace.dimensions[s];E[P][1].push(H.values[o])}}else if(C){for(o=0;o<g.t.x.length;o++)p?(P=g.t.x[o],T=g.t.y[o]):(P=g.t.y[o],T=g.t.x[o]),E[P][1].push(T);g.t&&g.t._scene&&delete g.t._scene.dirty}else if(g.hasOwnProperty(\"z\")){T=g.z;var X=l(A.type,h,T);for(o=0;o<T.length;o++)for(s=0;s<T[o].length;s++)P=X(s,o),P+1&&E[P][1].push(T[o][s])}else for(P=g.p,P===void 0&&(P=g[b]),T=g.s,T===void 0&&(T=g.v),T===void 0&&(T=p?g.y:g.x),Array.isArray(T)||(T===void 0?T=[]:T=[T]),o=0;o<T.length;o++)E[P][1].push(T[o])}}}h._categoriesValue=E;var G=[];for(i=0;i<E.length;i++)G.push([E[i][0],u[v](E[i][1])]);G.sort(x===\"descending\"?f:c),h._categoriesAggregatedValue=G,h._initialCategories=G.map(function(N){return N[0]}),r=r.concat(h.sortByInitialCategories())}}}return r}function kne(e,t,r){var n={};function i(l){l.clearCalc(),l.type===\"multicategory\"&&l.setupMultiCategory(t),n[l._id]=1}Ca.simpleMap(e,i);for(var a=r._axisMatchGroups||[],o=0;o<a.length;o++)for(var s in a[o])n[s]||i(r[Ap.id2name(s)])}function Cne(e){var t=e._fullLayout,r=t._visibleModules,n={},i,a,o;for(a=0;a<r.length;a++){var s=r[a],l=s.crossTraceCalc;if(l){var u=s.basePlotModule.name;n[u]?Ca.pushUnique(n[u],l):n[u]=[l]}}for(o in n){var c=n[o],f=t._subplots[o];if(Array.isArray(f))for(i=0;i<f.length;i++){var h=f[i],d=o===\"cartesian\"?t._plots[h]:t[h];for(a=0;a<c.length;a++)c[a](e,d,h)}else for(a=0;a<c.length;a++)c[a](e)}}ha.rehover=function(e){e._fullLayout._rehover&&e._fullLayout._rehover()};ha.redrag=function(e){e._fullLayout._redrag&&e._fullLayout._redrag()};ha.reselect=function(e){var t=e._fullLayout,r=(e.layout||{}).selections,n=t._previousSelections;t._previousSelections=r;var i=t._reselect||JSON.stringify(r)!==JSON.stringify(n);bl.getComponentMethod(\"selections\",\"reselect\")(e,i)};ha.generalUpdatePerTraceModule=function(e,t,r,n){var i=t.traceHash,a={},o;for(o=0;o<r.length;o++){var s=r[o],l=s[0].trace;l.visible&&(a[l.type]=a[l.type]||[],a[l.type].push(s))}for(var u in i)if(!a[u]){var c=i[u][0],f=c[0].trace;f.visible=!1,a[u]=[c]}for(var h in a){var d=a[h],v=d[0][0].trace._module;v.plot(e,t,Ca.filterVisible(d),n)}t.traceHash=a};ha.plotBasePlot=function(e,t,r,n,i){var a=bl.getModule(e),o=qit(t.calcdata,a)[0];a.plot(t,o,n,i)};ha.cleanBasePlot=function(e,t,r,n,i){var a=i._has&&i._has(e),o=r._has&&r._has(e);a&&!o&&i[\"_\"+e+\"layer\"].selectAll(\"g.trace\").remove()}});var Zp=ye(yb=>{\"use strict\";yb.xmlns=\"http://www.w3.org/2000/xmlns/\";yb.svg=\"http://www.w3.org/2000/svg\";yb.xlink=\"http://www.w3.org/1999/xlink\";yb.svgAttrs={xmlns:yb.svg,\"xmlns:xlink\":yb.xlink}});var Nh=ye((jtr,One)=>{\"use strict\";One.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\"}}});var Pl=ye(b0=>{\"use strict\";var vh=xa(),Ty=Mr(),Kit=Ty.strTranslate,uO=Zp(),Jit=Nh().LINE_SPACING,$it=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;b0.convertToTspans=function(e,t,r){var n=e.text(),i=!e.attr(\"data-notex\")&&t&&t._context.typesetMath&&typeof MathJax!=\"undefined\"&&n.match($it),a=vh.select(e.node().parentNode);if(a.empty())return;var o=e.attr(\"class\")?e.attr(\"class\").split(\" \")[0]:\"text\";o+=\"-math\",a.selectAll(\"svg.\"+o).remove(),a.selectAll(\"g.\"+o+\"-group\").remove(),e.style(\"display\",null).attr({\"data-unformatted\":n,\"data-math\":\"N\"});function s(){a.empty()||(o=e.attr(\"class\")+\"-math\",a.select(\"svg.\"+o).remove()),e.text(\"\").style(\"white-space\",\"pre\");var l=fnt(e.node(),n);l&&e.style(\"pointer-events\",\"all\"),b0.positionText(e),r&&r.call(e)}return i?(t&&t._promises||[]).push(new Promise(function(l){e.style(\"display\",\"none\");var u=parseInt(e.node().style.fontSize,10),c={fontSize:u};rnt(i[2],c,function(f,h,d){a.selectAll(\"svg.\"+o).remove(),a.selectAll(\"g.\"+o+\"-group\").remove();var v=f&&f.select(\"svg\");if(!v||!v.node()){s(),l();return}var x=a.append(\"g\").classed(o+\"-group\",!0).attr({\"pointer-events\":\"none\",\"data-unformatted\":n,\"data-math\":\"Y\"});x.node().appendChild(v.node()),h&&h.node()&&v.node().insertBefore(h.node().cloneNode(!0),v.node().firstChild);var b=d.width,p=d.height;v.attr({class:o,height:p,preserveAspectRatio:\"xMinYMin meet\"}).style({overflow:\"visible\",\"pointer-events\":\"none\"});var E=e.node().style.fill||\"black\",k=v.select(\"g\");k.attr({fill:E,stroke:E});var A=k.node().getBoundingClientRect(),L=A.width,_=A.height;(L>b||_>p)&&(v.style(\"overflow\",\"hidden\"),A=v.node().getBoundingClientRect(),L=A.width,_=A.height);var C=+e.attr(\"x\"),M=+e.attr(\"y\"),g=u||e.node().getBoundingClientRect().height,P=-g/4;if(o[0]===\"y\")x.attr({transform:\"rotate(\"+[-90,C,M]+\")\"+Kit(-L/2,P-_/2)});else if(o[0]===\"l\")M=P-_/2;else if(o[0]===\"a\"&&o.indexOf(\"atitle\")!==0)C=0,M=P;else{var T=e.attr(\"text-anchor\");C=C-L*(T===\"middle\"?.5:T===\"end\"?1:0),M=M+P-_/2}v.attr({x:C,y:M}),r&&r.call(e,x),l(x)})})):s(),e};var Qit=/(<|<|<)/g,ent=/(>|>|>)/g;function tnt(e){return e.replace(Qit,\"\\\\lt \").replace(ent,\"\\\\gt \")}var Bne=[[\"$\",\"$\"],[\"\\\\(\",\"\\\\)\"]];function rnt(e,t,r){var n=parseInt((MathJax.version||\"\").split(\".\")[0]);if(n!==2&&n!==3){Ty.warn(\"No MathJax version:\",MathJax.version);return}var i,a,o,s,l=function(){return a=Ty.extendDeepAll({},MathJax.Hub.config),o=MathJax.Hub.processSectionDelay,MathJax.Hub.processSectionDelay!==void 0&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:\"none\",tex2jax:{inlineMath:Bne},displayAlign:\"left\"})},u=function(){a=Ty.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=Bne},c=function(){if(i=MathJax.Hub.config.menuSettings.renderer,i!==\"SVG\")return MathJax.Hub.setRenderer(\"SVG\")},f=function(){i=MathJax.config.startup.output,i!==\"svg\"&&(MathJax.config.startup.output=\"svg\")},h=function(){var E=\"math-output-\"+Ty.randstr({},64);s=vh.select(\"body\").append(\"div\").attr({id:E}).style({visibility:\"hidden\",position:\"absolute\",\"font-size\":t.fontSize+\"px\"}).text(tnt(e));var k=s.node();return n===2?MathJax.Hub.Typeset(k):MathJax.typeset([k])},d=function(){var E=s.select(n===2?\".MathJax_SVG\":\".MathJax\"),k=!E.empty()&&s.select(\"svg\").node();if(!k)Ty.log(\"There was an error in the tex syntax.\",e),r();else{var A=k.getBoundingClientRect(),L;n===2?L=vh.select(\"body\").select(\"#MathJax_SVG_glyphs\"):L=E.select(\"defs\"),r(E,L,A)}s.remove()},v=function(){if(i!==\"SVG\")return MathJax.Hub.setRenderer(i)},x=function(){i!==\"svg\"&&(MathJax.config.startup.output=i)},b=function(){return o!==void 0&&(MathJax.Hub.processSectionDelay=o),MathJax.Hub.Config(a)},p=function(){MathJax.config=a};n===2?MathJax.Hub.Queue(l,c,h,d,v,b):n===3&&(u(),f(),MathJax.startup.defaultReady(),MathJax.startup.promise.then(function(){h(),d(),x(),p()}))}var Hne={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\"},int={sub:\"0.3em\",sup:\"-0.6em\"},nnt={sub:\"-0.21em\",sup:\"0.42em\"},Nne=\"\\u200B\",Une=[\"http:\",\"https:\",\"mailto:\",\"\",void 0,\":\"],Gne=b0.NEWLINES=/(\\r\\n?|\\n)/g,fO=/(<[^<>]*>)/,hO=/<(\\/?)([^ >]*)(\\s+(.*))?>/i,ant=/<br(\\s+.*)?>/i;b0.BR_TAG_ALL=/<br(\\s+.*)?>/gi;var jne=/(^|[\\s\"'])style\\s*=\\s*(\"([^\"]*);?\"|'([^']*);?')/i,Wne=/(^|[\\s\"'])href\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/i,Zne=/(^|[\\s\"'])target\\s*=\\s*(\"([^\"\\s]*)\"|'([^'\\s]*)')/i,ont=/(^|[\\s\"'])popup\\s*=\\s*(\"([\\w=,]*)\"|'([\\w=,]*)')/i;function _b(e,t){if(!e)return null;var r=e.match(t),n=r&&(r[3]||r[4]);return n&&Z6(n)}var snt=/(^|;)\\s*color:/;b0.plainText=function(e,t){t=t||{};for(var r=t.len!==void 0&&t.len!==-1?t.len:1/0,n=t.allowedTags!==void 0?t.allowedTags:[\"br\"],i=\"...\",a=i.length,o=e.split(fO),s=[],l=\"\",u=0,c=0;c<o.length;c++){var f=o[c],h=f.match(hO),d=h&&h[2].toLowerCase();if(d)n.indexOf(d)!==-1&&(s.push(f),l=d);else{var v=f.length;if(u+v<r)s.push(f),u+=v;else if(u<r){var x=r-u;l&&(l!==\"br\"||x<=a||v<=a)&&s.pop(),r>a?s.push(f.substr(0,x-a)+i):s.push(f.substr(0,x));break}l=\"\"}}return s.join(\"\")};var lnt={mu:\"\\u03BC\",amp:\"&\",lt:\"<\",gt:\">\",nbsp:\"\\xA0\",times:\"\\xD7\",plusmn:\"\\xB1\",deg:\"\\xB0\"},unt=/&(#\\d+|#x[\\da-fA-F]+|[a-z]+);/g;function Z6(e){return e.replace(unt,function(t,r){var n;return r.charAt(0)===\"#\"?n=cnt(r.charAt(1)===\"x\"?parseInt(r.substr(2),16):parseInt(r.substr(1),10)):n=lnt[r],n||t})}b0.convertEntities=Z6;function cnt(e){if(!(e>1114111)){var t=String.fromCodePoint;if(t)return t(e);var r=String.fromCharCode;return e<=65535?r(e):r((e>>10)+55232,e%1024+56320)}}function fnt(e,t){t=t.replace(Gne,\" \");var r=!1,n=[],i,a=-1;function o(){a++;var _=document.createElementNS(uO.svg,\"tspan\");vh.select(_).attr({class:\"line\",dy:a*Jit+\"em\"}),e.appendChild(_),i=_;var C=n;if(n=[{node:_}],C.length>1)for(var M=1;M<C.length;M++)s(C[M])}function s(_){var C=_.type,M={},g;if(C===\"a\"){g=\"a\";var P=_.target,T=_.href,F=_.popup;T&&(M={\"xlink:xlink:show\":P===\"_blank\"||P.charAt(0)!==\"_\"?\"new\":\"replace\",target:P,\"xlink:xlink:href\":T},F&&(M.onclick='window.open(this.href.baseVal,this.target.baseVal,\"'+F+'\");return false;'))}else g=\"tspan\";_.style&&(M.style=_.style);var q=document.createElementNS(uO.svg,g);if(C===\"sup\"||C===\"sub\"){l(i,Nne),i.appendChild(q);var V=document.createElementNS(uO.svg,\"tspan\");l(V,Nne),vh.select(V).attr(\"dy\",nnt[C]),M.dy=int[C],i.appendChild(q),i.appendChild(V)}else i.appendChild(q);vh.select(q).attr(M),i=_.node=q,n.push(_)}function l(_,C){_.appendChild(document.createTextNode(C))}function u(_){if(n.length===1){Ty.log(\"Ignoring unexpected end tag </\"+_+\">.\",t);return}var C=n.pop();_!==C.type&&Ty.log(\"Start tag <\"+C.type+\"> doesnt match end tag <\"+_+\">. Pretending it did match.\",t),i=n[n.length-1].node}var c=ant.test(t);c?o():(i=e,n=[{node:e}]);for(var f=t.split(fO),h=0;h<f.length;h++){var d=f[h],v=d.match(hO),x=v&&v[2].toLowerCase(),b=Hne[x];if(x===\"br\")o();else if(b===void 0)l(i,Z6(d));else if(v[1])u(x);else{var p=v[4],E={type:x},k=_b(p,jne);if(k?(k=k.replace(snt,\"$1 fill:\"),b&&(k+=\";\"+b)):b&&(k=b),k&&(E.style=k),x===\"a\"){r=!0;var A=_b(p,Wne);if(A){var L=Xne(A);L&&(E.href=L,E.target=_b(p,Zne)||\"_blank\",E.popup=_b(p,ont))}}s(E)}}return r}function Xne(e){var t=encodeURI(decodeURI(e)),r=document.createElement(\"a\"),n=document.createElement(\"a\");r.href=e,n.href=t;var i=r.protocol,a=n.protocol;return Une.indexOf(i)!==-1&&Une.indexOf(a)!==-1?t:\"\"}b0.sanitizeHTML=function(t){t=t.replace(Gne,\" \");for(var r=document.createElement(\"p\"),n=r,i=[],a=t.split(fO),o=0;o<a.length;o++){var s=a[o],l=s.match(hO),u=l&&l[2].toLowerCase();if(u in Hne)if(l[1])i.length&&(n=i.pop());else{var c=l[4],f=_b(c,jne),h=f?{style:f}:{};if(u===\"a\"){var d=_b(c,Wne);if(d){var v=Xne(d);if(v){h.href=v;var x=_b(c,Zne);x&&(h.target=x)}}}var b=document.createElement(u);n.appendChild(b),vh.select(b).attr(h),n=b,i.push(b)}else n.appendChild(document.createTextNode(Z6(s)))}var p=\"innerHTML\";return r[p]};b0.lineCount=function(t){return t.selectAll(\"tspan.line\").size()||1};b0.positionText=function(t,r,n){return t.each(function(){var i=vh.select(this);function a(l,u){return u===void 0?(u=i.attr(l),u===null&&(i.attr(l,0),u=0)):i.attr(l,u),u}var o=a(\"x\",r),s=a(\"y\",n);this.nodeName===\"text\"&&i.selectAll(\"tspan.line\").attr({x:o,y:s})})};function Vne(e,t,r){var n=r.horizontalAlign,i=r.verticalAlign||\"top\",a=e.node().getBoundingClientRect(),o=t.node().getBoundingClientRect(),s,l,u;return i===\"bottom\"?l=function(){return a.bottom-s.height}:i===\"middle\"?l=function(){return a.top+(a.height-s.height)/2}:l=function(){return a.top},n===\"right\"?u=function(){return a.right-s.width}:n===\"center\"?u=function(){return a.left+(a.width-s.width)/2}:u=function(){return a.left},function(){s=this.node().getBoundingClientRect();var c=u()-o.left,f=l()-o.top,h=r.gd||{};if(r.gd){h._fullLayout._calcInverseTransform(h);var d=Ty.apply3DTransform(h._fullLayout._invTransform)(c,f);c=d[0],f=d[1]}return this.style({top:f+\"px\",left:c+\"px\",\"z-index\":1e3}),this}}var cO=\"1px \";b0.makeTextShadow=function(e){var t=cO,r=cO,n=cO;return t+r+n+e+\", -\"+t+\"-\"+r+n+e+\", \"+t+\"-\"+r+n+e+\", -\"+t+r+n+e};b0.makeEditable=function(e,t){var r=t.gd,n=t.delegate,i=vh.dispatch(\"edit\",\"input\",\"cancel\"),a=n||e;if(e.style({\"pointer-events\":n?\"none\":\"all\"}),e.size()!==1)throw new Error(\"boo\");function o(){l(),e.style({opacity:0});var u=a.attr(\"class\"),c;u?c=\".\"+u.split(\" \")[0]+\"-math-group\":c=\"[class*=-math-group]\",c&&vh.select(e.node().parentNode).select(c).style({opacity:0})}function s(u){var c=u.node(),f=document.createRange();f.selectNodeContents(c);var h=window.getSelection();h.removeAllRanges(),h.addRange(f),c.focus()}function l(){var u=vh.select(r),c=u.select(\".svg-container\"),f=c.append(\"div\"),h=e.node().style,d=parseFloat(h.fontSize||12),v=t.text;v===void 0&&(v=e.attr(\"data-unformatted\")),f.classed(\"plugin-editable editable\",!0).style({position:\"absolute\",\"font-family\":h.fontFamily||\"Arial\",\"font-size\":d,color:t.fill||h.fill||\"black\",opacity:1,\"background-color\":t.background||\"transparent\",outline:\"#ffffff33 1px solid\",margin:[-d/8+1,0,0,-1].join(\"px \")+\"px\",padding:\"0\",\"box-sizing\":\"border-box\"}).attr({contenteditable:!0}).text(v).call(Vne(e,c,t)).on(\"blur\",function(){r._editing=!1,e.text(this.textContent).style({opacity:1});var x=vh.select(this).attr(\"class\"),b;x?b=\".\"+x.split(\" \")[0]+\"-math-group\":b=\"[class*=-math-group]\",b&&vh.select(e.node().parentNode).select(b).style({opacity:0});var p=this.textContent;vh.select(this).transition().duration(0).remove(),vh.select(document).on(\"mouseup\",null),i.edit.call(e,p)}).on(\"focus\",function(){var x=this;r._editing=!0,vh.select(document).on(\"mouseup\",function(){if(vh.event.target===x)return!1;document.activeElement===f.node()&&f.node().blur()})}).on(\"keyup\",function(){vh.event.which===27?(r._editing=!1,e.style({opacity:1}),vh.select(this).style({opacity:0}).on(\"blur\",function(){return!1}).transition().remove(),i.cancel.call(e,this.textContent)):(i.input.call(e,this.textContent),vh.select(this).call(Vne(e,c,t)))}).on(\"keydown\",function(){vh.event.which===13&&this.blur()}).call(s)}return t.immediate?o():a.on(\"click\",o),vh.rebind(e,i,\"on\")}});var Dv=ye((Ztr,rae)=>{\"use strict\";var hnt=xa(),Y6=id(),ZS=uo(),X6=Mr(),Yne=va(),dnt=sb().isValid;function vnt(e,t,r){var n=t?X6.nestedProperty(e,t).get()||{}:e,i=n[r||\"color\"];i&&i._inputArray&&(i=i._inputArray);var a=!1;if(X6.isArrayOrTypedArray(i)){for(var o=0;o<i.length;o++)if(ZS(i[o])){a=!0;break}}return X6.isPlainObject(n)&&(a||n.showscale===!0||ZS(n.cmin)&&ZS(n.cmax)||dnt(n.colorscale)||X6.isPlainObject(n.colorbar))}var Kne=[\"showscale\",\"autocolorscale\",\"colorscale\",\"reversescale\",\"colorbar\"],WS=[\"min\",\"max\",\"mid\",\"auto\"];function $ne(e){var t=e._colorAx,r=t||e,n={},i,a,o;for(a=0;a<Kne.length;a++)o=Kne[a],n[o]=r[o];if(t)for(i=\"c\",a=0;a<WS.length;a++)o=WS[a],n[o]=r[\"c\"+o];else{var s;for(a=0;a<WS.length;a++){if(o=WS[a],s=\"c\"+o,s in r){n[o]=r[s];continue}s=\"z\"+o,s in r&&(n[o]=r[s])}i=s.charAt(0)}return n._sync=function(l,u){var c=WS.indexOf(l)!==-1?i+l:l;r[c]=r[\"_\"+c]=u},n}function Qne(e){for(var t=$ne(e),r=t.min,n=t.max,i=t.reversescale?eae(t.colorscale):t.colorscale,a=i.length,o=new Array(a),s=new Array(a),l=0;l<a;l++){var u=i[l];o[l]=r+u[0]*(n-r),s[l]=u[1]}return{domain:o,range:s}}function eae(e){for(var t=e.length,r=new Array(t),n=t-1,i=0;n>=0;n--,i++){var a=e[n];r[i]=[1-a[0],a[1]]}return r}function tae(e,t){t=t||{};for(var r=e.domain,n=e.range,i=n.length,a=new Array(i),o=0;o<i;o++){var s=Y6(n[o]).toRgb();a[o]=[s.r,s.g,s.b,s.a]}var l=hnt.scale.linear().domain(r).range(a).clamp(!0),u=t.noNumericCheck,c=t.returnArray,f;return u&&c?f=l:u?f=function(h){return Jne(l(h))}:c?f=function(h){return ZS(h)?l(h):Y6(h).isValid()?h:Yne.defaultLine}:f=function(h){return ZS(h)?Jne(l(h)):Y6(h).isValid()?h:Yne.defaultLine},f.domain=l.domain,f.range=function(){return n},f}function pnt(e,t){return tae(Qne(e),t)}function Jne(e){var t={r:e[0],g:e[1],b:e[2],a:e[3]};return Y6(t).toRgbString()}rae.exports={hasColorscale:vnt,extractOpts:$ne,extractScale:Qne,flipScale:eae,makeColorScaleFunc:tae,makeColorScaleFuncFromTrace:pnt}});var Oc=ye((Xtr,aae)=>{\"use strict\";var iae=Rq(),gnt=iae.FORMAT_LINK,mnt=iae.DATE_FORMAT_LINK;function ynt(e,t){return{valType:\"string\",dflt:\"\",editType:\"none\",description:(t?dO:nae)(\"hover text\",e)+[\"By default the values are formatted using \"+(t?\"generic number format\":\"`\"+e+\"axis.hoverformat`\")+\".\"].join(\" \")}}function dO(e,t){return[\"Sets the \"+e+\" formatting rule\"+(t?\"for `\"+t+\"` \":\"\"),\"using d3 formatting mini-languages\",\"which are very similar to those in Python. For numbers, see: \"+gnt+\".\"].join(\" \")}function nae(e,t){return dO(e,t)+[\" And for dates see: \"+mnt+\".\",\"We add two items to d3's date formatter:\",\"*%h* for half of the year as a decimal number as well as\",\"*%{n}f* for fractional seconds\",\"with n digits. For example, *2016-10-13 09:15:23.456* with tickformat\",\"*%H~%M~%S.%2f* would display *09~15~23.46*\"].join(\" \")}aae.exports={axisHoverFormat:ynt,descriptionOnlyNumbers:dO,descriptionWithDates:nae}});var Cd=ye((Ytr,wae)=>{\"use strict\";var oae=Su(),w3=dh(),bae=Ed().dash,pO=no().extendFlat,sae=Vs().templatedArray,lae=Oc().descriptionWithDates,_nt=es().ONEDAY,pm=ad(),xnt=pm.HOUR_PATTERN,bnt=pm.WEEKDAY_PATTERN,vO={valType:\"enumerated\",values:[\"auto\",\"linear\",\"array\"],editType:\"ticks\",impliedEdits:{tick0:void 0,dtick:void 0}},wnt=pO({},vO,{values:vO.values.slice().concat([\"sync\"])});function uae(e){return{valType:\"integer\",min:0,dflt:e?5:0,editType:\"ticks\"}}var cae={valType:\"any\",editType:\"ticks\",impliedEdits:{tickmode:\"linear\"}},fae={valType:\"any\",editType:\"ticks\",impliedEdits:{tickmode:\"linear\"}},hae={valType:\"data_array\",editType:\"ticks\"},dae={valType:\"enumerated\",values:[\"outside\",\"inside\",\"\"],editType:\"ticks\"};function vae(e){var t={valType:\"number\",min:0,editType:\"ticks\"};return e||(t.dflt=5),t}function pae(e){var t={valType:\"number\",min:0,editType:\"ticks\"};return e||(t.dflt=1),t}var gae={valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},mae={valType:\"color\",dflt:w3.lightLine,editType:\"ticks\"};function yae(e){var t={valType:\"number\",min:0,editType:\"ticks\"};return e||(t.dflt=1),t}var _ae=pO({},bae,{editType:\"ticks\"}),xae={valType:\"boolean\",editType:\"ticks\"};wae.exports={visible:{valType:\"boolean\",editType:\"plot\"},color:{valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},title:{text:{valType:\"string\",editType:\"ticks\"},font:oae({editType:\"ticks\"}),standoff:{valType:\"number\",min:0,editType:\"ticks\"},editType:\"ticks\"},type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"log\",\"date\",\"category\",\"multicategory\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},autotypenumbers:{valType:\"enumerated\",values:[\"convert types\",\"strict\"],dflt:\"convert types\",editType:\"calc\"},autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\",\"min reversed\",\"max reversed\",\"min\",\"max\"],dflt:!0,editType:\"axrange\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},autorangeoptions:{minallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},maxallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},clipmin:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},clipmax:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},include:{valType:\"any\",arrayOk:!0,editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},editType:\"plot\"},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"plot\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"axrange\",impliedEdits:{\"^autorange\":!1},anim:!0},{valType:\"any\",editType:\"axrange\",impliedEdits:{\"^autorange\":!1},anim:!0}],editType:\"axrange\",impliedEdits:{autorange:!1},anim:!0},minallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},maxallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},insiderange:{valType:\"info_array\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},scaleanchor:{valType:\"enumerated\",values:[pm.idRegex.x.toString(),pm.idRegex.y.toString(),!1],editType:\"plot\"},scaleratio:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},constrain:{valType:\"enumerated\",values:[\"range\",\"domain\"],editType:\"plot\"},constraintoward:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\",\"top\",\"middle\",\"bottom\"],editType:\"plot\"},matches:{valType:\"enumerated\",values:[pm.idRegex.x.toString(),pm.idRegex.y.toString()],editType:\"calc\"},rangebreaks:sae(\"rangebreak\",{enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},bounds:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}],editType:\"calc\"},pattern:{valType:\"enumerated\",values:[bnt,xnt,\"\"],editType:\"calc\"},values:{valType:\"info_array\",freeLength:!0,editType:\"calc\",items:{valType:\"any\",editType:\"calc\"}},dvalue:{valType:\"number\",editType:\"calc\",min:0,dflt:_nt},editType:\"calc\"}),tickmode:wnt,nticks:uae(),tick0:cae,dtick:fae,ticklabelstep:{valType:\"integer\",min:1,dflt:1,editType:\"ticks\"},tickvals:hae,ticktext:{valType:\"data_array\",editType:\"ticks\"},ticks:dae,tickson:{valType:\"enumerated\",values:[\"labels\",\"boundaries\"],dflt:\"labels\",editType:\"ticks\"},ticklabelmode:{valType:\"enumerated\",values:[\"instant\",\"period\"],dflt:\"instant\",editType:\"ticks\"},ticklabelposition:{valType:\"enumerated\",values:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside left\",\"inside left\",\"outside right\",\"inside right\",\"outside bottom\",\"inside bottom\"],dflt:\"outside\",editType:\"calc\"},ticklabeloverflow:{valType:\"enumerated\",values:[\"allow\",\"hide past div\",\"hide past domain\"],editType:\"calc\"},ticklabelshift:{valType:\"integer\",dflt:0,editType:\"ticks\"},ticklabelstandoff:{valType:\"integer\",dflt:0,editType:\"ticks\"},ticklabelindex:{valType:\"integer\",arrayOk:!0,editType:\"calc\"},mirror:{valType:\"enumerated\",values:[!0,\"ticks\",!1,\"all\",\"allticks\"],dflt:!1,editType:\"ticks+layoutstyle\"},ticklen:vae(),tickwidth:pae(),tickcolor:gae,showticklabels:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},labelalias:{valType:\"any\",dflt:!1,editType:\"ticks\"},automargin:{valType:\"flaglist\",flags:[\"height\",\"width\",\"left\",\"right\",\"top\",\"bottom\"],extras:[!0,!1],dflt:!1,editType:\"ticks\"},showspikes:{valType:\"boolean\",dflt:!1,editType:\"modebar\"},spikecolor:{valType:\"color\",dflt:null,editType:\"none\"},spikethickness:{valType:\"number\",dflt:3,editType:\"none\"},spikedash:pO({},bae,{dflt:\"dash\",editType:\"none\"}),spikemode:{valType:\"flaglist\",flags:[\"toaxis\",\"across\",\"marker\"],dflt:\"toaxis\",editType:\"none\"},spikesnap:{valType:\"enumerated\",values:[\"data\",\"cursor\",\"hovered data\"],dflt:\"hovered data\",editType:\"none\"},tickfont:oae({editType:\"ticks\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"ticks\"},autotickangles:{valType:\"info_array\",freeLength:!0,items:{valType:\"angle\"},dflt:[0,30,90],editType:\"ticks\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"ticks\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"ticks\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"ticks\"},minexponent:{valType:\"number\",dflt:3,min:0,editType:\"ticks\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"ticks\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"ticks\",description:lae(\"tick label\")},tickformatstops:sae(\"tickformatstop\",{enabled:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},dtickrange:{valType:\"info_array\",items:[{valType:\"any\",editType:\"ticks\"},{valType:\"any\",editType:\"ticks\"}],editType:\"ticks\"},value:{valType:\"string\",dflt:\"\",editType:\"ticks\"},editType:\"ticks\"}),hoverformat:{valType:\"string\",dflt:\"\",editType:\"none\",description:lae(\"hover text\")},showline:{valType:\"boolean\",dflt:!1,editType:\"ticks+layoutstyle\"},linecolor:{valType:\"color\",dflt:w3.defaultLine,editType:\"layoutstyle\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"ticks+layoutstyle\"},showgrid:xae,gridcolor:mae,gridwidth:yae(),griddash:_ae,zeroline:{valType:\"boolean\",editType:\"ticks\"},zerolinecolor:{valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},zerolinewidth:{valType:\"number\",dflt:1,editType:\"ticks\"},showdividers:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},dividercolor:{valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},dividerwidth:{valType:\"number\",dflt:1,editType:\"ticks\"},anchor:{valType:\"enumerated\",values:[\"free\",pm.idRegex.x.toString(),pm.idRegex.y.toString()],editType:\"plot\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"],editType:\"plot\"},overlaying:{valType:\"enumerated\",values:[\"free\",pm.idRegex.x.toString(),pm.idRegex.y.toString()],editType:\"plot\"},minor:{tickmode:vO,nticks:uae(\"minor\"),tick0:cae,dtick:fae,tickvals:hae,ticks:dae,ticklen:vae(\"minor\"),tickwidth:pae(\"minor\"),tickcolor:gae,gridcolor:mae,gridwidth:yae(\"minor\"),griddash:_ae,showgrid:xae,editType:\"ticks\"},layer:{valType:\"enumerated\",values:[\"above traces\",\"below traces\"],dflt:\"above traces\",editType:\"plot\"},domain:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1,editType:\"plot\"},{valType:\"number\",min:0,max:1,editType:\"plot\"}],dflt:[0,1],editType:\"plot\"},position:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot\"},autoshift:{valType:\"boolean\",dflt:!1,editType:\"plot\"},shift:{valType:\"number\",editType:\"plot\"},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\",\"total ascending\",\"total descending\",\"min ascending\",\"min descending\",\"max ascending\",\"max descending\",\"sum ascending\",\"sum descending\",\"mean ascending\",\"mean descending\",\"geometric mean ascending\",\"geometric mean descending\",\"median ascending\",\"median descending\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"}});var K6=ye((Ktr,Sae)=>{\"use strict\";var Ac=Cd(),Tae=Su(),Aae=no().extendFlat,Tnt=Bu().overrideAll;Sae.exports=Tnt({orientation:{valType:\"enumerated\",values:[\"h\",\"v\"],dflt:\"v\"},thicknessmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"pixels\"},thickness:{valType:\"number\",min:0,dflt:30},lenmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"fraction\"},len:{valType:\"number\",min:0,dflt:1},x:{valType:\"number\"},xref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"]},xpad:{valType:\"number\",min:0,dflt:10},y:{valType:\"number\"},yref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"]},ypad:{valType:\"number\",min:0,dflt:10},outlinecolor:Ac.linecolor,outlinewidth:Ac.linewidth,bordercolor:Ac.linecolor,borderwidth:{valType:\"number\",min:0,dflt:0},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},tickmode:Ac.minor.tickmode,nticks:Ac.nticks,tick0:Ac.tick0,dtick:Ac.dtick,tickvals:Ac.tickvals,ticktext:Ac.ticktext,ticks:Aae({},Ac.ticks,{dflt:\"\"}),ticklabeloverflow:Aae({},Ac.ticklabeloverflow,{}),ticklabelposition:{valType:\"enumerated\",values:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside left\",\"inside left\",\"outside right\",\"inside right\",\"outside bottom\",\"inside bottom\"],dflt:\"outside\"},ticklen:Ac.ticklen,tickwidth:Ac.tickwidth,tickcolor:Ac.tickcolor,ticklabelstep:Ac.ticklabelstep,showticklabels:Ac.showticklabels,labelalias:Ac.labelalias,tickfont:Tae({}),tickangle:Ac.tickangle,tickformat:Ac.tickformat,tickformatstops:Ac.tickformatstops,tickprefix:Ac.tickprefix,showtickprefix:Ac.showtickprefix,ticksuffix:Ac.ticksuffix,showticksuffix:Ac.showticksuffix,separatethousands:Ac.separatethousands,exponentformat:Ac.exponentformat,minexponent:Ac.minexponent,showexponent:Ac.showexponent,title:{text:{valType:\"string\"},font:Tae({}),side:{valType:\"enumerated\",values:[\"right\",\"top\",\"bottom\"]}}},\"colorbars\",\"from-root\")});var Jl=ye(($tr,Eae)=>{\"use strict\";var Ant=K6(),Snt=n3().counter,Mnt=Y1(),Mae=sb().scales,Jtr=Mnt(Mae);function J6(e){return\"`\"+e+\"`\"}Eae.exports=function(t,r){t=t||\"\",r=r||{};var n=r.cLetter||\"c\",i=\"onlyIfNumerical\"in r?r.onlyIfNumerical:!!t,a=\"noScale\"in r?r.noScale:t===\"marker.line\",o=\"showScaleDflt\"in r?r.showScaleDflt:n===\"z\",s=typeof r.colorscaleDflt==\"string\"?Mae[r.colorscaleDflt]:null,l=r.editTypeOverride||\"\",u=t?t+\".\":\"\",c,f;\"colorAttr\"in r?(c=r.colorAttr,f=r.colorAttr):(c={z:\"z\",c:\"color\"}[n],f=\"in \"+J6(u+c));var h=i?\" Has an effect only if \"+f+\" is set to a numerical array.\":\"\",d=n+\"auto\",v=n+\"min\",x=n+\"max\",b=n+\"mid\",p=J6(u+d),E=J6(u+v),k=J6(u+x),A=E+\" and \"+k,L={};L[v]=L[x]=void 0;var _={};_[d]=!1;var C={};return c===\"color\"&&(C.color={valType:\"color\",arrayOk:!0,editType:l||\"style\"},r.anim&&(C.color.anim=!0)),C[d]={valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:L},C[v]={valType:\"number\",dflt:null,editType:l||\"plot\",impliedEdits:_},C[x]={valType:\"number\",dflt:null,editType:l||\"plot\",impliedEdits:_},C[b]={valType:\"number\",dflt:null,editType:\"calc\",impliedEdits:L},C.colorscale={valType:\"colorscale\",editType:\"calc\",dflt:s,impliedEdits:{autocolorscale:!1}},C.autocolorscale={valType:\"boolean\",dflt:r.autoColorDflt!==!1,editType:\"calc\",impliedEdits:{colorscale:void 0}},C.reversescale={valType:\"boolean\",dflt:!1,editType:\"plot\"},a||(C.showscale={valType:\"boolean\",dflt:o,editType:\"calc\"},C.colorbar=Ant),r.noColorAxis||(C.coloraxis={valType:\"subplotid\",regex:Snt(\"coloraxis\"),dflt:null,editType:\"calc\"}),C}});var mO=ye((Qtr,kae)=>{\"use strict\";var Ent=no().extendFlat,knt=Jl(),gO=sb().scales;kae.exports={editType:\"calc\",colorscale:{editType:\"calc\",sequential:{valType:\"colorscale\",dflt:gO.Reds,editType:\"calc\"},sequentialminus:{valType:\"colorscale\",dflt:gO.Blues,editType:\"calc\"},diverging:{valType:\"colorscale\",dflt:gO.RdBu,editType:\"calc\"}},coloraxis:Ent({_isSubplotObj:!0,editType:\"calc\"},knt(\"\",{colorAttr:\"corresponding trace color array(s)\",noColorAxis:!0,showScaleDflt:!0}))}});var yO=ye((err,Cae)=>{\"use strict\";var Cnt=Mr();Cae.exports=function(t){return Cnt.isPlainObject(t.colorbar)}});var bO=ye(xO=>{\"use strict\";var _O=uo(),Lae=Mr(),Pae=es(),Lnt=Pae.ONEDAY,Pnt=Pae.ONEWEEK;xO.dtick=function(e,t){var r=t===\"log\",n=t===\"date\",i=t===\"category\",a=n?Lnt:1;if(!e)return a;if(_O(e))return e=Number(e),e<=0?a:i?Math.max(1,Math.round(e)):n?Math.max(.1,e):e;if(typeof e!=\"string\"||!(n||r))return a;var o=e.charAt(0),s=e.substr(1);return s=_O(s)?Number(s):0,s<=0||!(n&&o===\"M\"&&s===Math.round(s)||r&&o===\"L\"||r&&o===\"D\"&&(s===1||s===2))?a:e};xO.tick0=function(e,t,r,n){if(t===\"date\")return Lae.cleanDate(e,Lae.dateTick0(r,n%Pnt===0?1:0));if(!(n===\"D1\"||n===\"D2\"))return _O(e)?Number(e):0}});var xb=ye((rrr,Rae)=>{\"use strict\";var Iae=bO(),Int=Mr().isArrayOrTypedArray,Rnt=vv().isTypedArraySpec,Dnt=vv().decodeTypedArraySpec;Rae.exports=function(t,r,n,i,a){a||(a={});var o=a.isMinor,s=o?t.minor||{}:t,l=o?r.minor:r,u=o?\"minor.\":\"\";function c(E){var k=s[E];return Rnt(k)&&(k=Dnt(k)),k!==void 0?k:(l._template||{})[E]}var f=c(\"tick0\"),h=c(\"dtick\"),d=c(\"tickvals\"),v=Int(d)?\"array\":h?\"linear\":\"auto\",x=n(u+\"tickmode\",v);if(x===\"auto\"||x===\"sync\")n(u+\"nticks\");else if(x===\"linear\"){var b=l.dtick=Iae.dtick(h,i);l.tick0=Iae.tick0(f,i,r.calendar,b)}else if(i!==\"multicategory\"){var p=n(u+\"tickvals\");p===void 0?l.tickmode=\"auto\":o||n(\"ticktext\")}}});var T3=ye((irr,zae)=>{\"use strict\";var wO=Mr(),Dae=Cd();zae.exports=function(t,r,n,i){var a=i.isMinor,o=a?t.minor||{}:t,s=a?r.minor:r,l=a?Dae.minor:Dae,u=a?\"minor.\":\"\",c=wO.coerce2(o,s,l,\"ticklen\",a?(r.ticklen||5)*.6:void 0),f=wO.coerce2(o,s,l,\"tickwidth\",a?r.tickwidth||1:void 0),h=wO.coerce2(o,s,l,\"tickcolor\",(a?r.tickcolor:void 0)||s.color),d=n(u+\"ticks\",!a&&i.outerTicks||c||f||h?\"outside\":\"\");d||(delete s.ticklen,delete s.tickwidth,delete s.tickcolor)}});var TO=ye((nrr,Fae)=>{\"use strict\";Fae.exports=function(t){var r=[\"showexponent\",\"showtickprefix\",\"showticksuffix\"],n=r.filter(function(a){return t[a]!==void 0}),i=function(a){return t[a]===t[n[0]]};if(n.every(i)||n.length===1)return t[n[0]]}});var Zd=ye((arr,qae)=>{\"use strict\";var $6=Mr(),znt=Vs();qae.exports=function(t,r,n){var i=n.name,a=n.inclusionAttr||\"visible\",o=r[i],s=$6.isArrayOrTypedArray(t[i])?t[i]:[],l=r[i]=[],u=znt.arrayTemplater(r,i,a),c,f;for(c=0;c<s.length;c++){var h=s[c];$6.isPlainObject(h)?f=u.newItem(h):(f=u.newItem({}),f[a]=!1),f._index=c,f[a]!==!1&&n.handleItemDefaults(h,f,r,n),l.push(f)}var d=u.defaultItems();for(c=0;c<d.length;c++)f=d[c],f._index=l.length,n.handleItemDefaults({},f,r,n,{}),l.push(f);if($6.isArrayOrTypedArray(o)){var v=Math.min(o.length,l.length);for(c=0;c<v;c++)$6.relinkPrivateKeys(l[c],o[c])}return l}});var t_=ye((orr,Bae)=>{\"use strict\";var AO=Mr(),Fnt=va().contrast,Oae=Cd(),qnt=TO(),Ont=Zd();Bae.exports=function(t,r,n,i,a){a||(a={});var o=n(\"labelalias\");AO.isPlainObject(o)||delete r.labelalias;var s=qnt(t),l=n(\"showticklabels\");if(l){a.noTicklabelshift||n(\"ticklabelshift\"),a.noTicklabelstandoff||n(\"ticklabelstandoff\");var u=a.font||{},c=r.color,f=r.ticklabelposition||\"\",h=f.indexOf(\"inside\")!==-1?Fnt(a.bgColor):c&&c!==Oae.color.dflt?c:u.color;if(AO.coerceFont(n,\"tickfont\",u,{overrideDflt:{color:h}}),!a.noTicklabelstep&&i!==\"multicategory\"&&i!==\"log\"&&n(\"ticklabelstep\"),!a.noAng){var d=n(\"tickangle\");!a.noAutotickangles&&d===\"auto\"&&n(\"autotickangles\")}if(i!==\"category\"){var v=n(\"tickformat\");Ont(t,r,{name:\"tickformatstops\",inclusionAttr:\"enabled\",handleItemDefaults:Bnt}),r.tickformatstops.length||delete r.tickformatstops,!a.noExp&&!v&&i!==\"date\"&&(n(\"showexponent\",s),n(\"exponentformat\"),n(\"minexponent\"),n(\"separatethousands\"))}}};function Bnt(e,t){function r(i,a){return AO.coerce(e,t,Oae.tickformatstops,i,a)}var n=r(\"enabled\");n&&(r(\"dtickrange\"),r(\"value\"))}});var r_=ye((srr,Nae)=>{\"use strict\";var Nnt=TO();Nae.exports=function(t,r,n,i,a){a||(a={});var o=a.tickSuffixDflt,s=Nnt(t),l=n(\"tickprefix\");l&&n(\"showtickprefix\",s);var u=n(\"ticksuffix\",o);u&&n(\"showticksuffix\",s)}});var SO=ye((lrr,Uae)=>{\"use strict\";var i_=Mr(),Unt=Vs(),Vnt=xb(),Hnt=T3(),Gnt=t_(),jnt=r_(),Wnt=K6();Uae.exports=function(t,r,n){var i=Unt.newContainer(r,\"colorbar\"),a=t.colorbar||{};function o(T,F){return i_.coerce(a,i,Wnt,T,F)}var s=n.margin||{t:0,b:0,l:0,r:0},l=n.width-s.l-s.r,u=n.height-s.t-s.b,c=o(\"orientation\"),f=c===\"v\",h=o(\"thicknessmode\");o(\"thickness\",h===\"fraction\"?30/(f?l:u):30);var d=o(\"lenmode\");o(\"len\",d===\"fraction\"?1:f?u:l);var v=o(\"yref\"),x=o(\"xref\"),b=v===\"paper\",p=x===\"paper\",E,k,A,L=\"left\";f?(A=\"middle\",L=p?\"left\":\"right\",E=p?1.02:1,k=.5):(A=b?\"bottom\":\"top\",L=\"center\",E=.5,k=b?1.02:1),i_.coerce(a,i,{x:{valType:\"number\",min:p?-2:0,max:p?3:1,dflt:E}},\"x\"),i_.coerce(a,i,{y:{valType:\"number\",min:b?-2:0,max:b?3:1,dflt:k}},\"y\"),o(\"xanchor\",L),o(\"xpad\"),o(\"yanchor\",A),o(\"ypad\"),i_.noneOrAll(a,i,[\"x\",\"y\"]),o(\"outlinecolor\"),o(\"outlinewidth\"),o(\"bordercolor\"),o(\"borderwidth\"),o(\"bgcolor\");var _=i_.coerce(a,i,{ticklabelposition:{valType:\"enumerated\",dflt:\"outside\",values:f?[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside bottom\",\"inside bottom\"]:[\"outside\",\"inside\",\"outside left\",\"inside left\",\"outside right\",\"inside right\"]}},\"ticklabelposition\");o(\"ticklabeloverflow\",_.indexOf(\"inside\")!==-1?\"hide past domain\":\"hide past div\"),Vnt(a,i,o,\"linear\");var C=n.font,M={noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,outerTicks:!1,font:C};_.indexOf(\"inside\")!==-1&&(M.bgColor=\"black\"),jnt(a,i,o,\"linear\",M),Gnt(a,i,o,\"linear\",M),Hnt(a,i,o,\"linear\",M),o(\"title.text\",n._dfltTitle.colorbar);var g=i.showticklabels?i.tickfont:C,P=i_.extendFlat({},C,{family:g.family,size:i_.bigFont(g.size)});i_.coerceFont(o,\"title.font\",P),o(\"title.side\",f?\"top\":\"right\")}});var Uh=ye((urr,Gae)=>{\"use strict\";var Vae=uo(),EO=Mr(),Znt=yO(),Xnt=SO(),Hae=sb().isValid,Ynt=ba().traceIs;function MO(e,t){var r=t.slice(0,t.length-1);return t?EO.nestedProperty(e,r).get()||{}:e}Gae.exports=function e(t,r,n,i,a){var o=a.prefix,s=a.cLetter,l=\"_module\"in r,u=MO(t,o),c=MO(r,o),f=MO(r._template||{},o)||{},h=function(){return delete t.coloraxis,delete r.coloraxis,e(t,r,n,i,a)};if(l){var d=n._colorAxes||{},v=i(o+\"coloraxis\");if(v){var x=Ynt(r,\"contour\")&&EO.nestedProperty(r,\"contours.coloring\").get()||\"heatmap\",b=d[v];b?(b[2].push(h),b[0]!==x&&(b[0]=!1,EO.warn([\"Ignoring coloraxis:\",v,\"setting\",\"as it is linked to incompatible colorscales.\"].join(\" \")))):d[v]=[x,r,[h]];return}}var p=u[s+\"min\"],E=u[s+\"max\"],k=Vae(p)&&Vae(E)&&p<E,A=i(o+s+\"auto\",!k);A?i(o+s+\"mid\"):(i(o+s+\"min\"),i(o+s+\"max\"));var L=u.colorscale,_=f.colorscale,C;if(L!==void 0&&(C=!Hae(L)),_!==void 0&&(C=!Hae(_)),i(o+\"autocolorscale\",C),i(o+\"colorscale\"),i(o+\"reversescale\"),o!==\"marker.line.\"){var M;o&&l&&(M=Znt(u));var g=i(o+\"showscale\",M);g&&(o&&f&&(c._template=f),Xnt(u,c,n))}}});var Xae=ye((crr,Zae)=>{\"use strict\";var jae=Mr(),Knt=Vs(),Wae=mO(),Jnt=Uh();Zae.exports=function(t,r){function n(f,h){return jae.coerce(t,r,Wae,f,h)}n(\"colorscale.sequential\"),n(\"colorscale.sequentialminus\"),n(\"colorscale.diverging\");var i=r._colorAxes,a,o;function s(f,h){return jae.coerce(a,o,Wae.coloraxis,f,h)}for(var l in i){var u=i[l];if(u[0])a=t[l]||{},o=Knt.newContainer(r,l,\"coloraxis\"),o._name=l,Jnt(a,o,r,s,{prefix:\"\",cLetter:\"c\"});else{for(var c=0;c<u[2].length;c++)u[2][c]();delete r._colorAxes[l]}}}});var Kae=ye((frr,Yae)=>{\"use strict\";var $nt=Mr(),Qnt=Dv().hasColorscale,eat=Dv().extractOpts;Yae.exports=function(t,r){function n(c,f){var h=c[\"_\"+f];h!==void 0&&(c[f]=h)}function i(c,f){var h=f.container?$nt.nestedProperty(c,f.container).get():c;if(h)if(h.coloraxis)h._colorAx=r[h.coloraxis];else{var d=eat(h),v=d.auto;(v||d.min===void 0)&&n(h,f.min),(v||d.max===void 0)&&n(h,f.max),d.autocolorscale&&n(h,\"colorscale\")}}for(var a=0;a<t.length;a++){var o=t[a],s=o._module.colorbar;if(s)if(Array.isArray(s))for(var l=0;l<s.length;l++)i(o,s[l]);else i(o,s);Qnt(o,\"marker.line\")&&i(o,{container:\"marker.line\",min:\"cmin\",max:\"cmax\"})}for(var u in r._colorAxes)i(r[u],{min:\"cmin\",max:\"cmax\"})}});var zv=ye((hrr,$ae)=>{\"use strict\";var Jae=uo(),kO=Mr(),tat=Dv().extractOpts;$ae.exports=function(t,r,n){var i=t._fullLayout,a=n.vals,o=n.containerStr,s=o?kO.nestedProperty(r,o).get():r,l=tat(s),u=l.auto!==!1,c=l.min,f=l.max,h=l.mid,d=function(){return kO.aggNums(Math.min,null,a)},v=function(){return kO.aggNums(Math.max,null,a)};if(c===void 0?c=d():u&&(s._colorAx&&Jae(c)?c=Math.min(c,d()):c=d()),f===void 0?f=v():u&&(s._colorAx&&Jae(f)?f=Math.max(f,v()):f=v()),u&&h!==void 0&&(f-h>h-c?c=h-(f-h):f-h<h-c&&(f=h+(h-c))),c===f&&(c-=.5,f+=.5),l._sync(\"min\",c),l._sync(\"max\",f),l.autocolorscale){var x;c*f<0?x=i.colorscale.diverging:c>=0?x=i.colorscale.sequential:x=i.colorscale.sequentialminus,l._sync(\"colorscale\",x)}}});var Mu=ye((drr,Qae)=>{\"use strict\";var Q6=sb(),A3=Dv();Qae.exports={moduleType:\"component\",name:\"colorscale\",attributes:Jl(),layoutAttributes:mO(),supplyLayoutDefaults:Xae(),handleDefaults:Uh(),crossTraceDefaults:Kae(),calc:zv(),scales:Q6.scales,defaultScale:Q6.defaultScale,getScale:Q6.get,isValidScale:Q6.isValid,hasColorscale:A3.hasColorscale,extractOpts:A3.extractOpts,extractScale:A3.extractScale,flipScale:A3.flipScale,makeColorScaleFunc:A3.makeColorScaleFunc,makeColorScaleFuncFromTrace:A3.makeColorScaleFuncFromTrace}});var lu=ye((vrr,toe)=>{\"use strict\";var eoe=Mr(),rat=vv().isTypedArraySpec;toe.exports={hasLines:function(e){return e.visible&&e.mode&&e.mode.indexOf(\"lines\")!==-1},hasMarkers:function(e){return e.visible&&(e.mode&&e.mode.indexOf(\"markers\")!==-1||e.type===\"splom\")},hasText:function(e){return e.visible&&e.mode&&e.mode.indexOf(\"text\")!==-1},isBubble:function(e){var t=e.marker;return eoe.isPlainObject(t)&&(eoe.isArrayOrTypedArray(t.size)||rat(t.size))}}});var S3=ye((prr,roe)=>{\"use strict\";var iat=uo();roe.exports=function(t,r){r||(r=2);var n=t.marker,i=n.sizeref||1,a=n.sizemin||0,o=n.sizemode===\"area\"?function(s){return Math.sqrt(s/i)}:function(s){return s/i};return function(s){var l=o(s/r);return iat(l)&&l>0?Math.max(l,a):0}}});var rp=ye(pv=>{\"use strict\";var ioe=Mr();pv.getSubplot=function(e){return e.subplot||e.xaxis+e.yaxis||e.geo};pv.isTraceInSubplots=function(e,t){if(e.type===\"splom\"){for(var r=e.xaxes||[],n=e.yaxes||[],i=0;i<r.length;i++)for(var a=0;a<n.length;a++)if(t.indexOf(r[i]+n[a])!==-1)return!0;return!1}return t.indexOf(pv.getSubplot(e))!==-1};pv.flat=function(e,t){for(var r=new Array(e.length),n=0;n<e.length;n++)r[n]=t;return r};pv.p2c=function(e,t){for(var r=new Array(e.length),n=0;n<e.length;n++)r[n]=e[n].p2c(t);return r};pv.getDistanceFunction=function(e,t,r,n){return e===\"closest\"?n||pv.quadrature(t,r):e.charAt(0)===\"x\"?t:r};pv.getClosest=function(e,t,r){if(r.index!==!1)r.index>=0&&r.index<e.length?r.distance=0:r.index=!1;else for(var n=1/0,i=e.length,a=0;a<i;a++)n=t(e[a]),n<=r.distance&&(r.index=a,r.distance=n);return r};pv.inbox=function(e,t,r){return e*t<0||e===0?r:1/0};pv.quadrature=function(e,t){return function(r){var n=e(r),i=t(r);return Math.sqrt(n*n+i*i)}};pv.makeEventData=function(e,t,r){var n=\"index\"in e?e.index:e.pointNumber,i={data:t._input,fullData:t,curveNumber:t.index,pointNumber:n};if(t._indexToPoints){var a=t._indexToPoints[n];a.length===1?i.pointIndex=a[0]:i.pointIndices=a}else i.pointIndex=n;return t._module.eventData?i=t._module.eventData(i,e,t,r,n):(\"xVal\"in e?i.x=e.xVal:\"x\"in e&&(i.x=e.x),\"yVal\"in e?i.y=e.yVal:\"y\"in e&&(i.y=e.y),e.xa&&(i.xaxis=e.xa),e.ya&&(i.yaxis=e.ya),e.zLabelVal!==void 0&&(i.z=e.zLabelVal)),pv.appendArrayPointValue(i,t,n),i};pv.appendArrayPointValue=function(e,t,r){var n=t._arrayAttrs;if(n)for(var i=0;i<n.length;i++){var a=n[i],o=noe(a);if(e[o]===void 0){var s=ioe.nestedProperty(t,a).get(),l=aoe(s,r);l!==void 0&&(e[o]=l)}}};pv.appendArrayMultiPointValues=function(e,t,r){var n=t._arrayAttrs;if(n)for(var i=0;i<n.length;i++){var a=n[i],o=noe(a);if(e[o]===void 0){for(var s=ioe.nestedProperty(t,a).get(),l=new Array(r.length),u=0;u<r.length;u++)l[u]=aoe(s,r[u]);e[o]=l}}};var nat={ids:\"id\",locations:\"location\",labels:\"label\",values:\"value\",\"marker.colors\":\"color\",parents:\"parent\"};function noe(e){return nat[e]||e}function aoe(e,t){if(Array.isArray(t)){if(Array.isArray(e)&&Array.isArray(e[t[0]]))return e[t[0]][t[1]]}else return e[t]}var aat={x:!0,y:!0},oat={\"x unified\":!0,\"y unified\":!0};pv.isUnifiedHover=function(e){return typeof e!=\"string\"?!1:!!oat[e]};pv.isXYhover=function(e){return typeof e!=\"string\"?!1:!!aat[e]}});var XS=ye((mrr,ooe)=>{ooe.exports=lat;var CO={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},sat=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function lat(e){var t=[];return e.replace(sat,function(r,n,i){var a=n.toLowerCase();for(i=cat(i),a==\"m\"&&i.length>2&&(t.push([n].concat(i.splice(0,2))),a=\"l\",n=n==\"m\"?\"l\":\"L\");;){if(i.length==CO[a])return i.unshift(n),t.push(i);if(i.length<CO[a])throw new Error(\"malformed path data\");t.push([n].concat(i.splice(0,CO[a])))}}),t}var uat=/-?[0-9]*\\.?[0-9]+(?:e[-+]?\\d+)?/ig;function cat(e){var t=e.match(uat);return t?t.map(Number):[]}});var doe=ye((yrr,hoe)=>{\"use strict\";var fat=XS(),Yn=function(e,t){return t?Math.round(e*(t=Math.pow(10,t)))/t:Math.round(e)},ts=\"M0,0Z\",soe=Math.sqrt(2),n_=Math.sqrt(3),LO=Math.PI,PO=Math.cos,IO=Math.sin;hoe.exports={circle:{n:0,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=\"M\"+n+\",0A\"+n+\",\"+n+\" 0 1,1 0,-\"+n+\"A\"+n+\",\"+n+\" 0 0,1 \"+n+\",0Z\";return r?is(t,r,i):i}},square:{n:1,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"H-\"+n+\"V-\"+n+\"H\"+n+\"Z\")}},diamond:{n:2,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2);return is(t,r,\"M\"+n+\",0L0,\"+n+\"L-\"+n+\",0L0,-\"+n+\"Z\")}},cross:{n:3,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.4,2),i=Yn(e*1.2,2);return is(t,r,\"M\"+i+\",\"+n+\"H\"+n+\"V\"+i+\"H-\"+n+\"V\"+n+\"H-\"+i+\"V-\"+n+\"H-\"+n+\"V-\"+i+\"H\"+n+\"V-\"+n+\"H\"+i+\"Z\")}},x:{n:4,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.8/soe,2),i=\"l\"+n+\",\"+n,a=\"l\"+n+\",-\"+n,o=\"l-\"+n+\",-\"+n,s=\"l-\"+n+\",\"+n;return is(t,r,\"M0,\"+n+i+a+o+a+o+s+o+s+i+s+i+\"Z\")}},\"triangle-up\":{n:5,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/n_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M-\"+n+\",\"+i+\"H\"+n+\"L0,-\"+a+\"Z\")}},\"triangle-down\":{n:6,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/n_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M-\"+n+\",-\"+i+\"H\"+n+\"L0,\"+a+\"Z\")}},\"triangle-left\":{n:7,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/n_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M\"+i+\",-\"+n+\"V\"+n+\"L-\"+a+\",0Z\")}},\"triangle-right\":{n:8,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/n_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M-\"+i+\",-\"+n+\"V\"+n+\"L\"+a+\",0Z\")}},\"triangle-ne\":{n:9,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M-\"+i+\",-\"+n+\"H\"+n+\"V\"+i+\"Z\")}},\"triangle-se\":{n:10,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M\"+n+\",-\"+i+\"V\"+n+\"H-\"+i+\"Z\")}},\"triangle-sw\":{n:11,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M\"+i+\",\"+n+\"H-\"+n+\"V-\"+i+\"Z\")}},\"triangle-nw\":{n:12,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M-\"+n+\",\"+i+\"V-\"+n+\"H\"+i+\"Z\")}},pentagon:{n:13,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.951,2),i=Yn(e*.588,2),a=Yn(-e,2),o=Yn(e*-.309,2),s=Yn(e*.809,2);return is(t,r,\"M\"+n+\",\"+o+\"L\"+i+\",\"+s+\"H-\"+i+\"L-\"+n+\",\"+o+\"L0,\"+a+\"Z\")}},hexagon:{n:14,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/2,2),a=Yn(e*n_/2,2);return is(t,r,\"M\"+a+\",-\"+i+\"V\"+i+\"L0,\"+n+\"L-\"+a+\",\"+i+\"V-\"+i+\"L0,-\"+n+\"Z\")}},hexagon2:{n:15,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/2,2),a=Yn(e*n_/2,2);return is(t,r,\"M-\"+i+\",\"+a+\"H\"+i+\"L\"+n+\",0L\"+i+\",-\"+a+\"H-\"+i+\"L-\"+n+\",0Z\")}},octagon:{n:16,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.924,2),i=Yn(e*.383,2);return is(t,r,\"M-\"+i+\",-\"+n+\"H\"+i+\"L\"+n+\",-\"+i+\"V\"+i+\"L\"+i+\",\"+n+\"H-\"+i+\"L-\"+n+\",\"+i+\"V-\"+i+\"Z\")}},star:{n:17,f:function(e,t,r){if(rs(t))return ts;var n=e*1.4,i=Yn(n*.225,2),a=Yn(n*.951,2),o=Yn(n*.363,2),s=Yn(n*.588,2),l=Yn(-n,2),u=Yn(n*-.309,2),c=Yn(n*.118,2),f=Yn(n*.809,2),h=Yn(n*.382,2);return is(t,r,\"M\"+i+\",\"+u+\"H\"+a+\"L\"+o+\",\"+c+\"L\"+s+\",\"+f+\"L0,\"+h+\"L-\"+s+\",\"+f+\"L-\"+o+\",\"+c+\"L-\"+a+\",\"+u+\"H-\"+i+\"L0,\"+l+\"Z\")}},hexagram:{n:18,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.66,2),i=Yn(e*.38,2),a=Yn(e*.76,2);return is(t,r,\"M-\"+a+\",0l-\"+i+\",-\"+n+\"h\"+a+\"l\"+i+\",-\"+n+\"l\"+i+\",\"+n+\"h\"+a+\"l-\"+i+\",\"+n+\"l\"+i+\",\"+n+\"h-\"+a+\"l-\"+i+\",\"+n+\"l-\"+i+\",-\"+n+\"h-\"+a+\"Z\")}},\"star-triangle-up\":{n:19,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*n_*.8,2),i=Yn(e*.8,2),a=Yn(e*1.6,2),o=Yn(e*4,2),s=\"A \"+o+\",\"+o+\" 0 0 1 \";return is(t,r,\"M-\"+n+\",\"+i+s+n+\",\"+i+s+\"0,-\"+a+s+\"-\"+n+\",\"+i+\"Z\")}},\"star-triangle-down\":{n:20,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*n_*.8,2),i=Yn(e*.8,2),a=Yn(e*1.6,2),o=Yn(e*4,2),s=\"A \"+o+\",\"+o+\" 0 0 1 \";return is(t,r,\"M\"+n+\",-\"+i+s+\"-\"+n+\",-\"+i+s+\"0,\"+a+s+n+\",-\"+i+\"Z\")}},\"star-square\":{n:21,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.1,2),i=Yn(e*2,2),a=\"A \"+i+\",\"+i+\" 0 0 1 \";return is(t,r,\"M-\"+n+\",-\"+n+a+\"-\"+n+\",\"+n+a+n+\",\"+n+a+n+\",-\"+n+a+\"-\"+n+\",-\"+n+\"Z\")}},\"star-diamond\":{n:22,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2),i=Yn(e*1.9,2),a=\"A \"+i+\",\"+i+\" 0 0 1 \";return is(t,r,\"M-\"+n+\",0\"+a+\"0,\"+n+a+n+\",0\"+a+\"0,-\"+n+a+\"-\"+n+\",0Z\")}},\"diamond-tall\":{n:23,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.7,2),i=Yn(e*1.4,2);return is(t,r,\"M0,\"+i+\"L\"+n+\",0L0,-\"+i+\"L-\"+n+\",0Z\")}},\"diamond-wide\":{n:24,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2),i=Yn(e*.7,2);return is(t,r,\"M0,\"+i+\"L\"+n+\",0L0,-\"+i+\"L-\"+n+\",0Z\")}},hourglass:{n:25,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"H-\"+n+\"L\"+n+\",-\"+n+\"H-\"+n+\"Z\")},noDot:!0},bowtie:{n:26,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"V-\"+n+\"L-\"+n+\",\"+n+\"V-\"+n+\"Z\")},noDot:!0},\"circle-cross\":{n:27,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n+\"M\"+n+\",0A\"+n+\",\"+n+\" 0 1,1 0,-\"+n+\"A\"+n+\",\"+n+\" 0 0,1 \"+n+\",0Z\")},needLine:!0,noDot:!0},\"circle-x\":{n:28,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/soe,2);return is(t,r,\"M\"+i+\",\"+i+\"L-\"+i+\",-\"+i+\"M\"+i+\",-\"+i+\"L-\"+i+\",\"+i+\"M\"+n+\",0A\"+n+\",\"+n+\" 0 1,1 0,-\"+n+\"A\"+n+\",\"+n+\" 0 0,1 \"+n+\",0Z\")},needLine:!0,noDot:!0},\"square-cross\":{n:29,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n+\"M\"+n+\",\"+n+\"H-\"+n+\"V-\"+n+\"H\"+n+\"Z\")},needLine:!0,noDot:!0},\"square-x\":{n:30,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n+\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n+\"M\"+n+\",\"+n+\"H-\"+n+\"V-\"+n+\"H\"+n+\"Z\")},needLine:!0,noDot:!0},\"diamond-cross\":{n:31,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2);return is(t,r,\"M\"+n+\",0L0,\"+n+\"L-\"+n+\",0L0,-\"+n+\"ZM0,-\"+n+\"V\"+n+\"M-\"+n+\",0H\"+n)},needLine:!0,noDot:!0},\"diamond-x\":{n:32,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2),i=Yn(e*.65,2);return is(t,r,\"M\"+n+\",0L0,\"+n+\"L-\"+n+\",0L0,-\"+n+\"ZM-\"+i+\",-\"+i+\"L\"+i+\",\"+i+\"M-\"+i+\",\"+i+\"L\"+i+\",-\"+i)},needLine:!0,noDot:!0},\"cross-thin\":{n:33,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"x-thin\":{n:34,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n+\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n)},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*.85,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n+\"M\"+i+\",\"+i+\"L-\"+i+\",-\"+i+\"M\"+i+\",-\"+i+\"L-\"+i+\",\"+i)},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e/2,2),i=Yn(e,2);return is(t,r,\"M\"+n+\",\"+i+\"V-\"+i+\"M\"+(n-i)+\",-\"+i+\"V\"+i+\"M\"+i+\",\"+n+\"H-\"+i+\"M-\"+i+\",\"+(n-i)+\"H\"+i)},needLine:!0,noFill:!0},\"y-up\":{n:37,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M-\"+n+\",\"+a+\"L0,0M\"+n+\",\"+a+\"L0,0M0,-\"+i+\"L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"y-down\":{n:38,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M-\"+n+\",-\"+a+\"L0,0M\"+n+\",-\"+a+\"L0,0M0,\"+i+\"L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"y-left\":{n:39,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M\"+a+\",\"+n+\"L0,0M\"+a+\",-\"+n+\"L0,0M-\"+i+\",0L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"y-right\":{n:40,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M-\"+a+\",\"+n+\"L0,0M-\"+a+\",-\"+n+\"L0,0M\"+i+\",0L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"line-ew\":{n:41,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,\"M\"+n+\",0H-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"line-ns\":{n:42,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,\"M0,\"+n+\"V-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"line-ne\":{n:43,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n)},needLine:!0,noDot:!0,noFill:!0},\"line-nw\":{n:44,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"arrow-up\":{n:45,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M0,0L-\"+n+\",\"+i+\"H\"+n+\"Z\")},backoff:1,noDot:!0},\"arrow-down\":{n:46,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M0,0L-\"+n+\",-\"+i+\"H\"+n+\"Z\")},noDot:!0},\"arrow-left\":{n:47,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,0L\"+n+\",-\"+i+\"V\"+i+\"Z\")},noDot:!0},\"arrow-right\":{n:48,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,0L-\"+n+\",-\"+i+\"V\"+i+\"Z\")},noDot:!0},\"arrow-bar-up\":{n:49,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M-\"+n+\",0H\"+n+\"M0,0L-\"+n+\",\"+i+\"H\"+n+\"Z\")},backoff:1,needLine:!0,noDot:!0},\"arrow-bar-down\":{n:50,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M-\"+n+\",0H\"+n+\"M0,0L-\"+n+\",-\"+i+\"H\"+n+\"Z\")},needLine:!0,noDot:!0},\"arrow-bar-left\":{n:51,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,-\"+i+\"V\"+i+\"M0,0L\"+n+\",-\"+i+\"V\"+i+\"Z\")},needLine:!0,noDot:!0},\"arrow-bar-right\":{n:52,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,-\"+i+\"V\"+i+\"M0,0L-\"+n+\",-\"+i+\"V\"+i+\"Z\")},needLine:!0,noDot:!0},arrow:{n:53,f:function(e,t,r){if(rs(t))return ts;var n=LO/2.5,i=2*e*PO(n),a=2*e*IO(n);return is(t,r,\"M0,0L\"+-i+\",\"+a+\"L\"+i+\",\"+a+\"Z\")},backoff:.9,noDot:!0},\"arrow-wide\":{n:54,f:function(e,t,r){if(rs(t))return ts;var n=LO/4,i=2*e*PO(n),a=2*e*IO(n);return is(t,r,\"M0,0L\"+-i+\",\"+a+\"A \"+2*e+\",\"+2*e+\" 0 0 1 \"+i+\",\"+a+\"Z\")},backoff:.4,noDot:!0}};function rs(e){return e===null}var loe,uoe,coe,foe;function is(e,t,r){if((!e||e%360===0)&&!t)return r;if(coe===e&&foe===t&&loe===r)return uoe;coe=e,foe=t,loe=r;function n(b,p){var E=PO(b),k=IO(b),A=p[0],L=p[1]+(t||0);return[A*E-L*k,A*k+L*E]}for(var i=e/180*LO,a=0,o=0,s=fat(r),l=\"\",u=0;u<s.length;u++){var c=s[u],f=c[0],h=a,d=o;if(f===\"M\"||f===\"L\")a=+c[1],o=+c[2];else if(f===\"m\"||f===\"l\")a+=+c[1],o+=+c[2];else if(f===\"H\")a=+c[1];else if(f===\"h\")a+=+c[1];else if(f===\"V\")o=+c[1];else if(f===\"v\")o+=+c[1];else if(f===\"A\"){a=+c[1],o=+c[2];var v=n(i,[+c[6],+c[7]]);c[6]=v[0],c[7]=v[1],c[3]=+c[3]+e}(f===\"H\"||f===\"V\")&&(f=\"L\"),(f===\"h\"||f===\"v\")&&(f=\"l\"),(f===\"m\"||f===\"l\")&&(a-=h,o-=d);var x=n(i,[a,o]);(f===\"H\"||f===\"V\")&&(f=\"L\"),(f===\"M\"||f===\"L\"||f===\"m\"||f===\"l\")&&(c[1]=x[0],c[2]=x[1]),c[0]=f,l+=c[0]+c.slice(1).join(\",\")}return uoe=l,l}});var ao=ye((_rr,Roe)=>{\"use strict\";var od=xa(),du=Mr(),hat=du.numberFormat,Ab=uo(),OO=id(),tL=ba(),Xd=va(),dat=Mu(),KS=du.strTranslate,rL=Pl(),vat=Zp(),pat=Nh(),gat=pat.LINE_SPACING,Toe=U1().DESELECTDIM,mat=lu(),yat=S3(),_at=rp().appendArrayPointValue,na=Roe.exports={};na.font=function(e,t){var r=t.variant,n=t.style,i=t.weight,a=t.color,o=t.size,s=t.family,l=t.shadow,u=t.lineposition,c=t.textcase;s&&e.style(\"font-family\",s),o+1&&e.style(\"font-size\",o+\"px\"),a&&e.call(Xd.fill,a),i&&e.style(\"font-weight\",i),n&&e.style(\"font-style\",n),r&&e.style(\"font-variant\",r),c&&e.style(\"text-transform\",RO(bat(c))),l&&e.style(\"text-shadow\",l===\"auto\"?rL.makeTextShadow(Xd.contrast(a)):RO(l)),u&&e.style(\"text-decoration-line\",RO(wat(u)))};function RO(e){return e===\"none\"?void 0:e}var xat={normal:\"none\",lower:\"lowercase\",upper:\"uppercase\",\"word caps\":\"capitalize\"};function bat(e){return xat[e]}function wat(e){return e.replace(\"under\",\"underline\").replace(\"over\",\"overline\").replace(\"through\",\"line-through\").split(\"+\").join(\" \")}na.setPosition=function(e,t,r){e.attr(\"x\",t).attr(\"y\",r)};na.setSize=function(e,t,r){e.attr(\"width\",t).attr(\"height\",r)};na.setRect=function(e,t,r,n,i){e.call(na.setPosition,t,r).call(na.setSize,n,i)};na.translatePoint=function(e,t,r,n){var i=r.c2p(e.x),a=n.c2p(e.y);if(Ab(i)&&Ab(a)&&t.node())t.node().nodeName===\"text\"?t.attr(\"x\",i).attr(\"y\",a):t.attr(\"transform\",KS(i,a));else return!1;return!0};na.translatePoints=function(e,t,r){e.each(function(n){var i=od.select(this);na.translatePoint(n,i,t,r)})};na.hideOutsideRangePoint=function(e,t,r,n,i,a){t.attr(\"display\",r.isPtWithinRange(e,i)&&n.isPtWithinRange(e,a)?null:\"none\")};na.hideOutsideRangePoints=function(e,t){if(t._hasClipOnAxisFalse){var r=t.xaxis,n=t.yaxis;e.each(function(i){var a=i[0].trace,o=a.xcalendar,s=a.ycalendar,l=tL.traceIs(a,\"bar-like\")?\".bartext\":\".point,.textpoint\";e.selectAll(l).each(function(u){na.hideOutsideRangePoint(u,od.select(this),r,n,o,s)})})}};na.crispRound=function(e,t,r){return!t||!Ab(t)?r||0:e._context.staticPlot?t:t<1?1:Math.round(t)};na.singleLineStyle=function(e,t,r,n,i){t.style(\"fill\",\"none\");var a=(((e||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||\"\";Xd.stroke(t,n||a.color),na.dashLine(t,s,o)};na.lineGroupStyle=function(e,t,r,n){e.style(\"fill\",\"none\").each(function(i){var a=(((i||[])[0]||{}).trace||{}).line||{},o=t||a.width||0,s=n||a.dash||\"\";od.select(this).call(Xd.stroke,r||a.color).call(na.dashLine,s,o)})};na.dashLine=function(e,t,r){r=+r||0,t=na.dashStyle(t,r),e.style({\"stroke-dasharray\":t,\"stroke-width\":r+\"px\"})};na.dashStyle=function(e,t){t=+t||1;var r=Math.max(t,3);return e===\"solid\"?e=\"\":e===\"dot\"?e=r+\"px,\"+r+\"px\":e===\"dash\"?e=3*r+\"px,\"+3*r+\"px\":e===\"longdash\"?e=5*r+\"px,\"+5*r+\"px\":e===\"dashdot\"?e=3*r+\"px,\"+r+\"px,\"+r+\"px,\"+r+\"px\":e===\"longdashdot\"&&(e=5*r+\"px,\"+2*r+\"px,\"+r+\"px,\"+2*r+\"px\"),e};function Aoe(e,t,r,n){var i=t.fillpattern,a=t.fillgradient,o=i&&na.getPatternAttr(i.shape,0,\"\");if(o){var s=na.getPatternAttr(i.bgcolor,0,null),l=na.getPatternAttr(i.fgcolor,0,null),u=i.fgopacity,c=na.getPatternAttr(i.size,0,8),f=na.getPatternAttr(i.solidity,0,.3),h=t.uid;na.pattern(e,\"point\",r,h,o,c,f,void 0,i.fillmode,s,l,u)}else if(a&&a.type!==\"none\"){var d=a.type,v=\"scatterfill-\"+t.uid;if(n&&(v=\"legendfill-\"+t.uid),!n&&(a.start!==void 0||a.stop!==void 0)){var x,b;d===\"horizontal\"?(x={x:a.start,y:0},b={x:a.stop,y:0}):d===\"vertical\"&&(x={x:0,y:a.start},b={x:0,y:a.stop}),x.x=t._xA.c2p(x.x===void 0?t._extremes.x.min[0].val:x.x,!0),x.y=t._yA.c2p(x.y===void 0?t._extremes.y.min[0].val:x.y,!0),b.x=t._xA.c2p(b.x===void 0?t._extremes.x.max[0].val:b.x,!0),b.y=t._yA.c2p(b.y===void 0?t._extremes.y.max[0].val:b.y,!0),e.call(Eoe,r,v,\"linear\",a.colorscale,\"fill\",x,b,!0,!1)}else d===\"horizontal\"&&(d=d+\"reversed\"),e.call(na.gradient,r,v,d,a.colorscale,\"fill\")}else t.fillcolor&&e.call(Xd.fill,t.fillcolor)}na.singleFillStyle=function(e,t){var r=od.select(e.node()),n=r.data(),i=((n[0]||[])[0]||{}).trace||{};Aoe(e,i,t,!1)};na.fillGroupStyle=function(e,t,r){e.style(\"stroke-width\",0).each(function(n){var i=od.select(this);n[0].trace&&Aoe(i,n[0].trace,t,r)})};var voe=doe();na.symbolNames=[];na.symbolFuncs=[];na.symbolBackOffs=[];na.symbolNeedLines={};na.symbolNoDot={};na.symbolNoFill={};na.symbolList=[];Object.keys(voe).forEach(function(e){var t=voe[e],r=t.n;na.symbolList.push(r,String(r),e,r+100,String(r+100),e+\"-open\"),na.symbolNames[r]=e,na.symbolFuncs[r]=t.f,na.symbolBackOffs[r]=t.backoff||0,t.needLine&&(na.symbolNeedLines[r]=!0),t.noDot?na.symbolNoDot[r]=!0:na.symbolList.push(r+200,String(r+200),e+\"-dot\",r+300,String(r+300),e+\"-open-dot\"),t.noFill&&(na.symbolNoFill[r]=!0)});var Tat=na.symbolNames.length,Aat=\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\";na.symbolNumber=function(e){if(Ab(e))e=+e;else if(typeof e==\"string\"){var t=0;e.indexOf(\"-open\")>0&&(t=100,e=e.replace(\"-open\",\"\")),e.indexOf(\"-dot\")>0&&(t+=200,e=e.replace(\"-dot\",\"\")),e=na.symbolNames.indexOf(e),e>=0&&(e+=t)}return e%100>=Tat||e>=400?0:Math.floor(Math.max(e,0))};function Soe(e,t,r,n){var i=e%100;return na.symbolFuncs[i](t,r,n)+(e>=200?Aat:\"\")}var poe=hat(\"~f\"),Moe={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}};na.gradient=function(e,t,r,n,i,a){var o=Moe[n];return Eoe(e,t,r,o.type,i,a,o.start,o.stop,!1,o.reversed)};function Eoe(e,t,r,n,i,a,o,s,l,u){var c=i.length,f;n===\"linear\"?f={node:\"linearGradient\",attrs:{x1:o.x,y1:o.y,x2:s.x,y2:s.y,gradientUnits:l?\"userSpaceOnUse\":\"objectBoundingBox\"},reversed:u}:n===\"radial\"&&(f={node:\"radialGradient\",reversed:u});for(var h=new Array(c),d=0;d<c;d++)f.reversed?h[c-1-d]=[poe((1-i[d][0])*100),i[d][1]]:h[d]=[poe(i[d][0]*100),i[d][1]];var v=t._fullLayout,x=\"g\"+v._uid+\"-\"+r,b=v._defs.select(\".gradients\").selectAll(\"#\"+x).data([n+h.join(\";\")],du.identity);b.exit().remove(),b.enter().append(f.node).each(function(){var p=od.select(this);f.attrs&&p.attr(f.attrs),p.attr(\"id\",x);var E=p.selectAll(\"stop\").data(h);E.exit().remove(),E.enter().append(\"stop\"),E.each(function(k){var A=OO(k[1]);od.select(this).attr({offset:k[0]+\"%\",\"stop-color\":Xd.tinyRGB(A),\"stop-opacity\":A.getAlpha()})})}),e.style(a,BO(x,t)).style(a+\"-opacity\",null),e.classed(\"gradient_filled\",!0)}na.pattern=function(e,t,r,n,i,a,o,s,l,u,c,f){var h=t===\"legend\";s&&(l===\"overlay\"?(u=s,c=Xd.contrast(u)):(u=void 0,c=s));var d=r._fullLayout,v=\"p\"+d._uid+\"-\"+n,x,b,p=function(q,V,H,X,G){return X+(G-X)*(q-V)/(H-V)},E,k,A,L,_={},C=OO(c),M=Xd.tinyRGB(C),g=C.getAlpha(),P=f*g;switch(i){case\"/\":x=a*Math.sqrt(2),b=a*Math.sqrt(2),E=\"M-\"+x/4+\",\"+b/4+\"l\"+x/2+\",-\"+b/2+\"M0,\"+b+\"L\"+x+\",0M\"+x/4*3+\",\"+b/4*5+\"l\"+x/2+\",-\"+b/2,k=o*a,L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"\\\\\":x=a*Math.sqrt(2),b=a*Math.sqrt(2),E=\"M\"+x/4*3+\",-\"+b/4+\"l\"+x/2+\",\"+b/2+\"M0,0L\"+x+\",\"+b+\"M-\"+x/4+\",\"+b/4*3+\"l\"+x/2+\",\"+b/2,k=o*a,L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"x\":x=a*Math.sqrt(2),b=a*Math.sqrt(2),E=\"M-\"+x/4+\",\"+b/4+\"l\"+x/2+\",-\"+b/2+\"M0,\"+b+\"L\"+x+\",0M\"+x/4*3+\",\"+b/4*5+\"l\"+x/2+\",-\"+b/2+\"M\"+x/4*3+\",-\"+b/4+\"l\"+x/2+\",\"+b/2+\"M0,0L\"+x+\",\"+b+\"M-\"+x/4+\",\"+b/4*3+\"l\"+x/2+\",\"+b/2,k=a-a*Math.sqrt(1-o),L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"|\":x=a,b=a,L=\"path\",E=\"M\"+x/2+\",0L\"+x/2+\",\"+b,k=o*a,L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"-\":x=a,b=a,L=\"path\",E=\"M0,\"+b/2+\"L\"+x+\",\"+b/2,k=o*a,L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\"+\":x=a,b=a,L=\"path\",E=\"M\"+x/2+\",0L\"+x/2+\",\"+b+\"M0,\"+b/2+\"L\"+x+\",\"+b/2,k=a-a*Math.sqrt(1-o),L=\"path\",_={d:E,opacity:P,stroke:M,\"stroke-width\":k+\"px\"};break;case\".\":x=a,b=a,o<Math.PI/4?A=Math.sqrt(o*a*a/Math.PI):A=p(o,Math.PI/4,1,a/2,a/Math.sqrt(2)),L=\"circle\",_={cx:x/2,cy:b/2,r:A,opacity:P,fill:M};break}var T=[i||\"noSh\",u||\"noBg\",c||\"noFg\",a,o].join(\";\"),F=d._defs.select(\".patterns\").selectAll(\"#\"+v).data([T],du.identity);F.exit().remove(),F.enter().append(\"pattern\").each(function(){var q=od.select(this);if(q.attr({id:v,width:x+\"px\",height:b+\"px\",patternUnits:\"userSpaceOnUse\",patternTransform:h?\"scale(0.8)\":\"\"}),u){var V=OO(u),H=Xd.tinyRGB(V),X=V.getAlpha(),G=q.selectAll(\"rect\").data([0]);G.exit().remove(),G.enter().append(\"rect\").attr({width:x+\"px\",height:b+\"px\",fill:H,\"fill-opacity\":X})}var N=q.selectAll(L).data([0]);N.exit().remove(),N.enter().append(L).attr(_)}),e.style(\"fill\",BO(v,r)).style(\"fill-opacity\",null),e.classed(\"pattern_filled\",!0)};na.initGradients=function(e){var t=e._fullLayout,r=du.ensureSingle(t._defs,\"g\",\"gradients\");r.selectAll(\"linearGradient,radialGradient\").remove(),od.select(e).selectAll(\".gradient_filled\").classed(\"gradient_filled\",!1)};na.initPatterns=function(e){var t=e._fullLayout,r=du.ensureSingle(t._defs,\"g\",\"patterns\");r.selectAll(\"pattern\").remove(),od.select(e).selectAll(\".pattern_filled\").classed(\"pattern_filled\",!1)};na.getPatternAttr=function(e,t,r){return e&&du.isArrayOrTypedArray(e)?t<e.length?e[t]:r:e};na.pointStyle=function(e,t,r,n){if(e.size()){var i=na.makePointStyleFns(t);e.each(function(a){na.singlePointStyle(a,od.select(this),t,i,r,n)})}};na.singlePointStyle=function(e,t,r,n,i,a){var o=r.marker,s=o.line;if(a&&a.i>=0&&e.i===void 0&&(e.i=a.i),t.style(\"opacity\",n.selectedOpacityFn?n.selectedOpacityFn(e):e.mo===void 0?o.opacity:e.mo),n.ms2mrc){var l;e.ms===\"various\"||o.size===\"various\"?l=3:l=n.ms2mrc(e.ms),e.mrc=l,n.selectedSizeFn&&(l=e.mrc=n.selectedSizeFn(e));var u=na.symbolNumber(e.mx||o.symbol)||0;e.om=u%200>=100;var c=UO(e,r),f=NO(e,r);t.attr(\"d\",Soe(u,l,c,f))}var h=!1,d,v,x;if(e.so)x=s.outlierwidth,v=s.outliercolor,d=o.outliercolor;else{var b=(s||{}).width;x=(e.mlw+1||b+1||(e.trace?(e.trace.marker.line||{}).width:0)+1)-1||0,\"mlc\"in e?v=e.mlcc=n.lineScale(e.mlc):du.isArrayOrTypedArray(s.color)?v=Xd.defaultLine:v=s.color,du.isArrayOrTypedArray(o.color)&&(d=Xd.defaultLine,h=!0),\"mc\"in e?d=e.mcc=n.markerScale(e.mc):d=o.color||o.colors||\"rgba(0,0,0,0)\",n.selectedColorFn&&(d=n.selectedColorFn(e))}if(e.om)t.call(Xd.stroke,d).style({\"stroke-width\":(x||1)+\"px\",fill:\"none\"});else{t.style(\"stroke-width\",(e.isBlank?0:x)+\"px\");var p=o.gradient,E=e.mgt;E?h=!0:E=p&&p.type,du.isArrayOrTypedArray(E)&&(E=E[0],Moe[E]||(E=0));var k=o.pattern,A=k&&na.getPatternAttr(k.shape,e.i,\"\");if(E&&E!==\"none\"){var L=e.mgc;L?h=!0:L=p.color;var _=r.uid;h&&(_+=\"-\"+e.i),na.gradient(t,i,_,E,[[0,L],[1,d]],\"fill\")}else if(A){var C=!1,M=k.fgcolor;!M&&a&&a.color&&(M=a.color,C=!0);var g=na.getPatternAttr(M,e.i,a&&a.color||null),P=na.getPatternAttr(k.bgcolor,e.i,null),T=k.fgopacity,F=na.getPatternAttr(k.size,e.i,8),q=na.getPatternAttr(k.solidity,e.i,.3);C=C||e.mcc||du.isArrayOrTypedArray(k.shape)||du.isArrayOrTypedArray(k.bgcolor)||du.isArrayOrTypedArray(k.fgcolor)||du.isArrayOrTypedArray(k.size)||du.isArrayOrTypedArray(k.solidity);var V=r.uid;C&&(V+=\"-\"+e.i),na.pattern(t,\"point\",i,V,A,F,q,e.mcc,k.fillmode,P,g,T)}else du.isArrayOrTypedArray(d)?Xd.fill(t,d[e.i]):Xd.fill(t,d);x&&Xd.stroke(t,v)}};na.makePointStyleFns=function(e){var t={},r=e.marker;return t.markerScale=na.tryColorscale(r,\"\"),t.lineScale=na.tryColorscale(r,\"line\"),tL.traceIs(e,\"symbols\")&&(t.ms2mrc=mat.isBubble(e)?yat(e):function(){return(r.size||6)/2}),e.selectedpoints&&du.extendFlat(t,na.makeSelectedPointStyleFns(e)),t};na.makeSelectedPointStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.marker||{},a=r.marker||{},o=n.marker||{},s=i.opacity,l=a.opacity,u=o.opacity,c=l!==void 0,f=u!==void 0;(du.isArrayOrTypedArray(s)||c||f)&&(t.selectedOpacityFn=function(A){var L=A.mo===void 0?i.opacity:A.mo;return A.selected?c?l:L:f?u:Toe*L});var h=i.color,d=a.color,v=o.color;(d||v)&&(t.selectedColorFn=function(A){var L=A.mcc||h;return A.selected?d||L:v||L});var x=i.size,b=a.size,p=o.size,E=b!==void 0,k=p!==void 0;return tL.traceIs(e,\"symbols\")&&(E||k)&&(t.selectedSizeFn=function(A){var L=A.mrc||x/2;return A.selected?E?b/2:L:k?p/2:L}),t};na.makeSelectedTextStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,u=o.color;return t.selectedTextColorFn=function(c){var f=c.tc||s;return c.selected?l||f:u||(l?f:Xd.addOpacity(f,Toe))},t};na.selectedPointStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=na.makeSelectedPointStyleFns(t),n=t.marker||{},i=[];r.selectedOpacityFn&&i.push(function(a,o){a.style(\"opacity\",r.selectedOpacityFn(o))}),r.selectedColorFn&&i.push(function(a,o){Xd.fill(a,r.selectedColorFn(o))}),r.selectedSizeFn&&i.push(function(a,o){var s=o.mx||n.symbol||0,l=r.selectedSizeFn(o);a.attr(\"d\",Soe(na.symbolNumber(s),l,UO(o,t),NO(o,t))),o.mrc2=l}),i.length&&e.each(function(a){for(var o=od.select(this),s=0;s<i.length;s++)i[s](o,a)})}};na.tryColorscale=function(e,t){var r=t?du.nestedProperty(e,t).get():e;if(r){var n=r.color;if((r.colorscale||r._colorAx)&&du.isArrayOrTypedArray(n))return dat.makeColorScaleFuncFromTrace(r)}return du.identity};var DO={start:1,end:-1,middle:0,bottom:1,top:-1};function koe(e,t,r,n,i){var a=od.select(e.node().parentNode),o=t.indexOf(\"top\")!==-1?\"top\":t.indexOf(\"bottom\")!==-1?\"bottom\":\"middle\",s=t.indexOf(\"left\")!==-1?\"end\":t.indexOf(\"right\")!==-1?\"start\":\"middle\",l=n?n/.8+1:0,u=(rL.lineCount(e)-1)*gat+1,c=DO[s]*l,f=r*.75+DO[o]*l+(DO[o]-1)*u*r/2;e.attr(\"text-anchor\",s),i||a.attr(\"transform\",KS(c,f))}function Coe(e,t){var r=e.ts||t.textfont.size;return Ab(r)&&r>0?r:0}na.textPointStyle=function(e,t,r){if(e.size()){var n;if(t.selectedpoints){var i=na.makeSelectedTextStyleFns(t);n=i.selectedTextColorFn}var a=t.texttemplate,o=r._fullLayout;e.each(function(s){var l=od.select(this),u=a?du.extractOption(s,t,\"txt\",\"texttemplate\"):du.extractOption(s,t,\"tx\",\"text\");if(!u&&u!==0){l.remove();return}if(a){var c=t._module.formatLabels,f=c?c(s,t,o):{},h={};_at(h,t,s.i);var d=t._meta||{};u=du.texttemplateString(u,f,o._d3locale,h,s,d)}var v=s.tp||t.textposition,x=Coe(s,t),b=n?n(s):s.tc||t.textfont.color;l.call(na.font,{family:s.tf||t.textfont.family,weight:s.tw||t.textfont.weight,style:s.ty||t.textfont.style,variant:s.tv||t.textfont.variant,textcase:s.tC||t.textfont.textcase,lineposition:s.tE||t.textfont.lineposition,shadow:s.tS||t.textfont.shadow,size:x,color:b}).text(u).call(rL.convertToTspans,r).call(koe,v,x,s.mrc)})}};na.selectedTextStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=na.makeSelectedTextStyleFns(t);e.each(function(n){var i=od.select(this),a=r.selectedTextColorFn(n),o=n.tp||t.textposition,s=Coe(n,t);Xd.fill(i,a);var l=tL.traceIs(t,\"bar-like\");koe(i,o,s,n.mrc2||n.mrc,l)})}};var goe=.5;na.smoothopen=function(e,t){if(e.length<3)return\"M\"+e.join(\"L\");var r=\"M\"+e[0],n=[],i;for(i=1;i<e.length-1;i++)n.push(eL(e[i-1],e[i],e[i+1],t));for(r+=\"Q\"+n[0][0]+\" \"+e[1],i=2;i<e.length-1;i++)r+=\"C\"+n[i-2][1]+\" \"+n[i-1][0]+\" \"+e[i];return r+=\"Q\"+n[e.length-3][1]+\" \"+e[e.length-1],r};na.smoothclosed=function(e,t){if(e.length<3)return\"M\"+e.join(\"L\")+\"Z\";var r=\"M\"+e[0],n=e.length-1,i=[eL(e[n],e[0],e[1],t)],a;for(a=1;a<n;a++)i.push(eL(e[a-1],e[a],e[a+1],t));for(i.push(eL(e[n-1],e[n],e[0],t)),a=1;a<=n;a++)r+=\"C\"+i[a-1][1]+\" \"+i[a][0]+\" \"+e[a];return r+=\"C\"+i[n][1]+\" \"+i[0][0]+\" \"+e[0]+\"Z\",r};var Loe,Poe;function M3(e,t,r){return r&&(e=Ioe(e)),t?Tb(e[1]):wb(e[0])}function wb(e){var t=od.round(e,2);return Loe=t,t}function Tb(e){var t=od.round(e,2);return Poe=t,t}function eL(e,t,r,n){var i=e[0]-t[0],a=e[1]-t[1],o=r[0]-t[0],s=r[1]-t[1],l=Math.pow(i*i+a*a,goe/2),u=Math.pow(o*o+s*s,goe/2),c=(u*u*i-l*l*o)*n,f=(u*u*a-l*l*s)*n,h=3*u*(l+u),d=3*l*(l+u);return[[wb(t[0]+(h&&c/h)),Tb(t[1]+(h&&f/h))],[wb(t[0]-(d&&c/d)),Tb(t[1]-(d&&f/d))]]}var Sat={hv:function(e,t,r){return\"H\"+wb(t[0])+\"V\"+M3(t,1,r)},vh:function(e,t,r){return\"V\"+Tb(t[1])+\"H\"+M3(t,0,r)},hvh:function(e,t,r){return\"H\"+wb((e[0]+t[0])/2)+\"V\"+Tb(t[1])+\"H\"+M3(t,0,r)},vhv:function(e,t,r){return\"V\"+Tb((e[1]+t[1])/2)+\"H\"+wb(t[0])+\"V\"+M3(t,1,r)}},Mat=function(e,t,r){return\"L\"+M3(t,0,r)+\",\"+M3(t,1,r)};na.steps=function(e){var t=Sat[e]||Mat;return function(r){for(var n=\"M\"+wb(r[0][0])+\",\"+Tb(r[0][1]),i=r.length,a=1;a<i;a++)n+=t(r[a-1],r[a],a===i-1);return n}};function Ioe(e,t){var r=e.backoff,n=e.trace,i=e.d,a=e.i;if(r&&n&&n.marker&&n.marker.angle%360===0&&n.line&&n.line.shape!==\"spline\"){var o=du.isArrayOrTypedArray(r),s=e,l=t?t[0]:Loe||0,u=t?t[1]:Poe||0,c=s[0],f=s[1],h=c-l,d=f-u,v=Math.atan2(d,h),x=o?r[a]:r;if(x===\"auto\"){var b=s.i;n.type===\"scatter\"&&b--;var p=s.marker,E=p.symbol;du.isArrayOrTypedArray(E)&&(E=E[b]);var k=p.size;du.isArrayOrTypedArray(k)&&(k=k[b]),x=p?na.symbolBackOffs[na.symbolNumber(E)]*k:0,x+=na.getMarkerStandoff(i[b],n)||0}var A=c-x*Math.cos(v),L=f-x*Math.sin(v);(A<=c&&A>=l||A>=c&&A<=l)&&(L<=f&&L>=u||L>=f&&L<=u)&&(e=[A,L])}return e}na.applyBackoff=Ioe;na.makeTester=function(){var e=du.ensureSingleById(od.select(\"body\"),\"svg\",\"js-plotly-tester\",function(r){r.attr(vat.svgAttrs).style({position:\"absolute\",left:\"-10000px\",top:\"-10000px\",width:\"9000px\",height:\"9000px\",\"z-index\":\"1\"})}),t=du.ensureSingle(e,\"path\",\"js-reference-point\",function(r){r.attr(\"d\",\"M0,0H1V1H0Z\").style({\"stroke-width\":0,fill:\"black\"})});na.tester=e,na.testref=t};na.savedBBoxes={};var zO=0,Eat=1e4;na.bBox=function(e,t,r){r||(r=moe(e));var n;if(r){if(n=na.savedBBoxes[r],n)return du.extendFlat({},n)}else if(e.childNodes.length===1){var i=e.childNodes[0];if(r=moe(i),r){var a=+i.getAttribute(\"x\")||0,o=+i.getAttribute(\"y\")||0,s=i.getAttribute(\"transform\");if(!s){var l=na.bBox(i,!1,r);return a&&(l.left+=a,l.right+=a),o&&(l.top+=o,l.bottom+=o),l}if(r+=\"~\"+a+\"~\"+o+\"~\"+s,n=na.savedBBoxes[r],n)return du.extendFlat({},n)}}var u,c;t?u=e:(c=na.tester.node(),u=e.cloneNode(!0),c.appendChild(u)),od.select(u).attr(\"transform\",null).call(rL.positionText,0,0);var f=u.getBoundingClientRect(),h=na.testref.node().getBoundingClientRect();t||c.removeChild(u);var d={height:f.height,width:f.width,left:f.left-h.left,top:f.top-h.top,right:f.right-h.left,bottom:f.bottom-h.top};return zO>=Eat&&(na.savedBBoxes={},zO=0),r&&(na.savedBBoxes[r]=d),zO++,du.extendFlat({},d)};function moe(e){var t=e.getAttribute(\"data-unformatted\");if(t!==null)return t+e.getAttribute(\"data-math\")+e.getAttribute(\"text-anchor\")+e.getAttribute(\"style\")}na.setClipUrl=function(e,t,r){e.attr(\"clip-path\",BO(t,r))};function BO(e,t){if(!e)return null;var r=t._context,n=r._exportedPlot?\"\":r._baseUrl||\"\";return n?\"url('\"+n+\"#\"+e+\"')\":\"url(#\"+e+\")\"}na.getTranslate=function(e){var t=/.*\\btranslate\\((-?\\d*\\.?\\d*)[^-\\d]*(-?\\d*\\.?\\d*)[^\\d].*/,r=e.attr?\"attr\":\"getAttribute\",n=e[r](\"transform\")||\"\",i=n.replace(t,function(a,o,s){return[o,s].join(\" \")}).split(\" \");return{x:+i[0]||0,y:+i[1]||0}};na.setTranslate=function(e,t,r){var n=/(\\btranslate\\(.*?\\);?)/,i=e.attr?\"attr\":\"getAttribute\",a=e.attr?\"attr\":\"setAttribute\",o=e[i](\"transform\")||\"\";return t=t||0,r=r||0,o=o.replace(n,\"\").trim(),o+=KS(t,r),o=o.trim(),e[a](\"transform\",o),o};na.getScale=function(e){var t=/.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/,r=e.attr?\"attr\":\"getAttribute\",n=e[r](\"transform\")||\"\",i=n.replace(t,function(a,o,s){return[o,s].join(\" \")}).split(\" \");return{x:+i[0]||1,y:+i[1]||1}};na.setScale=function(e,t,r){var n=/(\\bscale\\(.*?\\);?)/,i=e.attr?\"attr\":\"getAttribute\",a=e.attr?\"attr\":\"setAttribute\",o=e[i](\"transform\")||\"\";return t=t||1,r=r||1,o=o.replace(n,\"\").trim(),o+=\"scale(\"+t+\",\"+r+\")\",o=o.trim(),e[a](\"transform\",o),o};var kat=/\\s*sc.*/;na.setPointGroupScale=function(e,t,r){if(t=t||1,r=r||1,!!e){var n=t===1&&r===1?\"\":\"scale(\"+t+\",\"+r+\")\";e.each(function(){var i=(this.getAttribute(\"transform\")||\"\").replace(kat,\"\");i+=n,i=i.trim(),this.setAttribute(\"transform\",i)})}};var Cat=/translate\\([^)]*\\)\\s*$/;na.setTextPointsScale=function(e,t,r){e&&e.each(function(){var n,i=od.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(Cat);t===1&&r===1?n=[]:n=[KS(o,s),\"scale(\"+t+\",\"+r+\")\",KS(-o,-s)],l&&n.push(l),i.attr(\"transform\",n.join(\"\"))}})};function NO(e,t){var r;return e&&(r=e.mf),r===void 0&&(r=t.marker&&t.marker.standoff||0),!t._geo&&!t._xA?-r:r}na.getMarkerStandoff=NO;var YS=Math.atan2,bb=Math.cos,E3=Math.sin;function yoe(e,t){var r=t[0],n=t[1];return[r*bb(e)-n*E3(e),r*E3(e)+n*bb(e)]}var _oe,xoe,boe,woe,FO,qO;function UO(e,t){var r=e.ma;r===void 0&&(r=t.marker.angle,(!r||du.isArrayOrTypedArray(r))&&(r=0));var n,i,a=t.marker.angleref;if(a===\"previous\"||a===\"north\"){if(t._geo){var o=t._geo.project(e.lonlat);n=o[0],i=o[1]}else{var s=t._xA,l=t._yA;if(s&&l)n=s.c2p(e.x),i=l.c2p(e.y);else return 90}if(t._geo){var u=e.lonlat[0],c=e.lonlat[1],f=t._geo.project([u,c+1e-5]),h=t._geo.project([u+1e-5,c]),d=YS(h[1]-i,h[0]-n),v=YS(f[1]-i,f[0]-n),x;if(a===\"north\")x=r/180*Math.PI;else if(a===\"previous\"){var b=u/180*Math.PI,p=c/180*Math.PI,E=_oe/180*Math.PI,k=xoe/180*Math.PI,A=E-b,L=bb(k)*E3(A),_=E3(k)*bb(p)-bb(k)*E3(p)*bb(A);x=-YS(L,_)-Math.PI,_oe=u,xoe=c}var C=yoe(d,[bb(x),0]),M=yoe(v,[E3(x),0]);r=YS(C[1]+M[1],C[0]+M[0])/Math.PI*180,a===\"previous\"&&!(qO===t.uid&&e.i===FO+1)&&(r=null)}if(a===\"previous\"&&!t._geo)if(qO===t.uid&&e.i===FO+1&&Ab(n)&&Ab(i)){var g=n-boe,P=i-woe,T=t.line&&t.line.shape||\"\",F=T.slice(T.length-1);F===\"h\"&&(P=0),F===\"v\"&&(g=0),r+=YS(P,g)/Math.PI*180+90}else r=null}return boe=n,woe=i,FO=e.i,qO=t.uid,r}na.getMarkerAngle=UO});var Mb=ye((xrr,qoe)=>{\"use strict\";var k3=xa(),Lat=uo(),Pat=Xu(),VO=ba(),Sb=Mr(),Doe=Sb.strTranslate,iL=ao(),nL=va(),C3=Pl(),zoe=U1(),Iat=Nh().OPPOSITE_SIDE,Foe=/ [XY][0-9]* /,HO=1.6,GO=1.6;function Rat(e,t,r){var n=e._fullLayout,i=r.propContainer,a=r.propName,o=r.placeholder,s=r.traceIndex,l=r.avoid||{},u=r.attributes,c=r.transform,f=r.containerGroup,h=1,d=i.title,v=(d&&d.text?d.text:\"\").trim(),x=!1,b=d&&d.font?d.font:{},p=b.family,E=b.size,k=b.color,A=b.weight,L=b.style,_=b.variant,C=b.textcase,M=b.lineposition,g=b.shadow,P=r.subtitlePropName,T=!!P,F=r.subtitlePlaceholder,q=(i.title||{}).subtitle||{text:\"\",font:{}},V=q.text.trim(),H=!1,X=1,G=q.font,N=G.family,W=G.size,re=G.color,ae=G.weight,_e=G.style,Me=G.variant,ke=G.textcase,ge=G.lineposition,ie=G.shadow,Te;a===\"title.text\"?Te=\"titleText\":a.indexOf(\"axis\")!==-1?Te=\"axisTitleText\":a.indexOf(\"colorbar\"!==-1)&&(Te=\"colorbarTitleText\");var Ee=e._context.edits[Te];function Ae(kt,Ct){return kt===void 0||Ct===void 0?!1:kt.replace(Foe,\" % \")===Ct.replace(Foe,\" % \")}v===\"\"?h=0:Ae(v,o)&&(Ee||(v=\"\"),h=.2,x=!0),T&&(V===\"\"?X=0:Ae(V,F)&&(Ee||(V=\"\"),X=.2,H=!0)),r._meta?v=Sb.templateString(v,r._meta):n._meta&&(v=Sb.templateString(v,n._meta));var ze=v||V||Ee,Ce;f||(f=Sb.ensureSingle(n._infolayer,\"g\",\"g-\"+t),Ce=n._hColorbarMoveTitle);var me=f.selectAll(\"text.\"+t).data(ze?[0]:[]);me.enter().append(\"text\"),me.text(v).attr(\"class\",t),me.exit().remove();var Re=null,ce=t+\"-subtitle\",Ge=V||Ee;if(T&&Ge&&(Re=f.selectAll(\"text.\"+ce).data(Ge?[0]:[]),Re.enter().append(\"text\"),Re.text(V).attr(\"class\",ce),Re.exit().remove()),!ze)return f;function nt(kt,Ct){Sb.syncOrAsync([ct,qt],{title:kt,subtitle:Ct})}function ct(kt){var Ct=kt.title,Yt=kt.subtitle,xr;!c&&Ce&&(c={}),c?(xr=\"\",c.rotate&&(xr+=\"rotate(\"+[c.rotate,u.x,u.y]+\")\"),(c.offset||Ce)&&(xr+=Doe(0,(c.offset||0)-(Ce||0)))):xr=null,Ct.attr(\"transform\",xr);function er(Et){if(Et){var dt=k3.select(Et.node().parentNode).select(\".\"+ce);if(!dt.empty()){var Ht=Et.node().getBBox();if(Ht.height){var $t=Ht.y+Ht.height+HO*W;dt.attr(\"y\",$t)}}}}if(Ct.style(\"opacity\",h*nL.opacity(k)).call(iL.font,{color:nL.rgb(k),size:k3.round(E,2),family:p,weight:A,style:L,variant:_,textcase:C,shadow:g,lineposition:M}).attr(u).call(C3.convertToTspans,e,er),Yt){var Ke=f.select(\".\"+t+\"-math-group\"),xt=Ct.node().getBBox(),bt=Ke.node()?Ke.node().getBBox():void 0,Lt=bt?bt.y+bt.height+HO*W:xt.y+xt.height+GO*W,St=Sb.extendFlat({},u,{y:Lt});Yt.attr(\"transform\",xr),Yt.style(\"opacity\",X*nL.opacity(re)).call(iL.font,{color:nL.rgb(re),size:k3.round(W,2),family:N,weight:ae,style:_e,variant:Me,textcase:ke,shadow:ie,lineposition:ge}).attr(St).call(C3.convertToTspans,e)}return Pat.previousPromises(e)}function qt(kt){var Ct=kt.title,Yt=k3.select(Ct.node().parentNode);if(l&&l.selection&&l.side&&v){Yt.attr(\"transform\",null);var xr=Iat[l.side],er=l.side===\"left\"||l.side===\"top\"?-1:1,Ke=Lat(l.pad)?l.pad:2,xt=iL.bBox(Yt.node()),bt={t:0,b:0,l:0,r:0},Lt=e._fullLayout._reservedMargin;for(var St in Lt)for(var Et in Lt[St]){var dt=Lt[St][Et];bt[Et]=Math.max(bt[Et],dt)}var Ht={left:bt.l,top:bt.t,right:n.width-bt.r,bottom:n.height-bt.b},$t=l.maxShift||er*(Ht[l.side]-xt[l.side]),fr=0;if($t<0)fr=$t;else{var _r=l.offsetLeft||0,Br=l.offsetTop||0;xt.left-=_r,xt.right-=_r,xt.top-=Br,xt.bottom-=Br,l.selection.each(function(){var Nr=iL.bBox(this);Sb.bBoxIntersect(xt,Nr,Ke)&&(fr=Math.max(fr,er*(Nr[l.side]-xt[xr])+Ke))}),fr=Math.min($t,fr),i._titleScoot=Math.abs(fr)}if(fr>0||$t<0){var Or={left:[-fr,0],right:[fr,0],top:[0,-fr],bottom:[0,fr]}[l.side];Yt.attr(\"transform\",Doe(Or[0],Or[1]))}}}me.call(nt,Re);function rt(kt,Ct){kt.text(Ct).on(\"mouseover.opacity\",function(){k3.select(this).transition().duration(zoe.SHOW_PLACEHOLDER).style(\"opacity\",1)}).on(\"mouseout.opacity\",function(){k3.select(this).transition().duration(zoe.HIDE_PLACEHOLDER).style(\"opacity\",0)})}if(Ee&&(v?me.on(\".opacity\",null):(rt(me,o),x=!0),me.call(C3.makeEditable,{gd:e}).on(\"edit\",function(kt){s!==void 0?VO.call(\"_guiRestyle\",e,a,kt,s):VO.call(\"_guiRelayout\",e,a,kt)}).on(\"cancel\",function(){this.text(this.attr(\"data-unformatted\")).call(nt)}).on(\"input\",function(kt){this.text(kt||\" \").call(C3.positionText,u.x,u.y)}),T)){if(T&&!v){var ot=me.node().getBBox(),Rt=ot.y+ot.height+GO*W;Re.attr(\"y\",Rt)}V?Re.on(\".opacity\",null):(rt(Re,F),H=!0),Re.call(C3.makeEditable,{gd:e}).on(\"edit\",function(kt){VO.call(\"_guiRelayout\",e,\"title.subtitle.text\",kt)}).on(\"cancel\",function(){this.text(this.attr(\"data-unformatted\")).call(nt)}).on(\"input\",function(kt){this.text(kt||\" \").call(C3.positionText,Re.attr(\"x\"),Re.attr(\"y\"))})}return me.classed(\"js-placeholder\",x),Re&&Re.classed(\"js-placeholder\",H),f}qoe.exports={draw:Rat,SUBTITLE_PADDING_EM:GO,SUBTITLE_PADDING_MATHJAX_EM:HO}});var ym=ye((brr,Voe)=>{\"use strict\";var Dat=xa(),zat=e3().utcFormat,Nu=Mr(),Fat=Nu.numberFormat,gm=uo(),a_=Nu.cleanNumber,qat=Nu.ms2DateTime,Ooe=Nu.dateTime2ms,mm=Nu.ensureNumber,Boe=Nu.isArrayOrTypedArray,o_=es(),aL=o_.FP_SAFE,bg=o_.BADNUM,Oat=o_.LOG_CLIP,Bat=o_.ONEWEEK,oL=o_.ONEDAY,sL=o_.ONEHOUR,Noe=o_.ONEMIN,Uoe=o_.ONESEC,lL=af(),fL=ad(),uL=fL.HOUR_PATTERN,cL=fL.WEEKDAY_PATTERN;function JS(e){return Math.pow(10,e)}function jO(e){return e!=null}Voe.exports=function(t,r){r=r||{};var n=t._id||\"x\",i=n.charAt(0);function a(A,L){if(A>0)return Math.log(A)/Math.LN10;if(A<=0&&L&&t.range&&t.range.length===2){var _=t.range[0],C=t.range[1];return .5*(_+C-2*Oat*Math.abs(_-C))}else return bg}function o(A,L,_,C){if((C||{}).msUTC&&gm(A))return+A;var M=Ooe(A,_||t.calendar);if(M===bg)if(gm(A)){A=+A;var g=Math.floor(Nu.mod(A+.05,1)*10),P=Math.round(A-g/10);M=Ooe(new Date(P))+g/10}else return bg;return M}function s(A,L,_){return qat(A,L,_||t.calendar)}function l(A){return t._categories[Math.round(A)]}function u(A){if(jO(A)){if(t._categoriesMap===void 0&&(t._categoriesMap={}),t._categoriesMap[A]!==void 0)return t._categoriesMap[A];t._categories.push(typeof A==\"number\"?String(A):A);var L=t._categories.length-1;return t._categoriesMap[A]=L,L}return bg}function c(A,L){for(var _=new Array(L),C=0;C<L;C++){var M=(A[0]||[])[C],g=(A[1]||[])[C];_[C]=f([M,g])}return _}function f(A){if(t._categoriesMap)return t._categoriesMap[A]}function h(A){var L=f(A);if(L!==void 0)return L;if(gm(A))return+A}function d(A){return gm(A)?+A:f(A)}function v(A,L,_){return Dat.round(_+L*A,2)}function x(A,L,_){return(A-_)/L}var b=function(L){return gm(L)?v(L,t._m,t._b):bg},p=function(A){return x(A,t._m,t._b)};if(t.rangebreaks){var E=i===\"y\";b=function(A){if(!gm(A))return bg;var L=t._rangebreaks.length;if(!L)return v(A,t._m,t._b);var _=E;t.range[0]>t.range[1]&&(_=!_);for(var C=_?-1:1,M=C*A,g=0,P=0;P<L;P++){var T=C*t._rangebreaks[P].min,F=C*t._rangebreaks[P].max;if(M<T)break;if(M>F)g=P+1;else{g=M<(T+F)/2?P:P+1;break}}var q=t._B[g]||0;return isFinite(q)?v(A,t._m2,q):0},p=function(A){var L=t._rangebreaks.length;if(!L)return x(A,t._m,t._b);for(var _=0,C=0;C<L&&!(A<t._rangebreaks[C].pmin);C++)A>t._rangebreaks[C].pmax&&(_=C+1);return x(A,t._m2,t._B[_])}}t.c2l=t.type===\"log\"?a:mm,t.l2c=t.type===\"log\"?JS:mm,t.l2p=b,t.p2l=p,t.c2p=t.type===\"log\"?function(A,L){return b(a(A,L))}:b,t.p2c=t.type===\"log\"?function(A){return JS(p(A))}:p,[\"linear\",\"-\"].indexOf(t.type)!==-1?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=a_,t.c2d=t.c2r=t.l2d=t.l2r=mm,t.d2p=t.r2p=function(A){return t.l2p(a_(A))},t.p2d=t.p2r=p,t.cleanPos=mm):t.type===\"log\"?(t.d2r=t.d2l=function(A,L){return a(a_(A),L)},t.r2d=t.r2c=function(A){return JS(a_(A))},t.d2c=t.r2l=a_,t.c2d=t.l2r=mm,t.c2r=a,t.l2d=JS,t.d2p=function(A,L){return t.l2p(t.d2r(A,L))},t.p2d=function(A){return JS(p(A))},t.r2p=function(A){return t.l2p(a_(A))},t.p2r=p,t.cleanPos=mm):t.type===\"date\"?(t.d2r=t.r2d=Nu.identity,t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=s,t.d2p=t.r2p=function(A,L,_){return t.l2p(o(A,0,_))},t.p2d=t.p2r=function(A,L,_){return s(p(A),L,_)},t.cleanPos=function(A){return Nu.cleanDate(A,bg,t.calendar)}):t.type===\"category\"?(t.d2c=t.d2l=u,t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(A){var L=d(A);return L!==void 0?L:t.fraction2r(.5)},t.l2r=t.c2r=mm,t.r2l=d,t.d2p=function(A){return t.l2p(t.r2c(A))},t.p2d=function(A){return l(p(A))},t.r2p=t.d2p,t.p2r=p,t.cleanPos=function(A){return typeof A==\"string\"&&A!==\"\"?A:mm(A)}):t.type===\"multicategory\"&&(t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(A){var L=h(A);return L!==void 0?L:t.fraction2r(.5)},t.r2c_just_indices=f,t.l2r=t.c2r=mm,t.r2l=h,t.d2p=function(A){return t.l2p(t.r2c(A))},t.p2d=function(A){return l(p(A))},t.r2p=t.d2p,t.p2r=p,t.cleanPos=function(A){return Array.isArray(A)||typeof A==\"string\"&&A!==\"\"?A:mm(A)},t.setupMultiCategory=function(A){var L=t._traceIndices,_,C,M=t._matchGroup;if(M&&t._categories.length===0){for(var g in M)if(g!==n){var P=r[lL.id2name(g)];L=L.concat(P._traceIndices)}}var T=[[0,{}],[0,{}]],F=[];for(_=0;_<L.length;_++){var q=A[L[_]];if(i in q){var V=q[i],H=q._length||Nu.minRowLength(V);if(Boe(V[0])&&Boe(V[1]))for(C=0;C<H;C++){var X=V[0][C],G=V[1][C];jO(X)&&jO(G)&&(F.push([X,G]),X in T[0][1]||(T[0][1][X]=T[0][0]++),G in T[1][1]||(T[1][1][G]=T[1][0]++))}}}for(F.sort(function(N,W){var re=T[0][1],ae=re[N[0]]-re[W[0]];if(ae)return ae;var _e=T[1][1];return _e[N[1]]-_e[W[1]]}),_=0;_<F.length;_++)u(F[_])}),t.fraction2r=function(A){var L=t.r2l(t.range[0]),_=t.r2l(t.range[1]);return t.l2r(L+A*(_-L))},t.r2fraction=function(A){var L=t.r2l(t.range[0]),_=t.r2l(t.range[1]);return(t.r2l(A)-L)/(_-L)},t.limitRange=function(A){var L=t.minallowed,_=t.maxallowed;if(!(L===void 0&&_===void 0)){A||(A=\"range\");var C=Nu.nestedProperty(t,A).get(),M=Nu.simpleMap(C,t.r2l),g=M[1]<M[0];g&&M.reverse();var P=Nu.simpleMap([L,_],t.r2l);if(L!==void 0&&M[0]<P[0]&&(C[g?1:0]=L),_!==void 0&&M[1]>P[1]&&(C[g?0:1]=_),C[0]===C[1]){var T=t.l2r(L),F=t.l2r(_);if(L!==void 0){var q=T+1;_!==void 0&&(q=Math.min(q,F)),C[g?1:0]=q}if(_!==void 0){var V=F+1;L!==void 0&&(V=Math.max(V,T)),C[g?0:1]=V}}}},t.cleanRange=function(A,L){t._cleanRange(A,L),t.limitRange(A)},t._cleanRange=function(A,L){L||(L={}),A||(A=\"range\");var _=Nu.nestedProperty(t,A).get(),C,M;if(t.type===\"date\"?M=Nu.dfltRange(t.calendar):i===\"y\"?M=fL.DFLTRANGEY:t._name===\"realaxis\"?M=[0,1]:M=L.dfltRange||fL.DFLTRANGEX,M=M.slice(),(t.rangemode===\"tozero\"||t.rangemode===\"nonnegative\")&&(M[0]=0),!_||_.length!==2){Nu.nestedProperty(t,A).set(M);return}var g=_[0]===null,P=_[1]===null;for(t.type===\"date\"&&!t.autorange&&(_[0]=Nu.cleanDate(_[0],bg,t.calendar),_[1]=Nu.cleanDate(_[1],bg,t.calendar)),C=0;C<2;C++)if(t.type===\"date\"){if(!Nu.isDateTime(_[C],t.calendar)){t[A]=M;break}if(t.r2l(_[0])===t.r2l(_[1])){var T=Nu.constrain(t.r2l(_[0]),Nu.MIN_MS+1e3,Nu.MAX_MS-1e3);_[0]=t.l2r(T-1e3),_[1]=t.l2r(T+1e3);break}}else{if(!gm(_[C]))if(!(g||P)&&gm(_[1-C]))_[C]=_[1-C]*(C?10:.1);else{t[A]=M;break}if(_[C]<-aL?_[C]=-aL:_[C]>aL&&(_[C]=aL),_[0]===_[1]){var F=Math.max(1,Math.abs(_[0]*1e-6));_[0]-=F,_[1]+=F}}},t.setScale=function(A){var L=r._size;if(t.overlaying){var _=lL.getFromId({_fullLayout:r},t.overlaying);t.domain=_.domain}var C=A&&t._r?\"_r\":\"range\",M=t.calendar;t.cleanRange(C);var g=t.r2l(t[C][0],M),P=t.r2l(t[C][1],M),T=i===\"y\";if(T?(t._offset=L.t+(1-t.domain[1])*L.h,t._length=L.h*(t.domain[1]-t.domain[0]),t._m=t._length/(g-P),t._b=-t._m*P):(t._offset=L.l+t.domain[0]*L.w,t._length=L.w*(t.domain[1]-t.domain[0]),t._m=t._length/(P-g),t._b=-t._m*g),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks){var F,q;if(t._rangebreaks=t.locateBreaks(Math.min(g,P),Math.max(g,P)),t._rangebreaks.length){for(F=0;F<t._rangebreaks.length;F++)q=t._rangebreaks[F],t._lBreaks+=Math.abs(q.max-q.min);var V=T;g>P&&(V=!V),V&&t._rangebreaks.reverse();var H=V?-1:1;for(t._m2=H*t._length/(Math.abs(P-g)-t._lBreaks),t._B.push(-t._m2*(T?P:g)),F=0;F<t._rangebreaks.length;F++)q=t._rangebreaks[F],t._B.push(t._B[t._B.length-1]-H*t._m2*(q.max-q.min));for(F=0;F<t._rangebreaks.length;F++)q=t._rangebreaks[F],q.pmin=b(q.min),q.pmax=b(q.max)}}if(!isFinite(t._m)||!isFinite(t._b)||t._length<0)throw r._replotting=!1,new Error(\"Something went wrong with axis scaling\")},t.maskBreaks=function(A){var L=t.rangebreaks||[],_,C,M,g,P;L._cachedPatterns||(L._cachedPatterns=L.map(function(re){return re.enabled&&re.bounds?Nu.simpleMap(re.bounds,re.pattern?a_:t.d2c):null})),L._cachedValues||(L._cachedValues=L.map(function(re){return re.enabled&&re.values?Nu.simpleMap(re.values,t.d2c).sort(Nu.sorterAsc):null}));for(var T=0;T<L.length;T++){var F=L[T];if(F.enabled){if(F.bounds){var q=F.pattern;switch(_=L._cachedPatterns[T],C=_[0],M=_[1],q){case cL:P=new Date(A),g=P.getUTCDay(),C>M&&(M+=7,g<C&&(g+=7));break;case uL:P=new Date(A);var V=P.getUTCHours(),H=P.getUTCMinutes(),X=P.getUTCSeconds(),G=P.getUTCMilliseconds();g=V+(H/60+X/3600+G/36e5),C>M&&(M+=24,g<C&&(g+=24));break;case\"\":g=A;break}if(g>=C&&g<M)return bg}else for(var N=L._cachedValues[T],W=0;W<N.length;W++)if(C=N[W],M=C+F.dvalue,A>=C&&A<M)return bg}}return A},t.locateBreaks=function(A,L){var _,C,M,g,P=[];if(!t.rangebreaks)return P;var T=t.rangebreaks.slice().sort(function(_e,Me){return _e.pattern===cL&&Me.pattern===uL?-1:Me.pattern===cL&&_e.pattern===uL?1:0}),F=function(_e,Me){if(_e=Nu.constrain(_e,A,L),Me=Nu.constrain(Me,A,L),_e!==Me){for(var ke=!0,ge=0;ge<P.length;ge++){var ie=P[ge];_e<ie.max&&Me>=ie.min&&(_e<ie.min&&(ie.min=_e),Me>ie.max&&(ie.max=Me),ke=!1)}ke&&P.push({min:_e,max:Me})}};for(_=0;_<T.length;_++){var q=T[_];if(q.enabled)if(q.bounds){var V=A,H=L;q.pattern&&(V=Math.floor(V)),C=Nu.simpleMap(q.bounds,q.pattern?a_:t.r2l),M=C[0],g=C[1];var X=new Date(V),G,N;switch(q.pattern){case cL:N=Bat,G=((g<M?7:0)+(g-M))*oL,V+=M*oL-(X.getUTCDay()*oL+X.getUTCHours()*sL+X.getUTCMinutes()*Noe+X.getUTCSeconds()*Uoe+X.getUTCMilliseconds());break;case uL:N=oL,G=((g<M?24:0)+(g-M))*sL,V+=M*sL-(X.getUTCHours()*sL+X.getUTCMinutes()*Noe+X.getUTCSeconds()*Uoe+X.getUTCMilliseconds());break;default:V=Math.min(C[0],C[1]),H=Math.max(C[0],C[1]),N=H-V,G=N}for(var W=V;W<H;W+=N)F(W,W+G)}else for(var re=Nu.simpleMap(q.values,t.d2c),ae=0;ae<re.length;ae++)M=re[ae],g=M+q.dvalue,F(M,g)}return P.sort(function(_e,Me){return _e.min-Me.min}),P},t.makeCalcdata=function(A,L,_){var C,M,g,P,T=t.type,F=T===\"date\"&&A[L+\"calendar\"];if(L in A){if(C=A[L],P=A._length||Nu.minRowLength(C),Nu.isTypedArray(C)&&(T===\"linear\"||T===\"log\")){if(P===C.length)return C;if(C.subarray)return C.subarray(0,P)}if(T===\"multicategory\")return c(C,P);for(M=new Array(P),g=0;g<P;g++)M[g]=t.d2c(C[g],0,F,_)}else{var q=L+\"0\"in A?t.d2c(A[L+\"0\"],0,F):0,V=A[\"d\"+L]?Number(A[\"d\"+L]):1;for(C=A[{x:\"y\",y:\"x\"}[L]],P=A._length||C.length,M=new Array(P),g=0;g<P;g++)M[g]=q+g*V}if(t.rangebreaks)for(g=0;g<P;g++)M[g]=t.maskBreaks(M[g]);return M},t.isValidRange=function(A,L){return Array.isArray(A)&&A.length===2&&(L&&A[0]===null||gm(t.r2l(A[0])))&&(L&&A[1]===null||gm(t.r2l(A[1])))},t.getAutorangeDflt=function(A,L){var _=!t.isValidRange(A,\"nullOk\");return _&&L&&L.reverseDflt?_=\"reversed\":A&&(A[0]===null&&A[1]===null?_=!0:A[0]===null&&A[1]!==null?_=\"min\":A[0]!==null&&A[1]===null&&(_=\"max\")),_},t.isReversed=function(){var A=t.autorange;return A===\"reversed\"||A===\"min reversed\"||A===\"max reversed\"},t.isPtWithinRange=function(A,L){var _=t.c2l(A[i],null,L),C=t.r2l(t.range[0]),M=t.r2l(t.range[1]);return C<M?C<=_&&_<=M:M<=_&&_<=C},t._emptyCategories=function(){t._categories=[],t._categoriesMap={}},t.clearCalc=function(){var A=t._matchGroup;if(A){var L=null,_=null;for(var C in A){var M=r[lL.id2name(C)];if(M._categories){L=M._categories,_=M._categoriesMap;break}}L&&_?(t._categories=L,t._categoriesMap=_):t._emptyCategories()}else t._emptyCategories();if(t._initialCategories)for(var g=0;g<t._initialCategories.length;g++)u(t._initialCategories[g])},t.sortByInitialCategories=function(){var A=[];if(t._emptyCategories(),t._initialCategories)for(var L=0;L<t._initialCategories.length;L++)u(t._initialCategories[L]);A=A.concat(t._traceIndices);var _=t._matchGroup;for(var C in _)if(n!==C){var M=r[lL.id2name(C)];M._categories=t._categories,M._categoriesMap=t._categoriesMap,A=A.concat(M._traceIndices)}return A};var k=r._d3locale;t.type===\"date\"&&(t._dateFormat=k?k.timeFormat:zat,t._extraFormat=r._extraFormat),t._separators=r.separators,t._numFormat=k?k.numberFormat:Fat,delete t._minDtick,delete t._forceTick0}});var L3=ye((wrr,Woe)=>{\"use strict\";var Hoe=uo(),WO=Mr(),Nat=es().BADNUM,hL=WO.isArrayOrTypedArray,Uat=WO.isDateTime,Vat=WO.cleanNumber,Goe=Math.round;Woe.exports=function(t,r,n){var i=t,a=n.noMultiCategory;if(hL(i)&&!i.length)return\"-\";if(!a&&Zat(i))return\"multicategory\";if(a&&Array.isArray(i[0])){for(var o=[],s=0;s<i.length;s++)if(hL(i[s]))for(var l=0;l<i[s].length;l++)o.push(i[s][l]);i=o}if(jat(i,r))return\"date\";var u=n.autotypenumbers!==\"strict\";return Wat(i,u)?\"category\":Gat(i,u)?\"linear\":\"-\"};function Hat(e,t){return t?Hoe(e):typeof e==\"number\"}function Gat(e,t){for(var r=e.length,n=0;n<r;n++)if(Hat(e[n],t))return!0;return!1}function jat(e,t){for(var r=e.length,n=joe(r),i=0,a=0,o={},s=0;s<r;s+=n){var l=Goe(s),u=e[l],c=String(u);o[c]||(o[c]=1,Uat(u,t)&&i++,Hoe(u)&&a++)}return i>a*2}function joe(e){return Math.max(1,(e-1)/1e3)}function Wat(e,t){for(var r=e.length,n=joe(r),i=0,a=0,o={},s=0;s<r;s+=n){var l=Goe(s),u=e[l],c=String(u);if(!o[c]){o[c]=1;var f=typeof u;f===\"boolean\"?a++:(t?Vat(u)!==Nat:f===\"number\")?i++:f===\"string\"&&a++}}return a>i*2}function Zat(e){return hL(e[0])&&hL(e[1])}});var wg=ye((Trr,ese)=>{\"use strict\";var Xat=xa(),Koe=uo(),s_=Mr(),dL=es().FP_SAFE,Yat=ba(),Kat=ao(),Joe=af(),Jat=Joe.getFromId,$at=Joe.isLinked;ese.exports={applyAutorangeOptions:Qoe,getAutoRange:ZO,makePadFn:XO,doAutoRange:eot,findExtremes:tot,concatExtremes:JO};function ZO(e,t){var r,n,i=[],a=e._fullLayout,o=XO(a,t,0),s=XO(a,t,1),l=JO(e,t),u=l.min,c=l.max;if(u.length===0||c.length===0)return s_.simpleMap(t.range,t.r2l);var f=u[0].val,h=c[0].val;for(r=1;r<u.length&&f===h;r++)f=Math.min(f,u[r].val);for(r=1;r<c.length&&f===h;r++)h=Math.max(h,c[r].val);var d=t.autorange,v=d===\"reversed\"||d===\"min reversed\"||d===\"max reversed\";if(!v&&t.range){var x=s_.simpleMap(t.range,t.r2l);v=x[1]<x[0]}t.autorange===\"reversed\"&&(t.autorange=!0);var b=t.rangemode,p=b===\"tozero\",E=b===\"nonnegative\",k=t._length,A=k/10,L=0,_,C,M,g,P,T;for(r=0;r<u.length;r++)for(_=u[r],n=0;n<c.length;n++)C=c[n],T=C.val-_.val-Zoe(t,_.val,C.val),T>0&&(P=k-o(_)-s(C),P>A?T/P>L&&(M=_,g=C,L=T/P):T/k>L&&(M={val:_.val,nopad:1},g={val:C.val,nopad:1},L=T/k));function F(G,N){return Math.max(G,s(N))}if(f===h){var q=f-1,V=f+1;if(p)if(f===0)i=[0,1];else{var H=(f>0?c:u).reduce(F,0),X=f/(1-Math.min(.5,H/k));i=f>0?[0,X]:[X,0]}else E?i=[Math.max(0,q),Math.max(1,V)]:i=[q,V]}else p?(M.val>=0&&(M={val:0,nopad:1}),g.val<=0&&(g={val:0,nopad:1})):E&&(M.val-L*o(M)<0&&(M={val:0,nopad:1}),g.val<=0&&(g={val:1,nopad:1})),L=(g.val-M.val-Zoe(t,_.val,C.val))/(k-o(M)-s(g)),i=[M.val-L*o(M),g.val+L*s(g)];return i=Qoe(i,t),t.limitRange&&t.limitRange(),v&&i.reverse(),s_.simpleMap(i,t.l2r||Number)}function Zoe(e,t,r){var n=0;if(e.rangebreaks)for(var i=e.locateBreaks(t,r),a=0;a<i.length;a++){var o=i[a];n+=o.max-o.min}return n}function XO(e,t,r){var n=.05*t._length,i=t._anchorAxis||{};if((t.ticklabelposition||\"\").indexOf(\"inside\")!==-1||(i.ticklabelposition||\"\").indexOf(\"inside\")!==-1){var a=t.isReversed();if(!a){var o=s_.simpleMap(t.range,t.r2l);a=o[1]<o[0]}a&&(r=!r)}var s=0;return $at(e,t._id)||(s=Qat(e,t,r)),n=Math.max(s,n),t.constrain===\"domain\"&&t._inputDomain&&(n*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0])),function(u){return u.nopad?0:u.pad+(u.extrapad?n:s)}}var Xoe=3;function Qat(e,t,r){var n=0,i=t._id.charAt(0)===\"x\";for(var a in e._plots){var o=e._plots[a];if(!(t._id!==o.xaxis._id&&t._id!==o.yaxis._id)){var s=(i?o.yaxis:o.xaxis)||{};if((s.ticklabelposition||\"\").indexOf(\"inside\")!==-1&&(!r&&(s.side===\"left\"||s.side===\"bottom\")||r&&(s.side===\"top\"||s.side===\"right\"))){if(s._vals){var l=s_.deg2rad(s._tickAngles[s._id+\"tick\"]||0),u=Math.abs(Math.cos(l)),c=Math.abs(Math.sin(l));if(!s._vals[0].bb){var f=s._id+\"tick\",h=s._selections[f];h.each(function(E){var k=Xat.select(this),A=k.select(\".text-math-group\");A.empty()&&(E.bb=Kat.bBox(k.node()))})}for(var d=0;d<s._vals.length;d++){var v=s._vals[d],x=v.bb;if(x){var b=2*Xoe+x.width,p=2*Xoe+x.height;n=Math.max(n,i?Math.max(b*u,p*c):Math.max(p*u,b*c))}}}s.ticks===\"inside\"&&s.ticklabelposition===\"inside\"&&(n+=s.ticklen||0)}}}return n}function JO(e,t,r){var n=t._id,i=e._fullData,a=e._fullLayout,o=[],s=[],l,u,c;function f(b,p){for(l=0;l<p.length;l++){var E=b[p[l]],k=(E._extremes||{})[n];if(E.visible===!0&&k){for(u=0;u<k.min.length;u++)c=k.min[u],YO(o,c.val,c.pad,{extrapad:c.extrapad});for(u=0;u<k.max.length;u++)c=k.max[u],KO(s,c.val,c.pad,{extrapad:c.extrapad})}}}if(f(i,t._traceIndices),f(a.annotations||[],t._annIndices||[]),f(a.shapes||[],t._shapeIndices||[]),t._matchGroup&&!r){for(var h in t._matchGroup)if(h!==t._id){var d=Jat(e,h),v=JO(e,d,!0),x=t._length/d._length;for(u=0;u<v.min.length;u++)c=v.min[u],YO(o,c.val,c.pad*x,{extrapad:c.extrapad});for(u=0;u<v.max.length;u++)c=v.max[u],KO(s,c.val,c.pad*x,{extrapad:c.extrapad})}}return{min:o,max:s}}function eot(e,t,r){if(t.setScale(),t.autorange){t.range=r?r.slice():ZO(e,t),t._r=t.range.slice(),t._rl=s_.simpleMap(t._r,t.r2l);var n=t._input,i={};i[t._attr+\".range\"]=t.range,i[t._attr+\".autorange\"]=t.autorange,Yat.call(\"_storeDirectGUIEdit\",e.layout,e._fullLayout._preGUI,i),n.range=t.range.slice(),n.autorange=t.autorange}var a=t._anchorAxis;if(a&&a.rangeslider){var o=a.rangeslider[t._name];o&&o.rangemode===\"auto\"&&(o.range=ZO(e,t)),a._input.rangeslider[t._name]=s_.extendFlat({},o)}}function tot(e,t,r){r||(r={}),e._m||e.setScale();var n=[],i=[],a=t.length,o=r.padded||!1,s=r.tozero&&(e.type===\"linear\"||e.type===\"-\"),l=e.type===\"log\",u=!1,c=r.vpadLinearized||!1,f,h,d,v,x,b,p,E,k;function A(F){if(Array.isArray(F))return u=!0,function(V){return Math.max(Number(F[V]||0),0)};var q=Math.max(Number(F||0),0);return function(){return q}}var L=A((e._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),_=A((e._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),C=A(r.vpadplus||r.vpad),M=A(r.vpadminus||r.vpad);if(!u){if(E=1/0,k=-1/0,l)for(f=0;f<a;f++)h=t[f],h<E&&h>0&&(E=h),h>k&&h<dL&&(k=h);else for(f=0;f<a;f++)h=t[f],h<E&&h>-dL&&(E=h),h>k&&h<dL&&(k=h);t=[E,k],a=2}var g={tozero:s,extrapad:o};function P(F){d=t[F],Koe(d)&&(b=L(F),p=_(F),c?(v=e.c2l(d)-M(F),x=e.c2l(d)+C(F)):(E=d-M(F),k=d+C(F),l&&E<k/10&&(E=k/10),v=e.c2l(E),x=e.c2l(k)),s&&(v=Math.min(0,v),x=Math.max(0,x)),Yoe(v)&&YO(n,v,p,g),Yoe(x)&&KO(i,x,b,g))}var T=Math.min(6,a);for(f=0;f<T;f++)P(f);for(f=a-1;f>=T;f--)P(f);return{min:n,max:i,opts:r}}function YO(e,t,r,n){$oe(e,t,r,n,rot)}function KO(e,t,r,n){$oe(e,t,r,n,iot)}function $oe(e,t,r,n,i){for(var a=n.tozero,o=n.extrapad,s=!0,l=0;l<e.length&&s;l++){var u=e[l];if(i(u.val,t)&&u.pad>=r&&(u.extrapad||!o)){s=!1;break}else i(t,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(e.splice(l,1),l--)}if(s){var c=a&&t===0;e.push({val:t,pad:c?0:r,extrapad:c?!1:o})}}function Yoe(e){return Koe(e)&&Math.abs(e)<dL}function rot(e,t){return e<=t}function iot(e,t){return e>=t}function not(e,t){var r=t.autorangeoptions;return r&&r.minallowed!==void 0&&vL(t,r.minallowed,r.maxallowed)?r.minallowed:r&&r.clipmin!==void 0&&vL(t,r.clipmin,r.clipmax)?Math.max(e,t.d2l(r.clipmin)):e}function aot(e,t){var r=t.autorangeoptions;return r&&r.maxallowed!==void 0&&vL(t,r.minallowed,r.maxallowed)?r.maxallowed:r&&r.clipmax!==void 0&&vL(t,r.clipmin,r.clipmax)?Math.min(e,t.d2l(r.clipmax)):e}function vL(e,t,r){return t!==void 0&&r!==void 0?(t=e.d2l(t),r=e.d2l(r),t<r):!0}function Qoe(e,t){if(!t||!t.autorangeoptions)return e;var r=e[0],n=e[1],i=t.autorangeoptions.include;if(i!==void 0){var a=t.d2l(r),o=t.d2l(n);s_.isArrayOrTypedArray(i)||(i=[i]);for(var s=0;s<i.length;s++){var l=t.d2l(i[s]);a>=l&&(a=l,r=l),o<=l&&(o=l,n=l)}}return r=not(r,t),n=aot(n,t),[r,n]}});var Qa=ye((Arr,wse)=>{\"use strict\";var w0=xa(),ph=uo(),P3=Xu(),QS=ba(),Vo=Mr(),I3=Vo.strTranslate,Eb=Pl(),oot=Mb(),eM=va(),Xp=ao(),sot=Cd(),tse=bO(),Yd=es(),lot=Yd.ONEMAXYEAR,mL=Yd.ONEAVGYEAR,yL=Yd.ONEMINYEAR,uot=Yd.ONEMAXQUARTER,tB=Yd.ONEAVGQUARTER,_L=Yd.ONEMINQUARTER,cot=Yd.ONEMAXMONTH,R3=Yd.ONEAVGMONTH,xL=Yd.ONEMINMONTH,Yp=Yd.ONEWEEK,Fv=Yd.ONEDAY,l_=Fv/2,xm=Yd.ONEHOUR,tM=Yd.ONEMIN,bL=Yd.ONESEC,fot=Yd.ONEMILLI,hot=Yd.ONEMICROSEC,kb=Yd.MINUS_SIGN,AL=Yd.BADNUM,rB={K:\"zeroline\"},iB={K:\"gridline\",L:\"path\"},nB={K:\"minor-gridline\",L:\"path\"},hse={K:\"tick\",L:\"path\"},rse={K:\"tick\",L:\"text\"},ise={width:[\"x\",\"r\",\"l\",\"xl\",\"xr\"],height:[\"y\",\"t\",\"b\",\"yt\",\"yb\"],right:[\"r\",\"xr\"],left:[\"l\",\"xl\"],top:[\"t\",\"yt\"],bottom:[\"b\",\"yb\"]},SL=Nh(),$S=SL.MID_SHIFT,Cb=SL.CAP_SHIFT,rM=SL.LINE_SPACING,dot=SL.OPPOSITE_SIDE,wL=3,kn=wse.exports={};kn.setConvert=ym();var vot=L3(),Ay=af(),pot=Ay.idSort,got=Ay.isLinked;kn.id2name=Ay.id2name;kn.name2id=Ay.name2id;kn.cleanId=Ay.cleanId;kn.list=Ay.list;kn.listIds=Ay.listIds;kn.getFromId=Ay.getFromId;kn.getFromTrace=Ay.getFromTrace;var dse=wg();kn.getAutoRange=dse.getAutoRange;kn.findExtremes=dse.findExtremes;var mot=1e-4;function lB(e){var t=(e[1]-e[0])*mot;return[e[0]-t,e[1]+t]}kn.coerceRef=function(e,t,r,n,i,a){var o=n.charAt(n.length-1),s=r._fullLayout._subplots[o+\"axis\"],l=n+\"ref\",u={};return i||(i=s[0]||(typeof a==\"string\"?a:a[0])),a||(a=i),s=s.concat(s.map(function(c){return c+\" domain\"})),u[l]={valType:\"enumerated\",values:s.concat(a?typeof a==\"string\"?[a]:a:[]),dflt:i},Vo.coerce(e,t,u,l)};kn.getRefType=function(e){return e===void 0?e:e===\"paper\"?\"paper\":e===\"pixel\"?\"pixel\":/( domain)$/.test(e)?\"domain\":\"range\"};kn.coercePosition=function(e,t,r,n,i,a){var o,s,l=kn.getRefType(n);if(l!==\"range\")o=Vo.ensureNumber,s=r(i,a);else{var u=kn.getFromId(t,n);a=u.fraction2r(a),s=r(i,a),o=u.cleanPos}e[i]=o(s)};kn.cleanPosition=function(e,t,r){var n=r===\"paper\"||r===\"pixel\"?Vo.ensureNumber:kn.getFromId(t,r).cleanPos;return n(e)};kn.redrawComponents=function(e,t){t=t||kn.listIds(e);var r=e._fullLayout;function n(i,a,o,s){for(var l=QS.getComponentMethod(i,a),u={},c=0;c<t.length;c++)for(var f=r[kn.id2name(t[c])],h=f[o],d=0;d<h.length;d++){var v=h[d];if(!u[v]&&(l(e,v),u[v]=1,s))return}}n(\"annotations\",\"drawOne\",\"_annIndices\"),n(\"shapes\",\"drawOne\",\"_shapeIndices\"),n(\"images\",\"draw\",\"_imgIndices\",!0),n(\"selections\",\"drawOne\",\"_selectionIndices\")};var yot=kn.getDataConversions=function(e,t,r,n){var i,a=r===\"x\"||r===\"y\"||r===\"z\"?r:n;if(Vo.isArrayOrTypedArray(a)){if(i={type:vot(n,void 0,{autotypenumbers:e._fullLayout.autotypenumbers}),_categories:[]},kn.setConvert(i),i.type===\"category\")for(var o=0;o<n.length;o++)i.d2c(n[o])}else i=kn.getFromTrace(e,t,a);return i?{d2c:i.d2c,c2d:i.c2d}:a===\"ids\"?{d2c:ase,c2d:ase}:{d2c:nse,c2d:nse}};function nse(e){return+e}function ase(e){return String(e)}kn.getDataToCoordFunc=function(e,t,r,n){return yot(e,t,r,n).d2c};kn.counterLetter=function(e){var t=e.charAt(0);if(t===\"x\")return\"y\";if(t===\"y\")return\"x\"};kn.minDtick=function(e,t,r,n){[\"log\",\"category\",\"multicategory\"].indexOf(e.type)!==-1||!n?e._minDtick=0:e._minDtick===void 0?(e._minDtick=t,e._forceTick0=r):e._minDtick&&((e._minDtick/t+1e-6)%1<2e-6&&((r-e._forceTick0)/t%1+1.000001)%1<2e-6?(e._minDtick=t,e._forceTick0=r):((t/e._minDtick+1e-6)%1>2e-6||((r-e._forceTick0)/e._minDtick%1+1.000001)%1>2e-6)&&(e._minDtick=0))};kn.saveRangeInitial=function(e,t){for(var r=kn.list(e,\"\",!0),n=!1,i=0;i<r.length;i++){var a=r[i],o=a._rangeInitial0===void 0&&a._rangeInitial1===void 0,s=o||a.range[0]!==a._rangeInitial0||a.range[1]!==a._rangeInitial1,l=a.autorange;(o&&l!==!0||t&&s)&&(a._rangeInitial0=l===\"min\"||l===\"max reversed\"?void 0:a.range[0],a._rangeInitial1=l===\"max\"||l===\"min reversed\"?void 0:a.range[1],a._autorangeInitial=l,n=!0)}return n};kn.saveShowSpikeInitial=function(e,t){for(var r=kn.list(e,\"\",!0),n=!1,i=\"on\",a=0;a<r.length;a++){var o=r[a],s=o._showSpikeInitial===void 0,l=s||o.showspikes!==o._showspikes;(s||t&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),i===\"on\"&&!o.showspikes&&(i=\"off\")}return e._fullLayout._cartesianSpikesEnabled=i,n};kn.autoBin=function(e,t,r,n,i,a){var o=Vo.aggNums(Math.min,null,e),s=Vo.aggNums(Math.max,null,e);if(t.type===\"category\"||t.type===\"multicategory\")return{start:o-.5,end:s+.5,size:Math.max(1,Math.round(a)||1),_dataSpan:s-o};i||(i=t.calendar);var l;if(t.type===\"log\"?l={type:\"linear\",range:[o,s]}:l={type:t.type,range:Vo.simpleMap([o,s],t.c2r,0,i),calendar:i},kn.setConvert(l),a=a&&tse.dtick(a,l.type),a)l.dtick=a,l.tick0=tse.tick0(void 0,l.type,i);else{var u;if(r)u=(s-o)/r;else{var c=Vo.distinctVals(e),f=Math.pow(10,Math.floor(Math.log(c.minDiff)/Math.LN10)),h=f*Vo.roundUp(c.minDiff/f,[.9,1.9,4.9,9.9],!0);u=Math.max(h,2*Vo.stdev(e)/Math.pow(e.length,n?.25:.4)),ph(u)||(u=1)}kn.autoTicks(l,u)}var d=l.dtick,v=kn.tickIncrement(kn.tickFirst(l),d,\"reverse\",i),x,b;if(typeof d==\"number\")v=_ot(v,e,l,o,s),b=1+Math.floor((s-v)/d),x=v+b*d;else for(l.dtick.charAt(0)===\"M\"&&(v=xot(v,e,d,o,i)),x=v,b=0;x<=s;)x=kn.tickIncrement(x,d,!1,i),b++;return{start:t.c2r(v,0,i),end:t.c2r(x,0,i),size:d,_dataSpan:s-o}};function _ot(e,t,r,n,i){var a=0,o=0,s=0,l=0;function u(d){return(1+(d-e)*100/r.dtick)%100<2}for(var c=0;c<t.length;c++)t[c]%1===0?s++:ph(t[c])||l++,u(t[c])&&a++,u(t[c]+r.dtick/2)&&o++;var f=t.length-l;if(s===f&&r.type!==\"date\")r.dtick<1?e=n-.5*r.dtick:(e-=.5,e+r.dtick<n&&(e+=r.dtick));else if(o<f*.1&&(a>f*.3||u(n)||u(i))){var h=r.dtick/2;e+=e+h<n?h:-h}return e}function xot(e,t,r,n,i){var a=Vo.findExactDates(t,i),o=.8;if(a.exactDays>o){var s=Number(r.substr(1));a.exactYears>o&&s%12===0?e=kn.tickIncrement(e,\"M6\",\"reverse\")+Fv*1.5:a.exactMonths>o?e=kn.tickIncrement(e,\"M1\",\"reverse\")+Fv*15.5:e-=l_;var l=kn.tickIncrement(e,r);if(l<=n)return l}return e}kn.prepMinorTicks=function(e,t,r){if(!t.minor.dtick){delete e.dtick;var n=t.dtick&&ph(t._tmin),i;if(n){var a=kn.tickIncrement(t._tmin,t.dtick,!0);i=[t._tmin,a*.99+t._tmin*.01]}else{var o=Vo.simpleMap(t.range,t.r2l);i=[o[0],.8*o[0]+.2*o[1]]}if(e.range=Vo.simpleMap(i,t.l2r),e._isMinor=!0,kn.prepTicks(e,r),n){var s=ph(t.dtick),l=ph(e.dtick),u=s?t.dtick:+t.dtick.substring(1),c=l?e.dtick:+e.dtick.substring(1);s&&l?$O(u,c)?u===2*Yp&&c===2*Fv&&(e.dtick=Yp):u===2*Yp&&c===3*Fv?e.dtick=Yp:u===Yp&&!(t._input.minor||{}).nticks?e.dtick=Fv:ose(u/c,2.5)?e.dtick=u/2:e.dtick=u:String(t.dtick).charAt(0)===\"M\"?l?e.dtick=\"M1\":$O(u,c)?u>=12&&c===2&&(e.dtick=\"M3\"):e.dtick=t.dtick:String(e.dtick).charAt(0)===\"L\"?String(t.dtick).charAt(0)===\"L\"?$O(u,c)||(e.dtick=ose(u/c,2.5)?t.dtick/2:t.dtick):e.dtick=\"D1\":e.dtick===\"D2\"&&+t.dtick>1&&(e.dtick=1)}e.range=t.range}t.minor._tick0Init===void 0&&(e.tick0=t.tick0)};function $O(e,t){return Math.abs((e/t+.5)%1-.5)<.001}function ose(e,t){return Math.abs(e/t-1)<.001}kn.prepTicks=function(e,t){var r=Vo.simpleMap(e.range,e.r2l,void 0,void 0,t);if(e.tickmode===\"auto\"||!e.dtick){var n=e.nticks,i;n||(e.type===\"category\"||e.type===\"multicategory\"?(i=e.tickfont?Vo.bigFont(e.tickfont.size||12):15,n=e._length/i):(i=e._id.charAt(0)===\"y\"?40:80,n=Vo.constrain(e._length/i,4,9)+1),e._name===\"radialaxis\"&&(n*=2)),e.minor&&e.minor.tickmode!==\"array\"||e.tickmode===\"array\"&&(n*=100),e._roughDTick=Math.abs(r[1]-r[0])/n,kn.autoTicks(e,e._roughDTick),e._minDtick>0&&e.dtick<e._minDtick*2&&(e.dtick=e._minDtick,e.tick0=e.l2r(e._forceTick0))}e.ticklabelmode===\"period\"&&bot(e),e.tick0||(e.tick0=e.type===\"date\"?\"2000-01-01\":0),e.type===\"date\"&&e.dtick<.1&&(e.dtick=.1),mse(e)};function QO(e){return+e.substring(1)}function bot(e){var t;function r(){return!(ph(e.dtick)||e.dtick.charAt(0)!==\"M\")}var n=r(),i=kn.getTickFormat(e);if(i){var a=e._dtickInit!==e.dtick;/%[fLQsSMX]/.test(i)||(/%[HI]/.test(i)?(t=xm,a&&!n&&e.dtick<xm&&(e.dtick=xm)):/%p/.test(i)?(t=l_,a&&!n&&e.dtick<l_&&(e.dtick=l_)):/%[Aadejuwx]/.test(i)?(t=Fv,a&&!n&&e.dtick<Fv&&(e.dtick=Fv)):/%[UVW]/.test(i)?(t=Yp,a&&!n&&e.dtick<Yp&&(e.dtick=Yp)):/%[Bbm]/.test(i)?(t=R3,a&&(n?QO(e.dtick)<1:e.dtick<xL)&&(e.dtick=\"M1\")):/%[q]/.test(i)?(t=tB,a&&(n?QO(e.dtick)<3:e.dtick<_L)&&(e.dtick=\"M3\")):/%[Yy]/.test(i)&&(t=mL,a&&(n?QO(e.dtick)<12:e.dtick<yL)&&(e.dtick=\"M12\")))}n=r(),n&&e.tick0===e._dowTick0&&(e.tick0=e._rawTick0),e._definedDelta=t}function wot(e,t,r){for(var n=0;n<e.length;n++){var i=e[n].value,a=n,o=n+1;n<e.length-1?(a=n,o=n+1):n>0?(a=n-1,o=n):(a=n,o=n);var s=e[a].value,l=e[o].value,u=Math.abs(l-s),c=r||u,f=0;c>=yL?u>=yL&&u<=lot?f=u:f=mL:r===tB&&c>=_L?u>=_L&&u<=uot?f=u:f=tB:c>=xL?u>=xL&&u<=cot?f=u:f=R3:r===Yp&&c>=Yp?f=Yp:c>=Fv?f=Fv:r===l_&&c>=l_?f=l_:r===xm&&c>=xm&&(f=xm);var h;f>=u&&(f=u,h=!0);var d=i+f;if(t.rangebreaks&&f>0){for(var v=84,x=0,b=0;b<v;b++){var p=(b+.5)/v;t.maskBreaks(i*(1-p)+p*d)!==AL&&x++}f*=x/v,f||(e[n].drop=!0),h&&u>Yp&&(f=u)}(f>0||n===0)&&(e[n].periodX=i+f/2)}}kn.calcTicks=function(t,r){for(var n=t.type,i=t.calendar,a=t.ticklabelstep,o=t.ticklabelmode===\"period\",s=t.range[0]>t.range[1],l=!t.ticklabelindex||Vo.isArrayOrTypedArray(t.ticklabelindex)?t.ticklabelindex:[t.ticklabelindex],u=Vo.simpleMap(t.range,t.r2l,void 0,void 0,r),c=u[1]<u[0],f=Math.min(u[0],u[1]),h=Math.max(u[0],u[1]),d=Math.max(1e3,t._length||0),v=[],x=[],b=[],p=[],E=[],k=t.minor&&(t.minor.ticks||t.minor.showgrid),A=1;A>=(k?0:1);A--){var L=!A;A?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var _=A?t:Vo.extendFlat({},t,t.minor);if(L?kn.prepMinorTicks(_,t,r):kn.prepTicks(_,r),_.tickmode===\"array\"){A?(b=[],v=sse(t,!L)):(p=[],x=sse(t,!L));continue}if(_.tickmode===\"sync\"){b=[],v=Tot(t);continue}var C=lB(u),M=C[0],g=C[1],P=ph(_.dtick),T=n===\"log\"&&!(P||_.dtick.charAt(0)===\"L\"),F=kn.tickFirst(_,r);if(A){if(t._tmin=F,F<M!==c)break;(n===\"category\"||n===\"multicategory\")&&(g=c?Math.max(-.5,g):Math.min(t._categories.length-.5,g))}var q=null,V=F,H;if(A){var X;P?X=t.dtick:n===\"date\"?typeof t.dtick==\"string\"&&t.dtick.charAt(0)===\"M\"&&(X=R3*t.dtick.substring(1)):X=t._roughDTick,H=Math.round((t.r2l(V)-t.r2l(t.tick0))/X)-1}var G=_.dtick;for(_.rangebreaks&&_._tick0Init!==_.tick0&&(V=eB(V,t),c||(V=kn.tickIncrement(V,G,!c,i))),A&&o&&(V=kn.tickIncrement(V,G,!c,i),H--);c?V>=g:V<=g;V=kn.tickIncrement(V,G,c,i)){if(A&&H++,_.rangebreaks&&!c){if(V<M)continue;if(_.maskBreaks(V)===AL&&eB(V,_)>=h)break}if(b.length>d||V===q)break;q=V;var N={value:V};A?(T&&V!==(V|0)&&(N.simpleLabel=!0),a>1&&H%a&&(N.skipLabel=!0),b.push(N)):(N.minor=!0,p.push(N))}}if(!p||p.length<2)l=!1;else{var W=(p[1].value-p[0].value)*(s?-1:1);Zot(W,t.tickformat)||(l=!1)}if(!l)E=b;else{var re=b.concat(p);o&&b.length&&(re=re.slice(1)),re=re.sort(function(Rt,kt){return Rt.value-kt.value}).filter(function(Rt,kt,Ct){return kt===0||Rt.value!==Ct[kt-1].value});var ae=re.map(function(Rt,kt){return Rt.minor===void 0&&!Rt.skipLabel?kt:null}).filter(function(Rt){return Rt!==null});ae.forEach(function(Rt){l.map(function(kt){var Ct=Rt+kt;Ct>=0&&Ct<re.length&&Vo.pushUnique(E,re[Ct])})})}if(k){var _e=t.minor.ticks===\"inside\"&&t.ticks===\"outside\"||t.minor.ticks===\"outside\"&&t.ticks===\"inside\";if(!_e){for(var Me=b.map(function(Rt){return Rt.value}),ke=[],ge=0;ge<p.length;ge++){var ie=p[ge],Te=ie.value;if(Me.indexOf(Te)===-1){for(var Ee=!1,Ae=0;!Ee&&Ae<b.length;Ae++)1e7+b[Ae].value===1e7+Te&&(Ee=!0);Ee||ke.push(ie)}}p=ke}}o&&wot(E,t,t._definedDelta);var ze;if(t.rangebreaks){var Ce=t._id.charAt(0)===\"y\",me=1;t.tickmode===\"auto\"&&(me=t.tickfont?t.tickfont.size:12);var Re=NaN;for(ze=b.length-1;ze>-1;ze--){if(b[ze].drop){b.splice(ze,1);continue}b[ze].value=eB(b[ze].value,t);var ce=t.c2p(b[ze].value);(Ce?Re>ce-me:Re<ce+me)?b.splice(c?ze+1:ze,1):Re=ce}}fB(t)&&Math.abs(u[1]-u[0])===360&&b.pop(),t._tmax=(b[b.length-1]||{}).value,t._prevDateHead=\"\",t._inCalcTicks=!0;var Ge,nt=function(Rt){Rt.text=\"\",t._prevDateHead=Ge};b=b.concat(p);function ct(Rt,kt){var Ct=kn.tickText(Rt,kt.value,!1,kt.simpleLabel),Yt=kt.periodX;return Yt!==void 0&&(Ct.periodX=Yt,(Yt>h||Yt<f)&&(Yt>h&&(Ct.periodX=h),Yt<f&&(Ct.periodX=f),nt(Ct))),Ct}var qt;for(ze=0;ze<b.length;ze++){var rt=b[ze].minor,ot=b[ze].value;rt?(l&&E.indexOf(b[ze])!==-1?qt=ct(t,b[ze]):qt={x:ot},qt.minor=!0,x.push(qt)):(Ge=t._prevDateHead,qt=ct(t,b[ze]),(b[ze].skipLabel||l&&E.indexOf(b[ze])===-1)&&nt(qt),v.push(qt))}return v=v.concat(x),t._inCalcTicks=!1,o&&v.length&&(v[0].noTick=!0),v};function vse(e,t){return e.rangebreaks&&(t=t.filter(function(r){return e.maskBreaks(r.x)!==AL})),t}function Tot(e){var t=e._mainAxis,r=[];if(t._vals){for(var n=0;n<t._vals.length;n++)if(!t._vals[n].noTick){var i=t.l2p(t._vals[n].x),a=e.p2l(i),o=kn.tickText(e,a);t._vals[n].minor&&(o.minor=!0,o.text=\"\"),r.push(o)}}return r=vse(e,r),r}function sse(e,t){var r=Vo.simpleMap(e.range,e.r2l),n=lB(r),i=Math.min(n[0],n[1]),a=Math.max(n[0],n[1]),o=e.type===\"category\"?e.d2l_noadd:e.d2l;e.type===\"log\"&&String(e.dtick).charAt(0)!==\"L\"&&(e.dtick=\"L\"+Math.pow(10,Math.floor(Math.min(e.range[0],e.range[1]))-1));for(var s=[],l=0;l<=1;l++)if(!(t!==void 0&&(t&&l||t===!1&&!l))&&!(l&&!e.minor)){var u=l?e.minor.tickvals:e.tickvals,c=l?[]:e.ticktext;if(u){Vo.isArrayOrTypedArray(c)||(c=[]);for(var f=0;f<u.length;f++){var h=o(u[f]);if(h>i&&h<a){var d=kn.tickText(e,h,!1,String(c[f]));l&&(d.minor=!0,d.text=\"\"),s.push(d)}}}}return s=vse(e,s),s}var pL=[2,5,10],lse=[1,2,3,6,12],use=[1,2,5,10,15,30],Aot=[1,2,3,7,14],pse=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],gse=[-.301,0,.301,.699,1],Sot=[15,30,45,90,180];function _m(e,t,r){return t*Vo.roundUp(e/t,r)}kn.autoTicks=function(e,t,r){var n;function i(f){return Math.pow(f,Math.floor(Math.log(t)/Math.LN10))}if(e.type===\"date\"){e.tick0=Vo.dateTick0(e.calendar,0);var a=2*t;if(a>mL)t/=mL,n=i(10),e.dtick=\"M\"+12*_m(t,n,pL);else if(a>R3)t/=R3,e.dtick=\"M\"+_m(t,1,lse);else if(a>Fv){if(e.dtick=_m(t,Fv,e._hasDayOfWeekBreaks?[1,2,7,14]:Aot),!r){var o=kn.getTickFormat(e),s=e.ticklabelmode===\"period\";s&&(e._rawTick0=e.tick0),/%[uVW]/.test(o)?e.tick0=Vo.dateTick0(e.calendar,2):e.tick0=Vo.dateTick0(e.calendar,1),s&&(e._dowTick0=e.tick0)}}else a>xm?e.dtick=_m(t,xm,lse):a>tM?e.dtick=_m(t,tM,use):a>bL?e.dtick=_m(t,bL,use):(n=i(10),e.dtick=_m(t,n,pL))}else if(e.type===\"log\"){e.tick0=0;var l=Vo.simpleMap(e.range,e.r2l);if(e._isMinor&&(t*=1.5),t>.7)e.dtick=Math.ceil(t);else if(Math.abs(l[1]-l[0])<1){var u=1.5*Math.abs((l[1]-l[0])/t);t=Math.abs(Math.pow(10,l[1])-Math.pow(10,l[0]))/u,n=i(10),e.dtick=\"L\"+_m(t,n,pL)}else e.dtick=t>.3?\"D2\":\"D1\"}else e.type===\"category\"||e.type===\"multicategory\"?(e.tick0=0,e.dtick=Math.ceil(Math.max(t,1))):fB(e)?(e.tick0=0,n=1,e.dtick=_m(t,n,Sot)):(e.tick0=0,n=i(10),e.dtick=_m(t,n,pL));if(e.dtick===0&&(e.dtick=1),!ph(e.dtick)&&typeof e.dtick!=\"string\"){var c=e.dtick;throw e.dtick=1,\"ax.dtick error: \"+String(c)}};function mse(e){var t=e.dtick;if(e._tickexponent=0,!ph(t)&&typeof t!=\"string\"&&(t=1),(e.type===\"category\"||e.type===\"multicategory\")&&(e._tickround=null),e.type===\"date\"){var r=e.r2l(e.tick0),n=e.l2r(r).replace(/(^-|i)/g,\"\"),i=n.length;if(String(t).charAt(0)===\"M\")i>10||n.substr(5)!==\"01-01\"?e._tickround=\"d\":e._tickround=+t.substr(1)%12===0?\"y\":\"m\";else if(t>=Fv&&i<=10||t>=Fv*15)e._tickround=\"d\";else if(t>=tM&&i<=16||t>=xm)e._tickround=\"M\";else if(t>=bL&&i<=19||t>=tM)e._tickround=\"S\";else{var a=e.l2r(r+t).replace(/^-/,\"\").length;e._tickround=Math.max(i,a)-20,e._tickround<0&&(e._tickround=4)}}else if(ph(t)||t.charAt(0)===\"L\"){var o=e.range.map(e.r2d||Number);ph(t)||(t=Number(t.substr(1))),e._tickround=2-Math.floor(Math.log(t)/Math.LN10+.01);var s=Math.max(Math.abs(o[0]),Math.abs(o[1])),l=Math.floor(Math.log(s)/Math.LN10+.01),u=e.minexponent===void 0?3:e.minexponent;Math.abs(l)>u&&(TL(e.exponentformat)&&!uB(l)?e._tickexponent=3*Math.round((l-1)/3):e._tickexponent=l)}else e._tickround=null}kn.tickIncrement=function(e,t,r,n){var i=r?-1:1;if(ph(t))return Vo.increment(e,i*t);var a=t.charAt(0),o=i*Number(t.substr(1));if(a===\"M\")return Vo.incrementMonth(e,o,n);if(a===\"L\")return Math.log(Math.pow(10,e)+o)/Math.LN10;if(a===\"D\"){var s=t===\"D2\"?gse:pse,l=e+i*.01,u=Vo.roundUp(Vo.mod(l,1),s,r);return Math.floor(l)+Math.log(w0.round(Math.pow(10,u),1))/Math.LN10}throw\"unrecognized dtick \"+String(t)};kn.tickFirst=function(e,t){var r=e.r2l||Number,n=Vo.simpleMap(e.range,r,void 0,void 0,t),i=n[1]<n[0],a=i?Math.floor:Math.ceil,o=lB(n)[0],s=e.dtick,l=r(e.tick0);if(ph(s)){var u=a((o-l)/s)*s+l;return(e.type===\"category\"||e.type===\"multicategory\")&&(u=Vo.constrain(u,0,e._categories.length-1)),u}var c=s.charAt(0),f=Number(s.substr(1));if(c===\"M\"){for(var h=0,d=l,v,x,b;h<10;){if(v=kn.tickIncrement(d,s,i,e.calendar),(v-o)*(d-o)<=0)return i?Math.min(d,v):Math.max(d,v);x=(o-(d+v)/2)/(v-d),b=c+(Math.abs(Math.round(x))||1)*f,d=kn.tickIncrement(d,b,x<0?!i:i,e.calendar),h++}return Vo.error(\"tickFirst did not converge\",e),d}else{if(c===\"L\")return Math.log(a((Math.pow(10,o)-l)/f)*f+l)/Math.LN10;if(c===\"D\"){var p=s===\"D2\"?gse:pse,E=Vo.roundUp(Vo.mod(o,1),p,i);return Math.floor(o)+Math.log(w0.round(Math.pow(10,E),1))/Math.LN10}else throw\"unrecognized dtick \"+String(s)}};kn.tickText=function(e,t,r,n){var i=yse(e,t),a=e.tickmode===\"array\",o=r||a,s=e.type,l=s===\"category\"?e.d2l_noadd:e.d2l,u,c=function(b){var p=e.l2p(b);return p>=0&&p<=e._length?b:null};if(a&&Vo.isArrayOrTypedArray(e.ticktext)){var f=Vo.simpleMap(e.range,e.r2l),h=(Math.abs(f[1]-f[0])-(e._lBreaks||0))/1e4;for(u=0;u<e.ticktext.length&&!(Math.abs(t-l(e.tickvals[u]))<h);u++);if(u<e.ticktext.length)return i.text=String(e.ticktext[u]),i.xbnd=[c(i.x-.5),c(i.x+e.dtick-.5)],i}function d(b){if(b===void 0)return!0;if(r)return b===\"none\";var p={first:e._tmin,last:e._tmax}[b];return b!==\"all\"&&t!==p}var v=r?\"never\":e.exponentformat!==\"none\"&&d(e.showexponent)?\"hide\":\"\";if(s===\"date\"?Mot(e,i,r,o):s===\"log\"?Eot(e,i,r,o,v):s===\"category\"?kot(e,i):s===\"multicategory\"?Cot(e,i,r):fB(e)?Pot(e,i,r,o,v):Lot(e,i,r,o,v),n||(e.tickprefix&&!d(e.showtickprefix)&&(i.text=e.tickprefix+i.text),e.ticksuffix&&!d(e.showticksuffix)&&(i.text+=e.ticksuffix)),e.labelalias&&e.labelalias.hasOwnProperty(i.text)){var x=e.labelalias[i.text];typeof x==\"string\"&&(i.text=x)}return(e.tickson===\"boundaries\"||e.showdividers)&&(i.xbnd=[c(i.x-.5),c(i.x+e.dtick-.5)]),i};kn.hoverLabelText=function(e,t,r){r&&(e=Vo.extendFlat({},e,{hoverformat:r}));var n=Vo.isArrayOrTypedArray(t)?t[0]:t,i=Vo.isArrayOrTypedArray(t)?t[1]:void 0;if(i!==void 0&&i!==n)return kn.hoverLabelText(e,n,r)+\" - \"+kn.hoverLabelText(e,i,r);var a=e.type===\"log\"&&n<=0,o=kn.tickText(e,e.c2l(a?-n:n),\"hover\").text;return a?n===0?\"0\":kb+o:o};function yse(e,t,r){var n=e.tickfont||{};return{x:t,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}}function Mot(e,t,r,n){var i=e._tickround,a=r&&e.hoverformat||kn.getTickFormat(e);n=!a&&n,n&&(ph(i)?i=4:i={y:\"m\",m:\"d\",d:\"M\",M:\"S\",S:4}[i]);var o=Vo.formatDate(t.x,a,i,e._dateFormat,e.calendar,e._extraFormat),s,l=o.indexOf(`\n", - "`);if(l!==-1&&(s=o.substr(l+1),o=o.substr(0,l)),n&&(s!==void 0&&(o===\"00:00:00\"||o===\"00:00\")?(o=s,s=\"\"):o.length===8&&(o=o.replace(/:00$/,\"\"))),s)if(r)i===\"d\"?o+=\", \"+s:o=s+(o?\", \"+o:\"\");else if(!e._inCalcTicks||e._prevDateHead!==s)e._prevDateHead=s,o+=\"<br>\"+s;else{var u=nM(e),c=e._trueSide||e.side;(!u&&c===\"top\"||u&&c===\"bottom\")&&(o+=\"<br> \")}t.text=o}function Eot(e,t,r,n,i){var a=e.dtick,o=t.x,s=e.tickformat,l=typeof a==\"string\"&&a.charAt(0);if(i===\"never\"&&(i=\"\"),n&&l!==\"L\"&&(a=\"L3\",l=\"L\"),s||l===\"L\")t.text=iM(Math.pow(10,o),e,i,n);else if(ph(a)||l===\"D\"&&Vo.mod(o+.01,1)<.1){var u=Math.round(o),c=Math.abs(u),f=e.exponentformat;f===\"power\"||TL(f)&&uB(u)?(u===0?t.text=1:u===1?t.text=\"10\":t.text=\"10<sup>\"+(u>1?\"\":kb)+c+\"</sup>\",t.fontSize*=1.25):(f===\"e\"||f===\"E\")&&c>2?t.text=\"1\"+f+(u>0?\"+\":kb)+c:(t.text=iM(Math.pow(10,o),e,\"\",\"fakehover\"),a===\"D1\"&&e._id.charAt(0)===\"y\"&&(t.dy-=t.fontSize/6))}else if(l===\"D\")t.text=String(Math.round(Math.pow(10,Vo.mod(o,1)))),t.fontSize*=.75;else throw\"unrecognized dtick \"+String(a);if(e.dtick===\"D1\"){var h=String(t.text).charAt(0);(h===\"0\"||h===\"1\")&&(e._id.charAt(0)===\"y\"?t.dx-=t.fontSize/4:(t.dy+=t.fontSize/2,t.dx+=(e.range[1]>e.range[0]?1:-1)*t.fontSize*(o<0?.5:.25)))}}function kot(e,t){var r=e._categories[Math.round(t.x)];r===void 0&&(r=\"\"),t.text=String(r)}function Cot(e,t,r){var n=Math.round(t.x),i=e._categories[n]||[],a=i[1]===void 0?\"\":String(i[1]),o=i[0]===void 0?\"\":String(i[0]);r?t.text=o+\" - \"+a:(t.text=a,t.text2=o)}function Lot(e,t,r,n,i){i===\"never\"?i=\"\":e.showexponent===\"all\"&&Math.abs(t.x/e.dtick)<1e-6&&(i=\"hide\"),t.text=iM(t.x,e,i,n)}function Pot(e,t,r,n,i){if(e.thetaunit===\"radians\"&&!r){var a=t.x/180;if(a===0)t.text=\"0\";else{var o=Iot(a);if(o[1]>=100)t.text=iM(Vo.deg2rad(t.x),e,i,n);else{var s=t.x<0;o[1]===1?o[0]===1?t.text=\"\\u03C0\":t.text=o[0]+\"\\u03C0\":t.text=[\"<sup>\",o[0],\"</sup>\",\"\\u2044\",\"<sub>\",o[1],\"</sub>\",\"\\u03C0\"].join(\"\"),s&&(t.text=kb+t.text)}}}else t.text=iM(t.x,e,i,n)}function Iot(e){function t(s,l){return Math.abs(s-l)<=1e-6}function r(s,l){return t(l,0)?s:r(l,s%l)}function n(s){for(var l=1;!t(Math.round(s*l)/l,s);)l*=10;return l}var i=n(e),a=e*i,o=Math.abs(r(a,i));return[Math.round(a/o),Math.round(i/o)]}var Rot=[\"f\",\"p\",\"n\",\"\\u03BC\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\"];function TL(e){return e===\"SI\"||e===\"B\"}function uB(e){return e>14||e<-15}function iM(e,t,r,n){var i=e<0,a=t._tickround,o=r||t.exponentformat||\"B\",s=t._tickexponent,l=kn.getTickFormat(t),u=t.separatethousands;if(n){var c={exponentformat:o,minexponent:t.minexponent,dtick:t.showexponent===\"none\"?t.dtick:ph(e)&&Math.abs(e)||1,range:t.showexponent===\"none\"?t.range.map(t.r2d):[0,e||1]};mse(c),a=(Number(c._tickround)||0)+4,s=c._tickexponent,t.hoverformat&&(l=t.hoverformat)}if(l)return t._numFormat(l)(e).replace(/-/g,kb);var f=Math.pow(10,-a)/2;if(o===\"none\"&&(s=0),e=Math.abs(e),e<f)e=\"0\",i=!1;else{if(e+=f,s&&(e*=Math.pow(10,-s),a+=s),a===0)e=String(Math.floor(e));else if(a<0){e=String(Math.round(e)),e=e.substr(0,e.length+a);for(var h=a;h<0;h++)e+=\"0\"}else{e=String(e);var d=e.indexOf(\".\")+1;d&&(e=e.substr(0,d+a).replace(/\\.?0+$/,\"\"))}e=Vo.numSeparate(e,t._separators,u)}if(s&&o!==\"hide\"){TL(o)&&uB(s)&&(o=\"power\");var v;s<0?v=kb+-s:o!==\"power\"?v=\"+\"+s:v=String(s),o===\"e\"||o===\"E\"?e+=o+v:o===\"power\"?e+=\"\\xD710<sup>\"+v+\"</sup>\":o===\"B\"&&s===9?e+=\"B\":TL(o)&&(e+=Rot[s/3+5])}return i?kb+e:e}kn.getTickFormat=function(e){var t;function r(l){return typeof l!=\"string\"?l:Number(l.replace(\"M\",\"\"))*R3}function n(l,u){var c=[\"L\",\"D\"];if(typeof l==typeof u){if(typeof l==\"number\")return l-u;var f=c.indexOf(l.charAt(0)),h=c.indexOf(u.charAt(0));return f===h?Number(l.replace(/(L|D)/g,\"\"))-Number(u.replace(/(L|D)/g,\"\")):f-h}else return typeof l==\"number\"?1:-1}function i(l,u,c){var f=c||function(v){return v},h=u[0],d=u[1];return(!h&&typeof h!=\"number\"||f(h)<=f(l))&&(!d&&typeof d!=\"number\"||f(d)>=f(l))}function a(l,u){var c=u[0]===null,f=u[1]===null,h=n(l,u[0])>=0,d=n(l,u[1])<=0;return(c||h)&&(f||d)}var o,s;if(e.tickformatstops&&e.tickformatstops.length>0)switch(e.type){case\"date\":case\"linear\":{for(t=0;t<e.tickformatstops.length;t++)if(s=e.tickformatstops[t],s.enabled&&i(e.dtick,s.dtickrange,r)){o=s;break}break}case\"log\":{for(t=0;t<e.tickformatstops.length;t++)if(s=e.tickformatstops[t],s.enabled&&a(e.dtick,s.dtickrange)){o=s;break}break}default:}return o?o.value:e.tickformat};kn.getSubplots=function(e,t){var r=e._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=t?kn.findSubplotsWithAxis(n,t):n;return i.sort(function(a,o){var s=a.substr(1).split(\"y\"),l=o.substr(1).split(\"y\");return s[0]===l[0]?+s[1]-+l[1]:+s[0]-+l[0]}),i};kn.findSubplotsWithAxis=function(e,t){for(var r=new RegExp(t._id.charAt(0)===\"x\"?\"^\"+t._id+\"y\":t._id+\"$\"),n=[],i=0;i<e.length;i++){var a=e[i];r.test(a)&&n.push(a)}return n};kn.makeClipPaths=function(e){var t=e._fullLayout;if(!t._hasOnlyLargeSploms){var r={_offset:0,_length:t.width,_id:\"\"},n={_offset:0,_length:t.height,_id:\"\"},i=kn.list(e,\"x\",!0),a=kn.list(e,\"y\",!0),o=[],s,l;for(s=0;s<i.length;s++)for(o.push({x:i[s],y:n}),l=0;l<a.length;l++)s===0&&o.push({x:r,y:a[l]}),o.push({x:i[s],y:a[l]});var u=t._clips.selectAll(\".axesclip\").data(o,function(c){return c.x._id+c.y._id});u.enter().append(\"clipPath\").classed(\"axesclip\",!0).attr(\"id\",function(c){return\"clip\"+t._uid+c.x._id+c.y._id}).append(\"rect\"),u.exit().remove(),u.each(function(c){w0.select(this).select(\"rect\").attr({x:c.x._offset||0,y:c.y._offset||0,width:c.x._length||1,height:c.y._length||1})})}};kn.draw=function(e,t,r){var n=e._fullLayout;t===\"redraw\"&&n._paper.selectAll(\"g.subplot\").each(function(l){var u=l[0],c=n._plots[u];if(c){var f=c.xaxis,h=c.yaxis;c.xaxislayer.selectAll(\".\"+f._id+\"tick\").remove(),c.yaxislayer.selectAll(\".\"+h._id+\"tick\").remove(),c.xaxislayer.selectAll(\".\"+f._id+\"tick2\").remove(),c.yaxislayer.selectAll(\".\"+h._id+\"tick2\").remove(),c.xaxislayer.selectAll(\".\"+f._id+\"divider\").remove(),c.yaxislayer.selectAll(\".\"+h._id+\"divider\").remove(),c.minorGridlayer&&c.minorGridlayer.selectAll(\"path\").remove(),c.gridlayer&&c.gridlayer.selectAll(\"path\").remove(),c.zerolinelayer&&c.zerolinelayer.selectAll(\"path\").remove(),n._infolayer.select(\".g-\"+f._id+\"title\").remove(),n._infolayer.select(\".g-\"+h._id+\"title\").remove()}});var i=!t||t===\"redraw\"?kn.listIds(e):t,a=kn.list(e),o=a.filter(function(l){return l.autoshift}).map(function(l){return l.overlaying});i.map(function(l){var u=kn.getFromId(e,l);if(u.tickmode===\"sync\"&&u.overlaying){var c=i.findIndex(function(f){return f===u.overlaying});c>=0&&i.unshift(i.splice(c,1).shift())}});var s={false:{left:0,right:0}};return Vo.syncOrAsync(i.map(function(l){return function(){if(l){var u=kn.getFromId(e,l);r||(r={}),r.axShifts=s,r.overlayingShiftedAx=o;var c=kn.drawOne(e,u,r);return u._shiftPusher&&sB(u,u._fullDepth||0,s,!0),u._r=u.range.slice(),u._rl=Vo.simpleMap(u._r,u.r2l),c}}}))};kn.drawOne=function(e,t,r){r=r||{};var n=r.axShifts||{},i=r.overlayingShiftedAx||[],a,o,s;t.setScale();var l=e._fullLayout,u=t._id,c=u.charAt(0),f=kn.counterLetter(u),h=l._plots[t._mainSubplot];if(!h)return;if(t._shiftPusher=t.autoshift||i.indexOf(t._id)!==-1||i.indexOf(t.overlaying)!==-1,t._shiftPusher&t.anchor===\"free\"){var d=t.linewidth/2||0;t.ticks===\"inside\"&&(d+=t.ticklen),sB(t,d,n,!0),sB(t,t.shift||0,n,!1)}(r.skipTitle!==!0||t._shift===void 0)&&(t._shift=Wot(t,n));var v=h[c+\"axislayer\"],x=t._mainLinePosition,b=x+=t._shift,p=t._mainMirrorPosition,E=t._vals=kn.calcTicks(t),k=[t.mirror,b,p].join(\"_\");for(a=0;a<E.length;a++)E[a].axInfo=k;t._selections={},t._tickAngles&&(t._prevTickAngles=t._tickAngles),t._tickAngles={},t._depth=null;var A={};function L(rt){var ot=u+(rt||\"tick\");return A[ot]||(A[ot]=qot(t,ot,b)),A[ot]}if(t.visible){var _=kn.makeTransTickFn(t),C=kn.makeTransTickLabelFn(t),M,g,P=t.ticks===\"inside\",T=t.ticks===\"outside\";if(t.tickson===\"boundaries\"){var F=Dot(t,E);g=kn.clipEnds(t,F),M=P?g:F}else g=kn.clipEnds(t,E),M=P&&t.ticklabelmode!==\"period\"?g:E;var q=t._gridVals=g,V=Fot(t,E);if(!l._hasOnlyLargeSploms){var H=t._subplotsWith,X={};for(a=0;a<H.length;a++){o=H[a],s=l._plots[o];var G=s[f+\"axis\"],N=G._mainAxis._id;if(!X[N]){X[N]=1;var W=c===\"x\"?\"M0,\"+G._offset+\"v\"+G._length:\"M\"+G._offset+\",0h\"+G._length;kn.drawGrid(e,t,{vals:q,counterAxis:G,layer:s.gridlayer.select(\".\"+u),minorLayer:s.minorGridlayer.select(\".\"+u),path:W,transFn:_}),kn.drawZeroLine(e,t,{counterAxis:G,layer:s.zerolinelayer,path:W,transFn:_})}}}var re,ae=kn.getTickSigns(t),_e=kn.getTickSigns(t,\"minor\");if(t.ticks||t.minor&&t.minor.ticks){var Me=kn.makeTickPath(t,b,ae[2]),ke=kn.makeTickPath(t,b,_e[2],{minor:!0}),ge,ie,Te,Ee;if(t._anchorAxis&&t.mirror&&t.mirror!==!0?(ge=kn.makeTickPath(t,p,ae[3]),ie=kn.makeTickPath(t,p,_e[3],{minor:!0}),Te=Me+ge,Ee=ke+ie):(ge=\"\",ie=\"\",Te=Me,Ee=ke),t.showdividers&&T&&t.tickson===\"boundaries\"){var Ae={};for(a=0;a<V.length;a++)Ae[V[a].x]=1;re=function(rt){return Ae[rt.x]?ge:Te}}else re=function(rt){return rt.minor?Ee:Te}}if(kn.drawTicks(e,t,{vals:M,layer:v,path:re,transFn:_}),t.mirror===\"allticks\"){var ze=Object.keys(t._linepositions||{});for(a=0;a<ze.length;a++){o=ze[a],s=l._plots[o];var Ce=t._linepositions[o]||[],me=Ce[0],Re=Ce[1],ce=Ce[2],Ge=kn.makeTickPath(t,me,ce?ae[0]:_e[0],{minor:ce})+kn.makeTickPath(t,Re,ce?ae[1]:_e[1],{minor:ce});kn.drawTicks(e,t,{vals:M,layer:s[c+\"axislayer\"],path:Ge,transFn:_})}}var nt=[];if(nt.push(function(){return kn.drawLabels(e,t,{vals:E,layer:v,plotinfo:s,transFn:C,labelFns:kn.makeLabelFns(t,b)})}),t.type===\"multicategory\"){var ct={x:2,y:10}[c];nt.push(function(){var rt={x:\"height\",y:\"width\"}[c],ot=L()[rt]+ct+(t._tickAngles[u+\"tick\"]?t.tickfont.size*rM:0);return kn.drawLabels(e,t,{vals:zot(t,E),layer:v,cls:u+\"tick2\",repositionOnUpdate:!0,secondary:!0,transFn:_,labelFns:kn.makeLabelFns(t,b+ot*ae[4])})}),nt.push(function(){return t._depth=ae[4]*(L(\"tick2\")[t.side]-b),Bot(e,t,{vals:V,layer:v,path:kn.makeTickPath(t,b,ae[4],{len:t._depth}),transFn:_})})}else t.title.hasOwnProperty(\"standoff\")&&nt.push(function(){t._depth=ae[4]*(L()[t.side]-b)});var qt=QS.getComponentMethod(\"rangeslider\",\"isVisible\")(t);return!r.skipTitle&&!(qt&&t.side===\"bottom\")&&nt.push(function(){return Not(e,t)}),nt.push(function(){var rt=t.side.charAt(0),ot=dot[t.side].charAt(0),Rt=kn.getPxPosition(e,t),kt=T?t.ticklen:0,Ct,Yt,xr,er;(t.automargin||qt||t._shiftPusher)&&(t.type===\"multicategory\"?Ct=L(\"tick2\"):(Ct=L(),c===\"x\"&&rt===\"b\"&&(t._depth=Math.max(Ct.width>0?Ct.bottom-Rt:0,kt))));var Ke=0,xt=0;if(t._shiftPusher&&(Ke=Math.max(kt,Ct.height>0?rt===\"l\"?Rt-Ct.left:Ct.right-Rt:0),t.title.text!==l._dfltTitle[c]&&(xt=(t._titleStandoff||0)+(t._titleScoot||0),rt===\"l\"&&(xt+=fse(t))),t._fullDepth=Math.max(Ke,xt)),t.automargin){Yt={x:0,y:0,r:0,l:0,t:0,b:0};var bt=[0,1],Lt=typeof t._shift==\"number\"?t._shift:0;if(c===\"x\"){if(rt===\"b\"?Yt[rt]=t._depth:(Yt[rt]=t._depth=Math.max(Ct.width>0?Rt-Ct.top:0,kt),bt.reverse()),Ct.width>0){var St=Ct.right-(t._offset+t._length);St>0&&(Yt.xr=1,Yt.r=St);var Et=t._offset-Ct.left;Et>0&&(Yt.xl=0,Yt.l=Et)}}else if(rt===\"l\"?(t._depth=Math.max(Ct.height>0?Rt-Ct.left:0,kt),Yt[rt]=t._depth-Lt):(t._depth=Math.max(Ct.height>0?Ct.right-Rt:0,kt),Yt[rt]=t._depth+Lt,bt.reverse()),Ct.height>0){var dt=Ct.bottom-(t._offset+t._length);dt>0&&(Yt.yb=0,Yt.b=dt);var Ht=t._offset-Ct.top;Ht>0&&(Yt.yt=1,Yt.t=Ht)}Yt[f]=t.anchor===\"free\"?t.position:t._anchorAxis.domain[bt[0]],t.title.text!==l._dfltTitle[c]&&(Yt[rt]+=fse(t)+(t.title.standoff||0)),t.mirror&&t.anchor!==\"free\"&&(xr={x:0,y:0,r:0,l:0,t:0,b:0},xr[ot]=t.linewidth,t.mirror&&t.mirror!==!0&&(xr[ot]+=kt),t.mirror===!0||t.mirror===\"ticks\"?xr[f]=t._anchorAxis.domain[bt[1]]:(t.mirror===\"all\"||t.mirror===\"allticks\")&&(xr[f]=[t._counterDomainMin,t._counterDomainMax][bt[1]]))}qt&&(er=QS.getComponentMethod(\"rangeslider\",\"autoMarginOpts\")(e,t)),typeof t.automargin==\"string\"&&(cse(Yt,t.automargin),cse(xr,t.automargin)),P3.autoMargin(e,cB(t),Yt),P3.autoMargin(e,xse(t),xr),P3.autoMargin(e,bse(t),er)}),Vo.syncOrAsync(nt)}};function cse(e,t){if(e){var r=Object.keys(ise).reduce(function(n,i){return t.indexOf(i)!==-1&&ise[i].forEach(function(a){n[a]=1}),n},{});Object.keys(e).forEach(function(n){r[n]||(n.length===1?e[n]=0:delete e[n])})}}function Dot(e,t){var r=[],n,i=function(a,o){var s=a.xbnd[o];s!==null&&r.push(Vo.extendFlat({},a,{x:s}))};if(t.length){for(n=0;n<t.length;n++)i(t[n],0);i(t[n-1],1)}return r}function zot(e,t){for(var r=[],n={},i=0;i<t.length;i++){var a=t[i];n[a.text2]?n[a.text2].push(a.x):n[a.text2]=[a.x]}for(var o in n)r.push(yse(e,Vo.interp(n[o],.5),o));return r}function Fot(e,t){var r=[],n,i,a=t.length&&t[t.length-1].x<t[0].x,o=function(l,u){var c=l.xbnd[u];c!==null&&r.push(Vo.extendFlat({},l,{x:c}))};if(e.showdividers&&t.length){for(n=0;n<t.length;n++){var s=t[n];s.text2!==i&&o(s,a?1:0),i=s.text2}o(t[n-1],a?0:1)}return r}function qot(e,t,r){var n,i,a,o;if(e._selections[t].size())n=1/0,i=-1/0,a=1/0,o=-1/0,e._selections[t].each(function(){var l=oB(this),u=Xp.bBox(l.node().parentNode);n=Math.min(n,u.top),i=Math.max(i,u.bottom),a=Math.min(a,u.left),o=Math.max(o,u.right)});else{var s=kn.makeLabelFns(e,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}}kn.getTickSigns=function(e,t){var r=e._id.charAt(0),n={x:\"top\",y:\"right\"}[r],i=e.side===n?1:-1,a=[-1,1,i,-i],o=t?(e.minor||{}).ticks:e.ticks;return o!==\"inside\"==(r===\"x\")&&(a=a.map(function(s){return-s})),e.side&&a.push({l:-1,t:-1,r:1,b:1}[e.side.charAt(0)]),a};kn.makeTransTickFn=function(e){return e._id.charAt(0)===\"x\"?function(t){return I3(e._offset+e.l2p(t.x),0)}:function(t){return I3(0,e._offset+e.l2p(t.x))}};kn.makeTransTickLabelFn=function(e){var t=Oot(e),r=e.ticklabelshift||0,n=e.ticklabelstandoff||0,i=t[0],a=t[1],o=e.range[0]>e.range[1],s=e.ticklabelposition&&e.ticklabelposition.indexOf(\"inside\")!==-1,l=!s;if(r){var u=o?-1:1;r=r*u}if(n){var c=e.side,f=s&&(c===\"top\"||c===\"left\")||l&&(c===\"bottom\"||c===\"right\")?1:-1;n=n*f}return e._id.charAt(0)===\"x\"?function(h){return I3(i+e._offset+e.l2p(aB(h))+r,a+n)}:function(h){return I3(a+n,i+e._offset+e.l2p(aB(h))+r)}};function aB(e){return e.periodX!==void 0?e.periodX:e.x}function Oot(e){var t=e.ticklabelposition||\"\",r=function(d){return t.indexOf(d)!==-1},n=r(\"top\"),i=r(\"left\"),a=r(\"right\"),o=r(\"bottom\"),s=r(\"inside\"),l=o||i||n||a;if(!l&&!s)return[0,0];var u=e.side,c=l?(e.tickwidth||0)/2:0,f=wL,h=e.tickfont?e.tickfont.size:12;return(o||n)&&(c+=h*Cb,f+=(e.linewidth||0)/2),(i||a)&&(c+=(e.linewidth||0)/2,f+=wL),s&&u===\"top\"&&(f-=h*(1-Cb)),(i||n)&&(c=-c),(u===\"bottom\"||u===\"right\")&&(f=-f),[l?c:0,s?f:0]}kn.makeTickPath=function(e,t,r,n){n||(n={});var i=n.minor;if(i&&!e.minor)return\"\";var a=n.len!==void 0?n.len:i?e.minor.ticklen:e.ticklen,o=e._id.charAt(0),s=(e.linewidth||1)/2;return o===\"x\"?\"M0,\"+(t+s*r)+\"v\"+a*r:\"M\"+(t+s*r)+\",0h\"+a*r};kn.makeLabelFns=function(e,t,r){var n=e.ticklabelposition||\"\",i=function(F){return n.indexOf(F)!==-1},a=i(\"top\"),o=i(\"left\"),s=i(\"right\"),l=i(\"bottom\"),u=l||o||a||s,c=i(\"inside\"),f=n===\"inside\"&&e.ticks===\"inside\"||!c&&e.ticks===\"outside\"&&e.tickson!==\"boundaries\",h=0,d=0,v=f?e.ticklen:0;if(c?v*=-1:u&&(v=0),f&&(h+=v,r)){var x=Vo.deg2rad(r);h=v*Math.cos(x)+1,d=v*Math.sin(x)}e.showticklabels&&(f||e.showline)&&(h+=.2*e.tickfont.size),h+=(e.linewidth||1)/2*(c?-1:1);var b={labelStandoff:h,labelShift:d},p,E,k,A,L=0,_=e.side,C=e._id.charAt(0),M=e.tickangle,g;if(C===\"x\")g=!c&&_===\"bottom\"||c&&_===\"top\",A=g?1:-1,c&&(A*=-1),p=d*A,E=t+h*A,k=g?1:-.2,Math.abs(M)===90&&(c?k+=$S:M===-90&&_===\"bottom\"?k=Cb:M===90&&_===\"top\"?k=$S:k=.5,L=$S/2*(M/90)),b.xFn=function(F){return F.dx+p+L*F.fontSize},b.yFn=function(F){return F.dy+E+F.fontSize*k},b.anchorFn=function(F,q){if(u){if(o)return\"end\";if(s)return\"start\"}return!ph(q)||q===0||q===180?\"middle\":q*A<0!==c?\"end\":\"start\"},b.heightFn=function(F,q,V){return q<-60||q>60?-.5*V:e.side===\"top\"!==c?-V:0};else if(C===\"y\"){if(g=!c&&_===\"left\"||c&&_===\"right\",A=g?1:-1,c&&(A*=-1),p=h,E=d*A,k=0,!c&&Math.abs(M)===90&&(M===-90&&_===\"left\"||M===90&&_===\"right\"?k=Cb:k=.5),c){var P=ph(M)?+M:0;if(P!==0){var T=Vo.deg2rad(P);L=Math.abs(Math.sin(T))*Cb*A,k=0}}b.xFn=function(F){return F.dx+t-(p+F.fontSize*k)*A+L*F.fontSize},b.yFn=function(F){return F.dy+E+F.fontSize*$S},b.anchorFn=function(F,q){return ph(q)&&Math.abs(q)===90?\"middle\":g?\"end\":\"start\"},b.heightFn=function(F,q,V){return e.side===\"right\"&&(q*=-1),q<-30?-V:q<30?-.5*V:0}}return b};function ML(e){return[e.text,e.x,e.axInfo,e.font,e.fontSize,e.fontColor].join(\"_\")}kn.drawTicks=function(e,t,r){r=r||{};var n=t._id+\"tick\",i=[].concat(t.minor&&t.minor.ticks?r.vals.filter(function(o){return o.minor&&!o.noTick}):[]).concat(t.ticks?r.vals.filter(function(o){return!o.minor&&!o.noTick}):[]),a=r.layer.selectAll(\"path.\"+n).data(i,ML);a.exit().remove(),a.enter().append(\"path\").classed(n,1).classed(\"ticks\",1).classed(\"crisp\",r.crisp!==!1).each(function(o){return eM.stroke(w0.select(this),o.minor?t.minor.tickcolor:t.tickcolor)}).style(\"stroke-width\",function(o){return Xp.crispRound(e,o.minor?t.minor.tickwidth:t.tickwidth,1)+\"px\"}).attr(\"d\",r.path).style(\"display\",null),EL(t,[hse]),a.attr(\"transform\",r.transFn)};kn.drawGrid=function(e,t,r){if(r=r||{},t.tickmode!==\"sync\"){var n=t._id+\"grid\",i=t.minor&&t.minor.showgrid,a=i?r.vals.filter(function(p){return p.minor}):[],o=t.showgrid?r.vals.filter(function(p){return!p.minor}):[],s=r.counterAxis;if(s&&kn.shouldShowZeroLine(e,t,s))for(var l=t.tickmode===\"array\",u=0;u<o.length;u++){var c=o[u].x;if(l?!c:Math.abs(c)<t.dtick/100)if(o=o.slice(0,u).concat(o.slice(u+1)),l)u--;else break}t._gw=Xp.crispRound(e,t.gridwidth,1);for(var f=i?Xp.crispRound(e,t.minor.gridwidth,1):0,h=r.layer,d=r.minorLayer,v=1;v>=0;v--){var x=v?h:d;if(x){var b=x.selectAll(\"path.\"+n).data(v?o:a,ML);b.exit().remove(),b.enter().append(\"path\").classed(n,1).classed(\"crisp\",r.crisp!==!1),b.attr(\"transform\",r.transFn).attr(\"d\",r.path).each(function(p){return eM.stroke(w0.select(this),p.minor?t.minor.gridcolor:t.gridcolor||\"#ddd\")}).style(\"stroke-dasharray\",function(p){return Xp.dashStyle(p.minor?t.minor.griddash:t.griddash,p.minor?t.minor.gridwidth:t.gridwidth)}).style(\"stroke-width\",function(p){return(p.minor?f:t._gw)+\"px\"}).style(\"display\",null),typeof r.path==\"function\"&&b.attr(\"d\",r.path)}}EL(t,[iB,nB])}};kn.drawZeroLine=function(e,t,r){r=r||r;var n=t._id+\"zl\",i=kn.shouldShowZeroLine(e,t,r.counterAxis),a=r.layer.selectAll(\"path.\"+n).data(i?[{x:0,id:t._id}]:[]);a.exit().remove(),a.enter().append(\"path\").classed(n,1).classed(\"zl\",1).classed(\"crisp\",r.crisp!==!1).each(function(){r.layer.selectAll(\"path\").sort(function(o,s){return pot(o.id,s.id)})}),a.attr(\"transform\",r.transFn).attr(\"d\",r.path).call(eM.stroke,t.zerolinecolor||eM.defaultLine).style(\"stroke-width\",Xp.crispRound(e,t.zerolinewidth,t._gw||1)+\"px\").style(\"display\",null),EL(t,[rB])};kn.drawLabels=function(e,t,r){r=r||{};var n=e._fullLayout,i=t._id,a=r.cls||i+\"tick\",o=r.vals.filter(function(N){return N.text}),s=r.labelFns,l=r.secondary?0:t.tickangle,u=(t._prevTickAngles||{})[a],c=r.layer.selectAll(\"g.\"+a).data(t.showticklabels?o:[],ML),f=[];c.enter().append(\"g\").classed(a,1).append(\"text\").attr(\"text-anchor\",\"middle\").each(function(N){var W=w0.select(this),re=e._promises.length;W.call(Eb.positionText,s.xFn(N),s.yFn(N)).call(Xp.font,{family:N.font,size:N.fontSize,color:N.fontColor,weight:N.fontWeight,style:N.fontStyle,variant:N.fontVariant,textcase:N.fontTextcase,lineposition:N.fontLineposition,shadow:N.fontShadow}).text(N.text).call(Eb.convertToTspans,e),e._promises[re]?f.push(e._promises.pop().then(function(){h(W,l)})):h(W,l)}),EL(t,[rse]),c.exit().remove(),r.repositionOnUpdate&&c.each(function(N){w0.select(this).select(\"text\").call(Eb.positionText,s.xFn(N),s.yFn(N))});function h(N,W){N.each(function(re){var ae=w0.select(this),_e=ae.select(\".text-math-group\"),Me=s.anchorFn(re,W),ke=r.transFn.call(ae.node(),re)+(ph(W)&&+W!=0?\" rotate(\"+W+\",\"+s.xFn(re)+\",\"+(s.yFn(re)-re.fontSize/2)+\")\":\"\"),ge=Eb.lineCount(ae),ie=rM*re.fontSize,Te=s.heightFn(re,ph(W)?+W:0,(ge-1)*ie);if(Te&&(ke+=I3(0,Te)),_e.empty()){var Ee=ae.select(\"text\");Ee.attr({transform:ke,\"text-anchor\":Me}),Ee.style(\"opacity\",1),t._adjustTickLabelsOverflow&&t._adjustTickLabelsOverflow()}else{var Ae=Xp.bBox(_e.node()).width,ze=Ae*{end:-.5,start:.5}[Me];_e.attr(\"transform\",ke+I3(ze,0))}})}t._adjustTickLabelsOverflow=function(){var N=t.ticklabeloverflow;if(!(!N||N===\"allow\")){var W=N.indexOf(\"hide\")!==-1,re=t._id.charAt(0)===\"x\",ae=0,_e=re?e._fullLayout.width:e._fullLayout.height;if(N.indexOf(\"domain\")!==-1){var Me=Vo.simpleMap(t.range,t.r2l);ae=t.l2p(Me[0])+t._offset,_e=t.l2p(Me[1])+t._offset}var ke=Math.min(ae,_e),ge=Math.max(ae,_e),ie=t.side,Te=1/0,Ee=-1/0;c.each(function(me){var Re=w0.select(this),ce=Re.select(\".text-math-group\");if(ce.empty()){var Ge=Xp.bBox(Re.node()),nt=0;re?(Ge.right>ge||Ge.left<ke)&&(nt=1):(Ge.bottom>ge||Ge.top+(t.tickangle?0:me.fontSize/4)<ke)&&(nt=1);var ct=Re.select(\"text\");nt?W&&ct.style(\"opacity\",0):(ct.style(\"opacity\",1),ie===\"bottom\"||ie===\"right\"?Te=Math.min(Te,re?Ge.top:Ge.left):Te=-1/0,ie===\"top\"||ie===\"left\"?Ee=Math.max(Ee,re?Ge.bottom:Ge.right):Ee=1/0)}});for(var Ae in n._plots){var ze=n._plots[Ae];if(!(t._id!==ze.xaxis._id&&t._id!==ze.yaxis._id)){var Ce=re?ze.yaxis:ze.xaxis;Ce&&(Ce[\"_visibleLabelMin_\"+t._id]=Te,Ce[\"_visibleLabelMax_\"+t._id]=Ee)}}}},t._hideCounterAxisInsideTickLabels=function(N){var W=t._id.charAt(0)===\"x\",re=[];for(var ae in n._plots){var _e=n._plots[ae];t._id!==_e.xaxis._id&&t._id!==_e.yaxis._id||re.push(W?_e.yaxis:_e.xaxis)}re.forEach(function(Me,ke){Me&&nM(Me)&&(N||[rB,nB,iB,hse,rse]).forEach(function(ge){var ie=ge.K===\"tick\"&&ge.L===\"text\"&&t.ticklabelmode===\"period\",Te=n._plots[t._mainSubplot],Ee;ge.K===rB.K?Ee=Te.zerolinelayer.selectAll(\".\"+t._id+\"zl\"):ge.K===nB.K?Ee=Te.minorGridlayer.selectAll(\".\"+t._id):ge.K===iB.K?Ee=Te.gridlayer.selectAll(\".\"+t._id):Ee=Te[t._id.charAt(0)+\"axislayer\"],Ee.each(function(){var Ae=w0.select(this);ge.L&&(Ae=Ae.selectAll(ge.L)),Ae.each(function(ze){var Ce=t.l2p(ie?aB(ze):ze.x)+t._offset,me=w0.select(this);Ce<t[\"_visibleLabelMax_\"+Me._id]&&Ce>t[\"_visibleLabelMin_\"+Me._id]?me.style(\"display\",\"none\"):ge.K===\"tick\"&&!ke&&me.style(\"display\",null)})})})})},h(c,u+1?u:l);function d(){return f.length&&Promise.all(f)}var v=null;function x(){if(h(c,l),o.length&&t.autotickangles&&(t.type!==\"log\"||String(t.dtick).charAt(0)!==\"D\")){v=t.autotickangles[0];var N=0,W=[],re,ae=1;c.each(function(Ct){N=Math.max(N,Ct.fontSize);var Yt=t.l2p(Ct.x),xr=oB(this),er=Xp.bBox(xr.node());ae=Math.max(ae,Eb.lineCount(xr)),W.push({top:0,bottom:10,height:10,left:Yt-er.width/2,right:Yt+er.width/2+2,width:er.width+2})});var _e=(t.tickson===\"boundaries\"||t.showdividers)&&!r.secondary,Me=o.length,ke=Math.abs((o[Me-1].x-o[0].x)*t._m)/(Me-1),ge=_e?ke/2:ke,ie=_e?t.ticklen:N*1.25*ae,Te=Math.sqrt(Math.pow(ge,2)+Math.pow(ie,2)),Ee=ge/Te,Ae=t.autotickangles.map(function(Ct){return Ct*Math.PI/180}),ze=Ae.find(function(Ct){return Math.abs(Math.cos(Ct))<=Ee});ze===void 0&&(ze=Ae.reduce(function(Ct,Yt){return Math.abs(Math.cos(Ct))<Math.abs(Math.cos(Yt))?Ct:Yt},Ae[0]));var Ce=ze*(180/Math.PI);if(_e){var me=2;for(t.ticks&&(me+=t.tickwidth/2),re=0;re<W.length;re++){var Re=o[re].xbnd,ce=W[re];if(Re[0]!==null&&ce.left-t.l2p(Re[0])<me||Re[1]!==null&&t.l2p(Re[1])-ce.right<me){v=Ce;break}}}else{var Ge=t.ticklabelposition||\"\",nt=function(Ct){return Ge.indexOf(Ct)!==-1},ct=nt(\"top\"),qt=nt(\"left\"),rt=nt(\"right\"),ot=nt(\"bottom\"),Rt=ot||qt||ct||rt,kt=Rt?(t.tickwidth||0)+2*wL:0;for(re=0;re<W.length-1;re++)if(Vo.bBoxIntersect(W[re],W[re+1],kt)){v=Ce;break}}v&&h(c,v)}}t._selections&&(t._selections[a]=c);var b=[d];t.automargin&&n._redrawFromAutoMarginCount&&u===90?(v=u,b.push(function(){h(c,u)})):b.push(x),t._tickAngles&&b.push(function(){t._tickAngles[a]=v===null?ph(l)?l:0:v});var p=function(){var N=0,W=0;return c.each(function(re,ae){var _e=oB(this),Me=_e.select(\".text-math-group\");if(Me.empty()){var ke;t._vals[ae]&&(ke=t._vals[ae].bb||Xp.bBox(_e.node()),t._vals[ae].bb=ke),N=Math.max(N,ke.width),W=Math.max(W,ke.height)}}),{labelsMaxW:N,labelsMaxH:W}},E=t._anchorAxis;if(E&&(E.autorange||E.insiderange)&&nM(t)&&!got(n,t._id)&&(n._insideTickLabelsUpdaterange||(n._insideTickLabelsUpdaterange={}),E.autorange&&(n._insideTickLabelsUpdaterange[E._name+\".autorange\"]=E.autorange,b.push(p)),E.insiderange)){var k=p(),A=t._id.charAt(0)===\"y\"?k.labelsMaxW:k.labelsMaxH;A+=2*wL,t.ticklabelposition===\"inside\"&&(A+=t.ticklen||0);var L=t.side===\"right\"||t.side===\"top\"?1:-1,_=L===1?1:0,C=L===1?0:1,M=[];M[C]=E.range[C];var g=E.range,P=E.r2p(g[_]),T=E.r2p(g[C]),F=n._insideTickLabelsUpdaterange[E._name+\".range\"];if(F){var q=E.r2p(F[_]),V=E.r2p(F[C]),H=L*(t._id.charAt(0)===\"y\"?1:-1);H*P<H*q&&(P=q,M[_]=g[_]=F[_]),H*T>H*V&&(T=V,M[C]=g[C]=F[C])}var X=Math.abs(T-P);X-A>0?(X-=A,A*=1+A/X):A=0,t._id.charAt(0)!==\"y\"&&(A=-A),M[_]=E.p2r(E.r2p(g[_])+L*A),E.autorange===\"min\"||E.autorange===\"max reversed\"?(M[0]=null,E._rangeInitial0=void 0,E._rangeInitial1=void 0):(E.autorange===\"max\"||E.autorange===\"min reversed\")&&(M[1]=null,E._rangeInitial0=void 0,E._rangeInitial1=void 0),n._insideTickLabelsUpdaterange[E._name+\".range\"]=M}var G=Vo.syncOrAsync(b);return G&&G.then&&e._promises.push(G),G};function Bot(e,t,r){var n=t._id+\"divider\",i=r.vals,a=r.layer.selectAll(\"path.\"+n).data(i,ML);a.exit().remove(),a.enter().insert(\"path\",\":first-child\").classed(n,1).classed(\"crisp\",1).call(eM.stroke,t.dividercolor).style(\"stroke-width\",Xp.crispRound(e,t.dividerwidth,1)+\"px\"),a.attr(\"transform\",r.transFn).attr(\"d\",r.path)}kn.getPxPosition=function(e,t){var r=e._fullLayout._size,n=t._id.charAt(0),i=t.side,a;if(t.anchor!==\"free\"?a=t._anchorAxis:n===\"x\"?a={_offset:r.t+(1-(t.position||0))*r.h,_length:0}:n===\"y\"&&(a={_offset:r.l+(t.position||0)*r.w+t._shift,_length:0}),i===\"top\"||i===\"left\")return a._offset;if(i===\"bottom\"||i===\"right\")return a._offset+a._length};function fse(e){var t=e.title.font.size,r=(e.title.text.match(Eb.BR_TAG_ALL)||[]).length;return e.title.hasOwnProperty(\"standoff\")?t*(Cb+r*rM):r?t*(r+1)*rM:t}function Not(e,t){var r=e._fullLayout,n=t._id,i=n.charAt(0),a=t.title.font.size,o,s=(t.title.text.match(Eb.BR_TAG_ALL)||[]).length;if(t.title.hasOwnProperty(\"standoff\"))t.side===\"bottom\"||t.side===\"right\"?o=t._depth+t.title.standoff+a*Cb:(t.side===\"top\"||t.side===\"left\")&&(o=t._depth+t.title.standoff+a*($S+s*rM));else{var l=nM(t);if(t.type===\"multicategory\")o=t._depth;else{var u=1.5*a;l&&(u=.5*a,t.ticks===\"outside\"&&(u+=t.ticklen)),o=10+u+(t.linewidth?t.linewidth-1:0)}l||(i===\"x\"?o+=t.side===\"top\"?a*(t.showticklabels?1:0):a*(t.showticklabels?1.5:.5):o+=t.side===\"right\"?a*(t.showticklabels?1:.5):a*(t.showticklabels?.5:0))}var c=kn.getPxPosition(e,t),f,h,d;i===\"x\"?(h=t._offset+t._length/2,d=t.side===\"top\"?c-o:c+o):(d=t._offset+t._length/2,h=t.side===\"right\"?c+o:c-o,f={rotate:\"-90\",offset:0});var v;if(t.type!==\"multicategory\"){var x=t._selections[t._id+\"tick\"];if(v={selection:x,side:t.side},x&&x.node()&&x.node().parentNode){var b=Xp.getTranslate(x.node().parentNode);v.offsetLeft=b.x,v.offsetTop=b.y}t.title.hasOwnProperty(\"standoff\")&&(v.pad=0)}return t._titleStandoff=o,oot.draw(e,n+\"title\",{propContainer:t,propName:t._name+\".title.text\",placeholder:r._dfltTitle[i],avoid:v,transform:f,attributes:{x:h,y:d,\"text-anchor\":\"middle\"}})}kn.shouldShowZeroLine=function(e,t,r){var n=Vo.simpleMap(t.range,t.r2l);return n[0]*n[1]<=0&&t.zeroline&&(t.type===\"linear\"||t.type===\"-\")&&!(t.rangebreaks&&t.maskBreaks(0)===AL)&&(_se(t,0)||!Uot(e,t,r,n)||Vot(e,t))};kn.clipEnds=function(e,t){return t.filter(function(r){return _se(e,r.x)})};function _se(e,t){var r=e.l2p(t);return r>1&&r<e._length-1}function Uot(e,t,r,n){var i=r._mainAxis;if(!i)return;var a=e._fullLayout,o=t._id.charAt(0),s=kn.counterLetter(t._id),l=t._offset+(Math.abs(n[0])<Math.abs(n[1])==(o===\"x\")?0:t._length);function u(v){if(!v.showline||!v.linewidth)return!1;var x=Math.max((v.linewidth+t.zerolinewidth)/2,1);function b(k){return typeof k==\"number\"&&Math.abs(k-l)<x}if(b(v._mainLinePosition)||b(v._mainMirrorPosition))return!0;var p=v._linepositions||{};for(var E in p)if(b(p[E][0])||b(p[E][1]))return!0}var c=a._plots[r._mainSubplot];if(!(c.mainplotinfo||c).overlays.length)return u(r,l);for(var f=kn.list(e,s),h=0;h<f.length;h++){var d=f[h];if(d._mainAxis===i&&u(d,l))return!0}}function Vot(e,t){for(var r=e._fullData,n=t._mainSubplot,i=t._id.charAt(0),a=0;a<r.length;a++){var o=r[a];if(o.visible===!0&&o.xaxis+o.yaxis===n&&(QS.traceIs(o,\"bar-like\")&&o.orientation==={x:\"h\",y:\"v\"}[i]||o.fill&&o.fill.charAt(o.fill.length-1)===i))return!0}return!1}function oB(e){var t=w0.select(e),r=t.select(\".text-math-group\");return r.empty()?t.select(\"text\"):r}kn.allowAutoMargin=function(e){for(var t=kn.list(e,\"\",!0),r=0;r<t.length;r++){var n=t[r];n.automargin&&(P3.allowAutoMargin(e,cB(n)),n.mirror&&P3.allowAutoMargin(e,xse(n))),QS.getComponentMethod(\"rangeslider\",\"isVisible\")(n)&&P3.allowAutoMargin(e,bse(n))}};function cB(e){return e._id+\".automargin\"}function xse(e){return cB(e)+\".mirror\"}function bse(e){return e._id+\".rangeslider\"}kn.swap=function(e,t){for(var r=Hot(e,t),n=0;n<r.length;n++)Got(e,r[n].x,r[n].y)};function Hot(e,t){var r=[],n,i;for(n=0;n<t.length;n++){var a=[],o=e._fullData[t[n]].xaxis,s=e._fullData[t[n]].yaxis;if(!(!o||!s)){for(i=0;i<r.length;i++)(r[i].x.indexOf(o)!==-1||r[i].y.indexOf(s)!==-1)&&a.push(i);if(!a.length){r.push({x:[o],y:[s]});continue}var l=r[a[0]],u;if(a.length>1)for(i=1;i<a.length;i++)u=r[a[i]],gL(l.x,u.x),gL(l.y,u.y);gL(l.x,[o]),gL(l.y,[s])}}return r}function gL(e,t){for(var r=0;r<t.length;r++)e.indexOf(t[r])===-1&&e.push(t[r])}function Got(e,t,r){var n=[],i=[],a=e.layout,o,s;for(o=0;o<t.length;o++)n.push(kn.getFromId(e,t[o]));for(o=0;o<r.length;o++)i.push(kn.getFromId(e,r[o]));var l=Object.keys(sot),u=[\"anchor\",\"domain\",\"overlaying\",\"position\",\"side\",\"tickangle\",\"editType\"],c=[\"linear\",\"log\"];for(o=0;o<l.length;o++){var f=l[o],h=n[0][f],d=i[0][f],v=!0,x=!1,b=!1;if(!(f.charAt(0)===\"_\"||typeof h==\"function\"||u.indexOf(f)!==-1)){for(s=1;s<n.length&&v;s++){var p=n[s][f];f===\"type\"&&c.indexOf(h)!==-1&&c.indexOf(p)!==-1&&h!==p?x=!0:p!==h&&(v=!1)}for(s=1;s<i.length&&v;s++){var E=i[s][f];f===\"type\"&&c.indexOf(d)!==-1&&c.indexOf(E)!==-1&&d!==E?b=!0:i[s][f]!==d&&(v=!1)}v&&(x&&(a[n[0]._name].type=\"linear\"),b&&(a[i[0]._name].type=\"linear\"),jot(a,f,n,i,e._fullLayout._dfltTitle))}}for(o=0;o<e._fullLayout.annotations.length;o++){var k=e._fullLayout.annotations[o];t.indexOf(k.xref)!==-1&&r.indexOf(k.yref)!==-1&&Vo.swapAttrs(a.annotations[o],[\"?\"])}}function jot(e,t,r,n,i){var a=Vo.nestedProperty,o=a(e[r[0]._name],t).get(),s=a(e[n[0]._name],t).get(),l;for(t===\"title\"&&(o&&o.text===i.x&&(o.text=i.y),s&&s.text===i.y&&(s.text=i.x)),l=0;l<r.length;l++)a(e,r[l]._name+\".\"+t).set(s);for(l=0;l<n.length;l++)a(e,n[l]._name+\".\"+t).set(o)}function fB(e){return e._id===\"angularaxis\"}function eB(e,t){for(var r=t._rangebreaks.length,n=0;n<r;n++){var i=t._rangebreaks[n];if(e>=i.min&&e<i.max)return i.max}return e}function nM(e){return(e.ticklabelposition||\"\").indexOf(\"inside\")!==-1}function EL(e,t){nM(e._anchorAxis||{})&&e._hideCounterAxisInsideTickLabels&&e._hideCounterAxisInsideTickLabels(t)}function sB(e,t,r,n){var i=e.anchor!==\"free\"&&(e.overlaying===void 0||e.overlaying===!1)?e._id:e.overlaying,a;n?a=e.side===\"right\"?t:-t:a=t,i in r||(r[i]={}),e.side in r[i]||(r[i][e.side]=0),r[i][e.side]+=a}function Wot(e,t){return e.autoshift?t[e.overlaying][e.side]:e.shift||0}function Zot(e,t){return/%f/.test(t)?e>=hot:/%L/.test(t)?e>=fot:/%[SX]/.test(t)?e>=bL:/%M/.test(t)?e>=tM:/%[HI]/.test(t)?e>=xm:/%p/.test(t)?e>=l_:/%[Aadejuwx]/.test(t)?e>=Fv:/%[UVW]/.test(t)?e>=Yp:/%[Bbm]/.test(t)?e>=xL:/%[q]/.test(t)?e>=_L:/%[Yy]/.test(t)?e>=yL:!0}});var hB=ye((Srr,Tse)=>{\"use strict\";Tse.exports=function(t,r,n){var i,a;if(n){var o=r===\"reversed\"||r===\"min reversed\"||r===\"max reversed\";i=n[o?1:0],a=n[o?0:1]}var s=t(\"autorangeoptions.minallowed\",a===null?i:void 0),l=t(\"autorangeoptions.maxallowed\",i===null?a:void 0);s===void 0&&t(\"autorangeoptions.clipmin\"),l===void 0&&t(\"autorangeoptions.clipmax\"),t(\"autorangeoptions.include\")}});var dB=ye((Mrr,Ase)=>{\"use strict\";var Xot=hB();Ase.exports=function(t,r,n,i){var a=r._template||{},o=r.type||a.type||\"-\";n(\"minallowed\"),n(\"maxallowed\");var s=n(\"range\");if(!s){var l;!i.noInsiderange&&o!==\"log\"&&(l=n(\"insiderange\"),l&&(l[0]===null||l[1]===null)&&(r.insiderange=!1,l=void 0),l&&(s=n(\"range\",l)))}var u=r.getAutorangeDflt(s,i),c=n(\"autorange\",u),f;s&&(s[0]===null&&s[1]===null||(s[0]===null||s[1]===null)&&(c===\"reversed\"||c===!0)||s[0]!==null&&(c===\"min\"||c===\"max reversed\")||s[1]!==null&&(c===\"max\"||c===\"min reversed\"))&&(s=void 0,delete r.range,r.autorange=!0,f=!0),f||(u=r.getAutorangeDflt(s,i),c=n(\"autorange\",u)),c&&(Xot(n,c,s),(o===\"linear\"||o===\"-\")&&n(\"rangemode\")),r.cleanRange()}});var Mse=ye((Err,Sse)=>{var Yot={left:0,top:0};Sse.exports=Kot;function Kot(e,t,r){t=t||e.currentTarget||e.srcElement,Array.isArray(r)||(r=[0,0]);var n=e.clientX||0,i=e.clientY||0,a=Jot(t);return r[0]=n-a.left,r[1]=i-a.top,r}function Jot(e){return e===window||e===document||e===document.body?Yot:e.getBoundingClientRect()}});var kL=ye((krr,Ese)=>{\"use strict\";var $ot=Kq();function Qot(){var e=!1;try{var t=Object.defineProperty({},\"passive\",{get:function(){e=!0}});window.addEventListener(\"test\",null,t),window.removeEventListener(\"test\",null,t)}catch(r){e=!1}return e}Ese.exports=$ot&&Qot()});var Cse=ye((Crr,kse)=>{\"use strict\";kse.exports=function(t,r,n,i,a){var o=(t-n)/(i-n),s=o+r/(i-n),l=(o+s)/2;return a===\"left\"||a===\"bottom\"?o:a===\"center\"||a===\"middle\"?l:a===\"right\"||a===\"top\"?s:o<2/3-l?o:s>4/3-l?s:l}});var Ise=ye((Lrr,Pse)=>{\"use strict\";var Lse=Mr(),est=[[\"sw-resize\",\"s-resize\",\"se-resize\"],[\"w-resize\",\"move\",\"e-resize\"],[\"nw-resize\",\"n-resize\",\"ne-resize\"]];Pse.exports=function(t,r,n,i){return n===\"left\"?t=0:n===\"center\"?t=1:n===\"right\"?t=2:t=Lse.constrain(Math.floor(t*3),0,2),i===\"bottom\"?r=0:i===\"middle\"?r=1:i===\"top\"?r=2:r=Lse.constrain(Math.floor(r*3),0,2),est[r][t]}});var Dse=ye((Prr,Rse)=>{\"use strict\";var tst=g3(),rst=P6(),ist=DS().getGraphDiv,nst=IS(),vB=Rse.exports={};vB.wrapped=function(e,t,r){e=ist(e),e._fullLayout&&rst.clear(e._fullLayout._uid+nst.HOVERID),vB.raw(e,t,r)};vB.raw=function(t,r){var n=t._fullLayout,i=t._hoverdata;r||(r={}),!(r.target&&!t._dragged&&tst.triggerHandler(t,\"plotly_beforehover\",r)===!1)&&(n._hoverlayer.selectAll(\"g\").remove(),n._hoverlayer.selectAll(\"line\").remove(),n._hoverlayer.selectAll(\"circle\").remove(),t._hoverdata=void 0,r.target&&i&&t.emit(\"plotly_unhover\",{event:r,points:i}))}});var gv=ye((Irr,Ose)=>{\"use strict\";var ast=Mse(),pB=$q(),ost=kL(),sst=Mr().removeElement,lst=ad(),Lb=Ose.exports={};Lb.align=Cse();Lb.getCursor=Ise();var Fse=Dse();Lb.unhover=Fse.wrapped;Lb.unhoverRaw=Fse.raw;Lb.init=function(t){var r=t.gd,n=1,i=r._context.doubleClickDelay,a=t.element,o,s,l,u,c,f,h,d;r._mouseDownTime||(r._mouseDownTime=0),a.style.pointerEvents=\"all\",a.onmousedown=b,ost?(a._ontouchstart&&a.removeEventListener(\"touchstart\",a._ontouchstart),a._ontouchstart=b,a.addEventListener(\"touchstart\",b,{passive:!1})):a.ontouchstart=b;function v(k,A,L){return Math.abs(k)<L&&(k=0),Math.abs(A)<L&&(A=0),[k,A]}var x=t.clampFn||v;function b(k){r._dragged=!1,r._dragging=!0;var A=zse(k);o=A[0],s=A[1],h=k.target,f=k,d=k.buttons===2||k.ctrlKey,typeof k.clientX==\"undefined\"&&typeof k.clientY==\"undefined\"&&(k.clientX=o,k.clientY=s),l=new Date().getTime(),l-r._mouseDownTime<i?n+=1:(n=1,r._mouseDownTime=l),t.prepFn&&t.prepFn(k,o,s),pB&&!d?(c=qse(),c.style.cursor=window.getComputedStyle(a).cursor):pB||(c=document,u=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(a).cursor),document.addEventListener(\"mouseup\",E),document.addEventListener(\"touchend\",E),t.dragmode!==!1&&(k.preventDefault(),document.addEventListener(\"mousemove\",p),document.addEventListener(\"touchmove\",p,{passive:!1}))}function p(k){k.preventDefault();var A=zse(k),L=t.minDrag||lst.MINDRAG,_=x(A[0]-o,A[1]-s,L),C=_[0],M=_[1];(C||M)&&(r._dragged=!0,Lb.unhover(r,k)),r._dragged&&t.moveFn&&!d&&(r._dragdata={element:a,dx:C,dy:M},t.moveFn(C,M))}function E(k){if(delete r._dragdata,t.dragmode!==!1&&(k.preventDefault(),document.removeEventListener(\"mousemove\",p),document.removeEventListener(\"touchmove\",p)),document.removeEventListener(\"mouseup\",E),document.removeEventListener(\"touchend\",E),pB?sst(c):u&&(c.documentElement.style.cursor=u,u=null),!r._dragging){r._dragged=!1;return}if(r._dragging=!1,new Date().getTime()-r._mouseDownTime>i&&(n=Math.max(n-1,1)),r._dragged)t.doneFn&&t.doneFn();else{var A;f.target===h?A=f:(A={target:h,srcElement:h,toElement:h},Object.keys(f).concat(Object.keys(f.__proto__)).forEach(L=>{var _=f[L];!A[L]&&typeof _!=\"function\"&&(A[L]=_)})),t.clickFn&&t.clickFn(n,A),d||h.dispatchEvent(new MouseEvent(\"click\",k))}r._dragging=!1,r._dragged=!1}};function qse(){var e=document.createElement(\"div\");e.className=\"dragcover\";var t=e.style;return t.position=\"fixed\",t.left=0,t.right=0,t.top=0,t.bottom=0,t.zIndex=999999999,t.background=\"none\",document.body.appendChild(e),e}Lb.coverSlip=qse;function zse(e){return ast(e.changedTouches?e.changedTouches[0]:e,document.body)}});var Tg=ye((Rrr,Bse)=>{\"use strict\";Bse.exports=function(t,r){(t.attr(\"class\")||\"\").split(\" \").forEach(function(n){n.indexOf(\"cursor-\")===0&&t.classed(n,!1)}),r&&t.classed(\"cursor-\"+r,!0)}});var Vse=ye((Drr,Use)=>{\"use strict\";var gB=Tg(),aM=\"data-savedcursor\",Nse=\"!!\";Use.exports=function(t,r){var n=t.attr(aM);if(r){if(!n){for(var i=(t.attr(\"class\")||\"\").split(\" \"),a=0;a<i.length;a++){var o=i[a];o.indexOf(\"cursor-\")===0&&t.attr(aM,o.substr(7)).classed(o,!1)}t.attr(aM)||t.attr(aM,Nse)}gB(t,r)}else n&&(t.attr(aM,null),n===Nse?gB(t):gB(t,n))}});var yB=ye((zrr,Hse)=>{\"use strict\";var mB=Su(),ust=dh();Hse.exports={_isSubplotObj:!0,visible:{valType:\"boolean\",dflt:!0,editType:\"legend\"},bgcolor:{valType:\"color\",editType:\"legend\"},bordercolor:{valType:\"color\",dflt:ust.defaultLine,editType:\"legend\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"legend\"},font:mB({editType:\"legend\"}),grouptitlefont:mB({editType:\"legend\"}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"v\",editType:\"legend\"},traceorder:{valType:\"flaglist\",flags:[\"reversed\",\"grouped\"],extras:[\"normal\"],editType:\"legend\"},tracegroupgap:{valType:\"number\",min:0,dflt:10,editType:\"legend\"},entrywidth:{valType:\"number\",min:0,editType:\"legend\"},entrywidthmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"pixels\",editType:\"legend\"},indentation:{valType:\"number\",min:-15,dflt:0,editType:\"legend\"},itemsizing:{valType:\"enumerated\",values:[\"trace\",\"constant\"],dflt:\"trace\",editType:\"legend\"},itemwidth:{valType:\"number\",min:30,dflt:30,editType:\"legend\"},itemclick:{valType:\"enumerated\",values:[\"toggle\",\"toggleothers\",!1],dflt:\"toggle\",editType:\"legend\"},itemdoubleclick:{valType:\"enumerated\",values:[\"toggle\",\"toggleothers\",!1],dflt:\"toggleothers\",editType:\"legend\"},groupclick:{valType:\"enumerated\",values:[\"toggleitem\",\"togglegroup\"],dflt:\"togglegroup\",editType:\"legend\"},x:{valType:\"number\",editType:\"legend\"},xref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"legend\"},y:{valType:\"number\",editType:\"legend\"},yref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],editType:\"legend\"},uirevision:{valType:\"any\",editType:\"none\"},valign:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\",editType:\"legend\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"legend\"},font:mB({editType:\"legend\"}),side:{valType:\"enumerated\",values:[\"top\",\"left\",\"top left\",\"top center\",\"top right\"],editType:\"legend\"},editType:\"legend\"},editType:\"legend\"}});var LL=ye(CL=>{\"use strict\";CL.isGrouped=function(t){return(t.traceorder||\"\").indexOf(\"grouped\")!==-1};CL.isVertical=function(t){return t.orientation!==\"h\"};CL.isReversed=function(t){return(t.traceorder||\"\").indexOf(\"reversed\")!==-1}});var bB=ye((qrr,Gse)=>{\"use strict\";var _B=ba(),Kp=Mr(),cst=Vs(),fst=vl(),hst=yB(),dst=s3(),xB=LL();function vst(e,t,r,n){var i=t[e]||{},a=cst.newContainer(r,e);function o(G,N){return Kp.coerce(i,a,hst,G,N)}var s=Kp.coerceFont(o,\"font\",r.font);o(\"bgcolor\",r.paper_bgcolor),o(\"bordercolor\");var l=o(\"visible\");if(l){for(var u,c=function(G,N){var W=u._input,re=u;return Kp.coerce(W,re,fst,G,N)},f=r.font||{},h=Kp.coerceFont(o,\"grouptitlefont\",f,{overrideDflt:{size:Math.round(f.size*1.1)}}),d=0,v=!1,x=\"normal\",b=(r.shapes||[]).filter(function(G){return G.showlegend}),p=n.concat(b).filter(function(G){return e===(G.legend||\"legend\")}),E=0;E<p.length;E++)if(u=p[E],!!u.visible){var k=u._isShape;(u.showlegend||u._dfltShowLegend&&!(u._module&&u._module.attributes&&u._module.attributes.showlegend&&u._module.attributes.showlegend.dflt===!1))&&(d++,u.showlegend&&(v=!0,(!k&&_B.traceIs(u,\"pie-like\")||u._input.showlegend===!0)&&d++),Kp.coerceFont(c,\"legendgrouptitle.font\",h)),(!k&&_B.traceIs(u,\"bar\")&&r.barmode===\"stack\"||[\"tonextx\",\"tonexty\"].indexOf(u.fill)!==-1)&&(x=xB.isGrouped({traceorder:x})?\"grouped+reversed\":\"reversed\"),u.legendgroup!==void 0&&u.legendgroup!==\"\"&&(x=xB.isReversed({traceorder:x})?\"reversed+grouped\":\"grouped\")}var A=Kp.coerce(t,r,dst,\"showlegend\",v&&d>(e===\"legend\"?1:0));if(A===!1&&(r[e]=void 0),!(A===!1&&!i.uirevision)&&(o(\"uirevision\",r.uirevision),A!==!1)){o(\"borderwidth\");var L=o(\"orientation\"),_=o(\"yref\"),C=o(\"xref\"),M=L===\"h\",g=_===\"paper\",P=C===\"paper\",T,F,q,V=\"left\";M?(T=0,_B.getComponentMethod(\"rangeslider\",\"isVisible\")(t.xaxis)?g?(F=1.1,q=\"bottom\"):(F=1,q=\"top\"):g?(F=-.1,q=\"top\"):(F=0,q=\"bottom\")):(F=1,q=\"auto\",P?T=1.02:(T=1,V=\"right\")),Kp.coerce(i,a,{x:{valType:\"number\",editType:\"legend\",min:P?-2:0,max:P?3:1,dflt:T}},\"x\"),Kp.coerce(i,a,{y:{valType:\"number\",editType:\"legend\",min:g?-2:0,max:g?3:1,dflt:F}},\"y\"),o(\"traceorder\",x),xB.isGrouped(r[e])&&o(\"tracegroupgap\"),o(\"entrywidth\"),o(\"entrywidthmode\"),o(\"indentation\"),o(\"itemsizing\"),o(\"itemwidth\"),o(\"itemclick\"),o(\"itemdoubleclick\"),o(\"groupclick\"),o(\"xanchor\",V),o(\"yanchor\",q),o(\"valign\"),Kp.noneOrAll(i,a,[\"x\",\"y\"]);var H=o(\"title.text\");if(H){o(\"title.side\",M?\"left\":\"top\");var X=Kp.extendFlat({},s,{size:Kp.bigFont(s.size)});Kp.coerceFont(o,\"title.font\",X)}}}}Gse.exports=function(t,r,n){var i,a=n.slice(),o=r.shapes;if(o)for(i=0;i<o.length;i++){var s=o[i];if(s.showlegend){var l={_input:s._input,visible:s.visible,showlegend:s.showlegend,legend:s.legend};a.push(l)}}var u=[\"legend\"];for(i=0;i<a.length;i++)Kp.pushUnique(u,a[i].legend);for(r._legends=[],i=0;i<u.length;i++){var c=u[i];vst(c,t,r,a),r[c]&&r[c].visible&&(r[c]._id=c),r._legends.push(c)}}});var Wse=ye((Orr,jse)=>{\"use strict\";var D3=ba(),TB=Mr(),pst=TB.pushUnique,wB=!0;jse.exports=function(t,r,n){var i=r._fullLayout;if(r._dragged||r._editing)return;var a=i.legend.itemclick,o=i.legend.itemdoubleclick,s=i.legend.groupclick;n===1&&a===\"toggle\"&&o===\"toggleothers\"&&wB&&r.data&&r._context.showTips&&TB.notifier(TB._(r,\"Double-click on legend to isolate one trace\"),\"long\"),wB=!1;var l;if(n===1?l=a:n===2&&(l=o),!l)return;var u=s===\"togglegroup\",c=i.hiddenlabels?i.hiddenlabels.slice():[],f=t.data()[0][0];if(f.groupTitle&&f.noClick)return;var h=r._fullData,d=(i.shapes||[]).filter(function(Rt){return Rt.showlegend}),v=h.concat(d),x=f.trace;x._isShape&&(x=x._fullInput);var b=x.legendgroup,p,E,k,A,L,_,C={},M=[],g=[],P=[];function T(Rt,kt){var Ct=M.indexOf(Rt),Yt=C.visible;return Yt||(Yt=C.visible=[]),M.indexOf(Rt)===-1&&(M.push(Rt),Ct=M.length-1),Yt[Ct]=kt,Ct}var F=(i.shapes||[]).map(function(Rt){return Rt._input}),q=!1;function V(Rt,kt){F[Rt].visible=kt,q=!0}function H(Rt,kt){if(!(f.groupTitle&&!u)){var Ct=Rt._fullInput||Rt,Yt=Ct._isShape,xr=Ct.index;xr===void 0&&(xr=Ct._index);var er=Ct.visible===!1?!1:kt;Yt?V(xr,er):T(xr,er)}}var X=x.legend,G=x._fullInput,N=G&&G._isShape;if(!N&&D3.traceIs(x,\"pie-like\")){var W=f.label,re=c.indexOf(W);if(l===\"toggle\")re===-1?c.push(W):c.splice(re,1);else if(l===\"toggleothers\"){var ae=re!==-1,_e=[];for(p=0;p<r.calcdata.length;p++){var Me=r.calcdata[p];for(E=0;E<Me.length;E++){var ke=Me[E],ge=ke.label;X===Me[0].trace.legend&&W!==ge&&(c.indexOf(ge)===-1&&(ae=!0),pst(c,ge),_e.push(ge))}}if(!ae)for(var ie=0;ie<_e.length;ie++){var Te=c.indexOf(_e[ie]);Te!==-1&&c.splice(Te,1)}}D3.call(\"_guiRelayout\",r,\"hiddenlabels\",c)}else{var Ee=b&&b.length,Ae=[],ze;if(Ee)for(p=0;p<v.length;p++)ze=v[p],ze.visible&&ze.legendgroup===b&&Ae.push(p);if(l===\"toggle\"){var Ce;switch(x.visible){case!0:Ce=\"legendonly\";break;case!1:Ce=!1;break;case\"legendonly\":Ce=!0;break}if(Ee)if(u)for(p=0;p<v.length;p++){var me=v[p];me.visible!==!1&&me.legendgroup===b&&H(me,Ce)}else H(x,Ce);else H(x,Ce)}else if(l===\"toggleothers\"){var Re,ce,Ge,nt,ct,qt=!0;for(p=0;p<v.length;p++)if(ct=v[p],Re=ct===x,Ge=ct.showlegend!==!0,!(Re||Ge)&&(ce=Ee&&ct.legendgroup===b,!ce&&ct.legend===X&&ct.visible===!0&&!D3.traceIs(ct,\"notLegendIsolatable\"))){qt=!1;break}for(p=0;p<v.length;p++)if(ct=v[p],!(ct.visible===!1||ct.legend!==X)&&!D3.traceIs(ct,\"notLegendIsolatable\"))switch(x.visible){case\"legendonly\":H(ct,!0);break;case!0:nt=qt?!0:\"legendonly\",Re=ct===x,Ge=ct.showlegend!==!0&&!ct.legendgroup,ce=Re||Ee&&ct.legendgroup===b,H(ct,ce||Ge?!0:nt);break}}for(p=0;p<g.length;p++)if(k=g[p],!!k){var rt=k.constructUpdate(),ot=Object.keys(rt);for(E=0;E<ot.length;E++)A=ot[E],_=C[A]=C[A]||[],_[P[p]]=rt[A]}for(L=Object.keys(C),p=0;p<L.length;p++)for(A=L[p],E=0;E<M.length;E++)C[A].hasOwnProperty(E)||(C[A][E]=void 0);q?D3.call(\"_guiUpdate\",r,C,{shapes:F},M):D3.call(\"_guiRestyle\",r,C,M)}}});var AB=ye((Brr,Zse)=>{\"use strict\";Zse.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:\"#808BA4\",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},titlePad:2,itemGap:5}});var Kse=ye((Nrr,Yse)=>{\"use strict\";var Xse=ba(),SB=LL();Yse.exports=function(t,r,n){var i=r._inHover,a=SB.isGrouped(r),o=SB.isReversed(r),s={},l=[],u=!1,c={},f=0,h=0,d,v;function x(G,N,W){if(r.visible!==!1&&!(n&&G!==r._id))if(N===\"\"||!SB.isGrouped(r)){var re=\"~~i\"+f;l.push(re),s[re]=[W],f++}else l.indexOf(N)===-1?(l.push(N),u=!0,s[N]=[W]):s[N].push(W)}for(d=0;d<t.length;d++){var b=t[d],p=b[0],E=p.trace,k=E.legend,A=E.legendgroup;if(!(!i&&(!E.visible||!E.showlegend)))if(Xse.traceIs(E,\"pie-like\"))for(c[A]||(c[A]={}),v=0;v<b.length;v++){var L=b[v].label;c[A][L]||(x(k,A,{label:L,color:b[v].color,i:b[v].i,trace:E,pts:b[v].pts}),c[A][L]=!0,h=Math.max(h,(L||\"\").length))}else x(k,A,p),h=Math.max(h,(E.name||\"\").length)}if(!l.length)return[];var _=!u||!a,C=[];for(d=0;d<l.length;d++){var M=s[l[d]];_?C.push(M[0]):C.push(M)}for(_&&(C=[C]),d=0;d<C.length;d++){var g=1/0;for(v=0;v<C[d].length;v++){var P=C[d][v].trace.legendrank;g>P&&(g=P)}C[d][0]._groupMinRank=g,C[d][0]._preGroupSort=d}var T=function(G,N){return G[0]._groupMinRank-N[0]._groupMinRank||G[0]._preGroupSort-N[0]._preGroupSort},F=function(G,N){return G.trace.legendrank-N.trace.legendrank||G._preSort-N._preSort};for(C.forEach(function(G,N){G[0]._preGroupSort=N}),C.sort(T),d=0;d<C.length;d++){C[d].forEach(function(G,N){G._preSort=N}),C[d].sort(F);var q=C[d][0].trace,V=null;for(v=0;v<C[d].length;v++){var H=C[d][v].trace.legendgrouptitle;if(H&&H.text){V=H,i&&(H.font=r._groupTitleFont);break}}if(o&&C[d].reverse(),V){var X=!1;for(v=0;v<C[d].length;v++)if(Xse.traceIs(C[d][v].trace,\"pie-like\")){X=!0;break}C[d].unshift({i:-1,groupTitle:V,noClick:X,trace:{showlegend:q.showlegend,legendgroup:q.legendgroup,visible:r.groupclick===\"toggleitem\"?!0:q.visible}})}for(v=0;v<C[d].length;v++)C[d][v]=[C[d][v]]}return r._lgroupsLength=C.length,r._maxNameLength=h,C}});var u_=ye(Pb=>{\"use strict\";var PL=Mr();function Jse(e){return e.indexOf(\"e\")!==-1?e.replace(/[.]?0+e/,\"e\"):e.indexOf(\".\")!==-1?e.replace(/[.]?0+$/,\"\"):e}Pb.formatPiePercent=function(t,r){var n=Jse((t*100).toPrecision(3));return PL.numSeparate(n,r)+\"%\"};Pb.formatPieValue=function(t,r){var n=Jse(t.toPrecision(10));return PL.numSeparate(n,r)};Pb.getFirstFilled=function(t,r){if(PL.isArrayOrTypedArray(t))for(var n=0;n<r.length;n++){var i=t[r[n]];if(i||i===0||i===\"\")return i}};Pb.castOption=function(t,r){if(PL.isArrayOrTypedArray(t))return Pb.getFirstFilled(t,r);if(t)return t};Pb.getRotationAngle=function(e){return(e===\"auto\"?0:e)*Math.PI/180}});var Qse=ye((Vrr,$se)=>{\"use strict\";var gst=ao(),mst=va();$se.exports=function(t,r,n,i){var a=n.marker.pattern;a&&a.shape?gst.pointStyle(t,n,i,r):mst.fill(t,r.color)}});var z3=ye((Hrr,rle)=>{\"use strict\";var ele=va(),tle=u_().castOption,yst=Qse();rle.exports=function(t,r,n,i){var a=n.marker.line,o=tle(a.color,r.pts)||ele.defaultLine,s=tle(a.width,r.pts)||0;t.call(yst,r,n,i).style(\"stroke-width\",s).call(ele.stroke,o)}});var CB=ye((Grr,lle)=>{\"use strict\";var qv=xa(),MB=ba(),mv=Mr(),ile=mv.strTranslate,ip=ao(),T0=va(),EB=Dv().extractOpts,IL=lu(),_st=z3(),xst=u_().castOption,bst=AB(),nle=12,ale=5,Ib=2,wst=10,F3=5;lle.exports=function(t,r,n){var i=r._fullLayout;n||(n=i.legend);var a=n.itemsizing===\"constant\",o=n.itemwidth,s=(o+bst.itemGap*2)/2,l=ile(s,0),u=function(C,M,g,P){var T;if(C+1)T=C;else if(M&&M.width>0)T=M.width;else return 0;return a?P:Math.min(T,g)};t.each(function(C){var M=qv.select(this),g=mv.ensureSingle(M,\"g\",\"layers\");g.style(\"opacity\",C[0].trace.opacity);var P=n.indentation,T=n.valign,F=C[0].lineHeight,q=C[0].height;if(T===\"middle\"&&P===0||!F||!q)g.attr(\"transform\",null);else{var V={top:1,bottom:-1}[T],H=V*(.5*(F-q+3))||0,X=n.indentation;g.attr(\"transform\",ile(X,H))}var G=g.selectAll(\"g.legendfill\").data([C]);G.enter().append(\"g\").classed(\"legendfill\",!0);var N=g.selectAll(\"g.legendlines\").data([C]);N.enter().append(\"g\").classed(\"legendlines\",!0);var W=g.selectAll(\"g.legendsymbols\").data([C]);W.enter().append(\"g\").classed(\"legendsymbols\",!0),W.selectAll(\"g.legendpoints\").data([C]).enter().append(\"g\").classed(\"legendpoints\",!0)}).each(_).each(h).each(v).each(d).each(b).each(A).each(k).each(c).each(f).each(p).each(E);function c(C){var M=ole(C),g=M.showFill,P=M.showLine,T=M.showGradientLine,F=M.showGradientFill,q=M.anyFill,V=M.anyLine,H=C[0],X=H.trace,G,N,W=EB(X),re=W.colorscale,ae=W.reversescale,_e=function(Ae){if(Ae.size())if(g)ip.fillGroupStyle(Ae,r,!0);else{var ze=\"legendfill-\"+X.uid;ip.gradient(Ae,r,ze,kB(ae),re,\"fill\")}},Me=function(Ae){if(Ae.size()){var ze=\"legendline-\"+X.uid;ip.lineGroupStyle(Ae),ip.gradient(Ae,r,ze,kB(ae),re,\"stroke\")}},ke=IL.hasMarkers(X)||!q?\"M5,0\":V?\"M5,-2\":\"M5,-3\",ge=qv.select(this),ie=ge.select(\".legendfill\").selectAll(\"path\").data(g||F?[C]:[]);if(ie.enter().append(\"path\").classed(\"js-fill\",!0),ie.exit().remove(),ie.attr(\"d\",ke+\"h\"+o+\"v6h-\"+o+\"z\").call(_e),P||T){var Te=u(void 0,X.line,wst,ale);N=mv.minExtend(X,{line:{width:Te}}),G=[mv.minExtend(H,{trace:N})]}var Ee=ge.select(\".legendlines\").selectAll(\"path\").data(P||T?[G]:[]);Ee.enter().append(\"path\").classed(\"js-line\",!0),Ee.exit().remove(),Ee.attr(\"d\",ke+(T?\"l\"+o+\",0.0001\":\"h\"+o)).call(P?ip.lineGroupStyle:Me)}function f(C){var M=ole(C),g=M.anyFill,P=M.anyLine,T=M.showLine,F=M.showMarker,q=C[0],V=q.trace,H=!F&&!P&&!g&&IL.hasText(V),X,G;function N(ie,Te,Ee,Ae){var ze=mv.nestedProperty(V,ie).get(),Ce=mv.isArrayOrTypedArray(ze)&&Te?Te(ze):ze;if(a&&Ce&&Ae!==void 0&&(Ce=Ae),Ee){if(Ce<Ee[0])return Ee[0];if(Ce>Ee[1])return Ee[1]}return Ce}function W(ie){return q._distinct&&q.index&&ie[q.index]?ie[q.index]:ie[0]}if(F||H||T){var re={},ae={};if(F){re.mc=N(\"marker.color\",W),re.mx=N(\"marker.symbol\",W),re.mo=N(\"marker.opacity\",mv.mean,[.2,1]),re.mlc=N(\"marker.line.color\",W),re.mlw=N(\"marker.line.width\",mv.mean,[0,5],Ib),ae.marker={sizeref:1,sizemin:1,sizemode:\"diameter\"};var _e=N(\"marker.size\",mv.mean,[2,16],nle);re.ms=_e,ae.marker.size=_e}T&&(ae.line={width:N(\"line.width\",W,[0,10],ale)}),H&&(re.tx=\"Aa\",re.tp=N(\"textposition\",W),re.ts=10,re.tc=N(\"textfont.color\",W),re.tf=N(\"textfont.family\",W),re.tw=N(\"textfont.weight\",W),re.ty=N(\"textfont.style\",W),re.tv=N(\"textfont.variant\",W),re.tC=N(\"textfont.textcase\",W),re.tE=N(\"textfont.lineposition\",W),re.tS=N(\"textfont.shadow\",W)),X=[mv.minExtend(q,re)],G=mv.minExtend(V,ae),G.selectedpoints=null,G.texttemplate=null}var Me=qv.select(this).select(\"g.legendpoints\"),ke=Me.selectAll(\"path.scatterpts\").data(F?X:[]);ke.enter().insert(\"path\",\":first-child\").classed(\"scatterpts\",!0).attr(\"transform\",l),ke.exit().remove(),ke.call(ip.pointStyle,G,r),F&&(X[0].mrc=3);var ge=Me.selectAll(\"g.pointtext\").data(H?X:[]);ge.enter().append(\"g\").classed(\"pointtext\",!0).append(\"text\").attr(\"transform\",l),ge.exit().remove(),ge.selectAll(\"text\").call(ip.textPointStyle,G,r)}function h(C){var M=C[0].trace,g=M.type===\"waterfall\";if(C[0]._distinct&&g){var P=C[0].trace[C[0].dir].marker;return C[0].mc=P.color,C[0].mlw=P.line.width,C[0].mlc=P.line.color,x(C,this,\"waterfall\")}var T=[];M.visible&&g&&(T=C[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 F=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendwaterfall\").data(T);F.enter().append(\"path\").classed(\"legendwaterfall\",!0).attr(\"transform\",l).style(\"stroke-miterlimit\",1),F.exit().remove(),F.each(function(q){var V=qv.select(this),H=M[q[0]].marker,X=u(void 0,H.line,F3,Ib);V.attr(\"d\",q[1]).style(\"stroke-width\",X+\"px\").call(T0.fill,H.color),X&&V.call(T0.stroke,H.line.color)})}function d(C){x(C,this)}function v(C){x(C,this,\"funnel\")}function x(C,M,g){var P=C[0].trace,T=P.marker||{},F=T.line||{},q=T.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\",V=g?P.visible&&P.type===g:MB.traceIs(P,\"bar\"),H=qv.select(M).select(\"g.legendpoints\").selectAll(\"path.legend\"+g).data(V?[C]:[]);H.enter().append(\"path\").classed(\"legend\"+g,!0).attr(\"d\",q).attr(\"transform\",l),H.exit().remove(),H.each(function(X){var G=qv.select(this),N=X[0],W=u(N.mlw,T.line,F3,Ib);G.style(\"stroke-width\",W+\"px\");var re=N.mcc;if(!n._inHover&&\"mc\"in N){var ae=EB(T),_e=ae.mid;_e===void 0&&(_e=(ae.max+ae.min)/2),re=ip.tryColorscale(T,\"\")(_e)}var Me=re||N.mc||T.color,ke=T.pattern,ge=ke&&ip.getPatternAttr(ke.shape,0,\"\");if(ge){var ie=ip.getPatternAttr(ke.bgcolor,0,null),Te=ip.getPatternAttr(ke.fgcolor,0,null),Ee=ke.fgopacity,Ae=sle(ke.size,8,10),ze=sle(ke.solidity,.5,1),Ce=\"legend-\"+P.uid;G.call(ip.pattern,\"legend\",r,Ce,ge,Ae,ze,re,ke.fillmode,ie,Te,Ee)}else G.call(T0.fill,Me);W&&T0.stroke(G,N.mlc||F.color)})}function b(C){var M=C[0].trace,g=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbox\").data(M.visible&&MB.traceIs(M,\"box-violin\")?[C]:[]);g.enter().append(\"path\").classed(\"legendbox\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",l),g.exit().remove(),g.each(function(){var P=qv.select(this);if((M.boxpoints===\"all\"||M.points===\"all\")&&T0.opacity(M.fillcolor)===0&&T0.opacity((M.line||{}).color)===0){var T=mv.minExtend(M,{marker:{size:a?nle:mv.constrain(M.marker.size,2,16),sizeref:1,sizemin:1,sizemode:\"diameter\"}});g.call(ip.pointStyle,T,r)}else{var F=u(void 0,M.line,F3,Ib);P.style(\"stroke-width\",F+\"px\").call(T0.fill,M.fillcolor),F&&T0.stroke(P,M.line.color)}})}function p(C){var M=C[0].trace,g=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendcandle\").data(M.visible&&M.type===\"candlestick\"?[C,C]:[]);g.enter().append(\"path\").classed(\"legendcandle\",!0).attr(\"d\",function(P,T){return T?\"M-15,0H-8M-8,6V-6H8Z\":\"M15,0H8M8,-6V6H-8Z\"}).attr(\"transform\",l).style(\"stroke-miterlimit\",1),g.exit().remove(),g.each(function(P,T){var F=qv.select(this),q=M[T?\"increasing\":\"decreasing\"],V=u(void 0,q.line,F3,Ib);F.style(\"stroke-width\",V+\"px\").call(T0.fill,q.fillcolor),V&&T0.stroke(F,q.line.color)})}function E(C){var M=C[0].trace,g=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendohlc\").data(M.visible&&M.type===\"ohlc\"?[C,C]:[]);g.enter().append(\"path\").classed(\"legendohlc\",!0).attr(\"d\",function(P,T){return T?\"M-15,0H0M-8,-6V0\":\"M15,0H0M8,6V0\"}).attr(\"transform\",l).style(\"stroke-miterlimit\",1),g.exit().remove(),g.each(function(P,T){var F=qv.select(this),q=M[T?\"increasing\":\"decreasing\"],V=u(void 0,q.line,F3,Ib);F.style(\"fill\",\"none\").call(ip.dashLine,q.line.dash,V),V&&T0.stroke(F,q.line.color)})}function k(C){L(C,this,\"pie\")}function A(C){L(C,this,\"funnelarea\")}function L(C,M,g){var P=C[0],T=P.trace,F=g?T.visible&&T.type===g:MB.traceIs(T,g),q=qv.select(M).select(\"g.legendpoints\").selectAll(\"path.legend\"+g).data(F?[C]:[]);if(q.enter().append(\"path\").classed(\"legend\"+g,!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",l),q.exit().remove(),q.size()){var V=T.marker||{},H=u(xst(V.line.width,P.pts),V.line,F3,Ib),X=\"pieLike\",G=mv.minExtend(T,{marker:{line:{width:H}}},X),N=mv.minExtend(P,{trace:G},X);_st(q,N,G,r)}}function _(C){var M=C[0].trace,g,P=[];if(M.visible)switch(M.type){case\"histogram2d\":case\"heatmap\":P=[[\"M-15,-2V4H15V-2Z\"]],g=!0;break;case\"choropleth\":case\"choroplethmapbox\":case\"choroplethmap\":P=[[\"M-6,-6V6H6V-6Z\"]],g=!0;break;case\"densitymapbox\":case\"densitymap\":P=[[\"M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0\"]],g=\"radial\";break;case\"cone\":P=[[\"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\"]],g=!1;break;case\"streamtube\":P=[[\"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\"]],g=!1;break;case\"surface\":P=[[\"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\"]],g=!0;break;case\"mesh3d\":P=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],g=!1;break;case\"volume\":P=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],g=!0;break;case\"isosurface\":P=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6 A12,24 0 0,0 6,-6 L0,6Z\"]],g=!1;break}var T=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legend3dandfriends\").data(P);T.enter().append(\"path\").classed(\"legend3dandfriends\",!0).attr(\"transform\",l).style(\"stroke-miterlimit\",1),T.exit().remove(),T.each(function(F,q){var V=qv.select(this),H=EB(M),X=H.colorscale,G=H.reversescale,N=function(_e){if(_e.size()){var Me=\"legendfill-\"+M.uid;ip.gradient(_e,r,Me,kB(G,g===\"radial\"),X,\"fill\")}},W;if(X){if(!g){var ae=X.length;W=q===0?X[G?ae-1:0][1]:q===1?X[G?0:ae-1][1]:X[Math.floor((ae-1)/2)][1]}}else{var re=M.vertexcolor||M.facecolor||M.color;W=mv.isArrayOrTypedArray(re)?re[q]||re[0]:re}V.attr(\"d\",F[0]),W?V.call(T0.fill,W):V.call(N)})}};function kB(e,t){var r=t?\"radial\":\"horizontal\";return r+(e?\"\":\"reversed\")}function ole(e){var t=e[0].trace,r=t.contours,n=IL.hasLines(t),i=IL.hasMarkers(t),a=t.visible&&t.fill&&t.fill!==\"none\",o=!1,s=!1;if(r){var l=r.coloring;l===\"lines\"?o=!0:n=l===\"none\"||l===\"heatmap\"||r.showlines,r.type===\"constraint\"?a=r._operation!==\"=\":(l===\"fill\"||l===\"heatmap\")&&(s=!0)}return{showMarker:i,showLine:n,showFill:a,showGradientLine:o,showGradientFill:s,anyLine:n||o,anyFill:a||s}}function sle(e,t,r){return e&&mv.isArrayOrTypedArray(e)?t:e>r?r:e}});var RB=ye((jrr,yle)=>{\"use strict\";var Sp=xa(),gh=Mr(),PB=Xu(),B3=ba(),ule=g3(),LB=gv(),mh=ao(),DL=va(),Rb=Pl(),cle=Wse(),Vh=AB(),IB=Nh(),gle=IB.LINE_SPACING,O3=IB.FROM_TL,fle=IB.FROM_BR,hle=Kse(),Tst=CB(),dle=LL(),q3=1,Ast=/^legend[0-9]*$/;yle.exports=function(t,r){if(r)vle(t,r);else{var n=t._fullLayout,i=n._legends,a=n._infolayer.selectAll('[class^=\"legend\"]');a.each(function(){var u=Sp.select(this),c=u.attr(\"class\"),f=c.split(\" \")[0];f.match(Ast)&&i.indexOf(f)===-1&&u.remove()});for(var o=0;o<i.length;o++){var s=i[o],l=t._fullLayout[s];vle(t,l)}}};function Sst(e,t,r){if(!(t.title.side!==\"top center\"&&t.title.side!==\"top right\")){var n=t.title.font,i=n.size*gle,a=0,o=e.node(),s=mh.bBox(o).width;t.title.side===\"top center\"?a=.5*(t._width-2*r-2*Vh.titlePad-s):t.title.side===\"top right\"&&(a=t._width-2*r-2*Vh.titlePad-s),Rb.positionText(e,r+Vh.titlePad+a,r+i)}}function vle(e,t){var r=t||{},n=e._fullLayout,i=OL(r),a,o,s=r._inHover;if(s?(o=r.layer,a=\"hover\"):(o=n._infolayer,a=i),!!o){a+=n._uid,e._legendMouseDownTime||(e._legendMouseDownTime=0);var l;if(s){if(!r.entries)return;l=hle(r.entries,r)}else{for(var u=(e.calcdata||[]).slice(),c=n.shapes,f=0;f<c.length;f++){var h=c[f];if(h.showlegend){var d={_isShape:!0,_fullInput:h,index:h._index,name:h.name||h.label.text||\"shape \"+h._index,legend:h.legend,legendgroup:h.legendgroup,legendgrouptitle:h.legendgrouptitle,legendrank:h.legendrank,legendwidth:h.legendwidth,showlegend:h.showlegend,visible:h.visible,opacity:h.opacity,mode:h.type===\"line\"?\"lines\":\"markers\",line:h.line,marker:{line:h.line,color:h.fillcolor,size:12,symbol:h.type===\"rect\"?\"square\":h.type===\"circle\"?\"circle\":\"hexagon2\"}};u.push([{trace:d}])}}l=n.showlegend&&hle(u,r,n._legends.length>1)}var v=n.hiddenlabels||[];if(!s&&(!n.showlegend||!l.length))return o.selectAll(\".\"+i).remove(),n._topdefs.select(\"#\"+a).remove(),PB.autoMargin(e,i);var x=gh.ensureSingle(o,\"g\",i,function(M){s||M.attr(\"pointer-events\",\"all\")}),b=gh.ensureSingleById(n._topdefs,\"clipPath\",a,function(M){M.append(\"rect\")}),p=gh.ensureSingle(x,\"rect\",\"bg\",function(M){M.attr(\"shape-rendering\",\"crispEdges\")});p.call(DL.stroke,r.bordercolor).call(DL.fill,r.bgcolor).style(\"stroke-width\",r.borderwidth+\"px\");var E=gh.ensureSingle(x,\"g\",\"scrollbox\"),k=r.title;r._titleWidth=0,r._titleHeight=0;var A;k.text?(A=gh.ensureSingle(E,\"text\",i+\"titletext\"),A.attr(\"text-anchor\",\"start\").call(mh.font,k.font).text(k.text),zL(A,E,e,r,q3)):E.selectAll(\".\"+i+\"titletext\").remove();var L=gh.ensureSingle(x,\"rect\",\"scrollbar\",function(M){M.attr(Vh.scrollBarEnterAttrs).call(DL.fill,Vh.scrollBarColor)}),_=E.selectAll(\"g.groups\").data(l);_.enter().append(\"g\").attr(\"class\",\"groups\"),_.exit().remove();var C=_.selectAll(\"g.traces\").data(gh.identity);C.enter().append(\"g\").attr(\"class\",\"traces\"),C.exit().remove(),C.style(\"opacity\",function(M){var g=M[0].trace;return B3.traceIs(g,\"pie-like\")?v.indexOf(M[0].label)!==-1?.5:1:g.visible===\"legendonly\"?.5:1}).each(function(){Sp.select(this).call(Mst,e,r)}).call(Tst,e,r).each(function(){s||Sp.select(this).call(Est,e,i)}),gh.syncOrAsync([PB.previousPromises,function(){return Lst(e,_,C,r)},function(){var M=n._size,g=r.borderwidth,P=r.xref===\"paper\",T=r.yref===\"paper\";if(k.text&&Sst(A,r,g),!s){var F,q;P?F=M.l+M.w*r.x-O3[FL(r)]*r._width:F=n.width*r.x-O3[FL(r)]*r._width,T?q=M.t+M.h*(1-r.y)-O3[qL(r)]*r._effHeight:q=n.height*(1-r.y)-O3[qL(r)]*r._effHeight;var V=Pst(e,i,F,q);if(V)return;if(n.margin.autoexpand){var H=F,X=q;F=P?gh.constrain(F,0,n.width-r._width):H,q=T?gh.constrain(q,0,n.height-r._effHeight):X,F!==H&&gh.log(\"Constrain \"+i+\".x to make legend fit inside graph\"),q!==X&&gh.log(\"Constrain \"+i+\".y to make legend fit inside graph\")}mh.setTranslate(x,F,q)}if(L.on(\".drag\",null),x.on(\"wheel\",null),s||r._height<=r._maxHeight||e._context.staticPlot){var G=r._effHeight;s&&(G=r._height),p.attr({width:r._width-g,height:G-g,x:g/2,y:g/2}),mh.setTranslate(E,0,0),b.select(\"rect\").attr({width:r._width-2*g,height:G-2*g,x:g,y:g}),mh.setClipUrl(E,a,e),mh.setRect(L,0,0,0,0),delete r._scrollY}else{var N=Math.max(Vh.scrollBarMinHeight,r._effHeight*r._effHeight/r._height),W=r._effHeight-N-2*Vh.scrollBarMargin,re=r._height-r._effHeight,ae=W/re,_e=Math.min(r._scrollY||0,re);p.attr({width:r._width-2*g+Vh.scrollBarWidth+Vh.scrollBarMargin,height:r._effHeight-g,x:g/2,y:g/2}),b.select(\"rect\").attr({width:r._width-2*g+Vh.scrollBarWidth+Vh.scrollBarMargin,height:r._effHeight-2*g,x:g,y:g+_e}),mh.setClipUrl(E,a,e),ze(_e,N,ae),x.on(\"wheel\",function(){_e=gh.constrain(r._scrollY+Sp.event.deltaY/W*re,0,re),ze(_e,N,ae),_e!==0&&_e!==re&&Sp.event.preventDefault()});var Me,ke,ge,ie=function(Ge,nt,ct){var qt=(ct-nt)/ae+Ge;return gh.constrain(qt,0,re)},Te=function(Ge,nt,ct){var qt=(nt-ct)/ae+Ge;return gh.constrain(qt,0,re)},Ee=Sp.behavior.drag().on(\"dragstart\",function(){var Ge=Sp.event.sourceEvent;Ge.type===\"touchstart\"?Me=Ge.changedTouches[0].clientY:Me=Ge.clientY,ge=_e}).on(\"drag\",function(){var Ge=Sp.event.sourceEvent;Ge.buttons===2||Ge.ctrlKey||(Ge.type===\"touchmove\"?ke=Ge.changedTouches[0].clientY:ke=Ge.clientY,_e=ie(ge,Me,ke),ze(_e,N,ae))});L.call(Ee);var Ae=Sp.behavior.drag().on(\"dragstart\",function(){var Ge=Sp.event.sourceEvent;Ge.type===\"touchstart\"&&(Me=Ge.changedTouches[0].clientY,ge=_e)}).on(\"drag\",function(){var Ge=Sp.event.sourceEvent;Ge.type===\"touchmove\"&&(ke=Ge.changedTouches[0].clientY,_e=Te(ge,Me,ke),ze(_e,N,ae))});E.call(Ae)}function ze(Ge,nt,ct){r._scrollY=e._fullLayout[i]._scrollY=Ge,mh.setTranslate(E,0,-Ge),mh.setRect(L,r._width,Vh.scrollBarMargin+Ge*ct,Vh.scrollBarWidth,nt),b.select(\"rect\").attr(\"y\",g+Ge)}if(e._context.edits.legendPosition){var Ce,me,Re,ce;x.classed(\"cursor-move\",!0),LB.init({element:x.node(),gd:e,prepFn:function(Ge){if(Ge.target!==L.node()){var nt=mh.getTranslate(x);Re=nt.x,ce=nt.y}},moveFn:function(Ge,nt){if(Re!==void 0&&ce!==void 0){var ct=Re+Ge,qt=ce+nt;mh.setTranslate(x,ct,qt),Ce=LB.align(ct,r._width,M.l,M.l+M.w,r.xanchor),me=LB.align(qt+r._height,-r._height,M.t+M.h,M.t,r.yanchor)}},doneFn:function(){if(Ce!==void 0&&me!==void 0){var Ge={};Ge[i+\".x\"]=Ce,Ge[i+\".y\"]=me,B3.call(\"_guiRelayout\",e,Ge)}},clickFn:function(Ge,nt){var ct=o.selectAll(\"g.traces\").filter(function(){var qt=this.getBoundingClientRect();return nt.clientX>=qt.left&&nt.clientX<=qt.right&&nt.clientY>=qt.top&&nt.clientY<=qt.bottom});ct.size()>0&&mle(e,x,ct,Ge,nt)}})}}],e)}}function RL(e,t,r){var n=e[0],i=n.width,a=t.entrywidthmode,o=n.trace.legendwidth||t.entrywidth;return a===\"fraction\"?t._maxWidth*o:r+(o||i)}function mle(e,t,r,n,i){var a=r.data()[0][0].trace,o={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a.index,data:e.data,layout:e.layout,frames:e._transitionData._frames,config:e._context,fullData:e._fullData,fullLayout:e._fullLayout};a._group&&(o.group=a._group),B3.traceIs(a,\"pie-like\")&&(o.label=r.datum()[0].label);var s=ule.triggerHandler(e,\"plotly_legendclick\",o);if(n===1){if(s===!1)return;t._clickTimeout=setTimeout(function(){e._fullLayout&&cle(r,e,n)},e._context.doubleClickDelay)}else if(n===2){t._clickTimeout&&clearTimeout(t._clickTimeout),e._legendMouseDownTime=0;var l=ule.triggerHandler(e,\"plotly_legenddoubleclick\",o);l!==!1&&s!==!1&&cle(r,e,n)}}function Mst(e,t,r){var n=OL(r),i=e.data()[0][0],a=i.trace,o=B3.traceIs(a,\"pie-like\"),s=!r._inHover&&t._context.edits.legendText&&!o,l=r._maxNameLength,u,c;i.groupTitle?(u=i.groupTitle.text,c=i.groupTitle.font):(c=r.font,r.entries?u=i.text:(u=o?i.label:a.name,a._meta&&(u=gh.templateString(u,a._meta))));var f=gh.ensureSingle(e,\"text\",n+\"text\");f.attr(\"text-anchor\",\"start\").call(mh.font,c).text(s?ple(u,l):u);var h=r.indentation+r.itemwidth+Vh.itemGap*2;Rb.positionText(f,h,0),s?f.call(Rb.makeEditable,{gd:t,text:u}).call(zL,e,t,r).on(\"edit\",function(d){this.text(ple(d,l)).call(zL,e,t,r);var v=i.trace._fullInput||{},x={};return x.name=d,v._isShape?B3.call(\"_guiRelayout\",t,\"shapes[\"+a.index+\"].name\",x.name):B3.call(\"_guiRestyle\",t,x,a.index)}):zL(f,e,t,r)}function ple(e,t){var r=Math.max(4,t);if(e&&e.trim().length>=r/2)return e;e=e||\"\";for(var n=r-e.length;n>0;n--)e+=\" \";return e}function Est(e,t,r){var n=t._context.doubleClickDelay,i,a=1,o=gh.ensureSingle(e,\"rect\",r+\"toggle\",function(s){t._context.staticPlot||s.style(\"cursor\",\"pointer\").attr(\"pointer-events\",\"all\"),s.call(DL.fill,\"rgba(0,0,0,0)\")});t._context.staticPlot||(o.on(\"mousedown\",function(){i=new Date().getTime(),i-t._legendMouseDownTime<n?a+=1:(a=1,t._legendMouseDownTime=i)}),o.on(\"mouseup\",function(){if(!(t._dragged||t._editing)){var s=t._fullLayout[r];new Date().getTime()-t._legendMouseDownTime>n&&(a=Math.max(a-1,1)),mle(t,s,e,a,Sp.event)}}))}function zL(e,t,r,n,i){n._inHover&&e.attr(\"data-notex\",!0),Rb.convertToTspans(e,r,function(){kst(t,r,n,i)})}function kst(e,t,r,n){var i=e.data()[0][0];if(!r._inHover&&i&&!i.trace.showlegend){e.remove();return}var a=e.select(\"g[class*=math-group]\"),o=a.node(),s=OL(r);r||(r=t._fullLayout[s]);var l=r.borderwidth,u;n===q3?u=r.title.font:i.groupTitle?u=i.groupTitle.font:u=r.font;var c=u.size*gle,f,h;if(o){var d=mh.bBox(o);f=d.height,h=d.width,n===q3?mh.setTranslate(a,l,l+f*.75):mh.setTranslate(a,0,f*.25)}else{var v=\".\"+s+(n===q3?\"title\":\"\")+\"text\",x=e.select(v),b=Rb.lineCount(x),p=x.node();if(f=c*b,h=p?mh.bBox(p).width:0,n===q3)r.title.side===\"left\"&&(h+=Vh.itemGap*2),Rb.positionText(x,l+Vh.titlePad,l+c);else{var E=Vh.itemGap*2+r.indentation+r.itemwidth;i.groupTitle&&(E=Vh.itemGap,h-=r.indentation+r.itemwidth),Rb.positionText(x,E,-c*((b-1)/2-.3))}}n===q3?(r._titleWidth=h,r._titleHeight=f):(i.lineHeight=c,i.height=Math.max(f,16)+3,i.width=h)}function Cst(e){var t=0,r=0,n=e.title.side;return n&&(n.indexOf(\"left\")!==-1&&(t=e._titleWidth),n.indexOf(\"top\")!==-1&&(r=e._titleHeight)),[t,r]}function Lst(e,t,r,n){var i=e._fullLayout,a=OL(n);n||(n=i[a]);var o=i._size,s=dle.isVertical(n),l=dle.isGrouped(n),u=n.entrywidthmode===\"fraction\",c=n.borderwidth,f=2*c,h=Vh.itemGap,d=n.indentation+n.itemwidth+h*2,v=2*(c+h),x=qL(n),b=n.y<0||n.y===0&&x===\"top\",p=n.y>1||n.y===1&&x===\"bottom\",E=n.tracegroupgap,k={};n._maxHeight=Math.max(b||p?i.height/2:o.h,30);var A=0;n._width=0,n._height=0;var L=Cst(n);if(s)r.each(function(ge){var ie=ge[0].height;mh.setTranslate(this,c+L[0],c+L[1]+n._height+ie/2+h),n._height+=ie,n._width=Math.max(n._width,ge[0].width)}),A=d+n._width,n._width+=h+d+f,n._height+=v,l&&(t.each(function(ge,ie){mh.setTranslate(this,0,ie*n.tracegroupgap)}),n._height+=(n._lgroupsLength-1)*n.tracegroupgap);else{var _=FL(n),C=n.x<0||n.x===0&&_===\"right\",M=n.x>1||n.x===1&&_===\"left\",g=p||b,P=i.width/2;n._maxWidth=Math.max(C?g&&_===\"left\"?o.l+o.w:P:M?g&&_===\"right\"?o.r+o.w:P:o.w,2*d);var T=0,F=0;r.each(function(ge){var ie=RL(ge,n,d);T=Math.max(T,ie),F+=ie}),A=null;var q=0;if(l){var V=0,H=0,X=0;t.each(function(){var ge=0,ie=0;Sp.select(this).selectAll(\"g.traces\").each(function(Ee){var Ae=RL(Ee,n,d),ze=Ee[0].height;mh.setTranslate(this,L[0],L[1]+c+h+ze/2+ie),ie+=ze,ge=Math.max(ge,Ae),k[Ee[0].trace.legendgroup]=ge});var Te=ge+h;H>0&&Te+c+H>n._maxWidth?(q=Math.max(q,H),H=0,X+=V+E,V=ie):V=Math.max(V,ie),mh.setTranslate(this,H,X),H+=Te}),n._width=Math.max(q,H)+c,n._height=X+V+v}else{var G=r.size(),N=F+f+(G-1)*h<n._maxWidth,W=0,re=0,ae=0,_e=0;r.each(function(ge){var ie=ge[0].height,Te=RL(ge,n,d,l),Ee=N?Te:T;u||(Ee+=h),Ee+c+re-h>=n._maxWidth&&(q=Math.max(q,_e),re=0,ae+=W,n._height+=W,W=0),mh.setTranslate(this,L[0]+c+re,L[1]+c+ae+ie/2+h),_e=re+Te+h,re+=Ee,W=Math.max(W,ie)}),N?(n._width=re+f,n._height=W+v):(n._width=Math.max(q,_e)+f,n._height+=W+v)}}n._width=Math.ceil(Math.max(n._width+L[0],n._titleWidth+2*(c+Vh.titlePad))),n._height=Math.ceil(Math.max(n._height+L[1],n._titleHeight+2*(c+Vh.itemGap))),n._effHeight=Math.min(n._height,n._maxHeight);var Me=e._context.edits,ke=Me.legendText||Me.legendPosition;r.each(function(ge){var ie=Sp.select(this).select(\".\"+a+\"toggle\"),Te=ge[0].height,Ee=ge[0].trace.legendgroup,Ae=RL(ge,n,d);l&&Ee!==\"\"&&(Ae=k[Ee]);var ze=ke?d:A||Ae;!s&&!u&&(ze+=h/2),mh.setRect(ie,0,-Te/2,ze,Te)})}function Pst(e,t,r,n){var i=e._fullLayout,a=i[t],o=FL(a),s=qL(a),l=a.xref===\"paper\",u=a.yref===\"paper\";e._fullLayout._reservedMargin[t]={};var c=a.y<.5?\"b\":\"t\",f=a.x<.5?\"l\":\"r\",h={r:i.width-r,l:r+a._width,b:i.height-n,t:n+a._effHeight};if(l&&u)return PB.autoMargin(e,t,{x:a.x,y:a.y,l:a._width*O3[o],r:a._width*fle[o],b:a._effHeight*fle[s],t:a._effHeight*O3[s]});l?e._fullLayout._reservedMargin[t][c]=h[c]:u||a.orientation===\"v\"?e._fullLayout._reservedMargin[t][f]=h[f]:e._fullLayout._reservedMargin[t][c]=h[c]}function FL(e){return gh.isRightAnchor(e)?\"right\":gh.isCenterAnchor(e)?\"center\":\"left\"}function qL(e){return gh.isBottomAnchor(e)?\"bottom\":gh.isMiddleAnchor(e)?\"middle\":\"top\"}function OL(e){return e._id||\"legend\"}});var qB=ye(FB=>{\"use strict\";var Db=xa(),Sy=uo(),_le=id(),Rf=Mr(),Ist=Rf.pushUnique,DB=Rf.strTranslate,Rst=Rf.strRotate,Dst=g3(),A0=Pl(),zst=Vse(),bm=ao(),sd=va(),BL=gv(),wm=Qa(),Fst=ad().zindexSeparator,U3=ba(),Ag=rp(),zb=IS(),qst=bB(),Ost=RB(),Ele=zb.YANGLE,zB=Math.PI*Ele/180,Bst=1/Math.sin(zB),Nst=Math.cos(zB),Ust=Math.sin(zB),Bc=zb.HOVERARROWSIZE,Us=zb.HOVERTEXTPAD,xle={box:!0,ohlc:!0,violin:!0,candlestick:!0},Vst={scatter:!0,scattergl:!0,splom:!0};function ble(e,t){return e.distance-t.distance}FB.hover=function(t,r,n,i){t=Rf.getGraphDiv(t);var a=r.target;Rf.throttle(t._fullLayout._uid+zb.HOVERID,zb.HOVERMINTIME,function(){Hst(t,r,n,i,a)})};FB.loneHover=function(t,r){var n=!0;Array.isArray(t)||(n=!1,t=[t]);var i=r.gd,a=Ile(i),o=Rle(i),s=t.map(function(b){var p=b._x0||b.x0||b.x||0,E=b._x1||b.x1||b.x||0,k=b._y0||b.y0||b.y||0,A=b._y1||b.y1||b.y||0,L=b.eventData;if(L){var _=Math.min(p,E),C=Math.max(p,E),M=Math.min(k,A),g=Math.max(k,A),P=b.trace;if(U3.traceIs(P,\"gl3d\")){var T=i._fullLayout[P.scene]._scene.container,F=T.offsetLeft,q=T.offsetTop;_+=F,C+=F,M+=q,g+=q}L.bbox={x0:_+o,x1:C+o,y0:M+a,y1:g+a},r.inOut_bbox&&r.inOut_bbox.push(L.bbox)}else L=!1;return{color:b.color||sd.defaultLine,x0:b.x0||b.x||0,x1:b.x1||b.x||0,y0:b.y0||b.y||0,y1:b.y1||b.y||0,xLabel:b.xLabel,yLabel:b.yLabel,zLabel:b.zLabel,text:b.text,name:b.name,idealAlign:b.idealAlign,borderColor:b.borderColor,fontFamily:b.fontFamily,fontSize:b.fontSize,fontColor:b.fontColor,fontWeight:b.fontWeight,fontStyle:b.fontStyle,fontVariant:b.fontVariant,nameLength:b.nameLength,textAlign:b.textAlign,trace:b.trace||{index:0,hoverinfo:\"\"},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:b.hovertemplate||!1,hovertemplateLabels:b.hovertemplateLabels||!1,eventData:L}}),l=!1,u=Cle(s,{gd:i,hovermode:\"closest\",rotateLabels:l,bgColor:r.bgColor||sd.background,container:Db.select(r.container),outerContainer:r.outerContainer||r.container}),c=u.hoverLabels,f=5,h=0,d=0;c.sort(function(b,p){return b.y0-p.y0}).each(function(b,p){var E=b.y0-b.by/2;E-f<h?b.offset=h-E+f:b.offset=0,h=E+b.by+b.offset,p===r.anchorIndex&&(d=b.offset)}).each(function(b){b.offset-=d});var v=i._fullLayout._invScaleX,x=i._fullLayout._invScaleY;return Ple(c,l,v,x),n?c:c.node()};function Hst(e,t,r,n,i){r||(r=\"xy\"),typeof r==\"string\"&&(r=r.split(Fst)[0]);var a=Array.isArray(r)?r:[r],o,s=e._fullLayout,l=s.hoversubplots,u=s._plots||[],c=u[r],f=s._has(\"cartesian\"),h=t.hovermode||s.hovermode,d=(h||\"\").charAt(0)===\"x\",v=(h||\"\").charAt(0)===\"y\",x,b;if(f&&(d||v)&&l===\"axis\"){for(var p=a.length,E=0;E<p;E++)if(o=a[E],u[o]){x=wm.getFromId(e,o,\"x\"),b=wm.getFromId(e,o,\"y\");var k=(d?x:b)._subplotsWith;if(k&&k.length)for(var A=0;A<k.length;A++)Ist(a,k[A])}}if(c&&l!==\"single\"){var L=c.overlays.map(function(Ni){return Ni.id});a=a.concat(L)}for(var _=a.length,C=new Array(_),M=new Array(_),g=!1,P=0;P<_;P++)if(o=a[P],u[o])g=!0,C[P]=u[o].xaxis,M[P]=u[o].yaxis;else if(s[o]&&s[o]._subplot){var T=s[o]._subplot;C[P]=T.xaxis,M[P]=T.yaxis}else{Rf.warn(\"Unrecognized subplot: \"+o);return}if(h&&!g&&(h=\"closest\"),[\"x\",\"y\",\"closest\",\"x unified\",\"y unified\"].indexOf(h)===-1||!e.calcdata||e.querySelector(\".zoombox\")||e._dragging)return BL.unhoverRaw(e,t);var F=s.hoverdistance;F===-1&&(F=1/0);var q=s.spikedistance;q===-1&&(q=1/0);var V=[],H=[],X,G,N,W,re,ae,_e,Me,ke,ge,ie,Te,Ee,Ae={hLinePoint:null,vLinePoint:null},ze=!1;if(Array.isArray(t))for(h=\"array\",N=0;N<t.length;N++)re=e.calcdata[t[N].curveNumber||0],re&&(ae=re[0].trace,re[0].trace.hoverinfo!==\"skip\"&&(H.push(re),ae.orientation===\"h\"&&(ze=!0)));else{var Ce=e.calcdata.slice();for(Ce.sort(function(Ni,_n){var $i=Ni[0].trace.zorder||0,zn=_n[0].trace.zorder||0;return $i-zn}),W=0;W<Ce.length;W++)re=Ce[W],ae=re[0].trace,ae.hoverinfo!==\"skip\"&&Ag.isTraceInSubplots(ae,a)&&(H.push(re),ae.orientation===\"h\"&&(ze=!0));var me=!i,Re,ce;if(me)\"xpx\"in t?Re=t.xpx:Re=C[0]._length/2,\"ypx\"in t?ce=t.ypx:ce=M[0]._length/2;else{if(Dst.triggerHandler(e,\"plotly_beforehover\",t)===!1)return;var Ge=i.getBoundingClientRect();Re=t.clientX-Ge.left,ce=t.clientY-Ge.top,s._calcInverseTransform(e);var nt=Rf.apply3DTransform(s._invTransform)(Re,ce);if(Re=nt[0],ce=nt[1],Re<0||Re>C[0]._length||ce<0||ce>M[0]._length)return BL.unhoverRaw(e,t)}if(t.pointerX=Re+C[0]._offset,t.pointerY=ce+M[0]._offset,\"xval\"in t?X=Ag.flat(a,t.xval):X=Ag.p2c(C,Re),\"yval\"in t?G=Ag.flat(a,t.yval):G=Ag.p2c(M,ce),!Sy(X[0])||!Sy(G[0]))return Rf.warn(\"Fx.hover failed\",t,e),BL.unhoverRaw(e,t)}var ct=1/0;function qt(Ni,_n){for(W=0;W<H.length;W++)if(re=H[W],!(!re||!re[0]||!re[0].trace)&&(ae=re[0].trace,!(ae.visible!==!0||ae._length===0)&&[\"carpet\",\"contourcarpet\"].indexOf(ae._module.name)===-1)){if(ke=h,Ag.isUnifiedHover(ke)&&(ke=ke.charAt(0)),ae.type===\"splom\"?(Me=0,_e=a[Me]):(_e=Ag.getSubplot(ae),Me=a.indexOf(_e)),Te={cd:re,trace:ae,xa:C[Me],ya:M[Me],maxHoverDistance:F,maxSpikeDistance:q,index:!1,distance:Math.min(ct,F),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:sd.defaultLine,name:ae.name,x0:void 0,x1:void 0,y0:void 0,y1:void 0,xLabelVal:void 0,yLabelVal:void 0,zLabelVal:void 0,text:void 0},s[_e]&&(Te.subplot=s[_e]._subplot),s._splomScenes&&s._splomScenes[ae.uid]&&(Te.scene=s._splomScenes[ae.uid]),ke===\"array\"){var $i=t[W];\"pointNumber\"in $i?(Te.index=$i.pointNumber,ke=\"closest\"):(ke=\"\",\"xval\"in $i&&(ge=$i.xval,ke=\"x\"),\"yval\"in $i&&(ie=$i.yval,ke=ke?\"closest\":\"y\"))}else Ni!==void 0&&_n!==void 0?(ge=Ni,ie=_n):(ge=X[Me],ie=G[Me]);if(Ee=V.length,F!==0)if(ae._module&&ae._module.hoverPoints){var zn=ae._module.hoverPoints(Te,ge,ie,ke,{finiteRange:!0,hoverLayer:s._hoverlayer,hoversubplots:l,gd:e});if(zn)for(var Wn,It=0;It<zn.length;It++)Wn=zn[It],Sy(Wn.x0)&&Sy(Wn.y0)&&V.push(Zst(Wn,h))}else Rf.log(\"Unrecognized trace type in hover:\",ae);if(h===\"closest\"&&V.length>Ee&&(V.splice(0,Ee),ct=V[0].distance),f&&q!==0&&V.length===0){Te.distance=q,Te.index=!1;var ft=ae._module.hoverPoints(Te,ge,ie,\"closest\",{hoverLayer:s._hoverlayer});if(ft&&(ft=ft.filter(function(Vr){return Vr.spikeDistance<=q})),ft&&ft.length){var jt,Zt=ft.filter(function(Vr){return Vr.xa.showspikes&&Vr.xa.spikesnap!==\"hovered data\"});if(Zt.length){var yr=Zt[0];Sy(yr.x0)&&Sy(yr.y0)&&(jt=ot(yr),(!Ae.vLinePoint||Ae.vLinePoint.spikeDistance>jt.spikeDistance)&&(Ae.vLinePoint=jt))}var Fr=ft.filter(function(Vr){return Vr.ya.showspikes&&Vr.ya.spikesnap!==\"hovered data\"});if(Fr.length){var Zr=Fr[0];Sy(Zr.x0)&&Sy(Zr.y0)&&(jt=ot(Zr),(!Ae.hLinePoint||Ae.hLinePoint.spikeDistance>jt.spikeDistance)&&(Ae.hLinePoint=jt))}}}}}qt();function rt(Ni,_n,$i){for(var zn=null,Wn=1/0,It,ft=0;ft<Ni.length;ft++)x&&x._id!==Ni[ft].xa._id||b&&b._id!==Ni[ft].ya._id||(It=Ni[ft].spikeDistance,$i&&ft===0&&(It=-1/0),It<=Wn&&It<=_n&&(zn=Ni[ft],Wn=It));return zn}function ot(Ni){return Ni?{xa:Ni.xa,ya:Ni.ya,x:Ni.xSpike!==void 0?Ni.xSpike:(Ni.x0+Ni.x1)/2,y:Ni.ySpike!==void 0?Ni.ySpike:(Ni.y0+Ni.y1)/2,distance:Ni.distance,spikeDistance:Ni.spikeDistance,curveNumber:Ni.trace.index,color:Ni.color,pointNumber:Ni.index}:null}var Rt={fullLayout:s,container:s._hoverlayer,event:t},kt=e._spikepoints,Ct={vLinePoint:Ae.vLinePoint,hLinePoint:Ae.hLinePoint};e._spikepoints=Ct;var Yt=function(){var Ni=V.filter(function($i){return x&&x._id===$i.xa._id&&b&&b._id===$i.ya._id}),_n=V.filter(function($i){return!(x&&x._id===$i.xa._id&&b&&b._id===$i.ya._id)});Ni.sort(ble),_n.sort(ble),V=Ni.concat(_n),V=Yst(V,h)};Yt();var xr=h.charAt(0),er=(xr===\"x\"||xr===\"y\")&&V[0]&&Vst[V[0].trace.type];if(f&&q!==0&&V.length!==0){var Ke=V.filter(function(Ni){return Ni.ya.showspikes}),xt=rt(Ke,q,er);Ae.hLinePoint=ot(xt);var bt=V.filter(function(Ni){return Ni.xa.showspikes}),Lt=rt(bt,q,er);Ae.vLinePoint=ot(Lt)}if(V.length===0){var St=BL.unhoverRaw(e,t);return f&&(Ae.hLinePoint!==null||Ae.vLinePoint!==null)&&Ale(kt)&&Tle(e,Ae,Rt),St}if(f&&Ale(kt)&&Tle(e,Ae,Rt),Ag.isXYhover(ke)&&V[0].length!==0&&V[0].trace.type!==\"splom\"){var Et=V[0];xle[Et.trace.type]?V=V.filter(function(Ni){return Ni.trace.index===Et.trace.index}):V=[Et];var dt=V.length,Ht=Mle(\"x\",Et,s),$t=Mle(\"y\",Et,s);qt(Ht,$t);var fr=[],_r={},Br=0,Or=function(Ni){var _n=xle[Ni.trace.type]?kle(Ni):Ni.trace.index;if(!_r[_n])Br++,_r[_n]=Br,fr.push(Ni);else{var $i=_r[_n]-1,zn=fr[$i];$i>0&&Math.abs(Ni.distance)<Math.abs(zn.distance)&&(fr[$i]=Ni)}},Nr;for(Nr=0;Nr<dt;Nr++)Or(V[Nr]);for(Nr=V.length-1;Nr>dt-1;Nr--)Or(V[Nr]);V=fr,Yt()}var ut=e._hoverdata,Ne=[],Ye=Ile(e),Ve=Rle(e);for(N=0;N<V.length;N++){var Xe=V[N],ht=Ag.makeEventData(Xe,Xe.trace,Xe.cd);if(Xe.hovertemplate!==!1){var Le=!1;Xe.cd[Xe.index]&&Xe.cd[Xe.index].ht&&(Le=Xe.cd[Xe.index].ht),Xe.hovertemplate=Le||Xe.trace.hovertemplate||!1}if(Xe.xa&&Xe.ya){var xe=Xe.x0+Xe.xa._offset,Se=Xe.x1+Xe.xa._offset,lt=Xe.y0+Xe.ya._offset,Gt=Xe.y1+Xe.ya._offset,Vt=Math.min(xe,Se),ar=Math.max(xe,Se),Qr=Math.min(lt,Gt),ai=Math.max(lt,Gt);ht.bbox={x0:Vt+Ve,x1:ar+Ve,y0:Qr+Ye,y1:ai+Ye}}Xe.eventData=[ht],Ne.push(ht)}e._hoverdata=Ne;var jr=h===\"y\"&&(H.length>1||V.length>1)||h===\"closest\"&&ze&&V.length>1,ri=sd.combine(s.plot_bgcolor||sd.background,s.paper_bgcolor),bi=Cle(V,{gd:e,hovermode:h,rotateLabels:jr,bgColor:ri,container:s._hoverlayer,outerContainer:s._paper.node(),commonLabelOpts:s.hoverlabel,hoverdistance:s.hoverdistance}),nn=bi.hoverLabels;if(Ag.isUnifiedHover(h)||(jst(nn,jr,s,bi.commonLabelBoundingBox),Ple(nn,jr,s._invScaleX,s._invScaleY)),i&&i.tagName){var Wi=U3.getComponentMethod(\"annotations\",\"hasClickToShow\")(e,Ne);zst(Db.select(i),Wi?\"pointer\":\"\")}!i||n||!Xst(e,t,ut)||(ut&&e.emit(\"plotly_unhover\",{event:t,points:ut}),e.emit(\"plotly_hover\",{event:t,points:e._hoverdata,xaxes:C,yaxes:M,xvals:X,yvals:G}))}function kle(e){return[e.trace.index,e.index,e.x0,e.y0,e.name,e.attr,e.xa?e.xa._id:\"\",e.ya?e.ya._id:\"\"].join(\",\")}var Gst=/<extra>([\\s\\S]*)<\\/extra>/;function Cle(e,t){var r=t.gd,n=r._fullLayout,i=t.hovermode,a=t.rotateLabels,o=t.bgColor,s=t.container,l=t.outerContainer,u=t.commonLabelOpts||{};if(e.length===0)return[[]];var c=t.fontFamily||zb.HOVERFONT,f=t.fontSize||zb.HOVERFONTSIZE,h=t.fontWeight||n.font.weight,d=t.fontStyle||n.font.style,v=t.fontVariant||n.font.variant,x=t.fontTextcase||n.font.textcase,b=t.fontLineposition||n.font.lineposition,p=t.fontShadow||n.font.shadow,E=e[0],k=E.xa,A=E.ya,L=i.charAt(0),_=L+\"Label\",C=E[_];if(C===void 0&&k.type===\"multicategory\")for(var M=0;M<e.length&&(C=e[M][_],C===void 0);M++);var g=N3(r,l),P=g.top,T=g.width,F=g.height,q=C!==void 0&&E.distance<=t.hoverdistance&&(i===\"x\"||i===\"y\");if(q){var V=!0,H,X;for(H=0;H<e.length;H++)if(V&&e[H].zLabel===void 0&&(V=!1),X=e[H].hoverinfo||e[H].trace.hoverinfo,X){var G=Array.isArray(X)?X:X.split(\"+\");if(G.indexOf(\"all\")===-1&&G.indexOf(i)===-1){q=!1;break}}V&&(q=!1)}var N=s.selectAll(\"g.axistext\").data(q?[0]:[]);N.enter().append(\"g\").classed(\"axistext\",!0),N.exit().remove();var W={minX:0,maxX:0,minY:0,maxY:0};if(N.each(function(){var bt=Db.select(this),Lt=Rf.ensureSingle(bt,\"path\",\"\",function(Vt){Vt.style({\"stroke-width\":\"1px\"})}),St=Rf.ensureSingle(bt,\"text\",\"\",function(Vt){Vt.attr(\"data-notex\",1)}),Et=u.bgcolor||sd.defaultLine,dt=u.bordercolor||sd.contrast(Et),Ht=sd.contrast(Et),$t=u.font,fr={weight:$t.weight||h,style:$t.style||d,variant:$t.variant||v,textcase:$t.textcase||x,lineposition:$t.lineposition||b,shadow:$t.shadow||p,family:$t.family||c,size:$t.size||f,color:$t.color||Ht};Lt.style({fill:Et,stroke:dt}),St.text(C).call(bm.font,fr).call(A0.positionText,0,0).call(A0.convertToTspans,r),bt.attr(\"transform\",\"\");var _r=N3(r,St.node()),Br,Or;if(i===\"x\"){var Nr=k.side===\"top\"?\"-\":\"\";St.attr(\"text-anchor\",\"middle\").call(A0.positionText,0,k.side===\"top\"?P-_r.bottom-Bc-Us:P-_r.top+Bc+Us),Br=k._offset+(E.x0+E.x1)/2,Or=A._offset+(k.side===\"top\"?0:A._length);var ut=_r.width/2+Us,Ne=Br;Br<ut?Ne=ut:Br>n.width-ut&&(Ne=n.width-ut),Lt.attr(\"d\",\"M\"+(Br-Ne)+\",0L\"+(Br-Ne+Bc)+\",\"+Nr+Bc+\"H\"+ut+\"v\"+Nr+(Us*2+_r.height)+\"H\"+-ut+\"V\"+Nr+Bc+\"H\"+(Br-Ne-Bc)+\"Z\"),Br=Ne,W.minX=Br-ut,W.maxX=Br+ut,k.side===\"top\"?(W.minY=Or-(Us*2+_r.height),W.maxY=Or-Us):(W.minY=Or+Us,W.maxY=Or+(Us*2+_r.height))}else{var Ye,Ve,Xe;A.side===\"right\"?(Ye=\"start\",Ve=1,Xe=\"\",Br=k._offset+k._length):(Ye=\"end\",Ve=-1,Xe=\"-\",Br=k._offset),Or=A._offset+(E.y0+E.y1)/2,St.attr(\"text-anchor\",Ye),Lt.attr(\"d\",\"M0,0L\"+Xe+Bc+\",\"+Bc+\"V\"+(Us+_r.height/2)+\"h\"+Xe+(Us*2+_r.width)+\"V-\"+(Us+_r.height/2)+\"H\"+Xe+Bc+\"V-\"+Bc+\"Z\"),W.minY=Or-(Us+_r.height/2),W.maxY=Or+(Us+_r.height/2),A.side===\"right\"?(W.minX=Br+Bc,W.maxX=Br+Bc+(Us*2+_r.width)):(W.minX=Br-Bc-(Us*2+_r.width),W.maxX=Br-Bc);var ht=_r.height/2,Le=P-_r.top-ht,xe=\"clip\"+n._uid+\"commonlabel\"+A._id,Se;if(Br<_r.width+2*Us+Bc){Se=\"M-\"+(Bc+Us)+\"-\"+ht+\"h-\"+(_r.width-Us)+\"V\"+ht+\"h\"+(_r.width-Us)+\"Z\";var lt=_r.width-Br+Us;A0.positionText(St,lt,Le),Ye===\"end\"&&St.selectAll(\"tspan\").each(function(){var Vt=Db.select(this),ar=bm.tester.append(\"text\").text(Vt.text()).call(bm.font,fr),Qr=N3(r,ar.node());Math.round(Qr.width)<Math.round(_r.width)&&Vt.attr(\"x\",lt-Qr.width),ar.remove()})}else A0.positionText(St,Ve*(Us+Bc),Le),Se=null;var Gt=n._topclips.selectAll(\"#\"+xe).data(Se?[0]:[]);Gt.enter().append(\"clipPath\").attr(\"id\",xe).append(\"path\"),Gt.exit().remove(),Gt.select(\"path\").attr(\"d\",Se),bm.setClipUrl(St,Se?xe:null,r)}bt.attr(\"transform\",DB(Br,Or))}),Ag.isUnifiedHover(i)){s.selectAll(\"g.hovertext\").remove();var re=e.filter(function(bt){return bt.hoverinfo!==\"none\"});if(re.length===0)return[];var ae=n.hoverlabel,_e=ae.font,Me={showlegend:!0,legend:{title:{text:C,font:_e},font:_e,bgcolor:ae.bgcolor,bordercolor:ae.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:n.legend?n.legend.traceorder:void 0,orientation:\"v\"}},ke={font:_e};qst(Me,ke,r._fullData);var ge=ke.legend;ge.entries=[];for(var ie=0;ie<re.length;ie++){var Te=re[ie];if(Te.hoverinfo!==\"none\"){var Ee=wle(Te,!0,i,n,C),Ae=Ee[0],ze=Ee[1];Te.name=ze,ze!==\"\"?Te.text=ze+\" : \"+Ae:Te.text=Ae;var Ce=Te.cd[Te.index];Ce&&(Ce.mc&&(Te.mc=Ce.mc),Ce.mcc&&(Te.mc=Ce.mcc),Ce.mlc&&(Te.mlc=Ce.mlc),Ce.mlcc&&(Te.mlc=Ce.mlcc),Ce.mlw&&(Te.mlw=Ce.mlw),Ce.mrc&&(Te.mrc=Ce.mrc),Ce.dir&&(Te.dir=Ce.dir)),Te._distinct=!0,ge.entries.push([Te])}}ge.entries.sort(function(bt,Lt){return bt[0].trace.index-Lt[0].trace.index}),ge.layer=s,ge._inHover=!0,ge._groupTitleFont=ae.grouptitlefont,Ost(r,ge);var me=s.select(\"g.legend\"),Re=N3(r,me.node()),ce=Re.width+2*Us,Ge=Re.height+2*Us,nt=re[0],ct=(nt.x0+nt.x1)/2,qt=(nt.y0+nt.y1)/2,rt=!(U3.traceIs(nt.trace,\"bar-like\")||U3.traceIs(nt.trace,\"box-violin\")),ot,Rt;L===\"y\"?rt?(Rt=qt-Us,ot=qt+Us):(Rt=Math.min.apply(null,re.map(function(bt){return Math.min(bt.y0,bt.y1)})),ot=Math.max.apply(null,re.map(function(bt){return Math.max(bt.y0,bt.y1)}))):Rt=ot=Rf.mean(re.map(function(bt){return(bt.y0+bt.y1)/2}))-Ge/2;var kt,Ct;L===\"x\"?rt?(kt=ct+Us,Ct=ct-Us):(kt=Math.max.apply(null,re.map(function(bt){return Math.max(bt.x0,bt.x1)})),Ct=Math.min.apply(null,re.map(function(bt){return Math.min(bt.x0,bt.x1)}))):kt=Ct=Rf.mean(re.map(function(bt){return(bt.x0+bt.x1)/2}))-ce/2;var Yt=k._offset,xr=A._offset;ot+=xr,kt+=Yt,Ct+=Yt-ce,Rt+=xr-Ge;var er,Ke;return kt+ce<T&&kt>=0?er=kt:Ct+ce<T&&Ct>=0?er=Ct:Yt+ce<T?er=Yt:kt-ct<ct-Ct+ce?er=T-ce:er=0,er+=Us,ot+Ge<F&&ot>=0?Ke=ot:Rt+Ge<F&&Rt>=0?Ke=Rt:xr+Ge<F?Ke=xr:ot-qt<qt-Rt+Ge?Ke=F-Ge:Ke=0,Ke+=Us,me.attr(\"transform\",DB(er-1,Ke-1)),me}var xt=s.selectAll(\"g.hovertext\").data(e,function(bt){return kle(bt)});return xt.enter().append(\"g\").classed(\"hovertext\",!0).each(function(){var bt=Db.select(this);bt.append(\"rect\").call(sd.fill,sd.addOpacity(o,.8)),bt.append(\"text\").classed(\"name\",!0),bt.append(\"path\").style(\"stroke-width\",\"1px\"),bt.append(\"text\").classed(\"nums\",!0).call(bm.font,{weight:h,style:d,variant:v,textcase:x,lineposition:b,shadow:p,family:c,size:f})}),xt.exit().remove(),xt.each(function(bt){var Lt=Db.select(this).attr(\"transform\",\"\"),St=bt.color;Array.isArray(St)&&(St=St[bt.eventData[0].pointNumber]);var Et=bt.bgcolor||St,dt=sd.combine(sd.opacity(Et)?Et:sd.defaultLine,o),Ht=sd.combine(sd.opacity(St)?St:sd.defaultLine,o),$t=bt.borderColor||sd.contrast(dt),fr=wle(bt,q,i,n,C,Lt),_r=fr[0],Br=fr[1],Or=Lt.select(\"text.nums\").call(bm.font,{family:bt.fontFamily||c,size:bt.fontSize||f,color:bt.fontColor||$t,weight:bt.fontWeight||h,style:bt.fontStyle||d,variant:bt.fontVariant||v,textcase:bt.fontTextcase||x,lineposition:bt.fontLineposition||b,shadow:bt.fontShadow||p}).text(_r).attr(\"data-notex\",1).call(A0.positionText,0,0).call(A0.convertToTspans,r),Nr=Lt.select(\"text.name\"),ut=0,Ne=0;if(Br&&Br!==_r){Nr.call(bm.font,{family:bt.fontFamily||c,size:bt.fontSize||f,color:Ht,weight:bt.fontWeight||h,style:bt.fontStyle||d,variant:bt.fontVariant||v,textcase:bt.fontTextcase||x,lineposition:bt.fontLineposition||b,shadow:bt.fontShadow||p}).text(Br).attr(\"data-notex\",1).call(A0.positionText,0,0).call(A0.convertToTspans,r);var Ye=N3(r,Nr.node());ut=Ye.width+2*Us,Ne=Ye.height+2*Us}else Nr.remove(),Lt.select(\"rect\").remove();Lt.select(\"path\").style({fill:dt,stroke:$t});var Ve=bt.xa._offset+(bt.x0+bt.x1)/2,Xe=bt.ya._offset+(bt.y0+bt.y1)/2,ht=Math.abs(bt.x1-bt.x0),Le=Math.abs(bt.y1-bt.y0),xe=N3(r,Or.node()),Se=xe.width/n._invScaleX,lt=xe.height/n._invScaleY;bt.ty0=(P-xe.top)/n._invScaleY,bt.bx=Se+2*Us,bt.by=Math.max(lt+2*Us,Ne),bt.anchor=\"start\",bt.txwidth=Se,bt.tx2width=ut,bt.offset=0;var Gt=(Se+Bc+Us+ut)*n._invScaleX,Vt,ar;if(a)bt.pos=Ve,Vt=Xe+Le/2+Gt<=F,ar=Xe-Le/2-Gt>=0,(bt.idealAlign===\"top\"||!Vt)&&ar?(Xe-=Le/2,bt.anchor=\"end\"):Vt?(Xe+=Le/2,bt.anchor=\"start\"):bt.anchor=\"middle\",bt.crossPos=Xe;else{if(bt.pos=Xe,Vt=Ve+ht/2+Gt<=T,ar=Ve-ht/2-Gt>=0,(bt.idealAlign===\"left\"||!Vt)&&ar)Ve-=ht/2,bt.anchor=\"end\";else if(Vt)Ve+=ht/2,bt.anchor=\"start\";else{bt.anchor=\"middle\";var Qr=Gt/2,ai=Ve+Qr-T,jr=Ve-Qr;ai>0&&(Ve-=ai),jr<0&&(Ve+=-jr)}bt.crossPos=Ve}Or.attr(\"text-anchor\",bt.anchor),ut&&Nr.attr(\"text-anchor\",bt.anchor),Lt.attr(\"transform\",DB(Ve,Xe)+(a?Rst(Ele):\"\"))}),{hoverLabels:xt,commonLabelBoundingBox:W}}function wle(e,t,r,n,i,a){var o=\"\",s=\"\";e.nameOverride!==void 0&&(e.name=e.nameOverride),e.name&&(e.trace._meta&&(e.name=Rf.templateString(e.name,e.trace._meta)),o=Sle(e.name,e.nameLength));var l=r.charAt(0),u=l===\"x\"?\"y\":\"x\";e.zLabel!==void 0?(e.xLabel!==void 0&&(s+=\"x: \"+e.xLabel+\"<br>\"),e.yLabel!==void 0&&(s+=\"y: \"+e.yLabel+\"<br>\"),e.trace.type!==\"choropleth\"&&e.trace.type!==\"choroplethmapbox\"&&e.trace.type!==\"choroplethmap\"&&(s+=(s?\"z: \":\"\")+e.zLabel)):t&&e[l+\"Label\"]===i?s=e[u+\"Label\"]||\"\":e.xLabel===void 0?e.yLabel!==void 0&&e.trace.type!==\"scattercarpet\"&&(s=e.yLabel):e.yLabel===void 0?s=e.xLabel:s=\"(\"+e.xLabel+\", \"+e.yLabel+\")\",(e.text||e.text===0)&&!Array.isArray(e.text)&&(s+=(s?\"<br>\":\"\")+e.text),e.extraText!==void 0&&(s+=(s?\"<br>\":\"\")+e.extraText),a&&s===\"\"&&!e.hovertemplate&&(o===\"\"&&a.remove(),s=o);var c=e.hovertemplate||!1;if(c){var f=e.hovertemplateLabels||e;e[l+\"Label\"]!==i&&(f[l+\"other\"]=f[l+\"Val\"],f[l+\"otherLabel\"]=f[l+\"Label\"]),s=Rf.hovertemplateString(c,f,n._d3locale,e.eventData[0]||{},e.trace._meta),s=s.replace(Gst,function(h,d){return o=Sle(d,e.nameLength),\"\"})}return[s,o]}function jst(e,t,r,n){var i=t?\"xa\":\"ya\",a=t?\"ya\":\"xa\",o=0,s=1,l=e.size(),u=new Array(l),c=0,f=n.minX,h=n.maxX,d=n.minY,v=n.maxY,x=function(X){return X*r._invScaleX},b=function(X){return X*r._invScaleY};e.each(function(X){var G=X[i],N=X[a],W=G._id.charAt(0)===\"x\",re=G.range;c===0&&re&&re[0]>re[1]!==W&&(s=-1);var ae=0,_e=W?r.width:r.height;if(r.hovermode===\"x\"||r.hovermode===\"y\"){var Me=Lle(X,t),ke=X.anchor,ge=ke===\"end\"?-1:1,ie,Te;if(ke===\"middle\")ie=X.crossPos+(W?b(Me.y-X.by/2):x(X.bx/2+X.tx2width/2)),Te=ie+(W?b(X.by):x(X.bx));else if(W)ie=X.crossPos+b(Bc+Me.y)-b(X.by/2-Bc),Te=ie+b(X.by);else{var Ee=x(ge*Bc+Me.x),Ae=Ee+x(ge*X.bx);ie=X.crossPos+Math.min(Ee,Ae),Te=X.crossPos+Math.max(Ee,Ae)}W?d!==void 0&&v!==void 0&&Math.min(Te,v)-Math.max(ie,d)>1&&(N.side===\"left\"?(ae=N._mainLinePosition,_e=r.width):_e=N._mainLinePosition):f!==void 0&&h!==void 0&&Math.min(Te,h)-Math.max(ie,f)>1&&(N.side===\"top\"?(ae=N._mainLinePosition,_e=r.height):_e=N._mainLinePosition)}u[c++]=[{datum:X,traceIndex:X.trace.index,dp:0,pos:X.pos,posref:X.posref,size:X.by*(W?Bst:1)/2,pmin:ae,pmax:_e}]}),u.sort(function(X,G){return X[0].posref-G[0].posref||s*(G[0].traceIndex-X[0].traceIndex)});var p,E,k,A,L,_,C;function M(X){var G=X[0],N=X[X.length-1];if(E=G.pmin-G.pos-G.dp+G.size,k=N.pos+N.dp+N.size-G.pmax,E>.01){for(L=X.length-1;L>=0;L--)X[L].dp+=E;p=!1}if(!(k<.01)){if(E<-.01){for(L=X.length-1;L>=0;L--)X[L].dp-=k;p=!1}if(p){var W=0;for(A=0;A<X.length;A++)_=X[A],_.pos+_.dp+_.size>G.pmax&&W++;for(A=X.length-1;A>=0&&!(W<=0);A--)_=X[A],_.pos>G.pmax-1&&(_.del=!0,W--);for(A=0;A<X.length&&!(W<=0);A++)if(_=X[A],_.pos<G.pmin+1)for(_.del=!0,W--,k=_.size*2,L=X.length-1;L>=0;L--)X[L].dp-=k;for(A=X.length-1;A>=0&&!(W<=0);A--)_=X[A],_.pos+_.dp+_.size>G.pmax&&(_.del=!0,W--)}}}for(;!p&&o<=l;){for(o++,p=!0,A=0;A<u.length-1;){var g=u[A],P=u[A+1],T=g[g.length-1],F=P[0];if(E=T.pos+T.dp+T.size-F.pos-F.dp+F.size,E>.01){for(L=P.length-1;L>=0;L--)P[L].dp+=E;for(g.push.apply(g,P),u.splice(A+1,1),C=0,L=g.length-1;L>=0;L--)C+=g[L].dp;for(k=C/g.length,L=g.length-1;L>=0;L--)g[L].dp-=k;p=!1}else A++}u.forEach(M)}for(A=u.length-1;A>=0;A--){var q=u[A];for(L=q.length-1;L>=0;L--){var V=q[L],H=V.datum;H.offset=V.dp,H.del=V.del}}}function Lle(e,t){var r=0,n=e.offset;return t&&(n*=-Ust,r=e.offset*Nst),{x:r,y:n}}function Wst(e){var t={start:1,end:-1,middle:0}[e.anchor],r=t*(Bc+Us),n=r+t*(e.txwidth+Us),i=e.anchor===\"middle\";return i&&(r-=e.tx2width/2,n+=e.txwidth/2+Us),{alignShift:t,textShiftX:r,text2ShiftX:n}}function Ple(e,t,r,n){var i=function(o){return o*r},a=function(o){return o*n};e.each(function(o){var s=Db.select(this);if(o.del)return s.remove();var l=s.select(\"text.nums\"),u=o.anchor,c=u===\"end\"?-1:1,f=Wst(o),h=Lle(o,t),d=h.x,v=h.y,x=u===\"middle\";s.select(\"path\").attr(\"d\",x?\"M-\"+i(o.bx/2+o.tx2width/2)+\",\"+a(v-o.by/2)+\"h\"+i(o.bx)+\"v\"+a(o.by)+\"h-\"+i(o.bx)+\"Z\":\"M0,0L\"+i(c*Bc+d)+\",\"+a(Bc+v)+\"v\"+a(o.by/2-Bc)+\"h\"+i(c*o.bx)+\"v-\"+a(o.by)+\"H\"+i(c*Bc+d)+\"V\"+a(v-Bc)+\"Z\");var b=d+f.textShiftX,p=v+o.ty0-o.by/2+Us,E=o.textAlign||\"auto\";E!==\"auto\"&&(E===\"left\"&&u!==\"start\"?(l.attr(\"text-anchor\",\"start\"),b=x?-o.bx/2-o.tx2width/2+Us:-o.bx-Us):E===\"right\"&&u!==\"end\"&&(l.attr(\"text-anchor\",\"end\"),b=x?o.bx/2-o.tx2width/2-Us:o.bx+Us)),l.call(A0.positionText,i(b),a(p)),o.tx2width&&(s.select(\"text.name\").call(A0.positionText,i(f.text2ShiftX+f.alignShift*Us+d),a(v+o.ty0-o.by/2+Us)),s.select(\"rect\").call(bm.setRect,i(f.text2ShiftX+(f.alignShift-1)*o.tx2width/2+d),a(v-o.by/2-1),i(o.tx2width),a(o.by+2)))})}function Zst(e,t){var r=e.index,n=e.trace||{},i=e.cd[0],a=e.cd[r]||{};function o(h){return h||Sy(h)&&h===0}var s=Array.isArray(r)?function(h,d){var v=Rf.castOption(i,r,h);return o(v)?v:Rf.extractOption({},n,\"\",d)}:function(h,d){return Rf.extractOption(a,n,h,d)};function l(h,d,v){var x=s(d,v);o(x)&&(e[h]=x)}if(l(\"hoverinfo\",\"hi\",\"hoverinfo\"),l(\"bgcolor\",\"hbg\",\"hoverlabel.bgcolor\"),l(\"borderColor\",\"hbc\",\"hoverlabel.bordercolor\"),l(\"fontFamily\",\"htf\",\"hoverlabel.font.family\"),l(\"fontSize\",\"hts\",\"hoverlabel.font.size\"),l(\"fontColor\",\"htc\",\"hoverlabel.font.color\"),l(\"fontWeight\",\"htw\",\"hoverlabel.font.weight\"),l(\"fontStyle\",\"hty\",\"hoverlabel.font.style\"),l(\"fontVariant\",\"htv\",\"hoverlabel.font.variant\"),l(\"nameLength\",\"hnl\",\"hoverlabel.namelength\"),l(\"textAlign\",\"hta\",\"hoverlabel.align\"),e.posref=t===\"y\"||t===\"closest\"&&n.orientation===\"h\"?e.xa._offset+(e.x0+e.x1)/2:e.ya._offset+(e.y0+e.y1)/2,e.x0=Rf.constrain(e.x0,0,e.xa._length),e.x1=Rf.constrain(e.x1,0,e.xa._length),e.y0=Rf.constrain(e.y0,0,e.ya._length),e.y1=Rf.constrain(e.y1,0,e.ya._length),e.xLabelVal!==void 0&&(e.xLabel=\"xLabel\"in e?e.xLabel:wm.hoverLabelText(e.xa,e.xLabelVal,n.xhoverformat),e.xVal=e.xa.c2d(e.xLabelVal)),e.yLabelVal!==void 0&&(e.yLabel=\"yLabel\"in e?e.yLabel:wm.hoverLabelText(e.ya,e.yLabelVal,n.yhoverformat),e.yVal=e.ya.c2d(e.yLabelVal)),e.zLabelVal!==void 0&&e.zLabel===void 0&&(e.zLabel=String(e.zLabelVal)),!isNaN(e.xerr)&&!(e.xa.type===\"log\"&&e.xerr<=0)){var u=wm.tickText(e.xa,e.xa.c2l(e.xerr),\"hover\").text;e.xerrneg!==void 0?e.xLabel+=\" +\"+u+\" / -\"+wm.tickText(e.xa,e.xa.c2l(e.xerrneg),\"hover\").text:e.xLabel+=\" \\xB1 \"+u,t===\"x\"&&(e.distance+=1)}if(!isNaN(e.yerr)&&!(e.ya.type===\"log\"&&e.yerr<=0)){var c=wm.tickText(e.ya,e.ya.c2l(e.yerr),\"hover\").text;e.yerrneg!==void 0?e.yLabel+=\" +\"+c+\" / -\"+wm.tickText(e.ya,e.ya.c2l(e.yerrneg),\"hover\").text:e.yLabel+=\" \\xB1 \"+c,t===\"y\"&&(e.distance+=1)}var f=e.hoverinfo||e.trace.hoverinfo;return f&&f!==\"all\"&&(f=Array.isArray(f)?f:f.split(\"+\"),f.indexOf(\"x\")===-1&&(e.xLabel=void 0),f.indexOf(\"y\")===-1&&(e.yLabel=void 0),f.indexOf(\"z\")===-1&&(e.zLabel=void 0),f.indexOf(\"text\")===-1&&(e.text=void 0),f.indexOf(\"name\")===-1&&(e.name=void 0)),e}function Tle(e,t,r){var n=r.container,i=r.fullLayout,a=i._size,o=r.event,s=!!t.hLinePoint,l=!!t.vLinePoint,u,c;if(n.selectAll(\".spikeline\").remove(),!!(l||s)){var f=sd.combine(i.plot_bgcolor,i.paper_bgcolor);if(s){var h=t.hLinePoint,d,v;u=h&&h.xa,c=h&&h.ya;var x=c.spikesnap;x===\"cursor\"?(d=o.pointerX,v=o.pointerY):(d=u._offset+h.x,v=c._offset+h.y);var b=_le.readability(h.color,f)<1.5?sd.contrast(f):h.color,p=c.spikemode,E=c.spikethickness,k=c.spikecolor||b,A=wm.getPxPosition(e,c),L,_;if(p.indexOf(\"toaxis\")!==-1||p.indexOf(\"across\")!==-1){if(p.indexOf(\"toaxis\")!==-1&&(L=A,_=d),p.indexOf(\"across\")!==-1){var C=c._counterDomainMin,M=c._counterDomainMax;c.anchor===\"free\"&&(C=Math.min(C,c.position),M=Math.max(M,c.position)),L=a.l+C*a.w,_=a.l+M*a.w}n.insert(\"line\",\":first-child\").attr({x1:L,x2:_,y1:v,y2:v,\"stroke-width\":E,stroke:k,\"stroke-dasharray\":bm.dashStyle(c.spikedash,E)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),n.insert(\"line\",\":first-child\").attr({x1:L,x2:_,y1:v,y2:v,\"stroke-width\":E+2,stroke:f}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}p.indexOf(\"marker\")!==-1&&n.insert(\"circle\",\":first-child\").attr({cx:A+(c.side!==\"right\"?E:-E),cy:v,r:E,fill:k}).classed(\"spikeline\",!0)}if(l){var g=t.vLinePoint,P,T;u=g&&g.xa,c=g&&g.ya;var F=u.spikesnap;F===\"cursor\"?(P=o.pointerX,T=o.pointerY):(P=u._offset+g.x,T=c._offset+g.y);var q=_le.readability(g.color,f)<1.5?sd.contrast(f):g.color,V=u.spikemode,H=u.spikethickness,X=u.spikecolor||q,G=wm.getPxPosition(e,u),N,W;if(V.indexOf(\"toaxis\")!==-1||V.indexOf(\"across\")!==-1){if(V.indexOf(\"toaxis\")!==-1&&(N=G,W=T),V.indexOf(\"across\")!==-1){var re=u._counterDomainMin,ae=u._counterDomainMax;u.anchor===\"free\"&&(re=Math.min(re,u.position),ae=Math.max(ae,u.position)),N=a.t+(1-ae)*a.h,W=a.t+(1-re)*a.h}n.insert(\"line\",\":first-child\").attr({x1:P,x2:P,y1:N,y2:W,\"stroke-width\":H,stroke:X,\"stroke-dasharray\":bm.dashStyle(u.spikedash,H)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),n.insert(\"line\",\":first-child\").attr({x1:P,x2:P,y1:N,y2:W,\"stroke-width\":H+2,stroke:f}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}V.indexOf(\"marker\")!==-1&&n.insert(\"circle\",\":first-child\").attr({cx:P,cy:G-(u.side!==\"top\"?H:-H),r:H,fill:X}).classed(\"spikeline\",!0)}}}function Xst(e,t,r){if(!r||r.length!==e._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=e._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}function Ale(e,t){return!t||t.vLinePoint!==e._spikepoints.vLinePoint||t.hLinePoint!==e._spikepoints.hLinePoint}function Sle(e,t){return A0.plainText(e||\"\",{len:t,allowedTags:[\"br\",\"sub\",\"sup\",\"b\",\"i\",\"em\",\"s\",\"u\"]})}function Yst(e,t){for(var r=t.charAt(0),n=[],i=[],a=[],o=0;o<e.length;o++){var s=e[o];U3.traceIs(s.trace,\"bar-like\")||U3.traceIs(s.trace,\"box-violin\")?a.push(s):s.trace[r+\"period\"]?i.push(s):n.push(s)}return n.concat(i).concat(a)}function Mle(e,t,r){var n=t[e+\"a\"],i=t[e+\"Val\"],a=t.cd[0];if(n.type===\"category\"||n.type===\"multicategory\")i=n._categoriesMap[i];else if(n.type===\"date\"){var o=t.trace[e+\"periodalignment\"];if(o){var s=t.cd[t.index],l=s[e+\"Start\"];l===void 0&&(l=s[e]);var u=s[e+\"End\"];u===void 0&&(u=s[e]);var c=u-l;o===\"end\"?i+=c:o===\"middle\"&&(i+=c/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&(r.boxmode===\"group\"||r.violinmode===\"group\")&&(i+=a.t.dPos),i}function Ile(e){return e.offsetTop+e.clientTop}function Rle(e){return e.offsetLeft+e.clientLeft}function N3(e,t){var r=e._fullLayout,n=t.getBoundingClientRect(),i=n.left,a=n.top,o=i+n.width,s=a+n.height,l=Rf.apply3DTransform(r._invTransform)(i,a),u=Rf.apply3DTransform(r._invTransform)(o,s),c=l[0],f=l[1],h=u[0],d=u[1];return{x:c,y:f,width:h-c,height:d-f,top:Math.min(f,d),left:Math.min(c,h),right:Math.max(c,h),bottom:Math.max(f,d)}}});var oM=ye((Zrr,Dle)=>{\"use strict\";var Kst=Mr(),Jst=va(),$st=rp().isUnifiedHover;Dle.exports=function(t,r,n,i){i=i||{};var a=r.legend;function o(s){i.font[s]||(i.font[s]=a?r.legend.font[s]:r.font[s])}r&&$st(r.hovermode)&&(i.font||(i.font={}),o(\"size\"),o(\"family\"),o(\"color\"),o(\"weight\"),o(\"style\"),o(\"variant\"),a?(i.bgcolor||(i.bgcolor=Jst.combine(r.legend.bgcolor,r.paper_bgcolor)),i.bordercolor||(i.bordercolor=r.legend.bordercolor)):i.bgcolor||(i.bgcolor=r.paper_bgcolor)),n(\"hoverlabel.bgcolor\",i.bgcolor),n(\"hoverlabel.bordercolor\",i.bordercolor),n(\"hoverlabel.namelength\",i.namelength),Kst.coerceFont(n,\"hoverlabel.font\",i.font),n(\"hoverlabel.align\",i.align)}});var Fle=ye((Xrr,zle)=>{\"use strict\";var Qst=Mr(),elt=oM(),tlt=N1();zle.exports=function(t,r){function n(i,a){return Qst.coerce(t,r,tlt,i,a)}elt(t,r,n)}});var Ble=ye((Yrr,Ole)=>{\"use strict\";var qle=Mr(),rlt=i3(),ilt=oM();Ole.exports=function(t,r,n,i){function a(s,l){return qle.coerce(t,r,rlt,s,l)}var o=qle.extendFlat({},i.hoverlabel);r.hovertemplate&&(o.namelength=-1),ilt(t,r,a,o)}});var OB=ye((Krr,Nle)=>{\"use strict\";var nlt=Mr(),alt=N1();Nle.exports=function(t,r){function n(i,a){return r[i]!==void 0?r[i]:nlt.coerce(t,r,alt,i,a)}return n(\"clickmode\"),n(\"hoversubplots\"),n(\"hovermode\")}});var Hle=ye((Jrr,Vle)=>{\"use strict\";var Ule=Mr(),olt=N1(),slt=OB(),llt=oM();Vle.exports=function(t,r){function n(c,f){return Ule.coerce(t,r,olt,c,f)}var i=slt(t,r);i&&(n(\"hoverdistance\"),n(\"spikedistance\"));var a=n(\"dragmode\");a===\"select\"&&n(\"selectdirection\");var o=r._has(\"mapbox\"),s=r._has(\"map\"),l=r._has(\"geo\"),u=r._basePlotModules.length;r.dragmode===\"zoom\"&&((o||s||l)&&u===1||(o||s)&&l&&u===2)&&(r.dragmode=\"pan\"),llt(t,r,n),Ule.coerceFont(n,\"hoverlabel.grouptitlefont\",r.hoverlabel.font)}});var Wle=ye(($rr,jle)=>{\"use strict\";var BB=Mr(),Gle=ba();jle.exports=function(t){var r=t.calcdata,n=t._fullLayout;function i(u){return function(c){return BB.coerceHoverinfo({hoverinfo:c},{_module:u._module},n)}}for(var a=0;a<r.length;a++){var o=r[a],s=o[0].trace;if(!Gle.traceIs(s,\"pie-like\")){var l=Gle.traceIs(s,\"2dMap\")?ult:BB.fillArray;l(s.hoverinfo,o,\"hi\",i(s)),s.hovertemplate&&l(s.hovertemplate,o,\"ht\"),s.hoverlabel&&(l(s.hoverlabel.bgcolor,o,\"hbg\"),l(s.hoverlabel.bordercolor,o,\"hbc\"),l(s.hoverlabel.font.size,o,\"hts\"),l(s.hoverlabel.font.color,o,\"htc\"),l(s.hoverlabel.font.family,o,\"htf\"),l(s.hoverlabel.font.weight,o,\"htw\"),l(s.hoverlabel.font.style,o,\"hty\"),l(s.hoverlabel.font.variant,o,\"htv\"),l(s.hoverlabel.namelength,o,\"hnl\"),l(s.hoverlabel.align,o,\"hta\"))}}};function ult(e,t,r,n){n=n||BB.identity,Array.isArray(e)&&(t[0][r]=n(e))}});var Xle=ye((Qrr,Zle)=>{\"use strict\";var clt=ba(),flt=qB().hover;Zle.exports=function(t,r,n){var i=clt.getComponentMethod(\"annotations\",\"onClick\")(t,t._hoverdata);n!==void 0&&flt(t,r,n,!0);function a(){t.emit(\"plotly_click\",{points:t._hoverdata,event:r})}t._hoverdata&&r&&r.target&&(i&&i.then?i.then(a):a(),r.stopImmediatePropagation&&r.stopImmediatePropagation())}});var Nc=ye((eir,Jle)=>{\"use strict\";var hlt=xa(),NL=Mr(),dlt=gv(),sM=rp(),Yle=N1(),Kle=qB();Jle.exports={moduleType:\"component\",name:\"fx\",constants:IS(),schema:{layout:Yle},attributes:i3(),layoutAttributes:Yle,supplyLayoutGlobalDefaults:Fle(),supplyDefaults:Ble(),supplyLayoutDefaults:Hle(),calc:Wle(),getDistanceFunction:sM.getDistanceFunction,getClosest:sM.getClosest,inbox:sM.inbox,quadrature:sM.quadrature,appendArrayPointValue:sM.appendArrayPointValue,castHoverOption:plt,castHoverinfo:glt,hover:Kle.hover,unhover:dlt.unhover,loneHover:Kle.loneHover,loneUnhover:vlt,click:Xle()};function vlt(e){var t=NL.isD3Selection(e)?e:hlt.select(e);t.selectAll(\"g.hovertext\").remove(),t.selectAll(\".spikeline\").remove()}function plt(e,t,r){return NL.castOption(e,t,\"hoverlabel.\"+r)}function glt(e,t,r){function n(i){return NL.coerceHoverinfo({hoverinfo:i},{_module:e._module},t)}return NL.castOption(e,r,\"hoverinfo\",n)}});var Sg=ye(My=>{\"use strict\";My.selectMode=function(e){return e===\"lasso\"||e===\"select\"};My.drawMode=function(e){return e===\"drawclosedpath\"||e===\"drawopenpath\"||e===\"drawline\"||e===\"drawrect\"||e===\"drawcircle\"};My.openMode=function(e){return e===\"drawline\"||e===\"drawopenpath\"};My.rectMode=function(e){return e===\"select\"||e===\"drawline\"||e===\"drawrect\"||e===\"drawcircle\"};My.freeMode=function(e){return e===\"lasso\"||e===\"drawclosedpath\"||e===\"drawopenpath\"};My.selectingOrDrawing=function(e){return My.freeMode(e)||My.rectMode(e)}});var lM=ye((rir,$le)=>{\"use strict\";$le.exports=function(t){var r=t._fullLayout;r._glcanvas&&r._glcanvas.size()&&r._glcanvas.each(function(n){n.regl&&n.regl.clear({color:!0,depth:!0})})}});var UL=ye((iir,Qle)=>{\"use strict\";Qle.exports={undo:{width:857.1,height:1e3,path:\"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z\",transform:\"matrix(1 0 0 -1 0 850)\"},home:{width:928.6,height:1e3,path:\"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"camera-retro\":{width:1e3,height:1e3,path:\"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoombox:{width:1e3,height:1e3,path:\"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z\",transform:\"matrix(1 0 0 -1 0 850)\"},pan:{width:1e3,height:1e3,path:\"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoom_plus:{width:875,height:1e3,path:\"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoom_minus:{width:875,height:1e3,path:\"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z\",transform:\"matrix(1 0 0 -1 0 850)\"},autoscale:{width:1e3,height:1e3,path:\"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z\",transform:\"matrix(1 0 0 -1 0 850)\"},tooltip_basic:{width:1500,height:1e3,path:\"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z\",transform:\"matrix(1 0 0 -1 0 850)\"},tooltip_compare:{width:1125,height:1e3,path:\"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z\",transform:\"matrix(1 0 0 -1 0 850)\"},plotlylogo:{width:1542,height:1e3,path:\"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"z-axis\":{width:1e3,height:1e3,path:\"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"3d_rotate\":{width:1e3,height:1e3,path:\"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z\",transform:\"matrix(1 0 0 -1 0 850)\"},camera:{width:1e3,height:1e3,path:\"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z\",transform:\"matrix(1 0 0 -1 0 850)\"},movie:{width:1e3,height:1e3,path:\"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z\",transform:\"matrix(1 0 0 -1 0 850)\"},question:{width:857.1,height:1e3,path:\"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z\",transform:\"matrix(1 0 0 -1 0 850)\"},disk:{width:857.1,height:1e3,path:\"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z\",transform:\"matrix(1 0 0 -1 0 850)\"},drawopenpath:{width:70,height:70,path:\"M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z\",transform:\"matrix(1 0 0 1 -15 -15)\"},drawclosedpath:{width:90,height:90,path:\"M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z\",transform:\"matrix(1 0 0 1 -5 -5)\"},lasso:{width:1031,height:1e3,path:\"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z\",transform:\"matrix(1 0 0 -1 0 850)\"},selectbox:{width:1e3,height:1e3,path:\"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z\",transform:\"matrix(1 0 0 -1 0 850)\"},drawline:{width:70,height:70,path:\"M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z\",transform:\"matrix(1 0 0 1 -15 -15)\"},drawrect:{width:80,height:80,path:\"M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},drawcircle:{width:80,height:80,path:\"M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},eraseshape:{width:80,height:80,path:\"M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},spikeline:{width:1e3,height:1e3,path:\"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z\",transform:\"matrix(1.5 0 0 -1.5 0 850)\"},pencil:{width:1792,height:1792,path:\"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z\",transform:\"matrix(1 0 0 1 0 1)\"},newplotlylogo:{name:\"newplotlylogo\",svg:[\"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 132'>\",\" <title>plotly-logomark</title>\",\" <g id='symbol'>\",\" <rect fill='#000' x='0' y='0' width='132' height='132' rx='18' ry='18'/>\",\" <circle fill='#9EF' cx='102' cy='30' r='6'/>\",\" <circle fill='#BAC' cx='78' cy='30' r='6'/>\",\" <circle fill='#BAC' cx='78' cy='54' r='6'/>\",\" <circle fill='#D69' cx='54' cy='30' r='6'/>\",\" <circle fill='#F26' cx='30' cy='30' r='6'/>\",\" <circle fill='#F26' cx='30' cy='54' r='6'/>\",\" <path fill='#FFF' d='M30,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,30,72Z'/>\",\" <path fill='#FFF' d='M78,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,78,72Z'/>\",\" <path fill='#FFF' d='M54,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,54,48Z'/>\",\" <path fill='#FFF' d='M102,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,102,48Z'/>\",\" </g>\",\"</svg>\"].join(\"\")}}});var HL=ye((nir,eue)=>{\"use strict\";var VL=32;eue.exports={CIRCLE_SIDES:VL,i000:0,i090:VL/4,i180:VL/2,i270:VL/4*3,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}});var GL=ye((air,rue)=>{\"use strict\";var mlt=Mr().strTranslate;function tue(e,t){switch(e.type){case\"log\":return e.p2d(t);case\"date\":return e.p2r(t,0,e.calendar);default:return e.p2r(t)}}function ylt(e,t){switch(e.type){case\"log\":return e.d2p(t);case\"date\":return e.r2p(t,0,e.calendar);default:return e.r2p(t)}}function _lt(e){var t=e._id.charAt(0)===\"y\"?1:0;return function(r){return tue(e,r[t])}}function xlt(e){return mlt(e.xaxis._offset,e.yaxis._offset)}rue.exports={p2r:tue,r2p:ylt,axValue:_lt,getTransform:xlt}});var c_=ye(Ey=>{\"use strict\";var blt=XS(),aue=HL(),V3=aue.CIRCLE_SIDES,NB=aue.SQRT2,oue=GL(),iue=oue.p2r,nue=oue.r2p,wlt=[0,3,4,5,6,1,2],Tlt=[0,3,4,1,2];Ey.writePaths=function(e){var t=e.length;if(!t)return\"M0,0Z\";for(var r=\"\",n=0;n<t;n++)for(var i=e[n].length,a=0;a<i;a++){var o=e[n][a][0];if(o===\"Z\")r+=\"Z\";else for(var s=e[n][a].length,l=0;l<s;l++){var u=l;o===\"Q\"||o===\"S\"?u=Tlt[l]:o===\"C\"&&(u=wlt[l]),r+=e[n][a][u],l>0&&l<s-1&&(r+=\",\")}}return r};Ey.readPaths=function(e,t,r,n){var i=blt(e),a=[],o=-1,s=function(){o++,a[o]=[]},l,u=0,c=0,f,h,d=function(){f=u,h=c};d();for(var v=0;v<i.length;v++){var x=[],b,p,E,k,A=i[v][0],L=A;switch(A){case\"M\":s(),u=+i[v][1],c=+i[v][2],x.push([L,u,c]),d();break;case\"Q\":case\"S\":b=+i[v][1],E=+i[v][2],u=+i[v][3],c=+i[v][4],x.push([L,u,c,b,E]);break;case\"C\":b=+i[v][1],E=+i[v][2],p=+i[v][3],k=+i[v][4],u=+i[v][5],c=+i[v][6],x.push([L,u,c,b,E,p,k]);break;case\"T\":case\"L\":u=+i[v][1],c=+i[v][2],x.push([L,u,c]);break;case\"H\":L=\"L\",u=+i[v][1],x.push([L,u,c]);break;case\"V\":L=\"L\",c=+i[v][1],x.push([L,u,c]);break;case\"A\":L=\"L\";var _=+i[v][1],C=+i[v][2];+i[v][4]||(_=-_,C=-C);var M=u-_,g=c;for(l=1;l<=V3/2;l++){var P=2*Math.PI*l/V3;x.push([L,M+_*Math.cos(P),g+C*Math.sin(P)])}break;case\"Z\":(u!==f||c!==h)&&(u=f,c=h,x.push([L,u,c]));break}for(var T=(r||{}).domain,F=t._fullLayout._size,q=r&&r.xsizemode===\"pixel\",V=r&&r.ysizemode===\"pixel\",H=n===!1,X=0;X<x.length;X++){for(l=0;l+2<7;l+=2){var G=x[X][l+1],N=x[X][l+2];G===void 0||N===void 0||(u=G,c=N,r&&(r.xaxis&&r.xaxis.p2r?(H&&(G-=r.xaxis._offset),q?G=nue(r.xaxis,r.xanchor)+G:G=iue(r.xaxis,G)):(H&&(G-=F.l),T?G=T.x[0]+G/F.w:G=G/F.w),r.yaxis&&r.yaxis.p2r?(H&&(N-=r.yaxis._offset),V?N=nue(r.yaxis,r.yanchor)-N:N=iue(r.yaxis,N)):(H&&(N-=F.t),T?N=T.y[1]-N/F.h:N=1-N/F.h)),x[X][l+1]=G,x[X][l+2]=N)}a[o].push(x[X].slice())}}return a};function uM(e,t){return Math.abs(e-t)<=1e-6}function jL(e,t){var r=t[1]-e[1],n=t[2]-e[2];return Math.sqrt(r*r+n*n)}Ey.pointsOnRectangle=function(e){var t=e.length;if(t!==5)return!1;for(var r=1;r<3;r++){var n=e[0][r]-e[1][r],i=e[3][r]-e[2][r];if(!uM(n,i))return!1;var a=e[0][r]-e[3][r],o=e[1][r]-e[2][r];if(!uM(a,o))return!1}return!uM(e[0][1],e[1][1])&&!uM(e[0][1],e[3][1])?!1:!!(jL(e[0],e[1])*jL(e[0],e[3]))};Ey.pointsOnEllipse=function(e){var t=e.length;if(t!==V3+1)return!1;t=V3;for(var r=0;r<t;r++){var n=(t*2-r)%t,i=(t/2+n)%t,a=(t/2+r)%t;if(!uM(jL(e[r],e[a]),jL(e[n],e[i])))return!1}return!0};Ey.handleEllipse=function(e,t,r){if(!e)return[t,r];var n=Ey.ellipseOver({x0:t[0],y0:t[1],x1:r[0],y1:r[1]}),i=(n.x1+n.x0)/2,a=(n.y1+n.y0)/2,o=(n.x1-n.x0)/2,s=(n.y1-n.y0)/2;o||(o=s=s/NB),s||(s=o=o/NB);for(var l=[],u=0;u<V3;u++){var c=u*2*Math.PI/V3;l.push([i+o*Math.cos(c),a+s*Math.sin(c)])}return l};Ey.ellipseOver=function(e){var t=e.x0,r=e.y0,n=e.x1,i=e.y1,a=n-t,o=i-r;t-=a,r-=o;var s=(t+n)/2,l=(r+i)/2,u=NB;return a*=u,o*=u,{x0:s-a,y0:l-o,x1:s+a,y1:l+o}};Ey.fixDatesForPaths=function(e,t,r){var n=t.type===\"date\",i=r.type===\"date\";if(!n&&!i)return e;for(var a=0;a<e.length;a++)for(var o=0;o<e[a].length;o++)for(var s=0;s+2<e[a][o].length;s+=2)n&&(e[a][o][s+1]=e[a][o][s+1].replace(\" \",\"_\")),i&&(e[a][o][s+2]=e[a][o][s+2].replace(\" \",\"_\"));return e}});var XL=ye((sir,vue)=>{\"use strict\";var fue=Sg(),Alt=fue.drawMode,Slt=fue.openMode,H3=HL(),sue=H3.i000,lue=H3.i090,uue=H3.i180,cue=H3.i270,Mlt=H3.cos45,Elt=H3.sin45,hue=GL(),WL=hue.p2r,f_=hue.r2p,klt=e_(),Clt=klt.clearOutline,ZL=c_(),Llt=ZL.readPaths,Plt=ZL.writePaths,Ilt=ZL.ellipseOver,Rlt=ZL.fixDatesForPaths;function Dlt(e,t){if(e.length){var r=e[0][0];if(r){var n=t.gd,i=t.isActiveShape,a=t.dragmode,o=(n.layout||{}).shapes||[];if(!Alt(a)&&i!==void 0){var s=n._fullLayout._activeShapeIndex;if(s<o.length)switch(n._fullLayout.shapes[s].type){case\"rect\":a=\"drawrect\";break;case\"circle\":a=\"drawcircle\";break;case\"line\":a=\"drawline\";break;case\"path\":var l=o[s].path||\"\";l[l.length-1]===\"Z\"?a=\"drawclosedpath\":a=\"drawopenpath\";break}}var u=due(e,t,a);Clt(n);for(var c=t.editHelpers,f=(c||{}).modifyItem,h=[],d=0;d<o.length;d++){var v=n._fullLayout.shapes[d];if(h[d]=v._input,i!==void 0&&d===n._fullLayout._activeShapeIndex){var x=u;switch(v.type){case\"line\":case\"rect\":case\"circle\":f(\"x0\",x.x0-(v.x0shift||0)),f(\"x1\",x.x1-(v.x1shift||0)),f(\"y0\",x.y0-(v.y0shift||0)),f(\"y1\",x.y1-(v.y1shift||0));break;case\"path\":f(\"path\",x.path);break}}}return i===void 0?(h.push(u),h):c?c.getUpdateObj():{}}}}function due(e,t,r){var n=e[0][0],i=t.gd,a=n.getAttribute(\"d\"),o=i._fullLayout.newshape,s=t.plotinfo,l=t.isActiveShape,u=s.xaxis,c=s.yaxis,f=!!s.domain||!s.xaxis,h=!!s.domain||!s.yaxis,d=Slt(r),v=Llt(a,i,s,l),x={editable:!0,visible:o.visible,name:o.name,showlegend:o.showlegend,legend:o.legend,legendwidth:o.legendwidth,legendgroup:o.legendgroup,legendgrouptitle:{text:o.legendgrouptitle.text,font:o.legendgrouptitle.font},legendrank:o.legendrank,label:o.label,xref:f?\"paper\":u._id,yref:h?\"paper\":c._id,layer:o.layer,opacity:o.opacity,line:{color:o.line.color,width:o.line.width,dash:o.line.dash}};d||(x.fillcolor=o.fillcolor,x.fillrule=o.fillrule);var b;if(v.length===1&&(b=v[0]),b&&b.length===5&&r===\"drawrect\")x.type=\"rect\",x.x0=b[0][1],x.y0=b[0][2],x.x1=b[2][1],x.y1=b[2][2];else if(b&&r===\"drawline\")x.type=\"line\",x.x0=b[0][1],x.y0=b[0][2],x.x1=b[1][1],x.y1=b[1][2];else if(b&&r===\"drawcircle\"){x.type=\"circle\";var p=b[sue][1],E=b[lue][1],k=b[uue][1],A=b[cue][1],L=b[sue][2],_=b[lue][2],C=b[uue][2],M=b[cue][2],g=s.xaxis&&(s.xaxis.type===\"date\"||s.xaxis.type===\"log\"),P=s.yaxis&&(s.yaxis.type===\"date\"||s.yaxis.type===\"log\");g&&(p=f_(s.xaxis,p),E=f_(s.xaxis,E),k=f_(s.xaxis,k),A=f_(s.xaxis,A)),P&&(L=f_(s.yaxis,L),_=f_(s.yaxis,_),C=f_(s.yaxis,C),M=f_(s.yaxis,M));var T=(E+A)/2,F=(L+C)/2,q=(A-E+k-p)/2,V=(M-_+C-L)/2,H=Ilt({x0:T,y0:F,x1:T+q*Mlt,y1:F+V*Elt});g&&(H.x0=WL(s.xaxis,H.x0),H.x1=WL(s.xaxis,H.x1)),P&&(H.y0=WL(s.yaxis,H.y0),H.y1=WL(s.yaxis,H.y1)),x.x0=H.x0,x.y0=H.y0,x.x1=H.x1,x.y1=H.y1}else x.type=\"path\",u&&c&&Rlt(v,u,c),x.path=Plt(v),b=null;return x}vue.exports={newShapes:Dlt,createShapeObj:due}});var VB=ye((lir,pue)=>{\"use strict\";var zlt=Sg(),Flt=zlt.selectMode,qlt=e_(),Olt=qlt.clearOutline,UB=c_(),Blt=UB.readPaths,Nlt=UB.writePaths,Ult=UB.fixDatesForPaths;pue.exports=function(t,r){if(t.length){var n=t[0][0];if(n){var i=n.getAttribute(\"d\"),a=r.gd,o=a._fullLayout.newselection,s=r.plotinfo,l=s.xaxis,u=s.yaxis,c=r.isActiveSelection,f=r.dragmode,h=(a.layout||{}).selections||[];if(!Flt(f)&&c!==void 0){var d=a._fullLayout._activeSelectionIndex;if(d<h.length)switch(a._fullLayout.selections[d].type){case\"rect\":f=\"select\";break;case\"path\":f=\"lasso\";break}}var v=Blt(i,a,s,c),x={xref:l._id,yref:u._id,opacity:o.opacity,line:{color:o.line.color,width:o.line.width,dash:o.line.dash}},b;v.length===1&&(b=v[0]),b&&b.length===5&&f===\"select\"?(x.type=\"rect\",x.x0=b[0][1],x.y0=b[0][2],x.x1=b[2][1],x.y1=b[2][2]):(x.type=\"path\",l&&u&&Ult(v,l,u),x.path=Nlt(v),b=null),Olt(a);for(var p=r.editHelpers,E=(p||{}).modifyItem,k=[],A=0;A<h.length;A++){var L=a._fullLayout.selections[A];if(!L){k[A]=L;continue}if(k[A]=L._input,c!==void 0&&A===a._fullLayout._activeSelectionIndex){var _=x;switch(L.type){case\"rect\":E(\"x0\",_.x0),E(\"x1\",_.x1),E(\"y0\",_.y0),E(\"y1\",_.y1);break;case\"path\":E(\"path\",_.path);break}}}return c===void 0?(k.push(x),k):p?p.getUpdateObj():{}}}}});var cM=ye((uir,gue)=>{\"use strict\";gue.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}});var h_=ye(Ld=>{\"use strict\";var Fb=cM(),mue=Mr(),YL=Qa();Ld.rangeToShapePosition=function(e){return e.type===\"log\"?e.r2d:function(t){return t}};Ld.shapePositionToRange=function(e){return e.type===\"log\"?e.d2r:function(t){return t}};Ld.decodeDate=function(e){return function(t){return t.replace&&(t=t.replace(\"_\",\" \")),e(t)}};Ld.encodeDate=function(e){return function(t){return e(t).replace(\" \",\"_\")}};Ld.extractPathCoords=function(e,t,r){var n=[],i=e.match(Fb.segmentRE);return i.forEach(function(a){var o=t[a.charAt(0)].drawn;if(o!==void 0){var s=a.substr(1).match(Fb.paramRE);if(!(!s||s.length<o)){var l=s[o],u=r?l:mue.cleanNumber(l);n.push(u)}}}),n};Ld.getDataToPixel=function(e,t,r,n,i){var a=e._fullLayout._size,o;if(t)if(i===\"domain\")o=function(l){return t._length*(n?1-l:l)+t._offset};else{var s=Ld.shapePositionToRange(t);o=function(l){var u=fM(t,r);return t._offset+t.r2p(s(l,!0))+u},t.type===\"date\"&&(o=Ld.decodeDate(o))}else n?o=function(l){return a.t+a.h*(1-l)}:o=function(l){return a.l+a.w*l};return o};Ld.getPixelToData=function(e,t,r,n){var i=e._fullLayout._size,a;if(t)if(n===\"domain\")a=function(s){var l=(s-t._offset)/t._length;return r?1-l:l};else{var o=Ld.rangeToShapePosition(t);a=function(s){return o(t.p2r(s-t._offset))}}else r?a=function(s){return 1-(s-i.t)/i.h}:a=function(s){return(s-i.l)/i.w};return a};Ld.roundPositionForSharpStrokeRendering=function(e,t){var r=Math.round(t%2)===1,n=Math.round(e);return r?n+.5:n};Ld.makeShapesOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.shapes[t]||{},n=e._fullLayout._plots[r.xref+r.yref],i=!!n;return i?n._hadPlotinfo=!0:(n={},r.xref&&r.xref!==\"paper\"&&(n.xaxis=e._fullLayout[r.xref+\"axis\"]),r.yref&&r.yref!==\"paper\"&&(n.yaxis=e._fullLayout[r.yref+\"axis\"])),n.xsizemode=r.xsizemode,n.ysizemode=r.ysizemode,n.xanchor=r.xanchor,n.yanchor=r.yanchor,{options:r,plotinfo:n}};Ld.makeSelectionsOptionsAndPlotinfo=function(e,t){var r=e._fullLayout.selections[t]||{},n=e._fullLayout._plots[r.xref+r.yref],i=!!n;return i?n._hadPlotinfo=!0:(n={},r.xref&&(n.xaxis=e._fullLayout[r.xref+\"axis\"]),r.yref&&(n.yaxis=e._fullLayout[r.yref+\"axis\"])),{options:r,plotinfo:n}};Ld.getPathString=function(e,t){var r=t.type,n=YL.getRefType(t.xref),i=YL.getRefType(t.yref),a=YL.getFromId(e,t.xref),o=YL.getFromId(e,t.yref),s=e._fullLayout._size,l,u,c,f,h=fM(a,t.x0shift),d=fM(a,t.x1shift),v=fM(o,t.y0shift),x=fM(o,t.y1shift),b,p,E,k;if(a?n===\"domain\"?u=function(q){return a._offset+a._length*q}:(l=Ld.shapePositionToRange(a),u=function(q){return a._offset+a.r2p(l(q,!0))}):u=function(q){return s.l+s.w*q},o?i===\"domain\"?f=function(q){return o._offset+o._length*(1-q)}:(c=Ld.shapePositionToRange(o),f=function(q){return o._offset+o.r2p(c(q,!0))}):f=function(q){return s.t+s.h*(1-q)},r===\"path\")return a&&a.type===\"date\"&&(u=Ld.decodeDate(u)),o&&o.type===\"date\"&&(f=Ld.decodeDate(f)),Vlt(t,u,f);if(t.xsizemode===\"pixel\"){var A=u(t.xanchor);b=A+t.x0+h,p=A+t.x1+d}else b=u(t.x0)+h,p=u(t.x1)+d;if(t.ysizemode===\"pixel\"){var L=f(t.yanchor);E=L-t.y0+v,k=L-t.y1+x}else E=f(t.y0)+v,k=f(t.y1)+x;if(r===\"line\")return\"M\"+b+\",\"+E+\"L\"+p+\",\"+k;if(r===\"rect\")return\"M\"+b+\",\"+E+\"H\"+p+\"V\"+k+\"H\"+b+\"Z\";var _=(b+p)/2,C=(E+k)/2,M=Math.abs(_-b),g=Math.abs(C-E),P=\"A\"+M+\",\"+g,T=_+M+\",\"+C,F=_+\",\"+(C-g);return\"M\"+T+P+\" 0 1,1 \"+F+P+\" 0 0,1 \"+T+\"Z\"};function Vlt(e,t,r){var n=e.path,i=e.xsizemode,a=e.ysizemode,o=e.xanchor,s=e.yanchor;return n.replace(Fb.segmentRE,function(l){var u=0,c=l.charAt(0),f=Fb.paramIsX[c],h=Fb.paramIsY[c],d=Fb.numParams[c],v=l.substr(1).replace(Fb.paramRE,function(x){return f[u]?i===\"pixel\"?x=t(o)+Number(x):x=t(x):h[u]&&(a===\"pixel\"?x=r(s)-Number(x):x=r(x)),u++,u>d&&(x=\"X\"),x});return u>d&&(v=v.replace(/[\\s,]*X.*/,\"\"),mue.log(\"Ignoring extra params in segment \"+l)),c+v})}function fM(e,t){t=t||0;var r=0;return t&&e&&(e.type===\"category\"||e.type===\"multicategory\")&&(r=(e.r2p(1)-e.r2p(0))*t),r}});var GB=ye((fir,bue)=>{\"use strict\";var Hlt=Mr(),G3=Qa(),yue=Pl(),_ue=ao(),Glt=c_().readPaths,HB=h_(),jlt=HB.getPathString,xue=b6(),Wlt=Nh().FROM_TL;bue.exports=function(t,r,n,i){if(i.selectAll(\".shape-label\").remove(),!!(n.label.text||n.label.texttemplate)){var a;if(n.label.texttemplate){var o={};if(n.type!==\"path\"){var s=G3.getFromId(t,n.xref),l=G3.getFromId(t,n.yref);for(var u in xue){var c=xue[u](n,s,l);c!==void 0&&(o[u]=c)}}a=Hlt.texttemplateStringForShapes(n.label.texttemplate,{},t._fullLayout._d3locale,o)}else a=n.label.text;var f={\"data-index\":r},h=n.label.font,d={\"data-notex\":1},v=i.append(\"g\").attr(f).classed(\"shape-label\",!0),x=v.append(\"text\").attr(d).classed(\"shape-label-text\",!0).text(a),b,p,E,k;if(n.path){var A=jlt(t,n),L=Glt(A,t);b=1/0,E=1/0,p=-1/0,k=-1/0;for(var _=0;_<L.length;_++)for(var C=0;C<L[_].length;C++)for(var M=L[_][C],g=1;g<M.length;g+=2){var P=M[g],T=M[g+1];b=Math.min(b,P),p=Math.max(p,P),E=Math.min(E,T),k=Math.max(k,T)}}else{var F=G3.getFromId(t,n.xref),q=n.x0shift,V=n.x1shift,H=G3.getRefType(n.xref),X=G3.getFromId(t,n.yref),G=n.y0shift,N=n.y1shift,W=G3.getRefType(n.yref),re=function(Ee,Ae){var ze=HB.getDataToPixel(t,F,Ae,!1,H);return ze(Ee)},ae=function(Ee,Ae){var ze=HB.getDataToPixel(t,X,Ae,!0,W);return ze(Ee)};b=re(n.x0,q),p=re(n.x1,V),E=ae(n.y0,G),k=ae(n.y1,N)}var _e=n.label.textangle;_e===\"auto\"&&(n.type===\"line\"?_e=Zlt(b,E,p,k):_e=0),x.call(function(Ee){return Ee.call(_ue.font,h).attr({}),yue.convertToTspans(Ee,t),Ee});var Me=_ue.bBox(x.node()),ke=Xlt(b,E,p,k,n,_e,Me),ge=ke.textx,ie=ke.texty,Te=ke.xanchor;x.attr({\"text-anchor\":{left:\"start\",center:\"middle\",right:\"end\"}[Te],y:ie,x:ge,transform:\"rotate(\"+_e+\",\"+ge+\",\"+ie+\")\"}).call(yue.positionText,ge,ie)}};function Zlt(e,t,r,n){var i,a;return a=Math.abs(r-e),r>=e?i=t-n:i=n-t,-180/Math.PI*Math.atan2(i,a)}function Xlt(e,t,r,n,i,a,o){var s=i.label.textposition,l=i.label.textangle,u=i.label.padding,c=i.type,f=Math.PI/180*a,h=Math.sin(f),d=Math.cos(f),v=i.label.xanchor,x=i.label.yanchor,b,p,E,k;if(c===\"line\"){s===\"start\"?(b=e,p=t):s===\"end\"?(b=r,p=n):(b=(e+r)/2,p=(t+n)/2),v===\"auto\"&&(s===\"start\"?l===\"auto\"?r>e?v=\"left\":r<e?v=\"right\":v=\"center\":r>e?v=\"right\":r<e?v=\"left\":v=\"center\":s===\"end\"?l===\"auto\"?r>e?v=\"right\":r<e?v=\"left\":v=\"center\":r>e?v=\"left\":r<e?v=\"right\":v=\"center\":v=\"center\");var A={left:1,center:0,right:-1},L={bottom:-1,middle:0,top:1};if(l===\"auto\"){var _=L[x];E=-u*h*_,k=u*d*_}else{var C=A[v],M=L[x];E=u*C,k=u*M}b=b+E,p=p+k}else E=u+3,s.indexOf(\"right\")!==-1?(b=Math.max(e,r)-E,v===\"auto\"&&(v=\"right\")):s.indexOf(\"left\")!==-1?(b=Math.min(e,r)+E,v===\"auto\"&&(v=\"left\")):(b=(e+r)/2,v===\"auto\"&&(v=\"center\")),s.indexOf(\"top\")!==-1?p=Math.min(t,n):s.indexOf(\"bottom\")!==-1?p=Math.max(t,n):p=(t+n)/2,k=u,x===\"bottom\"?p=p-k:x===\"top\"&&(p=p+k);var g=Wlt[x],P=i.label.font.size,T=o.height,F=(T*g-P)*h,q=-(T*g-P)*d;return{textx:b+F,texty:p+q,xanchor:v}}});var $L=ye((hir,Cue)=>{\"use strict\";var Ylt=Mr(),Klt=Ylt.strTranslate,wue=gv(),Sue=Sg(),Jlt=Sue.drawMode,Mue=Sue.selectMode,Eue=ba(),Tue=va(),JL=HL(),$lt=JL.i000,Qlt=JL.i090,eut=JL.i180,tut=JL.i270,rut=e_(),kue=rut.clearOutlineControllers,WB=c_(),KL=WB.pointsOnRectangle,jB=WB.pointsOnEllipse,iut=WB.writePaths,nut=XL().newShapes,aut=XL().createShapeObj,out=VB(),sut=GB();Cue.exports=function e(t,r,n,i){i||(i=0);var a=n.gd;function o(){e(t,r,n,i++),(jB(t[0])||n.hasText)&&s({redrawing:!0})}function s(G){var N={};n.isActiveShape!==void 0&&(n.isActiveShape=!1,N=nut(r,n)),n.isActiveSelection!==void 0&&(n.isActiveSelection=!1,N=out(r,n),a._fullLayout._reselect=!0),Object.keys(N).length&&Eue.call((G||{}).redrawing?\"relayout\":\"_guiRelayout\",a,N)}var l=a._fullLayout,u=l._zoomlayer,c=n.dragmode,f=Jlt(c),h=Mue(c);(f||h)&&(a._fullLayout._outlining=!0),kue(a),r.attr(\"d\",iut(t));var d,v,x,b,p;if(!i&&(n.isActiveShape||n.isActiveSelection)){p=lut([],t);var E=u.append(\"g\").attr(\"class\",\"outline-controllers\");P(E),X()}if(f&&n.hasText){var k=u.select(\".label-temp\"),A=aut(r,n,n.dragmode);sut(a,\"label-temp\",A,k)}function L(G){x=+G.srcElement.getAttribute(\"data-i\"),b=+G.srcElement.getAttribute(\"data-j\"),d[x][b].moveFn=_}function _(G,N){if(t.length){var W=p[x][b][1],re=p[x][b][2],ae=t[x],_e=ae.length;if(KL(ae)){var Me=G,ke=N;if(n.isActiveSelection){var ge=Aue(ae,b);ge[1]===ae[b][1]?ke=0:Me=0}for(var ie=0;ie<_e;ie++)if(ie!==b){var Te=ae[ie];Te[1]===ae[b][1]&&(Te[1]=W+Me),Te[2]===ae[b][2]&&(Te[2]=re+ke)}if(ae[b][1]=W+Me,ae[b][2]=re+ke,!KL(ae))for(var Ee=0;Ee<_e;Ee++)for(var Ae=0;Ae<ae[Ee].length;Ae++)ae[Ee][Ae]=p[x][Ee][Ae]}else ae[b][1]=W+G,ae[b][2]=re+N;o()}}function C(){s()}function M(){if(t.length&&t[x]&&t[x].length){for(var G=[],N=0;N<t[x].length;N++)N!==b&&G.push(t[x][N]);G.length>1&&!(G.length===2&&G[1][0]===\"Z\")&&(b===0&&(G[0][0]=\"M\"),t[x]=G,o(),s())}}function g(G,N){if(G===2){x=+N.srcElement.getAttribute(\"data-i\"),b=+N.srcElement.getAttribute(\"data-j\");var W=t[x];!KL(W)&&!jB(W)&&M()}}function P(G){d=[];for(var N=0;N<t.length;N++){var W=t[N],re=KL(W),ae=!re&&jB(W);d[N]=[];for(var _e=W.length,Me=0;Me<_e;Me++)if(W[Me][0]!==\"Z\"&&!(ae&&Me!==$lt&&Me!==Qlt&&Me!==eut&&Me!==tut)){var ke=re&&n.isActiveSelection,ge;ke&&(ge=Aue(W,Me));var ie=W[Me][1],Te=W[Me][2],Ee=G.append(ke?\"rect\":\"circle\").attr(\"data-i\",N).attr(\"data-j\",Me).style({fill:Tue.background,stroke:Tue.defaultLine,\"stroke-width\":1,\"shape-rendering\":\"crispEdges\"});if(ke){var Ae=ge[1]-ie,ze=ge[2]-Te,Ce=ze?5:Math.max(Math.min(25,Math.abs(Ae)-5),5),me=Ae?5:Math.max(Math.min(25,Math.abs(ze)-5),5);Ee.classed(ze?\"cursor-ew-resize\":\"cursor-ns-resize\",!0).attr(\"width\",Ce).attr(\"height\",me).attr(\"x\",ie-Ce/2).attr(\"y\",Te-me/2).attr(\"transform\",Klt(Ae/2,ze/2))}else Ee.classed(\"cursor-grab\",!0).attr(\"r\",5).attr(\"cx\",ie).attr(\"cy\",Te);d[N][Me]={element:Ee.node(),gd:a,prepFn:L,doneFn:C,clickFn:g},wue.init(d[N][Me])}}}function T(G,N){if(t.length)for(var W=0;W<t.length;W++)for(var re=0;re<t[W].length;re++)for(var ae=0;ae+2<t[W][re].length;ae+=2)t[W][re][ae+1]=p[W][re][ae+1]+G,t[W][re][ae+2]=p[W][re][ae+2]+N}function F(G,N){T(G,N),o()}function q(G){x=+G.srcElement.getAttribute(\"data-i\"),x||(x=0),v[x].moveFn=F}function V(){s()}function H(G){G===2&&uut(a)}function X(){if(v=[],!!t.length){var G=0;v[G]={element:r[0][0],gd:a,prepFn:q,doneFn:V,clickFn:H},wue.init(v[G])}}};function lut(e,t){for(var r=0;r<t.length;r++){var n=t[r];e[r]=[];for(var i=0;i<n.length;i++){e[r][i]=[];for(var a=0;a<n[i].length;a++)e[r][i][a]=n[i][a]}}return e}function Aue(e,t){var r=e[t][1],n=e[t][2],i=e.length,a,o,s;return a=(t+1)%i,o=e[a][1],s=e[a][2],o===r&&s===n&&(a=(t+2)%i,o=e[a][1],s=e[a][2]),[a,o,s]}function uut(e){if(Mue(e._fullLayout.dragmode)){kue(e);var t=e._fullLayout._activeSelectionIndex,r=(e.layout||{}).selections||[];if(t<r.length){for(var n=[],i=0;i<r.length;i++)i!==t&&n.push(r[i]);delete e._fullLayout._activeSelectionIndex;var a=e._fullLayout.selections[t];e._fullLayout._deselect={xref:a.xref,yref:a.yref},Eue.call(\"_guiRelayout\",e,{selections:n})}}}});var rP=ye((dir,Bue)=>{\"use strict\";var cut=xa(),zue=ba(),Lue=Mr(),j3=Qa(),fut=c_().readPaths,hut=$L(),eP=GB(),Fue=e_().clearOutlineControllers,ZB=va(),YB=ao(),dut=Vs().arrayEditor,Pue=gv(),Iue=Tg(),qb=cM(),Mp=h_(),XB=Mp.getPathString;Bue.exports={draw:KB,drawOne:que,eraseActiveShape:gut,drawLabel:eP};function KB(e){var t=e._fullLayout;t._shapeUpperLayer.selectAll(\"path\").remove(),t._shapeLowerLayer.selectAll(\"path\").remove(),t._shapeUpperLayer.selectAll(\"text\").remove(),t._shapeLowerLayer.selectAll(\"text\").remove();for(var r in t._plots){var n=t._plots[r].shapelayer;n&&(n.selectAll(\"path\").remove(),n.selectAll(\"text\").remove())}for(var i=0;i<t.shapes.length;i++)t.shapes[i].visible===!0&&que(e,i)}function QL(e){return!!e._fullLayout._outlining}function tP(e){return!e._context.edits.shapePosition}function que(e,t){e._fullLayout._paperdiv.selectAll('.shapelayer [data-index=\"'+t+'\"]').remove();var r=Mp.makeShapesOptionsAndPlotinfo(e,t),n=r.options,i=r.plotinfo;if(!n._input||n.visible!==!0)return;if(n.layer===\"above\")o(e._fullLayout._shapeUpperLayer);else if(n.xref===\"paper\"||n.yref===\"paper\")o(e._fullLayout._shapeLowerLayer);else if(n.layer===\"between\")o(i.shapelayerBetween);else if(i._hadPlotinfo){var a=i.mainplotinfo||i;o(a.shapelayer)}else o(e._fullLayout._shapeLowerLayer);function o(s){var l=XB(e,n),u={\"data-index\":t,\"fill-rule\":n.fillrule,d:l},c=n.opacity,f=n.fillcolor,h=n.line.width?n.line.color:\"rgba(0,0,0,0)\",d=n.line.width,v=n.line.dash;!d&&n.editable===!0&&(d=5,v=\"solid\");var x=l[l.length-1]!==\"Z\",b=tP(e)&&n.editable&&e._fullLayout._activeShapeIndex===t;b&&(f=x?\"rgba(0,0,0,0)\":e._fullLayout.activeshape.fillcolor,c=e._fullLayout.activeshape.opacity);var p=s.append(\"g\").classed(\"shape-group\",!0).attr({\"data-index\":t}),E=p.append(\"path\").attr(u).style(\"opacity\",c).call(ZB.stroke,h).call(ZB.fill,f).call(YB.dashLine,v,d);Oue(p,e,n),eP(e,t,n,p);var k;if((b||e._context.edits.shapePosition)&&(k=dut(e.layout,\"shapes\",n)),b){E.style({cursor:\"move\"});var A={element:E.node(),plotinfo:i,gd:e,editHelpers:k,hasText:n.label.text||n.label.texttemplate,isActiveShape:!0},L=fut(l,e);hut(L,E,A)}else e._context.edits.shapePosition?vut(e,E,n,t,s,k):n.editable===!0&&E.style(\"pointer-events\",x||ZB.opacity(f)*c<=.5?\"stroke\":\"all\");E.node().addEventListener(\"click\",function(){return put(e,E)})}}function Oue(e,t,r){var n=(r.xref+r.yref).replace(/paper/g,\"\").replace(/[xyz][1-9]* *domain/g,\"\");YB.setClipUrl(e,n?\"clip\"+t._fullLayout._uid+n:null,t)}function vut(e,t,r,n,i,a){var o=10,s=10,l=r.xsizemode===\"pixel\",u=r.ysizemode===\"pixel\",c=r.type===\"line\",f=r.type===\"path\",h=a.modifyItem,d,v,x,b,p,E,k,A,L,_,C,M,g,P,T,F=cut.select(t.node().parentNode),q=j3.getFromId(e,r.xref),V=j3.getRefType(r.xref),H=j3.getFromId(e,r.yref),X=j3.getRefType(r.yref),G=r.x0shift,N=r.x1shift,W=r.y0shift,re=r.y1shift,ae=function(rt,ot){var Rt=Mp.getDataToPixel(e,q,ot,!1,V);return Rt(rt)},_e=function(rt,ot){var Rt=Mp.getDataToPixel(e,H,ot,!0,X);return Rt(rt)},Me=Mp.getPixelToData(e,q,!1,V),ke=Mp.getPixelToData(e,H,!0,X),ge=Ee(),ie={element:ge.node(),gd:e,prepFn:Ce,doneFn:me,clickFn:Re},Te;Pue.init(ie),ge.node().onmousemove=ze;function Ee(){return c?Ae():t}function Ae(){var rt=10,ot=Math.max(r.line.width,rt),Rt=i.append(\"g\").attr(\"data-index\",n).attr(\"drag-helper\",!0);Rt.append(\"path\").attr(\"d\",t.attr(\"d\")).style({cursor:\"move\",\"stroke-width\":ot,\"stroke-opacity\":\"0\"});var kt={\"fill-opacity\":\"0\"},Ct=Math.max(ot/2,rt);return Rt.append(\"circle\").attr({\"data-line-point\":\"start-point\",cx:l?ae(r.xanchor)+r.x0:ae(r.x0,G),cy:u?_e(r.yanchor)-r.y0:_e(r.y0,W),r:Ct}).style(kt).classed(\"cursor-grab\",!0),Rt.append(\"circle\").attr({\"data-line-point\":\"end-point\",cx:l?ae(r.xanchor)+r.x1:ae(r.x1,N),cy:u?_e(r.yanchor)-r.y1:_e(r.y1,re),r:Ct}).style(kt).classed(\"cursor-grab\",!0),Rt}function ze(rt){if(QL(e)){Te=null;return}if(c)rt.target.tagName===\"path\"?Te=\"move\":Te=rt.target.attributes[\"data-line-point\"].value===\"start-point\"?\"resize-over-start-point\":\"resize-over-end-point\";else{var ot=ie.element.getBoundingClientRect(),Rt=ot.right-ot.left,kt=ot.bottom-ot.top,Ct=rt.clientX-ot.left,Yt=rt.clientY-ot.top,xr=!f&&Rt>o&&kt>s&&!rt.shiftKey?Pue.getCursor(Ct/Rt,1-Yt/kt):\"move\";Iue(t,xr),Te=xr.split(\"-\")[0]}}function Ce(rt){QL(e)||(l&&(p=ae(r.xanchor)),u&&(E=_e(r.yanchor)),r.type===\"path\"?T=r.path:(d=l?r.x0:ae(r.x0),v=u?r.y0:_e(r.y0),x=l?r.x1:ae(r.x1),b=u?r.y1:_e(r.y1)),d<x?(L=d,g=\"x0\",_=x,P=\"x1\"):(L=x,g=\"x1\",_=d,P=\"x0\"),!u&&v<b||u&&v>b?(k=v,C=\"y0\",A=b,M=\"y1\"):(k=b,C=\"y1\",A=v,M=\"y0\"),ze(rt),nt(i,r),qt(t,r,e),ie.moveFn=Te===\"move\"?ce:Ge,ie.altKey=rt.altKey)}function me(){QL(e)||(Iue(t),ct(i),Oue(t,e,r),zue.call(\"_guiRelayout\",e,a.getUpdateObj()))}function Re(){QL(e)||ct(i)}function ce(rt,ot){if(r.type===\"path\"){var Rt=function(Yt){return Yt},kt=Rt,Ct=Rt;l?h(\"xanchor\",r.xanchor=Me(p+rt)):(kt=function(xr){return Me(ae(xr)+rt)},q&&q.type===\"date\"&&(kt=Mp.encodeDate(kt))),u?h(\"yanchor\",r.yanchor=ke(E+ot)):(Ct=function(xr){return ke(_e(xr)+ot)},H&&H.type===\"date\"&&(Ct=Mp.encodeDate(Ct))),h(\"path\",r.path=Rue(T,kt,Ct))}else l?h(\"xanchor\",r.xanchor=Me(p+rt)):(h(\"x0\",r.x0=Me(d+rt)),h(\"x1\",r.x1=Me(x+rt))),u?h(\"yanchor\",r.yanchor=ke(E+ot)):(h(\"y0\",r.y0=ke(v+ot)),h(\"y1\",r.y1=ke(b+ot)));t.attr(\"d\",XB(e,r)),nt(i,r),eP(e,n,r,F)}function Ge(rt,ot){if(f){var Rt=function(_r){return _r},kt=Rt,Ct=Rt;l?h(\"xanchor\",r.xanchor=Me(p+rt)):(kt=function(Br){return Me(ae(Br)+rt)},q&&q.type===\"date\"&&(kt=Mp.encodeDate(kt))),u?h(\"yanchor\",r.yanchor=ke(E+ot)):(Ct=function(Br){return ke(_e(Br)+ot)},H&&H.type===\"date\"&&(Ct=Mp.encodeDate(Ct))),h(\"path\",r.path=Rue(T,kt,Ct))}else if(c){if(Te===\"resize-over-start-point\"){var Yt=d+rt,xr=u?v-ot:v+ot;h(\"x0\",r.x0=l?Yt:Me(Yt)),h(\"y0\",r.y0=u?xr:ke(xr))}else if(Te===\"resize-over-end-point\"){var er=x+rt,Ke=u?b-ot:b+ot;h(\"x1\",r.x1=l?er:Me(er)),h(\"y1\",r.y1=u?Ke:ke(Ke))}}else{var xt=function(_r){return Te.indexOf(_r)!==-1},bt=xt(\"n\"),Lt=xt(\"s\"),St=xt(\"w\"),Et=xt(\"e\"),dt=bt?k+ot:k,Ht=Lt?A+ot:A,$t=St?L+rt:L,fr=Et?_+rt:_;u&&(bt&&(dt=k-ot),Lt&&(Ht=A-ot)),(!u&&Ht-dt>s||u&&dt-Ht>s)&&(h(C,r[C]=u?dt:ke(dt)),h(M,r[M]=u?Ht:ke(Ht))),fr-$t>o&&(h(g,r[g]=l?$t:Me($t)),h(P,r[P]=l?fr:Me(fr)))}t.attr(\"d\",XB(e,r)),nt(i,r),eP(e,n,r,F)}function nt(rt,ot){(l||u)&&Rt();function Rt(){var kt=ot.type!==\"path\",Ct=rt.selectAll(\".visual-cue\").data([0]),Yt=1;Ct.enter().append(\"path\").attr({fill:\"#fff\",\"fill-rule\":\"evenodd\",stroke:\"#000\",\"stroke-width\":Yt}).classed(\"visual-cue\",!0);var xr=ae(l?ot.xanchor:Lue.midRange(kt?[ot.x0,ot.x1]:Mp.extractPathCoords(ot.path,qb.paramIsX))),er=_e(u?ot.yanchor:Lue.midRange(kt?[ot.y0,ot.y1]:Mp.extractPathCoords(ot.path,qb.paramIsY)));if(xr=Mp.roundPositionForSharpStrokeRendering(xr,Yt),er=Mp.roundPositionForSharpStrokeRendering(er,Yt),l&&u){var Ke=\"M\"+(xr-1-Yt)+\",\"+(er-1-Yt)+\"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z\";Ct.attr(\"d\",Ke)}else if(l){var xt=\"M\"+(xr-1-Yt)+\",\"+(er-9-Yt)+\"v18 h2 v-18 Z\";Ct.attr(\"d\",xt)}else{var bt=\"M\"+(xr-9-Yt)+\",\"+(er-1-Yt)+\"h18 v2 h-18 Z\";Ct.attr(\"d\",bt)}}}function ct(rt){rt.selectAll(\".visual-cue\").remove()}function qt(rt,ot,Rt){var kt=ot.xref,Ct=ot.yref,Yt=j3.getFromId(Rt,kt),xr=j3.getFromId(Rt,Ct),er=\"\";kt!==\"paper\"&&!Yt.autorange&&(er+=kt),Ct!==\"paper\"&&!xr.autorange&&(er+=Ct),YB.setClipUrl(rt,er?\"clip\"+Rt._fullLayout._uid+er:null,Rt)}}function Rue(e,t,r){return e.replace(qb.segmentRE,function(n){var i=0,a=n.charAt(0),o=qb.paramIsX[a],s=qb.paramIsY[a],l=qb.numParams[a],u=n.substr(1).replace(qb.paramRE,function(c){return i>=l||(o[i]?c=t(c):s[i]&&(c=r(c)),i++),c});return a+u})}function put(e,t){if(tP(e)){var r=t.node(),n=+r.getAttribute(\"data-index\");if(n>=0){if(n===e._fullLayout._activeShapeIndex){Due(e);return}e._fullLayout._activeShapeIndex=n,e._fullLayout._deactivateShape=Due,KB(e)}}}function Due(e){if(tP(e)){var t=e._fullLayout._activeShapeIndex;t>=0&&(Fue(e),delete e._fullLayout._activeShapeIndex,KB(e))}}function gut(e){if(tP(e)){Fue(e);var t=e._fullLayout._activeShapeIndex,r=(e.layout||{}).shapes||[];if(t<r.length){for(var n=[],i=0;i<r.length;i++)i!==t&&n.push(r[i]);return delete e._fullLayout._activeShapeIndex,zue.call(\"_guiRelayout\",e,{shapes:n})}}}});var QB=ye((vir,Xue)=>{\"use strict\";var S0=ba(),Nue=Xu(),Uue=af(),al=UL(),mut=rP().eraseActiveShape,iP=Mr(),Os=iP._,ol=Xue.exports={};ol.toImage={name:\"toImage\",title:function(e){var t=e._context.toImageButtonOptions||{},r=t.format||\"png\";return r===\"png\"?Os(e,\"Download plot as a png\"):Os(e,\"Download plot\")},icon:al.camera,click:function(e){var t=e._context.toImageButtonOptions,r={format:t.format||\"png\"};iP.notifier(Os(e,\"Taking snapshot - this may take a few seconds\"),\"long\"),[\"filename\",\"width\",\"height\",\"scale\"].forEach(function(n){n in t&&(r[n]=t[n])}),S0.call(\"downloadImage\",e,r).then(function(n){iP.notifier(Os(e,\"Snapshot succeeded\")+\" - \"+n,\"long\")}).catch(function(){iP.notifier(Os(e,\"Sorry, there was a problem downloading your snapshot!\"),\"long\")})}};ol.sendDataToCloud={name:\"sendDataToCloud\",title:function(e){return Os(e,\"Edit in Chart Studio\")},icon:al.disk,click:function(e){Nue.sendDataToCloud(e)}};ol.editInChartStudio={name:\"editInChartStudio\",title:function(e){return Os(e,\"Edit in Chart Studio\")},icon:al.pencil,click:function(e){Nue.sendDataToCloud(e)}};ol.zoom2d={name:\"zoom2d\",_cat:\"zoom\",title:function(e){return Os(e,\"Zoom\")},attr:\"dragmode\",val:\"zoom\",icon:al.zoombox,click:Ov};ol.pan2d={name:\"pan2d\",_cat:\"pan\",title:function(e){return Os(e,\"Pan\")},attr:\"dragmode\",val:\"pan\",icon:al.pan,click:Ov};ol.select2d={name:\"select2d\",_cat:\"select\",title:function(e){return Os(e,\"Box Select\")},attr:\"dragmode\",val:\"select\",icon:al.selectbox,click:Ov};ol.lasso2d={name:\"lasso2d\",_cat:\"lasso\",title:function(e){return Os(e,\"Lasso Select\")},attr:\"dragmode\",val:\"lasso\",icon:al.lasso,click:Ov};ol.drawclosedpath={name:\"drawclosedpath\",title:function(e){return Os(e,\"Draw closed freeform\")},attr:\"dragmode\",val:\"drawclosedpath\",icon:al.drawclosedpath,click:Ov};ol.drawopenpath={name:\"drawopenpath\",title:function(e){return Os(e,\"Draw open freeform\")},attr:\"dragmode\",val:\"drawopenpath\",icon:al.drawopenpath,click:Ov};ol.drawline={name:\"drawline\",title:function(e){return Os(e,\"Draw line\")},attr:\"dragmode\",val:\"drawline\",icon:al.drawline,click:Ov};ol.drawrect={name:\"drawrect\",title:function(e){return Os(e,\"Draw rectangle\")},attr:\"dragmode\",val:\"drawrect\",icon:al.drawrect,click:Ov};ol.drawcircle={name:\"drawcircle\",title:function(e){return Os(e,\"Draw circle\")},attr:\"dragmode\",val:\"drawcircle\",icon:al.drawcircle,click:Ov};ol.eraseshape={name:\"eraseshape\",title:function(e){return Os(e,\"Erase active shape\")},icon:al.eraseshape,click:mut};ol.zoomIn2d={name:\"zoomIn2d\",_cat:\"zoomin\",title:function(e){return Os(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:al.zoom_plus,click:Ov};ol.zoomOut2d={name:\"zoomOut2d\",_cat:\"zoomout\",title:function(e){return Os(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:al.zoom_minus,click:Ov};ol.autoScale2d={name:\"autoScale2d\",_cat:\"autoscale\",title:function(e){return Os(e,\"Autoscale\")},attr:\"zoom\",val:\"auto\",icon:al.autoscale,click:Ov};ol.resetScale2d={name:\"resetScale2d\",_cat:\"resetscale\",title:function(e){return Os(e,\"Reset axes\")},attr:\"zoom\",val:\"reset\",icon:al.home,click:Ov};ol.hoverClosestCartesian={name:\"hoverClosestCartesian\",_cat:\"hoverclosest\",title:function(e){return Os(e,\"Show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:al.tooltip_basic,gravity:\"ne\",click:Ov};ol.hoverCompareCartesian={name:\"hoverCompareCartesian\",_cat:\"hoverCompare\",title:function(e){return Os(e,\"Compare data on hover\")},attr:\"hovermode\",val:function(e){return e._fullLayout._isHoriz?\"y\":\"x\"},icon:al.tooltip_compare,gravity:\"ne\",click:Ov};function Ov(e,t){var r=t.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=e._fullLayout,o={},s=Uue.list(e,null,!0),l=a._cartesianSpikesEnabled,u,c;if(n===\"zoom\"){var f=i===\"in\"?.5:2,h=(1+f)/2,d=(1-f)/2,v;for(c=0;c<s.length;c++)if(u=s[c],!u.fixedrange)if(v=u._name,i===\"auto\")o[v+\".autorange\"]=!0;else if(i===\"reset\")u._rangeInitial0===void 0&&u._rangeInitial1===void 0?o[v+\".autorange\"]=!0:u._rangeInitial0===void 0?(o[v+\".autorange\"]=u._autorangeInitial,o[v+\".range\"]=[null,u._rangeInitial1]):u._rangeInitial1===void 0?(o[v+\".range\"]=[u._rangeInitial0,null],o[v+\".autorange\"]=u._autorangeInitial):o[v+\".range\"]=[u._rangeInitial0,u._rangeInitial1],u._showSpikeInitial!==void 0&&(o[v+\".showspikes\"]=u._showSpikeInitial,l===\"on\"&&!u._showSpikeInitial&&(l=\"off\"));else{var x=[u.r2l(u.range[0]),u.r2l(u.range[1])],b=[h*x[0]+d*x[1],h*x[1]+d*x[0]];o[v+\".range[0]\"]=u.l2r(b[0]),o[v+\".range[1]\"]=u.l2r(b[1])}}else n===\"hovermode\"&&(i===\"x\"||i===\"y\")&&(i=a._isHoriz?\"y\":\"x\",r.setAttribute(\"data-val\",i)),o[n]=i;a._cartesianSpikesEnabled=l,S0.call(\"_guiRelayout\",e,o)}ol.zoom3d={name:\"zoom3d\",_cat:\"zoom\",title:function(e){return Os(e,\"Zoom\")},attr:\"scene.dragmode\",val:\"zoom\",icon:al.zoombox,click:nP};ol.pan3d={name:\"pan3d\",_cat:\"pan\",title:function(e){return Os(e,\"Pan\")},attr:\"scene.dragmode\",val:\"pan\",icon:al.pan,click:nP};ol.orbitRotation={name:\"orbitRotation\",title:function(e){return Os(e,\"Orbital rotation\")},attr:\"scene.dragmode\",val:\"orbit\",icon:al[\"3d_rotate\"],click:nP};ol.tableRotation={name:\"tableRotation\",title:function(e){return Os(e,\"Turntable rotation\")},attr:\"scene.dragmode\",val:\"turntable\",icon:al[\"z-axis\"],click:nP};function nP(e,t){for(var r=t.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=e._fullLayout._subplots.gl3d||[],o={},s=n.split(\".\"),l=0;l<a.length;l++)o[a[l]+\".\"+s[1]]=i;var u=i===\"pan\"?i:\"zoom\";o.dragmode=u,S0.call(\"_guiRelayout\",e,o)}ol.resetCameraDefault3d={name:\"resetCameraDefault3d\",_cat:\"resetCameraDefault\",title:function(e){return Os(e,\"Reset camera to default\")},attr:\"resetDefault\",icon:al.home,click:JB};ol.resetCameraLastSave3d={name:\"resetCameraLastSave3d\",_cat:\"resetCameraLastSave\",title:function(e){return Os(e,\"Reset camera to last save\")},attr:\"resetLastSave\",icon:al.movie,click:JB};function JB(e,t){for(var r=t.currentTarget,n=r.getAttribute(\"data-attr\"),i=n===\"resetLastSave\",a=n===\"resetDefault\",o=e._fullLayout,s=o._subplots.gl3d||[],l={},u=0;u<s.length;u++){var c=s[u],f=c+\".camera\",h=c+\".aspectratio\",d=c+\".aspectmode\",v=o[c]._scene,x;i?(l[f+\".up\"]=v.viewInitial.up,l[f+\".eye\"]=v.viewInitial.eye,l[f+\".center\"]=v.viewInitial.center,x=!0):a&&(l[f+\".up\"]=null,l[f+\".eye\"]=null,l[f+\".center\"]=null,x=!0),x&&(l[h+\".x\"]=v.viewInitial.aspectratio.x,l[h+\".y\"]=v.viewInitial.aspectratio.y,l[h+\".z\"]=v.viewInitial.aspectratio.z,l[d]=v.viewInitial.aspectmode)}S0.call(\"_guiRelayout\",e,l)}ol.hoverClosest3d={name:\"hoverClosest3d\",_cat:\"hoverclosest\",title:function(e){return Os(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:al.tooltip_basic,gravity:\"ne\",click:yut};function Vue(e,t){var r=t.currentTarget,n=r._previousVal,i=e._fullLayout,a=i._subplots.gl3d||[],o=[\"xaxis\",\"yaxis\",\"zaxis\"],s={},l={};if(n)l=n,r._previousVal=null;else{for(var u=0;u<a.length;u++){var c=a[u],f=i[c],h=c+\".hovermode\";s[h]=f.hovermode,l[h]=!1;for(var d=0;d<3;d++){var v=o[d],x=c+\".\"+v+\".showspikes\";l[x]=!1,s[x]=f[v].showspikes}}r._previousVal=s}return l}function yut(e,t){var r=Vue(e,t);S0.call(\"_guiRelayout\",e,r)}ol.zoomInGeo={name:\"zoomInGeo\",_cat:\"zoomin\",title:function(e){return Os(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:al.zoom_plus,click:$B};ol.zoomOutGeo={name:\"zoomOutGeo\",_cat:\"zoomout\",title:function(e){return Os(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:al.zoom_minus,click:$B};ol.resetGeo={name:\"resetGeo\",_cat:\"reset\",title:function(e){return Os(e,\"Reset\")},attr:\"reset\",val:null,icon:al.autoscale,click:$B};ol.hoverClosestGeo={name:\"hoverClosestGeo\",_cat:\"hoverclosest\",title:function(e){return Os(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:al.tooltip_basic,gravity:\"ne\",click:Gue};function $B(e,t){for(var r=t.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=e._fullLayout,o=a._subplots.geo||[],s=0;s<o.length;s++){var l=o[s],u=a[l];if(n===\"zoom\"){var c=u.projection.scale,f=i===\"in\"?2*c:.5*c;S0.call(\"_guiRelayout\",e,l+\".projection.scale\",f)}}n===\"reset\"&&W3(e,\"geo\")}ol.hoverClosestPie={name:\"hoverClosestPie\",_cat:\"hoverclosest\",title:function(e){return Os(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:al.tooltip_basic,gravity:\"ne\",click:Gue};function Hue(e){var t=e._fullLayout;return t.hovermode?!1:t._has(\"cartesian\")?t._isHoriz?\"y\":\"x\":\"closest\"}function Gue(e){var t=Hue(e);S0.call(\"_guiRelayout\",e,\"hovermode\",t)}ol.resetViewSankey={name:\"resetSankeyGroup\",title:function(e){return Os(e,\"Reset view\")},icon:al.home,click:function(e){for(var t={\"node.groups\":[],\"node.x\":[],\"node.y\":[]},r=0;r<e._fullData.length;r++){var n=e._fullData[r]._viewInitial;t[\"node.groups\"].push(n.node.groups.slice()),t[\"node.x\"].push(n.node.x.slice()),t[\"node.y\"].push(n.node.y.slice())}S0.call(\"restyle\",e,t)}};ol.toggleHover={name:\"toggleHover\",title:function(e){return Os(e,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:al.tooltip_basic,gravity:\"ne\",click:function(e,t){var r=Vue(e,t);r.hovermode=Hue(e),S0.call(\"_guiRelayout\",e,r)}};ol.resetViews={name:\"resetViews\",title:function(e){return Os(e,\"Reset views\")},icon:al.home,click:function(e,t){var r=t.currentTarget;r.setAttribute(\"data-attr\",\"zoom\"),r.setAttribute(\"data-val\",\"reset\"),Ov(e,t),r.setAttribute(\"data-attr\",\"resetLastSave\"),JB(e,t),W3(e,\"geo\"),W3(e,\"mapbox\"),W3(e,\"map\")}};ol.toggleSpikelines={name:\"toggleSpikelines\",title:function(e){return Os(e,\"Toggle Spike Lines\")},icon:al.spikeline,attr:\"_cartesianSpikesEnabled\",val:\"on\",click:function(e){var t=e._fullLayout,r=t._cartesianSpikesEnabled;t._cartesianSpikesEnabled=r===\"on\"?\"off\":\"on\",S0.call(\"_guiRelayout\",e,_ut(e))}};function _ut(e){for(var t=e._fullLayout,r=t._cartesianSpikesEnabled===\"on\",n=Uue.list(e,null,!0),i={},a=0;a<n.length;a++){var o=n[a];i[o._name+\".showspikes\"]=r?!0:o._showSpikeInitial}return i}ol.resetViewMapbox={name:\"resetViewMapbox\",_cat:\"resetView\",title:function(e){return Os(e,\"Reset view\")},attr:\"reset\",icon:al.home,click:function(e){W3(e,\"mapbox\")}};ol.resetViewMap={name:\"resetViewMap\",_cat:\"resetView\",title:function(e){return Os(e,\"Reset view\")},attr:\"reset\",icon:al.home,click:function(e){W3(e,\"map\")}};ol.zoomInMapbox={name:\"zoomInMapbox\",_cat:\"zoomin\",title:function(e){return Os(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:al.zoom_plus,click:jue};ol.zoomInMap={name:\"zoomInMap\",_cat:\"zoomin\",title:function(e){return Os(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:al.zoom_plus,click:Wue};ol.zoomOutMapbox={name:\"zoomOutMapbox\",_cat:\"zoomout\",title:function(e){return Os(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:al.zoom_minus,click:jue};ol.zoomOutMap={name:\"zoomOutMap\",_cat:\"zoomout\",title:function(e){return Os(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:al.zoom_minus,click:Wue};function jue(e,t){Zue(e,t,\"mapbox\")}function Wue(e,t){Zue(e,t,\"map\")}function Zue(e,t,r){for(var n=t.currentTarget,i=n.getAttribute(\"data-val\"),a=e._fullLayout,o=a._subplots[r]||[],s=1.05,l={},u=0;u<o.length;u++){var c=o[u],f=a[c].zoom,h=i===\"in\"?s*f:f/s;l[c+\".zoom\"]=h}S0.call(\"_guiRelayout\",e,l)}function W3(e,t){for(var r=e._fullLayout,n=r._subplots[t]||[],i={},a=0;a<n.length;a++)for(var o=n[a],s=r[o]._subplot,l=s.viewInitial,u=Object.keys(l),c=0;c<u.length;c++){var f=u[c];i[o+\".\"+f]=l[f]}S0.call(\"_guiRelayout\",e,i)}});var eN=ye((pir,$ue)=>{\"use strict\";var Yue=QB(),xut=Object.keys(Yue),Kue=[\"drawline\",\"drawopenpath\",\"drawclosedpath\",\"drawcircle\",\"drawrect\",\"eraseshape\"],Jue=[\"v1hovermode\",\"hoverclosest\",\"hovercompare\",\"togglehover\",\"togglespikelines\"].concat(Kue),Z3=[],but=function(e){if(Jue.indexOf(e._cat||e.name)===-1){var t=e.name,r=(e._cat||e.name).toLowerCase();Z3.indexOf(t)===-1&&Z3.push(t),Z3.indexOf(r)===-1&&Z3.push(r)}};xut.forEach(function(e){but(Yue[e])});Z3.sort();$ue.exports={DRAW_MODES:Kue,backButtons:Jue,foreButtons:Z3}});var tN=ye((mir,Que)=>{\"use strict\";var gir=eN();Que.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\"}}});var tce=ye((yir,ece)=>{\"use strict\";var wut=Mr(),hM=va(),Tut=Vs(),Aut=tN();ece.exports=function(t,r){var n=t.modebar||{},i=Tut.newContainer(r,\"modebar\");function a(s,l){return wut.coerce(n,i,Aut,s,l)}a(\"orientation\"),a(\"bgcolor\",hM.addOpacity(r.paper_bgcolor,.5));var o=hM.contrast(hM.rgb(r.modebar.bgcolor));a(\"color\",hM.addOpacity(o,.3)),a(\"activecolor\",hM.addOpacity(o,.7)),a(\"uirevision\",r.uirevision),a(\"add\"),a(\"remove\")}});var ace=ye((_ir,nce)=>{\"use strict\";var rN=xa(),Sut=uo(),aP=Mr(),rce=UL(),Mut=e6().version,Eut=new DOMParser;function ice(e){this.container=e.container,this.element=document.createElement(\"div\"),this.update(e.graphInfo,e.buttons),this.container.appendChild(this.element)}var Tm=ice.prototype;Tm.update=function(e,t){this.graphInfo=e;var r=this.graphInfo._context,n=this.graphInfo._fullLayout,i=\"modebar-\"+n._uid;this.element.setAttribute(\"id\",i),this._uid=i,this.element.className=\"modebar\",r.displayModeBar===\"hover\"&&(this.element.className+=\" modebar--hover ease-bg\"),n.modebar.orientation===\"v\"&&(this.element.className+=\" vertical\",t=t.reverse());var a=n.modebar,o=\"#\"+i+\" .modebar-group\";document.querySelectorAll(o).forEach(function(f){f.style.backgroundColor=a.bgcolor});var s=!this.hasButtons(t),l=this.hasLogo!==r.displaylogo,u=this.locale!==r.locale;if(this.locale=r.locale,(s||l||u)&&(this.removeAllButtons(),this.updateButtons(t),r.watermark||r.displaylogo)){var c=this.getLogo();r.watermark&&(c.className=c.className+\" watermark\"),n.modebar.orientation===\"v\"?this.element.insertBefore(c,this.element.childNodes[0]):this.element.appendChild(c),this.hasLogo=!0}this.updateActiveButton(),aP.setStyleOnHover(\"#\"+i+\" .modebar-btn\",\".active\",\".icon path\",\"fill: \"+a.activecolor,\"fill: \"+a.color,this.element)};Tm.updateButtons=function(e){var t=this;this.buttons=e,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(r){var n=t.createGroup();r.forEach(function(i){var a=i.name;if(!a)throw new Error(\"must provide button 'name' in button config\");if(t.buttonsNames.indexOf(a)!==-1)throw new Error(\"button name '\"+a+\"' is taken\");t.buttonsNames.push(a);var o=t.createButton(i);t.buttonElements.push(o),n.appendChild(o)}),t.element.appendChild(n)})};Tm.createGroup=function(){var e=document.createElement(\"div\");e.className=\"modebar-group\";var t=this.graphInfo._fullLayout.modebar;return e.style.backgroundColor=t.bgcolor,e};Tm.createButton=function(e){var t=this,r=document.createElement(\"a\");r.setAttribute(\"rel\",\"tooltip\"),r.className=\"modebar-btn\";var n=e.title;n===void 0?n=e.name:typeof n==\"function\"&&(n=n(this.graphInfo)),(n||n===0)&&r.setAttribute(\"data-title\",n),e.attr!==void 0&&r.setAttribute(\"data-attr\",e.attr);var i=e.val;i!==void 0&&(typeof i==\"function\"&&(i=i(this.graphInfo)),r.setAttribute(\"data-val\",i));var a=e.click;if(typeof a!=\"function\")throw new Error(\"must provide button 'click' function in button config\");r.addEventListener(\"click\",function(s){e.click(t.graphInfo,s),t.updateActiveButton(s.currentTarget)}),r.setAttribute(\"data-toggle\",e.toggle||!1),e.toggle&&rN.select(r).classed(\"active\",!0);var o=e.icon;return typeof o==\"function\"?r.appendChild(o()):r.appendChild(this.createIcon(o||rce.question)),r.setAttribute(\"data-gravity\",e.gravity||\"n\"),r};Tm.createIcon=function(e){var t=Sut(e.height)?Number(e.height):e.ascent-e.descent,r=\"http://www.w3.org/2000/svg\",n;if(e.path){n=document.createElementNS(r,\"svg\"),n.setAttribute(\"viewBox\",[0,0,e.width,t].join(\" \")),n.setAttribute(\"class\",\"icon\");var i=document.createElementNS(r,\"path\");i.setAttribute(\"d\",e.path),e.transform?i.setAttribute(\"transform\",e.transform):e.ascent!==void 0&&i.setAttribute(\"transform\",\"matrix(1 0 0 -1 0 \"+e.ascent+\")\"),n.appendChild(i)}if(e.svg){var a=Eut.parseFromString(e.svg,\"application/xml\");n=a.childNodes[0]}return n.setAttribute(\"height\",\"1em\"),n.setAttribute(\"width\",\"1em\"),n};Tm.updateActiveButton=function(e){var t=this.graphInfo._fullLayout,r=e!==void 0?e.getAttribute(\"data-attr\"):null;this.buttonElements.forEach(function(n){var i=n.getAttribute(\"data-val\")||!0,a=n.getAttribute(\"data-attr\"),o=n.getAttribute(\"data-toggle\")===\"true\",s=rN.select(n),l=function(f,h){var d=t.modebar,v=f.querySelector(\".icon path\");v&&(h||f.matches(\":hover\")?v.style.fill=d.activecolor:v.style.fill=d.color)};if(o){if(a===r){var u=!s.classed(\"active\");s.classed(\"active\",u),l(n,u)}}else{var c=a===null?a:aP.nestedProperty(t,a).get();s.classed(\"active\",c===i),l(n,c===i)}})};Tm.hasButtons=function(e){var t=this.buttons;if(!t||e.length!==t.length)return!1;for(var r=0;r<e.length;++r){if(e[r].length!==t[r].length)return!1;for(var n=0;n<e[r].length;n++)if(e[r][n].name!==t[r][n].name)return!1}return!0};function kut(e){return e+\" (v\"+Mut+\")\"}Tm.getLogo=function(){var e=this.createGroup(),t=document.createElement(\"a\");return t.href=\"https://plotly.com/\",t.target=\"_blank\",t.setAttribute(\"data-title\",kut(aP._(this.graphInfo,\"Produced with Plotly.js\"))),t.className=\"modebar-btn plotlyjsicon modebar-btn--logo\",t.appendChild(this.createIcon(rce.newplotlylogo)),e.appendChild(t),e};Tm.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1};Tm.destroy=function(){aP.removeElement(this.container.querySelector(\".modebar\"))};function Cut(e,t){var r=e._fullLayout,n=new ice({graphInfo:e,container:r._modebardiv.node(),buttons:t});return r._privateplot&&rN.select(n.element).append(\"span\").classed(\"badge-private float--left\",!0).text(\"PRIVATE\"),n}nce.exports=Cut});var lce=ye((xir,sce)=>{\"use strict\";var Lut=af(),oce=lu(),iN=ba(),Put=rp().isUnifiedHover,Iut=ace(),oP=QB(),Rut=eN().DRAW_MODES,Dut=Mr().extendDeep;sce.exports=function(t){var r=t._fullLayout,n=t._context,i=r._modeBar;if(!n.displayModeBar&&!n.watermark){i&&(i.destroy(),delete r._modeBar);return}if(!Array.isArray(n.modeBarButtonsToRemove))throw new Error([\"*modeBarButtonsToRemove* configuration options\",\"must be an array.\"].join(\" \"));if(!Array.isArray(n.modeBarButtonsToAdd))throw new Error([\"*modeBarButtonsToAdd* configuration options\",\"must be an array.\"].join(\" \"));var a=n.modeBarButtons,o;Array.isArray(a)&&a.length?o=Nut(a):!n.displayModeBar&&n.watermark?o=[]:o=zut(t),i?i.update(t,o):r._modeBar=Iut(t,o)};function zut(e){var t=e._fullLayout,r=e._fullData,n=e._context;function i(N,W){if(typeof W==\"string\"){if(W.toLowerCase()===N.toLowerCase())return!0}else{var re=W.name,ae=W._cat||W.name;if(re===N||ae===N.toLowerCase())return!0}return!1}var a=t.modebar.add;typeof a==\"string\"&&(a=[a]);var o=t.modebar.remove;typeof o==\"string\"&&(o=[o]);var s=n.modeBarButtonsToAdd.concat(a.filter(function(N){for(var W=0;W<n.modeBarButtonsToRemove.length;W++)if(i(N,n.modeBarButtonsToRemove[W]))return!1;return!0})),l=n.modeBarButtonsToRemove.concat(o.filter(function(N){for(var W=0;W<n.modeBarButtonsToAdd.length;W++)if(i(N,n.modeBarButtonsToAdd[W]))return!1;return!0})),u=t._has(\"cartesian\"),c=t._has(\"gl3d\"),f=t._has(\"geo\"),h=t._has(\"pie\"),d=t._has(\"funnelarea\"),v=t._has(\"ternary\"),x=t._has(\"mapbox\"),b=t._has(\"map\"),p=t._has(\"polar\"),E=t._has(\"smith\"),k=t._has(\"sankey\"),A=Fut(t),L=Put(t.hovermode),_=[];function C(N){if(N.length){for(var W=[],re=0;re<N.length;re++){for(var ae=N[re],_e=oP[ae],Me=_e.name.toLowerCase(),ke=(_e._cat||_e.name).toLowerCase(),ge=!1,ie=0;ie<l.length;ie++){var Te=l[ie].toLowerCase();if(Te===Me||Te===ke){ge=!0;break}}ge||W.push(oP[ae])}_.push(W)}}var M=[\"toImage\"];n.showEditInChartStudio?M.push(\"editInChartStudio\"):n.showSendToCloud&&M.push(\"sendDataToCloud\"),C(M);var g=[],P=[],T=[],F=[];(u||h||d||v)+f+c+x+b+p+E>1?(P=[\"toggleHover\"],T=[\"resetViews\"]):f?(g=[\"zoomInGeo\",\"zoomOutGeo\"],P=[\"hoverClosestGeo\"],T=[\"resetGeo\"]):c?(P=[\"hoverClosest3d\"],T=[\"resetCameraDefault3d\",\"resetCameraLastSave3d\"]):x?(g=[\"zoomInMapbox\",\"zoomOutMapbox\"],P=[\"toggleHover\"],T=[\"resetViewMapbox\"]):b?(g=[\"zoomInMap\",\"zoomOutMap\"],P=[\"toggleHover\"],T=[\"resetViewMap\"]):h?P=[\"hoverClosestPie\"]:k?(P=[\"hoverClosestCartesian\",\"hoverCompareCartesian\"],T=[\"resetViewSankey\"]):P=[\"toggleHover\"],u&&P.push(\"toggleSpikelines\",\"hoverClosestCartesian\",\"hoverCompareCartesian\"),(Out(r)||L)&&(P=[]),u&&!A&&(g=[\"zoomIn2d\",\"zoomOut2d\",\"autoScale2d\"],T[0]!==\"resetViews\"&&(T=[\"resetScale2d\"])),c?F=[\"zoom3d\",\"pan3d\",\"orbitRotation\",\"tableRotation\"]:u&&!A||v?F=[\"zoom2d\",\"pan2d\"]:x||b||f?F=[\"pan2d\"]:p&&(F=[\"zoom2d\"]),qut(r)&&F.push(\"select2d\",\"lasso2d\");var q=[],V=function(N){q.indexOf(N)===-1&&P.indexOf(N)!==-1&&q.push(N)};if(Array.isArray(s)){for(var H=[],X=0;X<s.length;X++){var G=s[X];typeof G==\"string\"?(G=G.toLowerCase(),Rut.indexOf(G)!==-1?(t._has(\"mapbox\")||t._has(\"map\")||t._has(\"cartesian\"))&&F.push(G):G===\"togglespikelines\"?V(\"toggleSpikelines\"):G===\"togglehover\"?V(\"toggleHover\"):G===\"hovercompare\"?V(\"hoverCompareCartesian\"):G===\"hoverclosest\"?(V(\"hoverClosestCartesian\"),V(\"hoverClosestGeo\"),V(\"hoverClosest3d\"),V(\"hoverClosestPie\")):G===\"v1hovermode\"&&(V(\"hoverClosestCartesian\"),V(\"hoverCompareCartesian\"),V(\"hoverClosestGeo\"),V(\"hoverClosest3d\"),V(\"hoverClosestPie\"))):H.push(G)}s=H}return C(F),C(g.concat(T)),C(q),But(_,s)}function Fut(e){for(var t=Lut.list({_fullLayout:e},null,!0),r=0;r<t.length;r++)if(!t[r].fixedrange)return!1;return!0}function qut(e){for(var t=!1,r=0;r<e.length&&!t;r++){var n=e[r];!n._module||!n._module.selectPoints||(iN.traceIs(n,\"scatter-like\")?(oce.hasMarkers(n)||oce.hasText(n))&&(t=!0):iN.traceIs(n,\"box-violin\")?(n.boxpoints===\"all\"||n.points===\"all\")&&(t=!0):t=!0)}return t}function Out(e){for(var t=0;t<e.length;t++)if(!iN.traceIs(e[t],\"noHover\"))return!1;return!0}function But(e,t){if(t.length)if(Array.isArray(t[0]))for(var r=0;r<t.length;r++)e.push(t[r]);else e.push(t);return e}function Nut(e){for(var t=Dut([],e),r=0;r<t.length;r++)for(var n=t[r],i=0;i<n.length;i++){var a=n[i];if(typeof a==\"string\")if(oP[a]!==void 0)t[r][i]=oP[a];else throw new Error([\"*modeBarButtons* configuration options\",\"invalid button name\"].join(\" \"))}return t}});var nN=ye((bir,uce)=>{\"use strict\";uce.exports={moduleType:\"component\",name:\"modebar\",layoutAttributes:tN(),supplyLayoutDefaults:tce(),manage:lce()}});var aN=ye((wir,cce)=>{\"use strict\";var Uut=Nh().FROM_BL;cce.exports=function(t,r,n){n===void 0&&(n=Uut[t.constraintoward||\"center\"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*n;t.range=t._input.range=[t.l2r(a+(i[0]-a)*r),t.l2r(a+(i[1]-a)*r)],t.setScale()}});var Bb=ye(dM=>{\"use strict\";var Ob=Mr(),oN=wg(),Mg=af().id2name,Vut=Cd(),fce=aN(),Hut=ym(),Gut=es().ALMOST_EQUAL,jut=Nh().FROM_BL;dM.handleDefaults=function(e,t,r){var n=r.axIds,i=r.axHasImage,a=t._axisConstraintGroups=[],o=t._axisMatchGroups=[],s,l,u,c,f,h,d,v;for(s=0;s<n.length;s++)c=Mg(n[s]),f=e[c],h=t[c],Wut(f,h,{axIds:n,layoutOut:t,hasImage:i[c]});function x(M,g){for(s=0;s<M.length;s++){l=M[s];for(u in l)t[Mg(u)][g]=l}}for(x(o,\"_matchGroup\"),s=0;s<a.length;s++){l=a[s];for(u in l)if(h=t[Mg(u)],h.fixedrange){for(var b in l){var p=Mg(b);(e[p]||{}).fixedrange===!1&&Ob.warn(\"fixedrange was specified as false for axis \"+p+\" but was overridden because another axis in its constraint group has fixedrange true\"),t[p].fixedrange=!0}break}}for(s=0;s<a.length;){l=a[s];for(u in l){h=t[Mg(u)],h._matchGroup&&Object.keys(h._matchGroup).length===Object.keys(l).length&&(a.splice(s,1),s--);break}s++}x(a,\"_constraintGroup\");var E=[\"constrain\",\"range\",\"autorange\",\"rangemode\",\"rangebreaks\",\"categoryorder\",\"categoryarray\"],k=!1,A=!1;function L(){v=h[d],d===\"rangebreaks\"&&(A=h._hasDayOfWeekBreaks)}for(s=0;s<o.length;s++){l=o[s];for(var _=0;_<E.length;_++){d=E[_],v=null;var C;for(u in l)if(c=Mg(u),f=e[c],h=t[c],d in h){if(!h.matches&&(C=h,d in f)){L();break}v===null&&d in f&&L()}if(d===\"range\"&&v&&f.range&&f.range.length===2&&f.range[0]!==null&&f.range[1]!==null&&(k=!0),d===\"autorange\"&&v===null&&k&&(v=!1),v===null&&d in C&&(v=C[d]),v!==null)for(u in l)h=t[Mg(u)],h[d]=d===\"range\"?v.slice():v,d===\"rangebreaks\"&&(h._hasDayOfWeekBreaks=A,Hut(h,t))}}};function Wut(e,t,r){var n=r.axIds,i=r.layoutOut,a=r.hasImage,o=i._axisConstraintGroups,s=i._axisMatchGroups,l=t._id,u=l.charAt(0),c=((i._splomAxes||{})[u]||{})[l]||{},f=t._id,h=f.charAt(0)===\"x\";t._matchGroup=null,t._constraintGroup=null;function d(F,q){return Ob.coerce(e,t,Vut,F,q)}d(\"constrain\",a?\"domain\":\"range\"),Ob.coerce(e,t,{constraintoward:{valType:\"enumerated\",values:h?[\"left\",\"center\",\"right\"]:[\"bottom\",\"middle\",\"top\"],dflt:h?\"center\":\"middle\"}},\"constraintoward\");var v=t.type,x,b,p=[];for(x=0;x<n.length;x++)if(b=n[x],b!==f){var E=i[Mg(b)];E.type===v&&p.push(b)}var k=vce(o,f);if(k){var A=[];for(x=0;x<p.length;x++)b=p[x],k[b]||A.push(b);p=A}var L=p.length,_,C;L&&(e.matches||c.matches)&&(_=Ob.coerce(e,t,{matches:{valType:\"enumerated\",values:p,dflt:p.indexOf(c.matches)!==-1?c.matches:void 0}},\"matches\"));var M=a&&!h?t.anchor:void 0;if(L&&!_&&(e.scaleanchor||M)&&(C=Ob.coerce(e,t,{scaleanchor:{valType:\"enumerated\",values:p.concat([!1])}},\"scaleanchor\",M)),_){t._matchGroup=sN(s,f,_,1);var g=i[Mg(_)],P=hce(i,t)/hce(i,g);h!==(_.charAt(0)===\"x\")&&(P=(h?\"x\":\"y\")+P),sN(o,f,_,P)}else e.matches&&n.indexOf(e.matches)!==-1&&Ob.warn(\"ignored \"+t._name+'.matches: \"'+e.matches+'\" to avoid an infinite loop');if(C){var T=d(\"scaleratio\");T||(T=t.scaleratio=1),sN(o,f,C,T)}else e.scaleanchor&&n.indexOf(e.scaleanchor)!==-1&&Ob.warn(\"ignored \"+t._name+'.scaleanchor: \"'+e.scaleanchor+'\" to avoid either an infinite loop and possibly inconsistent scaleratios, or because this axis declares a *matches* constraint.')}function hce(e,t){var r=t.domain;return r||(r=e[Mg(t.overlaying)].domain),r[1]-r[0]}function vce(e,t){for(var r=0;r<e.length;r++)if(e[r][t])return e[r];return null}function sN(e,t,r,n){var i,a,o,s,l,u=vce(e,t);u===null?(u={},u[t]=1,l=e.length,e.push(u)):l=e.indexOf(u);var c=Object.keys(u);for(i=0;i<e.length;i++)if(o=e[i],i!==l&&o[r]){var f=o[r];for(a=0;a<c.length;a++)s=c[a],o[s]=lN(f,lN(n,u[s]));e.splice(l,1);return}if(n!==1)for(a=0;a<c.length;a++){var h=c[a];u[h]=lN(n,u[h])}u[r]=1}function lN(e,t){var r=\"\",n=\"\",i,a;typeof e==\"string\"&&(r=e.match(/^[xy]*/)[0],i=r.length,e=+e.substr(i)),typeof t==\"string\"&&(n=t.match(/^[xy]*/)[0],a=n.length,t=+t.substr(a));var o=e*t;return!i&&!a?o:!i||!a||r.charAt(0)===n.charAt(0)?r+n+e*t:i===a?o:(i>a?r.substr(a):n.substr(i))+o}function Zut(e,t){for(var r=t._size,n=r.h/r.w,i={},a=Object.keys(e),o=0;o<a.length;o++){var s=a[o],l=e[s];if(typeof l==\"string\"){var u=l.match(/^[xy]*/)[0],c=u.length;l=+l.substr(c);for(var f=u.charAt(0)===\"y\"?n:1/n,h=0;h<c;h++)l*=f}i[s]=l}return i}dM.enforce=function(t){var r=t._fullLayout,n=r._axisConstraintGroups||[],i,a,o,s,l,u,c,f;for(i=0;i<n.length;i++){o=Zut(n[i],r);var h=Object.keys(o),d=1/0,v=0,x=1/0,b={},p={},E=!1;for(a=0;a<h.length;a++)s=h[a],p[s]=l=r[Mg(s)],l._inputDomain?l.domain=l._inputDomain.slice():l._inputDomain=l.domain.slice(),l._inputRange||(l._inputRange=l.range.slice()),l.setScale(),b[s]=u=Math.abs(l._m)/o[s],d=Math.min(d,u),(l.constrain===\"domain\"||!l._constraintShrinkable)&&(x=Math.min(x,u)),delete l._constraintShrinkable,v=Math.max(v,u),l.constrain===\"domain\"&&(E=!0);if(!(d>Gut*v&&!E)){for(a=0;a<h.length;a++)if(s=h[a],u=b[s],l=p[s],c=l.constrain,u!==x||c===\"domain\")if(f=u/x,c===\"range\")fce(l,f);else{var k=l._inputDomain,A=(l.domain[1]-l.domain[0])/(k[1]-k[0]),L=(l.r2l(l.range[1])-l.r2l(l.range[0]))/(l.r2l(l._inputRange[1])-l.r2l(l._inputRange[0]));if(f/=A,f*L<1){l.domain=l._input.domain=k.slice(),fce(l,f);continue}if(L<1&&(l.range=l._input.range=l._inputRange.slice(),f*=L),l.autorange){var _=l.r2l(l.range[0]),C=l.r2l(l.range[1]),M=(_+C)/2,g=M,P=M,T=Math.abs(C-M),F=M-T*f*1.0001,q=M+T*f*1.0001,V=oN.makePadFn(r,l,0),H=oN.makePadFn(r,l,1);dce(l,f);var X=Math.abs(l._m),G=oN.concatExtremes(t,l),N=G.min,W=G.max,re,ae;for(ae=0;ae<N.length;ae++)re=N[ae].val-V(N[ae])/X,re>F&&re<g&&(g=re);for(ae=0;ae<W.length;ae++)re=W[ae].val+H(W[ae])/X,re<q&&re>P&&(P=re);var _e=(P-g)/(2*T);f/=_e,g=l.l2r(g),P=l.l2r(P),l.range=l._input.range=_<C?[g,P]:[P,g]}dce(l,f)}}}};dM.getAxisGroup=function(t,r){for(var n=t._axisMatchGroups,i=0;i<n.length;i++){var a=n[i];if(a[r])return\"g\"+i}return r};dM.clean=function(t,r){if(r._inputDomain){for(var n=!1,i=r._id,a=t._fullLayout._axisConstraintGroups,o=0;o<a.length;o++)if(a[o][i]){n=!0;break}(!n||r.constrain!==\"domain\")&&(r._input.domain=r.domain=r._inputDomain,delete r._inputDomain)}};function dce(e,t){var r=e._inputDomain,n=jut[e.constraintoward],i=r[0]+(r[1]-r[0])*n;e.domain=e._input.domain=[i+(r[0]-i)/t,i+(r[1]-i)/t],e.setScale()}});var gM=ye(ld=>{\"use strict\";var lP=xa(),Bv=ba(),Jp=Xu(),M0=Mr(),uN=Pl(),cN=lM(),vM=va(),X3=ao(),pce=Mb(),xce=nN(),pM=Qa(),ky=Nh(),bce=Bb(),Xut=bce.enforce,Yut=bce.clean,gce=wg().doAutoRange,wce=\"start\",Kut=\"middle\",Tce=\"end\",Jut=ad().zindexSeparator;ld.layoutStyles=function(e){return M0.syncOrAsync([Jp.doAutoMargin,Qut],e)};function $ut(e,t,r){for(var n=0;n<r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]>=e[1]||i[1]<=e[0])&&a[0]<t[1]&&a[1]>t[0])return!0}return!1}function Qut(e){var t=e._fullLayout,r=t._size,n=r.p,i=pM.list(e,\"\",!0),a,o,s,l,u,c;if(t._paperdiv.style({width:e._context.responsive&&t.autosize&&!e._context._hasZeroWidth&&!e.layout.width?\"100%\":t.width+\"px\",height:e._context.responsive&&t.autosize&&!e._context._hasZeroHeight&&!e.layout.height?\"100%\":t.height+\"px\"}).selectAll(\".main-svg\").call(X3.setSize,t.width,t.height),e._context.setBackground(e,t.paper_bgcolor),ld.drawMainTitle(e),xce.manage(e),!t._has(\"cartesian\"))return Jp.previousPromises(e);function f(Ce,me,Re){var ce=Ce._lw/2;if(Ce._id.charAt(0)===\"x\"){if(me){if(Re===\"top\")return me._offset-n-ce}else return r.t+r.h*(1-(Ce.position||0))+ce%1;return me._offset+me._length+n+ce}if(me){if(Re===\"right\")return me._offset+me._length+n+ce}else return r.l+r.w*(Ce.position||0)+ce%1;return me._offset-n-ce}for(a=0;a<i.length;a++){l=i[a];var h=l._anchorAxis;l._linepositions={},l._lw=X3.crispRound(e,l.linewidth,1),l._mainLinePosition=f(l,h,l.side),l._mainMirrorPosition=l.mirror&&h?f(l,h,ky.OPPOSITE_SIDE[l.side]):null}var d=[],v=[],x=[],b=vM.opacity(t.paper_bgcolor)===1&&vM.opacity(t.plot_bgcolor)===1&&t.paper_bgcolor===t.plot_bgcolor;for(o in t._plots)if(s=t._plots[o],s.mainplot)s.bg&&s.bg.remove(),s.bg=void 0;else{var p=s.xaxis.domain,E=s.yaxis.domain,k=s.plotgroup;if($ut(p,E,x)&&o.indexOf(Jut)===-1){var A=k.node(),L=s.bg=M0.ensureSingle(k,\"rect\",\"bg\");A.insertBefore(L.node(),A.childNodes[0]),v.push(o)}else k.select(\"rect.bg\").remove(),x.push([p,E]),b||(d.push(o),v.push(o))}var _=t._bgLayer.selectAll(\".bg\").data(d);for(_.enter().append(\"rect\").classed(\"bg\",!0),_.exit().remove(),_.each(function(Ce){t._plots[Ce].bg=lP.select(this)}),a=0;a<v.length;a++)s=t._plots[v[a]],u=s.xaxis,c=s.yaxis,s.bg&&u._offset!==void 0&&c._offset!==void 0&&s.bg.call(X3.setRect,u._offset-n,c._offset-n,u._length+2*n,c._length+2*n).call(vM.fill,t.plot_bgcolor).style(\"stroke-width\",0);if(!t._hasOnlyLargeSploms)for(o in t._plots){s=t._plots[o],u=s.xaxis,c=s.yaxis;var C=s.clipId=\"clip\"+t._uid+o+\"plot\",M=M0.ensureSingleById(t._clips,\"clipPath\",C,function(Ce){Ce.classed(\"plotclip\",!0).append(\"rect\")});s.clipRect=M.select(\"rect\").attr({width:u._length,height:c._length}),X3.setTranslate(s.plot,u._offset,c._offset);var g,P;s._hasClipOnAxisFalse?(g=null,P=C):(g=C,P=null),X3.setClipUrl(s.plot,g,e),s.layerClipId=P}var T,F,q,V,H,X,G,N,W,re,ae,_e,Me;function ke(Ce){return\"M\"+T+\",\"+Ce+\"H\"+F}function ge(Ce){return\"M\"+u._offset+\",\"+Ce+\"h\"+u._length}function ie(Ce){return\"M\"+Ce+\",\"+N+\"V\"+G}function Te(Ce){return c._shift!==void 0&&(Ce+=c._shift),\"M\"+Ce+\",\"+c._offset+\"v\"+c._length}function Ee(Ce,me,Re){if(!Ce.showline||o!==Ce._mainSubplot)return\"\";if(!Ce._anchorAxis)return Re(Ce._mainLinePosition);var ce=me(Ce._mainLinePosition);return Ce.mirror&&(ce+=me(Ce._mainMirrorPosition)),ce}for(o in t._plots){s=t._plots[o],u=s.xaxis,c=s.yaxis;var Ae=\"M0,0\";mce(u,o)&&(H=sP(u,\"left\",c,i),T=u._offset-(H?n+H:0),X=sP(u,\"right\",c,i),F=u._offset+u._length+(X?n+X:0),q=f(u,c,\"bottom\"),V=f(u,c,\"top\"),Me=!u._anchorAxis||o!==u._mainSubplot,Me&&(u.mirror===\"allticks\"||u.mirror===\"all\")&&(u._linepositions[o]=[q,V]),Ae=Ee(u,ke,ge),Me&&u.showline&&(u.mirror===\"all\"||u.mirror===\"allticks\")&&(Ae+=ke(q)+ke(V)),s.xlines.style(\"stroke-width\",u._lw+\"px\").call(vM.stroke,u.showline?u.linecolor:\"rgba(0,0,0,0)\")),s.xlines.attr(\"d\",Ae);var ze=\"M0,0\";mce(c,o)&&(ae=sP(c,\"bottom\",u,i),G=c._offset+c._length+(ae?n:0),_e=sP(c,\"top\",u,i),N=c._offset-(_e?n:0),W=f(c,u,\"left\"),re=f(c,u,\"right\"),Me=!c._anchorAxis||o!==c._mainSubplot,Me&&(c.mirror===\"allticks\"||c.mirror===\"all\")&&(c._linepositions[o]=[W,re]),ze=Ee(c,ie,Te),Me&&c.showline&&(c.mirror===\"all\"||c.mirror===\"allticks\")&&(ze+=ie(W)+ie(re)),s.ylines.style(\"stroke-width\",c._lw+\"px\").call(vM.stroke,c.showline?c.linecolor:\"rgba(0,0,0,0)\")),s.ylines.attr(\"d\",ze)}return pM.makeClipPaths(e),Jp.previousPromises(e)}function mce(e,t){return(e.ticks||e.showline)&&(t===e._mainSubplot||e.mirror===\"all\"||e.mirror===\"allticks\")}function yce(e,t,r){if(!r.showline||!r._lw)return!1;if(r.mirror===\"all\"||r.mirror===\"allticks\")return!0;var n=r._anchorAxis;if(!n)return!1;var i=ky.FROM_BL[t];return r.side===t?n.domain[i]===e.domain[i]:r.mirror&&n.domain[1-i]===e.domain[1-i]}function sP(e,t,r,n){if(yce(e,t,r))return r._lw;for(var i=0;i<n.length;i++){var a=n[i];if(a._mainAxis===r._mainAxis&&yce(e,t,a))return a._lw}return 0}ld.drawMainTitle=function(e){var t=e._fullLayout.title,r=e._fullLayout,n=oct(r),i=sct(r),a=act(r,i),o=nct(r,n);if(pce.draw(e,\"gtitle\",{propContainer:r,propName:\"title.text\",subtitlePropName:\"title.subtitle.text\",placeholder:r._dfltTitle.plot,subtitlePlaceholder:r._dfltTitle.subtitle,attributes:{x:o,y:a,\"text-anchor\":n,dy:i}}),t.text&&t.automargin){var s=lP.selectAll(\".gtitle\"),l=X3.bBox(lP.selectAll(\".g-gtitle\").node()).height,u=rct(e,t,l);if(u>0){ict(e,a,u,l),s.attr({x:o,y:a,\"text-anchor\":n,dy:_ce(t.yanchor)}).call(uN.positionText,o,a);var c=(t.text.match(uN.BR_TAG_ALL)||[]).length;if(c){var f=ky.LINE_SPACING*c+ky.MID_SHIFT;t.y===0&&(f=-f),s.selectAll(\".line\").each(function(){var b=+this.getAttribute(\"dy\").slice(0,-2)-f+\"em\";this.setAttribute(\"dy\",b)})}var h=lP.selectAll(\".gtitle-subtitle\");if(h.node()){var d=s.node().getBBox(),v=d.y+d.height,x=v+pce.SUBTITLE_PADDING_EM*t.subtitle.font.size;h.attr({x:o,y:x,\"text-anchor\":n,dy:_ce(t.yanchor)}).call(uN.positionText,o,x)}}}};function ect(e,t,r,n,i){var a=t.yref===\"paper\"?e._fullLayout._size.h:e._fullLayout.height,o=M0.isTopAnchor(t)?n:n-i,s=r===\"b\"?a-o:o;return M0.isTopAnchor(t)&&r===\"t\"||M0.isBottomAnchor(t)&&r===\"b\"?!1:s<i}function tct(e,t,r,n,i){var a=0;return r===\"middle\"&&(a+=i/2),e===\"t\"?(r===\"top\"&&(a+=i),a+=n-t*n):(r===\"bottom\"&&(a+=i),a+=t*n),a}function rct(e,t,r){var n=t.y,i=t.yanchor,a=n>.5?\"t\":\"b\",o=e._fullLayout.margin[a],s=0;return t.yref===\"paper\"?s=r+t.pad.t+t.pad.b:t.yref===\"container\"&&(s=tct(a,n,i,e._fullLayout.height,r)+t.pad.t+t.pad.b),s>o?s:0}function ict(e,t,r,n){var i=\"title.automargin\",a=e._fullLayout.title,o=a.y>.5?\"t\":\"b\",s={x:a.x,y:a.y,t:0,b:0},l={};a.yref===\"paper\"&&ect(e,a,o,t,n)?s[o]=r:a.yref===\"container\"&&(l[o]=r,e._fullLayout._reservedMargin[i]=l),Jp.allowAutoMargin(e,i),Jp.autoMargin(e,i,s)}function nct(e,t){var r=e.title,n=e._size,i=0;switch(t===wce?i=r.pad.l:t===Tce&&(i=-r.pad.r),r.xref){case\"paper\":return n.l+n.w*r.x+i;case\"container\":default:return e.width*r.x+i}}function act(e,t){var r=e.title,n=e._size,i=0;if(t===\"0em\"||!t?i=-r.pad.b:t===ky.CAP_SHIFT+\"em\"&&(i=r.pad.t),r.y===\"auto\")return n.t/2;switch(r.yref){case\"paper\":return n.t+n.h-n.h*r.y+i;case\"container\":default:return e.height-e.height*r.y+i}}function _ce(e){return e===\"top\"?ky.CAP_SHIFT+.3+\"em\":e===\"bottom\"?\"-0.3em\":ky.MID_SHIFT+\"em\"}function oct(e){var t=e.title,r=Kut;return M0.isRightAnchor(t)?r=Tce:M0.isLeftAnchor(t)&&(r=wce),r}function sct(e){var t=e.title,r=\"0em\";return M0.isTopAnchor(t)?r=ky.CAP_SHIFT+\"em\":M0.isMiddleAnchor(t)&&(r=ky.MID_SHIFT+\"em\"),r}ld.doTraceStyle=function(e){var t=e.calcdata,r=[],n;for(n=0;n<t.length;n++){var i=t[n],a=i[0]||{},o=a.trace||{},s=o._module||{},l=s.arraysToCalcdata;l&&l(i,o);var u=s.editStyle;u&&r.push({fn:u,cd0:a})}if(r.length){for(n=0;n<r.length;n++){var c=r[n];c.fn(e,c.cd0)}cN(e),ld.redrawReglTraces(e)}return Jp.style(e),Bv.getComponentMethod(\"legend\",\"draw\")(e),Jp.previousPromises(e)};ld.doColorBars=function(e){return Bv.getComponentMethod(\"colorbar\",\"draw\")(e),Jp.previousPromises(e)};ld.layoutReplot=function(e){var t=e.layout;return e.layout=void 0,Bv.call(\"_doPlot\",e,\"\",t)};ld.doLegend=function(e){return Bv.getComponentMethod(\"legend\",\"draw\")(e),Jp.previousPromises(e)};ld.doTicksRelayout=function(e){return pM.draw(e,\"redraw\"),e._fullLayout._hasOnlyLargeSploms&&(Bv.subplotsRegistry.splom.updateGrid(e),cN(e),ld.redrawReglTraces(e)),ld.drawMainTitle(e),Jp.previousPromises(e)};ld.doModeBar=function(e){var t=e._fullLayout;xce.manage(e);for(var r=0;r<t._basePlotModules.length;r++){var n=t._basePlotModules[r].updateFx;n&&n(e)}return Jp.previousPromises(e)};ld.doCamera=function(e){for(var t=e._fullLayout,r=t._subplots.gl3d,n=0;n<r.length;n++){var i=t[r[n]],a=i._scene;a.setViewport(i)}};ld.drawData=function(e){var t=e._fullLayout;cN(e);for(var r=t._basePlotModules,n=0;n<r.length;n++)r[n].plot(e);return ld.redrawReglTraces(e),Jp.style(e),Bv.getComponentMethod(\"selections\",\"draw\")(e),Bv.getComponentMethod(\"shapes\",\"draw\")(e),Bv.getComponentMethod(\"annotations\",\"draw\")(e),Bv.getComponentMethod(\"images\",\"draw\")(e),t._replotting=!1,Jp.previousPromises(e)};ld.redrawReglTraces=function(e){var t=e._fullLayout;if(t._has(\"regl\")){var r=e._fullData,n=[],i=[],a,o;for(t._hasOnlyLargeSploms&&t._splomGrid.draw(),a=0;a<r.length;a++){var s=r[a];s.visible===!0&&s._length!==0&&(s.type===\"splom\"?t._splomScenes[s.uid].draw():s.type===\"scattergl\"?M0.pushUnique(n,s.xaxis+s.yaxis):s.type===\"scatterpolargl\"&&M0.pushUnique(i,s.subplot))}for(a=0;a<n.length;a++)o=t._plots[n[a]],o._scene&&o._scene.draw();for(a=0;a<i.length;a++)o=t[i[a]]._subplot,o._scene&&o._scene.draw()}};ld.doAutoRangeAndConstraints=function(e){for(var t=pM.list(e,\"\",!0),r,n={},i=0;i<t.length;i++)if(r=t[i],!n[r._id]){n[r._id]=1,Yut(e,r),gce(e,r);var a=r._matchGroup;if(a)for(var o in a){var s=pM.getFromId(e,o);gce(e,s,r.range),n[o]=1}}Xut(e)};ld.finalDraw=function(e){Bv.getComponentMethod(\"rangeslider\",\"draw\")(e),Bv.getComponentMethod(\"rangeselector\",\"draw\")(e)};ld.drawMarginPushers=function(e){Bv.getComponentMethod(\"legend\",\"draw\")(e),Bv.getComponentMethod(\"rangeselector\",\"draw\")(e),Bv.getComponentMethod(\"sliders\",\"draw\")(e),Bv.getComponentMethod(\"updatemenus\",\"draw\")(e),Bv.getComponentMethod(\"colorbar\",\"draw\")(e)}});var dN=ye((Sir,kce)=>{\"use strict\";var lct=c_().readPaths,uct=$L(),Ace=e_().clearOutlineControllers,fN=va(),Sce=ao(),cct=Vs().arrayEditor,Mce=h_(),fct=Mce.getPathString;kce.exports={draw:uP,drawOne:Ece,activateLastSelection:vct};function uP(e){var t=e._fullLayout;Ace(e),t._selectionLayer.selectAll(\"path\").remove();for(var r in t._plots){var n=t._plots[r].selectionLayer;n&&n.selectAll(\"path\").remove()}for(var i=0;i<t.selections.length;i++)Ece(e,i)}function cP(e){return e._context.editSelection}function Ece(e,t){e._fullLayout._paperdiv.selectAll('.selectionlayer [data-index=\"'+t+'\"]').remove();var r=Mce.makeSelectionsOptionsAndPlotinfo(e,t),n=r.options,i=r.plotinfo;if(!n._input)return;a(e._fullLayout._selectionLayer);function a(o){var s=fct(e,n),l={\"data-index\":t,\"fill-rule\":\"evenodd\",d:s},u=n.opacity,c=\"rgba(0,0,0,0)\",f=n.line.color||fN.contrast(e._fullLayout.plot_bgcolor),h=n.line.width,d=n.line.dash;h||(h=5,d=\"solid\");var v=cP(e)&&e._fullLayout._activeSelectionIndex===t;v&&(c=e._fullLayout.activeselection.fillcolor,u=e._fullLayout.activeselection.opacity);for(var x=[],b=1;b>=0;b--){var p=o.append(\"path\").attr(l).style(\"opacity\",b?.1:u).call(fN.stroke,f).call(fN.fill,c).call(Sce.dashLine,b?\"solid\":d,b?4+h:h);if(hct(p,e,n),v){var E=cct(e.layout,\"selections\",n);p.style({cursor:\"move\"});var k={element:p.node(),plotinfo:i,gd:e,editHelpers:E,isActiveSelection:!0},A=lct(s,e);uct(A,p,k)}else p.style(\"pointer-events\",b?\"all\":\"none\");x[b]=p}var L=x[0],_=x[1];_.node().addEventListener(\"click\",function(){return dct(e,L)})}}function hct(e,t,r){var n=r.xref+r.yref;Sce.setClipUrl(e,\"clip\"+t._fullLayout._uid+n,t)}function dct(e,t){if(cP(e)){var r=t.node(),n=+r.getAttribute(\"data-index\");if(n>=0){if(n===e._fullLayout._activeSelectionIndex){hN(e);return}e._fullLayout._activeSelectionIndex=n,e._fullLayout._deactivateSelection=hN,uP(e)}}}function vct(e){if(cP(e)){var t=e._fullLayout.selections.length-1;e._fullLayout._activeSelectionIndex=t,e._fullLayout._deactivateSelection=hN,uP(e)}}function hN(e){if(cP(e)){var t=e._fullLayout._activeSelectionIndex;t>=0&&(Ace(e),delete e._fullLayout._activeSelectionIndex,uP(e))}}});var Lce=ye((Mir,Cce)=>{function pct(){var e,t=0,r=!1;function n(i,a){return e.list.push({type:i,data:a?JSON.parse(JSON.stringify(a)):void 0}),e}return e={list:[],segmentId:function(){return t++},checkIntersection:function(i,a){return n(\"check\",{seg1:i,seg2:a})},segmentChop:function(i,a){return n(\"div_seg\",{seg:i,pt:a}),n(\"chop\",{seg:i,pt:a})},statusRemove:function(i){return n(\"pop_seg\",{seg:i})},segmentUpdate:function(i){return n(\"seg_update\",{seg:i})},segmentNew:function(i,a){return n(\"new_seg\",{seg:i,primary:a})},segmentRemove:function(i){return n(\"rem_seg\",{seg:i})},tempStatus:function(i,a,o){return n(\"temp_status\",{seg:i,above:a,below:o})},rewind:function(i){return n(\"rewind\",{seg:i})},status:function(i,a,o){return n(\"status\",{seg:i,above:a,below:o})},vert:function(i){return i===r?e:(r=i,n(\"vert\",{x:i}))},log:function(i){return typeof i!=\"string\"&&(i=JSON.stringify(i,!1,\" \")),n(\"log\",{txt:i})},reset:function(){return n(\"reset\")},selected:function(i){return n(\"selected\",{segs:i})},chainStart:function(i){return n(\"chain_start\",{seg:i})},chainRemoveHead:function(i,a){return n(\"chain_rem_head\",{index:i,pt:a})},chainRemoveTail:function(i,a){return n(\"chain_rem_tail\",{index:i,pt:a})},chainNew:function(i,a){return n(\"chain_new\",{pt1:i,pt2:a})},chainMatch:function(i){return n(\"chain_match\",{index:i})},chainClose:function(i){return n(\"chain_close\",{index:i})},chainAddHead:function(i,a){return n(\"chain_add_head\",{index:i,pt:a})},chainAddTail:function(i,a){return n(\"chain_add_tail\",{index:i,pt:a})},chainConnect:function(i,a){return n(\"chain_con\",{index1:i,index2:a})},chainReverse:function(i){return n(\"chain_rev\",{index:i})},chainJoin:function(i,a){return n(\"chain_join\",{index1:i,index2:a})},done:function(){return n(\"done\")}},e}Cce.exports=pct});var Ice=ye((Eir,Pce)=>{function gct(e){typeof e!=\"number\"&&(e=1e-10);var t={epsilon:function(r){return typeof r==\"number\"&&(e=r),e},pointAboveOrOnLine:function(r,n,i){var a=n[0],o=n[1],s=i[0],l=i[1],u=r[0],c=r[1];return(s-a)*(c-o)-(l-o)*(u-a)>=-e},pointBetween:function(r,n,i){var a=r[1]-n[1],o=i[0]-n[0],s=r[0]-n[0],l=i[1]-n[1],u=s*o+a*l;if(u<e)return!1;var c=o*o+l*l;return!(u-c>-e)},pointsSameX:function(r,n){return Math.abs(r[0]-n[0])<e},pointsSameY:function(r,n){return Math.abs(r[1]-n[1])<e},pointsSame:function(r,n){return t.pointsSameX(r,n)&&t.pointsSameY(r,n)},pointsCompare:function(r,n){return t.pointsSameX(r,n)?t.pointsSameY(r,n)?0:r[1]<n[1]?-1:1:r[0]<n[0]?-1:1},pointsCollinear:function(r,n,i){var a=r[0]-n[0],o=r[1]-n[1],s=n[0]-i[0],l=n[1]-i[1];return Math.abs(a*l-s*o)<e},linesIntersect:function(r,n,i,a){var o=n[0]-r[0],s=n[1]-r[1],l=a[0]-i[0],u=a[1]-i[1],c=o*u-s*l;if(Math.abs(c)<e)return!1;var f=r[0]-i[0],h=r[1]-i[1],d=(l*h-u*f)/c,v=(o*h-s*f)/c,x={alongA:0,alongB:0,pt:[r[0]+d*o,r[1]+d*s]};return d<=-e?x.alongA=-2:d<e?x.alongA=-1:d-1<=-e?x.alongA=0:d-1<e?x.alongA=1:x.alongA=2,v<=-e?x.alongB=-2:v<e?x.alongB=-1:v-1<=-e?x.alongB=0:v-1<e?x.alongB=1:x.alongB=2,x},pointInsideRegion:function(r,n){for(var i=r[0],a=r[1],o=n[n.length-1][0],s=n[n.length-1][1],l=!1,u=0;u<n.length;u++){var c=n[u][0],f=n[u][1];f-a>e!=s-a>e&&(o-c)*(a-f)/(s-f)+c-i>e&&(l=!l),o=c,s=f}return l}};return t}Pce.exports=gct});var Dce=ye((kir,Rce)=>{var mct={create:function(){var e={root:{root:!0,next:null},exists:function(t){return!(t===null||t===e.root)},isEmpty:function(){return e.root.next===null},getHead:function(){return e.root.next},insertBefore:function(t,r){for(var n=e.root,i=e.root.next;i!==null;){if(r(i)){t.prev=i.prev,t.next=i,i.prev.next=t,i.prev=t;return}n=i,i=i.next}n.next=t,t.prev=n,t.next=null},findTransition:function(t){for(var r=e.root,n=e.root.next;n!==null&&!t(n);)r=n,n=n.next;return{before:r===e.root?null:r,after:n,insert:function(i){return i.prev=r,i.next=n,r.next=i,n!==null&&(n.prev=i),i}}}};return e},node:function(e){return e.prev=null,e.next=null,e.remove=function(){e.prev.next=e.next,e.next&&(e.next.prev=e.prev),e.prev=null,e.next=null},e}};Rce.exports=mct});var Fce=ye((Cir,zce)=>{var mM=Dce();function yct(e,t,r){function n(v,x){return{id:r?r.segmentId():-1,start:v,end:x,myFill:{above:null,below:null},otherFill:null}}function i(v,x,b){return{id:r?r.segmentId():-1,start:v,end:x,myFill:{above:b.myFill.above,below:b.myFill.below},otherFill:null}}var a=mM.create();function o(v,x,b,p,E,k){var A=t.pointsCompare(x,E);return A!==0?A:t.pointsSame(b,k)?0:v!==p?v?1:-1:t.pointAboveOrOnLine(b,p?E:k,p?k:E)?1:-1}function s(v,x){a.insertBefore(v,function(b){var p=o(v.isStart,v.pt,x,b.isStart,b.pt,b.other.pt);return p<0})}function l(v,x){var b=mM.node({isStart:!0,pt:v.start,seg:v,primary:x,other:null,status:null});return s(b,v.end),b}function u(v,x,b){var p=mM.node({isStart:!1,pt:x.end,seg:x,primary:b,other:v,status:null});v.other=p,s(p,v.pt)}function c(v,x){var b=l(v,x);return u(b,v,x),b}function f(v,x){r&&r.segmentChop(v.seg,x),v.other.remove(),v.seg.end=x,v.other.pt=x,s(v.other,v.pt)}function h(v,x){var b=i(x,v.seg.end,v.seg);return f(v,x),c(b,v.primary)}function d(v,x){var b=mM.create();function p(H,X){var G=H.seg.start,N=H.seg.end,W=X.seg.start,re=X.seg.end;return t.pointsCollinear(G,W,re)?t.pointsCollinear(N,W,re)||t.pointAboveOrOnLine(N,W,re)?1:-1:t.pointAboveOrOnLine(G,W,re)?1:-1}function E(H){return b.findTransition(function(X){var G=p(H,X.ev);return G>0})}function k(H,X){var G=H.seg,N=X.seg,W=G.start,re=G.end,ae=N.start,_e=N.end;r&&r.checkIntersection(G,N);var Me=t.linesIntersect(W,re,ae,_e);if(Me===!1){if(!t.pointsCollinear(W,re,ae)||t.pointsSame(W,_e)||t.pointsSame(re,ae))return!1;var ke=t.pointsSame(W,ae),ge=t.pointsSame(re,_e);if(ke&&ge)return X;var ie=!ke&&t.pointBetween(W,ae,_e),Te=!ge&&t.pointBetween(re,ae,_e);if(ke)return Te?h(X,re):h(H,_e),X;ie&&(ge||(Te?h(X,re):h(H,_e)),h(X,W))}else Me.alongA===0&&(Me.alongB===-1?h(H,ae):Me.alongB===0?h(H,Me.pt):Me.alongB===1&&h(H,_e)),Me.alongB===0&&(Me.alongA===-1?h(X,W):Me.alongA===0?h(X,Me.pt):Me.alongA===1&&h(X,re));return!1}for(var A=[];!a.isEmpty();){var L=a.getHead();if(r&&r.vert(L.pt[0]),L.isStart){let H=function(){if(C){var X=k(L,C);if(X)return X}return M?k(L,M):!1};var V=H;r&&r.segmentNew(L.seg,L.primary);var _=E(L),C=_.before?_.before.ev:null,M=_.after?_.after.ev:null;r&&r.tempStatus(L.seg,C?C.seg:!1,M?M.seg:!1);var g=H();if(g){if(e){var P;L.seg.myFill.below===null?P=!0:P=L.seg.myFill.above!==L.seg.myFill.below,P&&(g.seg.myFill.above=!g.seg.myFill.above)}else g.seg.otherFill=L.seg.myFill;r&&r.segmentUpdate(g.seg),L.other.remove(),L.remove()}if(a.getHead()!==L){r&&r.rewind(L.seg);continue}if(e){var P;L.seg.myFill.below===null?P=!0:P=L.seg.myFill.above!==L.seg.myFill.below,M?L.seg.myFill.below=M.seg.myFill.above:L.seg.myFill.below=v,P?L.seg.myFill.above=!L.seg.myFill.below:L.seg.myFill.above=L.seg.myFill.below}else if(L.seg.otherFill===null){var T;M?L.primary===M.primary?T=M.seg.otherFill.above:T=M.seg.myFill.above:T=L.primary?x:v,L.seg.otherFill={above:T,below:T}}r&&r.status(L.seg,C?C.seg:!1,M?M.seg:!1),L.other.status=_.insert(mM.node({ev:L}))}else{var F=L.status;if(F===null)throw new Error(\"PolyBool: Zero-length segment detected; your epsilon is probably too small or too large\");if(b.exists(F.prev)&&b.exists(F.next)&&k(F.prev.ev,F.next.ev),r&&r.statusRemove(F.ev.seg),F.remove(),!L.primary){var q=L.seg.myFill;L.seg.myFill=L.seg.otherFill,L.seg.otherFill=q}A.push(L.seg)}a.getHead().remove()}return r&&r.done(),A}return e?{addRegion:function(v){for(var x,b=v[v.length-1],p=0;p<v.length;p++){x=b,b=v[p];var E=t.pointsCompare(x,b);E!==0&&c(n(E<0?x:b,E<0?b:x),!0)}},calculate:function(v){return d(v,!1)}}:{calculate:function(v,x,b,p){return v.forEach(function(E){c(i(E.start,E.end,E),!0)}),b.forEach(function(E){c(i(E.start,E.end,E),!1)}),d(x,p)}}}zce.exports=yct});var Oce=ye((Lir,qce)=>{function _ct(e,t,r){var n=[],i=[];return e.forEach(function(a){var o=a.start,s=a.end;if(t.pointsSame(o,s)){console.warn(\"PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large\");return}r&&r.chainStart(a);var l={index:0,matches_head:!1,matches_pt1:!1},u={index:0,matches_head:!1,matches_pt1:!1},c=l;function f(V,H,X){return c.index=V,c.matches_head=H,c.matches_pt1=X,c===l?(c=u,!1):(c=null,!0)}for(var h=0;h<n.length;h++){var d=n[h],v=d[0],x=d[1],b=d[d.length-1],p=d[d.length-2];if(t.pointsSame(v,o)){if(f(h,!0,!0))break}else if(t.pointsSame(v,s)){if(f(h,!0,!1))break}else if(t.pointsSame(b,o)){if(f(h,!1,!0))break}else if(t.pointsSame(b,s)&&f(h,!1,!1))break}if(c===l){n.push([o,s]),r&&r.chainNew(o,s);return}if(c===u){r&&r.chainMatch(l.index);var E=l.index,k=l.matches_pt1?s:o,A=l.matches_head,d=n[E],L=A?d[0]:d[d.length-1],_=A?d[1]:d[d.length-2],C=A?d[d.length-1]:d[0],M=A?d[d.length-2]:d[1];if(t.pointsCollinear(_,L,k)&&(A?(r&&r.chainRemoveHead(l.index,k),d.shift()):(r&&r.chainRemoveTail(l.index,k),d.pop()),L=_),t.pointsSame(C,k)){n.splice(E,1),t.pointsCollinear(M,C,L)&&(A?(r&&r.chainRemoveTail(l.index,L),d.pop()):(r&&r.chainRemoveHead(l.index,L),d.shift())),r&&r.chainClose(l.index),i.push(d);return}A?(r&&r.chainAddHead(l.index,k),d.unshift(k)):(r&&r.chainAddTail(l.index,k),d.push(k));return}function g(V){r&&r.chainReverse(V),n[V].reverse()}function P(V,H){var X=n[V],G=n[H],N=X[X.length-1],W=X[X.length-2],re=G[0],ae=G[1];t.pointsCollinear(W,N,re)&&(r&&r.chainRemoveTail(V,N),X.pop(),N=W),t.pointsCollinear(N,re,ae)&&(r&&r.chainRemoveHead(H,re),G.shift()),r&&r.chainJoin(V,H),n[V]=X.concat(G),n.splice(H,1)}var T=l.index,F=u.index;r&&r.chainConnect(T,F);var q=n[T].length<n[F].length;l.matches_head?u.matches_head?q?(g(T),P(T,F)):(g(F),P(F,T)):P(F,T):u.matches_head?P(T,F):q?(g(T),P(F,T)):(g(F),P(T,F))}),i}qce.exports=_ct});var Nce=ye((Pir,Bce)=>{function yM(e,t,r){var n=[];return e.forEach(function(i){var a=(i.myFill.above?8:0)+(i.myFill.below?4:0)+(i.otherFill&&i.otherFill.above?2:0)+(i.otherFill&&i.otherFill.below?1:0);t[a]!==0&&n.push({id:r?r.segmentId():-1,start:i.start,end:i.end,myFill:{above:t[a]===1,below:t[a]===2},otherFill:null})}),r&&r.selected(n),n}var xct={union:function(e,t){return yM(e,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],t)},intersect:function(e,t){return yM(e,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],t)},difference:function(e,t){return yM(e,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],t)},differenceRev:function(e,t){return yM(e,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],t)},xor:function(e,t){return yM(e,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],t)}};Bce.exports=xct});var Vce=ye((Iir,Uce)=>{var bct={toPolygon:function(e,t){function r(a){if(a.length<=0)return e.segments({inverted:!1,regions:[]});function o(u){var c=u.slice(0,u.length-1);return e.segments({inverted:!1,regions:[c]})}for(var s=o(a[0]),l=1;l<a.length;l++)s=e.selectDifference(e.combine(s,o(a[l])));return s}if(t.type===\"Polygon\")return e.polygon(r(t.coordinates));if(t.type===\"MultiPolygon\"){for(var n=e.segments({inverted:!1,regions:[]}),i=0;i<t.coordinates.length;i++)n=e.selectUnion(e.combine(n,r(t.coordinates[i])));return e.polygon(n)}throw new Error(\"PolyBool: Cannot convert GeoJSON object to PolyBool polygon\")},fromPolygon:function(e,t,r){r=e.polygon(e.segments(r));function n(d,v){return t.pointInsideRegion([(d[0][0]+d[1][0])*.5,(d[0][1]+d[1][1])*.5],v)}function i(d){return{region:d,children:[]}}var a=i(null);function o(d,v){for(var x=0;x<d.children.length;x++){var b=d.children[x];if(n(v,b.region)){o(b,v);return}}for(var p=i(v),x=0;x<d.children.length;x++){var b=d.children[x];n(b.region,v)&&(p.children.push(b),d.children.splice(x,1),x--)}d.children.push(p)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(a,l)}function u(d,v){for(var x=0,b=d[d.length-1][0],p=d[d.length-1][1],E=[],k=0;k<d.length;k++){var A=d[k][0],L=d[k][1];E.push([A,L]),x+=L*b-A*p,b=A,p=L}var _=x<0;return _!==v&&E.reverse(),E.push([E[0][0],E[0][1]]),E}var c=[];function f(d){var v=[u(d.region,!1)];c.push(v);for(var x=0;x<d.children.length;x++)v.push(h(d.children[x]))}function h(d){for(var v=0;v<d.children.length;v++)f(d.children[v]);return u(d.region,!0)}for(var s=0;s<a.children.length;s++)f(a.children[s]);return c.length<=0?{type:\"Polygon\",coordinates:[]}:c.length==1?{type:\"Polygon\",coordinates:c[0]}:{type:\"MultiPolygon\",coordinates:c}}};Uce.exports=bct});var Wce=ye((Rir,jce)=>{var wct=Lce(),Tct=Ice(),Hce=Fce(),Act=Oce(),_M=Nce(),Gce=Vce(),E0=!1,xM=Tct(),Ep;Ep={buildLog:function(e){return e===!0?E0=wct():e===!1&&(E0=!1),E0===!1?!1:E0.list},epsilon:function(e){return xM.epsilon(e)},segments:function(e){var t=Hce(!0,xM,E0);return e.regions.forEach(t.addRegion),{segments:t.calculate(e.inverted),inverted:e.inverted}},combine:function(e,t){var r=Hce(!1,xM,E0);return{combined:r.calculate(e.segments,e.inverted,t.segments,t.inverted),inverted1:e.inverted,inverted2:t.inverted}},selectUnion:function(e){return{segments:_M.union(e.combined,E0),inverted:e.inverted1||e.inverted2}},selectIntersect:function(e){return{segments:_M.intersect(e.combined,E0),inverted:e.inverted1&&e.inverted2}},selectDifference:function(e){return{segments:_M.difference(e.combined,E0),inverted:e.inverted1&&!e.inverted2}},selectDifferenceRev:function(e){return{segments:_M.differenceRev(e.combined,E0),inverted:!e.inverted1&&e.inverted2}},selectXor:function(e){return{segments:_M.xor(e.combined,E0),inverted:e.inverted1!==e.inverted2}},polygon:function(e){return{regions:Act(e.segments,xM,E0),inverted:e.inverted}},polygonFromGeoJSON:function(e){return Gce.toPolygon(Ep,e)},polygonToGeoJSON:function(e){return Gce.fromPolygon(Ep,xM,e)},union:function(e,t){return bM(e,t,Ep.selectUnion)},intersect:function(e,t){return bM(e,t,Ep.selectIntersect)},difference:function(e,t){return bM(e,t,Ep.selectDifference)},differenceRev:function(e,t){return bM(e,t,Ep.selectDifferenceRev)},xor:function(e,t){return bM(e,t,Ep.selectXor)}};function bM(e,t,r){var n=Ep.segments(e),i=Ep.segments(t),a=Ep.combine(n,i),o=r(a);return Ep.polygon(o)}typeof window==\"object\"&&(window.PolyBool=Ep);jce.exports=Ep});var Xce=ye((Dir,Zce)=>{Zce.exports=function(t,r,n,i){var a=t[0],o=t[1],s=!1;n===void 0&&(n=0),i===void 0&&(i=r.length);for(var l=i-n,u=0,c=l-1;u<l;c=u++){var f=r[u+n][0],h=r[u+n][1],d=r[c+n][0],v=r[c+n][1],x=h>o!=v>o&&a<(d-f)*(o-h)/(v-h)+f;x&&(s=!s)}return s}});var wM=ye((zir,Yce)=>{\"use strict\";var vN=m6().dot,fP=es().BADNUM,hP=Yce.exports={};hP.tester=function(t){var r=t.slice(),n=r[0][0],i=n,a=r[0][1],o=a,s;for((r[r.length-1][0]!==r[0][0]||r[r.length-1][1]!==r[0][1])&&r.push(r[0]),s=1;s<r.length;s++)n=Math.min(n,r[s][0]),i=Math.max(i,r[s][0]),a=Math.min(a,r[s][1]),o=Math.max(o,r[s][1]);var l=!1,u;r.length===5&&(r[0][0]===r[1][0]?r[2][0]===r[3][0]&&r[0][1]===r[3][1]&&r[1][1]===r[2][1]&&(l=!0,u=function(v){return v[0]===r[0][0]}):r[0][1]===r[1][1]&&r[2][1]===r[3][1]&&r[0][0]===r[3][0]&&r[1][0]===r[2][0]&&(l=!0,u=function(v){return v[1]===r[0][1]}));function c(v,x){var b=v[0],p=v[1];return!(b===fP||b<n||b>i||p===fP||p<a||p>o||x&&u(v))}function f(v,x){var b=v[0],p=v[1];if(b===fP||b<n||b>i||p===fP||p<a||p>o)return!1;var E=r.length,k=r[0][0],A=r[0][1],L=0,_,C,M,g,P;for(_=1;_<E;_++)if(C=k,M=A,k=r[_][0],A=r[_][1],g=Math.min(C,k),!(b<g||b>Math.max(C,k)||p>Math.max(M,A)))if(p<Math.min(M,A))b!==g&&L++;else{if(k===C?P=p:P=M+(b-C)*(A-M)/(k-C),p===P)return!(_===1&&x);p<=P&&b!==g&&L++}return L%2===1}var h=!0,d=r[0];for(s=1;s<r.length;s++)if(d[0]!==r[s][0]||d[1]!==r[s][1]){h=!1;break}return{xmin:n,xmax:i,ymin:a,ymax:o,pts:r,contains:l?c:f,isRect:l,degenerate:h}};hP.isSegmentBent=function(t,r,n,i){var a=t[r],o=[t[n][0]-a[0],t[n][1]-a[1]],s=vN(o,o),l=Math.sqrt(s),u=[-o[1]/l,o[0]/l],c,f,h;for(c=r+1;c<n;c++)if(f=[t[c][0]-a[0],t[c][1]-a[1]],h=vN(f,o),h<0||h>s||Math.abs(vN(f,u))>i)return!0;return!1};hP.filter=function(t,r){var n=[t[0]],i=0,a=0;function o(l){t.push(l);var u=n.length,c=i;n.splice(a+1);for(var f=c+1;f<t.length;f++)(f===t.length-1||hP.isSegmentBent(t,c,f+1,r))&&(n.push(t[f]),n.length<u-2&&(i=f,a=n.length-1),c=f)}if(t.length>1){var s=t.pop();o(s)}return{addPt:o,raw:t,filtered:n}}});var Jce=ye((Fir,Kce)=>{\"use strict\";Kce.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:\"-select\"}});var _fe=ye((qir,yfe)=>{\"use strict\";var $ce=Wce(),Sct=Xce(),SM=ba(),Mct=ao().dashStyle,TM=va(),Ect=Nc(),kct=rp().makeEventData,LM=Sg(),Cct=LM.freeMode,Lct=LM.rectMode,MM=LM.drawMode,yN=LM.openMode,_N=LM.selectMode,Qce=h_(),efe=cM(),afe=$L(),ofe=e_().clearOutline,sfe=c_(),pN=sfe.handleEllipse,Pct=sfe.readPaths,Ict=XL().newShapes,Rct=VB(),Dct=dN().activateLastSelection,vP=Mr(),zct=vP.sorterAsc,lfe=wM(),AM=P6(),k0=af().getFromId,Fct=lM(),qct=gM().redrawReglTraces,pP=Jce(),Am=pP.MINSELECT,Oct=lfe.filter,xN=lfe.tester,bN=GL(),tfe=bN.p2r,Bct=bN.axValue,Nct=bN.getTransform;function wN(e){return e.subplot!==void 0}function Uct(e,t,r,n,i){var a=!wN(n),o=Cct(i),s=Lct(i),l=yN(i),u=MM(i),c=_N(i),f=i===\"drawline\",h=i===\"drawcircle\",d=f||h,v=n.gd,x=v._fullLayout,b=c&&x.newselection.mode===\"immediate\"&&a,p=x._zoomlayer,E=n.element.getBoundingClientRect(),k=n.plotinfo,A=Nct(k),L=t-E.left,_=r-E.top;x._calcInverseTransform(v);var C=vP.apply3DTransform(x._invTransform)(L,_);L=C[0],_=C[1];var M=x._invScaleX,g=x._invScaleY,P=L,T=_,F=\"M\"+L+\",\"+_,q=n.xaxes[0],V=n.yaxes[0],H=q._length,X=V._length,G=e.altKey&&!(MM(i)&&l),N,W,re,ae,_e,Me,ke;cfe(e,v,n),o&&(N=Oct([[L,_]],pP.BENDPX));var ge=p.selectAll(\"path.select-outline-\"+k.id).data([1]),ie=u?x.newshape:x.newselection;u&&(n.hasText=ie.label.text||ie.label.texttemplate);var Te=u&&!l?ie.fillcolor:\"rgba(0,0,0,0)\",Ee=ie.line.color||(a?TM.contrast(v._fullLayout.plot_bgcolor):\"#7f7f7f\");ge.enter().append(\"path\").attr(\"class\",\"select-outline select-outline-\"+k.id).style({opacity:u?ie.opacity/2:1,\"stroke-dasharray\":Mct(ie.line.dash,ie.line.width),\"stroke-width\":ie.line.width+\"px\",\"shape-rendering\":\"crispEdges\"}).call(TM.stroke,Ee).call(TM.fill,Te).attr(\"fill-rule\",\"evenodd\").classed(\"cursor-move\",!!u).attr(\"transform\",A).attr(\"d\",F+\"Z\");var Ae=p.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:TM.background,stroke:TM.defaultLine,\"stroke-width\":1}).attr(\"transform\",A).attr(\"d\",\"M0,0Z\");if(u&&n.hasText){var ze=p.select(\".label-temp\");ze.empty()&&(ze=p.append(\"g\").classed(\"label-temp\",!0).classed(\"select-outline\",!0).style({opacity:.8}))}var Ce=x._uid+pP.SELECTID,me=[],Re=gP(v,n.xaxes,n.yaxes,n.subplot);b&&!e.shiftKey&&(n._clearSubplotSelections=function(){if(a){var Ge=q._id,nt=V._id;pfe(v,Ge,nt,Re);for(var ct=(v.layout||{}).selections||[],qt=[],rt=!1,ot=0;ot<ct.length;ot++){var Rt=x.selections[ot];!Rt||Rt.xref!==Ge||Rt.yref!==nt?qt.push(ct[ot]):rt=!0}rt&&(v._fullLayout._noEmitSelectedAtStart=!0,SM.call(\"_guiRelayout\",v,{selections:qt}))}});var ce=tft(n);n.moveFn=function(Ge,nt){n._clearSubplotSelections&&(n._clearSubplotSelections(),n._clearSubplotSelections=void 0),P=Math.max(0,Math.min(H,M*Ge+L)),T=Math.max(0,Math.min(X,g*nt+_));var ct=Math.abs(P-L),qt=Math.abs(T-_);if(s){var rt,ot,Rt;if(c){var kt=x.selectdirection;switch(kt===\"any\"?qt<Math.min(ct*.6,Am)?rt=\"h\":ct<Math.min(qt*.6,Am)?rt=\"v\":rt=\"d\":rt=kt,rt){case\"h\":ot=h?X/2:0,Rt=X;break;case\"v\":ot=h?H/2:0,Rt=H;break}}if(u)switch(x.newshape.drawdirection){case\"vertical\":rt=\"h\",ot=h?X/2:0,Rt=X;break;case\"horizontal\":rt=\"v\",ot=h?H/2:0,Rt=H;break;case\"ortho\":ct<qt?(rt=\"h\",ot=_,Rt=T):(rt=\"v\",ot=L,Rt=P);break;default:rt=\"d\"}rt===\"h\"?(ae=d?pN(h,[P,ot],[P,Rt]):[[L,ot],[L,Rt],[P,Rt],[P,ot]],ae.xmin=d?P:Math.min(L,P),ae.xmax=d?P:Math.max(L,P),ae.ymin=Math.min(ot,Rt),ae.ymax=Math.max(ot,Rt),Ae.attr(\"d\",\"M\"+ae.xmin+\",\"+(_-Am)+\"h-4v\"+2*Am+\"h4ZM\"+(ae.xmax-1)+\",\"+(_-Am)+\"h4v\"+2*Am+\"h-4Z\")):rt===\"v\"?(ae=d?pN(h,[ot,T],[Rt,T]):[[ot,_],[ot,T],[Rt,T],[Rt,_]],ae.xmin=Math.min(ot,Rt),ae.xmax=Math.max(ot,Rt),ae.ymin=d?T:Math.min(_,T),ae.ymax=d?T:Math.max(_,T),Ae.attr(\"d\",\"M\"+(L-Am)+\",\"+ae.ymin+\"v-4h\"+2*Am+\"v4ZM\"+(L-Am)+\",\"+(ae.ymax-1)+\"v4h\"+2*Am+\"v-4Z\")):rt===\"d\"&&(ae=d?pN(h,[L,_],[P,T]):[[L,_],[L,T],[P,T],[P,_]],ae.xmin=Math.min(L,P),ae.xmax=Math.max(L,P),ae.ymin=Math.min(_,T),ae.ymax=Math.max(_,T),Ae.attr(\"d\",\"M0,0Z\"))}else o&&(N.addPt([P,T]),ae=N.filtered);if(n.selectionDefs&&n.selectionDefs.length?(re=ffe(n.mergedPolygons,ae,G),ae.subtract=G,W=TN(n.selectionDefs.concat([ae]))):(re=[ae],W=xN(ae)),afe(dfe(re,l),ge,n),c){var Ct=mN(v,!1),Yt=Ct.eventData?Ct.eventData.points.slice():[];Ct=mN(v,!1,W,Re,n),W=Ct.selectionTesters,ke=Ct.eventData;var xr;N?xr=N.filtered:xr=gfe(re),AM.throttle(Ce,pP.SELECTDELAY,function(){me=vfe(W,Re);for(var er=me.slice(),Ke=0;Ke<Yt.length;Ke++){for(var xt=Yt[Ke],bt=!1,Lt=0;Lt<er.length;Lt++)if(er[Lt].curveNumber===xt.curveNumber&&er[Lt].pointNumber===xt.pointNumber){bt=!0;break}bt||er.push(xt)}er.length&&(ke||(ke={}),ke.points=er),ce(ke,xr),rft(v,ke)})}},n.clickFn=function(Ge,nt){if(Ae.remove(),v._fullLayout._activeShapeIndex>=0){v._fullLayout._deactivateShape(v);return}if(!u){var ct=x.clickmode;AM.done(Ce).then(function(){if(AM.clear(Ce),Ge===2){for(ge.remove(),_e=0;_e<Re.length;_e++)Me=Re[_e],Me._module.selectPoints(Me,!1);if(kM(v,Re),EM(n),SN(v),Re.length){var qt=Re[0].xaxis,rt=Re[0].yaxis;if(qt&&rt){for(var ot=[],Rt=v._fullLayout.selections,kt=0;kt<Rt.length;kt++){var Ct=Rt[kt];Ct&&(Ct.xref!==qt._id||Ct.yref!==rt._id)&&ot.push(Ct)}ot.length<Rt.length&&(v._fullLayout._noEmitSelectedAtStart=!0,SM.call(\"_guiRelayout\",v,{selections:ot}))}}}else ct.indexOf(\"select\")>-1&&ufe(nt,v,n.xaxes,n.yaxes,n.subplot,n,ge),ct===\"event\"&&CM(v,void 0);Ect.click(v,nt,k.id)}).catch(vP.error)}},n.doneFn=function(){Ae.remove(),AM.done(Ce).then(function(){AM.clear(Ce),!b&&ae&&n.selectionDefs&&(ae.subtract=G,n.selectionDefs.push(ae),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,re)),(b||u)&&EM(n,b),n.doneFnCompleted&&n.doneFnCompleted(me),c&&CM(v,ke)}).catch(vP.error)}}function ufe(e,t,r,n,i,a,o){var s=t._hoverdata,l=t._fullLayout,u=l.clickmode,c=u.indexOf(\"event\")>-1,f=[],h,d,v,x,b,p,E,k,A,L;if(Wct(s)){cfe(e,t,a),h=gP(t,r,n,i);var _=Zct(s,h),C=_.pointNumbers.length>0;if(C?Xct(h,_):Yct(h)&&(E=ife(_))){for(o&&o.remove(),L=0;L<h.length;L++)d=h[L],d._module.selectPoints(d,!1);kM(t,h),EM(a),c&&SN(t)}else{k=e.shiftKey&&(E!==void 0?E:ife(_)),v=Vct(_.pointNumber,_.searchInfo,k);var M=a.selectionDefs.concat([v]);for(x=TN(M,x),L=0;L<h.length;L++)if(b=h[L]._module.selectPoints(h[L],x),p=hfe(b,h[L]),f.length)for(var g=0;g<p.length;g++)f.push(p[g]);else f=p;if(A={points:f},kM(t,h,A),v&&a&&a.selectionDefs.push(v),o){var P=a.mergedPolygons,T=yN(a.dragmode);afe(dfe(P,T),o,a)}c&&CM(t,A)}}}function Vct(e,t,r){return{pointNumber:e,searchInfo:t,subtract:!!r}}function gN(e){return\"pointNumber\"in e&&\"searchInfo\"in e}function Hct(e){return{xmin:0,xmax:0,ymin:0,ymax:0,pts:[],contains:function(t,r,n,i){var a=e.searchInfo.cd[0].trace.index,o=i.cd[0].trace.index;return o===a&&n===e.pointNumber},isRect:!1,degenerate:!1,subtract:!!e.subtract}}function TN(e){if(!e.length)return;for(var t=[],r=gN(e[0])?0:e[0][0][0],n=r,i=gN(e[0])?0:e[0][0][1],a=i,o=0;o<e.length;o++)if(gN(e[o]))t.push(Hct(e[o]));else{var s=xN(e[o]);s.subtract=!!e[o].subtract,t.push(s),r=Math.min(r,s.xmin),n=Math.max(n,s.xmax),i=Math.min(i,s.ymin),a=Math.max(a,s.ymax)}function l(u,c,f,h){for(var d=!1,v=0;v<t.length;v++)t[v].contains(u,c,f,h)&&(d=!t[v].subtract);return d}return{xmin:r,xmax:n,ymin:i,ymax:a,pts:[],contains:l,isRect:!1,degenerate:!1}}function cfe(e,t,r){var n=t._fullLayout,i=r.plotinfo,a=r.dragmode,o=n._lastSelectedSubplot&&n._lastSelectedSubplot===i.id,s=(e.shiftKey||e.altKey)&&!(MM(a)&&yN(a));o&&s&&i.selection&&i.selection.selectionDefs&&!r.selectionDefs?(r.selectionDefs=i.selection.selectionDefs,r.mergedPolygons=i.selection.mergedPolygons):(!s||!i.selection)&&EM(r),o||(ofe(t),n._lastSelectedSubplot=i.id)}function Gct(e){return e._fullLayout._activeShapeIndex>=0}function jct(e){return e._fullLayout._activeSelectionIndex>=0}function EM(e,t){var r=e.dragmode,n=e.plotinfo,i=e.gd;Gct(i)&&i._fullLayout._deactivateShape(i),jct(i)&&i._fullLayout._deactivateSelection(i);var a=i._fullLayout,o=a._zoomlayer,s=MM(r),l=_N(r);if(s||l){var u=o.selectAll(\".select-outline-\"+n.id);if(u&&i._fullLayout._outlining){var c;s&&(c=Ict(u,e)),c&&SM.call(\"_guiRelayout\",i,{shapes:c});var f;l&&!wN(e)&&(f=Rct(u,e)),f&&(i._fullLayout._noEmitSelectedAtStart=!0,SM.call(\"_guiRelayout\",i,{selections:f}).then(function(){t&&Dct(i)})),i._fullLayout._outlining=!1}}n.selection={},n.selection.selectionDefs=e.selectionDefs=[],n.selection.mergedPolygons=e.mergedPolygons=[]}function rfe(e){return e._id}function gP(e,t,r,n){if(!e.calcdata)return[];var i=[],a=t.map(rfe),o=r.map(rfe),s,l,u;for(u=0;u<e.calcdata.length;u++)if(s=e.calcdata[u],l=s[0].trace,!(l.visible!==!0||!l._module||!l._module.selectPoints))if(wN({subplot:n})&&(l.subplot===n||l.geo===n))i.push(dP(l._module,s,t[0],r[0]));else if(l.type===\"splom\"){if(l._xaxes[a[0]]&&l._yaxes[o[0]]){var c=dP(l._module,s,t[0],r[0]);c.scene=e._fullLayout._splomScenes[l.uid],i.push(c)}}else if(l.type===\"sankey\"){var f=dP(l._module,s,t[0],r[0]);i.push(f)}else{if(a.indexOf(l.xaxis)===-1&&(!l._xA||!l._xA.overlaying)||o.indexOf(l.yaxis)===-1&&(!l._yA||!l._yA.overlaying))continue;i.push(dP(l._module,s,k0(e,l.xaxis),k0(e,l.yaxis)))}return i}function dP(e,t,r,n){return{_module:e,cd:t,xaxis:r,yaxis:n}}function Wct(e){return e&&Array.isArray(e)&&e[0].hoverOnBox!==!0}function Zct(e,t){var r=e[0],n=-1,i=[],a,o;for(o=0;o<t.length;o++)if(a=t[o],r.fullData.index===a.cd[0].trace.index){if(r.hoverOnBox===!0)break;r.pointNumber!==void 0?n=r.pointNumber:r.binNumber!==void 0&&(n=r.binNumber,i=r.pointNumbers);break}return{pointNumber:n,pointNumbers:i,searchInfo:a}}function ife(e){var t=e.searchInfo.cd[0].trace,r=e.pointNumber,n=e.pointNumbers,i=n.length>0,a=i?n[0]:r;return t.selectedpoints?t.selectedpoints.indexOf(a)>-1:!1}function Xct(e,t){var r=[],n,i,a,o;for(o=0;o<e.length;o++)n=e[o],n.cd[0].trace.selectedpoints&&n.cd[0].trace.selectedpoints.length>0&&r.push(n);if(r.length===1&&(a=r[0]===t.searchInfo,a&&(i=t.searchInfo.cd[0].trace,i.selectedpoints.length===t.pointNumbers.length))){for(o=0;o<t.pointNumbers.length;o++)if(i.selectedpoints.indexOf(t.pointNumbers[o])<0)return!1;return!0}return!1}function Yct(e){var t=0,r,n,i;for(i=0;i<e.length;i++)if(r=e[i],n=r.cd[0].trace,n.selectedpoints&&(n.selectedpoints.length>1||(t+=n.selectedpoints.length,t>1)))return!1;return t===1}function kM(e,t,r){var n;for(n=0;n<t.length;n++){var i=t[n].cd[0].trace._fullInput,a=e._fullLayout._tracePreGUI[i.uid]||{};a.selectedpoints===void 0&&(a.selectedpoints=i._input.selectedpoints||null)}var o;if(r){var s=r.points||[];for(n=0;n<t.length;n++)o=t[n].cd[0].trace,o._input.selectedpoints=o._fullInput.selectedpoints=[],o._fullInput!==o&&(o.selectedpoints=[]);for(var l=0;l<s.length;l++){var u=s[l],c=u.data,f=u.fullData,h=u.pointIndex,d=u.pointIndices;d?([].push.apply(c.selectedpoints,d),o._fullInput!==o&&[].push.apply(f.selectedpoints,d)):(c.selectedpoints.push(h),o._fullInput!==o&&f.selectedpoints.push(h))}}else for(n=0;n<t.length;n++)o=t[n].cd[0].trace,delete o.selectedpoints,delete o._input.selectedpoints,o._fullInput!==o&&delete o._fullInput.selectedpoints;Kct(e,t)}function Kct(e,t){for(var r=!1,n=0;n<t.length;n++){var i=t[n],a=i.cd;SM.traceIs(a[0].trace,\"regl\")&&(r=!0);var o=i._module,s=o.styleOnSelect||o.style;s&&(s(e,a,a[0].node3),a[0].nodeRangePlot3&&s(e,a,a[0].nodeRangePlot3))}r&&(Fct(e),qct(e))}function ffe(e,t,r){for(var n=r?$ce.difference:$ce.union,i=n({regions:e},{regions:[t]}),a=i.regions.reverse(),o=0;o<a.length;o++){var s=a[o];s.subtract=AN(s,a.slice(0,o))}return a}function hfe(e,t){if(Array.isArray(e))for(var r=t.cd,n=t.cd[0].trace,i=0;i<e.length;i++)e[i]=kct(e[i],n,r);return e}function dfe(e,t){for(var r=[],n=0;n<e.length;n++){r[n]=[];for(var i=0;i<e[n].length;i++){r[n][i]=[],r[n][i][0]=i?\"L\":\"M\";for(var a=0;a<e[n][i].length;a++)r[n][i].push(e[n][i][a])}t||r[n].push([\"Z\",r[n][0][1],r[n][0][2]])}return r}function vfe(e,t){for(var r=[],n,i=[],a,o=0;o<t.length;o++){var s=t[o];a=s._module.selectPoints(s,e),i.push(a),n=hfe(a,s),r=r.concat(n)}return r}function mN(e,t,r,n,i){var a=!!n,o,s,l;i&&(o=i.plotinfo,s=i.xaxes[0]._id,l=i.yaxes[0]._id);var u=[],c=[],f=nfe(e),h=e._fullLayout;if(o){var d=h._zoomlayer,v=h.dragmode,x=MM(v),b=_N(v);if(x||b){var p=k0(e,s,\"x\"),E=k0(e,l,\"y\");if(p&&E){var k=d.selectAll(\".select-outline-\"+o.id);if(k&&e._fullLayout._outlining&&k.length){for(var A=k[0][0],L=A.getAttribute(\"d\"),_=Pct(L,e,o),C=[],M=0;M<_.length;M++){for(var g=_[M],P=[],T=0;T<g.length;T++)P.push([d_(p,g[T][1]),d_(E,g[T][2])]);P.xref=s,P.yref=l,P.subtract=AN(P,C),C.push(P)}f=f.concat(C)}}}}var F=s&&l?[s+l]:h._subplots.cartesian;Jct(e);for(var q={},V=0;V<F.length;V++){var H=F[V],X=H.indexOf(\"y\"),G=H.slice(0,X),N=H.slice(X),W=s&&l?r:void 0;if(W=Qct(f,G,N,W),W){var re=n;if(!a){var ae=k0(e,G,\"x\"),_e=k0(e,N,\"y\");re=gP(e,[ae],[_e],H);for(var Me=0;Me<re.length;Me++){var ke=re[Me],ge=ke.cd[0],ie=ge.trace;if(ke._module.name===\"scattergl\"&&!ge.t.xpx){var Te=ie.x,Ee=ie.y,Ae=ie._length;ge.t.xpx=[],ge.t.ypx=[];for(var ze=0;ze<Ae;ze++)ge.t.xpx[ze]=ae.c2p(Te[ze]),ge.t.ypx[ze]=_e.c2p(Ee[ze])}ke._module.name===\"splom\"&&(q[ie.uid]||(q[ie.uid]=!0))}}var Ce=vfe(W,re);u=u.concat(Ce),c=c.concat(re)}}var me={points:u};kM(e,c,me);var Re=h.clickmode,ce=Re.indexOf(\"event\")>-1&&t;if(!o&&t){var Ge=nfe(e,!0);if(Ge.length){var nt=Ge[0].xref,ct=Ge[0].yref;if(nt&&ct){var qt=gfe(Ge),rt=mfe([k0(e,nt,\"x\"),k0(e,ct,\"y\")]);rt(me,qt)}}e._fullLayout._noEmitSelectedAtStart?e._fullLayout._noEmitSelectedAtStart=!1:ce&&CM(e,me),h._reselect=!1}if(!o&&h._deselect){var ot=h._deselect;s=ot.xref,l=ot.yref,$ct(s,l,c)||pfe(e,s,l,n),ce&&(me.points.length?CM(e,me):SN(e)),h._deselect=!1}return{eventData:me,selectionTesters:r}}function Jct(e){var t=e.calcdata;if(t)for(var r=0;r<t.length;r++){var n=t[r][0],i=n.trace,a=e._fullLayout._splomScenes;if(a){var o=a[i.uid];o&&(o.selectBatch=[])}}}function $ct(e,t,r){for(var n=0;n<r.length;n++){var i=r[n];if(i.xaxis&&i.xaxis._id===e&&i.yaxis&&i.yaxis._id===t)return!0}return!1}function pfe(e,t,r,n){n=gP(e,[k0(e,t,\"x\")],[k0(e,r,\"y\")],t+r);for(var i=0;i<n.length;i++){var a=n[i];a._module.selectPoints(a,!1)}kM(e,n)}function Qct(e,t,r,n){for(var i,a=0;a<e.length;a++){var o=e[a];if(!(t!==o.xref||r!==o.yref))if(i){var s=!!o.subtract;i=ffe(i,o,s),n=TN(i)}else i=[o],n=xN(o)}return n}function nfe(e,t){for(var r=[],n=e._fullLayout,i=n.selections,a=i.length,o=0;o<a;o++)if(!(t&&o!==n._activeSelectionIndex)){var s=i[o];if(s){var l=s.xref,u=s.yref,c=k0(e,l,\"x\"),f=k0(e,u,\"y\"),h,d,v,x,b;if(s.type===\"rect\"){b=[];var p=d_(c,s.x0),E=d_(c,s.x1),k=d_(f,s.y0),A=d_(f,s.y1);b=[[p,k],[p,A],[E,A],[E,k]],h=Math.min(p,E),d=Math.max(p,E),v=Math.min(k,A),x=Math.max(k,A),b.xmin=h,b.xmax=d,b.ymin=v,b.ymax=x,b.xref=l,b.yref=u,b.subtract=!1,b.isRect=!0,r.push(b)}else if(s.type===\"path\")for(var L=s.path.split(\"Z\"),_=[],C=0;C<L.length;C++){var M=L[C];if(M){M+=\"Z\";var g=Qce.extractPathCoords(M,efe.paramIsX,\"raw\"),P=Qce.extractPathCoords(M,efe.paramIsY,\"raw\");h=1/0,d=-1/0,v=1/0,x=-1/0,b=[];for(var T=0;T<g.length;T++){var F=d_(c,g[T]),q=d_(f,P[T]);b.push([F,q]),h=Math.min(F,h),d=Math.max(F,d),v=Math.min(q,v),x=Math.max(q,x)}b.xmin=h,b.xmax=d,b.ymin=v,b.ymax=x,b.xref=l,b.yref=u,b.subtract=AN(b,_),_.push(b),r.push(b)}}}}return r}function AN(e,t){for(var r=!1,n=0;n<t.length;n++)for(var i=t[n],a=0;a<e.length;a++)if(Sct(e[a],i)){r=!r;break}return r}function d_(e,t){return e.type===\"date\"&&(t=t.replace(\"_\",\" \")),e.type===\"log\"?e.c2p(t):e.r2p(t,null,e.calendar)}function gfe(e){for(var t=e.length,r=[],n=0;n<t;n++){var i=e[n];r=r.concat(i),r=r.concat([i[0]])}return eft(r)}function eft(e){return e.isRect=e.length===5&&e[0][0]===e[4][0]&&e[0][1]===e[4][1]&&e[0][0]===e[1][0]&&e[2][0]===e[3][0]&&e[0][1]===e[3][1]&&e[1][1]===e[2][1]||e[0][1]===e[1][1]&&e[2][1]===e[3][1]&&e[0][0]===e[3][0]&&e[1][0]===e[2][0],e.isRect&&(e.xmin=Math.min(e[0][0],e[2][0]),e.xmax=Math.max(e[0][0],e[2][0]),e.ymin=Math.min(e[0][1],e[2][1]),e.ymax=Math.max(e[0][1],e[2][1])),e}function mfe(e){return function(t,r){for(var n,i,a=0;a<e.length;a++){var o=e[a],s=o._id,l=s.charAt(0);if(r.isRect){n||(n={});var u=r[l+\"min\"],c=r[l+\"max\"];u!==void 0&&c!==void 0&&(n[s]=[tfe(o,u),tfe(o,c)].sort(zct))}else i||(i={}),i[s]=r.map(Bct(o))}n&&(t.range=n),i&&(t.lassoPoints=i)}}function tft(e){var t=e.plotinfo;return t.fillRangeItems||mfe(e.xaxes.concat(e.yaxes))}function rft(e,t){e.emit(\"plotly_selecting\",t)}function CM(e,t){t&&(t.selections=(e.layout||{}).selections||[]),e.emit(\"plotly_selected\",t)}function SN(e){e.emit(\"plotly_deselect\",null)}yfe.exports={reselect:mN,prepSelect:Uct,clearOutline:ofe,clearSelectionsCache:EM,selectOnClick:ufe}});var MN=ye((Oir,xfe)=>{\"use strict\";xfe.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}]});var PM=ye((Bir,bfe)=>{\"use strict\";bfe.exports={axisRefDescription:function(e,t,r){return[\"If set to a\",e,\"axis id (e.g. *\"+e+\"* or\",\"*\"+e+\"2*), the `\"+e+\"` position refers to a\",e,\"coordinate. If set to *paper*, the `\"+e+\"`\",\"position refers to the distance from the\",t,\"of the plotting\",\"area in normalized coordinates where *0* (*1*) corresponds to the\",t,\"(\"+r+\"). If set to a\",e,\"axis ID followed by\",\"*domain* (separated by a space), the position behaves like for\",\"*paper*, but refers to the distance in fractions of the domain\",\"length from the\",t,\"of the domain of that axis: e.g.,\",\"*\"+e+\"2 domain* refers to the domain of the second\",e,\" axis and a\",e,\"position of 0.5 refers to the\",\"point between the\",t,\"and the\",r,\"of the domain of the\",\"second\",e,\"axis.\"].join(\" \")}}});var Nb=ye((Uir,Afe)=>{\"use strict\";var wfe=MN(),Tfe=Su(),mP=ad(),ift=Vs().templatedArray,Nir=PM();Afe.exports=ift(\"annotation\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},text:{valType:\"string\",editType:\"calc+arraydraw\"},textangle:{valType:\"angle\",dflt:0,editType:\"calc+arraydraw\"},font:Tfe({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:wfe.length,dflt:1,editType:\"arraydraw\"},startarrowhead:{valType:\"integer\",min:0,max:wfe.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\",mP.idRegex.x.toString()],editType:\"calc\"},ayref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",mP.idRegex.y.toString()],editType:\"calc\"},xref:{valType:\"enumerated\",values:[\"paper\",mP.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\",mP.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:Tfe({editType:\"arraydraw\"}),editType:\"arraydraw\"},captureevents:{valType:\"boolean\",editType:\"arraydraw\"},editType:\"calc\"})});var Sm=ye((Vir,Sfe)=>{\"use strict\";Sfe.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}});var Eg=ye((Hir,Mfe)=>{\"use strict\";Mfe.exports=function(t){return{valType:\"color\",editType:\"style\",anim:!0}}});var Uc=ye((Gir,Ife)=>{\"use strict\";var Efe=Oc().axisHoverFormat,nft=Wo().texttemplateAttrs,aft=Wo().hovertemplateAttrs,kfe=Jl(),oft=Su(),sft=Ed().dash,lft=Ed().pattern,uft=ao(),cft=Sm(),yP=no().extendFlat,fft=Eg();function Cfe(e){return{valType:\"any\",dflt:0,editType:\"calc\"}}function Lfe(e){return{valType:\"any\",editType:\"calc\"}}function Pfe(e){return{valType:\"enumerated\",values:[\"start\",\"middle\",\"end\"],dflt:\"middle\",editType:\"calc\"}}Ife.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\",anim:!0},x0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\",anim:!0},dx:{valType:\"number\",dflt:1,editType:\"calc\",anim:!0},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\",anim:!0},y0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\",anim:!0},dy:{valType:\"number\",dflt:1,editType:\"calc\",anim:!0},xperiod:Cfe(\"x\"),yperiod:Cfe(\"y\"),xperiod0:Lfe(\"x0\"),yperiod0:Lfe(\"y0\"),xperiodalignment:Pfe(\"x\"),yperiodalignment:Pfe(\"y\"),xhoverformat:Efe(\"x\"),yhoverformat:Efe(\"y\"),offsetgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},alignmentgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},stackgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc\"},groupnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\",editType:\"calc\"},stackgaps:{valType:\"enumerated\",values:[\"infer zero\",\"interpolate\"],dflt:\"infer zero\",editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},texttemplate:nft({},{}),hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"],editType:\"calc\"},hoveron:{valType:\"flaglist\",flags:[\"points\",\"fills\"],editType:\"style\"},hovertemplate:aft({},{keys:cft.eventDataKeys}),line:{color:{valType:\"color\",editType:\"style\",anim:!0},width:{valType:\"number\",min:0,dflt:2,editType:\"style\",anim:!0},shape:{valType:\"enumerated\",values:[\"linear\",\"spline\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\",editType:\"plot\"},smoothing:{valType:\"number\",min:0,max:1.3,dflt:1,editType:\"plot\"},dash:yP({},sft,{editType:\"style\"}),backoff:{valType:\"number\",min:0,dflt:\"auto\",arrayOk:!0,editType:\"plot\"},simplify:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cliponaxis:{valType:\"boolean\",dflt:!0,editType:\"plot\"},fill:{valType:\"enumerated\",values:[\"none\",\"tozeroy\",\"tozerox\",\"tonexty\",\"tonextx\",\"toself\",\"tonext\"],editType:\"calc\"},fillcolor:fft(!0),fillgradient:yP({type:{valType:\"enumerated\",values:[\"radial\",\"horizontal\",\"vertical\",\"none\"],dflt:\"none\",editType:\"calc\"},start:{valType:\"number\",editType:\"calc\"},stop:{valType:\"number\",editType:\"calc\"},colorscale:{valType:\"colorscale\",editType:\"style\"},editType:\"calc\"}),fillpattern:lft,marker:yP({symbol:{valType:\"enumerated\",values:uft.symbolList,dflt:\"circle\",arrayOk:!0,editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,arrayOk:!0,editType:\"style\",anim:!0},angle:{valType:\"angle\",dflt:0,arrayOk:!0,editType:\"plot\",anim:!1},angleref:{valType:\"enumerated\",values:[\"previous\",\"up\"],dflt:\"up\",editType:\"plot\",anim:!1},standoff:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"plot\",anim:!0},size:{valType:\"number\",min:0,dflt:6,arrayOk:!0,editType:\"calc\",anim:!0},maxdisplayed:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},sizeref:{valType:\"number\",dflt:1,editType:\"calc\"},sizemin:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},sizemode:{valType:\"enumerated\",values:[\"diameter\",\"area\"],dflt:\"diameter\",editType:\"calc\"},line:yP({width:{valType:\"number\",min:0,arrayOk:!0,editType:\"style\",anim:!0},editType:\"calc\"},kfe(\"marker.line\",{anim:!0})),gradient:{type:{valType:\"enumerated\",values:[\"radial\",\"horizontal\",\"vertical\",\"none\"],arrayOk:!0,dflt:\"none\",editType:\"calc\"},color:{valType:\"color\",arrayOk:!0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},kfe(\"marker\",{anim:!0})),selected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},unselected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\"],dflt:\"middle center\",arrayOk:!0,editType:\"calc\"},textfont:oft({editType:\"calc\",colorEditType:\"style\",arrayOk:!0}),zorder:{valType:\"integer\",dflt:0,editType:\"plot\"}}});var EN=ye((Wir,zfe)=>{\"use strict\";var Rfe=Nb(),Dfe=Uc().line,hft=Ed().dash,_P=no().extendFlat,dft=Bu().overrideAll,vft=Vs().templatedArray,jir=PM();zfe.exports=dft(vft(\"selection\",{type:{valType:\"enumerated\",values:[\"rect\",\"path\"]},xref:_P({},Rfe.xref,{}),yref:_P({},Rfe.yref,{}),x0:{valType:\"any\"},x1:{valType:\"any\"},y0:{valType:\"any\"},y1:{valType:\"any\"},path:{valType:\"string\",editType:\"arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:.7,editType:\"arraydraw\"},line:{color:Dfe.color,width:_P({},Dfe.width,{min:1,dflt:1}),dash:_P({},hft,{dflt:\"dot\"})}}),\"arraydraw\",\"from-root\")});var Bfe=ye((Zir,Ofe)=>{\"use strict\";var Ffe=Mr(),xP=Qa(),pft=Zd(),gft=EN(),qfe=h_();Ofe.exports=function(t,r){pft(t,r,{name:\"selections\",handleItemDefaults:mft});for(var n=r.selections,i=0;i<n.length;i++){var a=n[i];a&&a.path===void 0&&(a.x0===void 0||a.x1===void 0||a.y0===void 0||a.y1===void 0)&&(r.selections[i]=null)}};function mft(e,t,r){function n(_,C){return Ffe.coerce(e,t,gft,_,C)}var i=n(\"path\"),a=i?\"path\":\"rect\",o=n(\"type\",a),s=o!==\"path\";s&&delete t.path,n(\"opacity\"),n(\"line.color\"),n(\"line.width\"),n(\"line.dash\");for(var l=[\"x\",\"y\"],u=0;u<2;u++){var c=l[u],f={_fullLayout:r},h,d,v,x=xP.coerceRef(e,t,f,c);if(h=xP.getFromId(f,x),h._selectionIndices.push(t._index),v=qfe.rangeToShapePosition(h),d=qfe.shapePositionToRange(h),s){var b=c+\"0\",p=c+\"1\",E=e[b],k=e[p];e[b]=d(e[b],!0),e[p]=d(e[p],!0),xP.coercePosition(t,f,n,x,b),xP.coercePosition(t,f,n,x,p);var A=t[b],L=t[p];A!==void 0&&L!==void 0&&(t[b]=v(A),t[p]=v(L),e[b]=E,e[p]=k)}}s&&Ffe.noneOrAll(e,t,[\"x0\",\"x1\",\"y0\",\"y1\"])}});var Ufe=ye((Xir,Nfe)=>{\"use strict\";Nfe.exports=function(t,r,n){n(\"newselection.mode\");var i=n(\"newselection.line.width\");i&&(n(\"newselection.line.color\"),n(\"newselection.line.dash\")),n(\"activeselection.fillcolor\"),n(\"activeselection.opacity\")}});var IM=ye((Yir,Gfe)=>{\"use strict\";var yft=ba(),Vfe=Mr(),Hfe=af();Gfe.exports=function(t){return function(n,i){var a=n[t];if(Array.isArray(a))for(var o=yft.subplotsRegistry.cartesian,s=o.idRegex,l=i._subplots,u=l.xaxis,c=l.yaxis,f=l.cartesian,h=i._has(\"cartesian\"),d=0;d<a.length;d++){var v=a[d];if(Vfe.isPlainObject(v)){var x=Hfe.cleanId(v.xref,\"x\",!1),b=Hfe.cleanId(v.yref,\"y\",!1),p=s.x.test(x),E=s.y.test(b);if(p||E){h||Vfe.pushUnique(i._basePlotModules,o);var k=!1;p&&u.indexOf(x)===-1&&(u.push(x),k=!0),E&&c.indexOf(b)===-1&&(c.push(b),k=!0),k&&p&&E&&f.push(x+b)}}}}}});var wf=ye((Kir,Wfe)=>{\"use strict\";var jfe=dN(),RM=_fe();Wfe.exports={moduleType:\"component\",name:\"selections\",layoutAttributes:EN(),supplyLayoutDefaults:Bfe(),supplyDrawNewSelectionDefaults:Ufe(),includeBasePlot:IM()(\"selections\"),draw:jfe.draw,drawOne:jfe.drawOne,reselect:RM.reselect,prepSelect:RM.prepSelect,clearOutline:RM.clearOutline,clearSelectionsCache:RM.clearSelectionsCache,selectOnClick:RM.selectOnClick}});var DN=ye((Jir,hhe)=>{\"use strict\";var IN=xa(),C0=Mr(),Zfe=C0.numberFormat,_ft=id(),xft=kL(),bP=ba(),rhe=C0.strTranslate,bft=Pl(),Xfe=va(),v_=ao(),wft=Nc(),Yfe=Qa(),Tft=Tg(),Aft=gv(),ihe=Sg(),wP=ihe.selectingOrDrawing,Sft=ihe.freeMode,Mft=Nh().FROM_TL,Eft=lM(),kft=gM().redrawReglTraces,Cft=Xu(),CN=af().getFromId,Lft=wf().prepSelect,Pft=wf().clearOutline,Ift=wf().selectOnClick,kN=aN(),RN=ad(),Kfe=RN.MINDRAG,np=RN.MINZOOM,Jfe=!0;function Rft(e,t,r,n,i,a,o,s){var l=e._fullLayout._zoomlayer,u=o+s===\"nsew\",c=(o+s).length===1,f,h,d,v,x,b,p,E,k,A,L,_,C,M,g,P,T,F,q,V,H,X,G;r+=t.yaxis._shift;function N(){if(f=t.xaxis,h=t.yaxis,k=f._length,A=h._length,p=f._offset,E=h._offset,d={},d[f._id]=f,v={},v[h._id]=h,o&&s)for(var Et=t.overlays,dt=0;dt<Et.length;dt++){var Ht=Et[dt].xaxis;d[Ht._id]=Ht;var $t=Et[dt].yaxis;v[$t._id]=$t}x=the(d),b=the(v),C=$fe(x,s),M=$fe(b,o),g=!M&&!C,_=ehe(e,e._fullLayout._axisMatchGroups,d,v),L=ehe(e,e._fullLayout._axisConstraintGroups,d,v,_);var fr=L.isSubplotConstrained||_.isSubplotConstrained;P=s||fr,T=o||fr;var _r=e._fullLayout;F=_r._has(\"scattergl\"),q=_r._has(\"splom\"),V=_r._has(\"svg\")}N();var W=Fft(M+C,e._fullLayout.dragmode,u),re=ahe(t,o+s+\"drag\",W,r,n,i,a);if(g&&!u)return re.onmousedown=null,re.style.pointerEvents=\"none\",re;var ae={element:re,gd:e,plotinfo:t};ae.prepFn=function(Et,dt,Ht){var $t=ae.dragmode,fr=e._fullLayout.dragmode;fr!==$t&&(ae.dragmode=fr),N(),X=e._fullLayout._invScaleX,G=e._fullLayout._invScaleY,g||(u?Et.shiftKey?fr===\"pan\"?fr=\"zoom\":wP(fr)||(fr=\"pan\"):Et.ctrlKey&&(fr=\"pan\"):fr=\"pan\"),Sft(fr)?ae.minDrag=1:ae.minDrag=void 0,wP(fr)?(ae.xaxes=x,ae.yaxes=b,Lft(Et,dt,Ht,ae,fr)):(ae.clickFn=Me,wP($t)&&_e(),g||(fr===\"zoom\"?(ae.moveFn=Ge,ae.doneFn=ct,ae.minDrag=1,ce(Et,dt,Ht)):fr===\"pan\"&&(ae.moveFn=Ct,ae.doneFn=Ke))),e._fullLayout._redrag=function(){var _r=e._dragdata;if(_r&&_r.element===re){var Br=e._fullLayout.dragmode;wP(Br)||(N(),xt([0,0,k,A]),ae.moveFn(_r.dx,_r.dy))}}};function _e(){ae.plotinfo.selection=!1,Pft(e)}function Me(Et,dt){var Ht=ae.gd;if(Ht._fullLayout._activeShapeIndex>=0){Ht._fullLayout._deactivateShape(Ht);return}var $t=Ht._fullLayout.clickmode;if(PN(Ht),Et===2&&!c&&er(),u)$t.indexOf(\"select\")>-1&&Ift(dt,Ht,x,b,t.id,ae),$t.indexOf(\"event\")>-1&&wft.click(Ht,dt,t.id);else if(Et===1&&c){var fr=o?h:f,_r=o===\"s\"||s===\"w\"?0:1,Br=fr._name+\".range[\"+_r+\"]\",Or=Dft(fr,_r),Nr=\"left\",ut=\"middle\";if(fr.fixedrange)return;o?(ut=o===\"n\"?\"top\":\"bottom\",fr.side===\"right\"&&(Nr=\"right\")):s===\"e\"&&(Nr=\"right\"),Ht._context.showAxisRangeEntryBoxes&&IN.select(re).call(bft.makeEditable,{gd:Ht,immediate:!0,background:Ht._fullLayout.paper_bgcolor,text:String(Or),fill:fr.tickfont?fr.tickfont.color:\"#444\",horizontalAlign:Nr,verticalAlign:ut}).on(\"edit\",function(Ne){var Ye=fr.d2r(Ne);Ye!==void 0&&bP.call(\"_guiRelayout\",Ht,Br,Ye)})}}Aft.init(ae);var ke,ge,ie,Te,Ee,Ae,ze,Ce,me,Re;function ce(Et,dt,Ht){var $t=re.getBoundingClientRect();ke=dt-$t.left,ge=Ht-$t.top,e._fullLayout._calcInverseTransform(e);var fr=C0.apply3DTransform(e._fullLayout._invTransform)(ke,ge);ke=fr[0],ge=fr[1],ie={l:ke,r:ke,w:0,t:ge,b:ge,h:0},Te=e._hmpixcount?e._hmlumcount/e._hmpixcount:_ft(e._fullLayout.plot_bgcolor).getLuminance(),Ee=\"M0,0H\"+k+\"V\"+A+\"H0V0\",Ae=!1,ze=\"xy\",Re=!1,Ce=ohe(l,Te,p,E,Ee),me=she(l,p,E)}function Ge(Et,dt){if(e._transitioningWithDuration)return!1;var Ht=Math.max(0,Math.min(k,X*Et+ke)),$t=Math.max(0,Math.min(A,G*dt+ge)),fr=Math.abs(Ht-ke),_r=Math.abs($t-ge);ie.l=Math.min(ke,Ht),ie.r=Math.max(ke,Ht),ie.t=Math.min(ge,$t),ie.b=Math.max(ge,$t);function Br(){ze=\"\",ie.r=ie.l,ie.t=ie.b,me.attr(\"d\",\"M0,0Z\")}if(L.isSubplotConstrained)fr>np||_r>np?(ze=\"xy\",fr/k>_r/A?(_r=fr*A/k,ge>$t?ie.t=ge-_r:ie.b=ge+_r):(fr=_r*k/A,ke>Ht?ie.l=ke-fr:ie.r=ke+fr),me.attr(\"d\",TP(ie))):Br();else if(_.isSubplotConstrained)if(fr>np||_r>np){ze=\"xy\";var Or=Math.min(ie.l/k,(A-ie.b)/A),Nr=Math.max(ie.r/k,(A-ie.t)/A);ie.l=Or*k,ie.r=Nr*k,ie.b=(1-Or)*A,ie.t=(1-Nr)*A,me.attr(\"d\",TP(ie))}else Br();else!M||_r<Math.min(Math.max(fr*.6,Kfe),np)?fr<Kfe||!C?Br():(ie.t=0,ie.b=A,ze=\"x\",me.attr(\"d\",qft(ie,ge))):!C||fr<Math.min(_r*.6,np)?(ie.l=0,ie.r=k,ze=\"y\",me.attr(\"d\",Oft(ie,ke))):(ze=\"xy\",me.attr(\"d\",TP(ie)));ie.w=ie.r-ie.l,ie.h=ie.b-ie.t,ze&&(Re=!0),e._dragged=Re,lhe(Ce,me,ie,Ee,Ae,Te),nt(),e.emit(\"plotly_relayouting\",H),Ae=!0}function nt(){H={},(ze===\"xy\"||ze===\"x\")&&(LN(x,ie.l/k,ie.r/k,H,L.xaxes),Yt(\"x\",H)),(ze===\"xy\"||ze===\"y\")&&(LN(b,(A-ie.b)/A,(A-ie.t)/A,H,L.yaxes),Yt(\"y\",H))}function ct(){nt(),PN(e),Ke(),che(e)}var qt=[0,0,k,A],rt=null,ot=RN.REDRAWDELAY,Rt=t.mainplot?e._fullLayout._plots[t.mainplot]:t;function kt(Et){if(!e._context._scrollZoom.cartesian&&!e._fullLayout._enablescrollzoom)return;if(_e(),e._transitioningWithDuration){Et.preventDefault(),Et.stopPropagation();return}N(),clearTimeout(rt);var dt=-Et.deltaY;if(isFinite(dt)||(dt=Et.wheelDelta/10),!isFinite(dt)){C0.log(\"Did not find wheel motion attributes: \",Et);return}var Ht=Math.exp(-Math.min(Math.max(dt,-20),20)/200),$t=Rt.draglayer.select(\".nsewdrag\").node().getBoundingClientRect(),fr=(Et.clientX-$t.left)/$t.width,_r=($t.bottom-Et.clientY)/$t.height,Br;function Or(Nr,ut,Ne){if(Nr.fixedrange)return;var Ye=C0.simpleMap(Nr.range,Nr.r2l),Ve=Ye[0]+(Ye[1]-Ye[0])*ut;function Xe(ht){return Nr.l2r(Ve+(ht-Ve)*Ne)}Nr.range=Ye.map(Xe)}if(P){for(s||(fr=.5),Br=0;Br<x.length;Br++)Or(x[Br],fr,Ht);Yt(\"x\"),qt[2]*=Ht,qt[0]+=qt[2]*fr*(1/Ht-1)}if(T){for(o||(_r=.5),Br=0;Br<b.length;Br++)Or(b[Br],_r,Ht);Yt(\"y\"),qt[3]*=Ht,qt[1]+=qt[3]*(1-_r)*(1/Ht-1)}xt(qt),xr(),e.emit(\"plotly_relayouting\",H),rt=setTimeout(function(){e._fullLayout&&(qt=[0,0,k,A],Ke())},ot),Et.preventDefault()}o.length*s.length!==1&&fhe(re,kt);function Ct(Et,dt){if(Et=Et*X,dt=dt*G,e._transitioningWithDuration)return;if(e._fullLayout._replotting=!0,C===\"ew\"||M===\"ns\"){var Ht=C?-Et:0,$t=M?-dt:0;if(_.isSubplotConstrained){if(C&&M){var fr=(Et/k-dt/A)/2;Et=fr*k,dt=-fr*A,Ht=-Et,$t=-dt}M?Ht=-$t*k/A:$t=-Ht*A/k}C&&(Qfe(x,Et),Yt(\"x\")),M&&(Qfe(b,dt),Yt(\"y\")),xt([Ht,$t,k,A]),xr(),e.emit(\"plotly_relayouting\",H);return}function _r(Xe,ht,Le){for(var xe=1-ht,Se,lt,Gt=0;Gt<Xe.length;Gt++){var Vt=Xe[Gt];if(!Vt.fixedrange){Se=Vt,lt=Vt._rl[xe]+(Vt._rl[ht]-Vt._rl[xe])/zft(Le/Vt._length);var ar=Vt.l2r(lt);ar!==!1&&ar!==void 0&&(Vt.range[ht]=ar)}}return Se._length*(Se._rl[ht]-lt)/(Se._rl[ht]-Se._rl[xe])}var Br=C===\"w\"==(M===\"n\")?1:-1;if(C&&M&&(L.isSubplotConstrained||_.isSubplotConstrained)){var Or=(Et/k+Br*dt/A)/2;Et=Or*k,dt=Br*Or*A}var Nr,ut;if(C===\"w\"?Et=_r(x,0,Et):C===\"e\"?Et=_r(x,1,-Et):C||(Et=0),M===\"n\"?dt=_r(b,1,dt):M===\"s\"?dt=_r(b,0,-dt):M||(dt=0),Nr=C===\"w\"?Et:0,ut=M===\"n\"?dt:0,L.isSubplotConstrained&&!_.isSubplotConstrained||_.isSubplotConstrained&&C&&M&&Br>0){var Ne;if(_.isSubplotConstrained||!C&&M.length===1){for(Ne=0;Ne<x.length;Ne++)x[Ne].range=x[Ne]._r.slice(),kN(x[Ne],1-dt/A);Et=dt*k/A,Nr=Et/2}if(_.isSubplotConstrained||!M&&C.length===1){for(Ne=0;Ne<b.length;Ne++)b[Ne].range=b[Ne]._r.slice(),kN(b[Ne],1-Et/k);dt=Et*A/k,ut=dt/2}}(!_.isSubplotConstrained||!M)&&Yt(\"x\"),(!_.isSubplotConstrained||!C)&&Yt(\"y\");var Ye=k-Et,Ve=A-dt;_.isSubplotConstrained&&!(C&&M)&&(C?(ut=Nr?0:Et*A/k,Ve=Ye*A/k):(Nr=ut?0:dt*k/A,Ye=Ve*k/A)),xt([Nr,ut,Ye,Ve]),xr(),e.emit(\"plotly_relayouting\",H)}function Yt(Et,dt){for(var Ht=_.isSubplotConstrained?{x:b,y:x}[Et]:_[Et+\"axes\"],$t=_.isSubplotConstrained?{x,y:b}[Et]:[],fr=0;fr<Ht.length;fr++){var _r=Ht[fr],Br=_r._id,Or=_.xLinks[Br]||_.yLinks[Br],Nr=$t[0]||d[Or]||v[Or];Nr&&(dt?(dt[_r._name+\".range[0]\"]=dt[Nr._name+\".range[0]\"],dt[_r._name+\".range[1]\"]=dt[Nr._name+\".range[1]\"]):_r.range=Nr.range.slice())}}function xr(){var Et=[],dt;function Ht(Br){for(dt=0;dt<Br.length;dt++)Br[dt].fixedrange||Et.push(Br[dt]._id)}function $t(Br,Or){for(dt=0;dt<Br.length;dt++){var Nr=Br[dt],ut=Nr[Or];!Nr.fixedrange&&ut.tickmode===\"sync\"&&Et.push(ut._id)}}for(P&&(Ht(x),Ht(L.xaxes),Ht(_.xaxes),$t(t.overlays,\"xaxis\")),T&&(Ht(b),Ht(L.yaxes),Ht(_.yaxes),$t(t.overlays,\"yaxis\")),H={},dt=0;dt<Et.length;dt++){var fr=Et[dt],_r=CN(e,fr);Yfe.drawOne(e,_r,{skipTitle:!0}),H[_r._name+\".range[0]\"]=_r.range[0],H[_r._name+\".range[1]\"]=_r.range[1]}Yfe.redrawComponents(e,Et)}function er(){if(!e._transitioningWithDuration){var Et=e._context.doubleClick,dt=[];C&&(dt=dt.concat(x)),M&&(dt=dt.concat(b)),_.xaxes&&(dt=dt.concat(_.xaxes)),_.yaxes&&(dt=dt.concat(_.yaxes));var Ht={},$t,fr;if(Et===\"reset+autosize\")for(Et=\"autosize\",fr=0;fr<dt.length;fr++){$t=dt[fr];var _r=$t._rangeInitial0,Br=$t._rangeInitial1,Or=_r!==void 0||Br!==void 0;if(Or&&(_r!==void 0&&_r!==$t.range[0]||Br!==void 0&&Br!==$t.range[1])||!Or&&$t.autorange!==!0){Et=\"reset\";break}}if(Et===\"autosize\")for(fr=0;fr<dt.length;fr++)$t=dt[fr],$t.fixedrange||(Ht[$t._name+\".autorange\"]=!0);else if(Et===\"reset\"){for((C||L.isSubplotConstrained)&&(dt=dt.concat(L.xaxes)),M&&!L.isSubplotConstrained&&(dt=dt.concat(L.yaxes)),L.isSubplotConstrained&&(C?M||(dt=dt.concat(b)):dt=dt.concat(x)),fr=0;fr<dt.length;fr++)if($t=dt[fr],!$t.fixedrange){var Nr=$t._name,ut=$t._autorangeInitial;$t._rangeInitial0===void 0&&$t._rangeInitial1===void 0?Ht[Nr+\".autorange\"]=!0:$t._rangeInitial0===void 0?(Ht[Nr+\".autorange\"]=ut,Ht[Nr+\".range\"]=[null,$t._rangeInitial1]):$t._rangeInitial1===void 0?(Ht[Nr+\".range\"]=[$t._rangeInitial0,null],Ht[Nr+\".autorange\"]=ut):Ht[Nr+\".range\"]=[$t._rangeInitial0,$t._rangeInitial1]}}e.emit(\"plotly_doubleclick\",null),bP.call(\"_guiRelayout\",e,Ht)}}function Ke(){xt([0,0,k,A]),C0.syncOrAsync([Cft.previousPromises,function(){e._fullLayout._replotting=!1,bP.call(\"_guiRelayout\",e,H)}],e)}function xt(Et){var dt=e._fullLayout,Ht=dt._plots,$t=dt._subplots.cartesian,fr,_r,Br,Or;if(q&&bP.subplotsRegistry.splom.drag(e),F){for(fr=0;fr<$t.length;fr++)if(_r=Ht[$t[fr]],Br=_r.xaxis,Or=_r.yaxis,_r._scene){Br.limitRange&&Br.limitRange(),Or.limitRange&&Or.limitRange();var Nr=C0.simpleMap(Br.range,Br.r2l),ut=C0.simpleMap(Or.range,Or.r2l);_r._scene.update({range:[Nr[0],ut[0],Nr[1],ut[1]]})}}if((q||F)&&(Eft(e),kft(e)),V){var Ne=Et[2]/f._length,Ye=Et[3]/h._length;for(fr=0;fr<$t.length;fr++){_r=Ht[$t[fr]],Br=_r.xaxis,Or=_r.yaxis;var Ve=(P||_.isSubplotConstrained)&&!Br.fixedrange&&d[Br._id],Xe=(T||_.isSubplotConstrained)&&!Or.fixedrange&&v[Or._id],ht,Le,xe,Se;if(Ve?(ht=Ne,xe=s||_.isSubplotConstrained?Et[0]:St(Br,ht)):_.xaHash[Br._id]?(ht=Ne,xe=Et[0]*Br._length/f._length):_.yaHash[Br._id]?(ht=Ye,xe=M===\"ns\"?-Et[1]*Br._length/h._length:St(Br,ht,{n:\"top\",s:\"bottom\"}[M])):(ht=bt(Br,Ne,Ye),xe=Lt(Br,ht)),ht>1&&(Br.maxallowed!==void 0&&P===(Br.range[0]<Br.range[1]?\"e\":\"w\")||Br.minallowed!==void 0&&P===(Br.range[0]<Br.range[1]?\"w\":\"e\"))&&(ht=1,xe=0),Xe?(Le=Ye,Se=o||_.isSubplotConstrained?Et[1]:St(Or,Le)):_.yaHash[Or._id]?(Le=Ye,Se=Et[1]*Or._length/h._length):_.xaHash[Or._id]?(Le=Ne,Se=C===\"ew\"?-Et[0]*Or._length/f._length:St(Or,Le,{e:\"right\",w:\"left\"}[C])):(Le=bt(Or,Ne,Ye),Se=Lt(Or,Le)),Le>1&&(Or.maxallowed!==void 0&&T===(Or.range[0]<Or.range[1]?\"n\":\"s\")||Or.minallowed!==void 0&&T===(Or.range[0]<Or.range[1]?\"s\":\"n\"))&&(Le=1,Se=0),!(!ht&&!Le)){ht||(ht=1),Le||(Le=1);var lt=Br._offset-xe/ht,Gt=Or._offset-Se/Le;_r.clipRect.call(v_.setTranslate,xe,Se).call(v_.setScale,ht,Le),_r.plot.call(v_.setTranslate,lt,Gt).call(v_.setScale,1/ht,1/Le),(ht!==_r.xScaleFactor||Le!==_r.yScaleFactor)&&(v_.setPointGroupScale(_r.zoomScalePts,ht,Le),v_.setTextPointsScale(_r.zoomScaleTxt,ht,Le)),v_.hideOutsideRangePoints(_r.clipOnAxisFalseTraces,_r),_r.xScaleFactor=ht,_r.yScaleFactor=Le}}}}function bt(Et,dt,Ht){return Et.fixedrange?0:P&&L.xaHash[Et._id]?dt:T&&(L.isSubplotConstrained?L.xaHash:L.yaHash)[Et._id]?Ht:0}function Lt(Et,dt){return dt?(Et.range=Et._r.slice(),kN(Et,dt),St(Et,dt)):0}function St(Et,dt,Ht){return Et._length*(1-dt)*Mft[Ht||Et.constraintoward||\"middle\"]}return re}function nhe(e,t,r,n){var i=C0.ensureSingle(e.draglayer,t,r,function(a){a.classed(\"drag\",!0).style({fill:\"transparent\",\"stroke-width\":0}).attr(\"data-subplot\",e.id)});return i.call(Tft,n),i.node()}function ahe(e,t,r,n,i,a,o){var s=nhe(e,\"rect\",t,r);return IN.select(s).call(v_.setRect,n,i,a,o),s}function $fe(e,t){for(var r=0;r<e.length;r++)if(!e[r].fixedrange)return t;return\"\"}function Dft(e,t){var r=e.range[t],n=Math.abs(r-e.range[1-t]),i;return e.type===\"date\"?r:e.type===\"log\"?(i=Math.ceil(Math.max(0,-Math.log(n)/Math.LN10))+3,Zfe(\".\"+i+\"g\")(Math.pow(10,r))):(i=Math.floor(Math.log(Math.abs(r))/Math.LN10)-Math.floor(Math.log(n)/Math.LN10)+4,Zfe(\".\"+String(i)+\"g\")(r))}function LN(e,t,r,n,i){for(var a=0;a<e.length;a++){var o=e[a];if(!o.fixedrange)if(o.rangebreaks){var s=o._id.charAt(0)===\"y\",l=s?1-t:t,u=s?1-r:r;n[o._name+\".range[0]\"]=o.l2r(o.p2l(l*o._length)),n[o._name+\".range[1]\"]=o.l2r(o.p2l(u*o._length))}else{var c=o._rl[0],f=o._rl[1]-c;n[o._name+\".range[0]\"]=o.l2r(c+f*t),n[o._name+\".range[1]\"]=o.l2r(c+f*r)}}if(i&&i.length){var h=(t+(1-r))/2;LN(i,h,1-h,n,[])}}function Qfe(e,t){for(var r=0;r<e.length;r++){var n=e[r];if(!n.fixedrange){if(n.rangebreaks){var i=0,a=n._length,o=n.p2l(i+t)-n.p2l(i),s=n.p2l(a+t)-n.p2l(a),l=(o+s)/2;n.range=[n.l2r(n._rl[0]-l),n.l2r(n._rl[1]-l)]}else n.range=[n.l2r(n._rl[0]-t/n._m),n.l2r(n._rl[1]-t/n._m)];n.limitRange&&n.limitRange()}}}function zft(e){return 1-(e>=0?Math.min(e,.9):1/(1/Math.max(e,-.3)+3.222))}function Fft(e,t,r){return e?e===\"nsew\"?r?\"\":t===\"pan\"?\"move\":\"crosshair\":e.toLowerCase()+\"-resize\":\"pointer\"}function ohe(e,t,r,n,i){return e.append(\"path\").attr(\"class\",\"zoombox\").style({fill:t>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"transform\",rhe(r,n)).attr(\"d\",i+\"Z\")}function she(e,t,r){return e.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:Xfe.background,stroke:Xfe.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"transform\",rhe(t,r)).attr(\"d\",\"M0,0Z\")}function lhe(e,t,r,n,i,a){e.attr(\"d\",n+\"M\"+r.l+\",\"+r.t+\"v\"+r.h+\"h\"+r.w+\"v-\"+r.h+\"h-\"+r.w+\"Z\"),uhe(e,t,i,a)}function uhe(e,t,r,n){r||(e.transition().style(\"fill\",n>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),t.transition().style(\"opacity\",1).duration(200))}function PN(e){IN.select(e).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}function che(e){Jfe&&e.data&&e._context.showTips&&(C0.notifier(C0._(e,\"Double-click to zoom back out\"),\"long\"),Jfe=!1)}function qft(e,t){return\"M\"+(e.l-.5)+\",\"+(t-np-.5)+\"h-3v\"+(2*np+1)+\"h3ZM\"+(e.r+.5)+\",\"+(t-np-.5)+\"h3v\"+(2*np+1)+\"h-3Z\"}function Oft(e,t){return\"M\"+(t-np-.5)+\",\"+(e.t-.5)+\"v-3h\"+(2*np+1)+\"v3ZM\"+(t-np-.5)+\",\"+(e.b+.5)+\"v3h\"+(2*np+1)+\"v-3Z\"}function TP(e){var t=Math.floor(Math.min(e.b-e.t,e.r-e.l,np)/2);return\"M\"+(e.l-3.5)+\",\"+(e.t-.5+t)+\"h3v\"+-t+\"h\"+t+\"v-3h-\"+(t+3)+\"ZM\"+(e.r+3.5)+\",\"+(e.t-.5+t)+\"h-3v\"+-t+\"h\"+-t+\"v-3h\"+(t+3)+\"ZM\"+(e.r+3.5)+\",\"+(e.b+.5-t)+\"h-3v\"+t+\"h\"+-t+\"v3h\"+(t+3)+\"ZM\"+(e.l-3.5)+\",\"+(e.b+.5-t)+\"h3v\"+t+\"h\"+t+\"v3h-\"+(t+3)+\"Z\"}function ehe(e,t,r,n,i){for(var a=!1,o={},s={},l,u,c,f,h=(i||{}).xaHash,d=(i||{}).yaHash,v=0;v<t.length;v++){var x=t[v];for(l in r)if(x[l]){for(c in x)!(i&&(h[c]||d[c]))&&!(c.charAt(0)===\"x\"?r:n)[c]&&(o[c]=l);for(u in n)!(i&&(h[u]||d[u]))&&x[u]&&(a=!0)}for(u in n)if(x[u])for(f in x)!(i&&(h[f]||d[f]))&&!(f.charAt(0)===\"x\"?r:n)[f]&&(s[f]=u)}a&&(C0.extendFlat(o,s),s={});var b={},p=[];for(c in o){var E=CN(e,c);p.push(E),b[E._id]=E}var k={},A=[];for(f in s){var L=CN(e,f);A.push(L),k[L._id]=L}return{xaHash:b,yaHash:k,xaxes:p,yaxes:A,xLinks:o,yLinks:s,isSubplotConstrained:a}}function fhe(e,t){if(!xft)e.onwheel!==void 0?e.onwheel=t:e.onmousewheel!==void 0?e.onmousewheel=t:e.isAddedWheelEvent||(e.isAddedWheelEvent=!0,e.addEventListener(\"wheel\",t,{passive:!1}));else{var r=e.onwheel!==void 0?\"wheel\":\"mousewheel\";e._onwheel&&e.removeEventListener(r,e._onwheel),e._onwheel=t,e.addEventListener(r,t,{passive:!1})}}function the(e){var t=[];for(var r in e)t.push(e[r]);return t}hhe.exports={makeDragBox:Rft,makeDragger:nhe,makeRectDragger:ahe,makeZoombox:ohe,makeCorners:she,updateZoombox:lhe,xyCorners:TP,transitionZoombox:uhe,removeZoombox:PN,showDoubleClickNotifier:che,attachWheelEventHandler:fhe}});var zN=ye(SP=>{\"use strict\";var Bft=xa(),AP=Nc(),Nft=gv(),Uft=Tg(),kg=DN().makeDragBox,ud=ad().DRAGGERSIZE;SP.initInteractions=function(t){var r=t._fullLayout;if(t._context.staticPlot){Bft.select(t).selectAll(\".drag\").remove();return}if(!(!r._has(\"cartesian\")&&!r._has(\"splom\"))){var n=Object.keys(r._plots||{}).sort(function(a,o){if((r._plots[a].mainplot&&!0)===(r._plots[o].mainplot&&!0)){var s=a.split(\"y\"),l=o.split(\"y\");return s[0]===l[0]?Number(s[1]||1)-Number(l[1]||1):Number(s[0]||1)-Number(l[0]||1)}return r._plots[a].mainplot?1:-1});n.forEach(function(a){var o=r._plots[a],s=o.xaxis,l=o.yaxis;if(!o.mainplot){var u=kg(t,o,s._offset,l._offset,s._length,l._length,\"ns\",\"ew\");u.onmousemove=function(h){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===a&&t._fullLayout._plots[a]&&AP.hover(t,h,a)},AP.hover(t,h,a),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=a},u.onmouseout=function(h){t._dragging||(t._fullLayout._hoversubplot=null,Nft.unhover(t,h))},t._context.showAxisDragHandles&&(kg(t,o,s._offset-ud,l._offset-ud,ud,ud,\"n\",\"w\"),kg(t,o,s._offset+s._length,l._offset-ud,ud,ud,\"n\",\"e\"),kg(t,o,s._offset-ud,l._offset+l._length,ud,ud,\"s\",\"w\"),kg(t,o,s._offset+s._length,l._offset+l._length,ud,ud,\"s\",\"e\"))}if(t._context.showAxisDragHandles){if(a===s._mainSubplot){var c=s._mainLinePosition;s.side===\"top\"&&(c-=ud),kg(t,o,s._offset+s._length*.1,c,s._length*.8,ud,\"\",\"ew\"),kg(t,o,s._offset,c,s._length*.1,ud,\"\",\"w\"),kg(t,o,s._offset+s._length*.9,c,s._length*.1,ud,\"\",\"e\")}if(a===l._mainSubplot){var f=l._mainLinePosition;l.side!==\"right\"&&(f-=ud),kg(t,o,f,l._offset+l._length*.1,ud,l._length*.8,\"ns\",\"\"),kg(t,o,f,l._offset+l._length*.9,ud,l._length*.1,\"s\",\"\"),kg(t,o,f,l._offset,ud,l._length*.1,\"n\",\"\")}}});var i=r._hoverlayer.node();i.onmousemove=function(a){a.target=t._fullLayout._lasthover,AP.hover(t,a,r._hoversubplot)},i.onclick=function(a){a.target=t._fullLayout._lasthover,AP.click(t,a)},i.onmousedown=function(a){t._fullLayout._lasthover.onmousedown(a)},SP.updateFx(t)}};SP.updateFx=function(e){var t=e._fullLayout,r=t.dragmode===\"pan\"?\"move\":\"crosshair\";Uft(t._draggers,r)}});var phe=ye((Qir,vhe)=>{\"use strict\";var dhe=ba();vhe.exports=function(t){for(var r=dhe.layoutArrayContainers,n=dhe.layoutArrayRegexes,i=t.split(\"[\")[0],a,o,s=0;s<n.length;s++)if(o=t.match(n[s]),o&&o.index===0){a=o[0];break}if(a||(a=r[r.indexOf(i)]),!a)return!1;var l=t.substr(a.length);return l?(o=l.match(/^\\[(0|[1-9][0-9]*)\\](\\.(.+))?$/),o?{array:a,index:Number(o[1]),property:o[3]||\"\"}:!1):{array:a,index:\"\",property:\"\"}}});var mhe=ye(zM=>{\"use strict\";var Vft=gy(),FN=g6(),DM=G1(),Hft=k6().sorterAsc,qN=ba();zM.containerArrayMatch=phe();var Gft=zM.isAddVal=function(t){return t===\"add\"||Vft(t)},ghe=zM.isRemoveVal=function(t){return t===null||t===\"remove\"};zM.applyContainerArrayChanges=function(t,r,n,i,a){var o=r.astr,s=qN.getComponentMethod(o,\"supplyLayoutDefaults\"),l=qN.getComponentMethod(o,\"draw\"),u=qN.getComponentMethod(o,\"drawOne\"),c=i.replot||i.recalc||s===FN||l===FN,f=t.layout,h=t._fullLayout;if(n[\"\"]){Object.keys(n).length>1&&DM.warn(\"Full array edits are incompatible with other edits\",o);var d=n[\"\"][\"\"];if(ghe(d))r.set(null);else if(Array.isArray(d))r.set(d);else return DM.warn(\"Unrecognized full array edit value\",o,d),!0;return c?!1:(s(f,h),l(t),!0)}var v=Object.keys(n).map(Number).sort(Hft),x=r.get(),b=x||[],p=a(h,o).get(),E=[],k=-1,A=b.length,L,_,C,M,g,P,T,F;for(L=0;L<v.length;L++){if(C=v[L],M=n[C],g=Object.keys(M),P=M[\"\"],T=Gft(P),C<0||C>b.length-(T?0:1)){DM.warn(\"index out of range\",o,C);continue}if(P!==void 0)g.length>1&&DM.warn(\"Insertion & removal are incompatible with edits to the same index.\",o,C),ghe(P)?E.push(C):T?(P===\"add\"&&(P={}),b.splice(C,0,P),p&&p.splice(C,0,{})):DM.warn(\"Unrecognized full object edit value\",o,C,P),k===-1&&(k=C);else for(_=0;_<g.length;_++)F=o+\"[\"+C+\"].\",a(b[C],g[_],F).set(M[g[_]])}for(L=E.length-1;L>=0;L--)b.splice(E[L],1),p&&p.splice(E[L],1);if(b.length?x||r.set(b):r.set(null),c)return!1;if(s(f,h),u!==FN){var q;if(k===-1)q=v;else{for(A=Math.max(b.length,A),q=[],L=0;L<v.length&&(C=v[L],!(C>=k));L++)q.push(C);for(L=k;L<A;L++)q.push(L)}for(L=0;L<q.length;L++)u(t,q[L])}else l(t);return!0}});var She=ye(Cg=>{\"use strict\";var bhe=uo(),tnr=Lq(),whe=ba(),kp=Mr(),FM=Xu(),The=af(),Ahe=va(),qM=The.cleanId,jft=The.getFromTrace,ON=whe.traceIs;Cg.clearPromiseQueue=function(e){Array.isArray(e._promises)&&e._promises.length>0&&kp.log(\"Clearing previous rejected promises from queue.\"),e._promises=[]};Cg.cleanLayout=function(e){var t,r;e||(e={}),e.xaxis1&&(e.xaxis||(e.xaxis=e.xaxis1),delete e.xaxis1),e.yaxis1&&(e.yaxis||(e.yaxis=e.yaxis1),delete e.yaxis1),e.scene1&&(e.scene||(e.scene=e.scene1),delete e.scene1);var n=(FM.subplotsRegistry.cartesian||{}).attrRegex,i=(FM.subplotsRegistry.polar||{}).attrRegex,a=(FM.subplotsRegistry.ternary||{}).attrRegex,o=(FM.subplotsRegistry.gl3d||{}).attrRegex,s=Object.keys(e);for(t=0;t<s.length;t++){var l=s[t];if(n&&n.test(l)){var u=e[l];u.anchor&&u.anchor!==\"free\"&&(u.anchor=qM(u.anchor)),u.overlaying&&(u.overlaying=qM(u.overlaying)),u.type||(u.isdate?u.type=\"date\":u.islog?u.type=\"log\":u.isdate===!1&&u.islog===!1&&(u.type=\"linear\")),(u.autorange===\"withzero\"||u.autorange===\"tozero\")&&(u.autorange=!0,u.rangemode=\"tozero\"),u.insiderange&&delete u.range,delete u.islog,delete u.isdate,delete u.categories,MP(u,\"domain\")&&delete u.domain}}var c=Array.isArray(e.annotations)?e.annotations.length:0;for(t=0;t<c;t++){var f=e.annotations[t];kp.isPlainObject(f)&&(Y3(f,\"xref\"),Y3(f,\"yref\"))}var h=Array.isArray(e.shapes)?e.shapes.length:0;for(t=0;t<h;t++){var d=e.shapes[t];kp.isPlainObject(d)&&(Y3(d,\"xref\"),Y3(d,\"yref\"))}var v=Array.isArray(e.images)?e.images.length:0;for(t=0;t<v;t++){var x=e.images[t];kp.isPlainObject(x)&&(Y3(x,\"xref\"),Y3(x,\"yref\"))}var b=e.legend;return b&&(b.x>3?(b.x=1.02,b.xanchor=\"left\"):b.x<-2&&(b.x=-.02,b.xanchor=\"right\"),b.y>3?(b.y=1.02,b.yanchor=\"bottom\"):b.y<-2&&(b.y=-.02,b.yanchor=\"top\")),e.dragmode===\"rotate\"&&(e.dragmode=\"orbit\"),Ahe.clean(e),e.template&&e.template.layout&&Cg.cleanLayout(e.template.layout),e};function Y3(e,t){var r=e[t],n=t.charAt(0);r&&r!==\"paper\"&&(e[t]=qM(r,n,!0))}Cg.cleanData=function(e){for(var t=0;t<e.length;t++){var r=e[t],n;if(r.type===\"histogramy\"&&\"xbins\"in r&&!(\"ybins\"in r)&&(r.ybins=r.xbins,delete r.xbins),r.type===\"histogramy\"&&Cg.swapXYData(r),(r.type===\"histogramx\"||r.type===\"histogramy\")&&(r.type=\"histogram\"),\"scl\"in r&&!(\"colorscale\"in r)&&(r.colorscale=r.scl,delete r.scl),\"reversescl\"in r&&!(\"reversescale\"in r)&&(r.reversescale=r.reversescl,delete r.reversescl),r.xaxis&&(r.xaxis=qM(r.xaxis,\"x\")),r.yaxis&&(r.yaxis=qM(r.yaxis,\"y\")),ON(r,\"gl3d\")&&r.scene&&(r.scene=FM.subplotsRegistry.gl3d.cleanId(r.scene)),!ON(r,\"pie-like\")&&!ON(r,\"bar-like\"))if(Array.isArray(r.textposition))for(n=0;n<r.textposition.length;n++)r.textposition[n]=_he(r.textposition[n]);else r.textposition&&(r.textposition=_he(r.textposition));var i=whe.getModule(r);if(i&&i.colorbar){var a=i.colorbar.container,o=a?r[a]:r;o&&o.colorscale&&(o.colorscale===\"YIGnBu\"&&(o.colorscale=\"YlGnBu\"),o.colorscale===\"YIOrRd\"&&(o.colorscale=\"YlOrRd\"))}if(r.type===\"surface\"&&kp.isPlainObject(r.contours)){var s=[\"x\",\"y\",\"z\"];for(n=0;n<s.length;n++){var l=r.contours[s[n]];kp.isPlainObject(l)&&(l.highlightColor&&(l.highlightcolor=l.highlightColor,delete l.highlightColor),l.highlightWidth&&(l.highlightwidth=l.highlightWidth,delete l.highlightWidth))}}if(r.type===\"candlestick\"||r.type===\"ohlc\"){var u=(r.increasing||{}).showlegend!==!1,c=(r.decreasing||{}).showlegend!==!1,f=yhe(r.increasing),h=yhe(r.decreasing);if(f!==!1&&h!==!1){var d=Wft(f,h,u,c);d&&(r.name=d)}else(f||h)&&!r.name&&(r.name=f||h)}MP(r,\"line\")&&delete r.line,\"marker\"in r&&(MP(r.marker,\"line\")&&delete r.marker.line,MP(r,\"marker\")&&delete r.marker),Ahe.clean(r),r.autobinx&&(delete r.autobinx,delete r.xbins),r.autobiny&&(delete r.autobiny,delete r.ybins)}};function yhe(e){if(!kp.isPlainObject(e))return!1;var t=e.name;return delete e.name,delete e.showlegend,(typeof t==\"string\"||typeof t==\"number\")&&String(t)}function Wft(e,t,r,n){if(r&&!n)return e;if(n&&!r||!e.trim())return t;if(!t.trim())return e;var i=Math.min(e.length,t.length),a;for(a=0;a<i&&e.charAt(a)===t.charAt(a);a++);var o=e.substr(0,a);return o.trim()}function _he(e){var t=\"middle\",r=\"center\";return typeof e==\"string\"&&(e.indexOf(\"top\")!==-1?t=\"top\":e.indexOf(\"bottom\")!==-1&&(t=\"bottom\"),e.indexOf(\"left\")!==-1?r=\"left\":e.indexOf(\"right\")!==-1&&(r=\"right\")),t+\" \"+r}function MP(e,t){return t in e&&typeof e[t]==\"object\"&&Object.keys(e[t]).length===0}Cg.swapXYData=function(e){var t;if(kp.swapAttrs(e,[\"?\",\"?0\",\"d?\",\"?bins\",\"nbins?\",\"autobin?\",\"?src\",\"error_?\"]),Array.isArray(e.z)&&Array.isArray(e.z[0])&&(e.transpose?delete e.transpose:e.transpose=!0),e.error_x&&e.error_y){var r=e.error_y,n=\"copy_ystyle\"in r?r.copy_ystyle:!(r.color||r.thickness||r.width);kp.swapAttrs(e,[\"error_?.copy_ystyle\"]),n&&kp.swapAttrs(e,[\"error_?.color\",\"error_?.thickness\",\"error_?.width\"])}if(typeof e.hoverinfo==\"string\"){var i=e.hoverinfo.split(\"+\");for(t=0;t<i.length;t++)i[t]===\"x\"?i[t]=\"y\":i[t]===\"y\"&&(i[t]=\"x\");e.hoverinfo=i.join(\"+\")}};Cg.coerceTraceIndices=function(e,t){if(bhe(t))return[t];if(!Array.isArray(t)||!t.length)return e.data.map(function(i,a){return a});if(Array.isArray(t)){for(var r=[],n=0;n<t.length;n++)kp.isIndex(t[n],e.data.length)?r.push(t[n]):kp.warn(\"trace index (\",t[n],\") is not a number or is out of bounds\");return r}return t};Cg.manageArrayContainers=function(e,t,r){var n=e.obj,i=e.parts,a=i.length,o=i[a-1],s=bhe(o);if(s&&t===null){var l=i.slice(0,a-1).join(\".\"),u=kp.nestedProperty(n,l).get();u.splice(o,1)}else s&&e.get()===void 0&&e.get()===void 0&&(r[e.astr]=null),e.set(t)};var Zft=/(\\.[^\\[\\]\\.]+|\\[[^\\[\\]\\.]+\\])$/;function xhe(e){var t=e.search(Zft);if(t>0)return e.substr(0,t)}Cg.hasParent=function(e,t){for(var r=xhe(t);r;){if(r in e)return!0;r=xhe(r)}return!1};var Xft=[\"x\",\"y\",\"z\"];Cg.clearAxisTypes=function(e,t,r){for(var n=0;n<t.length;n++)for(var i=e._fullData[n],a=0;a<3;a++){var o=jft(e,i,Xft[a]);if(o&&o.type!==\"log\"){var s=o._name,l=o._id.substr(1);if(l.substr(0,5)===\"scene\"){if(r[l]!==void 0)continue;s=l+\".\"+s}var u=s+\".type\";r[s]===void 0&&r[u]===void 0&&kp.nestedProperty(e.layout,u).set(null)}}}});var OP=ye(pl=>{\"use strict\";var CP=xa(),Yft=uo(),Kft=$q(),sa=Mr(),Yu=sa.nestedProperty,UN=g3(),ap=lne(),L0=ba(),FP=_3(),Ho=Xu(),Nv=Qa(),Jft=dB(),$ft=Cd(),BN=ao(),Qft=va(),eht=zN().initInteractions,tht=Zp(),rht=wf().clearOutline,Lhe=ub().dfltConfig,EP=mhe(),yh=She(),$l=gM(),p_=Bu(),iht=ad().AX_NAME_PATTERN,NN=0,Mhe=5;function nht(e,t,r,n){var i;if(e=sa.getGraphDiv(e),UN.init(e),sa.isPlainObject(t)){var a=t;t=a.data,r=a.layout,n=a.config,i=a.frames}var o=UN.triggerHandler(e,\"plotly_beforeplot\",[t,r,n]);if(o===!1)return Promise.reject();!t&&!r&&!sa.isPlotDiv(e)&&sa.warn(\"Calling _doPlot as if redrawing but this container doesn't yet have a plot.\",e);function s(){if(i)return pl.addFrames(e,i)}Ihe(e,n),r||(r={}),CP.select(e).classed(\"js-plotly-plot\",!0),BN.makeTester(),Array.isArray(e._promises)||(e._promises=[]);var l=(e.data||[]).length===0&&Array.isArray(t);Array.isArray(t)&&(yh.cleanData(t),l?e.data=t:e.data.push.apply(e.data,t),e.empty=!1),(!e.layout||l)&&(e.layout=yh.cleanLayout(r)),Ho.supplyDefaults(e);var u=e._fullLayout,c=u._has(\"cartesian\");u._replotting=!0,(l||u._shouldCreateBgLayer)&&(Eht(e),u._shouldCreateBgLayer&&delete u._shouldCreateBgLayer),BN.initGradients(e),BN.initPatterns(e),l&&Nv.saveShowSpikeInitial(e);var f=!e.calcdata||e.calcdata.length!==(e._fullData||[]).length;f&&Ho.doCalcdata(e);for(var h=0;h<e.calcdata.length;h++)e.calcdata[h][0].trace=e._fullData[h];e._context.responsive?e._responsiveChartHandler||(e._responsiveChartHandler=function(){sa.isHidden(e)||Ho.resize(e)},window.addEventListener(\"resize\",e._responsiveChartHandler)):sa.clearResponsive(e);var d=sa.extendFlat({},u._size),v=0;function x(){for(var C=u._basePlotModules,M=0;M<C.length;M++)C[M].drawFramework&&C[M].drawFramework(e);!u._glcanvas&&u._has(\"gl\")&&(u._glcanvas=u._glcontainer.selectAll(\".gl-canvas\").data([{key:\"contextLayer\",context:!0,pick:!1},{key:\"focusLayer\",context:!1,pick:!1},{key:\"pickLayer\",context:!1,pick:!0}],function(F){return F.key}),u._glcanvas.enter().append(\"canvas\").attr(\"class\",function(F){return\"gl-canvas gl-canvas-\"+F.key.replace(\"Layer\",\"\")}).style({position:\"absolute\",top:0,left:0,overflow:\"visible\",\"pointer-events\":\"none\"}));var g=e._context.plotGlPixelRatio;if(u._glcanvas){u._glcanvas.attr(\"width\",u.width*g).attr(\"height\",u.height*g).style(\"width\",u.width+\"px\").style(\"height\",u.height+\"px\");var P=u._glcanvas.data()[0].regl;if(P&&(Math.floor(u.width*g)!==P._gl.drawingBufferWidth||Math.floor(u.height*g)!==P._gl.drawingBufferHeight)){var T=\"WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug.\";if(v)sa.error(T);else return sa.log(T+\" Clearing graph and plotting again.\"),Ho.cleanPlot([],{},e._fullData,u),Ho.supplyDefaults(e),u=e._fullLayout,Ho.doCalcdata(e),v++,x()}}return u.modebar.orientation===\"h\"?u._modebardiv.style(\"height\",null).style(\"width\",\"100%\"):u._modebardiv.style(\"width\",null).style(\"height\",u.height+\"px\"),Ho.previousPromises(e)}function b(){if(Ho.clearAutoMarginIds(e),$l.drawMarginPushers(e),Nv.allowAutoMargin(e),e._fullLayout.title.text&&e._fullLayout.title.automargin&&Ho.allowAutoMargin(e,\"title.automargin\"),u._has(\"pie\"))for(var C=e._fullData,M=0;M<C.length;M++){var g=C[M];g.type===\"pie\"&&g.automargin&&Ho.allowAutoMargin(e,\"pie.\"+g.uid+\".automargin\")}return Ho.doAutoMargin(e),Ho.previousPromises(e)}function p(){if(Ho.didMarginChange(d,u._size))return sa.syncOrAsync([b,$l.layoutStyles],e)}function E(){if(!f){k();return}return sa.syncOrAsync([L0.getComponentMethod(\"shapes\",\"calcAutorange\"),L0.getComponentMethod(\"annotations\",\"calcAutorange\"),k],e)}function k(){e._transitioning||($l.doAutoRangeAndConstraints(e),l&&Nv.saveRangeInitial(e),L0.getComponentMethod(\"rangeslider\",\"calcAutorange\")(e))}function A(){return Nv.draw(e,l?\"\":\"redraw\")}var L=[Ho.previousPromises,s,x,b,p];c&&L.push(E),L.push($l.layoutStyles),c&&L.push(A,function(M){var g=M._fullLayout._insideTickLabelsUpdaterange;if(g)return M._fullLayout._insideTickLabelsUpdaterange=void 0,OM(M,g).then(function(){Nv.saveRangeInitial(M,!0)})}),L.push($l.drawData,$l.finalDraw,eht,Ho.addLinks,Ho.rehover,Ho.redrag,Ho.reselect,Ho.doAutoMargin,Ho.previousPromises);var _=sa.syncOrAsync(L,e);return(!_||!_.then)&&(_=Promise.resolve()),_.then(function(){return BM(e),e})}function BM(e){var t=e._fullLayout;t._redrawFromAutoMarginCount?t._redrawFromAutoMarginCount--:e.emit(\"plotly_afterplot\")}function aht(e){return sa.extendFlat(Lhe,e)}function Phe(e,t){try{e._fullLayout._paper.style(\"background\",t)}catch(r){sa.error(r)}}function oht(e,t){var r=Qft.combine(t,\"white\");Phe(e,r)}function Ihe(e,t){if(!e._context){e._context=sa.extendDeep({},Lhe);var r=CP.select(\"base\");e._context._baseUrl=r.size()&&r.attr(\"href\")?window.location.href.split(\"#\")[0]:\"\"}var n=e._context,i,a,o;if(t){for(a=Object.keys(t),i=0;i<a.length;i++)o=a[i],!(o===\"editable\"||o===\"edits\")&&o in n&&(o===\"setBackground\"&&t[o]===\"opaque\"?n[o]=oht:n[o]=t[o]);var s=t.editable;if(s!==void 0)for(n.editable=s,a=Object.keys(n.edits),i=0;i<a.length;i++)n.edits[a[i]]=s;if(t.edits)for(a=Object.keys(t.edits),i=0;i<a.length;i++)o=a[i],o in n.edits&&(n.edits[o]=t.edits[o]);n._exportedPlot=t._exportedPlot}n.staticPlot&&(n.editable=!1,n.edits={},n.autosizable=!1,n.scrollZoom=!1,n.doubleClick=!1,n.showTips=!1,n.showLink=!1,n.displayModeBar=!1),n.displayModeBar===\"hover\"&&!Kft&&(n.displayModeBar=!0),(n.setBackground===\"transparent\"||typeof n.setBackground!=\"function\")&&(n.setBackground=Phe),n._hasZeroHeight=n._hasZeroHeight||e.clientHeight===0,n._hasZeroWidth=n._hasZeroWidth||e.clientWidth===0;var l=n.scrollZoom,u=n._scrollZoom={};if(l===!0)u.cartesian=1,u.gl3d=1,u.geo=1,u.mapbox=1,u.map=1;else if(typeof l==\"string\"){var c=l.split(\"+\");for(i=0;i<c.length;i++)u[c[i]]=1}else l!==!1&&(u.gl3d=1,u.geo=1,u.mapbox=1,u.map=1)}function sht(e){if(e=sa.getGraphDiv(e),!sa.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e);return yh.cleanData(e.data),yh.cleanLayout(e.layout),e.calcdata=void 0,pl._doPlot(e).then(function(){return e.emit(\"plotly_redraw\"),e})}function lht(e,t,r,n){return e=sa.getGraphDiv(e),Ho.cleanPlot([],{},e._fullData||[],e._fullLayout||{}),Ho.purge(e),pl._doPlot(e,t,r,n)}function LP(e,t){var r=t+1,n=[],i,a;for(i=0;i<e.length;i++)a=e[i],a<0?n.push(r+a):n.push(a);return n}function PP(e,t,r){var n,i;for(n=0;n<t.length;n++){if(i=t[n],i!==parseInt(i,10))throw new Error(\"all values in \"+r+\" must be integers\");if(i>=e.data.length||i<-e.data.length)throw new Error(r+\" must be valid indices for gd.data.\");if(t.indexOf(i,n+1)>-1||i>=0&&t.indexOf(-e.data.length+i)>-1||i<0&&t.indexOf(e.data.length+i)>-1)throw new Error(\"each index in \"+r+\" must be unique.\")}}function Rhe(e,t,r){if(!Array.isArray(e.data))throw new Error(\"gd.data must be an array.\");if(typeof t==\"undefined\")throw new Error(\"currentIndices is a required argument.\");if(Array.isArray(t)||(t=[t]),PP(e,t,\"currentIndices\"),typeof r!=\"undefined\"&&!Array.isArray(r)&&(r=[r]),typeof r!=\"undefined\"&&PP(e,r,\"newIndices\"),typeof r!=\"undefined\"&&t.length!==r.length)throw new Error(\"current and new indices must be of equal length.\")}function uht(e,t,r){var n,i;if(!Array.isArray(e.data))throw new Error(\"gd.data must be an array.\");if(typeof t==\"undefined\")throw new Error(\"traces must be defined.\");for(Array.isArray(t)||(t=[t]),n=0;n<t.length;n++)if(i=t[n],typeof i!=\"object\"||Array.isArray(i)||i===null)throw new Error(\"all values in traces array must be non-array objects\");if(typeof r!=\"undefined\"&&!Array.isArray(r)&&(r=[r]),typeof r!=\"undefined\"&&r.length!==t.length)throw new Error(\"if indices is specified, traces.length must equal indices.length\")}function cht(e,t,r,n){var i=sa.isPlainObject(n);if(!Array.isArray(e.data))throw new Error(\"gd.data must be an array\");if(!sa.isPlainObject(t))throw new Error(\"update must be a key:value object\");if(typeof r==\"undefined\")throw new Error(\"indices must be an integer or array of integers\");PP(e,r,\"indices\");for(var a in t){if(!Array.isArray(t[a])||t[a].length!==r.length)throw new Error(\"attribute \"+a+\" must be an array of length equal to indices array length\");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==t[a].length))throw new Error(\"when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object\")}}function fht(e,t,r,n){var i=sa.isPlainObject(n),a=[],o,s,l,u,c;Array.isArray(r)||(r=[r]),r=LP(r,e.data.length-1);for(var f in t)for(var h=0;h<r.length;h++){if(o=e.data[r[h]],l=Yu(o,f),s=l.get(),u=t[f][h],!sa.isArrayOrTypedArray(u))throw new Error(\"attribute: \"+f+\" index: \"+h+\" must be an array\");if(!sa.isArrayOrTypedArray(s))throw new Error(\"cannot extend missing or non-array attribute: \"+f);if(s.constructor!==u.constructor)throw new Error(\"cannot extend array with an array of a different type: \"+f);c=i?n[f][h]:n,Yft(c)||(c=-1),a.push({prop:l,target:s,insert:u,maxp:Math.floor(c)})}return a}function Dhe(e,t,r,n,i){cht(e,t,r,n);for(var a=fht(e,t,r,n),o={},s={},l=0;l<a.length;l++){var u=a[l].prop,c=a[l].maxp,f=i(a[l].target,a[l].insert,c);u.set(f[0]),Array.isArray(o[u.astr])||(o[u.astr]=[]),o[u.astr].push(f[1]),Array.isArray(s[u.astr])||(s[u.astr]=[]),s[u.astr].push(a[l].target.length)}return{update:o,maxPoints:s}}function zhe(e,t){var r=new e.constructor(e.length+t.length);return r.set(e),r.set(t,e.length),r}function Fhe(e,t,r,n){e=sa.getGraphDiv(e);function i(l,u,c){var f,h;if(sa.isTypedArray(l))if(c<0){var d=new l.constructor(0),v=zhe(l,u);c<0?(f=v,h=d):(f=d,h=v)}else if(f=new l.constructor(c),h=new l.constructor(l.length+u.length-c),c===u.length)f.set(u),h.set(l);else if(c<u.length){var x=u.length-c;f.set(u.subarray(x)),h.set(l),h.set(u.subarray(0,x),l.length)}else{var b=c-u.length,p=l.length-b;f.set(l.subarray(p)),f.set(u,b),h.set(l.subarray(0,p))}else f=l.concat(u),h=c>=0&&c<f.length?f.splice(0,f.length-c):[];return[f,h]}var a=Dhe(e,t,r,n,i),o=pl.redraw(e),s=[e,a.update,r,a.maxPoints];return ap.add(e,pl.prependTraces,s,Fhe,arguments),o}function qhe(e,t,r,n){e=sa.getGraphDiv(e);function i(l,u,c){var f,h;if(sa.isTypedArray(l))if(c<=0){var d=new l.constructor(0),v=zhe(u,l);c<0?(f=v,h=d):(f=d,h=v)}else if(f=new l.constructor(c),h=new l.constructor(l.length+u.length-c),c===u.length)f.set(u),h.set(l);else if(c<u.length){var x=u.length-c;f.set(u.subarray(0,x)),h.set(u.subarray(x)),h.set(l,x)}else{var b=c-u.length;f.set(u),f.set(l.subarray(0,b),u.length),h.set(l.subarray(b))}else f=u.concat(l),h=c>=0&&c<f.length?f.splice(c,f.length):[];return[f,h]}var a=Dhe(e,t,r,n,i),o=pl.redraw(e),s=[e,a.update,r,a.maxPoints];return ap.add(e,pl.extendTraces,s,qhe,arguments),o}function Ohe(e,t,r){e=sa.getGraphDiv(e);var n=[],i=pl.deleteTraces,a=Ohe,o=[e,n],s=[e,t],l,u;for(uht(e,t,r),Array.isArray(t)||(t=[t]),t=t.map(function(c){return sa.extendFlat({},c)}),yh.cleanData(t),l=0;l<t.length;l++)e.data.push(t[l]);for(l=0;l<t.length;l++)n.push(-t.length+l);if(typeof r==\"undefined\")return u=pl.redraw(e),ap.add(e,i,o,a,s),u;Array.isArray(r)||(r=[r]);try{Rhe(e,n,r)}catch(c){throw e.data.splice(e.data.length-t.length,t.length),c}return ap.startSequence(e),ap.add(e,i,o,a,s),u=pl.moveTraces(e,n,r),ap.stopSequence(e),u}function Bhe(e,t){e=sa.getGraphDiv(e);var r=[],n=pl.addTraces,i=Bhe,a=[e,r,t],o=[e,t],s,l;if(typeof t==\"undefined\")throw new Error(\"indices must be an integer or array of integers.\");for(Array.isArray(t)||(t=[t]),PP(e,t,\"indices\"),t=LP(t,e.data.length-1),t.sort(sa.sorterDes),s=0;s<t.length;s+=1)l=e.data.splice(t[s],1)[0],r.push(l);var u=pl.redraw(e);return ap.add(e,n,a,i,o),u}function VN(e,t,r){e=sa.getGraphDiv(e);var n=[],i=[],a=VN,o=VN,s=[e,r,t],l=[e,t,r],u;if(Rhe(e,t,r),t=Array.isArray(t)?t:[t],typeof r==\"undefined\")for(r=[],u=0;u<t.length;u++)r.push(-t.length+u);for(r=Array.isArray(r)?r:[r],t=LP(t,e.data.length-1),r=LP(r,e.data.length-1),u=0;u<e.data.length;u++)t.indexOf(u)===-1&&n.push(e.data[u]);for(u=0;u<t.length;u++)i.push({newIndex:r[u],trace:e.data[t[u]]});for(i.sort(function(f,h){return f.newIndex-h.newIndex}),u=0;u<i.length;u+=1)n.splice(i[u].newIndex,0,i[u].trace);e.data=n;var c=pl.redraw(e);return ap.add(e,a,s,o,l),c}function IP(e,t,r,n){e=sa.getGraphDiv(e),yh.clearPromiseQueue(e);var i={};if(typeof t==\"string\")i[t]=r;else if(sa.isPlainObject(t))i=sa.extendFlat({},t),n===void 0&&(n=r);else return sa.warn(\"Restyle fail.\",t,r,n),Promise.reject();Object.keys(i).length&&(e.changed=!0);var a=yh.coerceTraceIndices(e,n),o=Nhe(e,i,a),s=o.flags;s.calc&&(e.calcdata=void 0),s.clearAxisTypes&&yh.clearAxisTypes(e,a,{});var l=[];s.fullReplot?l.push(pl._doPlot):(l.push(Ho.previousPromises),Ho.supplyDefaults(e),s.markerSize&&(Ho.doCalcdata(e),qP(l)),s.style&&l.push($l.doTraceStyle),s.colorbars&&l.push($l.doColorBars),l.push(BM)),l.push(Ho.rehover,Ho.redrag,Ho.reselect),ap.add(e,IP,[e,o.undoit,o.traces],IP,[e,o.redoit,o.traces]);var u=sa.syncOrAsync(l,e);return(!u||!u.then)&&(u=Promise.resolve()),u.then(function(){return e.emit(\"plotly_restyle\",o.eventData),e})}function Cy(e){return e===void 0?null:e}function kP(e,t){return t?function(r,n,i){var a=Yu(r,n),o=a.set;return a.set=function(s){var l=(i||\"\")+n;RP(l,a.get(),s,e),o(s)},a}:Yu}function RP(e,t,r,n){if(Array.isArray(t)||Array.isArray(r))for(var i=Array.isArray(t)?t:[],a=Array.isArray(r)?r:[],o=Math.max(i.length,a.length),s=0;s<o;s++)RP(e+\"[\"+s+\"]\",i[s],a[s],n);else if(sa.isPlainObject(t)||sa.isPlainObject(r)){var l=sa.isPlainObject(t)?t:{},u=sa.isPlainObject(r)?r:{},c=sa.extendFlat({},l,u);for(var f in c)RP(e+\".\"+f,l[f],u[f],n)}else n[e]===void 0&&(n[e]=Cy(t))}function hht(e,t,r){for(var n in r){var i=Yu(e,n);RP(n,i.get(),r[n],t)}}function Nhe(e,t,r){var n=e._fullLayout,i=e._fullData,a=e.data,o=n._guiEditing,s=kP(n._preGUI,o),l=sa.extendDeepAll({},t),u,c=p_.traceFlags(),f={},h={},d;function v(){return r.map(function(){})}function x(me){var Re=Nv.id2name(me);d.indexOf(Re)===-1&&d.push(Re)}function b(me){return\"LAYOUT\"+me+\".autorange\"}function p(me){return\"LAYOUT\"+me+\".range\"}function E(me){for(var Re=me;Re<i.length;Re++)if(i[Re]._input===a[me])return i[Re]}function k(me,Re,ce){if(Array.isArray(me)){me.forEach(function(qt){k(qt,Re,ce)});return}if(!(me in t||yh.hasParent(t,me))){var Ge;if(me.substr(0,6)===\"LAYOUT\")Ge=s(e.layout,me.replace(\"LAYOUT\",\"\"));else{var nt=r[ce],ct=n._tracePreGUI[E(nt)._fullInput.uid];Ge=kP(ct,o)(a[nt],me)}me in h||(h[me]=v()),h[me][ce]===void 0&&(h[me][ce]=Cy(Ge.get())),Re!==void 0&&Ge.set(Re)}}function A(me){return function(Re){return i[Re][me]}}function L(me){return function(Re,ce){return Re===!1?i[r[ce]][me]:null}}for(var _ in t){if(yh.hasParent(t,_))throw new Error(\"cannot set \"+_+\" and a parent attribute simultaneously\");var C=t[_],M,g,P,T,F,q;if((_===\"autobinx\"||_===\"autobiny\")&&(_=_.charAt(_.length-1)+\"bins\",Array.isArray(C)?C=C.map(L(_)):C===!1?C=r.map(A(_)):C=null),f[_]=C,_.substr(0,6)===\"LAYOUT\"){P=s(e.layout,_.replace(\"LAYOUT\",\"\")),h[_]=[Cy(P.get())],P.set(Array.isArray(C)?C[0]:C),c.calc=!0;continue}for(h[_]=v(),u=0;u<r.length;u++){M=a[r[u]],g=E(r[u]);var V=n._tracePreGUI[g._fullInput.uid];if(P=kP(V,o)(M,_),T=P.get(),F=Array.isArray(C)?C[u%C.length]:C,F!==void 0){var H=P.parts[P.parts.length-1],X=_.substr(0,_.length-H.length-1),G=X?X+\".\":\"\",N=X?Yu(g,X).get():g;if(q=FP.getTraceValObject(g,P.parts),q&&q.impliedEdits&&F!==null)for(var W in q.impliedEdits)k(sa.relativeAttr(_,W),q.impliedEdits[W],u);else if((H===\"thicknessmode\"||H===\"lenmode\")&&T!==F&&(F===\"fraction\"||F===\"pixels\")&&N){var re=n._size,ae=N.orient,_e=ae===\"top\"||ae===\"bottom\";if(H===\"thicknessmode\"){var Me=_e?re.h:re.w;k(G+\"thickness\",N.thickness*(F===\"fraction\"?1/Me:Me),u)}else{var ke=_e?re.w:re.h;k(G+\"len\",N.len*(F===\"fraction\"?1/ke:ke),u)}}else if(_===\"type\"&&(F===\"pie\"!=(T===\"pie\")||F===\"funnelarea\"!=(T===\"funnelarea\"))){var ge=\"x\",ie=\"y\";(F===\"bar\"||T===\"bar\")&&M.orientation===\"h\"&&(ge=\"y\",ie=\"x\"),sa.swapAttrs(M,[\"?\",\"?src\"],\"labels\",ge),sa.swapAttrs(M,[\"d?\",\"?0\"],\"label\",ge),sa.swapAttrs(M,[\"?\",\"?src\"],\"values\",ie),T===\"pie\"||T===\"funnelarea\"?(Yu(M,\"marker.color\").set(Yu(M,\"marker.colors\").get()),n._pielayer.selectAll(\"g.trace\").remove()):L0.traceIs(M,\"cartesian\")&&Yu(M,\"marker.colors\").set(Yu(M,\"marker.color\").get())}h[_][u]=Cy(T);var Te=[\"swapxy\",\"swapxyaxes\",\"orientation\",\"orientationaxes\"];if(Te.indexOf(_)!==-1){if(_===\"orientation\"){P.set(F);var Ee=M.x&&!M.y?\"h\":\"v\";if((P.get()||Ee)===g.orientation)continue}else _===\"orientationaxes\"&&(M.orientation={v:\"h\",h:\"v\"}[g.orientation]);yh.swapXYData(M),c.calc=c.clearAxisTypes=!0}else Ho.dataArrayContainers.indexOf(P.parts[0])!==-1?(yh.manageArrayContainers(P,F,h),c.calc=!0):(q?q.arrayOk&&!L0.traceIs(g,\"regl\")&&(sa.isArrayOrTypedArray(F)||sa.isArrayOrTypedArray(T))?c.calc=!0:p_.update(c,q):c.calc=!0,P.set(F))}}if([\"swapxyaxes\",\"orientationaxes\"].indexOf(_)!==-1&&Nv.swap(e,r),_===\"orientationaxes\"){var Ae=Yu(e.layout,\"hovermode\"),ze=Ae.get();ze===\"x\"?Ae.set(\"y\"):ze===\"y\"?Ae.set(\"x\"):ze===\"x unified\"?Ae.set(\"y unified\"):ze===\"y unified\"&&Ae.set(\"x unified\")}if([\"orientation\",\"type\"].indexOf(_)!==-1){for(d=[],u=0;u<r.length;u++){var Ce=a[r[u]];L0.traceIs(Ce,\"cartesian\")&&(x(Ce.xaxis||\"x\"),x(Ce.yaxis||\"y\"))}k(d.map(b),!0,0),k(d.map(p),[0,1],0)}}return(c.calc||c.plot)&&(c.fullReplot=!0),{flags:c,undoit:h,redoit:f,traces:r,eventData:sa.extendDeepNoArrays([],[l,r])}}function OM(e,t,r){e=sa.getGraphDiv(e),yh.clearPromiseQueue(e);var n={};if(typeof t==\"string\")n[t]=r;else if(sa.isPlainObject(t))n=sa.extendFlat({},t);else return sa.warn(\"Relayout fail.\",t,r),Promise.reject();Object.keys(n).length&&(e.changed=!0);var i=Ghe(e,n),a=i.flags;a.calc&&(e.calcdata=void 0);var o=[Ho.previousPromises];a.layoutReplot?o.push($l.layoutReplot):Object.keys(n).length&&(Uhe(e,a,i)||Ho.supplyDefaults(e),a.legend&&o.push($l.doLegend),a.layoutstyle&&o.push($l.layoutStyles),a.axrange&&qP(o,i.rangesAltered),a.ticks&&o.push($l.doTicksRelayout),a.modebar&&o.push($l.doModeBar),a.camera&&o.push($l.doCamera),a.colorbars&&o.push($l.doColorBars),o.push(BM)),o.push(Ho.rehover,Ho.redrag,Ho.reselect),ap.add(e,OM,[e,i.undoit],OM,[e,i.redoit]);var s=sa.syncOrAsync(o,e);return(!s||!s.then)&&(s=Promise.resolve(e)),s.then(function(){return e.emit(\"plotly_relayout\",i.eventData),e})}function Uhe(e,t,r){var n=e._fullLayout;if(!t.axrange)return!1;for(var i in t)if(i!==\"axrange\"&&t[i])return!1;var a,o,s=function(d,v){return sa.coerce(a,o,$ft,d,v)},l={};for(var u in r.rangesAltered){var c=Nv.id2name(u);if(a=e.layout[c],o=n[c],Jft(a,o,s,l),o._matchGroup){for(var f in o._matchGroup)if(f!==u){var h=n[Nv.id2name(f)];h.autorange=o.autorange,h.range=o.range.slice(),h._input.range=o.range.slice()}}}return!0}function qP(e,t){var r=t?function(n){var i=[],a=!0;for(var o in t){var s=Nv.getFromId(n,o);if(i.push(o),(s.ticklabelposition||\"\").indexOf(\"inside\")!==-1&&s._anchorAxis&&i.push(s._anchorAxis._id),s._matchGroup)for(var l in s._matchGroup)t[l]||i.push(l)}return Nv.draw(n,i,{skipTitle:a})}:function(n){return Nv.draw(n,\"redraw\")};e.push(rht,$l.doAutoRangeAndConstraints,r,$l.drawData,$l.finalDraw)}var Vhe=/^[xyz]axis[0-9]*\\.range(\\[[0|1]\\])?$/,Hhe=/^[xyz]axis[0-9]*\\.autorange$/,dht=/^[xyz]axis[0-9]*\\.domain(\\[[0|1]\\])?$/;function Ghe(e,t){var r=e.layout,n=e._fullLayout,i=n._guiEditing,a=kP(n._preGUI,i),o=Object.keys(t),s=Nv.list(e),l=sa.extendDeepAll({},t),u={},c,f,h;for(o=Object.keys(t),f=0;f<o.length;f++)if(o[f].indexOf(\"allaxes\")===0){for(h=0;h<s.length;h++){var d=s[h]._id.substr(1),v=d.indexOf(\"scene\")!==-1?d+\".\":\"\",x=o[f].replace(\"allaxes\",v+s[h]._name);t[x]||(t[x]=t[o[f]])}delete t[o[f]]}var b=p_.layoutFlags(),p={},E={};function k(ct,qt){if(Array.isArray(ct)){ct.forEach(function(ot){k(ot,qt)});return}if(!(ct in t||yh.hasParent(t,ct))){var rt=a(r,ct);ct in E||(E[ct]=Cy(rt.get())),qt!==void 0&&rt.set(qt)}}var A={},L;function _(ct){var qt=Nv.name2id(ct.split(\".\")[0]);return A[qt]=1,qt}for(var C in t){if(yh.hasParent(t,C))throw new Error(\"cannot set \"+C+\" and a parent attribute simultaneously\");for(var M=a(r,C),g=t[C],P=M.parts.length,T=P-1;T>0&&typeof M.parts[T]!=\"string\";)T--;var F=M.parts[T],q=M.parts[T-1]+\".\"+F,V=M.parts.slice(0,T).join(\".\"),H=Yu(e.layout,V).get(),X=Yu(n,V).get(),G=M.get();if(g!==void 0){p[C]=g,E[C]=F===\"reverse\"?g:Cy(G);var N=FP.getLayoutValObject(n,M.parts);if(N&&N.impliedEdits&&g!==null)for(var W in N.impliedEdits)k(sa.relativeAttr(C,W),N.impliedEdits[W]);if([\"width\",\"height\"].indexOf(C)!==-1)if(g){k(\"autosize\",null);var re=C===\"height\"?\"width\":\"height\";k(re,n[re])}else n[C]=e._initialAutoSize[C];else if(C===\"autosize\")k(\"width\",g?null:n.width),k(\"height\",g?null:n.height);else if(q.match(Vhe))_(q),Yu(n,V+\"._inputRange\").set(null);else if(q.match(Hhe)){_(q),Yu(n,V+\"._inputRange\").set(null);var ae=Yu(n,V).get();ae._inputDomain&&(ae._input.domain=ae._inputDomain.slice())}else q.match(dht)&&Yu(n,V+\"._inputDomain\").set(null);if(F===\"type\"){L=H;var _e=X.type===\"linear\"&&g===\"log\",Me=X.type===\"log\"&&g===\"linear\";if(_e||Me){if(!L||!L.range)k(V+\".autorange\",!0);else if(X.autorange)_e&&(L.range=L.range[1]>L.range[0]?[1,2]:[2,1]);else{var ke=L.range[0],ge=L.range[1];_e?(ke<=0&&ge<=0&&k(V+\".autorange\",!0),ke<=0?ke=ge/1e6:ge<=0&&(ge=ke/1e6),k(V+\".range[0]\",Math.log(ke)/Math.LN10),k(V+\".range[1]\",Math.log(ge)/Math.LN10)):(k(V+\".range[0]\",Math.pow(10,ke)),k(V+\".range[1]\",Math.pow(10,ge)))}Array.isArray(n._subplots.polar)&&n._subplots.polar.length&&n[M.parts[0]]&&M.parts[1]===\"radialaxis\"&&delete n[M.parts[0]]._subplot.viewInitial[\"radialaxis.range\"],L0.getComponentMethod(\"annotations\",\"convertCoords\")(e,X,g,k),L0.getComponentMethod(\"images\",\"convertCoords\")(e,X,g,k)}else k(V+\".autorange\",!0),k(V+\".range\",null);Yu(n,V+\"._inputRange\").set(null)}else if(F.match(iht)){var ie=Yu(n,C).get(),Te=(g||{}).type;(!Te||Te===\"-\")&&(Te=\"linear\"),L0.getComponentMethod(\"annotations\",\"convertCoords\")(e,ie,Te,k),L0.getComponentMethod(\"images\",\"convertCoords\")(e,ie,Te,k)}var Ee=EP.containerArrayMatch(C);if(Ee){c=Ee.array,f=Ee.index;var Ae=Ee.property,ze=N||{editType:\"calc\"};f!==\"\"&&Ae===\"\"&&(EP.isAddVal(g)?E[C]=null:EP.isRemoveVal(g)?E[C]=(Yu(r,c).get()||[])[f]:sa.warn(\"unrecognized full object value\",t)),p_.update(b,ze),u[c]||(u[c]={});var Ce=u[c][f];Ce||(Ce=u[c][f]={}),Ce[Ae]=g,delete t[C]}else F===\"reverse\"?(H.range?H.range.reverse():(k(V+\".autorange\",!0),H.range=[1,0]),X.autorange?b.calc=!0:b.plot=!0):(C===\"dragmode\"&&(g===!1&&G!==!1||g!==!1&&G===!1)||n._has(\"scatter-like\")&&n._has(\"regl\")&&C===\"dragmode\"&&(g===\"lasso\"||g===\"select\")&&!(G===\"lasso\"||G===\"select\")?b.plot=!0:N?p_.update(b,N):b.calc=!0,M.set(g))}}for(c in u){var me=EP.applyContainerArrayChanges(e,a(r,c),u[c],b,a);me||(b.plot=!0)}for(var Re in A){L=Nv.getFromId(e,Re);var ce=L&&L._constraintGroup;if(ce){b.calc=!0;for(var Ge in ce)A[Ge]||(Nv.getFromId(e,Ge)._constraintShrinkable=!0)}}(jhe(e)||t.height||t.width)&&(b.plot=!0);var nt=n.shapes;for(f=0;f<nt.length;f++)if(nt[f].showlegend){b.calc=!0;break}return(b.plot||b.calc)&&(b.layoutReplot=!0),{flags:b,rangesAltered:A,undoit:E,redoit:p,eventData:l}}function jhe(e){var t=e._fullLayout,r=t.width,n=t.height;return e.layout.autosize&&Ho.plotAutoSize(e,e.layout,t),t.width!==r||t.height!==n}function DP(e,t,r,n){e=sa.getGraphDiv(e),yh.clearPromiseQueue(e),sa.isPlainObject(t)||(t={}),sa.isPlainObject(r)||(r={}),Object.keys(t).length&&(e.changed=!0),Object.keys(r).length&&(e.changed=!0);var i=yh.coerceTraceIndices(e,n),a=Nhe(e,sa.extendFlat({},t),i),o=a.flags,s=Ghe(e,sa.extendFlat({},r)),l=s.flags;(o.calc||l.calc)&&(e.calcdata=void 0),o.clearAxisTypes&&yh.clearAxisTypes(e,i,r);var u=[];l.layoutReplot?u.push($l.layoutReplot):o.fullReplot?u.push(pl._doPlot):(u.push(Ho.previousPromises),Uhe(e,l,s)||Ho.supplyDefaults(e),o.style&&u.push($l.doTraceStyle),(o.colorbars||l.colorbars)&&u.push($l.doColorBars),l.legend&&u.push($l.doLegend),l.layoutstyle&&u.push($l.layoutStyles),l.axrange&&qP(u,s.rangesAltered),l.ticks&&u.push($l.doTicksRelayout),l.modebar&&u.push($l.doModeBar),l.camera&&u.push($l.doCamera),u.push(BM)),u.push(Ho.rehover,Ho.redrag,Ho.reselect),ap.add(e,DP,[e,a.undoit,s.undoit,a.traces],DP,[e,a.redoit,s.redoit,a.traces]);var c=sa.syncOrAsync(u,e);return(!c||!c.then)&&(c=Promise.resolve(e)),c.then(function(){return e.emit(\"plotly_update\",{data:a.eventData,layout:s.eventData}),e})}function GN(e){return function(r){r._fullLayout._guiEditing=!0;var n=e.apply(null,arguments);return r._fullLayout._guiEditing=!1,n}}var vht=[{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:/^(map\\d*)\\.(center|zoom|bearing|pitch)/},{pattern:/^legend\\.(x|y)$/,attr:\"editrevision\"},{pattern:/^(shapes|annotations)/,attr:\"editrevision\"},{pattern:/^title\\.text$/,attr:\"editrevision\"}],pht=[{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 Ehe(e,t){for(var r=0;r<t.length;r++){var n=t[r],i=e.match(n.pattern);if(i){var a=i[1]||\"\";return{head:a,tail:e.substr(a.length+1),attr:n.attr}}}}function khe(e,t){var r=Yu(t,e).get();if(r!==void 0)return r;var n=e.split(\".\");for(n.pop();n.length>1;)if(n.pop(),r=Yu(t,n.join(\".\")+\".uirevision\").get(),r!==void 0)return r;return t.uirevision}function ght(e,t){for(var r=0;r<t.length;r++)if(t[r]._fullInput.uid===e)return r;return-1}function mht(e,t,r){for(var n=0;n<t.length;n++)if(t[n].uid===e)return n;return!t[r]||t[r].uid?-1:r}function Che(e,t){var r=sa.isPlainObject(e),n=Array.isArray(e);return r||n?(r&&sa.isPlainObject(t)||n&&Array.isArray(t))&&JSON.stringify(e)===JSON.stringify(t):e===t}function yht(e,t,r,n){var i=n._preGUI,a,o,s,l,u,c,f,h,d,v,x=[],b={},p={};for(a in i){if(u=Ehe(a,vht),u){if(d=u.head,v=u.tail,o=u.attr||d+\".uirevision\",s=Yu(n,o).get(),l=s&&khe(o,t),l&&l===s){if(c=i[a],c===null&&(c=void 0),f=Yu(t,a),h=f.get(),Che(h,c)){h===void 0&&v===\"autorange\"&&x.push(d),f.set(Cy(Yu(n,a).get()));continue}else if(v===\"autorange\"||v.substr(0,6)===\"range[\"){var E=i[d+\".range[0]\"],k=i[d+\".range[1]\"],A=i[d+\".autorange\"];if(A||A===null&&E===null&&k===null){if(!(d in b)){var L=Yu(t,d).get();b[d]=L&&(L.autorange||L.autorange!==!1&&(!L.range||L.range.length!==2))}if(b[d]){f.set(Cy(Yu(n,a).get()));continue}}}}}else sa.warn(\"unrecognized GUI edit: \"+a);delete i[a],u&&u.tail.substr(0,6)===\"range[\"&&(p[u.head]=1)}for(var _=0;_<x.length;_++){var C=x[_];if(p[C]){var M=Yu(t,C).get();M&&delete M.autorange}}var g=n._tracePreGUI;for(var P in g){var T=g[P],F=null,q;for(a in T){if(!F){var V=ght(P,r);if(V<0){delete g[P];break}var H=r[V];q=H._fullInput;var X=mht(P,e,q.index);if(X<0){delete g[P];break}F=e[X]}if(u=Ehe(a,pht),u){if(u.attr?(s=Yu(n,u.attr).get(),l=s&&khe(u.attr,t)):(s=q.uirevision,l=F.uirevision,l===void 0&&(l=t.uirevision)),l&&l===s&&(c=T[a],c===null&&(c=void 0),f=Yu(F,a),h=f.get(),Che(h,c))){f.set(Cy(Yu(q,a).get()));continue}}else sa.warn(\"unrecognized GUI edit: \"+a+\" in trace uid \"+P);delete T[a]}}}function _ht(e,t,r,n){var i,a;function o(){return pl.addFrames(e,i)}e=sa.getGraphDiv(e),yh.clearPromiseQueue(e);var s=e._fullData,l=e._fullLayout;if(!sa.isPlotDiv(e)||!s||!l)a=pl.newPlot(e,t,r,n);else{if(sa.isPlainObject(t)){var u=t;t=u.data,r=u.layout,n=u.config,i=u.frames}var c=!1;if(n){var f=sa.extendDeep({},e._context);e._context=void 0,Ihe(e,n),c=HN(f,e._context)}e.data=t||[],yh.cleanData(e.data),e.layout=r||{},yh.cleanLayout(e.layout),yht(e.data,e.layout,s,l),Ho.supplyDefaults(e,{skipUpdateCalc:!0});var h=e._fullData,d=e._fullLayout,v=d.datarevision===void 0,x=d.transition,b=bht(e,l,d,v,x),p=b.newDataRevision,E=xht(e,s,h,v,x,p);if(jhe(e)&&(b.layoutReplot=!0),E.calc||b.calc){e.calcdata=void 0;for(var k=Object.getOwnPropertyNames(d),A=0;A<k.length;A++){var L=k[A],_=L.substring(0,5);if(_===\"xaxis\"||_===\"yaxis\"){var C=d[L]._emptyCategories;C&&C()}}}else Ho.supplyDefaultsUpdateCalc(e.calcdata,h);var M=[];if(i&&(e._transitionData={},Ho.createTransitionData(e),M.push(o)),d.transition&&!c&&(E.anim||b.anim))b.ticks&&M.push($l.doTicksRelayout),Ho.doCalcdata(e),$l.doAutoRangeAndConstraints(e),M.push(function(){return Ho.transitionFromReact(e,E,b,l)});else if(E.fullReplot||b.layoutReplot||c)e._fullLayout._skipDefaults=!0,M.push(pl._doPlot);else{for(var g in b.arrays){var P=b.arrays[g];if(P.length){var T=L0.getComponentMethod(g,\"drawOne\");if(T!==sa.noop)for(var F=0;F<P.length;F++)T(e,P[F]);else{var q=L0.getComponentMethod(g,\"draw\");if(q===sa.noop)throw new Error(\"cannot draw components: \"+g);q(e)}}}M.push(Ho.previousPromises),E.style&&M.push($l.doTraceStyle),(E.colorbars||b.colorbars)&&M.push($l.doColorBars),b.legend&&M.push($l.doLegend),b.layoutstyle&&M.push($l.layoutStyles),b.axrange&&qP(M),b.ticks&&M.push($l.doTicksRelayout),b.modebar&&M.push($l.doModeBar),b.camera&&M.push($l.doCamera),M.push(BM)}M.push(Ho.rehover,Ho.redrag,Ho.reselect),a=sa.syncOrAsync(M,e),(!a||!a.then)&&(a=Promise.resolve(e))}return a.then(function(){return e.emit(\"plotly_react\",{data:t,layout:r}),e})}function xht(e,t,r,n,i,a){var o=t.length===r.length;if(!i&&!o)return{fullReplot:!0,calc:!0};var s=p_.traceFlags();s.arrays={},s.nChanges=0,s.nChangesAnim=0;var l,u;function c(d){var v=FP.getTraceValObject(u,d);return!u._module.animatable&&v.anim&&(v.anim=!1),v}var f={getValObject:c,flags:s,immutable:n,transition:i,newDataRevision:a,gd:e},h={};for(l=0;l<t.length;l++)if(r[l]){if(u=r[l]._fullInput,h[u.uid])continue;h[u.uid]=1,zP(t[l]._fullInput,u,[],f)}return(s.calc||s.plot)&&(s.fullReplot=!0),i&&s.nChanges&&s.nChangesAnim&&(s.anim=s.nChanges===s.nChangesAnim&&o?\"all\":\"some\"),s}function bht(e,t,r,n,i){var a=p_.layoutFlags();a.arrays={},a.rangesAltered={},a.nChanges=0,a.nChangesAnim=0;function o(h){return FP.getLayoutValObject(r,h)}for(var s in r)if(!(!s.startsWith(\"xaxis\")&&!s.startsWith(\"yaxis\"))&&t[s]){var l=r[s].domain,u=t[s].domain,c=t[s]._inputDomain;t[s]._inputDomain&&(l[0]===c[0]&&l[1]===c[1]?r[s].domain=t[s].domain:(l[0]!==u[0]||l[1]!==u[1])&&(r[s]._inputDomain=null))}var f={getValObject:o,flags:a,immutable:n,transition:i,gd:e};return zP(t,r,[],f),(a.plot||a.calc)&&(a.layoutReplot=!0),i&&a.nChanges&&a.nChangesAnim&&(a.anim=a.nChanges===a.nChangesAnim?\"all\":\"some\"),a}function zP(e,t,r,n){var i,a,o,s=n.getValObject,l=n.flags,u=n.immutable,c=n.inArray,f=n.arrayIndex;function h(){var V=i.editType;if(c&&V.indexOf(\"arraydraw\")!==-1){sa.pushUnique(l.arrays[c],f);return}p_.update(l,i),V!==\"none\"&&l.nChanges++,n.transition&&i.anim&&l.nChangesAnim++,(Vhe.test(o)||Hhe.test(o))&&(l.rangesAltered[r[0]]=1),a===\"datarevision\"&&(l.newDataRevision=1)}function d(V){return V.valType===\"data_array\"||V.arrayOk}for(a in e){if(l.calc&&!n.transition)return;var v=e[a],x=t[a],b=r.concat(a);if(o=b.join(\".\"),!(a.charAt(0)===\"_\"||typeof v==\"function\"||v===x)){if((a===\"tick0\"||a===\"dtick\")&&r[0]!==\"geo\"){var p=t.tickmode;if(p===\"auto\"||p===\"array\"||!p)continue}if(!(a===\"range\"&&t.autorange)&&!((a===\"zmin\"||a===\"zmax\")&&t.type===\"contourcarpet\")&&(i=s(b),!!i&&!(i._compareAsJSON&&JSON.stringify(v)===JSON.stringify(x)))){var E=i.valType,k,A=d(i),L=Array.isArray(v),_=Array.isArray(x);if(L&&_){var C=\"_input_\"+a,M=e[C],g=t[C];if(Array.isArray(M)&&M===g)continue}if(x===void 0)A&&L?l.calc=!0:h();else if(i._isLinkedToArray){var P=[],T=!1;c||(l.arrays[a]=P);var F=Math.min(v.length,x.length),q=Math.max(v.length,x.length);if(F!==q)if(i.editType===\"arraydraw\")T=!0;else{h();continue}for(k=0;k<F;k++)zP(v[k],x[k],b.concat(k),sa.extendFlat({inArray:a,arrayIndex:k},n));if(T)for(k=F;k<q;k++)P.push(k)}else!E&&sa.isPlainObject(v)?zP(v,x,b,n):A?L&&_?(u&&(l.calc=!0),(u||n.newDataRevision)&&h()):L!==_?l.calc=!0:h():L&&_?(v.length!==x.length||String(v)!==String(x))&&h():h()}}}for(a in t)if(!(a in e||a.charAt(0)===\"_\"||typeof t[a]==\"function\"))if(i=s(r.concat(a)),d(i)&&Array.isArray(t[a])){l.calc=!0;return}else h()}function HN(e,t){var r;for(r in e)if(r.charAt(0)!==\"_\"){var n=e[r],i=t[r];if(n!==i)if(sa.isPlainObject(n)&&sa.isPlainObject(i)){if(HN(n,i))return!0}else if(Array.isArray(n)&&Array.isArray(i)){if(n.length!==i.length)return!0;for(var a=0;a<n.length;a++)if(n[a]!==i[a])if(sa.isPlainObject(n[a])&&sa.isPlainObject(i[a])){if(HN(n[a],i[a]))return!0}else return!0}else return!0}}function wht(e,t,r){if(e=sa.getGraphDiv(e),!sa.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e+\". It's likely that you've failed to create a plot before animating it. For more details, see https://plotly.com/javascript/animations/\");var n=e._transitionData;n._frameQueue||(n._frameQueue=[]),r=Ho.supplyAnimationDefaults(r);var i=r.transition,a=r.frame;n._frameWaitingCnt===void 0&&(n._frameWaitingCnt=0);function o(u){return Array.isArray(i)?u>=i.length?i[0]:i[u]:i}function s(u){return Array.isArray(a)?u>=a.length?a[0]:a[u]:a}function l(u,c){var f=0;return function(){if(u&&++f===c)return u()}}return new Promise(function(u,c){function f(){if(n._frameQueue.length!==0){for(;n._frameQueue.length;){var F=n._frameQueue.pop();F.onInterrupt&&F.onInterrupt()}e.emit(\"plotly_animationinterrupted\",[])}}function h(F){if(F.length!==0){for(var q=0;q<F.length;q++){var V;F[q].type===\"byname\"?V=Ho.computeFrame(e,F[q].name):V=F[q].data;var H=s(q),X=o(q);X.duration=Math.min(X.duration,H.duration);var G={frame:V,name:F[q].name,frameOpts:H,transitionOpts:X};q===F.length-1&&(G.onComplete=l(u,2),G.onInterrupt=c),n._frameQueue.push(G)}r.mode===\"immediate\"&&(n._lastFrameAt=-1/0),n._animationRaf||x()}}function d(){e.emit(\"plotly_animated\"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function v(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var F=n._currentFrame=n._frameQueue.shift();if(F){var q=F.name?F.name.toString():null;e._fullLayout._currentFrame=q,n._lastFrameAt=Date.now(),n._timeToNext=F.frameOpts.duration,Ho.transition(e,F.frame.data,F.frame.layout,yh.coerceTraceIndices(e,F.frame.traces),F.frameOpts,F.transitionOpts).then(function(){F.onComplete&&F.onComplete()}),e.emit(\"plotly_animatingframe\",{name:q,frame:F.frame,animation:{frame:F.frameOpts,transition:F.transitionOpts}})}else d()}function x(){e.emit(\"plotly_animating\"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var F=function(){n._animationRaf=window.requestAnimationFrame(F),Date.now()-n._lastFrameAt>n._timeToNext&&v()};F()}var b=0;function p(F){return Array.isArray(i)?b>=i.length?F.transitionOpts=i[b]:F.transitionOpts=i[0]:F.transitionOpts=i,b++,F}var E,k,A=[],L=t==null,_=Array.isArray(t),C=!L&&!_&&sa.isPlainObject(t);if(C)A.push({type:\"object\",data:p(sa.extendFlat({},t))});else if(L||[\"string\",\"number\"].indexOf(typeof t)!==-1)for(E=0;E<n._frames.length;E++)k=n._frames[E],k&&(L||String(k.group)===String(t))&&A.push({type:\"byname\",name:String(k.name),data:p({name:k.name})});else if(_)for(E=0;E<t.length;E++){var M=t[E];[\"number\",\"string\"].indexOf(typeof M)!==-1?(M=String(M),A.push({type:\"byname\",name:M,data:p({name:M})})):sa.isPlainObject(M)&&A.push({type:\"object\",data:p(sa.extendFlat({},M))})}for(E=0;E<A.length;E++)if(k=A[E],k.type===\"byname\"&&!n._frameHash[k.data.name]){sa.warn('animate failure: frame not found: \"'+k.data.name+'\"'),c();return}[\"next\",\"immediate\"].indexOf(r.mode)!==-1&&f(),r.direction===\"reverse\"&&A.reverse();var g=e._fullLayout._currentFrame;if(g&&r.fromcurrent){var P=-1;for(E=0;E<A.length;E++)if(k=A[E],k.type===\"byname\"&&k.name===g){P=E;break}if(P>0&&P<A.length-1){var T=[];for(E=0;E<A.length;E++)k=A[E],(A[E].type!==\"byname\"||E>P)&&T.push(k);A=T}}A.length>0?h(A):(e.emit(\"plotly_animated\"),u())})}function Tht(e,t,r){if(e=sa.getGraphDiv(e),t==null)return Promise.resolve();if(!sa.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e+\". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/\");var n,i,a,o,s=e._transitionData._frames,l=e._transitionData._frameHash;if(!Array.isArray(t))throw new Error(\"addFrames failure: frameList must be an Array of frame definitions\"+t);var u=s.length+t.length*2,c=[],f={};for(n=t.length-1;n>=0;n--)if(sa.isPlainObject(t[n])){var h=t[n].name,d=(l[h]||f[h]||{}).name,v=t[n].name,x=l[d]||f[d];d&&v&&typeof v==\"number\"&&x&&NN<Mhe&&(NN++,sa.warn('addFrames: overwriting frame \"'+(l[d]||f[d]).name+'\" with a frame whose name of type \"number\" also equates to \"'+d+'\". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),NN===Mhe&&sa.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.\")),f[h]={name:h},c.push({frame:Ho.supplyFrameDefaults(t[n]),index:r&&r[n]!==void 0&&r[n]!==null?r[n]:u+n})}c.sort(function(C,M){return C.index>M.index?-1:C.index<M.index?1:0});var b=[],p=[],E=s.length;for(n=c.length-1;n>=0;n--){if(i=c[n].frame,typeof i.name==\"number\"&&sa.warn(\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\"),!i.name)for(;l[i.name=\"frame \"+e._transitionData._counter++];);if(l[i.name]){for(a=0;a<s.length&&(s[a]||{}).name!==i.name;a++);b.push({type:\"replace\",index:a,value:i}),p.unshift({type:\"replace\",index:a,value:s[a]})}else o=Math.max(0,Math.min(c[n].index,E)),b.push({type:\"insert\",index:o,value:i}),p.unshift({type:\"delete\",index:o}),E++}var k=Ho.modifyFrames,A=Ho.modifyFrames,L=[e,p],_=[e,b];return ap&&ap.add(e,k,L,A,_),Ho.modifyFrames(e,b)}function Aht(e,t){if(e=sa.getGraphDiv(e),!sa.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e);var r,n,i=e._transitionData._frames,a=[],o=[];if(!t)for(t=[],r=0;r<i.length;r++)t.push(r);for(t=t.slice(),t.sort(),r=t.length-1;r>=0;r--)n=t[r],a.push({type:\"delete\",index:n}),o.unshift({type:\"insert\",index:n,value:i[n]});var s=Ho.modifyFrames,l=Ho.modifyFrames,u=[e,o],c=[e,a];return ap&&ap.add(e,s,u,l,c),Ho.modifyFrames(e,a)}function Sht(e){e=sa.getGraphDiv(e);var t=e._fullLayout||{},r=e._fullData||[];return Ho.cleanPlot([],{},r,t),Ho.purge(e),UN.purge(e),t._container&&t._container.remove(),delete e._context,e}function Mht(e){var t=e._fullLayout,r=e.getBoundingClientRect();if(!sa.equalDomRects(r,t._lastBBox)){var n=t._invTransform=sa.inverseTransformMatrix(sa.getFullTransformMatrix(e));t._invScaleX=Math.sqrt(n[0][0]*n[0][0]+n[0][1]*n[0][1]+n[0][2]*n[0][2]),t._invScaleY=Math.sqrt(n[1][0]*n[1][0]+n[1][1]*n[1][1]+n[1][2]*n[1][2]),t._lastBBox=r}}function Eht(e){var t=CP.select(e),r=e._fullLayout;if(r._calcInverseTransform=Mht,r._calcInverseTransform(e),r._container=t.selectAll(\".plot-container\").data([0]),r._container.enter().insert(\"div\",\":first-child\").classed(\"plot-container\",!0).classed(\"plotly\",!0).style({width:\"100%\",height:\"100%\"}),r._paperdiv=r._container.selectAll(\".svg-container\").data([0]),r._paperdiv.enter().append(\"div\").classed(\"user-select-none\",!0).classed(\"svg-container\",!0).style(\"position\",\"relative\"),r._glcontainer=r._paperdiv.selectAll(\".gl-container\").data([{}]),r._glcontainer.enter().append(\"div\").classed(\"gl-container\",!0),r._paperdiv.selectAll(\".main-svg\").remove(),r._paperdiv.select(\".modebar-container\").remove(),r._paper=r._paperdiv.insert(\"svg\",\":first-child\").classed(\"main-svg\",!0),r._toppaper=r._paperdiv.append(\"svg\").classed(\"main-svg\",!0),r._modebardiv=r._paperdiv.append(\"div\"),delete r._modeBar,r._hoverpaper=r._paperdiv.append(\"svg\").classed(\"main-svg\",!0),!r._uid){var n={};CP.selectAll(\"defs\").each(function(){this.id&&(n[this.id.split(\"-\")[1]]=1)}),r._uid=sa.randstr(n)}r._paperdiv.selectAll(\".main-svg\").attr(tht.svgAttrs),r._defs=r._paper.append(\"defs\").attr(\"id\",\"defs-\"+r._uid),r._clips=r._defs.append(\"g\").classed(\"clips\",!0),r._topdefs=r._toppaper.append(\"defs\").attr(\"id\",\"topdefs-\"+r._uid),r._topclips=r._topdefs.append(\"g\").classed(\"clips\",!0),r._bgLayer=r._paper.append(\"g\").classed(\"bglayer\",!0),r._draggers=r._paper.append(\"g\").classed(\"draglayer\",!0);var i=r._paper.append(\"g\").classed(\"layer-below\",!0);r._imageLowerLayer=i.append(\"g\").classed(\"imagelayer\",!0),r._shapeLowerLayer=i.append(\"g\").classed(\"shapelayer\",!0),r._cartesianlayer=r._paper.append(\"g\").classed(\"cartesianlayer\",!0),r._polarlayer=r._paper.append(\"g\").classed(\"polarlayer\",!0),r._smithlayer=r._paper.append(\"g\").classed(\"smithlayer\",!0),r._ternarylayer=r._paper.append(\"g\").classed(\"ternarylayer\",!0),r._geolayer=r._paper.append(\"g\").classed(\"geolayer\",!0),r._funnelarealayer=r._paper.append(\"g\").classed(\"funnelarealayer\",!0),r._pielayer=r._paper.append(\"g\").classed(\"pielayer\",!0),r._iciclelayer=r._paper.append(\"g\").classed(\"iciclelayer\",!0),r._treemaplayer=r._paper.append(\"g\").classed(\"treemaplayer\",!0),r._sunburstlayer=r._paper.append(\"g\").classed(\"sunburstlayer\",!0),r._indicatorlayer=r._toppaper.append(\"g\").classed(\"indicatorlayer\",!0),r._glimages=r._paper.append(\"g\").classed(\"glimages\",!0);var a=r._toppaper.append(\"g\").classed(\"layer-above\",!0);r._imageUpperLayer=a.append(\"g\").classed(\"imagelayer\",!0),r._shapeUpperLayer=a.append(\"g\").classed(\"shapelayer\",!0),r._selectionLayer=r._toppaper.append(\"g\").classed(\"selectionlayer\",!0),r._infolayer=r._toppaper.append(\"g\").classed(\"infolayer\",!0),r._menulayer=r._toppaper.append(\"g\").classed(\"menulayer\",!0),r._zoomlayer=r._toppaper.append(\"g\").classed(\"zoomlayer\",!0),r._hoverlayer=r._hoverpaper.append(\"g\").classed(\"hoverlayer\",!0),r._modebardiv.classed(\"modebar-container\",!0).style(\"position\",\"absolute\").style(\"top\",\"0px\").style(\"right\",\"0px\"),e.emit(\"plotly_framework\")}pl.animate=wht;pl.addFrames=Tht;pl.deleteFrames=Aht;pl.addTraces=Ohe;pl.deleteTraces=Bhe;pl.extendTraces=Fhe;pl.moveTraces=VN;pl.prependTraces=qhe;pl.newPlot=lht;pl._doPlot=nht;pl.purge=Sht;pl.react=_ht;pl.redraw=sht;pl.relayout=OM;pl.restyle=IP;pl.setPlotConfig=aht;pl.update=DP;pl._guiRelayout=GN(OM);pl._guiRestyle=GN(IP);pl._guiUpdate=GN(DP);pl._storeDirectGUIEdit=hht});var Ly=ye(Mm=>{\"use strict\";var kht=ba();Mm.getDelay=function(e){return e._has&&(e._has(\"gl3d\")||e._has(\"mapbox\")||e._has(\"map\"))?500:0};Mm.getRedrawFunc=function(e){return function(){kht.getComponentMethod(\"colorbar\",\"draw\")(e)}};Mm.encodeSVG=function(e){return\"data:image/svg+xml,\"+encodeURIComponent(e)};Mm.encodeJSON=function(e){return\"data:application/json,\"+encodeURIComponent(e)};var Whe=window.URL||window.webkitURL;Mm.createObjectURL=function(e){return Whe.createObjectURL(e)};Mm.revokeObjectURL=function(e){return Whe.revokeObjectURL(e)};Mm.createBlob=function(e,t){if(t===\"svg\")return new window.Blob([e],{type:\"image/svg+xml;charset=utf-8\"});if(t===\"full-json\")return new window.Blob([e],{type:\"application/json;charset=utf-8\"});var r=Cht(window.atob(e));return new window.Blob([r],{type:\"image/\"+t})};Mm.octetStream=function(e){document.location.href=\"data:application/octet-stream\"+e};function Cht(e){for(var t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;i<t;i++)n[i]=e.charCodeAt(i);return r}Mm.IMAGE_URL_PREFIX=/^data:image\\/\\w+;base64,/});var BP=ye((snr,Zhe)=>{\"use strict\";var WN=xa(),anr=Mr(),Lht=ao(),Pht=va(),onr=Zp(),jN=/\"/g,NM=\"TOBESTRIPPED\",Iht=new RegExp('(\"'+NM+\")|(\"+NM+'\")',\"g\");function Rht(e){var t=WN.select(\"body\").append(\"div\").style({display:\"none\"}).html(\"\"),r=e.replace(/(&[^;]*;)/gi,function(n){return n===\"<\"?\"<\":n===\"&rt;\"?\">\":n.indexOf(\"<\")!==-1||n.indexOf(\">\")!==-1?\"\":t.html(n).text()});return t.remove(),r}function Dht(e){return e.replace(/&(?!\\w+;|\\#[0-9]+;| \\#x[0-9A-F]+;)/g,\"&\")}Zhe.exports=function(t,r,n){var i=t._fullLayout,a=i._paper,o=i._toppaper,s=i.width,l=i.height,u;a.insert(\"rect\",\":first-child\").call(Lht.setRect,0,0,s,l).call(Pht.fill,i.paper_bgcolor);var c=i._basePlotModules||[];for(u=0;u<c.length;u++){var f=c[u];f.toSVG&&f.toSVG(t)}if(o){var h=o.node().childNodes,d=Array.prototype.slice.call(h);for(u=0;u<d.length;u++){var v=d[u];v.childNodes.length&&a.node().appendChild(v)}}i._draggers&&i._draggers.remove(),a.node().style.background=\"\",a.selectAll(\"text\").attr({\"data-unformatted\":null,\"data-math\":null}).each(function(){var b=WN.select(this);if(this.style.visibility===\"hidden\"||this.style.display===\"none\"){b.remove();return}else b.style({visibility:null,display:null});var p=this.style.fontFamily;p&&p.indexOf('\"')!==-1&&b.style(\"font-family\",p.replace(jN,NM));var E=this.style.fontWeight;E&&(E===\"normal\"||E===\"400\")&&b.style(\"font-weight\",void 0);var k=this.style.fontStyle;k&&k===\"normal\"&&b.style(\"font-style\",void 0);var A=this.style.fontVariant;A&&A===\"normal\"&&b.style(\"font-variant\",void 0)}),a.selectAll(\".gradient_filled,.pattern_filled\").each(function(){var b=WN.select(this),p=this.style.fill;p&&p.indexOf(\"url(\")!==-1&&b.style(\"fill\",p.replace(jN,NM));var E=this.style.stroke;E&&E.indexOf(\"url(\")!==-1&&b.style(\"stroke\",E.replace(jN,NM))}),(r===\"pdf\"||r===\"eps\")&&a.selectAll(\"#MathJax_SVG_glyphs path\").attr(\"stroke-width\",0),r===\"svg\"&&n&&(a.attr(\"width\",n*s),a.attr(\"height\",n*l),a.attr(\"viewBox\",\"0 0 \"+s+\" \"+l));var x=new window.XMLSerializer().serializeToString(a.node());return x=Rht(x),x=Dht(x),x=x.replace(Iht,\"'\"),x}});var NP=ye((lnr,Xhe)=>{\"use strict\";var zht=Mr(),Fht=vb().EventEmitter,UM=Ly();function qht(e){var t=e.emitter||new Fht,r=new Promise(function(n,i){var a=window.Image,o=e.svg,s=e.format||\"png\",l=e.canvas,u=e.scale||1,c=e.width||300,f=e.height||150,h=u*c,d=u*f,v=l.getContext(\"2d\",{willReadFrequently:!0}),x=new a,b,p;s===\"svg\"||zht.isSafari()?p=UM.encodeSVG(o):(b=UM.createBlob(o,\"svg\"),p=UM.createObjectURL(b)),l.width=h,l.height=d,x.onload=function(){var E;switch(b=null,UM.revokeObjectURL(p),s!==\"svg\"&&v.drawImage(x,0,0,h,d),s){case\"jpeg\":E=l.toDataURL(\"image/jpeg\");break;case\"png\":E=l.toDataURL(\"image/png\");break;case\"webp\":E=l.toDataURL(\"image/webp\");break;case\"svg\":E=p;break;default:var k=\"Image format is not jpeg, png, svg or webp.\";if(i(new Error(k)),!e.promise)return t.emit(\"error\",k)}n(E),e.promise||t.emit(\"success\",E)},x.onerror=function(E){if(b=null,UM.revokeObjectURL(p),i(E),!e.promise)return t.emit(\"error\",E)},x.src=p});return e.promise?r:t}Xhe.exports=qht});var XN=ye((unr,Jhe)=>{\"use strict\";var Yhe=uo(),Khe=OP(),Oht=Xu(),Em=Mr(),VM=Ly(),Bht=BP(),Nht=NP(),Uht=e6().version,ZN={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}};function Vht(e,t){t=t||{};var r,n,i,a;Em.isPlainObject(e)?(r=e.data||[],n=e.layout||{},i=e.config||{},a={}):(e=Em.getGraphDiv(e),r=Em.extendDeep([],e.data),n=Em.extendDeep({},e.layout),i=e._context,a=e._fullLayout||{});function o(_){return!(_ in t)||Em.validate(t[_],ZN[_])}if(!o(\"width\")&&t.width!==null||!o(\"height\")&&t.height!==null)throw new Error(\"Height and width should be pixel values.\");if(!o(\"format\"))throw new Error(\"Export format is not \"+Em.join2(ZN.format.values,\", \",\" or \")+\".\");var s={};function l(_,C){return Em.coerce(t,s,ZN,_,C)}var u=l(\"format\"),c=l(\"width\"),f=l(\"height\"),h=l(\"scale\"),d=l(\"setBackground\"),v=l(\"imageDataOnly\"),x=document.createElement(\"div\");x.style.position=\"absolute\",x.style.left=\"-5000px\",document.body.appendChild(x);var b=Em.extendFlat({},n);c?b.width=c:t.width===null&&Yhe(a.width)&&(b.width=a.width),f?b.height=f:t.height===null&&Yhe(a.height)&&(b.height=a.height);var p=Em.extendFlat({},i,{_exportedPlot:!0,staticPlot:!0,setBackground:d}),E=VM.getRedrawFunc(x);function k(){return new Promise(function(_){setTimeout(_,VM.getDelay(x._fullLayout))})}function A(){return new Promise(function(_,C){var M=Bht(x,u,h),g=x._fullLayout.width,P=x._fullLayout.height;function T(){Khe.purge(x),document.body.removeChild(x)}if(u===\"full-json\"){var F=Oht.graphJson(x,!1,\"keepdata\",\"object\",!0,!0);return F.version=Uht,F=JSON.stringify(F),T(),_(v?F:VM.encodeJSON(F))}if(T(),u===\"svg\")return _(v?M:VM.encodeSVG(M));var q=document.createElement(\"canvas\");q.id=Em.randstr(),Nht({format:u,width:g,height:P,scale:h,canvas:q,svg:M,promise:!0}).then(_).catch(C)})}function L(_){return v?_.replace(VM.IMAGE_URL_PREFIX,\"\"):_}return new Promise(function(_,C){Khe.newPlot(x,r,b,p).then(E).then(k).then(A).then(function(M){_(L(M))}).catch(function(M){C(M)})})}Jhe.exports=Vht});var tde=ye((cnr,ede)=>{\"use strict\";var P0=Mr(),Hht=Xu(),Ght=_3(),jht=ub().dfltConfig,Lg=P0.isPlainObject,Vb=Array.isArray,$he=P0.isArrayOrTypedArray;ede.exports=function(t,r){t===void 0&&(t=[]),r===void 0&&(r={});var n=Ght.get(),i=[],a={_context:P0.extendFlat({},jht)},o,s;Vb(t)?(a.data=P0.extendDeep([],t),o=t):(a.data=[],o=[],i.push(cd(\"array\",\"data\"))),Lg(r)?(a.layout=P0.extendDeep({},r),s=r):(a.layout={},s={},arguments.length>1&&i.push(cd(\"object\",\"layout\"))),Hht.supplyDefaults(a);for(var l=a._fullData,u=o.length,c=0;c<u;c++){var f=o[c],h=[\"data\",c];if(!Lg(f)){i.push(cd(\"object\",h));continue}var d=l[c],v=d.type,x=n.traces[v].attributes;x.type={valType:\"enumerated\",values:[v]},d.visible===!1&&f.visible!==!1&&i.push(cd(\"invisible\",h)),UP(f,d,x,i,h)}var b=a._fullLayout,p=Wht(n,l);return UP(s,b,p,i,\"layout\"),i.length===0?void 0:i};function UP(e,t,r,n,i,a){a=a||[];for(var o=Object.keys(e),s=0;s<o.length;s++){var l=o[s],u=a.slice();u.push(l);var c=e[l],f=t[l],h=Yht(r,l),d=(h||{}).valType,v=d===\"info_array\",x=d===\"colorscale\",b=(h||{}).items;if(!Xht(r,l))n.push(cd(\"schema\",i,u));else if(Lg(c)&&Lg(f)&&d!==\"any\")UP(c,f,h,n,i,u);else if(v&&Vb(c)){c.length>f.length&&n.push(cd(\"unused\",i,u.concat(f.length)));var p=f.length,E=Array.isArray(b);E&&(p=Math.min(p,b.length));var k,A,L,_,C;if(h.dimensions===2)for(A=0;A<p;A++)if(Vb(c[A])){c[A].length>f[A].length&&n.push(cd(\"unused\",i,u.concat(A,f[A].length)));var M=f[A].length;for(k=0;k<(E?Math.min(M,b[A].length):M);k++)L=E?b[A][k]:b,_=c[A][k],C=f[A][k],P0.validate(_,L)?C!==_&&C!==+_&&n.push(cd(\"dynamic\",i,u.concat(A,k),_,C)):n.push(cd(\"value\",i,u.concat(A,k),_))}else n.push(cd(\"array\",i,u.concat(A),c[A]));else for(A=0;A<p;A++)L=E?b[A]:b,_=c[A],C=f[A],P0.validate(_,L)?C!==_&&C!==+_&&n.push(cd(\"dynamic\",i,u.concat(A),_,C)):n.push(cd(\"value\",i,u.concat(A),_))}else if(h.items&&!v&&Vb(c)){var g=b[Object.keys(b)[0]],P=[],T,F;for(T=0;T<f.length;T++){var q=f[T]._index||T;if(F=u.slice(),F.push(q),Lg(c[q])&&Lg(f[T])){P.push(q);var V=c[q],H=f[T];Lg(V)&&V.visible!==!1&&H.visible===!1?n.push(cd(\"invisible\",i,F)):UP(V,H,g,n,i,F)}}for(T=0;T<c.length;T++)F=u.slice(),F.push(T),Lg(c[T])?P.indexOf(T)===-1&&n.push(cd(\"unused\",i,F)):n.push(cd(\"object\",i,F,c[T]))}else!Lg(c)&&Lg(f)?n.push(cd(\"object\",i,u,c)):!$he(c)&&$he(f)&&!v&&!x?n.push(cd(\"array\",i,u,c)):l in t?P0.validate(c,h)?h.valType===\"enumerated\"&&(h.coerceNumber&&c!==+f||c!==f)&&n.push(cd(\"dynamic\",i,u,c,f)):n.push(cd(\"value\",i,u,c)):n.push(cd(\"unused\",i,u,c))}return n}function Wht(e,t){for(var r=e.layout.layoutAttributes,n=0;n<t.length;n++){var i=t[n],a=e.traces[i.type],o=a.layoutAttributes;o&&(i.subplot?P0.extendFlat(r[a.attributes.subplot.dflt],o):P0.extendFlat(r,o))}return r}var Zht={object:function(e,t){var r;return e===\"layout\"&&t===\"\"?r=\"The layout argument\":e[0]===\"data\"&&t===\"\"?r=\"Trace \"+e[1]+\" in the data argument\":r=Ub(e)+\"key \"+t,r+\" must be linked to an object container\"},array:function(e,t){var r;return e===\"data\"?r=\"The data argument\":r=Ub(e)+\"key \"+t,r+\" must be linked to an array container\"},schema:function(e,t){return Ub(e)+\"key \"+t+\" is not part of the schema\"},unused:function(e,t,r){var n=Lg(r)?\"container\":\"key\";return Ub(e)+n+\" \"+t+\" did not get coerced\"},dynamic:function(e,t,r,n){return[Ub(e)+\"key\",t,\"(set to '\"+r+\"')\",\"got reset to\",\"'\"+n+\"'\",\"during defaults.\"].join(\" \")},invisible:function(e,t){return(t?Ub(e)+\"item \"+t:\"Trace \"+e[1])+\" got defaulted to be not visible\"},value:function(e,t,r){return[Ub(e)+\"key \"+t,\"is set to an invalid value (\"+r+\")\"].join(\" \")}};function Ub(e){return Vb(e)?\"In data trace \"+e[1]+\", \":\"In \"+e+\", \"}function cd(e,t,r,n,i){r=r||\"\";var a,o;Vb(t)?(a=t[0],o=t[1]):(a=t,o=null);var s=Jht(r),l=Zht[e](t,s,n,i);return P0.log(l),{code:e,container:a,trace:o,path:r,astr:s,msg:l}}function Xht(e,t){var r=Qhe(t),n=r.keyMinusId,i=r.id;return n in e&&e[n]._isSubplotObj&&i?!0:t in e}function Yht(e,t){if(t in e)return e[t];var r=Qhe(t);return e[r.keyMinusId]}var Kht=P0.counterRegex(\"([a-z]+)\");function Qhe(e){var t=e.match(Kht);return{keyMinusId:t&&t[1],id:t&&t[2]}}function Jht(e){if(!Vb(e))return String(e);for(var t=\"\",r=0;r<e.length;r++){var n=e[r];typeof n==\"number\"?t=t.substr(0,t.length-1)+\"[\"+n+\"]\":t+=n,r<e.length-1&&(t+=\".\")}return t}});var ide=ye((fnr,rde)=>{\"use strict\";var $ht=Mr(),VP=Ly();function Qht(e,t,r){var n=document.createElement(\"a\"),i=\"download\"in n,a=new Promise(function(o,s){var l,u;if(i)return l=VP.createBlob(e,r),u=VP.createObjectURL(l),n.href=u,n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n),VP.revokeObjectURL(u),l=null,o(t);if($ht.isSafari()){var c=r===\"svg\"?\",\":\";base64,\";return VP.octetStream(c+encodeURIComponent(e)),o(t)}s(new Error(\"download error\"))});return a}rde.exports=Qht});var YN=ye((dnr,ade)=>{\"use strict\";var nde=Mr(),edt=XN(),tdt=ide(),hnr=Ly();function rdt(e,t){var r;return nde.isPlainObject(e)||(r=nde.getGraphDiv(e)),t=t||{},t.format=t.format||\"png\",t.width=t.width||null,t.height=t.height||null,t.imageDataOnly=!0,new Promise(function(n,i){r&&r._snapshotInProgress&&i(new Error(\"Snapshotting already in progress.\")),r&&(r._snapshotInProgress=!0);var a=edt(e,t),o=t.filename||e.fn||\"newplot\";o+=\".\"+t.format.replace(\"-\",\".\"),a.then(function(s){return r&&(r._snapshotInProgress=!1),tdt(s,o,t.format)}).then(function(s){n(s)}).catch(function(s){r&&(r._snapshotInProgress=!1),i(s)})})}ade.exports=rdt});var cde=ye(KN=>{\"use strict\";var Cp=Mr(),Lp=Cp.isPlainObject,ode=_3(),sde=Xu(),idt=vl(),lde=Vs(),ude=ub().dfltConfig;KN.makeTemplate=function(e){e=Cp.isPlainObject(e)?e:Cp.getGraphDiv(e),e=Cp.extendDeep({_context:ude},{data:e.data,layout:e.layout}),sde.supplyDefaults(e);var t=e.data||[],r=e.layout||{};r._basePlotModules=e._fullLayout._basePlotModules,r._modules=e._fullLayout._modules;var n={data:{},layout:{}};t.forEach(function(d){var v={};HM(d,v,adt.bind(null,d));var x=Cp.coerce(d,{},idt,\"type\"),b=n.data[x];b||(b=n.data[x]=[]),b.push(v)}),HM(r,n.layout,ndt.bind(null,r)),delete n.layout.template;var i=r.template;if(Lp(i)){var a=i.layout,o,s,l,u,c,f;Lp(a)&&HP(a,n.layout);var h=i.data;if(Lp(h)){for(s in n.data)if(l=h[s],Array.isArray(l)){for(c=n.data[s],f=c.length,u=l.length,o=0;o<f;o++)HP(l[o%u],c[o]);for(o=f;o<u;o++)c.push(Cp.extendDeep({},l[o]))}for(s in h)s in n.data||(n.data[s]=Cp.extendDeep([],h[s]))}}return n};function HP(e,t){e=Cp.extendDeep({},e);var r=Object.keys(e).sort(),n,i;function a(c,f,h){if(Lp(f)&&Lp(c))HP(c,f);else if(Array.isArray(f)&&Array.isArray(c)){var d=lde.arrayTemplater({_template:e},h);for(i=0;i<f.length;i++){var v=f[i],x=d.newItem(v)._template;x&&HP(x,v)}var b=d.defaultItems();for(i=0;i<b.length;i++)f.push(b[i]._template);for(i=0;i<f.length;i++)delete f[i].templateitemname}}for(n=0;n<r.length;n++){var o=r[n],s=e[o];if(o in t?a(s,t[o],o):t[o]=s,GP(o)===o)for(var l in t){var u=GP(l);l!==u&&u===o&&!(l in e)&&a(s,t[l],o)}}}function GP(e){return e.replace(/[0-9]+$/,\"\")}function HM(e,t,r,n,i){var a=i&&r(i);for(var o in e){var s=e[o],l=I0(e,o,n),u=I0(e,o,i),c=r(u);if(!c){var f=GP(o);f!==o&&(u=I0(e,f,i),c=r(u))}if(!(a&&a===c)&&!(!c||c._noTemplating||c.valType===\"data_array\"||c.arrayOk&&Array.isArray(s)))if(!c.valType&&Lp(s))HM(s,t,r,l,u);else if(c._isLinkedToArray&&Array.isArray(s))for(var h=!1,d=0,v={},x=0;x<s.length;x++){var b=s[x];if(Lp(b)){var p=b.name;if(p)v[p]||(HM(b,t,r,I0(s,d,l),I0(s,d,u)),d++,v[p]=1);else if(!h){var E=lde.arrayDefaultKey(o),k=I0(e,E,n),A=I0(s,d,l);HM(b,t,r,A,I0(s,d,u));var L=Cp.nestedProperty(t,A),_=Cp.nestedProperty(t,k);_.set(L.get()),L.set(null),h=!0}}}else{var C=Cp.nestedProperty(t,l);C.set(s)}}}function ndt(e,t){return ode.getLayoutValObject(e,Cp.nestedProperty({},t).parts)}function adt(e,t){return ode.getTraceValObject(e,Cp.nestedProperty({},t).parts)}function I0(e,t,r){var n;return r?Array.isArray(e)?n=r+\"[\"+t+\"]\":n=r+\".\"+t:n=t,n}KN.validateTemplate=function(e,t){var r=Cp.extendDeep({},{_context:ude,data:e.data,layout:e.layout}),n=r.layout||{};Lp(t)||(t=n.template||{});var i=t.layout,a=t.data,o=[];r.layout=n,r.layout.template=t,sde.supplyDefaults(r);var s=r._fullLayout,l=r._fullData,u={};function c(k,A){for(var L in k)if(L.charAt(0)!==\"_\"&&Lp(k[L])){var _=GP(L),C=[],M;for(M=0;M<A.length;M++)C.push(I0(k,L,A[M])),_!==L&&C.push(I0(k,_,A[M]));for(M=0;M<C.length;M++)u[C[M]]=1;c(k[L],C)}}function f(k,A){for(var L in k)if(L.indexOf(\"defaults\")===-1&&Lp(k[L])){var _=I0(k,L,A);u[_]?f(k[L],_):o.push({code:\"unused\",path:_})}}if(Lp(i)?(c(s,[\"layout\"]),f(i,\"layout\")):o.push({code:\"layout\"}),!Lp(a))o.push({code:\"data\"});else{for(var h={},d,v=0;v<l.length;v++){var x=l[v];d=x.type,h[d]=(h[d]||0)+1,x._fullInput._template||o.push({code:\"missing\",index:x.index,traceType:d})}for(d in a){var b=a[d].length,p=h[d]||0;b>p?o.push({code:\"unused\",traceType:d,templateCount:b,dataCount:p}):p>b&&o.push({code:\"reused\",traceType:d,templateCount:b,dataCount:p})}}function E(k,A){for(var L in k)if(L.charAt(0)!==\"_\"){var _=k[L],C=I0(k,L,A);Lp(_)?(Array.isArray(k)&&_._template===!1&&_.templateitemname&&o.push({code:\"missing\",path:C,templateitemname:_.templateitemname}),E(_,C)):Array.isArray(_)&&odt(_)&&E(_,C)}}if(E({data:l,layout:s},\"\"),o.length)return o.map(sdt)};function odt(e){for(var t=0;t<e.length;t++)if(Lp(e[t]))return!0}function sdt(e){var t;switch(e.code){case\"data\":t=\"The template has no key data.\";break;case\"layout\":t=\"The template has no key layout.\";break;case\"missing\":e.path?t=\"There are no templates for item \"+e.path+\" with name \"+e.templateitemname:t=\"There are no templates for trace \"+e.index+\", of type \"+e.traceType+\".\";break;case\"unused\":e.path?t=\"The template item at \"+e.path+\" was not used in constructing the plot.\":e.dataCount?t=\"Some of the templates of type \"+e.traceType+\" were not used. The template has \"+e.templateCount+\" traces, the data only has \"+e.dataCount+\" of this type.\":t=\"The template has \"+e.templateCount+\" traces of type \"+e.traceType+\" but there are none in the data.\";break;case\"reused\":t=\"Some of the templates of type \"+e.traceType+\" were used more than once. The template has \"+e.templateCount+\" traces, the data has \"+e.dataCount+\" of this type.\";break}return e.msg=t,e}});var hde=ye(Sc=>{\"use strict\";var Hh=OP();Sc._doPlot=Hh._doPlot;Sc.newPlot=Hh.newPlot;Sc.restyle=Hh.restyle;Sc.relayout=Hh.relayout;Sc.redraw=Hh.redraw;Sc.update=Hh.update;Sc._guiRestyle=Hh._guiRestyle;Sc._guiRelayout=Hh._guiRelayout;Sc._guiUpdate=Hh._guiUpdate;Sc._storeDirectGUIEdit=Hh._storeDirectGUIEdit;Sc.react=Hh.react;Sc.extendTraces=Hh.extendTraces;Sc.prependTraces=Hh.prependTraces;Sc.addTraces=Hh.addTraces;Sc.deleteTraces=Hh.deleteTraces;Sc.moveTraces=Hh.moveTraces;Sc.purge=Hh.purge;Sc.addFrames=Hh.addFrames;Sc.deleteFrames=Hh.deleteFrames;Sc.animate=Hh.animate;Sc.setPlotConfig=Hh.setPlotConfig;var ldt=DS().getGraphDiv,udt=rP().eraseActiveShape;Sc.deleteActiveShape=function(e){return udt(ldt(e))};Sc.toImage=XN();Sc.validate=tde();Sc.downloadImage=YN();var fde=cde();Sc.makeTemplate=fde.makeTemplate;Sc.validateTemplate=fde.validateTemplate});var K3=ye((gnr,dde)=>{\"use strict\";var JN=Mr(),cdt=ba();dde.exports=function(t,r,n,i){var a=i(\"x\"),o=i(\"y\"),s,l=cdt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");if(l(t,r,[\"x\",\"y\"],n),a){var u=JN.minRowLength(a);o?s=Math.min(u,JN.minRowLength(o)):(s=u,i(\"y0\"),i(\"dy\"))}else{if(!o)return 0;s=JN.minRowLength(o),i(\"x0\"),i(\"dx\")}return r._length=s,s}});var Pg=ye((mnr,gde)=>{\"use strict\";var vde=Mr().dateTick0,fdt=es(),hdt=fdt.ONEWEEK;function pde(e,t){return e%hdt===0?vde(t,1):vde(t,0)}gde.exports=function(t,r,n,i,a){if(a||(a={x:!0,y:!0}),a.x){var o=i(\"xperiod\");o&&(i(\"xperiod0\",pde(o,r.xcalendar)),i(\"xperiodalignment\"))}if(a.y){var s=i(\"yperiod\");s&&(i(\"yperiod0\",pde(s,r.ycalendar)),i(\"yperiodalignment\"))}}});var _de=ye((ynr,yde)=>{\"use strict\";var mde=[\"orientation\",\"groupnorm\",\"stackgaps\"];yde.exports=function(t,r,n,i){var a=n._scatterStackOpts,o=i(\"stackgroup\");if(o){var s=r.xaxis+r.yaxis,l=a[s];l||(l=a[s]={});var u=l[o],c=!1;u?u.traces.push(r):(u=l[o]={traceIndices:[],traces:[r]},c=!0);for(var f={orientation:r.x&&!r.y?\"h\":\"v\"},h=0;h<mde.length;h++){var d=mde[h],v=d+\"Found\";if(!u[v]){var x=t[d]!==void 0,b=d===\"orientation\";if((x||c)&&(u[d]=i(d,f[d]),b&&(u.fillDflt=u[d]===\"h\"?\"tonextx\":\"tonexty\"),x&&(u[v]=!0,!c&&(delete u.traces[0][d],b))))for(var p=0;p<u.traces.length-1;p++){var E=u.traces[p];E._input.fill!==E.fill&&(E.fill=u.fillDflt)}}}return u}}});var $p=ye((_nr,Tde)=>{\"use strict\";var xde=va(),bde=Dv().hasColorscale,wde=Uh(),ddt=lu();Tde.exports=function(t,r,n,i,a,o){var s=ddt.isBubble(t),l=(t.line||{}).color,u;if(o=o||{},l&&(n=l),a(\"marker.symbol\"),a(\"marker.opacity\",s?.7:1),a(\"marker.size\"),o.noAngle||(a(\"marker.angle\"),o.noAngleRef||a(\"marker.angleref\"),o.noStandOff||a(\"marker.standoff\")),a(\"marker.color\",n),bde(t,\"marker\")&&wde(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}),o.noSelect||(a(\"selected.marker.color\"),a(\"unselected.marker.color\"),a(\"selected.marker.size\"),a(\"unselected.marker.size\")),o.noLine||(l&&!Array.isArray(l)&&r.marker.color!==l?u=l:s?u=xde.background:u=xde.defaultLine,a(\"marker.line.color\",u),bde(t,\"marker.line\")&&wde(t,r,i,a,{prefix:\"marker.line.\",cLetter:\"c\"}),a(\"marker.line.width\",s?1:0)),s&&(a(\"marker.sizeref\"),a(\"marker.sizemin\"),a(\"marker.sizemode\")),o.gradient){var c=a(\"marker.gradient.type\");c!==\"none\"&&a(\"marker.gradient.color\")}}});var R0=ye((xnr,Ade)=>{\"use strict\";var vdt=Mr().isArrayOrTypedArray,pdt=Dv().hasColorscale,gdt=Uh();Ade.exports=function(t,r,n,i,a,o){o||(o={});var s=(t.marker||{}).color;if(s&&s._inputArray&&(s=s._inputArray),a(\"line.color\",n),pdt(t,\"line\"))gdt(t,r,i,a,{prefix:\"line.\",cLetter:\"c\"});else{var l=(vdt(s)?!1:s)||n;a(\"line.color\",l)}a(\"line.width\"),o.noDash||a(\"line.dash\"),o.backoff&&a(\"line.backoff\")}});var J3=ye((bnr,Sde)=>{\"use strict\";Sde.exports=function(t,r,n){var i=n(\"line.shape\");i===\"spline\"&&n(\"line.smoothing\")}});var D0=ye((wnr,Mde)=>{\"use strict\";var mdt=Mr();Mde.exports=function(e,t,r,n,i){i=i||{},n(\"textposition\"),mdt.coerceFont(n,\"textfont\",i.font||r.font,i),i.noSelect||(n(\"selected.textfont.color\"),n(\"unselected.textfont.color\"))}});var Ig=ye((Tnr,kde)=>{\"use strict\";var jP=va(),Ede=Mr().isArrayOrTypedArray;function ydt(e){for(var t=jP.interpolate(e[0][1],e[1][1],.5),r=2;r<e.length;r++){var n=jP.interpolate(e[r-1][1],e[r][1],.5);t=jP.interpolate(t,n,e[r-1][0]/e[r][0])}return t}kde.exports=function(t,r,n,i,a){a||(a={});var o=!1;if(r.marker){var s=r.marker.color,l=(r.marker.line||{}).color;s&&!Ede(s)?o=s:l&&!Ede(l)&&(o=l)}var u;if(a.moduleHasFillgradient){var c=i(\"fillgradient.type\");if(c!==\"none\"){i(\"fillgradient.start\"),i(\"fillgradient.stop\");var f=i(\"fillgradient.colorscale\");f&&(u=ydt(f))}}i(\"fillcolor\",jP.addOpacity((r.line||{}).color||o||u||n,.5))}});var Ide=ye((Anr,Pde)=>{\"use strict\";var Cde=Mr(),_dt=ba(),xdt=Uc(),bdt=Sm(),$3=lu(),wdt=K3(),Tdt=Pg(),Adt=_de(),Sdt=$p(),Mdt=R0(),Lde=J3(),Edt=D0(),kdt=Ig(),Cdt=Mr().coercePattern;Pde.exports=function(t,r,n,i){function a(d,v){return Cde.coerce(t,r,xdt,d,v)}var o=wdt(t,r,i,a);if(o||(r.visible=!1),!!r.visible){Tdt(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zorder\");var s=Adt(t,r,i,a);i.scattermode===\"group\"&&r.orientation===void 0&&a(\"orientation\",\"v\");var l=!s&&o<bdt.PTS_LINESONLY?\"lines+markers\":\"lines\";a(\"text\"),a(\"hovertext\"),a(\"mode\",l),$3.hasMarkers(r)&&Sdt(t,r,n,i,a,{gradient:!0}),$3.hasLines(r)&&(Mdt(t,r,n,i,a,{backoff:!0}),Lde(t,r,a),a(\"connectgaps\"),a(\"line.simplify\")),$3.hasText(r)&&(a(\"texttemplate\"),Edt(t,r,i,a));var u=[];($3.hasMarkers(r)||$3.hasText(r))&&(a(\"cliponaxis\"),a(\"marker.maxdisplayed\"),u.push(\"points\")),a(\"fill\",s?s.fillDflt:\"none\"),r.fill!==\"none\"&&(kdt(t,r,n,a,{moduleHasFillgradient:!0}),$3.hasLines(r)||Lde(t,r,a),Cdt(a,\"fillpattern\",r.fillcolor,!1));var c=(r.line||{}).color,f=(r.marker||{}).color;(r.fill===\"tonext\"||r.fill===\"toself\")&&u.push(\"fills\"),a(\"hoveron\",u.join(\"+\")||\"points\"),r.hoveron!==\"fills\"&&a(\"hovertemplate\");var h=_dt.getComponentMethod(\"errorbars\",\"supplyDefaults\");h(t,r,c||f||n,{axis:\"y\"}),h(t,r,c||f||n,{axis:\"x\",inherit:\"y\"}),Cde.coerceSelectionMarkerOpacity(r,a)}}});var Hb=ye((Snr,Rde)=>{\"use strict\";var Ldt=Bb().getAxisGroup;Rde.exports=function(t,r,n,i,a){var o=r.orientation,s=r[{v:\"x\",h:\"y\"}[o]+\"axis\"],l=Ldt(n,s)+o,u=n._alignmentOpts||{},c=i(\"alignmentgroup\"),f=u[l];f||(f=u[l]={});var h=f[c];h?h.traces.push(r):h=f[c]={traces:[r],alignmentIndex:Object.keys(f).length,offsetGroups:{}};var d=i(\"offsetgroup\")||\"\",v=h.offsetGroups,x=v[d];r._offsetIndex=0,(a!==\"group\"||d)&&(x||(x=v[d]={offsetIndex:Object.keys(v).length}),r._offsetIndex=x.offsetIndex)}});var $N=ye((Mnr,Dde)=>{\"use strict\";var Pdt=Mr(),Idt=Hb(),Rdt=Uc();Dde.exports=function(t,r){var n,i,a,o=r.scattermode;function s(h){return Pdt.coerce(i._input,i,Rdt,h)}if(r.scattermode===\"group\")for(a=0;a<t.length;a++)i=t[a],i.type===\"scatter\"&&(n=i._input,Idt(n,i,r,s,o));for(a=0;a<t.length;a++){var l=t[a];if(l.type===\"scatter\"){var u=l.fill;if(!(u===\"none\"||u===\"toself\")&&(l.opacity=void 0,u===\"tonexty\"||u===\"tonextx\"))for(var c=a-1;c>=0;c--){var f=t[c];if(f.type===\"scatter\"&&f.xaxis===l.xaxis&&f.yaxis===l.yaxis){f.opacity=void 0;break}}}}}});var Fde=ye((Enr,zde)=>{\"use strict\";var Ddt=Mr(),zdt=V6();zde.exports=function(e,t){function r(i,a){return Ddt.coerce(e,t,zdt,i,a)}var n=t.barmode===\"group\";t.scattermode===\"group\"&&r(\"scattergap\",n?t.bargap:.2)}});var Rg=ye((knr,Ode)=>{\"use strict\";var Fdt=uo(),qde=Mr(),qdt=qde.dateTime2ms,WP=qde.incrementMonth,Odt=es(),Bdt=Odt.ONEAVGMONTH;Ode.exports=function(t,r,n,i){if(r.type!==\"date\")return{vals:i};var a=t[n+\"periodalignment\"];if(!a)return{vals:i};var o=t[n+\"period\"],s;if(Fdt(o)){if(o=+o,o<=0)return{vals:i}}else if(typeof o==\"string\"&&o.charAt(0)===\"M\"){var l=+o.substring(1);if(l>0&&Math.round(l)===l)s=l;else return{vals:i}}for(var u=r.calendar,c=a===\"start\",f=a===\"end\",h=t[n+\"period0\"],d=qdt(h,u)||0,v=[],x=[],b=[],p=i.length,E=0;E<p;E++){var k=i[E],A,L,_;if(s){for(A=Math.round((k-d)/(s*Bdt)),_=WP(d,s*A,u);_>k;)_=WP(_,-s,u);for(;_<=k;)_=WP(_,s,u);L=WP(_,-s,u)}else{for(A=Math.round((k-d)/o),_=d+A*o;_>k;)_-=o;for(;_<=k;)_+=o;L=_-o}v[E]=c?L:f?_:(L+_)/2,x[E]=L,b[E]=_}return{vals:v,starts:x,ends:b}}});var z0=ye((Cnr,Nde)=>{\"use strict\";var QN=Dv().hasColorscale,eU=zv(),Bde=lu();Nde.exports=function(t,r){Bde.hasLines(r)&&QN(r,\"line\")&&eU(t,r,{vals:r.line.color,containerStr:\"line\",cLetter:\"c\"}),Bde.hasMarkers(r)&&(QN(r,\"marker\")&&eU(t,r,{vals:r.marker.color,containerStr:\"marker\",cLetter:\"c\"}),QN(r,\"marker.line\")&&eU(t,r,{vals:r.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}))}});var km=ye((Lnr,Ude)=>{\"use strict\";var Df=Mr();Ude.exports=function(t,r){for(var n=0;n<t.length;n++)t[n].i=n;Df.mergeArray(r.text,t,\"tx\"),Df.mergeArray(r.texttemplate,t,\"txt\"),Df.mergeArray(r.hovertext,t,\"htx\"),Df.mergeArray(r.customdata,t,\"data\"),Df.mergeArray(r.textposition,t,\"tp\"),r.textfont&&(Df.mergeArrayCastPositive(r.textfont.size,t,\"ts\"),Df.mergeArray(r.textfont.color,t,\"tc\"),Df.mergeArray(r.textfont.family,t,\"tf\"),Df.mergeArray(r.textfont.weight,t,\"tw\"),Df.mergeArray(r.textfont.style,t,\"ty\"),Df.mergeArray(r.textfont.variant,t,\"tv\"),Df.mergeArray(r.textfont.textcase,t,\"tC\"),Df.mergeArray(r.textfont.lineposition,t,\"tE\"),Df.mergeArray(r.textfont.shadow,t,\"tS\"));var i=r.marker;if(i){Df.mergeArrayCastPositive(i.size,t,\"ms\"),Df.mergeArrayCastPositive(i.opacity,t,\"mo\"),Df.mergeArray(i.symbol,t,\"mx\"),Df.mergeArray(i.angle,t,\"ma\"),Df.mergeArray(i.standoff,t,\"mf\"),Df.mergeArray(i.color,t,\"mc\");var a=i.line;i.line&&(Df.mergeArray(a.color,t,\"mlc\"),Df.mergeArrayCastPositive(a.width,t,\"mlw\"));var o=i.gradient;o&&o.type!==\"none\"&&(Df.mergeArray(o.type,t,\"mgt\"),Df.mergeArray(o.color,t,\"mgc\"))}}});var F0=ye((Pnr,Hde)=>{\"use strict\";var Vde=Mr();Hde.exports=function(t,r){Vde.isArrayOrTypedArray(r.selectedpoints)&&Vde.tagSelected(t,r)}});var q0=ye((Inr,Kde)=>{\"use strict\";var Gde=uo(),rU=Mr(),GM=Qa(),jde=Rg(),tU=es().BADNUM,iU=lu(),Ndt=z0(),Udt=km(),Vdt=F0();function Hdt(e,t){var r=e._fullLayout,n=t._xA=GM.getFromId(e,t.xaxis||\"x\",\"x\"),i=t._yA=GM.getFromId(e,t.yaxis||\"y\",\"y\"),a=n.makeCalcdata(t,\"x\"),o=i.makeCalcdata(t,\"y\"),s=jde(t,n,\"x\",a),l=jde(t,i,\"y\",o),u=s.vals,c=l.vals,f=t._length,h=new Array(f),d=t.ids,v=nU(t,r,n,i),x=!1,b,p,E,k,A,L;Xde(r,t);var _=\"x\",C=\"y\",M;if(v)rU.pushUnique(v.traceIndices,t.index),b=v.orientation===\"v\",b?(C=\"s\",M=\"x\"):(_=\"s\",M=\"y\"),A=v.stackgaps===\"interpolate\";else{var g=Zde(t,f);Wde(e,t,n,i,u,c,g)}var P=!!t.xperiodalignment,T=!!t.yperiodalignment;for(p=0;p<f;p++){var F=h[p]={},q=Gde(u[p]),V=Gde(c[p]);q&&V?(F[_]=u[p],F[C]=c[p],P&&(F.orig_x=a[p],F.xEnd=s.ends[p],F.xStart=s.starts[p]),T&&(F.orig_y=o[p],F.yEnd=l.ends[p],F.yStart=l.starts[p])):v&&(b?q:V)?(F[M]=b?u[p]:c[p],F.gap=!0,A?(F.s=tU,x=!0):F.s=0):F[_]=F[C]=tU,d&&(F.id=String(d[p]))}if(Udt(h,t),Ndt(e,t),Vdt(h,t),v){for(p=0;p<h.length;)h[p][M]===tU?h.splice(p,1):p++;if(rU.sort(h,function(N,W){return N[M]-W[M]||N.i-W.i}),x){for(p=0;p<h.length-1&&h[p].gap;)p++;for(L=h[p].s,L||(L=h[p].s=0),E=0;E<p;E++)h[E].s=L;for(k=h.length-1;k>p&&h[k].gap;)k--;for(L=h[k].s,E=h.length-1;E>k;E--)h[E].s=L;for(;p<k;)if(p++,h[p].gap){for(E=p+1;h[E].gap;)E++;for(var H=h[p-1][M],X=h[p-1].s,G=(h[E].s-X)/(h[E][M]-H);p<E;)h[p].s=X+(h[p][M]-H)*G,p++}}}return h}function Wde(e,t,r,n,i,a,o){var s=t._length,l=e._fullLayout,u=r._id,c=n._id,f=l._firstScatter[Yde(t)]===t.uid,h=(nU(t,l,r,n)||{}).orientation,d=t.fill;r._minDtick=0,n._minDtick=0;var v={padded:!0},x={padded:!0};o&&(v.ppad=x.ppad=o);var b=s<2||i[0]!==i[s-1]||a[0]!==a[s-1];b&&(d===\"tozerox\"||d===\"tonextx\"&&(f||h===\"h\"))?v.tozero=!0:!(t.error_y||{}).visible&&(d===\"tonexty\"||d===\"tozeroy\"||!iU.hasMarkers(t)&&!iU.hasText(t))&&(v.padded=!1,v.ppad=0),b&&(d===\"tozeroy\"||d===\"tonexty\"&&(f||h===\"v\"))?x.tozero=!0:(d===\"tonextx\"||d===\"tozerox\")&&(x.padded=!1),u&&(t._extremes[u]=GM.findExtremes(r,i,v)),c&&(t._extremes[c]=GM.findExtremes(n,a,x))}function Zde(e,t){if(iU.hasMarkers(e)){var r=e.marker,n=1.6*(e.marker.sizeref||1),i;if(e.marker.sizemode===\"area\"?i=function(u){return Math.max(Math.sqrt((u||0)/n),3)}:i=function(u){return Math.max((u||0)/n,3)},rU.isArrayOrTypedArray(r.size)){var a={type:\"linear\"};GM.setConvert(a);for(var o=a.makeCalcdata(e.marker,\"size\"),s=new Array(t),l=0;l<t;l++)s[l]=i(o[l]);return s}else return i(r.size)}}function Xde(e,t){var r=Yde(t),n=e._firstScatter;n[r]||(n[r]=t.uid)}function Yde(e){var t=e.stackgroup;return e.xaxis+e.yaxis+e.type+(t?\"-\"+t:\"\")}function nU(e,t,r,n){var i=e.stackgroup;if(i){var a=t._scatterStackOpts[r._id+n._id][i],o=a.orientation===\"v\"?n:r;if(o.type===\"linear\"||o.type===\"log\")return a}}Kde.exports={calc:Hdt,calcMarkerSize:Zde,calcAxisExpansion:Wde,setFirstScatter:Xde,getStackOpts:nU}});var $de=ye((Rnr,Jde)=>{\"use strict\";Jde.exports=ZP;var Gdt=Mr().distinctVals;function ZP(e,t){this.traces=e,this.sepNegVal=t.sepNegVal,this.overlapNoMerge=t.overlapNoMerge;for(var r=1/0,n=t.posAxis._id.charAt(0),i=[],a=0;a<e.length;a++){for(var o=e[a],s=0;s<o.length;s++){var l=o[s],u=l.p;u===void 0&&(u=l[n]),u!==void 0&&i.push(u)}o[0]&&o[0].width1&&(r=Math.min(o[0].width1,r))}this.positions=i;var c=Gdt(i);this.distinctPositions=c.vals,c.vals.length===1&&r!==1/0?this.minDiff=r:this.minDiff=Math.min(c.minDiff,r);var f=(t.posAxis||{}).type;(f===\"category\"||f===\"multicategory\")&&(this.minDiff=1),this.binWidth=this.minDiff,this.bins={}}ZP.prototype.put=function(t,r,n){var i=this.getLabel(t,r,n),a=this.bins[i]||0;return this.bins[i]=a+n,a};ZP.prototype.get=function(t,r,n){var i=this.getLabel(t,r,n);return this.bins[i]||0};ZP.prototype.getLabel=function(t,r,n){var i=n<0&&this.sepNegVal?\"v\":\"^\",a=this.overlapNoMerge?t:Math.round(t/this.binWidth);return i+a+\"g\"+r}});var Gb=ye((Dnr,rve)=>{\"use strict\";var O0=uo(),g_=Mr().isArrayOrTypedArray,Q3=es().BADNUM,jdt=ba(),jM=Qa(),Wdt=Bb().getAxisGroup,XP=$de();function Zdt(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,a=e._fullData,o=e.calcdata,s=[],l=[],u=0;u<a.length;u++){var c=a[u];if(c.visible===!0&&jdt.traceIs(c,\"bar\")&&c.xaxis===r._id&&c.yaxis===n._id&&(c.orientation===\"h\"?s.push(o[u]):l.push(o[u]),c._computePh))for(var f=e.calcdata[u],h=0;h<f.length;h++)typeof f[h].ph0==\"function\"&&(f[h].ph0=f[h].ph0()),typeof f[h].ph1==\"function\"&&(f[h].ph1=f[h].ph1())}var d={xCat:r.type===\"category\"||r.type===\"multicategory\",yCat:n.type===\"category\"||n.type===\"multicategory\",mode:i.barmode,norm:i.barnorm,gap:i.bargap,groupgap:i.bargroupgap};oU(e,r,n,l,d),oU(e,n,r,s,d)}function oU(e,t,r,n,i){if(n.length){var a,o,s,l,u;switch(Kdt(r,n),i.mode){case\"overlay\":aU(e,t,r,n,i);break;case\"group\":for(a=[],o=[],s=0;s<n.length;s++)l=n[s],u=l[0].trace,u.offset===void 0?o.push(l):a.push(l);o.length&&Jdt(e,t,r,o,i),a.length&&aU(e,t,r,a,i);break;case\"stack\":case\"relative\":for(a=[],o=[],s=0;s<n.length;s++)l=n[s],u=l[0].trace,u.base===void 0?o.push(l):a.push(l);Ydt(o),o.length&&$dt(e,t,r,o,i),a.length&&aU(e,t,r,a,i);break}Xdt(n),nvt(n,t)}}function Xdt(e){var t,r,n,i,a,o,s;for(t=0;t<e.length;t++)r=e[t],n=r[0].trace,i=r[0].t,i.cornerradiusvalue===void 0&&(a=n.marker?n.marker.cornerradius:void 0,a!==void 0&&(o=O0(a)?+a:+a.slice(0,-1),s=O0(a)?\"px\":\"%\",i.cornerradiusvalue=o,i.cornerradiusform=s))}function Ydt(e){if(!(e.length<2)){var t,r,n,i,a,o,s;for(t=0;t<e.length&&(r=e[t],n=r[0].trace,a=n.marker?n.marker.cornerradius:void 0,a===void 0);t++);if(a!==void 0)for(o=O0(a)?+a:+a.slice(0,-1),s=O0(a)?\"px\":\"%\",t=0;t<e.length;t++)r=e[t],i=r[0].t,i.cornerradiusvalue=o,i.cornerradiusform=s}}function Kdt(e,t){var r,n;for(r=0;r<t.length;r++){var i=t[r],a=i[0].trace,o=a.type===\"funnel\"?a._base:a.base,s,l=a.orientation===\"h\"?a.xcalendar:a.ycalendar,u=e.type===\"category\"||e.type===\"multicategory\"?function(){return null}:e.d2c;if(g_(o)){for(n=0;n<Math.min(o.length,i.length);n++)s=u(o[n],0,l),O0(s)?(i[n].b=+s,i[n].hasB=1):i[n].b=0;for(;n<i.length;n++)i[n].b=0}else{s=u(o,0,l);var c=O0(s);for(s=c?s:0,n=0;n<i.length;n++)i[n].b=s,c&&(i[n].hasB=1)}}}function aU(e,t,r,n,i){for(var a=0;a<n.length;a++){var o=n[a],s=new XP([o],{posAxis:t,sepNegVal:!1,overlapNoMerge:!i.norm});sU(e,t,s,i),i.norm?(tve(s),lU(r,s,i)):eve(r,s)}}function Jdt(e,t,r,n,i){var a=new XP(n,{posAxis:t,sepNegVal:!1,overlapNoMerge:!i.norm});sU(e,t,a,i),rvt(a,t),i.norm?(tve(a),lU(r,a,i)):eve(r,a)}function $dt(e,t,r,n,i){var a=new XP(n,{posAxis:t,sepNegVal:i.mode===\"relative\",overlapNoMerge:!(i.norm||i.mode===\"stack\"||i.mode===\"relative\")});sU(e,t,a,i),tvt(r,a,i);for(var o=0;o<n.length;o++)for(var s=n[o],l=s[0].t.offsetindex,u=0;u<s.length;u++){var c=s[u];if(c.s!==Q3){var f=c.b+c.s===a.get(c.p,l,c.s);f&&(c._outmost=!0)}}i.norm&&lU(r,a,i)}function sU(e,t,r,n){var i=e._fullLayout,a=r.positions,o=r.distinctPositions,s=r.minDiff,l=r.traces,u=l.length,c=a.length!==o.length,f=s*(1-n.gap),h,d,v,x;if(t._id===\"angularaxis\")h=f,d=h*(1-(n.groupgap||0)),v=-d/2;else{var b=Wdt(i,t._id)+l[0][0].trace.orientation;x=i._alignmentOpts[b]||{}}for(var p=0;p<u;p++){var E=l[p],k=E[0].trace;if(t._id!==\"angularaxis\"){var A=x[k.alignmentgroup]||{},L=Object.keys(A.offsetGroups||{}).length;L?h=f/L:h=c?f/u:f,d=h*(1-(n.groupgap||0)),L?v=((2*k._offsetIndex+1-L)*h-d)/2:v=c?((2*p+1-u)*h-d)/2:-d/2}var _=E[0].t;_.barwidth=d,_.offsetindex=k._offsetIndex||0,_.poffset=v,_.bargroupwidth=f,_.bardelta=s}r.binWidth=l[0][0].t.barwidth/100,Qdt(r),evt(t,r),t._id===\"angularaxis\"?Qde(t,r):Qde(t,r,c)}function Qdt(e){var t=e.traces,r,n;for(r=0;r<t.length;r++){var i=t[r],a=i[0],o=a.trace,s=a.t,l=o._offset||o.offset,u=s.poffset,c;if(g_(l)){for(c=Array.prototype.slice.call(l,0,i.length),n=0;n<c.length;n++)O0(c[n])||(c[n]=u);for(n=c.length;n<i.length;n++)c.push(u);s.poffset=c}else l!==void 0&&(s.poffset=l);var f=o._width||o.width,h=s.barwidth;if(g_(f)){var d=Array.prototype.slice.call(f,0,i.length);for(n=0;n<d.length;n++)O0(d[n])||(d[n]=h);for(n=d.length;n<i.length;n++)d.push(h);if(s.barwidth=d,l===void 0){for(c=[],n=0;n<i.length;n++)c.push(u+(h-d[n])/2);s.poffset=c}}else f!==void 0&&(s.barwidth=f,l===void 0&&(s.poffset=u+(h-f)/2))}}function evt(e,t){for(var r=t.traces,n=eT(e),i=0;i<r.length;i++)for(var a=r[i],o=a[0].t,s=o.poffset,l=g_(s),u=o.barwidth,c=g_(u),f=0;f<a.length;f++){var h=a[f],d=h.w=c?u[f]:u;h.p===void 0&&(h.p=h[n],h[\"orig_\"+n]=h[n]);var v=(l?s[f]:s)+d/2;h[n]=h.p+v}}function Qde(e,t,r){var n=t.traces,i=t.minDiff,a=i/2;jM.minDtick(e,t.minDiff,t.distinctPositions[0],r);for(var o=0;o<n.length;o++){var s=n[o],l=s[0],u=l.trace,c=[],f,h,d,v;for(v=0;v<s.length;v++)f=s[v],h=f.p-a,d=f.p+a,c.push(h,d);if(u.width||u.offset){var x=l.t,b=x.poffset,p=x.barwidth,E=g_(b),k=g_(p);for(v=0;v<s.length;v++){f=s[v];var A=E?b[v]:b,L=k?p[v]:p;h=f.p+A,d=h+L,c.push(h,d)}}u._extremes[e._id]=jM.findExtremes(e,c,{padded:!1})}}function eve(e,t){for(var r=t.traces,n=eT(e),i=0;i<r.length;i++){for(var a=r[i],o=a[0].trace,s=o.type===\"scatter\",l=o.orientation===\"v\",u=[],c=!1,f=0;f<a.length;f++){var h=a[f],d=s?0:h.b,v=s?l?h.y:h.x:d+h.s;h[n]=v,u.push(v),h.hasB&&u.push(d),(!h.hasB||!h.b)&&(c=!0)}o._extremes[e._id]=jM.findExtremes(e,u,{tozero:c,padded:!0})}}function tvt(e,t,r){var n=eT(e),i=t.traces,a,o,s,l,u,c,f;for(l=0;l<i.length;l++)if(a=i[l],o=a[0].trace,o.type===\"funnel\")for(f=a[0].t.offsetindex,u=0;u<a.length;u++)c=a[u],c.s!==Q3&&t.put(c.p,f,-.5*c.s);for(l=0;l<i.length;l++){a=i[l],o=a[0].trace,s=o.type===\"funnel\",f=o.type===\"barpolar\"?0:a[0].t.offsetindex;var h=[];for(u=0;u<a.length;u++)if(c=a[u],c.s!==Q3){var d;s?d=c.s:d=c.s+c.b;var v=t.put(c.p,f,d),x=v+d;c.b=v,c[n]=x,r.norm||(h.push(x),c.hasB&&h.push(v))}r.norm||(o._extremes[e._id]=jM.findExtremes(e,h,{tozero:!0,padded:!0}))}}function tve(e){for(var t=e.traces,r=0;r<t.length;r++)for(var n=t[r],i=n[0].t.offsetindex,a=0;a<n.length;a++){var o=n[a];o.s!==Q3&&e.put(o.p,i,o.b+o.s)}}function rvt(e,t){for(var r=e.traces,n=0;n<r.length;n++){var i=r[n],a=i[0].trace,o=i[0].t.offsetindex;if(a.base===void 0)for(var s=new XP([i],{posAxis:t,sepNegVal:!0,overlapNoMerge:!0}),l=0;l<i.length;l++){var u=i[l];if(u.p!==Q3){var c=s.put(u.p,o,u.b+u.s);c&&(u.b=c)}}}}function lU(e,t,r){var n=t.traces,i=eT(e),a=r.norm===\"fraction\"?1:100,o=a/1e9,s=e.l2c(e.c2l(0)),l=r.mode===\"stack\"?a:s;function u(_){return O0(e.c2l(_))&&(_<s-o||_>l+o||!O0(s))}for(var c=0;c<n.length;c++){for(var f=n[c],h=f[0].t.offsetindex,d=f[0].trace,v=[],x=!1,b=!1,p=0;p<f.length;p++){var E=f[p];if(E.s!==Q3){var k=Math.abs(a/t.get(E.p,h,E.s));E.b*=k,E.s*=k;var A=E.b,L=A+E.s;E[i]=L,v.push(L),b=b||u(L),E.hasB&&(v.push(A),b=b||u(A)),(!E.hasB||!E.b)&&(x=!0)}}d._extremes[e._id]=jM.findExtremes(e,v,{tozero:x,padded:b})}}function ivt(e,t,r,n){for(var i=eT(n),a=0;a<e.length;a++)for(var o=e[a],s=0;s<o.length;s++){var l=o[s],u=l[i];l._sMin=t[u],l._sMax=r[u]}}function nvt(e,t){var r=eT(t),n={},i,a,o,s=1/0,l=-1/0;for(i=0;i<e.length;i++)for(o=e[i],a=0;a<o.length;a++){var u=o[a].p;O0(u)&&(s=Math.min(s,u),l=Math.max(l,u))}var c=1e4/(l-s),f=n.round=function(M){return String(Math.round(c*(M-s)))},h={},d={},v=e.some(function(M){var g=M[0].trace;return\"marker\"in g&&g.marker.cornerradius});for(i=0;i<e.length;i++){o=e[i],o[0].t.extents=n;var x=o[0].t.poffset,b=g_(x);for(a=0;a<o.length;a++){var p=o[a],E=p[r]-p.w/2;if(O0(E)){var k=p[r]+p.w/2,A=f(p.p);n[A]?n[A]=[Math.min(E,n[A][0]),Math.max(k,n[A][1])]:n[A]=[E,k]}if(p.p0=p.p+(b?x[a]:x),p.p1=p.p0+p.w,p.s0=p.b,p.s1=p.s0+p.s,v){var L=Math.min(p.s0,p.s1)||0,_=Math.max(p.s0,p.s1)||0,C=p[r];h[C]=C in h?Math.min(h[C],L):L,d[C]=C in d?Math.max(d[C],_):_}}}v&&ivt(e,h,d,t)}function eT(e){return e._id.charAt(0)}rve.exports={crossTraceCalc:Zdt,setGroupPositions:oU}});var ove=ye((znr,ave)=>{\"use strict\";var ive=q0(),nve=Gb().setGroupPositions;function avt(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,a=e._fullData,o=e.calcdata,s=[],l=[],u=0;u<a.length;u++){var c=a[u];c.visible===!0&&c.type===\"scatter\"&&c.xaxis===r._id&&c.yaxis===n._id&&(c.orientation===\"h\"?s.push(o[u]):c.orientation===\"v\"&&l.push(o[u]))}var f={mode:i.scattermode,gap:i.scattergap};nve(e,r,n,l,f),nve(e,n,r,s,f)}ave.exports=function(t,r){t._fullLayout.scattermode===\"group\"&&avt(t,r);var n=r.xaxis,i=r.yaxis,a=n._id+i._id,o=t._fullLayout._scatterStackOpts[a];if(o){var s=t.calcdata,l,u,c,f,h,d,v,x,b,p,E,k,A,L,_;for(var C in o){p=o[C];var M=p.traceIndices;if(M.length){for(E=p.stackgaps===\"interpolate\",k=p.groupnorm,p.orientation===\"v\"?(A=\"x\",L=\"y\"):(A=\"y\",L=\"x\"),_=new Array(M.length),l=0;l<_.length;l++)_[l]=!1;d=s[M[0]];var g=new Array(d.length);for(l=0;l<d.length;l++)g[l]=d[l][A];for(l=1;l<M.length;l++){for(h=s[M[l]],u=c=0;u<h.length;u++){for(v=h[u][A];v>g[c]&&c<g.length;c++)uU(h,u,g[c],l,_,E,A),u++;if(v!==g[c]){for(f=0;f<l;f++)uU(s[M[f]],c,v,f,_,E,A);g.splice(c,0,v)}c++}for(;c<g.length;c++)uU(h,u,g[c],l,_,E,A),u++}var P=g.length;for(u=0;u<d.length;u++){for(x=d[u][L]=d[u].s,l=1;l<M.length;l++)h=s[M[l]],h[0].trace._rawLength=h[0].trace._length,h[0].trace._length=P,x+=h[u].s,h[u][L]=x;if(k)for(b=(k===\"fraction\"?x:x/100)||1,l=0;l<M.length;l++){var T=s[M[l]][u];T[L]/=b,T.sNorm=T.s/b}}for(l=0;l<M.length;l++){h=s[M[l]];var F=h[0].trace,q=ive.calcMarkerSize(F,F._rawLength),V=Array.isArray(q);if(q&&_[l]||V){var H=q;for(q=new Array(P),u=0;u<P;u++)q[u]=h[u].gap?0:V?H[h[u].i]:H}var X=new Array(P),G=new Array(P);for(u=0;u<P;u++)X[u]=h[u].x,G[u]=h[u].y;ive.calcAxisExpansion(t,F,n,i,X,G,q),h[0].t.orientation=p.orientation}}}}};function uU(e,t,r,n,i,a,o){i[n]=!0;var s={i:null,gap:!0,s:0};if(s[o]=r,e.splice(t,0,s),t&&r===e[t-1][o]){var l=e[t-1];s.s=l.s,s.i=l.i,s.gap=l.gap}else a&&(s.s=ovt(e,t,r,o));t||(e[0].t=e[1].t,e[0].trace=e[1].trace,delete e[1].t,delete e[1].trace)}function ovt(e,t,r,n){var i=e[t-1],a=e[t+1];return a?i?i.s+(a.s-i.s)*(r-i[n])/(a[n]-i[n]):a.s:i.s}});var fU=ye((Fnr,hve)=>{\"use strict\";var svt=ao(),cve=es(),WM=cve.BADNUM,fve=cve.LOG_CLIP,sve=fve+.5,lve=fve-.5,YP=Mr(),lvt=YP.segmentsIntersect,uve=YP.constrain,cU=Sm();hve.exports=function(t,r){var n=r.trace||{},i=r.xaxis,a=r.yaxis,o=i.type===\"log\",s=a.type===\"log\",l=i._length,u=a._length,c=r.backoff,f=n.marker,h=r.connectGaps,d=r.baseTolerance,v=r.shape,x=v===\"linear\",b=n.fill&&n.fill!==\"none\",p=[],E=cU.minTolerance,k=t.length,A=new Array(k),L=0,_,C,M,g,P,T,F,q,V,H,X,G,N,W,re,ae;function _e(ut){var Ne=t[ut];if(!Ne)return!1;var Ye=r.linearized?i.l2p(Ne.x):i.c2p(Ne.x),Ve=r.linearized?a.l2p(Ne.y):a.c2p(Ne.y);if(Ye===WM){if(o&&(Ye=i.c2p(Ne.x,!0)),Ye===WM)return!1;s&&Ve===WM&&(Ye*=Math.abs(i._m*u*(i._m>0?sve:lve)/(a._m*l*(a._m>0?sve:lve)))),Ye*=1e3}if(Ve===WM){if(s&&(Ve=a.c2p(Ne.y,!0)),Ve===WM)return!1;Ve*=1e3}return[Ye,Ve]}function Me(ut,Ne,Ye,Ve){var Xe=Ye-ut,ht=Ve-Ne,Le=.5-ut,xe=.5-Ne,Se=Xe*Xe+ht*ht,lt=Xe*Le+ht*xe;if(lt>0&<<Se){var Gt=Le*ht-xe*Xe;if(Gt*Gt<Se)return!0}}var ke,ge;function ie(ut,Ne){var Ye=ut[0]/l,Ve=ut[1]/u,Xe=Math.max(0,-Ye,Ye-1,-Ve,Ve-1);return Xe&&ke!==void 0&&Me(Ye,Ve,ke,ge)&&(Xe=0),Xe&&Ne&&Me(Ye,Ve,Ne[0]/l,Ne[1]/u)&&(Xe=0),(1+cU.toleranceGrowth*Xe)*d}function Te(ut,Ne){var Ye=ut[0]-Ne[0],Ve=ut[1]-Ne[1];return Math.sqrt(Ye*Ye+Ve*Ve)}var Ee=cU.maxScreensAway,Ae=-l*Ee,ze=l*(1+Ee),Ce=-u*Ee,me=u*(1+Ee),Re=[[Ae,Ce,ze,Ce],[ze,Ce,ze,me],[ze,me,Ae,me],[Ae,me,Ae,Ce]],ce,Ge,nt,ct,qt,rt;function ot(ut,Ne){for(var Ye=[],Ve=0,Xe=0;Xe<4;Xe++){var ht=Re[Xe],Le=lvt(ut[0],ut[1],Ne[0],Ne[1],ht[0],ht[1],ht[2],ht[3]);Le&&(!Ve||Math.abs(Le.x-Ye[0][0])>1||Math.abs(Le.y-Ye[0][1])>1)&&(Le=[Le.x,Le.y],Ve&&Te(Le,ut)<Te(Ye[0],ut)?Ye.unshift(Le):Ye.push(Le),Ve++)}return Ye}function Rt(ut){if(ut[0]<Ae||ut[0]>ze||ut[1]<Ce||ut[1]>me)return[uve(ut[0],Ae,ze),uve(ut[1],Ce,me)]}function kt(ut,Ne){if(ut[0]===Ne[0]&&(ut[0]===Ae||ut[0]===ze)||ut[1]===Ne[1]&&(ut[1]===Ce||ut[1]===me))return!0}function Ct(ut,Ne){var Ye=[],Ve=Rt(ut),Xe=Rt(Ne);return Ve&&Xe&&kt(Ve,Xe)||(Ve&&Ye.push(Ve),Xe&&Ye.push(Xe)),Ye}function Yt(ut,Ne,Ye){return function(Ve,Xe){var ht=Rt(Ve),Le=Rt(Xe),xe=[];if(ht&&Le&&kt(ht,Le))return xe;ht&&xe.push(ht),Le&&xe.push(Le);var Se=2*YP.constrain((Ve[ut]+Xe[ut])/2,Ne,Ye)-((ht||Ve)[ut]+(Le||Xe)[ut]);if(Se){var lt;ht&&Le?lt=Se>0==ht[ut]>Le[ut]?ht:Le:lt=ht||Le,lt[ut]+=Se}return xe}}var xr;v===\"linear\"||v===\"spline\"?xr=ot:v===\"hv\"||v===\"vh\"?xr=Ct:v===\"hvh\"?xr=Yt(0,Ae,ze):v===\"vhv\"&&(xr=Yt(1,Ce,me));function er(ut,Ne){var Ye=Ne[0]-ut[0],Ve=(Ne[1]-ut[1])/Ye,Xe=(ut[1]*Ne[0]-Ne[1]*ut[0])/Ye;return Xe>0?[Ve>0?Ae:ze,me]:[Ve>0?ze:Ae,Ce]}function Ke(ut){var Ne=ut[0],Ye=ut[1],Ve=Ne===A[L-1][0],Xe=Ye===A[L-1][1];if(!(Ve&&Xe))if(L>1){var ht=Ne===A[L-2][0],Le=Ye===A[L-2][1];Ve&&(Ne===Ae||Ne===ze)&&ht?Le?L--:A[L-1]=ut:Xe&&(Ye===Ce||Ye===me)&&Le?ht?L--:A[L-1]=ut:A[L++]=ut}else A[L++]=ut}function xt(ut){A[L-1][0]!==ut[0]&&A[L-1][1]!==ut[1]&&Ke([nt,ct]),Ke(ut),qt=null,nt=ct=0}var bt=YP.isArrayOrTypedArray(f);function Lt(ut){if(ut&&c&&(ut.i=_,ut.d=t,ut.trace=n,ut.marker=bt?f[ut.i]:f,ut.backoff=c),ke=ut[0]/l,ge=ut[1]/u,ce=ut[0]<Ae?Ae:ut[0]>ze?ze:0,Ge=ut[1]<Ce?Ce:ut[1]>me?me:0,ce||Ge){if(!L)A[L++]=[ce||ut[0],Ge||ut[1]];else if(qt){var Ne=xr(qt,ut);Ne.length>1&&(xt(Ne[0]),A[L++]=Ne[1])}else rt=xr(A[L-1],ut)[0],A[L++]=rt;var Ye=A[L-1];ce&&Ge&&(Ye[0]!==ce||Ye[1]!==Ge)?(qt&&(nt!==ce&&ct!==Ge?Ke(nt&&ct?er(qt,ut):[nt||ce,ct||Ge]):nt&&ct&&Ke([nt,ct])),Ke([ce,Ge])):nt-ce&&ct-Ge&&Ke([ce||nt,Ge||ct]),qt=ut,nt=ce,ct=Ge}else qt&&xt(xr(qt,ut)[0]),A[L++]=ut}for(_=0;_<k;_++)if(C=_e(_),!!C){for(L=0,qt=null,Lt(C),_++;_<k;_++){if(g=_e(_),!g){if(h)continue;break}if(!x||!r.simplify){Lt(g);continue}var St=_e(_+1);if(H=Te(g,C),!(!(b&&(L===0||L===k-1))&&H<ie(g,St)*E)){for(q=[(g[0]-C[0])/H,(g[1]-C[1])/H],P=C,X=H,G=W=re=0,F=!1,M=g,_++;_<t.length;_++){if(T=St,St=_e(_+1),!T){if(h)continue;break}if(V=[T[0]-C[0],T[1]-C[1]],ae=V[0]*q[1]-V[1]*q[0],W=Math.min(W,ae),re=Math.max(re,ae),re-W>ie(T,St))break;M=T,N=V[0]*q[0]+V[1]*q[1],N>X?(X=N,g=T,F=!1):N<G&&(G=N,P=T,F=!0)}if(F?(Lt(g),M!==P&&Lt(P)):(P!==C&&Lt(P),M!==g&&Lt(g)),Lt(M),_>=t.length||!T)break;Lt(T),C=T}}qt&&Ke([nt||qt[0],ct||qt[1]]),p.push(A.slice(0,L))}var Et=v.slice(v.length-1);if(c&&Et!==\"h\"&&Et!==\"v\"){for(var dt=!1,Ht=-1,$t=[],fr=0;fr<p.length;fr++)for(var _r=0;_r<p[fr].length-1;_r++){var Br=p[fr][_r],Or=p[fr][_r+1],Nr=svt.applyBackoff(Or,Br);(Nr[0]!==Or[0]||Nr[1]!==Or[1])&&(dt=!0),$t[Ht+1]||(Ht++,$t[Ht]=[Br,[Nr[0],Nr[1]]])}return dt?$t:p}return p}});var hU=ye((qnr,vve)=>{\"use strict\";var dve={tonextx:1,tonexty:1,tonext:1};vve.exports=function(t,r,n){var i,a,o,s,l,u={},c=!1,f=-1,h=0,d=-1;for(a=0;a<n.length;a++)i=n[a][0].trace,o=i.stackgroup||\"\",o?o in u?l=u[o]:(l=u[o]=h,h++):i.fill in dve&&d>=0?l=d:(l=d=h,h++),l<f&&(c=!0),i._groupIndex=f=l;var v=n.slice();c&&v.sort(function(b,p){var E=b[0].trace,k=p[0].trace;return E._groupIndex-k._groupIndex||E.index-k.index});var x={};for(a=0;a<v.length;a++)i=v[a][0].trace,o=i.stackgroup||\"\",i.visible===!0?(i._nexttrace=null,i.fill in dve&&(s=x[o],i._prevtrace=s||null,s&&(s._nexttrace=i)),i._ownfill=i.fill&&(i.fill.substr(0,6)===\"tozero\"||i.fill===\"toself\"||i.fill.substr(0,2)===\"to\"&&!i._prevtrace),x[o]=i):i._prevtrace=i._nexttrace=i._ownfill=null;return v}});var iT=ye((Onr,mve)=>{\"use strict\";var Dg=xa(),uvt=ba(),ZM=Mr(),tT=ZM.ensureSingle,gve=ZM.identity,zf=ao(),rT=lu(),cvt=fU(),fvt=hU(),KP=wM().tester;mve.exports=function(t,r,n,i,a,o){var s,l,u=!a,c=!!a&&a.duration>0,f=fvt(t,r,n);if(s=i.selectAll(\"g.trace\").data(f,function(d){return d[0].trace.uid}),s.enter().append(\"g\").attr(\"class\",function(d){return\"trace scatter trace\"+d[0].trace.uid}).style(\"stroke-miterlimit\",2),s.order(),hvt(t,s,r),c){o&&(l=o());var h=Dg.transition().duration(a.duration).ease(a.easing).each(\"end\",function(){l&&l()}).each(\"interrupt\",function(){l&&l()});h.each(function(){i.selectAll(\"g.trace\").each(function(d,v){pve(t,v,r,d,f,this,a)})})}else s.each(function(d,v){pve(t,v,r,d,f,this,a)});u&&s.exit().remove(),i.selectAll(\"path:not([d])\").remove()};function hvt(e,t,r){t.each(function(n){var i=tT(Dg.select(this),\"g\",\"fills\");zf.setClipUrl(i,r.layerClipId,e);var a=n[0].trace,o=[];a._ownfill&&o.push(\"_ownFill\"),a._nexttrace&&o.push(\"_nextFill\");var s=i.selectAll(\"g\").data(o,gve);s.enter().append(\"g\"),s.exit().each(function(l){a[l]=null}).remove(),s.order().each(function(l){a[l]=tT(Dg.select(this),\"path\",\"js-fill\")})})}function pve(e,t,r,n,i,a,o){var s=e._context.staticPlot,l;dvt(e,t,r,n,i);var u=!!o&&o.duration>0;function c(Yt){return u?Yt.transition():Yt}var f=r.xaxis,h=r.yaxis,d=n[0].trace,v=d.line,x=Dg.select(a),b=tT(x,\"g\",\"errorbars\"),p=tT(x,\"g\",\"lines\"),E=tT(x,\"g\",\"points\"),k=tT(x,\"g\",\"text\");if(uvt.getComponentMethod(\"errorbars\",\"plot\")(e,b,r,o),d.visible!==!0)return;c(x).style(\"opacity\",d.opacity);var A,L,_=d.fill.charAt(d.fill.length-1);_!==\"x\"&&_!==\"y\"&&(_=\"\");var C,M;_===\"y\"?(C=1,M=h.c2p(0,!0)):_===\"x\"&&(C=0,M=f.c2p(0,!0)),n[0][r.isRangePlot?\"nodeRangePlot3\":\"node3\"]=x;var g=\"\",P=[],T=d._prevtrace,F=null,q=null;T&&(g=T._prevRevpath||\"\",L=T._nextFill,P=T._ownPolygons,F=T._fillsegments,q=T._fillElement);var V,H,X=\"\",G=\"\",N,W,re,ae,_e,Me,ke=[];d._polygons=[];var ge=[],ie=[],Te=ZM.noop;if(A=d._ownFill,rT.hasLines(d)||d.fill!==\"none\"){L&&L.datum(n),[\"hv\",\"vh\",\"hvh\",\"vhv\"].indexOf(v.shape)!==-1?(N=zf.steps(v.shape),W=zf.steps(v.shape.split(\"\").reverse().join(\"\"))):v.shape===\"spline\"?N=W=function(Yt){var xr=Yt[Yt.length-1];return Yt.length>1&&Yt[0][0]===xr[0]&&Yt[0][1]===xr[1]?zf.smoothclosed(Yt.slice(1),v.smoothing):zf.smoothopen(Yt,v.smoothing)}:N=W=function(Yt){return\"M\"+Yt.join(\"L\")},re=function(Yt){return W(Yt.reverse())},ie=cvt(n,{xaxis:f,yaxis:h,trace:d,connectGaps:d.connectgaps,baseTolerance:Math.max(v.width||1,3)/4,shape:v.shape,backoff:v.backoff,simplify:v.simplify,fill:d.fill}),ge=new Array(ie.length);var Ee=0;for(l=0;l<ie.length;l++){var Ae,ze=ie[l];!Ae||!_?(Ae=ze.slice(),ge[Ee]=Ae,Ee++):Ae.push.apply(Ae,ze)}d._fillElement=null,d._fillExclusionElement=q,d._fillsegments=ge.slice(0,Ee),ge=d._fillsegments,ie.length&&(ae=ie[0][0].slice(),_e=ie[ie.length-1],Me=_e[_e.length-1].slice()),Te=function(Yt){return function(xr){if(V=N(xr),H=re(xr),X?_?(X+=\"L\"+V.substr(1),G=H+(\"L\"+G.substr(1))):(X+=\"Z\"+V,G=H+\"Z\"+G):(X=V,G=H),rT.hasLines(d)){var er=Dg.select(this);if(er.datum(n),Yt)c(er.style(\"opacity\",0).attr(\"d\",V).call(zf.lineGroupStyle)).style(\"opacity\",1);else{var Ke=c(er);Ke.attr(\"d\",V),zf.singleLineStyle(n,Ke)}}}}}var Ce=p.selectAll(\".js-line\").data(ie);c(Ce.exit()).style(\"opacity\",0).remove(),Ce.each(Te(!1)),Ce.enter().append(\"path\").classed(\"js-line\",!0).style(\"vector-effect\",s?\"none\":\"non-scaling-stroke\").call(zf.lineGroupStyle).each(Te(!0)),zf.setClipUrl(Ce,r.layerClipId,e);function me(Yt){c(Yt).attr(\"d\",\"M0,0Z\")}var Re=function(){var Yt=new Array(ge.length);for(l=0;l<ge.length;l++)Yt[l]=KP(ge[l]);return Yt},ce=function(Yt){var xr,er;if(!Yt||Yt.length===0)for(xr=new Array(ge.length),er=0;er<ge.length;er++){var Ke=ge[er][0].slice(),xt=ge[er][ge[er].length-1].slice();Ke[C]=xt[C]=M;var bt=[xt,Ke],Lt=bt.concat(ge[er]);xr[er]=KP(Lt)}else{for(xr=new Array(Yt.length-1+ge.length),er=0;er<Yt.length-1;er++)xr[er]=KP(Yt[er]);var St=Yt[Yt.length-1].slice();for(St.reverse(),er=0;er<ge.length;er++)xr[Yt.length-1+er]=KP(ge[er].concat(St))}return xr};ie.length?(A?(A.datum(n),ae&&Me&&(_?(ae[C]=Me[C]=M,c(A).attr(\"d\",\"M\"+Me+\"L\"+ae+\"L\"+X.substr(1)).call(zf.singleFillStyle,e),ke=ce(null)):(c(A).attr(\"d\",X+\"Z\").call(zf.singleFillStyle,e),ke=Re())),d._polygons=ke,d._fillElement=A):L&&(d.fill.substr(0,6)===\"tonext\"&&X&&g?(d.fill===\"tonext\"?(c(L).attr(\"d\",X+\"Z\"+g+\"Z\").call(zf.singleFillStyle,e),ke=Re(),d._polygons=ke.concat(P)):(c(L).attr(\"d\",X+\"L\"+g.substr(1)+\"Z\").call(zf.singleFillStyle,e),ke=ce(F),d._polygons=ke),d._fillElement=L):me(L)),d._prevRevpath=G):(A?me(A):L&&me(L),d._prevRevpath=null),d._ownPolygons=ke;function Ge(Yt){return Yt.filter(function(xr){return!xr.gap&&xr.vis})}function nt(Yt){return Yt.filter(function(xr){return xr.vis})}function ct(Yt){return Yt.filter(function(xr){return!xr.gap})}function qt(Yt){return Yt.id}function rt(Yt){if(Yt.ids)return qt}function ot(){return!1}function Rt(Yt,xr,er){var Ke,xt,bt,Lt=er[0].trace,St=rT.hasMarkers(Lt),Et=rT.hasText(Lt),dt=rt(Lt),Ht=ot,$t=ot;if(St||Et){var fr=gve,_r=Lt.stackgroup,Br=_r&&e._fullLayout._scatterStackOpts[f._id+h._id][_r].stackgaps===\"infer zero\";Lt.marker.maxdisplayed||Lt._needsCull?fr=Br?nt:Ge:_r&&!Br&&(fr=ct),St&&(Ht=fr),Et&&($t=fr)}xt=Yt.selectAll(\"path.point\"),Ke=xt.data(Ht,dt);var Or=Ke.enter().append(\"path\").classed(\"point\",!0);u&&Or.call(zf.pointStyle,Lt,e).call(zf.translatePoints,f,h).style(\"opacity\",0).transition().style(\"opacity\",1),Ke.order();var Nr;St&&(Nr=zf.makePointStyleFns(Lt)),Ke.each(function(ut){var Ne=Dg.select(this),Ye=c(Ne);bt=zf.translatePoint(ut,Ye,f,h),bt?(zf.singlePointStyle(ut,Ye,Lt,Nr,e),r.layerClipId&&zf.hideOutsideRangePoint(ut,Ye,f,h,Lt.xcalendar,Lt.ycalendar),Lt.customdata&&Ne.classed(\"plotly-customdata\",ut.data!==null&&ut.data!==void 0)):Ye.remove()}),u?Ke.exit().transition().style(\"opacity\",0).remove():Ke.exit().remove(),xt=xr.selectAll(\"g\"),Ke=xt.data($t,dt),Ke.enter().append(\"g\").classed(\"textpoint\",!0).append(\"text\"),Ke.order(),Ke.each(function(ut){var Ne=Dg.select(this),Ye=c(Ne.select(\"text\"));bt=zf.translatePoint(ut,Ye,f,h),bt?r.layerClipId&&zf.hideOutsideRangePoint(ut,Ne,f,h,Lt.xcalendar,Lt.ycalendar):Ne.remove()}),Ke.selectAll(\"text\").call(zf.textPointStyle,Lt,e).each(function(ut){var Ne=f.c2p(ut.x),Ye=h.c2p(ut.y);Dg.select(this).selectAll(\"tspan.line\").each(function(){c(Dg.select(this)).attr({x:Ne,y:Ye})})}),Ke.exit().remove()}E.datum(n),k.datum(n),Rt(E,k,n);var kt=d.cliponaxis===!1,Ct=kt?null:r.layerClipId;zf.setClipUrl(E,Ct,e),zf.setClipUrl(k,Ct,e)}function dvt(e,t,r,n,i){var a=r.xaxis,o=r.yaxis,s=Dg.extent(ZM.simpleMap(a.range,a.r2c)),l=Dg.extent(ZM.simpleMap(o.range,o.r2c)),u=n[0].trace;if(rT.hasMarkers(u)){var c=u.marker.maxdisplayed;if(c!==0){var f=n.filter(function(x){return x.x>=s[0]&&x.x<=s[1]&&x.y>=l[0]&&x.y<=l[1]}),h=Math.ceil(f.length/c),d=0;i.forEach(function(x,b){var p=x[0].trace;rT.hasMarkers(p)&&p.marker.maxdisplayed>0&&b<t&&d++});var v=Math.round(d*h/3+Math.floor(d/3)*h/7.1);n.forEach(function(x){delete x.vis}),f.forEach(function(x,b){Math.round((b+v)%h)===0&&(x.vis=!0)})}}}});var Kd=ye((Bnr,yve)=>{\"use strict\";yve.exports={container:\"marker\",min:\"cmin\",max:\"cmax\"}});var $P=ye((Nnr,_ve)=>{\"use strict\";var JP=Qa();_ve.exports=function(t,r,n){var i={},a={_fullLayout:n},o=JP.getFromTrace(a,r,\"x\"),s=JP.getFromTrace(a,r,\"y\"),l=t.orig_x;l===void 0&&(l=t.x);var u=t.orig_y;return u===void 0&&(u=t.y),i.xLabel=JP.tickText(o,o.c2l(l),!0).text,i.yLabel=JP.tickText(s,s.c2l(u),!0).text,i}});var op=ye((Unr,xve)=>{\"use strict\";var dU=xa(),nT=ao(),vvt=ba();function pvt(e){var t=dU.select(e).selectAll(\"g.trace.scatter\");t.style(\"opacity\",function(r){return r[0].trace.opacity}),t.selectAll(\"g.points\").each(function(r){var n=dU.select(this),i=r.trace||r[0].trace;vU(n,i,e)}),t.selectAll(\"g.text\").each(function(r){var n=dU.select(this),i=r.trace||r[0].trace;pU(n,i,e)}),t.selectAll(\"g.trace path.js-line\").call(nT.lineGroupStyle),t.selectAll(\"g.trace path.js-fill\").call(nT.fillGroupStyle,e,!1),vvt.getComponentMethod(\"errorbars\",\"style\")(t)}function vU(e,t,r){nT.pointStyle(e.selectAll(\"path.point\"),t,r)}function pU(e,t,r){nT.textPointStyle(e.selectAll(\"text\"),t,r)}function gvt(e,t,r){var n=t[0].trace;n.selectedpoints?(nT.selectedPointStyle(r.selectAll(\"path.point\"),n),nT.selectedTextStyle(r.selectAll(\"text\"),n)):(vU(r,n,e),pU(r,n,e))}xve.exports={style:pvt,stylePoints:vU,styleText:pU,styleOnSelect:gvt}});var oT=ye((Vnr,bve)=>{\"use strict\";var aT=va(),mvt=lu();bve.exports=function(t,r){var n,i;if(t.mode===\"lines\")return n=t.line.color,n&&aT.opacity(n)?n:t.fillcolor;if(t.mode===\"none\")return t.fill?t.fillcolor:\"\";var a=r.mcc||(t.marker||{}).color,o=r.mlcc||((t.marker||{}).line||{}).color;return i=a&&aT.opacity(a)?a:o&&aT.opacity(o)&&(r.mlw||((t.marker||{}).line||{}).width)?o:\"\",i?aT.opacity(i)<.3?aT.addOpacity(i,.3):i:(n=(t.line||{}).color,n&&aT.opacity(n)&&mvt.hasLines(t)&&t.line.width?n:t.fillcolor)}});var sT=ye((Hnr,Tve)=>{\"use strict\";var QP=Mr(),wve=Nc(),yvt=ba(),_vt=oT(),gU=va(),xvt=QP.fillText;Tve.exports=function(t,r,n,i){var a=t.cd,o=a[0].trace,s=t.xa,l=t.ya,u=s.c2p(r),c=l.c2p(n),f=[u,c],h=o.hoveron||\"\",d=o.mode.indexOf(\"markers\")!==-1?3:.5,v=!!o.xperiodalignment,x=!!o.yperiodalignment;if(h.indexOf(\"points\")!==-1){var b=function(G){if(v){var N=s.c2p(G.xStart),W=s.c2p(G.xEnd);return u>=Math.min(N,W)&&u<=Math.max(N,W)?0:1/0}var re=Math.max(3,G.mrc||0),ae=1-1/re,_e=Math.abs(s.c2p(G.x)-u);return _e<re?ae*_e/re:_e-re+ae},p=function(G){if(x){var N=l.c2p(G.yStart),W=l.c2p(G.yEnd);return c>=Math.min(N,W)&&c<=Math.max(N,W)?0:1/0}var re=Math.max(3,G.mrc||0),ae=1-1/re,_e=Math.abs(l.c2p(G.y)-c);return _e<re?ae*_e/re:_e-re+ae},E=function(G){var N=Math.max(d,G.mrc||0),W=s.c2p(G.x)-u,re=l.c2p(G.y)-c;return Math.max(Math.sqrt(W*W+re*re)-N,1-d/N)},k=wve.getDistanceFunction(i,b,p,E);if(wve.getClosest(a,k,t),t.index!==!1){var A=a[t.index],L=s.c2p(A.x,!0),_=l.c2p(A.y,!0),C=A.mrc||1;t.index=A.i;var M=a[0].t.orientation,g=M&&(A.sNorm||A.s),P=M===\"h\"?g:A.orig_x!==void 0?A.orig_x:A.x,T=M===\"v\"?g:A.orig_y!==void 0?A.orig_y:A.y;return QP.extendFlat(t,{color:_vt(o,A),x0:L-C,x1:L+C,xLabelVal:P,y0:_-C,y1:_+C,yLabelVal:T,spikeDistance:E(A),hovertemplate:o.hovertemplate}),xvt(A,o,t),yvt.getComponentMethod(\"errorbars\",\"hoverInfo\")(A,o,t),[t]}}function F(G){if(!G)return!1;var N=G.node();try{var W=new DOMPoint(f[0],f[1]);return N.isPointInFill(W)}catch(ae){var re=N.ownerSVGElement.createSVGPoint();return re.x=f[0],re.y=f[1],N.isPointInFill(re)}}function q(G){var N,W=[],re=1/0,ae=-1/0,_e=1/0,Me=-1/0,ke;for(N=0;N<G.length;N++){var ge=G[N];ge.contains(f)&&(W.push(ge),_e=Math.min(_e,ge.ymin),Me=Math.max(Me,ge.ymax))}if(W.length===0)return null;_e=Math.max(_e,0),Me=Math.min(Me,l._length),ke=(_e+Me)/2;var ie,Te,Ee,Ae,ze,Ce,me;for(N=0;N<W.length;N++)for(Te=W[N].pts,ie=1;ie<Te.length;ie++)Ce=Te[ie-1][1],me=Te[ie][1],Ce>ke!=me>=ke&&(Ae=Te[ie-1][0],ze=Te[ie][0],me-Ce&&(Ee=Ae+(ze-Ae)*(ke-Ce)/(me-Ce),re=Math.min(re,Ee),ae=Math.max(ae,Ee)));return re=Math.max(re,0),ae=Math.min(ae,s._length),{x0:re,x1:ae,y0:ke,y1:ke}}if(h.indexOf(\"fills\")!==-1&&o._fillElement){var V=F(o._fillElement)&&!F(o._fillExclusionElement);if(V){var H=q(o._polygons);H===null&&(H={x0:f[0],x1:f[0],y0:f[1],y1:f[1]});var X=gU.defaultLine;return gU.opacity(o.fillcolor)?X=o.fillcolor:gU.opacity((o.line||{}).color)&&(X=o.line.color),QP.extendFlat(t,{distance:t.maxHoverDistance,x0:H.x0,x1:H.x1,y0:H.y0,y1:H.y1,color:X,hovertemplate:!1}),delete t.index,o.text&&!QP.isArrayOrTypedArray(o.text)?t.text=String(o.text):t.text=o.name,[t]}}}});var lT=ye((Gnr,Sve)=>{\"use strict\";var Ave=lu();Sve.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l,u,c,f,h=!Ave.hasMarkers(s)&&!Ave.hasText(s);if(h)return[];if(r===!1)for(l=0;l<n.length;l++)n[l].selected=0;else for(l=0;l<n.length;l++)u=n[l],c=i.c2p(u.x),f=a.c2p(u.y),u.i!==null&&r.contains([c,f],!1,l,t)?(o.push({pointNumber:u.i,x:i.c2d(u.x),y:a.c2d(u.y)}),u.selected=1):u.selected=0;return o}});var Eve=ye((jnr,Mve)=>{\"use strict\";Mve.exports={xaxis:{valType:\"subplotid\",dflt:\"x\",editType:\"calc+clearAxisTypes\"},yaxis:{valType:\"subplotid\",dflt:\"y\",editType:\"calc+clearAxisTypes\"}}});var yU=ye((Wnr,Lve)=>{\"use strict\";var XM=ba().traceIs,mU=L3();Lve.exports=function(t,r,n,i){n(\"autotypenumbers\",i.autotypenumbersDflt);var a=n(\"type\",(i.splomStash||{}).type);a===\"-\"&&(bvt(r,i.data),r.type===\"-\"?r.type=\"linear\":t.type=r.type)};function bvt(e,t){if(e.type===\"-\"){var r=e._id,n=r.charAt(0),i;r.indexOf(\"scene\")!==-1&&(r=n);var a=wvt(t,r,n);if(a){if(a.type===\"histogram\"&&n==={v:\"y\",h:\"x\"}[a.orientation||\"v\"]){e.type=\"linear\";return}var o=n+\"calendar\",s=a[o],l={noMultiCategory:!XM(a,\"cartesian\")||XM(a,\"noMultiCategory\")};if(a.type===\"box\"&&a._hasPreCompStats&&n==={h:\"x\",v:\"y\"}[a.orientation||\"v\"]&&(l.noMultiCategory=!0),l.autotypenumbers=e.autotypenumbers,Cve(a,n)){var u=kve(a),c=[];for(i=0;i<t.length;i++){var f=t[i];!XM(f,\"box-violin\")||(f[n+\"axis\"]||n)!==r||(f[u]!==void 0?c.push(f[u][0]):f.name!==void 0?c.push(f.name):c.push(\"text\"),f[o]!==s&&(s=void 0))}e.type=mU(c,s,l)}else if(a.type===\"splom\"){var h=a.dimensions,d=h[a._axesDim[r]];d.visible&&(e.type=mU(d.values,s,l))}else e.type=mU(a[n]||[a[n+\"0\"]],s,l)}}}function wvt(e,t,r){for(var n=0;n<e.length;n++){var i=e[n];if(i.type===\"splom\"&&i._length>0&&(i[\"_\"+r+\"axes\"]||{})[t])return i;if((i[r+\"axis\"]||r)===t){if(Cve(i,r))return i;if((i[r]||[]).length||i[r+\"0\"])return i}}}function kve(e){return{v:\"x\",h:\"y\"}[e.orientation||\"v\"]}function Cve(e,t){var r=kve(e),n=XM(e,\"box-violin\"),i=XM(e._fullInput||{},\"candlestick\");return n&&!i&&t===r&&e[r]===void 0&&e[r+\"0\"]===void 0}});var eI=ye((Znr,Pve)=>{\"use strict\";var Tvt=vv().isTypedArraySpec;function Avt(e,t){var r=t.dataAttr||e._id.charAt(0),n={},i,a,o;if(t.axData)i=t.axData;else for(i=[],a=0;a<t.data.length;a++){var s=t.data[a];s[r+\"axis\"]===e._id&&i.push(s)}for(a=0;a<i.length;a++){var l=i[a][r];for(o=0;o<l.length;o++){var u=l[o];u!=null&&(n[u]=1)}}return Object.keys(n)}Pve.exports=function(t,r,n,i){if(r.type===\"category\"){var a=t.categoryarray,o=Array.isArray(a)&&a.length>0||Tvt(a),s;o&&(s=\"array\");var l=n(\"categoryorder\",s),u;l===\"array\"&&(u=n(\"categoryarray\")),!o&&l===\"array\"&&(l=r.categoryorder=\"trace\"),l===\"trace\"?r._initialCategories=[]:l===\"array\"?r._initialCategories=u.slice():(u=Avt(r,i).sort(),l===\"category ascending\"?r._initialCategories=u:l===\"category descending\"&&(r._initialCategories=u.reverse()))}}});var YM=ye((Xnr,Rve)=>{\"use strict\";var Ive=id().mix,Svt=dh(),Mvt=Mr();Rve.exports=function(t,r,n,i){i=i||{};var a=i.dfltColor;function o(C,M){return Mvt.coerce2(t,r,i.attributes,C,M)}var s=o(\"linecolor\",a),l=o(\"linewidth\"),u=n(\"showline\",i.showLine||!!s||!!l);u||(delete r.linecolor,delete r.linewidth);var c=Ive(a,i.bgColor,i.blend||Svt.lightFraction).toRgbString(),f=o(\"gridcolor\",c),h=o(\"gridwidth\"),d=o(\"griddash\"),v=n(\"showgrid\",i.showGrid||!!f||!!h||!!d);if(v||(delete r.gridcolor,delete r.gridwidth,delete r.griddash),i.hasMinor){var x=Ive(r.gridcolor,i.bgColor,67).toRgbString(),b=o(\"minor.gridcolor\",x),p=o(\"minor.gridwidth\",r.gridwidth||1),E=o(\"minor.griddash\",r.griddash||\"solid\"),k=n(\"minor.showgrid\",!!b||!!p||!!E);k||(delete r.minor.gridcolor,delete r.minor.gridwidth,delete r.minor.griddash)}if(!i.noZeroLine){var A=o(\"zerolinecolor\",a),L=o(\"zerolinewidth\"),_=n(\"zeroline\",i.showGrid||!!A||!!L);_||(delete r.zerolinecolor,delete r.zerolinewidth)}}});var JM=ye((Ynr,Bve)=>{\"use strict\";var Dve=uo(),Evt=ba(),KM=Mr(),kvt=Vs(),Cvt=Zd(),_U=Cd(),zve=xb(),Fve=T3(),Lvt=t_(),Pvt=r_(),Ivt=eI(),Rvt=YM(),Dvt=dB(),qve=ym(),tI=ad().WEEKDAY_PATTERN,zvt=ad().HOUR_PATTERN;Bve.exports=function(t,r,n,i,a){var o=i.letter,s=i.font||{},l=i.splomStash||{},u=n(\"visible\",!i.visibleDflt),c=r._template||{},f=r.type||c.type||\"-\",h;if(f===\"date\"){var d=Evt.getComponentMethod(\"calendars\",\"handleDefaults\");d(t,r,\"calendar\",i.calendar),i.noTicklabelmode||(h=n(\"ticklabelmode\"))}!i.noTicklabelindex&&(f===\"date\"||f===\"linear\")&&n(\"ticklabelindex\");var v=\"\";(!i.noTicklabelposition||f===\"multicategory\")&&(v=KM.coerce(t,r,{ticklabelposition:{valType:\"enumerated\",dflt:\"outside\",values:h===\"period\"?[\"outside\",\"inside\"]:o===\"x\"?[\"outside\",\"inside\",\"outside left\",\"inside left\",\"outside right\",\"inside right\"]:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside bottom\",\"inside bottom\"]}},\"ticklabelposition\")),i.noTicklabeloverflow||n(\"ticklabeloverflow\",v.indexOf(\"inside\")!==-1?\"hide past domain\":f===\"category\"||f===\"multicategory\"?\"allow\":\"hide past div\"),qve(r,a),Dvt(t,r,n,i),Ivt(t,r,n,i),f!==\"category\"&&!i.noHover&&n(\"hoverformat\");var x=n(\"color\"),b=x!==_U.color.dflt?x:s.color,p=l.label||a._dfltTitle[o];if(Pvt(t,r,n,f,i),!u)return r;n(\"title.text\",p),KM.coerceFont(n,\"title.font\",s,{overrideDflt:{size:KM.bigFont(s.size),color:b}}),zve(t,r,n,f);var E=i.hasMinor;if(E&&(kvt.newContainer(r,\"minor\"),zve(t,r,n,f,{isMinor:!0})),Lvt(t,r,n,f,i),Fve(t,r,n,i),E){var k=i.isMinor;i.isMinor=!0,Fve(t,r,n,i),i.isMinor=k}Rvt(t,r,n,{dfltColor:x,bgColor:i.bgColor,showGrid:i.showGrid,hasMinor:E,attributes:_U}),E&&!r.minor.ticks&&!r.minor.showgrid&&delete r.minor,(r.showline||r.ticks)&&n(\"mirror\");var A=f===\"multicategory\";if(!i.noTickson&&(f===\"category\"||A)&&(r.ticks||r.showgrid)){var L;A&&(L=\"boundaries\");var _=n(\"tickson\",L);_===\"boundaries\"&&delete r.ticklabelposition}if(A){var C=n(\"showdividers\");C&&(n(\"dividercolor\"),n(\"dividerwidth\"))}if(f===\"date\")if(Cvt(t,r,{name:\"rangebreaks\",inclusionAttr:\"enabled\",handleItemDefaults:Fvt}),!r.rangebreaks.length)delete r.rangebreaks;else{for(var M=0;M<r.rangebreaks.length;M++)if(r.rangebreaks[M].pattern===tI){r._hasDayOfWeekBreaks=!0;break}if(qve(r,a),a._has(\"scattergl\")||a._has(\"splom\"))for(var g=0;g<i.data.length;g++){var P=i.data[g];(P.type===\"scattergl\"||P.type===\"splom\")&&(P.visible=!1,KM.warn(P.type+\" traces do not work on axes with rangebreaks. Setting trace \"+P.index+\" to `visible: false`.\"))}}return r};function Fvt(e,t,r){function n(h,d){return KM.coerce(e,t,_U.rangebreaks,h,d)}var i=n(\"enabled\");if(i){var a=n(\"bounds\");if(a&&a.length>=2){var o=\"\",s,l;if(a.length===2){for(s=0;s<2;s++)if(l=Ove(a[s]),l){o=tI;break}}var u=n(\"pattern\",o);if(u===tI)for(s=0;s<2;s++)l=Ove(a[s]),l&&(t.bounds[s]=a[s]=l-1);if(u)for(s=0;s<2;s++)switch(l=a[s],u){case tI:if(!Dve(l)){t.enabled=!1;return}if(l=+l,l!==Math.floor(l)||l<0||l>=7){t.enabled=!1;return}t.bounds[s]=a[s]=l;break;case zvt:if(!Dve(l)){t.enabled=!1;return}if(l=+l,l<0||l>24){t.enabled=!1;return}t.bounds[s]=a[s]=l;break}if(r.autorange===!1){var c=r.range;if(c[0]<c[1]){if(a[0]<c[0]&&a[1]>c[1]){t.enabled=!1;return}}else if(a[0]>c[0]&&a[1]<c[1]){t.enabled=!1;return}}}else{var f=n(\"values\");if(f&&f.length)n(\"dvalue\");else{t.enabled=!1;return}}}}var qvt={sun:1,mon:2,tue:3,wed:4,thu:5,fri:6,sat:7};function Ove(e){if(typeof e==\"string\")return qvt[e.substr(0,3).toLowerCase()]}});var iI=ye((Knr,Nve)=>{\"use strict\";var Ovt=uo(),rI=Mr();Nve.exports=function(t,r,n,i){var a=i.counterAxes||[],o=i.overlayableAxes||[],s=i.letter,l=i.grid,u=i.overlayingDomain,c,f,h,d,v,x;l&&(f=l._domains[s][l._axisMap[r._id]],c=l._anchors[r._id],f&&(h=l[s+\"side\"].split(\" \")[0],d=l.domain[s][h===\"right\"||h===\"top\"?1:0])),f=f||[0,1],c=c||(Ovt(t.position)?\"free\":a[0]||\"free\"),h=h||(s===\"x\"?\"bottom\":\"left\"),d=d||0,v=0,x=!1;var b=rI.coerce(t,r,{anchor:{valType:\"enumerated\",values:[\"free\"].concat(a),dflt:c}},\"anchor\"),p=rI.coerce(t,r,{side:{valType:\"enumerated\",values:s===\"x\"?[\"bottom\",\"top\"]:[\"left\",\"right\"],dflt:h}},\"side\");if(b===\"free\"){if(s===\"y\"){var E=n(\"autoshift\");E&&(d=p===\"left\"?u[0]:u[1],x=r.automargin?r.automargin:!0,v=p===\"left\"?-3:3),n(\"shift\",v)}n(\"position\",d)}n(\"automargin\",x);var k=!1;if(o.length&&(k=rI.coerce(t,r,{overlaying:{valType:\"enumerated\",values:[!1].concat(o),dflt:!1}},\"overlaying\")),!k){var A=n(\"domain\",f);A[0]>A[1]-1/4096&&(r.domain=f),rI.noneOrAll(t.domain,r.domain,f),r.tickmode===\"sync\"&&(r.tickmode=\"auto\")}return n(\"layer\"),r}});var Yve=ye((Jnr,Xve)=>{\"use strict\";var jb=Mr(),Uve=va(),Bvt=rp().isUnifiedHover,Nvt=OB(),Vve=Vs(),Uvt=s3(),Hve=Cd(),Vvt=yU(),Gve=JM(),Hvt=Bb(),jve=iI(),bU=af(),Cm=bU.id2name,Wve=bU.name2id,Gvt=ad().AX_ID_PATTERN,Zve=ba(),nI=Zve.traceIs,xU=Zve.getComponentMethod;function aI(e,t,r){Array.isArray(e[t])?e[t].push(r):e[t]=[r]}Xve.exports=function(t,r,n){var i=r.autotypenumbers,a={},o={},s={},l={},u={},c={},f={},h={},d={},v={},x,b;for(x=0;x<n.length;x++){var p=n[x];if(nI(p,\"cartesian\")){var E;if(p.xaxis)E=Cm(p.xaxis),aI(a,E,p);else if(p.xaxes)for(b=0;b<p.xaxes.length;b++)aI(a,Cm(p.xaxes[b]),p);var k;if(p.yaxis)k=Cm(p.yaxis),aI(a,k,p);else if(p.yaxes)for(b=0;b<p.yaxes.length;b++)aI(a,Cm(p.yaxes[b]),p);if(p.type===\"funnel\"?p.orientation===\"h\"?(E&&(o[E]=!0),k&&(f[k]=!0)):k&&(s[k]=!0):p.type===\"image\"?(k&&(h[k]=!0),E&&(h[E]=!0)):(k&&(u[k]=!0,c[k]=!0),(!nI(p,\"carpet\")||p.type===\"carpet\"&&!p._cheater)&&E&&(l[E]=!0)),p.type===\"carpet\"&&p._cheater&&E&&(o[E]=!0),nI(p,\"2dMap\")&&(d[E]=!0,d[k]=!0),nI(p,\"oriented\")){var A=p.orientation===\"h\"?k:E;v[A]=!0}}}var L=r._subplots,_=L.xaxis,C=L.yaxis,M=jb.simpleMap(_,Cm),g=jb.simpleMap(C,Cm),P=M.concat(g),T=Uve.background;_.length&&C.length&&(T=jb.coerce(t,r,Uvt,\"plot_bgcolor\"));var F=Uve.combine(T,r.paper_bgcolor),q,V,H,X,G;function N(){var xt=a[q]||[];G._traceIndices=xt.map(function(bt){return bt.index}),G._annIndices=[],G._shapeIndices=[],G._selectionIndices=[],G._imgIndices=[],G._subplotsWith=[],G._counterAxes=[],G._name=G._attr=q,G._id=V}function W(xt,bt){return jb.coerce(X,G,Hve,xt,bt)}function re(xt,bt){return jb.coerce2(X,G,Hve,xt,bt)}function ae(xt){return xt===\"x\"?C:_}function _e(xt,bt){for(var Lt=xt===\"x\"?M:g,St=[],Et=0;Et<Lt.length;Et++){var dt=Lt[Et];dt!==bt&&!(t[dt]||{}).overlaying&&St.push(Wve(dt))}return St}var Me={x:ae(\"x\"),y:ae(\"y\")},ke=Me.x.concat(Me.y),ge={},ie=[];function Te(){var xt=X.matches;Gvt.test(xt)&&ke.indexOf(xt)===-1&&(ge[xt]=X.type,ie=Object.keys(ge))}var Ee=Nvt(t,r),Ae=Bvt(Ee);for(x=0;x<P.length;x++){q=P[x],V=Wve(q),H=q.charAt(0),jb.isPlainObject(t[q])||(t[q]={}),X=t[q],G=Vve.newContainer(r,q,H+\"axis\"),N();var ze=H===\"x\"&&!l[q]&&o[q]||H===\"y\"&&!u[q]&&s[q],Ce=H===\"y\"&&(!c[q]&&f[q]||h[q]),me={hasMinor:!0,letter:H,font:r.font,outerTicks:d[q],showGrid:!v[q],data:a[q]||[],bgColor:F,calendar:r.calendar,automargin:!0,visibleDflt:ze,reverseDflt:Ce,autotypenumbersDflt:i,splomStash:((r._splomAxes||{})[H]||{})[V],noAutotickangles:H===\"y\"};W(\"uirevision\",r.uirevision),Vvt(X,G,W,me),Gve(X,G,W,me,r);var Re=Ae&&H===Ee.charAt(0),ce=re(\"spikecolor\",Ae?G.color:void 0),Ge=re(\"spikethickness\",Ae?1.5:void 0),nt=re(\"spikedash\",Ae?\"dot\":void 0),ct=re(\"spikemode\",Ae?\"across\":void 0),qt=re(\"spikesnap\"),rt=W(\"showspikes\",!!Re||!!ce||!!Ge||!!nt||!!ct||!!qt);rt||(delete G.spikecolor,delete G.spikethickness,delete G.spikedash,delete G.spikemode,delete G.spikesnap);var ot=Cm(X.overlaying),Rt=[0,1];if(r[ot]!==void 0){var kt=Cm(r[ot].anchor);r[kt]!==void 0&&(Rt=r[kt].domain)}jve(X,G,W,{letter:H,counterAxes:Me[H],overlayableAxes:_e(H,q),grid:r.grid,overlayingDomain:Rt}),W(\"title.standoff\"),Te(),G._input=X}for(x=0;x<ie.length;){V=ie[x++],q=Cm(V),H=q.charAt(0),jb.isPlainObject(t[q])||(t[q]={}),X=t[q],G=Vve.newContainer(r,q,H+\"axis\"),N();var Ct={letter:H,font:r.font,outerTicks:d[q],showGrid:!v[q],data:[],bgColor:F,calendar:r.calendar,automargin:!0,visibleDflt:!1,reverseDflt:!1,autotypenumbersDflt:i,splomStash:((r._splomAxes||{})[H]||{})[V]};W(\"uirevision\",r.uirevision),G.type=ge[V]||\"linear\",Gve(X,G,W,Ct,r),jve(X,G,W,{letter:H,counterAxes:Me[H],overlayableAxes:_e(H,q),grid:r.grid}),W(\"fixedrange\"),Te(),G._input=X}var Yt=xU(\"rangeslider\",\"handleDefaults\"),xr=xU(\"rangeselector\",\"handleDefaults\");for(x=0;x<M.length;x++)q=M[x],X=t[q],G=r[q],Yt(t,r,q),G.type===\"date\"&&xr(X,G,r,g,G.calendar),W(\"fixedrange\");for(x=0;x<g.length;x++){q=g[x],X=t[q],G=r[q];var er=r[Cm(G.anchor)],Ke=xU(\"rangeslider\",\"isVisible\")(er);W(\"fixedrange\",Ke)}Hvt.handleDefaults(t,r,{axIds:ke.concat(ie).sort(bU.idSort),axHasImage:h})}});var $ve=ye(($nr,Jve)=>{\"use strict\";var jvt=xa(),Kve=ba(),oI=Mr(),Qp=ao(),sI=Qa();Jve.exports=function(t,r,n,i){var a=t._fullLayout;if(r.length===0){sI.redrawComponents(t);return}function o(b){var p=b.xaxis,E=b.yaxis;a._defs.select(\"#\"+b.clipId+\"> rect\").call(Qp.setTranslate,0,0).call(Qp.setScale,1,1),b.plot.call(Qp.setTranslate,p._offset,E._offset).call(Qp.setScale,1,1);var k=b.plot.selectAll(\".scatterlayer .trace\");k.selectAll(\".point\").call(Qp.setPointGroupScale,1,1),k.selectAll(\".textpoint\").call(Qp.setTextPointsScale,1,1),k.call(Qp.hideOutsideRangePoints,b)}function s(b,p){var E=b.plotinfo,k=E.xaxis,A=E.yaxis,L=k._length,_=A._length,C=!!b.xr1,M=!!b.yr1,g=[];if(C){var P=oI.simpleMap(b.xr0,k.r2l),T=oI.simpleMap(b.xr1,k.r2l),F=P[1]-P[0],q=T[1]-T[0];g[0]=(P[0]*(1-p)+p*T[0]-P[0])/(P[1]-P[0])*L,g[2]=L*(1-p+p*q/F),k.range[0]=k.l2r(P[0]*(1-p)+p*T[0]),k.range[1]=k.l2r(P[1]*(1-p)+p*T[1])}else g[0]=0,g[2]=L;if(M){var V=oI.simpleMap(b.yr0,A.r2l),H=oI.simpleMap(b.yr1,A.r2l),X=V[1]-V[0],G=H[1]-H[0];g[1]=(V[1]*(1-p)+p*H[1]-V[1])/(V[0]-V[1])*_,g[3]=_*(1-p+p*G/X),A.range[0]=k.l2r(V[0]*(1-p)+p*H[0]),A.range[1]=A.l2r(V[1]*(1-p)+p*H[1])}else g[1]=0,g[3]=_;sI.drawOne(t,k,{skipTitle:!0}),sI.drawOne(t,A,{skipTitle:!0}),sI.redrawComponents(t,[k._id,A._id]);var N=C?L/g[2]:1,W=M?_/g[3]:1,re=C?g[0]:0,ae=M?g[1]:0,_e=C?g[0]/g[2]*L:0,Me=M?g[1]/g[3]*_:0,ke=k._offset-_e,ge=A._offset-Me;E.clipRect.call(Qp.setTranslate,re,ae).call(Qp.setScale,1/N,1/W),E.plot.call(Qp.setTranslate,ke,ge).call(Qp.setScale,N,W),Qp.setPointGroupScale(E.zoomScalePts,1/N,1/W),Qp.setTextPointsScale(E.zoomScaleTxt,1/N,1/W)}var l;i&&(l=i());function u(){for(var b={},p=0;p<r.length;p++){var E=r[p],k=E.plotinfo.xaxis,A=E.plotinfo.yaxis;E.xr1&&(b[k._name+\".range\"]=E.xr1.slice()),E.yr1&&(b[A._name+\".range\"]=E.yr1.slice())}return l&&l(),Kve.call(\"relayout\",t,b).then(function(){for(var L=0;L<r.length;L++)o(r[L].plotinfo)})}function c(){for(var b={},p=0;p<r.length;p++){var E=r[p],k=E.plotinfo.xaxis,A=E.plotinfo.yaxis;E.xr0&&(b[k._name+\".range\"]=E.xr0.slice()),E.yr0&&(b[A._name+\".range\"]=E.yr0.slice())}return Kve.call(\"relayout\",t,b).then(function(){for(var L=0;L<r.length;L++)o(r[L].plotinfo)})}var f,h,d,v=jvt.ease(n.easing);t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(d),d=null,c()});function x(){h=Date.now();for(var b=Math.min(1,(h-f)/n.duration),p=v(b),E=0;E<r.length;E++)s(r[E],p);h-f>n.duration?(u(),d=window.cancelAnimationFrame(x)):d=window.requestAnimationFrame(x)}return f=Date.now(),d=window.requestAnimationFrame(x),Promise.resolve()}});var Jf=ye(yv=>{\"use strict\";var uI=xa(),Qve=ba(),Wb=Mr(),Wvt=Xu(),Zvt=ao(),epe=kd().getModuleCalcData,m_=af(),zg=ad(),Xvt=Zp(),ql=Wb.ensureSingle;function lI(e,t,r){return Wb.ensureSingle(e,t,r,function(n){n.datum(r)})}var Zb=zg.zindexSeparator;yv.name=\"cartesian\";yv.attr=[\"xaxis\",\"yaxis\"];yv.idRoot=[\"x\",\"y\"];yv.idRegex=zg.idRegex;yv.attrRegex=zg.attrRegex;yv.attributes=Eve();yv.layoutAttributes=Cd();yv.supplyLayoutDefaults=Yve();yv.transitionAxes=$ve();yv.finalizeSubplots=function(e,t){var r=t._subplots,n=r.xaxis,i=r.yaxis,a=r.cartesian,o=a,s={},l={},u,c,f;for(u=0;u<o.length;u++){var h=o[u].split(\"y\");s[h[0]]=1,l[\"y\"+h[1]]=1}for(u=0;u<n.length;u++)c=n[u],s[c]||(f=(e[m_.id2name(c)]||{}).anchor,zg.idRegex.y.test(f)||(f=\"y\"),a.push(c+f),o.push(c+f),l[f]||(l[f]=1,Wb.pushUnique(i,f)));for(u=0;u<i.length;u++)f=i[u],l[f]||(c=(e[m_.id2name(f)]||{}).anchor,zg.idRegex.x.test(c)||(c=\"x\"),a.push(c+f),o.push(c+f),s[c]||(s[c]=1,Wb.pushUnique(n,c)));if(!o.length){c=\"\",f=\"\";for(var d in e)if(zg.attrRegex.test(d)){var v=d.charAt(0);v===\"x\"?(!c||+d.substr(5)<+c.substr(5))&&(c=d):(!f||+d.substr(5)<+f.substr(5))&&(f=d)}c=c?m_.name2id(c):\"x\",f=f?m_.name2id(f):\"y\",n.push(c),i.push(f),a.push(c+f)}};yv.plot=function(e,t,r,n){var i=e._fullLayout,a=i._subplots.cartesian,o=e.calcdata,s;if(!Array.isArray(t))for(t=[],s=0;s<o.length;s++)t.push(s);for(var l=i._zindices,u=0;u<l.length;u++){var c=l[u];for(s=0;s<a.length;s++){var f=a[s],h=i._plots[f];if(u>0){var d=h.id;if(d.indexOf(Zb)!==-1)continue;d+=Zb+(u+1),h=Wb.extendFlat({},h,{id:d,plot:i._cartesianlayer.selectAll(\".subplot\").select(\".\"+d)})}for(var v=[],x,b=0;b<o.length;b++){var p=o[b],E=p[0].trace;c===(E.zorder||0)&&E.xaxis+E.yaxis===f&&((t.indexOf(E.index)!==-1||E.carpet)&&(x&&x[0].trace.xaxis+x[0].trace.yaxis===f&&[\"tonextx\",\"tonexty\",\"tonext\"].indexOf(E.fill)!==-1&&v.indexOf(x)===-1&&v.push(x),v.push(p)),x=p)}tpe(e,h,v,r,n)}}};function tpe(e,t,r,n,i){for(var a=zg.traceLayerClasses,o=e._fullLayout,s=o._zindices,l=o._modules,u,c,f,h=[],d=[],v=0;v<s.length;v++)for(var x=s[v],b=0;b<l.length;b++){u=l[b];var p=u.name,E=Qve.modules[p].categories;if(E.svg){var k=u.layerName||p+\"layer\",A=k+(v?Number(v)+1:\"\"),L=u.plot;c=epe(r,L,x),f=c[0],r=c[1],f.length&&h.push({i:a.indexOf(k),zindex:v,className:A,plotMethod:L,cdModule:f}),E.zoomScale&&d.push(\".\"+A)}}h.sort(function(M,g){return(M.zindex||0)-(g.zindex||0)||M.i-g.i});var _=t.plot.selectAll(\"g.mlayer\").data(h,function(M){return M.className});if(_.enter().append(\"g\").attr(\"class\",function(M){return M.className}).classed(\"mlayer\",!0).classed(\"rangeplot\",t.isRangePlot),_.exit().remove(),_.order(),_.each(function(M){var g=uI.select(this),P=M.className;M.plotMethod(e,t,M.cdModule,g,n,i),zg.clipOnAxisFalseQuery.indexOf(\".\"+P)===-1&&Zvt.setClipUrl(g,t.layerClipId,e)}),o._has(\"scattergl\")&&(u=Qve.getModule(\"scattergl\"),f=epe(r,u)[0],u.plot(e,t,f)),!e._context.staticPlot&&(t._hasClipOnAxisFalse&&(t.clipOnAxisFalseTraces=t.plot.selectAll(zg.clipOnAxisFalseQuery.join(\",\")).selectAll(\".trace\")),d.length)){var C=t.plot.selectAll(d.join(\",\")).selectAll(\".trace\");t.zoomScalePts=C.selectAll(\"path.point\"),t.zoomScaleTxt=C.selectAll(\".textpoint\")}}yv.clean=function(e,t,r,n){var i=n._plots||{},a=t._plots||{},o=n._subplots||{},s,l,u;if(n._hasOnlyLargeSploms&&!t._hasOnlyLargeSploms)for(u in i)s=i[u],s.plotgroup&&s.plotgroup.remove();var c=n._has&&n._has(\"gl\"),f=t._has&&t._has(\"gl\");if(c&&!f)for(u in i)s=i[u],s._scene&&s._scene.destroy();if(o.xaxis&&o.yaxis){var h=m_.listIds({_fullLayout:n});for(l=0;l<h.length;l++){var d=h[l];t[m_.id2name(d)]||n._infolayer.selectAll(\".g-\"+d+\"title\").remove()}}var v=n._has&&n._has(\"cartesian\"),x=t._has&&t._has(\"cartesian\");if(v&&!x)ipe(n._cartesianlayer.selectAll(\".subplot\"),n),n._defs.selectAll(\".axesclip\").remove(),delete n._axisConstraintGroups,delete n._axisMatchGroups;else if(o.cartesian)for(l=0;l<o.cartesian.length;l++){var b=o.cartesian[l];if(b.indexOf(Zb)===-1&&!a[b]){var p=\".\"+b+\",.\"+b+\"-x,.\"+b+\"-y\";n._cartesianlayer.selectAll(p).remove(),npe(b,n)}}};yv.drawFramework=function(e){var t=e._fullLayout,r=e.calcdata,n,i={};for(n=0;n<r.length;n++){var a=r[n][0],o=a.trace,s=o.zorder||0;i[s]||(i[s]=[]),i[s].push(a)}var l=Object.keys(i).map(Number).sort(Wb.sorterAsc);l.length||(l=[0]),t._zindices=l;var u=Yvt(e),c=u.length,f=[];for(n=0;n<c;n++)f[n]=u[n].slice();for(var h=1;h<l.length;h++){var d=[];for(n=0;n<c;n++)d[n]=u[n].slice(),d[n][0]+=Zb+(h+1);f=f.concat(d)}var v=t._cartesianlayer.selectAll(\".subplot\").data(f,String);v.enter().append(\"g\").attr(\"class\",function(x){return\"subplot \"+x[0]}),v.order(),v.exit().call(ipe,t),v.each(function(x){var b=x[0],p=b.indexOf(Zb),E=p!==-1,k=E?b.slice(0,p):b,A=t._plots[b];A||(A=Wb.extendFlat({},t._plots[k]),A&&(A.id=b,t._plots[b]=A,t._subplots.cartesian.push(b))),A&&(A.plotgroup=uI.select(this),rpe(e,A),E||(A.draglayer=ql(t._draggers,\"g\",b)))})};yv.rangePlot=function(e,t,r){rpe(e,t),tpe(e,t,r),Wvt.style(e)};function Yvt(e){var t=e._fullLayout,r=t._zindices.length,n=t._subplots.cartesian,i=n.length,a,o,s,l,u,c,f=[],h=[];for(a=0;a<i;a++){s=n[a],l=t._plots[s],u=l.xaxis,c=l.yaxis;var d=u._mainAxis,v=c._mainAxis,x=d._id+v._id,b=t._plots[x];l.overlays=[],x!==s&&b?(l.mainplot=x,l.mainplotinfo=b,h.push(s)):(l.mainplot=void 0,l.mainplotinfo=void 0,f.push(s))}for(a=0;a<h.length;a++)s=h[a],l=t._plots[s],l.mainplotinfo.overlays.push(l);var p=f.concat(h),E=[];for(a=0;a<i;a++){s=p[a],l=t._plots[s],u=l.xaxis,c=l.yaxis;for(var k=[],A=1;A<=r;A++){var L=\"\";for(A>1&&(L+=Zb+A),k.push(s+L),o=0;o<l.overlays.length;o++)k.push(l.overlays[o].id+L)}k=k.concat([u.layer,c.layer,u.overlaying||\"\",c.overlaying||\"\"]),E.push(k)}return E}function rpe(e,t){var r=e._fullLayout,n=t.plotgroup,i=t.id,a=i.indexOf(Zb),o=a!==-1,s=zg.layerValue2layerClass[t.xaxis.layer],l=zg.layerValue2layerClass[t.yaxis.layer],u=r._hasOnlyLargeSploms,c=r._zindices.length>1,f=t.mainplotinfo;if(!t.mainplot||c)if(u)t.xlines=ql(n,\"path\",\"xlines-above\"),t.ylines=ql(n,\"path\",\"ylines-above\"),t.xaxislayer=ql(n,\"g\",\"xaxislayer-above\"),t.yaxislayer=ql(n,\"g\",\"yaxislayer-above\");else{if(!o){var h=ql(n,\"g\",\"layer-subplot\");t.shapelayer=ql(h,\"g\",\"shapelayer\"),t.imagelayer=ql(h,\"g\",\"imagelayer\"),f&&c?(t.minorGridlayer=f.minorGridlayer,t.gridlayer=f.gridlayer,t.zerolinelayer=f.zerolinelayer):(t.minorGridlayer=ql(n,\"g\",\"minor-gridlayer\"),t.gridlayer=ql(n,\"g\",\"gridlayer\"),t.zerolinelayer=ql(n,\"g\",\"zerolinelayer\"));var d=ql(n,\"g\",\"layer-between\");t.shapelayerBetween=ql(d,\"g\",\"shapelayer\"),t.imagelayerBetween=ql(d,\"g\",\"imagelayer\"),ql(n,\"path\",\"xlines-below\"),ql(n,\"path\",\"ylines-below\"),t.overlinesBelow=ql(n,\"g\",\"overlines-below\"),ql(n,\"g\",\"xaxislayer-below\"),ql(n,\"g\",\"yaxislayer-below\"),t.overaxesBelow=ql(n,\"g\",\"overaxes-below\")}t.overplot=ql(n,\"g\",\"overplot\"),t.plot=ql(t.overplot,\"g\",i),o||(t.xlines=ql(n,\"path\",\"xlines-above\"),t.ylines=ql(n,\"path\",\"ylines-above\"),t.overlinesAbove=ql(n,\"g\",\"overlines-above\"),ql(n,\"g\",\"xaxislayer-above\"),ql(n,\"g\",\"yaxislayer-above\"),t.overaxesAbove=ql(n,\"g\",\"overaxes-above\"),t.xlines=n.select(\".xlines-\"+s),t.ylines=n.select(\".ylines-\"+l),t.xaxislayer=n.select(\".xaxislayer-\"+s),t.yaxislayer=n.select(\".yaxislayer-\"+l))}else{var v=f.plotgroup,x=i+\"-x\",b=i+\"-y\";t.minorGridlayer=f.minorGridlayer,t.gridlayer=f.gridlayer,t.zerolinelayer=f.zerolinelayer,ql(f.overlinesBelow,\"path\",x),ql(f.overlinesBelow,\"path\",b),ql(f.overaxesBelow,\"g\",x),ql(f.overaxesBelow,\"g\",b),t.plot=ql(f.overplot,\"g\",i),ql(f.overlinesAbove,\"path\",x),ql(f.overlinesAbove,\"path\",b),ql(f.overaxesAbove,\"g\",x),ql(f.overaxesAbove,\"g\",b),t.xlines=v.select(\".overlines-\"+s).select(\".\"+x),t.ylines=v.select(\".overlines-\"+l).select(\".\"+b),t.xaxislayer=v.select(\".overaxes-\"+s).select(\".\"+x),t.yaxislayer=v.select(\".overaxes-\"+l).select(\".\"+b)}o||(u||(lI(t.minorGridlayer,\"g\",t.xaxis._id),lI(t.minorGridlayer,\"g\",t.yaxis._id),t.minorGridlayer.selectAll(\"g\").map(function(p){return p[0]}).sort(m_.idSort),lI(t.gridlayer,\"g\",t.xaxis._id),lI(t.gridlayer,\"g\",t.yaxis._id),t.gridlayer.selectAll(\"g\").map(function(p){return p[0]}).sort(m_.idSort)),t.xlines.style(\"fill\",\"none\").classed(\"crisp\",!0),t.ylines.style(\"fill\",\"none\").classed(\"crisp\",!0))}function ipe(e,t){if(e){var r={};e.each(function(l){var u=l[0],c=uI.select(this);c.remove(),npe(u,t),r[u]=!0});for(var n in t._plots)for(var i=t._plots[n],a=i.overlays||[],o=0;o<a.length;o++){var s=a[o];r[s.id]&&s.plot.selectAll(\".trace\").remove()}}}function npe(e,t){t._draggers.selectAll(\"g.\"+e).remove(),t._defs.select(\"#clip\"+t._uid+e+\"plot\").remove()}yv.toSVG=function(e){var t=e._fullLayout._glimages,r=uI.select(e).selectAll(\".svg-container\"),n=r.filter(function(a,o){return o===r.size()-1}).selectAll(\".gl-canvas-context, .gl-canvas-focus\");function i(){var a=this,o=a.toDataURL(\"image/png\"),s=t.append(\"svg:image\");s.attr({xmlns:Xvt.svg,\"xlink:href\":o,preserveAspectRatio:\"none\",x:0,y:0,width:a.style.width,height:a.style.height})}n.each(i)};yv.updateFx=zN().updateFx});var ope=ye((ear,ape)=>{\"use strict\";var cI=lu();ape.exports={hasLines:cI.hasLines,hasMarkers:cI.hasMarkers,hasText:cI.hasText,isBubble:cI.isBubble,attributes:Uc(),layoutAttributes:V6(),supplyDefaults:Ide(),crossTraceDefaults:$N(),supplyLayoutDefaults:Fde(),calc:q0().calc,crossTraceCalc:ove(),arraysToCalcdata:km(),plot:iT(),colorbar:Kd(),formatLabels:$P(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:sT(),selectPoints:lT(),animatable:!0,moduleType:\"trace\",name:\"scatter\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\",\"zoomScale\"],meta:{}}});var upe=ye((tar,lpe)=>{\"use strict\";var Kvt=xa(),Jvt=va(),spe=MN(),wU=Mr(),$vt=wU.strScale,Qvt=wU.strRotate,ept=wU.strTranslate;lpe.exports=function(t,r,n){var i=t.node(),a=spe[n.arrowhead||0],o=spe[n.startarrowhead||0],s=(n.arrowwidth||1)*(n.arrowsize||1),l=(n.arrowwidth||1)*(n.startarrowsize||1),u=r.indexOf(\"start\")>=0,c=r.indexOf(\"end\")>=0,f=a.backoff*s+n.standoff,h=o.backoff*l+n.startstandoff,d,v,x,b;if(i.nodeName===\"line\"){d={x:+t.attr(\"x1\"),y:+t.attr(\"y1\")},v={x:+t.attr(\"x2\"),y:+t.attr(\"y2\")};var p=d.x-v.x,E=d.y-v.y;if(x=Math.atan2(E,p),b=x+Math.PI,f&&h&&f+h>Math.sqrt(p*p+E*E)){V();return}if(f){if(f*f>p*p+E*E){V();return}var k=f*Math.cos(x),A=f*Math.sin(x);v.x+=k,v.y+=A,t.attr({x2:v.x,y2:v.y})}if(h){if(h*h>p*p+E*E){V();return}var L=h*Math.cos(x),_=h*Math.sin(x);d.x-=L,d.y-=_,t.attr({x1:d.x,y1:d.y})}}else if(i.nodeName===\"path\"){var C=i.getTotalLength(),M=\"\";if(C<f+h){V();return}var g=i.getPointAtLength(0),P=i.getPointAtLength(.1);x=Math.atan2(g.y-P.y,g.x-P.x),d=i.getPointAtLength(Math.min(h,C)),M=\"0px,\"+h+\"px,\";var T=i.getPointAtLength(C),F=i.getPointAtLength(C-.1);b=Math.atan2(T.y-F.y,T.x-F.x),v=i.getPointAtLength(Math.max(0,C-f));var q=M?h+f:f;M+=C-q+\"px,\"+C+\"px\",t.style(\"stroke-dasharray\",M)}function V(){t.style(\"stroke-dasharray\",\"0px,100px\")}function H(X,G,N,W){X.path&&(X.noRotate&&(N=0),Kvt.select(i.parentNode).append(\"path\").attr({class:t.attr(\"class\"),d:X.path,transform:ept(G.x,G.y)+Qvt(N*180/Math.PI)+$vt(W)}).style({fill:Jvt.rgb(n.arrowcolor),\"stroke-width\":0}))}u&&H(o,d,x,l),c&&H(a,v,b,s)}});var fI=ye((rar,vpe)=>{\"use strict\";var cpe=xa(),TU=ba(),tpt=Xu(),__=Mr(),AU=__.strTranslate,QM=Qa(),Xb=va(),Py=ao(),fpe=Nc(),SU=Pl(),MU=Tg(),$M=gv(),rpt=Vs().arrayEditor,ipt=upe();vpe.exports={draw:npt,drawOne:hpe,drawRaw:dpe};function npt(e){var t=e._fullLayout;t._infolayer.selectAll(\".annotation\").remove();for(var r=0;r<t.annotations.length;r++)t.annotations[r].visible&&hpe(e,r);return tpt.previousPromises(e)}function hpe(e,t){var r=e._fullLayout,n=r.annotations[t]||{},i=QM.getFromId(e,n.xref),a=QM.getFromId(e,n.yref);i&&i.setScale(),a&&a.setScale(),dpe(e,n,t,!1,i,a)}function y_(e,t,r,n,i){var a=i[r],o=i[r+\"ref\"],s=r.indexOf(\"y\")!==-1,l=QM.getRefType(o)===\"domain\",u=s?n.h:n.w;return e?l?a+(s?-t:t)/e._length:e.p2r(e.r2p(a)+t):a+(s?-t:t)/u}function dpe(e,t,r,n,i,a){var o=e._fullLayout,s=e._fullLayout._size,l=e._context.edits,u,c;n?(u=\"annotation-\"+n,c=n+\".annotations\"):(u=\"annotation\",c=\"annotations\");var f=rpt(e.layout,c,t),h=f.modifyBase,d=f.modifyItem,v=f.getUpdateObj;o._infolayer.selectAll(\".\"+u+'[data-index=\"'+r+'\"]').remove();var x=\"clip\"+o._uid+\"_ann\"+r;if(!t._input||t.visible===!1){cpe.selectAll(\"#\"+x).remove();return}var b={x:{},y:{}},p=+t.textangle||0,E=o._infolayer.append(\"g\").classed(u,!0).attr(\"data-index\",String(r)).style(\"opacity\",t.opacity),k=E.append(\"g\").classed(\"annotation-text-g\",!0),A=l[t.showarrow?\"annotationTail\":\"annotationPosition\"],L=t.captureevents||l.annotationText||A;function _(W){var re={index:r,annotation:t._input,fullAnnotation:t,event:W};return n&&(re.subplotId=n),re}var C=k.append(\"g\").style(\"pointer-events\",L?\"all\":null).call(MU,\"pointer\").on(\"click\",function(){e._dragging=!1,e.emit(\"plotly_clickannotation\",_(cpe.event))});t.hovertext&&C.on(\"mouseover\",function(){var W=t.hoverlabel,re=W.font,ae=this.getBoundingClientRect(),_e=e.getBoundingClientRect();fpe.loneHover({x0:ae.left-_e.left,x1:ae.right-_e.left,y:(ae.top+ae.bottom)/2-_e.top,text:t.hovertext,color:W.bgcolor,borderColor:W.bordercolor,fontFamily:re.family,fontSize:re.size,fontColor:re.color,fontWeight:re.weight,fontStyle:re.style,fontVariant:re.variant,fontShadow:re.fontShadow,fontLineposition:re.fontLineposition,fontTextcase:re.fontTextcase},{container:o._hoverlayer.node(),outerContainer:o._paper.node(),gd:e})}).on(\"mouseout\",function(){fpe.loneUnhover(o._hoverlayer.node())});var M=t.borderwidth,g=t.borderpad,P=M+g,T=C.append(\"rect\").attr(\"class\",\"bg\").style(\"stroke-width\",M+\"px\").call(Xb.stroke,t.bordercolor).call(Xb.fill,t.bgcolor),F=t.width||t.height,q=o._topclips.selectAll(\"#\"+x).data(F?[0]:[]);q.enter().append(\"clipPath\").classed(\"annclip\",!0).attr(\"id\",x).append(\"rect\"),q.exit().remove();var V=t.font,H=o._meta?__.templateString(t.text,o._meta):t.text,X=C.append(\"text\").classed(\"annotation-text\",!0).text(H);function G(W){return W.call(Py.font,V).attr({\"text-anchor\":{left:\"start\",right:\"end\"}[t.align]||\"middle\"}),SU.convertToTspans(W,e,N),W}function N(){var W=X.selectAll(\"a\");if(W.size()===1&&W.text()===X.text()){var re=C.insert(\"a\",\":first-child\").attr({\"xlink:xlink:href\":W.attr(\"xlink:href\"),\"xlink:xlink:show\":W.attr(\"xlink:show\")}).style({cursor:\"pointer\"});re.node().appendChild(T.node())}var ae=C.select(\".annotation-text-math-group\"),_e=!ae.empty(),Me=Py.bBox((_e?ae:X).node()),ke=Me.width,ge=Me.height,ie=t.width||ke,Te=t.height||ge,Ee=Math.round(ie+2*P),Ae=Math.round(Te+2*P);function ze(Ve,Xe){return Xe===\"auto\"&&(Ve<1/3?Xe=\"left\":Ve>2/3?Xe=\"right\":Xe=\"center\"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[Xe]}for(var Ce=!1,me=[\"x\",\"y\"],Re=0;Re<me.length;Re++){var ce=me[Re],Ge=t[ce+\"ref\"]||ce,nt=t[\"a\"+ce+\"ref\"],ct={x:i,y:a}[ce],qt=(p+(ce===\"x\"?0:-90))*Math.PI/180,rt=Ee*Math.cos(qt),ot=Ae*Math.sin(qt),Rt=Math.abs(rt)+Math.abs(ot),kt=t[ce+\"anchor\"],Ct=t[ce+\"shift\"]*(ce===\"x\"?1:-1),Yt=b[ce],xr,er,Ke,xt,bt,Lt=QM.getRefType(Ge);if(ct&&Lt!==\"domain\"){var St=ct.r2fraction(t[ce]);(St<0||St>1)&&(nt===Ge?(St=ct.r2fraction(t[\"a\"+ce]),(St<0||St>1)&&(Ce=!0)):Ce=!0),xr=ct._offset+ct.r2p(t[ce]),xt=.5}else{var Et=Lt===\"domain\";ce===\"x\"?(Ke=t[ce],xr=Et?ct._offset+ct._length*Ke:xr=s.l+s.w*Ke):(Ke=1-t[ce],xr=Et?ct._offset+ct._length*Ke:xr=s.t+s.h*Ke),xt=t.showarrow?.5:Ke}if(t.showarrow){Yt.head=xr;var dt=t[\"a\"+ce];if(bt=rt*ze(.5,t.xanchor)-ot*ze(.5,t.yanchor),nt===Ge){var Ht=QM.getRefType(nt);Ht===\"domain\"?(ce===\"y\"&&(dt=1-dt),Yt.tail=ct._offset+ct._length*dt):Ht===\"paper\"?ce===\"y\"?(dt=1-dt,Yt.tail=s.t+s.h*dt):Yt.tail=s.l+s.w*dt:Yt.tail=ct._offset+ct.r2p(dt),er=bt}else Yt.tail=xr+dt,er=bt+dt;Yt.text=Yt.tail+bt;var $t=o[ce===\"x\"?\"width\":\"height\"];if(Ge===\"paper\"&&(Yt.head=__.constrain(Yt.head,1,$t-1)),nt===\"pixel\"){var fr=-Math.max(Yt.tail-3,Yt.text),_r=Math.min(Yt.tail+3,Yt.text)-$t;fr>0?(Yt.tail+=fr,Yt.text+=fr):_r>0&&(Yt.tail-=_r,Yt.text-=_r)}Yt.tail+=Ct,Yt.head+=Ct}else bt=Rt*ze(xt,kt),er=bt,Yt.text=xr+bt;Yt.text+=Ct,bt+=Ct,er+=Ct,t[\"_\"+ce+\"padplus\"]=Rt/2+er,t[\"_\"+ce+\"padminus\"]=Rt/2-er,t[\"_\"+ce+\"size\"]=Rt,t[\"_\"+ce+\"shift\"]=bt}if(Ce){C.remove();return}var Br=0,Or=0;if(t.align!==\"left\"&&(Br=(ie-ke)*(t.align===\"center\"?.5:1)),t.valign!==\"top\"&&(Or=(Te-ge)*(t.valign===\"middle\"?.5:1)),_e)ae.select(\"svg\").attr({x:P+Br-1,y:P+Or}).call(Py.setClipUrl,F?x:null,e);else{var Nr=P+Or-Me.top,ut=P+Br-Me.left;X.call(SU.positionText,ut,Nr).call(Py.setClipUrl,F?x:null,e)}q.select(\"rect\").call(Py.setRect,P,P,ie,Te),T.call(Py.setRect,M/2,M/2,Ee-M,Ae-M),C.call(Py.setTranslate,Math.round(b.x.text-Ee/2),Math.round(b.y.text-Ae/2)),k.attr({transform:\"rotate(\"+p+\",\"+b.x.text+\",\"+b.y.text+\")\"});var Ne=function(Ve,Xe){E.selectAll(\".annotation-arrow-g\").remove();var ht=b.x.head,Le=b.y.head,xe=b.x.tail+Ve,Se=b.y.tail+Xe,lt=b.x.text+Ve,Gt=b.y.text+Xe,Vt=__.rotationXYMatrix(p,lt,Gt),ar=__.apply2DTransform(Vt),Qr=__.apply2DTransform2(Vt),ai=+T.attr(\"width\"),jr=+T.attr(\"height\"),ri=lt-.5*ai,bi=ri+ai,nn=Gt-.5*jr,Wi=nn+jr,Ni=[[ri,nn,ri,Wi],[ri,Wi,bi,Wi],[bi,Wi,bi,nn],[bi,nn,ri,nn]].map(Qr);if(!Ni.reduce(function(Vr,gi){return Vr^!!__.segmentsIntersect(ht,Le,ht+1e6,Le+1e6,gi[0],gi[1],gi[2],gi[3])},!1)){Ni.forEach(function(Vr){var gi=__.segmentsIntersect(xe,Se,ht,Le,Vr[0],Vr[1],Vr[2],Vr[3]);gi&&(xe=gi.x,Se=gi.y)});var _n=t.arrowwidth,$i=t.arrowcolor,zn=t.arrowside,Wn=E.append(\"g\").style({opacity:Xb.opacity($i)}).classed(\"annotation-arrow-g\",!0),It=Wn.append(\"path\").attr(\"d\",\"M\"+xe+\",\"+Se+\"L\"+ht+\",\"+Le).style(\"stroke-width\",_n+\"px\").call(Xb.stroke,Xb.rgb($i));if(ipt(It,zn,t),l.annotationPosition&&It.node().parentNode&&!n){var ft=ht,jt=Le;if(t.standoff){var Zt=Math.sqrt(Math.pow(ht-xe,2)+Math.pow(Le-Se,2));ft+=t.standoff*(xe-ht)/Zt,jt+=t.standoff*(Se-Le)/Zt}var yr=Wn.append(\"path\").classed(\"annotation-arrow\",!0).classed(\"anndrag\",!0).classed(\"cursor-move\",!0).attr({d:\"M3,3H-3V-3H3ZM0,0L\"+(xe-ft)+\",\"+(Se-jt),transform:AU(ft,jt)}).style(\"stroke-width\",_n+6+\"px\").call(Xb.stroke,\"rgba(0,0,0,0)\").call(Xb.fill,\"rgba(0,0,0,0)\"),Fr,Zr;$M.init({element:yr.node(),gd:e,prepFn:function(){var Vr=Py.getTranslate(C);Fr=Vr.x,Zr=Vr.y,i&&i.autorange&&h(i._name+\".autorange\",!0),a&&a.autorange&&h(a._name+\".autorange\",!0)},moveFn:function(Vr,gi){var Si=ar(Fr,Zr),Mi=Si[0]+Vr,Pi=Si[1]+gi;C.call(Py.setTranslate,Mi,Pi),d(\"x\",y_(i,Vr,\"x\",s,t)),d(\"y\",y_(a,gi,\"y\",s,t)),t.axref===t.xref&&d(\"ax\",y_(i,Vr,\"ax\",s,t)),t.ayref===t.yref&&d(\"ay\",y_(a,gi,\"ay\",s,t)),Wn.attr(\"transform\",AU(Vr,gi)),k.attr({transform:\"rotate(\"+p+\",\"+Mi+\",\"+Pi+\")\"})},doneFn:function(){TU.call(\"_guiRelayout\",e,v());var Vr=document.querySelector(\".js-notes-box-panel\");Vr&&Vr.redraw(Vr.selectedObj)}})}}};if(t.showarrow&&Ne(0,0),A){var Ye;$M.init({element:C.node(),gd:e,prepFn:function(){Ye=k.attr(\"transform\")},moveFn:function(Ve,Xe){var ht=\"pointer\";if(t.showarrow)t.axref===t.xref?d(\"ax\",y_(i,Ve,\"ax\",s,t)):d(\"ax\",t.ax+Ve),t.ayref===t.yref?d(\"ay\",y_(a,Xe,\"ay\",s.w,t)):d(\"ay\",t.ay+Xe),Ne(Ve,Xe);else{if(n)return;var Le,xe;if(i)Le=y_(i,Ve,\"x\",s,t);else{var Se=t._xsize/s.w,lt=t.x+(t._xshift-t.xshift)/s.w-Se/2;Le=$M.align(lt+Ve/s.w,Se,0,1,t.xanchor)}if(a)xe=y_(a,Xe,\"y\",s,t);else{var Gt=t._ysize/s.h,Vt=t.y-(t._yshift+t.yshift)/s.h-Gt/2;xe=$M.align(Vt-Xe/s.h,Gt,0,1,t.yanchor)}d(\"x\",Le),d(\"y\",xe),(!i||!a)&&(ht=$M.getCursor(i?.5:Le,a?.5:xe,t.xanchor,t.yanchor))}k.attr({transform:AU(Ve,Xe)+Ye}),MU(C,ht)},clickFn:function(Ve,Xe){t.captureevents&&e.emit(\"plotly_clickannotation\",_(Xe))},doneFn:function(){MU(C),TU.call(\"_guiRelayout\",e,v());var Ve=document.querySelector(\".js-notes-box-panel\");Ve&&Ve.redraw(Ve.selectedObj)}})}}l.annotationText?X.call(SU.makeEditable,{delegate:C,gd:e}).call(G).on(\"edit\",function(W){t.text=W,this.call(G),d(\"text\",W),i&&i.autorange&&h(i._name+\".autorange\",!0),a&&a.autorange&&h(a._name+\".autorange\",!0),TU.call(\"_guiRelayout\",e,v())}):X.call(G)}});var xpe=ye((iar,_pe)=>{\"use strict\";var ppe=Mr(),apt=ba(),gpe=Vs().arrayEditor;_pe.exports={hasClickToShow:opt,onClick:spt};function opt(e,t){var r=ype(e,t);return r.on.length>0||r.explicitOff.length>0}function spt(e,t){var r=ype(e,t),n=r.on,i=r.off.concat(r.explicitOff),a={},o=e._fullLayout.annotations,s,l;if(n.length||i.length){for(s=0;s<n.length;s++)l=gpe(e.layout,\"annotations\",o[n[s]]),l.modifyItem(\"visible\",!0),ppe.extendFlat(a,l.getUpdateObj());for(s=0;s<i.length;s++)l=gpe(e.layout,\"annotations\",o[i[s]]),l.modifyItem(\"visible\",!1),ppe.extendFlat(a,l.getUpdateObj());return apt.call(\"update\",e,{},a)}}function ype(e,t){var r=e._fullLayout.annotations,n=[],i=[],a=[],o=(t||[]).length,s,l,u,c,f,h,d,v;for(s=0;s<r.length;s++)if(u=r[s],c=u.clicktoshow,c){for(l=0;l<o;l++)if(f=t[l],h=f.xaxis,d=f.yaxis,h._id===u.xref&&d._id===u.yref&&h.d2r(f.x)===mpe(u._xclick,h)&&d.d2r(f.y)===mpe(u._yclick,d)){u.visible?c===\"onout\"?v=i:v=a:v=n,v.push(s);break}l===o&&u.visible&&c===\"onout\"&&i.push(s)}return{on:n,off:i,explicitOff:a}}function mpe(e,t){return t.type===\"log\"?t.l2r(e):t.d2r(e)}});var kU=ye((nar,bpe)=>{\"use strict\";var EU=Mr(),uT=va();bpe.exports=function(t,r,n,i){i(\"opacity\");var a=i(\"bgcolor\"),o=i(\"bordercolor\"),s=uT.opacity(o);i(\"borderpad\");var l=i(\"borderwidth\"),u=i(\"showarrow\");i(\"text\",u?\" \":n._dfltTitle.annotation),i(\"textangle\"),EU.coerceFont(i,\"font\",n.font),i(\"width\"),i(\"align\");var c=i(\"height\");if(c&&i(\"valign\"),u){var f=i(\"arrowside\"),h,d;f.indexOf(\"end\")!==-1&&(h=i(\"arrowhead\"),d=i(\"arrowsize\")),f.indexOf(\"start\")!==-1&&(i(\"startarrowhead\",h),i(\"startarrowsize\",d)),i(\"arrowcolor\",s?r.bordercolor:uT.defaultLine),i(\"arrowwidth\",(s&&l||1)*2),i(\"standoff\"),i(\"startstandoff\")}var v=i(\"hovertext\"),x=n.hoverlabel||{};if(v){var b=i(\"hoverlabel.bgcolor\",x.bgcolor||(uT.opacity(a)?uT.rgb(a):uT.defaultLine)),p=i(\"hoverlabel.bordercolor\",x.bordercolor||uT.contrast(b)),E=EU.extendFlat({},x.font);E.color||(E.color=p),EU.coerceFont(i,\"hoverlabel.font\",E)}i(\"captureevents\",!!v)}});var Tpe=ye((aar,wpe)=>{\"use strict\";var CU=Mr(),Yb=Qa(),lpt=Zd(),upt=kU(),cpt=Nb();wpe.exports=function(t,r){lpt(t,r,{name:\"annotations\",handleItemDefaults:fpt})};function fpt(e,t,r){function n(k,A){return CU.coerce(e,t,cpt,k,A)}var i=n(\"visible\"),a=n(\"clicktoshow\");if(i||a){upt(e,t,r,n);for(var o=t.showarrow,s=[\"x\",\"y\"],l=[-10,-30],u={_fullLayout:r},c=0;c<2;c++){var f=s[c],h=Yb.coerceRef(e,t,u,f,\"\",\"paper\");if(h!==\"paper\"){var d=Yb.getFromId(u,h);d._annIndices.push(t._index)}if(Yb.coercePosition(t,u,n,h,f,.5),o){var v=\"a\"+f,x=Yb.coerceRef(e,t,u,v,\"pixel\",[\"pixel\",\"paper\"]);x!==\"pixel\"&&x!==h&&(x=t[v]=\"pixel\");var b=x===\"pixel\"?l[c]:.4;Yb.coercePosition(t,u,n,x,v,b)}n(f+\"anchor\"),n(f+\"shift\")}if(CU.noneOrAll(e,t,[\"x\",\"y\"]),o&&CU.noneOrAll(e,t,[\"ax\",\"ay\"]),a){var p=n(\"xclick\"),E=n(\"yclick\");t._xclick=p===void 0?t.x:Yb.cleanPosition(p,u,t.xref),t._yclick=E===void 0?t.y:Yb.cleanPosition(E,u,t.yref)}}}});var Mpe=ye((oar,Spe)=>{\"use strict\";var LU=Mr(),Kb=Qa(),hpt=fI().draw;Spe.exports=function(t){var r=t._fullLayout,n=LU.filterVisible(r.annotations);if(n.length&&t._fullData.length)return LU.syncOrAsync([hpt,dpt],t)};function dpt(e){var t=e._fullLayout;LU.filterVisible(t.annotations).forEach(function(r){var n=Kb.getFromId(e,r.xref),i=Kb.getFromId(e,r.yref),a=Kb.getRefType(r.xref),o=Kb.getRefType(r.yref);r._extremes={},a===\"range\"&&Ape(r,n),o===\"range\"&&Ape(r,i)})}function Ape(e,t){var r=t._id,n=r.charAt(0),i=e[n],a=e[\"a\"+n],o=e[n+\"ref\"],s=e[\"a\"+n+\"ref\"],l=e[\"_\"+n+\"padplus\"],u=e[\"_\"+n+\"padminus\"],c={x:1,y:-1}[n]*e[n+\"shift\"],f=3*e.arrowsize*e.arrowwidth||0,h=f+c,d=f-c,v=3*e.startarrowsize*e.arrowwidth||0,x=v+c,b=v-c,p;if(s===o){var E=Kb.findExtremes(t,[t.r2c(i)],{ppadplus:h,ppadminus:d}),k=Kb.findExtremes(t,[t.r2c(a)],{ppadplus:Math.max(l,x),ppadminus:Math.max(u,b)});p={min:[E.min[0],k.min[0]],max:[E.max[0],k.max[0]]}}else x=a?x+a:x,b=a?b-a:b,p=Kb.findExtremes(t,[t.r2c(i)],{ppadplus:Math.max(l,h,x),ppadminus:Math.max(u,d,b)});e._extremes[r]=p}});var kpe=ye((sar,Epe)=>{\"use strict\";var vpt=uo(),ppt=u6();Epe.exports=function(t,r,n,i){r=r||{};var a=n===\"log\"&&r.type===\"linear\",o=n===\"linear\"&&r.type===\"log\";if(!(a||o))return;var s=t._fullLayout.annotations,l=r._id.charAt(0),u,c;function f(d){var v=u[d],x=null;a?x=ppt(v,r.range):x=Math.pow(10,v),vpt(x)||(x=null),i(c+d,x)}for(var h=0;h<s.length;h++)u=s[h],c=\"annotations[\"+h+\"].\",u[l+\"ref\"]===r._id&&f(l),u[\"a\"+l+\"ref\"]===r._id&&f(\"a\"+l)}});var Ppe=ye((lar,Lpe)=>{\"use strict\";var PU=fI(),Cpe=xpe();Lpe.exports={moduleType:\"component\",name:\"annotations\",layoutAttributes:Nb(),supplyLayoutDefaults:Tpe(),includeBasePlot:IM()(\"annotations\"),calcAutorange:Mpe(),draw:PU.draw,drawOne:PU.drawOne,drawRaw:PU.drawRaw,hasClickToShow:Cpe.hasClickToShow,onClick:Cpe.onClick,convertCoords:kpe()}});var hI=ye((uar,Ipe)=>{\"use strict\";var Ku=Nb(),gpt=Bu().overrideAll,mpt=Vs().templatedArray;Ipe.exports=gpt(mpt(\"annotation\",{visible:Ku.visible,x:{valType:\"any\"},y:{valType:\"any\"},z:{valType:\"any\"},ax:{valType:\"number\"},ay:{valType:\"number\"},xanchor:Ku.xanchor,xshift:Ku.xshift,yanchor:Ku.yanchor,yshift:Ku.yshift,text:Ku.text,textangle:Ku.textangle,font:Ku.font,width:Ku.width,height:Ku.height,opacity:Ku.opacity,align:Ku.align,valign:Ku.valign,bgcolor:Ku.bgcolor,bordercolor:Ku.bordercolor,borderpad:Ku.borderpad,borderwidth:Ku.borderwidth,showarrow:Ku.showarrow,arrowcolor:Ku.arrowcolor,arrowhead:Ku.arrowhead,startarrowhead:Ku.startarrowhead,arrowside:Ku.arrowside,arrowsize:Ku.arrowsize,startarrowsize:Ku.startarrowsize,arrowwidth:Ku.arrowwidth,standoff:Ku.standoff,startstandoff:Ku.startstandoff,hovertext:Ku.hovertext,hoverlabel:Ku.hoverlabel,captureevents:Ku.captureevents}),\"calc\",\"from-root\")});var Dpe=ye((car,Rpe)=>{\"use strict\";var IU=Mr(),ypt=Qa(),_pt=Zd(),xpt=kU(),bpt=hI();Rpe.exports=function(t,r,n){_pt(t,r,{name:\"annotations\",handleItemDefaults:wpt,fullLayout:n.fullLayout})};function wpt(e,t,r,n){function i(s,l){return IU.coerce(e,t,bpt,s,l)}function a(s){var l=s+\"axis\",u={_fullLayout:{}};return u._fullLayout[l]=r[l],ypt.coercePosition(t,u,i,s,s,.5)}var o=i(\"visible\");o&&(xpt(e,t,n.fullLayout,i),a(\"x\"),a(\"y\"),a(\"z\"),IU.noneOrAll(e,t,[\"x\",\"y\",\"z\"]),t.xref=\"x\",t.yref=\"y\",t.zref=\"z\",i(\"xanchor\"),i(\"yanchor\"),i(\"xshift\"),i(\"yshift\"),t.showarrow&&(t.axref=\"pixel\",t.ayref=\"pixel\",i(\"ax\",-10),i(\"ay\",-30),IU.noneOrAll(e,t,[\"ax\",\"ay\"])))}});var Ope=ye((far,qpe)=>{\"use strict\";var zpe=Mr(),Fpe=Qa();qpe.exports=function(t){for(var r=t.fullSceneLayout,n=r.annotations,i=0;i<n.length;i++)Tpt(n[i],t);t.fullLayout._infolayer.selectAll(\".annotation-\"+t.id).remove()};function Tpt(e,t){var r=t.fullSceneLayout,n=r.domain,i=t.fullLayout._size,a={pdata:null,type:\"linear\",autorange:!1,range:[-1/0,1/0]};e._xa={},zpe.extendFlat(e._xa,a),Fpe.setConvert(e._xa),e._xa._offset=i.l+n.x[0]*i.w,e._xa.l2p=function(){return .5*(1+e._pdata[0]/e._pdata[3])*i.w*(n.x[1]-n.x[0])},e._ya={},zpe.extendFlat(e._ya,a),Fpe.setConvert(e._ya),e._ya._offset=i.t+(1-n.y[1])*i.h,e._ya.l2p=function(){return .5*(1-e._pdata[1]/e._pdata[3])*i.h*(n.y[1]-n.y[0])}}});var DU=ye((har,Bpe)=>{\"use strict\";function RU(e,t){var r=[0,0,0,0],n,i;for(n=0;n<4;++n)for(i=0;i<4;++i)r[i]+=e[4*n+i]*t[n];return r}function Apt(e,t){var r=RU(e.projection,RU(e.view,RU(e.model,[t[0],t[1],t[2],1])));return r}Bpe.exports=Apt});var Upe=ye((dar,Npe)=>{\"use strict\";var Spt=fI().drawRaw,Mpt=DU(),Ept=[\"x\",\"y\",\"z\"];Npe.exports=function(t){for(var r=t.fullSceneLayout,n=t.dataScale,i=r.annotations,a=0;a<i.length;a++){for(var o=i[a],s=!1,l=0;l<3;l++){var u=Ept[l],c=o[u],f=r[u+\"axis\"],h=f.r2fraction(c);if(h<0||h>1){s=!0;break}}s?t.fullLayout._infolayer.select(\".annotation-\"+t.id+'[data-index=\"'+a+'\"]').remove():(o._pdata=Mpt(t.glplot.cameraParams,[r.xaxis.r2l(o.x)*n[0],r.yaxis.r2l(o.y)*n[1],r.zaxis.r2l(o.z)*n[2]]),Spt(t.graphDiv,o,a,t.id,o._xa,o._ya))}}});var Gpe=ye((par,Hpe)=>{\"use strict\";var kpt=ba(),Vpe=Mr();Hpe.exports={moduleType:\"component\",name:\"annotations3d\",schema:{subplots:{scene:{annotations:hI()}}},layoutAttributes:hI(),handleDefaults:Dpe(),includeBasePlot:Cpt,convert:Ope(),draw:Upe()};function Cpt(e,t){var r=kpt.subplotsRegistry.gl3d;if(r)for(var n=r.attrRegex,i=Object.keys(e),a=0;a<i.length;a++){var o=i[a];n.test(o)&&(e[o].annotations||[]).length&&(Vpe.pushUnique(t._basePlotModules,r),Vpe.pushUnique(t._subplots.gl3d,o))}}});var zU=ye((mar,Xpe)=>{\"use strict\";var jpe=Nb(),Wpe=Su(),Zpe=Uc().line,Lpt=Ed().dash,Fg=no().extendFlat,Ppt=Vs().templatedArray,gar=PM(),cT=vl(),Ipt=Wo().shapeTexttemplateAttrs,Rpt=b6();Xpe.exports=Ppt(\"shape\",{visible:Fg({},cT.visible,{editType:\"calc+arraydraw\"}),showlegend:{valType:\"boolean\",dflt:!1,editType:\"calc+arraydraw\"},legend:Fg({},cT.legend,{editType:\"calc+arraydraw\"}),legendgroup:Fg({},cT.legendgroup,{editType:\"calc+arraydraw\"}),legendgrouptitle:{text:Fg({},cT.legendgrouptitle.text,{editType:\"calc+arraydraw\"}),font:Wpe({editType:\"calc+arraydraw\"}),editType:\"calc+arraydraw\"},legendrank:Fg({},cT.legendrank,{editType:\"calc+arraydraw\"}),legendwidth:Fg({},cT.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:Fg({},jpe.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:Fg({},jpe.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:Fg({},Zpe.color,{editType:\"arraydraw\"}),width:Fg({},Zpe.width,{editType:\"calc+arraydraw\"}),dash:Fg({},Lpt,{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:Ipt({},{keys:Object.keys(Rpt)}),font:Wpe({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\"})});var Jpe=ye((yar,Kpe)=>{\"use strict\";var e4=Mr(),fT=Qa(),Dpt=Zd(),zpt=zU(),Ype=h_();Kpe.exports=function(t,r){Dpt(t,r,{name:\"shapes\",handleItemDefaults:qpt})};function Fpt(e,t){return e?\"bottom\":t.indexOf(\"top\")!==-1?\"top\":t.indexOf(\"bottom\")!==-1?\"bottom\":\"middle\"}function qpt(e,t,r){function n(W,re){return e4.coerce(e,t,zpt,W,re)}t._isShape=!0;var i=n(\"visible\");if(i){var a=n(\"showlegend\");a&&(n(\"legend\"),n(\"legendwidth\"),n(\"legendgroup\"),n(\"legendgrouptitle.text\"),e4.coerceFont(n,\"legendgrouptitle.font\"),n(\"legendrank\"));var o=n(\"path\"),s=o?\"path\":\"rect\",l=n(\"type\",s),u=l!==\"path\";u&&delete t.path,n(\"editable\"),n(\"layer\"),n(\"opacity\"),n(\"fillcolor\"),n(\"fillrule\");var c=n(\"line.width\");c&&(n(\"line.color\"),n(\"line.dash\"));for(var f=n(\"xsizemode\"),h=n(\"ysizemode\"),d=[\"x\",\"y\"],v=0;v<2;v++){var x=d[v],b=x+\"anchor\",p=x===\"x\"?f:h,E={_fullLayout:r},k,A,L,_=fT.coerceRef(e,t,E,x,void 0,\"paper\"),C=fT.getRefType(_);if(C===\"range\"?(k=fT.getFromId(E,_),k._shapeIndices.push(t._index),L=Ype.rangeToShapePosition(k),A=Ype.shapePositionToRange(k),(k.type===\"category\"||k.type===\"multicategory\")&&(n(x+\"0shift\"),n(x+\"1shift\"))):A=L=e4.identity,u){var M=.25,g=.75,P=x+\"0\",T=x+\"1\",F=e[P],q=e[T];e[P]=A(e[P],!0),e[T]=A(e[T],!0),p===\"pixel\"?(n(P,0),n(T,10)):(fT.coercePosition(t,E,n,_,P,M),fT.coercePosition(t,E,n,_,T,g)),t[P]=L(t[P]),t[T]=L(t[T]),e[P]=F,e[T]=q}if(p===\"pixel\"){var V=e[b];e[b]=A(e[b],!0),fT.coercePosition(t,E,n,_,b,.25),t[b]=L(t[b]),e[b]=V}}u&&e4.noneOrAll(e,t,[\"x0\",\"x1\",\"y0\",\"y1\"]);var H=l===\"line\",X,G;if(u&&(X=n(\"label.texttemplate\")),X||(G=n(\"label.text\")),G||X){n(\"label.textangle\");var N=n(\"label.textposition\",H?\"middle\":\"middle center\");n(\"label.xanchor\"),n(\"label.yanchor\",Fpt(H,N)),n(\"label.padding\"),e4.coerceFont(n,\"label.font\",r.font)}}}});var e0e=ye((_ar,Qpe)=>{\"use strict\";var Opt=va(),$pe=Mr();function Bpt(e,t){return e?\"bottom\":t.indexOf(\"top\")!==-1?\"top\":t.indexOf(\"bottom\")!==-1?\"bottom\":\"middle\"}Qpe.exports=function(t,r,n){n(\"newshape.visible\"),n(\"newshape.name\"),n(\"newshape.showlegend\"),n(\"newshape.legend\"),n(\"newshape.legendwidth\"),n(\"newshape.legendgroup\"),n(\"newshape.legendgrouptitle.text\"),$pe.coerceFont(n,\"newshape.legendgrouptitle.font\"),n(\"newshape.legendrank\"),n(\"newshape.drawdirection\"),n(\"newshape.layer\"),n(\"newshape.fillcolor\"),n(\"newshape.fillrule\"),n(\"newshape.opacity\");var i=n(\"newshape.line.width\");if(i){var a=(t||{}).plot_bgcolor||\"#FFF\";n(\"newshape.line.color\",Opt.contrast(a)),n(\"newshape.line.dash\")}var o=t.dragmode===\"drawline\",s=n(\"newshape.label.text\"),l=n(\"newshape.label.texttemplate\");if(s||l){n(\"newshape.label.textangle\");var u=n(\"newshape.label.textposition\",o?\"middle\":\"middle center\");n(\"newshape.label.xanchor\"),n(\"newshape.label.yanchor\",Bpt(o,u)),n(\"newshape.label.padding\"),$pe.coerceFont(n,\"newshape.label.font\",r.font)}n(\"activeshape.fillcolor\"),n(\"activeshape.opacity\")}});var a0e=ye((xar,n0e)=>{\"use strict\";var FU=Mr(),hT=Qa(),dT=cM(),r0e=h_();n0e.exports=function(t){var r=t._fullLayout,n=FU.filterVisible(r.shapes);if(!(!n.length||!t._fullData.length))for(var i=0;i<n.length;i++){var a=n[i];a._extremes={};var o,s,l=hT.getRefType(a.xref),u=hT.getRefType(a.yref);a.xref!==\"paper\"&&l!==\"domain\"&&(o=hT.getFromId(t,a.xref),s=t0e(o,a,dT.paramIsX),s&&(a._extremes[o._id]=hT.findExtremes(o,s,Npt(a)))),a.yref!==\"paper\"&&u!==\"domain\"&&(o=hT.getFromId(t,a.yref),s=t0e(o,a,dT.paramIsY),s&&(a._extremes[o._id]=hT.findExtremes(o,s,Upt(a))))}};function Npt(e){return i0e(e.line.width,e.xsizemode,e.x0,e.x1,e.path,!1)}function Upt(e){return i0e(e.line.width,e.ysizemode,e.y0,e.y1,e.path,!0)}function i0e(e,t,r,n,i,a){var o=e/2,s=a;if(t===\"pixel\"){var l=i?r0e.extractPathCoords(i,a?dT.paramIsY:dT.paramIsX):[r,n],u=FU.aggNums(Math.max,null,l),c=FU.aggNums(Math.min,null,l),f=c<0?Math.abs(c)+o:o,h=u>0?u+o:o;return{ppad:o,ppadplus:s?f:h,ppadminus:s?h:f}}else return{ppad:o}}function t0e(e,t,r){var n=e._id.charAt(0)===\"x\"?\"x\":\"y\",i=e.type===\"category\"||e.type===\"multicategory\",a,o,s=0,l=0,u=i?e.r2c:e.d2c,c=t[n+\"sizemode\"]===\"scaled\";if(c?(a=t[n+\"0\"],o=t[n+\"1\"],i&&(s=t[n+\"0shift\"],l=t[n+\"1shift\"])):(a=t[n+\"anchor\"],o=t[n+\"anchor\"]),a!==void 0)return[u(a)+s,u(o)+l];if(t.path){var f=1/0,h=-1/0,d=t.path.match(dT.segmentRE),v,x,b,p,E;for(e.type===\"date\"&&(u=r0e.decodeDate(u)),v=0;v<d.length;v++)x=d[v],b=r[x.charAt(0)].drawn,b!==void 0&&(p=d[v].substr(1).match(dT.paramRE),!(!p||p.length<b)&&(E=u(p[b]),E<f&&(f=E),E>h&&(h=E)));if(h>=f)return[f,h]}}});var l0e=ye((bar,s0e)=>{\"use strict\";var o0e=rP();s0e.exports={moduleType:\"component\",name:\"shapes\",layoutAttributes:zU(),supplyLayoutDefaults:Jpe(),supplyDrawNewShapeDefaults:e0e(),includeBasePlot:IM()(\"shapes\"),calcAutorange:a0e(),draw:o0e.draw,drawOne:o0e.drawOne}});var qU=ye((Tar,c0e)=>{\"use strict\";var u0e=ad(),Vpt=Vs().templatedArray,war=PM();c0e.exports=Vpt(\"image\",{visible:{valType:\"boolean\",dflt:!0,editType:\"arraydraw\"},source:{valType:\"string\",editType:\"arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\",editType:\"arraydraw\"},sizex:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizey:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizing:{valType:\"enumerated\",values:[\"fill\",\"contain\",\"stretch\"],dflt:\"contain\",editType:\"arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},x:{valType:\"any\",dflt:0,editType:\"arraydraw\"},y:{valType:\"any\",dflt:0,editType:\"arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"top\",editType:\"arraydraw\"},xref:{valType:\"enumerated\",values:[\"paper\",u0e.idRegex.x.toString()],dflt:\"paper\",editType:\"arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",u0e.idRegex.y.toString()],dflt:\"paper\",editType:\"arraydraw\"},editType:\"arraydraw\"})});var h0e=ye((Aar,f0e)=>{\"use strict\";var Hpt=Mr(),OU=Qa(),Gpt=Zd(),jpt=qU(),Wpt=\"images\";f0e.exports=function(t,r){var n={name:Wpt,handleItemDefaults:Zpt};Gpt(t,r,n)};function Zpt(e,t,r){function n(h,d){return Hpt.coerce(e,t,jpt,h,d)}var i=n(\"source\"),a=n(\"visible\",!!i);if(!a)return t;n(\"layer\"),n(\"xanchor\"),n(\"yanchor\"),n(\"sizex\"),n(\"sizey\"),n(\"sizing\"),n(\"opacity\");for(var o={_fullLayout:r},s=[\"x\",\"y\"],l=0;l<2;l++){var u=s[l],c=OU.coerceRef(e,t,o,u,\"paper\",void 0);if(c!==\"paper\"){var f=OU.getFromId(o,c);f._imgIndices.push(t._index)}OU.coercePosition(t,o,n,c,u,0)}return t}});var g0e=ye((Sar,p0e)=>{\"use strict\";var d0e=xa(),Xpt=ao(),vT=Qa(),v0e=af(),Ypt=Zp();p0e.exports=function(t){var r=t._fullLayout,n=[],i={},a=[],o,s;for(s=0;s<r.images.length;s++){var l=r.images[s];if(l.visible)if(l.layer===\"below\"&&l.xref!==\"paper\"&&l.yref!==\"paper\"){o=v0e.ref2id(l.xref)+v0e.ref2id(l.yref);var u=r._plots[o];if(!u){a.push(l);continue}u.mainplot&&(o=u.mainplot.id),i[o]||(i[o]=[]),i[o].push(l)}else l.layer===\"above\"?n.push(l):a.push(l)}var c={x:{left:{sizing:\"xMin\",offset:0},center:{sizing:\"xMid\",offset:-1/2},right:{sizing:\"xMax\",offset:-1}},y:{top:{sizing:\"YMin\",offset:0},middle:{sizing:\"YMid\",offset:-1/2},bottom:{sizing:\"YMax\",offset:-1}}};function f(A){var L=d0e.select(this);if(this._imgSrc!==A.source)if(L.attr(\"xmlns\",Ypt.svg),!t._context.staticPlot||A.source&&A.source.slice(0,5)===\"data:\")L.attr(\"xlink:href\",A.source),this._imgSrc=A.source;else{var _=new Promise(function(C){var M=new Image;this.img=M,M.setAttribute(\"crossOrigin\",\"anonymous\"),M.onerror=g,M.onload=function(){var P=document.createElement(\"canvas\");P.width=this.width,P.height=this.height;var T=P.getContext(\"2d\",{willReadFrequently:!0});T.drawImage(this,0,0);var F=P.toDataURL(\"image/png\");L.attr(\"xlink:href\",F),C()},L.on(\"error\",g),M.src=A.source,this._imgSrc=A.source;function g(){L.remove(),C()}}.bind(this));t._promises.push(_)}}function h(A){var L=d0e.select(this),_=vT.getFromId(t,A.xref),C=vT.getFromId(t,A.yref),M=vT.getRefType(A.xref)===\"domain\",g=vT.getRefType(A.yref)===\"domain\",P=r._size,T,F;_!==void 0?T=typeof A.xref==\"string\"&&M?_._length*A.sizex:Math.abs(_.l2p(A.sizex)-_.l2p(0)):T=A.sizex*P.w,C!==void 0?F=typeof A.yref==\"string\"&&g?C._length*A.sizey:Math.abs(C.l2p(A.sizey)-C.l2p(0)):F=A.sizey*P.h;var q=T*c.x[A.xanchor].offset,V=F*c.y[A.yanchor].offset,H=c.x[A.xanchor].sizing+c.y[A.yanchor].sizing,X,G;switch(_!==void 0?X=typeof A.xref==\"string\"&&M?_._length*A.x+_._offset:_.r2p(A.x)+_._offset:X=A.x*P.w+P.l,X+=q,C!==void 0?G=typeof A.yref==\"string\"&&g?C._length*(1-A.y)+C._offset:C.r2p(A.y)+C._offset:G=P.h-A.y*P.h+P.t,G+=V,A.sizing){case\"fill\":H+=\" slice\";break;case\"stretch\":H=\"none\";break}L.attr({x:X,y:G,width:T,height:F,preserveAspectRatio:H,opacity:A.opacity});var N=_&&vT.getRefType(A.xref)!==\"domain\"?_._id:\"\",W=C&&vT.getRefType(A.yref)!==\"domain\"?C._id:\"\",re=N+W;Xpt.setClipUrl(L,re?\"clip\"+r._uid+re:null,t)}function d(A){return[A.xref,A.x,A.sizex,A.yref,A.y,A.sizey].join(\"_\")}function v(A,L){return A._index-L._index}var x=r._imageLowerLayer.selectAll(\"image\").data(a,d),b=r._imageUpperLayer.selectAll(\"image\").data(n,d);x.enter().append(\"image\"),b.enter().append(\"image\"),x.exit().remove(),b.exit().remove(),x.each(function(A){f.bind(this)(A),h.bind(this)(A)}),b.each(function(A){f.bind(this)(A),h.bind(this)(A)}),x.sort(v),b.sort(v);var p=Object.keys(r._plots);for(s=0;s<p.length;s++){o=p[s];var E=r._plots[o];if(E.imagelayer){var k=E.imagelayer.selectAll(\"image\").data(i[o]||[],d);k.enter().append(\"image\"),k.exit().remove(),k.each(function(A){f.bind(this)(A),h.bind(this)(A)}),k.sort(v)}}}});var _0e=ye((Mar,y0e)=>{\"use strict\";var m0e=uo(),Kpt=u6();y0e.exports=function(t,r,n,i){r=r||{};var a=n===\"log\"&&r.type===\"linear\",o=n===\"linear\"&&r.type===\"log\";if(a||o){for(var s=t._fullLayout.images,l=r._id.charAt(0),u,c,f=0;f<s.length;f++)if(u=s[f],c=\"images[\"+f+\"].\",u[l+\"ref\"]===r._id){var h=u[l],d=u[\"size\"+l],v=null,x=null;if(a){v=Kpt(h,r.range);var b=d/Math.pow(10,v)/2;x=2*Math.log(b+Math.sqrt(1+b*b))/Math.LN10}else v=Math.pow(10,h),x=v*(Math.pow(10,d/2)-Math.pow(10,-d/2));m0e(v)?m0e(x)||(x=null):(v=null,x=null),i(c+l,v),i(c+\"size\"+l,x)}}}});var b0e=ye((Ear,x0e)=>{\"use strict\";x0e.exports={moduleType:\"component\",name:\"images\",layoutAttributes:qU(),supplyLayoutDefaults:h0e(),includeBasePlot:IM()(\"images\"),draw:g0e(),convertCoords:_0e()}});var dI=ye((kar,w0e)=>{\"use strict\";w0e.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\"}}});var BU=ye((Car,A0e)=>{\"use strict\";var Jpt=Su(),$pt=dh(),Qpt=no().extendFlat,e0t=Bu().overrideAll,t0t=w6(),T0e=Vs().templatedArray,r0t=T0e(\"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}});A0e.exports=e0t(T0e(\"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:r0t,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:Qpt(t0t({editType:\"arraydraw\"}),{}),font:Jpt({}),bgcolor:{valType:\"color\"},bordercolor:{valType:\"color\",dflt:$pt.borderLine},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"arraydraw\"}}),\"arraydraw\",\"from-root\")});var k0e=ye((Lar,E0e)=>{\"use strict\";var vI=Mr(),S0e=Zd(),M0e=BU(),i0t=dI(),n0t=i0t.name,a0t=M0e.buttons;E0e.exports=function(t,r){var n={name:n0t,handleItemDefaults:o0t};S0e(t,r,n)};function o0t(e,t,r){function n(o,s){return vI.coerce(e,t,M0e,o,s)}var i=S0e(e,t,{name:\"buttons\",handleItemDefaults:s0t}),a=n(\"visible\",i.length>0);a&&(n(\"active\"),n(\"direction\"),n(\"type\"),n(\"showactive\"),n(\"x\"),n(\"y\"),vI.noneOrAll(e,t,[\"x\",\"y\"]),n(\"xanchor\"),n(\"yanchor\"),n(\"pad.t\"),n(\"pad.r\"),n(\"pad.b\"),n(\"pad.l\"),vI.coerceFont(n,\"font\",r.font),n(\"bgcolor\",r.paper_bgcolor),n(\"bordercolor\"),n(\"borderwidth\"))}function s0t(e,t){function r(i,a){return vI.coerce(e,t,a0t,i,a)}var n=r(\"visible\",e.method===\"skip\"||Array.isArray(e.args));n&&(r(\"method\"),r(\"args\"),r(\"args2\"),r(\"label\"),r(\"execute\"))}});var P0e=ye((Par,L0e)=>{\"use strict\";L0e.exports=of;var qg=xa(),C0e=va(),pT=ao(),pI=Mr();function of(e,t,r){this.gd=e,this.container=t,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll(\"rect.scrollbox-bg\").data([0]),this.bg.exit().on(\".drag\",null).on(\"wheel\",null).remove(),this.bg.enter().append(\"rect\").classed(\"scrollbox-bg\",!0).style(\"pointer-events\",\"all\").attr({opacity:0,x:0,y:0,width:0,height:0})}of.barWidth=2;of.barLength=20;of.barRadius=2;of.barPad=1;of.barColor=\"#808BA4\";of.prototype.enable=function(t,r,n){var i=this.gd._fullLayout,a=i.width,o=i.height;this.position=t;var s=this.position.l,l=this.position.w,u=this.position.t,c=this.position.h,f=this.position.direction,h=f===\"down\",d=f===\"left\",v=f===\"right\",x=f===\"up\",b=l,p=c,E,k,A,L;!h&&!d&&!v&&!x&&(this.position.direction=\"down\",h=!0);var _=h||x;_?(E=s,k=E+b,h?(A=u,L=Math.min(A+p,o),p=L-A):(L=u+p,A=Math.max(L-p,0),p=L-A)):(A=u,L=A+p,d?(k=s+b,E=Math.max(k-b,0),b=k-E):(E=s,k=Math.min(E+b,a),b=k-E)),this._box={l:E,t:A,w:b,h:p};var C=l>b,M=of.barLength+2*of.barPad,g=of.barWidth+2*of.barPad,P=s,T=u+c;T+g>o&&(T=o-g);var F=this.container.selectAll(\"rect.scrollbar-horizontal\").data(C?[0]:[]);F.exit().on(\".drag\",null).remove(),F.enter().append(\"rect\").classed(\"scrollbar-horizontal\",!0).call(C0e.fill,of.barColor),C?(this.hbar=F.attr({rx:of.barRadius,ry:of.barRadius,x:P,y:T,width:M,height:g}),this._hbarXMin=P+M/2,this._hbarTranslateMax=b-M):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var q=c>p,V=of.barWidth+2*of.barPad,H=of.barLength+2*of.barPad,X=s+l,G=u;X+V>a&&(X=a-V);var N=this.container.selectAll(\"rect.scrollbar-vertical\").data(q?[0]:[]);N.exit().on(\".drag\",null).remove(),N.enter().append(\"rect\").classed(\"scrollbar-vertical\",!0).call(C0e.fill,of.barColor),q?(this.vbar=N.attr({rx:of.barRadius,ry:of.barRadius,x:X,y:G,width:V,height:H}),this._vbarYMin=G+H/2,this._vbarTranslateMax=p-H):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var W=this.id,re=E-.5,ae=q?k+V+.5:k+.5,_e=A-.5,Me=C?L+g+.5:L+.5,ke=i._topdefs.selectAll(\"#\"+W).data(C||q?[0]:[]);if(ke.exit().remove(),ke.enter().append(\"clipPath\").attr(\"id\",W).append(\"rect\"),C||q?(this._clipRect=ke.select(\"rect\").attr({x:Math.floor(re),y:Math.floor(_e),width:Math.ceil(ae)-Math.floor(re),height:Math.ceil(Me)-Math.floor(_e)}),this.container.call(pT.setClipUrl,W,this.gd),this.bg.attr({x:s,y:u,width:l,height:c})):(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(pT.setClipUrl,null),delete this._clipRect),C||q){var ge=qg.behavior.drag().on(\"dragstart\",function(){qg.event.sourceEvent.preventDefault()}).on(\"drag\",this._onBoxDrag.bind(this));this.container.on(\"wheel\",null).on(\"wheel\",this._onBoxWheel.bind(this)).on(\".drag\",null).call(ge);var ie=qg.behavior.drag().on(\"dragstart\",function(){qg.event.sourceEvent.preventDefault(),qg.event.sourceEvent.stopPropagation()}).on(\"drag\",this._onBarDrag.bind(this));C&&this.hbar.on(\".drag\",null).call(ie),q&&this.vbar.on(\".drag\",null).call(ie)}this.setTranslate(r,n)};of.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(pT.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)};of.prototype._onBoxDrag=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t-=qg.event.dx),this.vbar&&(r-=qg.event.dy),this.setTranslate(t,r)};of.prototype._onBoxWheel=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t+=qg.event.deltaY),this.vbar&&(r+=qg.event.deltaY),this.setTranslate(t,r)};of.prototype._onBarDrag=function(){var t=this.translateX,r=this.translateY;if(this.hbar){var n=t+this._hbarXMin,i=n+this._hbarTranslateMax,a=pI.constrain(qg.event.x,n,i),o=(a-n)/(i-n),s=this.position.w-this._box.w;t=o*s}if(this.vbar){var l=r+this._vbarYMin,u=l+this._vbarTranslateMax,c=pI.constrain(qg.event.y,l,u),f=(c-l)/(u-l),h=this.position.h-this._box.h;r=f*h}this.setTranslate(t,r)};of.prototype.setTranslate=function(t,r){var n=this.position.w-this._box.w,i=this.position.h-this._box.h;if(t=pI.constrain(t||0,0,n),r=pI.constrain(r||0,0,i),this.translateX=t,this.translateY=r,this.container.call(pT.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-r),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+r-.5)}),this.hbar){var a=t/n;this.hbar.call(pT.setTranslate,t+a*this._hbarTranslateMax,r)}if(this.vbar){var o=r/i;this.vbar.call(pT.setTranslate,t,r+o*this._vbarTranslateMax)}}});var U0e=ye((Iar,N0e)=>{\"use strict\";var gT=xa(),t4=Xu(),r4=va(),mT=ao(),e0=Mr(),gI=Pl(),l0t=Vs().arrayEditor,R0e=Nh().LINE_SPACING,Go=dI(),u0t=P0e();N0e.exports=function(t){var r=t._fullLayout,n=e0.filterVisible(r[Go.name]);function i(h){t4.autoMargin(t,O0e(h))}var a=r._menulayer.selectAll(\"g.\"+Go.containerClassName).data(n.length>0?[0]:[]);if(a.enter().append(\"g\").classed(Go.containerClassName,!0).style(\"cursor\",\"pointer\"),a.exit().each(function(){gT.select(this).selectAll(\"g.\"+Go.headerGroupClassName).each(i)}).remove(),n.length!==0){var o=a.selectAll(\"g.\"+Go.headerGroupClassName).data(n,c0t);o.enter().append(\"g\").classed(Go.headerGroupClassName,!0);for(var s=e0.ensureSingle(a,\"g\",Go.dropdownButtonGroupClassName,function(h){h.style(\"pointer-events\",\"all\")}),l=0;l<n.length;l++){var u=n[l];g0t(t,u)}var c=\"updatemenus\"+r._uid,f=new u0t(t,s,c);o.enter().size()&&(s.node().parentNode.appendChild(s.node()),s.call(UU)),o.exit().each(function(h){s.call(UU),i(h)}).remove(),o.each(function(h){var d=gT.select(this),v=h.type===\"dropdown\"?s:null;t4.manageCommandObserver(t,h,h.buttons,function(x){NU(t,h,h.buttons[x.index],d,v,f,x.index,!0)}),h.type===\"dropdown\"?(z0e(t,d,s,f,h),D0e(s,h)&&i4(t,d,s,f,h)):i4(t,d,null,null,h)})}};function c0t(e){return e._index}function f0t(e){return+e.attr(Go.menuIndexAttrName)==-1}function D0e(e,t){return+e.attr(Go.menuIndexAttrName)===t._index}function NU(e,t,r,n,i,a,o,s){t.active=o,l0t(e.layout,Go.name,t).applyUpdate(\"active\",o),t.type===\"buttons\"?i4(e,n,null,null,t):t.type===\"dropdown\"&&(i.attr(Go.menuIndexAttrName,\"-1\"),z0e(e,n,i,a,t),s||i4(e,n,i,a,t))}function z0e(e,t,r,n,i){var a=e0.ensureSingle(t,\"g\",Go.headerClassName,function(h){h.style(\"pointer-events\",\"all\")}),o=i._dims,s=i.active,l=i.buttons[s]||Go.blankHeaderOpts,u={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},c={width:o.headerWidth,height:o.headerHeight};a.call(VU,i,l,e).call(B0e,i,u,c);var f=e0.ensureSingle(t,\"text\",Go.headerArrowClassName,function(h){h.attr(\"text-anchor\",\"end\").call(mT.font,i.font).text(Go.arrowSymbol[i.direction])});f.attr({x:o.headerWidth-Go.arrowOffsetX+i.pad.l,y:o.headerHeight/2+Go.textOffsetY+i.pad.t}),a.on(\"click\",function(){r.call(UU,String(D0e(r,i)?-1:i._index)),i4(e,t,r,n,i)}),a.on(\"mouseover\",function(){a.call(F0e)}),a.on(\"mouseout\",function(){a.call(q0e,i)}),mT.setTranslate(t,o.lx,o.ly)}function i4(e,t,r,n,i){r||(r=t,r.attr(\"pointer-events\",\"all\"));var a=!f0t(r)||i.type===\"buttons\"?i.buttons:[],o=i.type===\"dropdown\"?Go.dropdownButtonClassName:Go.buttonClassName,s=r.selectAll(\"g.\"+o).data(e0.filterVisible(a)),l=s.enter().append(\"g\").classed(o,!0),u=s.exit();i.type===\"dropdown\"?(l.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),u.transition().attr(\"opacity\",\"0\").remove()):u.remove();var c=0,f=0,h=i._dims,d=[\"up\",\"down\"].indexOf(i.direction)!==-1;i.type===\"dropdown\"&&(d?f=h.headerHeight+Go.gapButtonHeader:c=h.headerWidth+Go.gapButtonHeader),i.type===\"dropdown\"&&i.direction===\"up\"&&(f=-Go.gapButtonHeader+Go.gapButton-h.openHeight),i.type===\"dropdown\"&&i.direction===\"left\"&&(c=-Go.gapButtonHeader+Go.gapButton-h.openWidth);var v={x:h.lx+c+i.pad.l,y:h.ly+f+i.pad.t,yPad:Go.gapButton,xPad:Go.gapButton,index:0},x={l:v.x+i.borderwidth,t:v.y+i.borderwidth};s.each(function(b,p){var E=gT.select(this);E.call(VU,i,b,e).call(B0e,i,v),E.on(\"click\",function(){gT.event.defaultPrevented||(b.execute&&(b.args2&&i.active===p?(NU(e,i,b,t,r,n,-1),t4.executeAPICommand(e,b.method,b.args2)):(NU(e,i,b,t,r,n,p),t4.executeAPICommand(e,b.method,b.args))),e.emit(\"plotly_buttonclicked\",{menu:i,button:b,active:i.active}))}),E.on(\"mouseover\",function(){E.call(F0e)}),E.on(\"mouseout\",function(){E.call(q0e,i),s.call(I0e,i)})}),s.call(I0e,i),d?(x.w=Math.max(h.openWidth,h.headerWidth),x.h=v.y-x.t):(x.w=v.x-x.l,x.h=Math.max(h.openHeight,h.headerHeight)),x.direction=i.direction,n&&(s.size()?h0t(e,t,r,n,i,x):d0t(n))}function h0t(e,t,r,n,i,a){var o=i.direction,s=o===\"up\"||o===\"down\",l=i._dims,u=i.active,c,f,h;if(s)for(f=0,h=0;h<u;h++)f+=l.heights[h]+Go.gapButton;else for(c=0,h=0;h<u;h++)c+=l.widths[h]+Go.gapButton;n.enable(a,c,f),n.hbar&&n.hbar.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),n.vbar&&n.vbar.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\")}function d0t(e){var t=!!e.hbar,r=!!e.vbar;t&&e.hbar.transition().attr(\"opacity\",\"0\").each(\"end\",function(){t=!1,r||e.disable()}),r&&e.vbar.transition().attr(\"opacity\",\"0\").each(\"end\",function(){r=!1,t||e.disable()})}function VU(e,t,r,n){e.call(v0t,t).call(p0t,t,r,n)}function v0t(e,t){var r=e0.ensureSingle(e,\"rect\",Go.itemRectClassName,function(n){n.attr({rx:Go.rx,ry:Go.ry,\"shape-rendering\":\"crispEdges\"})});r.call(r4.stroke,t.bordercolor).call(r4.fill,t.bgcolor).style(\"stroke-width\",t.borderwidth+\"px\")}function p0t(e,t,r,n){var i=e0.ensureSingle(e,\"text\",Go.itemTextClassName,function(s){s.attr({\"text-anchor\":\"start\",\"data-notex\":1})}),a=r.label,o=n._fullLayout._meta;o&&(a=e0.templateString(a,o)),i.call(mT.font,t.font).text(a).call(gI.convertToTspans,n)}function I0e(e,t){var r=t.active;e.each(function(n,i){var a=gT.select(this);i===r&&t.showactive&&a.select(\"rect.\"+Go.itemRectClassName).call(r4.fill,Go.activeColor)})}function F0e(e){e.select(\"rect.\"+Go.itemRectClassName).call(r4.fill,Go.hoverColor)}function q0e(e,t){e.select(\"rect.\"+Go.itemRectClassName).call(r4.fill,t.bgcolor)}function g0t(e,t){var r=t._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},n=mT.tester.selectAll(\"g.\"+Go.dropdownButtonClassName).data(e0.filterVisible(t.buttons));n.enter().append(\"g\").classed(Go.dropdownButtonClassName,!0);var i=[\"up\",\"down\"].indexOf(t.direction)!==-1;n.each(function(c,f){var h=gT.select(this);h.call(VU,t,c,e);var d=h.select(\".\"+Go.itemTextClassName),v=d.node()&&mT.bBox(d.node()).width,x=Math.max(v+Go.textPadX,Go.minWidth),b=t.font.size*R0e,p=gI.lineCount(d),E=Math.max(b*p,Go.minHeight)+Go.textOffsetY;E=Math.ceil(E),x=Math.ceil(x),r.widths[f]=x,r.heights[f]=E,r.height1=Math.max(r.height1,E),r.width1=Math.max(r.width1,x),i?(r.totalWidth=Math.max(r.totalWidth,x),r.openWidth=r.totalWidth,r.totalHeight+=E+Go.gapButton,r.openHeight+=E+Go.gapButton):(r.totalWidth+=x+Go.gapButton,r.openWidth+=x+Go.gapButton,r.totalHeight=Math.max(r.totalHeight,E),r.openHeight=r.totalHeight)}),i?r.totalHeight-=Go.gapButton:r.totalWidth-=Go.gapButton,r.headerWidth=r.width1+Go.arrowPadX,r.headerHeight=r.height1,t.type===\"dropdown\"&&(i?(r.width1+=Go.arrowPadX,r.totalHeight=r.height1):r.totalWidth=r.width1,r.totalWidth+=Go.arrowPadX),n.remove();var a=r.totalWidth+t.pad.l+t.pad.r,o=r.totalHeight+t.pad.t+t.pad.b,s=e._fullLayout._size;r.lx=s.l+s.w*t.x,r.ly=s.t+s.h*(1-t.y);var l=\"left\";e0.isRightAnchor(t)&&(r.lx-=a,l=\"right\"),e0.isCenterAnchor(t)&&(r.lx-=a/2,l=\"center\");var u=\"top\";e0.isBottomAnchor(t)&&(r.ly-=o,u=\"bottom\"),e0.isMiddleAnchor(t)&&(r.ly-=o/2,u=\"middle\"),r.totalWidth=Math.ceil(r.totalWidth),r.totalHeight=Math.ceil(r.totalHeight),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),t4.autoMargin(e,O0e(t),{x:t.x,y:t.y,l:a*({right:1,center:.5}[l]||0),r:a*({left:1,center:.5}[l]||0),b:o*({top:1,middle:.5}[u]||0),t:o*({bottom:1,middle:.5}[u]||0)})}function O0e(e){return Go.autoMarginIdRoot+e._index}function B0e(e,t,r,n){n=n||{};var i=e.select(\".\"+Go.itemRectClassName),a=e.select(\".\"+Go.itemTextClassName),o=t.borderwidth,s=r.index,l=t._dims;mT.setTranslate(e,o+r.x,o+r.y);var u=[\"up\",\"down\"].indexOf(t.direction)!==-1,c=n.height||(u?l.heights[s]:l.height1);i.attr({x:0,y:0,width:n.width||(u?l.width1:l.widths[s]),height:c});var f=t.font.size*R0e,h=gI.lineCount(a),d=(h-1)*f/2;gI.positionText(a,Go.textOffsetX,c/2-d+Go.textOffsetY),u?r.y+=l.heights[s]+r.yPad:r.x+=l.widths[s]+r.xPad,r.index++}function UU(e,t){e.attr(Go.menuIndexAttrName,t||\"-1\").selectAll(\"g.\"+Go.dropdownButtonClassName).remove()}});var H0e=ye((Rar,V0e)=>{\"use strict\";var m0t=dI();V0e.exports={moduleType:\"component\",name:m0t.name,layoutAttributes:BU(),supplyLayoutDefaults:k0e(),draw:U0e()}});var n4=ye((Dar,G0e)=>{\"use strict\";G0e.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}});var HU=ye((zar,Z0e)=>{\"use strict\";var j0e=Su(),y0t=w6(),_0t=no().extendDeepAll,x0t=Bu().overrideAll,b0t=zS(),W0e=Vs().templatedArray,Jb=n4(),w0t=W0e(\"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}});Z0e.exports=x0t(W0e(\"slider\",{visible:{valType:\"boolean\",dflt:!0},active:{valType:\"number\",min:0,dflt:0},steps:w0t,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:_0t(y0t({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:b0t.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:j0e({})},font:j0e({}),activebgcolor:{valType:\"color\",dflt:Jb.gripBgActiveColor},bgcolor:{valType:\"color\",dflt:Jb.railBgColor},bordercolor:{valType:\"color\",dflt:Jb.railBorderColor},borderwidth:{valType:\"number\",min:0,dflt:Jb.railBorderWidth},ticklen:{valType:\"number\",min:0,dflt:Jb.tickLength},tickcolor:{valType:\"color\",dflt:Jb.tickColor},tickwidth:{valType:\"number\",min:0,dflt:1},minorticklen:{valType:\"number\",min:0,dflt:Jb.minorTickLength}}),\"arraydraw\",\"from-root\")});var J0e=ye((Far,K0e)=>{\"use strict\";var yT=Mr(),X0e=Zd(),Y0e=HU(),T0t=n4(),A0t=T0t.name,S0t=Y0e.steps;K0e.exports=function(t,r){X0e(t,r,{name:A0t,handleItemDefaults:M0t})};function M0t(e,t,r){function n(f,h){return yT.coerce(e,t,Y0e,f,h)}for(var i=X0e(e,t,{name:\"steps\",handleItemDefaults:E0t}),a=0,o=0;o<i.length;o++)i[o].visible&&a++;var s;if(a<2?s=t.visible=!1:s=n(\"visible\"),!!s){t._stepCount=a;var l=t._visibleSteps=yT.filterVisible(i),u=n(\"active\");(i[u]||{}).visible||(t.active=l[0]._index),n(\"x\"),n(\"y\"),yT.noneOrAll(e,t,[\"x\",\"y\"]),n(\"xanchor\"),n(\"yanchor\"),n(\"len\"),n(\"lenmode\"),n(\"pad.t\"),n(\"pad.r\"),n(\"pad.b\"),n(\"pad.l\"),yT.coerceFont(n,\"font\",r.font);var c=n(\"currentvalue.visible\");c&&(n(\"currentvalue.xanchor\"),n(\"currentvalue.prefix\"),n(\"currentvalue.suffix\"),n(\"currentvalue.offset\"),yT.coerceFont(n,\"currentvalue.font\",t.font)),n(\"transition.duration\"),n(\"transition.easing\"),n(\"bgcolor\"),n(\"activebgcolor\"),n(\"bordercolor\"),n(\"borderwidth\"),n(\"ticklen\"),n(\"tickwidth\"),n(\"tickcolor\"),n(\"minorticklen\")}}function E0t(e,t){function r(a,o){return yT.coerce(e,t,S0t,a,o)}var n;if(e.method!==\"skip\"&&!Array.isArray(e.args)?n=t.visible=!1:n=r(\"visible\"),n){r(\"method\"),r(\"args\");var i=r(\"label\",\"step-\"+t._index);r(\"value\",i),r(\"execute\")}}});var sge=ye((qar,oge)=>{\"use strict\";var Og=xa(),mI=Xu(),x_=va(),Bg=ao(),t0=Mr(),k0t=t0.strTranslate,a4=Pl(),C0t=Vs().arrayEditor,gs=n4(),WU=Nh(),ege=WU.LINE_SPACING,GU=WU.FROM_TL,jU=WU.FROM_BR;oge.exports=function(t){var r=t._context.staticPlot,n=t._fullLayout,i=L0t(n,t),a=n._infolayer.selectAll(\"g.\"+gs.containerClassName).data(i.length>0?[0]:[]);a.enter().append(\"g\").classed(gs.containerClassName,!0).style(\"cursor\",r?null:\"ew-resize\");function o(c){c._commandObserver&&(c._commandObserver.remove(),delete c._commandObserver),mI.autoMargin(t,tge(c))}if(a.exit().each(function(){Og.select(this).selectAll(\"g.\"+gs.groupClassName).each(o)}).remove(),i.length!==0){var s=a.selectAll(\"g.\"+gs.groupClassName).data(i,P0t);s.enter().append(\"g\").classed(gs.groupClassName,!0),s.exit().each(o).remove();for(var l=0;l<i.length;l++){var u=i[l];I0t(t,u)}s.each(function(c){var f=Og.select(this);q0t(c),mI.manageCommandObserver(t,c,c._visibleSteps,function(h){var d=f.data()[0];d.active!==h.index&&(d._dragging||ige(t,f,d,h.index,!1,!0))}),R0t(t,Og.select(this),c)})}};function tge(e){return gs.autoMarginIdRoot+e._index}function L0t(e,t){for(var r=e[gs.name],n=[],i=0;i<r.length;i++){var a=r[i];a.visible&&(a._gd=t,n.push(a))}return n}function P0t(e){return e._index}function I0t(e,t){var r=Bg.tester.selectAll(\"g.\"+gs.labelGroupClass).data(t._visibleSteps);r.enter().append(\"g\").classed(gs.labelGroupClass,!0);var n=0,i=0;r.each(function(v){var x=Og.select(this),b=rge(x,{step:v},t),p=b.node();if(p){var E=Bg.bBox(p);i=Math.max(i,E.height),n=Math.max(n,E.width)}}),r.remove();var a=t._dims={};a.inputAreaWidth=Math.max(gs.railWidth,gs.gripHeight);var o=e._fullLayout._size;a.lx=o.l+o.w*t.x,a.ly=o.t+o.h*(1-t.y),t.lenmode===\"fraction\"?a.outerLength=Math.round(o.w*t.len):a.outerLength=t.len,a.inputAreaStart=0,a.inputAreaLength=Math.round(a.outerLength-t.pad.l-t.pad.r);var s=a.inputAreaLength-2*gs.stepInset,l=s/(t._stepCount-1),u=n+gs.labelPadding;if(a.labelStride=Math.max(1,Math.ceil(u/l)),a.labelHeight=i,a.currentValueMaxWidth=0,a.currentValueHeight=0,a.currentValueTotalHeight=0,a.currentValueMaxLines=1,t.currentvalue.visible){var c=Bg.tester.append(\"g\");r.each(function(v){var x=yI(c,t,v.label),b=x.node()&&Bg.bBox(x.node())||{width:0,height:0},p=a4.lineCount(x);a.currentValueMaxWidth=Math.max(a.currentValueMaxWidth,Math.ceil(b.width)),a.currentValueHeight=Math.max(a.currentValueHeight,Math.ceil(b.height)),a.currentValueMaxLines=Math.max(a.currentValueMaxLines,p)}),a.currentValueTotalHeight=a.currentValueHeight+t.currentvalue.offset,c.remove()}a.height=a.currentValueTotalHeight+gs.tickOffset+t.ticklen+gs.labelOffset+a.labelHeight+t.pad.t+t.pad.b;var f=\"left\";t0.isRightAnchor(t)&&(a.lx-=a.outerLength,f=\"right\"),t0.isCenterAnchor(t)&&(a.lx-=a.outerLength/2,f=\"center\");var h=\"top\";t0.isBottomAnchor(t)&&(a.ly-=a.height,h=\"bottom\"),t0.isMiddleAnchor(t)&&(a.ly-=a.height/2,h=\"middle\"),a.outerLength=Math.ceil(a.outerLength),a.height=Math.ceil(a.height),a.lx=Math.round(a.lx),a.ly=Math.round(a.ly);var d={y:t.y,b:a.height*jU[h],t:a.height*GU[h]};t.lenmode===\"fraction\"?(d.l=0,d.xl=t.x-t.len*GU[f],d.r=0,d.xr=t.x+t.len*jU[f]):(d.x=t.x,d.l=a.outerLength*GU[f],d.r=a.outerLength*jU[f]),mI.autoMargin(e,tge(t),d)}function R0t(e,t,r){(r.steps[r.active]||{}).visible||(r.active=r._visibleSteps[0]._index),t.call(yI,r).call(B0t,r).call(z0t,r).call(F0t,r).call(O0t,e,r).call(D0t,e,r);var n=r._dims;Bg.setTranslate(t,n.lx+r.pad.l,n.ly+r.pad.t),t.call(age,r,!1),t.call(yI,r)}function yI(e,t,r){if(t.currentvalue.visible){var n=t._dims,i,a;switch(t.currentvalue.xanchor){case\"right\":i=n.inputAreaLength-gs.currentValueInset-n.currentValueMaxWidth,a=\"left\";break;case\"center\":i=n.inputAreaLength*.5,a=\"middle\";break;default:i=gs.currentValueInset,a=\"left\"}var o=t0.ensureSingle(e,\"text\",gs.labelClass,function(h){h.attr({\"text-anchor\":a,\"data-notex\":1})}),s=t.currentvalue.prefix?t.currentvalue.prefix:\"\";if(typeof r==\"string\")s+=r;else{var l=t.steps[t.active].label,u=t._gd._fullLayout._meta;u&&(l=t0.templateString(l,u)),s+=l}t.currentvalue.suffix&&(s+=t.currentvalue.suffix),o.call(Bg.font,t.currentvalue.font).text(s).call(a4.convertToTspans,t._gd);var c=a4.lineCount(o),f=(n.currentValueMaxLines+1-c)*t.currentvalue.font.size*ege;return a4.positionText(o,i,f),o}}function D0t(e,t,r){var n=t0.ensureSingle(e,\"rect\",gs.gripRectClass,function(i){i.call(nge,t,e,r).style(\"pointer-events\",\"all\")});n.attr({width:gs.gripWidth,height:gs.gripHeight,rx:gs.gripRadius,ry:gs.gripRadius}).call(x_.stroke,r.bordercolor).call(x_.fill,r.bgcolor).style(\"stroke-width\",r.borderwidth+\"px\")}function rge(e,t,r){var n=t0.ensureSingle(e,\"text\",gs.labelClass,function(o){o.attr({\"text-anchor\":\"middle\",\"data-notex\":1})}),i=t.step.label,a=r._gd._fullLayout._meta;return a&&(i=t0.templateString(i,a)),n.call(Bg.font,r.font).text(i).call(a4.convertToTspans,r._gd),n}function z0t(e,t){var r=t0.ensureSingle(e,\"g\",gs.labelsClass),n=t._dims,i=r.selectAll(\"g.\"+gs.labelGroupClass).data(n.labelSteps);i.enter().append(\"g\").classed(gs.labelGroupClass,!0),i.exit().remove(),i.each(function(a){var o=Og.select(this);o.call(rge,a,t),Bg.setTranslate(o,ZU(t,a.fraction),gs.tickOffset+t.ticklen+t.font.size*ege+gs.labelOffset+n.currentValueTotalHeight)})}function $0e(e,t,r,n,i){var a=Math.round(n*(r._stepCount-1)),o=r._visibleSteps[a]._index;o!==r.active&&ige(e,t,r,o,!0,i)}function ige(e,t,r,n,i,a){var o=r.active;r.active=n,C0t(e.layout,gs.name,r).applyUpdate(\"active\",n);var s=r.steps[r.active];t.call(age,r,a),t.call(yI,r),e.emit(\"plotly_sliderchange\",{slider:r,step:r.steps[r.active],interaction:i,previousActive:o}),s&&s.method&&i&&(t._nextMethod?(t._nextMethod.step=s,t._nextMethod.doCallback=i,t._nextMethod.doTransition=a):(t._nextMethod={step:s,doCallback:i,doTransition:a},t._nextMethodRaf=window.requestAnimationFrame(function(){var l=t._nextMethod.step;l.method&&(l.execute&&mI.executeAPICommand(e,l.method,l.args),t._nextMethod=null,t._nextMethodRaf=null)})))}function nge(e,t,r){if(t._context.staticPlot)return;var n=r.node(),i=Og.select(t);function a(){return r.data()[0]}function o(){var s=a();t.emit(\"plotly_sliderstart\",{slider:s});var l=r.select(\".\"+gs.gripRectClass);Og.event.stopPropagation(),Og.event.preventDefault(),l.call(x_.fill,s.activebgcolor);var u=Q0e(s,Og.mouse(n)[0]);$0e(t,r,s,u,!0),s._dragging=!0;function c(){var h=a(),d=Q0e(h,Og.mouse(n)[0]);$0e(t,r,h,d,!1)}i.on(\"mousemove\",c),i.on(\"touchmove\",c);function f(){var h=a();h._dragging=!1,l.call(x_.fill,h.bgcolor),i.on(\"mouseup\",null),i.on(\"mousemove\",null),i.on(\"touchend\",null),i.on(\"touchmove\",null),t.emit(\"plotly_sliderend\",{slider:h,step:h.steps[h.active]})}i.on(\"mouseup\",f),i.on(\"touchend\",f)}e.on(\"mousedown\",o),e.on(\"touchstart\",o)}function F0t(e,t){var r=e.selectAll(\"rect.\"+gs.tickRectClass).data(t._visibleSteps),n=t._dims;r.enter().append(\"rect\").classed(gs.tickRectClass,!0),r.exit().remove(),r.attr({width:t.tickwidth+\"px\",\"shape-rendering\":\"crispEdges\"}),r.each(function(i,a){var o=a%n.labelStride===0,s=Og.select(this);s.attr({height:o?t.ticklen:t.minorticklen}).call(x_.fill,t.tickcolor),Bg.setTranslate(s,ZU(t,a/(t._stepCount-1))-.5*t.tickwidth,(o?gs.tickOffset:gs.minorTickOffset)+n.currentValueTotalHeight)})}function q0t(e){var t=e._dims;t.labelSteps=[];for(var r=e._stepCount,n=0;n<r;n+=t.labelStride)t.labelSteps.push({fraction:n/(r-1),step:e._visibleSteps[n]})}function age(e,t,r){for(var n=e.select(\"rect.\"+gs.gripRectClass),i=0,a=0;a<t._stepCount;a++)if(t._visibleSteps[a]._index===t.active){i=a;break}var o=ZU(t,i/(t._stepCount-1));if(!t._invokingCommand){var s=n;r&&t.transition.duration>0&&(s=s.transition().duration(t.transition.duration).ease(t.transition.easing)),s.attr(\"transform\",k0t(o-gs.gripWidth*.5,t._dims.currentValueTotalHeight))}}function ZU(e,t){var r=e._dims;return r.inputAreaStart+gs.stepInset+(r.inputAreaLength-2*gs.stepInset)*Math.min(1,Math.max(0,t))}function Q0e(e,t){var r=e._dims;return Math.min(1,Math.max(0,(t-gs.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*gs.stepInset-2*r.inputAreaStart)))}function O0t(e,t,r){var n=r._dims,i=t0.ensureSingle(e,\"rect\",gs.railTouchRectClass,function(a){a.call(nge,t,e,r).style(\"pointer-events\",\"all\")});i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,gs.tickOffset+r.ticklen+n.labelHeight)}).call(x_.fill,r.bgcolor).attr(\"opacity\",0),Bg.setTranslate(i,0,n.currentValueTotalHeight)}function B0t(e,t){var r=t._dims,n=r.inputAreaLength-gs.railInset*2,i=t0.ensureSingle(e,\"rect\",gs.railRectClass);i.attr({width:n,height:gs.railWidth,rx:gs.railRadius,ry:gs.railRadius,\"shape-rendering\":\"crispEdges\"}).call(x_.stroke,t.bordercolor).call(x_.fill,t.bgcolor).style(\"stroke-width\",t.borderwidth+\"px\"),Bg.setTranslate(i,gs.railInset,(r.inputAreaWidth-gs.railWidth)*.5+r.currentValueTotalHeight)}});var uge=ye((Oar,lge)=>{\"use strict\";var N0t=n4();lge.exports={moduleType:\"component\",name:N0t.name,layoutAttributes:HU(),supplyLayoutDefaults:J0e(),draw:sge()}});var _I=ye((Bar,fge)=>{\"use strict\";var cge=dh();fge.exports={bgcolor:{valType:\"color\",dflt:cge.background,editType:\"plot\"},bordercolor:{valType:\"color\",dflt:cge.defaultLine,editType:\"plot\"},borderwidth:{valType:\"integer\",dflt:0,min:0,editType:\"plot\"},autorange:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}}],editType:\"calc\",impliedEdits:{autorange:!1}},thickness:{valType:\"number\",dflt:.15,min:0,max:1,editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"}});var XU=ye((Nar,hge)=>{\"use strict\";hge.exports={_isSubplotObj:!0,rangemode:{valType:\"enumerated\",values:[\"auto\",\"fixed\",\"match\"],dflt:\"match\",editType:\"calc\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},editType:\"calc\"}});var xI=ye((Uar,dge)=>{\"use strict\";dge.exports={name:\"rangeslider\",containerClassName:\"rangeslider-container\",bgClassName:\"rangeslider-bg\",rangePlotClassName:\"rangeslider-rangeplot\",maskMinClassName:\"rangeslider-mask-min\",maskMaxClassName:\"rangeslider-mask-max\",slideBoxClassName:\"rangeslider-slidebox\",grabberMinClassName:\"rangeslider-grabber-min\",grabAreaMinClassName:\"rangeslider-grabarea-min\",handleMinClassName:\"rangeslider-handle-min\",grabberMaxClassName:\"rangeslider-grabber-max\",grabAreaMaxClassName:\"rangeslider-grabarea-max\",handleMaxClassName:\"rangeslider-handle-max\",maskMinOppAxisClassName:\"rangeslider-mask-min-opp-axis\",maskMaxOppAxisClassName:\"rangeslider-mask-max-opp-axis\",maskColor:\"rgba(0,0,0,0.4)\",maskOppAxisColor:\"rgba(0,0,0,0.2)\",slideBoxFill:\"transparent\",slideBoxCursor:\"ew-resize\",grabAreaFill:\"transparent\",grabAreaCursor:\"col-resize\",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}});var gge=ye(wI=>{\"use strict\";var U0t=af(),V0t=Pl(),vge=xI(),H0t=Nh().LINE_SPACING,bI=vge.name;function pge(e){var t=e&&e[bI];return t&&t.visible}wI.isVisible=pge;wI.makeData=function(e){for(var t=U0t.list({_fullLayout:e},\"x\",!0),r=e.margin,n=[],i=0;i<t.length;i++){var a=t[i];if(pge(a)){n.push(a);var o=a[bI];o._id=bI+a._id,o._height=(e.height-r.b-r.t)*o.thickness,o._offsetShift=Math.floor(o.borderwidth/2)}}e._rangeSliderData=n};wI.autoMarginOpts=function(e,t){var r=e._fullLayout,n=t[bI],i=t._id.charAt(0),a=0,o=0;if(t.side===\"bottom\"&&(a=t._depth,t.title.text!==r._dfltTitle[i])){o=1.5*t.title.font.size+10+n._offsetShift;var s=(t.title.text.match(V0t.BR_TAG_ALL)||[]).length;o+=s*t.title.font.size*H0t}return{x:0,y:t._counterDomainMin,l:0,r:0,t:0,b:n._height+a+Math.max(r.margin.b,o),pad:vge.extraPad+n._offsetShift*2}}});var xge=ye((Har,_ge)=>{\"use strict\";var TI=Mr(),mge=Vs(),yge=af(),G0t=_I(),j0t=XU();_ge.exports=function(t,r,n){var i=t[n],a=r[n];if(!(i.rangeslider||r._requestRangeslider[a._id]))return;TI.isPlainObject(i.rangeslider)||(i.rangeslider={});var o=i.rangeslider,s=mge.newContainer(a,\"rangeslider\");function l(L,_){return TI.coerce(o,s,G0t,L,_)}var u,c;function f(L,_){return TI.coerce(u,c,j0t,L,_)}var h=l(\"visible\");if(h){l(\"bgcolor\",r.plot_bgcolor),l(\"bordercolor\"),l(\"borderwidth\"),l(\"thickness\"),l(\"autorange\",!a.isValidRange(o.range)),l(\"range\");var d=r._subplots;if(d)for(var v=d.cartesian.filter(function(L){return L.substr(0,L.indexOf(\"y\"))===yge.name2id(n)}).map(function(L){return L.substr(L.indexOf(\"y\"),L.length)}),x=TI.simpleMap(v,yge.id2name),b=0;b<x.length;b++){var p=x[b];u=o[p]||{},c=mge.newContainer(s,p,\"yaxis\");var E=r[p],k;u.range&&E.isValidRange(u.range)&&(k=\"fixed\");var A=f(\"rangemode\",k);A!==\"match\"&&f(\"range\",E.range.slice())}s._input=o}}});var wge=ye((Gar,bge)=>{\"use strict\";var W0t=af().list,Z0t=wg().getAutoRange,X0t=xI();bge.exports=function(t){for(var r=W0t(t,\"x\",!0),n=0;n<r.length;n++){var i=r[n],a=i[X0t.name];a&&a.visible&&a.autorange&&(a._input.autorange=!0,a._input.range=a.range=Z0t(t,i))}}});var Mge=ye((jar,Sge)=>{\"use strict\";var AI=xa(),Y0t=ba(),K0t=Xu(),Ff=Mr(),SI=Ff.strTranslate,Age=ao(),b_=va(),J0t=Mb(),$0t=Jf(),YU=af(),Q0t=gv(),egt=Tg(),Bs=xI();Sge.exports=function(e){for(var t=e._fullLayout,r=t._rangeSliderData,n=0;n<r.length;n++){var i=r[n][Bs.name];i._clipId=i._id+\"-\"+t._uid}function a(s){return s._name}var o=t._infolayer.selectAll(\"g.\"+Bs.containerClassName).data(r,a);o.exit().each(function(s){var l=s[Bs.name];t._topdefs.select(\"#\"+l._clipId).remove()}).remove(),r.length!==0&&(o.enter().append(\"g\").classed(Bs.containerClassName,!0).attr(\"pointer-events\",\"all\"),o.each(function(s){var l=AI.select(this),u=s[Bs.name],c=t[YU.id2name(s.anchor)],f=u[YU.id2name(s.anchor)];if(u.range){var h=Ff.simpleMap(u.range,s.r2l),d=Ff.simpleMap(s.range,s.r2l),v;d[0]<d[1]?v=[Math.min(h[0],d[0]),Math.max(h[1],d[1])]:v=[Math.max(h[0],d[0]),Math.min(h[1],d[1])],u.range=u._input.range=Ff.simpleMap(v,s.l2r)}s.cleanRange(\"rangeslider.range\");var x=t._size,b=s.domain;u._width=x.w*(b[1]-b[0]);var p=Math.round(x.l+x.w*b[0]),E=Math.round(x.t+x.h*(1-s._counterDomainMin)+(s.side===\"bottom\"?s._depth:0)+u._offsetShift+Bs.extraPad);l.attr(\"transform\",SI(p,E)),u._rl=Ff.simpleMap(u.range,s.r2l);var k=u._rl[0],A=u._rl[1],L=A-k;if(u.p2d=function(H){return H/u._width*L+k},u.d2p=function(H){return(H-k)/L*u._width},s.rangebreaks){var _=s.locateBreaks(k,A);if(_.length){var C,M,g=0;for(C=0;C<_.length;C++)M=_[C],g+=M.max-M.min;var P=u._width/(A-k-g),T=[-P*k];for(C=0;C<_.length;C++)M=_[C],T.push(T[T.length-1]-P*(M.max-M.min));for(u.d2p=function(H){for(var X=T[0],G=0;G<_.length;G++){var N=_[G];if(H>=N.max)X=T[G+1];else if(H<N.min)break}return X+P*H},C=0;C<_.length;C++)M=_[C],M.pmin=u.d2p(M.min),M.pmax=u.d2p(M.max);u.p2d=function(H){for(var X=T[0],G=0;G<_.length;G++){var N=_[G];if(H>=N.pmax)X=T[G+1];else if(H<N.pmin)break}return(H-X)/P}}}if(f.rangemode!==\"match\"){var F=c.r2l(f.range[0]),q=c.r2l(f.range[1]),V=q-F;u.d2pOppAxis=function(H){return(H-F)/V*u._height}}l.call(ngt,e,s,u).call(agt,e,s,u).call(ogt,e,s,u).call(lgt,e,s,u,f).call(ugt,e,s,u).call(cgt,e,s,u),tgt(l,e,s,u),igt(l,e,s,u,c,f),s.side===\"bottom\"&&J0t.draw(e,s._id+\"title\",{propContainer:s,propName:s._name+\".title\",placeholder:t._dfltTitle.x,attributes:{x:s._offset+s._length/2,y:E+u._height+u._offsetShift+10+1.5*s.title.font.size,\"text-anchor\":\"middle\"}})}))};function Tge(e){return typeof e.clientX==\"number\"?e.clientX:e.touches&&e.touches.length>0?e.touches[0].clientX:0}function tgt(e,t,r,n){if(t._context.staticPlot)return;var i=e.select(\"rect.\"+Bs.slideBoxClassName).node(),a=e.select(\"rect.\"+Bs.grabAreaMinClassName).node(),o=e.select(\"rect.\"+Bs.grabAreaMaxClassName).node();function s(){var l=AI.event,u=l.target,c=Tge(l),f=c-e.node().getBoundingClientRect().left,h=n.d2p(r._rl[0]),d=n.d2p(r._rl[1]),v=Q0t.coverSlip();this.addEventListener(\"touchmove\",x),this.addEventListener(\"touchend\",b),v.addEventListener(\"mousemove\",x),v.addEventListener(\"mouseup\",b);function x(p){var E=Tge(p),k=+E-c,A,L,_;switch(u){case i:if(_=\"ew-resize\",h+k>r._length||d+k<0)return;A=h+k,L=d+k;break;case a:if(_=\"col-resize\",h+k>r._length)return;A=h+k,L=d;break;case o:if(_=\"col-resize\",d+k<0)return;A=h,L=d+k;break;default:_=\"ew-resize\",A=f,L=f+k;break}if(L<A){var C=L;L=A,A=C}n._pixelMin=A,n._pixelMax=L,egt(AI.select(v),_),rgt(e,t,r,n)}function b(){v.removeEventListener(\"mousemove\",x),v.removeEventListener(\"mouseup\",b),this.removeEventListener(\"touchmove\",x),this.removeEventListener(\"touchend\",b),Ff.removeElement(v)}}e.on(\"mousedown\",s),e.on(\"touchstart\",s)}function rgt(e,t,r,n){function i(s){return r.l2r(Ff.constrain(s,n._rl[0],n._rl[1]))}var a=i(n.p2d(n._pixelMin)),o=i(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){Y0t.call(\"_guiRelayout\",t,r._name+\".range\",[a,o])})}function igt(e,t,r,n,i,a){var o=Bs.handleWidth/2;function s(p){return Ff.constrain(p,0,n._width)}function l(p){return Ff.constrain(p,0,n._height)}function u(p){return Ff.constrain(p,-o,n._width+o)}var c=s(n.d2p(r._rl[0])),f=s(n.d2p(r._rl[1]));if(e.select(\"rect.\"+Bs.slideBoxClassName).attr(\"x\",c).attr(\"width\",f-c),e.select(\"rect.\"+Bs.maskMinClassName).attr(\"width\",c),e.select(\"rect.\"+Bs.maskMaxClassName).attr(\"x\",f).attr(\"width\",n._width-f),a.rangemode!==\"match\"){var h=n._height-l(n.d2pOppAxis(i._rl[1])),d=n._height-l(n.d2pOppAxis(i._rl[0]));e.select(\"rect.\"+Bs.maskMinOppAxisClassName).attr(\"x\",c).attr(\"height\",h).attr(\"width\",f-c),e.select(\"rect.\"+Bs.maskMaxOppAxisClassName).attr(\"x\",c).attr(\"y\",d).attr(\"height\",n._height-d).attr(\"width\",f-c),e.select(\"rect.\"+Bs.slideBoxClassName).attr(\"y\",h).attr(\"height\",d-h)}var v=.5,x=Math.round(u(c-o))-v,b=Math.round(u(f-o))+v;e.select(\"g.\"+Bs.grabberMinClassName).attr(\"transform\",SI(x,v)),e.select(\"g.\"+Bs.grabberMaxClassName).attr(\"transform\",SI(b,v))}function ngt(e,t,r,n){var i=Ff.ensureSingle(e,\"rect\",Bs.bgClassName,function(l){l.attr({x:0,y:0,\"shape-rendering\":\"crispEdges\"})}),a=n.borderwidth%2===0?n.borderwidth:n.borderwidth-1,o=-n._offsetShift,s=Age.crispRound(t,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:SI(o,o),\"stroke-width\":s}).call(b_.stroke,n.bordercolor).call(b_.fill,n.bgcolor)}function agt(e,t,r,n){var i=t._fullLayout,a=Ff.ensureSingleById(i._topdefs,\"clipPath\",n._clipId,function(o){o.append(\"rect\").attr({x:0,y:0})});a.select(\"rect\").attr({width:n._width,height:n._height})}function ogt(e,t,r,n){var i=t.calcdata,a=e.selectAll(\"g.\"+Bs.rangePlotClassName).data(r._subplotsWith,Ff.identity);a.enter().append(\"g\").attr(\"class\",function(s){return Bs.rangePlotClassName+\" \"+s}).call(Age.setClipUrl,n._clipId,t),a.order(),a.exit().remove();var o;a.each(function(s,l){var u=AI.select(this),c=l===0,f=YU.getFromId(t,s,\"y\"),h=f._name,d=n[h],v={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:n.range.slice(),calendar:r.calendar},width:n._width,height:n._height,margin:{t:0,b:0,l:0,r:0}},_context:t._context};r.rangebreaks&&(v.layout.xaxis.rangebreaks=r.rangebreaks),v.layout[h]={type:f.type,domain:[0,1],range:d.rangemode!==\"match\"?d.range.slice():f.range.slice(),calendar:f.calendar},f.rangebreaks&&(v.layout[h].rangebreaks=f.rangebreaks),K0t.supplyDefaults(v);var x=v._fullLayout.xaxis,b=v._fullLayout[h];x.clearCalc(),x.setScale(),b.clearCalc(),b.setScale();var p={id:s,plotgroup:u,xaxis:x,yaxis:b,isRangePlot:!0};c?o=p:(p.mainplot=\"xy\",p.mainplotinfo=o),$0t.rangePlot(t,p,sgt(i,s))})}function sgt(e,t){for(var r=[],n=0;n<e.length;n++){var i=e[n],a=i[0].trace;a.xaxis+a.yaxis===t&&r.push(i)}return r}function lgt(e,t,r,n,i){var a=Ff.ensureSingle(e,\"rect\",Bs.maskMinClassName,function(u){u.attr({x:0,y:0,\"shape-rendering\":\"crispEdges\"})});a.attr(\"height\",n._height).call(b_.fill,Bs.maskColor);var o=Ff.ensureSingle(e,\"rect\",Bs.maskMaxClassName,function(u){u.attr({y:0,\"shape-rendering\":\"crispEdges\"})});if(o.attr(\"height\",n._height).call(b_.fill,Bs.maskColor),i.rangemode!==\"match\"){var s=Ff.ensureSingle(e,\"rect\",Bs.maskMinOppAxisClassName,function(u){u.attr({y:0,\"shape-rendering\":\"crispEdges\"})});s.attr(\"width\",n._width).call(b_.fill,Bs.maskOppAxisColor);var l=Ff.ensureSingle(e,\"rect\",Bs.maskMaxOppAxisClassName,function(u){u.attr({y:0,\"shape-rendering\":\"crispEdges\"})});l.attr(\"width\",n._width).style(\"border-top\",Bs.maskOppBorder).call(b_.fill,Bs.maskOppAxisColor)}}function ugt(e,t,r,n){if(!t._context.staticPlot){var i=Ff.ensureSingle(e,\"rect\",Bs.slideBoxClassName,function(a){a.attr({y:0,cursor:Bs.slideBoxCursor,\"shape-rendering\":\"crispEdges\"})});i.attr({height:n._height,fill:Bs.slideBoxFill})}}function cgt(e,t,r,n){var i=Ff.ensureSingle(e,\"g\",Bs.grabberMinClassName),a=Ff.ensureSingle(e,\"g\",Bs.grabberMaxClassName),o={x:0,width:Bs.handleWidth,rx:Bs.handleRadius,fill:b_.background,stroke:b_.defaultLine,\"stroke-width\":Bs.handleStrokeWidth,\"shape-rendering\":\"crispEdges\"},s={y:Math.round(n._height/4),height:Math.round(n._height/2)},l=Ff.ensureSingle(i,\"rect\",Bs.handleMinClassName,function(d){d.attr(o)});l.attr(s);var u=Ff.ensureSingle(a,\"rect\",Bs.handleMaxClassName,function(d){d.attr(o)});u.attr(s);var c={width:Bs.grabAreaWidth,x:0,y:0,fill:Bs.grabAreaFill,cursor:t._context.staticPlot?void 0:Bs.grabAreaCursor},f=Ff.ensureSingle(i,\"rect\",Bs.grabAreaMinClassName,function(d){d.attr(c)});f.attr(\"height\",n._height);var h=Ff.ensureSingle(a,\"rect\",Bs.grabAreaMaxClassName,function(d){d.attr(c)});h.attr(\"height\",n._height)}});var kge=ye((War,Ege)=>{\"use strict\";var fgt=Mr(),hgt=_I(),dgt=XU(),KU=gge();Ege.exports={moduleType:\"component\",name:\"rangeslider\",schema:{subplots:{xaxis:{rangeslider:fgt.extendFlat({},hgt,{yaxis:dgt})}}},layoutAttributes:_I(),handleDefaults:xge(),calcAutorange:wge(),draw:Mge(),isVisible:KU.isVisible,makeData:KU.makeData,autoMarginOpts:KU.autoMarginOpts}});var MI=ye((Zar,Lge)=>{\"use strict\";var vgt=Su(),Cge=dh(),pgt=Vs().templatedArray,ggt=pgt(\"button\",{visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},step:{valType:\"enumerated\",values:[\"month\",\"year\",\"day\",\"hour\",\"minute\",\"second\",\"all\"],dflt:\"month\",editType:\"plot\"},stepmode:{valType:\"enumerated\",values:[\"backward\",\"todate\"],dflt:\"backward\",editType:\"plot\"},count:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},label:{valType:\"string\",editType:\"plot\"},editType:\"plot\"});Lge.exports={visible:{valType:\"boolean\",editType:\"plot\"},buttons:ggt,x:{valType:\"number\",min:-2,max:3,editType:\"plot\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"plot\"},y:{valType:\"number\",min:-2,max:3,editType:\"plot\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"bottom\",editType:\"plot\"},font:vgt({editType:\"plot\"}),bgcolor:{valType:\"color\",dflt:Cge.lightLine,editType:\"plot\"},activecolor:{valType:\"color\",editType:\"plot\"},bordercolor:{valType:\"color\",dflt:Cge.defaultLine,editType:\"plot\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"}});var JU=ye((Xar,Pge)=>{\"use strict\";Pge.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}});var Dge=ye((Yar,Rge)=>{\"use strict\";var EI=Mr(),mgt=va(),ygt=Vs(),_gt=Zd(),Ige=MI(),$U=JU();Rge.exports=function(t,r,n,i,a){var o=t.rangeselector||{},s=ygt.newContainer(r,\"rangeselector\");function l(d,v){return EI.coerce(o,s,Ige,d,v)}var u=_gt(o,s,{name:\"buttons\",handleItemDefaults:xgt,calendar:a}),c=l(\"visible\",u.length>0);if(c){var f=bgt(r,n,i);l(\"x\",f[0]),l(\"y\",f[1]),EI.noneOrAll(t,r,[\"x\",\"y\"]),l(\"xanchor\"),l(\"yanchor\"),EI.coerceFont(l,\"font\",n.font);var h=l(\"bgcolor\");l(\"activecolor\",mgt.contrast(h,$U.lightAmount,$U.darkAmount)),l(\"bordercolor\"),l(\"borderwidth\")}};function xgt(e,t,r,n){var i=n.calendar;function a(l,u){return EI.coerce(e,t,Ige.buttons,l,u)}var o=a(\"visible\");if(o){var s=a(\"step\");s!==\"all\"&&(i&&i!==\"gregorian\"&&(s===\"month\"||s===\"year\")?t.stepmode=\"backward\":a(\"stepmode\"),a(\"count\")),a(\"label\")}}function bgt(e,t,r){for(var n=r.filter(function(s){return t[s].anchor===e._id}),i=0,a=0;a<n.length;a++){var o=t[n[a]].domain;o&&(i=Math.max(o[1],i))}return[e.domain[0],i+$U.yPad]}});var Fge=ye((Kar,zge)=>{\"use strict\";var wgt=dq(),Tgt=Mr().titleCase;zge.exports=function(t,r){var n=t._name,i={};if(r.step===\"all\")i[n+\".autorange\"]=!0;else{var a=Agt(t,r);i[n+\".range[0]\"]=a[0],i[n+\".range[1]\"]=a[1]}return i};function Agt(e,t){var r=e.range,n=new Date(e.r2l(r[1])),i=t.step,a=wgt[\"utc\"+Tgt(i)],o=t.count,s;switch(t.stepmode){case\"backward\":s=e.l2r(+a.offset(n,-o));break;case\"todate\":var l=a.offset(n,-o);s=e.l2r(+a.ceil(l));break}var u=r[1];return[s,u]}});var Gge=ye((Jar,Hge)=>{\"use strict\";var CI=xa(),Sgt=ba(),Mgt=Xu(),qge=va(),Vge=ao(),Iy=Mr(),Oge=Iy.strTranslate,kI=Pl(),Egt=af(),tV=Nh(),Bge=tV.LINE_SPACING,Nge=tV.FROM_TL,Uge=tV.FROM_BR,eV=JU(),kgt=Fge();Hge.exports=function(t){var r=t._fullLayout,n=r._infolayer.selectAll(\".rangeselector\").data(Cgt(t),Lgt);n.enter().append(\"g\").classed(\"rangeselector\",!0),n.exit().remove(),n.style({cursor:\"pointer\",\"pointer-events\":\"all\"}),n.each(function(i){var a=CI.select(this),o=i,s=o.rangeselector,l=a.selectAll(\"g.button\").data(Iy.filterVisible(s.buttons));l.enter().append(\"g\").classed(\"button\",!0),l.exit().remove(),l.each(function(u){var c=CI.select(this),f=kgt(o,u);u._isActive=Pgt(o,u,f),c.call(QU,s,u),c.call(Rgt,s,u,t),c.on(\"click\",function(){t._dragged||Sgt.call(\"_guiRelayout\",t,f)}),c.on(\"mouseover\",function(){u._isHovered=!0,c.call(QU,s,u)}),c.on(\"mouseout\",function(){u._isHovered=!1,c.call(QU,s,u)})}),zgt(t,l,s,o._name,a)})};function Cgt(e){for(var t=Egt.list(e,\"x\",!0),r=[],n=0;n<t.length;n++){var i=t[n];i.rangeselector&&i.rangeselector.visible&&r.push(i)}return r}function Lgt(e){return e._id}function Pgt(e,t,r){if(t.step===\"all\")return e.autorange===!0;var n=Object.keys(r);return e.range[0]===r[n[0]]&&e.range[1]===r[n[1]]}function QU(e,t,r){var n=Iy.ensureSingle(e,\"rect\",\"selector-rect\",function(i){i.attr(\"shape-rendering\",\"crispEdges\")});n.attr({rx:eV.rx,ry:eV.ry}),n.call(qge.stroke,t.bordercolor).call(qge.fill,Igt(t,r)).style(\"stroke-width\",t.borderwidth+\"px\")}function Igt(e,t){return t._isActive||t._isHovered?e.activecolor:e.bgcolor}function Rgt(e,t,r,n){function i(o){kI.convertToTspans(o,n)}var a=Iy.ensureSingle(e,\"text\",\"selector-text\",function(o){o.attr(\"text-anchor\",\"middle\")});a.call(Vge.font,t.font).text(Dgt(r,n._fullLayout._meta)).call(i)}function Dgt(e,t){return e.label?t?Iy.templateString(e.label,t):e.label:e.step===\"all\"?\"all\":e.count+e.step.charAt(0)}function zgt(e,t,r,n,i){var a=0,o=0,s=r.borderwidth;t.each(function(){var d=CI.select(this),v=d.select(\".selector-text\"),x=r.font.size*Bge,b=Math.max(x*kI.lineCount(v),16)+3;o=Math.max(o,b)}),t.each(function(){var d=CI.select(this),v=d.select(\".selector-rect\"),x=d.select(\".selector-text\"),b=x.node()&&Vge.bBox(x.node()).width,p=r.font.size*Bge,E=kI.lineCount(x),k=Math.max(b+10,eV.minButtonWidth);d.attr(\"transform\",Oge(s+a,s)),v.attr({x:0,y:0,width:k,height:o}),kI.positionText(x,k/2,o/2-(E-1)*p/2+3),a+=k+5});var l=e._fullLayout._size,u=l.l+l.w*r.x,c=l.t+l.h*(1-r.y),f=\"left\";Iy.isRightAnchor(r)&&(u-=a,f=\"right\"),Iy.isCenterAnchor(r)&&(u-=a/2,f=\"center\");var h=\"top\";Iy.isBottomAnchor(r)&&(c-=o,h=\"bottom\"),Iy.isMiddleAnchor(r)&&(c-=o/2,h=\"middle\"),a=Math.ceil(a),o=Math.ceil(o),u=Math.round(u),c=Math.round(c),Mgt.autoMargin(e,n+\"-range-selector\",{x:r.x,y:r.y,l:a*Nge[f],r:a*Uge[f],b:o*Uge[h],t:o*Nge[h]}),i.attr(\"transform\",Oge(u,c))}});var Wge=ye(($ar,jge)=>{\"use strict\";jge.exports={moduleType:\"component\",name:\"rangeselector\",schema:{subplots:{xaxis:{rangeselector:MI()}}},layoutAttributes:MI(),handleDefaults:Dge(),draw:Gge()}});var Ju=ye(rV=>{\"use strict\";var Zge=no().extendFlat;rV.attributes=function(e,t){e=e||{},t=t||{};var r={valType:\"info_array\",editType:e.editType,items:[{valType:\"number\",min:0,max:1,editType:e.editType},{valType:\"number\",min:0,max:1,editType:e.editType}],dflt:[0,1]},n=e.name?e.name+\" \":\"\",i=e.trace?\"trace \":\"subplot \",a=t.description?\" \"+t.description:\"\",o={x:Zge({},r,{}),y:Zge({},r,{}),editType:e.editType};return e.noGridCell||(o.row={valType:\"integer\",min:0,dflt:0,editType:e.editType},o.column={valType:\"integer\",min:0,dflt:0,editType:e.editType}),o};rV.defaults=function(e,t,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=t.grid;if(o){var s=r(\"domain.column\");s!==void 0&&(s<o.columns?i=o._domains.x[s]:delete e.domain.column);var l=r(\"domain.row\");l!==void 0&&(l<o.rows?a=o._domains.y[l]:delete e.domain.row)}var u=r(\"domain.x\",i),c=r(\"domain.y\",a);u[0]<u[1]||(e.domain.x=i.slice()),c[0]<c[1]||(e.domain.y=a.slice())}});var nV=ye((eor,Jge)=>{\"use strict\";var Fgt=Mr(),qgt=n3().counter,Ogt=Ju().attributes,Xge=ad().idRegex,Bgt=Vs(),iV={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:[qgt(\"xy\").toString(),\"\"],editType:\"plot\"},editType:\"plot\"},xaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[Xge.x.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},yaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[Xge.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:Ogt({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 LI(e,t,r){var n=t[r+\"axes\"],i=Object.keys((e._splomAxes||{})[r]||{});if(Array.isArray(n))return n;if(i.length)return i}function Ngt(e,t){var r=e.grid||{},n=LI(t,r,\"x\"),i=LI(t,r,\"y\");if(!e.grid&&!n&&!i)return;var a=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),o=Array.isArray(n),s=Array.isArray(i),l=o&&n!==r.xaxes&&s&&i!==r.yaxes,u,c;a?(u=r.subplots.length,c=r.subplots[0].length):(s&&(u=i.length),o&&(c=n.length));var f=Bgt.newContainer(t,\"grid\");function h(_,C){return Fgt.coerce(r,f,iV,_,C)}var d=h(\"rows\",u),v=h(\"columns\",c);if(!(d*v>1)){delete t.grid;return}if(!a&&!o&&!s){var x=h(\"pattern\")===\"independent\";x&&(a=!0)}f._hasSubplotGrid=a;var b=h(\"roworder\"),p=b===\"top to bottom\",E=a?.2:.1,k=a?.3:.1,A,L;l&&t._splomGridDflt&&(A=t._splomGridDflt.xside,L=t._splomGridDflt.yside),f._domains={x:Yge(\"x\",h,E,A,v),y:Yge(\"y\",h,k,L,d,p)}}function Yge(e,t,r,n,i,a){var o=t(e+\"gap\",r),s=t(\"domain.\"+e);t(e+\"side\",n);for(var l=new Array(i),u=s[0],c=(s[1]-u)/(i-o),f=c*(1-o),h=0;h<i;h++){var d=u+c*h;l[a?i-1-h:h]=[d,d+f]}return l}function Ugt(e,t){var r=t.grid;if(!(!r||!r._domains)){var n=e.grid||{},i=t._subplots,a=r._hasSubplotGrid,o=r.rows,s=r.columns,l=r.pattern===\"independent\",u,c,f,h,d,v,x,b=r._axisMap={};if(a){var p=n.subplots||[];v=r.subplots=new Array(o);var E=1;for(u=0;u<o;u++){var k=v[u]=new Array(s),A=p[u]||[];for(c=0;c<s;c++)if(l?(d=E===1?\"xy\":\"x\"+E+\"y\"+E,E++):d=A[c],k[c]=\"\",i.cartesian.indexOf(d)!==-1){if(x=d.indexOf(\"y\"),f=d.slice(0,x),h=d.slice(x),b[f]!==void 0&&b[f]!==c||b[h]!==void 0&&b[h]!==u)continue;k[c]=d,b[f]=c,b[h]=u}}}else{var L=LI(t,n,\"x\"),_=LI(t,n,\"y\");r.xaxes=Kge(L,i.xaxis,s,b,\"x\"),r.yaxes=Kge(_,i.yaxis,o,b,\"y\")}var C=r._anchors={},M=r.roworder===\"top to bottom\";for(var g in b){var P=g.charAt(0),T=r[P+\"side\"],F,q,V;if(T.length<8)C[g]=\"free\";else if(P===\"x\"){if(T.charAt(0)===\"t\"===M?(F=0,q=1,V=o):(F=o-1,q=-1,V=-1),a){var H=b[g];for(u=F;u!==V;u+=q)if(d=v[u][H],!!d&&(x=d.indexOf(\"y\"),d.slice(0,x)===g)){C[g]=d.slice(x);break}}else for(u=F;u!==V;u+=q)if(h=r.yaxes[u],i.cartesian.indexOf(g+h)!==-1){C[g]=h;break}}else if(T.charAt(0)===\"l\"?(F=0,q=1,V=s):(F=s-1,q=-1,V=-1),a){var X=b[g];for(u=F;u!==V;u+=q)if(d=v[X][u],!!d&&(x=d.indexOf(\"y\"),d.slice(x)===g)){C[g]=d.slice(0,x);break}}else for(u=F;u!==V;u+=q)if(f=r.xaxes[u],i.cartesian.indexOf(f+g)!==-1){C[g]=f;break}}}}function Kge(e,t,r,n,i){var a=new Array(r),o;function s(l,u){t.indexOf(u)!==-1&&n[u]===void 0?(a[l]=u,n[u]=l):a[l]=\"\"}if(Array.isArray(e))for(o=0;o<r;o++)s(o,e[o]);else for(s(0,i),o=1;o<r;o++)s(o,i+(o+1));return a}Jge.exports={moduleType:\"component\",name:\"grid\",schema:{layout:{grid:iV}},layoutAttributes:iV,sizeDefaults:Ngt,contentDefaults:Ugt}});var aV=ye((tor,$ge)=>{\"use strict\";$ge.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\"}});var tme=ye((ror,eme)=>{\"use strict\";var Qge=uo(),Vgt=ba(),Hgt=Mr(),Ggt=Vs(),jgt=aV();eme.exports=function(e,t,r,n){var i=\"error_\"+n.axis,a=Ggt.newContainer(t,i),o=e[i]||{};function s(v,x){return Hgt.coerce(o,a,jgt,v,x)}var l=o.array!==void 0||o.value!==void 0||o.type===\"sqrt\",u=s(\"visible\",l);if(u!==!1){var c=s(\"type\",\"array\"in o?\"data\":\"percent\"),f=!0;c!==\"sqrt\"&&(f=s(\"symmetric\",!((c===\"data\"?\"arrayminus\":\"valueminus\")in o))),c===\"data\"?(s(\"array\"),s(\"traceref\"),f||(s(\"arrayminus\"),s(\"tracerefminus\"))):(c===\"percent\"||c===\"constant\")&&(s(\"value\"),f||s(\"valueminus\"));var h=\"copy_\"+n.inherit+\"style\";if(n.inherit){var d=t[\"error_\"+n.inherit];(d||{}).visible&&s(h,!(o.color||Qge(o.thickness)||Qge(o.width)))}(!n.inherit||!a[h])&&(s(\"color\",r),s(\"thickness\"),s(\"width\",Vgt.traceIs(t,\"gl3d\")?0:4))}}});var oV=ye((ior,ime)=>{\"use strict\";ime.exports=function(t){var r=t.type,n=t.symmetric;if(r===\"data\"){var i=t.array||[];if(n)return function(u,c){var f=+i[c];return[f,f]};var a=t.arrayminus||[];return function(u,c){var f=+i[c],h=+a[c];return!isNaN(f)||!isNaN(h)?[h||0,f||0]:[NaN,NaN]}}else{var o=rme(r,t.value),s=rme(r,t.valueminus);return n||t.valueminus===void 0?function(u){var c=o(u);return[c,c]}:function(u){return[s(u),o(u)]}}};function rme(e,t){if(e===\"percent\")return function(r){return Math.abs(r*t/100)};if(e===\"constant\")return function(){return Math.abs(t)};if(e===\"sqrt\")return function(r){return Math.sqrt(Math.abs(r))}}});var ome=ye((nor,ame)=>{\"use strict\";var sV=uo(),Wgt=ba(),lV=Qa(),Zgt=Mr(),Xgt=oV();ame.exports=function(t){for(var r=t.calcdata,n=0;n<r.length;n++){var i=r[n],a=i[0].trace;if(a.visible===!0&&Wgt.traceIs(a,\"errorBarsOK\")){var o=lV.getFromId(t,a.xaxis),s=lV.getFromId(t,a.yaxis);nme(i,a,o,\"x\"),nme(i,a,s,\"y\")}}};function nme(e,t,r,n){var i=t[\"error_\"+n]||{},a=i.visible&&[\"linear\",\"log\"].indexOf(r.type)!==-1,o=[];if(a){for(var s=Xgt(i),l=0;l<e.length;l++){var u=e[l],c=u.i;if(c===void 0)c=l;else if(c===null)continue;var f=u[n];if(sV(r.c2l(f))){var h=s(f,c);if(sV(h[0])&&sV(h[1])){var d=u[n+\"s\"]=f-h[0],v=u[n+\"h\"]=f+h[1];o.push(d,v)}}}var x=r._id,b=t._extremes[x],p=lV.findExtremes(r,o,Zgt.extendFlat({tozero:b.opts.tozero},{padded:!0}));b.min=b.min.concat(p.min),b.max=b.max.concat(p.max)}}});var ume=ye((aor,lme)=>{\"use strict\";var sme=xa(),w_=uo(),Ygt=ao(),Kgt=lu();lme.exports=function(t,r,n,i){var a,o=n.xaxis,s=n.yaxis,l=i&&i.duration>0,u=t._context.staticPlot;r.each(function(c){var f=c[0].trace,h=f.error_x||{},d=f.error_y||{},v;f.ids&&(v=function(E){return E.id});var x=Kgt.hasMarkers(f)&&f.marker.maxdisplayed>0;!d.visible&&!h.visible&&(c=[]);var b=sme.select(this).selectAll(\"g.errorbar\").data(c,v);if(b.exit().remove(),!!c.length){h.visible||b.selectAll(\"path.xerror\").remove(),d.visible||b.selectAll(\"path.yerror\").remove(),b.style(\"opacity\",1);var p=b.enter().append(\"g\").classed(\"errorbar\",!0);l&&p.style(\"opacity\",0).transition().duration(i.duration).style(\"opacity\",1),Ygt.setClipUrl(b,n.layerClipId,t),b.each(function(E){var k=sme.select(this),A=Jgt(E,o,s);if(!(x&&!E.vis)){var L,_=k.select(\"path.yerror\");if(d.visible&&w_(A.x)&&w_(A.yh)&&w_(A.ys)){var C=d.width;L=\"M\"+(A.x-C)+\",\"+A.yh+\"h\"+2*C+\"m-\"+C+\",0V\"+A.ys,A.noYS||(L+=\"m-\"+C+\",0h\"+2*C),a=!_.size(),a?_=k.append(\"path\").style(\"vector-effect\",u?\"none\":\"non-scaling-stroke\").classed(\"yerror\",!0):l&&(_=_.transition().duration(i.duration).ease(i.easing)),_.attr(\"d\",L)}else _.remove();var M=k.select(\"path.xerror\");if(h.visible&&w_(A.y)&&w_(A.xh)&&w_(A.xs)){var g=(h.copy_ystyle?d:h).width;L=\"M\"+A.xh+\",\"+(A.y-g)+\"v\"+2*g+\"m0,-\"+g+\"H\"+A.xs,A.noXS||(L+=\"m0,-\"+g+\"v\"+2*g),a=!M.size(),a?M=k.append(\"path\").style(\"vector-effect\",u?\"none\":\"non-scaling-stroke\").classed(\"xerror\",!0):l&&(M=M.transition().duration(i.duration).ease(i.easing)),M.attr(\"d\",L)}else M.remove()}})}})};function Jgt(e,t,r){var n={x:t.c2p(e.x),y:r.c2p(e.y)};return e.yh!==void 0&&(n.yh=r.c2p(e.yh),n.ys=r.c2p(e.ys),w_(n.ys)||(n.noYS=!0,n.ys=r.c2p(e.ys,!0))),e.xh!==void 0&&(n.xh=t.c2p(e.xh),n.xs=t.c2p(e.xs),w_(n.xs)||(n.noXS=!0,n.xs=t.c2p(e.xs,!0))),n}});var hme=ye((oor,fme)=>{\"use strict\";var $gt=xa(),cme=va();fme.exports=function(t){t.each(function(r){var n=r[0].trace,i=n.error_y||{},a=n.error_x||{},o=$gt.select(this);o.selectAll(\"path.yerror\").style(\"stroke-width\",i.thickness+\"px\").call(cme.stroke,i.color),a.copy_ystyle&&(a=i),o.selectAll(\"path.xerror\").style(\"stroke-width\",a.thickness+\"px\").call(cme.stroke,a.color)})}});var pme=ye((sor,vme)=>{\"use strict\";var o4=Mr(),dme=Bu().overrideAll,s4=aV(),$b={error_x:o4.extendFlat({},s4),error_y:o4.extendFlat({},s4)};delete $b.error_x.copy_zstyle;delete $b.error_y.copy_zstyle;delete $b.error_y.copy_ystyle;var l4={error_x:o4.extendFlat({},s4),error_y:o4.extendFlat({},s4),error_z:o4.extendFlat({},s4)};delete l4.error_x.copy_ystyle;delete l4.error_y.copy_ystyle;delete l4.error_z.copy_ystyle;delete l4.error_z.copy_zstyle;vme.exports={moduleType:\"component\",name:\"errorbars\",schema:{traces:{scatter:$b,bar:$b,histogram:$b,scatter3d:dme(l4,\"calc\",\"nested\"),scattergl:dme($b,\"calc\",\"nested\")}},supplyDefaults:tme(),calc:ome(),makeComputeError:oV(),plot:ume(),style:hme(),hoverInfo:Qgt};function Qgt(e,t,r){(t.error_y||{}).visible&&(r.yerr=e.yh-e.y,t.error_y.symmetric||(r.yerrneg=e.y-e.ys)),(t.error_x||{}).visible&&(r.xerr=e.xh-e.x,t.error_x.symmetric||(r.xerrneg=e.x-e.xs))}});var mme=ye((lor,gme)=>{\"use strict\";gme.exports={cn:{colorbar:\"colorbar\",cbbg:\"cbbg\",cbfill:\"cbfill\",cbfills:\"cbfills\",cbline:\"cbline\",cblines:\"cblines\",cbaxis:\"cbaxis\",cbtitleunshift:\"cbtitleunshift\",cbtitle:\"cbtitle\",cboutline:\"cboutline\",crisp:\"crisp\",jsPlaceholder:\"js-placeholder\"}}});var Ame=ye((uor,Tme)=>{\"use strict\";var T_=xa(),uV=id(),II=Xu(),yme=ba(),Ry=Qa(),PI=gv(),B0=Mr(),Ug=B0.strTranslate,wme=no().extendFlat,cV=Tg(),Ng=ao(),fV=va(),emt=Mb(),tmt=Pl(),rmt=Dv().flipScale,imt=JM(),nmt=iI(),amt=Cd(),hV=Nh(),_me=hV.LINE_SPACING,xme=hV.FROM_TL,bme=hV.FROM_BR,Vc=mme().cn;function omt(e){var t=e._fullLayout,r=t._infolayer.selectAll(\"g.\"+Vc.colorbar).data(smt(e),function(n){return n._id});r.enter().append(\"g\").attr(\"class\",function(n){return n._id}).classed(Vc.colorbar,!0),r.each(function(n){var i=T_.select(this);B0.ensureSingle(i,\"rect\",Vc.cbbg),B0.ensureSingle(i,\"g\",Vc.cbfills),B0.ensureSingle(i,\"g\",Vc.cblines),B0.ensureSingle(i,\"g\",Vc.cbaxis,function(o){o.classed(Vc.crisp,!0)}),B0.ensureSingle(i,\"g\",Vc.cbtitleunshift,function(o){o.append(\"g\").classed(Vc.cbtitle,!0)}),B0.ensureSingle(i,\"rect\",Vc.cboutline);var a=lmt(i,n,e);a&&a.then&&(e._promises||[]).push(a),e._context.edits.colorbarPosition&&umt(i,n,e)}),r.exit().each(function(n){II.autoMargin(e,n._id)}).remove(),r.order()}function smt(e){var t=e._fullLayout,r=e.calcdata,n=[],i,a,o,s;function l(k){return wme(k,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function u(){typeof s.calc==\"function\"?s.calc(e,o,i):(i._fillgradient=a.reversescale?rmt(a.colorscale):a.colorscale,i._zrange=[a[s.min],a[s.max]])}for(var c=0;c<r.length;c++){var f=r[c];if(o=f[0].trace,!!o._module){var h=o._module.colorbar;if(o.visible===!0&&h)for(var d=Array.isArray(h),v=d?h:[h],x=0;x<v.length;x++){s=v[x];var b=s.container;a=b?o[b]:o,a&&a.showscale&&(i=l(a.colorbar),i._id=\"cb\"+o.uid+(d&&b?\"-\"+b:\"\"),i._traceIndex=o.index,i._propPrefix=(b?b+\".\":\"\")+\"colorbar.\",i._meta=o._meta,u(),n.push(i))}}}for(var p in t._colorAxes)if(a=t[p],a.showscale){var E=t._colorAxes[p];i=l(a.colorbar),i._id=\"cb\"+p,i._propPrefix=p+\".colorbar.\",i._meta=t._meta,s={min:\"cmin\",max:\"cmax\"},E[0]!==\"heatmap\"&&(o=E[1],s.calc=o._module.colorbar.calc),u(),n.push(i)}return n}function lmt(e,t,r){var n=t.orientation===\"v\",i=t.len,a=t.lenmode,o=t.thickness,s=t.thicknessmode,l=t.outlinewidth,u=t.borderwidth,c=t.bgcolor,f=t.xanchor,h=t.yanchor,d=t.xpad,v=t.ypad,x=t.x,b=n?t.y:1-t.y,p=t.yref===\"paper\",E=t.xref===\"paper\",k=r._fullLayout,A=k._size,L=t._fillcolor,_=t._line,C=t.title,M=C.side,g=t._zrange||T_.extent((typeof L==\"function\"?L:_.color).domain()),P=typeof _.color==\"function\"?_.color:function(){return _.color},T=typeof L==\"function\"?L:function(){return L},F=t._levels,q=cmt(r,t,g),V=q.fill,H=q.line,X=Math.round(o*(s===\"fraction\"?n?A.w:A.h:1)),G=X/(n?A.w:A.h),N=Math.round(i*(a===\"fraction\"?n?A.h:A.w:1)),W=N/(n?A.h:A.w),re=E?A.w:r._fullLayout.width,ae=p?A.h:r._fullLayout.height,_e=Math.round(n?x*re+d:b*ae+v),Me={center:.5,right:1}[f]||0,ke={top:1,middle:.5}[h]||0,ge=n?x-Me*G:b-ke*G,ie=n?b-ke*W:x-Me*W,Te=Math.round(n?ae*(1-ie):re*ie);t._lenFrac=W,t._thickFrac=G,t._uFrac=ge,t._vFrac=ie;var Ee=t._axis=fmt(r,t,g);Ee.position=G+(n?x+d/A.w:b+v/A.h);var Ae=[\"top\",\"bottom\"].indexOf(M)!==-1;if(n&&Ae&&(Ee.title.side=M,Ee.titlex=x+d/A.w,Ee.titley=ie+(C.side===\"top\"?W-v/A.h:v/A.h)),!n&&!Ae&&(Ee.title.side=M,Ee.titley=b+v/A.h,Ee.titlex=ie+d/A.w),_.color&&t.tickmode===\"auto\"){Ee.tickmode=\"linear\",Ee.tick0=F.start;var ze=F.size,Ce=B0.constrain(N/50,4,15)+1,me=(g[1]-g[0])/((t.nticks||Ce)*ze);if(me>1){var Re=Math.pow(10,Math.floor(Math.log(me)/Math.LN10));ze*=Re*B0.roundUp(me/Re,[2,5,10]),(Math.abs(F.start)/F.size+1e-6)%1<2e-6&&(Ee.tick0=0)}Ee.dtick=ze}Ee.domain=n?[ie+v/A.h,ie+W-v/A.h]:[ie+d/A.w,ie+W-d/A.w],Ee.setScale(),e.attr(\"transform\",Ug(Math.round(A.l),Math.round(A.t)));var ce=e.select(\".\"+Vc.cbtitleunshift).attr(\"transform\",Ug(-Math.round(A.l),-Math.round(A.t))),Ge=Ee.ticklabelposition,nt=Ee.title.font.size,ct=e.select(\".\"+Vc.cbaxis),qt,rt=0,ot=0;function Rt(er,Ke){var xt={propContainer:Ee,propName:t._propPrefix+\"title\",traceIndex:t._traceIndex,_meta:t._meta,placeholder:k._dfltTitle.colorbar,containerGroup:e.select(\".\"+Vc.cbtitle)},bt=er.charAt(0)===\"h\"?er.substr(1):\"h\"+er;e.selectAll(\".\"+bt+\",.\"+bt+\"-math-group\").remove(),emt.draw(r,er,wme(xt,Ke||{}))}function kt(){if(n&&Ae||!n&&!Ae){var er,Ke;M===\"top\"&&(er=d+A.l+re*x,Ke=v+A.t+ae*(1-ie-W)+3+nt*.75),M===\"bottom\"&&(er=d+A.l+re*x,Ke=v+A.t+ae*(1-ie)-3-nt*.25),M===\"right\"&&(Ke=v+A.t+ae*b+3+nt*.75,er=d+A.l+re*ie),Rt(Ee._id+\"title\",{attributes:{x:er,y:Ke,\"text-anchor\":n?\"start\":\"middle\"}})}}function Ct(){if(n&&!Ae||!n&&Ae){var er=Ee.position||0,Ke=Ee._offset+Ee._length/2,xt,bt;if(M===\"right\")bt=Ke,xt=A.l+re*er+10+nt*(Ee.showticklabels?1:.5);else if(xt=Ke,M===\"bottom\"&&(bt=A.t+ae*er+10+(Ge.indexOf(\"inside\")===-1?Ee.tickfont.size:0)+(Ee.ticks!==\"intside\"&&t.ticklen||0)),M===\"top\"){var Lt=C.text.split(\"<br>\").length;bt=A.t+ae*er+10-X-_me*nt*Lt}Rt((n?\"h\":\"v\")+Ee._id+\"title\",{avoid:{selection:T_.select(r).selectAll(\"g.\"+Ee._id+\"tick\"),side:M,offsetTop:n?0:A.t,offsetLeft:n?A.l:0,maxShift:n?k.width:k.height},attributes:{x:xt,y:bt,\"text-anchor\":\"middle\"},transform:{rotate:n?-90:0,offset:0}})}}function Yt(){if(!n&&!Ae||n&&Ae){var er=e.select(\".\"+Vc.cbtitle),Ke=er.select(\"text\"),xt=[-l/2,l/2],bt=er.select(\".h\"+Ee._id+\"title-math-group\").node(),Lt=15.6;Ke.node()&&(Lt=parseInt(Ke.node().style.fontSize,10)*_me);var St;if(bt?(St=Ng.bBox(bt),ot=St.width,rt=St.height,rt>Lt&&(xt[1]-=(rt-Lt)/2)):Ke.node()&&!Ke.classed(Vc.jsPlaceholder)&&(St=Ng.bBox(Ke.node()),ot=St.width,rt=St.height),n){if(rt){if(rt+=5,M===\"top\")Ee.domain[1]-=rt/A.h,xt[1]*=-1;else{Ee.domain[0]+=rt/A.h;var Et=tmt.lineCount(Ke);xt[1]+=(1-Et)*Lt}er.attr(\"transform\",Ug(xt[0],xt[1])),Ee.setScale()}}else ot&&(M===\"right\"&&(Ee.domain[0]+=(ot+nt/2)/A.w),er.attr(\"transform\",Ug(xt[0],xt[1])),Ee.setScale())}e.selectAll(\".\"+Vc.cbfills+\",.\"+Vc.cblines).attr(\"transform\",n?Ug(0,Math.round(A.h*(1-Ee.domain[1]))):Ug(Math.round(A.w*Ee.domain[0]),0)),ct.attr(\"transform\",n?Ug(0,Math.round(-A.t)):Ug(Math.round(-A.l),0));var dt=e.select(\".\"+Vc.cbfills).selectAll(\"rect.\"+Vc.cbfill).attr(\"style\",\"\").data(V);dt.enter().append(\"rect\").classed(Vc.cbfill,!0).attr(\"style\",\"\"),dt.exit().remove();var Ht=g.map(Ee.c2p).map(Math.round).sort(function(Or,Nr){return Or-Nr});dt.each(function(Or,Nr){var ut=[Nr===0?g[0]:(V[Nr]+V[Nr-1])/2,Nr===V.length-1?g[1]:(V[Nr]+V[Nr+1])/2].map(Ee.c2p).map(Math.round);n&&(ut[1]=B0.constrain(ut[1]+(ut[1]>ut[0])?1:-1,Ht[0],Ht[1]));var Ne=T_.select(this).attr(n?\"x\":\"y\",_e).attr(n?\"y\":\"x\",T_.min(ut)).attr(n?\"width\":\"height\",Math.max(X,2)).attr(n?\"height\":\"width\",Math.max(T_.max(ut)-T_.min(ut),2));if(t._fillgradient)Ng.gradient(Ne,r,t._id,n?\"vertical\":\"horizontalreversed\",t._fillgradient,\"fill\");else{var Ye=T(Or).replace(\"e-\",\"\");Ne.attr(\"fill\",uV(Ye).toHexString())}});var $t=e.select(\".\"+Vc.cblines).selectAll(\"path.\"+Vc.cbline).data(_.color&&_.width?H:[]);$t.enter().append(\"path\").classed(Vc.cbline,!0),$t.exit().remove(),$t.each(function(Or){var Nr=_e,ut=Math.round(Ee.c2p(Or))+_.width/2%1;T_.select(this).attr(\"d\",\"M\"+(n?Nr+\",\"+ut:ut+\",\"+Nr)+(n?\"h\":\"v\")+X).call(Ng.lineGroupStyle,_.width,P(Or),_.dash)}),ct.selectAll(\"g.\"+Ee._id+\"tick,path\").remove();var fr=_e+X+(l||0)/2-(t.ticks===\"outside\"?1:0),_r=Ry.calcTicks(Ee),Br=Ry.getTickSigns(Ee)[2];return Ry.drawTicks(r,Ee,{vals:Ee.ticks===\"inside\"?Ry.clipEnds(Ee,_r):_r,layer:ct,path:Ry.makeTickPath(Ee,fr,Br),transFn:Ry.makeTransTickFn(Ee)}),Ry.drawLabels(r,Ee,{vals:_r,layer:ct,transFn:Ry.makeTransTickLabelFn(Ee),labelFns:Ry.makeLabelFns(Ee,fr)})}function xr(){var er,Ke=X+l/2;Ge.indexOf(\"inside\")===-1&&(er=Ng.bBox(ct.node()),Ke+=n?er.width:er.height),qt=ce.select(\"text\");var xt=0,bt=n&&M===\"top\",Lt=!n&&M===\"right\",St=0;if(qt.node()&&!qt.classed(Vc.jsPlaceholder)){var Et,dt=ce.select(\".h\"+Ee._id+\"title-math-group\").node();dt&&(n&&Ae||!n&&!Ae)?(er=Ng.bBox(dt),xt=er.width,Et=er.height):(er=Ng.bBox(ce.node()),xt=er.right-A.l-(n?_e:Te),Et=er.bottom-A.t-(n?Te:_e),!n&&M===\"top\"&&(Ke+=er.height,St=er.height)),Lt&&(qt.attr(\"transform\",Ug(xt/2+nt/2,0)),xt*=2),Ke=Math.max(Ke,n?xt:Et)}var Ht=(n?d:v)*2+Ke+u+l/2,$t=0;!n&&C.text&&h===\"bottom\"&&b<=0&&($t=Ht/2,Ht+=$t,St+=$t),k._hColorbarMoveTitle=$t,k._hColorbarMoveCBTitle=St;var fr=u+l,_r=(n?_e:Te)-fr/2-(n?d:0),Br=(n?Te:_e)-(n?N:v+St-$t);e.select(\".\"+Vc.cbbg).attr(\"x\",_r).attr(\"y\",Br).attr(n?\"width\":\"height\",Math.max(Ht-$t,2)).attr(n?\"height\":\"width\",Math.max(N+fr,2)).call(fV.fill,c).call(fV.stroke,t.bordercolor).style(\"stroke-width\",u);var Or=Lt?Math.max(xt-10,0):0;e.selectAll(\".\"+Vc.cboutline).attr(\"x\",(n?_e:Te+d)+Or).attr(\"y\",(n?Te+v-N:_e)+(bt?rt:0)).attr(n?\"width\":\"height\",Math.max(X,2)).attr(n?\"height\":\"width\",Math.max(N-(n?2*v+rt:2*d+Or),2)).call(fV.stroke,t.outlinecolor).style({fill:\"none\",\"stroke-width\":l});var Nr=n?Me*Ht:0,ut=n?0:(1-ke)*Ht-St;if(Nr=E?A.l-Nr:-Nr,ut=p?A.t-ut:-ut,e.attr(\"transform\",Ug(Nr,ut)),!n&&(u||uV(c).getAlpha()&&!uV.equals(k.paper_bgcolor,c))){var Ne=ct.selectAll(\"text\"),Ye=Ne[0].length,Ve=e.select(\".\"+Vc.cbbg).node(),Xe=Ng.bBox(Ve),ht=Ng.getTranslate(e),Le=2;Ne.each(function(ri,bi){var nn=0,Wi=Ye-1;if(bi===nn||bi===Wi){var Ni=Ng.bBox(this),_n=Ng.getTranslate(this),$i;if(bi===Wi){var zn=Ni.right+_n.x,Wn=Xe.right+ht.x+Te-u-Le+x;$i=Wn-zn,$i>0&&($i=0)}else if(bi===nn){var It=Ni.left+_n.x,ft=Xe.left+ht.x+Te+u+Le;$i=ft-It,$i<0&&($i=0)}$i&&(Ye<3?this.setAttribute(\"transform\",\"translate(\"+$i+\",0) \"+this.getAttribute(\"transform\")):this.setAttribute(\"visibility\",\"hidden\"))}})}var xe={},Se=xme[f],lt=bme[f],Gt=xme[h],Vt=bme[h],ar=Ht-X;n?(a===\"pixels\"?(xe.y=b,xe.t=N*Gt,xe.b=N*Vt):(xe.t=xe.b=0,xe.yt=b+i*Gt,xe.yb=b-i*Vt),s===\"pixels\"?(xe.x=x,xe.l=Ht*Se,xe.r=Ht*lt):(xe.l=ar*Se,xe.r=ar*lt,xe.xl=x-o*Se,xe.xr=x+o*lt)):(a===\"pixels\"?(xe.x=x,xe.l=N*Se,xe.r=N*lt):(xe.l=xe.r=0,xe.xl=x+i*Se,xe.xr=x-i*lt),s===\"pixels\"?(xe.y=1-b,xe.t=Ht*Gt,xe.b=Ht*Vt):(xe.t=ar*Gt,xe.b=ar*Vt,xe.yt=b-o*Gt,xe.yb=b+o*Vt));var Qr=t.y<.5?\"b\":\"t\",ai=t.x<.5?\"l\":\"r\";r._fullLayout._reservedMargin[t._id]={};var jr={r:k.width-_r-Nr,l:_r+xe.r,b:k.height-Br-ut,t:Br+xe.b};E&&p?II.autoMargin(r,t._id,xe):E?r._fullLayout._reservedMargin[t._id][Qr]=jr[Qr]:p||n?r._fullLayout._reservedMargin[t._id][ai]=jr[ai]:r._fullLayout._reservedMargin[t._id][Qr]=jr[Qr]}return B0.syncOrAsync([II.previousPromises,kt,Yt,Ct,II.previousPromises,xr],r)}function umt(e,t,r){var n=t.orientation===\"v\",i=r._fullLayout,a=i._size,o,s,l;PI.init({element:e.node(),gd:r,prepFn:function(){o=e.attr(\"transform\"),cV(e)},moveFn:function(u,c){e.attr(\"transform\",o+Ug(u,c)),s=PI.align((n?t._uFrac:t._vFrac)+u/a.w,n?t._thickFrac:t._lenFrac,0,1,t.xanchor),l=PI.align((n?t._vFrac:1-t._uFrac)-c/a.h,n?t._lenFrac:t._thickFrac,0,1,t.yanchor);var f=PI.getCursor(s,l,t.xanchor,t.yanchor);cV(e,f)},doneFn:function(){if(cV(e),s!==void 0&&l!==void 0){var u={};u[t._propPrefix+\"x\"]=s,u[t._propPrefix+\"y\"]=l,t._traceIndex!==void 0?yme.call(\"_guiRestyle\",r,u,t._traceIndex):yme.call(\"_guiRelayout\",r,u)}}})}function cmt(e,t,r){var n=t._levels,i=[],a=[],o,s,l=n.end+n.size/100,u=n.size,c=1.001*r[0]-.001*r[1],f=1.001*r[1]-.001*r[0];for(s=0;s<1e5&&(o=n.start+s*u,!(u>0?o>=l:o<=l));s++)o>c&&o<f&&i.push(o);if(t._fillgradient)a=[0];else if(typeof t._fillcolor==\"function\"){var h=t._filllevels;if(h)for(l=h.end+h.size/100,u=h.size,s=0;s<1e5&&(o=h.start+s*u,!(u>0?o>=l:o<=l));s++)o>r[0]&&o<r[1]&&a.push(o);else a=i.map(function(d){return d-n.size/2}),a.push(a[a.length-1]+n.size)}else t._fillcolor&&typeof t._fillcolor==\"string\"&&(a=[0]);return n.size<0&&(i.reverse(),a.reverse()),{line:i,fill:a}}function fmt(e,t,r){var n=e._fullLayout,i=t.orientation===\"v\",a={type:\"linear\",range:r,tickmode:t.tickmode,nticks:t.nticks,tick0:t.tick0,dtick:t.dtick,tickvals:t.tickvals,ticktext:t.ticktext,ticks:t.ticks,ticklen:t.ticklen,tickwidth:t.tickwidth,tickcolor:t.tickcolor,showticklabels:t.showticklabels,labelalias:t.labelalias,ticklabelposition:t.ticklabelposition,ticklabeloverflow:t.ticklabeloverflow,ticklabelstep:t.ticklabelstep,tickfont:t.tickfont,tickangle:t.tickangle,tickformat:t.tickformat,exponentformat:t.exponentformat,minexponent:t.minexponent,separatethousands:t.separatethousands,showexponent:t.showexponent,showtickprefix:t.showtickprefix,tickprefix:t.tickprefix,showticksuffix:t.showticksuffix,ticksuffix:t.ticksuffix,title:t.title,showline:!0,anchor:\"free\",side:i?\"right\":\"bottom\",position:1},o=i?\"y\":\"x\",s={type:\"linear\",_id:o+t._id},l={letter:o,font:n.font,noAutotickangles:o===\"y\",noHover:!0,noTickson:!0,noTicklabelmode:!0,noInsideRange:!0,calendar:n.calendar};function u(c,f){return B0.coerce(a,s,amt,c,f)}return imt(a,s,u,l,n),nmt(a,s,u,l),s}Tme.exports={draw:omt}});var Mme=ye((cor,Sme)=>{\"use strict\";Sme.exports={moduleType:\"component\",name:\"colorbar\",attributes:K6(),supplyDefaults:SO(),draw:Ame().draw,hasColorbar:yO()}});var kme=ye((hor,Eme)=>{\"use strict\";Eme.exports={moduleType:\"component\",name:\"legend\",layoutAttributes:yB(),supplyLayoutDefaults:bB(),draw:RB(),style:CB()}});var Lme=ye((dor,Cme)=>{\"use strict\";Cme.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\"}}});var Ime=ye((vor,Pme)=>{\"use strict\";Pme.exports={moduleType:\"locale\",name:\"en-US\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colorscale title\"},format:{date:\"%m/%d/%Y\"}}});var vV=ye((por,Fme)=>{\"use strict\";var hmt=ba(),zme=Mr(),dV=zme.extendFlat,Rme=zme.extendDeep;function Dme(e){var t;switch(e){case\"themes__thumb\":t={autosize:!0,width:150,height:150,title:{text:\"\"},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case\"thumbnail\":t={title:{text:\"\"},hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:\"\",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:t={}}return t}function dmt(e){var t=[\"xaxis\",\"yaxis\",\"zaxis\"];return t.indexOf(e.slice(0,5))>-1}Fme.exports=function(t,r){var n,i=t.data,a=t.layout,o=Rme([],i),s=Rme({},a,Dme(r.tileClass)),l=t._context||{};if(r.width&&(s.width=r.width),r.height&&(s.height=r.height),r.tileClass===\"thumbnail\"||r.tileClass===\"themes__thumb\"){s.annotations=[];var u=Object.keys(s);for(n=0;n<u.length;n++)dmt(u[n])&&(s[u[n]].title={text:\"\"});for(n=0;n<o.length;n++){var c=o[n];c.showscale=!1,c.marker&&(c.marker.showscale=!1),hmt.traceIs(c,\"pie-like\")&&(c.textposition=\"none\")}}if(Array.isArray(r.annotations))for(n=0;n<r.annotations.length;n++)s.annotations.push(r.annotations[n]);var f=Object.keys(s).filter(function(b){return b.match(/^scene\\d*$/)});if(f.length){var h={};for(r.tileClass===\"thumbnail\"&&(h={title:{text:\"\"},showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),n=0;n<f.length;n++){var d=s[f[n]];d.xaxis||(d.xaxis={}),d.yaxis||(d.yaxis={}),d.zaxis||(d.zaxis={}),dV(d.xaxis,h),dV(d.yaxis,h),dV(d.zaxis,h),d._scene=null}}var v=document.createElement(\"div\");r.tileClass&&(v.className=r.tileClass);var x={gd:v,td:v,layout:s,data:o,config:{staticPlot:r.staticPlot===void 0?!0:r.staticPlot,plotGlPixelRatio:r.plotGlPixelRatio===void 0?2:r.plotGlPixelRatio,displaylogo:r.displaylogo||!1,showLink:r.showLink||!1,showTips:r.showTips||!1,mapboxAccessToken:l.mapboxAccessToken}};return r.setBackground!==\"transparent\"&&(x.config.setBackground=r.setBackground||\"opaque\"),x.gd.defaultLayout=Dme(r.tileClass),x}});var Bme=ye((gor,Ome)=>{\"use strict\";var vmt=vb().EventEmitter,pmt=ba(),gmt=Mr(),qme=Ly(),mmt=vV(),ymt=BP(),_mt=NP();function xmt(e,t){var r=new vmt,n=mmt(e,{format:\"png\"}),i=n.gd;i.style.position=\"absolute\",i.style.left=\"-5000px\",document.body.appendChild(i);function a(){var s=qme.getDelay(i._fullLayout);setTimeout(function(){var l=ymt(i),u=document.createElement(\"canvas\");u.id=gmt.randstr(),r=_mt({format:t.format,width:i._fullLayout.width,height:i._fullLayout.height,canvas:u,emitter:r,svg:l}),r.clean=function(){i&&document.body.removeChild(i)}},s)}var o=qme.getRedrawFunc(i);return pmt.call(\"_doPlot\",i,n.data,n.layout,n.config).then(o).then(a).catch(function(s){r.emit(\"error\",s)}),r}Ome.exports=xmt});var Vme=ye((mor,Ume)=>{\"use strict\";var Nme=Ly(),bmt={getDelay:Nme.getDelay,getRedrawFunc:Nme.getRedrawFunc,clone:vV(),toSVG:BP(),svgToImg:NP(),toImage:Bme(),downloadImage:YN()};Ume.exports=bmt});var Gme=ye(Dy=>{\"use strict\";Dy.version=e6().version;iee();Wie();var wmt=ba(),u4=Dy.register=wmt.register,gV=hde(),Hme=Object.keys(gV);for(RI=0;RI<Hme.length;RI++)_T=Hme[RI],_T.charAt(0)!==\"_\"&&(Dy[_T]=gV[_T]),u4({moduleType:\"apiMethod\",name:_T,fn:gV[_T]});var _T,RI;u4(ope());u4([Ppe(),Gpe(),wf(),l0e(),b0e(),H0e(),uge(),kge(),Wge(),nV(),pme(),Mu(),Mme(),kme(),Nc(),nN()]);u4([Lme(),Ime()]);window.PlotlyLocales&&Array.isArray(window.PlotlyLocales)&&(u4(window.PlotlyLocales),delete window.PlotlyLocales);Dy.Icons=UL();var DI=Nc(),pV=Xu();Dy.Plots={resize:pV.resize,graphJson:pV.graphJson,sendDataToCloud:pV.sendDataToCloud};Dy.Fx={hover:DI.hover,unhover:DI.unhover,loneHover:DI.loneHover,loneUnhover:DI.loneUnhover};Dy.Snapshot=Vme();Dy.PlotSchema=_3()});var Wme=ye((_or,jme)=>{\"use strict\";jme.exports=Gme()});var Qb=ye((xor,Zme)=>{\"use strict\";Zme.exports={TEXTPAD:3,eventDataKeys:[\"value\",\"label\"]}});var Lm=ye((bor,Jme)=>{\"use strict\";var Tf=Uc(),Xme=Oc().axisHoverFormat,Tmt=Wo().hovertemplateAttrs,Amt=Wo().texttemplateAttrs,Kme=Jl(),Smt=Su(),Yme=Qb(),Mmt=Ed().pattern,e2=no().extendFlat,mV=Smt({editType:\"calc\",arrayOk:!0,colorEditType:\"style\"}),Emt=Tf.marker,kmt=Emt.line,Cmt=e2({},kmt.width,{dflt:0}),Lmt=e2({width:Cmt,editType:\"calc\"},Kme(\"marker.line\")),Pmt=e2({line:Lmt,editType:\"calc\"},Kme(\"marker\"),{opacity:{valType:\"number\",arrayOk:!0,dflt:1,min:0,max:1,editType:\"style\"},pattern:Mmt,cornerradius:{valType:\"any\",editType:\"calc\"}});Jme.exports={x:Tf.x,x0:Tf.x0,dx:Tf.dx,y:Tf.y,y0:Tf.y0,dy:Tf.dy,xperiod:Tf.xperiod,yperiod:Tf.yperiod,xperiod0:Tf.xperiod0,yperiod0:Tf.yperiod0,xperiodalignment:Tf.xperiodalignment,yperiodalignment:Tf.yperiodalignment,xhoverformat:Xme(\"x\"),yhoverformat:Xme(\"y\"),text:Tf.text,texttemplate:Amt({editType:\"plot\"},{keys:Yme.eventDataKeys}),hovertext:Tf.hovertext,hovertemplate:Tmt({},{keys:Yme.eventDataKeys}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"calc\"},insidetextanchor:{valType:\"enumerated\",values:[\"end\",\"middle\",\"start\"],dflt:\"end\",editType:\"plot\"},textangle:{valType:\"angle\",dflt:\"auto\",editType:\"plot\"},textfont:e2({},mV,{}),insidetextfont:e2({},mV,{}),outsidetextfont:e2({},mV,{}),constraintext:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"both\",\"none\"],dflt:\"both\",editType:\"calc\"},cliponaxis:e2({},Tf.cliponaxis,{}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},base:{valType:\"any\",dflt:null,arrayOk:!0,editType:\"calc\"},offset:{valType:\"number\",dflt:null,arrayOk:!0,editType:\"calc\"},width:{valType:\"number\",dflt:null,min:0,arrayOk:!0,editType:\"calc\"},marker:Pmt,offsetgroup:Tf.offsetgroup,alignmentgroup:Tf.alignmentgroup,selected:{marker:{opacity:Tf.selected.marker.opacity,color:Tf.selected.marker.color,editType:\"style\"},textfont:Tf.selected.textfont,editType:\"style\"},unselected:{marker:{opacity:Tf.unselected.marker.opacity,color:Tf.unselected.marker.color,editType:\"style\"},textfont:Tf.unselected.textfont,editType:\"style\"},zorder:Tf.zorder}});var zI=ye((wor,$me)=>{\"use strict\";$me.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\"}}});var FI=ye((Tor,tye)=>{\"use strict\";var Imt=va(),Qme=Dv().hasColorscale,eye=Uh(),Rmt=Mr().coercePattern;tye.exports=function(t,r,n,i,a){var o=n(\"marker.color\",i),s=Qme(t,\"marker\");s&&eye(t,r,a,n,{prefix:\"marker.\",cLetter:\"c\"}),n(\"marker.line.color\",Imt.defaultLine),Qme(t,\"marker.line\")&&eye(t,r,a,n,{prefix:\"marker.line.\",cLetter:\"c\"}),n(\"marker.line.width\"),n(\"marker.opacity\"),Rmt(n,\"marker.pattern\",o,s),n(\"selected.marker.color\"),n(\"unselected.marker.color\")}});var r0=ye((Aor,sye)=>{\"use strict\";var rye=uo(),xT=Mr(),iye=va(),Dmt=ba(),zmt=K3(),Fmt=Pg(),qmt=FI(),Omt=Hb(),nye=Lm(),qI=xT.coerceFont;function Bmt(e,t,r,n){function i(u,c){return xT.coerce(e,t,nye,u,c)}var a=zmt(e,t,n,i);if(!a){t.visible=!1;return}Fmt(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\"),i(\"zorder\"),i(\"orientation\",t.x&&!t.y?\"h\":\"v\"),i(\"base\"),i(\"offset\"),i(\"width\"),i(\"text\"),i(\"hovertext\"),i(\"hovertemplate\");var o=i(\"textposition\");oye(e,t,n,i,o,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),qmt(e,t,i,r,n);var s=(t.marker.line||{}).color,l=Dmt.getComponentMethod(\"errorbars\",\"supplyDefaults\");l(e,t,s||iye.defaultLine,{axis:\"y\"}),l(e,t,s||iye.defaultLine,{axis:\"x\",inherit:\"y\"}),xT.coerceSelectionMarkerOpacity(t,i)}function Nmt(e,t){var r,n;function i(s,l){return xT.coerce(n._input,n,nye,s,l)}for(var a=0;a<e.length;a++)if(n=e[a],n.type===\"bar\"){r=n._input;var o=i(\"marker.cornerradius\",t.barcornerradius);n.marker&&(n.marker.cornerradius=aye(o)),Omt(r,n,t,i,t.barmode)}}function aye(e){if(rye(e)){if(e=+e,e>=0)return e}else if(typeof e==\"string\"&&(e=e.trim(),e.slice(-1)===\"%\"&&rye(e.slice(0,-1))&&(e=+e.slice(0,-1),e>=0)))return e+\"%\"}function oye(e,t,r,n,i,a){a=a||{};var o=a.moduleHasSelected!==!1,s=a.moduleHasUnselected!==!1,l=a.moduleHasConstrain!==!1,u=a.moduleHasCliponaxis!==!1,c=a.moduleHasTextangle!==!1,f=a.moduleHasInsideanchor!==!1,h=!!a.hasPathbar,d=Array.isArray(i)||i===\"auto\",v=d||i===\"inside\",x=d||i===\"outside\";if(v||x){var b=qI(n,\"textfont\",r.font),p=xT.extendFlat({},b),E=e.textfont&&e.textfont.color,k=!E;if(k&&delete p.color,qI(n,\"insidetextfont\",p),h){var A=xT.extendFlat({},b);k&&delete A.color,qI(n,\"pathbar.textfont\",A)}x&&qI(n,\"outsidetextfont\",b),o&&n(\"selected.textfont.color\"),s&&n(\"unselected.textfont.color\"),l&&n(\"constraintext\"),u&&n(\"cliponaxis\"),c&&n(\"textangle\"),n(\"texttemplate\")}v&&f&&n(\"insidetextanchor\")}sye.exports={supplyDefaults:Bmt,crossTraceDefaults:Nmt,handleText:oye,validateCornerradius:aye}});var yV=ye((Sor,lye)=>{\"use strict\";var Umt=ba(),Vmt=Qa(),Hmt=Mr(),Gmt=zI(),jmt=r0().validateCornerradius;lye.exports=function(e,t,r){function n(x,b){return Hmt.coerce(e,t,Gmt,x,b)}for(var i=!1,a=!1,o=!1,s={},l=n(\"barmode\"),u=l===\"group\",c=0;c<r.length;c++){var f=r[c];if(Umt.traceIs(f,\"bar\")&&f.visible)i=!0;else continue;var h=f.xaxis+f.yaxis;if(u?(s[h]&&(o=!0),s[h]=!0):(h+=f._input.offsetgroup,s.length>0&&!s[h]&&(o=!0),s[h]=!0),f.visible&&f.type===\"histogram\"){var d=Vmt.getFromId({_fullLayout:t},f[f.orientation===\"v\"?\"xaxis\":\"yaxis\"]);d.type!==\"category\"&&(a=!0)}}if(!i){delete t.barmode;return}l!==\"overlay\"&&n(\"barnorm\"),n(\"bargap\",a&&!o?0:.2),n(\"bargroupgap\");var v=n(\"barcornerradius\");t.barcornerradius=jmt(v)}});var c4=ye((Mor,uye)=>{\"use strict\";var bT=Mr();uye.exports=function(t,r){for(var n=0;n<t.length;n++)t[n].i=n;bT.mergeArray(r.text,t,\"tx\"),bT.mergeArray(r.hovertext,t,\"htx\");var i=r.marker;if(i){bT.mergeArray(i.opacity,t,\"mo\",!0),bT.mergeArray(i.color,t,\"mc\");var a=i.line;a&&(bT.mergeArray(a.color,t,\"mlc\"),bT.mergeArrayCastPositive(a.width,t,\"mlw\"))}}});var pye=ye((Eor,vye)=>{\"use strict\";var cye=Qa(),fye=Rg(),hye=Dv().hasColorscale,dye=zv(),Wmt=c4(),Zmt=F0();vye.exports=function(t,r){var n=cye.getFromId(t,r.xaxis||\"x\"),i=cye.getFromId(t,r.yaxis||\"y\"),a,o,s,l,u,c,f={msUTC:!!(r.base||r.base===0)};r.orientation===\"h\"?(a=n.makeCalcdata(r,\"x\",f),s=i.makeCalcdata(r,\"y\"),l=fye(r,i,\"y\",s),u=!!r.yperiodalignment,c=\"y\"):(a=i.makeCalcdata(r,\"y\",f),s=n.makeCalcdata(r,\"x\"),l=fye(r,n,\"x\",s),u=!!r.xperiodalignment,c=\"x\"),o=l.vals;for(var h=Math.min(o.length,a.length),d=new Array(h),v=0;v<h;v++)d[v]={p:o[v],s:a[v]},u&&(d[v].orig_p=s[v],d[v][c+\"End\"]=l.ends[v],d[v][c+\"Start\"]=l.starts[v]),r.ids&&(d[v].id=String(r.ids[v]));return hye(r,\"marker\")&&dye(t,r,{vals:r.marker.color,containerStr:\"marker\",cLetter:\"c\"}),hye(r,\"marker.line\")&&dye(t,r,{vals:r.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}),Wmt(d,r),Zmt(d,r),d}});var _v=ye((kor,mye)=>{\"use strict\";var Xmt=xa(),Ymt=Mr();function Kmt(e,t,r){var n=e._fullLayout,i=n[\"_\"+r+\"Text_minsize\"];if(i){var a=n.uniformtext.mode===\"hide\",o;switch(r){case\"funnelarea\":case\"pie\":case\"sunburst\":o=\"g.slice\";break;case\"treemap\":case\"icicle\":o=\"g.slice, g.pathbar\";break;default:o=\"g.points > g.point\"}t.selectAll(o).each(function(s){var l=s.transform;if(l){l.scale=a&&l.hide?0:i/l.fontSize;var u=Xmt.select(this).select(\"text\");Ymt.setTransormAndDisplay(u,l)}})}}function Jmt(e,t,r){if(r.uniformtext.mode){var n=gye(e),i=r.uniformtext.minsize,a=t.scale*t.fontSize;t.hide=a<i,r[n]=r[n]||1/0,t.hide||(r[n]=Math.min(r[n],Math.max(a,i)))}}function $mt(e,t){var r=gye(e);t[r]=void 0}function gye(e){return\"_\"+e+\"Text_minsize\"}mye.exports={recordMinTextSize:Jmt,clearMinTextSize:$mt,resizeText:Kmt}});var OI=ye(t2=>{\"use strict\";var Qmt=uo(),eyt=id(),yye=Mr().isArrayOrTypedArray;t2.coerceString=function(e,t,r){if(typeof t==\"string\"){if(t||!e.noBlank)return t}else if((typeof t==\"number\"||t===!0)&&!e.strict)return String(t);return r!==void 0?r:e.dflt};t2.coerceNumber=function(e,t,r){if(Qmt(t)){t=+t;var n=e.min,i=e.max,a=n!==void 0&&t<n||i!==void 0&&t>i;if(!a)return t}return r!==void 0?r:e.dflt};t2.coerceColor=function(e,t,r){return eyt(t).isValid()?t:r!==void 0?r:e.dflt};t2.coerceEnumerated=function(e,t,r){return e.coerceNumber&&(t=+t),e.values.indexOf(t)!==-1?t:r!==void 0?r:e.dflt};t2.getValue=function(e,t){var r;return yye(e)?t<e.length&&(r=e[t]):r=e,r};t2.getLineWidth=function(e,t){var r=0<t.mlw?t.mlw:yye(e.marker.line.width)?0:e.marker.line.width;return r}});var N0=ye((Lor,Cye)=>{\"use strict\";var f4=xa(),tyt=va(),h4=ao(),_ye=Mr(),xye=ba(),bye=_v().resizeText,_V=Lm(),ryt=_V.textfont,iyt=_V.insidetextfont,nyt=_V.outsidetextfont,Jd=OI();function ayt(e){var t=f4.select(e).selectAll('g[class^=\"barlayer\"]').selectAll(\"g.trace\");bye(e,t,\"bar\");var r=t.size(),n=e._fullLayout;t.style(\"opacity\",function(i){return i[0].trace.opacity}).each(function(i){(n.barmode===\"stack\"&&r>1||n.bargap===0&&n.bargroupgap===0&&!i[0].trace.marker.line.width)&&f4.select(this).attr(\"shape-rendering\",\"crispEdges\")}),t.selectAll(\"g.points\").each(function(i){var a=f4.select(this),o=i[0].trace;wye(a,o,e)}),xye.getComponentMethod(\"errorbars\",\"style\")(t)}function wye(e,t,r){h4.pointStyle(e.selectAll(\"path\"),t,r),Tye(e,t,r)}function Tye(e,t,r){e.selectAll(\"text\").each(function(n){var i=f4.select(this),a=_ye.ensureUniformFontSize(r,Aye(i,n,t,r));h4.font(i,a)})}function oyt(e,t,r){var n=t[0].trace;n.selectedpoints?syt(r,n,e):(wye(r,n,e),xye.getComponentMethod(\"errorbars\",\"style\")(r))}function syt(e,t,r){h4.selectedPointStyle(e.selectAll(\"path\"),t),lyt(e.selectAll(\"text\"),t,r)}function lyt(e,t,r){e.each(function(n){var i=f4.select(this),a;if(n.selected){a=_ye.ensureUniformFontSize(r,Aye(i,n,t,r));var o=t.selected.textfont&&t.selected.textfont.color;o&&(a.color=o),h4.font(i,a)}else h4.selectedTextStyle(i,t)})}function Aye(e,t,r,n){var i=n._fullLayout.font,a=r.textfont;if(e.classed(\"bartext-inside\")){var o=kye(t,r);a=Mye(r,t.i,i,o)}else e.classed(\"bartext-outside\")&&(a=Eye(r,t.i,i));return a}function Sye(e,t,r){return xV(ryt,e.textfont,t,r)}function Mye(e,t,r,n){var i=Sye(e,t,r),a=e._input.textfont===void 0||e._input.textfont.color===void 0||Array.isArray(e.textfont.color)&&e.textfont.color[t]===void 0;return a&&(i={color:tyt.contrast(n),family:i.family,size:i.size,weight:i.weight,style:i.style,variant:i.variant,textcase:i.textcase,lineposition:i.lineposition,shadow:i.shadow}),xV(iyt,e.insidetextfont,t,i)}function Eye(e,t,r){var n=Sye(e,t,r);return xV(nyt,e.outsidetextfont,t,n)}function xV(e,t,r,n){t=t||{};var i=Jd.getValue(t.family,r),a=Jd.getValue(t.size,r),o=Jd.getValue(t.color,r),s=Jd.getValue(t.weight,r),l=Jd.getValue(t.style,r),u=Jd.getValue(t.variant,r),c=Jd.getValue(t.textcase,r),f=Jd.getValue(t.lineposition,r),h=Jd.getValue(t.shadow,r);return{family:Jd.coerceString(e.family,i,n.family),size:Jd.coerceNumber(e.size,a,n.size),color:Jd.coerceColor(e.color,o,n.color),weight:Jd.coerceString(e.weight,s,n.weight),style:Jd.coerceString(e.style,l,n.style),variant:Jd.coerceString(e.variant,u,n.variant),textcase:Jd.coerceString(e.variant,c,n.textcase),lineposition:Jd.coerceString(e.variant,f,n.lineposition),shadow:Jd.coerceString(e.variant,h,n.shadow)}}function kye(e,t){return t.type===\"waterfall\"?t[e.dir].marker.color:e.mcc||e.mc||t.marker.color}Cye.exports={style:ayt,styleTextPoints:Tye,styleOnSelect:oyt,getInsideTextFont:Mye,getOutsideTextFont:Eye,getBarColor:kye,resizeText:bye}});var i2=ye((Por,qye)=>{\"use strict\";var BI=xa(),NI=uo(),Pd=Mr(),uyt=Pl(),cyt=va(),A_=ao(),fyt=ba(),UI=Qa().tickText,Lye=_v(),hyt=Lye.recordMinTextSize,dyt=Lye.clearMinTextSize,bV=N0(),wT=OI(),vyt=Qb(),Pye=Lm(),pyt=Pye.text,gyt=Pye.textposition,myt=rp().appendArrayPointValue,Uv=vyt.TEXTPAD;function yyt(e){return e.id}function _yt(e){if(e.ids)return yyt}function wV(e){return(e>0)-(e<0)}function Pm(e,t){return e<t?1:-1}function xyt(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),n?[i,a]:[a,i]}function Iye(e,t,r,n){if(!t.uniformtext.mode&&Rye(r)){var i;return n&&(i=n()),e.transition().duration(r.duration).ease(r.easing).each(\"end\",function(){i&&i()}).each(\"interrupt\",function(){i&&i()})}else return e}function Rye(e){return e&&e.duration>0}function byt(e,t,r,n,i,a){var o=t.xaxis,s=t.yaxis,l=e._fullLayout,u=e._context.staticPlot;i||(i={mode:l.barmode,norm:l.barmode,gap:l.bargap,groupgap:l.bargroupgap},dyt(\"bar\",l));var c=Pd.makeTraceGroups(n,r,\"trace bars\").each(function(f){var h=BI.select(this),d=f[0].trace,v=f[0].t,x=d.type===\"waterfall\",b=d.type===\"funnel\",p=d.type===\"histogram\",E=d.type===\"bar\",k=E||b,A=0;x&&d.connector.visible&&d.connector.mode===\"between\"&&(A=d.connector.line.width/2);var L=d.orientation===\"h\",_=Rye(i),C=Pd.ensureSingle(h,\"g\",\"points\"),M=_yt(d),g=C.selectAll(\"g.point\").data(Pd.identity,M);g.enter().append(\"g\").classed(\"point\",!0),g.exit().remove(),g.each(function(T,F){var q=BI.select(this),V=xyt(T,o,s,L),H=V[0][0],X=V[0][1],G=V[1][0],N=V[1][1],W=(L?X-H:N-G)===0;W&&k&&wT.getLineWidth(d,T)&&(W=!1),W||(W=!NI(H)||!NI(X)||!NI(G)||!NI(N)),T.isBlank=W,W&&(L?X=H:N=G),A&&!W&&(L?(H-=Pm(H,X)*A,X+=Pm(H,X)*A):(G-=Pm(G,N)*A,N+=Pm(G,N)*A));var re,ae;if(d.type===\"waterfall\"){if(!W){var _e=d[T.dir].marker;re=_e.line.width,ae=_e.color}}else re=wT.getLineWidth(d,T),ae=T.mc||d.marker.color;function Me(Ke){var xt=BI.round(re/2%1,2);return i.gap===0&&i.groupgap===0?BI.round(Math.round(Ke)-xt,2):Ke}function ke(Ke,xt,bt){return bt&&Ke===xt?Ke:Math.abs(Ke-xt)>=2?Me(Ke):Ke>xt?Math.ceil(Ke):Math.floor(Ke)}var ge=cyt.opacity(ae),ie=ge<1||re>.01?Me:ke;e._context.staticPlot||(H=ie(H,X,L),X=ie(X,H,L),G=ie(G,N,!L),N=ie(N,G,!L));var Te=L?o.c2p:s.c2p,Ee;T.s0>0?Ee=T._sMax:T.s0<0?Ee=T._sMin:Ee=T.s1>0?T._sMax:T._sMin;function Ae(Ke,xt){if(!Ke)return 0;var bt=Math.abs(L?N-G:X-H),Lt=Math.abs(L?X-H:N-G),St=ie(Math.abs(Te(Ee,!0)-Te(0,!0))),Et=T.hasB?Math.min(bt/2,Lt/2):Math.min(bt/2,St),dt;if(xt===\"%\"){var Ht=Math.min(50,Ke);dt=bt*(Ht/100)}else dt=Ke;return ie(Math.max(Math.min(dt,Et),0))}var ze=E||p?Ae(v.cornerradiusvalue,v.cornerradiusform):0,Ce,me,Re=\"M\"+H+\",\"+G+\"V\"+N+\"H\"+X+\"V\"+G+\"Z\",ce=0;if(ze&&T.s){var Ge=wV(T.s0)===0||wV(T.s)===wV(T.s0)?T.s1:T.s0;if(ce=ie(T.hasB?0:Math.abs(Te(Ee,!0)-Te(Ge,!0))),ce<ze){var nt=Pm(H,X),ct=Pm(G,N),qt=nt===-ct?1:0;if(L)if(T.hasB)Ce=\"M\"+(H+ze*nt)+\",\"+G+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+H+\",\"+(G+ze*ct)+\"V\"+(N-ze*ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(H+ze*nt)+\",\"+N+\"H\"+(X-ze*nt)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+X+\",\"+(N-ze*ct)+\"V\"+(G+ze*ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(X-ze*nt)+\",\"+G+\"Z\";else{me=Math.abs(X-H)+ce;var rt=me<ze?ze-Math.sqrt(me*(2*ze-me)):0,ot=ce>0?Math.sqrt(ce*(2*ze-ce)):0,Rt=nt>0?Math.max:Math.min;Ce=\"M\"+H+\",\"+G+\"V\"+(N-rt*ct)+\"H\"+Rt(X-(ze-ce)*nt,H)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+X+\",\"+(N-ze*ct-ot)+\"V\"+(G+ze*ct+ot)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+Rt(X-(ze-ce)*nt,H)+\",\"+(G+rt*ct)+\"Z\"}else if(T.hasB)Ce=\"M\"+(H+ze*nt)+\",\"+G+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+H+\",\"+(G+ze*ct)+\"V\"+(N-ze*ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(H+ze*nt)+\",\"+N+\"H\"+(X-ze*nt)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+X+\",\"+(N-ze*ct)+\"V\"+(G+ze*ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(X-ze*nt)+\",\"+G+\"Z\";else{me=Math.abs(N-G)+ce;var kt=me<ze?ze-Math.sqrt(me*(2*ze-me)):0,Ct=ce>0?Math.sqrt(ce*(2*ze-ce)):0,Yt=ct>0?Math.max:Math.min;Ce=\"M\"+(H+kt*nt)+\",\"+G+\"V\"+Yt(N-(ze-ce)*ct,G)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(H+ze*nt-Ct)+\",\"+N+\"H\"+(X-ze*nt+Ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(X-kt*nt)+\",\"+Yt(N-(ze-ce)*ct,G)+\"V\"+G+\"Z\"}}else Ce=Re}else Ce=Re;var xr=Iye(Pd.ensureSingle(q,\"path\"),l,i,a);if(xr.style(\"vector-effect\",u?\"none\":\"non-scaling-stroke\").attr(\"d\",isNaN((X-H)*(N-G))||W&&e._context.staticPlot?\"M0,0Z\":Ce).call(A_.setClipUrl,t.layerClipId,e),!l.uniformtext.mode&&_){var er=A_.makePointStyleFns(d);A_.singlePointStyle(T,xr,d,er,e)}wyt(e,t,q,f,F,H,X,G,N,ze,ce,i,a),t.layerClipId&&A_.hideOutsideRangePoint(T,q.select(\"text\"),o,s,d.xcalendar,d.ycalendar)});var P=d.cliponaxis===!1;A_.setClipUrl(h,P?null:t.layerClipId,e)});fyt.getComponentMethod(\"errorbars\",\"plot\")(e,c,t,i)}function wyt(e,t,r,n,i,a,o,s,l,u,c,f,h){var d=t.xaxis,v=t.yaxis,x=e._fullLayout,b;function p(me,Re,ce){var Ge=Pd.ensureSingle(me,\"text\").text(Re).attr({class:\"bartext bartext-\"+b,\"text-anchor\":\"middle\",\"data-notex\":1}).call(A_.font,ce).call(uyt.convertToTspans,e);return Ge}var E=n[0].trace,k=E.orientation===\"h\",A=Syt(x,n,i,d,v);b=Myt(E,i);var L=f.mode===\"stack\"||f.mode===\"relative\",_=n[i],C=!L||_._outmost,M=_.hasB,g=u&&u-c>Uv;if(!A||b===\"none\"||(_.isBlank||a===o||s===l)&&(b===\"auto\"||b===\"inside\")){r.select(\"text\").remove();return}var P=x.font,T=bV.getBarColor(n[i],E),F=bV.getInsideTextFont(E,i,P,T),q=bV.getOutsideTextFont(E,i,P),V=E.insidetextanchor||\"end\",H=r.datum();k?d.type===\"log\"&&H.s0<=0&&(d.range[0]<d.range[1]?a=0:a=d._length):v.type===\"log\"&&H.s0<=0&&(v.range[0]<v.range[1]?s=v._length:s=0);var X=Math.abs(o-a),G=Math.abs(l-s),N=X-2*Uv,W=G-2*Uv,re,ae,_e,Me,ke;if(b===\"outside\"&&!C&&!_.hasB&&(b=\"inside\"),b===\"auto\")if(C){b=\"inside\",ke=Pd.ensureUniformFontSize(e,F),re=p(r,A,ke),ae=A_.bBox(re.node()),_e=ae.width,Me=ae.height;var ge=_e>0&&Me>0,ie;g?M?ie=r2(N-2*u,W,_e,Me,k)||r2(N,W-2*u,_e,Me,k):k?ie=r2(N-(u-c),W,_e,Me,k)||r2(N,W-2*(u-c),_e,Me,k):ie=r2(N,W-(u-c),_e,Me,k)||r2(N-2*(u-c),W,_e,Me,k):ie=r2(N,W,_e,Me,k),ge&&ie?b=\"inside\":(b=\"outside\",re.remove(),re=null)}else b=\"inside\";if(!re){ke=Pd.ensureUniformFontSize(e,b===\"outside\"?q:F),re=p(r,A,ke);var Te=re.attr(\"transform\");if(re.attr(\"transform\",\"\"),ae=A_.bBox(re.node()),_e=ae.width,Me=ae.height,re.attr(\"transform\",Te),_e<=0||Me<=0){re.remove();return}}var Ee=E.textangle,Ae,ze;b===\"outside\"?(ze=E.constraintext===\"both\"||E.constraintext===\"outside\",Ae=Ayt(a,o,s,l,ae,{isHorizontal:k,constrained:ze,angle:Ee})):(ze=E.constraintext===\"both\"||E.constraintext===\"inside\",Ae=Fye(a,o,s,l,ae,{isHorizontal:k,constrained:ze,angle:Ee,anchor:V,hasB:M,r:u,overhead:c})),Ae.fontSize=ke.size,hyt(E.type===\"histogram\"?\"bar\":E.type,Ae,x),_.transform=Ae;var Ce=Iye(re,x,f,h);Pd.setTransormAndDisplay(Ce,Ae)}function r2(e,t,r,n,i){if(e<0||t<0)return!1;var a=r<=e&&n<=t,o=r<=t&&n<=e,s=i?e>=r*(t/n):t>=n*(e/r);return a||o||s}function Dye(e){return e===\"auto\"?0:e}function zye(e,t){var r=Math.PI/180*t,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:e.width*i+e.height*n,y:e.width*n+e.height*i}}function Fye(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=a.anchor,c=u===\"end\",f=u===\"start\",h=a.leftToRight||0,d=(h+1)/2,v=1-d,x=a.hasB,b=a.r,p=a.overhead,E=i.width,k=i.height,A=Math.abs(t-e),L=Math.abs(n-r),_=A>2*Uv&&L>2*Uv?Uv:0;A-=2*_,L-=2*_;var C=Dye(l);l===\"auto\"&&!(E<=A&&k<=L)&&(E>A||k>L)&&(!(E>L||k>A)||E<k!=A<L)&&(C+=90);var M=zye(i,C),g,P;if(b&&b-p>Uv){var T=Tyt(e,t,r,n,M,b,p,o,x);g=T.scale,P=T.pad}else g=1,s&&(g=Math.min(1,A/M.x,L/M.y)),P=0;var F=i.left*v+i.right*d,q=(i.top+i.bottom)/2,V=(e+Uv)*v+(t-Uv)*d,H=(r+n)/2,X=0,G=0;if(f||c){var N=(o?M.x:M.y)/2;b&&(c||x)&&(_+=P);var W=o?Pm(e,t):Pm(r,n);o?f?(V=e+W*_,X=-W*N):(V=t-W*_,X=W*N):f?(H=r+W*_,G=-W*N):(H=n-W*_,G=W*N)}return{textX:F,textY:q,targetX:V,targetY:H,anchorX:X,anchorY:G,scale:g,rotate:C}}function Tyt(e,t,r,n,i,a,o,s,l){var u=Math.max(0,Math.abs(t-e)-2*Uv),c=Math.max(0,Math.abs(n-r)-2*Uv),f=a-Uv,h=o?f-Math.sqrt(f*f-(f-o)*(f-o)):f,d=l?f*2:s?f-o:2*h,v=l?f*2:s?2*h:f-o,x,b,p,E,k;return i.y/i.x>=c/(u-d)?E=c/i.y:i.y/i.x<=(c-v)/u?E=u/i.x:!l&&s?(x=i.x*i.x+i.y*i.y/4,b=-2*i.x*(u-f)-i.y*(c/2-f),p=(u-f)*(u-f)+(c/2-f)*(c/2-f)-f*f,E=(-b+Math.sqrt(b*b-4*x*p))/(2*x)):l?(x=(i.x*i.x+i.y*i.y)/4,b=-i.x*(u/2-f)-i.y*(c/2-f),p=(u/2-f)*(u/2-f)+(c/2-f)*(c/2-f)-f*f,E=(-b+Math.sqrt(b*b-4*x*p))/(2*x)):(x=i.x*i.x/4+i.y*i.y,b=-i.x*(u/2-f)-2*i.y*(c-f),p=(u/2-f)*(u/2-f)+(c-f)*(c-f)-f*f,E=(-b+Math.sqrt(b*b-4*x*p))/(2*x)),E=Math.min(1,E),s?k=Math.max(0,f-Math.sqrt(Math.max(0,f*f-(f-(c-i.y*E)/2)*(f-(c-i.y*E)/2)))-o):k=Math.max(0,f-Math.sqrt(Math.max(0,f*f-(f-(u-i.x*E)/2)*(f-(u-i.x*E)/2)))-o),{scale:E,pad:k}}function Ayt(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=i.width,c=i.height,f=Math.abs(t-e),h=Math.abs(n-r),d;o?d=h>2*Uv?Uv:0:d=f>2*Uv?Uv:0;var v=1;s&&(v=o?Math.min(1,h/c):Math.min(1,f/u));var x=Dye(l),b=zye(i,x),p=(o?b.x:b.y)/2,E=(i.left+i.right)/2,k=(i.top+i.bottom)/2,A=(e+t)/2,L=(r+n)/2,_=0,C=0,M=o?Pm(t,e):Pm(r,n);return o?(A=t-M*d,_=M*p):(L=n+M*d,C=-M*p),{textX:E,textY:k,targetX:A,targetY:L,anchorX:_,anchorY:C,scale:v,rotate:x}}function Syt(e,t,r,n,i){var a=t[0].trace,o=a.texttemplate,s;return o?s=Eyt(e,t,r,n,i):a.textinfo?s=kyt(t,r,n,i):s=wT.getValue(a.text,r),wT.coerceString(pyt,s)}function Myt(e,t){var r=wT.getValue(e.textposition,t);return wT.coerceEnumerated(gyt,r)}function Eyt(e,t,r,n,i){var a=t[0].trace,o=Pd.castOption(a,r,\"texttemplate\");if(!o)return\"\";var s=a.type===\"histogram\",l=a.type===\"waterfall\",u=a.type===\"funnel\",c=a.orientation===\"h\",f,h,d,v;c?(f=\"y\",h=i,d=\"x\",v=n):(f=\"x\",h=n,d=\"y\",v=i);function x(_){return UI(h,h.c2l(_),!0).text}function b(_){return UI(v,v.c2l(_),!0).text}var p=t[r],E={};E.label=p.p,E.labelLabel=E[f+\"Label\"]=x(p.p);var k=Pd.castOption(a,p.i,\"text\");(k===0||k)&&(E.text=k),E.value=p.s,E.valueLabel=E[d+\"Label\"]=b(p.s);var A={};myt(A,a,p.i),(s||A.x===void 0)&&(A.x=c?E.value:E.label),(s||A.y===void 0)&&(A.y=c?E.label:E.value),(s||A.xLabel===void 0)&&(A.xLabel=c?E.valueLabel:E.labelLabel),(s||A.yLabel===void 0)&&(A.yLabel=c?E.labelLabel:E.valueLabel),l&&(E.delta=+p.rawS||p.s,E.deltaLabel=b(E.delta),E.final=p.v,E.finalLabel=b(E.final),E.initial=E.final-E.delta,E.initialLabel=b(E.initial)),u&&(E.value=p.s,E.valueLabel=b(E.value),E.percentInitial=p.begR,E.percentInitialLabel=Pd.formatPercent(p.begR),E.percentPrevious=p.difR,E.percentPreviousLabel=Pd.formatPercent(p.difR),E.percentTotal=p.sumR,E.percenTotalLabel=Pd.formatPercent(p.sumR));var L=Pd.castOption(a,p.i,\"customdata\");return L&&(E.customdata=L),Pd.texttemplateString(o,E,e._d3locale,A,E,a._meta||{})}function kyt(e,t,r,n){var i=e[0].trace,a=i.orientation===\"h\",o=i.type===\"waterfall\",s=i.type===\"funnel\";function l(L){var _=a?n:r;return UI(_,L,!0).text}function u(L){var _=a?r:n;return UI(_,+L,!0).text}var c=i.textinfo,f=e[t],h=c.split(\"+\"),d=[],v,x=function(L){return h.indexOf(L)!==-1};if(x(\"label\")&&d.push(l(e[t].p)),x(\"text\")&&(v=Pd.castOption(i,f.i,\"text\"),(v===0||v)&&d.push(v)),o){var b=+f.rawS||f.s,p=f.v,E=p-b;x(\"initial\")&&d.push(u(E)),x(\"delta\")&&d.push(u(b)),x(\"final\")&&d.push(u(p))}if(s){x(\"value\")&&d.push(u(f.s));var k=0;x(\"percent initial\")&&k++,x(\"percent previous\")&&k++,x(\"percent total\")&&k++;var A=k>1;x(\"percent initial\")&&(v=Pd.formatPercent(f.begR),A&&(v+=\" of initial\"),d.push(v)),x(\"percent previous\")&&(v=Pd.formatPercent(f.difR),A&&(v+=\" of previous\"),d.push(v)),x(\"percent total\")&&(v=Pd.formatPercent(f.sumR),A&&(v+=\" of total\"),d.push(v))}return d.join(\"<br>\")}qye.exports={plot:byt,toMoveInsideBar:Fye}});var TT=ye((Ior,Uye)=>{\"use strict\";var d4=Nc(),Cyt=ba(),Oye=va(),Lyt=Mr().fillText,Pyt=OI().getLineWidth,TV=Qa().hoverLabelText,Iyt=es().BADNUM;function Ryt(e,t,r,n,i){var a=Bye(e,t,r,n,i);if(a){var o=a.cd,s=o[0].trace,l=o[a.index];return a.color=Nye(s,l),Cyt.getComponentMethod(\"errorbars\",\"hoverInfo\")(l,s,a),[a]}}function Bye(e,t,r,n,i){var a=e.cd,o=a[0].trace,s=a[0].t,l=n===\"closest\",u=o.type===\"waterfall\",c=e.maxHoverDistance,f=e.maxSpikeDistance,h,d,v,x,b,p,E;o.orientation===\"h\"?(h=r,d=t,v=\"y\",x=\"x\",b=H,p=F):(h=t,d=r,v=\"x\",x=\"y\",p=H,b=F);var k=o[v+\"period\"],A=l||k;function L(ie){return C(ie,-1)}function _(ie){return C(ie,1)}function C(ie,Te){var Ee=ie.w;return ie[v]+Te*Ee/2}function M(ie){return ie[v+\"End\"]-ie[v+\"Start\"]}var g=l?L:k?function(ie){return ie.p-M(ie)/2}:function(ie){return Math.min(L(ie),ie.p-s.bardelta/2)},P=l?_:k?function(ie){return ie.p+M(ie)/2}:function(ie){return Math.max(_(ie),ie.p+s.bardelta/2)};function T(ie,Te,Ee){return i.finiteRange&&(Ee=0),d4.inbox(ie-h,Te-h,Ee+Math.min(1,Math.abs(Te-ie)/E)-1)}function F(ie){return T(g(ie),P(ie),c)}function q(ie){return T(L(ie),_(ie),f)}function V(ie){var Te=ie[x];if(u){var Ee=Math.abs(ie.rawS)||0;d>0?Te+=Ee:d<0&&(Te-=Ee)}return Te}function H(ie){var Te=d,Ee=ie.b,Ae=V(ie);return d4.inbox(Ee-Te,Ae-Te,c+(Ae-Te)/(Ae-Ee)-1)}function X(ie){var Te=d,Ee=ie.b,Ae=V(ie);return d4.inbox(Ee-Te,Ae-Te,f+(Ae-Te)/(Ae-Ee)-1)}var G=e[v+\"a\"],N=e[x+\"a\"];E=Math.abs(G.r2c(G.range[1])-G.r2c(G.range[0]));function W(ie){return(b(ie)+p(ie))/2}var re=d4.getDistanceFunction(n,b,p,W);if(d4.getClosest(a,re,e),e.index!==!1&&a[e.index].p!==Iyt){A||(g=function(ie){return Math.min(L(ie),ie.p-s.bargroupwidth/2)},P=function(ie){return Math.max(_(ie),ie.p+s.bargroupwidth/2)});var ae=e.index,_e=a[ae],Me=o.base?_e.b+_e.s:_e.s;e[x+\"0\"]=e[x+\"1\"]=N.c2p(_e[x],!0),e[x+\"LabelVal\"]=Me;var ke=s.extents[s.extents.round(_e.p)];e[v+\"0\"]=G.c2p(l?g(_e):ke[0],!0),e[v+\"1\"]=G.c2p(l?P(_e):ke[1],!0);var ge=_e.orig_p!==void 0;return e[v+\"LabelVal\"]=ge?_e.orig_p:_e.p,e.labelLabel=TV(G,e[v+\"LabelVal\"],o[v+\"hoverformat\"]),e.valueLabel=TV(N,e[x+\"LabelVal\"],o[x+\"hoverformat\"]),e.baseLabel=TV(N,_e.b,o[x+\"hoverformat\"]),e.spikeDistance=(X(_e)+q(_e))/2,e[v+\"Spike\"]=G.c2p(_e.p,!0),Lyt(_e,o,e),e.hovertemplate=o.hovertemplate,e}}function Nye(e,t){var r=t.mcc||e.marker.color,n=t.mlcc||e.marker.line.color,i=Pyt(e,t);if(Oye.opacity(r))return r;if(Oye.opacity(n)&&i)return n}Uye.exports={hoverPoints:Ryt,hoverOnBars:Bye,getTraceColor:Nye}});var Hye=ye((Ror,Vye)=>{\"use strict\";Vye.exports=function(t,r,n){return t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),n.orientation===\"h\"?(t.label=t.y,t.value=t.x):(t.label=t.x,t.value=t.y),t}});var AT=ye((Dor,Gye)=>{\"use strict\";Gye.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=n[0].trace,s=o.type===\"funnel\",l=o.orientation===\"h\",u=[],c;if(r===!1)for(c=0;c<n.length;c++)n[c].selected=0;else for(c=0;c<n.length;c++){var f=n[c],h=\"ct\"in f?f.ct:Dyt(f,i,a,l,s);r.contains(h,!1,c,t)?(u.push({pointNumber:c,x:i.c2d(f.x),y:a.c2d(f.y)}),f.selected=1):f.selected=0}return u};function Dyt(e,t,r,n,i){var a=t.c2p(n?e.s0:e.p0,!0),o=t.c2p(n?e.s1:e.p1,!0),s=r.c2p(n?e.p0:e.s0,!0),l=r.c2p(n?e.p1:e.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}});var Wye=ye((zor,jye)=>{\"use strict\";jye.exports={attributes:Lm(),layoutAttributes:zI(),supplyDefaults:r0().supplyDefaults,crossTraceDefaults:r0().crossTraceDefaults,supplyLayoutDefaults:yV(),calc:pye(),crossTraceCalc:Gb().crossTraceCalc,colorbar:Kd(),arraysToCalcdata:c4(),plot:i2().plot,style:N0().style,styleOnSelect:N0().styleOnSelect,hoverPoints:TT().hoverPoints,eventData:Hye(),selectPoints:AT(),moduleType:\"trace\",name:\"bar\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"bar\",\"oriented\",\"errorBarsOK\",\"showLegend\",\"zoomScale\"],animatable:!0,meta:{}}});var Xye=ye((For,Zye)=>{\"use strict\";Zye.exports=Wye()});var v4=ye((qor,$ye)=>{\"use strict\";var zyt=Eg(),U0=Uc(),Yye=Lm(),Fyt=dh(),Kye=Oc().axisHoverFormat,qyt=Wo().hovertemplateAttrs,zy=no().extendFlat,ST=U0.marker,Jye=ST.line;$ye.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:U0.xperiod,yperiod:U0.yperiod,xperiod0:U0.xperiod0,yperiod0:U0.yperiod0,xperiodalignment:U0.xperiodalignment,yperiodalignment:U0.yperiodalignment,xhoverformat:Kye(\"x\"),yhoverformat:Kye(\"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:zy({},ST.symbol,{arrayOk:!1,editType:\"plot\"}),opacity:zy({},ST.opacity,{arrayOk:!1,dflt:1,editType:\"style\"}),angle:zy({},ST.angle,{arrayOk:!1,editType:\"calc\"}),size:zy({},ST.size,{arrayOk:!1,editType:\"calc\"}),color:zy({},ST.color,{arrayOk:!1,editType:\"style\"}),line:{color:zy({},Jye.color,{arrayOk:!1,dflt:Fyt.defaultLine,editType:\"style\"}),width:zy({},Jye.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:zyt(),whiskerwidth:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"calc\"},showwhiskers:{valType:\"boolean\",editType:\"calc\"},offsetgroup:Yye.offsetgroup,alignmentgroup:Yye.alignmentgroup,selected:{marker:U0.selected.marker,editType:\"style\"},unselected:{marker:U0.unselected.marker,editType:\"style\"},text:zy({},U0.text,{}),hovertext:zy({},U0.hovertext,{}),hovertemplate:qyt({}),hoveron:{valType:\"flaglist\",flags:[\"boxes\",\"points\"],dflt:\"boxes+points\",editType:\"style\"},zorder:U0.zorder}});var p4=ye((Oor,Qye)=>{\"use strict\";Qye.exports={boxmode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\",editType:\"calc\"},boxgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"},boxgroupgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"}}});var m4=ye((Bor,i1e)=>{\"use strict\";var V0=Mr(),Oyt=ba(),Byt=va(),Nyt=Pg(),Uyt=Hb(),e1e=L3(),g4=v4();function Vyt(e,t,r,n){function i(v,x){return V0.coerce(e,t,g4,v,x)}if(t1e(e,t,i,n),t.visible!==!1){Nyt(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\");var a=t._hasPreCompStats;a&&(i(\"lowerfence\"),i(\"upperfence\")),i(\"line.color\",(e.marker||{}).color||r),i(\"line.width\"),i(\"fillcolor\",Byt.addOpacity(t.line.color,.5));var o=!1;if(a){var s=i(\"mean\"),l=i(\"sd\");s&&s.length&&(o=!0,l&&l.length&&(o=\"sd\"))}i(\"whiskerwidth\");var u=i(\"sizemode\"),c;u===\"quartiles\"&&(c=i(\"boxmean\",o)),i(\"showwhiskers\",u===\"quartiles\"),(u===\"sd\"||c===\"sd\")&&i(\"sdmultiple\"),i(\"width\"),i(\"quartilemethod\");var f=!1;if(a){var h=i(\"notchspan\");h&&h.length&&(f=!0)}else V0.validate(e.notchwidth,g4.notchwidth)&&(f=!0);var d=i(\"notched\",f);d&&i(\"notchwidth\"),r1e(e,t,i,{prefix:\"box\"}),i(\"zorder\")}}function t1e(e,t,r,n){function i(P){var T=0;return P&&P.length&&(T+=1,V0.isArrayOrTypedArray(P[0])&&P[0].length&&(T+=1)),T}function a(P){return V0.validate(e[P],g4[P])}var o=r(\"y\"),s=r(\"x\"),l;if(t.type===\"box\"){var u=r(\"q1\"),c=r(\"median\"),f=r(\"q3\");t._hasPreCompStats=u&&u.length&&c&&c.length&&f&&f.length,l=Math.min(V0.minRowLength(u),V0.minRowLength(c),V0.minRowLength(f))}var h=i(o),d=i(s),v=h&&V0.minRowLength(o),x=d&&V0.minRowLength(s),b=n.calendar,p={autotypenumbers:n.autotypenumbers},E,k;if(t._hasPreCompStats)switch(String(d)+String(h)){case\"00\":var A=a(\"x0\")||a(\"dx\"),L=a(\"y0\")||a(\"dy\");L&&!A?E=\"h\":E=\"v\",k=l;break;case\"10\":E=\"v\",k=Math.min(l,x);break;case\"20\":E=\"h\",k=Math.min(l,s.length);break;case\"01\":E=\"h\",k=Math.min(l,v);break;case\"02\":E=\"v\",k=Math.min(l,o.length);break;case\"12\":E=\"v\",k=Math.min(l,x,o.length);break;case\"21\":E=\"h\",k=Math.min(l,s.length,v);break;case\"11\":k=0;break;case\"22\":var _=!1,C;for(C=0;C<s.length;C++)if(e1e(s[C],b,p)===\"category\"){_=!0;break}if(_)E=\"v\",k=Math.min(l,x,o.length);else{for(C=0;C<o.length;C++)if(e1e(o[C],b,p)===\"category\"){_=!0;break}_?(E=\"h\",k=Math.min(l,s.length,v)):(E=\"v\",k=Math.min(l,x,o.length))}break}else h>0?(E=\"v\",d>0?k=Math.min(x,v):k=Math.min(v)):d>0?(E=\"h\",k=Math.min(x)):k=0;if(!k){t.visible=!1;return}t._length=k;var M=r(\"orientation\",E);t._hasPreCompStats?M===\"v\"&&d===0?(r(\"x0\",0),r(\"dx\",1)):M===\"h\"&&h===0&&(r(\"y0\",0),r(\"dy\",1)):M===\"v\"&&d===0?r(\"x0\"):M===\"h\"&&h===0&&r(\"y0\");var g=Oyt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");g(e,t,[\"x\",\"y\"],n)}function r1e(e,t,r,n){var i=n.prefix,a=V0.coerce2(e,t,g4,\"marker.outliercolor\"),o=r(\"marker.line.outliercolor\"),s=\"outliers\";t._hasPreCompStats?s=\"all\":(a||o)&&(s=\"suspectedoutliers\");var l=r(i+\"points\",s);l?(r(\"jitter\",l===\"all\"?.3:0),r(\"pointpos\",l===\"all\"?-1.5:0),r(\"marker.symbol\"),r(\"marker.opacity\"),r(\"marker.size\"),r(\"marker.angle\"),r(\"marker.color\",t.line.color),r(\"marker.line.color\"),r(\"marker.line.width\"),l===\"suspectedoutliers\"&&(r(\"marker.line.outliercolor\",t.marker.color),r(\"marker.line.outlierwidth\")),r(\"selected.marker.color\"),r(\"unselected.marker.color\"),r(\"selected.marker.size\"),r(\"unselected.marker.size\"),r(\"text\"),r(\"hovertext\")):delete t.marker;var u=r(\"hoveron\");(u===\"all\"||u.indexOf(\"points\")!==-1)&&r(\"hovertemplate\"),V0.coerceSelectionMarkerOpacity(t,r)}function Hyt(e,t){var r,n;function i(l){return V0.coerce(n._input,n,g4,l)}for(var a=0;a<e.length;a++){n=e[a];var o=n.type;if(o===\"box\"||o===\"violin\"){r=n._input;var s=t[o+\"mode\"];s===\"group\"&&Uyt(r,n,t,i,s)}}}i1e.exports={supplyDefaults:Vyt,crossTraceDefaults:Hyt,handleSampleDefaults:t1e,handlePointsDefaults:r1e}});var VI=ye((Nor,a1e)=>{\"use strict\";var Gyt=ba(),jyt=Mr(),Wyt=p4();function n1e(e,t,r,n,i){for(var a=i+\"Layout\",o=!1,s=0;s<r.length;s++){var l=r[s];if(Gyt.traceIs(l,a)){o=!0;break}}o&&(n(i+\"mode\"),n(i+\"gap\"),n(i+\"groupgap\"))}function Zyt(e,t,r){function n(i,a){return jyt.coerce(e,t,Wyt,i,a)}n1e(e,t,r,n,\"box\")}a1e.exports={supplyLayoutDefaults:Zyt,_supply:n1e}});var MV=ye((Uor,v1e)=>{\"use strict\";var SV=uo(),HI=Qa(),Xyt=Rg(),$f=Mr(),i0=es().BADNUM,Fy=$f._;v1e.exports=function(t,r){var n=t._fullLayout,i=HI.getFromId(t,r.xaxis||\"x\"),a=HI.getFromId(t,r.yaxis||\"y\"),o=[],s=r.type===\"violin\"?\"_numViolins\":\"_numBoxes\",l,u,c,f,h,d,v;r.orientation===\"h\"?(c=i,f=\"x\",h=a,d=\"y\",v=!!r.yperiodalignment):(c=a,f=\"y\",h=i,d=\"x\",v=!!r.xperiodalignment);var x=Yyt(r,d,h,n[s]),b=x[0],p=x[1],E=$f.distinctVals(b,h),k=E.vals,A=E.minDiff/2,L,_,C,M,g,P,T=(r.boxpoints||r.points)===\"all\"?$f.identity:function(qt){return qt.v<L.lf||qt.v>L.uf};if(r._hasPreCompStats){var F=r[f],q=function(qt){return c.d2c((r[qt]||[])[l])},V=1/0,H=-1/0;for(l=0;l<r._length;l++){var X=b[l];if(SV(X)){if(L={},L.pos=L[d]=X,v&&p&&(L.orig_p=p[l]),L.q1=q(\"q1\"),L.med=q(\"median\"),L.q3=q(\"q3\"),_=[],F&&$f.isArrayOrTypedArray(F[l]))for(u=0;u<F[l].length;u++)P=c.d2c(F[l][u]),P!==i0&&(g={v:P,i:[l,u]},o1e(g,r,[l,u]),_.push(g));if(L.pts=_.sort(s1e),C=L[f]=_.map(l1e),M=C.length,L.med!==i0&&L.q1!==i0&&L.q3!==i0&&L.med>=L.q1&&L.q3>=L.med){var G=q(\"lowerfence\");L.lf=G!==i0&&G<=L.q1?G:u1e(L,C,M);var N=q(\"upperfence\");L.uf=N!==i0&&N>=L.q3?N:c1e(L,C,M);var W=q(\"mean\");L.mean=W!==i0?W:M?$f.mean(C,M):(L.q1+L.q3)/2;var re=q(\"sd\");L.sd=W!==i0&&re>=0?re:M?$f.stdev(C,M,L.mean):L.q3-L.q1,L.lo=f1e(L),L.uo=h1e(L);var ae=q(\"notchspan\");ae=ae!==i0&&ae>0?ae:d1e(L,M),L.ln=L.med-ae,L.un=L.med+ae;var _e=L.lf,Me=L.uf;r.boxpoints&&C.length&&(_e=Math.min(_e,C[0]),Me=Math.max(Me,C[M-1])),r.notched&&(_e=Math.min(_e,L.ln),Me=Math.max(Me,L.un)),L.min=_e,L.max=Me}else{$f.warn([\"Invalid input - make sure that q1 <= median <= q3\",\"q1 = \"+L.q1,\"median = \"+L.med,\"q3 = \"+L.q3].join(`\n", - "`));var ke;L.med!==i0?ke=L.med:L.q1!==i0?L.q3!==i0?ke=(L.q1+L.q3)/2:ke=L.q1:L.q3!==i0?ke=L.q3:ke=0,L.med=ke,L.q1=L.q3=ke,L.lf=L.uf=ke,L.mean=L.sd=ke,L.ln=L.un=ke,L.min=L.max=ke}V=Math.min(V,L.min),H=Math.max(H,L.max),L.pts2=_.filter(T),o.push(L)}}r._extremes[c._id]=HI.findExtremes(c,[V,H],{padded:!0})}else{var ge=c.makeCalcdata(r,f),ie=Kyt(k,A),Te=k.length,Ee=Jyt(Te);for(l=0;l<r._length;l++)if(P=ge[l],!!SV(P)){var Ae=$f.findBin(b[l],ie);Ae>=0&&Ae<Te&&(g={v:P,i:l},o1e(g,r,l),Ee[Ae].push(g))}var ze=1/0,Ce=-1/0,me=r.quartilemethod,Re=me===\"exclusive\",ce=me===\"inclusive\";for(l=0;l<Te;l++)if(Ee[l].length>0){if(L={},L.pos=L[d]=k[l],_=L.pts=Ee[l].sort(s1e),C=L[f]=_.map(l1e),M=C.length,L.min=C[0],L.max=C[M-1],L.mean=$f.mean(C,M),L.sd=$f.stdev(C,M,L.mean)*r.sdmultiple,L.med=$f.interp(C,.5),M%2&&(Re||ce)){var Ge,nt;Re?(Ge=C.slice(0,M/2),nt=C.slice(M/2+1)):ce&&(Ge=C.slice(0,M/2+1),nt=C.slice(M/2)),L.q1=$f.interp(Ge,.5),L.q3=$f.interp(nt,.5)}else L.q1=$f.interp(C,.25),L.q3=$f.interp(C,.75);L.lf=u1e(L,C,M),L.uf=c1e(L,C,M),L.lo=f1e(L),L.uo=h1e(L);var ct=d1e(L,M);L.ln=L.med-ct,L.un=L.med+ct,ze=Math.min(ze,L.ln),Ce=Math.max(Ce,L.un),L.pts2=_.filter(T),o.push(L)}r.notched&&$f.isTypedArray(ge)&&(ge=Array.from(ge)),r._extremes[c._id]=HI.findExtremes(c,r.notched?ge.concat([ze,Ce]):ge,{padded:!0})}return $yt(o,r),o.length>0?(o[0].t={num:n[s],dPos:A,posLetter:d,valLetter:f,labels:{med:Fy(t,\"median:\"),min:Fy(t,\"min:\"),q1:Fy(t,\"q1:\"),q3:Fy(t,\"q3:\"),max:Fy(t,\"max:\"),mean:r.boxmean===\"sd\"||r.sizemode===\"sd\"?Fy(t,\"mean \\xB1 \\u03C3:\").replace(\"\\u03C3\",r.sdmultiple===1?\"\\u03C3\":r.sdmultiple+\"\\u03C3\"):Fy(t,\"mean:\"),lf:Fy(t,\"lower fence:\"),uf:Fy(t,\"upper fence:\")}},n[s]++,o):[{t:{empty:!0}}]};function Yyt(e,t,r,n){var i=t in e,a=t+\"0\"in e,o=\"d\"+t in e;if(i||a&&o){var s=r.makeCalcdata(e,t),l=Xyt(e,r,t,s).vals;return[l,s]}var u;a?u=e[t+\"0\"]:\"name\"in e&&(r.type===\"category\"||SV(e.name)&&[\"linear\",\"log\"].indexOf(r.type)!==-1||$f.isDateTime(e.name)&&r.type===\"date\")?u=e.name:u=n;for(var c=r.type===\"multicategory\"?r.r2c_just_indices(u):r.d2c(u,0,e[t+\"calendar\"]),f=e._length,h=new Array(f),d=0;d<f;d++)h[d]=c;return[h]}function Kyt(e,t){for(var r=e.length,n=new Array(r+1),i=0;i<r;i++)n[i]=e[i]-t;return n[r]=e[r-1]+t,n}function Jyt(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=[];return t}var AV={text:\"tx\",hovertext:\"htx\"};function o1e(e,t,r){for(var n in AV)$f.isArrayOrTypedArray(t[n])&&(Array.isArray(r)?$f.isArrayOrTypedArray(t[n][r[0]])&&(e[AV[n]]=t[n][r[0]][r[1]]):e[AV[n]]=t[n][r])}function $yt(e,t){if($f.isArrayOrTypedArray(t.selectedpoints))for(var r=0;r<e.length;r++){for(var n=e[r].pts||[],i={},a=0;a<n.length;a++)i[n[a].i]=a;$f.tagSelected(n,t,i)}}function s1e(e,t){return e.v-t.v}function l1e(e){return e.v}function u1e(e,t,r){return r===0?e.q1:Math.min(e.q1,t[Math.min($f.findBin(2.5*e.q1-1.5*e.q3,t,!0)+1,r-1)])}function c1e(e,t,r){return r===0?e.q3:Math.max(e.q3,t[Math.max($f.findBin(2.5*e.q3-1.5*e.q1,t),0)])}function f1e(e){return 4*e.q1-3*e.q3}function h1e(e){return 4*e.q3-3*e.q1}function d1e(e,t){return t===0?0:1.57*(e.q3-e.q1)/Math.sqrt(t)}});var GI=ye((Vor,y1e)=>{\"use strict\";var p1e=Qa(),Qyt=Mr(),e1t=Bb().getAxisGroup,g1e=[\"v\",\"h\"];function t1t(e,t){for(var r=e.calcdata,n=t.xaxis,i=t.yaxis,a=0;a<g1e.length;a++){for(var o=g1e[a],s=o===\"h\"?i:n,l=[],u=0;u<r.length;u++){var c=r[u],f=c[0].t,h=c[0].trace;h.visible===!0&&(h.type===\"box\"||h.type===\"candlestick\")&&!f.empty&&(h.orientation||\"v\")===o&&h.xaxis===n._id&&h.yaxis===i._id&&l.push(u)}m1e(\"box\",e,l,s)}}function m1e(e,t,r,n){var i=t.calcdata,a=t._fullLayout,o=n._id,s=o.charAt(0),l,u,c,f=[],h=0;for(l=0;l<r.length;l++)for(c=i[r[l]],u=0;u<c.length;u++)f.push(n.c2l(c[u].pos,!0)),h+=(c[u].pts2||[]).length;if(f.length){var d=Qyt.distinctVals(f);(n.type===\"category\"||n.type===\"multicategory\")&&(d.minDiff=1);var v=d.minDiff/2;p1e.minDtick(n,d.minDiff,d.vals[0],!0);var x=e===\"violin\"?\"_numViolins\":\"_numBoxes\",b=a[x],p=a[e+\"mode\"]===\"group\"&&b>1,E=1-a[e+\"gap\"],k=1-a[e+\"groupgap\"];for(l=0;l<r.length;l++){c=i[r[l]];var A=c[0].trace,L=c[0].t,_=A.width,C=A.side,M,g,P,T;if(_)M=g=T=_/2,P=0;else if(M=v,p){var F=e1t(a,n._id)+A.orientation,q=a._alignmentOpts[F]||{},V=q[A.alignmentgroup]||{},H=Object.keys(V.offsetGroups||{}).length,X=H||b,G=H?A._offsetIndex:L.num;g=M*E*k/X,P=2*M*(-.5+(G+.5)/X)*E,T=M*E/X}else g=M*E*k,P=0,T=M;L.dPos=M,L.bPos=P,L.bdPos=g,L.wHover=T;var N,W,re=P+g,ae,_e,Me,ke,ge,ie,Te=!!_,Ee=(A.boxpoints||A.points)&&h>0;if(C===\"positive\"?(N=M*(_?1:.5),ae=re,W=ae=P):C===\"negative\"?(N=ae=P,W=M*(_?1:.5),_e=re):(N=W=M,ae=_e=re),Ee){var Ae=A.pointpos,ze=A.jitter,Ce=A.marker.size/2,me=0;Ae+ze>=0&&(me=re*(Ae+ze),me>N?(Te=!0,ge=Ce,Me=me):me>ae&&(ge=Ce,Me=N)),me<=N&&(Me=N);var Re=0;Ae-ze<=0&&(Re=-re*(Ae-ze),Re>W?(Te=!0,ie=Ce,ke=Re):Re>_e&&(ie=Ce,ke=W)),Re<=W&&(ke=W)}else Me=N,ke=W;var ce=new Array(c.length);for(u=0;u<c.length;u++)ce[u]=c[u].pos;A._extremes[o]=p1e.findExtremes(n,ce,{padded:Te,vpadminus:ke,vpadplus:Me,vpadLinearized:!0,ppadminus:{x:ie,y:ge}[s],ppadplus:{x:ge,y:ie}[s]})}}}y1e.exports={crossTraceCalc:t1t,setPositionOffset:m1e}});var jI=ye((Hor,T1e)=>{\"use strict\";var MT=xa(),n2=Mr(),r1t=ao(),_1e=5,i1t=.01;function n1t(e,t,r,n){var i=e._context.staticPlot,a=t.xaxis,o=t.yaxis;n2.makeTraceGroups(n,r,\"trace boxes\").each(function(s){var l=MT.select(this),u=s[0],c=u.t,f=u.trace;if(c.wdPos=c.bdPos*f.whiskerwidth,f.visible!==!0||c.empty){l.remove();return}var h,d;f.orientation===\"h\"?(h=o,d=a):(h=a,d=o),x1e(l,{pos:h,val:d},f,c,i),b1e(l,{x:a,y:o},f,c),w1e(l,{pos:h,val:d},f,c)})}function x1e(e,t,r,n,i){var a=r.orientation===\"h\",o=t.val,s=t.pos,l=!!s.rangebreaks,u=n.bPos,c=n.wdPos||0,f=n.bPosPxOffset||0,h=r.whiskerwidth||0,d=r.showwhiskers!==!1,v=r.notched||!1,x=v?1-2*r.notchwidth:1,b,p;Array.isArray(n.bdPos)?(b=n.bdPos[0],p=n.bdPos[1]):(b=n.bdPos,p=n.bdPos);var E=e.selectAll(\"path.box\").data(r.type!==\"violin\"||r.box.visible?n2.identity:[]);E.enter().append(\"path\").style(\"vector-effect\",i?\"none\":\"non-scaling-stroke\").attr(\"class\",\"box\"),E.exit().remove(),E.each(function(k){if(k.empty)return MT.select(this).attr(\"d\",\"M0,0Z\");var A=s.c2l(k.pos+u,!0),L=s.l2p(A-b)+f,_=s.l2p(A+p)+f,C=l?(L+_)/2:s.l2p(A)+f,M=r.whiskerwidth,g=l?L*M+(1-M)*C:s.l2p(A-c)+f,P=l?_*M+(1-M)*C:s.l2p(A+c)+f,T=s.l2p(A-b*x)+f,F=s.l2p(A+p*x)+f,q=r.sizemode===\"sd\",V=o.c2p(q?k.mean-k.sd:k.q1,!0),H=q?o.c2p(k.mean+k.sd,!0):o.c2p(k.q3,!0),X=n2.constrain(q?o.c2p(k.mean,!0):o.c2p(k.med,!0),Math.min(V,H)+1,Math.max(V,H)-1),G=k.lf===void 0||r.boxpoints===!1||q,N=o.c2p(G?k.min:k.lf,!0),W=o.c2p(G?k.max:k.uf,!0),re=o.c2p(k.ln,!0),ae=o.c2p(k.un,!0);a?MT.select(this).attr(\"d\",\"M\"+X+\",\"+T+\"V\"+F+\"M\"+V+\",\"+L+\"V\"+_+(v?\"H\"+re+\"L\"+X+\",\"+F+\"L\"+ae+\",\"+_:\"\")+\"H\"+H+\"V\"+L+(v?\"H\"+ae+\"L\"+X+\",\"+T+\"L\"+re+\",\"+L:\"\")+\"Z\"+(d?\"M\"+V+\",\"+C+\"H\"+N+\"M\"+H+\",\"+C+\"H\"+W+(h===0?\"\":\"M\"+N+\",\"+g+\"V\"+P+\"M\"+W+\",\"+g+\"V\"+P):\"\")):MT.select(this).attr(\"d\",\"M\"+T+\",\"+X+\"H\"+F+\"M\"+L+\",\"+V+\"H\"+_+(v?\"V\"+re+\"L\"+F+\",\"+X+\"L\"+_+\",\"+ae:\"\")+\"V\"+H+\"H\"+L+(v?\"V\"+ae+\"L\"+T+\",\"+X+\"L\"+L+\",\"+re:\"\")+\"Z\"+(d?\"M\"+C+\",\"+V+\"V\"+N+\"M\"+C+\",\"+H+\"V\"+W+(h===0?\"\":\"M\"+g+\",\"+N+\"H\"+P+\"M\"+g+\",\"+W+\"H\"+P):\"\"))})}function b1e(e,t,r,n){var i=t.x,a=t.y,o=n.bdPos,s=n.bPos,l=r.boxpoints||r.points;n2.seedPseudoRandom();var u=function(h){return h.forEach(function(d){d.t=n,d.trace=r}),h},c=e.selectAll(\"g.points\").data(l?u:[]);c.enter().append(\"g\").attr(\"class\",\"points\"),c.exit().remove();var f=c.selectAll(\"path\").data(function(h){var d,v=h.pts2,x=Math.max((h.max-h.min)/10,h.q3-h.q1),b=x*1e-9,p=x*i1t,E=[],k=0,A;if(r.jitter){if(x===0)for(k=1,E=new Array(v.length),d=0;d<v.length;d++)E[d]=1;else for(d=0;d<v.length;d++){var L=Math.max(0,d-_1e),_=v[L].v,C=Math.min(v.length-1,d+_1e),M=v[C].v;l!==\"all\"&&(v[d].v<h.lf?M=Math.min(M,h.lf):_=Math.max(_,h.uf));var g=Math.sqrt(p*(C-L)/(M-_+b))||0;g=n2.constrain(Math.abs(g),0,1),E.push(g),k=Math.max(g,k)}A=r.jitter*2/(k||1)}for(d=0;d<v.length;d++){var P=v[d],T=P.v,F=r.jitter?A*E[d]*(n2.pseudoRandom()-.5):0,q=h.pos+s+o*(r.pointpos+F);r.orientation===\"h\"?(P.y=q,P.x=T):(P.x=q,P.y=T),l===\"suspectedoutliers\"&&T<h.uo&&T>h.lo&&(P.so=!0)}return v});f.enter().append(\"path\").classed(\"point\",!0),f.exit().remove(),f.call(r1t.translatePoints,i,a)}function w1e(e,t,r,n){var i=t.val,a=t.pos,o=!!a.rangebreaks,s=n.bPos,l=n.bPosPxOffset||0,u=r.boxmean||(r.meanline||{}).visible,c,f;Array.isArray(n.bdPos)?(c=n.bdPos[0],f=n.bdPos[1]):(c=n.bdPos,f=n.bdPos);var h=e.selectAll(\"path.mean\").data(r.type===\"box\"&&r.boxmean||r.type===\"violin\"&&r.box.visible&&r.meanline.visible?n2.identity:[]);h.enter().append(\"path\").attr(\"class\",\"mean\").style({fill:\"none\",\"vector-effect\":\"non-scaling-stroke\"}),h.exit().remove(),h.each(function(d){var v=a.c2l(d.pos+s,!0),x=a.l2p(v-c)+l,b=a.l2p(v+f)+l,p=o?(x+b)/2:a.l2p(v)+l,E=i.c2p(d.mean,!0),k=i.c2p(d.mean-d.sd,!0),A=i.c2p(d.mean+d.sd,!0);r.orientation===\"h\"?MT.select(this).attr(\"d\",\"M\"+E+\",\"+x+\"V\"+b+(u===\"sd\"?\"m0,0L\"+k+\",\"+p+\"L\"+E+\",\"+x+\"L\"+A+\",\"+p+\"Z\":\"\")):MT.select(this).attr(\"d\",\"M\"+x+\",\"+E+\"H\"+b+(u===\"sd\"?\"m0,0L\"+p+\",\"+k+\"L\"+x+\",\"+E+\"L\"+p+\",\"+A+\"Z\":\"\"))})}T1e.exports={plot:n1t,plotBoxAndWhiskers:x1e,plotPoints:b1e,plotBoxMean:w1e}});var WI=ye((Gor,A1e)=>{\"use strict\";var EV=xa(),kV=va(),CV=ao();function a1t(e,t,r){var n=r||EV.select(e).selectAll(\"g.trace.boxes\");n.style(\"opacity\",function(i){return i[0].trace.opacity}),n.each(function(i){var a=EV.select(this),o=i[0].trace,s=o.line.width;function l(f,h,d,v){f.style(\"stroke-width\",h+\"px\").call(kV.stroke,d).call(kV.fill,v)}var u=a.selectAll(\"path.box\");if(o.type===\"candlestick\")u.each(function(f){if(!f.empty){var h=EV.select(this),d=o[f.dir];l(h,d.line.width,d.line.color,d.fillcolor),h.style(\"opacity\",o.selectedpoints&&!f.selected?.3:1)}});else{l(u,s,o.line.color,o.fillcolor),a.selectAll(\"path.mean\").style({\"stroke-width\":s,\"stroke-dasharray\":2*s+\"px,\"+s+\"px\"}).call(kV.stroke,o.line.color);var c=a.selectAll(\"path.point\");CV.pointStyle(c,o,e)}})}function o1t(e,t,r){var n=t[0].trace,i=r.selectAll(\"path.point\");n.selectedpoints?CV.selectedPointStyle(i,n):CV.pointStyle(i,n,e)}A1e.exports={style:a1t,styleOnSelect:o1t}});var PV=ye((jor,k1e)=>{\"use strict\";var s1t=Qa(),LV=Mr(),S_=Nc(),S1e=va(),l1t=LV.fillText;function u1t(e,t,r,n){var i=e.cd,a=i[0].trace,o=a.hoveron,s=[],l;return o.indexOf(\"boxes\")!==-1&&(s=s.concat(M1e(e,t,r,n))),o.indexOf(\"points\")!==-1&&(l=E1e(e,t,r)),n===\"closest\"?l?[l]:s:(l&&s.push(l),s)}function M1e(e,t,r,n){var i=e.cd,a=e.xa,o=e.ya,s=i[0].trace,l=i[0].t,u=s.type===\"violin\",c,f,h,d,v,x,b,p,E,k,A,L=l.bdPos,_,C,M=l.wHover,g=function(Ce){return h.c2l(Ce.pos)+l.bPos-h.c2l(x)};u&&s.side!==\"both\"?(s.side===\"positive\"&&(E=function(Ce){var me=g(Ce);return S_.inbox(me,me+M,k)},_=L,C=0),s.side===\"negative\"&&(E=function(Ce){var me=g(Ce);return S_.inbox(me-M,me,k)},_=0,C=L)):(E=function(Ce){var me=g(Ce);return S_.inbox(me-M,me+M,k)},_=C=L);var P;u?P=function(Ce){return S_.inbox(Ce.span[0]-v,Ce.span[1]-v,k)}:P=function(Ce){return S_.inbox(Ce.min-v,Ce.max-v,k)},s.orientation===\"h\"?(v=t,x=r,b=P,p=E,c=\"y\",h=o,f=\"x\",d=a):(v=r,x=t,b=E,p=P,c=\"x\",h=a,f=\"y\",d=o);var T=Math.min(1,L/Math.abs(h.r2c(h.range[1])-h.r2c(h.range[0])));k=e.maxHoverDistance-T,A=e.maxSpikeDistance-T;function F(Ce){return(b(Ce)+p(Ce))/2}var q=S_.getDistanceFunction(n,b,p,F);if(S_.getClosest(i,q,e),e.index===!1)return[];var V=i[e.index],H=s.line.color,X=(s.marker||{}).color;S1e.opacity(H)&&s.line.width?e.color=H:S1e.opacity(X)&&s.boxpoints?e.color=X:e.color=s.fillcolor,e[c+\"0\"]=h.c2p(V.pos+l.bPos-C,!0),e[c+\"1\"]=h.c2p(V.pos+l.bPos+_,!0),e[c+\"LabelVal\"]=V.orig_p!==void 0?V.orig_p:V.pos;var G=c+\"Spike\";e.spikeDistance=F(V)*A/k,e[G]=h.c2p(V.pos,!0);var N=s.boxmean||s.sizemode===\"sd\"||(s.meanline||{}).visible,W=s.boxpoints||s.points,re=W&&N?[\"max\",\"uf\",\"q3\",\"med\",\"mean\",\"q1\",\"lf\",\"min\"]:W&&!N?[\"max\",\"uf\",\"q3\",\"med\",\"q1\",\"lf\",\"min\"]:!W&&N?[\"max\",\"q3\",\"med\",\"mean\",\"q1\",\"min\"]:[\"max\",\"q3\",\"med\",\"q1\",\"min\"],ae=d.range[1]<d.range[0];s.orientation===(ae?\"v\":\"h\")&&re.reverse();for(var _e=e.spikeDistance,Me=e[G],ke=[],ge=0;ge<re.length;ge++){var ie=re[ge];if(ie in V){var Te=V[ie],Ee=d.c2p(Te,!0),Ae=LV.extendFlat({},e);Ae.attr=ie,Ae[f+\"0\"]=Ae[f+\"1\"]=Ee,Ae[f+\"LabelVal\"]=Te,Ae[f+\"Label\"]=(l.labels?l.labels[ie]+\" \":\"\")+s1t.hoverLabelText(d,Te,s[f+\"hoverformat\"]),Ae.hoverOnBox=!0,ie===\"mean\"&&\"sd\"in V&&(s.boxmean===\"sd\"||s.sizemode===\"sd\")&&(Ae[f+\"err\"]=V.sd),Ae.hovertemplate=!1,ke.push(Ae)}}e.name=\"\",e.spikeDistance=void 0,e[G]=void 0;for(var ze=0;ze<ke.length;ze++)ke[ze].attr!==\"med\"?(ke[ze].name=\"\",ke[ze].spikeDistance=void 0,ke[ze][G]=void 0):(ke[ze].spikeDistance=_e,ke[ze][G]=Me);return ke}function E1e(e,t,r){for(var n=e.cd,i=e.xa,a=e.ya,o=n[0].trace,s=i.c2p(t),l=a.c2p(r),u,c=function(P){var T=Math.max(3,P.mrc||0);return Math.max(Math.abs(i.c2p(P.x)-s)-T,1-3/T)},f=function(P){var T=Math.max(3,P.mrc||0);return Math.max(Math.abs(a.c2p(P.y)-l)-T,1-3/T)},h=S_.quadrature(c,f),d=!1,v,x,b=0;b<n.length;b++){v=n[b];for(var p=0;p<(v.pts||[]).length;p++){x=v.pts[p];var E=h(x);E<=e.distance&&(e.distance=E,d=[b,p])}}if(!d)return!1;v=n[d[0]],x=v.pts[d[1]];var k=i.c2p(x.x,!0),A=a.c2p(x.y,!0),L=x.mrc||1;u=LV.extendFlat({},e,{index:x.i,color:(o.marker||{}).color,name:o.name,x0:k-L,x1:k+L,y0:A-L,y1:A+L,spikeDistance:e.distance,hovertemplate:o.hovertemplate});var _=v.orig_p,C=_!==void 0?_:v.pos,M;o.orientation===\"h\"?(M=a,u.xLabelVal=x.x,u.yLabelVal=C):(M=i,u.xLabelVal=C,u.yLabelVal=x.y);var g=M._id.charAt(0);return u[g+\"Spike\"]=M.c2p(v.pos,!0),l1t(x,o,u),u}k1e.exports={hoverPoints:u1t,hoverOnBoxes:M1e,hoverOnPoints:E1e}});var L1e=ye((Wor,C1e)=>{\"use strict\";C1e.exports=function(t,r){return r.hoverOnBox&&(t.hoverOnBox=r.hoverOnBox),\"xVal\"in r&&(t.x=r.xVal),\"yVal\"in r&&(t.y=r.yVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var IV=ye((Zor,P1e)=>{\"use strict\";P1e.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l;if(r===!1)for(s=0;s<n.length;s++)for(l=0;l<(n[s].pts||[]).length;l++)n[s].pts[l].selected=0;else for(s=0;s<n.length;s++)for(l=0;l<(n[s].pts||[]).length;l++){var u=n[s].pts[l],c=i.c2p(u.x),f=a.c2p(u.y);r.contains([c,f],null,u.i,t)?(o.push({pointNumber:u.i,x:i.c2d(u.x),y:a.c2d(u.y)}),u.selected=1):u.selected=0}return o}});var R1e=ye((Xor,I1e)=>{\"use strict\";I1e.exports={attributes:v4(),layoutAttributes:p4(),supplyDefaults:m4().supplyDefaults,crossTraceDefaults:m4().crossTraceDefaults,supplyLayoutDefaults:VI().supplyLayoutDefaults,calc:MV(),crossTraceCalc:GI().crossTraceCalc,plot:jI().plot,style:WI().style,styleOnSelect:WI().styleOnSelect,hoverPoints:PV().hoverPoints,eventData:L1e(),selectPoints:IV(),moduleType:\"trace\",name:\"box\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\",\"boxLayout\",\"zoomScale\"],meta:{}}});var z1e=ye((Yor,D1e)=>{\"use strict\";D1e.exports=R1e()});var ET=ye((Kor,F1e)=>{\"use strict\";var n0=Uc(),c1t=vl(),f1t=Su(),RV=Oc().axisHoverFormat,h1t=Wo().hovertemplateAttrs,d1t=Wo().texttemplateAttrs,v1t=Jl(),Pp=no().extendFlat;F1e.exports=Pp({z:{valType:\"data_array\",editType:\"calc\"},x:Pp({},n0.x,{impliedEdits:{xtype:\"array\"}}),x0:Pp({},n0.x0,{impliedEdits:{xtype:\"scaled\"}}),dx:Pp({},n0.dx,{impliedEdits:{xtype:\"scaled\"}}),y:Pp({},n0.y,{impliedEdits:{ytype:\"array\"}}),y0:Pp({},n0.y0,{impliedEdits:{ytype:\"scaled\"}}),dy:Pp({},n0.dy,{impliedEdits:{ytype:\"scaled\"}}),xperiod:Pp({},n0.xperiod,{impliedEdits:{xtype:\"scaled\"}}),yperiod:Pp({},n0.yperiod,{impliedEdits:{ytype:\"scaled\"}}),xperiod0:Pp({},n0.xperiod0,{impliedEdits:{xtype:\"scaled\"}}),yperiod0:Pp({},n0.yperiod0,{impliedEdits:{ytype:\"scaled\"}}),xperiodalignment:Pp({},n0.xperiodalignment,{impliedEdits:{xtype:\"scaled\"}}),yperiodalignment:Pp({},n0.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:RV(\"x\"),yhoverformat:RV(\"y\"),zhoverformat:RV(\"z\",1),hovertemplate:h1t(),texttemplate:d1t({arrayOk:!1,editType:\"plot\"},{keys:[\"x\",\"y\",\"z\",\"text\"]}),textfont:f1t({editType:\"plot\",autoSize:!0,autoColor:!0,colorEditType:\"style\"}),showlegend:Pp({},c1t.showlegend,{dflt:!1}),zorder:n0.zorder},v1t(\"\",{cLetter:\"z\",autoColorDflt:!1}))});var XI=ye((Jor,O1e)=>{\"use strict\";var p1t=uo(),ZI=Mr(),g1t=ba();O1e.exports=function(t,r,n,i,a,o){var s=n(\"z\");a=a||\"x\",o=o||\"y\";var l,u;if(s===void 0||!s.length)return 0;if(ZI.isArray1D(s)){l=n(a),u=n(o);var c=ZI.minRowLength(l),f=ZI.minRowLength(u);if(c===0||f===0)return 0;r._length=Math.min(c,f,s.length)}else{if(l=q1e(a,n),u=q1e(o,n),!m1t(s))return 0;n(\"transpose\"),r._length=null}var h=g1t.getComponentMethod(\"calendars\",\"handleTraceDefaults\");return h(t,r,[a,o],i),!0};function q1e(e,t){var r=t(e),n=r?t(e+\"type\",\"array\"):\"scaled\";return n===\"scaled\"&&(t(e+\"0\"),t(\"d\"+e)),r}function m1t(e){for(var t=!0,r=!1,n=!1,i,a=0;a<e.length;a++){if(i=e[a],!ZI.isArrayOrTypedArray(i)){t=!1;break}i.length>0&&(r=!0);for(var o=0;o<i.length;o++)if(p1t(i[o])){n=!0;break}}return t&&r&&n}});var y4=ye(($or,N1e)=>{\"use strict\";var B1e=Mr();N1e.exports=function(t,r){t(\"texttemplate\");var n=B1e.extendFlat({},r.font,{color:\"auto\",size:\"auto\"});B1e.coerceFont(t,\"textfont\",n)}});var DV=ye((Qor,U1e)=>{\"use strict\";U1e.exports=function(t,r,n){var i=n(\"zsmooth\");i===!1&&(n(\"xgap\"),n(\"ygap\")),n(\"zhoverformat\")}});var G1e=ye((esr,H1e)=>{\"use strict\";var V1e=Mr(),y1t=XI(),_1t=y4(),x1t=Pg(),b1t=DV(),w1t=Uh(),T1t=ET();H1e.exports=function(t,r,n,i){function a(s,l){return V1e.coerce(t,r,T1t,s,l)}var o=y1t(t,r,a,i);if(!o){r.visible=!1;return}x1t(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),_1t(a,i),b1t(t,r,a,i),a(\"hoverongaps\"),a(\"connectgaps\",V1e.isArray1D(r.z)&&r.zsmooth!==!1),w1t(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),a(\"zorder\")}});var zV=ye((tsr,j1e)=>{\"use strict\";var kT=uo();j1e.exports={count:function(e,t,r){return r[e]++,1},sum:function(e,t,r,n){var i=n[t];return kT(i)?(i=Number(i),r[e]+=i,i):0},avg:function(e,t,r,n,i){var a=n[t];return kT(a)&&(a=Number(a),r[e]+=a,i[e]++),0},min:function(e,t,r,n){var i=n[t];if(kT(i))if(i=Number(i),kT(r[e])){if(r[e]>i){var a=i-r[e];return r[e]=i,a}}else return r[e]=i,i;return 0},max:function(e,t,r,n){var i=n[t];if(kT(i))if(i=Number(i),kT(r[e])){if(r[e]<i){var a=i-r[e];return r[e]=i,a}}else return r[e]=i,i;return 0}}});var FV=ye((rsr,W1e)=>{\"use strict\";W1e.exports={percent:function(e,t){for(var r=e.length,n=100/t,i=0;i<r;i++)e[i]*=n},probability:function(e,t){for(var r=e.length,n=0;n<r;n++)e[n]/=t},density:function(e,t,r,n){var i=e.length;n=n||1;for(var a=0;a<i;a++)e[a]*=r[a]*n},\"probability density\":function(e,t,r,n){var i=e.length;n&&(t/=n);for(var a=0;a<i;a++)e[a]*=r[a]/t}}});var qV=ye((isr,Z1e)=>{\"use strict\";Z1e.exports=function(t,r){for(var n=t.length,i=0,a=0;a<n;a++)r[a]?(t[a]/=r[a],i+=t[a]):t[a]=null;return i}});var OV=ye((nsr,t_e)=>{\"use strict\";var CT=es(),a2=CT.ONEAVGYEAR,X1e=CT.ONEAVGMONTH,KI=CT.ONEDAY,Y1e=CT.ONEHOUR,K1e=CT.ONEMIN,J1e=CT.ONESEC,$1e=Qa().tickIncrement;t_e.exports=function(t,r,n,i,a){var o=-1.1*r,s=-.1*r,l=t-s,u=n[0],c=n[1],f=Math.min(YI(u+s,u+l,i,a),YI(c+s,c+l,i,a)),h=Math.min(YI(u+o,u+s,i,a),YI(c+o,c+s,i,a)),d,v;if(f>h&&h<Math.abs(c-u)/4e3?(d=f,v=!1):(d=Math.min(f,h),v=!0),i.type===\"date\"&&d>KI){var x=d===a2?1:6,b=d===a2?\"M12\":\"M1\";return function(p,E){var k=i.c2d(p,a2,a),A=k.indexOf(\"-\",x);A>0&&(k=k.substr(0,A));var L=i.d2c(k,0,a);if(L<p){var _=$1e(L,b,!1,a);(L+_)/2<p+t&&(L=_)}return E&&v?$1e(L,b,!0,a):L}}return function(p,E){var k=d*Math.round(p/d);return k+d/10<p&&k+d*.9<p+t&&(k+=d),E&&v&&(k-=d),k}};function YI(e,t,r,n){if(e*t<=0)return 1/0;for(var i=Math.abs(t-e),a=r.type===\"date\",o=Q1e(i,a),s=0;s<10;s++){var l=Q1e(o*80,a);if(o===l)break;if(A1t(l,e,t,a,r,n))o=l;else break}return o}function Q1e(e,t){return t&&e>J1e?e>KI?e>a2*1.1?a2:e>X1e*1.1?X1e:KI:e>Y1e?Y1e:e>K1e?K1e:J1e:Math.pow(10,Math.floor(Math.log(e)/Math.LN10))}function A1t(e,t,r,n,i,a){if(n&&e>KI){var o=e_e(t,i,a),s=e_e(r,i,a),l=e===a2?0:1;return o[l]!==s[l]}return Math.floor(r/e)-Math.floor(t/e)>.1}function e_e(e,t,r){var n=t.c2d(e,a2,r).split(\"-\");return n[0]===\"\"&&(n.unshift(),n[0]=\"-\"+n[0]),n}});var UV=ye((asr,n_e)=>{\"use strict\";var BV=uo(),Vv=Mr(),r_e=ba(),H0=Qa(),S1t=c4(),i_e=zV(),M1t=FV(),E1t=qV(),k1t=OV();function C1t(e,t){var r=[],n=[],i=t.orientation===\"h\",a=H0.getFromId(e,i?t.yaxis:t.xaxis),o=i?\"y\":\"x\",s={x:\"y\",y:\"x\"}[o],l=t[o+\"calendar\"],u=t.cumulative,c,f=NV(e,t,a,o),h=f[0],d=f[1],v=typeof h.size==\"string\",x=[],b=v?x:h,p=[],E=[],k=[],A=0,L=t.histnorm,_=t.histfunc,C=L.indexOf(\"density\")!==-1,M,g,P;u.enabled&&C&&(L=L.replace(/ ?density$/,\"\"),C=!1);var T=_===\"max\"||_===\"min\",F=T?null:0,q=i_e.count,V=M1t[L],H=!1,X=function(me){return a.r2c(me,0,l)},G;for(Vv.isArrayOrTypedArray(t[s])&&_!==\"count\"&&(G=t[s],H=_===\"avg\",q=i_e[_]),c=X(h.start),g=X(h.end)+(c-H0.tickIncrement(c,h.size,!1,l))/1e6;c<g&&r.length<1e6&&(M=H0.tickIncrement(c,h.size,!1,l),r.push((c+M)/2),n.push(F),k.push([]),x.push(c),C&&p.push(1/(M-c)),H&&E.push(0),!(M<=c));)c=M;x.push(c),!v&&a.type===\"date\"&&(b={start:X(b.start),end:X(b.end),size:b.size}),e._fullLayout._roundFnOpts||(e._fullLayout._roundFnOpts={});var N=t[\"_\"+o+\"bingroup\"],W={leftGap:1/0,rightGap:1/0};N&&(e._fullLayout._roundFnOpts[N]||(e._fullLayout._roundFnOpts[N]=W),W=e._fullLayout._roundFnOpts[N]);var re=n.length,ae=!0,_e=W.leftGap,Me=W.rightGap,ke={};for(c=0;c<d.length;c++){var ge=d[c];P=Vv.findBin(ge,b),P>=0&&P<re&&(A+=q(P,c,n,G,E),ae&&k[P].length&&ge!==d[k[P][0]]&&(ae=!1),k[P].push(c),ke[c]=P,_e=Math.min(_e,ge-x[P]),Me=Math.min(Me,x[P+1]-ge))}W.leftGap=_e,W.rightGap=Me;var ie;ae||(ie=function(me,Re){return function(){var ce=e._fullLayout._roundFnOpts[N];return k1t(ce.leftGap,ce.rightGap,x,a,l)(me,Re)}}),H&&(A=E1t(n,E)),V&&V(n,A,p),u.enabled&&I1t(n,u.direction,u.currentbin);var Te=Math.min(r.length,n.length),Ee=[],Ae=0,ze=Te-1;for(c=0;c<Te;c++)if(n[c]){Ae=c;break}for(c=Te-1;c>=Ae;c--)if(n[c]){ze=c;break}for(c=Ae;c<=ze;c++)if(BV(r[c])&&BV(n[c])){var Ce={p:r[c],s:n[c],b:0};u.enabled||(Ce.pts=k[c],ae?Ce.ph0=Ce.ph1=k[c].length?d[k[c][0]]:r[c]:(t._computePh=!0,Ce.ph0=ie(x[c]),Ce.ph1=ie(x[c+1],!0))),Ee.push(Ce)}return Ee.length===1&&(Ee[0].width1=H0.tickIncrement(Ee[0].p,h.size,!1,l)-Ee[0].p),S1t(Ee,t),Vv.isArrayOrTypedArray(t.selectedpoints)&&Vv.tagSelected(Ee,t,ke),Ee}function NV(e,t,r,n,i){var a=n+\"bins\",o=e._fullLayout,s=t[\"_\"+n+\"bingroup\"],l=o._histogramBinOpts[s],u=o.barmode===\"overlay\",c,f,h,d,v,x,b,p=function(ge){return r.r2c(ge,0,d)},E=function(ge){return r.c2r(ge,0,d)},k=r.type===\"date\"?function(ge){return ge||ge===0?Vv.cleanDate(ge,null,d):null}:function(ge){return BV(ge)?Number(ge):null};function A(ge,ie,Te){ie[ge+\"Found\"]?(ie[ge]=k(ie[ge]),ie[ge]===null&&(ie[ge]=Te[ge])):(x[ge]=ie[ge]=Te[ge],Vv.nestedProperty(f[0],a+\".\"+ge).set(Te[ge]))}if(t[\"_\"+n+\"autoBinFinished\"])delete t[\"_\"+n+\"autoBinFinished\"];else{f=l.traces;var L=[],_=!0,C=!1,M=!1;for(c=0;c<f.length;c++)if(h=f[c],h.visible){var g=l.dirs[c];v=h[\"_\"+g+\"pos0\"]=r.makeCalcdata(h,g),L=Vv.concat(L,v),delete h[\"_\"+n+\"autoBinFinished\"],t.visible===!0&&(_?_=!1:(delete h._autoBin,h[\"_\"+n+\"autoBinFinished\"]=1),r_e.traceIs(h,\"2dMap\")&&(C=!0),h.type===\"histogram2dcontour\"&&(M=!0))}d=f[0][n+\"calendar\"];var P=H0.autoBin(L,r,l.nbins,C,d,l.sizeFound&&l.size),T=f[0]._autoBin={};if(x=T[l.dirs[0]]={},M&&(l.size||(P.start=E(H0.tickIncrement(p(P.start),P.size,!0,d))),l.end===void 0&&(P.end=E(H0.tickIncrement(p(P.end),P.size,!1,d)))),u&&!r_e.traceIs(t,\"2dMap\")&&P._dataSpan===0&&r.type!==\"category\"&&r.type!==\"multicategory\"&&t.bingroup===\"\"&&typeof t.xbins==\"undefined\"){if(i)return[P,v,!0];P=L1t(e,t,r,n,a)}b=h.cumulative||{},b.enabled&&b.currentbin!==\"include\"&&(b.direction===\"decreasing\"?P.start=E(H0.tickIncrement(p(P.start),P.size,!0,d)):P.end=E(H0.tickIncrement(p(P.end),P.size,!1,d))),l.size=P.size,l.sizeFound||(x.size=P.size,Vv.nestedProperty(f[0],a+\".size\").set(P.size)),A(\"start\",l,P),A(\"end\",l,P)}v=t[\"_\"+n+\"pos0\"],delete t[\"_\"+n+\"pos0\"];var F=t._input[a]||{},q=Vv.extendFlat({},l),V=l.start,H=r.r2l(F.start),X=H!==void 0;if((l.startFound||X)&&H!==r.r2l(V)){var G=X?H:Vv.aggNums(Math.min,null,v),N={type:r.type===\"category\"||r.type===\"multicategory\"?\"linear\":r.type,r2l:r.r2l,dtick:l.size,tick0:V,calendar:d,range:[G,H0.tickIncrement(G,l.size,!1,d)].map(r.l2r)},W=H0.tickFirst(N);W>r.r2l(G)&&(W=H0.tickIncrement(W,l.size,!0,d)),q.start=r.l2r(W),X||Vv.nestedProperty(t,a+\".start\").set(q.start)}var re=l.end,ae=r.r2l(F.end),_e=ae!==void 0;if((l.endFound||_e)&&ae!==r.r2l(re)){var Me=_e?ae:Vv.aggNums(Math.max,null,v);q.end=r.l2r(Me),_e||Vv.nestedProperty(t,a+\".start\").set(q.end)}var ke=\"autobin\"+n;return t._input[ke]===!1&&(t._input[a]=Vv.extendFlat({},t[a]||{}),delete t._input[ke],delete t[ke]),[q,v]}function L1t(e,t,r,n,i){var a=e._fullLayout,o=P1t(e,t),s=!1,l=1/0,u=[t],c,f,h;for(c=0;c<o.length;c++)if(f=o[c],f===t)s=!0;else if(!s)h=a._histogramBinOpts[f[\"_\"+n+\"bingroup\"]],l=Math.min(l,h.size||f[i].size);else{var d=NV(e,f,r,n,!0),v=d[0],x=d[2];f[\"_\"+n+\"autoBinFinished\"]=1,f[\"_\"+n+\"pos0\"]=d[1],x?u.push(f):l=Math.min(l,v.size)}var b=new Array(u.length);for(c=0;c<u.length;c++)for(var p=u[c][\"_\"+n+\"pos0\"],E=0;E<p.length;E++)if(p[E]!==void 0){b[c]=p[E];break}for(isFinite(l)||(l=Vv.distinctVals(b).minDiff),c=0;c<u.length;c++){f=u[c];var k=f[n+\"calendar\"],A={start:r.c2r(b[c]-l/2,0,k),end:r.c2r(b[c]+l/2,0,k),size:l};f._input[i]=f[i]=A,h=a._histogramBinOpts[f[\"_\"+n+\"bingroup\"]],h&&Vv.extendFlat(h,A)}return t[i]}function P1t(e,t){for(var r=t.xaxis,n=t.yaxis,i=t.orientation,a=[],o=e._fullData,s=0;s<o.length;s++){var l=o[s];l.type===\"histogram\"&&l.visible===!0&&l.orientation===i&&l.xaxis===r&&l.yaxis===n&&a.push(l)}return a}function I1t(e,t,r){var n,i,a;function o(l){a=e[l],e[l]/=2}function s(l){i=e[l],e[l]=a+i/2,a+=i}if(r===\"half\")if(t===\"increasing\")for(o(0),n=1;n<e.length;n++)s(n);else for(o(e.length-1),n=e.length-2;n>=0;n--)s(n);else if(t===\"increasing\"){for(n=1;n<e.length;n++)e[n]+=e[n-1];r===\"exclude\"&&(e.unshift(0),e.pop())}else{for(n=e.length-2;n>=0;n--)e[n]+=e[n+1];r===\"exclude\"&&(e.push(0),e.shift())}}n_e.exports={calc:C1t,calcAllAutoBins:NV}});var h_e=ye((osr,f_e)=>{\"use strict\";var a_e=Mr(),LT=Qa(),o_e=zV(),R1t=FV(),D1t=qV(),z1t=OV(),s_e=UV().calcAllAutoBins;f_e.exports=function(t,r){var n=LT.getFromId(t,r.xaxis),i=LT.getFromId(t,r.yaxis),a=r.xcalendar,o=r.ycalendar,s=function(Et){return n.r2c(Et,0,a)},l=function(Et){return i.r2c(Et,0,o)},u=function(Et){return n.c2r(Et,0,a)},c=function(Et){return i.c2r(Et,0,o)},f,h,d,v,x=s_e(t,r,n,\"x\"),b=x[0],p=x[1],E=s_e(t,r,i,\"y\"),k=E[0],A=E[1],L=r._length;p.length>L&&p.splice(L,p.length-L),A.length>L&&A.splice(L,A.length-L);var _=[],C=[],M=[],g=typeof b.size==\"string\",P=typeof k.size==\"string\",T=[],F=[],q=g?T:b,V=P?F:k,H=0,X=[],G=[],N=r.histnorm,W=r.histfunc,re=N.indexOf(\"density\")!==-1,ae=W===\"max\"||W===\"min\",_e=ae?null:0,Me=o_e.count,ke=R1t[N],ge=!1,ie=[],Te=[],Ee=\"z\"in r?r.z:\"marker\"in r&&Array.isArray(r.marker.color)?r.marker.color:\"\";Ee&&W!==\"count\"&&(ge=W===\"avg\",Me=o_e[W]);var Ae=b.size,ze=s(b.start),Ce=s(b.end)+(ze-LT.tickIncrement(ze,Ae,!1,a))/1e6;for(f=ze;f<Ce;f=LT.tickIncrement(f,Ae,!1,a))C.push(_e),T.push(f),ge&&M.push(0);T.push(f);var me=C.length,Re=(f-ze)/me,ce=u(ze+Re/2),Ge=k.size,nt=l(k.start),ct=l(k.end)+(nt-LT.tickIncrement(nt,Ge,!1,o))/1e6;for(f=nt;f<ct;f=LT.tickIncrement(f,Ge,!1,o)){_.push(C.slice()),F.push(f);var qt=new Array(me);for(h=0;h<me;h++)qt[h]=[];G.push(qt),ge&&X.push(M.slice())}F.push(f);var rt=_.length,ot=(f-nt)/rt,Rt=c(nt+ot/2);re&&(ie=l_e(C.length,q,Re,g),Te=l_e(_.length,V,ot,P)),!g&&n.type===\"date\"&&(q=u_e(s,q)),!P&&i.type===\"date\"&&(V=u_e(l,V));var kt=!0,Ct=!0,Yt=new Array(me),xr=new Array(rt),er=1/0,Ke=1/0,xt=1/0,bt=1/0;for(f=0;f<L;f++){var Lt=p[f],St=A[f];d=a_e.findBin(Lt,q),v=a_e.findBin(St,V),d>=0&&d<me&&v>=0&&v<rt&&(H+=Me(d,f,_[v],Ee,X[v]),G[v][d].push(f),kt&&(Yt[d]===void 0?Yt[d]=Lt:Yt[d]!==Lt&&(kt=!1)),Ct&&(xr[v]===void 0?xr[v]=St:xr[v]!==St&&(Ct=!1)),er=Math.min(er,Lt-T[d]),Ke=Math.min(Ke,T[d+1]-Lt),xt=Math.min(xt,St-F[v]),bt=Math.min(bt,F[v+1]-St))}if(ge)for(v=0;v<rt;v++)H+=D1t(_[v],X[v]);if(ke)for(v=0;v<rt;v++)ke(_[v],H,ie,Te[v]);return{x:p,xRanges:c_e(T,kt&&Yt,er,Ke,n,a),x0:ce,dx:Re,y:A,yRanges:c_e(F,Ct&&xr,xt,bt,i,o),y0:Rt,dy:ot,z:_,pts:G}};function l_e(e,t,r,n){var i=new Array(e),a;if(n)for(a=0;a<e;a++)i[a]=1/(t[a+1]-t[a]);else{var o=1/r;for(a=0;a<e;a++)i[a]=o}return i}function u_e(e,t){return{start:e(t.start),end:e(t.end),size:t.size}}function c_e(e,t,r,n,i,a){var o,s=e.length-1,l=new Array(s),u=z1t(r,n,e,i,a);for(o=0;o<s;o++){var c=(t||[])[o];l[o]=c===void 0?[u(e[o]),u(e[o+1],!0)]:[c,c]}return l}});var JI=ye((ssr,p_e)=>{\"use strict\";var Im=Mr(),d_e=es().BADNUM,v_e=Rg();p_e.exports=function(t,r,n,i,a,o){var s=t._length,l=r.makeCalcdata(t,i),u=n.makeCalcdata(t,a);l=v_e(t,r,i,l).vals,u=v_e(t,n,a,u).vals;var c=t.text,f=c!==void 0&&Im.isArray1D(c),h=t.hovertext,d=h!==void 0&&Im.isArray1D(h),v,x,b=Im.distinctVals(l),p=b.vals,E=Im.distinctVals(u),k=E.vals,A=[],L,_,C=k.length,M=p.length;for(v=0;v<o.length;v++)A[v]=Im.init2dArray(C,M);f&&(L=Im.init2dArray(C,M)),d&&(_=Im.init2dArray(C,M));var g=Im.init2dArray(C,M);for(v=0;v<s;v++)if(l[v]!==d_e&&u[v]!==d_e){var P=Im.findBin(l[v]+b.minDiff/2,p),T=Im.findBin(u[v]+E.minDiff/2,k);for(x=0;x<o.length;x++){var F=o[x],q=t[F],V=A[x];V[T][P]=q[v],g[T][P]=v}f&&(L[T][P]=c[v]),d&&(_[T][P]=h[v])}for(t[\"_\"+i]=p,t[\"_\"+a]=k,x=0;x<o.length;x++)t[\"_\"+o[x]]=A[x];f&&(t._text=L),d&&(t._hovertext=_),r&&r.type===\"category\"&&(t[\"_\"+i+\"CategoryMap\"]=p.map(function(H){return r._categories[H]})),n&&n.type===\"category\"&&(t[\"_\"+a+\"CategoryMap\"]=k.map(function(H){return n._categories[H]})),t._after2before=g}});var QI=ye((lsr,g_e)=>{\"use strict\";var F1t=uo(),q1t=Mr(),$I=es().BADNUM;g_e.exports=function(t,r,n,i){var a,o,s,l,u,c;function f(p){if(F1t(p))return+p}if(r&&r.transpose){for(a=0,u=0;u<t.length;u++)a=Math.max(a,t[u].length);if(a===0)return!1;s=function(p){return p.length},l=function(p,E,k){return(p[k]||[])[E]}}else a=t.length,s=function(p,E){return p[E].length},l=function(p,E,k){return(p[E]||[])[k]};var h=function(p,E,k){return E===$I||k===$I?$I:l(p,E,k)};function d(p){if(r&&r.type!==\"carpet\"&&r.type!==\"contourcarpet\"&&p&&p.type===\"category\"&&r[\"_\"+p._id.charAt(0)].length){var E=p._id.charAt(0),k={},A=r[\"_\"+E+\"CategoryMap\"]||r[E];for(u=0;u<A.length;u++)k[A[u]]=u;return function(L){var _=k[p._categories[L]];return _+1?_:$I}}else return q1t.identity}var v=d(n),x=d(i);i&&i.type===\"category\"&&(a=i._categories.length);var b=new Array(a);for(u=0;u<a;u++)for(n&&n.type===\"category\"?o=n._categories.length:o=s(t,u),b[u]=new Array(o),c=0;c<o;c++)b[u][c]=f(h(t,x(u),v(c)));return b}});var e8=ye((usr,__e)=>{\"use strict\";var O1t=Mr(),m_e=.01,B1t=[[-1,0],[1,0],[0,-1],[0,1]];function N1t(e){return .5-.25*Math.min(1,e*.5)}__e.exports=function(t,r){var n=1,i;for(y_e(t,r),i=0;i<r.length&&!(r[i][2]<4);i++);for(r=r.slice(i),i=0;i<100&&n>m_e;i++)n=y_e(t,r,N1t(n));return n>m_e&&O1t.log(\"interp2d didn't converge quickly\",n),t};function y_e(e,t,r){var n=0,i,a,o,s,l,u,c,f,h,d,v,x,b;for(s=0;s<t.length;s++){for(i=t[s],a=i[0],o=i[1],v=e[a][o],d=0,h=0,l=0;l<4;l++)u=B1t[l],c=e[a+u[0]],c&&(f=c[o+u[1]],f!==void 0&&(d===0?x=b=f:(x=Math.min(x,f),b=Math.max(b,f)),h++,d+=f));if(h===0)throw\"iterateInterp2d order is wrong: no defined neighbors\";e[a][o]=d/h,v===void 0?h<4&&(n=1):(e[a][o]=(1+r)*e[a][o]-r*v,b>x&&(n=Math.max(n,Math.abs(e[a][o]-v)/(b-x))))}return n}});var t8=ye((csr,x_e)=>{\"use strict\";var U1t=Mr().maxRowLength;x_e.exports=function(t){var r=[],n={},i=[],a=t[0],o=[],s=[0,0,0],l=U1t(t),u,c,f,h,d,v,x,b;for(c=0;c<t.length;c++)for(u=o,o=a,a=t[c+1]||[],f=0;f<l;f++)o[f]===void 0&&(v=(o[f-1]!==void 0?1:0)+(o[f+1]!==void 0?1:0)+(u[f]!==void 0?1:0)+(a[f]!==void 0?1:0),v?(c===0&&v++,f===0&&v++,c===t.length-1&&v++,f===o.length-1&&v++,v<4&&(n[[c,f]]=[c,f,v]),r.push([c,f,v])):i.push([c,f]));for(;i.length;){for(x={},b=!1,d=i.length-1;d>=0;d--)h=i[d],c=h[0],f=h[1],v=((n[[c-1,f]]||s)[2]+(n[[c+1,f]]||s)[2]+(n[[c,f-1]]||s)[2]+(n[[c,f+1]]||s)[2])/20,v&&(x[h]=[c,f,v],i.splice(d,1),b=!0);if(!b)throw\"findEmpties iterated with no new neighbors\";for(h in x)n[h]=x[h],r.push(x[h])}return r.sort(function(p,E){return E[2]-p[2]})}});var VV=ye((fsr,T_e)=>{\"use strict\";var b_e=ba(),w_e=Mr().isArrayOrTypedArray;T_e.exports=function(t,r,n,i,a,o){var s=[],l=b_e.traceIs(t,\"contour\"),u=b_e.traceIs(t,\"histogram\"),c,f,h,d=w_e(r)&&r.length>1;if(d&&!u&&o.type!==\"category\"){var v=r.length;if(v<=a){if(l)s=Array.from(r).slice(0,a);else if(a===1)o.type===\"log\"?s=[.5*r[0],2*r[0]]:s=[r[0]-.5,r[0]+.5];else if(o.type===\"log\"){for(s=[Math.pow(r[0],1.5)/Math.pow(r[1],.5)],h=1;h<v;h++)s.push(Math.sqrt(r[h-1]*r[h]));s.push(Math.pow(r[v-1],1.5)/Math.pow(r[v-2],.5))}else{for(s=[1.5*r[0]-.5*r[1]],h=1;h<v;h++)s.push((r[h-1]+r[h])*.5);s.push(1.5*r[v-1]-.5*r[v-2])}if(v<a){var x=s[s.length-1],b;if(o.type===\"log\")for(b=x/s[s.length-2],h=v;h<a;h++)x*=b,s.push(x);else for(b=x-s[s.length-2],h=v;h<a;h++)x+=b,s.push(x)}}else return l?r.slice(0,a):r.slice(0,a+1)}else{var p=t[o._id.charAt(0)+\"calendar\"];if(u)c=o.r2c(n,0,p);else if(w_e(r)&&r.length===1)c=r[0];else if(n===void 0)c=0;else{var E=o.type===\"log\"?o.d2c:o.r2c;c=E(n,0,p)}for(f=i||1,h=l?0:-.5;h<a;h++)s.push(c+f*h)}return s}});var n8=ye((hsr,E_e)=>{\"use strict\";var A_e=ba(),HV=Mr(),r8=Qa(),S_e=Rg(),V1t=h_e(),H1t=zv(),G1t=JI(),j1t=QI(),W1t=e8(),Z1t=t8(),i8=VV(),GV=es().BADNUM;E_e.exports=function(t,r){var n=r8.getFromId(t,r.xaxis||\"x\"),i=r8.getFromId(t,r.yaxis||\"y\"),a=A_e.traceIs(r,\"contour\"),o=A_e.traceIs(r,\"histogram\"),s=a?\"best\":r.zsmooth,l,u,c,f,h,d,v,x,b,p,E;if(n._minDtick=0,i._minDtick=0,o)E=V1t(t,r),f=E.orig_x,l=E.x,u=E.x0,c=E.dx,x=E.orig_y,h=E.y,d=E.y0,v=E.dy,b=E.z;else{var k=r.z;HV.isArray1D(k)?(G1t(r,n,i,\"x\",\"y\",[\"z\"]),l=r._x,h=r._y,k=r._z):(f=r.x?n.makeCalcdata(r,\"x\"):[],x=r.y?i.makeCalcdata(r,\"y\"):[],l=S_e(r,n,\"x\",f).vals,h=S_e(r,i,\"y\",x).vals,r._x=l,r._y=h),u=r.x0,c=r.dx,d=r.y0,v=r.dy,b=j1t(k,r,n,i)}(n.rangebreaks||i.rangebreaks)&&(b=X1t(l,h,b),o||(l=M_e(l),h=M_e(h),r._x=l,r._y=h)),!o&&(a||r.connectgaps)&&(r._emptypoints=Z1t(b),W1t(b,r._emptypoints));function A(q){s=r._input.zsmooth=r.zsmooth=!1,HV.warn('cannot use zsmooth: \"fast\": '+q)}function L(q){if(q.length>1){var V=(q[q.length-1]-q[0])/(q.length-1),H=Math.abs(V/100);for(p=0;p<q.length-1;p++)if(Math.abs(q[p+1]-q[p]-V)>H)return!1}return!0}r._islinear=!1,n.type===\"log\"||i.type===\"log\"?s===\"fast\"&&A(\"log axis found\"):L(l)?L(h)?r._islinear=!0:s===\"fast\"&&A(\"y scale is not linear\"):s===\"fast\"&&A(\"x scale is not linear\");var _=HV.maxRowLength(b),C=r.xtype===\"scaled\"?\"\":l,M=i8(r,C,u,c,_,n),g=r.ytype===\"scaled\"?\"\":h,P=i8(r,g,d,v,b.length,i);r._extremes[n._id]=r8.findExtremes(n,M),r._extremes[i._id]=r8.findExtremes(i,P);var T={x:M,y:P,z:b,text:r._text||r.text,hovertext:r._hovertext||r.hovertext};if(r.xperiodalignment&&f&&(T.orig_x=f),r.yperiodalignment&&x&&(T.orig_y=x),C&&C.length===M.length-1&&(T.xCenter=C),g&&g.length===P.length-1&&(T.yCenter=g),o&&(T.xRanges=E.xRanges,T.yRanges=E.yRanges,T.pts=E.pts),a||H1t(t,r,{vals:b,cLetter:\"z\"}),a&&r.contours&&r.contours.coloring===\"heatmap\"){var F={type:r.type===\"contour\"?\"heatmap\":\"histogram2d\",xcalendar:r.xcalendar,ycalendar:r.ycalendar};T.xfill=i8(F,C,u,c,_,n),T.yfill=i8(F,g,d,v,b.length,i)}return[T]};function M_e(e){for(var t=[],r=e.length,n=0;n<r;n++){var i=e[n];i!==GV&&t.push(i)}return t}function X1t(e,t,r){for(var n=[],i=-1,a=0;a<r.length;a++)if(t[a]!==GV){i++,n[i]=[];for(var o=0;o<r[a].length;o++)e[o]!==GV&&n[i].push(r[a][o])}return n}});var o8=ye(a8=>{\"use strict\";a8.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\"]];a8.STYLE=a8.CSS_DECLARATIONS.map(function(e){return e.join(\": \")+\"; \"}).join(\"\")});var jV=ye((vsr,L_e)=>{\"use strict\";var k_e=o8(),Y1t=ao(),C_e=Mr(),PT=null;function K1t(){if(PT!==null)return PT;PT=!1;var e=C_e.isSafari()||C_e.isIOS();if(window.navigator.userAgent&&!e){var t=Array.from(k_e.CSS_DECLARATIONS).reverse(),r=window.CSS&&window.CSS.supports||window.supportsCSS;if(typeof r==\"function\")PT=t.some(function(o){return r.apply(null,o)});else{var n=Y1t.tester.append(\"image\").attr(\"style\",k_e.STYLE),i=window.getComputedStyle(n.node()),a=i.imageRendering;PT=t.some(function(o){var s=o[1];return a===s||a===s.toLowerCase()}),n.remove()}}return PT}L_e.exports=K1t});var s8=ye((psr,B_e)=>{\"use strict\";var P_e=xa(),J1t=id(),$1t=ba(),Q1t=ao(),e_t=Qa(),G0=Mr(),I_e=Pl(),t_t=$P(),r_t=va(),i_t=Mu().extractOpts,n_t=Mu().makeColorScaleFuncFromTrace,a_t=Zp(),o_t=Nh(),WV=o_t.LINE_SPACING,s_t=jV(),l_t=o8().STYLE,q_e=\"heatmap-label\";function O_e(e){return e.selectAll(\"g.\"+q_e)}function R_e(e){O_e(e).remove()}B_e.exports=function(e,t,r,n){var i=t.xaxis,a=t.yaxis;G0.makeTraceGroups(n,r,\"hm\").each(function(o){var s=P_e.select(this),l=o[0],u=l.trace,c=u.xgap||0,f=u.ygap||0,h=l.z,d=l.x,v=l.y,x=l.xCenter,b=l.yCenter,p=$1t.traceIs(u,\"contour\"),E=p?\"best\":u.zsmooth,k=h.length,A=G0.maxRowLength(h),L=!1,_=!1,C,M,g,P,T,F,q,V;for(F=0;C===void 0&&F<d.length-1;)C=i.c2p(d[F]),F++;for(F=d.length-1;M===void 0&&F>0;)M=i.c2p(d[F]),F--;for(M<C&&(g=M,M=C,C=g,L=!0),F=0;P===void 0&&F<v.length-1;)P=a.c2p(v[F]),F++;for(F=v.length-1;T===void 0&&F>0;)T=a.c2p(v[F]),F--;T<P&&(g=P,P=T,T=g,_=!0),p&&(x=d,b=v,d=l.xfill,v=l.yfill);var H=\"default\";if(E?H=E===\"best\"?\"smooth\":\"fast\":u._islinear&&c===0&&f===0&&s_t()&&(H=\"fast\"),H!==\"fast\"){var X=E===\"best\"?0:.5;C=Math.max(-X*i._length,C),M=Math.min((1+X)*i._length,M),P=Math.max(-X*a._length,P),T=Math.min((1+X)*a._length,T)}var G=Math.round(M-C),N=Math.round(T-P),W=C>=i._length||M<=0||P>=a._length||T<=0;if(W){var re=s.selectAll(\"image\").data([]);re.exit().remove(),R_e(s);return}var ae,_e;H===\"fast\"?(ae=A,_e=k):(ae=G,_e=N);var Me=document.createElement(\"canvas\");Me.width=ae,Me.height=_e;var ke=Me.getContext(\"2d\",{willReadFrequently:!0}),ge=n_t(u,{noNumericCheck:!0,returnArray:!0}),ie,Te;H===\"fast\"?(ie=L?function(Pi){return A-1-Pi}:G0.identity,Te=_?function(Pi){return k-1-Pi}:G0.identity):(ie=function(Pi){return G0.constrain(Math.round(i.c2p(d[Pi])-C),0,G)},Te=function(Pi){return G0.constrain(Math.round(a.c2p(v[Pi])-P),0,N)});var Ee=Te(0),Ae=[Ee,Ee],ze=L?0:1,Ce=_?0:1,me=0,Re=0,ce=0,Ge=0,nt,ct,qt,rt,ot;function Rt(Pi,Gi){if(Pi!==void 0){var Ki=ge(Pi);return Ki[0]=Math.round(Ki[0]),Ki[1]=Math.round(Ki[1]),Ki[2]=Math.round(Ki[2]),me+=Gi,Re+=Ki[0]*Gi,ce+=Ki[1]*Gi,Ge+=Ki[2]*Gi,Ki}return[0,0,0,0]}function kt(Pi,Gi,Ki,ka){var jn=Pi[Ki.bin0];if(jn===void 0)return Rt(void 0,1);var la=Pi[Ki.bin1],Fa=Gi[Ki.bin0],Ra=Gi[Ki.bin1],jo=la-jn||0,oa=Fa-jn||0,Sn;return la===void 0?Ra===void 0?Sn=0:Fa===void 0?Sn=2*(Ra-jn):Sn=(2*Ra-Fa-jn)*2/3:Ra===void 0?Fa===void 0?Sn=0:Sn=(2*jn-la-Fa)*2/3:Fa===void 0?Sn=(2*Ra-la-jn)*2/3:Sn=Ra+jn-la-Fa,Rt(jn+Ki.frac*jo+ka.frac*(oa+Ki.frac*Sn))}if(H!==\"default\"){var Ct=0,Yt;try{Yt=new Uint8Array(ae*_e*4)}catch(Pi){Yt=new Array(ae*_e*4)}if(H===\"smooth\"){var xr=x||d,er=b||v,Ke=new Array(xr.length),xt=new Array(er.length),bt=new Array(G),Lt=x?z_e:D_e,St=b?z_e:D_e,Et,dt,Ht;for(F=0;F<xr.length;F++)Ke[F]=Math.round(i.c2p(xr[F])-C);for(F=0;F<er.length;F++)xt[F]=Math.round(a.c2p(er[F])-P);for(F=0;F<G;F++)bt[F]=Lt(F,Ke);for(q=0;q<N;q++)for(Et=St(q,xt),dt=h[Et.bin0],Ht=h[Et.bin1],F=0;F<G;F++,Ct+=4)ot=kt(dt,Ht,bt[F],Et),F_e(Yt,Ct,ot)}else for(q=0;q<k;q++)for(rt=h[q],Ae=Te(q),F=0;F<A;F++)ot=Rt(rt[F],1),Ct=(Ae*A+ie(F))*4,F_e(Yt,Ct,ot);var $t=ke.createImageData(ae,_e);try{$t.data.set(Yt)}catch(Pi){var fr=$t.data,_r=fr.length;for(q=0;q<_r;q++)fr[q]=Yt[q]}ke.putImageData($t,0,0)}else{var Br=Math.floor(c/2),Or=Math.floor(f/2);for(q=0;q<k;q++)if(rt=h[q],Ae.reverse(),Ae[Ce]=Te(q+1),!(Ae[0]===Ae[1]||Ae[0]===void 0||Ae[1]===void 0))for(ct=ie(0),nt=[ct,ct],F=0;F<A;F++)nt.reverse(),nt[ze]=ie(F+1),!(nt[0]===nt[1]||nt[0]===void 0||nt[1]===void 0)&&(qt=rt[F],ot=Rt(qt,(nt[1]-nt[0])*(Ae[1]-Ae[0])),ke.fillStyle=\"rgba(\"+ot.join(\",\")+\")\",ke.fillRect(nt[0]+Br,Ae[0]+Or,nt[1]-nt[0]-c,Ae[1]-Ae[0]-f))}Re=Math.round(Re/me),ce=Math.round(ce/me),Ge=Math.round(Ge/me);var Nr=J1t(\"rgb(\"+Re+\",\"+ce+\",\"+Ge+\")\");e._hmpixcount=(e._hmpixcount||0)+me,e._hmlumcount=(e._hmlumcount||0)+me*Nr.getLuminance();var ut=s.selectAll(\"image\").data(o);ut.enter().append(\"svg:image\").attr({xmlns:a_t.svg,preserveAspectRatio:\"none\"}),ut.attr({height:N,width:G,x:C,y:P,\"xlink:href\":Me.toDataURL(\"image/png\")}),H===\"fast\"&&!E&&ut.attr(\"style\",l_t),R_e(s);var Ne=u.texttemplate;if(Ne){var Ye=i_t(u),Ve={type:\"linear\",range:[Ye.min,Ye.max],_separators:i._separators,_numFormat:i._numFormat},Xe=u.type===\"histogram2dcontour\",ht=u.type===\"contour\",Le=ht?1:0,xe=ht?k-1:k,Se=ht?1:0,lt=ht?A-1:A,Gt=[];for(F=Le;F<xe;F++){var Vt;if(ht)Vt=l.y[F];else if(Xe){if(F===0||F===k-1)continue;Vt=l.y[F]}else if(l.yCenter)Vt=l.yCenter[F];else{if(F+1===k&&l.y[F+1]===void 0)continue;Vt=(l.y[F]+l.y[F+1])/2}var ar=Math.round(a.c2p(Vt));if(!(0>ar||ar>a._length))for(q=Se;q<lt;q++){var Qr;if(ht)Qr=l.x[q];else if(Xe){if(q===0||q===A-1)continue;Qr=l.x[q]}else if(l.xCenter)Qr=l.xCenter[q];else{if(q+1===A&&l.x[q+1]===void 0)continue;Qr=(l.x[q]+l.x[q+1])/2}var ai=Math.round(i.c2p(Qr));if(!(0>ai||ai>i._length)){var jr=t_t({x:Qr,y:Vt},u,e._fullLayout);jr.x=Qr,jr.y=Vt;var ri=l.z[F][q];ri===void 0?(jr.z=\"\",jr.zLabel=\"\"):(jr.z=ri,jr.zLabel=e_t.tickText(Ve,ri,\"hover\").text);var bi=l.text&&l.text[F]&&l.text[F][q];(bi===void 0||bi===!1)&&(bi=\"\"),jr.text=bi;var nn=G0.texttemplateString(Ne,jr,e._fullLayout._d3locale,jr,u._meta||{});if(nn){var Wi=nn.split(\"<br>\"),Ni=Wi.length,_n=0;for(V=0;V<Ni;V++)_n=Math.max(_n,Wi[V].length);Gt.push({l:Ni,c:_n,t:nn,x:ai,y:ar,z:ri})}}}}var $i=u.textfont,zn=$i.size,Wn=e._fullLayout.font.size;if(!zn||zn===\"auto\"){var It=1/0,ft=1/0,jt=0,Zt=0;for(V=0;V<Gt.length;V++){var yr=Gt[V];if(jt=Math.max(jt,yr.l),Zt=Math.max(Zt,yr.c),V<Gt.length-1){var Fr=Gt[V+1],Zr=Math.abs(Fr.x-yr.x),Vr=Math.abs(Fr.y-yr.y);Zr&&(It=Math.min(It,Zr)),Vr&&(ft=Math.min(ft,Vr))}}!isFinite(It)||!isFinite(ft)?zn=Wn:(It-=c,ft-=f,It/=Zt,ft/=jt,It/=WV/2,ft/=WV,zn=Math.min(Math.floor(It),Math.floor(ft),Wn))}if(zn<=0||!isFinite(zn))return;var gi=function(Pi){return Pi.x},Si=function(Pi){return Pi.y-zn*(Pi.l*WV/2-1)},Mi=O_e(s).data(Gt);Mi.enter().append(\"g\").classed(q_e,1).append(\"text\").attr(\"text-anchor\",\"middle\").each(function(Pi){var Gi=P_e.select(this),Ki=$i.color;(!Ki||Ki===\"auto\")&&(Ki=r_t.contrast(Pi.z===void 0?e._fullLayout.plot_bgcolor:\"rgba(\"+ge(Pi.z).join()+\")\")),Gi.attr(\"data-notex\",1).call(I_e.positionText,gi(Pi),Si(Pi)).call(Q1t.font,{family:$i.family,size:zn,color:Ki,weight:$i.weight,style:$i.style,variant:$i.variant,textcase:$i.textcase,lineposition:$i.lineposition,shadow:$i.shadow}).text(Pi.t).call(I_e.convertToTspans,e)})}})};function D_e(e,t){var r=t.length-2,n=G0.constrain(G0.findBin(e,t),0,r),i=t[n],a=t[n+1],o=G0.constrain(n+(e-i)/(a-i)-.5,0,r),s=Math.round(o),l=Math.abs(o-s);return!o||o===r||!l?{bin0:s,bin1:s,frac:0}:{bin0:s,frac:l,bin1:Math.round(s+l/(o-s))}}function z_e(e,t){var r=t.length-1,n=G0.constrain(G0.findBin(e,t),0,r),i=t[n],a=t[n+1],o=(e-i)/(a-i)||0;return o<=0?{bin0:n,bin1:n,frac:0}:o<.5?{bin0:n,bin1:n+1,frac:o}:{bin0:n+1,bin1:n,frac:1-o}}function F_e(e,t,r){e[t]=r[0],e[t+1]=r[1],e[t+2]=r[2],e[t+3]=Math.round(r[3]*255)}});var M_=ye((gsr,N_e)=>{\"use strict\";N_e.exports={min:\"zmin\",max:\"zmax\"}});var l8=ye((msr,U_e)=>{\"use strict\";var u_t=xa();U_e.exports=function(t){u_t.select(t).selectAll(\".hm image\").style(\"opacity\",function(r){return r.trace.opacity})}});var c8=ye((ysr,H_e)=>{\"use strict\";var V_e=Nc(),_4=Mr(),u8=_4.isArrayOrTypedArray,c_t=Qa(),f_t=Mu().extractOpts;H_e.exports=function(t,r,n,i,a){a||(a={});var o=a.isContour,s=t.cd[0],l=s.trace,u=t.xa,c=t.ya,f=s.x,h=s.y,d=s.z,v=s.xCenter,x=s.yCenter,b=s.zmask,p=l.zhoverformat,E=f,k=h,A,L,_,C;if(t.index!==!1){try{_=Math.round(t.index[1]),C=Math.round(t.index[0])}catch(re){_4.error(\"Error hovering on heatmap, pointNumber must be [row,col], found:\",t.index);return}if(_<0||_>=d[0].length||C<0||C>d.length)return}else{if(V_e.inbox(r-f[0],r-f[f.length-1],0)>0||V_e.inbox(n-h[0],n-h[h.length-1],0)>0)return;if(o){var M;for(E=[2*f[0]-f[1]],M=1;M<f.length;M++)E.push((f[M]+f[M-1])/2);for(E.push([2*f[f.length-1]-f[f.length-2]]),k=[2*h[0]-h[1]],M=1;M<h.length;M++)k.push((h[M]+h[M-1])/2);k.push([2*h[h.length-1]-h[h.length-2]])}_=Math.max(0,Math.min(E.length-2,_4.findBin(r,E))),C=Math.max(0,Math.min(k.length-2,_4.findBin(n,k)))}var g=u.c2p(f[_]),P=u.c2p(f[_+1]),T=c.c2p(h[C]),F=c.c2p(h[C+1]),q,V;o?(q=s.orig_x||f,V=s.orig_y||h,P=g,A=q[_],F=T,L=V[C]):(q=s.orig_x||v||f,V=s.orig_y||x||h,A=v?q[_]:(q[_]+q[_+1])/2,L=x?V[C]:(V[C]+V[C+1])/2,u&&u.type===\"category\"&&(A=f[_]),c&&c.type===\"category\"&&(L=h[C]),l.zsmooth&&(g=P=u.c2p(A),T=F=c.c2p(L)));var H=d[C][_];if(b&&!b[C][_]&&(H=void 0),!(H===void 0&&!l.hoverongaps)){var X;u8(s.hovertext)&&u8(s.hovertext[C])?X=s.hovertext[C][_]:u8(s.text)&&u8(s.text[C])&&(X=s.text[C][_]);var G=f_t(l),N={type:\"linear\",range:[G.min,G.max],hoverformat:p,_separators:u._separators,_numFormat:u._numFormat},W=c_t.tickText(N,H,\"hover\").text;return[_4.extendFlat(t,{index:l._after2before?l._after2before[C][_]:[C,_],distance:t.maxHoverDistance,spikeDistance:t.maxSpikeDistance,x0:g,x1:P,y0:T,y1:F,xLabelVal:A,yLabelVal:L,zLabelVal:H,zLabel:W,text:X})]}}});var j_e=ye((_sr,G_e)=>{\"use strict\";G_e.exports={attributes:ET(),supplyDefaults:G1e(),calc:n8(),plot:s8(),colorbar:M_(),style:l8(),hoverPoints:c8(),moduleType:\"trace\",name:\"heatmap\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"showLegend\"],meta:{}}});var Z_e=ye((xsr,W_e)=>{\"use strict\";W_e.exports=j_e()});var ZV=ye((bsr,X_e)=>{\"use strict\";X_e.exports=function(t,r){return{start:{valType:\"any\",editType:\"calc\"},end:{valType:\"any\",editType:\"calc\"},size:{valType:\"any\",editType:\"calc\"},editType:\"calc\"}}});var K_e=ye((wsr,Y_e)=>{\"use strict\";Y_e.exports={eventDataKeys:[\"binNumber\"]}});var f8=ye((Tsr,Q_e)=>{\"use strict\";var Ip=Lm(),J_e=Oc().axisHoverFormat,h_t=Wo().hovertemplateAttrs,d_t=Wo().texttemplateAttrs,XV=Su(),$_e=ZV(),v_t=K_e(),YV=no().extendFlat;Q_e.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},xhoverformat:J_e(\"x\"),yhoverformat:J_e(\"y\"),text:YV({},Ip.text,{}),hovertext:YV({},Ip.hovertext,{}),orientation:Ip.orientation,histfunc:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"min\",\"max\"],dflt:\"count\",editType:\"calc\"},histnorm:{valType:\"enumerated\",values:[\"\",\"percent\",\"probability\",\"density\",\"probability density\"],dflt:\"\",editType:\"calc\"},cumulative:{enabled:{valType:\"boolean\",dflt:!1,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"increasing\",\"decreasing\"],dflt:\"increasing\",editType:\"calc\"},currentbin:{valType:\"enumerated\",values:[\"include\",\"exclude\",\"half\"],dflt:\"include\",editType:\"calc\"},editType:\"calc\"},nbinsx:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},xbins:$_e(\"x\",!0),nbinsy:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},ybins:$_e(\"y\",!0),autobinx:{valType:\"boolean\",dflt:null,editType:\"calc\"},autobiny:{valType:\"boolean\",dflt:null,editType:\"calc\"},bingroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertemplate:h_t({},{keys:v_t.eventDataKeys}),texttemplate:d_t({arrayOk:!1,editType:\"plot\"},{keys:[\"label\",\"value\"]}),textposition:YV({},Ip.textposition,{arrayOk:!1}),textfont:XV({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),outsidetextfont:XV({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),insidetextfont:XV({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),insidetextanchor:Ip.insidetextanchor,textangle:Ip.textangle,cliponaxis:Ip.cliponaxis,constraintext:Ip.constraintext,marker:Ip.marker,offsetgroup:Ip.offsetgroup,alignmentgroup:Ip.alignmentgroup,selected:Ip.selected,unselected:Ip.unselected,zorder:Ip.zorder}});var ixe=ye((Asr,rxe)=>{\"use strict\";var exe=ba(),x4=Mr(),txe=va(),p_t=r0().handleText,g_t=FI(),m_t=f8();rxe.exports=function(t,r,n,i){function a(E,k){return x4.coerce(t,r,m_t,E,k)}var o=a(\"x\"),s=a(\"y\"),l=a(\"cumulative.enabled\");l&&(a(\"cumulative.direction\"),a(\"cumulative.currentbin\")),a(\"text\");var u=a(\"textposition\");p_t(t,r,i,a,u,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\");var c=a(\"orientation\",s&&!o?\"h\":\"v\"),f=c===\"v\"?\"x\":\"y\",h=c===\"v\"?\"y\":\"x\",d=o&&s?Math.min(x4.minRowLength(o)&&x4.minRowLength(s)):x4.minRowLength(r[f]||[]);if(!d){r.visible=!1;return}r._length=d;var v=exe.getComponentMethod(\"calendars\",\"handleTraceDefaults\");v(t,r,[\"x\",\"y\"],i);var x=r[h];x&&a(\"histfunc\"),a(\"histnorm\"),a(\"autobin\"+f),g_t(t,r,a,n,i),x4.coerceSelectionMarkerOpacity(r,a);var b=(r.marker.line||{}).color,p=exe.getComponentMethod(\"errorbars\",\"supplyDefaults\");p(t,r,b||txe.defaultLine,{axis:\"y\"}),p(t,r,b||txe.defaultLine,{axis:\"x\",inherit:\"y\"}),a(\"zorder\")}});var d8=ye((Ssr,oxe)=>{\"use strict\";var b4=Mr(),y_t=af(),h8=ba().traceIs,__t=Hb(),x_t=r0().validateCornerradius,nxe=b4.nestedProperty,KV=Bb().getAxisGroup,axe=[{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\"}],b_t=[\"x\",\"y\"];oxe.exports=function(t,r){var n=r._histogramBinOpts={},i=[],a={},o=[],s,l,u,c,f,h,d;function v(H,X){return b4.coerce(s._input,s,s._module.attributes,H,X)}function x(H){return H.orientation===\"v\"?\"x\":\"y\"}function b(H,X){var G=y_t.getFromTrace({_fullLayout:r},H,X);return G.type}function p(H,X,G){var N=H.uid+\"__\"+G;X||(X=N);var W=b(H,G),re=H[G+\"calendar\"]||\"\",ae=n[X],_e=!0;ae&&(W===ae.axType&&re===ae.calendar?(_e=!1,ae.traces.push(H),ae.dirs.push(G)):(X=N,W!==ae.axType&&b4.warn([\"Attempted to group the bins of trace\",H.index,\"set on a\",\"type:\"+W,\"axis\",\"with bins on\",\"type:\"+ae.axType,\"axis.\"].join(\" \")),re!==ae.calendar&&b4.warn([\"Attempted to group the bins of trace\",H.index,\"set with a\",re,\"calendar\",\"with bins\",ae.calendar?\"on a \"+ae.calendar+\" calendar\":\"w/o a set calendar\"].join(\" \")))),_e&&(n[X]={traces:[H],dirs:[G],axType:W,calendar:H[G+\"calendar\"]||\"\"}),H[\"_\"+G+\"bingroup\"]=X}for(f=0;f<t.length;f++)if(s=t[f],h8(s,\"histogram\")){if(i.push(s),delete s._xautoBinFinished,delete s._yautoBinFinished,s.type===\"histogram\"){var E=v(\"marker.cornerradius\",r.barcornerradius);s.marker&&(s.marker.cornerradius=x_t(E))}h8(s,\"2dMap\")||__t(s._input,s,r,v,r.barmode)}var k=r._alignmentOpts||{};for(f=0;f<i.length;f++){if(s=i[f],u=\"\",!h8(s,\"2dMap\")){if(c=x(s),r.barmode===\"group\"&&s.alignmentgroup){var A=s[c+\"axis\"],L=KV(r,A)+s.orientation;(k[L]||{})[s.alignmentgroup]&&(u=L)}!u&&r.barmode!==\"overlay\"&&(u=KV(r,s.xaxis)+KV(r,s.yaxis)+x(s))}u?(a[u]||(a[u]=[]),a[u].push(s)):o.push(s)}for(u in a){if(l=a[u],l.length===1){o.push(l[0]);continue}var _=!1;for(l.length&&(s=l[0],_=v(\"bingroup\")),u=_||u,f=0;f<l.length;f++){s=l[f];var C=s._input.bingroup;C&&C!==u&&b4.warn([\"Trace\",s.index,\"must match\",\"within bingroup\",u+\".\",\"Ignoring its bingroup:\",C,\"setting.\"].join(\" \")),s.bingroup=u,p(s,u,x(s))}}for(f=0;f<o.length;f++){s=o[f];var M=v(\"bingroup\");if(h8(s,\"2dMap\"))for(d=0;d<2;d++){c=b_t[d];var g=v(c+\"bingroup\",M?M+\"__\"+c:null);p(s,g,c)}else p(s,M,x(s))}for(u in n){var P=n[u];for(l=P.traces,h=0;h<axe.length;h++){var T=axe[h],F=T.name,q,V;if(!(F===\"nbins\"&&P.sizeFound)){for(f=0;f<l.length;f++){if(s=l[f],c=P.dirs[f],q=T.aStr[c],nxe(s._input,q).get()!==void 0){P[F]=v(q),P[F+\"Found\"]=!0;break}V=(s._autoBin||{})[c]||{},V[F]&&nxe(s,q).set(V[F])}if(F===\"start\"||F===\"end\")for(;f<l.length;f++)s=l[f],s[\"_\"+c+\"bingroup\"]&&(V=(s._autoBin||{})[c]||{},v(q,V[F]));F===\"nbins\"&&!P.sizeFound&&!P.nbinsFound&&(s=l[0],P[F]=v(q))}}}}});var lxe=ye((Msr,sxe)=>{\"use strict\";var w_t=TT().hoverPoints,T_t=Qa().hoverLabelText;sxe.exports=function(t,r,n,i,a){var o=w_t(t,r,n,i,a);if(o){t=o[0];var s=t.cd[t.index],l=t.cd[0].trace;if(!l.cumulative.enabled){var u=l.orientation===\"h\"?\"y\":\"x\";t[u+\"Label\"]=T_t(t[u+\"a\"],[s.ph0,s.ph1],l[u+\"hoverformat\"])}return o}}});var JV=ye((Esr,uxe)=>{\"use strict\";uxe.exports=function(t,r,n,i,a){if(t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,\"zLabelVal\"in r&&(t.z=r.zLabelVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),!(n.cumulative||{}).enabled){var o=Array.isArray(a)?i[0].pts[a[0]][a[1]]:i[a].pts;t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex;var s;if(n._indexToPoints){s=[];for(var l=0;l<o.length;l++)s=s.concat(n._indexToPoints[o[l]])}else s=o;t.pointIndices=s}return t}});var fxe=ye((ksr,cxe)=>{\"use strict\";cxe.exports={attributes:f8(),layoutAttributes:zI(),supplyDefaults:ixe(),crossTraceDefaults:d8(),supplyLayoutDefaults:yV(),calc:UV().calc,crossTraceCalc:Gb().crossTraceCalc,plot:i2().plot,layerName:\"barlayer\",style:N0().style,styleOnSelect:N0().styleOnSelect,colorbar:Kd(),hoverPoints:lxe(),selectPoints:AT(),eventData:JV(),moduleType:\"trace\",name:\"histogram\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"bar\",\"histogram\",\"oriented\",\"errorBarsOK\",\"showLegend\"],meta:{}}});var dxe=ye((Csr,hxe)=>{\"use strict\";hxe.exports=fxe()});var p8=ye((Lsr,pxe)=>{\"use strict\";var Vg=f8(),vxe=ZV(),v8=ET(),A_t=vl(),$V=Oc().axisHoverFormat,S_t=Wo().hovertemplateAttrs,M_t=Wo().texttemplateAttrs,E_t=Jl(),w4=no().extendFlat;pxe.exports=w4({x:Vg.x,y:Vg.y,z:{valType:\"data_array\",editType:\"calc\"},marker:{color:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},histnorm:Vg.histnorm,histfunc:Vg.histfunc,nbinsx:Vg.nbinsx,xbins:vxe(\"x\"),nbinsy:Vg.nbinsy,ybins:vxe(\"y\"),autobinx:Vg.autobinx,autobiny:Vg.autobiny,bingroup:w4({},Vg.bingroup,{}),xbingroup:w4({},Vg.bingroup,{}),ybingroup:w4({},Vg.bingroup,{}),xgap:v8.xgap,ygap:v8.ygap,zsmooth:v8.zsmooth,xhoverformat:$V(\"x\"),yhoverformat:$V(\"y\"),zhoverformat:$V(\"z\",1),hovertemplate:S_t({},{keys:\"z\"}),texttemplate:M_t({arrayOk:!1,editType:\"plot\"},{keys:\"z\"}),textfont:v8.textfont,showlegend:w4({},A_t.showlegend,{dflt:!1})},E_t(\"\",{cLetter:\"z\",autoColorDflt:!1}))});var QV=ye((Psr,mxe)=>{\"use strict\";var k_t=ba(),gxe=Mr();mxe.exports=function(t,r,n,i){var a=n(\"x\"),o=n(\"y\"),s=gxe.minRowLength(a),l=gxe.minRowLength(o);if(!s||!l){r.visible=!1;return}r._length=Math.min(s,l);var u=k_t.getComponentMethod(\"calendars\",\"handleTraceDefaults\");u(t,r,[\"x\",\"y\"],i);var c=n(\"z\")||n(\"marker.color\");c&&n(\"histfunc\"),n(\"histnorm\"),n(\"autobinx\"),n(\"autobiny\")}});var _xe=ye((Isr,yxe)=>{\"use strict\";var C_t=Mr(),L_t=QV(),P_t=DV(),I_t=Uh(),R_t=y4(),D_t=p8();yxe.exports=function(t,r,n,i){function a(o,s){return C_t.coerce(t,r,D_t,o,s)}L_t(t,r,a,i),r.visible!==!1&&(P_t(t,r,a,i),I_t(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),a(\"hovertemplate\"),R_t(a,i),a(\"xhoverformat\"),a(\"yhoverformat\"))}});var wxe=ye((Rsr,bxe)=>{\"use strict\";var z_t=c8(),xxe=Qa().hoverLabelText;bxe.exports=function(t,r,n,i,a){var o=z_t(t,r,n,i,a);if(o){t=o[0];var s=t.index,l=s[0],u=s[1],c=t.cd[0],f=c.trace,h=c.xRanges[u],d=c.yRanges[l];return t.xLabel=xxe(t.xa,[h[0],h[1]],f.xhoverformat),t.yLabel=xxe(t.ya,[d[0],d[1]],f.yhoverformat),o}}});var Axe=ye((Dsr,Txe)=>{\"use strict\";Txe.exports={attributes:p8(),supplyDefaults:_xe(),crossTraceDefaults:d8(),calc:n8(),plot:s8(),layerName:\"heatmaplayer\",colorbar:M_(),style:l8(),hoverPoints:wxe(),eventData:JV(),moduleType:\"trace\",name:\"histogram2d\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"histogram\",\"showLegend\"],meta:{}}});var Mxe=ye((zsr,Sxe)=>{\"use strict\";Sxe.exports=Axe()});var g8=ye((Fsr,Exe)=>{\"use strict\";Exe.exports={COMPARISON_OPS:[\"=\",\"!=\",\"<\",\">=\",\">\",\"<=\"],COMPARISON_OPS2:[\"=\",\"<\",\">=\",\">\",\"<=\"],INTERVAL_OPS:[\"[]\",\"()\",\"[)\",\"(]\",\"][\",\")(\",\"](\",\")[\"],SET_OPS:[\"{}\",\"}{\"],CONSTRAINT_REDUCTION:{\"=\":\"=\",\"<\":\"<\",\"<=\":\"<\",\">\":\">\",\">=\":\">\",\"[]\":\"[]\",\"()\":\"[]\",\"[)\":\"[]\",\"(]\":\"[]\",\"][\":\"][\",\")(\":\"][\",\"](\":\"][\",\")[\":\"][\"}}});var T4=ye((qsr,Pxe)=>{\"use strict\";var Gh=ET(),m8=Uc(),Cxe=Oc(),eH=Cxe.axisHoverFormat,F_t=Cxe.descriptionOnlyNumbers,q_t=Jl(),O_t=Ed().dash,B_t=Su(),IT=no().extendFlat,Lxe=g8(),N_t=Lxe.COMPARISON_OPS2,U_t=Lxe.INTERVAL_OPS,kxe=m8.line;Pxe.exports=IT({z:Gh.z,x:Gh.x,x0:Gh.x0,dx:Gh.dx,y:Gh.y,y0:Gh.y0,dy:Gh.dy,xperiod:Gh.xperiod,yperiod:Gh.yperiod,xperiod0:m8.xperiod0,yperiod0:m8.yperiod0,xperiodalignment:Gh.xperiodalignment,yperiodalignment:Gh.yperiodalignment,text:Gh.text,hovertext:Gh.hovertext,transpose:Gh.transpose,xtype:Gh.xtype,ytype:Gh.ytype,xhoverformat:eH(\"x\"),yhoverformat:eH(\"y\"),zhoverformat:eH(\"z\",1),hovertemplate:Gh.hovertemplate,texttemplate:IT({},Gh.texttemplate,{}),textfont:IT({},Gh.textfont,{}),hoverongaps:Gh.hoverongaps,connectgaps:IT({},Gh.connectgaps,{}),fillcolor:{valType:\"color\",editType:\"calc\"},autocontour:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"contours.start\":void 0,\"contours.end\":void 0,\"contours.size\":void 0}},ncontours:{valType:\"integer\",dflt:15,min:1,editType:\"calc\"},contours:{type:{valType:\"enumerated\",values:[\"levels\",\"constraint\"],dflt:\"levels\",editType:\"calc\"},start:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},end:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},coloring:{valType:\"enumerated\",values:[\"fill\",\"heatmap\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:{valType:\"boolean\",dflt:!0,editType:\"plot\"},showlabels:{valType:\"boolean\",dflt:!1,editType:\"plot\"},labelfont:B_t({editType:\"plot\",colorEditType:\"style\"}),labelformat:{valType:\"string\",dflt:\"\",editType:\"plot\",description:F_t(\"contour label\")},operation:{valType:\"enumerated\",values:[].concat(N_t).concat(U_t),dflt:\"=\",editType:\"calc\"},value:{valType:\"any\",dflt:0,editType:\"calc\"},editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:IT({},kxe.color,{editType:\"style+colorbars\"}),width:{valType:\"number\",min:0,editType:\"style+colorbars\"},dash:O_t,smoothing:IT({},kxe.smoothing,{}),editType:\"plot\"},zorder:m8.zorder},q_t(\"\",{cLetter:\"z\",autoColorDflt:!1,editTypeOverride:\"calc\"}))});var rH=ye((Osr,Rxe)=>{\"use strict\";var Hv=p8(),qy=T4(),V_t=Jl(),tH=Oc().axisHoverFormat,Ixe=no().extendFlat;Rxe.exports=Ixe({x:Hv.x,y:Hv.y,z:Hv.z,marker:Hv.marker,histnorm:Hv.histnorm,histfunc:Hv.histfunc,nbinsx:Hv.nbinsx,xbins:Hv.xbins,nbinsy:Hv.nbinsy,ybins:Hv.ybins,autobinx:Hv.autobinx,autobiny:Hv.autobiny,bingroup:Hv.bingroup,xbingroup:Hv.xbingroup,ybingroup:Hv.ybingroup,autocontour:qy.autocontour,ncontours:qy.ncontours,contours:qy.contours,line:{color:qy.line.color,width:Ixe({},qy.line.width,{dflt:.5}),dash:qy.line.dash,smoothing:qy.line.smoothing,editType:\"plot\"},xhoverformat:tH(\"x\"),yhoverformat:tH(\"y\"),zhoverformat:tH(\"z\",1),hovertemplate:Hv.hovertemplate,texttemplate:qy.texttemplate,textfont:qy.textfont},V_t(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var y8=ye((Bsr,Dxe)=>{\"use strict\";Dxe.exports=function(t,r,n,i){var a=i(\"contours.start\"),o=i(\"contours.end\"),s=a===!1||o===!1,l=n(\"contours.size\"),u;s?u=r.autocontour=!0:u=n(\"autocontour\",!1),(u||!l)&&n(\"ncontours\")}});var iH=ye((Nsr,zxe)=>{\"use strict\";var H_t=Mr();zxe.exports=function(t,r,n,i){i||(i={});var a=t(\"contours.showlabels\");if(a){var o=r.font;H_t.coerceFont(t,\"contours.labelfont\",o,{overrideDflt:{color:n}}),t(\"contours.labelformat\")}i.hasHover!==!1&&t(\"zhoverformat\")}});var _8=ye((Usr,Fxe)=>{\"use strict\";var G_t=Uh(),j_t=iH();Fxe.exports=function(t,r,n,i,a){var o=n(\"contours.coloring\"),s,l=\"\";o===\"fill\"&&(s=n(\"contours.showlines\")),s!==!1&&(o!==\"lines\"&&(l=n(\"line.color\",\"#000\")),n(\"line.width\",.5),n(\"line.dash\")),o!==\"none\"&&(t.showlegend!==!0&&(r.showlegend=!1),r._dfltShowLegend=!1,G_t(t,r,i,n,{prefix:\"\",cLetter:\"z\"})),n(\"line.smoothing\"),j_t(n,i,l,a)}});var Nxe=ye((Vsr,Bxe)=>{\"use strict\";var qxe=Mr(),W_t=QV(),Z_t=y8(),X_t=_8(),Y_t=y4(),Oxe=rH();Bxe.exports=function(t,r,n,i){function a(s,l){return qxe.coerce(t,r,Oxe,s,l)}function o(s){return qxe.coerce2(t,r,Oxe,s)}W_t(t,r,a,i),r.visible!==!1&&(Z_t(t,r,a,o),X_t(t,r,a,i),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"hovertemplate\"),r.contours&&r.contours.coloring===\"heatmap\"&&Y_t(a,i))}});var oH=ye((Hsr,Vxe)=>{\"use strict\";var aH=Qa(),nH=Mr();Vxe.exports=function(t,r){var n=t.contours;if(t.autocontour){var i=t.zmin,a=t.zmax;(t.zauto||i===void 0)&&(i=nH.aggNums(Math.min,null,r)),(t.zauto||a===void 0)&&(a=nH.aggNums(Math.max,null,r));var o=Uxe(i,a,t.ncontours);n.size=o.dtick,n.start=aH.tickFirst(o),o.range.reverse(),n.end=aH.tickFirst(o),n.start===i&&(n.start+=n.size),n.end===a&&(n.end-=n.size),n.start>n.end&&(n.start=n.end=(n.start+n.end)/2),t._input.contours||(t._input.contours={}),nH.extendFlat(t._input.contours,{start:n.start,end:n.end,size:n.size}),t._input.autocontour=!0}else if(n.type!==\"constraint\"){var s=n.start,l=n.end,u=t._input.contours;if(s>l&&(n.start=u.start=l,l=n.end=u.end=s,s=n.start),!(n.size>0)){var c;s===l?c=1:c=Uxe(s,l,t.ncontours).dtick,u.size=n.size=c}}};function Uxe(e,t,r){var n={type:\"linear\",range:[e,t]};return aH.autoTicks(n,(t-e)/(r||15)),n}});var A4=ye((Gsr,Hxe)=>{\"use strict\";Hxe.exports=function(t){return t.end+t.size/1e6}});var sH=ye((jsr,jxe)=>{\"use strict\";var Gxe=Mu(),K_t=n8(),J_t=oH(),$_t=A4();jxe.exports=function(t,r){var n=K_t(t,r),i=n[0].z;J_t(r,i);var a=r.contours,o=Gxe.extractOpts(r),s;if(a.coloring===\"heatmap\"&&o.auto&&r.autocontour===!1){var l=a.start,u=$_t(a),c=a.size||1,f=Math.floor((u-l)/c)+1;isFinite(c)||(c=1,f=1);var h=l-c/2,d=h+f*c;s=[h,d]}else s=i;return Gxe.calc(t,r,{vals:s,cLetter:\"z\"}),n}});var S4=ye((Wsr,Wxe)=>{\"use strict\";Wxe.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}}});var lH=ye((Zsr,Zxe)=>{\"use strict\";var x8=S4();Zxe.exports=function(t){var r=t[0].z,n=r.length,i=r[0].length,a=n===2||i===2,o,s,l,u,c,f,h,d,v;for(s=0;s<n-1;s++)for(u=[],s===0&&(u=u.concat(x8.BOTTOMSTART)),s===n-2&&(u=u.concat(x8.TOPSTART)),o=0;o<i-1;o++)for(l=u.slice(),o===0&&(l=l.concat(x8.LEFTSTART)),o===i-2&&(l=l.concat(x8.RIGHTSTART)),c=o+\",\"+s,f=[[r[s][o],r[s][o+1]],[r[s+1][o],r[s+1][o+1]]],v=0;v<t.length;v++)d=t[v],h=Q_t(d.level,f),h&&(d.crossings[c]=h,l.indexOf(h)!==-1&&(d.starts.push([o,s]),a&&l.indexOf(h,l.indexOf(h)+1)!==-1&&d.starts.push([o,s])))};function Q_t(e,t){var r=(t[0][0]>e?0:1)+(t[0][1]>e?0:2)+(t[1][1]>e?0:4)+(t[1][0]>e?0:8);if(r===5||r===10){var n=(t[0][0]+t[0][1]+t[1][0]+t[1][1])/4;return e>n?r===5?713:1114:r===5?104:208}return r===15?0:r}});var uH=ye((Xsr,Kxe)=>{\"use strict\";var b8=Mr(),RT=S4();Kxe.exports=function(t,r,n){var i,a,o,s,l;for(r=r||.01,n=n||.01,o=0;o<t.length;o++){for(s=t[o],l=0;l<s.starts.length;l++)a=s.starts[l],Xxe(s,a,\"edge\",r,n);for(i=0;Object.keys(s.crossings).length&&i<1e4;)i++,a=Object.keys(s.crossings)[0].split(\",\").map(Number),Xxe(s,a,void 0,r,n);i===1e4&&b8.log(\"Infinite loop in contour?\")}};function M4(e,t,r,n){return Math.abs(e[0]-t[0])<r&&Math.abs(e[1]-t[1])<n}function ext(e,t){var r=e[2]-t[2],n=e[3]-t[3];return Math.sqrt(r*r+n*n)}function Xxe(e,t,r,n,i){var a=t.join(\",\"),o=e.crossings[a],s=txt(o,r,t),l=[Yxe(e,t,[-s[0],-s[1]])],u=e.z.length,c=e.z[0].length,f=t.slice(),h=s.slice(),d;for(d=0;d<1e4;d++){if(o>20?(o=RT.CHOOSESADDLE[o][(s[0]||s[1])<0?0:1],e.crossings[a]=RT.SADDLEREMAINDER[o]):delete e.crossings[a],s=RT.NEWDELTA[o],!s){b8.log(\"Found bad marching index:\",o,t,e.level);break}l.push(Yxe(e,t,s)),t[0]+=s[0],t[1]+=s[1],a=t.join(\",\"),M4(l[l.length-1],l[l.length-2],n,i)&&l.pop();var v=s[0]&&(t[0]<0||t[0]>c-2)||s[1]&&(t[1]<0||t[1]>u-2),x=t[0]===f[0]&&t[1]===f[1]&&s[0]===h[0]&&s[1]===h[1];if(x||r&&v)break;o=e.crossings[a]}d===1e4&&b8.log(\"Infinite loop in contour?\");var b=M4(l[0],l[l.length-1],n,i),p=0,E=.2*e.smoothing,k=[],A=0,L,_,C,M,g,P,T,F,q,V,H;for(d=1;d<l.length;d++)T=ext(l[d],l[d-1]),p+=T,k.push(T);var X=p/k.length*E;function G(re){return l[re%l.length]}for(d=l.length-2;d>=A;d--)if(L=k[d],L<X){for(C=0,_=d-1;_>=A&&L+k[_]<X;_--)L+=k[_];if(b&&d===l.length-2)for(C=0;C<_&&L+k[C]<X;C++)L+=k[C];g=d-_+C+1,P=Math.floor((d+_+C+2)/2),!b&&d===l.length-2?M=l[l.length-1]:!b&&_===-1?M=l[0]:g%2?M=G(P):M=[(G(P)[0]+G(P+1)[0])/2,(G(P)[1]+G(P+1)[1])/2],l.splice(_+1,d-_+1,M),d=_+1,C&&(A=C),b&&(d===l.length-2?l[C]=l[l.length-1]:d===0&&(l[l.length-1]=l[0]))}for(l.splice(0,A),d=0;d<l.length;d++)l[d].length=2;if(!(l.length<2))if(b)l.pop(),e.paths.push(l);else{r||b8.log(\"Unclosed interior contour?\",e.level,f.join(\",\"),l.join(\"L\"));var N=!1;for(F=0;F<e.edgepaths.length;F++)if(V=e.edgepaths[F],!N&&M4(V[0],l[l.length-1],n,i)){l.pop(),N=!0;var W=!1;for(q=0;q<e.edgepaths.length;q++)if(H=e.edgepaths[q],M4(H[H.length-1],l[0],n,i)){W=!0,l.shift(),e.edgepaths.splice(F,1),q===F?e.paths.push(l.concat(H)):(q>F&&q--,e.edgepaths[q]=H.concat(l,V));break}W||(e.edgepaths[F]=l.concat(V))}for(F=0;F<e.edgepaths.length&&!N;F++)V=e.edgepaths[F],M4(V[V.length-1],l[0],n,i)&&(l.shift(),e.edgepaths[F]=V.concat(l),N=!0);N||e.edgepaths.push(l)}}function txt(e,t,r){var n=0,i=0;return e>20&&t?e===208||e===1114?n=r[0]===0?1:-1:i=r[1]===0?1:-1:RT.BOTTOMSTART.indexOf(e)!==-1?i=1:RT.LEFTSTART.indexOf(e)!==-1?n=1:RT.TOPSTART.indexOf(e)!==-1?i=-1:n=-1,[n,i]}function Yxe(e,t,r){var n=t[0]+Math.max(r[0],0),i=t[1]+Math.max(r[1],0),a=e.z[i][n],o=e.xaxis,s=e.yaxis;if(r[1]){var l=(e.level-a)/(e.z[i][n+1]-a),u=(l!==1?(1-l)*o.c2l(e.x[n]):0)+(l!==0?l*o.c2l(e.x[n+1]):0);return[o.c2p(o.l2c(u),!0),s.c2p(e.y[i],!0),n+l,i]}else{var c=(e.level-a)/(e.z[i+1][n]-a),f=(c!==1?(1-c)*s.c2l(e.y[i]):0)+(c!==0?c*s.c2l(e.y[i+1]):0);return[o.c2p(e.x[n],!0),s.c2p(s.l2c(f),!0),n,i+c]}}});var ebe=ye((Ysr,Qxe)=>{\"use strict\";var cH=g8(),rxt=uo();Qxe.exports={\"[]\":Jxe(\"[]\"),\"][\":Jxe(\"][\"),\">\":fH(\">\"),\"<\":fH(\"<\"),\"=\":fH(\"=\")};function $xe(e,t){var r=Array.isArray(t),n;function i(a){return rxt(a)?+a:null}return cH.COMPARISON_OPS2.indexOf(e)!==-1?n=i(r?t[0]:t):cH.INTERVAL_OPS.indexOf(e)!==-1?n=r?[i(t[0]),i(t[1])]:[i(t),i(t)]:cH.SET_OPS.indexOf(e)!==-1&&(n=r?t.map(i):[i(t)]),n}function Jxe(e){return function(t){t=$xe(e,t);var r=Math.min(t[0],t[1]),n=Math.max(t[0],t[1]);return{start:r,end:n,size:n-r}}}function fH(e){return function(t){return t=$xe(e,t),{start:t,end:1/0,size:1/0}}}});var hH=ye((Ksr,rbe)=>{\"use strict\";var tbe=Mr(),ixt=ebe(),nxt=A4();rbe.exports=function(t,r,n){for(var i=t.type===\"constraint\"?ixt[t._operation](t.value):t,a=i.size,o=[],s=nxt(i),l=n.trace._carpetTrace,u=l?{xaxis:l.aaxis,yaxis:l.baxis,x:n.a,y:n.b}:{xaxis:r.xaxis,yaxis:r.yaxis,x:n.x,y:n.y},c=i.start;c<s;c+=a)if(o.push(tbe.extendFlat({level:c,crossings:{},starts:[],edgepaths:[],paths:[],z:n.z,smoothing:n.trace.line.smoothing},u)),o.length>1e3){tbe.warn(\"Too many contours, clipping at 1000\",t);break}return o}});var dH=ye((Jsr,nbe)=>{\"use strict\";var DT=Mr();nbe.exports=function(e,t){var r,n,i,a=function(l){return l.reverse()},o=function(l){return l};switch(t){case\"=\":case\"<\":return e;case\">\":for(e.length!==1&&DT.warn(\"Contour data invalid for the specified inequality operation.\"),n=e[0],r=0;r<n.edgepaths.length;r++)n.edgepaths[r]=a(n.edgepaths[r]);for(r=0;r<n.paths.length;r++)n.paths[r]=a(n.paths[r]);for(r=0;r<n.starts.length;r++)n.starts[r]=a(n.starts[r]);return e;case\"][\":var s=a;a=o,o=s;case\"[]\":for(e.length!==2&&DT.warn(\"Contour data invalid for the specified inequality range operation.\"),n=ibe(e[0]),i=ibe(e[1]),r=0;r<n.edgepaths.length;r++)n.edgepaths[r]=a(n.edgepaths[r]);for(r=0;r<n.paths.length;r++)n.paths[r]=a(n.paths[r]);for(r=0;r<n.starts.length;r++)n.starts[r]=a(n.starts[r]);for(;i.edgepaths.length;)n.edgepaths.push(o(i.edgepaths.shift()));for(;i.paths.length;)n.paths.push(o(i.paths.shift()));for(;i.starts.length;)n.starts.push(o(i.starts.shift()));return[n]}};function ibe(e){return DT.extendFlat({},e,{edgepaths:DT.extendDeep([],e.edgepaths),paths:DT.extendDeep([],e.paths),starts:DT.extendDeep([],e.starts)})}});var vH=ye(($sr,abe)=>{\"use strict\";abe.exports=function(e,t){var r=e[0],n=r.z,i;switch(t.type){case\"levels\":var a=Math.min(n[0][0],n[0][1]);for(i=0;i<e.length;i++){var o=e[i];o.prefixBoundary=!o.edgepaths.length&&(a>o.level||o.starts.length&&a===o.level)}break;case\"constraint\":if(r.prefixBoundary=!1,r.edgepaths.length)return;var s=r.x.length,l=r.y.length,u=-1/0,c=1/0;for(i=0;i<l;i++)c=Math.min(c,n[i][0]),c=Math.min(c,n[i][s-1]),u=Math.max(u,n[i][0]),u=Math.max(u,n[i][s-1]);for(i=1;i<s-1;i++)c=Math.min(c,n[0][i]),c=Math.min(c,n[l-1][i]),u=Math.max(u,n[0][i]),u=Math.max(u,n[l-1][i]);var f=t.value,h,d;switch(t._operation){case\">\":f>u&&(r.prefixBoundary=!0);break;case\"<\":(f<c||r.starts.length&&f===c)&&(r.prefixBoundary=!0);break;case\"[]\":h=Math.min(f[0],f[1]),d=Math.max(f[0],f[1]),(d<c||h>u||r.starts.length&&d===c)&&(r.prefixBoundary=!0);break;case\"][\":h=Math.min(f[0],f[1]),d=Math.max(f[0],f[1]),h<c&&d>u&&(r.prefixBoundary=!0);break}break}}});var w8=ye(Gv=>{\"use strict\";var k4=xa(),Id=Mr(),Oy=ao(),axt=Mu(),lbe=Pl(),obe=Qa(),sbe=ym(),oxt=s8(),ube=lH(),cbe=uH(),sxt=hH(),lxt=dH(),fbe=vH(),E4=S4(),Rm=E4.LABELOPTIMIZER;Gv.plot=function(t,r,n,i){var a=r.xaxis,o=r.yaxis;Id.makeTraceGroups(i,n,\"contour\").each(function(s){var l=k4.select(this),u=s[0],c=u.trace,f=u.x,h=u.y,d=c.contours,v=sxt(d,r,u),x=Id.ensureSingle(l,\"g\",\"heatmapcoloring\"),b=[];d.coloring===\"heatmap\"&&(b=[s]),oxt(t,r,b,x),ube(v),cbe(v);var p=a.c2p(f[0],!0),E=a.c2p(f[f.length-1],!0),k=o.c2p(h[0],!0),A=o.c2p(h[h.length-1],!0),L=[[p,A],[E,A],[E,k],[p,k]],_=v;d.type===\"constraint\"&&(_=lxt(v,d._operation)),uxt(l,L,d),cxt(l,_,L,d),fxt(l,v,t,u,d),dxt(l,r,t,u,L)})};function uxt(e,t,r){var n=Id.ensureSingle(e,\"g\",\"contourbg\"),i=n.selectAll(\"path\").data(r.coloring===\"fill\"?[0]:[]);i.enter().append(\"path\"),i.exit().remove(),i.attr(\"d\",\"M\"+t.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}function cxt(e,t,r,n){var i=n.coloring===\"fill\"||n.type===\"constraint\"&&n._operation!==\"=\",a=\"M\"+r.join(\"L\")+\"Z\";i&&fbe(t,n);var o=Id.ensureSingle(e,\"g\",\"contourfill\"),s=o.selectAll(\"path\").data(i?t:[]);s.enter().append(\"path\"),s.exit().remove(),s.each(function(l){var u=(l.prefixBoundary?a:\"\")+hbe(l,r);u?k4.select(this).attr(\"d\",u).style(\"stroke\",\"none\"):k4.select(this).remove()})}function hbe(e,t){var r=\"\",n=0,i=e.edgepaths.map(function(p,E){return E}),a=!0,o,s,l,u,c,f;function h(p){return Math.abs(p[1]-t[0][1])<.01}function d(p){return Math.abs(p[1]-t[2][1])<.01}function v(p){return Math.abs(p[0]-t[0][0])<.01}function x(p){return Math.abs(p[0]-t[2][0])<.01}for(;i.length;){for(f=Oy.smoothopen(e.edgepaths[n],e.smoothing),r+=a?f:f.replace(/^M/,\"L\"),i.splice(i.indexOf(n),1),o=e.edgepaths[n][e.edgepaths[n].length-1],u=-1,l=0;l<4;l++){if(!o){Id.log(\"Missing end?\",n,e);break}for(h(o)&&!x(o)?s=t[1]:v(o)?s=t[0]:d(o)?s=t[3]:x(o)&&(s=t[2]),c=0;c<e.edgepaths.length;c++){var b=e.edgepaths[c][0];Math.abs(o[0]-s[0])<.01?Math.abs(o[0]-b[0])<.01&&(b[1]-o[1])*(s[1]-b[1])>=0&&(s=b,u=c):Math.abs(o[1]-s[1])<.01?Math.abs(o[1]-b[1])<.01&&(b[0]-o[0])*(s[0]-b[0])>=0&&(s=b,u=c):Id.log(\"endpt to newendpt is not vert. or horz.\",o,s,b)}if(o=s,u>=0)break;r+=\"L\"+s}if(u===e.edgepaths.length){Id.log(\"unclosed perimeter path\");break}n=u,a=i.indexOf(n)===-1,a&&(n=i[0],r+=\"Z\")}for(n=0;n<e.paths.length;n++)r+=Oy.smoothclosed(e.paths[n],e.smoothing);return r}function fxt(e,t,r,n,i){var a=r._context.staticPlot,o=Id.ensureSingle(e,\"g\",\"contourlines\"),s=i.showlines!==!1,l=i.showlabels,u=s&&l,c=Gv.createLines(o,s||l,t,a),f=Gv.createLineClip(o,u,r,n.trace.uid),h=e.selectAll(\"g.contourlabels\").data(l?[0]:[]);if(h.exit().remove(),h.enter().append(\"g\").classed(\"contourlabels\",!0),l){var d=[],v=[];Id.clearLocationCache();var x=Gv.labelFormatter(r,n),b=Oy.tester.append(\"text\").attr(\"data-notex\",1).call(Oy.font,i.labelfont),p=t[0].xaxis,E=t[0].yaxis,k=p._length,A=E._length,L=p.range,_=E.range,C=Id.aggNums(Math.min,null,n.x),M=Id.aggNums(Math.max,null,n.x),g=Id.aggNums(Math.min,null,n.y),P=Id.aggNums(Math.max,null,n.y),T=Math.max(p.c2p(C,!0),0),F=Math.min(p.c2p(M,!0),k),q=Math.max(E.c2p(P,!0),0),V=Math.min(E.c2p(g,!0),A),H={};L[0]<L[1]?(H.left=T,H.right=F):(H.left=F,H.right=T),_[0]<_[1]?(H.top=q,H.bottom=V):(H.top=V,H.bottom=q),H.middle=(H.top+H.bottom)/2,H.center=(H.left+H.right)/2,d.push([[H.left,H.top],[H.right,H.top],[H.right,H.bottom],[H.left,H.bottom]]);var X=Math.sqrt(k*k+A*A),G=E4.LABELDISTANCE*X/Math.max(1,t.length/E4.LABELINCREASE);c.each(function(N){var W=Gv.calcTextOpts(N.level,x,b,r);k4.select(this).selectAll(\"path\").each(function(){var re=this,ae=Id.getVisibleSegment(re,H,W.height/2);if(ae&&!(ae.len<(W.width+W.height)*E4.LABELMIN))for(var _e=Math.min(Math.ceil(ae.len/G),E4.LABELMAX),Me=0;Me<_e;Me++){var ke=Gv.findBestTextLocation(re,ae,W,v,H);if(!ke)break;Gv.addLabelData(ke,W,v,d)}})}),b.remove(),Gv.drawLabels(h,v,r,f,u?d:null)}l&&!s&&c.remove()}Gv.createLines=function(e,t,r,n){var i=r[0].smoothing,a=e.selectAll(\"g.contourlevel\").data(t?r:[]);if(a.exit().remove(),a.enter().append(\"g\").classed(\"contourlevel\",!0),t){var o=a.selectAll(\"path.openline\").data(function(l){return l.pedgepaths||l.edgepaths});o.exit().remove(),o.enter().append(\"path\").classed(\"openline\",!0),o.attr(\"d\",function(l){return Oy.smoothopen(l,i)}).style(\"stroke-miterlimit\",1).style(\"vector-effect\",n?\"none\":\"non-scaling-stroke\");var s=a.selectAll(\"path.closedline\").data(function(l){return l.ppaths||l.paths});s.exit().remove(),s.enter().append(\"path\").classed(\"closedline\",!0),s.attr(\"d\",function(l){return Oy.smoothclosed(l,i)}).style(\"stroke-miterlimit\",1).style(\"vector-effect\",n?\"none\":\"non-scaling-stroke\")}return a};Gv.createLineClip=function(e,t,r,n){var i=r._fullLayout._clips,a=t?\"clipline\"+n:null,o=i.selectAll(\"#\"+a).data(t?[0]:[]);return o.exit().remove(),o.enter().append(\"clipPath\").classed(\"contourlineclip\",!0).attr(\"id\",a),Oy.setClipUrl(e,a,r),o};Gv.labelFormatter=function(e,t){var r=e._fullLayout,n=t.trace,i=n.contours,a={type:\"linear\",_id:\"ycontour\",showexponent:\"all\",exponentformat:\"B\"};if(i.labelformat)a.tickformat=i.labelformat,sbe(a,r);else{var o=axt.extractOpts(n);if(o&&o.colorbar&&o.colorbar._axis)a=o.colorbar._axis;else{if(i.type===\"constraint\"){var s=i.value;Id.isArrayOrTypedArray(s)?a.range=[s[0],s[s.length-1]]:a.range=[s,s]}else a.range=[i.start,i.end],a.nticks=(i.end-i.start)/i.size;a.range[0]===a.range[1]&&(a.range[1]+=a.range[0]||1),a.nticks||(a.nticks=1e3),sbe(a,r),obe.prepTicks(a),a._tmin=null,a._tmax=null}}return function(l){return obe.tickText(a,l).text}};Gv.calcTextOpts=function(e,t,r,n){var i=t(e);r.text(i).call(lbe.convertToTspans,n);var a=r.node(),o=Oy.bBox(a,!0);return{text:i,width:o.width,height:o.height,fontSize:+a.style[\"font-size\"].replace(\"px\",\"\"),level:e,dy:(o.top+o.bottom)/2}};Gv.findBestTextLocation=function(e,t,r,n,i){var a=r.width,o,s,l,u,c;t.isClosed?(s=t.len/Rm.INITIALSEARCHPOINTS,o=t.min+s/2,l=t.max):(s=(t.len-a)/(Rm.INITIALSEARCHPOINTS+1),o=t.min+s+a/2,l=t.max-(s+a)/2);for(var f=1/0,h=0;h<Rm.ITERATIONS;h++){for(var d=o;d<l;d+=s){var v=Id.getTextLocation(e,t.total,d,a),x=hxt(v,r,n,i);x<f&&(f=x,c=v,u=d)}if(f>Rm.MAXCOST*2)break;h&&(s/=2),o=u-s/2,l=o+s*1.5}if(f<=Rm.MAXCOST)return c};function hxt(e,t,r,n){var i=t.width/2,a=t.height/2,o=e.x,s=e.y,l=e.theta,u=Math.cos(l)*i,c=Math.sin(l)*i,f=(o>n.center?n.right-o:o-n.left)/(u+Math.abs(Math.sin(l)*a)),h=(s>n.middle?n.bottom-s:s-n.top)/(Math.abs(c)+Math.cos(l)*a);if(f<1||h<1)return 1/0;var d=Rm.EDGECOST*(1/(f-1)+1/(h-1));d+=Rm.ANGLECOST*l*l;for(var v=o-u,x=s-c,b=o+u,p=s+c,E=0;E<r.length;E++){var k=r[E],A=Math.cos(k.theta)*k.width/2,L=Math.sin(k.theta)*k.width/2,_=Id.segmentDistance(v,x,b,p,k.x-A,k.y-L,k.x+A,k.y+L)*2/(t.height+k.height),C=k.level===t.level,M=C?Rm.SAMELEVELDISTANCE:1;if(_<=M)return 1/0;var g=Rm.NEIGHBORCOST*(C?Rm.SAMELEVELFACTOR:1);d+=g/(_-M)}return d}Gv.addLabelData=function(e,t,r,n){var i=t.fontSize,a=t.width+i/3,o=Math.max(0,t.height-i/3),s=e.x,l=e.y,u=e.theta,c=Math.sin(u),f=Math.cos(u),h=function(v,x){return[s+v*f-x*c,l+v*c+x*f]},d=[h(-a/2,-o/2),h(-a/2,o/2),h(a/2,o/2),h(a/2,-o/2)];r.push({text:t.text,x:s,y:l,dy:t.dy,theta:u,level:t.level,width:a,height:o}),n.push(d)};Gv.drawLabels=function(e,t,r,n,i){var a=e.selectAll(\"text\").data(t,function(u){return u.text+\",\"+u.x+\",\"+u.y+\",\"+u.theta});if(a.exit().remove(),a.enter().append(\"text\").attr({\"data-notex\":1,\"text-anchor\":\"middle\"}).each(function(u){var c=u.x+Math.sin(u.theta)*u.dy,f=u.y-Math.cos(u.theta)*u.dy;k4.select(this).text(u.text).attr({x:c,y:f,transform:\"rotate(\"+180*u.theta/Math.PI+\" \"+c+\" \"+f+\")\"}).call(lbe.convertToTspans,r)}),i){for(var o=\"\",s=0;s<i.length;s++)o+=\"M\"+i[s].join(\"L\")+\"Z\";var l=Id.ensureSingle(n,\"path\",\"\");l.attr(\"d\",o)}};function dxt(e,t,r,n,i){var a=n.trace,o=r._fullLayout._clips,s=\"clip\"+a.uid,l=o.selectAll(\"#\"+s).data(a.connectgaps?[]:[0]);if(l.enter().append(\"clipPath\").classed(\"contourclip\",!0).attr(\"id\",s),l.exit().remove(),a.connectgaps===!1){var u={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:t.xaxis,yaxis:t.yaxis,x:n.x,y:n.y,z:vxt(n),smoothing:0};ube([u]),cbe([u]),fbe([u],{type:\"levels\"});var c=Id.ensureSingle(l,\"path\",\"\");c.attr(\"d\",(u.prefixBoundary?\"M\"+i.join(\"L\")+\"Z\":\"\")+hbe(u,i))}else s=null;Oy.setClipUrl(e,s,r)}function vxt(e){var t=e.trace._emptypoints,r=[],n=e.z.length,i=e.z[0].length,a,o=[],s;for(a=0;a<i;a++)o.push(1);for(a=0;a<n;a++)r.push(o.slice());for(a=0;a<t.length;a++)s=t[a],r[s[0]][s[1]]=0;return e.zmask=r,r}});var gH=ye((elr,dbe)=>{\"use strict\";var pxt=xa(),pH=Mu(),gxt=A4();dbe.exports=function(t){var r=t.contours,n=r.start,i=gxt(r),a=r.size||1,o=Math.floor((i-n)/a)+1,s=r.coloring===\"lines\"?0:1,l=pH.extractOpts(t);isFinite(a)||(a=1,o=1);var u=l.reversescale?pH.flipScale(l.colorscale):l.colorscale,c=u.length,f=new Array(c),h=new Array(c),d,v,x=l.min,b=l.max;if(r.coloring===\"heatmap\"){for(v=0;v<c;v++)d=u[v],f[v]=d[0]*(b-x)+x,h[v]=d[1];var p=pxt.extent([x,b,r.start,r.start+a*(o-1)]),E=p[x<b?0:1],k=p[x<b?1:0];E!==x&&(f.splice(0,0,E),h.splice(0,0,h[0])),k!==b&&(f.push(k),h.push(h[h.length-1]))}else{var A=t._input&&typeof t._input.zmin==\"number\"&&typeof t._input.zmax==\"number\";for(A&&(n<=x||i>=b)&&(n<=x&&(n=x),i>=b&&(i=b),o=Math.floor((i-n)/a)+1,s=0),v=0;v<c;v++)d=u[v],f[v]=(d[0]*(o+s-1)-s/2)*a+n,h[v]=d[1];(A||t.autocontour)&&(f[0]>x&&(f.unshift(x),h.unshift(h[0])),f[f.length-1]<b&&(f.push(b),h.push(h[h.length-1])))}return pH.makeColorScaleFunc({domain:f,range:h},{noNumericCheck:!0})}});var A8=ye((tlr,pbe)=>{\"use strict\";var T8=xa(),vbe=ao(),mxt=l8(),yxt=gH();pbe.exports=function(t){var r=T8.select(t).selectAll(\"g.contour\");r.style(\"opacity\",function(n){return n[0].trace.opacity}),r.each(function(n){var i=T8.select(this),a=n[0].trace,o=a.contours,s=a.line,l=o.size||1,u=o.start,c=o.type===\"constraint\",f=!c&&o.coloring===\"lines\",h=!c&&o.coloring===\"fill\",d=f||h?yxt(a):null;i.selectAll(\"g.contourlevel\").each(function(b){T8.select(this).selectAll(\"path\").call(vbe.lineGroupStyle,s.width,f?d(b.level):s.color,s.dash)});var v=o.labelfont;if(i.selectAll(\"g.contourlabels text\").each(function(b){vbe.font(T8.select(this),{weight:v.weight,style:v.style,variant:v.variant,textcase:v.textcase,lineposition:v.lineposition,shadow:v.shadow,family:v.family,size:v.size,color:v.color||(f?d(b.level):s.color)})}),c)i.selectAll(\"g.contourfill path\").style(\"fill\",a.fillcolor);else if(h){var x;i.selectAll(\"g.contourfill path\").style(\"fill\",function(b){return x===void 0&&(x=b.level),d(b.level+.5*l)}),x===void 0&&(x=u),i.selectAll(\"g.contourbg path\").style(\"fill\",d(x-.5*l))}}),mxt(t)}});var S8=ye((rlr,mbe)=>{\"use strict\";var gbe=Mu(),_xt=gH(),xxt=A4();function bxt(e,t,r){var n=t.contours,i=t.line,a=n.size||1,o=n.coloring,s=_xt(t,{isColorbar:!0});if(o===\"heatmap\"){var l=gbe.extractOpts(t);r._fillgradient=l.reversescale?gbe.flipScale(l.colorscale):l.colorscale,r._zrange=[l.min,l.max]}else o===\"fill\"&&(r._fillcolor=s);r._line={color:o===\"lines\"?s:i.color,width:n.showlines!==!1?i.width:0,dash:i.dash},r._levels={start:n.start,end:xxt(n),size:a}}mbe.exports={min:\"zmin\",max:\"zmax\",calc:bxt}});var mH=ye((ilr,ybe)=>{\"use strict\";var M8=va(),wxt=c8();ybe.exports=function(t,r,n,i,a){a||(a={}),a.isContour=!0;var o=wxt(t,r,n,i,a);return o&&o.forEach(function(s){var l=s.trace;l.contours.type===\"constraint\"&&(l.fillcolor&&M8.opacity(l.fillcolor)?s.color=M8.addOpacity(l.fillcolor,1):l.contours.showlines&&M8.opacity(l.line.color)&&(s.color=M8.addOpacity(l.line.color,1)))}),o}});var xbe=ye((nlr,_be)=>{\"use strict\";_be.exports={attributes:rH(),supplyDefaults:Nxe(),crossTraceDefaults:d8(),calc:sH(),plot:w8().plot,layerName:\"contourlayer\",style:A8(),colorbar:S8(),hoverPoints:mH(),moduleType:\"trace\",name:\"histogram2dcontour\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"histogram\",\"showLegend\"],meta:{}}});var wbe=ye((alr,bbe)=>{\"use strict\";bbe.exports=xbe()});var yH=ye((olr,kbe)=>{\"use strict\";var Tbe=uo(),Txt=iH(),Mbe=va(),Abe=Mbe.addOpacity,Axt=Mbe.opacity,Ebe=g8(),Sbe=Mr().isArrayOrTypedArray,Sxt=Ebe.CONSTRAINT_REDUCTION,Mxt=Ebe.COMPARISON_OPS2;kbe.exports=function(t,r,n,i,a,o){var s=r.contours,l,u,c,f=n(\"contours.operation\");if(s._operation=Sxt[f],Ext(n,s),f===\"=\"?l=s.showlines=!0:(l=n(\"contours.showlines\"),c=n(\"fillcolor\",Abe((t.line||{}).color||a,.5))),l){var h=c&&Axt(c)?Abe(r.fillcolor,1):a;u=n(\"line.color\",h),n(\"line.width\",2),n(\"line.dash\")}n(\"line.smoothing\"),Txt(n,i,u,o)};function Ext(e,t){var r;Mxt.indexOf(t.operation)===-1?(e(\"contours.value\",[0,1]),Sbe(t.value)?t.value.length>2?t.value=t.value.slice(2):t.length===0?t.value=[0,1]:t.length<2?(r=parseFloat(t.value[0]),t.value=[r,r+1]):t.value=[parseFloat(t.value[0]),parseFloat(t.value[1])]:Tbe(t.value)&&(r=parseFloat(t.value),t.value=[r,r+1])):(e(\"contours.value\",0),Tbe(t.value)||(Sbe(t.value)?t.value=parseFloat(t.value[0]):t.value=0))}});var Pbe=ye((slr,Lbe)=>{\"use strict\";var _H=Mr(),kxt=XI(),Cxt=Pg(),Lxt=yH(),Pxt=y8(),Ixt=_8(),Rxt=y4(),Cbe=T4();Lbe.exports=function(t,r,n,i){function a(u,c){return _H.coerce(t,r,Cbe,u,c)}function o(u){return _H.coerce2(t,r,Cbe,u)}var s=kxt(t,r,a,i);if(!s){r.visible=!1;return}Cxt(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"text\"),a(\"hovertext\"),a(\"hoverongaps\"),a(\"hovertemplate\");var l=a(\"contours.type\")===\"constraint\";a(\"connectgaps\",_H.isArray1D(r.z)),l?Lxt(t,r,a,i,n):(Pxt(t,r,a,o),Ixt(t,r,a,i)),r.contours&&r.contours.coloring===\"heatmap\"&&Rxt(a,i),a(\"zorder\")}});var Rbe=ye((llr,Ibe)=>{\"use strict\";Ibe.exports={attributes:T4(),supplyDefaults:Pbe(),calc:sH(),plot:w8().plot,style:A8(),colorbar:S8(),hoverPoints:mH(),moduleType:\"trace\",name:\"contour\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"showLegend\"],meta:{}}});var zbe=ye((ulr,Dbe)=>{\"use strict\";Dbe.exports=Rbe()});var xH=ye((clr,qbe)=>{\"use strict\";var Dxt=Wo().hovertemplateAttrs,zxt=Wo().texttemplateAttrs,Fxt=Eg(),a0=Uc(),qxt=vl(),Fbe=Jl(),Oxt=Ed().dash,E_=no().extendFlat,j0=a0.marker,C4=a0.line,Bxt=j0.line;qbe.exports={a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},c:{valType:\"data_array\",editType:\"calc\"},sum:{valType:\"number\",dflt:0,min:0,editType:\"calc\"},mode:E_({},a0.mode,{dflt:\"markers\"}),text:E_({},a0.text,{}),texttemplate:zxt({editType:\"plot\"},{keys:[\"a\",\"b\",\"c\",\"text\"]}),hovertext:E_({},a0.hovertext,{}),line:{color:C4.color,width:C4.width,dash:Oxt,backoff:C4.backoff,shape:E_({},C4.shape,{values:[\"linear\",\"spline\"]}),smoothing:C4.smoothing,editType:\"calc\"},connectgaps:a0.connectgaps,cliponaxis:a0.cliponaxis,fill:E_({},a0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:Fxt(),marker:E_({symbol:j0.symbol,opacity:j0.opacity,angle:j0.angle,angleref:j0.angleref,standoff:j0.standoff,maxdisplayed:j0.maxdisplayed,size:j0.size,sizeref:j0.sizeref,sizemin:j0.sizemin,sizemode:j0.sizemode,line:E_({width:Bxt.width,editType:\"calc\"},Fbe(\"marker.line\")),gradient:j0.gradient,editType:\"calc\"},Fbe(\"marker\")),textfont:a0.textfont,textposition:a0.textposition,selected:a0.selected,unselected:a0.unselected,hoverinfo:E_({},qxt.hoverinfo,{flags:[\"a\",\"b\",\"c\",\"text\",\"name\"]}),hoveron:a0.hoveron,hovertemplate:Dxt()}});var Ube=ye((flr,Nbe)=>{\"use strict\";var Obe=Mr(),Nxt=Sm(),zT=lu(),Uxt=$p(),Vxt=R0(),Bbe=J3(),Hxt=D0(),Gxt=Ig(),jxt=xH();Nbe.exports=function(t,r,n,i){function a(h,d){return Obe.coerce(t,r,jxt,h,d)}var o=a(\"a\"),s=a(\"b\"),l=a(\"c\"),u;if(o?(u=o.length,s?(u=Math.min(u,s.length),l&&(u=Math.min(u,l.length))):l?u=Math.min(u,l.length):u=0):s&&l&&(u=Math.min(s.length,l.length)),!u){r.visible=!1;return}r._length=u,a(\"sum\"),a(\"text\"),a(\"hovertext\"),r.hoveron!==\"fills\"&&a(\"hovertemplate\");var c=u<Nxt.PTS_LINESONLY?\"lines+markers\":\"lines\";a(\"mode\",c),zT.hasMarkers(r)&&Uxt(t,r,n,i,a,{gradient:!0}),zT.hasLines(r)&&(Vxt(t,r,n,i,a,{backoff:!0}),Bbe(t,r,a),a(\"connectgaps\")),zT.hasText(r)&&(a(\"texttemplate\"),Hxt(t,r,i,a));var f=[];(zT.hasMarkers(r)||zT.hasText(r))&&(a(\"cliponaxis\"),a(\"marker.maxdisplayed\"),f.push(\"points\")),a(\"fill\"),r.fill!==\"none\"&&(Gxt(t,r,n,a),zT.hasLines(r)||Bbe(t,r,a)),(r.fill===\"tonext\"||r.fill===\"toself\")&&f.push(\"fills\"),a(\"hoveron\",f.join(\"+\")||\"points\"),Obe.coerceSelectionMarkerOpacity(r,a)}});var Hbe=ye((hlr,Vbe)=>{\"use strict\";var bH=Qa();Vbe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot;return i.aLabel=bH.tickText(a.aaxis,t.a,!0).text,i.bLabel=bH.tickText(a.baxis,t.b,!0).text,i.cLabel=bH.tickText(a.caxis,t.c,!0).text,i}});var Zbe=ye((dlr,Wbe)=>{\"use strict\";var wH=uo(),Wxt=z0(),Zxt=km(),Xxt=F0(),Yxt=q0().calcMarkerSize,Gbe=[\"a\",\"b\",\"c\"],jbe={a:[\"b\",\"c\"],b:[\"a\",\"c\"],c:[\"a\",\"b\"]};Wbe.exports=function(t,r){var n=t._fullLayout[r.subplot],i=n.sum,a=r.sum||i,o={a:r.a,b:r.b,c:r.c},s=r.ids,l,u,c,f,h,d;for(l=0;l<Gbe.length;l++)if(c=Gbe[l],!o[c]){for(h=o[jbe[c][0]],d=o[jbe[c][1]],f=new Array(h.length),u=0;u<h.length;u++)f[u]=a-h[u]-d[u];o[c]=f}var v=r._length,x=new Array(v),b,p,E,k,A,L;for(l=0;l<v;l++)b=o.a[l],p=o.b[l],E=o.c[l],wH(b)&&wH(p)&&wH(E)?(b=+b,p=+p,E=+E,k=i/(b+p+E),k!==1&&(b*=k,p*=k,E*=k),L=b,A=E-p,x[l]={x:A,y:L,a:b,b:p,c:E},s&&(x[l].id=s[l])):x[l]={x:!1,y:!1};return Yxt(r,v),Wxt(t,r),Zxt(x,r),Xxt(x,r),x}});var Ybe=ye((vlr,Xbe)=>{\"use strict\";var Kxt=iT();Xbe.exports=function(t,r,n){var i=r.plotContainer;i.select(\".scatterlayer\").selectAll(\"*\").remove();for(var a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:r._hasClipOnAxisFalse?r.clipIdRelative:null},l=r.layers.frontplot.select(\"g.scatterlayer\"),u=0;u<n.length;u++){var c=n[u];c.length&&(c[0].trace._xA=a,c[0].trace._yA=o)}Kxt(t,s,n,l)}});var Jbe=ye((plr,Kbe)=>{\"use strict\";var Jxt=sT();Kbe.exports=function(t,r,n,i){var a=Jxt(t,r,n,i);if(!a||a[0].index===!1)return;var o=a[0];if(o.index===void 0){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,c=l-u;return o.x0=Math.max(Math.min(o.x0,c),u),o.x1=Math.max(Math.min(o.x1,c),u),a}var f=o.cd[o.index],h=o.trace,d=o.subplot;o.a=f.a,o.b=f.b,o.c=f.c,o.xLabelVal=void 0,o.yLabelVal=void 0;var v={};v[h.subplot]={_subplot:d};var x=h._module.formatLabels(f,h,v);o.aLabel=x.aLabel,o.bLabel=x.bLabel,o.cLabel=x.cLabel;var b=f.hi||h.hoverinfo,p=[];function E(A,L){p.push(A._hovertitle+\": \"+L)}if(!h.hovertemplate){var k=b.split(\"+\");k.indexOf(\"all\")!==-1&&(k=[\"a\",\"b\",\"c\"]),k.indexOf(\"a\")!==-1&&E(d.aaxis,o.aLabel),k.indexOf(\"b\")!==-1&&E(d.baxis,o.bLabel),k.indexOf(\"c\")!==-1&&E(d.caxis,o.cLabel)}return o.extraText=p.join(\"<br>\"),o.hovertemplate=h.hovertemplate,a}});var Qbe=ye((glr,$be)=>{\"use strict\";$be.exports=function(t,r,n,i,a){if(r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),i[a]){var o=i[a];t.a=o.a,t.b=o.b,t.c=o.c}else t.a=r.a,t.b=r.b,t.c=r.c;return t}});var c2e=ye((mlr,u2e)=>{\"use strict\";var a2e=xa(),$xt=id(),TH=ba(),By=Mr(),Dm=By.strTranslate,E8=By._,qT=va(),k8=ao(),L4=ym(),AH=no().extendFlat,Qxt=Xu(),k_=Qa(),e2e=gv(),t2e=Nc(),o2e=Sg(),r2e=o2e.freeMode,ebt=o2e.rectMode,SH=Mb(),tbt=wf().prepSelect,rbt=wf().selectOnClick,ibt=wf().clearOutline,nbt=wf().clearSelectionsCache,s2e=ad();function l2e(e,t){this.id=e.id,this.graphDiv=e.graphDiv,this.init(t),this.makeFramework(t),this.updateFx(t),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}u2e.exports=l2e;var zm=l2e.prototype;zm.init=function(e){this.container=e._ternarylayer,this.defs=e._defs,this.layoutId=e._uid,this.traceHash={},this.layers={}};zm.plot=function(e,t){var r=this,n=t[r.id],i=t._size;r._hasClipOnAxisFalse=!1;for(var a=0;a<e.length;a++){var o=e[a][0].trace;if(o.cliponaxis===!1){r._hasClipOnAxisFalse=!0;break}}r.updateLayers(n),r.adjustLayout(n,i),Qxt.generalUpdatePerTraceModule(r.graphDiv,r,e,n),r.layers.plotbg.select(\"path\").call(qT.fill,n.bgcolor)};zm.makeFramework=function(e){var t=this,r=t.graphDiv,n=e[t.id],i=t.clipId=\"clip\"+t.layoutId+t.id,a=t.clipIdRelative=\"clip-relative\"+t.layoutId+t.id;t.clipDef=By.ensureSingleById(e._clips,\"clipPath\",i,function(o){o.append(\"path\").attr(\"d\",\"M0,0Z\")}),t.clipDefRelative=By.ensureSingleById(e._clips,\"clipPath\",a,function(o){o.append(\"path\").attr(\"d\",\"M0,0Z\")}),t.plotContainer=By.ensureSingle(t.container,\"g\",t.id),t.updateLayers(n),k8.setClipUrl(t.layers.backplot,i,r),k8.setClipUrl(t.layers.grids,i,r)};zm.updateFx=function(e){e._ternarylayer.selectAll(\"g.toplevel\").style(\"cursor\",e.dragmode===\"pan\"?\"move\":\"crosshair\")};zm.updateLayers=function(e){var t=this,r=t.layers,n=[\"draglayer\",\"plotbg\",\"backplot\",\"grids\"];e.aaxis.layer===\"below traces\"&&n.push(\"aaxis\",\"aline\"),e.baxis.layer===\"below traces\"&&n.push(\"baxis\",\"bline\"),e.caxis.layer===\"below traces\"&&n.push(\"caxis\",\"cline\"),n.push(\"frontplot\"),e.aaxis.layer===\"above traces\"&&n.push(\"aaxis\",\"aline\"),e.baxis.layer===\"above traces\"&&n.push(\"baxis\",\"bline\"),e.caxis.layer===\"above traces\"&&n.push(\"caxis\",\"cline\");var i=t.plotContainer.selectAll(\"g.toplevel\").data(n,String),a=[\"agrid\",\"bgrid\",\"cgrid\"];i.enter().append(\"g\").attr(\"class\",function(o){return\"toplevel \"+o}).each(function(o){var s=a2e.select(this);r[o]=s,o===\"frontplot\"?s.append(\"g\").classed(\"scatterlayer\",!0):o===\"backplot\"?s.append(\"g\").classed(\"maplayer\",!0):o===\"plotbg\"?s.append(\"path\").attr(\"d\",\"M0,0Z\"):o===\"aline\"||o===\"bline\"||o===\"cline\"?s.append(\"path\"):o===\"grids\"&&a.forEach(function(l){r[l]=s.append(\"g\").classed(\"grid \"+l,!0)})}),i.order()};var FT=Math.sqrt(4/3);zm.adjustLayout=function(e,t){var r=this,n=e.domain,i=(n.x[0]+n.x[1])/2,a=(n.y[0]+n.y[1])/2,o=n.x[1]-n.x[0],s=n.y[1]-n.y[0],l=o*t.w,u=s*t.h,c=e.sum,f=e.aaxis.min,h=e.baxis.min,d=e.caxis.min,v,x,b,p,E,k;l>FT*u?(p=u,b=p*FT):(b=l,p=b/FT),E=o*b/l,k=s*p/u,v=t.l+t.w*i-b/2,x=t.t+t.h*(1-a)-p/2,r.x0=v,r.y0=x,r.w=b,r.h=p,r.sum=c,r.xaxis={type:\"linear\",range:[f+2*d-c,c-f-2*h],domain:[i-E/2,i+E/2],_id:\"x\"},L4(r.xaxis,r.graphDiv._fullLayout),r.xaxis.setScale(),r.xaxis.isPtWithinRange=function(V){return V.a>=r.aaxis.range[0]&&V.a<=r.aaxis.range[1]&&V.b>=r.baxis.range[1]&&V.b<=r.baxis.range[0]&&V.c>=r.caxis.range[1]&&V.c<=r.caxis.range[0]},r.yaxis={type:\"linear\",range:[f,c-h-d],domain:[a-k/2,a+k/2],_id:\"y\"},L4(r.yaxis,r.graphDiv._fullLayout),r.yaxis.setScale(),r.yaxis.isPtWithinRange=function(){return!0};var A=r.yaxis.domain[0],L=r.aaxis=AH({},e.aaxis,{range:[f,c-h-d],side:\"left\",tickangle:(+e.aaxis.tickangle||0)-30,domain:[A,A+k*FT],anchor:\"free\",position:0,_id:\"y\",_length:b});L4(L,r.graphDiv._fullLayout),L.setScale();var _=r.baxis=AH({},e.baxis,{range:[c-f-d,h],side:\"bottom\",domain:r.xaxis.domain,anchor:\"free\",position:0,_id:\"x\",_length:b});L4(_,r.graphDiv._fullLayout),_.setScale();var C=r.caxis=AH({},e.caxis,{range:[c-f-h,d],side:\"right\",tickangle:(+e.caxis.tickangle||0)+30,domain:[A,A+k*FT],anchor:\"free\",position:0,_id:\"y\",_length:b});L4(C,r.graphDiv._fullLayout),C.setScale();var M=\"M\"+v+\",\"+(x+p)+\"h\"+b+\"l-\"+b/2+\",-\"+p+\"Z\";r.clipDef.select(\"path\").attr(\"d\",M),r.layers.plotbg.select(\"path\").attr(\"d\",M);var g=\"M0,\"+p+\"h\"+b+\"l-\"+b/2+\",-\"+p+\"Z\";r.clipDefRelative.select(\"path\").attr(\"d\",g);var P=Dm(v,x);r.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",P),r.clipDefRelative.select(\"path\").attr(\"transform\",null);var T=Dm(v-_._offset,x+p);r.layers.baxis.attr(\"transform\",T),r.layers.bgrid.attr(\"transform\",T);var F=Dm(v+b/2,x)+\"rotate(30)\"+Dm(0,-L._offset);r.layers.aaxis.attr(\"transform\",F),r.layers.agrid.attr(\"transform\",F);var q=Dm(v+b/2,x)+\"rotate(-30)\"+Dm(0,-C._offset);r.layers.caxis.attr(\"transform\",q),r.layers.cgrid.attr(\"transform\",q),r.drawAxes(!0),r.layers.aline.select(\"path\").attr(\"d\",L.showline?\"M\"+v+\",\"+(x+p)+\"l\"+b/2+\",-\"+p:\"M0,0\").call(qT.stroke,L.linecolor||\"#000\").style(\"stroke-width\",(L.linewidth||0)+\"px\"),r.layers.bline.select(\"path\").attr(\"d\",_.showline?\"M\"+v+\",\"+(x+p)+\"h\"+b:\"M0,0\").call(qT.stroke,_.linecolor||\"#000\").style(\"stroke-width\",(_.linewidth||0)+\"px\"),r.layers.cline.select(\"path\").attr(\"d\",C.showline?\"M\"+(v+b/2)+\",\"+x+\"l\"+b/2+\",\"+p:\"M0,0\").call(qT.stroke,C.linecolor||\"#000\").style(\"stroke-width\",(C.linewidth||0)+\"px\"),r.graphDiv._context.staticPlot||r.initInteractions(),k8.setClipUrl(r.layers.frontplot,r._hasClipOnAxisFalse?null:r.clipId,r.graphDiv)};zm.drawAxes=function(e){var t=this,r=t.graphDiv,n=t.id.substr(7)+\"title\",i=t.layers,a=t.aaxis,o=t.baxis,s=t.caxis;if(t.drawAx(a),t.drawAx(o),t.drawAx(s),e){var l=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?s.tickfont.size*.75:0)+(s.ticks===\"outside\"?s.ticklen*.87:0)),u=(o.showticklabels?o.tickfont.size:0)+(o.ticks===\"outside\"?o.ticklen:0)+3;i[\"a-title\"]=SH.draw(r,\"a\"+n,{propContainer:a,propName:t.id+\".aaxis.title\",placeholder:E8(r,\"Click to enter Component A title\"),attributes:{x:t.x0+t.w/2,y:t.y0-a.title.font.size/3-l,\"text-anchor\":\"middle\"}}),i[\"b-title\"]=SH.draw(r,\"b\"+n,{propContainer:o,propName:t.id+\".baxis.title\",placeholder:E8(r,\"Click to enter Component B title\"),attributes:{x:t.x0-u,y:t.y0+t.h+o.title.font.size*.83+u,\"text-anchor\":\"middle\"}}),i[\"c-title\"]=SH.draw(r,\"c\"+n,{propContainer:s,propName:t.id+\".caxis.title\",placeholder:E8(r,\"Click to enter Component C title\"),attributes:{x:t.x0+t.w+u,y:t.y0+t.h+s.title.font.size*.83+u,\"text-anchor\":\"middle\"}})}};zm.drawAx=function(e){var t=this,r=t.graphDiv,n=e._name,i=n.charAt(0),a=e._id,o=t.layers[n],s=30,l=i+\"tickLayout\",u=abt(e);t[l]!==u&&(o.selectAll(\".\"+a+\"tick\").remove(),t[l]=u),e.setScale();var c=k_.calcTicks(e),f=k_.clipEnds(e,c),h=k_.makeTransTickFn(e),d=k_.getTickSigns(e)[2],v=By.deg2rad(s),x=d*(e.linewidth||1)/2,b=d*e.ticklen,p=t.w,E=t.h,k=i===\"b\"?\"M0,\"+x+\"l\"+Math.sin(v)*b+\",\"+Math.cos(v)*b:\"M\"+x+\",0l\"+Math.cos(v)*b+\",\"+-Math.sin(v)*b,A={a:\"M0,0l\"+E+\",-\"+p/2,b:\"M0,0l-\"+p/2+\",-\"+E,c:\"M0,0l-\"+E+\",\"+p/2}[i];k_.drawTicks(r,e,{vals:e.ticks===\"inside\"?f:c,layer:o,path:k,transFn:h,crisp:!1}),k_.drawGrid(r,e,{vals:f,layer:t.layers[i+\"grid\"],path:A,transFn:h,crisp:!1}),k_.drawLabels(r,e,{vals:c,layer:o,transFn:h,labelFns:k_.makeLabelFns(e,0,s)})};function abt(e){return e.ticks+String(e.ticklen)+String(e.showticklabels)}var fd=s2e.MINZOOM/2+.87,obt=\"m-0.87,.5h\"+fd+\"v3h-\"+(fd+5.2)+\"l\"+(fd/2+2.6)+\",-\"+(fd*.87+4.5)+\"l2.6,1.5l-\"+fd/2+\",\"+fd*.87+\"Z\",sbt=\"m0.87,.5h-\"+fd+\"v3h\"+(fd+5.2)+\"l-\"+(fd/2+2.6)+\",-\"+(fd*.87+4.5)+\"l-2.6,1.5l\"+fd/2+\",\"+fd*.87+\"Z\",lbt=\"m0,1l\"+fd/2+\",\"+fd*.87+\"l2.6,-1.5l-\"+(fd/2+2.6)+\",-\"+(fd*.87+4.5)+\"l-\"+(fd/2+2.6)+\",\"+(fd*.87+4.5)+\"l2.6,1.5l\"+fd/2+\",-\"+fd*.87+\"Z\",ubt=\"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z\",i2e=!0;zm.clearOutline=function(){nbt(this.dragOptions),ibt(this.dragOptions.gd)};zm.initInteractions=function(){var e=this,t=e.layers.plotbg.select(\"path\").node(),r=e.graphDiv,n=r._fullLayout._zoomlayer,i,a;this.dragOptions={element:t,gd:r,plotinfo:{id:e.id,domain:r._fullLayout[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis},subplot:e.id,prepFn:function(T,F,q){e.dragOptions.xaxes=[e.xaxis],e.dragOptions.yaxes=[e.yaxis],i=r._fullLayout._invScaleX,a=r._fullLayout._invScaleY;var V=e.dragOptions.dragmode=r._fullLayout.dragmode;r2e(V)?e.dragOptions.minDrag=1:e.dragOptions.minDrag=void 0,V===\"zoom\"?(e.dragOptions.moveFn=_,e.dragOptions.clickFn=p,e.dragOptions.doneFn=C,E(T,F,q)):V===\"pan\"?(e.dragOptions.moveFn=g,e.dragOptions.clickFn=p,e.dragOptions.doneFn=P,M(),e.clearOutline(r)):(ebt(V)||r2e(V))&&tbt(T,F,q,e.dragOptions,V)}};var o,s,l,u,c,f,h,d,v,x;function b(T){var F={};return F[e.id+\".aaxis.min\"]=T.a,F[e.id+\".baxis.min\"]=T.b,F[e.id+\".caxis.min\"]=T.c,F}function p(T,F){var q=r._fullLayout.clickmode;n2e(r),T===2&&(r.emit(\"plotly_doubleclick\",null),TH.call(\"_guiRelayout\",r,b({a:0,b:0,c:0}))),q.indexOf(\"select\")>-1&&T===1&&rbt(F,r,[e.xaxis],[e.yaxis],e.id,e.dragOptions),q.indexOf(\"event\")>-1&&t2e.click(r,F,e.id)}function E(T,F,q){var V=t.getBoundingClientRect();o=F-V.left,s=q-V.top,r._fullLayout._calcInverseTransform(r);var H=r._fullLayout._invTransform,X=By.apply3DTransform(H)(o,s);o=X[0],s=X[1],l={a:e.aaxis.range[0],b:e.baxis.range[1],c:e.caxis.range[1]},c=l,u=e.aaxis.range[1]-l.a,f=$xt(e.graphDiv._fullLayout[e.id].bgcolor).getLuminance(),h=\"M0,\"+e.h+\"L\"+e.w/2+\", 0L\"+e.w+\",\"+e.h+\"Z\",d=!1,v=n.append(\"path\").attr(\"class\",\"zoombox\").attr(\"transform\",Dm(e.x0,e.y0)).style({fill:f>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"d\",h),x=n.append(\"path\").attr(\"class\",\"zoombox-corners\").attr(\"transform\",Dm(e.x0,e.y0)).style({fill:qT.background,stroke:qT.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"d\",\"M0,0Z\"),e.clearOutline(r)}function k(T,F){return 1-F/e.h}function A(T,F){return 1-(T+(e.h-F)/Math.sqrt(3))/e.w}function L(T,F){return(T-(e.h-F)/Math.sqrt(3))/e.w}function _(T,F){var q=o+T*i,V=s+F*a,H=Math.max(0,Math.min(1,k(o,s),k(q,V))),X=Math.max(0,Math.min(1,A(o,s),A(q,V))),G=Math.max(0,Math.min(1,L(o,s),L(q,V))),N=(H/2+G)*e.w,W=(1-H/2-X)*e.w,re=(N+W)/2,ae=W-N,_e=(1-H)*e.h,Me=_e-ae/FT;ae<s2e.MINZOOM?(c=l,v.attr(\"d\",h),x.attr(\"d\",\"M0,0Z\")):(c={a:l.a+H*u,b:l.b+X*u,c:l.c+G*u},v.attr(\"d\",h+\"M\"+N+\",\"+_e+\"H\"+W+\"L\"+re+\",\"+Me+\"L\"+N+\",\"+_e+\"Z\"),x.attr(\"d\",\"M\"+o+\",\"+s+ubt+\"M\"+N+\",\"+_e+obt+\"M\"+W+\",\"+_e+sbt+\"M\"+re+\",\"+Me+lbt)),d||(v.transition().style(\"fill\",f>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),x.transition().style(\"opacity\",1).duration(200),d=!0),r.emit(\"plotly_relayouting\",b(c))}function C(){n2e(r),c!==l&&(TH.call(\"_guiRelayout\",r,b(c)),i2e&&r.data&&r._context.showTips&&(By.notifier(E8(r,\"Double-click to zoom back out\"),\"long\"),i2e=!1))}function M(){l={a:e.aaxis.range[0],b:e.baxis.range[1],c:e.caxis.range[1]},c=l}function g(T,F){var q=T/e.xaxis._m,V=F/e.yaxis._m;c={a:l.a-V,b:l.b+(q+V)/2,c:l.c-(q-V)/2};var H=[c.a,c.b,c.c].sort(By.sorterAsc),X={a:H.indexOf(c.a),b:H.indexOf(c.b),c:H.indexOf(c.c)};H[0]<0&&(H[1]+H[0]/2<0?(H[2]+=H[0]+H[1],H[0]=H[1]=0):(H[2]+=H[0]/2,H[1]+=H[0]/2,H[0]=0),c={a:H[X.a],b:H[X.b],c:H[X.c]},F=(l.a-c.a)*e.yaxis._m,T=(l.c-c.c-l.b+c.b)*e.xaxis._m);var G=Dm(e.x0+T,e.y0+F);e.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",G);var N=Dm(-T,-F);e.clipDefRelative.select(\"path\").attr(\"transform\",N),e.aaxis.range=[c.a,e.sum-c.b-c.c],e.baxis.range=[e.sum-c.a-c.c,c.b],e.caxis.range=[e.sum-c.a-c.b,c.c],e.drawAxes(!1),e._hasClipOnAxisFalse&&e.plotContainer.select(\".scatterlayer\").selectAll(\".trace\").call(k8.hideOutsideRangePoints,e),r.emit(\"plotly_relayouting\",b(c))}function P(){TH.call(\"_guiRelayout\",r,b(c))}t.onmousemove=function(T){t2e.hover(r,T,e.id),r._fullLayout._lasthover=t,r._fullLayout._hoversubplot=e.id},t.onmouseout=function(T){r._dragging||e2e.unhover(r,T)},e2e.init(this.dragOptions)};function n2e(e){a2e.select(e).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}});var kH=ye((ylr,f2e)=>{\"use strict\";var cbt=dh(),fbt=Ju().attributes,Ol=Cd(),hbt=Bu().overrideAll,MH=no().extendFlat,EH={title:{text:Ol.title.text,font:Ol.title.font},color:Ol.color,tickmode:Ol.minor.tickmode,nticks:MH({},Ol.nticks,{dflt:6,min:1}),tick0:Ol.tick0,dtick:Ol.dtick,tickvals:Ol.tickvals,ticktext:Ol.ticktext,ticks:Ol.ticks,ticklen:Ol.ticklen,tickwidth:Ol.tickwidth,tickcolor:Ol.tickcolor,ticklabelstep:Ol.ticklabelstep,showticklabels:Ol.showticklabels,labelalias:Ol.labelalias,showtickprefix:Ol.showtickprefix,tickprefix:Ol.tickprefix,showticksuffix:Ol.showticksuffix,ticksuffix:Ol.ticksuffix,showexponent:Ol.showexponent,exponentformat:Ol.exponentformat,minexponent:Ol.minexponent,separatethousands:Ol.separatethousands,tickfont:Ol.tickfont,tickangle:Ol.tickangle,tickformat:Ol.tickformat,tickformatstops:Ol.tickformatstops,hoverformat:Ol.hoverformat,showline:MH({},Ol.showline,{dflt:!0}),linecolor:Ol.linecolor,linewidth:Ol.linewidth,showgrid:MH({},Ol.showgrid,{dflt:!0}),gridcolor:Ol.gridcolor,gridwidth:Ol.gridwidth,griddash:Ol.griddash,layer:Ol.layer,min:{valType:\"number\",dflt:0,min:0}},C8=f2e.exports=hbt({domain:fbt({name:\"ternary\"}),bgcolor:{valType:\"color\",dflt:cbt.background},sum:{valType:\"number\",dflt:1,min:0},aaxis:EH,baxis:EH,caxis:EH},\"plot\",\"from-root\");C8.uirevision={valType:\"any\",editType:\"none\"};C8.aaxis.uirevision=C8.baxis.uirevision=C8.caxis.uirevision={valType:\"any\",editType:\"none\"}});var C_=ye((_lr,h2e)=>{\"use strict\";var dbt=Mr(),vbt=Vs(),pbt=Ju().defaults;h2e.exports=function(t,r,n,i){var a=i.type,o=i.attributes,s=i.handleDefaults,l=i.partition||\"x\",u=r._subplots[a],c=u.length,f=c&&u[0].replace(/\\d+$/,\"\"),h,d;function v(E,k){return dbt.coerce(h,d,o,E,k)}for(var x=0;x<c;x++){var b=u[x];t[b]?h=t[b]:h=t[b]={},d=vbt.newContainer(r,b,f),i.noUirevision||v(\"uirevision\",r.uirevision);var p={};p[l]=[x/c,(x+1)/c],pbt(d,r,v,p),i.id=b,s(h,d,v,i)}}});var g2e=ye((xlr,p2e)=>{\"use strict\";var gbt=va(),mbt=Vs(),L8=Mr(),ybt=C_(),_bt=t_(),xbt=r_(),bbt=T3(),wbt=xb(),Tbt=YM(),v2e=kH(),d2e=[\"aaxis\",\"baxis\",\"caxis\"];p2e.exports=function(t,r,n){ybt(t,r,n,{type:\"ternary\",attributes:v2e,handleDefaults:Abt,font:r.font,paper_bgcolor:r.paper_bgcolor})};function Abt(e,t,r,n){var i=r(\"bgcolor\"),a=r(\"sum\");n.bgColor=gbt.combine(i,n.paper_bgcolor);for(var o,s,l,u=0;u<d2e.length;u++)o=d2e[u],s=e[o]||{},l=mbt.newContainer(t,o),l._name=o,Sbt(s,l,n,t);var c=t.aaxis,f=t.baxis,h=t.caxis;c.min+f.min+h.min>=a&&(c.min=0,f.min=0,h.min=0,e.aaxis&&delete e.aaxis.min,e.baxis&&delete e.baxis.min,e.caxis&&delete e.caxis.min)}function Sbt(e,t,r,n){var i=v2e[t._name];function a(d,v){return L8.coerce(e,t,i,d,v)}a(\"uirevision\",n.uirevision),t.type=\"linear\";var o=a(\"color\"),s=o!==i.color.dflt?o:r.font.color,l=t._name,u=l.charAt(0).toUpperCase(),c=\"Component \"+u,f=a(\"title.text\",c);t._hovertitle=f===c?f:u,L8.coerceFont(a,\"title.font\",r.font,{overrideDflt:{size:L8.bigFont(r.font.size),color:s}}),a(\"min\"),wbt(e,t,a,\"linear\"),xbt(e,t,a,\"linear\"),_bt(e,t,a,\"linear\",{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0}),bbt(e,t,a,{outerTicks:!0});var h=a(\"showticklabels\");h&&(L8.coerceFont(a,\"tickfont\",r.font,{overrideDflt:{color:s}}),a(\"tickangle\"),a(\"tickformat\")),Tbt(e,t,a,{dfltColor:o,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),a(\"hoverformat\"),a(\"layer\")}});var m2e=ye(W0=>{\"use strict\";var Mbt=c2e(),Ebt=kd().getSubplotCalcData,kbt=Mr().counterRegex,OT=\"ternary\";W0.name=OT;var Cbt=W0.attr=\"subplot\";W0.idRoot=OT;W0.idRegex=W0.attrRegex=kbt(OT);var Lbt=W0.attributes={};Lbt[Cbt]={valType:\"subplotid\",dflt:\"ternary\",editType:\"calc\"};W0.layoutAttributes=kH();W0.supplyLayoutDefaults=g2e();W0.plot=function(t){for(var r=t._fullLayout,n=t.calcdata,i=r._subplots[OT],a=0;a<i.length;a++){var o=i[a],s=Ebt(n,OT,o),l=r[o]._subplot;l||(l=new Mbt({id:o,graphDiv:t,container:r._ternarylayer.node()},r),r[o]._subplot=l),l.plot(s,r,t._promises)}};W0.clean=function(e,t,r,n){for(var i=n._subplots[OT]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!t[o]&&s&&(s.plotContainer.remove(),s.clipDef.remove(),s.clipDefRelative.remove(),s.layers[\"a-title\"].remove(),s.layers[\"b-title\"].remove(),s.layers[\"c-title\"].remove())}};W0.updateFx=function(e){var t=e._fullLayout;t._ternarylayer.selectAll(\"g.toplevel\").style(\"cursor\",t.dragmode===\"pan\"?\"move\":\"crosshair\")}});var _2e=ye((wlr,y2e)=>{\"use strict\";y2e.exports={attributes:xH(),supplyDefaults:Ube(),colorbar:Kd(),formatLabels:Hbe(),calc:Zbe(),plot:Ybe(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:Jbe(),selectPoints:lT(),eventData:Qbe(),moduleType:\"trace\",name:\"scatterternary\",basePlotModule:m2e(),categories:[\"ternary\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var b2e=ye((Tlr,x2e)=>{\"use strict\";x2e.exports=_2e()});var CH=ye((Alr,T2e)=>{\"use strict\";var jh=v4(),BT=no().extendFlat,w2e=Oc().axisHoverFormat;T2e.exports={y:jh.y,x:jh.x,x0:jh.x0,y0:jh.y0,xhoverformat:w2e(\"x\"),yhoverformat:w2e(\"y\"),name:BT({},jh.name,{}),orientation:BT({},jh.orientation,{}),bandwidth:{valType:\"number\",min:0,editType:\"calc\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},scalemode:{valType:\"enumerated\",values:[\"width\",\"count\"],dflt:\"width\",editType:\"calc\"},spanmode:{valType:\"enumerated\",values:[\"soft\",\"hard\",\"manual\"],dflt:\"soft\",editType:\"calc\"},span:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}],editType:\"calc\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:jh.fillcolor,points:BT({},jh.boxpoints,{}),jitter:BT({},jh.jitter,{}),pointpos:BT({},jh.pointpos,{}),width:BT({},jh.width,{}),marker:jh.marker,text:jh.text,hovertext:jh.hovertext,hovertemplate:jh.hovertemplate,quartilemethod:jh.quartilemethod,box:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},width:{valType:\"number\",min:0,max:1,dflt:.25,editType:\"plot\"},fillcolor:{valType:\"color\",editType:\"style\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},editType:\"plot\"},meanline:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"plot\"},side:{valType:\"enumerated\",values:[\"both\",\"positive\",\"negative\"],dflt:\"both\",editType:\"calc\"},offsetgroup:jh.offsetgroup,alignmentgroup:jh.alignmentgroup,selected:jh.selected,unselected:jh.unselected,hoveron:{valType:\"flaglist\",flags:[\"violins\",\"points\",\"kde\"],dflt:\"violins+points+kde\",extras:[\"all\"],editType:\"style\"},zorder:jh.zorder}});var IH=ye((Slr,A2e)=>{\"use strict\";var LH=p4(),PH=Mr().extendFlat;A2e.exports={violinmode:PH({},LH.boxmode,{}),violingap:PH({},LH.boxgap,{}),violingroupgap:PH({},LH.boxgroupgap,{})}});var C2e=ye((Mlr,k2e)=>{\"use strict\";var S2e=Mr(),Pbt=va(),M2e=m4(),E2e=CH();k2e.exports=function(t,r,n,i){function a(L,_){return S2e.coerce(t,r,E2e,L,_)}function o(L,_){return S2e.coerce2(t,r,E2e,L,_)}if(M2e.handleSampleDefaults(t,r,a,i),r.visible!==!1){a(\"bandwidth\"),a(\"side\");var s=a(\"width\");s||(a(\"scalegroup\",r.name),a(\"scalemode\"));var l=a(\"span\"),u;Array.isArray(l)&&(u=\"manual\"),a(\"spanmode\",u);var c=a(\"line.color\",(t.marker||{}).color||n),f=a(\"line.width\"),h=a(\"fillcolor\",Pbt.addOpacity(r.line.color,.5));M2e.handlePointsDefaults(t,r,a,{prefix:\"\"});var d=o(\"box.width\"),v=o(\"box.fillcolor\",h),x=o(\"box.line.color\",c),b=o(\"box.line.width\",f),p=a(\"box.visible\",!!(d||v||x||b));p||(r.box={visible:!1});var E=o(\"meanline.color\",c),k=o(\"meanline.width\",f),A=a(\"meanline.visible\",!!(E||k));A||(r.meanline={visible:!1}),a(\"quartilemethod\"),a(\"zorder\")}}});var P2e=ye((Elr,L2e)=>{\"use strict\";var Ibt=Mr(),Rbt=IH(),Dbt=VI();L2e.exports=function(t,r,n){function i(a,o){return Ibt.coerce(t,r,Rbt,a,o)}Dbt._supply(t,r,n,i,\"violin\")}});var P8=ye(o2=>{\"use strict\";var zbt=Mr(),Fbt={gaussian:function(e){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*e*e)}};o2.makeKDE=function(e,t,r){var n=r.length,i=Fbt.gaussian,a=e.bandwidth,o=1/(n*a);return function(s){for(var l=0,u=0;u<n;u++)l+=i((s-r[u])/a);return o*l}};o2.getPositionOnKdePath=function(e,t,r){var n,i;t.orientation===\"h\"?(n=\"y\",i=\"x\"):(n=\"x\",i=\"y\");var a=zbt.findPointOnPath(e.path,r,i,{pathLength:e.pathLength}),o=e.posCenterPx,s=a[n],l=t.side===\"both\"?2*o-s:o;return[s,l]};o2.getKdeValue=function(e,t,r){var n=e.pts.map(o2.extractVal),i=o2.makeKDE(e,t,n);return i(r)/e.posDensityScale};o2.extractVal=function(e){return e.v}});var D2e=ye((Clr,R2e)=>{\"use strict\";var RH=Mr(),DH=Qa(),qbt=MV(),I2e=P8(),Obt=es().BADNUM;R2e.exports=function(t,r){var n=qbt(t,r);if(n[0].t.empty)return n;for(var i=t._fullLayout,a=DH.getFromId(t,r[r.orientation===\"h\"?\"xaxis\":\"yaxis\"]),o=1/0,s=-1/0,l=0,u=0,c=0;c<n.length;c++){var f=n[c],h=f.pts.map(I2e.extractVal),d=f.bandwidth=Nbt(r,f,h),v=f.span=Ubt(r,f,a,d);if(f.min===f.max&&d===0)v=f.span=[f.min,f.max],f.density=[{v:1,t:v[0]}],f.bandwidth=d,l=Math.max(l,1);else{var x=v[1]-v[0],b=Math.ceil(x/(d/3)),p=x/b;if(!isFinite(p)||!isFinite(b))return RH.error(\"Something went wrong with computing the violin span\"),n[0].t.empty=!0,n;var E=I2e.makeKDE(f,r,h);f.density=new Array(b);for(var k=0,A=v[0];A<v[1]+p/2;k++,A+=p){var L=E(A);f.density[k]={v:L,t:A},l=Math.max(l,L)}}u=Math.max(u,h.length),o=Math.min(o,v[0]),s=Math.max(s,v[1])}var _=DH.findExtremes(a,[o,s],{padded:!0});if(r._extremes[a._id]=_,r.width)n[0].t.maxKDE=l;else{var C=i._violinScaleGroupStats,M=r.scalegroup,g=C[M];g?(g.maxKDE=Math.max(g.maxKDE,l),g.maxCount=Math.max(g.maxCount,u)):C[M]={maxKDE:l,maxCount:u}}return n[0].t.labels.kde=RH._(t,\"kde:\"),n};function Bbt(e,t,r){var n=Math.min(t,r/1.349);return 1.059*n*Math.pow(e,-.2)}function Nbt(e,t,r){var n=t.max-t.min;if(!n)return e.bandwidth?e.bandwidth:0;if(e.bandwidth)return Math.max(e.bandwidth,n/1e4);var i=r.length,a=RH.stdev(r,i-1,t.mean);return Math.max(Bbt(i,a,t.q3-t.q1),n/100)}function Ubt(e,t,r,n){var i=e.spanmode,a=e.span||[],o=[t.min,t.max],s=[t.min-2*n,t.max+2*n],l;function u(f){var h=a[f],d=r.type===\"multicategory\"?r.r2c(h):r.d2c(h,0,e[t.valLetter+\"calendar\"]);return d===Obt?s[f]:d}i===\"soft\"?l=s:i===\"hard\"?l=o:l=[u(0),u(1)];var c={type:\"linear\",range:l};return DH.setConvert(c),c.cleanRange(),l}});var q2e=ye((Llr,F2e)=>{\"use strict\";var Vbt=GI().setPositionOffset,z2e=[\"v\",\"h\"];F2e.exports=function(t,r){for(var n=t.calcdata,i=r.xaxis,a=r.yaxis,o=0;o<z2e.length;o++){for(var s=z2e[o],l=s===\"h\"?a:i,u=[],c=0;c<n.length;c++){var f=n[c],h=f[0].t,d=f[0].trace;d.visible===!0&&d.type===\"violin\"&&!h.empty&&d.orientation===s&&d.xaxis===i._id&&d.yaxis===a._id&&u.push(c)}Vbt(\"violin\",t,u,l)}}});var B2e=ye((Plr,O2e)=>{\"use strict\";var zH=xa(),FH=Mr(),Hbt=ao(),qH=jI(),Gbt=fU(),jbt=P8();O2e.exports=function(t,r,n,i){var a=t._context.staticPlot,o=t._fullLayout,s=r.xaxis,l=r.yaxis;function u(c,f){var h=Gbt(c,{xaxis:s,yaxis:l,trace:f,connectGaps:!0,baseTolerance:.75,shape:\"spline\",simplify:!0,linearized:!0});return Hbt.smoothopen(h[0],1)}FH.makeTraceGroups(i,n,\"trace violins\").each(function(c){var f=zH.select(this),h=c[0],d=h.t,v=h.trace;if(v.visible!==!0||d.empty){f.remove();return}var x=d.bPos,b=d.bdPos,p=r[d.valLetter+\"axis\"],E=r[d.posLetter+\"axis\"],k=v.side===\"both\",A=k||v.side===\"positive\",L=k||v.side===\"negative\",_=f.selectAll(\"path.violin\").data(FH.identity);_.enter().append(\"path\").style(\"vector-effect\",a?\"none\":\"non-scaling-stroke\").attr(\"class\",\"violin\"),_.exit().remove(),_.each(function(V){var H=zH.select(this),X=V.density,G=X.length,N=E.c2l(V.pos+x,!0),W=E.l2p(N),re;if(v.width)re=d.maxKDE/b;else{var ae=o._violinScaleGroupStats[v.scalegroup];re=v.scalemode===\"count\"?ae.maxKDE/b*(ae.maxCount/V.pts.length):ae.maxKDE/b}var _e,Me,ke,ge,ie,Te,Ee;if(A){for(Te=new Array(G),ge=0;ge<G;ge++)Ee=Te[ge]={},Ee[d.posLetter]=N+X[ge].v/re,Ee[d.valLetter]=p.c2l(X[ge].t,!0);_e=u(Te,v)}if(L){for(Te=new Array(G),ie=0,ge=G-1;ie<G;ie++,ge--)Ee=Te[ie]={},Ee[d.posLetter]=N-X[ge].v/re,Ee[d.valLetter]=p.c2l(X[ge].t,!0);Me=u(Te,v)}if(k)ke=_e+\"L\"+Me.substr(1)+\"Z\";else{var Ae=[W,p.c2p(X[0].t)],ze=[W,p.c2p(X[G-1].t)];v.orientation===\"h\"&&(Ae.reverse(),ze.reverse()),A?ke=\"M\"+Ae+\"L\"+_e.substr(1)+\"L\"+ze:ke=\"M\"+ze+\"L\"+Me.substr(1)+\"L\"+Ae}H.attr(\"d\",ke),V.posCenterPx=W,V.posDensityScale=re*b,V.path=H.node(),V.pathLength=V.path.getTotalLength()/(k?2:1)});var C=v.box,M=C.width,g=(C.line||{}).width,P,T;k?(P=b*M,T=0):A?(P=[0,b*M/2],T=g*{x:1,y:-1}[d.posLetter]):(P=[b*M/2,0],T=g*{x:-1,y:1}[d.posLetter]),qH.plotBoxAndWhiskers(f,{pos:E,val:p},v,{bPos:x,bdPos:P,bPosPxOffset:T}),qH.plotBoxMean(f,{pos:E,val:p},v,{bPos:x,bdPos:P,bPosPxOffset:T});var F;!v.box.visible&&v.meanline.visible&&(F=FH.identity);var q=f.selectAll(\"path.meanline\").data(F||[]);q.enter().append(\"path\").attr(\"class\",\"meanline\").style(\"fill\",\"none\").style(\"vector-effect\",a?\"none\":\"non-scaling-stroke\"),q.exit().remove(),q.each(function(V){var H=p.c2p(V.mean,!0),X=jbt.getPositionOnKdePath(V,v,H);zH.select(this).attr(\"d\",v.orientation===\"h\"?\"M\"+H+\",\"+X[0]+\"V\"+X[1]:\"M\"+X[0]+\",\"+H+\"H\"+X[1])}),qH.plotPoints(f,{x:s,y:l},v,d)})}});var V2e=ye((Ilr,U2e)=>{\"use strict\";var N2e=xa(),NT=va(),Wbt=op().stylePoints;U2e.exports=function(t){var r=N2e.select(t).selectAll(\"g.trace.violins\");r.style(\"opacity\",function(n){return n[0].trace.opacity}),r.each(function(n){var i=n[0].trace,a=N2e.select(this),o=i.box||{},s=o.line||{},l=i.meanline||{},u=l.width;a.selectAll(\"path.violin\").style(\"stroke-width\",i.line.width+\"px\").call(NT.stroke,i.line.color).call(NT.fill,i.fillcolor),a.selectAll(\"path.box\").style(\"stroke-width\",s.width+\"px\").call(NT.stroke,s.color).call(NT.fill,o.fillcolor);var c={\"stroke-width\":u+\"px\",\"stroke-dasharray\":2*u+\"px,\"+u+\"px\"};a.selectAll(\"path.mean\").style(c).call(NT.stroke,l.color),a.selectAll(\"path.meanline\").style(c).call(NT.stroke,l.color),Wbt(a,i,t)})}});var W2e=ye((Rlr,j2e)=>{\"use strict\";var Zbt=va(),OH=Mr(),Xbt=Qa(),H2e=PV(),G2e=P8();j2e.exports=function(t,r,n,i,a){a||(a={});var o=a.hoverLayer,s=t.cd,l=s[0].trace,u=l.hoveron,c=u.indexOf(\"violins\")!==-1,f=u.indexOf(\"kde\")!==-1,h=[],d,v;if(c||f){var x=H2e.hoverOnBoxes(t,r,n,i);if(f&&x.length>0){var b=t.xa,p=t.ya,E,k,A,L,_;l.orientation===\"h\"?(_=r,E=\"y\",A=p,k=\"x\",L=b):(_=n,E=\"x\",A=b,k=\"y\",L=p);var C=s[t.index];if(_>=C.span[0]&&_<=C.span[1]){var M=OH.extendFlat({},t),g=L.c2p(_,!0),P=G2e.getKdeValue(C,l,_),T=G2e.getPositionOnKdePath(C,l,g),F=A._offset,q=A._length;M[E+\"0\"]=T[0],M[E+\"1\"]=T[1],M[k+\"0\"]=M[k+\"1\"]=g,M[k+\"Label\"]=k+\": \"+Xbt.hoverLabelText(L,_,l[k+\"hoverformat\"])+\", \"+s[0].t.labels.kde+\" \"+P.toFixed(3);for(var V=0,H=0;H<x.length;H++)if(x[H].attr===\"med\"){V=H;break}M.spikeDistance=x[V].spikeDistance;var X=E+\"Spike\";M[X]=x[V][X],x[V].spikeDistance=void 0,x[V][X]=void 0,M.hovertemplate=!1,h.push(M),v={},v[E+\"1\"]=OH.constrain(F+T[0],F,F+q),v[E+\"2\"]=OH.constrain(F+T[1],F,F+q),v[k+\"1\"]=v[k+\"2\"]=L._offset+g}}c&&(h=h.concat(x))}u.indexOf(\"points\")!==-1&&(d=H2e.hoverOnPoints(t,r,n));var G=o.selectAll(\".violinline-\"+l.uid).data(v?[0]:[]);return G.enter().append(\"line\").classed(\"violinline-\"+l.uid,!0).attr(\"stroke-width\",1.5),G.exit().remove(),G.attr(v).call(Zbt.stroke,t.color),i===\"closest\"?d?[d]:h:(d&&h.push(d),h)}});var X2e=ye((Dlr,Z2e)=>{\"use strict\";Z2e.exports={attributes:CH(),layoutAttributes:IH(),supplyDefaults:C2e(),crossTraceDefaults:m4().crossTraceDefaults,supplyLayoutDefaults:P2e(),calc:D2e(),crossTraceCalc:q2e(),plot:B2e(),style:V2e(),styleOnSelect:op().styleOnSelect,hoverPoints:W2e(),selectPoints:IV(),moduleType:\"trace\",name:\"violin\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\",\"violinLayout\",\"zoomScale\"],meta:{}}});var K2e=ye((zlr,Y2e)=>{\"use strict\";Y2e.exports=X2e()});var $2e=ye((Flr,J2e)=>{\"use strict\";J2e.exports={eventDataKeys:[\"percentInitial\",\"percentPrevious\",\"percentTotal\"]}});var NH=ye((qlr,twe)=>{\"use strict\";var lc=Lm(),BH=Uc().line,Ybt=vl(),Q2e=Oc().axisHoverFormat,Kbt=Wo().hovertemplateAttrs,Jbt=Wo().texttemplateAttrs,ewe=$2e(),Ny=no().extendFlat,$bt=va();twe.exports={x:lc.x,x0:lc.x0,dx:lc.dx,y:lc.y,y0:lc.y0,dy:lc.dy,xperiod:lc.xperiod,yperiod:lc.yperiod,xperiod0:lc.xperiod0,yperiod0:lc.yperiod0,xperiodalignment:lc.xperiodalignment,yperiodalignment:lc.yperiodalignment,xhoverformat:Q2e(\"x\"),yhoverformat:Q2e(\"y\"),hovertext:lc.hovertext,hovertemplate:Kbt({},{keys:ewe.eventDataKeys}),hoverinfo:Ny({},Ybt.hoverinfo,{flags:[\"name\",\"x\",\"y\",\"text\",\"percent initial\",\"percent previous\",\"percent total\"]}),textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"percent initial\",\"percent previous\",\"percent total\",\"value\"],extras:[\"none\"],editType:\"plot\",arrayOk:!1},texttemplate:Jbt({editType:\"plot\"},{keys:ewe.eventDataKeys.concat([\"label\",\"value\"])}),text:lc.text,textposition:lc.textposition,insidetextanchor:Ny({},lc.insidetextanchor,{dflt:\"middle\"}),textangle:Ny({},lc.textangle,{dflt:0}),textfont:lc.textfont,insidetextfont:lc.insidetextfont,outsidetextfont:lc.outsidetextfont,constraintext:lc.constraintext,cliponaxis:lc.cliponaxis,orientation:Ny({},lc.orientation,{}),offset:Ny({},lc.offset,{arrayOk:!1}),width:Ny({},lc.width,{arrayOk:!1}),marker:Qbt(),connector:{fillcolor:{valType:\"color\",editType:\"style\"},line:{color:Ny({},BH.color,{dflt:$bt.defaultLine}),width:Ny({},BH.width,{dflt:0,editType:\"plot\"}),dash:BH.dash,editType:\"style\"},visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},offsetgroup:lc.offsetgroup,alignmentgroup:lc.alignmentgroup,zorder:lc.zorder};function Qbt(){var e=Ny({},lc.marker);return delete e.pattern,delete e.cornerradius,e}});var UH=ye((Olr,rwe)=>{\"use strict\";rwe.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\"}}});var HH=ye((Blr,nwe)=>{\"use strict\";var I8=Mr(),e2t=Hb(),t2t=r0().handleText,r2t=K3(),i2t=Pg(),iwe=NH(),VH=va();function n2t(e,t,r,n){function i(f,h){return I8.coerce(e,t,iwe,f,h)}var a=r2t(e,t,n,i);if(!a){t.visible=!1;return}i2t(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\"),i(\"orientation\",t.y&&!t.x?\"v\":\"h\"),i(\"offset\"),i(\"width\");var o=i(\"text\");i(\"hovertext\"),i(\"hovertemplate\");var s=i(\"textposition\");t2t(e,t,n,i,s,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),t.textposition!==\"none\"&&!t.texttemplate&&i(\"textinfo\",I8.isArrayOrTypedArray(o)?\"text+value\":\"value\");var l=i(\"marker.color\",r);i(\"marker.line.color\",VH.defaultLine),i(\"marker.line.width\");var u=i(\"connector.visible\");if(u){i(\"connector.fillcolor\",a2t(l));var c=i(\"connector.line.width\");c&&(i(\"connector.line.color\"),i(\"connector.line.dash\"))}i(\"zorder\")}function a2t(e){var t=I8.isArrayOrTypedArray(e)?\"#000\":e;return VH.addOpacity(t,.5*VH.opacity(t))}function o2t(e,t){var r,n;function i(o){return I8.coerce(n._input,n,iwe,o)}for(var a=0;a<e.length;a++)n=e[a],n.type===\"funnel\"&&(r=n._input,e2t(r,n,t,i,t.funnelmode))}nwe.exports={supplyDefaults:n2t,crossTraceDefaults:o2t}});var owe=ye((Nlr,awe)=>{\"use strict\";var s2t=Mr(),l2t=UH();awe.exports=function(e,t,r){var n=!1;function i(s,l){return s2t.coerce(e,t,l2t,s,l)}for(var a=0;a<r.length;a++){var o=r[a];if(o.visible&&o.type===\"funnel\"){n=!0;break}}n&&(i(\"funnelmode\"),i(\"funnelgap\",.2),i(\"funnelgroupgap\"))}});var lwe=ye((Ulr,swe)=>{\"use strict\";var UT=Mr();swe.exports=function(t,r){for(var n=0;n<t.length;n++)t[n].i=n;UT.mergeArray(r.text,t,\"tx\"),UT.mergeArray(r.hovertext,t,\"htx\");var i=r.marker;if(i){UT.mergeArray(i.opacity,t,\"mo\"),UT.mergeArray(i.color,t,\"mc\");var a=i.line;a&&(UT.mergeArray(a.color,t,\"mlc\"),UT.mergeArrayCastPositive(a.width,t,\"mlw\"))}}});var hwe=ye((Vlr,fwe)=>{\"use strict\";var uwe=Qa(),cwe=Rg(),u2t=lwe(),c2t=F0(),P4=es().BADNUM;fwe.exports=function(t,r){var n=uwe.getFromId(t,r.xaxis||\"x\"),i=uwe.getFromId(t,r.yaxis||\"y\"),a,o,s,l,u,c,f,h;r.orientation===\"h\"?(a=n.makeCalcdata(r,\"x\"),s=i.makeCalcdata(r,\"y\"),l=cwe(r,i,\"y\",s),u=!!r.yperiodalignment,c=\"y\"):(a=i.makeCalcdata(r,\"y\"),s=n.makeCalcdata(r,\"x\"),l=cwe(r,n,\"x\",s),u=!!r.xperiodalignment,c=\"x\"),o=l.vals;var d=Math.min(o.length,a.length),v=new Array(d);for(r._base=[],f=0;f<d;f++){a[f]<0&&(a[f]=P4);var x=!1;a[f]!==P4&&f+1<d&&a[f+1]!==P4&&(x=!0),h=v[f]={p:o[f],s:a[f],cNext:x},r._base[f]=-.5*h.s,u&&(v[f].orig_p=s[f],v[f][c+\"End\"]=l.ends[f],v[f][c+\"Start\"]=l.starts[f]),r.ids&&(h.id=String(r.ids[f])),f===0&&(v[0].vTotal=0),v[0].vTotal+=GH(h.s),h.begR=GH(h.s)/GH(v[0].s)}var b;for(f=0;f<d;f++)h=v[f],h.s!==P4&&(h.sumR=h.s/v[0].vTotal,h.difR=b!==void 0?h.s/b:1,b=h.s);return u2t(v,r),c2t(v,r),v};function GH(e){return e===P4?0:e}});var pwe=ye((Hlr,vwe)=>{\"use strict\";var dwe=Gb().setGroupPositions;vwe.exports=function(t,r){var n=t._fullLayout,i=t._fullData,a=t.calcdata,o=r.xaxis,s=r.yaxis,l=[],u=[],c=[],f,h;for(h=0;h<i.length;h++){var d=i[h],v=d.orientation===\"h\";d.visible===!0&&d.xaxis===o._id&&d.yaxis===s._id&&d.type===\"funnel\"&&(f=a[h],v?c.push(f):u.push(f),l.push(f))}var x={mode:n.funnelmode,norm:n.funnelnorm,gap:n.funnelgap,groupgap:n.funnelgroupgap};for(dwe(t,o,s,u,x),dwe(t,s,o,c,x),h=0;h<l.length;h++){f=l[h];for(var b=0;b<f.length;b++)b+1<f.length&&(f[b].nextP0=f[b+1].p0,f[b].nextS0=f[b+1].s0,f[b].nextP1=f[b+1].p1,f[b].nextS1=f[b+1].s1)}}});var _we=ye((Glr,ywe)=>{\"use strict\";var R8=xa(),P_=Mr(),gwe=ao(),L_=es().BADNUM,f2t=i2(),h2t=_v().clearMinTextSize;ywe.exports=function(t,r,n,i){var a=t._fullLayout;h2t(\"funnel\",a),d2t(t,r,n,i),v2t(t,r,n,i),f2t.plot(t,r,n,i,{mode:a.funnelmode,norm:a.funnelmode,gap:a.funnelgap,groupgap:a.funnelgroupgap})};function d2t(e,t,r,n){var i=t.xaxis,a=t.yaxis;P_.makeTraceGroups(n,r,\"trace bars\").each(function(o){var s=R8.select(this),l=o[0].trace,u=P_.ensureSingle(s,\"g\",\"regions\");if(!l.connector||!l.connector.visible){u.remove();return}var c=l.orientation===\"h\",f=u.selectAll(\"g.region\").data(P_.identity);f.enter().append(\"g\").classed(\"region\",!0),f.exit().remove();var h=f.size();f.each(function(d,v){if(!(v!==h-1&&!d.cNext)){var x=mwe(d,i,a,c),b=x[0],p=x[1],E=\"\";b[0]!==L_&&p[0]!==L_&&b[1]!==L_&&p[1]!==L_&&b[2]!==L_&&p[2]!==L_&&b[3]!==L_&&p[3]!==L_&&(c?E+=\"M\"+b[0]+\",\"+p[1]+\"L\"+b[2]+\",\"+p[2]+\"H\"+b[3]+\"L\"+b[1]+\",\"+p[1]+\"Z\":E+=\"M\"+b[1]+\",\"+p[1]+\"L\"+b[2]+\",\"+p[3]+\"V\"+p[2]+\"L\"+b[1]+\",\"+p[0]+\"Z\"),E===\"\"&&(E=\"M0,0Z\"),P_.ensureSingle(R8.select(this),\"path\").attr(\"d\",E).call(gwe.setClipUrl,t.layerClipId,e)}})})}function v2t(e,t,r,n){var i=t.xaxis,a=t.yaxis;P_.makeTraceGroups(n,r,\"trace bars\").each(function(o){var s=R8.select(this),l=o[0].trace,u=P_.ensureSingle(s,\"g\",\"lines\");if(!l.connector||!l.connector.visible||!l.connector.line.width){u.remove();return}var c=l.orientation===\"h\",f=u.selectAll(\"g.line\").data(P_.identity);f.enter().append(\"g\").classed(\"line\",!0),f.exit().remove();var h=f.size();f.each(function(d,v){if(!(v!==h-1&&!d.cNext)){var x=mwe(d,i,a,c),b=x[0],p=x[1],E=\"\";b[3]!==void 0&&p[3]!==void 0&&(c?(E+=\"M\"+b[0]+\",\"+p[1]+\"L\"+b[2]+\",\"+p[2],E+=\"M\"+b[1]+\",\"+p[1]+\"L\"+b[3]+\",\"+p[2]):(E+=\"M\"+b[1]+\",\"+p[1]+\"L\"+b[2]+\",\"+p[3],E+=\"M\"+b[1]+\",\"+p[0]+\"L\"+b[2]+\",\"+p[2])),E===\"\"&&(E=\"M0,0Z\"),P_.ensureSingle(R8.select(this),\"path\").attr(\"d\",E).call(gwe.setClipUrl,t.layerClipId,e)}})})}function mwe(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),i[2]=o.c2p(e.nextS0,!0),a[2]=s.c2p(e.nextP0,!0),i[3]=o.c2p(e.nextS1,!0),a[3]=s.c2p(e.nextP1,!0),n?[i,a]:[a,i]}});var wwe=ye((jlr,bwe)=>{\"use strict\";var I4=xa(),xwe=ao(),jH=va(),p2t=U1().DESELECTDIM,g2t=N0(),m2t=_v().resizeText,y2t=g2t.styleTextPoints;function _2t(e,t,r){var n=r||I4.select(e).selectAll('g[class^=\"funnellayer\"]').selectAll(\"g.trace\");m2t(e,n,\"funnel\"),n.style(\"opacity\",function(i){return i[0].trace.opacity}),n.each(function(i){var a=I4.select(this),o=i[0].trace;a.selectAll(\".point > path\").each(function(s){if(!s.isBlank){var l=o.marker;I4.select(this).call(jH.fill,s.mc||l.color).call(jH.stroke,s.mlc||l.line.color).call(xwe.dashLine,l.line.dash,s.mlw||l.line.width).style(\"opacity\",o.selectedpoints&&!s.selected?p2t:1)}}),y2t(a,o,e),a.selectAll(\".regions\").each(function(){I4.select(this).selectAll(\"path\").style(\"stroke-width\",0).call(jH.fill,o.connector.fillcolor)}),a.selectAll(\".lines\").each(function(){var s=o.connector.line;xwe.lineGroupStyle(I4.select(this).selectAll(\"path\"),s.width,s.color,s.dash)})})}bwe.exports={style:_2t}});var Swe=ye((Wlr,Awe)=>{\"use strict\";var Twe=va().opacity,x2t=TT().hoverOnBars,WH=Mr().formatPercent;Awe.exports=function(t,r,n,i,a){var o=x2t(t,r,n,i,a);if(o){var s=o.cd,l=s[0].trace,u=l.orientation===\"h\",c=o.index,f=s[c],h=u?\"x\":\"y\";o[h+\"LabelVal\"]=f.s,o.percentInitial=f.begR,o.percentInitialLabel=WH(f.begR,1),o.percentPrevious=f.difR,o.percentPreviousLabel=WH(f.difR,1),o.percentTotal=f.sumR,o.percentTotalLabel=WH(f.sumR,1);var d=f.hi||l.hoverinfo,v=[];if(d&&d!==\"none\"&&d!==\"skip\"){var x=d===\"all\",b=d.split(\"+\"),p=function(E){return x||b.indexOf(E)!==-1};p(\"percent initial\")&&v.push(o.percentInitialLabel+\" of initial\"),p(\"percent previous\")&&v.push(o.percentPreviousLabel+\" of previous\"),p(\"percent total\")&&v.push(o.percentTotalLabel+\" of total\")}return o.extraText=v.join(\"<br>\"),o.color=b2t(l,f),[o]}};function b2t(e,t){var r=e.marker,n=t.mc||r.color,i=t.mlc||r.line.color,a=t.mlw||r.line.width;if(Twe(n))return n;if(Twe(i)&&a)return i}});var Ewe=ye((Zlr,Mwe)=>{\"use strict\";Mwe.exports=function(t,r){return t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,\"percentInitial\"in r&&(t.percentInitial=r.percentInitial),\"percentPrevious\"in r&&(t.percentPrevious=r.percentPrevious),\"percentTotal\"in r&&(t.percentTotal=r.percentTotal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var Cwe=ye((Xlr,kwe)=>{\"use strict\";kwe.exports={attributes:NH(),layoutAttributes:UH(),supplyDefaults:HH().supplyDefaults,crossTraceDefaults:HH().crossTraceDefaults,supplyLayoutDefaults:owe(),calc:hwe(),crossTraceCalc:pwe(),plot:_we(),style:wwe().style,hoverPoints:Swe(),eventData:Ewe(),selectPoints:AT(),moduleType:\"trace\",name:\"funnel\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}});var Pwe=ye((Ylr,Lwe)=>{\"use strict\";Lwe.exports=Cwe()});var Rwe=ye((Klr,Iwe)=>{\"use strict\";Iwe.exports={eventDataKeys:[\"initial\",\"delta\",\"final\"]}});var YH=ye((Jlr,Fwe)=>{\"use strict\";var Uu=Lm(),ZH=Uc().line,w2t=vl(),Dwe=Oc().axisHoverFormat,T2t=Wo().hovertemplateAttrs,A2t=Wo().texttemplateAttrs,zwe=Rwe(),VT=no().extendFlat,S2t=va();function XH(e){return{marker:{color:VT({},Uu.marker.color,{arrayOk:!1,editType:\"style\"}),line:{color:VT({},Uu.marker.line.color,{arrayOk:!1,editType:\"style\"}),width:VT({},Uu.marker.line.width,{arrayOk:!1,editType:\"style\"}),editType:\"style\"},editType:\"style\"},editType:\"style\"}}Fwe.exports={measure:{valType:\"data_array\",dflt:[],editType:\"calc\"},base:{valType:\"number\",dflt:null,arrayOk:!1,editType:\"calc\"},x:Uu.x,x0:Uu.x0,dx:Uu.dx,y:Uu.y,y0:Uu.y0,dy:Uu.dy,xperiod:Uu.xperiod,yperiod:Uu.yperiod,xperiod0:Uu.xperiod0,yperiod0:Uu.yperiod0,xperiodalignment:Uu.xperiodalignment,yperiodalignment:Uu.yperiodalignment,xhoverformat:Dwe(\"x\"),yhoverformat:Dwe(\"y\"),hovertext:Uu.hovertext,hovertemplate:T2t({},{keys:zwe.eventDataKeys}),hoverinfo:VT({},w2t.hoverinfo,{flags:[\"name\",\"x\",\"y\",\"text\",\"initial\",\"delta\",\"final\"]}),textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"initial\",\"delta\",\"final\"],extras:[\"none\"],editType:\"plot\",arrayOk:!1},texttemplate:A2t({editType:\"plot\"},{keys:zwe.eventDataKeys.concat([\"label\"])}),text:Uu.text,textposition:Uu.textposition,insidetextanchor:Uu.insidetextanchor,textangle:Uu.textangle,textfont:Uu.textfont,insidetextfont:Uu.insidetextfont,outsidetextfont:Uu.outsidetextfont,constraintext:Uu.constraintext,cliponaxis:Uu.cliponaxis,orientation:Uu.orientation,offset:Uu.offset,width:Uu.width,increasing:XH(\"increasing\"),decreasing:XH(\"decreasing\"),totals:XH(\"intermediate sums and total\"),connector:{line:{color:VT({},ZH.color,{dflt:S2t.defaultLine}),width:VT({},ZH.width,{editType:\"plot\"}),dash:ZH.dash,editType:\"plot\"},mode:{valType:\"enumerated\",values:[\"spanning\",\"between\"],dflt:\"between\",editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},offsetgroup:Uu.offsetgroup,alignmentgroup:Uu.alignmentgroup,zorder:Uu.zorder}});var KH=ye(($lr,qwe)=>{\"use strict\";qwe.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\"}}});var HT=ye((Qlr,Owe)=>{\"use strict\";Owe.exports={INCREASING:{COLOR:\"#3D9970\",SYMBOL:\"\\u25B2\"},DECREASING:{COLOR:\"#FF4136\",SYMBOL:\"\\u25BC\"}}});var $H=ye((eur,Vwe)=>{\"use strict\";var Bwe=Mr(),M2t=Hb(),E2t=r0().handleText,k2t=K3(),C2t=Pg(),Nwe=YH(),L2t=va(),Uwe=HT(),P2t=Uwe.INCREASING.COLOR,I2t=Uwe.DECREASING.COLOR,R2t=\"#4499FF\";function JH(e,t,r){e(t+\".marker.color\",r),e(t+\".marker.line.color\",L2t.defaultLine),e(t+\".marker.line.width\")}function D2t(e,t,r,n){function i(u,c){return Bwe.coerce(e,t,Nwe,u,c)}var a=k2t(e,t,n,i);if(!a){t.visible=!1;return}C2t(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\"),i(\"measure\"),i(\"orientation\",t.x&&!t.y?\"h\":\"v\"),i(\"base\"),i(\"offset\"),i(\"width\"),i(\"text\"),i(\"hovertext\"),i(\"hovertemplate\");var o=i(\"textposition\");E2t(e,t,n,i,o,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),t.textposition!==\"none\"&&(i(\"texttemplate\"),t.texttemplate||i(\"textinfo\")),JH(i,\"increasing\",P2t),JH(i,\"decreasing\",I2t),JH(i,\"totals\",R2t);var s=i(\"connector.visible\");if(s){i(\"connector.mode\");var l=i(\"connector.line.width\");l&&(i(\"connector.line.color\"),i(\"connector.line.dash\"))}i(\"zorder\")}function z2t(e,t){var r,n;function i(o){return Bwe.coerce(n._input,n,Nwe,o)}if(t.waterfallmode===\"group\")for(var a=0;a<e.length;a++)n=e[a],r=n._input,M2t(r,n,t,i,t.waterfallmode)}Vwe.exports={supplyDefaults:D2t,crossTraceDefaults:z2t}});var Gwe=ye((tur,Hwe)=>{\"use strict\";var F2t=Mr(),q2t=KH();Hwe.exports=function(e,t,r){var n=!1;function i(s,l){return F2t.coerce(e,t,q2t,s,l)}for(var a=0;a<r.length;a++){var o=r[a];if(o.visible&&o.type===\"waterfall\"){n=!0;break}}n&&(i(\"waterfallmode\"),i(\"waterfallgap\",.2),i(\"waterfallgroupgap\"))}});var Kwe=ye((rur,Ywe)=>{\"use strict\";var jwe=Qa(),Wwe=Rg(),Zwe=Mr().mergeArray,O2t=F0(),Xwe=es().BADNUM;function QH(e){return e===\"a\"||e===\"absolute\"}function eG(e){return e===\"t\"||e===\"total\"}Ywe.exports=function(t,r){var n=jwe.getFromId(t,r.xaxis||\"x\"),i=jwe.getFromId(t,r.yaxis||\"y\"),a,o,s,l,u,c;r.orientation===\"h\"?(a=n.makeCalcdata(r,\"x\"),s=i.makeCalcdata(r,\"y\"),l=Wwe(r,i,\"y\",s),u=!!r.yperiodalignment,c=\"y\"):(a=i.makeCalcdata(r,\"y\"),s=n.makeCalcdata(r,\"x\"),l=Wwe(r,n,\"x\",s),u=!!r.xperiodalignment,c=\"x\"),o=l.vals;for(var f=Math.min(o.length,a.length),h=new Array(f),d=0,v,x=!1,b=0;b<f;b++){var p=a[b]||0,E=!1;(a[b]!==Xwe||eG(r.measure[b])||QH(r.measure[b]))&&b+1<f&&(a[b+1]!==Xwe||eG(r.measure[b+1])||QH(r.measure[b+1]))&&(E=!0);var k=h[b]={i:b,p:o[b],s:p,rawS:p,cNext:E};QH(r.measure[b])?(d=k.s,k.isSum=!0,k.dir=\"totals\",k.s=d):eG(r.measure[b])?(k.isSum=!0,k.dir=\"totals\",k.s=d):(k.isSum=!1,k.dir=k.rawS<0?\"decreasing\":\"increasing\",v=k.s,k.s=d+v,d+=v),k.dir===\"totals\"&&(x=!0),u&&(h[b].orig_p=s[b],h[b][c+\"End\"]=l.ends[b],h[b][c+\"Start\"]=l.starts[b]),r.ids&&(k.id=String(r.ids[b])),k.v=(r.base||0)+d}return h.length&&(h[0].hasTotals=x),Zwe(r.text,h,\"tx\"),Zwe(r.hovertext,h,\"htx\"),O2t(h,r),h}});var Qwe=ye((iur,$we)=>{\"use strict\";var Jwe=Gb().setGroupPositions;$we.exports=function(t,r){var n=t._fullLayout,i=t._fullData,a=t.calcdata,o=r.xaxis,s=r.yaxis,l=[],u=[],c=[],f,h;for(h=0;h<i.length;h++){var d=i[h];d.visible===!0&&d.xaxis===o._id&&d.yaxis===s._id&&d.type===\"waterfall\"&&(f=a[h],d.orientation===\"h\"?c.push(f):u.push(f),l.push(f))}var v={mode:n.waterfallmode,norm:n.waterfallnorm,gap:n.waterfallgap,groupgap:n.waterfallgroupgap};for(Jwe(t,o,s,u,v),Jwe(t,s,o,c,v),h=0;h<l.length;h++){f=l[h];for(var x=0;x<f.length;x++){var b=f[x];b.isSum===!1&&(b.s0+=x===0?0:f[x-1].s),x+1<f.length&&(f[x].nextP0=f[x+1].p0,f[x].nextS0=f[x+1].s0)}}}});var r3e=ye((nur,t3e)=>{\"use strict\";var e3e=xa(),D8=Mr(),B2t=ao(),GT=es().BADNUM,N2t=i2(),U2t=_v().clearMinTextSize;t3e.exports=function(t,r,n,i){var a=t._fullLayout;U2t(\"waterfall\",a),N2t.plot(t,r,n,i,{mode:a.waterfallmode,norm:a.waterfallmode,gap:a.waterfallgap,groupgap:a.waterfallgroupgap}),V2t(t,r,n,i)};function V2t(e,t,r,n){var i=t.xaxis,a=t.yaxis;D8.makeTraceGroups(n,r,\"trace bars\").each(function(o){var s=e3e.select(this),l=o[0].trace,u=D8.ensureSingle(s,\"g\",\"lines\");if(!l.connector||!l.connector.visible){u.remove();return}var c=l.orientation===\"h\",f=l.connector.mode,h=u.selectAll(\"g.line\").data(D8.identity);h.enter().append(\"g\").classed(\"line\",!0),h.exit().remove();var d=h.size();h.each(function(v,x){if(!(x!==d-1&&!v.cNext)){var b=H2t(v,i,a,c),p=b[0],E=b[1],k=\"\";p[0]!==GT&&E[0]!==GT&&p[1]!==GT&&E[1]!==GT&&(f===\"spanning\"&&!v.isSum&&x>0&&(c?k+=\"M\"+p[0]+\",\"+E[1]+\"V\"+E[0]:k+=\"M\"+p[1]+\",\"+E[0]+\"H\"+p[0]),f!==\"between\"&&(v.isSum||x<d-1)&&(c?k+=\"M\"+p[1]+\",\"+E[0]+\"V\"+E[1]:k+=\"M\"+p[0]+\",\"+E[1]+\"H\"+p[1]),p[2]!==GT&&E[2]!==GT&&(c?k+=\"M\"+p[1]+\",\"+E[1]+\"V\"+E[2]:k+=\"M\"+p[1]+\",\"+E[1]+\"H\"+p[2])),k===\"\"&&(k=\"M0,0Z\"),D8.ensureSingle(e3e.select(this),\"path\").attr(\"d\",k).call(B2t.setClipUrl,t.layerClipId,e)}})})}function H2t(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),i[2]=o.c2p(e.nextS0,!0),a[2]=s.c2p(e.nextP0,!0),n?[i,a]:[a,i]}});var o3e=ye((aur,a3e)=>{\"use strict\";var z8=xa(),i3e=ao(),n3e=va(),G2t=U1().DESELECTDIM,j2t=N0(),W2t=_v().resizeText,Z2t=j2t.styleTextPoints;function X2t(e,t,r){var n=r||z8.select(e).selectAll('g[class^=\"waterfalllayer\"]').selectAll(\"g.trace\");W2t(e,n,\"waterfall\"),n.style(\"opacity\",function(i){return i[0].trace.opacity}),n.each(function(i){var a=z8.select(this),o=i[0].trace;a.selectAll(\".point > path\").each(function(s){if(!s.isBlank){var l=o[s.dir].marker;z8.select(this).call(n3e.fill,l.color).call(n3e.stroke,l.line.color).call(i3e.dashLine,l.line.dash,l.line.width).style(\"opacity\",o.selectedpoints&&!s.selected?G2t:1)}}),Z2t(a,o,e),a.selectAll(\".lines\").each(function(){var s=o.connector.line;i3e.lineGroupStyle(z8.select(this).selectAll(\"path\"),s.width,s.color,s.dash)})})}a3e.exports={style:X2t}});var f3e=ye((our,c3e)=>{\"use strict\";var Y2t=Qa().hoverLabelText,s3e=va().opacity,K2t=TT().hoverOnBars,l3e=HT(),u3e={increasing:l3e.INCREASING.SYMBOL,decreasing:l3e.DECREASING.SYMBOL};c3e.exports=function(t,r,n,i,a){var o=K2t(t,r,n,i,a);if(!o)return;var s=o.cd,l=s[0].trace,u=l.orientation===\"h\",c=u?\"x\":\"y\",f=u?t.xa:t.ya;function h(_){return Y2t(f,_,l[c+\"hoverformat\"])}var d=o.index,v=s[d],x=v.isSum?v.b+v.s:v.rawS;o.initial=v.b+v.s-x,o.delta=x,o.final=o.initial+o.delta;var b=h(Math.abs(o.delta));o.deltaLabel=x<0?\"(\"+b+\")\":b,o.finalLabel=h(o.final),o.initialLabel=h(o.initial);var p=v.hi||l.hoverinfo,E=[];if(p&&p!==\"none\"&&p!==\"skip\"){var k=p===\"all\",A=p.split(\"+\"),L=function(_){return k||A.indexOf(_)!==-1};v.isSum||(L(\"final\")&&(u?!L(\"x\"):!L(\"y\"))&&E.push(o.finalLabel),L(\"delta\")&&(x<0?E.push(o.deltaLabel+\" \"+u3e.decreasing):E.push(o.deltaLabel+\" \"+u3e.increasing)),L(\"initial\")&&E.push(\"Initial: \"+o.initialLabel))}return E.length&&(o.extraText=E.join(\"<br>\")),o.color=J2t(l,v),[o]};function J2t(e,t){var r=e[t.dir].marker,n=r.color,i=r.line.color,a=r.line.width;if(s3e(n))return n;if(s3e(i)&&a)return i}});var d3e=ye((sur,h3e)=>{\"use strict\";h3e.exports=function(t,r){return t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,\"initial\"in r&&(t.initial=r.initial),\"delta\"in r&&(t.delta=r.delta),\"final\"in r&&(t.final=r.final),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var p3e=ye((lur,v3e)=>{\"use strict\";v3e.exports={attributes:YH(),layoutAttributes:KH(),supplyDefaults:$H().supplyDefaults,crossTraceDefaults:$H().crossTraceDefaults,supplyLayoutDefaults:Gwe(),calc:Kwe(),crossTraceCalc:Qwe(),plot:r3e(),style:o3e().style,hoverPoints:f3e(),eventData:d3e(),selectPoints:AT(),moduleType:\"trace\",name:\"waterfall\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}});var m3e=ye((uur,g3e)=>{\"use strict\";g3e.exports=p3e()});var jT=ye((cur,y3e)=>{\"use strict\";y3e.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(e){return e.slice(0,3)},suffix:[\"\",\"\",\"\"]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.slice(0,4)},suffix:[\"\",\"\",\"\",\"\"]},rgba256:{colormodel:\"rgba\",zminDflt:[0,0,0,0],zmaxDflt:[255,255,255,255],min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.slice(0,4)},suffix:[\"\",\"\",\"\",\"\"]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(e){var t=e.slice(0,3);return t[1]=t[1]+\"%\",t[2]=t[2]+\"%\",t},suffix:[\"\\xB0\",\"%\",\"%\"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(e){var t=e.slice(0,4);return t[1]=t[1]+\"%\",t[2]=t[2]+\"%\",t},suffix:[\"\\xB0\",\"%\",\"%\",\"\"]}}}});var tG=ye((fur,x3e)=>{\"use strict\";var $2t=vl(),Q2t=Uc().zorder,ewt=Wo().hovertemplateAttrs,_3e=no().extendFlat,twt=jT().colormodel,D4=[\"rgb\",\"rgba\",\"rgba256\",\"hsl\",\"hsla\"],rwt=[],iwt=[];for(WT=0;WT<D4.length;WT++)R4=twt[D4[WT]],rwt.push(\"For the `\"+D4[WT]+\"` colormodel, it is [\"+(R4.zminDflt||R4.min).join(\", \")+\"].\"),iwt.push(\"For the `\"+D4[WT]+\"` colormodel, it is [\"+(R4.zmaxDflt||R4.max).join(\", \")+\"].\");var R4,WT;x3e.exports=_3e({source:{valType:\"string\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},colormodel:{valType:\"enumerated\",values:D4,editType:\"calc\"},zsmooth:{valType:\"enumerated\",values:[\"fast\",!1],dflt:!1,editType:\"plot\"},zmin:{valType:\"info_array\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},zmax:{valType:\"info_array\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},x0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},y0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dx:{valType:\"number\",dflt:1,editType:\"calc\"},dy:{valType:\"number\",dflt:1,editType:\"calc\"},text:{valType:\"data_array\",editType:\"plot\"},hovertext:{valType:\"data_array\",editType:\"plot\"},hoverinfo:_3e({},$2t.hoverinfo,{flags:[\"x\",\"y\",\"z\",\"color\",\"name\",\"text\"],dflt:\"x+y+z+text+name\"}),hovertemplate:ewt({},{keys:[\"z\",\"color\",\"colormodel\"]}),zorder:Q2t})});var T3e=ye((hur,w3e)=>{\"use strict\";var nwt=Mr(),awt=tG(),b3e=jT(),owt=Ly().IMAGE_URL_PREFIX;w3e.exports=function(t,r){function n(o,s){return nwt.coerce(t,r,awt,o,s)}n(\"source\"),r.source&&!r.source.match(owt)&&delete r.source,r._hasSource=!!r.source;var i=n(\"z\");if(r._hasZ=!(i===void 0||!i.length||!i[0]||!i[0].length),!r._hasZ&&!r._hasSource){r.visible=!1;return}n(\"x0\"),n(\"y0\"),n(\"dx\"),n(\"dy\");var a;r._hasZ?(n(\"colormodel\",\"rgb\"),a=b3e.colormodel[r.colormodel],n(\"zmin\",a.zminDflt||a.min),n(\"zmax\",a.zmaxDflt||a.max)):r._hasSource&&(r.colormodel=\"rgba256\",a=b3e.colormodel[r.colormodel],r.zmin=a.zminDflt,r.zmax=a.zmaxDflt),n(\"zsmooth\"),n(\"text\"),n(\"hovertext\"),n(\"hovertemplate\"),r._length=null,n(\"zorder\")}});var Uy=ye((dur,rG)=>{typeof Object.create==\"function\"?rG.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:rG.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}}});var iG=ye((vur,A3e)=>{A3e.exports=vb().EventEmitter});var E3e=ye(F8=>{\"use strict\";F8.byteLength=lwt;F8.toByteArray=cwt;F8.fromByteArray=dwt;var Fm=[],Z0=[],swt=typeof Uint8Array!=\"undefined\"?Uint8Array:Array,nG=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";for(s2=0,S3e=nG.length;s2<S3e;++s2)Fm[s2]=nG[s2],Z0[nG.charCodeAt(s2)]=s2;var s2,S3e;Z0[45]=62;Z0[95]=63;function M3e(e){var t=e.length;if(t%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=e.indexOf(\"=\");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function lwt(e){var t=M3e(e),r=t[0],n=t[1];return(r+n)*3/4-n}function uwt(e,t,r){return(t+r)*3/4-r}function cwt(e){var t,r=M3e(e),n=r[0],i=r[1],a=new swt(uwt(e,n,i)),o=0,s=i>0?n-4:n,l;for(l=0;l<s;l+=4)t=Z0[e.charCodeAt(l)]<<18|Z0[e.charCodeAt(l+1)]<<12|Z0[e.charCodeAt(l+2)]<<6|Z0[e.charCodeAt(l+3)],a[o++]=t>>16&255,a[o++]=t>>8&255,a[o++]=t&255;return i===2&&(t=Z0[e.charCodeAt(l)]<<2|Z0[e.charCodeAt(l+1)]>>4,a[o++]=t&255),i===1&&(t=Z0[e.charCodeAt(l)]<<10|Z0[e.charCodeAt(l+1)]<<4|Z0[e.charCodeAt(l+2)]>>2,a[o++]=t>>8&255,a[o++]=t&255),a}function fwt(e){return Fm[e>>18&63]+Fm[e>>12&63]+Fm[e>>6&63]+Fm[e&63]}function hwt(e,t,r){for(var n,i=[],a=t;a<r;a+=3)n=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(e[a+2]&255),i.push(fwt(n));return i.join(\"\")}function dwt(e){for(var t,r=e.length,n=r%3,i=[],a=16383,o=0,s=r-n;o<s;o+=a)i.push(hwt(e,o,o+a>s?s:o+a));return n===1?(t=e[r-1],i.push(Fm[t>>2]+Fm[t<<4&63]+\"==\")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(Fm[t>>10]+Fm[t>>4&63]+Fm[t<<2&63]+\"=\")),i.join(\"\")}});var k3e=ye(aG=>{aG.read=function(e,t,r,n,i){var a,o,s=i*8-n-1,l=(1<<s)-1,u=l>>1,c=-7,f=r?i-1:0,h=r?-1:1,d=e[t+f];for(f+=h,a=d&(1<<-c)-1,d>>=-c,c+=s;c>0;a=a*256+e[t+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=o*256+e[t+f],f+=h,c-=8);if(a===0)a=1-u;else{if(a===l)return o?NaN:(d?-1:1)*(1/0);o=o+Math.pow(2,n),a=a-u}return(d?-1:1)*o*Math.pow(2,a-n)};aG.write=function(e,t,r,n,i,a){var o,s,l,u=a*8-i-1,c=(1<<u)-1,f=c>>1,h=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:a-1,v=n?1:-1,x=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+f>=1?t+=h/l:t+=h*Math.pow(2,1-f),t*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(t*l-1)*Math.pow(2,i),o=o+f):(s=t*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;e[r+d]=s&255,d+=v,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;e[r+d]=o&255,d+=v,o/=256,u-=8);e[r+d-v]|=x*128}});var u2=ye(KT=>{\"use strict\";var oG=E3e(),XT=k3e(),C3e=typeof Symbol==\"function\"&&typeof Symbol.for==\"function\"?Symbol.for(\"nodejs.util.inspect.custom\"):null;KT.Buffer=In;KT.SlowBuffer=_wt;KT.INSPECT_MAX_BYTES=50;var q8=2147483647;KT.kMaxLength=q8;In.TYPED_ARRAY_SUPPORT=vwt();!In.TYPED_ARRAY_SUPPORT&&typeof console!=\"undefined\"&&typeof console.error==\"function\"&&console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\");function vwt(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch(e){return!1}}Object.defineProperty(In.prototype,\"parent\",{enumerable:!0,get:function(){if(In.isBuffer(this))return this.buffer}});Object.defineProperty(In.prototype,\"offset\",{enumerable:!0,get:function(){if(In.isBuffer(this))return this.byteOffset}});function Vy(e){if(e>q8)throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,In.prototype),t}function In(e,t,r){if(typeof e==\"number\"){if(typeof t==\"string\")throw new TypeError('The \"string\" argument must be of type string. Received type number');return cG(e)}return R3e(e,t,r)}In.poolSize=8192;function R3e(e,t,r){if(typeof e==\"string\")return gwt(e,t);if(ArrayBuffer.isView(e))return mwt(e);if(e==null)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof e);if(qm(e,ArrayBuffer)||e&&qm(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer!=\"undefined\"&&(qm(e,SharedArrayBuffer)||e&&qm(e.buffer,SharedArrayBuffer)))return lG(e,t,r);if(typeof e==\"number\")throw new TypeError('The \"value\" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return In.from(n,t,r);let i=ywt(e);if(i)return i;if(typeof Symbol!=\"undefined\"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]==\"function\")return In.from(e[Symbol.toPrimitive](\"string\"),t,r);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof e)}In.from=function(e,t,r){return R3e(e,t,r)};Object.setPrototypeOf(In.prototype,Uint8Array.prototype);Object.setPrototypeOf(In,Uint8Array);function D3e(e){if(typeof e!=\"number\")throw new TypeError('\"size\" argument must be of type number');if(e<0)throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"')}function pwt(e,t,r){return D3e(e),e<=0?Vy(e):t!==void 0?typeof r==\"string\"?Vy(e).fill(t,r):Vy(e).fill(t):Vy(e)}In.alloc=function(e,t,r){return pwt(e,t,r)};function cG(e){return D3e(e),Vy(e<0?0:fG(e)|0)}In.allocUnsafe=function(e){return cG(e)};In.allocUnsafeSlow=function(e){return cG(e)};function gwt(e,t){if((typeof t!=\"string\"||t===\"\")&&(t=\"utf8\"),!In.isEncoding(t))throw new TypeError(\"Unknown encoding: \"+t);let r=z3e(e,t)|0,n=Vy(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function sG(e){let t=e.length<0?0:fG(e.length)|0,r=Vy(t);for(let n=0;n<t;n+=1)r[n]=e[n]&255;return r}function mwt(e){if(qm(e,Uint8Array)){let t=new Uint8Array(e);return lG(t.buffer,t.byteOffset,t.byteLength)}return sG(e)}function lG(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('\"offset\" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('\"length\" is outside of buffer bounds');let n;return t===void 0&&r===void 0?n=new Uint8Array(e):r===void 0?n=new Uint8Array(e,t):n=new Uint8Array(e,t,r),Object.setPrototypeOf(n,In.prototype),n}function ywt(e){if(In.isBuffer(e)){let t=fG(e.length)|0,r=Vy(t);return r.length===0||e.copy(r,0,0,t),r}if(e.length!==void 0)return typeof e.length!=\"number\"||dG(e.length)?Vy(0):sG(e);if(e.type===\"Buffer\"&&Array.isArray(e.data))return sG(e.data)}function fG(e){if(e>=q8)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+q8.toString(16)+\" bytes\");return e|0}function _wt(e){return+e!=e&&(e=0),In.alloc(+e)}In.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==In.prototype};In.compare=function(t,r){if(qm(t,Uint8Array)&&(t=In.from(t,t.offset,t.byteLength)),qm(r,Uint8Array)&&(r=In.from(r,r.offset,r.byteLength)),!In.isBuffer(t)||!In.isBuffer(r))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let n=t.length,i=r.length;for(let a=0,o=Math.min(n,i);a<o;++a)if(t[a]!==r[a]){n=t[a],i=r[a];break}return n<i?-1:i<n?1:0};In.isEncoding=function(t){switch(String(t).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}};In.concat=function(t,r){if(!Array.isArray(t))throw new TypeError('\"list\" argument must be an Array of Buffers');if(t.length===0)return In.alloc(0);let n;if(r===void 0)for(r=0,n=0;n<t.length;++n)r+=t[n].length;let i=In.allocUnsafe(r),a=0;for(n=0;n<t.length;++n){let o=t[n];if(qm(o,Uint8Array))a+o.length>i.length?(In.isBuffer(o)||(o=In.from(o)),o.copy(i,a)):Uint8Array.prototype.set.call(i,o,a);else if(In.isBuffer(o))o.copy(i,a);else throw new TypeError('\"list\" argument must be an Array of Buffers');a+=o.length}return i};function z3e(e,t){if(In.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||qm(e,ArrayBuffer))return e.byteLength;if(typeof e!=\"string\")throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return uG(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return r*2;case\"hex\":return r>>>1;case\"base64\":return G3e(e).length;default:if(i)return n?-1:uG(e).length;t=(\"\"+t).toLowerCase(),i=!0}}In.byteLength=z3e;function xwt(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return Lwt(this,t,r);case\"utf8\":case\"utf-8\":return q3e(this,t,r);case\"ascii\":return kwt(this,t,r);case\"latin1\":case\"binary\":return Cwt(this,t,r);case\"base64\":return Mwt(this,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Pwt(this,t,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),n=!0}}In.prototype._isBuffer=!0;function l2(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}In.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(let r=0;r<t;r+=2)l2(this,r,r+1);return this};In.prototype.swap32=function(){let t=this.length;if(t%4!==0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(let r=0;r<t;r+=4)l2(this,r,r+3),l2(this,r+1,r+2);return this};In.prototype.swap64=function(){let t=this.length;if(t%8!==0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(let r=0;r<t;r+=8)l2(this,r,r+7),l2(this,r+1,r+6),l2(this,r+2,r+5),l2(this,r+3,r+4);return this};In.prototype.toString=function(){let t=this.length;return t===0?\"\":arguments.length===0?q3e(this,0,t):xwt.apply(this,arguments)};In.prototype.toLocaleString=In.prototype.toString;In.prototype.equals=function(t){if(!In.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");return this===t?!0:In.compare(this,t)===0};In.prototype.inspect=function(){let t=\"\",r=KT.INSPECT_MAX_BYTES;return t=this.toString(\"hex\",0,r).replace(/(.{2})/g,\"$1 \").trim(),this.length>r&&(t+=\" ... \"),\"<Buffer \"+t+\">\"};C3e&&(In.prototype[C3e]=In.prototype.inspect);In.prototype.compare=function(t,r,n,i,a){if(qm(t,Uint8Array)&&(t=In.from(t,t.offset,t.byteLength)),!In.isBuffer(t))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),a===void 0&&(a=this.length),r<0||n>t.length||i<0||a>this.length)throw new RangeError(\"out of range index\");if(i>=a&&r>=n)return 0;if(i>=a)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,a>>>=0,this===t)return 0;let o=a-i,s=n-r,l=Math.min(o,s),u=this.slice(i,a),c=t.slice(r,n);for(let f=0;f<l;++f)if(u[f]!==c[f]){o=u[f],s=c[f];break}return o<s?-1:s<o?1:0};function F3e(e,t,r,n,i){if(e.length===0)return-1;if(typeof r==\"string\"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,dG(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t==\"string\"&&(t=In.from(t,n)),In.isBuffer(t))return t.length===0?-1:L3e(e,t,r,n,i);if(typeof t==\"number\")return t=t&255,typeof Uint8Array.prototype.indexOf==\"function\"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):L3e(e,[t],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function L3e(e,t,r,n,i){let a=1,o=e.length,s=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n===\"ucs2\"||n===\"ucs-2\"||n===\"utf16le\"||n===\"utf-16le\")){if(e.length<2||t.length<2)return-1;a=2,o/=2,s/=2,r/=2}function l(c,f){return a===1?c[f]:c.readUInt16BE(f*a)}let u;if(i){let c=-1;for(u=r;u<o;u++)if(l(e,u)===l(t,c===-1?0:u-c)){if(c===-1&&(c=u),u-c+1===s)return c*a}else c!==-1&&(u-=u-c),c=-1}else for(r+s>o&&(r=o-s),u=r;u>=0;u--){let c=!0;for(let f=0;f<s;f++)if(l(e,u+f)!==l(t,f)){c=!1;break}if(c)return u}return-1}In.prototype.includes=function(t,r,n){return this.indexOf(t,r,n)!==-1};In.prototype.indexOf=function(t,r,n){return F3e(this,t,r,n,!0)};In.prototype.lastIndexOf=function(t,r,n){return F3e(this,t,r,n,!1)};function bwt(e,t,r,n){r=Number(r)||0;let i=e.length-r;n?(n=Number(n),n>i&&(n=i)):n=i;let a=t.length;n>a/2&&(n=a/2);let o;for(o=0;o<n;++o){let s=parseInt(t.substr(o*2,2),16);if(dG(s))return o;e[r+o]=s}return o}function wwt(e,t,r,n){return O8(uG(t,e.length-r),e,r,n)}function Twt(e,t,r,n){return O8(zwt(t),e,r,n)}function Awt(e,t,r,n){return O8(G3e(t),e,r,n)}function Swt(e,t,r,n){return O8(Fwt(t,e.length-r),e,r,n)}In.prototype.write=function(t,r,n,i){if(r===void 0)i=\"utf8\",n=this.length,r=0;else if(n===void 0&&typeof r==\"string\")i=r,n=this.length,r=0;else if(isFinite(r))r=r>>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i=\"utf8\")):(i=n,n=void 0);else throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");let a=this.length-r;if((n===void 0||n>a)&&(n=a),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");i||(i=\"utf8\");let o=!1;for(;;)switch(i){case\"hex\":return bwt(this,t,r,n);case\"utf8\":case\"utf-8\":return wwt(this,t,r,n);case\"ascii\":case\"latin1\":case\"binary\":return Twt(this,t,r,n);case\"base64\":return Awt(this,t,r,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Swt(this,t,r,n);default:if(o)throw new TypeError(\"Unknown encoding: \"+i);i=(\"\"+i).toLowerCase(),o=!0}};In.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function Mwt(e,t,r){return t===0&&r===e.length?oG.fromByteArray(e):oG.fromByteArray(e.slice(t,r))}function q3e(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i<r;){let a=e[i],o=null,s=a>239?4:a>223?3:a>191?2:1;if(i+s<=r){let l,u,c,f;switch(s){case 1:a<128&&(o=a);break;case 2:l=e[i+1],(l&192)===128&&(f=(a&31)<<6|l&63,f>127&&(o=f));break;case 3:l=e[i+1],u=e[i+2],(l&192)===128&&(u&192)===128&&(f=(a&15)<<12|(l&63)<<6|u&63,f>2047&&(f<55296||f>57343)&&(o=f));break;case 4:l=e[i+1],u=e[i+2],c=e[i+3],(l&192)===128&&(u&192)===128&&(c&192)===128&&(f=(a&15)<<18|(l&63)<<12|(u&63)<<6|c&63,f>65535&&f<1114112&&(o=f))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=s}return Ewt(n)}var P3e=4096;function Ewt(e){let t=e.length;if(t<=P3e)return String.fromCharCode.apply(String,e);let r=\"\",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=P3e));return r}function kwt(e,t,r){let n=\"\";r=Math.min(e.length,r);for(let i=t;i<r;++i)n+=String.fromCharCode(e[i]&127);return n}function Cwt(e,t,r){let n=\"\";r=Math.min(e.length,r);for(let i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function Lwt(e,t,r){let n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);let i=\"\";for(let a=t;a<r;++a)i+=qwt[e[a]];return i}function Pwt(e,t,r){let n=e.slice(t,r),i=\"\";for(let a=0;a<n.length-1;a+=2)i+=String.fromCharCode(n[a]+n[a+1]*256);return i}In.prototype.slice=function(t,r){let n=this.length;t=~~t,r=r===void 0?n:~~r,t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),r<t&&(r=t);let i=this.subarray(t,r);return Object.setPrototypeOf(i,In.prototype),i};function $d(e,t,r){if(e%1!==0||e<0)throw new RangeError(\"offset is not uint\");if(e+t>r)throw new RangeError(\"Trying to access beyond buffer length\")}In.prototype.readUintLE=In.prototype.readUIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=this[t],a=1,o=0;for(;++o<r&&(a*=256);)i+=this[t+o]*a;return i};In.prototype.readUintBE=In.prototype.readUIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=this[t+--r],a=1;for(;r>0&&(a*=256);)i+=this[t+--r]*a;return i};In.prototype.readUint8=In.prototype.readUInt8=function(t,r){return t=t>>>0,r||$d(t,1,this.length),this[t]};In.prototype.readUint16LE=In.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||$d(t,2,this.length),this[t]|this[t+1]<<8};In.prototype.readUint16BE=In.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||$d(t,2,this.length),this[t]<<8|this[t+1]};In.prototype.readUint32LE=In.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};In.prototype.readUint32BE=In.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};In.prototype.readBigUInt64LE=I_(function(t){t=t>>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,a=this[++t]+this[++t]*2**8+this[++t]*2**16+n*2**24;return BigInt(i)+(BigInt(a)<<BigInt(32))});In.prototype.readBigUInt64BE=I_(function(t){t=t>>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],a=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n;return(BigInt(i)<<BigInt(32))+BigInt(a)});In.prototype.readIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=this[t],a=1,o=0;for(;++o<r&&(a*=256);)i+=this[t+o]*a;return a*=128,i>=a&&(i-=Math.pow(2,8*r)),i};In.prototype.readIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=r,a=1,o=this[t+--i];for(;i>0&&(a*=256);)o+=this[t+--i]*a;return a*=128,o>=a&&(o-=Math.pow(2,8*r)),o};In.prototype.readInt8=function(t,r){return t=t>>>0,r||$d(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};In.prototype.readInt16LE=function(t,r){t=t>>>0,r||$d(t,2,this.length);let n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};In.prototype.readInt16BE=function(t,r){t=t>>>0,r||$d(t,2,this.length);let n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};In.prototype.readInt32LE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};In.prototype.readInt32BE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};In.prototype.readBigInt64LE=I_(function(t){t=t>>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(n<<24);return(BigInt(i)<<BigInt(32))+BigInt(r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24)});In.prototype.readBigInt64BE=I_(function(t){t=t>>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(i)<<BigInt(32))+BigInt(this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n)});In.prototype.readFloatLE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),XT.read(this,t,!0,23,4)};In.prototype.readFloatBE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),XT.read(this,t,!1,23,4)};In.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||$d(t,8,this.length),XT.read(this,t,!0,52,8)};In.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||$d(t,8,this.length),XT.read(this,t,!1,52,8)};function Rp(e,t,r,n,i,a){if(!In.isBuffer(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>i||t<a)throw new RangeError('\"value\" argument is out of bounds');if(r+n>e.length)throw new RangeError(\"Index out of range\")}In.prototype.writeUintLE=In.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let s=Math.pow(2,8*n)-1;Rp(this,t,r,n,s,0)}let a=1,o=0;for(this[r]=t&255;++o<n&&(a*=256);)this[r+o]=t/a&255;return r+n};In.prototype.writeUintBE=In.prototype.writeUIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let s=Math.pow(2,8*n)-1;Rp(this,t,r,n,s,0)}let a=n-1,o=1;for(this[r+a]=t&255;--a>=0&&(o*=256);)this[r+a]=t/o&255;return r+n};In.prototype.writeUint8=In.prototype.writeUInt8=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,1,255,0),this[r]=t&255,r+1};In.prototype.writeUint16LE=In.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2};In.prototype.writeUint16BE=In.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2};In.prototype.writeUint32LE=In.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4};In.prototype.writeUint32BE=In.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function O3e(e,t,r,n,i){H3e(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,r}function B3e(e,t,r,n,i){H3e(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r+7]=a,a=a>>8,e[r+6]=a,a=a>>8,e[r+5]=a,a=a>>8,e[r+4]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=o,o=o>>8,e[r+2]=o,o=o>>8,e[r+1]=o,o=o>>8,e[r]=o,r+8}In.prototype.writeBigUInt64LE=I_(function(t,r=0){return O3e(this,t,r,BigInt(0),BigInt(\"0xffffffffffffffff\"))});In.prototype.writeBigUInt64BE=I_(function(t,r=0){return B3e(this,t,r,BigInt(0),BigInt(\"0xffffffffffffffff\"))});In.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);Rp(this,t,r,n,l-1,-l)}let a=0,o=1,s=0;for(this[r]=t&255;++a<n&&(o*=256);)t<0&&s===0&&this[r+a-1]!==0&&(s=1),this[r+a]=(t/o>>0)-s&255;return r+n};In.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);Rp(this,t,r,n,l-1,-l)}let a=n-1,o=1,s=0;for(this[r+a]=t&255;--a>=0&&(o*=256);)t<0&&s===0&&this[r+a+1]!==0&&(s=1),this[r+a]=(t/o>>0)-s&255;return r+n};In.prototype.writeInt8=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1};In.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2};In.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2};In.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4};In.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};In.prototype.writeBigInt64LE=I_(function(t,r=0){return O3e(this,t,r,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});In.prototype.writeBigInt64BE=I_(function(t,r=0){return B3e(this,t,r,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});function N3e(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function U3e(e,t,r,n,i){return t=+t,r=r>>>0,i||N3e(e,t,r,4,34028234663852886e22,-34028234663852886e22),XT.write(e,t,r,n,23,4),r+4}In.prototype.writeFloatLE=function(t,r,n){return U3e(this,t,r,!0,n)};In.prototype.writeFloatBE=function(t,r,n){return U3e(this,t,r,!1,n)};function V3e(e,t,r,n,i){return t=+t,r=r>>>0,i||N3e(e,t,r,8,17976931348623157e292,-17976931348623157e292),XT.write(e,t,r,n,52,8),r+8}In.prototype.writeDoubleLE=function(t,r,n){return V3e(this,t,r,!0,n)};In.prototype.writeDoubleBE=function(t,r,n){return V3e(this,t,r,!1,n)};In.prototype.copy=function(t,r,n,i){if(!In.isBuffer(t))throw new TypeError(\"argument should be a Buffer\");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i<n&&(i=n),i===n||t.length===0||this.length===0)return 0;if(r<0)throw new RangeError(\"targetStart out of bounds\");if(n<0||n>=this.length)throw new RangeError(\"Index out of range\");if(i<0)throw new RangeError(\"sourceEnd out of bounds\");i>this.length&&(i=this.length),t.length-r<i-n&&(i=t.length-r+n);let a=i-n;return this===t&&typeof Uint8Array.prototype.copyWithin==\"function\"?this.copyWithin(r,n,i):Uint8Array.prototype.set.call(t,this.subarray(n,i),r),a};In.prototype.fill=function(t,r,n,i){if(typeof t==\"string\"){if(typeof r==\"string\"?(i=r,r=0,n=this.length):typeof n==\"string\"&&(i=n,n=this.length),i!==void 0&&typeof i!=\"string\")throw new TypeError(\"encoding must be a string\");if(typeof i==\"string\"&&!In.isEncoding(i))throw new TypeError(\"Unknown encoding: \"+i);if(t.length===1){let o=t.charCodeAt(0);(i===\"utf8\"&&o<128||i===\"latin1\")&&(t=o)}}else typeof t==\"number\"?t=t&255:typeof t==\"boolean\"&&(t=Number(t));if(r<0||this.length<r||this.length<n)throw new RangeError(\"Out of range index\");if(n<=r)return this;r=r>>>0,n=n===void 0?this.length:n>>>0,t||(t=0);let a;if(typeof t==\"number\")for(a=r;a<n;++a)this[a]=t;else{let o=In.isBuffer(t)?t:In.from(t,i),s=o.length;if(s===0)throw new TypeError('The value \"'+t+'\" is invalid for argument \"value\"');for(a=0;a<n-r;++a)this[a+r]=o[a%s]}return this};var ZT={};function hG(e,t,r){ZT[e]=class extends r{constructor(){super(),Object.defineProperty(this,\"message\",{value:t.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${e}]`,this.stack,delete this.name}get code(){return e}set code(i){Object.defineProperty(this,\"code\",{configurable:!0,enumerable:!0,value:i,writable:!0})}toString(){return`${this.name} [${e}]: ${this.message}`}}}hG(\"ERR_BUFFER_OUT_OF_BOUNDS\",function(e){return e?`${e} is outside of buffer bounds`:\"Attempt to access memory outside buffer bounds\"},RangeError);hG(\"ERR_INVALID_ARG_TYPE\",function(e,t){return`The \"${e}\" argument must be of type number. Received type ${typeof t}`},TypeError);hG(\"ERR_OUT_OF_RANGE\",function(e,t,r){let n=`The value of \"${e}\" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=I3e(String(r)):typeof r==\"bigint\"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=I3e(i)),i+=\"n\"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function I3e(e){let t=\"\",r=e.length,n=e[0]===\"-\"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function Iwt(e,t,r){YT(t,\"offset\"),(e[t]===void 0||e[t+r]===void 0)&&z4(t,e.length-(r+1))}function H3e(e,t,r,n,i,a){if(e>r||e<t){let o=typeof t==\"bigint\"?\"n\":\"\",s;throw a>3?t===0||t===BigInt(0)?s=`>= 0${o} and < 2${o} ** ${(a+1)*8}${o}`:s=`>= -(2${o} ** ${(a+1)*8-1}${o}) and < 2 ** ${(a+1)*8-1}${o}`:s=`>= ${t}${o} and <= ${r}${o}`,new ZT.ERR_OUT_OF_RANGE(\"value\",s,e)}Iwt(n,i,a)}function YT(e,t){if(typeof e!=\"number\")throw new ZT.ERR_INVALID_ARG_TYPE(t,\"number\",e)}function z4(e,t,r){throw Math.floor(e)!==e?(YT(e,r),new ZT.ERR_OUT_OF_RANGE(r||\"offset\",\"an integer\",e)):t<0?new ZT.ERR_BUFFER_OUT_OF_BOUNDS:new ZT.ERR_OUT_OF_RANGE(r||\"offset\",`>= ${r?1:0} and <= ${t}`,e)}var Rwt=/[^+/0-9A-Za-z-_]/g;function Dwt(e){if(e=e.split(\"=\")[0],e=e.trim().replace(Rwt,\"\"),e.length<2)return\"\";for(;e.length%4!==0;)e=e+\"=\";return e}function uG(e,t){t=t||1/0;let r,n=e.length,i=null,a=[];for(let o=0;o<n;++o){if(r=e.charCodeAt(o),r>55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error(\"Invalid code point\")}return a}function zwt(e){let t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r)&255);return t}function Fwt(e,t){let r,n,i,a=[];for(let o=0;o<e.length&&!((t-=2)<0);++o)r=e.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}function G3e(e){return oG.toByteArray(Dwt(e))}function O8(e,t,r,n){let i;for(i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function qm(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function dG(e){return e!==e}var qwt=function(){let e=\"0123456789abcdef\",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function I_(e){return typeof BigInt==\"undefined\"?Owt:e}function Owt(){throw new Error(\"BigInt not supported\")}});var B8=ye((_ur,j3e)=>{\"use strict\";j3e.exports=function(){if(typeof Symbol!=\"function\"||typeof Object.getOwnPropertySymbols!=\"function\")return!1;if(typeof Symbol.iterator==\"symbol\")return!0;var t={},r=Symbol(\"test\"),n=Object(r);if(typeof r==\"string\"||Object.prototype.toString.call(r)!==\"[object Symbol]\"||Object.prototype.toString.call(n)!==\"[object Symbol]\")return!1;var i=42;t[r]=i;for(r in t)return!1;if(typeof Object.keys==\"function\"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames==\"function\"&&Object.getOwnPropertyNames(t).length!==0)return!1;var a=Object.getOwnPropertySymbols(t);if(a.length!==1||a[0]!==r||!Object.prototype.propertyIsEnumerable.call(t,r))return!1;if(typeof Object.getOwnPropertyDescriptor==\"function\"){var o=Object.getOwnPropertyDescriptor(t,r);if(o.value!==i||o.enumerable!==!0)return!1}return!0}});var F4=ye((xur,W3e)=>{\"use strict\";var Bwt=B8();W3e.exports=function(){return Bwt()&&!!Symbol.toStringTag}});var X3e=ye((bur,Z3e)=>{\"use strict\";Z3e.exports=Error});var K3e=ye((wur,Y3e)=>{\"use strict\";Y3e.exports=EvalError});var $3e=ye((Tur,J3e)=>{\"use strict\";J3e.exports=RangeError});var eTe=ye((Aur,Q3e)=>{\"use strict\";Q3e.exports=ReferenceError});var vG=ye((Sur,tTe)=>{\"use strict\";tTe.exports=SyntaxError});var q4=ye((Mur,rTe)=>{\"use strict\";rTe.exports=TypeError});var nTe=ye((Eur,iTe)=>{\"use strict\";iTe.exports=URIError});var sTe=ye((kur,oTe)=>{\"use strict\";var aTe=typeof Symbol!=\"undefined\"&&Symbol,Nwt=B8();oTe.exports=function(){return typeof aTe!=\"function\"||typeof Symbol!=\"function\"||typeof aTe(\"foo\")!=\"symbol\"||typeof Symbol(\"bar\")!=\"symbol\"?!1:Nwt()}});var cTe=ye((Cur,uTe)=>{\"use strict\";var lTe={foo:{}},Uwt=Object;uTe.exports=function(){return{__proto__:lTe}.foo===lTe.foo&&!({__proto__:null}instanceof Uwt)}});var dTe=ye((Lur,hTe)=>{\"use strict\";var Vwt=\"Function.prototype.bind called on incompatible \",Hwt=Object.prototype.toString,Gwt=Math.max,jwt=\"[object Function]\",fTe=function(t,r){for(var n=[],i=0;i<t.length;i+=1)n[i]=t[i];for(var a=0;a<r.length;a+=1)n[a+t.length]=r[a];return n},Wwt=function(t,r){for(var n=[],i=r||0,a=0;i<t.length;i+=1,a+=1)n[a]=t[i];return n},Zwt=function(e,t){for(var r=\"\",n=0;n<e.length;n+=1)r+=e[n],n+1<e.length&&(r+=t);return r};hTe.exports=function(t){var r=this;if(typeof r!=\"function\"||Hwt.apply(r)!==jwt)throw new TypeError(Vwt+r);for(var n=Wwt(arguments,1),i,a=function(){if(this instanceof i){var c=r.apply(this,fTe(n,arguments));return Object(c)===c?c:this}return r.apply(t,fTe(n,arguments))},o=Gwt(0,r.length-n.length),s=[],l=0;l<o;l++)s[l]=\"$\"+l;if(i=Function(\"binder\",\"return function (\"+Zwt(s,\",\")+\"){ return binder.apply(this,arguments); }\")(a),r.prototype){var u=function(){};u.prototype=r.prototype,i.prototype=new u,u.prototype=null}return i}});var N8=ye((Pur,vTe)=>{\"use strict\";var Xwt=dTe();vTe.exports=Function.prototype.bind||Xwt});var gTe=ye((Iur,pTe)=>{\"use strict\";var Ywt=Function.prototype.call,Kwt=Object.prototype.hasOwnProperty,Jwt=N8();pTe.exports=Jwt.call(Ywt,Kwt)});var t5=ye((Rur,bTe)=>{\"use strict\";var jl,$wt=X3e(),Qwt=K3e(),e3t=$3e(),t3t=eTe(),e5=vG(),QT=q4(),r3t=nTe(),xTe=Function,pG=function(e){try{return xTe('\"use strict\"; return ('+e+\").constructor;\")()}catch(t){}},c2=Object.getOwnPropertyDescriptor;if(c2)try{c2({},\"\")}catch(e){c2=null}var gG=function(){throw new QT},i3t=c2?function(){try{return arguments.callee,gG}catch(e){try{return c2(arguments,\"callee\").get}catch(t){return gG}}}():gG,JT=sTe()(),n3t=cTe()(),Qd=Object.getPrototypeOf||(n3t?function(e){return e.__proto__}:null),$T={},a3t=typeof Uint8Array==\"undefined\"||!Qd?jl:Qd(Uint8Array),f2={__proto__:null,\"%AggregateError%\":typeof AggregateError==\"undefined\"?jl:AggregateError,\"%Array%\":Array,\"%ArrayBuffer%\":typeof ArrayBuffer==\"undefined\"?jl:ArrayBuffer,\"%ArrayIteratorPrototype%\":JT&&Qd?Qd([][Symbol.iterator]()):jl,\"%AsyncFromSyncIteratorPrototype%\":jl,\"%AsyncFunction%\":$T,\"%AsyncGenerator%\":$T,\"%AsyncGeneratorFunction%\":$T,\"%AsyncIteratorPrototype%\":$T,\"%Atomics%\":typeof Atomics==\"undefined\"?jl:Atomics,\"%BigInt%\":typeof BigInt==\"undefined\"?jl:BigInt,\"%BigInt64Array%\":typeof BigInt64Array==\"undefined\"?jl:BigInt64Array,\"%BigUint64Array%\":typeof BigUint64Array==\"undefined\"?jl:BigUint64Array,\"%Boolean%\":Boolean,\"%DataView%\":typeof DataView==\"undefined\"?jl:DataView,\"%Date%\":Date,\"%decodeURI%\":decodeURI,\"%decodeURIComponent%\":decodeURIComponent,\"%encodeURI%\":encodeURI,\"%encodeURIComponent%\":encodeURIComponent,\"%Error%\":$wt,\"%eval%\":eval,\"%EvalError%\":Qwt,\"%Float32Array%\":typeof Float32Array==\"undefined\"?jl:Float32Array,\"%Float64Array%\":typeof Float64Array==\"undefined\"?jl:Float64Array,\"%FinalizationRegistry%\":typeof FinalizationRegistry==\"undefined\"?jl:FinalizationRegistry,\"%Function%\":xTe,\"%GeneratorFunction%\":$T,\"%Int8Array%\":typeof Int8Array==\"undefined\"?jl:Int8Array,\"%Int16Array%\":typeof Int16Array==\"undefined\"?jl:Int16Array,\"%Int32Array%\":typeof Int32Array==\"undefined\"?jl:Int32Array,\"%isFinite%\":isFinite,\"%isNaN%\":isNaN,\"%IteratorPrototype%\":JT&&Qd?Qd(Qd([][Symbol.iterator]())):jl,\"%JSON%\":typeof JSON==\"object\"?JSON:jl,\"%Map%\":typeof Map==\"undefined\"?jl:Map,\"%MapIteratorPrototype%\":typeof Map==\"undefined\"||!JT||!Qd?jl:Qd(new Map()[Symbol.iterator]()),\"%Math%\":Math,\"%Number%\":Number,\"%Object%\":Object,\"%parseFloat%\":parseFloat,\"%parseInt%\":parseInt,\"%Promise%\":typeof Promise==\"undefined\"?jl:Promise,\"%Proxy%\":typeof Proxy==\"undefined\"?jl:Proxy,\"%RangeError%\":e3t,\"%ReferenceError%\":t3t,\"%Reflect%\":typeof Reflect==\"undefined\"?jl:Reflect,\"%RegExp%\":RegExp,\"%Set%\":typeof Set==\"undefined\"?jl:Set,\"%SetIteratorPrototype%\":typeof Set==\"undefined\"||!JT||!Qd?jl:Qd(new Set()[Symbol.iterator]()),\"%SharedArrayBuffer%\":typeof SharedArrayBuffer==\"undefined\"?jl:SharedArrayBuffer,\"%String%\":String,\"%StringIteratorPrototype%\":JT&&Qd?Qd(\"\"[Symbol.iterator]()):jl,\"%Symbol%\":JT?Symbol:jl,\"%SyntaxError%\":e5,\"%ThrowTypeError%\":i3t,\"%TypedArray%\":a3t,\"%TypeError%\":QT,\"%Uint8Array%\":typeof Uint8Array==\"undefined\"?jl:Uint8Array,\"%Uint8ClampedArray%\":typeof Uint8ClampedArray==\"undefined\"?jl:Uint8ClampedArray,\"%Uint16Array%\":typeof Uint16Array==\"undefined\"?jl:Uint16Array,\"%Uint32Array%\":typeof Uint32Array==\"undefined\"?jl:Uint32Array,\"%URIError%\":r3t,\"%WeakMap%\":typeof WeakMap==\"undefined\"?jl:WeakMap,\"%WeakRef%\":typeof WeakRef==\"undefined\"?jl:WeakRef,\"%WeakSet%\":typeof WeakSet==\"undefined\"?jl:WeakSet};if(Qd)try{null.error}catch(e){mTe=Qd(Qd(e)),f2[\"%Error.prototype%\"]=mTe}var mTe,o3t=function e(t){var r;if(t===\"%AsyncFunction%\")r=pG(\"async function () {}\");else if(t===\"%GeneratorFunction%\")r=pG(\"function* () {}\");else if(t===\"%AsyncGeneratorFunction%\")r=pG(\"async function* () {}\");else if(t===\"%AsyncGenerator%\"){var n=e(\"%AsyncGeneratorFunction%\");n&&(r=n.prototype)}else if(t===\"%AsyncIteratorPrototype%\"){var i=e(\"%AsyncGenerator%\");i&&Qd&&(r=Qd(i.prototype))}return f2[t]=r,r},yTe={__proto__:null,\"%ArrayBufferPrototype%\":[\"ArrayBuffer\",\"prototype\"],\"%ArrayPrototype%\":[\"Array\",\"prototype\"],\"%ArrayProto_entries%\":[\"Array\",\"prototype\",\"entries\"],\"%ArrayProto_forEach%\":[\"Array\",\"prototype\",\"forEach\"],\"%ArrayProto_keys%\":[\"Array\",\"prototype\",\"keys\"],\"%ArrayProto_values%\":[\"Array\",\"prototype\",\"values\"],\"%AsyncFunctionPrototype%\":[\"AsyncFunction\",\"prototype\"],\"%AsyncGenerator%\":[\"AsyncGeneratorFunction\",\"prototype\"],\"%AsyncGeneratorPrototype%\":[\"AsyncGeneratorFunction\",\"prototype\",\"prototype\"],\"%BooleanPrototype%\":[\"Boolean\",\"prototype\"],\"%DataViewPrototype%\":[\"DataView\",\"prototype\"],\"%DatePrototype%\":[\"Date\",\"prototype\"],\"%ErrorPrototype%\":[\"Error\",\"prototype\"],\"%EvalErrorPrototype%\":[\"EvalError\",\"prototype\"],\"%Float32ArrayPrototype%\":[\"Float32Array\",\"prototype\"],\"%Float64ArrayPrototype%\":[\"Float64Array\",\"prototype\"],\"%FunctionPrototype%\":[\"Function\",\"prototype\"],\"%Generator%\":[\"GeneratorFunction\",\"prototype\"],\"%GeneratorPrototype%\":[\"GeneratorFunction\",\"prototype\",\"prototype\"],\"%Int8ArrayPrototype%\":[\"Int8Array\",\"prototype\"],\"%Int16ArrayPrototype%\":[\"Int16Array\",\"prototype\"],\"%Int32ArrayPrototype%\":[\"Int32Array\",\"prototype\"],\"%JSONParse%\":[\"JSON\",\"parse\"],\"%JSONStringify%\":[\"JSON\",\"stringify\"],\"%MapPrototype%\":[\"Map\",\"prototype\"],\"%NumberPrototype%\":[\"Number\",\"prototype\"],\"%ObjectPrototype%\":[\"Object\",\"prototype\"],\"%ObjProto_toString%\":[\"Object\",\"prototype\",\"toString\"],\"%ObjProto_valueOf%\":[\"Object\",\"prototype\",\"valueOf\"],\"%PromisePrototype%\":[\"Promise\",\"prototype\"],\"%PromiseProto_then%\":[\"Promise\",\"prototype\",\"then\"],\"%Promise_all%\":[\"Promise\",\"all\"],\"%Promise_reject%\":[\"Promise\",\"reject\"],\"%Promise_resolve%\":[\"Promise\",\"resolve\"],\"%RangeErrorPrototype%\":[\"RangeError\",\"prototype\"],\"%ReferenceErrorPrototype%\":[\"ReferenceError\",\"prototype\"],\"%RegExpPrototype%\":[\"RegExp\",\"prototype\"],\"%SetPrototype%\":[\"Set\",\"prototype\"],\"%SharedArrayBufferPrototype%\":[\"SharedArrayBuffer\",\"prototype\"],\"%StringPrototype%\":[\"String\",\"prototype\"],\"%SymbolPrototype%\":[\"Symbol\",\"prototype\"],\"%SyntaxErrorPrototype%\":[\"SyntaxError\",\"prototype\"],\"%TypedArrayPrototype%\":[\"TypedArray\",\"prototype\"],\"%TypeErrorPrototype%\":[\"TypeError\",\"prototype\"],\"%Uint8ArrayPrototype%\":[\"Uint8Array\",\"prototype\"],\"%Uint8ClampedArrayPrototype%\":[\"Uint8ClampedArray\",\"prototype\"],\"%Uint16ArrayPrototype%\":[\"Uint16Array\",\"prototype\"],\"%Uint32ArrayPrototype%\":[\"Uint32Array\",\"prototype\"],\"%URIErrorPrototype%\":[\"URIError\",\"prototype\"],\"%WeakMapPrototype%\":[\"WeakMap\",\"prototype\"],\"%WeakSetPrototype%\":[\"WeakSet\",\"prototype\"]},O4=N8(),U8=gTe(),s3t=O4.call(Function.call,Array.prototype.concat),l3t=O4.call(Function.apply,Array.prototype.splice),_Te=O4.call(Function.call,String.prototype.replace),V8=O4.call(Function.call,String.prototype.slice),u3t=O4.call(Function.call,RegExp.prototype.exec),c3t=/[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g,f3t=/\\\\(\\\\)?/g,h3t=function(t){var r=V8(t,0,1),n=V8(t,-1);if(r===\"%\"&&n!==\"%\")throw new e5(\"invalid intrinsic syntax, expected closing `%`\");if(n===\"%\"&&r!==\"%\")throw new e5(\"invalid intrinsic syntax, expected opening `%`\");var i=[];return _Te(t,c3t,function(a,o,s,l){i[i.length]=s?_Te(l,f3t,\"$1\"):o||a}),i},d3t=function(t,r){var n=t,i;if(U8(yTe,n)&&(i=yTe[n],n=\"%\"+i[0]+\"%\"),U8(f2,n)){var a=f2[n];if(a===$T&&(a=o3t(n)),typeof a==\"undefined\"&&!r)throw new QT(\"intrinsic \"+t+\" exists, but is not available. Please file an issue!\");return{alias:i,name:n,value:a}}throw new e5(\"intrinsic \"+t+\" does not exist!\")};bTe.exports=function(t,r){if(typeof t!=\"string\"||t.length===0)throw new QT(\"intrinsic name must be a non-empty string\");if(arguments.length>1&&typeof r!=\"boolean\")throw new QT('\"allowMissing\" argument must be a boolean');if(u3t(/^%?[^%]*%?$/,t)===null)throw new e5(\"`%` may not be present anywhere but at the beginning and end of the intrinsic name\");var n=h3t(t),i=n.length>0?n[0]:\"\",a=d3t(\"%\"+i+\"%\",r),o=a.name,s=a.value,l=!1,u=a.alias;u&&(i=u[0],l3t(n,s3t([0,1],u)));for(var c=1,f=!0;c<n.length;c+=1){var h=n[c],d=V8(h,0,1),v=V8(h,-1);if((d==='\"'||d===\"'\"||d===\"`\"||v==='\"'||v===\"'\"||v===\"`\")&&d!==v)throw new e5(\"property names with quotes must have matching quotes\");if((h===\"constructor\"||!f)&&(l=!0),i+=\".\"+h,o=\"%\"+i+\"%\",U8(f2,o))s=f2[o];else if(s!=null){if(!(h in s)){if(!r)throw new QT(\"base intrinsic for \"+t+\" exists, but the property is not available.\");return}if(c2&&c+1>=n.length){var x=c2(s,h);f=!!x,f&&\"get\"in x&&!(\"originalValue\"in x.get)?s=x.get:s=s[h]}else f=U8(s,h),s=s[h];f&&!l&&(f2[o]=s)}}return s}});var G8=ye((Dur,wTe)=>{\"use strict\";var v3t=t5(),H8=v3t(\"%Object.defineProperty%\",!0)||!1;if(H8)try{H8({},\"a\",{value:1})}catch(e){H8=!1}wTe.exports=H8});var B4=ye((zur,TTe)=>{\"use strict\";var p3t=t5(),j8=p3t(\"%Object.getOwnPropertyDescriptor%\",!0);if(j8)try{j8([],\"length\")}catch(e){j8=null}TTe.exports=j8});var ETe=ye((Fur,MTe)=>{\"use strict\";var ATe=G8(),g3t=vG(),r5=q4(),STe=B4();MTe.exports=function(t,r,n){if(!t||typeof t!=\"object\"&&typeof t!=\"function\")throw new r5(\"`obj` must be an object or a function`\");if(typeof r!=\"string\"&&typeof r!=\"symbol\")throw new r5(\"`property` must be a string or a symbol`\");if(arguments.length>3&&typeof arguments[3]!=\"boolean\"&&arguments[3]!==null)throw new r5(\"`nonEnumerable`, if provided, must be a boolean or null\");if(arguments.length>4&&typeof arguments[4]!=\"boolean\"&&arguments[4]!==null)throw new r5(\"`nonWritable`, if provided, must be a boolean or null\");if(arguments.length>5&&typeof arguments[5]!=\"boolean\"&&arguments[5]!==null)throw new r5(\"`nonConfigurable`, if provided, must be a boolean or null\");if(arguments.length>6&&typeof arguments[6]!=\"boolean\")throw new r5(\"`loose`, if provided, must be a boolean\");var i=arguments.length>3?arguments[3]:null,a=arguments.length>4?arguments[4]:null,o=arguments.length>5?arguments[5]:null,s=arguments.length>6?arguments[6]:!1,l=!!STe&&STe(t,r);if(ATe)ATe(t,r,{configurable:o===null&&l?l.configurable:!o,enumerable:i===null&&l?l.enumerable:!i,value:n,writable:a===null&&l?l.writable:!a});else if(s||!i&&!a&&!o)t[r]=n;else throw new g3t(\"This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.\")}});var yG=ye((qur,CTe)=>{\"use strict\";var mG=G8(),kTe=function(){return!!mG};kTe.hasArrayLengthDefineBug=function(){if(!mG)return null;try{return mG([],\"length\",{value:1}).length!==1}catch(t){return!0}};CTe.exports=kTe});var DTe=ye((Our,RTe)=>{\"use strict\";var m3t=t5(),LTe=ETe(),y3t=yG()(),PTe=B4(),ITe=q4(),_3t=m3t(\"%Math.floor%\");RTe.exports=function(t,r){if(typeof t!=\"function\")throw new ITe(\"`fn` is not a function\");if(typeof r!=\"number\"||r<0||r>4294967295||_3t(r)!==r)throw new ITe(\"`length` must be a positive 32-bit integer\");var n=arguments.length>2&&!!arguments[2],i=!0,a=!0;if(\"length\"in t&&PTe){var o=PTe(t,\"length\");o&&!o.configurable&&(i=!1),o&&!o.writable&&(a=!1)}return(i||a||!n)&&(y3t?LTe(t,\"length\",r,!0,!0):LTe(t,\"length\",r)),t}});var N4=ye((Bur,W8)=>{\"use strict\";var _G=N8(),Z8=t5(),x3t=DTe(),b3t=q4(),qTe=Z8(\"%Function.prototype.apply%\"),OTe=Z8(\"%Function.prototype.call%\"),BTe=Z8(\"%Reflect.apply%\",!0)||_G.call(OTe,qTe),zTe=G8(),w3t=Z8(\"%Math.max%\");W8.exports=function(t){if(typeof t!=\"function\")throw new b3t(\"a function is required\");var r=BTe(_G,OTe,arguments);return x3t(r,1+w3t(0,t.length-(arguments.length-1)),!0)};var FTe=function(){return BTe(_G,qTe,arguments)};zTe?zTe(W8.exports,\"apply\",{value:FTe}):W8.exports.apply=FTe});var i5=ye((Nur,VTe)=>{\"use strict\";var NTe=t5(),UTe=N4(),T3t=UTe(NTe(\"String.prototype.indexOf\"));VTe.exports=function(t,r){var n=NTe(t,!!r);return typeof n==\"function\"&&T3t(t,\".prototype.\")>-1?UTe(n):n}});var jTe=ye((Uur,GTe)=>{\"use strict\";var A3t=F4()(),S3t=i5(),xG=S3t(\"Object.prototype.toString\"),X8=function(t){return A3t&&t&&typeof t==\"object\"&&Symbol.toStringTag in t?!1:xG(t)===\"[object Arguments]\"},HTe=function(t){return X8(t)?!0:t!==null&&typeof t==\"object\"&&typeof t.length==\"number\"&&t.length>=0&&xG(t)!==\"[object Array]\"&&xG(t.callee)===\"[object Function]\"},M3t=function(){return X8(arguments)}();X8.isLegacyArguments=HTe;GTe.exports=M3t?X8:HTe});var XTe=ye((Vur,ZTe)=>{\"use strict\";var E3t=Object.prototype.toString,k3t=Function.prototype.toString,C3t=/^\\s*(?:function)?\\*/,WTe=F4()(),bG=Object.getPrototypeOf,L3t=function(){if(!WTe)return!1;try{return Function(\"return function*() {}\")()}catch(e){}},wG;ZTe.exports=function(t){if(typeof t!=\"function\")return!1;if(C3t.test(k3t.call(t)))return!0;if(!WTe){var r=E3t.call(t);return r===\"[object GeneratorFunction]\"}if(!bG)return!1;if(typeof wG==\"undefined\"){var n=L3t();wG=n?bG(n):!1}return bG(t)===wG}});var $Te=ye((Hur,JTe)=>{\"use strict\";var KTe=Function.prototype.toString,n5=typeof Reflect==\"object\"&&Reflect!==null&&Reflect.apply,AG,Y8;if(typeof n5==\"function\"&&typeof Object.defineProperty==\"function\")try{AG=Object.defineProperty({},\"length\",{get:function(){throw Y8}}),Y8={},n5(function(){throw 42},null,AG)}catch(e){e!==Y8&&(n5=null)}else n5=null;var P3t=/^\\s*class\\b/,SG=function(t){try{var r=KTe.call(t);return P3t.test(r)}catch(n){return!1}},TG=function(t){try{return SG(t)?!1:(KTe.call(t),!0)}catch(r){return!1}},K8=Object.prototype.toString,I3t=\"[object Object]\",R3t=\"[object Function]\",D3t=\"[object GeneratorFunction]\",z3t=\"[object HTMLAllCollection]\",F3t=\"[object HTML document.all class]\",q3t=\"[object HTMLCollection]\",O3t=typeof Symbol==\"function\"&&!!Symbol.toStringTag,B3t=!(0 in[,]),MG=function(){return!1};typeof document==\"object\"&&(YTe=document.all,K8.call(YTe)===K8.call(document.all)&&(MG=function(t){if((B3t||!t)&&(typeof t==\"undefined\"||typeof t==\"object\"))try{var r=K8.call(t);return(r===z3t||r===F3t||r===q3t||r===I3t)&&t(\"\")==null}catch(n){}return!1}));var YTe;JTe.exports=n5?function(t){if(MG(t))return!0;if(!t||typeof t!=\"function\"&&typeof t!=\"object\")return!1;try{n5(t,null,AG)}catch(r){if(r!==Y8)return!1}return!SG(t)&&TG(t)}:function(t){if(MG(t))return!0;if(!t||typeof t!=\"function\"&&typeof t!=\"object\")return!1;if(O3t)return TG(t);if(SG(t))return!1;var r=K8.call(t);return r!==R3t&&r!==D3t&&!/^\\[object HTML/.test(r)?!1:TG(t)}});var EG=ye((Gur,e5e)=>{\"use strict\";var N3t=$Te(),U3t=Object.prototype.toString,QTe=Object.prototype.hasOwnProperty,V3t=function(t,r,n){for(var i=0,a=t.length;i<a;i++)QTe.call(t,i)&&(n==null?r(t[i],i,t):r.call(n,t[i],i,t))},H3t=function(t,r,n){for(var i=0,a=t.length;i<a;i++)n==null?r(t.charAt(i),i,t):r.call(n,t.charAt(i),i,t)},G3t=function(t,r,n){for(var i in t)QTe.call(t,i)&&(n==null?r(t[i],i,t):r.call(n,t[i],i,t))},j3t=function(t,r,n){if(!N3t(r))throw new TypeError(\"iterator must be a function\");var i;arguments.length>=3&&(i=n),U3t.call(t)===\"[object Array]\"?V3t(t,r,i):typeof t==\"string\"?H3t(t,r,i):G3t(t,r,i)};e5e.exports=j3t});var CG=ye((jur,t5e)=>{\"use strict\";var kG=[\"BigInt64Array\",\"BigUint64Array\",\"Float32Array\",\"Float64Array\",\"Int16Array\",\"Int32Array\",\"Int8Array\",\"Uint16Array\",\"Uint32Array\",\"Uint8Array\",\"Uint8ClampedArray\"],W3t=typeof globalThis==\"undefined\"?window:globalThis;t5e.exports=function(){for(var t=[],r=0;r<kG.length;r++)typeof W3t[kG[r]]==\"function\"&&(t[t.length]=kG[r]);return t}});var o5e=ye((Wur,a5e)=>{\"use strict\";var $8=EG(),Z3t=CG(),r5e=N4(),IG=i5(),J8=B4(),X3t=IG(\"Object.prototype.toString\"),n5e=F4()(),i5e=typeof globalThis==\"undefined\"?window:globalThis,PG=Z3t(),RG=IG(\"String.prototype.slice\"),LG=Object.getPrototypeOf,Y3t=IG(\"Array.prototype.indexOf\",!0)||function(t,r){for(var n=0;n<t.length;n+=1)if(t[n]===r)return n;return-1},Q8={__proto__:null};n5e&&J8&&LG?$8(PG,function(e){var t=new i5e[e];if(Symbol.toStringTag in t){var r=LG(t),n=J8(r,Symbol.toStringTag);if(!n){var i=LG(r);n=J8(i,Symbol.toStringTag)}Q8[\"$\"+e]=r5e(n.get)}}):$8(PG,function(e){var t=new i5e[e],r=t.slice||t.set;r&&(Q8[\"$\"+e]=r5e(r))});var K3t=function(t){var r=!1;return $8(Q8,function(n,i){if(!r)try{\"$\"+n(t)===i&&(r=RG(i,1))}catch(a){}}),r},J3t=function(t){var r=!1;return $8(Q8,function(n,i){if(!r)try{n(t),r=RG(i,1)}catch(a){}}),r};a5e.exports=function(t){if(!t||typeof t!=\"object\")return!1;if(!n5e){var r=RG(X3t(t),8,-1);return Y3t(PG,r)>-1?r:r!==\"Object\"?!1:J3t(t)}return J8?K3t(t):null}});var h5e=ye((Zur,f5e)=>{\"use strict\";var s5e=EG(),$3t=CG(),zG=i5(),Q3t=zG(\"Object.prototype.toString\"),l5e=F4()(),eR=B4(),eTt=typeof globalThis==\"undefined\"?window:globalThis,u5e=$3t(),tTt=zG(\"Array.prototype.indexOf\",!0)||function(t,r){for(var n=0;n<t.length;n+=1)if(t[n]===r)return n;return-1},rTt=zG(\"String.prototype.slice\"),c5e={},DG=Object.getPrototypeOf;l5e&&eR&&DG&&s5e(u5e,function(e){var t=new eTt[e];if(Symbol.toStringTag in t){var r=DG(t),n=eR(r,Symbol.toStringTag);if(!n){var i=DG(r);n=eR(i,Symbol.toStringTag)}c5e[e]=n.get}});var iTt=function(t){var r=!1;return s5e(c5e,function(n,i){if(!r)try{r=n.call(t)===i}catch(a){}}),r};f5e.exports=function(t){if(!t||typeof t!=\"object\")return!1;if(!l5e||!(Symbol.toStringTag in t)){var r=rTt(Q3t(t),8,-1);return tTt(u5e,r)>-1}return eR?iTt(t):!1}});var OG=ye(Bl=>{\"use strict\";var nTt=jTe(),aTt=XTe(),Hg=o5e(),d5e=h5e();function a5(e){return e.call.bind(e)}var v5e=typeof BigInt!=\"undefined\",p5e=typeof Symbol!=\"undefined\",X0=a5(Object.prototype.toString),oTt=a5(Number.prototype.valueOf),sTt=a5(String.prototype.valueOf),lTt=a5(Boolean.prototype.valueOf);v5e&&(g5e=a5(BigInt.prototype.valueOf));var g5e;p5e&&(m5e=a5(Symbol.prototype.valueOf));var m5e;function V4(e,t){if(typeof e!=\"object\")return!1;try{return t(e),!0}catch(r){return!1}}Bl.isArgumentsObject=nTt;Bl.isGeneratorFunction=aTt;Bl.isTypedArray=d5e;function uTt(e){return typeof Promise!=\"undefined\"&&e instanceof Promise||e!==null&&typeof e==\"object\"&&typeof e.then==\"function\"&&typeof e.catch==\"function\"}Bl.isPromise=uTt;function cTt(e){return typeof ArrayBuffer!=\"undefined\"&&ArrayBuffer.isView?ArrayBuffer.isView(e):d5e(e)||_5e(e)}Bl.isArrayBufferView=cTt;function fTt(e){return Hg(e)===\"Uint8Array\"}Bl.isUint8Array=fTt;function hTt(e){return Hg(e)===\"Uint8ClampedArray\"}Bl.isUint8ClampedArray=hTt;function dTt(e){return Hg(e)===\"Uint16Array\"}Bl.isUint16Array=dTt;function vTt(e){return Hg(e)===\"Uint32Array\"}Bl.isUint32Array=vTt;function pTt(e){return Hg(e)===\"Int8Array\"}Bl.isInt8Array=pTt;function gTt(e){return Hg(e)===\"Int16Array\"}Bl.isInt16Array=gTt;function mTt(e){return Hg(e)===\"Int32Array\"}Bl.isInt32Array=mTt;function yTt(e){return Hg(e)===\"Float32Array\"}Bl.isFloat32Array=yTt;function _Tt(e){return Hg(e)===\"Float64Array\"}Bl.isFloat64Array=_Tt;function xTt(e){return Hg(e)===\"BigInt64Array\"}Bl.isBigInt64Array=xTt;function bTt(e){return Hg(e)===\"BigUint64Array\"}Bl.isBigUint64Array=bTt;function tR(e){return X0(e)===\"[object Map]\"}tR.working=typeof Map!=\"undefined\"&&tR(new Map);function wTt(e){return typeof Map==\"undefined\"?!1:tR.working?tR(e):e instanceof Map}Bl.isMap=wTt;function rR(e){return X0(e)===\"[object Set]\"}rR.working=typeof Set!=\"undefined\"&&rR(new Set);function TTt(e){return typeof Set==\"undefined\"?!1:rR.working?rR(e):e instanceof Set}Bl.isSet=TTt;function iR(e){return X0(e)===\"[object WeakMap]\"}iR.working=typeof WeakMap!=\"undefined\"&&iR(new WeakMap);function ATt(e){return typeof WeakMap==\"undefined\"?!1:iR.working?iR(e):e instanceof WeakMap}Bl.isWeakMap=ATt;function qG(e){return X0(e)===\"[object WeakSet]\"}qG.working=typeof WeakSet!=\"undefined\"&&qG(new WeakSet);function STt(e){return qG(e)}Bl.isWeakSet=STt;function nR(e){return X0(e)===\"[object ArrayBuffer]\"}nR.working=typeof ArrayBuffer!=\"undefined\"&&nR(new ArrayBuffer);function y5e(e){return typeof ArrayBuffer==\"undefined\"?!1:nR.working?nR(e):e instanceof ArrayBuffer}Bl.isArrayBuffer=y5e;function aR(e){return X0(e)===\"[object DataView]\"}aR.working=typeof ArrayBuffer!=\"undefined\"&&typeof DataView!=\"undefined\"&&aR(new DataView(new ArrayBuffer(1),0,1));function _5e(e){return typeof DataView==\"undefined\"?!1:aR.working?aR(e):e instanceof DataView}Bl.isDataView=_5e;var FG=typeof SharedArrayBuffer!=\"undefined\"?SharedArrayBuffer:void 0;function U4(e){return X0(e)===\"[object SharedArrayBuffer]\"}function x5e(e){return typeof FG==\"undefined\"?!1:(typeof U4.working==\"undefined\"&&(U4.working=U4(new FG)),U4.working?U4(e):e instanceof FG)}Bl.isSharedArrayBuffer=x5e;function MTt(e){return X0(e)===\"[object AsyncFunction]\"}Bl.isAsyncFunction=MTt;function ETt(e){return X0(e)===\"[object Map Iterator]\"}Bl.isMapIterator=ETt;function kTt(e){return X0(e)===\"[object Set Iterator]\"}Bl.isSetIterator=kTt;function CTt(e){return X0(e)===\"[object Generator]\"}Bl.isGeneratorObject=CTt;function LTt(e){return X0(e)===\"[object WebAssembly.Module]\"}Bl.isWebAssemblyCompiledModule=LTt;function b5e(e){return V4(e,oTt)}Bl.isNumberObject=b5e;function w5e(e){return V4(e,sTt)}Bl.isStringObject=w5e;function T5e(e){return V4(e,lTt)}Bl.isBooleanObject=T5e;function A5e(e){return v5e&&V4(e,g5e)}Bl.isBigIntObject=A5e;function S5e(e){return p5e&&V4(e,m5e)}Bl.isSymbolObject=S5e;function PTt(e){return b5e(e)||w5e(e)||T5e(e)||A5e(e)||S5e(e)}Bl.isBoxedPrimitive=PTt;function ITt(e){return typeof Uint8Array!=\"undefined\"&&(y5e(e)||x5e(e))}Bl.isAnyArrayBuffer=ITt;[\"isProxy\",\"isExternal\",\"isModuleNamespaceObject\"].forEach(function(e){Object.defineProperty(Bl,e,{enumerable:!1,value:function(){throw new Error(e+\" is not supported in userland\")}})})});var BG=ye((Yur,M5e)=>{M5e.exports=function(t){return t&&typeof t==\"object\"&&typeof t.copy==\"function\"&&typeof t.fill==\"function\"&&typeof t.readUInt8==\"function\"}});var jG=ye(Nl=>{var E5e=Object.getOwnPropertyDescriptors||function(t){for(var r=Object.keys(t),n={},i=0;i<r.length;i++)n[r[i]]=Object.getOwnPropertyDescriptor(t,r[i]);return n},RTt=/%[sdj%]/g;Nl.format=function(e){if(!hR(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(R_(arguments[r]));return t.join(\" \")}for(var r=1,n=arguments,i=n.length,a=String(e).replace(RTt,function(s){if(s===\"%%\")return\"%\";if(r>=i)return s;switch(s){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(l){return\"[Circular]\"}default:return s}}),o=n[r];r<i;o=n[++r])fR(o)||!o5(o)?a+=\" \"+o:a+=\" \"+R_(o);return a};Nl.deprecate=function(e,t){if(typeof process!=\"undefined\"&&process.noDeprecation===!0)return e;if(typeof process==\"undefined\")return function(){return Nl.deprecate(e,t).apply(this,arguments)};var r=!1;function n(){if(!r){if(process.throwDeprecation)throw new Error(t);process.traceDeprecation?console.trace(t):console.error(t),r=!0}return e.apply(this,arguments)}return n};var oR={},k5e=/^$/;sR=\"false\",sR=sR.replace(/[|\\\\{}()[\\]^$+?.]/g,\"\\\\$&\").replace(/\\*/g,\".*\").replace(/,/g,\"$|^\").toUpperCase(),k5e=new RegExp(\"^\"+sR+\"$\",\"i\");var sR;Nl.debuglog=function(e){if(e=e.toUpperCase(),!oR[e])if(k5e.test(e)){var t=process.pid;oR[e]=function(){var r=Nl.format.apply(Nl,arguments);console.error(\"%s %d: %s\",e,t,r)}}else oR[e]=function(){};return oR[e]};function R_(e,t){var r={seen:[],stylize:zTt};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),HG(t)?r.showHidden=t:t&&Nl._extend(r,t),d2(r.showHidden)&&(r.showHidden=!1),d2(r.depth)&&(r.depth=2),d2(r.colors)&&(r.colors=!1),d2(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=DTt),uR(r,e,r.depth)}Nl.inspect=R_;R_.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]};R_.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};function DTt(e,t){var r=R_.styles[t];return r?\"\\x1B[\"+R_.colors[r][0]+\"m\"+e+\"\\x1B[\"+R_.colors[r][1]+\"m\":e}function zTt(e,t){return e}function FTt(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function uR(e,t,r){if(e.customInspect&&t&&lR(t.inspect)&&t.inspect!==Nl.inspect&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return hR(n)||(n=uR(e,n,r)),n}var i=qTt(e,t);if(i)return i;var a=Object.keys(t),o=FTt(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),G4(t)&&(a.indexOf(\"message\")>=0||a.indexOf(\"description\")>=0))return NG(t);if(a.length===0){if(lR(t)){var s=t.name?\": \"+t.name:\"\";return e.stylize(\"[Function\"+s+\"]\",\"special\")}if(H4(t))return e.stylize(RegExp.prototype.toString.call(t),\"regexp\");if(cR(t))return e.stylize(Date.prototype.toString.call(t),\"date\");if(G4(t))return NG(t)}var l=\"\",u=!1,c=[\"{\",\"}\"];if(C5e(t)&&(u=!0,c=[\"[\",\"]\"]),lR(t)){var f=t.name?\": \"+t.name:\"\";l=\" [Function\"+f+\"]\"}if(H4(t)&&(l=\" \"+RegExp.prototype.toString.call(t)),cR(t)&&(l=\" \"+Date.prototype.toUTCString.call(t)),G4(t)&&(l=\" \"+NG(t)),a.length===0&&(!u||t.length==0))return c[0]+l+c[1];if(r<0)return H4(t)?e.stylize(RegExp.prototype.toString.call(t),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(t);var h;return u?h=OTt(e,t,r,o,a):h=a.map(function(d){return VG(e,t,r,o,d,u)}),e.seen.pop(),BTt(h,l,c)}function qTt(e,t){if(d2(t))return e.stylize(\"undefined\",\"undefined\");if(hR(t)){var r=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(r,\"string\")}if(L5e(t))return e.stylize(\"\"+t,\"number\");if(HG(t))return e.stylize(\"\"+t,\"boolean\");if(fR(t))return e.stylize(\"null\",\"null\")}function NG(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function OTt(e,t,r,n,i){for(var a=[],o=0,s=t.length;o<s;++o)P5e(t,String(o))?a.push(VG(e,t,r,n,String(o),!0)):a.push(\"\");return i.forEach(function(l){l.match(/^\\d+$/)||a.push(VG(e,t,r,n,l,!0))}),a}function VG(e,t,r,n,i,a){var o,s,l;if(l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]},l.get?l.set?s=e.stylize(\"[Getter/Setter]\",\"special\"):s=e.stylize(\"[Getter]\",\"special\"):l.set&&(s=e.stylize(\"[Setter]\",\"special\")),P5e(n,i)||(o=\"[\"+i+\"]\"),s||(e.seen.indexOf(l.value)<0?(fR(r)?s=uR(e,l.value,null):s=uR(e,l.value,r-1),s.indexOf(`\n", - "`)>-1&&(a?s=s.split(`\n", - "`).map(function(u){return\" \"+u}).join(`\n", - "`).slice(2):s=`\n", - "`+s.split(`\n", - "`).map(function(u){return\" \"+u}).join(`\n", - "`))):s=e.stylize(\"[Circular]\",\"special\")),d2(o)){if(a&&i.match(/^\\d+$/))return s;o=JSON.stringify(\"\"+i),o.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.slice(1,-1),o=e.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=e.stylize(o,\"string\"))}return o+\": \"+s}function BTt(e,t,r){var n=0,i=e.reduce(function(a,o){return n++,o.indexOf(`\n", - "`)>=0&&n++,a+o.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return i>60?r[0]+(t===\"\"?\"\":t+`\n", - " `)+\" \"+e.join(`,\n", - " `)+\" \"+r[1]:r[0]+t+\" \"+e.join(\", \")+\" \"+r[1]}Nl.types=OG();function C5e(e){return Array.isArray(e)}Nl.isArray=C5e;function HG(e){return typeof e==\"boolean\"}Nl.isBoolean=HG;function fR(e){return e===null}Nl.isNull=fR;function NTt(e){return e==null}Nl.isNullOrUndefined=NTt;function L5e(e){return typeof e==\"number\"}Nl.isNumber=L5e;function hR(e){return typeof e==\"string\"}Nl.isString=hR;function UTt(e){return typeof e==\"symbol\"}Nl.isSymbol=UTt;function d2(e){return e===void 0}Nl.isUndefined=d2;function H4(e){return o5(e)&&GG(e)===\"[object RegExp]\"}Nl.isRegExp=H4;Nl.types.isRegExp=H4;function o5(e){return typeof e==\"object\"&&e!==null}Nl.isObject=o5;function cR(e){return o5(e)&&GG(e)===\"[object Date]\"}Nl.isDate=cR;Nl.types.isDate=cR;function G4(e){return o5(e)&&(GG(e)===\"[object Error]\"||e instanceof Error)}Nl.isError=G4;Nl.types.isNativeError=G4;function lR(e){return typeof e==\"function\"}Nl.isFunction=lR;function VTt(e){return e===null||typeof e==\"boolean\"||typeof e==\"number\"||typeof e==\"string\"||typeof e==\"symbol\"||typeof e==\"undefined\"}Nl.isPrimitive=VTt;Nl.isBuffer=BG();function GG(e){return Object.prototype.toString.call(e)}function UG(e){return e<10?\"0\"+e.toString(10):e.toString(10)}var HTt=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function GTt(){var e=new Date,t=[UG(e.getHours()),UG(e.getMinutes()),UG(e.getSeconds())].join(\":\");return[e.getDate(),HTt[e.getMonth()],t].join(\" \")}Nl.log=function(){console.log(\"%s - %s\",GTt(),Nl.format.apply(Nl,arguments))};Nl.inherits=Uy();Nl._extend=function(e,t){if(!t||!o5(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};function P5e(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var h2=typeof Symbol!=\"undefined\"?Symbol(\"util.promisify.custom\"):void 0;Nl.promisify=function(t){if(typeof t!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');if(h2&&t[h2]){var r=t[h2];if(typeof r!=\"function\")throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(r,h2,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var n,i,a=new Promise(function(l,u){n=l,i=u}),o=[],s=0;s<arguments.length;s++)o.push(arguments[s]);o.push(function(l,u){l?i(l):n(u)});try{t.apply(this,o)}catch(l){i(l)}return a}return Object.setPrototypeOf(r,Object.getPrototypeOf(t)),h2&&Object.defineProperty(r,h2,{value:r,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(r,E5e(t))};Nl.promisify.custom=h2;function jTt(e,t){if(!e){var r=new Error(\"Promise was rejected with a falsy value\");r.reason=e,e=r}return t(e)}function WTt(e){if(typeof e!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');function t(){for(var r=[],n=0;n<arguments.length;n++)r.push(arguments[n]);var i=r.pop();if(typeof i!=\"function\")throw new TypeError(\"The last argument must be of type Function\");var a=this,o=function(){return i.apply(a,arguments)};e.apply(this,r).then(function(s){process.nextTick(o.bind(null,null,s))},function(s){process.nextTick(jTt.bind(null,s,o))})}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),Object.defineProperties(t,E5e(e)),t}Nl.callbackify=WTt});var z5e=ye((Jur,D5e)=>{\"use strict\";function I5e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ZTt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?I5e(Object(r),!0).forEach(function(n){XTt(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):I5e(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function XTt(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function YTt(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function R5e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function KTt(e,t,r){return t&&R5e(e.prototype,t),r&&R5e(e,r),e}var JTt=u2(),dR=JTt.Buffer,$Tt=jG(),WG=$Tt.inspect,QTt=WG&&WG.custom||\"inspect\";function e5t(e,t,r){dR.prototype.copy.call(e,t,r)}D5e.exports=function(){function e(){YTt(this,e),this.head=null,this.tail=null,this.length=0}return KTt(e,[{key:\"push\",value:function(r){var n={data:r,next:null};this.length>0?this.tail.next=n:this.head=n,this.tail=n,++this.length}},{key:\"unshift\",value:function(r){var n={data:r,next:this.head};this.length===0&&(this.tail=n),this.head=n,++this.length}},{key:\"shift\",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:\"clear\",value:function(){this.head=this.tail=null,this.length=0}},{key:\"join\",value:function(r){if(this.length===0)return\"\";for(var n=this.head,i=\"\"+n.data;n=n.next;)i+=r+n.data;return i}},{key:\"concat\",value:function(r){if(this.length===0)return dR.alloc(0);for(var n=dR.allocUnsafe(r>>>0),i=this.head,a=0;i;)e5t(i.data,n,a),a+=i.data.length,i=i.next;return n}},{key:\"consume\",value:function(r,n){var i;return r<this.head.data.length?(i=this.head.data.slice(0,r),this.head.data=this.head.data.slice(r)):r===this.head.data.length?i=this.shift():i=n?this._getString(r):this._getBuffer(r),i}},{key:\"first\",value:function(){return this.head.data}},{key:\"_getString\",value:function(r){var n=this.head,i=1,a=n.data;for(r-=a.length;n=n.next;){var o=n.data,s=r>o.length?o.length:r;if(s===o.length?a+=o:a+=o.slice(0,r),r-=s,r===0){s===o.length?(++i,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(s));break}++i}return this.length-=i,a}},{key:\"_getBuffer\",value:function(r){var n=dR.allocUnsafe(r),i=this.head,a=1;for(i.data.copy(n),r-=i.data.length;i=i.next;){var o=i.data,s=r>o.length?o.length:r;if(o.copy(n,n.length-r,0,s),r-=s,r===0){s===o.length?(++a,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(s));break}++a}return this.length-=a,n}},{key:QTt,value:function(r,n){return WG(this,ZTt({},n,{depth:0,customInspect:!1}))}}]),e}()});var XG=ye(($ur,q5e)=>{\"use strict\";function t5t(e,t){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(ZG,this,e)):process.nextTick(ZG,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(a){!t&&a?r._writableState?r._writableState.errorEmitted?process.nextTick(vR,r):(r._writableState.errorEmitted=!0,process.nextTick(F5e,r,a)):process.nextTick(F5e,r,a):t?(process.nextTick(vR,r),t(a)):process.nextTick(vR,r)}),this)}function F5e(e,t){ZG(e,t),vR(e)}function vR(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit(\"close\")}function r5t(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function ZG(e,t){e.emit(\"error\",t)}function i5t(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit(\"error\",t)}q5e.exports={destroy:t5t,undestroy:r5t,errorOrDestroy:i5t}});var v2=ye((Qur,N5e)=>{\"use strict\";function n5t(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var B5e={};function Y0(e,t,r){r||(r=Error);function n(a,o,s){return typeof t==\"string\"?t:t(a,o,s)}var i=function(a){n5t(o,a);function o(s,l,u){return a.call(this,n(s,l,u))||this}return o}(r);i.prototype.name=r.name,i.prototype.code=e,B5e[e]=i}function O5e(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(n){return String(n)}),r>2?\"one of \".concat(t,\" \").concat(e.slice(0,r-1).join(\", \"),\", or \")+e[r-1]:r===2?\"one of \".concat(t,\" \").concat(e[0],\" or \").concat(e[1]):\"of \".concat(t,\" \").concat(e[0])}else return\"of \".concat(t,\" \").concat(String(e))}function a5t(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function o5t(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function s5t(e,t,r){return typeof r!=\"number\"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}Y0(\"ERR_INVALID_OPT_VALUE\",function(e,t){return'The value \"'+t+'\" is invalid for option \"'+e+'\"'},TypeError);Y0(\"ERR_INVALID_ARG_TYPE\",function(e,t,r){var n;typeof t==\"string\"&&a5t(t,\"not \")?(n=\"must not be\",t=t.replace(/^not /,\"\")):n=\"must be\";var i;if(o5t(e,\" argument\"))i=\"The \".concat(e,\" \").concat(n,\" \").concat(O5e(t,\"type\"));else{var a=s5t(e,\".\")?\"property\":\"argument\";i='The \"'.concat(e,'\" ').concat(a,\" \").concat(n,\" \").concat(O5e(t,\"type\"))}return i+=\". Received type \".concat(typeof r),i},TypeError);Y0(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\");Y0(\"ERR_METHOD_NOT_IMPLEMENTED\",function(e){return\"The \"+e+\" method is not implemented\"});Y0(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\");Y0(\"ERR_STREAM_DESTROYED\",function(e){return\"Cannot call \"+e+\" after a stream was destroyed\"});Y0(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\");Y0(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\");Y0(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\");Y0(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError);Y0(\"ERR_UNKNOWN_ENCODING\",function(e){return\"Unknown encoding: \"+e},TypeError);Y0(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\");N5e.exports.codes=B5e});var YG=ye((ecr,U5e)=>{\"use strict\";var l5t=v2().codes.ERR_INVALID_OPT_VALUE;function u5t(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function c5t(e,t,r,n){var i=u5t(t,n,r);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var a=n?r:\"highWaterMark\";throw new l5t(a,i)}return Math.floor(i)}return e.objectMode?16:16*1024}U5e.exports={getHighWaterMark:c5t}});var H5e=ye((tcr,V5e)=>{V5e.exports=f5t;function f5t(e,t){if(KG(\"noDeprecation\"))return e;var r=!1;function n(){if(!r){if(KG(\"throwDeprecation\"))throw new Error(t);KG(\"traceDeprecation\")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}return n}function KG(e){try{if(!window.localStorage)return!1}catch(r){return!1}var t=window.localStorage[e];return t==null?!1:String(t).toLowerCase()===\"true\"}});var QG=ye((rcr,Y5e)=>{\"use strict\";Y5e.exports=_h;function j5e(e){var t=this;this.next=null,this.entry=null,this.finish=function(){O5t(t,e)}}var s5;_h.WritableState=W4;var h5t={deprecate:H5e()},W5e=iG(),gR=u2().Buffer,d5t=window.Uint8Array||function(){};function v5t(e){return gR.from(e)}function p5t(e){return gR.isBuffer(e)||e instanceof d5t}var $G=XG(),g5t=YG(),m5t=g5t.getHighWaterMark,D_=v2().codes,y5t=D_.ERR_INVALID_ARG_TYPE,_5t=D_.ERR_METHOD_NOT_IMPLEMENTED,x5t=D_.ERR_MULTIPLE_CALLBACK,b5t=D_.ERR_STREAM_CANNOT_PIPE,w5t=D_.ERR_STREAM_DESTROYED,T5t=D_.ERR_STREAM_NULL_VALUES,A5t=D_.ERR_STREAM_WRITE_AFTER_END,S5t=D_.ERR_UNKNOWN_ENCODING,l5=$G.errorOrDestroy;Uy()(_h,W5e);function M5t(){}function W4(e,t,r){s5=s5||p2(),e=e||{},typeof r!=\"boolean\"&&(r=t instanceof s5),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=m5t(this,e,\"writableHighWaterMark\",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var n=e.decodeStrings===!1;this.decodeStrings=!n,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(i){R5t(t,i)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new j5e(this)}W4.prototype.getBuffer=function(){for(var t=this.bufferedRequest,r=[];t;)r.push(t),t=t.next;return r};(function(){try{Object.defineProperty(W4.prototype,\"buffer\",{get:h5t.deprecate(function(){return this.getBuffer()},\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\",\"DEP0003\")})}catch(e){}})();var pR;typeof Symbol==\"function\"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==\"function\"?(pR=Function.prototype[Symbol.hasInstance],Object.defineProperty(_h,Symbol.hasInstance,{value:function(t){return pR.call(this,t)?!0:this!==_h?!1:t&&t._writableState instanceof W4}})):pR=function(t){return t instanceof this};function _h(e){s5=s5||p2();var t=this instanceof s5;if(!t&&!pR.call(_h,this))return new _h(e);this._writableState=new W4(e,this,t),this.writable=!0,e&&(typeof e.write==\"function\"&&(this._write=e.write),typeof e.writev==\"function\"&&(this._writev=e.writev),typeof e.destroy==\"function\"&&(this._destroy=e.destroy),typeof e.final==\"function\"&&(this._final=e.final)),W5e.call(this)}_h.prototype.pipe=function(){l5(this,new b5t)};function E5t(e,t){var r=new A5t;l5(e,r),process.nextTick(t,r)}function k5t(e,t,r,n){var i;return r===null?i=new T5t:typeof r!=\"string\"&&!t.objectMode&&(i=new y5t(\"chunk\",[\"string\",\"Buffer\"],r)),i?(l5(e,i),process.nextTick(n,i),!1):!0}_h.prototype.write=function(e,t,r){var n=this._writableState,i=!1,a=!n.objectMode&&p5t(e);return a&&!gR.isBuffer(e)&&(e=v5t(e)),typeof t==\"function\"&&(r=t,t=null),a?t=\"buffer\":t||(t=n.defaultEncoding),typeof r!=\"function\"&&(r=M5t),n.ending?E5t(this,r):(a||k5t(this,n,e,r))&&(n.pendingcb++,i=L5t(this,n,a,e,t,r)),i};_h.prototype.cork=function(){this._writableState.corked++};_h.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest&&Z5e(this,e))};_h.prototype.setDefaultEncoding=function(t){if(typeof t==\"string\"&&(t=t.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((t+\"\").toLowerCase())>-1))throw new S5t(t);return this._writableState.defaultEncoding=t,this};Object.defineProperty(_h.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function C5t(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t==\"string\"&&(t=gR.from(t,r)),t}Object.defineProperty(_h.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function L5t(e,t,r,n,i,a){if(!r){var o=C5t(t,n,i);n!==o&&(r=!0,i=\"buffer\",n=o)}var s=t.objectMode?1:n.length;t.length+=s;var l=t.length<t.highWaterMark;if(l||(t.needDrain=!0),t.writing||t.corked){var u=t.lastBufferedRequest;t.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:a,next:null},u?u.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else JG(e,t,!1,s,n,i,a);return l}function JG(e,t,r,n,i,a,o){t.writelen=n,t.writecb=o,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new w5t(\"write\")):r?e._writev(i,t.onwrite):e._write(i,a,t.onwrite),t.sync=!1}function P5t(e,t,r,n,i){--t.pendingcb,r?(process.nextTick(i,n),process.nextTick(j4,e,t),e._writableState.errorEmitted=!0,l5(e,n)):(i(n),e._writableState.errorEmitted=!0,l5(e,n),j4(e,t))}function I5t(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function R5t(e,t){var r=e._writableState,n=r.sync,i=r.writecb;if(typeof i!=\"function\")throw new x5t;if(I5t(r),t)P5t(e,r,n,t,i);else{var a=X5e(r)||e.destroyed;!a&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest&&Z5e(e,r),n?process.nextTick(G5e,e,r,a,i):G5e(e,r,a,i)}}function G5e(e,t,r,n){r||D5t(e,t),t.pendingcb--,n(),j4(e,t)}function D5t(e,t){t.length===0&&t.needDrain&&(t.needDrain=!1,e.emit(\"drain\"))}function Z5e(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var n=t.bufferedRequestCount,i=new Array(n),a=t.corkedRequestsFree;a.entry=r;for(var o=0,s=!0;r;)i[o]=r,r.isBuf||(s=!1),r=r.next,o+=1;i.allBuffers=s,JG(e,t,!0,t.length,i,\"\",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new j5e(t),t.bufferedRequestCount=0}else{for(;r;){var l=r.chunk,u=r.encoding,c=r.callback,f=t.objectMode?1:l.length;if(JG(e,t,!1,f,l,u,c),r=r.next,t.bufferedRequestCount--,t.writing)break}r===null&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}_h.prototype._write=function(e,t,r){r(new _5t(\"_write()\"))};_h.prototype._writev=null;_h.prototype.end=function(e,t,r){var n=this._writableState;return typeof e==\"function\"?(r=e,e=null,t=null):typeof t==\"function\"&&(r=t,t=null),e!=null&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||q5t(this,n,r),this};Object.defineProperty(_h.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}});function X5e(e){return e.ending&&e.length===0&&e.bufferedRequest===null&&!e.finished&&!e.writing}function z5t(e,t){e._final(function(r){t.pendingcb--,r&&l5(e,r),t.prefinished=!0,e.emit(\"prefinish\"),j4(e,t)})}function F5t(e,t){!t.prefinished&&!t.finalCalled&&(typeof e._final==\"function\"&&!t.destroyed?(t.pendingcb++,t.finalCalled=!0,process.nextTick(z5t,e,t)):(t.prefinished=!0,e.emit(\"prefinish\")))}function j4(e,t){var r=X5e(t);if(r&&(F5t(e,t),t.pendingcb===0&&(t.finished=!0,e.emit(\"finish\"),t.autoDestroy))){var n=e._readableState;(!n||n.autoDestroy&&n.endEmitted)&&e.destroy()}return r}function q5t(e,t,r){t.ending=!0,j4(e,t),r&&(t.finished?process.nextTick(r):e.once(\"finish\",r)),t.ended=!0,e.writable=!1}function O5t(e,t,r){var n=e.entry;for(e.entry=null;n;){var i=n.callback;t.pendingcb--,i(r),n=n.next}t.corkedRequestsFree.next=e}Object.defineProperty(_h.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}});_h.prototype.destroy=$G.destroy;_h.prototype._undestroy=$G.undestroy;_h.prototype._destroy=function(e,t){t(e)}});var p2=ye((icr,J5e)=>{\"use strict\";var B5t=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};J5e.exports=Om;var K5e=rj(),tj=QG();Uy()(Om,K5e);for(ej=B5t(tj.prototype),mR=0;mR<ej.length;mR++)yR=ej[mR],Om.prototype[yR]||(Om.prototype[yR]=tj.prototype[yR]);var ej,yR,mR;function Om(e){if(!(this instanceof Om))return new Om(e);K5e.call(this,e),tj.call(this,e),this.allowHalfOpen=!0,e&&(e.readable===!1&&(this.readable=!1),e.writable===!1&&(this.writable=!1),e.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once(\"end\",N5t)))}Object.defineProperty(Om.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});Object.defineProperty(Om.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});Object.defineProperty(Om.prototype,\"writableLength\",{enumerable:!1,get:function(){return this._writableState.length}});function N5t(){this._writableState.ended||process.nextTick(U5t,this)}function U5t(e){e.end()}Object.defineProperty(Om.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(t){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=t,this._writableState.destroyed=t)}})});var eAe=ye((ij,Q5e)=>{var _R=u2(),Bm=_R.Buffer;function $5e(e,t){for(var r in e)t[r]=e[r]}Bm.from&&Bm.alloc&&Bm.allocUnsafe&&Bm.allocUnsafeSlow?Q5e.exports=_R:($5e(_R,ij),ij.Buffer=g2);function g2(e,t,r){return Bm(e,t,r)}g2.prototype=Object.create(Bm.prototype);$5e(Bm,g2);g2.from=function(e,t,r){if(typeof e==\"number\")throw new TypeError(\"Argument must not be a number\");return Bm(e,t,r)};g2.alloc=function(e,t,r){if(typeof e!=\"number\")throw new TypeError(\"Argument must be a number\");var n=Bm(e);return t!==void 0?typeof r==\"string\"?n.fill(t,r):n.fill(t):n.fill(0),n};g2.allocUnsafe=function(e){if(typeof e!=\"number\")throw new TypeError(\"Argument must be a number\");return Bm(e)};g2.allocUnsafeSlow=function(e){if(typeof e!=\"number\")throw new TypeError(\"Argument must be a number\");return _R.SlowBuffer(e)}});var oj=ye(rAe=>{\"use strict\";var aj=eAe().Buffer,tAe=aj.isEncoding||function(e){switch(e=\"\"+e,e&&e.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function V5t(e){if(!e)return\"utf8\";for(var t;;)switch(e){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return e;default:if(t)return;e=(\"\"+e).toLowerCase(),t=!0}}function H5t(e){var t=V5t(e);if(typeof t!=\"string\"&&(aj.isEncoding===tAe||!tAe(e)))throw new Error(\"Unknown encoding: \"+e);return t||e}rAe.StringDecoder=Z4;function Z4(e){this.encoding=H5t(e);var t;switch(this.encoding){case\"utf16le\":this.text=Y5t,this.end=K5t,t=4;break;case\"utf8\":this.fillLast=W5t,t=4;break;case\"base64\":this.text=J5t,this.end=$5t,t=3;break;default:this.write=Q5t,this.end=eAt;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=aj.allocUnsafe(t)}Z4.prototype.write=function(e){if(e.length===0)return\"\";var t,r;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return\"\";r=this.lastNeed,this.lastNeed=0}else r=0;return r<e.length?t?t+this.text(e,r):this.text(e,r):t||\"\"};Z4.prototype.end=X5t;Z4.prototype.text=Z5t;Z4.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length};function nj(e){return e<=127?0:e>>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function G5t(e,t,r){var n=t.length-1;if(n<r)return 0;var i=nj(t[n]);return i>=0?(i>0&&(e.lastNeed=i-1),i):--n<r||i===-2?0:(i=nj(t[n]),i>=0?(i>0&&(e.lastNeed=i-2),i):--n<r||i===-2?0:(i=nj(t[n]),i>=0?(i>0&&(i===2?i=0:e.lastNeed=i-3),i):0))}function j5t(e,t,r){if((t[0]&192)!==128)return e.lastNeed=0,\"\\uFFFD\";if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128)return e.lastNeed=1,\"\\uFFFD\";if(e.lastNeed>2&&t.length>2&&(t[2]&192)!==128)return e.lastNeed=2,\"\\uFFFD\"}}function W5t(e){var t=this.lastTotal-this.lastNeed,r=j5t(this,e,t);if(r!==void 0)return r;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function Z5t(e,t){var r=G5t(this,e,t);if(!this.lastNeed)return e.toString(\"utf8\",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString(\"utf8\",t,n)}function X5t(e){var t=e&&e.length?this.write(e):\"\";return this.lastNeed?t+\"\\uFFFD\":t}function Y5t(e,t){if((e.length-t)%2===0){var r=e.toString(\"utf16le\",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString(\"utf16le\",t,e.length-1)}function K5t(e){var t=e&&e.length?this.write(e):\"\";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString(\"utf16le\",0,r)}return t}function J5t(e,t){var r=(e.length-t)%3;return r===0?e.toString(\"base64\",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString(\"base64\",t,e.length-r))}function $5t(e){var t=e&&e.length?this.write(e):\"\";return this.lastNeed?t+this.lastChar.toString(\"base64\",0,3-this.lastNeed):t}function Q5t(e){return e.toString(this.encoding)}function eAt(e){return e&&e.length?this.write(e):\"\"}});var xR=ye((acr,aAe)=>{\"use strict\";var iAe=v2().codes.ERR_STREAM_PREMATURE_CLOSE;function tAt(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];e.apply(this,n)}}}function rAt(){}function iAt(e){return e.setHeader&&typeof e.abort==\"function\"}function nAe(e,t,r){if(typeof t==\"function\")return nAe(e,null,t);t||(t={}),r=tAt(r||rAt);var n=t.readable||t.readable!==!1&&e.readable,i=t.writable||t.writable!==!1&&e.writable,a=function(){e.writable||s()},o=e._writableState&&e._writableState.finished,s=function(){i=!1,o=!0,n||r.call(e)},l=e._readableState&&e._readableState.endEmitted,u=function(){n=!1,l=!0,i||r.call(e)},c=function(v){r.call(e,v)},f=function(){var v;if(n&&!l)return(!e._readableState||!e._readableState.ended)&&(v=new iAe),r.call(e,v);if(i&&!o)return(!e._writableState||!e._writableState.ended)&&(v=new iAe),r.call(e,v)},h=function(){e.req.on(\"finish\",s)};return iAt(e)?(e.on(\"complete\",s),e.on(\"abort\",f),e.req?h():e.on(\"request\",h)):i&&!e._writableState&&(e.on(\"end\",a),e.on(\"close\",a)),e.on(\"end\",u),e.on(\"finish\",s),t.error!==!1&&e.on(\"error\",c),e.on(\"close\",f),function(){e.removeListener(\"complete\",s),e.removeListener(\"abort\",f),e.removeListener(\"request\",h),e.req&&e.req.removeListener(\"finish\",s),e.removeListener(\"end\",a),e.removeListener(\"close\",a),e.removeListener(\"finish\",s),e.removeListener(\"end\",u),e.removeListener(\"error\",c),e.removeListener(\"close\",f)}}aAe.exports=nAe});var sAe=ye((ocr,oAe)=>{\"use strict\";var bR;function z_(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var nAt=xR(),F_=Symbol(\"lastResolve\"),m2=Symbol(\"lastReject\"),X4=Symbol(\"error\"),wR=Symbol(\"ended\"),y2=Symbol(\"lastPromise\"),sj=Symbol(\"handlePromise\"),_2=Symbol(\"stream\");function q_(e,t){return{value:e,done:t}}function aAt(e){var t=e[F_];if(t!==null){var r=e[_2].read();r!==null&&(e[y2]=null,e[F_]=null,e[m2]=null,t(q_(r,!1)))}}function oAt(e){process.nextTick(aAt,e)}function sAt(e,t){return function(r,n){e.then(function(){if(t[wR]){r(q_(void 0,!0));return}t[sj](r,n)},n)}}var lAt=Object.getPrototypeOf(function(){}),uAt=Object.setPrototypeOf((bR={get stream(){return this[_2]},next:function(){var t=this,r=this[X4];if(r!==null)return Promise.reject(r);if(this[wR])return Promise.resolve(q_(void 0,!0));if(this[_2].destroyed)return new Promise(function(o,s){process.nextTick(function(){t[X4]?s(t[X4]):o(q_(void 0,!0))})});var n=this[y2],i;if(n)i=new Promise(sAt(n,this));else{var a=this[_2].read();if(a!==null)return Promise.resolve(q_(a,!1));i=new Promise(this[sj])}return this[y2]=i,i}},z_(bR,Symbol.asyncIterator,function(){return this}),z_(bR,\"return\",function(){var t=this;return new Promise(function(r,n){t[_2].destroy(null,function(i){if(i){n(i);return}r(q_(void 0,!0))})})}),bR),lAt),cAt=function(t){var r,n=Object.create(uAt,(r={},z_(r,_2,{value:t,writable:!0}),z_(r,F_,{value:null,writable:!0}),z_(r,m2,{value:null,writable:!0}),z_(r,X4,{value:null,writable:!0}),z_(r,wR,{value:t._readableState.endEmitted,writable:!0}),z_(r,sj,{value:function(a,o){var s=n[_2].read();s?(n[y2]=null,n[F_]=null,n[m2]=null,a(q_(s,!1))):(n[F_]=a,n[m2]=o)},writable:!0}),r));return n[y2]=null,nAt(t,function(i){if(i&&i.code!==\"ERR_STREAM_PREMATURE_CLOSE\"){var a=n[m2];a!==null&&(n[y2]=null,n[F_]=null,n[m2]=null,a(i)),n[X4]=i;return}var o=n[F_];o!==null&&(n[y2]=null,n[F_]=null,n[m2]=null,o(q_(void 0,!0))),n[wR]=!0}),t.on(\"readable\",oAt.bind(null,n)),n};oAe.exports=cAt});var uAe=ye((scr,lAe)=>{lAe.exports=function(){throw new Error(\"Readable.from is not available in the browser\")}});var rj=ye((ucr,_Ae)=>{\"use strict\";_Ae.exports=vu;var u5;vu.ReadableState=dAe;var lcr=vb().EventEmitter,hAe=function(t,r){return t.listeners(r).length},K4=iG(),TR=u2().Buffer,fAt=window.Uint8Array||function(){};function hAt(e){return TR.from(e)}function dAt(e){return TR.isBuffer(e)||e instanceof fAt}var lj=jG(),Il;lj&&lj.debuglog?Il=lj.debuglog(\"stream\"):Il=function(){};var vAt=z5e(),pj=XG(),pAt=YG(),gAt=pAt.getHighWaterMark,AR=v2().codes,mAt=AR.ERR_INVALID_ARG_TYPE,yAt=AR.ERR_STREAM_PUSH_AFTER_EOF,_At=AR.ERR_METHOD_NOT_IMPLEMENTED,xAt=AR.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,c5,uj,cj;Uy()(vu,K4);var Y4=pj.errorOrDestroy,fj=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];function bAt(e,t,r){if(typeof e.prependListener==\"function\")return e.prependListener(t,r);!e._events||!e._events[t]?e.on(t,r):Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]}function dAe(e,t,r){u5=u5||p2(),e=e||{},typeof r!=\"boolean\"&&(r=t instanceof u5),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=gAt(this,e,\"readableHighWaterMark\",r),this.buffer=new vAt,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(c5||(c5=oj().StringDecoder),this.decoder=new c5(e.encoding),this.encoding=e.encoding)}function vu(e){if(u5=u5||p2(),!(this instanceof vu))return new vu(e);var t=this instanceof u5;this._readableState=new dAe(e,this,t),this.readable=!0,e&&(typeof e.read==\"function\"&&(this._read=e.read),typeof e.destroy==\"function\"&&(this._destroy=e.destroy)),K4.call(this)}Object.defineProperty(vu.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}});vu.prototype.destroy=pj.destroy;vu.prototype._undestroy=pj.undestroy;vu.prototype._destroy=function(e,t){t(e)};vu.prototype.push=function(e,t){var r=this._readableState,n;return r.objectMode?n=!0:typeof e==\"string\"&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=TR.from(e,t),t=\"\"),n=!0),vAe(this,e,t,!1,n)};vu.prototype.unshift=function(e){return vAe(this,e,null,!0,!1)};function vAe(e,t,r,n,i){Il(\"readableAddChunk\",t);var a=e._readableState;if(t===null)a.reading=!1,AAt(e,a);else{var o;if(i||(o=wAt(a,t)),o)Y4(e,o);else if(a.objectMode||t&&t.length>0)if(typeof t!=\"string\"&&!a.objectMode&&Object.getPrototypeOf(t)!==TR.prototype&&(t=hAt(t)),n)a.endEmitted?Y4(e,new xAt):hj(e,a,t,!0);else if(a.ended)Y4(e,new yAt);else{if(a.destroyed)return!1;a.reading=!1,a.decoder&&!r?(t=a.decoder.write(t),a.objectMode||t.length!==0?hj(e,a,t,!1):vj(e,a)):hj(e,a,t,!1)}else n||(a.reading=!1,vj(e,a))}return!a.ended&&(a.length<a.highWaterMark||a.length===0)}function hj(e,t,r,n){t.flowing&&t.length===0&&!t.sync?(t.awaitDrain=0,e.emit(\"data\",r)):(t.length+=t.objectMode?1:r.length,n?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&SR(e)),vj(e,t)}function wAt(e,t){var r;return!dAt(t)&&typeof t!=\"string\"&&t!==void 0&&!e.objectMode&&(r=new mAt(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],t)),r}vu.prototype.isPaused=function(){return this._readableState.flowing===!1};vu.prototype.setEncoding=function(e){c5||(c5=oj().StringDecoder);var t=new c5(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,n=\"\";r!==null;)n+=t.write(r.data),r=r.next;return this._readableState.buffer.clear(),n!==\"\"&&this._readableState.buffer.push(n),this._readableState.length=n.length,this};var cAe=1073741824;function TAt(e){return e>=cAe?e=cAe:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function fAe(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=TAt(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}vu.prototype.read=function(e){Il(\"read\",e),e=parseInt(e,10);var t=this._readableState,r=e;if(e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&((t.highWaterMark!==0?t.length>=t.highWaterMark:t.length>0)||t.ended))return Il(\"read: emitReadable\",t.length,t.ended),t.length===0&&t.ended?dj(this):SR(this),null;if(e=fAe(e,t),e===0&&t.ended)return t.length===0&&dj(this),null;var n=t.needReadable;Il(\"need readable\",n),(t.length===0||t.length-e<t.highWaterMark)&&(n=!0,Il(\"length less than watermark\",n)),t.ended||t.reading?(n=!1,Il(\"reading or ended\",n)):n&&(Il(\"do read\"),t.reading=!0,t.sync=!0,t.length===0&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=fAe(r,t)));var i;return e>0?i=mAe(e,t):i=null,i===null?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),t.length===0&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&dj(this)),i!==null&&this.emit(\"data\",i),i};function AAt(e,t){if(Il(\"onEofChunk\"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?SR(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,pAe(e)))}}function SR(e){var t=e._readableState;Il(\"emitReadable\",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(Il(\"emitReadable\",t.flowing),t.emittedReadable=!0,process.nextTick(pAe,e))}function pAe(e){var t=e._readableState;Il(\"emitReadable_\",t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit(\"readable\"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,gj(e)}function vj(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(SAt,e,t))}function SAt(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&t.length===0);){var r=t.length;if(Il(\"maybeReadMore read 0\"),e.read(0),r===t.length)break}t.readingMore=!1}vu.prototype._read=function(e){Y4(this,new _At(\"_read()\"))};vu.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e);break}n.pipesCount+=1,Il(\"pipe count=%d opts=%j\",n.pipesCount,t);var i=(!t||t.end!==!1)&&e!==process.stdout&&e!==process.stderr,a=i?s:x;n.endEmitted?process.nextTick(a):r.once(\"end\",a),e.on(\"unpipe\",o);function o(b,p){Il(\"onunpipe\"),b===r&&p&&p.hasUnpiped===!1&&(p.hasUnpiped=!0,c())}function s(){Il(\"onend\"),e.end()}var l=MAt(r);e.on(\"drain\",l);var u=!1;function c(){Il(\"cleanup\"),e.removeListener(\"close\",d),e.removeListener(\"finish\",v),e.removeListener(\"drain\",l),e.removeListener(\"error\",h),e.removeListener(\"unpipe\",o),r.removeListener(\"end\",s),r.removeListener(\"end\",x),r.removeListener(\"data\",f),u=!0,n.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&l()}r.on(\"data\",f);function f(b){Il(\"ondata\");var p=e.write(b);Il(\"dest.write\",p),p===!1&&((n.pipesCount===1&&n.pipes===e||n.pipesCount>1&&yAe(n.pipes,e)!==-1)&&!u&&(Il(\"false write response, pause\",n.awaitDrain),n.awaitDrain++),r.pause())}function h(b){Il(\"onerror\",b),x(),e.removeListener(\"error\",h),hAe(e,\"error\")===0&&Y4(e,b)}bAt(e,\"error\",h);function d(){e.removeListener(\"finish\",v),x()}e.once(\"close\",d);function v(){Il(\"onfinish\"),e.removeListener(\"close\",d),x()}e.once(\"finish\",v);function x(){Il(\"unpipe\"),r.unpipe(e)}return e.emit(\"pipe\",r),n.flowing||(Il(\"pipe resume\"),r.resume()),e};function MAt(e){return function(){var r=e._readableState;Il(\"pipeOnDrain\",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&hAe(e,\"data\")&&(r.flowing=!0,gj(e))}}vu.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(t.pipesCount===0)return this;if(t.pipesCount===1)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit(\"unpipe\",this,r),this);if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<i;a++)n[a].emit(\"unpipe\",this,{hasUnpiped:!1});return this}var o=yAe(t.pipes,e);return o===-1?this:(t.pipes.splice(o,1),t.pipesCount-=1,t.pipesCount===1&&(t.pipes=t.pipes[0]),e.emit(\"unpipe\",this,r),this)};vu.prototype.on=function(e,t){var r=K4.prototype.on.call(this,e,t),n=this._readableState;return e===\"data\"?(n.readableListening=this.listenerCount(\"readable\")>0,n.flowing!==!1&&this.resume()):e===\"readable\"&&!n.endEmitted&&!n.readableListening&&(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,Il(\"on readable\",n.length,n.reading),n.length?SR(this):n.reading||process.nextTick(EAt,this)),r};vu.prototype.addListener=vu.prototype.on;vu.prototype.removeListener=function(e,t){var r=K4.prototype.removeListener.call(this,e,t);return e===\"readable\"&&process.nextTick(gAe,this),r};vu.prototype.removeAllListeners=function(e){var t=K4.prototype.removeAllListeners.apply(this,arguments);return(e===\"readable\"||e===void 0)&&process.nextTick(gAe,this),t};function gAe(e){var t=e._readableState;t.readableListening=e.listenerCount(\"readable\")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount(\"data\")>0&&e.resume()}function EAt(e){Il(\"readable nexttick read 0\"),e.read(0)}vu.prototype.resume=function(){var e=this._readableState;return e.flowing||(Il(\"resume\"),e.flowing=!e.readableListening,kAt(this,e)),e.paused=!1,this};function kAt(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(CAt,e,t))}function CAt(e,t){Il(\"resume\",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit(\"resume\"),gj(e),t.flowing&&!t.reading&&e.read(0)}vu.prototype.pause=function(){return Il(\"call pause flowing=%j\",this._readableState.flowing),this._readableState.flowing!==!1&&(Il(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this._readableState.paused=!0,this};function gj(e){var t=e._readableState;for(Il(\"flow\",t.flowing);t.flowing&&e.read()!==null;);}vu.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;e.on(\"end\",function(){if(Il(\"wrapped end\"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&t.push(o)}t.push(null)}),e.on(\"data\",function(o){if(Il(\"wrapped data\"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var s=t.push(o);s||(n=!0,e.pause())}});for(var i in e)this[i]===void 0&&typeof e[i]==\"function\"&&(this[i]=function(s){return function(){return e[s].apply(e,arguments)}}(i));for(var a=0;a<fj.length;a++)e.on(fj[a],this.emit.bind(this,fj[a]));return this._read=function(o){Il(\"wrapped _read\",o),n&&(n=!1,e.resume())},this};typeof Symbol==\"function\"&&(vu.prototype[Symbol.asyncIterator]=function(){return uj===void 0&&(uj=sAe()),uj(this)});Object.defineProperty(vu.prototype,\"readableHighWaterMark\",{enumerable:!1,get:function(){return this._readableState.highWaterMark}});Object.defineProperty(vu.prototype,\"readableBuffer\",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(vu.prototype,\"readableFlowing\",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t)}});vu._fromList=mAe;Object.defineProperty(vu.prototype,\"readableLength\",{enumerable:!1,get:function(){return this._readableState.length}});function mAe(e,t){if(t.length===0)return null;var r;return t.objectMode?r=t.buffer.shift():!e||e>=t.length?(t.decoder?r=t.buffer.join(\"\"):t.buffer.length===1?r=t.buffer.first():r=t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r}function dj(e){var t=e._readableState;Il(\"endReadable\",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(LAt,t,e))}function LAt(e,t){if(Il(\"endReadableNT\",e.endEmitted,e.length),!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit(\"end\"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}typeof Symbol==\"function\"&&(vu.from=function(e,t){return cj===void 0&&(cj=uAe()),cj(vu,e,t)});function yAe(e,t){for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1}});var mj=ye((ccr,bAe)=>{\"use strict\";bAe.exports=Hy;var MR=v2().codes,PAt=MR.ERR_METHOD_NOT_IMPLEMENTED,IAt=MR.ERR_MULTIPLE_CALLBACK,RAt=MR.ERR_TRANSFORM_ALREADY_TRANSFORMING,DAt=MR.ERR_TRANSFORM_WITH_LENGTH_0,ER=p2();Uy()(Hy,ER);function zAt(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(n===null)return this.emit(\"error\",new IAt);r.writechunk=null,r.writecb=null,t!=null&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function Hy(e){if(!(this instanceof Hy))return new Hy(e);ER.call(this,e),this._transformState={afterTransform:zAt.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(typeof e.transform==\"function\"&&(this._transform=e.transform),typeof e.flush==\"function\"&&(this._flush=e.flush)),this.on(\"prefinish\",FAt)}function FAt(){var e=this;typeof this._flush==\"function\"&&!this._readableState.destroyed?this._flush(function(t,r){xAe(e,t,r)}):xAe(this,null,null)}Hy.prototype.push=function(e,t){return this._transformState.needTransform=!1,ER.prototype.push.call(this,e,t)};Hy.prototype._transform=function(e,t,r){r(new PAt(\"_transform()\"))};Hy.prototype._write=function(e,t,r){var n=this._transformState;if(n.writecb=r,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}};Hy.prototype._read=function(e){var t=this._transformState;t.writechunk!==null&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0};Hy.prototype._destroy=function(e,t){ER.prototype._destroy.call(this,e,function(r){t(r)})};function xAe(e,t,r){if(t)return e.emit(\"error\",t);if(r!=null&&e.push(r),e._writableState.length)throw new DAt;if(e._transformState.transforming)throw new RAt;return e.push(null)}});var AAe=ye((fcr,TAe)=>{\"use strict\";TAe.exports=J4;var wAe=mj();Uy()(J4,wAe);function J4(e){if(!(this instanceof J4))return new J4(e);wAe.call(this,e)}J4.prototype._transform=function(e,t,r){r(null,e)}});var CAe=ye((hcr,kAe)=>{\"use strict\";var yj;function qAt(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var EAe=v2().codes,OAt=EAe.ERR_MISSING_ARGS,BAt=EAe.ERR_STREAM_DESTROYED;function SAe(e){if(e)throw e}function NAt(e){return e.setHeader&&typeof e.abort==\"function\"}function UAt(e,t,r,n){n=qAt(n);var i=!1;e.on(\"close\",function(){i=!0}),yj===void 0&&(yj=xR()),yj(e,{readable:t,writable:r},function(o){if(o)return n(o);i=!0,n()});var a=!1;return function(o){if(!i&&!a){if(a=!0,NAt(e))return e.abort();if(typeof e.destroy==\"function\")return e.destroy();n(o||new BAt(\"pipe\"))}}}function MAe(e){e()}function VAt(e,t){return e.pipe(t)}function HAt(e){return!e.length||typeof e[e.length-1]!=\"function\"?SAe:e.pop()}function GAt(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=HAt(t);if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new OAt(\"streams\");var i,a=t.map(function(o,s){var l=s<t.length-1,u=s>0;return UAt(o,l,u,function(c){i||(i=c),c&&a.forEach(MAe),!l&&(a.forEach(MAe),n(i))})});return t.reduce(VAt)}kAe.exports=GAt});var PAe=ye((dcr,LAe)=>{LAe.exports=K0;var _j=vb().EventEmitter,jAt=Uy();jAt(K0,_j);K0.Readable=rj();K0.Writable=QG();K0.Duplex=p2();K0.Transform=mj();K0.PassThrough=AAe();K0.finished=xR();K0.pipeline=CAe();K0.Stream=K0;function K0(){_j.call(this)}K0.prototype.pipe=function(e,t){var r=this;function n(c){e.writable&&e.write(c)===!1&&r.pause&&r.pause()}r.on(\"data\",n);function i(){r.readable&&r.resume&&r.resume()}e.on(\"drain\",i),!e._isStdio&&(!t||t.end!==!1)&&(r.on(\"end\",o),r.on(\"close\",s));var a=!1;function o(){a||(a=!0,e.end())}function s(){a||(a=!0,typeof e.destroy==\"function\"&&e.destroy())}function l(c){if(u(),_j.listenerCount(this,\"error\")===0)throw c}r.on(\"error\",l),e.on(\"error\",l);function u(){r.removeListener(\"data\",n),e.removeListener(\"drain\",i),r.removeListener(\"end\",o),r.removeListener(\"close\",s),r.removeListener(\"error\",l),e.removeListener(\"error\",l),r.removeListener(\"end\",u),r.removeListener(\"close\",u),e.removeListener(\"close\",u)}return r.on(\"end\",u),r.on(\"close\",u),e.on(\"close\",u),e.emit(\"pipe\",r),e}});var h5=ye(Ul=>{var IAe=Object.getOwnPropertyDescriptors||function(t){for(var r=Object.keys(t),n={},i=0;i<r.length;i++)n[r[i]]=Object.getOwnPropertyDescriptor(t,r[i]);return n},WAt=/%[sdj%]/g;Ul.format=function(e){if(!DR(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(O_(arguments[r]));return t.join(\" \")}for(var r=1,n=arguments,i=n.length,a=String(e).replace(WAt,function(s){if(s===\"%%\")return\"%\";if(r>=i)return s;switch(s){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(l){return\"[Circular]\"}default:return s}}),o=n[r];r<i;o=n[++r])RR(o)||!f5(o)?a+=\" \"+o:a+=\" \"+O_(o);return a};Ul.deprecate=function(e,t){if(typeof process!=\"undefined\"&&process.noDeprecation===!0)return e;if(typeof process==\"undefined\")return function(){return Ul.deprecate(e,t).apply(this,arguments)};var r=!1;function n(){if(!r){if(process.throwDeprecation)throw new Error(t);process.traceDeprecation?console.trace(t):console.error(t),r=!0}return e.apply(this,arguments)}return n};var kR={},RAe=/^$/;CR=\"false\",CR=CR.replace(/[|\\\\{}()[\\]^$+?.]/g,\"\\\\$&\").replace(/\\*/g,\".*\").replace(/,/g,\"$|^\").toUpperCase(),RAe=new RegExp(\"^\"+CR+\"$\",\"i\");var CR;Ul.debuglog=function(e){if(e=e.toUpperCase(),!kR[e])if(RAe.test(e)){var t=process.pid;kR[e]=function(){var r=Ul.format.apply(Ul,arguments);console.error(\"%s %d: %s\",e,t,r)}}else kR[e]=function(){};return kR[e]};function O_(e,t){var r={seen:[],stylize:XAt};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),Tj(t)?r.showHidden=t:t&&Ul._extend(r,t),b2(r.showHidden)&&(r.showHidden=!1),b2(r.depth)&&(r.depth=2),b2(r.colors)&&(r.colors=!1),b2(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=ZAt),PR(r,e,r.depth)}Ul.inspect=O_;O_.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]};O_.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};function ZAt(e,t){var r=O_.styles[t];return r?\"\\x1B[\"+O_.colors[r][0]+\"m\"+e+\"\\x1B[\"+O_.colors[r][1]+\"m\":e}function XAt(e,t){return e}function YAt(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function PR(e,t,r){if(e.customInspect&&t&&LR(t.inspect)&&t.inspect!==Ul.inspect&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return DR(n)||(n=PR(e,n,r)),n}var i=KAt(e,t);if(i)return i;var a=Object.keys(t),o=YAt(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),Q4(t)&&(a.indexOf(\"message\")>=0||a.indexOf(\"description\")>=0))return xj(t);if(a.length===0){if(LR(t)){var s=t.name?\": \"+t.name:\"\";return e.stylize(\"[Function\"+s+\"]\",\"special\")}if($4(t))return e.stylize(RegExp.prototype.toString.call(t),\"regexp\");if(IR(t))return e.stylize(Date.prototype.toString.call(t),\"date\");if(Q4(t))return xj(t)}var l=\"\",u=!1,c=[\"{\",\"}\"];if(DAe(t)&&(u=!0,c=[\"[\",\"]\"]),LR(t)){var f=t.name?\": \"+t.name:\"\";l=\" [Function\"+f+\"]\"}if($4(t)&&(l=\" \"+RegExp.prototype.toString.call(t)),IR(t)&&(l=\" \"+Date.prototype.toUTCString.call(t)),Q4(t)&&(l=\" \"+xj(t)),a.length===0&&(!u||t.length==0))return c[0]+l+c[1];if(r<0)return $4(t)?e.stylize(RegExp.prototype.toString.call(t),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(t);var h;return u?h=JAt(e,t,r,o,a):h=a.map(function(d){return wj(e,t,r,o,d,u)}),e.seen.pop(),$At(h,l,c)}function KAt(e,t){if(b2(t))return e.stylize(\"undefined\",\"undefined\");if(DR(t)){var r=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(r,\"string\")}if(zAe(t))return e.stylize(\"\"+t,\"number\");if(Tj(t))return e.stylize(\"\"+t,\"boolean\");if(RR(t))return e.stylize(\"null\",\"null\")}function xj(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function JAt(e,t,r,n,i){for(var a=[],o=0,s=t.length;o<s;++o)FAe(t,String(o))?a.push(wj(e,t,r,n,String(o),!0)):a.push(\"\");return i.forEach(function(l){l.match(/^\\d+$/)||a.push(wj(e,t,r,n,l,!0))}),a}function wj(e,t,r,n,i,a){var o,s,l;if(l=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]},l.get?l.set?s=e.stylize(\"[Getter/Setter]\",\"special\"):s=e.stylize(\"[Getter]\",\"special\"):l.set&&(s=e.stylize(\"[Setter]\",\"special\")),FAe(n,i)||(o=\"[\"+i+\"]\"),s||(e.seen.indexOf(l.value)<0?(RR(r)?s=PR(e,l.value,null):s=PR(e,l.value,r-1),s.indexOf(`\n", - "`)>-1&&(a?s=s.split(`\n", - "`).map(function(u){return\" \"+u}).join(`\n", - "`).slice(2):s=`\n", - "`+s.split(`\n", - "`).map(function(u){return\" \"+u}).join(`\n", - "`))):s=e.stylize(\"[Circular]\",\"special\")),b2(o)){if(a&&i.match(/^\\d+$/))return s;o=JSON.stringify(\"\"+i),o.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.slice(1,-1),o=e.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=e.stylize(o,\"string\"))}return o+\": \"+s}function $At(e,t,r){var n=0,i=e.reduce(function(a,o){return n++,o.indexOf(`\n", - "`)>=0&&n++,a+o.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return i>60?r[0]+(t===\"\"?\"\":t+`\n", - " `)+\" \"+e.join(`,\n", - " `)+\" \"+r[1]:r[0]+t+\" \"+e.join(\", \")+\" \"+r[1]}Ul.types=OG();function DAe(e){return Array.isArray(e)}Ul.isArray=DAe;function Tj(e){return typeof e==\"boolean\"}Ul.isBoolean=Tj;function RR(e){return e===null}Ul.isNull=RR;function QAt(e){return e==null}Ul.isNullOrUndefined=QAt;function zAe(e){return typeof e==\"number\"}Ul.isNumber=zAe;function DR(e){return typeof e==\"string\"}Ul.isString=DR;function eSt(e){return typeof e==\"symbol\"}Ul.isSymbol=eSt;function b2(e){return e===void 0}Ul.isUndefined=b2;function $4(e){return f5(e)&&Aj(e)===\"[object RegExp]\"}Ul.isRegExp=$4;Ul.types.isRegExp=$4;function f5(e){return typeof e==\"object\"&&e!==null}Ul.isObject=f5;function IR(e){return f5(e)&&Aj(e)===\"[object Date]\"}Ul.isDate=IR;Ul.types.isDate=IR;function Q4(e){return f5(e)&&(Aj(e)===\"[object Error]\"||e instanceof Error)}Ul.isError=Q4;Ul.types.isNativeError=Q4;function LR(e){return typeof e==\"function\"}Ul.isFunction=LR;function tSt(e){return e===null||typeof e==\"boolean\"||typeof e==\"number\"||typeof e==\"string\"||typeof e==\"symbol\"||typeof e==\"undefined\"}Ul.isPrimitive=tSt;Ul.isBuffer=BG();function Aj(e){return Object.prototype.toString.call(e)}function bj(e){return e<10?\"0\"+e.toString(10):e.toString(10)}var rSt=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function iSt(){var e=new Date,t=[bj(e.getHours()),bj(e.getMinutes()),bj(e.getSeconds())].join(\":\");return[e.getDate(),rSt[e.getMonth()],t].join(\" \")}Ul.log=function(){console.log(\"%s - %s\",iSt(),Ul.format.apply(Ul,arguments))};Ul.inherits=Uy();Ul._extend=function(e,t){if(!t||!f5(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};function FAe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var x2=typeof Symbol!=\"undefined\"?Symbol(\"util.promisify.custom\"):void 0;Ul.promisify=function(t){if(typeof t!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');if(x2&&t[x2]){var r=t[x2];if(typeof r!=\"function\")throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(r,x2,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var n,i,a=new Promise(function(l,u){n=l,i=u}),o=[],s=0;s<arguments.length;s++)o.push(arguments[s]);o.push(function(l,u){l?i(l):n(u)});try{t.apply(this,o)}catch(l){i(l)}return a}return Object.setPrototypeOf(r,Object.getPrototypeOf(t)),x2&&Object.defineProperty(r,x2,{value:r,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(r,IAe(t))};Ul.promisify.custom=x2;function nSt(e,t){if(!e){var r=new Error(\"Promise was rejected with a falsy value\");r.reason=e,e=r}return t(e)}function aSt(e){if(typeof e!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');function t(){for(var r=[],n=0;n<arguments.length;n++)r.push(arguments[n]);var i=r.pop();if(typeof i!=\"function\")throw new TypeError(\"The last argument must be of type Function\");var a=this,o=function(){return i.apply(a,arguments)};e.apply(this,r).then(function(s){process.nextTick(o.bind(null,null,s))},function(s){process.nextTick(nSt.bind(null,s,o))})}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),Object.defineProperties(t,IAe(e)),t}Ul.callbackify=aSt});var Ej=ye((pcr,NAe)=>{\"use strict\";function B_(e){\"@babel/helpers - typeof\";return B_=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},B_(e)}function qAe(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,sSt(n.key),n)}}function oSt(e,t,r){return t&&qAe(e.prototype,t),r&&qAe(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function sSt(e){var t=lSt(e,\"string\");return B_(t)===\"symbol\"?t:String(t)}function lSt(e,t){if(B_(e)!==\"object\"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||\"default\");if(B_(n)!==\"object\")return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(t===\"string\"?String:Number)(e)}function uSt(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function cSt(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&Mj(e,t)}function Mj(e,t){return Mj=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},Mj(e,t)}function fSt(e){var t=vSt();return function(){var n=zR(e),i;if(t){var a=zR(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return hSt(this,i)}}function hSt(e,t){if(t&&(B_(t)===\"object\"||typeof t==\"function\"))return t;if(t!==void 0)throw new TypeError(\"Derived constructors may only return object or undefined\");return dSt(e)}function dSt(e){if(e===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function vSt(){if(typeof Reflect==\"undefined\"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==\"function\")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function zR(e){return zR=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},zR(e)}var BAe={},d5,Sj;function eE(e,t,r){r||(r=Error);function n(a,o,s){return typeof t==\"string\"?t:t(a,o,s)}var i=function(a){cSt(s,a);var o=fSt(s);function s(l,u,c){var f;return uSt(this,s),f=o.call(this,n(l,u,c)),f.code=e,f}return oSt(s)}(r);BAe[e]=i}function OAe(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(n){return String(n)}),r>2?\"one of \".concat(t,\" \").concat(e.slice(0,r-1).join(\", \"),\", or \")+e[r-1]:r===2?\"one of \".concat(t,\" \").concat(e[0],\" or \").concat(e[1]):\"of \".concat(t,\" \").concat(e[0])}else return\"of \".concat(t,\" \").concat(String(e))}function pSt(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function gSt(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function mSt(e,t,r){return typeof r!=\"number\"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}eE(\"ERR_AMBIGUOUS_ARGUMENT\",'The \"%s\" argument is ambiguous. %s',TypeError);eE(\"ERR_INVALID_ARG_TYPE\",function(e,t,r){d5===void 0&&(d5=tE()),d5(typeof e==\"string\",\"'name' must be a string\");var n;typeof t==\"string\"&&pSt(t,\"not \")?(n=\"must not be\",t=t.replace(/^not /,\"\")):n=\"must be\";var i;if(gSt(e,\" argument\"))i=\"The \".concat(e,\" \").concat(n,\" \").concat(OAe(t,\"type\"));else{var a=mSt(e,\".\")?\"property\":\"argument\";i='The \"'.concat(e,'\" ').concat(a,\" \").concat(n,\" \").concat(OAe(t,\"type\"))}return i+=\". Received type \".concat(B_(r)),i},TypeError);eE(\"ERR_INVALID_ARG_VALUE\",function(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\"is invalid\";Sj===void 0&&(Sj=h5());var n=Sj.inspect(t);return n.length>128&&(n=\"\".concat(n.slice(0,128),\"...\")),\"The argument '\".concat(e,\"' \").concat(r,\". Received \").concat(n)},TypeError,RangeError);eE(\"ERR_INVALID_RETURN_VALUE\",function(e,t,r){var n;return r&&r.constructor&&r.constructor.name?n=\"instance of \".concat(r.constructor.name):n=\"type \".concat(B_(r)),\"Expected \".concat(e,' to be returned from the \"').concat(t,'\"')+\" function but got \".concat(n,\".\")},TypeError);eE(\"ERR_MISSING_ARGS\",function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];d5===void 0&&(d5=tE()),d5(t.length>0,\"At least one arg needs to be specified\");var n=\"The \",i=t.length;switch(t=t.map(function(a){return'\"'.concat(a,'\"')}),i){case 1:n+=\"\".concat(t[0],\" argument\");break;case 2:n+=\"\".concat(t[0],\" and \").concat(t[1],\" arguments\");break;default:n+=t.slice(0,i-1).join(\", \"),n+=\", and \".concat(t[i-1],\" arguments\");break}return\"\".concat(n,\" must be specified\")},TypeError);NAe.exports.codes=BAe});var KAe=ye((gcr,YAe)=>{\"use strict\";function UAe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function VAe(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?UAe(Object(r),!0).forEach(function(n){ySt(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):UAe(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function ySt(e,t,r){return t=WAe(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _St(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function HAe(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,WAe(n.key),n)}}function xSt(e,t,r){return t&&HAe(e.prototype,t),r&&HAe(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function WAe(e){var t=bSt(e,\"string\");return Dp(t)===\"symbol\"?t:String(t)}function bSt(e,t){if(Dp(e)!==\"object\"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||\"default\");if(Dp(n)!==\"object\")return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(t===\"string\"?String:Number)(e)}function wSt(e,t){if(typeof t!=\"function\"&&t!==null)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&aE(e,t)}function TSt(e){var t=XAe();return function(){var n=oE(e),i;if(t){var a=oE(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return ZAe(this,i)}}function ZAe(e,t){if(t&&(Dp(t)===\"object\"||typeof t==\"function\"))return t;if(t!==void 0)throw new TypeError(\"Derived constructors may only return object or undefined\");return kj(e)}function kj(e){if(e===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function Cj(e){var t=typeof Map==\"function\"?new Map:void 0;return Cj=function(n){if(n===null||!ASt(n))return n;if(typeof n!=\"function\")throw new TypeError(\"Super expression must either be null or a function\");if(typeof t!=\"undefined\"){if(t.has(n))return t.get(n);t.set(n,i)}function i(){return FR(n,arguments,oE(this).constructor)}return i.prototype=Object.create(n.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),aE(i,n)},Cj(e)}function FR(e,t,r){return XAe()?FR=Reflect.construct.bind():FR=function(i,a,o){var s=[null];s.push.apply(s,a);var l=Function.bind.apply(i,s),u=new l;return o&&aE(u,o.prototype),u},FR.apply(null,arguments)}function XAe(){if(typeof Reflect==\"undefined\"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==\"function\")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function ASt(e){return Function.toString.call(e).indexOf(\"[native code]\")!==-1}function aE(e,t){return aE=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},aE(e,t)}function oE(e){return oE=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},oE(e)}function Dp(e){\"@babel/helpers - typeof\";return Dp=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},Dp(e)}var SSt=h5(),Lj=SSt.inspect,MSt=Ej(),ESt=MSt.codes.ERR_INVALID_ARG_TYPE;function GAe(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function kSt(e,t){if(t=Math.floor(t),e.length==0||t==0)return\"\";var r=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+=e.substring(0,r-e.length),e}var Gg=\"\",rE=\"\",iE=\"\",xv=\"\",w2={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:\"},CSt=10;function jAe(e){var t=Object.keys(e),r=Object.create(Object.getPrototypeOf(e));return t.forEach(function(n){r[n]=e[n]}),Object.defineProperty(r,\"message\",{value:e.message}),r}function nE(e){return Lj(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function LSt(e,t,r){var n=\"\",i=\"\",a=0,o=\"\",s=!1,l=nE(e),u=l.split(`\n", - "`),c=nE(t).split(`\n", - "`),f=0,h=\"\";if(r===\"strictEqual\"&&Dp(e)===\"object\"&&Dp(t)===\"object\"&&e!==null&&t!==null&&(r=\"strictEqualObject\"),u.length===1&&c.length===1&&u[0]!==c[0]){var d=u[0].length+c[0].length;if(d<=CSt){if((Dp(e)!==\"object\"||e===null)&&(Dp(t)!==\"object\"||t===null)&&(e!==0||t!==0))return\"\".concat(w2[r],`\n", - "\n", - "`)+\"\".concat(u[0],\" !== \").concat(c[0],`\n", - "`)}else if(r!==\"strictEqualObject\"){var v=process.stderr&&process.stderr.isTTY?process.stderr.columns:80;if(d<v){for(;u[0][f]===c[0][f];)f++;f>2&&(h=`\n", - " `.concat(kSt(\" \",f),\"^\"),f=0)}}}for(var x=u[u.length-1],b=c[c.length-1];x===b&&(f++<2?o=`\n", - " `.concat(x).concat(o):n=x,u.pop(),c.pop(),!(u.length===0||c.length===0));)x=u[u.length-1],b=c[c.length-1];var p=Math.max(u.length,c.length);if(p===0){var E=l.split(`\n", - "`);if(E.length>30)for(E[26]=\"\".concat(Gg,\"...\").concat(xv);E.length>27;)E.pop();return\"\".concat(w2.notIdentical,`\n", - "\n", - "`).concat(E.join(`\n", - "`),`\n", - "`)}f>3&&(o=`\n", - "`.concat(Gg,\"...\").concat(xv).concat(o),s=!0),n!==\"\"&&(o=`\n", - " `.concat(n).concat(o),n=\"\");var k=0,A=w2[r]+`\n", - "`.concat(rE,\"+ actual\").concat(xv,\" \").concat(iE,\"- expected\").concat(xv),L=\" \".concat(Gg,\"...\").concat(xv,\" Lines skipped\");for(f=0;f<p;f++){var _=f-a;if(u.length<f+1)_>1&&f>2&&(_>4?(i+=`\n", - "`.concat(Gg,\"...\").concat(xv),s=!0):_>3&&(i+=`\n", - " `.concat(c[f-2]),k++),i+=`\n", - " `.concat(c[f-1]),k++),a=f,n+=`\n", - "`.concat(iE,\"-\").concat(xv,\" \").concat(c[f]),k++;else if(c.length<f+1)_>1&&f>2&&(_>4?(i+=`\n", - "`.concat(Gg,\"...\").concat(xv),s=!0):_>3&&(i+=`\n", - " `.concat(u[f-2]),k++),i+=`\n", - " `.concat(u[f-1]),k++),a=f,i+=`\n", - "`.concat(rE,\"+\").concat(xv,\" \").concat(u[f]),k++;else{var C=c[f],M=u[f],g=M!==C&&(!GAe(M,\",\")||M.slice(0,-1)!==C);g&&GAe(C,\",\")&&C.slice(0,-1)===M&&(g=!1,M+=\",\"),g?(_>1&&f>2&&(_>4?(i+=`\n", - "`.concat(Gg,\"...\").concat(xv),s=!0):_>3&&(i+=`\n", - " `.concat(u[f-2]),k++),i+=`\n", - " `.concat(u[f-1]),k++),a=f,i+=`\n", - "`.concat(rE,\"+\").concat(xv,\" \").concat(M),n+=`\n", - "`.concat(iE,\"-\").concat(xv,\" \").concat(C),k+=2):(i+=n,n=\"\",(_===1||f===0)&&(i+=`\n", - " `.concat(M),k++))}if(k>20&&f<p-2)return\"\".concat(A).concat(L,`\n", - "`).concat(i,`\n", - "`).concat(Gg,\"...\").concat(xv).concat(n,`\n", - "`)+\"\".concat(Gg,\"...\").concat(xv)}return\"\".concat(A).concat(s?L:\"\",`\n", - "`).concat(i).concat(n).concat(o).concat(h)}var PSt=function(e,t){wSt(n,e);var r=TSt(n);function n(i){var a;if(_St(this,n),Dp(i)!==\"object\"||i===null)throw new ESt(\"options\",\"Object\",i);var o=i.message,s=i.operator,l=i.stackStartFn,u=i.actual,c=i.expected,f=Error.stackTraceLimit;if(Error.stackTraceLimit=0,o!=null)a=r.call(this,String(o));else if(process.stderr&&process.stderr.isTTY&&(process.stderr&&process.stderr.getColorDepth&&process.stderr.getColorDepth()!==1?(Gg=\"\\x1B[34m\",rE=\"\\x1B[32m\",xv=\"\\x1B[39m\",iE=\"\\x1B[31m\"):(Gg=\"\",rE=\"\",xv=\"\",iE=\"\")),Dp(u)===\"object\"&&u!==null&&Dp(c)===\"object\"&&c!==null&&\"stack\"in u&&u instanceof Error&&\"stack\"in c&&c instanceof Error&&(u=jAe(u),c=jAe(c)),s===\"deepStrictEqual\"||s===\"strictEqual\")a=r.call(this,LSt(u,c,s));else if(s===\"notDeepStrictEqual\"||s===\"notStrictEqual\"){var h=w2[s],d=nE(u).split(`\n", - "`);if(s===\"notStrictEqual\"&&Dp(u)===\"object\"&&u!==null&&(h=w2.notStrictEqualObject),d.length>30)for(d[26]=\"\".concat(Gg,\"...\").concat(xv);d.length>27;)d.pop();d.length===1?a=r.call(this,\"\".concat(h,\" \").concat(d[0])):a=r.call(this,\"\".concat(h,`\n", - "\n", - "`).concat(d.join(`\n", - "`),`\n", - "`))}else{var v=nE(u),x=\"\",b=w2[s];s===\"notDeepEqual\"||s===\"notEqual\"?(v=\"\".concat(w2[s],`\n", - "\n", - "`).concat(v),v.length>1024&&(v=\"\".concat(v.slice(0,1021),\"...\"))):(x=\"\".concat(nE(c)),v.length>512&&(v=\"\".concat(v.slice(0,509),\"...\")),x.length>512&&(x=\"\".concat(x.slice(0,509),\"...\")),s===\"deepEqual\"||s===\"equal\"?v=\"\".concat(b,`\n", - "\n", - "`).concat(v,`\n", - "\n", - "should equal\n", - "\n", - "`):x=\" \".concat(s,\" \").concat(x)),a=r.call(this,\"\".concat(v).concat(x))}return Error.stackTraceLimit=f,a.generatedMessage=!o,Object.defineProperty(kj(a),\"name\",{value:\"AssertionError [ERR_ASSERTION]\",enumerable:!1,writable:!0,configurable:!0}),a.code=\"ERR_ASSERTION\",a.actual=u,a.expected=c,a.operator=s,Error.captureStackTrace&&Error.captureStackTrace(kj(a),l),a.stack,a.name=\"AssertionError\",ZAe(a)}return xSt(n,[{key:\"toString\",value:function(){return\"\".concat(this.name,\" [\").concat(this.code,\"]: \").concat(this.message)}},{key:t,value:function(a,o){return Lj(this,VAe(VAe({},o),{},{customInspect:!1,depth:0}))}}]),n}(Cj(Error),Lj.custom);YAe.exports=PSt});var Pj=ye((mcr,$Ae)=>{\"use strict\";var JAe=Object.prototype.toString;$Ae.exports=function(t){var r=JAe.call(t),n=r===\"[object Arguments]\";return n||(n=r!==\"[object Array]\"&&t!==null&&typeof t==\"object\"&&typeof t.length==\"number\"&&t.length>=0&&JAe.call(t.callee)===\"[object Function]\"),n}});var sSe=ye((ycr,oSe)=>{\"use strict\";var aSe;Object.keys||(sE=Object.prototype.hasOwnProperty,Ij=Object.prototype.toString,QAe=Pj(),Rj=Object.prototype.propertyIsEnumerable,eSe=!Rj.call({toString:null},\"toString\"),tSe=Rj.call(function(){},\"prototype\"),lE=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],qR=function(e){var t=e.constructor;return t&&t.prototype===e},rSe={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},iSe=function(){if(typeof window==\"undefined\")return!1;for(var e in window)try{if(!rSe[\"$\"+e]&&sE.call(window,e)&&window[e]!==null&&typeof window[e]==\"object\")try{qR(window[e])}catch(t){return!0}}catch(t){return!0}return!1}(),nSe=function(e){if(typeof window==\"undefined\"||!iSe)return qR(e);try{return qR(e)}catch(t){return!1}},aSe=function(t){var r=t!==null&&typeof t==\"object\",n=Ij.call(t)===\"[object Function]\",i=QAe(t),a=r&&Ij.call(t)===\"[object String]\",o=[];if(!r&&!n&&!i)throw new TypeError(\"Object.keys called on a non-object\");var s=tSe&&n;if(a&&t.length>0&&!sE.call(t,0))for(var l=0;l<t.length;++l)o.push(String(l));if(i&&t.length>0)for(var u=0;u<t.length;++u)o.push(String(u));else for(var c in t)!(s&&c===\"prototype\")&&sE.call(t,c)&&o.push(String(c));if(eSe)for(var f=nSe(t),h=0;h<lE.length;++h)!(f&&lE[h]===\"constructor\")&&sE.call(t,lE[h])&&o.push(lE[h]);return o});var sE,Ij,QAe,Rj,eSe,tSe,lE,qR,rSe,iSe,nSe;oSe.exports=aSe});var Dj=ye((_cr,cSe)=>{\"use strict\";var ISt=Array.prototype.slice,RSt=Pj(),lSe=Object.keys,OR=lSe?function(t){return lSe(t)}:sSe(),uSe=Object.keys;OR.shim=function(){if(Object.keys){var t=function(){var r=Object.keys(arguments);return r&&r.length===arguments.length}(1,2);t||(Object.keys=function(n){return RSt(n)?uSe(ISt.call(n)):uSe(n)})}else Object.keys=OR;return Object.keys||OR};cSe.exports=OR});var gSe=ye((xcr,pSe)=>{\"use strict\";var DSt=Dj(),dSe=B8()(),vSe=i5(),fSe=Object,zSt=vSe(\"Array.prototype.push\"),hSe=vSe(\"Object.prototype.propertyIsEnumerable\"),FSt=dSe?Object.getOwnPropertySymbols:null;pSe.exports=function(t,r){if(t==null)throw new TypeError(\"target must be an object\");var n=fSe(t);if(arguments.length===1)return n;for(var i=1;i<arguments.length;++i){var a=fSe(arguments[i]),o=DSt(a),s=dSe&&(Object.getOwnPropertySymbols||FSt);if(s)for(var l=s(a),u=0;u<l.length;++u){var c=l[u];hSe(a,c)&&zSt(o,c)}for(var f=0;f<o.length;++f){var h=o[f];if(hSe(a,h)){var d=a[h];n[h]=d}}}return n}});var ySe=ye((bcr,mSe)=>{\"use strict\";var zj=gSe(),qSt=function(){if(!Object.assign)return!1;for(var e=\"abcdefghijklmnopqrst\",t=e.split(\"\"),r={},n=0;n<t.length;++n)r[t[n]]=t[n];var i=Object.assign({},r),a=\"\";for(var o in i)a+=o;return e!==a},OSt=function(){if(!Object.assign||!Object.preventExtensions)return!1;var e=Object.preventExtensions({1:2});try{Object.assign(e,\"xy\")}catch(t){return e[1]===\"y\"}return!1};mSe.exports=function(){return!Object.assign||qSt()||OSt()?zj:Object.assign}});var Fj=ye((wcr,xSe)=>{\"use strict\";var _Se=function(e){return e!==e};xSe.exports=function(t,r){return t===0&&r===0?1/t===1/r:!!(t===r||_Se(t)&&_Se(r))}});var BR=ye((Tcr,bSe)=>{\"use strict\";var BSt=Fj();bSe.exports=function(){return typeof Object.is==\"function\"?Object.is:BSt}});var uE=ye((Acr,SSe)=>{\"use strict\";var NSt=Dj(),USt=typeof Symbol==\"function\"&&typeof Symbol(\"foo\")==\"symbol\",VSt=Object.prototype.toString,HSt=Array.prototype.concat,wSe=Object.defineProperty,GSt=function(e){return typeof e==\"function\"&&VSt.call(e)===\"[object Function]\"},jSt=yG()(),TSe=wSe&&jSt,WSt=function(e,t,r,n){if(t in e){if(n===!0){if(e[t]===r)return}else if(!GSt(n)||!n())return}TSe?wSe(e,t,{configurable:!0,enumerable:!1,value:r,writable:!0}):e[t]=r},ASe=function(e,t){var r=arguments.length>2?arguments[2]:{},n=NSt(t);USt&&(n=HSt.call(n,Object.getOwnPropertySymbols(t)));for(var i=0;i<n.length;i+=1)WSt(e,n[i],t[n[i]],r[n[i]])};ASe.supportsDescriptors=!!TSe;SSe.exports=ASe});var ESe=ye((Scr,MSe)=>{\"use strict\";var ZSt=BR(),XSt=uE();MSe.exports=function(){var t=ZSt();return XSt(Object,{is:t},{is:function(){return Object.is!==t}}),t}});var PSe=ye((Mcr,LSe)=>{\"use strict\";var YSt=uE(),KSt=N4(),JSt=Fj(),kSe=BR(),$St=ESe(),CSe=KSt(kSe(),Object);YSt(CSe,{getPolyfill:kSe,implementation:JSt,shim:$St});LSe.exports=CSe});var qj=ye((Ecr,ISe)=>{\"use strict\";ISe.exports=function(t){return t!==t}});var Oj=ye((kcr,RSe)=>{\"use strict\";var QSt=qj();RSe.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN(\"a\")?Number.isNaN:QSt}});var zSe=ye((Ccr,DSe)=>{\"use strict\";var eMt=uE(),tMt=Oj();DSe.exports=function(){var t=tMt();return eMt(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}});var BSe=ye((Lcr,OSe)=>{\"use strict\";var rMt=N4(),iMt=uE(),nMt=qj(),FSe=Oj(),aMt=zSe(),qSe=rMt(FSe(),Number);iMt(qSe,{getPolyfill:FSe,implementation:nMt,shim:aMt});OSe.exports=qSe});var aMe=ye((Pcr,nMe)=>{\"use strict\";function NSe(e,t){return uMt(e)||lMt(e,t)||sMt(e,t)||oMt()}function oMt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.\n", - "In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function sMt(e,t){if(e){if(typeof e==\"string\")return USe(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r===\"Object\"&&e.constructor&&(r=e.constructor.name),r===\"Map\"||r===\"Set\")return Array.from(e);if(r===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return USe(e,t)}}function USe(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function lMt(e,t){var r=e==null?null:typeof Symbol!=\"undefined\"&&e[Symbol.iterator]||e[\"@@iterator\"];if(r!=null){var n,i,a,o,s=[],l=!0,u=!1;try{if(a=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(c){u=!0,i=c}finally{try{if(!l&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}function uMt(e){if(Array.isArray(e))return e}function J0(e){\"@babel/helpers - typeof\";return J0=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},J0(e)}var cMt=/a/g.flags!==void 0,WR=function(t){var r=[];return t.forEach(function(n){return r.push(n)}),r},VSe=function(t){var r=[];return t.forEach(function(n,i){return r.push([i,n])}),r},QSe=Object.is?Object.is:PSe(),GR=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},Bj=Number.isNaN?Number.isNaN:BSe();function Uj(e){return e.call.bind(e)}var fE=Uj(Object.prototype.hasOwnProperty),jR=Uj(Object.prototype.propertyIsEnumerable),HSe=Uj(Object.prototype.toString),sp=h5().types,fMt=sp.isAnyArrayBuffer,hMt=sp.isArrayBufferView,GSe=sp.isDate,NR=sp.isMap,jSe=sp.isRegExp,UR=sp.isSet,dMt=sp.isNativeError,vMt=sp.isBoxedPrimitive,WSe=sp.isNumberObject,ZSe=sp.isStringObject,XSe=sp.isBooleanObject,YSe=sp.isBigIntObject,pMt=sp.isSymbolObject,gMt=sp.isFloat32Array,mMt=sp.isFloat64Array;function yMt(e){if(e.length===0||e.length>10)return!0;for(var t=0;t<e.length;t++){var r=e.charCodeAt(t);if(r<48||r>57)return!0}return e.length===10&&e>=Math.pow(2,32)}function VR(e){return Object.keys(e).filter(yMt).concat(GR(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}function eMe(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i<a;++i)if(e[i]!==t[i]){r=e[i],n=t[i];break}return r<n?-1:n<r?1:0}var HR=void 0,_Mt=!0,xMt=!1,Nj=0,Vj=1,tMe=2,rMe=3;function bMt(e,t){return cMt?e.source===t.source&&e.flags===t.flags:RegExp.prototype.toString.call(e)===RegExp.prototype.toString.call(t)}function wMt(e,t){if(e.byteLength!==t.byteLength)return!1;for(var r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function TMt(e,t){return e.byteLength!==t.byteLength?!1:eMe(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))===0}function AMt(e,t){return e.byteLength===t.byteLength&&eMe(new Uint8Array(e),new Uint8Array(t))===0}function SMt(e,t){return WSe(e)?WSe(t)&&QSe(Number.prototype.valueOf.call(e),Number.prototype.valueOf.call(t)):ZSe(e)?ZSe(t)&&String.prototype.valueOf.call(e)===String.prototype.valueOf.call(t):XSe(e)?XSe(t)&&Boolean.prototype.valueOf.call(e)===Boolean.prototype.valueOf.call(t):YSe(e)?YSe(t)&&BigInt.prototype.valueOf.call(e)===BigInt.prototype.valueOf.call(t):pMt(t)&&Symbol.prototype.valueOf.call(e)===Symbol.prototype.valueOf.call(t)}function $0(e,t,r,n){if(e===t)return e!==0?!0:r?QSe(e,t):!0;if(r){if(J0(e)!==\"object\")return typeof e==\"number\"&&Bj(e)&&Bj(t);if(J0(t)!==\"object\"||e===null||t===null||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1}else{if(e===null||J0(e)!==\"object\")return t===null||J0(t)!==\"object\"?e==t:!1;if(t===null||J0(t)!==\"object\")return!1}var i=HSe(e),a=HSe(t);if(i!==a)return!1;if(Array.isArray(e)){if(e.length!==t.length)return!1;var o=VR(e,HR),s=VR(t,HR);return o.length!==s.length?!1:cE(e,t,r,n,Vj,o)}if(i===\"[object Object]\"&&(!NR(e)&&NR(t)||!UR(e)&&UR(t)))return!1;if(GSe(e)){if(!GSe(t)||Date.prototype.getTime.call(e)!==Date.prototype.getTime.call(t))return!1}else if(jSe(e)){if(!jSe(t)||!bMt(e,t))return!1}else if(dMt(e)||e instanceof Error){if(e.message!==t.message||e.name!==t.name)return!1}else if(hMt(e)){if(!r&&(gMt(e)||mMt(e))){if(!wMt(e,t))return!1}else if(!TMt(e,t))return!1;var l=VR(e,HR),u=VR(t,HR);return l.length!==u.length?!1:cE(e,t,r,n,Nj,l)}else{if(UR(e))return!UR(t)||e.size!==t.size?!1:cE(e,t,r,n,tMe);if(NR(e))return!NR(t)||e.size!==t.size?!1:cE(e,t,r,n,rMe);if(fMt(e)){if(!AMt(e,t))return!1}else if(vMt(e)&&!SMt(e,t))return!1}return cE(e,t,r,n,Nj)}function KSe(e,t){return t.filter(function(r){return jR(e,r)})}function cE(e,t,r,n,i,a){if(arguments.length===5){a=Object.keys(e);var o=Object.keys(t);if(a.length!==o.length)return!1}for(var s=0;s<a.length;s++)if(!fE(t,a[s]))return!1;if(r&&arguments.length===5){var l=GR(e);if(l.length!==0){var u=0;for(s=0;s<l.length;s++){var c=l[s];if(jR(e,c)){if(!jR(t,c))return!1;a.push(c),u++}else if(jR(t,c))return!1}var f=GR(t);if(l.length!==f.length&&KSe(t,f).length!==u)return!1}else{var h=GR(t);if(h.length!==0&&KSe(t,h).length!==0)return!1}}if(a.length===0&&(i===Nj||i===Vj&&e.length===0||e.size===0))return!0;if(n===void 0)n={val1:new Map,val2:new Map,position:0};else{var d=n.val1.get(e);if(d!==void 0){var v=n.val2.get(t);if(v!==void 0)return d===v}n.position++}n.val1.set(e,n.position),n.val2.set(t,n.position);var x=LMt(e,t,r,a,n,i);return n.val1.delete(e),n.val2.delete(t),x}function JSe(e,t,r,n){for(var i=WR(e),a=0;a<i.length;a++){var o=i[a];if($0(t,o,r,n))return e.delete(o),!0}return!1}function iMe(e){switch(J0(e)){case\"undefined\":return null;case\"object\":return;case\"symbol\":return!1;case\"string\":e=+e;case\"number\":if(Bj(e))return!1}return!0}function MMt(e,t,r){var n=iMe(r);return n!=null?n:t.has(n)&&!e.has(n)}function EMt(e,t,r,n,i){var a=iMe(r);if(a!=null)return a;var o=t.get(a);return o===void 0&&!t.has(a)||!$0(n,o,!1,i)?!1:!e.has(a)&&$0(n,o,!1,i)}function kMt(e,t,r,n){for(var i=null,a=WR(e),o=0;o<a.length;o++){var s=a[o];if(J0(s)===\"object\"&&s!==null)i===null&&(i=new Set),i.add(s);else if(!t.has(s)){if(r||!MMt(e,t,s))return!1;i===null&&(i=new Set),i.add(s)}}if(i!==null){for(var l=WR(t),u=0;u<l.length;u++){var c=l[u];if(J0(c)===\"object\"&&c!==null){if(!JSe(i,c,r,n))return!1}else if(!r&&!e.has(c)&&!JSe(i,c,r,n))return!1}return i.size===0}return!0}function $Se(e,t,r,n,i,a){for(var o=WR(e),s=0;s<o.length;s++){var l=o[s];if($0(r,l,i,a)&&$0(n,t.get(l),i,a))return e.delete(l),!0}return!1}function CMt(e,t,r,n){for(var i=null,a=VSe(e),o=0;o<a.length;o++){var s=NSe(a[o],2),l=s[0],u=s[1];if(J0(l)===\"object\"&&l!==null)i===null&&(i=new Set),i.add(l);else{var c=t.get(l);if(c===void 0&&!t.has(l)||!$0(u,c,r,n)){if(r||!EMt(e,t,l,u,n))return!1;i===null&&(i=new Set),i.add(l)}}}if(i!==null){for(var f=VSe(t),h=0;h<f.length;h++){var d=NSe(f[h],2),v=d[0],x=d[1];if(J0(v)===\"object\"&&v!==null){if(!$Se(i,e,v,x,r,n))return!1}else if(!r&&(!e.has(v)||!$0(e.get(v),x,!1,n))&&!$Se(i,e,v,x,!1,n))return!1}return i.size===0}return!0}function LMt(e,t,r,n,i,a){var o=0;if(a===tMe){if(!kMt(e,t,r,i))return!1}else if(a===rMe){if(!CMt(e,t,r,i))return!1}else if(a===Vj)for(;o<e.length;o++)if(fE(e,o)){if(!fE(t,o)||!$0(e[o],t[o],r,i))return!1}else{if(fE(t,o))return!1;for(var s=Object.keys(e);o<s.length;o++){var l=s[o];if(!fE(t,l)||!$0(e[l],t[l],r,i))return!1}return s.length===Object.keys(t).length}for(o=0;o<n.length;o++){var u=n[o];if(!$0(e[u],t[u],r,i))return!1}return!0}function PMt(e,t){return $0(e,t,xMt)}function IMt(e,t){return $0(e,t,_Mt)}nMe.exports={isDeepEqual:PMt,isDeepStrictEqual:IMt}});var tE=ye((Icr,TMe)=>{\"use strict\";function jg(e){\"@babel/helpers - typeof\";return jg=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},jg(e)}function oMe(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,DMt(n.key),n)}}function RMt(e,t,r){return t&&oMe(e.prototype,t),r&&oMe(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function DMt(e){var t=zMt(e,\"string\");return jg(t)===\"symbol\"?t:String(t)}function zMt(e,t){if(jg(e)!==\"object\"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||\"default\");if(jg(n)!==\"object\")return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(t===\"string\"?String:Number)(e)}function FMt(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var qMt=Ej(),hE=qMt.codes,sMe=hE.ERR_AMBIGUOUS_ARGUMENT,v5=hE.ERR_INVALID_ARG_TYPE,OMt=hE.ERR_INVALID_ARG_VALUE,BMt=hE.ERR_INVALID_RETURN_VALUE,U_=hE.ERR_MISSING_ARGS,V_=KAe(),NMt=h5(),ZR=NMt.inspect,fMe=h5().types,UMt=fMe.isPromise,XR=fMe.isRegExp,VMt=ySe()(),hMe=BR()(),YR=i5()(\"RegExp.prototype.test\"),N_,KR;function dE(){var e=aMe();N_=e.isDeepEqual,KR=e.isDeepStrictEqual}var lMe=!1,sf=TMe.exports=Hj,JR={};function Wg(e){throw e.message instanceof Error?e.message:new V_(e)}function dMe(e,t,r,n,i){var a=arguments.length,o;if(a===0)o=\"Failed\";else if(a===1)r=e,e=void 0;else{if(lMe===!1){lMe=!0;var s=process.emitWarning?process.emitWarning:console.warn.bind(console);s(\"assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.\",\"DeprecationWarning\",\"DEP0094\")}a===2&&(n=\"!=\")}if(r instanceof Error)throw r;var l={actual:e,expected:t,operator:n===void 0?\"fail\":n,stackStartFn:i||dMe};r!==void 0&&(l.message=r);var u=new V_(l);throw o&&(u.message=o,u.generatedMessage=!0),u}sf.fail=dMe;sf.AssertionError=V_;function vMe(e,t,r,n){if(!r){var i=!1;if(t===0)i=!0,n=\"No value argument passed to `assert.ok()`\";else if(n instanceof Error)throw n;var a=new V_({actual:r,expected:!0,message:n,operator:\"==\",stackStartFn:e});throw a.generatedMessage=i,a}}function Hj(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];vMe.apply(void 0,[Hj,t.length].concat(t))}sf.ok=Hj;sf.equal=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");t!=r&&Wg({actual:t,expected:r,message:n,operator:\"==\",stackStartFn:e})};sf.notEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");t==r&&Wg({actual:t,expected:r,message:n,operator:\"!=\",stackStartFn:e})};sf.deepEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");N_===void 0&&dE(),N_(t,r)||Wg({actual:t,expected:r,message:n,operator:\"deepEqual\",stackStartFn:e})};sf.notDeepEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");N_===void 0&&dE(),N_(t,r)&&Wg({actual:t,expected:r,message:n,operator:\"notDeepEqual\",stackStartFn:e})};sf.deepStrictEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");N_===void 0&&dE(),KR(t,r)||Wg({actual:t,expected:r,message:n,operator:\"deepStrictEqual\",stackStartFn:e})};sf.notDeepStrictEqual=pMe;function pMe(e,t,r){if(arguments.length<2)throw new U_(\"actual\",\"expected\");N_===void 0&&dE(),KR(e,t)&&Wg({actual:e,expected:t,message:r,operator:\"notDeepStrictEqual\",stackStartFn:pMe})}sf.strictEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");hMe(t,r)||Wg({actual:t,expected:r,message:n,operator:\"strictEqual\",stackStartFn:e})};sf.notStrictEqual=function e(t,r,n){if(arguments.length<2)throw new U_(\"actual\",\"expected\");hMe(t,r)&&Wg({actual:t,expected:r,message:n,operator:\"notStrictEqual\",stackStartFn:e})};var uMe=RMt(function e(t,r,n){var i=this;FMt(this,e),r.forEach(function(a){a in t&&(n!==void 0&&typeof n[a]==\"string\"&&XR(t[a])&&YR(t[a],n[a])?i[a]=n[a]:i[a]=t[a])})});function HMt(e,t,r,n,i,a){if(!(r in e)||!KR(e[r],t[r])){if(!n){var o=new uMe(e,i),s=new uMe(t,i,e),l=new V_({actual:o,expected:s,operator:\"deepStrictEqual\",stackStartFn:a});throw l.actual=e,l.expected=t,l.operator=a.name,l}Wg({actual:e,expected:t,message:n,operator:a.name,stackStartFn:a})}}function gMe(e,t,r,n){if(typeof t!=\"function\"){if(XR(t))return YR(t,e);if(arguments.length===2)throw new v5(\"expected\",[\"Function\",\"RegExp\"],t);if(jg(e)!==\"object\"||e===null){var i=new V_({actual:e,expected:t,message:r,operator:\"deepStrictEqual\",stackStartFn:n});throw i.operator=n.name,i}var a=Object.keys(t);if(t instanceof Error)a.push(\"name\",\"message\");else if(a.length===0)throw new OMt(\"error\",t,\"may not be an empty object\");return N_===void 0&&dE(),a.forEach(function(o){typeof e[o]==\"string\"&&XR(t[o])&&YR(t[o],e[o])||HMt(e,t,o,r,a,n)}),!0}return t.prototype!==void 0&&e instanceof t?!0:Error.isPrototypeOf(t)?!1:t.call({},e)===!0}function mMe(e){if(typeof e!=\"function\")throw new v5(\"fn\",\"Function\",e);try{e()}catch(t){return t}return JR}function cMe(e){return UMt(e)||e!==null&&jg(e)===\"object\"&&typeof e.then==\"function\"&&typeof e.catch==\"function\"}function yMe(e){return Promise.resolve().then(function(){var t;if(typeof e==\"function\"){if(t=e(),!cMe(t))throw new BMt(\"instance of Promise\",\"promiseFn\",t)}else if(cMe(e))t=e;else throw new v5(\"promiseFn\",[\"Function\",\"Promise\"],e);return Promise.resolve().then(function(){return t}).then(function(){return JR}).catch(function(r){return r})})}function _Me(e,t,r,n){if(typeof r==\"string\"){if(arguments.length===4)throw new v5(\"error\",[\"Object\",\"Error\",\"Function\",\"RegExp\"],r);if(jg(t)===\"object\"&&t!==null){if(t.message===r)throw new sMe(\"error/message\",'The error message \"'.concat(t.message,'\" is identical to the message.'))}else if(t===r)throw new sMe(\"error/message\",'The error \"'.concat(t,'\" is identical to the message.'));n=r,r=void 0}else if(r!=null&&jg(r)!==\"object\"&&typeof r!=\"function\")throw new v5(\"error\",[\"Object\",\"Error\",\"Function\",\"RegExp\"],r);if(t===JR){var i=\"\";r&&r.name&&(i+=\" (\".concat(r.name,\")\")),i+=n?\": \".concat(n):\".\";var a=e.name===\"rejects\"?\"rejection\":\"exception\";Wg({actual:void 0,expected:r,operator:e.name,message:\"Missing expected \".concat(a).concat(i),stackStartFn:e})}if(r&&!gMe(t,r,n,e))throw t}function xMe(e,t,r,n){if(t!==JR){if(typeof r==\"string\"&&(n=r,r=void 0),!r||gMe(t,r)){var i=n?\": \".concat(n):\".\",a=e.name===\"doesNotReject\"?\"rejection\":\"exception\";Wg({actual:t,expected:r,operator:e.name,message:\"Got unwanted \".concat(a).concat(i,`\n", - "`)+'Actual message: \"'.concat(t&&t.message,'\"'),stackStartFn:e})}throw t}}sf.throws=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];_Me.apply(void 0,[e,mMe(t)].concat(n))};sf.rejects=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];return yMe(t).then(function(a){return _Me.apply(void 0,[e,a].concat(n))})};sf.doesNotThrow=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];xMe.apply(void 0,[e,mMe(t)].concat(n))};sf.doesNotReject=function e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];return yMe(t).then(function(a){return xMe.apply(void 0,[e,a].concat(n))})};sf.ifError=function e(t){if(t!=null){var r=\"ifError got unwanted exception: \";jg(t)===\"object\"&&typeof t.message==\"string\"?t.message.length===0&&t.constructor?r+=t.constructor.name:r+=t.message:r+=ZR(t);var n=new V_({actual:t,expected:null,operator:\"ifError\",message:r,stackStartFn:e}),i=t.stack;if(typeof i==\"string\"){var a=i.split(`\n", - "`);a.shift();for(var o=n.stack.split(`\n", - "`),s=0;s<a.length;s++){var l=o.indexOf(a[s]);if(l!==-1){o=o.slice(0,l);break}}n.stack=\"\".concat(o.join(`\n", - "`),`\n", - "`).concat(a.join(`\n", - "`))}throw n}};function bMe(e,t,r,n,i){if(!XR(t))throw new v5(\"regexp\",\"RegExp\",t);var a=i===\"match\";if(typeof e!=\"string\"||YR(t,e)!==a){if(r instanceof Error)throw r;var o=!r;r=r||(typeof e!=\"string\"?'The \"string\" argument must be of type string. Received type '+\"\".concat(jg(e),\" (\").concat(ZR(e),\")\"):(a?\"The input did not match the regular expression \":\"The input was expected to not match the regular expression \")+\"\".concat(ZR(t),`. Input:\n", - "\n", - "`).concat(ZR(e),`\n", - "`));var s=new V_({actual:e,expected:t,message:r,operator:i,stackStartFn:n});throw s.generatedMessage=o,s}}sf.match=function e(t,r,n){bMe(t,r,n,e,\"match\")};sf.doesNotMatch=function e(t,r,n){bMe(t,r,n,e,\"doesNotMatch\")};function wMe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];vMe.apply(void 0,[wMe,t.length].concat(t))}sf.strict=VMt(wMe,sf,{equal:sf.strictEqual,deepEqual:sf.deepStrictEqual,notEqual:sf.notStrictEqual,notDeepEqual:sf.notDeepStrictEqual});sf.strict.strict=sf.strict});var SMe=ye((Rcr,AMe)=>{var vE=1e3,pE=vE*60,gE=pE*60,mE=gE*24,GMt=mE*365.25;AMe.exports=function(e,t){t=t||{};var r=typeof e;if(r===\"string\"&&e.length>0)return jMt(e);if(r===\"number\"&&isNaN(e)===!1)return t.long?ZMt(e):WMt(e);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(e))};function jMt(e){if(e=String(e),!(e.length>100)){var t=/^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||\"ms\").toLowerCase();switch(n){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return r*GMt;case\"days\":case\"day\":case\"d\":return r*mE;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return r*gE;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return r*pE;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return r*vE;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return r;default:return}}}}function WMt(e){return e>=mE?Math.round(e/mE)+\"d\":e>=gE?Math.round(e/gE)+\"h\":e>=pE?Math.round(e/pE)+\"m\":e>=vE?Math.round(e/vE)+\"s\":e+\"ms\"}function ZMt(e){return $R(e,mE,\"day\")||$R(e,gE,\"hour\")||$R(e,pE,\"minute\")||$R(e,vE,\"second\")||e+\" ms\"}function $R(e,t,r){if(!(e<t))return e<t*1.5?Math.floor(e/t)+\" \"+r:Math.ceil(e/t)+\" \"+r+\"s\"}});var EMe=ye(($u,MMe)=>{$u=MMe.exports=jj.debug=jj.default=jj;$u.coerce=$Mt;$u.disable=KMt;$u.enable=YMt;$u.enabled=JMt;$u.humanize=SMe();$u.names=[];$u.skips=[];$u.formatters={};var Gj;function XMt(e){var t=0,r;for(r in e)t=(t<<5)-t+e.charCodeAt(r),t|=0;return $u.colors[Math.abs(t)%$u.colors.length]}function jj(e){function t(){if(t.enabled){var r=t,n=+new Date,i=n-(Gj||n);r.diff=i,r.prev=Gj,r.curr=n,Gj=n;for(var a=new Array(arguments.length),o=0;o<a.length;o++)a[o]=arguments[o];a[0]=$u.coerce(a[0]),typeof a[0]!=\"string\"&&a.unshift(\"%O\");var s=0;a[0]=a[0].replace(/%([a-zA-Z%])/g,function(u,c){if(u===\"%%\")return u;s++;var f=$u.formatters[c];if(typeof f==\"function\"){var h=a[s];u=f.call(r,h),a.splice(s,1),s--}return u}),$u.formatArgs.call(r,a);var l=t.log||$u.log||console.log.bind(console);l.apply(r,a)}}return t.namespace=e,t.enabled=$u.enabled(e),t.useColors=$u.useColors(),t.color=XMt(e),typeof $u.init==\"function\"&&$u.init(t),t}function YMt(e){$u.save(e),$u.names=[],$u.skips=[];for(var t=(typeof e==\"string\"?e:\"\").split(/[\\s,]+/),r=t.length,n=0;n<r;n++)t[n]&&(e=t[n].replace(/\\*/g,\".*?\"),e[0]===\"-\"?$u.skips.push(new RegExp(\"^\"+e.substr(1)+\"$\")):$u.names.push(new RegExp(\"^\"+e+\"$\")))}function KMt(){$u.enable(\"\")}function JMt(e){var t,r;for(t=0,r=$u.skips.length;t<r;t++)if($u.skips[t].test(e))return!1;for(t=0,r=$u.names.length;t<r;t++)if($u.names[t].test(e))return!0;return!1}function $Mt(e){return e instanceof Error?e.stack||e.message:e}});var LMe=ye((lp,CMe)=>{lp=CMe.exports=EMe();lp.log=t4t;lp.formatArgs=e4t;lp.save=r4t;lp.load=kMe;lp.useColors=QMt;lp.storage=typeof chrome!=\"undefined\"&&typeof chrome.storage!=\"undefined\"?chrome.storage.local:i4t();lp.colors=[\"lightseagreen\",\"forestgreen\",\"goldenrod\",\"dodgerblue\",\"darkorchid\",\"crimson\"];function QMt(){return typeof window!=\"undefined\"&&window.process&&window.process.type===\"renderer\"?!0:typeof document!=\"undefined\"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=\"undefined\"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=\"undefined\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!=\"undefined\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)}lp.formatters.j=function(e){try{return JSON.stringify(e)}catch(t){return\"[UnexpectedJSONParseError]: \"+t.message}};function e4t(e){var t=this.useColors;if(e[0]=(t?\"%c\":\"\")+this.namespace+(t?\" %c\":\" \")+e[0]+(t?\"%c \":\" \")+\"+\"+lp.humanize(this.diff),!!t){var r=\"color: \"+this.color;e.splice(1,0,r,\"color: inherit\");var n=0,i=0;e[0].replace(/%[a-zA-Z%]/g,function(a){a!==\"%%\"&&(n++,a===\"%c\"&&(i=n))}),e.splice(i,0,r)}}function t4t(){return typeof console==\"object\"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function r4t(e){try{e==null?lp.storage.removeItem(\"debug\"):lp.storage.debug=e}catch(t){}}function kMe(){var e;try{e=lp.storage.debug}catch(t){}return!e&&typeof process!=\"undefined\"&&\"env\"in process&&(e=process.env.DEBUG),e}lp.enable(kMe());function i4t(){try{return window.localStorage}catch(e){}}});var OMe=ye((Dcr,qMe)=>{var p5=tE(),H_=LMe()(\"stream-parser\");qMe.exports=a4t;var IMe=-1,QR=0,n4t=1,RMe=2;function a4t(e){var t=e&&typeof e._transform==\"function\",r=e&&typeof e._write==\"function\";if(!t&&!r)throw new Error(\"must pass a Writable or Transform stream in\");H_(\"extending Parser into stream\"),e._bytes=o4t,e._skipBytes=s4t,t&&(e._passthrough=l4t),t?e._transform=c4t:e._write=u4t}function yE(e){H_(\"initializing parser stream\"),e._parserBytesLeft=0,e._parserBuffers=[],e._parserBuffered=0,e._parserState=IMe,e._parserCallback=null,typeof e.push==\"function\"&&(e._parserOutput=e.push.bind(e)),e._parserInit=!0}function o4t(e,t){p5(!this._parserCallback,'there is already a \"callback\" set!'),p5(isFinite(e)&&e>0,'can only buffer a finite number of bytes > 0, got \"'+e+'\"'),this._parserInit||yE(this),H_(\"buffering %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=QR}function s4t(e,t){p5(!this._parserCallback,'there is already a \"callback\" set!'),p5(e>0,'can only skip > 0 bytes, got \"'+e+'\"'),this._parserInit||yE(this),H_(\"skipping %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=n4t}function l4t(e,t){p5(!this._parserCallback,'There is already a \"callback\" set!'),p5(e>0,'can only pass through > 0 bytes, got \"'+e+'\"'),this._parserInit||yE(this),H_(\"passing through %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=RMe}function u4t(e,t,r){this._parserInit||yE(this),H_(\"write(%o bytes)\",e.length),typeof t==\"function\"&&(r=t),zMe(this,e,null,r)}function c4t(e,t,r){this._parserInit||yE(this),H_(\"transform(%o bytes)\",e.length),typeof t!=\"function\"&&(t=this._parserOutput),zMe(this,e,t,r)}function DMe(e,t,r,n){return e._parserBytesLeft<=0?n(new Error(\"got data but not currently parsing anything\")):t.length<=e._parserBytesLeft?function(){return PMe(e,t,r,n)}:function(){var i=t.slice(0,e._parserBytesLeft);return PMe(e,i,r,function(a){if(a)return n(a);if(t.length>i.length)return function(){return DMe(e,t.slice(i.length),r,n)}})}}function PMe(e,t,r,n){if(e._parserBytesLeft-=t.length,H_(\"%o bytes left for stream piece\",e._parserBytesLeft),e._parserState===QR?(e._parserBuffers.push(t),e._parserBuffered+=t.length):e._parserState===RMe&&r(t),e._parserBytesLeft===0){var i=e._parserCallback;if(i&&e._parserState===QR&&e._parserBuffers.length>1&&(t=Buffer.concat(e._parserBuffers,e._parserBuffered)),e._parserState!==QR&&(t=null),e._parserCallback=null,e._parserBuffered=0,e._parserState=IMe,e._parserBuffers.splice(0),i){var a=[];t&&a.push(t),r&&a.push(r);var o=i.length>a.length;o&&a.push(FMe(n));var s=i.apply(e,a);if(!o||n===s)return n}}else return n}var zMe=FMe(DMe);function FMe(e){return function(){for(var t=e.apply(this,arguments);typeof t==\"function\";)t=t();return t}}});var Eu=ye(Gy=>{\"use strict\";var BMe=PAe().Transform,f4t=OMe();function _E(){BMe.call(this,{readableObjectMode:!0})}_E.prototype=Object.create(BMe.prototype);_E.prototype.constructor=_E;f4t(_E.prototype);Gy.ParserStream=_E;Gy.sliceEq=function(e,t,r){for(var n=t,i=0;i<r.length;)if(e[n++]!==r[i++])return!1;return!0};Gy.str2arr=function(e,t){var r=[],n=0;if(t&&t===\"hex\")for(;n<e.length;)r.push(parseInt(e.slice(n,n+2),16)),n+=2;else for(;n<e.length;n++)r.push(e.charCodeAt(n)&255);return r};Gy.readUInt16LE=function(e,t){return e[t]|e[t+1]<<8};Gy.readUInt16BE=function(e,t){return e[t+1]|e[t]<<8};Gy.readUInt32LE=function(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]*16777216};Gy.readUInt32BE=function(e,t){return e[t+3]|e[t+2]<<8|e[t+1]<<16|e[t]*16777216};function eD(e,t,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||\"\",this.name=this.constructor.name,this.message=e,t&&(this.code=t),r&&(this.statusCode=r)}eD.prototype=Object.create(Error.prototype);eD.prototype.constructor=eD;Gy.ProbeError=eD});var NMe=ye((Fcr,tD)=>{\"use strict\";var g5=Eu().readUInt16BE,Zj=Eu().readUInt32BE;function xE(e,t){if(e.length<4+t)return null;var r=Zj(e,t);return e.length<r+t||r<8?null:{boxtype:String.fromCharCode.apply(null,e.slice(t+4,t+8)),data:e.slice(t+8,t+r),end:t+r}}tD.exports.unbox=xE;function h4t(e,t){for(var r=0;;){var n=xE(e,r);if(!n)break;switch(n.boxtype){case\"ispe\":t.sizes.push({width:Zj(n.data,4),height:Zj(n.data,8)});break;case\"irot\":t.transforms.push({type:\"irot\",value:n.data[0]&3});break;case\"imir\":t.transforms.push({type:\"imir\",value:n.data[0]&1});break}r=n.end}}function Wj(e,t,r){for(var n=0,i=0;i<r;i++)n=n*256+(e[t+i]||0);return n}function d4t(e,t){for(var r=e[4]>>4&15,n=e[4]&15,i=e[5]>>4&15,a=g5(e,6),o=8,s=0;s<a;s++){var l=g5(e,o);o+=2;var u=g5(e,o);o+=2;var c=Wj(e,o,i);o+=i;var f=g5(e,o);if(o+=2,u===0&&f===1){var h=Wj(e,o,r),d=Wj(e,o+r,n);t.item_loc[l]={length:d,offset:h+c}}o+=f*(r+n)}}function v4t(e,t){for(var r=g5(e,4),n=6,i=0;i<r;i++){var a=xE(e,n);if(!a)break;if(a.boxtype===\"infe\"){for(var o=g5(a.data,4),s=\"\",l=8;l<a.data.length&&a.data[l];l++)s+=String.fromCharCode(a.data[l]);t.item_inf[s]=o}n=a.end}}function p4t(e,t){for(var r=0;;){var n=xE(e,r);if(!n)break;n.boxtype===\"ipco\"&&h4t(n.data,t),r=n.end}}function g4t(e,t){for(var r=4;;){var n=xE(e,r);if(!n)break;n.boxtype===\"iprp\"&&p4t(n.data,t),n.boxtype===\"iloc\"&&d4t(n.data,t),n.boxtype===\"iinf\"&&v4t(n.data,t),r=n.end}}function m4t(e){var t=e.reduce(function(i,a){return i.width>a.width||i.width===a.width&&i.height>a.height?i:a}),r=e.reduce(function(i,a){return i.height>a.height||i.height===a.height&&i.width>a.width?i:a}),n;return t.width>r.height||t.width===r.height&&t.height>r.width?n=t:n=r,n}tD.exports.readSizeFromMeta=function(e){var t={sizes:[],transforms:[],item_inf:{},item_loc:{}};if(g4t(e,t),!!t.sizes.length){var r=m4t(t.sizes),n=1;t.transforms.forEach(function(a){var o={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},s={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if(a.type===\"imir\"&&(a.value===0?n=s[n]:(n=s[n],n=o[n],n=o[n])),a.type===\"irot\")for(var l=0;l<a.value;l++)n=o[n]});var i=null;return t.item_inf.Exif&&(i=t.item_loc[t.item_inf.Exif]),{width:r.width,height:r.height,orientation:t.transforms.length?n:null,variants:t.sizes,exif_location:i}}};tD.exports.getMimeType=function(e){var t=String.fromCharCode.apply(null,e.slice(0,4)),r={};r[t]=!0;for(var n=8;n<e.length;n+=4)r[String.fromCharCode.apply(null,e.slice(n,n+4))]=!0;if(!(!r.mif1&&!r.msf1&&!r.miaf))return t===\"avif\"||t===\"avis\"||t===\"avio\"?{type:\"avif\",mime:\"image/avif\"}:t===\"heic\"||t===\"heix\"?{type:\"heic\",mime:\"image/heic\"}:t===\"hevc\"||t===\"hevx\"?{type:\"heic\",mime:\"image/heic-sequence\"}:r.avif||r.avis?{type:\"avif\",mime:\"image/avif\"}:r.heic||r.heix||r.hevc||r.hevx||r.heis?r.msf1?{type:\"heif\",mime:\"image/heif-sequence\"}:{type:\"heif\",mime:\"image/heif\"}:{type:\"avif\",mime:\"image/avif\"}}});var iD=ye((qcr,Xj)=>{\"use strict\";function rD(e,t){var r=new Error(e);return r.code=t,r}function y4t(e){try{return decodeURIComponent(escape(e))}catch(t){return e}}function jy(e,t,r){this.input=e.subarray(t,r),this.start=t;var n=String.fromCharCode.apply(null,this.input.subarray(0,4));if(n!==\"II*\\0\"&&n!==\"MM\\0*\")throw rD(\"invalid TIFF signature\",\"EBADDATA\");this.big_endian=n[0]===\"M\"}jy.prototype.each=function(e){this.aborted=!1;var t=this.read_uint32(4);for(this.ifds_to_read=[{id:0,offset:t}];this.ifds_to_read.length>0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,e)}};jy.prototype.read_uint16=function(e){var t=this.input;if(e+2>t.length)throw rD(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?t[e]*256+t[e+1]:t[e]+t[e+1]*256};jy.prototype.read_uint32=function(e){var t=this.input;if(e+4>t.length)throw rD(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?t[e]*16777216+t[e+1]*65536+t[e+2]*256+t[e+3]:t[e]+t[e+1]*256+t[e+2]*65536+t[e+3]*16777216};jy.prototype.is_subifd_link=function(e,t){return e===0&&t===34665||e===0&&t===34853||e===34665&&t===40965};jy.prototype.exif_format_length=function(e){switch(e){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}};jy.prototype.exif_format_read=function(e,t){var r;switch(e){case 1:case 2:return r=this.input[t],r;case 6:return r=this.input[t],r|(r&128)*33554430;case 3:return r=this.read_uint16(t),r;case 8:return r=this.read_uint16(t),r|(r&32768)*131070;case 4:return r=this.read_uint32(t),r;case 9:return r=this.read_uint32(t),r|0;case 5:case 10:case 11:case 12:return null;case 7:return null;default:return null}};jy.prototype.scan_ifd=function(e,t,r){var n=this.read_uint16(t);t+=2;for(var i=0;i<n;i++){var a=this.read_uint16(t),o=this.read_uint16(t+2),s=this.read_uint32(t+4),l=this.exif_format_length(o),u=s*l,c=u<=4?t+8:this.read_uint32(t+8),f=!1;if(c+u>this.input.length)throw rD(\"unexpected EOF\",\"EBADDATA\");for(var h=[],d=c,v=0;v<s;v++,d+=l){var x=this.exif_format_read(o,d);if(x===null){h=null;break}h.push(x)}Array.isArray(h)&&o===2&&(h=y4t(String.fromCharCode.apply(null,h)),h&&h[h.length-1]===\"\\0\"&&(h=h.slice(0,-1))),this.is_subifd_link(e,a)&&Array.isArray(h)&&Number.isInteger(h[0])&&h[0]>0&&(this.ifds_to_read.push({id:a,offset:h[0]}),f=!0);var b={is_big_endian:this.big_endian,ifd:e,tag:a,format:o,count:s,entry_offset:t+this.start,data_length:u,data_offset:c+this.start,value:h,is_subifd_link:f};if(r(b)===!1){this.aborted=!0;return}t+=12}e===0&&this.ifds_to_read.push({id:1,offset:this.read_uint32(t)})};Xj.exports.ExifParser=jy;Xj.exports.get_orientation=function(e){var t=0;try{return new jy(e,0,e.length).each(function(r){if(r.ifd===0&&r.tag===274&&Array.isArray(r.value))return t=r.value[0],!1}),t}catch(r){return-1}}});var VMe=ye((Ocr,UMe)=>{\"use strict\";var _4t=Eu().str2arr,x4t=Eu().sliceEq,b4t=Eu().readUInt32BE,nD=NMe(),w4t=iD(),T4t=_4t(\"ftyp\");UMe.exports=function(e){if(x4t(e,4,T4t)){var t=nD.unbox(e,0);if(t){var r=nD.getMimeType(t.data);if(r){for(var n,i=t.end;;){var a=nD.unbox(e,i);if(!a)break;if(i=a.end,a.boxtype===\"mdat\")return;if(a.boxtype===\"meta\"){n=a.data;break}}if(n){var o=nD.readSizeFromMeta(n);if(o){var s={width:o.width,height:o.height,type:r.type,mime:r.mime,wUnits:\"px\",hUnits:\"px\"};if(o.variants.length>1&&(s.variants=o.variants),o.orientation&&(s.orientation=o.orientation),o.exif_location&&o.exif_location.offset+o.exif_location.length<=e.length){var l=b4t(e,o.exif_location.offset),u=e.slice(o.exif_location.offset+l+4,o.exif_location.offset+o.exif_location.length),c=w4t.get_orientation(u);c>0&&(s.orientation=c)}return s}}}}}}});var jMe=ye((Bcr,GMe)=>{\"use strict\";var A4t=Eu().str2arr,S4t=Eu().sliceEq,HMe=Eu().readUInt16LE,M4t=A4t(\"BM\");GMe.exports=function(e){if(!(e.length<26)&&S4t(e,0,M4t))return{width:HMe(e,18),height:HMe(e,22),type:\"bmp\",mime:\"image/bmp\",wUnits:\"px\",hUnits:\"px\"}}});var KMe=ye((Ncr,YMe)=>{\"use strict\";var XMe=Eu().str2arr,WMe=Eu().sliceEq,ZMe=Eu().readUInt16LE,E4t=XMe(\"GIF87a\"),k4t=XMe(\"GIF89a\");YMe.exports=function(e){if(!(e.length<10)&&!(!WMe(e,0,E4t)&&!WMe(e,0,k4t)))return{width:ZMe(e,6),height:ZMe(e,8),type:\"gif\",mime:\"image/gif\",wUnits:\"px\",hUnits:\"px\"}}});var QMe=ye((Ucr,$Me)=>{\"use strict\";var Yj=Eu().readUInt16LE,C4t=0,L4t=1,JMe=16;$Me.exports=function(e){var t=Yj(e,0),r=Yj(e,2),n=Yj(e,4);if(!(t!==C4t||r!==L4t||!n)){for(var i=[],a={width:0,height:0},o=0;o<n;o++){var s=e[6+JMe*o]||256,l=e[6+JMe*o+1]||256,u={width:s,height:l};i.push(u),(s>a.width||l>a.height)&&(a=u)}return{width:a.width,height:a.height,variants:i,type:\"ico\",mime:\"image/x-icon\",wUnits:\"px\",hUnits:\"px\"}}}});var t4e=ye((Vcr,e4e)=>{\"use strict\";var Kj=Eu().readUInt16BE,P4t=Eu().str2arr,I4t=Eu().sliceEq,R4t=iD(),D4t=P4t(\"Exif\\0\\0\");e4e.exports=function(e){if(!(e.length<2)&&!(e[0]!==255||e[1]!==216||e[2]!==255))for(var t=2;;){for(;;){if(e.length-t<2)return;if(e[t++]===255)break}for(var r=e[t++],n;r===255;)r=e[t++];if(208<=r&&r<=217||r===1)n=0;else if(192<=r&&r<=254){if(e.length-t<2)return;n=Kj(e,t)-2,t+=2}else return;if(r===217||r===218)return;var i;if(r===225&&n>=10&&I4t(e,t,D4t)&&(i=R4t.get_orientation(e.slice(t+6,t+n))),n>=5&&192<=r&&r<=207&&r!==196&&r!==200&&r!==204){if(e.length-t<n)return;var a={width:Kj(e,t+3),height:Kj(e,t+1),type:\"jpg\",mime:\"image/jpeg\",wUnits:\"px\",hUnits:\"px\"};return i>0&&(a.orientation=i),a}t+=n}}});var o4e=ye((Hcr,a4e)=>{\"use strict\";var n4e=Eu().str2arr,r4e=Eu().sliceEq,i4e=Eu().readUInt32BE,z4t=n4e(`\\x89PNG\\r\n", - "\u001a\n", - "`),F4t=n4e(\"IHDR\");a4e.exports=function(e){if(!(e.length<24)&&r4e(e,0,z4t)&&r4e(e,12,F4t))return{width:i4e(e,16),height:i4e(e,20),type:\"png\",mime:\"image/png\",wUnits:\"px\",hUnits:\"px\"}}});var u4e=ye((Gcr,l4e)=>{\"use strict\";var q4t=Eu().str2arr,O4t=Eu().sliceEq,s4e=Eu().readUInt32BE,B4t=q4t(\"8BPS\\0\u0001\");l4e.exports=function(e){if(!(e.length<22)&&O4t(e,0,B4t))return{width:s4e(e,18),height:s4e(e,14),type:\"psd\",mime:\"image/vnd.adobe.photoshop\",wUnits:\"px\",hUnits:\"px\"}}});var h4e=ye((jcr,f4e)=>{\"use strict\";function N4t(e){return e===32||e===9||e===13||e===10}function m5(e){return typeof e==\"number\"&&isFinite(e)&&e>0}function U4t(e){var t=0,r=e.length;for(e[0]===239&&e[1]===187&&e[2]===191&&(t=3);t<r&&N4t(e[t]);)t++;return t===r?!1:e[t]===60}var V4t=/<[-_.:a-zA-Z0-9][^>]*>/,H4t=/^<([-_.:a-zA-Z0-9]+:)?svg\\s/,G4t=/[^-]\\bwidth=\"([^%]+?)\"|[^-]\\bwidth='([^%]+?)'/,j4t=/\\bheight=\"([^%]+?)\"|\\bheight='([^%]+?)'/,W4t=/\\bview[bB]ox=\"(.+?)\"|\\bview[bB]ox='(.+?)'/,c4e=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function Z4t(e){var t=e.match(G4t),r=e.match(j4t),n=e.match(W4t);return{width:t&&(t[1]||t[2]),height:r&&(r[1]||r[2]),viewbox:n&&(n[1]||n[2])}}function Nm(e){return c4e.test(e)?e.match(c4e)[0]:\"px\"}f4e.exports=function(e){if(U4t(e)){for(var t=\"\",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);var n=(t.match(V4t)||[\"\"])[0];if(H4t.test(n)){var i=Z4t(n),a=parseFloat(i.width),o=parseFloat(i.height);if(i.width&&i.height)return!m5(a)||!m5(o)?void 0:{width:a,height:o,type:\"svg\",mime:\"image/svg+xml\",wUnits:Nm(i.width),hUnits:Nm(i.height)};var s=(i.viewbox||\"\").split(\" \"),l={width:s[2],height:s[3]},u=parseFloat(l.width),c=parseFloat(l.height);if(!(!m5(u)||!m5(c))&&Nm(l.width)===Nm(l.height)){var f=u/c;return i.width?m5(a)?{width:a,height:a/f,type:\"svg\",mime:\"image/svg+xml\",wUnits:Nm(i.width),hUnits:Nm(i.width)}:void 0:i.height?m5(o)?{width:o*f,height:o,type:\"svg\",mime:\"image/svg+xml\",wUnits:Nm(i.height),hUnits:Nm(i.height)}:void 0:{width:u,height:c,type:\"svg\",mime:\"image/svg+xml\",wUnits:Nm(l.width),hUnits:Nm(l.height)}}}}}});var m4e=ye((Wcr,g4e)=>{\"use strict\";var p4e=Eu().str2arr,d4e=Eu().sliceEq,X4t=Eu().readUInt16LE,Y4t=Eu().readUInt16BE,K4t=Eu().readUInt32LE,J4t=Eu().readUInt32BE,$4t=p4e(\"II*\\0\"),Q4t=p4e(\"MM\\0*\");function aD(e,t,r){return r?Y4t(e,t):X4t(e,t)}function Jj(e,t,r){return r?J4t(e,t):K4t(e,t)}function v4e(e,t,r){var n=aD(e,t+2,r),i=Jj(e,t+4,r);return i!==1||n!==3&&n!==4?null:n===3?aD(e,t+8,r):Jj(e,t+8,r)}g4e.exports=function(e){if(!(e.length<8)&&!(!d4e(e,0,$4t)&&!d4e(e,0,Q4t))){var t=e[0]===77,r=Jj(e,4,t)-8;if(!(r<0)){var n=r+8;if(!(e.length-n<2)){var i=aD(e,n+0,t)*12;if(!(i<=0)&&(n+=2,!(e.length-n<i))){var a,o,s,l;for(a=0;a<i;a+=12)l=aD(e,n+a,t),l===256?o=v4e(e,n+a,t):l===257&&(s=v4e(e,n+a,t));if(o&&s)return{width:o,height:s,type:\"tiff\",mime:\"image/tiff\",wUnits:\"px\",hUnits:\"px\"}}}}}}});var w4e=ye((Zcr,b4e)=>{\"use strict\";var x4e=Eu().str2arr,y4e=Eu().sliceEq,_4e=Eu().readUInt16LE,$j=Eu().readUInt32LE,eEt=iD(),tEt=x4e(\"RIFF\"),rEt=x4e(\"WEBP\");function iEt(e,t){if(!(e[t+3]!==157||e[t+4]!==1||e[t+5]!==42))return{width:_4e(e,t+6)&16383,height:_4e(e,t+8)&16383,type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}function nEt(e,t){if(e[t]===47){var r=$j(e,t+1);return{width:(r&16383)+1,height:(r>>14&16383)+1,type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}}function aEt(e,t){return{width:(e[t+6]<<16|e[t+5]<<8|e[t+4])+1,height:(e[t+9]<<t|e[t+8]<<8|e[t+7])+1,type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}b4e.exports=function(e){if(!(e.length<16)&&!(!y4e(e,0,tEt)&&!y4e(e,8,rEt))){var t=12,r=null,n=0,i=$j(e,4)+8;if(!(i>e.length)){for(;t+8<i;){if(e[t]===0){t++;continue}var a=String.fromCharCode.apply(null,e.slice(t,t+4)),o=$j(e,t+4);a===\"VP8 \"&&o>=10?r=r||iEt(e,t+8):a===\"VP8L\"&&o>=9?r=r||nEt(e,t+8):a===\"VP8X\"&&o>=10?r=r||aEt(e,t+8):a===\"EXIF\"&&(n=eEt.get_orientation(e.slice(t+8,t+8+o)),t=1/0),t+=8+o}if(r)return n>0&&(r.orientation=n),r}}}});var A4e=ye((Xcr,T4e)=>{\"use strict\";T4e.exports={avif:VMe(),bmp:jMe(),gif:KMe(),ico:QMe(),jpeg:t4e(),png:o4e(),psd:u4e(),svg:h4e(),tiff:m4e(),webp:w4e()}});var S4e=ye((Ycr,eW)=>{\"use strict\";var Qj=A4e();function oEt(e){for(var t=Object.keys(Qj),r=0;r<t.length;r++){var n=Qj[t[r]](e);if(n)return n}return null}eW.exports=function(t){return oEt(t)};eW.exports.parsers=Qj});var E4e=ye(M4e=>{\"use strict\";var sEt=S4e(),lEt=Ly().IMAGE_URL_PREFIX,uEt=u2().Buffer;M4e.getImageSize=function(e){var t=e.replace(lEt,\"\"),r=new uEt(t,\"base64\");return sEt(r)}});var L4e=ye((Jcr,C4e)=>{\"use strict\";var k4e=Mr(),cEt=jT(),fEt=uo(),oD=Qa(),hEt=Mr().maxRowLength,dEt=E4e().getImageSize;C4e.exports=function(t,r){var n,i;if(r._hasZ)n=r.z.length,i=hEt(r.z);else if(r._hasSource){var a=dEt(r.source);n=a.height,i=a.width}var o=oD.getFromId(t,r.xaxis||\"x\"),s=oD.getFromId(t,r.yaxis||\"y\"),l=o.d2c(r.x0)-r.dx/2,u=s.d2c(r.y0)-r.dy/2,c,f=[l,l+i*r.dx],h=[u,u+n*r.dy];if(o&&o.type===\"log\")for(c=0;c<i;c++)f.push(l+c*r.dx);if(s&&s.type===\"log\")for(c=0;c<n;c++)h.push(u+c*r.dy);r._extremes[o._id]=oD.findExtremes(o,f),r._extremes[s._id]=oD.findExtremes(s,h),r._scaler=gEt(r);var d={x0:l,y0:u,z:r.z,w:i,h:n};return[d]};function vEt(e,t,r,n){return function(i){return k4e.constrain((i-e)*t,r,n)}}function pEt(e,t){return function(r){return k4e.constrain(r,e,t)}}function gEt(e){var t=cEt.colormodel[e.colormodel],r=t.colormodel||e.colormodel,n=r.length;e._sArray=[];for(var i=0;i<n;i++)t.min[i]!==e.zmin[i]||t.max[i]!==e.zmax[i]?e._sArray.push(vEt(e.zmin[i],(t.max[i]-t.min[i])/(e.zmax[i]-e.zmin[i]),t.min[i],t.max[i])):e._sArray.push(pEt(t.min[i],t.max[i]));return function(a){for(var o=a.slice(0,n),s=0;s<n;s++){var l=o[s];if(!fEt(l))return!1;o[s]=e._sArray[s](l)}return o}}});var R4e=ye(($cr,I4e)=>{\"use strict\";var mEt=xa(),T2=Mr(),P4e=T2.strTranslate,yEt=Zp(),_Et=jT(),xEt=jV(),bEt=o8().STYLE;I4e.exports=function(t,r,n,i){var a=r.xaxis,o=r.yaxis,s=!t._context._exportedPlot&&xEt();T2.makeTraceGroups(i,n,\"im\").each(function(l){var u=mEt.select(this),c=l[0],f=c.trace,h=(f.zsmooth===\"fast\"||f.zsmooth===!1&&s)&&!f._hasZ&&f._hasSource&&a.type===\"linear\"&&o.type===\"linear\";f._realImage=h;var d=c.z,v=c.x0,x=c.y0,b=c.w,p=c.h,E=f.dx,k=f.dy,A,L,_,C,M,g;for(g=0;A===void 0&&g<b;)A=a.c2p(v+g*E),g++;for(g=b;L===void 0&&g>0;)L=a.c2p(v+g*E),g--;for(g=0;C===void 0&&g<p;)C=o.c2p(x+g*k),g++;for(g=p;M===void 0&&g>0;)M=o.c2p(x+g*k),g--;if(L<A&&(_=L,L=A,A=_),M<C&&(_=C,C=M,M=_),!h){var P=.5;A=Math.max(-P*a._length,A),L=Math.min((1+P)*a._length,L),C=Math.max(-P*o._length,C),M=Math.min((1+P)*o._length,M)}var T=Math.round(L-A),F=Math.round(M-C),q=T<=0||F<=0;if(q){var V=u.selectAll(\"image\").data([]);V.exit().remove();return}function H(ge){var ie=document.createElement(\"canvas\");ie.width=T,ie.height=F;var Te=ie.getContext(\"2d\",{willReadFrequently:!0}),Ee=function(rt){return T2.constrain(Math.round(a.c2p(v+rt*E)-A),0,T)},Ae=function(rt){return T2.constrain(Math.round(o.c2p(x+rt*k)-C),0,F)},ze=_Et.colormodel[f.colormodel],Ce=ze.colormodel||f.colormodel,me=ze.fmt,Re;for(g=0;g<c.w;g++){var ce=Ee(g),Ge=Ee(g+1);if(!(Ge===ce||isNaN(Ge)||isNaN(ce)))for(var nt=0;nt<c.h;nt++){var ct=Ae(nt),qt=Ae(nt+1);qt===ct||isNaN(qt)||isNaN(ct)||!ge(g,nt)||(Re=f._scaler(ge(g,nt)),Re?Te.fillStyle=Ce+\"(\"+me(Re).join(\",\")+\")\":Te.fillStyle=\"rgba(0,0,0,0)\",Te.fillRect(ce,ct,Ge-ce,qt-ct))}}return ie}var X=u.selectAll(\"image\").data([l]);X.enter().append(\"svg:image\").attr({xmlns:yEt.svg,preserveAspectRatio:\"none\"}),X.exit().remove();var G=f.zsmooth===!1?bEt:\"\";if(h){var N=T2.simpleMap(a.range,a.r2l),W=T2.simpleMap(o.range,o.r2l),re=N[1]<N[0],ae=W[1]>W[0];if(re||ae){var _e=A+T/2,Me=C+F/2;G+=\"transform:\"+P4e(_e+\"px\",Me+\"px\")+\"scale(\"+(re?-1:1)+\",\"+(ae?-1:1)+\")\"+P4e(-_e+\"px\",-Me+\"px\")+\";\"}}X.attr(\"style\",G);var ke=new Promise(function(ge){if(f._hasZ)ge();else if(f._hasSource)if(f._canvas&&f._canvas.el.width===b&&f._canvas.el.height===p&&f._canvas.source===f.source)ge();else{var ie=document.createElement(\"canvas\");ie.width=b,ie.height=p;var Te=ie.getContext(\"2d\",{willReadFrequently:!0});f._image=f._image||new Image;var Ee=f._image;Ee.onload=function(){Te.drawImage(Ee,0,0),f._canvas={el:ie,source:f.source},ge()},Ee.setAttribute(\"src\",f.source)}}).then(function(){var ge,ie;if(f._hasZ)ie=H(function(Ae,ze){var Ce=d[ze][Ae];return T2.isTypedArray(Ce)&&(Ce=Array.from(Ce)),Ce}),ge=ie.toDataURL(\"image/png\");else if(f._hasSource)if(h)ge=f.source;else{var Te=f._canvas.el.getContext(\"2d\",{willReadFrequently:!0}),Ee=Te.getImageData(0,0,b,p).data;ie=H(function(Ae,ze){var Ce=4*(ze*b+Ae);return[Ee[Ce],Ee[Ce+1],Ee[Ce+2],Ee[Ce+3]]}),ge=ie.toDataURL(\"image/png\")}X.attr({\"xlink:href\":ge,height:F,width:T,x:A,y:C})});t._promises.push(ke)})}});var z4e=ye((Qcr,D4e)=>{\"use strict\";var wEt=xa();D4e.exports=function(t){wEt.select(t).selectAll(\".im image\").style(\"opacity\",function(r){return r[0].trace.opacity})}});var B4e=ye((efr,O4e)=>{\"use strict\";var F4e=Nc(),q4e=Mr(),sD=q4e.isArrayOrTypedArray,TEt=jT();O4e.exports=function(t,r,n){var i=t.cd[0],a=i.trace,o=t.xa,s=t.ya;if(!(F4e.inbox(r-i.x0,r-(i.x0+i.w*a.dx),0)>0||F4e.inbox(n-i.y0,n-(i.y0+i.h*a.dy),0)>0)){var l=Math.floor((r-i.x0)/a.dx),u=Math.floor(Math.abs(n-i.y0)/a.dy),c;if(a._hasZ?c=i.z[u][l]:a._hasSource&&(c=a._canvas.el.getContext(\"2d\",{willReadFrequently:!0}).getImageData(l,u,1,1).data),!!c){var f=i.hi||a.hoverinfo,h;if(f){var d=f.split(\"+\");d.indexOf(\"all\")!==-1&&(d=[\"color\"]),d.indexOf(\"color\")!==-1&&(h=!0)}var v=TEt.colormodel[a.colormodel],x=v.colormodel||a.colormodel,b=x.length,p=a._scaler(c),E=v.suffix,k=[];(a.hovertemplate||h)&&(k.push(\"[\"+[p[0]+E[0],p[1]+E[1],p[2]+E[2]].join(\", \")),b===4&&k.push(\", \"+p[3]+E[3]),k.push(\"]\"),k=k.join(\"\"),t.extraText=x.toUpperCase()+\": \"+k);var A;sD(a.hovertext)&&sD(a.hovertext[u])?A=a.hovertext[u][l]:sD(a.text)&&sD(a.text[u])&&(A=a.text[u][l]);var L=s.c2p(i.y0+(u+.5)*a.dy),_=i.x0+(l+.5)*a.dx,C=i.y0+(u+.5)*a.dy,M=\"[\"+c.slice(0,a.colormodel.length).join(\", \")+\"]\";return[q4e.extendFlat(t,{index:[u,l],x0:o.c2p(i.x0+l*a.dx),x1:o.c2p(i.x0+(l+1)*a.dx),y0:L,y1:L,color:p,xVal:_,xLabelVal:_,yVal:C,yLabelVal:C,zLabelVal:M,text:A,hovertemplateLabels:{zLabel:M,colorLabel:k,\"color[0]Label\":p[0]+E[0],\"color[1]Label\":p[1]+E[1],\"color[2]Label\":p[2]+E[2],\"color[3]Label\":p[3]+E[3]}})]}}}});var U4e=ye((tfr,N4e)=>{\"use strict\";N4e.exports=function(t,r){return\"xVal\"in r&&(t.x=r.xVal),\"yVal\"in r&&(t.y=r.yVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t.color=r.color,t.colormodel=r.trace.colormodel,t.z||(t.z=r.color),t}});var H4e=ye((rfr,V4e)=>{\"use strict\";V4e.exports={attributes:tG(),supplyDefaults:T3e(),calc:L4e(),plot:R4e(),style:z4e(),hoverPoints:B4e(),eventData:U4e(),moduleType:\"trace\",name:\"image\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"noSortingByValue\"],animatable:!1,meta:{}}});var j4e=ye((ifr,G4e)=>{\"use strict\";G4e.exports=H4e()});var A2=ye((nfr,W4e)=>{\"use strict\";var AEt=vl(),SEt=Ju().attributes,MEt=Su(),EEt=dh(),kEt=Wo().hovertemplateAttrs,CEt=Wo().texttemplateAttrs,bE=no().extendFlat,LEt=Ed().pattern,lD=MEt({editType:\"plot\",arrayOk:!0,colorEditType:\"plot\"});W4e.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:EEt.defaultLine,arrayOk:!0,editType:\"style\"},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"style\"},editType:\"calc\"},pattern:LEt,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:bE({},AEt.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:kEt({},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),texttemplate:CEt({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"plot\"},textfont:bE({},lD,{}),insidetextorientation:{valType:\"enumerated\",values:[\"horizontal\",\"radial\",\"tangential\",\"auto\"],dflt:\"auto\",editType:\"plot\"},insidetextfont:bE({},lD,{}),outsidetextfont:bE({},lD,{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"plot\"},font:bE({},lD,{}),position:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle center\",\"bottom left\",\"bottom center\",\"bottom right\"],editType:\"plot\"},editType:\"plot\"},domain:SEt({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\"}}});var S2=ye((afr,Y4e)=>{\"use strict\";var PEt=uo(),wE=Mr(),IEt=A2(),REt=Ju().defaults,DEt=r0().handleText,zEt=Mr().coercePattern;function Z4e(e,t){var r=wE.isArrayOrTypedArray(e),n=wE.isArrayOrTypedArray(t),i=Math.min(r?e.length:1/0,n?t.length:1/0);if(isFinite(i)||(i=0),i&&n){for(var a,o=0;o<i;o++){var s=t[o];if(PEt(s)&&s>0){a=!0;break}}a||(i=0)}return{hasLabels:r,hasValues:n,len:i}}function X4e(e,t,r,n,i){var a=n(\"marker.line.width\");a&&n(\"marker.line.color\",i?void 0:r.paper_bgcolor);var o=n(\"marker.colors\");zEt(n,\"marker.pattern\",o),e.marker&&!t.marker.pattern.fgcolor&&(t.marker.pattern.fgcolor=e.marker.colors),t.marker.pattern.bgcolor||(t.marker.pattern.bgcolor=r.paper_bgcolor)}function FEt(e,t,r,n){function i(E,k){return wE.coerce(e,t,IEt,E,k)}var a=i(\"labels\"),o=i(\"values\"),s=Z4e(a,o),l=s.len;if(t._hasLabels=s.hasLabels,t._hasValues=s.hasValues,!t._hasLabels&&t._hasValues&&(i(\"label0\"),i(\"dlabel\")),!l){t.visible=!1;return}t._length=l,X4e(e,t,n,i,!0),i(\"scalegroup\");var u=i(\"text\"),c=i(\"texttemplate\"),f;if(c||(f=i(\"textinfo\",wE.isArrayOrTypedArray(u)?\"text+percent\":\"percent\")),i(\"hovertext\"),i(\"hovertemplate\"),c||f&&f!==\"none\"){var h=i(\"textposition\");DEt(e,t,n,i,h,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1});var d=Array.isArray(h)||h===\"auto\",v=d||h===\"outside\";v&&i(\"automargin\"),(h===\"inside\"||h===\"auto\"||Array.isArray(h))&&i(\"insidetextorientation\")}else f===\"none\"&&i(\"textposition\",\"none\");REt(t,n,i);var x=i(\"hole\"),b=i(\"title.text\");if(b){var p=i(\"title.position\",x?\"middle center\":\"top center\");!x&&p===\"middle center\"&&(t.title.position=\"top center\"),wE.coerceFont(i,\"title.font\",n.font)}i(\"sort\"),i(\"direction\"),i(\"rotation\"),i(\"pull\")}Y4e.exports={handleLabelsAndValues:Z4e,handleMarkerDefaults:X4e,supplyDefaults:FEt}});var uD=ye((ofr,K4e)=>{\"use strict\";K4e.exports={hiddenlabels:{valType:\"data_array\",editType:\"calc\"},piecolorway:{valType:\"colorlist\",editType:\"calc\"},extendpiecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var $4e=ye((sfr,J4e)=>{\"use strict\";var qEt=Mr(),OEt=uD();J4e.exports=function(t,r){function n(i,a){return qEt.coerce(t,r,OEt,i,a)}n(\"hiddenlabels\"),n(\"piecolorway\",r.colorway),n(\"extendpiecolors\")}});var y5=ye((lfr,tEe)=>{\"use strict\";var BEt=uo(),tW=id(),NEt=va(),UEt={};function VEt(e,t){var r=[],n=e._fullLayout,i=n.hiddenlabels||[],a=t.labels,o=t.marker.colors||[],s=t.values,l=t._length,u=t._hasValues&&l,c,f;if(t.dlabel)for(a=new Array(l),c=0;c<l;c++)a[c]=String(t.label0+c*t.dlabel);var h={},d=Q4e(n[\"_\"+t.type+\"colormap\"]),v=0,x=!1;for(c=0;c<l;c++){var b,p,E;if(u){if(b=s[c],!BEt(b))continue;b=+b}else b=1;p=a[c],(p===void 0||p===\"\")&&(p=c),p=String(p);var k=h[p];k===void 0?(h[p]=r.length,E=i.indexOf(p)!==-1,E||(v+=b),r.push({v:b,label:p,color:d(o[c],p),i:c,pts:[c],hidden:E})):(x=!0,f=r[k],f.v+=b,f.pts.push(c),f.hidden||(v+=b),f.color===!1&&o[c]&&(f.color=d(o[c],p)))}r=r.filter(function(L){return L.v>=0});var A=t.type===\"funnelarea\"?x:t.sort;return A&&r.sort(function(L,_){return _.v-L.v}),r[0]&&(r[0].vTotal=v),r}function Q4e(e){return function(r,n){return!r||(r=tW(r),!r.isValid())?!1:(r=NEt.addOpacity(r,r.getAlpha()),e[n]||(e[n]=r),r)}}function HEt(e,t){var r=(t||{}).type;r||(r=\"pie\");var n=e._fullLayout,i=e.calcdata,a=n[r+\"colorway\"],o=n[\"_\"+r+\"colormap\"];n[\"extend\"+r+\"colors\"]&&(a=eEe(a,UEt));for(var s=0,l=0;l<i.length;l++){var u=i[l],c=u[0].trace.type;if(c===r)for(var f=0;f<u.length;f++){var h=u[f];h.color===!1&&(o[h.label]?h.color=o[h.label]:(o[h.label]=h.color=a[s%a.length],s++))}}}function eEe(e,t){var r,n=JSON.stringify(e),i=t[n];if(!i){for(i=e.slice(),r=0;r<e.length;r++)i.push(tW(e[r]).lighten(20).toHexString());for(r=0;r<e.length;r++)i.push(tW(e[r]).darken(20).toHexString());t[n]=i}return i}tEe.exports={calc:VEt,crossTraceCalc:HEt,makePullColorFn:Q4e,generateExtendedColors:eEe}});var iEe=ye((ufr,rEe)=>{\"use strict\";var GEt=rp().appendArrayMultiPointValues;rEe.exports=function(t,r){var n={curveNumber:r.index,pointNumbers:t.pts,data:r._input,fullData:r,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return t.pts.length===1&&(n.pointNumber=n.i=t.pts[0]),GEt(n,r,t.pts),r.type===\"funnelarea\"&&(delete n.v,delete n.i),n}});var dD=ye((cfr,AEe)=>{\"use strict\";var zp=xa(),jEt=Xu(),cD=Nc(),uEe=va(),Wy=ao(),ev=Mr(),WEt=ev.strScale,nEe=ev.strTranslate,rW=Pl(),cEe=_v(),ZEt=cEe.recordMinTextSize,XEt=cEe.clearMinTextSize,fEe=Qb().TEXTPAD,Zo=u_(),fD=iEe(),aEe=Mr().isValidTextValue;function YEt(e,t){var r=e._context.staticPlot,n=e._fullLayout,i=n._size;XEt(\"pie\",n),vEe(t,e),bEe(t,i);var a=ev.makeTraceGroups(n._pielayer,t,\"trace\").each(function(o){var s=zp.select(this),l=o[0],u=l.trace;nkt(o),s.attr(\"stroke-linejoin\",\"round\"),s.each(function(){var c=zp.select(this).selectAll(\"g.slice\").data(o);c.enter().append(\"g\").classed(\"slice\",!0),c.exit().remove();var f=[[[],[]],[[],[]]],h=!1;c.each(function(A,L){if(A.hidden){zp.select(this).selectAll(\"path,g\").remove();return}A.pointNumber=A.i,A.curveNumber=u.index,f[A.pxmid[1]<0?0:1][A.pxmid[0]<0?0:1].push(A);var _=l.cx,C=l.cy,M=zp.select(this),g=M.selectAll(\"path.surface\").data([A]);if(g.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":r?\"none\":\"all\"}),M.call(hEe,e,o),u.pull){var P=+Zo.castOption(u.pull,A.pts)||0;P>0&&(_+=P*A.pxmid[0],C+=P*A.pxmid[1])}A.cxFinal=_,A.cyFinal=C;function T(N,W,re,ae){var _e=ae*(W[0]-N[0]),Me=ae*(W[1]-N[1]);return\"a\"+ae*l.r+\",\"+ae*l.r+\" 0 \"+A.largeArc+(re?\" 1 \":\" 0 \")+_e+\",\"+Me}var F=u.hole;if(A.v===l.vTotal){var q=\"M\"+(_+A.px0[0])+\",\"+(C+A.px0[1])+T(A.px0,A.pxmid,!0,1)+T(A.pxmid,A.px0,!0,1)+\"Z\";F?g.attr(\"d\",\"M\"+(_+F*A.px0[0])+\",\"+(C+F*A.px0[1])+T(A.px0,A.pxmid,!1,F)+T(A.pxmid,A.px0,!1,F)+\"Z\"+q):g.attr(\"d\",q)}else{var V=T(A.px0,A.px1,!0,1);if(F){var H=1-F;g.attr(\"d\",\"M\"+(_+F*A.px1[0])+\",\"+(C+F*A.px1[1])+T(A.px1,A.px0,!1,F)+\"l\"+H*A.px0[0]+\",\"+H*A.px0[1]+V+\"Z\")}else g.attr(\"d\",\"M\"+_+\",\"+C+\"l\"+A.px0[0]+\",\"+A.px0[1]+V+\"Z\")}wEe(e,A,l);var X=Zo.castOption(u.textposition,A.pts),G=M.selectAll(\"g.slicetext\").data(A.text&&X!==\"none\"?[0]:[]);G.enter().append(\"g\").classed(\"slicetext\",!0),G.exit().remove(),G.each(function(){var N=ev.ensureSingle(zp.select(this),\"text\",\"\",function(ie){ie.attr(\"data-notex\",1)}),W=ev.ensureUniformFontSize(e,X===\"outside\"?JEt(u,A,n.font):dEe(u,A,n.font));N.text(A.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(Wy.font,W).call(rW.convertToTspans,e);var re=Wy.bBox(N.node()),ae;if(X===\"outside\")ae=lEe(re,A);else if(ae=pEe(re,A,l),X===\"auto\"&&ae.scale<1){var _e=ev.ensureUniformFontSize(e,u.outsidetextfont);N.call(Wy.font,_e),re=Wy.bBox(N.node()),ae=lEe(re,A)}var Me=ae.textPosAngle,ke=Me===void 0?A.pxmid:hD(l.r,Me);if(ae.targetX=_+ke[0]*ae.rCenter+(ae.x||0),ae.targetY=C+ke[1]*ae.rCenter+(ae.y||0),TEe(ae,re),ae.outside){var ge=ae.targetY;A.yLabelMin=ge-re.height/2,A.yLabelMid=ge,A.yLabelMax=ge+re.height/2,A.labelExtraX=0,A.labelExtraY=0,h=!0}ae.fontSize=W.size,ZEt(u.type,ae,n),o[L].transform=ae,ev.setTransormAndDisplay(N,ae)})});var d=zp.select(this).selectAll(\"g.titletext\").data(u.title.text?[0]:[]);if(d.enter().append(\"g\").classed(\"titletext\",!0),d.exit().remove(),d.each(function(){var A=ev.ensureSingle(zp.select(this),\"text\",\"\",function(C){C.attr(\"data-notex\",1)}),L=u.title.text;u._meta&&(L=ev.templateString(L,u._meta)),A.text(L).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(Wy.font,u.title.font).call(rW.convertToTspans,e);var _;u.title.position===\"middle center\"?_=ekt(l):_=_Ee(l,i),A.attr(\"transform\",nEe(_.x,_.y)+WEt(Math.min(1,_.scale))+nEe(_.tx,_.ty))}),h&&rkt(f,u),KEt(c,u),h&&u.automargin){var v=Wy.bBox(s.node()),x=u.domain,b=i.w*(x.x[1]-x.x[0]),p=i.h*(x.y[1]-x.y[0]),E=(.5*b-l.r)/i.w,k=(.5*p-l.r)/i.h;jEt.autoMargin(e,\"pie.\"+u.uid+\".automargin\",{xl:x.x[0]-E,xr:x.x[1]+E,yb:x.y[0]-k,yt:x.y[1]+k,l:Math.max(l.cx-l.r-v.left,0),r:Math.max(v.right-(l.cx+l.r),0),b:Math.max(v.bottom-(l.cy+l.r),0),t:Math.max(l.cy-l.r-v.top,0),pad:5})}})});setTimeout(function(){a.selectAll(\"tspan\").each(function(){var o=zp.select(this);o.attr(\"dy\")&&o.attr(\"dy\",o.attr(\"dy\"))})},0)}function KEt(e,t){e.each(function(r){var n=zp.select(this);if(!r.labelExtraX&&!r.labelExtraY){n.select(\"path.textline\").remove();return}var i=n.select(\"g.slicetext text\");r.transform.targetX+=r.labelExtraX,r.transform.targetY+=r.labelExtraY,ev.setTransormAndDisplay(i,r.transform);var a=r.cxFinal+r.pxmid[0],o=r.cyFinal+r.pxmid[1],s=\"M\"+a+\",\"+o,l=(r.yLabelMax-r.yLabelMin)*(r.pxmid[0]<0?-1:1)/4;if(r.labelExtraX){var u=r.labelExtraX*r.pxmid[1]/r.pxmid[0],c=r.yLabelMid+r.labelExtraY-(r.cyFinal+r.pxmid[1]);Math.abs(u)>Math.abs(c)?s+=\"l\"+c*r.pxmid[0]/r.pxmid[1]+\",\"+c+\"H\"+(a+r.labelExtraX+l):s+=\"l\"+r.labelExtraX+\",\"+u+\"v\"+(c-u)+\"h\"+l}else s+=\"V\"+(r.yLabelMid+r.labelExtraY)+\"h\"+l;ev.ensureSingle(n,\"path\",\"textline\").call(uEe.stroke,t.outsidetextfont.color).attr({\"stroke-width\":Math.min(2,t.outsidetextfont.size/8),d:s,fill:\"none\"})})}function hEe(e,t,r){var n=r[0],i=n.cx,a=n.cy,o=n.trace,s=o.type===\"funnelarea\";\"_hasHoverLabel\"in o||(o._hasHoverLabel=!1),\"_hasHoverEvent\"in o||(o._hasHoverEvent=!1),e.on(\"mouseover\",function(l){var u=t._fullLayout,c=t._fullData[o.index];if(!(t._dragging||u.hovermode===!1)){var f=c.hoverinfo;if(Array.isArray(f)&&(f=cD.castHoverinfo({hoverinfo:[Zo.castOption(f,l.pts)],_module:o._module},u,0)),f===\"all\"&&(f=\"label+text+value+percent+name\"),c.hovertemplate||f!==\"none\"&&f!==\"skip\"&&f){var h=l.rInscribed||0,d=i+l.pxmid[0]*(1-h),v=a+l.pxmid[1]*(1-h),x=u.separators,b=[];if(f&&f.indexOf(\"label\")!==-1&&b.push(l.label),l.text=Zo.castOption(c.hovertext||c.text,l.pts),f&&f.indexOf(\"text\")!==-1){var p=l.text;ev.isValidTextValue(p)&&b.push(p)}l.value=l.v,l.valueLabel=Zo.formatPieValue(l.v,x),f&&f.indexOf(\"value\")!==-1&&b.push(l.valueLabel),l.percent=l.v/n.vTotal,l.percentLabel=Zo.formatPiePercent(l.percent,x),f&&f.indexOf(\"percent\")!==-1&&b.push(l.percentLabel);var E=c.hoverlabel,k=E.font,A=[];cD.loneHover({trace:o,x0:d-h*n.r,x1:d+h*n.r,y:v,_x0:s?i+l.TL[0]:d-h*n.r,_x1:s?i+l.TR[0]:d+h*n.r,_y0:s?a+l.TL[1]:v-h*n.r,_y1:s?a+l.BL[1]:v+h*n.r,text:b.join(\"<br>\"),name:c.hovertemplate||f.indexOf(\"name\")!==-1?c.name:void 0,idealAlign:l.pxmid[0]<0?\"left\":\"right\",color:Zo.castOption(E.bgcolor,l.pts)||l.color,borderColor:Zo.castOption(E.bordercolor,l.pts),fontFamily:Zo.castOption(k.family,l.pts),fontSize:Zo.castOption(k.size,l.pts),fontColor:Zo.castOption(k.color,l.pts),nameLength:Zo.castOption(E.namelength,l.pts),textAlign:Zo.castOption(E.align,l.pts),hovertemplate:Zo.castOption(c.hovertemplate,l.pts),hovertemplateLabels:l,eventData:[fD(l,c)]},{container:u._hoverlayer.node(),outerContainer:u._paper.node(),gd:t,inOut_bbox:A}),l.bbox=A[0],o._hasHoverLabel=!0}o._hasHoverEvent=!0,t.emit(\"plotly_hover\",{points:[fD(l,c)],event:zp.event})}}),e.on(\"mouseout\",function(l){var u=t._fullLayout,c=t._fullData[o.index],f=zp.select(this).datum();o._hasHoverEvent&&(l.originalEvent=zp.event,t.emit(\"plotly_unhover\",{points:[fD(f,c)],event:zp.event}),o._hasHoverEvent=!1),o._hasHoverLabel&&(cD.loneUnhover(u._hoverlayer.node()),o._hasHoverLabel=!1)}),e.on(\"click\",function(l){var u=t._fullLayout,c=t._fullData[o.index];t._dragging||u.hovermode===!1||(t._hoverdata=[fD(l,c)],cD.click(t,zp.event))})}function JEt(e,t,r){var n=Zo.castOption(e.outsidetextfont.color,t.pts)||Zo.castOption(e.textfont.color,t.pts)||r.color,i=Zo.castOption(e.outsidetextfont.family,t.pts)||Zo.castOption(e.textfont.family,t.pts)||r.family,a=Zo.castOption(e.outsidetextfont.size,t.pts)||Zo.castOption(e.textfont.size,t.pts)||r.size,o=Zo.castOption(e.outsidetextfont.weight,t.pts)||Zo.castOption(e.textfont.weight,t.pts)||r.weight,s=Zo.castOption(e.outsidetextfont.style,t.pts)||Zo.castOption(e.textfont.style,t.pts)||r.style,l=Zo.castOption(e.outsidetextfont.variant,t.pts)||Zo.castOption(e.textfont.variant,t.pts)||r.variant,u=Zo.castOption(e.outsidetextfont.textcase,t.pts)||Zo.castOption(e.textfont.textcase,t.pts)||r.textcase,c=Zo.castOption(e.outsidetextfont.lineposition,t.pts)||Zo.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=Zo.castOption(e.outsidetextfont.shadow,t.pts)||Zo.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n,family:i,size:a,weight:o,style:s,variant:l,textcase:u,lineposition:c,shadow:f}}function dEe(e,t,r){var n=Zo.castOption(e.insidetextfont.color,t.pts);!n&&e._input.textfont&&(n=Zo.castOption(e._input.textfont.color,t.pts));var i=Zo.castOption(e.insidetextfont.family,t.pts)||Zo.castOption(e.textfont.family,t.pts)||r.family,a=Zo.castOption(e.insidetextfont.size,t.pts)||Zo.castOption(e.textfont.size,t.pts)||r.size,o=Zo.castOption(e.insidetextfont.weight,t.pts)||Zo.castOption(e.textfont.weight,t.pts)||r.weight,s=Zo.castOption(e.insidetextfont.style,t.pts)||Zo.castOption(e.textfont.style,t.pts)||r.style,l=Zo.castOption(e.insidetextfont.variant,t.pts)||Zo.castOption(e.textfont.variant,t.pts)||r.variant,u=Zo.castOption(e.insidetextfont.textcase,t.pts)||Zo.castOption(e.textfont.textcase,t.pts)||r.textcase,c=Zo.castOption(e.insidetextfont.lineposition,t.pts)||Zo.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=Zo.castOption(e.insidetextfont.shadow,t.pts)||Zo.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n||uEe.contrast(t.color),family:i,size:a,weight:o,style:s,variant:l,textcase:u,lineposition:c,shadow:f}}function vEe(e,t){for(var r,n,i=0;i<e.length;i++)if(r=e[i][0],n=r.trace,n.title.text){var a=n.title.text;n._meta&&(a=ev.templateString(a,n._meta));var o=Wy.tester.append(\"text\").attr(\"data-notex\",1).text(a).call(Wy.font,n.title.font).call(rW.convertToTspans,t),s=Wy.bBox(o.node(),!0);r.titleBox={width:s.width,height:s.height},o.remove()}}function pEe(e,t,r){var n=r.r||t.rpx1,i=t.rInscribed,a=t.startangle===t.stopangle;if(a)return{rCenter:1-i,scale:0,rotate:0,textPosAngle:0};var o=t.ring,s=o===1&&Math.abs(t.startangle-t.stopangle)===Math.PI*2,l=t.halfangle,u=t.midangle,c=r.trace.insidetextorientation,f=c===\"horizontal\",h=c===\"tangential\",d=c===\"radial\",v=c===\"auto\",x=[],b;if(!v){var p=function(M,g){if($Et(t,M)){var P=Math.abs(M-t.startangle),T=Math.abs(M-t.stopangle),F=P<T?P:T;g===\"tan\"?b=sEe(e,n,o,F,0):b=oEe(e,n,o,F,Math.PI/2),b.textPosAngle=M,x.push(b)}},E;if(f||h){for(E=4;E>=-4;E-=2)p(Math.PI*E,\"tan\");for(E=4;E>=-4;E-=2)p(Math.PI*(E+1),\"tan\")}if(f||d){for(E=4;E>=-4;E-=2)p(Math.PI*(E+1.5),\"rad\");for(E=4;E>=-4;E-=2)p(Math.PI*(E+.5),\"rad\")}}if(s||v||f){var k=Math.sqrt(e.width*e.width+e.height*e.height);if(b={scale:i*n*2/k,rCenter:1-i,rotate:0},b.textPosAngle=(t.startangle+t.stopangle)/2,b.scale>=1)return b;x.push(b)}(v||d)&&(b=oEe(e,n,o,l,u),b.textPosAngle=(t.startangle+t.stopangle)/2,x.push(b)),(v||h)&&(b=sEe(e,n,o,l,u),b.textPosAngle=(t.startangle+t.stopangle)/2,x.push(b));for(var A=0,L=0,_=0;_<x.length;_++){var C=x[_].scale;if(L<C&&(L=C,A=_),!v&&L>=1)break}return x[A]}function $Et(e,t){var r=e.startangle,n=e.stopangle;return r>t&&t>n||r<t&&t<n}function oEe(e,t,r,n,i){t=Math.max(0,t-2*fEe);var a=e.width/e.height,o=yEe(a,n,t,r);return{scale:o*2/e.height,rCenter:gEe(a,o/t),rotate:mEe(i)}}function sEe(e,t,r,n,i){t=Math.max(0,t-2*fEe);var a=e.height/e.width,o=yEe(a,n,t,r);return{scale:o*2/e.width,rCenter:gEe(a,o/t),rotate:mEe(i+Math.PI/2)}}function gEe(e,t){return Math.cos(t)-e*t}function mEe(e){return(180/Math.PI*e+720)%180-90}function yEe(e,t,r,n){var i=e+1/(2*Math.tan(t));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(e*e+n/2)+e))}function QEt(e,t){return e.v===t.vTotal&&!t.trace.hole?1:Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2)}function lEe(e,t){var r=t.pxmid[0],n=t.pxmid[1],i=e.width/2,a=e.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function ekt(e){var t=Math.sqrt(e.titleBox.width*e.titleBox.width+e.titleBox.height*e.titleBox.height);return{x:e.cx,y:e.cy,scale:e.trace.hole*e.r*2/t,tx:0,ty:-e.titleBox.height/2+e.trace.title.font.size}}function _Ee(e,t){var r=1,n=1,i,a=e.trace,o={x:e.cx,y:e.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=xEe(a),a.title.position.indexOf(\"top\")!==-1?(o.y-=(1+i)*e.r,s.ty-=e.titleBox.height):a.title.position.indexOf(\"bottom\")!==-1&&(o.y+=(1+i)*e.r);var l=tkt(e.r,e.trace.aspectratio),u=t.w*(a.domain.x[1]-a.domain.x[0])/2;return a.title.position.indexOf(\"left\")!==-1?(u=u+l,o.x-=(1+i)*l,s.tx+=e.titleBox.width/2):a.title.position.indexOf(\"center\")!==-1?u*=2:a.title.position.indexOf(\"right\")!==-1&&(u=u+l,o.x+=(1+i)*l,s.tx-=e.titleBox.width/2),r=u/e.titleBox.width,n=iW(e,t)/e.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function tkt(e,t){return e/(t===void 0?1:t)}function iW(e,t){var r=e.trace,n=t.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(e.titleBox.height,n/2)}function xEe(e){var t=e.pull;if(!t)return 0;var r;if(ev.isArrayOrTypedArray(t))for(t=0,r=0;r<e.pull.length;r++)e.pull[r]>t&&(t=e.pull[r]);return t}function rkt(e,t){var r,n,i,a,o,s,l,u,c,f,h,d,v;function x(k,A){return k.pxmid[1]-A.pxmid[1]}function b(k,A){return A.pxmid[1]-k.pxmid[1]}function p(k,A){A||(A={});var L=A.labelExtraY+(n?A.yLabelMax:A.yLabelMin),_=n?k.yLabelMin:k.yLabelMax,C=n?k.yLabelMax:k.yLabelMin,M=k.cyFinal+o(k.px0[1],k.px1[1]),g=L-_,P,T,F,q,V,H;if(g*l>0&&(k.labelExtraY=g),!!ev.isArrayOrTypedArray(t.pull))for(T=0;T<f.length;T++)F=f[T],!(F===k||(Zo.castOption(t.pull,k.pts)||0)>=(Zo.castOption(t.pull,F.pts)||0))&&((k.pxmid[1]-F.pxmid[1])*l>0?(q=F.cyFinal+o(F.px0[1],F.px1[1]),g=q-_-k.labelExtraY,g*l>0&&(k.labelExtraY+=g)):(C+k.labelExtraY-M)*l>0&&(P=3*s*Math.abs(T-f.indexOf(k)),V=F.cxFinal+a(F.px0[0],F.px1[0]),H=V+P-(k.cxFinal+k.pxmid[0])-k.labelExtraX,H*s>0&&(k.labelExtraX+=H)))}for(n=0;n<2;n++)for(i=n?x:b,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,u=e[n][r],u.sort(i),c=e[1-n][r],f=c.concat(u),d=[],h=0;h<u.length;h++)u[h].yLabelMid!==void 0&&d.push(u[h]);for(v=!1,h=0;n&&h<c.length;h++)if(c[h].yLabelMid!==void 0){v=c[h];break}for(h=0;h<d.length;h++){var E=h&&d[h-1];v&&!h&&(E=v),p(d[h],E)}}}function bEe(e,t){for(var r=[],n=0;n<e.length;n++){var i=e[n][0],a=i.trace,o=a.domain,s=t.w*(o.x[1]-o.x[0]),l=t.h*(o.y[1]-o.y[0]);a.title.text&&a.title.position!==\"middle center\"&&(l-=iW(i,t));var u=s/2,c=l/2;a.type===\"funnelarea\"&&!a.scalegroup&&(c/=a.aspectratio),i.r=Math.min(u,c)/(1+xEe(a)),i.cx=t.l+t.w*(a.domain.x[1]+a.domain.x[0])/2,i.cy=t.t+t.h*(1-a.domain.y[0])-l/2,a.title.text&&a.title.position.indexOf(\"bottom\")!==-1&&(i.cy-=iW(i,t)),a.scalegroup&&r.indexOf(a.scalegroup)===-1&&r.push(a.scalegroup)}ikt(e,r)}function ikt(e,t){for(var r,n,i,a=0;a<t.length;a++){var o=1/0,s=t[a];for(n=0;n<e.length;n++)if(r=e[n][0],i=r.trace,i.scalegroup===s){var l;if(i.type===\"pie\")l=r.r*r.r;else if(i.type===\"funnelarea\"){var u,c;i.aspectratio>1?(u=r.r,c=u/i.aspectratio):(c=r.r,u=c*i.aspectratio),u*=(1+i.baseratio)/2,l=u*c}o=Math.min(o,l/r.vTotal)}for(n=0;n<e.length;n++)if(r=e[n][0],i=r.trace,i.scalegroup===s){var f=o*r.vTotal;i.type===\"funnelarea\"&&(f/=(1+i.baseratio)/2,f/=i.aspectratio),r.r=Math.sqrt(f)}}}function nkt(e){var t=e[0],r=t.r,n=t.trace,i=Zo.getRotationAngle(n.rotation),a=2*Math.PI/t.vTotal,o=\"px0\",s=\"px1\",l,u,c;if(n.direction===\"counterclockwise\"){for(l=0;l<e.length&&e[l].hidden;l++);if(l===e.length)return;i+=a*e[l].v,a*=-1,o=\"px1\",s=\"px0\"}for(c=hD(r,i),l=0;l<e.length;l++)u=e[l],!u.hidden&&(u[o]=c,u.startangle=i,i+=a*u.v/2,u.pxmid=hD(r,i),u.midangle=i,i+=a*u.v/2,c=hD(r,i),u.stopangle=i,u[s]=c,u.largeArc=u.v>t.vTotal/2?1:0,u.halfangle=Math.PI*Math.min(u.v/t.vTotal,.5),u.ring=1-n.hole,u.rInscribed=QEt(u,t))}function hD(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}function wEe(e,t,r){var n=e._fullLayout,i=r.trace,a=i.texttemplate,o=i.textinfo;if(!a&&o&&o!==\"none\"){var s=o.split(\"+\"),l=function(A){return s.indexOf(A)!==-1},u=l(\"label\"),c=l(\"text\"),f=l(\"value\"),h=l(\"percent\"),d=n.separators,v;if(v=u?[t.label]:[],c){var x=Zo.getFirstFilled(i.text,t.pts);aEe(x)&&v.push(x)}f&&v.push(Zo.formatPieValue(t.v,d)),h&&v.push(Zo.formatPiePercent(t.v/r.vTotal,d)),t.text=v.join(\"<br>\")}function b(A){return{label:A.label,value:A.v,valueLabel:Zo.formatPieValue(A.v,n.separators),percent:A.v/r.vTotal,percentLabel:Zo.formatPiePercent(A.v/r.vTotal,n.separators),color:A.color,text:A.text,customdata:ev.castOption(i,A.i,\"customdata\")}}if(a){var p=ev.castOption(i,t.i,\"texttemplate\");if(!p)t.text=\"\";else{var E=b(t),k=Zo.getFirstFilled(i.text,t.pts);(aEe(k)||k===\"\")&&(E.text=k),t.text=ev.texttemplateString(p,E,e._fullLayout._d3locale,E,i._meta||{})}}}function TEe(e,t){var r=e.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(t.left+t.right)/2,o=(t.top+t.bottom)/2;e.textX=a*n-o*i,e.textY=a*i+o*n,e.noCenter=!0}AEe.exports={plot:YEt,formatSliceLabel:wEe,transformInsideText:pEe,determineInsideTextFont:dEe,positionTitleOutside:_Ee,prerenderTitles:vEe,layoutAreas:bEe,attachFxHandlers:hEe,computeTransform:TEe}});var EEe=ye((ffr,MEe)=>{\"use strict\";var SEe=xa(),akt=z3(),okt=_v().resizeText;MEe.exports=function(t){var r=t._fullLayout._pielayer.selectAll(\".trace\");okt(t,r,\"pie\"),r.each(function(n){var i=n[0],a=i.trace,o=SEe.select(this);o.style({opacity:a.opacity}),o.selectAll(\"path.surface\").each(function(s){SEe.select(this).call(akt,s,a,t)})})}});var CEe=ye(_5=>{\"use strict\";var kEe=Xu();_5.name=\"pie\";_5.plot=function(e,t,r,n){kEe.plotBasePlot(_5.name,e,t,r,n)};_5.clean=function(e,t,r,n){kEe.cleanBasePlot(_5.name,e,t,r,n)}});var PEe=ye((dfr,LEe)=>{\"use strict\";LEe.exports={attributes:A2(),supplyDefaults:S2().supplyDefaults,supplyLayoutDefaults:$4e(),layoutAttributes:uD(),calc:y5().calc,crossTraceCalc:y5().crossTraceCalc,plot:dD().plot,style:EEe(),styleOne:z3(),moduleType:\"trace\",name:\"pie\",basePlotModule:CEe(),categories:[\"pie-like\",\"pie\",\"showLegend\"],meta:{}}});var REe=ye((vfr,IEe)=>{\"use strict\";IEe.exports=PEe()});var zEe=ye(x5=>{\"use strict\";var DEe=Xu();x5.name=\"sunburst\";x5.plot=function(e,t,r,n){DEe.plotBasePlot(x5.name,e,t,r,n)};x5.clean=function(e,t,r,n){DEe.cleanBasePlot(x5.name,e,t,r,n)}});var nW=ye((gfr,FEe)=>{\"use strict\";FEe.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"linear\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"]}});var AE=ye((mfr,OEe)=>{\"use strict\";var skt=vl(),lkt=Wo().hovertemplateAttrs,ukt=Wo().texttemplateAttrs,ckt=Jl(),fkt=Ju().attributes,Zy=A2(),qEe=nW(),TE=no().extendFlat,hkt=Ed().pattern;OEe.exports={labels:{valType:\"data_array\",editType:\"calc\"},parents:{valType:\"data_array\",editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},branchvalues:{valType:\"enumerated\",values:[\"remainder\",\"total\"],dflt:\"remainder\",editType:\"calc\"},count:{valType:\"flaglist\",flags:[\"branches\",\"leaves\"],dflt:\"leaves\",editType:\"calc\"},level:{valType:\"any\",editType:\"plot\",anim:!0},maxdepth:{valType:\"integer\",editType:\"plot\",dflt:-1},marker:TE({colors:{valType:\"data_array\",editType:\"calc\"},line:{color:TE({},Zy.marker.line.color,{dflt:null}),width:TE({},Zy.marker.line.width,{dflt:1}),editType:\"calc\"},pattern:hkt,editType:\"calc\"},ckt(\"marker\",{colorAttr:\"colors\",anim:!1})),leaf:{opacity:{valType:\"number\",editType:\"style\",min:0,max:1},editType:\"plot\"},text:Zy.text,textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],extras:[\"none\"],editType:\"plot\"},texttemplate:ukt({editType:\"plot\"},{keys:qEe.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:Zy.hovertext,hoverinfo:TE({},skt.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"name\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],dflt:\"label+text+value+name\"}),hovertemplate:lkt({},{keys:qEe.eventDataKeys}),textfont:Zy.textfont,insidetextorientation:Zy.insidetextorientation,insidetextfont:Zy.insidetextfont,outsidetextfont:TE({},Zy.outsidetextfont,{}),rotation:{valType:\"angle\",dflt:0,editType:\"plot\"},sort:Zy.sort,root:{color:{valType:\"color\",editType:\"calc\",dflt:\"rgba(0,0,0,0)\"},editType:\"calc\"},domain:fkt({name:\"sunburst\",trace:!0,editType:\"calc\"})}});var aW=ye((yfr,BEe)=>{\"use strict\";BEe.exports={sunburstcolorway:{valType:\"colorlist\",editType:\"calc\"},extendsunburstcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var HEe=ye((_fr,VEe)=>{\"use strict\";var NEe=Mr(),dkt=AE(),vkt=Ju().defaults,pkt=r0().handleText,gkt=S2().handleMarkerDefaults,UEe=Mu(),mkt=UEe.hasColorscale,ykt=UEe.handleDefaults;VEe.exports=function(t,r,n,i){function a(h,d){return NEe.coerce(t,r,dkt,h,d)}var o=a(\"labels\"),s=a(\"parents\");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a(\"values\");l&&l.length?a(\"branchvalues\"):a(\"count\"),a(\"level\"),a(\"maxdepth\"),gkt(t,r,i,a);var u=r._hasColorscale=mkt(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;u&&ykt(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}),a(\"leaf.opacity\",u?1:.7);var c=a(\"text\");a(\"texttemplate\"),r.texttemplate||a(\"textinfo\",NEe.isArrayOrTypedArray(c)?\"text+label\":\"label\"),a(\"hovertext\"),a(\"hovertemplate\");var f=\"auto\";pkt(t,r,i,a,f,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a(\"insidetextorientation\"),a(\"sort\"),a(\"rotation\"),a(\"root.color\"),vkt(r,i,a),r._length=null}});var jEe=ye((xfr,GEe)=>{\"use strict\";var _kt=Mr(),xkt=aW();GEe.exports=function(t,r){function n(i,a){return _kt.coerce(t,r,xkt,i,a)}n(\"sunburstcolorway\",r.colorway),n(\"extendsunburstcolors\")}});var SE=ye((vD,WEe)=>{(function(e,t){typeof vD==\"object\"&&typeof WEe!=\"undefined\"?t(vD):(e=e||self,t(e.d3=e.d3||{}))})(vD,function(e){\"use strict\";function t(Ve,Xe){return Ve.parent===Xe.parent?1:2}function r(Ve){return Ve.reduce(n,0)/Ve.length}function n(Ve,Xe){return Ve+Xe.x}function i(Ve){return 1+Ve.reduce(a,0)}function a(Ve,Xe){return Math.max(Ve,Xe.y)}function o(Ve){for(var Xe;Xe=Ve.children;)Ve=Xe[0];return Ve}function s(Ve){for(var Xe;Xe=Ve.children;)Ve=Xe[Xe.length-1];return Ve}function l(){var Ve=t,Xe=1,ht=1,Le=!1;function xe(Se){var lt,Gt=0;Se.eachAfter(function(jr){var ri=jr.children;ri?(jr.x=r(ri),jr.y=i(ri)):(jr.x=lt?Gt+=Ve(jr,lt):0,jr.y=0,lt=jr)});var Vt=o(Se),ar=s(Se),Qr=Vt.x-Ve(Vt,ar)/2,ai=ar.x+Ve(ar,Vt)/2;return Se.eachAfter(Le?function(jr){jr.x=(jr.x-Se.x)*Xe,jr.y=(Se.y-jr.y)*ht}:function(jr){jr.x=(jr.x-Qr)/(ai-Qr)*Xe,jr.y=(1-(Se.y?jr.y/Se.y:1))*ht})}return xe.separation=function(Se){return arguments.length?(Ve=Se,xe):Ve},xe.size=function(Se){return arguments.length?(Le=!1,Xe=+Se[0],ht=+Se[1],xe):Le?null:[Xe,ht]},xe.nodeSize=function(Se){return arguments.length?(Le=!0,Xe=+Se[0],ht=+Se[1],xe):Le?[Xe,ht]:null},xe}function u(Ve){var Xe=0,ht=Ve.children,Le=ht&&ht.length;if(!Le)Xe=1;else for(;--Le>=0;)Xe+=ht[Le].value;Ve.value=Xe}function c(){return this.eachAfter(u)}function f(Ve){var Xe=this,ht,Le=[Xe],xe,Se,lt;do for(ht=Le.reverse(),Le=[];Xe=ht.pop();)if(Ve(Xe),xe=Xe.children,xe)for(Se=0,lt=xe.length;Se<lt;++Se)Le.push(xe[Se]);while(Le.length);return this}function h(Ve){for(var Xe=this,ht=[Xe],Le,xe;Xe=ht.pop();)if(Ve(Xe),Le=Xe.children,Le)for(xe=Le.length-1;xe>=0;--xe)ht.push(Le[xe]);return this}function d(Ve){for(var Xe=this,ht=[Xe],Le=[],xe,Se,lt;Xe=ht.pop();)if(Le.push(Xe),xe=Xe.children,xe)for(Se=0,lt=xe.length;Se<lt;++Se)ht.push(xe[Se]);for(;Xe=Le.pop();)Ve(Xe);return this}function v(Ve){return this.eachAfter(function(Xe){for(var ht=+Ve(Xe.data)||0,Le=Xe.children,xe=Le&&Le.length;--xe>=0;)ht+=Le[xe].value;Xe.value=ht})}function x(Ve){return this.eachBefore(function(Xe){Xe.children&&Xe.children.sort(Ve)})}function b(Ve){for(var Xe=this,ht=p(Xe,Ve),Le=[Xe];Xe!==ht;)Xe=Xe.parent,Le.push(Xe);for(var xe=Le.length;Ve!==ht;)Le.splice(xe,0,Ve),Ve=Ve.parent;return Le}function p(Ve,Xe){if(Ve===Xe)return Ve;var ht=Ve.ancestors(),Le=Xe.ancestors(),xe=null;for(Ve=ht.pop(),Xe=Le.pop();Ve===Xe;)xe=Ve,Ve=ht.pop(),Xe=Le.pop();return xe}function E(){for(var Ve=this,Xe=[Ve];Ve=Ve.parent;)Xe.push(Ve);return Xe}function k(){var Ve=[];return this.each(function(Xe){Ve.push(Xe)}),Ve}function A(){var Ve=[];return this.eachBefore(function(Xe){Xe.children||Ve.push(Xe)}),Ve}function L(){var Ve=this,Xe=[];return Ve.each(function(ht){ht!==Ve&&Xe.push({source:ht.parent,target:ht})}),Xe}function _(Ve,Xe){var ht=new T(Ve),Le=+Ve.value&&(ht.value=Ve.value),xe,Se=[ht],lt,Gt,Vt,ar;for(Xe==null&&(Xe=M);xe=Se.pop();)if(Le&&(xe.value=+xe.data.value),(Gt=Xe(xe.data))&&(ar=Gt.length))for(xe.children=new Array(ar),Vt=ar-1;Vt>=0;--Vt)Se.push(lt=xe.children[Vt]=new T(Gt[Vt])),lt.parent=xe,lt.depth=xe.depth+1;return ht.eachBefore(P)}function C(){return _(this).eachBefore(g)}function M(Ve){return Ve.children}function g(Ve){Ve.data=Ve.data.data}function P(Ve){var Xe=0;do Ve.height=Xe;while((Ve=Ve.parent)&&Ve.height<++Xe)}function T(Ve){this.data=Ve,this.depth=this.height=0,this.parent=null}T.prototype=_.prototype={constructor:T,count:c,each:f,eachAfter:d,eachBefore:h,sum:v,sort:x,path:b,ancestors:E,descendants:k,leaves:A,links:L,copy:C};var F=Array.prototype.slice;function q(Ve){for(var Xe=Ve.length,ht,Le;Xe;)Le=Math.random()*Xe--|0,ht=Ve[Xe],Ve[Xe]=Ve[Le],Ve[Le]=ht;return Ve}function V(Ve){for(var Xe=0,ht=(Ve=q(F.call(Ve))).length,Le=[],xe,Se;Xe<ht;)xe=Ve[Xe],Se&&G(Se,xe)?++Xe:(Se=W(Le=H(Le,xe)),Xe=0);return Se}function H(Ve,Xe){var ht,Le;if(N(Xe,Ve))return[Xe];for(ht=0;ht<Ve.length;++ht)if(X(Xe,Ve[ht])&&N(ae(Ve[ht],Xe),Ve))return[Ve[ht],Xe];for(ht=0;ht<Ve.length-1;++ht)for(Le=ht+1;Le<Ve.length;++Le)if(X(ae(Ve[ht],Ve[Le]),Xe)&&X(ae(Ve[ht],Xe),Ve[Le])&&X(ae(Ve[Le],Xe),Ve[ht])&&N(_e(Ve[ht],Ve[Le],Xe),Ve))return[Ve[ht],Ve[Le],Xe];throw new Error}function X(Ve,Xe){var ht=Ve.r-Xe.r,Le=Xe.x-Ve.x,xe=Xe.y-Ve.y;return ht<0||ht*ht<Le*Le+xe*xe}function G(Ve,Xe){var ht=Ve.r-Xe.r+1e-6,Le=Xe.x-Ve.x,xe=Xe.y-Ve.y;return ht>0&&ht*ht>Le*Le+xe*xe}function N(Ve,Xe){for(var ht=0;ht<Xe.length;++ht)if(!G(Ve,Xe[ht]))return!1;return!0}function W(Ve){switch(Ve.length){case 1:return re(Ve[0]);case 2:return ae(Ve[0],Ve[1]);case 3:return _e(Ve[0],Ve[1],Ve[2])}}function re(Ve){return{x:Ve.x,y:Ve.y,r:Ve.r}}function ae(Ve,Xe){var ht=Ve.x,Le=Ve.y,xe=Ve.r,Se=Xe.x,lt=Xe.y,Gt=Xe.r,Vt=Se-ht,ar=lt-Le,Qr=Gt-xe,ai=Math.sqrt(Vt*Vt+ar*ar);return{x:(ht+Se+Vt/ai*Qr)/2,y:(Le+lt+ar/ai*Qr)/2,r:(ai+xe+Gt)/2}}function _e(Ve,Xe,ht){var Le=Ve.x,xe=Ve.y,Se=Ve.r,lt=Xe.x,Gt=Xe.y,Vt=Xe.r,ar=ht.x,Qr=ht.y,ai=ht.r,jr=Le-lt,ri=Le-ar,bi=xe-Gt,nn=xe-Qr,Wi=Vt-Se,Ni=ai-Se,_n=Le*Le+xe*xe-Se*Se,$i=_n-lt*lt-Gt*Gt+Vt*Vt,zn=_n-ar*ar-Qr*Qr+ai*ai,Wn=ri*bi-jr*nn,It=(bi*zn-nn*$i)/(Wn*2)-Le,ft=(nn*Wi-bi*Ni)/Wn,jt=(ri*$i-jr*zn)/(Wn*2)-xe,Zt=(jr*Ni-ri*Wi)/Wn,yr=ft*ft+Zt*Zt-1,Fr=2*(Se+It*ft+jt*Zt),Zr=It*It+jt*jt-Se*Se,Vr=-(yr?(Fr+Math.sqrt(Fr*Fr-4*yr*Zr))/(2*yr):Zr/Fr);return{x:Le+It+ft*Vr,y:xe+jt+Zt*Vr,r:Vr}}function Me(Ve,Xe,ht){var Le=Ve.x-Xe.x,xe,Se,lt=Ve.y-Xe.y,Gt,Vt,ar=Le*Le+lt*lt;ar?(Se=Xe.r+ht.r,Se*=Se,Vt=Ve.r+ht.r,Vt*=Vt,Se>Vt?(xe=(ar+Vt-Se)/(2*ar),Gt=Math.sqrt(Math.max(0,Vt/ar-xe*xe)),ht.x=Ve.x-xe*Le-Gt*lt,ht.y=Ve.y-xe*lt+Gt*Le):(xe=(ar+Se-Vt)/(2*ar),Gt=Math.sqrt(Math.max(0,Se/ar-xe*xe)),ht.x=Xe.x+xe*Le-Gt*lt,ht.y=Xe.y+xe*lt+Gt*Le)):(ht.x=Xe.x+ht.r,ht.y=Xe.y)}function ke(Ve,Xe){var ht=Ve.r+Xe.r-1e-6,Le=Xe.x-Ve.x,xe=Xe.y-Ve.y;return ht>0&&ht*ht>Le*Le+xe*xe}function ge(Ve){var Xe=Ve._,ht=Ve.next._,Le=Xe.r+ht.r,xe=(Xe.x*ht.r+ht.x*Xe.r)/Le,Se=(Xe.y*ht.r+ht.y*Xe.r)/Le;return xe*xe+Se*Se}function ie(Ve){this._=Ve,this.next=null,this.previous=null}function Te(Ve){if(!(xe=Ve.length))return 0;var Xe,ht,Le,xe,Se,lt,Gt,Vt,ar,Qr,ai;if(Xe=Ve[0],Xe.x=0,Xe.y=0,!(xe>1))return Xe.r;if(ht=Ve[1],Xe.x=-ht.r,ht.x=Xe.r,ht.y=0,!(xe>2))return Xe.r+ht.r;Me(ht,Xe,Le=Ve[2]),Xe=new ie(Xe),ht=new ie(ht),Le=new ie(Le),Xe.next=Le.previous=ht,ht.next=Xe.previous=Le,Le.next=ht.previous=Xe;e:for(Gt=3;Gt<xe;++Gt){Me(Xe._,ht._,Le=Ve[Gt]),Le=new ie(Le),Vt=ht.next,ar=Xe.previous,Qr=ht._.r,ai=Xe._.r;do if(Qr<=ai){if(ke(Vt._,Le._)){ht=Vt,Xe.next=ht,ht.previous=Xe,--Gt;continue e}Qr+=Vt._.r,Vt=Vt.next}else{if(ke(ar._,Le._)){Xe=ar,Xe.next=ht,ht.previous=Xe,--Gt;continue e}ai+=ar._.r,ar=ar.previous}while(Vt!==ar.next);for(Le.previous=Xe,Le.next=ht,Xe.next=ht.previous=ht=Le,Se=ge(Xe);(Le=Le.next)!==ht;)(lt=ge(Le))<Se&&(Xe=Le,Se=lt);ht=Xe.next}for(Xe=[ht._],Le=ht;(Le=Le.next)!==ht;)Xe.push(Le._);for(Le=V(Xe),Gt=0;Gt<xe;++Gt)Xe=Ve[Gt],Xe.x-=Le.x,Xe.y-=Le.y;return Le.r}function Ee(Ve){return Te(Ve),Ve}function Ae(Ve){return Ve==null?null:ze(Ve)}function ze(Ve){if(typeof Ve!=\"function\")throw new Error;return Ve}function Ce(){return 0}function me(Ve){return function(){return Ve}}function Re(Ve){return Math.sqrt(Ve.value)}function ce(){var Ve=null,Xe=1,ht=1,Le=Ce;function xe(Se){return Se.x=Xe/2,Se.y=ht/2,Ve?Se.eachBefore(Ge(Ve)).eachAfter(nt(Le,.5)).eachBefore(ct(1)):Se.eachBefore(Ge(Re)).eachAfter(nt(Ce,1)).eachAfter(nt(Le,Se.r/Math.min(Xe,ht))).eachBefore(ct(Math.min(Xe,ht)/(2*Se.r))),Se}return xe.radius=function(Se){return arguments.length?(Ve=Ae(Se),xe):Ve},xe.size=function(Se){return arguments.length?(Xe=+Se[0],ht=+Se[1],xe):[Xe,ht]},xe.padding=function(Se){return arguments.length?(Le=typeof Se==\"function\"?Se:me(+Se),xe):Le},xe}function Ge(Ve){return function(Xe){Xe.children||(Xe.r=Math.max(0,+Ve(Xe)||0))}}function nt(Ve,Xe){return function(ht){if(Le=ht.children){var Le,xe,Se=Le.length,lt=Ve(ht)*Xe||0,Gt;if(lt)for(xe=0;xe<Se;++xe)Le[xe].r+=lt;if(Gt=Te(Le),lt)for(xe=0;xe<Se;++xe)Le[xe].r-=lt;ht.r=Gt+lt}}}function ct(Ve){return function(Xe){var ht=Xe.parent;Xe.r*=Ve,ht&&(Xe.x=ht.x+Ve*Xe.x,Xe.y=ht.y+Ve*Xe.y)}}function qt(Ve){Ve.x0=Math.round(Ve.x0),Ve.y0=Math.round(Ve.y0),Ve.x1=Math.round(Ve.x1),Ve.y1=Math.round(Ve.y1)}function rt(Ve,Xe,ht,Le,xe){for(var Se=Ve.children,lt,Gt=-1,Vt=Se.length,ar=Ve.value&&(Le-Xe)/Ve.value;++Gt<Vt;)lt=Se[Gt],lt.y0=ht,lt.y1=xe,lt.x0=Xe,lt.x1=Xe+=lt.value*ar}function ot(){var Ve=1,Xe=1,ht=0,Le=!1;function xe(lt){var Gt=lt.height+1;return lt.x0=lt.y0=ht,lt.x1=Ve,lt.y1=Xe/Gt,lt.eachBefore(Se(Xe,Gt)),Le&<.eachBefore(qt),lt}function Se(lt,Gt){return function(Vt){Vt.children&&rt(Vt,Vt.x0,lt*(Vt.depth+1)/Gt,Vt.x1,lt*(Vt.depth+2)/Gt);var ar=Vt.x0,Qr=Vt.y0,ai=Vt.x1-ht,jr=Vt.y1-ht;ai<ar&&(ar=ai=(ar+ai)/2),jr<Qr&&(Qr=jr=(Qr+jr)/2),Vt.x0=ar,Vt.y0=Qr,Vt.x1=ai,Vt.y1=jr}}return xe.round=function(lt){return arguments.length?(Le=!!lt,xe):Le},xe.size=function(lt){return arguments.length?(Ve=+lt[0],Xe=+lt[1],xe):[Ve,Xe]},xe.padding=function(lt){return arguments.length?(ht=+lt,xe):ht},xe}var Rt=\"$\",kt={depth:-1},Ct={};function Yt(Ve){return Ve.id}function xr(Ve){return Ve.parentId}function er(){var Ve=Yt,Xe=xr;function ht(Le){var xe,Se,lt=Le.length,Gt,Vt,ar,Qr=new Array(lt),ai,jr,ri={};for(Se=0;Se<lt;++Se)xe=Le[Se],ar=Qr[Se]=new T(xe),(ai=Ve(xe,Se,Le))!=null&&(ai+=\"\")&&(jr=Rt+(ar.id=ai),ri[jr]=jr in ri?Ct:ar);for(Se=0;Se<lt;++Se)if(ar=Qr[Se],ai=Xe(Le[Se],Se,Le),ai==null||!(ai+=\"\")){if(Gt)throw new Error(\"multiple roots\");Gt=ar}else{if(Vt=ri[Rt+ai],!Vt)throw new Error(\"missing: \"+ai);if(Vt===Ct)throw new Error(\"ambiguous: \"+ai);Vt.children?Vt.children.push(ar):Vt.children=[ar],ar.parent=Vt}if(!Gt)throw new Error(\"no root\");if(Gt.parent=kt,Gt.eachBefore(function(bi){bi.depth=bi.parent.depth+1,--lt}).eachBefore(P),Gt.parent=null,lt>0)throw new Error(\"cycle\");return Gt}return ht.id=function(Le){return arguments.length?(Ve=ze(Le),ht):Ve},ht.parentId=function(Le){return arguments.length?(Xe=ze(Le),ht):Xe},ht}function Ke(Ve,Xe){return Ve.parent===Xe.parent?1:2}function xt(Ve){var Xe=Ve.children;return Xe?Xe[0]:Ve.t}function bt(Ve){var Xe=Ve.children;return Xe?Xe[Xe.length-1]:Ve.t}function Lt(Ve,Xe,ht){var Le=ht/(Xe.i-Ve.i);Xe.c-=Le,Xe.s+=ht,Ve.c+=Le,Xe.z+=ht,Xe.m+=ht}function St(Ve){for(var Xe=0,ht=0,Le=Ve.children,xe=Le.length,Se;--xe>=0;)Se=Le[xe],Se.z+=Xe,Se.m+=Xe,Xe+=Se.s+(ht+=Se.c)}function Et(Ve,Xe,ht){return Ve.a.parent===Xe.parent?Ve.a:ht}function dt(Ve,Xe){this._=Ve,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=Xe}dt.prototype=Object.create(T.prototype);function Ht(Ve){for(var Xe=new dt(Ve,0),ht,Le=[Xe],xe,Se,lt,Gt;ht=Le.pop();)if(Se=ht._.children)for(ht.children=new Array(Gt=Se.length),lt=Gt-1;lt>=0;--lt)Le.push(xe=ht.children[lt]=new dt(Se[lt],lt)),xe.parent=ht;return(Xe.parent=new dt(null,0)).children=[Xe],Xe}function $t(){var Ve=Ke,Xe=1,ht=1,Le=null;function xe(ar){var Qr=Ht(ar);if(Qr.eachAfter(Se),Qr.parent.m=-Qr.z,Qr.eachBefore(lt),Le)ar.eachBefore(Vt);else{var ai=ar,jr=ar,ri=ar;ar.eachBefore(function(_n){_n.x<ai.x&&(ai=_n),_n.x>jr.x&&(jr=_n),_n.depth>ri.depth&&(ri=_n)});var bi=ai===jr?1:Ve(ai,jr)/2,nn=bi-ai.x,Wi=Xe/(jr.x+bi+nn),Ni=ht/(ri.depth||1);ar.eachBefore(function(_n){_n.x=(_n.x+nn)*Wi,_n.y=_n.depth*Ni})}return ar}function Se(ar){var Qr=ar.children,ai=ar.parent.children,jr=ar.i?ai[ar.i-1]:null;if(Qr){St(ar);var ri=(Qr[0].z+Qr[Qr.length-1].z)/2;jr?(ar.z=jr.z+Ve(ar._,jr._),ar.m=ar.z-ri):ar.z=ri}else jr&&(ar.z=jr.z+Ve(ar._,jr._));ar.parent.A=Gt(ar,jr,ar.parent.A||ai[0])}function lt(ar){ar._.x=ar.z+ar.parent.m,ar.m+=ar.parent.m}function Gt(ar,Qr,ai){if(Qr){for(var jr=ar,ri=ar,bi=Qr,nn=jr.parent.children[0],Wi=jr.m,Ni=ri.m,_n=bi.m,$i=nn.m,zn;bi=bt(bi),jr=xt(jr),bi&&jr;)nn=xt(nn),ri=bt(ri),ri.a=ar,zn=bi.z+_n-jr.z-Wi+Ve(bi._,jr._),zn>0&&(Lt(Et(bi,ar,ai),ar,zn),Wi+=zn,Ni+=zn),_n+=bi.m,Wi+=jr.m,$i+=nn.m,Ni+=ri.m;bi&&!bt(ri)&&(ri.t=bi,ri.m+=_n-Ni),jr&&!xt(nn)&&(nn.t=jr,nn.m+=Wi-$i,ai=ar)}return ai}function Vt(ar){ar.x*=Xe,ar.y=ar.depth*ht}return xe.separation=function(ar){return arguments.length?(Ve=ar,xe):Ve},xe.size=function(ar){return arguments.length?(Le=!1,Xe=+ar[0],ht=+ar[1],xe):Le?null:[Xe,ht]},xe.nodeSize=function(ar){return arguments.length?(Le=!0,Xe=+ar[0],ht=+ar[1],xe):Le?[Xe,ht]:null},xe}function fr(Ve,Xe,ht,Le,xe){for(var Se=Ve.children,lt,Gt=-1,Vt=Se.length,ar=Ve.value&&(xe-ht)/Ve.value;++Gt<Vt;)lt=Se[Gt],lt.x0=Xe,lt.x1=Le,lt.y0=ht,lt.y1=ht+=lt.value*ar}var _r=(1+Math.sqrt(5))/2;function Br(Ve,Xe,ht,Le,xe,Se){for(var lt=[],Gt=Xe.children,Vt,ar,Qr=0,ai=0,jr=Gt.length,ri,bi,nn=Xe.value,Wi,Ni,_n,$i,zn,Wn,It;Qr<jr;){ri=xe-ht,bi=Se-Le;do Wi=Gt[ai++].value;while(!Wi&&ai<jr);for(Ni=_n=Wi,Wn=Math.max(bi/ri,ri/bi)/(nn*Ve),It=Wi*Wi*Wn,zn=Math.max(_n/It,It/Ni);ai<jr;++ai){if(Wi+=ar=Gt[ai].value,ar<Ni&&(Ni=ar),ar>_n&&(_n=ar),It=Wi*Wi*Wn,$i=Math.max(_n/It,It/Ni),$i>zn){Wi-=ar;break}zn=$i}lt.push(Vt={value:Wi,dice:ri<bi,children:Gt.slice(Qr,ai)}),Vt.dice?rt(Vt,ht,Le,xe,nn?Le+=bi*Wi/nn:Se):fr(Vt,ht,Le,nn?ht+=ri*Wi/nn:xe,Se),nn-=Wi,Qr=ai}return lt}var Or=function Ve(Xe){function ht(Le,xe,Se,lt,Gt){Br(Xe,Le,xe,Se,lt,Gt)}return ht.ratio=function(Le){return Ve((Le=+Le)>1?Le:1)},ht}(_r);function Nr(){var Ve=Or,Xe=!1,ht=1,Le=1,xe=[0],Se=Ce,lt=Ce,Gt=Ce,Vt=Ce,ar=Ce;function Qr(jr){return jr.x0=jr.y0=0,jr.x1=ht,jr.y1=Le,jr.eachBefore(ai),xe=[0],Xe&&jr.eachBefore(qt),jr}function ai(jr){var ri=xe[jr.depth],bi=jr.x0+ri,nn=jr.y0+ri,Wi=jr.x1-ri,Ni=jr.y1-ri;Wi<bi&&(bi=Wi=(bi+Wi)/2),Ni<nn&&(nn=Ni=(nn+Ni)/2),jr.x0=bi,jr.y0=nn,jr.x1=Wi,jr.y1=Ni,jr.children&&(ri=xe[jr.depth+1]=Se(jr)/2,bi+=ar(jr)-ri,nn+=lt(jr)-ri,Wi-=Gt(jr)-ri,Ni-=Vt(jr)-ri,Wi<bi&&(bi=Wi=(bi+Wi)/2),Ni<nn&&(nn=Ni=(nn+Ni)/2),Ve(jr,bi,nn,Wi,Ni))}return Qr.round=function(jr){return arguments.length?(Xe=!!jr,Qr):Xe},Qr.size=function(jr){return arguments.length?(ht=+jr[0],Le=+jr[1],Qr):[ht,Le]},Qr.tile=function(jr){return arguments.length?(Ve=ze(jr),Qr):Ve},Qr.padding=function(jr){return arguments.length?Qr.paddingInner(jr).paddingOuter(jr):Qr.paddingInner()},Qr.paddingInner=function(jr){return arguments.length?(Se=typeof jr==\"function\"?jr:me(+jr),Qr):Se},Qr.paddingOuter=function(jr){return arguments.length?Qr.paddingTop(jr).paddingRight(jr).paddingBottom(jr).paddingLeft(jr):Qr.paddingTop()},Qr.paddingTop=function(jr){return arguments.length?(lt=typeof jr==\"function\"?jr:me(+jr),Qr):lt},Qr.paddingRight=function(jr){return arguments.length?(Gt=typeof jr==\"function\"?jr:me(+jr),Qr):Gt},Qr.paddingBottom=function(jr){return arguments.length?(Vt=typeof jr==\"function\"?jr:me(+jr),Qr):Vt},Qr.paddingLeft=function(jr){return arguments.length?(ar=typeof jr==\"function\"?jr:me(+jr),Qr):ar},Qr}function ut(Ve,Xe,ht,Le,xe){var Se=Ve.children,lt,Gt=Se.length,Vt,ar=new Array(Gt+1);for(ar[0]=Vt=lt=0;lt<Gt;++lt)ar[lt+1]=Vt+=Se[lt].value;Qr(0,Gt,Ve.value,Xe,ht,Le,xe);function Qr(ai,jr,ri,bi,nn,Wi,Ni){if(ai>=jr-1){var _n=Se[ai];_n.x0=bi,_n.y0=nn,_n.x1=Wi,_n.y1=Ni;return}for(var $i=ar[ai],zn=ri/2+$i,Wn=ai+1,It=jr-1;Wn<It;){var ft=Wn+It>>>1;ar[ft]<zn?Wn=ft+1:It=ft}zn-ar[Wn-1]<ar[Wn]-zn&&ai+1<Wn&&--Wn;var jt=ar[Wn]-$i,Zt=ri-jt;if(Wi-bi>Ni-nn){var yr=(bi*Zt+Wi*jt)/ri;Qr(ai,Wn,jt,bi,nn,yr,Ni),Qr(Wn,jr,Zt,yr,nn,Wi,Ni)}else{var Fr=(nn*Zt+Ni*jt)/ri;Qr(ai,Wn,jt,bi,nn,Wi,Fr),Qr(Wn,jr,Zt,bi,Fr,Wi,Ni)}}}function Ne(Ve,Xe,ht,Le,xe){(Ve.depth&1?fr:rt)(Ve,Xe,ht,Le,xe)}var Ye=function Ve(Xe){function ht(Le,xe,Se,lt,Gt){if((Vt=Le._squarify)&&Vt.ratio===Xe)for(var Vt,ar,Qr,ai,jr=-1,ri,bi=Vt.length,nn=Le.value;++jr<bi;){for(ar=Vt[jr],Qr=ar.children,ai=ar.value=0,ri=Qr.length;ai<ri;++ai)ar.value+=Qr[ai].value;ar.dice?rt(ar,xe,Se,lt,Se+=(Gt-Se)*ar.value/nn):fr(ar,xe,Se,xe+=(lt-xe)*ar.value/nn,Gt),nn-=ar.value}else Le._squarify=Vt=Br(Xe,Le,xe,Se,lt,Gt),Vt.ratio=Xe}return ht.ratio=function(Le){return Ve((Le=+Le)>1?Le:1)},ht}(_r);e.cluster=l,e.hierarchy=_,e.pack=ce,e.packEnclose=V,e.packSiblings=Ee,e.partition=ot,e.stratify=er,e.tree=$t,e.treemap=Nr,e.treemapBinary=ut,e.treemapDice=rt,e.treemapResquarify=Ye,e.treemapSlice=fr,e.treemapSliceDice=Ne,e.treemapSquarify=Or,Object.defineProperty(e,\"__esModule\",{value:!0})})});var EE=ye(ME=>{\"use strict\";var ZEe=SE(),bkt=uo(),b5=Mr(),wkt=Mu().makeColorScaleFuncFromTrace,Tkt=y5().makePullColorFn,Akt=y5().generateExtendedColors,Skt=Mu().calc,Mkt=es().ALMOST_EQUAL,Ekt={},kkt={},Ckt={};ME.calc=function(e,t){var r=e._fullLayout,n=t.ids,i=b5.isArrayOrTypedArray(n),a=t.labels,o=t.parents,s=t.values,l=b5.isArrayOrTypedArray(s),u=[],c={},f={},h=function(G,N){c[G]?c[G].push(N):c[G]=[N],f[N]=1},d=function(G){return G||typeof G==\"number\"},v=function(G){return!l||bkt(s[G])&&s[G]>=0},x,b,p;i?(x=Math.min(n.length,o.length),b=function(G){return d(n[G])&&v(G)},p=function(G){return String(n[G])}):(x=Math.min(a.length,o.length),b=function(G){return d(a[G])&&v(G)},p=function(G){return String(a[G])}),l&&(x=Math.min(x,s.length));for(var E=0;E<x;E++)if(b(E)){var k=p(E),A=d(o[E])?String(o[E]):\"\",L={i:E,id:k,pid:A,label:d(a[E])?String(a[E]):\"\"};l&&(L.v=+s[E]),u.push(L),h(A,k)}if(c[\"\"]){if(c[\"\"].length>1){for(var M=b5.randstr(),g=0;g<u.length;g++)u[g].pid===\"\"&&(u[g].pid=M);u.unshift({hasMultipleRoots:!0,id:M,pid:\"\",label:\"\"})}}else{var _=[],C;for(C in c)f[C]||_.push(C);if(_.length===1)C=_[0],u.unshift({hasImpliedRoot:!0,id:C,pid:\"\",label:C});else return b5.warn([\"Multiple implied roots, cannot build\",t.type,\"hierarchy of\",t.name+\".\",\"These roots include:\",_.join(\", \")].join(\" \"))}var P;try{P=ZEe.stratify().id(function(G){return G.id}).parentId(function(G){return G.pid})(u)}catch(G){return b5.warn([\"Failed to build\",t.type,\"hierarchy of\",t.name+\".\",\"Error:\",G.message].join(\" \"))}var T=ZEe.hierarchy(P),F=!1;if(l)switch(t.branchvalues){case\"remainder\":T.sum(function(G){return G.data.v});break;case\"total\":T.each(function(G){var N=G.data.data,W=N.v;if(G.children){var re=G.children.reduce(function(ae,_e){return ae+_e.data.data.v},0);if((N.hasImpliedRoot||N.hasMultipleRoots)&&(W=re),W<re*Mkt)return F=!0,b5.warn([\"Total value for node\",G.data.data.id,\"of\",t.name,\"is smaller than the sum of its children.\",`\n", - "parent value =`,W,`\n", - "children sum =`,re].join(\" \"))}G.value=W});break}else XEe(T,t,{branches:t.count.indexOf(\"branches\")!==-1,leaves:t.count.indexOf(\"leaves\")!==-1});if(!F){t.sort&&T.sort(function(G,N){return N.value-G.value});var q,V,H=t.marker.colors||[],X=!!H.length;return t._hasColorscale?(X||(H=l?t.values:t._values),Skt(e,t,{vals:H,containerStr:\"marker\",cLetter:\"c\"}),V=wkt(t.marker)):q=Tkt(r[\"_\"+t.type+\"colormap\"]),T.each(function(G){var N=G.data.data;N.color=t._hasColorscale?V(H[N.i]):q(H[N.i],N.id)}),u[0].hierarchy=T,u}};ME._runCrossTraceCalc=function(e,t){var r=t._fullLayout,n=t.calcdata,i=r[e+\"colorway\"],a=r[\"_\"+e+\"colormap\"];r[\"extend\"+e+\"colors\"]&&(i=Akt(i,e===\"icicle\"?Ckt:e===\"treemap\"?kkt:Ekt));var o=0,s;function l(h){var d=h.data.data,v=d.id;d.color===!1&&(a[v]?d.color=a[v]:h.parent?h.parent.parent?d.color=h.parent.data.data.color:(a[v]=d.color=i[o%i.length],o++):d.color=s)}for(var u=0;u<n.length;u++){var c=n[u],f=c[0];f.trace.type===e&&f.hierarchy&&(s=f.trace.root.color,f.hierarchy.each(l))}};ME.crossTraceCalc=function(e){return ME._runCrossTraceCalc(\"sunburst\",e)};function XEe(e,t,r){var n=0,i=e.children;if(i){for(var a=i.length,o=0;o<a;o++)n+=XEe(i[o],t,r);r.branches&&n++}else r.leaves&&n++;return e.value=e.data.data.value=n,t._values||(t._values=[]),t._values[e.data.data.i]=n,n}});function Xy(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function G_(e,t){var r=Object.create(e.prototype);for(var n in t)r[n]=t[n];return r}var pD=Ll(()=>{});function Vm(){}function KEe(){return this.rgb().formatHex()}function qkt(){return this.rgb().formatHex8()}function Okt(){return ike(this).formatHsl()}function JEe(){return this.rgb().formatRgb()}function W_(e){var t,r;return e=(e+\"\").trim().toLowerCase(),(t=Lkt.exec(e))?(r=t[1].length,t=parseInt(t[1],16),r===6?$Ee(t):r===3?new hd(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?gD(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?gD(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Pkt.exec(e))?new hd(t[1],t[2],t[3],1):(t=Ikt.exec(e))?new hd(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Rkt.exec(e))?gD(t[1],t[2],t[3],t[4]):(t=Dkt.exec(e))?gD(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=zkt.exec(e))?tke(t[1],t[2]/100,t[3]/100,1):(t=Fkt.exec(e))?tke(t[1],t[2]/100,t[3]/100,t[4]):YEe.hasOwnProperty(e)?$Ee(YEe[e]):e===\"transparent\"?new hd(NaN,NaN,NaN,0):null}function $Ee(e){return new hd(e>>16&255,e>>8&255,e&255,1)}function gD(e,t,r,n){return n<=0&&(e=t=r=NaN),new hd(e,t,r,n)}function CE(e){return e instanceof Vm||(e=W_(e)),e?(e=e.rgb(),new hd(e.r,e.g,e.b,e.opacity)):new hd}function T5(e,t,r,n){return arguments.length===1?CE(e):new hd(e,t,r,n==null?1:n)}function hd(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}function QEe(){return`#${M2(this.r)}${M2(this.g)}${M2(this.b)}`}function Bkt(){return`#${M2(this.r)}${M2(this.g)}${M2(this.b)}${M2((isNaN(this.opacity)?1:this.opacity)*255)}`}function eke(){let e=yD(this.opacity);return`${e===1?\"rgb(\":\"rgba(\"}${E2(this.r)}, ${E2(this.g)}, ${E2(this.b)}${e===1?\")\":`, ${e})`}`}function yD(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function E2(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function M2(e){return e=E2(e),(e<16?\"0\":\"\")+e.toString(16)}function tke(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Zg(e,t,r,n)}function ike(e){if(e instanceof Zg)return new Zg(e.h,e.s,e.l,e.opacity);if(e instanceof Vm||(e=W_(e)),!e)return new Zg;if(e instanceof Zg)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=NaN,s=a-i,l=(a+i)/2;return s?(t===a?o=(r-n)/s+(r<n)*6:r===a?o=(n-t)/s+2:o=(t-r)/s+4,s/=l<.5?a+i:2-a-i,o*=60):s=l>0&&l<1?0:o,new Zg(o,s,l,e.opacity)}function LE(e,t,r,n){return arguments.length===1?ike(e):new Zg(e,t,r,n==null?1:n)}function Zg(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}function rke(e){return e=(e||0)%360,e<0?e+360:e}function mD(e){return Math.max(0,Math.min(1,e||0))}function oW(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}var j_,k2,w5,kE,Um,Lkt,Pkt,Ikt,Rkt,Dkt,zkt,Fkt,YEe,_D=Ll(()=>{pD();j_=.7,k2=1/j_,w5=\"\\\\s*([+-]?\\\\d+)\\\\s*\",kE=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",Um=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",Lkt=/^#([0-9a-f]{3,8})$/,Pkt=new RegExp(`^rgb\\\\(${w5},${w5},${w5}\\\\)$`),Ikt=new RegExp(`^rgb\\\\(${Um},${Um},${Um}\\\\)$`),Rkt=new RegExp(`^rgba\\\\(${w5},${w5},${w5},${kE}\\\\)$`),Dkt=new RegExp(`^rgba\\\\(${Um},${Um},${Um},${kE}\\\\)$`),zkt=new RegExp(`^hsl\\\\(${kE},${Um},${Um}\\\\)$`),Fkt=new RegExp(`^hsla\\\\(${kE},${Um},${Um},${kE}\\\\)$`),YEe={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};Xy(Vm,W_,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:KEe,formatHex:KEe,formatHex8:qkt,formatHsl:Okt,formatRgb:JEe,toString:JEe});Xy(hd,T5,G_(Vm,{brighter(e){return e=e==null?k2:Math.pow(k2,e),new hd(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?j_:Math.pow(j_,e),new hd(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new hd(E2(this.r),E2(this.g),E2(this.b),yD(this.opacity))},displayable(){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:QEe,formatHex:QEe,formatHex8:Bkt,formatRgb:eke,toString:eke}));Xy(Zg,LE,G_(Vm,{brighter(e){return e=e==null?k2:Math.pow(k2,e),new Zg(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?j_:Math.pow(j_,e),new Zg(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new hd(oW(e>=240?e-240:e+120,i,n),oW(e,i,n),oW(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new Zg(rke(this.h),mD(this.s),mD(this.l),yD(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=yD(this.opacity);return`${e===1?\"hsl(\":\"hsla(\"}${rke(this.h)}, ${mD(this.s)*100}%, ${mD(this.l)*100}%${e===1?\")\":`, ${e})`}`}}))});var xD,bD,sW=Ll(()=>{xD=Math.PI/180,bD=180/Math.PI});function uke(e){if(e instanceof Hm)return new Hm(e.l,e.a,e.b,e.opacity);if(e instanceof Yy)return cke(e);e instanceof hd||(e=CE(e));var t=fW(e.r),r=fW(e.g),n=fW(e.b),i=lW((.2225045*t+.7168786*r+.0606169*n)/ake),a,o;return t===r&&r===n?a=o=i:(a=lW((.4360747*t+.3850649*r+.1430804*n)/nke),o=lW((.0139322*t+.0971045*r+.7141733*n)/oke)),new Hm(116*i-16,500*(a-i),200*(i-o),e.opacity)}function S5(e,t,r,n){return arguments.length===1?uke(e):new Hm(e,t,r,n==null?1:n)}function Hm(e,t,r,n){this.l=+e,this.a=+t,this.b=+r,this.opacity=+n}function lW(e){return e>Nkt?Math.pow(e,1/3):e/lke+ske}function uW(e){return e>A5?e*e*e:lke*(e-ske)}function cW(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function fW(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Ukt(e){if(e instanceof Yy)return new Yy(e.h,e.c,e.l,e.opacity);if(e instanceof Hm||(e=uke(e)),e.a===0&&e.b===0)return new Yy(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*bD;return new Yy(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function PE(e,t,r,n){return arguments.length===1?Ukt(e):new Yy(e,t,r,n==null?1:n)}function Yy(e,t,r,n){this.h=+e,this.c=+t,this.l=+r,this.opacity=+n}function cke(e){if(isNaN(e.h))return new Hm(e.l,0,0,e.opacity);var t=e.h*xD;return new Hm(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}var wD,nke,ake,oke,ske,A5,lke,Nkt,fke=Ll(()=>{pD();_D();sW();wD=18,nke=.96422,ake=1,oke=.82521,ske=4/29,A5=6/29,lke=3*A5*A5,Nkt=A5*A5*A5;Xy(Hm,S5,G_(Vm,{brighter(e){return new Hm(this.l+wD*(e==null?1:e),this.a,this.b,this.opacity)},darker(e){return new Hm(this.l-wD*(e==null?1:e),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,r=isNaN(this.b)?e:e-this.b/200;return t=nke*uW(t),e=ake*uW(e),r=oke*uW(r),new hd(cW(3.1338561*t-1.6168667*e-.4906146*r),cW(-.9787684*t+1.9161415*e+.033454*r),cW(.0719453*t-.2289914*e+1.4052427*r),this.opacity)}}));Xy(Yy,PE,G_(Vm,{brighter(e){return new Yy(this.h,this.c,this.l+wD*(e==null?1:e),this.opacity)},darker(e){return new Yy(this.h,this.c,this.l-wD*(e==null?1:e),this.opacity)},rgb(){return cke(this).rgb()}}))});function Vkt(e){if(e instanceof C2)return new C2(e.h,e.s,e.l,e.opacity);e instanceof hd||(e=CE(e));var t=e.r/255,r=e.g/255,n=e.b/255,i=(vke*n+hke*t-dke*r)/(vke+hke-dke),a=n-i,o=(IE*(r-i)-dW*a)/TD,s=Math.sqrt(o*o+a*a)/(IE*i*(1-i)),l=s?Math.atan2(o,a)*bD-120:NaN;return new C2(l<0?l+360:l,s,i,e.opacity)}function M5(e,t,r,n){return arguments.length===1?Vkt(e):new C2(e,t,r,n==null?1:n)}function C2(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}var pke,hW,dW,TD,IE,hke,dke,vke,gke=Ll(()=>{pD();_D();sW();pke=-.14861,hW=1.78277,dW=-.29227,TD=-.90649,IE=1.97294,hke=IE*TD,dke=IE*hW,vke=hW*dW-TD*pke;Xy(C2,M5,G_(Vm,{brighter(e){return e=e==null?k2:Math.pow(k2,e),new C2(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?j_:Math.pow(j_,e),new C2(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*xD,t=+this.l,r=isNaN(this.s)?0:this.s*t*(1-t),n=Math.cos(e),i=Math.sin(e);return new hd(255*(t+r*(pke*n+hW*i)),255*(t+r*(dW*n+TD*i)),255*(t+r*(IE*n)),this.opacity)}}))});var L2=Ll(()=>{_D();fke();gke()});function vW(e,t,r,n,i){var a=e*e,o=a*e;return((1-3*e+3*a-o)*t+(4-6*a+3*o)*r+(1+3*e+3*a-3*o)*n+o*i)/6}function AD(e){var t=e.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,t-1):Math.floor(r*t),i=e[n],a=e[n+1],o=n>0?e[n-1]:2*i-a,s=n<t-1?e[n+2]:2*a-i;return vW((r-n/t)*t,o,i,a,s)}}var SD=Ll(()=>{});function MD(e){var t=e.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*t),i=e[(n+t-1)%t],a=e[n%t],o=e[(n+1)%t],s=e[(n+2)%t];return vW((r-n/t)*t,i,a,o,s)}}var pW=Ll(()=>{SD()});var E5,gW=Ll(()=>{E5=e=>()=>e});function mke(e,t){return function(r){return e+r*t}}function Hkt(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function Z_(e,t){var r=t-e;return r?mke(e,r>180||r<-180?r-360*Math.round(r/360):r):E5(isNaN(e)?t:e)}function yke(e){return(e=+e)==1?qf:function(t,r){return r-t?Hkt(t,r,e):E5(isNaN(t)?r:t)}}function qf(e,t){var r=t-e;return r?mke(e,r):E5(isNaN(e)?t:e)}var P2=Ll(()=>{gW()});function _ke(e){return function(t){var r=t.length,n=new Array(r),i=new Array(r),a=new Array(r),o,s;for(o=0;o<r;++o)s=T5(t[o]),n[o]=s.r||0,i[o]=s.g||0,a[o]=s.b||0;return n=e(n),i=e(i),a=e(a),s.opacity=1,function(l){return s.r=n(l),s.g=i(l),s.b=a(l),s+\"\"}}}var RE,xke,bke,mW=Ll(()=>{L2();SD();pW();P2();RE=function e(t){var r=yke(t);function n(i,a){var o=r((i=T5(i)).r,(a=T5(a)).r),s=r(i.g,a.g),l=r(i.b,a.b),u=qf(i.opacity,a.opacity);return function(c){return i.r=o(c),i.g=s(c),i.b=l(c),i.opacity=u(c),i+\"\"}}return n.gamma=e,n}(1);xke=_ke(AD),bke=_ke(MD)});function k5(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),i;return function(a){for(i=0;i<r;++i)n[i]=e[i]*(1-a)+t[i]*a;return n}}function ED(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}var kD=Ll(()=>{});function wke(e,t){return(ED(t)?k5:yW)(e,t)}function yW(e,t){var r=t?t.length:0,n=e?Math.min(r,e.length):0,i=new Array(n),a=new Array(r),o;for(o=0;o<n;++o)i[o]=X_(e[o],t[o]);for(;o<r;++o)a[o]=t[o];return function(s){for(o=0;o<n;++o)a[o]=i[o](s);return a}}var _W=Ll(()=>{DE();kD()});function CD(e,t){var r=new Date;return e=+e,t=+t,function(n){return r.setTime(e*(1-n)+t*n),r}}var xW=Ll(()=>{});function Fp(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}var zE=Ll(()=>{});function LD(e,t){var r={},n={},i;(e===null||typeof e!=\"object\")&&(e={}),(t===null||typeof t!=\"object\")&&(t={});for(i in t)i in e?r[i]=X_(e[i],t[i]):n[i]=t[i];return function(a){for(i in r)n[i]=r[i](a);return n}}var bW=Ll(()=>{DE()});function Gkt(e){return function(){return e}}function jkt(e){return function(t){return e(t)+\"\"}}function PD(e,t){var r=TW.lastIndex=wW.lastIndex=0,n,i,a,o=-1,s=[],l=[];for(e=e+\"\",t=t+\"\";(n=TW.exec(e))&&(i=wW.exec(t));)(a=i.index)>r&&(a=t.slice(r,a),s[o]?s[o]+=a:s[++o]=a),(n=n[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,l.push({i:o,x:Fp(n,i)})),r=wW.lastIndex;return r<t.length&&(a=t.slice(r),s[o]?s[o]+=a:s[++o]=a),s.length<2?l[0]?jkt(l[0].x):Gkt(t):(t=l.length,function(u){for(var c=0,f;c<t;++c)s[(f=l[c]).i]=f.x(u);return s.join(\"\")})}var TW,wW,AW=Ll(()=>{zE();TW=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,wW=new RegExp(TW.source,\"g\")});function X_(e,t){var r=typeof t,n;return t==null||r===\"boolean\"?E5(t):(r===\"number\"?Fp:r===\"string\"?(n=W_(t))?(t=n,RE):PD:t instanceof W_?RE:t instanceof Date?CD:ED(t)?k5:Array.isArray(t)?yW:typeof t.valueOf!=\"function\"&&typeof t.toString!=\"function\"||isNaN(t)?LD:Fp)(e,t)}var DE=Ll(()=>{L2();mW();_W();xW();zE();bW();AW();gW();kD()});function Tke(e){var t=e.length;return function(r){return e[Math.max(0,Math.min(t-1,Math.floor(r*t)))]}}var Ake=Ll(()=>{});function Ske(e,t){var r=Z_(+e,+t);return function(n){var i=r(n);return i-360*Math.floor(i/360)}}var Mke=Ll(()=>{P2()});function Eke(e,t){return e=+e,t=+t,function(r){return Math.round(e*(1-r)+t*r)}}var kke=Ll(()=>{});function SW(e,t,r,n,i,a){var o,s,l;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(l=e*r+t*n)&&(r-=e*l,n-=t*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),e*n<t*r&&(e=-e,t=-t,l=-l,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*Cke,skewX:Math.atan(l)*Cke,scaleX:o,scaleY:s}}var Cke,ID,Lke=Ll(()=>{Cke=180/Math.PI,ID={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1}});function Pke(e){let t=new(typeof DOMMatrix==\"function\"?DOMMatrix:WebKitCSSMatrix)(e+\"\");return t.isIdentity?ID:SW(t.a,t.b,t.c,t.d,t.e,t.f)}function Ike(e){return e==null?ID:(RD||(RD=document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\")),RD.setAttribute(\"transform\",e),(e=RD.transform.baseVal.consolidate())?(e=e.matrix,SW(e.a,e.b,e.c,e.d,e.e,e.f)):ID)}var RD,Rke=Ll(()=>{Lke()});function Dke(e,t,r,n){function i(u){return u.length?u.pop()+\" \":\"\"}function a(u,c,f,h,d,v){if(u!==f||c!==h){var x=d.push(\"translate(\",null,t,null,r);v.push({i:x-4,x:Fp(u,f)},{i:x-2,x:Fp(c,h)})}else(f||h)&&d.push(\"translate(\"+f+t+h+r)}function o(u,c,f,h){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),h.push({i:f.push(i(f)+\"rotate(\",null,n)-2,x:Fp(u,c)})):c&&f.push(i(f)+\"rotate(\"+c+n)}function s(u,c,f,h){u!==c?h.push({i:f.push(i(f)+\"skewX(\",null,n)-2,x:Fp(u,c)}):c&&f.push(i(f)+\"skewX(\"+c+n)}function l(u,c,f,h,d,v){if(u!==f||c!==h){var x=d.push(i(d)+\"scale(\",null,\",\",null,\")\");v.push({i:x-4,x:Fp(u,f)},{i:x-2,x:Fp(c,h)})}else(f!==1||h!==1)&&d.push(i(d)+\"scale(\"+f+\",\"+h+\")\")}return function(u,c){var f=[],h=[];return u=e(u),c=e(c),a(u.translateX,u.translateY,c.translateX,c.translateY,f,h),o(u.rotate,c.rotate,f,h),s(u.skewX,c.skewX,f,h),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,f,h),u=c=null,function(d){for(var v=-1,x=h.length,b;++v<x;)f[(b=h[v]).i]=b.x(d);return f.join(\"\")}}}var zke,Fke,qke=Ll(()=>{zE();Rke();zke=Dke(Pke,\"px, \",\"px)\",\"deg)\"),Fke=Dke(Ike,\", \",\")\",\")\")});function Oke(e){return((e=Math.exp(e))+1/e)/2}function Zkt(e){return((e=Math.exp(e))-1/e)/2}function Xkt(e){return((e=Math.exp(2*e))-1)/(e+1)}var Wkt,Bke,Nke=Ll(()=>{Wkt=1e-12;Bke=function e(t,r,n){function i(a,o){var s=a[0],l=a[1],u=a[2],c=o[0],f=o[1],h=o[2],d=c-s,v=f-l,x=d*d+v*v,b,p;if(x<Wkt)p=Math.log(h/u)/t,b=function(C){return[s+C*d,l+C*v,u*Math.exp(t*C*p)]};else{var E=Math.sqrt(x),k=(h*h-u*u+n*x)/(2*u*r*E),A=(h*h-u*u-n*x)/(2*h*r*E),L=Math.log(Math.sqrt(k*k+1)-k),_=Math.log(Math.sqrt(A*A+1)-A);p=(_-L)/t,b=function(C){var M=C*p,g=Oke(L),P=u/(r*E)*(g*Xkt(t*M+L)-Zkt(L));return[s+P*d,l+P*v,u*g/Oke(t*M+L)]}}return b.duration=p*1e3*t/Math.SQRT2,b}return i.rho=function(a){var o=Math.max(.001,+a),s=o*o,l=s*s;return e(o,s,l)},i}(Math.SQRT2,2,4)});function Uke(e){return function(t,r){var n=e((t=LE(t)).h,(r=LE(r)).h),i=qf(t.s,r.s),a=qf(t.l,r.l),o=qf(t.opacity,r.opacity);return function(s){return t.h=n(s),t.s=i(s),t.l=a(s),t.opacity=o(s),t+\"\"}}}var Vke,Hke,Gke=Ll(()=>{L2();P2();Vke=Uke(Z_),Hke=Uke(qf)});function MW(e,t){var r=qf((e=S5(e)).l,(t=S5(t)).l),n=qf(e.a,t.a),i=qf(e.b,t.b),a=qf(e.opacity,t.opacity);return function(o){return e.l=r(o),e.a=n(o),e.b=i(o),e.opacity=a(o),e+\"\"}}var jke=Ll(()=>{L2();P2()});function Wke(e){return function(t,r){var n=e((t=PE(t)).h,(r=PE(r)).h),i=qf(t.c,r.c),a=qf(t.l,r.l),o=qf(t.opacity,r.opacity);return function(s){return t.h=n(s),t.c=i(s),t.l=a(s),t.opacity=o(s),t+\"\"}}}var Zke,Xke,Yke=Ll(()=>{L2();P2();Zke=Wke(Z_),Xke=Wke(qf)});function Kke(e){return function t(r){r=+r;function n(i,a){var o=e((i=M5(i)).h,(a=M5(a)).h),s=qf(i.s,a.s),l=qf(i.l,a.l),u=qf(i.opacity,a.opacity);return function(c){return i.h=o(c),i.s=s(c),i.l=l(Math.pow(c,r)),i.opacity=u(c),i+\"\"}}return n.gamma=t,n}(1)}var Jke,$ke,Qke=Ll(()=>{L2();P2();Jke=Kke(Z_),$ke=Kke(qf)});function EW(e,t){t===void 0&&(t=e,e=X_);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r<n;)a[r]=e(i,i=t[++r]);return function(o){var s=Math.max(0,Math.min(n-1,Math.floor(o*=n)));return a[s](o-s)}}var eCe=Ll(()=>{DE()});function tCe(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e(n/(t-1));return r}var rCe=Ll(()=>{});var I2={};QQ(I2,{interpolate:()=>X_,interpolateArray:()=>wke,interpolateBasis:()=>AD,interpolateBasisClosed:()=>MD,interpolateCubehelix:()=>Jke,interpolateCubehelixLong:()=>$ke,interpolateDate:()=>CD,interpolateDiscrete:()=>Tke,interpolateHcl:()=>Zke,interpolateHclLong:()=>Xke,interpolateHsl:()=>Vke,interpolateHslLong:()=>Hke,interpolateHue:()=>Ske,interpolateLab:()=>MW,interpolateNumber:()=>Fp,interpolateNumberArray:()=>k5,interpolateObject:()=>LD,interpolateRgb:()=>RE,interpolateRgbBasis:()=>xke,interpolateRgbBasisClosed:()=>bke,interpolateRound:()=>Eke,interpolateString:()=>PD,interpolateTransformCss:()=>zke,interpolateTransformSvg:()=>Fke,interpolateZoom:()=>Bke,piecewise:()=>EW,quantize:()=>tCe});var R2=Ll(()=>{DE();_W();SD();pW();xW();Ake();Mke();zE();kD();bW();kke();AW();qke();Nke();mW();Gke();jke();Yke();Qke();eCe();rCe()});var DD=ye((cdr,iCe)=>{\"use strict\";var Ykt=ao(),Kkt=va();iCe.exports=function(t,r,n,i,a){var o=r.data.data,s=o.i,l=a||o.color;if(s>=0){r.i=o.i;var u=n.marker;u.pattern?(!u.colors||!u.pattern.shape)&&(u.color=l,r.color=l):(u.color=l,r.color=l),Ykt.pointStyle(t,n,i,r)}else Kkt.fill(t,l)}});var kW=ye((fdr,lCe)=>{\"use strict\";var nCe=xa(),aCe=va(),oCe=Mr(),Jkt=_v().resizeText,$kt=DD();function Qkt(e){var t=e._fullLayout._sunburstlayer.selectAll(\".trace\");Jkt(e,t,\"sunburst\"),t.each(function(r){var n=nCe.select(this),i=r[0],a=i.trace;n.style(\"opacity\",a.opacity),n.selectAll(\"path.surface\").each(function(o){nCe.select(this).call(sCe,o,a,e)})})}function sCe(e,t,r,n){var i=t.data.data,a=!t.children,o=i.i,s=oCe.castOption(r,o,\"marker.line.color\")||aCe.defaultLine,l=oCe.castOption(r,o,\"marker.line.width\")||0;e.call($kt,t,r,n).style(\"stroke-width\",l).call(aCe.stroke,s).style(\"opacity\",a?r.leaf.opacity:null)}lCe.exports={style:Qkt,styleOne:sCe}});var Ky=ye(bs=>{\"use strict\";var D2=Mr(),eCt=va(),tCt=Tg(),uCe=u_();bs.findEntryWithLevel=function(e,t){var r;return t&&e.eachAfter(function(n){if(bs.getPtId(n)===t)return r=n.copy()}),r||e};bs.findEntryWithChild=function(e,t){var r;return e.eachAfter(function(n){for(var i=n.children||[],a=0;a<i.length;a++){var o=i[a];if(bs.getPtId(o)===t)return r=n.copy()}}),r||e};bs.isEntry=function(e){return!e.parent};bs.isLeaf=function(e){return!e.children};bs.getPtId=function(e){return e.data.data.id};bs.getPtLabel=function(e){return e.data.data.label};bs.getValue=function(e){return e.value};bs.isHierarchyRoot=function(e){return cCe(e)===\"\"};bs.setSliceCursor=function(e,t,r){var n=r.isTransitioning;if(!n){var i=e.datum();n=r.hideOnRoot&&bs.isHierarchyRoot(i)||r.hideOnLeaves&&bs.isLeaf(i)}tCt(e,n?null:\"pointer\")};function rCt(e,t,r){return{color:bs.getOutsideTextFontKey(\"color\",e,t,r),family:bs.getOutsideTextFontKey(\"family\",e,t,r),size:bs.getOutsideTextFontKey(\"size\",e,t,r),weight:bs.getOutsideTextFontKey(\"weight\",e,t,r),style:bs.getOutsideTextFontKey(\"style\",e,t,r),variant:bs.getOutsideTextFontKey(\"variant\",e,t,r),textcase:bs.getOutsideTextFontKey(\"textcase\",e,t,r),lineposition:bs.getOutsideTextFontKey(\"lineposition\",e,t,r),shadow:bs.getOutsideTextFontKey(\"shadow\",e,t,r)}}function iCt(e,t,r,n){var i=(n||{}).onPathbar,a=t.data.data,o=a.i,s=D2.castOption(e,o,(i?\"pathbar.textfont\":\"insidetextfont\")+\".color\");return!s&&e._input.textfont&&(s=D2.castOption(e._input,o,\"textfont.color\")),{color:s||eCt.contrast(a.color),family:bs.getInsideTextFontKey(\"family\",e,t,r,n),size:bs.getInsideTextFontKey(\"size\",e,t,r,n),weight:bs.getInsideTextFontKey(\"weight\",e,t,r,n),style:bs.getInsideTextFontKey(\"style\",e,t,r,n),variant:bs.getInsideTextFontKey(\"variant\",e,t,r,n),textcase:bs.getInsideTextFontKey(\"textcase\",e,t,r,n),lineposition:bs.getInsideTextFontKey(\"lineposition\",e,t,r,n),shadow:bs.getInsideTextFontKey(\"shadow\",e,t,r,n)}}bs.getInsideTextFontKey=function(e,t,r,n,i){var a=(i||{}).onPathbar,o=a?\"pathbar.textfont\":\"insidetextfont\",s=r.data.data.i;return D2.castOption(t,s,o+\".\"+e)||D2.castOption(t,s,\"textfont.\"+e)||n.size};bs.getOutsideTextFontKey=function(e,t,r,n){var i=r.data.data.i;return D2.castOption(t,i,\"outsidetextfont.\"+e)||D2.castOption(t,i,\"textfont.\"+e)||n.size};bs.isOutsideText=function(e,t){return!e._hasColorscale&&bs.isHierarchyRoot(t)};bs.determineTextFont=function(e,t,r,n){return bs.isOutsideText(e,t)?rCt(e,t,r):iCt(e,t,r,n)};bs.hasTransition=function(e){return!!(e&&e.duration>0)};bs.getMaxDepth=function(e){return e.maxdepth>=0?e.maxdepth:1/0};bs.isHeader=function(e,t){return!(bs.isLeaf(e)||e.depth===t._maxDepth-1)};function cCe(e){return e.data.data.pid}bs.getParent=function(e,t){return bs.findEntryWithLevel(e,cCe(t))};bs.listPath=function(e,t){var r=e.parent;if(!r)return[];var n=t?[r.data[t]]:[r];return bs.listPath(r,t).concat(n)};bs.getPath=function(e){return bs.listPath(e,\"label\").join(\"/\")+\"/\"};bs.formatValue=uCe.formatPieValue;bs.formatPercent=function(e,t){var r=D2.formatPercent(e,0);return r===\"0%\"&&(r=uCe.formatPiePercent(e,t)),r}});var OE=ye((ddr,dCe)=>{\"use strict\";var C5=xa(),fCe=ba(),nCt=rp().appendArrayPointValue,FE=Nc(),hCe=Mr(),aCt=g3(),Wh=Ky(),oCt=u_(),sCt=oCt.formatPieValue;dCe.exports=function(t,r,n,i,a){var o=i[0],s=o.trace,l=o.hierarchy,u=s.type===\"sunburst\",c=s.type===\"treemap\"||s.type===\"icicle\";\"_hasHoverLabel\"in s||(s._hasHoverLabel=!1),\"_hasHoverEvent\"in s||(s._hasHoverEvent=!1);var f=function(v){var x=n._fullLayout;if(!(n._dragging||x.hovermode===!1)){var b=n._fullData[s.index],p=v.data.data,E=p.i,k=Wh.isHierarchyRoot(v),A=Wh.getParent(l,v),L=Wh.getValue(v),_=function(Me){return hCe.castOption(b,E,Me)},C=_(\"hovertemplate\"),M=FE.castHoverinfo(b,x,E),g=x.separators,P;if(C||M&&M!==\"none\"&&M!==\"skip\"){var T,F;u&&(T=o.cx+v.pxmid[0]*(1-v.rInscribed),F=o.cy+v.pxmid[1]*(1-v.rInscribed)),c&&(T=v._hoverX,F=v._hoverY);var q={},V=[],H=[],X=function(Me){return V.indexOf(Me)!==-1};M&&(V=M===\"all\"?b._module.attributes.hoverinfo.flags:M.split(\"+\")),q.label=p.label,X(\"label\")&&q.label&&H.push(q.label),p.hasOwnProperty(\"v\")&&(q.value=p.v,q.valueLabel=sCt(q.value,g),X(\"value\")&&H.push(q.valueLabel)),q.currentPath=v.currentPath=Wh.getPath(v.data),X(\"current path\")&&!k&&H.push(q.currentPath);var G,N=[],W=function(){N.indexOf(G)===-1&&(H.push(G),N.push(G))};q.percentParent=v.percentParent=L/Wh.getValue(A),q.parent=v.parentString=Wh.getPtLabel(A),X(\"percent parent\")&&(G=Wh.formatPercent(q.percentParent,g)+\" of \"+q.parent,W()),q.percentEntry=v.percentEntry=L/Wh.getValue(r),q.entry=v.entry=Wh.getPtLabel(r),X(\"percent entry\")&&!k&&!v.onPathbar&&(G=Wh.formatPercent(q.percentEntry,g)+\" of \"+q.entry,W()),q.percentRoot=v.percentRoot=L/Wh.getValue(l),q.root=v.root=Wh.getPtLabel(l),X(\"percent root\")&&!k&&(G=Wh.formatPercent(q.percentRoot,g)+\" of \"+q.root,W()),q.text=_(\"hovertext\")||_(\"text\"),X(\"text\")&&(G=q.text,hCe.isValidTextValue(G)&&H.push(G)),P=[qE(v,b,a.eventDataKeys)];var re={trace:b,y:F,_x0:v._x0,_x1:v._x1,_y0:v._y0,_y1:v._y1,text:H.join(\"<br>\"),name:C||X(\"name\")?b.name:void 0,color:_(\"hoverlabel.bgcolor\")||p.color,borderColor:_(\"hoverlabel.bordercolor\"),fontFamily:_(\"hoverlabel.font.family\"),fontSize:_(\"hoverlabel.font.size\"),fontColor:_(\"hoverlabel.font.color\"),fontWeight:_(\"hoverlabel.font.weight\"),fontStyle:_(\"hoverlabel.font.style\"),fontVariant:_(\"hoverlabel.font.variant\"),nameLength:_(\"hoverlabel.namelength\"),textAlign:_(\"hoverlabel.align\"),hovertemplate:C,hovertemplateLabels:q,eventData:P};u&&(re.x0=T-v.rInscribed*v.rpx1,re.x1=T+v.rInscribed*v.rpx1,re.idealAlign=v.pxmid[0]<0?\"left\":\"right\"),c&&(re.x=T,re.idealAlign=T<0?\"left\":\"right\");var ae=[];FE.loneHover(re,{container:x._hoverlayer.node(),outerContainer:x._paper.node(),gd:n,inOut_bbox:ae}),P[0].bbox=ae[0],s._hasHoverLabel=!0}if(c){var _e=t.select(\"path.surface\");a.styleOne(_e,v,b,n,{hovered:!0})}s._hasHoverEvent=!0,n.emit(\"plotly_hover\",{points:P||[qE(v,b,a.eventDataKeys)],event:C5.event})}},h=function(v){var x=n._fullLayout,b=n._fullData[s.index],p=C5.select(this).datum();if(s._hasHoverEvent&&(v.originalEvent=C5.event,n.emit(\"plotly_unhover\",{points:[qE(p,b,a.eventDataKeys)],event:C5.event}),s._hasHoverEvent=!1),s._hasHoverLabel&&(FE.loneUnhover(x._hoverlayer.node()),s._hasHoverLabel=!1),c){var E=t.select(\"path.surface\");a.styleOne(E,p,b,n,{hovered:!1})}},d=function(v){var x=n._fullLayout,b=n._fullData[s.index],p=u&&(Wh.isHierarchyRoot(v)||Wh.isLeaf(v)),E=Wh.getPtId(v),k=Wh.isEntry(v)?Wh.findEntryWithChild(l,E):Wh.findEntryWithLevel(l,E),A=Wh.getPtId(k),L={points:[qE(v,b,a.eventDataKeys)],event:C5.event};p||(L.nextLevel=A);var _=aCt.triggerHandler(n,\"plotly_\"+s.type+\"click\",L);if(_!==!1&&x.hovermode&&(n._hoverdata=[qE(v,b,a.eventDataKeys)],FE.click(n,C5.event)),!p&&_!==!1&&!n._dragging&&!n._transitioning){fCe.call(\"_storeDirectGUIEdit\",b,x._tracePreGUI[b.uid],{level:b.level});var C={data:[{level:A}],traces:[s.index]},M={frame:{redraw:!1,duration:a.transitionTime},transition:{duration:a.transitionTime,easing:a.transitionEasing},mode:\"immediate\",fromcurrent:!0};FE.loneUnhover(x._hoverlayer.node()),fCe.call(\"animate\",n,C,M)}};t.on(\"mouseover\",f),t.on(\"mouseout\",h),t.on(\"click\",d)};function qE(e,t,r){for(var n=e.data.data,i={curveNumber:t.index,pointNumber:n.i,data:t._input,fullData:t},a=0;a<r.length;a++){var o=r[a];o in e&&(i[o]=e[o])}return\"parentString\"in e&&!Wh.isHierarchyRoot(e)&&(i.parent=e.parentString),nCt(i,t,n.i),i}});var FD=ye(zD=>{\"use strict\";var BE=xa(),lCt=SE(),Xg=(R2(),B1(I2)).interpolate,vCe=ao(),bv=Mr(),uCt=Pl(),yCe=_v(),pCe=yCe.recordMinTextSize,cCt=yCe.clearMinTextSize,_Ce=dD(),fCt=u_().getRotationAngle,hCt=_Ce.computeTransform,dCt=_Ce.transformInsideText,vCt=kW().styleOne,pCt=N0().resizeText,gCt=OE(),CW=nW(),sl=Ky();zD.plot=function(e,t,r,n){var i=e._fullLayout,a=i._sunburstlayer,o,s,l=!r,u=!i.uniformtext.mode&&sl.hasTransition(r);if(cCt(\"sunburst\",i),o=a.selectAll(\"g.trace.sunburst\").data(t,function(f){return f[0].trace.uid}),o.enter().append(\"g\").classed(\"trace\",!0).classed(\"sunburst\",!0).attr(\"stroke-linejoin\",\"round\"),o.order(),u){n&&(s=n());var c=BE.transition().duration(r.duration).ease(r.easing).each(\"end\",function(){s&&s()}).each(\"interrupt\",function(){s&&s()});c.each(function(){a.selectAll(\"g.trace\").each(function(f){gCe(e,f,this,r)})})}else o.each(function(f){gCe(e,f,this,r)}),i.uniformtext.mode&&pCt(e,i._sunburstlayer.selectAll(\".trace\"),\"sunburst\");l&&o.exit().remove()};function gCe(e,t,r,n){var i=e._context.staticPlot,a=e._fullLayout,o=!a.uniformtext.mode&&sl.hasTransition(n),s=BE.select(r),l=s.selectAll(\"g.slice\"),u=t[0],c=u.trace,f=u.hierarchy,h=sl.findEntryWithLevel(f,c.level),d=sl.getMaxDepth(c),v=a._size,x=c.domain,b=v.w*(x.x[1]-x.x[0]),p=v.h*(x.y[1]-x.y[0]),E=.5*Math.min(b,p),k=u.cx=v.l+v.w*(x.x[1]+x.x[0])/2,A=u.cy=v.t+v.h*(1-x.y[0])-p/2;if(!h)return l.remove();var L=null,_={};o&&l.each(function(ge){_[sl.getPtId(ge)]={rpx0:ge.rpx0,rpx1:ge.rpx1,x0:ge.x0,x1:ge.x1,transform:ge.transform},!L&&sl.isEntry(ge)&&(L=ge)});var C=mCt(h).descendants(),M=h.height+1,g=0,P=d;u.hasMultipleRoots&&sl.isHierarchyRoot(h)&&(C=C.slice(1),M-=1,g=1,P+=1),C=C.filter(function(ge){return ge.y1<=P});var T=fCt(c.rotation);T&&C.forEach(function(ge){ge.x0+=T,ge.x1+=T});var F=Math.min(M,d),q=function(ge){return(ge-g)/F*E},V=function(ge,ie){return[ge*Math.cos(ie),-ge*Math.sin(ie)]},H=function(ge){return bv.pathAnnulus(ge.rpx0,ge.rpx1,ge.x0,ge.x1,k,A)},X=function(ge){return k+mCe(ge)[0]*(ge.transform.rCenter||0)+(ge.transform.x||0)},G=function(ge){return A+mCe(ge)[1]*(ge.transform.rCenter||0)+(ge.transform.y||0)};l=l.data(C,sl.getPtId),l.enter().append(\"g\").classed(\"slice\",!0),o?l.exit().transition().each(function(){var ge=BE.select(this),ie=ge.select(\"path.surface\");ie.transition().attrTween(\"d\",function(Ee){var Ae=ae(Ee);return function(ze){return H(Ae(ze))}});var Te=ge.select(\"g.slicetext\");Te.attr(\"opacity\",0)}).remove():l.exit().remove(),l.order();var N=null;if(o&&L){var W=sl.getPtId(L);l.each(function(ge){N===null&&sl.getPtId(ge)===W&&(N=ge.x1)})}var re=l;o&&(re=re.transition().each(\"end\",function(){var ge=BE.select(this);sl.setSliceCursor(ge,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:!1})})),re.each(function(ge){var ie=BE.select(this),Te=bv.ensureSingle(ie,\"path\",\"surface\",function(Re){Re.style(\"pointer-events\",i?\"none\":\"all\")});ge.rpx0=q(ge.y0),ge.rpx1=q(ge.y1),ge.xmid=(ge.x0+ge.x1)/2,ge.pxmid=V(ge.rpx1,ge.xmid),ge.midangle=-(ge.xmid-Math.PI/2),ge.startangle=-(ge.x0-Math.PI/2),ge.stopangle=-(ge.x1-Math.PI/2),ge.halfangle=.5*Math.min(bv.angleDelta(ge.x0,ge.x1)||Math.PI,Math.PI),ge.ring=1-ge.rpx0/ge.rpx1,ge.rInscribed=yCt(ge,c),o?Te.transition().attrTween(\"d\",function(Re){var ce=_e(Re);return function(Ge){return H(ce(Ge))}}):Te.attr(\"d\",H),ie.call(gCt,h,e,t,{eventDataKeys:CW.eventDataKeys,transitionTime:CW.CLICK_TRANSITION_TIME,transitionEasing:CW.CLICK_TRANSITION_EASING}).call(sl.setSliceCursor,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:e._transitioning}),Te.call(vCt,ge,c,e);var Ee=bv.ensureSingle(ie,\"g\",\"slicetext\"),Ae=bv.ensureSingle(Ee,\"text\",\"\",function(Re){Re.attr(\"data-notex\",1)}),ze=bv.ensureUniformFontSize(e,sl.determineTextFont(c,ge,a.font));Ae.text(zD.formatSliceLabel(ge,h,c,t,a)).classed(\"slicetext\",!0).attr(\"text-anchor\",\"middle\").call(vCe.font,ze).call(uCt.convertToTspans,e);var Ce=vCe.bBox(Ae.node());ge.transform=dCt(Ce,ge,u),ge.transform.targetX=X(ge),ge.transform.targetY=G(ge);var me=function(Re,ce){var Ge=Re.transform;return hCt(Ge,ce),Ge.fontSize=ze.size,pCe(c.type,Ge,a),bv.getTextTransform(Ge)};o?Ae.transition().attrTween(\"transform\",function(Re){var ce=Me(Re);return function(Ge){return me(ce(Ge),Ce)}}):Ae.attr(\"transform\",me(ge,Ce))});function ae(ge){var ie=sl.getPtId(ge),Te=_[ie],Ee=_[sl.getPtId(h)],Ae;if(Ee){var ze=(ge.x1>Ee.x1?2*Math.PI:0)+T;Ae=ge.rpx1<Ee.rpx1?{x0:ge.x0,x1:ge.x1,rpx0:0,rpx1:0}:{x0:ze,x1:ze,rpx0:ge.rpx0,rpx1:ge.rpx1}}else{var Ce,me=sl.getPtId(ge.parent);l.each(function(ct){if(sl.getPtId(ct)===me)return Ce=ct});var Re=Ce.children,ce;Re.forEach(function(ct,qt){if(sl.getPtId(ct)===ie)return ce=qt});var Ge=Re.length,nt=Xg(Ce.x0,Ce.x1);Ae={rpx0:E,rpx1:E,x0:nt(ce/Ge),x1:nt((ce+1)/Ge)}}return Xg(Te,Ae)}function _e(ge){var ie=_[sl.getPtId(ge)],Te,Ee={x0:ge.x0,x1:ge.x1,rpx0:ge.rpx0,rpx1:ge.rpx1};if(ie)Te=ie;else if(L)if(ge.parent)if(N){var Ae=(ge.x1>N?2*Math.PI:0)+T;Te={x0:Ae,x1:Ae}}else Te={rpx0:E,rpx1:E},bv.extendFlat(Te,ke(ge));else Te={rpx0:0,rpx1:0};else Te={x0:T,x1:T};return Xg(Te,Ee)}function Me(ge){var ie=_[sl.getPtId(ge)],Te,Ee=ge.transform;if(ie)Te=ie;else if(Te={rpx1:ge.rpx1,transform:{textPosAngle:Ee.textPosAngle,scale:0,rotate:Ee.rotate,rCenter:Ee.rCenter,x:Ee.x,y:Ee.y}},L)if(ge.parent)if(N){var Ae=ge.x1>N?2*Math.PI:0;Te.x0=Te.x1=Ae}else bv.extendFlat(Te,ke(ge));else Te.x0=Te.x1=T;else Te.x0=Te.x1=T;var ze=Xg(Te.transform.textPosAngle,ge.transform.textPosAngle),Ce=Xg(Te.rpx1,ge.rpx1),me=Xg(Te.x0,ge.x0),Re=Xg(Te.x1,ge.x1),ce=Xg(Te.transform.scale,Ee.scale),Ge=Xg(Te.transform.rotate,Ee.rotate),nt=Ee.rCenter===0?3:Te.transform.rCenter===0?1/3:1,ct=Xg(Te.transform.rCenter,Ee.rCenter),qt=function(rt){return ct(Math.pow(rt,nt))};return function(rt){var ot=Ce(rt),Rt=me(rt),kt=Re(rt),Ct=qt(rt),Yt=V(ot,(Rt+kt)/2),xr=ze(rt),er={pxmid:Yt,rpx1:ot,transform:{textPosAngle:xr,rCenter:Ct,x:Ee.x,y:Ee.y}};return pCe(c.type,Ee,a),{transform:{targetX:X(er),targetY:G(er),scale:ce(rt),rotate:Ge(rt),rCenter:Ct}}}}function ke(ge){var ie=ge.parent,Te=_[sl.getPtId(ie)],Ee={};if(Te){var Ae=ie.children,ze=Ae.indexOf(ge),Ce=Ae.length,me=Xg(Te.x0,Te.x1);Ee.x0=me(ze/Ce),Ee.x1=me(ze/Ce)}else Ee.x0=Ee.x1=0;return Ee}}function mCt(e){return lCt.partition().size([2*Math.PI,e.height+1])(e)}zD.formatSliceLabel=function(e,t,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!a&&(!o||o===\"none\"))return\"\";var s=i.separators,l=n[0],u=e.data.data,c=l.hierarchy,f=sl.isHierarchyRoot(e),h=sl.getParent(c,e),d=sl.getValue(e);if(!a){var v=o.split(\"+\"),x=function(g){return v.indexOf(g)!==-1},b=[],p;if(x(\"label\")&&u.label&&b.push(u.label),u.hasOwnProperty(\"v\")&&x(\"value\")&&b.push(sl.formatValue(u.v,s)),!f){x(\"current path\")&&b.push(sl.getPath(e.data));var E=0;x(\"percent parent\")&&E++,x(\"percent entry\")&&E++,x(\"percent root\")&&E++;var k=E>1;if(E){var A,L=function(g){p=sl.formatPercent(A,s),k&&(p+=\" of \"+g),b.push(p)};x(\"percent parent\")&&!f&&(A=d/sl.getValue(h),L(\"parent\")),x(\"percent entry\")&&(A=d/sl.getValue(t),L(\"entry\")),x(\"percent root\")&&(A=d/sl.getValue(c),L(\"root\"))}}return x(\"text\")&&(p=bv.castOption(r,u.i,\"text\"),bv.isValidTextValue(p)&&b.push(p)),b.join(\"<br>\")}var _=bv.castOption(r,u.i,\"texttemplate\");if(!_)return\"\";var C={};u.label&&(C.label=u.label),u.hasOwnProperty(\"v\")&&(C.value=u.v,C.valueLabel=sl.formatValue(u.v,s)),C.currentPath=sl.getPath(e.data),f||(C.percentParent=d/sl.getValue(h),C.percentParentLabel=sl.formatPercent(C.percentParent,s),C.parent=sl.getPtLabel(h)),C.percentEntry=d/sl.getValue(t),C.percentEntryLabel=sl.formatPercent(C.percentEntry,s),C.entry=sl.getPtLabel(t),C.percentRoot=d/sl.getValue(c),C.percentRootLabel=sl.formatPercent(C.percentRoot,s),C.root=sl.getPtLabel(c),u.hasOwnProperty(\"color\")&&(C.color=u.color);var M=bv.castOption(r,u.i,\"text\");return(bv.isValidTextValue(M)||M===\"\")&&(C.text=M),C.customdata=bv.castOption(r,u.i,\"customdata\"),bv.texttemplateString(_,C,i._d3locale,C,r._meta||{})};function yCt(e){return e.rpx0===0&&bv.isFullCircle([e.x0,e.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2))}function mCe(e){return _Ct(e.rpx1,e.transform.textPosAngle)}function _Ct(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}});var bCe=ye((pdr,xCe)=>{\"use strict\";xCe.exports={moduleType:\"trace\",name:\"sunburst\",basePlotModule:zEe(),categories:[],animatable:!0,attributes:AE(),layoutAttributes:aW(),supplyDefaults:HEe(),supplyLayoutDefaults:jEe(),calc:EE().calc,crossTraceCalc:EE().crossTraceCalc,plot:FD().plot,style:kW().style,colorbar:Kd(),meta:{}}});var TCe=ye((gdr,wCe)=>{\"use strict\";wCe.exports=bCe()});var SCe=ye(L5=>{\"use strict\";var ACe=Xu();L5.name=\"treemap\";L5.plot=function(e,t,r,n){ACe.plotBasePlot(L5.name,e,t,r,n)};L5.clean=function(e,t,r,n){ACe.cleanBasePlot(L5.name,e,t,r,n)}});var z2=ye((ydr,MCe)=>{\"use strict\";MCe.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"poly\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"],gapWithPathbar:1}});var qD=ye((_dr,kCe)=>{\"use strict\";var xCt=Wo().hovertemplateAttrs,bCt=Wo().texttemplateAttrs,wCt=Jl(),TCt=Ju().attributes,F2=A2(),Q0=AE(),ECe=z2(),LW=no().extendFlat,ACt=Ed().pattern;kCe.exports={labels:Q0.labels,parents:Q0.parents,values:Q0.values,branchvalues:Q0.branchvalues,count:Q0.count,level:Q0.level,maxdepth:Q0.maxdepth,tiling:{packing:{valType:\"enumerated\",values:[\"squarify\",\"binary\",\"dice\",\"slice\",\"slice-dice\",\"dice-slice\"],dflt:\"squarify\",editType:\"plot\"},squarifyratio:{valType:\"number\",min:1,dflt:1,editType:\"plot\"},flip:{valType:\"flaglist\",flags:[\"x\",\"y\"],dflt:\"\",editType:\"plot\"},pad:{valType:\"number\",min:0,dflt:3,editType:\"plot\"},editType:\"calc\"},marker:LW({pad:{t:{valType:\"number\",min:0,editType:\"plot\"},l:{valType:\"number\",min:0,editType:\"plot\"},r:{valType:\"number\",min:0,editType:\"plot\"},b:{valType:\"number\",min:0,editType:\"plot\"},editType:\"calc\"},colors:Q0.marker.colors,pattern:ACt,depthfade:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],editType:\"style\"},line:Q0.marker.line,cornerradius:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},wCt(\"marker\",{colorAttr:\"colors\",anim:!1})),pathbar:{visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},edgeshape:{valType:\"enumerated\",values:[\">\",\"<\",\"|\",\"/\",\"\\\\\"],dflt:\">\",editType:\"plot\"},thickness:{valType:\"number\",min:12,editType:\"plot\"},textfont:LW({},F2.textfont,{}),editType:\"calc\"},text:F2.text,textinfo:Q0.textinfo,texttemplate:bCt({editType:\"plot\"},{keys:ECe.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:F2.hovertext,hoverinfo:Q0.hoverinfo,hovertemplate:xCt({},{keys:ECe.eventDataKeys}),textfont:F2.textfont,insidetextfont:F2.insidetextfont,outsidetextfont:LW({},F2.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:F2.sort,root:Q0.root,domain:TCt({name:\"treemap\",trace:!0,editType:\"calc\"})}});var PW=ye((xdr,CCe)=>{\"use strict\";CCe.exports={treemapcolorway:{valType:\"colorlist\",editType:\"calc\"},extendtreemapcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var RCe=ye((bdr,ICe)=>{\"use strict\";var LCe=Mr(),SCt=qD(),MCt=va(),ECt=Ju().defaults,kCt=r0().handleText,CCt=Qb().TEXTPAD,LCt=S2().handleMarkerDefaults,PCe=Mu(),PCt=PCe.hasColorscale,ICt=PCe.handleDefaults;ICe.exports=function(t,r,n,i){function a(b,p){return LCe.coerce(t,r,SCt,b,p)}var o=a(\"labels\"),s=a(\"parents\");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a(\"values\");l&&l.length?a(\"branchvalues\"):a(\"count\"),a(\"level\"),a(\"maxdepth\");var u=a(\"tiling.packing\");u===\"squarify\"&&a(\"tiling.squarifyratio\"),a(\"tiling.flip\"),a(\"tiling.pad\");var c=a(\"text\");a(\"texttemplate\"),r.texttemplate||a(\"textinfo\",LCe.isArrayOrTypedArray(c)?\"text+label\":\"label\"),a(\"hovertext\"),a(\"hovertemplate\");var f=a(\"pathbar.visible\"),h=\"auto\";kCt(t,r,i,a,h,{hasPathbar:f,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a(\"textposition\");var d=r.textposition.indexOf(\"bottom\")!==-1;LCt(t,r,i,a);var v=r._hasColorscale=PCt(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;v?ICt(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}):a(\"marker.depthfade\",!(r.marker.colors||[]).length);var x=r.textfont.size*2;a(\"marker.pad.t\",d?x/4:x),a(\"marker.pad.l\",x/4),a(\"marker.pad.r\",x/4),a(\"marker.pad.b\",d?x:x/4),a(\"marker.cornerradius\"),r._hovered={marker:{line:{width:2,color:MCt.contrast(i.paper_bgcolor)}}},f&&(a(\"pathbar.thickness\",r.pathbar.textfont.size+2*CCt),a(\"pathbar.side\"),a(\"pathbar.edgeshape\")),a(\"sort\"),a(\"root.color\"),ECt(r,i,a),r._length=null}});var zCe=ye((wdr,DCe)=>{\"use strict\";var RCt=Mr(),DCt=PW();DCe.exports=function(t,r){function n(i,a){return RCt.coerce(t,r,DCt,i,a)}n(\"treemapcolorway\",r.colorway),n(\"extendtreemapcolors\")}});var RW=ye(IW=>{\"use strict\";var FCe=EE();IW.calc=function(e,t){return FCe.calc(e,t)};IW.crossTraceCalc=function(e){return FCe._runCrossTraceCalc(\"treemap\",e)}});var DW=ye((Adr,qCe)=>{\"use strict\";qCe.exports=function e(t,r,n){var i;n.swapXY&&(i=t.x0,t.x0=t.y0,t.y0=i,i=t.x1,t.x1=t.y1,t.y1=i),n.flipX&&(i=t.x0,t.x0=r[0]-t.x1,t.x1=r[0]-i),n.flipY&&(i=t.y0,t.y0=r[1]-t.y1,t.y1=r[1]-i);var a=t.children;if(a)for(var o=0;o<a.length;o++)e(a[o],r,n)}});var zW=ye((Sdr,OCe)=>{\"use strict\";var P5=SE(),zCt=DW();OCe.exports=function(t,r,n){var i=n.flipX,a=n.flipY,o=n.packing===\"dice-slice\",s=n.pad[a?\"bottom\":\"top\"],l=n.pad[i?\"right\":\"left\"],u=n.pad[i?\"left\":\"right\"],c=n.pad[a?\"top\":\"bottom\"],f;o&&(f=l,l=s,s=f,f=u,u=c,c=f);var h=P5.treemap().tile(FCt(n.packing,n.squarifyratio)).paddingInner(n.pad.inner).paddingLeft(l).paddingRight(u).paddingTop(s).paddingBottom(c).size(o?[r[1],r[0]]:r)(t);return(o||i||a)&&zCt(h,r,{swapXY:o,flipX:i,flipY:a}),h};function FCt(e,t){switch(e){case\"squarify\":return P5.treemapSquarify.ratio(t);case\"binary\":return P5.treemapBinary;case\"dice\":return P5.treemapDice;case\"slice\":return P5.treemapSlice;default:return P5.treemapSliceDice}}});var OD=ye((Mdr,VCe)=>{\"use strict\";var BCe=xa(),I5=va(),NCe=Mr(),FW=Ky(),qCt=_v().resizeText,OCt=DD();function BCt(e){var t=e._fullLayout._treemaplayer.selectAll(\".trace\");qCt(e,t,\"treemap\"),t.each(function(r){var n=BCe.select(this),i=r[0],a=i.trace;n.style(\"opacity\",a.opacity),n.selectAll(\"path.surface\").each(function(o){BCe.select(this).call(UCe,o,a,e,{hovered:!1})})})}function UCe(e,t,r,n,i){var a=(i||{}).hovered,o=t.data.data,s=o.i,l,u,c=o.color,f=FW.isHierarchyRoot(t),h=1;if(a)l=r._hovered.marker.line.color,u=r._hovered.marker.line.width;else if(f&&c===r.root.color)h=100,l=\"rgba(0,0,0,0)\",u=0;else if(l=NCe.castOption(r,s,\"marker.line.color\")||I5.defaultLine,u=NCe.castOption(r,s,\"marker.line.width\")||0,!r._hasColorscale&&!t.onPathbar){var d=r.marker.depthfade;if(d){var v=I5.combine(I5.addOpacity(r._backgroundColor,.75),c),x;if(d===!0){var b=FW.getMaxDepth(r);isFinite(b)?FW.isLeaf(t)?x=0:x=r._maxVisibleLayers-(t.data.depth-r._entryDepth):x=t.data.height+1}else x=t.data.depth-r._entryDepth,r._atRootLevel||x++;if(x>0)for(var p=0;p<x;p++){var E=.5*p/x;c=I5.combine(I5.addOpacity(v,E),c)}}}e.call(OCt,t,r,n,c).style(\"stroke-width\",u).call(I5.stroke,l).style(\"opacity\",h)}VCe.exports={style:BCt,styleOne:UCe}});var ZCe=ye((Edr,WCe)=>{\"use strict\";var HCe=xa(),BD=Mr(),GCe=ao(),NCt=Pl(),UCt=zW(),jCe=OD().styleOne,qW=z2(),R5=Ky(),VCt=OE(),OW=!0;WCe.exports=function(t,r,n,i,a){var o=a.barDifY,s=a.width,l=a.height,u=a.viewX,c=a.viewY,f=a.pathSlice,h=a.toMoveInsideSlice,d=a.strTransform,v=a.hasTransition,x=a.handleSlicesExit,b=a.makeUpdateSliceInterpolator,p=a.makeUpdateTextInterpolator,E={},k=t._context.staticPlot,A=t._fullLayout,L=r[0],_=L.trace,C=L.hierarchy,M=s/_._entryDepth,g=R5.listPath(n.data,\"id\"),P=UCt(C.copy(),[s,l],{packing:\"dice\",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();P=P.filter(function(F){var q=g.indexOf(F.data.id);return q===-1?!1:(F.x0=M*q,F.x1=M*(q+1),F.y0=o,F.y1=o+l,F.onPathbar=!0,!0)}),P.reverse(),i=i.data(P,R5.getPtId),i.enter().append(\"g\").classed(\"pathbar\",!0),x(i,OW,E,[s,l],f),i.order();var T=i;v&&(T=T.transition().each(\"end\",function(){var F=HCe.select(this);R5.setSliceCursor(F,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})})),T.each(function(F){F._x0=u(F.x0),F._x1=u(F.x1),F._y0=c(F.y0),F._y1=c(F.y1),F._hoverX=u(F.x1-Math.min(s,l)/2),F._hoverY=c(F.y1-l/2);var q=HCe.select(this),V=BD.ensureSingle(q,\"path\",\"surface\",function(N){N.style(\"pointer-events\",k?\"none\":\"all\")});v?V.transition().attrTween(\"d\",function(N){var W=b(N,OW,E,[s,l]);return function(re){return f(W(re))}}):V.attr(\"d\",f),q.call(VCt,n,t,r,{styleOne:jCe,eventDataKeys:qW.eventDataKeys,transitionTime:qW.CLICK_TRANSITION_TIME,transitionEasing:qW.CLICK_TRANSITION_EASING}).call(R5.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),V.call(jCe,F,_,t,{hovered:!1}),F._text=(R5.getPtLabel(F)||\"\").split(\"<br>\").join(\" \")||\"\";var H=BD.ensureSingle(q,\"g\",\"slicetext\"),X=BD.ensureSingle(H,\"text\",\"\",function(N){N.attr(\"data-notex\",1)}),G=BD.ensureUniformFontSize(t,R5.determineTextFont(_,F,A.font,{onPathbar:!0}));X.text(F._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",\"start\").call(GCe.font,G).call(NCt.convertToTspans,t),F.textBB=GCe.bBox(X.node()),F.transform=h(F,{fontSize:G.size,onPathbar:!0}),F.transform.fontSize=G.size,v?X.transition().attrTween(\"transform\",function(N){var W=p(N,OW,E,[s,l]);return function(re){return d(W(re))}}):X.attr(\"transform\",d(F))})}});var JCe=ye((kdr,KCe)=>{\"use strict\";var XCe=xa(),BW=(R2(),B1(I2)).interpolate,Y_=Ky(),NE=Mr(),YCe=Qb().TEXTPAD,HCt=i2(),GCt=HCt.toMoveInsideBar,jCt=_v(),NW=jCt.recordMinTextSize,WCt=z2(),ZCt=ZCe();function q2(e){return Y_.isHierarchyRoot(e)?\"\":Y_.getPtId(e)}KCe.exports=function(t,r,n,i,a){var o=t._fullLayout,s=r[0],l=s.trace,u=l.type,c=u===\"icicle\",f=s.hierarchy,h=Y_.findEntryWithLevel(f,l.level),d=XCe.select(n),v=d.selectAll(\"g.pathbar\"),x=d.selectAll(\"g.slice\");if(!h){v.remove(),x.remove();return}var b=Y_.isHierarchyRoot(h),p=!o.uniformtext.mode&&Y_.hasTransition(i),E=Y_.getMaxDepth(l),k=function(Ke){return Ke.data.depth-h.data.depth<E},A=o._size,L=l.domain,_=A.w*(L.x[1]-L.x[0]),C=A.h*(L.y[1]-L.y[0]),M=_,g=l.pathbar.thickness,P=l.marker.line.width+WCt.gapWithPathbar,T=l.pathbar.visible?l.pathbar.side.indexOf(\"bottom\")>-1?C+P:-(g+P):0,F={x0:M,x1:M,y0:T,y1:T+g},q=function(Ke,xt,bt){var Lt=l.tiling.pad,St=function($t){return $t-Lt<=xt.x0},Et=function($t){return $t+Lt>=xt.x1},dt=function($t){return $t-Lt<=xt.y0},Ht=function($t){return $t+Lt>=xt.y1};return Ke.x0===xt.x0&&Ke.x1===xt.x1&&Ke.y0===xt.y0&&Ke.y1===xt.y1?{x0:Ke.x0,x1:Ke.x1,y0:Ke.y0,y1:Ke.y1}:{x0:St(Ke.x0-Lt)?0:Et(Ke.x0-Lt)?bt[0]:Ke.x0,x1:St(Ke.x1+Lt)?0:Et(Ke.x1+Lt)?bt[0]:Ke.x1,y0:dt(Ke.y0-Lt)?0:Ht(Ke.y0-Lt)?bt[1]:Ke.y0,y1:dt(Ke.y1+Lt)?0:Ht(Ke.y1+Lt)?bt[1]:Ke.y1}},V=null,H={},X={},G=null,N=function(Ke,xt){return xt?H[q2(Ke)]:X[q2(Ke)]},W=function(Ke,xt,bt,Lt){if(xt)return H[q2(f)]||F;var St=X[l.level]||bt;return k(Ke)?q(Ke,St,Lt):{}};s.hasMultipleRoots&&b&&E++,l._maxDepth=E,l._backgroundColor=o.paper_bgcolor,l._entryDepth=h.data.depth,l._atRootLevel=b;var re=-_/2+A.l+A.w*(L.x[1]+L.x[0])/2,ae=-C/2+A.t+A.h*(1-(L.y[1]+L.y[0])/2),_e=function(Ke){return re+Ke},Me=function(Ke){return ae+Ke},ke=Me(0),ge=_e(0),ie=function(Ke){return ge+Ke},Te=function(Ke){return ke+Ke};function Ee(Ke,xt){return Ke+\",\"+xt}var Ae=ie(0),ze=function(Ke){Ke.x=Math.max(Ae,Ke.x)},Ce=l.pathbar.edgeshape,me=function(Ke){var xt=ie(Math.max(Math.min(Ke.x0,Ke.x0),0)),bt=ie(Math.min(Math.max(Ke.x1,Ke.x1),M)),Lt=Te(Ke.y0),St=Te(Ke.y1),Et=g/2,dt={},Ht={};dt.x=xt,Ht.x=bt,dt.y=Ht.y=(Lt+St)/2;var $t={x:xt,y:Lt},fr={x:bt,y:Lt},_r={x:bt,y:St},Br={x:xt,y:St};return Ce===\">\"?($t.x-=Et,fr.x-=Et,_r.x-=Et,Br.x-=Et):Ce===\"/\"?(_r.x-=Et,Br.x-=Et,dt.x-=Et/2,Ht.x-=Et/2):Ce===\"\\\\\"?($t.x-=Et,fr.x-=Et,dt.x-=Et/2,Ht.x-=Et/2):Ce===\"<\"&&(dt.x-=Et,Ht.x-=Et),ze($t),ze(Br),ze(dt),ze(fr),ze(_r),ze(Ht),\"M\"+Ee($t.x,$t.y)+\"L\"+Ee(fr.x,fr.y)+\"L\"+Ee(Ht.x,Ht.y)+\"L\"+Ee(_r.x,_r.y)+\"L\"+Ee(Br.x,Br.y)+\"L\"+Ee(dt.x,dt.y)+\"Z\"},Re=l[c?\"tiling\":\"marker\"].pad,ce=function(Ke){return l.textposition.indexOf(Ke)!==-1},Ge=ce(\"top\"),nt=ce(\"left\"),ct=ce(\"right\"),qt=ce(\"bottom\"),rt=function(Ke){var xt=_e(Ke.x0),bt=_e(Ke.x1),Lt=Me(Ke.y0),St=Me(Ke.y1),Et=bt-xt,dt=St-Lt;if(!Et||!dt)return\"\";var Ht=l.marker.cornerradius||0,$t=Math.min(Ht,Et/2,dt/2);$t&&Ke.data&&Ke.data.data&&Ke.data.data.label&&(Ge&&($t=Math.min($t,Re.t)),nt&&($t=Math.min($t,Re.l)),ct&&($t=Math.min($t,Re.r)),qt&&($t=Math.min($t,Re.b)));var fr=function(_r,Br){return $t?\"a\"+Ee($t,$t)+\" 0 0 1 \"+Ee(_r,Br):\"\"};return\"M\"+Ee(xt,Lt+$t)+fr($t,-$t)+\"L\"+Ee(bt-$t,Lt)+fr($t,$t)+\"L\"+Ee(bt,St-$t)+fr(-$t,$t)+\"L\"+Ee(xt+$t,St)+fr(-$t,-$t)+\"Z\"},ot=function(Ke,xt){var bt=Ke.x0,Lt=Ke.x1,St=Ke.y0,Et=Ke.y1,dt=Ke.textBB,Ht=Ge||xt.isHeader&&!qt,$t=Ht?\"start\":qt?\"end\":\"middle\",fr=ce(\"right\"),_r=ce(\"left\")||xt.onPathbar,Br=_r?-1:fr?1:0;if(xt.isHeader){if(bt+=(c?Re:Re.l)-YCe,Lt-=(c?Re:Re.r)-YCe,bt>=Lt){var Or=(bt+Lt)/2;bt=Or,Lt=Or}var Nr;qt?(Nr=Et-(c?Re:Re.b),St<Nr&&Nr<Et&&(St=Nr)):(Nr=St+(c?Re:Re.t),St<Nr&&Nr<Et&&(Et=Nr))}var ut=GCt(bt,Lt,St,Et,dt,{isHorizontal:!1,constrained:!0,angle:0,anchor:$t,leftToRight:Br});return ut.fontSize=xt.fontSize,ut.targetX=_e(ut.targetX),ut.targetY=Me(ut.targetY),isNaN(ut.targetX)||isNaN(ut.targetY)?{}:(bt!==Lt&&St!==Et&&NW(l.type,ut,o),{scale:ut.scale,rotate:ut.rotate,textX:ut.textX,textY:ut.textY,anchorX:ut.anchorX,anchorY:ut.anchorY,targetX:ut.targetX,targetY:ut.targetY})},Rt=function(Ke,xt){for(var bt,Lt=0,St=Ke;!bt&&Lt<E;)Lt++,St=St.parent,St?bt=N(St,xt):Lt=E;return bt||{}},kt=function(Ke,xt,bt,Lt){var St=N(Ke,xt),Et;if(xt)Et=F;else{var dt=N(h,xt);dt?Et=q(Ke,dt,Lt):Et={}}return BW(St,Et)},Ct=function(Ke,xt,bt,Lt,St){var Et=N(Ke,xt),dt;if(Et)dt=Et;else if(xt)dt=F;else if(V)if(Ke.parent){var Ht=G||bt;Ht&&!xt?dt=q(Ke,Ht,Lt):(dt={},NE.extendFlat(dt,Rt(Ke,xt)))}else dt=NE.extendFlat({},Ke),c&&(St.orientation===\"h\"?St.flipX?dt.x0=Ke.x1:dt.x1=0:St.flipY?dt.y0=Ke.y1:dt.y1=0);else dt={};return BW(dt,{x0:Ke.x0,x1:Ke.x1,y0:Ke.y0,y1:Ke.y1})},Yt=function(Ke,xt,bt,Lt){var St=N(Ke,xt),Et={},dt=W(Ke,xt,bt,Lt);NE.extendFlat(Et,{transform:ot({x0:dt.x0,x1:dt.x1,y0:dt.y0,y1:dt.y1,textBB:Ke.textBB,_text:Ke._text},{isHeader:Y_.isHeader(Ke,l)})}),St?Et=St:Ke.parent&&NE.extendFlat(Et,Rt(Ke,xt));var Ht=Ke.transform;return Ke.x0!==Ke.x1&&Ke.y0!==Ke.y1&&NW(l.type,Ht,o),BW(Et,{transform:{scale:Ht.scale,rotate:Ht.rotate,textX:Ht.textX,textY:Ht.textY,anchorX:Ht.anchorX,anchorY:Ht.anchorY,targetX:Ht.targetX,targetY:Ht.targetY}})},xr=function(Ke,xt,bt,Lt,St){var Et=Lt[0],dt=Lt[1];p?Ke.exit().transition().each(function(){var Ht=XCe.select(this),$t=Ht.select(\"path.surface\");$t.transition().attrTween(\"d\",function(_r){var Br=kt(_r,xt,bt,[Et,dt]);return function(Or){return St(Br(Or))}});var fr=Ht.select(\"g.slicetext\");fr.attr(\"opacity\",0)}).remove():Ke.exit().remove()},er=function(Ke){var xt=Ke.transform;return Ke.x0!==Ke.x1&&Ke.y0!==Ke.y1&&NW(l.type,xt,o),NE.getTextTransform({textX:xt.textX,textY:xt.textY,anchorX:xt.anchorX,anchorY:xt.anchorY,targetX:xt.targetX,targetY:xt.targetY,scale:xt.scale,rotate:xt.rotate})};p&&(v.each(function(Ke){H[q2(Ke)]={x0:Ke.x0,x1:Ke.x1,y0:Ke.y0,y1:Ke.y1},Ke.transform&&(H[q2(Ke)].transform={textX:Ke.transform.textX,textY:Ke.transform.textY,anchorX:Ke.transform.anchorX,anchorY:Ke.transform.anchorY,targetX:Ke.transform.targetX,targetY:Ke.transform.targetY,scale:Ke.transform.scale,rotate:Ke.transform.rotate})}),x.each(function(Ke){X[q2(Ke)]={x0:Ke.x0,x1:Ke.x1,y0:Ke.y0,y1:Ke.y1},Ke.transform&&(X[q2(Ke)].transform={textX:Ke.transform.textX,textY:Ke.transform.textY,anchorX:Ke.transform.anchorX,anchorY:Ke.transform.anchorY,targetX:Ke.transform.targetX,targetY:Ke.transform.targetY,scale:Ke.transform.scale,rotate:Ke.transform.rotate}),!V&&Y_.isEntry(Ke)&&(V=Ke)})),G=a(t,r,h,x,{width:_,height:C,viewX:_e,viewY:Me,pathSlice:rt,toMoveInsideSlice:ot,prevEntry:V,makeUpdateSliceInterpolator:Ct,makeUpdateTextInterpolator:Yt,handleSlicesExit:xr,hasTransition:p,strTransform:er}),l.pathbar.visible?ZCt(t,r,h,v,{barDifY:T,width:M,height:g,viewX:ie,viewY:Te,pathSlice:me,toMoveInsideSlice:ot,makeUpdateSliceInterpolator:Ct,makeUpdateTextInterpolator:Yt,handleSlicesExit:xr,hasTransition:p,strTransform:er}):v.remove()}});var UW=ye((Cdr,QCe)=>{\"use strict\";var XCt=xa(),YCt=Ky(),KCt=_v(),JCt=KCt.clearMinTextSize,$Ct=N0().resizeText,$Ce=JCe();QCe.exports=function(t,r,n,i,a){var o=a.type,s=a.drawDescendants,l=t._fullLayout,u=l[\"_\"+o+\"layer\"],c,f,h=!n;if(JCt(o,l),c=u.selectAll(\"g.trace.\"+o).data(r,function(v){return v[0].trace.uid}),c.enter().append(\"g\").classed(\"trace\",!0).classed(o,!0),c.order(),!l.uniformtext.mode&&YCt.hasTransition(n)){i&&(f=i());var d=XCt.transition().duration(n.duration).ease(n.easing).each(\"end\",function(){f&&f()}).each(\"interrupt\",function(){f&&f()});d.each(function(){u.selectAll(\"g.trace\").each(function(v){$Ce(t,v,this,n,s)})})}else c.each(function(v){$Ce(t,v,this,n,s)}),l.uniformtext.mode&&$Ct(t,u.selectAll(\".trace\"),o);h&&c.exit().remove()}});var n6e=ye((Ldr,i6e)=>{\"use strict\";var e6e=xa(),ND=Mr(),t6e=ao(),QCt=Pl(),e6t=zW(),r6e=OD().styleOne,VW=z2(),K_=Ky(),t6t=OE(),r6t=FD().formatSliceLabel,HW=!1;i6e.exports=function(t,r,n,i,a){var o=a.width,s=a.height,l=a.viewX,u=a.viewY,c=a.pathSlice,f=a.toMoveInsideSlice,h=a.strTransform,d=a.hasTransition,v=a.handleSlicesExit,x=a.makeUpdateSliceInterpolator,b=a.makeUpdateTextInterpolator,p=a.prevEntry,E={},k=t._context.staticPlot,A=t._fullLayout,L=r[0],_=L.trace,C=_.textposition.indexOf(\"left\")!==-1,M=_.textposition.indexOf(\"right\")!==-1,g=_.textposition.indexOf(\"bottom\")!==-1,P=!g&&!_.marker.pad.t||g&&!_.marker.pad.b,T=e6t(n,[o,s],{packing:_.tiling.packing,squarifyratio:_.tiling.squarifyratio,flipX:_.tiling.flip.indexOf(\"x\")>-1,flipY:_.tiling.flip.indexOf(\"y\")>-1,pad:{inner:_.tiling.pad,top:_.marker.pad.t,left:_.marker.pad.l,right:_.marker.pad.r,bottom:_.marker.pad.b}}),F=T.descendants(),q=1/0,V=-1/0;F.forEach(function(W){var re=W.depth;re>=_._maxDepth?(W.x0=W.x1=(W.x0+W.x1)/2,W.y0=W.y1=(W.y0+W.y1)/2):(q=Math.min(q,re),V=Math.max(V,re))}),i=i.data(F,K_.getPtId),_._maxVisibleLayers=isFinite(V)?V-q+1:0,i.enter().append(\"g\").classed(\"slice\",!0),v(i,HW,E,[o,s],c),i.order();var H=null;if(d&&p){var X=K_.getPtId(p);i.each(function(W){H===null&&K_.getPtId(W)===X&&(H={x0:W.x0,x1:W.x1,y0:W.y0,y1:W.y1})})}var G=function(){return H||{x0:0,x1:o,y0:0,y1:s}},N=i;return d&&(N=N.transition().each(\"end\",function(){var W=e6e.select(this);K_.setSliceCursor(W,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),N.each(function(W){var re=K_.isHeader(W,_);W._x0=l(W.x0),W._x1=l(W.x1),W._y0=u(W.y0),W._y1=u(W.y1),W._hoverX=l(W.x1-_.marker.pad.r),W._hoverY=u(g?W.y1-_.marker.pad.b/2:W.y0+_.marker.pad.t/2);var ae=e6e.select(this),_e=ND.ensureSingle(ae,\"path\",\"surface\",function(Ee){Ee.style(\"pointer-events\",k?\"none\":\"all\")});d?_e.transition().attrTween(\"d\",function(Ee){var Ae=x(Ee,HW,G(),[o,s]);return function(ze){return c(Ae(ze))}}):_e.attr(\"d\",c),ae.call(t6t,n,t,r,{styleOne:r6e,eventDataKeys:VW.eventDataKeys,transitionTime:VW.CLICK_TRANSITION_TIME,transitionEasing:VW.CLICK_TRANSITION_EASING}).call(K_.setSliceCursor,t,{isTransitioning:t._transitioning}),_e.call(r6e,W,_,t,{hovered:!1}),W.x0===W.x1||W.y0===W.y1?W._text=\"\":re?W._text=P?\"\":K_.getPtLabel(W)||\"\":W._text=r6t(W,n,_,r,A)||\"\";var Me=ND.ensureSingle(ae,\"g\",\"slicetext\"),ke=ND.ensureSingle(Me,\"text\",\"\",function(Ee){Ee.attr(\"data-notex\",1)}),ge=ND.ensureUniformFontSize(t,K_.determineTextFont(_,W,A.font)),ie=W._text||\" \",Te=re&&ie.indexOf(\"<br>\")===-1;ke.text(ie).classed(\"slicetext\",!0).attr(\"text-anchor\",M?\"end\":C||Te?\"start\":\"middle\").call(t6e.font,ge).call(QCt.convertToTspans,t),W.textBB=t6e.bBox(ke.node()),W.transform=f(W,{fontSize:ge.size,isHeader:re}),W.transform.fontSize=ge.size,d?ke.transition().attrTween(\"transform\",function(Ee){var Ae=b(Ee,HW,G(),[o,s]);return function(ze){return h(Ae(ze))}}):ke.attr(\"transform\",h(W))}),H}});var o6e=ye((Pdr,a6e)=>{\"use strict\";var i6t=UW(),n6t=n6e();a6e.exports=function(t,r,n,i){return i6t(t,r,n,i,{type:\"treemap\",drawDescendants:n6t})}});var l6e=ye((Idr,s6e)=>{\"use strict\";s6e.exports={moduleType:\"trace\",name:\"treemap\",basePlotModule:SCe(),categories:[],animatable:!0,attributes:qD(),layoutAttributes:PW(),supplyDefaults:RCe(),supplyLayoutDefaults:zCe(),calc:RW().calc,crossTraceCalc:RW().crossTraceCalc,plot:o6e(),style:OD().style,colorbar:Kd(),meta:{}}});var c6e=ye((Rdr,u6e)=>{\"use strict\";u6e.exports=l6e()});var h6e=ye(D5=>{\"use strict\";var f6e=Xu();D5.name=\"icicle\";D5.plot=function(e,t,r,n){f6e.plotBasePlot(D5.name,e,t,r,n)};D5.clean=function(e,t,r,n){f6e.cleanBasePlot(D5.name,e,t,r,n)}});var GW=ye((zdr,v6e)=>{\"use strict\";var a6t=Wo().hovertemplateAttrs,o6t=Wo().texttemplateAttrs,s6t=Jl(),l6t=Ju().attributes,UE=A2(),o0=AE(),UD=qD(),d6e=z2(),u6t=no().extendFlat,c6t=Ed().pattern;v6e.exports={labels:o0.labels,parents:o0.parents,values:o0.values,branchvalues:o0.branchvalues,count:o0.count,level:o0.level,maxdepth:o0.maxdepth,tiling:{orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\",editType:\"plot\"},flip:UD.tiling.flip,pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},marker:u6t({colors:o0.marker.colors,line:o0.marker.line,pattern:c6t,editType:\"calc\"},s6t(\"marker\",{colorAttr:\"colors\",anim:!1})),leaf:o0.leaf,pathbar:UD.pathbar,text:UE.text,textinfo:o0.textinfo,texttemplate:o6t({editType:\"plot\"},{keys:d6e.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:UE.hovertext,hoverinfo:o0.hoverinfo,hovertemplate:a6t({},{keys:d6e.eventDataKeys}),textfont:UE.textfont,insidetextfont:UE.insidetextfont,outsidetextfont:UD.outsidetextfont,textposition:UD.textposition,sort:UE.sort,root:o0.root,domain:l6t({name:\"icicle\",trace:!0,editType:\"calc\"})}});var jW=ye((Fdr,p6e)=>{\"use strict\";p6e.exports={iciclecolorway:{valType:\"colorlist\",editType:\"calc\"},extendiciclecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var _6e=ye((qdr,y6e)=>{\"use strict\";var g6e=Mr(),f6t=GW(),h6t=va(),d6t=Ju().defaults,v6t=r0().handleText,p6t=Qb().TEXTPAD,g6t=S2().handleMarkerDefaults,m6e=Mu(),m6t=m6e.hasColorscale,y6t=m6e.handleDefaults;y6e.exports=function(t,r,n,i){function a(d,v){return g6e.coerce(t,r,f6t,d,v)}var o=a(\"labels\"),s=a(\"parents\");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a(\"values\");l&&l.length?a(\"branchvalues\"):a(\"count\"),a(\"level\"),a(\"maxdepth\"),a(\"tiling.orientation\"),a(\"tiling.flip\"),a(\"tiling.pad\");var u=a(\"text\");a(\"texttemplate\"),r.texttemplate||a(\"textinfo\",g6e.isArrayOrTypedArray(u)?\"text+label\":\"label\"),a(\"hovertext\"),a(\"hovertemplate\");var c=a(\"pathbar.visible\"),f=\"auto\";v6t(t,r,i,a,f,{hasPathbar:c,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a(\"textposition\"),g6t(t,r,i,a);var h=r._hasColorscale=m6t(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;h&&y6t(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}),a(\"leaf.opacity\",h?1:.7),r._hovered={marker:{line:{width:2,color:h6t.contrast(i.paper_bgcolor)}}},c&&(a(\"pathbar.thickness\",r.pathbar.textfont.size+2*p6t),a(\"pathbar.side\"),a(\"pathbar.edgeshape\")),a(\"sort\"),a(\"root.color\"),d6t(r,i,a),r._length=null}});var b6e=ye((Odr,x6e)=>{\"use strict\";var _6t=Mr(),x6t=jW();x6e.exports=function(t,r){function n(i,a){return _6t.coerce(t,r,x6t,i,a)}n(\"iciclecolorway\",r.colorway),n(\"extendiciclecolors\")}});var ZW=ye(WW=>{\"use strict\";var w6e=EE();WW.calc=function(e,t){return w6e.calc(e,t)};WW.crossTraceCalc=function(e){return w6e._runCrossTraceCalc(\"icicle\",e)}});var A6e=ye((Ndr,T6e)=>{\"use strict\";var b6t=SE(),w6t=DW();T6e.exports=function(t,r,n){var i=n.flipX,a=n.flipY,o=n.orientation===\"h\",s=n.maxDepth,l=r[0],u=r[1];s&&(l=(t.height+1)*r[0]/Math.min(t.height+1,s),u=(t.height+1)*r[1]/Math.min(t.height+1,s));var c=b6t.partition().padding(n.pad.inner).size(o?[r[1],l]:[r[0],u])(t);return(o||i||a)&&w6t(c,r,{swapXY:o,flipX:i,flipY:a}),c}});var XW=ye((Udr,C6e)=>{\"use strict\";var S6e=xa(),M6e=va(),E6e=Mr(),T6t=_v().resizeText,A6t=DD();function S6t(e){var t=e._fullLayout._iciclelayer.selectAll(\".trace\");T6t(e,t,\"icicle\"),t.each(function(r){var n=S6e.select(this),i=r[0],a=i.trace;n.style(\"opacity\",a.opacity),n.selectAll(\"path.surface\").each(function(o){S6e.select(this).call(k6e,o,a,e)})})}function k6e(e,t,r,n){var i=t.data.data,a=!t.children,o=i.i,s=E6e.castOption(r,o,\"marker.line.color\")||M6e.defaultLine,l=E6e.castOption(r,o,\"marker.line.width\")||0;e.call(A6t,t,r,n).style(\"stroke-width\",l).call(M6e.stroke,s).style(\"opacity\",a?r.leaf.opacity:null)}C6e.exports={style:S6t,styleOne:k6e}});var D6e=ye((Vdr,R6e)=>{\"use strict\";var L6e=xa(),VD=Mr(),P6e=ao(),M6t=Pl(),E6t=A6e(),I6e=XW().styleOne,YW=z2(),z5=Ky(),k6t=OE(),C6t=FD().formatSliceLabel,KW=!1;R6e.exports=function(t,r,n,i,a){var o=a.width,s=a.height,l=a.viewX,u=a.viewY,c=a.pathSlice,f=a.toMoveInsideSlice,h=a.strTransform,d=a.hasTransition,v=a.handleSlicesExit,x=a.makeUpdateSliceInterpolator,b=a.makeUpdateTextInterpolator,p=a.prevEntry,E={},k=t._context.staticPlot,A=t._fullLayout,L=r[0],_=L.trace,C=_.textposition.indexOf(\"left\")!==-1,M=_.textposition.indexOf(\"right\")!==-1,g=_.textposition.indexOf(\"bottom\")!==-1,P=E6t(n,[o,s],{flipX:_.tiling.flip.indexOf(\"x\")>-1,flipY:_.tiling.flip.indexOf(\"y\")>-1,orientation:_.tiling.orientation,pad:{inner:_.tiling.pad},maxDepth:_._maxDepth}),T=P.descendants(),F=1/0,q=-1/0;T.forEach(function(N){var W=N.depth;W>=_._maxDepth?(N.x0=N.x1=(N.x0+N.x1)/2,N.y0=N.y1=(N.y0+N.y1)/2):(F=Math.min(F,W),q=Math.max(q,W))}),i=i.data(T,z5.getPtId),_._maxVisibleLayers=isFinite(q)?q-F+1:0,i.enter().append(\"g\").classed(\"slice\",!0),v(i,KW,E,[o,s],c),i.order();var V=null;if(d&&p){var H=z5.getPtId(p);i.each(function(N){V===null&&z5.getPtId(N)===H&&(V={x0:N.x0,x1:N.x1,y0:N.y0,y1:N.y1})})}var X=function(){return V||{x0:0,x1:o,y0:0,y1:s}},G=i;return d&&(G=G.transition().each(\"end\",function(){var N=L6e.select(this);z5.setSliceCursor(N,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),G.each(function(N){N._x0=l(N.x0),N._x1=l(N.x1),N._y0=u(N.y0),N._y1=u(N.y1),N._hoverX=l(N.x1-_.tiling.pad),N._hoverY=u(g?N.y1-_.tiling.pad/2:N.y0+_.tiling.pad/2);var W=L6e.select(this),re=VD.ensureSingle(W,\"path\",\"surface\",function(ke){ke.style(\"pointer-events\",k?\"none\":\"all\")});d?re.transition().attrTween(\"d\",function(ke){var ge=x(ke,KW,X(),[o,s],{orientation:_.tiling.orientation,flipX:_.tiling.flip.indexOf(\"x\")>-1,flipY:_.tiling.flip.indexOf(\"y\")>-1});return function(ie){return c(ge(ie))}}):re.attr(\"d\",c),W.call(k6t,n,t,r,{styleOne:I6e,eventDataKeys:YW.eventDataKeys,transitionTime:YW.CLICK_TRANSITION_TIME,transitionEasing:YW.CLICK_TRANSITION_EASING}).call(z5.setSliceCursor,t,{isTransitioning:t._transitioning}),re.call(I6e,N,_,t,{hovered:!1}),N.x0===N.x1||N.y0===N.y1?N._text=\"\":N._text=C6t(N,n,_,r,A)||\"\";var ae=VD.ensureSingle(W,\"g\",\"slicetext\"),_e=VD.ensureSingle(ae,\"text\",\"\",function(ke){ke.attr(\"data-notex\",1)}),Me=VD.ensureUniformFontSize(t,z5.determineTextFont(_,N,A.font));_e.text(N._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",M?\"end\":C?\"start\":\"middle\").call(P6e.font,Me).call(M6t.convertToTspans,t),N.textBB=P6e.bBox(_e.node()),N.transform=f(N,{fontSize:Me.size}),N.transform.fontSize=Me.size,d?_e.transition().attrTween(\"transform\",function(ke){var ge=b(ke,KW,X(),[o,s]);return function(ie){return h(ge(ie))}}):_e.attr(\"transform\",h(N))}),V}});var F6e=ye((Hdr,z6e)=>{\"use strict\";var L6t=UW(),P6t=D6e();z6e.exports=function(t,r,n,i){return L6t(t,r,n,i,{type:\"icicle\",drawDescendants:P6t})}});var O6e=ye((Gdr,q6e)=>{\"use strict\";q6e.exports={moduleType:\"trace\",name:\"icicle\",basePlotModule:h6e(),categories:[],animatable:!0,attributes:GW(),layoutAttributes:jW(),supplyDefaults:_6e(),supplyLayoutDefaults:b6e(),calc:ZW().calc,crossTraceCalc:ZW().crossTraceCalc,plot:F6e(),style:XW().style,colorbar:Kd(),meta:{}}});var N6e=ye((jdr,B6e)=>{\"use strict\";B6e.exports=O6e()});var V6e=ye(F5=>{\"use strict\";var U6e=Xu();F5.name=\"funnelarea\";F5.plot=function(e,t,r,n){U6e.plotBasePlot(F5.name,e,t,r,n)};F5.clean=function(e,t,r,n){U6e.cleanBasePlot(F5.name,e,t,r,n)}});var JW=ye((Zdr,H6e)=>{\"use strict\";var tv=A2(),I6t=vl(),R6t=Ju().attributes,D6t=Wo().hovertemplateAttrs,z6t=Wo().texttemplateAttrs,O2=no().extendFlat;H6e.exports={labels:tv.labels,label0:tv.label0,dlabel:tv.dlabel,values:tv.values,marker:{colors:tv.marker.colors,line:{color:O2({},tv.marker.line.color,{dflt:null}),width:O2({},tv.marker.line.width,{dflt:1}),editType:\"calc\"},pattern:tv.marker.pattern,editType:\"calc\"},text:tv.text,hovertext:tv.hovertext,scalegroup:O2({},tv.scalegroup,{}),textinfo:O2({},tv.textinfo,{flags:[\"label\",\"text\",\"value\",\"percent\"]}),texttemplate:z6t({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),hoverinfo:O2({},I6t.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:D6t({},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),textposition:O2({},tv.textposition,{values:[\"inside\",\"none\"],dflt:\"inside\"}),textfont:tv.textfont,insidetextfont:tv.insidetextfont,title:{text:tv.title.text,font:tv.title.font,position:O2({},tv.title.position,{values:[\"top left\",\"top center\",\"top right\"],dflt:\"top center\"}),editType:\"plot\"},domain:R6t({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\"}}});var $W=ye((Xdr,G6e)=>{\"use strict\";var F6t=uD().hiddenlabels;G6e.exports={hiddenlabels:F6t,funnelareacolorway:{valType:\"colorlist\",editType:\"calc\"},extendfunnelareacolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var Z6e=ye((Ydr,W6e)=>{\"use strict\";var j6e=Mr(),q6t=JW(),O6t=Ju().defaults,B6t=r0().handleText,N6t=S2().handleLabelsAndValues,U6t=S2().handleMarkerDefaults;W6e.exports=function(t,r,n,i){function a(x,b){return j6e.coerce(t,r,q6t,x,b)}var o=a(\"labels\"),s=a(\"values\"),l=N6t(o,s),u=l.len;if(r._hasLabels=l.hasLabels,r._hasValues=l.hasValues,!r._hasLabels&&r._hasValues&&(a(\"label0\"),a(\"dlabel\")),!u){r.visible=!1;return}r._length=u,U6t(t,r,i,a),a(\"scalegroup\");var c=a(\"text\"),f=a(\"texttemplate\"),h;if(f||(h=a(\"textinfo\",Array.isArray(c)?\"text+percent\":\"percent\")),a(\"hovertext\"),a(\"hovertemplate\"),f||h&&h!==\"none\"){var d=a(\"textposition\");B6t(t,r,i,a,d,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else h===\"none\"&&a(\"textposition\",\"none\");O6t(r,i,a);var v=a(\"title.text\");v&&(a(\"title.position\"),j6e.coerceFont(a,\"title.font\",i.font)),a(\"aspectratio\"),a(\"baseratio\")}});var Y6e=ye((Kdr,X6e)=>{\"use strict\";var V6t=Mr(),H6t=$W();X6e.exports=function(t,r){function n(i,a){return V6t.coerce(t,r,H6t,i,a)}n(\"hiddenlabels\"),n(\"funnelareacolorway\",r.colorway),n(\"extendfunnelareacolors\")}});var QW=ye((Jdr,J6e)=>{\"use strict\";var K6e=y5();function G6t(e,t){return K6e.calc(e,t)}function j6t(e){K6e.crossTraceCalc(e,{type:\"funnelarea\"})}J6e.exports={calc:G6t,crossTraceCalc:j6t}});var rLe=ye(($dr,tLe)=>{\"use strict\";var B2=xa(),eZ=ao(),J_=Mr(),W6t=J_.strScale,$6e=J_.strTranslate,Q6e=Pl(),Z6t=i2(),X6t=Z6t.toMoveInsideBar,eLe=_v(),Y6t=eLe.recordMinTextSize,K6t=eLe.clearMinTextSize,J6t=u_(),q5=dD(),$6t=q5.attachFxHandlers,Q6t=q5.determineInsideTextFont,eLt=q5.layoutAreas,tLt=q5.prerenderTitles,rLt=q5.positionTitleOutside,iLt=q5.formatSliceLabel;tLe.exports=function(t,r){var n=t._context.staticPlot,i=t._fullLayout;K6t(\"funnelarea\",i),tLt(r,t),eLt(r,i._size),J_.makeTraceGroups(i._funnelarealayer,r,\"trace\").each(function(a){var o=B2.select(this),s=a[0],l=s.trace;aLt(a),o.each(function(){var u=B2.select(this).selectAll(\"g.slice\").data(a);u.enter().append(\"g\").classed(\"slice\",!0),u.exit().remove(),u.each(function(f,h){if(f.hidden){B2.select(this).selectAll(\"path,g\").remove();return}f.pointNumber=f.i,f.curveNumber=l.index;var d=s.cx,v=s.cy,x=B2.select(this),b=x.selectAll(\"path.surface\").data([f]);b.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":n?\"none\":\"all\"}),x.call($6t,t,a);var p=\"M\"+(d+f.TR[0])+\",\"+(v+f.TR[1])+tZ(f.TR,f.BR)+tZ(f.BR,f.BL)+tZ(f.BL,f.TL)+\"Z\";b.attr(\"d\",p),iLt(t,f,s);var E=J6t.castOption(l.textposition,f.pts),k=x.selectAll(\"g.slicetext\").data(f.text&&E!==\"none\"?[0]:[]);k.enter().append(\"g\").classed(\"slicetext\",!0),k.exit().remove(),k.each(function(){var A=J_.ensureSingle(B2.select(this),\"text\",\"\",function(F){F.attr(\"data-notex\",1)}),L=J_.ensureUniformFontSize(t,Q6t(l,f,i.font));A.text(f.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(eZ.font,L).call(Q6e.convertToTspans,t);var _=eZ.bBox(A.node()),C,M,g,P=Math.min(f.BL[1],f.BR[1])+v,T=Math.max(f.TL[1],f.TR[1])+v;M=Math.max(f.TL[0],f.BL[0])+d,g=Math.min(f.TR[0],f.BR[0])+d,C=X6t(M,g,P,T,_,{isHorizontal:!0,constrained:!0,angle:0,anchor:\"middle\"}),C.fontSize=L.size,Y6t(l.type,C,i),a[h].transform=C,J_.setTransormAndDisplay(A,C)})});var c=B2.select(this).selectAll(\"g.titletext\").data(l.title.text?[0]:[]);c.enter().append(\"g\").classed(\"titletext\",!0),c.exit().remove(),c.each(function(){var f=J_.ensureSingle(B2.select(this),\"text\",\"\",function(v){v.attr(\"data-notex\",1)}),h=l.title.text;l._meta&&(h=J_.templateString(h,l._meta)),f.text(h).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(eZ.font,l.title.font).call(Q6e.convertToTspans,t);var d=rLt(s,i._size);f.attr(\"transform\",$6e(d.x,d.y)+W6t(Math.min(1,d.scale))+$6e(d.tx,d.ty))})})})};function tZ(e,t){var r=t[0]-e[0],n=t[1]-e[1];return\"l\"+r+\",\"+n}function nLt(e,t){return[.5*(e[0]+t[0]),.5*(e[1]+t[1])]}function aLt(e){if(!e.length)return;var t=e[0],r=t.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a=Math.pow(i,2),o=t.vTotal,s=o*a/(1-a),l=o,u=s/o;function c(){var q=Math.sqrt(u);return{x:q,y:-q}}function f(){var q=c();return[q.x,q.y]}var h,d=[];d.push(f());var v,x;for(v=e.length-1;v>-1;v--)if(x=e[v],!x.hidden){var b=x.v/l;u+=b,d.push(f())}var p=1/0,E=-1/0;for(v=0;v<d.length;v++)h=d[v],p=Math.min(p,h[1]),E=Math.max(E,h[1]);for(v=0;v<d.length;v++)d[v][1]-=(E+p)/2;var k=d[d.length-1][0],A=t.r,L=(E-p)/2,_=A/k,C=A/L*n;for(t.r=C*L,v=0;v<d.length;v++)d[v][0]*=_,d[v][1]*=C;h=d[0];var M=[-h[0],h[1]],g=[h[0],h[1]],P=0;for(v=e.length-1;v>-1;v--)if(x=e[v],!x.hidden){P+=1;var T=d[P][0],F=d[P][1];x.TL=[-T,F],x.TR=[T,F],x.BL=M,x.BR=g,x.pxmid=nLt(x.TR,x.BR),M=x.TL,g=x.TR}}});var aLe=ye((Qdr,nLe)=>{\"use strict\";var iLe=xa(),oLt=z3(),sLt=_v().resizeText;nLe.exports=function(t){var r=t._fullLayout._funnelarealayer.selectAll(\".trace\");sLt(t,r,\"funnelarea\"),r.each(function(n){var i=n[0],a=i.trace,o=iLe.select(this);o.style({opacity:a.opacity}),o.selectAll(\"path.surface\").each(function(s){iLe.select(this).call(oLt,s,a,t)})})}});var sLe=ye((evr,oLe)=>{\"use strict\";oLe.exports={moduleType:\"trace\",name:\"funnelarea\",basePlotModule:V6e(),categories:[\"pie-like\",\"funnelarea\",\"showLegend\"],attributes:JW(),layoutAttributes:$W(),supplyDefaults:Z6e(),supplyLayoutDefaults:Y6e(),calc:QW().calc,crossTraceCalc:QW().crossTraceCalc,plot:rLe(),style:aLe(),styleOne:z3(),meta:{}}});var uLe=ye((tvr,lLe)=>{\"use strict\";lLe.exports=sLe()});var Rd=ye((rvr,cLe)=>{(function(){var e={1964:function(i,a,o){i.exports={alpha_shape:o(3502),convex_hull:o(7352),delaunay_triangulate:o(7642),gl_cone3d:o(6405),gl_error3d:o(9165),gl_line3d:o(5714),gl_mesh3d:o(7201),gl_plot3d:o(4100),gl_scatter3d:o(8418),gl_streamtube3d:o(7815),gl_surface3d:o(9499),ndarray:o(9618),ndarray_linear_interpolate:o(4317)}},4793:function(i,a,o){\"use strict\";var s;function l(Le,xe){if(!(Le instanceof xe))throw new TypeError(\"Cannot call a class as a function\")}function u(Le,xe){for(var Se=0;Se<xe.length;Se++){var lt=xe[Se];lt.enumerable=lt.enumerable||!1,lt.configurable=!0,\"value\"in lt&&(lt.writable=!0),Object.defineProperty(Le,f(lt.key),lt)}}function c(Le,xe,Se){return xe&&u(Le.prototype,xe),Se&&u(Le,Se),Object.defineProperty(Le,\"prototype\",{writable:!1}),Le}function f(Le){var xe=h(Le,\"string\");return A(xe)==\"symbol\"?xe:xe+\"\"}function h(Le,xe){if(A(Le)!=\"object\"||!Le)return Le;var Se=Le[Symbol.toPrimitive];if(Se!==void 0){var lt=Se.call(Le,xe||\"default\");if(A(lt)!=\"object\")return lt;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(xe===\"string\"?String:Number)(Le)}function d(Le,xe,Se){return xe=p(xe),v(Le,b()?Reflect.construct(xe,Se||[],p(Le).constructor):xe.apply(Le,Se))}function v(Le,xe){if(xe&&(A(xe)==\"object\"||typeof xe==\"function\"))return xe;if(xe!==void 0)throw new TypeError(\"Derived constructors may only return object or undefined\");return x(Le)}function x(Le){if(Le===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return Le}function b(){try{var Le=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(xe){}return(b=function(){return!!Le})()}function p(Le){return p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(xe){return xe.__proto__||Object.getPrototypeOf(xe)},p(Le)}function E(Le,xe){if(typeof xe!=\"function\"&&xe!==null)throw new TypeError(\"Super expression must either be null or a function\");Le.prototype=Object.create(xe&&xe.prototype,{constructor:{value:Le,writable:!0,configurable:!0}}),Object.defineProperty(Le,\"prototype\",{writable:!1}),xe&&k(Le,xe)}function k(Le,xe){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(Se,lt){return Se.__proto__=lt,Se},k(Le,xe)}function A(Le){\"@babel/helpers - typeof\";return A=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(xe){return typeof xe}:function(xe){return xe&&typeof Symbol==\"function\"&&xe.constructor===Symbol&&xe!==Symbol.prototype?\"symbol\":typeof xe},A(Le)}var L=o(7507),_=o(3778),C=typeof Symbol==\"function\"&&typeof Symbol.for==\"function\"?Symbol.for(\"nodejs.util.inspect.custom\"):null;a.hp=T,s=_e,a.IS=50;var M=2147483647;s=M,T.TYPED_ARRAY_SUPPORT=g(),!T.TYPED_ARRAY_SUPPORT&&typeof console!=\"undefined\"&&typeof console.error==\"function\"&&console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\");function g(){try{var Le=new Uint8Array(1),xe={foo:function(){return 42}};return Object.setPrototypeOf(xe,Uint8Array.prototype),Object.setPrototypeOf(Le,xe),Le.foo()===42}catch(Se){return!1}}Object.defineProperty(T.prototype,\"parent\",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.buffer}}),Object.defineProperty(T.prototype,\"offset\",{enumerable:!0,get:function(){if(T.isBuffer(this))return this.byteOffset}});function P(Le){if(Le>M)throw new RangeError('The value \"'+Le+'\" is invalid for option \"size\"');var xe=new Uint8Array(Le);return Object.setPrototypeOf(xe,T.prototype),xe}function T(Le,xe,Se){if(typeof Le==\"number\"){if(typeof xe==\"string\")throw new TypeError('The \"string\" argument must be of type string. Received type number');return H(Le)}return F(Le,xe,Se)}T.poolSize=8192;function F(Le,xe,Se){if(typeof Le==\"string\")return X(Le,xe);if(ArrayBuffer.isView(Le))return N(Le);if(Le==null)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+A(Le));if(Ne(Le,ArrayBuffer)||Le&&Ne(Le.buffer,ArrayBuffer)||typeof SharedArrayBuffer!=\"undefined\"&&(Ne(Le,SharedArrayBuffer)||Le&&Ne(Le.buffer,SharedArrayBuffer)))return W(Le,xe,Se);if(typeof Le==\"number\")throw new TypeError('The \"value\" argument must not be of type number. Received type number');var lt=Le.valueOf&&Le.valueOf();if(lt!=null&<!==Le)return T.from(lt,xe,Se);var Gt=re(Le);if(Gt)return Gt;if(typeof Symbol!=\"undefined\"&&Symbol.toPrimitive!=null&&typeof Le[Symbol.toPrimitive]==\"function\")return T.from(Le[Symbol.toPrimitive](\"string\"),xe,Se);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+A(Le))}T.from=function(Le,xe,Se){return F(Le,xe,Se)},Object.setPrototypeOf(T.prototype,Uint8Array.prototype),Object.setPrototypeOf(T,Uint8Array);function q(Le){if(typeof Le!=\"number\")throw new TypeError('\"size\" argument must be of type number');if(Le<0)throw new RangeError('The value \"'+Le+'\" is invalid for option \"size\"')}function V(Le,xe,Se){return q(Le),Le<=0?P(Le):xe!==void 0?typeof Se==\"string\"?P(Le).fill(xe,Se):P(Le).fill(xe):P(Le)}T.alloc=function(Le,xe,Se){return V(Le,xe,Se)};function H(Le){return q(Le),P(Le<0?0:ae(Le)|0)}T.allocUnsafe=function(Le){return H(Le)},T.allocUnsafeSlow=function(Le){return H(Le)};function X(Le,xe){if((typeof xe!=\"string\"||xe===\"\")&&(xe=\"utf8\"),!T.isEncoding(xe))throw new TypeError(\"Unknown encoding: \"+xe);var Se=Me(Le,xe)|0,lt=P(Se),Gt=lt.write(Le,xe);return Gt!==Se&&(lt=lt.slice(0,Gt)),lt}function G(Le){for(var xe=Le.length<0?0:ae(Le.length)|0,Se=P(xe),lt=0;lt<xe;lt+=1)Se[lt]=Le[lt]&255;return Se}function N(Le){if(Ne(Le,Uint8Array)){var xe=new Uint8Array(Le);return W(xe.buffer,xe.byteOffset,xe.byteLength)}return G(Le)}function W(Le,xe,Se){if(xe<0||Le.byteLength<xe)throw new RangeError('\"offset\" is outside of buffer bounds');if(Le.byteLength<xe+(Se||0))throw new RangeError('\"length\" is outside of buffer bounds');var lt;return xe===void 0&&Se===void 0?lt=new Uint8Array(Le):Se===void 0?lt=new Uint8Array(Le,xe):lt=new Uint8Array(Le,xe,Se),Object.setPrototypeOf(lt,T.prototype),lt}function re(Le){if(T.isBuffer(Le)){var xe=ae(Le.length)|0,Se=P(xe);return Se.length===0||Le.copy(Se,0,0,xe),Se}if(Le.length!==void 0)return typeof Le.length!=\"number\"||Ye(Le.length)?P(0):G(Le);if(Le.type===\"Buffer\"&&Array.isArray(Le.data))return G(Le.data)}function ae(Le){if(Le>=M)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+M.toString(16)+\" bytes\");return Le|0}function _e(Le){return+Le!=Le&&(Le=0),T.alloc(+Le)}T.isBuffer=function(xe){return xe!=null&&xe._isBuffer===!0&&xe!==T.prototype},T.compare=function(xe,Se){if(Ne(xe,Uint8Array)&&(xe=T.from(xe,xe.offset,xe.byteLength)),Ne(Se,Uint8Array)&&(Se=T.from(Se,Se.offset,Se.byteLength)),!T.isBuffer(xe)||!T.isBuffer(Se))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(xe===Se)return 0;for(var lt=xe.length,Gt=Se.length,Vt=0,ar=Math.min(lt,Gt);Vt<ar;++Vt)if(xe[Vt]!==Se[Vt]){lt=xe[Vt],Gt=Se[Vt];break}return lt<Gt?-1:Gt<lt?1:0},T.isEncoding=function(xe){switch(String(xe).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},T.concat=function(xe,Se){if(!Array.isArray(xe))throw new TypeError('\"list\" argument must be an Array of Buffers');if(xe.length===0)return T.alloc(0);var lt;if(Se===void 0)for(Se=0,lt=0;lt<xe.length;++lt)Se+=xe[lt].length;var Gt=T.allocUnsafe(Se),Vt=0;for(lt=0;lt<xe.length;++lt){var ar=xe[lt];if(Ne(ar,Uint8Array))Vt+ar.length>Gt.length?(T.isBuffer(ar)||(ar=T.from(ar)),ar.copy(Gt,Vt)):Uint8Array.prototype.set.call(Gt,ar,Vt);else if(T.isBuffer(ar))ar.copy(Gt,Vt);else throw new TypeError('\"list\" argument must be an Array of Buffers');Vt+=ar.length}return Gt};function Me(Le,xe){if(T.isBuffer(Le))return Le.length;if(ArrayBuffer.isView(Le)||Ne(Le,ArrayBuffer))return Le.byteLength;if(typeof Le!=\"string\")throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+A(Le));var Se=Le.length,lt=arguments.length>2&&arguments[2]===!0;if(!lt&&Se===0)return 0;for(var Gt=!1;;)switch(xe){case\"ascii\":case\"latin1\":case\"binary\":return Se;case\"utf8\":case\"utf-8\":return _r(Le).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Se*2;case\"hex\":return Se>>>1;case\"base64\":return Nr(Le).length;default:if(Gt)return lt?-1:_r(Le).length;xe=(\"\"+xe).toLowerCase(),Gt=!0}}T.byteLength=Me;function ke(Le,xe,Se){var lt=!1;if((xe===void 0||xe<0)&&(xe=0),xe>this.length||((Se===void 0||Se>this.length)&&(Se=this.length),Se<=0)||(Se>>>=0,xe>>>=0,Se<=xe))return\"\";for(Le||(Le=\"utf8\");;)switch(Le){case\"hex\":return rt(this,xe,Se);case\"utf8\":case\"utf-8\":return ce(this,xe,Se);case\"ascii\":return ct(this,xe,Se);case\"latin1\":case\"binary\":return qt(this,xe,Se);case\"base64\":return Re(this,xe,Se);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return ot(this,xe,Se);default:if(lt)throw new TypeError(\"Unknown encoding: \"+Le);Le=(Le+\"\").toLowerCase(),lt=!0}}T.prototype._isBuffer=!0;function ge(Le,xe,Se){var lt=Le[xe];Le[xe]=Le[Se],Le[Se]=lt}T.prototype.swap16=function(){var xe=this.length;if(xe%2!==0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var Se=0;Se<xe;Se+=2)ge(this,Se,Se+1);return this},T.prototype.swap32=function(){var xe=this.length;if(xe%4!==0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var Se=0;Se<xe;Se+=4)ge(this,Se,Se+3),ge(this,Se+1,Se+2);return this},T.prototype.swap64=function(){var xe=this.length;if(xe%8!==0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var Se=0;Se<xe;Se+=8)ge(this,Se,Se+7),ge(this,Se+1,Se+6),ge(this,Se+2,Se+5),ge(this,Se+3,Se+4);return this},T.prototype.toString=function(){var xe=this.length;return xe===0?\"\":arguments.length===0?ce(this,0,xe):ke.apply(this,arguments)},T.prototype.toLocaleString=T.prototype.toString,T.prototype.equals=function(xe){if(!T.isBuffer(xe))throw new TypeError(\"Argument must be a Buffer\");return this===xe?!0:T.compare(this,xe)===0},T.prototype.inspect=function(){var xe=\"\",Se=a.IS;return xe=this.toString(\"hex\",0,Se).replace(/(.{2})/g,\"$1 \").trim(),this.length>Se&&(xe+=\" ... \"),\"<Buffer \"+xe+\">\"},C&&(T.prototype[C]=T.prototype.inspect),T.prototype.compare=function(xe,Se,lt,Gt,Vt){if(Ne(xe,Uint8Array)&&(xe=T.from(xe,xe.offset,xe.byteLength)),!T.isBuffer(xe))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+A(xe));if(Se===void 0&&(Se=0),lt===void 0&&(lt=xe?xe.length:0),Gt===void 0&&(Gt=0),Vt===void 0&&(Vt=this.length),Se<0||lt>xe.length||Gt<0||Vt>this.length)throw new RangeError(\"out of range index\");if(Gt>=Vt&&Se>=lt)return 0;if(Gt>=Vt)return-1;if(Se>=lt)return 1;if(Se>>>=0,lt>>>=0,Gt>>>=0,Vt>>>=0,this===xe)return 0;for(var ar=Vt-Gt,Qr=lt-Se,ai=Math.min(ar,Qr),jr=this.slice(Gt,Vt),ri=xe.slice(Se,lt),bi=0;bi<ai;++bi)if(jr[bi]!==ri[bi]){ar=jr[bi],Qr=ri[bi];break}return ar<Qr?-1:Qr<ar?1:0};function ie(Le,xe,Se,lt,Gt){if(Le.length===0)return-1;if(typeof Se==\"string\"?(lt=Se,Se=0):Se>2147483647?Se=2147483647:Se<-2147483648&&(Se=-2147483648),Se=+Se,Ye(Se)&&(Se=Gt?0:Le.length-1),Se<0&&(Se=Le.length+Se),Se>=Le.length){if(Gt)return-1;Se=Le.length-1}else if(Se<0)if(Gt)Se=0;else return-1;if(typeof xe==\"string\"&&(xe=T.from(xe,lt)),T.isBuffer(xe))return xe.length===0?-1:Te(Le,xe,Se,lt,Gt);if(typeof xe==\"number\")return xe=xe&255,typeof Uint8Array.prototype.indexOf==\"function\"?Gt?Uint8Array.prototype.indexOf.call(Le,xe,Se):Uint8Array.prototype.lastIndexOf.call(Le,xe,Se):Te(Le,[xe],Se,lt,Gt);throw new TypeError(\"val must be string, number or Buffer\")}function Te(Le,xe,Se,lt,Gt){var Vt=1,ar=Le.length,Qr=xe.length;if(lt!==void 0&&(lt=String(lt).toLowerCase(),lt===\"ucs2\"||lt===\"ucs-2\"||lt===\"utf16le\"||lt===\"utf-16le\")){if(Le.length<2||xe.length<2)return-1;Vt=2,ar/=2,Qr/=2,Se/=2}function ai(Wi,Ni){return Vt===1?Wi[Ni]:Wi.readUInt16BE(Ni*Vt)}var jr;if(Gt){var ri=-1;for(jr=Se;jr<ar;jr++)if(ai(Le,jr)===ai(xe,ri===-1?0:jr-ri)){if(ri===-1&&(ri=jr),jr-ri+1===Qr)return ri*Vt}else ri!==-1&&(jr-=jr-ri),ri=-1}else for(Se+Qr>ar&&(Se=ar-Qr),jr=Se;jr>=0;jr--){for(var bi=!0,nn=0;nn<Qr;nn++)if(ai(Le,jr+nn)!==ai(xe,nn)){bi=!1;break}if(bi)return jr}return-1}T.prototype.includes=function(xe,Se,lt){return this.indexOf(xe,Se,lt)!==-1},T.prototype.indexOf=function(xe,Se,lt){return ie(this,xe,Se,lt,!0)},T.prototype.lastIndexOf=function(xe,Se,lt){return ie(this,xe,Se,lt,!1)};function Ee(Le,xe,Se,lt){Se=Number(Se)||0;var Gt=Le.length-Se;lt?(lt=Number(lt),lt>Gt&&(lt=Gt)):lt=Gt;var Vt=xe.length;lt>Vt/2&&(lt=Vt/2);var ar;for(ar=0;ar<lt;++ar){var Qr=parseInt(xe.substr(ar*2,2),16);if(Ye(Qr))return ar;Le[Se+ar]=Qr}return ar}function Ae(Le,xe,Se,lt){return ut(_r(xe,Le.length-Se),Le,Se,lt)}function ze(Le,xe,Se,lt){return ut(Br(xe),Le,Se,lt)}function Ce(Le,xe,Se,lt){return ut(Nr(xe),Le,Se,lt)}function me(Le,xe,Se,lt){return ut(Or(xe,Le.length-Se),Le,Se,lt)}T.prototype.write=function(xe,Se,lt,Gt){if(Se===void 0)Gt=\"utf8\",lt=this.length,Se=0;else if(lt===void 0&&typeof Se==\"string\")Gt=Se,lt=this.length,Se=0;else if(isFinite(Se))Se=Se>>>0,isFinite(lt)?(lt=lt>>>0,Gt===void 0&&(Gt=\"utf8\")):(Gt=lt,lt=void 0);else throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");var Vt=this.length-Se;if((lt===void 0||lt>Vt)&&(lt=Vt),xe.length>0&&(lt<0||Se<0)||Se>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");Gt||(Gt=\"utf8\");for(var ar=!1;;)switch(Gt){case\"hex\":return Ee(this,xe,Se,lt);case\"utf8\":case\"utf-8\":return Ae(this,xe,Se,lt);case\"ascii\":case\"latin1\":case\"binary\":return ze(this,xe,Se,lt);case\"base64\":return Ce(this,xe,Se,lt);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return me(this,xe,Se,lt);default:if(ar)throw new TypeError(\"Unknown encoding: \"+Gt);Gt=(\"\"+Gt).toLowerCase(),ar=!0}},T.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function Re(Le,xe,Se){return xe===0&&Se===Le.length?L.fromByteArray(Le):L.fromByteArray(Le.slice(xe,Se))}function ce(Le,xe,Se){Se=Math.min(Le.length,Se);for(var lt=[],Gt=xe;Gt<Se;){var Vt=Le[Gt],ar=null,Qr=Vt>239?4:Vt>223?3:Vt>191?2:1;if(Gt+Qr<=Se){var ai=void 0,jr=void 0,ri=void 0,bi=void 0;switch(Qr){case 1:Vt<128&&(ar=Vt);break;case 2:ai=Le[Gt+1],(ai&192)===128&&(bi=(Vt&31)<<6|ai&63,bi>127&&(ar=bi));break;case 3:ai=Le[Gt+1],jr=Le[Gt+2],(ai&192)===128&&(jr&192)===128&&(bi=(Vt&15)<<12|(ai&63)<<6|jr&63,bi>2047&&(bi<55296||bi>57343)&&(ar=bi));break;case 4:ai=Le[Gt+1],jr=Le[Gt+2],ri=Le[Gt+3],(ai&192)===128&&(jr&192)===128&&(ri&192)===128&&(bi=(Vt&15)<<18|(ai&63)<<12|(jr&63)<<6|ri&63,bi>65535&&bi<1114112&&(ar=bi))}}ar===null?(ar=65533,Qr=1):ar>65535&&(ar-=65536,lt.push(ar>>>10&1023|55296),ar=56320|ar&1023),lt.push(ar),Gt+=Qr}return nt(lt)}var Ge=4096;function nt(Le){var xe=Le.length;if(xe<=Ge)return String.fromCharCode.apply(String,Le);for(var Se=\"\",lt=0;lt<xe;)Se+=String.fromCharCode.apply(String,Le.slice(lt,lt+=Ge));return Se}function ct(Le,xe,Se){var lt=\"\";Se=Math.min(Le.length,Se);for(var Gt=xe;Gt<Se;++Gt)lt+=String.fromCharCode(Le[Gt]&127);return lt}function qt(Le,xe,Se){var lt=\"\";Se=Math.min(Le.length,Se);for(var Gt=xe;Gt<Se;++Gt)lt+=String.fromCharCode(Le[Gt]);return lt}function rt(Le,xe,Se){var lt=Le.length;(!xe||xe<0)&&(xe=0),(!Se||Se<0||Se>lt)&&(Se=lt);for(var Gt=\"\",Vt=xe;Vt<Se;++Vt)Gt+=Ve[Le[Vt]];return Gt}function ot(Le,xe,Se){for(var lt=Le.slice(xe,Se),Gt=\"\",Vt=0;Vt<lt.length-1;Vt+=2)Gt+=String.fromCharCode(lt[Vt]+lt[Vt+1]*256);return Gt}T.prototype.slice=function(xe,Se){var lt=this.length;xe=~~xe,Se=Se===void 0?lt:~~Se,xe<0?(xe+=lt,xe<0&&(xe=0)):xe>lt&&(xe=lt),Se<0?(Se+=lt,Se<0&&(Se=0)):Se>lt&&(Se=lt),Se<xe&&(Se=xe);var Gt=this.subarray(xe,Se);return Object.setPrototypeOf(Gt,T.prototype),Gt};function Rt(Le,xe,Se){if(Le%1!==0||Le<0)throw new RangeError(\"offset is not uint\");if(Le+xe>Se)throw new RangeError(\"Trying to access beyond buffer length\")}T.prototype.readUintLE=T.prototype.readUIntLE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=this[xe],Vt=1,ar=0;++ar<Se&&(Vt*=256);)Gt+=this[xe+ar]*Vt;return Gt},T.prototype.readUintBE=T.prototype.readUIntBE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=this[xe+--Se],Vt=1;Se>0&&(Vt*=256);)Gt+=this[xe+--Se]*Vt;return Gt},T.prototype.readUint8=T.prototype.readUInt8=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,1,this.length),this[xe]},T.prototype.readUint16LE=T.prototype.readUInt16LE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,2,this.length),this[xe]|this[xe+1]<<8},T.prototype.readUint16BE=T.prototype.readUInt16BE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,2,this.length),this[xe]<<8|this[xe+1]},T.prototype.readUint32LE=T.prototype.readUInt32LE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),(this[xe]|this[xe+1]<<8|this[xe+2]<<16)+this[xe+3]*16777216},T.prototype.readUint32BE=T.prototype.readUInt32BE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),this[xe]*16777216+(this[xe+1]<<16|this[xe+2]<<8|this[xe+3])},T.prototype.readBigUInt64LE=Xe(function(xe){xe=xe>>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=Se+this[++xe]*Math.pow(2,8)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,24),Vt=this[++xe]+this[++xe]*Math.pow(2,8)+this[++xe]*Math.pow(2,16)+lt*Math.pow(2,24);return BigInt(Gt)+(BigInt(Vt)<<BigInt(32))}),T.prototype.readBigUInt64BE=Xe(function(xe){xe=xe>>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=Se*Math.pow(2,24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+this[++xe],Vt=this[++xe]*Math.pow(2,24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+lt;return(BigInt(Gt)<<BigInt(32))+BigInt(Vt)}),T.prototype.readIntLE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=this[xe],Vt=1,ar=0;++ar<Se&&(Vt*=256);)Gt+=this[xe+ar]*Vt;return Vt*=128,Gt>=Vt&&(Gt-=Math.pow(2,8*Se)),Gt},T.prototype.readIntBE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=Se,Vt=1,ar=this[xe+--Gt];Gt>0&&(Vt*=256);)ar+=this[xe+--Gt]*Vt;return Vt*=128,ar>=Vt&&(ar-=Math.pow(2,8*Se)),ar},T.prototype.readInt8=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,1,this.length),this[xe]&128?(255-this[xe]+1)*-1:this[xe]},T.prototype.readInt16LE=function(xe,Se){xe=xe>>>0,Se||Rt(xe,2,this.length);var lt=this[xe]|this[xe+1]<<8;return lt&32768?lt|4294901760:lt},T.prototype.readInt16BE=function(xe,Se){xe=xe>>>0,Se||Rt(xe,2,this.length);var lt=this[xe+1]|this[xe]<<8;return lt&32768?lt|4294901760:lt},T.prototype.readInt32LE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),this[xe]|this[xe+1]<<8|this[xe+2]<<16|this[xe+3]<<24},T.prototype.readInt32BE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),this[xe]<<24|this[xe+1]<<16|this[xe+2]<<8|this[xe+3]},T.prototype.readBigInt64LE=Xe(function(xe){xe=xe>>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=this[xe+4]+this[xe+5]*Math.pow(2,8)+this[xe+6]*Math.pow(2,16)+(lt<<24);return(BigInt(Gt)<<BigInt(32))+BigInt(Se+this[++xe]*Math.pow(2,8)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,24))}),T.prototype.readBigInt64BE=Xe(function(xe){xe=xe>>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=(Se<<24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+this[++xe];return(BigInt(Gt)<<BigInt(32))+BigInt(this[++xe]*Math.pow(2,24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+lt)}),T.prototype.readFloatLE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),_.read(this,xe,!0,23,4)},T.prototype.readFloatBE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),_.read(this,xe,!1,23,4)},T.prototype.readDoubleLE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,8,this.length),_.read(this,xe,!0,52,8)},T.prototype.readDoubleBE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,8,this.length),_.read(this,xe,!1,52,8)};function kt(Le,xe,Se,lt,Gt,Vt){if(!T.isBuffer(Le))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(xe>Gt||xe<Vt)throw new RangeError('\"value\" argument is out of bounds');if(Se+lt>Le.length)throw new RangeError(\"Index out of range\")}T.prototype.writeUintLE=T.prototype.writeUIntLE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,lt=lt>>>0,!Gt){var Vt=Math.pow(2,8*lt)-1;kt(this,xe,Se,lt,Vt,0)}var ar=1,Qr=0;for(this[Se]=xe&255;++Qr<lt&&(ar*=256);)this[Se+Qr]=xe/ar&255;return Se+lt},T.prototype.writeUintBE=T.prototype.writeUIntBE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,lt=lt>>>0,!Gt){var Vt=Math.pow(2,8*lt)-1;kt(this,xe,Se,lt,Vt,0)}var ar=lt-1,Qr=1;for(this[Se+ar]=xe&255;--ar>=0&&(Qr*=256);)this[Se+ar]=xe/Qr&255;return Se+lt},T.prototype.writeUint8=T.prototype.writeUInt8=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,1,255,0),this[Se]=xe&255,Se+1},T.prototype.writeUint16LE=T.prototype.writeUInt16LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,65535,0),this[Se]=xe&255,this[Se+1]=xe>>>8,Se+2},T.prototype.writeUint16BE=T.prototype.writeUInt16BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,65535,0),this[Se]=xe>>>8,this[Se+1]=xe&255,Se+2},T.prototype.writeUint32LE=T.prototype.writeUInt32LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,4294967295,0),this[Se+3]=xe>>>24,this[Se+2]=xe>>>16,this[Se+1]=xe>>>8,this[Se]=xe&255,Se+4},T.prototype.writeUint32BE=T.prototype.writeUInt32BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,4294967295,0),this[Se]=xe>>>24,this[Se+1]=xe>>>16,this[Se+2]=xe>>>8,this[Se+3]=xe&255,Se+4};function Ct(Le,xe,Se,lt,Gt){Et(xe,lt,Gt,Le,Se,7);var Vt=Number(xe&BigInt(4294967295));Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt;var ar=Number(xe>>BigInt(32)&BigInt(4294967295));return Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,Se}function Yt(Le,xe,Se,lt,Gt){Et(xe,lt,Gt,Le,Se,7);var Vt=Number(xe&BigInt(4294967295));Le[Se+7]=Vt,Vt=Vt>>8,Le[Se+6]=Vt,Vt=Vt>>8,Le[Se+5]=Vt,Vt=Vt>>8,Le[Se+4]=Vt;var ar=Number(xe>>BigInt(32)&BigInt(4294967295));return Le[Se+3]=ar,ar=ar>>8,Le[Se+2]=ar,ar=ar>>8,Le[Se+1]=ar,ar=ar>>8,Le[Se]=ar,Se+8}T.prototype.writeBigUInt64LE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Ct(this,xe,Se,BigInt(0),BigInt(\"0xffffffffffffffff\"))}),T.prototype.writeBigUInt64BE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Yt(this,xe,Se,BigInt(0),BigInt(\"0xffffffffffffffff\"))}),T.prototype.writeIntLE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,!Gt){var Vt=Math.pow(2,8*lt-1);kt(this,xe,Se,lt,Vt-1,-Vt)}var ar=0,Qr=1,ai=0;for(this[Se]=xe&255;++ar<lt&&(Qr*=256);)xe<0&&ai===0&&this[Se+ar-1]!==0&&(ai=1),this[Se+ar]=(xe/Qr>>0)-ai&255;return Se+lt},T.prototype.writeIntBE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,!Gt){var Vt=Math.pow(2,8*lt-1);kt(this,xe,Se,lt,Vt-1,-Vt)}var ar=lt-1,Qr=1,ai=0;for(this[Se+ar]=xe&255;--ar>=0&&(Qr*=256);)xe<0&&ai===0&&this[Se+ar+1]!==0&&(ai=1),this[Se+ar]=(xe/Qr>>0)-ai&255;return Se+lt},T.prototype.writeInt8=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,1,127,-128),xe<0&&(xe=255+xe+1),this[Se]=xe&255,Se+1},T.prototype.writeInt16LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,32767,-32768),this[Se]=xe&255,this[Se+1]=xe>>>8,Se+2},T.prototype.writeInt16BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,32767,-32768),this[Se]=xe>>>8,this[Se+1]=xe&255,Se+2},T.prototype.writeInt32LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,2147483647,-2147483648),this[Se]=xe&255,this[Se+1]=xe>>>8,this[Se+2]=xe>>>16,this[Se+3]=xe>>>24,Se+4},T.prototype.writeInt32BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,2147483647,-2147483648),xe<0&&(xe=4294967295+xe+1),this[Se]=xe>>>24,this[Se+1]=xe>>>16,this[Se+2]=xe>>>8,this[Se+3]=xe&255,Se+4},T.prototype.writeBigInt64LE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Ct(this,xe,Se,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))}),T.prototype.writeBigInt64BE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Yt(this,xe,Se,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});function xr(Le,xe,Se,lt,Gt,Vt){if(Se+lt>Le.length)throw new RangeError(\"Index out of range\");if(Se<0)throw new RangeError(\"Index out of range\")}function er(Le,xe,Se,lt,Gt){return xe=+xe,Se=Se>>>0,Gt||xr(Le,xe,Se,4,34028234663852886e22,-34028234663852886e22),_.write(Le,xe,Se,lt,23,4),Se+4}T.prototype.writeFloatLE=function(xe,Se,lt){return er(this,xe,Se,!0,lt)},T.prototype.writeFloatBE=function(xe,Se,lt){return er(this,xe,Se,!1,lt)};function Ke(Le,xe,Se,lt,Gt){return xe=+xe,Se=Se>>>0,Gt||xr(Le,xe,Se,8,17976931348623157e292,-17976931348623157e292),_.write(Le,xe,Se,lt,52,8),Se+8}T.prototype.writeDoubleLE=function(xe,Se,lt){return Ke(this,xe,Se,!0,lt)},T.prototype.writeDoubleBE=function(xe,Se,lt){return Ke(this,xe,Se,!1,lt)},T.prototype.copy=function(xe,Se,lt,Gt){if(!T.isBuffer(xe))throw new TypeError(\"argument should be a Buffer\");if(lt||(lt=0),!Gt&&Gt!==0&&(Gt=this.length),Se>=xe.length&&(Se=xe.length),Se||(Se=0),Gt>0&&Gt<lt&&(Gt=lt),Gt===lt||xe.length===0||this.length===0)return 0;if(Se<0)throw new RangeError(\"targetStart out of bounds\");if(lt<0||lt>=this.length)throw new RangeError(\"Index out of range\");if(Gt<0)throw new RangeError(\"sourceEnd out of bounds\");Gt>this.length&&(Gt=this.length),xe.length-Se<Gt-lt&&(Gt=xe.length-Se+lt);var Vt=Gt-lt;return this===xe&&typeof Uint8Array.prototype.copyWithin==\"function\"?this.copyWithin(Se,lt,Gt):Uint8Array.prototype.set.call(xe,this.subarray(lt,Gt),Se),Vt},T.prototype.fill=function(xe,Se,lt,Gt){if(typeof xe==\"string\"){if(typeof Se==\"string\"?(Gt=Se,Se=0,lt=this.length):typeof lt==\"string\"&&(Gt=lt,lt=this.length),Gt!==void 0&&typeof Gt!=\"string\")throw new TypeError(\"encoding must be a string\");if(typeof Gt==\"string\"&&!T.isEncoding(Gt))throw new TypeError(\"Unknown encoding: \"+Gt);if(xe.length===1){var Vt=xe.charCodeAt(0);(Gt===\"utf8\"&&Vt<128||Gt===\"latin1\")&&(xe=Vt)}}else typeof xe==\"number\"?xe=xe&255:typeof xe==\"boolean\"&&(xe=Number(xe));if(Se<0||this.length<Se||this.length<lt)throw new RangeError(\"Out of range index\");if(lt<=Se)return this;Se=Se>>>0,lt=lt===void 0?this.length:lt>>>0,xe||(xe=0);var ar;if(typeof xe==\"number\")for(ar=Se;ar<lt;++ar)this[ar]=xe;else{var Qr=T.isBuffer(xe)?xe:T.from(xe,Gt),ai=Qr.length;if(ai===0)throw new TypeError('The value \"'+xe+'\" is invalid for argument \"value\"');for(ar=0;ar<lt-Se;++ar)this[ar+Se]=Qr[ar%ai]}return this};var xt={};function bt(Le,xe,Se){xt[Le]=function(lt){function Gt(){var Vt;return l(this,Gt),Vt=d(this,Gt),Object.defineProperty(Vt,\"message\",{value:xe.apply(Vt,arguments),writable:!0,configurable:!0}),Vt.name=\"\".concat(Vt.name,\" [\").concat(Le,\"]\"),Vt.stack,delete Vt.name,Vt}return E(Gt,lt),c(Gt,[{key:\"code\",get:function(){return Le},set:function(ar){Object.defineProperty(this,\"code\",{configurable:!0,enumerable:!0,value:ar,writable:!0})}},{key:\"toString\",value:function(){return\"\".concat(this.name,\" [\").concat(Le,\"]: \").concat(this.message)}}])}(Se)}bt(\"ERR_BUFFER_OUT_OF_BOUNDS\",function(Le){return Le?\"\".concat(Le,\" is outside of buffer bounds\"):\"Attempt to access memory outside buffer bounds\"},RangeError),bt(\"ERR_INVALID_ARG_TYPE\",function(Le,xe){return'The \"'.concat(Le,'\" argument must be of type number. Received type ').concat(A(xe))},TypeError),bt(\"ERR_OUT_OF_RANGE\",function(Le,xe,Se){var lt='The value of \"'.concat(Le,'\" is out of range.'),Gt=Se;return Number.isInteger(Se)&&Math.abs(Se)>Math.pow(2,32)?Gt=Lt(String(Se)):typeof Se==\"bigint\"&&(Gt=String(Se),(Se>Math.pow(BigInt(2),BigInt(32))||Se<-Math.pow(BigInt(2),BigInt(32)))&&(Gt=Lt(Gt)),Gt+=\"n\"),lt+=\" It must be \".concat(xe,\". Received \").concat(Gt),lt},RangeError);function Lt(Le){for(var xe=\"\",Se=Le.length,lt=Le[0]===\"-\"?1:0;Se>=lt+4;Se-=3)xe=\"_\".concat(Le.slice(Se-3,Se)).concat(xe);return\"\".concat(Le.slice(0,Se)).concat(xe)}function St(Le,xe,Se){dt(xe,\"offset\"),(Le[xe]===void 0||Le[xe+Se]===void 0)&&Ht(xe,Le.length-(Se+1))}function Et(Le,xe,Se,lt,Gt,Vt){if(Le>Se||Le<xe){var ar=typeof xe==\"bigint\"?\"n\":\"\",Qr;throw Vt>3?xe===0||xe===BigInt(0)?Qr=\">= 0\".concat(ar,\" and < 2\").concat(ar,\" ** \").concat((Vt+1)*8).concat(ar):Qr=\">= -(2\".concat(ar,\" ** \").concat((Vt+1)*8-1).concat(ar,\") and < 2 ** \")+\"\".concat((Vt+1)*8-1).concat(ar):Qr=\">= \".concat(xe).concat(ar,\" and <= \").concat(Se).concat(ar),new xt.ERR_OUT_OF_RANGE(\"value\",Qr,Le)}St(lt,Gt,Vt)}function dt(Le,xe){if(typeof Le!=\"number\")throw new xt.ERR_INVALID_ARG_TYPE(xe,\"number\",Le)}function Ht(Le,xe,Se){throw Math.floor(Le)!==Le?(dt(Le,Se),new xt.ERR_OUT_OF_RANGE(Se||\"offset\",\"an integer\",Le)):xe<0?new xt.ERR_BUFFER_OUT_OF_BOUNDS:new xt.ERR_OUT_OF_RANGE(Se||\"offset\",\">= \".concat(Se?1:0,\" and <= \").concat(xe),Le)}var $t=/[^+/0-9A-Za-z-_]/g;function fr(Le){if(Le=Le.split(\"=\")[0],Le=Le.trim().replace($t,\"\"),Le.length<2)return\"\";for(;Le.length%4!==0;)Le=Le+\"=\";return Le}function _r(Le,xe){xe=xe||1/0;for(var Se,lt=Le.length,Gt=null,Vt=[],ar=0;ar<lt;++ar){if(Se=Le.charCodeAt(ar),Se>55295&&Se<57344){if(!Gt){if(Se>56319){(xe-=3)>-1&&Vt.push(239,191,189);continue}else if(ar+1===lt){(xe-=3)>-1&&Vt.push(239,191,189);continue}Gt=Se;continue}if(Se<56320){(xe-=3)>-1&&Vt.push(239,191,189),Gt=Se;continue}Se=(Gt-55296<<10|Se-56320)+65536}else Gt&&(xe-=3)>-1&&Vt.push(239,191,189);if(Gt=null,Se<128){if((xe-=1)<0)break;Vt.push(Se)}else if(Se<2048){if((xe-=2)<0)break;Vt.push(Se>>6|192,Se&63|128)}else if(Se<65536){if((xe-=3)<0)break;Vt.push(Se>>12|224,Se>>6&63|128,Se&63|128)}else if(Se<1114112){if((xe-=4)<0)break;Vt.push(Se>>18|240,Se>>12&63|128,Se>>6&63|128,Se&63|128)}else throw new Error(\"Invalid code point\")}return Vt}function Br(Le){for(var xe=[],Se=0;Se<Le.length;++Se)xe.push(Le.charCodeAt(Se)&255);return xe}function Or(Le,xe){for(var Se,lt,Gt,Vt=[],ar=0;ar<Le.length&&!((xe-=2)<0);++ar)Se=Le.charCodeAt(ar),lt=Se>>8,Gt=Se%256,Vt.push(Gt),Vt.push(lt);return Vt}function Nr(Le){return L.toByteArray(fr(Le))}function ut(Le,xe,Se,lt){var Gt;for(Gt=0;Gt<lt&&!(Gt+Se>=xe.length||Gt>=Le.length);++Gt)xe[Gt+Se]=Le[Gt];return Gt}function Ne(Le,xe){return Le instanceof xe||Le!=null&&Le.constructor!=null&&Le.constructor.name!=null&&Le.constructor.name===xe.name}function Ye(Le){return Le!==Le}var Ve=function(){for(var Le=\"0123456789abcdef\",xe=new Array(256),Se=0;Se<16;++Se)for(var lt=Se*16,Gt=0;Gt<16;++Gt)xe[lt+Gt]=Le[Se]+Le[Gt];return xe}();function Xe(Le){return typeof BigInt==\"undefined\"?ht:Le}function ht(){throw new Error(\"BigInt not supported\")}},9216:function(i){\"use strict\";i.exports=l,i.exports.isMobile=l,i.exports.default=l;var a=/(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,o=/CrOS/,s=/android|ipad|playbook|silk/i;function l(u){u||(u={});var c=u.ua;if(!c&&typeof navigator!=\"undefined\"&&(c=navigator.userAgent),c&&c.headers&&typeof c.headers[\"user-agent\"]==\"string\"&&(c=c.headers[\"user-agent\"]),typeof c!=\"string\")return!1;var f=a.test(c)&&!o.test(c)||!!u.tablet&&s.test(c);return!f&&u.tablet&&u.featureDetect&&navigator&&navigator.maxTouchPoints>1&&c.indexOf(\"Macintosh\")!==-1&&c.indexOf(\"Safari\")!==-1&&(f=!0),f}},6296:function(i,a,o){\"use strict\";i.exports=h;var s=o(7261),l=o(9977),u=o(1811);function c(d,v){this._controllerNames=Object.keys(d),this._controllerList=this._controllerNames.map(function(x){return d[x]}),this._mode=v,this._active=d[v],this._active||(this._mode=\"turntable\",this._active=d.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 f=c.prototype;f.flush=function(d){for(var v=this._controllerList,x=0;x<v.length;++x)v[x].flush(d)},f.idle=function(d){for(var v=this._controllerList,x=0;x<v.length;++x)v[x].idle(d)},f.lookAt=function(d,v,x,b){for(var p=this._controllerList,E=0;E<p.length;++E)p[E].lookAt(d,v,x,b)},f.rotate=function(d,v,x,b){for(var p=this._controllerList,E=0;E<p.length;++E)p[E].rotate(d,v,x,b)},f.pan=function(d,v,x,b){for(var p=this._controllerList,E=0;E<p.length;++E)p[E].pan(d,v,x,b)},f.translate=function(d,v,x,b){for(var p=this._controllerList,E=0;E<p.length;++E)p[E].translate(d,v,x,b)},f.setMatrix=function(d,v){for(var x=this._controllerList,b=0;b<x.length;++b)x[b].setMatrix(d,v)},f.setDistanceLimits=function(d,v){for(var x=this._controllerList,b=0;b<x.length;++b)x[b].setDistanceLimits(d,v)},f.setDistance=function(d,v){for(var x=this._controllerList,b=0;b<x.length;++b)x[b].setDistance(d,v)},f.recalcMatrix=function(d){this._active.recalcMatrix(d)},f.getDistance=function(d){return this._active.getDistance(d)},f.getDistanceLimits=function(d){return this._active.getDistanceLimits(d)},f.lastT=function(){return this._active.lastT()},f.setMode=function(d){if(d!==this._mode){var v=this._controllerNames.indexOf(d);if(!(v<0)){var x=this._active,b=this._controllerList[v],p=Math.max(x.lastT(),b.lastT());x.recalcMatrix(p),b.setMatrix(p,x.computedMatrix),this._active=b,this._mode=d,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}}},f.getMode=function(){return this._mode};function h(d){d=d||{};var v=d.eye||[0,0,1],x=d.center||[0,0,0],b=d.up||[0,1,0],p=d.distanceLimits||[0,1/0],E=d.mode||\"turntable\",k=s(),A=l(),L=u();return k.setDistanceLimits(p[0],p[1]),k.lookAt(0,v,x,b),A.setDistanceLimits(p[0],p[1]),A.lookAt(0,v,x,b),L.setDistanceLimits(p[0],p[1]),L.lookAt(0,v,x,b),new c({turntable:k,orbit:A,matrix:L},E)}},7169:function(i,a,o){\"use strict\";var s=typeof WeakMap==\"undefined\"?o(1538):WeakMap,l=o(2762),u=o(8116),c=new s;function f(h){var d=c.get(h),v=d&&(d._triangleBuffer.handle||d._triangleBuffer.buffer);if(!v||!h.isBuffer(v)){var x=l(h,new Float32Array([-1,-1,-1,4,4,-1]));d=u(h,[{buffer:x,type:h.FLOAT,size:2}]),d._triangleBuffer=x,c.set(h,d)}d.bind(),h.drawArrays(h.TRIANGLES,0,3),d.unbind()}i.exports=f},1085:function(i,a,o){var s=o(1371);i.exports=l;function l(u,c,f){c=typeof c==\"number\"?c:1,f=f||\": \";var h=u.split(/\\r?\\n/),d=String(h.length+c-1).length;return h.map(function(v,x){var b=x+c,p=String(b).length,E=s(b,d-p);return E+f+v}).join(`\n", - "`)}},3952:function(i,a,o){\"use strict\";i.exports=u;var s=o(3250);function l(c,f){for(var h=new Array(f+1),d=0;d<c.length;++d)h[d]=c[d];for(var d=0;d<=c.length;++d){for(var v=c.length;v<=f;++v){for(var x=new Array(f),b=0;b<f;++b)x[b]=Math.pow(v+1-d,b);h[v]=x}var p=s.apply(void 0,h);if(p)return!0}return!1}function u(c){var f=c.length;if(f===0)return[];if(f===1)return[0];for(var h=c[0].length,d=[c[0]],v=[0],x=1;x<f;++x){if(d.push(c[x]),!l(d,h)){d.pop();continue}if(v.push(x),v.length===h+1)return v}return v}},5995:function(i,a,o){\"use strict\";i.exports=u;var s=o(7642),l=o(6037);function u(c,f){return s(f).filter(function(h){for(var d=new Array(h.length),v=0;v<h.length;++v)d[v]=f[h[v]];return l(d)*c<1})}},3502:function(i,a,o){i.exports=u;var s=o(5995),l=o(9127);function u(c,f){return l(s(c,f))}},6468:function(i){i.exports=function(o){return atob(o)}},2642:function(i,a,o){\"use strict\";i.exports=u;var s=o(727);function l(c){for(var f=0,h=0;h<c.length;++h)f+=c[h];return f}function u(c,f){for(var h=f.length,d=new Array(h+1),v=0;v<h;++v){for(var x=new Array(h+1),b=0;b<=h;++b)x[b]=c[b][v];d[v]=x}d[h]=new Array(h+1);for(var v=0;v<=h;++v)d[h][v]=1;for(var p=new Array(h+1),v=0;v<h;++v)p[v]=f[v];p[h]=1;var E=s(d,p),k=l(E[h+1]);k===0&&(k=1);for(var A=new Array(h+1),v=0;v<=h;++v)A[v]=l(E[v])/k;return A}},7507:function(i,a){\"use strict\";a.byteLength=d,a.toByteArray=x,a.fromByteArray=E;for(var o=[],s=[],l=typeof Uint8Array!=\"undefined\"?Uint8Array:Array,u=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",c=0,f=u.length;c<f;++c)o[c]=u[c],s[u.charCodeAt(c)]=c;s[45]=62,s[95]=63;function h(k){var A=k.length;if(A%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var L=k.indexOf(\"=\");L===-1&&(L=A);var _=L===A?0:4-L%4;return[L,_]}function d(k){var A=h(k),L=A[0],_=A[1];return(L+_)*3/4-_}function v(k,A,L){return(A+L)*3/4-L}function x(k){var A,L=h(k),_=L[0],C=L[1],M=new l(v(k,_,C)),g=0,P=C>0?_-4:_,T;for(T=0;T<P;T+=4)A=s[k.charCodeAt(T)]<<18|s[k.charCodeAt(T+1)]<<12|s[k.charCodeAt(T+2)]<<6|s[k.charCodeAt(T+3)],M[g++]=A>>16&255,M[g++]=A>>8&255,M[g++]=A&255;return C===2&&(A=s[k.charCodeAt(T)]<<2|s[k.charCodeAt(T+1)]>>4,M[g++]=A&255),C===1&&(A=s[k.charCodeAt(T)]<<10|s[k.charCodeAt(T+1)]<<4|s[k.charCodeAt(T+2)]>>2,M[g++]=A>>8&255,M[g++]=A&255),M}function b(k){return o[k>>18&63]+o[k>>12&63]+o[k>>6&63]+o[k&63]}function p(k,A,L){for(var _,C=[],M=A;M<L;M+=3)_=(k[M]<<16&16711680)+(k[M+1]<<8&65280)+(k[M+2]&255),C.push(b(_));return C.join(\"\")}function E(k){for(var A,L=k.length,_=L%3,C=[],M=16383,g=0,P=L-_;g<P;g+=M)C.push(p(k,g,g+M>P?P:g+M));return _===1?(A=k[L-1],C.push(o[A>>2]+o[A<<4&63]+\"==\")):_===2&&(A=(k[L-2]<<8)+k[L-1],C.push(o[A>>10]+o[A>>4&63]+o[A<<2&63]+\"=\")),C.join(\"\")}},3865:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]).add(c[0].mul(u[1])),u[1].mul(c[1]))}},1318:function(i){\"use strict\";i.exports=a;function a(o,s){return o[0].mul(s[1]).cmp(s[0].mul(o[1]))}},8697:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]),u[1].mul(c[0]))}},7842:function(i,a,o){\"use strict\";var s=o(6330),l=o(1533),u=o(2651),c=o(6768),f=o(869),h=o(8697);i.exports=d;function d(v,x){if(s(v))return x?h(v,d(x)):[v[0].clone(),v[1].clone()];var b=0,p,E;if(l(v))p=v.clone();else if(typeof v==\"string\")p=c(v);else{if(v===0)return[u(0),u(1)];if(v===Math.floor(v))p=u(v);else{for(;v!==Math.floor(v);)v=v*Math.pow(2,256),b-=256;p=u(v)}}if(s(x))p.mul(x[1]),E=x[0].clone();else if(l(x))E=x.clone();else if(typeof x==\"string\")E=c(x);else if(!x)E=u(1);else if(x===Math.floor(x))E=u(x);else{for(;x!==Math.floor(x);)x=x*Math.pow(2,256),b+=256;E=u(x)}return b>0?p=p.ushln(b):b<0&&(E=E.ushln(-b)),f(p,E)}},6330:function(i,a,o){\"use strict\";var s=o(1533);i.exports=l;function l(u){return Array.isArray(u)&&u.length===2&&s(u[0])&&s(u[1])}},5716:function(i,a,o){\"use strict\";var s=o(6859);i.exports=l;function l(u){return u.cmp(new s(0))}},1369:function(i,a,o){\"use strict\";var s=o(5716);i.exports=l;function l(u){var c=u.length,f=u.words,h=0;if(c===1)h=f[0];else if(c===2)h=f[0]+f[1]*67108864;else for(var d=0;d<c;d++){var v=f[d];h+=v*Math.pow(67108864,d)}return s(u)*h}},4025:function(i,a,o){\"use strict\";var s=o(2361),l=o(8828).countTrailingZeros;i.exports=u;function u(c){var f=l(s.lo(c));if(f<32)return f;var h=l(s.hi(c));return h>20?52:h+32}},1533:function(i,a,o){\"use strict\";var s=o(6859);i.exports=l;function l(u){return u&&typeof u==\"object\"&&!!u.words}},2651:function(i,a,o){\"use strict\";var s=o(6859),l=o(2361);i.exports=u;function u(c){var f=l.exponent(c);return f<52?new s(c):new s(c*Math.pow(2,52-f)).ushln(f-52)}},869:function(i,a,o){\"use strict\";var s=o(2651),l=o(5716);i.exports=u;function u(c,f){var h=l(c),d=l(f);if(h===0)return[s(0),s(1)];if(d===0)return[s(0),s(0)];d<0&&(c=c.neg(),f=f.neg());var v=c.gcd(f);return v.cmpn(1)?[c.div(v),f.div(v)]:[c,f]}},6768:function(i,a,o){\"use strict\";var s=o(6859);i.exports=l;function l(u){return new s(u)}},6504:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[0]),u[1].mul(c[1]))}},7721:function(i,a,o){\"use strict\";var s=o(5716);i.exports=l;function l(u){return s(u[0])*s(u[1])}},5572:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]).sub(u[1].mul(c[0])),u[1].mul(c[1]))}},946:function(i,a,o){\"use strict\";var s=o(1369),l=o(4025);i.exports=u;function u(c){var f=c[0],h=c[1];if(f.cmpn(0)===0)return 0;var d=f.abs().divmod(h.abs()),v=d.div,x=s(v),b=d.mod,p=f.negative!==h.negative?-1:1;if(b.cmpn(0)===0)return p*x;if(x){var E=l(x)+4,k=s(b.ushln(E).divRound(h));return p*(x+k*Math.pow(2,-E))}else{var A=h.bitLength()-b.bitLength()+53,k=s(b.ushln(A).divRound(h));return A<1023?p*k*Math.pow(2,-A):(k*=Math.pow(2,-1023),p*k*Math.pow(2,1023-A))}}},2478:function(i){\"use strict\";function a(f,h,d,v,x){for(var b=x+1;v<=x;){var p=v+x>>>1,E=f[p],k=d!==void 0?d(E,h):E-h;k>=0?(b=p,x=p-1):v=p+1}return b}function o(f,h,d,v,x){for(var b=x+1;v<=x;){var p=v+x>>>1,E=f[p],k=d!==void 0?d(E,h):E-h;k>0?(b=p,x=p-1):v=p+1}return b}function s(f,h,d,v,x){for(var b=v-1;v<=x;){var p=v+x>>>1,E=f[p],k=d!==void 0?d(E,h):E-h;k<0?(b=p,v=p+1):x=p-1}return b}function l(f,h,d,v,x){for(var b=v-1;v<=x;){var p=v+x>>>1,E=f[p],k=d!==void 0?d(E,h):E-h;k<=0?(b=p,v=p+1):x=p-1}return b}function u(f,h,d,v,x){for(;v<=x;){var b=v+x>>>1,p=f[b],E=d!==void 0?d(p,h):p-h;if(E===0)return b;E<=0?v=b+1:x=b-1}return-1}function c(f,h,d,v,x,b){return typeof d==\"function\"?b(f,h,d,v===void 0?0:v|0,x===void 0?f.length-1:x|0):b(f,h,void 0,d===void 0?0:d|0,v===void 0?f.length-1:v|0)}i.exports={ge:function(f,h,d,v,x){return c(f,h,d,v,x,a)},gt:function(f,h,d,v,x){return c(f,h,d,v,x,o)},lt:function(f,h,d,v,x){return c(f,h,d,v,x,s)},le:function(f,h,d,v,x){return c(f,h,d,v,x,l)},eq:function(f,h,d,v,x){return c(f,h,d,v,x,u)}}},8828:function(i,a){\"use strict\";\"use restrict\";var o=32;a.INT_BITS=o,a.INT_MAX=2147483647,a.INT_MIN=-1<<o-1,a.sign=function(u){return(u>0)-(u<0)},a.abs=function(u){var c=u>>o-1;return(u^c)-c},a.min=function(u,c){return c^(u^c)&-(u<c)},a.max=function(u,c){return u^(u^c)&-(u<c)},a.isPow2=function(u){return!(u&u-1)&&!!u},a.log2=function(u){var c,f;return c=(u>65535)<<4,u>>>=c,f=(u>255)<<3,u>>>=f,c|=f,f=(u>15)<<2,u>>>=f,c|=f,f=(u>3)<<1,u>>>=f,c|=f,c|u>>1},a.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},a.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var c=32;return u&=-u,u&&c--,u&65535&&(c-=16),u&16711935&&(c-=8),u&252645135&&(c-=4),u&858993459&&(c-=2),u&1431655765&&(c-=1),c}a.countTrailingZeros=s,a.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},a.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},a.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var c=0;c<256;++c){var f=c,h=c,d=7;for(f>>>=1;f;f>>>=1)h<<=1,h|=f&1,--d;u[c]=h<<d&255}})(l),a.reverse=function(u){return l[u&255]<<24|l[u>>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},a.interleave2=function(u,c){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,c&=65535,c=(c|c<<8)&16711935,c=(c|c<<4)&252645135,c=(c|c<<2)&858993459,c=(c|c<<1)&1431655765,u|c<<1},a.deinterleave2=function(u,c){return u=u>>>c&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},a.interleave3=function(u,c,f){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|=c<<1,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|f<<2},a.deinterleave3=function(u,c){return u=u>>>c&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},a.nextCombination=function(u){var c=u|u-1;return c+1|(~c&-~c)-1>>>s(u)+1}},6859:function(i,a,o){i=o.nmd(i),function(s,l){\"use strict\";function u(G,N){if(!G)throw new Error(N||\"Assertion failed\")}function c(G,N){G.super_=N;var W=function(){};W.prototype=N.prototype,G.prototype=new W,G.prototype.constructor=G}function f(G,N,W){if(f.isBN(G))return G;this.negative=0,this.words=null,this.length=0,this.red=null,G!==null&&((N===\"le\"||N===\"be\")&&(W=N,N=10),this._init(G||0,N||10,W||\"be\"))}typeof s==\"object\"?s.exports=f:l.BN=f,f.BN=f,f.wordSize=26;var h;try{typeof window!=\"undefined\"&&typeof window.Buffer!=\"undefined\"?h=window.Buffer:h=o(7790).Buffer}catch(G){}f.isBN=function(N){return N instanceof f?!0:N!==null&&typeof N==\"object\"&&N.constructor.wordSize===f.wordSize&&Array.isArray(N.words)},f.max=function(N,W){return N.cmp(W)>0?N:W},f.min=function(N,W){return N.cmp(W)<0?N:W},f.prototype._init=function(N,W,re){if(typeof N==\"number\")return this._initNumber(N,W,re);if(typeof N==\"object\")return this._initArray(N,W,re);W===\"hex\"&&(W=16),u(W===(W|0)&&W>=2&&W<=36),N=N.toString().replace(/\\s+/g,\"\");var ae=0;N[0]===\"-\"&&(ae++,this.negative=1),ae<N.length&&(W===16?this._parseHex(N,ae,re):(this._parseBase(N,W,ae),re===\"le\"&&this._initArray(this.toArray(),W,re)))},f.prototype._initNumber=function(N,W,re){N<0&&(this.negative=1,N=-N),N<67108864?(this.words=[N&67108863],this.length=1):N<4503599627370496?(this.words=[N&67108863,N/67108864&67108863],this.length=2):(u(N<9007199254740992),this.words=[N&67108863,N/67108864&67108863,1],this.length=3),re===\"le\"&&this._initArray(this.toArray(),W,re)},f.prototype._initArray=function(N,W,re){if(u(typeof N.length==\"number\"),N.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(N.length/3),this.words=new Array(this.length);for(var ae=0;ae<this.length;ae++)this.words[ae]=0;var _e,Me,ke=0;if(re===\"be\")for(ae=N.length-1,_e=0;ae>=0;ae-=3)Me=N[ae]|N[ae-1]<<8|N[ae-2]<<16,this.words[_e]|=Me<<ke&67108863,this.words[_e+1]=Me>>>26-ke&67108863,ke+=24,ke>=26&&(ke-=26,_e++);else if(re===\"le\")for(ae=0,_e=0;ae<N.length;ae+=3)Me=N[ae]|N[ae+1]<<8|N[ae+2]<<16,this.words[_e]|=Me<<ke&67108863,this.words[_e+1]=Me>>>26-ke&67108863,ke+=24,ke>=26&&(ke-=26,_e++);return this.strip()};function d(G,N){var W=G.charCodeAt(N);return W>=65&&W<=70?W-55:W>=97&&W<=102?W-87:W-48&15}function v(G,N,W){var re=d(G,W);return W-1>=N&&(re|=d(G,W-1)<<4),re}f.prototype._parseHex=function(N,W,re){this.length=Math.ceil((N.length-W)/6),this.words=new Array(this.length);for(var ae=0;ae<this.length;ae++)this.words[ae]=0;var _e=0,Me=0,ke;if(re===\"be\")for(ae=N.length-1;ae>=W;ae-=2)ke=v(N,W,ae)<<_e,this.words[Me]|=ke&67108863,_e>=18?(_e-=18,Me+=1,this.words[Me]|=ke>>>26):_e+=8;else{var ge=N.length-W;for(ae=ge%2===0?W+1:W;ae<N.length;ae+=2)ke=v(N,W,ae)<<_e,this.words[Me]|=ke&67108863,_e>=18?(_e-=18,Me+=1,this.words[Me]|=ke>>>26):_e+=8}this.strip()};function x(G,N,W,re){for(var ae=0,_e=Math.min(G.length,W),Me=N;Me<_e;Me++){var ke=G.charCodeAt(Me)-48;ae*=re,ke>=49?ae+=ke-49+10:ke>=17?ae+=ke-17+10:ae+=ke}return ae}f.prototype._parseBase=function(N,W,re){this.words=[0],this.length=1;for(var ae=0,_e=1;_e<=67108863;_e*=W)ae++;ae--,_e=_e/W|0;for(var Me=N.length-re,ke=Me%ae,ge=Math.min(Me,Me-ke)+re,ie=0,Te=re;Te<ge;Te+=ae)ie=x(N,Te,Te+ae,W),this.imuln(_e),this.words[0]+ie<67108864?this.words[0]+=ie:this._iaddn(ie);if(ke!==0){var Ee=1;for(ie=x(N,Te,N.length,W),Te=0;Te<ke;Te++)Ee*=W;this.imuln(Ee),this.words[0]+ie<67108864?this.words[0]+=ie:this._iaddn(ie)}this.strip()},f.prototype.copy=function(N){N.words=new Array(this.length);for(var W=0;W<this.length;W++)N.words[W]=this.words[W];N.length=this.length,N.negative=this.negative,N.red=this.red},f.prototype.clone=function(){var N=new f(null);return this.copy(N),N},f.prototype._expand=function(N){for(;this.length<N;)this.words[this.length++]=0;return this},f.prototype.strip=function(){for(;this.length>1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},f.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},f.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var b=[\"\",\"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\"],p=[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],E=[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];f.prototype.toString=function(N,W){N=N||10,W=W|0||1;var re;if(N===16||N===\"hex\"){re=\"\";for(var ae=0,_e=0,Me=0;Me<this.length;Me++){var ke=this.words[Me],ge=((ke<<ae|_e)&16777215).toString(16);_e=ke>>>24-ae&16777215,_e!==0||Me!==this.length-1?re=b[6-ge.length]+ge+re:re=ge+re,ae+=2,ae>=26&&(ae-=26,Me--)}for(_e!==0&&(re=_e.toString(16)+re);re.length%W!==0;)re=\"0\"+re;return this.negative!==0&&(re=\"-\"+re),re}if(N===(N|0)&&N>=2&&N<=36){var ie=p[N],Te=E[N];re=\"\";var Ee=this.clone();for(Ee.negative=0;!Ee.isZero();){var Ae=Ee.modn(Te).toString(N);Ee=Ee.idivn(Te),Ee.isZero()?re=Ae+re:re=b[ie-Ae.length]+Ae+re}for(this.isZero()&&(re=\"0\"+re);re.length%W!==0;)re=\"0\"+re;return this.negative!==0&&(re=\"-\"+re),re}u(!1,\"Base should be between 2 and 36\")},f.prototype.toNumber=function(){var N=this.words[0];return this.length===2?N+=this.words[1]*67108864:this.length===3&&this.words[2]===1?N+=4503599627370496+this.words[1]*67108864:this.length>2&&u(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0?-N:N},f.prototype.toJSON=function(){return this.toString(16)},f.prototype.toBuffer=function(N,W){return u(typeof h!=\"undefined\"),this.toArrayLike(h,N,W)},f.prototype.toArray=function(N,W){return this.toArrayLike(Array,N,W)},f.prototype.toArrayLike=function(N,W,re){var ae=this.byteLength(),_e=re||Math.max(1,ae);u(ae<=_e,\"byte array longer than desired length\"),u(_e>0,\"Requested array length <= 0\"),this.strip();var Me=W===\"le\",ke=new N(_e),ge,ie,Te=this.clone();if(Me){for(ie=0;!Te.isZero();ie++)ge=Te.andln(255),Te.iushrn(8),ke[ie]=ge;for(;ie<_e;ie++)ke[ie]=0}else{for(ie=0;ie<_e-ae;ie++)ke[ie]=0;for(ie=0;!Te.isZero();ie++)ge=Te.andln(255),Te.iushrn(8),ke[_e-ie-1]=ge}return ke},Math.clz32?f.prototype._countBits=function(N){return 32-Math.clz32(N)}:f.prototype._countBits=function(N){var W=N,re=0;return W>=4096&&(re+=13,W>>>=13),W>=64&&(re+=7,W>>>=7),W>=8&&(re+=4,W>>>=4),W>=2&&(re+=2,W>>>=2),re+W},f.prototype._zeroBits=function(N){if(N===0)return 26;var W=N,re=0;return W&8191||(re+=13,W>>>=13),W&127||(re+=7,W>>>=7),W&15||(re+=4,W>>>=4),W&3||(re+=2,W>>>=2),W&1||re++,re},f.prototype.bitLength=function(){var N=this.words[this.length-1],W=this._countBits(N);return(this.length-1)*26+W};function k(G){for(var N=new Array(G.bitLength()),W=0;W<N.length;W++){var re=W/26|0,ae=W%26;N[W]=(G.words[re]&1<<ae)>>>ae}return N}f.prototype.zeroBits=function(){if(this.isZero())return 0;for(var N=0,W=0;W<this.length;W++){var re=this._zeroBits(this.words[W]);if(N+=re,re!==26)break}return N},f.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},f.prototype.toTwos=function(N){return this.negative!==0?this.abs().inotn(N).iaddn(1):this.clone()},f.prototype.fromTwos=function(N){return this.testn(N-1)?this.notn(N).iaddn(1).ineg():this.clone()},f.prototype.isNeg=function(){return this.negative!==0},f.prototype.neg=function(){return this.clone().ineg()},f.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},f.prototype.iuor=function(N){for(;this.length<N.length;)this.words[this.length++]=0;for(var W=0;W<N.length;W++)this.words[W]=this.words[W]|N.words[W];return this.strip()},f.prototype.ior=function(N){return u((this.negative|N.negative)===0),this.iuor(N)},f.prototype.or=function(N){return this.length>N.length?this.clone().ior(N):N.clone().ior(this)},f.prototype.uor=function(N){return this.length>N.length?this.clone().iuor(N):N.clone().iuor(this)},f.prototype.iuand=function(N){var W;this.length>N.length?W=N:W=this;for(var re=0;re<W.length;re++)this.words[re]=this.words[re]&N.words[re];return this.length=W.length,this.strip()},f.prototype.iand=function(N){return u((this.negative|N.negative)===0),this.iuand(N)},f.prototype.and=function(N){return this.length>N.length?this.clone().iand(N):N.clone().iand(this)},f.prototype.uand=function(N){return this.length>N.length?this.clone().iuand(N):N.clone().iuand(this)},f.prototype.iuxor=function(N){var W,re;this.length>N.length?(W=this,re=N):(W=N,re=this);for(var ae=0;ae<re.length;ae++)this.words[ae]=W.words[ae]^re.words[ae];if(this!==W)for(;ae<W.length;ae++)this.words[ae]=W.words[ae];return this.length=W.length,this.strip()},f.prototype.ixor=function(N){return u((this.negative|N.negative)===0),this.iuxor(N)},f.prototype.xor=function(N){return this.length>N.length?this.clone().ixor(N):N.clone().ixor(this)},f.prototype.uxor=function(N){return this.length>N.length?this.clone().iuxor(N):N.clone().iuxor(this)},f.prototype.inotn=function(N){u(typeof N==\"number\"&&N>=0);var W=Math.ceil(N/26)|0,re=N%26;this._expand(W),re>0&&W--;for(var ae=0;ae<W;ae++)this.words[ae]=~this.words[ae]&67108863;return re>0&&(this.words[ae]=~this.words[ae]&67108863>>26-re),this.strip()},f.prototype.notn=function(N){return this.clone().inotn(N)},f.prototype.setn=function(N,W){u(typeof N==\"number\"&&N>=0);var re=N/26|0,ae=N%26;return this._expand(re+1),W?this.words[re]=this.words[re]|1<<ae:this.words[re]=this.words[re]&~(1<<ae),this.strip()},f.prototype.iadd=function(N){var W;if(this.negative!==0&&N.negative===0)return this.negative=0,W=this.isub(N),this.negative^=1,this._normSign();if(this.negative===0&&N.negative!==0)return N.negative=0,W=this.isub(N),N.negative=1,W._normSign();var re,ae;this.length>N.length?(re=this,ae=N):(re=N,ae=this);for(var _e=0,Me=0;Me<ae.length;Me++)W=(re.words[Me]|0)+(ae.words[Me]|0)+_e,this.words[Me]=W&67108863,_e=W>>>26;for(;_e!==0&&Me<re.length;Me++)W=(re.words[Me]|0)+_e,this.words[Me]=W&67108863,_e=W>>>26;if(this.length=re.length,_e!==0)this.words[this.length]=_e,this.length++;else if(re!==this)for(;Me<re.length;Me++)this.words[Me]=re.words[Me];return this},f.prototype.add=function(N){var W;return N.negative!==0&&this.negative===0?(N.negative=0,W=this.sub(N),N.negative^=1,W):N.negative===0&&this.negative!==0?(this.negative=0,W=N.sub(this),this.negative=1,W):this.length>N.length?this.clone().iadd(N):N.clone().iadd(this)},f.prototype.isub=function(N){if(N.negative!==0){N.negative=0;var W=this.iadd(N);return N.negative=1,W._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(N),this.negative=1,this._normSign();var re=this.cmp(N);if(re===0)return this.negative=0,this.length=1,this.words[0]=0,this;var ae,_e;re>0?(ae=this,_e=N):(ae=N,_e=this);for(var Me=0,ke=0;ke<_e.length;ke++)W=(ae.words[ke]|0)-(_e.words[ke]|0)+Me,Me=W>>26,this.words[ke]=W&67108863;for(;Me!==0&&ke<ae.length;ke++)W=(ae.words[ke]|0)+Me,Me=W>>26,this.words[ke]=W&67108863;if(Me===0&&ke<ae.length&&ae!==this)for(;ke<ae.length;ke++)this.words[ke]=ae.words[ke];return this.length=Math.max(this.length,ke),ae!==this&&(this.negative=1),this.strip()},f.prototype.sub=function(N){return this.clone().isub(N)};function A(G,N,W){W.negative=N.negative^G.negative;var re=G.length+N.length|0;W.length=re,re=re-1|0;var ae=G.words[0]|0,_e=N.words[0]|0,Me=ae*_e,ke=Me&67108863,ge=Me/67108864|0;W.words[0]=ke;for(var ie=1;ie<re;ie++){for(var Te=ge>>>26,Ee=ge&67108863,Ae=Math.min(ie,N.length-1),ze=Math.max(0,ie-G.length+1);ze<=Ae;ze++){var Ce=ie-ze|0;ae=G.words[Ce]|0,_e=N.words[ze]|0,Me=ae*_e+Ee,Te+=Me/67108864|0,Ee=Me&67108863}W.words[ie]=Ee|0,ge=Te|0}return ge!==0?W.words[ie]=ge|0:W.length--,W.strip()}var L=function(N,W,re){var ae=N.words,_e=W.words,Me=re.words,ke=0,ge,ie,Te,Ee=ae[0]|0,Ae=Ee&8191,ze=Ee>>>13,Ce=ae[1]|0,me=Ce&8191,Re=Ce>>>13,ce=ae[2]|0,Ge=ce&8191,nt=ce>>>13,ct=ae[3]|0,qt=ct&8191,rt=ct>>>13,ot=ae[4]|0,Rt=ot&8191,kt=ot>>>13,Ct=ae[5]|0,Yt=Ct&8191,xr=Ct>>>13,er=ae[6]|0,Ke=er&8191,xt=er>>>13,bt=ae[7]|0,Lt=bt&8191,St=bt>>>13,Et=ae[8]|0,dt=Et&8191,Ht=Et>>>13,$t=ae[9]|0,fr=$t&8191,_r=$t>>>13,Br=_e[0]|0,Or=Br&8191,Nr=Br>>>13,ut=_e[1]|0,Ne=ut&8191,Ye=ut>>>13,Ve=_e[2]|0,Xe=Ve&8191,ht=Ve>>>13,Le=_e[3]|0,xe=Le&8191,Se=Le>>>13,lt=_e[4]|0,Gt=lt&8191,Vt=lt>>>13,ar=_e[5]|0,Qr=ar&8191,ai=ar>>>13,jr=_e[6]|0,ri=jr&8191,bi=jr>>>13,nn=_e[7]|0,Wi=nn&8191,Ni=nn>>>13,_n=_e[8]|0,$i=_n&8191,zn=_n>>>13,Wn=_e[9]|0,It=Wn&8191,ft=Wn>>>13;re.negative=N.negative^W.negative,re.length=19,ge=Math.imul(Ae,Or),ie=Math.imul(Ae,Nr),ie=ie+Math.imul(ze,Or)|0,Te=Math.imul(ze,Nr);var jt=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jt>>>26)|0,jt&=67108863,ge=Math.imul(me,Or),ie=Math.imul(me,Nr),ie=ie+Math.imul(Re,Or)|0,Te=Math.imul(Re,Nr),ge=ge+Math.imul(Ae,Ne)|0,ie=ie+Math.imul(Ae,Ye)|0,ie=ie+Math.imul(ze,Ne)|0,Te=Te+Math.imul(ze,Ye)|0;var Zt=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,ge=Math.imul(Ge,Or),ie=Math.imul(Ge,Nr),ie=ie+Math.imul(nt,Or)|0,Te=Math.imul(nt,Nr),ge=ge+Math.imul(me,Ne)|0,ie=ie+Math.imul(me,Ye)|0,ie=ie+Math.imul(Re,Ne)|0,Te=Te+Math.imul(Re,Ye)|0,ge=ge+Math.imul(Ae,Xe)|0,ie=ie+Math.imul(Ae,ht)|0,ie=ie+Math.imul(ze,Xe)|0,Te=Te+Math.imul(ze,ht)|0;var yr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(yr>>>26)|0,yr&=67108863,ge=Math.imul(qt,Or),ie=Math.imul(qt,Nr),ie=ie+Math.imul(rt,Or)|0,Te=Math.imul(rt,Nr),ge=ge+Math.imul(Ge,Ne)|0,ie=ie+Math.imul(Ge,Ye)|0,ie=ie+Math.imul(nt,Ne)|0,Te=Te+Math.imul(nt,Ye)|0,ge=ge+Math.imul(me,Xe)|0,ie=ie+Math.imul(me,ht)|0,ie=ie+Math.imul(Re,Xe)|0,Te=Te+Math.imul(Re,ht)|0,ge=ge+Math.imul(Ae,xe)|0,ie=ie+Math.imul(Ae,Se)|0,ie=ie+Math.imul(ze,xe)|0,Te=Te+Math.imul(ze,Se)|0;var Fr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Fr>>>26)|0,Fr&=67108863,ge=Math.imul(Rt,Or),ie=Math.imul(Rt,Nr),ie=ie+Math.imul(kt,Or)|0,Te=Math.imul(kt,Nr),ge=ge+Math.imul(qt,Ne)|0,ie=ie+Math.imul(qt,Ye)|0,ie=ie+Math.imul(rt,Ne)|0,Te=Te+Math.imul(rt,Ye)|0,ge=ge+Math.imul(Ge,Xe)|0,ie=ie+Math.imul(Ge,ht)|0,ie=ie+Math.imul(nt,Xe)|0,Te=Te+Math.imul(nt,ht)|0,ge=ge+Math.imul(me,xe)|0,ie=ie+Math.imul(me,Se)|0,ie=ie+Math.imul(Re,xe)|0,Te=Te+Math.imul(Re,Se)|0,ge=ge+Math.imul(Ae,Gt)|0,ie=ie+Math.imul(Ae,Vt)|0,ie=ie+Math.imul(ze,Gt)|0,Te=Te+Math.imul(ze,Vt)|0;var Zr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Zr>>>26)|0,Zr&=67108863,ge=Math.imul(Yt,Or),ie=Math.imul(Yt,Nr),ie=ie+Math.imul(xr,Or)|0,Te=Math.imul(xr,Nr),ge=ge+Math.imul(Rt,Ne)|0,ie=ie+Math.imul(Rt,Ye)|0,ie=ie+Math.imul(kt,Ne)|0,Te=Te+Math.imul(kt,Ye)|0,ge=ge+Math.imul(qt,Xe)|0,ie=ie+Math.imul(qt,ht)|0,ie=ie+Math.imul(rt,Xe)|0,Te=Te+Math.imul(rt,ht)|0,ge=ge+Math.imul(Ge,xe)|0,ie=ie+Math.imul(Ge,Se)|0,ie=ie+Math.imul(nt,xe)|0,Te=Te+Math.imul(nt,Se)|0,ge=ge+Math.imul(me,Gt)|0,ie=ie+Math.imul(me,Vt)|0,ie=ie+Math.imul(Re,Gt)|0,Te=Te+Math.imul(Re,Vt)|0,ge=ge+Math.imul(Ae,Qr)|0,ie=ie+Math.imul(Ae,ai)|0,ie=ie+Math.imul(ze,Qr)|0,Te=Te+Math.imul(ze,ai)|0;var Vr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Vr>>>26)|0,Vr&=67108863,ge=Math.imul(Ke,Or),ie=Math.imul(Ke,Nr),ie=ie+Math.imul(xt,Or)|0,Te=Math.imul(xt,Nr),ge=ge+Math.imul(Yt,Ne)|0,ie=ie+Math.imul(Yt,Ye)|0,ie=ie+Math.imul(xr,Ne)|0,Te=Te+Math.imul(xr,Ye)|0,ge=ge+Math.imul(Rt,Xe)|0,ie=ie+Math.imul(Rt,ht)|0,ie=ie+Math.imul(kt,Xe)|0,Te=Te+Math.imul(kt,ht)|0,ge=ge+Math.imul(qt,xe)|0,ie=ie+Math.imul(qt,Se)|0,ie=ie+Math.imul(rt,xe)|0,Te=Te+Math.imul(rt,Se)|0,ge=ge+Math.imul(Ge,Gt)|0,ie=ie+Math.imul(Ge,Vt)|0,ie=ie+Math.imul(nt,Gt)|0,Te=Te+Math.imul(nt,Vt)|0,ge=ge+Math.imul(me,Qr)|0,ie=ie+Math.imul(me,ai)|0,ie=ie+Math.imul(Re,Qr)|0,Te=Te+Math.imul(Re,ai)|0,ge=ge+Math.imul(Ae,ri)|0,ie=ie+Math.imul(Ae,bi)|0,ie=ie+Math.imul(ze,ri)|0,Te=Te+Math.imul(ze,bi)|0;var gi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(gi>>>26)|0,gi&=67108863,ge=Math.imul(Lt,Or),ie=Math.imul(Lt,Nr),ie=ie+Math.imul(St,Or)|0,Te=Math.imul(St,Nr),ge=ge+Math.imul(Ke,Ne)|0,ie=ie+Math.imul(Ke,Ye)|0,ie=ie+Math.imul(xt,Ne)|0,Te=Te+Math.imul(xt,Ye)|0,ge=ge+Math.imul(Yt,Xe)|0,ie=ie+Math.imul(Yt,ht)|0,ie=ie+Math.imul(xr,Xe)|0,Te=Te+Math.imul(xr,ht)|0,ge=ge+Math.imul(Rt,xe)|0,ie=ie+Math.imul(Rt,Se)|0,ie=ie+Math.imul(kt,xe)|0,Te=Te+Math.imul(kt,Se)|0,ge=ge+Math.imul(qt,Gt)|0,ie=ie+Math.imul(qt,Vt)|0,ie=ie+Math.imul(rt,Gt)|0,Te=Te+Math.imul(rt,Vt)|0,ge=ge+Math.imul(Ge,Qr)|0,ie=ie+Math.imul(Ge,ai)|0,ie=ie+Math.imul(nt,Qr)|0,Te=Te+Math.imul(nt,ai)|0,ge=ge+Math.imul(me,ri)|0,ie=ie+Math.imul(me,bi)|0,ie=ie+Math.imul(Re,ri)|0,Te=Te+Math.imul(Re,bi)|0,ge=ge+Math.imul(Ae,Wi)|0,ie=ie+Math.imul(Ae,Ni)|0,ie=ie+Math.imul(ze,Wi)|0,Te=Te+Math.imul(ze,Ni)|0;var Si=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Si>>>26)|0,Si&=67108863,ge=Math.imul(dt,Or),ie=Math.imul(dt,Nr),ie=ie+Math.imul(Ht,Or)|0,Te=Math.imul(Ht,Nr),ge=ge+Math.imul(Lt,Ne)|0,ie=ie+Math.imul(Lt,Ye)|0,ie=ie+Math.imul(St,Ne)|0,Te=Te+Math.imul(St,Ye)|0,ge=ge+Math.imul(Ke,Xe)|0,ie=ie+Math.imul(Ke,ht)|0,ie=ie+Math.imul(xt,Xe)|0,Te=Te+Math.imul(xt,ht)|0,ge=ge+Math.imul(Yt,xe)|0,ie=ie+Math.imul(Yt,Se)|0,ie=ie+Math.imul(xr,xe)|0,Te=Te+Math.imul(xr,Se)|0,ge=ge+Math.imul(Rt,Gt)|0,ie=ie+Math.imul(Rt,Vt)|0,ie=ie+Math.imul(kt,Gt)|0,Te=Te+Math.imul(kt,Vt)|0,ge=ge+Math.imul(qt,Qr)|0,ie=ie+Math.imul(qt,ai)|0,ie=ie+Math.imul(rt,Qr)|0,Te=Te+Math.imul(rt,ai)|0,ge=ge+Math.imul(Ge,ri)|0,ie=ie+Math.imul(Ge,bi)|0,ie=ie+Math.imul(nt,ri)|0,Te=Te+Math.imul(nt,bi)|0,ge=ge+Math.imul(me,Wi)|0,ie=ie+Math.imul(me,Ni)|0,ie=ie+Math.imul(Re,Wi)|0,Te=Te+Math.imul(Re,Ni)|0,ge=ge+Math.imul(Ae,$i)|0,ie=ie+Math.imul(Ae,zn)|0,ie=ie+Math.imul(ze,$i)|0,Te=Te+Math.imul(ze,zn)|0;var Mi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Mi>>>26)|0,Mi&=67108863,ge=Math.imul(fr,Or),ie=Math.imul(fr,Nr),ie=ie+Math.imul(_r,Or)|0,Te=Math.imul(_r,Nr),ge=ge+Math.imul(dt,Ne)|0,ie=ie+Math.imul(dt,Ye)|0,ie=ie+Math.imul(Ht,Ne)|0,Te=Te+Math.imul(Ht,Ye)|0,ge=ge+Math.imul(Lt,Xe)|0,ie=ie+Math.imul(Lt,ht)|0,ie=ie+Math.imul(St,Xe)|0,Te=Te+Math.imul(St,ht)|0,ge=ge+Math.imul(Ke,xe)|0,ie=ie+Math.imul(Ke,Se)|0,ie=ie+Math.imul(xt,xe)|0,Te=Te+Math.imul(xt,Se)|0,ge=ge+Math.imul(Yt,Gt)|0,ie=ie+Math.imul(Yt,Vt)|0,ie=ie+Math.imul(xr,Gt)|0,Te=Te+Math.imul(xr,Vt)|0,ge=ge+Math.imul(Rt,Qr)|0,ie=ie+Math.imul(Rt,ai)|0,ie=ie+Math.imul(kt,Qr)|0,Te=Te+Math.imul(kt,ai)|0,ge=ge+Math.imul(qt,ri)|0,ie=ie+Math.imul(qt,bi)|0,ie=ie+Math.imul(rt,ri)|0,Te=Te+Math.imul(rt,bi)|0,ge=ge+Math.imul(Ge,Wi)|0,ie=ie+Math.imul(Ge,Ni)|0,ie=ie+Math.imul(nt,Wi)|0,Te=Te+Math.imul(nt,Ni)|0,ge=ge+Math.imul(me,$i)|0,ie=ie+Math.imul(me,zn)|0,ie=ie+Math.imul(Re,$i)|0,Te=Te+Math.imul(Re,zn)|0,ge=ge+Math.imul(Ae,It)|0,ie=ie+Math.imul(Ae,ft)|0,ie=ie+Math.imul(ze,It)|0,Te=Te+Math.imul(ze,ft)|0;var Pi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Pi>>>26)|0,Pi&=67108863,ge=Math.imul(fr,Ne),ie=Math.imul(fr,Ye),ie=ie+Math.imul(_r,Ne)|0,Te=Math.imul(_r,Ye),ge=ge+Math.imul(dt,Xe)|0,ie=ie+Math.imul(dt,ht)|0,ie=ie+Math.imul(Ht,Xe)|0,Te=Te+Math.imul(Ht,ht)|0,ge=ge+Math.imul(Lt,xe)|0,ie=ie+Math.imul(Lt,Se)|0,ie=ie+Math.imul(St,xe)|0,Te=Te+Math.imul(St,Se)|0,ge=ge+Math.imul(Ke,Gt)|0,ie=ie+Math.imul(Ke,Vt)|0,ie=ie+Math.imul(xt,Gt)|0,Te=Te+Math.imul(xt,Vt)|0,ge=ge+Math.imul(Yt,Qr)|0,ie=ie+Math.imul(Yt,ai)|0,ie=ie+Math.imul(xr,Qr)|0,Te=Te+Math.imul(xr,ai)|0,ge=ge+Math.imul(Rt,ri)|0,ie=ie+Math.imul(Rt,bi)|0,ie=ie+Math.imul(kt,ri)|0,Te=Te+Math.imul(kt,bi)|0,ge=ge+Math.imul(qt,Wi)|0,ie=ie+Math.imul(qt,Ni)|0,ie=ie+Math.imul(rt,Wi)|0,Te=Te+Math.imul(rt,Ni)|0,ge=ge+Math.imul(Ge,$i)|0,ie=ie+Math.imul(Ge,zn)|0,ie=ie+Math.imul(nt,$i)|0,Te=Te+Math.imul(nt,zn)|0,ge=ge+Math.imul(me,It)|0,ie=ie+Math.imul(me,ft)|0,ie=ie+Math.imul(Re,It)|0,Te=Te+Math.imul(Re,ft)|0;var Gi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Gi>>>26)|0,Gi&=67108863,ge=Math.imul(fr,Xe),ie=Math.imul(fr,ht),ie=ie+Math.imul(_r,Xe)|0,Te=Math.imul(_r,ht),ge=ge+Math.imul(dt,xe)|0,ie=ie+Math.imul(dt,Se)|0,ie=ie+Math.imul(Ht,xe)|0,Te=Te+Math.imul(Ht,Se)|0,ge=ge+Math.imul(Lt,Gt)|0,ie=ie+Math.imul(Lt,Vt)|0,ie=ie+Math.imul(St,Gt)|0,Te=Te+Math.imul(St,Vt)|0,ge=ge+Math.imul(Ke,Qr)|0,ie=ie+Math.imul(Ke,ai)|0,ie=ie+Math.imul(xt,Qr)|0,Te=Te+Math.imul(xt,ai)|0,ge=ge+Math.imul(Yt,ri)|0,ie=ie+Math.imul(Yt,bi)|0,ie=ie+Math.imul(xr,ri)|0,Te=Te+Math.imul(xr,bi)|0,ge=ge+Math.imul(Rt,Wi)|0,ie=ie+Math.imul(Rt,Ni)|0,ie=ie+Math.imul(kt,Wi)|0,Te=Te+Math.imul(kt,Ni)|0,ge=ge+Math.imul(qt,$i)|0,ie=ie+Math.imul(qt,zn)|0,ie=ie+Math.imul(rt,$i)|0,Te=Te+Math.imul(rt,zn)|0,ge=ge+Math.imul(Ge,It)|0,ie=ie+Math.imul(Ge,ft)|0,ie=ie+Math.imul(nt,It)|0,Te=Te+Math.imul(nt,ft)|0;var Ki=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Ki>>>26)|0,Ki&=67108863,ge=Math.imul(fr,xe),ie=Math.imul(fr,Se),ie=ie+Math.imul(_r,xe)|0,Te=Math.imul(_r,Se),ge=ge+Math.imul(dt,Gt)|0,ie=ie+Math.imul(dt,Vt)|0,ie=ie+Math.imul(Ht,Gt)|0,Te=Te+Math.imul(Ht,Vt)|0,ge=ge+Math.imul(Lt,Qr)|0,ie=ie+Math.imul(Lt,ai)|0,ie=ie+Math.imul(St,Qr)|0,Te=Te+Math.imul(St,ai)|0,ge=ge+Math.imul(Ke,ri)|0,ie=ie+Math.imul(Ke,bi)|0,ie=ie+Math.imul(xt,ri)|0,Te=Te+Math.imul(xt,bi)|0,ge=ge+Math.imul(Yt,Wi)|0,ie=ie+Math.imul(Yt,Ni)|0,ie=ie+Math.imul(xr,Wi)|0,Te=Te+Math.imul(xr,Ni)|0,ge=ge+Math.imul(Rt,$i)|0,ie=ie+Math.imul(Rt,zn)|0,ie=ie+Math.imul(kt,$i)|0,Te=Te+Math.imul(kt,zn)|0,ge=ge+Math.imul(qt,It)|0,ie=ie+Math.imul(qt,ft)|0,ie=ie+Math.imul(rt,It)|0,Te=Te+Math.imul(rt,ft)|0;var ka=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(ka>>>26)|0,ka&=67108863,ge=Math.imul(fr,Gt),ie=Math.imul(fr,Vt),ie=ie+Math.imul(_r,Gt)|0,Te=Math.imul(_r,Vt),ge=ge+Math.imul(dt,Qr)|0,ie=ie+Math.imul(dt,ai)|0,ie=ie+Math.imul(Ht,Qr)|0,Te=Te+Math.imul(Ht,ai)|0,ge=ge+Math.imul(Lt,ri)|0,ie=ie+Math.imul(Lt,bi)|0,ie=ie+Math.imul(St,ri)|0,Te=Te+Math.imul(St,bi)|0,ge=ge+Math.imul(Ke,Wi)|0,ie=ie+Math.imul(Ke,Ni)|0,ie=ie+Math.imul(xt,Wi)|0,Te=Te+Math.imul(xt,Ni)|0,ge=ge+Math.imul(Yt,$i)|0,ie=ie+Math.imul(Yt,zn)|0,ie=ie+Math.imul(xr,$i)|0,Te=Te+Math.imul(xr,zn)|0,ge=ge+Math.imul(Rt,It)|0,ie=ie+Math.imul(Rt,ft)|0,ie=ie+Math.imul(kt,It)|0,Te=Te+Math.imul(kt,ft)|0;var jn=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jn>>>26)|0,jn&=67108863,ge=Math.imul(fr,Qr),ie=Math.imul(fr,ai),ie=ie+Math.imul(_r,Qr)|0,Te=Math.imul(_r,ai),ge=ge+Math.imul(dt,ri)|0,ie=ie+Math.imul(dt,bi)|0,ie=ie+Math.imul(Ht,ri)|0,Te=Te+Math.imul(Ht,bi)|0,ge=ge+Math.imul(Lt,Wi)|0,ie=ie+Math.imul(Lt,Ni)|0,ie=ie+Math.imul(St,Wi)|0,Te=Te+Math.imul(St,Ni)|0,ge=ge+Math.imul(Ke,$i)|0,ie=ie+Math.imul(Ke,zn)|0,ie=ie+Math.imul(xt,$i)|0,Te=Te+Math.imul(xt,zn)|0,ge=ge+Math.imul(Yt,It)|0,ie=ie+Math.imul(Yt,ft)|0,ie=ie+Math.imul(xr,It)|0,Te=Te+Math.imul(xr,ft)|0;var la=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(la>>>26)|0,la&=67108863,ge=Math.imul(fr,ri),ie=Math.imul(fr,bi),ie=ie+Math.imul(_r,ri)|0,Te=Math.imul(_r,bi),ge=ge+Math.imul(dt,Wi)|0,ie=ie+Math.imul(dt,Ni)|0,ie=ie+Math.imul(Ht,Wi)|0,Te=Te+Math.imul(Ht,Ni)|0,ge=ge+Math.imul(Lt,$i)|0,ie=ie+Math.imul(Lt,zn)|0,ie=ie+Math.imul(St,$i)|0,Te=Te+Math.imul(St,zn)|0,ge=ge+Math.imul(Ke,It)|0,ie=ie+Math.imul(Ke,ft)|0,ie=ie+Math.imul(xt,It)|0,Te=Te+Math.imul(xt,ft)|0;var Fa=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Fa>>>26)|0,Fa&=67108863,ge=Math.imul(fr,Wi),ie=Math.imul(fr,Ni),ie=ie+Math.imul(_r,Wi)|0,Te=Math.imul(_r,Ni),ge=ge+Math.imul(dt,$i)|0,ie=ie+Math.imul(dt,zn)|0,ie=ie+Math.imul(Ht,$i)|0,Te=Te+Math.imul(Ht,zn)|0,ge=ge+Math.imul(Lt,It)|0,ie=ie+Math.imul(Lt,ft)|0,ie=ie+Math.imul(St,It)|0,Te=Te+Math.imul(St,ft)|0;var Ra=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Ra>>>26)|0,Ra&=67108863,ge=Math.imul(fr,$i),ie=Math.imul(fr,zn),ie=ie+Math.imul(_r,$i)|0,Te=Math.imul(_r,zn),ge=ge+Math.imul(dt,It)|0,ie=ie+Math.imul(dt,ft)|0,ie=ie+Math.imul(Ht,It)|0,Te=Te+Math.imul(Ht,ft)|0;var jo=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jo>>>26)|0,jo&=67108863,ge=Math.imul(fr,It),ie=Math.imul(fr,ft),ie=ie+Math.imul(_r,It)|0,Te=Math.imul(_r,ft);var oa=(ke+ge|0)+((ie&8191)<<13)|0;return ke=(Te+(ie>>>13)|0)+(oa>>>26)|0,oa&=67108863,Me[0]=jt,Me[1]=Zt,Me[2]=yr,Me[3]=Fr,Me[4]=Zr,Me[5]=Vr,Me[6]=gi,Me[7]=Si,Me[8]=Mi,Me[9]=Pi,Me[10]=Gi,Me[11]=Ki,Me[12]=ka,Me[13]=jn,Me[14]=la,Me[15]=Fa,Me[16]=Ra,Me[17]=jo,Me[18]=oa,ke!==0&&(Me[19]=ke,re.length++),re};Math.imul||(L=A);function _(G,N,W){W.negative=N.negative^G.negative,W.length=G.length+N.length;for(var re=0,ae=0,_e=0;_e<W.length-1;_e++){var Me=ae;ae=0;for(var ke=re&67108863,ge=Math.min(_e,N.length-1),ie=Math.max(0,_e-G.length+1);ie<=ge;ie++){var Te=_e-ie,Ee=G.words[Te]|0,Ae=N.words[ie]|0,ze=Ee*Ae,Ce=ze&67108863;Me=Me+(ze/67108864|0)|0,Ce=Ce+ke|0,ke=Ce&67108863,Me=Me+(Ce>>>26)|0,ae+=Me>>>26,Me&=67108863}W.words[_e]=ke,re=Me,Me=ae}return re!==0?W.words[_e]=re:W.length--,W.strip()}function C(G,N,W){var re=new M;return re.mulp(G,N,W)}f.prototype.mulTo=function(N,W){var re,ae=this.length+N.length;return this.length===10&&N.length===10?re=L(this,N,W):ae<63?re=A(this,N,W):ae<1024?re=_(this,N,W):re=C(this,N,W),re};function M(G,N){this.x=G,this.y=N}M.prototype.makeRBT=function(N){for(var W=new Array(N),re=f.prototype._countBits(N)-1,ae=0;ae<N;ae++)W[ae]=this.revBin(ae,re,N);return W},M.prototype.revBin=function(N,W,re){if(N===0||N===re-1)return N;for(var ae=0,_e=0;_e<W;_e++)ae|=(N&1)<<W-_e-1,N>>=1;return ae},M.prototype.permute=function(N,W,re,ae,_e,Me){for(var ke=0;ke<Me;ke++)ae[ke]=W[N[ke]],_e[ke]=re[N[ke]]},M.prototype.transform=function(N,W,re,ae,_e,Me){this.permute(Me,N,W,re,ae,_e);for(var ke=1;ke<_e;ke<<=1)for(var ge=ke<<1,ie=Math.cos(2*Math.PI/ge),Te=Math.sin(2*Math.PI/ge),Ee=0;Ee<_e;Ee+=ge)for(var Ae=ie,ze=Te,Ce=0;Ce<ke;Ce++){var me=re[Ee+Ce],Re=ae[Ee+Ce],ce=re[Ee+Ce+ke],Ge=ae[Ee+Ce+ke],nt=Ae*ce-ze*Ge;Ge=Ae*Ge+ze*ce,ce=nt,re[Ee+Ce]=me+ce,ae[Ee+Ce]=Re+Ge,re[Ee+Ce+ke]=me-ce,ae[Ee+Ce+ke]=Re-Ge,Ce!==ge&&(nt=ie*Ae-Te*ze,ze=ie*ze+Te*Ae,Ae=nt)}},M.prototype.guessLen13b=function(N,W){var re=Math.max(W,N)|1,ae=re&1,_e=0;for(re=re/2|0;re;re=re>>>1)_e++;return 1<<_e+1+ae},M.prototype.conjugate=function(N,W,re){if(!(re<=1))for(var ae=0;ae<re/2;ae++){var _e=N[ae];N[ae]=N[re-ae-1],N[re-ae-1]=_e,_e=W[ae],W[ae]=-W[re-ae-1],W[re-ae-1]=-_e}},M.prototype.normalize13b=function(N,W){for(var re=0,ae=0;ae<W/2;ae++){var _e=Math.round(N[2*ae+1]/W)*8192+Math.round(N[2*ae]/W)+re;N[ae]=_e&67108863,_e<67108864?re=0:re=_e/67108864|0}return N},M.prototype.convert13b=function(N,W,re,ae){for(var _e=0,Me=0;Me<W;Me++)_e=_e+(N[Me]|0),re[2*Me]=_e&8191,_e=_e>>>13,re[2*Me+1]=_e&8191,_e=_e>>>13;for(Me=2*W;Me<ae;++Me)re[Me]=0;u(_e===0),u((_e&-8192)===0)},M.prototype.stub=function(N){for(var W=new Array(N),re=0;re<N;re++)W[re]=0;return W},M.prototype.mulp=function(N,W,re){var ae=2*this.guessLen13b(N.length,W.length),_e=this.makeRBT(ae),Me=this.stub(ae),ke=new Array(ae),ge=new Array(ae),ie=new Array(ae),Te=new Array(ae),Ee=new Array(ae),Ae=new Array(ae),ze=re.words;ze.length=ae,this.convert13b(N.words,N.length,ke,ae),this.convert13b(W.words,W.length,Te,ae),this.transform(ke,Me,ge,ie,ae,_e),this.transform(Te,Me,Ee,Ae,ae,_e);for(var Ce=0;Ce<ae;Ce++){var me=ge[Ce]*Ee[Ce]-ie[Ce]*Ae[Ce];ie[Ce]=ge[Ce]*Ae[Ce]+ie[Ce]*Ee[Ce],ge[Ce]=me}return this.conjugate(ge,ie,ae),this.transform(ge,ie,ze,Me,ae,_e),this.conjugate(ze,Me,ae),this.normalize13b(ze,ae),re.negative=N.negative^W.negative,re.length=N.length+W.length,re.strip()},f.prototype.mul=function(N){var W=new f(null);return W.words=new Array(this.length+N.length),this.mulTo(N,W)},f.prototype.mulf=function(N){var W=new f(null);return W.words=new Array(this.length+N.length),C(this,N,W)},f.prototype.imul=function(N){return this.clone().mulTo(N,this)},f.prototype.imuln=function(N){u(typeof N==\"number\"),u(N<67108864);for(var W=0,re=0;re<this.length;re++){var ae=(this.words[re]|0)*N,_e=(ae&67108863)+(W&67108863);W>>=26,W+=ae/67108864|0,W+=_e>>>26,this.words[re]=_e&67108863}return W!==0&&(this.words[re]=W,this.length++),this},f.prototype.muln=function(N){return this.clone().imuln(N)},f.prototype.sqr=function(){return this.mul(this)},f.prototype.isqr=function(){return this.imul(this.clone())},f.prototype.pow=function(N){var W=k(N);if(W.length===0)return new f(1);for(var re=this,ae=0;ae<W.length&&W[ae]===0;ae++,re=re.sqr());if(++ae<W.length)for(var _e=re.sqr();ae<W.length;ae++,_e=_e.sqr())W[ae]!==0&&(re=re.mul(_e));return re},f.prototype.iushln=function(N){u(typeof N==\"number\"&&N>=0);var W=N%26,re=(N-W)/26,ae=67108863>>>26-W<<26-W,_e;if(W!==0){var Me=0;for(_e=0;_e<this.length;_e++){var ke=this.words[_e]&ae,ge=(this.words[_e]|0)-ke<<W;this.words[_e]=ge|Me,Me=ke>>>26-W}Me&&(this.words[_e]=Me,this.length++)}if(re!==0){for(_e=this.length-1;_e>=0;_e--)this.words[_e+re]=this.words[_e];for(_e=0;_e<re;_e++)this.words[_e]=0;this.length+=re}return this.strip()},f.prototype.ishln=function(N){return u(this.negative===0),this.iushln(N)},f.prototype.iushrn=function(N,W,re){u(typeof N==\"number\"&&N>=0);var ae;W?ae=(W-W%26)/26:ae=0;var _e=N%26,Me=Math.min((N-_e)/26,this.length),ke=67108863^67108863>>>_e<<_e,ge=re;if(ae-=Me,ae=Math.max(0,ae),ge){for(var ie=0;ie<Me;ie++)ge.words[ie]=this.words[ie];ge.length=Me}if(Me!==0)if(this.length>Me)for(this.length-=Me,ie=0;ie<this.length;ie++)this.words[ie]=this.words[ie+Me];else this.words[0]=0,this.length=1;var Te=0;for(ie=this.length-1;ie>=0&&(Te!==0||ie>=ae);ie--){var Ee=this.words[ie]|0;this.words[ie]=Te<<26-_e|Ee>>>_e,Te=Ee&ke}return ge&&Te!==0&&(ge.words[ge.length++]=Te),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},f.prototype.ishrn=function(N,W,re){return u(this.negative===0),this.iushrn(N,W,re)},f.prototype.shln=function(N){return this.clone().ishln(N)},f.prototype.ushln=function(N){return this.clone().iushln(N)},f.prototype.shrn=function(N){return this.clone().ishrn(N)},f.prototype.ushrn=function(N){return this.clone().iushrn(N)},f.prototype.testn=function(N){u(typeof N==\"number\"&&N>=0);var W=N%26,re=(N-W)/26,ae=1<<W;if(this.length<=re)return!1;var _e=this.words[re];return!!(_e&ae)},f.prototype.imaskn=function(N){u(typeof N==\"number\"&&N>=0);var W=N%26,re=(N-W)/26;if(u(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=re)return this;if(W!==0&&re++,this.length=Math.min(re,this.length),W!==0){var ae=67108863^67108863>>>W<<W;this.words[this.length-1]&=ae}return this.strip()},f.prototype.maskn=function(N){return this.clone().imaskn(N)},f.prototype.iaddn=function(N){return u(typeof N==\"number\"),u(N<67108864),N<0?this.isubn(-N):this.negative!==0?this.length===1&&(this.words[0]|0)<N?(this.words[0]=N-(this.words[0]|0),this.negative=0,this):(this.negative=0,this.isubn(N),this.negative=1,this):this._iaddn(N)},f.prototype._iaddn=function(N){this.words[0]+=N;for(var W=0;W<this.length&&this.words[W]>=67108864;W++)this.words[W]-=67108864,W===this.length-1?this.words[W+1]=1:this.words[W+1]++;return this.length=Math.max(this.length,W+1),this},f.prototype.isubn=function(N){if(u(typeof N==\"number\"),u(N<67108864),N<0)return this.iaddn(-N);if(this.negative!==0)return this.negative=0,this.iaddn(N),this.negative=1,this;if(this.words[0]-=N,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var W=0;W<this.length&&this.words[W]<0;W++)this.words[W]+=67108864,this.words[W+1]-=1;return this.strip()},f.prototype.addn=function(N){return this.clone().iaddn(N)},f.prototype.subn=function(N){return this.clone().isubn(N)},f.prototype.iabs=function(){return this.negative=0,this},f.prototype.abs=function(){return this.clone().iabs()},f.prototype._ishlnsubmul=function(N,W,re){var ae=N.length+re,_e;this._expand(ae);var Me,ke=0;for(_e=0;_e<N.length;_e++){Me=(this.words[_e+re]|0)+ke;var ge=(N.words[_e]|0)*W;Me-=ge&67108863,ke=(Me>>26)-(ge/67108864|0),this.words[_e+re]=Me&67108863}for(;_e<this.length-re;_e++)Me=(this.words[_e+re]|0)+ke,ke=Me>>26,this.words[_e+re]=Me&67108863;if(ke===0)return this.strip();for(u(ke===-1),ke=0,_e=0;_e<this.length;_e++)Me=-(this.words[_e]|0)+ke,ke=Me>>26,this.words[_e]=Me&67108863;return this.negative=1,this.strip()},f.prototype._wordDiv=function(N,W){var re=this.length-N.length,ae=this.clone(),_e=N,Me=_e.words[_e.length-1]|0,ke=this._countBits(Me);re=26-ke,re!==0&&(_e=_e.ushln(re),ae.iushln(re),Me=_e.words[_e.length-1]|0);var ge=ae.length-_e.length,ie;if(W!==\"mod\"){ie=new f(null),ie.length=ge+1,ie.words=new Array(ie.length);for(var Te=0;Te<ie.length;Te++)ie.words[Te]=0}var Ee=ae.clone()._ishlnsubmul(_e,1,ge);Ee.negative===0&&(ae=Ee,ie&&(ie.words[ge]=1));for(var Ae=ge-1;Ae>=0;Ae--){var ze=(ae.words[_e.length+Ae]|0)*67108864+(ae.words[_e.length+Ae-1]|0);for(ze=Math.min(ze/Me|0,67108863),ae._ishlnsubmul(_e,ze,Ae);ae.negative!==0;)ze--,ae.negative=0,ae._ishlnsubmul(_e,1,Ae),ae.isZero()||(ae.negative^=1);ie&&(ie.words[Ae]=ze)}return ie&&ie.strip(),ae.strip(),W!==\"div\"&&re!==0&&ae.iushrn(re),{div:ie||null,mod:ae}},f.prototype.divmod=function(N,W,re){if(u(!N.isZero()),this.isZero())return{div:new f(0),mod:new f(0)};var ae,_e,Me;return this.negative!==0&&N.negative===0?(Me=this.neg().divmod(N,W),W!==\"mod\"&&(ae=Me.div.neg()),W!==\"div\"&&(_e=Me.mod.neg(),re&&_e.negative!==0&&_e.iadd(N)),{div:ae,mod:_e}):this.negative===0&&N.negative!==0?(Me=this.divmod(N.neg(),W),W!==\"mod\"&&(ae=Me.div.neg()),{div:ae,mod:Me.mod}):this.negative&N.negative?(Me=this.neg().divmod(N.neg(),W),W!==\"div\"&&(_e=Me.mod.neg(),re&&_e.negative!==0&&_e.isub(N)),{div:Me.div,mod:_e}):N.length>this.length||this.cmp(N)<0?{div:new f(0),mod:this}:N.length===1?W===\"div\"?{div:this.divn(N.words[0]),mod:null}:W===\"mod\"?{div:null,mod:new f(this.modn(N.words[0]))}:{div:this.divn(N.words[0]),mod:new f(this.modn(N.words[0]))}:this._wordDiv(N,W)},f.prototype.div=function(N){return this.divmod(N,\"div\",!1).div},f.prototype.mod=function(N){return this.divmod(N,\"mod\",!1).mod},f.prototype.umod=function(N){return this.divmod(N,\"mod\",!0).mod},f.prototype.divRound=function(N){var W=this.divmod(N);if(W.mod.isZero())return W.div;var re=W.div.negative!==0?W.mod.isub(N):W.mod,ae=N.ushrn(1),_e=N.andln(1),Me=re.cmp(ae);return Me<0||_e===1&&Me===0?W.div:W.div.negative!==0?W.div.isubn(1):W.div.iaddn(1)},f.prototype.modn=function(N){u(N<=67108863);for(var W=(1<<26)%N,re=0,ae=this.length-1;ae>=0;ae--)re=(W*re+(this.words[ae]|0))%N;return re},f.prototype.idivn=function(N){u(N<=67108863);for(var W=0,re=this.length-1;re>=0;re--){var ae=(this.words[re]|0)+W*67108864;this.words[re]=ae/N|0,W=ae%N}return this.strip()},f.prototype.divn=function(N){return this.clone().idivn(N)},f.prototype.egcd=function(N){u(N.negative===0),u(!N.isZero());var W=this,re=N.clone();W.negative!==0?W=W.umod(N):W=W.clone();for(var ae=new f(1),_e=new f(0),Me=new f(0),ke=new f(1),ge=0;W.isEven()&&re.isEven();)W.iushrn(1),re.iushrn(1),++ge;for(var ie=re.clone(),Te=W.clone();!W.isZero();){for(var Ee=0,Ae=1;!(W.words[0]&Ae)&&Ee<26;++Ee,Ae<<=1);if(Ee>0)for(W.iushrn(Ee);Ee-- >0;)(ae.isOdd()||_e.isOdd())&&(ae.iadd(ie),_e.isub(Te)),ae.iushrn(1),_e.iushrn(1);for(var ze=0,Ce=1;!(re.words[0]&Ce)&&ze<26;++ze,Ce<<=1);if(ze>0)for(re.iushrn(ze);ze-- >0;)(Me.isOdd()||ke.isOdd())&&(Me.iadd(ie),ke.isub(Te)),Me.iushrn(1),ke.iushrn(1);W.cmp(re)>=0?(W.isub(re),ae.isub(Me),_e.isub(ke)):(re.isub(W),Me.isub(ae),ke.isub(_e))}return{a:Me,b:ke,gcd:re.iushln(ge)}},f.prototype._invmp=function(N){u(N.negative===0),u(!N.isZero());var W=this,re=N.clone();W.negative!==0?W=W.umod(N):W=W.clone();for(var ae=new f(1),_e=new f(0),Me=re.clone();W.cmpn(1)>0&&re.cmpn(1)>0;){for(var ke=0,ge=1;!(W.words[0]&ge)&&ke<26;++ke,ge<<=1);if(ke>0)for(W.iushrn(ke);ke-- >0;)ae.isOdd()&&ae.iadd(Me),ae.iushrn(1);for(var ie=0,Te=1;!(re.words[0]&Te)&&ie<26;++ie,Te<<=1);if(ie>0)for(re.iushrn(ie);ie-- >0;)_e.isOdd()&&_e.iadd(Me),_e.iushrn(1);W.cmp(re)>=0?(W.isub(re),ae.isub(_e)):(re.isub(W),_e.isub(ae))}var Ee;return W.cmpn(1)===0?Ee=ae:Ee=_e,Ee.cmpn(0)<0&&Ee.iadd(N),Ee},f.prototype.gcd=function(N){if(this.isZero())return N.abs();if(N.isZero())return this.abs();var W=this.clone(),re=N.clone();W.negative=0,re.negative=0;for(var ae=0;W.isEven()&&re.isEven();ae++)W.iushrn(1),re.iushrn(1);do{for(;W.isEven();)W.iushrn(1);for(;re.isEven();)re.iushrn(1);var _e=W.cmp(re);if(_e<0){var Me=W;W=re,re=Me}else if(_e===0||re.cmpn(1)===0)break;W.isub(re)}while(!0);return re.iushln(ae)},f.prototype.invm=function(N){return this.egcd(N).a.umod(N)},f.prototype.isEven=function(){return(this.words[0]&1)===0},f.prototype.isOdd=function(){return(this.words[0]&1)===1},f.prototype.andln=function(N){return this.words[0]&N},f.prototype.bincn=function(N){u(typeof N==\"number\");var W=N%26,re=(N-W)/26,ae=1<<W;if(this.length<=re)return this._expand(re+1),this.words[re]|=ae,this;for(var _e=ae,Me=re;_e!==0&&Me<this.length;Me++){var ke=this.words[Me]|0;ke+=_e,_e=ke>>>26,ke&=67108863,this.words[Me]=ke}return _e!==0&&(this.words[Me]=_e,this.length++),this},f.prototype.isZero=function(){return this.length===1&&this.words[0]===0},f.prototype.cmpn=function(N){var W=N<0;if(this.negative!==0&&!W)return-1;if(this.negative===0&&W)return 1;this.strip();var re;if(this.length>1)re=1;else{W&&(N=-N),u(N<=67108863,\"Number is too big\");var ae=this.words[0]|0;re=ae===N?0:ae<N?-1:1}return this.negative!==0?-re|0:re},f.prototype.cmp=function(N){if(this.negative!==0&&N.negative===0)return-1;if(this.negative===0&&N.negative!==0)return 1;var W=this.ucmp(N);return this.negative!==0?-W|0:W},f.prototype.ucmp=function(N){if(this.length>N.length)return 1;if(this.length<N.length)return-1;for(var W=0,re=this.length-1;re>=0;re--){var ae=this.words[re]|0,_e=N.words[re]|0;if(ae!==_e){ae<_e?W=-1:ae>_e&&(W=1);break}}return W},f.prototype.gtn=function(N){return this.cmpn(N)===1},f.prototype.gt=function(N){return this.cmp(N)===1},f.prototype.gten=function(N){return this.cmpn(N)>=0},f.prototype.gte=function(N){return this.cmp(N)>=0},f.prototype.ltn=function(N){return this.cmpn(N)===-1},f.prototype.lt=function(N){return this.cmp(N)===-1},f.prototype.lten=function(N){return this.cmpn(N)<=0},f.prototype.lte=function(N){return this.cmp(N)<=0},f.prototype.eqn=function(N){return this.cmpn(N)===0},f.prototype.eq=function(N){return this.cmp(N)===0},f.red=function(N){return new H(N)},f.prototype.toRed=function(N){return u(!this.red,\"Already a number in reduction context\"),u(this.negative===0,\"red works only with positives\"),N.convertTo(this)._forceRed(N)},f.prototype.fromRed=function(){return u(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},f.prototype._forceRed=function(N){return this.red=N,this},f.prototype.forceRed=function(N){return u(!this.red,\"Already a number in reduction context\"),this._forceRed(N)},f.prototype.redAdd=function(N){return u(this.red,\"redAdd works only with red numbers\"),this.red.add(this,N)},f.prototype.redIAdd=function(N){return u(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,N)},f.prototype.redSub=function(N){return u(this.red,\"redSub works only with red numbers\"),this.red.sub(this,N)},f.prototype.redISub=function(N){return u(this.red,\"redISub works only with red numbers\"),this.red.isub(this,N)},f.prototype.redShl=function(N){return u(this.red,\"redShl works only with red numbers\"),this.red.shl(this,N)},f.prototype.redMul=function(N){return u(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,N),this.red.mul(this,N)},f.prototype.redIMul=function(N){return u(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,N),this.red.imul(this,N)},f.prototype.redSqr=function(){return u(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},f.prototype.redISqr=function(){return u(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},f.prototype.redSqrt=function(){return u(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},f.prototype.redInvm=function(){return u(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},f.prototype.redNeg=function(){return u(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},f.prototype.redPow=function(N){return u(this.red&&!N.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,N)};var g={k256:null,p224:null,p192:null,p25519:null};function P(G,N){this.name=G,this.p=new f(N,16),this.n=this.p.bitLength(),this.k=new f(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}P.prototype._tmp=function(){var N=new f(null);return N.words=new Array(Math.ceil(this.n/13)),N},P.prototype.ireduce=function(N){var W=N,re;do this.split(W,this.tmp),W=this.imulK(W),W=W.iadd(this.tmp),re=W.bitLength();while(re>this.n);var ae=re<this.n?-1:W.ucmp(this.p);return ae===0?(W.words[0]=0,W.length=1):ae>0?W.isub(this.p):W.strip!==void 0?W.strip():W._strip(),W},P.prototype.split=function(N,W){N.iushrn(this.n,0,W)},P.prototype.imulK=function(N){return N.imul(this.k)};function T(){P.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}c(T,P),T.prototype.split=function(N,W){for(var re=4194303,ae=Math.min(N.length,9),_e=0;_e<ae;_e++)W.words[_e]=N.words[_e];if(W.length=ae,N.length<=9){N.words[0]=0,N.length=1;return}var Me=N.words[9];for(W.words[W.length++]=Me&re,_e=10;_e<N.length;_e++){var ke=N.words[_e]|0;N.words[_e-10]=(ke&re)<<4|Me>>>22,Me=ke}Me>>>=22,N.words[_e-10]=Me,Me===0&&N.length>10?N.length-=10:N.length-=9},T.prototype.imulK=function(N){N.words[N.length]=0,N.words[N.length+1]=0,N.length+=2;for(var W=0,re=0;re<N.length;re++){var ae=N.words[re]|0;W+=ae*977,N.words[re]=W&67108863,W=ae*64+(W/67108864|0)}return N.words[N.length-1]===0&&(N.length--,N.words[N.length-1]===0&&N.length--),N};function F(){P.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}c(F,P);function q(){P.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}c(q,P);function V(){P.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}c(V,P),V.prototype.imulK=function(N){for(var W=0,re=0;re<N.length;re++){var ae=(N.words[re]|0)*19+W,_e=ae&67108863;ae>>>=26,N.words[re]=_e,W=ae}return W!==0&&(N.words[N.length++]=W),N},f._prime=function(N){if(g[N])return g[N];var W;if(N===\"k256\")W=new T;else if(N===\"p224\")W=new F;else if(N===\"p192\")W=new q;else if(N===\"p25519\")W=new V;else throw new Error(\"Unknown prime \"+N);return g[N]=W,W};function H(G){if(typeof G==\"string\"){var N=f._prime(G);this.m=N.p,this.prime=N}else u(G.gtn(1),\"modulus must be greater than 1\"),this.m=G,this.prime=null}H.prototype._verify1=function(N){u(N.negative===0,\"red works only with positives\"),u(N.red,\"red works only with red numbers\")},H.prototype._verify2=function(N,W){u((N.negative|W.negative)===0,\"red works only with positives\"),u(N.red&&N.red===W.red,\"red works only with red numbers\")},H.prototype.imod=function(N){return this.prime?this.prime.ireduce(N)._forceRed(this):N.umod(this.m)._forceRed(this)},H.prototype.neg=function(N){return N.isZero()?N.clone():this.m.sub(N)._forceRed(this)},H.prototype.add=function(N,W){this._verify2(N,W);var re=N.add(W);return re.cmp(this.m)>=0&&re.isub(this.m),re._forceRed(this)},H.prototype.iadd=function(N,W){this._verify2(N,W);var re=N.iadd(W);return re.cmp(this.m)>=0&&re.isub(this.m),re},H.prototype.sub=function(N,W){this._verify2(N,W);var re=N.sub(W);return re.cmpn(0)<0&&re.iadd(this.m),re._forceRed(this)},H.prototype.isub=function(N,W){this._verify2(N,W);var re=N.isub(W);return re.cmpn(0)<0&&re.iadd(this.m),re},H.prototype.shl=function(N,W){return this._verify1(N),this.imod(N.ushln(W))},H.prototype.imul=function(N,W){return this._verify2(N,W),this.imod(N.imul(W))},H.prototype.mul=function(N,W){return this._verify2(N,W),this.imod(N.mul(W))},H.prototype.isqr=function(N){return this.imul(N,N.clone())},H.prototype.sqr=function(N){return this.mul(N,N)},H.prototype.sqrt=function(N){if(N.isZero())return N.clone();var W=this.m.andln(3);if(u(W%2===1),W===3){var re=this.m.add(new f(1)).iushrn(2);return this.pow(N,re)}for(var ae=this.m.subn(1),_e=0;!ae.isZero()&&ae.andln(1)===0;)_e++,ae.iushrn(1);u(!ae.isZero());var Me=new f(1).toRed(this),ke=Me.redNeg(),ge=this.m.subn(1).iushrn(1),ie=this.m.bitLength();for(ie=new f(2*ie*ie).toRed(this);this.pow(ie,ge).cmp(ke)!==0;)ie.redIAdd(ke);for(var Te=this.pow(ie,ae),Ee=this.pow(N,ae.addn(1).iushrn(1)),Ae=this.pow(N,ae),ze=_e;Ae.cmp(Me)!==0;){for(var Ce=Ae,me=0;Ce.cmp(Me)!==0;me++)Ce=Ce.redSqr();u(me<ze);var Re=this.pow(Te,new f(1).iushln(ze-me-1));Ee=Ee.redMul(Re),Te=Re.redSqr(),Ae=Ae.redMul(Te),ze=me}return Ee},H.prototype.invm=function(N){var W=N._invmp(this.m);return W.negative!==0?(W.negative=0,this.imod(W).redNeg()):this.imod(W)},H.prototype.pow=function(N,W){if(W.isZero())return new f(1).toRed(this);if(W.cmpn(1)===0)return N.clone();var re=4,ae=new Array(1<<re);ae[0]=new f(1).toRed(this),ae[1]=N;for(var _e=2;_e<ae.length;_e++)ae[_e]=this.mul(ae[_e-1],N);var Me=ae[0],ke=0,ge=0,ie=W.bitLength()%26;for(ie===0&&(ie=26),_e=W.length-1;_e>=0;_e--){for(var Te=W.words[_e],Ee=ie-1;Ee>=0;Ee--){var Ae=Te>>Ee&1;if(Me!==ae[0]&&(Me=this.sqr(Me)),Ae===0&&ke===0){ge=0;continue}ke<<=1,ke|=Ae,ge++,!(ge!==re&&(_e!==0||Ee!==0))&&(Me=this.mul(Me,ae[ke]),ge=0,ke=0)}ie=26}return Me},H.prototype.convertTo=function(N){var W=N.umod(this.m);return W===N?W.clone():W},H.prototype.convertFrom=function(N){var W=N.clone();return W.red=null,W},f.mont=function(N){return new X(N)};function X(G){H.call(this,G),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new f(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)}c(X,H),X.prototype.convertTo=function(N){return this.imod(N.ushln(this.shift))},X.prototype.convertFrom=function(N){var W=this.imod(N.mul(this.rinv));return W.red=null,W},X.prototype.imul=function(N,W){if(N.isZero()||W.isZero())return N.words[0]=0,N.length=1,N;var re=N.imul(W),ae=re.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_e=re.isub(ae).iushrn(this.shift),Me=_e;return _e.cmp(this.m)>=0?Me=_e.isub(this.m):_e.cmpn(0)<0&&(Me=_e.iadd(this.m)),Me._forceRed(this)},X.prototype.mul=function(N,W){if(N.isZero()||W.isZero())return new f(0)._forceRed(this);var re=N.mul(W),ae=re.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_e=re.isub(ae).iushrn(this.shift),Me=_e;return _e.cmp(this.m)>=0?Me=_e.isub(this.m):_e.cmpn(0)<0&&(Me=_e.iadd(this.m)),Me._forceRed(this)},X.prototype.invm=function(N){var W=this.imod(N._invmp(this.m).mul(this.r2));return W._forceRed(this)}}(i,this)},6204:function(i){\"use strict\";i.exports=a;function a(o){var s,l,u,c=o.length,f=0;for(s=0;s<c;++s)f+=o[s].length;var h=new Array(f),d=0;for(s=0;s<c;++s){var v=o[s],x=v.length;for(l=0;l<x;++l){var b=h[d++]=new Array(x-1),p=0;for(u=0;u<x;++u)u!==l&&(b[p++]=v[u]);if(l&1){var E=b[1];b[1]=b[0],b[0]=E}}}return h}},6867:function(i,a,o){\"use strict\";i.exports=p;var s=o(1888),l=o(855),u=o(7150);function c(E,k){for(var A=0;A<E;++A)if(!(k[A]<=k[A+E]))return!0;return!1}function f(E,k,A,L){for(var _=0,C=0,M=0,g=E.length;M<g;++M){var P=E[M];if(!c(k,P)){for(var T=0;T<2*k;++T)A[_++]=P[T];L[C++]=M}}return C}function h(E,k,A,L){var _=E.length,C=k.length;if(!(_<=0||C<=0)){var M=E[0].length>>>1;if(!(M<=0)){var g,P=s.mallocDouble(2*M*_),T=s.mallocInt32(_);if(_=f(E,M,P,T),_>0){if(M===1&&L)l.init(_),g=l.sweepComplete(M,A,0,_,P,T,0,_,P,T);else{var F=s.mallocDouble(2*M*C),q=s.mallocInt32(C);C=f(k,M,F,q),C>0&&(l.init(_+C),M===1?g=l.sweepBipartite(M,A,0,_,P,T,0,C,F,q):g=u(M,A,L,_,P,T,C,F,q),s.free(F),s.free(q))}s.free(P),s.free(T)}return g}}}var d;function v(E,k){d.push([E,k])}function x(E){return d=[],h(E,E,v,!0),d}function b(E,k){return d=[],h(E,k,v,!1),d}function p(E,k,A){switch(arguments.length){case 1:return x(E);case 2:return typeof k==\"function\"?h(E,E,k,!0):b(E,k);case 3:return h(E,k,A,!1);default:throw new Error(\"box-intersect: Invalid arguments\")}}},2455:function(i,a){\"use strict\";function o(){function u(h,d,v,x,b,p,E,k,A,L,_){for(var C=2*h,M=x,g=C*x;M<b;++M,g+=C){var P=p[d+g],T=p[d+g+h],F=E[M];e:for(var q=k,V=C*k;q<A;++q,V+=C){var H=L[d+V],X=L[d+V+h],G=_[q];if(!(X<P||T<H)){for(var N=d+1;N<h;++N){var W=p[N+g],re=p[N+h+g],ae=L[N+V],_e=L[N+h+V];if(re<ae||_e<W)continue e}var Me=v(F,G);if(Me!==void 0)return Me}}}}function c(h,d,v,x,b,p,E,k,A,L,_){for(var C=2*h,M=k,g=C*k;M<A;++M,g+=C){var P=L[d+g],T=L[d+g+h],F=_[M];e:for(var q=x,V=C*x;q<b;++q,V+=C){var H=p[d+V],X=p[d+V+h],G=E[q];if(!(T<H||X<P)){for(var N=d+1;N<h;++N){var W=p[N+V],re=p[N+h+V],ae=L[N+g],_e=L[N+h+g];if(re<ae||_e<W)continue e}var Me=v(G,F);if(Me!==void 0)return Me}}}}function f(h,d,v,x,b,p,E,k,A,L,_){return b-x>A-k?u(h,d,v,x,b,p,E,k,A,L,_):c(h,d,v,x,b,p,E,k,A,L,_)}return f}function s(){function u(v,x,b,p,E,k,A,L,_,C,M){for(var g=2*v,P=p,T=g*p;P<E;++P,T+=g){var F=k[x+T],q=k[x+T+v],V=A[P];e:for(var H=L,X=g*L;H<_;++H,X+=g){var G=C[x+X],N=M[H];if(!(G<=F||q<G)){for(var W=x+1;W<v;++W){var re=k[W+T],ae=k[W+v+T],_e=C[W+X],Me=C[W+v+X];if(ae<_e||Me<re)continue e}var ke=b(N,V);if(ke!==void 0)return ke}}}}function c(v,x,b,p,E,k,A,L,_,C,M){for(var g=2*v,P=p,T=g*p;P<E;++P,T+=g){var F=k[x+T],q=k[x+T+v],V=A[P];e:for(var H=L,X=g*L;H<_;++H,X+=g){var G=C[x+X],N=M[H];if(!(G<F||q<G)){for(var W=x+1;W<v;++W){var re=k[W+T],ae=k[W+v+T],_e=C[W+X],Me=C[W+v+X];if(ae<_e||Me<re)continue e}var ke=b(V,N);if(ke!==void 0)return ke}}}}function f(v,x,b,p,E,k,A,L,_,C,M){for(var g=2*v,P=L,T=g*L;P<_;++P,T+=g){var F=C[x+T],q=M[P];e:for(var V=p,H=g*p;V<E;++V,H+=g){var X=k[x+H],G=k[x+H+v],N=A[V];if(!(F<=X||G<F)){for(var W=x+1;W<v;++W){var re=k[W+H],ae=k[W+v+H],_e=C[W+T],Me=C[W+v+T];if(ae<_e||Me<re)continue e}var ke=b(q,N);if(ke!==void 0)return ke}}}}function h(v,x,b,p,E,k,A,L,_,C,M){for(var g=2*v,P=L,T=g*L;P<_;++P,T+=g){var F=C[x+T],q=M[P];e:for(var V=p,H=g*p;V<E;++V,H+=g){var X=k[x+H],G=k[x+H+v],N=A[V];if(!(F<X||G<F)){for(var W=x+1;W<v;++W){var re=k[W+H],ae=k[W+v+H],_e=C[W+T],Me=C[W+v+T];if(ae<_e||Me<re)continue e}var ke=b(N,q);if(ke!==void 0)return ke}}}}function d(v,x,b,p,E,k,A,L,_,C,M,g){return k-E>C-_?p?u(v,x,b,E,k,A,L,_,C,M,g):c(v,x,b,E,k,A,L,_,C,M,g):p?f(v,x,b,E,k,A,L,_,C,M,g):h(v,x,b,E,k,A,L,_,C,M,g)}return d}function l(u){return u?o():s()}a.partial=l(!1),a.full=l(!0)},7150:function(i,a,o){\"use strict\";i.exports=G;var s=o(1888),l=o(8828),u=o(2455),c=u.partial,f=u.full,h=o(855),d=o(3545),v=o(8105),x=128,b=1<<22,p=1<<22,E=v(\"!(lo>=p0)&&!(p1>=hi)\"),k=v(\"lo===p0\"),A=v(\"lo<p0\"),L=v(\"hi<=p0\"),_=v(\"lo<=p0&&p0<=hi\"),C=v(\"lo<p0&&p0<=hi\"),M=6,g=2,P=1024,T=s.mallocInt32(P),F=s.mallocDouble(P);function q(N,W){var re=8*l.log2(W+1)*(N+1)|0,ae=l.nextPow2(M*re);T.length<ae&&(s.free(T),T=s.mallocInt32(ae));var _e=l.nextPow2(g*re);F.length<_e&&(s.free(F),F=s.mallocDouble(_e))}function V(N,W,re,ae,_e,Me,ke,ge,ie){var Te=M*N;T[Te]=W,T[Te+1]=re,T[Te+2]=ae,T[Te+3]=_e,T[Te+4]=Me,T[Te+5]=ke;var Ee=g*N;F[Ee]=ge,F[Ee+1]=ie}function H(N,W,re,ae,_e,Me,ke,ge,ie,Te,Ee){var Ae=2*N,ze=ie*Ae,Ce=Te[ze+W];e:for(var me=_e,Re=_e*Ae;me<Me;++me,Re+=Ae){var ce=ke[Re+W],Ge=ke[Re+W+N];if(!(Ce<ce||Ge<Ce)&&!(ae&&Ce===ce)){for(var nt=ge[me],ct=W+1;ct<N;++ct){var ce=ke[Re+ct],Ge=ke[Re+ct+N],qt=Te[ze+ct],rt=Te[ze+ct+N];if(Ge<qt||rt<ce)continue e}var ot;if(ae?ot=re(Ee,nt):ot=re(nt,Ee),ot!==void 0)return ot}}}function X(N,W,re,ae,_e,Me,ke,ge,ie,Te){var Ee=2*N,Ae=ge*Ee,ze=ie[Ae+W];e:for(var Ce=ae,me=ae*Ee;Ce<_e;++Ce,me+=Ee){var Re=ke[Ce];if(Re!==Te){var ce=Me[me+W],Ge=Me[me+W+N];if(!(ze<ce||Ge<ze)){for(var nt=W+1;nt<N;++nt){var ce=Me[me+nt],Ge=Me[me+nt+N],ct=ie[Ae+nt],qt=ie[Ae+nt+N];if(Ge<ct||qt<ce)continue e}var rt=re(Re,Te);if(rt!==void 0)return rt}}}}function G(N,W,re,ae,_e,Me,ke,ge,ie){q(N,ae+ke);var Te=0,Ee=2*N,Ae;for(V(Te++,0,0,ae,0,ke,re?16:0,-1/0,1/0),re||V(Te++,0,0,ke,0,ae,1,-1/0,1/0);Te>0;){Te-=1;var ze=Te*M,Ce=T[ze],me=T[ze+1],Re=T[ze+2],ce=T[ze+3],Ge=T[ze+4],nt=T[ze+5],ct=Te*g,qt=F[ct],rt=F[ct+1],ot=nt&1,Rt=!!(nt&16),kt=_e,Ct=Me,Yt=ge,xr=ie;if(ot&&(kt=ge,Ct=ie,Yt=_e,xr=Me),!(nt&2&&(Re=A(N,Ce,me,Re,kt,Ct,rt),me>=Re))&&!(nt&4&&(me=L(N,Ce,me,Re,kt,Ct,qt),me>=Re))){var er=Re-me,Ke=Ge-ce;if(Rt){if(N*er*(er+Ke)<p){if(Ae=h.scanComplete(N,Ce,W,me,Re,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae;continue}}else if(N*Math.min(er,Ke)<x){if(Ae=c(N,Ce,W,ot,me,Re,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae;continue}else if(N*er*Ke<b){if(Ae=h.scanBipartite(N,Ce,W,ot,me,Re,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae;continue}var xt=E(N,Ce,me,Re,kt,Ct,qt,rt);if(me<xt)if(N*(xt-me)<x){if(Ae=f(N,Ce+1,W,me,xt,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae}else if(Ce===N-2){if(ot?Ae=h.sweepBipartite(N,W,ce,Ge,Yt,xr,me,xt,kt,Ct):Ae=h.sweepBipartite(N,W,me,xt,kt,Ct,ce,Ge,Yt,xr),Ae!==void 0)return Ae}else V(Te++,Ce+1,me,xt,ce,Ge,ot,-1/0,1/0),V(Te++,Ce+1,ce,Ge,me,xt,ot^1,-1/0,1/0);if(xt<Re){var bt=d(N,Ce,ce,Ge,Yt,xr),Lt=Yt[Ee*bt+Ce],St=k(N,Ce,bt,Ge,Yt,xr,Lt);if(St<Ge&&V(Te++,Ce,xt,Re,St,Ge,(ot|4)+(Rt?16:0),Lt,rt),ce<bt&&V(Te++,Ce,xt,Re,ce,bt,(ot|2)+(Rt?16:0),qt,Lt),bt+1===St){if(Rt?Ae=X(N,Ce,W,xt,Re,kt,Ct,bt,Yt,xr[bt]):Ae=H(N,Ce,W,ot,xt,Re,kt,Ct,bt,Yt,xr[bt]),Ae!==void 0)return Ae}else if(bt<St){var Et;if(Rt){if(Et=_(N,Ce,xt,Re,kt,Ct,Lt),xt<Et){var dt=k(N,Ce,xt,Et,kt,Ct,Lt);if(Ce===N-2){if(xt<dt&&(Ae=h.sweepComplete(N,W,xt,dt,kt,Ct,bt,St,Yt,xr),Ae!==void 0)||dt<Et&&(Ae=h.sweepBipartite(N,W,dt,Et,kt,Ct,bt,St,Yt,xr),Ae!==void 0))return Ae}else xt<dt&&V(Te++,Ce+1,xt,dt,bt,St,16,-1/0,1/0),dt<Et&&(V(Te++,Ce+1,dt,Et,bt,St,0,-1/0,1/0),V(Te++,Ce+1,bt,St,dt,Et,1,-1/0,1/0))}}else ot?Et=C(N,Ce,xt,Re,kt,Ct,Lt):Et=_(N,Ce,xt,Re,kt,Ct,Lt),xt<Et&&(Ce===N-2?ot?Ae=h.sweepBipartite(N,W,bt,St,Yt,xr,xt,Et,kt,Ct):Ae=h.sweepBipartite(N,W,xt,Et,kt,Ct,bt,St,Yt,xr):(V(Te++,Ce+1,xt,Et,bt,St,ot,-1/0,1/0),V(Te++,Ce+1,bt,St,xt,Et,ot^1,-1/0,1/0)))}}}}}},3545:function(i,a,o){\"use strict\";i.exports=f;var s=o(8105),l=s(\"lo<p0\"),u=8;function c(h,d,v,x,b,p){for(var E=2*h,k=E*(v+1)+d,A=v+1;A<x;++A,k+=E)for(var L=b[k],_=A,C=E*(A-1);_>v&&b[C+d]>L;--_,C-=E){for(var M=C,g=C+E,P=0;P<E;++P,++M,++g){var T=b[M];b[M]=b[g],b[g]=T}var F=p[_];p[_]=p[_-1],p[_-1]=F}}function f(h,d,v,x,b,p){if(x<=v+1)return v;for(var E=v,k=x,A=x+v>>>1,L=2*h,_=A,C=b[L*A+d];E<k;){if(k-E<u){c(h,d,E,k,b,p),C=b[L*A+d];break}var M=k-E,g=Math.random()*M+E|0,P=b[L*g+d],T=Math.random()*M+E|0,F=b[L*T+d],q=Math.random()*M+E|0,V=b[L*q+d];P<=F?V>=F?(_=T,C=F):P>=V?(_=g,C=P):(_=q,C=V):F>=V?(_=T,C=F):V>=P?(_=g,C=P):(_=q,C=V);for(var G=L*(k-1),N=L*_,H=0;H<L;++H,++G,++N){var X=b[G];b[G]=b[N],b[N]=X}var W=p[k-1];p[k-1]=p[_],p[_]=W,_=l(h,d,E,k-1,b,p,C);for(var G=L*(k-1),N=L*_,H=0;H<L;++H,++G,++N){var X=b[G];b[G]=b[N],b[N]=X}var W=p[k-1];if(p[k-1]=p[_],p[_]=W,A<_){for(k=_-1;E<k&&b[L*(k-1)+d]===C;)k-=1;k+=1}else if(_<A)for(E=_+1;E<k&&b[L*E+d]===C;)E+=1;else break}return l(h,d,v,A,b,p,b[L*A+d])}},8105:function(i){\"use strict\";i.exports=o;var a={\"lo===p0\":s,\"lo<p0\":l,\"lo<=p0\":u,\"hi<=p0\":c,\"lo<p0&&p0<=hi\":h,\"lo<=p0&&p0<=hi\":f,\"!(lo>=p0)&&!(p1>=hi)\":d};function o(v){return a[v]}function s(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+g];if(F===A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function l(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+g];if(F<A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function u(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+P];if(F<=A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function c(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+P];if(F<=A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function f(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+g],q=E[_+P];if(F<=A&&A<=q)if(M===T)M+=1,C+=L;else{for(var V=0;L>V;++V){var H=E[_+V];E[_+V]=E[C],E[C++]=H}var X=k[T];k[T]=k[M],k[M++]=X}}return M}function h(v,x,b,p,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,g=x,P=v+x,T=b;p>T;++T,_+=L){var F=E[_+g],q=E[_+P];if(F<A&&A<=q)if(M===T)M+=1,C+=L;else{for(var V=0;L>V;++V){var H=E[_+V];E[_+V]=E[C],E[C++]=H}var X=k[T];k[T]=k[M],k[M++]=X}}return M}function d(v,x,b,p,E,k,A,L){for(var _=2*v,C=_*b,M=C,g=b,P=x,T=v+x,F=b;p>F;++F,C+=_){var q=E[C+P],V=E[C+T];if(!(q>=A)&&!(L>=V))if(g===F)g+=1,M+=_;else{for(var H=0;_>H;++H){var X=E[C+H];E[C+H]=E[M],E[M++]=X}var G=k[F];k[F]=k[g],k[g++]=G}}return g}},4192:function(i){\"use strict\";i.exports=o;var a=32;function o(x,b){b<=4*a?s(0,b-1,x):v(0,b-1,x)}function s(x,b,p){for(var E=2*(x+1),k=x+1;k<=b;++k){for(var A=p[E++],L=p[E++],_=k,C=E-2;_-- >x;){var M=p[C-2],g=p[C-1];if(M<A)break;if(M===A&&g<L)break;p[C]=M,p[C+1]=g,C-=2}p[C]=A,p[C+1]=L}}function l(x,b,p){x*=2,b*=2;var E=p[x],k=p[x+1];p[x]=p[b],p[x+1]=p[b+1],p[b]=E,p[b+1]=k}function u(x,b,p){x*=2,b*=2,p[x]=p[b],p[x+1]=p[b+1]}function c(x,b,p,E){x*=2,b*=2,p*=2;var k=E[x],A=E[x+1];E[x]=E[b],E[x+1]=E[b+1],E[b]=E[p],E[b+1]=E[p+1],E[p]=k,E[p+1]=A}function f(x,b,p,E,k){x*=2,b*=2,k[x]=k[b],k[b]=p,k[x+1]=k[b+1],k[b+1]=E}function h(x,b,p){x*=2,b*=2;var E=p[x],k=p[b];return E<k?!1:E===k?p[x+1]>p[b+1]:!0}function d(x,b,p,E){x*=2;var k=E[x];return k<b?!0:k===b?E[x+1]<p:!1}function v(x,b,p){var E=(b-x+1)/6|0,k=x+E,A=b-E,L=x+b>>1,_=L-E,C=L+E,M=k,g=_,P=L,T=C,F=A,q=x+1,V=b-1,H=0;h(M,g,p)&&(H=M,M=g,g=H),h(T,F,p)&&(H=T,T=F,F=H),h(M,P,p)&&(H=M,M=P,P=H),h(g,P,p)&&(H=g,g=P,P=H),h(M,T,p)&&(H=M,M=T,T=H),h(P,T,p)&&(H=P,P=T,T=H),h(g,F,p)&&(H=g,g=F,F=H),h(g,P,p)&&(H=g,g=P,P=H),h(T,F,p)&&(H=T,T=F,F=H);for(var X=p[2*g],G=p[2*g+1],N=p[2*T],W=p[2*T+1],re=2*M,ae=2*P,_e=2*F,Me=2*k,ke=2*L,ge=2*A,ie=0;ie<2;++ie){var Te=p[re+ie],Ee=p[ae+ie],Ae=p[_e+ie];p[Me+ie]=Te,p[ke+ie]=Ee,p[ge+ie]=Ae}u(_,x,p),u(C,b,p);for(var ze=q;ze<=V;++ze)if(d(ze,X,G,p))ze!==q&&l(ze,q,p),++q;else if(!d(ze,N,W,p))for(;;)if(d(V,N,W,p)){d(V,X,G,p)?(c(ze,q,V,p),++q,--V):(l(ze,V,p),--V);break}else{if(--V<ze)break;continue}f(x,q-1,X,G,p),f(b,V+1,N,W,p),q-2-x<=a?s(x,q-2,p):v(x,q-2,p),b-(V+2)<=a?s(V+2,b,p):v(V+2,b,p),V-q<=a?s(q,V,p):v(q,V,p)}},855:function(i,a,o){\"use strict\";i.exports={init:k,sweepBipartite:_,sweepComplete:C,scanBipartite:M,scanComplete:g};var s=o(1888),l=o(8828),u=o(4192),c=1<<28,f=1024,h=s.mallocInt32(f),d=s.mallocInt32(f),v=s.mallocInt32(f),x=s.mallocInt32(f),b=s.mallocInt32(f),p=s.mallocInt32(f),E=s.mallocDouble(f*8);function k(P){var T=l.nextPow2(P);h.length<T&&(s.free(h),h=s.mallocInt32(T)),d.length<T&&(s.free(d),d=s.mallocInt32(T)),v.length<T&&(s.free(v),v=s.mallocInt32(T)),x.length<T&&(s.free(x),x=s.mallocInt32(T)),b.length<T&&(s.free(b),b=s.mallocInt32(T)),p.length<T&&(s.free(p),p=s.mallocInt32(T));var F=8*T;E.length<F&&(s.free(E),E=s.mallocDouble(F))}function A(P,T,F,q){var V=T[q],H=P[F-1];P[V]=H,T[H]=V}function L(P,T,F,q){P[F]=q,T[q]=F}function _(P,T,F,q,V,H,X,G,N,W){for(var re=0,ae=2*P,_e=P-1,Me=ae-1,ke=F;ke<q;++ke){var ge=H[ke],ie=ae*ke;E[re++]=V[ie+_e],E[re++]=-(ge+1),E[re++]=V[ie+Me],E[re++]=ge}for(var ke=X;ke<G;++ke){var ge=W[ke]+c,Te=ae*ke;E[re++]=N[Te+_e],E[re++]=-ge,E[re++]=N[Te+Me],E[re++]=ge}var Ee=re>>>1;u(E,Ee);for(var Ae=0,ze=0,ke=0;ke<Ee;++ke){var Ce=E[2*ke+1]|0;if(Ce>=c)Ce=Ce-c|0,A(v,x,ze--,Ce);else if(Ce>=0)A(h,d,Ae--,Ce);else if(Ce<=-c){Ce=-Ce-c|0;for(var me=0;me<Ae;++me){var Re=T(h[me],Ce);if(Re!==void 0)return Re}L(v,x,ze++,Ce)}else{Ce=-Ce-1|0;for(var me=0;me<ze;++me){var Re=T(Ce,v[me]);if(Re!==void 0)return Re}L(h,d,Ae++,Ce)}}}function C(P,T,F,q,V,H,X,G,N,W){for(var re=0,ae=2*P,_e=P-1,Me=ae-1,ke=F;ke<q;++ke){var ge=H[ke]+1<<1,ie=ae*ke;E[re++]=V[ie+_e],E[re++]=-ge,E[re++]=V[ie+Me],E[re++]=ge}for(var ke=X;ke<G;++ke){var ge=W[ke]+1<<1,Te=ae*ke;E[re++]=N[Te+_e],E[re++]=-ge|1,E[re++]=N[Te+Me],E[re++]=ge|1}var Ee=re>>>1;u(E,Ee);for(var Ae=0,ze=0,Ce=0,ke=0;ke<Ee;++ke){var me=E[2*ke+1]|0,Re=me&1;if(ke<Ee-1&&me>>1===E[2*ke+3]>>1&&(Re=2,ke+=1),me<0){for(var ce=-(me>>1)-1,Ge=0;Ge<Ce;++Ge){var nt=T(b[Ge],ce);if(nt!==void 0)return nt}if(Re!==0)for(var Ge=0;Ge<Ae;++Ge){var nt=T(h[Ge],ce);if(nt!==void 0)return nt}if(Re!==1)for(var Ge=0;Ge<ze;++Ge){var nt=T(v[Ge],ce);if(nt!==void 0)return nt}Re===0?L(h,d,Ae++,ce):Re===1?L(v,x,ze++,ce):Re===2&&L(b,p,Ce++,ce)}else{var ce=(me>>1)-1;Re===0?A(h,d,Ae--,ce):Re===1?A(v,x,ze--,ce):Re===2&&A(b,p,Ce--,ce)}}}function M(P,T,F,q,V,H,X,G,N,W,re,ae){var _e=0,Me=2*P,ke=T,ge=T+P,ie=1,Te=1;q?Te=c:ie=c;for(var Ee=V;Ee<H;++Ee){var Ae=Ee+ie,ze=Me*Ee;E[_e++]=X[ze+ke],E[_e++]=-Ae,E[_e++]=X[ze+ge],E[_e++]=Ae}for(var Ee=N;Ee<W;++Ee){var Ae=Ee+Te,Ce=Me*Ee;E[_e++]=re[Ce+ke],E[_e++]=-Ae}var me=_e>>>1;u(E,me);for(var Re=0,Ee=0;Ee<me;++Ee){var ce=E[2*Ee+1]|0;if(ce<0){var Ae=-ce,Ge=!1;if(Ae>=c?(Ge=!q,Ae-=c):(Ge=!!q,Ae-=1),Ge)L(h,d,Re++,Ae);else{var nt=ae[Ae],ct=Me*Ae,qt=re[ct+T+1],rt=re[ct+T+1+P];e:for(var ot=0;ot<Re;++ot){var Rt=h[ot],kt=Me*Rt;if(!(rt<X[kt+T+1]||X[kt+T+1+P]<qt)){for(var Ct=T+2;Ct<P;++Ct)if(re[ct+Ct+P]<X[kt+Ct]||X[kt+Ct+P]<re[ct+Ct])continue e;var Yt=G[Rt],xr;if(q?xr=F(nt,Yt):xr=F(Yt,nt),xr!==void 0)return xr}}}}else A(h,d,Re--,ce-ie)}}function g(P,T,F,q,V,H,X,G,N,W,re){for(var ae=0,_e=2*P,Me=T,ke=T+P,ge=q;ge<V;++ge){var ie=ge+c,Te=_e*ge;E[ae++]=H[Te+Me],E[ae++]=-ie,E[ae++]=H[Te+ke],E[ae++]=ie}for(var ge=G;ge<N;++ge){var ie=ge+1,Ee=_e*ge;E[ae++]=W[Ee+Me],E[ae++]=-ie}var Ae=ae>>>1;u(E,Ae);for(var ze=0,ge=0;ge<Ae;++ge){var Ce=E[2*ge+1]|0;if(Ce<0){var ie=-Ce;if(ie>=c)h[ze++]=ie-c;else{ie-=1;var me=re[ie],Re=_e*ie,ce=W[Re+T+1],Ge=W[Re+T+1+P];e:for(var nt=0;nt<ze;++nt){var ct=h[nt],qt=X[ct];if(qt===me)break;var rt=_e*ct;if(!(Ge<H[rt+T+1]||H[rt+T+1+P]<ce)){for(var ot=T+2;ot<P;++ot)if(W[Re+ot+P]<H[rt+ot]||H[rt+ot+P]<W[Re+ot])continue e;var Rt=F(qt,me);if(Rt!==void 0)return Rt}}}}else{for(var ie=Ce-c,nt=ze-1;nt>=0;--nt)if(h[nt]===ie){for(var ot=nt+1;ot<ze;++ot)h[ot-1]=h[ot];break}--ze}}}},2538:function(i,a,o){\"use strict\";var s=o(8902),l=o(5542),u=o(2272),c=o(5023);i.exports=x;function f(b){return[Math.min(b[0],b[1]),Math.max(b[0],b[1])]}function h(b,p){return b[0]-p[0]||b[1]-p[1]}function d(b){return b.map(f).sort(h)}function v(b,p,E){return p in b?b[p]:E}function x(b,p,E){Array.isArray(p)?(E=E||{},p=p||[]):(E=p||{},p=[]);var k=!!v(E,\"delaunay\",!0),A=!!v(E,\"interior\",!0),L=!!v(E,\"exterior\",!0),_=!!v(E,\"infinity\",!1);if(!A&&!L||b.length===0)return[];var C=s(b,p);if(k||A!==L||_){for(var M=l(b.length,d(p)),g=0;g<C.length;++g){var P=C[g];M.addTriangle(P[0],P[1],P[2])}return k&&u(b,M),L?A?_?c(M,0,_):M.cells():c(M,1,_):c(M,-1)}else return C}},2272:function(i,a,o){\"use strict\";var s=o(2646)[4],l=o(2478);i.exports=c;function u(f,h,d,v,x,b){var p=h.opposite(v,x);if(!(p<0)){if(x<v){var E=v;v=x,x=E,E=b,b=p,p=E}h.isConstraint(v,x)||s(f[v],f[x],f[b],f[p])<0&&d.push(v,x)}}function c(f,h){for(var d=[],v=f.length,x=h.stars,b=0;b<v;++b)for(var p=x[b],E=1;E<p.length;E+=2){var k=p[E];if(!(k<b)&&!h.isConstraint(b,k)){for(var A=p[E-1],L=-1,_=1;_<p.length;_+=2)if(p[_-1]===k){L=p[_];break}L<0||s(f[b],f[k],f[A],f[L])<0&&d.push(b,k)}}for(;d.length>0;){for(var k=d.pop(),b=d.pop(),A=-1,L=-1,p=x[b],C=1;C<p.length;C+=2){var M=p[C-1],g=p[C];M===k?L=g:g===k&&(A=M)}A<0||L<0||s(f[b],f[k],f[A],f[L])>=0||(h.flip(b,k),u(f,h,d,A,b,L),u(f,h,d,b,L,A),u(f,h,d,L,k,A),u(f,h,d,k,A,L))}}},5023:function(i,a,o){\"use strict\";var s=o(2478);i.exports=d;function l(v,x,b,p,E,k,A){this.cells=v,this.neighbor=x,this.flags=p,this.constraint=b,this.active=E,this.next=k,this.boundary=A}var u=l.prototype;function c(v,x){return v[0]-x[0]||v[1]-x[1]||v[2]-x[2]}u.locate=function(){var v=[0,0,0];return function(x,b,p){var E=x,k=b,A=p;return b<p?b<x&&(E=b,k=p,A=x):p<x&&(E=p,k=x,A=b),E<0?-1:(v[0]=E,v[1]=k,v[2]=A,s.eq(this.cells,v,c))}}();function f(v,x){for(var b=v.cells(),p=b.length,E=0;E<p;++E){var k=b[E],A=k[0],L=k[1],_=k[2];L<_?L<A&&(k[0]=L,k[1]=_,k[2]=A):_<A&&(k[0]=_,k[1]=A,k[2]=L)}b.sort(c);for(var C=new Array(p),E=0;E<C.length;++E)C[E]=0;var M=[],g=[],P=new Array(3*p),T=new Array(3*p),F=null;x&&(F=[]);for(var q=new l(b,P,T,C,M,g,F),E=0;E<p;++E)for(var k=b[E],V=0;V<3;++V){var A=k[V],L=k[(V+1)%3],H=P[3*E+V]=q.locate(L,A,v.opposite(L,A)),X=T[3*E+V]=v.isConstraint(A,L);H<0&&(X?g.push(E):(M.push(E),C[E]=1),x&&F.push([L,A,-1]))}return q}function h(v,x,b){for(var p=0,E=0;E<v.length;++E)x[E]===b&&(v[p++]=v[E]);return v.length=p,v}function d(v,x,b){var p=f(v,b);if(x===0)return b?p.cells.concat(p.boundary):p.cells;for(var E=1,k=p.active,A=p.next,L=p.flags,_=p.cells,C=p.constraint,M=p.neighbor;k.length>0||A.length>0;){for(;k.length>0;){var g=k.pop();if(L[g]!==-E){L[g]=E;for(var P=_[g],T=0;T<3;++T){var F=M[3*g+T];F>=0&&L[F]===0&&(C[3*g+T]?A.push(F):(k.push(F),L[F]=E))}}}var q=A;A=k,k=q,A.length=0,E=-E}var V=h(_,L,x);return b?V.concat(p.boundary):V}},8902:function(i,a,o){\"use strict\";var s=o(2478),l=o(3250)[3],u=0,c=1,f=2;i.exports=A;function h(L,_,C,M,g){this.a=L,this.b=_,this.idx=C,this.lowerIds=M,this.upperIds=g}function d(L,_,C,M){this.a=L,this.b=_,this.type=C,this.idx=M}function v(L,_){var C=L.a[0]-_.a[0]||L.a[1]-_.a[1]||L.type-_.type;return C||L.type!==u&&(C=l(L.a,L.b,_.b),C)?C:L.idx-_.idx}function x(L,_){return l(L.a,L.b,_)}function b(L,_,C,M,g){for(var P=s.lt(_,M,x),T=s.gt(_,M,x),F=P;F<T;++F){for(var q=_[F],V=q.lowerIds,X=V.length;X>1&&l(C[V[X-2]],C[V[X-1]],M)>0;)L.push([V[X-1],V[X-2],g]),X-=1;V.length=X,V.push(g);for(var H=q.upperIds,X=H.length;X>1&&l(C[H[X-2]],C[H[X-1]],M)<0;)L.push([H[X-2],H[X-1],g]),X-=1;H.length=X,H.push(g)}}function p(L,_){var C;return L.a[0]<_.a[0]?C=l(L.a,L.b,_.a):C=l(_.b,_.a,L.a),C||(_.b[0]<L.b[0]?C=l(L.a,L.b,_.b):C=l(_.b,_.a,L.b),C||L.idx-_.idx)}function E(L,_,C){var M=s.le(L,C,p),g=L[M],P=g.upperIds,T=P[P.length-1];g.upperIds=[T],L.splice(M+1,0,new h(C.a,C.b,C.idx,[T],P))}function k(L,_,C){var M=C.a;C.a=C.b,C.b=M;var g=s.eq(L,C,p),P=L[g],T=L[g-1];T.upperIds=P.upperIds,L.splice(g,1)}function A(L,_){for(var C=L.length,M=_.length,g=[],P=0;P<C;++P)g.push(new d(L[P],null,u,P));for(var P=0;P<M;++P){var T=_[P],F=L[T[0]],q=L[T[1]];F[0]<q[0]?g.push(new d(F,q,f,P),new d(q,F,c,P)):F[0]>q[0]&&g.push(new d(q,F,f,P),new d(F,q,c,P))}g.sort(v);for(var V=g[0].a[0]-(1+Math.abs(g[0].a[0]))*Math.pow(2,-52),H=[new h([V,1],[V,0],-1,[],[],[],[])],X=[],P=0,G=g.length;P<G;++P){var N=g[P],W=N.type;W===u?b(X,H,L,N.a,N.idx):W===f?E(H,L,N):k(H,L,N)}return X}},5542:function(i,a,o){\"use strict\";var s=o(2478);i.exports=f;function l(h,d){this.stars=h,this.edges=d}var u=l.prototype;function c(h,d,v){for(var x=1,b=h.length;x<b;x+=2)if(h[x-1]===d&&h[x]===v){h[x-1]=h[b-2],h[x]=h[b-1],h.length=b-2;return}}u.isConstraint=function(){var h=[0,0];function d(v,x){return v[0]-x[0]||v[1]-x[1]}return function(v,x){return h[0]=Math.min(v,x),h[1]=Math.max(v,x),s.eq(this.edges,h,d)>=0}}(),u.removeTriangle=function(h,d,v){var x=this.stars;c(x[h],d,v),c(x[d],v,h),c(x[v],h,d)},u.addTriangle=function(h,d,v){var x=this.stars;x[h].push(d,v),x[d].push(v,h),x[v].push(h,d)},u.opposite=function(h,d){for(var v=this.stars[d],x=1,b=v.length;x<b;x+=2)if(v[x]===h)return v[x-1];return-1},u.flip=function(h,d){var v=this.opposite(h,d),x=this.opposite(d,h);this.removeTriangle(h,d,v),this.removeTriangle(d,h,x),this.addTriangle(h,x,v),this.addTriangle(d,v,x)},u.edges=function(){for(var h=this.stars,d=[],v=0,x=h.length;v<x;++v)for(var b=h[v],p=0,E=b.length;p<E;p+=2)d.push([b[p],b[p+1]]);return d},u.cells=function(){for(var h=this.stars,d=[],v=0,x=h.length;v<x;++v)for(var b=h[v],p=0,E=b.length;p<E;p+=2){var k=b[p],A=b[p+1];v<Math.min(k,A)&&d.push([v,k,A])}return d};function f(h,d){for(var v=new Array(h),x=0;x<h;++x)v[x]=[];return new l(v,d)}},2419:function(i){\"use strict\";i.exports=a;function a(o){for(var s=1,l=1;l<o.length;++l)for(var u=0;u<l;++u)if(o[l]<o[u])s=-s;else if(o[u]===o[l])return 0;return s}},3628:function(i,a,o){\"use strict\";var s=o(1338),l=o(727);function u(h,d){for(var v=0,x=h.length,b=0;b<x;++b)v+=h[b]*d[b];return v}function c(h){var d=h.length;if(d===0)return[];var v=h[0].length,x=s([h.length+1,h.length+1],1),b=s([h.length+1],1);x[d][d]=0;for(var p=0;p<d;++p){for(var E=0;E<=p;++E)x[E][p]=x[p][E]=2*u(h[p],h[E]);b[p]=u(h[p],h[p])}for(var k=l(x,b),A=0,L=k[d+1],p=0;p<L.length;++p)A+=L[p];for(var _=new Array(d),p=0;p<d;++p){for(var L=k[p],C=0,E=0;E<L.length;++E)C+=L[E];_[p]=C/A}return _}function f(h){if(h.length===0)return[];for(var d=h[0].length,v=s([d]),x=c(h),b=0;b<h.length;++b)for(var p=0;p<d;++p)v[p]+=h[b][p]*x[b];return v}f.barycenetric=c,i.exports=f},6037:function(i,a,o){i.exports=l;var s=o(3628);function l(u){for(var c=s(u),f=0,h=0;h<u.length;++h)for(var d=u[h],v=0;v<c.length;++v)f+=Math.pow(d[v]-c[v],2);return Math.sqrt(f/u.length)}},332:function(i,a,o){\"use strict\";i.exports=F;var s=o(1755),l=o(6867),u=o(1125),c=o(7842),f=o(1318),h=o(946),d=o(5838),v=o(1278),x=o(3637);function b(q){var V=h(q);return[v(V,-1/0),v(V,1/0)]}function p(q,V){for(var H=new Array(V.length),X=0;X<V.length;++X){var G=V[X],N=q[G[0]],W=q[G[1]];H[X]=[v(Math.min(N[0],W[0]),-1/0),v(Math.min(N[1],W[1]),-1/0),v(Math.max(N[0],W[0]),1/0),v(Math.max(N[1],W[1]),1/0)]}return H}function E(q){for(var V=new Array(q.length),H=0;H<q.length;++H){var X=q[H];V[H]=[v(X[0],-1/0),v(X[1],-1/0),v(X[0],1/0),v(X[1],1/0)]}return V}function k(q,V,H){var X=[];return l(H,function(G,N){var W=V[G],re=V[N];if(!(W[0]===re[0]||W[0]===re[1]||W[1]===re[0]||W[1]===re[1])){var ae=q[W[0]],_e=q[W[1]],Me=q[re[0]],ke=q[re[1]];u(ae,_e,Me,ke)&&X.push([G,N])}}),X}function A(q,V,H,X){var G=[];return l(H,X,function(N,W){var re=V[N];if(!(re[0]===W||re[1]===W)){var ae=q[W],_e=q[re[0]],Me=q[re[1]];u(_e,Me,ae,ae)&&G.push([N,W])}}),G}function L(q,V,H,X,G){var N,W,re=q.map(function(ct){return[c(ct[0]),c(ct[1])]});for(N=0;N<H.length;++N){var ae=H[N];W=ae[0];var _e=ae[1],Me=V[W],ke=V[_e],ge=x(d(q[Me[0]]),d(q[Me[1]]),d(q[ke[0]]),d(q[ke[1]]));if(ge){var ie=q.length;q.push([h(ge[0]),h(ge[1])]),re.push(ge),X.push([W,ie],[_e,ie])}}for(X.sort(function(ct,qt){if(ct[0]!==qt[0])return ct[0]-qt[0];var rt=re[ct[1]],ot=re[qt[1]];return f(rt[0],ot[0])||f(rt[1],ot[1])}),N=X.length-1;N>=0;--N){var Te=X[N];W=Te[0];var Ee=V[W],Ae=Ee[0],ze=Ee[1],Ce=q[Ae],me=q[ze];if((Ce[0]-me[0]||Ce[1]-me[1])<0){var Re=Ae;Ae=ze,ze=Re}Ee[0]=Ae;var ce=Ee[1]=Te[1],Ge;for(G&&(Ge=Ee[2]);N>0&&X[N-1][0]===W;){var Te=X[--N],nt=Te[1];G?V.push([ce,nt,Ge]):V.push([ce,nt]),ce=nt}G?V.push([ce,ze,Ge]):V.push([ce,ze])}return re}function _(q,V,H){for(var X=V.length,G=new s(X),N=[],W=0;W<V.length;++W){var re=V[W],ae=b(re[0]),_e=b(re[1]);N.push([v(ae[0],-1/0),v(_e[0],-1/0),v(ae[1],1/0),v(_e[1],1/0)])}l(N,function(Te,Ee){G.link(Te,Ee)});for(var Me=!0,ke=new Array(X),W=0;W<X;++W){var ge=G.find(W);ge!==W&&(Me=!1,q[ge]=[Math.min(q[W][0],q[ge][0]),Math.min(q[W][1],q[ge][1])])}if(Me)return null;for(var ie=0,W=0;W<X;++W){var ge=G.find(W);ge===W?(ke[W]=ie,q[ie++]=q[W]):ke[W]=-1}q.length=ie;for(var W=0;W<X;++W)ke[W]<0&&(ke[W]=ke[G.find(W)]);return ke}function C(q,V){return q[0]-V[0]||q[1]-V[1]}function M(q,V){var H=q[0]-V[0]||q[1]-V[1];return H||(q[2]<V[2]?-1:q[2]>V[2]?1:0)}function g(q,V,H){if(q.length!==0){if(V)for(var X=0;X<q.length;++X){var G=q[X],N=V[G[0]],W=V[G[1]];G[0]=Math.min(N,W),G[1]=Math.max(N,W)}else for(var X=0;X<q.length;++X){var G=q[X],N=G[0],W=G[1];G[0]=Math.min(N,W),G[1]=Math.max(N,W)}H?q.sort(M):q.sort(C);for(var re=1,X=1;X<q.length;++X){var ae=q[X-1],_e=q[X];_e[0]===ae[0]&&_e[1]===ae[1]&&(!H||_e[2]===ae[2])||(q[re++]=_e)}q.length=re}}function P(q,V,H){var X=_(q,[],E(q));return g(V,X,H),!!X}function T(q,V,H){var X=p(q,V),G=k(q,V,X),N=E(q),W=A(q,V,X,N),re=L(q,V,G,W,H),ae=_(q,re,N);return g(V,ae,H),ae?!0:G.length>0||W.length>0}function F(q,V,H){var X;if(H){X=V;for(var G=new Array(V.length),N=0;N<V.length;++N){var W=V[N];G[N]=[W[0],W[1],H[N]]}V=G}for(var re=P(q,V,!!H);T(q,V,!!H);)re=!0;if(H&&re){X.length=0,H.length=0;for(var N=0;N<V.length;++N){var W=V[N];X.push([W[0],W[1]]),H.push(W[2])}}return re}},3637:function(i,a,o){\"use strict\";i.exports=x;var s=o(6504),l=o(8697),u=o(5572),c=o(7721),f=o(544),h=o(2653),d=o(8987);function v(b,p){return u(s(b[0],p[1]),s(b[1],p[0]))}function x(b,p,E,k){var A=f(p,b),L=f(k,E),_=v(A,L);if(c(_)===0)return null;var C=f(b,E),M=v(L,C),g=l(M,_),P=d(A,g),T=h(b,P);return T}},3642:function(i){i.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(i,a,o){\"use strict\";var s=o(3642),l=o(395);i.exports=u;function u(d){var v,x,b,p,E,k,A,L,g,_,C;if(d||(d={}),L=(d.nshades||72)-1,A=d.format||\"hex\",k=d.colormap,k||(k=\"jet\"),typeof k==\"string\"){if(k=k.toLowerCase(),!s[k])throw Error(k+\" not a supported colorscale\");E=s[k]}else if(Array.isArray(k))E=k.slice();else throw Error(\"unsupported colormap option\",k);if(E.length>L+1)throw new Error(k+\" map requires nshades to be at least size \"+E.length);Array.isArray(d.alpha)?d.alpha.length!==2?_=[1,1]:_=d.alpha.slice():typeof d.alpha==\"number\"?_=[d.alpha,d.alpha]:_=[1,1],v=E.map(function(F){return Math.round(F.index*L)}),_[0]=Math.min(Math.max(_[0],0),1),_[1]=Math.min(Math.max(_[1],0),1);var M=E.map(function(F,q){var V=E[q].index,H=E[q].rgb.slice();return H.length===4&&H[3]>=0&&H[3]<=1||(H[3]=_[0]+(_[1]-_[0])*V),H}),g=[];for(C=0;C<v.length-1;++C){p=v[C+1]-v[C],x=M[C],b=M[C+1];for(var P=0;P<p;P++){var T=P/p;g.push([Math.round(l(x[0],b[0],T)),Math.round(l(x[1],b[1],T)),Math.round(l(x[2],b[2],T)),l(x[3],b[3],T)])}}return g.push(E[E.length-1].rgb.concat(_[1])),A===\"hex\"?g=g.map(f):A===\"rgbaString\"?g=g.map(h):A===\"float\"&&(g=g.map(c)),g}function c(d){return[d[0]/255,d[1]/255,d[2]/255,d[3]]}function f(d){for(var v,x=\"#\",b=0;b<3;++b)v=d[b],v=v.toString(16),x+=(\"00\"+v).substr(v.length);return x}function h(d){return\"rgba(\"+d.join(\",\")+\")\"}},3140:function(i,a,o){\"use strict\";i.exports=d;var s=o(3250),l=o(8572),u=o(9362),c=o(5382),f=o(8210);function h(v,x,b){var p=u(v[0],-x[0]),E=u(v[1],-x[1]),k=u(b[0],-x[0]),A=u(b[1],-x[1]),L=f(c(p,k),c(E,A));return L[L.length-1]>=0}function d(v,x,b,p){var E=s(x,b,p);if(E===0){var k=l(s(v,x,b)),A=l(s(v,x,p));if(k===A){if(k===0){var L=h(v,x,b),_=h(v,x,p);return L===_?0:L?1:-1}return 0}else{if(A===0)return k>0||h(v,x,p)?-1:1;if(k===0)return A>0||h(v,x,b)?1:-1}return l(A-k)}var C=s(v,x,b);if(C>0)return E>0&&s(v,x,p)>0?1:-1;if(C<0)return E>0||s(v,x,p)>0?1:-1;var M=s(v,x,p);return M>0||h(v,x,b)?1:-1}},8572:function(i){\"use strict\";i.exports=function(o){return o<0?-1:o>0?1:0}},8507:function(i){i.exports=s;var a=Math.min;function o(l,u){return l-u}function s(l,u){var c=l.length,f=l.length-u.length;if(f)return f;switch(c){case 0:return 0;case 1:return l[0]-u[0];case 2:return l[0]+l[1]-u[0]-u[1]||a(l[0],l[1])-a(u[0],u[1]);case 3:var h=l[0]+l[1],d=u[0]+u[1];if(f=h+l[2]-(d+u[2]),f)return f;var v=a(l[0],l[1]),x=a(u[0],u[1]);return a(v,l[2])-a(x,u[2])||a(v+l[2],h)-a(x+u[2],d);case 4:var b=l[0],p=l[1],E=l[2],k=l[3],A=u[0],L=u[1],_=u[2],C=u[3];return b+p+E+k-(A+L+_+C)||a(b,p,E,k)-a(A,L,_,C,A)||a(b+p,b+E,b+k,p+E,p+k,E+k)-a(A+L,A+_,A+C,L+_,L+C,_+C)||a(b+p+E,b+p+k,b+E+k,p+E+k)-a(A+L+_,A+L+C,A+_+C,L+_+C);default:for(var M=l.slice().sort(o),g=u.slice().sort(o),P=0;P<c;++P)if(f=M[P]-g[P],f)return f;return 0}}},3788:function(i,a,o){\"use strict\";var s=o(8507),l=o(2419);i.exports=u;function u(c,f){return s(c,f)||l(c)-l(f)}},7352:function(i,a,o){\"use strict\";var s=o(5721),l=o(4750),u=o(2690);i.exports=c;function c(f){var h=f.length;if(h===0)return[];if(h===1)return[[0]];var d=f[0].length;return d===0?[]:d===1?s(f):d===2?l(f):u(f,d)}},5721:function(i){\"use strict\";i.exports=a;function a(o){for(var s=0,l=0,u=1;u<o.length;++u)o[u][0]<o[s][0]&&(s=u),o[u][0]>o[l][0]&&(l=u);return s<l?[[s],[l]]:s>l?[[l],[s]]:[[s]]}},4750:function(i,a,o){\"use strict\";i.exports=l;var s=o(3090);function l(u){var c=s(u),f=c.length;if(f<=2)return[];for(var h=new Array(f),d=c[f-1],v=0;v<f;++v){var x=c[v];h[v]=[d,x],d=x}return h}},2690:function(i,a,o){\"use strict\";i.exports=f;var s=o(8954),l=o(3952);function u(h,d){for(var v=h.length,x=new Array(v),b=0;b<d.length;++b)x[b]=h[d[b]];for(var p=d.length,b=0;b<v;++b)d.indexOf(b)<0&&(x[p++]=h[b]);return x}function c(h,d){for(var v=h.length,x=d.length,b=0;b<v;++b)for(var p=h[b],E=0;E<p.length;++E){var k=p[E];if(k<x)p[E]=d[k];else{k=k-x;for(var A=0;A<x;++A)k>=d[A]&&(k+=1);p[E]=k}}return h}function f(h,d){try{return s(h,!0)}catch(p){var v=l(h);if(v.length<=d)return[];var x=u(h,v),b=s(x,!0);return c(b,v)}}},4769:function(i){\"use strict\";function a(s,l,u,c,f,h){var d=6*f*f-6*f,v=3*f*f-4*f+1,x=-6*f*f+6*f,b=3*f*f-2*f;if(s.length){h||(h=new Array(s.length));for(var p=s.length-1;p>=0;--p)h[p]=d*s[p]+v*l[p]+x*u[p]+b*c[p];return h}return d*s+v*l+x*u[p]+b*c}function o(s,l,u,c,f,h){var d=f-1,v=f*f,x=d*d,b=(1+2*f)*x,p=f*x,E=v*(3-2*f),k=v*d;if(s.length){h||(h=new Array(s.length));for(var A=s.length-1;A>=0;--A)h[A]=b*s[A]+p*l[A]+E*u[A]+k*c[A];return h}return b*s+p*l+E*u+k*c}i.exports=o,i.exports.derivative=a},7642:function(i,a,o){\"use strict\";var s=o(8954),l=o(1682);i.exports=h;function u(d,v){this.point=d,this.index=v}function c(d,v){for(var x=d.point,b=v.point,p=x.length,E=0;E<p;++E){var k=b[E]-x[E];if(k)return k}return 0}function f(d,v,x){if(d===1)return x?[[-1,0]]:[];var b=v.map(function(L,_){return[L[0],_]});b.sort(function(L,_){return L[0]-_[0]});for(var p=new Array(d-1),E=1;E<d;++E){var k=b[E-1],A=b[E];p[E-1]=[k[1],A[1]]}return x&&p.push([-1,p[0][1]],[p[d-1][1],-1]),p}function h(d,v){var x=d.length;if(x===0)return[];var b=d[0].length;if(b<1)return[];if(b===1)return f(x,d,v);for(var p=new Array(x),E=1,k=0;k<x;++k){for(var A=d[k],L=new Array(b+1),_=0,C=0;C<b;++C){var M=A[C];L[C]=M,_+=M*M}L[b]=_,p[k]=new u(L,k),E=Math.max(_,E)}l(p,c),x=p.length;for(var g=new Array(x+b+1),P=new Array(x+b+1),T=(b+1)*(b+1)*E,F=new Array(b+1),k=0;k<=b;++k)F[k]=0;F[b]=T,g[0]=F.slice(),P[0]=-1;for(var k=0;k<=b;++k){var L=F.slice();L[k]=1,g[k+1]=L,P[k+1]=-1}for(var k=0;k<x;++k){var q=p[k];g[k+b+1]=q.point,P[k+b+1]=q.index}var V=s(g,!1);if(v?V=V.filter(function(H){for(var X=0,G=0;G<=b;++G){var N=P[H[G]];if(N<0&&++X>=2)return!1;H[G]=N}return!0}):V=V.filter(function(H){for(var X=0;X<=b;++X){var G=P[H[X]];if(G<0)return!1;H[X]=G}return!0}),b&1)for(var k=0;k<V.length;++k){var q=V[k],L=q[0];q[0]=q[1],q[1]=L}return V}},2361:function(i){var a=!1;if(typeof Float64Array!=\"undefined\"){var o=new Float64Array(1),s=new Uint32Array(o.buffer);if(o[0]=1,a=!0,s[1]===1072693248){let E=function(L,_){return s[0]=L,s[1]=_,o[0]},k=function(L){return o[0]=L,s[0]},A=function(L){return o[0]=L,s[1]};var u=E,c=k,f=A;i.exports=function(_){return o[0]=_,[s[0],s[1]]},i.exports.pack=E,i.exports.lo=k,i.exports.hi=A}else if(s[0]===1072693248){let E=function(L,_){return s[1]=L,s[0]=_,o[0]},k=function(L){return o[0]=L,s[1]},A=function(L){return o[0]=L,s[0]};var h=E,d=k,v=A;i.exports=function(_){return o[0]=_,[s[1],s[0]]},i.exports.pack=E,i.exports.lo=k,i.exports.hi=A}else a=!1}if(!a){let E=function(L,_){return l.writeUInt32LE(L,0,!0),l.writeUInt32LE(_,4,!0),l.readDoubleLE(0,!0)},k=function(L){return l.writeDoubleLE(L,0,!0),l.readUInt32LE(0,!0)},A=function(L){return l.writeDoubleLE(L,0,!0),l.readUInt32LE(4,!0)};var x=E,b=k,p=A,l=new Buffer(8);i.exports=function(_){return l.writeDoubleLE(_,0,!0),[l.readUInt32LE(0,!0),l.readUInt32LE(4,!0)]},i.exports.pack=E,i.exports.lo=k,i.exports.hi=A}i.exports.sign=function(E){return i.exports.hi(E)>>>31},i.exports.exponent=function(E){var k=i.exports.hi(E);return(k<<1>>>21)-1023},i.exports.fraction=function(E){var k=i.exports.lo(E),A=i.exports.hi(E),L=A&(1<<20)-1;return A&2146435072&&(L+=1048576),[k,L]},i.exports.denormalized=function(E){var k=i.exports.hi(E);return!(k&2146435072)}},1338:function(i){\"use strict\";function a(l,u,c){var f=l[c]|0;if(f<=0)return[];var h=new Array(f),d;if(c===l.length-1)for(d=0;d<f;++d)h[d]=u;else for(d=0;d<f;++d)h[d]=a(l,u,c+1);return h}function o(l,u){var c,f;for(c=new Array(l),f=0;f<l;++f)c[f]=u;return c}function s(l,u){switch(typeof u==\"undefined\"&&(u=0),typeof l){case\"number\":if(l>0)return o(l|0,u);break;case\"object\":if(typeof l.length==\"number\")return a(l,u,0);break}return[]}i.exports=s},3134:function(i,a,o){\"use strict\";i.exports=l;var s=o(1682);function l(u,c){var f=u.length;if(typeof c!=\"number\"){c=0;for(var h=0;h<f;++h){var d=u[h];c=Math.max(c,d[0],d[1])}c=(c|0)+1}c=c|0;for(var v=new Array(c),h=0;h<c;++h)v[h]=[];for(var h=0;h<f;++h){var d=u[h];v[d[0]].push(d[1]),v[d[1]].push(d[0])}for(var x=0;x<c;++x)s(v[x],function(b,p){return b-p});return v}},5033:function(i){\"use strict\";i.exports=a;function a(o,s,l){var u=s||0,c=l||1;return[[o[12]+o[0],o[13]+o[1],o[14]+o[2],o[15]+o[3]],[o[12]-o[0],o[13]-o[1],o[14]-o[2],o[15]-o[3]],[o[12]+o[4],o[13]+o[5],o[14]+o[6],o[15]+o[7]],[o[12]-o[4],o[13]-o[5],o[14]-o[6],o[15]-o[7]],[u*o[12]+o[8],u*o[13]+o[9],u*o[14]+o[10],u*o[15]+o[11]],[c*o[12]-o[8],c*o[13]-o[9],c*o[14]-o[10],c*o[15]-o[11]]]}},9215:function(i,a,o){\"use strict\";i.exports=d;var s=o(4769),l=o(2478);function u(v,x,b){return Math.min(x,Math.max(v,b))}function c(v,x,b){this.dimension=v.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var p=0;p<this.dimension;++p)this.bounds[0][p]=-1/0,this.bounds[1][p]=1/0;this._state=v.slice().reverse(),this._velocity=x.slice().reverse(),this._time=[b],this._scratch=[v.slice(),v.slice(),v.slice(),v.slice(),v.slice()]}var f=c.prototype;f.flush=function(v){var x=l.gt(this._time,v)-1;x<=0||(this._time.splice(0,x),this._state.splice(0,x*this.dimension),this._velocity.splice(0,x*this.dimension))},f.curve=function(v){var x=this._time,b=x.length,p=l.le(x,v),E=this._scratch[0],k=this._state,A=this._velocity,L=this.dimension,_=this.bounds;if(p<0)for(var C=L-1,M=0;M<L;++M,--C)E[M]=k[C];else if(p>=b-1)for(var C=k.length-1,g=v-x[b-1],M=0;M<L;++M,--C)E[M]=k[C]+g*A[C];else{for(var C=L*(p+1)-1,P=x[p],T=x[p+1],F=T-P||1,q=this._scratch[1],V=this._scratch[2],H=this._scratch[3],X=this._scratch[4],G=!0,M=0;M<L;++M,--C)q[M]=k[C],H[M]=A[C]*F,V[M]=k[C+L],X[M]=A[C+L]*F,G=G&&q[M]===V[M]&&H[M]===X[M]&&H[M]===0;if(G)for(var M=0;M<L;++M)E[M]=q[M];else s(q,H,V,X,(v-P)/F,E)}for(var N=_[0],W=_[1],M=0;M<L;++M)E[M]=u(N[M],W[M],E[M]);return E},f.dcurve=function(v){var x=this._time,b=x.length,p=l.le(x,v),E=this._scratch[0],k=this._state,A=this._velocity,L=this.dimension;if(p>=b-1)for(var _=k.length-1,C=v-x[b-1],M=0;M<L;++M,--_)E[M]=A[_];else{for(var _=L*(p+1)-1,g=x[p],P=x[p+1],T=P-g||1,F=this._scratch[1],q=this._scratch[2],V=this._scratch[3],H=this._scratch[4],X=!0,M=0;M<L;++M,--_)F[M]=k[_],V[M]=A[_]*T,q[M]=k[_+L],H[M]=A[_+L]*T,X=X&&F[M]===q[M]&&V[M]===H[M]&&V[M]===0;if(X)for(var M=0;M<L;++M)E[M]=0;else{s.derivative(F,V,q,H,(v-g)/T,E);for(var M=0;M<L;++M)E[M]/=T}}return E},f.lastT=function(){var v=this._time;return v[v.length-1]},f.stable=function(){for(var v=this._velocity,x=v.length,b=this.dimension-1;b>=0;--b)if(v[--x])return!1;return!0},f.jump=function(v){var x=this.lastT(),b=this.dimension;if(!(v<x||arguments.length!==b+1)){var p=this._state,E=this._velocity,k=p.length-this.dimension,A=this.bounds,L=A[0],_=A[1];this._time.push(x,v);for(var C=0;C<2;++C)for(var M=0;M<b;++M)p.push(p[k++]),E.push(0);this._time.push(v);for(var M=b;M>0;--M)p.push(u(L[M-1],_[M-1],arguments[M])),E.push(0)}},f.push=function(v){var x=this.lastT(),b=this.dimension;if(!(v<x||arguments.length!==b+1)){var p=this._state,E=this._velocity,k=p.length-this.dimension,A=v-x,L=this.bounds,_=L[0],C=L[1],M=A>1e-6?1/A:0;this._time.push(v);for(var g=b;g>0;--g){var P=u(_[g-1],C[g-1],arguments[g]);p.push(P),E.push((P-p[k++])*M)}}},f.set=function(v){var x=this.dimension;if(!(v<this.lastT()||arguments.length!==x+1)){var b=this._state,p=this._velocity,E=this.bounds,k=E[0],A=E[1];this._time.push(v);for(var L=x;L>0;--L)b.push(u(k[L-1],A[L-1],arguments[L])),p.push(0)}},f.move=function(v){var x=this.lastT(),b=this.dimension;if(!(v<=x||arguments.length!==b+1)){var p=this._state,E=this._velocity,k=p.length-this.dimension,A=this.bounds,L=A[0],_=A[1],C=v-x,M=C>1e-6?1/C:0;this._time.push(v);for(var g=b;g>0;--g){var P=arguments[g];p.push(u(L[g-1],_[g-1],p[k++]+P)),E.push(P*M)}}},f.idle=function(v){var x=this.lastT();if(!(v<x)){var b=this.dimension,p=this._state,E=this._velocity,k=p.length-b,A=this.bounds,L=A[0],_=A[1],C=v-x;this._time.push(v);for(var M=b-1;M>=0;--M)p.push(u(L[M],_[M],p[k]+C*E[k])),E.push(0),k+=1}};function h(v){for(var x=new Array(v),b=0;b<v;++b)x[b]=0;return x}function d(v,x,b){switch(arguments.length){case 0:return new c([0],[0],0);case 1:if(typeof v==\"number\"){var p=h(v);return new c(p,p,0)}else return new c(v,h(v.length),0);case 2:if(typeof x==\"number\"){var p=h(v.length);return new c(v,p,+x)}else b=0;case 3:if(v.length!==x.length)throw new Error(\"state and velocity lengths must match\");return new c(v,x,b)}}},3840:function(i){\"use strict\";i.exports=L;var a=0,o=1;function s(_,C,M,g,P,T){this._color=_,this.key=C,this.value=M,this.left=g,this.right=P,this._count=T}function l(_){return new s(_._color,_.key,_.value,_.left,_.right,_._count)}function u(_,C){return new s(_,C.key,C.value,C.left,C.right,C._count)}function c(_){_._count=1+(_.left?_.left._count:0)+(_.right?_.right._count:0)}function f(_,C){this._compare=_,this.root=C}var h=f.prototype;Object.defineProperty(h,\"keys\",{get:function(){var _=[];return this.forEach(function(C,M){_.push(C)}),_}}),Object.defineProperty(h,\"values\",{get:function(){var _=[];return this.forEach(function(C,M){_.push(M)}),_}}),Object.defineProperty(h,\"length\",{get:function(){return this.root?this.root._count:0}}),h.insert=function(_,C){for(var M=this._compare,g=this.root,P=[],T=[];g;){var F=M(_,g.key);P.push(g),T.push(F),F<=0?g=g.left:g=g.right}P.push(new s(a,_,C,null,null,1));for(var q=P.length-2;q>=0;--q){var g=P[q];T[q]<=0?P[q]=new s(g._color,g.key,g.value,P[q+1],g.right,g._count+1):P[q]=new s(g._color,g.key,g.value,g.left,P[q+1],g._count+1)}for(var q=P.length-1;q>1;--q){var V=P[q-1],g=P[q];if(V._color===o||g._color===o)break;var H=P[q-2];if(H.left===V)if(V.left===g){var X=H.right;if(X&&X._color===a)V._color=o,H.right=u(o,X),H._color=a,q-=1;else{if(H._color=a,H.left=V.right,V._color=o,V.right=H,P[q-2]=V,P[q-1]=g,c(H),c(V),q>=3){var G=P[q-3];G.left===H?G.left=V:G.right=V}break}}else{var X=H.right;if(X&&X._color===a)V._color=o,H.right=u(o,X),H._color=a,q-=1;else{if(V.right=g.left,H._color=a,H.left=g.right,g._color=o,g.left=V,g.right=H,P[q-2]=g,P[q-1]=V,c(H),c(V),c(g),q>=3){var G=P[q-3];G.left===H?G.left=g:G.right=g}break}}else if(V.right===g){var X=H.left;if(X&&X._color===a)V._color=o,H.left=u(o,X),H._color=a,q-=1;else{if(H._color=a,H.right=V.left,V._color=o,V.left=H,P[q-2]=V,P[q-1]=g,c(H),c(V),q>=3){var G=P[q-3];G.right===H?G.right=V:G.left=V}break}}else{var X=H.left;if(X&&X._color===a)V._color=o,H.left=u(o,X),H._color=a,q-=1;else{if(V.left=g.right,H._color=a,H.right=g.left,g._color=o,g.right=V,g.left=H,P[q-2]=g,P[q-1]=V,c(H),c(V),c(g),q>=3){var G=P[q-3];G.right===H?G.right=g:G.left=g}break}}}return P[0]._color=o,new f(M,P[0])};function d(_,C){if(C.left){var M=d(_,C.left);if(M)return M}var M=_(C.key,C.value);if(M)return M;if(C.right)return d(_,C.right)}function v(_,C,M,g){var P=C(_,g.key);if(P<=0){if(g.left){var T=v(_,C,M,g.left);if(T)return T}var T=M(g.key,g.value);if(T)return T}if(g.right)return v(_,C,M,g.right)}function x(_,C,M,g,P){var T=M(_,P.key),F=M(C,P.key),q;if(T<=0&&(P.left&&(q=x(_,C,M,g,P.left),q)||F>0&&(q=g(P.key,P.value),q)))return q;if(F>0&&P.right)return x(_,C,M,g,P.right)}h.forEach=function(C,M,g){if(this.root)switch(arguments.length){case 1:return d(C,this.root);case 2:return v(M,this._compare,C,this.root);case 3:return this._compare(M,g)>=0?void 0:x(M,g,this._compare,C,this.root)}},Object.defineProperty(h,\"begin\",{get:function(){for(var _=[],C=this.root;C;)_.push(C),C=C.left;return new b(this,_)}}),Object.defineProperty(h,\"end\",{get:function(){for(var _=[],C=this.root;C;)_.push(C),C=C.right;return new b(this,_)}}),h.at=function(_){if(_<0)return new b(this,[]);for(var C=this.root,M=[];;){if(M.push(C),C.left){if(_<C.left._count){C=C.left;continue}_-=C.left._count}if(!_)return new b(this,M);if(_-=1,C.right){if(_>=C.right._count)break;C=C.right}else break}return new b(this,[])},h.ge=function(_){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(_,M.key);g.push(M),T<=0&&(P=g.length),T<=0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.gt=function(_){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(_,M.key);g.push(M),T<0&&(P=g.length),T<0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.lt=function(_){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(_,M.key);g.push(M),T>0&&(P=g.length),T<=0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.le=function(_){for(var C=this._compare,M=this.root,g=[],P=0;M;){var T=C(_,M.key);g.push(M),T>=0&&(P=g.length),T<0?M=M.left:M=M.right}return g.length=P,new b(this,g)},h.find=function(_){for(var C=this._compare,M=this.root,g=[];M;){var P=C(_,M.key);if(g.push(M),P===0)return new b(this,g);P<=0?M=M.left:M=M.right}return new b(this,[])},h.remove=function(_){var C=this.find(_);return C?C.remove():this},h.get=function(_){for(var C=this._compare,M=this.root;M;){var g=C(_,M.key);if(g===0)return M.value;g<=0?M=M.left:M=M.right}};function b(_,C){this.tree=_,this._stack=C}var p=b.prototype;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 b(this.tree,this._stack.slice())};function E(_,C){_.key=C.key,_.value=C.value,_.left=C.left,_.right=C.right,_._color=C._color,_._count=C._count}function k(_){for(var C,M,g,P,T=_.length-1;T>=0;--T){if(C=_[T],T===0){C._color=o;return}if(M=_[T-1],M.left===C){if(g=M.right,g.right&&g.right._color===a){if(g=M.right=l(g),P=g.right=l(g.right),M.right=g.left,g.left=M,g.right=P,g._color=M._color,C._color=o,M._color=o,P._color=o,c(M),c(g),T>1){var F=_[T-2];F.left===M?F.left=g:F.right=g}_[T-1]=g;return}else if(g.left&&g.left._color===a){if(g=M.right=l(g),P=g.left=l(g.left),M.right=P.left,g.left=P.right,P.left=M,P.right=g,P._color=M._color,M._color=o,g._color=o,C._color=o,c(M),c(g),c(P),T>1){var F=_[T-2];F.left===M?F.left=P:F.right=P}_[T-1]=P;return}if(g._color===o)if(M._color===a){M._color=o,M.right=u(a,g);return}else{M.right=u(a,g);continue}else{if(g=l(g),M.right=g.left,g.left=M,g._color=M._color,M._color=a,c(M),c(g),T>1){var F=_[T-2];F.left===M?F.left=g:F.right=g}_[T-1]=g,_[T]=M,T+1<_.length?_[T+1]=C:_.push(C),T=T+2}}else{if(g=M.left,g.left&&g.left._color===a){if(g=M.left=l(g),P=g.left=l(g.left),M.left=g.right,g.right=M,g.left=P,g._color=M._color,C._color=o,M._color=o,P._color=o,c(M),c(g),T>1){var F=_[T-2];F.right===M?F.right=g:F.left=g}_[T-1]=g;return}else if(g.right&&g.right._color===a){if(g=M.left=l(g),P=g.right=l(g.right),M.left=P.right,g.right=P.left,P.right=M,P.left=g,P._color=M._color,M._color=o,g._color=o,C._color=o,c(M),c(g),c(P),T>1){var F=_[T-2];F.right===M?F.right=P:F.left=P}_[T-1]=P;return}if(g._color===o)if(M._color===a){M._color=o,M.left=u(a,g);return}else{M.left=u(a,g);continue}else{if(g=l(g),M.left=g.right,g.right=M,g._color=M._color,M._color=a,c(M),c(g),T>1){var F=_[T-2];F.right===M?F.right=g:F.left=g}_[T-1]=g,_[T]=M,T+1<_.length?_[T+1]=C:_.push(C),T=T+2}}}}p.remove=function(){var _=this._stack;if(_.length===0)return this.tree;var C=new Array(_.length),M=_[_.length-1];C[C.length-1]=new s(M._color,M.key,M.value,M.left,M.right,M._count);for(var g=_.length-2;g>=0;--g){var M=_[g];M.left===_[g+1]?C[g]=new s(M._color,M.key,M.value,C[g+1],M.right,M._count):C[g]=new s(M._color,M.key,M.value,M.left,C[g+1],M._count)}if(M=C[C.length-1],M.left&&M.right){var P=C.length;for(M=M.left;M.right;)C.push(M),M=M.right;var T=C[P-1];C.push(new s(M._color,T.key,T.value,M.left,M.right,M._count)),C[P-1].key=M.key,C[P-1].value=M.value;for(var g=C.length-2;g>=P;--g)M=C[g],C[g]=new s(M._color,M.key,M.value,M.left,C[g+1],M._count);C[P-1].left=C[P]}if(M=C[C.length-1],M._color===a){var F=C[C.length-2];F.left===M?F.left=null:F.right===M&&(F.right=null),C.pop();for(var g=0;g<C.length;++g)C[g]._count--;return new f(this.tree._compare,C[0])}else if(M.left||M.right){M.left?E(M,M.left):M.right&&E(M,M.right),M._color=o;for(var g=0;g<C.length-1;++g)C[g]._count--;return new f(this.tree._compare,C[0])}else{if(C.length===1)return new f(this.tree._compare,null);for(var g=0;g<C.length;++g)C[g]._count--;var q=C[C.length-2];k(C),q.left===M?q.left=null:q.right=null}return new f(this.tree._compare,C[0])},Object.defineProperty(p,\"key\",{get:function(){if(this._stack.length>0)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 _=0,C=this._stack;if(C.length===0){var M=this.tree.root;return M?M._count:0}else C[C.length-1].left&&(_=C[C.length-1].left._count);for(var g=C.length-2;g>=0;--g)C[g+1]===C[g].right&&(++_,C[g].left&&(_+=C[g].left._count));return _},enumerable:!0}),p.next=function(){var _=this._stack;if(_.length!==0){var C=_[_.length-1];if(C.right)for(C=C.right;C;)_.push(C),C=C.left;else for(_.pop();_.length>0&&_[_.length-1].right===C;)C=_[_.length-1],_.pop()}},Object.defineProperty(p,\"hasNext\",{get:function(){var _=this._stack;if(_.length===0)return!1;if(_[_.length-1].right)return!0;for(var C=_.length-1;C>0;--C)if(_[C-1].left===_[C])return!0;return!1}}),p.update=function(_){var C=this._stack;if(C.length===0)throw new Error(\"Can't update empty node!\");var M=new Array(C.length),g=C[C.length-1];M[M.length-1]=new s(g._color,g.key,_,g.left,g.right,g._count);for(var P=C.length-2;P>=0;--P)g=C[P],g.left===C[P+1]?M[P]=new s(g._color,g.key,g.value,M[P+1],g.right,g._count):M[P]=new s(g._color,g.key,g.value,g.left,M[P+1],g._count);return new f(this.tree._compare,M[0])},p.prev=function(){var _=this._stack;if(_.length!==0){var C=_[_.length-1];if(C.left)for(C=C.left;C;)_.push(C),C=C.right;else for(_.pop();_.length>0&&_[_.length-1].left===C;)C=_[_.length-1],_.pop()}},Object.defineProperty(p,\"hasPrev\",{get:function(){var _=this._stack;if(_.length===0)return!1;if(_[_.length-1].left)return!0;for(var C=_.length-1;C>0;--C)if(_[C-1].right===_[C])return!0;return!1}});function A(_,C){return _<C?-1:_>C?1:0}function L(_){return new f(_||A,null)}},3837:function(i,a,o){\"use strict\";i.exports=q;var s=o(4935),l=o(501),u=o(5304),c=o(6429),f=o(6444),h=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),d=ArrayBuffer,v=DataView;function x(V){return d.isView(V)&&!(V instanceof v)}function b(V){return Array.isArray(V)||x(V)}function p(V,H){return V[0]=H[0],V[1]=H[1],V[2]=H[2],V}function E(V){this.gl=V,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=u(V)}var k=E.prototype;k.update=function(V){V=V||{};function H(Ae,ze,Ce){if(Ce in V){var me=V[Ce],Re=this[Ce],ce;(Ae?b(me)&&b(me[0]):b(me))?this[Ce]=ce=[ze(me[0]),ze(me[1]),ze(me[2])]:this[Ce]=ce=[ze(me),ze(me),ze(me)];for(var Ge=0;Ge<3;++Ge)if(ce[Ge]!==Re[Ge])return!0}return!1}var X=H.bind(this,!1,Number),G=H.bind(this,!1,Boolean),N=H.bind(this,!1,String),W=H.bind(this,!0,function(Ae){if(b(Ae)){if(Ae.length===3)return[+Ae[0],+Ae[1],+Ae[2],1];if(Ae.length===4)return[+Ae[0],+Ae[1],+Ae[2],+Ae[3]]}return[0,0,0,1]}),re,ae=!1,_e=!1;if(\"bounds\"in V)for(var Me=V.bounds,ke=0;ke<2;++ke)for(var ge=0;ge<3;++ge)Me[ke][ge]!==this.bounds[ke][ge]&&(_e=!0),this.bounds[ke][ge]=Me[ke][ge];if(\"ticks\"in V){re=V.ticks,ae=!0,this.autoTicks=!1;for(var ke=0;ke<3;++ke)this.tickSpacing[ke]=0}else X(\"tickSpacing\")&&(this.autoTicks=!0,_e=!0);if(this._firstInit&&(\"ticks\"in V||\"tickSpacing\"in V||(this.autoTicks=!0),_e=!0,ae=!0,this._firstInit=!1),_e&&this.autoTicks&&(re=f.create(this.bounds,this.tickSpacing),ae=!0),ae){for(var ke=0;ke<3;++ke)re[ke].sort(function(ze,Ce){return ze.x-Ce.x});f.equal(re,this.ticks)?ae=!1:this.ticks=re}G(\"tickEnable\"),N(\"tickFont\")&&(ae=!0),N(\"tickFontStyle\")&&(ae=!0),N(\"tickFontWeight\")&&(ae=!0),N(\"tickFontVariant\")&&(ae=!0),X(\"tickSize\"),X(\"tickAngle\"),X(\"tickPad\"),W(\"tickColor\");var ie=N(\"labels\");N(\"labelFont\")&&(ie=!0),N(\"labelFontStyle\")&&(ie=!0),N(\"labelFontWeight\")&&(ie=!0),N(\"labelFontVariant\")&&(ie=!0),G(\"labelEnable\"),X(\"labelSize\"),X(\"labelPad\"),W(\"labelColor\"),G(\"lineEnable\"),G(\"lineMirror\"),X(\"lineWidth\"),W(\"lineColor\"),G(\"lineTickEnable\"),G(\"lineTickMirror\"),X(\"lineTickLength\"),X(\"lineTickWidth\"),W(\"lineTickColor\"),G(\"gridEnable\"),X(\"gridWidth\"),W(\"gridColor\"),G(\"zeroEnable\"),W(\"zeroLineColor\"),X(\"zeroLineWidth\"),G(\"backgroundEnable\"),W(\"backgroundColor\");var Te=[{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]}],Ee=[{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&&(ie||ae)&&this._text.update(this.bounds,this.labels,Te,this.ticks,Ee):this._text=s(this.gl,this.bounds,this.labels,Te,this.ticks,Ee),this._lines&&ae&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=l(this.gl,this.bounds,this.ticks))};function A(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}var L=[new A,new A,new A];function _(V,H,X,G,N){for(var W=V.primalOffset,re=V.primalMinor,ae=V.mirrorOffset,_e=V.mirrorMinor,Me=G[H],ke=0;ke<3;++ke)if(H!==ke){var ge=W,ie=ae,Te=re,Ee=_e;Me&1<<ke&&(ge=ae,ie=W,Te=_e,Ee=re),ge[ke]=X[0][ke],ie[ke]=X[1][ke],N[ke]>0?(Te[ke]=-1,Ee[ke]=0):(Te[ke]=0,Ee[ke]=1)}}var C=[0,0,0],M={model:h,view:h,projection:h,_ortho:!1};k.isOpaque=function(){return!0},k.isTransparent=function(){return!1},k.drawTransparent=function(V){};var g=0,P=[0,0,0],T=[0,0,0],F=[0,0,0];k.draw=function(V){V=V||M;for(var Ce=this.gl,H=V.model||h,X=V.view||h,G=V.projection||h,N=this.bounds,W=V._ortho||!1,re=c(H,X,G,N,W),ae=re.cubeEdges,_e=re.axis,Me=X[12],ke=X[13],ge=X[14],ie=X[15],Te=W?2:1,Ee=Te*this.pixelRatio*(G[3]*Me+G[7]*ke+G[11]*ge+G[15]*ie)/Ce.drawingBufferHeight,Ae=0;Ae<3;++Ae)this.lastCubeProps.cubeEdges[Ae]=ae[Ae],this.lastCubeProps.axis[Ae]=_e[Ae];for(var ze=L,Ae=0;Ae<3;++Ae)_(L[Ae],Ae,this.bounds,ae,_e);for(var Ce=this.gl,me=C,Ae=0;Ae<3;++Ae)this.backgroundEnable[Ae]?me[Ae]=_e[Ae]:me[Ae]=0;this._background.draw(H,X,G,N,me,this.backgroundColor),this._lines.bind(H,X,G,this);for(var Ae=0;Ae<3;++Ae){var Re=[0,0,0];_e[Ae]>0?Re[Ae]=N[1][Ae]:Re[Ae]=N[0][Ae];for(var ce=0;ce<2;++ce){var Ge=(Ae+1+ce)%3,nt=(Ae+1+(ce^1))%3;this.gridEnable[Ge]&&this._lines.drawGrid(Ge,nt,this.bounds,Re,this.gridColor[Ge],this.gridWidth[Ge]*this.pixelRatio)}for(var ce=0;ce<2;++ce){var Ge=(Ae+1+ce)%3,nt=(Ae+1+(ce^1))%3;this.zeroEnable[nt]&&Math.min(N[0][nt],N[1][nt])<=0&&Math.max(N[0][nt],N[1][nt])>=0&&this._lines.drawZero(Ge,nt,this.bounds,Re,this.zeroLineColor[nt],this.zeroLineWidth[nt]*this.pixelRatio)}}for(var Ae=0;Ae<3;++Ae){this.lineEnable[Ae]&&this._lines.drawAxisLine(Ae,this.bounds,ze[Ae].primalOffset,this.lineColor[Ae],this.lineWidth[Ae]*this.pixelRatio),this.lineMirror[Ae]&&this._lines.drawAxisLine(Ae,this.bounds,ze[Ae].mirrorOffset,this.lineColor[Ae],this.lineWidth[Ae]*this.pixelRatio);for(var ct=p(P,ze[Ae].primalMinor),qt=p(T,ze[Ae].mirrorMinor),rt=this.lineTickLength,ce=0;ce<3;++ce){var ot=Ee/H[5*ce];ct[ce]*=rt[ce]*ot,qt[ce]*=rt[ce]*ot}this.lineTickEnable[Ae]&&this._lines.drawAxisTicks(Ae,ze[Ae].primalOffset,ct,this.lineTickColor[Ae],this.lineTickWidth[Ae]*this.pixelRatio),this.lineTickMirror[Ae]&&this._lines.drawAxisTicks(Ae,ze[Ae].mirrorOffset,qt,this.lineTickColor[Ae],this.lineTickWidth[Ae]*this.pixelRatio)}this._lines.unbind(),this._text.bind(H,X,G,this.pixelRatio);var Rt,kt=.5,Ct,Yt;function xr(St){Yt=[0,0,0],Yt[St]=1}function er(St,Et,dt){var Ht=(St+1)%3,$t=(St+2)%3,fr=Et[Ht],_r=Et[$t],Br=dt[Ht],Or=dt[$t];if(fr>0&&Or>0){xr(Ht);return}else if(fr>0&&Or<0){xr(Ht);return}else if(fr<0&&Or>0){xr(Ht);return}else if(fr<0&&Or<0){xr(Ht);return}else if(_r>0&&Br>0){xr($t);return}else if(_r>0&&Br<0){xr($t);return}else if(_r<0&&Br>0){xr($t);return}else if(_r<0&&Br<0){xr($t);return}}for(var Ae=0;Ae<3;++Ae){for(var Ke=ze[Ae].primalMinor,xt=ze[Ae].mirrorMinor,bt=p(F,ze[Ae].primalOffset),ce=0;ce<3;++ce)this.lineTickEnable[Ae]&&(bt[ce]+=Ee*Ke[ce]*Math.max(this.lineTickLength[ce],0)/H[5*ce]);var Lt=[0,0,0];if(Lt[Ae]=1,this.tickEnable[Ae]){this.tickAngle[Ae]===-3600?(this.tickAngle[Ae]=0,this.tickAlign[Ae]=\"auto\"):this.tickAlign[Ae]=-1,Ct=1,Rt=[this.tickAlign[Ae],kt,Ct],Rt[0]===\"auto\"?Rt[0]=g:Rt[0]=parseInt(\"\"+Rt[0]),Yt=[0,0,0],er(Ae,Ke,xt);for(var ce=0;ce<3;++ce)bt[ce]+=Ee*Ke[ce]*this.tickPad[ce]/H[5*ce];this._text.drawTicks(Ae,this.tickSize[Ae],this.tickAngle[Ae],bt,this.tickColor[Ae],Lt,Yt,Rt)}if(this.labelEnable[Ae]){Ct=0,Yt=[0,0,0],this.labels[Ae].length>4&&(xr(Ae),Ct=1),Rt=[this.labelAlign[Ae],kt,Ct],Rt[0]===\"auto\"?Rt[0]=g:Rt[0]=parseInt(\"\"+Rt[0]);for(var ce=0;ce<3;++ce)bt[ce]+=Ee*Ke[ce]*this.labelPad[ce]/H[5*ce];bt[Ae]+=.5*(N[0][Ae]+N[1][Ae]),this._text.drawLabel(Ae,this.labelSize[Ae],this.labelAngle[Ae],bt,this.labelColor[Ae],[0,0,0],Yt,Rt)}}this._text.unbind()},k.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null};function q(V,H){var X=new E(V);return X.update(H),X}},5304:function(i,a,o){\"use strict\";i.exports=h;var s=o(2762),l=o(8116),u=o(1879).bg;function c(d,v,x,b){this.gl=d,this.buffer=v,this.vao=x,this.shader=b}var f=c.prototype;f.draw=function(d,v,x,b,p,E){for(var k=!1,A=0;A<3;++A)k=k||p[A];if(k){var L=this.gl;L.enable(L.POLYGON_OFFSET_FILL),L.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:d,view:v,projection:x,bounds:b,enable:p,colors:E},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),L.disable(L.POLYGON_OFFSET_FILL)}},f.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};function h(d){for(var v=[],x=[],b=0,p=0;p<3;++p)for(var E=(p+1)%3,k=(p+2)%3,A=[0,0,0],L=[0,0,0],_=-1;_<=1;_+=2){x.push(b,b+2,b+1,b+1,b+2,b+3),A[p]=_,L[p]=_;for(var C=-1;C<=1;C+=2){A[E]=C;for(var M=-1;M<=1;M+=2)A[k]=M,v.push(A[0],A[1],A[2],L[0],L[1],L[2]),b+=1}var g=E;E=k,k=g}var P=s(d,new Float32Array(v)),T=s(d,new Uint16Array(x),d.ELEMENT_ARRAY_BUFFER),F=l(d,[{buffer:P,type:d.FLOAT,size:3,offset:0,stride:24},{buffer:P,type:d.FLOAT,size:3,offset:12,stride:24}],T),q=u(d);return q.attributes.position.location=0,q.attributes.normal.location=1,new c(d,P,F,q)}},6429:function(i,a,o){\"use strict\";i.exports=_;var s=o(8828),l=o(6760),u=o(5202),c=o(3250),f=new Array(16),h=new Array(8),d=new Array(8),v=new Array(3),x=[0,0,0];(function(){for(var C=0;C<8;++C)h[C]=[1,1,1,1],d[C]=[1,1,1]})();function b(C,M,g){for(var P=0;P<4;++P){C[P]=g[12+P];for(var T=0;T<3;++T)C[P]+=M[T]*g[4*T+P]}}var p=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function E(C){for(var M=0;M<p.length;++M)if(C=u.positive(C,p[M]),C.length<3)return 0;for(var g=C[0],P=g[0]/g[3],T=g[1]/g[3],F=0,M=1;M+1<C.length;++M){var q=C[M],V=C[M+1],H=q[0]/q[3],X=q[1]/q[3],G=V[0]/V[3],N=V[1]/V[3],W=H-P,re=X-T,ae=G-P,_e=N-T;F+=Math.abs(W*_e-re*ae)}return F}var k=[1,1,1],A=[0,0,0],L={cubeEdges:k,axis:A};function _(C,M,g,P,T){l(f,M,C),l(f,g,f);for(var F=0,q=0;q<2;++q){v[2]=P[q][2];for(var V=0;V<2;++V){v[1]=P[V][1];for(var H=0;H<2;++H)v[0]=P[H][0],b(h[F],v,f),F+=1}}for(var X=-1,q=0;q<8;++q){for(var G=h[q][3],N=0;N<3;++N)d[q][N]=h[q][N]/G;T&&(d[q][2]*=-1),G<0&&(X<0||d[q][2]<d[X][2])&&(X=q)}if(X<0){X=0;for(var W=0;W<3;++W){for(var re=(W+2)%3,ae=(W+1)%3,_e=-1,Me=-1,ke=0;ke<2;++ke){var ge=ke<<W,ie=ge+(ke<<re)+(1-ke<<ae),Te=ge+(1-ke<<re)+(ke<<ae);c(d[ge],d[ie],d[Te],x)<0||(ke?_e=1:Me=1)}if(_e<0||Me<0){Me>_e&&(X|=1<<W);continue}for(var ke=0;ke<2;++ke){var ge=ke<<W,ie=ge+(ke<<re)+(1-ke<<ae),Te=ge+(1-ke<<re)+(ke<<ae),Ee=E([h[ge],h[ie],h[Te],h[ge+(1<<re)+(1<<ae)]]);ke?_e=Ee:Me=Ee}if(Me>_e){X|=1<<W;continue}}}for(var Ae=7^X,ze=-1,q=0;q<8;++q)q===X||q===Ae||(ze<0||d[ze][1]>d[q][1])&&(ze=q);for(var Ce=-1,q=0;q<3;++q){var me=ze^1<<q;if(!(me===X||me===Ae)){Ce<0&&(Ce=me);var ae=d[me];ae[0]<d[Ce][0]&&(Ce=me)}}for(var Re=-1,q=0;q<3;++q){var me=ze^1<<q;if(!(me===X||me===Ae||me===Ce)){Re<0&&(Re=me);var ae=d[me];ae[0]>d[Re][0]&&(Re=me)}}var ce=k;ce[0]=ce[1]=ce[2]=0,ce[s.log2(Ce^ze)]=ze&Ce,ce[s.log2(ze^Re)]=zeℜvar Ge=Re^7;Ge===X||Ge===Ae?(Ge=Ce^7,ce[s.log2(Re^Ge)]=Ge&Re):ce[s.log2(Ce^Ge)]=Ge&Ce;for(var nt=A,ct=X,W=0;W<3;++W)ct&1<<W?nt[W]=-1:nt[W]=1;return L}},501:function(i,a,o){\"use strict\";i.exports=k;var s=o(2762),l=o(8116),u=o(1879).n,c=[0,0,0],f=[0,0,0],h=[0,0,0],d=[0,0,0],v=[1,1];function x(A){return A[0]=A[1]=A[2]=0,A}function b(A,L){return A[0]=L[0],A[1]=L[1],A[2]=L[2],A}function p(A,L,_,C,M,g,P,T){this.gl=A,this.vertBuffer=L,this.vao=_,this.shader=C,this.tickCount=M,this.tickOffset=g,this.gridCount=P,this.gridOffset=T}var E=p.prototype;E.bind=function(A,L,_){this.shader.bind(),this.shader.uniforms.model=A,this.shader.uniforms.view=L,this.shader.uniforms.projection=_,v[0]=this.gl.drawingBufferWidth,v[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=v,this.vao.bind()},E.unbind=function(){this.vao.unbind()},E.drawAxisLine=function(A,L,_,C,M){var g=x(f);this.shader.uniforms.majorAxis=f,g[A]=L[1][A]-L[0][A],this.shader.uniforms.minorAxis=g;var P=b(d,_);P[A]+=L[0][A],this.shader.uniforms.offset=P,this.shader.uniforms.lineWidth=M,this.shader.uniforms.color=C;var T=x(h);T[(A+2)%3]=1,this.shader.uniforms.screenAxis=T,this.vao.draw(this.gl.TRIANGLES,6);var T=x(h);T[(A+1)%3]=1,this.shader.uniforms.screenAxis=T,this.vao.draw(this.gl.TRIANGLES,6)},E.drawAxisTicks=function(A,L,_,C,M){if(this.tickCount[A]){var g=x(c);g[A]=1,this.shader.uniforms.majorAxis=g,this.shader.uniforms.offset=L,this.shader.uniforms.minorAxis=_,this.shader.uniforms.color=C,this.shader.uniforms.lineWidth=M;var P=x(h);P[A]=1,this.shader.uniforms.screenAxis=P,this.vao.draw(this.gl.TRIANGLES,this.tickCount[A],this.tickOffset[A])}},E.drawGrid=function(A,L,_,C,M,g){if(this.gridCount[A]){var P=x(f);P[L]=_[1][L]-_[0][L],this.shader.uniforms.minorAxis=P;var T=b(d,C);T[L]+=_[0][L],this.shader.uniforms.offset=T;var F=x(c);F[A]=1,this.shader.uniforms.majorAxis=F;var q=x(h);q[A]=1,this.shader.uniforms.screenAxis=q,this.shader.uniforms.lineWidth=g,this.shader.uniforms.color=M,this.vao.draw(this.gl.TRIANGLES,this.gridCount[A],this.gridOffset[A])}},E.drawZero=function(A,L,_,C,M,g){var P=x(f);this.shader.uniforms.majorAxis=P,P[A]=_[1][A]-_[0][A],this.shader.uniforms.minorAxis=P;var T=b(d,C);T[A]+=_[0][A],this.shader.uniforms.offset=T;var F=x(h);F[L]=1,this.shader.uniforms.screenAxis=F,this.shader.uniforms.lineWidth=g,this.shader.uniforms.color=M,this.vao.draw(this.gl.TRIANGLES,6)},E.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()};function k(A,L,_){var C=[],M=[0,0,0],g=[0,0,0],P=[0,0,0],T=[0,0,0];C.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var F=0;F<3;++F){for(var H=C.length/3|0,q=0;q<_[F].length;++q){var V=+_[F][q].x;C.push(V,0,1,V,1,1,V,0,-1,V,0,-1,V,1,1,V,1,-1)}var G=C.length/3|0;M[F]=H,g[F]=G-H;for(var H=C.length/3|0,X=0;X<_[F].length;++X){var V=+_[F][X].x;C.push(V,0,1,V,1,1,V,0,-1,V,0,-1,V,1,1,V,1,-1)}var G=C.length/3|0;P[F]=H,T[F]=G-H}var N=s(A,new Float32Array(C)),W=l(A,[{buffer:N,type:A.FLOAT,size:3,stride:0,offset:0}]),re=u(A);return re.attributes.position.location=0,new p(A,N,W,re,g,M,T,P)}},1879:function(i,a,o){\"use strict\";var s=o(3236),l=o(9405),u=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 offset, majorAxis, minorAxis, screenAxis;\n", - "uniform float lineWidth;\n", - "uniform vec2 screenShape;\n", - "\n", - "vec3 project(vec3 p) {\n", - " vec4 pp = projection * (view * (model * vec4(p, 1.0)));\n", - " return pp.xyz / max(pp.w, 0.0001);\n", - "}\n", - "\n", - "void main() {\n", - " vec3 major = position.x * majorAxis;\n", - " vec3 minor = position.y * minorAxis;\n", - "\n", - " vec3 vPosition = major + minor + offset;\n", - " vec3 pPosition = project(vPosition);\n", - " vec3 offset = project(vPosition + screenAxis * position.z);\n", - "\n", - " vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;\n", - "\n", - " gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);\n", - "}\n", - "`]),c=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform vec4 color;\n", - "void main() {\n", - " gl_FragColor = color;\n", - "}`]);a.n=function(x){return l(x,u,c,null,[{name:\"position\",type:\"vec3\"}])};var f=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 offset, axis, alignDir, alignOpt;\n", - "uniform float scale, angle, pixelScale;\n", - "uniform vec2 resolution;\n", - "\n", - "vec3 project(vec3 p) {\n", - " vec4 pp = projection * (view * (model * vec4(p, 1.0)));\n", - " return pp.xyz / max(pp.w, 0.0001);\n", - "}\n", - "\n", - "float computeViewAngle(vec3 a, vec3 b) {\n", - " vec3 A = project(a);\n", - " vec3 B = project(b);\n", - "\n", - " return atan(\n", - " (B.y - A.y) * resolution.y,\n", - " (B.x - A.x) * resolution.x\n", - " );\n", - "}\n", - "\n", - "const float PI = 3.141592;\n", - "const float TWO_PI = 2.0 * PI;\n", - "const float HALF_PI = 0.5 * PI;\n", - "const float ONE_AND_HALF_PI = 1.5 * PI;\n", - "\n", - "int option = int(floor(alignOpt.x + 0.001));\n", - "float hv_ratio = alignOpt.y;\n", - "bool enableAlign = (alignOpt.z != 0.0);\n", - "\n", - "float mod_angle(float a) {\n", - " return mod(a, PI);\n", - "}\n", - "\n", - "float positive_angle(float a) {\n", - " return mod_angle((a < 0.0) ?\n", - " a + TWO_PI :\n", - " a\n", - " );\n", - "}\n", - "\n", - "float look_upwards(float a) {\n", - " float b = positive_angle(a);\n", - " return ((b > HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n", - " b - PI :\n", - " b;\n", - "}\n", - "\n", - "float 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", - "\n", - "float roundTo(float a, float b) {\n", - " return float(b * floor((a + 0.5 * b) / b));\n", - "}\n", - "\n", - "float 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", - "\n", - "float 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", - "\n", - "bool isAxisTitle = (axis.x == 0.0) &&\n", - " (axis.y == 0.0) &&\n", - " (axis.z == 0.0);\n", - "\n", - "void 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", - "`]),h=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform vec4 color;\n", - "void main() {\n", - " gl_FragColor = color;\n", - "}`]);a.Q=function(x){return l(x,f,h,null,[{name:\"position\",type:\"vec3\"}])};var d=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "attribute vec3 normal;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 enable;\n", - "uniform vec3 bounds[2];\n", - "\n", - "varying vec3 colorChannel;\n", - "\n", - "void 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", - "`]),v=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform vec4 colors[3];\n", - "\n", - "varying vec3 colorChannel;\n", - "\n", - "void main() {\n", - " gl_FragColor = colorChannel.x * colors[0] +\n", - " colorChannel.y * colors[1] +\n", - " colorChannel.z * colors[2];\n", - "}`]);a.bg=function(x){return l(x,d,v,null,[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}])}},4935:function(i,a,o){\"use strict\";i.exports=E;var s=o(2762),l=o(8116),u=o(4359),c=o(1879).Q,f=window||process.global||{},h=f.__TEXT_CACHE||{};f.__TEXT_CACHE={};var d=3;function v(k,A,L,_){this.gl=k,this.shader=A,this.buffer=L,this.vao=_,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var x=v.prototype,b=[0,0];x.bind=function(k,A,L,_){this.vao.bind(),this.shader.bind();var C=this.shader.uniforms;C.model=k,C.view=A,C.projection=L,C.pixelScale=_,b[0]=this.gl.drawingBufferWidth,b[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=b},x.unbind=function(){this.vao.unbind()},x.update=function(k,A,L,_,C){var M=[];function g(W,re,ae,_e,Me,ke){var ge=[ae.style,ae.weight,ae.variant,ae.family].join(\"_\"),ie=h[ge];ie||(ie=h[ge]={});var Te=ie[re];Te||(Te=ie[re]=p(re,{triangles:!0,font:ae.family,fontStyle:ae.style,fontWeight:ae.weight,fontVariant:ae.variant,textAlign:\"center\",textBaseline:\"middle\",lineSpacing:Me,styletags:ke}));for(var Ee=(_e||12)/12,Ae=Te.positions,ze=Te.cells,Ce=0,me=ze.length;Ce<me;++Ce)for(var Re=ze[Ce],ce=2;ce>=0;--ce){var Ge=Ae[Re[ce]];M.push(Ee*Ge[0],-Ee*Ge[1],W)}}for(var P=[0,0,0],T=[0,0,0],F=[0,0,0],q=[0,0,0],V=1.25,H={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},X=0;X<3;++X){F[X]=M.length/d|0,g(.5*(k[0][X]+k[1][X]),A[X],L[X],12,V,H),q[X]=(M.length/d|0)-F[X],P[X]=M.length/d|0;for(var G=0;G<_[X].length;++G)if(_[X][G].text){var N={family:_[X][G].font||C[X].family,style:C[X].fontStyle||C[X].style,weight:C[X].fontWeight||C[X].weight,variant:C[X].fontVariant||C[X].variant};g(_[X][G].x,_[X][G].text,N,_[X][G].fontSize||12,V,H)}T[X]=(M.length/d|0)-P[X]}this.buffer.update(M),this.tickOffset=P,this.tickCount=T,this.labelOffset=F,this.labelCount=q},x.drawTicks=function(k,A,L,_,C,M,g,P){this.tickCount[k]&&(this.shader.uniforms.axis=M,this.shader.uniforms.color=C,this.shader.uniforms.angle=L,this.shader.uniforms.scale=A,this.shader.uniforms.offset=_,this.shader.uniforms.alignDir=g,this.shader.uniforms.alignOpt=P,this.vao.draw(this.gl.TRIANGLES,this.tickCount[k],this.tickOffset[k]))},x.drawLabel=function(k,A,L,_,C,M,g,P){this.labelCount[k]&&(this.shader.uniforms.axis=M,this.shader.uniforms.color=C,this.shader.uniforms.angle=L,this.shader.uniforms.scale=A,this.shader.uniforms.offset=_,this.shader.uniforms.alignDir=g,this.shader.uniforms.alignOpt=P,this.vao.draw(this.gl.TRIANGLES,this.labelCount[k],this.labelOffset[k]))},x.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()};function p(k,A){try{return u(k,A)}catch(L){return console.warn('error vectorizing text:\"'+k+'\" error:',L),{cells:[],positions:[]}}}function E(k,A,L,_,C,M){var g=s(k),P=l(k,[{buffer:g,size:3}]),T=c(k);T.attributes.position.location=0;var F=new v(k,T,g,P);return F.update(A,L,_,C,M),F}},6444:function(i,a){\"use strict\";a.create=s,a.equal=l;function o(u,c){var f=u+\"\",h=f.indexOf(\".\"),d=0;h>=0&&(d=f.length-h-1);var v=Math.pow(10,d),x=Math.round(u*c*v),b=x+\"\";if(b.indexOf(\"e\")>=0)return b;var p=x/v,E=x%v;x<0?(p=-Math.ceil(p)|0,E=-E|0):(p=Math.floor(p)|0,E=E|0);var k=\"\"+p;if(x<0&&(k=\"-\"+k),d){for(var A=\"\"+E;A.length<d;)A=\"0\"+A;return k+\".\"+A}else return k}function s(u,c){for(var f=[],h=0;h<3;++h){for(var d=[],v=.5*(u[0][h]+u[1][h]),x=0;x*c[h]<=u[1][h];++x)d.push({x:x*c[h],text:o(c[h],x)});for(var x=-1;x*c[h]>=u[0][h];--x)d.push({x:x*c[h],text:o(c[h],x)});f.push(d)}return f}function l(u,c){for(var f=0;f<3;++f){if(u[f].length!==c[f].length)return!1;for(var h=0;h<u[f].length;++h){var d=u[f][h],v=c[f][h];if(d.x!==v.x||d.text!==v.text||d.font!==v.font||d.fontColor!==v.fontColor||d.fontSize!==v.fontSize||d.dx!==v.dx||d.dy!==v.dy)return!1}}return!0}},5445:function(i,a,o){\"use strict\";i.exports=L;var s=o(5033),l=o(5202),u=o(6429),c=o(6760),f=o(5665),h=o(5352),d=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),v=new Float32Array(16);function x(_,C,M){this.lo=_,this.hi=C,this.pixelsPerDataUnit=M}var b=[0,0,0,1],p=[0,0,0,1];function E(_,C,M,g,P){for(var T=0;T<3;++T){for(var F=b,q=p,V=0;V<3;++V)q[V]=F[V]=M[V];q[3]=F[3]=1,q[T]+=1,h(q,q,C),q[3]<0&&(_[T]=1/0),F[T]-=1,h(F,F,C),F[3]<0&&(_[T]=1/0);var H=(F[0]/F[3]-q[0]/q[3])*g,X=(F[1]/F[3]-q[1]/q[3])*P;_[T]=.25*Math.sqrt(H*H+X*X)}return _}var k=[new x(1/0,-1/0,1/0),new x(1/0,-1/0,1/0),new x(1/0,-1/0,1/0)],A=[0,0,0];function L(_,C,M,g,X){var T=C.model||d,F=C.view||d,q=C.projection||d,V=C._ortho||!1,H=_.bounds,X=X||u(T,F,q,H,V),G=X.axis;c(v,F,T),c(v,q,v);for(var N=k,W=0;W<3;++W)N[W].lo=1/0,N[W].hi=-1/0,N[W].pixelsPerDataUnit=1/0;var re=s(f(v,v));f(v,v);for(var ae=0;ae<3;++ae){var _e=(ae+1)%3,Me=(ae+2)%3,ke=A;e:for(var W=0;W<2;++W){var ge=[];if(G[ae]<0!=!!W){ke[ae]=H[W][ae];for(var ie=0;ie<2;++ie){ke[_e]=H[ie^W][_e];for(var Te=0;Te<2;++Te)ke[Me]=H[Te^ie^W][Me],ge.push(ke.slice())}for(var Ee=V?5:4,ie=Ee;ie===Ee;++ie){if(ge.length===0)continue e;ge=l.positive(ge,re[ie])}for(var ie=0;ie<ge.length;++ie)for(var Me=ge[ie],Ae=E(A,v,Me,M,g),Te=0;Te<3;++Te)N[Te].lo=Math.min(N[Te].lo,Me[Te]),N[Te].hi=Math.max(N[Te].hi,Me[Te]),Te!==ae&&(N[Te].pixelsPerDataUnit=Math.min(N[Te].pixelsPerDataUnit,Math.abs(Ae[Te])))}}}return N}},2762:function(i,a,o){\"use strict\";var s=o(1888),l=o(5298),u=o(9618),c=[\"uint8\",\"uint8_clamped\",\"uint16\",\"uint32\",\"int8\",\"int16\",\"int32\",\"float32\"];function f(p,E,k,A,L){this.gl=p,this.type=E,this.handle=k,this.length=A,this.usage=L}var h=f.prototype;h.bind=function(){this.gl.bindBuffer(this.type,this.handle)},h.unbind=function(){this.gl.bindBuffer(this.type,null)},h.dispose=function(){this.gl.deleteBuffer(this.handle)};function d(p,E,k,A,L,_){var C=L.length*L.BYTES_PER_ELEMENT;if(_<0)return p.bufferData(E,L,A),C;if(C+_>k)throw new Error(\"gl-buffer: If resizing buffer, must not specify offset\");return p.bufferSubData(E,_,L),k}function v(p,E){for(var k=s.malloc(p.length,E),A=p.length,L=0;L<A;++L)k[L]=p[L];return k}function x(p,E){for(var k=1,A=E.length-1;A>=0;--A){if(E[A]!==k)return!1;k*=p[A]}return!0}h.update=function(p,E){if(typeof E!=\"number\"&&(E=-1),this.bind(),typeof p==\"object\"&&typeof p.shape!=\"undefined\"){var k=p.dtype;if(c.indexOf(k)<0&&(k=\"float32\"),this.type===this.gl.ELEMENT_ARRAY_BUFFER){var A=gl.getExtension(\"OES_element_index_uint\");A&&k!==\"uint16\"?k=\"uint32\":k=\"uint16\"}if(k===p.dtype&&x(p.shape,p.stride))p.offset===0&&p.data.length===p.shape[0]?this.length=d(this.gl,this.type,this.length,this.usage,p.data,E):this.length=d(this.gl,this.type,this.length,this.usage,p.data.subarray(p.offset,p.shape[0]),E);else{var L=s.malloc(p.size,k),_=u(L,p.shape);l.assign(_,p),E<0?this.length=d(this.gl,this.type,this.length,this.usage,L,E):this.length=d(this.gl,this.type,this.length,this.usage,L.subarray(0,p.size),E),s.free(L)}}else if(Array.isArray(p)){var C;this.type===this.gl.ELEMENT_ARRAY_BUFFER?C=v(p,\"uint16\"):C=v(p,\"float32\"),E<0?this.length=d(this.gl,this.type,this.length,this.usage,C,E):this.length=d(this.gl,this.type,this.length,this.usage,C.subarray(0,p.length),E),s.free(C)}else if(typeof p==\"object\"&&typeof p.length==\"number\")this.length=d(this.gl,this.type,this.length,this.usage,p,E);else if(typeof p==\"number\"||p===void 0){if(E>=0)throw new Error(\"gl-buffer: Cannot specify offset when resizing buffer\");p=p|0,p<=0&&(p=1),this.gl.bufferData(this.type,p|0,this.usage),this.length=p}else throw new Error(\"gl-buffer: Invalid data type\")};function b(p,E,k,A){if(k=k||p.ARRAY_BUFFER,A=A||p.DYNAMIC_DRAW,k!==p.ARRAY_BUFFER&&k!==p.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(A!==p.DYNAMIC_DRAW&&A!==p.STATIC_DRAW&&A!==p.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 L=p.createBuffer(),_=new f(p,k,L,0,A);return _.update(E),_}i.exports=b},6405:function(i,a,o){\"use strict\";var s=o(2931);i.exports=function(u,c){var f=u.positions,h=u.vectors,d={positions:[],vertexIntensity:[],vertexIntensityBounds:u.vertexIntensityBounds,vectors:[],cells:[],coneOffset:u.coneOffset,colormap:u.colormap};if(u.positions.length===0)return c&&(c[0]=[0,0,0],c[1]=[0,0,0]),d;for(var v=0,x=1/0,b=-1/0,p=1/0,E=-1/0,k=1/0,A=-1/0,L=null,_=null,C=[],M=1/0,g=!1,P=u.coneSizemode===\"raw\",T=0;T<f.length;T++){var F=f[T];x=Math.min(F[0],x),b=Math.max(F[0],b),p=Math.min(F[1],p),E=Math.max(F[1],E),k=Math.min(F[2],k),A=Math.max(F[2],A);var q=h[T];if(s.length(q)>v&&(v=s.length(q)),T&&!P){var V=2*s.distance(L,F)/(s.length(_)+s.length(q));V?(M=Math.min(M,V),g=!1):g=!0}g||(L=F,_=q),C.push(q)}var H=[x,p,k],X=[b,E,A];c&&(c[0]=H,c[1]=X),v===0&&(v=1);var G=1/v;isFinite(M)||(M=1),d.vectorScale=M;var N=u.coneSize||(P?1:.5);u.absoluteConeSize&&(N=u.absoluteConeSize*G),d.coneScale=N;for(var T=0,W=0;T<f.length;T++)for(var F=f[T],re=F[0],ae=F[1],_e=F[2],Me=C[T],ke=s.length(Me)*G,ge=0,ie=8;ge<ie;ge++){d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.positions.push([re,ae,_e,W++]),d.vectors.push(Me),d.vectors.push(Me),d.vectors.push(Me),d.vectors.push(Me),d.vectors.push(Me),d.vectors.push(Me),d.vertexIntensity.push(ke,ke,ke),d.vertexIntensity.push(ke,ke,ke);var Te=d.positions.length;d.cells.push([Te-6,Te-5,Te-4],[Te-3,Te-2,Te-1])}return d};var l=o(614);i.exports.createMesh=o(9060),i.exports.createConeMesh=function(u,c){return i.exports.createMesh(u,c,{shaders:l,traceType:\"cone\"})}},9060:function(i,a,o){\"use strict\";var s=o(9405),l=o(2762),u=o(8116),c=o(7766),f=o(6760),h=o(7608),d=o(9618),v=o(6729),x=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function b(C,M,g,P,T,F,q,V,H,X,G){this.gl=C,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=M,this.dirty=!0,this.triShader=g,this.pickShader=P,this.trianglePositions=T,this.triangleVectors=F,this.triangleColors=V,this.triangleUVs=H,this.triangleIds=q,this.triangleVAO=X,this.triangleCount=0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.traceType=G,this.tubeScale=1,this.coneScale=2,this.vectorScale=1,this.coneOffset=.25,this._model=x,this._view=x,this._projection=x,this._resolution=[1,1]}var p=b.prototype;p.isOpaque=function(){return this.opacity>=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(C){this.pickId=C};function E(C){for(var M=v({colormap:C,nshades:256,format:\"rgba\"}),g=new Uint8Array(256*4),P=0;P<256;++P){for(var T=M[P],F=0;F<3;++F)g[4*P+F]=T[F];g[4*P+3]=T[3]*255}return d(g,[256,256,4],[4,0,1])}function k(C){for(var M=C.length,g=new Array(M),P=0;P<M;++P)g[P]=C[P][2];return g}p.update=function(C){C=C||{};var M=this.gl;this.dirty=!0,\"lightPosition\"in C&&(this.lightPosition=C.lightPosition),\"opacity\"in C&&(this.opacity=C.opacity),\"ambient\"in C&&(this.ambientLight=C.ambient),\"diffuse\"in C&&(this.diffuseLight=C.diffuse),\"specular\"in C&&(this.specularLight=C.specular),\"roughness\"in C&&(this.roughness=C.roughness),\"fresnel\"in C&&(this.fresnel=C.fresnel),C.tubeScale!==void 0&&(this.tubeScale=C.tubeScale),C.vectorScale!==void 0&&(this.vectorScale=C.vectorScale),C.coneScale!==void 0&&(this.coneScale=C.coneScale),C.coneOffset!==void 0&&(this.coneOffset=C.coneOffset),C.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=M.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=M.LINEAR,this.texture.setPixels(E(C.colormap)),this.texture.generateMipmap());var g=C.cells,P=C.positions,T=C.vectors;if(!(!P||!g||!T)){var F=[],q=[],V=[],H=[],X=[];this.cells=g,this.positions=P,this.vectors=T;var G=C.meshColor||[1,1,1,1],N=C.vertexIntensity,W=1/0,re=-1/0;if(N)if(C.vertexIntensityBounds)W=+C.vertexIntensityBounds[0],re=+C.vertexIntensityBounds[1];else for(var ae=0;ae<N.length;++ae){var _e=N[ae];W=Math.min(W,_e),re=Math.max(re,_e)}else for(var ae=0;ae<P.length;++ae){var _e=P[ae][2];W=Math.min(W,_e),re=Math.max(re,_e)}N?this.intensity=N:this.intensity=k(P),this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(var ae=0;ae<P.length;++ae)for(var Me=P[ae],ke=0;ke<3;++ke)isNaN(Me[ke])||!isFinite(Me[ke])||(this.bounds[0][ke]=Math.min(this.bounds[0][ke],Me[ke]),this.bounds[1][ke]=Math.max(this.bounds[1][ke],Me[ke]));var ge=0;e:for(var ae=0;ae<g.length;++ae){var ie=g[ae];switch(ie.length){case 3:for(var ke=0;ke<3;++ke)for(var Te=ie[ke],Me=P[Te],Ee=0;Ee<3;++Ee)if(isNaN(Me[Ee])||!isFinite(Me[Ee]))continue e;for(var ke=0;ke<3;++ke){var Te=ie[2-ke],Me=P[Te];F.push(Me[0],Me[1],Me[2],Me[3]);var Ae=T[Te];q.push(Ae[0],Ae[1],Ae[2],Ae[3]||0);var ze=G;ze.length===3?V.push(ze[0],ze[1],ze[2],1):V.push(ze[0],ze[1],ze[2],ze[3]);var Ce;N?Ce=[(N[Te]-W)/(re-W),0]:Ce=[(Me[2]-W)/(re-W),0],H.push(Ce[0],Ce[1]),X.push(ae)}ge+=1;break;default:break}}this.triangleCount=ge,this.trianglePositions.update(F),this.triangleVectors.update(q),this.triangleColors.update(V),this.triangleUVs.update(H),this.triangleIds.update(new Uint32Array(X))}},p.drawTransparent=p.draw=function(C){C=C||{};for(var M=this.gl,g=C.model||x,P=C.view||x,T=C.projection||x,F=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],q=0;q<3;++q)F[0][q]=Math.max(F[0][q],this.clipBounds[0][q]),F[1][q]=Math.min(F[1][q],this.clipBounds[1][q]);var V={model:g,view:P,projection:T,inverseModel:x.slice(),clipBounds:F,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,texture:0};V.inverseModel=h(V.inverseModel,V.model),M.disable(M.CULL_FACE),this.texture.bind(0);var H=new Array(16);f(H,V.view,V.model),f(H,V.projection,H),h(H,H);for(var q=0;q<3;++q)V.eyePosition[q]=H[12+q]/H[15];for(var X=H[15],q=0;q<3;++q)X+=this.lightPosition[q]*H[4*q+3];for(var q=0;q<3;++q){for(var G=H[12+q],N=0;N<3;++N)G+=H[4*N+q]*this.lightPosition[N];V.lightPosition[q]=G/X}if(this.triangleCount>0){var W=this.triShader;W.bind(),W.uniforms=V,this.triangleVAO.bind(),M.drawArrays(M.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}},p.drawPick=function(C){C=C||{};for(var M=this.gl,g=C.model||x,P=C.view||x,T=C.projection||x,F=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],q=0;q<3;++q)F[0][q]=Math.max(F[0][q],this.clipBounds[0][q]),F[1][q]=Math.min(F[1][q],this.clipBounds[1][q]);this._model=[].slice.call(g),this._view=[].slice.call(P),this._projection=[].slice.call(T),this._resolution=[M.drawingBufferWidth,M.drawingBufferHeight];var V={model:g,view:P,projection:T,clipBounds:F,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},H=this.pickShader;H.bind(),H.uniforms=V,this.triangleCount>0&&(this.triangleVAO.bind(),M.drawArrays(M.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind())},p.pick=function(C){if(!C||C.id!==this.pickId)return null;var M=C.value[0]+256*C.value[1]+65536*C.value[2],g=this.cells[M],P=this.positions[g[1]].slice(0,3),T={position:P,dataCoordinate:P,index:Math.floor(g[1]/48)};return this.traceType===\"cone\"?T.index=Math.floor(g[1]/48):this.traceType===\"streamtube\"&&(T.intensity=this.intensity[g[1]],T.velocity=this.vectors[g[1]].slice(0,3),T.divergence=this.vectors[g[1]][3],T.index=M),T},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()};function A(C,M){var g=s(C,M.meshShader.vertex,M.meshShader.fragment,null,M.meshShader.attributes);return g.attributes.position.location=0,g.attributes.color.location=2,g.attributes.uv.location=3,g.attributes.vector.location=4,g}function L(C,M){var g=s(C,M.pickShader.vertex,M.pickShader.fragment,null,M.pickShader.attributes);return g.attributes.position.location=0,g.attributes.id.location=1,g.attributes.vector.location=4,g}function _(C,M,g){var P=g.shaders;arguments.length===1&&(M=C,C=M.gl);var T=A(C,P),F=L(C,P),q=c(C,d(new Uint8Array([255,255,255,255]),[1,1,4]));q.generateMipmap(),q.minFilter=C.LINEAR_MIPMAP_LINEAR,q.magFilter=C.LINEAR;var V=l(C),H=l(C),X=l(C),G=l(C),N=l(C),W=u(C,[{buffer:V,type:C.FLOAT,size:4},{buffer:N,type:C.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:X,type:C.FLOAT,size:4},{buffer:G,type:C.FLOAT,size:2},{buffer:H,type:C.FLOAT,size:4}]),re=new b(C,q,T,F,V,H,N,X,G,W,g.traceType||\"cone\");return re.update(M),re}i.exports=_},614:function(i,a,o){var s=o(3236),l=s([`precision highp float;\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "vec3 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", - "//\n", - "vec3 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", - "\n", - "attribute vec3 vector;\n", - "attribute vec4 color, position;\n", - "attribute vec2 uv;\n", - "\n", - "uniform float vectorScale, coneScale, coneOffset;\n", - "uniform mat4 model, view, projection, inverseModel;\n", - "uniform vec3 eyePosition, lightPosition;\n", - "\n", - "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),u=s([`#extension GL_OES_standard_derivatives : enable\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "float 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", - "\n", - "float 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", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\n", - "uniform sampler2D texture;\n", - "\n", - "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),c=s([`precision highp float;\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "vec3 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", - "//\n", - "vec3 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", - "\n", - "attribute vec4 vector;\n", - "attribute vec4 position;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform float vectorScale, coneScale, coneOffset;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void 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", - "`]),f=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float pickId;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n", - "\n", - " gl_FragColor = vec4(pickId, f_id.xyz);\n", - "}`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec3\"}]},a.pickShader={vertex:c,fragment:f,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec3\"}]}},737:function(i){i.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(i,a,o){var s=o(737);i.exports=function(u){return s[u]}},9165:function(i,a,o){\"use strict\";i.exports=b;var s=o(2762),l=o(8116),u=o(3436),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(p,E,k,A){this.gl=p,this.shader=A,this.buffer=E,this.vao=k,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 h=f.prototype;h.isOpaque=function(){return!this.hasAlpha},h.isTransparent=function(){return this.hasAlpha},h.drawTransparent=h.draw=function(p){var E=this.gl,k=this.shader.uniforms;this.shader.bind();var A=k.view=p.view||c,L=k.projection=p.projection||c;k.model=p.model||c,k.clipBounds=this.clipBounds,k.opacity=this.opacity;var _=A[12],C=A[13],M=A[14],g=A[15],P=p._ortho||!1,T=P?2:1,F=T*this.pixelRatio*(L[3]*_+L[7]*C+L[11]*M+L[15]*g)/E.drawingBufferHeight;this.vao.bind();for(var q=0;q<3;++q)E.lineWidth(this.lineWidth[q]*this.pixelRatio),k.capSize=this.capSize[q]*F,this.lineCount[q]&&E.drawArrays(E.LINES,this.lineOffset[q],this.lineCount[q]);this.vao.unbind()};function d(p,E){for(var k=0;k<3;++k)p[0][k]=Math.min(p[0][k],E[k]),p[1][k]=Math.max(p[1][k],E[k])}var v=function(){for(var p=new Array(3),E=0;E<3;++E){for(var k=[],A=1;A<=2;++A)for(var L=-1;L<=1;L+=2){var _=(A+E)%3,C=[0,0,0];C[_]=L,k.push(C)}p[E]=k}return p}();function x(p,E,k,A){for(var L=v[A],_=0;_<L.length;++_){var C=L[_];p.push(E[0],E[1],E[2],k[0],k[1],k[2],k[3],C[0],C[1],C[2])}return L.length}h.update=function(p){p=p||{},\"lineWidth\"in p&&(this.lineWidth=p.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),\"capSize\"in p&&(this.capSize=p.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),this.hasAlpha=!1,\"opacity\"in p&&(this.opacity=+p.opacity,this.opacity<1&&(this.hasAlpha=!0));var E=p.color||[[0,0,0],[0,0,0],[0,0,0]],k=p.position,A=p.error;if(Array.isArray(E[0])||(E=[E,E,E]),k&&A){var L=[],_=k.length,C=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var M=0;M<3;++M){this.lineOffset[M]=C;e:for(var g=0;g<_;++g){for(var P=k[g],T=0;T<3;++T)if(isNaN(P[T])||!isFinite(P[T]))continue e;var F=A[g],q=E[M];if(Array.isArray(q[0])&&(q=E[g]),q.length===3?q=[q[0],q[1],q[2],1]:q.length===4&&(q=[q[0],q[1],q[2],q[3]],!this.hasAlpha&&q[3]<1&&(this.hasAlpha=!0)),!(isNaN(F[0][M])||isNaN(F[1][M]))){if(F[0][M]<0){var V=P.slice();V[M]+=F[0][M],L.push(P[0],P[1],P[2],q[0],q[1],q[2],q[3],0,0,0,V[0],V[1],V[2],q[0],q[1],q[2],q[3],0,0,0),d(this.bounds,V),C+=2+x(L,V,q,M)}if(F[1][M]>0){var V=P.slice();V[M]+=F[1][M],L.push(P[0],P[1],P[2],q[0],q[1],q[2],q[3],0,0,0,V[0],V[1],V[2],q[0],q[1],q[2],q[3],0,0,0),d(this.bounds,V),C+=2+x(L,V,q,M)}}}this.lineCount[M]=C-this.lineOffset[M]}this.buffer.update(L)}},h.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()};function b(p){var E=p.gl,k=s(E),A=l(E,[{buffer:k,type:E.FLOAT,size:3,offset:0,stride:40},{buffer:k,type:E.FLOAT,size:4,offset:12,stride:40},{buffer:k,type:E.FLOAT,size:3,offset:28,stride:40}]),L=u(E);L.attributes.position.location=0,L.attributes.color.location=1,L.attributes.offset.location=2;var _=new f(E,k,A,L);return _.update(p),_}},3436:function(i,a,o){\"use strict\";var s=o(3236),l=o(9405),u=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position, offset;\n", - "attribute vec4 color;\n", - "uniform mat4 model, view, projection;\n", - "uniform float capSize;\n", - "varying vec4 fragColor;\n", - "varying vec3 fragPosition;\n", - "\n", - "void 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", - "}`]),c=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float opacity;\n", - "varying vec3 fragPosition;\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - " if (\n", - " outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n", - " fragColor.a * opacity == 0.\n", - " ) discard;\n", - "\n", - " gl_FragColor = opacity * fragColor;\n", - "}`]);i.exports=function(f){return l(f,u,c,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"offset\",type:\"vec3\"}])}},2260:function(i,a,o){\"use strict\";var s=o(7766);i.exports=C;var l=null,u,c,f,h;function d(M){var g=M.getParameter(M.FRAMEBUFFER_BINDING),P=M.getParameter(M.RENDERBUFFER_BINDING),T=M.getParameter(M.TEXTURE_BINDING_2D);return[g,P,T]}function v(M,g){M.bindFramebuffer(M.FRAMEBUFFER,g[0]),M.bindRenderbuffer(M.RENDERBUFFER,g[1]),M.bindTexture(M.TEXTURE_2D,g[2])}function x(M,g){var P=M.getParameter(g.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(P+1);for(var T=0;T<=P;++T){for(var F=new Array(P),q=0;q<T;++q)F[q]=M.COLOR_ATTACHMENT0+q;for(var q=T;q<P;++q)F[q]=M.NONE;l[T]=F}}function b(M){switch(M){case u:throw new Error(\"gl-fbo: Framebuffer unsupported\");case c:throw new Error(\"gl-fbo: Framebuffer incomplete attachment\");case f:throw new Error(\"gl-fbo: Framebuffer incomplete dimensions\");case h:throw new Error(\"gl-fbo: Framebuffer incomplete missing attachment\");default:throw new Error(\"gl-fbo: Framebuffer failed for unspecified reason\")}}function p(M,g,P,T,F,q){if(!T)return null;var V=s(M,g,P,F,T);return V.magFilter=M.NEAREST,V.minFilter=M.NEAREST,V.mipSamples=1,V.bind(),M.framebufferTexture2D(M.FRAMEBUFFER,q,M.TEXTURE_2D,V.handle,0),V}function E(M,g,P,T,F){var q=M.createRenderbuffer();return M.bindRenderbuffer(M.RENDERBUFFER,q),M.renderbufferStorage(M.RENDERBUFFER,T,g,P),M.framebufferRenderbuffer(M.FRAMEBUFFER,F,M.RENDERBUFFER,q),q}function k(M){var g=d(M.gl),P=M.gl,T=M.handle=P.createFramebuffer(),F=M._shape[0],q=M._shape[1],V=M.color.length,H=M._ext,X=M._useStencil,G=M._useDepth,N=M._colorType;P.bindFramebuffer(P.FRAMEBUFFER,T);for(var W=0;W<V;++W)M.color[W]=p(P,F,q,N,P.RGBA,P.COLOR_ATTACHMENT0+W);V===0?(M._color_rb=E(P,F,q,P.RGBA4,P.COLOR_ATTACHMENT0),H&&H.drawBuffersWEBGL(l[0])):V>1&&H.drawBuffersWEBGL(l[V]);var re=P.getExtension(\"WEBGL_depth_texture\");re?X?M.depth=p(P,F,q,re.UNSIGNED_INT_24_8_WEBGL,P.DEPTH_STENCIL,P.DEPTH_STENCIL_ATTACHMENT):G&&(M.depth=p(P,F,q,P.UNSIGNED_SHORT,P.DEPTH_COMPONENT,P.DEPTH_ATTACHMENT)):G&&X?M._depth_rb=E(P,F,q,P.DEPTH_STENCIL,P.DEPTH_STENCIL_ATTACHMENT):G?M._depth_rb=E(P,F,q,P.DEPTH_COMPONENT16,P.DEPTH_ATTACHMENT):X&&(M._depth_rb=E(P,F,q,P.STENCIL_INDEX,P.STENCIL_ATTACHMENT));var ae=P.checkFramebufferStatus(P.FRAMEBUFFER);if(ae!==P.FRAMEBUFFER_COMPLETE){M._destroyed=!0,P.bindFramebuffer(P.FRAMEBUFFER,null),P.deleteFramebuffer(M.handle),M.handle=null,M.depth&&(M.depth.dispose(),M.depth=null),M._depth_rb&&(P.deleteRenderbuffer(M._depth_rb),M._depth_rb=null);for(var W=0;W<M.color.length;++W)M.color[W].dispose(),M.color[W]=null;M._color_rb&&(P.deleteRenderbuffer(M._color_rb),M._color_rb=null),v(P,g),b(ae)}v(P,g)}function A(M,g,P,T,F,q,V,H){this.gl=M,this._shape=[g|0,P|0],this._destroyed=!1,this._ext=H,this.color=new Array(F);for(var X=0;X<F;++X)this.color[X]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=T,this._useDepth=q,this._useStencil=V;var G=this,N=[g|0,P|0];Object.defineProperties(N,{0:{get:function(){return G._shape[0]},set:function(W){return G.width=W}},1:{get:function(){return G._shape[1]},set:function(W){return G.height=W}}}),this._shapeVector=N,k(this)}var L=A.prototype;function _(M,g,P){if(M._destroyed)throw new Error(\"gl-fbo: Can't resize destroyed FBO\");if(!(M._shape[0]===g&&M._shape[1]===P)){var T=M.gl,F=T.getParameter(T.MAX_RENDERBUFFER_SIZE);if(g<0||g>F||P<0||P>F)throw new Error(\"gl-fbo: Can't resize FBO, invalid dimensions\");M._shape[0]=g,M._shape[1]=P;for(var q=d(T),V=0;V<M.color.length;++V)M.color[V].shape=M._shape;M._color_rb&&(T.bindRenderbuffer(T.RENDERBUFFER,M._color_rb),T.renderbufferStorage(T.RENDERBUFFER,T.RGBA4,M._shape[0],M._shape[1])),M.depth&&(M.depth.shape=M._shape),M._depth_rb&&(T.bindRenderbuffer(T.RENDERBUFFER,M._depth_rb),M._useDepth&&M._useStencil?T.renderbufferStorage(T.RENDERBUFFER,T.DEPTH_STENCIL,M._shape[0],M._shape[1]):M._useDepth?T.renderbufferStorage(T.RENDERBUFFER,T.DEPTH_COMPONENT16,M._shape[0],M._shape[1]):M._useStencil&&T.renderbufferStorage(T.RENDERBUFFER,T.STENCIL_INDEX,M._shape[0],M._shape[1])),T.bindFramebuffer(T.FRAMEBUFFER,M.handle);var H=T.checkFramebufferStatus(T.FRAMEBUFFER);H!==T.FRAMEBUFFER_COMPLETE&&(M.dispose(),v(T,q),b(H)),v(T,q)}}Object.defineProperties(L,{shape:{get:function(){return this._destroyed?[0,0]:this._shapeVector},set:function(M){if(Array.isArray(M)||(M=[M|0,M|0]),M.length!==2)throw new Error(\"gl-fbo: Shape vector must be length 2\");var g=M[0]|0,P=M[1]|0;return _(this,g,P),[g,P]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(M){return M=M|0,_(this,M,this._shape[1]),M},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(M){return M=M|0,_(this,this._shape[0],M),M},enumerable:!1}}),L.bind=function(){if(!this._destroyed){var M=this.gl;M.bindFramebuffer(M.FRAMEBUFFER,this.handle),M.viewport(0,0,this._shape[0],this._shape[1])}},L.dispose=function(){if(!this._destroyed){this._destroyed=!0;var M=this.gl;M.deleteFramebuffer(this.handle),this.handle=null,this.depth&&(this.depth.dispose(),this.depth=null),this._depth_rb&&(M.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var g=0;g<this.color.length;++g)this.color[g].dispose(),this.color[g]=null;this._color_rb&&(M.deleteRenderbuffer(this._color_rb),this._color_rb=null)}};function C(M,g,P,T){u||(u=M.FRAMEBUFFER_UNSUPPORTED,c=M.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,f=M.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,h=M.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var F=M.getExtension(\"WEBGL_draw_buffers\");if(!l&&F&&x(M,F),Array.isArray(g)&&(T=P,P=g[1]|0,g=g[0]|0),typeof g!=\"number\")throw new Error(\"gl-fbo: Missing shape parameter\");var q=M.getParameter(M.MAX_RENDERBUFFER_SIZE);if(g<0||g>q||P<0||P>q)throw new Error(\"gl-fbo: Parameters are too large for FBO\");T=T||{};var V=1;if(\"color\"in T){if(V=Math.max(T.color|0,0),V<0)throw new Error(\"gl-fbo: Must specify a nonnegative number of colors\");if(V>1)if(F){if(V>M.getParameter(F.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\"gl-fbo: Context does not support \"+V+\" draw buffers\")}else throw new Error(\"gl-fbo: Multiple draw buffer extension not supported\")}var H=M.UNSIGNED_BYTE,X=M.getExtension(\"OES_texture_float\");if(T.float&&V>0){if(!X)throw new Error(\"gl-fbo: Context does not support floating point textures\");H=M.FLOAT}else T.preferFloat&&V>0&&X&&(H=M.FLOAT);var G=!0;\"depth\"in T&&(G=!!T.depth);var N=!1;return\"stencil\"in T&&(N=!!T.stencil),new A(M,g,P,H,V,G,N,F)}},2992:function(i,a,o){var s=o(3387).sprintf,l=o(5171),u=o(1848),c=o(1085);i.exports=f;function f(h,d,v){\"use strict\";var x=u(d)||\"of unknown name (see npm glsl-shader-name)\",b=\"unknown type\";v!==void 0&&(b=v===l.FRAGMENT_SHADER?\"fragment\":\"vertex\");for(var p=s(`Error compiling %s shader %s:\n", - "`,b,x),E=s(\"%s%s\",p,h),k=h.split(`\n", - "`),A={},L=0;L<k.length;L++){var _=k[L];if(!(_===\"\"||_===\"\\0\")){var C=parseInt(_.split(\":\")[2]);if(isNaN(C))throw new Error(s(\"Could not parse error: %s\",_));A[C]=_}}for(var M=c(d).split(`\n", - "`),L=0;L<M.length;L++)if(!(!A[L+3]&&!A[L+2]&&!A[L+1])){var g=M[L];if(p+=g+`\n", - "`,A[L+1]){var P=A[L+1];P=P.substr(P.split(\":\",3).join(\":\").length+1).trim(),p+=s(`^^^ %s\n", - "\n", - "`,P)}}return{long:p.trim(),short:E.trim()}}},7319:function(i,a,o){var s=o(3236),l=o(9405),u=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position, nextPosition;\n", - "attribute float arcLength, lineWidth;\n", - "attribute vec4 color;\n", - "\n", - "uniform vec2 screenShape;\n", - "uniform float pixelRatio;\n", - "uniform mat4 model, view, projection;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec3 worldPosition;\n", - "varying float pixelArcLength;\n", - "\n", - "vec4 project(vec3 p) {\n", - " return projection * (view * (model * vec4(p, 1.0)));\n", - "}\n", - "\n", - "void main() {\n", - " vec4 startPoint = project(position);\n", - " vec4 endPoint = project(nextPosition);\n", - "\n", - " vec2 A = startPoint.xy / startPoint.w;\n", - " vec2 B = endPoint.xy / endPoint.w;\n", - "\n", - " float clipAngle = atan(\n", - " (B.y - A.y) * screenShape.y,\n", - " (B.x - A.x) * screenShape.x\n", - " );\n", - "\n", - " vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(\n", - " sin(clipAngle),\n", - " -cos(clipAngle)\n", - " ) / screenShape;\n", - "\n", - " gl_Position = vec4(startPoint.xy + startPoint.w * offset, startPoint.zw);\n", - "\n", - " worldPosition = position;\n", - " pixelArcLength = arcLength;\n", - " fragColor = color;\n", - "}\n", - "`]),c=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform sampler2D dashTexture;\n", - "uniform float dashScale;\n", - "uniform float opacity;\n", - "\n", - "varying vec3 worldPosition;\n", - "varying float pixelArcLength;\n", - "varying vec4 fragColor;\n", - "\n", - "void 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", - "`]),f=s([`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\n", - "vec4 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", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform float pickId;\n", - "uniform vec3 clipBounds[2];\n", - "\n", - "varying vec3 worldPosition;\n", - "varying float pixelArcLength;\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n", - "\n", - " gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n", - "}`]),h=[{name:\"position\",type:\"vec3\"},{name:\"nextPosition\",type:\"vec3\"},{name:\"arcLength\",type:\"float\"},{name:\"lineWidth\",type:\"float\"},{name:\"color\",type:\"vec4\"}];a.createShader=function(d){return l(d,u,c,null,h)},a.createPickShader=function(d){return l(d,u,f,null,h)}},5714:function(i,a,o){\"use strict\";i.exports=M;var s=o(2762),l=o(8116),u=o(7766),c=new Uint8Array(4),f=new Float32Array(c.buffer);function h(g,P,T,F){return c[0]=F,c[1]=T,c[2]=P,c[3]=g,f[0]}var d=o(2478),v=o(9618),x=o(7319),b=x.createShader,p=x.createPickShader,E=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function k(g,P){for(var T=0,F=0;F<3;++F){var q=g[F]-P[F];T+=q*q}return Math.sqrt(T)}function A(g){for(var P=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],T=0;T<3;++T)P[0][T]=Math.max(g[0][T],P[0][T]),P[1][T]=Math.min(g[1][T],P[1][T]);return P}function L(g,P,T,F){this.arcLength=g,this.position=P,this.index=T,this.dataCoordinate=F}function _(g,P,T,F,q,V){this.gl=g,this.shader=P,this.pickShader=T,this.buffer=F,this.vao=q,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=V,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var C=_.prototype;C.isTransparent=function(){return this.hasAlpha},C.isOpaque=function(){return!this.hasAlpha},C.pickSlots=1,C.setPickBase=function(g){this.pickId=g},C.drawTransparent=C.draw=function(g){if(this.vertexCount){var P=this.gl,T=this.shader,F=this.vao;T.bind(),T.uniforms={model:g.model||E,view:g.view||E,projection:g.projection||E,clipBounds:A(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[P.drawingBufferWidth,P.drawingBufferHeight],pixelRatio:this.pixelRatio},F.bind(),F.draw(P.TRIANGLE_STRIP,this.vertexCount),F.unbind()}},C.drawPick=function(g){if(this.vertexCount){var P=this.gl,T=this.pickShader,F=this.vao;T.bind(),T.uniforms={model:g.model||E,view:g.view||E,projection:g.projection||E,pickId:this.pickId,clipBounds:A(this.clipBounds),screenShape:[P.drawingBufferWidth,P.drawingBufferHeight],pixelRatio:this.pixelRatio},F.bind(),F.draw(P.TRIANGLE_STRIP,this.vertexCount),F.unbind()}},C.update=function(g){var P,T;this.dirty=!0;var F=!!g.connectGaps;\"dashScale\"in g&&(this.dashScale=g.dashScale),this.hasAlpha=!1,\"opacity\"in g&&(this.opacity=+g.opacity,this.opacity<1&&(this.hasAlpha=!0));var q=[],V=[],H=[],X=0,G=0,N=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],W=g.position||g.positions;if(W){var re=g.color||g.colors||[0,0,0,1],ae=g.lineWidth||1,_e=!1;e:for(P=1;P<W.length;++P){var Me=W[P-1],ke=W[P];for(V.push(X),H.push(Me.slice()),T=0;T<3;++T){if(isNaN(Me[T])||isNaN(ke[T])||!isFinite(Me[T])||!isFinite(ke[T])){if(!F&&q.length>0){for(var ge=0;ge<24;++ge)q.push(q[q.length-12]);G+=2,_e=!0}continue e}N[0][T]=Math.min(N[0][T],Me[T],ke[T]),N[1][T]=Math.max(N[1][T],Me[T],ke[T])}var ie,Te;Array.isArray(re[0])?(ie=re.length>P-1?re[P-1]:re.length>0?re[re.length-1]:[0,0,0,1],Te=re.length>P?re[P]:re.length>0?re[re.length-1]:[0,0,0,1]):ie=Te=re,ie.length===3&&(ie=[ie[0],ie[1],ie[2],1]),Te.length===3&&(Te=[Te[0],Te[1],Te[2],1]),!this.hasAlpha&&ie[3]<1&&(this.hasAlpha=!0);var Ee;Array.isArray(ae)?Ee=ae.length>P-1?ae[P-1]:ae.length>0?ae[ae.length-1]:[0,0,0,1]:Ee=ae;var Ae=X;if(X+=k(Me,ke),_e){for(T=0;T<2;++T)q.push(Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,Ee,ie[0],ie[1],ie[2],ie[3]);G+=2,_e=!1}q.push(Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,Ee,ie[0],ie[1],ie[2],ie[3],Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,-Ee,ie[0],ie[1],ie[2],ie[3],ke[0],ke[1],ke[2],Me[0],Me[1],Me[2],X,-Ee,Te[0],Te[1],Te[2],Te[3],ke[0],ke[1],ke[2],Me[0],Me[1],Me[2],X,Ee,Te[0],Te[1],Te[2],Te[3]),G+=4}}if(this.buffer.update(q),V.push(X),H.push(W[W.length-1].slice()),this.bounds=N,this.vertexCount=G,this.points=H,this.arcLength=V,\"dashes\"in g){var ze=g.dashes,Ce=ze.slice();for(Ce.unshift(0),P=1;P<Ce.length;++P)Ce[P]=Ce[P-1]+Ce[P];var me=v(new Array(256*4),[256,1,4]);for(P=0;P<256;++P){for(T=0;T<4;++T)me.set(P,0,T,0);d.le(Ce,Ce[Ce.length-1]*P/255)&1?me.set(P,0,0,0):me.set(P,0,0,255)}this.texture.setPixels(me)}},C.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},C.pick=function(g){if(!g||g.id!==this.pickId)return null;var P=h(g.value[0],g.value[1],g.value[2],0),T=d.le(this.arcLength,P);if(T<0)return null;if(T===this.arcLength.length-1)return new L(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),T);for(var F=this.points[T],q=this.points[Math.min(T+1,this.points.length-1)],V=(P-this.arcLength[T])/(this.arcLength[T+1]-this.arcLength[T]),H=1-V,X=[0,0,0],G=0;G<3;++G)X[G]=H*F[G]+V*q[G];var N=Math.min(V<.5?T:T+1,this.points.length-1);return new L(P,X,N,this.points[N])};function M(g){var P=g.gl||g.scene&&g.scene.gl,T=b(P);T.attributes.position.location=0,T.attributes.nextPosition.location=1,T.attributes.arcLength.location=2,T.attributes.lineWidth.location=3,T.attributes.color.location=4;var F=p(P);F.attributes.position.location=0,F.attributes.nextPosition.location=1,F.attributes.arcLength.location=2,F.attributes.lineWidth.location=3,F.attributes.color.location=4;for(var q=s(P),V=l(P,[{buffer:q,size:3,offset:0,stride:48},{buffer:q,size:3,offset:12,stride:48},{buffer:q,size:1,offset:24,stride:48},{buffer:q,size:1,offset:28,stride:48},{buffer:q,size:4,offset:32,stride:48}]),H=v(new Array(256*4),[256,1,4]),X=0;X<1024;++X)H.data[X]=255;var G=u(P,H);G.wrap=P.REPEAT;var N=new _(P,T,F,q,V,G);return N.update(g),N}},1903:function(i){i.exports=a;function a(o){var s=new Float32Array(16);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s[3]=o[3],s[4]=o[4],s[5]=o[5],s[6]=o[6],s[7]=o[7],s[8]=o[8],s[9]=o[9],s[10]=o[10],s[11]=o[11],s[12]=o[12],s[13]=o[13],s[14]=o[14],s[15]=o[15],s}},6864:function(i){i.exports=a;function a(){var o=new Float32Array(16);return o[0]=1,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=1,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=1,o[11]=0,o[12]=0,o[13]=0,o[14]=0,o[15]=1,o}},9921:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3],f=o[4],h=o[5],d=o[6],v=o[7],x=o[8],b=o[9],p=o[10],E=o[11],k=o[12],A=o[13],L=o[14],_=o[15],C=s*h-l*f,M=s*d-u*f,g=s*v-c*f,P=l*d-u*h,T=l*v-c*h,F=u*v-c*d,q=x*A-b*k,V=x*L-p*k,H=x*_-E*k,X=b*L-p*A,G=b*_-E*A,N=p*_-E*L;return C*N-M*G+g*X+P*H-T*V+F*q}},7399:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=s[3],h=l+l,d=u+u,v=c+c,x=l*h,b=u*h,p=u*d,E=c*h,k=c*d,A=c*v,L=f*h,_=f*d,C=f*v;return o[0]=1-p-A,o[1]=b+C,o[2]=E-_,o[3]=0,o[4]=b-C,o[5]=1-x-A,o[6]=k+L,o[7]=0,o[8]=E+_,o[9]=k-L,o[10]=1-x-p,o[11]=0,o[12]=0,o[13]=0,o[14]=0,o[15]=1,o}},6743:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=s[3],d=u+u,v=c+c,x=f+f,b=u*d,p=u*v,E=u*x,k=c*v,A=c*x,L=f*x,_=h*d,C=h*v,M=h*x;return o[0]=1-(k+L),o[1]=p+M,o[2]=E-C,o[3]=0,o[4]=p-M,o[5]=1-(b+L),o[6]=A+_,o[7]=0,o[8]=E+C,o[9]=A-_,o[10]=1-(b+k),o[11]=0,o[12]=l[0],o[13]=l[1],o[14]=l[2],o[15]=1,o}},7894:function(i){i.exports=a;function a(o){return o[0]=1,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=1,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=1,o[11]=0,o[12]=0,o[13]=0,o[14]=0,o[15]=1,o}},7608:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=s[3],h=s[4],d=s[5],v=s[6],x=s[7],b=s[8],p=s[9],E=s[10],k=s[11],A=s[12],L=s[13],_=s[14],C=s[15],M=l*d-u*h,g=l*v-c*h,P=l*x-f*h,T=u*v-c*d,F=u*x-f*d,q=c*x-f*v,V=b*L-p*A,H=b*_-E*A,X=b*C-k*A,G=p*_-E*L,N=p*C-k*L,W=E*C-k*_,re=M*W-g*N+P*G+T*X-F*H+q*V;return re?(re=1/re,o[0]=(d*W-v*N+x*G)*re,o[1]=(c*N-u*W-f*G)*re,o[2]=(L*q-_*F+C*T)*re,o[3]=(E*F-p*q-k*T)*re,o[4]=(v*X-h*W-x*H)*re,o[5]=(l*W-c*X+f*H)*re,o[6]=(_*P-A*q-C*g)*re,o[7]=(b*q-E*P+k*g)*re,o[8]=(h*N-d*X+x*V)*re,o[9]=(u*X-l*N-f*V)*re,o[10]=(A*F-L*P+C*M)*re,o[11]=(p*P-b*F-k*M)*re,o[12]=(d*H-h*G-v*V)*re,o[13]=(l*G-u*H+c*V)*re,o[14]=(L*g-A*T-_*M)*re,o[15]=(b*T-p*g+E*M)*re,o):null}},6582:function(i,a,o){var s=o(7894);i.exports=l;function l(u,c,f,h){var d,v,x,b,p,E,k,A,L,_,C=c[0],M=c[1],g=c[2],P=h[0],T=h[1],F=h[2],q=f[0],V=f[1],H=f[2];return Math.abs(C-q)<1e-6&&Math.abs(M-V)<1e-6&&Math.abs(g-H)<1e-6?s(u):(k=C-q,A=M-V,L=g-H,_=1/Math.sqrt(k*k+A*A+L*L),k*=_,A*=_,L*=_,d=T*L-F*A,v=F*k-P*L,x=P*A-T*k,_=Math.sqrt(d*d+v*v+x*x),_?(_=1/_,d*=_,v*=_,x*=_):(d=0,v=0,x=0),b=A*x-L*v,p=L*d-k*x,E=k*v-A*d,_=Math.sqrt(b*b+p*p+E*E),_?(_=1/_,b*=_,p*=_,E*=_):(b=0,p=0,E=0),u[0]=d,u[1]=b,u[2]=k,u[3]=0,u[4]=v,u[5]=p,u[6]=A,u[7]=0,u[8]=x,u[9]=E,u[10]=L,u[11]=0,u[12]=-(d*C+v*M+x*g),u[13]=-(b*C+p*M+E*g),u[14]=-(k*C+A*M+L*g),u[15]=1,u)}},6760:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=s[3],d=s[4],v=s[5],x=s[6],b=s[7],p=s[8],E=s[9],k=s[10],A=s[11],L=s[12],_=s[13],C=s[14],M=s[15],g=l[0],P=l[1],T=l[2],F=l[3];return o[0]=g*u+P*d+T*p+F*L,o[1]=g*c+P*v+T*E+F*_,o[2]=g*f+P*x+T*k+F*C,o[3]=g*h+P*b+T*A+F*M,g=l[4],P=l[5],T=l[6],F=l[7],o[4]=g*u+P*d+T*p+F*L,o[5]=g*c+P*v+T*E+F*_,o[6]=g*f+P*x+T*k+F*C,o[7]=g*h+P*b+T*A+F*M,g=l[8],P=l[9],T=l[10],F=l[11],o[8]=g*u+P*d+T*p+F*L,o[9]=g*c+P*v+T*E+F*_,o[10]=g*f+P*x+T*k+F*C,o[11]=g*h+P*b+T*A+F*M,g=l[12],P=l[13],T=l[14],F=l[15],o[12]=g*u+P*d+T*p+F*L,o[13]=g*c+P*v+T*E+F*_,o[14]=g*f+P*x+T*k+F*C,o[15]=g*h+P*b+T*A+F*M,o}},4040:function(i){i.exports=a;function a(o,s,l,u,c,f,h){var d=1/(s-l),v=1/(u-c),x=1/(f-h);return o[0]=-2*d,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=-2*v,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=2*x,o[11]=0,o[12]=(s+l)*d,o[13]=(c+u)*v,o[14]=(h+f)*x,o[15]=1,o}},4772:function(i){i.exports=a;function a(o,s,l,u,c){var f=1/Math.tan(s/2),h=1/(u-c);return o[0]=f/l,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=f,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=(c+u)*h,o[11]=-1,o[12]=0,o[13]=0,o[14]=2*c*u*h,o[15]=0,o}},6079:function(i){i.exports=a;function a(o,s,l,u){var c=u[0],f=u[1],h=u[2],d=Math.sqrt(c*c+f*f+h*h),v,x,b,p,E,k,A,L,_,C,M,g,P,T,F,q,V,H,X,G,N,W,re,ae;return Math.abs(d)<1e-6?null:(d=1/d,c*=d,f*=d,h*=d,v=Math.sin(l),x=Math.cos(l),b=1-x,p=s[0],E=s[1],k=s[2],A=s[3],L=s[4],_=s[5],C=s[6],M=s[7],g=s[8],P=s[9],T=s[10],F=s[11],q=c*c*b+x,V=f*c*b+h*v,H=h*c*b-f*v,X=c*f*b-h*v,G=f*f*b+x,N=h*f*b+c*v,W=c*h*b+f*v,re=f*h*b-c*v,ae=h*h*b+x,o[0]=p*q+L*V+g*H,o[1]=E*q+_*V+P*H,o[2]=k*q+C*V+T*H,o[3]=A*q+M*V+F*H,o[4]=p*X+L*G+g*N,o[5]=E*X+_*G+P*N,o[6]=k*X+C*G+T*N,o[7]=A*X+M*G+F*N,o[8]=p*W+L*re+g*ae,o[9]=E*W+_*re+P*ae,o[10]=k*W+C*re+T*ae,o[11]=A*W+M*re+F*ae,s!==o&&(o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o)}},5567:function(i){i.exports=a;function a(o,s,l){var u=Math.sin(l),c=Math.cos(l),f=s[4],h=s[5],d=s[6],v=s[7],x=s[8],b=s[9],p=s[10],E=s[11];return s!==o&&(o[0]=s[0],o[1]=s[1],o[2]=s[2],o[3]=s[3],o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o[4]=f*c+x*u,o[5]=h*c+b*u,o[6]=d*c+p*u,o[7]=v*c+E*u,o[8]=x*c-f*u,o[9]=b*c-h*u,o[10]=p*c-d*u,o[11]=E*c-v*u,o}},2408:function(i){i.exports=a;function a(o,s,l){var u=Math.sin(l),c=Math.cos(l),f=s[0],h=s[1],d=s[2],v=s[3],x=s[8],b=s[9],p=s[10],E=s[11];return s!==o&&(o[4]=s[4],o[5]=s[5],o[6]=s[6],o[7]=s[7],o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o[0]=f*c-x*u,o[1]=h*c-b*u,o[2]=d*c-p*u,o[3]=v*c-E*u,o[8]=f*u+x*c,o[9]=h*u+b*c,o[10]=d*u+p*c,o[11]=v*u+E*c,o}},7089:function(i){i.exports=a;function a(o,s,l){var u=Math.sin(l),c=Math.cos(l),f=s[0],h=s[1],d=s[2],v=s[3],x=s[4],b=s[5],p=s[6],E=s[7];return s!==o&&(o[8]=s[8],o[9]=s[9],o[10]=s[10],o[11]=s[11],o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15]),o[0]=f*c+x*u,o[1]=h*c+b*u,o[2]=d*c+p*u,o[3]=v*c+E*u,o[4]=x*c-f*u,o[5]=b*c-h*u,o[6]=p*c-d*u,o[7]=E*c-v*u,o}},2504:function(i){i.exports=a;function a(o,s,l){var u=l[0],c=l[1],f=l[2];return o[0]=s[0]*u,o[1]=s[1]*u,o[2]=s[2]*u,o[3]=s[3]*u,o[4]=s[4]*c,o[5]=s[5]*c,o[6]=s[6]*c,o[7]=s[7]*c,o[8]=s[8]*f,o[9]=s[9]*f,o[10]=s[10]*f,o[11]=s[11]*f,o[12]=s[12],o[13]=s[13],o[14]=s[14],o[15]=s[15],o}},7656:function(i){i.exports=a;function a(o,s,l){var u=l[0],c=l[1],f=l[2],h,d,v,x,b,p,E,k,A,L,_,C;return s===o?(o[12]=s[0]*u+s[4]*c+s[8]*f+s[12],o[13]=s[1]*u+s[5]*c+s[9]*f+s[13],o[14]=s[2]*u+s[6]*c+s[10]*f+s[14],o[15]=s[3]*u+s[7]*c+s[11]*f+s[15]):(h=s[0],d=s[1],v=s[2],x=s[3],b=s[4],p=s[5],E=s[6],k=s[7],A=s[8],L=s[9],_=s[10],C=s[11],o[0]=h,o[1]=d,o[2]=v,o[3]=x,o[4]=b,o[5]=p,o[6]=E,o[7]=k,o[8]=A,o[9]=L,o[10]=_,o[11]=C,o[12]=h*u+b*c+A*f+s[12],o[13]=d*u+p*c+L*f+s[13],o[14]=v*u+E*c+_*f+s[14],o[15]=x*u+k*c+C*f+s[15]),o}},5665:function(i){i.exports=a;function a(o,s){if(o===s){var l=s[1],u=s[2],c=s[3],f=s[6],h=s[7],d=s[11];o[1]=s[4],o[2]=s[8],o[3]=s[12],o[4]=l,o[6]=s[9],o[7]=s[13],o[8]=u,o[9]=f,o[11]=s[14],o[12]=c,o[13]=h,o[14]=d}else o[0]=s[0],o[1]=s[4],o[2]=s[8],o[3]=s[12],o[4]=s[1],o[5]=s[5],o[6]=s[9],o[7]=s[13],o[8]=s[2],o[9]=s[6],o[10]=s[10],o[11]=s[14],o[12]=s[3],o[13]=s[7],o[14]=s[11],o[15]=s[15];return o}},7626:function(i,a,o){\"use strict\";var s=o(2642),l=o(9346);i.exports=d;function u(v,x){for(var b=[0,0,0,0],p=0;p<4;++p)for(var E=0;E<4;++E)b[E]+=v[4*p+E]*x[p];return b}function c(v,x,b,p,E){for(var k=u(p,u(b,u(x,[v[0],v[1],v[2],1]))),A=0;A<3;++A)k[A]/=k[3];return[.5*E[0]*(1+k[0]),.5*E[1]*(1-k[1])]}function f(v,x){if(v.length===2){for(var b=0,p=0,E=0;E<2;++E)b+=Math.pow(x[E]-v[0][E],2),p+=Math.pow(x[E]-v[1][E],2);return b=Math.sqrt(b),p=Math.sqrt(p),b+p<1e-6?[1,0]:[p/(b+p),b/(p+b)]}else if(v.length===3){var k=[0,0];return l(v[0],v[1],v[2],x,k),s(v,k)}return[]}function h(v,x){for(var b=[0,0,0],p=0;p<v.length;++p)for(var E=v[p],k=x[p],A=0;A<3;++A)b[A]+=k*E[A];return b}function d(v,x,b,p,E,k){if(v.length===1)return[0,v[0].slice()];for(var A=new Array(v.length),L=0;L<v.length;++L)A[L]=c(v[L],b,p,E,k);for(var _=0,C=1/0,L=0;L<A.length;++L){for(var M=0,g=0;g<2;++g)M+=Math.pow(A[L][g]-x[g],2);M<C&&(C=M,_=L)}for(var P=f(A,x),T=0,L=0;L<3;++L){if(P[L]<-.001||P[L]>1.0001)return null;T+=P[L]}return Math.abs(T-1)>.001?null:[_,h(v,P),P]}},840:function(i,a,o){var s=o(3236),l=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position, normal;\n", - "attribute vec4 color;\n", - "attribute vec2 uv;\n", - "\n", - "uniform mat4 model\n", - " , view\n", - " , projection\n", - " , inverseModel;\n", - "uniform vec3 eyePosition\n", - " , lightPosition;\n", - "\n", - "varying vec3 f_normal\n", - " , f_lightDirection\n", - " , f_eyeDirection\n", - " , f_data;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "vec4 project(vec3 p) {\n", - " return projection * (view * (model * vec4(p, 1.0)));\n", - "}\n", - "\n", - "void 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", - "`]),u=s([`#extension GL_OES_standard_derivatives : enable\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "float 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", - "\n", - "float 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", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float roughness\n", - " , fresnel\n", - " , kambient\n", - " , kdiffuse\n", - " , kspecular;\n", - "uniform sampler2D texture;\n", - "\n", - "varying vec3 f_normal\n", - " , f_lightDirection\n", - " , f_eyeDirection\n", - " , f_data;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),c=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 uv;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "\n", - "varying vec4 f_color;\n", - "varying vec3 f_data;\n", - "varying vec2 f_uv;\n", - "\n", - "void main() {\n", - " gl_Position = projection * (view * (model * vec4(position, 1.0)));\n", - " f_color = color;\n", - " f_data = position;\n", - " f_uv = uv;\n", - "}`]),f=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform sampler2D texture;\n", - "uniform float opacity;\n", - "\n", - "varying vec4 f_color;\n", - "varying vec3 f_data;\n", - "varying vec2 f_uv;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n", - "\n", - " gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n", - "}`]),h=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 uv;\n", - "attribute float pointSize;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 clipBounds[2];\n", - "\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "}`]),d=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform sampler2D texture;\n", - "uniform float opacity;\n", - "\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "}`]),v=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void main() {\n", - " gl_Position = projection * (view * (model * vec4(position, 1.0)));\n", - " f_id = id;\n", - " f_position = position;\n", - "}`]),x=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float pickId;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n", - "\n", - " gl_FragColor = vec4(pickId, f_id.xyz);\n", - "}`]),b=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute float pointSize;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 clipBounds[2];\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void 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=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "\n", - "void main() {\n", - " gl_Position = projection * (view * (model * vec4(position, 1.0)));\n", - "}`]),E=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform vec3 contourColor;\n", - "\n", - "void main() {\n", - " gl_FragColor = vec4(contourColor, 1.0);\n", - "}\n", - "`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},a.wireShader={vertex:c,fragment:f,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},a.pointShader={vertex:h,fragment:d,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"pointSize\",type:\"float\"}]},a.pickShader={vertex:v,fragment:x,attributes:[{name:\"position\",type:\"vec3\"},{name:\"id\",type:\"vec4\"}]},a.pointPickShader={vertex:b,fragment:x,attributes:[{name:\"position\",type:\"vec3\"},{name:\"pointSize\",type:\"float\"},{name:\"id\",type:\"vec4\"}]},a.contourShader={vertex:p,fragment:E,attributes:[{name:\"position\",type:\"vec3\"}]}},7201:function(i,a,o){\"use strict\";var s=1e-6,l=1e-6,u=o(9405),c=o(2762),f=o(8116),h=o(7766),d=o(8406),v=o(6760),x=o(7608),b=o(9618),p=o(6729),E=o(7765),k=o(1888),A=o(840),L=o(7626),_=A.meshShader,C=A.wireShader,M=A.pointShader,g=A.pickShader,P=A.pointPickShader,T=A.contourShader,F=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function q(ge,ie,Te,Ee,Ae,ze,Ce,me,Re,ce,Ge,nt,ct,qt,rt,ot,Rt,kt,Ct,Yt,xr,er,Ke,xt,bt,Lt,St){this.gl=ge,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=ie,this.dirty=!0,this.triShader=Te,this.lineShader=Ee,this.pointShader=Ae,this.pickShader=ze,this.pointPickShader=Ce,this.contourShader=me,this.trianglePositions=Re,this.triangleColors=Ge,this.triangleNormals=ct,this.triangleUVs=nt,this.triangleIds=ce,this.triangleVAO=qt,this.triangleCount=0,this.lineWidth=1,this.edgePositions=rt,this.edgeColors=Rt,this.edgeUVs=kt,this.edgeIds=ot,this.edgeVAO=Ct,this.edgeCount=0,this.pointPositions=Yt,this.pointColors=er,this.pointUVs=Ke,this.pointSizes=xt,this.pointIds=xr,this.pointVAO=bt,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=Lt,this.contourVAO=St,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=F,this._view=F,this._projection=F,this._resolution=[1,1]}var V=q.prototype;V.isOpaque=function(){return!this.hasAlpha},V.isTransparent=function(){return this.hasAlpha},V.pickSlots=1,V.setPickBase=function(ge){this.pickId=ge};function H(ge,ie){if(!ie||!ie.length)return 1;for(var Te=0;Te<ie.length;++Te){if(ie.length<2)return 1;if(ie[Te][0]===ge)return ie[Te][1];if(ie[Te][0]>ge&&Te>0){var Ee=(ie[Te][0]-ge)/(ie[Te][0]-ie[Te-1][0]);return ie[Te][1]*(1-Ee)+Ee*ie[Te-1][1]}}return 1}function X(ge,ie){for(var Te=p({colormap:ge,nshades:256,format:\"rgba\"}),Ee=new Uint8Array(256*4),Ae=0;Ae<256;++Ae){for(var ze=Te[Ae],Ce=0;Ce<3;++Ce)Ee[4*Ae+Ce]=ze[Ce];ie?Ee[4*Ae+3]=255*H(Ae/255,ie):Ee[4*Ae+3]=255*ze[3]}return b(Ee,[256,256,4],[4,0,1])}function G(ge){for(var ie=ge.length,Te=new Array(ie),Ee=0;Ee<ie;++Ee)Te[Ee]=ge[Ee][2];return Te}V.highlight=function(ge){if(!ge||!this.contourEnable){this.contourCount=0;return}for(var ie=E(this.cells,this.intensity,ge.intensity),Te=ie.cells,Ee=ie.vertexIds,Ae=ie.vertexWeights,ze=Te.length,Ce=k.mallocFloat32(2*3*ze),me=0,Re=0;Re<ze;++Re)for(var ce=Te[Re],Ge=0;Ge<2;++Ge){var nt=ce[0];ce.length===2&&(nt=ce[Ge]);for(var ct=Ee[nt][0],qt=Ee[nt][1],rt=Ae[nt],ot=1-rt,Rt=this.positions[ct],kt=this.positions[qt],Ct=0;Ct<3;++Ct)Ce[me++]=rt*Rt[Ct]+ot*kt[Ct]}this.contourCount=me/3|0,this.contourPositions.update(Ce.subarray(0,me)),k.free(Ce)},V.update=function(ge){ge=ge||{};var ie=this.gl;this.dirty=!0,\"contourEnable\"in ge&&(this.contourEnable=ge.contourEnable),\"contourColor\"in ge&&(this.contourColor=ge.contourColor),\"lineWidth\"in ge&&(this.lineWidth=ge.lineWidth),\"lightPosition\"in ge&&(this.lightPosition=ge.lightPosition),this.hasAlpha=!1,\"opacity\"in ge&&(this.opacity=ge.opacity,this.opacity<1&&(this.hasAlpha=!0)),\"opacityscale\"in ge&&(this.opacityscale=ge.opacityscale,this.hasAlpha=!0),\"ambient\"in ge&&(this.ambientLight=ge.ambient),\"diffuse\"in ge&&(this.diffuseLight=ge.diffuse),\"specular\"in ge&&(this.specularLight=ge.specular),\"roughness\"in ge&&(this.roughness=ge.roughness),\"fresnel\"in ge&&(this.fresnel=ge.fresnel),ge.texture?(this.texture.dispose(),this.texture=h(ie,ge.texture)):ge.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=ie.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=ie.LINEAR,this.texture.setPixels(X(ge.colormap,this.opacityscale)),this.texture.generateMipmap());var Te=ge.cells,Ee=ge.positions;if(!(!Ee||!Te)){var Ae=[],ze=[],Ce=[],me=[],Re=[],ce=[],Ge=[],nt=[],ct=[],qt=[],rt=[],ot=[],Rt=[],kt=[];this.cells=Te,this.positions=Ee;var Ct=ge.vertexNormals,Yt=ge.cellNormals,xr=ge.vertexNormalsEpsilon===void 0?s:ge.vertexNormalsEpsilon,er=ge.faceNormalsEpsilon===void 0?l:ge.faceNormalsEpsilon;ge.useFacetNormals&&!Yt&&(Yt=d.faceNormals(Te,Ee,er)),!Yt&&!Ct&&(Ct=d.vertexNormals(Te,Ee,xr));var Ke=ge.vertexColors,xt=ge.cellColors,bt=ge.meshColor||[1,1,1,1],Lt=ge.vertexUVs,St=ge.vertexIntensity,Et=ge.cellUVs,dt=ge.cellIntensity,Ht=1/0,$t=-1/0;if(!Lt&&!Et)if(St)if(ge.vertexIntensityBounds)Ht=+ge.vertexIntensityBounds[0],$t=+ge.vertexIntensityBounds[1];else for(var fr=0;fr<St.length;++fr){var _r=St[fr];Ht=Math.min(Ht,_r),$t=Math.max($t,_r)}else if(dt)if(ge.cellIntensityBounds)Ht=+ge.cellIntensityBounds[0],$t=+ge.cellIntensityBounds[1];else for(var fr=0;fr<dt.length;++fr){var _r=dt[fr];Ht=Math.min(Ht,_r),$t=Math.max($t,_r)}else for(var fr=0;fr<Ee.length;++fr){var _r=Ee[fr][2];Ht=Math.min(Ht,_r),$t=Math.max($t,_r)}St?this.intensity=St:dt?this.intensity=dt:this.intensity=G(Ee),this.pickVertex=!(dt||xt);var Br=ge.pointSizes,Or=ge.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(var fr=0;fr<Ee.length;++fr)for(var Nr=Ee[fr],ut=0;ut<3;++ut)isNaN(Nr[ut])||!isFinite(Nr[ut])||(this.bounds[0][ut]=Math.min(this.bounds[0][ut],Nr[ut]),this.bounds[1][ut]=Math.max(this.bounds[1][ut],Nr[ut]));var Ne=0,Ye=0,Ve=0;e:for(var fr=0;fr<Te.length;++fr){var Xe=Te[fr];switch(Xe.length){case 1:for(var ht=Xe[0],Nr=Ee[ht],ut=0;ut<3;++ut)if(isNaN(Nr[ut])||!isFinite(Nr[ut]))continue e;qt.push(Nr[0],Nr[1],Nr[2]);var Le;Ke?Le=Ke[ht]:xt?Le=xt[fr]:Le=bt,this.opacityscale&&St?ze.push(Le[0],Le[1],Le[2],this.opacity*H((St[ht]-Ht)/($t-Ht),this.opacityscale)):Le.length===3?rt.push(Le[0],Le[1],Le[2],this.opacity):(rt.push(Le[0],Le[1],Le[2],Le[3]*this.opacity),Le[3]<1&&(this.hasAlpha=!0));var xe;Lt?xe=Lt[ht]:St?xe=[(St[ht]-Ht)/($t-Ht),0]:Et?xe=Et[fr]:dt?xe=[(dt[fr]-Ht)/($t-Ht),0]:xe=[(Nr[2]-Ht)/($t-Ht),0],ot.push(xe[0],xe[1]),Br?Rt.push(Br[ht]):Rt.push(Or),kt.push(fr),Ve+=1;break;case 2:for(var ut=0;ut<2;++ut)for(var ht=Xe[ut],Nr=Ee[ht],Se=0;Se<3;++Se)if(isNaN(Nr[Se])||!isFinite(Nr[Se]))continue e;for(var ut=0;ut<2;++ut){var ht=Xe[ut],Nr=Ee[ht];ce.push(Nr[0],Nr[1],Nr[2]);var Le;Ke?Le=Ke[ht]:xt?Le=xt[fr]:Le=bt,this.opacityscale&&St?ze.push(Le[0],Le[1],Le[2],this.opacity*H((St[ht]-Ht)/($t-Ht),this.opacityscale)):Le.length===3?Ge.push(Le[0],Le[1],Le[2],this.opacity):(Ge.push(Le[0],Le[1],Le[2],Le[3]*this.opacity),Le[3]<1&&(this.hasAlpha=!0));var xe;Lt?xe=Lt[ht]:St?xe=[(St[ht]-Ht)/($t-Ht),0]:Et?xe=Et[fr]:dt?xe=[(dt[fr]-Ht)/($t-Ht),0]:xe=[(Nr[2]-Ht)/($t-Ht),0],nt.push(xe[0],xe[1]),ct.push(fr)}Ye+=1;break;case 3:for(var ut=0;ut<3;++ut)for(var ht=Xe[ut],Nr=Ee[ht],Se=0;Se<3;++Se)if(isNaN(Nr[Se])||!isFinite(Nr[Se]))continue e;for(var ut=0;ut<3;++ut){var ht=Xe[2-ut],Nr=Ee[ht];Ae.push(Nr[0],Nr[1],Nr[2]);var Le;Ke?Le=Ke[ht]:xt?Le=xt[fr]:Le=bt,Le?this.opacityscale&&St?ze.push(Le[0],Le[1],Le[2],this.opacity*H((St[ht]-Ht)/($t-Ht),this.opacityscale)):Le.length===3?ze.push(Le[0],Le[1],Le[2],this.opacity):(ze.push(Le[0],Le[1],Le[2],Le[3]*this.opacity),Le[3]<1&&(this.hasAlpha=!0)):ze.push(.5,.5,.5,1);var xe;Lt?xe=Lt[ht]:St?xe=[(St[ht]-Ht)/($t-Ht),0]:Et?xe=Et[fr]:dt?xe=[(dt[fr]-Ht)/($t-Ht),0]:xe=[(Nr[2]-Ht)/($t-Ht),0],me.push(xe[0],xe[1]);var lt;Ct?lt=Ct[ht]:lt=Yt[fr],Ce.push(lt[0],lt[1],lt[2]),Re.push(fr)}Ne+=1;break;default:break}}this.pointCount=Ve,this.edgeCount=Ye,this.triangleCount=Ne,this.pointPositions.update(qt),this.pointColors.update(rt),this.pointUVs.update(ot),this.pointSizes.update(Rt),this.pointIds.update(new Uint32Array(kt)),this.edgePositions.update(ce),this.edgeColors.update(Ge),this.edgeUVs.update(nt),this.edgeIds.update(new Uint32Array(ct)),this.trianglePositions.update(Ae),this.triangleColors.update(ze),this.triangleUVs.update(me),this.triangleNormals.update(Ce),this.triangleIds.update(new Uint32Array(Re))}},V.drawTransparent=V.draw=function(ge){ge=ge||{};for(var ie=this.gl,Te=ge.model||F,Ee=ge.view||F,Ae=ge.projection||F,ze=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],Ce=0;Ce<3;++Ce)ze[0][Ce]=Math.max(ze[0][Ce],this.clipBounds[0][Ce]),ze[1][Ce]=Math.min(ze[1][Ce],this.clipBounds[1][Ce]);var me={model:Te,view:Ee,projection:Ae,inverseModel:F.slice(),clipBounds:ze,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],contourColor:this.contourColor,texture:0};me.inverseModel=x(me.inverseModel,me.model),ie.disable(ie.CULL_FACE),this.texture.bind(0);var Re=new Array(16);v(Re,me.view,me.model),v(Re,me.projection,Re),x(Re,Re);for(var Ce=0;Ce<3;++Ce)me.eyePosition[Ce]=Re[12+Ce]/Re[15];for(var ce=Re[15],Ce=0;Ce<3;++Ce)ce+=this.lightPosition[Ce]*Re[4*Ce+3];for(var Ce=0;Ce<3;++Ce){for(var Ge=Re[12+Ce],nt=0;nt<3;++nt)Ge+=Re[4*nt+Ce]*this.lightPosition[nt];me.lightPosition[Ce]=Ge/ce}if(this.triangleCount>0){var ct=this.triShader;ct.bind(),ct.uniforms=me,this.triangleVAO.bind(),ie.drawArrays(ie.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var ct=this.lineShader;ct.bind(),ct.uniforms=me,this.edgeVAO.bind(),ie.lineWidth(this.lineWidth*this.pixelRatio),ie.drawArrays(ie.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()}if(this.pointCount>0){var ct=this.pointShader;ct.bind(),ct.uniforms=me,this.pointVAO.bind(),ie.drawArrays(ie.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var ct=this.contourShader;ct.bind(),ct.uniforms=me,this.contourVAO.bind(),ie.drawArrays(ie.LINES,0,this.contourCount),this.contourVAO.unbind()}},V.drawPick=function(ge){ge=ge||{};for(var ie=this.gl,Te=ge.model||F,Ee=ge.view||F,Ae=ge.projection||F,ze=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],Ce=0;Ce<3;++Ce)ze[0][Ce]=Math.max(ze[0][Ce],this.clipBounds[0][Ce]),ze[1][Ce]=Math.min(ze[1][Ce],this.clipBounds[1][Ce]);this._model=[].slice.call(Te),this._view=[].slice.call(Ee),this._projection=[].slice.call(Ae),this._resolution=[ie.drawingBufferWidth,ie.drawingBufferHeight];var me={model:Te,view:Ee,projection:Ae,clipBounds:ze,pickId:this.pickId/255},Re=this.pickShader;if(Re.bind(),Re.uniforms=me,this.triangleCount>0&&(this.triangleVAO.bind(),ie.drawArrays(ie.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),ie.lineWidth(this.lineWidth*this.pixelRatio),ie.drawArrays(ie.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()),this.pointCount>0){var Re=this.pointPickShader;Re.bind(),Re.uniforms=me,this.pointVAO.bind(),ie.drawArrays(ie.POINTS,0,this.pointCount),this.pointVAO.unbind()}},V.pick=function(ge){if(!ge||ge.id!==this.pickId)return null;for(var ie=ge.value[0]+256*ge.value[1]+65536*ge.value[2],Te=this.cells[ie],Ee=this.positions,Ae=new Array(Te.length),ze=0;ze<Te.length;++ze)Ae[ze]=Ee[Te[ze]];var Ce=ge.coord[0],me=ge.coord[1];if(!this.pickVertex){var Re=this.positions[Te[0]],ce=this.positions[Te[1]],Ge=this.positions[Te[2]],nt=[(Re[0]+ce[0]+Ge[0])/3,(Re[1]+ce[1]+Ge[1])/3,(Re[2]+ce[2]+Ge[2])/3];return{_cellCenter:!0,position:[Ce,me],index:ie,cell:Te,cellId:ie,intensity:this.intensity[ie],dataCoordinate:nt}}var ct=L(Ae,[Ce*this.pixelRatio,this._resolution[1]-me*this.pixelRatio],this._model,this._view,this._projection,this._resolution);if(!ct)return null;for(var qt=ct[2],rt=0,ze=0;ze<Te.length;++ze)rt+=qt[ze]*this.intensity[Te[ze]];return{position:ct[1],index:Te[ct[0]],cell:Te,cellId:ie,intensity:rt,dataCoordinate:this.positions[Te[ct[0]]]}},V.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.lineShader.dispose(),this.pointShader.dispose(),this.pickShader.dispose(),this.pointPickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose(),this.contourShader.dispose()};function N(ge){var ie=u(ge,_.vertex,_.fragment);return ie.attributes.position.location=0,ie.attributes.color.location=2,ie.attributes.uv.location=3,ie.attributes.normal.location=4,ie}function W(ge){var ie=u(ge,C.vertex,C.fragment);return ie.attributes.position.location=0,ie.attributes.color.location=2,ie.attributes.uv.location=3,ie}function re(ge){var ie=u(ge,M.vertex,M.fragment);return ie.attributes.position.location=0,ie.attributes.color.location=2,ie.attributes.uv.location=3,ie.attributes.pointSize.location=4,ie}function ae(ge){var ie=u(ge,g.vertex,g.fragment);return ie.attributes.position.location=0,ie.attributes.id.location=1,ie}function _e(ge){var ie=u(ge,P.vertex,P.fragment);return ie.attributes.position.location=0,ie.attributes.id.location=1,ie.attributes.pointSize.location=4,ie}function Me(ge){var ie=u(ge,T.vertex,T.fragment);return ie.attributes.position.location=0,ie}function ke(ge,ie){arguments.length===1&&(ie=ge,ge=ie.gl);var Te=ge.getExtension(\"OES_standard_derivatives\")||ge.getExtension(\"MOZ_OES_standard_derivatives\")||ge.getExtension(\"WEBKIT_OES_standard_derivatives\");if(!Te)throw new Error(\"derivatives not supported\");var Ee=N(ge),Ae=W(ge),ze=re(ge),Ce=ae(ge),me=_e(ge),Re=Me(ge),ce=h(ge,b(new Uint8Array([255,255,255,255]),[1,1,4]));ce.generateMipmap(),ce.minFilter=ge.LINEAR_MIPMAP_LINEAR,ce.magFilter=ge.LINEAR;var Ge=c(ge),nt=c(ge),ct=c(ge),qt=c(ge),rt=c(ge),ot=f(ge,[{buffer:Ge,type:ge.FLOAT,size:3},{buffer:rt,type:ge.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:nt,type:ge.FLOAT,size:4},{buffer:ct,type:ge.FLOAT,size:2},{buffer:qt,type:ge.FLOAT,size:3}]),Rt=c(ge),kt=c(ge),Ct=c(ge),Yt=c(ge),xr=f(ge,[{buffer:Rt,type:ge.FLOAT,size:3},{buffer:Yt,type:ge.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:kt,type:ge.FLOAT,size:4},{buffer:Ct,type:ge.FLOAT,size:2}]),er=c(ge),Ke=c(ge),xt=c(ge),bt=c(ge),Lt=c(ge),St=f(ge,[{buffer:er,type:ge.FLOAT,size:3},{buffer:Lt,type:ge.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:Ke,type:ge.FLOAT,size:4},{buffer:xt,type:ge.FLOAT,size:2},{buffer:bt,type:ge.FLOAT,size:1}]),Et=c(ge),dt=f(ge,[{buffer:Et,type:ge.FLOAT,size:3}]),Ht=new q(ge,ce,Ee,Ae,ze,Ce,me,Re,Ge,rt,nt,ct,qt,ot,Rt,Yt,kt,Ct,xr,er,Lt,Ke,xt,bt,St,Et,dt);return Ht.update(ie),Ht}i.exports=ke},4437:function(i,a,o){\"use strict\";i.exports=d;var s=o(3025),l=o(6296),u=o(351),c=o(8512),f=o(24),h=o(7520);function d(v,x){v=v||document.body,x=x||{};var b=[.01,1/0];\"distanceLimits\"in x&&(b[0]=x.distanceLimits[0],b[1]=x.distanceLimits[1]),\"zoomMin\"in x&&(b[0]=x.zoomMin),\"zoomMax\"in x&&(b[1]=x.zoomMax);var p=l({center:x.center||[0,0,0],up:x.up||[0,1,0],eye:x.eye||[0,0,10],mode:x.mode||\"orbit\",distanceLimits:b}),E=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],k=0,A=v.clientWidth,L=v.clientHeight,_={keyBindingMode:\"rotate\",enableWheel:!0,view:p,element:v,delay:x.delay||16,rotateSpeed:x.rotateSpeed||1,zoomSpeed:x.zoomSpeed||1,translateSpeed:x.translateSpeed||1,flipX:!!x.flipX,flipY:!!x.flipY,modes:p.modes,_ortho:x._ortho||x.projection&&x.projection.type===\"orthographic\"||!1,tick:function(){var C=s(),M=this.delay,g=C-2*M;p.idle(C-M),p.recalcMatrix(g),p.flush(C-(100+M*2));for(var P=!0,T=p.computedMatrix,F=0;F<16;++F)P=P&&E[F]===T[F],E[F]=T[F];var q=v.clientWidth===A&&v.clientHeight===L;return A=v.clientWidth,L=v.clientHeight,P?!q:(k=Math.exp(p.computedRadius[0]),!0)},lookAt:function(C,M,g){p.lookAt(p.lastT(),C,M,g)},rotate:function(C,M,g){p.rotate(p.lastT(),C,M,g)},pan:function(C,M,g){p.pan(p.lastT(),C,M,g)},translate:function(C,M,g){p.translate(p.lastT(),C,M,g)}};return Object.defineProperties(_,{matrix:{get:function(){return p.computedMatrix},set:function(C){return p.setMatrix(p.lastT(),C),p.computedMatrix},enumerable:!0},mode:{get:function(){return p.getMode()},set:function(C){var M=p.computedUp.slice(),g=p.computedEye.slice(),P=p.computedCenter.slice();if(p.setMode(C),C===\"turntable\"){var T=s();p._active.lookAt(T,g,P,M),p._active.lookAt(T+500,g,P,[0,0,1]),p._active.flush(T)}return p.getMode()},enumerable:!0},center:{get:function(){return p.computedCenter},set:function(C){return p.lookAt(p.lastT(),null,C),p.computedCenter},enumerable:!0},eye:{get:function(){return p.computedEye},set:function(C){return p.lookAt(p.lastT(),C),p.computedEye},enumerable:!0},up:{get:function(){return p.computedUp},set:function(C){return p.lookAt(p.lastT(),null,null,C),p.computedUp},enumerable:!0},distance:{get:function(){return k},set:function(C){return p.setDistance(p.lastT(),C),C},enumerable:!0},distanceLimits:{get:function(){return p.getDistanceLimits(b)},set:function(C){return p.setDistanceLimits(C),C},enumerable:!0}}),v.addEventListener(\"contextmenu\",function(C){return C.preventDefault(),!1}),_._lastX=-1,_._lastY=-1,_._lastMods={shift:!1,control:!1,alt:!1,meta:!1},_.enableMouseListeners=function(){_.mouseListener=u(v,C),v.addEventListener(\"touchstart\",function(M){var g=f(M.changedTouches[0],v);C(0,g[0],g[1],_._lastMods),C(1,g[0],g[1],_._lastMods)},h?{passive:!0}:!1),v.addEventListener(\"touchmove\",function(M){var g=f(M.changedTouches[0],v);C(1,g[0],g[1],_._lastMods),M.preventDefault()},h?{passive:!1}:!1),v.addEventListener(\"touchend\",function(M){C(0,_._lastX,_._lastY,_._lastMods)},h?{passive:!0}:!1);function C(M,g,P,T){var F=_.keyBindingMode;if(F!==!1){var q=F===\"rotate\",V=F===\"pan\",H=F===\"zoom\",X=!!T.control,G=!!T.alt,N=!!T.shift,W=!!(M&1),re=!!(M&2),ae=!!(M&4),_e=1/v.clientHeight,Me=_e*(g-_._lastX),ke=_e*(P-_._lastY),ge=_.flipX?1:-1,ie=_.flipY?1:-1,Te=Math.PI*_.rotateSpeed,Ee=s();if(_._lastX!==-1&&_._lastY!==-1&&((q&&W&&!X&&!G&&!N||W&&!X&&!G&&N)&&p.rotate(Ee,ge*Te*Me,-ie*Te*ke,0),(V&&W&&!X&&!G&&!N||re||W&&X&&!G&&!N)&&p.pan(Ee,-_.translateSpeed*Me*k,_.translateSpeed*ke*k,0),H&&W&&!X&&!G&&!N||ae||W&&!X&&G&&!N)){var Ae=-_.zoomSpeed*ke/window.innerHeight*(Ee-p.lastT())*100;p.pan(Ee,0,0,k*(Math.exp(Ae)-1))}return _._lastX=g,_._lastY=P,_._lastMods=T,!0}}_.wheelListener=c(v,function(M,g){if(_.keyBindingMode!==!1&&_.enableWheel){var P=_.flipX?1:-1,T=_.flipY?1:-1,F=s();if(Math.abs(M)>Math.abs(g))p.rotate(F,0,0,-M*P*Math.PI*_.rotateSpeed/window.innerWidth);else if(!_._ortho){var q=-_.zoomSpeed*T*g/window.innerHeight*(F-p.lastT())/20;p.pan(F,0,0,k*(Math.exp(q)-1))}}},!0)},_.enableMouseListeners(),_}},799:function(i,a,o){var s=o(3236),l=o(9405),u=s([`precision mediump float;\n", - "#define GLSLIFY 1\n", - "attribute vec2 position;\n", - "varying vec2 uv;\n", - "void main() {\n", - " uv = position;\n", - " gl_Position = vec4(position, 0, 1);\n", - "}`]),c=s([`precision mediump float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform sampler2D accumBuffer;\n", - "varying vec2 uv;\n", - "\n", - "void main() {\n", - " vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n", - " gl_FragColor = min(vec4(1,1,1,1), accum);\n", - "}`]);i.exports=function(f){return l(f,u,c,null,[{name:\"position\",type:\"vec2\"}])}},4100:function(i,a,o){\"use strict\";var s=o(4437),l=o(3837),u=o(5445),c=o(4449),f=o(3589),h=o(2260),d=o(7169),v=o(351),x=o(4772),b=o(4040),p=o(799),E=o(9216)({tablet:!0,featureDetect:!0});i.exports={createScene:C,createCamera:s};function k(){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 A(g,P){var T=null;try{T=g.getContext(\"webgl\",P),T||(T=g.getContext(\"experimental-webgl\",P))}catch(F){return null}return T}function L(g){var P=Math.round(Math.log(Math.abs(g))/Math.log(10));if(P<0){var T=Math.round(Math.pow(10,-P));return Math.ceil(g*T)/T}else if(P>0){var T=Math.round(Math.pow(10,P));return Math.ceil(g/T)*T}return Math.ceil(g)}function _(g){return typeof g==\"boolean\"?g:!0}function C(g){g=g||{},g.camera=g.camera||{};var P=g.canvas;if(!P)if(P=document.createElement(\"canvas\"),g.container){var T=g.container;T.appendChild(P)}else document.body.appendChild(P);var F=g.gl;if(F||(g.glOptions&&(E=!!g.glOptions.preserveDrawingBuffer),F=A(P,g.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:E})),!F)throw new Error(\"webgl not supported\");var q=g.bounds||[[-10,-10,-10],[10,10,10]],V=new k,H=h(F,F.drawingBufferWidth,F.drawingBufferHeight,{preferFloat:!E}),X=p(F),G=g.cameraObject&&g.cameraObject._ortho===!0||g.camera.projection&&g.camera.projection.type===\"orthographic\"||!1,N={eye:g.camera.eye||[2,0,0],center:g.camera.center||[0,0,0],up:g.camera.up||[0,1,0],zoomMin:g.camera.zoomMax||.1,zoomMax:g.camera.zoomMin||100,mode:g.camera.mode||\"turntable\",_ortho:G},W=g.axes||{},re=l(F,W);re.enable=!W.disable;var ae=g.spikes||{},_e=c(F,ae),Me=[],ke=[],ge=[],ie=[],Te=!0,Ce=!0,Ee=new Array(16),Ae=new Array(16),ze={view:null,projection:Ee,model:Ae,_ortho:!1},Ce=!0,me=[F.drawingBufferWidth,F.drawingBufferHeight],Re=g.cameraObject||s(P,N),ce={gl:F,contextLost:!1,pixelRatio:g.pixelRatio||1,canvas:P,selection:V,camera:Re,axes:re,axesPixels:null,spikes:_e,bounds:q,objects:Me,shape:me,aspect:g.aspectRatio||[1,1,1],pickRadius:g.pickRadius||10,zNear:g.zNear||.01,zFar:g.zFar||1e3,fovy:g.fovy||Math.PI/4,clearColor:g.clearColor||[0,0,0,0],autoResize:_(g.autoResize),autoBounds:_(g.autoBounds),autoScale:!!g.autoScale,autoCenter:_(g.autoCenter),clipToBounds:_(g.clipToBounds),snapToData:!!g.snapToData,onselect:g.onselect||null,onrender:g.onrender||null,onclick:g.onclick||null,cameraParams:ze,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(Yt){this.aspect[0]=Yt.x,this.aspect[1]=Yt.y,this.aspect[2]=Yt.z,Ce=!0},setBounds:function(Yt,xr){this.bounds[0][Yt]=xr.min,this.bounds[1][Yt]=xr.max},setClearColor:function(Yt){this.clearColor=Yt},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)}},Ge=[F.drawingBufferWidth/ce.pixelRatio|0,F.drawingBufferHeight/ce.pixelRatio|0];function nt(){if(!ce._stopped&&ce.autoResize){var Yt=P.parentNode,xr=1,er=1;Yt&&Yt!==document.body?(xr=Yt.clientWidth,er=Yt.clientHeight):(xr=window.innerWidth,er=window.innerHeight);var Ke=Math.ceil(xr*ce.pixelRatio)|0,xt=Math.ceil(er*ce.pixelRatio)|0;if(Ke!==P.width||xt!==P.height){P.width=Ke,P.height=xt;var bt=P.style;bt.position=bt.position||\"absolute\",bt.left=\"0px\",bt.top=\"0px\",bt.width=xr+\"px\",bt.height=er+\"px\",Te=!0}}}ce.autoResize&&nt(),window.addEventListener(\"resize\",nt);function ct(){for(var Yt=Me.length,xr=ie.length,er=0;er<xr;++er)ge[er]=0;e:for(var er=0;er<Yt;++er){var Ke=Me[er],xt=Ke.pickSlots;if(!xt){ke[er]=-1;continue}for(var bt=0;bt<xr;++bt)if(ge[bt]+xt<255){ke[er]=bt,Ke.setPickBase(ge[bt]+1),ge[bt]+=xt;continue e}var Lt=f(F,me);ke[er]=xr,ie.push(Lt),ge.push(xt),Ke.setPickBase(1),xr+=1}for(;xr>0&&ge[xr-1]===0;)ge.pop(),ie.pop().dispose()}ce.update=function(Yt){ce._stopped||(Yt=Yt||{},Te=!0,Ce=!0)},ce.add=function(Yt){ce._stopped||(Yt.axes=re,Me.push(Yt),ke.push(-1),Te=!0,Ce=!0,ct())},ce.remove=function(Yt){if(!ce._stopped){var xr=Me.indexOf(Yt);xr<0||(Me.splice(xr,1),ke.pop(),Te=!0,Ce=!0,ct())}},ce.dispose=function(){if(!ce._stopped&&(ce._stopped=!0,window.removeEventListener(\"resize\",nt),P.removeEventListener(\"webglcontextlost\",qt),ce.mouseListener.enabled=!1,!ce.contextLost)){re.dispose(),_e.dispose();for(var Yt=0;Yt<Me.length;++Yt)Me[Yt].dispose();H.dispose();for(var Yt=0;Yt<ie.length;++Yt)ie[Yt].dispose();X.dispose(),F=null,re=null,_e=null,Me=[]}},ce._mouseRotating=!1,ce._prevButtons=0,ce.enableMouseListeners=function(){ce.mouseListener=v(P,function(Yt,xr,er){if(!ce._stopped){var Ke=ie.length,xt=Me.length,bt=V.object;V.distance=1/0,V.mouse[0]=xr,V.mouse[1]=er,V.object=null,V.screen=null,V.dataCoordinate=V.dataPosition=null;var Lt=!1;if(Yt&&ce._prevButtons)ce._mouseRotating=!0;else{ce._mouseRotating&&(Ce=!0),ce._mouseRotating=!1;for(var St=0;St<Ke;++St){var Et=ie[St].query(xr,Ge[1]-er-1,ce.pickRadius);if(Et){if(Et.distance>V.distance)continue;for(var dt=0;dt<xt;++dt){var Ht=Me[dt];if(ke[dt]===St){var $t=Ht.pick(Et);$t&&(V.buttons=Yt,V.screen=Et.coord,V.distance=Et.distance,V.object=Ht,V.index=$t.distance,V.dataPosition=$t.position,V.dataCoordinate=$t.dataCoordinate,V.data=$t,Lt=!0)}}}}}bt&&bt!==V.object&&(bt.highlight&&bt.highlight(null),Te=!0),V.object&&(V.object.highlight&&V.object.highlight(V.data),Te=!0),Lt=Lt||V.object!==bt,Lt&&ce.onselect&&ce.onselect(V),Yt&1&&!(ce._prevButtons&1)&&ce.onclick&&ce.onclick(V),ce._prevButtons=Yt}})};function qt(){if(ce.contextLost)return!0;F.isContextLost()&&(ce.contextLost=!0,ce.mouseListener.enabled=!1,ce.selection.object=null,ce.oncontextloss&&ce.oncontextloss())}P.addEventListener(\"webglcontextlost\",qt);function rt(){if(!qt()){F.colorMask(!0,!0,!0,!0),F.depthMask(!0),F.disable(F.BLEND),F.enable(F.DEPTH_TEST),F.depthFunc(F.LEQUAL);for(var Yt=Me.length,xr=ie.length,er=0;er<xr;++er){var Ke=ie[er];Ke.shape=Ge,Ke.begin();for(var xt=0;xt<Yt;++xt)if(ke[xt]===er){var bt=Me[xt];bt.drawPick&&(bt.pixelRatio=1,bt.drawPick(ze))}Ke.end()}}}var ot=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],Rt=[ot[0].slice(),ot[1].slice()];function kt(){if(!qt()){nt();var Yt=ce.camera.tick();ze.view=ce.camera.matrix,Te=Te||Yt,Ce=Ce||Yt,re.pixelRatio=ce.pixelRatio,_e.pixelRatio=ce.pixelRatio;var xr=Me.length,er=ot[0],Ke=ot[1];er[0]=er[1]=er[2]=1/0,Ke[0]=Ke[1]=Ke[2]=-1/0;for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.pixelRatio=ce.pixelRatio,bt.axes=ce.axes,Te=Te||!!bt.dirty,Ce=Ce||!!bt.dirty;var Lt=bt.bounds;if(Lt)for(var St=Lt[0],Et=Lt[1],dt=0;dt<3;++dt)er[dt]=Math.min(er[dt],St[dt]),Ke[dt]=Math.max(Ke[dt],Et[dt])}var Ht=ce.bounds;if(ce.autoBounds)for(var dt=0;dt<3;++dt){if(Ke[dt]<er[dt])er[dt]=-1,Ke[dt]=1;else{er[dt]===Ke[dt]&&(er[dt]-=1,Ke[dt]+=1);var $t=.05*(Ke[dt]-er[dt]);er[dt]=er[dt]-$t,Ke[dt]=Ke[dt]+$t}Ht[0][dt]=er[dt],Ht[1][dt]=Ke[dt]}for(var fr=!1,dt=0;dt<3;++dt)fr=fr||Rt[0][dt]!==Ht[0][dt]||Rt[1][dt]!==Ht[1][dt],Rt[0][dt]=Ht[0][dt],Rt[1][dt]=Ht[1][dt];if(Ce=Ce||fr,Te=Te||fr,!!Te){if(fr){for(var _r=[0,0,0],xt=0;xt<3;++xt)_r[xt]=L((Ht[1][xt]-Ht[0][xt])/10);re.autoTicks?re.update({bounds:Ht,tickSpacing:_r}):re.update({bounds:Ht})}var Br=F.drawingBufferWidth,Or=F.drawingBufferHeight;me[0]=Br,me[1]=Or,Ge[0]=Math.max(Br/ce.pixelRatio,1)|0,Ge[1]=Math.max(Or/ce.pixelRatio,1)|0,M(ce,G);for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.axesBounds=Ht,ce.clipToBounds&&(bt.clipBounds=Ht)}V.object&&(ce.snapToData?_e.position=V.dataCoordinate:_e.position=V.dataPosition,_e.bounds=Ht),Ce&&(Ce=!1,rt()),ce.axesPixels=u(ce.axes,ze,Br,Or),ce.onrender&&ce.onrender(),F.bindFramebuffer(F.FRAMEBUFFER,null),F.viewport(0,0,Br,Or),ce.clearRGBA(),F.depthMask(!0),F.colorMask(!0,!0,!0,!0),F.enable(F.DEPTH_TEST),F.depthFunc(F.LEQUAL),F.disable(F.BLEND),F.disable(F.CULL_FACE);var Nr=!1;re.enable&&(Nr=Nr||re.isTransparent(),re.draw(ze)),_e.axes=re,V.object&&_e.draw(ze),F.disable(F.CULL_FACE);for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.axes=re,bt.pixelRatio=ce.pixelRatio,bt.isOpaque&&bt.isOpaque()&&bt.draw(ze),bt.isTransparent&&bt.isTransparent()&&(Nr=!0)}if(Nr){H.shape=me,H.bind(),F.clear(F.DEPTH_BUFFER_BIT),F.colorMask(!1,!1,!1,!1),F.depthMask(!0),F.depthFunc(F.LESS),re.enable&&re.isTransparent()&&re.drawTransparent(ze);for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.isOpaque&&bt.isOpaque()&&bt.draw(ze)}F.enable(F.BLEND),F.blendEquation(F.FUNC_ADD),F.blendFunc(F.ONE,F.ONE_MINUS_SRC_ALPHA),F.colorMask(!0,!0,!0,!0),F.depthMask(!1),F.clearColor(0,0,0,0),F.clear(F.COLOR_BUFFER_BIT),re.isTransparent()&&re.drawTransparent(ze);for(var xt=0;xt<xr;++xt){var bt=Me[xt];bt.isTransparent&&bt.isTransparent()&&bt.drawTransparent(ze)}F.bindFramebuffer(F.FRAMEBUFFER,null),F.blendFunc(F.ONE,F.ONE_MINUS_SRC_ALPHA),F.disable(F.DEPTH_TEST),X.bind(),H.color[0].bind(0),X.uniforms.accumBuffer=0,d(F),F.disable(F.BLEND)}Te=!1;for(var xt=0;xt<xr;++xt)Me[xt].dirty=!1}}}function Ct(){ce._stopped||ce.contextLost||(kt(),requestAnimationFrame(Ct))}return ce.enableMouseListeners(),Ct(),ce.redraw=function(){ce._stopped||(Te=!0,kt())},ce}function M(g,P){var T=g.bounds,F=g.cameraParams,q=F.projection,V=F.model,H=g.gl.drawingBufferWidth,X=g.gl.drawingBufferHeight,G=g.zNear,N=g.zFar,W=g.fovy,re=H/X;P?(b(q,-re,re,-1,1,G,N),F._ortho=!0):(x(q,W,re,G,N),F._ortho=!1);for(var ae=0;ae<16;++ae)V[ae]=0;V[15]=1;for(var _e=0,ae=0;ae<3;++ae)_e=Math.max(_e,T[1][ae]-T[0][ae]);for(var ae=0;ae<3;++ae)g.autoScale?V[5*ae]=g.aspect[ae]/(T[1][ae]-T[0][ae]):V[5*ae]=1/_e,g.autoCenter&&(V[12+ae]=-V[5*ae]*.5*(T[0][ae]+T[1][ae]))}},783:function(i){i.exports=a;function a(o,s,l,u){var c=s[0],f=s[1],h=s[2],d=s[3],v=l[0],x=l[1],b=l[2],p=l[3],E,k,A,L,_;return k=c*v+f*x+h*b+d*p,k<0&&(k=-k,v=-v,x=-x,b=-b,p=-p),1-k>1e-6?(E=Math.acos(k),A=Math.sin(E),L=Math.sin((1-u)*E)/A,_=Math.sin(u*E)/A):(L=1-u,_=u),o[0]=L*c+_*v,o[1]=L*f+_*x,o[2]=L*h+_*b,o[3]=L*d+_*p,o}},5964:function(i){\"use strict\";i.exports=function(a){return!a&&a!==0?\"\":a.toString()}},9366:function(i,a,o){\"use strict\";var s=o(4359);i.exports=u;var l={};function u(c,f,h){var d=[f.style,f.weight,f.variant,f.family].join(\"_\"),v=l[d];if(v||(v=l[d]={}),c in v)return v[c];var x={textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:f.family,fontStyle:f.style,fontWeight:f.weight,fontVariant:f.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}};x.triangles=!0;var b=s(c,x);x.triangles=!1;var p=s(c,x),E,k;if(h&&h!==1){for(E=0;E<b.positions.length;++E)for(k=0;k<b.positions[E].length;++k)b.positions[E][k]/=h;for(E=0;E<p.positions.length;++E)for(k=0;k<p.positions[E].length;++k)p.positions[E][k]/=h}var A=[[1/0,1/0],[-1/0,-1/0]],L=p.positions.length;for(E=0;E<L;++E){var _=p.positions[E];for(k=0;k<2;++k)A[0][k]=Math.min(A[0][k],_[k]),A[1][k]=Math.max(A[1][k],_[k])}return v[c]=[b,p,A]}},1283:function(i,a,o){var s=o(9405),l=o(3236),u=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 glyph;\n", - "attribute vec4 id;\n", - "\n", - "uniform vec4 highlightId;\n", - "uniform float highlightScale;\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 clipBounds[2];\n", - "\n", - "varying vec4 interpColor;\n", - "varying vec4 pickId;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void 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", - "}`]),c=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 glyph;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec2 screenSize;\n", - "uniform vec3 clipBounds[2];\n", - "uniform float highlightScale, pixelRatio;\n", - "uniform vec4 highlightId;\n", - "\n", - "varying vec4 interpColor;\n", - "varying vec4 pickId;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void 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", - "}`]),f=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "attribute vec3 position;\n", - "attribute vec4 color;\n", - "attribute vec2 glyph;\n", - "attribute vec4 id;\n", - "\n", - "uniform float highlightScale;\n", - "uniform vec4 highlightId;\n", - "uniform vec3 axes[2];\n", - "uniform mat4 model, view, projection;\n", - "uniform vec2 screenSize;\n", - "uniform vec3 clipBounds[2];\n", - "uniform float scale, pixelRatio;\n", - "\n", - "varying vec4 interpColor;\n", - "varying vec4 pickId;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void 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", - "`]),h=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 fragClipBounds[2];\n", - "uniform float opacity;\n", - "\n", - "varying vec4 interpColor;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void main() {\n", - " if (\n", - " outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n", - " interpColor.a * opacity == 0.\n", - " ) discard;\n", - " gl_FragColor = interpColor * opacity;\n", - "}\n", - "`]),d=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 fragClipBounds[2];\n", - "uniform float pickGroup;\n", - "\n", - "varying vec4 pickId;\n", - "varying vec3 dataCoordinate;\n", - "\n", - "void main() {\n", - " if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n", - "\n", - " gl_FragColor = vec4(pickGroup, pickId.bgr);\n", - "}`]),v=[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"glyph\",type:\"vec2\"},{name:\"id\",type:\"vec4\"}],x={vertex:u,fragment:h,attributes:v},b={vertex:c,fragment:h,attributes:v},p={vertex:f,fragment:h,attributes:v},E={vertex:u,fragment:d,attributes:v},k={vertex:c,fragment:d,attributes:v},A={vertex:f,fragment:d,attributes:v};function L(_,C){var M=s(_,C),g=M.attributes;return g.position.location=0,g.color.location=1,g.glyph.location=2,g.id.location=3,M}a.createPerspective=function(_){return L(_,x)},a.createOrtho=function(_){return L(_,b)},a.createProject=function(_){return L(_,p)},a.createPickPerspective=function(_){return L(_,E)},a.createPickOrtho=function(_){return L(_,k)},a.createPickProject=function(_){return L(_,A)}},8418:function(i,a,o){\"use strict\";var s=o(5219),l=o(2762),u=o(8116),c=o(1888),f=o(6760),h=o(1283),d=o(9366),v=o(5964),x=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],b=ArrayBuffer,p=DataView;function E(Ae){return b.isView(Ae)&&!(Ae instanceof p)}function k(Ae){return Array.isArray(Ae)||E(Ae)}i.exports=Ee;function A(Ae,ze){var Ce=Ae[0],me=Ae[1],Re=Ae[2],ce=Ae[3];return Ae[0]=ze[0]*Ce+ze[4]*me+ze[8]*Re+ze[12]*ce,Ae[1]=ze[1]*Ce+ze[5]*me+ze[9]*Re+ze[13]*ce,Ae[2]=ze[2]*Ce+ze[6]*me+ze[10]*Re+ze[14]*ce,Ae[3]=ze[3]*Ce+ze[7]*me+ze[11]*Re+ze[15]*ce,Ae}function L(Ae,ze,Ce,me){return A(me,me,Ce),A(me,me,ze),A(me,me,Ae)}function _(Ae,ze){this.index=Ae,this.dataCoordinate=this.position=ze}function C(Ae){return Ae===!0||Ae>1?1:Ae}function M(Ae,ze,Ce,me,Re,ce,Ge,nt,ct,qt,rt,ot){this.gl=Ae,this.pixelRatio=1,this.shader=ze,this.orthoShader=Ce,this.projectShader=me,this.pointBuffer=Re,this.colorBuffer=ce,this.glyphBuffer=Ge,this.idBuffer=nt,this.vao=ct,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[.6666666666666666,.6666666666666666,.6666666666666666],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=qt,this.pickOrthoShader=rt,this.pickProjectShader=ot,this.points=[],this._selectResult=new _(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}var g=M.prototype;g.pickSlots=1,g.setPickBase=function(Ae){this.pickId=Ae},g.isTransparent=function(){if(this.hasAlpha)return!0;for(var Ae=0;Ae<3;++Ae)if(this.axesProject[Ae]&&this.projectHasAlpha)return!0;return!1},g.isOpaque=function(){if(!this.hasAlpha)return!0;for(var Ae=0;Ae<3;++Ae)if(this.axesProject[Ae]&&!this.projectHasAlpha)return!0;return!1};var P=[0,0],T=[0,0,0],F=[0,0,0],q=[0,0,0,1],V=[0,0,0,1],H=x.slice(),X=[0,0,0],G=[[0,0,0],[0,0,0]];function N(Ae){return Ae[0]=Ae[1]=Ae[2]=0,Ae}function W(Ae,ze){return Ae[0]=ze[0],Ae[1]=ze[1],Ae[2]=ze[2],Ae[3]=1,Ae}function re(Ae,ze,Ce,me){return Ae[0]=ze[0],Ae[1]=ze[1],Ae[2]=ze[2],Ae[Ce]=me,Ae}function ae(Ae){for(var ze=G,Ce=0;Ce<2;++Ce)for(var me=0;me<3;++me)ze[Ce][me]=Math.max(Math.min(Ae[Ce][me],1e8),-1e8);return ze}function _e(Ae,ze,Ce,me){var Re=ze.axesProject,ce=ze.gl,Ge=Ae.uniforms,nt=Ce.model||x,ct=Ce.view||x,qt=Ce.projection||x,rt=ze.axesBounds,ot=ae(ze.clipBounds),Rt;ze.axes&&ze.axes.lastCubeProps?Rt=ze.axes.lastCubeProps.axis:Rt=[1,1,1],P[0]=2/ce.drawingBufferWidth,P[1]=2/ce.drawingBufferHeight,Ae.bind(),Ge.view=ct,Ge.projection=qt,Ge.screenSize=P,Ge.highlightId=ze.highlightId,Ge.highlightScale=ze.highlightScale,Ge.clipBounds=ot,Ge.pickGroup=ze.pickId/255,Ge.pixelRatio=me;for(var kt=0;kt<3;++kt)if(Re[kt]){Ge.scale=ze.projectScale[kt],Ge.opacity=ze.projectOpacity[kt];for(var Ct=H,Yt=0;Yt<16;++Yt)Ct[Yt]=0;for(var Yt=0;Yt<4;++Yt)Ct[5*Yt]=1;Ct[5*kt]=0,Rt[kt]<0?Ct[12+kt]=rt[0][kt]:Ct[12+kt]=rt[1][kt],f(Ct,nt,Ct),Ge.model=Ct;var xr=(kt+1)%3,er=(kt+2)%3,Ke=N(T),xt=N(F);Ke[xr]=1,xt[er]=1;var bt=L(qt,ct,nt,W(q,Ke)),Lt=L(qt,ct,nt,W(V,xt));if(Math.abs(bt[1])>Math.abs(Lt[1])){var St=bt;bt=Lt,Lt=St,St=Ke,Ke=xt,xt=St;var Et=xr;xr=er,er=Et}bt[0]<0&&(Ke[xr]=-1),Lt[1]>0&&(xt[er]=-1);for(var dt=0,Ht=0,Yt=0;Yt<4;++Yt)dt+=Math.pow(nt[4*xr+Yt],2),Ht+=Math.pow(nt[4*er+Yt],2);Ke[xr]/=Math.sqrt(dt),xt[er]/=Math.sqrt(Ht),Ge.axes[0]=Ke,Ge.axes[1]=xt,Ge.fragClipBounds[0]=re(X,ot[0],kt,-1e8),Ge.fragClipBounds[1]=re(X,ot[1],kt,1e8),ze.vao.bind(),ze.vao.draw(ce.TRIANGLES,ze.vertexCount),ze.lineWidth>0&&(ce.lineWidth(ze.lineWidth*me),ze.vao.draw(ce.LINES,ze.lineVertexCount,ze.vertexCount)),ze.vao.unbind()}}var Me=[-1e8,-1e8,-1e8],ke=[1e8,1e8,1e8],ge=[Me,ke];function ie(Ae,ze,Ce,me,Re,ce,Ge){var nt=Ce.gl;if((ce===Ce.projectHasAlpha||Ge)&&_e(ze,Ce,me,Re),ce===Ce.hasAlpha||Ge){Ae.bind();var ct=Ae.uniforms;ct.model=me.model||x,ct.view=me.view||x,ct.projection=me.projection||x,P[0]=2/nt.drawingBufferWidth,P[1]=2/nt.drawingBufferHeight,ct.screenSize=P,ct.highlightId=Ce.highlightId,ct.highlightScale=Ce.highlightScale,ct.fragClipBounds=ge,ct.clipBounds=Ce.axes.bounds,ct.opacity=Ce.opacity,ct.pickGroup=Ce.pickId/255,ct.pixelRatio=Re,Ce.vao.bind(),Ce.vao.draw(nt.TRIANGLES,Ce.vertexCount),Ce.lineWidth>0&&(nt.lineWidth(Ce.lineWidth*Re),Ce.vao.draw(nt.LINES,Ce.lineVertexCount,Ce.vertexCount)),Ce.vao.unbind()}}g.draw=function(Ae){var ze=this.useOrtho?this.orthoShader:this.shader;ie(ze,this.projectShader,this,Ae,this.pixelRatio,!1,!1)},g.drawTransparent=function(Ae){var ze=this.useOrtho?this.orthoShader:this.shader;ie(ze,this.projectShader,this,Ae,this.pixelRatio,!0,!1)},g.drawPick=function(Ae){var ze=this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader;ie(ze,this.pickProjectShader,this,Ae,1,!0,!0)},g.pick=function(Ae){if(!Ae||Ae.id!==this.pickId)return null;var ze=Ae.value[2]+(Ae.value[1]<<8)+(Ae.value[0]<<16);if(ze>=this.pointCount||ze<0)return null;var Ce=this.points[ze],me=this._selectResult;me.index=ze;for(var Re=0;Re<3;++Re)me.position[Re]=me.dataCoordinate[Re]=Ce[Re];return me},g.highlight=function(Ae){if(!Ae)this.highlightId=[1,1,1,1];else{var ze=Ae.index,Ce=ze&255,me=ze>>8&255,Re=ze>>16&255;this.highlightId=[Ce/255,me/255,Re/255,0]}};function Te(Ae,ze,Ce,me){var Re;k(Ae)?ze<Ae.length?Re=Ae[ze]:Re=void 0:Re=Ae,Re=v(Re);var ce=!0;s(Re)&&(Re=\"\\u25BC\",ce=!1),Ce||(Ce={});var Ge=Ce.family;k(Ge)&&(Ge=Ge[ze]),Ge||(Ge=\"normal\");var nt=Ce.weight;k(nt)&&(nt=nt[ze]),nt||(nt=\"normal\");var ct=Ce.style;k(ct)&&(ct=ct[ze]),ct||(ct=\"normal\");var qt=Ce.variant;k(qt)&&(qt=qt[ze]),qt||(qt=\"normal\");var rt=d(Re,{family:Ge,weight:nt,style:ct,variant:qt},me),rt=d(Re,Ce,me);return{mesh:rt[0],lines:rt[1],bounds:rt[2],visible:ce}}g.update=function(Ae){if(Ae=Ae||{},\"perspective\"in Ae&&(this.useOrtho=!Ae.perspective),\"orthographic\"in Ae&&(this.useOrtho=!!Ae.orthographic),\"lineWidth\"in Ae&&(this.lineWidth=Ae.lineWidth),\"project\"in Ae)if(k(Ae.project))this.axesProject=Ae.project;else{var ze=!!Ae.project;this.axesProject=[ze,ze,ze]}if(\"projectScale\"in Ae)if(k(Ae.projectScale))this.projectScale=Ae.projectScale.slice();else{var Ce=+Ae.projectScale;this.projectScale=[Ce,Ce,Ce]}if(this.projectHasAlpha=!1,\"projectOpacity\"in Ae){if(k(Ae.projectOpacity))this.projectOpacity=Ae.projectOpacity.slice();else{var Ce=+Ae.projectOpacity;this.projectOpacity=[Ce,Ce,Ce]}for(var me=0;me<3;++me)this.projectOpacity[me]=C(this.projectOpacity[me]),this.projectOpacity[me]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,\"opacity\"in Ae&&(this.opacity=C(Ae.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var Re=Ae.position,ce={family:Ae.font||\"normal\",style:Ae.fontStyle||\"normal\",weight:Ae.fontWeight||\"normal\",variant:Ae.fontVariant||\"normal\"},Ge=Ae.alignment||[0,0],nt,ct;if(Ge.length===2)nt=Ge[0],ct=Ge[1];else{nt=[],ct=[];for(var me=0;me<Ge.length;++me)nt[me]=Ge[me][0],ct[me]=Ge[me][1]}var qt=[1/0,1/0,1/0],rt=[-1/0,-1/0,-1/0],ot=Ae.glyph,Rt=Ae.color,kt=Ae.size,Ct=Ae.angle,Yt=Ae.lineColor,xr=-1,er=0,Ke=0,xt=0;if(Re.length){xt=Re.length;e:for(var me=0;me<xt;++me){for(var bt=Re[me],Lt=0;Lt<3;++Lt)if(isNaN(bt[Lt])||!isFinite(bt[Lt]))continue e;var St=Te(ot,me,ce,this.pixelRatio),Et=St.mesh,dt=St.lines,Ht=St.bounds;er+=Et.cells.length*3,Ke+=dt.edges.length*2}}var $t=er+Ke,fr=c.mallocFloat(3*$t),_r=c.mallocFloat(4*$t),Br=c.mallocFloat(2*$t),Or=c.mallocUint32($t);if($t>0){var Nr=0,ut=er,Ne=[0,0,0,1],Ye=[0,0,0,1],Ve=k(Rt)&&k(Rt[0]),Xe=k(Yt)&&k(Yt[0]);e:for(var me=0;me<xt;++me){xr+=1;for(var bt=Re[me],Lt=0;Lt<3;++Lt){if(isNaN(bt[Lt])||!isFinite(bt[Lt]))continue e;rt[Lt]=Math.max(rt[Lt],bt[Lt]),qt[Lt]=Math.min(qt[Lt],bt[Lt])}var St=Te(ot,me,ce,this.pixelRatio),Et=St.mesh,dt=St.lines,Ht=St.bounds,ht=St.visible;if(!ht)Ne=[1,1,1,0];else if(k(Rt)){var Le;if(Ve?me<Rt.length?Le=Rt[me]:Le=[0,0,0,0]:Le=Rt,Le.length===3){for(var Lt=0;Lt<3;++Lt)Ne[Lt]=Le[Lt];Ne[3]=1}else if(Le.length===4){for(var Lt=0;Lt<4;++Lt)Ne[Lt]=Le[Lt];!this.hasAlpha&&Le[3]<1&&(this.hasAlpha=!0)}}else Ne[0]=Ne[1]=Ne[2]=0,Ne[3]=1;if(!ht)Ye=[1,1,1,0];else if(k(Yt)){var Le;if(Xe?me<Yt.length?Le=Yt[me]:Le=[0,0,0,0]:Le=Yt,Le.length===3){for(var Lt=0;Lt<3;++Lt)Ye[Lt]=Le[Lt];Ye[Lt]=1}else if(Le.length===4){for(var Lt=0;Lt<4;++Lt)Ye[Lt]=Le[Lt];!this.hasAlpha&&Le[3]<1&&(this.hasAlpha=!0)}}else Ye[0]=Ye[1]=Ye[2]=0,Ye[3]=1;var xe=.5;ht?k(kt)?me<kt.length?xe=+kt[me]:xe=12:kt?xe=+kt:this.useOrtho&&(xe=12):xe=0;var Se=0;k(Ct)?me<Ct.length?Se=+Ct[me]:Se=0:Ct&&(Se=+Ct);for(var lt=Math.cos(Se),Gt=Math.sin(Se),bt=Re[me],Lt=0;Lt<3;++Lt)rt[Lt]=Math.max(rt[Lt],bt[Lt]),qt[Lt]=Math.min(qt[Lt],bt[Lt]);var Vt=nt,ar=ct,Vt=0;k(nt)?me<nt.length?Vt=nt[me]:Vt=0:nt&&(Vt=nt);var ar=0;k(ct)?me<ct.length?ar=ct[me]:ar=0:ct&&(ar=ct),Vt*=Vt>0?1-Ht[0][0]:Vt<0?1+Ht[1][0]:1,ar*=ar>0?1-Ht[0][1]:ar<0?1+Ht[1][1]:1;for(var Qr=[Vt,ar],nn=Et.cells||[],Wi=Et.positions||[],Lt=0;Lt<nn.length;++Lt)for(var ai=nn[Lt],jr=0;jr<3;++jr){for(var ri=0;ri<3;++ri)fr[3*Nr+ri]=bt[ri];for(var ri=0;ri<4;++ri)_r[4*Nr+ri]=Ne[ri];Or[Nr]=xr;var bi=Wi[ai[jr]];Br[2*Nr]=xe*(lt*bi[0]-Gt*bi[1]+Qr[0]),Br[2*Nr+1]=xe*(Gt*bi[0]+lt*bi[1]+Qr[1]),Nr+=1}for(var nn=dt.edges,Wi=dt.positions,Lt=0;Lt<nn.length;++Lt)for(var ai=nn[Lt],jr=0;jr<2;++jr){for(var ri=0;ri<3;++ri)fr[3*ut+ri]=bt[ri];for(var ri=0;ri<4;++ri)_r[4*ut+ri]=Ye[ri];Or[ut]=xr;var bi=Wi[ai[jr]];Br[2*ut]=xe*(lt*bi[0]-Gt*bi[1]+Qr[0]),Br[2*ut+1]=xe*(Gt*bi[0]+lt*bi[1]+Qr[1]),ut+=1}}}this.bounds=[qt,rt],this.points=Re,this.pointCount=Re.length,this.vertexCount=er,this.lineVertexCount=Ke,this.pointBuffer.update(fr),this.colorBuffer.update(_r),this.glyphBuffer.update(Br),this.idBuffer.update(Or),c.free(fr),c.free(_r),c.free(Br),c.free(Or)},g.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()};function Ee(Ae){var ze=Ae.gl,Ce=h.createPerspective(ze),me=h.createOrtho(ze),Re=h.createProject(ze),ce=h.createPickPerspective(ze),Ge=h.createPickOrtho(ze),nt=h.createPickProject(ze),ct=l(ze),qt=l(ze),rt=l(ze),ot=l(ze),Rt=u(ze,[{buffer:ct,size:3,type:ze.FLOAT},{buffer:qt,size:4,type:ze.FLOAT},{buffer:rt,size:2,type:ze.FLOAT},{buffer:ot,size:4,type:ze.UNSIGNED_BYTE,normalized:!0}]),kt=new M(ze,Ce,me,Re,ct,qt,rt,ot,Rt,ce,Ge,nt);return kt.update(Ae),kt}},3589:function(i,a,o){\"use strict\";i.exports=x;var s=o(2260),l=o(1888),u=o(9618),c=o(8828).nextPow2,f=function(b,p,E){for(var k=1e8,A=-1,L=-1,_=b.shape[0],C=b.shape[1],M=0;M<_;M++)for(var g=0;g<C;g++){var P=b.get(M,g,0),T=b.get(M,g,1),F=b.get(M,g,2),q=b.get(M,g,3);if(P<255||T<255||F<255||q<255){var V=p-M,H=E-g,X=V*V+H*H;X<k&&(k=X,A=M,L=g)}}return[A,L,k]};function h(b,p,E,k,A){this.coord=[b,p],this.id=E,this.value=k,this.distance=A}function d(b,p,E){this.gl=b,this.fbo=p,this.buffer=E,this._readTimeout=null;var k=this;this._readCallback=function(){k.gl&&(p.bind(),b.readPixels(0,0,p.shape[0],p.shape[1],b.RGBA,b.UNSIGNED_BYTE,k.buffer),k._readTimeout=null)}}var v=d.prototype;Object.defineProperty(v,\"shape\",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(b){if(this.gl){this.fbo.shape=b;var p=this.fbo.shape[0],E=this.fbo.shape[1];if(E*p*4>this.buffer.length){l.free(this.buffer);for(var k=this.buffer=l.mallocUint8(c(E*p*4)),A=0;A<E*p*4;++A)k[A]=255}return b}}}),v.begin=function(){var b=this.gl,p=this.shape;b&&(this.fbo.bind(),b.clearColor(1,1,1,1),b.clear(b.COLOR_BUFFER_BIT|b.DEPTH_BUFFER_BIT))},v.end=function(){var b=this.gl;b&&(b.bindFramebuffer(b.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},v.query=function(b,p,E){if(!this.gl)return null;var k=this.fbo.shape.slice();b=b|0,p=p|0,typeof E!=\"number\"&&(E=1);var A=Math.min(Math.max(b-E,0),k[0])|0,L=Math.min(Math.max(b+E,0),k[0])|0,_=Math.min(Math.max(p-E,0),k[1])|0,C=Math.min(Math.max(p+E,0),k[1])|0;if(L<=A||C<=_)return null;var M=[L-A,C-_],g=u(this.buffer,[M[0],M[1],4],[4,k[0]*4,1],4*(A+k[0]*_)),P=f(g.hi(M[0],M[1],1),E,E),T=P[0],F=P[1];if(T<0||Math.pow(this.radius,2)<P[2])return null;var q=g.get(T,F,0),V=g.get(T,F,1),H=g.get(T,F,2),X=g.get(T,F,3);return new h(T+A|0,F+_|0,q,[V,H,X],Math.sqrt(P[2]))},v.dispose=function(){this.gl&&(this.fbo.dispose(),l.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))};function x(b,p){var E=p[0],k=p[1],A={},L=s(b,E,k,A),_=l.mallocUint8(E*k*4);return new d(b,L,_)}},9405:function(i,a,o){\"use strict\";var s=o(3327),l=o(8731),u=o(216),c=o(5091),f=o(2145),h=o(8866);function d(p){this.gl=p,this.gl.lastAttribCount=0,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}var v=d.prototype;v.bind=function(){this.program||this._relink();var p,E=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),k=this.gl.lastAttribCount;if(E>k)for(p=k;p<E;p++)this.gl.enableVertexAttribArray(p);else if(k>E)for(p=E;p<k;p++)this.gl.disableVertexAttribArray(p);this.gl.lastAttribCount=E,this.gl.useProgram(this.program)},v.dispose=function(){for(var p=this.gl.lastAttribCount,E=0;E<p;E++)this.gl.disableVertexAttribArray(E);this.gl.lastAttribCount=0,this._fref&&this._fref.dispose(),this._vref&&this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null};function x(p,E){return p.name<E.name?-1:1}v.update=function(p,E,k,A){if(!E||arguments.length===1){var L=p;p=L.vertex,E=L.fragment,k=L.uniforms,A=L.attributes}var _=this,C=_.gl,M=_._vref;_._vref=c.shader(C,C.VERTEX_SHADER,p),M&&M.dispose(),_.vertShader=_._vref.shader;var g=this._fref;if(_._fref=c.shader(C,C.FRAGMENT_SHADER,E),g&&g.dispose(),_.fragShader=_._fref.shader,!k||!A){var P=C.createProgram();if(C.attachShader(P,_.fragShader),C.attachShader(P,_.vertShader),C.linkProgram(P),!C.getProgramParameter(P,C.LINK_STATUS)){var T=C.getProgramInfoLog(P);throw new h(T,\"Error linking program:\"+T)}k=k||f.uniforms(C,P),A=A||f.attributes(C,P),C.deleteProgram(P)}A=A.slice(),A.sort(x);var F=[],q=[],V=[],H;for(H=0;H<A.length;++H){var X=A[H];if(X.type.indexOf(\"mat\")>=0){for(var G=X.type.charAt(X.type.length-1)|0,N=new Array(G),W=0;W<G;++W)N[W]=V.length,q.push(X.name+\"[\"+W+\"]\"),typeof X.location==\"number\"?V.push(X.location+W):Array.isArray(X.location)&&X.location.length===G&&typeof X.location[W]==\"number\"?V.push(X.location[W]|0):V.push(-1);F.push({name:X.name,type:X.type,locations:N})}else F.push({name:X.name,type:X.type,locations:[V.length]}),q.push(X.name),typeof X.location==\"number\"?V.push(X.location|0):V.push(-1)}var re=0;for(H=0;H<V.length;++H)if(V[H]<0){for(;V.indexOf(re)>=0;)re+=1;V[H]=re}var ae=new Array(k.length);function _e(){_.program=c.program(C,_._vref,_._fref,q,V);for(var Me=0;Me<k.length;++Me)ae[Me]=C.getUniformLocation(_.program,k[Me].name)}_e(),_._relink=_e,_.types={uniforms:u(k),attributes:u(A)},_.attributes=l(C,_,F,V),Object.defineProperty(_,\"uniforms\",s(C,_,k,ae))};function b(p,E,k,A,L){var _=new d(p);return _.update(E,k,A,L),_}i.exports=b},8866:function(i){function a(o,s,l){this.shortMessage=s||\"\",this.longMessage=l||\"\",this.rawError=o||\"\",this.message=\"gl-shader: \"+(s||o||\"\")+(l?`\n", - "`+l:\"\"),this.stack=new Error().stack}a.prototype=new Error,a.prototype.name=\"GLError\",a.prototype.constructor=a,i.exports=a},8731:function(i,a,o){\"use strict\";i.exports=d;var s=o(8866);function l(v,x,b,p,E,k){this._gl=v,this._wrapper=x,this._index=b,this._locations=p,this._dimension=E,this._constFunc=k}var u=l.prototype;u.pointer=function(x,b,p,E){var k=this,A=k._gl,L=k._locations[k._index];A.vertexAttribPointer(L,k._dimension,x||A.FLOAT,!!b,p||0,E||0),A.enableVertexAttribArray(L)},u.set=function(v,x,b,p){return this._constFunc(this._locations[this._index],v,x,b,p)},Object.defineProperty(u,\"location\",{get:function(){return this._locations[this._index]},set:function(v){return v!==this._locations[this._index]&&(this._locations[this._index]=v|0,this._wrapper.program=null),v|0}});var c=[function(v,x,b){return b.length===void 0?v.vertexAttrib1f(x,b):v.vertexAttrib1fv(x,b)},function(v,x,b,p){return b.length===void 0?v.vertexAttrib2f(x,b,p):v.vertexAttrib2fv(x,b)},function(v,x,b,p,E){return b.length===void 0?v.vertexAttrib3f(x,b,p,E):v.vertexAttrib3fv(x,b)},function(v,x,b,p,E,k){return b.length===void 0?v.vertexAttrib4f(x,b,p,E,k):v.vertexAttrib4fv(x,b)}];function f(v,x,b,p,E,k,A){var L=c[E],_=new l(v,x,b,p,E,L);Object.defineProperty(k,A,{set:function(C){return v.disableVertexAttribArray(p[b]),L(v,p[b],C),C},get:function(){return _},enumerable:!0})}function h(v,x,b,p,E,k,A){for(var L=new Array(E),_=new Array(E),C=0;C<E;++C)f(v,x,b[C],p,E,L,C),_[C]=L[C];Object.defineProperty(L,\"location\",{set:function(P){if(Array.isArray(P))for(var T=0;T<E;++T)_[T].location=P[T];else for(var T=0;T<E;++T)_[T].location=P+T;return P},get:function(){for(var P=new Array(E),T=0;T<E;++T)P[T]=p[b[T]];return P},enumerable:!0}),L.pointer=function(P,T,F,q){P=P||v.FLOAT,T=!!T,F=F||E*E,q=q||0;for(var V=0;V<E;++V){var H=p[b[V]];v.vertexAttribPointer(H,E,P,T,F,q+V*E),v.enableVertexAttribArray(H)}};var M=new Array(E),g=v[\"vertexAttrib\"+E+\"fv\"];Object.defineProperty(k,A,{set:function(P){for(var T=0;T<E;++T){var F=p[b[T]];if(v.disableVertexAttribArray(F),Array.isArray(P[0]))g.call(v,F,P[T]);else{for(var q=0;q<E;++q)M[q]=P[E*T+q];g.call(v,F,M)}}return P},get:function(){return L},enumerable:!0})}function d(v,x,b,p){for(var E={},k=0,A=b.length;k<A;++k){var L=b[k],_=L.name,C=L.type,M=L.locations;switch(C){case\"bool\":case\"int\":case\"float\":f(v,x,M[0],p,1,E,_);break;default:if(C.indexOf(\"vec\")>=0){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new s(\"\",\"Invalid data type for attribute \"+_+\": \"+C);f(v,x,M[0],p,g,E,_)}else if(C.indexOf(\"mat\")>=0){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new s(\"\",\"Invalid data type for attribute \"+_+\": \"+C);h(v,x,M,p,g,E,_)}else throw new s(\"\",\"Unknown data type for attribute \"+_+\": \"+C);break}}return E}},3327:function(i,a,o){\"use strict\";var s=o(216),l=o(8866);i.exports=f;function u(h){return function(){return h}}function c(h,d){for(var v=new Array(h),x=0;x<h;++x)v[x]=d;return v}function f(h,d,v,x){function b(C){return function(M,g,P){return M.getUniform(g.program,P[C])}}function p(C){return function(g){for(var P=E(\"\",C),T=0;T<P.length;++T){var F=P[T],q=F[0],V=F[1];if(x[V]){var H=g;if(typeof q==\"string\"&&(q.indexOf(\".\")===0||q.indexOf(\"[\")===0)){var X=q;if(q.indexOf(\".\")===0&&(X=q.slice(1)),X.indexOf(\"]\")===X.length-1){var G=X.indexOf(\"[\"),N=X.slice(0,G),W=X.slice(G+1,X.length-1);H=N?g[N][W]:g[W]}else H=g[X]}var re=v[V].type,ae;switch(re){case\"bool\":case\"int\":case\"sampler2D\":case\"samplerCube\":h.uniform1i(x[V],H);break;case\"float\":h.uniform1f(x[V],H);break;default:var _e=re.indexOf(\"vec\");if(0<=_e&&_e<=1&&re.length===4+_e){if(ae=re.charCodeAt(re.length-1)-48,ae<2||ae>4)throw new l(\"\",\"Invalid data type\");switch(re.charAt(0)){case\"b\":case\"i\":h[\"uniform\"+ae+\"iv\"](x[V],H);break;case\"v\":h[\"uniform\"+ae+\"fv\"](x[V],H);break;default:throw new l(\"\",\"Unrecognized data type for vector \"+name+\": \"+re)}}else if(re.indexOf(\"mat\")===0&&re.length===4){if(ae=re.charCodeAt(re.length-1)-48,ae<2||ae>4)throw new l(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+re);h[\"uniformMatrix\"+ae+\"fv\"](x[V],!1,H);break}else throw new l(\"\",\"Unknown uniform data type for \"+name+\": \"+re)}}}}}function E(C,M){if(typeof M!=\"object\")return[[C,M]];var g=[];for(var P in M){var T=M[P],F=C;parseInt(P)+\"\"===P?F+=\"[\"+P+\"]\":F+=\".\"+P,typeof T==\"object\"?g.push.apply(g,E(F,T)):g.push([F,T])}return g}function k(C){switch(C){case\"bool\":return!1;case\"int\":case\"sampler2D\":case\"samplerCube\":return 0;case\"float\":return 0;default:var M=C.indexOf(\"vec\");if(0<=M&&M<=1&&C.length===4+M){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new l(\"\",\"Invalid data type\");return C.charAt(0)===\"b\"?c(g,!1):c(g,0)}else if(C.indexOf(\"mat\")===0&&C.length===4){var g=C.charCodeAt(C.length-1)-48;if(g<2||g>4)throw new l(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+C);return c(g*g,0)}else throw new l(\"\",\"Unknown uniform data type for \"+name+\": \"+C)}}function A(C,M,g){if(typeof g==\"object\"){var P=L(g);Object.defineProperty(C,M,{get:u(P),set:p(g),enumerable:!0,configurable:!1})}else x[g]?Object.defineProperty(C,M,{get:b(g),set:p(g),enumerable:!0,configurable:!1}):C[M]=k(v[g].type)}function L(C){var M;if(Array.isArray(C)){M=new Array(C.length);for(var g=0;g<C.length;++g)A(M,g,C[g])}else{M={};for(var P in C)A(M,P,C[P])}return M}var _=s(v,!0);return{get:u(L(_)),set:p(_),enumerable:!0,configurable:!0}}},216:function(i){\"use strict\";i.exports=a;function a(o,s){for(var l={},u=0;u<o.length;++u)for(var c=o[u].name,f=c.split(\".\"),h=l,d=0;d<f.length;++d){var v=f[d].split(\"[\");if(v.length>1){v[0]in h||(h[v[0]]=[]),h=h[v[0]];for(var x=1;x<v.length;++x){var b=parseInt(v[x]);x<v.length-1||d<f.length-1?(b in h||(x<v.length-1?h[b]=[]:h[b]={}),h=h[b]):s?h[b]=u:h[b]=o[u].type}}else d<f.length-1?(v[0]in h||(h[v[0]]={}),h=h[v[0]]):s?h[v[0]]=u:h[v[0]]=o[u].type}return l}},2145:function(i,a){\"use strict\";a.uniforms=u,a.attributes=c;var o={FLOAT:\"float\",FLOAT_VEC2:\"vec2\",FLOAT_VEC3:\"vec3\",FLOAT_VEC4:\"vec4\",INT:\"int\",INT_VEC2:\"ivec2\",INT_VEC3:\"ivec3\",INT_VEC4:\"ivec4\",BOOL:\"bool\",BOOL_VEC2:\"bvec2\",BOOL_VEC3:\"bvec3\",BOOL_VEC4:\"bvec4\",FLOAT_MAT2:\"mat2\",FLOAT_MAT3:\"mat3\",FLOAT_MAT4:\"mat4\",SAMPLER_2D:\"sampler2D\",SAMPLER_CUBE:\"samplerCube\"},s=null;function l(f,h){if(!s){var d=Object.keys(o);s={};for(var v=0;v<d.length;++v){var x=d[v];s[f[x]]=o[x]}}return s[h]}function u(f,h){for(var d=f.getProgramParameter(h,f.ACTIVE_UNIFORMS),v=[],x=0;x<d;++x){var b=f.getActiveUniform(h,x);if(b){var p=l(f,b.type);if(b.size>1)for(var E=0;E<b.size;++E)v.push({name:b.name.replace(\"[0]\",\"[\"+E+\"]\"),type:p});else v.push({name:b.name,type:p})}}return v}function c(f,h){for(var d=f.getProgramParameter(h,f.ACTIVE_ATTRIBUTES),v=[],x=0;x<d;++x){var b=f.getActiveAttrib(h,x);b&&v.push({name:b.name,type:l(f,b.type)})}return v}},5091:function(i,a,o){\"use strict\";a.shader=E,a.program=k;var s=o(8866),l=o(2992),u=typeof WeakMap==\"undefined\"?o(606):WeakMap,c=new u,f=0;function h(A,L,_,C,M,g,P){this.id=A,this.src=L,this.type=_,this.shader=C,this.count=g,this.programs=[],this.cache=P}h.prototype.dispose=function(){if(--this.count===0){for(var A=this.cache,L=A.gl,_=this.programs,C=0,M=_.length;C<M;++C){var g=A.programs[_[C]];g&&(delete A.programs[C],L.deleteProgram(g))}L.deleteShader(this.shader),delete A.shaders[this.type===L.FRAGMENT_SHADER|0][this.src]}};function d(A){this.gl=A,this.shaders=[{},{}],this.programs={}}var v=d.prototype;function x(A,L,_){var C=A.createShader(L);if(A.shaderSource(C,_),A.compileShader(C),!A.getShaderParameter(C,A.COMPILE_STATUS)){var M=A.getShaderInfoLog(C);try{var g=l(M,_,L)}catch(P){throw console.warn(\"Failed to format compiler error: \"+P),new s(M,`Error compiling shader:\n", - "`+M)}throw new s(M,g.short,g.long)}return C}v.getShaderReference=function(A,L){var _=this.gl,C=this.shaders[A===_.FRAGMENT_SHADER|0],M=C[L];if(!M||!_.isShader(M.shader)){var g=x(_,A,L);M=C[L]=new h(f++,L,A,g,[],1,this)}else M.count+=1;return M};function b(A,L,_,C,M){var g=A.createProgram();A.attachShader(g,L),A.attachShader(g,_);for(var P=0;P<C.length;++P)A.bindAttribLocation(g,M[P],C[P]);if(A.linkProgram(g),!A.getProgramParameter(g,A.LINK_STATUS)){var T=A.getProgramInfoLog(g);throw new s(T,\"Error linking program: \"+T)}return g}v.getProgram=function(A,L,_,C){var M=[A.id,L.id,_.join(\":\"),C.join(\":\")].join(\"@\"),g=this.programs[M];return(!g||!this.gl.isProgram(g))&&(this.programs[M]=g=b(this.gl,A.shader,L.shader,_,C),A.programs.push(M),L.programs.push(M)),g};function p(A){var L=c.get(A);return L||(L=new d(A),c.set(A,L)),L}function E(A,L,_){return p(A).getShaderReference(L,_)}function k(A,L,_,C,M){return p(A).getProgram(L,_,C,M)}},1493:function(i,a,o){\"use strict\";var s=o(3236),l=o(9405),u=s([`precision mediump float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec3 position, color;\n", - "attribute float weight;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform vec3 coordinates[3];\n", - "uniform vec4 colors[3];\n", - "uniform vec2 screenShape;\n", - "uniform float lineWidth;\n", - "\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - " vec3 vertexPosition = mix(coordinates[0],\n", - " mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));\n", - "\n", - " vec4 clipPos = projection * (view * (model * vec4(vertexPosition, 1.0)));\n", - " vec2 clipOffset = (projection * (view * (model * vec4(color, 0.0)))).xy;\n", - " vec2 delta = weight * clipOffset * screenShape;\n", - " vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;\n", - "\n", - " gl_Position = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);\n", - " fragColor = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];\n", - "}\n", - "`]),c=s([`precision mediump float;\n", - "#define GLSLIFY 1\n", - "\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - " gl_FragColor = fragColor;\n", - "}`]);i.exports=function(f){return l(f,u,c,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec3\"},{name:\"weight\",type:\"float\"}])}},4449:function(i,a,o){\"use strict\";var s=o(2762),l=o(8116),u=o(1493);i.exports=b;var c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(p,E,k,A){this.gl=p,this.buffer=E,this.vao=k,this.shader=A,this.pixelRatio=1,this.bounds=[[-1e3,-1e3,-1e3],[1e3,1e3,1e3]],this.position=[0,0,0],this.lineWidth=[2,2,2],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.enabled=[!0,!0,!0],this.drawSides=[!0,!0,!0],this.axes=null}var h=f.prototype,d=[0,0,0],v=[0,0,0],x=[0,0];h.isTransparent=function(){return!1},h.drawTransparent=function(p){},h.draw=function(p){var E=this.gl,k=this.vao,A=this.shader;k.bind(),A.bind();var L=p.model||c,_=p.view||c,C=p.projection||c,M;this.axes&&(M=this.axes.lastCubeProps.axis);for(var g=d,P=v,T=0;T<3;++T)M&&M[T]<0?(g[T]=this.bounds[0][T],P[T]=this.bounds[1][T]):(g[T]=this.bounds[1][T],P[T]=this.bounds[0][T]);x[0]=E.drawingBufferWidth,x[1]=E.drawingBufferHeight,A.uniforms.model=L,A.uniforms.view=_,A.uniforms.projection=C,A.uniforms.coordinates=[this.position,g,P],A.uniforms.colors=this.colors,A.uniforms.screenShape=x;for(var T=0;T<3;++T)A.uniforms.lineWidth=this.lineWidth[T]*this.pixelRatio,this.enabled[T]&&(k.draw(E.TRIANGLES,6,6*T),this.drawSides[T]&&k.draw(E.TRIANGLES,12,18+12*T));k.unbind()},h.update=function(p){p&&(\"bounds\"in p&&(this.bounds=p.bounds),\"position\"in p&&(this.position=p.position),\"lineWidth\"in p&&(this.lineWidth=p.lineWidth),\"colors\"in p&&(this.colors=p.colors),\"enabled\"in p&&(this.enabled=p.enabled),\"drawSides\"in p&&(this.drawSides=p.drawSides))},h.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};function b(p,E){var k=[];function A(g,P,T,F,q,V){var H=[g,P,T,0,0,0,1];H[F+3]=1,H[F]=q,k.push.apply(k,H),H[6]=-1,k.push.apply(k,H),H[F]=V,k.push.apply(k,H),k.push.apply(k,H),H[6]=1,k.push.apply(k,H),H[F]=q,k.push.apply(k,H)}A(0,0,0,0,0,1),A(0,0,0,1,0,1),A(0,0,0,2,0,1),A(1,0,0,1,-1,1),A(1,0,0,2,-1,1),A(0,1,0,0,-1,1),A(0,1,0,2,-1,1),A(0,0,1,0,-1,1),A(0,0,1,1,-1,1);var L=s(p,k),_=l(p,[{type:p.FLOAT,buffer:L,size:3,offset:0,stride:28},{type:p.FLOAT,buffer:L,size:3,offset:12,stride:28},{type:p.FLOAT,buffer:L,size:1,offset:24,stride:28}]),C=u(p);C.attributes.position.location=0,C.attributes.color.location=1,C.attributes.weight.location=2;var M=new f(p,L,_,C);return M.update(E),M}},6740:function(i,a,o){var s=o(3236),l=s([`precision highp float;\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "vec3 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", - "//\n", - "vec3 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", - "\n", - "attribute vec4 vector;\n", - "attribute vec4 color, position;\n", - "attribute vec2 uv;\n", - "\n", - "uniform float vectorScale, tubeScale;\n", - "uniform mat4 model, view, projection, inverseModel;\n", - "uniform vec3 eyePosition, lightPosition;\n", - "\n", - "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),u=s([`#extension GL_OES_standard_derivatives : enable\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "float 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", - "\n", - "float 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", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\n", - "uniform sampler2D texture;\n", - "\n", - "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", - "varying vec4 f_color;\n", - "varying vec2 f_uv;\n", - "\n", - "void 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", - "`]),c=s([`precision highp float;\n", - "\n", - "precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "vec3 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", - "//\n", - "vec3 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", - "\n", - "attribute vec4 vector;\n", - "attribute vec4 position;\n", - "attribute vec4 id;\n", - "\n", - "uniform mat4 model, view, projection;\n", - "uniform float tubeScale;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void 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", - "`]),f=s([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 clipBounds[2];\n", - "uniform float pickId;\n", - "\n", - "varying vec3 f_position;\n", - "varying vec4 f_id;\n", - "\n", - "void main() {\n", - " if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n", - "\n", - " gl_FragColor = vec4(pickId, f_id.xyz);\n", - "}`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec4\"}]},a.pickShader={vertex:c,fragment:f,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec4\"}]}},7815:function(i,a,o){\"use strict\";var s=o(2931),l=o(9970),u=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"],c=function(A,L,_,C){for(var M=A.points,g=A.velocities,P=A.divergences,T=[],F=[],q=[],V=[],H=[],X=[],G=0,N=0,W=l.create(),re=l.create(),ae=8,_e=0;_e<M.length;_e++){var Me=M[_e],ke=g[_e],ge=P[_e];L===0&&(ge=_*.05),N=s.length(ke)/C,W=l.create(),s.copy(W,ke),W[3]=ge;for(var ie=0;ie<ae;ie++)H[ie]=[Me[0],Me[1],Me[2],ie];if(V.length>0)for(var ie=0;ie<ae;ie++){var Te=(ie+1)%ae;T.push(V[ie],H[ie],H[Te],H[Te],V[Te],V[ie]),q.push(re,W,W,W,re,re),X.push(G,N,N,N,G,G);var Ee=T.length;F.push([Ee-6,Ee-5,Ee-4],[Ee-3,Ee-2,Ee-1])}var Ae=V;V=H,H=Ae;var ze=re;re=W,W=ze;var Ce=G;G=N,N=Ce}return{positions:T,cells:F,vectors:q,vertexIntensity:X}},f=function(A,L,_,C){for(var M=0,g=0;g<A.length;g++)for(var P=A[g].velocities,T=0;T<P.length;T++)M=Math.max(M,s.length(P[T]));for(var F=A.map(function(_e){return c(_e,_,C,M)}),q=[],V=[],H=[],X=[],g=0;g<F.length;g++){var G=F[g],N=q.length;q=q.concat(G.positions),H=H.concat(G.vectors),X=X.concat(G.vertexIntensity);for(var T=0;T<G.cells.length;T++){var W=G.cells[T],re=[];V.push(re);for(var ae=0;ae<W.length;ae++)re.push(W[ae]+N)}}return{positions:q,cells:V,vectors:H,vertexIntensity:X,colormap:L}},h=function(A,L){var _=A.length,C;for(C=0;C<_;C++){var M=A[C];if(M===L)return C;if(M>L)return C-1}return C},d=function(A,L,_){return A<L?L:A>_?_:A},v=function(A,L,_){var C=L.vectors,M=L.meshgrid,g=A[0],P=A[1],T=A[2],F=M[0].length,q=M[1].length,V=M[2].length,H=h(M[0],g),X=h(M[1],P),G=h(M[2],T),N=H+1,W=X+1,re=G+1;if(H=d(H,0,F-1),N=d(N,0,F-1),X=d(X,0,q-1),W=d(W,0,q-1),G=d(G,0,V-1),re=d(re,0,V-1),H<0||X<0||G<0||N>F-1||W>q-1||re>V-1)return s.create();var ae=M[0][H],_e=M[0][N],Me=M[1][X],ke=M[1][W],ge=M[2][G],ie=M[2][re],Te=(g-ae)/(_e-ae),Ee=(P-Me)/(ke-Me),Ae=(T-ge)/(ie-ge);isFinite(Te)||(Te=.5),isFinite(Ee)||(Ee=.5),isFinite(Ae)||(Ae=.5);var ze,Ce,me,Re,ce,Ge;switch(_.reversedX&&(H=F-1-H,N=F-1-N),_.reversedY&&(X=q-1-X,W=q-1-W),_.reversedZ&&(G=V-1-G,re=V-1-re),_.filled){case 5:ce=G,Ge=re,me=X*V,Re=W*V,ze=H*V*q,Ce=N*V*q;break;case 4:ce=G,Ge=re,ze=H*V,Ce=N*V,me=X*V*F,Re=W*V*F;break;case 3:me=X,Re=W,ce=G*q,Ge=re*q,ze=H*q*V,Ce=N*q*V;break;case 2:me=X,Re=W,ze=H*q,Ce=N*q,ce=G*q*F,Ge=re*q*F;break;case 1:ze=H,Ce=N,ce=G*F,Ge=re*F,me=X*F*V,Re=W*F*V;break;default:ze=H,Ce=N,me=X*F,Re=W*F,ce=G*F*q,Ge=re*F*q;break}var nt=C[ze+me+ce],ct=C[ze+me+Ge],qt=C[ze+Re+ce],rt=C[ze+Re+Ge],ot=C[Ce+me+ce],Rt=C[Ce+me+Ge],kt=C[Ce+Re+ce],Ct=C[Ce+Re+Ge],Yt=s.create(),xr=s.create(),er=s.create(),Ke=s.create();s.lerp(Yt,nt,ot,Te),s.lerp(xr,ct,Rt,Te),s.lerp(er,qt,kt,Te),s.lerp(Ke,rt,Ct,Te);var xt=s.create(),bt=s.create();s.lerp(xt,Yt,er,Ee),s.lerp(bt,xr,Ke,Ee);var Lt=s.create();return s.lerp(Lt,xt,bt,Ae),Lt},x=function(A,L){var _=L[0],C=L[1],M=L[2];return A[0]=_<0?-_:_,A[1]=C<0?-C:C,A[2]=M<0?-M:M,A},b=function(A){var L=1/0;A.sort(function(g,P){return g-P});for(var _=A.length,C=1;C<_;C++){var M=Math.abs(A[C]-A[C-1]);M<L&&(L=M)}return L},p=function(A){for(var L=[],_=[],C=[],M={},g={},P={},T=A.length,F=0;F<T;F++){var q=A[F],V=q[0],H=q[1],X=q[2];M[V]||(L.push(V),M[V]=!0),g[H]||(_.push(H),g[H]=!0),P[X]||(C.push(X),P[X]=!0)}var G=b(L),N=b(_),W=b(C),re=Math.min(G,N,W);return isFinite(re)?re:1};i.exports=function(A,L){var _=A.startingPositions,C=A.maxLength||1e3,M=A.tubeSize||1,g=A.absoluteTubeSize,P=A.gridFill||\"+x+y+z\",T={};P.indexOf(\"-x\")!==-1&&(T.reversedX=!0),P.indexOf(\"-y\")!==-1&&(T.reversedY=!0),P.indexOf(\"-z\")!==-1&&(T.reversedZ=!0),T.filled=u.indexOf(P.replace(/-/g,\"\").replace(/\\+/g,\"\"));var F=A.getVelocity||function(Rt){return v(Rt,A,T)},q=A.getDivergence||function(Rt,kt){var Ct=s.create(),Yt=1e-4;s.add(Ct,Rt,[Yt,0,0]);var xr=F(Ct);s.subtract(xr,xr,kt),s.scale(xr,xr,1/Yt),s.add(Ct,Rt,[0,Yt,0]);var er=F(Ct);s.subtract(er,er,kt),s.scale(er,er,1/Yt),s.add(Ct,Rt,[0,0,Yt]);var Ke=F(Ct);return s.subtract(Ke,Ke,kt),s.scale(Ke,Ke,1/Yt),s.add(Ct,xr,er),s.add(Ct,Ct,Ke),Ct},V=[],H=L[0][0],X=L[0][1],G=L[0][2],N=L[1][0],W=L[1][1],re=L[1][2],ae=function(Rt){var kt=Rt[0],Ct=Rt[1],Yt=Rt[2];return!(kt<H||kt>N||Ct<X||Ct>W||Yt<G||Yt>re)},_e=s.distance(L[0],L[1]),Me=10*_e/C,ke=Me*Me,ge=1,ie=0,Te=_.length;Te>1&&(ge=p(_));for(var Ee=0;Ee<Te;Ee++){var Ae=s.create();s.copy(Ae,_[Ee]);var ze=[Ae],Ce=[],me=F(Ae),Re=Ae;Ce.push(me);var ce=[],Ge=q(Ae,me),nt=s.length(Ge);isFinite(nt)&&nt>ie&&(ie=nt),ce.push(nt),V.push({points:ze,velocities:Ce,divergences:ce});for(var ct=0;ct<C*100&&ze.length<C&&ae(Ae);){ct++;var qt=s.clone(me),rt=s.squaredLength(qt);if(rt===0)break;if(rt>ke&&s.scale(qt,qt,Me/Math.sqrt(rt)),s.add(qt,qt,Ae),me=F(qt),s.squaredDistance(Re,qt)-ke>-1e-4*ke){ze.push(qt),Re=qt,Ce.push(me);var Ge=q(qt,me),nt=s.length(Ge);isFinite(nt)&&nt>ie&&(ie=nt),ce.push(nt)}Ae=qt}}var ot=f(V,A.colormap,ie,ge);return g?ot.tubeScale=g:(ie===0&&(ie=1),ot.tubeScale=M*.5*ge/ie),ot};var E=o(6740),k=o(6405).createMesh;i.exports.createTubeMesh=function(A,L){return k(A,L,{shaders:E,traceType:\"streamtube\"})}},990:function(i,a,o){var s=o(9405),l=o(3236),u=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec4 uv;\n", - "attribute vec3 f;\n", - "attribute vec3 normal;\n", - "\n", - "uniform vec3 objectOffset;\n", - "uniform mat4 model, view, projection, inverseModel;\n", - "uniform vec3 lightPosition, eyePosition;\n", - "uniform sampler2D colormap;\n", - "\n", - "varying float value, kill;\n", - "varying vec3 worldCoordinate;\n", - "varying vec2 planeCoordinate;\n", - "varying vec3 lightDirection, eyeDirection, surfaceNormal;\n", - "varying vec4 vColor;\n", - "\n", - "void main() {\n", - " vec3 localCoordinate = vec3(uv.zw, f.x);\n", - " worldCoordinate = objectOffset + localCoordinate;\n", - " mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0));\n", - " vec4 worldPosition = (model * objectOffsetTranslation) * vec4(localCoordinate, 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", - "`]),c=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "float 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", - "\n", - "float beckmannSpecular(\n", - " vec3 lightDirection,\n", - " vec3 viewDirection,\n", - " vec3 surfaceNormal,\n", - " float roughness) {\n", - " return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n", - "}\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec3 lowerBound, upperBound;\n", - "uniform float contourTint;\n", - "uniform vec4 contourColor;\n", - "uniform sampler2D colormap;\n", - "uniform vec3 clipBounds[2];\n", - "uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\n", - "uniform float vertexColor;\n", - "\n", - "varying float value, kill;\n", - "varying vec3 worldCoordinate;\n", - "varying vec3 lightDirection, eyeDirection, surfaceNormal;\n", - "varying vec4 vColor;\n", - "\n", - "void 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", - "`]),f=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute vec4 uv;\n", - "attribute float f;\n", - "\n", - "uniform vec3 objectOffset;\n", - "uniform mat3 permutation;\n", - "uniform mat4 model, view, projection;\n", - "uniform float height, zOffset;\n", - "uniform sampler2D colormap;\n", - "\n", - "varying float value, kill;\n", - "varying vec3 worldCoordinate;\n", - "varying vec2 planeCoordinate;\n", - "varying vec3 lightDirection, eyeDirection, surfaceNormal;\n", - "varying vec4 vColor;\n", - "\n", - "void 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", - "`]),h=l([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "bool outOfRange(float a, float b, float p) {\n", - " return ((p > max(a, b)) || \n", - " (p < min(a, b)));\n", - "}\n", - "\n", - "bool 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", - "\n", - "bool 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", - "\n", - "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", - " return outOfRange(a.xyz, b.xyz, p.xyz);\n", - "}\n", - "\n", - "uniform vec2 shape;\n", - "uniform vec3 clipBounds[2];\n", - "uniform float pickId;\n", - "\n", - "varying float value, kill;\n", - "varying vec3 worldCoordinate;\n", - "varying vec2 planeCoordinate;\n", - "varying vec3 surfaceNormal;\n", - "\n", - "vec2 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", - "\n", - "void 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", - "`]);a.createShader=function(d){var v=s(d,u,c,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v.attributes.normal.location=2,v},a.createPickShader=function(d){var v=s(d,u,h,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v.attributes.normal.location=2,v},a.createContourShader=function(d){var v=s(d,f,c,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v},a.createPickContourShader=function(d){var v=s(d,f,h,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v}},9499:function(i,a,o){\"use strict\";i.exports=ze;var s=o(8828),l=o(2762),u=o(8116),c=o(7766),f=o(1888),h=o(6729),d=o(5298),v=o(9994),x=o(9618),b=o(3711),p=o(6760),E=o(7608),k=o(2478),A=o(6199),L=o(990),_=L.createShader,C=L.createContourShader,M=L.createPickShader,g=L.createPickContourShader,P=4*10,T=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],F=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],q=[[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(){for(var Ce=0;Ce<3;++Ce){var me=q[Ce],Re=(Ce+1)%3,ce=(Ce+2)%3;me[Re+0]=1,me[ce+3]=1,me[Ce+6]=1}})();function V(Ce,me,Re,ce,Ge){this.position=Ce,this.index=me,this.uv=Re,this.level=ce,this.dataCoordinate=Ge}var H=256;function X(Ce,me,Re,ce,Ge,nt,ct,qt,rt,ot,Rt,kt,Ct,Yt,xr){this.gl=Ce,this.shape=me,this.bounds=Re,this.objectOffset=xr,this.intensityBounds=[],this._shader=ce,this._pickShader=Ge,this._coordinateBuffer=nt,this._vao=ct,this._colorMap=qt,this._contourShader=rt,this._contourPickShader=ot,this._contourBuffer=Rt,this._contourVAO=kt,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new V([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=Ct,this._dynamicVAO=Yt,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=[x(f.mallocFloat(1024),[0,0]),x(f.mallocFloat(1024),[0,0]),x(f.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 G=X.prototype;G.genColormap=function(Ce,me){var Re=!1,ce=v([h({colormap:Ce,nshades:H,format:\"rgba\"}).map(function(Ge,nt){var ct=me?N(nt/255,me):Ge[3];return ct<1&&(Re=!0),[Ge[0],Ge[1],Ge[2],255*ct]})]);return d.divseq(ce,255),this.hasAlphaScale=Re,ce},G.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},G.isOpaque=function(){return!this.isTransparent()},G.pickSlots=1,G.setPickBase=function(Ce){this.pickId=Ce};function N(Ce,me){if(!me||!me.length)return 1;for(var Re=0;Re<me.length;++Re){if(me.length<2)return 1;if(me[Re][0]===Ce)return me[Re][1];if(me[Re][0]>Ce&&Re>0){var ce=(me[Re][0]-Ce)/(me[Re][0]-me[Re-1][0]);return me[Re][1]*(1-ce)+ce*me[Re-1][1]}}return 1}var W=[0,0,0],re={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 ae(Ce,me){var Re,ce,Ge,nt=me.axes&&me.axes.lastCubeProps.axis||W,ct=me.showSurface,qt=me.showContour;for(Re=0;Re<3;++Re)for(ct=ct||me.surfaceProject[Re],ce=0;ce<3;++ce)qt=qt||me.contourProject[Re][ce];for(Re=0;Re<3;++Re){var rt=re.projections[Re];for(ce=0;ce<16;++ce)rt[ce]=0;for(ce=0;ce<4;++ce)rt[5*ce]=1;rt[5*Re]=0,rt[12+Re]=me.axesBounds[+(nt[Re]>0)][Re],p(rt,Ce.model,rt);var ot=re.clipBounds[Re];for(Ge=0;Ge<2;++Ge)for(ce=0;ce<3;++ce)ot[Ge][ce]=Ce.clipBounds[Ge][ce];ot[0][Re]=-1e8,ot[1][Re]=1e8}return re.showSurface=ct,re.showContour=qt,re}var _e={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},Me=T.slice(),ke=[1,0,0,0,1,0,0,0,1];function ge(Ce,me){Ce=Ce||{};var Re=this.gl;Re.disable(Re.CULL_FACE),this._colorMap.bind(0);var ce=_e;ce.model=Ce.model||T,ce.view=Ce.view||T,ce.projection=Ce.projection||T,ce.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],ce.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],ce.objectOffset=this.objectOffset,ce.contourColor=this.contourColor[0],ce.inverseModel=E(ce.inverseModel,ce.model);for(var Ge=0;Ge<2;++Ge)for(var nt=ce.clipBounds[Ge],ct=0;ct<3;++ct)nt[ct]=Math.min(Math.max(this.clipBounds[Ge][ct],-1e8),1e8);ce.kambient=this.ambientLight,ce.kdiffuse=this.diffuseLight,ce.kspecular=this.specularLight,ce.roughness=this.roughness,ce.fresnel=this.fresnel,ce.opacity=this.opacity,ce.height=0,ce.permutation=ke,ce.vertexColor=this.vertexColor;var qt=Me;for(p(qt,ce.view,ce.model),p(qt,ce.projection,qt),E(qt,qt),Ge=0;Ge<3;++Ge)ce.eyePosition[Ge]=qt[12+Ge]/qt[15];var rt=qt[15];for(Ge=0;Ge<3;++Ge)rt+=this.lightPosition[Ge]*qt[4*Ge+3];for(Ge=0;Ge<3;++Ge){var ot=qt[12+Ge];for(ct=0;ct<3;++ct)ot+=qt[4*ct+Ge]*this.lightPosition[ct];ce.lightPosition[Ge]=ot/rt}var Rt=ae(ce,this);if(Rt.showSurface){for(this._shader.bind(),this._shader.uniforms=ce,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(Re.TRIANGLES,this._vertexCount),Ge=0;Ge<3;++Ge)!this.surfaceProject[Ge]||!this.vertexCount||(this._shader.uniforms.model=Rt.projections[Ge],this._shader.uniforms.clipBounds=Rt.clipBounds[Ge],this._vao.draw(Re.TRIANGLES,this._vertexCount));this._vao.unbind()}if(Rt.showContour){var kt=this._contourShader;ce.kambient=1,ce.kdiffuse=0,ce.kspecular=0,ce.opacity=1,kt.bind(),kt.uniforms=ce;var Ct=this._contourVAO;for(Ct.bind(),Ge=0;Ge<3;++Ge)for(kt.uniforms.permutation=q[Ge],Re.lineWidth(this.contourWidth[Ge]*this.pixelRatio),ct=0;ct<this.contourLevels[Ge].length;++ct)ct===this.highlightLevel[Ge]?(kt.uniforms.contourColor=this.highlightColor[Ge],kt.uniforms.contourTint=this.highlightTint[Ge]):(ct===0||ct-1===this.highlightLevel[Ge])&&(kt.uniforms.contourColor=this.contourColor[Ge],kt.uniforms.contourTint=this.contourTint[Ge]),this._contourCounts[Ge][ct]&&(kt.uniforms.height=this.contourLevels[Ge][ct],Ct.draw(Re.LINES,this._contourCounts[Ge][ct],this._contourOffsets[Ge][ct]));for(Ge=0;Ge<3;++Ge)for(kt.uniforms.model=Rt.projections[Ge],kt.uniforms.clipBounds=Rt.clipBounds[Ge],ct=0;ct<3;++ct)if(this.contourProject[Ge][ct]){kt.uniforms.permutation=q[ct],Re.lineWidth(this.contourWidth[ct]*this.pixelRatio);for(var Yt=0;Yt<this.contourLevels[ct].length;++Yt)Yt===this.highlightLevel[ct]?(kt.uniforms.contourColor=this.highlightColor[ct],kt.uniforms.contourTint=this.highlightTint[ct]):(Yt===0||Yt-1===this.highlightLevel[ct])&&(kt.uniforms.contourColor=this.contourColor[ct],kt.uniforms.contourTint=this.contourTint[ct]),this._contourCounts[ct][Yt]&&(kt.uniforms.height=this.contourLevels[ct][Yt],Ct.draw(Re.LINES,this._contourCounts[ct][Yt],this._contourOffsets[ct][Yt]))}for(Ct.unbind(),Ct=this._dynamicVAO,Ct.bind(),Ge=0;Ge<3;++Ge)if(this._dynamicCounts[Ge]!==0)for(kt.uniforms.model=ce.model,kt.uniforms.clipBounds=ce.clipBounds,kt.uniforms.permutation=q[Ge],Re.lineWidth(this.dynamicWidth[Ge]*this.pixelRatio),kt.uniforms.contourColor=this.dynamicColor[Ge],kt.uniforms.contourTint=this.dynamicTint[Ge],kt.uniforms.height=this.dynamicLevel[Ge],Ct.draw(Re.LINES,this._dynamicCounts[Ge],this._dynamicOffsets[Ge]),ct=0;ct<3;++ct)this.contourProject[ct][Ge]&&(kt.uniforms.model=Rt.projections[ct],kt.uniforms.clipBounds=Rt.clipBounds[ct],Ct.draw(Re.LINES,this._dynamicCounts[Ge],this._dynamicOffsets[Ge]));Ct.unbind()}}G.draw=function(Ce){return ge.call(this,Ce,!1)},G.drawTransparent=function(Ce){return ge.call(this,Ce,!0)};var ie={model:T,view:T,projection:T,inverseModel:T,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,objectOffset:[0,0,0],permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};G.drawPick=function(Ce){Ce=Ce||{};var me=this.gl;me.disable(me.CULL_FACE);var Re=ie;Re.model=Ce.model||T,Re.view=Ce.view||T,Re.projection=Ce.projection||T,Re.shape=this._field[2].shape,Re.pickId=this.pickId/255,Re.lowerBound=this.bounds[0],Re.upperBound=this.bounds[1],Re.objectOffset=this.objectOffset,Re.permutation=ke;for(var ce=0;ce<2;++ce)for(var Ge=Re.clipBounds[ce],nt=0;nt<3;++nt)Ge[nt]=Math.min(Math.max(this.clipBounds[ce][nt],-1e8),1e8);var ct=ae(Re,this);if(ct.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=Re,this._vao.bind(),this._vao.draw(me.TRIANGLES,this._vertexCount),ce=0;ce<3;++ce)this.surfaceProject[ce]&&(this._pickShader.uniforms.model=ct.projections[ce],this._pickShader.uniforms.clipBounds=ct.clipBounds[ce],this._vao.draw(me.TRIANGLES,this._vertexCount));this._vao.unbind()}if(ct.showContour){var qt=this._contourPickShader;qt.bind(),qt.uniforms=Re;var rt=this._contourVAO;for(rt.bind(),nt=0;nt<3;++nt)for(me.lineWidth(this.contourWidth[nt]*this.pixelRatio),qt.uniforms.permutation=q[nt],ce=0;ce<this.contourLevels[nt].length;++ce)this._contourCounts[nt][ce]&&(qt.uniforms.height=this.contourLevels[nt][ce],rt.draw(me.LINES,this._contourCounts[nt][ce],this._contourOffsets[nt][ce]));for(ce=0;ce<3;++ce)for(qt.uniforms.model=ct.projections[ce],qt.uniforms.clipBounds=ct.clipBounds[ce],nt=0;nt<3;++nt)if(this.contourProject[ce][nt]){qt.uniforms.permutation=q[nt],me.lineWidth(this.contourWidth[nt]*this.pixelRatio);for(var ot=0;ot<this.contourLevels[nt].length;++ot)this._contourCounts[nt][ot]&&(qt.uniforms.height=this.contourLevels[nt][ot],rt.draw(me.LINES,this._contourCounts[nt][ot],this._contourOffsets[nt][ot]))}rt.unbind()}},G.pick=function(Ce){if(!Ce||Ce.id!==this.pickId)return null;var me=this._field[2].shape,Re=this._pickResult,ce=me[0]*(Ce.value[0]+(Ce.value[2]>>4)/16)/255,Ge=Math.floor(ce),nt=ce-Ge,ct=me[1]*(Ce.value[1]+(Ce.value[2]&15)/16)/255,qt=Math.floor(ct),rt=ct-qt;Ge+=1,qt+=1;var ot=Re.position;ot[0]=ot[1]=ot[2]=0;for(var Rt=0;Rt<2;++Rt)for(var kt=Rt?nt:1-nt,Ct=0;Ct<2;++Ct)for(var Yt=Ct?rt:1-rt,xr=Ge+Rt,er=qt+Ct,Ke=kt*Yt,xt=0;xt<3;++xt)ot[xt]+=this._field[xt].get(xr,er)*Ke;for(var bt=this._pickResult.level,Lt=0;Lt<3;++Lt)if(bt[Lt]=k.le(this.contourLevels[Lt],ot[Lt]),bt[Lt]<0)this.contourLevels[Lt].length>0&&(bt[Lt]=0);else if(bt[Lt]<this.contourLevels[Lt].length-1){var St=this.contourLevels[Lt][bt[Lt]],Et=this.contourLevels[Lt][bt[Lt]+1];Math.abs(St-ot[Lt])>Math.abs(Et-ot[Lt])&&(bt[Lt]+=1)}for(Re.index[0]=nt<.5?Ge:Ge+1,Re.index[1]=rt<.5?qt:qt+1,Re.uv[0]=ce/me[0],Re.uv[1]=ct/me[1],xt=0;xt<3;++xt)Re.dataCoordinate[xt]=this._field[xt].get(Re.index[0],Re.index[1]);return Re},G.padField=function(Ce,me){var Re=me.shape.slice(),ce=Ce.shape.slice();d.assign(Ce.lo(1,1).hi(Re[0],Re[1]),me),d.assign(Ce.lo(1).hi(Re[0],1),me.hi(Re[0],1)),d.assign(Ce.lo(1,ce[1]-1).hi(Re[0],1),me.lo(0,Re[1]-1).hi(Re[0],1)),d.assign(Ce.lo(0,1).hi(1,Re[1]),me.hi(1)),d.assign(Ce.lo(ce[0]-1,1).hi(1,Re[1]),me.lo(Re[0]-1)),Ce.set(0,0,me.get(0,0)),Ce.set(0,ce[1]-1,me.get(0,Re[1]-1)),Ce.set(ce[0]-1,0,me.get(Re[0]-1,0)),Ce.set(ce[0]-1,ce[1]-1,me.get(Re[0]-1,Re[1]-1))};function Te(Ce,me){return Array.isArray(Ce)?[me(Ce[0]),me(Ce[1]),me(Ce[2])]:[me(Ce),me(Ce),me(Ce)]}function Ee(Ce){return Array.isArray(Ce)?Ce.length===3?[Ce[0],Ce[1],Ce[2],1]:[Ce[0],Ce[1],Ce[2],Ce[3]]:[0,0,0,1]}function Ae(Ce){if(Array.isArray(Ce)){if(Array.isArray(Ce))return[Ee(Ce[0]),Ee(Ce[1]),Ee(Ce[2])];var me=Ee(Ce);return[me.slice(),me.slice(),me.slice()]}}G.update=function(Ce){Ce=Ce||{},this.objectOffset=Ce.objectOffset||this.objectOffset,this.dirty=!0,\"contourWidth\"in Ce&&(this.contourWidth=Te(Ce.contourWidth,Number)),\"showContour\"in Ce&&(this.showContour=Te(Ce.showContour,Boolean)),\"showSurface\"in Ce&&(this.showSurface=!!Ce.showSurface),\"contourTint\"in Ce&&(this.contourTint=Te(Ce.contourTint,Boolean)),\"contourColor\"in Ce&&(this.contourColor=Ae(Ce.contourColor)),\"contourProject\"in Ce&&(this.contourProject=Te(Ce.contourProject,function(Gi){return Te(Gi,Boolean)})),\"surfaceProject\"in Ce&&(this.surfaceProject=Ce.surfaceProject),\"dynamicColor\"in Ce&&(this.dynamicColor=Ae(Ce.dynamicColor)),\"dynamicTint\"in Ce&&(this.dynamicTint=Te(Ce.dynamicTint,Number)),\"dynamicWidth\"in Ce&&(this.dynamicWidth=Te(Ce.dynamicWidth,Number)),\"opacity\"in Ce&&(this.opacity=Ce.opacity),\"opacityscale\"in Ce&&(this.opacityscale=Ce.opacityscale),\"colorBounds\"in Ce&&(this.colorBounds=Ce.colorBounds),\"vertexColor\"in Ce&&(this.vertexColor=Ce.vertexColor?1:0),\"colormap\"in Ce&&this._colorMap.setPixels(this.genColormap(Ce.colormap,this.opacityscale));var me=Ce.field||Ce.coords&&Ce.coords[2]||null,Re=!1;if(me||(this._field[2].shape[0]||this._field[2].shape[2]?me=this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):me=this._field[2].hi(0,0)),\"field\"in Ce||\"coords\"in Ce){var ce=(me.shape[0]+2)*(me.shape[1]+2);ce>this._field[2].data.length&&(f.freeFloat(this._field[2].data),this._field[2].data=f.mallocFloat(s.nextPow2(ce))),this._field[2]=x(this._field[2].data,[me.shape[0]+2,me.shape[1]+2]),this.padField(this._field[2],me),this.shape=me.shape.slice();for(var Ge=this.shape,nt=0;nt<2;++nt)this._field[2].size>this._field[nt].data.length&&(f.freeFloat(this._field[nt].data),this._field[nt].data=f.mallocFloat(this._field[2].size)),this._field[nt]=x(this._field[nt].data,[Ge[0]+2,Ge[1]+2]);if(Ce.coords){var ct=Ce.coords;if(!Array.isArray(ct)||ct.length!==3)throw new Error(\"gl-surface: invalid coordinates for x/y\");for(nt=0;nt<2;++nt){var qt=ct[nt];for(Ct=0;Ct<2;++Ct)if(qt.shape[Ct]!==Ge[Ct])throw new Error(\"gl-surface: coords have incorrect shape\");this.padField(this._field[nt],qt)}}else if(Ce.ticks){var rt=Ce.ticks;if(!Array.isArray(rt)||rt.length!==2)throw new Error(\"gl-surface: invalid ticks\");for(nt=0;nt<2;++nt){var ot=rt[nt];if((Array.isArray(ot)||ot.length)&&(ot=x(ot)),ot.shape[0]!==Ge[nt])throw new Error(\"gl-surface: invalid tick length\");var Rt=x(ot.data,Ge);Rt.stride[nt]=ot.stride[0],Rt.stride[nt^1]=0,this.padField(this._field[nt],Rt)}}else{for(nt=0;nt<2;++nt){var kt=[0,0];kt[nt]=1,this._field[nt]=x(this._field[nt].data,[Ge[0]+2,Ge[1]+2],kt,0)}this._field[0].set(0,0,0);for(var Ct=0;Ct<Ge[0];++Ct)this._field[0].set(Ct+1,0,Ct);for(this._field[0].set(Ge[0]+1,0,Ge[0]-1),this._field[1].set(0,0,0),Ct=0;Ct<Ge[1];++Ct)this._field[1].set(0,Ct+1,Ct);this._field[1].set(0,Ge[1]+1,Ge[1]-1)}var Yt=this._field,xr=x(f.mallocFloat(Yt[2].size*3*2),[3,Ge[0]+2,Ge[1]+2,2]);for(nt=0;nt<3;++nt)A(xr.pick(nt),Yt[nt],\"mirror\");var er=x(f.mallocFloat(Yt[2].size*3),[Ge[0]+2,Ge[1]+2,3]);for(nt=0;nt<Ge[0]+2;++nt)for(Ct=0;Ct<Ge[1]+2;++Ct){var Ke=xr.get(0,nt,Ct,0),xt=xr.get(0,nt,Ct,1),bt=xr.get(1,nt,Ct,0),Lt=xr.get(1,nt,Ct,1),St=xr.get(2,nt,Ct,0),Et=xr.get(2,nt,Ct,1),dt=bt*Et-Lt*St,Ht=St*xt-Et*Ke,$t=Ke*Lt-xt*bt,fr=Math.sqrt(dt*dt+Ht*Ht+$t*$t);fr<1e-8?(fr=Math.max(Math.abs(dt),Math.abs(Ht),Math.abs($t)),fr<1e-8?($t=1,Ht=dt=0,fr=1):fr=1/fr):fr=1/Math.sqrt(fr),er.set(nt,Ct,0,dt*fr),er.set(nt,Ct,1,Ht*fr),er.set(nt,Ct,2,$t*fr)}f.free(xr.data);var _r=[1/0,1/0,1/0],Br=[-1/0,-1/0,-1/0],Or=1/0,Nr=-1/0,ut=(Ge[0]-1)*(Ge[1]-1)*6,Ne=f.mallocFloat(s.nextPow2(10*ut)),Ye=0,Ve=0;for(nt=0;nt<Ge[0]-1;++nt)e:for(Ct=0;Ct<Ge[1]-1;++Ct){for(var Xe=0;Xe<2;++Xe)for(var ht=0;ht<2;++ht)for(var Le=0;Le<3;++Le){var xe=this._field[Le].get(1+nt+Xe,1+Ct+ht);if(isNaN(xe)||!isFinite(xe))continue e}for(Le=0;Le<6;++Le){var Se=nt+F[Le][0],lt=Ct+F[Le][1],Gt=this._field[0].get(Se+1,lt+1),Vt=this._field[1].get(Se+1,lt+1);xe=this._field[2].get(Se+1,lt+1),dt=er.get(Se+1,lt+1,0),Ht=er.get(Se+1,lt+1,1),$t=er.get(Se+1,lt+1,2),Ce.intensity&&(ar=Ce.intensity.get(Se,lt));var ar=Ce.intensity?Ce.intensity.get(Se,lt):xe+this.objectOffset[2];Ne[Ye++]=Se,Ne[Ye++]=lt,Ne[Ye++]=Gt,Ne[Ye++]=Vt,Ne[Ye++]=xe,Ne[Ye++]=0,Ne[Ye++]=ar,Ne[Ye++]=dt,Ne[Ye++]=Ht,Ne[Ye++]=$t,_r[0]=Math.min(_r[0],Gt+this.objectOffset[0]),_r[1]=Math.min(_r[1],Vt+this.objectOffset[1]),_r[2]=Math.min(_r[2],xe+this.objectOffset[2]),Or=Math.min(Or,ar),Br[0]=Math.max(Br[0],Gt+this.objectOffset[0]),Br[1]=Math.max(Br[1],Vt+this.objectOffset[1]),Br[2]=Math.max(Br[2],xe+this.objectOffset[2]),Nr=Math.max(Nr,ar),Ve+=1}}for(Ce.intensityBounds&&(Or=+Ce.intensityBounds[0],Nr=+Ce.intensityBounds[1]),nt=6;nt<Ye;nt+=10)Ne[nt]=(Ne[nt]-Or)/(Nr-Or);this._vertexCount=Ve,this._coordinateBuffer.update(Ne.subarray(0,Ye)),f.freeFloat(Ne),f.free(er.data),this.bounds=[_r,Br],this.intensity=Ce.intensity||this._field[2],(this.intensityBounds[0]!==Or||this.intensityBounds[1]!==Nr)&&(Re=!0),this.intensityBounds=[Or,Nr]}if(\"levels\"in Ce){var Qr=Ce.levels;for(Array.isArray(Qr[0])?Qr=Qr.slice():Qr=[[],[],Qr],nt=0;nt<3;++nt)Qr[nt]=Qr[nt].slice(),Qr[nt].sort(function(Gi,Ki){return Gi-Ki});for(nt=0;nt<3;++nt)for(Ct=0;Ct<Qr[nt].length;++Ct)Qr[nt][Ct]-=this.objectOffset[nt];e:for(nt=0;nt<3;++nt){if(Qr[nt].length!==this.contourLevels[nt].length){Re=!0;break}for(Ct=0;Ct<Qr[nt].length;++Ct)if(Qr[nt][Ct]!==this.contourLevels[nt][Ct]){Re=!0;break e}}this.contourLevels=Qr}if(Re){Yt=this._field,Ge=this.shape;for(var ai=[],jr=0;jr<3;++jr){var ri=this.contourLevels[jr],bi=[],nn=[],Wi=[0,0,0];for(nt=0;nt<ri.length;++nt){var Ni=b(this._field[jr],ri[nt]);bi.push(ai.length/5|0),Ve=0;e:for(Ct=0;Ct<Ni.cells.length;++Ct){var _n=Ni.cells[Ct];for(Le=0;Le<2;++Le){var $i=Ni.positions[_n[Le]],zn=$i[0],Wn=Math.floor(zn)|0,It=zn-Wn,ft=$i[1],jt=Math.floor(ft)|0,Zt=ft-jt,yr=!1;t:for(var Fr=0;Fr<3;++Fr){Wi[Fr]=0;var Zr=(jr+Fr+1)%3;for(Xe=0;Xe<2;++Xe){var Vr=Xe?It:1-It;for(Se=Math.min(Math.max(Wn+Xe,0),Ge[0])|0,ht=0;ht<2;++ht){var gi=ht?Zt:1-Zt;if(lt=Math.min(Math.max(jt+ht,0),Ge[1])|0,Fr<2?xe=this._field[Zr].get(Se,lt):xe=(this.intensity.get(Se,lt)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(xe)||isNaN(xe)){yr=!0;break t}var Si=Vr*gi;Wi[Fr]+=Si*xe}}}if(!yr)ai.push(Wi[0],Wi[1],$i[0],$i[1],Wi[2]),Ve+=1;else{if(Le>0){for(var Mi=0;Mi<5;++Mi)ai.pop();Ve-=1}continue e}}}nn.push(Ve)}this._contourOffsets[jr]=bi,this._contourCounts[jr]=nn}var Pi=f.mallocFloat(ai.length);for(nt=0;nt<ai.length;++nt)Pi[nt]=ai[nt];this._contourBuffer.update(Pi),f.freeFloat(Pi)}},G.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var Ce=0;Ce<3;++Ce)f.freeFloat(this._field[Ce].data)},G.highlight=function(Ce){var me;if(!Ce){this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],this.highlightLevel=[-1,-1,-1];return}for(me=0;me<3;++me)this.enableHighlight[me]?this.highlightLevel[me]=Ce.level[me]:this.highlightLevel[me]=-1;var Re;for(this.snapToData?Re=Ce.dataCoordinate:Re=Ce.position,me=0;me<3;++me)Re[me]-=this.objectOffset[me];if(!((!this.enableDynamic[0]||Re[0]===this.dynamicLevel[0])&&(!this.enableDynamic[1]||Re[1]===this.dynamicLevel[1])&&(!this.enableDynamic[2]||Re[2]===this.dynamicLevel[2]))){for(var ce=0,Ge=this.shape,nt=f.mallocFloat(12*Ge[0]*Ge[1]),ct=0;ct<3;++ct){if(!this.enableDynamic[ct]){this.dynamicLevel[ct]=NaN,this._dynamicCounts[ct]=0;continue}this.dynamicLevel[ct]=Re[ct];var qt=(ct+1)%3,rt=(ct+2)%3,ot=this._field[ct],Rt=this._field[qt],kt=this._field[rt],Ct=b(ot,Re[ct]),Yt=Ct.cells,xr=Ct.positions;for(this._dynamicOffsets[ct]=ce,me=0;me<Yt.length;++me)for(var er=Yt[me],Ke=0;Ke<2;++Ke){var xt=xr[er[Ke]],bt=+xt[0],Lt=bt|0,St=Math.min(Lt+1,Ge[0])|0,Et=bt-Lt,dt=1-Et,Ht=+xt[1],$t=Ht|0,fr=Math.min($t+1,Ge[1])|0,_r=Ht-$t,Br=1-_r,Or=dt*Br,Nr=dt*_r,ut=Et*Br,Ne=Et*_r,Ye=Or*Rt.get(Lt,$t)+Nr*Rt.get(Lt,fr)+ut*Rt.get(St,$t)+Ne*Rt.get(St,fr),Ve=Or*kt.get(Lt,$t)+Nr*kt.get(Lt,fr)+ut*kt.get(St,$t)+Ne*kt.get(St,fr);if(isNaN(Ye)||isNaN(Ve)){Ke&&(ce-=1);break}nt[2*ce+0]=Ye,nt[2*ce+1]=Ve,ce+=1}this._dynamicCounts[ct]=ce-this._dynamicOffsets[ct]}this._dynamicBuffer.update(nt.subarray(0,2*ce)),f.freeFloat(nt)}};function ze(Ce){var me=Ce.gl,Re=_(me),ce=M(me),Ge=C(me),nt=g(me),ct=l(me),qt=u(me,[{buffer:ct,size:4,stride:P,offset:0},{buffer:ct,size:3,stride:P,offset:16},{buffer:ct,size:3,stride:P,offset:28}]),rt=l(me),ot=u(me,[{buffer:rt,size:4,stride:20,offset:0},{buffer:rt,size:1,stride:20,offset:16}]),Rt=l(me),kt=u(me,[{buffer:Rt,size:2,type:me.FLOAT}]),Ct=c(me,1,H,me.RGBA,me.UNSIGNED_BYTE);Ct.minFilter=me.LINEAR,Ct.magFilter=me.LINEAR;var Yt=new X(me,[0,0],[[0,0,0],[0,0,0]],Re,ce,ct,qt,Ct,Ge,nt,rt,ot,Rt,kt,[0,0,0]),xr={levels:[[],[],[]]};for(var er in Ce)xr[er]=Ce[er];return xr.colormap=xr.colormap||\"jet\",Yt.update(xr),Yt}},7766:function(i,a,o){\"use strict\";var s=o(9618),l=o(5298),u=o(1888);i.exports=g;var c=null,f=null,h=null;function d(P){c=[P.LINEAR,P.NEAREST_MIPMAP_LINEAR,P.LINEAR_MIPMAP_NEAREST,P.LINEAR_MIPMAP_NEAREST],f=[P.NEAREST,P.LINEAR,P.NEAREST_MIPMAP_NEAREST,P.NEAREST_MIPMAP_LINEAR,P.LINEAR_MIPMAP_NEAREST,P.LINEAR_MIPMAP_LINEAR],h=[P.REPEAT,P.CLAMP_TO_EDGE,P.MIRRORED_REPEAT]}function v(P){return typeof HTMLCanvasElement!=\"undefined\"&&P instanceof HTMLCanvasElement||typeof HTMLImageElement!=\"undefined\"&&P instanceof HTMLImageElement||typeof HTMLVideoElement!=\"undefined\"&&P instanceof HTMLVideoElement||typeof ImageData!=\"undefined\"&&P instanceof ImageData}var x=function(P,T){l.muls(P,T,255)};function b(P,T,F){var q=P.gl,V=q.getParameter(q.MAX_TEXTURE_SIZE);if(T<0||T>V||F<0||F>V)throw new Error(\"gl-texture2d: Invalid texture size\");return P._shape=[T,F],P.bind(),q.texImage2D(q.TEXTURE_2D,0,P.format,T,F,0,P.format,P.type,null),P._mipLevels=[0],P}function p(P,T,F,q,V,H){this.gl=P,this.handle=T,this.format=V,this.type=H,this._shape=[F,q],this._mipLevels=[0],this._magFilter=P.NEAREST,this._minFilter=P.NEAREST,this._wrapS=P.CLAMP_TO_EDGE,this._wrapT=P.CLAMP_TO_EDGE,this._anisoSamples=1;var X=this,G=[this._wrapS,this._wrapT];Object.defineProperties(G,[{get:function(){return X._wrapS},set:function(W){return X.wrapS=W}},{get:function(){return X._wrapT},set:function(W){return X.wrapT=W}}]),this._wrapVector=G;var N=[this._shape[0],this._shape[1]];Object.defineProperties(N,[{get:function(){return X._shape[0]},set:function(W){return X.width=W}},{get:function(){return X._shape[1]},set:function(W){return X.height=W}}]),this._shapeVector=N}var E=p.prototype;Object.defineProperties(E,{minFilter:{get:function(){return this._minFilter},set:function(P){this.bind();var T=this.gl;if(this.type===T.FLOAT&&c.indexOf(P)>=0&&(T.getExtension(\"OES_texture_float_linear\")||(P=T.NEAREST)),f.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+P);return T.texParameteri(T.TEXTURE_2D,T.TEXTURE_MIN_FILTER,P),this._minFilter=P}},magFilter:{get:function(){return this._magFilter},set:function(P){this.bind();var T=this.gl;if(this.type===T.FLOAT&&c.indexOf(P)>=0&&(T.getExtension(\"OES_texture_float_linear\")||(P=T.NEAREST)),f.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+P);return T.texParameteri(T.TEXTURE_2D,T.TEXTURE_MAG_FILTER,P),this._magFilter=P}},mipSamples:{get:function(){return this._anisoSamples},set:function(P){var T=this._anisoSamples;if(this._anisoSamples=Math.max(P,1)|0,T!==this._anisoSamples){var F=this.gl.getExtension(\"EXT_texture_filter_anisotropic\");F&&this.gl.texParameterf(this.gl.TEXTURE_2D,F.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(P){if(this.bind(),h.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+P);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,P),this._wrapS=P}},wrapT:{get:function(){return this._wrapT},set:function(P){if(this.bind(),h.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+P);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,P),this._wrapT=P}},wrap:{get:function(){return this._wrapVector},set:function(P){if(Array.isArray(P)||(P=[P,P]),P.length!==2)throw new Error(\"gl-texture2d: Must specify wrap mode for rows and columns\");for(var T=0;T<2;++T)if(h.indexOf(P[T])<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+P);this._wrapS=P[0],this._wrapT=P[1];var F=this.gl;return this.bind(),F.texParameteri(F.TEXTURE_2D,F.TEXTURE_WRAP_S,this._wrapS),F.texParameteri(F.TEXTURE_2D,F.TEXTURE_WRAP_T,this._wrapT),P}},shape:{get:function(){return this._shapeVector},set:function(P){if(!Array.isArray(P))P=[P|0,P|0];else if(P.length!==2)throw new Error(\"gl-texture2d: Invalid texture shape\");return b(this,P[0]|0,P[1]|0),[P[0]|0,P[1]|0]}},width:{get:function(){return this._shape[0]},set:function(P){return P=P|0,b(this,P,this._shape[1]),P}},height:{get:function(){return this._shape[1]},set:function(P){return P=P|0,b(this,this._shape[0],P),P}}}),E.bind=function(P){var T=this.gl;return P!==void 0&&T.activeTexture(T.TEXTURE0+(P|0)),T.bindTexture(T.TEXTURE_2D,this.handle),P!==void 0?P|0:T.getParameter(T.ACTIVE_TEXTURE)-T.TEXTURE0},E.dispose=function(){this.gl.deleteTexture(this.handle)},E.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var P=Math.min(this._shape[0],this._shape[1]),T=0;P>0;++T,P>>>=1)this._mipLevels.indexOf(T)<0&&this._mipLevels.push(T)},E.setPixels=function(P,T,F,q){var V=this.gl;this.bind(),Array.isArray(T)?(q=F,F=T[1]|0,T=T[0]|0):(T=T||0,F=F||0),q=q||0;var H=v(P)?P:P.raw;if(H){var X=this._mipLevels.indexOf(q)<0;X?(V.texImage2D(V.TEXTURE_2D,0,this.format,this.format,this.type,H),this._mipLevels.push(q)):V.texSubImage2D(V.TEXTURE_2D,q,T,F,this.format,this.type,H)}else if(P.shape&&P.stride&&P.data){if(P.shape.length<2||T+P.shape[1]>this._shape[1]>>>q||F+P.shape[0]>this._shape[0]>>>q||T<0||F<0)throw new Error(\"gl-texture2d: Texture dimensions are out of bounds\");A(V,T,F,q,this.format,this.type,this._mipLevels,P)}else throw new Error(\"gl-texture2d: Unsupported data type\")};function k(P,T){return P.length===3?T[2]===1&&T[1]===P[0]*P[2]&&T[0]===P[2]:T[0]===1&&T[1]===P[0]}function A(P,T,F,q,V,H,X,G){var N=G.dtype,W=G.shape.slice();if(W.length<2||W.length>3)throw new Error(\"gl-texture2d: Invalid ndarray, must be 2d or 3d\");var re=0,ae=0,_e=k(W,G.stride.slice());N===\"float32\"?re=P.FLOAT:N===\"float64\"?(re=P.FLOAT,_e=!1,N=\"float32\"):N===\"uint8\"?re=P.UNSIGNED_BYTE:(re=P.UNSIGNED_BYTE,_e=!1,N=\"uint8\");var Me=1;if(W.length===2)ae=P.LUMINANCE,W=[W[0],W[1],1],G=s(G.data,W,[G.stride[0],G.stride[1],1],G.offset);else if(W.length===3){if(W[2]===1)ae=P.ALPHA;else if(W[2]===2)ae=P.LUMINANCE_ALPHA;else if(W[2]===3)ae=P.RGB;else if(W[2]===4)ae=P.RGBA;else throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");Me=W[2]}else throw new Error(\"gl-texture2d: Invalid shape for texture\");if((ae===P.LUMINANCE||ae===P.ALPHA)&&(V===P.LUMINANCE||V===P.ALPHA)&&(ae=V),ae!==V)throw new Error(\"gl-texture2d: Incompatible texture format for setPixels\");var ke=G.size,ge=X.indexOf(q)<0;if(ge&&X.push(q),re===H&&_e)G.offset===0&&G.data.length===ke?ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,G.data):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,G.data):ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,G.data.subarray(G.offset,G.offset+ke)):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,G.data.subarray(G.offset,G.offset+ke));else{var ie;H===P.FLOAT?ie=u.mallocFloat32(ke):ie=u.mallocUint8(ke);var Te=s(ie,W,[W[2],W[2]*W[0],1]);re===P.FLOAT&&H===P.UNSIGNED_BYTE?x(Te,G):l.assign(Te,G),ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,ie.subarray(0,ke)):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,ie.subarray(0,ke)),H===P.FLOAT?u.freeFloat32(ie):u.freeUint8(ie)}}function L(P){var T=P.createTexture();return P.bindTexture(P.TEXTURE_2D,T),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_MIN_FILTER,P.NEAREST),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_MAG_FILTER,P.NEAREST),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_WRAP_S,P.CLAMP_TO_EDGE),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_WRAP_T,P.CLAMP_TO_EDGE),T}function _(P,T,F,q,V){var H=P.getParameter(P.MAX_TEXTURE_SIZE);if(T<0||T>H||F<0||F>H)throw new Error(\"gl-texture2d: Invalid texture shape\");if(V===P.FLOAT&&!P.getExtension(\"OES_texture_float\"))throw new Error(\"gl-texture2d: Floating point textures not supported on this platform\");var X=L(P);return P.texImage2D(P.TEXTURE_2D,0,q,T,F,0,q,V,null),new p(P,X,T,F,q,V)}function C(P,T,F,q,V,H){var X=L(P);return P.texImage2D(P.TEXTURE_2D,0,V,V,H,T),new p(P,X,F,q,V,H)}function M(P,T){var F=T.dtype,q=T.shape.slice(),V=P.getParameter(P.MAX_TEXTURE_SIZE);if(q[0]<0||q[0]>V||q[1]<0||q[1]>V)throw new Error(\"gl-texture2d: Invalid texture size\");var H=k(q,T.stride.slice()),X=0;F===\"float32\"?X=P.FLOAT:F===\"float64\"?(X=P.FLOAT,H=!1,F=\"float32\"):F===\"uint8\"?X=P.UNSIGNED_BYTE:(X=P.UNSIGNED_BYTE,H=!1,F=\"uint8\");var G=0;if(q.length===2)G=P.LUMINANCE,q=[q[0],q[1],1],T=s(T.data,q,[T.stride[0],T.stride[1],1],T.offset);else if(q.length===3)if(q[2]===1)G=P.ALPHA;else if(q[2]===2)G=P.LUMINANCE_ALPHA;else if(q[2]===3)G=P.RGB;else if(q[2]===4)G=P.RGBA;else throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");else throw new Error(\"gl-texture2d: Invalid shape for texture\");X===P.FLOAT&&!P.getExtension(\"OES_texture_float\")&&(X=P.UNSIGNED_BYTE,H=!1);var N,W,re=T.size;if(H)T.offset===0&&T.data.length===re?N=T.data:N=T.data.subarray(T.offset,T.offset+re);else{var ae=[q[2],q[2]*q[0],1];W=u.malloc(re,F);var _e=s(W,q,ae,0);(F===\"float32\"||F===\"float64\")&&X===P.UNSIGNED_BYTE?x(_e,T):l.assign(_e,T),N=W.subarray(0,re)}var Me=L(P);return P.texImage2D(P.TEXTURE_2D,0,G,q[0],q[1],0,G,X,N),H||u.free(W),new p(P,Me,q[0],q[1],G,X)}function g(P){if(arguments.length<=1)throw new Error(\"gl-texture2d: Missing arguments for texture2d constructor\");if(c||d(P),typeof arguments[1]==\"number\")return _(P,arguments[1],arguments[2],arguments[3]||P.RGBA,arguments[4]||P.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return _(P,arguments[1][0]|0,arguments[1][1]|0,arguments[2]||P.RGBA,arguments[3]||P.UNSIGNED_BYTE);if(typeof arguments[1]==\"object\"){var T=arguments[1],F=v(T)?T:T.raw;if(F)return C(P,F,T.width|0,T.height|0,arguments[2]||P.RGBA,arguments[3]||P.UNSIGNED_BYTE);if(T.shape&&T.data&&T.stride)return M(P,T)}throw new Error(\"gl-texture2d: Invalid arguments for texture2d constructor\")}},1433:function(i){\"use strict\";function a(o,s,l){s?s.bind():o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,null);var u=o.getParameter(o.MAX_VERTEX_ATTRIBS)|0;if(l){if(l.length>u)throw new Error(\"gl-vao: Too many vertex attributes\");for(var c=0;c<l.length;++c){var f=l[c];if(f.buffer){var h=f.buffer,d=f.size||4,v=f.type||o.FLOAT,x=!!f.normalized,b=f.stride||0,p=f.offset||0;h.bind(),o.enableVertexAttribArray(c),o.vertexAttribPointer(c,d,v,x,b,p)}else{if(typeof f==\"number\")o.vertexAttrib1f(c,f);else if(f.length===1)o.vertexAttrib1f(c,f[0]);else if(f.length===2)o.vertexAttrib2f(c,f[0],f[1]);else if(f.length===3)o.vertexAttrib3f(c,f[0],f[1],f[2]);else if(f.length===4)o.vertexAttrib4f(c,f[0],f[1],f[2],f[3]);else throw new Error(\"gl-vao: Invalid vertex attribute\");o.disableVertexAttribArray(c)}}for(;c<u;++c)o.disableVertexAttribArray(c)}else{o.bindBuffer(o.ARRAY_BUFFER,null);for(var c=0;c<u;++c)o.disableVertexAttribArray(c)}}i.exports=a},870:function(i,a,o){\"use strict\";var s=o(1433);function l(c){this.gl=c,this._elements=null,this._attributes=null,this._elementsType=c.UNSIGNED_SHORT}l.prototype.bind=function(){s(this.gl,this._elements,this._attributes)},l.prototype.update=function(c,f,h){this._elements=f,this._attributes=c,this._elementsType=h||this.gl.UNSIGNED_SHORT},l.prototype.dispose=function(){},l.prototype.unbind=function(){},l.prototype.draw=function(c,f,h){h=h||0;var d=this.gl;this._elements?d.drawElements(c,f,this._elementsType,h):d.drawArrays(c,h,f)};function u(c){return new l(c)}i.exports=u},7518:function(i,a,o){\"use strict\";var s=o(1433);function l(f,h,d,v,x,b){this.location=f,this.dimension=h,this.a=d,this.b=v,this.c=x,this.d=b}l.prototype.bind=function(f){switch(this.dimension){case 1:f.vertexAttrib1f(this.location,this.a);break;case 2:f.vertexAttrib2f(this.location,this.a,this.b);break;case 3:f.vertexAttrib3f(this.location,this.a,this.b,this.c);break;case 4:f.vertexAttrib4f(this.location,this.a,this.b,this.c,this.d);break}};function u(f,h,d){this.gl=f,this._ext=h,this.handle=d,this._attribs=[],this._useElements=!1,this._elementsType=f.UNSIGNED_SHORT}u.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var f=0;f<this._attribs.length;++f)this._attribs[f].bind(this.gl)},u.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},u.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},u.prototype.update=function(f,h,d){if(this.bind(),s(this.gl,h,f),this.unbind(),this._attribs.length=0,f)for(var v=0;v<f.length;++v){var x=f[v];typeof x==\"number\"?this._attribs.push(new l(v,1,x)):Array.isArray(x)&&this._attribs.push(new l(v,x.length,x[0],x[1],x[2],x[3]))}this._useElements=!!h,this._elementsType=d||this.gl.UNSIGNED_SHORT},u.prototype.draw=function(f,h,d){d=d||0;var v=this.gl;this._useElements?v.drawElements(f,h,this._elementsType,d):v.drawArrays(f,d,h)};function c(f,h){return new u(f,h,h.createVertexArrayOES())}i.exports=c},8116:function(i,a,o){\"use strict\";var s=o(7518),l=o(870);function u(f){this.bindVertexArrayOES=f.bindVertexArray.bind(f),this.createVertexArrayOES=f.createVertexArray.bind(f),this.deleteVertexArrayOES=f.deleteVertexArray.bind(f)}function c(f,h,d,v){var x=f.createVertexArray?new u(f):f.getExtension(\"OES_vertex_array_object\"),b;return x?b=s(f,x):b=l(f),b.update(h,d,v),b}i.exports=c},5632:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]+l[0],o[1]=s[1]+l[1],o[2]=s[2]+l[2],o}},8192:function(i,a,o){i.exports=c;var s=o(2825),l=o(3536),u=o(244);function c(f,h){var d=s(f[0],f[1],f[2]),v=s(h[0],h[1],h[2]);l(d,d),l(v,v);var x=u(d,v);return x>1?0:Math.acos(x)}},9226:function(i){i.exports=a;function a(o,s){return o[0]=Math.ceil(s[0]),o[1]=Math.ceil(s[1]),o[2]=Math.ceil(s[2]),o}},3126:function(i){i.exports=a;function a(o){var s=new Float32Array(3);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s}},3990:function(i){i.exports=a;function a(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o}},1091:function(i){i.exports=a;function a(){var o=new Float32Array(3);return o[0]=0,o[1]=0,o[2]=0,o}},5911:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2];return o[0]=c*v-f*d,o[1]=f*h-u*v,o[2]=u*d-c*h,o}},5455:function(i,a,o){i.exports=o(7056)},7056:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2];return Math.sqrt(l*l+u*u+c*c)}},4008:function(i,a,o){i.exports=o(6690)},6690:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o}},244:function(i){i.exports=a;function a(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]}},2613:function(i){i.exports=1e-6},9922:function(i,a,o){i.exports=l;var s=o(2613);function l(u,c){var f=u[0],h=u[1],d=u[2],v=c[0],x=c[1],b=c[2];return Math.abs(f-v)<=s*Math.max(1,Math.abs(f),Math.abs(v))&&Math.abs(h-x)<=s*Math.max(1,Math.abs(h),Math.abs(x))&&Math.abs(d-b)<=s*Math.max(1,Math.abs(d),Math.abs(b))}},9265:function(i){i.exports=a;function a(o,s){return o[0]===s[0]&&o[1]===s[1]&&o[2]===s[2]}},2681:function(i){i.exports=a;function a(o,s){return o[0]=Math.floor(s[0]),o[1]=Math.floor(s[1]),o[2]=Math.floor(s[2]),o}},5137:function(i,a,o){i.exports=l;var s=o(1091)();function l(u,c,f,h,d,v){var x,b;for(c||(c=3),f||(f=0),h?b=Math.min(h*c+f,u.length):b=u.length,x=f;x<b;x+=c)s[0]=u[x],s[1]=u[x+1],s[2]=u[x+2],d(s,s,v),u[x]=s[0],u[x+1]=s[1],u[x+2]=s[2];return u}},2825:function(i){i.exports=a;function a(o,s,l){var u=new Float32Array(3);return u[0]=o,u[1]=s,u[2]=l,u}},2931:function(i,a,o){i.exports={EPSILON:o(2613),create:o(1091),clone:o(3126),angle:o(8192),fromValues:o(2825),copy:o(3990),set:o(1463),equals:o(9922),exactEquals:o(9265),add:o(5632),subtract:o(6843),sub:o(2229),multiply:o(5847),mul:o(4505),divide:o(6690),div:o(4008),min:o(8107),max:o(7417),floor:o(2681),ceil:o(9226),round:o(2447),scale:o(6621),scaleAndAdd:o(8489),distance:o(7056),dist:o(5455),squaredDistance:o(2953),sqrDist:o(6141),length:o(1387),len:o(868),squaredLength:o(3066),sqrLen:o(5486),negate:o(5093),inverse:o(811),normalize:o(3536),dot:o(244),cross:o(5911),lerp:o(6658),random:o(7636),transformMat4:o(5673),transformMat3:o(492),transformQuat:o(264),rotateX:o(6894),rotateY:o(109),rotateZ:o(8692),forEach:o(5137)}},811:function(i){i.exports=a;function a(o,s){return o[0]=1/s[0],o[1]=1/s[1],o[2]=1/s[2],o}},868:function(i,a,o){i.exports=o(1387)},1387:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2];return Math.sqrt(s*s+l*l+u*u)}},6658:function(i){i.exports=a;function a(o,s,l,u){var c=s[0],f=s[1],h=s[2];return o[0]=c+u*(l[0]-c),o[1]=f+u*(l[1]-f),o[2]=h+u*(l[2]-h),o}},7417:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.max(s[0],l[0]),o[1]=Math.max(s[1],l[1]),o[2]=Math.max(s[2],l[2]),o}},8107:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.min(s[0],l[0]),o[1]=Math.min(s[1],l[1]),o[2]=Math.min(s[2],l[2]),o}},4505:function(i,a,o){i.exports=o(5847)},5847:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l[0],o[1]=s[1]*l[1],o[2]=s[2]*l[2],o}},5093:function(i){i.exports=a;function a(o,s){return o[0]=-s[0],o[1]=-s[1],o[2]=-s[2],o}},3536:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=l*l+u*u+c*c;return f>0&&(f=1/Math.sqrt(f),o[0]=s[0]*f,o[1]=s[1]*f,o[2]=s[2]*f),o}},7636:function(i){i.exports=a;function a(o,s){s=s||1;var l=Math.random()*2*Math.PI,u=Math.random()*2-1,c=Math.sqrt(1-u*u)*s;return o[0]=Math.cos(l)*c,o[1]=Math.sin(l)*c,o[2]=u*s,o}},6894:function(i){i.exports=a;function a(o,s,l,u){var c=l[1],f=l[2],h=s[1]-c,d=s[2]-f,v=Math.sin(u),x=Math.cos(u);return o[0]=s[0],o[1]=c+h*x-d*v,o[2]=f+h*v+d*x,o}},109:function(i){i.exports=a;function a(o,s,l,u){var c=l[0],f=l[2],h=s[0]-c,d=s[2]-f,v=Math.sin(u),x=Math.cos(u);return o[0]=c+d*v+h*x,o[1]=s[1],o[2]=f+d*x-h*v,o}},8692:function(i){i.exports=a;function a(o,s,l,u){var c=l[0],f=l[1],h=s[0]-c,d=s[1]-f,v=Math.sin(u),x=Math.cos(u);return o[0]=c+h*x-d*v,o[1]=f+h*v+d*x,o[2]=s[2],o}},2447:function(i){i.exports=a;function a(o,s){return o[0]=Math.round(s[0]),o[1]=Math.round(s[1]),o[2]=Math.round(s[2]),o}},6621:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o}},8489:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o}},1463:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s,o[1]=l,o[2]=u,o}},6141:function(i,a,o){i.exports=o(2953)},5486:function(i,a,o){i.exports=o(3066)},2953:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2];return l*l+u*u+c*c}},3066:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2];return s*s+l*l+u*u}},2229:function(i,a,o){i.exports=o(6843)},6843:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o}},492:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2];return o[0]=u*l[0]+c*l[3]+f*l[6],o[1]=u*l[1]+c*l[4]+f*l[7],o[2]=u*l[2]+c*l[5]+f*l[8],o}},5673:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[3]*u+l[7]*c+l[11]*f+l[15];return h=h||1,o[0]=(l[0]*u+l[4]*c+l[8]*f+l[12])/h,o[1]=(l[1]*u+l[5]*c+l[9]*f+l[13])/h,o[2]=(l[2]*u+l[6]*c+l[10]*f+l[14])/h,o}},264:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2],x=l[3],b=x*u+d*f-v*c,p=x*c+v*u-h*f,E=x*f+h*c-d*u,k=-h*u-d*c-v*f;return o[0]=b*x+k*-h+p*-v-E*-d,o[1]=p*x+k*-d+E*-h-b*-v,o[2]=E*x+k*-v+b*-d-p*-h,o}},4361:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]+l[0],o[1]=s[1]+l[1],o[2]=s[2]+l[2],o[3]=s[3]+l[3],o}},2335:function(i){i.exports=a;function a(o){var s=new Float32Array(4);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s[3]=o[3],s}},2933:function(i){i.exports=a;function a(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o[3]=s[3],o}},7536:function(i){i.exports=a;function a(){var o=new Float32Array(4);return o[0]=0,o[1]=0,o[2]=0,o[3]=0,o}},4691:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2],f=s[3]-o[3];return Math.sqrt(l*l+u*u+c*c+f*f)}},1373:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o[3]=s[3]/l[3],o}},3750:function(i){i.exports=a;function a(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]+o[3]*s[3]}},3390:function(i){i.exports=a;function a(o,s,l,u){var c=new Float32Array(4);return c[0]=o,c[1]=s,c[2]=l,c[3]=u,c}},9970:function(i,a,o){i.exports={create:o(7536),clone:o(2335),fromValues:o(3390),copy:o(2933),set:o(4578),add:o(4361),subtract:o(6860),multiply:o(3576),divide:o(1373),min:o(2334),max:o(160),scale:o(9288),scaleAndAdd:o(4844),distance:o(4691),squaredDistance:o(7960),length:o(6808),squaredLength:o(483),negate:o(1498),inverse:o(4494),normalize:o(5177),dot:o(3750),lerp:o(2573),random:o(9131),transformMat4:o(5352),transformQuat:o(4041)}},4494:function(i){i.exports=a;function a(o,s){return o[0]=1/s[0],o[1]=1/s[1],o[2]=1/s[2],o[3]=1/s[3],o}},6808:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3];return Math.sqrt(s*s+l*l+u*u+c*c)}},2573:function(i){i.exports=a;function a(o,s,l,u){var c=s[0],f=s[1],h=s[2],d=s[3];return o[0]=c+u*(l[0]-c),o[1]=f+u*(l[1]-f),o[2]=h+u*(l[2]-h),o[3]=d+u*(l[3]-d),o}},160:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.max(s[0],l[0]),o[1]=Math.max(s[1],l[1]),o[2]=Math.max(s[2],l[2]),o[3]=Math.max(s[3],l[3]),o}},2334:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.min(s[0],l[0]),o[1]=Math.min(s[1],l[1]),o[2]=Math.min(s[2],l[2]),o[3]=Math.min(s[3],l[3]),o}},3576:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l[0],o[1]=s[1]*l[1],o[2]=s[2]*l[2],o[3]=s[3]*l[3],o}},1498:function(i){i.exports=a;function a(o,s){return o[0]=-s[0],o[1]=-s[1],o[2]=-s[2],o[3]=-s[3],o}},5177:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=s[3],h=l*l+u*u+c*c+f*f;return h>0&&(h=1/Math.sqrt(h),o[0]=l*h,o[1]=u*h,o[2]=c*h,o[3]=f*h),o}},9131:function(i,a,o){var s=o(5177),l=o(9288);i.exports=u;function u(c,f){return f=f||1,c[0]=Math.random(),c[1]=Math.random(),c[2]=Math.random(),c[3]=Math.random(),s(c,c),l(c,c,f),c}},9288:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o[3]=s[3]*l,o}},4844:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o[3]=s[3]+l[3]*u,o}},4578:function(i){i.exports=a;function a(o,s,l,u,c){return o[0]=s,o[1]=l,o[2]=u,o[3]=c,o}},7960:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2],f=s[3]-o[3];return l*l+u*u+c*c+f*f}},483:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3];return s*s+l*l+u*u+c*c}},6860:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o[3]=s[3]-l[3],o}},5352:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=s[3];return o[0]=l[0]*u+l[4]*c+l[8]*f+l[12]*h,o[1]=l[1]*u+l[5]*c+l[9]*f+l[13]*h,o[2]=l[2]*u+l[6]*c+l[10]*f+l[14]*h,o[3]=l[3]*u+l[7]*c+l[11]*f+l[15]*h,o}},4041:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2],x=l[3],b=x*u+d*f-v*c,p=x*c+v*u-h*f,E=x*f+h*c-d*u,k=-h*u-d*c-v*f;return o[0]=b*x+k*-h+p*-v-E*-d,o[1]=p*x+k*-d+E*-h-b*-v,o[2]=E*x+k*-v+b*-d-p*-h,o[3]=s[3],o}},1848:function(i,a,o){var s=o(4905),l=o(6468);i.exports=u;function u(c){for(var f=Array.isArray(c)?c:s(c),h=0;h<f.length;h++){var d=f[h];if(d.type===\"preprocessor\"){var v=d.data.match(/\\#define\\s+SHADER_NAME(_B64)?\\s+(.+)$/);if(v&&v[2]){var x=v[1],b=v[2];return(x?l(b):b).trim()}}}}},5874:function(i,a,o){i.exports=T;var s=o(620),l=o(7827),u=o(6852),c=o(7932),f=o(3508),h=999,d=9999,v=0,x=1,b=2,p=3,E=4,k=5,A=6,L=7,_=8,C=9,M=10,g=11,P=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"];function T(F){var q=0,V=0,H=h,X,G,N=[],W=[],re=0,ae=0,_e=1,Me=0,ke=0,ge=!1,ie=!1,Te=\"\",Ee;F=F||{};var Ae=u,ze=s;F.version===\"300 es\"&&(Ae=f,ze=c);for(var Ce={},me={},q=0;q<Ae.length;q++)Ce[Ae[q]]=!0;for(var q=0;q<ze.length;q++)me[ze[q]]=!0;return function(Ke){return W=[],Ke!==null?ce(Ke):Ge()};function Re(Ke){Ke.length&&W.push({type:P[H],data:Ke,position:ke,line:_e,column:Me})}function ce(Ke){q=0,Ke.toString&&(Ke=Ke.toString()),Te+=Ke.replace(/\\r\\n/g,`\n", - "`),Ee=Te.length;for(var xt;X=Te[q],q<Ee;){switch(xt=q,H){case v:q=ot();break;case x:q=rt();break;case b:q=qt();break;case p:q=Rt();break;case E:q=Yt();break;case g:q=Ct();break;case k:q=xr();break;case d:q=er();break;case C:q=ct();break;case h:q=nt();break}if(xt!==q)switch(Te[xt]){case`\n", - "`:Me=0,++_e;break;default:++Me;break}}return V+=q,Te=Te.slice(q),W}function Ge(Ke){return N.length&&Re(N.join(\"\")),H=M,Re(\"(eof)\"),W}function nt(){return N=N.length?[]:N,G===\"/\"&&X===\"*\"?(ke=V+q-1,H=v,G=X,q+1):G===\"/\"&&X===\"/\"?(ke=V+q-1,H=x,G=X,q+1):X===\"#\"?(H=b,ke=V+q,q):/\\s/.test(X)?(H=C,ke=V+q,q):(ge=/\\d/.test(X),ie=/[^\\w_]/.test(X),ke=V+q,H=ge?E:ie?p:d,q)}function ct(){return/[^\\s]/g.test(X)?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function qt(){return(X===\"\\r\"||X===`\n", - "`)&&G!==\"\\\\\"?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function rt(){return qt()}function ot(){return X===\"/\"&&G===\"*\"?(N.push(X),Re(N.join(\"\")),H=h,q+1):(N.push(X),G=X,q+1)}function Rt(){if(G===\".\"&&/\\d/.test(X))return H=k,q;if(G===\"/\"&&X===\"*\")return H=v,q;if(G===\"/\"&&X===\"/\")return H=x,q;if(X===\".\"&&N.length){for(;kt(N););return H=k,q}if(X===\";\"||X===\")\"||X===\"(\"){if(N.length)for(;kt(N););return Re(X),H=h,q+1}var Ke=N.length===2&&X!==\"=\";if(/[\\w_\\d\\s]/.test(X)||Ke){for(;kt(N););return H=h,q}return N.push(X),G=X,q+1}function kt(Ke){var xt=0,bt,Lt;do{if(bt=l.indexOf(Ke.slice(0,Ke.length+xt).join(\"\")),Lt=l[bt],bt===-1){if(xt--+Ke.length>0)continue;Lt=Ke.slice(0,1).join(\"\")}return Re(Lt),ke+=Lt.length,N=N.slice(Lt.length),N.length}while(!0)}function Ct(){return/[^a-fA-F0-9]/.test(X)?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function Yt(){return X===\".\"||/[eE]/.test(X)?(N.push(X),H=k,G=X,q+1):X===\"x\"&&N.length===1&&N[0]===\"0\"?(H=g,N.push(X),G=X,q+1):/[^\\d]/.test(X)?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function xr(){return X===\"f\"&&(N.push(X),G=X,q+=1),/[eE]/.test(X)||(X===\"-\"||X===\"+\")&&/[eE]/.test(G)?(N.push(X),G=X,q+1):/[^\\d]/.test(X)?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function er(){if(/[^\\d\\w_]/.test(X)){var Ke=N.join(\"\");return me[Ke]?H=_:Ce[Ke]?H=L:H=A,Re(N.join(\"\")),H=h,q}return N.push(X),G=X,q+1}}},3508:function(i,a,o){var s=o(6852);s=s.slice().filter(function(l){return!/^(gl\\_|texture)/.test(l)}),i.exports=s.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(i){i.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(i,a,o){var s=o(620);i.exports=s.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(i){i.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(i){i.exports=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"]},4905:function(i,a,o){var s=o(5874);i.exports=l;function l(u,c){var f=s(c),h=[];return h=h.concat(f(u)),h=h.concat(f(null)),h}},3236:function(i){i.exports=function(a){typeof a==\"string\"&&(a=[a]);for(var o=[].slice.call(arguments,1),s=[],l=0;l<a.length-1;l++)s.push(a[l],o[l]||\"\");return s.push(a[l]),s.join(\"\")}},7520:function(i,a,o){\"use strict\";var s=o(9507);function l(){var u=!1;try{var c=Object.defineProperty({},\"passive\",{get:function(){u=!0}});window.addEventListener(\"test\",null,c),window.removeEventListener(\"test\",null,c)}catch(f){u=!1}return u}i.exports=s&&l()},3778:function(i,a){a.read=function(o,s,l,u,c){var f,h,d=c*8-u-1,v=(1<<d)-1,x=v>>1,b=-7,p=l?c-1:0,E=l?-1:1,k=o[s+p];for(p+=E,f=k&(1<<-b)-1,k>>=-b,b+=d;b>0;f=f*256+o[s+p],p+=E,b-=8);for(h=f&(1<<-b)-1,f>>=-b,b+=u;b>0;h=h*256+o[s+p],p+=E,b-=8);if(f===0)f=1-x;else{if(f===v)return h?NaN:(k?-1:1)*(1/0);h=h+Math.pow(2,u),f=f-x}return(k?-1:1)*h*Math.pow(2,f-u)},a.write=function(o,s,l,u,c,f){var h,d,v,x=f*8-c-1,b=(1<<x)-1,p=b>>1,E=c===23?Math.pow(2,-24)-Math.pow(2,-77):0,k=u?0:f-1,A=u?1:-1,L=s<0||s===0&&1/s<0?1:0;for(s=Math.abs(s),isNaN(s)||s===1/0?(d=isNaN(s)?1:0,h=b):(h=Math.floor(Math.log(s)/Math.LN2),s*(v=Math.pow(2,-h))<1&&(h--,v*=2),h+p>=1?s+=E/v:s+=E*Math.pow(2,1-p),s*v>=2&&(h++,v/=2),h+p>=b?(d=0,h=b):h+p>=1?(d=(s*v-1)*Math.pow(2,c),h=h+p):(d=s*Math.pow(2,p-1)*Math.pow(2,c),h=0));c>=8;o[l+k]=d&255,k+=A,d/=256,c-=8);for(h=h<<c|d,x+=c;x>0;o[l+k]=h&255,k+=A,h/=256,x-=8);o[l+k-A]|=L*128}},8954:function(i,a,o){\"use strict\";i.exports=p;var s=o(3250),l=o(6803).Fw;function u(E,k,A){this.vertices=E,this.adjacent=k,this.boundary=A,this.lastVisited=-1}u.prototype.flip=function(){var E=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=E;var k=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=k};function c(E,k,A){this.vertices=E,this.cell=k,this.index=A}function f(E,k){return l(E.vertices,k.vertices)}function h(E){return function(){var k=this.tuple;return E.apply(this,k)}}function d(E){var k=s[E+1];return k||(k=s),h(k)}var v=[];function x(E,k,A){this.dimension=E,this.vertices=k,this.simplices=A,this.interior=A.filter(function(C){return!C.boundary}),this.tuple=new Array(E+1);for(var L=0;L<=E;++L)this.tuple[L]=this.vertices[L];var _=v[E];_||(_=v[E]=d(E)),this.orient=_}var b=x.prototype;b.handleBoundaryDegeneracy=function(E,k){var A=this.dimension,L=this.vertices.length-1,_=this.tuple,C=this.vertices,M=[E];for(E.lastVisited=-L;M.length>0;){E=M.pop();for(var g=E.adjacent,P=0;P<=A;++P){var T=g[P];if(!(!T.boundary||T.lastVisited<=-L)){for(var F=T.vertices,q=0;q<=A;++q){var V=F[q];V<0?_[q]=k:_[q]=C[V]}var H=this.orient();if(H>0)return T;T.lastVisited=-L,H===0&&M.push(T)}}}return null},b.walk=function(E,k){var A=this.vertices.length-1,L=this.dimension,_=this.vertices,C=this.tuple,M=k?this.interior.length*Math.random()|0:this.interior.length-1,g=this.interior[M];e:for(;!g.boundary;){for(var P=g.vertices,T=g.adjacent,F=0;F<=L;++F)C[F]=_[P[F]];g.lastVisited=A;for(var F=0;F<=L;++F){var q=T[F];if(!(q.lastVisited>=A)){var V=C[F];C[F]=E;var H=this.orient();if(C[F]=V,H<0){g=q;continue e}else q.boundary?q.lastVisited=-A:q.lastVisited=A}}return}return g},b.addPeaks=function(E,k){var A=this.vertices.length-1,L=this.dimension,_=this.vertices,C=this.tuple,M=this.interior,g=this.simplices,P=[k];k.lastVisited=A,k.vertices[k.vertices.indexOf(-1)]=A,k.boundary=!1,M.push(k);for(var T=[];P.length>0;){var k=P.pop(),F=k.vertices,q=k.adjacent,V=F.indexOf(A);if(!(V<0)){for(var H=0;H<=L;++H)if(H!==V){var X=q[H];if(!(!X.boundary||X.lastVisited>=A)){var G=X.vertices;if(X.lastVisited!==-A){for(var N=0,W=0;W<=L;++W)G[W]<0?(N=W,C[W]=E):C[W]=_[G[W]];var re=this.orient();if(re>0){G[N]=A,X.boundary=!1,M.push(X),P.push(X),X.lastVisited=A;continue}else X.lastVisited=-A}var ae=X.adjacent,_e=F.slice(),Me=q.slice(),ke=new u(_e,Me,!0);g.push(ke);var ge=ae.indexOf(k);if(!(ge<0)){ae[ge]=ke,Me[V]=X,_e[H]=-1,Me[H]=k,q[H]=ke,ke.flip();for(var W=0;W<=L;++W){var ie=_e[W];if(!(ie<0||ie===A)){for(var Te=new Array(L-1),Ee=0,Ae=0;Ae<=L;++Ae){var ze=_e[Ae];ze<0||Ae===W||(Te[Ee++]=ze)}T.push(new c(Te,ke,W))}}}}}}}T.sort(f);for(var H=0;H+1<T.length;H+=2){var Ce=T[H],me=T[H+1],Re=Ce.index,ce=me.index;Re<0||ce<0||(Ce.cell.adjacent[Ce.index]=me.cell,me.cell.adjacent[me.index]=Ce.cell)}},b.insert=function(E,k){var A=this.vertices;A.push(E);var L=this.walk(E,k);if(L){for(var _=this.dimension,C=this.tuple,M=0;M<=_;++M){var g=L.vertices[M];g<0?C[M]=E:C[M]=A[g]}var P=this.orient(C);P<0||P===0&&(L=this.handleBoundaryDegeneracy(L,E),!L)||this.addPeaks(E,L)}},b.boundary=function(){for(var E=this.dimension,k=[],A=this.simplices,L=A.length,_=0;_<L;++_){var C=A[_];if(C.boundary){for(var M=new Array(E),g=C.vertices,P=0,T=0,F=0;F<=E;++F)g[F]>=0?M[P++]=g[F]:T=F&1;if(T===(E&1)){var q=M[0];M[0]=M[1],M[1]=q}k.push(M)}}return k};function p(E,k){var A=E.length;if(A===0)throw new Error(\"Must have at least d+1 points\");var L=E[0].length;if(A<=L)throw new Error(\"Must input at least d+1 points\");var _=E.slice(0,L+1),C=s.apply(void 0,_);if(C===0)throw new Error(\"Input not in general position\");for(var M=new Array(L+1),g=0;g<=L;++g)M[g]=g;C<0&&(M[0]=1,M[1]=0);for(var P=new u(M,new Array(L+1),!1),T=P.adjacent,F=new Array(L+2),g=0;g<=L;++g){for(var q=M.slice(),V=0;V<=L;++V)V===g&&(q[V]=-1);var H=q[0];q[0]=q[1],q[1]=H;var X=new u(q,new Array(L+1),!0);T[g]=X,F[g]=X}F[L+1]=P;for(var g=0;g<=L;++g)for(var q=T[g].vertices,G=T[g].adjacent,V=0;V<=L;++V){var N=q[V];if(N<0){G[V]=P;continue}for(var W=0;W<=L;++W)T[W].vertices.indexOf(N)<0&&(G[V]=T[W])}for(var re=new x(L,_,F),ae=!!k,g=L+1;g<A;++g)re.insert(E[g],ae);return re.boundary()}},3352:function(i,a,o){\"use strict\";var s=o(2478),l=0,u=1,c=2;i.exports=P;function f(T,F,q,V,H){this.mid=T,this.left=F,this.right=q,this.leftPoints=V,this.rightPoints=H,this.count=(F?F.count:0)+(q?q.count:0)+V.length}var h=f.prototype;function d(T,F){T.mid=F.mid,T.left=F.left,T.right=F.right,T.leftPoints=F.leftPoints,T.rightPoints=F.rightPoints,T.count=F.count}function v(T,F){var q=C(F);T.mid=q.mid,T.left=q.left,T.right=q.right,T.leftPoints=q.leftPoints,T.rightPoints=q.rightPoints,T.count=q.count}function x(T,F){var q=T.intervals([]);q.push(F),v(T,q)}function b(T,F){var q=T.intervals([]),V=q.indexOf(F);return V<0?l:(q.splice(V,1),v(T,q),u)}h.intervals=function(T){return T.push.apply(T,this.leftPoints),this.left&&this.left.intervals(T),this.right&&this.right.intervals(T),T},h.insert=function(T){var F=this.count-this.leftPoints.length;if(this.count+=1,T[1]<this.mid)this.left?4*(this.left.count+1)>3*(F+1)?x(this,T):this.left.insert(T):this.left=C([T]);else if(T[0]>this.mid)this.right?4*(this.right.count+1)>3*(F+1)?x(this,T):this.right.insert(T):this.right=C([T]);else{var q=s.ge(this.leftPoints,T,L),V=s.ge(this.rightPoints,T,_);this.leftPoints.splice(q,0,T),this.rightPoints.splice(V,0,T)}},h.remove=function(T){var F=this.count-this.leftPoints;if(T[1]<this.mid){if(!this.left)return l;var q=this.right?this.right.count:0;if(4*q>3*(F-1))return b(this,T);var V=this.left.remove(T);return V===c?(this.left=null,this.count-=1,u):(V===u&&(this.count-=1),V)}else if(T[0]>this.mid){if(!this.right)return l;var H=this.left?this.left.count:0;if(4*H>3*(F-1))return b(this,T);var V=this.right.remove(T);return V===c?(this.right=null,this.count-=1,u):(V===u&&(this.count-=1),V)}else{if(this.count===1)return this.leftPoints[0]===T?c:l;if(this.leftPoints.length===1&&this.leftPoints[0]===T){if(this.left&&this.right){for(var X=this,G=this.left;G.right;)X=G,G=G.right;if(X===this)G.right=this.right;else{var N=this.left,V=this.right;X.count-=G.count,X.right=G.left,G.left=N,G.right=V}d(this,G),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?d(this,this.left):d(this,this.right);return u}for(var N=s.ge(this.leftPoints,T,L);N<this.leftPoints.length&&this.leftPoints[N][0]===T[0];++N)if(this.leftPoints[N]===T){this.count-=1,this.leftPoints.splice(N,1);for(var V=s.ge(this.rightPoints,T,_);V<this.rightPoints.length&&this.rightPoints[V][1]===T[1];++V)if(this.rightPoints[V]===T)return this.rightPoints.splice(V,1),u}return l}};function p(T,F,q){for(var V=0;V<T.length&&T[V][0]<=F;++V){var H=q(T[V]);if(H)return H}}function E(T,F,q){for(var V=T.length-1;V>=0&&T[V][1]>=F;--V){var H=q(T[V]);if(H)return H}}function k(T,F){for(var q=0;q<T.length;++q){var V=F(T[q]);if(V)return V}}h.queryPoint=function(T,F){if(T<this.mid){if(this.left){var q=this.left.queryPoint(T,F);if(q)return q}return p(this.leftPoints,T,F)}else if(T>this.mid){if(this.right){var q=this.right.queryPoint(T,F);if(q)return q}return E(this.rightPoints,T,F)}else return k(this.leftPoints,F)},h.queryInterval=function(T,F,q){if(T<this.mid&&this.left){var V=this.left.queryInterval(T,F,q);if(V)return V}if(F>this.mid&&this.right){var V=this.right.queryInterval(T,F,q);if(V)return V}return F<this.mid?p(this.leftPoints,F,q):T>this.mid?E(this.rightPoints,T,q):k(this.leftPoints,q)};function A(T,F){return T-F}function L(T,F){var q=T[0]-F[0];return q||T[1]-F[1]}function _(T,F){var q=T[1]-F[1];return q||T[0]-F[0]}function C(T){if(T.length===0)return null;for(var F=[],q=0;q<T.length;++q)F.push(T[q][0],T[q][1]);F.sort(A);for(var V=F[F.length>>1],H=[],X=[],G=[],q=0;q<T.length;++q){var N=T[q];N[1]<V?H.push(N):V<N[0]?X.push(N):G.push(N)}var W=G,re=G.slice();return W.sort(L),re.sort(_),new f(V,C(H),C(X),W,re)}function M(T){this.root=T}var g=M.prototype;g.insert=function(T){this.root?this.root.insert(T):this.root=new f(T[0],null,null,[T],[T])},g.remove=function(T){if(this.root){var F=this.root.remove(T);return F===c&&(this.root=null),F!==l}return!1},g.queryPoint=function(T,F){if(this.root)return this.root.queryPoint(T,F)},g.queryInterval=function(T,F,q){if(T<=F&&this.root)return this.root.queryInterval(T,F,q)},Object.defineProperty(g,\"count\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(g,\"intervals\",{get:function(){return this.root?this.root.intervals([]):[]}});function P(T){return!T||T.length===0?new M(null):new M(C(T))}},9507:function(i){i.exports=!0},7163:function(i){i.exports=function(s){return s!=null&&(a(s)||o(s)||!!s._isBuffer)};function a(s){return!!s.constructor&&typeof s.constructor.isBuffer==\"function\"&&s.constructor.isBuffer(s)}function o(s){return typeof s.readFloatLE==\"function\"&&typeof s.slice==\"function\"&&a(s.slice(0,0))}},5219:function(i){\"use strict\";i.exports=function(a){for(var o=a.length,s,l=0;l<o;l++)if(s=a.charCodeAt(l),(s<9||s>13)&&s!==32&&s!==133&&s!==160&&s!==5760&&s!==6158&&(s<8192||s>8205)&&s!==8232&&s!==8233&&s!==8239&&s!==8287&&s!==8288&&s!==12288&&s!==65279)return!1;return!0}},395:function(i){function a(o,s,l){return o*(1-l)+s*l}i.exports=a},2652:function(i,a,o){var s=o(4335),l=o(6864),u=o(1903),c=o(9921),f=o(7608),h=o(5665),d={length:o(1387),normalize:o(3536),dot:o(244),cross:o(5911)},v=l(),x=l(),b=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],E=[0,0,0];i.exports=function(C,M,g,P,T,F){if(M||(M=[0,0,0]),g||(g=[0,0,0]),P||(P=[0,0,0]),T||(T=[0,0,0,1]),F||(F=[0,0,0,1]),!s(v,C)||(u(x,v),x[3]=0,x[7]=0,x[11]=0,x[15]=1,Math.abs(c(x)<1e-8)))return!1;var q=v[3],V=v[7],H=v[11],X=v[12],G=v[13],N=v[14],W=v[15];if(q!==0||V!==0||H!==0){b[0]=q,b[1]=V,b[2]=H,b[3]=W;var re=f(x,x);if(!re)return!1;h(x,x),k(T,b,x)}else T[0]=T[1]=T[2]=0,T[3]=1;if(M[0]=X,M[1]=G,M[2]=N,A(p,v),g[0]=d.length(p[0]),d.normalize(p[0],p[0]),P[0]=d.dot(p[0],p[1]),L(p[1],p[1],p[0],1,-P[0]),g[1]=d.length(p[1]),d.normalize(p[1],p[1]),P[0]/=g[1],P[1]=d.dot(p[0],p[2]),L(p[2],p[2],p[0],1,-P[1]),P[2]=d.dot(p[1],p[2]),L(p[2],p[2],p[1],1,-P[2]),g[2]=d.length(p[2]),d.normalize(p[2],p[2]),P[1]/=g[2],P[2]/=g[2],d.cross(E,p[1],p[2]),d.dot(p[0],E)<0)for(var ae=0;ae<3;ae++)g[ae]*=-1,p[ae][0]*=-1,p[ae][1]*=-1,p[ae][2]*=-1;return F[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),F[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),F[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),F[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(F[0]=-F[0]),p[0][2]>p[2][0]&&(F[1]=-F[1]),p[1][0]>p[0][1]&&(F[2]=-F[2]),!0};function k(_,C,M){var g=C[0],P=C[1],T=C[2],F=C[3];return _[0]=M[0]*g+M[4]*P+M[8]*T+M[12]*F,_[1]=M[1]*g+M[5]*P+M[9]*T+M[13]*F,_[2]=M[2]*g+M[6]*P+M[10]*T+M[14]*F,_[3]=M[3]*g+M[7]*P+M[11]*T+M[15]*F,_}function A(_,C){_[0][0]=C[0],_[0][1]=C[1],_[0][2]=C[2],_[1][0]=C[4],_[1][1]=C[5],_[1][2]=C[6],_[2][0]=C[8],_[2][1]=C[9],_[2][2]=C[10]}function L(_,C,M,g,P){_[0]=C[0]*g+M[0]*P,_[1]=C[1]*g+M[1]*P,_[2]=C[2]*g+M[2]*P}},4335:function(i){i.exports=function(o,s){var l=s[15];if(l===0)return!1;for(var u=1/l,c=0;c<16;c++)o[c]=s[c]*u;return!0}},7442:function(i,a,o){var s=o(6658),l=o(7182),u=o(2652),c=o(9921),f=o(8648),h=b(),d=b(),v=b();i.exports=x;function x(k,A,L,_){if(c(A)===0||c(L)===0)return!1;var C=u(A,h.translate,h.scale,h.skew,h.perspective,h.quaternion),M=u(L,d.translate,d.scale,d.skew,d.perspective,d.quaternion);return!C||!M?!1:(s(v.translate,h.translate,d.translate,_),s(v.skew,h.skew,d.skew,_),s(v.scale,h.scale,d.scale,_),s(v.perspective,h.perspective,d.perspective,_),f(v.quaternion,h.quaternion,d.quaternion,_),l(k,v.translate,v.scale,v.skew,v.perspective,v.quaternion),!0)}function b(){return{translate:p(),scale:p(1),skew:p(),perspective:E(),quaternion:E()}}function p(k){return[k||0,k||0,k||0]}function E(){return[0,0,0,1]}},7182:function(i,a,o){var s={identity:o(7894),translate:o(7656),multiply:o(6760),create:o(6864),scale:o(2504),fromRotationTranslation:o(6743)},l=s.create(),u=s.create();i.exports=function(f,h,d,v,x,b){return s.identity(f),s.fromRotationTranslation(f,b,h),f[3]=x[0],f[7]=x[1],f[11]=x[2],f[15]=x[3],s.identity(u),v[2]!==0&&(u[9]=v[2],s.multiply(f,f,u)),v[1]!==0&&(u[9]=0,u[8]=v[1],s.multiply(f,f,u)),v[0]!==0&&(u[8]=0,u[4]=v[0],s.multiply(f,f,u)),s.scale(f,f,d),f}},1811:function(i,a,o){\"use strict\";var s=o(2478),l=o(7442),u=o(7608),c=o(5567),f=o(2408),h=o(7089),d=o(6582),v=o(7656),x=o(2504),b=o(3536),p=[0,0,0];i.exports=L;function E(_){this._components=_.slice(),this._time=[0],this.prevMatrix=_.slice(),this.nextMatrix=_.slice(),this.computedMatrix=_.slice(),this.computedInverse=_.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]}var k=E.prototype;k.recalcMatrix=function(_){var C=this._time,M=s.le(C,_),g=this.computedMatrix;if(!(M<0)){var P=this._components;if(M===C.length-1)for(var T=16*M,F=0;F<16;++F)g[F]=P[T++];else{for(var q=C[M+1]-C[M],T=16*M,V=this.prevMatrix,H=!0,F=0;F<16;++F)V[F]=P[T++];for(var X=this.nextMatrix,F=0;F<16;++F)X[F]=P[T++],H=H&&V[F]===X[F];if(q<1e-6||H)for(var F=0;F<16;++F)g[F]=V[F];else l(g,V,X,(_-C[M])/q)}var G=this.computedUp;G[0]=g[1],G[1]=g[5],G[2]=g[9],b(G,G);var N=this.computedInverse;u(N,g);var W=this.computedEye,re=N[15];W[0]=N[12]/re,W[1]=N[13]/re,W[2]=N[14]/re;for(var ae=this.computedCenter,_e=Math.exp(this.computedRadius[0]),F=0;F<3;++F)ae[F]=W[F]-g[2+4*F]*_e}},k.idle=function(_){if(!(_<this.lastT())){for(var C=this._components,M=C.length-16,g=0;g<16;++g)C.push(C[M++]);this._time.push(_)}},k.flush=function(_){var C=s.gt(this._time,_)-2;C<0||(this._time.splice(0,C),this._components.splice(0,16*C))},k.lastT=function(){return this._time[this._time.length-1]},k.lookAt=function(_,C,M,g){this.recalcMatrix(_),C=C||this.computedEye,M=M||p,g=g||this.computedUp,this.setMatrix(_,d(this.computedMatrix,C,M,g));for(var P=0,T=0;T<3;++T)P+=Math.pow(M[T]-C[T],2);P=Math.log(Math.sqrt(P)),this.computedRadius[0]=P},k.rotate=function(_,C,M,g){this.recalcMatrix(_);var P=this.computedInverse;C&&f(P,P,C),M&&c(P,P,M),g&&h(P,P,g),this.setMatrix(_,u(this.computedMatrix,P))};var A=[0,0,0];k.pan=function(_,C,M,g){A[0]=-(C||0),A[1]=-(M||0),A[2]=-(g||0),this.recalcMatrix(_);var P=this.computedInverse;v(P,P,A),this.setMatrix(_,u(P,P))},k.translate=function(_,C,M,g){A[0]=C||0,A[1]=M||0,A[2]=g||0,this.recalcMatrix(_);var P=this.computedMatrix;v(P,P,A),this.setMatrix(_,P)},k.setMatrix=function(_,C){if(!(_<this.lastT())){this._time.push(_);for(var M=0;M<16;++M)this._components.push(C[M])}},k.setDistance=function(_,C){this.computedRadius[0]=C},k.setDistanceLimits=function(_,C){var M=this._limits;M[0]=_,M[1]=C},k.getDistanceLimits=function(_){var C=this._limits;return _?(_[0]=C[0],_[1]=C[1],_):C};function L(_){_=_||{};var C=_.matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return new E(C)}},3090:function(i,a,o){\"use strict\";i.exports=l;var s=o(3250)[3];function l(u){var c=u.length;if(c<3){for(var E=new Array(c),f=0;f<c;++f)E[f]=f;return c===2&&u[0][0]===u[1][0]&&u[0][1]===u[1][1]?[0]:E}for(var h=new Array(c),f=0;f<c;++f)h[f]=f;h.sort(function(_,C){var M=u[_][0]-u[C][0];return M||u[_][1]-u[C][1]});for(var d=[h[0],h[1]],v=[h[0],h[1]],f=2;f<c;++f){for(var x=h[f],b=u[x],p=d.length;p>1&&s(u[d[p-2]],u[d[p-1]],b)<=0;)p-=1,d.pop();for(d.push(x),p=v.length;p>1&&s(u[v[p-2]],u[v[p-1]],b)>=0;)p-=1,v.pop();v.push(x)}for(var E=new Array(v.length+d.length-2),k=0,f=0,A=d.length;f<A;++f)E[k++]=d[f];for(var L=v.length-2;L>0;--L)E[k++]=v[L];return E}},351:function(i,a,o){\"use strict\";i.exports=l;var s=o(4687);function l(u,c){c||(c=u,u=window);var f=0,h=0,d=0,v={shift:!1,alt:!1,control:!1,meta:!1},x=!1;function b(T){var F=!1;return\"altKey\"in T&&(F=F||T.altKey!==v.alt,v.alt=!!T.altKey),\"shiftKey\"in T&&(F=F||T.shiftKey!==v.shift,v.shift=!!T.shiftKey),\"ctrlKey\"in T&&(F=F||T.ctrlKey!==v.control,v.control=!!T.ctrlKey),\"metaKey\"in T&&(F=F||T.metaKey!==v.meta,v.meta=!!T.metaKey),F}function p(T,F){var q=s.x(F),V=s.y(F);\"buttons\"in F&&(T=F.buttons|0),(T!==f||q!==h||V!==d||b(F))&&(f=T|0,h=q||0,d=V||0,c&&c(f,h,d,v))}function E(T){p(0,T)}function k(){(f||h||d||v.shift||v.alt||v.meta||v.control)&&(h=d=0,f=0,v.shift=v.alt=v.control=v.meta=!1,c&&c(0,0,0,v))}function A(T){b(T)&&c&&c(f,h,d,v)}function L(T){s.buttons(T)===0?p(0,T):p(f,T)}function _(T){p(f|s.buttons(T),T)}function C(T){p(f&~s.buttons(T),T)}function M(){x||(x=!0,u.addEventListener(\"mousemove\",L),u.addEventListener(\"mousedown\",_),u.addEventListener(\"mouseup\",C),u.addEventListener(\"mouseleave\",E),u.addEventListener(\"mouseenter\",E),u.addEventListener(\"mouseout\",E),u.addEventListener(\"mouseover\",E),u.addEventListener(\"blur\",k),u.addEventListener(\"keyup\",A),u.addEventListener(\"keydown\",A),u.addEventListener(\"keypress\",A),u!==window&&(window.addEventListener(\"blur\",k),window.addEventListener(\"keyup\",A),window.addEventListener(\"keydown\",A),window.addEventListener(\"keypress\",A)))}function g(){x&&(x=!1,u.removeEventListener(\"mousemove\",L),u.removeEventListener(\"mousedown\",_),u.removeEventListener(\"mouseup\",C),u.removeEventListener(\"mouseleave\",E),u.removeEventListener(\"mouseenter\",E),u.removeEventListener(\"mouseout\",E),u.removeEventListener(\"mouseover\",E),u.removeEventListener(\"blur\",k),u.removeEventListener(\"keyup\",A),u.removeEventListener(\"keydown\",A),u.removeEventListener(\"keypress\",A),u!==window&&(window.removeEventListener(\"blur\",k),window.removeEventListener(\"keyup\",A),window.removeEventListener(\"keydown\",A),window.removeEventListener(\"keypress\",A)))}M();var P={element:u};return Object.defineProperties(P,{enabled:{get:function(){return x},set:function(T){T?M():g()},enumerable:!0},buttons:{get:function(){return f},enumerable:!0},x:{get:function(){return h},enumerable:!0},y:{get:function(){return d},enumerable:!0},mods:{get:function(){return v},enumerable:!0}}),P}},24:function(i){var a={left:0,top:0};i.exports=o;function o(l,u,c){u=u||l.currentTarget||l.srcElement,Array.isArray(c)||(c=[0,0]);var f=l.clientX||0,h=l.clientY||0,d=s(u);return c[0]=f-d.left,c[1]=h-d.top,c}function s(l){return l===window||l===document||l===document.body?a:l.getBoundingClientRect()}},4687:function(i,a){\"use strict\";function o(c){if(typeof c==\"object\"){if(\"buttons\"in c)return c.buttons;if(\"which\"in c){var f=c.which;if(f===2)return 4;if(f===3)return 2;if(f>0)return 1<<f-1}else if(\"button\"in c){var f=c.button;if(f===1)return 4;if(f===2)return 2;if(f>=0)return 1<<f}}return 0}a.buttons=o;function s(c){return c.target||c.srcElement||window}a.element=s;function l(c){if(typeof c==\"object\"){if(\"offsetX\"in c)return c.offsetX;var f=s(c),h=f.getBoundingClientRect();return c.clientX-h.left}return 0}a.x=l;function u(c){if(typeof c==\"object\"){if(\"offsetY\"in c)return c.offsetY;var f=s(c),h=f.getBoundingClientRect();return c.clientY-h.top}return 0}a.y=u},8512:function(i,a,o){\"use strict\";var s=o(665);i.exports=l;function l(u,c,f){typeof u==\"function\"&&(f=!!c,c=u,u=window);var h=s(\"ex\",u),d=function(v){f&&v.preventDefault();var x=v.deltaX||0,b=v.deltaY||0,p=v.deltaZ||0,E=v.deltaMode,k=1;switch(E){case 1:k=h;break;case 2:k=window.innerHeight;break}if(x*=k,b*=k,p*=k,x||b||p)return c(x,b,p,v)};return u.addEventListener(\"wheel\",d),d}},2640:function(i,a,o){\"use strict\";var s=o(1888);i.exports=c;var l={\"false,0,1\":function(h,d,v,x,b){return function(E,k,A,L){var _=E.shape[0]|0,C=E.shape[1]|0,M=E.data,g=E.offset|0,P=E.stride[0]|0,T=E.stride[1]|0,F=g,q,V=-P|0,H=0,X=-T|0,G=0,N=-P-T|0,W=0,re=P|0,ae=T-P*_|0,_e=0,Me=0,ke=0,ge=2*_|0,ie=x(ge),Te=x(ge),Ee=0,Ae=0,ze=-1,Ce=-1,me=0,Re=-_|0,ce=_|0,Ge=0,nt=-_-1|0,ct=_-1|0,qt=0,rt=0,ot=0;for(_e=0;_e<_;++_e)ie[Ee++]=v(M[F],k,A,L),F+=re;if(F+=ae,C>0){if(Me=1,ie[Ee++]=v(M[F],k,A,L),F+=re,_>0)for(_e=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++),Ee+=1,F+=re,_e=2;_e<_;++_e)q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++,qt!==me&&d(Te[Ee+ze],rt,W,H,qt,me,k,A,L)),Ee+=1,F+=re;for(F+=ae,Ee=0,ot=ze,ze=Ce,Ce=ot,ot=Re,Re=ce,ce=ot,ot=nt,nt=ct,ct=ot,Me=2;Me<C;++Me){if(ie[Ee++]=v(M[F],k,A,L),F+=re,_>0)for(_e=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++,qt!==Ge&&d(Te[Ee+Re],rt,G,W,Ge,qt,k,A,L)),Ee+=1,F+=re,_e=2;_e<_;++_e)q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++,qt!==Ge&&d(Te[Ee+Re],rt,G,W,Ge,qt,k,A,L),qt!==me&&d(Te[Ee+ze],rt,W,H,qt,me,k,A,L)),Ee+=1,F+=re;Me&1&&(Ee=0),ot=ze,ze=Ce,Ce=ot,ot=Re,Re=ce,ce=ot,ot=nt,nt=ct,ct=ot,F+=ae}}b(Te),b(ie)}},\"false,1,0\":function(h,d,v,x,b){return function(E,k,A,L){var _=E.shape[0]|0,C=E.shape[1]|0,M=E.data,g=E.offset|0,P=E.stride[0]|0,T=E.stride[1]|0,F=g,q,V=-P|0,H=0,X=-T|0,G=0,N=-P-T|0,W=0,re=T|0,ae=P-T*C|0,_e=0,Me=0,ke=0,ge=2*C|0,ie=x(ge),Te=x(ge),Ee=0,Ae=0,ze=-1,Ce=-1,me=0,Re=-C|0,ce=C|0,Ge=0,nt=-C-1|0,ct=C-1|0,qt=0,rt=0,ot=0;for(Me=0;Me<C;++Me)ie[Ee++]=v(M[F],k,A,L),F+=re;if(F+=ae,_>0){if(_e=1,ie[Ee++]=v(M[F],k,A,L),F+=re,C>0)for(Me=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++),Ee+=1,F+=re,Me=2;Me<C;++Me)q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++,qt!==me&&d(Te[Ee+ze],rt,G,W,me,qt,k,A,L)),Ee+=1,F+=re;for(F+=ae,Ee=0,ot=Re,Re=ce,ce=ot,ot=ze,ze=Ce,Ce=ot,ot=nt,nt=ct,ct=ot,_e=2;_e<_;++_e){if(ie[Ee++]=v(M[F],k,A,L),F+=re,C>0)for(Me=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++,qt!==Ge&&d(Te[Ee+Re],rt,W,H,qt,Ge,k,A,L)),Ee+=1,F+=re,Me=2;Me<C;++Me)q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++,qt!==me&&d(Te[Ee+ze],rt,G,W,me,qt,k,A,L),qt!==Ge&&d(Te[Ee+Re],rt,W,H,qt,Ge,k,A,L)),Ee+=1,F+=re;_e&1&&(Ee=0),ot=Re,Re=ce,ce=ot,ot=ze,ze=Ce,Ce=ot,ot=nt,nt=ct,ct=ot,F+=ae}}b(Te),b(ie)}}};function u(f,h,d,v,x,b){var p=[b,x].join(\",\"),E=l[p];return E(f,h,d,s.mallocUint32,s.freeUint32)}function c(f){function h(k){throw new Error(\"ndarray-extract-contour: \"+k)}typeof f!=\"object\"&&h(\"Must specify arguments\");var d=f.order;Array.isArray(d)||h(\"Must specify order\");var v=f.arrayArguments||1;v<1&&h(\"Must have at least one array argument\");var x=f.scalarArguments||0;x<0&&h(\"Scalar arg count must be > 0\"),typeof f.vertex!=\"function\"&&h(\"Must specify vertex creation function\"),typeof f.cell!=\"function\"&&h(\"Must specify cell creation function\"),typeof f.phase!=\"function\"&&h(\"Must specify phase function\");for(var b=f.getters||[],p=new Array(v),E=0;E<v;++E)b.indexOf(E)>=0?p[E]=!0:p[E]=!1;return u(f.vertex,f.cell,f.phase,x,d,p)}},6199:function(i,a,o){\"use strict\";var s=o(1338),l={zero:function(L,_,C,M){var g=L[0],P=C[0];M|=0;var T=0,F=P;for(T=0;T<g;++T)_[M]=0,M+=F},fdTemplate1:function(L,_,C,M,g,P,T){var F=L[0],q=C[0],V=P[0],H=-1*q,X=q;M|=0,T|=0;var G=0,N=q,W=V;for(G=0;G<F;++G)g[T]=.5*(_[M+H]-_[M+X]),M+=N,T+=W},fdTemplate2:function(L,_,C,M,g,P,T,F,q,V){var H=L[0],X=L[1],G=C[0],N=C[1],W=P[0],re=P[1],ae=q[0],_e=q[1],Me=-1*G,ke=G,ge=-1*N,ie=N;M|=0,T|=0,V|=0;var Te=0,Ee=0,Ae=N,ze=G-X*N,Ce=re,me=W-X*re,Re=_e,ce=ae-X*_e;for(Ee=0;Ee<H;++Ee){for(Te=0;Te<X;++Te)g[T]=.5*(_[M+Me]-_[M+ke]),F[V]=.5*(_[M+ge]-_[M+ie]),M+=Ae,T+=Ce,V+=Re;M+=ze,T+=me,V+=ce}}},u={cdiff:function(L){var _={};return function(M,g,P){var T=M.dtype,F=M.order,q=g.dtype,V=g.order,H=P.dtype,X=P.order,G=[T,F.join(),q,V.join(),H,X.join()].join(),N=_[G];return N||(_[G]=N=L([T,F,q,V,H,X])),N(M.shape.slice(0),M.data,M.stride,M.offset|0,g.data,g.stride,g.offset|0,P.data,P.stride,P.offset|0)}},zero:function(L){var _={};return function(M){var g=M.dtype,P=M.order,T=[g,P.join()].join(),F=_[T];return F||(_[T]=F=L([g,P])),F(M.shape.slice(0),M.data,M.stride,M.offset|0)}},fdTemplate1:function(L){var _={};return function(M,g){var P=M.dtype,T=M.order,F=g.dtype,q=g.order,V=[P,T.join(),F,q.join()].join(),H=_[V];return H||(_[V]=H=L([P,T,F,q])),H(M.shape.slice(0),M.data,M.stride,M.offset|0,g.data,g.stride,g.offset|0)}},fdTemplate2:function(L){var _={};return function(M,g,P){var T=M.dtype,F=M.order,q=g.dtype,V=g.order,H=P.dtype,X=P.order,G=[T,F.join(),q,V.join(),H,X.join()].join(),N=_[G];return N||(_[G]=N=L([T,F,q,V,H,X])),N(M.shape.slice(0),M.data,M.stride,M.offset|0,g.data,g.stride,g.offset|0,P.data,P.stride,P.offset|0)}}};function c(L){var _=u[L.funcName];return _(f.bind(void 0,L))}function f(L){return l[L.funcName]}function h(L){return c({funcName:L.funcName})}var d={},v={},x={body:\"\",args:[],thisVars:[],localVars:[]},b=h({funcName:\"cdiff\"}),p=h({funcName:\"zero\"});function E(L){return L in d?d[L]:d[L]=h({funcName:\"fdTemplate\"+L})}function k(L,_,C,M){return function(g,P){var T=P.shape.slice();return T[0]>2&&T[1]>2&&M(P.pick(-1,-1).lo(1,1).hi(T[0]-2,T[1]-2),g.pick(-1,-1,0).lo(1,1).hi(T[0]-2,T[1]-2),g.pick(-1,-1,1).lo(1,1).hi(T[0]-2,T[1]-2)),T[1]>2&&(C(P.pick(0,-1).lo(1).hi(T[1]-2),g.pick(0,-1,1).lo(1).hi(T[1]-2)),_(g.pick(0,-1,0).lo(1).hi(T[1]-2))),T[1]>2&&(C(P.pick(T[0]-1,-1).lo(1).hi(T[1]-2),g.pick(T[0]-1,-1,1).lo(1).hi(T[1]-2)),_(g.pick(T[0]-1,-1,0).lo(1).hi(T[1]-2))),T[0]>2&&(C(P.pick(-1,0).lo(1).hi(T[0]-2),g.pick(-1,0,0).lo(1).hi(T[0]-2)),_(g.pick(-1,0,1).lo(1).hi(T[0]-2))),T[0]>2&&(C(P.pick(-1,T[1]-1).lo(1).hi(T[0]-2),g.pick(-1,T[1]-1,0).lo(1).hi(T[0]-2)),_(g.pick(-1,T[1]-1,1).lo(1).hi(T[0]-2))),g.set(0,0,0,0),g.set(0,0,1,0),g.set(T[0]-1,0,0,0),g.set(T[0]-1,0,1,0),g.set(0,T[1]-1,0,0),g.set(0,T[1]-1,1,0),g.set(T[0]-1,T[1]-1,0,0),g.set(T[0]-1,T[1]-1,1,0),g}}function A(L){var _=L.join(),T=v[_];if(T)return T;for(var C=L.length,M=[b,p],g=1;g<=C;++g)M.push(E(g));var P=k,T=P.apply(void 0,M);return v[_]=T,T}i.exports=function(_,C,M){if(Array.isArray(M)||(typeof M==\"string\"?M=s(C.dimension,M):M=s(C.dimension,\"clamp\")),C.size===0)return _;if(C.dimension===0)return _.set(0),_;var g=A(M);return g(_,C)}},4317:function(i){\"use strict\";function a(c,f){var h=Math.floor(f),d=f-h,v=0<=h&&h<c.shape[0],x=0<=h+1&&h+1<c.shape[0],b=v?+c.get(h):0,p=x?+c.get(h+1):0;return(1-d)*b+d*p}function o(c,f,h){var d=Math.floor(f),v=f-d,x=0<=d&&d<c.shape[0],b=0<=d+1&&d+1<c.shape[0],p=Math.floor(h),E=h-p,k=0<=p&&p<c.shape[1],A=0<=p+1&&p+1<c.shape[1],L=x&&k?c.get(d,p):0,_=x&&A?c.get(d,p+1):0,C=b&&k?c.get(d+1,p):0,M=b&&A?c.get(d+1,p+1):0;return(1-E)*((1-v)*L+v*C)+E*((1-v)*_+v*M)}function s(c,f,h,d){var v=Math.floor(f),x=f-v,b=0<=v&&v<c.shape[0],p=0<=v+1&&v+1<c.shape[0],E=Math.floor(h),k=h-E,A=0<=E&&E<c.shape[1],L=0<=E+1&&E+1<c.shape[1],_=Math.floor(d),C=d-_,M=0<=_&&_<c.shape[2],g=0<=_+1&&_+1<c.shape[2],P=b&&A&&M?c.get(v,E,_):0,T=b&&L&&M?c.get(v,E+1,_):0,F=p&&A&&M?c.get(v+1,E,_):0,q=p&&L&&M?c.get(v+1,E+1,_):0,V=b&&A&&g?c.get(v,E,_+1):0,H=b&&L&&g?c.get(v,E+1,_+1):0,X=p&&A&&g?c.get(v+1,E,_+1):0,G=p&&L&&g?c.get(v+1,E+1,_+1):0;return(1-C)*((1-k)*((1-x)*P+x*F)+k*((1-x)*T+x*q))+C*((1-k)*((1-x)*V+x*X)+k*((1-x)*H+x*G))}function l(c){var f=c.shape.length|0,h=new Array(f),d=new Array(f),v=new Array(f),x=new Array(f),b,p;for(b=0;b<f;++b)p=+arguments[b+1],h[b]=Math.floor(p),d[b]=p-h[b],v[b]=0<=h[b]&&h[b]<c.shape[b],x[b]=0<=h[b]+1&&h[b]+1<c.shape[b];var E=0,k,A,L;e:for(b=0;b<1<<f;++b){for(A=1,L=c.offset,k=0;k<f;++k)if(b&1<<k){if(!x[k])continue e;A*=d[k],L+=c.stride[k]*(h[k]+1)}else{if(!v[k])continue e;A*=1-d[k],L+=c.stride[k]*h[k]}E+=A*c.data[L]}return E}function u(c,f,h,d){switch(c.shape.length){case 0:return 0;case 1:return a(c,f);case 2:return o(c,f,h);case 3:return s(c,f,h,d);default:return l.apply(void 0,arguments)}}i.exports=u,i.exports.d1=a,i.exports.d2=o,i.exports.d3=s},5298:function(i,a){\"use strict\";var o={\"float64,2,1,0\":function(){return function(v,x,b,p,E){var k=v[0],A=v[1],L=v[2],_=b[0],C=b[1],M=b[2];p|=0;var g=0,P=0,T=0,F=M,q=C-L*M,V=_-A*C;for(T=0;T<k;++T){for(P=0;P<A;++P){for(g=0;g<L;++g)x[p]/=E,p+=F;p+=q}p+=V}}},\"uint8,2,0,1,float64,2,1,0\":function(){return function(v,x,b,p,E,k,A,L){var _=v[0],C=v[1],M=v[2],g=b[0],P=b[1],T=b[2],F=k[0],q=k[1],V=k[2];p|=0,A|=0;for(var H=p,X=A,G=v[0]|0;G>0;){G<64?(_=G,G=0):(_=64,G-=64);for(var N=v[1]|0;N>0;){N<64?(C=N,N=0):(C=64,N-=64),p=H+G*g+N*P,A=X+G*F+N*q;var W=0,re=0,ae=0,_e=T,Me=g-M*T,ke=P-_*g,ge=V,ie=F-M*V,Te=q-_*F;for(ae=0;ae<C;++ae){for(re=0;re<_;++re){for(W=0;W<M;++W)x[p]=E[A]*L,p+=_e,A+=ge;p+=Me,A+=ie}p+=ke,A+=Te}}}}},\"float32,1,0,float32,1,0\":function(){return function(v,x,b,p,E,k,A){var L=v[0],_=v[1],C=b[0],M=b[1],g=k[0],P=k[1];p|=0,A|=0;var T=0,F=0,q=M,V=C-_*M,H=P,X=g-_*P;for(F=0;F<L;++F){for(T=0;T<_;++T)x[p]=E[A],p+=q,A+=H;p+=V,A+=X}}},\"float32,1,0,float32,0,1\":function(){return function(v,x,b,p,E,k,A){var L=v[0],_=v[1],C=b[0],M=b[1],g=k[0],P=k[1];p|=0,A|=0;for(var T=p,F=A,q=v[1]|0;q>0;){q<64?(_=q,q=0):(_=64,q-=64);for(var V=v[0]|0;V>0;){V<64?(L=V,V=0):(L=64,V-=64),p=T+q*M+V*C,A=F+q*P+V*g;var H=0,X=0,G=M,N=C-_*M,W=P,re=g-_*P;for(X=0;X<L;++X){for(H=0;H<_;++H)x[p]=E[A],p+=G,A+=W;p+=N,A+=re}}}}},\"uint8,2,0,1,uint8,1,2,0\":function(){return function(v,x,b,p,E,k,A){var L=v[0],_=v[1],C=v[2],M=b[0],g=b[1],P=b[2],T=k[0],F=k[1],q=k[2];p|=0,A|=0;for(var V=p,H=A,X=v[2]|0;X>0;){X<64?(C=X,X=0):(C=64,X-=64);for(var G=v[0]|0;G>0;){G<64?(L=G,G=0):(L=64,G-=64);for(var N=v[1]|0;N>0;){N<64?(_=N,N=0):(_=64,N-=64),p=V+X*P+G*M+N*g,A=H+X*q+G*T+N*F;var W=0,re=0,ae=0,_e=P,Me=M-C*P,ke=g-L*M,ge=q,ie=T-C*q,Te=F-L*T;for(ae=0;ae<_;++ae){for(re=0;re<L;++re){for(W=0;W<C;++W)x[p]=E[A],p+=_e,A+=ge;p+=Me,A+=ie}p+=ke,A+=Te}}}}}},\"uint8,2,0,1,array,2,0,1\":function(){return function(v,x,b,p,E,k,A){var L=v[0],_=v[1],C=v[2],M=b[0],g=b[1],P=b[2],T=k[0],F=k[1],q=k[2];p|=0,A|=0;var V=0,H=0,X=0,G=P,N=M-C*P,W=g-L*M,re=q,ae=T-C*q,_e=F-L*T;for(X=0;X<_;++X){for(H=0;H<L;++H){for(V=0;V<C;++V)x[p]=E[A],p+=G,A+=re;p+=N,A+=ae}p+=W,A+=_e}}}};function s(d,v){var x=v.join(\",\"),b=o[x];return b()}var l=s,u={mul:function(d){var v={};return function(b,p,E){var k=b.dtype,A=b.order,L=p.dtype,_=p.order,C=E.dtype,M=E.order,g=[k,A.join(),L,_.join(),C,M.join()].join(),P=v[g];return P||(v[g]=P=d([k,A,L,_,C,M])),P(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0,E.data,E.stride,E.offset|0)}},muls:function(d){var v={};return function(b,p,E){var k=b.dtype,A=b.order,L=p.dtype,_=p.order,C=[k,A.join(),L,_.join()].join(),M=v[C];return M||(v[C]=M=d([k,A,L,_])),M(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0,E)}},mulseq:function(d){var v={};return function(b,p){var E=b.dtype,k=b.order,A=[E,k.join()].join(),L=v[A];return L||(v[A]=L=d([E,k])),L(b.shape.slice(0),b.data,b.stride,b.offset|0,p)}},div:function(d){var v={};return function(b,p,E){var k=b.dtype,A=b.order,L=p.dtype,_=p.order,C=E.dtype,M=E.order,g=[k,A.join(),L,_.join(),C,M.join()].join(),P=v[g];return P||(v[g]=P=d([k,A,L,_,C,M])),P(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0,E.data,E.stride,E.offset|0)}},divs:function(d){var v={};return function(b,p,E){var k=b.dtype,A=b.order,L=p.dtype,_=p.order,C=[k,A.join(),L,_.join()].join(),M=v[C];return M||(v[C]=M=d([k,A,L,_])),M(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0,E)}},divseq:function(d){var v={};return function(b,p){var E=b.dtype,k=b.order,A=[E,k.join()].join(),L=v[A];return L||(v[A]=L=d([E,k])),L(b.shape.slice(0),b.data,b.stride,b.offset|0,p)}},assign:function(d){var v={};return function(b,p){var E=b.dtype,k=b.order,A=p.dtype,L=p.order,_=[E,k.join(),A,L.join()].join(),C=v[_];return C||(v[_]=C=d([E,k,A,L])),C(b.shape.slice(0),b.data,b.stride,b.offset|0,p.data,p.stride,p.offset|0)}}};function c(d){var v=u[d.funcName];return v(l.bind(void 0,d))}function f(d){return c({funcName:d.funcName})}var h={mul:\"*\",div:\"/\"};(function(){for(var d in h)a[d]=f({funcName:d}),a[d+\"s\"]=f({funcName:d+\"s\"}),a[d+\"seq\"]=f({funcName:d+\"seq\"})})(),a.assign=f({funcName:\"assign\"})},9994:function(i,a,o){\"use strict\";var s=o(9618),l=o(8277);i.exports=function(c,f){for(var h=[],d=c,v=1;Array.isArray(d);)h.push(d.length),v*=d.length,d=d[0];return h.length===0?s():(f||(f=s(new Float64Array(v),h)),l(f,c),f)}},8277:function(i){\"use strict\";function a(){return function(f,h,d,v,x){var b=f[0],p=f[1],E=f[2],k=d[0],A=d[1],L=d[2],_=[0,0,0];v|=0;var C=0,M=0,g=0,P=L,T=A-E*L,F=k-p*A;for(g=0;g<b;++g){for(M=0;M<p;++M){for(C=0;C<E;++C){{var q=x,V;for(V=0;V<_.length-1;++V)q=q[_[V]];h[v]=q[_[_.length-1]]}v+=P,++_[2]}v+=T,_[2]-=E,++_[1]}v+=F,_[1]-=p,++_[0]}}}function o(){return a()}var s=o;function l(f){var h={};return function(v,x){var b=v.dtype,p=v.order,E=[b,p.join()].join(),k=h[E];return k||(h[E]=k=f([b,p])),k(v.shape.slice(0),v.data,v.stride,v.offset|0,x)}}function u(f){return l(s.bind(void 0,f))}function c(f){return u({funcName:f.funcName})}i.exports=c({funcName:\"convert\"})},7640:function(i,a,o){\"use strict\";var s=o(1888);function l(x){switch(x){case\"uint32\":return[s.mallocUint32,s.freeUint32];default:return null}}var u={\"uint32,1,0\":function(x,b){return function(E,k,A,L,_,C,M,g,P,T,F){var q,V,H,X=E*_+L,G,N=x(g),W,re,ae,_e;for(q=E+1;q<=k;++q){for(V=q,X+=_,H=X,W=0,re=X,G=0;G<g;++G)N[W++]=A[re],re+=P;e:for(;V-- >E;){W=0,re=H-_;t:for(G=0;G<g;++G){if(ae=A[re],_e=N[W],ae<_e)break e;if(ae>_e)break t;re+=T,W+=F}for(W=H,re=H-_,G=0;G<g;++G)A[W]=A[re],W+=P,re+=P;H-=_}for(W=H,re=0,G=0;G<g;++G)A[W]=N[re++],W+=P}b(N)}}};function c(x,b){var p=l(b),E=[b,x].join(\",\"),k=u[E];return p?k(p[0],p[1]):k()}var f={\"uint32,1,0\":function(x,b,p){return function E(k,A,L,_,C,M,g,P,T,F,q){var V=(A-k+1)/6|0,H=k+V,X=A-V,G=k+A>>1,N=G-V,W=G+V,re=H,ae=N,_e=G,Me=W,ke=X,ge=k+1,ie=A-1,Te=!0,Ee,Ae,ze,Ce,me,Re,ce,Ge,nt,ct=0,qt=0,rt=0,ot,Rt,kt,Ct,Yt,xr,er,Ke,xt,bt,Lt,St,Et,dt,Ht,$t,fr=P,_r=b(fr),Br=b(fr);Rt=C*re,kt=C*ae,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=re,re=ae,ae=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*Me,kt=C*ke,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=Me,Me=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*re,kt=C*_e,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=re,re=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*ae,kt=C*_e,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=ae,ae=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*re,kt=C*Me,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=re,re=Me,Me=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*_e,kt=C*Me,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=_e,_e=Me,Me=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*ae,kt=C*ke,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=ae,ae=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*ae,kt=C*_e,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=ae,ae=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*Me,kt=C*ke,$t=_;e:for(ot=0;ot<P;++ot){if(ce=Rt+$t,Ge=kt+$t,rt=L[ce]-L[Ge],rt>0){Ae=Me,Me=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}for(Rt=C*re,kt=C*ae,Ct=C*_e,Yt=C*Me,xr=C*ke,er=C*H,Ke=C*G,xt=C*X,Ht=0,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,nt=Ct+$t,bt=Yt+$t,Lt=xr+$t,St=er+$t,Et=Ke+$t,dt=xt+$t,_r[Ht]=L[Ge],Br[Ht]=L[bt],Te=Te&&_r[Ht]===Br[Ht],ze=L[ce],Ce=L[nt],me=L[Lt],L[St]=ze,L[Et]=Ce,L[dt]=me,++Ht,$t+=T;for(Rt=C*N,kt=C*k,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,L[ce]=L[Ge],$t+=T;for(Rt=C*W,kt=C*A,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,L[ce]=L[Ge],$t+=T;if(Te)for(Re=ge;Re<=ie;++Re){ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-_r[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt!==0)if(rt<0){if(Re!==ge)for(Rt=C*Re,kt=C*ge,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;++ge}else for(;;){ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-_r[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt>0)ie--;else if(rt<0){for(Rt=C*Re,kt=C*ge,Ct=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,nt=Ct+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=L[nt],L[nt]=Ee,$t+=T;++ge,--ie;break}else{for(Rt=C*Re,kt=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;--ie;break}}}else for(Re=ge;Re<=ie;++Re){ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(ct=L[ce]-_r[Ht],ct!==0)break e;Ht+=q,ce+=F}if(ct<0){if(Re!==ge)for(Rt=C*Re,kt=C*ge,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;++ge}else{ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(qt=L[ce]-Br[Ht],qt!==0)break e;Ht+=q,ce+=F}if(qt>0)for(;;){ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-Br[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt>0){if(--ie<Re)break;continue}else{ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-_r[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt<0){for(Rt=C*Re,kt=C*ge,Ct=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,nt=Ct+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=L[nt],L[nt]=Ee,$t+=T;++ge,--ie}else{for(Rt=C*Re,kt=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;--ie}break}}}}for(Rt=C*k,kt=C*(ge-1),Ht=0,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,L[ce]=L[Ge],L[Ge]=_r[Ht],++Ht,$t+=T;for(Rt=C*A,kt=C*(ie+1),Ht=0,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,L[ce]=L[Ge],L[Ge]=Br[Ht],++Ht,$t+=T;if(ge-2-k<=32?x(k,ge-2,L,_,C,M,g,P,T,F,q):E(k,ge-2,L,_,C,M,g,P,T,F,q),A-(ie+2)<=32?x(ie+2,A,L,_,C,M,g,P,T,F,q):E(ie+2,A,L,_,C,M,g,P,T,F,q),Te){p(_r),p(Br);return}if(ge<H&&ie>X){e:for(;;){for(ce=_+ge*C,Ht=0,$t=_,ot=0;ot<P;++ot){if(L[ce]!==_r[Ht])break e;++Ht,ce+=T}++ge}e:for(;;){for(ce=_+ie*C,Ht=0,$t=_,ot=0;ot<P;++ot){if(L[ce]!==Br[Ht])break e;++Ht,ce+=T}--ie}for(Re=ge;Re<=ie;++Re){ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(ct=L[ce]-_r[Ht],ct!==0)break e;Ht+=q,ce+=F}if(ct===0){if(Re!==ge)for(Rt=C*Re,kt=C*ge,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;++ge}else{ce=_+Re*C,Ht=0;e:for(ot=0;ot<P;++ot){if(qt=L[ce]-Br[Ht],qt!==0)break e;Ht+=q,ce+=F}if(qt===0)for(;;){ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-Br[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt===0){if(--ie<Re)break;continue}else{ce=_+ie*C,Ht=0;e:for(ot=0;ot<P;++ot){if(rt=L[ce]-_r[Ht],rt!==0)break e;Ht+=q,ce+=F}if(rt<0){for(Rt=C*Re,kt=C*ge,Ct=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,nt=Ct+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=L[nt],L[nt]=Ee,$t+=T;++ge,--ie}else{for(Rt=C*Re,kt=C*ie,$t=_,ot=0;ot<P;++ot)ce=Rt+$t,Ge=kt+$t,Ee=L[ce],L[ce]=L[Ge],L[Ge]=Ee,$t+=T;--ie}break}}}}}p(_r),p(Br),ie-ge<=32?x(ge,ie,L,_,C,M,g,P,T,F,q):E(ge,ie,L,_,C,M,g,P,T,F,q)}}};function h(x,b,p){var E=l(b),k=[b,x].join(\",\"),A=f[k];return x.length>1&&E?A(p,E[0],E[1]):A(p)}var d={\"uint32,1,0\":function(x,b){return function(p){var E=p.data,k=p.offset|0,A=p.shape,L=p.stride,_=L[0]|0,C=A[0]|0,M=L[1]|0,g=A[1]|0,P=M,T=M,F=1;C<=32?x(0,C-1,E,k,_,M,C,g,P,T,F):b(0,C-1,E,k,_,M,C,g,P,T,F)}}};function v(x,b){var p=[b,x].join(\",\"),E=d[p],k=c(x,b),A=h(x,b,k);return E(k,A)}i.exports=v},446:function(i,a,o){\"use strict\";var s=o(7640),l={};function u(c){var f=c.order,h=c.dtype,d=[f,h],v=d.join(\":\"),x=l[v];return x||(l[v]=x=s(f,h)),x(c),c}i.exports=u},9618:function(i,a,o){var s=o(7163),l=typeof Float64Array!=\"undefined\";function u(b,p){return b[0]-p[0]}function c(){var b=this.stride,p=new Array(b.length),E;for(E=0;E<p.length;++E)p[E]=[Math.abs(b[E]),E];p.sort(u);var k=new Array(p.length);for(E=0;E<k.length;++E)k[E]=p[E][1];return k}var f={T:function(b){function p(k){this.data=k}var E=p.prototype;return E.dtype=b,E.index=function(){return-1},E.size=0,E.dimension=-1,E.shape=E.stride=E.order=[],E.lo=E.hi=E.transpose=E.step=function(){return new p(this.data)},E.get=E.set=function(){},E.pick=function(){return null},function(A){return new p(A)}},0:function(b,p){function E(A,L){this.data=A,this.offset=L}var k=E.prototype;return k.dtype=b,k.index=function(){return this.offset},k.dimension=0,k.size=1,k.shape=k.stride=k.order=[],k.lo=k.hi=k.transpose=k.step=function(){return new E(this.data,this.offset)},k.pick=function(){return p(this.data)},k.valueOf=k.get=function(){return b===\"generic\"?this.data.get(this.offset):this.data[this.offset]},k.set=function(L){return b===\"generic\"?this.data.set(this.offset,L):this.data[this.offset]=L},function(L,_,C,M){return new E(L,M)}},1:function(b,p,E){function k(L,_,C,M){this.data=L,this.shape=[_],this.stride=[C],this.offset=M|0}var A=k.prototype;return A.dtype=b,A.dimension=1,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]}}),A.order=[0],A.set=function(_,C){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*_,C):this.data[this.offset+this.stride[0]*_]=C},A.get=function(_){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*_):this.data[this.offset+this.stride[0]*_]},A.index=function(_){return this.offset+this.stride[0]*_},A.hi=function(_){return new k(this.data,typeof _!=\"number\"||_<0?this.shape[0]:_|0,this.stride[0],this.offset)},A.lo=function(_){var C=this.offset,M=0,g=this.shape[0],P=this.stride[0];return typeof _==\"number\"&&_>=0&&(M=_|0,C+=P*M,g-=M),new k(this.data,g,P,C)},A.step=function(_){var C=this.shape[0],M=this.stride[0],g=this.offset,P=0,T=Math.ceil;return typeof _==\"number\"&&(P=_|0,P<0?(g+=M*(C-1),C=T(-C/P)):C=T(C/P),M*=P),new k(this.data,C,M,g)},A.transpose=function(_){_=_===void 0?0:_|0;var C=this.shape,M=this.stride;return new k(this.data,C[_],M[_],this.offset)},A.pick=function(_){var C=[],M=[],g=this.offset;typeof _==\"number\"&&_>=0?g=g+this.stride[0]*_|0:(C.push(this.shape[0]),M.push(this.stride[0]));var P=p[C.length+1];return P(this.data,C,M,g)},function(_,C,M,g){return new k(_,C[0],M[0],g)}},2:function(b,p,E){function k(L,_,C,M,g,P){this.data=L,this.shape=[_,C],this.stride=[M,g],this.offset=P|0}var A=k.prototype;return A.dtype=b,A.dimension=2,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(A,\"order\",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),A.set=function(_,C,M){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*_+this.stride[1]*C,M):this.data[this.offset+this.stride[0]*_+this.stride[1]*C]=M},A.get=function(_,C){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*_+this.stride[1]*C):this.data[this.offset+this.stride[0]*_+this.stride[1]*C]},A.index=function(_,C){return this.offset+this.stride[0]*_+this.stride[1]*C},A.hi=function(_,C){return new k(this.data,typeof _!=\"number\"||_<0?this.shape[0]:_|0,typeof C!=\"number\"||C<0?this.shape[1]:C|0,this.stride[0],this.stride[1],this.offset)},A.lo=function(_,C){var M=this.offset,g=0,P=this.shape[0],T=this.shape[1],F=this.stride[0],q=this.stride[1];return typeof _==\"number\"&&_>=0&&(g=_|0,M+=F*g,P-=g),typeof C==\"number\"&&C>=0&&(g=C|0,M+=q*g,T-=g),new k(this.data,P,T,F,q,M)},A.step=function(_,C){var M=this.shape[0],g=this.shape[1],P=this.stride[0],T=this.stride[1],F=this.offset,q=0,V=Math.ceil;return typeof _==\"number\"&&(q=_|0,q<0?(F+=P*(M-1),M=V(-M/q)):M=V(M/q),P*=q),typeof C==\"number\"&&(q=C|0,q<0?(F+=T*(g-1),g=V(-g/q)):g=V(g/q),T*=q),new k(this.data,M,g,P,T,F)},A.transpose=function(_,C){_=_===void 0?0:_|0,C=C===void 0?1:C|0;var M=this.shape,g=this.stride;return new k(this.data,M[_],M[C],g[_],g[C],this.offset)},A.pick=function(_,C){var M=[],g=[],P=this.offset;typeof _==\"number\"&&_>=0?P=P+this.stride[0]*_|0:(M.push(this.shape[0]),g.push(this.stride[0])),typeof C==\"number\"&&C>=0?P=P+this.stride[1]*C|0:(M.push(this.shape[1]),g.push(this.stride[1]));var T=p[M.length+1];return T(this.data,M,g,P)},function(_,C,M,g){return new k(_,C[0],C[1],M[0],M[1],g)}},3:function(b,p,E){function k(L,_,C,M,g,P,T,F){this.data=L,this.shape=[_,C,M],this.stride=[g,P,T],this.offset=F|0}var A=k.prototype;return A.dtype=b,A.dimension=3,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(A,\"order\",{get:function(){var _=Math.abs(this.stride[0]),C=Math.abs(this.stride[1]),M=Math.abs(this.stride[2]);return _>C?C>M?[2,1,0]:_>M?[1,2,0]:[1,0,2]:_>M?[2,0,1]:M>C?[0,1,2]:[0,2,1]}}),A.set=function(_,C,M,g){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M,g):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M]=g},A.get=function(_,C,M){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M]},A.index=function(_,C,M){return this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M},A.hi=function(_,C,M){return new k(this.data,typeof _!=\"number\"||_<0?this.shape[0]:_|0,typeof C!=\"number\"||C<0?this.shape[1]:C|0,typeof M!=\"number\"||M<0?this.shape[2]:M|0,this.stride[0],this.stride[1],this.stride[2],this.offset)},A.lo=function(_,C,M){var g=this.offset,P=0,T=this.shape[0],F=this.shape[1],q=this.shape[2],V=this.stride[0],H=this.stride[1],X=this.stride[2];return typeof _==\"number\"&&_>=0&&(P=_|0,g+=V*P,T-=P),typeof C==\"number\"&&C>=0&&(P=C|0,g+=H*P,F-=P),typeof M==\"number\"&&M>=0&&(P=M|0,g+=X*P,q-=P),new k(this.data,T,F,q,V,H,X,g)},A.step=function(_,C,M){var g=this.shape[0],P=this.shape[1],T=this.shape[2],F=this.stride[0],q=this.stride[1],V=this.stride[2],H=this.offset,X=0,G=Math.ceil;return typeof _==\"number\"&&(X=_|0,X<0?(H+=F*(g-1),g=G(-g/X)):g=G(g/X),F*=X),typeof C==\"number\"&&(X=C|0,X<0?(H+=q*(P-1),P=G(-P/X)):P=G(P/X),q*=X),typeof M==\"number\"&&(X=M|0,X<0?(H+=V*(T-1),T=G(-T/X)):T=G(T/X),V*=X),new k(this.data,g,P,T,F,q,V,H)},A.transpose=function(_,C,M){_=_===void 0?0:_|0,C=C===void 0?1:C|0,M=M===void 0?2:M|0;var g=this.shape,P=this.stride;return new k(this.data,g[_],g[C],g[M],P[_],P[C],P[M],this.offset)},A.pick=function(_,C,M){var g=[],P=[],T=this.offset;typeof _==\"number\"&&_>=0?T=T+this.stride[0]*_|0:(g.push(this.shape[0]),P.push(this.stride[0])),typeof C==\"number\"&&C>=0?T=T+this.stride[1]*C|0:(g.push(this.shape[1]),P.push(this.stride[1])),typeof M==\"number\"&&M>=0?T=T+this.stride[2]*M|0:(g.push(this.shape[2]),P.push(this.stride[2]));var F=p[g.length+1];return F(this.data,g,P,T)},function(_,C,M,g){return new k(_,C[0],C[1],C[2],M[0],M[1],M[2],g)}},4:function(b,p,E){function k(L,_,C,M,g,P,T,F,q,V){this.data=L,this.shape=[_,C,M,g],this.stride=[P,T,F,q],this.offset=V|0}var A=k.prototype;return A.dtype=b,A.dimension=4,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(A,\"order\",{get:E}),A.set=function(_,C,M,g,P){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g,P):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g]=P},A.get=function(_,C,M,g){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g]},A.index=function(_,C,M,g){return this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*g},A.hi=function(_,C,M,g){return new k(this.data,typeof _!=\"number\"||_<0?this.shape[0]:_|0,typeof C!=\"number\"||C<0?this.shape[1]:C|0,typeof M!=\"number\"||M<0?this.shape[2]:M|0,typeof g!=\"number\"||g<0?this.shape[3]:g|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},A.lo=function(_,C,M,g){var P=this.offset,T=0,F=this.shape[0],q=this.shape[1],V=this.shape[2],H=this.shape[3],X=this.stride[0],G=this.stride[1],N=this.stride[2],W=this.stride[3];return typeof _==\"number\"&&_>=0&&(T=_|0,P+=X*T,F-=T),typeof C==\"number\"&&C>=0&&(T=C|0,P+=G*T,q-=T),typeof M==\"number\"&&M>=0&&(T=M|0,P+=N*T,V-=T),typeof g==\"number\"&&g>=0&&(T=g|0,P+=W*T,H-=T),new k(this.data,F,q,V,H,X,G,N,W,P)},A.step=function(_,C,M,g){var P=this.shape[0],T=this.shape[1],F=this.shape[2],q=this.shape[3],V=this.stride[0],H=this.stride[1],X=this.stride[2],G=this.stride[3],N=this.offset,W=0,re=Math.ceil;return typeof _==\"number\"&&(W=_|0,W<0?(N+=V*(P-1),P=re(-P/W)):P=re(P/W),V*=W),typeof C==\"number\"&&(W=C|0,W<0?(N+=H*(T-1),T=re(-T/W)):T=re(T/W),H*=W),typeof M==\"number\"&&(W=M|0,W<0?(N+=X*(F-1),F=re(-F/W)):F=re(F/W),X*=W),typeof g==\"number\"&&(W=g|0,W<0?(N+=G*(q-1),q=re(-q/W)):q=re(q/W),G*=W),new k(this.data,P,T,F,q,V,H,X,G,N)},A.transpose=function(_,C,M,g){_=_===void 0?0:_|0,C=C===void 0?1:C|0,M=M===void 0?2:M|0,g=g===void 0?3:g|0;var P=this.shape,T=this.stride;return new k(this.data,P[_],P[C],P[M],P[g],T[_],T[C],T[M],T[g],this.offset)},A.pick=function(_,C,M,g){var P=[],T=[],F=this.offset;typeof _==\"number\"&&_>=0?F=F+this.stride[0]*_|0:(P.push(this.shape[0]),T.push(this.stride[0])),typeof C==\"number\"&&C>=0?F=F+this.stride[1]*C|0:(P.push(this.shape[1]),T.push(this.stride[1])),typeof M==\"number\"&&M>=0?F=F+this.stride[2]*M|0:(P.push(this.shape[2]),T.push(this.stride[2])),typeof g==\"number\"&&g>=0?F=F+this.stride[3]*g|0:(P.push(this.shape[3]),T.push(this.stride[3]));var q=p[P.length+1];return q(this.data,P,T,F)},function(_,C,M,g){return new k(_,C[0],C[1],C[2],C[3],M[0],M[1],M[2],M[3],g)}},5:function(p,E,k){function A(_,C,M,g,P,T,F,q,V,H,X,G){this.data=_,this.shape=[C,M,g,P,T],this.stride=[F,q,V,H,X],this.offset=G|0}var L=A.prototype;return L.dtype=p,L.dimension=5,Object.defineProperty(L,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(L,\"order\",{get:k}),L.set=function(C,M,g,P,T,F){return p===\"generic\"?this.data.set(this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T,F):this.data[this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T]=F},L.get=function(C,M,g,P,T){return p===\"generic\"?this.data.get(this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T):this.data[this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T]},L.index=function(C,M,g,P,T){return this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*g+this.stride[3]*P+this.stride[4]*T},L.hi=function(C,M,g,P,T){return new A(this.data,typeof C!=\"number\"||C<0?this.shape[0]:C|0,typeof M!=\"number\"||M<0?this.shape[1]:M|0,typeof g!=\"number\"||g<0?this.shape[2]:g|0,typeof P!=\"number\"||P<0?this.shape[3]:P|0,typeof T!=\"number\"||T<0?this.shape[4]:T|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},L.lo=function(C,M,g,P,T){var F=this.offset,q=0,V=this.shape[0],H=this.shape[1],X=this.shape[2],G=this.shape[3],N=this.shape[4],W=this.stride[0],re=this.stride[1],ae=this.stride[2],_e=this.stride[3],Me=this.stride[4];return typeof C==\"number\"&&C>=0&&(q=C|0,F+=W*q,V-=q),typeof M==\"number\"&&M>=0&&(q=M|0,F+=re*q,H-=q),typeof g==\"number\"&&g>=0&&(q=g|0,F+=ae*q,X-=q),typeof P==\"number\"&&P>=0&&(q=P|0,F+=_e*q,G-=q),typeof T==\"number\"&&T>=0&&(q=T|0,F+=Me*q,N-=q),new A(this.data,V,H,X,G,N,W,re,ae,_e,Me,F)},L.step=function(C,M,g,P,T){var F=this.shape[0],q=this.shape[1],V=this.shape[2],H=this.shape[3],X=this.shape[4],G=this.stride[0],N=this.stride[1],W=this.stride[2],re=this.stride[3],ae=this.stride[4],_e=this.offset,Me=0,ke=Math.ceil;return typeof C==\"number\"&&(Me=C|0,Me<0?(_e+=G*(F-1),F=ke(-F/Me)):F=ke(F/Me),G*=Me),typeof M==\"number\"&&(Me=M|0,Me<0?(_e+=N*(q-1),q=ke(-q/Me)):q=ke(q/Me),N*=Me),typeof g==\"number\"&&(Me=g|0,Me<0?(_e+=W*(V-1),V=ke(-V/Me)):V=ke(V/Me),W*=Me),typeof P==\"number\"&&(Me=P|0,Me<0?(_e+=re*(H-1),H=ke(-H/Me)):H=ke(H/Me),re*=Me),typeof T==\"number\"&&(Me=T|0,Me<0?(_e+=ae*(X-1),X=ke(-X/Me)):X=ke(X/Me),ae*=Me),new A(this.data,F,q,V,H,X,G,N,W,re,ae,_e)},L.transpose=function(C,M,g,P,T){C=C===void 0?0:C|0,M=M===void 0?1:M|0,g=g===void 0?2:g|0,P=P===void 0?3:P|0,T=T===void 0?4:T|0;var F=this.shape,q=this.stride;return new A(this.data,F[C],F[M],F[g],F[P],F[T],q[C],q[M],q[g],q[P],q[T],this.offset)},L.pick=function(C,M,g,P,T){var F=[],q=[],V=this.offset;typeof C==\"number\"&&C>=0?V=V+this.stride[0]*C|0:(F.push(this.shape[0]),q.push(this.stride[0])),typeof M==\"number\"&&M>=0?V=V+this.stride[1]*M|0:(F.push(this.shape[1]),q.push(this.stride[1])),typeof g==\"number\"&&g>=0?V=V+this.stride[2]*g|0:(F.push(this.shape[2]),q.push(this.stride[2])),typeof P==\"number\"&&P>=0?V=V+this.stride[3]*P|0:(F.push(this.shape[3]),q.push(this.stride[3])),typeof T==\"number\"&&T>=0?V=V+this.stride[4]*T|0:(F.push(this.shape[4]),q.push(this.stride[4]));var H=E[F.length+1];return H(this.data,F,q,V)},function(C,M,g,P){return new A(C,M[0],M[1],M[2],M[3],M[4],g[0],g[1],g[2],g[3],g[4],P)}}};function h(b,p){var E=p===-1?\"T\":String(p),k=f[E];return p===-1?k(b):p===0?k(b,v[b][0]):k(b,v[b],c)}function d(b){if(s(b))return\"buffer\";if(l)switch(Object.prototype.toString.call(b)){case\"[object Float64Array]\":return\"float64\";case\"[object Float32Array]\":return\"float32\";case\"[object Int8Array]\":return\"int8\";case\"[object Int16Array]\":return\"int16\";case\"[object Int32Array]\":return\"int32\";case\"[object Uint8ClampedArray]\":return\"uint8_clamped\";case\"[object Uint8Array]\":return\"uint8\";case\"[object Uint16Array]\":return\"uint16\";case\"[object Uint32Array]\":return\"uint32\";case\"[object BigInt64Array]\":return\"bigint64\";case\"[object BigUint64Array]\":return\"biguint64\"}return Array.isArray(b)?\"array\":\"generic\"}var v={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};function x(b,p,E,k){if(b===void 0){var g=v.array[0];return g([])}else typeof b==\"number\"&&(b=[b]);p===void 0&&(p=[b.length]);var A=p.length;if(E===void 0){E=new Array(A);for(var L=A-1,_=1;L>=0;--L)E[L]=_,_*=p[L]}if(k===void 0){k=0;for(var L=0;L<A;++L)E[L]<0&&(k-=(p[L]-1)*E[L])}for(var C=d(b),M=v[C];M.length<=A+1;)M.push(h(C,M.length-1));var g=M[A+1];return g(b,p,E,k)}i.exports=x},1278:function(i,a,o){\"use strict\";var s=o(2361),l=Math.pow(2,-1074),u=-1>>>0;i.exports=c;function c(f,h){if(isNaN(f)||isNaN(h))return NaN;if(f===h)return f;if(f===0)return h<0?-l:l;var d=s.hi(f),v=s.lo(f);return h>f==f>0?v===u?(d+=1,v=0):v+=1:v===0?(v=u,d-=1):v-=1,s.pack(v,d)}},8406:function(i,a){var o=1e-6,s=1e-6;a.vertexNormals=function(l,u,c){for(var f=u.length,h=new Array(f),d=c===void 0?o:c,v=0;v<f;++v)h[v]=[0,0,0];for(var v=0;v<l.length;++v)for(var x=l[v],b=0,p=x[x.length-1],E=x[0],k=0;k<x.length;++k){b=p,p=E,E=x[(k+1)%x.length];for(var A=u[b],L=u[p],_=u[E],C=new Array(3),M=0,g=new Array(3),P=0,T=0;T<3;++T)C[T]=A[T]-L[T],M+=C[T]*C[T],g[T]=_[T]-L[T],P+=g[T]*g[T];if(M*P>d)for(var F=h[p],q=1/Math.sqrt(M*P),T=0;T<3;++T){var V=(T+1)%3,H=(T+2)%3;F[T]+=q*(g[V]*C[H]-g[H]*C[V])}}for(var v=0;v<f;++v){for(var F=h[v],X=0,T=0;T<3;++T)X+=F[T]*F[T];if(X>d)for(var q=1/Math.sqrt(X),T=0;T<3;++T)F[T]*=q;else for(var T=0;T<3;++T)F[T]=0}return h},a.faceNormals=function(l,u,c){for(var f=l.length,h=new Array(f),d=c===void 0?s:c,v=0;v<f;++v){for(var x=l[v],b=new Array(3),p=0;p<3;++p)b[p]=u[x[p]];for(var E=new Array(3),k=new Array(3),p=0;p<3;++p)E[p]=b[1][p]-b[0][p],k[p]=b[2][p]-b[0][p];for(var A=new Array(3),L=0,p=0;p<3;++p){var _=(p+1)%3,C=(p+2)%3;A[p]=E[_]*k[C]-E[C]*k[_],L+=A[p]*A[p]}L>d?L=1/Math.sqrt(L):L=0;for(var p=0;p<3;++p)A[p]*=L;h[v]=A}return h}},4081:function(i){\"use strict\";i.exports=a;function a(o,s,l,u,c,f,h,d,v,x){var b=s+f+x;if(p>0){var p=Math.sqrt(b+1);o[0]=.5*(h-v)/p,o[1]=.5*(d-u)/p,o[2]=.5*(l-f)/p,o[3]=.5*p}else{var E=Math.max(s,f,x),p=Math.sqrt(2*E-b+1);s>=E?(o[0]=.5*p,o[1]=.5*(c+l)/p,o[2]=.5*(d+u)/p,o[3]=.5*(h-v)/p):f>=E?(o[0]=.5*(l+c)/p,o[1]=.5*p,o[2]=.5*(v+h)/p,o[3]=.5*(d-u)/p):(o[0]=.5*(u+d)/p,o[1]=.5*(h+v)/p,o[2]=.5*p,o[3]=.5*(l-c)/p)}return o}},9977:function(i,a,o){\"use strict\";i.exports=p;var s=o(9215),l=o(6582),u=o(7399),c=o(7608),f=o(4081);function h(E,k,A){return Math.sqrt(Math.pow(E,2)+Math.pow(k,2)+Math.pow(A,2))}function d(E,k,A,L){return Math.sqrt(Math.pow(E,2)+Math.pow(k,2)+Math.pow(A,2)+Math.pow(L,2))}function v(E,k){var A=k[0],L=k[1],_=k[2],C=k[3],M=d(A,L,_,C);M>1e-6?(E[0]=A/M,E[1]=L/M,E[2]=_/M,E[3]=C/M):(E[0]=E[1]=E[2]=0,E[3]=1)}function x(E,k,A){this.radius=s([A]),this.center=s(k),this.rotation=s(E),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var b=x.prototype;b.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},b.recalcMatrix=function(E){this.radius.curve(E),this.center.curve(E),this.rotation.curve(E);var k=this.computedRotation;v(k,k);var A=this.computedMatrix;u(A,k);var L=this.computedCenter,_=this.computedEye,C=this.computedUp,M=Math.exp(this.computedRadius[0]);_[0]=L[0]+M*A[2],_[1]=L[1]+M*A[6],_[2]=L[2]+M*A[10],C[0]=A[1],C[1]=A[5],C[2]=A[9];for(var g=0;g<3;++g){for(var P=0,T=0;T<3;++T)P+=A[g+4*T]*_[T];A[12+g]=-P}},b.getMatrix=function(E,k){this.recalcMatrix(E);var A=this.computedMatrix;if(k){for(var L=0;L<16;++L)k[L]=A[L];return k}return A},b.idle=function(E){this.center.idle(E),this.radius.idle(E),this.rotation.idle(E)},b.flush=function(E){this.center.flush(E),this.radius.flush(E),this.rotation.flush(E)},b.pan=function(E,k,A,L){k=k||0,A=A||0,L=L||0,this.recalcMatrix(E);var _=this.computedMatrix,C=_[1],M=_[5],g=_[9],P=h(C,M,g);C/=P,M/=P,g/=P;var T=_[0],F=_[4],q=_[8],V=T*C+F*M+q*g;T-=C*V,F-=M*V,q-=g*V;var H=h(T,F,q);T/=H,F/=H,q/=H;var X=_[2],G=_[6],N=_[10],W=X*C+G*M+N*g,re=X*T+G*F+N*q;X-=W*C+re*T,G-=W*M+re*F,N-=W*g+re*q;var ae=h(X,G,N);X/=ae,G/=ae,N/=ae;var _e=T*k+C*A,Me=F*k+M*A,ke=q*k+g*A;this.center.move(E,_e,Me,ke);var ge=Math.exp(this.computedRadius[0]);ge=Math.max(1e-4,ge+L),this.radius.set(E,Math.log(ge))},b.rotate=function(E,k,A,L){this.recalcMatrix(E),k=k||0,A=A||0;var _=this.computedMatrix,C=_[0],M=_[4],g=_[8],P=_[1],T=_[5],F=_[9],q=_[2],V=_[6],H=_[10],X=k*C+A*P,G=k*M+A*T,N=k*g+A*F,W=-(V*N-H*G),re=-(H*X-q*N),ae=-(q*G-V*X),_e=Math.sqrt(Math.max(0,1-Math.pow(W,2)-Math.pow(re,2)-Math.pow(ae,2))),Me=d(W,re,ae,_e);Me>1e-6?(W/=Me,re/=Me,ae/=Me,_e/=Me):(W=re=ae=0,_e=1);var ke=this.computedRotation,ge=ke[0],ie=ke[1],Te=ke[2],Ee=ke[3],Ae=ge*_e+Ee*W+ie*ae-Te*re,ze=ie*_e+Ee*re+Te*W-ge*ae,Ce=Te*_e+Ee*ae+ge*re-ie*W,me=Ee*_e-ge*W-ie*re-Te*ae;if(L){W=q,re=V,ae=H;var Re=Math.sin(L)/h(W,re,ae);W*=Re,re*=Re,ae*=Re,_e=Math.cos(k),Ae=Ae*_e+me*W+ze*ae-Ce*re,ze=ze*_e+me*re+Ce*W-Ae*ae,Ce=Ce*_e+me*ae+Ae*re-ze*W,me=me*_e-Ae*W-ze*re-Ce*ae}var ce=d(Ae,ze,Ce,me);ce>1e-6?(Ae/=ce,ze/=ce,Ce/=ce,me/=ce):(Ae=ze=Ce=0,me=1),this.rotation.set(E,Ae,ze,Ce,me)},b.lookAt=function(E,k,A,L){this.recalcMatrix(E),A=A||this.computedCenter,k=k||this.computedEye,L=L||this.computedUp;var _=this.computedMatrix;l(_,k,A,L);var C=this.computedRotation;f(C,_[0],_[1],_[2],_[4],_[5],_[6],_[8],_[9],_[10]),v(C,C),this.rotation.set(E,C[0],C[1],C[2],C[3]);for(var M=0,g=0;g<3;++g)M+=Math.pow(A[g]-k[g],2);this.radius.set(E,.5*Math.log(Math.max(M,1e-6))),this.center.set(E,A[0],A[1],A[2])},b.translate=function(E,k,A,L){this.center.move(E,k||0,A||0,L||0)},b.setMatrix=function(E,k){var A=this.computedRotation;f(A,k[0],k[1],k[2],k[4],k[5],k[6],k[8],k[9],k[10]),v(A,A),this.rotation.set(E,A[0],A[1],A[2],A[3]);var L=this.computedMatrix;c(L,k);var _=L[15];if(Math.abs(_)>1e-6){var C=L[12]/_,M=L[13]/_,g=L[14]/_;this.recalcMatrix(E);var P=Math.exp(this.computedRadius[0]);this.center.set(E,C-L[2]*P,M-L[6]*P,g-L[10]*P),this.radius.idle(E)}else this.center.idle(E),this.radius.idle(E)},b.setDistance=function(E,k){k>0&&this.radius.set(E,Math.log(k))},b.setDistanceLimits=function(E,k){E>0?E=Math.log(E):E=-1/0,k>0?k=Math.log(k):k=1/0,k=Math.max(k,E),this.radius.bounds[0][0]=E,this.radius.bounds[1][0]=k},b.getDistanceLimits=function(E){var k=this.radius.bounds;return E?(E[0]=Math.exp(k[0][0]),E[1]=Math.exp(k[1][0]),E):[Math.exp(k[0][0]),Math.exp(k[1][0])]},b.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]}},b.fromJSON=function(E){var k=this.lastT(),A=E.center;A&&this.center.set(k,A[0],A[1],A[2]);var L=E.rotation;L&&this.rotation.set(k,L[0],L[1],L[2],L[3]);var _=E.distance;_&&_>0&&this.radius.set(k,Math.log(_)),this.setDistanceLimits(E.zoomMin,E.zoomMax)};function p(E){E=E||{};var k=E.center||[0,0,0],A=E.rotation||[0,0,0,1],L=E.radius||1;k=[].slice.call(k,0,3),A=[].slice.call(A,0,4),v(A,A);var _=new x(A,k,Math.log(L));return _.setDistanceLimits(E.zoomMin,E.zoomMax),(\"eye\"in E||\"up\"in E)&&_.lookAt(0,E.eye,E.center,E.up),_}},1371:function(i,a,o){\"use strict\";var s=o(3233);i.exports=function(u,c,f){return f=typeof f!=\"undefined\"?f+\"\":\" \",s(f,c)+u}},3202:function(i){i.exports=function(o,s){s||(s=[0,\"\"]),o=String(o);var l=parseFloat(o,10);return s[0]=l,s[1]=o.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",s}},3088:function(i,a,o){\"use strict\";i.exports=l;var s=o(3140);function l(u,c){for(var f=c.length|0,h=u.length,d=[new Array(f),new Array(f)],v=0;v<f;++v)d[0][v]=[],d[1][v]=[];for(var v=0;v<h;++v){var x=u[v];d[0][x[0]].push(x),d[1][x[1]].push(x)}for(var b=[],v=0;v<f;++v)d[0][v].length+d[1][v].length===0&&b.push([v]);function p(g,P){var T=d[P][g[P]];T.splice(T.indexOf(g),1)}function E(g,P,T){for(var F,q,V,H=0;H<2;++H)if(d[H][P].length>0){F=d[H][P][0],V=H;break}q=F[V^1];for(var X=0;X<2;++X)for(var G=d[X][P],N=0;N<G.length;++N){var W=G[N],re=W[X^1],ae=s(c[g],c[P],c[q],c[re]);ae>0&&(F=W,q=re,V=X)}return T||F&&p(F,V),q}function k(g,P){var T=d[P][g][0],F=[g];p(T,P);for(var q=T[P^1],V=P;;){for(;q!==g;)F.push(q),q=E(F[F.length-2],q,!1);if(d[0][g].length+d[1][g].length===0)break;var H=F[F.length-1],X=g,G=F[1],N=E(H,X,!0);if(s(c[H],c[X],c[G],c[N])<0)break;F.push(g),q=E(H,X)}return F}function A(g,P){return P[1]===P[P.length-1]}for(var v=0;v<f;++v)for(var L=0;L<2;++L){for(var _=[];d[L][v].length>0;){var C=d[0][v].length,M=k(v,L);A(_,M)?_.push.apply(_,M):(_.length>0&&b.push(_),_=M)}_.length>0&&b.push(_)}return b}},5609:function(i,a,o){\"use strict\";i.exports=l;var s=o(3134);function l(u,c){for(var f=s(u,c.length),h=new Array(c.length),d=new Array(c.length),v=[],x=0;x<c.length;++x){var b=f[x].length;d[x]=b,h[x]=!0,b<=1&&v.push(x)}for(;v.length>0;){var p=v.pop();h[p]=!1;for(var E=f[p],x=0;x<E.length;++x){var k=E[x];--d[k]===0&&v.push(k)}}for(var A=new Array(c.length),L=[],x=0;x<c.length;++x)if(h[x]){var p=L.length;A[x]=p,L.push(c[x])}else A[x]=-1;for(var _=[],x=0;x<u.length;++x){var C=u[x];h[C[0]]&&h[C[1]]&&_.push([A[C[0]],A[C[1]]])}return[_,L]}},2095:function(i,a,o){\"use strict\";i.exports=b;var s=o(3134),l=o(3088),u=o(5085),c=o(5250),f=o(8210),h=o(1682),d=o(5609);function v(p,E){for(var k=new Array(p),A=0;A<p;++A)k[A]=E;return k}function x(p){for(var E=new Array(p),k=0;k<p;++k)E[k]=[];return E}function b(p,E){var Re=d(p,E);p=Re[0],E=Re[1];for(var k=E.length,A=p.length,L=s(p,E.length),_=0;_<k;++_)if(L[_].length%2===1)throw new Error(\"planar-graph-to-polyline: graph must be manifold\");var C=l(p,E);function M(ot){for(var Rt=ot.length,kt=[0],Ct=0;Ct<Rt;++Ct){var Yt=E[ot[Ct]],xr=E[ot[(Ct+1)%Rt]],er=c(-Yt[0],Yt[1]),Ke=c(-Yt[0],xr[1]),xt=c(xr[0],Yt[1]),bt=c(xr[0],xr[1]);kt=f(kt,f(f(er,Ke),f(xt,bt)))}return kt[kt.length-1]>0}C=C.filter(M);for(var g=C.length,P=new Array(g),T=new Array(g),_=0;_<g;++_){P[_]=_;var F=new Array(g),q=C[_].map(function(Rt){return E[Rt]}),V=u([q]),H=0;e:for(var X=0;X<g;++X)if(F[X]=0,_!==X){for(var G=C[X],N=G.length,W=0;W<N;++W){var re=V(E[G[W]]);if(re!==0){re<0&&(F[X]=1,H+=1);continue e}}F[X]=1,H+=1}T[_]=[H,_,F]}T.sort(function(ot,Rt){return Rt[0]-ot[0]});for(var _=0;_<g;++_)for(var F=T[_],ae=F[1],_e=F[2],X=0;X<g;++X)_e[X]&&(P[X]=ae);for(var Me=x(g),_=0;_<g;++_)Me[_].push(P[_]),Me[P[_]].push(_);for(var ke={},ge=v(k,!1),_=0;_<g;++_)for(var G=C[_],N=G.length,X=0;X<N;++X){var ie=G[X],Te=G[(X+1)%N],Ee=Math.min(ie,Te)+\":\"+Math.max(ie,Te);if(Ee in ke){var Ae=ke[Ee];Me[Ae].push(_),Me[_].push(Ae),ge[ie]=ge[Te]=!0}else ke[Ee]=_}function ze(ot){for(var Rt=ot.length,kt=0;kt<Rt;++kt)if(!ge[ot[kt]])return!1;return!0}for(var Ce=[],me=v(g,-1),_=0;_<g;++_)P[_]===_&&!ze(C[_])?(Ce.push(_),me[_]=0):me[_]=-1;for(var Re=[];Ce.length>0;){var ce=Ce.pop(),Ge=Me[ce];h(Ge,function(ot,Rt){return ot-Rt});var nt=Ge.length,ct=me[ce],qt;if(ct===0){var G=C[ce];qt=[G]}for(var _=0;_<nt;++_){var rt=Ge[_];if(!(me[rt]>=0)&&(me[rt]=ct^1,Ce.push(rt),ct===0)){var G=C[rt];ze(G)||(G.reverse(),qt.push(G))}}ct===0&&Re.push(qt)}return Re}},5085:function(i,a,o){i.exports=E;var s=o(3250)[3],l=o(4209),u=o(3352),c=o(2478);function f(){return!0}function h(k){return function(A,L){var _=k[A];return _?!!_.queryPoint(L,f):!1}}function d(k){for(var A={},L=0;L<k.length;++L){var _=k[L],C=_[0][0],M=_[0][1],g=_[1][1],P=[Math.min(M,g),Math.max(M,g)];C in A?A[C].push(P):A[C]=[P]}for(var T={},F=Object.keys(A),L=0;L<F.length;++L){var q=A[F[L]];T[F[L]]=u(q)}return h(T)}function v(k,A){return function(L){var _=c.le(A,L[0]);if(_<0)return 1;var C=k[_];if(!C)if(_>0&&A[_]===L[0])C=k[_-1];else return 1;for(var M=1;C;){var g=C.key,P=s(L,g[0],g[1]);if(g[0][0]<g[1][0])if(P<0)C=C.left;else if(P>0)M=-1,C=C.right;else return 0;else if(P>0)C=C.left;else if(P<0)M=1,C=C.right;else return 0}return M}}function x(k){return 1}function b(k){return function(L){return k(L[0],L[1])?0:1}}function p(k,A){return function(_){return k(_[0],_[1])?0:A(_)}}function E(k){for(var A=k.length,L=[],_=[],C=0,M=0;M<A;++M)for(var g=k[M],P=g.length,T=P-1,F=0;F<P;T=F++){var q=g[T],V=g[F];q[0]===V[0]?_.push([q,V]):L.push([q,V])}if(L.length===0)return _.length===0?x:b(d(_));var H=l(L),X=v(H.slabs,H.coordinates);return _.length===0?X:p(d(_),X)}},9346:function(i){\"use strict\";var a=new Float64Array(4),o=new Float64Array(4),s=new Float64Array(4);function l(u,c,f,h,d){a.length<h.length&&(a=new Float64Array(h.length),o=new Float64Array(h.length),s=new Float64Array(h.length));for(var v=0;v<h.length;++v)a[v]=u[v]-h[v],o[v]=c[v]-u[v],s[v]=f[v]-u[v];for(var x=0,b=0,p=0,E=0,k=0,A=0,v=0;v<h.length;++v){var L=o[v],_=s[v],C=a[v];x+=L*L,b+=L*_,p+=_*_,E+=C*L,k+=C*_,A+=C*C}var M=Math.abs(x*p-b*b),g=b*k-p*E,P=b*E-x*k,T;if(g+P<=M)if(g<0)P<0&&E<0?(P=0,-E>=x?(g=1,T=x+2*E+A):(g=-E/x,T=E*g+A)):(g=0,k>=0?(P=0,T=A):-k>=p?(P=1,T=p+2*k+A):(P=-k/p,T=k*P+A));else if(P<0)P=0,E>=0?(g=0,T=A):-E>=x?(g=1,T=x+2*E+A):(g=-E/x,T=E*g+A);else{var F=1/M;g*=F,P*=F,T=g*(x*g+b*P+2*E)+P*(b*g+p*P+2*k)+A}else{var q,V,H,X;g<0?(q=b+E,V=p+k,V>q?(H=V-q,X=x-2*b+p,H>=X?(g=1,P=0,T=x+2*E+A):(g=H/X,P=1-g,T=g*(x*g+b*P+2*E)+P*(b*g+p*P+2*k)+A)):(g=0,V<=0?(P=1,T=p+2*k+A):k>=0?(P=0,T=A):(P=-k/p,T=k*P+A))):P<0?(q=b+k,V=x+E,V>q?(H=V-q,X=x-2*b+p,H>=X?(P=1,g=0,T=p+2*k+A):(P=H/X,g=1-P,T=g*(x*g+b*P+2*E)+P*(b*g+p*P+2*k)+A)):(P=0,V<=0?(g=1,T=x+2*E+A):E>=0?(g=0,T=A):(g=-E/x,T=E*g+A))):(H=p+k-b-E,H<=0?(g=0,P=1,T=p+2*k+A):(X=x-2*b+p,H>=X?(g=1,P=0,T=x+2*E+A):(g=H/X,P=1-g,T=g*(x*g+b*P+2*E)+P*(b*g+p*P+2*k)+A)))}for(var G=1-g-P,v=0;v<h.length;++v)d[v]=G*u[v]+g*c[v]+P*f[v];return T<0?0:T}i.exports=l},8648:function(i,a,o){i.exports=o(783)},2653:function(i,a,o){\"use strict\";var s=o(3865);i.exports=l;function l(u,c){for(var f=u.length,h=new Array(f),d=0;d<f;++d)h[d]=s(u[d],c[d]);return h}},5838:function(i,a,o){\"use strict\";i.exports=l;var s=o(7842);function l(u){for(var c=new Array(u.length),f=0;f<u.length;++f)c[f]=s(u[f]);return c}},8987:function(i,a,o){\"use strict\";var s=o(7842),l=o(6504);i.exports=u;function u(c,f){for(var h=s(f),d=c.length,v=new Array(d),x=0;x<d;++x)v[x]=l(c[x],h);return v}},544:function(i,a,o){\"use strict\";var s=o(5572);i.exports=l;function l(u,c){for(var f=u.length,h=new Array(f),d=0;d<f;++d)h[d]=s(u[d],c[d]);return h}},5771:function(i,a,o){\"use strict\";var s=o(8507),l=o(3788),u=o(2419);i.exports=c;function c(f){f.sort(l);for(var h=f.length,d=0,v=0;v<h;++v){var x=f[v],b=u(x);if(b!==0){if(d>0){var p=f[d-1];if(s(x,p)===0&&u(p)!==b){d-=1;continue}}f[d++]=x}}return f.length=d,f}},3233:function(i){\"use strict\";var a=\"\",o;i.exports=s;function s(l,u){if(typeof l!=\"string\")throw new TypeError(\"expected a string\");if(u===1)return l;if(u===2)return l+l;var c=l.length*u;if(o!==l||typeof o==\"undefined\")o=l,a=\"\";else if(a.length>=c)return a.substr(0,c);for(;c>a.length&&u>1;)u&1&&(a+=l),u>>=1,l+=l;return a+=l,a=a.substr(0,c),a}},3025:function(i,a,o){i.exports=o.g.performance&&o.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(i){\"use strict\";i.exports=a;function a(o){for(var s=o.length,l=o[o.length-1],u=s,c=s-2;c>=0;--c){var f=l,h=o[c];l=f+h;var d=l-f,v=h-d;v&&(o[--u]=l,l=v)}for(var x=0,c=u;c<s;++c){var f=o[c],h=l;l=f+h;var d=l-f,v=h-d;v&&(o[x++]=v)}return o[x++]=l,o.length=x,o}},2962:function(i,a,o){\"use strict\";var s=o(5250),l=o(8210),u=o(3012),c=o(7004),f=6;function h(A,L,_,C){return function(g){return C(A(_(g[0][0],g[1][1]),_(-g[0][1],g[1][0])))}}function d(A,L,_,C){return function(g){return C(A(L(A(_(g[1][1],g[2][2]),_(-g[1][2],g[2][1])),g[0][0]),A(L(A(_(g[1][0],g[2][2]),_(-g[1][2],g[2][0])),-g[0][1]),L(A(_(g[1][0],g[2][1]),_(-g[1][1],g[2][0])),g[0][2]))))}}function v(A,L,_,C){return function(g){return C(A(A(L(A(L(A(_(g[2][2],g[3][3]),_(-g[2][3],g[3][2])),g[1][1]),A(L(A(_(g[2][1],g[3][3]),_(-g[2][3],g[3][1])),-g[1][2]),L(A(_(g[2][1],g[3][2]),_(-g[2][2],g[3][1])),g[1][3]))),g[0][0]),L(A(L(A(_(g[2][2],g[3][3]),_(-g[2][3],g[3][2])),g[1][0]),A(L(A(_(g[2][0],g[3][3]),_(-g[2][3],g[3][0])),-g[1][2]),L(A(_(g[2][0],g[3][2]),_(-g[2][2],g[3][0])),g[1][3]))),-g[0][1])),A(L(A(L(A(_(g[2][1],g[3][3]),_(-g[2][3],g[3][1])),g[1][0]),A(L(A(_(g[2][0],g[3][3]),_(-g[2][3],g[3][0])),-g[1][1]),L(A(_(g[2][0],g[3][1]),_(-g[2][1],g[3][0])),g[1][3]))),g[0][2]),L(A(L(A(_(g[2][1],g[3][2]),_(-g[2][2],g[3][1])),g[1][0]),A(L(A(_(g[2][0],g[3][2]),_(-g[2][2],g[3][0])),-g[1][1]),L(A(_(g[2][0],g[3][1]),_(-g[2][1],g[3][0])),g[1][2]))),-g[0][3]))))}}function x(A,L,_,C){return function(g){return C(A(A(L(A(A(L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][2]),A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),-g[2][3]),L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][4]))),g[1][1]),L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][1]),A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),-g[2][3]),L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),g[2][4]))),-g[1][2])),A(L(A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),g[2][1]),A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),-g[2][2]),L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][4]))),g[1][3]),L(A(L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][1]),A(L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),-g[2][2]),L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][3]))),-g[1][4]))),g[0][0]),L(A(A(L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][2]),A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),-g[2][3]),L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][4]))),g[1][0]),L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][3]),L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),g[2][4]))),-g[1][2])),A(L(A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][2]),L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),g[2][4]))),g[1][3]),L(A(L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][0]),A(L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),-g[2][2]),L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),g[2][3]))),-g[1][4]))),-g[0][1])),A(L(A(A(L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][1]),A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),-g[2][3]),L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),g[2][4]))),g[1][0]),L(A(L(A(_(g[3][3],g[4][4]),_(-g[3][4],g[4][3])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][3]),L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),g[2][4]))),-g[1][1])),A(L(A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][4]))),g[1][3]),L(A(L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][3]))),-g[1][4]))),g[0][2]),A(L(A(A(L(A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),g[2][1]),A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),-g[2][2]),L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][4]))),g[1][0]),L(A(L(A(_(g[3][2],g[4][4]),_(-g[3][4],g[4][2])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][2]),L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),g[2][4]))),-g[1][1])),A(L(A(L(A(_(g[3][1],g[4][4]),_(-g[3][4],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][4]),_(-g[3][4],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][4]))),g[1][2]),L(A(L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][2]))),-g[1][4]))),-g[0][3]),L(A(A(L(A(L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][1]),A(L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),-g[2][2]),L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][3]))),g[1][0]),L(A(L(A(_(g[3][2],g[4][3]),_(-g[3][3],g[4][2])),g[2][0]),A(L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),-g[2][2]),L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),g[2][3]))),-g[1][1])),A(L(A(L(A(_(g[3][1],g[4][3]),_(-g[3][3],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][3]),_(-g[3][3],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][3]))),g[1][2]),L(A(L(A(_(g[3][1],g[4][2]),_(-g[3][2],g[4][1])),g[2][0]),A(L(A(_(g[3][0],g[4][2]),_(-g[3][2],g[4][0])),-g[2][1]),L(A(_(g[3][0],g[4][1]),_(-g[3][1],g[4][0])),g[2][2]))),-g[1][3]))),g[0][4])))))}}function b(A){var L=A===2?h:A===3?d:A===4?v:A===5?x:void 0;return L(l,u,s,c)}var p=[function(){return[0]},function(L){return[L[0][0]]}];function E(A,L,_,C,M,g,P,T){return function(q){switch(q.length){case 0:return A(q);case 1:return L(q);case 2:return _(q);case 3:return C(q);case 4:return M(q);case 5:return g(q)}var V=P[q.length];return V||(V=P[q.length]=T(q.length)),V(q)}}function k(){for(;p.length<f;)p.push(b(p.length));i.exports=E.apply(void 0,p.concat([p,b]));for(var A=0;A<p.length;++A)i.exports[A]=p[A]}k()},1944:function(i,a,o){\"use strict\";var s=o(5250),l=o(8210);i.exports=u;function u(c,f){for(var h=s(c[0],f[0]),d=1;d<c.length;++d)h=l(h,s(c[d],f[d]));return h}},2646:function(i,a,o){\"use strict\";var s=o(5250),l=o(8210),u=o(8545),c=o(3012),f=6;function h(M){var g=M===3?b:M===4?p:M===5?E:k;return g(l,u,s,c)}function d(){return 0}function v(){return 0}function x(){return 0}function b(M,g,P,T){function F(q,V,H){var X=P(q[0],q[0]),G=T(X,V[0]),N=T(X,H[0]),W=P(V[0],V[0]),re=T(W,q[0]),ae=T(W,H[0]),_e=P(H[0],H[0]),Me=T(_e,q[0]),ke=T(_e,V[0]),ge=M(g(ke,ae),g(re,G)),ie=g(Me,N),Te=g(ge,ie);return Te[Te.length-1]}return F}function p(M,g,P,T){function F(q,V,H,X){var G=M(P(q[0],q[0]),P(q[1],q[1])),N=T(G,V[0]),W=T(G,H[0]),re=T(G,X[0]),ae=M(P(V[0],V[0]),P(V[1],V[1])),_e=T(ae,q[0]),Me=T(ae,H[0]),ke=T(ae,X[0]),ge=M(P(H[0],H[0]),P(H[1],H[1])),ie=T(ge,q[0]),Te=T(ge,V[0]),Ee=T(ge,X[0]),Ae=M(P(X[0],X[0]),P(X[1],X[1])),ze=T(Ae,q[0]),Ce=T(Ae,V[0]),me=T(Ae,H[0]),Re=M(M(T(g(me,Ee),V[1]),M(T(g(Ce,ke),-H[1]),T(g(Te,Me),X[1]))),M(T(g(Ce,ke),q[1]),M(T(g(ze,re),-V[1]),T(g(_e,N),X[1])))),ce=M(M(T(g(me,Ee),q[1]),M(T(g(ze,re),-H[1]),T(g(ie,W),X[1]))),M(T(g(Te,Me),q[1]),M(T(g(ie,W),-V[1]),T(g(_e,N),H[1])))),Ge=g(Re,ce);return Ge[Ge.length-1]}return F}function E(M,g,P,T){function F(q,V,H,X,G){var N=M(P(q[0],q[0]),M(P(q[1],q[1]),P(q[2],q[2]))),W=T(N,V[0]),re=T(N,H[0]),ae=T(N,X[0]),_e=T(N,G[0]),Me=M(P(V[0],V[0]),M(P(V[1],V[1]),P(V[2],V[2]))),ke=T(Me,q[0]),ge=T(Me,H[0]),ie=T(Me,X[0]),Te=T(Me,G[0]),Ee=M(P(H[0],H[0]),M(P(H[1],H[1]),P(H[2],H[2]))),Ae=T(Ee,q[0]),ze=T(Ee,V[0]),Ce=T(Ee,X[0]),me=T(Ee,G[0]),Re=M(P(X[0],X[0]),M(P(X[1],X[1]),P(X[2],X[2]))),ce=T(Re,q[0]),Ge=T(Re,V[0]),nt=T(Re,H[0]),ct=T(Re,G[0]),qt=M(P(G[0],G[0]),M(P(G[1],G[1]),P(G[2],G[2]))),rt=T(qt,q[0]),ot=T(qt,V[0]),Rt=T(qt,H[0]),kt=T(qt,X[0]),Ct=M(M(M(T(M(T(g(kt,ct),H[1]),M(T(g(Rt,me),-X[1]),T(g(nt,Ce),G[1]))),V[2]),M(T(M(T(g(kt,ct),V[1]),M(T(g(ot,Te),-X[1]),T(g(Ge,ie),G[1]))),-H[2]),T(M(T(g(Rt,me),V[1]),M(T(g(ot,Te),-H[1]),T(g(ze,ge),G[1]))),X[2]))),M(T(M(T(g(nt,Ce),V[1]),M(T(g(Ge,ie),-H[1]),T(g(ze,ge),X[1]))),-G[2]),M(T(M(T(g(kt,ct),V[1]),M(T(g(ot,Te),-X[1]),T(g(Ge,ie),G[1]))),q[2]),T(M(T(g(kt,ct),q[1]),M(T(g(rt,_e),-X[1]),T(g(ce,ae),G[1]))),-V[2])))),M(M(T(M(T(g(ot,Te),q[1]),M(T(g(rt,_e),-V[1]),T(g(ke,W),G[1]))),X[2]),M(T(M(T(g(Ge,ie),q[1]),M(T(g(ce,ae),-V[1]),T(g(ke,W),X[1]))),-G[2]),T(M(T(g(nt,Ce),V[1]),M(T(g(Ge,ie),-H[1]),T(g(ze,ge),X[1]))),q[2]))),M(T(M(T(g(nt,Ce),q[1]),M(T(g(ce,ae),-H[1]),T(g(Ae,re),X[1]))),-V[2]),M(T(M(T(g(Ge,ie),q[1]),M(T(g(ce,ae),-V[1]),T(g(ke,W),X[1]))),H[2]),T(M(T(g(ze,ge),q[1]),M(T(g(Ae,re),-V[1]),T(g(ke,W),H[1]))),-X[2]))))),Yt=M(M(M(T(M(T(g(kt,ct),H[1]),M(T(g(Rt,me),-X[1]),T(g(nt,Ce),G[1]))),q[2]),T(M(T(g(kt,ct),q[1]),M(T(g(rt,_e),-X[1]),T(g(ce,ae),G[1]))),-H[2])),M(T(M(T(g(Rt,me),q[1]),M(T(g(rt,_e),-H[1]),T(g(Ae,re),G[1]))),X[2]),T(M(T(g(nt,Ce),q[1]),M(T(g(ce,ae),-H[1]),T(g(Ae,re),X[1]))),-G[2]))),M(M(T(M(T(g(Rt,me),V[1]),M(T(g(ot,Te),-H[1]),T(g(ze,ge),G[1]))),q[2]),T(M(T(g(Rt,me),q[1]),M(T(g(rt,_e),-H[1]),T(g(Ae,re),G[1]))),-V[2])),M(T(M(T(g(ot,Te),q[1]),M(T(g(rt,_e),-V[1]),T(g(ke,W),G[1]))),H[2]),T(M(T(g(ze,ge),q[1]),M(T(g(Ae,re),-V[1]),T(g(ke,W),H[1]))),-G[2])))),xr=g(Ct,Yt);return xr[xr.length-1]}return F}function k(M,g,P,T){function F(q,V,H,X,G,N){var W=M(M(P(q[0],q[0]),P(q[1],q[1])),M(P(q[2],q[2]),P(q[3],q[3]))),re=T(W,V[0]),ae=T(W,H[0]),_e=T(W,X[0]),Me=T(W,G[0]),ke=T(W,N[0]),ge=M(M(P(V[0],V[0]),P(V[1],V[1])),M(P(V[2],V[2]),P(V[3],V[3]))),ie=T(ge,q[0]),Te=T(ge,H[0]),Ee=T(ge,X[0]),Ae=T(ge,G[0]),ze=T(ge,N[0]),Ce=M(M(P(H[0],H[0]),P(H[1],H[1])),M(P(H[2],H[2]),P(H[3],H[3]))),me=T(Ce,q[0]),Re=T(Ce,V[0]),ce=T(Ce,X[0]),Ge=T(Ce,G[0]),nt=T(Ce,N[0]),ct=M(M(P(X[0],X[0]),P(X[1],X[1])),M(P(X[2],X[2]),P(X[3],X[3]))),qt=T(ct,q[0]),rt=T(ct,V[0]),ot=T(ct,H[0]),Rt=T(ct,G[0]),kt=T(ct,N[0]),Ct=M(M(P(G[0],G[0]),P(G[1],G[1])),M(P(G[2],G[2]),P(G[3],G[3]))),Yt=T(Ct,q[0]),xr=T(Ct,V[0]),er=T(Ct,H[0]),Ke=T(Ct,X[0]),xt=T(Ct,N[0]),bt=M(M(P(N[0],N[0]),P(N[1],N[1])),M(P(N[2],N[2]),P(N[3],N[3]))),Lt=T(bt,q[0]),St=T(bt,V[0]),Et=T(bt,H[0]),dt=T(bt,X[0]),Ht=T(bt,G[0]),$t=M(M(M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),H[2]),T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),-X[2])),M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),G[2]),T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),-N[2]))),V[3]),M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),V[2]),T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),-X[2])),M(T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),G[2]),T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),-N[2]))),-H[3]),T(M(M(T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),V[2]),T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),-H[2])),M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),G[2]),T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),-N[2]))),X[3]))),M(M(T(M(M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),V[2]),T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),-H[2])),M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),X[2]),T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),-N[2]))),-G[3]),T(M(M(T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),V[2]),T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),-H[2])),M(T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),X[2]),T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),-G[2]))),N[3])),M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),V[2]),T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),-X[2])),M(T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),G[2]),T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),-N[2]))),q[3]),T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-X[2])),M(T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),G[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-N[2]))),-V[3])))),M(M(M(T(M(M(T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),G[2]),T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),-N[2]))),X[3]),T(M(M(T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),q[2]),T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),X[2]),T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),-N[2]))),-G[3])),M(T(M(M(T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),q[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-V[2])),M(T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),X[2]),T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),-G[2]))),N[3]),T(M(M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),V[2]),T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),-H[2])),M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),X[2]),T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),-N[2]))),q[3]))),M(M(T(M(M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),q[2]),T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),-H[2])),M(T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),X[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-N[2]))),-V[3]),T(M(M(T(M(T(g(dt,kt),V[1]),M(T(g(St,ze),-X[1]),T(g(rt,Ee),N[1]))),q[2]),T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),X[2]),T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),-N[2]))),H[3])),M(T(M(M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),q[2]),T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-N[2]))),-X[3]),T(M(M(T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),q[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-V[2])),M(T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-X[2]))),N[3]))))),fr=M(M(M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),H[2]),T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),-X[2])),M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),G[2]),T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),-N[2]))),q[3]),M(T(M(M(T(M(T(g(Ht,xt),X[1]),M(T(g(dt,kt),-G[1]),T(g(Ke,Rt),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-X[2])),M(T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),G[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-N[2]))),-H[3]),T(M(M(T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-H[2])),M(T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),G[2]),T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),-N[2]))),X[3]))),M(M(T(M(M(T(M(T(g(dt,kt),H[1]),M(T(g(Et,nt),-X[1]),T(g(ot,ce),N[1]))),q[2]),T(M(T(g(dt,kt),q[1]),M(T(g(Lt,ke),-X[1]),T(g(qt,_e),N[1]))),-H[2])),M(T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),X[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-N[2]))),-G[3]),T(M(M(T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),q[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-H[2])),M(T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),X[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-G[2]))),N[3])),M(T(M(M(T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),V[2]),T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),-H[2])),M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),G[2]),T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),-N[2]))),q[3]),T(M(M(T(M(T(g(Ht,xt),H[1]),M(T(g(Et,nt),-G[1]),T(g(er,Ge),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-H[2])),M(T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),G[2]),T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),-N[2]))),-V[3])))),M(M(M(T(M(M(T(M(T(g(Ht,xt),V[1]),M(T(g(St,ze),-G[1]),T(g(xr,Ae),N[1]))),q[2]),T(M(T(g(Ht,xt),q[1]),M(T(g(Lt,ke),-G[1]),T(g(Yt,Me),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),G[2]),T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),-N[2]))),H[3]),T(M(M(T(M(T(g(Et,nt),V[1]),M(T(g(St,ze),-H[1]),T(g(Re,Te),N[1]))),q[2]),T(M(T(g(Et,nt),q[1]),M(T(g(Lt,ke),-H[1]),T(g(me,ae),N[1]))),-V[2])),M(T(M(T(g(St,ze),q[1]),M(T(g(Lt,ke),-V[1]),T(g(ie,re),N[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-N[2]))),-G[3])),M(T(M(M(T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),q[2]),T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),-V[2])),M(T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-G[2]))),N[3]),T(M(M(T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),V[2]),T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),-H[2])),M(T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),X[2]),T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),-G[2]))),q[3]))),M(M(T(M(M(T(M(T(g(Ke,Rt),H[1]),M(T(g(er,Ge),-X[1]),T(g(ot,ce),G[1]))),q[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-H[2])),M(T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),X[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-G[2]))),-V[3]),T(M(M(T(M(T(g(Ke,Rt),V[1]),M(T(g(xr,Ae),-X[1]),T(g(rt,Ee),G[1]))),q[2]),T(M(T(g(Ke,Rt),q[1]),M(T(g(Yt,Me),-X[1]),T(g(qt,_e),G[1]))),-V[2])),M(T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),X[2]),T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),-G[2]))),H[3])),M(T(M(M(T(M(T(g(er,Ge),V[1]),M(T(g(xr,Ae),-H[1]),T(g(Re,Te),G[1]))),q[2]),T(M(T(g(er,Ge),q[1]),M(T(g(Yt,Me),-H[1]),T(g(me,ae),G[1]))),-V[2])),M(T(M(T(g(xr,Ae),q[1]),M(T(g(Yt,Me),-V[1]),T(g(ie,re),G[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-G[2]))),-X[3]),T(M(M(T(M(T(g(ot,ce),V[1]),M(T(g(rt,Ee),-H[1]),T(g(Re,Te),X[1]))),q[2]),T(M(T(g(ot,ce),q[1]),M(T(g(qt,_e),-H[1]),T(g(me,ae),X[1]))),-V[2])),M(T(M(T(g(rt,Ee),q[1]),M(T(g(qt,_e),-V[1]),T(g(ie,re),X[1]))),H[2]),T(M(T(g(Re,Te),q[1]),M(T(g(me,ae),-V[1]),T(g(ie,re),H[1]))),-X[2]))),G[3]))))),_r=g($t,fr);return _r[_r.length-1]}return F}var A=[d,v,x];function L(M){var g=A[M.length];return g||(g=A[M.length]=h(M.length)),g.apply(void 0,M)}function _(M,g,P,T,F,q,V,H){function X(G,N,W,re,ae,_e){switch(arguments.length){case 0:case 1:return 0;case 2:return T(G,N);case 3:return F(G,N,W);case 4:return q(G,N,W,re);case 5:return V(G,N,W,re,ae);case 6:return H(G,N,W,re,ae,_e)}for(var Me=new Array(arguments.length),ke=0;ke<arguments.length;++ke)Me[ke]=arguments[ke];return M(Me)}return X}function C(){for(;A.length<=f;)A.push(h(A.length));i.exports=_.apply(void 0,[L].concat(A));for(var M=0;M<=f;++M)i.exports[M]=A[M]}C()},727:function(i,a,o){\"use strict\";var s=o(2962),l=6;function u(A){var L=A===2?h:A===3?d:A===4?v:A===5?x:b;return A<6?L(s[A]):L(s)}function c(){return[[0]]}function f(A,L){return[[L[0]],[A[0][0]]]}function h(A){return function(_,C){return[A([[+C[0],+_[0][1]],[+C[1],+_[1][1]]]),A([[+_[0][0],+C[0]],[+_[1][0],+C[1]]]),A(_)]}}function d(A){return function(_,C){return[A([[+C[0],+_[0][1],+_[0][2]],[+C[1],+_[1][1],+_[1][2]],[+C[2],+_[2][1],+_[2][2]]]),A([[+_[0][0],+C[0],+_[0][2]],[+_[1][0],+C[1],+_[1][2]],[+_[2][0],+C[2],+_[2][2]]]),A([[+_[0][0],+_[0][1],+C[0]],[+_[1][0],+_[1][1],+C[1]],[+_[2][0],+_[2][1],+C[2]]]),A(_)]}}function v(A){return function(_,C){return[A([[+C[0],+_[0][1],+_[0][2],+_[0][3]],[+C[1],+_[1][1],+_[1][2],+_[1][3]],[+C[2],+_[2][1],+_[2][2],+_[2][3]],[+C[3],+_[3][1],+_[3][2],+_[3][3]]]),A([[+_[0][0],+C[0],+_[0][2],+_[0][3]],[+_[1][0],+C[1],+_[1][2],+_[1][3]],[+_[2][0],+C[2],+_[2][2],+_[2][3]],[+_[3][0],+C[3],+_[3][2],+_[3][3]]]),A([[+_[0][0],+_[0][1],+C[0],+_[0][3]],[+_[1][0],+_[1][1],+C[1],+_[1][3]],[+_[2][0],+_[2][1],+C[2],+_[2][3]],[+_[3][0],+_[3][1],+C[3],+_[3][3]]]),A([[+_[0][0],+_[0][1],+_[0][2],+C[0]],[+_[1][0],+_[1][1],+_[1][2],+C[1]],[+_[2][0],+_[2][1],+_[2][2],+C[2]],[+_[3][0],+_[3][1],+_[3][2],+C[3]]]),A(_)]}}function x(A){return function(_,C){return[A([[+C[0],+_[0][1],+_[0][2],+_[0][3],+_[0][4]],[+C[1],+_[1][1],+_[1][2],+_[1][3],+_[1][4]],[+C[2],+_[2][1],+_[2][2],+_[2][3],+_[2][4]],[+C[3],+_[3][1],+_[3][2],+_[3][3],+_[3][4]],[+C[4],+_[4][1],+_[4][2],+_[4][3],+_[4][4]]]),A([[+_[0][0],+C[0],+_[0][2],+_[0][3],+_[0][4]],[+_[1][0],+C[1],+_[1][2],+_[1][3],+_[1][4]],[+_[2][0],+C[2],+_[2][2],+_[2][3],+_[2][4]],[+_[3][0],+C[3],+_[3][2],+_[3][3],+_[3][4]],[+_[4][0],+C[4],+_[4][2],+_[4][3],+_[4][4]]]),A([[+_[0][0],+_[0][1],+C[0],+_[0][3],+_[0][4]],[+_[1][0],+_[1][1],+C[1],+_[1][3],+_[1][4]],[+_[2][0],+_[2][1],+C[2],+_[2][3],+_[2][4]],[+_[3][0],+_[3][1],+C[3],+_[3][3],+_[3][4]],[+_[4][0],+_[4][1],+C[4],+_[4][3],+_[4][4]]]),A([[+_[0][0],+_[0][1],+_[0][2],+C[0],+_[0][4]],[+_[1][0],+_[1][1],+_[1][2],+C[1],+_[1][4]],[+_[2][0],+_[2][1],+_[2][2],+C[2],+_[2][4]],[+_[3][0],+_[3][1],+_[3][2],+C[3],+_[3][4]],[+_[4][0],+_[4][1],+_[4][2],+C[4],+_[4][4]]]),A([[+_[0][0],+_[0][1],+_[0][2],+_[0][3],+C[0]],[+_[1][0],+_[1][1],+_[1][2],+_[1][3],+C[1]],[+_[2][0],+_[2][1],+_[2][2],+_[2][3],+C[2]],[+_[3][0],+_[3][1],+_[3][2],+_[3][3],+C[3]],[+_[4][0],+_[4][1],+_[4][2],+_[4][3],+C[4]]]),A(_)]}}function b(A){return function(_,C){return[A([[+C[0],+_[0][1],+_[0][2],+_[0][3],+_[0][4],+_[0][5]],[+C[1],+_[1][1],+_[1][2],+_[1][3],+_[1][4],+_[1][5]],[+C[2],+_[2][1],+_[2][2],+_[2][3],+_[2][4],+_[2][5]],[+C[3],+_[3][1],+_[3][2],+_[3][3],+_[3][4],+_[3][5]],[+C[4],+_[4][1],+_[4][2],+_[4][3],+_[4][4],+_[4][5]],[+C[5],+_[5][1],+_[5][2],+_[5][3],+_[5][4],+_[5][5]]]),A([[+_[0][0],+C[0],+_[0][2],+_[0][3],+_[0][4],+_[0][5]],[+_[1][0],+C[1],+_[1][2],+_[1][3],+_[1][4],+_[1][5]],[+_[2][0],+C[2],+_[2][2],+_[2][3],+_[2][4],+_[2][5]],[+_[3][0],+C[3],+_[3][2],+_[3][3],+_[3][4],+_[3][5]],[+_[4][0],+C[4],+_[4][2],+_[4][3],+_[4][4],+_[4][5]],[+_[5][0],+C[5],+_[5][2],+_[5][3],+_[5][4],+_[5][5]]]),A([[+_[0][0],+_[0][1],+C[0],+_[0][3],+_[0][4],+_[0][5]],[+_[1][0],+_[1][1],+C[1],+_[1][3],+_[1][4],+_[1][5]],[+_[2][0],+_[2][1],+C[2],+_[2][3],+_[2][4],+_[2][5]],[+_[3][0],+_[3][1],+C[3],+_[3][3],+_[3][4],+_[3][5]],[+_[4][0],+_[4][1],+C[4],+_[4][3],+_[4][4],+_[4][5]],[+_[5][0],+_[5][1],+C[5],+_[5][3],+_[5][4],+_[5][5]]]),A([[+_[0][0],+_[0][1],+_[0][2],+C[0],+_[0][4],+_[0][5]],[+_[1][0],+_[1][1],+_[1][2],+C[1],+_[1][4],+_[1][5]],[+_[2][0],+_[2][1],+_[2][2],+C[2],+_[2][4],+_[2][5]],[+_[3][0],+_[3][1],+_[3][2],+C[3],+_[3][4],+_[3][5]],[+_[4][0],+_[4][1],+_[4][2],+C[4],+_[4][4],+_[4][5]],[+_[5][0],+_[5][1],+_[5][2],+C[5],+_[5][4],+_[5][5]]]),A([[+_[0][0],+_[0][1],+_[0][2],+_[0][3],+C[0],+_[0][5]],[+_[1][0],+_[1][1],+_[1][2],+_[1][3],+C[1],+_[1][5]],[+_[2][0],+_[2][1],+_[2][2],+_[2][3],+C[2],+_[2][5]],[+_[3][0],+_[3][1],+_[3][2],+_[3][3],+C[3],+_[3][5]],[+_[4][0],+_[4][1],+_[4][2],+_[4][3],+C[4],+_[4][5]],[+_[5][0],+_[5][1],+_[5][2],+_[5][3],+C[5],+_[5][5]]]),A([[+_[0][0],+_[0][1],+_[0][2],+_[0][3],+_[0][4],+C[0]],[+_[1][0],+_[1][1],+_[1][2],+_[1][3],+_[1][4],+C[1]],[+_[2][0],+_[2][1],+_[2][2],+_[2][3],+_[2][4],+C[2]],[+_[3][0],+_[3][1],+_[3][2],+_[3][3],+_[3][4],+C[3]],[+_[4][0],+_[4][1],+_[4][2],+_[4][3],+_[4][4],+C[4]],[+_[5][0],+_[5][1],+_[5][2],+_[5][3],+_[5][4],+C[5]]]),A(_)]}}var p=[c,f];function E(A,L,_,C,M,g,P,T){return function(q,V){switch(q.length){case 0:return A(q,V);case 1:return L(q,V);case 2:return _(q,V);case 3:return C(q,V);case 4:return M(q,V);case 5:return g(q,V)}var H=P[q.length];return H||(H=P[q.length]=T(q.length)),H(q,V)}}function k(){for(;p.length<l;)p.push(u(p.length));i.exports=E.apply(void 0,p.concat([p,u]));for(var A=0;A<l;++A)i.exports[A]=p[A]}k()},3250:function(i,a,o){\"use strict\";var s=o(5250),l=o(8210),u=o(3012),c=o(8545),f=5,h=11102230246251565e-32,d=(3+16*h)*h,v=(7+56*h)*h;function x(g,P,T,F){return function(V,H,X){var G=g(g(P(H[1],X[0]),P(-X[1],H[0])),g(P(V[1],H[0]),P(-H[1],V[0]))),N=g(P(V[1],X[0]),P(-X[1],V[0])),W=F(G,N);return W[W.length-1]}}function b(g,P,T,F){return function(V,H,X,G){var N=g(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),H[2]),g(T(g(P(H[1],G[0]),P(-G[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),G[2]))),g(T(g(P(H[1],G[0]),P(-G[1],H[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),G[2])))),W=g(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),G[2]))),g(T(g(P(H[1],X[0]),P(-X[1],H[0])),V[2]),g(T(g(P(V[1],X[0]),P(-X[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),X[2])))),re=F(N,W);return re[re.length-1]}}function p(g,P,T,F){return function(V,H,X,G,N){var W=g(g(g(T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),X[2]),g(T(g(P(X[1],N[0]),P(-N[1],X[0])),-G[2]),T(g(P(X[1],G[0]),P(-G[1],X[0])),N[2]))),H[3]),g(T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),H[2]),g(T(g(P(H[1],N[0]),P(-N[1],H[0])),-G[2]),T(g(P(H[1],G[0]),P(-G[1],H[0])),N[2]))),-X[3]),T(g(T(g(P(X[1],N[0]),P(-N[1],X[0])),H[2]),g(T(g(P(H[1],N[0]),P(-N[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),N[2]))),G[3]))),g(T(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),H[2]),g(T(g(P(H[1],G[0]),P(-G[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),G[2]))),-N[3]),g(T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),H[2]),g(T(g(P(H[1],N[0]),P(-N[1],H[0])),-G[2]),T(g(P(H[1],G[0]),P(-G[1],H[0])),N[2]))),V[3]),T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-G[2]),T(g(P(V[1],G[0]),P(-G[1],V[0])),N[2]))),-H[3])))),g(g(T(g(T(g(P(H[1],N[0]),P(-N[1],H[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),N[2]))),G[3]),g(T(g(T(g(P(H[1],G[0]),P(-G[1],H[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),G[2]))),-N[3]),T(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),H[2]),g(T(g(P(H[1],G[0]),P(-G[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),G[2]))),V[3]))),g(T(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),G[2]))),-H[3]),g(T(g(T(g(P(H[1],G[0]),P(-G[1],H[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),G[2]))),X[3]),T(g(T(g(P(H[1],X[0]),P(-X[1],H[0])),V[2]),g(T(g(P(V[1],X[0]),P(-X[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),X[2]))),-G[3]))))),re=g(g(g(T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),X[2]),g(T(g(P(X[1],N[0]),P(-N[1],X[0])),-G[2]),T(g(P(X[1],G[0]),P(-G[1],X[0])),N[2]))),V[3]),T(g(T(g(P(G[1],N[0]),P(-N[1],G[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-G[2]),T(g(P(V[1],G[0]),P(-G[1],V[0])),N[2]))),-X[3])),g(T(g(T(g(P(X[1],N[0]),P(-N[1],X[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),N[2]))),G[3]),T(g(T(g(P(X[1],G[0]),P(-G[1],X[0])),V[2]),g(T(g(P(V[1],G[0]),P(-G[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),G[2]))),-N[3]))),g(g(T(g(T(g(P(X[1],N[0]),P(-N[1],X[0])),H[2]),g(T(g(P(H[1],N[0]),P(-N[1],H[0])),-X[2]),T(g(P(H[1],X[0]),P(-X[1],H[0])),N[2]))),V[3]),T(g(T(g(P(X[1],N[0]),P(-N[1],X[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-X[2]),T(g(P(V[1],X[0]),P(-X[1],V[0])),N[2]))),-H[3])),g(T(g(T(g(P(H[1],N[0]),P(-N[1],H[0])),V[2]),g(T(g(P(V[1],N[0]),P(-N[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),N[2]))),X[3]),T(g(T(g(P(H[1],X[0]),P(-X[1],H[0])),V[2]),g(T(g(P(V[1],X[0]),P(-X[1],V[0])),-H[2]),T(g(P(V[1],H[0]),P(-H[1],V[0])),X[2]))),-N[3])))),ae=F(W,re);return ae[ae.length-1]}}function E(g){var P=g===3?x:g===4?b:p;return P(l,s,u,c)}var k=E(3),A=E(4),L=[function(){return 0},function(){return 0},function(P,T){return T[0]-P[0]},function(P,T,F){var q=(P[1]-F[1])*(T[0]-F[0]),V=(P[0]-F[0])*(T[1]-F[1]),H=q-V,X;if(q>0){if(V<=0)return H;X=q+V}else if(q<0){if(V>=0)return H;X=-(q+V)}else return H;var G=d*X;return H>=G||H<=-G?H:k(P,T,F)},function(P,T,F,q){var V=P[0]-q[0],H=T[0]-q[0],X=F[0]-q[0],G=P[1]-q[1],N=T[1]-q[1],W=F[1]-q[1],re=P[2]-q[2],ae=T[2]-q[2],_e=F[2]-q[2],Me=H*W,ke=X*N,ge=X*G,ie=V*W,Te=V*N,Ee=H*G,Ae=re*(Me-ke)+ae*(ge-ie)+_e*(Te-Ee),ze=(Math.abs(Me)+Math.abs(ke))*Math.abs(re)+(Math.abs(ge)+Math.abs(ie))*Math.abs(ae)+(Math.abs(Te)+Math.abs(Ee))*Math.abs(_e),Ce=v*ze;return Ae>Ce||-Ae>Ce?Ae:A(P,T,F,q)}];function _(g){var P=L[g.length];return P||(P=L[g.length]=E(g.length)),P.apply(void 0,g)}function C(g,P,T,F,q,V,H){return function(G,N,W,re,ae){switch(arguments.length){case 0:case 1:return 0;case 2:return F(G,N);case 3:return q(G,N,W);case 4:return V(G,N,W,re);case 5:return H(G,N,W,re,ae)}for(var _e=new Array(arguments.length),Me=0;Me<arguments.length;++Me)_e[Me]=arguments[Me];return g(_e)}}function M(){for(;L.length<=f;)L.push(E(L.length));i.exports=C.apply(void 0,[_].concat(L));for(var g=0;g<=f;++g)i.exports[g]=L[g]}M()},5382:function(i,a,o){\"use strict\";var s=o(8210),l=o(3012);i.exports=u;function u(c,f){if(c.length===1)return l(f,c[0]);if(f.length===1)return l(c,f[0]);if(c.length===0||f.length===0)return[0];var h=[0];if(c.length<f.length)for(var d=0;d<c.length;++d)h=s(h,l(f,c[d]));else for(var d=0;d<f.length;++d)h=s(h,l(c,f[d]));return h}},3012:function(i,a,o){\"use strict\";var s=o(5250),l=o(9362);i.exports=u;function u(c,f){var h=c.length;if(h===1){var d=s(c[0],f);return d[0]?d:[d[1]]}var v=new Array(2*h),x=[.1,.1],b=[.1,.1],p=0;s(c[0],f,x),x[0]&&(v[p++]=x[0]);for(var E=1;E<h;++E){s(c[E],f,b);var k=x[1];l(k,b[0],x),x[0]&&(v[p++]=x[0]);var A=b[1],L=x[1],_=A+L,C=_-A,M=L-C;x[1]=_,M&&(v[p++]=M)}return x[1]&&(v[p++]=x[1]),p===0&&(v[p++]=0),v.length=p,v}},1125:function(i,a,o){\"use strict\";i.exports=u;var s=o(3250)[3];function l(c,f,h,d){for(var v=0;v<2;++v){var x=c[v],b=f[v],p=Math.min(x,b),E=Math.max(x,b),k=h[v],A=d[v],L=Math.min(k,A),_=Math.max(k,A);if(_<p||E<L)return!1}return!0}function u(c,f,h,d){var v=s(c,h,d),x=s(f,h,d);if(v>0&&x>0||v<0&&x<0)return!1;var b=s(h,c,f),p=s(d,c,f);return b>0&&p>0||b<0&&p<0?!1:v===0&&x===0&&b===0&&p===0?l(c,f,h,d):!0}},8545:function(i){\"use strict\";i.exports=o;function a(s,l){var u=s+l,c=u-s,f=u-c,h=l-c,d=s-f,v=d+h;return v?[v,u]:[u]}function o(s,l){var u=s.length|0,c=l.length|0;if(u===1&&c===1)return a(s[0],-l[0]);var f=u+c,h=new Array(f),d=0,v=0,x=0,b=Math.abs,p=s[v],E=b(p),k=-l[x],A=b(k),L,_;E<A?(_=p,v+=1,v<u&&(p=s[v],E=b(p))):(_=k,x+=1,x<c&&(k=-l[x],A=b(k))),v<u&&E<A||x>=c?(L=p,v+=1,v<u&&(p=s[v],E=b(p))):(L=k,x+=1,x<c&&(k=-l[x],A=b(k)));for(var C=L+_,M=C-L,g=_-M,P=g,T=C,F,q,V,H,X;v<u&&x<c;)E<A?(L=p,v+=1,v<u&&(p=s[v],E=b(p))):(L=k,x+=1,x<c&&(k=-l[x],A=b(k))),_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F;for(;v<u;)L=p,_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F,v+=1,v<u&&(p=s[v]);for(;x<c;)L=k,_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F,x+=1,x<c&&(k=-l[x]);return P&&(h[d++]=P),T&&(h[d++]=T),d||(h[d++]=0),h.length=d,h}},8210:function(i){\"use strict\";i.exports=o;function a(s,l){var u=s+l,c=u-s,f=u-c,h=l-c,d=s-f,v=d+h;return v?[v,u]:[u]}function o(s,l){var u=s.length|0,c=l.length|0;if(u===1&&c===1)return a(s[0],l[0]);var f=u+c,h=new Array(f),d=0,v=0,x=0,b=Math.abs,p=s[v],E=b(p),k=l[x],A=b(k),L,_;E<A?(_=p,v+=1,v<u&&(p=s[v],E=b(p))):(_=k,x+=1,x<c&&(k=l[x],A=b(k))),v<u&&E<A||x>=c?(L=p,v+=1,v<u&&(p=s[v],E=b(p))):(L=k,x+=1,x<c&&(k=l[x],A=b(k)));for(var C=L+_,M=C-L,g=_-M,P=g,T=C,F,q,V,H,X;v<u&&x<c;)E<A?(L=p,v+=1,v<u&&(p=s[v],E=b(p))):(L=k,x+=1,x<c&&(k=l[x],A=b(k))),_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F;for(;v<u;)L=p,_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F,v+=1,v<u&&(p=s[v]);for(;x<c;)L=k,_=P,C=L+_,M=C-L,g=_-M,g&&(h[d++]=g),F=T+C,q=F-T,V=F-q,H=C-q,X=T-V,P=X+H,T=F,x+=1,x<c&&(k=l[x]);return P&&(h[d++]=P),T&&(h[d++]=T),d||(h[d++]=0),h.length=d,h}},9127:function(i,a,o){\"use strict\";i.exports=u;var s=o(6204),l=o(5771);function u(c){return l(s(c))}},7765:function(i,a,o){\"use strict\";i.exports=p;var s=o(9618),l=o(1888),u=o(446),c=o(1570);function f(E){for(var k=E.length,A=0,L=0;L<k;++L)A=Math.max(A,E[L].length)|0;return A-1}function h(E,k){for(var A=E.length,L=l.mallocUint8(A),_=0;_<A;++_)L[_]=E[_]<k|0;return L}function d(E,k){for(var A=E.length,L=k*(k+1)/2*A|0,_=l.mallocUint32(L*2),C=0,M=0;M<A;++M)for(var g=E[M],k=g.length,P=0;P<k;++P)for(var T=0;T<P;++T){var F=g[T],q=g[P];_[C++]=Math.min(F,q)|0,_[C++]=Math.max(F,q)|0}var V=C/2|0;u(s(_,[V,2]));for(var H=2,M=2;M<C;M+=2)_[M-2]===_[M]&&_[M-1]===_[M+1]||(_[H++]=_[M],_[H++]=_[M+1]);return s(_,[H/2|0,2])}function v(E,k,A,L){for(var _=E.data,C=E.shape[0],M=l.mallocDouble(C),g=0,P=0;P<C;++P){var T=_[2*P],F=_[2*P+1];if(A[T]!==A[F]){var q=k[T],V=k[F];_[2*g]=T,_[2*g+1]=F,M[g++]=(V-L)/(V-q)}}return E.shape[0]=g,s(M,[g])}function x(E,k){var A=l.mallocInt32(k*2),L=E.shape[0],_=E.data;A[0]=0;for(var C=0,M=0;M<L;++M){var g=_[2*M];if(g!==C){for(A[2*C+1]=M;++C<g;)A[2*C]=M,A[2*C+1]=M;A[2*C]=M}}for(A[2*C+1]=L;++C<k;)A[2*C]=A[2*C+1]=L;return A}function b(E){for(var k=E.shape[0]|0,A=E.data,L=new Array(k),_=0;_<k;++_)L[_]=[A[2*_],A[2*_+1]];return L}function p(E,k,A,L){A=A||0,typeof L==\"undefined\"&&(L=f(E));var _=E.length;if(_===0||L<1)return{cells:[],vertexIds:[],vertexWeights:[]};var C=h(k,+A),M=d(E,L),g=v(M,k,C,+A),P=x(M,k.length|0),T=c(L)(E,M.data,P,C),F=b(M),q=[].slice.call(g.data,0,g.shape[0]);return l.free(C),l.free(M.data),l.free(g.data),l.free(P),{cells:T,vertexIds:F,vertexWeights:q}}},1570:function(i){\"use strict\";i.exports=o;var a=[function(){function l(c,f,h,d){for(var v=Math.min(h,d)|0,x=Math.max(h,d)|0,b=c[2*v],p=c[2*v+1];b<p;){var E=b+p>>1,k=f[2*E+1];if(k===x)return E;x<k?p=E:b=E+1}return b}function u(c,f,h,d){for(var v=c.length,x=[],b=0;b<v;++b)var p=c[b],E=p.length;return x}return u},function(){function l(c,f,h,d){for(var v=Math.min(h,d)|0,x=Math.max(h,d)|0,b=c[2*v],p=c[2*v+1];b<p;){var E=b+p>>1,k=f[2*E+1];if(k===x)return E;x<k?p=E:b=E+1}return b}function u(c,f,h,d){for(var v=c.length,x=[],b=0;b<v;++b){var p=c[b],E=p.length;if(E===2){var k=(d[p[0]]<<0)+(d[p[1]]<<1);if(k===0||k===3)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0])]);break;case 3:break}}}return x}return u},function(){function l(c,f,h,d){for(var v=Math.min(h,d)|0,x=Math.max(h,d)|0,b=c[2*v],p=c[2*v+1];b<p;){var E=b+p>>1,k=f[2*E+1];if(k===x)return E;x<k?p=E:b=E+1}return b}function u(c,f,h,d){for(var v=c.length,x=[],b=0;b<v;++b){var p=c[b],E=p.length;if(E===3){var k=(d[p[0]]<<0)+(d[p[1]]<<1)+(d[p[2]]<<2);if(k===0||k===7)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[2]),l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0]),l(h,f,p[1],p[2])]);break;case 3:x.push([l(h,f,p[0],p[2]),l(h,f,p[1],p[2])]);break;case 4:x.push([l(h,f,p[2],p[1]),l(h,f,p[2],p[0])]);break;case 5:x.push([l(h,f,p[2],p[1]),l(h,f,p[0],p[1])]);break;case 6:x.push([l(h,f,p[1],p[0]),l(h,f,p[2],p[0])]);break;case 7:break}}else if(E===2){var k=(d[p[0]]<<0)+(d[p[1]]<<1);if(k===0||k===3)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0])]);break;case 3:break}}}return x}return u},function(){function l(c,f,h,d){for(var v=Math.min(h,d)|0,x=Math.max(h,d)|0,b=c[2*v],p=c[2*v+1];b<p;){var E=b+p>>1,k=f[2*E+1];if(k===x)return E;x<k?p=E:b=E+1}return b}function u(c,f,h,d){for(var v=c.length,x=[],b=0;b<v;++b){var p=c[b],E=p.length;if(E===4){var k=(d[p[0]]<<0)+(d[p[1]]<<1)+(d[p[2]]<<2)+(d[p[3]]<<3);if(k===0||k===15)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[1]),l(h,f,p[0],p[2]),l(h,f,p[0],p[3])]);break;case 2:x.push([l(h,f,p[1],p[2]),l(h,f,p[1],p[0]),l(h,f,p[1],p[3])]);break;case 3:x.push([l(h,f,p[1],p[2]),l(h,f,p[0],p[2]),l(h,f,p[0],p[3])],[l(h,f,p[1],p[3]),l(h,f,p[1],p[2]),l(h,f,p[0],p[3])]);break;case 4:x.push([l(h,f,p[2],p[0]),l(h,f,p[2],p[1]),l(h,f,p[2],p[3])]);break;case 5:x.push([l(h,f,p[0],p[1]),l(h,f,p[2],p[1]),l(h,f,p[0],p[3])],[l(h,f,p[2],p[1]),l(h,f,p[2],p[3]),l(h,f,p[0],p[3])]);break;case 6:x.push([l(h,f,p[2],p[0]),l(h,f,p[1],p[0]),l(h,f,p[1],p[3])],[l(h,f,p[2],p[3]),l(h,f,p[2],p[0]),l(h,f,p[1],p[3])]);break;case 7:x.push([l(h,f,p[0],p[3]),l(h,f,p[1],p[3]),l(h,f,p[2],p[3])]);break;case 8:x.push([l(h,f,p[3],p[1]),l(h,f,p[3],p[0]),l(h,f,p[3],p[2])]);break;case 9:x.push([l(h,f,p[3],p[1]),l(h,f,p[0],p[1]),l(h,f,p[0],p[2])],[l(h,f,p[3],p[2]),l(h,f,p[3],p[1]),l(h,f,p[0],p[2])]);break;case 10:x.push([l(h,f,p[1],p[0]),l(h,f,p[3],p[0]),l(h,f,p[1],p[2])],[l(h,f,p[3],p[0]),l(h,f,p[3],p[2]),l(h,f,p[1],p[2])]);break;case 11:x.push([l(h,f,p[1],p[2]),l(h,f,p[0],p[2]),l(h,f,p[3],p[2])]);break;case 12:x.push([l(h,f,p[3],p[0]),l(h,f,p[2],p[0]),l(h,f,p[2],p[1])],[l(h,f,p[3],p[1]),l(h,f,p[3],p[0]),l(h,f,p[2],p[1])]);break;case 13:x.push([l(h,f,p[0],p[1]),l(h,f,p[2],p[1]),l(h,f,p[3],p[1])]);break;case 14:x.push([l(h,f,p[2],p[0]),l(h,f,p[1],p[0]),l(h,f,p[3],p[0])]);break;case 15:break}}else if(E===3){var k=(d[p[0]]<<0)+(d[p[1]]<<1)+(d[p[2]]<<2);if(k===0||k===7)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[2]),l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0]),l(h,f,p[1],p[2])]);break;case 3:x.push([l(h,f,p[0],p[2]),l(h,f,p[1],p[2])]);break;case 4:x.push([l(h,f,p[2],p[1]),l(h,f,p[2],p[0])]);break;case 5:x.push([l(h,f,p[2],p[1]),l(h,f,p[0],p[1])]);break;case 6:x.push([l(h,f,p[1],p[0]),l(h,f,p[2],p[0])]);break;case 7:break}}else if(E===2){var k=(d[p[0]]<<0)+(d[p[1]]<<1);if(k===0||k===3)continue;switch(k){case 0:break;case 1:x.push([l(h,f,p[0],p[1])]);break;case 2:x.push([l(h,f,p[1],p[0])]);break;case 3:break}}}return x}return u}];function o(s){return a[s]()}},6803:function(i,a,o){\"use strict\";var s,l=o(8828),u=o(1755);function c(P){for(var T=0,F=Math.max,q=0,V=P.length;q<V;++q)T=F(T,P[q].length);return T-1}s=c;function f(P){for(var T=-1,F=Math.max,q=0,V=P.length;q<V;++q)for(var H=P[q],X=0,G=H.length;X<G;++X)T=F(T,H[X]);return T+1}s=f;function h(P){for(var T=new Array(P.length),F=0,q=P.length;F<q;++F)T[F]=P[F].slice(0);return T}s=h;function d(P,T){var F=P.length,q=P.length-T.length,V=Math.min;if(q)return q;switch(F){case 0:return 0;case 1:return P[0]-T[0];case 2:var W=P[0]+P[1]-T[0]-T[1];return W||V(P[0],P[1])-V(T[0],T[1]);case 3:var H=P[0]+P[1],X=T[0]+T[1];if(W=H+P[2]-(X+T[2]),W)return W;var G=V(P[0],P[1]),N=V(T[0],T[1]),W=V(G,P[2])-V(N,T[2]);return W||V(G+P[2],H)-V(N+T[2],X);default:var re=P.slice(0);re.sort();var ae=T.slice(0);ae.sort();for(var _e=0;_e<F;++_e)if(q=re[_e]-ae[_e],q)return q;return 0}}a.Fw=d;function v(P,T){return d(P[0],T[0])}function x(P,T){if(T){for(var F=P.length,q=new Array(F),V=0;V<F;++V)q[V]=[P[V],T[V]];q.sort(v);for(var V=0;V<F;++V)P[V]=q[V][0],T[V]=q[V][1];return P}else return P.sort(d),P}s=x;function b(P){if(P.length===0)return[];for(var T=1,F=P.length,q=1;q<F;++q){var V=P[q];if(d(V,P[q-1])){if(q===T){T++;continue}P[T++]=V}}return P.length=T,P}s=b;function p(P,T){for(var F=0,q=P.length-1,V=-1;F<=q;){var H=F+q>>1,X=d(P[H],T);X<=0?(X===0&&(V=H),F=H+1):X>0&&(q=H-1)}return V}s=p;function E(P,T){for(var F=new Array(P.length),q=0,V=F.length;q<V;++q)F[q]=[];for(var H=[],q=0,X=T.length;q<X;++q)for(var G=T[q],N=G.length,W=1,re=1<<N;W<re;++W){H.length=l.popCount(W);for(var ae=0,_e=0;_e<N;++_e)W&1<<_e&&(H[ae++]=G[_e]);var Me=p(P,H);if(!(Me<0))for(;F[Me++].push(q),!(Me>=P.length||d(P[Me],H)!==0););}return F}s=E;function k(P,T){if(!T)return E(b(L(P,0)),P,0);for(var F=new Array(T),q=0;q<T;++q)F[q]=[];for(var q=0,V=P.length;q<V;++q)for(var H=P[q],X=0,G=H.length;X<G;++X)F[H[X]].push(q);return F}s=k;function A(P){for(var T=[],F=0,q=P.length;F<q;++F)for(var V=P[F],H=V.length|0,X=1,G=1<<H;X<G;++X){for(var N=[],W=0;W<H;++W)X>>>W&1&&N.push(V[W]);T.push(N)}return x(T)}s=A;function L(P,T){if(T<0)return[];for(var F=[],q=(1<<T+1)-1,V=0;V<P.length;++V)for(var H=P[V],X=q;X<1<<H.length;X=l.nextCombination(X)){for(var G=new Array(T+1),N=0,W=0;W<H.length;++W)X&1<<W&&(G[N++]=H[W]);F.push(G)}return x(F)}s=L;function _(P){for(var T=[],F=0,q=P.length;F<q;++F)for(var V=P[F],H=0,X=V.length;H<X;++H){for(var G=new Array(V.length-1),N=0,W=0;N<X;++N)N!==H&&(G[W++]=V[N]);T.push(G)}return x(T)}s=_;function C(P,T){for(var F=new u(T),q=0;q<P.length;++q)for(var V=P[q],H=0;H<V.length;++H)for(var X=H+1;X<V.length;++X)F.link(V[H],V[X]);for(var G=[],N=F.ranks,q=0;q<N.length;++q)N[q]=-1;for(var q=0;q<P.length;++q){var W=F.find(P[q][0]);N[W]<0?(N[W]=G.length,G.push([P[q].slice(0)])):G[N[W]].push(P[q].slice(0))}return G}function M(P){for(var T=b(x(L(P,0))),F=new u(T.length),q=0;q<P.length;++q)for(var V=P[q],H=0;H<V.length;++H)for(var X=p(T,[V[H]]),G=H+1;G<V.length;++G)F.link(X,p(T,[V[G]]));for(var N=[],W=F.ranks,q=0;q<W.length;++q)W[q]=-1;for(var q=0;q<P.length;++q){var re=F.find(p(T,[P[q][0]]));W[re]<0?(W[re]=N.length,N.push([P[q].slice(0)])):N[W[re]].push(P[q].slice(0))}return N}function g(P,T){return T?C(P,T):M(P)}s=g},3105:function(i,a){\"use strict\";\"use restrict\";var o=32;a.INT_BITS=o,a.INT_MAX=2147483647,a.INT_MIN=-1<<o-1,a.sign=function(u){return(u>0)-(u<0)},a.abs=function(u){var c=u>>o-1;return(u^c)-c},a.min=function(u,c){return c^(u^c)&-(u<c)},a.max=function(u,c){return u^(u^c)&-(u<c)},a.isPow2=function(u){return!(u&u-1)&&!!u},a.log2=function(u){var c,f;return c=(u>65535)<<4,u>>>=c,f=(u>255)<<3,u>>>=f,c|=f,f=(u>15)<<2,u>>>=f,c|=f,f=(u>3)<<1,u>>>=f,c|=f,c|u>>1},a.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},a.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var c=32;return u&=-u,u&&c--,u&65535&&(c-=16),u&16711935&&(c-=8),u&252645135&&(c-=4),u&858993459&&(c-=2),u&1431655765&&(c-=1),c}a.countTrailingZeros=s,a.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},a.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},a.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var c=0;c<256;++c){var f=c,h=c,d=7;for(f>>>=1;f;f>>>=1)h<<=1,h|=f&1,--d;u[c]=h<<d&255}})(l),a.reverse=function(u){return l[u&255]<<24|l[u>>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},a.interleave2=function(u,c){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,c&=65535,c=(c|c<<8)&16711935,c=(c|c<<4)&252645135,c=(c|c<<2)&858993459,c=(c|c<<1)&1431655765,u|c<<1},a.deinterleave2=function(u,c){return u=u>>>c&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},a.interleave3=function(u,c,f){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|=c<<1,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|f<<2},a.deinterleave3=function(u,c){return u=u>>>c&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},a.nextCombination=function(u){var c=u|u-1;return c+1|(~c&-~c)-1>>>s(u)+1}},2014:function(i,a,o){\"use strict\";\"use restrict\";var s=o(3105),l=o(4623);function u(g){for(var P=0,T=Math.max,F=0,q=g.length;F<q;++F)P=T(P,g[F].length);return P-1}a.dimension=u;function c(g){for(var P=-1,T=Math.max,F=0,q=g.length;F<q;++F)for(var V=g[F],H=0,X=V.length;H<X;++H)P=T(P,V[H]);return P+1}a.countVertices=c;function f(g){for(var P=new Array(g.length),T=0,F=g.length;T<F;++T)P[T]=g[T].slice(0);return P}a.cloneCells=f;function h(g,P){var T=g.length,F=g.length-P.length,q=Math.min;if(F)return F;switch(T){case 0:return 0;case 1:return g[0]-P[0];case 2:var N=g[0]+g[1]-P[0]-P[1];return N||q(g[0],g[1])-q(P[0],P[1]);case 3:var V=g[0]+g[1],H=P[0]+P[1];if(N=V+g[2]-(H+P[2]),N)return N;var X=q(g[0],g[1]),G=q(P[0],P[1]),N=q(X,g[2])-q(G,P[2]);return N||q(X+g[2],V)-q(G+P[2],H);default:var W=g.slice(0);W.sort();var re=P.slice(0);re.sort();for(var ae=0;ae<T;++ae)if(F=W[ae]-re[ae],F)return F;return 0}}a.compareCells=h;function d(g,P){return h(g[0],P[0])}function v(g,P){if(P){for(var T=g.length,F=new Array(T),q=0;q<T;++q)F[q]=[g[q],P[q]];F.sort(d);for(var q=0;q<T;++q)g[q]=F[q][0],P[q]=F[q][1];return g}else return g.sort(h),g}a.normalize=v;function x(g){if(g.length===0)return[];for(var P=1,T=g.length,F=1;F<T;++F){var q=g[F];if(h(q,g[F-1])){if(F===P){P++;continue}g[P++]=q}}return g.length=P,g}a.unique=x;function b(g,P){for(var T=0,F=g.length-1,q=-1;T<=F;){var V=T+F>>1,H=h(g[V],P);H<=0?(H===0&&(q=V),T=V+1):H>0&&(F=V-1)}return q}a.findCell=b;function p(g,P){for(var T=new Array(g.length),F=0,q=T.length;F<q;++F)T[F]=[];for(var V=[],F=0,H=P.length;F<H;++F)for(var X=P[F],G=X.length,N=1,W=1<<G;N<W;++N){V.length=s.popCount(N);for(var re=0,ae=0;ae<G;++ae)N&1<<ae&&(V[re++]=X[ae]);var _e=b(g,V);if(!(_e<0))for(;T[_e++].push(F),!(_e>=g.length||h(g[_e],V)!==0););}return T}a.incidence=p;function E(g,P){if(!P)return p(x(A(g,0)),g,0);for(var T=new Array(P),F=0;F<P;++F)T[F]=[];for(var F=0,q=g.length;F<q;++F)for(var V=g[F],H=0,X=V.length;H<X;++H)T[V[H]].push(F);return T}a.dual=E;function k(g){for(var P=[],T=0,F=g.length;T<F;++T)for(var q=g[T],V=q.length|0,H=1,X=1<<V;H<X;++H){for(var G=[],N=0;N<V;++N)H>>>N&1&&G.push(q[N]);P.push(G)}return v(P)}a.explode=k;function A(g,P){if(P<0)return[];for(var T=[],F=(1<<P+1)-1,q=0;q<g.length;++q)for(var V=g[q],H=F;H<1<<V.length;H=s.nextCombination(H)){for(var X=new Array(P+1),G=0,N=0;N<V.length;++N)H&1<<N&&(X[G++]=V[N]);T.push(X)}return v(T)}a.skeleton=A;function L(g){for(var P=[],T=0,F=g.length;T<F;++T)for(var q=g[T],V=0,H=q.length;V<H;++V){for(var X=new Array(q.length-1),G=0,N=0;G<H;++G)G!==V&&(X[N++]=q[G]);P.push(X)}return v(P)}a.boundary=L;function _(g,P){for(var T=new l(P),F=0;F<g.length;++F)for(var q=g[F],V=0;V<q.length;++V)for(var H=V+1;H<q.length;++H)T.link(q[V],q[H]);for(var X=[],G=T.ranks,F=0;F<G.length;++F)G[F]=-1;for(var F=0;F<g.length;++F){var N=T.find(g[F][0]);G[N]<0?(G[N]=X.length,X.push([g[F].slice(0)])):X[G[N]].push(g[F].slice(0))}return X}function C(g){for(var P=x(v(A(g,0))),T=new l(P.length),F=0;F<g.length;++F)for(var q=g[F],V=0;V<q.length;++V)for(var H=b(P,[q[V]]),X=V+1;X<q.length;++X)T.link(H,b(P,[q[X]]));for(var G=[],N=T.ranks,F=0;F<N.length;++F)N[F]=-1;for(var F=0;F<g.length;++F){var W=T.find(b(P,[g[F][0]]));N[W]<0?(N[W]=G.length,G.push([g[F].slice(0)])):G[N[W]].push(g[F].slice(0))}return G}function M(g,P){return P?_(g,P):C(g)}a.connectedComponents=M},4623:function(i){\"use strict\";\"use restrict\";i.exports=a;function a(o){this.roots=new Array(o),this.ranks=new Array(o);for(var s=0;s<o;++s)this.roots[s]=s,this.ranks[s]=0}a.prototype.length=function(){return this.roots.length},a.prototype.makeSet=function(){var o=this.roots.length;return this.roots.push(o),this.ranks.push(0),o},a.prototype.find=function(o){for(var s=this.roots;s[o]!==o;){var l=s[o];s[o]=s[l],o=l}return o},a.prototype.link=function(o,s){var l=this.find(o),u=this.find(s);if(l!==u){var c=this.ranks,f=this.roots,h=c[l],d=c[u];h<d?f[l]=u:d<h?f[u]=l:(f[u]=l,++c[l])}}},5878:function(i,a,o){\"use strict\";i.exports=c;var s=o(3250),l=o(2014);function u(f,h,d){var v=Math.abs(s(f,h,d)),x=Math.sqrt(Math.pow(h[0]-d[0],2)+Math.pow(h[1]-d[1],2));return v/x}function c(f,h,d){for(var v=h.length,x=f.length,b=new Array(v),p=new Array(v),E=new Array(v),k=new Array(v),A=0;A<v;++A)b[A]=p[A]=-1,E[A]=1/0,k[A]=!1;for(var A=0;A<x;++A){var L=f[A];if(L.length!==2)throw new Error(\"Input must be a graph\");var _=L[1],C=L[0];p[C]!==-1?p[C]=-2:p[C]=_,b[_]!==-1?b[_]=-2:b[_]=C}function M(ie){if(k[ie])return 1/0;var Te=b[ie],Ee=p[ie];return Te<0||Ee<0?1/0:u(h[ie],h[Te],h[Ee])}function g(ie,Te){var Ee=G[ie],Ae=G[Te];G[ie]=Ae,G[Te]=Ee,N[Ee]=Te,N[Ae]=ie}function P(ie){return E[G[ie]]}function T(ie){return ie&1?ie-1>>1:(ie>>1)-1}function F(ie){for(var Te=P(ie);;){var Ee=Te,Ae=2*ie+1,ze=2*(ie+1),Ce=ie;if(Ae<re){var me=P(Ae);me<Ee&&(Ce=Ae,Ee=me)}if(ze<re){var Re=P(ze);Re<Ee&&(Ce=ze)}if(Ce===ie)return ie;g(ie,Ce),ie=Ce}}function q(ie){for(var Te=P(ie);ie>0;){var Ee=T(ie);if(Ee>=0){var Ae=P(Ee);if(Te<Ae){g(ie,Ee),ie=Ee;continue}}return ie}}function V(){if(re>0){var ie=G[0];return g(0,re-1),re-=1,F(0),ie}return-1}function H(ie,Te){var Ee=G[ie];return E[Ee]===Te?ie:(E[Ee]=-1/0,q(ie),V(),E[Ee]=Te,re+=1,q(re-1))}function X(ie){if(!k[ie]){k[ie]=!0;var Te=b[ie],Ee=p[ie];b[Ee]>=0&&(b[Ee]=Te),p[Te]>=0&&(p[Te]=Ee),N[Te]>=0&&H(N[Te],M(Te)),N[Ee]>=0&&H(N[Ee],M(Ee))}}for(var G=[],N=new Array(v),A=0;A<v;++A){var W=E[A]=M(A);W<1/0?(N[A]=G.length,G.push(A)):N[A]=-1}for(var re=G.length,A=re>>1;A>=0;--A)F(A);for(;;){var ae=V();if(ae<0||E[ae]>d)break;X(ae)}for(var _e=[],A=0;A<v;++A)k[A]||(N[A]=_e.length,_e.push(h[A].slice()));var Me=_e.length;function ke(ie,Te){if(ie[Te]<0)return Te;var Ee=Te,Ae=Te;do{var ze=ie[Ae];if(!k[Ae]||ze<0||ze===Ae||(Ae=ze,ze=ie[Ae],!k[Ae]||ze<0||ze===Ae))break;Ae=ze,Ee=ie[Ee]}while(Ee!==Ae);for(var Ce=Te;Ce!==Ae;Ce=ie[Ce])ie[Ce]=Ae;return Ae}var ge=[];return f.forEach(function(ie){var Te=ke(b,ie[0]),Ee=ke(p,ie[1]);if(Te>=0&&Ee>=0&&Te!==Ee){var Ae=N[Te],ze=N[Ee];Ae!==ze&&ge.push([Ae,ze])}}),l.unique(l.normalize(ge)),{positions:_e,edges:ge}}},1303:function(i,a,o){\"use strict\";i.exports=u;var s=o(3250);function l(c,f){var h,d;if(f[0][0]<f[1][0])h=f[0],d=f[1];else if(f[0][0]>f[1][0])h=f[1],d=f[0];else{var v=Math.min(c[0][1],c[1][1]),x=Math.max(c[0][1],c[1][1]),b=Math.min(f[0][1],f[1][1]),p=Math.max(f[0][1],f[1][1]);return x<b?x-b:v>p?v-p:x-p}var E,k;c[0][1]<c[1][1]?(E=c[0],k=c[1]):(E=c[1],k=c[0]);var A=s(d,h,E);return A||(A=s(d,h,k),A)?A:k-d}function u(c,f){var h,d;if(f[0][0]<f[1][0])h=f[0],d=f[1];else if(f[0][0]>f[1][0])h=f[1],d=f[0];else return l(f,c);var v,x;if(c[0][0]<c[1][0])v=c[0],x=c[1];else if(c[0][0]>c[1][0])v=c[1],x=c[0];else return-l(c,f);var b=s(h,d,x),p=s(h,d,v);if(b<0){if(p<=0)return b}else if(b>0){if(p>=0)return b}else if(p)return p;if(b=s(x,v,d),p=s(x,v,h),b<0){if(p<=0)return b}else if(b>0){if(p>=0)return b}else if(p)return p;return d[0]-x[0]}},4209:function(i,a,o){\"use strict\";i.exports=p;var s=o(2478),l=o(3840),u=o(3250),c=o(1303);function f(E,k,A){this.slabs=E,this.coordinates=k,this.horizontal=A}var h=f.prototype;function d(E,k){return E.y-k}function v(E,k){for(var A=null;E;){var L=E.key,_,C;L[0][0]<L[1][0]?(_=L[0],C=L[1]):(_=L[1],C=L[0]);var M=u(_,C,k);if(M<0)E=E.left;else if(M>0)if(k[0]!==L[1][0])A=E,E=E.right;else{var g=v(E.right,k);if(g)return g;E=E.left}else{if(k[0]!==L[1][0])return E;var g=v(E.right,k);if(g)return g;E=E.left}}return A}h.castUp=function(E){var k=s.le(this.coordinates,E[0]);if(k<0)return-1;var A=this.slabs[k],L=v(this.slabs[k],E),_=-1;if(L&&(_=L.value),this.coordinates[k]===E[0]){var C=null;if(L&&(C=L.key),k>0){var M=v(this.slabs[k-1],E);M&&(C?c(M.key,C)>0&&(C=M.key,_=M.value):(_=M.value,C=M.key))}var g=this.horizontal[k];if(g.length>0){var P=s.ge(g,E[1],d);if(P<g.length){var T=g[P];if(E[1]===T.y){if(T.closed)return T.index;for(;P<g.length-1&&g[P+1].y===E[1];)if(P=P+1,T=g[P],T.closed)return T.index;if(T.y===E[1]&&!T.start){if(P=P+1,P>=g.length)return _;T=g[P]}}if(T.start)if(C){var F=u(C[0],C[1],[E[0],T.y]);C[0][0]>C[1][0]&&(F=-F),F>0&&(_=T.index)}else _=T.index;else T.y!==E[1]&&(_=T.index)}}}return _};function x(E,k,A,L){this.y=E,this.index=k,this.start=A,this.closed=L}function b(E,k,A,L){this.x=E,this.segment=k,this.create=A,this.index=L}function p(E){for(var k=E.length,A=2*k,L=new Array(A),_=0;_<k;++_){var C=E[_],M=C[0][0]<C[1][0];L[2*_]=new b(C[0][0],C,M,_),L[2*_+1]=new b(C[1][0],C,!M,_)}L.sort(function(G,N){var W=G.x-N.x;return W||(W=G.create-N.create,W)?W:Math.min(G.segment[0][1],G.segment[1][1])-Math.min(N.segment[0][1],N.segment[1][1])});for(var g=l(c),P=[],T=[],F=[],q=-1/0,_=0;_<A;){for(var V=L[_].x,H=[];_<A;){var X=L[_];if(X.x!==V)break;_+=1,X.segment[0][0]===X.x&&X.segment[1][0]===X.x?X.create&&(X.segment[0][1]<X.segment[1][1]?(H.push(new x(X.segment[0][1],X.index,!0,!0)),H.push(new x(X.segment[1][1],X.index,!1,!1))):(H.push(new x(X.segment[1][1],X.index,!0,!1)),H.push(new x(X.segment[0][1],X.index,!1,!0)))):X.create?g=g.insert(X.segment,X.index):g=g.remove(X.segment)}P.push(g.root),T.push(V),F.push(H)}return new f(P,T,F)}},5202:function(i,a,o){\"use strict\";var s=o(1944),l=o(8210);i.exports=f,i.exports.positive=h,i.exports.negative=d;function u(v,x){var b=l(s(v,x),[x[x.length-1]]);return b[b.length-1]}function c(v,x,b,p){var E=p-x,k=-x/E;k<0?k=0:k>1&&(k=1);for(var A=1-k,L=v.length,_=new Array(L),C=0;C<L;++C)_[C]=k*v[C]+A*b[C];return _}function f(v,x){for(var b=[],p=[],E=u(v[v.length-1],x),k=v[v.length-1],A=v[0],L=0;L<v.length;++L,k=A){A=v[L];var _=u(A,x);if(E<0&&_>0||E>0&&_<0){var C=c(k,_,A,E);b.push(C),p.push(C.slice())}_<0?p.push(A.slice()):_>0?b.push(A.slice()):(b.push(A.slice()),p.push(A.slice())),E=_}return{positive:b,negative:p}}function h(v,x){for(var b=[],p=u(v[v.length-1],x),E=v[v.length-1],k=v[0],A=0;A<v.length;++A,E=k){k=v[A];var L=u(k,x);(p<0&&L>0||p>0&&L<0)&&b.push(c(E,L,k,p)),L>=0&&b.push(k.slice()),p=L}return b}function d(v,x){for(var b=[],p=u(v[v.length-1],x),E=v[v.length-1],k=v[0],A=0;A<v.length;++A,E=k){k=v[A];var L=u(k,x);(p<0&&L>0||p>0&&L<0)&&b.push(c(E,L,k,p)),L<=0&&b.push(k.slice()),p=L}return b}},3387:function(i,a,o){var s;(function(){\"use strict\";var l={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 u(v){return f(d(v),arguments)}function c(v,x){return u.apply(null,[v].concat(x||[]))}function f(v,x){var b=1,p=v.length,E,k=\"\",A,L,_,C,M,g,P,T;for(A=0;A<p;A++)if(typeof v[A]==\"string\")k+=v[A];else if(typeof v[A]==\"object\"){if(_=v[A],_.keys)for(E=x[b],L=0;L<_.keys.length;L++){if(E==null)throw new Error(u('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"',_.keys[L],_.keys[L-1]));E=E[_.keys[L]]}else _.param_no?E=x[_.param_no]:E=x[b++];if(l.not_type.test(_.type)&&l.not_primitive.test(_.type)&&E instanceof Function&&(E=E()),l.numeric_arg.test(_.type)&&typeof E!=\"number\"&&isNaN(E))throw new TypeError(u(\"[sprintf] expecting number but found %T\",E));switch(l.number.test(_.type)&&(P=E>=0),_.type){case\"b\":E=parseInt(E,10).toString(2);break;case\"c\":E=String.fromCharCode(parseInt(E,10));break;case\"d\":case\"i\":E=parseInt(E,10);break;case\"j\":E=JSON.stringify(E,null,_.width?parseInt(_.width):0);break;case\"e\":E=_.precision?parseFloat(E).toExponential(_.precision):parseFloat(E).toExponential();break;case\"f\":E=_.precision?parseFloat(E).toFixed(_.precision):parseFloat(E);break;case\"g\":E=_.precision?String(Number(E.toPrecision(_.precision))):parseFloat(E);break;case\"o\":E=(parseInt(E,10)>>>0).toString(8);break;case\"s\":E=String(E),E=_.precision?E.substring(0,_.precision):E;break;case\"t\":E=String(!!E),E=_.precision?E.substring(0,_.precision):E;break;case\"T\":E=Object.prototype.toString.call(E).slice(8,-1).toLowerCase(),E=_.precision?E.substring(0,_.precision):E;break;case\"u\":E=parseInt(E,10)>>>0;break;case\"v\":E=E.valueOf(),E=_.precision?E.substring(0,_.precision):E;break;case\"x\":E=(parseInt(E,10)>>>0).toString(16);break;case\"X\":E=(parseInt(E,10)>>>0).toString(16).toUpperCase();break}l.json.test(_.type)?k+=E:(l.number.test(_.type)&&(!P||_.sign)?(T=P?\"+\":\"-\",E=E.toString().replace(l.sign,\"\")):T=\"\",M=_.pad_char?_.pad_char===\"0\"?\"0\":_.pad_char.charAt(1):\" \",g=_.width-(T+E).length,C=_.width&&g>0?M.repeat(g):\"\",k+=_.align?T+E+C:M===\"0\"?T+C+E:C+T+E)}return k}var h=Object.create(null);function d(v){if(h[v])return h[v];for(var x=v,b,p=[],E=0;x;){if((b=l.text.exec(x))!==null)p.push(b[0]);else if((b=l.modulo.exec(x))!==null)p.push(\"%\");else if((b=l.placeholder.exec(x))!==null){if(b[2]){E|=1;var k=[],A=b[2],L=[];if((L=l.key.exec(A))!==null)for(k.push(L[1]);(A=A.substring(L[0].length))!==\"\";)if((L=l.key_access.exec(A))!==null)k.push(L[1]);else if((L=l.index_access.exec(A))!==null)k.push(L[1]);else throw new SyntaxError(\"[sprintf] failed to parse named argument key\");else throw new SyntaxError(\"[sprintf] failed to parse named argument key\");b[2]=k}else E|=2;if(E===3)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");p.push({placeholder:b[0],param_no:b[1],keys:b[2],sign:b[3],pad_char:b[4],align:b[5],width:b[6],precision:b[7],type:b[8]})}else throw new SyntaxError(\"[sprintf] unexpected placeholder\");x=x.substring(b[0].length)}return h[v]=p}a.sprintf=u,a.vsprintf=c,typeof window!=\"undefined\"&&(window.sprintf=u,window.vsprintf=c,s=function(){return{sprintf:u,vsprintf:c}}.call(a,o,a,i),s!==void 0&&(i.exports=s))})()},3711:function(i,a,o){\"use strict\";i.exports=d;var s=o(2640),l=o(781),u={\"2d\":function(v,x,b){var p=v({order:x,scalarArguments:3,getters:b===\"generic\"?[0]:void 0,phase:function(k,A,L,_){return k>_|0},vertex:function(k,A,L,_,C,M,g,P,T,F,q,V,H){var X=(g<<0)+(P<<1)+(T<<2)+(F<<3)|0;if(!(X===0||X===15))switch(X){case 0:q.push([k-.5,A-.5]);break;case 1:q.push([k-.25-.25*(_+L-2*H)/(L-_),A-.25-.25*(C+L-2*H)/(L-C)]);break;case 2:q.push([k-.75-.25*(-_-L+2*H)/(_-L),A-.25-.25*(M+_-2*H)/(_-M)]);break;case 3:q.push([k-.5,A-.5-.5*(C+L+M+_-4*H)/(L-C+_-M)]);break;case 4:q.push([k-.25-.25*(M+C-2*H)/(C-M),A-.75-.25*(-C-L+2*H)/(C-L)]);break;case 5:q.push([k-.5-.5*(_+L+M+C-4*H)/(L-_+C-M),A-.5]);break;case 6:q.push([k-.5-.25*(-_-L+M+C)/(_-L+C-M),A-.5-.25*(-C-L+M+_)/(C-L+_-M)]);break;case 7:q.push([k-.75-.25*(M+C-2*H)/(C-M),A-.75-.25*(M+_-2*H)/(_-M)]);break;case 8:q.push([k-.75-.25*(-M-C+2*H)/(M-C),A-.75-.25*(-M-_+2*H)/(M-_)]);break;case 9:q.push([k-.5-.25*(_+L+-M-C)/(L-_+M-C),A-.5-.25*(C+L+-M-_)/(L-C+M-_)]);break;case 10:q.push([k-.5-.5*(-_-L+-M-C+4*H)/(_-L+M-C),A-.5]);break;case 11:q.push([k-.25-.25*(-M-C+2*H)/(M-C),A-.75-.25*(C+L-2*H)/(L-C)]);break;case 12:q.push([k-.5,A-.5-.5*(-C-L+-M-_+4*H)/(C-L+M-_)]);break;case 13:q.push([k-.75-.25*(_+L-2*H)/(L-_),A-.25-.25*(-M-_+2*H)/(M-_)]);break;case 14:q.push([k-.25-.25*(-_-L+2*H)/(_-L),A-.25-.25*(-C-L+2*H)/(C-L)]);break;case 15:q.push([k-.5,A-.5]);break}},cell:function(k,A,L,_,C,M,g,P,T){C?P.push([k,A]):P.push([A,k])}});return function(E,k){var A=[],L=[];return p(E,A,L,k),{positions:A,cells:L}}}};function c(v,x){var b=v.length+\"d\",p=u[b];if(p)return p(s,v,x)}function f(v,x){for(var b=l(v,x),p=b.length,E=new Array(p),k=new Array(p),A=0;A<p;++A)E[A]=[b[A]],k[A]=[A];return{positions:E,cells:k}}var h={};function d(v,E){if(v.dimension<=0)return{positions:[],cells:[]};if(v.dimension===1)return f(v,E);var b=v.order.join()+\"-\"+v.dtype,p=h[b],E=+E||0;return p||(p=h[b]=c(v.order,v.dtype)),p(v,E)}},665:function(i,a,o){\"use strict\";var s=o(3202);i.exports=f;var l=96;function u(h,d){var v=s(getComputedStyle(h).getPropertyValue(d));return v[0]*f(v[1],h)}function c(h,d){var v=document.createElement(\"div\");v.style[\"font-size\"]=\"128\"+h,d.appendChild(v);var x=u(v,\"font-size\")/128;return d.removeChild(v),x}function f(h,d){switch(d=d||document.body,h=(h||\"px\").trim().toLowerCase(),(d===window||d===document)&&(d=document.body),h){case\"%\":return d.clientHeight/100;case\"ch\":case\"ex\":return c(h,d);case\"em\":return u(d,\"font-size\");case\"rem\":return u(document.body,\"font-size\");case\"vw\":return window.innerWidth/100;case\"vh\":return window.innerHeight/100;case\"vmin\":return Math.min(window.innerWidth,window.innerHeight)/100;case\"vmax\":return Math.max(window.innerWidth,window.innerHeight)/100;case\"in\":return l;case\"cm\":return l/2.54;case\"mm\":return l/25.4;case\"pt\":return l/72;case\"pc\":return l/6}return 1}},7261:function(i,a,o){\"use strict\";i.exports=k;var s=o(9215),l=o(7608),u=o(6079),c=o(5911),f=o(3536),h=o(244);function d(A,L,_){return Math.sqrt(Math.pow(A,2)+Math.pow(L,2)+Math.pow(_,2))}function v(A){return Math.min(1,Math.max(-1,A))}function x(A){var L=Math.abs(A[0]),_=Math.abs(A[1]),C=Math.abs(A[2]),M=[0,0,0];L>Math.max(_,C)?M[2]=1:_>Math.max(L,C)?M[0]=1:M[1]=1;for(var g=0,P=0,T=0;T<3;++T)g+=A[T]*A[T],P+=M[T]*A[T];for(var T=0;T<3;++T)M[T]-=P/g*A[T];return f(M,M),M}function b(A,L,_,C,M,g,P,T){this.center=s(_),this.up=s(C),this.right=s(M),this.radius=s([g]),this.angle=s([P,T]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(A,L),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 F=0;F<16;++F)this.computedMatrix[F]=.5;this.recalcMatrix(0)}var p=b.prototype;p.setDistanceLimits=function(A,L){A>0?A=Math.log(A):A=-1/0,L>0?L=Math.log(L):L=1/0,L=Math.max(L,A),this.radius.bounds[0][0]=A,this.radius.bounds[1][0]=L},p.getDistanceLimits=function(A){var L=this.radius.bounds[0];return A?(A[0]=Math.exp(L[0][0]),A[1]=Math.exp(L[1][0]),A):[Math.exp(L[0][0]),Math.exp(L[1][0])]},p.recalcMatrix=function(A){this.center.curve(A),this.up.curve(A),this.right.curve(A),this.radius.curve(A),this.angle.curve(A);for(var L=this.computedUp,_=this.computedRight,C=0,M=0,g=0;g<3;++g)M+=L[g]*_[g],C+=L[g]*L[g];for(var P=Math.sqrt(C),T=0,g=0;g<3;++g)_[g]-=L[g]*M/C,T+=_[g]*_[g],L[g]/=P;for(var F=Math.sqrt(T),g=0;g<3;++g)_[g]/=F;var q=this.computedToward;c(q,L,_),f(q,q);for(var V=Math.exp(this.computedRadius[0]),H=this.computedAngle[0],X=this.computedAngle[1],G=Math.cos(H),N=Math.sin(H),W=Math.cos(X),re=Math.sin(X),ae=this.computedCenter,_e=G*W,Me=N*W,ke=re,ge=-G*re,ie=-N*re,Te=W,Ee=this.computedEye,Ae=this.computedMatrix,g=0;g<3;++g){var ze=_e*_[g]+Me*q[g]+ke*L[g];Ae[4*g+1]=ge*_[g]+ie*q[g]+Te*L[g],Ae[4*g+2]=ze,Ae[4*g+3]=0}var Ce=Ae[1],me=Ae[5],Re=Ae[9],ce=Ae[2],Ge=Ae[6],nt=Ae[10],ct=me*nt-Re*Ge,qt=Re*ce-Ce*nt,rt=Ce*Ge-me*ce,ot=d(ct,qt,rt);ct/=ot,qt/=ot,rt/=ot,Ae[0]=ct,Ae[4]=qt,Ae[8]=rt;for(var g=0;g<3;++g)Ee[g]=ae[g]+Ae[2+4*g]*V;for(var g=0;g<3;++g){for(var T=0,Rt=0;Rt<3;++Rt)T+=Ae[g+4*Rt]*Ee[Rt];Ae[12+g]=-T}Ae[15]=1},p.getMatrix=function(A,L){this.recalcMatrix(A);var _=this.computedMatrix;if(L){for(var C=0;C<16;++C)L[C]=_[C];return L}return _};var E=[0,0,0];p.rotate=function(A,L,_,C){if(this.angle.move(A,L,_),C){this.recalcMatrix(A);var M=this.computedMatrix;E[0]=M[2],E[1]=M[6],E[2]=M[10];for(var g=this.computedUp,P=this.computedRight,T=this.computedToward,F=0;F<3;++F)M[4*F]=g[F],M[4*F+1]=P[F],M[4*F+2]=T[F];u(M,M,C,E);for(var F=0;F<3;++F)g[F]=M[4*F],P[F]=M[4*F+1];this.up.set(A,g[0],g[1],g[2]),this.right.set(A,P[0],P[1],P[2])}},p.pan=function(A,L,_,C){L=L||0,_=_||0,C=C||0,this.recalcMatrix(A);var M=this.computedMatrix,g=Math.exp(this.computedRadius[0]),P=M[1],T=M[5],F=M[9],q=d(P,T,F);P/=q,T/=q,F/=q;var V=M[0],H=M[4],X=M[8],G=V*P+H*T+X*F;V-=P*G,H-=T*G,X-=F*G;var N=d(V,H,X);V/=N,H/=N,X/=N;var W=V*L+P*_,re=H*L+T*_,ae=X*L+F*_;this.center.move(A,W,re,ae);var _e=Math.exp(this.computedRadius[0]);_e=Math.max(1e-4,_e+C),this.radius.set(A,Math.log(_e))},p.translate=function(A,L,_,C){this.center.move(A,L||0,_||0,C||0)},p.setMatrix=function(A,L,_,C){var M=1;typeof _==\"number\"&&(M=_|0),(M<0||M>3)&&(M=1);var g=(M+2)%3,P=(M+1)%3;L||(this.recalcMatrix(A),L=this.computedMatrix);var T=L[M],F=L[M+4],q=L[M+8];if(C){var H=Math.abs(T),X=Math.abs(F),G=Math.abs(q),N=Math.max(H,X,G);H===N?(T=T<0?-1:1,F=q=0):G===N?(q=q<0?-1:1,T=F=0):(F=F<0?-1:1,T=q=0)}else{var V=d(T,F,q);T/=V,F/=V,q/=V}var W=L[g],re=L[g+4],ae=L[g+8],_e=W*T+re*F+ae*q;W-=T*_e,re-=F*_e,ae-=q*_e;var Me=d(W,re,ae);W/=Me,re/=Me,ae/=Me;var ke=F*ae-q*re,ge=q*W-T*ae,ie=T*re-F*W,Te=d(ke,ge,ie);ke/=Te,ge/=Te,ie/=Te,this.center.jump(A,er,Ke,xt),this.radius.idle(A),this.up.jump(A,T,F,q),this.right.jump(A,W,re,ae);var Ee,Ae;if(M===2){var ze=L[1],Ce=L[5],me=L[9],Re=ze*W+Ce*re+me*ae,ce=ze*ke+Ce*ge+me*ie;qt<0?Ee=-Math.PI/2:Ee=Math.PI/2,Ae=Math.atan2(ce,Re)}else{var Ge=L[2],nt=L[6],ct=L[10],qt=Ge*T+nt*F+ct*q,rt=Ge*W+nt*re+ct*ae,ot=Ge*ke+nt*ge+ct*ie;Ee=Math.asin(v(qt)),Ae=Math.atan2(ot,rt)}this.angle.jump(A,Ae,Ee),this.recalcMatrix(A);var Rt=L[2],kt=L[6],Ct=L[10],Yt=this.computedMatrix;l(Yt,L);var xr=Yt[15],er=Yt[12]/xr,Ke=Yt[13]/xr,xt=Yt[14]/xr,bt=Math.exp(this.computedRadius[0]);this.center.jump(A,er-Rt*bt,Ke-kt*bt,xt-Ct*bt)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(A){this.center.idle(A),this.up.idle(A),this.right.idle(A),this.radius.idle(A),this.angle.idle(A)},p.flush=function(A){this.center.flush(A),this.up.flush(A),this.right.flush(A),this.radius.flush(A),this.angle.flush(A)},p.setDistance=function(A,L){L>0&&this.radius.set(A,Math.log(L))},p.lookAt=function(A,L,_,C){this.recalcMatrix(A),L=L||this.computedEye,_=_||this.computedCenter,C=C||this.computedUp;var M=C[0],g=C[1],P=C[2],T=d(M,g,P);if(!(T<1e-6)){M/=T,g/=T,P/=T;var F=L[0]-_[0],q=L[1]-_[1],V=L[2]-_[2],H=d(F,q,V);if(!(H<1e-6)){F/=H,q/=H,V/=H;var X=this.computedRight,G=X[0],N=X[1],W=X[2],re=M*G+g*N+P*W;G-=re*M,N-=re*g,W-=re*P;var ae=d(G,N,W);if(!(ae<.01&&(G=g*V-P*q,N=P*F-M*V,W=M*q-g*F,ae=d(G,N,W),ae<1e-6))){G/=ae,N/=ae,W/=ae,this.up.set(A,M,g,P),this.right.set(A,G,N,W),this.center.set(A,_[0],_[1],_[2]),this.radius.set(A,Math.log(H));var _e=g*W-P*N,Me=P*G-M*W,ke=M*N-g*G,ge=d(_e,Me,ke);_e/=ge,Me/=ge,ke/=ge;var ie=M*F+g*q+P*V,Te=G*F+N*q+W*V,Ee=_e*F+Me*q+ke*V,Ae=Math.asin(v(ie)),ze=Math.atan2(Ee,Te),Ce=this.angle._state,me=Ce[Ce.length-1],Re=Ce[Ce.length-2];me=me%(2*Math.PI);var ce=Math.abs(me+2*Math.PI-ze),Ge=Math.abs(me-ze),nt=Math.abs(me-2*Math.PI-ze);ce<Ge&&(me+=2*Math.PI),nt<Ge&&(me-=2*Math.PI),this.angle.jump(this.angle.lastT(),me,Re),this.angle.set(A,ze,Ae)}}}};function k(A){A=A||{};var L=A.center||[0,0,0],_=A.up||[0,1,0],C=A.right||x(_),M=A.radius||1,g=A.theta||0,P=A.phi||0;if(L=[].slice.call(L,0,3),_=[].slice.call(_,0,3),f(_,_),C=[].slice.call(C,0,3),f(C,C),\"eye\"in A){var T=A.eye,F=[T[0]-L[0],T[1]-L[1],T[2]-L[2]];c(C,F,_),d(C[0],C[1],C[2])<1e-6?C=x(_):f(C,C),M=d(F[0],F[1],F[2]);var q=h(_,F)/M,V=h(C,F)/M;P=Math.acos(q),g=Math.acos(V)}return M=Math.log(M),new b(A.zoomMin,A.zoomMax,L,_,C,M,g,P)}},5250:function(i){\"use strict\";i.exports=o;var a=+(Math.pow(2,27)+1);function o(s,l,u){var c=s*l,f=a*s,h=f-s,d=f-h,v=s-d,x=a*l,b=x-l,p=x-b,E=l-p,k=c-d*p,A=k-v*p,L=A-d*E,_=v*E-L;return u?(u[0]=_,u[1]=c,u):[_,c]}},9362:function(i){\"use strict\";i.exports=a;function a(o,s,l){var u=o+s,c=u-o,f=u-c,h=s-c,d=o-f;return l?(l[0]=d+h,l[1]=u,l):[d+h,u]}},1888:function(i,a,o){\"use strict\";var s=o(8828),l=o(1338),u=o(4793).hp;o.g.__TYPEDARRAY_POOL||(o.g.__TYPEDARRAY_POOL={UINT8:l([32,0]),UINT16:l([32,0]),UINT32:l([32,0]),BIGUINT64:l([32,0]),INT8:l([32,0]),INT16:l([32,0]),INT32:l([32,0]),BIGINT64:l([32,0]),FLOAT:l([32,0]),DOUBLE:l([32,0]),DATA:l([32,0]),UINT8C:l([32,0]),BUFFER:l([32,0])});var c=typeof Uint8ClampedArray!=\"undefined\",f=typeof BigUint64Array!=\"undefined\",h=typeof BigInt64Array!=\"undefined\",d=o.g.__TYPEDARRAY_POOL;d.UINT8C||(d.UINT8C=l([32,0])),d.BIGUINT64||(d.BIGUINT64=l([32,0])),d.BIGINT64||(d.BIGINT64=l([32,0])),d.BUFFER||(d.BUFFER=l([32,0]));var v=d.DATA,x=d.BUFFER;a.free=function(G){if(u.isBuffer(G))x[s.log2(G.length)].push(G);else{if(Object.prototype.toString.call(G)!==\"[object ArrayBuffer]\"&&(G=G.buffer),!G)return;var N=G.length||G.byteLength,W=s.log2(N)|0;v[W].push(G)}};function b(X){if(X){var G=X.length||X.byteLength,N=s.log2(G);v[N].push(X)}}function p(X){b(X.buffer)}a.freeUint8=a.freeUint16=a.freeUint32=a.freeBigUint64=a.freeInt8=a.freeInt16=a.freeInt32=a.freeBigInt64=a.freeFloat32=a.freeFloat=a.freeFloat64=a.freeDouble=a.freeUint8Clamped=a.freeDataView=p,a.freeArrayBuffer=b,a.freeBuffer=function(G){x[s.log2(G.length)].push(G)},a.malloc=function(G,N){if(N===void 0||N===\"arraybuffer\")return E(G);switch(N){case\"uint8\":return k(G);case\"uint16\":return A(G);case\"uint32\":return L(G);case\"int8\":return _(G);case\"int16\":return C(G);case\"int32\":return M(G);case\"float\":case\"float32\":return g(G);case\"double\":case\"float64\":return P(G);case\"uint8_clamped\":return T(G);case\"bigint64\":return q(G);case\"biguint64\":return F(G);case\"buffer\":return H(G);case\"data\":case\"dataview\":return V(G);default:return null}return null};function E(G){var G=s.nextPow2(G),N=s.log2(G),W=v[N];return W.length>0?W.pop():new ArrayBuffer(G)}a.mallocArrayBuffer=E;function k(X){return new Uint8Array(E(X),0,X)}a.mallocUint8=k;function A(X){return new Uint16Array(E(2*X),0,X)}a.mallocUint16=A;function L(X){return new Uint32Array(E(4*X),0,X)}a.mallocUint32=L;function _(X){return new Int8Array(E(X),0,X)}a.mallocInt8=_;function C(X){return new Int16Array(E(2*X),0,X)}a.mallocInt16=C;function M(X){return new Int32Array(E(4*X),0,X)}a.mallocInt32=M;function g(X){return new Float32Array(E(4*X),0,X)}a.mallocFloat32=a.mallocFloat=g;function P(X){return new Float64Array(E(8*X),0,X)}a.mallocFloat64=a.mallocDouble=P;function T(X){return c?new Uint8ClampedArray(E(X),0,X):k(X)}a.mallocUint8Clamped=T;function F(X){return f?new BigUint64Array(E(8*X),0,X):null}a.mallocBigUint64=F;function q(X){return h?new BigInt64Array(E(8*X),0,X):null}a.mallocBigInt64=q;function V(X){return new DataView(E(X),0,X)}a.mallocDataView=V;function H(X){X=s.nextPow2(X);var G=s.log2(X),N=x[G];return N.length>0?N.pop():new u(X)}a.mallocBuffer=H,a.clearCache=function(){for(var G=0;G<32;++G)d.UINT8[G].length=0,d.UINT16[G].length=0,d.UINT32[G].length=0,d.INT8[G].length=0,d.INT16[G].length=0,d.INT32[G].length=0,d.FLOAT[G].length=0,d.DOUBLE[G].length=0,d.BIGUINT64[G].length=0,d.BIGINT64[G].length=0,d.UINT8C[G].length=0,v[G].length=0,x[G].length=0}},1755:function(i){\"use strict\";\"use restrict\";i.exports=a;function a(s){this.roots=new Array(s),this.ranks=new Array(s);for(var l=0;l<s;++l)this.roots[l]=l,this.ranks[l]=0}var o=a.prototype;Object.defineProperty(o,\"length\",{get:function(){return this.roots.length}}),o.makeSet=function(){var s=this.roots.length;return this.roots.push(s),this.ranks.push(0),s},o.find=function(s){for(var l=s,u=this.roots;u[s]!==s;)s=u[s];for(;u[l]!==s;){var c=u[l];u[l]=s,l=c}return s},o.link=function(s,l){var u=this.find(s),c=this.find(l);if(u!==c){var f=this.ranks,h=this.roots,d=f[u],v=f[c];d<v?h[u]=c:v<d?h[c]=u:(h[c]=u,++f[u])}}},1682:function(i){\"use strict\";function a(l,u){for(var c=1,f=l.length,h=l[0],d=l[0],v=1;v<f;++v)if(d=h,h=l[v],u(h,d)){if(v===c){c++;continue}l[c++]=h}return l.length=c,l}function o(l){for(var u=1,c=l.length,f=l[0],h=l[0],d=1;d<c;++d,h=f)if(h=f,f=l[d],f!==h){if(d===u){u++;continue}l[u++]=f}return l.length=u,l}function s(l,u,c){return l.length===0?l:u?(c||l.sort(u),a(l,u)):(c||l.sort(),o(l))}i.exports=s},4359:function(i,a,o){\"use strict\";i.exports=c;var s=o(7718),l=null,u=null;typeof document!=\"undefined\"&&(l=document.createElement(\"canvas\"),l.width=8192,l.height=1024,u=l.getContext(\"2d\"));function c(f,h){return(typeof h!=\"object\"||h===null)&&(h={}),s(f,h.canvas||l,h.context||u,h)}},7718:function(i,a,o){i.exports=q,i.exports.processPixels=F;var s=o(3711),l=o(9618),u=o(5878),c=o(332),f=o(2538),h=o(2095),d=\"b\",v=\"b|\",x=\"i\",b=\"i|\",p=\"sup\",E=\"+\",k=\"+1\",A=\"sub\",L=\"-\",_=\"-1\";function C(V,H,X,G){for(var N=\"<\"+V+\">\",W=\"</\"+V+\">\",re=N.length,ae=W.length,_e=H[0]===E||H[0]===L,Me=0,ke=-ae;Me>-1&&(Me=X.indexOf(N,Me),!(Me===-1||(ke=X.indexOf(W,Me+re),ke===-1)||ke<=Me));){for(var ge=Me;ge<ke+ae;++ge)if(ge<Me+re||ge>=ke)G[ge]=null,X=X.substr(0,ge)+\" \"+X.substr(ge+1);else if(G[ge]!==null){var ie=G[ge].indexOf(H[0]);ie===-1?G[ge]+=H:_e&&(G[ge]=G[ge].substr(0,ie+1)+(1+parseInt(G[ge][ie+1]))+G[ge].substr(ie+2))}var Te=Me+re,Ee=X.substr(Te,ke-Te),Ae=Ee.indexOf(N);Ae!==-1?Me=Ae:Me=ke+ae}return G}function M(V,H,X){for(var G=H.textAlign||\"start\",N=H.textBaseline||\"alphabetic\",W=[1<<30,1<<30],re=[0,0],ae=V.length,_e=0;_e<ae;++_e)for(var Me=V[_e],ke=0;ke<2;++ke)W[ke]=Math.min(W[ke],Me[ke])|0,re[ke]=Math.max(re[ke],Me[ke])|0;var ge=0;switch(G){case\"center\":ge=-.5*(W[0]+re[0]);break;case\"right\":case\"end\":ge=-re[0];break;case\"left\":case\"start\":ge=-W[0];break;default:throw new Error(\"vectorize-text: Unrecognized textAlign: '\"+G+\"'\")}var ie=0;switch(N){case\"hanging\":case\"top\":ie=-W[1];break;case\"middle\":ie=-.5*(W[1]+re[1]);break;case\"alphabetic\":case\"ideographic\":ie=-3*X;break;case\"bottom\":ie=-re[1];break;default:throw new Error(\"vectorize-text: Unrecoginized textBaseline: '\"+N+\"'\")}var Te=1/X;return\"lineHeight\"in H?Te*=+H.lineHeight:\"width\"in H?Te=H.width/(re[0]-W[0]):\"height\"in H&&(Te=H.height/(re[1]-W[1])),V.map(function(Ee){return[Te*(Ee[0]+ge),Te*(Ee[1]+ie)]})}function g(V,H,X,G,N,W){X=X.replace(/\\n/g,\"\"),W.breaklines===!0?X=X.replace(/\\<br\\>/g,`\n", - "`):X=X.replace(/\\<br\\>/g,\" \");var re=\"\",ae=[];for(me=0;me<X.length;++me)ae[me]=re;W.bolds===!0&&(ae=C(d,v,X,ae)),W.italics===!0&&(ae=C(x,b,X,ae)),W.superscripts===!0&&(ae=C(p,k,X,ae)),W.subscripts===!0&&(ae=C(A,_,X,ae));var _e=[],Me=\"\";for(me=0;me<X.length;++me)ae[me]!==null&&(Me+=X[me],_e.push(ae[me]));var ke=Me.split(`\n", - "`),ge=ke.length,ie=Math.round(N*G),Te=G,Ee=G*2,Ae=0,ze=ge*ie+Ee;V.height<ze&&(V.height=ze),H.fillStyle=\"#000\",H.fillRect(0,0,V.width,V.height),H.fillStyle=\"#fff\";var Ce,me,Re,ce,Ge,nt=0,ct=\"\";function qt(){if(ct!==\"\"){var Ke=H.measureText(ct).width;H.fillText(ct,Te+Re,Ee+ce),Re+=Ke}}function rt(){return\"\"+Math.round(Ge)+\"px \"}function ot(Ke,xt){var bt=\"\"+H.font;if(W.subscripts===!0){var Lt=Ke.indexOf(L),St=xt.indexOf(L),Et=Lt>-1?parseInt(Ke[1+Lt]):0,dt=St>-1?parseInt(xt[1+St]):0;Et!==dt&&(bt=bt.replace(rt(),\"?px \"),Ge*=Math.pow(.75,dt-Et),bt=bt.replace(\"?px \",rt())),ce+=.25*ie*(dt-Et)}if(W.superscripts===!0){var Ht=Ke.indexOf(E),$t=xt.indexOf(E),fr=Ht>-1?parseInt(Ke[1+Ht]):0,_r=$t>-1?parseInt(xt[1+$t]):0;fr!==_r&&(bt=bt.replace(rt(),\"?px \"),Ge*=Math.pow(.75,_r-fr),bt=bt.replace(\"?px \",rt())),ce-=.25*ie*(_r-fr)}if(W.bolds===!0){var Br=Ke.indexOf(v)>-1,Or=xt.indexOf(v)>-1;!Br&&Or&&(Nr?bt=bt.replace(\"italic \",\"italic bold \"):bt=\"bold \"+bt),Br&&!Or&&(bt=bt.replace(\"bold \",\"\"))}if(W.italics===!0){var Nr=Ke.indexOf(b)>-1,ut=xt.indexOf(b)>-1;!Nr&&ut&&(bt=\"italic \"+bt),Nr&&!ut&&(bt=bt.replace(\"italic \",\"\"))}H.font=bt}for(Ce=0;Ce<ge;++Ce){var Rt=ke[Ce]+`\n", - "`;for(Re=0,ce=Ce*ie,Ge=G,ct=\"\",me=0;me<Rt.length;++me){var kt=me+nt<_e.length?_e[me+nt]:_e[_e.length-1];re===kt?ct+=Rt[me]:(qt(),ct=Rt[me],kt!==void 0&&(ot(re,kt),re=kt))}qt(),nt+=Rt.length;var Ct=Math.round(Re+2*Te)|0;Ae<Ct&&(Ae=Ct)}var Yt=Ae,xr=Ee+ie*ge,er=l(H.getImageData(0,0,Yt,xr).data,[xr,Yt,4]);return er.pick(-1,-1,0).transpose(1,0)}function P(V,H){var X=s(V,128);return H?u(X.cells,X.positions,.25):{edges:X.cells,positions:X.positions}}function T(V,H,X,G){var N=P(V,G),W=M(N.positions,H,X),re=N.edges,ae=H.orientation===\"ccw\";if(c(W,re),H.polygons||H.polygon||H.polyline){for(var _e=h(re,W),Me=new Array(_e.length),ke=0;ke<_e.length;++ke){for(var ge=_e[ke],ie=new Array(ge.length),Te=0;Te<ge.length;++Te){for(var Ee=ge[Te],Ae=new Array(Ee.length),ze=0;ze<Ee.length;++ze)Ae[ze]=W[Ee[ze]].slice();ae&&Ae.reverse(),ie[Te]=Ae}Me[ke]=ie}return Me}else return H.triangles||H.triangulate||H.triangle?{cells:f(W,re,{delaunay:!1,exterior:!1,interior:!0}),positions:W}:{edges:re,positions:W}}function F(V,H,X){try{return T(V,H,X,!0)}catch(G){}try{return T(V,H,X,!1)}catch(G){}return H.polygons||H.polyline||H.polygon?[]:H.triangles||H.triangulate||H.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}function q(V,H,X,G){var N=64,W=1.25,re={breaklines:!1,bolds:!1,italics:!1,subscripts:!1,superscripts:!1};G&&(G.size&&G.size>0&&(N=G.size),G.lineSpacing&&G.lineSpacing>0&&(W=G.lineSpacing),G.styletags&&G.styletags.breaklines&&(re.breaklines=!!G.styletags.breaklines),G.styletags&&G.styletags.bolds&&(re.bolds=!!G.styletags.bolds),G.styletags&&G.styletags.italics&&(re.italics=!!G.styletags.italics),G.styletags&&G.styletags.subscripts&&(re.subscripts=!!G.styletags.subscripts),G.styletags&&G.styletags.superscripts&&(re.superscripts=!!G.styletags.superscripts)),X.font=[G.fontStyle,G.fontVariant,G.fontWeight,N+\"px\",G.font].filter(function(_e){return _e}).join(\" \"),X.textAlign=\"start\",X.textBaseline=\"alphabetic\",X.direction=\"ltr\";var ae=g(H,X,V,N,W,re);return F(ae,G,N)}},1538:function(i){(function(){\"use strict\";if(typeof ses!=\"undefined\"&&ses.ok&&!ses.ok())return;function o(T){T.permitHostObjects___&&T.permitHostObjects___(o)}typeof ses!=\"undefined\"&&(ses.weakMapPermitHostObjects=o);var s=!1;if(typeof WeakMap==\"function\"){var l=WeakMap;if(!(typeof navigator!=\"undefined\"&&/Firefox/.test(navigator.userAgent))){var u=new l,c=Object.freeze({});if(u.set(c,1),u.get(c)!==1)s=!0;else{i.exports=WeakMap;return}}}var f=Object.prototype.hasOwnProperty,h=Object.getOwnPropertyNames,d=Object.defineProperty,v=Object.isExtensible,x=\"weakmap:\",b=x+\"ident:\"+Math.random()+\"___\";if(typeof crypto!=\"undefined\"&&typeof crypto.getRandomValues==\"function\"&&typeof ArrayBuffer==\"function\"&&typeof Uint8Array==\"function\"){var p=new ArrayBuffer(25),E=new Uint8Array(p);crypto.getRandomValues(E),b=x+\"rand:\"+Array.prototype.map.call(E,function(T){return(T%36).toString(36)}).join(\"\")+\"___\"}function k(T){return!(T.substr(0,x.length)==x&&T.substr(T.length-3)===\"___\")}if(d(Object,\"getOwnPropertyNames\",{value:function(F){return h(F).filter(k)}}),\"getPropertyNames\"in Object){var A=Object.getPropertyNames;d(Object,\"getPropertyNames\",{value:function(F){return A(F).filter(k)}})}function L(T){if(T!==Object(T))throw new TypeError(\"Not an object: \"+T);var F=T[b];if(F&&F.key===T)return F;if(v(T)){F={key:T};try{return d(T,b,{value:F,writable:!1,enumerable:!1,configurable:!1}),F}catch(q){return}}}(function(){var T=Object.freeze;d(Object,\"freeze\",{value:function(H){return L(H),T(H)}});var F=Object.seal;d(Object,\"seal\",{value:function(H){return L(H),F(H)}});var q=Object.preventExtensions;d(Object,\"preventExtensions\",{value:function(H){return L(H),q(H)}})})();function _(T){return T.prototype=null,Object.freeze(T)}var C=!1;function M(){!C&&typeof console!=\"undefined\"&&(C=!0,console.warn(\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\"))}var g=0,P=function(){this instanceof P||M();var T=[],F=[],q=g++;function V(N,W){var re,ae=L(N);return ae?q in ae?ae[q]:W:(re=T.indexOf(N),re>=0?F[re]:W)}function H(N){var W=L(N);return W?q in W:T.indexOf(N)>=0}function X(N,W){var re,ae=L(N);return ae?ae[q]=W:(re=T.indexOf(N),re>=0?F[re]=W:(re=T.length,F[re]=W,T[re]=N)),this}function G(N){var W=L(N),re,ae;return W?q in W&&delete W[q]:(re=T.indexOf(N),re<0?!1:(ae=T.length-1,T[re]=void 0,F[re]=F[ae],T[re]=T[ae],T.length=ae,F.length=ae,!0))}return Object.create(P.prototype,{get___:{value:_(V)},has___:{value:_(H)},set___:{value:_(X)},delete___:{value:_(G)}})};P.prototype=Object.create(Object.prototype,{get:{value:function(F,q){return this.get___(F,q)},writable:!0,configurable:!0},has:{value:function(F){return this.has___(F)},writable:!0,configurable:!0},set:{value:function(F,q){return this.set___(F,q)},writable:!0,configurable:!0},delete:{value:function(F){return this.delete___(F)},writable:!0,configurable:!0}}),typeof l==\"function\"?function(){s&&typeof Proxy!=\"undefined\"&&(Proxy=void 0);function T(){this instanceof P||M();var F=new l,q=void 0,V=!1;function H(W,re){return q?F.has(W)?F.get(W):q.get___(W,re):F.get(W,re)}function X(W){return F.has(W)||(q?q.has___(W):!1)}var G;s?G=function(W,re){return F.set(W,re),F.has(W)||(q||(q=new P),q.set(W,re)),this}:G=function(W,re){if(V)try{F.set(W,re)}catch(ae){q||(q=new P),q.set___(W,re)}else F.set(W,re);return this};function N(W){var re=!!F.delete(W);return q&&q.delete___(W)||re}return Object.create(P.prototype,{get___:{value:_(H)},has___:{value:_(X)},set___:{value:_(G)},delete___:{value:_(N)},permitHostObjects___:{value:_(function(W){if(W===o)V=!0;else throw new Error(\"bogus call to permitHostObjects___\")})}})}T.prototype=P.prototype,i.exports=T,Object.defineProperty(WeakMap.prototype,\"constructor\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(typeof Proxy!=\"undefined\"&&(Proxy=void 0),i.exports=P)})()},236:function(i,a,o){var s=o(8284);i.exports=l;function l(){var u={};return function(c){if((typeof c!=\"object\"||c===null)&&typeof c!=\"function\")throw new Error(\"Weakmap-shim: Key must be object\");var f=c.valueOf(u);return f&&f.identity===u?f:s(c,u)}}},8284:function(i){i.exports=a;function a(o,s){var l={identity:s},u=o.valueOf;return Object.defineProperty(o,\"valueOf\",{value:function(c){return c!==s?u.apply(this,arguments):l},writable:!0}),l}},606:function(i,a,o){var s=o(236);i.exports=l;function l(){var u=s();return{get:function(c,f){var h=u(c);return h.hasOwnProperty(\"value\")?h.value:f},set:function(c,f){return u(c).value=f,this},has:function(c){return\"value\"in u(c)},delete:function(c){return delete u(c).value}}}},3349:function(i){\"use strict\";function a(){return function(f,h,d,v,x,b){var p=f[0],E=d[0],k=[0],A=E;v|=0;var L=0,_=E;for(L=0;L<p;++L){{var C=h[v]-b,M=h[v+A]-b;C>=0!=M>=0&&x.push(k[0]+.5+.5*(C+M)/(C-M))}v+=_,++k[0]}}}function o(){return a()}var s=o;function l(f){var h={};return function(v,x,b){var p=v.dtype,E=v.order,k=[p,E.join()].join(),A=h[k];return A||(h[k]=A=f([p,E])),A(v.shape.slice(0),v.data,v.stride,v.offset|0,x,b)}}function u(f){return l(s.bind(void 0,f))}function c(f){return u({funcName:f.funcName})}i.exports=c({funcName:\"zeroCrossings\"})},781:function(i,a,o){\"use strict\";i.exports=l;var s=o(3349);function l(u,c){var f=[];return c=+c||0,s(u.hi(u.shape[0]-1),f,c),f}},7790:function(){}},t={};function r(i){var a=t[i];if(a!==void 0)return a.exports;var o=t[i]={id:i,loaded:!1,exports:{}};return e[i].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}(function(){r.g=function(){if(typeof globalThis==\"object\")return globalThis;try{return this||new Function(\"return this\")()}catch(i){if(typeof window==\"object\")return window}}()})(),function(){r.nmd=function(i){return i.paths=[],i.children||(i.children=[]),i}}();var n=r(1964);cLe.exports=n})()});var rZ=ye((ivr,fLe)=>{\"use strict\";fLe.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]}});var pLe=ye((nvr,vLe)=>{\"use strict\";var hLe=rZ();vLe.exports=lLt;var dLe={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function lLt(e){var t,r=[],n=1,i;if(typeof e==\"string\")if(e=e.toLowerCase(),hLe[e])r=hLe[e].slice(),i=\"rgb\";else if(e===\"transparent\")n=0,i=\"rgb\",r=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var a=e.slice(1),o=a.length,s=o<=4;n=1,s?(r=[parseInt(a[0]+a[0],16),parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16)],o===4&&(n=parseInt(a[3]+a[3],16)/255)):(r=[parseInt(a[0]+a[1],16),parseInt(a[2]+a[3],16),parseInt(a[4]+a[5],16)],o===8&&(n=parseInt(a[6]+a[7],16)/255)),r[0]||(r[0]=0),r[1]||(r[1]=0),r[2]||(r[2]=0),i=\"rgb\"}else if(t=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(e)){var l=t[1],u=l===\"rgb\",a=l.replace(/a$/,\"\");i=a;var o=a===\"cmyk\"?4:a===\"gray\"?1:3;r=t[2].trim().split(/\\s*[,\\/]\\s*|\\s+/).map(function(h,d){if(/%$/.test(h))return d===o?parseFloat(h)/100:a===\"rgb\"?parseFloat(h)*255/100:parseFloat(h);if(a[d]===\"h\"){if(/deg$/.test(h))return parseFloat(h);if(dLe[h]!==void 0)return dLe[h]}return parseFloat(h)}),l===a&&r.push(1),n=u||r[o]===void 0?1:r[o],r=r.slice(0,o)}else e.length>10&&/[0-9](?:\\s|\\/)/.test(e)&&(r=e.match(/([0-9]+)/g).map(function(c){return parseFloat(c)}),i=e.match(/([a-z])/ig).join(\"\").toLowerCase());else isNaN(e)?Array.isArray(e)||e.length?(r=[e[0],e[1],e[2]],i=\"rgb\",n=e.length===4?e[3]:1):e instanceof Object&&(e.r!=null||e.red!=null||e.R!=null?(i=\"rgb\",r=[e.r||e.red||e.R||0,e.g||e.green||e.G||0,e.b||e.blue||e.B||0]):(i=\"hsl\",r=[e.h||e.hue||e.H||0,e.s||e.saturation||e.S||0,e.l||e.lightness||e.L||e.b||e.brightness]),n=e.a||e.alpha||e.opacity||1,e.opacity!=null&&(n/=100)):(i=\"rgb\",r=[e>>>16,(e&65280)>>>8,e&255]);return{space:i,values:r,alpha:n}}});var mLe=ye((avr,gLe)=>{\"use strict\";var uLt=pLe();gLe.exports=function(t){Array.isArray(t)&&t.raw&&(t=String.raw.apply(null,arguments));var r,n,i,a=uLt(t);if(!a.space)return[];var o=[0,0,0],s=a.space[0]===\"h\"?[360,100,100]:[255,255,255];return r=Array(3),r[0]=Math.min(Math.max(a.values[0],o[0]),s[0]),r[1]=Math.min(Math.max(a.values[1],o[1]),s[1]),r[2]=Math.min(Math.max(a.values[2],o[2]),s[2]),a.space[0]===\"h\"&&(r=cLt(r)),r.push(Math.min(Math.max(a.alpha,0),1)),r};function cLt(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100,i,a,o,s,l,u=0;if(r===0)return l=n*255,[l,l,l];for(a=n<.5?n*(1+r):n+r-n*r,i=2*n-a,s=[0,0,0];u<3;)o=t+1/3*-(u-1),o<0?o++:o>1&&o--,l=6*o<1?i+(a-i)*6*o:2*o<1?a:3*o<2?i+(a-i)*(2/3-o)*6:i,s[u++]=l*255;return s}});var VE=ye((ovr,yLe)=>{yLe.exports=fLt;function fLt(e,t,r){return t<r?e<t?t:e>r?r:e:e<r?r:e>t?t:e}});var HD=ye((svr,_Le)=>{_Le.exports=function(e){switch(e){case\"int8\":return Int8Array;case\"int16\":return Int16Array;case\"int32\":return Int32Array;case\"uint8\":return Uint8Array;case\"uint16\":return Uint16Array;case\"uint32\":return Uint32Array;case\"float32\":return Float32Array;case\"float64\":return Float64Array;case\"array\":return Array;case\"uint8_clamped\":return Uint8ClampedArray}}});var $_=ye((lvr,xLe)=>{\"use strict\";var hLt=mLe(),GD=VE(),dLt=HD();xLe.exports=function(t,r){(r===\"float\"||!r)&&(r=\"array\"),r===\"uint\"&&(r=\"uint8\"),r===\"uint_clamped\"&&(r=\"uint8_clamped\");var n=dLt(r),i=new n(4),a=r!==\"uint8\"&&r!==\"uint8_clamped\";return(!t.length||typeof t==\"string\")&&(t=hLt(t),t[0]/=255,t[1]/=255,t[2]/=255),vLt(t)?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:255,a&&(i[0]/=255,i[1]/=255,i[2]/=255,i[3]/=255),i):(a?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:1):(i[0]=GD(Math.floor(t[0]*255),0,255),i[1]=GD(Math.floor(t[1]*255),0,255),i[2]=GD(Math.floor(t[2]*255),0,255),i[3]=t[3]==null?255:GD(Math.floor(t[3]*255),0,255)),i)};function vLt(e){return!!(e instanceof Uint8Array||e instanceof Uint8ClampedArray||Array.isArray(e)&&(e[0]>1||e[0]===0)&&(e[1]>1||e[1]===0)&&(e[2]>1||e[2]===0)&&(!e[3]||e[3]>1))}});var Jy=ye((uvr,bLe)=>{\"use strict\";var pLt=$_();function gLt(e){return e?pLt(e):[0,0,0,1]}bLe.exports=gLt});var $y=ye((cvr,kLe)=>{\"use strict\";var MLe=uo(),mLt=id(),jD=$_(),WD=Mu(),yLt=dh().defaultLine,wLe=vv().isArrayOrTypedArray,iZ=jD(yLt),ELe=1;function TLe(e,t){var r=e;return r[3]*=t,r}function ALe(e){if(MLe(e))return iZ;var t=jD(e);return t.length?t:iZ}function SLe(e){return MLe(e)?e:ELe}function _Lt(e,t,r){var n=e.color;n&&n._inputArray&&(n=n._inputArray);var i=wLe(n),a=wLe(t),o=WD.extractOpts(e),s=[],l,u,c,f,h;if(o.colorscale!==void 0?l=WD.makeColorScaleFuncFromTrace(e):l=ALe,i?u=function(v,x){return v[x]===void 0?iZ:jD(l(v[x]))}:u=ALe,a?c=function(v,x){return v[x]===void 0?ELe:SLe(v[x])}:c=SLe,i||a)for(var d=0;d<r;d++)f=u(n,d),h=c(t,d),s[d]=TLe(f,h);else s=TLe(jD(n),t);return s}function xLt(e){var t=WD.extractOpts(e),r=t.colorscale;return t.reversescale&&(r=WD.flipScale(t.colorscale)),r.map(function(n){var i=n[0],a=mLt(n[1]),o=a.toRgb();return{index:i,rgb:[o.r,o.g,o.b,o.a]}})}kLe.exports={formatColor:_Lt,parseColorScale:xLt}});var nZ=ye((fvr,CLe)=>{\"use strict\";CLe.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]}});var ZD=ye((hvr,LLe)=>{\"use strict\";LLe.exports={circle:\"\\u25CF\",\"circle-open\":\"\\u25CB\",square:\"\\u25A0\",\"square-open\":\"\\u25A1\",diamond:\"\\u25C6\",\"diamond-open\":\"\\u25C7\",cross:\"+\",x:\"\\u274C\"}});var ILe=ye((dvr,PLe)=>{\"use strict\";var bLt=ba();function aZ(e,t,r,n){if(!t||!t.visible)return null;for(var i=bLt.getComponentMethod(\"errorbars\",\"makeComputeError\")(t),a=new Array(e.length),o=0;o<e.length;o++){var s=i(+e[o],o);if(n.type===\"log\"){var l=n.c2l(e[o]),u=e[o]-s[0],c=e[o]+s[1];if(a[o]=[(n.c2l(u,!0)-l)*r,(n.c2l(c,!0)-l)*r],u>0){var f=n.c2l(u);n._lowerLogErrorBound||(n._lowerLogErrorBound=f),n._lowerErrorBound=Math.min(n._lowerLogErrorBound,f)}}else a[o]=[-s[0]*r,s[1]*r]}return a}function wLt(e){for(var t=0;t<e.length;t++)if(e[t])return e[t].length;return 0}function TLt(e,t,r){var n=[aZ(e.x,e.error_x,t[0],r.xaxis),aZ(e.y,e.error_y,t[1],r.yaxis),aZ(e.z,e.error_z,t[2],r.zaxis)],i=wLt(n);if(i===0)return null;for(var a=new Array(i),o=0;o<i;o++){for(var s=[[0,0,0],[0,0,0]],l=0;l<3;l++)if(n[l])for(var u=0;u<2;u++)s[u][l]=n[l][o][u];a[o]=s}return a}PLe.exports=TLt});var ULe=ye((vvr,NLe)=>{\"use strict\";var ALt=Rd().gl_line3d,RLe=Rd().gl_scatter3d,SLt=Rd().gl_error3d,MLt=Rd().gl_mesh3d,ELt=Rd().delaunay_triangulate,Qy=Mr(),OLe=Jy(),XD=$y().formatColor,kLt=S3(),oZ=nZ(),CLt=ZD(),LLt=Qa(),PLt=rp().appendArrayPointValue,ILt=ILe();function BLe(e,t){this.scene=e,this.uid=t,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode=\"\",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var lZ=BLe.prototype;lZ.handlePick=function(e){if(e.object&&(e.object===this.linePlot||e.object===this.delaunayMesh||e.object===this.textMarkers||e.object===this.scatterPlot)){var t=e.index=e.data.index;return e.object.highlight&&e.object.highlight(null),this.scatterPlot&&(e.object=this.scatterPlot,this.scatterPlot.highlight(e.data)),e.textLabel=\"\",this.textLabels&&(Qy.isArrayOrTypedArray(this.textLabels)?(this.textLabels[t]||this.textLabels[t]===0)&&(e.textLabel=this.textLabels[t]):e.textLabel=this.textLabels),e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]],!0}};function RLt(e,t,r){var n=(r+1)%3,i=(r+2)%3,a=[],o=[],s;for(s=0;s<e.length;++s){var l=e[s];isNaN(l[n])||!isFinite(l[n])||isNaN(l[i])||!isFinite(l[i])||(a.push([l[n],l[i]]),o.push(s))}var u=ELt(a);for(s=0;s<u.length;++s)for(var c=u[s],f=0;f<c.length;++f)c[f]=o[c[f]];return{positions:e,cells:u,meshColor:t}}function DLt(e){for(var t=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[1,1,1],i=0;i<3;i++){var a=e[i];a&&a.copy_zstyle!==!1&&e[2].visible!==!1&&(a=e[2]),!(!a||!a.visible)&&(t[i]=a.width/2,r[i]=OLe(a.color),n[i]=a.thickness)}return{capSize:t,color:r,lineWidth:n}}function DLe(e){return e==null?0:e.indexOf(\"left\")>-1?-1:e.indexOf(\"right\")>-1?1:0}function zLe(e){return e==null?0:e.indexOf(\"top\")>-1?-1:e.indexOf(\"bottom\")>-1?1:0}function zLt(e){var t=0,r=0,n=[t,r];if(Array.isArray(e))for(var i=0;i<e.length;i++)n[i]=[t,r],e[i]&&(n[i][0]=DLe(e[i]),n[i][1]=zLe(e[i]));else n[0]=DLe(e),n[1]=zLe(e);return n}function FLt(e,t){return t(e*4)}function qLt(e){return CLt[e]}function sZ(e,t,r,n,i){var a=null;if(Qy.isArrayOrTypedArray(e)){a=[];for(var o=0;o<t;o++)e[o]===void 0?a[o]=n:a[o]=r(e[o],i)}else a=r(e,Qy.identity);return a}function OLt(e,t){var r=[],n=e.fullSceneLayout,i=e.dataScale,a=n.xaxis,o=n.yaxis,s=n.zaxis,l=t.marker,u=t.line,c=t.x||[],f=t.y||[],h=t.z||[],d=c.length,v=t.xcalendar,x=t.ycalendar,b=t.zcalendar,p,E,k,A,L,_;for(L=0;L<d;L++)p=a.d2l(c[L],0,v)*i[0],E=o.d2l(f[L],0,x)*i[1],k=s.d2l(h[L],0,b)*i[2],r[L]=[p,E,k];if(Array.isArray(t.text))_=t.text;else if(Qy.isTypedArray(t.text))_=Array.from(t.text);else if(t.text!==void 0)for(_=new Array(d),L=0;L<d;L++)_[L]=t.text;function C(_e,Me){var ke=n[_e];return LLt.tickText(ke,ke.d2l(Me),!0).text}var M=t.texttemplate;if(M){var g=e.fullLayout,P=g._d3locale,T=Array.isArray(M),F=T?Math.min(M.length,d):d,q=T?function(_e){return M[_e]}:function(){return M};for(_=new Array(F),L=0;L<F;L++){var V={x:c[L],y:f[L],z:h[L]},H={xLabel:C(\"xaxis\",c[L]),yLabel:C(\"yaxis\",f[L]),zLabel:C(\"zaxis\",h[L])},X={};PLt(X,t,L);var G=t._meta||{};_[L]=Qy.texttemplateString(q(L),H,P,X,V,G)}}if(A={position:r,mode:t.mode,text:_},\"line\"in t&&(A.lineColor=XD(u,1,d),A.lineWidth=u.width,A.lineDashes=u.dash),\"marker\"in t){var N=kLt(t);A.scatterColor=XD(l,1,d),A.scatterSize=sZ(l.size,d,FLt,20,N),A.scatterMarker=sZ(l.symbol,d,qLt,\"\\u25CF\"),A.scatterLineWidth=l.line.width,A.scatterLineColor=XD(l.line,1,d),A.scatterAngle=0}\"textposition\"in t&&(A.textOffset=zLt(t.textposition),A.textColor=XD(t.textfont,1,d),A.textSize=sZ(t.textfont.size,d,Qy.identity,12),A.textFontFamily=t.textfont.family,A.textFontWeight=t.textfont.weight,A.textFontStyle=t.textfont.style,A.textFontVariant=t.textfont.variant,A.textAngle=0);var W=[\"x\",\"y\",\"z\"];for(A.project=[!1,!1,!1],A.projectScale=[1,1,1],A.projectOpacity=[1,1,1],L=0;L<3;++L){var re=t.projection[W[L]];(A.project[L]=re.show)&&(A.projectOpacity[L]=re.opacity,A.projectScale[L]=re.scale)}A.errorBounds=ILt(t,i,n);var ae=DLt([t.error_x,t.error_y,t.error_z]);return A.errorColor=ae.color,A.errorLineWidth=ae.lineWidth,A.errorCapSize=ae.capSize,A.delaunayAxis=t.surfaceaxis,A.delaunayColor=OLe(t.surfacecolor),A}function FLe(e){if(Qy.isArrayOrTypedArray(e)){var t=e[0];return Qy.isArrayOrTypedArray(t)&&(e=t),\"rgb(\"+e.slice(0,3).map(function(r){return Math.round(r*255)})+\")\"}return null}function qLe(e){return Qy.isArrayOrTypedArray(e)?e.length===4&&typeof e[0]==\"number\"?FLe(e):e.map(FLe):null}lZ.update=function(e){var t=this.scene.glplot.gl,r,n,i,a,o=oZ.solid;this.data=e;var s=OLt(this.scene,e);\"mode\"in s&&(this.mode=s.mode),\"lineDashes\"in s&&s.lineDashes in oZ&&(o=oZ[s.lineDashes]),this.color=qLe(s.scatterColor)||qLe(s.lineColor),this.dataPoints=s.position,r={gl:this.scene.glplot.gl,position:s.position,color:s.lineColor,lineWidth:s.lineWidth||1,dashes:o[0],dashScale:o[1],opacity:e.opacity,connectGaps:e.connectgaps},this.mode.indexOf(\"lines\")!==-1?this.linePlot?this.linePlot.update(r):(this.linePlot=ALt(r),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var l=e.opacity;if(e.marker&&e.marker.opacity!==void 0&&(l*=e.marker.opacity),n={gl:this.scene.glplot.gl,position:s.position,color:s.scatterColor,size:s.scatterSize,glyph:s.scatterMarker,opacity:l,orthographic:!0,lineWidth:s.scatterLineWidth,lineColor:s.scatterLineColor,project:s.project,projectScale:s.projectScale,projectOpacity:s.projectOpacity},this.mode.indexOf(\"markers\")!==-1?this.scatterPlot?this.scatterPlot.update(n):(this.scatterPlot=RLe(n),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),a={gl:this.scene.glplot.gl,position:s.position,glyph:s.text,color:s.textColor,size:s.textSize,angle:s.textAngle,alignment:s.textOffset,font:s.textFontFamily,fontWeight:s.textFontWeight,fontStyle:s.textFontStyle,fontVariant:s.textFontVariant,orthographic:!0,lineWidth:0,project:!1,opacity:e.opacity},this.textLabels=e.hovertext||e.text,this.mode.indexOf(\"text\")!==-1?this.textMarkers?this.textMarkers.update(a):(this.textMarkers=RLe(a),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),i={gl:this.scene.glplot.gl,position:s.position,color:s.errorColor,error:s.errorBounds,lineWidth:s.errorLineWidth,capSize:s.errorCapSize,opacity:e.opacity},this.errorBars?s.errorBounds?this.errorBars.update(i):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):s.errorBounds&&(this.errorBars=SLt(i),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),s.delaunayAxis>=0){var u=RLt(s.position,s.delaunayColor,s.delaunayAxis);u.opacity=e.opacity,this.delaunayMesh?this.delaunayMesh.update(u):(u.gl=t,this.delaunayMesh=MLt(u),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)};lZ.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())};function BLt(e,t){var r=new BLe(e,t.uid);return r.update(t),r}NLe.exports=BLt});var dZ=ye((pvr,GLe)=>{\"use strict\";var e1=Uc(),NLt=Su(),hZ=Jl(),uZ=Oc().axisHoverFormat,ULt=Wo().hovertemplateAttrs,VLt=Wo().texttemplateAttrs,VLe=vl(),HLt=nZ(),GLt=ZD(),Yg=no().extendFlat,jLt=Bu().overrideAll,HLe=Y1(),WLt=e1.line,N2=e1.marker,ZLt=N2.line,XLt=Yg({width:WLt.width,dash:{valType:\"enumerated\",values:HLe(HLt),dflt:\"solid\"}},hZ(\"line\"));function cZ(e){return{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}}}var fZ=GLe.exports=jLt({x:e1.x,y:e1.y,z:{valType:\"data_array\"},text:Yg({},e1.text,{}),texttemplate:VLt({},{}),hovertext:Yg({},e1.hovertext,{}),hovertemplate:ULt(),xhoverformat:uZ(\"x\"),yhoverformat:uZ(\"y\"),zhoverformat:uZ(\"z\"),mode:Yg({},e1.mode,{dflt:\"lines+markers\"}),surfaceaxis:{valType:\"enumerated\",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:\"color\"},projection:{x:cZ(\"x\"),y:cZ(\"y\"),z:cZ(\"z\")},connectgaps:e1.connectgaps,line:XLt,marker:Yg({symbol:{valType:\"enumerated\",values:HLe(GLt),dflt:\"circle\",arrayOk:!0},size:Yg({},N2.size,{dflt:8}),sizeref:N2.sizeref,sizemin:N2.sizemin,sizemode:N2.sizemode,opacity:Yg({},N2.opacity,{arrayOk:!1}),colorbar:N2.colorbar,line:Yg({width:Yg({},ZLt.width,{arrayOk:!1})},hZ(\"marker.line\"))},hZ(\"marker\")),textposition:Yg({},e1.textposition,{dflt:\"top center\"}),textfont:NLt({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:\"calc\",colorEditType:\"style\",arrayOk:!0,variantValues:[\"normal\",\"small-caps\"]}),opacity:VLe.opacity,hoverinfo:Yg({},VLe.hoverinfo)},\"calc\",\"nested\");fZ.x.editType=fZ.y.editType=fZ.z.editType=\"calc+clearAxisTypes\"});var ZLe=ye((gvr,WLe)=>{\"use strict\";var jLe=ba(),YLt=Mr(),vZ=lu(),KLt=$p(),JLt=R0(),$Lt=D0(),QLt=dZ();WLe.exports=function(t,r,n,i){function a(d,v){return YLt.coerce(t,r,QLt,d,v)}var o=ePt(t,r,a,i);if(!o){r.visible=!1;return}a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),a(\"mode\"),vZ.hasMarkers(r)&&KLt(t,r,n,i,a,{noSelect:!0,noAngle:!0}),vZ.hasLines(r)&&(a(\"connectgaps\"),JLt(t,r,n,i,a)),vZ.hasText(r)&&(a(\"texttemplate\"),$Lt(t,r,i,a,{noSelect:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}));var s=(r.line||{}).color,l=(r.marker||{}).color;a(\"surfaceaxis\")>=0&&a(\"surfacecolor\",s||l);for(var u=[\"x\",\"y\",\"z\"],c=0;c<3;++c){var f=\"projection.\"+u[c];a(f+\".show\")&&(a(f+\".opacity\"),a(f+\".scale\"))}var h=jLe.getComponentMethod(\"errorbars\",\"supplyDefaults\");h(t,r,s||l||n,{axis:\"z\"}),h(t,r,s||l||n,{axis:\"y\",inherit:\"z\"}),h(t,r,s||l||n,{axis:\"x\",inherit:\"z\"})};function ePt(e,t,r,n){var i=0,a=r(\"x\"),o=r(\"y\"),s=r(\"z\"),l=jLe.getComponentMethod(\"calendars\",\"handleTraceDefaults\");return l(e,t,[\"x\",\"y\",\"z\"],n),a&&o&&s&&(i=Math.min(a.length,o.length,s.length),t._length=t._xlength=t._ylength=t._zlength=i),i}});var YLe=ye((mvr,XLe)=>{\"use strict\";var tPt=km(),rPt=z0();XLe.exports=function(t,r){var n=[{x:!1,y:!1,trace:r,t:{}}];return tPt(n,r),rPt(t,r),n}});var JLe=ye((yvr,KLe)=>{KLe.exports=iPt;function iPt(e,t){if(typeof e!=\"string\")throw new TypeError(\"must specify type string\");if(t=t||{},typeof document==\"undefined\"&&!t.canvas)return null;var r=t.canvas||document.createElement(\"canvas\");typeof t.width==\"number\"&&(r.width=t.width),typeof t.height==\"number\"&&(r.height=t.height);var n=t,i;try{var a=[e];e.indexOf(\"webgl\")===0&&a.push(\"experimental-\"+e);for(var o=0;o<a.length;o++)if(i=r.getContext(a[o],n),i)return i}catch(s){i=null}return i||null}});var QLe=ye((_vr,$Le)=>{var nPt=JLe();$Le.exports=function(t){return nPt(\"webgl\",t)}});var pZ=ye((xvr,tPe)=>{\"use strict\";var ePe=va(),aPt=function(){};tPe.exports=function(t){for(var r in t)typeof t[r]==\"function\"&&(t[r]=aPt);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var n=document.createElement(\"div\");n.className=\"no-webgl\",n.style.cursor=\"pointer\",n.style.fontSize=\"24px\",n.style.color=ePe.defaults[0],n.style.position=\"absolute\",n.style.left=n.style.top=\"0px\",n.style.width=n.style.height=\"100%\",n.style[\"background-color\"]=ePe.lightLine,n.style[\"z-index\"]=30;var i=document.createElement(\"p\");return i.textContent=\"WebGL is not supported by your browser - visit https://get.webgl.org for more info\",i.style.position=\"relative\",i.style.top=\"50%\",i.style.left=\"50%\",i.style.height=\"30%\",i.style.width=\"50%\",i.style.margin=\"-15% 0 0 -25%\",n.appendChild(i),t.container.appendChild(n),t.container.style.background=\"#FFFFFF\",t.container.onclick=function(){window.open(\"https://get.webgl.org\")},!1}});var nPe=ye((bvr,iPe)=>{\"use strict\";var U2=Jy(),oPt=Mr(),sPt=[\"xaxis\",\"yaxis\",\"zaxis\"];function rPe(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickSize=[12,12,12],this.tickFontWeight=[\"normal\",\"normal\",\"normal\",\"normal\"],this.tickFontStyle=[\"normal\",\"normal\",\"normal\",\"normal\"],this.tickFontVariant=[\"normal\",\"normal\",\"normal\",\"normal\"],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=[\"Open Sans\",\"Open Sans\",\"Open Sans\"],this.labelSize=[20,20,20],this.labelFontWeight=[\"normal\",\"normal\",\"normal\",\"normal\"],this.labelFontStyle=[\"normal\",\"normal\",\"normal\",\"normal\"],this.labelFontVariant=[\"normal\",\"normal\",\"normal\",\"normal\"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}var lPt=rPe.prototype;lPt.merge=function(e,t){for(var r=this,n=0;n<3;++n){var i=t[sPt[n]];if(!i.visible){r.tickEnable[n]=!1,r.labelEnable[n]=!1,r.lineEnable[n]=!1,r.lineTickEnable[n]=!1,r.gridEnable[n]=!1,r.zeroEnable[n]=!1,r.backgroundEnable[n]=!1;continue}r.labels[n]=e._meta?oPt.templateString(i.title.text,e._meta):i.title.text,\"font\"in i.title&&(i.title.font.color&&(r.labelColor[n]=U2(i.title.font.color)),i.title.font.family&&(r.labelFont[n]=i.title.font.family),i.title.font.size&&(r.labelSize[n]=i.title.font.size),i.title.font.weight&&(r.labelFontWeight[n]=i.title.font.weight),i.title.font.style&&(r.labelFontStyle[n]=i.title.font.style),i.title.font.variant&&(r.labelFontVariant[n]=i.title.font.variant)),\"showline\"in i&&(r.lineEnable[n]=i.showline),\"linecolor\"in i&&(r.lineColor[n]=U2(i.linecolor)),\"linewidth\"in i&&(r.lineWidth[n]=i.linewidth),\"showgrid\"in i&&(r.gridEnable[n]=i.showgrid),\"gridcolor\"in i&&(r.gridColor[n]=U2(i.gridcolor)),\"gridwidth\"in i&&(r.gridWidth[n]=i.gridwidth),i.type===\"log\"?r.zeroEnable[n]=!1:\"zeroline\"in i&&(r.zeroEnable[n]=i.zeroline),\"zerolinecolor\"in i&&(r.zeroLineColor[n]=U2(i.zerolinecolor)),\"zerolinewidth\"in i&&(r.zeroLineWidth[n]=i.zerolinewidth),\"ticks\"in i&&i.ticks?r.lineTickEnable[n]=!0:r.lineTickEnable[n]=!1,\"ticklen\"in i&&(r.lineTickLength[n]=r._defaultLineTickLength[n]=i.ticklen),\"tickcolor\"in i&&(r.lineTickColor[n]=U2(i.tickcolor)),\"tickwidth\"in i&&(r.lineTickWidth[n]=i.tickwidth),\"tickangle\"in i&&(r.tickAngle[n]=i.tickangle===\"auto\"?-3600:Math.PI*-i.tickangle/180),\"showticklabels\"in i&&(r.tickEnable[n]=i.showticklabels),\"tickfont\"in i&&(i.tickfont.color&&(r.tickColor[n]=U2(i.tickfont.color)),i.tickfont.family&&(r.tickFont[n]=i.tickfont.family),i.tickfont.size&&(r.tickSize[n]=i.tickfont.size),i.tickfont.weight&&(r.tickFontWeight[n]=i.tickfont.weight),i.tickfont.style&&(r.tickFontStyle[n]=i.tickfont.style),i.tickfont.variant&&(r.tickFontVariant[n]=i.tickfont.variant)),\"mirror\"in i?[\"ticks\",\"all\",\"allticks\"].indexOf(i.mirror)!==-1?(r.lineTickMirror[n]=!0,r.lineMirror[n]=!0):i.mirror===!0?(r.lineTickMirror[n]=!1,r.lineMirror[n]=!0):(r.lineTickMirror[n]=!1,r.lineMirror[n]=!1):r.lineMirror[n]=!1,\"showbackground\"in i&&i.showbackground!==!1?(r.backgroundEnable[n]=!0,r.backgroundColor[n]=U2(i.backgroundcolor)):r.backgroundEnable[n]=!1}};function uPt(e,t){var r=new rPe;return r.merge(e,t),r}iPe.exports=uPt});var sPe=ye((wvr,oPe)=>{\"use strict\";var cPt=Jy(),fPt=[\"xaxis\",\"yaxis\",\"zaxis\"];function aPe(){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]}var hPt=aPe.prototype;hPt.merge=function(e){for(var t=0;t<3;++t){var r=e[fPt[t]];if(!r.visible){this.enabled[t]=!1,this.drawSides[t]=!1;continue}this.enabled[t]=r.showspikes,this.colors[t]=cPt(r.spikecolor),this.drawSides[t]=r.spikesides,this.lineWidth[t]=r.spikethickness}};function dPt(e){var t=new aPe;return t.merge(e),t}oPe.exports=dPt});var cPe=ye((Tvr,uPe)=>{\"use strict\";uPe.exports=yPt;var lPe=Qa(),vPt=Mr(),pPt=[\"xaxis\",\"yaxis\",\"zaxis\"],gPt=[0,0,0];function mPt(e){for(var t=new Array(3),r=0;r<3;++r){for(var n=e[r],i=new Array(n.length),a=0;a<n.length;++a)i[a]=n[a].x;t[r]=i}return t}function yPt(e){for(var t=e.axesOptions,r=e.glplot.axesPixels,n=e.fullSceneLayout,i=[[],[],[]],a=0;a<3;++a){var o=n[pPt[a]];if(o._length=(r[a].hi-r[a].lo)*r[a].pixelsPerDataUnit/e.dataScale[a],Math.abs(o._length)===1/0||isNaN(o._length))i[a]=[];else{o._input_range=o.range.slice(),o.range[0]=r[a].lo/e.dataScale[a],o.range[1]=r[a].hi/e.dataScale[a],o._m=1/(e.dataScale[a]*r[a].pixelsPerDataUnit),o.range[0]===o.range[1]&&(o.range[0]-=1,o.range[1]+=1);var s=o.tickmode;if(o.tickmode===\"auto\"){o.tickmode=\"linear\";var l=o.nticks||vPt.constrain(o._length/40,4,9);lPe.autoTicks(o,Math.abs(o.range[1]-o.range[0])/l)}for(var u=lPe.calcTicks(o,{msUTC:!0}),c=0;c<u.length;++c)u[c].x=u[c].x*e.dataScale[a],o.type===\"date\"&&(u[c].text=u[c].text.replace(/\\<br\\>/g,\" \"));i[a]=u,o.tickmode=s}}t.ticks=i;for(var a=0;a<3;++a){gPt[a]=.5*(e.glplot.bounds[0][a]+e.glplot.bounds[1][a]);for(var c=0;c<2;++c)t.bounds[c][a]=e.glplot.bounds[c][a]}e.contourLevels=mPt(i)}});var mPe=ye((Avr,gPe)=>{\"use strict\";var dPe=Rd().gl_plot3d,_Pt=dPe.createCamera,fPe=dPe.createScene,xPt=QLe(),bPt=kL(),JD=ba(),up=Mr(),KD=up.preserveDrawingBuffer(),$D=Qa(),Kg=Nc(),wPt=Jy(),TPt=pZ(),APt=DU(),SPt=nPe(),MPt=sPe(),EPt=cPe(),kPt=wg().applyAutorangeOptions,HE,YD,vPe=!1;function pPe(e,t){var r=document.createElement(\"div\"),n=e.container;this.graphDiv=e.graphDiv;var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");i.style.position=\"absolute\",i.style.top=i.style.left=\"0px\",i.style.width=i.style.height=\"100%\",i.style[\"z-index\"]=20,i.style[\"pointer-events\"]=\"none\",r.appendChild(i),this.svgContainer=i,r.id=e.id,r.style.position=\"absolute\",r.style.top=r.style.left=\"0px\",r.style.width=r.style.height=\"100%\",n.appendChild(r),this.fullLayout=t,this.id=e.id||\"scene\",this.fullSceneLayout=t[this.id],this.plotArgs=[[],{},{}],this.axesOptions=SPt(t,t[this.id]),this.spikeOptions=MPt(t[this.id]),this.container=r,this.staticMode=!!e.staticPlot,this.pixelRatio=this.pixelRatio||e.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=JD.getComponentMethod(\"annotations3d\",\"convert\"),this.drawAnnotations=JD.getComponentMethod(\"annotations3d\",\"draw\"),this.initializeGLPlot()}var wv=pPe.prototype;wv.prepareOptions=function(){var e=this,t={canvas:e.canvas,gl:e.gl,glOptions:{preserveDrawingBuffer:KD,premultipliedAlpha:!0,antialias:!0},container:e.container,axes:e.axesOptions,spikes:e.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:e.camera,pixelRatio:e.pixelRatio};if(e.staticMode){if(!YD&&(HE=document.createElement(\"canvas\"),YD=xPt({canvas:HE,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}),!YD))throw new Error(\"error creating static canvas/context for image server\");t.gl=YD,t.canvas=HE}return t};var hPe=!0;wv.tryCreatePlot=function(){var e=this,t=e.prepareOptions(),r=!0;try{e.glplot=fPe(t)}catch(n){if(e.staticMode||!hPe||KD)r=!1;else{up.warn([\"webgl setup failed possibly due to\",\"false preserveDrawingBuffer config.\",\"The mobile/tablet device may not be detected by is-mobile module.\",\"Enabling preserveDrawingBuffer in second attempt to create webgl scene...\"].join(\" \"));try{KD=t.glOptions.preserveDrawingBuffer=!0,e.glplot=fPe(t)}catch(i){KD=t.glOptions.preserveDrawingBuffer=!1,r=!1}}}return hPe=!1,r};wv.initializeGLCamera=function(){var e=this,t=e.fullSceneLayout.camera,r=t.projection.type===\"orthographic\";e.camera=_Pt(e.container,{center:[t.center.x,t.center.y,t.center.z],eye:[t.eye.x,t.eye.y,t.eye.z],up:[t.up.x,t.up.y,t.up.z],_ortho:r,zoomMin:.01,zoomMax:100,mode:\"orbit\"})};wv.initializeGLPlot=function(){var e=this;e.initializeGLCamera();var t=e.tryCreatePlot();if(!t)return TPt(e);e.traces={},e.make4thDimension();var r=e.graphDiv,n=r.layout,i=function(){var o={};return e.isCameraChanged(n)&&(o[e.id+\".camera\"]=e.getCamera()),e.isAspectChanged(n)&&(o[e.id+\".aspectratio\"]=e.glplot.getAspectratio(),n[e.id].aspectmode!==\"manual\"&&(e.fullSceneLayout.aspectmode=n[e.id].aspectmode=o[e.id+\".aspectmode\"]=\"manual\")),o},a=function(o){if(o.fullSceneLayout.dragmode!==!1){var s=i();o.saveLayout(n),o.graphDiv.emit(\"plotly_relayout\",s)}};return e.glplot.canvas&&(e.glplot.canvas.addEventListener(\"mouseup\",function(){a(e)}),e.glplot.canvas.addEventListener(\"touchstart\",function(){vPe=!0}),e.glplot.canvas.addEventListener(\"wheel\",function(o){if(r._context._scrollZoom.gl3d){if(e.camera._ortho){var s=o.deltaX>o.deltaY?1.1:.9090909090909091,l=e.glplot.getAspectratio();e.glplot.setAspectratio({x:s*l.x,y:s*l.y,z:s*l.z})}a(e)}},bPt?{passive:!1}:!1),e.glplot.canvas.addEventListener(\"mousemove\",function(){if(e.fullSceneLayout.dragmode!==!1&&e.camera.mouseListener.buttons!==0){var o=i();e.graphDiv.emit(\"plotly_relayouting\",o)}}),e.staticMode||e.glplot.canvas.addEventListener(\"webglcontextlost\",function(o){r&&r.emit&&r.emit(\"plotly_webglcontextlost\",{event:o,layer:e.id})},!1)),e.glplot.oncontextloss=function(){e.recoverContext()},e.glplot.onrender=function(){e.render()},!0};wv.render=function(){var e=this,t=e.graphDiv,r,n=e.svgContainer,i=e.container.getBoundingClientRect();t._fullLayout._calcInverseTransform(t);var a=t._fullLayout._invScaleX,o=t._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),EPt(e),e.glplot.axes.update(e.axesOptions);for(var u=Object.keys(e.traces),c=null,f=e.glplot.selection,h=0;h<u.length;++h)r=e.traces[u[h]],r.data.hoverinfo!==\"skip\"&&r.handlePick(f)&&(c=r),r.setContourLevels&&r.setContourLevels();function d(P,T,F){var q=e.fullSceneLayout[P+\"axis\"];return q.type!==\"log\"&&(T=q.d2l(T)),$D.hoverLabelText(q,T,F)}if(c!==null){var v=APt(e.glplot.cameraParams,f.dataCoordinate);r=c.data;var x=t._fullData[r.index],b=f.index,p={xLabel:d(\"x\",f.traceCoordinate[0],r.xhoverformat),yLabel:d(\"y\",f.traceCoordinate[1],r.yhoverformat),zLabel:d(\"z\",f.traceCoordinate[2],r.zhoverformat)},E=Kg.castHoverinfo(x,e.fullLayout,b),k=(E||\"\").split(\"+\"),A=E&&E===\"all\";!x.hovertemplate&&!A&&(k.indexOf(\"x\")===-1&&(p.xLabel=void 0),k.indexOf(\"y\")===-1&&(p.yLabel=void 0),k.indexOf(\"z\")===-1&&(p.zLabel=void 0),k.indexOf(\"text\")===-1&&(f.textLabel=void 0),k.indexOf(\"name\")===-1&&(c.name=void 0));var L,_=[];r.type===\"cone\"||r.type===\"streamtube\"?(p.uLabel=d(\"x\",f.traceCoordinate[3],r.uhoverformat),(A||k.indexOf(\"u\")!==-1)&&_.push(\"u: \"+p.uLabel),p.vLabel=d(\"y\",f.traceCoordinate[4],r.vhoverformat),(A||k.indexOf(\"v\")!==-1)&&_.push(\"v: \"+p.vLabel),p.wLabel=d(\"z\",f.traceCoordinate[5],r.whoverformat),(A||k.indexOf(\"w\")!==-1)&&_.push(\"w: \"+p.wLabel),p.normLabel=f.traceCoordinate[6].toPrecision(3),(A||k.indexOf(\"norm\")!==-1)&&_.push(\"norm: \"+p.normLabel),r.type===\"streamtube\"&&(p.divergenceLabel=f.traceCoordinate[7].toPrecision(3),(A||k.indexOf(\"divergence\")!==-1)&&_.push(\"divergence: \"+p.divergenceLabel)),f.textLabel&&_.push(f.textLabel),L=_.join(\"<br>\")):r.type===\"isosurface\"||r.type===\"volume\"?(p.valueLabel=$D.hoverLabelText(e._mockAxis,e._mockAxis.d2l(f.traceCoordinate[3]),r.valuehoverformat),_.push(\"value: \"+p.valueLabel),f.textLabel&&_.push(f.textLabel),L=_.join(\"<br>\")):L=f.textLabel;var C={x:f.traceCoordinate[0],y:f.traceCoordinate[1],z:f.traceCoordinate[2],data:x._input,fullData:x,curveNumber:x.index,pointNumber:b};Kg.appendArrayPointValue(C,x,b),r._module.eventData&&(C=x._module.eventData(C,f,x,{},b));var M={points:[C]};if(e.fullSceneLayout.hovermode){var g=[];Kg.loneHover({trace:x,x:(.5+.5*v[0]/v[3])*s,y:(.5-.5*v[1]/v[3])*l,xLabel:p.xLabel,yLabel:p.yLabel,zLabel:p.zLabel,text:L,name:c.name,color:Kg.castHoverOption(x,b,\"bgcolor\")||c.color,borderColor:Kg.castHoverOption(x,b,\"bordercolor\"),fontFamily:Kg.castHoverOption(x,b,\"font.family\"),fontSize:Kg.castHoverOption(x,b,\"font.size\"),fontColor:Kg.castHoverOption(x,b,\"font.color\"),nameLength:Kg.castHoverOption(x,b,\"namelength\"),textAlign:Kg.castHoverOption(x,b,\"align\"),hovertemplate:up.castOption(x,b,\"hovertemplate\"),hovertemplateLabels:up.extendFlat({},C,p),eventData:[C]},{container:n,gd:t,inOut_bbox:g}),C.bbox=g[0]}f.distance<5&&(f.buttons||vPe)?t.emit(\"plotly_click\",M):t.emit(\"plotly_hover\",M),this.oldEventData=M}else Kg.loneUnhover(n),this.oldEventData&&t.emit(\"plotly_unhover\",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)};wv.recoverContext=function(){var e=this;e.glplot.dispose();var t=function(){if(e.glplot.gl.isContextLost()){requestAnimationFrame(t);return}if(!e.initializeGLPlot()){up.error(\"Catastrophic and unrecoverable WebGL error. Context lost.\");return}e.plot.apply(e,e.plotArgs)};requestAnimationFrame(t)};var GE=[\"xaxis\",\"yaxis\",\"zaxis\"];function CPt(e,t,r){for(var n=e.fullSceneLayout,i=0;i<3;i++){var a=GE[i],o=a.charAt(0),s=n[a],l=t[o],u=t[o+\"calendar\"],c=t[\"_\"+o+\"length\"];if(!up.isArrayOrTypedArray(l))r[0][i]=Math.min(r[0][i],0),r[1][i]=Math.max(r[1][i],c-1);else for(var f,h=0;h<(c||l.length);h++)if(up.isArrayOrTypedArray(l[h]))for(var d=0;d<l[h].length;++d)f=s.d2l(l[h][d],0,u),!isNaN(f)&&isFinite(f)&&(r[0][i]=Math.min(r[0][i],f),r[1][i]=Math.max(r[1][i],f));else f=s.d2l(l[h],0,u),!isNaN(f)&&isFinite(f)&&(r[0][i]=Math.min(r[0][i],f),r[1][i]=Math.max(r[1][i],f))}}function LPt(e,t){for(var r=e.fullSceneLayout,n=r.annotations||[],i=0;i<3;i++)for(var a=GE[i],o=a.charAt(0),s=r[a],l=0;l<n.length;l++){var u=n[l];if(u.visible){var c=s.r2l(u[o]);!isNaN(c)&&isFinite(c)&&(t[0][i]=Math.min(t[0][i],c),t[1][i]=Math.max(t[1][i],c))}}}wv.plot=function(e,t,r){var n=this;if(n.plotArgs=[e,t,r],!n.glplot.contextLost){var i,a,o,s,l,u,c=t[n.id],f=r[n.id];n.fullLayout=t,n.fullSceneLayout=c,n.axesOptions.merge(t,c),n.spikeOptions.merge(c),n.setViewport(c),n.updateFx(c.dragmode,c.hovermode),n.camera.enableWheel=n.graphDiv._context._scrollZoom.gl3d,n.glplot.setClearColor(wPt(c.bgcolor)),n.setConvert(l),e?Array.isArray(e)||(e=[e]):e=[];var h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(o=0;o<e.length;++o)i=e[o],!(i.visible!==!0||i._length===0)&&CPt(this,i,h);LPt(this,h);var d=[1,1,1];for(s=0;s<3;++s)h[1][s]===h[0][s]?d[s]=1:d[s]=1/(h[1][s]-h[0][s]);for(n.dataScale=d,n.convertAnnotations(this),o=0;o<e.length;++o)i=e[o],!(i.visible!==!0||i._length===0)&&(a=n.traces[i.uid],a?a.data.type===i.type?a.update(i):(a.dispose(),a=i._module.plot(this,i),n.traces[i.uid]=a):(a=i._module.plot(this,i),n.traces[i.uid]=a),a.name=i.name);var v=Object.keys(n.traces);e:for(o=0;o<v.length;++o){for(s=0;s<e.length;++s)if(e[s].uid===v[o]&&e[s].visible===!0&&e[s]._length!==0)continue e;a=n.traces[v[o]],a.dispose(),delete n.traces[v[o]]}n.glplot.objects.sort(function(ae,_e){return ae._trace.data.index-_e._trace.data.index});var x=[[0,0,0],[0,0,0]],b=[],p={};for(o=0;o<3;++o){l=c[GE[o]],u=l.type,u in p?(p[u].acc*=d[o],p[u].count+=1):p[u]={acc:d[o],count:1};var E;if(l.autorange){x[0][o]=1/0,x[1][o]=-1/0;var k=n.glplot.objects,A=n.fullSceneLayout.annotations||[],L=l._name.charAt(0);for(s=0;s<k.length;s++){var _=k[s],C=_.bounds,M=_._trace.data._pad||0;_.constructor.name===\"ErrorBars\"&&l._lowerLogErrorBound?x[0][o]=Math.min(x[0][o],l._lowerLogErrorBound):x[0][o]=Math.min(x[0][o],C[0][o]/d[o]-M),x[1][o]=Math.max(x[1][o],C[1][o]/d[o]+M)}for(s=0;s<A.length;s++){var g=A[s];if(g.visible){var P=l.r2l(g[L]);x[0][o]=Math.min(x[0][o],P),x[1][o]=Math.max(x[1][o],P)}}if(\"rangemode\"in l&&l.rangemode===\"tozero\"&&(x[0][o]=Math.min(x[0][o],0),x[1][o]=Math.max(x[1][o],0)),x[0][o]>x[1][o])x[0][o]=-1,x[1][o]=1;else{var T=x[1][o]-x[0][o];x[0][o]-=T/32,x[1][o]+=T/32}if(E=[x[0][o],x[1][o]],E=kPt(E,l),x[0][o]=E[0],x[1][o]=E[1],l.isReversed()){var F=x[0][o];x[0][o]=x[1][o],x[1][o]=F}}else E=l.range,x[0][o]=l.r2l(E[0]),x[1][o]=l.r2l(E[1]);x[0][o]===x[1][o]&&(x[0][o]-=1,x[1][o]+=1),b[o]=x[1][o]-x[0][o],l.range=[x[0][o],x[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*d[o],max:l.range[1]*d[o]})}var q,V=c.aspectmode;if(V===\"cube\")q=[1,1,1];else if(V===\"manual\"){var H=c.aspectratio;q=[H.x,H.y,H.z]}else if(V===\"auto\"||V===\"data\"){var X=[1,1,1];for(o=0;o<3;++o){l=c[GE[o]],u=l.type;var G=p[u];X[o]=Math.pow(G.acc,1/G.count)/d[o]}V===\"data\"||Math.max.apply(null,X)/Math.min.apply(null,X)<=4?q=X:q=[1,1,1]}else throw new Error(\"scene.js aspectRatio was not one of the enumerated types\");c.aspectratio.x=f.aspectratio.x=q[0],c.aspectratio.y=f.aspectratio.y=q[1],c.aspectratio.z=f.aspectratio.z=q[2],n.glplot.setAspectratio(c.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=c.aspectmode);var N=c.domain||null,W=t._size||null;if(N&&W){var re=n.container.style;re.position=\"absolute\",re.left=W.l+N.x[0]*W.w+\"px\",re.top=W.t+(1-N.y[1])*W.h+\"px\",re.width=W.w*(N.x[1]-N.x[0])+\"px\",re.height=W.h*(N.y[1]-N.y[0])+\"px\"}n.glplot.redraw()}};wv.destroy=function(){var e=this;e.glplot&&(e.camera.mouseListener.enabled=!1,e.container.removeEventListener(\"wheel\",e.camera.wheelListener),e.camera=null,e.glplot.dispose(),e.container.parentNode.removeChild(e.container),e.glplot=null)};function PPt(e){return[[e.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]]}function IPt(e){return{up:{x:e.up[0],y:e.up[1],z:e.up[2]},center:{x:e.center[0],y:e.center[1],z:e.center[2]},eye:{x:e.eye[0],y:e.eye[1],z:e.eye[2]},projection:{type:e._ortho===!0?\"orthographic\":\"perspective\"}}}wv.getCamera=function(){var e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),IPt(e.camera)};wv.setViewport=function(e){var t=this,r=e.camera;t.camera.lookAt.apply(this,PPt(r)),t.glplot.setAspectratio(e.aspectratio);var n=r.projection.type===\"orthographic\",i=t.camera._ortho;n!==i&&(t.glplot.redraw(),t.glplot.clearRGBA(),t.glplot.dispose(),t.initializeGLPlot())};wv.isCameraChanged=function(e){var t=this,r=t.getCamera(),n=up.nestedProperty(e,t.id+\".camera\"),i=n.get();function a(u,c,f,h){var d=[\"up\",\"center\",\"eye\"],v=[\"x\",\"y\",\"z\"];return c[d[f]]&&u[d[f]][v[h]]===c[d[f]][v[h]]}var o=!1;if(i===void 0)o=!0;else{for(var s=0;s<3;s++)for(var l=0;l<3;l++)if(!a(r,i,s,l)){o=!0;break}(!i.projection||r.projection&&r.projection.type!==i.projection.type)&&(o=!0)}return o};wv.isAspectChanged=function(e){var t=this,r=t.glplot.getAspectratio(),n=up.nestedProperty(e,t.id+\".aspectratio\"),i=n.get();return i===void 0||i.x!==r.x||i.y!==r.y||i.z!==r.z};wv.saveLayout=function(e){var t=this,r=t.fullLayout,n,i,a,o,s,l,u=t.isCameraChanged(e),c=t.isAspectChanged(e),f=u||c;if(f){var h={};if(u&&(n=t.getCamera(),i=up.nestedProperty(e,t.id+\".camera\"),a=i.get(),h[t.id+\".camera\"]=a),c&&(o=t.glplot.getAspectratio(),s=up.nestedProperty(e,t.id+\".aspectratio\"),l=s.get(),h[t.id+\".aspectratio\"]=l),JD.call(\"_storeDirectGUIEdit\",e,r._preGUI,h),u){i.set(n);var d=up.nestedProperty(r,t.id+\".camera\");d.set(n)}if(c){s.set(o);var v=up.nestedProperty(r,t.id+\".aspectratio\");v.set(o),t.glplot.redraw()}}return f};wv.updateFx=function(e,t){var r=this,n=r.camera;if(n)if(e===\"orbit\")n.mode=\"orbit\",n.keyBindingMode=\"rotate\";else if(e===\"turntable\"){n.up=[0,0,1],n.mode=\"turntable\",n.keyBindingMode=\"rotate\";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,u=o.up.z;if(u/Math.sqrt(s*s+l*l+u*u)<.999){var c=r.id+\".camera.up\",f={x:0,y:0,z:1},h={};h[c]=f;var d=i.layout;JD.call(\"_storeDirectGUIEdit\",d,a._preGUI,h),o.up=f,up.nestedProperty(d,c).set(f)}}else n.keyBindingMode=e;r.fullSceneLayout.hovermode=t};function RPt(e,t,r){for(var n=0,i=r-1;n<i;++n,--i)for(var a=0;a<t;++a)for(var o=0;o<4;++o){var s=4*(t*n+a)+o,l=4*(t*i+a)+o,u=e[s];e[s]=e[l],e[l]=u}}function DPt(e,t,r){for(var n=0;n<r;++n)for(var i=0;i<t;++i){var a=4*(t*n+i),o=e[a+3];if(o>0)for(var s=255/o,l=0;l<3;++l)e[a+l]=Math.min(s*e[a+l],255)}}wv.toImage=function(e){var t=this;e||(e=\"png\"),t.staticMode&&t.container.appendChild(HE),t.glplot.redraw();var r=t.glplot.gl,n=r.drawingBufferWidth,i=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var a=new Uint8Array(n*i*4);r.readPixels(0,0,n,i,r.RGBA,r.UNSIGNED_BYTE,a),RPt(a,n,i),DPt(a,n,i);var o=document.createElement(\"canvas\");o.width=n,o.height=i;var s=o.getContext(\"2d\",{willReadFrequently:!0}),l=s.createImageData(n,i);l.data.set(a),s.putImageData(l,0,0);var u;switch(e){case\"jpeg\":u=o.toDataURL(\"image/jpeg\");break;case\"webp\":u=o.toDataURL(\"image/webp\");break;default:u=o.toDataURL(\"image/png\")}return t.staticMode&&t.container.removeChild(HE),u};wv.setConvert=function(){for(var e=this,t=0;t<3;t++){var r=e.fullSceneLayout[GE[t]];$D.setConvert(r,e.fullLayout),r.setScale=up.noop}};wv.make4thDimension=function(){var e=this,t=e.graphDiv,r=t._fullLayout;e._mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},$D.setConvert(e._mockAxis,r)};gPe.exports=pPe});var _Pe=ye((Svr,yPe)=>{\"use strict\";yPe.exports={scene:{valType:\"subplotid\",dflt:\"scene\",editType:\"calc+clearAxisTypes\"}}});var mZ=ye((Mvr,xPe)=>{\"use strict\";var zPt=va(),cs=Cd(),gZ=no().extendFlat,FPt=Bu().overrideAll;xPe.exports=FPt({visible:cs.visible,showspikes:{valType:\"boolean\",dflt:!0},spikesides:{valType:\"boolean\",dflt:!0},spikethickness:{valType:\"number\",min:0,dflt:2},spikecolor:{valType:\"color\",dflt:zPt.defaultLine},showbackground:{valType:\"boolean\",dflt:!1},backgroundcolor:{valType:\"color\",dflt:\"rgba(204, 204, 204, 0.5)\"},showaxeslabels:{valType:\"boolean\",dflt:!0},color:cs.color,categoryorder:cs.categoryorder,categoryarray:cs.categoryarray,title:{text:cs.title.text,font:cs.title.font},type:gZ({},cs.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autotypenumbers:cs.autotypenumbers,autorange:cs.autorange,autorangeoptions:{minallowed:cs.autorangeoptions.minallowed,maxallowed:cs.autorangeoptions.maxallowed,clipmin:cs.autorangeoptions.clipmin,clipmax:cs.autorangeoptions.clipmax,include:cs.autorangeoptions.include,editType:\"plot\"},rangemode:cs.rangemode,minallowed:cs.minallowed,maxallowed:cs.maxallowed,range:gZ({},cs.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],anim:!1}),tickmode:cs.minor.tickmode,nticks:cs.nticks,tick0:cs.tick0,dtick:cs.dtick,tickvals:cs.tickvals,ticktext:cs.ticktext,ticks:cs.ticks,mirror:cs.mirror,ticklen:cs.ticklen,tickwidth:cs.tickwidth,tickcolor:cs.tickcolor,showticklabels:cs.showticklabels,labelalias:cs.labelalias,tickfont:cs.tickfont,tickangle:cs.tickangle,tickprefix:cs.tickprefix,showtickprefix:cs.showtickprefix,ticksuffix:cs.ticksuffix,showticksuffix:cs.showticksuffix,showexponent:cs.showexponent,exponentformat:cs.exponentformat,minexponent:cs.minexponent,separatethousands:cs.separatethousands,tickformat:cs.tickformat,tickformatstops:cs.tickformatstops,hoverformat:cs.hoverformat,showline:cs.showline,linecolor:cs.linecolor,linewidth:cs.linewidth,showgrid:cs.showgrid,gridcolor:gZ({},cs.gridcolor,{dflt:\"rgb(204, 204, 204)\"}),gridwidth:cs.gridwidth,zeroline:cs.zeroline,zerolinecolor:cs.zerolinecolor,zerolinewidth:cs.zerolinewidth},\"plot\",\"from-root\")});var bZ=ye((Evr,bPe)=>{\"use strict\";var yZ=mZ(),qPt=Ju().attributes,_Z=no().extendFlat,OPt=Mr().counterRegex;function xZ(e,t,r){return{x:{valType:\"number\",dflt:e,editType:\"camera\"},y:{valType:\"number\",dflt:t,editType:\"camera\"},z:{valType:\"number\",dflt:r,editType:\"camera\"},editType:\"camera\"}}bPe.exports={_arrayAttrRegexps:[OPt(\"scene\",\".annotations\",!0)],bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"plot\"},camera:{up:_Z(xZ(0,0,1),{}),center:_Z(xZ(0,0,0),{}),eye:_Z(xZ(1.25,1.25,1.25),{}),projection:{type:{valType:\"enumerated\",values:[\"perspective\",\"orthographic\"],dflt:\"perspective\",editType:\"calc\"},editType:\"calc\"},editType:\"camera\"},domain:qPt({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:yZ,yaxis:yZ,zaxis:yZ,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\"}});var SPe=ye((kvr,APe)=>{\"use strict\";var BPt=id().mix,wPe=Mr(),NPt=Vs(),UPt=mZ(),VPt=yU(),HPt=JM(),TPe=[\"xaxis\",\"yaxis\",\"zaxis\"],GPt=100*136/187;APe.exports=function(t,r,n){var i,a;function o(u,c){return wPe.coerce(i,a,UPt,u,c)}for(var s=0;s<TPe.length;s++){var l=TPe[s];i=t[l]||{},a=NPt.newContainer(r,l),a._id=l[0]+n.scene,a._name=l,VPt(i,a,o,n),HPt(i,a,o,{font:n.font,letter:l[0],data:n.data,showGrid:!0,noAutotickangles:!0,noTicklabelindex:!0,noTickson:!0,noTicklabelmode:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,noTicklabelstep:!0,noTicklabelposition:!0,noTicklabeloverflow:!0,noInsiderange:!0,bgColor:n.bgColor,calendar:n.calendar},n.fullLayout),o(\"gridcolor\",BPt(a.color,n.bgColor,GPt).toRgbString()),o(\"title.text\",l[0]),a.setScale=wPe.noop,o(\"showspikes\")&&(o(\"spikesides\"),o(\"spikethickness\"),o(\"spikecolor\",a.color)),o(\"showaxeslabels\"),o(\"showbackground\")&&o(\"backgroundcolor\")}}});var CPe=ye((Cvr,kPe)=>{\"use strict\";var jPt=Mr(),WPt=va(),ZPt=ba(),XPt=C_(),YPt=SPe(),MPe=bZ(),KPt=kd().getSubplotData,EPe=\"gl3d\";kPe.exports=function(t,r,n){var i=r._basePlotModules.length>1;function a(o){if(!i){var s=jPt.validate(t[o],MPe[o]);if(s)return t[o]}}XPt(t,r,n,{type:EPe,attributes:MPe,handleDefaults:JPt,fullLayout:r,font:r.font,fullData:n,getDfltFromLayout:a,autotypenumbersDflt:r.autotypenumbers,paper_bgcolor:r.paper_bgcolor,calendar:r.calendar})};function JPt(e,t,r,n){for(var i=r(\"bgcolor\"),a=WPt.combine(i,n.paper_bgcolor),o=[\"up\",\"center\",\"eye\"],s=0;s<o.length;s++)r(\"camera.\"+o[s]+\".x\"),r(\"camera.\"+o[s]+\".y\"),r(\"camera.\"+o[s]+\".z\");r(\"camera.projection.type\");var l=!!r(\"aspectratio.x\")&&!!r(\"aspectratio.y\")&&!!r(\"aspectratio.z\"),u=l?\"manual\":\"auto\",c=r(\"aspectmode\",u);l||(e.aspectratio=t.aspectratio={x:1,y:1,z:1},c===\"manual\"&&(t.aspectmode=\"auto\"),e.aspectmode=t.aspectmode);var f=KPt(n.fullData,EPe,n.id);YPt(e,t,{font:n.font,scene:n.id,data:f,bgColor:a,calendar:n.calendar,autotypenumbersDflt:n.autotypenumbersDflt,fullLayout:n.fullLayout}),ZPt.getComponentMethod(\"annotations3d\",\"handleDefaults\")(e,t,n);var h=n.getDfltFromLayout(\"dragmode\");if(h!==!1&&!h)if(h=\"orbit\",e.camera&&e.camera.up){var d=e.camera.up.x,v=e.camera.up.y,x=e.camera.up.z;x!==0&&(!d||!v||!x||x/Math.sqrt(d*d+v*v+x*x)>.999)&&(h=\"turntable\")}else h=\"turntable\";r(\"dragmode\",h),r(\"hovermode\",n.getDfltFromLayout(\"hovermode\"))}});var Q_=ye(cp=>{\"use strict\";var $Pt=Bu().overrideAll,QPt=N1(),eIt=mPe(),tIt=kd().getSubplotData,rIt=Mr(),iIt=Zp(),O5=\"gl3d\",wZ=\"scene\";cp.name=O5;cp.attr=wZ;cp.idRoot=wZ;cp.idRegex=cp.attrRegex=rIt.counterRegex(\"scene\");cp.attributes=_Pe();cp.layoutAttributes=bZ();cp.baseLayoutAttrOverrides=$Pt({hoverlabel:QPt.hoverlabel},\"plot\",\"nested\");cp.supplyLayoutDefaults=CPe();cp.plot=function(t){for(var r=t._fullLayout,n=t._fullData,i=r._subplots[O5],a=0;a<i.length;a++){var o=i[a],s=tIt(n,O5,o),l=r[o],u=l.camera,c=l._scene;c||(c=new eIt({id:o,graphDiv:t,container:t.querySelector(\".gl-container\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio,camera:u},r),l._scene=c),c.viewInitial||(c.viewInitial={up:{x:u.up.x,y:u.up.y,z:u.up.z},eye:{x:u.eye.x,y:u.eye.y,z:u.eye.z},center:{x:u.center.x,y:u.center.y,z:u.center.z}}),c.plot(s,r,t.layout)}};cp.clean=function(e,t,r,n){for(var i=n._subplots[O5]||[],a=0;a<i.length;a++){var o=i[a];!t[o]&&n[o]._scene&&(n[o]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(\".annotation-\"+o).remove())}};cp.toSVG=function(e){for(var t=e._fullLayout,r=t._subplots[O5],n=t._size,i=0;i<r.length;i++){var a=t[r[i]],o=a.domain,s=a._scene,l=s.toImage(\"png\"),u=t._glimages.append(\"svg:image\");u.attr({xmlns:iIt.svg,\"xlink:href\":l,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"}),s.destroy()}};cp.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var r=t.substr(5);return r===\"1\"&&(r=\"\"),wZ+r}};cp.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[O5],n=0;n<r.length;n++){var i=t[r[n]]._scene;i.updateFx(t.dragmode,t.hovermode)}}});var PPe=ye((Pvr,LPe)=>{\"use strict\";LPe.exports={plot:ULe(),attributes:dZ(),markerSymbols:ZD(),supplyDefaults:ZLe(),colorbar:[{container:\"marker\",min:\"cmin\",max:\"cmax\"},{container:\"line\",min:\"cmin\",max:\"cmax\"}],calc:YLe(),moduleType:\"trace\",name:\"scatter3d\",basePlotModule:Q_(),categories:[\"gl3d\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var RPe=ye((Ivr,IPe)=>{\"use strict\";IPe.exports=PPe()});var jE=ye((Rvr,FPe)=>{\"use strict\";var DPe=va(),nIt=Jl(),TZ=Oc().axisHoverFormat,aIt=Wo().hovertemplateAttrs,zPe=vl(),AZ=no().extendFlat,oIt=Bu().overrideAll;function SZ(e){return{valType:\"boolean\",dflt:!1}}function MZ(e){return{show:{valType:\"boolean\",dflt:!1},start:{valType:\"number\",dflt:null,editType:\"plot\"},end:{valType:\"number\",dflt:null,editType:\"plot\"},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\"},project:{x:SZ(\"x\"),y:SZ(\"y\"),z:SZ(\"z\")},color:{valType:\"color\",dflt:DPe.defaultLine},usecolormap:{valType:\"boolean\",dflt:!1},width:{valType:\"number\",min:1,max:16,dflt:2},highlight:{valType:\"boolean\",dflt:!0},highlightcolor:{valType:\"color\",dflt:DPe.defaultLine},highlightwidth:{valType:\"number\",min:1,max:16,dflt:2}}}var EZ=FPe.exports=oIt(AZ({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:aIt(),xhoverformat:TZ(\"x\"),yhoverformat:TZ(\"y\"),zhoverformat:TZ(\"z\"),connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},surfacecolor:{valType:\"data_array\"}},nIt(\"\",{colorAttr:\"z or surfacecolor\",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:\"calc\"}),{contours:{x:MZ(\"x\"),y:MZ(\"y\"),z:MZ(\"z\")},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\"},hoverinfo:AZ({},zPe.hoverinfo),showlegend:AZ({},zPe.showlegend,{dflt:!1})}),\"calc\",\"nested\");EZ.x.editType=EZ.y.editType=EZ.z.editType=\"calc+clearAxisTypes\"});var CZ=ye((Dvr,BPe)=>{\"use strict\";var sIt=ba(),qPe=Mr(),lIt=Uh(),uIt=jE(),kZ=.1;function cIt(e,t){for(var r=[],n=32,i=0;i<n;i++){var a=i/(n-1),o=t+(1-t)*(1-Math.pow(Math.sin(e*a*Math.PI),2));r.push([a,Math.max(0,Math.min(1,o))])}return r}function fIt(e){var t=0;if(!Array.isArray(e)||e.length<2||!e[0]||!e[e.length-1]||+e[0][0]!=0||+e[e.length-1][0]!=1)return!1;for(var r=0;r<e.length;r++){var n=e[r];if(n.length!==2||+n[0]<t)return!1;t=+n[0]}return!0}function hIt(e,t,r,n){var i,a;function o(b,p){return qPe.coerce(e,t,uIt,b,p)}var s=o(\"x\"),l=o(\"y\"),u=o(\"z\");if(!u||!u.length||s&&s.length<1||l&&l.length<1){t.visible=!1;return}t._xlength=Array.isArray(s)&&qPe.isArrayOrTypedArray(s[0])?u.length:u[0].length,t._ylength=u.length;var c=sIt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");c(e,t,[\"x\",\"y\",\"z\"],n),o(\"text\"),o(\"hovertext\"),o(\"hovertemplate\"),o(\"xhoverformat\"),o(\"yhoverformat\"),o(\"zhoverformat\"),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"hidesurface\",\"connectgaps\",\"opacity\"].forEach(function(b){o(b)});var f=o(\"surfacecolor\"),h=[\"x\",\"y\",\"z\"];for(i=0;i<3;++i){var d=\"contours.\"+h[i],v=o(d+\".show\"),x=o(d+\".highlight\");if(v||x)for(a=0;a<3;++a)o(d+\".project.\"+h[a]);v&&(o(d+\".color\"),o(d+\".width\"),o(d+\".usecolormap\")),x&&(o(d+\".highlightcolor\"),o(d+\".highlightwidth\")),o(d+\".start\"),o(d+\".end\"),o(d+\".size\")}lIt(e,t,n,o,{prefix:\"\",cLetter:\"c\"}),OPe(e,t,n,o),t._length=null}function OPe(e,t,r,n){var i=n(\"opacityscale\");i===\"max\"?t.opacityscale=[[0,kZ],[1,1]]:i===\"min\"?t.opacityscale=[[0,1],[1,kZ]]:i===\"extremes\"?t.opacityscale=cIt(1,kZ):fIt(i)||(t.opacityscale=void 0)}BPe.exports={supplyDefaults:hIt,opacityscaleDefaults:OPe}});var VPe=ye((zvr,UPe)=>{\"use strict\";var NPe=zv();UPe.exports=function(t,r){r.surfacecolor?NPe(t,r,{vals:r.surfacecolor,containerStr:\"\",cLetter:\"c\"}):NPe(t,r,{vals:r.z,containerStr:\"\",cLetter:\"c\"})}});var XPe=ye((Fvr,ZPe)=>{\"use strict\";var dIt=Rd().gl_surface3d,B5=Rd().ndarray,vIt=Rd().ndarray_linear_interpolate.d2,pIt=e8(),gIt=t8(),WE=Mr().isArrayOrTypedArray,mIt=$y().parseColorScale,HPe=Jy(),yIt=Mu().extractOpts;function jPe(e,t,r){this.scene=e,this.uid=r,this.surface=t,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var Jg=jPe.prototype;Jg.getXat=function(e,t,r,n){var i=WE(this.data.x)?WE(this.data.x[0])?this.data.x[t][e]:this.data.x[e]:e;return r===void 0?i:n.d2l(i,0,r)};Jg.getYat=function(e,t,r,n){var i=WE(this.data.y)?WE(this.data.y[0])?this.data.y[t][e]:this.data.y[t]:t;return r===void 0?i:n.d2l(i,0,r)};Jg.getZat=function(e,t,r,n){var i=this.data.z[t][e];return i===null&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[t][e]),r===void 0?i:n.d2l(i,0,r)};Jg.handlePick=function(e){if(e.object===this.surface){var t=(e.data.index[0]-1)/this.dataScaleX-1,r=(e.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(t),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);e.index=[n,i],e.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],e.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){var o=e.dataCoordinate[a];o!=null&&(e.dataCoordinate[a]*=this.scene.dataScale[a])}var s=this.data.hovertext||this.data.text;return WE(s)&&s[i]&&s[i][n]!==void 0?e.textLabel=s[i][n]:s?e.textLabel=s:e.textLabel=\"\",e.data.dataCoordinate=e.dataCoordinate.slice(),this.surface.highlight(e.data),this.scene.glplot.spikes.position=e.dataCoordinate,!0}};function _It(e){var t=e[0].rgb,r=e[e.length-1].rgb;return t[0]===r[0]&&t[1]===r[1]&&t[2]===r[2]&&t[3]===r[3]}var N5=[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 xIt(e,t){if(e<t)return 0;for(var r=0;Math.floor(e%t)===0;)e/=t,r++;return r}function LZ(e){for(var t=[],r=0;r<N5.length;r++){var n=N5[r];t.push(xIt(e,n))}return t}function bIt(e){for(var t=LZ(e),r=e,n=0;n<N5.length;n++)if(t[n]>0){r=N5[n];break}return r}function wIt(e,t){if(!(e<1||t<1)){for(var r=LZ(e),n=LZ(t),i=1,a=0;a<N5.length;a++)i*=Math.pow(N5[a],Math.max(r[a],n[a]));return i}}function TIt(e){if(e.length!==0){for(var t=1,r=0;r<e.length;r++)t=wIt(t,e[r]);return t}}Jg.calcXnums=function(e){var t,r=[];for(t=1;t<e;t++){var n=this.getXat(t-1,0),i=this.getXat(t,0);i!==n&&n!==void 0&&n!==null&&i!==void 0&&i!==null?r[t-1]=Math.abs(i-n):r[t-1]=0}var a=0;for(t=1;t<e;t++)a+=r[t-1];for(t=1;t<e;t++)r[t-1]===0?r[t-1]=1:r[t-1]=Math.round(a/r[t-1]);return r};Jg.calcYnums=function(e){var t,r=[];for(t=1;t<e;t++){var n=this.getYat(0,t-1),i=this.getYat(0,t);i!==n&&n!==void 0&&n!==null&&i!==void 0&&i!==null?r[t-1]=Math.abs(i-n):r[t-1]=0}var a=0;for(t=1;t<e;t++)a+=r[t-1];for(t=1;t<e;t++)r[t-1]===0?r[t-1]=1:r[t-1]=Math.round(a/r[t-1]);return r};var WPe=[1,2,4,6,12,24,36,48,60,120,180,240,360,720,840,1260],GPe=WPe[9],QD=WPe[13];Jg.estimateScale=function(e,t){for(var r=t===0?this.calcXnums(e):this.calcYnums(e),n=1+TIt(r);n<GPe;)n*=2;for(;n>QD;)n--,n/=bIt(n),n++,n<GPe&&(n=QD);var i=Math.round(n/e);return i>1?i:1};function AIt(e,t,r){var n=r[8]+r[2]*t[0]+r[5]*t[1];return e[0]=(r[6]+r[0]*t[0]+r[3]*t[1])/n,e[1]=(r[7]+r[1]*t[0]+r[4]*t[1])/n,e}function SIt(e,t,r){return MIt(e,t,AIt,r),e}function MIt(e,t,r,n){for(var i=[0,0],a=e.shape[0],o=e.shape[1],s=0;s<a;s++)for(var l=0;l<o;l++)r(i,[s,l],n),e.set(s,l,vIt(t,i[0],i[1]));return e}Jg.refineCoords=function(e){for(var t=this.dataScaleX,r=this.dataScaleY,n=e[0].shape[0],i=e[0].shape[1],a=Math.floor(e[0].shape[0]*t+1)|0,o=Math.floor(e[0].shape[1]*r+1)|0,s=1+n+1,l=1+i+1,u=B5(new Float32Array(s*l),[s,l]),c=[1/t,0,0,0,1/r,0,0,0,1],f=0;f<e.length;++f){this.surface.padField(u,e[f]);var h=B5(new Float32Array(a*o),[a,o]);SIt(h,u,c),e[f]=h}};function EIt(e,t){for(var r=!1,n=0;n<e.length;n++)if(t===e[n]){r=!0;break}r===!1&&e.push(t)}Jg.setContourLevels=function(){var e=[[],[],[]],t=[!1,!1,!1],r=!1,n,i,a;for(n=0;n<3;++n)if(this.showContour[n]&&(r=!0,this.contourSize[n]>0&&this.contourStart[n]!==null&&this.contourEnd[n]!==null&&this.contourEnd[n]>this.contourStart[n]))for(t[n]=!0,i=this.contourStart[n];i<this.contourEnd[n];i+=this.contourSize[n])a=i*this.scene.dataScale[n],EIt(e[n],a);if(r){var o=[[],[],[]];for(n=0;n<3;++n)this.showContour[n]&&(o[n]=t[n]?e[n]:this.scene.contourLevels[n]);this.surface.update({levels:o})}};Jg.update=function(e){var t=this.scene,r=t.fullSceneLayout,n=this.surface,i=mIt(e),a=t.dataScale,o=e.z[0].length,s=e._ylength,l=t.contourLevels;this.data=e;var u,c,f,h,d=[];for(u=0;u<3;u++)for(d[u]=[],c=0;c<o;c++)d[u][c]=[];for(c=0;c<o;c++)for(f=0;f<s;f++)d[0][c][f]=this.getXat(c,f,e.xcalendar,r.xaxis),d[1][c][f]=this.getYat(c,f,e.ycalendar,r.yaxis),d[2][c][f]=this.getZat(c,f,e.zcalendar,r.zaxis);if(e.connectgaps)for(e._emptypoints=gIt(d[2]),pIt(d[2],e._emptypoints),e._interpolatedZ=[],c=0;c<o;c++)for(e._interpolatedZ[c]=[],f=0;f<s;f++)e._interpolatedZ[c][f]=d[2][c][f];for(u=0;u<3;u++)for(c=0;c<o;c++)for(f=0;f<s;f++)h=d[u][c][f],h==null?d[u][c][f]=NaN:h=d[u][c][f]*=a[u];for(u=0;u<3;u++)for(c=0;c<o;c++)for(f=0;f<s;f++)h=d[u][c][f],h!=null&&(this.minValues[u]>h&&(this.minValues[u]=h),this.maxValues[u]<h&&(this.maxValues[u]=h));for(u=0;u<3;u++)this.objectOffset[u]=.5*(this.minValues[u]+this.maxValues[u]);for(u=0;u<3;u++)for(c=0;c<o;c++)for(f=0;f<s;f++)h=d[u][c][f],h!=null&&(d[u][c][f]-=this.objectOffset[u]);var v=[B5(new Float32Array(o*s),[o,s]),B5(new Float32Array(o*s),[o,s]),B5(new Float32Array(o*s),[o,s])];for(u=0;u<3;u++)for(c=0;c<o;c++)for(f=0;f<s;f++)v[u].set(c,f,d[u][c][f]);d=[];var x={colormap:i,levels:[[],[],[]],showContour:[!0,!0,!0],showSurface:!e.hidesurface,contourProject:[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],contourWidth:[1,1,1],contourColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],contourTint:[1,1,1],dynamicColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],dynamicWidth:[1,1,1],dynamicTint:[1,1,1],opacityscale:e.opacityscale,opacity:e.opacity},b=yIt(e);if(x.intensityBounds=[b.min,b.max],e.surfacecolor){var p=B5(new Float32Array(o*s),[o,s]);for(c=0;c<o;c++)for(f=0;f<s;f++)p.set(c,f,e.surfacecolor[f][c]);v.push(p)}else x.intensityBounds[0]*=a[2],x.intensityBounds[1]*=a[2];(QD<v[0].shape[0]||QD<v[0].shape[1])&&(this.refineData=!1),this.refineData===!0&&(this.dataScaleX=this.estimateScale(v[0].shape[0],0),this.dataScaleY=this.estimateScale(v[0].shape[1],1),(this.dataScaleX!==1||this.dataScaleY!==1)&&this.refineCoords(v)),e.surfacecolor&&(x.intensity=v.pop());var E=[!0,!0,!0],k=[\"x\",\"y\",\"z\"];for(u=0;u<3;++u){var A=e.contours[k[u]];E[u]=A.highlight,x.showContour[u]=A.show||A.highlight,x.showContour[u]&&(x.contourProject[u]=[A.project.x,A.project.y,A.project.z],A.show?(this.showContour[u]=!0,x.levels[u]=l[u],n.highlightColor[u]=x.contourColor[u]=HPe(A.color),A.usecolormap?n.highlightTint[u]=x.contourTint[u]=0:n.highlightTint[u]=x.contourTint[u]=1,x.contourWidth[u]=A.width,this.contourStart[u]=A.start,this.contourEnd[u]=A.end,this.contourSize[u]=A.size):(this.showContour[u]=!1,this.contourStart[u]=null,this.contourEnd[u]=null,this.contourSize[u]=0),A.highlight&&(x.dynamicColor[u]=HPe(A.highlightcolor),x.dynamicWidth[u]=A.highlightwidth))}_It(i)&&(x.vertexColor=!0),x.objectOffset=this.objectOffset,x.coords=v,n.update(x),n.visible=e.visible,n.enableDynamic=E,n.enableHighlight=E,n.snapToData=!0,\"lighting\"in e&&(n.ambientLight=e.lighting.ambient,n.diffuseLight=e.lighting.diffuse,n.specularLight=e.lighting.specular,n.roughness=e.lighting.roughness,n.fresnel=e.lighting.fresnel),\"lightposition\"in e&&(n.lightPosition=[e.lightposition.x,e.lightposition.y,e.lightposition.z])};Jg.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()};function kIt(e,t){var r=e.glplot.gl,n=dIt({gl:r}),i=new jPe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}ZPe.exports=kIt});var KPe=ye((qvr,YPe)=>{\"use strict\";YPe.exports={attributes:jE(),supplyDefaults:CZ().supplyDefaults,colorbar:{min:\"cmin\",max:\"cmax\"},calc:VPe(),plot:XPe(),moduleType:\"trace\",name:\"surface\",basePlotModule:Q_(),categories:[\"gl3d\",\"2dMap\",\"showLegend\"],meta:{}}});var $Pe=ye((Ovr,JPe)=>{\"use strict\";JPe.exports=KPe()});var U5=ye((Bvr,eIe)=>{\"use strict\";var CIt=Jl(),PZ=Oc().axisHoverFormat,LIt=Wo().hovertemplateAttrs,ex=jE(),QPe=vl(),tx=no().extendFlat;eIe.exports=tx({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:LIt({editType:\"calc\"}),xhoverformat:PZ(\"x\"),yhoverformat:PZ(\"y\"),zhoverformat:PZ(\"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\"}},CIt(\"\",{colorAttr:\"`intensity`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:ex.opacity,flatshading:{valType:\"boolean\",dflt:!1,editType:\"calc\"},contour:{show:tx({},ex.contours.x.show,{}),color:ex.contours.x.color,width:ex.contours.x.width,editType:\"calc\"},lightposition:{x:tx({},ex.lightposition.x,{dflt:1e5}),y:tx({},ex.lightposition.y,{dflt:1e5}),z:tx({},ex.lightposition.z,{dflt:0}),editType:\"calc\"},lighting:tx({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\"},ex.lighting),hoverinfo:tx({},QPe.hoverinfo,{editType:\"calc\"}),showlegend:tx({},QPe.showlegend,{dflt:!1})})});var tz=ye((Nvr,rIe)=>{\"use strict\";var PIt=Jl(),ez=Oc().axisHoverFormat,IIt=Wo().hovertemplateAttrs,ZE=U5(),tIe=vl(),IZ=no().extendFlat,RIt=Bu().overrideAll;function RZ(e){return{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}}}function DZ(e){return{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}}}var V5=rIe.exports=RIt(IZ({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:RZ(\"x\"),y:RZ(\"y\"),z:RZ(\"z\")},caps:{x:DZ(\"x\"),y:DZ(\"y\"),z:DZ(\"z\")},text:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertemplate:IIt(),xhoverformat:ez(\"x\"),yhoverformat:ez(\"y\"),zhoverformat:ez(\"z\"),valuehoverformat:ez(\"value\",1),showlegend:IZ({},tIe.showlegend,{dflt:!1})},PIt(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:ZE.opacity,lightposition:ZE.lightposition,lighting:ZE.lighting,flatshading:ZE.flatshading,contour:ZE.contour,hoverinfo:IZ({},tIe.hoverinfo)}),\"calc\",\"nested\");V5.flatshading.dflt=!0;V5.lighting.facenormalsepsilon.dflt=0;V5.x.editType=V5.y.editType=V5.z.editType=V5.value.editType=\"calc+clearAxisTypes\"});var zZ=ye((Uvr,nIe)=>{\"use strict\";var DIt=Mr(),zIt=ba(),FIt=tz(),qIt=Uh();function OIt(e,t,r,n){function i(a,o){return DIt.coerce(e,t,FIt,a,o)}iIe(e,t,r,n,i)}function iIe(e,t,r,n,i){var a=i(\"isomin\"),o=i(\"isomax\");o!=null&&a!==void 0&&a!==null&&a>o&&(t.isomin=null,t.isomax=null);var s=i(\"x\"),l=i(\"y\"),u=i(\"z\"),c=i(\"value\");if(!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length){t.visible=!1;return}var f=zIt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");f(e,t,[\"x\",\"y\",\"z\"],n),i(\"valuehoverformat\"),[\"x\",\"y\",\"z\"].forEach(function(x){i(x+\"hoverformat\");var b=\"caps.\"+x,p=i(b+\".show\");p&&i(b+\".fill\");var E=\"slices.\"+x,k=i(E+\".show\");k&&(i(E+\".fill\"),i(E+\".locations\"))});var h=i(\"spaceframe.show\");h&&i(\"spaceframe.fill\");var d=i(\"surface.show\");d&&(i(\"surface.count\"),i(\"surface.fill\"),i(\"surface.pattern\"));var v=i(\"contour.show\");v&&(i(\"contour.color\"),i(\"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(x){i(x)}),qIt(e,t,n,i,{prefix:\"\",cLetter:\"c\"}),t._length=null}nIe.exports={supplyDefaults:OIt,supplyIsoDefaults:iIe}});var rz=ye((Vvr,oIe)=>{\"use strict\";var qZ=Mr(),BIt=zv();function NIt(e,t){t._len=Math.min(t.u.length,t.v.length,t.w.length,t.x.length,t.y.length,t.z.length),t._u=Gm(t.u,t._len),t._v=Gm(t.v,t._len),t._w=Gm(t.w,t._len),t._x=Gm(t.x,t._len),t._y=Gm(t.y,t._len),t._z=Gm(t.z,t._len);var r=aIe(t);t._gridFill=r.fill,t._Xs=r.Xs,t._Ys=r.Ys,t._Zs=r.Zs,t._len=r.len;var n=0,i,a,o;t.starts&&(i=Gm(t.starts.x||[]),a=Gm(t.starts.y||[]),o=Gm(t.starts.z||[]),n=Math.min(i.length,a.length,o.length)),t._startsX=i||[],t._startsY=a||[],t._startsZ=o||[];var s=0,l=1/0,u;for(u=0;u<t._len;u++){var c=t._u[u],f=t._v[u],h=t._w[u],d=Math.sqrt(c*c+f*f+h*h);s=Math.max(s,d),l=Math.min(l,d)}for(BIt(e,t,{vals:[l,s],containerStr:\"\",cLetter:\"c\"}),u=0;u<n;u++){var v=i[u];r.xMax=Math.max(r.xMax,v),r.xMin=Math.min(r.xMin,v);var x=a[u];r.yMax=Math.max(r.yMax,x),r.yMin=Math.min(r.yMin,x);var b=o[u];r.zMax=Math.max(r.zMax,b),r.zMin=Math.min(r.zMin,b)}t._slen=n,t._normMax=s,t._xbnds=[r.xMin,r.xMax],t._ybnds=[r.yMin,r.yMax],t._zbnds=[r.zMin,r.zMax]}function aIe(e){var t=e._x,r=e._y,n=e._z,i=e._len,a,o,s,l=-1/0,u=1/0,c=-1/0,f=1/0,h=-1/0,d=1/0,v=\"\",x,b,p,E,k,A,L,_,C;for(i&&(E=t[0],A=r[0],_=n[0]),i>1&&(k=t[i-1],L=r[i-1],C=n[i-1]),a=0;a<i;a++)l=Math.max(l,t[a]),u=Math.min(u,t[a]),c=Math.max(c,r[a]),f=Math.min(f,r[a]),h=Math.max(h,n[a]),d=Math.min(d,n[a]),!x&&t[a]!==E&&(x=!0,v+=\"x\"),!b&&r[a]!==A&&(b=!0,v+=\"y\"),!p&&n[a]!==_&&(p=!0,v+=\"z\");x||(v+=\"x\"),b||(v+=\"y\"),p||(v+=\"z\");var M=FZ(e._x),g=FZ(e._y),P=FZ(e._z);v=v.replace(\"x\",(E>k?\"-\":\"+\")+\"x\"),v=v.replace(\"y\",(A>L?\"-\":\"+\")+\"y\"),v=v.replace(\"z\",(_>C?\"-\":\"+\")+\"z\");var T=function(){i=0,M=[],g=[],P=[]};(!i||i<M.length*g.length*P.length)&&T();var F=function(ze){return ze===\"x\"?t:ze===\"y\"?r:n},q=function(ze){return ze===\"x\"?M:ze===\"y\"?g:P},V=function(ze){return ze[i-1]<ze[0]?-1:1},H=F(v[1]),X=F(v[3]),G=F(v[5]),N=q(v[1]).length,W=q(v[3]).length,re=q(v[5]).length,ae=!1,_e=function(ze,Ce,me){return N*(W*ze+Ce)+me},Me=V(F(v[1])),ke=V(F(v[3])),ge=V(F(v[5]));for(a=0;a<re-1;a++){for(o=0;o<W-1;o++){for(s=0;s<N-1;s++){var ie=_e(a,o,s),Te=_e(a,o,s+1),Ee=_e(a,o+1,s),Ae=_e(a+1,o,s);if((!(H[ie]*Me<H[Te]*Me)||!(X[ie]*ke<X[Ee]*ke)||!(G[ie]*ge<G[Ae]*ge))&&(ae=!0),ae)break}if(ae)break}if(ae)break}return ae&&(qZ.warn(\"Encountered arbitrary coordinates! Unable to input data grid.\"),T()),{xMin:u,yMin:f,zMin:d,xMax:l,yMax:c,zMax:h,Xs:M,Ys:g,Zs:P,len:i,fill:v}}function FZ(e){return qZ.distinctVals(e).vals}function Gm(e,t){if(t===void 0&&(t=e.length),qZ.isTypedArray(e))return e.subarray(0,t);for(var r=[],n=0;n<t;n++)r[n]=+e[n];return r}oIe.exports={calc:NIt,filter:Gm,processGrid:aIe}});var OZ=ye((Hvr,sIe)=>{\"use strict\";var UIt=zv(),VIt=rz().processGrid,iz=rz().filter;sIe.exports=function(t,r){r._len=Math.min(r.x.length,r.y.length,r.z.length,r.value.length),r._x=iz(r.x,r._len),r._y=iz(r.y,r._len),r._z=iz(r.z,r._len),r._value=iz(r.value,r._len);var n=VIt(r);r._gridFill=n.fill,r._Xs=n.Xs,r._Ys=n.Ys,r._Zs=n.Zs,r._len=n.len;for(var i=1/0,a=-1/0,o=0;o<r._len;o++){var s=r._value[o];i=Math.min(i,s),a=Math.max(a,s)}r._minValues=i,r._maxValues=a,r._vMin=r.isomin===void 0||r.isomin===null?i:r.isomin,r._vMax=r.isomax===void 0||r.isomax===null?a:r.isomax,UIt(t,r,{vals:[r._vMin,r._vMax],containerStr:\"\",cLetter:\"c\"})}});var H5=ye((Gvr,lIe)=>{\"use strict\";lIe.exports=function(t,r,n,i){i=i||t.length;for(var a=new Array(i),o=0;o<i;o++)a[o]=[t[o],r[o],n[o]];return a}});var nz=ye((jvr,hIe)=>{\"use strict\";var HIt=Rd().gl_mesh3d,GIt=$y().parseColorScale,jIt=Mr().isArrayOrTypedArray,WIt=Jy(),ZIt=Mu().extractOpts,uIe=H5(),XE=function(e,t){for(var r=t.length-1;r>0;r--){var n=Math.min(t[r],t[r-1]),i=Math.max(t[r],t[r-1]);if(i>n&&n<e&&e<=i)return{id:r,distRatio:(i-e)/(i-n)}}return{id:0,distRatio:0}};function cIe(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name=\"\",this.data=null,this.showContour=!1}var BZ=cIe.prototype;BZ.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],i=this.data._meshZ[t],a=this.data._Ys.length,o=this.data._Zs.length,s=XE(r,this.data._Xs).id,l=XE(n,this.data._Ys).id,u=XE(i,this.data._Zs).id,c=e.index=u+o*l+o*a*s;e.traceCoordinate=[this.data._meshX[c],this.data._meshY[c],this.data._meshZ[c],this.data._value[c]];var f=this.data.hovertext||this.data.text;return jIt(f)&&f[c]!==void 0?e.textLabel=f[c]:f&&(e.textLabel=f),!0}};BZ.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=fIe(e);function n(l,u,c,f){return u.map(function(h){return l.d2l(h,0,f)*c})}var i=uIe(n(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),n(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),n(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),a=uIe(e._meshI,e._meshJ,e._meshK),o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,contourEnable:e.contour.show,contourColor:WIt(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},s=ZIt(e);o.vertexIntensity=e._meshIntensity,o.vertexIntensityBounds=[s.min,s.max],o.colormap=GIt(e),this.mesh.update(o)};BZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};var XIt=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"];function fIe(e){e._meshI=[],e._meshJ=[],e._meshK=[];var t=e.surface.show,r=e.spaceframe.show,n=e.surface.fill,i=e.spaceframe.fill,a=!1,o=!1,s=0,l,u,c=e._Xs,f=e._Ys,h=e._Zs,d=c.length,v=f.length,x=h.length,b=XIt.indexOf(e._gridFill.replace(/-/g,\"\").replace(/\\+/g,\"\")),p=function(bt,Lt,St){switch(b){case 5:return St+x*Lt+x*v*bt;case 4:return St+x*bt+x*d*Lt;case 3:return Lt+v*St+v*x*bt;case 2:return Lt+v*bt+v*d*St;case 1:return bt+d*St+d*x*Lt;default:return bt+d*Lt+d*v*St}},E=e._minValues,k=e._maxValues,A=e._vMin,L=e._vMax,_,C,M,g;function P(bt,Lt,St){for(var Et=g.length,dt=u;dt<Et;dt++)if(bt===_[dt]&&Lt===C[dt]&&St===M[dt])return dt;return-1}function T(){u=l}function F(){_=[],C=[],M=[],g=[],l=0,T()}function q(bt,Lt,St,Et){return _.push(bt),C.push(Lt),M.push(St),g.push(Et),l++,l-1}function V(bt,Lt,St){return e._meshI.push(bt),e._meshJ.push(Lt),e._meshK.push(St),s++,s-1}function H(bt,Lt,St){for(var Et=[],dt=0;dt<bt.length;dt++)Et[dt]=(bt[dt]+Lt[dt]+St[dt])/3;return Et}function X(bt,Lt,St){for(var Et=[],dt=0;dt<bt.length;dt++)Et[dt]=bt[dt]*(1-St)+St*Lt[dt];return Et}var G;function N(bt){G=bt}function W(bt,Lt){var St=bt[0],Et=bt[1],dt=bt[2],Ht=H(St,Et,dt),$t=Math.sqrt(1-G),fr=X(Ht,St,$t),_r=X(Ht,Et,$t),Br=X(Ht,dt,$t),Or=Lt[0],Nr=Lt[1],ut=Lt[2];return{xyzv:[[St,Et,_r],[_r,fr,St],[Et,dt,Br],[Br,_r,Et],[dt,St,fr],[fr,Br,dt]],abc:[[Or,Nr,-1],[-1,-1,Or],[Nr,ut,-1],[-1,-1,Nr],[ut,Or,-1],[-1,-1,ut]]}}function re(bt,Lt){return bt===\"all\"||bt===null?!0:bt.indexOf(Lt)>-1}function ae(bt,Lt){return bt===null?Lt:bt}function _e(bt,Lt,St){T();var Et=[Lt],dt=[St];if(G>=1)Et=[Lt],dt=[St];else if(G>0){var Ht=W(Lt,St);Et=Ht.xyzv,dt=Ht.abc}for(var $t=0;$t<Et.length;$t++){Lt=Et[$t],St=dt[$t];for(var fr=[],_r=0;_r<3;_r++){var Br=Lt[_r][0],Or=Lt[_r][1],Nr=Lt[_r][2],ut=Lt[_r][3],Ne=St[_r]>-1?St[_r]:P(Br,Or,Nr);Ne>-1?fr[_r]=Ne:fr[_r]=q(Br,Or,Nr,ae(bt,ut))}V(fr[0],fr[1],fr[2])}}function Me(bt,Lt,St){var Et=function(dt,Ht,$t){_e(bt,[Lt[dt],Lt[Ht],Lt[$t]],[St[dt],St[Ht],St[$t]])};Et(0,1,2),Et(2,3,0)}function ke(bt,Lt,St){var Et=function(dt,Ht,$t){_e(bt,[Lt[dt],Lt[Ht],Lt[$t]],[St[dt],St[Ht],St[$t]])};Et(0,1,2),Et(3,0,1),Et(2,3,0),Et(1,2,3)}function ge(bt,Lt,St,Et){var dt=bt[3];dt<St&&(dt=St),dt>Et&&(dt=Et);for(var Ht=(bt[3]-dt)/(bt[3]-Lt[3]+1e-9),$t=[],fr=0;fr<4;fr++)$t[fr]=(1-Ht)*bt[fr]+Ht*Lt[fr];return $t}function ie(bt,Lt,St){return bt>=Lt&&bt<=St}function Te(bt){var Lt=.001*(L-A);return bt>=A-Lt&&bt<=L+Lt}function Ee(bt){for(var Lt=[],St=0;St<4;St++){var Et=bt[St];Lt.push([e._x[Et],e._y[Et],e._z[Et],e._value[Et]])}return Lt}var Ae=3;function ze(bt,Lt,St,Et,dt,Ht){Ht||(Ht=1),St=[-1,-1,-1];var $t=!1,fr=[ie(Lt[0][3],Et,dt),ie(Lt[1][3],Et,dt),ie(Lt[2][3],Et,dt)];if(!fr[0]&&!fr[1]&&!fr[2])return!1;var _r=function(Or,Nr,ut){return Te(Nr[0][3])&&Te(Nr[1][3])&&Te(Nr[2][3])?(_e(Or,Nr,ut),!0):Ht<Ae?ze(Or,Nr,ut,A,L,++Ht):!1};if(fr[0]&&fr[1]&&fr[2])return _r(bt,Lt,St)||$t;var Br=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach(function(Or){if(fr[Or[0]]&&fr[Or[1]]&&!fr[Or[2]]){var Nr=Lt[Or[0]],ut=Lt[Or[1]],Ne=Lt[Or[2]],Ye=ge(Ne,Nr,Et,dt),Ve=ge(Ne,ut,Et,dt);$t=_r(bt,[Ve,Ye,Nr],[-1,-1,St[Or[0]]])||$t,$t=_r(bt,[Nr,ut,Ve],[St[Or[0]],St[Or[1]],-1])||$t,Br=!0}}),Br||[[0,1,2],[1,2,0],[2,0,1]].forEach(function(Or){if(fr[Or[0]]&&!fr[Or[1]]&&!fr[Or[2]]){var Nr=Lt[Or[0]],ut=Lt[Or[1]],Ne=Lt[Or[2]],Ye=ge(ut,Nr,Et,dt),Ve=ge(Ne,Nr,Et,dt);$t=_r(bt,[Ve,Ye,Nr],[-1,-1,St[Or[0]]])||$t,Br=!0}}),$t}function Ce(bt,Lt,St,Et){var dt=!1,Ht=Ee(Lt),$t=[ie(Ht[0][3],St,Et),ie(Ht[1][3],St,Et),ie(Ht[2][3],St,Et),ie(Ht[3][3],St,Et)];if(!$t[0]&&!$t[1]&&!$t[2]&&!$t[3])return dt;if($t[0]&&$t[1]&&$t[2]&&$t[3])return o&&(dt=ke(bt,Ht,Lt)||dt),dt;var fr=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach(function(_r){if($t[_r[0]]&&$t[_r[1]]&&$t[_r[2]]&&!$t[_r[3]]){var Br=Ht[_r[0]],Or=Ht[_r[1]],Nr=Ht[_r[2]],ut=Ht[_r[3]];if(o)dt=_e(bt,[Br,Or,Nr],[Lt[_r[0]],Lt[_r[1]],Lt[_r[2]]])||dt;else{var Ne=ge(ut,Br,St,Et),Ye=ge(ut,Or,St,Et),Ve=ge(ut,Nr,St,Et);dt=_e(null,[Ne,Ye,Ve],[-1,-1,-1])||dt}fr=!0}}),fr||([[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(_r){if($t[_r[0]]&&$t[_r[1]]&&!$t[_r[2]]&&!$t[_r[3]]){var Br=Ht[_r[0]],Or=Ht[_r[1]],Nr=Ht[_r[2]],ut=Ht[_r[3]],Ne=ge(Nr,Br,St,Et),Ye=ge(Nr,Or,St,Et),Ve=ge(ut,Or,St,Et),Xe=ge(ut,Br,St,Et);o?(dt=_e(bt,[Br,Xe,Ne],[Lt[_r[0]],-1,-1])||dt,dt=_e(bt,[Or,Ye,Ve],[Lt[_r[1]],-1,-1])||dt):dt=Me(null,[Ne,Ye,Ve,Xe],[-1,-1,-1,-1])||dt,fr=!0}}),fr)||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach(function(_r){if($t[_r[0]]&&!$t[_r[1]]&&!$t[_r[2]]&&!$t[_r[3]]){var Br=Ht[_r[0]],Or=Ht[_r[1]],Nr=Ht[_r[2]],ut=Ht[_r[3]],Ne=ge(Or,Br,St,Et),Ye=ge(Nr,Br,St,Et),Ve=ge(ut,Br,St,Et);o?(dt=_e(bt,[Br,Ne,Ye],[Lt[_r[0]],-1,-1])||dt,dt=_e(bt,[Br,Ye,Ve],[Lt[_r[0]],-1,-1])||dt,dt=_e(bt,[Br,Ve,Ne],[Lt[_r[0]],-1,-1])||dt):dt=_e(null,[Ne,Ye,Ve],[-1,-1,-1])||dt,fr=!0}}),dt}function me(bt,Lt,St,Et,dt,Ht,$t,fr,_r,Br,Or){var Nr=!1;return a&&(re(bt,\"A\")&&(Nr=Ce(null,[Lt,St,Et,Ht],Br,Or)||Nr),re(bt,\"B\")&&(Nr=Ce(null,[St,Et,dt,_r],Br,Or)||Nr),re(bt,\"C\")&&(Nr=Ce(null,[St,Ht,$t,_r],Br,Or)||Nr),re(bt,\"D\")&&(Nr=Ce(null,[Et,Ht,fr,_r],Br,Or)||Nr),re(bt,\"E\")&&(Nr=Ce(null,[St,Et,Ht,_r],Br,Or)||Nr)),o&&(Nr=Ce(bt,[St,Et,Ht,_r],Br,Or)||Nr),Nr}function Re(bt,Lt,St,Et,dt,Ht,$t,fr){return[fr[0]===!0?!0:ze(bt,Ee([Lt,St,Et]),[Lt,St,Et],Ht,$t),fr[1]===!0?!0:ze(bt,Ee([Et,dt,Lt]),[Et,dt,Lt],Ht,$t)]}function ce(bt,Lt,St,Et,dt,Ht,$t,fr,_r){return fr?Re(bt,Lt,St,dt,Et,Ht,$t,_r):Re(bt,St,dt,Et,Lt,Ht,$t,_r)}function Ge(bt,Lt,St,Et,dt,Ht,$t){var fr=!1,_r,Br,Or,Nr,ut=function(){fr=ze(bt,[_r,Br,Or],[-1,-1,-1],dt,Ht)||fr,fr=ze(bt,[Or,Nr,_r],[-1,-1,-1],dt,Ht)||fr},Ne=$t[0],Ye=$t[1],Ve=$t[2];return Ne&&(_r=X(Ee([p(Lt,St-0,Et-0)])[0],Ee([p(Lt-1,St-0,Et-0)])[0],Ne),Br=X(Ee([p(Lt,St-0,Et-1)])[0],Ee([p(Lt-1,St-0,Et-1)])[0],Ne),Or=X(Ee([p(Lt,St-1,Et-1)])[0],Ee([p(Lt-1,St-1,Et-1)])[0],Ne),Nr=X(Ee([p(Lt,St-1,Et-0)])[0],Ee([p(Lt-1,St-1,Et-0)])[0],Ne),ut()),Ye&&(_r=X(Ee([p(Lt-0,St,Et-0)])[0],Ee([p(Lt-0,St-1,Et-0)])[0],Ye),Br=X(Ee([p(Lt-0,St,Et-1)])[0],Ee([p(Lt-0,St-1,Et-1)])[0],Ye),Or=X(Ee([p(Lt-1,St,Et-1)])[0],Ee([p(Lt-1,St-1,Et-1)])[0],Ye),Nr=X(Ee([p(Lt-1,St,Et-0)])[0],Ee([p(Lt-1,St-1,Et-0)])[0],Ye),ut()),Ve&&(_r=X(Ee([p(Lt-0,St-0,Et)])[0],Ee([p(Lt-0,St-0,Et-1)])[0],Ve),Br=X(Ee([p(Lt-0,St-1,Et)])[0],Ee([p(Lt-0,St-1,Et-1)])[0],Ve),Or=X(Ee([p(Lt-1,St-1,Et)])[0],Ee([p(Lt-1,St-1,Et-1)])[0],Ve),Nr=X(Ee([p(Lt-1,St-0,Et)])[0],Ee([p(Lt-1,St-0,Et-1)])[0],Ve),ut()),fr}function nt(bt,Lt,St,Et,dt,Ht,$t,fr,_r,Br,Or,Nr){var ut=bt;return Nr?(a&&bt===\"even\"&&(ut=null),me(ut,Lt,St,Et,dt,Ht,$t,fr,_r,Br,Or)):(a&&bt===\"odd\"&&(ut=null),me(ut,_r,fr,$t,Ht,dt,Et,St,Lt,Br,Or))}function ct(bt,Lt,St,Et,dt){for(var Ht=[],$t=0,fr=0;fr<Lt.length;fr++)for(var _r=Lt[fr],Br=1;Br<x;Br++)for(var Or=1;Or<v;Or++)Ht.push(ce(bt,p(_r,Or-1,Br-1),p(_r,Or-1,Br),p(_r,Or,Br-1),p(_r,Or,Br),St,Et,(_r+Or+Br)%2,dt&&dt[$t]?dt[$t]:[])),$t++;return Ht}function qt(bt,Lt,St,Et,dt){for(var Ht=[],$t=0,fr=0;fr<Lt.length;fr++)for(var _r=Lt[fr],Br=1;Br<d;Br++)for(var Or=1;Or<x;Or++)Ht.push(ce(bt,p(Br-1,_r,Or-1),p(Br,_r,Or-1),p(Br-1,_r,Or),p(Br,_r,Or),St,Et,(Br+_r+Or)%2,dt&&dt[$t]?dt[$t]:[])),$t++;return Ht}function rt(bt,Lt,St,Et,dt){for(var Ht=[],$t=0,fr=0;fr<Lt.length;fr++)for(var _r=Lt[fr],Br=1;Br<v;Br++)for(var Or=1;Or<d;Or++)Ht.push(ce(bt,p(Or-1,Br-1,_r),p(Or-1,Br,_r),p(Or,Br-1,_r),p(Or,Br,_r),St,Et,(Or+Br+_r)%2,dt&&dt[$t]?dt[$t]:[])),$t++;return Ht}function ot(bt,Lt,St){for(var Et=1;Et<x;Et++)for(var dt=1;dt<v;dt++)for(var Ht=1;Ht<d;Ht++)nt(bt,p(Ht-1,dt-1,Et-1),p(Ht-1,dt-1,Et),p(Ht-1,dt,Et-1),p(Ht-1,dt,Et),p(Ht,dt-1,Et-1),p(Ht,dt-1,Et),p(Ht,dt,Et-1),p(Ht,dt,Et),Lt,St,(Ht+dt+Et)%2)}function Rt(bt,Lt,St){o=!0,ot(bt,Lt,St),o=!1}function kt(bt,Lt,St){a=!0,ot(bt,Lt,St),a=!1}function Ct(bt,Lt,St,Et,dt,Ht){for(var $t=[],fr=0,_r=0;_r<Lt.length;_r++)for(var Br=Lt[_r],Or=1;Or<x;Or++)for(var Nr=1;Nr<v;Nr++)$t.push(Ge(bt,Br,Nr,Or,St,Et,dt[_r],Ht&&Ht[fr]?Ht[fr]:[])),fr++;return $t}function Yt(bt,Lt,St,Et,dt,Ht){for(var $t=[],fr=0,_r=0;_r<Lt.length;_r++)for(var Br=Lt[_r],Or=1;Or<d;Or++)for(var Nr=1;Nr<x;Nr++)$t.push(Ge(bt,Or,Br,Nr,St,Et,dt[_r],Ht&&Ht[fr]?Ht[fr]:[])),fr++;return $t}function xr(bt,Lt,St,Et,dt,Ht){for(var $t=[],fr=0,_r=0;_r<Lt.length;_r++)for(var Br=Lt[_r],Or=1;Or<v;Or++)for(var Nr=1;Nr<d;Nr++)$t.push(Ge(bt,Nr,Or,Br,St,Et,dt[_r],Ht&&Ht[fr]?Ht[fr]:[])),fr++;return $t}function er(bt,Lt){for(var St=[],Et=bt;Et<Lt;Et++)St.push(Et);return St}function Ke(){for(var bt=0;bt<d;bt++)for(var Lt=0;Lt<v;Lt++)for(var St=0;St<x;St++){var Et=p(bt,Lt,St);q(e._x[Et],e._y[Et],e._z[Et],e._value[Et])}}function xt(){F(),Ke();var bt=null;if(r&&i&&(N(i),Rt(bt,A,L)),t&&n){N(n);for(var Lt=e.surface.pattern,St=e.surface.count,Et=0;Et<St;Et++){var dt=St===1?.5:Et/(St-1),Ht=(1-dt)*A+dt*L,$t=Math.abs(Ht-E),fr=Math.abs(Ht-k),_r=$t>fr?[E,Ht]:[Ht,k];kt(Lt,_r[0],_r[1])}}var Br=[[Math.min(A,k),Math.max(A,k)],[Math.min(E,L),Math.max(E,L)]];[\"x\",\"y\",\"z\"].forEach(function(Or){for(var Nr=[],ut=0;ut<Br.length;ut++){var Ne=0,Ye=Br[ut][0],Ve=Br[ut][1],Xe=e.slices[Or];if(Xe.show&&Xe.fill){N(Xe.fill);var ht=[],Le=[],xe=[];if(Xe.locations.length)for(var Se=0;Se<Xe.locations.length;Se++){var lt=XE(Xe.locations[Se],Or===\"x\"?c:Or===\"y\"?f:h);lt.distRatio===0?ht.push(lt.id):lt.id>0&&(Le.push(lt.id),Or===\"x\"?xe.push([lt.distRatio,0,0]):Or===\"y\"?xe.push([0,lt.distRatio,0]):xe.push([0,0,lt.distRatio]))}else Or===\"x\"?ht=er(1,d-1):Or===\"y\"?ht=er(1,v-1):ht=er(1,x-1);Le.length>0&&(Or===\"x\"?Nr[Ne]=Ct(bt,Le,Ye,Ve,xe,Nr[Ne]):Or===\"y\"?Nr[Ne]=Yt(bt,Le,Ye,Ve,xe,Nr[Ne]):Nr[Ne]=xr(bt,Le,Ye,Ve,xe,Nr[Ne]),Ne++),ht.length>0&&(Or===\"x\"?Nr[Ne]=ct(bt,ht,Ye,Ve,Nr[Ne]):Or===\"y\"?Nr[Ne]=qt(bt,ht,Ye,Ve,Nr[Ne]):Nr[Ne]=rt(bt,ht,Ye,Ve,Nr[Ne]),Ne++)}var Gt=e.caps[Or];Gt.show&&Gt.fill&&(N(Gt.fill),Or===\"x\"?Nr[Ne]=ct(bt,[0,d-1],Ye,Ve,Nr[Ne]):Or===\"y\"?Nr[Ne]=qt(bt,[0,v-1],Ye,Ve,Nr[Ne]):Nr[Ne]=rt(bt,[0,x-1],Ye,Ve,Nr[Ne]),Ne++)}}),s===0&&F(),e._meshX=_,e._meshY=C,e._meshZ=M,e._meshIntensity=g,e._Xs=c,e._Ys=f,e._Zs=h}return xt(),e}function YIt(e,t){var r=e.glplot.gl,n=HIt({gl:r}),i=new cIe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}hIe.exports={findNearestOnAxis:XE,generateIsoMeshes:fIe,createIsosurfaceTrace:YIt}});var vIe=ye((Wvr,dIe)=>{\"use strict\";dIe.exports={attributes:tz(),supplyDefaults:zZ().supplyDefaults,calc:OZ(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:nz().createIsosurfaceTrace,moduleType:\"trace\",name:\"isosurface\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],meta:{}}});var gIe=ye((Zvr,pIe)=>{\"use strict\";pIe.exports=vIe()});var UZ=ye((Xvr,yIe)=>{\"use strict\";var KIt=Jl(),xh=tz(),JIt=jE(),mIe=vl(),NZ=no().extendFlat,$It=Bu().overrideAll,az=yIe.exports=$It(NZ({x:xh.x,y:xh.y,z:xh.z,value:xh.value,isomin:xh.isomin,isomax:xh.isomax,surface:xh.surface,spaceframe:{show:{valType:\"boolean\",dflt:!1},fill:{valType:\"number\",min:0,max:1,dflt:1}},slices:xh.slices,caps:xh.caps,text:xh.text,hovertext:xh.hovertext,xhoverformat:xh.xhoverformat,yhoverformat:xh.yhoverformat,zhoverformat:xh.zhoverformat,valuehoverformat:xh.valuehoverformat,hovertemplate:xh.hovertemplate},KIt(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{colorbar:xh.colorbar,opacity:xh.opacity,opacityscale:JIt.opacityscale,lightposition:xh.lightposition,lighting:xh.lighting,flatshading:xh.flatshading,contour:xh.contour,hoverinfo:NZ({},mIe.hoverinfo),showlegend:NZ({},mIe.showlegend,{dflt:!1})}),\"calc\",\"nested\");az.x.editType=az.y.editType=az.z.editType=az.value.editType=\"calc+clearAxisTypes\"});var xIe=ye((Yvr,_Ie)=>{\"use strict\";var QIt=Mr(),e8t=UZ(),t8t=zZ().supplyIsoDefaults,r8t=CZ().opacityscaleDefaults;_Ie.exports=function(t,r,n,i){function a(o,s){return QIt.coerce(t,r,e8t,o,s)}t8t(t,r,n,i,a),r8t(t,r,i,a)}});var AIe=ye((Kvr,TIe)=>{\"use strict\";var i8t=Rd().gl_mesh3d,n8t=$y().parseColorScale,a8t=Mr().isArrayOrTypedArray,o8t=Jy(),s8t=Mu().extractOpts,bIe=H5(),VZ=nz().findNearestOnAxis,l8t=nz().generateIsoMeshes;function wIe(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name=\"\",this.data=null,this.showContour=!1}var HZ=wIe.prototype;HZ.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],i=this.data._meshZ[t],a=this.data._Ys.length,o=this.data._Zs.length,s=VZ(r,this.data._Xs).id,l=VZ(n,this.data._Ys).id,u=VZ(i,this.data._Zs).id,c=e.index=u+o*l+o*a*s;e.traceCoordinate=[this.data._meshX[c],this.data._meshY[c],this.data._meshZ[c],this.data._value[c]];var f=this.data.hovertext||this.data.text;return a8t(f)&&f[c]!==void 0?e.textLabel=f[c]:f&&(e.textLabel=f),!0}};HZ.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=l8t(e);function n(l,u,c,f){return u.map(function(h){return l.d2l(h,0,f)*c})}var i=bIe(n(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),n(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),n(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),a=bIe(e._meshI,e._meshJ,e._meshK),o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,opacityscale:e.opacityscale,contourEnable:e.contour.show,contourColor:o8t(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},s=s8t(e);o.vertexIntensity=e._meshIntensity,o.vertexIntensityBounds=[s.min,s.max],o.colormap=n8t(e),this.mesh.update(o)};HZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function u8t(e,t){var r=e.glplot.gl,n=i8t({gl:r}),i=new wIe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}TIe.exports=u8t});var MIe=ye((Jvr,SIe)=>{\"use strict\";SIe.exports={attributes:UZ(),supplyDefaults:xIe(),calc:OZ(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:AIe(),moduleType:\"trace\",name:\"volume\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],meta:{}}});var kIe=ye(($vr,EIe)=>{\"use strict\";EIe.exports=MIe()});var PIe=ye((Qvr,LIe)=>{\"use strict\";var c8t=ba(),CIe=Mr(),f8t=Uh(),h8t=U5();LIe.exports=function(t,r,n,i){function a(c,f){return CIe.coerce(t,r,h8t,c,f)}function o(c){var f=c.map(function(h){var d=a(h);return d&&CIe.isArrayOrTypedArray(d)?d:null});return f.every(function(h){return h&&h.length===f[0].length})&&f}var s=o([\"x\",\"y\",\"z\"]);if(!s){r.visible=!1;return}if(o([\"i\",\"j\",\"k\"]),r.i&&(!r.j||!r.k)||r.j&&(!r.k||!r.i)||r.k&&(!r.i||!r.j)){r.visible=!1;return}var l=c8t.getComponentMethod(\"calendars\",\"handleTraceDefaults\");l(t,r,[\"x\",\"y\",\"z\"],i),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lighting.vertexnormalsepsilon\",\"lighting.facenormalsepsilon\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"flatshading\",\"alphahull\",\"delaunayaxis\",\"opacity\"].forEach(function(c){a(c)});var u=a(\"contour.show\");u&&(a(\"contour.color\"),a(\"contour.width\")),\"intensity\"in t?(a(\"intensity\"),a(\"intensitymode\"),f8t(t,r,i,a,{prefix:\"\",cLetter:\"c\"})):(r.showscale=!1,\"facecolor\"in t?a(\"facecolor\"):\"vertexcolor\"in t?a(\"vertexcolor\"):a(\"color\",n)),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),r._length=null}});var RIe=ye((epr,IIe)=>{\"use strict\";var d8t=zv();IIe.exports=function(t,r){r.intensity&&d8t(t,r,{vals:r.intensity,containerStr:\"\",cLetter:\"c\"})}});var OIe=ye((tpr,qIe)=>{\"use strict\";var v8t=Rd().gl_mesh3d,p8t=Rd().delaunay_triangulate,g8t=Rd().alpha_shape,m8t=Rd().convex_hull,y8t=$y().parseColorScale,_8t=Mr().isArrayOrTypedArray,ZZ=Jy(),x8t=Mu().extractOpts,DIe=H5();function FIe(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name=\"\",this.color=\"#fff\",this.data=null,this.showContour=!1}var XZ=FIe.prototype;XZ.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index;e.data._cellCenter?e.traceCoordinate=e.data.dataCoordinate:e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]];var r=this.data.hovertext||this.data.text;return _8t(r)&&r[t]!==void 0?e.textLabel=r[t]:r&&(e.textLabel=r),!0}};function zIe(e){for(var t=[],r=e.length,n=0;n<r;n++)t[n]=ZZ(e[n]);return t}function GZ(e,t,r,n){for(var i=[],a=t.length,o=0;o<a;o++)i[o]=e.d2l(t[o],0,n)*r;return i}function jZ(e){for(var t=[],r=e.length,n=0;n<r;n++)t[n]=Math.round(e[n]);return t}function b8t(e,t){for(var r=[\"x\",\"y\",\"z\"].indexOf(e),n=[],i=t.length,a=0;a<i;a++)n[a]=[t[a][(r+1)%3],t[a][(r+2)%3]];return p8t(n)}function WZ(e,t){for(var r=e.length,n=0;n<r;n++)if(e[n]<=-.5||e[n]>=t-.5)return!1;return!0}XZ.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=e;var n=e.x.length,i=DIe(GZ(r.xaxis,e.x,t.dataScale[0],e.xcalendar),GZ(r.yaxis,e.y,t.dataScale[1],e.ycalendar),GZ(r.zaxis,e.z,t.dataScale[2],e.zcalendar)),a;if(e.i&&e.j&&e.k){if(e.i.length!==e.j.length||e.j.length!==e.k.length||!WZ(e.i,n)||!WZ(e.j,n)||!WZ(e.k,n))return;a=DIe(jZ(e.i),jZ(e.j),jZ(e.k))}else e.alphahull===0?a=m8t(i):e.alphahull>0?a=g8t(e.alphahull,i):a=b8t(e.delaunayaxis,i);var o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,contourEnable:e.contour.show,contourColor:ZZ(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading};if(e.intensity){var s=x8t(e);this.color=\"#fff\";var l=e.intensitymode;o[l+\"Intensity\"]=e.intensity,o[l+\"IntensityBounds\"]=[s.min,s.max],o.colormap=y8t(e)}else e.vertexcolor?(this.color=e.vertexcolor[0],o.vertexColors=zIe(e.vertexcolor)):e.facecolor?(this.color=e.facecolor[0],o.cellColors=zIe(e.facecolor)):(this.color=e.color,o.meshColor=ZZ(e.color));this.mesh.update(o)};XZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function w8t(e,t){var r=e.glplot.gl,n=v8t({gl:r}),i=new FIe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}qIe.exports=w8t});var NIe=ye((rpr,BIe)=>{\"use strict\";BIe.exports={attributes:U5(),supplyDefaults:PIe(),calc:RIe(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:OIe(),moduleType:\"trace\",name:\"mesh3d\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],meta:{}}});var VIe=ye((ipr,UIe)=>{\"use strict\";UIe.exports=NIe()});var KZ=ye((npr,GIe)=>{\"use strict\";var T8t=Jl(),G5=Oc().axisHoverFormat,A8t=Wo().hovertemplateAttrs,S8t=U5(),HIe=vl(),YZ=no().extendFlat,oz={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:A8t({editType:\"calc\"},{keys:[\"norm\"]}),uhoverformat:G5(\"u\",1),vhoverformat:G5(\"v\",1),whoverformat:G5(\"w\",1),xhoverformat:G5(\"x\"),yhoverformat:G5(\"y\"),zhoverformat:G5(\"z\"),showlegend:YZ({},HIe.showlegend,{dflt:!1})};YZ(oz,T8t(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}));var M8t=[\"opacity\",\"lightposition\",\"lighting\"];M8t.forEach(function(e){oz[e]=S8t[e]});oz.hoverinfo=YZ({},HIe.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"});GIe.exports=oz});var WIe=ye((apr,jIe)=>{\"use strict\";var E8t=Mr(),k8t=Uh(),C8t=KZ();jIe.exports=function(t,r,n,i){function a(d,v){return E8t.coerce(t,r,C8t,d,v)}var o=a(\"u\"),s=a(\"v\"),l=a(\"w\"),u=a(\"x\"),c=a(\"y\"),f=a(\"z\");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length||!f||!f.length){r.visible=!1;return}var h=a(\"sizemode\");a(\"sizeref\",h===\"raw\"?1:.5),a(\"anchor\"),a(\"lighting.ambient\"),a(\"lighting.diffuse\"),a(\"lighting.specular\"),a(\"lighting.roughness\"),a(\"lighting.fresnel\"),a(\"lightposition.x\"),a(\"lightposition.y\"),a(\"lightposition.z\"),k8t(t,r,i,a,{prefix:\"\",cLetter:\"c\"}),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"uhoverformat\"),a(\"vhoverformat\"),a(\"whoverformat\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),r._length=null}});var XIe=ye((opr,ZIe)=>{\"use strict\";var L8t=zv();ZIe.exports=function(t,r){for(var n=r.u,i=r.v,a=r.w,o=Math.min(r.x.length,r.y.length,r.z.length,n.length,i.length,a.length),s=-1/0,l=1/0,u=0;u<o;u++){var c=n[u],f=i[u],h=a[u],d=Math.sqrt(c*c+f*f+h*h);s=Math.max(s,d),l=Math.min(l,d)}r._len=o,r._normMax=s,L8t(t,r,{vals:[l,s],containerStr:\"\",cLetter:\"c\"})}});var QIe=ye((spr,$Ie)=>{\"use strict\";var P8t=Rd().gl_cone3d,I8t=Rd().gl_cone3d.createConeMesh,R8t=Mr().simpleMap,D8t=$y().parseColorScale,z8t=Mu().extractOpts,F8t=Mr().isArrayOrTypedArray,YIe=H5();function KIe(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var JZ=KIe.prototype;JZ.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index,r=this.data.x[t],n=this.data.y[t],i=this.data.z[t],a=this.data.u[t],o=this.data.v[t],s=this.data.w[t];e.traceCoordinate=[r,n,i,a,o,s,Math.sqrt(a*a+o*o+s*s)];var l=this.data.hovertext||this.data.text;return F8t(l)&&l[t]!==void 0?e.textLabel=l[t]:l&&(e.textLabel=l),!0}};var q8t={xaxis:0,yaxis:1,zaxis:2},O8t={tip:1,tail:0,cm:.25,center:.5},B8t={tip:1,tail:1,cm:.75,center:.5};function JIe(e,t){var r=e.fullSceneLayout,n=e.dataScale,i={};function a(c,f){var h=r[f],d=n[q8t[f]];return R8t(c,function(v){return h.d2l(v)*d})}i.vectors=YIe(a(t.u,\"xaxis\"),a(t.v,\"yaxis\"),a(t.w,\"zaxis\"),t._len),i.positions=YIe(a(t.x,\"xaxis\"),a(t.y,\"yaxis\"),a(t.z,\"zaxis\"),t._len);var o=z8t(t);i.colormap=D8t(t),i.vertexIntensityBounds=[o.min/t._normMax,o.max/t._normMax],i.coneOffset=O8t[t.anchor];var s=t.sizemode;s===\"scaled\"?i.coneSize=t.sizeref||.5:s===\"absolute\"?i.coneSize=t.sizeref&&t._normMax?t.sizeref/t._normMax:.5:s===\"raw\"&&(i.coneSize=t.sizeref),i.coneSizemode=s;var l=P8t(i),u=t.lightposition;return l.lightPosition=[u.x,u.y,u.z],l.ambient=t.lighting.ambient,l.diffuse=t.lighting.diffuse,l.specular=t.lighting.specular,l.roughness=t.lighting.roughness,l.fresnel=t.lighting.fresnel,l.opacity=t.opacity,t._pad=B8t[t.anchor]*l.vectorScale*l.coneScale*t._normMax,l}JZ.update=function(e){this.data=e;var t=JIe(this.scene,e);this.mesh.update(t)};JZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function N8t(e,t){var r=e.glplot.gl,n=JIe(e,t),i=I8t(r,n),a=new KIe(e,t.uid);return a.mesh=i,a.data=t,i._trace=a,e.glplot.add(i),a}$Ie.exports=N8t});var t8e=ye((lpr,e8e)=>{\"use strict\";e8e.exports={moduleType:\"trace\",name:\"cone\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],attributes:KZ(),supplyDefaults:WIe(),colorbar:{min:\"cmin\",max:\"cmax\"},calc:XIe(),plot:QIe(),eventData:function(e,t){return e.norm=t.traceCoordinate[6],e},meta:{}}});var i8e=ye((upr,r8e)=>{\"use strict\";r8e.exports=t8e()});var QZ=ye((cpr,a8e)=>{\"use strict\";var U8t=Jl(),j5=Oc().axisHoverFormat,V8t=Wo().hovertemplateAttrs,H8t=U5(),n8e=vl(),$Z=no().extendFlat,sz={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},u:{valType:\"data_array\",editType:\"calc\"},v:{valType:\"data_array\",editType:\"calc\"},w:{valType:\"data_array\",editType:\"calc\"},starts:{x:{valType:\"data_array\",editType:\"calc\"},y:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},maxdisplayed:{valType:\"integer\",min:0,dflt:1e3,editType:\"calc\"},sizeref:{valType:\"number\",editType:\"calc\",min:0,dflt:1},text:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertemplate:V8t({editType:\"calc\"},{keys:[\"tubex\",\"tubey\",\"tubez\",\"tubeu\",\"tubev\",\"tubew\",\"norm\",\"divergence\"]}),uhoverformat:j5(\"u\",1),vhoverformat:j5(\"v\",1),whoverformat:j5(\"w\",1),xhoverformat:j5(\"x\"),yhoverformat:j5(\"y\"),zhoverformat:j5(\"z\"),showlegend:$Z({},n8e.showlegend,{dflt:!1})};$Z(sz,U8t(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}));var G8t=[\"opacity\",\"lightposition\",\"lighting\"];G8t.forEach(function(e){sz[e]=H8t[e]});sz.hoverinfo=$Z({},n8e.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"divergence\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"});a8e.exports=sz});var s8e=ye((fpr,o8e)=>{\"use strict\";var j8t=Mr(),W8t=Uh(),Z8t=QZ();o8e.exports=function(t,r,n,i){function a(h,d){return j8t.coerce(t,r,Z8t,h,d)}var o=a(\"u\"),s=a(\"v\"),l=a(\"w\"),u=a(\"x\"),c=a(\"y\"),f=a(\"z\");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length||!f||!f.length){r.visible=!1;return}a(\"starts.x\"),a(\"starts.y\"),a(\"starts.z\"),a(\"maxdisplayed\"),a(\"sizeref\"),a(\"lighting.ambient\"),a(\"lighting.diffuse\"),a(\"lighting.specular\"),a(\"lighting.roughness\"),a(\"lighting.fresnel\"),a(\"lightposition.x\"),a(\"lightposition.y\"),a(\"lightposition.z\"),W8t(t,r,i,a,{prefix:\"\",cLetter:\"c\"}),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"uhoverformat\"),a(\"vhoverformat\"),a(\"whoverformat\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),r._length=null}});var p8e=ye((hpr,v8e)=>{\"use strict\";var c8e=Rd().gl_streamtube3d,X8t=c8e.createTubeMesh,Y8t=Mr(),K8t=$y().parseColorScale,J8t=Mu().extractOpts,l8e=H5(),f8e={xaxis:0,yaxis:1,zaxis:2};function h8e(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var tX=h8e.prototype;tX.handlePick=function(e){var t=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(o,s){var l=t[s],u=r[f8e[s]];return l.l2c(o)/u}if(e.object===this.mesh){var i=e.data.position,a=e.data.velocity;return e.traceCoordinate=[n(i[0],\"xaxis\"),n(i[1],\"yaxis\"),n(i[2],\"zaxis\"),n(a[0],\"xaxis\"),n(a[1],\"yaxis\"),n(a[2],\"zaxis\"),e.data.intensity*this.data._normMax,e.data.divergence],e.textLabel=this.data.hovertext||this.data.text,!0}};function u8e(e){var t=e.length,r;return t>2?r=e.slice(1,t-1):t===2?r=[(e[0]+e[1])/2]:r=e,r}function eX(e){var t=e.length;return t===1?[.5,.5]:[e[1]-e[0],e[t-1]-e[t-2]]}function d8e(e,t){var r=e.fullSceneLayout,n=e.dataScale,i=t._len,a={};function o(F,q){var V=r[q],H=n[f8e[q]];return Y8t.simpleMap(F,function(X){return V.d2l(X)*H})}if(a.vectors=l8e(o(t._u,\"xaxis\"),o(t._v,\"yaxis\"),o(t._w,\"zaxis\"),i),!i)return{positions:[],cells:[]};var s=o(t._Xs,\"xaxis\"),l=o(t._Ys,\"yaxis\"),u=o(t._Zs,\"zaxis\");a.meshgrid=[s,l,u],a.gridFill=t._gridFill;var c=t._slen;if(c)a.startingPositions=l8e(o(t._startsX,\"xaxis\"),o(t._startsY,\"yaxis\"),o(t._startsZ,\"zaxis\"));else{for(var f=l[0],h=u8e(s),d=u8e(u),v=new Array(h.length*d.length),x=0,b=0;b<h.length;b++)for(var p=0;p<d.length;p++)v[x++]=[h[b],f,d[p]];a.startingPositions=v}a.colormap=K8t(t),a.tubeSize=t.sizeref,a.maxLength=t.maxdisplayed;var E=o(t._xbnds,\"xaxis\"),k=o(t._ybnds,\"yaxis\"),A=o(t._zbnds,\"zaxis\"),L=eX(s),_=eX(l),C=eX(u),M=[[E[0]-L[0],k[0]-_[0],A[0]-C[0]],[E[1]+L[1],k[1]+_[1],A[1]+C[1]]],g=c8e(a,M),P=J8t(t);g.vertexIntensityBounds=[P.min/t._normMax,P.max/t._normMax];var T=t.lightposition;return g.lightPosition=[T.x,T.y,T.z],g.ambient=t.lighting.ambient,g.diffuse=t.lighting.diffuse,g.specular=t.lighting.specular,g.roughness=t.lighting.roughness,g.fresnel=t.lighting.fresnel,g.opacity=t.opacity,t._pad=g.tubeScale*t.sizeref*2,g}tX.update=function(e){this.data=e;var t=d8e(this.scene,e);this.mesh.update(t)};tX.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function $8t(e,t){var r=e.glplot.gl,n=d8e(e,t),i=X8t(r,n),a=new h8e(e,t.uid);return a.mesh=i,a.data=t,i._trace=a,e.glplot.add(i),a}v8e.exports=$8t});var m8e=ye((dpr,g8e)=>{\"use strict\";g8e.exports={moduleType:\"trace\",name:\"streamtube\",basePlotModule:Q_(),categories:[\"gl3d\",\"showLegend\"],attributes:QZ(),supplyDefaults:s8e(),colorbar:{min:\"cmin\",max:\"cmax\"},calc:rz().calc,plot:p8e(),eventData:function(e,t){return e.tubex=e.x,e.tubey=e.y,e.tubez=e.z,e.tubeu=t.traceCoordinate[3],e.tubev=t.traceCoordinate[4],e.tubew=t.traceCoordinate[5],e.norm=t.traceCoordinate[6],e.divergence=t.traceCoordinate[7],delete e.x,delete e.y,delete e.z,e},meta:{}}});var _8e=ye((vpr,y8e)=>{\"use strict\";y8e.exports=m8e()});var H2=ye((ppr,w8e)=>{\"use strict\";var Q8t=Wo().hovertemplateAttrs,eRt=Wo().texttemplateAttrs,tRt=Eg(),jm=Uc(),rRt=vl(),x8e=Jl(),iRt=Ed().dash,V2=no().extendFlat,nRt=Bu().overrideAll,eg=jm.marker,b8e=jm.line,aRt=eg.line;w8e.exports=nRt({lon:{valType:\"data_array\"},lat:{valType:\"data_array\"},locations:{valType:\"data_array\"},locationmode:{valType:\"enumerated\",values:[\"ISO-3\",\"USA-states\",\"country names\",\"geojson-id\"],dflt:\"ISO-3\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:{valType:\"string\",editType:\"calc\",dflt:\"id\"},mode:V2({},jm.mode,{dflt:\"markers\"}),text:V2({},jm.text,{}),texttemplate:eRt({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"location\",\"text\"]}),hovertext:V2({},jm.hovertext,{}),textfont:jm.textfont,textposition:jm.textposition,line:{color:b8e.color,width:b8e.width,dash:iRt},connectgaps:jm.connectgaps,marker:V2({symbol:eg.symbol,opacity:eg.opacity,angle:eg.angle,angleref:V2({},eg.angleref,{values:[\"previous\",\"up\",\"north\"]}),standoff:eg.standoff,size:eg.size,sizeref:eg.sizeref,sizemin:eg.sizemin,sizemode:eg.sizemode,colorbar:eg.colorbar,line:V2({width:aRt.width},x8e(\"marker.line\")),gradient:eg.gradient},x8e(\"marker\")),fill:{valType:\"enumerated\",values:[\"none\",\"toself\"],dflt:\"none\"},fillcolor:tRt(),selected:jm.selected,unselected:jm.unselected,hoverinfo:V2({},rRt.hoverinfo,{flags:[\"lon\",\"lat\",\"location\",\"text\",\"name\"]}),hovertemplate:Q8t()},\"calc\",\"nested\")});var A8e=ye((gpr,T8e)=>{\"use strict\";var rX=Mr(),iX=lu(),oRt=$p(),sRt=R0(),lRt=D0(),uRt=Ig(),cRt=H2();T8e.exports=function(t,r,n,i){function a(d,v){return rX.coerce(t,r,cRt,d,v)}var o=a(\"locations\"),s;if(o&&o.length){var l=a(\"geojson\"),u;(typeof l==\"string\"&&l!==\"\"||rX.isPlainObject(l))&&(u=\"geojson-id\");var c=a(\"locationmode\",u);c===\"geojson-id\"&&a(\"featureidkey\"),s=o.length}else{var f=a(\"lon\")||[],h=a(\"lat\")||[];s=Math.min(f.length,h.length)}if(!s){r.visible=!1;return}r._length=s,a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"mode\"),iX.hasMarkers(r)&&oRt(t,r,n,i,a,{gradient:!0}),iX.hasLines(r)&&(sRt(t,r,n,i,a),a(\"connectgaps\")),iX.hasText(r)&&(a(\"texttemplate\"),lRt(t,r,i,a)),a(\"fill\"),r.fill!==\"none\"&&uRt(t,r,n,a),rX.coerceSelectionMarkerOpacity(r,a)}});var E8e=ye((mpr,M8e)=>{\"use strict\";var S8e=Qa();M8e.exports=function(t,r,n){var i={},a=n[r.geo]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=S8e.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=S8e.tickText(o,o.c2l(s[1]),!0).text,i}});var lz=ye((ypr,P8e)=>{\"use strict\";var nX=uo(),k8e=es().BADNUM,fRt=z0(),hRt=km(),dRt=F0(),vRt=Mr().isArrayOrTypedArray,C8e=Mr()._;function L8e(e){return e&&typeof e==\"string\"}P8e.exports=function(t,r){var n=vRt(r.locations),i=n?r.locations.length:r._length,a=new Array(i),o;r.geojson?o=function(h){return L8e(h)||nX(h)}:o=L8e;for(var s=0;s<i;s++){var l=a[s]={};if(n){var u=r.locations[s];l.loc=o(u)?u:null}else{var c=r.lon[s],f=r.lat[s];nX(c)&&nX(f)?l.lonlat=[+c,+f]:l.lonlat=[k8e,k8e]}}return hRt(a,r),fRt(t,r),dRt(a,r),i&&(a[0].t={labels:{lat:C8e(t,\"lat:\")+\" \",lon:C8e(t,\"lon:\")+\" \"}}),a}});var YE=ye(Tv=>{\"use strict\";Tv.projNames={airy:\"airy\",aitoff:\"aitoff\",\"albers usa\":\"albersUsa\",albers:\"albers\",august:\"august\",\"azimuthal equal area\":\"azimuthalEqualArea\",\"azimuthal equidistant\":\"azimuthalEquidistant\",baker:\"baker\",bertin1953:\"bertin1953\",boggs:\"boggs\",bonne:\"bonne\",bottomley:\"bottomley\",bromley:\"bromley\",collignon:\"collignon\",\"conic conformal\":\"conicConformal\",\"conic equal area\":\"conicEqualArea\",\"conic equidistant\":\"conicEquidistant\",craig:\"craig\",craster:\"craster\",\"cylindrical equal area\":\"cylindricalEqualArea\",\"cylindrical stereographic\":\"cylindricalStereographic\",eckert1:\"eckert1\",eckert2:\"eckert2\",eckert3:\"eckert3\",eckert4:\"eckert4\",eckert5:\"eckert5\",eckert6:\"eckert6\",eisenlohr:\"eisenlohr\",\"equal earth\":\"equalEarth\",equirectangular:\"equirectangular\",fahey:\"fahey\",\"foucaut sinusoidal\":\"foucautSinusoidal\",foucaut:\"foucaut\",ginzburg4:\"ginzburg4\",ginzburg5:\"ginzburg5\",ginzburg6:\"ginzburg6\",ginzburg8:\"ginzburg8\",ginzburg9:\"ginzburg9\",gnomonic:\"gnomonic\",\"gringorten quincuncial\":\"gringortenQuincuncial\",gringorten:\"gringorten\",guyou:\"guyou\",hammer:\"hammer\",hill:\"hill\",homolosine:\"homolosine\",hufnagel:\"hufnagel\",hyperelliptical:\"hyperelliptical\",kavrayskiy7:\"kavrayskiy7\",lagrange:\"lagrange\",larrivee:\"larrivee\",laskowski:\"laskowski\",loximuthal:\"loximuthal\",mercator:\"mercator\",miller:\"miller\",mollweide:\"mollweide\",\"mt flat polar parabolic\":\"mtFlatPolarParabolic\",\"mt flat polar quartic\":\"mtFlatPolarQuartic\",\"mt flat polar sinusoidal\":\"mtFlatPolarSinusoidal\",\"natural earth\":\"naturalEarth\",\"natural earth1\":\"naturalEarth1\",\"natural earth2\":\"naturalEarth2\",\"nell hammer\":\"nellHammer\",nicolosi:\"nicolosi\",orthographic:\"orthographic\",patterson:\"patterson\",\"peirce quincuncial\":\"peirceQuincuncial\",polyconic:\"polyconic\",\"rectangular polyconic\":\"rectangularPolyconic\",robinson:\"robinson\",satellite:\"satellite\",\"sinu mollweide\":\"sinuMollweide\",sinusoidal:\"sinusoidal\",stereographic:\"stereographic\",times:\"times\",\"transverse mercator\":\"transverseMercator\",\"van der grinten\":\"vanDerGrinten\",\"van der grinten2\":\"vanDerGrinten2\",\"van der grinten3\":\"vanDerGrinten3\",\"van der grinten4\":\"vanDerGrinten4\",wagner4:\"wagner4\",wagner6:\"wagner6\",wiechel:\"wiechel\",\"winkel tripel\":\"winkel3\",winkel3:\"winkel3\"};Tv.axesNames=[\"lonaxis\",\"lataxis\"];Tv.lonaxisSpan={orthographic:180,\"azimuthal equal area\":360,\"azimuthal equidistant\":360,\"conic conformal\":180,gnomonic:160,stereographic:180,\"transverse mercator\":180,\"*\":360};Tv.lataxisSpan={\"conic conformal\":150,stereographic:179.5,\"*\":180};Tv.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:\"equirectangular\",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:\"albers usa\"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:\"conic conformal\",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:\"mercator\",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:\"mercator\",projRotate:[0,0,0]},\"north america\":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:\"conic conformal\",projRotate:[-100,0,0],projParallels:[29.5,45.5]},\"south america\":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:\"mercator\",projRotate:[0,0,0]}};Tv.clipPad=.001;Tv.precision=.1;Tv.landColor=\"#F0DC82\";Tv.waterColor=\"#3399FF\";Tv.locationmodeToLayer={\"ISO-3\":\"countries\",\"USA-states\":\"subunits\",\"country names\":\"countries\"};Tv.sphereSVG={type:\"Sphere\"};Tv.fillLayers={ocean:1,land:1,lakes:1};Tv.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1};Tv.layers=[\"bg\",\"ocean\",\"land\",\"lakes\",\"subunits\",\"countries\",\"coastlines\",\"rivers\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"frontplot\"];Tv.layersForChoropleth=[\"bg\",\"ocean\",\"land\",\"subunits\",\"countries\",\"coastlines\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"rivers\",\"lakes\",\"frontplot\"];Tv.layerNameToAdjective={ocean:\"ocean\",land:\"land\",lakes:\"lake\",subunits:\"subunit\",countries:\"country\",coastlines:\"coastline\",rivers:\"river\",frame:\"frame\"}});var aX=ye((uz,I8e)=>{(function(e,t){typeof uz==\"object\"&&typeof I8e!=\"undefined\"?t(uz):(e=e||self,t(e.topojson=e.topojson||{}))})(uz,function(e){\"use strict\";function t(k){return k}function r(k){if(k==null)return t;var A,L,_=k.scale[0],C=k.scale[1],M=k.translate[0],g=k.translate[1];return function(P,T){T||(A=L=0);var F=2,q=P.length,V=new Array(q);for(V[0]=(A+=P[0])*_+M,V[1]=(L+=P[1])*C+g;F<q;)V[F]=P[F],++F;return V}}function n(k){var A=r(k.transform),L,_=1/0,C=_,M=-_,g=-_;function P(F){F=A(F),F[0]<_&&(_=F[0]),F[0]>M&&(M=F[0]),F[1]<C&&(C=F[1]),F[1]>g&&(g=F[1])}function T(F){switch(F.type){case\"GeometryCollection\":F.geometries.forEach(T);break;case\"Point\":P(F.coordinates);break;case\"MultiPoint\":F.coordinates.forEach(P);break}}k.arcs.forEach(function(F){for(var q=-1,V=F.length,H;++q<V;)H=A(F[q],q),H[0]<_&&(_=H[0]),H[0]>M&&(M=H[0]),H[1]<C&&(C=H[1]),H[1]>g&&(g=H[1])});for(L in k.objects)T(k.objects[L]);return[_,C,M,g]}function i(k,A){for(var L,_=k.length,C=_-A;C<--_;)L=k[C],k[C++]=k[_],k[_]=L}function a(k,A){return typeof A==\"string\"&&(A=k.objects[A]),A.type===\"GeometryCollection\"?{type:\"FeatureCollection\",features:A.geometries.map(function(L){return o(k,L)})}:o(k,A)}function o(k,A){var L=A.id,_=A.bbox,C=A.properties==null?{}:A.properties,M=s(k,A);return L==null&&_==null?{type:\"Feature\",properties:C,geometry:M}:_==null?{type:\"Feature\",id:L,properties:C,geometry:M}:{type:\"Feature\",id:L,bbox:_,properties:C,geometry:M}}function s(k,A){var L=r(k.transform),_=k.arcs;function C(q,V){V.length&&V.pop();for(var H=_[q<0?~q:q],X=0,G=H.length;X<G;++X)V.push(L(H[X],X));q<0&&i(V,G)}function M(q){return L(q)}function g(q){for(var V=[],H=0,X=q.length;H<X;++H)C(q[H],V);return V.length<2&&V.push(V[0]),V}function P(q){for(var V=g(q);V.length<4;)V.push(V[0]);return V}function T(q){return q.map(P)}function F(q){var V=q.type,H;switch(V){case\"GeometryCollection\":return{type:V,geometries:q.geometries.map(F)};case\"Point\":H=M(q.coordinates);break;case\"MultiPoint\":H=q.coordinates.map(M);break;case\"LineString\":H=g(q.arcs);break;case\"MultiLineString\":H=q.arcs.map(g);break;case\"Polygon\":H=T(q.arcs);break;case\"MultiPolygon\":H=q.arcs.map(T);break;default:return null}return{type:V,coordinates:H}}return F(A)}function l(k,A){var L={},_={},C={},M=[],g=-1;A.forEach(function(F,q){var V=k.arcs[F<0?~F:F],H;V.length<3&&!V[1][0]&&!V[1][1]&&(H=A[++g],A[g]=F,A[q]=H)}),A.forEach(function(F){var q=P(F),V=q[0],H=q[1],X,G;if(X=C[V])if(delete C[X.end],X.push(F),X.end=H,G=_[H]){delete _[G.start];var N=G===X?X:X.concat(G);_[N.start=X.start]=C[N.end=G.end]=N}else _[X.start]=C[X.end]=X;else if(X=_[H])if(delete _[X.start],X.unshift(F),X.start=V,G=C[V]){delete C[G.end];var W=G===X?X:G.concat(X);_[W.start=G.start]=C[W.end=X.end]=W}else _[X.start]=C[X.end]=X;else X=[F],_[X.start=V]=C[X.end=H]=X});function P(F){var q=k.arcs[F<0?~F:F],V=q[0],H;return k.transform?(H=[0,0],q.forEach(function(X){H[0]+=X[0],H[1]+=X[1]})):H=q[q.length-1],F<0?[H,V]:[V,H]}function T(F,q){for(var V in F){var H=F[V];delete q[H.start],delete H.start,delete H.end,H.forEach(function(X){L[X<0?~X:X]=1}),M.push(H)}}return T(C,_),T(_,C),A.forEach(function(F){L[F<0?~F:F]||M.push([F])}),M}function u(k){return s(k,c.apply(this,arguments))}function c(k,A,L){var _,C,M;if(arguments.length>1)_=f(k,A,L);else for(C=0,_=new Array(M=k.arcs.length);C<M;++C)_[C]=C;return{type:\"MultiLineString\",arcs:l(k,_)}}function f(k,A,L){var _=[],C=[],M;function g(V){var H=V<0?~V:V;(C[H]||(C[H]=[])).push({i:V,g:M})}function P(V){V.forEach(g)}function T(V){V.forEach(P)}function F(V){V.forEach(T)}function q(V){switch(M=V,V.type){case\"GeometryCollection\":V.geometries.forEach(q);break;case\"LineString\":P(V.arcs);break;case\"MultiLineString\":case\"Polygon\":T(V.arcs);break;case\"MultiPolygon\":F(V.arcs);break}}return q(A),C.forEach(L==null?function(V){_.push(V[0].i)}:function(V){L(V[0].g,V[V.length-1].g)&&_.push(V[0].i)}),_}function h(k){for(var A=-1,L=k.length,_,C=k[L-1],M=0;++A<L;)_=C,C=k[A],M+=_[0]*C[1]-_[1]*C[0];return Math.abs(M)}function d(k){return s(k,v.apply(this,arguments))}function v(k,A){var L={},_=[],C=[];A.forEach(M);function M(T){switch(T.type){case\"GeometryCollection\":T.geometries.forEach(M);break;case\"Polygon\":g(T.arcs);break;case\"MultiPolygon\":T.arcs.forEach(g);break}}function g(T){T.forEach(function(F){F.forEach(function(q){(L[q=q<0?~q:q]||(L[q]=[])).push(T)})}),_.push(T)}function P(T){return h(s(k,{type:\"Polygon\",arcs:[T]}).coordinates[0])}return _.forEach(function(T){if(!T._){var F=[],q=[T];for(T._=1,C.push(F);T=q.pop();)F.push(T),T.forEach(function(V){V.forEach(function(H){L[H<0?~H:H].forEach(function(X){X._||(X._=1,q.push(X))})})})}}),_.forEach(function(T){delete T._}),{type:\"MultiPolygon\",arcs:C.map(function(T){var F=[],q;if(T.forEach(function(N){N.forEach(function(W){W.forEach(function(re){L[re<0?~re:re].length<2&&F.push(re)})})}),F=l(k,F),(q=F.length)>1)for(var V=1,H=P(F[0]),X,G;V<q;++V)(X=P(F[V]))>H&&(G=F[0],F[0]=F[V],F[V]=G,H=X);return F}).filter(function(T){return T.length>0})}}function x(k,A){for(var L=0,_=k.length;L<_;){var C=L+_>>>1;k[C]<A?L=C+1:_=C}return L}function b(k){var A={},L=k.map(function(){return[]});function _(N,W){N.forEach(function(re){re<0&&(re=~re);var ae=A[re];ae?ae.push(W):A[re]=[W]})}function C(N,W){N.forEach(function(re){_(re,W)})}function M(N,W){N.type===\"GeometryCollection\"?N.geometries.forEach(function(re){M(re,W)}):N.type in g&&g[N.type](N.arcs,W)}var g={LineString:_,MultiLineString:C,Polygon:C,MultiPolygon:function(N,W){N.forEach(function(re){C(re,W)})}};k.forEach(M);for(var P in A)for(var T=A[P],F=T.length,q=0;q<F;++q)for(var V=q+1;V<F;++V){var H=T[q],X=T[V],G;(G=L[H])[P=x(G,X)]!==X&&G.splice(P,0,X),(G=L[X])[P=x(G,H)]!==H&&G.splice(P,0,H)}return L}function p(k){if(k==null)return t;var A,L,_=k.scale[0],C=k.scale[1],M=k.translate[0],g=k.translate[1];return function(P,T){T||(A=L=0);var F=2,q=P.length,V=new Array(q),H=Math.round((P[0]-M)/_),X=Math.round((P[1]-g)/C);for(V[0]=H-A,A=H,V[1]=X-L,L=X;F<q;)V[F]=P[F],++F;return V}}function E(k,A){if(k.transform)throw new Error(\"already quantized\");if(!A||!A.scale){if(!((g=Math.floor(A))>=2))throw new Error(\"n must be \\u22652\");T=k.bbox||n(k);var L=T[0],_=T[1],C=T[2],M=T[3],g;A={scale:[C-L?(C-L)/(g-1):1,M-_?(M-_)/(g-1):1],translate:[L,_]}}else T=k.bbox;var P=p(A),T,F,q=k.objects,V={};function H(N){return P(N)}function X(N){var W;switch(N.type){case\"GeometryCollection\":W={type:\"GeometryCollection\",geometries:N.geometries.map(X)};break;case\"Point\":W={type:\"Point\",coordinates:H(N.coordinates)};break;case\"MultiPoint\":W={type:\"MultiPoint\",coordinates:N.coordinates.map(H)};break;default:return N}return N.id!=null&&(W.id=N.id),N.bbox!=null&&(W.bbox=N.bbox),N.properties!=null&&(W.properties=N.properties),W}function G(N){var W=0,re=1,ae=N.length,_e,Me=new Array(ae);for(Me[0]=P(N[0],0);++W<ae;)((_e=P(N[W],W))[0]||_e[1])&&(Me[re++]=_e);return re===1&&(Me[re++]=[0,0]),Me.length=re,Me}for(F in q)V[F]=X(q[F]);return{type:\"Topology\",bbox:T,transform:A,objects:V,arcs:k.arcs.map(G)}}e.bbox=n,e.feature=a,e.merge=d,e.mergeArcs=v,e.mesh=u,e.meshArcs=c,e.neighbors=b,e.quantize=E,e.transform=r,e.untransform=p,Object.defineProperty(e,\"__esModule\",{value:!0})})});var cz=ye((xpr,R8e)=>{\"use strict\";var oX=R8e.exports={},pRt=YE().locationmodeToLayer,gRt=aX().feature;oX.getTopojsonName=function(e){return[e.scope.replace(/ /g,\"-\"),\"_\",e.resolution.toString(),\"m\"].join(\"\")};oX.getTopojsonPath=function(e,t){return e+t+\".json\"};oX.getTopojsonFeatures=function(e,t){var r=pRt[e.locationmode],n=t.objects[r];return gRt(t,n).features}});var rx=ye(KE=>{\"use strict\";var mRt=es().BADNUM;KE.calcTraceToLineCoords=function(e){for(var t=e[0].trace,r=t.connectgaps,n=[],i=[],a=0;a<e.length;a++){var o=e[a],s=o.lonlat;s[0]!==mRt?i.push(s):!r&&i.length>0&&(n.push(i),i=[])}return i.length>0&&n.push(i),n};KE.makeLine=function(e){return e.length===1?{type:\"LineString\",coordinates:e[0]}:{type:\"MultiLineString\",coordinates:e}};KE.makePolygon=function(e){if(e.length===1)return{type:\"Polygon\",coordinates:e};for(var t=new Array(e.length),r=0;r<e.length;r++)t[r]=[e[r]];return{type:\"MultiPolygon\",coordinates:t}};KE.makeBlank=function(){return{type:\"Point\",coordinates:[]}}});var z8e=ye((wpr,D8e)=>{D8e.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\"}});var dz=ye(ku=>{\"use strict\";Object.defineProperty(ku,\"__esModule\",{value:!0});var qp=63710088e-1,lX={centimeters:qp*100,centimetres:qp*100,degrees:360/(2*Math.PI),feet:qp*3.28084,inches:qp*39.37,kilometers:qp/1e3,kilometres:qp/1e3,meters:qp,metres:qp,miles:qp/1609.344,millimeters:qp*1e3,millimetres:qp*1e3,nauticalmiles:qp/1852,radians:1,yards:qp*1.0936},sX={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,nauticalmiles:29155334959812285e-23,millimeters:1e6,millimetres:1e6,yards:1.195990046};function ix(e,t,r={}){let n={type:\"Feature\"};return(r.id===0||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}function yRt(e,t,r={}){switch(e){case\"Point\":return uX(t).geometry;case\"LineString\":return fX(t).geometry;case\"Polygon\":return cX(t).geometry;case\"MultiPoint\":return q8e(t).geometry;case\"MultiLineString\":return F8e(t).geometry;case\"MultiPolygon\":return O8e(t).geometry;default:throw new Error(e+\" is invalid\")}}function uX(e,t,r={}){if(!e)throw new Error(\"coordinates is required\");if(!Array.isArray(e))throw new Error(\"coordinates must be an Array\");if(e.length<2)throw new Error(\"coordinates must be at least 2 numbers long\");if(!fz(e[0])||!fz(e[1]))throw new Error(\"coordinates must contain numbers\");return ix({type:\"Point\",coordinates:e},t,r)}function _Rt(e,t,r={}){return hz(e.map(n=>uX(n,t)),r)}function cX(e,t,r={}){for(let i of e){if(i.length<4)throw new Error(\"Each LinearRing of a Polygon must have 4 or more Positions.\");if(i[i.length-1].length!==i[0].length)throw new Error(\"First and last Position are not equivalent.\");for(let a=0;a<i[i.length-1].length;a++)if(i[i.length-1][a]!==i[0][a])throw new Error(\"First and last Position are not equivalent.\")}return ix({type:\"Polygon\",coordinates:e},t,r)}function xRt(e,t,r={}){return hz(e.map(n=>cX(n,t)),r)}function fX(e,t,r={}){if(e.length<2)throw new Error(\"coordinates must be an array of two or more positions\");return ix({type:\"LineString\",coordinates:e},t,r)}function bRt(e,t,r={}){return hz(e.map(n=>fX(n,t)),r)}function hz(e,t={}){let r={type:\"FeatureCollection\"};return t.id&&(r.id=t.id),t.bbox&&(r.bbox=t.bbox),r.features=e,r}function F8e(e,t,r={}){return ix({type:\"MultiLineString\",coordinates:e},t,r)}function q8e(e,t,r={}){return ix({type:\"MultiPoint\",coordinates:e},t,r)}function O8e(e,t,r={}){return ix({type:\"MultiPolygon\",coordinates:e},t,r)}function wRt(e,t,r={}){return ix({type:\"GeometryCollection\",geometries:e},t,r)}function TRt(e,t=0){if(t&&!(t>=0))throw new Error(\"precision must be a positive number\");let r=Math.pow(10,t||0);return Math.round(e*r)/r}function B8e(e,t=\"kilometers\"){let r=lX[t];if(!r)throw new Error(t+\" units is invalid\");return e*r}function hX(e,t=\"kilometers\"){let r=lX[t];if(!r)throw new Error(t+\" units is invalid\");return e/r}function ARt(e,t){return N8e(hX(e,t))}function SRt(e){let t=e%360;return t<0&&(t+=360),t}function MRt(e){return e=e%360,e>0?e>180?e-360:e:e<-180?e+360:e}function N8e(e){return e%(2*Math.PI)*180/Math.PI}function ERt(e){return e%360*Math.PI/180}function kRt(e,t=\"kilometers\",r=\"kilometers\"){if(!(e>=0))throw new Error(\"length must be a positive number\");return B8e(hX(e,t),r)}function CRt(e,t=\"meters\",r=\"kilometers\"){if(!(e>=0))throw new Error(\"area must be a positive number\");let n=sX[t];if(!n)throw new Error(\"invalid original units\");let i=sX[r];if(!i)throw new Error(\"invalid final units\");return e/n*i}function fz(e){return!isNaN(e)&&e!==null&&!Array.isArray(e)}function LRt(e){return e!==null&&typeof e==\"object\"&&!Array.isArray(e)}function PRt(e){if(!e)throw new Error(\"bbox is required\");if(!Array.isArray(e))throw new Error(\"bbox must be an Array\");if(e.length!==4&&e.length!==6)throw new Error(\"bbox must be an Array of 4 or 6 numbers\");e.forEach(t=>{if(!fz(t))throw new Error(\"bbox must only contain numbers\")})}function IRt(e){if(!e)throw new Error(\"id is required\");if([\"string\",\"number\"].indexOf(typeof e)===-1)throw new Error(\"id must be a number or a string\")}ku.areaFactors=sX;ku.azimuthToBearing=MRt;ku.bearingToAzimuth=SRt;ku.convertArea=CRt;ku.convertLength=kRt;ku.degreesToRadians=ERt;ku.earthRadius=qp;ku.factors=lX;ku.feature=ix;ku.featureCollection=hz;ku.geometry=yRt;ku.geometryCollection=wRt;ku.isNumber=fz;ku.isObject=LRt;ku.lengthToDegrees=ARt;ku.lengthToRadians=hX;ku.lineString=fX;ku.lineStrings=bRt;ku.multiLineString=F8e;ku.multiPoint=q8e;ku.multiPolygon=O8e;ku.point=uX;ku.points=_Rt;ku.polygon=cX;ku.polygons=xRt;ku.radiansToDegrees=N8e;ku.radiansToLength=B8e;ku.round=TRt;ku.validateBBox=PRt;ku.validateId=IRt});var pz=ye(Dd=>{\"use strict\";Object.defineProperty(Dd,\"__esModule\",{value:!0});var jv=dz();function JE(e,t,r){if(e!==null)for(var n,i,a,o,s,l,u,c=0,f=0,h,d=e.type,v=d===\"FeatureCollection\",x=d===\"Feature\",b=v?e.features.length:1,p=0;p<b;p++){u=v?e.features[p].geometry:x?e.geometry:e,h=u?u.type===\"GeometryCollection\":!1,s=h?u.geometries.length:1;for(var E=0;E<s;E++){var k=0,A=0;if(o=h?u.geometries[E]:u,o!==null){l=o.coordinates;var L=o.type;switch(c=r&&(L===\"Polygon\"||L===\"MultiPolygon\")?1:0,L){case null:break;case\"Point\":if(t(l,f,p,k,A)===!1)return!1;f++,k++;break;case\"LineString\":case\"MultiPoint\":for(n=0;n<l.length;n++){if(t(l[n],f,p,k,A)===!1)return!1;f++,L===\"MultiPoint\"&&k++}L===\"LineString\"&&k++;break;case\"Polygon\":case\"MultiLineString\":for(n=0;n<l.length;n++){for(i=0;i<l[n].length-c;i++){if(t(l[n][i],f,p,k,A)===!1)return!1;f++}L===\"MultiLineString\"&&k++,L===\"Polygon\"&&A++}L===\"Polygon\"&&k++;break;case\"MultiPolygon\":for(n=0;n<l.length;n++){for(A=0,i=0;i<l[n].length;i++){for(a=0;a<l[n][i].length-c;a++){if(t(l[n][i][a],f,p,k,A)===!1)return!1;f++}A++}k++}break;case\"GeometryCollection\":for(n=0;n<o.geometries.length;n++)if(JE(o.geometries[n],t,r)===!1)return!1;break;default:throw new Error(\"Unknown Geometry Type\")}}}}}function RRt(e,t,r,n){var i=r;return JE(e,function(a,o,s,l,u){o===0&&r===void 0?i=a:i=t(i,a,o,s,l,u)},n),i}function U8e(e,t){var r;switch(e.type){case\"FeatureCollection\":for(r=0;r<e.features.length&&t(e.features[r].properties,r)!==!1;r++);break;case\"Feature\":t(e.properties,0);break}}function DRt(e,t,r){var n=r;return U8e(e,function(i,a){a===0&&r===void 0?n=i:n=t(n,i,a)}),n}function V8e(e,t){if(e.type===\"Feature\")t(e,0);else if(e.type===\"FeatureCollection\")for(var r=0;r<e.features.length&&t(e.features[r],r)!==!1;r++);}function zRt(e,t,r){var n=r;return V8e(e,function(i,a){a===0&&r===void 0?n=i:n=t(n,i,a)}),n}function FRt(e){var t=[];return JE(e,function(r){t.push(r)}),t}function dX(e,t){var r,n,i,a,o,s,l,u,c,f,h=0,d=e.type===\"FeatureCollection\",v=e.type===\"Feature\",x=d?e.features.length:1;for(r=0;r<x;r++){for(s=d?e.features[r].geometry:v?e.geometry:e,u=d?e.features[r].properties:v?e.properties:{},c=d?e.features[r].bbox:v?e.bbox:void 0,f=d?e.features[r].id:v?e.id:void 0,l=s?s.type===\"GeometryCollection\":!1,o=l?s.geometries.length:1,i=0;i<o;i++){if(a=l?s.geometries[i]:s,a===null){if(t(null,h,u,c,f)===!1)return!1;continue}switch(a.type){case\"Point\":case\"LineString\":case\"MultiPoint\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":{if(t(a,h,u,c,f)===!1)return!1;break}case\"GeometryCollection\":{for(n=0;n<a.geometries.length;n++)if(t(a.geometries[n],h,u,c,f)===!1)return!1;break}default:throw new Error(\"Unknown Geometry Type\")}}h++}}function qRt(e,t,r){var n=r;return dX(e,function(i,a,o,s,l){a===0&&r===void 0?n=i:n=t(n,i,a,o,s,l)}),n}function vz(e,t){dX(e,function(r,n,i,a,o){var s=r===null?null:r.type;switch(s){case null:case\"Point\":case\"LineString\":case\"Polygon\":return t(jv.feature.call(void 0,r,i,{bbox:a,id:o}),n,0)===!1?!1:void 0}var l;switch(s){case\"MultiPoint\":l=\"Point\";break;case\"MultiLineString\":l=\"LineString\";break;case\"MultiPolygon\":l=\"Polygon\";break}for(var u=0;u<r.coordinates.length;u++){var c=r.coordinates[u],f={type:l,coordinates:c};if(t(jv.feature.call(void 0,f,i),n,u)===!1)return!1}})}function ORt(e,t,r){var n=r;return vz(e,function(i,a,o){a===0&&o===0&&r===void 0?n=i:n=t(n,i,a,o)}),n}function H8e(e,t){vz(e,function(r,n,i){var a=0;if(r.geometry){var o=r.geometry.type;if(!(o===\"Point\"||o===\"MultiPoint\")){var s,l=0,u=0,c=0;if(JE(r,function(f,h,d,v,x){if(s===void 0||n>l||v>u||x>c){s=f,l=n,u=v,c=x,a=0;return}var b=jv.lineString.call(void 0,[s,f],r.properties);if(t(b,n,i,x,a)===!1)return!1;a++,s=f})===!1)return!1}}})}function BRt(e,t,r){var n=r,i=!1;return H8e(e,function(a,o,s,l,u){i===!1&&r===void 0?n=a:n=t(n,a,o,s,l,u),i=!0}),n}function G8e(e,t){if(!e)throw new Error(\"geojson is required\");vz(e,function(r,n,i){if(r.geometry!==null){var a=r.geometry.type,o=r.geometry.coordinates;switch(a){case\"LineString\":if(t(r,n,i,0,0)===!1)return!1;break;case\"Polygon\":for(var s=0;s<o.length;s++)if(t(jv.lineString.call(void 0,o[s],r.properties),n,i,s)===!1)return!1;break}}})}function NRt(e,t,r){var n=r;return G8e(e,function(i,a,o,s){a===0&&r===void 0?n=i:n=t(n,i,a,o,s)}),n}function URt(e,t){if(t=t||{},!jv.isObject.call(void 0,t))throw new Error(\"options is invalid\");var r=t.featureIndex||0,n=t.multiFeatureIndex||0,i=t.geometryIndex||0,a=t.segmentIndex||0,o=t.properties,s;switch(e.type){case\"FeatureCollection\":r<0&&(r=e.features.length+r),o=o||e.features[r].properties,s=e.features[r].geometry;break;case\"Feature\":o=o||e.properties,s=e.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":s=e;break;default:throw new Error(\"geojson is invalid\")}if(s===null)return null;var l=s.coordinates;switch(s.type){case\"Point\":case\"MultiPoint\":return null;case\"LineString\":return a<0&&(a=l.length+a-1),jv.lineString.call(void 0,[l[a],l[a+1]],o,t);case\"Polygon\":return i<0&&(i=l.length+i),a<0&&(a=l[i].length+a-1),jv.lineString.call(void 0,[l[i][a],l[i][a+1]],o,t);case\"MultiLineString\":return n<0&&(n=l.length+n),a<0&&(a=l[n].length+a-1),jv.lineString.call(void 0,[l[n][a],l[n][a+1]],o,t);case\"MultiPolygon\":return n<0&&(n=l.length+n),i<0&&(i=l[n].length+i),a<0&&(a=l[n][i].length-a-1),jv.lineString.call(void 0,[l[n][i][a],l[n][i][a+1]],o,t)}throw new Error(\"geojson is invalid\")}function VRt(e,t){if(t=t||{},!jv.isObject.call(void 0,t))throw new Error(\"options is invalid\");var r=t.featureIndex||0,n=t.multiFeatureIndex||0,i=t.geometryIndex||0,a=t.coordIndex||0,o=t.properties,s;switch(e.type){case\"FeatureCollection\":r<0&&(r=e.features.length+r),o=o||e.features[r].properties,s=e.features[r].geometry;break;case\"Feature\":o=o||e.properties,s=e.geometry;break;case\"Point\":case\"MultiPoint\":return null;case\"LineString\":case\"Polygon\":case\"MultiLineString\":case\"MultiPolygon\":s=e;break;default:throw new Error(\"geojson is invalid\")}if(s===null)return null;var l=s.coordinates;switch(s.type){case\"Point\":return jv.point.call(void 0,l,o,t);case\"MultiPoint\":return n<0&&(n=l.length+n),jv.point.call(void 0,l[n],o,t);case\"LineString\":return a<0&&(a=l.length+a),jv.point.call(void 0,l[a],o,t);case\"Polygon\":return i<0&&(i=l.length+i),a<0&&(a=l[i].length+a),jv.point.call(void 0,l[i][a],o,t);case\"MultiLineString\":return n<0&&(n=l.length+n),a<0&&(a=l[n].length+a),jv.point.call(void 0,l[n][a],o,t);case\"MultiPolygon\":return n<0&&(n=l.length+n),i<0&&(i=l[n].length+i),a<0&&(a=l[n][i].length-a),jv.point.call(void 0,l[n][i][a],o,t)}throw new Error(\"geojson is invalid\")}Dd.coordAll=FRt;Dd.coordEach=JE;Dd.coordReduce=RRt;Dd.featureEach=V8e;Dd.featureReduce=zRt;Dd.findPoint=VRt;Dd.findSegment=URt;Dd.flattenEach=vz;Dd.flattenReduce=ORt;Dd.geomEach=dX;Dd.geomReduce=qRt;Dd.lineEach=G8e;Dd.lineReduce=NRt;Dd.propEach=U8e;Dd.propReduce=DRt;Dd.segmentEach=H8e;Dd.segmentReduce=BRt});var Y8e=ye(gz=>{\"use strict\";Object.defineProperty(gz,\"__esModule\",{value:!0});var j8e=dz(),HRt=pz();function X8e(e){return HRt.geomReduce.call(void 0,e,(t,r)=>t+GRt(r),0)}function GRt(e){let t=0,r;switch(e.type){case\"Polygon\":return W8e(e.coordinates);case\"MultiPolygon\":for(r=0;r<e.coordinates.length;r++)t+=W8e(e.coordinates[r]);return t;case\"Point\":case\"MultiPoint\":case\"LineString\":case\"MultiLineString\":return 0}return 0}function W8e(e){let t=0;if(e&&e.length>0){t+=Math.abs(Z8e(e[0]));for(let r=1;r<e.length;r++)t-=Math.abs(Z8e(e[r]))}return t}var jRt=j8e.earthRadius*j8e.earthRadius/2,vX=Math.PI/180;function Z8e(e){let t=e.length-1;if(t<=2)return 0;let r=0,n=0;for(;n<t;){let i=e[n],a=e[n+1===t?0:n+1],o=e[n+2>=t?(n+2)%t:n+2],s=i[0]*vX,l=a[1]*vX,u=o[0]*vX;r+=(u-s)*Math.sin(l),n++}return r*jRt}var WRt=X8e;gz.area=X8e;gz.default=WRt});var J8e=ye(mz=>{\"use strict\";Object.defineProperty(mz,\"__esModule\",{value:!0});var ZRt=dz(),XRt=pz();function K8e(e,t={}){let r=0,n=0,i=0;return XRt.coordEach.call(void 0,e,function(a){r+=a[0],n+=a[1],i++},!0),ZRt.point.call(void 0,[r/i,n/i],t.properties)}var YRt=K8e;mz.centroid=K8e;mz.default=YRt});var Q8e=ye(yz=>{\"use strict\";Object.defineProperty(yz,\"__esModule\",{value:!0});var KRt=pz();function $8e(e,t={}){if(e.bbox!=null&&t.recompute!==!0)return e.bbox;let r=[1/0,1/0,-1/0,-1/0];return KRt.coordEach.call(void 0,e,n=>{r[0]>n[0]&&(r[0]=n[0]),r[1]>n[1]&&(r[1]=n[1]),r[2]<n[0]&&(r[2]=n[0]),r[3]<n[1]&&(r[3]=n[1])}),r}var JRt=$8e;yz.bbox=$8e;yz.default=JRt});var nx=ye((kpr,nRe)=>{\"use strict\";var $Rt=xa(),rRe=z8e(),{area:QRt}=Y8e(),{centroid:eDt}=J8e(),{bbox:tDt}=Q8e(),eRe=OS(),W5=G1(),rDt=gy(),iDt=ES(),_z=wM(),tRe=Object.keys(rRe),nDt={\"ISO-3\":eRe,\"USA-states\":eRe,\"country names\":aDt};function aDt(e){for(var t=0;t<tRe.length;t++){var r=tRe[t],n=new RegExp(rRe[r]);if(n.test(e.trim().toLowerCase()))return r}return W5.log(\"Unrecognized country name: \"+e+\".\"),!1}function oDt(e,t,r){if(!t||typeof t!=\"string\")return!1;var n=nDt[e](t),i,a,o;if(n){if(e===\"USA-states\")for(i=[],o=0;o<r.length;o++)a=r[o],a.properties&&a.properties.gu&&a.properties.gu===\"USA\"&&i.push(a);else i=r;for(o=0;o<i.length;o++)if(a=i[o],a.id===n)return a;W5.log([\"Location with id\",n,\"does not have a matching topojson feature at this resolution.\"].join(\" \"))}return!1}function sDt(e){var t=e.geometry,r=t.coordinates,n=e.id,i=[],a,o,s,l;function u(c){for(var f=0;f<c.length-1;f++)if(c[f][0]>0&&c[f+1][0]<0)return f;return null}switch(n===\"RUS\"||n===\"FJI\"?a=function(c){var f;if(u(c)===null)f=c;else for(f=new Array(c.length),l=0;l<c.length;l++)f[l]=[c[l][0]<0?c[l][0]+360:c[l][0],c[l][1]];i.push(_z.tester(f))}:n===\"ATA\"?a=function(c){var f=u(c);if(f===null)return i.push(_z.tester(c));var h=new Array(c.length+1),d=0;for(l=0;l<c.length;l++)l>f?h[d++]=[c[l][0]+360,c[l][1]]:l===f?(h[d++]=c[l],h[d++]=[c[l][0],-90]):h[d++]=c[l];var v=_z.tester(h);v.pts.pop(),i.push(v)}:a=function(c){i.push(_z.tester(c))},t.type){case\"MultiPolygon\":for(o=0;o<r.length;o++)for(s=0;s<r[o].length;s++)a(r[o][s]);break;case\"Polygon\":for(o=0;o<r.length;o++)a(r[o]);break}return i}function iRe(e){var t=e.geojson,r=window.PlotlyGeoAssets||{},n=typeof t==\"string\"?r[t]:t;return rDt(n)?n:(W5.error(\"Oops ... something went wrong when fetching \"+t),!1)}function lDt(e){var t=e[0].trace,r=iRe(t);if(!r)return!1;var n={},i=[],a;for(a=0;a<t._length;a++){var o=e[a];(o.loc||o.loc===0)&&(n[o.loc]=o)}function s(c){var f=iDt(c,t.featureidkey||\"id\").get(),h=n[f];if(h){var d=c.geometry;if(d.type===\"Polygon\"||d.type===\"MultiPolygon\"){var v={type:\"Feature\",id:f,geometry:d,properties:{}};v.geometry.coordinates.length>0?v.properties.ct=uDt(v):v.properties.ct=[NaN,NaN],h.fIn=c,h.fOut=v,i.push(v)}else W5.log([\"Location\",h.loc,\"does not have a valid GeoJSON geometry.\",\"Traces with locationmode *geojson-id* only support\",\"*Polygon* and *MultiPolygon* geometries.\"].join(\" \"))}delete n[f]}switch(r.type){case\"FeatureCollection\":var l=r.features;for(a=0;a<l.length;a++)s(l[a]);break;case\"Feature\":s(r);break;default:return W5.warn([\"Invalid GeoJSON type\",(r.type||\"none\")+\".\",\"Traces with locationmode *geojson-id* only support\",\"*FeatureCollection* and *Feature* types.\"].join(\" \")),!1}for(var u in n)W5.log([\"Location *\"+u+\"*\",\"does not have a matching feature with id-key\",\"*\"+t.featureidkey+\"*.\"].join(\" \"));return i}function uDt(e){var t=e.geometry,r;if(t.type===\"MultiPolygon\")for(var n=t.coordinates,i=0,a=0;a<n.length;a++){var o={type:\"Polygon\",coordinates:n[a]},s=QRt(o);s>i&&(i=s,r=o)}else r=t;return eDt(r).geometry.coordinates}function cDt(e){var t=window.PlotlyGeoAssets||{},r=[];function n(l){return new Promise(function(u,c){$Rt.json(l,function(f,h){if(f){delete t[l];var d=f.status===404?'GeoJSON at URL \"'+l+'\" does not exist.':\"Unexpected error while fetching from \"+l;return c(new Error(d))}return t[l]=h,u(h)})})}function i(l){return new Promise(function(u,c){var f=0,h=setInterval(function(){if(t[l]&&t[l]!==\"pending\")return clearInterval(h),u(t[l]);if(f>100)return clearInterval(h),c(\"Unexpected error while fetching from \"+l);f++},50)})}for(var a=0;a<e.length;a++){var o=e[a][0].trace,s=o.geojson;typeof s==\"string\"&&(t[s]?t[s]===\"pending\"&&r.push(i(s)):(t[s]=\"pending\",r.push(n(s))))}return r}function fDt(e){return tDt(e)}nRe.exports={locationToFeature:oDt,feature2polygons:sDt,getTraceGeojson:iRe,extractTraceFeature:lDt,fetchTraceGeoData:cDt,computeBbox:fDt}});var pX=ye((Cpr,sRe)=>{\"use strict\";var hDt=xa(),dDt=ao(),aRe=va(),oRe=op(),vDt=oRe.stylePoints,pDt=oRe.styleText;sRe.exports=function(t,r){r&&gDt(t,r)};function gDt(e,t){var r=t[0].trace,n=t[0].node3;n.style(\"opacity\",t[0].trace.opacity),vDt(n,r,e),pDt(n,r,e),n.selectAll(\"path.js-line\").style(\"fill\",\"none\").each(function(i){var a=hDt.select(this),o=i.trace,s=o.line||{};a.call(aRe.stroke,s.color).call(dDt.dashLine,s.dash||\"\",s.width||0),o.fill!==\"none\"&&a.call(aRe.fill,o.fillcolor)})}});var _X=ye((Lpr,cRe)=>{\"use strict\";var lRe=xa(),bz=Mr(),mDt=cz().getTopojsonFeatures,gX=rx(),xz=nx(),uRe=wg().findExtremes,yX=es().BADNUM,yDt=q0().calcMarkerSize,mX=lu(),_Dt=pX();function xDt(e,t,r){var n=t.layers.frontplot.select(\".scatterlayer\"),i=bz.makeTraceGroups(n,r,\"trace scattergeo\");function a(o,s){o.lonlat[0]===yX&&lRe.select(s).remove()}i.selectAll(\"*\").remove(),i.each(function(o){var s=lRe.select(this),l=o[0].trace;if(mX.hasLines(l)||l.fill!==\"none\"){var u=gX.calcTraceToLineCoords(o),c=l.fill!==\"none\"?gX.makePolygon(u):gX.makeLine(u);s.selectAll(\"path.js-line\").data([{geojson:c,trace:l}]).enter().append(\"path\").classed(\"js-line\",!0).style(\"stroke-miterlimit\",2)}mX.hasMarkers(l)&&s.selectAll(\"path.point\").data(bz.identity).enter().append(\"path\").classed(\"point\",!0).each(function(f){a(f,this)}),mX.hasText(l)&&s.selectAll(\"g\").data(bz.identity).enter().append(\"g\").append(\"text\").each(function(f){a(f,this)}),_Dt(e,o)})}function bDt(e,t){var r=e[0].trace,n=t[r.geo],i=n._subplot,a=r._length,o,s;if(bz.isArrayOrTypedArray(r.locations)){var l=r.locationmode,u=l===\"geojson-id\"?xz.extractTraceFeature(e):mDt(r,i.topojson);for(o=0;o<a;o++){s=e[o];var c=l===\"geojson-id\"?s.fOut:xz.locationToFeature(l,s.loc,u);s.lonlat=c?c.properties.ct:[yX,yX]}}var f={padded:!0},h,d;if(n.fitbounds===\"geojson\"&&r.locationmode===\"geojson-id\"){var v=xz.computeBbox(xz.getTraceGeojson(r));h=[v[0],v[2]],d=[v[1],v[3]]}else{for(h=new Array(a),d=new Array(a),o=0;o<a;o++)s=e[o],h[o]=s.lonlat[0],d[o]=s.lonlat[1];f.ppad=yDt(r,a)}r._extremes.lon=uRe(n.lonaxis._ax,h,f),r._extremes.lat=uRe(n.lataxis._ax,d,f)}cRe.exports={calcGeoJSON:bDt,plot:xDt}});var hRe=ye((Ppr,fRe)=>{\"use strict\";var wDt=Nc(),TDt=es().BADNUM,ADt=oT(),SDt=Mr().fillText,MDt=H2();fRe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.xa,s=t.ya,l=t.subplot,u=l.projection.isLonLatOverEdges,c=l.project;function f(E){var k=E.lonlat;if(k[0]===TDt||u(k))return 1/0;var A=c(k),L=c([r,n]),_=Math.abs(A[0]-L[0]),C=Math.abs(A[1]-L[1]),M=Math.max(3,E.mrc||0);return Math.max(Math.sqrt(_*_+C*C)-M,1-3/M)}if(wDt.getClosest(i,f,t),t.index!==!1){var h=i[t.index],d=h.lonlat,v=[o.c2p(d),s.c2p(d)],x=h.mrc||1;t.x0=v[0]-x,t.x1=v[0]+x,t.y0=v[1]-x,t.y1=v[1]+x,t.loc=h.loc,t.lon=d[0],t.lat=d[1];var b={};b[a.geo]={_subplot:l};var p=a._module.formatLabels(h,a,b);return t.lonLabel=p.lonLabel,t.latLabel=p.latLabel,t.color=ADt(a,h),t.extraText=EDt(a,h,t,i[0].t.labels),t.hovertemplate=a.hovertemplate,[t]}};function EDt(e,t,r,n){if(e.hovertemplate)return;var i=t.hi||e.hoverinfo,a=i===\"all\"?MDt.hoverinfo.flags:i.split(\"+\"),o=a.indexOf(\"location\")!==-1&&Array.isArray(e.locations),s=a.indexOf(\"lon\")!==-1,l=a.indexOf(\"lat\")!==-1,u=a.indexOf(\"text\")!==-1,c=[];function f(h){return h+\"\\xB0\"}return o?c.push(t.loc):s&&l?c.push(\"(\"+f(r.latLabel)+\", \"+f(r.lonLabel)+\")\"):s?c.push(n.lon+f(r.lonLabel)):l&&c.push(n.lat+f(r.latLabel)),u&&SDt(t,e,c),c.join(\"<br>\")}});var vRe=ye((Ipr,dRe)=>{\"use strict\";dRe.exports=function(t,r,n,i,a){t.lon=r.lon,t.lat=r.lat,t.location=r.loc?r.loc:null;var o=i[a];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t}});var mRe=ye((Rpr,gRe)=>{\"use strict\";var pRe=lu(),kDt=es().BADNUM;gRe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l,u,c,f,h,d=!pRe.hasMarkers(s)&&!pRe.hasText(s);if(d)return[];if(r===!1)for(h=0;h<n.length;h++)n[h].selected=0;else for(h=0;h<n.length;h++)l=n[h],u=l.lonlat,u[0]!==kDt&&(c=i.c2p(u),f=a.c2p(u),r.contains([c,f],null,h,t)?(o.push({pointNumber:h,lon:u[0],lat:u[1]}),l.selected=1):l.selected=0);return o}});var $E=ye((wz,yRe)=>{(function(e,t){t(typeof wz==\"object\"&&typeof yRe!=\"undefined\"?wz:e.d3=e.d3||{})})(wz,function(e){\"use strict\";function t(Ee,Ae){return Ee<Ae?-1:Ee>Ae?1:Ee>=Ae?0:NaN}function r(Ee){return Ee.length===1&&(Ee=n(Ee)),{left:function(Ae,ze,Ce,me){for(Ce==null&&(Ce=0),me==null&&(me=Ae.length);Ce<me;){var Re=Ce+me>>>1;Ee(Ae[Re],ze)<0?Ce=Re+1:me=Re}return Ce},right:function(Ae,ze,Ce,me){for(Ce==null&&(Ce=0),me==null&&(me=Ae.length);Ce<me;){var Re=Ce+me>>>1;Ee(Ae[Re],ze)>0?me=Re:Ce=Re+1}return Ce}}}function n(Ee){return function(Ae,ze){return t(Ee(Ae),ze)}}var i=r(t),a=i.right,o=i.left;function s(Ee,Ae){Ae==null&&(Ae=l);for(var ze=0,Ce=Ee.length-1,me=Ee[0],Re=new Array(Ce<0?0:Ce);ze<Ce;)Re[ze]=Ae(me,me=Ee[++ze]);return Re}function l(Ee,Ae){return[Ee,Ae]}function u(Ee,Ae,ze){var Ce=Ee.length,me=Ae.length,Re=new Array(Ce*me),ce,Ge,nt,ct;for(ze==null&&(ze=l),ce=nt=0;ce<Ce;++ce)for(ct=Ee[ce],Ge=0;Ge<me;++Ge,++nt)Re[nt]=ze(ct,Ae[Ge]);return Re}function c(Ee,Ae){return Ae<Ee?-1:Ae>Ee?1:Ae>=Ee?0:NaN}function f(Ee){return Ee===null?NaN:+Ee}function h(Ee,Ae){var ze=Ee.length,Ce=0,me=-1,Re=0,ce,Ge,nt=0;if(Ae==null)for(;++me<ze;)isNaN(ce=f(Ee[me]))||(Ge=ce-Re,Re+=Ge/++Ce,nt+=Ge*(ce-Re));else for(;++me<ze;)isNaN(ce=f(Ae(Ee[me],me,Ee)))||(Ge=ce-Re,Re+=Ge/++Ce,nt+=Ge*(ce-Re));if(Ce>1)return nt/(Ce-1)}function d(Ee,Ae){var ze=h(Ee,Ae);return ze&&Math.sqrt(ze)}function v(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re,ce;if(Ae==null){for(;++Ce<ze;)if((me=Ee[Ce])!=null&&me>=me)for(Re=ce=me;++Ce<ze;)(me=Ee[Ce])!=null&&(Re>me&&(Re=me),ce<me&&(ce=me))}else for(;++Ce<ze;)if((me=Ae(Ee[Ce],Ce,Ee))!=null&&me>=me)for(Re=ce=me;++Ce<ze;)(me=Ae(Ee[Ce],Ce,Ee))!=null&&(Re>me&&(Re=me),ce<me&&(ce=me));return[Re,ce]}var x=Array.prototype,b=x.slice,p=x.map;function E(Ee){return function(){return Ee}}function k(Ee){return Ee}function A(Ee,Ae,ze){Ee=+Ee,Ae=+Ae,ze=(me=arguments.length)<2?(Ae=Ee,Ee=0,1):me<3?1:+ze;for(var Ce=-1,me=Math.max(0,Math.ceil((Ae-Ee)/ze))|0,Re=new Array(me);++Ce<me;)Re[Ce]=Ee+Ce*ze;return Re}var L=Math.sqrt(50),_=Math.sqrt(10),C=Math.sqrt(2);function M(Ee,Ae,ze){var Ce,me=-1,Re,ce,Ge;if(Ae=+Ae,Ee=+Ee,ze=+ze,Ee===Ae&&ze>0)return[Ee];if((Ce=Ae<Ee)&&(Re=Ee,Ee=Ae,Ae=Re),(Ge=g(Ee,Ae,ze))===0||!isFinite(Ge))return[];if(Ge>0)for(Ee=Math.ceil(Ee/Ge),Ae=Math.floor(Ae/Ge),ce=new Array(Re=Math.ceil(Ae-Ee+1));++me<Re;)ce[me]=(Ee+me)*Ge;else for(Ee=Math.floor(Ee*Ge),Ae=Math.ceil(Ae*Ge),ce=new Array(Re=Math.ceil(Ee-Ae+1));++me<Re;)ce[me]=(Ee-me)/Ge;return Ce&&ce.reverse(),ce}function g(Ee,Ae,ze){var Ce=(Ae-Ee)/Math.max(0,ze),me=Math.floor(Math.log(Ce)/Math.LN10),Re=Ce/Math.pow(10,me);return me>=0?(Re>=L?10:Re>=_?5:Re>=C?2:1)*Math.pow(10,me):-Math.pow(10,-me)/(Re>=L?10:Re>=_?5:Re>=C?2:1)}function P(Ee,Ae,ze){var Ce=Math.abs(Ae-Ee)/Math.max(0,ze),me=Math.pow(10,Math.floor(Math.log(Ce)/Math.LN10)),Re=Ce/me;return Re>=L?me*=10:Re>=_?me*=5:Re>=C&&(me*=2),Ae<Ee?-me:me}function T(Ee){return Math.ceil(Math.log(Ee.length)/Math.LN2)+1}function F(){var Ee=k,Ae=v,ze=T;function Ce(me){var Re,ce=me.length,Ge,nt=new Array(ce);for(Re=0;Re<ce;++Re)nt[Re]=Ee(me[Re],Re,me);var ct=Ae(nt),qt=ct[0],rt=ct[1],ot=ze(nt,qt,rt);Array.isArray(ot)||(ot=P(qt,rt,ot),ot=A(Math.ceil(qt/ot)*ot,rt,ot));for(var Rt=ot.length;ot[0]<=qt;)ot.shift(),--Rt;for(;ot[Rt-1]>rt;)ot.pop(),--Rt;var kt=new Array(Rt+1),Ct;for(Re=0;Re<=Rt;++Re)Ct=kt[Re]=[],Ct.x0=Re>0?ot[Re-1]:qt,Ct.x1=Re<Rt?ot[Re]:rt;for(Re=0;Re<ce;++Re)Ge=nt[Re],qt<=Ge&&Ge<=rt&&kt[a(ot,Ge,0,Rt)].push(me[Re]);return kt}return Ce.value=function(me){return arguments.length?(Ee=typeof me==\"function\"?me:E(me),Ce):Ee},Ce.domain=function(me){return arguments.length?(Ae=typeof me==\"function\"?me:E([me[0],me[1]]),Ce):Ae},Ce.thresholds=function(me){return arguments.length?(ze=typeof me==\"function\"?me:Array.isArray(me)?E(b.call(me)):E(me),Ce):ze},Ce}function q(Ee,Ae,ze){if(ze==null&&(ze=f),!!(Ce=Ee.length)){if((Ae=+Ae)<=0||Ce<2)return+ze(Ee[0],0,Ee);if(Ae>=1)return+ze(Ee[Ce-1],Ce-1,Ee);var Ce,me=(Ce-1)*Ae,Re=Math.floor(me),ce=+ze(Ee[Re],Re,Ee),Ge=+ze(Ee[Re+1],Re+1,Ee);return ce+(Ge-ce)*(me-Re)}}function V(Ee,Ae,ze){return Ee=p.call(Ee,f).sort(t),Math.ceil((ze-Ae)/(2*(q(Ee,.75)-q(Ee,.25))*Math.pow(Ee.length,-1/3)))}function H(Ee,Ae,ze){return Math.ceil((ze-Ae)/(3.5*d(Ee)*Math.pow(Ee.length,-1/3)))}function X(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re;if(Ae==null){for(;++Ce<ze;)if((me=Ee[Ce])!=null&&me>=me)for(Re=me;++Ce<ze;)(me=Ee[Ce])!=null&&me>Re&&(Re=me)}else for(;++Ce<ze;)if((me=Ae(Ee[Ce],Ce,Ee))!=null&&me>=me)for(Re=me;++Ce<ze;)(me=Ae(Ee[Ce],Ce,Ee))!=null&&me>Re&&(Re=me);return Re}function G(Ee,Ae){var ze=Ee.length,Ce=ze,me=-1,Re,ce=0;if(Ae==null)for(;++me<ze;)isNaN(Re=f(Ee[me]))?--Ce:ce+=Re;else for(;++me<ze;)isNaN(Re=f(Ae(Ee[me],me,Ee)))?--Ce:ce+=Re;if(Ce)return ce/Ce}function N(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re=[];if(Ae==null)for(;++Ce<ze;)isNaN(me=f(Ee[Ce]))||Re.push(me);else for(;++Ce<ze;)isNaN(me=f(Ae(Ee[Ce],Ce,Ee)))||Re.push(me);return q(Re.sort(t),.5)}function W(Ee){for(var Ae=Ee.length,ze,Ce=-1,me=0,Re,ce;++Ce<Ae;)me+=Ee[Ce].length;for(Re=new Array(me);--Ae>=0;)for(ce=Ee[Ae],ze=ce.length;--ze>=0;)Re[--me]=ce[ze];return Re}function re(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re;if(Ae==null){for(;++Ce<ze;)if((me=Ee[Ce])!=null&&me>=me)for(Re=me;++Ce<ze;)(me=Ee[Ce])!=null&&Re>me&&(Re=me)}else for(;++Ce<ze;)if((me=Ae(Ee[Ce],Ce,Ee))!=null&&me>=me)for(Re=me;++Ce<ze;)(me=Ae(Ee[Ce],Ce,Ee))!=null&&Re>me&&(Re=me);return Re}function ae(Ee,Ae){for(var ze=Ae.length,Ce=new Array(ze);ze--;)Ce[ze]=Ee[Ae[ze]];return Ce}function _e(Ee,Ae){if(ze=Ee.length){var ze,Ce=0,me=0,Re,ce=Ee[me];for(Ae==null&&(Ae=t);++Ce<ze;)(Ae(Re=Ee[Ce],ce)<0||Ae(ce,ce)!==0)&&(ce=Re,me=Ce);if(Ae(ce,ce)===0)return me}}function Me(Ee,Ae,ze){for(var Ce=(ze==null?Ee.length:ze)-(Ae=Ae==null?0:+Ae),me,Re;Ce;)Re=Math.random()*Ce--|0,me=Ee[Ce+Ae],Ee[Ce+Ae]=Ee[Re+Ae],Ee[Re+Ae]=me;return Ee}function ke(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re=0;if(Ae==null)for(;++Ce<ze;)(me=+Ee[Ce])&&(Re+=me);else for(;++Ce<ze;)(me=+Ae(Ee[Ce],Ce,Ee))&&(Re+=me);return Re}function ge(Ee){if(!(Re=Ee.length))return[];for(var Ae=-1,ze=re(Ee,ie),Ce=new Array(ze);++Ae<ze;)for(var me=-1,Re,ce=Ce[Ae]=new Array(Re);++me<Re;)ce[me]=Ee[me][Ae];return Ce}function ie(Ee){return Ee.length}function Te(){return ge(arguments)}e.bisect=a,e.bisectRight=a,e.bisectLeft=o,e.ascending=t,e.bisector=r,e.cross=u,e.descending=c,e.deviation=d,e.extent=v,e.histogram=F,e.thresholdFreedmanDiaconis=V,e.thresholdScott=H,e.thresholdSturges=T,e.max=X,e.mean=G,e.median=N,e.merge=W,e.min=re,e.pairs=s,e.permute=ae,e.quantile=q,e.range=A,e.scan=_e,e.shuffle=Me,e.sum=ke,e.ticks=M,e.tickIncrement=g,e.tickStep=P,e.transpose=ge,e.variance=h,e.zip=Te,Object.defineProperty(e,\"__esModule\",{value:!0})})});var xX=ye((Tz,_Re)=>{(function(e,t){typeof Tz==\"object\"&&typeof _Re!=\"undefined\"?t(Tz,$E()):(e=e||self,t(e.d3=e.d3||{},e.d3))})(Tz,function(e,t){\"use strict\";function r(){return new n}function n(){this.reset()}n.prototype={constructor:n,reset:function(){this.s=this.t=0},add:function(gt){a(i,gt,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(gt,Bt,wr){var vr=gt.s=Bt+wr,Ur=vr-Bt,fi=vr-Ur;gt.t=Bt-fi+(wr-Ur)}var o=1e-6,s=1e-12,l=Math.PI,u=l/2,c=l/4,f=l*2,h=180/l,d=l/180,v=Math.abs,x=Math.atan,b=Math.atan2,p=Math.cos,E=Math.ceil,k=Math.exp,A=Math.log,L=Math.pow,_=Math.sin,C=Math.sign||function(gt){return gt>0?1:gt<0?-1:0},M=Math.sqrt,g=Math.tan;function P(gt){return gt>1?0:gt<-1?l:Math.acos(gt)}function T(gt){return gt>1?u:gt<-1?-u:Math.asin(gt)}function F(gt){return(gt=_(gt/2))*gt}function q(){}function V(gt,Bt){gt&&X.hasOwnProperty(gt.type)&&X[gt.type](gt,Bt)}var H={Feature:function(gt,Bt){V(gt.geometry,Bt)},FeatureCollection:function(gt,Bt){for(var wr=gt.features,vr=-1,Ur=wr.length;++vr<Ur;)V(wr[vr].geometry,Bt)}},X={Sphere:function(gt,Bt){Bt.sphere()},Point:function(gt,Bt){gt=gt.coordinates,Bt.point(gt[0],gt[1],gt[2])},MultiPoint:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)gt=wr[vr],Bt.point(gt[0],gt[1],gt[2])},LineString:function(gt,Bt){G(gt.coordinates,Bt,0)},MultiLineString:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)G(wr[vr],Bt,0)},Polygon:function(gt,Bt){N(gt.coordinates,Bt)},MultiPolygon:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)N(wr[vr],Bt)},GeometryCollection:function(gt,Bt){for(var wr=gt.geometries,vr=-1,Ur=wr.length;++vr<Ur;)V(wr[vr],Bt)}};function G(gt,Bt,wr){var vr=-1,Ur=gt.length-wr,fi;for(Bt.lineStart();++vr<Ur;)fi=gt[vr],Bt.point(fi[0],fi[1],fi[2]);Bt.lineEnd()}function N(gt,Bt){var wr=-1,vr=gt.length;for(Bt.polygonStart();++wr<vr;)G(gt[wr],Bt,1);Bt.polygonEnd()}function W(gt,Bt){gt&&H.hasOwnProperty(gt.type)?H[gt.type](gt,Bt):V(gt,Bt)}var re=r(),ae=r(),_e,Me,ke,ge,ie,Te={point:q,lineStart:q,lineEnd:q,polygonStart:function(){re.reset(),Te.lineStart=Ee,Te.lineEnd=Ae},polygonEnd:function(){var gt=+re;ae.add(gt<0?f+gt:gt),this.lineStart=this.lineEnd=this.point=q},sphere:function(){ae.add(f)}};function Ee(){Te.point=ze}function Ae(){Ce(_e,Me)}function ze(gt,Bt){Te.point=Ce,_e=gt,Me=Bt,gt*=d,Bt*=d,ke=gt,ge=p(Bt=Bt/2+c),ie=_(Bt)}function Ce(gt,Bt){gt*=d,Bt*=d,Bt=Bt/2+c;var wr=gt-ke,vr=wr>=0?1:-1,Ur=vr*wr,fi=p(Bt),xi=_(Bt),Fi=ie*xi,Xi=ge*fi+Fi*p(Ur),hn=Fi*vr*_(Ur);re.add(b(hn,Xi)),ke=gt,ge=fi,ie=xi}function me(gt){return ae.reset(),W(gt,Te),ae*2}function Re(gt){return[b(gt[1],gt[0]),T(gt[2])]}function ce(gt){var Bt=gt[0],wr=gt[1],vr=p(wr);return[vr*p(Bt),vr*_(Bt),_(wr)]}function Ge(gt,Bt){return gt[0]*Bt[0]+gt[1]*Bt[1]+gt[2]*Bt[2]}function nt(gt,Bt){return[gt[1]*Bt[2]-gt[2]*Bt[1],gt[2]*Bt[0]-gt[0]*Bt[2],gt[0]*Bt[1]-gt[1]*Bt[0]]}function ct(gt,Bt){gt[0]+=Bt[0],gt[1]+=Bt[1],gt[2]+=Bt[2]}function qt(gt,Bt){return[gt[0]*Bt,gt[1]*Bt,gt[2]*Bt]}function rt(gt){var Bt=M(gt[0]*gt[0]+gt[1]*gt[1]+gt[2]*gt[2]);gt[0]/=Bt,gt[1]/=Bt,gt[2]/=Bt}var ot,Rt,kt,Ct,Yt,xr,er,Ke,xt=r(),bt,Lt,St={point:Et,lineStart:Ht,lineEnd:$t,polygonStart:function(){St.point=fr,St.lineStart=_r,St.lineEnd=Br,xt.reset(),Te.polygonStart()},polygonEnd:function(){Te.polygonEnd(),St.point=Et,St.lineStart=Ht,St.lineEnd=$t,re<0?(ot=-(kt=180),Rt=-(Ct=90)):xt>o?Ct=90:xt<-o&&(Rt=-90),Lt[0]=ot,Lt[1]=kt},sphere:function(){ot=-(kt=180),Rt=-(Ct=90)}};function Et(gt,Bt){bt.push(Lt=[ot=gt,kt=gt]),Bt<Rt&&(Rt=Bt),Bt>Ct&&(Ct=Bt)}function dt(gt,Bt){var wr=ce([gt*d,Bt*d]);if(Ke){var vr=nt(Ke,wr),Ur=[vr[1],-vr[0],0],fi=nt(Ur,vr);rt(fi),fi=Re(fi);var xi=gt-Yt,Fi=xi>0?1:-1,Xi=fi[0]*h*Fi,hn,Ti=v(xi)>180;Ti^(Fi*Yt<Xi&&Xi<Fi*gt)?(hn=fi[1]*h,hn>Ct&&(Ct=hn)):(Xi=(Xi+360)%360-180,Ti^(Fi*Yt<Xi&&Xi<Fi*gt)?(hn=-fi[1]*h,hn<Rt&&(Rt=hn)):(Bt<Rt&&(Rt=Bt),Bt>Ct&&(Ct=Bt))),Ti?gt<Yt?Or(ot,gt)>Or(ot,kt)&&(kt=gt):Or(gt,kt)>Or(ot,kt)&&(ot=gt):kt>=ot?(gt<ot&&(ot=gt),gt>kt&&(kt=gt)):gt>Yt?Or(ot,gt)>Or(ot,kt)&&(kt=gt):Or(gt,kt)>Or(ot,kt)&&(ot=gt)}else bt.push(Lt=[ot=gt,kt=gt]);Bt<Rt&&(Rt=Bt),Bt>Ct&&(Ct=Bt),Ke=wr,Yt=gt}function Ht(){St.point=dt}function $t(){Lt[0]=ot,Lt[1]=kt,St.point=Et,Ke=null}function fr(gt,Bt){if(Ke){var wr=gt-Yt;xt.add(v(wr)>180?wr+(wr>0?360:-360):wr)}else xr=gt,er=Bt;Te.point(gt,Bt),dt(gt,Bt)}function _r(){Te.lineStart()}function Br(){fr(xr,er),Te.lineEnd(),v(xt)>o&&(ot=-(kt=180)),Lt[0]=ot,Lt[1]=kt,Ke=null}function Or(gt,Bt){return(Bt-=gt)<0?Bt+360:Bt}function Nr(gt,Bt){return gt[0]-Bt[0]}function ut(gt,Bt){return gt[0]<=gt[1]?gt[0]<=Bt&&Bt<=gt[1]:Bt<gt[0]||gt[1]<Bt}function Ne(gt){var Bt,wr,vr,Ur,fi,xi,Fi;if(Ct=kt=-(ot=Rt=1/0),bt=[],W(gt,St),wr=bt.length){for(bt.sort(Nr),Bt=1,vr=bt[0],fi=[vr];Bt<wr;++Bt)Ur=bt[Bt],ut(vr,Ur[0])||ut(vr,Ur[1])?(Or(vr[0],Ur[1])>Or(vr[0],vr[1])&&(vr[1]=Ur[1]),Or(Ur[0],vr[1])>Or(vr[0],vr[1])&&(vr[0]=Ur[0])):fi.push(vr=Ur);for(xi=-1/0,wr=fi.length-1,Bt=0,vr=fi[wr];Bt<=wr;vr=Ur,++Bt)Ur=fi[Bt],(Fi=Or(vr[1],Ur[0]))>xi&&(xi=Fi,ot=Ur[0],kt=vr[1])}return bt=Lt=null,ot===1/0||Rt===1/0?[[NaN,NaN],[NaN,NaN]]:[[ot,Rt],[kt,Ct]]}var Ye,Ve,Xe,ht,Le,xe,Se,lt,Gt,Vt,ar,Qr,ai,jr,ri,bi,nn={sphere:q,point:Wi,lineStart:_n,lineEnd:Wn,polygonStart:function(){nn.lineStart=It,nn.lineEnd=ft},polygonEnd:function(){nn.lineStart=_n,nn.lineEnd=Wn}};function Wi(gt,Bt){gt*=d,Bt*=d;var wr=p(Bt);Ni(wr*p(gt),wr*_(gt),_(Bt))}function Ni(gt,Bt,wr){++Ye,Xe+=(gt-Xe)/Ye,ht+=(Bt-ht)/Ye,Le+=(wr-Le)/Ye}function _n(){nn.point=$i}function $i(gt,Bt){gt*=d,Bt*=d;var wr=p(Bt);jr=wr*p(gt),ri=wr*_(gt),bi=_(Bt),nn.point=zn,Ni(jr,ri,bi)}function zn(gt,Bt){gt*=d,Bt*=d;var wr=p(Bt),vr=wr*p(gt),Ur=wr*_(gt),fi=_(Bt),xi=b(M((xi=ri*fi-bi*Ur)*xi+(xi=bi*vr-jr*fi)*xi+(xi=jr*Ur-ri*vr)*xi),jr*vr+ri*Ur+bi*fi);Ve+=xi,xe+=xi*(jr+(jr=vr)),Se+=xi*(ri+(ri=Ur)),lt+=xi*(bi+(bi=fi)),Ni(jr,ri,bi)}function Wn(){nn.point=Wi}function It(){nn.point=jt}function ft(){Zt(Qr,ai),nn.point=Wi}function jt(gt,Bt){Qr=gt,ai=Bt,gt*=d,Bt*=d,nn.point=Zt;var wr=p(Bt);jr=wr*p(gt),ri=wr*_(gt),bi=_(Bt),Ni(jr,ri,bi)}function Zt(gt,Bt){gt*=d,Bt*=d;var wr=p(Bt),vr=wr*p(gt),Ur=wr*_(gt),fi=_(Bt),xi=ri*fi-bi*Ur,Fi=bi*vr-jr*fi,Xi=jr*Ur-ri*vr,hn=M(xi*xi+Fi*Fi+Xi*Xi),Ti=T(hn),qi=hn&&-Ti/hn;Gt+=qi*xi,Vt+=qi*Fi,ar+=qi*Xi,Ve+=Ti,xe+=Ti*(jr+(jr=vr)),Se+=Ti*(ri+(ri=Ur)),lt+=Ti*(bi+(bi=fi)),Ni(jr,ri,bi)}function yr(gt){Ye=Ve=Xe=ht=Le=xe=Se=lt=Gt=Vt=ar=0,W(gt,nn);var Bt=Gt,wr=Vt,vr=ar,Ur=Bt*Bt+wr*wr+vr*vr;return Ur<s&&(Bt=xe,wr=Se,vr=lt,Ve<o&&(Bt=Xe,wr=ht,vr=Le),Ur=Bt*Bt+wr*wr+vr*vr,Ur<s)?[NaN,NaN]:[b(wr,Bt)*h,T(vr/M(Ur))*h]}function Fr(gt){return function(){return gt}}function Zr(gt,Bt){function wr(vr,Ur){return vr=gt(vr,Ur),Bt(vr[0],vr[1])}return gt.invert&&Bt.invert&&(wr.invert=function(vr,Ur){return vr=Bt.invert(vr,Ur),vr&>.invert(vr[0],vr[1])}),wr}function Vr(gt,Bt){return[v(gt)>l?gt+Math.round(-gt/f)*f:gt,Bt]}Vr.invert=Vr;function gi(gt,Bt,wr){return(gt%=f)?Bt||wr?Zr(Mi(gt),Pi(Bt,wr)):Mi(gt):Bt||wr?Pi(Bt,wr):Vr}function Si(gt){return function(Bt,wr){return Bt+=gt,[Bt>l?Bt-f:Bt<-l?Bt+f:Bt,wr]}}function Mi(gt){var Bt=Si(gt);return Bt.invert=Si(-gt),Bt}function Pi(gt,Bt){var wr=p(gt),vr=_(gt),Ur=p(Bt),fi=_(Bt);function xi(Fi,Xi){var hn=p(Xi),Ti=p(Fi)*hn,qi=_(Fi)*hn,Ii=_(Xi),mi=Ii*wr+Ti*vr;return[b(qi*Ur-mi*fi,Ti*wr-Ii*vr),T(mi*Ur+qi*fi)]}return xi.invert=function(Fi,Xi){var hn=p(Xi),Ti=p(Fi)*hn,qi=_(Fi)*hn,Ii=_(Xi),mi=Ii*Ur-qi*fi;return[b(qi*Ur+Ii*fi,Ti*wr+mi*vr),T(mi*wr-Ti*vr)]},xi}function Gi(gt){gt=gi(gt[0]*d,gt[1]*d,gt.length>2?gt[2]*d:0);function Bt(wr){return wr=gt(wr[0]*d,wr[1]*d),wr[0]*=h,wr[1]*=h,wr}return Bt.invert=function(wr){return wr=gt.invert(wr[0]*d,wr[1]*d),wr[0]*=h,wr[1]*=h,wr},Bt}function Ki(gt,Bt,wr,vr,Ur,fi){if(wr){var xi=p(Bt),Fi=_(Bt),Xi=vr*wr;Ur==null?(Ur=Bt+vr*f,fi=Bt-Xi/2):(Ur=ka(xi,Ur),fi=ka(xi,fi),(vr>0?Ur<fi:Ur>fi)&&(Ur+=vr*f));for(var hn,Ti=Ur;vr>0?Ti>fi:Ti<fi;Ti-=Xi)hn=Re([xi,-Fi*p(Ti),-Fi*_(Ti)]),gt.point(hn[0],hn[1])}}function ka(gt,Bt){Bt=ce(Bt),Bt[0]-=gt,rt(Bt);var wr=P(-Bt[1]);return((-Bt[2]<0?-wr:wr)+f-o)%f}function jn(){var gt=Fr([0,0]),Bt=Fr(90),wr=Fr(6),vr,Ur,fi={point:xi};function xi(Xi,hn){vr.push(Xi=Ur(Xi,hn)),Xi[0]*=h,Xi[1]*=h}function Fi(){var Xi=gt.apply(this,arguments),hn=Bt.apply(this,arguments)*d,Ti=wr.apply(this,arguments)*d;return vr=[],Ur=gi(-Xi[0]*d,-Xi[1]*d,0).invert,Ki(fi,hn,Ti,1),Xi={type:\"Polygon\",coordinates:[vr]},vr=Ur=null,Xi}return Fi.center=function(Xi){return arguments.length?(gt=typeof Xi==\"function\"?Xi:Fr([+Xi[0],+Xi[1]]),Fi):gt},Fi.radius=function(Xi){return arguments.length?(Bt=typeof Xi==\"function\"?Xi:Fr(+Xi),Fi):Bt},Fi.precision=function(Xi){return arguments.length?(wr=typeof Xi==\"function\"?Xi:Fr(+Xi),Fi):wr},Fi}function la(){var gt=[],Bt;return{point:function(wr,vr,Ur){Bt.push([wr,vr,Ur])},lineStart:function(){gt.push(Bt=[])},lineEnd:q,rejoin:function(){gt.length>1&>.push(gt.pop().concat(gt.shift()))},result:function(){var wr=gt;return gt=[],Bt=null,wr}}}function Fa(gt,Bt){return v(gt[0]-Bt[0])<o&&v(gt[1]-Bt[1])<o}function Ra(gt,Bt,wr,vr){this.x=gt,this.z=Bt,this.o=wr,this.e=vr,this.v=!1,this.n=this.p=null}function jo(gt,Bt,wr,vr,Ur){var fi=[],xi=[],Fi,Xi;if(gt.forEach(function(Pn){if(!((Ma=Pn.length-1)<=0)){var Ma,Ta=Pn[0],Ea=Pn[Ma],qa;if(Fa(Ta,Ea)){if(!Ta[2]&&!Ea[2]){for(Ur.lineStart(),Fi=0;Fi<Ma;++Fi)Ur.point((Ta=Pn[Fi])[0],Ta[1]);Ur.lineEnd();return}Ea[0]+=2*o}fi.push(qa=new Ra(Ta,Pn,null,!0)),xi.push(qa.o=new Ra(Ta,null,qa,!1)),fi.push(qa=new Ra(Ea,Pn,null,!1)),xi.push(qa.o=new Ra(Ea,null,qa,!0))}}),!!fi.length){for(xi.sort(Bt),oa(fi),oa(xi),Fi=0,Xi=xi.length;Fi<Xi;++Fi)xi[Fi].e=wr=!wr;for(var hn=fi[0],Ti,qi;;){for(var Ii=hn,mi=!0;Ii.v;)if((Ii=Ii.n)===hn)return;Ti=Ii.z,Ur.lineStart();do{if(Ii.v=Ii.o.v=!0,Ii.e){if(mi)for(Fi=0,Xi=Ti.length;Fi<Xi;++Fi)Ur.point((qi=Ti[Fi])[0],qi[1]);else vr(Ii.x,Ii.n.x,1,Ur);Ii=Ii.n}else{if(mi)for(Ti=Ii.p.z,Fi=Ti.length-1;Fi>=0;--Fi)Ur.point((qi=Ti[Fi])[0],qi[1]);else vr(Ii.x,Ii.p.x,-1,Ur);Ii=Ii.p}Ii=Ii.o,Ti=Ii.z,mi=!mi}while(!Ii.v);Ur.lineEnd()}}}function oa(gt){if(Bt=gt.length){for(var Bt,wr=0,vr=gt[0],Ur;++wr<Bt;)vr.n=Ur=gt[wr],Ur.p=vr,vr=Ur;vr.n=Ur=gt[0],Ur.p=vr}}var Sn=r();function Ha(gt){return v(gt[0])<=l?gt[0]:C(gt[0])*((v(gt[0])+l)%f-l)}function oo(gt,Bt){var wr=Ha(Bt),vr=Bt[1],Ur=_(vr),fi=[_(wr),-p(wr),0],xi=0,Fi=0;Sn.reset(),Ur===1?vr=u+o:Ur===-1&&(vr=-u-o);for(var Xi=0,hn=gt.length;Xi<hn;++Xi)if(qi=(Ti=gt[Xi]).length)for(var Ti,qi,Ii=Ti[qi-1],mi=Ha(Ii),Pn=Ii[1]/2+c,Ma=_(Pn),Ta=p(Pn),Ea=0;Ea<qi;++Ea,mi=Cn,Ma=Ua,Ta=mo,Ii=qa){var qa=Ti[Ea],Cn=Ha(qa),sn=qa[1]/2+c,Ua=_(sn),mo=p(sn),Xo=Cn-mi,Ts=Xo>=0?1:-1,Qo=Ts*Xo,ys=Qo>l,Bo=Ma*Ua;if(Sn.add(b(Bo*Ts*_(Qo),Ta*mo+Bo*p(Qo))),xi+=ys?Xo+Ts*f:Xo,ys^mi>=wr^Cn>=wr){var yl=nt(ce(Ii),ce(qa));rt(yl);var Gs=nt(fi,yl);rt(Gs);var Rs=(ys^Xo>=0?-1:1)*T(Gs[2]);(vr>Rs||vr===Rs&&(yl[0]||yl[1]))&&(Fi+=ys^Xo>=0?1:-1)}}return(xi<-o||xi<o&&Sn<-o)^Fi&1}function xn(gt,Bt,wr,vr){return function(Ur){var fi=Bt(Ur),xi=la(),Fi=Bt(xi),Xi=!1,hn,Ti,qi,Ii={point:mi,lineStart:Ma,lineEnd:Ta,polygonStart:function(){Ii.point=Ea,Ii.lineStart=qa,Ii.lineEnd=Cn,Ti=[],hn=[]},polygonEnd:function(){Ii.point=mi,Ii.lineStart=Ma,Ii.lineEnd=Ta,Ti=t.merge(Ti);var sn=oo(hn,vr);Ti.length?(Xi||(Ur.polygonStart(),Xi=!0),jo(Ti,br,sn,wr,Ur)):sn&&(Xi||(Ur.polygonStart(),Xi=!0),Ur.lineStart(),wr(null,null,1,Ur),Ur.lineEnd()),Xi&&(Ur.polygonEnd(),Xi=!1),Ti=hn=null},sphere:function(){Ur.polygonStart(),Ur.lineStart(),wr(null,null,1,Ur),Ur.lineEnd(),Ur.polygonEnd()}};function mi(sn,Ua){gt(sn,Ua)&&Ur.point(sn,Ua)}function Pn(sn,Ua){fi.point(sn,Ua)}function Ma(){Ii.point=Pn,fi.lineStart()}function Ta(){Ii.point=mi,fi.lineEnd()}function Ea(sn,Ua){qi.push([sn,Ua]),Fi.point(sn,Ua)}function qa(){Fi.lineStart(),qi=[]}function Cn(){Ea(qi[0][0],qi[0][1]),Fi.lineEnd();var sn=Fi.clean(),Ua=xi.result(),mo,Xo=Ua.length,Ts,Qo,ys;if(qi.pop(),hn.push(qi),qi=null,!!Xo){if(sn&1){if(Qo=Ua[0],(Ts=Qo.length-1)>0){for(Xi||(Ur.polygonStart(),Xi=!0),Ur.lineStart(),mo=0;mo<Ts;++mo)Ur.point((ys=Qo[mo])[0],ys[1]);Ur.lineEnd()}return}Xo>1&&sn&2&&Ua.push(Ua.pop().concat(Ua.shift())),Ti.push(Ua.filter(_t))}}return Ii}}function _t(gt){return gt.length>1}function br(gt,Bt){return((gt=gt.x)[0]<0?gt[1]-u-o:u-gt[1])-((Bt=Bt.x)[0]<0?Bt[1]-u-o:u-Bt[1])}var Hr=xn(function(){return!0},ti,Yi,[-l,-u]);function ti(gt){var Bt=NaN,wr=NaN,vr=NaN,Ur;return{lineStart:function(){gt.lineStart(),Ur=1},point:function(fi,xi){var Fi=fi>0?l:-l,Xi=v(fi-Bt);v(Xi-l)<o?(gt.point(Bt,wr=(wr+xi)/2>0?u:-u),gt.point(vr,wr),gt.lineEnd(),gt.lineStart(),gt.point(Fi,wr),gt.point(fi,wr),Ur=0):vr!==Fi&&Xi>=l&&(v(Bt-vr)<o&&(Bt-=vr*o),v(fi-Fi)<o&&(fi-=Fi*o),wr=zi(Bt,wr,fi,xi),gt.point(vr,wr),gt.lineEnd(),gt.lineStart(),gt.point(Fi,wr),Ur=0),gt.point(Bt=fi,wr=xi),vr=Fi},lineEnd:function(){gt.lineEnd(),Bt=wr=NaN},clean:function(){return 2-Ur}}}function zi(gt,Bt,wr,vr){var Ur,fi,xi=_(gt-wr);return v(xi)>o?x((_(Bt)*(fi=p(vr))*_(wr)-_(vr)*(Ur=p(Bt))*_(gt))/(Ur*fi*xi)):(Bt+vr)/2}function Yi(gt,Bt,wr,vr){var Ur;if(gt==null)Ur=wr*u,vr.point(-l,Ur),vr.point(0,Ur),vr.point(l,Ur),vr.point(l,0),vr.point(l,-Ur),vr.point(0,-Ur),vr.point(-l,-Ur),vr.point(-l,0),vr.point(-l,Ur);else if(v(gt[0]-Bt[0])>o){var fi=gt[0]<Bt[0]?l:-l;Ur=wr*fi/2,vr.point(-fi,Ur),vr.point(0,Ur),vr.point(fi,Ur)}else vr.point(Bt[0],Bt[1])}function an(gt){var Bt=p(gt),wr=6*d,vr=Bt>0,Ur=v(Bt)>o;function fi(Ti,qi,Ii,mi){Ki(mi,gt,wr,Ii,Ti,qi)}function xi(Ti,qi){return p(Ti)*p(qi)>Bt}function Fi(Ti){var qi,Ii,mi,Pn,Ma;return{lineStart:function(){Pn=mi=!1,Ma=1},point:function(Ta,Ea){var qa=[Ta,Ea],Cn,sn=xi(Ta,Ea),Ua=vr?sn?0:hn(Ta,Ea):sn?hn(Ta+(Ta<0?l:-l),Ea):0;if(!qi&&(Pn=mi=sn)&&Ti.lineStart(),sn!==mi&&(Cn=Xi(qi,qa),(!Cn||Fa(qi,Cn)||Fa(qa,Cn))&&(qa[2]=1)),sn!==mi)Ma=0,sn?(Ti.lineStart(),Cn=Xi(qa,qi),Ti.point(Cn[0],Cn[1])):(Cn=Xi(qi,qa),Ti.point(Cn[0],Cn[1],2),Ti.lineEnd()),qi=Cn;else if(Ur&&qi&&vr^sn){var mo;!(Ua&Ii)&&(mo=Xi(qa,qi,!0))&&(Ma=0,vr?(Ti.lineStart(),Ti.point(mo[0][0],mo[0][1]),Ti.point(mo[1][0],mo[1][1]),Ti.lineEnd()):(Ti.point(mo[1][0],mo[1][1]),Ti.lineEnd(),Ti.lineStart(),Ti.point(mo[0][0],mo[0][1],3)))}sn&&(!qi||!Fa(qi,qa))&&Ti.point(qa[0],qa[1]),qi=qa,mi=sn,Ii=Ua},lineEnd:function(){mi&&Ti.lineEnd(),qi=null},clean:function(){return Ma|(Pn&&mi)<<1}}}function Xi(Ti,qi,Ii){var mi=ce(Ti),Pn=ce(qi),Ma=[1,0,0],Ta=nt(mi,Pn),Ea=Ge(Ta,Ta),qa=Ta[0],Cn=Ea-qa*qa;if(!Cn)return!Ii&&Ti;var sn=Bt*Ea/Cn,Ua=-Bt*qa/Cn,mo=nt(Ma,Ta),Xo=qt(Ma,sn),Ts=qt(Ta,Ua);ct(Xo,Ts);var Qo=mo,ys=Ge(Xo,Qo),Bo=Ge(Qo,Qo),yl=ys*ys-Bo*(Ge(Xo,Xo)-1);if(!(yl<0)){var Gs=M(yl),Rs=qt(Qo,(-ys-Gs)/Bo);if(ct(Rs,Xo),Rs=Re(Rs),!Ii)return Rs;var ia=Ti[0],Ka=qi[0],vs=Ti[1],Ko=qi[1],nu;Ka<ia&&(nu=ia,ia=Ka,Ka=nu);var Ru=Ka-ia,ac=v(Ru-l)<o,mf=ac||Ru<o;if(!ac&&Ko<vs&&(nu=vs,vs=Ko,Ko=nu),mf?ac?vs+Ko>0^Rs[1]<(v(Rs[0]-ia)<o?vs:Ko):vs<=Rs[1]&&Rs[1]<=Ko:Ru>l^(ia<=Rs[0]&&Rs[0]<=Ka)){var bu=qt(Qo,(-ys+Gs)/Bo);return ct(bu,Xo),[Rs,Re(bu)]}}}function hn(Ti,qi){var Ii=vr?gt:l-gt,mi=0;return Ti<-Ii?mi|=1:Ti>Ii&&(mi|=2),qi<-Ii?mi|=4:qi>Ii&&(mi|=8),mi}return xn(xi,Fi,fi,vr?[0,-gt]:[-l,gt-l])}function hi(gt,Bt,wr,vr,Ur,fi){var xi=gt[0],Fi=gt[1],Xi=Bt[0],hn=Bt[1],Ti=0,qi=1,Ii=Xi-xi,mi=hn-Fi,Pn;if(Pn=wr-xi,!(!Ii&&Pn>0)){if(Pn/=Ii,Ii<0){if(Pn<Ti)return;Pn<qi&&(qi=Pn)}else if(Ii>0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}if(Pn=Ur-xi,!(!Ii&&Pn<0)){if(Pn/=Ii,Ii<0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}else if(Ii>0){if(Pn<Ti)return;Pn<qi&&(qi=Pn)}if(Pn=vr-Fi,!(!mi&&Pn>0)){if(Pn/=mi,mi<0){if(Pn<Ti)return;Pn<qi&&(qi=Pn)}else if(mi>0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}if(Pn=fi-Fi,!(!mi&&Pn<0)){if(Pn/=mi,mi<0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}else if(mi>0){if(Pn<Ti)return;Pn<qi&&(qi=Pn)}return Ti>0&&(gt[0]=xi+Ti*Ii,gt[1]=Fi+Ti*mi),qi<1&&(Bt[0]=xi+qi*Ii,Bt[1]=Fi+qi*mi),!0}}}}}var Ji=1e9,ua=-Ji;function Fn(gt,Bt,wr,vr){function Ur(hn,Ti){return gt<=hn&&hn<=wr&&Bt<=Ti&&Ti<=vr}function fi(hn,Ti,qi,Ii){var mi=0,Pn=0;if(hn==null||(mi=xi(hn,qi))!==(Pn=xi(Ti,qi))||Xi(hn,Ti)<0^qi>0)do Ii.point(mi===0||mi===3?gt:wr,mi>1?vr:Bt);while((mi=(mi+qi+4)%4)!==Pn);else Ii.point(Ti[0],Ti[1])}function xi(hn,Ti){return v(hn[0]-gt)<o?Ti>0?0:3:v(hn[0]-wr)<o?Ti>0?2:1:v(hn[1]-Bt)<o?Ti>0?1:0:Ti>0?3:2}function Fi(hn,Ti){return Xi(hn.x,Ti.x)}function Xi(hn,Ti){var qi=xi(hn,1),Ii=xi(Ti,1);return qi!==Ii?qi-Ii:qi===0?Ti[1]-hn[1]:qi===1?hn[0]-Ti[0]:qi===2?hn[1]-Ti[1]:Ti[0]-hn[0]}return function(hn){var Ti=hn,qi=la(),Ii,mi,Pn,Ma,Ta,Ea,qa,Cn,sn,Ua,mo,Xo={point:Ts,lineStart:yl,lineEnd:Gs,polygonStart:ys,polygonEnd:Bo};function Ts(ia,Ka){Ur(ia,Ka)&&Ti.point(ia,Ka)}function Qo(){for(var ia=0,Ka=0,vs=mi.length;Ka<vs;++Ka)for(var Ko=mi[Ka],nu=1,Ru=Ko.length,ac=Ko[0],mf,bu,Kc=ac[0],Du=ac[1];nu<Ru;++nu)mf=Kc,bu=Du,ac=Ko[nu],Kc=ac[0],Du=ac[1],bu<=vr?Du>vr&&(Kc-mf)*(vr-bu)>(Du-bu)*(gt-mf)&&++ia:Du<=vr&&(Kc-mf)*(vr-bu)<(Du-bu)*(gt-mf)&&--ia;return ia}function ys(){Ti=qi,Ii=[],mi=[],mo=!0}function Bo(){var ia=Qo(),Ka=mo&&ia,vs=(Ii=t.merge(Ii)).length;(Ka||vs)&&(hn.polygonStart(),Ka&&(hn.lineStart(),fi(null,null,1,hn),hn.lineEnd()),vs&&jo(Ii,Fi,ia,fi,hn),hn.polygonEnd()),Ti=hn,Ii=mi=Pn=null}function yl(){Xo.point=Rs,mi&&mi.push(Pn=[]),Ua=!0,sn=!1,qa=Cn=NaN}function Gs(){Ii&&(Rs(Ma,Ta),Ea&&sn&&qi.rejoin(),Ii.push(qi.result())),Xo.point=Ts,sn&&Ti.lineEnd()}function Rs(ia,Ka){var vs=Ur(ia,Ka);if(mi&&Pn.push([ia,Ka]),Ua)Ma=ia,Ta=Ka,Ea=vs,Ua=!1,vs&&(Ti.lineStart(),Ti.point(ia,Ka));else if(vs&&sn)Ti.point(ia,Ka);else{var Ko=[qa=Math.max(ua,Math.min(Ji,qa)),Cn=Math.max(ua,Math.min(Ji,Cn))],nu=[ia=Math.max(ua,Math.min(Ji,ia)),Ka=Math.max(ua,Math.min(Ji,Ka))];hi(Ko,nu,gt,Bt,wr,vr)?(sn||(Ti.lineStart(),Ti.point(Ko[0],Ko[1])),Ti.point(nu[0],nu[1]),vs||Ti.lineEnd(),mo=!1):vs&&(Ti.lineStart(),Ti.point(ia,Ka),mo=!1)}qa=ia,Cn=Ka,sn=vs}return Xo}}function Sa(){var gt=0,Bt=0,wr=960,vr=500,Ur,fi,xi;return xi={stream:function(Fi){return Ur&&fi===Fi?Ur:Ur=Fn(gt,Bt,wr,vr)(fi=Fi)},extent:function(Fi){return arguments.length?(gt=+Fi[0][0],Bt=+Fi[0][1],wr=+Fi[1][0],vr=+Fi[1][1],Ur=fi=null,xi):[[gt,Bt],[wr,vr]]}}}var go=r(),Oo,ho,Mo,xo={sphere:q,point:q,lineStart:zs,lineEnd:q,polygonStart:q,polygonEnd:q};function zs(){xo.point=Zs,xo.lineEnd=ks}function ks(){xo.point=xo.lineEnd=q}function Zs(gt,Bt){gt*=d,Bt*=d,Oo=gt,ho=_(Bt),Mo=p(Bt),xo.point=Xs}function Xs(gt,Bt){gt*=d,Bt*=d;var wr=_(Bt),vr=p(Bt),Ur=v(gt-Oo),fi=p(Ur),xi=_(Ur),Fi=vr*xi,Xi=Mo*wr-ho*vr*fi,hn=ho*wr+Mo*vr*fi;go.add(b(M(Fi*Fi+Xi*Xi),hn)),Oo=gt,ho=wr,Mo=vr}function wl(gt){return go.reset(),W(gt,xo),+go}var os=[null,null],cl={type:\"LineString\",coordinates:os};function Cs(gt,Bt){return os[0]=gt,os[1]=Bt,wl(cl)}var ml={Feature:function(gt,Bt){return Hs(gt.geometry,Bt)},FeatureCollection:function(gt,Bt){for(var wr=gt.features,vr=-1,Ur=wr.length;++vr<Ur;)if(Hs(wr[vr].geometry,Bt))return!0;return!1}},Ys={Sphere:function(){return!0},Point:function(gt,Bt){return Eo(gt.coordinates,Bt)},MultiPoint:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)if(Eo(wr[vr],Bt))return!0;return!1},LineString:function(gt,Bt){return fs(gt.coordinates,Bt)},MultiLineString:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)if(fs(wr[vr],Bt))return!0;return!1},Polygon:function(gt,Bt){return Ql(gt.coordinates,Bt)},MultiPolygon:function(gt,Bt){for(var wr=gt.coordinates,vr=-1,Ur=wr.length;++vr<Ur;)if(Ql(wr[vr],Bt))return!0;return!1},GeometryCollection:function(gt,Bt){for(var wr=gt.geometries,vr=-1,Ur=wr.length;++vr<Ur;)if(Hs(wr[vr],Bt))return!0;return!1}};function Hs(gt,Bt){return gt&&Ys.hasOwnProperty(gt.type)?Ys[gt.type](gt,Bt):!1}function Eo(gt,Bt){return Cs(gt,Bt)===0}function fs(gt,Bt){for(var wr,vr,Ur,fi=0,xi=gt.length;fi<xi;fi++){if(vr=Cs(gt[fi],Bt),vr===0||fi>0&&(Ur=Cs(gt[fi],gt[fi-1]),Ur>0&&wr<=Ur&&vr<=Ur&&(wr+vr-Ur)*(1-Math.pow((wr-vr)/Ur,2))<s*Ur))return!0;wr=vr}return!1}function Ql(gt,Bt){return!!oo(gt.map(Hu),fc(Bt))}function Hu(gt){return gt=gt.map(fc),gt.pop(),gt}function fc(gt){return[gt[0]*d,gt[1]*d]}function ms(gt,Bt){return(gt&&ml.hasOwnProperty(gt.type)?ml[gt.type]:Hs)(gt,Bt)}function on(gt,Bt,wr){var vr=t.range(gt,Bt-o,wr).concat(Bt);return function(Ur){return vr.map(function(fi){return[Ur,fi]})}}function fa(gt,Bt,wr){var vr=t.range(gt,Bt-o,wr).concat(Bt);return function(Ur){return vr.map(function(fi){return[fi,Ur]})}}function Qu(){var gt,Bt,wr,vr,Ur,fi,xi,Fi,Xi=10,hn=Xi,Ti=90,qi=360,Ii,mi,Pn,Ma,Ta=2.5;function Ea(){return{type:\"MultiLineString\",coordinates:qa()}}function qa(){return t.range(E(vr/Ti)*Ti,wr,Ti).map(Pn).concat(t.range(E(Fi/qi)*qi,xi,qi).map(Ma)).concat(t.range(E(Bt/Xi)*Xi,gt,Xi).filter(function(Cn){return v(Cn%Ti)>o}).map(Ii)).concat(t.range(E(fi/hn)*hn,Ur,hn).filter(function(Cn){return v(Cn%qi)>o}).map(mi))}return Ea.lines=function(){return qa().map(function(Cn){return{type:\"LineString\",coordinates:Cn}})},Ea.outline=function(){return{type:\"Polygon\",coordinates:[Pn(vr).concat(Ma(xi).slice(1),Pn(wr).reverse().slice(1),Ma(Fi).reverse().slice(1))]}},Ea.extent=function(Cn){return arguments.length?Ea.extentMajor(Cn).extentMinor(Cn):Ea.extentMinor()},Ea.extentMajor=function(Cn){return arguments.length?(vr=+Cn[0][0],wr=+Cn[1][0],Fi=+Cn[0][1],xi=+Cn[1][1],vr>wr&&(Cn=vr,vr=wr,wr=Cn),Fi>xi&&(Cn=Fi,Fi=xi,xi=Cn),Ea.precision(Ta)):[[vr,Fi],[wr,xi]]},Ea.extentMinor=function(Cn){return arguments.length?(Bt=+Cn[0][0],gt=+Cn[1][0],fi=+Cn[0][1],Ur=+Cn[1][1],Bt>gt&&(Cn=Bt,Bt=gt,gt=Cn),fi>Ur&&(Cn=fi,fi=Ur,Ur=Cn),Ea.precision(Ta)):[[Bt,fi],[gt,Ur]]},Ea.step=function(Cn){return arguments.length?Ea.stepMajor(Cn).stepMinor(Cn):Ea.stepMinor()},Ea.stepMajor=function(Cn){return arguments.length?(Ti=+Cn[0],qi=+Cn[1],Ea):[Ti,qi]},Ea.stepMinor=function(Cn){return arguments.length?(Xi=+Cn[0],hn=+Cn[1],Ea):[Xi,hn]},Ea.precision=function(Cn){return arguments.length?(Ta=+Cn,Ii=on(fi,Ur,90),mi=fa(Bt,gt,Ta),Pn=on(Fi,xi,90),Ma=fa(vr,wr,Ta),Ea):Ta},Ea.extentMajor([[-180,-90+o],[180,90-o]]).extentMinor([[-180,-80-o],[180,80+o]])}function Rl(){return Qu()()}function vo(gt,Bt){var wr=gt[0]*d,vr=gt[1]*d,Ur=Bt[0]*d,fi=Bt[1]*d,xi=p(vr),Fi=_(vr),Xi=p(fi),hn=_(fi),Ti=xi*p(wr),qi=xi*_(wr),Ii=Xi*p(Ur),mi=Xi*_(Ur),Pn=2*T(M(F(fi-vr)+xi*Xi*F(Ur-wr))),Ma=_(Pn),Ta=Pn?function(Ea){var qa=_(Ea*=Pn)/Ma,Cn=_(Pn-Ea)/Ma,sn=Cn*Ti+qa*Ii,Ua=Cn*qi+qa*mi,mo=Cn*Fi+qa*hn;return[b(Ua,sn)*h,b(mo,M(sn*sn+Ua*Ua))*h]}:function(){return[wr*h,vr*h]};return Ta.distance=Pn,Ta}function Zl(gt){return gt}var Ks=r(),Xl=r(),Ec,Zn,ko,Co,Tl={point:q,lineStart:q,lineEnd:q,polygonStart:function(){Tl.lineStart=uf,Tl.lineEnd=rh},polygonEnd:function(){Tl.lineStart=Tl.lineEnd=Tl.point=q,Ks.add(v(Xl)),Xl.reset()},result:function(){var gt=Ks/2;return Ks.reset(),gt}};function uf(){Tl.point=So}function So(gt,Bt){Tl.point=cf,Ec=ko=gt,Zn=Co=Bt}function cf(gt,Bt){Xl.add(Co*gt-ko*Bt),ko=gt,Co=Bt}function rh(){cf(Ec,Zn)}var Al=1/0,Hc=Al,eu=-Al,Ls=eu,mu={point:kc,lineStart:q,lineEnd:q,polygonStart:q,polygonEnd:q,result:function(){var gt=[[Al,Hc],[eu,Ls]];return eu=Ls=-(Hc=Al=1/0),gt}};function kc(gt,Bt){gt<Al&&(Al=gt),gt>eu&&(eu=gt),Bt<Hc&&(Hc=Bt),Bt>Ls&&(Ls=Bt)}var Of=0,Gc=0,vd=0,Bf=0,ss=0,ff=0,ih=0,Vl=0,Js=0,hc,Cc,ws,$s,hs={point:Ms,lineStart:dc,lineEnd:Ps,polygonStart:function(){hs.lineStart=ov,hs.lineEnd=wo},polygonEnd:function(){hs.point=Ms,hs.lineStart=dc,hs.lineEnd=Ps},result:function(){var gt=Js?[ih/Js,Vl/Js]:ff?[Bf/ff,ss/ff]:vd?[Of/vd,Gc/vd]:[NaN,NaN];return Of=Gc=vd=Bf=ss=ff=ih=Vl=Js=0,gt}};function Ms(gt,Bt){Of+=gt,Gc+=Bt,++vd}function dc(){hs.point=Sl}function Sl(gt,Bt){hs.point=ec,Ms(ws=gt,$s=Bt)}function ec(gt,Bt){var wr=gt-ws,vr=Bt-$s,Ur=M(wr*wr+vr*vr);Bf+=Ur*(ws+gt)/2,ss+=Ur*($s+Bt)/2,ff+=Ur,Ms(ws=gt,$s=Bt)}function Ps(){hs.point=Ms}function ov(){hs.point=Od}function wo(){$o(hc,Cc)}function Od(gt,Bt){hs.point=$o,Ms(hc=ws=gt,Cc=$s=Bt)}function $o(gt,Bt){var wr=gt-ws,vr=Bt-$s,Ur=M(wr*wr+vr*vr);Bf+=Ur*(ws+gt)/2,ss+=Ur*($s+Bt)/2,ff+=Ur,Ur=$s*gt-ws*Bt,ih+=Ur*(ws+gt),Vl+=Ur*($s+Bt),Js+=Ur*3,Ms(ws=gt,$s=Bt)}function Ja(gt){this._context=gt}Ja.prototype={_radius:4.5,pointRadius:function(gt){return this._radius=gt,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(gt,Bt){switch(this._point){case 0:{this._context.moveTo(gt,Bt),this._point=1;break}case 1:{this._context.lineTo(gt,Bt);break}default:{this._context.moveTo(gt+this._radius,Bt),this._context.arc(gt,Bt,this._radius,0,f);break}}},result:q};var Ef=r(),tc,uu,Mh,jc,kf,Ml={point:q,lineStart:function(){Ml.point=Yh},lineEnd:function(){tc&&Eh(uu,Mh),Ml.point=q},polygonStart:function(){tc=!0},polygonEnd:function(){tc=null},result:function(){var gt=+Ef;return Ef.reset(),gt}};function Yh(gt,Bt){Ml.point=Eh,uu=jc=gt,Mh=kf=Bt}function Eh(gt,Bt){jc-=gt,kf-=Bt,Ef.add(M(jc*jc+kf*kf)),jc=gt,kf=Bt}function nh(){this._string=[]}nh.prototype={_radius:4.5,_circle:hf(4.5),pointRadius:function(gt){return(gt=+gt)!==this._radius&&(this._radius=gt,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._string.push(\"Z\"),this._point=NaN},point:function(gt,Bt){switch(this._point){case 0:{this._string.push(\"M\",gt,\",\",Bt),this._point=1;break}case 1:{this._string.push(\"L\",gt,\",\",Bt);break}default:{this._circle==null&&(this._circle=hf(this._radius)),this._string.push(\"M\",gt,\",\",Bt,this._circle);break}}},result:function(){if(this._string.length){var gt=this._string.join(\"\");return this._string=[],gt}else return null}};function hf(gt){return\"m0,\"+gt+\"a\"+gt+\",\"+gt+\" 0 1,1 0,\"+-2*gt+\"a\"+gt+\",\"+gt+\" 0 1,1 0,\"+2*gt+\"z\"}function kh(gt,Bt){var wr=4.5,vr,Ur;function fi(xi){return xi&&(typeof wr==\"function\"&&Ur.pointRadius(+wr.apply(this,arguments)),W(xi,vr(Ur))),Ur.result()}return fi.area=function(xi){return W(xi,vr(Tl)),Tl.result()},fi.measure=function(xi){return W(xi,vr(Ml)),Ml.result()},fi.bounds=function(xi){return W(xi,vr(mu)),mu.result()},fi.centroid=function(xi){return W(xi,vr(hs)),hs.result()},fi.projection=function(xi){return arguments.length?(vr=xi==null?(gt=null,Zl):(gt=xi).stream,fi):gt},fi.context=function(xi){return arguments.length?(Ur=xi==null?(Bt=null,new nh):new Ja(Bt=xi),typeof wr!=\"function\"&&Ur.pointRadius(wr),fi):Bt},fi.pointRadius=function(xi){return arguments.length?(wr=typeof xi==\"function\"?xi:(Ur.pointRadius(+xi),+xi),fi):wr},fi.projection(gt).context(Bt)}function Kh(gt){return{stream:rc(gt)}}function rc(gt){return function(Bt){var wr=new ah;for(var vr in gt)wr[vr]=gt[vr];return wr.stream=Bt,wr}}function ah(){}ah.prototype={constructor:ah,point:function(gt,Bt){this.stream.point(gt,Bt)},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()}};function Wc(gt,Bt,wr){var vr=gt.clipExtent&>.clipExtent();return gt.scale(150).translate([0,0]),vr!=null&>.clipExtent(null),W(wr,gt.stream(mu)),Bt(mu.result()),vr!=null&>.clipExtent(vr),gt}function df(gt,Bt,wr){return Wc(gt,function(vr){var Ur=Bt[1][0]-Bt[0][0],fi=Bt[1][1]-Bt[0][1],xi=Math.min(Ur/(vr[1][0]-vr[0][0]),fi/(vr[1][1]-vr[0][1])),Fi=+Bt[0][0]+(Ur-xi*(vr[1][0]+vr[0][0]))/2,Xi=+Bt[0][1]+(fi-xi*(vr[1][1]+vr[0][1]))/2;gt.scale(150*xi).translate([Fi,Xi])},wr)}function Cu(gt,Bt,wr){return df(gt,[[0,0],Bt],wr)}function Nf(gt,Bt,wr){return Wc(gt,function(vr){var Ur=+Bt,fi=Ur/(vr[1][0]-vr[0][0]),xi=(Ur-fi*(vr[1][0]+vr[0][0]))/2,Fi=-fi*vr[0][1];gt.scale(150*fi).translate([xi,Fi])},wr)}function Zc(gt,Bt,wr){return Wc(gt,function(vr){var Ur=+Bt,fi=Ur/(vr[1][1]-vr[0][1]),xi=-fi*vr[0][0],Fi=(Ur-fi*(vr[1][1]+vr[0][1]))/2;gt.scale(150*fi).translate([xi,Fi])},wr)}var ds=16,Ch=p(30*d);function Bd(gt,Bt){return+Bt?Cf(gt,Bt):Jh(gt)}function Jh(gt){return rc({point:function(Bt,wr){Bt=gt(Bt,wr),this.stream.point(Bt[0],Bt[1])}})}function Cf(gt,Bt){function wr(vr,Ur,fi,xi,Fi,Xi,hn,Ti,qi,Ii,mi,Pn,Ma,Ta){var Ea=hn-vr,qa=Ti-Ur,Cn=Ea*Ea+qa*qa;if(Cn>4*Bt&&Ma--){var sn=xi+Ii,Ua=Fi+mi,mo=Xi+Pn,Xo=M(sn*sn+Ua*Ua+mo*mo),Ts=T(mo/=Xo),Qo=v(v(mo)-1)<o||v(fi-qi)<o?(fi+qi)/2:b(Ua,sn),ys=gt(Qo,Ts),Bo=ys[0],yl=ys[1],Gs=Bo-vr,Rs=yl-Ur,ia=qa*Gs-Ea*Rs;(ia*ia/Cn>Bt||v((Ea*Gs+qa*Rs)/Cn-.5)>.3||xi*Ii+Fi*mi+Xi*Pn<Ch)&&(wr(vr,Ur,fi,xi,Fi,Xi,Bo,yl,Qo,sn/=Xo,Ua/=Xo,mo,Ma,Ta),Ta.point(Bo,yl),wr(Bo,yl,Qo,sn,Ua,mo,hn,Ti,qi,Ii,mi,Pn,Ma,Ta))}}return function(vr){var Ur,fi,xi,Fi,Xi,hn,Ti,qi,Ii,mi,Pn,Ma,Ta={point:Ea,lineStart:qa,lineEnd:sn,polygonStart:function(){vr.polygonStart(),Ta.lineStart=Ua},polygonEnd:function(){vr.polygonEnd(),Ta.lineStart=qa}};function Ea(Ts,Qo){Ts=gt(Ts,Qo),vr.point(Ts[0],Ts[1])}function qa(){qi=NaN,Ta.point=Cn,vr.lineStart()}function Cn(Ts,Qo){var ys=ce([Ts,Qo]),Bo=gt(Ts,Qo);wr(qi,Ii,Ti,mi,Pn,Ma,qi=Bo[0],Ii=Bo[1],Ti=Ts,mi=ys[0],Pn=ys[1],Ma=ys[2],ds,vr),vr.point(qi,Ii)}function sn(){Ta.point=Ea,vr.lineEnd()}function Ua(){qa(),Ta.point=mo,Ta.lineEnd=Xo}function mo(Ts,Qo){Cn(Ur=Ts,Qo),fi=qi,xi=Ii,Fi=mi,Xi=Pn,hn=Ma,Ta.point=Cn}function Xo(){wr(qi,Ii,Ti,mi,Pn,Ma,fi,xi,Ur,Fi,Xi,hn,ds,vr),Ta.lineEnd=sn,sn()}return Ta}}var pd=rc({point:function(gt,Bt){this.stream.point(gt*d,Bt*d)}});function Lu(gt){return rc({point:function(Bt,wr){var vr=gt(Bt,wr);return this.stream.point(vr[0],vr[1])}})}function $h(gt,Bt,wr,vr,Ur){function fi(xi,Fi){return xi*=vr,Fi*=Ur,[Bt+gt*xi,wr-gt*Fi]}return fi.invert=function(xi,Fi){return[(xi-Bt)/gt*vr,(wr-Fi)/gt*Ur]},fi}function tu(gt,Bt,wr,vr,Ur,fi){var xi=p(fi),Fi=_(fi),Xi=xi*gt,hn=Fi*gt,Ti=xi/gt,qi=Fi/gt,Ii=(Fi*wr-xi*Bt)/gt,mi=(Fi*Bt+xi*wr)/gt;function Pn(Ma,Ta){return Ma*=vr,Ta*=Ur,[Xi*Ma-hn*Ta+Bt,wr-hn*Ma-Xi*Ta]}return Pn.invert=function(Ma,Ta){return[vr*(Ti*Ma-qi*Ta+Ii),Ur*(mi-qi*Ma-Ti*Ta)]},Pn}function Pu(gt){return Lc(function(){return gt})()}function Lc(gt){var Bt,wr=150,vr=480,Ur=250,fi=0,xi=0,Fi=0,Xi=0,hn=0,Ti,qi=0,Ii=1,mi=1,Pn=null,Ma=Hr,Ta=null,Ea,qa,Cn,sn=Zl,Ua=.5,mo,Xo,Ts,Qo,ys;function Bo(ia){return Ts(ia[0]*d,ia[1]*d)}function yl(ia){return ia=Ts.invert(ia[0],ia[1]),ia&&[ia[0]*h,ia[1]*h]}Bo.stream=function(ia){return Qo&&ys===ia?Qo:Qo=pd(Lu(Ti)(Ma(mo(sn(ys=ia)))))},Bo.preclip=function(ia){return arguments.length?(Ma=ia,Pn=void 0,Rs()):Ma},Bo.postclip=function(ia){return arguments.length?(sn=ia,Ta=Ea=qa=Cn=null,Rs()):sn},Bo.clipAngle=function(ia){return arguments.length?(Ma=+ia?an(Pn=ia*d):(Pn=null,Hr),Rs()):Pn*h},Bo.clipExtent=function(ia){return arguments.length?(sn=ia==null?(Ta=Ea=qa=Cn=null,Zl):Fn(Ta=+ia[0][0],Ea=+ia[0][1],qa=+ia[1][0],Cn=+ia[1][1]),Rs()):Ta==null?null:[[Ta,Ea],[qa,Cn]]},Bo.scale=function(ia){return arguments.length?(wr=+ia,Gs()):wr},Bo.translate=function(ia){return arguments.length?(vr=+ia[0],Ur=+ia[1],Gs()):[vr,Ur]},Bo.center=function(ia){return arguments.length?(fi=ia[0]%360*d,xi=ia[1]%360*d,Gs()):[fi*h,xi*h]},Bo.rotate=function(ia){return arguments.length?(Fi=ia[0]%360*d,Xi=ia[1]%360*d,hn=ia.length>2?ia[2]%360*d:0,Gs()):[Fi*h,Xi*h,hn*h]},Bo.angle=function(ia){return arguments.length?(qi=ia%360*d,Gs()):qi*h},Bo.reflectX=function(ia){return arguments.length?(Ii=ia?-1:1,Gs()):Ii<0},Bo.reflectY=function(ia){return arguments.length?(mi=ia?-1:1,Gs()):mi<0},Bo.precision=function(ia){return arguments.length?(mo=Bd(Xo,Ua=ia*ia),Rs()):M(Ua)},Bo.fitExtent=function(ia,Ka){return df(Bo,ia,Ka)},Bo.fitSize=function(ia,Ka){return Cu(Bo,ia,Ka)},Bo.fitWidth=function(ia,Ka){return Nf(Bo,ia,Ka)},Bo.fitHeight=function(ia,Ka){return Zc(Bo,ia,Ka)};function Gs(){var ia=tu(wr,0,0,Ii,mi,qi).apply(null,Bt(fi,xi)),Ka=(qi?tu:$h)(wr,vr-ia[0],Ur-ia[1],Ii,mi,qi);return Ti=gi(Fi,Xi,hn),Xo=Zr(Bt,Ka),Ts=Zr(Ti,Xo),mo=Bd(Xo,Ua),Rs()}function Rs(){return Qo=ys=null,Bo}return function(){return Bt=gt.apply(this,arguments),Bo.invert=Bt.invert&&yl,Gs()}}function fl(gt){var Bt=0,wr=l/3,vr=Lc(gt),Ur=vr(Bt,wr);return Ur.parallels=function(fi){return arguments.length?vr(Bt=fi[0]*d,wr=fi[1]*d):[Bt*h,wr*h]},Ur}function Xc(gt){var Bt=p(gt);function wr(vr,Ur){return[vr*Bt,_(Ur)/Bt]}return wr.invert=function(vr,Ur){return[vr/Bt,T(Ur*Bt)]},wr}function ic(gt,Bt){var wr=_(gt),vr=(wr+_(Bt))/2;if(v(vr)<o)return Xc(gt);var Ur=1+wr*(2*vr-wr),fi=M(Ur)/vr;function xi(Fi,Xi){var hn=M(Ur-2*vr*_(Xi))/vr;return[hn*_(Fi*=vr),fi-hn*p(Fi)]}return xi.invert=function(Fi,Xi){var hn=fi-Xi,Ti=b(Fi,v(hn))*C(hn);return hn*vr<0&&(Ti-=l*C(Fi)*C(hn)),[Ti/vr,T((Ur-(Fi*Fi+hn*hn)*vr*vr)/(2*vr))]},xi}function yu(){return fl(ic).scale(155.424).center([0,33.6442])}function Qs(){return yu().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function Qh(gt){var Bt=gt.length;return{point:function(wr,vr){for(var Ur=-1;++Ur<Bt;)gt[Ur].point(wr,vr)},sphere:function(){for(var wr=-1;++wr<Bt;)gt[wr].sphere()},lineStart:function(){for(var wr=-1;++wr<Bt;)gt[wr].lineStart()},lineEnd:function(){for(var wr=-1;++wr<Bt;)gt[wr].lineEnd()},polygonStart:function(){for(var wr=-1;++wr<Bt;)gt[wr].polygonStart()},polygonEnd:function(){for(var wr=-1;++wr<Bt;)gt[wr].polygonEnd()}}}function gd(){var gt,Bt,wr=Qs(),vr,Ur=yu().rotate([154,0]).center([-2,58.5]).parallels([55,65]),fi,xi=yu().rotate([157,0]).center([-3,19.9]).parallels([8,18]),Fi,Xi,hn={point:function(Ii,mi){Xi=[Ii,mi]}};function Ti(Ii){var mi=Ii[0],Pn=Ii[1];return Xi=null,vr.point(mi,Pn),Xi||(fi.point(mi,Pn),Xi)||(Fi.point(mi,Pn),Xi)}Ti.invert=function(Ii){var mi=wr.scale(),Pn=wr.translate(),Ma=(Ii[0]-Pn[0])/mi,Ta=(Ii[1]-Pn[1])/mi;return(Ta>=.12&&Ta<.234&&Ma>=-.425&&Ma<-.214?Ur:Ta>=.166&&Ta<.234&&Ma>=-.214&&Ma<-.115?xi:wr).invert(Ii)},Ti.stream=function(Ii){return gt&&Bt===Ii?gt:gt=Qh([wr.stream(Bt=Ii),Ur.stream(Ii),xi.stream(Ii)])},Ti.precision=function(Ii){return arguments.length?(wr.precision(Ii),Ur.precision(Ii),xi.precision(Ii),qi()):wr.precision()},Ti.scale=function(Ii){return arguments.length?(wr.scale(Ii),Ur.scale(Ii*.35),xi.scale(Ii),Ti.translate(wr.translate())):wr.scale()},Ti.translate=function(Ii){if(!arguments.length)return wr.translate();var mi=wr.scale(),Pn=+Ii[0],Ma=+Ii[1];return vr=wr.translate(Ii).clipExtent([[Pn-.455*mi,Ma-.238*mi],[Pn+.455*mi,Ma+.238*mi]]).stream(hn),fi=Ur.translate([Pn-.307*mi,Ma+.201*mi]).clipExtent([[Pn-.425*mi+o,Ma+.12*mi+o],[Pn-.214*mi-o,Ma+.234*mi-o]]).stream(hn),Fi=xi.translate([Pn-.205*mi,Ma+.212*mi]).clipExtent([[Pn-.214*mi+o,Ma+.166*mi+o],[Pn-.115*mi-o,Ma+.234*mi-o]]).stream(hn),qi()},Ti.fitExtent=function(Ii,mi){return df(Ti,Ii,mi)},Ti.fitSize=function(Ii,mi){return Cu(Ti,Ii,mi)},Ti.fitWidth=function(Ii,mi){return Nf(Ti,Ii,mi)},Ti.fitHeight=function(Ii,mi){return Zc(Ti,Ii,mi)};function qi(){return gt=Bt=null,Ti}return Ti.scale(1070)}function Gu(gt){return function(Bt,wr){var vr=p(Bt),Ur=p(wr),fi=gt(vr*Ur);return[fi*Ur*_(Bt),fi*_(wr)]}}function Pc(gt){return function(Bt,wr){var vr=M(Bt*Bt+wr*wr),Ur=gt(vr),fi=_(Ur),xi=p(Ur);return[b(Bt*fi,vr*xi),T(vr&&wr*fi/vr)]}}var vc=Gu(function(gt){return M(2/(1+gt))});vc.invert=Pc(function(gt){return 2*T(gt/2)});function sv(){return Pu(vc).scale(124.75).clipAngle(180-.001)}var Lf=Gu(function(gt){return(gt=P(gt))&>/_(gt)});Lf.invert=Pc(function(gt){return gt});function Uf(){return Pu(Lf).scale(79.4188).clipAngle(180-.001)}function Iu(gt,Bt){return[gt,A(g((u+Bt)/2))]}Iu.invert=function(gt,Bt){return[gt,2*x(k(Bt))-u]};function oh(){return ru(Iu).scale(961/f)}function ru(gt){var Bt=Pu(gt),wr=Bt.center,vr=Bt.scale,Ur=Bt.translate,fi=Bt.clipExtent,xi=null,Fi,Xi,hn;Bt.scale=function(qi){return arguments.length?(vr(qi),Ti()):vr()},Bt.translate=function(qi){return arguments.length?(Ur(qi),Ti()):Ur()},Bt.center=function(qi){return arguments.length?(wr(qi),Ti()):wr()},Bt.clipExtent=function(qi){return arguments.length?(qi==null?xi=Fi=Xi=hn=null:(xi=+qi[0][0],Fi=+qi[0][1],Xi=+qi[1][0],hn=+qi[1][1]),Ti()):xi==null?null:[[xi,Fi],[Xi,hn]]};function Ti(){var qi=l*vr(),Ii=Bt(Gi(Bt.rotate()).invert([0,0]));return fi(xi==null?[[Ii[0]-qi,Ii[1]-qi],[Ii[0]+qi,Ii[1]+qi]]:gt===Iu?[[Math.max(Ii[0]-qi,xi),Fi],[Math.min(Ii[0]+qi,Xi),hn]]:[[xi,Math.max(Ii[1]-qi,Fi)],[Xi,Math.min(Ii[1]+qi,hn)]])}return Ti()}function vf(gt){return g((u+gt)/2)}function md(gt,Bt){var wr=p(gt),vr=gt===Bt?_(gt):A(wr/p(Bt))/A(vf(Bt)/vf(gt)),Ur=wr*L(vf(gt),vr)/vr;if(!vr)return Iu;function fi(xi,Fi){Ur>0?Fi<-u+o&&(Fi=-u+o):Fi>u-o&&(Fi=u-o);var Xi=Ur/L(vf(Fi),vr);return[Xi*_(vr*xi),Ur-Xi*p(vr*xi)]}return fi.invert=function(xi,Fi){var Xi=Ur-Fi,hn=C(vr)*M(xi*xi+Xi*Xi),Ti=b(xi,v(Xi))*C(Xi);return Xi*vr<0&&(Ti-=l*C(xi)*C(Xi)),[Ti/vr,2*x(L(Ur/hn,1/vr))-u]},fi}function sh(){return fl(md).scale(109.5).parallels([30,30])}function Fs(gt,Bt){return[gt,Bt]}Fs.invert=Fs;function _u(){return Pu(Fs).scale(152.63)}function xu(gt,Bt){var wr=p(gt),vr=gt===Bt?_(gt):(wr-p(Bt))/(Bt-gt),Ur=wr/vr+gt;if(v(vr)<o)return Fs;function fi(xi,Fi){var Xi=Ur-Fi,hn=vr*xi;return[Xi*_(hn),Ur-Xi*p(hn)]}return fi.invert=function(xi,Fi){var Xi=Ur-Fi,hn=b(xi,v(Xi))*C(Xi);return Xi*vr<0&&(hn-=l*C(xi)*C(Xi)),[hn/vr,Ur-C(vr)*M(xi*xi+Xi*Xi)]},fi}function Lh(){return fl(xu).scale(131.154).center([0,13.9389])}var Is=1.340264,Pf=-.081106,Ic=893e-6,ju=.003796,Vf=M(3)/2,pc=12;function pf(gt,Bt){var wr=T(Vf*_(Bt)),vr=wr*wr,Ur=vr*vr*vr;return[gt*p(wr)/(Vf*(Is+3*Pf*vr+Ur*(7*Ic+9*ju*vr))),wr*(Is+Pf*vr+Ur*(Ic+ju*vr))]}pf.invert=function(gt,Bt){for(var wr=Bt,vr=wr*wr,Ur=vr*vr*vr,fi=0,xi,Fi,Xi;fi<pc&&(Fi=wr*(Is+Pf*vr+Ur*(Ic+ju*vr))-Bt,Xi=Is+3*Pf*vr+Ur*(7*Ic+9*ju*vr),wr-=xi=Fi/Xi,vr=wr*wr,Ur=vr*vr*vr,!(v(xi)<s));++fi);return[Vf*gt*(Is+3*Pf*vr+Ur*(7*Ic+9*ju*vr))/p(wr),T(_(wr)/Vf)]};function Ph(){return Pu(pf).scale(177.158)}function Dl(gt,Bt){var wr=p(Bt),vr=p(gt)*wr;return[wr*_(gt)/vr,_(Bt)/vr]}Dl.invert=Pc(x);function Ih(){return Pu(Dl).scale(144.049).clipAngle(60)}function Wu(){var gt=1,Bt=0,wr=0,vr=1,Ur=1,fi=0,xi,Fi,Xi=null,hn,Ti,qi,Ii=1,mi=1,Pn=rc({point:function(sn,Ua){var mo=Cn([sn,Ua]);this.stream.point(mo[0],mo[1])}}),Ma=Zl,Ta,Ea;function qa(){return Ii=gt*vr,mi=gt*Ur,Ta=Ea=null,Cn}function Cn(sn){var Ua=sn[0]*Ii,mo=sn[1]*mi;if(fi){var Xo=mo*xi-Ua*Fi;Ua=Ua*xi+mo*Fi,mo=Xo}return[Ua+Bt,mo+wr]}return Cn.invert=function(sn){var Ua=sn[0]-Bt,mo=sn[1]-wr;if(fi){var Xo=mo*xi+Ua*Fi;Ua=Ua*xi-mo*Fi,mo=Xo}return[Ua/Ii,mo/mi]},Cn.stream=function(sn){return Ta&&Ea===sn?Ta:Ta=Pn(Ma(Ea=sn))},Cn.postclip=function(sn){return arguments.length?(Ma=sn,Xi=hn=Ti=qi=null,qa()):Ma},Cn.clipExtent=function(sn){return arguments.length?(Ma=sn==null?(Xi=hn=Ti=qi=null,Zl):Fn(Xi=+sn[0][0],hn=+sn[0][1],Ti=+sn[1][0],qi=+sn[1][1]),qa()):Xi==null?null:[[Xi,hn],[Ti,qi]]},Cn.scale=function(sn){return arguments.length?(gt=+sn,qa()):gt},Cn.translate=function(sn){return arguments.length?(Bt=+sn[0],wr=+sn[1],qa()):[Bt,wr]},Cn.angle=function(sn){return arguments.length?(fi=sn%360*d,Fi=_(fi),xi=p(fi),qa()):fi*h},Cn.reflectX=function(sn){return arguments.length?(vr=sn?-1:1,qa()):vr<0},Cn.reflectY=function(sn){return arguments.length?(Ur=sn?-1:1,qa()):Ur<0},Cn.fitExtent=function(sn,Ua){return df(Cn,sn,Ua)},Cn.fitSize=function(sn,Ua){return Cu(Cn,sn,Ua)},Cn.fitWidth=function(sn,Ua){return Nf(Cn,sn,Ua)},Cn.fitHeight=function(sn,Ua){return Zc(Cn,sn,Ua)},Cn}function Rc(gt,Bt){var wr=Bt*Bt,vr=wr*wr;return[gt*(.8707-.131979*wr+vr*(-.013791+vr*(.003971*wr-.001529*vr))),Bt*(1.007226+wr*(.015085+vr*(-.044475+.028874*wr-.005916*vr)))]}Rc.invert=function(gt,Bt){var wr=Bt,vr=25,Ur;do{var fi=wr*wr,xi=fi*fi;wr-=Ur=(wr*(1.007226+fi*(.015085+xi*(-.044475+.028874*fi-.005916*xi)))-Bt)/(1.007226+fi*(.015085*3+xi*(-.044475*7+.028874*9*fi-.005916*11*xi)))}while(v(Ur)>o&&--vr>0);return[gt/(.8707+(fi=wr*wr)*(-.131979+fi*(-.013791+fi*fi*fi*(.003971-.001529*fi)))),wr]};function gc(){return Pu(Rc).scale(175.295)}function hl(gt,Bt){return[p(Bt)*_(gt),_(Bt)]}hl.invert=Pc(T);function iu(){return Pu(hl).scale(249.5).clipAngle(90+o)}function mc(gt,Bt){var wr=p(Bt),vr=1+p(gt)*wr;return[wr*_(gt)/vr,_(Bt)/vr]}mc.invert=Pc(function(gt){return 2*x(gt)});function Yc(){return Pu(mc).scale(250).clipAngle(142)}function nc(gt,Bt){return[A(g((u+Bt)/2)),-gt]}nc.invert=function(gt,Bt){return[-Bt,2*x(k(gt))-u]};function gf(){var gt=ru(nc),Bt=gt.center,wr=gt.rotate;return gt.center=function(vr){return arguments.length?Bt([-vr[1],vr[0]]):(vr=Bt(),[vr[1],-vr[0]])},gt.rotate=function(vr){return arguments.length?wr([vr[0],vr[1],vr.length>2?vr[2]+90:90]):(vr=wr(),[vr[0],vr[1],vr[2]-90])},wr([0,0,90]).scale(159.155)}e.geoAlbers=Qs,e.geoAlbersUsa=gd,e.geoArea=me,e.geoAzimuthalEqualArea=sv,e.geoAzimuthalEqualAreaRaw=vc,e.geoAzimuthalEquidistant=Uf,e.geoAzimuthalEquidistantRaw=Lf,e.geoBounds=Ne,e.geoCentroid=yr,e.geoCircle=jn,e.geoClipAntimeridian=Hr,e.geoClipCircle=an,e.geoClipExtent=Sa,e.geoClipRectangle=Fn,e.geoConicConformal=sh,e.geoConicConformalRaw=md,e.geoConicEqualArea=yu,e.geoConicEqualAreaRaw=ic,e.geoConicEquidistant=Lh,e.geoConicEquidistantRaw=xu,e.geoContains=ms,e.geoDistance=Cs,e.geoEqualEarth=Ph,e.geoEqualEarthRaw=pf,e.geoEquirectangular=_u,e.geoEquirectangularRaw=Fs,e.geoGnomonic=Ih,e.geoGnomonicRaw=Dl,e.geoGraticule=Qu,e.geoGraticule10=Rl,e.geoIdentity=Wu,e.geoInterpolate=vo,e.geoLength=wl,e.geoMercator=oh,e.geoMercatorRaw=Iu,e.geoNaturalEarth1=gc,e.geoNaturalEarth1Raw=Rc,e.geoOrthographic=iu,e.geoOrthographicRaw=hl,e.geoPath=kh,e.geoProjection=Pu,e.geoProjectionMutator=Lc,e.geoRotation=Gi,e.geoStereographic=Yc,e.geoStereographicRaw=mc,e.geoStream=W,e.geoTransform=Kh,e.geoTransverseMercator=gf,e.geoTransverseMercatorRaw=nc,Object.defineProperty(e,\"__esModule\",{value:!0})})});var bRe=ye((Az,xRe)=>{(function(e,t){typeof Az==\"object\"&&typeof xRe!=\"undefined\"?t(Az,xX(),$E()):t(e.d3=e.d3||{},e.d3,e.d3)})(Az,function(e,t,r){\"use strict\";var n=Math.abs,i=Math.atan,a=Math.atan2,o=Math.cos,s=Math.exp,l=Math.floor,u=Math.log,c=Math.max,f=Math.min,h=Math.pow,d=Math.round,v=Math.sign||function(he){return he>0?1:he<0?-1:0},x=Math.sin,b=Math.tan,p=1e-6,E=1e-12,k=Math.PI,A=k/2,L=k/4,_=Math.SQRT1_2,C=H(2),M=H(k),g=k*2,P=180/k,T=k/180;function F(he){return he?he/Math.sin(he):1}function q(he){return he>1?A:he<-1?-A:Math.asin(he)}function V(he){return he>1?0:he<-1?k:Math.acos(he)}function H(he){return he>0?Math.sqrt(he):0}function X(he){return he=s(2*he),(he-1)/(he+1)}function G(he){return(s(he)-s(-he))/2}function N(he){return(s(he)+s(-he))/2}function W(he){return u(he+H(he*he+1))}function re(he){return u(he+H(he*he-1))}function ae(he){var be=b(he/2),Pe=2*u(o(he/2))/(be*be);function Oe(Je,He){var et=o(Je),Mt=o(He),Dt=x(He),Ut=Mt*et,tr=-((1-Ut?u((1+Ut)/2)/(1-Ut):-.5)+Pe/(1+Ut));return[tr*Mt*x(Je),tr*Dt]}return Oe.invert=function(Je,He){var et=H(Je*Je+He*He),Mt=-he/2,Dt=50,Ut;if(!et)return[0,0];do{var tr=Mt/2,mr=o(tr),Rr=x(tr),zr=Rr/mr,Xr=-u(n(mr));Mt-=Ut=(2/zr*Xr-Pe*zr-et)/(-Xr/(Rr*Rr)+1-Pe/(2*mr*mr))*(mr<0?.7:1)}while(n(Ut)>p&&--Dt>0);var di=x(Mt);return[a(Je*di,et*o(Mt)),q(He*di/et)]},Oe}function _e(){var he=A,be=t.geoProjectionMutator(ae),Pe=be(he);return Pe.radius=function(Oe){return arguments.length?be(he=Oe*T):he*P},Pe.scale(179.976).clipAngle(147)}function Me(he,be){var Pe=o(be),Oe=F(V(Pe*o(he/=2)));return[2*Pe*x(he)*Oe,x(be)*Oe]}Me.invert=function(he,be){if(!(he*he+4*be*be>k*k+p)){var Pe=he,Oe=be,Je=25;do{var He=x(Pe),et=x(Pe/2),Mt=o(Pe/2),Dt=x(Oe),Ut=o(Oe),tr=x(2*Oe),mr=Dt*Dt,Rr=Ut*Ut,zr=et*et,Xr=1-Rr*Mt*Mt,di=Xr?V(Ut*Mt)*H(Li=1/Xr):Li=0,Li,Ci=2*di*Ut*et-he,Qi=di*Dt-be,Mn=Li*(Rr*zr+di*Ut*Mt*mr),pa=Li*(.5*He*tr-di*2*Dt*et),ea=Li*.25*(tr*et-di*Dt*Rr*He),Ga=Li*(mr*Mt+di*zr*Ut),To=pa*ea-Ga*Mn;if(!To)break;var Wa=(Qi*pa-Ci*Ga)/To,co=(Ci*ea-Qi*Mn)/To;Pe-=Wa,Oe-=co}while((n(Wa)>p||n(co)>p)&&--Je>0);return[Pe,Oe]}};function ke(){return t.geoProjection(Me).scale(152.63)}function ge(he){var be=x(he),Pe=o(he),Oe=he>=0?1:-1,Je=b(Oe*he),He=(1+be-Pe)/2;function et(Mt,Dt){var Ut=o(Dt),tr=o(Mt/=2);return[(1+Ut)*x(Mt),(Oe*Dt>-a(tr,Je)-.001?0:-Oe*10)+He+x(Dt)*Pe-(1+Ut)*be*tr]}return et.invert=function(Mt,Dt){var Ut=0,tr=0,mr=50;do{var Rr=o(Ut),zr=x(Ut),Xr=o(tr),di=x(tr),Li=1+Xr,Ci=Li*zr-Mt,Qi=He+di*Pe-Li*be*Rr-Dt,Mn=Li*Rr/2,pa=-zr*di,ea=be*Li*zr/2,Ga=Pe*Xr+be*Rr*di,To=pa*ea-Ga*Mn,Wa=(Qi*pa-Ci*Ga)/To/2,co=(Ci*ea-Qi*Mn)/To;n(co)>2&&(co/=2),Ut-=Wa,tr-=co}while((n(Wa)>p||n(co)>p)&&--mr>0);return Oe*tr>-a(o(Ut),Je)-.001?[Ut*2,tr]:null},et}function ie(){var he=20*T,be=he>=0?1:-1,Pe=b(be*he),Oe=t.geoProjectionMutator(ge),Je=Oe(he),He=Je.stream;return Je.parallel=function(et){return arguments.length?(Pe=b((be=(he=et*T)>=0?1:-1)*he),Oe(he)):he*P},Je.stream=function(et){var Mt=Je.rotate(),Dt=He(et),Ut=(Je.rotate([0,0]),He(et)),tr=Je.precision();return Je.rotate(Mt),Dt.sphere=function(){Ut.polygonStart(),Ut.lineStart();for(var mr=be*-180;be*mr<180;mr+=be*90)Ut.point(mr,be*90);if(he)for(;be*(mr-=3*be*tr)>=-180;)Ut.point(mr,be*-a(o(mr*T/2),Pe)*P);Ut.lineEnd(),Ut.polygonEnd()},Dt},Je.scale(218.695).center([0,28.0974])}function Te(he,be){var Pe=b(be/2),Oe=H(1-Pe*Pe),Je=1+Oe*o(he/=2),He=x(he)*Oe/Je,et=Pe/Je,Mt=He*He,Dt=et*et;return[4/3*He*(3+Mt-3*Dt),4/3*et*(3+3*Mt-Dt)]}Te.invert=function(he,be){if(he*=3/8,be*=3/8,!he&&n(be)>1)return null;var Pe=he*he,Oe=be*be,Je=1+Pe+Oe,He=H((Je-H(Je*Je-4*be*be))/2),et=q(He)/3,Mt=He?re(n(be/He))/3:W(n(he))/3,Dt=o(et),Ut=N(Mt),tr=Ut*Ut-Dt*Dt;return[v(he)*2*a(G(Mt)*Dt,.25-tr),v(be)*2*a(Ut*x(et),.25+tr)]};function Ee(){return t.geoProjection(Te).scale(66.1603)}var Ae=H(8),ze=u(1+C);function Ce(he,be){var Pe=n(be);return Pe<L?[he,u(b(L+be/2))]:[he*o(Pe)*(2*C-1/x(Pe)),v(be)*(2*C*(Pe-L)-u(b(Pe/2)))]}Ce.invert=function(he,be){if((He=n(be))<ze)return[he,2*i(s(be))-A];var Pe=L,Oe=25,Je,He;do{var et=o(Pe/2),Mt=b(Pe/2);Pe-=Je=(Ae*(Pe-L)-u(Mt)-He)/(Ae-et*et/(2*Mt))}while(n(Je)>E&&--Oe>0);return[he/(o(Pe)*(Ae-1/x(Pe))),v(be)*Pe]};function me(){return t.geoProjection(Ce).scale(112.314)}function Re(he){var be=2*k/he;function Pe(Oe,Je){var He=t.geoAzimuthalEquidistantRaw(Oe,Je);if(n(Oe)>A){var et=a(He[1],He[0]),Mt=H(He[0]*He[0]+He[1]*He[1]),Dt=be*d((et-A)/be)+A,Ut=a(x(et-=Dt),2-o(et));et=Dt+q(k/Mt*x(Ut))-Ut,He[0]=Mt*o(et),He[1]=Mt*x(et)}return He}return Pe.invert=function(Oe,Je){var He=H(Oe*Oe+Je*Je);if(He>A){var et=a(Je,Oe),Mt=be*d((et-A)/be)+A,Dt=et>Mt?-1:1,Ut=He*o(Mt-et),tr=1/b(Dt*V((Ut-k)/H(k*(k-2*Ut)+He*He)));et=Mt+2*i((tr+Dt*H(tr*tr-3))/3),Oe=He*o(et),Je=He*x(et)}return t.geoAzimuthalEquidistantRaw.invert(Oe,Je)},Pe}function ce(){var he=5,be=t.geoProjectionMutator(Re),Pe=be(he),Oe=Pe.stream,Je=.01,He=-o(Je*T),et=x(Je*T);return Pe.lobes=function(Mt){return arguments.length?be(he=+Mt):he},Pe.stream=function(Mt){var Dt=Pe.rotate(),Ut=Oe(Mt),tr=(Pe.rotate([0,0]),Oe(Mt));return Pe.rotate(Dt),Ut.sphere=function(){tr.polygonStart(),tr.lineStart();for(var mr=0,Rr=360/he,zr=2*k/he,Xr=90-180/he,di=A;mr<he;++mr,Xr-=Rr,di-=zr)tr.point(a(et*o(di),He)*P,q(et*x(di))*P),Xr<-90?(tr.point(-90,-180-Xr-Je),tr.point(-90,-180-Xr+Je)):(tr.point(90,Xr+Je),tr.point(90,Xr-Je));tr.lineEnd(),tr.polygonEnd()},Ut},Pe.scale(87.8076).center([0,17.1875]).clipAngle(180-.001)}function Ge(he,be){if(arguments.length<2&&(be=he),be===1)return t.geoAzimuthalEqualAreaRaw;if(be===1/0)return nt;function Pe(Oe,Je){var He=t.geoAzimuthalEqualAreaRaw(Oe/be,Je);return He[0]*=he,He}return Pe.invert=function(Oe,Je){var He=t.geoAzimuthalEqualAreaRaw.invert(Oe/he,Je);return He[0]*=be,He},Pe}function nt(he,be){return[he*o(be)/o(be/=2),2*x(be)]}nt.invert=function(he,be){var Pe=2*q(be/2);return[he*o(Pe/2)/o(Pe),Pe]};function ct(){var he=2,be=t.geoProjectionMutator(Ge),Pe=be(he);return Pe.coefficient=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(169.529)}function qt(he,be,Pe){var Oe=100,Je,He,et;Pe=Pe===void 0?0:+Pe,be=+be;do He=he(Pe),et=he(Pe+p),He===et&&(et=He+p),Pe-=Je=-1*p*(He-be)/(He-et);while(Oe-- >0&&n(Je)>p);return Oe<0?NaN:Pe}function rt(he,be,Pe){return be===void 0&&(be=40),Pe===void 0&&(Pe=E),function(Oe,Je,He,et){var Mt,Dt,Ut;He=He===void 0?0:+He,et=et===void 0?0:+et;for(var tr=0;tr<be;tr++){var mr=he(He,et),Rr=mr[0]-Oe,zr=mr[1]-Je;if(n(Rr)<Pe&&n(zr)<Pe)break;var Xr=Rr*Rr+zr*zr;if(Xr>Mt){He-=Dt/=2,et-=Ut/=2;continue}Mt=Xr;var di=(He>0?-1:1)*Pe,Li=(et>0?-1:1)*Pe,Ci=he(He+di,et),Qi=he(He,et+Li),Mn=(Ci[0]-mr[0])/di,pa=(Ci[1]-mr[1])/di,ea=(Qi[0]-mr[0])/Li,Ga=(Qi[1]-mr[1])/Li,To=Ga*Mn-pa*ea,Wa=(n(To)<.5?.5:1)/To;if(Dt=(zr*ea-Rr*Ga)*Wa,Ut=(Rr*pa-zr*Mn)*Wa,He+=Dt,et+=Ut,n(Dt)<Pe&&n(Ut)<Pe)break}return[He,et]}}function ot(){var he=Ge(1.68,2),be=1.4,Pe=12;function Oe(Je,He){if(Je+He<-be){var et=(Je-He+1.6)*(Je+He+be)/8;Je+=et,He-=.8*et*x(He+k/2)}var Mt=he(Je,He),Dt=(1-o(Je*He))/Pe;return Mt[1]<0&&(Mt[0]*=1+Dt),Mt[1]>0&&(Mt[1]*=1+Dt/1.5*Mt[0]*Mt[0]),Mt}return Oe.invert=rt(Oe),Oe}function Rt(){return t.geoProjection(ot()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function kt(he,be){var Pe=he*x(be),Oe=30,Je;do be-=Je=(be+x(be)-Pe)/(1+o(be));while(n(Je)>p&&--Oe>0);return be/2}function Ct(he,be,Pe){function Oe(Je,He){return[he*Je*o(He=kt(Pe,He)),be*x(He)]}return Oe.invert=function(Je,He){return He=q(He/be),[Je/(he*o(He)),q((2*He+x(2*He))/Pe)]},Oe}var Yt=Ct(C/A,C,k);function xr(){return t.geoProjection(Yt).scale(169.529)}var er=2.00276,Ke=1.11072;function xt(he,be){var Pe=kt(k,be);return[er*he/(1/o(be)+Ke/o(Pe)),(be+C*x(Pe))/er]}xt.invert=function(he,be){var Pe=er*be,Oe=be<0?-L:L,Je=25,He,et;do et=Pe-C*x(Oe),Oe-=He=(x(2*Oe)+2*Oe-k*x(et))/(2*o(2*Oe)+2+k*o(et)*C*o(Oe));while(n(He)>p&&--Je>0);return et=Pe-C*x(Oe),[he*(1/o(et)+Ke/o(Oe))/er,et]};function bt(){return t.geoProjection(xt).scale(160.857)}function Lt(he){var be=0,Pe=t.geoProjectionMutator(he),Oe=Pe(be);return Oe.parallel=function(Je){return arguments.length?Pe(be=Je*T):be*P},Oe}function St(he,be){return[he*o(be),be]}St.invert=function(he,be){return[he/o(be),be]};function Et(){return t.geoProjection(St).scale(152.63)}function dt(he){if(!he)return St;var be=1/b(he);function Pe(Oe,Je){var He=be+he-Je,et=He&&Oe*o(Je)/He;return[He*x(et),be-He*o(et)]}return Pe.invert=function(Oe,Je){var He=H(Oe*Oe+(Je=be-Je)*Je),et=be+he-He;return[He/o(et)*a(Oe,Je),et]},Pe}function Ht(){return Lt(dt).scale(123.082).center([0,26.1441]).parallel(45)}function $t(he){function be(Pe,Oe){var Je=A-Oe,He=Je&&Pe*he*x(Je)/Je;return[Je*x(He)/he,A-Je*o(He)]}return be.invert=function(Pe,Oe){var Je=Pe*he,He=A-Oe,et=H(Je*Je+He*He),Mt=a(Je,He);return[(et?et/x(et):1)*Mt/he,A-et]},be}function fr(){var he=.5,be=t.geoProjectionMutator($t),Pe=be(he);return Pe.fraction=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(158.837)}var _r=Ct(1,4/k,k);function Br(){return t.geoProjection(_r).scale(152.63)}function Or(he,be,Pe,Oe,Je,He){var et=o(He),Mt;if(n(he)>1||n(He)>1)Mt=V(Pe*Je+be*Oe*et);else{var Dt=x(he/2),Ut=x(He/2);Mt=2*q(H(Dt*Dt+be*Oe*Ut*Ut))}return n(Mt)>p?[Mt,a(Oe*x(He),be*Je-Pe*Oe*et)]:[0,0]}function Nr(he,be,Pe){return V((he*he+be*be-Pe*Pe)/(2*he*be))}function ut(he){return he-2*k*l((he+k)/(2*k))}function Ne(he,be,Pe){for(var Oe=[[he[0],he[1],x(he[1]),o(he[1])],[be[0],be[1],x(be[1]),o(be[1])],[Pe[0],Pe[1],x(Pe[1]),o(Pe[1])]],Je=Oe[2],He,et=0;et<3;++et,Je=He)He=Oe[et],Je.v=Or(He[1]-Je[1],Je[3],Je[2],He[3],He[2],He[0]-Je[0]),Je.point=[0,0];var Mt=Nr(Oe[0].v[0],Oe[2].v[0],Oe[1].v[0]),Dt=Nr(Oe[0].v[0],Oe[1].v[0],Oe[2].v[0]),Ut=k-Mt;Oe[2].point[1]=0,Oe[0].point[0]=-(Oe[1].point[0]=Oe[0].v[0]/2);var tr=[Oe[2].point[0]=Oe[0].point[0]+Oe[2].v[0]*o(Mt),2*(Oe[0].point[1]=Oe[1].point[1]=Oe[2].v[0]*x(Mt))];function mr(Rr,zr){var Xr=x(zr),di=o(zr),Li=new Array(3),Ci;for(Ci=0;Ci<3;++Ci){var Qi=Oe[Ci];if(Li[Ci]=Or(zr-Qi[1],Qi[3],Qi[2],di,Xr,Rr-Qi[0]),!Li[Ci][0])return Qi.point;Li[Ci][1]=ut(Li[Ci][1]-Qi.v[1])}var Mn=tr.slice();for(Ci=0;Ci<3;++Ci){var pa=Ci==2?0:Ci+1,ea=Nr(Oe[Ci].v[0],Li[Ci][0],Li[pa][0]);Li[Ci][1]<0&&(ea=-ea),Ci?Ci==1?(ea=Dt-ea,Mn[0]-=Li[Ci][0]*o(ea),Mn[1]-=Li[Ci][0]*x(ea)):(ea=Ut-ea,Mn[0]+=Li[Ci][0]*o(ea),Mn[1]+=Li[Ci][0]*x(ea)):(Mn[0]+=Li[Ci][0]*o(ea),Mn[1]-=Li[Ci][0]*x(ea))}return Mn[0]/=3,Mn[1]/=3,Mn}return mr}function Ye(he){return he[0]*=T,he[1]*=T,he}function Ve(){return Xe([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Xe(he,be,Pe){var Oe=t.geoCentroid({type:\"MultiPoint\",coordinates:[he,be,Pe]}),Je=[-Oe[0],-Oe[1]],He=t.geoRotation(Je),et=Ne(Ye(He(he)),Ye(He(be)),Ye(He(Pe)));et.invert=rt(et);var Mt=t.geoProjection(et).rotate(Je),Dt=Mt.center;return delete Mt.rotate,Mt.center=function(Ut){return arguments.length?Dt(He(Ut)):He.invert(Dt())},Mt.clipAngle(90)}function ht(he,be){var Pe=H(1-x(be));return[2/M*he*Pe,M*(1-Pe)]}ht.invert=function(he,be){var Pe=(Pe=be/M-1)*Pe;return[Pe>0?he*H(k/Pe)/2:0,q(1-Pe)]};function Le(){return t.geoProjection(ht).scale(95.6464).center([0,30])}function xe(he){var be=b(he);function Pe(Oe,Je){return[Oe,(Oe?Oe/x(Oe):1)*(x(Je)*o(Oe)-be*o(Je))]}return Pe.invert=be?function(Oe,Je){Oe&&(Je*=x(Oe)/Oe);var He=o(Oe);return[Oe,2*a(H(He*He+be*be-Je*Je)-He,be-Je)]}:function(Oe,Je){return[Oe,q(Oe?Je*b(Oe)/Oe:Je)]},Pe}function Se(){return Lt(xe).scale(249.828).clipAngle(90)}var lt=H(3);function Gt(he,be){return[lt*he*(2*o(2*be/3)-1)/M,lt*M*x(be/3)]}Gt.invert=function(he,be){var Pe=3*q(be/(lt*M));return[M*he/(lt*(2*o(2*Pe/3)-1)),Pe]};function Vt(){return t.geoProjection(Gt).scale(156.19)}function ar(he){var be=o(he);function Pe(Oe,Je){return[Oe*be,x(Je)/be]}return Pe.invert=function(Oe,Je){return[Oe/be,q(Je*be)]},Pe}function Qr(){return Lt(ar).parallel(38.58).scale(195.044)}function ai(he){var be=o(he);function Pe(Oe,Je){return[Oe*be,(1+be)*b(Je/2)]}return Pe.invert=function(Oe,Je){return[Oe/be,i(Je/(1+be))*2]},Pe}function jr(){return Lt(ai).scale(124.75)}function ri(he,be){var Pe=H(8/(3*k));return[Pe*he*(1-n(be)/k),Pe*be]}ri.invert=function(he,be){var Pe=H(8/(3*k)),Oe=be/Pe;return[he/(Pe*(1-n(Oe)/k)),Oe]};function bi(){return t.geoProjection(ri).scale(165.664)}function nn(he,be){var Pe=H(4-3*x(n(be)));return[2/H(6*k)*he*Pe,v(be)*H(2*k/3)*(2-Pe)]}nn.invert=function(he,be){var Pe=2-n(be)/H(2*k/3);return[he*H(6*k)/(2*Pe),v(be)*q((4-Pe*Pe)/3)]};function Wi(){return t.geoProjection(nn).scale(165.664)}function Ni(he,be){var Pe=H(k*(4+k));return[2/Pe*he*(1+H(1-4*be*be/(k*k))),4/Pe*be]}Ni.invert=function(he,be){var Pe=H(k*(4+k))/2;return[he*Pe/(1+H(1-be*be*(4+k)/(4*k))),be*Pe/2]};function _n(){return t.geoProjection(Ni).scale(180.739)}function $i(he,be){var Pe=(2+A)*x(be);be/=2;for(var Oe=0,Je=1/0;Oe<10&&n(Je)>p;Oe++){var He=o(be);be-=Je=(be+x(be)*(He+2)-Pe)/(2*He*(1+He))}return[2/H(k*(4+k))*he*(1+o(be)),2*H(k/(4+k))*x(be)]}$i.invert=function(he,be){var Pe=be*H((4+k)/k)/2,Oe=q(Pe),Je=o(Oe);return[he/(2/H(k*(4+k))*(1+Je)),q((Oe+Pe*(Je+2))/(2+A))]};function zn(){return t.geoProjection($i).scale(180.739)}function Wn(he,be){return[he*(1+o(be))/H(2+k),2*be/H(2+k)]}Wn.invert=function(he,be){var Pe=H(2+k),Oe=be*Pe/2;return[Pe*he/(1+o(Oe)),Oe]};function It(){return t.geoProjection(Wn).scale(173.044)}function ft(he,be){for(var Pe=(1+A)*x(be),Oe=0,Je=1/0;Oe<10&&n(Je)>p;Oe++)be-=Je=(be+x(be)-Pe)/(1+o(be));return Pe=H(2+k),[he*(1+o(be))/Pe,2*be/Pe]}ft.invert=function(he,be){var Pe=1+A,Oe=H(Pe/2);return[he*2*Oe/(1+o(be*=Oe)),q((be+x(be))/Pe)]};function jt(){return t.geoProjection(ft).scale(173.044)}var Zt=3+2*C;function yr(he,be){var Pe=x(he/=2),Oe=o(he),Je=H(o(be)),He=o(be/=2),et=x(be)/(He+C*Oe*Je),Mt=H(2/(1+et*et)),Dt=H((C*He+(Oe+Pe)*Je)/(C*He+(Oe-Pe)*Je));return[Zt*(Mt*(Dt-1/Dt)-2*u(Dt)),Zt*(Mt*et*(Dt+1/Dt)-2*i(et))]}yr.invert=function(he,be){if(!(He=Te.invert(he/1.2,be*1.065)))return null;var Pe=He[0],Oe=He[1],Je=20,He;he/=Zt,be/=Zt;do{var et=Pe/2,Mt=Oe/2,Dt=x(et),Ut=o(et),tr=x(Mt),mr=o(Mt),Rr=o(Oe),zr=H(Rr),Xr=tr/(mr+C*Ut*zr),di=Xr*Xr,Li=H(2/(1+di)),Ci=C*mr+(Ut+Dt)*zr,Qi=C*mr+(Ut-Dt)*zr,Mn=Ci/Qi,pa=H(Mn),ea=pa-1/pa,Ga=pa+1/pa,To=Li*ea-2*u(pa)-he,Wa=Li*Xr*Ga-2*i(Xr)-be,co=tr&&_*zr*Dt*di/tr,Ro=(C*Ut*mr+zr)/(2*(mr+C*Ut*zr)*(mr+C*Ut*zr)*zr),Ds=-.5*Xr*Li*Li*Li,As=Ds*co,yo=Ds*Ro,po=(po=2*mr+C*zr*(Ut-Dt))*po*pa,_l=(C*Ut*mr*zr+Rr)/po,Hl=-(C*Dt*tr)/(zr*po),Zu=ea*As-2*_l/pa+Li*(_l+_l/Mn),cu=ea*yo-2*Hl/pa+Li*(Hl+Hl/Mn),el=Xr*Ga*As-2*co/(1+di)+Li*Ga*co+Li*Xr*(_l-_l/Mn),au=Xr*Ga*yo-2*Ro/(1+di)+Li*Ga*Ro+Li*Xr*(Hl-Hl/Mn),zc=cu*el-au*Zu;if(!zc)break;var zl=(Wa*cu-To*au)/zc,Fl=(To*el-Wa*Zu)/zc;Pe-=zl,Oe=c(-A,f(A,Oe-Fl))}while((n(zl)>p||n(Fl)>p)&&--Je>0);return n(n(Oe)-A)<p?[0,Oe]:Je&&[Pe,Oe]};function Fr(){return t.geoProjection(yr).scale(62.5271)}var Zr=o(35*T);function Vr(he,be){var Pe=b(be/2);return[he*Zr*H(1-Pe*Pe),(1+Zr)*Pe]}Vr.invert=function(he,be){var Pe=be/(1+Zr);return[he&&he/(Zr*H(1-Pe*Pe)),2*i(Pe)]};function gi(){return t.geoProjection(Vr).scale(137.152)}function Si(he,be){var Pe=be/2,Oe=o(Pe);return[2*he/M*o(be)*Oe*Oe,M*b(Pe)]}Si.invert=function(he,be){var Pe=i(be/M),Oe=o(Pe),Je=2*Pe;return[he*M/2/(o(Je)*Oe*Oe),Je]};function Mi(){return t.geoProjection(Si).scale(135.264)}function Pi(he){var be=1-he,Pe=He(k,0)[0]-He(-k,0)[0],Oe=He(0,A)[1]-He(0,-A)[1],Je=H(2*Oe/Pe);function He(Dt,Ut){var tr=o(Ut),mr=x(Ut);return[tr/(be+he*tr)*Dt,be*Ut+he*mr]}function et(Dt,Ut){var tr=He(Dt,Ut);return[tr[0]*Je,tr[1]/Je]}function Mt(Dt){return et(0,Dt)[1]}return et.invert=function(Dt,Ut){var tr=qt(Mt,Ut),mr=Dt/Je*(he+be/o(tr));return[mr,tr]},et}function Gi(){var he=.5,be=t.geoProjectionMutator(Pi),Pe=be(he);return Pe.alpha=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(168.725)}function Ki(he){return[he[0]/2,q(b(he[1]/2*T))*P]}function ka(he){return[he[0]*2,2*i(x(he[1]*T))*P]}function jn(he){he==null&&(he=t.geoOrthographic);var be=he(),Pe=t.geoEquirectangular().scale(P).precision(0).clipAngle(null).translate([0,0]);function Oe(He){return be(Ki(He))}be.invert&&(Oe.invert=function(He){return ka(be.invert(He))}),Oe.stream=function(He){var et=be.stream(He),Mt=Pe.stream({point:function(Dt,Ut){et.point(Dt/2,q(b(-Ut/2*T))*P)},lineStart:function(){et.lineStart()},lineEnd:function(){et.lineEnd()},polygonStart:function(){et.polygonStart()},polygonEnd:function(){et.polygonEnd()}});return Mt.sphere=et.sphere,Mt};function Je(He){Oe[He]=function(){return arguments.length?(be[He].apply(be,arguments),Oe):be[He]()}}return Oe.rotate=function(He){return arguments.length?(Pe.rotate(He),Oe):Pe.rotate()},Oe.center=function(He){return arguments.length?(be.center(Ki(He)),Oe):ka(be.center())},Je(\"angle\"),Je(\"clipAngle\"),Je(\"clipExtent\"),Je(\"fitExtent\"),Je(\"fitHeight\"),Je(\"fitSize\"),Je(\"fitWidth\"),Je(\"scale\"),Je(\"translate\"),Je(\"precision\"),Oe.scale(249.5)}function la(he,be){var Pe=2*k/be,Oe=he*he;function Je(He,et){var Mt=t.geoAzimuthalEquidistantRaw(He,et),Dt=Mt[0],Ut=Mt[1],tr=Dt*Dt+Ut*Ut;if(tr>Oe){var mr=H(tr),Rr=a(Ut,Dt),zr=Pe*d(Rr/Pe),Xr=Rr-zr,di=he*o(Xr),Li=(he*x(Xr)-Xr*x(di))/(A-di),Ci=Fa(Xr,Li),Qi=(k-he)/Ra(Ci,di,k);Dt=mr;var Mn=50,pa;do Dt-=pa=(he+Ra(Ci,di,Dt)*Qi-mr)/(Ci(Dt)*Qi);while(n(pa)>p&&--Mn>0);Ut=Xr*x(Dt),Dt<A&&(Ut-=Li*(Dt-A));var ea=x(zr),Ga=o(zr);Mt[0]=Dt*Ga-Ut*ea,Mt[1]=Dt*ea+Ut*Ga}return Mt}return Je.invert=function(He,et){var Mt=He*He+et*et;if(Mt>Oe){var Dt=H(Mt),Ut=a(et,He),tr=Pe*d(Ut/Pe),mr=Ut-tr;He=Dt*o(mr),et=Dt*x(mr);for(var Rr=He-A,zr=x(He),Xr=et/zr,di=He<A?1/0:0,Li=10;;){var Ci=he*x(Xr),Qi=he*o(Xr),Mn=x(Qi),pa=A-Qi,ea=(Ci-Xr*Mn)/pa,Ga=Fa(Xr,ea);if(n(di)<E||!--Li)break;Xr-=di=(Xr*zr-ea*Rr-et)/(zr-Rr*2*(pa*(Qi+Xr*Ci*o(Qi)-Mn)-Ci*(Ci-Xr*Mn))/(pa*pa))}Dt=he+Ra(Ga,Qi,He)*(k-he)/Ra(Ga,Qi,k),Ut=tr+Xr,He=Dt*o(Ut),et=Dt*x(Ut)}return t.geoAzimuthalEquidistantRaw.invert(He,et)},Je}function Fa(he,be){return function(Pe){var Oe=he*o(Pe);return Pe<A&&(Oe-=be),H(1+Oe*Oe)}}function Ra(he,be,Pe){for(var Oe=50,Je=(Pe-be)/Oe,He=he(be)+he(Pe),et=1,Mt=be;et<Oe;++et)He+=2*he(Mt+=Je);return He*.5*Je}function jo(){var he=6,be=30*T,Pe=o(be),Oe=x(be),Je=t.geoProjectionMutator(la),He=Je(be,he),et=He.stream,Mt=.01,Dt=-o(Mt*T),Ut=x(Mt*T);return He.radius=function(tr){return arguments.length?(Pe=o(be=tr*T),Oe=x(be),Je(be,he)):be*P},He.lobes=function(tr){return arguments.length?Je(be,he=+tr):he},He.stream=function(tr){var mr=He.rotate(),Rr=et(tr),zr=(He.rotate([0,0]),et(tr));return He.rotate(mr),Rr.sphere=function(){zr.polygonStart(),zr.lineStart();for(var Xr=0,di=2*k/he,Li=0;Xr<he;++Xr,Li-=di)zr.point(a(Ut*o(Li),Dt)*P,q(Ut*x(Li))*P),zr.point(a(Oe*o(Li-di/2),Pe)*P,q(Oe*x(Li-di/2))*P);zr.lineEnd(),zr.polygonEnd()},Rr},He.rotate([90,-40]).scale(91.7095).clipAngle(180-.001)}function oa(he,be,Pe,Oe,Je,He,et,Mt){arguments.length<8&&(Mt=0);function Dt(Ut,tr){if(!tr)return[he*Ut/k,0];var mr=tr*tr,Rr=he+mr*(be+mr*(Pe+mr*Oe)),zr=tr*(Je-1+mr*(He-Mt+mr*et)),Xr=(Rr*Rr+zr*zr)/(2*zr),di=Ut*q(Rr/Xr)/k;return[Xr*x(di),tr*(1+mr*Mt)+Xr*(1-o(di))]}return Dt.invert=function(Ut,tr){var mr=k*Ut/he,Rr=tr,zr,Xr,di=50;do{var Li=Rr*Rr,Ci=he+Li*(be+Li*(Pe+Li*Oe)),Qi=Rr*(Je-1+Li*(He-Mt+Li*et)),Mn=Ci*Ci+Qi*Qi,pa=2*Qi,ea=Mn/pa,Ga=ea*ea,To=q(Ci/ea)/k,Wa=mr*To,co=Ci*Ci,Ro=(2*be+Li*(4*Pe+Li*6*Oe))*Rr,Ds=Je+Li*(3*He+Li*5*et),As=2*(Ci*Ro+Qi*(Ds-1)),yo=2*(Ds-1),po=(As*pa-Mn*yo)/(pa*pa),_l=o(Wa),Hl=x(Wa),Zu=ea*_l,cu=ea*Hl,el=mr/k*(1/H(1-co/Ga))*(Ro*ea-Ci*po)/Ga,au=cu-Ut,zc=Rr*(1+Li*Mt)+ea-Zu-tr,zl=po*Hl+Zu*el,Fl=Zu*To,Z=1+po-(po*_l-cu*el),oe=cu*To,we=zl*oe-Z*Fl;if(!we)break;mr-=zr=(zc*zl-au*Z)/we,Rr-=Xr=(au*oe-zc*Fl)/we}while((n(zr)>p||n(Xr)>p)&&--di>0);return[mr,Rr]},Dt}var Sn=oa(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function Ha(){return t.geoProjection(Sn).scale(149.995)}var oo=oa(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function xn(){return t.geoProjection(oo).scale(153.93)}var _t=oa(5/6*k,-.62636,-.0344,0,1.3493,-.05524,0,.045);function br(){return t.geoProjection(_t).scale(130.945)}function Hr(he,be){var Pe=he*he,Oe=be*be;return[he*(1-.162388*Oe)*(.87-952426e-9*Pe*Pe),be*(1+Oe/12)]}Hr.invert=function(he,be){var Pe=he,Oe=be,Je=50,He;do{var et=Oe*Oe;Oe-=He=(Oe*(1+et/12)-be)/(1+et/4)}while(n(He)>p&&--Je>0);Je=50,he/=1-.162388*et;do{var Mt=(Mt=Pe*Pe)*Mt;Pe-=He=(Pe*(.87-952426e-9*Mt)-he)/(.87-.00476213*Mt)}while(n(He)>p&&--Je>0);return[Pe,Oe]};function ti(){return t.geoProjection(Hr).scale(131.747)}var zi=oa(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Yi(){return t.geoProjection(zi).scale(131.087)}function an(he){var be=he(A,0)[0]-he(-A,0)[0];function Pe(Oe,Je){var He=Oe>0?-.5:.5,et=he(Oe+He*k,Je);return et[0]-=He*be,et}return he.invert&&(Pe.invert=function(Oe,Je){var He=Oe>0?-.5:.5,et=he.invert(Oe+He*be,Je),Mt=et[0]-He*k;return Mt<-k?Mt+=2*k:Mt>k&&(Mt-=2*k),et[0]=Mt,et}),Pe}function hi(he,be){var Pe=v(he),Oe=v(be),Je=o(be),He=o(he)*Je,et=x(he)*Je,Mt=x(Oe*be);he=n(a(et,Mt)),be=q(He),n(he-A)>p&&(he%=A);var Dt=Ji(he>k/4?A-he:he,be);return he>k/4&&(Mt=Dt[0],Dt[0]=-Dt[1],Dt[1]=-Mt),Dt[0]*=Pe,Dt[1]*=-Oe,Dt}hi.invert=function(he,be){n(he)>1&&(he=v(he)*2-he),n(be)>1&&(be=v(be)*2-be);var Pe=v(he),Oe=v(be),Je=-Pe*he,He=-Oe*be,et=He/Je<1,Mt=ua(et?He:Je,et?Je:He),Dt=Mt[0],Ut=Mt[1],tr=o(Ut);return et&&(Dt=-A-Dt),[Pe*(a(x(Dt)*tr,-x(Ut))+k),Oe*q(o(Dt)*tr)]};function Ji(he,be){if(be===A)return[0,0];var Pe=x(be),Oe=Pe*Pe,Je=Oe*Oe,He=1+Je,et=1+3*Je,Mt=1-Je,Dt=q(1/H(He)),Ut=Mt+Oe*He*Dt,tr=(1-Pe)/Ut,mr=H(tr),Rr=tr*He,zr=H(Rr),Xr=mr*Mt,di,Li;if(he===0)return[0,-(Xr+Oe*zr)];var Ci=o(be),Qi=1/Ci,Mn=2*Pe*Ci,pa=(-3*Oe+Dt*et)*Mn,ea=(-Ut*Ci-(1-Pe)*pa)/(Ut*Ut),Ga=.5*ea/mr,To=Mt*Ga-2*Oe*mr*Mn,Wa=Oe*He*ea+tr*et*Mn,co=-Qi*Mn,Ro=-Qi*Wa,Ds=-2*Qi*To,As=4*he/k,yo;if(he>.222*k||be<k/4&&he>.175*k){if(di=(Xr+Oe*H(Rr*(1+Je)-Xr*Xr))/(1+Je),he>k/4)return[di,di];var po=di,_l=.5*di;di=.5*(_l+po),Li=50;do{var Hl=H(Rr-di*di),Zu=di*(Ds+co*Hl)+Ro*q(di/zr)-As;if(!Zu)break;Zu<0?_l=di:po=di,di=.5*(_l+po)}while(n(po-_l)>p&&--Li>0)}else{di=p,Li=25;do{var cu=di*di,el=H(Rr-cu),au=Ds+co*el,zc=di*au+Ro*q(di/zr)-As,zl=au+(Ro-co*cu)/el;di-=yo=el?zc/zl:0}while(n(yo)>p&&--Li>0)}return[di,-Xr-Oe*H(Rr-di*di)]}function ua(he,be){for(var Pe=0,Oe=1,Je=.5,He=50;;){var et=Je*Je,Mt=H(Je),Dt=q(1/H(1+et)),Ut=1-et+Je*(1+et)*Dt,tr=(1-Mt)/Ut,mr=H(tr),Rr=tr*(1+et),zr=mr*(1-et),Xr=Rr-he*he,di=H(Xr),Li=be+zr+Je*di;if(n(Oe-Pe)<E||--He===0||Li===0)break;Li>0?Pe=Je:Oe=Je,Je=.5*(Pe+Oe)}if(!He)return null;var Ci=q(Mt),Qi=o(Ci),Mn=1/Qi,pa=2*Mt*Qi,ea=(-3*Je+Dt*(1+3*et))*pa,Ga=(-Ut*Qi-(1-Mt)*ea)/(Ut*Ut),To=.5*Ga/mr,Wa=(1-et)*To-2*Je*mr*pa,co=-2*Mn*Wa,Ro=-Mn*pa,Ds=-Mn*(Je*(1+et)*Ga+tr*(1+3*et)*pa);return[k/4*(he*(co+Ro*di)+Ds*q(he/H(Rr))),Ci]}function Fn(){return t.geoProjection(an(hi)).scale(239.75)}function Sa(he,be,Pe){var Oe,Je,He;return he?(Oe=go(he,Pe),be?(Je=go(be,1-Pe),He=Je[1]*Je[1]+Pe*Oe[0]*Oe[0]*Je[0]*Je[0],[[Oe[0]*Je[2]/He,Oe[1]*Oe[2]*Je[0]*Je[1]/He],[Oe[1]*Je[1]/He,-Oe[0]*Oe[2]*Je[0]*Je[2]/He],[Oe[2]*Je[1]*Je[2]/He,-Pe*Oe[0]*Oe[1]*Je[0]/He]]):[[Oe[0],0],[Oe[1],0],[Oe[2],0]]):(Je=go(be,1-Pe),[[0,Je[0]/Je[1]],[1/Je[1],0],[Je[2]/Je[1],0]])}function go(he,be){var Pe,Oe,Je,He,et;if(be<p)return He=x(he),Oe=o(he),Pe=be*(he-He*Oe)/4,[He-Pe*Oe,Oe+Pe*He,1-be*He*He/2,he-Pe];if(be>=1-p)return Pe=(1-be)/4,Oe=N(he),He=X(he),Je=1/Oe,et=Oe*G(he),[He+Pe*(et-he)/(Oe*Oe),Je-Pe*He*Je*(et-he),Je+Pe*He*Je*(et+he),2*i(s(he))-A+Pe*(et-he)/Oe];var Mt=[1,0,0,0,0,0,0,0,0],Dt=[H(be),0,0,0,0,0,0,0,0],Ut=0;for(Oe=H(1-be),et=1;n(Dt[Ut]/Mt[Ut])>p&&Ut<8;)Pe=Mt[Ut++],Dt[Ut]=(Pe-Oe)/2,Mt[Ut]=(Pe+Oe)/2,Oe=H(Pe*Oe),et*=2;Je=et*Mt[Ut]*he;do He=Dt[Ut]*x(Oe=Je)/Mt[Ut],Je=(q(He)+Je)/2;while(--Ut);return[x(Je),He=o(Je),He/o(Je-Oe),Je]}function Oo(he,be,Pe){var Oe=n(he),Je=n(be),He=G(Je);if(Oe){var et=1/x(Oe),Mt=1/(b(Oe)*b(Oe)),Dt=-(Mt+Pe*(He*He*et*et)-1+Pe),Ut=(Pe-1)*Mt,tr=(-Dt+H(Dt*Dt-4*Ut))/2;return[ho(i(1/H(tr)),Pe)*v(he),ho(i(H((tr/Mt-1)/Pe)),1-Pe)*v(be)]}return[0,ho(i(He),1-Pe)*v(be)]}function ho(he,be){if(!be)return he;if(be===1)return u(b(he/2+L));for(var Pe=1,Oe=H(1-be),Je=H(be),He=0;n(Je)>p;He++){if(he%k){var et=i(Oe*b(he)/Pe);et<0&&(et+=k),he+=et+~~(he/k)*k}else he+=he;Je=(Pe+Oe)/2,Oe=H(Pe*Oe),Je=((Pe=Je)-Oe)/2}return he/(h(2,He)*Pe)}function Mo(he,be){var Pe=(C-1)/(C+1),Oe=H(1-Pe*Pe),Je=ho(A,Oe*Oe),He=-1,et=u(b(k/4+n(be)/2)),Mt=s(He*et)/H(Pe),Dt=xo(Mt*o(He*he),Mt*x(He*he)),Ut=Oo(Dt[0],Dt[1],Oe*Oe);return[-Ut[1],(be>=0?1:-1)*(.5*Je-Ut[0])]}function xo(he,be){var Pe=he*he,Oe=be+1,Je=1-Pe-be*be;return[.5*((he>=0?A:-A)-a(Je,2*he)),-.25*u(Je*Je+4*Pe)+.5*u(Oe*Oe+Pe)]}function zs(he,be){var Pe=be[0]*be[0]+be[1]*be[1];return[(he[0]*be[0]+he[1]*be[1])/Pe,(he[1]*be[0]-he[0]*be[1])/Pe]}Mo.invert=function(he,be){var Pe=(C-1)/(C+1),Oe=H(1-Pe*Pe),Je=ho(A,Oe*Oe),He=-1,et=Sa(.5*Je-be,-he,Oe*Oe),Mt=zs(et[0],et[1]),Dt=a(Mt[1],Mt[0])/He;return[Dt,2*i(s(.5/He*u(Pe*Mt[0]*Mt[0]+Pe*Mt[1]*Mt[1])))-A]};function ks(){return t.geoProjection(an(Mo)).scale(151.496)}function Zs(he){var be=x(he),Pe=o(he),Oe=Xs(he);Oe.invert=Xs(-he);function Je(He,et){var Mt=Oe(He,et);He=Mt[0],et=Mt[1];var Dt=x(et),Ut=o(et),tr=o(He),mr=V(be*Dt+Pe*Ut*tr),Rr=x(mr),zr=n(Rr)>p?mr/Rr:1;return[zr*Pe*x(He),(n(He)>A?zr:-zr)*(be*Ut-Pe*Dt*tr)]}return Je.invert=function(He,et){var Mt=H(He*He+et*et),Dt=-x(Mt),Ut=o(Mt),tr=Mt*Ut,mr=-et*Dt,Rr=Mt*be,zr=H(tr*tr+mr*mr-Rr*Rr),Xr=a(tr*Rr+mr*zr,mr*Rr-tr*zr),di=(Mt>A?-1:1)*a(He*Dt,Mt*o(Xr)*Ut+et*x(Xr)*Dt);return Oe.invert(di,Xr)},Je}function Xs(he){var be=x(he),Pe=o(he);return function(Oe,Je){var He=o(Je),et=o(Oe)*He,Mt=x(Oe)*He,Dt=x(Je);return[a(Mt,et*Pe-Dt*be),q(Dt*Pe+et*be)]}}function wl(){var he=0,be=t.geoProjectionMutator(Zs),Pe=be(he),Oe=Pe.rotate,Je=Pe.stream,He=t.geoCircle();return Pe.parallel=function(et){if(!arguments.length)return he*P;var Mt=Pe.rotate();return be(he=et*T).rotate(Mt)},Pe.rotate=function(et){return arguments.length?(Oe.call(Pe,[et[0],et[1]-he*P]),He.center([-et[0],-et[1]]),Pe):(et=Oe.call(Pe),et[1]+=he*P,et)},Pe.stream=function(et){return et=Je(et),et.sphere=function(){et.polygonStart();var Mt=.01,Dt=He.radius(90-Mt)().coordinates[0],Ut=Dt.length-1,tr=-1,mr;for(et.lineStart();++tr<Ut;)et.point((mr=Dt[tr])[0],mr[1]);for(et.lineEnd(),Dt=He.radius(90+Mt)().coordinates[0],Ut=Dt.length-1,et.lineStart();--tr>=0;)et.point((mr=Dt[tr])[0],mr[1]);et.lineEnd(),et.polygonEnd()},et},Pe.scale(79.4187).parallel(45).clipAngle(180-.001)}var os=3,cl=q(1-1/os)*P,Cs=ar(0);function ml(he){var be=cl*T,Pe=ht(k,be)[0]-ht(-k,be)[0],Oe=Cs(0,be)[1],Je=ht(0,be)[1],He=M-Je,et=g/he,Mt=4/g,Dt=Oe+He*He*4/g;function Ut(tr,mr){var Rr,zr=n(mr);if(zr>be){var Xr=f(he-1,c(0,l((tr+k)/et)));tr+=k*(he-1)/he-Xr*et,Rr=ht(tr,zr),Rr[0]=Rr[0]*g/Pe-g*(he-1)/(2*he)+Xr*g/he,Rr[1]=Oe+(Rr[1]-Je)*4*He/g,mr<0&&(Rr[1]=-Rr[1])}else Rr=Cs(tr,mr);return Rr[0]*=Mt,Rr[1]/=Dt,Rr}return Ut.invert=function(tr,mr){tr/=Mt,mr*=Dt;var Rr=n(mr);if(Rr>Oe){var zr=f(he-1,c(0,l((tr+k)/et)));tr=(tr+k*(he-1)/he-zr*et)*Pe/g;var Xr=ht.invert(tr,.25*(Rr-Oe)*g/He+Je);return Xr[0]-=k*(he-1)/he-zr*et,mr<0&&(Xr[1]=-Xr[1]),Xr}return Cs.invert(tr,mr)},Ut}function Ys(he,be){return[he,be&1?90-p:cl]}function Hs(he,be){return[he,be&1?-90+p:-cl]}function Eo(he){return[he[0]*(1-p),he[1]]}function fs(he){var be=[].concat(r.range(-180,180+he/2,he).map(Ys),r.range(180,-180-he/2,-he).map(Hs));return{type:\"Polygon\",coordinates:[he===180?be.map(Eo):be]}}function Ql(){var he=4,be=t.geoProjectionMutator(ml),Pe=be(he),Oe=Pe.stream;return Pe.lobes=function(Je){return arguments.length?be(he=+Je):he},Pe.stream=function(Je){var He=Pe.rotate(),et=Oe(Je),Mt=(Pe.rotate([0,0]),Oe(Je));return Pe.rotate(He),et.sphere=function(){t.geoStream(fs(180/he),Mt)},et},Pe.scale(239.75)}function Hu(he){var be=1+he,Pe=x(1/be),Oe=q(Pe),Je=2*H(k/(He=k+4*Oe*be)),He,et=.5*Je*(be+H(he*(2+he))),Mt=he*he,Dt=be*be;function Ut(tr,mr){var Rr=1-x(mr),zr,Xr;if(Rr&&Rr<2){var di=A-mr,Li=25,Ci;do{var Qi=x(di),Mn=o(di),pa=Oe+a(Qi,be-Mn),ea=1+Dt-2*be*Mn;di-=Ci=(di-Mt*Oe-be*Qi+ea*pa-.5*Rr*He)/(2*be*Qi*pa)}while(n(Ci)>E&&--Li>0);zr=Je*H(ea),Xr=tr*pa/k}else zr=Je*(he+Rr),Xr=tr*Oe/k;return[zr*x(Xr),et-zr*o(Xr)]}return Ut.invert=function(tr,mr){var Rr=tr*tr+(mr-=et)*mr,zr=(1+Dt-Rr/(Je*Je))/(2*be),Xr=V(zr),di=x(Xr),Li=Oe+a(di,be-zr);return[q(tr/H(Rr))*k/Li,q(1-2*(Xr-Mt*Oe-be*di+(1+Dt-2*be*zr)*Li)/He)]},Ut}function fc(){var he=1,be=t.geoProjectionMutator(Hu),Pe=be(he);return Pe.ratio=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(167.774).center([0,18.67])}var ms=.7109889596207567,on=.0528035274542;function fa(he,be){return be>-ms?(he=Yt(he,be),he[1]+=on,he):St(he,be)}fa.invert=function(he,be){return be>-ms?Yt.invert(he,be-on):St.invert(he,be)};function Qu(){return t.geoProjection(fa).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function Rl(he,be){return n(be)>ms?(he=Yt(he,be),he[1]-=be>0?on:-on,he):St(he,be)}Rl.invert=function(he,be){return n(be)>ms?Yt.invert(he,be+(be>0?on:-on)):St.invert(he,be)};function vo(){return t.geoProjection(Rl).scale(152.63)}function Zl(he,be,Pe,Oe){var Je=H(4*k/(2*Pe+(1+he-be/2)*x(2*Pe)+(he+be)/2*x(4*Pe)+be/2*x(6*Pe))),He=H(Oe*x(Pe)*H((1+he*o(2*Pe)+be*o(4*Pe))/(1+he+be))),et=Pe*Dt(1);function Mt(mr){return H(1+he*o(2*mr)+be*o(4*mr))}function Dt(mr){var Rr=mr*Pe;return(2*Rr+(1+he-be/2)*x(2*Rr)+(he+be)/2*x(4*Rr)+be/2*x(6*Rr))/Pe}function Ut(mr){return Mt(mr)*x(mr)}var tr=function(mr,Rr){var zr=Pe*qt(Dt,et*x(Rr)/Pe,Rr/k);isNaN(zr)&&(zr=Pe*v(Rr));var Xr=Je*Mt(zr);return[Xr*He*mr/k*o(zr),Xr/He*x(zr)]};return tr.invert=function(mr,Rr){var zr=qt(Ut,Rr*He/Je);return[mr*k/(o(zr)*Je*He*Mt(zr)),q(Pe*Dt(zr/Pe)/et)]},Pe===0&&(Je=H(Oe/k),tr=function(mr,Rr){return[mr*Je,x(Rr)/Je]},tr.invert=function(mr,Rr){return[mr/Je,q(Rr*Je)]}),tr}function Ks(){var he=1,be=0,Pe=45*T,Oe=2,Je=t.geoProjectionMutator(Zl),He=Je(he,be,Pe,Oe);return He.a=function(et){return arguments.length?Je(he=+et,be,Pe,Oe):he},He.b=function(et){return arguments.length?Je(he,be=+et,Pe,Oe):be},He.psiMax=function(et){return arguments.length?Je(he,be,Pe=+et*T,Oe):Pe*P},He.ratio=function(et){return arguments.length?Je(he,be,Pe,Oe=+et):Oe},He.scale(180.739)}function Xl(he,be,Pe,Oe,Je,He,et,Mt,Dt,Ut,tr){if(tr.nanEncountered)return NaN;var mr,Rr,zr,Xr,di,Li,Ci,Qi,Mn,pa;if(mr=Pe-be,Rr=he(be+mr*.25),zr=he(Pe-mr*.25),isNaN(Rr)){tr.nanEncountered=!0;return}if(isNaN(zr)){tr.nanEncountered=!0;return}return Xr=mr*(Oe+4*Rr+Je)/12,di=mr*(Je+4*zr+He)/12,Li=Xr+di,pa=(Li-et)/15,Ut>Dt?(tr.maxDepthCount++,Li+pa):Math.abs(pa)<Mt?Li+pa:(Ci=be+mr*.5,Qi=Xl(he,be,Ci,Oe,Rr,Je,Xr,Mt*.5,Dt,Ut+1,tr),isNaN(Qi)?(tr.nanEncountered=!0,NaN):(Mn=Xl(he,Ci,Pe,Je,zr,He,di,Mt*.5,Dt,Ut+1,tr),isNaN(Mn)?(tr.nanEncountered=!0,NaN):Qi+Mn))}function Ec(he,be,Pe,Oe,Je){var He={maxDepthCount:0,nanEncountered:!1};Oe===void 0&&(Oe=1e-8),Je===void 0&&(Je=20);var et=he(be),Mt=he(.5*(be+Pe)),Dt=he(Pe),Ut=(et+4*Mt+Dt)*(Pe-be)/6,tr=Xl(he,be,Pe,et,Mt,Dt,Ut,Oe,Je,1,He);return tr}function Zn(he,be,Pe){function Oe(zr){return he+(1-he)*h(1-h(zr,be),1/be)}function Je(zr){return Ec(Oe,0,zr,1e-4)}for(var He=1/Je(1),et=1e3,Mt=(1+1e-8)*He,Dt=[],Ut=0;Ut<=et;Ut++)Dt.push(Je(Ut/et)*Mt);function tr(zr){var Xr=0,di=et,Li=et>>1;do Dt[Li]>zr?di=Li:Xr=Li,Li=Xr+di>>1;while(Li>Xr);var Ci=Dt[Li+1]-Dt[Li];return Ci&&(Ci=(zr-Dt[Li+1])/Ci),(Li+1+Ci)/et}var mr=2*tr(1)/k*He/Pe,Rr=function(zr,Xr){var di=tr(n(x(Xr))),Li=Oe(di)*zr;return di/=mr,[Li,Xr>=0?di:-di]};return Rr.invert=function(zr,Xr){var di;return Xr*=mr,n(Xr)<1&&(di=v(Xr)*q(Je(n(Xr))*He)),[zr/Oe(n(Xr)),di]},Rr}function ko(){var he=0,be=2.5,Pe=1.183136,Oe=t.geoProjectionMutator(Zn),Je=Oe(he,be,Pe);return Je.alpha=function(He){return arguments.length?Oe(he=+He,be,Pe):he},Je.k=function(He){return arguments.length?Oe(he,be=+He,Pe):be},Je.gamma=function(He){return arguments.length?Oe(he,be,Pe=+He):Pe},Je.scale(152.63)}function Co(he,be){return n(he[0]-be[0])<p&&n(he[1]-be[1])<p}function Tl(he,be){for(var Pe=-1,Oe=he.length,Je=he[0],He,et,Mt,Dt=[];++Pe<Oe;){He=he[Pe],et=(He[0]-Je[0])/be,Mt=(He[1]-Je[1])/be;for(var Ut=0;Ut<be;++Ut)Dt.push([Je[0]+Ut*et,Je[1]+Ut*Mt]);Je=He}return Dt.push(He),Dt}function uf(he){var be=[],Pe,Oe,Je,He,et,Mt,Dt,Ut=he[0].length;for(Dt=0;Dt<Ut;++Dt)Pe=he[0][Dt],Oe=Pe[0][0],Je=Pe[0][1],He=Pe[1][1],et=Pe[2][0],Mt=Pe[2][1],be.push(Tl([[Oe+p,Je+p],[Oe+p,He-p],[et-p,He-p],[et-p,Mt+p]],30));for(Dt=he[1].length-1;Dt>=0;--Dt)Pe=he[1][Dt],Oe=Pe[0][0],Je=Pe[0][1],He=Pe[1][1],et=Pe[2][0],Mt=Pe[2][1],be.push(Tl([[et-p,Mt-p],[et-p,He+p],[Oe+p,He+p],[Oe+p,Je-p]],30));return{type:\"Polygon\",coordinates:[r.merge(be)]}}function So(he,be,Pe){var Oe,Je;function He(Dt,Ut){for(var tr=Ut<0?-1:1,mr=be[+(Ut<0)],Rr=0,zr=mr.length-1;Rr<zr&&Dt>mr[Rr][2][0];++Rr);var Xr=he(Dt-mr[Rr][1][0],Ut);return Xr[0]+=he(mr[Rr][1][0],tr*Ut>tr*mr[Rr][0][1]?mr[Rr][0][1]:Ut)[0],Xr}Pe?He.invert=Pe(He):he.invert&&(He.invert=function(Dt,Ut){for(var tr=Je[+(Ut<0)],mr=be[+(Ut<0)],Rr=0,zr=tr.length;Rr<zr;++Rr){var Xr=tr[Rr];if(Xr[0][0]<=Dt&&Dt<Xr[1][0]&&Xr[0][1]<=Ut&&Ut<Xr[1][1]){var di=he.invert(Dt-he(mr[Rr][1][0],0)[0],Ut);return di[0]+=mr[Rr][1][0],Co(He(di[0],di[1]),[Dt,Ut])?di:null}}});var et=t.geoProjection(He),Mt=et.stream;return et.stream=function(Dt){var Ut=et.rotate(),tr=Mt(Dt),mr=(et.rotate([0,0]),Mt(Dt));return et.rotate(Ut),tr.sphere=function(){t.geoStream(Oe,mr)},tr},et.lobes=function(Dt){return arguments.length?(Oe=uf(Dt),be=Dt.map(function(Ut){return Ut.map(function(tr){return[[tr[0][0]*T,tr[0][1]*T],[tr[1][0]*T,tr[1][1]*T],[tr[2][0]*T,tr[2][1]*T]]})}),Je=be.map(function(Ut){return Ut.map(function(tr){var mr=he(tr[0][0],tr[0][1])[0],Rr=he(tr[2][0],tr[2][1])[0],zr=he(tr[1][0],tr[0][1])[1],Xr=he(tr[1][0],tr[1][1])[1],di;return zr>Xr&&(di=zr,zr=Xr,Xr=di),[[mr,zr],[Rr,Xr]]})}),et):be.map(function(Ut){return Ut.map(function(tr){return[[tr[0][0]*P,tr[0][1]*P],[tr[1][0]*P,tr[1][1]*P],[tr[2][0]*P,tr[2][1]*P]]})})},be!=null&&et.lobes(be),et}var cf=[[[[-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 rh(){return So(xt,cf).scale(160.857)}var Al=[[[[-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 Hc(){return So(Rl,Al).scale(152.63)}var eu=[[[[-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 Ls(){return So(Yt,eu).scale(169.529)}var mu=[[[[-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 kc(){return So(Yt,mu).scale(169.529).rotate([20,0])}var Of=[[[[-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 Gc(){return So(fa,Of,rt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var vd=[[[[-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 Bf(){return So(St,vd).scale(152.63).rotate([-20,0])}function ss(he,be){return[3/g*he*H(k*k/3-be*be),be]}ss.invert=function(he,be){return[g/3*he/H(k*k/3-be*be),be]};function ff(){return t.geoProjection(ss).scale(158.837)}function ih(he){function be(Pe,Oe){if(n(n(Oe)-A)<p)return[0,Oe<0?-2:2];var Je=x(Oe),He=h((1+Je)/(1-Je),he/2),et=.5*(He+1/He)+o(Pe*=he);return[2*x(Pe)/et,(He-1/He)/et]}return be.invert=function(Pe,Oe){var Je=n(Oe);if(n(Je-2)<p)return Pe?null:[0,v(Oe)*A];if(Je>2)return null;Pe/=2,Oe/=2;var He=Pe*Pe,et=Oe*Oe,Mt=2*Oe/(1+He+et);return Mt=h((1+Mt)/(1-Mt),1/he),[a(2*Pe,1-He-et)/he,q((Mt-1)/(Mt+1))]},be}function Vl(){var he=.5,be=t.geoProjectionMutator(ih),Pe=be(he);return Pe.spacing=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(124.75)}var Js=k/C;function hc(he,be){return[he*(1+H(o(be)))/2,be/(o(be/2)*o(he/6))]}hc.invert=function(he,be){var Pe=n(he),Oe=n(be),Je=p,He=A;Oe<Js?He*=Oe/Js:Je+=6*V(Js/Oe);for(var et=0;et<25;et++){var Mt=x(He),Dt=H(o(He)),Ut=x(He/2),tr=o(He/2),mr=x(Je/6),Rr=o(Je/6),zr=.5*Je*(1+Dt)-Pe,Xr=He/(tr*Rr)-Oe,di=Dt?-.25*Je*Mt/Dt:0,Li=.5*(1+Dt),Ci=(1+.5*He*Ut/tr)/(tr*Rr),Qi=He/tr*(mr/6)/(Rr*Rr),Mn=di*Qi-Ci*Li,pa=(zr*Qi-Xr*Li)/Mn,ea=(Xr*di-zr*Ci)/Mn;if(He-=pa,Je-=ea,n(pa)<p&&n(ea)<p)break}return[he<0?-Je:Je,be<0?-He:He]};function Cc(){return t.geoProjection(hc).scale(97.2672)}function ws(he,be){var Pe=he*he,Oe=be*be;return[he*(.975534+Oe*(-.119161+Pe*-.0143059+Oe*-.0547009)),be*(1.00384+Pe*(.0802894+Oe*-.02855+Pe*199025e-9)+Oe*(.0998909+Oe*-.0491032))]}ws.invert=function(he,be){var Pe=v(he)*k,Oe=be/2,Je=50;do{var He=Pe*Pe,et=Oe*Oe,Mt=Pe*Oe,Dt=Pe*(.975534+et*(-.119161+He*-.0143059+et*-.0547009))-he,Ut=Oe*(1.00384+He*(.0802894+et*-.02855+He*199025e-9)+et*(.0998909+et*-.0491032))-be,tr=.975534-et*(.119161+3*He*.0143059+et*.0547009),mr=-Mt*(2*.119161+4*.0547009*et+2*.0143059*He),Rr=Mt*(2*.0802894+4*199025e-9*He+2*-.02855*et),zr=1.00384+He*(.0802894+199025e-9*He)+et*(3*(.0998909-.02855*He)-5*.0491032*et),Xr=mr*Rr-zr*tr,di=(Ut*mr-Dt*zr)/Xr,Li=(Dt*Rr-Ut*tr)/Xr;Pe-=di,Oe-=Li}while((n(di)>p||n(Li)>p)&&--Je>0);return Je&&[Pe,Oe]};function $s(){return t.geoProjection(ws).scale(139.98)}function hs(he,be){return[x(he)/o(be),b(be)*o(he)]}hs.invert=function(he,be){var Pe=he*he,Oe=be*be,Je=Oe+1,He=Pe+Je,et=he?_*H((He-H(He*He-4*Pe))/Pe):1/H(Je);return[q(he*et),v(be)*V(et)]};function Ms(){return t.geoProjection(hs).scale(144.049).clipAngle(90-.001)}function dc(he){var be=o(he),Pe=b(L+he/2);function Oe(Je,He){var et=He-he,Mt=n(et)<p?Je*be:n(Mt=L+He/2)<p||n(n(Mt)-A)<p?0:Je*et/u(b(Mt)/Pe);return[Mt,et]}return Oe.invert=function(Je,He){var et,Mt=He+he;return[n(He)<p?Je/be:n(et=L+Mt/2)<p||n(n(et)-A)<p?0:Je*u(b(et)/Pe)/He,Mt]},Oe}function Sl(){return Lt(dc).parallel(40).scale(158.837)}function ec(he,be){return[he,1.25*u(b(L+.4*be))]}ec.invert=function(he,be){return[he,2.5*i(s(.8*be))-.625*k]};function Ps(){return t.geoProjection(ec).scale(108.318)}function ov(he){var be=he.length-1;function Pe(Oe,Je){for(var He=o(Je),et=2/(1+He*o(Oe)),Mt=et*He*x(Oe),Dt=et*x(Je),Ut=be,tr=he[Ut],mr=tr[0],Rr=tr[1],zr;--Ut>=0;)tr=he[Ut],mr=tr[0]+Mt*(zr=mr)-Dt*Rr,Rr=tr[1]+Mt*Rr+Dt*zr;return mr=Mt*(zr=mr)-Dt*Rr,Rr=Mt*Rr+Dt*zr,[mr,Rr]}return Pe.invert=function(Oe,Je){var He=20,et=Oe,Mt=Je;do{for(var Dt=be,Ut=he[Dt],tr=Ut[0],mr=Ut[1],Rr=0,zr=0,Xr;--Dt>=0;)Ut=he[Dt],Rr=tr+et*(Xr=Rr)-Mt*zr,zr=mr+et*zr+Mt*Xr,tr=Ut[0]+et*(Xr=tr)-Mt*mr,mr=Ut[1]+et*mr+Mt*Xr;Rr=tr+et*(Xr=Rr)-Mt*zr,zr=mr+et*zr+Mt*Xr,tr=et*(Xr=tr)-Mt*mr-Oe,mr=et*mr+Mt*Xr-Je;var di=Rr*Rr+zr*zr,Li,Ci;et-=Li=(tr*Rr+mr*zr)/di,Mt-=Ci=(mr*Rr-tr*zr)/di}while(n(Li)+n(Ci)>p*p&&--He>0);if(He){var Qi=H(et*et+Mt*Mt),Mn=2*i(Qi*.5),pa=x(Mn);return[a(et*pa,Qi*o(Mn)),Qi?q(Mt*pa/Qi):0]}},Pe}var wo=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],Od=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],$o=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Ja=[[.9245,0],[0,0],[.01943,0]],Ef=[[.721316,0],[0,0],[-.00881625,-.00617325]];function tc(){return Ml(wo,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function uu(){return Ml(Od,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Mh(){return Ml($o,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function jc(){return Ml(Ja,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function kf(){return Ml(Ef,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Ml(he,be){var Pe=t.geoProjection(ov(he)).rotate(be).clipAngle(90),Oe=t.geoRotation(be),Je=Pe.center;return delete Pe.rotate,Pe.center=function(He){return arguments.length?Je(Oe(He)):Oe.invert(Je())},Pe}var Yh=H(6),Eh=H(7);function nh(he,be){var Pe=q(7*x(be)/(3*Yh));return[Yh*he*(2*o(2*Pe/3)-1)/Eh,9*x(Pe/3)/Eh]}nh.invert=function(he,be){var Pe=3*q(be*Eh/9);return[he*Eh/(Yh*(2*o(2*Pe/3)-1)),q(x(Pe)*3*Yh/7)]};function hf(){return t.geoProjection(nh).scale(164.859)}function kh(he,be){for(var Pe=(1+_)*x(be),Oe=be,Je=0,He;Je<25&&(Oe-=He=(x(Oe/2)+x(Oe)-Pe)/(.5*o(Oe/2)+o(Oe)),!(n(He)<p));Je++);return[he*(1+2*o(Oe)/o(Oe/2))/(3*C),2*H(3)*x(Oe/2)/H(2+C)]}kh.invert=function(he,be){var Pe=be*H(2+C)/(2*H(3)),Oe=2*q(Pe);return[3*C*he/(1+2*o(Oe)/o(Oe/2)),q((Pe+x(Oe))/(1+_))]};function Kh(){return t.geoProjection(kh).scale(188.209)}function rc(he,be){for(var Pe=H(6/(4+k)),Oe=(1+k/4)*x(be),Je=be/2,He=0,et;He<25&&(Je-=et=(Je/2+x(Je)-Oe)/(.5+o(Je)),!(n(et)<p));He++);return[Pe*(.5+o(Je))*he/1.5,Pe*Je]}rc.invert=function(he,be){var Pe=H(6/(4+k)),Oe=be/Pe;return n(n(Oe)-A)<p&&(Oe=Oe<0?-A:A),[1.5*he/(Pe*(.5+o(Oe))),q((Oe/2+x(Oe))/(1+k/4))]};function ah(){return t.geoProjection(rc).scale(166.518)}function Wc(he,be){var Pe=be*be,Oe=Pe*Pe,Je=Pe*Oe;return[he*(.84719-.13063*Pe+Je*Je*(-.04515+.05494*Pe-.02326*Oe+.00331*Je)),be*(1.01183+Oe*Oe*(-.02625+.01926*Pe-.00396*Oe))]}Wc.invert=function(he,be){var Pe=be,Oe=25,Je,He,et,Mt;do He=Pe*Pe,et=He*He,Pe-=Je=(Pe*(1.01183+et*et*(-.02625+.01926*He-.00396*et))-be)/(1.01183+et*et*(9*-.02625+11*.01926*He+13*-.00396*et));while(n(Je)>E&&--Oe>0);return He=Pe*Pe,et=He*He,Mt=He*et,[he/(.84719-.13063*He+Mt*Mt*(-.04515+.05494*He-.02326*et+.00331*Mt)),Pe]};function df(){return t.geoProjection(Wc).scale(175.295)}function Cu(he,be){return[he*(1+o(be))/2,2*(be-b(be/2))]}Cu.invert=function(he,be){for(var Pe=be/2,Oe=0,Je=1/0;Oe<10&&n(Je)>p;++Oe){var He=o(be/2);be-=Je=(be-b(be/2)-Pe)/(1-.5/(He*He))}return[2*he/(1+o(be)),be]};function Nf(){return t.geoProjection(Cu).scale(152.63)}var Zc=[[[[-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 ds(){return So(Ge(1/0),Zc).rotate([20,0]).scale(152.63)}function Ch(he,be){var Pe=x(be),Oe=o(be),Je=v(he);if(he===0||n(be)===A)return[0,be];if(be===0)return[he,0];if(n(he)===A)return[he*Oe,A*Pe];var He=k/(2*he)-2*he/k,et=2*be/k,Mt=(1-et*et)/(Pe-et),Dt=He*He,Ut=Mt*Mt,tr=1+Dt/Ut,mr=1+Ut/Dt,Rr=(He*Pe/Mt-He/2)/tr,zr=(Ut*Pe/Dt+Mt/2)/mr,Xr=Rr*Rr+Oe*Oe/tr,di=zr*zr-(Ut*Pe*Pe/Dt+Mt*Pe-1)/mr;return[A*(Rr+H(Xr)*Je),A*(zr+H(di<0?0:di)*v(-be*He)*Je)]}Ch.invert=function(he,be){he/=A,be/=A;var Pe=he*he,Oe=be*be,Je=Pe+Oe,He=k*k;return[he?(Je-1+H((1-Je)*(1-Je)+4*Pe))/(2*he)*A:0,qt(function(et){return Je*(k*x(et)-2*et)*k+4*et*et*(be-x(et))+2*k*et-He*be},0)]};function Bd(){return t.geoProjection(Ch).scale(127.267)}var Jh=1.0148,Cf=.23185,pd=-.14499,Lu=.02406,$h=Jh,tu=5*Cf,Pu=7*pd,Lc=9*Lu,fl=1.790857183;function Xc(he,be){var Pe=be*be;return[he,be*(Jh+Pe*Pe*(Cf+Pe*(pd+Lu*Pe)))]}Xc.invert=function(he,be){be>fl?be=fl:be<-fl&&(be=-fl);var Pe=be,Oe;do{var Je=Pe*Pe;Pe-=Oe=(Pe*(Jh+Je*Je*(Cf+Je*(pd+Lu*Je)))-be)/($h+Je*Je*(tu+Je*(Pu+Lc*Je)))}while(n(Oe)>p);return[he,Pe]};function ic(){return t.geoProjection(Xc).scale(139.319)}function yu(he,be){if(n(be)<p)return[he,0];var Pe=b(be),Oe=he*x(be);return[x(Oe)/Pe,be+(1-o(Oe))/Pe]}yu.invert=function(he,be){if(n(be)<p)return[he,0];var Pe=he*he+be*be,Oe=be*.5,Je=10,He;do{var et=b(Oe),Mt=1/o(Oe),Dt=Pe-2*be*Oe+Oe*Oe;Oe-=He=(et*Dt+2*(Oe-be))/(2+Dt*Mt*Mt+2*(Oe-be)*et)}while(n(He)>p&&--Je>0);return et=b(Oe),[(n(be)<n(Oe+1/et)?q(he*et):v(be)*v(he)*(V(n(he*et))+A))/x(Oe),Oe]};function Qs(){return t.geoProjection(yu).scale(103.74)}function Qh(he,be){var Pe=Pc(he[1],he[0]),Oe=Pc(be[1],be[0]),Je=sv(Pe,Oe),He=vc(Pe)/vc(Oe);return Gu([1,0,he[0][0],0,1,he[0][1]],Gu([He,0,0,0,He,0],Gu([o(Je),x(Je),0,-x(Je),o(Je),0],[1,0,-be[0][0],0,1,-be[0][1]])))}function gd(he){var be=1/(he[0]*he[4]-he[1]*he[3]);return[be*he[4],-be*he[1],be*(he[1]*he[5]-he[2]*he[4]),-be*he[3],be*he[0],be*(he[2]*he[3]-he[0]*he[5])]}function Gu(he,be){return[he[0]*be[0]+he[1]*be[3],he[0]*be[1]+he[1]*be[4],he[0]*be[2]+he[1]*be[5]+he[2],he[3]*be[0]+he[4]*be[3],he[3]*be[1]+he[4]*be[4],he[3]*be[2]+he[4]*be[5]+he[5]]}function Pc(he,be){return[he[0]-be[0],he[1]-be[1]]}function vc(he){return H(he[0]*he[0]+he[1]*he[1])}function sv(he,be){return a(he[0]*be[1]-he[1]*be[0],he[0]*be[0]+he[1]*be[1])}function Lf(he,be,Pe){Oe(he,{transform:null});function Oe(Ut,tr){if(Ut.edges=ru(Ut.face),tr.face){var mr=Ut.shared=oh(Ut.face,tr.face),Rr=Qh(mr.map(tr.project),mr.map(Ut.project));Ut.transform=tr.transform?Gu(tr.transform,Rr):Rr;for(var zr=tr.edges,Xr=0,di=zr.length;Xr<di;++Xr)Iu(mr[0],zr[Xr][1])&&Iu(mr[1],zr[Xr][0])&&(zr[Xr]=Ut),Iu(mr[0],zr[Xr][0])&&Iu(mr[1],zr[Xr][1])&&(zr[Xr]=Ut);for(zr=Ut.edges,Xr=0,di=zr.length;Xr<di;++Xr)Iu(mr[0],zr[Xr][0])&&Iu(mr[1],zr[Xr][1])&&(zr[Xr]=tr),Iu(mr[0],zr[Xr][1])&&Iu(mr[1],zr[Xr][0])&&(zr[Xr]=tr)}else Ut.transform=tr.transform;return Ut.children&&Ut.children.forEach(function(Li){Oe(Li,Ut)}),Ut}function Je(Ut,tr){var mr=be(Ut,tr),Rr=mr.project([Ut*P,tr*P]),zr;return(zr=mr.transform)?[zr[0]*Rr[0]+zr[1]*Rr[1]+zr[2],-(zr[3]*Rr[0]+zr[4]*Rr[1]+zr[5])]:(Rr[1]=-Rr[1],Rr)}vf(he)&&(Je.invert=function(Ut,tr){var mr=He(he,[Ut,-tr]);return mr&&(mr[0]*=T,mr[1]*=T,mr)});function He(Ut,tr){var mr=Ut.project.invert,Rr=Ut.transform,zr=tr;if(Rr&&(Rr=gd(Rr),zr=[Rr[0]*zr[0]+Rr[1]*zr[1]+Rr[2],Rr[3]*zr[0]+Rr[4]*zr[1]+Rr[5]]),mr&&Ut===et(Xr=mr(zr)))return Xr;for(var Xr,di=Ut.children,Li=0,Ci=di&&di.length;Li<Ci;++Li)if(Xr=He(di[Li],tr))return Xr}function et(Ut){return be(Ut[0]*T,Ut[1]*T)}var Mt=t.geoProjection(Je),Dt=Mt.stream;return Mt.stream=function(Ut){var tr=Mt.rotate(),mr=Dt(Ut),Rr=(Mt.rotate([0,0]),Dt(Ut));return Mt.rotate(tr),mr.sphere=function(){Rr.polygonStart(),Rr.lineStart(),Uf(Rr,he),Rr.lineEnd(),Rr.polygonEnd()},mr},Mt.angle(Pe==null?-30:Pe*P)}function Uf(he,be,Pe){var Oe,Je=be.edges,He=Je.length,et,Mt={type:\"MultiPoint\",coordinates:be.face},Dt=be.face.filter(function(di){return n(di[1])!==90}),Ut=t.geoBounds({type:\"MultiPoint\",coordinates:Dt}),tr=!1,mr=-1,Rr=Ut[1][0]-Ut[0][0],zr=Rr===180||Rr===360?[(Ut[0][0]+Ut[1][0])/2,(Ut[0][1]+Ut[1][1])/2]:t.geoCentroid(Mt);if(Pe)for(;++mr<He&&Je[mr]!==Pe;);++mr;for(var Xr=0;Xr<He;++Xr)et=Je[(Xr+mr)%He],Array.isArray(et)?(tr||(he.point((Oe=t.geoInterpolate(et[0],zr)(p))[0],Oe[1]),tr=!0),he.point((Oe=t.geoInterpolate(et[1],zr)(p))[0],Oe[1])):(tr=!1,et!==Pe&&Uf(he,et,be))}function Iu(he,be){return he&&be&&he[0]===be[0]&&he[1]===be[1]}function oh(he,be){for(var Pe,Oe,Je=he.length,He=null,et=0;et<Je;++et){Pe=he[et];for(var Mt=be.length;--Mt>=0;)if(Oe=be[Mt],Pe[0]===Oe[0]&&Pe[1]===Oe[1]){if(He)return[He,Pe];He=Pe}}}function ru(he){for(var be=he.length,Pe=[],Oe=he[be-1],Je=0;Je<be;++Je)Pe.push([Oe,Oe=he[Je]]);return Pe}function vf(he){return he.project.invert||he.children&&he.children.some(vf)}var md=[[0,90],[-90,0],[0,0],[90,0],[180,0],[0,-90]],sh=[[0,2,1],[0,3,2],[5,1,2],[5,2,3],[0,1,4],[0,4,3],[5,4,1],[5,3,4]].map(function(he){return he.map(function(be){return md[be]})});function Fs(he){he=he||function(Pe){var Oe=t.geoCentroid({type:\"MultiPoint\",coordinates:Pe});return t.geoGnomonic().scale(1).translate([0,0]).rotate([-Oe[0],-Oe[1]])};var be=sh.map(function(Pe){return{face:Pe,project:he(Pe)}});return[-1,0,0,1,0,1,4,5].forEach(function(Pe,Oe){var Je=be[Pe];Je&&(Je.children||(Je.children=[])).push(be[Oe])}),Lf(be[0],function(Pe,Oe){return be[Pe<-k/2?Oe<0?6:4:Pe<0?Oe<0?2:0:Pe<k/2?Oe<0?3:1:Oe<0?7:5]}).angle(-30).scale(101.858).center([0,45])}var _u=2/H(3);function xu(he,be){var Pe=ht(he,be);return[Pe[0]*_u,Pe[1]]}xu.invert=function(he,be){return ht.invert(he/_u,be)};function Lh(he){he=he||function(Pe){var Oe=t.geoCentroid({type:\"MultiPoint\",coordinates:Pe});return t.geoProjection(xu).translate([0,0]).scale(1).rotate(Oe[1]>0?[-Oe[0],0]:[180-Oe[0],180])};var be=sh.map(function(Pe){return{face:Pe,project:he(Pe)}});return[-1,0,0,1,0,1,4,5].forEach(function(Pe,Oe){var Je=be[Pe];Je&&(Je.children||(Je.children=[])).push(be[Oe])}),Lf(be[0],function(Pe,Oe){return be[Pe<-k/2?Oe<0?6:4:Pe<0?Oe<0?2:0:Pe<k/2?Oe<0?3:1:Oe<0?7:5]}).angle(-30).scale(121.906).center([0,48.5904])}function Is(he){he=he||function(et){var Mt=et.length===6?t.geoCentroid({type:\"MultiPoint\",coordinates:et}):et[0];return t.geoGnomonic().scale(1).translate([0,0]).rotate([-Mt[0],-Mt[1]])};var be=sh.map(function(et){for(var Mt=et.map(Vf),Dt=Mt.length,Ut=Mt[Dt-1],tr,mr=[],Rr=0;Rr<Dt;++Rr)tr=Mt[Rr],mr.push(ju([Ut[0]*.9486832980505138+tr[0]*.31622776601683794,Ut[1]*.9486832980505138+tr[1]*.31622776601683794,Ut[2]*.9486832980505138+tr[2]*.31622776601683794]),ju([tr[0]*.9486832980505138+Ut[0]*.31622776601683794,tr[1]*.9486832980505138+Ut[1]*.31622776601683794,tr[2]*.9486832980505138+Ut[2]*.31622776601683794])),Ut=tr;return mr}),Pe=[],Oe=[-1,0,0,1,0,1,4,5];be.forEach(function(et,Mt){for(var Dt=sh[Mt],Ut=Dt.length,tr=Pe[Mt]=[],mr=0;mr<Ut;++mr)be.push([Dt[mr],et[(mr*2+2)%(2*Ut)],et[(mr*2+1)%(2*Ut)]]),Oe.push(Mt),tr.push(Ic(Vf(et[(mr*2+2)%(2*Ut)]),Vf(et[(mr*2+1)%(2*Ut)])))});var Je=be.map(function(et){return{project:he(et),face:et}});Oe.forEach(function(et,Mt){var Dt=Je[et];Dt&&(Dt.children||(Dt.children=[])).push(Je[Mt])});function He(et,Mt){var Dt=o(Mt),Ut=[Dt*o(et),Dt*x(et),x(Mt)],tr=et<-k/2?Mt<0?6:4:et<0?Mt<0?2:0:et<k/2?Mt<0?3:1:Mt<0?7:5,mr=Pe[tr];return Je[Pf(mr[0],Ut)<0?8+3*tr:Pf(mr[1],Ut)<0?8+3*tr+1:Pf(mr[2],Ut)<0?8+3*tr+2:tr]}return Lf(Je[0],He).angle(-30).scale(110.625).center([0,45])}function Pf(he,be){for(var Pe=0,Oe=he.length,Je=0;Pe<Oe;++Pe)Je+=he[Pe]*be[Pe];return Je}function Ic(he,be){return[he[1]*be[2]-he[2]*be[1],he[2]*be[0]-he[0]*be[2],he[0]*be[1]-he[1]*be[0]]}function ju(he){return[a(he[1],he[0])*P,q(c(-1,f(1,he[2])))*P]}function Vf(he){var be=he[0]*T,Pe=he[1]*T,Oe=o(Pe);return[Oe*o(be),Oe*x(be),x(Pe)]}function pc(){}function pf(he){if((Pe=he.length)<4)return!1;for(var be=0,Pe,Oe=he[Pe-1][1]*he[0][0]-he[Pe-1][0]*he[0][1];++be<Pe;)Oe+=he[be-1][1]*he[be][0]-he[be-1][0]*he[be][1];return Oe<=0}function Ph(he,be){for(var Pe=be[0],Oe=be[1],Je=!1,He=0,et=he.length,Mt=et-1;He<et;Mt=He++){var Dt=he[He],Ut=Dt[0],tr=Dt[1],mr=he[Mt],Rr=mr[0],zr=mr[1];tr>Oe^zr>Oe&&Pe<(Rr-Ut)*(Oe-tr)/(zr-tr)+Ut&&(Je=!Je)}return Je}function Dl(he,be){var Pe=be.stream,Oe;if(!Pe)throw new Error(\"invalid projection\");switch(he&&he.type){case\"Feature\":Oe=Wu;break;case\"FeatureCollection\":Oe=Ih;break;default:Oe=gc;break}return Oe(he,Pe)}function Ih(he,be){return{type:\"FeatureCollection\",features:he.features.map(function(Pe){return Wu(Pe,be)})}}function Wu(he,be){return{type:\"Feature\",id:he.id,properties:he.properties,geometry:gc(he.geometry,be)}}function Rc(he,be){return{type:\"GeometryCollection\",geometries:he.geometries.map(function(Pe){return gc(Pe,be)})}}function gc(he,be){if(!he)return null;if(he.type===\"GeometryCollection\")return Rc(he,be);var Pe;switch(he.type){case\"Point\":Pe=mc;break;case\"MultiPoint\":Pe=mc;break;case\"LineString\":Pe=Yc;break;case\"MultiLineString\":Pe=Yc;break;case\"Polygon\":Pe=nc;break;case\"MultiPolygon\":Pe=nc;break;case\"Sphere\":Pe=nc;break;default:return null}return t.geoStream(he,be(Pe)),Pe.result()}var hl=[],iu=[],mc={point:function(he,be){hl.push([he,be])},result:function(){var he=hl.length?hl.length<2?{type:\"Point\",coordinates:hl[0]}:{type:\"MultiPoint\",coordinates:hl}:null;return hl=[],he}},Yc={lineStart:pc,point:function(he,be){hl.push([he,be])},lineEnd:function(){hl.length&&(iu.push(hl),hl=[])},result:function(){var he=iu.length?iu.length<2?{type:\"LineString\",coordinates:iu[0]}:{type:\"MultiLineString\",coordinates:iu}:null;return iu=[],he}},nc={polygonStart:pc,lineStart:pc,point:function(he,be){hl.push([he,be])},lineEnd:function(){var he=hl.length;if(he){do hl.push(hl[0].slice());while(++he<4);iu.push(hl),hl=[]}},polygonEnd:pc,result:function(){if(!iu.length)return null;var he=[],be=[];return iu.forEach(function(Pe){pf(Pe)?he.push([Pe]):be.push(Pe)}),be.forEach(function(Pe){var Oe=Pe[0];he.some(function(Je){if(Ph(Je[0],Oe))return Je.push(Pe),!0})||he.push([Pe])}),iu=[],he.length?he.length>1?{type:\"MultiPolygon\",coordinates:he}:{type:\"Polygon\",coordinates:he[0]}:null}};function gf(he){var be=he(A,0)[0]-he(-A,0)[0];function Pe(Oe,Je){var He=n(Oe)<A,et=he(He?Oe:Oe>0?Oe-k:Oe+k,Je),Mt=(et[0]-et[1])*_,Dt=(et[0]+et[1])*_;if(He)return[Mt,Dt];var Ut=be*_,tr=Mt>0^Dt>0?-1:1;return[tr*Mt-v(Dt)*Ut,tr*Dt-v(Mt)*Ut]}return he.invert&&(Pe.invert=function(Oe,Je){var He=(Oe+Je)*_,et=(Je-Oe)*_,Mt=n(He)<.5*be&&n(et)<.5*be;if(!Mt){var Dt=be*_,Ut=He>0^et>0?-1:1,tr=-Ut*Oe+(et>0?1:-1)*Dt,mr=-Ut*Je+(He>0?1:-1)*Dt;He=(-tr-mr)*_,et=(tr-mr)*_}var Rr=he.invert(He,et);return Mt||(Rr[0]+=He>0?k:-k),Rr}),t.geoProjection(Pe).rotate([-90,-90,45]).clipAngle(180-.001)}function gt(){return gf(hi).scale(176.423)}function Bt(){return gf(Mo).scale(111.48)}function wr(he,be){if(!(0<=(be=+be)&&be<=20))throw new Error(\"invalid digits\");function Pe(Ut){var tr=Ut.length,mr=2,Rr=new Array(tr);for(Rr[0]=+Ut[0].toFixed(be),Rr[1]=+Ut[1].toFixed(be);mr<tr;)Rr[mr]=Ut[mr],++mr;return Rr}function Oe(Ut){return Ut.map(Pe)}function Je(Ut){for(var tr=Pe(Ut[0]),mr=[tr],Rr=1;Rr<Ut.length;Rr++){var zr=Pe(Ut[Rr]);(zr.length>2||zr[0]!=tr[0]||zr[1]!=tr[1])&&(mr.push(zr),tr=zr)}return mr.length===1&&Ut.length>1&&mr.push(Pe(Ut[Ut.length-1])),mr}function He(Ut){return Ut.map(Je)}function et(Ut){if(Ut==null)return Ut;var tr;switch(Ut.type){case\"GeometryCollection\":tr={type:\"GeometryCollection\",geometries:Ut.geometries.map(et)};break;case\"Point\":tr={type:\"Point\",coordinates:Pe(Ut.coordinates)};break;case\"MultiPoint\":tr={type:Ut.type,coordinates:Oe(Ut.coordinates)};break;case\"LineString\":tr={type:Ut.type,coordinates:Je(Ut.coordinates)};break;case\"MultiLineString\":case\"Polygon\":tr={type:Ut.type,coordinates:He(Ut.coordinates)};break;case\"MultiPolygon\":tr={type:\"MultiPolygon\",coordinates:Ut.coordinates.map(He)};break;default:return Ut}return Ut.bbox!=null&&(tr.bbox=Ut.bbox),tr}function Mt(Ut){var tr={type:\"Feature\",properties:Ut.properties,geometry:et(Ut.geometry)};return Ut.id!=null&&(tr.id=Ut.id),Ut.bbox!=null&&(tr.bbox=Ut.bbox),tr}if(he!=null)switch(he.type){case\"Feature\":return Mt(he);case\"FeatureCollection\":{var Dt={type:\"FeatureCollection\",features:he.features.map(Mt)};return he.bbox!=null&&(Dt.bbox=he.bbox),Dt}default:return et(he)}return he}function vr(he){var be=x(he);function Pe(Oe,Je){var He=be?b(Oe*be/2)/be:Oe/2;if(!Je)return[2*He,-he];var et=2*i(He*x(Je)),Mt=1/b(Je);return[x(et)*Mt,Je+(1-o(et))*Mt-he]}return Pe.invert=function(Oe,Je){if(n(Je+=he)<p)return[be?2*i(be*Oe/2)/be:Oe,0];var He=Oe*Oe+Je*Je,et=0,Mt=10,Dt;do{var Ut=b(et),tr=1/o(et),mr=He-2*Je*et+et*et;et-=Dt=(Ut*mr+2*(et-Je))/(2+mr*tr*tr+2*(et-Je)*Ut)}while(n(Dt)>p&&--Mt>0);var Rr=Oe*(Ut=b(et)),zr=b(n(Je)<n(et+1/Ut)?q(Rr)*.5:V(Rr)*.5+k/4)/x(et);return[be?2*i(be*zr)/be:2*zr,et]},Pe}function Ur(){return Lt(vr).scale(131.215)}var fi=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];fi.forEach(function(he){he[1]*=1.0144});function xi(he,be){var Pe=f(18,n(be)*36/k),Oe=l(Pe),Je=Pe-Oe,He=(mr=fi[Oe])[0],et=mr[1],Mt=(mr=fi[++Oe])[0],Dt=mr[1],Ut=(mr=fi[f(19,++Oe)])[0],tr=mr[1],mr;return[he*(Mt+Je*(Ut-He)/2+Je*Je*(Ut-2*Mt+He)/2),(be>0?A:-A)*(Dt+Je*(tr-et)/2+Je*Je*(tr-2*Dt+et)/2)]}xi.invert=function(he,be){var Pe=be/A,Oe=Pe*90,Je=f(18,n(Oe/5)),He=c(0,l(Je));do{var et=fi[He][1],Mt=fi[He+1][1],Dt=fi[f(19,He+2)][1],Ut=Dt-et,tr=Dt-2*Mt+et,mr=2*(n(Pe)-Mt)/Ut,Rr=tr/Ut,zr=mr*(1-Rr*mr*(1-2*Rr*mr));if(zr>=0||He===1){Oe=(be>=0?5:-5)*(zr+Je);var Xr=50,di;do Je=f(18,n(Oe)/5),He=l(Je),zr=Je-He,et=fi[He][1],Mt=fi[He+1][1],Dt=fi[f(19,He+2)][1],Oe-=(di=(be>=0?A:-A)*(Mt+zr*(Dt-et)/2+zr*zr*(Dt-2*Mt+et)/2)-be)*P;while(n(di)>E&&--Xr>0);break}}while(--He>=0);var Li=fi[He][0],Ci=fi[He+1][0],Qi=fi[f(19,He+2)][0];return[he/(Ci+zr*(Qi-Li)/2+zr*zr*(Qi-2*Ci+Li)/2),Oe*T]};function Fi(){return t.geoProjection(xi).scale(152.63)}function Xi(he){function be(Pe,Oe){var Je=o(Oe),He=(he-1)/(he-Je*o(Pe));return[He*Je*x(Pe),He*x(Oe)]}return be.invert=function(Pe,Oe){var Je=Pe*Pe+Oe*Oe,He=H(Je),et=(he-H(1-Je*(he+1)/(he-1)))/((he-1)/He+He/(he-1));return[a(Pe*et,He*H(1-et*et)),He?q(Oe*et/He):0]},be}function hn(he,be){var Pe=Xi(he);if(!be)return Pe;var Oe=o(be),Je=x(be);function He(et,Mt){var Dt=Pe(et,Mt),Ut=Dt[1],tr=Ut*Je/(he-1)+Oe;return[Dt[0]*Oe/tr,Ut/tr]}return He.invert=function(et,Mt){var Dt=(he-1)/(he-1-Mt*Je);return Pe.invert(Dt*et,Dt*Mt*Oe)},He}function Ti(){var he=2,be=0,Pe=t.geoProjectionMutator(hn),Oe=Pe(he,be);return Oe.distance=function(Je){return arguments.length?Pe(he=+Je,be):he},Oe.tilt=function(Je){return arguments.length?Pe(he,be=Je*T):be*P},Oe.scale(432.147).clipAngle(V(1/he)*P-1e-6)}var qi=1e-4,Ii=1e4,mi=-180,Pn=mi+qi,Ma=180,Ta=Ma-qi,Ea=-90,qa=Ea+qi,Cn=90,sn=Cn-qi;function Ua(he){return he.length>0}function mo(he){return Math.floor(he*Ii)/Ii}function Xo(he){return he===Ea||he===Cn?[0,he]:[mi,mo(he)]}function Ts(he){var be=he[0],Pe=he[1],Oe=!1;return be<=Pn?(be=mi,Oe=!0):be>=Ta&&(be=Ma,Oe=!0),Pe<=qa?(Pe=Ea,Oe=!0):Pe>=sn&&(Pe=Cn,Oe=!0),Oe?[be,Pe]:he}function Qo(he){return he.map(Ts)}function ys(he,be,Pe){for(var Oe=0,Je=he.length;Oe<Je;++Oe){var He=he[Oe].slice();Pe.push({index:-1,polygon:be,ring:He});for(var et=0,Mt=He.length;et<Mt;++et){var Dt=He[et],Ut=Dt[0],tr=Dt[1];if(Ut<=Pn||Ut>=Ta||tr<=qa||tr>=sn){He[et]=Ts(Dt);for(var mr=et+1;mr<Mt;++mr){var Rr=He[mr],zr=Rr[0],Xr=Rr[1];if(zr>Pn&&zr<Ta&&Xr>qa&&Xr<sn)break}if(mr===et+1)continue;if(et){var di={index:-1,polygon:be,ring:He.slice(0,et+1)};di.ring[di.ring.length-1]=Xo(tr),Pe[Pe.length-1]=di}else Pe.pop();if(mr>=Mt)break;Pe.push({index:-1,polygon:be,ring:He=He.slice(mr-1)}),He[0]=Xo(He[0][1]),et=-1,Mt=He.length}}}}function Bo(he){var be,Pe=he.length,Oe={},Je={},He,et,Mt,Dt,Ut;for(be=0;be<Pe;++be){if(He=he[be],et=He.ring[0],Dt=He.ring[He.ring.length-1],et[0]===Dt[0]&&et[1]===Dt[1]){He.polygon.push(He.ring),he[be]=null;continue}He.index=be,Oe[et]=Je[Dt]=He}for(be=0;be<Pe;++be)if(He=he[be],He){if(et=He.ring[0],Dt=He.ring[He.ring.length-1],Mt=Je[et],Ut=Oe[Dt],delete Oe[et],delete Je[Dt],et[0]===Dt[0]&&et[1]===Dt[1]){He.polygon.push(He.ring);continue}Mt?(delete Je[et],delete Oe[Mt.ring[0]],Mt.ring.pop(),he[Mt.index]=null,He={index:-1,polygon:Mt.polygon,ring:Mt.ring.concat(He.ring)},Mt===Ut?He.polygon.push(He.ring):(He.index=Pe++,he.push(Oe[He.ring[0]]=Je[He.ring[He.ring.length-1]]=He))):Ut?(delete Oe[Dt],delete Je[Ut.ring[Ut.ring.length-1]],He.ring.pop(),He={index:Pe++,polygon:Ut.polygon,ring:He.ring.concat(Ut.ring)},he[Ut.index]=null,he.push(Oe[He.ring[0]]=Je[He.ring[He.ring.length-1]]=He)):(He.ring.push(He.ring[0]),He.polygon.push(He.ring))}}function yl(he){var be={type:\"Feature\",geometry:Gs(he.geometry)};return he.id!=null&&(be.id=he.id),he.bbox!=null&&(be.bbox=he.bbox),he.properties!=null&&(be.properties=he.properties),be}function Gs(he){if(he==null)return he;var be,Pe,Oe,Je;switch(he.type){case\"GeometryCollection\":be={type:\"GeometryCollection\",geometries:he.geometries.map(Gs)};break;case\"Point\":be={type:\"Point\",coordinates:Ts(he.coordinates)};break;case\"MultiPoint\":case\"LineString\":be={type:he.type,coordinates:Qo(he.coordinates)};break;case\"MultiLineString\":be={type:\"MultiLineString\",coordinates:he.coordinates.map(Qo)};break;case\"Polygon\":{var He=[];ys(he.coordinates,He,Pe=[]),Bo(Pe),be={type:\"Polygon\",coordinates:He};break}case\"MultiPolygon\":{Pe=[],Oe=-1,Je=he.coordinates.length;for(var et=new Array(Je);++Oe<Je;)ys(he.coordinates[Oe],et[Oe]=[],Pe);Bo(Pe),be={type:\"MultiPolygon\",coordinates:et.filter(Ua)};break}default:return he}return he.bbox!=null&&(be.bbox=he.bbox),be}function Rs(he){if(he==null)return he;switch(he.type){case\"Feature\":return yl(he);case\"FeatureCollection\":{var be={type:\"FeatureCollection\",features:he.features.map(yl)};return he.bbox!=null&&(be.bbox=he.bbox),be}default:return Gs(he)}}function ia(he,be){var Pe=b(be/2),Oe=x(L*Pe);return[he*(.74482-.34588*Oe*Oe),1.70711*Pe]}ia.invert=function(he,be){var Pe=be/1.70711,Oe=x(L*Pe);return[he/(.74482-.34588*Oe*Oe),2*i(Pe)]};function Ka(){return t.geoProjection(ia).scale(146.153)}function vs(he,be,Pe){var Oe=t.geoInterpolate(be,Pe),Je=Oe(.5),He=t.geoRotation([-Je[0],-Je[1]])(be),et=Oe.distance/2,Mt=-q(x(He[1]*T)/x(et)),Dt=[-Je[0],-Je[1],-(He[0]>0?k-Mt:Mt)*P],Ut=t.geoProjection(he(et)).rotate(Dt),tr=t.geoRotation(Dt),mr=Ut.center;return delete Ut.rotate,Ut.center=function(Rr){return arguments.length?mr(tr(Rr)):tr.invert(mr())},Ut.clipAngle(90)}function Ko(he){var be=o(he);function Pe(Oe,Je){var He=t.geoGnomonicRaw(Oe,Je);return He[0]*=be,He}return Pe.invert=function(Oe,Je){return t.geoGnomonicRaw.invert(Oe/be,Je)},Pe}function nu(){return Ru([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Ru(he,be){return vs(Ko,he,be)}function ac(he){if(!(he*=2))return t.geoAzimuthalEquidistantRaw;var be=-he/2,Pe=-be,Oe=he*he,Je=b(Pe),He=.5/x(Pe);function et(Mt,Dt){var Ut=V(o(Dt)*o(Mt-be)),tr=V(o(Dt)*o(Mt-Pe)),mr=Dt<0?-1:1;return Ut*=Ut,tr*=tr,[(Ut-tr)/(2*he),mr*H(4*Oe*tr-(Oe-Ut+tr)*(Oe-Ut+tr))/(2*he)]}return et.invert=function(Mt,Dt){var Ut=Dt*Dt,tr=o(H(Ut+(Rr=Mt+be)*Rr)),mr=o(H(Ut+(Rr=Mt+Pe)*Rr)),Rr,zr;return[a(zr=tr-mr,Rr=(tr+mr)*Je),(Dt<0?-1:1)*V(H(Rr*Rr+zr*zr)*He)]},et}function mf(){return bu([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function bu(he,be){return vs(ac,he,be)}function Kc(he,be){if(n(be)<p)return[he,0];var Pe=n(be/A),Oe=q(Pe);if(n(he)<p||n(n(be)-A)<p)return[0,v(be)*k*b(Oe/2)];var Je=o(Oe),He=n(k/he-he/k)/2,et=He*He,Mt=Je/(Pe+Je-1),Dt=Mt*(2/Pe-1),Ut=Dt*Dt,tr=Ut+et,mr=Mt-Ut,Rr=et+Mt;return[v(he)*k*(He*mr+H(et*mr*mr-tr*(Mt*Mt-Ut)))/tr,v(be)*k*(Dt*Rr-He*H((et+1)*tr-Rr*Rr))/tr]}Kc.invert=function(he,be){if(n(be)<p)return[he,0];if(n(he)<p)return[0,A*x(2*i(be/k))];var Pe=(he/=k)*he,Oe=(be/=k)*be,Je=Pe+Oe,He=Je*Je,et=-n(be)*(1+Je),Mt=et-2*Oe+Pe,Dt=-2*et+1+2*Oe+He,Ut=Oe/Dt+(2*Mt*Mt*Mt/(Dt*Dt*Dt)-9*et*Mt/(Dt*Dt))/27,tr=(et-Mt*Mt/(3*Dt))/Dt,mr=2*H(-tr/3),Rr=V(3*Ut/(tr*mr))/3;return[k*(Je-1+H(1+2*(Pe-Oe)+He))/(2*he),v(be)*k*(-mr*o(Rr+k/3)-Mt/(3*Dt))]};function Du(){return t.geoProjection(Kc).scale(79.4183)}function Dc(he,be){if(n(be)<p)return[he,0];var Pe=n(be/A),Oe=q(Pe);if(n(he)<p||n(n(be)-A)<p)return[0,v(be)*k*b(Oe/2)];var Je=o(Oe),He=n(k/he-he/k)/2,et=He*He,Mt=Je*(H(1+et)-He*Je)/(1+et*Pe*Pe);return[v(he)*k*Mt,v(be)*k*H(1-Mt*(2*He+Mt))]}Dc.invert=function(he,be){if(!he)return[0,A*x(2*i(be/k))];var Pe=n(he/k),Oe=(1-Pe*Pe-(be/=k)*be)/(2*Pe),Je=Oe*Oe,He=H(Je+1);return[v(he)*k*(He-Oe),v(be)*A*x(2*a(H((1-2*Oe*Pe)*(Oe+He)-Pe),H(He+Oe+Pe)))]};function Da(){return t.geoProjection(Dc).scale(79.4183)}function eo(he,be){if(n(be)<p)return[he,0];var Pe=be/A,Oe=q(Pe);if(n(he)<p||n(n(be)-A)<p)return[0,k*b(Oe/2)];var Je=(k/he-he/k)/2,He=Pe/(1+o(Oe));return[k*(v(he)*H(Je*Je+1-He*He)-Je),k*He]}eo.invert=function(he,be){if(!be)return[he,0];var Pe=be/k,Oe=(k*k*(1-Pe*Pe)-he*he)/(2*k*he);return[he?k*(v(he)*H(Oe*Oe+1)-Oe):0,A*x(2*i(Pe))]};function Jc(){return t.geoProjection(eo).scale(79.4183)}function yc(he,be){if(!be)return[he,0];var Pe=n(be);if(!he||Pe===A)return[0,be];var Oe=Pe/A,Je=Oe*Oe,He=(8*Oe-Je*(Je+2)-5)/(2*Je*(Oe-1)),et=He*He,Mt=Oe*He,Dt=Je+et+2*Mt,Ut=Oe+3*He,tr=he/A,mr=tr+1/tr,Rr=v(n(he)-A)*H(mr*mr-4),zr=Rr*Rr,Xr=Dt*(Je+et*zr-1)+(1-Je)*(Je*(Ut*Ut+4*et)+12*Mt*et+4*et*et),di=(Rr*(Dt+et-1)+2*H(Xr))/(4*Dt+zr);return[v(he)*A*di,v(be)*A*H(1+Rr*n(di)-di*di)]}yc.invert=function(he,be){var Pe;if(!he||!be)return[he,be];be/=k;var Oe=v(he)*he/A,Je=(Oe*Oe-1+4*be*be)/n(Oe),He=Je*Je,et=2*be,Mt=50;do{var Dt=et*et,Ut=(8*et-Dt*(Dt+2)-5)/(2*Dt*(et-1)),tr=(3*et-Dt*et-10)/(2*Dt*et),mr=Ut*Ut,Rr=et*Ut,zr=et+Ut,Xr=zr*zr,di=et+3*Ut,Li=Xr*(Dt+mr*He-1)+(1-Dt)*(Dt*(di*di+4*mr)+mr*(12*Rr+4*mr)),Ci=-2*zr*(4*Rr*mr+(1-4*Dt+3*Dt*Dt)*(1+tr)+mr*(-6+14*Dt-He+(-8+8*Dt-2*He)*tr)+Rr*(-8+12*Dt+(-10+10*Dt-He)*tr)),Qi=H(Li),Mn=Je*(Xr+mr-1)+2*Qi-Oe*(4*Xr+He),pa=Je*(2*Ut*tr+2*zr*(1+tr))+Ci/Qi-8*zr*(Je*(-1+mr+Xr)+2*Qi)*(1+tr)/(He+4*Xr);et-=Pe=Mn/pa}while(Pe>p&&--Mt>0);return[v(he)*(H(Je*Je+4)+Je)*k/4,A*et]};function _c(){return t.geoProjection(yc).scale(127.16)}function le(he,be,Pe,Oe,Je){function He(et,Mt){var Dt=Pe*x(Oe*Mt),Ut=H(1-Dt*Dt),tr=H(2/(1+Ut*o(et*=Je)));return[he*Ut*tr*x(et),be*Dt*tr]}return He.invert=function(et,Mt){var Dt=et/he,Ut=Mt/be,tr=H(Dt*Dt+Ut*Ut),mr=2*q(tr/2);return[a(et*b(mr),he*tr)/Je,tr&&q(Mt*x(mr)/(be*Pe*tr))/Oe]},He}function w(he,be,Pe,Oe){var Je=k/3;he=c(he,p),be=c(be,p),he=f(he,A),be=f(be,k-p),Pe=c(Pe,0),Pe=f(Pe,100-p),Oe=c(Oe,p);var He=Pe/100+1,et=Oe/100,Mt=V(He*o(Je))/Je,Dt=x(he)/x(Mt*A),Ut=be/k,tr=H(et*x(he/2)/x(be/2)),mr=tr/H(Ut*Dt*Mt),Rr=1/(tr*H(Ut*Dt*Mt));return le(mr,Rr,Dt,Mt,Ut)}function B(){var he=65*T,be=60*T,Pe=20,Oe=200,Je=t.geoProjectionMutator(w),He=Je(he,be,Pe,Oe);return He.poleline=function(et){return arguments.length?Je(he=+et*T,be,Pe,Oe):he*P},He.parallels=function(et){return arguments.length?Je(he,be=+et*T,Pe,Oe):be*P},He.inflation=function(et){return arguments.length?Je(he,be,Pe=+et,Oe):Pe},He.ratio=function(et){return arguments.length?Je(he,be,Pe,Oe=+et):Oe},He.scale(163.775)}function Q(){return B().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)}var ee=4*k+3*H(3),se=2*H(2*k*H(3)/ee),qe=Ct(se*H(3)/k,se,ee/6);function je(){return t.geoProjection(qe).scale(176.84)}function it(he,be){return[he*H(1-3*be*be/(k*k)),be]}it.invert=function(he,be){return[he/H(1-3*be*be/(k*k)),be]};function yt(){return t.geoProjection(it).scale(152.63)}function Ot(he,be){var Pe=o(be),Oe=o(he)*Pe,Je=1-Oe,He=o(he=a(x(he)*Pe,-x(be))),et=x(he);return Pe=H(1-Oe*Oe),[et*Pe-He*Je,-He*Pe-et*Je]}Ot.invert=function(he,be){var Pe=(he*he+be*be)/-2,Oe=H(-Pe*(2+Pe)),Je=be*Pe+he*Oe,He=he*Pe-be*Oe,et=H(He*He+Je*Je);return[a(Oe*Je,et*(1+Pe)),et?-q(Oe*He/et):0]};function Nt(){return t.geoProjection(Ot).rotate([0,-90,45]).scale(124.75).clipAngle(180-.001)}function hr(he,be){var Pe=Me(he,be);return[(Pe[0]+he/A)/2,(Pe[1]+be)/2]}hr.invert=function(he,be){var Pe=he,Oe=be,Je=25;do{var He=o(Oe),et=x(Oe),Mt=x(2*Oe),Dt=et*et,Ut=He*He,tr=x(Pe),mr=o(Pe/2),Rr=x(Pe/2),zr=Rr*Rr,Xr=1-Ut*mr*mr,di=Xr?V(He*mr)*H(Li=1/Xr):Li=0,Li,Ci=.5*(2*di*He*Rr+Pe/A)-he,Qi=.5*(di*et+Oe)-be,Mn=.5*Li*(Ut*zr+di*He*mr*Dt)+.5/A,pa=Li*(tr*Mt/4-di*et*Rr),ea=.125*Li*(Mt*Rr-di*et*Ut*tr),Ga=.5*Li*(Dt*mr+di*zr*He)+.5,To=pa*ea-Ga*Mn,Wa=(Qi*pa-Ci*Ga)/To,co=(Ci*ea-Qi*Mn)/To;Pe-=Wa,Oe-=co}while((n(Wa)>p||n(co)>p)&&--Je>0);return[Pe,Oe]};function Sr(){return t.geoProjection(hr).scale(158.837)}e.geoNaturalEarth=t.geoNaturalEarth1,e.geoNaturalEarthRaw=t.geoNaturalEarth1Raw,e.geoAiry=_e,e.geoAiryRaw=ae,e.geoAitoff=ke,e.geoAitoffRaw=Me,e.geoArmadillo=ie,e.geoArmadilloRaw=ge,e.geoAugust=Ee,e.geoAugustRaw=Te,e.geoBaker=me,e.geoBakerRaw=Ce,e.geoBerghaus=ce,e.geoBerghausRaw=Re,e.geoBertin1953=Rt,e.geoBertin1953Raw=ot,e.geoBoggs=bt,e.geoBoggsRaw=xt,e.geoBonne=Ht,e.geoBonneRaw=dt,e.geoBottomley=fr,e.geoBottomleyRaw=$t,e.geoBromley=Br,e.geoBromleyRaw=_r,e.geoChamberlin=Xe,e.geoChamberlinRaw=Ne,e.geoChamberlinAfrica=Ve,e.geoCollignon=Le,e.geoCollignonRaw=ht,e.geoCraig=Se,e.geoCraigRaw=xe,e.geoCraster=Vt,e.geoCrasterRaw=Gt,e.geoCylindricalEqualArea=Qr,e.geoCylindricalEqualAreaRaw=ar,e.geoCylindricalStereographic=jr,e.geoCylindricalStereographicRaw=ai,e.geoEckert1=bi,e.geoEckert1Raw=ri,e.geoEckert2=Wi,e.geoEckert2Raw=nn,e.geoEckert3=_n,e.geoEckert3Raw=Ni,e.geoEckert4=zn,e.geoEckert4Raw=$i,e.geoEckert5=It,e.geoEckert5Raw=Wn,e.geoEckert6=jt,e.geoEckert6Raw=ft,e.geoEisenlohr=Fr,e.geoEisenlohrRaw=yr,e.geoFahey=gi,e.geoFaheyRaw=Vr,e.geoFoucaut=Mi,e.geoFoucautRaw=Si,e.geoFoucautSinusoidal=Gi,e.geoFoucautSinusoidalRaw=Pi,e.geoGilbert=jn,e.geoGingery=jo,e.geoGingeryRaw=la,e.geoGinzburg4=Ha,e.geoGinzburg4Raw=Sn,e.geoGinzburg5=xn,e.geoGinzburg5Raw=oo,e.geoGinzburg6=br,e.geoGinzburg6Raw=_t,e.geoGinzburg8=ti,e.geoGinzburg8Raw=Hr,e.geoGinzburg9=Yi,e.geoGinzburg9Raw=zi,e.geoGringorten=Fn,e.geoGringortenRaw=hi,e.geoGuyou=ks,e.geoGuyouRaw=Mo,e.geoHammer=ct,e.geoHammerRaw=Ge,e.geoHammerRetroazimuthal=wl,e.geoHammerRetroazimuthalRaw=Zs,e.geoHealpix=Ql,e.geoHealpixRaw=ml,e.geoHill=fc,e.geoHillRaw=Hu,e.geoHomolosine=vo,e.geoHomolosineRaw=Rl,e.geoHufnagel=Ks,e.geoHufnagelRaw=Zl,e.geoHyperelliptical=ko,e.geoHyperellipticalRaw=Zn,e.geoInterrupt=So,e.geoInterruptedBoggs=rh,e.geoInterruptedHomolosine=Hc,e.geoInterruptedMollweide=Ls,e.geoInterruptedMollweideHemispheres=kc,e.geoInterruptedSinuMollweide=Gc,e.geoInterruptedSinusoidal=Bf,e.geoKavrayskiy7=ff,e.geoKavrayskiy7Raw=ss,e.geoLagrange=Vl,e.geoLagrangeRaw=ih,e.geoLarrivee=Cc,e.geoLarriveeRaw=hc,e.geoLaskowski=$s,e.geoLaskowskiRaw=ws,e.geoLittrow=Ms,e.geoLittrowRaw=hs,e.geoLoximuthal=Sl,e.geoLoximuthalRaw=dc,e.geoMiller=Ps,e.geoMillerRaw=ec,e.geoModifiedStereographic=Ml,e.geoModifiedStereographicRaw=ov,e.geoModifiedStereographicAlaska=tc,e.geoModifiedStereographicGs48=uu,e.geoModifiedStereographicGs50=Mh,e.geoModifiedStereographicMiller=jc,e.geoModifiedStereographicLee=kf,e.geoMollweide=xr,e.geoMollweideRaw=Yt,e.geoMtFlatPolarParabolic=hf,e.geoMtFlatPolarParabolicRaw=nh,e.geoMtFlatPolarQuartic=Kh,e.geoMtFlatPolarQuarticRaw=kh,e.geoMtFlatPolarSinusoidal=ah,e.geoMtFlatPolarSinusoidalRaw=rc,e.geoNaturalEarth2=df,e.geoNaturalEarth2Raw=Wc,e.geoNellHammer=Nf,e.geoNellHammerRaw=Cu,e.geoInterruptedQuarticAuthalic=ds,e.geoNicolosi=Bd,e.geoNicolosiRaw=Ch,e.geoPatterson=ic,e.geoPattersonRaw=Xc,e.geoPolyconic=Qs,e.geoPolyconicRaw=yu,e.geoPolyhedral=Lf,e.geoPolyhedralButterfly=Fs,e.geoPolyhedralCollignon=Lh,e.geoPolyhedralWaterman=Is,e.geoProject=Dl,e.geoGringortenQuincuncial=gt,e.geoPeirceQuincuncial=Bt,e.geoPierceQuincuncial=Bt,e.geoQuantize=wr,e.geoQuincuncial=gf,e.geoRectangularPolyconic=Ur,e.geoRectangularPolyconicRaw=vr,e.geoRobinson=Fi,e.geoRobinsonRaw=xi,e.geoSatellite=Ti,e.geoSatelliteRaw=hn,e.geoSinuMollweide=Qu,e.geoSinuMollweideRaw=fa,e.geoSinusoidal=Et,e.geoSinusoidalRaw=St,e.geoStitch=Rs,e.geoTimes=Ka,e.geoTimesRaw=ia,e.geoTwoPointAzimuthal=Ru,e.geoTwoPointAzimuthalRaw=Ko,e.geoTwoPointAzimuthalUsa=nu,e.geoTwoPointEquidistant=bu,e.geoTwoPointEquidistantRaw=ac,e.geoTwoPointEquidistantUsa=mf,e.geoVanDerGrinten=Du,e.geoVanDerGrintenRaw=Kc,e.geoVanDerGrinten2=Da,e.geoVanDerGrinten2Raw=Dc,e.geoVanDerGrinten3=Jc,e.geoVanDerGrinten3Raw=eo,e.geoVanDerGrinten4=_c,e.geoVanDerGrinten4Raw=yc,e.geoWagner=B,e.geoWagner7=Q,e.geoWagnerRaw=w,e.geoWagner4=je,e.geoWagner4Raw=qe,e.geoWagner6=yt,e.geoWagner6Raw=it,e.geoWiechel=Nt,e.geoWiechelRaw=Ot,e.geoWinkel3=Sr,e.geoWinkel3Raw=hr,Object.defineProperty(e,\"__esModule\",{value:!0})})});var MRe=ye((Dpr,SRe)=>{\"use strict\";var Zh=xa(),bX=Mr(),CDt=ba(),Z5=Math.PI/180,G2=180/Math.PI,TX={cursor:\"pointer\"},AX={cursor:\"auto\"};function LDt(e,t){var r=e.projection,n;return t._isScoped?n=PDt:t._isClipped?n=RDt:n=IDt,n(e,r)}SRe.exports=LDt;function SX(e,t){return Zh.behavior.zoom().translate(t.translate()).scale(t.scale())}function MX(e,t,r){var n=e.id,i=e.graphDiv,a=i.layout,o=a[n],s=i._fullLayout,l=s[n],u={},c={};function f(h,d){u[n+\".\"+h]=bX.nestedProperty(o,h).get(),CDt.call(\"_storeDirectGUIEdit\",a,s._preGUI,u);var v=bX.nestedProperty(l,h);v.get()!==d&&(v.set(d),bX.nestedProperty(o,h).set(d),c[n+\".\"+h]=d)}r(f),f(\"projection.scale\",t.scale()/e.fitScale),f(\"fitbounds\",!1),i.emit(\"plotly_relayout\",c)}function PDt(e,t){var r=SX(e,t);function n(){Zh.select(this).style(TX)}function i(){t.scale(Zh.event.scale).translate(Zh.event.translate),e.render(!0);var s=t.invert(e.midPt);e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.center.lon\":s[0],\"geo.center.lat\":s[1]})}function a(s){var l=t.invert(e.midPt);s(\"center.lon\",l[0]),s(\"center.lat\",l[1])}function o(){Zh.select(this).style(AX),MX(e,t,a)}return r.on(\"zoomstart\",n).on(\"zoom\",i).on(\"zoomend\",o),r}function IDt(e,t){var r=SX(e,t),n=2,i,a,o,s,l,u,c,f,h;function d(k){return t.invert(k)}function v(k){var A=d(k);if(!A)return!0;var L=t(A);return Math.abs(L[0]-k[0])>n||Math.abs(L[1]-k[1])>n}function x(){Zh.select(this).style(TX),i=Zh.mouse(this),a=t.rotate(),o=t.translate(),s=a,l=d(i)}function b(){if(u=Zh.mouse(this),v(i)){r.scale(t.scale()),r.translate(t.translate());return}t.scale(Zh.event.scale),t.translate([o[0],Zh.event.translate[1]]),l?d(u)&&(f=d(u),c=[s[0]+(f[0]-l[0]),a[1],a[2]],t.rotate(c),s=c):(i=u,l=d(i)),h=!0,e.render(!0);var k=t.rotate(),A=t.invert(e.midPt);e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.center.lon\":A[0],\"geo.center.lat\":A[1],\"geo.projection.rotation.lon\":-k[0]})}function p(){Zh.select(this).style(AX),h&&MX(e,t,E)}function E(k){var A=t.rotate(),L=t.invert(e.midPt);k(\"projection.rotation.lon\",-A[0]),k(\"center.lon\",L[0]),k(\"center.lat\",L[1])}return r.on(\"zoomstart\",x).on(\"zoom\",b).on(\"zoomend\",p),r}function RDt(e,t){var r={r:t.rotate(),k:t.scale()},n=SX(e,t),i=UDt(n,\"zoomstart\",\"zoom\",\"zoomend\"),a=0,o=n.on,s;n.on(\"zoomstart\",function(){Zh.select(this).style(TX);var h=Zh.mouse(this),d=t.rotate(),v=d,x=t.translate(),b=DDt(d);s=Sz(t,h),o.call(n,\"zoom\",function(){var p=Zh.mouse(this);if(t.scale(r.k=Zh.event.scale),!s)h=p,s=Sz(t,h);else if(Sz(t,p)){t.rotate(d).translate(x);var E=Sz(t,p),k=FDt(s,E),A=ODt(zDt(b,k)),L=r.r=qDt(A,s,v);(!isFinite(L[0])||!isFinite(L[1])||!isFinite(L[2]))&&(L=v),t.rotate(L),v=L}u(i.of(this,arguments))}),l(i.of(this,arguments))}).on(\"zoomend\",function(){Zh.select(this).style(AX),o.call(n,\"zoom\",null),c(i.of(this,arguments)),MX(e,t,f)}).on(\"zoom.redraw\",function(){e.render(!0);var h=t.rotate();e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.projection.rotation.lon\":-h[0],\"geo.projection.rotation.lat\":-h[1]})});function l(h){a++||h({type:\"zoomstart\"})}function u(h){h({type:\"zoom\"})}function c(h){--a||h({type:\"zoomend\"})}function f(h){var d=t.rotate();h(\"projection.rotation.lon\",-d[0]),h(\"projection.rotation.lat\",-d[1])}return Zh.rebind(n,i,\"on\")}function Sz(e,t){var r=e.invert(t);return r&&isFinite(r[0])&&isFinite(r[1])&&BDt(r)}function DDt(e){var t=.5*e[0]*Z5,r=.5*e[1]*Z5,n=.5*e[2]*Z5,i=Math.sin(t),a=Math.cos(t),o=Math.sin(r),s=Math.cos(r),l=Math.sin(n),u=Math.cos(n);return[a*s*u+i*o*l,i*s*u-a*o*l,a*o*u+i*s*l,a*s*l-i*o*u]}function zDt(e,t){var r=e[0],n=e[1],i=e[2],a=e[3],o=t[0],s=t[1],l=t[2],u=t[3];return[r*o-n*s-i*l-a*u,r*s+n*o+i*u-a*l,r*l-n*u+i*o+a*s,r*u+n*l-i*s+a*o]}function FDt(e,t){if(!(!e||!t)){var r=NDt(e,t),n=Math.sqrt(ARe(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,ARe(e,t)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}}function qDt(e,t,r){var n=wX(t,2,e[0]);n=wX(n,1,e[1]),n=wX(n,0,e[2]-r[2]);var i=t[0],a=t[1],o=t[2],s=n[0],l=n[1],u=n[2],c=Math.atan2(a,i)*G2,f=Math.sqrt(i*i+a*a),h,d;Math.abs(l)>f?(d=(l>0?90:-90)-c,h=0):(d=Math.asin(l/f)*G2-c,h=Math.sqrt(f*f-l*l));var v=180-d-2*c,x=(Math.atan2(u,s)-Math.atan2(o,h))*G2,b=(Math.atan2(u,s)-Math.atan2(o,-h))*G2,p=wRe(r[0],r[1],d,x),E=wRe(r[0],r[1],v,b);return p<=E?[d,x,r[2]]:[v,b,r[2]]}function wRe(e,t,r,n){var i=TRe(r-e),a=TRe(n-t);return Math.sqrt(i*i+a*a)}function TRe(e){return(e%360+540)%360-180}function wX(e,t,r){var n=r*Z5,i=e.slice(),a=t===0?1:0,o=t===2?1:2,s=Math.cos(n),l=Math.sin(n);return i[a]=e[a]*s-e[o]*l,i[o]=e[o]*s+e[a]*l,i}function ODt(e){return[Math.atan2(2*(e[0]*e[1]+e[2]*e[3]),1-2*(e[1]*e[1]+e[2]*e[2]))*G2,Math.asin(Math.max(-1,Math.min(1,2*(e[0]*e[2]-e[3]*e[1]))))*G2,Math.atan2(2*(e[0]*e[3]+e[1]*e[2]),1-2*(e[2]*e[2]+e[3]*e[3]))*G2]}function BDt(e){var t=e[0]*Z5,r=e[1]*Z5,n=Math.cos(r);return[n*Math.cos(t),n*Math.sin(t),Math.sin(r)]}function ARe(e,t){for(var r=0,n=0,i=e.length;n<i;++n)r+=e[n]*t[n];return r}function NDt(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function UDt(e){for(var t=0,r=arguments.length,n=[];++t<r;)n.push(arguments[t]);var i=Zh.dispatch.apply(null,n);return i.of=function(a,o){return function(s){var l;try{l=s.sourceEvent=Zh.event,s.target=e,Zh.event=s,i[s.type].apply(a,o)}finally{Zh.event=l}}},i}});var RRe=ye((zpr,IRe)=>{\"use strict\";var t1=xa(),CX=xX(),VDt=CX.geoPath,HDt=CX.geoDistance,GDt=bRe(),jDt=ba(),ek=Mr(),WDt=ek.strTranslate,Mz=va(),QE=ao(),ERe=Nc(),ZDt=Xu(),kX=Qa(),kRe=wg().getAutoRange,EX=gv(),XDt=wf().prepSelect,YDt=wf().clearOutline,KDt=wf().selectOnClick,JDt=MRe(),fp=YE(),$Dt=nx(),LRe=cz(),QDt=aX().feature;function PRe(e){this.id=e.id,this.graphDiv=e.graphDiv,this.container=e.container,this.topojsonURL=e.topojsonURL,this.isStatic=e.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.scope=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}var $g=PRe.prototype;IRe.exports=function(t){return new PRe(t)};$g.plot=function(e,t,r,n){var i=this;if(n)return i.update(e,t,!0);i._geoCalcData=e,i._fullLayout=t;var a=t[this.id],o=[],s=!1;for(var l in fp.layerNameToAdjective)if(l!==\"frame\"&&a[\"show\"+l]){s=!0;break}for(var u=!1,c=0;c<e.length;c++){var f=e[0][0].trace;f._geo=i,f.locationmode&&(s=!0);var h=f.marker;if(h){var d=h.angle,v=h.angleref;(d||v===\"north\"||v===\"previous\")&&(u=!0)}}if(this._hasMarkerAngles=u,s){var x=LRe.getTopojsonName(a);(i.topojson===null||x!==i.topojsonName)&&(i.topojsonName=x,PlotlyGeoAssets.topojson[i.topojsonName]===void 0&&o.push(i.fetchTopojson()))}o=o.concat($Dt.fetchTraceGeoData(e)),r.push(new Promise(function(b,p){Promise.all(o).then(function(){i.topojson=PlotlyGeoAssets.topojson[i.topojsonName],i.update(e,t),b()}).catch(p)}))};$g.fetchTopojson=function(){var e=this,t=LRe.getTopojsonPath(e.topojsonURL,e.topojsonName);return new Promise(function(r,n){t1.json(t,function(i,a){if(i)return i.status===404?n(new Error([\"plotly.js could not find topojson file at\",t+\".\",\"Make sure the *topojsonURL* plot config option\",\"is set properly.\"].join(\" \"))):n(new Error([\"unexpected error while fetching topojson file at\",t].join(\" \")));PlotlyGeoAssets.topojson[e.topojsonName]=a,r()})})};$g.update=function(e,t,r){var n=t[this.id];this.hasChoropleth=!1;for(var i=0;i<e.length;i++){var a=e[i],o=a[0].trace;o.type===\"choropleth\"&&(this.hasChoropleth=!0),o.visible===!0&&o._length>0&&o._module.calcGeoJSON(a,t)}if(!r){var s=this.updateProjection(e,t);if(s)return;(!this.viewInitial||this.scope!==n.scope)&&this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(t,n),this.updateDims(t,n),this.updateFx(t,n),ZDt.generalUpdatePerTraceModule(this.graphDiv,this,e,n);var l=this.layers.frontplot.select(\".scatterlayer\");this.dataPoints.point=l.selectAll(\".point\"),this.dataPoints.text=l.selectAll(\"text\"),this.dataPaths.line=l.selectAll(\".js-line\");var u=this.layers.backplot.select(\".choroplethlayer\");this.dataPaths.choropleth=u.selectAll(\"path\"),this._render()};$g.updateProjection=function(e,t){var r=this.graphDiv,n=t[this.id],i=t._size,a=n.domain,o=n.projection,s=n.lonaxis,l=n.lataxis,u=s._ax,c=l._ax,f=this.projection=ezt(n),h=[[i.l+i.w*a.x[0],i.t+i.h*(1-a.y[1])],[i.l+i.w*a.x[1],i.t+i.h*(1-a.y[0])]],d=n.center||{},v=o.rotation||{},x=s.range||[],b=l.range||[];if(n.fitbounds){u._length=h[1][0]-h[0][0],c._length=h[1][1]-h[0][1],u.range=kRe(r,u),c.range=kRe(r,c);var p=(u.range[0]+u.range[1])/2,E=(c.range[0]+c.range[1])/2;if(n._isScoped)d={lon:p,lat:E};else if(n._isClipped){d={lon:p,lat:E},v={lon:p,lat:E,roll:v.roll};var k=o.type,A=fp.lonaxisSpan[k]/2||180,L=fp.lataxisSpan[k]/2||90;x=[p-A,p+A],b=[E-L,E+L]}else d={lon:p,lat:E},v={lon:p,lat:v.lat,roll:v.roll}}f.center([d.lon-v.lon,d.lat-v.lat]).rotate([-v.lon,-v.lat,v.roll]).parallels(o.parallels);var _=CRe(x,b);f.fitExtent(h,_);var C=this.bounds=f.getBounds(_),M=this.fitScale=f.scale(),g=f.translate();if(n.fitbounds){var P=f.getBounds(CRe(u.range,c.range)),T=Math.min((C[1][0]-C[0][0])/(P[1][0]-P[0][0]),(C[1][1]-C[0][1])/(P[1][1]-P[0][1]));isFinite(T)?f.scale(T*M):ek.warn(\"Something went wrong during\"+this.id+\"fitbounds computations.\")}else f.scale(o.scale*M);var F=this.midPt=[(C[0][0]+C[1][0])/2,(C[0][1]+C[1][1])/2];if(f.translate([g[0]+(F[0]-g[0]),g[1]+(F[1]-g[1])]).clipExtent(C),n._isAlbersUsa){var q=f([d.lon,d.lat]),V=f.translate();f.translate([V[0]-(q[0]-V[0]),V[1]-(q[1]-V[1])])}};$g.updateBaseLayers=function(e,t){var r=this,n=r.topojson,i=r.layers,a=r.basePaths;function o(h){return h===\"lonaxis\"||h===\"lataxis\"}function s(h){return!!fp.lineLayers[h]}function l(h){return!!fp.fillLayers[h]}var u=this.hasChoropleth?fp.layersForChoropleth:fp.layers,c=u.filter(function(h){return s(h)||l(h)?t[\"show\"+h]:o(h)?t[h].showgrid:!0}),f=r.framework.selectAll(\".layer\").data(c,String);f.exit().each(function(h){delete i[h],delete a[h],t1.select(this).remove()}),f.enter().append(\"g\").attr(\"class\",function(h){return\"layer \"+h}).each(function(h){var d=i[h]=t1.select(this);h===\"bg\"?r.bgRect=d.append(\"rect\").style(\"pointer-events\",\"all\"):o(h)?a[h]=d.append(\"path\").style(\"fill\",\"none\"):h===\"backplot\"?d.append(\"g\").classed(\"choroplethlayer\",!0):h===\"frontplot\"?d.append(\"g\").classed(\"scatterlayer\",!0):s(h)?a[h]=d.append(\"path\").style(\"fill\",\"none\").style(\"stroke-miterlimit\",2):l(h)&&(a[h]=d.append(\"path\").style(\"stroke\",\"none\"))}),f.order(),f.each(function(h){var d=a[h],v=fp.layerNameToAdjective[h];h===\"frame\"?d.datum(fp.sphereSVG):s(h)||l(h)?d.datum(QDt(n,n.objects[h])):o(h)&&d.datum(tzt(h,t,e)).call(Mz.stroke,t[h].gridcolor).call(QE.dashLine,t[h].griddash,t[h].gridwidth),s(h)?d.call(Mz.stroke,t[v+\"color\"]).call(QE.dashLine,\"\",t[v+\"width\"]):l(h)&&d.call(Mz.fill,t[v+\"color\"])})};$g.updateDims=function(e,t){var r=this.bounds,n=(t.framewidth||0)/2,i=r[0][0]-n,a=r[0][1]-n,o=r[1][0]-i+n,s=r[1][1]-a+n;QE.setRect(this.clipRect,i,a,o,s),this.bgRect.call(QE.setRect,i,a,o,s).call(Mz.fill,t.bgcolor),this.xaxis._offset=i,this.xaxis._length=o,this.yaxis._offset=a,this.yaxis._length=s};$g.updateFx=function(e,t){var r=this,n=r.graphDiv,i=r.bgRect,a=e.dragmode,o=e.clickmode;if(r.isStatic)return;function s(){var f=r.viewInitial,h={};for(var d in f)h[r.id+\".\"+d]=f[d];jDt.call(\"_guiRelayout\",n,h),n.emit(\"plotly_doubleclick\",null)}function l(f){return r.projection.invert([f[0]+r.xaxis._offset,f[1]+r.yaxis._offset])}var u=function(f,h){if(h.isRect){var d=f.range={};d[r.id]=[l([h.xmin,h.ymin]),l([h.xmax,h.ymax])]}else{var v=f.lassoPoints={};v[r.id]=h.map(l)}},c={element:r.bgRect.node(),gd:n,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:u},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(f){f===2&&YDt(n)}};a===\"pan\"?(i.node().onmousedown=null,i.call(JDt(r,t)),i.on(\"dblclick.zoom\",s),n._context._scrollZoom.geo||i.on(\"wheel.zoom\",null)):(a===\"select\"||a===\"lasso\")&&(i.on(\".zoom\",null),c.prepFn=function(f,h,d){XDt(f,h,d,c,a)},EX.init(c)),i.on(\"mousemove\",function(){var f=r.projection.invert(ek.getPositionFromD3Event());if(!f)return EX.unhover(n,t1.event);r.xaxis.p2c=function(){return f[0]},r.yaxis.p2c=function(){return f[1]},ERe.hover(n,t1.event,r.id)}),i.on(\"mouseout\",function(){n._dragging||EX.unhover(n,t1.event)}),i.on(\"click\",function(){a!==\"select\"&&a!==\"lasso\"&&(o.indexOf(\"select\")>-1&&KDt(t1.event,n,[r.xaxis],[r.yaxis],r.id,c),o.indexOf(\"event\")>-1&&ERe.click(n,t1.event))})};$g.makeFramework=function(){var e=this,t=e.graphDiv,r=t._fullLayout,n=\"clip\"+r._uid+e.id;e.clipDef=r._clips.append(\"clipPath\").attr(\"id\",n),e.clipRect=e.clipDef.append(\"rect\"),e.framework=t1.select(e.container).append(\"g\").attr(\"class\",\"geo \"+e.id).call(QE.setClipUrl,n,t),e.project=function(i){var a=e.projection(i);return a?[a[0]-e.xaxis._offset,a[1]-e.yaxis._offset]:[null,null]},e.xaxis={_id:\"x\",c2p:function(i){return e.project(i)[0]}},e.yaxis={_id:\"y\",c2p:function(i){return e.project(i)[1]}},e.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},kX.setConvert(e.mockAxis,r)};$g.saveViewInitial=function(e){var t=e.center||{},r=e.projection,n=r.rotation||{};this.viewInitial={fitbounds:e.fitbounds,\"projection.scale\":r.scale};var i;e._isScoped?i={\"center.lon\":t.lon,\"center.lat\":t.lat}:e._isClipped?i={\"projection.rotation.lon\":n.lon,\"projection.rotation.lat\":n.lat}:i={\"center.lon\":t.lon,\"center.lat\":t.lat,\"projection.rotation.lon\":n.lon},ek.extendFlat(this.viewInitial,i)};$g.render=function(e){this._hasMarkerAngles&&e?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()};$g._render=function(){var e=this.projection,t=e.getPath(),r;function n(a){var o=e(a.lonlat);return o?WDt(o[0],o[1]):null}function i(a){return e.isLonLatOverEdges(a.lonlat)?\"none\":null}for(r in this.basePaths)this.basePaths[r].attr(\"d\",t);for(r in this.dataPaths)this.dataPaths[r].attr(\"d\",function(a){return t(a.geojson)});for(r in this.dataPoints)this.dataPoints[r].attr(\"display\",i).attr(\"transform\",n)};function ezt(e){var t=e.projection,r=t.type,n=fp.projNames[r];n=\"geo\"+ek.titleCase(n);for(var i=CX[n]||GDt[n],a=i(),o=e._isSatellite?Math.acos(1/t.distance)*180/Math.PI:e._isClipped?fp.lonaxisSpan[r]/2:null,s=[\"center\",\"rotate\",\"parallels\",\"clipExtent\"],l=function(f){return f?a:[]},u=0;u<s.length;u++){var c=s[u];typeof a[c]!=\"function\"&&(a[c]=l)}return a.isLonLatOverEdges=function(f){if(a(f)===null)return!0;if(o){var h=a.rotate(),d=HDt(f,[-h[0],-h[1]]),v=o*Math.PI/180;return d>v}else return!1},a.getPath=function(){return VDt().projection(a)},a.getBounds=function(f){return a.getPath().bounds(f)},a.precision(fp.precision),e._isSatellite&&a.tilt(t.tilt).distance(t.distance),o&&a.clipAngle(o-fp.clipPad),a}function tzt(e,t,r){var n=1e-6,i=2.5,a=t[e],o=fp.scopeDefaults[t.scope],s,l,u;e===\"lonaxis\"?(s=o.lonaxisRange,l=o.lataxisRange,u=function(E,k){return[E,k]}):e===\"lataxis\"&&(s=o.lataxisRange,l=o.lonaxisRange,u=function(E,k){return[k,E]});var c={type:\"linear\",range:[s[0],s[1]-n],tick0:a.tick0,dtick:a.dtick};kX.setConvert(c,r);var f=kX.calcTicks(c);!t.isScoped&&e===\"lonaxis\"&&f.pop();for(var h=f.length,d=new Array(h),v=0;v<h;v++)for(var x=f[v].x,b=d[v]=[],p=l[0];p<l[1]+i;p+=i)b.push(u(x,p));return{type:\"MultiLineString\",coordinates:d}}function CRe(e,t){var r=fp.clipPad,n=e[0]+r,i=e[1]-r,a=t[0]+r,o=t[1]-r;n>0&&i<0&&(i+=360);var s=(i-n)/4;return{type:\"Polygon\",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}});var LX=ye((Fpr,FRe)=>{\"use strict\";var Y5=dh(),rzt=Ju().attributes,izt=Ed().dash,X5=YE(),nzt=Bu().overrideAll,DRe=Y1(),zRe={range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},showgrid:{valType:\"boolean\",dflt:!1},tick0:{valType:\"number\",dflt:0},dtick:{valType:\"number\"},gridcolor:{valType:\"color\",dflt:Y5.lightLine},gridwidth:{valType:\"number\",min:0,dflt:1},griddash:izt},azt=FRe.exports=nzt({domain:rzt({name:\"geo\"},{}),fitbounds:{valType:\"enumerated\",values:[!1,\"locations\",\"geojson\"],dflt:!1,editType:\"plot\"},resolution:{valType:\"enumerated\",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:\"enumerated\",values:DRe(X5.scopeDefaults),dflt:\"world\"},projection:{type:{valType:\"enumerated\",values:DRe(X5.projNames)},rotation:{lon:{valType:\"number\"},lat:{valType:\"number\"},roll:{valType:\"number\"}},tilt:{valType:\"number\",dflt:0},distance:{valType:\"number\",min:1.001,dflt:2},parallels:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},scale:{valType:\"number\",min:0,dflt:1}},center:{lon:{valType:\"number\"},lat:{valType:\"number\"}},visible:{valType:\"boolean\",dflt:!0},showcoastlines:{valType:\"boolean\"},coastlinecolor:{valType:\"color\",dflt:Y5.defaultLine},coastlinewidth:{valType:\"number\",min:0,dflt:1},showland:{valType:\"boolean\",dflt:!1},landcolor:{valType:\"color\",dflt:X5.landColor},showocean:{valType:\"boolean\",dflt:!1},oceancolor:{valType:\"color\",dflt:X5.waterColor},showlakes:{valType:\"boolean\",dflt:!1},lakecolor:{valType:\"color\",dflt:X5.waterColor},showrivers:{valType:\"boolean\",dflt:!1},rivercolor:{valType:\"color\",dflt:X5.waterColor},riverwidth:{valType:\"number\",min:0,dflt:1},showcountries:{valType:\"boolean\"},countrycolor:{valType:\"color\",dflt:Y5.defaultLine},countrywidth:{valType:\"number\",min:0,dflt:1},showsubunits:{valType:\"boolean\"},subunitcolor:{valType:\"color\",dflt:Y5.defaultLine},subunitwidth:{valType:\"number\",min:0,dflt:1},showframe:{valType:\"boolean\"},framecolor:{valType:\"color\",dflt:Y5.defaultLine},framewidth:{valType:\"number\",min:0,dflt:1},bgcolor:{valType:\"color\",dflt:Y5.background},lonaxis:zRe,lataxis:zRe},\"plot\",\"from-root\");azt.uirevision={valType:\"any\",editType:\"none\"}});var BRe=ye((qpr,ORe)=>{\"use strict\";var Ez=Mr(),ozt=C_(),szt=kd().getSubplotData,kz=YE(),lzt=LX(),qRe=kz.axesNames;ORe.exports=function(t,r,n){ozt(t,r,n,{type:\"geo\",attributes:lzt,handleDefaults:uzt,fullData:n,partition:\"y\"})};function uzt(e,t,r,n){var i=szt(n.fullData,\"geo\",n.id),a=i.map(function(ae){return ae.index}),o=r(\"resolution\"),s=r(\"scope\"),l=kz.scopeDefaults[s],u=r(\"projection.type\",l.projType),c=t._isAlbersUsa=u===\"albers usa\";c&&(s=t.scope=\"usa\");var f=t._isScoped=s!==\"world\",h=t._isSatellite=u===\"satellite\",d=t._isConic=u.indexOf(\"conic\")!==-1||u===\"albers\",v=t._isClipped=!!kz.lonaxisSpan[u];if(e.visible===!1){var x=Ez.extendDeep({},t._template);x.showcoastlines=!1,x.showcountries=!1,x.showframe=!1,x.showlakes=!1,x.showland=!1,x.showocean=!1,x.showrivers=!1,x.showsubunits=!1,x.lonaxis&&(x.lonaxis.showgrid=!1),x.lataxis&&(x.lataxis.showgrid=!1),t._template=x}for(var b=r(\"visible\"),p,E=0;E<qRe.length;E++){var k=qRe[E],A=[30,10][E],L;if(f)L=l[k+\"Range\"];else{var _=kz[k+\"Span\"],C=(_[u]||_[\"*\"])/2,M=r(\"projection.rotation.\"+k.substr(0,3),l.projRotate[E]);L=[M-C,M+C]}var g=r(k+\".range\",L);r(k+\".tick0\"),r(k+\".dtick\",A),p=r(k+\".showgrid\",b?void 0:!1),p&&(r(k+\".gridcolor\"),r(k+\".gridwidth\"),r(k+\".griddash\")),t[k]._ax={type:\"linear\",_id:k.slice(0,3),_traceIndices:a,setScale:Ez.identity,c2l:Ez.identity,r2l:Ez.identity,autorange:!0,range:g.slice(),_m:1,_input:{}}}var P=t.lonaxis.range,T=t.lataxis.range,F=P[0],q=P[1];F>0&&q<0&&(q+=360);var V=(F+q)/2,H;if(!c){var X=f?l.projRotate:[V,0,0];H=r(\"projection.rotation.lon\",X[0]),r(\"projection.rotation.lat\",X[1]),r(\"projection.rotation.roll\",X[2]),p=r(\"showcoastlines\",!f&&b),p&&(r(\"coastlinecolor\"),r(\"coastlinewidth\")),p=r(\"showocean\",b?void 0:!1),p&&r(\"oceancolor\")}var G,N;if(c?(G=-96.6,N=38.7):(G=f?V:H,N=(T[0]+T[1])/2),r(\"center.lon\",G),r(\"center.lat\",N),h&&(r(\"projection.tilt\"),r(\"projection.distance\")),d){var W=l.projParallels||[0,60];r(\"projection.parallels\",W)}r(\"projection.scale\"),p=r(\"showland\",b?void 0:!1),p&&r(\"landcolor\"),p=r(\"showlakes\",b?void 0:!1),p&&r(\"lakecolor\"),p=r(\"showrivers\",b?void 0:!1),p&&(r(\"rivercolor\"),r(\"riverwidth\")),p=r(\"showcountries\",f&&s!==\"usa\"&&b),p&&(r(\"countrycolor\"),r(\"countrywidth\")),(s===\"usa\"||s===\"north america\"&&o===50)&&(r(\"showsubunits\",b),r(\"subunitcolor\"),r(\"subunitwidth\")),f||(p=r(\"showframe\",b),p&&(r(\"framecolor\"),r(\"framewidth\"))),r(\"bgcolor\");var re=r(\"fitbounds\");re&&(delete t.projection.scale,f?(delete t.center.lon,delete t.center.lat):v?(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon,delete t.projection.rotation.lat,delete t.lonaxis.range,delete t.lataxis.range):(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon))}});var PX=ye((Opr,VRe)=>{\"use strict\";var czt=kd().getSubplotCalcData,fzt=Mr().counterRegex,hzt=RRe(),Wm=\"geo\",NRe=fzt(Wm),URe={};URe[Wm]={valType:\"subplotid\",dflt:Wm,editType:\"calc\"};function dzt(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[Wm],i=0;i<n.length;i++){var a=n[i],o=czt(r,Wm,a),s=t[a],l=s._subplot;l||(l=hzt({id:a,graphDiv:e,container:t._geolayer.node(),topojsonURL:e._context.topojsonURL,staticPlot:e._context.staticPlot}),t[a]._subplot=l),l.plot(o,t,e._promises)}}function vzt(e,t,r,n){for(var i=n._subplots[Wm]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!t[o]&&s&&(s.framework.remove(),s.clipDef.remove())}}function pzt(e){for(var t=e._fullLayout,r=t._subplots[Wm],n=0;n<r.length;n++){var i=t[r[n]],a=i._subplot;a.updateFx(t,i)}}VRe.exports={attr:Wm,name:Wm,idRoot:Wm,idRegex:NRe,attrRegex:NRe,attributes:URe,layoutAttributes:LX(),supplyLayoutDefaults:BRe(),plot:dzt,updateFx:pzt,clean:vzt}});var GRe=ye((Bpr,HRe)=>{\"use strict\";HRe.exports={attributes:H2(),supplyDefaults:A8e(),colorbar:Kd(),formatLabels:E8e(),calc:lz(),calcGeoJSON:_X().calcGeoJSON,plot:_X().plot,style:pX(),styleOnSelect:op().styleOnSelect,hoverPoints:hRe(),eventData:vRe(),selectPoints:mRe(),moduleType:\"trace\",name:\"scattergeo\",basePlotModule:PX(),categories:[\"geo\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var WRe=ye((Npr,jRe)=>{\"use strict\";jRe.exports=GRe()});var K5=ye((Upr,YRe)=>{\"use strict\";var gzt=Wo().hovertemplateAttrs,ox=H2(),mzt=Jl(),ZRe=vl(),yzt=dh().defaultLine,ax=no().extendFlat,XRe=ox.marker.line;YRe.exports=ax({locations:{valType:\"data_array\",editType:\"calc\"},locationmode:ox.locationmode,z:{valType:\"data_array\",editType:\"calc\"},geojson:ax({},ox.geojson,{}),featureidkey:ox.featureidkey,text:ax({},ox.text,{}),hovertext:ax({},ox.hovertext,{}),marker:{line:{color:ax({},XRe.color,{dflt:yzt}),width:ax({},XRe.width,{dflt:1}),editType:\"calc\"},opacity:{valType:\"number\",arrayOk:!0,min:0,max:1,dflt:1,editType:\"style\"},editType:\"calc\"},selected:{marker:{opacity:ox.selected.marker.opacity,editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:ox.unselected.marker.opacity,editType:\"plot\"},editType:\"plot\"},hoverinfo:ax({},ZRe.hoverinfo,{editType:\"calc\",flags:[\"location\",\"z\",\"text\",\"name\"]}),hovertemplate:gzt(),showlegend:ax({},ZRe.showlegend,{dflt:!1})},mzt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var JRe=ye((Vpr,KRe)=>{\"use strict\";var Cz=Mr(),_zt=Uh(),xzt=K5();KRe.exports=function(t,r,n,i){function a(h,d){return Cz.coerce(t,r,xzt,h,d)}var o=a(\"locations\"),s=a(\"z\");if(!(o&&o.length&&Cz.isArrayOrTypedArray(s)&&s.length)){r.visible=!1;return}r._length=Math.min(o.length,s.length);var l=a(\"geojson\"),u;(typeof l==\"string\"&&l!==\"\"||Cz.isPlainObject(l))&&(u=\"geojson-id\");var c=a(\"locationmode\",u);c===\"geojson-id\"&&a(\"featureidkey\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\");var f=a(\"marker.line.width\");f&&a(\"marker.line.color\"),a(\"marker.opacity\"),_zt(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),Cz.coerceSelectionMarkerOpacity(r,a)}});var Lz=ye((Hpr,eDe)=>{\"use strict\";var $Re=uo(),bzt=es().BADNUM,wzt=zv(),Tzt=km(),Azt=F0();function QRe(e){return e&&typeof e==\"string\"}eDe.exports=function(t,r){var n=r._length,i=new Array(n),a;r.geojson?a=function(c){return QRe(c)||$Re(c)}:a=QRe;for(var o=0;o<n;o++){var s=i[o]={},l=r.locations[o],u=r.z[o];a(l)&&$Re(u)?(s.loc=l,s.z=u):(s.loc=null,s.z=bzt),s.index=o}return Tzt(i,r),wzt(t,r,{vals:r.z,containerStr:\"\",cLetter:\"z\"}),Azt(i,r),i}});var Pz=ye((Gpr,rDe)=>{\"use strict\";var Szt=xa(),Mzt=va(),IX=ao(),Ezt=Mu();function kzt(e,t){t&&tDe(e,t)}function tDe(e,t){var r=t[0].trace,n=t[0].node3,i=n.selectAll(\".choroplethlocation\"),a=r.marker||{},o=a.line||{},s=Ezt.makeColorScaleFuncFromTrace(r);i.each(function(l){Szt.select(this).attr(\"fill\",s(l.z)).call(Mzt.stroke,l.mlc||o.color).call(IX.dashLine,\"\",l.mlw||o.width||0).style(\"opacity\",a.opacity)}),IX.selectedPointStyle(i,r)}function Czt(e,t){var r=t[0].node3,n=t[0].trace;n.selectedpoints?IX.selectedPointStyle(r.selectAll(\".choroplethlocation\"),n):tDe(e,t)}rDe.exports={style:kzt,styleOnSelect:Czt}});var RX=ye((jpr,aDe)=>{\"use strict\";var Lzt=xa(),iDe=Mr(),J5=nx(),Pzt=cz().getTopojsonFeatures,nDe=wg().findExtremes,Izt=Pz().style;function Rzt(e,t,r){var n=t.layers.backplot.select(\".choroplethlayer\");iDe.makeTraceGroups(n,r,\"trace choropleth\").each(function(i){var a=Lzt.select(this),o=a.selectAll(\"path.choroplethlocation\").data(iDe.identity);o.enter().append(\"path\").classed(\"choroplethlocation\",!0),o.exit().remove(),Izt(e,i)})}function Dzt(e,t){for(var r=e[0].trace,n=t[r.geo],i=n._subplot,a=r.locationmode,o=r._length,s=a===\"geojson-id\"?J5.extractTraceFeature(e):Pzt(r,i.topojson),l=[],u=[],c=0;c<o;c++){var f=e[c],h=a===\"geojson-id\"?f.fOut:J5.locationToFeature(a,f.loc,s);if(h){f.geojson=h,f.ct=h.properties.ct,f._polygons=J5.feature2polygons(h);var d=J5.computeBbox(h);l.push(d[0],d[2]),u.push(d[1],d[3])}else f.geojson=null}if(n.fitbounds===\"geojson\"&&a===\"geojson-id\"){var v=J5.computeBbox(J5.getTraceGeojson(r));l=[v[0],v[2]],u=[v[1],v[3]]}var x={padded:!0};r._extremes.lon=nDe(n.lonaxis._ax,l,x),r._extremes.lat=nDe(n.lataxis._ax,u,x)}aDe.exports={calcGeoJSON:Dzt,plot:Rzt}});var Iz=ye((Wpr,oDe)=>{\"use strict\";var zzt=Qa(),Fzt=K5(),qzt=Mr().fillText;oDe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.subplot,s,l,u,c,f=[r,n],h=[r+360,n];for(l=0;l<i.length;l++)if(s=i[l],c=!1,s._polygons){for(u=0;u<s._polygons.length;u++)s._polygons[u].contains(f)&&(c=!c),s._polygons[u].contains(h)&&(c=!c);if(c)break}if(!(!c||!s))return t.x0=t.x1=t.xa.c2p(s.ct),t.y0=t.y1=t.ya.c2p(s.ct),t.index=s.index,t.location=s.loc,t.z=s.z,t.zLabel=zzt.tickText(o.mockAxis,o.mockAxis.c2l(s.z),\"hover\").text,t.hovertemplate=s.hovertemplate,Ozt(t,a,s),[t]};function Ozt(e,t,r){if(!t.hovertemplate){var n=r.hi||t.hoverinfo,i=String(r.loc),a=n===\"all\"?Fzt.hoverinfo.flags:n.split(\"+\"),o=a.indexOf(\"name\")!==-1,s=a.indexOf(\"location\")!==-1,l=a.indexOf(\"z\")!==-1,u=a.indexOf(\"text\")!==-1,c=!o&&s,f=[];c?e.nameOverride=i:(o&&(e.nameOverride=t.name),s&&f.push(i)),l&&f.push(e.zLabel),u&&qzt(r,t,f),e.extraText=f.join(\"<br>\")}}});var Rz=ye((Zpr,sDe)=>{\"use strict\";sDe.exports=function(t,r,n,i,a){t.location=r.location,t.z=r.z;var o=i[a];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t.ct=o.ct,t}});var Dz=ye((Xpr,lDe)=>{\"use strict\";lDe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l,u,c,f;if(r===!1)for(s=0;s<n.length;s++)n[s].selected=0;else for(s=0;s<n.length;s++)l=n[s],u=l.ct,u&&(c=i.c2p(u),f=a.c2p(u),r.contains([c,f],null,s,t)?(o.push({pointNumber:s,lon:u[0],lat:u[1]}),l.selected=1):l.selected=0);return o}});var cDe=ye((Ypr,uDe)=>{\"use strict\";uDe.exports={attributes:K5(),supplyDefaults:JRe(),colorbar:M_(),calc:Lz(),calcGeoJSON:RX().calcGeoJSON,plot:RX().plot,style:Pz().style,styleOnSelect:Pz().styleOnSelect,hoverPoints:Iz(),eventData:Rz(),selectPoints:Dz(),moduleType:\"trace\",name:\"choropleth\",basePlotModule:PX(),categories:[\"geo\",\"noOpacity\",\"showLegend\"],meta:{}}});var hDe=ye((Kpr,fDe)=>{\"use strict\";fDe.exports=cDe()});var zz=ye((Jpr,vDe)=>{\"use strict\";var Bzt=ba(),s0=Mr(),Nzt=oT();function Uzt(e,t,r,n){var i=e.cd,a=i[0].t,o=i[0].trace,s=e.xa,l=e.ya,u=a.x,c=a.y,f=s.c2p(t),h=l.c2p(r),d=e.distance,v;if(a.tree){var x=s.p2c(f-d),b=s.p2c(f+d),p=l.p2c(h-d),E=l.p2c(h+d);n===\"x\"?v=a.tree.range(Math.min(x,b),Math.min(l._rl[0],l._rl[1]),Math.max(x,b),Math.max(l._rl[0],l._rl[1])):v=a.tree.range(Math.min(x,b),Math.min(p,E),Math.max(x,b),Math.max(p,E))}else v=a.ids;var k,A,L,_,C,M,g,P,T,F=d;if(n===\"x\"){var q=!!o.xperiodalignment,V=!!o.yperiodalignment;for(C=0;C<v.length;C++){if(k=v[C],L=u[k],M=Math.abs(s.c2p(L)-f),q){var H=s.c2p(o._xStarts[k]),X=s.c2p(o._xEnds[k]);M=f>=Math.min(H,X)&&f<=Math.max(H,X)?0:1/0}if(M<F){if(F=M,_=c[k],g=l.c2p(_)-h,V){var G=l.c2p(o._yStarts[k]),N=l.c2p(o._yEnds[k]);g=h>=Math.min(G,N)&&h<=Math.max(G,N)?0:1/0}T=Math.sqrt(M*M+g*g),A=v[C]}}}else for(C=v.length-1;C>-1;C--)k=v[C],L=u[k],_=c[k],M=s.c2p(L)-f,g=l.c2p(_)-h,P=Math.sqrt(M*M+g*g),P<F&&(F=T=P,A=k);return e.index=A,e.distance=F,e.dxy=T,A===void 0?[e]:[dDe(e,u,c,o)]}function dDe(e,t,r,n){var i=e.xa,a=e.ya,o=e.distance,s=e.dxy,l=e.index,u={pointNumber:l,x:t[l],y:r[l]};u.tx=s0.isArrayOrTypedArray(n.text)?n.text[l]:n.text,u.htx=Array.isArray(n.hovertext)?n.hovertext[l]:n.hovertext,u.data=Array.isArray(n.customdata)?n.customdata[l]:n.customdata,u.tp=Array.isArray(n.textposition)?n.textposition[l]:n.textposition;var c=n.textfont;c&&(u.ts=s0.isArrayOrTypedArray(c.size)?c.size[l]:c.size,u.tc=s0.isArrayOrTypedArray(c.color)?c.color[l]:c.color,u.tf=Array.isArray(c.family)?c.family[l]:c.family,u.tw=Array.isArray(c.weight)?c.weight[l]:c.weight,u.ty=Array.isArray(c.style)?c.style[l]:c.style,u.tv=Array.isArray(c.variant)?c.variant[l]:c.variant);var f=n.marker;f&&(u.ms=s0.isArrayOrTypedArray(f.size)?f.size[l]:f.size,u.mo=s0.isArrayOrTypedArray(f.opacity)?f.opacity[l]:f.opacity,u.mx=s0.isArrayOrTypedArray(f.symbol)?f.symbol[l]:f.symbol,u.ma=s0.isArrayOrTypedArray(f.angle)?f.angle[l]:f.angle,u.mc=s0.isArrayOrTypedArray(f.color)?f.color[l]:f.color);var h=f&&f.line;h&&(u.mlc=Array.isArray(h.color)?h.color[l]:h.color,u.mlw=s0.isArrayOrTypedArray(h.width)?h.width[l]:h.width);var d=f&&f.gradient;d&&d.type!==\"none\"&&(u.mgt=Array.isArray(d.type)?d.type[l]:d.type,u.mgc=Array.isArray(d.color)?d.color[l]:d.color);var v=i.c2p(u.x,!0),x=a.c2p(u.y,!0),b=u.mrc||1,p=n.hoverlabel;p&&(u.hbg=Array.isArray(p.bgcolor)?p.bgcolor[l]:p.bgcolor,u.hbc=Array.isArray(p.bordercolor)?p.bordercolor[l]:p.bordercolor,u.hts=s0.isArrayOrTypedArray(p.font.size)?p.font.size[l]:p.font.size,u.htc=Array.isArray(p.font.color)?p.font.color[l]:p.font.color,u.htf=Array.isArray(p.font.family)?p.font.family[l]:p.font.family,u.hnl=s0.isArrayOrTypedArray(p.namelength)?p.namelength[l]:p.namelength);var E=n.hoverinfo;E&&(u.hi=Array.isArray(E)?E[l]:E);var k=n.hovertemplate;k&&(u.ht=Array.isArray(k)?k[l]:k);var A={};A[e.index]=u;var L=n._origX,_=n._origY,C=s0.extendFlat({},e,{color:Nzt(n,u),x0:v-b,x1:v+b,xLabelVal:L?L[l]:u.x,y0:x-b,y1:x+b,yLabelVal:_?_[l]:u.y,cd:A,distance:o,spikeDistance:s,hovertemplate:u.ht});return u.htx?C.text=u.htx:u.tx?C.text=u.tx:n.text&&(C.text=n.text),s0.fillText(u,n,C),Bzt.getComponentMethod(\"errorbars\",\"hoverInfo\")(u,n,C),C}vDe.exports={hoverPoints:Uzt,calcHover:dDe}});var sx=ye(($pr,gDe)=>{\"use strict\";var pDe=20;gDe.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:pDe,SYMBOL_STROKE:pDe/20,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]}}});var tk=ye((Qpr,xDe)=>{\"use strict\";var Vzt=vl(),Hzt=Su(),Gzt=Eg(),Af=Uc(),mDe=Oc().axisHoverFormat,yDe=Jl(),jzt=Y1(),DX=no().extendFlat,Wzt=Bu().overrideAll,Zzt=sx().DASHES,_De=Af.line,r1=Af.marker,Xzt=r1.line,$5=xDe.exports=Wzt({x:Af.x,x0:Af.x0,dx:Af.dx,y:Af.y,y0:Af.y0,dy:Af.dy,xperiod:Af.xperiod,yperiod:Af.yperiod,xperiod0:Af.xperiod0,yperiod0:Af.yperiod0,xperiodalignment:Af.xperiodalignment,yperiodalignment:Af.yperiodalignment,xhoverformat:mDe(\"x\"),yhoverformat:mDe(\"y\"),text:Af.text,hovertext:Af.hovertext,textposition:Af.textposition,textfont:Hzt({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:\"calc\",colorEditType:\"style\",arrayOk:!0,noNumericWeightValues:!0,variantValues:[\"normal\",\"small-caps\"]}),mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"]},line:{color:_De.color,width:_De.width,shape:{valType:\"enumerated\",values:[\"linear\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\",editType:\"plot\"},dash:{valType:\"enumerated\",values:jzt(Zzt),dflt:\"solid\"}},marker:DX({},yDe(\"marker\"),{symbol:r1.symbol,angle:r1.angle,size:r1.size,sizeref:r1.sizeref,sizemin:r1.sizemin,sizemode:r1.sizemode,opacity:r1.opacity,colorbar:r1.colorbar,line:DX({},yDe(\"marker.line\"),{width:Xzt.width})}),connectgaps:Af.connectgaps,fill:DX({},Af.fill,{dflt:\"none\"}),fillcolor:Gzt(),selected:{marker:Af.selected.marker,textfont:Af.selected.textfont},unselected:{marker:Af.unselected.marker,textfont:Af.unselected.textfont},opacity:Vzt.opacity},\"calc\",\"nested\");$5.x.editType=$5.y.editType=$5.x0.editType=$5.y0.editType=\"calc+clearAxisTypes\";$5.hovertemplate=Af.hovertemplate;$5.texttemplate=Af.texttemplate});var Fz=ye(zX=>{\"use strict\";var bDe=sx();zX.isOpenSymbol=function(e){return typeof e==\"string\"?bDe.OPEN_RE.test(e):e%200>100};zX.isDotSymbol=function(e){return typeof e==\"string\"?bDe.DOT_RE.test(e):e>200}});var ADe=ye((t0r,TDe)=>{\"use strict\";var wDe=Mr(),Yzt=ba(),Kzt=Fz(),Jzt=tk(),$zt=Sm(),qz=lu(),Qzt=K3(),eFt=Pg(),tFt=$p(),rFt=R0(),iFt=Ig(),nFt=D0();TDe.exports=function(t,r,n,i){function a(d,v){return wDe.coerce(t,r,Jzt,d,v)}var o=t.marker?Kzt.isOpenSymbol(t.marker.symbol):!1,s=qz.isBubble(t),l=Qzt(t,r,i,a);if(!l){r.visible=!1;return}eFt(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\");var u=l<$zt.PTS_LINESONLY?\"lines+markers\":\"lines\";a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"mode\",u),qz.hasMarkers(r)&&(tFt(t,r,n,i,a,{noAngleRef:!0,noStandOff:!0}),a(\"marker.line.width\",o||s?1:0)),qz.hasLines(r)&&(a(\"connectgaps\"),rFt(t,r,n,i,a),a(\"line.shape\")),qz.hasText(r)&&(a(\"texttemplate\"),nFt(t,r,i,a,{noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}));var c=(r.line||{}).color,f=(r.marker||{}).color;a(\"fill\"),r.fill!==\"none\"&&iFt(t,r,n,a);var h=Yzt.getComponentMethod(\"errorbars\",\"supplyDefaults\");h(t,r,c||f||n,{axis:\"y\"}),h(t,r,c||f||n,{axis:\"x\",inherit:\"y\"}),wDe.coerceSelectionMarkerOpacity(r,a)}});var MDe=ye((r0r,SDe)=>{\"use strict\";var aFt=$P();SDe.exports=function(t,r,n){var i=t.i;return\"x\"in t||(t.x=r._x[i]),\"y\"in t||(t.y=r._y[i]),aFt(t,r,n)}});var kDe=ye((i0r,EDe)=>{\"use strict\";function oFt(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>=0?(a=o,i=o-1):n=o+1}return a}function sFt(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>0?(a=o,i=o-1):n=o+1}return a}function lFt(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<0?(a=o,n=o+1):i=o-1}return a}function uFt(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<=0?(a=o,n=o+1):i=o-1}return a}function cFt(e,t,r,n,i){for(;n<=i;){var a=n+i>>>1,o=e[a],s=r!==void 0?r(o,t):o-t;if(s===0)return a;s<=0?n=a+1:i=a-1}return-1}function rk(e,t,r,n,i,a){return typeof r==\"function\"?a(e,t,r,n===void 0?0:n|0,i===void 0?e.length-1:i|0):a(e,t,void 0,r===void 0?0:r|0,n===void 0?e.length-1:n|0)}EDe.exports={ge:function(e,t,r,n,i){return rk(e,t,r,n,i,oFt)},gt:function(e,t,r,n,i){return rk(e,t,r,n,i,sFt)},lt:function(e,t,r,n,i){return rk(e,t,r,n,i,lFt)},le:function(e,t,r,n,i){return rk(e,t,r,n,i,uFt)},eq:function(e,t,r,n,i){return rk(e,t,r,n,i,cFt)}}});var Zm=ye((n0r,LDe)=>{\"use strict\";LDe.exports=function(t,r,n){var i={},a,o;if(typeof r==\"string\"&&(r=CDe(r)),Array.isArray(r)){var s={};for(o=0;o<r.length;o++)s[r[o]]=!0;r=s}for(a in r)r[a]=CDe(r[a]);var l={};for(a in r){var u=r[a];if(Array.isArray(u))for(o=0;o<u.length;o++){var c=u[o];if(n&&(l[c]=!0),c in t){if(i[a]=t[c],n)for(var f=o;f<u.length;f++)l[u[f]]=!0;break}}else a in t&&(r[a]&&(i[a]=t[a]),n&&(l[a]=!0))}if(n)for(a in t)l[a]||(i[a]=t[a]);return i};var FX={};function CDe(e){return FX[e]?FX[e]:(typeof e==\"string\"&&(e=FX[e]=e.split(/\\s*,\\s*|\\s+/)),e)}});var Q5=ye((a0r,PDe)=>{\"use strict\";var fFt=Zm();PDe.exports=hFt;function hFt(e){var t;return arguments.length>1&&(e=arguments),typeof e==\"string\"?e=e.split(/\\s/).map(parseFloat):typeof e==\"number\"&&(e=[e]),e.length&&typeof e[0]==\"number\"?e.length===1?t={width:e[0],height:e[0],x:0,y:0}:e.length===2?t={width:e[0],height:e[1],x:0,y:0}:t={x:e[0],y:e[1],width:e[2]-e[0]||0,height:e[3]-e[1]||0}:e&&(e=fFt(e,{left:\"x l left Left\",top:\"y t top Top\",width:\"w width W Width\",height:\"h height W Width\",bottom:\"b bottom Bottom\",right:\"r right Right\"}),t={x:e.left||0,y:e.top||0},e.width==null?e.right?t.width=e.right-t.x:t.width=0:t.width=e.width,e.height==null?e.bottom?t.height=e.bottom-t.y:t.height=0:t.height=e.height),t}});var j2=ye((o0r,IDe)=>{\"use strict\";IDe.exports=dFt;function dFt(e,t){if(!e||e.length==null)throw Error(\"Argument should be an array\");t==null?t=1:t=Math.floor(t);for(var r=Array(t*2),n=0;n<t;n++){for(var i=-1/0,a=1/0,o=n,s=e.length;o<s;o+=t)e[o]>i&&(i=e[o]),e[o]<a&&(a=e[o]);r[n]=a,r[t+n]=i}return r}});var DDe=ye((s0r,RDe)=>{RDe.exports=function(){for(var e=0;e<arguments.length;e++)if(arguments[e]!==void 0)return arguments[e]}});var W2=ye((l0r,FDe)=>{var zDe=HD();FDe.exports=vFt;function vFt(e,t,r){if(!e)throw new TypeError(\"must specify data as first parameter\");if(r=+(r||0)|0,Array.isArray(e)&&e[0]&&typeof e[0][0]==\"number\"){var n=e[0].length,i=e.length*n,a,o,s,l;(!t||typeof t==\"string\")&&(t=new(zDe(t||\"float32\"))(i+r));var u=t.length-r;if(i!==u)throw new Error(\"source length \"+i+\" (\"+n+\"x\"+e.length+\") does not match destination length \"+u);for(a=0,s=r;a<e.length;a++)for(o=0;o<n;o++)t[s++]=e[a][o]===null?NaN:e[a][o]}else if(!t||typeof t==\"string\"){var c=zDe(t||\"float32\");if(Array.isArray(e)||t===\"array\")for(t=new c(e.length+r),a=0,s=r,l=t.length;s<l;s++,a++)t[s]=e[a]===null?NaN:e[a];else r===0?t=new c(e):(t=new c(e.length+r),t.set(e,r))}else t.set(e,r);return t}});var ODe=ye((u0r,qDe)=>{\"use strict\";qDe.exports=function(e){var t=typeof e;return e!==null&&(t===\"object\"||t===\"function\")}});var NDe=ye((c0r,BDe)=>{\"use strict\";BDe.exports=Math.log2||function(e){return Math.log(e)*Math.LOG2E}});var ZDe=ye((f0r,WDe)=>{\"use strict\";var UDe=kDe(),VDe=VE(),pFt=Q5(),gFt=j2(),HDe=Zm(),qX=DDe(),mFt=W2(),yFt=ODe(),_Ft=HD(),GDe=NDe(),xFt=1073741824;WDe.exports=function(t,r){r||(r={}),t=mFt(t,\"float64\"),r=HDe(r,{bounds:\"range bounds dataBox databox\",maxDepth:\"depth maxDepth maxdepth level maxLevel maxlevel levels\",dtype:\"type dtype format out dst output destination\"});let n=qX(r.maxDepth,255),i=qX(r.bounds,gFt(t,2));i[0]===i[2]&&i[2]++,i[1]===i[3]&&i[3]++;let a=jDe(t,i),o=t.length>>>1,s;r.dtype||(r.dtype=\"array\"),typeof r.dtype==\"string\"?s=new(_Ft(r.dtype))(o):r.dtype&&(s=r.dtype,Array.isArray(s)&&(s.length=o));for(let p=0;p<o;++p)s[p]=p;let l=[],u=[],c=[],f=[];d(0,0,1,s,0,1);let h=0;for(let p=0;p<l.length;p++){let E=l[p];if(s.set)s.set(E,h);else for(let A=0,L=E.length;A<L;A++)s[A+h]=E[A];let k=h+l[p].length;f[p]=[h,k],h=k}return s.range=v,s;function d(p,E,k,A,L,_){if(!A.length)return null;let C=l[L]||(l[L]=[]),M=c[L]||(c[L]=[]),g=u[L]||(u[L]=[]),P=C.length;if(L++,L>n||_>xFt){for(let N=0;N<A.length;N++)C.push(A[N]),M.push(_),g.push(null,null,null,null);return P}if(C.push(A[0]),M.push(_),A.length<=1)return g.push(null,null,null,null),P;let T=k*.5,F=p+T,q=E+T,V=[],H=[],X=[],G=[];for(let N=1,W=A.length;N<W;N++){let re=A[N],ae=a[re*2],_e=a[re*2+1];ae<F?_e<q?V.push(re):H.push(re):_e<q?X.push(re):G.push(re)}return _<<=2,g.push(d(p,E,T,V,L,_),d(p,q,T,H,L,_+1),d(F,E,T,X,L,_+2),d(F,q,T,G,L,_+3)),P}function v(...p){let E;if(yFt(p[p.length-1])){let X=p.pop();!p.length&&(X.x!=null||X.l!=null||X.left!=null)&&(p=[X],E={}),E=HDe(X,{level:\"level maxLevel\",d:\"d diam diameter r radius px pxSize pixel pixelSize maxD size minSize\",lod:\"lod details ranges offsets\"})}else E={};p.length||(p=i);let k=pFt(...p),[A,L,_,C]=[Math.min(k.x,k.x+k.width),Math.min(k.y,k.y+k.height),Math.max(k.x,k.x+k.width),Math.max(k.y,k.y+k.height)],[M,g,P,T]=jDe([A,L,_,C],i),F=qX(E.level,l.length);if(E.d!=null){let X;typeof E.d==\"number\"?X=[E.d,E.d]:E.d.length&&(X=E.d),F=Math.min(Math.max(Math.ceil(-GDe(Math.abs(X[0])/(i[2]-i[0]))),Math.ceil(-GDe(Math.abs(X[1])/(i[3]-i[1])))),F)}if(F=Math.min(F,l.length),E.lod)return x(M,g,P,T,F);let q=[];V(0,0,1,0,0,1);function V(X,G,N,W,re,ae){if(re===null||ae===null)return;let _e=X+N,Me=G+N;if(M>_e||g>Me||P<X||T<G||W>=F||re===ae)return;let ke=l[W];ae===void 0&&(ae=ke.length);for(let Re=re;Re<ae;Re++){let ce=ke[Re],Ge=t[ce*2],nt=t[ce*2+1];Ge>=A&&Ge<=_&&nt>=L&&nt<=C&&q.push(ce)}let ge=u[W],ie=ge[re*4+0],Te=ge[re*4+1],Ee=ge[re*4+2],Ae=ge[re*4+3],ze=H(ge,re+1),Ce=N*.5,me=W+1;V(X,G,Ce,me,ie,Te||Ee||Ae||ze),V(X,G+Ce,Ce,me,Te,Ee||Ae||ze),V(X+Ce,G,Ce,me,Ee,Ae||ze),V(X+Ce,G+Ce,Ce,me,Ae,ze)}function H(X,G){let N=null,W=0;for(;N===null;)if(N=X[G*4+W],W++,W>X.length)return null;return N}return q}function x(p,E,k,A,L){let _=[];for(let C=0;C<L;C++){let M=c[C],g=f[C][0],P=b(p,E,C),T=b(k,A,C),F=UDe.ge(M,P),q=UDe.gt(M,T,F,M.length-1);_[C]=[F+g,q+g]}return _}function b(p,E,k){let A=1,L=.5,_=.5,C=.5;for(let M=0;M<k;M++)A<<=2,A+=p<L?E<_?0:1:E<_?2:3,C*=.5,L+=p<L?-C:C,_+=E<_?-C:C;return A}};function jDe(e,t){let[r,n,i,a]=t,o=1/(i-r),s=1/(a-n),l=new Array(e.length);for(let u=0,c=e.length/2;u<c;u++)l[2*u]=VDe((e[2*u]-r)*o,0,1),l[2*u+1]=VDe((e[2*u+1]-n)*s,0,1);return l}});var Oz=ye((h0r,XDe)=>{\"use strict\";XDe.exports=ZDe()});var OX=ye((d0r,YDe)=>{YDe.exports=bFt;function bFt(e){var t=0,r=0,n=0,i=0;return e.map(function(a){a=a.slice();var o=a[0],s=o.toUpperCase();if(o!=s)switch(a[0]=s,o){case\"a\":a[6]+=n,a[7]+=i;break;case\"v\":a[1]+=i;break;case\"h\":a[1]+=n;break;default:for(var l=1;l<a.length;)a[l++]+=n,a[l++]+=i}switch(s){case\"Z\":n=t,i=r;break;case\"H\":n=a[1];break;case\"V\":i=a[1];break;case\"M\":n=t=a[1],i=r=a[2];break;default:n=a[a.length-2],i=a[a.length-1]}return a})}});var $De=ye((Bz,JDe)=>{\"use strict\";Object.defineProperty(Bz,\"__esModule\",{value:!0});var wFt=function(){function e(t,r){var n=[],i=!0,a=!1,o=void 0;try{for(var s=t[Symbol.iterator](),l;!(i=(l=s.next()).done)&&(n.push(l.value),!(r&&n.length===r));i=!0);}catch(u){a=!0,o=u}finally{try{!i&&s.return&&s.return()}finally{if(a)throw o}}return n}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),ik=Math.PI*2,BX=function(t,r,n,i,a,o,s){var l=t.x,u=t.y;l*=r,u*=n;var c=i*l-a*u,f=a*l+i*u;return{x:c+o,y:f+s}},TFt=function(t,r){var n=r===1.5707963267948966?.551915024494:r===-1.5707963267948966?-.551915024494:1.3333333333333333*Math.tan(r/4),i=Math.cos(t),a=Math.sin(t),o=Math.cos(t+r),s=Math.sin(t+r);return[{x:i-a*n,y:a+i*n},{x:o+s*n,y:s-o*n},{x:o,y:s}]},KDe=function(t,r,n,i){var a=t*i-r*n<0?-1:1,o=t*n+r*i;return o>1&&(o=1),o<-1&&(o=-1),a*Math.acos(o)},AFt=function(t,r,n,i,a,o,s,l,u,c,f,h){var d=Math.pow(a,2),v=Math.pow(o,2),x=Math.pow(f,2),b=Math.pow(h,2),p=d*v-d*b-v*x;p<0&&(p=0),p/=d*b+v*x,p=Math.sqrt(p)*(s===l?-1:1);var E=p*a/o*h,k=p*-o/a*f,A=c*E-u*k+(t+n)/2,L=u*E+c*k+(r+i)/2,_=(f-E)/a,C=(h-k)/o,M=(-f-E)/a,g=(-h-k)/o,P=KDe(1,0,_,C),T=KDe(_,C,M,g);return l===0&&T>0&&(T-=ik),l===1&&T<0&&(T+=ik),[A,L,P,T]},SFt=function(t){var r=t.px,n=t.py,i=t.cx,a=t.cy,o=t.rx,s=t.ry,l=t.xAxisRotation,u=l===void 0?0:l,c=t.largeArcFlag,f=c===void 0?0:c,h=t.sweepFlag,d=h===void 0?0:h,v=[];if(o===0||s===0)return[];var x=Math.sin(u*ik/360),b=Math.cos(u*ik/360),p=b*(r-i)/2+x*(n-a)/2,E=-x*(r-i)/2+b*(n-a)/2;if(p===0&&E===0)return[];o=Math.abs(o),s=Math.abs(s);var k=Math.pow(p,2)/Math.pow(o,2)+Math.pow(E,2)/Math.pow(s,2);k>1&&(o*=Math.sqrt(k),s*=Math.sqrt(k));var A=AFt(r,n,i,a,o,s,f,d,x,b,p,E),L=wFt(A,4),_=L[0],C=L[1],M=L[2],g=L[3],P=Math.abs(g)/(ik/4);Math.abs(1-P)<1e-7&&(P=1);var T=Math.max(Math.ceil(P),1);g/=T;for(var F=0;F<T;F++)v.push(TFt(M,g)),M+=g;return v.map(function(q){var V=BX(q[0],o,s,b,x,_,C),H=V.x,X=V.y,G=BX(q[1],o,s,b,x,_,C),N=G.x,W=G.y,re=BX(q[2],o,s,b,x,_,C),ae=re.x,_e=re.y;return{x1:H,y1:X,x2:N,y2:W,x:ae,y:_e}})};Bz.default=SFt;JDe.exports=Bz.default});var tze=ye((v0r,eze)=>{\"use strict\";eze.exports=EFt;var MFt=$De();function EFt(e){for(var t,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,f=0,h=e.length;f<h;f++){var d=e[f],v=d[0];switch(v){case\"M\":a=d[1],o=d[2];break;case\"A\":var x=MFt({px:u,py:c,cx:d[6],cy:d[7],rx:d[1],ry:d[2],xAxisRotation:d[3],largeArcFlag:d[4],sweepFlag:d[5]});if(!x.length)continue;for(var b=0,p;b<x.length;b++)p=x[b],d=[\"C\",p.x1,p.y1,p.x2,p.y2,p.x,p.y],b<x.length-1&&r.push(d);break;case\"S\":var E=u,k=c;(t==\"C\"||t==\"S\")&&(E+=E-n,k+=k-i),d=[\"C\",E,k,d[1],d[2],d[3],d[4]];break;case\"T\":t==\"Q\"||t==\"T\"?(s=u*2-s,l=c*2-l):(s=u,l=c),d=QDe(u,c,s,l,d[1],d[2]);break;case\"Q\":s=d[1],l=d[2],d=QDe(u,c,d[1],d[2],d[3],d[4]);break;case\"L\":d=Nz(u,c,d[1],d[2]);break;case\"H\":d=Nz(u,c,d[1],c);break;case\"V\":d=Nz(u,c,u,d[1]);break;case\"Z\":d=Nz(u,c,a,o);break}t=v,u=d[d.length-2],c=d[d.length-1],d.length>4?(n=d[d.length-4],i=d[d.length-3]):(n=u,i=c),r.push(d)}return r}function Nz(e,t,r,n){return[\"C\",e,t,r,n,r,n]}function QDe(e,t,r,n,i,a){return[\"C\",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}});var NX=ye((p0r,rze)=>{\"use strict\";rze.exports=function(t){return typeof t!=\"string\"?!1:(t=t.trim(),!!(/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\\dz]$/i.test(t)&&t.length>4))}});var aze=ye((g0r,nze)=>{\"use strict\";var kFt=XS(),CFt=OX(),LFt=tze(),PFt=NX(),ize=tE();nze.exports=IFt;function IFt(e){if(Array.isArray(e)&&e.length===1&&typeof e[0]==\"string\"&&(e=e[0]),typeof e==\"string\"&&(ize(PFt(e),\"String is not an SVG path.\"),e=kFt(e)),ize(Array.isArray(e),\"Argument should be a string or an array of path segments.\"),e=CFt(e),e=LFt(e),!e.length)return[0,0,0,0];for(var t=[1/0,1/0,-1/0,-1/0],r=0,n=e.length;r<n;r++)for(var i=e[r].slice(1),a=0;a<i.length;a+=2)i[a+0]<t[0]&&(t[0]=i[a+0]),i[a+1]<t[1]&&(t[1]=i[a+1]),i[a+0]>t[2]&&(t[2]=i[a+0]),i[a+1]>t[3]&&(t[3]=i[a+1]);return t}});var fze=ye((m0r,cze)=>{var Z2=Math.PI,oze=uze(120);cze.exports=RFt;function RFt(e){for(var t,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,f=0,h=e.length;f<h;f++){var d=e[f],v=d[0];switch(v){case\"M\":a=d[1],o=d[2];break;case\"A\":d=lze(u,c,d[1],d[2],uze(d[3]),d[4],d[5],d[6],d[7]),d.unshift(\"C\"),d.length>7&&(r.push(d.splice(0,7)),d.unshift(\"C\"));break;case\"S\":var x=u,b=c;(t==\"C\"||t==\"S\")&&(x+=x-n,b+=b-i),d=[\"C\",x,b,d[1],d[2],d[3],d[4]];break;case\"T\":t==\"Q\"||t==\"T\"?(s=u*2-s,l=c*2-l):(s=u,l=c),d=sze(u,c,s,l,d[1],d[2]);break;case\"Q\":s=d[1],l=d[2],d=sze(u,c,d[1],d[2],d[3],d[4]);break;case\"L\":d=Uz(u,c,d[1],d[2]);break;case\"H\":d=Uz(u,c,d[1],c);break;case\"V\":d=Uz(u,c,u,d[1]);break;case\"Z\":d=Uz(u,c,a,o);break}t=v,u=d[d.length-2],c=d[d.length-1],d.length>4?(n=d[d.length-4],i=d[d.length-3]):(n=u,i=c),r.push(d)}return r}function Uz(e,t,r,n){return[\"C\",e,t,r,n,r,n]}function sze(e,t,r,n,i,a){return[\"C\",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function lze(e,t,r,n,i,a,o,s,l,u){if(u)k=u[0],A=u[1],p=u[2],E=u[3];else{var c=UX(e,t,-i);e=c.x,t=c.y,c=UX(s,l,-i),s=c.x,l=c.y;var f=(e-s)/2,h=(t-l)/2,d=f*f/(r*r)+h*h/(n*n);d>1&&(d=Math.sqrt(d),r=d*r,n=d*n);var v=r*r,x=n*n,b=(a==o?-1:1)*Math.sqrt(Math.abs((v*x-v*h*h-x*f*f)/(v*h*h+x*f*f)));b==1/0&&(b=1);var p=b*r*h/n+(e+s)/2,E=b*-n*f/r+(t+l)/2,k=Math.asin(((t-E)/n).toFixed(9)),A=Math.asin(((l-E)/n).toFixed(9));k=e<p?Z2-k:k,A=s<p?Z2-A:A,k<0&&(k=Z2*2+k),A<0&&(A=Z2*2+A),o&&k>A&&(k=k-Z2*2),!o&&A>k&&(A=A-Z2*2)}if(Math.abs(A-k)>oze){var L=A,_=s,C=l;A=k+oze*(o&&A>k?1:-1),s=p+r*Math.cos(A),l=E+n*Math.sin(A);var M=lze(s,l,r,n,i,0,o,_,C,[A,L,p,E])}var g=Math.tan((A-k)/4),P=4/3*r*g,T=4/3*n*g,F=[2*e-(e+P*Math.sin(k)),2*t-(t-T*Math.cos(k)),s+P*Math.sin(A),l-T*Math.cos(A),s,l];if(u)return F;M&&(F=F.concat(M));for(var q=0;q<F.length;){var V=UX(F[q],F[q+1],i);F[q++]=V.x,F[q++]=V.y}return F}function UX(e,t,r){return{x:e*Math.cos(r)-t*Math.sin(r),y:e*Math.sin(r)+t*Math.cos(r)}}function uze(e){return e*(Z2/180)}});var dze=ye((y0r,hze)=>{var DFt=OX(),zFt=fze(),FFt={M:\"moveTo\",C:\"bezierCurveTo\"};hze.exports=function(e,t){e.beginPath(),zFt(DFt(t)).forEach(function(r){var n=r[0],i=r.slice(1);e[FFt[n]].apply(e,i)}),e.closePath()}});var mze=ye((_0r,gze)=>{\"use strict\";var qFt=VE();gze.exports=OFt;var nk=1e20;function OFt(e,t){t||(t={});var r=t.cutoff==null?.25:t.cutoff,n=t.radius==null?8:t.radius,i=t.channel||0,a,o,s,l,u,c,f,h,d,v,x;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error(\"For raw data width and height should be provided by options\");a=t.width,o=t.height,l=e,t.stride?c=t.stride:c=Math.floor(e.length/a/o)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(h=e,f=h.getContext(\"2d\"),a=h.width,o=h.height,d=f.getImageData(0,0,a,o),l=d.data,c=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(h=e.canvas,f=e,a=h.width,o=h.height,d=f.getImageData(0,0,a,o),l=d.data,c=4):window.ImageData&&e instanceof window.ImageData&&(d=e,a=e.width,o=e.height,l=d.data,c=4);if(s=Math.max(a,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(u=l,l=Array(a*o),v=0,x=u.length;v<x;v++)l[v]=u[v*c+i]/255;else if(c!==1)throw Error(\"Raw data can have only 1 value per pixel\");var b=Array(a*o),p=Array(a*o),E=Array(s),k=Array(s),A=Array(s+1),L=Array(s);for(v=0,x=a*o;v<x;v++){var _=l[v];b[v]=_===1?0:_===0?nk:Math.pow(Math.max(0,.5-_),2),p[v]=_===1?nk:_===0?0:Math.pow(Math.max(0,_-.5),2)}vze(b,a,o,E,k,L,A),vze(p,a,o,E,k,L,A);var C=window.Float32Array?new Float32Array(a*o):new Array(a*o);for(v=0,x=a*o;v<x;v++)C[v]=qFt(1-((b[v]-p[v])/n+r),0,1);return C}function vze(e,t,r,n,i,a,o){for(var s=0;s<t;s++){for(var l=0;l<r;l++)n[l]=e[l*t+s];for(pze(n,i,a,o,r),l=0;l<r;l++)e[l*t+s]=i[l]}for(l=0;l<r;l++){for(s=0;s<t;s++)n[s]=e[l*t+s];for(pze(n,i,a,o,t),s=0;s<t;s++)e[l*t+s]=Math.sqrt(i[s])}}function pze(e,t,r,n,i){r[0]=0,n[0]=-nk,n[1]=+nk;for(var a=1,o=0;a<i;a++){for(var s=(e[a]+a*a-(e[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);s<=n[o];)o--,s=(e[a]+a*a-(e[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);o++,r[o]=a,n[o]=s,n[o+1]=+nk}for(a=0,o=0;a<i;a++){for(;n[o+1]<a;)o++;t[a]=(a-r[o])*(a-r[o])+e[r[o]]}}});var _ze=ye((x0r,yze)=>{\"use strict\";var BFt=aze(),NFt=XS(),UFt=dze(),VFt=NX(),HFt=mze(),VX=document.createElement(\"canvas\"),hp=VX.getContext(\"2d\");yze.exports=GFt;function GFt(e,t){if(!VFt(e))throw Error(\"Argument should be valid svg path string\");t||(t={});var r,n;t.shape?(r=t.shape[0],n=t.shape[1]):(r=VX.width=t.w||t.width||200,n=VX.height=t.h||t.height||200);var i=Math.min(r,n),a=t.stroke||0,o=t.viewbox||t.viewBox||BFt(e),s=[r/(o[2]-o[0]),n/(o[3]-o[1])],l=Math.min(s[0]||0,s[1]||0)/2;if(hp.fillStyle=\"black\",hp.fillRect(0,0,r,n),hp.fillStyle=\"white\",a&&(typeof a!=\"number\"&&(a=1),a>0?hp.strokeStyle=\"white\":hp.strokeStyle=\"black\",hp.lineWidth=Math.abs(a)),hp.translate(r*.5,n*.5),hp.scale(l,l),jFt()){var u=new Path2D(e);hp.fill(u),a&&hp.stroke(u)}else{var c=NFt(e);UFt(hp,c),hp.fill(),a&&hp.stroke()}hp.setTransform(1,0,0,1,0,0);var f=HFt(hp,{cutoff:t.cutoff!=null?t.cutoff:.5,radius:t.radius!=null?t.radius:i*.5});return f}var Vz;function jFt(){if(Vz!=null)return Vz;var e=document.createElement(\"canvas\").getContext(\"2d\");if(e.canvas.width=e.canvas.height=1,!window.Path2D)return Vz=!1;var t=new Path2D(\"M0,0h1v1h-1v-1Z\");e.fillStyle=\"black\",e.fill(t);var r=e.getImageData(0,0,1,1);return Vz=r&&r.data&&r.data[3]===255}});var Y2=ye((b0r,Lze)=>{\"use strict\";var Gz=uo(),WFt=_ze(),Hz=$_(),ZFt=ba(),rA=Mr(),Qf=rA.isArrayOrTypedArray,eA=ao(),xze=af(),bze=$y().formatColor,tA=lu(),XFt=S3(),GX=Fz(),ak=sx(),YFt=U1().DESELECTDIM,wze={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},KFt=rp().appendArrayPointValue;function JFt(e,t){var r,n={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0},i=e._context.plotGlPixelRatio;if(t.visible!==!0)return n;if(tA.hasText(t)&&(n.text=Cze(e,t),n.textSel=Aze(e,t,t.selected),n.textUnsel=Aze(e,t,t.unselected)),tA.hasMarkers(t)&&(n.marker=WX(e,t),n.markerSel=jX(e,t,t.selected),n.markerUnsel=jX(e,t,t.unselected),!t.unselected&&Qf(t.marker.opacity))){var a=t.marker.opacity;for(n.markerUnsel.opacity=new Array(a.length),r=0;r<a.length;r++)n.markerUnsel.opacity[r]=YFt*a[r]}if(tA.hasLines(t)){n.line={overlay:!0,thickness:t.line.width*i,color:t.line.color,opacity:t.opacity};var o=(ak.DASHES[t.line.dash]||[1]).slice();for(r=0;r<o.length;++r)o[r]*=t.line.width*i;n.line.dashes=o}return t.error_x&&t.error_x.visible&&(n.errorX=Sze(t,t.error_x,i)),t.error_y&&t.error_y.visible&&(n.errorY=Sze(t,t.error_y,i)),t.fill&&t.fill!==\"none\"&&(n.fill={closed:!0,fill:t.fillcolor,thickness:0}),n}function Cze(e,t){var r=e._fullLayout,n=t._length,i=t.textfont,a=t.textposition,o=Qf(a)?a:[a],s=i.color,l=i.size,u=i.family,c=i.weight,f=i.style,h=i.variant,d={},v,x=e._context.plotGlPixelRatio,b=t.texttemplate;if(b){d.text=[];var p=r._d3locale,E=Array.isArray(b),k=E?Math.min(b.length,n):n,A=E?function(T){return b[T]}:function(){return b};for(v=0;v<k;v++){var L={i:v},_=t._module.formatLabels(L,t,r),C={};KFt(C,t,v);var M=t._meta||{};d.text.push(rA.texttemplateString(A(v),_,p,C,L,M))}}else Qf(t.text)&&t.text.length<n?d.text=t.text.slice():d.text=t.text;if(Qf(d.text))for(v=d.text.length;v<n;v++)d.text[v]=\"\";for(d.opacity=t.opacity,d.font={},d.align=[],d.baseline=[],v=0;v<o.length;v++){var g=o[v].split(/\\s+/);switch(g[1]){case\"left\":d.align.push(\"right\");break;case\"right\":d.align.push(\"left\");break;default:d.align.push(g[1])}switch(g[0]){case\"top\":d.baseline.push(\"bottom\");break;case\"bottom\":d.baseline.push(\"top\");break;default:d.baseline.push(g[0])}}if(Qf(s))for(d.color=new Array(n),v=0;v<n;v++)d.color[v]=s[v];else d.color=s;if(Qf(l)||Array.isArray(u)||Qf(c)||Array.isArray(f)||Array.isArray(h))for(d.font=new Array(n),v=0;v<n;v++){var P=d.font[v]={};P.size=(rA.isTypedArray(l)?l[v]:Qf(l)?Gz(l[v])?l[v]:0:l)*x,P.family=Array.isArray(u)?u[v]:u,P.weight=Tze(Qf(c)?c[v]:c),P.style=Array.isArray(f)?f[v]:f,P.variant=Array.isArray(h)?h[v]:h}else d.font={size:l*x,family:u,weight:Tze(c),style:f,variant:h};return d}function Tze(e){return e<=1e3?e>500?\"bold\":\"normal\":e}function WX(e,t){var r=t._length,n=t.marker,i={},a,o=Qf(n.symbol),s=Qf(n.angle),l=Qf(n.color),u=Qf(n.line.color),c=Qf(n.opacity),f=Qf(n.size),h=Qf(n.line.width),d;if(o||(d=GX.isOpenSymbol(n.symbol)),o||l||u||c||s){i.symbols=new Array(r),i.angles=new Array(r),i.colors=new Array(r),i.borderColors=new Array(r);var v=n.symbol,x=n.angle,b=bze(n,n.opacity,r),p=bze(n.line,n.opacity,r);if(!Qf(p[0])){var E=p;for(p=Array(r),a=0;a<r;a++)p[a]=E}if(!Qf(b[0])){var k=b;for(b=Array(r),a=0;a<r;a++)b[a]=k}if(!Qf(v)){var A=v;for(v=Array(r),a=0;a<r;a++)v[a]=A}if(!Qf(x)){var L=x;for(x=Array(r),a=0;a<r;a++)x[a]=L}for(i.symbols=v,i.angles=x,i.colors=b,i.borderColors=p,a=0;a<r;a++)o&&(d=GX.isOpenSymbol(n.symbol[a])),d&&(p[a]=b[a].slice(),b[a]=b[a].slice(),b[a][3]=0);for(i.opacity=t.opacity,i.markers=new Array(r),a=0;a<r;a++)i.markers[a]=kze({mx:i.symbols[a],ma:i.angles[a]},t)}else d?(i.color=Hz(n.color,\"uint8\"),i.color[3]=0,i.borderColor=Hz(n.color,\"uint8\")):(i.color=Hz(n.color,\"uint8\"),i.borderColor=Hz(n.line.color,\"uint8\")),i.opacity=t.opacity*n.opacity,i.marker=kze({mx:n.symbol,ma:n.angle},t);var _=1,C=XFt(t,_),M;if(f||h){var g=i.sizes=new Array(r),P=i.borderSizes=new Array(r),T=0,F;if(f){for(a=0;a<r;a++)g[a]=C(n.size[a]),T+=g[a];F=T/r}else for(M=C(n.size),a=0;a<r;a++)g[a]=M;if(h)for(a=0;a<r;a++)P[a]=n.line.width[a];else for(M=n.line.width,a=0;a<r;a++)P[a]=M;i.sizeAvg=F}else i.size=C(n&&n.size||10),i.borderSizes=C(n.line.width);return i}function jX(e,t,r){var n=t.marker,i={};return r&&(r.marker&&r.marker.symbol?i=WX(e,rA.extendFlat({},n,r.marker)):r.marker&&(r.marker.size&&(i.size=r.marker.size),r.marker.color&&(i.colors=r.marker.color),r.marker.opacity!==void 0&&(i.opacity=r.marker.opacity))),i}function Aze(e,t,r){var n={};if(!r)return n;if(r.textfont){var i={opacity:1,text:t.text,texttemplate:t.texttemplate,textposition:t.textposition,textfont:rA.extendFlat({},t.textfont)};r.textfont&&rA.extendFlat(i.textfont,r.textfont),n=Cze(e,i)}return n}function Sze(e,t,r){var n={capSize:t.width*2*r,lineWidth:t.thickness*r,color:t.color};return t.copy_ystyle&&(n=e.error_y),n}var Mze=ak.SYMBOL_SDF_SIZE,X2=ak.SYMBOL_SIZE,Eze=ak.SYMBOL_STROKE,HX={},$Ft=eA.symbolFuncs[0](X2*.05);function kze(e,t){var r=e.mx;if(r===\"circle\")return null;var n,i,a=eA.symbolNumber(r),o=eA.symbolFuncs[a%100],s=!!eA.symbolNoDot[a%100],l=!!eA.symbolNoFill[a%100],u=GX.isDotSymbol(r);if(e.ma&&(r+=\"_\"+e.ma),HX[r])return HX[r];var c=eA.getMarkerAngle(e,t);return u&&!s?n=o(X2*1.1,c)+$Ft:n=o(X2,c),i=WFt(n,{w:Mze,h:Mze,viewBox:[-X2,-X2,X2,X2],stroke:l?Eze:-Eze}),HX[r]=i,i||null}function QFt(e,t,r){var n=r.length,i=n/2,a,o;if(tA.hasLines(t)&&i)if(t.line.shape===\"hv\"){for(a=[],o=0;o<i-1;o++)isNaN(r[o*2])||isNaN(r[o*2+1])?a.push(NaN,NaN,NaN,NaN):(a.push(r[o*2],r[o*2+1]),!isNaN(r[o*2+2])&&!isNaN(r[o*2+3])?a.push(r[o*2+2],r[o*2+1]):a.push(NaN,NaN));a.push(r[n-2],r[n-1])}else if(t.line.shape===\"hvh\"){for(a=[],o=0;o<i-1;o++)if(isNaN(r[o*2])||isNaN(r[o*2+1])||isNaN(r[o*2+2])||isNaN(r[o*2+3]))!isNaN(r[o*2])&&!isNaN(r[o*2+1])?a.push(r[o*2],r[o*2+1]):a.push(NaN,NaN),a.push(NaN,NaN);else{var s=(r[o*2]+r[o*2+2])/2;a.push(r[o*2],r[o*2+1],s,r[o*2+1],s,r[o*2+3])}a.push(r[n-2],r[n-1])}else if(t.line.shape===\"vhv\"){for(a=[],o=0;o<i-1;o++)if(isNaN(r[o*2])||isNaN(r[o*2+1])||isNaN(r[o*2+2])||isNaN(r[o*2+3]))!isNaN(r[o*2])&&!isNaN(r[o*2+1])?a.push(r[o*2],r[o*2+1]):a.push(NaN,NaN),a.push(NaN,NaN);else{var l=(r[o*2+1]+r[o*2+3])/2;a.push(r[o*2],r[o*2+1],r[o*2],l,r[o*2+2],l)}a.push(r[n-2],r[n-1])}else if(t.line.shape===\"vh\"){for(a=[],o=0;o<i-1;o++)isNaN(r[o*2])||isNaN(r[o*2+1])?a.push(NaN,NaN,NaN,NaN):(a.push(r[o*2],r[o*2+1]),!isNaN(r[o*2+2])&&!isNaN(r[o*2+3])?a.push(r[o*2],r[o*2+3]):a.push(NaN,NaN));a.push(r[n-2],r[n-1])}else a=r;var u=!1;for(o=0;o<a.length;o++)if(isNaN(a[o])){u=!0;break}var c=u||a.length>ak.TOO_MANY_POINTS||tA.hasMarkers(t)?\"rect\":\"round\";if(u&&t.connectgaps){var f=a[0],h=a[1];for(o=0;o<a.length;o+=2)isNaN(a[o])||isNaN(a[o+1])?(a[o]=f,a[o+1]=h):(f=a[o],h=a[o+1])}return{join:c,positions:a}}function e7t(e,t,r,n,i){var a=ZFt.getComponentMethod(\"errorbars\",\"makeComputeError\"),o=xze.getFromId(e,t.xaxis,\"x\"),s=xze.getFromId(e,t.yaxis,\"y\"),l=r.length/2,u={};function c(f,h){var d=h._id.charAt(0),v=t[\"error_\"+d];if(v&&v.visible&&(h.type===\"linear\"||h.type===\"log\")){for(var x=a(v),b={x:0,y:1}[d],p={x:[0,1,2,3],y:[2,3,0,1]}[d],E=new Float64Array(4*l),k=1/0,A=-1/0,L=0,_=0;L<l;L++,_+=4){var C=f[L];if(Gz(C)){var M=r[L*2+b],g=x(C,L),P=g[0],T=g[1];if(Gz(P)&&Gz(T)){var F=C-P,q=C+T;E[_+p[0]]=M-h.c2l(F),E[_+p[1]]=h.c2l(q)-M,E[_+p[2]]=0,E[_+p[3]]=0,k=Math.min(k,C-P),A=Math.max(A,C+T)}}}u[d]={positions:r,errors:E,_bnds:[k,A]}}}return c(n,o),c(i,s),u}function t7t(e,t,r,n){var i=t._length,a={},o;if(tA.hasMarkers(t)){var s=r.font,l=r.align,u=r.baseline;for(a.offset=new Array(i),o=0;o<i;o++){var c=n.sizes?n.sizes[o]:n.size,f=Qf(s)?s[o].size:s.size,h=Qf(l)?l.length>1?l[o]:l[0]:l,d=Qf(u)?u.length>1?u[o]:u[0]:u,v=wze[h],x=wze[d],b=c?c/.8+1:0,p=-x*b-x*.5;a.offset[o]=[v*b/f,p/f]}}return a}Lze.exports={style:JFt,markerStyle:WX,markerSelection:jX,linePositions:QFt,errorBarPositions:e7t,textPosition:t7t}});var ZX=ye((w0r,Pze)=>{\"use strict\";var jz=Mr();Pze.exports=function(t,r){var n=r._scene,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},a={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return r._scene||(n=r._scene={},n.init=function(){jz.extendFlat(n,a,i)},n.init(),n.update=function(s){var l=jz.repeat(s,n.count);if(n.fill2d&&n.fill2d.update(l),n.scatter2d&&n.scatter2d.update(l),n.line2d&&n.line2d.update(l),n.error2d&&n.error2d.update(l.concat(l)),n.select2d&&n.select2d.update(l),n.glText)for(var u=0;u<n.count;u++)n.glText[u].update(s)},n.draw=function(){for(var s=n.count,l=n.fill2d,u=n.error2d,c=n.line2d,f=n.scatter2d,h=n.glText,d=n.select2d,v=n.selectBatch,x=n.unselectBatch,b=0;b<s;b++){if(l&&n.fillOrder[b]&&l.draw(n.fillOrder[b]),c&&n.lineOptions[b]&&c.draw(b),u&&(n.errorXOptions[b]&&u.draw(b),n.errorYOptions[b]&&u.draw(b+s)),f&&n.markerOptions[b])if(x[b].length){var p=jz.repeat([],n.count);p[b]=x[b],f.draw(p)}else v[b].length||f.draw(b);h[b]&&n.textOptions[b]&&h[b].render()}d&&d.draw(v),n.dirty=!1},n.destroy=function(){n.fill2d&&n.fill2d.destroy&&n.fill2d.destroy(),n.scatter2d&&n.scatter2d.destroy&&n.scatter2d.destroy(),n.error2d&&n.error2d.destroy&&n.error2d.destroy(),n.line2d&&n.line2d.destroy&&n.line2d.destroy(),n.select2d&&n.select2d.destroy&&n.select2d.destroy(),n.glText&&n.glText.forEach(function(s){s.destroy&&s.destroy()}),n.lineOptions=null,n.fillOptions=null,n.markerOptions=null,n.markerSelectedOptions=null,n.markerUnselectedOptions=null,n.errorXOptions=null,n.errorYOptions=null,n.textOptions=null,n.textSelectedOptions=null,n.textUnselectedOptions=null,n.selectBatch=null,n.unselectBatch=null,r._scene=null}),n.dirty||jz.extendFlat(n,i),n}});var qze=ye((T0r,Fze)=>{\"use strict\";var r7t=Oz(),iA=Mr(),Ize=af(),i7t=wg().findExtremes,Rze=Rg(),XX=q0(),n7t=XX.calcMarkerSize,a7t=XX.calcAxisExpansion,o7t=XX.setFirstScatter,s7t=z0(),nA=Y2(),l7t=ZX(),Dze=es().BADNUM,u7t=sx().TOO_MANY_POINTS;Fze.exports=function(t,r){var n=t._fullLayout,i=r._xA=Ize.getFromId(t,r.xaxis,\"x\"),a=r._yA=Ize.getFromId(t,r.yaxis,\"y\"),o=n._plots[r.xaxis+r.yaxis],s=r._length,l=s>=u7t,u=s*2,c={},f,h=i.makeCalcdata(r,\"x\"),d=a.makeCalcdata(r,\"y\"),v=Rze(r,i,\"x\",h),x=Rze(r,a,\"y\",d),b=v.vals,p=x.vals;r._x=b,r._y=p,r.xperiodalignment&&(r._origX=h,r._xStarts=v.starts,r._xEnds=v.ends),r.yperiodalignment&&(r._origY=d,r._yStarts=x.starts,r._yEnds=x.ends);var E=new Array(u),k=new Array(s);for(f=0;f<s;f++)E[f*2]=b[f]===Dze?NaN:b[f],E[f*2+1]=p[f]===Dze?NaN:p[f],k[f]=f;if(i.type===\"log\")for(f=0;f<u;f+=2)E[f]=i.c2l(E[f]);if(a.type===\"log\")for(f=1;f<u;f+=2)E[f]=a.c2l(E[f]);l&&i.type!==\"log\"&&a.type!==\"log\"?c.tree=r7t(E):c.ids=k,s7t(t,r);var A=c7t(t,o,r,E,b,p),L=l7t(t,o);o7t(n,r);var _;return l?A.marker&&(_=A.marker.sizeAvg||Math.max(A.marker.size,3)):_=n7t(r,s),a7t(t,r,i,a,b,p,_),A.errorX&&zze(r,i,A.errorX),A.errorY&&zze(r,a,A.errorY),A.fill&&!L.fill2d&&(L.fill2d=!0),A.marker&&!L.scatter2d&&(L.scatter2d=!0),A.line&&!L.line2d&&(L.line2d=!0),(A.errorX||A.errorY)&&!L.error2d&&(L.error2d=!0),A.text&&!L.glText&&(L.glText=!0),A.marker&&(A.marker.snap=s),L.lineOptions.push(A.line),L.errorXOptions.push(A.errorX),L.errorYOptions.push(A.errorY),L.fillOptions.push(A.fill),L.markerOptions.push(A.marker),L.markerSelectedOptions.push(A.markerSel),L.markerUnselectedOptions.push(A.markerUnsel),L.textOptions.push(A.text),L.textSelectedOptions.push(A.textSel),L.textUnselectedOptions.push(A.textUnsel),L.selectBatch.push([]),L.unselectBatch.push([]),c._scene=L,c.index=L.count,c.x=b,c.y=p,c.positions=E,L.count++,[{x:!1,y:!1,t:c,trace:r}]};function zze(e,t,r){var n=e._extremes[t._id],i=i7t(t,r._bnds,{padded:!0});n.min=n.min.concat(i.min),n.max=n.max.concat(i.max)}function c7t(e,t,r,n,i,a){var o=nA.style(e,r);if(o.marker&&(o.marker.positions=n),o.line&&n.length>1&&iA.extendFlat(o.line,nA.linePositions(e,r,n)),o.errorX||o.errorY){var s=nA.errorBarPositions(e,r,n,i,a);o.errorX&&iA.extendFlat(o.errorX,s.x),o.errorY&&iA.extendFlat(o.errorY,s.y)}return o.text&&(iA.extendFlat(o.text,{positions:n},nA.textPosition(e,r,o.text,o.marker)),iA.extendFlat(o.textSel,{positions:n},nA.textPosition(e,r,o.text,o.markerSel)),iA.extendFlat(o.textUnsel,{positions:n},nA.textPosition(e,r,o.text,o.markerUnsel))),o}});var YX=ye((A0r,Bze)=>{\"use strict\";var Oze=Mr(),f7t=va(),h7t=U1().DESELECTDIM;function d7t(e){var t=e[0],r=t.trace,n=t.t,i=n._scene,a=n.index,o=i.selectBatch[a],s=i.unselectBatch[a],l=i.textOptions[a],u=i.textSelectedOptions[a]||{},c=i.textUnselectedOptions[a]||{},f=Oze.extendFlat({},l),h,d;if(o.length||s.length){var v=u.color,x=c.color,b=l.color,p=Oze.isArrayOrTypedArray(b);for(f.color=new Array(r._length),h=0;h<o.length;h++)d=o[h],f.color[d]=v||(p?b[d]:b);for(h=0;h<s.length;h++){d=s[h];var E=p?b[d]:b;f.color[d]=x||(v?E:f7t.addOpacity(E,h7t))}}i.glText[a].update(f)}Bze.exports={styleTextSelection:d7t}});var KX=ye((S0r,Uze)=>{\"use strict\";var Nze=lu(),v7t=YX().styleTextSelection;Uze.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l=n[0].t,u=s._length,c=l.x,f=l.y,h=l._scene,d=l.index;if(!h)return o;var v=Nze.hasText(s),x=Nze.hasMarkers(s),b=!x&&!v;if(s.visible!==!0||b)return o;var p=[],E=[];if(r!==!1&&!r.degenerate)for(var k=0;k<u;k++)r.contains([l.xpx[k],l.ypx[k]],!1,k,t)?(p.push(k),o.push({pointNumber:k,x:i.c2d(c[k]),y:a.c2d(f[k])})):E.push(k);if(x){var A=h.scatter2d;if(!p.length&&!E.length){var L=new Array(h.count);L[d]=h.markerOptions[d],A.update.apply(A,L)}else if(!h.selectBatch[d].length&&!h.unselectBatch[d].length){var _=new Array(h.count);_[d]=h.markerUnselectedOptions[d],A.update.apply(A,_)}}return h.selectBatch[d]=p,h.unselectBatch[d]=E,v&&v7t(n),o}});var Hze=ye((M0r,Vze)=>{\"use strict\";var p7t=zz();Vze.exports={moduleType:\"trace\",name:\"scattergl\",basePlotModule:Jf(),categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\"],attributes:tk(),supplyDefaults:ADe(),crossTraceDefaults:$N(),colorbar:Kd(),formatLabels:MDe(),calc:qze(),hoverPoints:p7t.hoverPoints,selectPoints:KX(),meta:{}}});var jze=ye((E0r,Zz)=>{\"use strict\";var Wz=VE();Zz.exports=Gze;Zz.exports.to=Gze;Zz.exports.from=g7t;function Gze(e,t){t==null&&(t=!0);var r=e[0],n=e[1],i=e[2],a=e[3];a==null&&(a=t?1:255),t&&(r*=255,n*=255,i*=255,a*=255),r=Wz(r,0,255)&255,n=Wz(n,0,255)&255,i=Wz(i,0,255)&255,a=Wz(a,0,255)&255;var o=r*16777216+(n<<16)+(i<<8)+a;return o}function g7t(e,t){e=+e;var r=e>>>24,n=(e&16711680)>>>16,i=(e&65280)>>>8,a=e&255;return t===!1?[r,n,i,a]:[r/255,n/255,i/255,a/255]}});var bh=ye((k0r,Zze)=>{\"use strict\";var Wze=Object.getOwnPropertySymbols,m7t=Object.prototype.hasOwnProperty,y7t=Object.prototype.propertyIsEnumerable;function _7t(e){if(e==null)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}function x7t(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",Object.getOwnPropertyNames(e)[0]===\"5\")return!1;for(var t={},r=0;r<10;r++)t[\"_\"+String.fromCharCode(r)]=r;var n=Object.getOwnPropertyNames(t).map(function(a){return t[a]});if(n.join(\"\")!==\"0123456789\")return!1;var i={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(a){i[a]=a}),Object.keys(Object.assign({},i)).join(\"\")===\"abcdefghijklmnopqrst\"}catch(a){return!1}}Zze.exports=x7t()?Object.assign:function(e,t){for(var r,n=_7t(e),i,a=1;a<arguments.length;a++){r=Object(arguments[a]);for(var o in r)m7t.call(r,o)&&(n[o]=r[o]);if(Wze){i=Wze(r);for(var s=0;s<i.length;s++)y7t.call(r,i[s])&&(n[i[s]]=r[i[s]])}}return n}});var Yze=ye((C0r,Xze)=>{Xze.exports=function(e){typeof e==\"string\"&&(e=[e]);for(var t=[].slice.call(arguments,1),r=[],n=0;n<e.length-1;n++)r.push(e[n],t[n]||\"\");return r.push(e[n]),r.join(\"\")}});var JX=ye((L0r,Kze)=>{\"use strict\";Kze.exports=function(t,r,n){Array.isArray(n)||(n=[].slice.call(arguments,2));for(var i=0,a=n.length;i<a;i++){var o=n[i];for(var s in o)if(!(r[s]!==void 0&&!Array.isArray(r[s])&&t[s]===r[s])&&s in r){var l;if(o[s]===!0)l=r[s];else{if(o[s]===!1)continue;if(typeof o[s]==\"function\"&&(l=o[s](r[s],t,r),l===void 0))continue}t[s]=l}}return t}});var $ze=ye((P0r,Jze)=>{\"use strict\";Jze.exports=typeof navigator!=\"undefined\"&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion))});var Xz=ye((I0r,aA)=>{\"use strict\";aA.exports=ok;aA.exports.float32=aA.exports.float=ok;aA.exports.fract32=aA.exports.fract=b7t;var Qze=new Float32Array(1);function b7t(e,t){if(e.length){if(e instanceof Float32Array)return new Float32Array(e.length);t instanceof Float32Array||(t=ok(e));for(var r=0,n=t.length;r<n;r++)t[r]=e[r]-t[r];return t}return ok(e-ok(e))}function ok(e){return e.length?e instanceof Float32Array?e:new Float32Array(e):(Qze[0]=e,Qze[0])}});var QX=ye((R0r,rFe)=>{\"use strict\";function w7t(e,t){var r=e==null?null:typeof Symbol!=\"undefined\"&&e[Symbol.iterator]||e[\"@@iterator\"];if(r!=null){var n,i,a,o,s=[],l=!0,u=!1;try{if(a=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(c){u=!0,i=c}finally{try{if(!l&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}function T7t(e,t){return M7t(e)||w7t(e,t)||tFe(e,t)||C7t()}function A7t(e){return S7t(e)||E7t(e)||tFe(e)||k7t()}function S7t(e){if(Array.isArray(e))return $X(e)}function M7t(e){if(Array.isArray(e))return e}function E7t(e){if(typeof Symbol!=\"undefined\"&&e[Symbol.iterator]!=null||e[\"@@iterator\"]!=null)return Array.from(e)}function tFe(e,t){if(e){if(typeof e==\"string\")return $X(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r===\"Object\"&&e.constructor&&(r=e.constructor.name),r===\"Map\"||r===\"Set\")return Array.from(e);if(r===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $X(e,t)}}function $X(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function k7t(){throw new TypeError(`Invalid attempt to spread non-iterable instance.\n", - "In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function C7t(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.\n", - "In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var L7t=$_(),P7t=j2(),I7t=jze(),R7t=Oz(),K2=bh(),Yz=Yze(),D7t=Zm(),z7t=JX(),F7t=W2(),eFe=$ze(),Kz=Xz(),q7t=Q5(),O7t=rv;function rv(e,t){var r=this;if(!(this instanceof rv))return new rv(e,t);typeof e==\"function\"?(t||(t={}),t.regl=e):(t=e,e=null),t&&t.length&&(t.positions=t),e=t.regl;var n=e._gl,i,a=[],o={},s=[],l=[null],u=[null],c=255,f=100;this.tooManyColors=eFe,i=e.texture({data:new Uint8Array(c*4),width:c,height:1,type:\"uint8\",format:\"rgba\",wrapS:\"clamp\",wrapT:\"clamp\",mag:\"nearest\",min:\"nearest\"}),K2(this,{regl:e,gl:n,groups:s,markerCache:u,markerTextures:l,palette:a,paletteIds:o,paletteTexture:i,maxColors:c,maxSize:f,canvas:n.canvas}),this.update(t);var h={uniforms:{constPointSize:!!t.constPointSize,opacity:e.prop(\"opacity\"),paletteSize:function(b,p){return[r.tooManyColors?0:c,i.height]},pixelRatio:e.context(\"pixelRatio\"),scale:e.prop(\"scale\"),scaleFract:e.prop(\"scaleFract\"),translate:e.prop(\"translate\"),translateFract:e.prop(\"translateFract\"),markerTexture:e.prop(\"markerTexture\"),paletteTexture:i},attributes:{x:function(b,p){return p.xAttr||{buffer:p.positionBuffer,stride:8,offset:0}},y:function(b,p){return p.yAttr||{buffer:p.positionBuffer,stride:8,offset:4}},xFract:function(b,p){return p.xAttr?{constant:[0,0]}:{buffer:p.positionFractBuffer,stride:8,offset:0}},yFract:function(b,p){return p.yAttr?{constant:[0,0]}:{buffer:p.positionFractBuffer,stride:8,offset:4}},size:function(b,p){return p.size.length?{buffer:p.sizeBuffer,stride:2,offset:0}:{constant:[Math.round(p.size*255/r.maxSize)]}},borderSize:function(b,p){return p.borderSize.length?{buffer:p.sizeBuffer,stride:2,offset:1}:{constant:[Math.round(p.borderSize*255/r.maxSize)]}},colorId:function(b,p){return p.color.length?{buffer:p.colorBuffer,stride:r.tooManyColors?8:4,offset:0}:{constant:r.tooManyColors?a.slice(p.color*4,p.color*4+4):[p.color]}},borderColorId:function(b,p){return p.borderColor.length?{buffer:p.colorBuffer,stride:r.tooManyColors?8:4,offset:r.tooManyColors?4:2}:{constant:r.tooManyColors?a.slice(p.borderColor*4,p.borderColor*4+4):[p.borderColor]}},isActive:function(b,p){return p.activation===!0?{constant:[1]}:p.activation?p.activation:{constant:[0]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},scissor:{enable:!0,box:e.prop(\"viewport\")},viewport:e.prop(\"viewport\"),stencil:{enable:!1},depth:{enable:!1},elements:e.prop(\"elements\"),count:e.prop(\"count\"),offset:e.prop(\"offset\"),primitive:\"points\"},d=K2({},h);d.frag=Yz([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "uniform float opacity;\n", - "uniform sampler2D markerTexture;\n", - "\n", - "varying vec4 fragColor, fragBorderColor;\n", - "varying float fragWidth, fragBorderColorLevel, fragColorLevel;\n", - "\n", - "float smoothStep(float x, float y) {\n", - " return 1.0 / (1.0 + exp(50.0*(x - y)));\n", - "}\n", - "\n", - "void main() {\n", - " float dist = texture2D(markerTexture, gl_PointCoord).r, delta = fragWidth;\n", - "\n", - " // max-distance alpha\n", - " if (dist < 0.003) discard;\n", - "\n", - " // null-border case\n", - " if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) {\n", - " float colorAmt = smoothstep(.5 - delta, .5 + delta, dist);\n", - " gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a * opacity);\n", - " }\n", - " else {\n", - " float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist);\n", - " float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist);\n", - "\n", - " vec4 color = fragBorderColor;\n", - " color.a *= borderColorAmt;\n", - " color = mix(color, fragColor, colorAmt);\n", - " color.a *= opacity;\n", - "\n", - " gl_FragColor = color;\n", - " }\n", - "\n", - "}\n", - "`]),d.vert=Yz([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute float x, y, xFract, yFract;\n", - "attribute float size, borderSize;\n", - "attribute vec4 colorId, borderColorId;\n", - "attribute 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.\n", - "invariant gl_Position;\n", - "\n", - "uniform bool constPointSize;\n", - "uniform float pixelRatio;\n", - "uniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\n", - "uniform sampler2D paletteTexture;\n", - "\n", - "const float maxSize = 100.;\n", - "const float borderLevel = .5;\n", - "\n", - "varying vec4 fragColor, fragBorderColor;\n", - "varying float fragPointSize, fragBorderRadius, fragWidth, fragBorderColorLevel, fragColorLevel;\n", - "\n", - "float pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n", - "\n", - "bool isDirect = (paletteSize.x < 1.);\n", - "\n", - "vec4 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", - "\n", - "void main() {\n", - " // ignore inactive points\n", - " if (isActive == 0.) return;\n", - "\n", - " vec2 position = vec2(x, y);\n", - " vec2 positionFract = vec2(xFract, yFract);\n", - "\n", - " vec4 color = getColor(colorId);\n", - " vec4 borderColor = getColor(borderColorId);\n", - "\n", - " float size = size * maxSize / 255.;\n", - " float borderSize = borderSize * maxSize / 255.;\n", - "\n", - " gl_PointSize = 2. * size * pointSizeScale;\n", - " fragPointSize = size * pixelRatio;\n", - "\n", - " vec2 pos = (position + translate) * scale\n", - " + (positionFract + translateFract) * scale\n", - " + (position + translate) * scaleFract\n", - " + (positionFract + translateFract) * scaleFract;\n", - "\n", - " gl_Position = vec4(pos * 2. - 1., 0., 1.);\n", - "\n", - " fragColor = color;\n", - " fragBorderColor = borderColor;\n", - " fragWidth = 1. / gl_PointSize;\n", - "\n", - " fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.);\n", - " fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.);\n", - "}\n", - "`]),this.drawMarker=e(d);var v=K2({},h);v.frag=Yz([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "varying vec4 fragColor, fragBorderColor;\n", - "varying float fragBorderRadius, fragWidth;\n", - "\n", - "uniform float opacity;\n", - "\n", - "float smoothStep(float edge0, float edge1, float x) {\n", - "\tfloat t;\n", - "\tt = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n", - "\treturn t * t * (3.0 - 2.0 * t);\n", - "}\n", - "\n", - "void main() {\n", - "\tfloat radius, alpha = 1.0, delta = fragWidth;\n", - "\n", - "\tradius = length(2.0 * gl_PointCoord.xy - 1.0);\n", - "\n", - "\tif (radius > 1.0 + delta) {\n", - "\t\tdiscard;\n", - "\t}\n", - "\n", - "\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n", - "\n", - "\tfloat borderRadius = fragBorderRadius;\n", - "\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n", - "\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n", - "\tcolor.a *= alpha * opacity;\n", - "\tgl_FragColor = color;\n", - "}\n", - "`]),v.vert=Yz([`precision highp float;\n", - "#define GLSLIFY 1\n", - "\n", - "attribute float x, y, xFract, yFract;\n", - "attribute float size, borderSize;\n", - "attribute vec4 colorId, borderColorId;\n", - "attribute 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.\n", - "invariant gl_Position;\n", - "\n", - "uniform bool constPointSize;\n", - "uniform float pixelRatio;\n", - "uniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\n", - "uniform sampler2D paletteTexture;\n", - "\n", - "const float maxSize = 100.;\n", - "\n", - "varying vec4 fragColor, fragBorderColor;\n", - "varying float fragBorderRadius, fragWidth;\n", - "\n", - "float pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n", - "\n", - "bool isDirect = (paletteSize.x < 1.);\n", - "\n", - "vec4 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", - "\n", - "void 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", - "`]),eFe&&(v.frag=v.frag.replace(\"smoothstep\",\"smoothStep\"),d.frag=d.frag.replace(\"smoothstep\",\"smoothStep\")),this.drawCircle=e(v)}rv.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};rv.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this};rv.prototype.draw=function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];var i=this.groups;if(r.length===1&&Array.isArray(r[0])&&(r[0][0]===null||Array.isArray(r[0][0]))&&(r=r[0]),this.regl._refresh(),r.length)for(var a=0;a<r.length;a++)this.drawItem(a,r[a]);else i.forEach(function(o,s){e.drawItem(s)});return this};rv.prototype.drawItem=function(e,t){var r=this.groups,n=r[e];if(typeof t==\"number\"&&(e=t,n=r[t],t=null),!!(n&&n.count&&n.opacity)){n.activation[0]&&this.drawCircle(this.getMarkerDrawOptions(0,n,t));for(var i=[],a=1;a<n.activation.length;a++)!n.activation[a]||n.activation[a]!==!0&&!n.activation[a].data.length||i.push.apply(i,A7t(this.getMarkerDrawOptions(a,n,t)));i.length&&this.drawMarker(i)}};rv.prototype.getMarkerDrawOptions=function(e,t,r){var n=t.range,i=t.tree,a=t.viewport,o=t.activation,s=t.selectionBuffer,l=t.count,u=this.regl;if(!i)return r?[K2({},t,{markerTexture:this.markerTextures[e],activation:o[e],count:r.length,elements:r,offset:0})]:[K2({},t,{markerTexture:this.markerTextures[e],activation:o[e],offset:0})];var c=[],f=i.range(n,{lod:!0,px:[(n[2]-n[0])/a.width,(n[3]-n[1])/a.height]});if(r){for(var h=o[e],d=h.data,v=new Uint8Array(l),x=0;x<r.length;x++){var b=r[x];v[b]=d?d[b]:1}s.subdata(v)}for(var p=f.length;p--;){var E=T7t(f[p],2),k=E[0],A=E[1];c.push(K2({},t,{markerTexture:this.markerTextures[e],activation:r?s:o[e],offset:k,count:A-k}))}return c};rv.prototype.update=function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];if(r.length){r.length===1&&Array.isArray(r[0])&&(r=r[0]);var i=this.groups,a=this.gl,o=this.regl,s=this.maxSize,l=this.maxColors,u=this.palette;this.groups=i=r.map(function(c,f){var h=i[f];if(c===void 0)return h;c===null?c={positions:null}:typeof c==\"function\"?c={ondraw:c}:typeof c[0]==\"number\"&&(c={positions:c}),c=D7t(c,{positions:\"positions data points\",snap:\"snap cluster lod tree\",size:\"sizes size radius\",borderSize:\"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline\",color:\"colors color fill fill-color fillColor\",borderColor:\"borderColors borderColor stroke stroke-color strokeColor\",marker:\"markers marker shape\",range:\"range dataBox databox\",viewport:\"viewport viewPort viewBox viewbox\",opacity:\"opacity alpha transparency\",bounds:\"bound bounds boundaries limits\",tooManyColors:\"tooManyColors palette paletteMode optimizePalette enablePalette\"}),c.positions===null&&(c.positions=[]),c.tooManyColors!=null&&(e.tooManyColors=c.tooManyColors),h||(i[f]=h={id:f,scale:null,translate:null,scaleFract:null,translateFract:null,activation:[],selectionBuffer:o.buffer({data:new Uint8Array(0),usage:\"stream\",type:\"uint8\"}),sizeBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"uint8\"}),colorBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"uint8\"}),positionBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"float\"}),positionFractBuffer:o.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"float\"})},c=K2({},rv.defaults,c)),c.positions&&!(\"marker\"in c)&&(c.marker=h.marker,delete h.marker),c.marker&&!(\"positions\"in c)&&(c.positions=h.positions,delete h.positions);var d=0,v=0;if(z7t(h,c,[{snap:!0,size:function(G,N){return G==null&&(G=rv.defaults.size),d+=G&&G.length?1:0,G},borderSize:function(G,N){return G==null&&(G=rv.defaults.borderSize),d+=G&&G.length?1:0,G},opacity:parseFloat,color:function(G,N){return G==null&&(G=rv.defaults.color),G=e.updateColor(G),v++,G},borderColor:function(G,N){return G==null&&(G=rv.defaults.borderColor),G=e.updateColor(G),v++,G},bounds:function(G,N,W){return\"range\"in W||(W.range=null),G},positions:function(G,N,W){var re=N.snap,ae=N.positionBuffer,_e=N.positionFractBuffer,Me=N.selectionBuffer;if(G.x||G.y)return G.x.length?N.xAttr={buffer:o.buffer(G.x),offset:0,stride:4,count:G.x.length}:N.xAttr={buffer:G.x.buffer,offset:G.x.offset*4||0,stride:(G.x.stride||1)*4,count:G.x.count},G.y.length?N.yAttr={buffer:o.buffer(G.y),offset:0,stride:4,count:G.y.length}:N.yAttr={buffer:G.y.buffer,offset:G.y.offset*4||0,stride:(G.y.stride||1)*4,count:G.y.count},N.count=Math.max(N.xAttr.count,N.yAttr.count),G;G=F7t(G,\"float64\");var ke=N.count=Math.floor(G.length/2),ge=N.bounds=ke?P7t(G,2):null;if(!W.range&&!N.range&&(delete N.range,W.range=ge),!W.marker&&!N.marker&&(delete N.marker,W.marker=null),re&&(re===!0||ke>re)?N.tree=R7t(G,{bounds:ge}):re&&re.length&&(N.tree=re),N.tree){var ie={primitive:\"points\",usage:\"static\",data:N.tree,type:\"uint32\"};N.elements?N.elements(ie):N.elements=o.elements(ie)}var Te=Kz.float32(G);ae({data:Te,usage:\"dynamic\"});var Ee=Kz.fract32(G,Te);return _e({data:Ee,usage:\"dynamic\"}),Me({data:new Uint8Array(ke),type:\"uint8\",usage:\"stream\"}),G}},{marker:function(G,N,W){var re=N.activation;if(re.forEach(function(Ee){return Ee&&Ee.destroy&&Ee.destroy()}),re.length=0,!G||typeof G[0]==\"number\"){var ae=e.addMarker(G);re[ae]=!0}else{for(var _e=[],Me=0,ke=Math.min(G.length,N.count);Me<ke;Me++){var ge=e.addMarker(G[Me]);_e[ge]||(_e[ge]=new Uint8Array(N.count)),_e[ge][Me]=1}for(var ie=0;ie<_e.length;ie++)if(_e[ie]){var Te={data:_e[ie],type:\"uint8\",usage:\"static\"};re[ie]?re[ie](Te):re[ie]=o.buffer(Te),re[ie].data=_e[ie]}}return G},range:function(G,N,W){var re=N.bounds;if(re)return G||(G=re),N.scale=[1/(G[2]-G[0]),1/(G[3]-G[1])],N.translate=[-G[0],-G[1]],N.scaleFract=Kz.fract(N.scale),N.translateFract=Kz.fract(N.translate),G},viewport:function(G){var N=q7t(G||[a.drawingBufferWidth,a.drawingBufferHeight]);return N}}]),d){var x=h,b=x.count,p=x.size,E=x.borderSize,k=x.sizeBuffer,A=new Uint8Array(b*2);if(p.length||E.length)for(var L=0;L<b;L++)A[L*2]=Math.round((p[L]==null?p:p[L])*255/s),A[L*2+1]=Math.round((E[L]==null?E:E[L])*255/s);k({data:A,usage:\"dynamic\"})}if(v){var _=h,C=_.count,M=_.color,g=_.borderColor,P=_.colorBuffer,T;if(e.tooManyColors){if(M.length||g.length){T=new Uint8Array(C*8);for(var F=0;F<C;F++){var q=M[F];T[F*8]=u[q*4],T[F*8+1]=u[q*4+1],T[F*8+2]=u[q*4+2],T[F*8+3]=u[q*4+3];var V=g[F];T[F*8+4]=u[V*4],T[F*8+5]=u[V*4+1],T[F*8+6]=u[V*4+2],T[F*8+7]=u[V*4+3]}}}else if(M.length||g.length){T=new Uint8Array(C*4+2);for(var H=0;H<C;H++)M[H]!=null&&(T[H*4]=M[H]%l,T[H*4+1]=Math.floor(M[H]/l)),g[H]!=null&&(T[H*4+2]=g[H]%l,T[H*4+3]=Math.floor(g[H]/l))}P({data:T||new Uint8Array(0),type:\"uint8\",usage:\"dynamic\"})}return h})}};rv.prototype.addMarker=function(e){var t=this.markerTextures,r=this.regl,n=this.markerCache,i=e==null?0:n.indexOf(e);if(i>=0)return i;var a;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)a=e;else{a=new Uint8Array(e.length);for(var o=0,s=e.length;o<s;o++)a[o]=e[o]*255}var l=Math.floor(Math.sqrt(a.length));return i=t.length,n.push(e),t.push(r.texture({channels:1,data:a,radius:l,mag:\"linear\",min:\"linear\"})),i};rv.prototype.updateColor=function(e){var t=this.paletteIds,r=this.palette,n=this.maxColors;Array.isArray(e)||(e=[e]);var i=[];if(typeof e[0]==\"number\"){var a=[];if(Array.isArray(e))for(var o=0;o<e.length;o+=4)a.push(e.slice(o,o+4));else for(var s=0;s<e.length;s+=4)a.push(e.subarray(s,s+4));e=a}for(var l=0;l<e.length;l++){var u=e[l];u=L7t(u,\"uint8\");var c=I7t(u,!1);if(t[c]==null){var f=r.length;t[c]=Math.floor(f/4),r[f]=u[0],r[f+1]=u[1],r[f+2]=u[2],r[f+3]=u[3]}i[l]=t[c]}return!this.tooManyColors&&r.length>n*4&&(this.tooManyColors=!0),this.updatePalette(r),i.length===1?i[0]:i};rv.prototype.updatePalette=function(e){if(!this.tooManyColors){var t=this.maxColors,r=this.paletteTexture,n=Math.ceil(e.length*.25/t);if(n>1){e=e.slice();for(var i=e.length*.25%t;i<n*t;i++)e.push(0,0,0,0)}r.height<n&&r.resize(t,n),r.subimage({width:Math.min(e.length*.25,t),height:n,data:e},0,0)}};rv.prototype.destroy=function(){return this.groups.forEach(function(e){e.sizeBuffer.destroy(),e.positionBuffer.destroy(),e.positionFractBuffer.destroy(),e.colorBuffer.destroy(),e.activation.forEach(function(t){return t&&t.destroy&&t.destroy()}),e.selectionBuffer.destroy(),e.elements&&e.elements.destroy()}),this.groups.length=0,this.paletteTexture.destroy(),this.markerTextures.forEach(function(e){return e&&e.destroy&&e.destroy()}),this};var B7t=bh(),N7t=function(t,r){var n=new O7t(t,r),i=n.render.bind(n);return B7t(i,{render:i,update:n.update.bind(n),draw:n.draw.bind(n),destroy:n.destroy.bind(n),regl:n.regl,gl:n.gl,canvas:n.gl.canvas,groups:n.groups,markers:n.markerCache,palette:n.palette}),i};rFe.exports=N7t});var sFe=ye((D0r,iY)=>{\"use strict\";iY.exports=Qz;iY.exports.default=Qz;function Qz(e,t,r){r=r||2;var n=t&&t.length,i=n?t[0]*r:e.length,a=nFe(e,0,i,r,!0),o=[];if(!a||a.next===a.prev)return o;var s,l,u,c,f,h,d;if(n&&(a=j7t(e,t,a,r)),e.length>80*r){s=u=e[0],l=c=e[1];for(var v=r;v<i;v+=r)f=e[v],h=e[v+1],f<s&&(s=f),h<l&&(l=h),f>u&&(u=f),h>c&&(c=h);d=Math.max(u-s,c-l),d=d!==0?32767/d:0}return sk(a,o,r,s,l,d,0),o}function nFe(e,t,r,n,i){var a,o;if(i===rY(e,t,r,n)>0)for(a=t;a<r;a+=n)o=iFe(a,e[a],e[a+1],o);else for(a=r-n;a>=t;a-=n)o=iFe(a,e[a],e[a+1],o);return o&&eF(o,o.next)&&(uk(o),o=o.next),o}function J2(e,t){if(!e)return e;t||(t=e);var r=e,n;do if(n=!1,!r.steiner&&(eF(r,r.next)||eh(r.prev,r,r.next)===0)){if(uk(r),r=t=r.prev,r===r.next)break;n=!0}else r=r.next;while(n||r!==t);return t}function sk(e,t,r,n,i,a,o){if(e){!o&&a&&K7t(e,n,i,a);for(var s=e,l,u;e.prev!==e.next;){if(l=e.prev,u=e.next,a?V7t(e,n,i,a):U7t(e)){t.push(l.i/r|0),t.push(e.i/r|0),t.push(u.i/r|0),uk(e),e=u.next,s=u.next;continue}if(e=u,e===s){o?o===1?(e=H7t(J2(e),t,r),sk(e,t,r,n,i,a,2)):o===2&&G7t(e,t,r,n,i,a):sk(J2(e),t,r,n,i,a,1);break}}}}function U7t(e){var t=e.prev,r=e,n=e.next;if(eh(t,r,n)>=0)return!1;for(var i=t.x,a=r.x,o=n.x,s=t.y,l=r.y,u=n.y,c=i<a?i<o?i:o:a<o?a:o,f=s<l?s<u?s:u:l<u?l:u,h=i>a?i>o?i:o:a>o?a:o,d=s>l?s>u?s:u:l>u?l:u,v=n.next;v!==t;){if(v.x>=c&&v.x<=h&&v.y>=f&&v.y<=d&&oA(i,s,a,l,o,u,v.x,v.y)&&eh(v.prev,v,v.next)>=0)return!1;v=v.next}return!0}function V7t(e,t,r,n){var i=e.prev,a=e,o=e.next;if(eh(i,a,o)>=0)return!1;for(var s=i.x,l=a.x,u=o.x,c=i.y,f=a.y,h=o.y,d=s<l?s<u?s:u:l<u?l:u,v=c<f?c<h?c:h:f<h?f:h,x=s>l?s>u?s:u:l>u?l:u,b=c>f?c>h?c:h:f>h?f:h,p=eY(d,v,t,r,n),E=eY(x,b,t,r,n),k=e.prevZ,A=e.nextZ;k&&k.z>=p&&A&&A.z<=E;){if(k.x>=d&&k.x<=x&&k.y>=v&&k.y<=b&&k!==i&&k!==o&&oA(s,c,l,f,u,h,k.x,k.y)&&eh(k.prev,k,k.next)>=0||(k=k.prevZ,A.x>=d&&A.x<=x&&A.y>=v&&A.y<=b&&A!==i&&A!==o&&oA(s,c,l,f,u,h,A.x,A.y)&&eh(A.prev,A,A.next)>=0))return!1;A=A.nextZ}for(;k&&k.z>=p;){if(k.x>=d&&k.x<=x&&k.y>=v&&k.y<=b&&k!==i&&k!==o&&oA(s,c,l,f,u,h,k.x,k.y)&&eh(k.prev,k,k.next)>=0)return!1;k=k.prevZ}for(;A&&A.z<=E;){if(A.x>=d&&A.x<=x&&A.y>=v&&A.y<=b&&A!==i&&A!==o&&oA(s,c,l,f,u,h,A.x,A.y)&&eh(A.prev,A,A.next)>=0)return!1;A=A.nextZ}return!0}function H7t(e,t,r){var n=e;do{var i=n.prev,a=n.next.next;!eF(i,a)&&aFe(i,n,n.next,a)&&lk(i,a)&&lk(a,i)&&(t.push(i.i/r|0),t.push(n.i/r|0),t.push(a.i/r|0),uk(n),uk(n.next),n=e=a),n=n.next}while(n!==e);return J2(n)}function G7t(e,t,r,n,i,a){var o=e;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&Q7t(o,s)){var l=oFe(o,s);o=J2(o,o.next),l=J2(l,l.next),sk(o,t,r,n,i,a,0),sk(l,t,r,n,i,a,0);return}s=s.next}o=o.next}while(o!==e)}function j7t(e,t,r,n){var i=[],a,o,s,l,u;for(a=0,o=t.length;a<o;a++)s=t[a]*n,l=a<o-1?t[a+1]*n:e.length,u=nFe(e,s,l,n,!1),u===u.next&&(u.steiner=!0),i.push($7t(u));for(i.sort(W7t),a=0;a<i.length;a++)r=Z7t(i[a],r);return r}function W7t(e,t){return e.x-t.x}function Z7t(e,t){var r=X7t(e,t);if(!r)return t;var n=oFe(r,e);return J2(n,n.next),J2(r,r.next)}function X7t(e,t){var r=t,n=e.x,i=e.y,a=-1/0,o;do{if(i<=r.y&&i>=r.next.y&&r.next.y!==r.y){var s=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(s<=n&&s>a&&(a=s,o=r.x<r.next.x?r:r.next,s===n))return o}r=r.next}while(r!==t);if(!o)return null;var l=o,u=o.x,c=o.y,f=1/0,h;r=o;do n>=r.x&&r.x>=u&&n!==r.x&&oA(i<c?n:a,i,u,c,i<c?a:n,i,r.x,r.y)&&(h=Math.abs(i-r.y)/(n-r.x),lk(r,e)&&(h<f||h===f&&(r.x>o.x||r.x===o.x&&Y7t(o,r)))&&(o=r,f=h)),r=r.next;while(r!==l);return o}function Y7t(e,t){return eh(e.prev,e,t.prev)<0&&eh(t.next,e,e.next)<0}function K7t(e,t,r,n){var i=e;do i.z===0&&(i.z=eY(i.x,i.y,t,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,J7t(i)}function J7t(e){var t,r,n,i,a,o,s,l,u=1;do{for(r=e,e=null,a=null,o=0;r;){for(o++,n=r,s=0,t=0;t<u&&(s++,n=n.nextZ,!!n);t++);for(l=u;s>0||l>0&&n;)s!==0&&(l===0||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1);return e}function eY(e,t,r,n,i){return e=(e-r)*i|0,t=(t-n)*i|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function $7t(e){var t=e,r=e;do(t.x<r.x||t.x===r.x&&t.y<r.y)&&(r=t),t=t.next;while(t!==e);return r}function oA(e,t,r,n,i,a,o,s){return(i-o)*(t-s)>=(e-o)*(a-s)&&(e-o)*(n-s)>=(r-o)*(t-s)&&(r-o)*(a-s)>=(i-o)*(n-s)}function Q7t(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!e9t(e,t)&&(lk(e,t)&&lk(t,e)&&t9t(e,t)&&(eh(e.prev,e,t.prev)||eh(e,t.prev,t))||eF(e,t)&&eh(e.prev,e,e.next)>0&&eh(t.prev,t,t.next)>0)}function eh(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function eF(e,t){return e.x===t.x&&e.y===t.y}function aFe(e,t,r,n){var i=$z(eh(e,t,r)),a=$z(eh(e,t,n)),o=$z(eh(r,n,e)),s=$z(eh(r,n,t));return!!(i!==a&&o!==s||i===0&&Jz(e,r,t)||a===0&&Jz(e,n,t)||o===0&&Jz(r,e,n)||s===0&&Jz(r,t,n))}function Jz(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function $z(e){return e>0?1:e<0?-1:0}function e9t(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&aFe(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function lk(e,t){return eh(e.prev,e,e.next)<0?eh(e,t,e.next)>=0&&eh(e,e.prev,t)>=0:eh(e,t,e.prev)<0||eh(e,e.next,t)<0}function t9t(e,t){var r=e,n=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;while(r!==e);return n}function oFe(e,t){var r=new tY(e.i,e.x,e.y),n=new tY(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function iFe(e,t,r,n){var i=new tY(e,t,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function uk(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function tY(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}Qz.deviation=function(e,t,r,n){var i=t&&t.length,a=i?t[0]*r:e.length,o=Math.abs(rY(e,0,a,r));if(i)for(var s=0,l=t.length;s<l;s++){var u=t[s]*r,c=s<l-1?t[s+1]*r:e.length;o-=Math.abs(rY(e,u,c,r))}var f=0;for(s=0;s<n.length;s+=3){var h=n[s]*r,d=n[s+1]*r,v=n[s+2]*r;f+=Math.abs((e[h]-e[v])*(e[d+1]-e[h+1])-(e[h]-e[d])*(e[v+1]-e[h+1]))}return o===0&&f===0?0:Math.abs((f-o)/o)};function rY(e,t,r,n){for(var i=0,a=t,o=r-n;a<r;a+=n)i+=(e[o]-e[a])*(e[a+1]+e[o+1]),o=a;return i}Qz.flatten=function(e){for(var t=e[0][0].length,r={vertices:[],holes:[],dimensions:t},n=0,i=0;i<e.length;i++){for(var a=0;a<e[i].length;a++)for(var o=0;o<t;o++)r.vertices.push(e[i][a][o]);i>0&&(n+=e[i-1].length,r.holes.push(n))}return r}});var uFe=ye((z0r,lFe)=>{\"use strict\";var r9t=j2();lFe.exports=i9t;function i9t(e,t,r){if(!e||e.length==null)throw Error(\"Argument should be an array\");t==null&&(t=1),r==null&&(r=r9t(e,t));for(var n=0;n<t;n++){var i=r[t+n],a=r[n],o=n,s=e.length;if(i===1/0&&a===-1/0)for(o=n;o<s;o+=t)e[o]=e[o]===i?1:e[o]===a?0:.5;else if(i===1/0)for(o=n;o<s;o+=t)e[o]=e[o]===i?1:0;else if(a===-1/0)for(o=n;o<s;o+=t)e[o]=e[o]===a?0:1;else{var l=i-a;for(o=n;o<s;o+=t)isNaN(e[o])||(e[o]=l===0?.5:(e[o]-a)/l)}}return e}});var fFe=ye((F0r,cFe)=>{\"use strict\";cFe.exports=function(){var e,t;if(typeof WeakMap!=\"function\")return!1;try{e=new WeakMap([[t={},\"one\"],[{},\"two\"],[{},\"three\"]])}catch(r){return!1}return!(String(e)!==\"[object WeakMap]\"||typeof e.set!=\"function\"||e.set({},1)!==e||typeof e.delete!=\"function\"||typeof e.has!=\"function\"||e.get(t)!==\"one\")}});var dFe=ye((q0r,hFe)=>{\"use strict\";hFe.exports=function(){}});var lx=ye((O0r,vFe)=>{\"use strict\";var n9t=dFe()();vFe.exports=function(e){return e!==n9t&&e!==null}});var nY=ye((B0r,gFe)=>{\"use strict\";var a9t=Object.create,o9t=Object.getPrototypeOf,pFe={};gFe.exports=function(){var e=Object.setPrototypeOf,t=arguments[0]||a9t;return typeof e!=\"function\"?!1:o9t(e(t(null),pFe))===pFe}});var aY=ye((N0r,mFe)=>{\"use strict\";var s9t=lx(),l9t={function:!0,object:!0};mFe.exports=function(e){return s9t(e)&&l9t[typeof e]||!1}});var i1=ye((U0r,yFe)=>{\"use strict\";var u9t=lx();yFe.exports=function(e){if(!u9t(e))throw new TypeError(\"Cannot use null or undefined\");return e}});var xFe=ye((V0r,_Fe)=>{\"use strict\";var oY=Object.create,tF;nY()()||(tF=sY());_Fe.exports=function(){var e,t,r;return!tF||tF.level!==1?oY:(e={},t={},r={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(n){if(n===\"__proto__\"){t[n]={configurable:!0,enumerable:!1,writable:!0,value:void 0};return}t[n]=r}),Object.defineProperties(e,t),Object.defineProperty(tF,\"nullPolyfill\",{configurable:!1,enumerable:!1,writable:!1,value:e}),function(n,i){return oY(n===null?e:n,i)})}()});var sY=ye((H0r,bFe)=>{\"use strict\";var c9t=aY(),f9t=i1(),h9t=Object.prototype.isPrototypeOf,d9t=Object.defineProperty,v9t={configurable:!0,enumerable:!1,writable:!0,value:void 0},rF;rF=function(e,t){if(f9t(e),t===null||c9t(t))return e;throw new TypeError(\"Prototype must be null or an object\")};bFe.exports=function(e){var t,r;return e?(e.level===2?e.set?(r=e.set,t=function(n,i){return r.call(rF(n,i),i),n}):t=function(n,i){return rF(n,i).__proto__=i,n}:t=function n(i,a){var o;return rF(i,a),o=h9t.call(n.nullPolyfill,i),o&&delete n.nullPolyfill.__proto__,a===null&&(a=n.nullPolyfill),i.__proto__=a,o&&d9t(n.nullPolyfill,\"__proto__\",v9t),i},Object.defineProperty(t,\"level\",{configurable:!1,enumerable:!1,writable:!1,value:e.level})):null}(function(){var e=Object.create(null),t={},r,n=Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\");if(n){try{r=n.set,r.call(e,t)}catch(i){}if(Object.getPrototypeOf(e)===t)return{set:r,level:2}}return e.__proto__=t,Object.getPrototypeOf(e)===t?{level:2}:(e={},e.__proto__=t,Object.getPrototypeOf(e)===t?{level:1}:!1)}());xFe()});var iF=ye((G0r,wFe)=>{\"use strict\";wFe.exports=nY()()?Object.setPrototypeOf:sY()});var AFe=ye((j0r,TFe)=>{\"use strict\";var p9t=aY();TFe.exports=function(e){if(!p9t(e))throw new TypeError(e+\" is not an Object\");return e}});var MFe=ye((W0r,SFe)=>{\"use strict\";var g9t=Object.create(null),m9t=Math.random;SFe.exports=function(){var e;do e=m9t().toString(36).slice(2);while(g9t[e]);return e}});var $2=ye((Z0r,EFe)=>{\"use strict\";var y9t=void 0;EFe.exports=function(e){return e!==y9t&&e!==null}});var nF=ye((X0r,kFe)=>{\"use strict\";var _9t=$2(),x9t={object:!0,function:!0,undefined:!0};kFe.exports=function(e){return _9t(e)?hasOwnProperty.call(x9t,typeof e):!1}});var LFe=ye((Y0r,CFe)=>{\"use strict\";var b9t=nF();CFe.exports=function(e){if(!b9t(e))return!1;try{return e.constructor?e.constructor.prototype===e:!1}catch(t){return!1}}});var IFe=ye((K0r,PFe)=>{\"use strict\";var w9t=LFe();PFe.exports=function(e){if(typeof e!=\"function\"||!hasOwnProperty.call(e,\"length\"))return!1;try{if(typeof e.length!=\"number\"||typeof e.call!=\"function\"||typeof e.apply!=\"function\")return!1}catch(t){return!1}return!w9t(e)}});var lY=ye((J0r,RFe)=>{\"use strict\";var T9t=IFe(),A9t=/^\\s*class[\\s{/}]/,S9t=Function.prototype.toString;RFe.exports=function(e){return!(!T9t(e)||A9t.test(S9t.call(e)))}});var zFe=ye(($0r,DFe)=>{\"use strict\";DFe.exports=function(){var e=Object.assign,t;return typeof e!=\"function\"?!1:(t={foo:\"raz\"},e(t,{bar:\"dwa\"},{trzy:\"trzy\"}),t.foo+t.bar+t.trzy===\"razdwatrzy\")}});var qFe=ye((Q0r,FFe)=>{\"use strict\";FFe.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(e){return!1}}});var BFe=ye((egr,OFe)=>{\"use strict\";var M9t=lx(),E9t=Object.keys;OFe.exports=function(e){return E9t(M9t(e)?Object(e):e)}});var UFe=ye((tgr,NFe)=>{\"use strict\";NFe.exports=qFe()()?Object.keys:BFe()});var HFe=ye((rgr,VFe)=>{\"use strict\";var k9t=UFe(),C9t=i1(),L9t=Math.max;VFe.exports=function(e,t){var r,n,i=L9t(arguments.length,2),a;for(e=Object(C9t(e)),a=function(o){try{e[o]=t[o]}catch(s){r||(r=s)}},n=1;n<i;++n)t=arguments[n],k9t(t).forEach(a);if(r!==void 0)throw r;return e}});var aF=ye((igr,GFe)=>{\"use strict\";GFe.exports=zFe()()?Object.assign:HFe()});var uY=ye((ngr,jFe)=>{\"use strict\";var P9t=lx(),I9t=Array.prototype.forEach,R9t=Object.create,D9t=function(e,t){var r;for(r in e)t[r]=e[r]};jFe.exports=function(e){var t=R9t(null);return I9t.call(arguments,function(r){P9t(r)&&D9t(Object(r),t)}),t}});var ZFe=ye((agr,WFe)=>{\"use strict\";var cY=\"razdwatrzy\";WFe.exports=function(){return typeof cY.contains!=\"function\"?!1:cY.contains(\"dwa\")===!0&&cY.contains(\"foo\")===!1}});var YFe=ye((ogr,XFe)=>{\"use strict\";var z9t=String.prototype.indexOf;XFe.exports=function(e){return z9t.call(this,e,arguments[1])>-1}});var fY=ye((sgr,KFe)=>{\"use strict\";KFe.exports=ZFe()()?String.prototype.contains:YFe()});var n1=ye((lgr,e7e)=>{\"use strict\";var oF=$2(),JFe=lY(),$Fe=aF(),QFe=uY(),ck=fY(),F9t=e7e.exports=function(e,t){var r,n,i,a,o;return arguments.length<2||typeof e!=\"string\"?(a=t,t=e,e=null):a=arguments[2],oF(e)?(r=ck.call(e,\"c\"),n=ck.call(e,\"e\"),i=ck.call(e,\"w\")):(r=i=!0,n=!1),o={value:t,configurable:r,enumerable:n,writable:i},a?$Fe(QFe(a),o):o};F9t.gs=function(e,t,r){var n,i,a,o;return typeof e!=\"string\"?(a=r,r=t,t=e,e=null):a=arguments[3],oF(t)?JFe(t)?oF(r)?JFe(r)||(a=r,r=void 0):r=void 0:(a=t,t=r=void 0):t=void 0,oF(e)?(n=ck.call(e,\"c\"),i=ck.call(e,\"e\")):(n=!0,i=!1),o={get:t,set:r,configurable:n,enumerable:i},a?$Fe(QFe(a),o):o}});var fk=ye((ugr,r7e)=>{\"use strict\";var t7e=Object.prototype.toString,q9t=t7e.call(function(){return arguments}());r7e.exports=function(e){return t7e.call(e)===q9t}});var hk=ye((cgr,n7e)=>{\"use strict\";var i7e=Object.prototype.toString,O9t=i7e.call(\"\");n7e.exports=function(e){return typeof e==\"string\"||e&&typeof e==\"object\"&&(e instanceof String||i7e.call(e)===O9t)||!1}});var o7e=ye((fgr,a7e)=>{\"use strict\";a7e.exports=function(){return typeof globalThis!=\"object\"||!globalThis?!1:globalThis.Array===Array}});var u7e=ye((hgr,l7e)=>{var s7e=function(){if(typeof self==\"object\"&&self)return self;if(typeof window==\"object\"&&window)return window;throw new Error(\"Unable to resolve global `this`\")};l7e.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,\"__global__\",{get:function(){return this},configurable:!0})}catch(e){return s7e()}try{return __global__||s7e()}finally{delete Object.prototype.__global__}}()});var dk=ye((dgr,c7e)=>{\"use strict\";c7e.exports=o7e()()?globalThis:u7e()});var h7e=ye((vgr,f7e)=>{\"use strict\";var B9t=dk(),hY={object:!0,symbol:!0};f7e.exports=function(){var e=B9t.Symbol,t;if(typeof e!=\"function\")return!1;t=e(\"test symbol\");try{String(t)}catch(r){return!1}return!(!hY[typeof e.iterator]||!hY[typeof e.toPrimitive]||!hY[typeof e.toStringTag])}});var v7e=ye((pgr,d7e)=>{\"use strict\";d7e.exports=function(e){return e?typeof e==\"symbol\"?!0:!e.constructor||e.constructor.name!==\"Symbol\"?!1:e[e.constructor.toStringTag]===\"Symbol\":!1}});var dY=ye((ggr,p7e)=>{\"use strict\";var N9t=v7e();p7e.exports=function(e){if(!N9t(e))throw new TypeError(e+\" is not a symbol\");return e}});var x7e=ye((mgr,_7e)=>{\"use strict\";var g7e=n1(),U9t=Object.create,m7e=Object.defineProperty,V9t=Object.prototype,y7e=U9t(null);_7e.exports=function(e){for(var t=0,r,n;y7e[e+(t||\"\")];)++t;return e+=t||\"\",y7e[e]=!0,r=\"@@\"+e,m7e(V9t,r,g7e.gs(null,function(i){n||(n=!0,m7e(this,r,g7e(i)),n=!1)})),r}});var w7e=ye((ygr,b7e)=>{\"use strict\";var Qg=n1(),wh=dk().Symbol;b7e.exports=function(e){return Object.defineProperties(e,{hasInstance:Qg(\"\",wh&&wh.hasInstance||e(\"hasInstance\")),isConcatSpreadable:Qg(\"\",wh&&wh.isConcatSpreadable||e(\"isConcatSpreadable\")),iterator:Qg(\"\",wh&&wh.iterator||e(\"iterator\")),match:Qg(\"\",wh&&wh.match||e(\"match\")),replace:Qg(\"\",wh&&wh.replace||e(\"replace\")),search:Qg(\"\",wh&&wh.search||e(\"search\")),species:Qg(\"\",wh&&wh.species||e(\"species\")),split:Qg(\"\",wh&&wh.split||e(\"split\")),toPrimitive:Qg(\"\",wh&&wh.toPrimitive||e(\"toPrimitive\")),toStringTag:Qg(\"\",wh&&wh.toStringTag||e(\"toStringTag\")),unscopables:Qg(\"\",wh&&wh.unscopables||e(\"unscopables\"))})}});var S7e=ye((_gr,A7e)=>{\"use strict\";var T7e=n1(),H9t=dY(),vk=Object.create(null);A7e.exports=function(e){return Object.defineProperties(e,{for:T7e(function(t){return vk[t]?vk[t]:vk[t]=e(String(t))}),keyFor:T7e(function(t){var r;H9t(t);for(r in vk)if(vk[r]===t)return r})})}});var k7e=ye((xgr,E7e)=>{\"use strict\";var Xm=n1(),vY=dY(),sF=dk().Symbol,G9t=x7e(),j9t=w7e(),W9t=S7e(),Z9t=Object.create,pY=Object.defineProperties,lF=Object.defineProperty,Wv,sA,M7e;if(typeof sF==\"function\")try{String(sF()),M7e=!0}catch(e){}else sF=null;sA=function(t){if(this instanceof sA)throw new TypeError(\"Symbol is not a constructor\");return Wv(t)};E7e.exports=Wv=function e(t){var r;if(this instanceof e)throw new TypeError(\"Symbol is not a constructor\");return M7e?sF(t):(r=Z9t(sA.prototype),t=t===void 0?\"\":String(t),pY(r,{__description__:Xm(\"\",t),__name__:Xm(\"\",G9t(t))}))};j9t(Wv);W9t(Wv);pY(sA.prototype,{constructor:Xm(Wv),toString:Xm(\"\",function(){return this.__name__})});pY(Wv.prototype,{toString:Xm(function(){return\"Symbol (\"+vY(this).__description__+\")\"}),valueOf:Xm(function(){return vY(this)})});lF(Wv.prototype,Wv.toPrimitive,Xm(\"\",function(){var e=vY(this);return typeof e==\"symbol\"?e:e.toString()}));lF(Wv.prototype,Wv.toStringTag,Xm(\"c\",\"Symbol\"));lF(sA.prototype,Wv.toStringTag,Xm(\"c\",Wv.prototype[Wv.toStringTag]));lF(sA.prototype,Wv.toPrimitive,Xm(\"c\",Wv.prototype[Wv.toPrimitive]))});var ux=ye((bgr,C7e)=>{\"use strict\";C7e.exports=h7e()()?dk().Symbol:k7e()});var P7e=ye((wgr,L7e)=>{\"use strict\";var X9t=i1();L7e.exports=function(){return X9t(this).length=0,this}});var lA=ye((Tgr,I7e)=>{\"use strict\";I7e.exports=function(e){if(typeof e!=\"function\")throw new TypeError(e+\" is not a function\");return e}});var D7e=ye((Agr,R7e)=>{\"use strict\";var Y9t=$2(),K9t=nF(),J9t=Object.prototype.toString;R7e.exports=function(e){if(!Y9t(e))return null;if(K9t(e)){var t=e.toString;if(typeof t!=\"function\"||t===J9t)return null}try{return\"\"+e}catch(r){return null}}});var F7e=ye((Sgr,z7e)=>{\"use strict\";z7e.exports=function(e){try{return e.toString()}catch(t){try{return String(e)}catch(r){return null}}}});var O7e=ye((Mgr,q7e)=>{\"use strict\";var $9t=F7e(),Q9t=/[\\n\\r\\u2028\\u2029]/g;q7e.exports=function(e){var t=$9t(e);return t===null?\"<Non-coercible to string value>\":(t.length>100&&(t=t.slice(0,99)+\"\\u2026\"),t=t.replace(Q9t,function(r){switch(r){case`\n", - "`:return\"\\\\n\";case\"\\r\":return\"\\\\r\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw new Error(\"Unexpected character\")}}),t)}});var gY=ye((Egr,U7e)=>{\"use strict\";var B7e=$2(),eqt=nF(),tqt=D7e(),rqt=O7e(),N7e=function(e,t){return e.replace(\"%v\",rqt(t))};U7e.exports=function(e,t,r){if(!eqt(r))throw new TypeError(N7e(t,e));if(!B7e(e)){if(\"default\"in r)return r.default;if(r.isOptional)return null}var n=tqt(r.errorMessage);throw B7e(n)||(n=t),new TypeError(N7e(n,e))}});var H7e=ye((kgr,V7e)=>{\"use strict\";var iqt=gY(),nqt=$2();V7e.exports=function(e){return nqt(e)?e:iqt(e,\"Cannot use %v\",arguments[1])}});var j7e=ye((Cgr,G7e)=>{\"use strict\";var aqt=gY(),oqt=lY();G7e.exports=function(e){return oqt(e)?e:aqt(e,\"%v is not a plain function\",arguments[1])}});var Z7e=ye((Lgr,W7e)=>{\"use strict\";W7e.exports=function(){var e=Array.from,t,r;return typeof e!=\"function\"?!1:(t=[\"raz\",\"dwa\"],r=e(t),!!(r&&r!==t&&r[1]===\"dwa\"))}});var Y7e=ye((Pgr,X7e)=>{\"use strict\";var sqt=Object.prototype.toString,lqt=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);X7e.exports=function(e){return typeof e==\"function\"&&lqt(sqt.call(e))}});var J7e=ye((Igr,K7e)=>{\"use strict\";K7e.exports=function(){var e=Math.sign;return typeof e!=\"function\"?!1:e(10)===1&&e(-20)===-1}});var Q7e=ye((Rgr,$7e)=>{\"use strict\";$7e.exports=function(e){return e=Number(e),isNaN(e)||e===0?e:e>0?1:-1}});var t9e=ye((Dgr,e9e)=>{\"use strict\";e9e.exports=J7e()()?Math.sign:Q7e()});var i9e=ye((zgr,r9e)=>{\"use strict\";var uqt=t9e(),cqt=Math.abs,fqt=Math.floor;r9e.exports=function(e){return isNaN(e)?0:(e=Number(e),e===0||!isFinite(e)?e:uqt(e)*fqt(cqt(e)))}});var a9e=ye((Fgr,n9e)=>{\"use strict\";var hqt=i9e(),dqt=Math.max;n9e.exports=function(e){return dqt(0,hqt(e))}});var u9e=ye((qgr,l9e)=>{\"use strict\";var vqt=ux().iterator,pqt=fk(),gqt=Y7e(),mqt=a9e(),o9e=lA(),yqt=i1(),_qt=lx(),xqt=hk(),s9e=Array.isArray,mY=Function.prototype.call,Q2={configurable:!0,enumerable:!0,writable:!0,value:null},yY=Object.defineProperty;l9e.exports=function(e){var t=arguments[1],r=arguments[2],n,i,a,o,s,l,u,c,f,h;if(e=Object(yqt(e)),_qt(t)&&o9e(t),!this||this===Array||!gqt(this)){if(!t){if(pqt(e))return s=e.length,s!==1?Array.apply(null,e):(o=new Array(1),o[0]=e[0],o);if(s9e(e)){for(o=new Array(s=e.length),i=0;i<s;++i)o[i]=e[i];return o}}o=[]}else n=this;if(!s9e(e)){if((f=e[vqt])!==void 0){for(u=o9e(f).call(e),n&&(o=new n),c=u.next(),i=0;!c.done;)h=t?mY.call(t,r,c.value,i):c.value,n?(Q2.value=h,yY(o,i,Q2)):o[i]=h,c=u.next(),++i;s=i}else if(xqt(e)){for(s=e.length,n&&(o=new n),i=0,a=0;i<s;++i)h=e[i],i+1<s&&(l=h.charCodeAt(0),l>=55296&&l<=56319&&(h+=e[++i])),h=t?mY.call(t,r,h,a):h,n?(Q2.value=h,yY(o,a,Q2)):o[a]=h,++a;s=a}}if(s===void 0)for(s=mqt(e.length),n&&(o=new n(s)),i=0;i<s;++i)h=t?mY.call(t,r,e[i],i):e[i],n?(Q2.value=h,yY(o,i,Q2)):o[i]=h;return n&&(Q2.value=null,o.length=s),o}});var f9e=ye((Ogr,c9e)=>{\"use strict\";c9e.exports=Z7e()()?Array.from:u9e()});var d9e=ye((Bgr,h9e)=>{\"use strict\";var bqt=f9e(),wqt=aF(),Tqt=i1();h9e.exports=function(e){var t=Object(Tqt(e)),r=arguments[1],n=Object(arguments[2]);if(t!==e&&!r)return t;var i={};return r?bqt(r,function(a){(n.ensure||a in e)&&(i[a]=e[a])}):wqt(i,e),i}});var g9e=ye((Ngr,p9e)=>{\"use strict\";var Aqt=lA(),Sqt=i1(),Mqt=Function.prototype.bind,v9e=Function.prototype.call,Eqt=Object.keys,kqt=Object.prototype.propertyIsEnumerable;p9e.exports=function(e,t){return function(r,n){var i,a=arguments[2],o=arguments[3];return r=Object(Sqt(r)),Aqt(n),i=Eqt(r),o&&i.sort(typeof o==\"function\"?Mqt.call(o,r):void 0),typeof e!=\"function\"&&(e=i[e]),v9e.call(e,i,function(s,l){return kqt.call(r,s)?v9e.call(n,a,r[s],s,r,l):t})}}});var y9e=ye((Ugr,m9e)=>{\"use strict\";m9e.exports=g9e()(\"forEach\")});var x9e=ye((Vgr,_9e)=>{\"use strict\";var Cqt=lA(),Lqt=y9e(),Pqt=Function.prototype.call;_9e.exports=function(e,t){var r={},n=arguments[2];return Cqt(t),Lqt(e,function(i,a,o,s){r[a]=Pqt.call(t,n,i,a,o,s)}),r}});var A9e=ye((Hgr,T9e)=>{\"use strict\";var Iqt=$2(),Rqt=H7e(),b9e=j7e(),Dqt=d9e(),zqt=uY(),Fqt=x9e(),qqt=Function.prototype.bind,Oqt=Object.defineProperty,Bqt=Object.prototype.hasOwnProperty,w9e;w9e=function(e,t,r){var n=Rqt(t)&&b9e(t.value),i;return i=Dqt(t),delete i.writable,delete i.value,i.get=function(){return!r.overwriteDefinition&&Bqt.call(this,e)?n:(t.value=qqt.call(n,r.resolveContext?r.resolveContext(this):this),Oqt(this,e,t),this[e])},i};T9e.exports=function(e){var t=zqt(arguments[1]);return Iqt(t.resolveContext)&&b9e(t.resolveContext),Fqt(e,function(r,n){return w9e(n,r,t)})}});var _Y=ye((Ggr,k9e)=>{\"use strict\";var Nqt=P7e(),Uqt=aF(),Vqt=lA(),Hqt=i1(),Op=n1(),Gqt=A9e(),S9e=ux(),M9e=Object.defineProperty,E9e=Object.defineProperties,pk;k9e.exports=pk=function(e,t){if(!(this instanceof pk))throw new TypeError(\"Constructor requires 'new'\");E9e(this,{__list__:Op(\"w\",Hqt(e)),__context__:Op(\"w\",t),__nextIndex__:Op(\"w\",0)}),t&&(Vqt(t.on),t.on(\"_add\",this._onAdd),t.on(\"_delete\",this._onDelete),t.on(\"_clear\",this._onClear))};delete pk.prototype.constructor;E9e(pk.prototype,Uqt({_next:Op(function(){var e;if(this.__list__){if(this.__redo__&&(e=this.__redo__.shift(),e!==void 0))return e;if(this.__nextIndex__<this.__list__.length)return this.__nextIndex__++;this._unBind()}}),next:Op(function(){return this._createResult(this._next())}),_createResult:Op(function(e){return e===void 0?{done:!0,value:void 0}:{done:!1,value:this._resolve(e)}}),_resolve:Op(function(e){return this.__list__[e]}),_unBind:Op(function(){this.__list__=null,delete this.__redo__,this.__context__&&(this.__context__.off(\"_add\",this._onAdd),this.__context__.off(\"_delete\",this._onDelete),this.__context__.off(\"_clear\",this._onClear),this.__context__=null)}),toString:Op(function(){return\"[object \"+(this[S9e.toStringTag]||\"Object\")+\"]\"})},Gqt({_onAdd:Op(function(e){if(!(e>=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__){M9e(this,\"__redo__\",Op(\"c\",[e]));return}this.__redo__.forEach(function(t,r){t>=e&&(this.__redo__[r]=++t)},this),this.__redo__.push(e)}}),_onDelete:Op(function(e){var t;e>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(t=this.__redo__.indexOf(e),t!==-1&&this.__redo__.splice(t,1),this.__redo__.forEach(function(r,n){r>e&&(this.__redo__[n]=--r)},this)))}),_onClear:Op(function(){this.__redo__&&Nqt.call(this.__redo__),this.__nextIndex__=0})})));M9e(pk.prototype,S9e.iterator,Op(function(){return this}))});var R9e=ye((jgr,I9e)=>{\"use strict\";var C9e=iF(),L9e=fY(),xY=n1(),jqt=ux(),bY=_Y(),P9e=Object.defineProperty,uA;uA=I9e.exports=function(e,t){if(!(this instanceof uA))throw new TypeError(\"Constructor requires 'new'\");bY.call(this,e),t?L9e.call(t,\"key+value\")?t=\"key+value\":L9e.call(t,\"key\")?t=\"key\":t=\"value\":t=\"value\",P9e(this,\"__kind__\",xY(\"\",t))};C9e&&C9e(uA,bY);delete uA.prototype.constructor;uA.prototype=Object.create(bY.prototype,{_resolve:xY(function(e){return this.__kind__===\"value\"?this.__list__[e]:this.__kind__===\"key+value\"?[e,this.__list__[e]]:e})});P9e(uA.prototype,jqt.toStringTag,xY(\"c\",\"Array Iterator\"))});var q9e=ye((Wgr,F9e)=>{\"use strict\";var D9e=iF(),uF=n1(),Wqt=ux(),wY=_Y(),z9e=Object.defineProperty,cA;cA=F9e.exports=function(e){if(!(this instanceof cA))throw new TypeError(\"Constructor requires 'new'\");e=String(e),wY.call(this,e),z9e(this,\"__length__\",uF(\"\",e.length))};D9e&&D9e(cA,wY);delete cA.prototype.constructor;cA.prototype=Object.create(wY.prototype,{_next:uF(function(){if(this.__list__){if(this.__nextIndex__<this.__length__)return this.__nextIndex__++;this._unBind()}}),_resolve:uF(function(e){var t=this.__list__[e],r;return this.__nextIndex__===this.__length__?t:(r=t.charCodeAt(0),r>=55296&&r<=56319?t+this.__list__[this.__nextIndex__++]:t)})});z9e(cA.prototype,Wqt.toStringTag,uF(\"c\",\"String Iterator\"))});var B9e=ye((Zgr,O9e)=>{\"use strict\";var Zqt=fk(),Xqt=lx(),Yqt=hk(),Kqt=ux().iterator,Jqt=Array.isArray;O9e.exports=function(e){return Xqt(e)?Jqt(e)||Yqt(e)||Zqt(e)?!0:typeof e[Kqt]==\"function\":!1}});var U9e=ye((Xgr,N9e)=>{\"use strict\";var $qt=B9e();N9e.exports=function(e){if(!$qt(e))throw new TypeError(e+\" is not iterable\");return e}});var TY=ye((Ygr,G9e)=>{\"use strict\";var Qqt=fk(),eOt=hk(),V9e=R9e(),tOt=q9e(),rOt=U9e(),H9e=ux().iterator;G9e.exports=function(e){return typeof rOt(e)[H9e]==\"function\"?e[H9e]():Qqt(e)?new V9e(e):eOt(e)?new tOt(e):new V9e(e)}});var W9e=ye((Kgr,j9e)=>{\"use strict\";var iOt=fk(),nOt=lA(),aOt=hk(),oOt=TY(),sOt=Array.isArray,AY=Function.prototype.call,lOt=Array.prototype.some;j9e.exports=function(e,t){var r,n=arguments[2],i,a,o,s,l,u,c;if(sOt(e)||iOt(e)?r=\"array\":aOt(e)?r=\"string\":e=oOt(e),nOt(t),a=function(){o=!0},r===\"array\"){lOt.call(e,function(f){return AY.call(t,n,f,a),o});return}if(r===\"string\"){for(l=e.length,s=0;s<l&&(u=e[s],s+1<l&&(c=u.charCodeAt(0),c>=55296&&c<=56319&&(u+=e[++s])),AY.call(t,n,u,a),!o);++s);return}for(i=e.next();!i.done;){if(AY.call(t,n,i.value,a),o)return;i=e.next()}}});var X9e=ye((Jgr,Z9e)=>{\"use strict\";Z9e.exports=function(){return typeof WeakMap!=\"function\"?!1:Object.prototype.toString.call(new WeakMap)===\"[object WeakMap]\"}()});var J9e=ye(($gr,K9e)=>{\"use strict\";var uOt=lx(),fF=iF(),cF=AFe(),cOt=i1(),fOt=MFe(),a1=n1(),hOt=TY(),dOt=W9e(),vOt=ux().toStringTag,Y9e=X9e(),pOt=Array.isArray,MY=Object.defineProperty,SY=Object.prototype.hasOwnProperty,gOt=Object.getPrototypeOf,cx;K9e.exports=cx=function(){var e=arguments[0],t;if(!(this instanceof cx))throw new TypeError(\"Constructor requires 'new'\");return t=Y9e&&fF&&WeakMap!==cx?fF(new WeakMap,gOt(this)):this,uOt(e)&&(pOt(e)||(e=hOt(e))),MY(t,\"__weakMapData__\",a1(\"c\",\"$weakMap$\"+fOt())),e&&dOt(e,function(r){cOt(r),t.set(r[0],r[1])}),t};Y9e&&(fF&&fF(cx,WeakMap),cx.prototype=Object.create(WeakMap.prototype,{constructor:a1(cx)}));Object.defineProperties(cx.prototype,{delete:a1(function(e){return SY.call(cF(e),this.__weakMapData__)?(delete e[this.__weakMapData__],!0):!1}),get:a1(function(e){if(SY.call(cF(e),this.__weakMapData__))return e[this.__weakMapData__]}),has:a1(function(e){return SY.call(cF(e),this.__weakMapData__)}),set:a1(function(e,t){return MY(cF(e),this.__weakMapData__,a1(\"c\",t)),this}),toString:a1(function(){return\"[object WeakMap]\"})});MY(cx.prototype,vOt,a1(\"c\",\"WeakMap\"))});var EY=ye((Qgr,$9e)=>{\"use strict\";$9e.exports=fFe()()?WeakMap:J9e()});var eqe=ye((emr,Q9e)=>{\"use strict\";Q9e.exports=function(e,t,r){if(typeof Array.prototype.findIndex==\"function\")return e.findIndex(t,r);if(typeof t!=\"function\")throw new TypeError(\"predicate must be a function\");var n=Object(e),i=n.length;if(i===0)return-1;for(var a=0;a<i;a++)if(t.call(r,n[a],a,n))return a;return-1}});var LY=ye((tmr,iqe)=>{\"use strict\";var hF=$_(),mOt=j2(),CY=bh(),yOt=Zm(),_Ot=W2(),tqe=sFe(),xOt=uFe(),{float32:bOt,fract32:kY}=Xz(),wOt=EY(),rqe=Q5(),TOt=eqe(),AOt=`\n", - "precision highp float;\n", - "\n", - "attribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\n", - "attribute vec4 color;\n", - "attribute float lineEnd, lineTop;\n", - "\n", - "uniform vec2 scale, scaleFract, translate, translateFract;\n", - "uniform float thickness, pixelRatio, id, depth;\n", - "uniform vec4 viewport;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec2 tangent;\n", - "\n", - "vec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n", - "\t// the order is important\n", - "\treturn position * scale + translate\n", - " + positionFract * scale + translateFract\n", - " + position * scaleFract\n", - " + positionFract * scaleFract;\n", - "}\n", - "\n", - "void main() {\n", - "\tfloat lineStart = 1. - lineEnd;\n", - "\tfloat lineOffset = lineTop * 2. - 1.;\n", - "\n", - "\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n", - "\ttangent = normalize(diff * scale * viewport.zw);\n", - "\tvec2 normal = vec2(-tangent.y, tangent.x);\n", - "\n", - "\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\n", - "\t\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\n", - "\n", - "\t\t+ thickness * normal * .5 * lineOffset / viewport.zw;\n", - "\n", - "\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n", - "\n", - "\tfragColor = color / 255.;\n", - "}\n", - "`,SOt=`\n", - "precision highp float;\n", - "\n", - "uniform float dashLength, pixelRatio, thickness, opacity, id;\n", - "uniform sampler2D dashTexture;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec2 tangent;\n", - "\n", - "void main() {\n", - "\tfloat alpha = 1.;\n", - "\n", - "\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\n", - "\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\n", - "\n", - "\tgl_FragColor = fragColor;\n", - "\tgl_FragColor.a *= alpha * opacity * dash;\n", - "}\n", - "`,MOt=`\n", - "precision highp float;\n", - "\n", - "attribute vec2 position, positionFract;\n", - "\n", - "uniform vec4 color;\n", - "uniform vec2 scale, scaleFract, translate, translateFract;\n", - "uniform float pixelRatio, id;\n", - "uniform vec4 viewport;\n", - "uniform float opacity;\n", - "\n", - "varying vec4 fragColor;\n", - "\n", - "const float MAX_LINES = 256.;\n", - "\n", - "void 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", - "`,EOt=`\n", - "precision highp float;\n", - "varying vec4 fragColor;\n", - "\n", - "void main() {\n", - "\tgl_FragColor = fragColor;\n", - "}\n", - "`,kOt=`\n", - "precision highp float;\n", - "\n", - "attribute vec2 aCoord, bCoord, nextCoord, prevCoord;\n", - "attribute vec4 aColor, bColor;\n", - "attribute float lineEnd, lineTop;\n", - "\n", - "uniform vec2 scale, translate;\n", - "uniform float thickness, pixelRatio, id, depth;\n", - "uniform vec4 viewport;\n", - "uniform float miterLimit, miterMode;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec4 startCutoff, endCutoff;\n", - "varying vec2 tangent;\n", - "varying vec2 startCoord, endCoord;\n", - "varying float enableStartMiter, enableEndMiter;\n", - "\n", - "const float REVERSE_THRESHOLD = -.875;\n", - "const float MIN_DIFF = 1e-6;\n", - "\n", - "// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\n", - "// TODO: precalculate dot products, normalize things beforehead etc.\n", - "// TODO: refactor to rectangular algorithm\n", - "\n", - "float 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", - "\n", - "bool isNaN( float val ){\n", - " return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\n", - "}\n", - "\n", - "void main() {\n", - "\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n", - "\n", - " vec2 adjustedScale;\n", - " adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x;\n", - " adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y;\n", - "\n", - " vec2 scaleRatio = adjustedScale * viewport.zw;\n", - "\tvec2 normalWidth = thickness / scaleRatio;\n", - "\n", - "\tfloat lineStart = 1. - lineEnd;\n", - "\tfloat lineBot = 1. - lineTop;\n", - "\n", - "\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\n", - "\n", - "\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\n", - "\n", - "\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\n", - "\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\n", - "\n", - "\n", - "\tvec2 prevDiff = aCoord - prevCoord;\n", - "\tvec2 currDiff = bCoord - aCoord;\n", - "\tvec2 nextDiff = nextCoord - bCoord;\n", - "\n", - "\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\n", - "\tvec2 currTangent = normalize(currDiff * scaleRatio);\n", - "\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\n", - "\n", - "\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\n", - "\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\n", - "\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\n", - "\n", - "\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\n", - "\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\n", - "\n", - "\t// collapsed/unidirectional segment cases\n", - "\t// FIXME: there should be more elegant solution\n", - "\tvec2 prevTanDiff = abs(prevTangent - currTangent);\n", - "\tvec2 nextTanDiff = abs(nextTangent - currTangent);\n", - "\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\n", - "\t\tstartJoinDirection = currNormal;\n", - "\t}\n", - "\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\n", - "\t\tendJoinDirection = currNormal;\n", - "\t}\n", - "\tif (aCoord == bCoord) {\n", - "\t\tendJoinDirection = startJoinDirection;\n", - "\t\tcurrNormal = prevNormal;\n", - "\t\tcurrTangent = prevTangent;\n", - "\t}\n", - "\n", - "\ttangent = currTangent;\n", - "\n", - "\t//calculate join shifts relative to normals\n", - "\tfloat startJoinShift = dot(currNormal, startJoinDirection);\n", - "\tfloat endJoinShift = dot(currNormal, endJoinDirection);\n", - "\n", - "\tfloat startMiterRatio = abs(1. / startJoinShift);\n", - "\tfloat endMiterRatio = abs(1. / endJoinShift);\n", - "\n", - "\tvec2 startJoin = startJoinDirection * startMiterRatio;\n", - "\tvec2 endJoin = endJoinDirection * endMiterRatio;\n", - "\n", - "\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\n", - "\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\n", - "\tstartBotJoin = -startTopJoin;\n", - "\n", - "\tendTopJoin = sign(endJoinShift) * endJoin * .5;\n", - "\tendBotJoin = -endTopJoin;\n", - "\n", - "\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\n", - "\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\n", - "\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\n", - "\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\n", - "\n", - "\t//miter anti-clipping\n", - "\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\n", - "\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\n", - "\n", - "\t//prevent close to reverse direction switch\n", - "\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) < length(normalWidth * currNormal);\n", - "\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) < length(normalWidth * currNormal);\n", - "\n", - "\tif (prevReverse) {\n", - "\t\t//make join rectangular\n", - "\t\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\n", - "\t\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\n", - "\t\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n", - "\t\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n", - "\t}\n", - "\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\n", - "\t\t//handle miter clipping\n", - "\t\tbTopCoord -= normalWidth * endTopJoin;\n", - "\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n", - "\t}\n", - "\n", - "\tif (nextReverse) {\n", - "\t\t//make join rectangular\n", - "\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n", - "\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n", - "\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n", - "\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n", - "\t}\n", - "\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n", - "\t\t//handle miter clipping\n", - "\t\taBotCoord -= normalWidth * startBotJoin;\n", - "\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n", - "\t}\n", - "\n", - "\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n", - "\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n", - "\n", - "\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n", - "\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n", - "\n", - "\t//position is normalized 0..1 coord on the screen\n", - "\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n", - "\n", - "\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n", - "\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n", - "\n", - "\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n", - "\n", - "\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n", - "\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n", - "\n", - "\t//bevel miter cutoffs\n", - "\tif (miterMode == 1.) {\n", - "\t\tif (enableStartMiter == 1.) {\n", - "\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n", - "\t\t\tstartCutoff = vec4(aCoord, aCoord);\n", - "\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n", - "\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", - "\t\t\tstartCutoff += viewport.xyxy;\n", - "\t\t\tstartCutoff += startMiterWidth.xyxy;\n", - "\t\t}\n", - "\n", - "\t\tif (enableEndMiter == 1.) {\n", - "\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n", - "\t\t\tendCutoff = vec4(bCoord, bCoord);\n", - "\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n", - "\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", - "\t\t\tendCutoff += viewport.xyxy;\n", - "\t\t\tendCutoff += endMiterWidth.xyxy;\n", - "\t\t}\n", - "\t}\n", - "\n", - "\t//round miter cutoffs\n", - "\telse if (miterMode == 2.) {\n", - "\t\tif (enableStartMiter == 1.) {\n", - "\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n", - "\t\t\tstartCutoff = vec4(aCoord, aCoord);\n", - "\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n", - "\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", - "\t\t\tstartCutoff += viewport.xyxy;\n", - "\t\t\tstartCutoff += startMiterWidth.xyxy;\n", - "\t\t}\n", - "\n", - "\t\tif (enableEndMiter == 1.) {\n", - "\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n", - "\t\t\tendCutoff = vec4(bCoord, bCoord);\n", - "\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n", - "\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", - "\t\t\tendCutoff += viewport.xyxy;\n", - "\t\t\tendCutoff += endMiterWidth.xyxy;\n", - "\t\t}\n", - "\t}\n", - "}\n", - "`,COt=`\n", - "precision highp float;\n", - "\n", - "uniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\n", - "uniform sampler2D dashTexture;\n", - "\n", - "varying vec4 fragColor;\n", - "varying vec2 tangent;\n", - "varying vec4 startCutoff, endCutoff;\n", - "varying vec2 startCoord, endCoord;\n", - "varying float enableStartMiter, enableEndMiter;\n", - "\n", - "float 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", - "\n", - "void 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", - "`;iqe.exports=uc;function uc(e,t){if(!(this instanceof uc))return new uc(e,t);if(typeof e==\"function\"?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),e=t.regl,!e.hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");this.gl=e._gl,this.regl=e,this.passes=[],this.shaders=uc.shaders.has(e)?uc.shaders.get(e):uc.shaders.set(e,uc.createShaders(e)).get(e),this.update(t)}uc.dashMult=2;uc.maxPatternLength=256;uc.precisionThreshold=3e6;uc.maxPoints=1e4;uc.maxLines=2048;uc.shaders=new wOt;uc.createShaders=function(e){let t=e.buffer({usage:\"static\",type:\"float\",data:[0,1,0,0,1,1,1,0]}),r={primitive:\"triangle strip\",instances:e.prop(\"count\"),count:4,offset:0,uniforms:{miterMode:(o,s)=>s.join===\"round\"?2:1,miterLimit:e.prop(\"miterLimit\"),scale:e.prop(\"scale\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),translate:e.prop(\"translate\"),thickness:e.prop(\"thickness\"),dashTexture:e.prop(\"dashTexture\"),opacity:e.prop(\"opacity\"),pixelRatio:e.context(\"pixelRatio\"),id:e.prop(\"id\"),dashLength:e.prop(\"dashLength\"),viewport:(o,s)=>[s.viewport.x,s.viewport.y,o.viewportWidth,o.viewportHeight],depth:e.prop(\"depth\")},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:(o,s)=>!s.overlay},stencil:{enable:!1},scissor:{enable:!0,box:e.prop(\"viewport\")},viewport:e.prop(\"viewport\")},n=e(CY({vert:AOt,frag:SOt,attributes:{lineEnd:{buffer:t,divisor:0,stride:8,offset:0},lineTop:{buffer:t,divisor:0,stride:8,offset:4},aCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:16,divisor:1},color:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1}}},r)),i;try{i=e(CY({cull:{enable:!0,face:\"back\"},vert:kOt,frag:COt,attributes:{lineEnd:{buffer:t,divisor:0,stride:8,offset:0},lineTop:{buffer:t,divisor:0,stride:8,offset:4},aColor:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1},bColor:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:4,divisor:1},prevCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:0,divisor:1},aCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},nextCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:24,divisor:1}}},r))}catch(o){i=n}return{fill:e({primitive:\"triangle\",elements:(o,s)=>s.triangles,offset:0,vert:MOt,frag:EOt,uniforms:{scale:e.prop(\"scale\"),color:e.prop(\"fill\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),translate:e.prop(\"translate\"),opacity:e.prop(\"opacity\"),pixelRatio:e.context(\"pixelRatio\"),id:e.prop(\"id\"),viewport:(o,s)=>[s.viewport.x,s.viewport.y,o.viewportWidth,o.viewportHeight]},attributes:{position:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8},positionFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:8}},blend:r.blend,depth:{enable:!1},scissor:r.scissor,stencil:r.stencil,viewport:r.viewport}),rect:n,miter:i}};uc.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};uc.prototype.render=function(...e){e.length&&this.update(...e),this.draw()};uc.prototype.draw=function(...e){return(e.length?e:this.passes).forEach((t,r)=>{if(t&&Array.isArray(t))return this.draw(...t);typeof t==\"number\"&&(t=this.passes[t]),t&&t.count>1&&t.opacity&&(this.regl._refresh(),t.fill&&t.triangles&&t.triangles.length>2&&this.shaders.fill(t),t.thickness&&(t.scale[0]*t.viewport.width>uc.precisionThreshold||t.scale[1]*t.viewport.height>uc.precisionThreshold?this.shaders.rect(t):t.join===\"rect\"||!t.join&&(t.thickness<=2||t.count>=uc.maxPoints)?this.shaders.rect(t):this.shaders.miter(t)))}),this};uc.prototype.update=function(e){if(!e)return;e.length!=null?typeof e[0]==\"number\"&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);let{regl:t,gl:r}=this;if(e.forEach((i,a)=>{let o=this.passes[a];if(i!==void 0){if(i===null){this.passes[a]=null;return}if(typeof i[0]==\"number\"&&(i={positions:i}),i=yOt(i,{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\"}),o||(this.passes[a]=o={id:a,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:t.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:\"linear\",min:\"linear\"}),colorBuffer:t.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array}),positionBuffer:t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),positionFractBuffer:t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array})},i=CY({},uc.defaults,i)),i.thickness!=null&&(o.thickness=parseFloat(i.thickness)),i.opacity!=null&&(o.opacity=parseFloat(i.opacity)),i.miterLimit!=null&&(o.miterLimit=parseFloat(i.miterLimit)),i.overlay!=null&&(o.overlay=!!i.overlay,a<uc.maxLines&&(o.depth=2*(uc.maxLines-1-a%uc.maxLines)/uc.maxLines-1)),i.join!=null&&(o.join=i.join),i.hole!=null&&(o.hole=i.hole),i.fill!=null&&(o.fill=i.fill?hF(i.fill,\"uint8\"):null),i.viewport!=null&&(o.viewport=rqe(i.viewport)),o.viewport||(o.viewport=rqe([r.drawingBufferWidth,r.drawingBufferHeight])),i.close!=null&&(o.close=i.close),i.positions===null&&(i.positions=[]),i.positions){let u,c;if(i.positions.x&&i.positions.y){let v=i.positions.x,x=i.positions.y;c=o.count=Math.max(v.length,x.length),u=new Float64Array(c*2);for(let b=0;b<c;b++)u[b*2]=v[b],u[b*2+1]=x[b]}else u=_Ot(i.positions,\"float64\"),c=o.count=Math.floor(u.length/2);let f=o.bounds=mOt(u,2);if(o.fill){let v=[],x={},b=0;for(let p=0,E=0,k=o.count;p<k;p++){let A=u[p*2],L=u[p*2+1];isNaN(A)||isNaN(L)||A==null||L==null?(A=u[b*2],L=u[b*2+1],x[p]=b):b=p,v[E++]=A,v[E++]=L}if(i.splitNull){o.count-1 in x||(x[o.count]=o.count-1);let p=Object.keys(x).map(Number).sort((L,_)=>L-_),E=[],k=0,A=o.hole!=null?o.hole[0]:null;if(A!=null){let L=TOt(p,_=>_>=A);p=p.slice(0,L),p.push(A)}for(let L=0;L<p.length;L++){let _=v.slice(k*2,p[L]*2).concat(A?v.slice(A*2):[]),C=(o.hole||[]).map(g=>g-A+(p[L]-k)),M=tqe(_,C);M=M.map(g=>g+k+(g+k<p[L]?0:A-p[L])),E.push(...M),k=p[L]+1}for(let L=0,_=E.length;L<_;L++)x[E[L]]!=null&&(E[L]=x[E[L]]);o.triangles=E}else{let p=tqe(v,o.hole||[]);for(let E=0,k=p.length;E<k;E++)x[p[E]]!=null&&(p[E]=x[p[E]]);o.triangles=p}}let h=new Float64Array(u);xOt(h,2,f);let d=new Float64Array(c*2+6);o.close?u[0]===u[c*2-2]&&u[1]===u[c*2-1]?(d[0]=h[c*2-4],d[1]=h[c*2-3]):(d[0]=h[c*2-2],d[1]=h[c*2-1]):(d[0]=h[0],d[1]=h[1]),d.set(h,2),o.close?u[0]===u[c*2-2]&&u[1]===u[c*2-1]?(d[c*2+2]=h[2],d[c*2+3]=h[3],o.count-=1):(d[c*2+2]=h[0],d[c*2+3]=h[1],d[c*2+4]=h[2],d[c*2+5]=h[3]):(d[c*2+2]=h[c*2-2],d[c*2+3]=h[c*2-1],d[c*2+4]=h[c*2-2],d[c*2+5]=h[c*2-1]);var s=bOt(d);o.positionBuffer(s);var l=kY(d,s);o.positionFractBuffer(l)}if(i.range?o.range=i.range:o.range||(o.range=o.bounds),(i.range||i.positions)&&o.count){let u=o.bounds,c=u[2]-u[0],f=u[3]-u[1],h=o.range[2]-o.range[0],d=o.range[3]-o.range[1];o.scale=[c/h,f/d],o.translate=[-o.range[0]/h+u[0]/h||0,-o.range[1]/d+u[1]/d||0],o.scaleFract=kY(o.scale),o.translateFract=kY(o.translate)}if(i.dashes){let u=0,c;if(!i.dashes||i.dashes.length<2)u=1,c=new Uint8Array([255,255,255,255,255,255,255,255]);else{u=0;for(let d=0;d<i.dashes.length;++d)u+=i.dashes[d];c=new Uint8Array(u*uc.dashMult);let f=0,h=255;for(let d=0;d<2;d++)for(let v=0;v<i.dashes.length;++v){for(let x=0,b=i.dashes[v]*uc.dashMult*.5;x<b;++x)c[f++]=h;h^=255}}o.dashLength=u,o.dashTexture({channels:1,data:c,width:c.length,height:1,mag:\"linear\",min:\"linear\"},0,0)}if(i.color){let u=o.count,c=i.color;c||(c=\"transparent\");let f=new Uint8Array(u*4+4);if(!Array.isArray(c)||typeof c[0]==\"number\"){let h=hF(c,\"uint8\");for(let d=0;d<u+1;d++)f.set(h,d*4)}else{for(let h=0;h<u;h++){let d=hF(c[h],\"uint8\");f.set(d,h*4)}f.set(hF(c[0],\"uint8\"),u*4)}o.colorBuffer({usage:\"dynamic\",type:\"uint8\",data:f})}}}),e.length<this.passes.length){for(let i=e.length;i<this.passes.length;i++){let a=this.passes[i];a&&(a.colorBuffer.destroy(),a.positionBuffer.destroy(),a.dashTexture.destroy())}this.passes.length=e.length}let n=[];for(let i=0;i<this.passes.length;i++)this.passes[i]!==null&&n.push(this.passes[i]);return this.passes=n,this};uc.prototype.destroy=function(){return this.passes.forEach(e=>{e.colorBuffer.destroy(),e.positionBuffer.destroy(),e.dashTexture.destroy()}),this.passes.length=0,this}});var lqe=ye((rmr,sqe)=>{\"use strict\";var LOt=j2(),POt=$_(),IOt=JX(),ROt=Zm(),nqe=bh(),aqe=W2(),{float32:DOt,fract32:PY}=Xz();sqe.exports=zOt;var oqe=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]];function zOt(e,t){if(typeof e==\"function\"?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),e=t.regl,!e.hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");let r=e._gl,n,i,a,o,s,l,u={color:\"black\",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},c=[];return o=e.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array(0)}),i=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),a=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),s=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),l=e.buffer({usage:\"static\",type:\"float\",data:oqe}),v(t),n=e({vert:`\n", - "\t\tprecision highp float;\n", - "\n", - "\t\tattribute vec2 position, positionFract;\n", - "\t\tattribute vec4 error;\n", - "\t\tattribute vec4 color;\n", - "\n", - "\t\tattribute vec2 direction, lineOffset, capOffset;\n", - "\n", - "\t\tuniform vec4 viewport;\n", - "\t\tuniform float lineWidth, capSize;\n", - "\t\tuniform vec2 scale, scaleFract, translate, translateFract;\n", - "\n", - "\t\tvarying vec4 fragColor;\n", - "\n", - "\t\tvoid main() {\n", - "\t\t\tfragColor = color / 255.;\n", - "\n", - "\t\t\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\n", - "\n", - "\t\t\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\n", - "\n", - "\t\t\tvec2 position = position + dxy;\n", - "\n", - "\t\t\tvec2 pos = (position + translate) * scale\n", - "\t\t\t\t+ (positionFract + translateFract) * scale\n", - "\t\t\t\t+ (position + translate) * scaleFract\n", - "\t\t\t\t+ (positionFract + translateFract) * scaleFract;\n", - "\n", - "\t\t\tpos += pixelOffset / viewport.zw;\n", - "\n", - "\t\t\tgl_Position = vec4(pos * 2. - 1., 0, 1);\n", - "\t\t}\n", - "\t\t`,frag:`\n", - "\t\tprecision highp float;\n", - "\n", - "\t\tvarying vec4 fragColor;\n", - "\n", - "\t\tuniform float opacity;\n", - "\n", - "\t\tvoid main() {\n", - "\t\t\tgl_FragColor = fragColor;\n", - "\t\t\tgl_FragColor.a *= opacity;\n", - "\t\t}\n", - "\t\t`,uniforms:{range:e.prop(\"range\"),lineWidth:e.prop(\"lineWidth\"),capSize:e.prop(\"capSize\"),opacity:e.prop(\"opacity\"),scale:e.prop(\"scale\"),translate:e.prop(\"translate\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),viewport:(b,p)=>[p.viewport.x,p.viewport.y,b.viewportWidth,b.viewportHeight]},attributes:{color:{buffer:o,offset:(b,p)=>p.offset*4,divisor:1},position:{buffer:i,offset:(b,p)=>p.offset*8,divisor:1},positionFract:{buffer:a,offset:(b,p)=>p.offset*8,divisor:1},error:{buffer:s,offset:(b,p)=>p.offset*16,divisor:1},direction:{buffer:l,stride:24,offset:0},lineOffset:{buffer:l,stride:24,offset:8},capOffset:{buffer:l,stride:24,offset:16}},primitive:\"triangles\",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:!1},scissor:{enable:!0,box:e.prop(\"viewport\")},viewport:e.prop(\"viewport\"),stencil:!1,instances:e.prop(\"count\"),count:oqe.length}),nqe(f,{update:v,draw:h,destroy:x,regl:e,gl:r,canvas:r.canvas,groups:c}),f;function f(b){b?v(b):b===null&&x(),h()}function h(b){if(typeof b==\"number\")return d(b);b&&!Array.isArray(b)&&(b=[b]),e._refresh(),c.forEach((p,E)=>{if(p){if(b&&(b[E]?p.draw=!0:p.draw=!1),!p.draw){p.draw=!0;return}d(E)}})}function d(b){typeof b==\"number\"&&(b=c[b]),b!=null&&b&&b.count&&b.color&&b.opacity&&b.positions&&b.positions.length>1&&(b.scaleRatio=[b.scale[0]*b.viewport.width,b.scale[1]*b.viewport.height],n(b),b.after&&b.after(b))}function v(b){if(!b)return;b.length!=null?typeof b[0]==\"number\"&&(b=[{positions:b}]):Array.isArray(b)||(b=[b]);let p=0,E=0;if(f.groups=c=b.map((L,_)=>{let C=c[_];if(L)typeof L==\"function\"?L={after:L}:typeof L[0]==\"number\"&&(L={positions:L});else return C;return L=ROt(L,{color:\"color colors fill\",capSize:\"capSize cap capsize cap-size\",lineWidth:\"lineWidth line-width width line thickness\",opacity:\"opacity alpha\",range:\"range dataBox\",viewport:\"viewport viewBox\",errors:\"errors error\",positions:\"positions position data points\"}),C||(c[_]=C={id:_,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},L=nqe({},u,L)),IOt(C,L,[{lineWidth:M=>+M*.5,capSize:M=>+M*.5,opacity:parseFloat,errors:M=>(M=aqe(M),E+=M.length,M),positions:(M,g)=>(M=aqe(M,\"float64\"),g.count=Math.floor(M.length/2),g.bounds=LOt(M,2),g.offset=p,p+=g.count,M)},{color:(M,g)=>{let P=g.count;if(M||(M=\"transparent\"),!Array.isArray(M)||typeof M[0]==\"number\"){let F=M;M=Array(P);for(let q=0;q<P;q++)M[q]=F}if(M.length<P)throw Error(\"Not enough colors\");let T=new Uint8Array(P*4);for(let F=0;F<P;F++){let q=POt(M[F],\"uint8\");T.set(q,F*4)}return T},range:(M,g,P)=>{let T=g.bounds;return M||(M=T),g.scale=[1/(M[2]-M[0]),1/(M[3]-M[1])],g.translate=[-M[0],-M[1]],g.scaleFract=PY(g.scale),g.translateFract=PY(g.translate),M},viewport:M=>{let g;return Array.isArray(M)?g={x:M[0],y:M[1],width:M[2]-M[0],height:M[3]-M[1]}:M?(g={x:M.x||M.left||0,y:M.y||M.top||0},M.right?g.width=M.right-g.x:g.width=M.w||M.width||0,M.bottom?g.height=M.bottom-g.y:g.height=M.h||M.height||0):g={x:0,y:0,width:r.drawingBufferWidth,height:r.drawingBufferHeight},g}}]),C}),p||E){let L=c.reduce((g,P,T)=>g+(P?P.count:0),0),_=new Float64Array(L*2),C=new Uint8Array(L*4),M=new Float32Array(L*4);c.forEach((g,P)=>{if(!g)return;let{positions:T,count:F,offset:q,color:V,errors:H}=g;F&&(C.set(V,q*4),M.set(H,q*4),_.set(T,q*2))});var k=DOt(_);i(k);var A=PY(_,k);a(A),o(C),s(M)}}function x(){i.destroy(),a.destroy(),o.destroy(),s.destroy(),l.destroy()}}});var fqe=ye((imr,cqe)=>{var uqe=/[\\'\\\"]/;cqe.exports=function(t){return t?(uqe.test(t.charAt(0))&&(t=t.substr(1)),uqe.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):\"\"}});var IY=ye(()=>{});var RY=ye(()=>{});var DY=ye(()=>{});var zY=ye(()=>{});var FY=ye(()=>{});var pqe=ye((vmr,vqe)=>{\"use strict\";function hqe(e,t){if(typeof e!=\"string\")return[e];var r=[e];typeof t==\"string\"||Array.isArray(t)?t={brackets:t}:t||(t={});var n=t.brackets?Array.isArray(t.brackets)?t.brackets:[t.brackets]:[\"{}\",\"[]\",\"()\"],i=t.escape||\"___\",a=!!t.flat;n.forEach(function(l){var u=new RegExp([\"\\\\\",l[0],\"[^\\\\\",l[0],\"\\\\\",l[1],\"]*\\\\\",l[1]].join(\"\")),c=[];function f(h,d,v){var x=r.push(h.slice(l[0].length,-l[1].length))-1;return c.push(x),i+x+i}r.forEach(function(h,d){for(var v,x=0;h!=v;)if(v=h,h=h.replace(u,f),x++>1e4)throw Error(\"References have circular dependency. Please, check them.\");r[d]=h}),c=c.reverse(),r=r.map(function(h){return c.forEach(function(d){h=h.replace(new RegExp(\"(\\\\\"+i+d+\"\\\\\"+i+\")\",\"g\"),l[0]+\"$1\"+l[1])}),h})});var o=new RegExp(\"\\\\\"+i+\"([0-9]+)\\\\\"+i);function s(l,u,c){for(var f=[],h,d=0;h=o.exec(l);){if(d++>1e4)throw Error(\"Circular references in parenthesis\");f.push(l.slice(0,h.index)),f.push(s(u[h[1]],u)),l=l.slice(h.index+h[0].length)}return f.push(l),f}return a?r:s(r[0],r)}function dqe(e,t){if(t&&t.flat){var r=t&&t.escape||\"___\",n=e[0],i;if(!n)return\"\";for(var a=new RegExp(\"\\\\\"+r+\"([0-9]+)\\\\\"+r),o=0;n!=i;){if(o++>1e4)throw Error(\"Circular references in \"+e);i=n,n=n.replace(a,s)}return n}return e.reduce(function l(u,c){return Array.isArray(c)&&(c=c.reduce(l,\"\")),u+c},\"\");function s(l,u){if(e[u]==null)throw Error(\"Reference \"+u+\"is undefined\");return e[u]}}function qY(e,t){return Array.isArray(e)?dqe(e,t):hqe(e,t)}qY.parse=hqe;qY.stringify=dqe;vqe.exports=qY});var yqe=ye((pmr,mqe)=>{\"use strict\";var gqe=pqe();mqe.exports=function(t,r,n){if(t==null)throw Error(\"First argument should be a string\");if(r==null)throw Error(\"Separator should be a string or a RegExp\");n?(typeof n==\"string\"||Array.isArray(n))&&(n={ignore:n}):n={},n.escape==null&&(n.escape=!0),n.ignore==null?n.ignore=[\"[]\",\"()\",\"{}\",\"<>\",'\"\"',\"''\",\"``\",\"\\u201C\\u201D\",\"\\xAB\\xBB\"]:(typeof n.ignore==\"string\"&&(n.ignore=[n.ignore]),n.ignore=n.ignore.map(function(f){return f.length===1&&(f=f+f),f}));var i=gqe.parse(t,{flat:!0,brackets:n.ignore}),a=i[0],o=a.split(r);if(n.escape){for(var s=[],l=0;l<o.length;l++){var u=o[l],c=o[l+1];u[u.length-1]===\"\\\\\"&&u[u.length-2]!==\"\\\\\"?(s.push(u+r+c),l++):s.push(u)}o=s}for(var l=0;l<o.length;l++)i[0]=o[l],o[l]=gqe.stringify(i,{flat:!0});return o}});var _qe=ye(()=>{});var OY=ye((ymr,xqe)=>{\"use strict\";var FOt=_qe();xqe.exports={isSize:function(t){return/^[\\d\\.]/.test(t)||t.indexOf(\"/\")!==-1||FOt.indexOf(t)!==-1}}});var Aqe=ye((_mr,Tqe)=>{\"use strict\";var qOt=fqe(),OOt=IY(),BOt=RY(),NOt=DY(),UOt=zY(),VOt=FY(),BY=yqe(),HOt=OY().isSize;Tqe.exports=wqe;var gk=wqe.cache={};function wqe(e){if(typeof e!=\"string\")throw new Error(\"Font argument must be a string.\");if(gk[e])return gk[e];if(e===\"\")throw new Error(\"Cannot parse an empty string.\");if(BOt.indexOf(e)!==-1)return gk[e]={system:e};for(var t={style:\"normal\",variant:\"normal\",weight:\"normal\",stretch:\"normal\",lineHeight:\"normal\",size:\"1rem\",family:[\"serif\"]},r=BY(e,/\\s+/),n;n=r.shift();){if(OOt.indexOf(n)!==-1)return[\"style\",\"variant\",\"weight\",\"stretch\"].forEach(function(a){t[a]=n}),gk[e]=t;if(UOt.indexOf(n)!==-1){t.style=n;continue}if(n===\"normal\"||n===\"small-caps\"){t.variant=n;continue}if(VOt.indexOf(n)!==-1){t.stretch=n;continue}if(NOt.indexOf(n)!==-1){t.weight=n;continue}if(HOt(n)){var i=BY(n,\"/\");if(t.size=i[0],i[1]!=null?t.lineHeight=bqe(i[1]):r[0]===\"/\"&&(r.shift(),t.lineHeight=bqe(r.shift())),!r.length)throw new Error(\"Missing required font-family.\");return t.family=BY(r.join(\" \"),/\\s*,\\s*/).map(qOt),gk[e]=t}throw new Error(\"Unknown or unsupported font token: \"+n)}throw new Error(\"Missing required font-size.\")}function bqe(e){var t=parseFloat(e);return t.toString()===e?t:e}});var UY=ye((xmr,Sqe)=>{\"use strict\";var GOt=Zm(),jOt=OY().isSize,WOt=yk(IY()),ZOt=yk(RY()),XOt=yk(DY()),YOt=yk(zY()),KOt=yk(FY()),JOt={normal:1,\"small-caps\":1},$Ot={serif:1,\"sans-serif\":1,monospace:1,cursive:1,fantasy:1,\"system-ui\":1},NY={style:\"normal\",variant:\"normal\",weight:\"normal\",stretch:\"normal\",size:\"1rem\",lineHeight:\"normal\",family:\"serif\"};Sqe.exports=function(t){if(t=GOt(t,{style:\"style fontstyle fontStyle font-style slope distinction\",variant:\"variant font-variant fontVariant fontvariant var capitalization\",weight:\"weight w font-weight fontWeight fontweight\",stretch:\"stretch font-stretch fontStretch fontstretch width\",size:\"size s font-size fontSize fontsize height em emSize\",lineHeight:\"lh line-height lineHeight lineheight leading\",family:\"font family fontFamily font-family fontfamily type typeface face\",system:\"system reserved default global\"}),t.system)return t.system&&mk(t.system,ZOt),t.system;if(mk(t.style,YOt),mk(t.variant,JOt),mk(t.weight,XOt),mk(t.stretch,KOt),t.size==null&&(t.size=NY.size),typeof t.size==\"number\"&&(t.size+=\"px\"),!jOt)throw Error(\"Bad size value `\"+t.size+\"`\");t.family||(t.family=NY.family),Array.isArray(t.family)&&(t.family.length||(t.family=[NY.family]),t.family=t.family.map(function(n){return $Ot[n]?n:'\"'+n+'\"'}).join(\", \"));var r=[];return r.push(t.style),t.variant!==t.style&&r.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&r.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&r.push(t.stretch),r.push(t.size+(t.lineHeight==null||t.lineHeight===\"normal\"||t.lineHeight+\"\"==\"1\"?\"\":\"/\"+t.lineHeight)),r.push(t.family),r.filter(Boolean).join(\" \")};function mk(e,t){if(e&&!t[e]&&!WOt[e])throw Error(\"Unknown keyword `\"+e+\"`\");return e}function yk(e){for(var t={},r=0;r<e.length;r++)t[e[r]]=1;return t}});var Eqe=ye((bmr,Mqe)=>{\"use strict\";Mqe.exports={parse:Aqe(),stringify:UY()}});var GY=ye((VY,HY)=>{(function(e,t){typeof VY==\"object\"&&typeof HY!=\"undefined\"?HY.exports=t():e.createREGL=t()})(VY,function(){\"use strict\";var e=function(At,Er){for(var Wr=Object.keys(Er),wi=0;wi<Wr.length;++wi)At[Wr[wi]]=Er[Wr[wi]];return At},t=0,r=0,n=5,i=6;function a(At,Er){this.id=t++,this.type=At,this.data=Er}function o(At){return At.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')}function s(At){if(At.length===0)return[];var Er=At.charAt(0),Wr=At.charAt(At.length-1);if(At.length>1&&Er===Wr&&(Er==='\"'||Er===\"'\"))return['\"'+o(At.substr(1,At.length-2))+'\"'];var wi=/\\[(false|true|null|\\d+|'[^']*'|\"[^\"]*\")\\]/.exec(At);if(wi)return s(At.substr(0,wi.index)).concat(s(wi[1])).concat(s(At.substr(wi.index+wi[0].length)));var Ui=At.split(\".\");if(Ui.length===1)return['\"'+o(At)+'\"'];for(var Oi=[],Bi=0;Bi<Ui.length;++Bi)Oi=Oi.concat(s(Ui[Bi]));return Oi}function l(At){return\"[\"+s(At).join(\"][\")+\"]\"}function u(At,Er){return new a(At,l(Er+\"\"))}function c(At){return typeof At==\"function\"&&!At._reglType||At instanceof a}function f(At,Er){if(typeof At==\"function\")return new a(r,At);if(typeof At==\"number\"||typeof At==\"boolean\")return new a(n,At);if(Array.isArray(At))return new a(i,At.map(function(Wr,wi){return f(Wr,Er+\"[\"+wi+\"]\")}));if(At instanceof a)return At}var h={DynamicVariable:a,define:u,isDynamic:c,unbox:f,accessor:l},d={next:typeof requestAnimationFrame==\"function\"?function(At){return requestAnimationFrame(At)}:function(At){return setTimeout(At,16)},cancel:typeof cancelAnimationFrame==\"function\"?function(At){return cancelAnimationFrame(At)}:clearTimeout},v=typeof performance!=\"undefined\"&&performance.now?function(){return performance.now()}:function(){return+new Date};function x(){var At={\"\":0},Er=[\"\"];return{id:function(Wr){var wi=At[Wr];return wi||(wi=At[Wr]=Er.length,Er.push(Wr),wi)},str:function(Wr){return Er[Wr]}}}function b(At,Er,Wr){var wi=document.createElement(\"canvas\");e(wi.style,{border:0,margin:0,padding:0,top:0,left:0,width:\"100%\",height:\"100%\"}),At.appendChild(wi),At===document.body&&(wi.style.position=\"absolute\",e(At.style,{margin:0,padding:0}));function Ui(){var cn=window.innerWidth,On=window.innerHeight;if(At!==document.body){var Bn=wi.getBoundingClientRect();cn=Bn.right-Bn.left,On=Bn.bottom-Bn.top}wi.width=Wr*cn,wi.height=Wr*On}var Oi;At!==document.body&&typeof ResizeObserver==\"function\"?(Oi=new ResizeObserver(function(){setTimeout(Ui)}),Oi.observe(At)):window.addEventListener(\"resize\",Ui,!1);function Bi(){Oi?Oi.disconnect():window.removeEventListener(\"resize\",Ui),At.removeChild(wi)}return Ui(),{canvas:wi,onDestroy:Bi}}function p(At,Er){function Wr(wi){try{return At.getContext(wi,Er)}catch(Ui){return null}}return Wr(\"webgl\")||Wr(\"experimental-webgl\")||Wr(\"webgl-experimental\")}function E(At){return typeof At.nodeName==\"string\"&&typeof At.appendChild==\"function\"&&typeof At.getBoundingClientRect==\"function\"}function k(At){return typeof At.drawArrays==\"function\"||typeof At.drawElements==\"function\"}function A(At){return typeof At==\"string\"?At.split():At}function L(At){return typeof At==\"string\"?document.querySelector(At):At}function _(At){var Er=At||{},Wr,wi,Ui,Oi,Bi={},cn=[],On=[],Bn=typeof window==\"undefined\"?1:window.devicePixelRatio,yn=!1,to={},Rn=function(Ai){},Dn=function(){};if(typeof Er==\"string\"?Wr=document.querySelector(Er):typeof Er==\"object\"&&(E(Er)?Wr=Er:k(Er)?(Oi=Er,Ui=Oi.canvas):(\"gl\"in Er?Oi=Er.gl:\"canvas\"in Er?Ui=L(Er.canvas):\"container\"in Er&&(wi=L(Er.container)),\"attributes\"in Er&&(Bi=Er.attributes),\"extensions\"in Er&&(cn=A(Er.extensions)),\"optionalExtensions\"in Er&&(On=A(Er.optionalExtensions)),\"onDone\"in Er&&(Rn=Er.onDone),\"profile\"in Er&&(yn=!!Er.profile),\"pixelRatio\"in Er&&(Bn=+Er.pixelRatio),\"cachedCode\"in Er&&(to=Er.cachedCode))),Wr&&(Wr.nodeName.toLowerCase()===\"canvas\"?Ui=Wr:wi=Wr),!Oi){if(!Ui){var fn=b(wi||document.body,Rn,Bn);if(!fn)return null;Ui=fn.canvas,Dn=fn.onDestroy}Bi.premultipliedAlpha===void 0&&(Bi.premultipliedAlpha=!0),Oi=p(Ui,Bi)}return Oi?{gl:Oi,canvas:Ui,container:wi,extensions:cn,optionalExtensions:On,pixelRatio:Bn,profile:yn,cachedCode:to,onDone:Rn,onDestroy:Dn}:(Dn(),Rn(\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\"),null)}function C(At,Er){var Wr={};function wi(Bi){var cn=Bi.toLowerCase(),On;try{On=Wr[cn]=At.getExtension(cn)}catch(Bn){}return!!On}for(var Ui=0;Ui<Er.extensions.length;++Ui){var Oi=Er.extensions[Ui];if(!wi(Oi))return Er.onDestroy(),Er.onDone('\"'+Oi+'\" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return Er.optionalExtensions.forEach(wi),{extensions:Wr,restore:function(){Object.keys(Wr).forEach(function(Bi){if(Wr[Bi]&&!wi(Bi))throw new Error(\"(regl): error restoring extension \"+Bi)})}}}function M(At,Er){for(var Wr=Array(At),wi=0;wi<At;++wi)Wr[wi]=Er(wi);return Wr}var g=5120,P=5121,T=5122,F=5123,q=5124,V=5125,H=5126;function X(At){for(var Er=16;Er<=1<<28;Er*=16)if(At<=Er)return Er;return 0}function G(At){var Er,Wr;return Er=(At>65535)<<4,At>>>=Er,Wr=(At>255)<<3,At>>>=Wr,Er|=Wr,Wr=(At>15)<<2,At>>>=Wr,Er|=Wr,Wr=(At>3)<<1,At>>>=Wr,Er|=Wr,Er|At>>1}function N(){var At=M(8,function(){return[]});function Er(Oi){var Bi=X(Oi),cn=At[G(Bi)>>2];return cn.length>0?cn.pop():new ArrayBuffer(Bi)}function Wr(Oi){At[G(Oi.byteLength)>>2].push(Oi)}function wi(Oi,Bi){var cn=null;switch(Oi){case g:cn=new Int8Array(Er(Bi),0,Bi);break;case P:cn=new Uint8Array(Er(Bi),0,Bi);break;case T:cn=new Int16Array(Er(2*Bi),0,Bi);break;case F:cn=new Uint16Array(Er(2*Bi),0,Bi);break;case q:cn=new Int32Array(Er(4*Bi),0,Bi);break;case V:cn=new Uint32Array(Er(4*Bi),0,Bi);break;case H:cn=new Float32Array(Er(4*Bi),0,Bi);break;default:return null}return cn.length!==Bi?cn.subarray(0,Bi):cn}function Ui(Oi){Wr(Oi.buffer)}return{alloc:Er,free:Wr,allocType:wi,freeType:Ui}}var W=N();W.zero=N();var re=3408,ae=3410,_e=3411,Me=3412,ke=3413,ge=3414,ie=3415,Te=33901,Ee=33902,Ae=3379,ze=3386,Ce=34921,me=36347,Re=36348,ce=35661,Ge=35660,nt=34930,ct=36349,qt=34076,rt=34024,ot=7936,Rt=7937,kt=7938,Ct=35724,Yt=34047,xr=36063,er=34852,Ke=3553,xt=34067,bt=34069,Lt=33984,St=6408,Et=5126,dt=5121,Ht=36160,$t=36053,fr=36064,_r=16384,Br=function(At,Er){var Wr=1;Er.ext_texture_filter_anisotropic&&(Wr=At.getParameter(Yt));var wi=1,Ui=1;Er.webgl_draw_buffers&&(wi=At.getParameter(er),Ui=At.getParameter(xr));var Oi=!!Er.oes_texture_float;if(Oi){var Bi=At.createTexture();At.bindTexture(Ke,Bi),At.texImage2D(Ke,0,St,1,1,0,St,Et,null);var cn=At.createFramebuffer();if(At.bindFramebuffer(Ht,cn),At.framebufferTexture2D(Ht,fr,Ke,Bi,0),At.bindTexture(Ke,null),At.checkFramebufferStatus(Ht)!==$t)Oi=!1;else{At.viewport(0,0,1,1),At.clearColor(1,0,0,1),At.clear(_r);var On=W.allocType(Et,4);At.readPixels(0,0,1,1,St,Et,On),At.getError()?Oi=!1:(At.deleteFramebuffer(cn),At.deleteTexture(Bi),Oi=On[0]===1),W.freeType(On)}}var Bn=typeof navigator!=\"undefined\"&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),yn=!0;if(!Bn){var to=At.createTexture(),Rn=W.allocType(dt,36);At.activeTexture(Lt),At.bindTexture(xt,to),At.texImage2D(bt,0,St,3,3,0,St,dt,Rn),W.freeType(Rn),At.bindTexture(xt,null),At.deleteTexture(to),yn=!At.getError()}return{colorBits:[At.getParameter(ae),At.getParameter(_e),At.getParameter(Me),At.getParameter(ke)],depthBits:At.getParameter(ge),stencilBits:At.getParameter(ie),subpixelBits:At.getParameter(re),extensions:Object.keys(Er).filter(function(Dn){return!!Er[Dn]}),maxAnisotropic:Wr,maxDrawbuffers:wi,maxColorAttachments:Ui,pointSizeDims:At.getParameter(Te),lineWidthDims:At.getParameter(Ee),maxViewportDims:At.getParameter(ze),maxCombinedTextureUnits:At.getParameter(ce),maxCubeMapSize:At.getParameter(qt),maxRenderbufferSize:At.getParameter(rt),maxTextureUnits:At.getParameter(nt),maxTextureSize:At.getParameter(Ae),maxAttributes:At.getParameter(Ce),maxVertexUniforms:At.getParameter(me),maxVertexTextureUnits:At.getParameter(Ge),maxVaryingVectors:At.getParameter(Re),maxFragmentUniforms:At.getParameter(ct),glsl:At.getParameter(Ct),renderer:At.getParameter(Rt),vendor:At.getParameter(ot),version:At.getParameter(kt),readFloat:Oi,npotTextureCube:yn}},Or=function(At){return At instanceof Uint8Array||At instanceof Uint16Array||At instanceof Uint32Array||At instanceof Int8Array||At instanceof Int16Array||At instanceof Int32Array||At instanceof Float32Array||At instanceof Float64Array||At instanceof Uint8ClampedArray};function Nr(At){return!!At&&typeof At==\"object\"&&Array.isArray(At.shape)&&Array.isArray(At.stride)&&typeof At.offset==\"number\"&&At.shape.length===At.stride.length&&(Array.isArray(At.data)||Or(At.data))}var ut=function(At){return Object.keys(At).map(function(Er){return At[Er]})},Ne={shape:xe,flatten:Le};function Ye(At,Er,Wr){for(var wi=0;wi<Er;++wi)Wr[wi]=At[wi]}function Ve(At,Er,Wr,wi){for(var Ui=0,Oi=0;Oi<Er;++Oi)for(var Bi=At[Oi],cn=0;cn<Wr;++cn)wi[Ui++]=Bi[cn]}function Xe(At,Er,Wr,wi,Ui,Oi){for(var Bi=Oi,cn=0;cn<Er;++cn)for(var On=At[cn],Bn=0;Bn<Wr;++Bn)for(var yn=On[Bn],to=0;to<wi;++to)Ui[Bi++]=yn[to]}function ht(At,Er,Wr,wi,Ui){for(var Oi=1,Bi=Wr+1;Bi<Er.length;++Bi)Oi*=Er[Bi];var cn=Er[Wr];if(Er.length-Wr===4){var On=Er[Wr+1],Bn=Er[Wr+2],yn=Er[Wr+3];for(Bi=0;Bi<cn;++Bi)Xe(At[Bi],On,Bn,yn,wi,Ui),Ui+=Oi}else for(Bi=0;Bi<cn;++Bi)ht(At[Bi],Er,Wr+1,wi,Ui),Ui+=Oi}function Le(At,Er,Wr,wi){var Ui=1;if(Er.length)for(var Oi=0;Oi<Er.length;++Oi)Ui*=Er[Oi];else Ui=0;var Bi=wi||W.allocType(Wr,Ui);switch(Er.length){case 0:break;case 1:Ye(At,Er[0],Bi);break;case 2:Ve(At,Er[0],Er[1],Bi);break;case 3:Xe(At,Er[0],Er[1],Er[2],Bi,0);break;default:ht(At,Er,0,Bi,0)}return Bi}function xe(At){for(var Er=[],Wr=At;Wr.length;Wr=Wr[0])Er.push(Wr.length);return Er}var Se={\"[object Int8Array]\":5120,\"[object Int16Array]\":5122,\"[object Int32Array]\":5124,\"[object Uint8Array]\":5121,\"[object Uint8ClampedArray]\":5121,\"[object Uint16Array]\":5123,\"[object Uint32Array]\":5125,\"[object Float32Array]\":5126,\"[object Float64Array]\":5121,\"[object ArrayBuffer]\":5121},lt=5120,Gt=5122,Vt=5124,ar=5121,Qr=5123,ai=5125,jr=5126,ri=5126,bi={int8:lt,int16:Gt,int32:Vt,uint8:ar,uint16:Qr,uint32:ai,float:jr,float32:ri},nn=35048,Wi=35040,Ni={dynamic:nn,stream:Wi,static:35044},_n=Ne.flatten,$i=Ne.shape,zn=35044,Wn=35040,It=5121,ft=5126,jt=[];jt[5120]=1,jt[5122]=2,jt[5124]=4,jt[5121]=1,jt[5123]=2,jt[5125]=4,jt[5126]=4;function Zt(At){return Se[Object.prototype.toString.call(At)]|0}function yr(At,Er){for(var Wr=0;Wr<Er.length;++Wr)At[Wr]=Er[Wr]}function Fr(At,Er,Wr,wi,Ui,Oi,Bi){for(var cn=0,On=0;On<Wr;++On)for(var Bn=0;Bn<wi;++Bn)At[cn++]=Er[Ui*On+Oi*Bn+Bi]}function Zr(At,Er,Wr,wi){var Ui=0,Oi={};function Bi(Ai){this.id=Ui++,this.buffer=At.createBuffer(),this.type=Ai,this.usage=zn,this.byteLength=0,this.dimension=1,this.dtype=It,this.persistentData=null,Wr.profile&&(this.stats={size:0})}Bi.prototype.bind=function(){At.bindBuffer(this.type,this.buffer)},Bi.prototype.destroy=function(){Rn(this)};var cn=[];function On(Ai,ji){var Ln=cn.pop();return Ln||(Ln=new Bi(Ai)),Ln.bind(),to(Ln,ji,Wn,0,1,!1),Ln}function Bn(Ai){cn.push(Ai)}function yn(Ai,ji,Ln){Ai.byteLength=ji.byteLength,At.bufferData(Ai.type,ji,Ln)}function to(Ai,ji,Ln,Un,gn,ca){var Kn;if(Ai.usage=Ln,Array.isArray(ji)){if(Ai.dtype=Un||ft,ji.length>0){var Za;if(Array.isArray(ji[0])){Kn=$i(ji);for(var wn=1,vn=1;vn<Kn.length;++vn)wn*=Kn[vn];Ai.dimension=wn,Za=_n(ji,Kn,Ai.dtype),yn(Ai,Za,Ln),ca?Ai.persistentData=Za:W.freeType(Za)}else if(typeof ji[0]==\"number\"){Ai.dimension=gn;var Aa=W.allocType(Ai.dtype,ji.length);yr(Aa,ji),yn(Ai,Aa,Ln),ca?Ai.persistentData=Aa:W.freeType(Aa)}else Or(ji[0])&&(Ai.dimension=ji[0].length,Ai.dtype=Un||Zt(ji[0])||ft,Za=_n(ji,[ji.length,ji[0].length],Ai.dtype),yn(Ai,Za,Ln),ca?Ai.persistentData=Za:W.freeType(Za))}}else if(Or(ji))Ai.dtype=Un||Zt(ji),Ai.dimension=gn,yn(Ai,ji,Ln),ca&&(Ai.persistentData=new Uint8Array(new Uint8Array(ji.buffer)));else if(Nr(ji)){Kn=ji.shape;var aa=ji.stride,Xn=ji.offset,Vn=0,ma=0,ro=0,Ao=0;Kn.length===1?(Vn=Kn[0],ma=1,ro=aa[0],Ao=0):Kn.length===2&&(Vn=Kn[0],ma=Kn[1],ro=aa[0],Ao=aa[1]),Ai.dtype=Un||Zt(ji.data)||ft,Ai.dimension=ma;var Jn=W.allocType(Ai.dtype,Vn*ma);Fr(Jn,ji.data,Vn,ma,ro,Ao,Xn),yn(Ai,Jn,Ln),ca?Ai.persistentData=Jn:W.freeType(Jn)}else ji instanceof ArrayBuffer&&(Ai.dtype=It,Ai.dimension=gn,yn(Ai,ji,Ln),ca&&(Ai.persistentData=new Uint8Array(new Uint8Array(ji))))}function Rn(Ai){Er.bufferCount--,wi(Ai);var ji=Ai.buffer;At.deleteBuffer(ji),Ai.buffer=null,delete Oi[Ai.id]}function Dn(Ai,ji,Ln,Un){Er.bufferCount++;var gn=new Bi(ji);Oi[gn.id]=gn;function ca(wn){var vn=zn,Aa=null,aa=0,Xn=0,Vn=1;return Array.isArray(wn)||Or(wn)||Nr(wn)||wn instanceof ArrayBuffer?Aa=wn:typeof wn==\"number\"?aa=wn|0:wn&&(\"data\"in wn&&(Aa=wn.data),\"usage\"in wn&&(vn=Ni[wn.usage]),\"type\"in wn&&(Xn=bi[wn.type]),\"dimension\"in wn&&(Vn=wn.dimension|0),\"length\"in wn&&(aa=wn.length|0)),gn.bind(),Aa?to(gn,Aa,vn,Xn,Vn,Un):(aa&&At.bufferData(gn.type,aa,vn),gn.dtype=Xn||It,gn.usage=vn,gn.dimension=Vn,gn.byteLength=aa),Wr.profile&&(gn.stats.size=gn.byteLength*jt[gn.dtype]),ca}function Kn(wn,vn){At.bufferSubData(gn.type,vn,wn)}function Za(wn,vn){var Aa=(vn||0)|0,aa;if(gn.bind(),Or(wn)||wn instanceof ArrayBuffer)Kn(wn,Aa);else if(Array.isArray(wn)){if(wn.length>0){if(typeof wn[0]==\"number\"){var Xn=W.allocType(gn.dtype,wn.length);yr(Xn,wn),Kn(Xn,Aa),W.freeType(Xn)}else if(Array.isArray(wn[0])||Or(wn[0])){aa=$i(wn);var Vn=_n(wn,aa,gn.dtype);Kn(Vn,Aa),W.freeType(Vn)}}}else if(Nr(wn)){aa=wn.shape;var ma=wn.stride,ro=0,Ao=0,Jn=0,Oa=0;aa.length===1?(ro=aa[0],Ao=1,Jn=ma[0],Oa=0):aa.length===2&&(ro=aa[0],Ao=aa[1],Jn=ma[0],Oa=ma[1]);var _o=Array.isArray(wn.data)?gn.dtype:Zt(wn.data),Po=W.allocType(_o,ro*Ao);Fr(Po,wn.data,ro,Ao,Jn,Oa,wn.offset),Kn(Po,Aa),W.freeType(Po)}return ca}return Ln||ca(Ai),ca._reglType=\"buffer\",ca._buffer=gn,ca.subdata=Za,Wr.profile&&(ca.stats=gn.stats),ca.destroy=function(){Rn(gn)},ca}function fn(){ut(Oi).forEach(function(Ai){Ai.buffer=At.createBuffer(),At.bindBuffer(Ai.type,Ai.buffer),At.bufferData(Ai.type,Ai.persistentData||Ai.byteLength,Ai.usage)})}return Wr.profile&&(Er.getTotalBufferSize=function(){var Ai=0;return Object.keys(Oi).forEach(function(ji){Ai+=Oi[ji].stats.size}),Ai}),{create:Dn,createStream:On,destroyStream:Bn,clear:function(){ut(Oi).forEach(Rn),cn.forEach(Rn)},getBuffer:function(Ai){return Ai&&Ai._buffer instanceof Bi?Ai._buffer:null},restore:fn,_initBuffer:to}}var Vr=0,gi=0,Si=1,Mi=1,Pi=4,Gi=4,Ki={points:Vr,point:gi,lines:Si,line:Mi,triangles:Pi,triangle:Gi,\"line loop\":2,\"line strip\":3,\"triangle strip\":5,\"triangle fan\":6},ka=0,jn=1,la=4,Fa=5120,Ra=5121,jo=5122,oa=5123,Sn=5124,Ha=5125,oo=34963,xn=35040,_t=35044;function br(At,Er,Wr,wi){var Ui={},Oi=0,Bi={uint8:Ra,uint16:oa};Er.oes_element_index_uint&&(Bi.uint32=Ha);function cn(fn){this.id=Oi++,Ui[this.id]=this,this.buffer=fn,this.primType=la,this.vertCount=0,this.type=0}cn.prototype.bind=function(){this.buffer.bind()};var On=[];function Bn(fn){var Ai=On.pop();return Ai||(Ai=new cn(Wr.create(null,oo,!0,!1)._buffer)),to(Ai,fn,xn,-1,-1,0,0),Ai}function yn(fn){On.push(fn)}function to(fn,Ai,ji,Ln,Un,gn,ca){fn.buffer.bind();var Kn;if(Ai){var Za=ca;!ca&&(!Or(Ai)||Nr(Ai)&&!Or(Ai.data))&&(Za=Er.oes_element_index_uint?Ha:oa),Wr._initBuffer(fn.buffer,Ai,ji,Za,3)}else At.bufferData(oo,gn,ji),fn.buffer.dtype=Kn||Ra,fn.buffer.usage=ji,fn.buffer.dimension=3,fn.buffer.byteLength=gn;if(Kn=ca,!ca){switch(fn.buffer.dtype){case Ra:case Fa:Kn=Ra;break;case oa:case jo:Kn=oa;break;case Ha:case Sn:Kn=Ha;break;default:}fn.buffer.dtype=Kn}fn.type=Kn;var wn=Un;wn<0&&(wn=fn.buffer.byteLength,Kn===oa?wn>>=1:Kn===Ha&&(wn>>=2)),fn.vertCount=wn;var vn=Ln;if(Ln<0){vn=la;var Aa=fn.buffer.dimension;Aa===1&&(vn=ka),Aa===2&&(vn=jn),Aa===3&&(vn=la)}fn.primType=vn}function Rn(fn){wi.elementsCount--,delete Ui[fn.id],fn.buffer.destroy(),fn.buffer=null}function Dn(fn,Ai){var ji=Wr.create(null,oo,!0),Ln=new cn(ji._buffer);wi.elementsCount++;function Un(gn){if(!gn)ji(),Ln.primType=la,Ln.vertCount=0,Ln.type=Ra;else if(typeof gn==\"number\")ji(gn),Ln.primType=la,Ln.vertCount=gn|0,Ln.type=Ra;else{var ca=null,Kn=_t,Za=-1,wn=-1,vn=0,Aa=0;Array.isArray(gn)||Or(gn)||Nr(gn)?ca=gn:(\"data\"in gn&&(ca=gn.data),\"usage\"in gn&&(Kn=Ni[gn.usage]),\"primitive\"in gn&&(Za=Ki[gn.primitive]),\"count\"in gn&&(wn=gn.count|0),\"type\"in gn&&(Aa=Bi[gn.type]),\"length\"in gn?vn=gn.length|0:(vn=wn,Aa===oa||Aa===jo?vn*=2:(Aa===Ha||Aa===Sn)&&(vn*=4))),to(Ln,ca,Kn,Za,wn,vn,Aa)}return Un}return Un(fn),Un._reglType=\"elements\",Un._elements=Ln,Un.subdata=function(gn,ca){return ji.subdata(gn,ca),Un},Un.destroy=function(){Rn(Ln)},Un}return{create:Dn,createStream:Bn,destroyStream:yn,getElements:function(fn){return typeof fn==\"function\"&&fn._elements instanceof cn?fn._elements:null},clear:function(){ut(Ui).forEach(Rn)}}}var Hr=new Float32Array(1),ti=new Uint32Array(Hr.buffer),zi=5123;function Yi(At){for(var Er=W.allocType(zi,At.length),Wr=0;Wr<At.length;++Wr)if(isNaN(At[Wr]))Er[Wr]=65535;else if(At[Wr]===1/0)Er[Wr]=31744;else if(At[Wr]===-1/0)Er[Wr]=64512;else{Hr[0]=At[Wr];var wi=ti[0],Ui=wi>>>31<<15,Oi=(wi<<1>>>24)-127,Bi=wi>>13&1023;if(Oi<-24)Er[Wr]=Ui;else if(Oi<-14){var cn=-14-Oi;Er[Wr]=Ui+(Bi+1024>>cn)}else Oi>15?Er[Wr]=Ui+31744:Er[Wr]=Ui+(Oi+15<<10)+Bi}return Er}function an(At){return Array.isArray(At)||Or(At)}var hi=34467,Ji=3553,ua=34067,Fn=34069,Sa=6408,go=6406,Oo=6407,ho=6409,Mo=6410,xo=32854,zs=32855,ks=36194,Zs=32819,Xs=32820,wl=33635,os=34042,cl=6402,Cs=34041,ml=35904,Ys=35906,Hs=36193,Eo=33776,fs=33777,Ql=33778,Hu=33779,fc=35986,ms=35987,on=34798,fa=35840,Qu=35841,Rl=35842,vo=35843,Zl=36196,Ks=5121,Xl=5123,Ec=5125,Zn=5126,ko=10242,Co=10243,Tl=10497,uf=33071,So=33648,cf=10240,rh=10241,Al=9728,Hc=9729,eu=9984,Ls=9985,mu=9986,kc=9987,Of=33170,Gc=4352,vd=4353,Bf=4354,ss=34046,ff=3317,ih=37440,Vl=37441,Js=37443,hc=37444,Cc=33984,ws=[eu,mu,Ls,kc],$s=[0,ho,Mo,Oo,Sa],hs={};hs[ho]=hs[go]=hs[cl]=1,hs[Cs]=hs[Mo]=2,hs[Oo]=hs[ml]=3,hs[Sa]=hs[Ys]=4;function Ms(At){return\"[object \"+At+\"]\"}var dc=Ms(\"HTMLCanvasElement\"),Sl=Ms(\"OffscreenCanvas\"),ec=Ms(\"CanvasRenderingContext2D\"),Ps=Ms(\"ImageBitmap\"),ov=Ms(\"HTMLImageElement\"),wo=Ms(\"HTMLVideoElement\"),Od=Object.keys(Se).concat([dc,Sl,ec,Ps,ov,wo]),$o=[];$o[Ks]=1,$o[Zn]=4,$o[Hs]=2,$o[Xl]=2,$o[Ec]=4;var Ja=[];Ja[xo]=2,Ja[zs]=2,Ja[ks]=2,Ja[Cs]=4,Ja[Eo]=.5,Ja[fs]=.5,Ja[Ql]=1,Ja[Hu]=1,Ja[fc]=.5,Ja[ms]=1,Ja[on]=1,Ja[fa]=.5,Ja[Qu]=.25,Ja[Rl]=.5,Ja[vo]=.25,Ja[Zl]=.5;function Ef(At){return Array.isArray(At)&&(At.length===0||typeof At[0]==\"number\")}function tc(At){if(!Array.isArray(At))return!1;var Er=At.length;return!(Er===0||!an(At[0]))}function uu(At){return Object.prototype.toString.call(At)}function Mh(At){return uu(At)===dc}function jc(At){return uu(At)===Sl}function kf(At){return uu(At)===ec}function Ml(At){return uu(At)===Ps}function Yh(At){return uu(At)===ov}function Eh(At){return uu(At)===wo}function nh(At){if(!At)return!1;var Er=uu(At);return Od.indexOf(Er)>=0?!0:Ef(At)||tc(At)||Nr(At)}function hf(At){return Se[Object.prototype.toString.call(At)]|0}function kh(At,Er){var Wr=Er.length;switch(At.type){case Ks:case Xl:case Ec:case Zn:var wi=W.allocType(At.type,Wr);wi.set(Er),At.data=wi;break;case Hs:At.data=Yi(Er);break;default:}}function Kh(At,Er){return W.allocType(At.type===Hs?Zn:At.type,Er)}function rc(At,Er){At.type===Hs?(At.data=Yi(Er),W.freeType(Er)):At.data=Er}function ah(At,Er,Wr,wi,Ui,Oi){for(var Bi=At.width,cn=At.height,On=At.channels,Bn=Bi*cn*On,yn=Kh(At,Bn),to=0,Rn=0;Rn<cn;++Rn)for(var Dn=0;Dn<Bi;++Dn)for(var fn=0;fn<On;++fn)yn[to++]=Er[Wr*Dn+wi*Rn+Ui*fn+Oi];rc(At,yn)}function Wc(At,Er,Wr,wi,Ui,Oi){var Bi;if(typeof Ja[At]!=\"undefined\"?Bi=Ja[At]:Bi=hs[At]*$o[Er],Oi&&(Bi*=6),Ui){for(var cn=0,On=Wr;On>=1;)cn+=Bi*On*On,On/=2;return cn}else return Bi*Wr*wi}function df(At,Er,Wr,wi,Ui,Oi,Bi){var cn={\"don't care\":Gc,\"dont care\":Gc,nice:Bf,fast:vd},On={repeat:Tl,clamp:uf,mirror:So},Bn={nearest:Al,linear:Hc},yn=e({mipmap:kc,\"nearest mipmap nearest\":eu,\"linear mipmap nearest\":Ls,\"nearest mipmap linear\":mu,\"linear mipmap linear\":kc},Bn),to={none:0,browser:hc},Rn={uint8:Ks,rgba4:Zs,rgb565:wl,\"rgb5 a1\":Xs},Dn={alpha:go,luminance:ho,\"luminance alpha\":Mo,rgb:Oo,rgba:Sa,rgba4:xo,\"rgb5 a1\":zs,rgb565:ks},fn={};Er.ext_srgb&&(Dn.srgb=ml,Dn.srgba=Ys),Er.oes_texture_float&&(Rn.float32=Rn.float=Zn),Er.oes_texture_half_float&&(Rn.float16=Rn[\"half float\"]=Hs),Er.webgl_depth_texture&&(e(Dn,{depth:cl,\"depth stencil\":Cs}),e(Rn,{uint16:Xl,uint32:Ec,\"depth stencil\":os})),Er.webgl_compressed_texture_s3tc&&e(fn,{\"rgb s3tc dxt1\":Eo,\"rgba s3tc dxt1\":fs,\"rgba s3tc dxt3\":Ql,\"rgba s3tc dxt5\":Hu}),Er.webgl_compressed_texture_atc&&e(fn,{\"rgb atc\":fc,\"rgba atc explicit alpha\":ms,\"rgba atc interpolated alpha\":on}),Er.webgl_compressed_texture_pvrtc&&e(fn,{\"rgb pvrtc 4bppv1\":fa,\"rgb pvrtc 2bppv1\":Qu,\"rgba pvrtc 4bppv1\":Rl,\"rgba pvrtc 2bppv1\":vo}),Er.webgl_compressed_texture_etc1&&(fn[\"rgb etc1\"]=Zl);var Ai=Array.prototype.slice.call(At.getParameter(hi));Object.keys(fn).forEach(function(de){var Ie=fn[de];Ai.indexOf(Ie)>=0&&(Dn[de]=Ie)});var ji=Object.keys(Dn);Wr.textureFormats=ji;var Ln=[];Object.keys(Dn).forEach(function(de){var Ie=Dn[de];Ln[Ie]=de});var Un=[];Object.keys(Rn).forEach(function(de){var Ie=Rn[de];Un[Ie]=de});var gn=[];Object.keys(Bn).forEach(function(de){var Ie=Bn[de];gn[Ie]=de});var ca=[];Object.keys(yn).forEach(function(de){var Ie=yn[de];ca[Ie]=de});var Kn=[];Object.keys(On).forEach(function(de){var Ie=On[de];Kn[Ie]=de});var Za=ji.reduce(function(de,Ie){var $e=Dn[Ie];return $e===ho||$e===go||$e===ho||$e===Mo||$e===cl||$e===Cs||Er.ext_srgb&&($e===ml||$e===Ys)?de[$e]=$e:$e===zs||Ie.indexOf(\"rgba\")>=0?de[$e]=Sa:de[$e]=Oo,de},{});function wn(){this.internalformat=Sa,this.format=Sa,this.type=Ks,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=hc,this.width=0,this.height=0,this.channels=0}function vn(de,Ie){de.internalformat=Ie.internalformat,de.format=Ie.format,de.type=Ie.type,de.compressed=Ie.compressed,de.premultiplyAlpha=Ie.premultiplyAlpha,de.flipY=Ie.flipY,de.unpackAlignment=Ie.unpackAlignment,de.colorSpace=Ie.colorSpace,de.width=Ie.width,de.height=Ie.height,de.channels=Ie.channels}function Aa(de,Ie){if(!(typeof Ie!=\"object\"||!Ie)){if(\"premultiplyAlpha\"in Ie&&(de.premultiplyAlpha=Ie.premultiplyAlpha),\"flipY\"in Ie&&(de.flipY=Ie.flipY),\"alignment\"in Ie&&(de.unpackAlignment=Ie.alignment),\"colorSpace\"in Ie&&(de.colorSpace=to[Ie.colorSpace]),\"type\"in Ie){var $e=Ie.type;de.type=Rn[$e]}var pt=de.width,Kt=de.height,ir=de.channels,Jt=!1;\"shape\"in Ie?(pt=Ie.shape[0],Kt=Ie.shape[1],Ie.shape.length===3&&(ir=Ie.shape[2],Jt=!0)):(\"radius\"in Ie&&(pt=Kt=Ie.radius),\"width\"in Ie&&(pt=Ie.width),\"height\"in Ie&&(Kt=Ie.height),\"channels\"in Ie&&(ir=Ie.channels,Jt=!0)),de.width=pt|0,de.height=Kt|0,de.channels=ir|0;var vt=!1;if(\"format\"in Ie){var Pt=Ie.format,Wt=de.internalformat=Dn[Pt];de.format=Za[Wt],Pt in Rn&&(\"type\"in Ie||(de.type=Rn[Pt])),Pt in fn&&(de.compressed=!0),vt=!0}!Jt&&vt?de.channels=hs[de.format]:Jt&&!vt&&de.channels!==$s[de.format]&&(de.format=de.internalformat=$s[de.channels])}}function aa(de){At.pixelStorei(ih,de.flipY),At.pixelStorei(Vl,de.premultiplyAlpha),At.pixelStorei(Js,de.colorSpace),At.pixelStorei(ff,de.unpackAlignment)}function Xn(){wn.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Vn(de,Ie){var $e=null;if(nh(Ie)?$e=Ie:Ie&&(Aa(de,Ie),\"x\"in Ie&&(de.xOffset=Ie.x|0),\"y\"in Ie&&(de.yOffset=Ie.y|0),nh(Ie.data)&&($e=Ie.data)),Ie.copy){var pt=Ui.viewportWidth,Kt=Ui.viewportHeight;de.width=de.width||pt-de.xOffset,de.height=de.height||Kt-de.yOffset,de.needsCopy=!0}else if(!$e)de.width=de.width||1,de.height=de.height||1,de.channels=de.channels||4;else if(Or($e))de.channels=de.channels||4,de.data=$e,!(\"type\"in Ie)&&de.type===Ks&&(de.type=hf($e));else if(Ef($e))de.channels=de.channels||4,kh(de,$e),de.alignment=1,de.needsFree=!0;else if(Nr($e)){var ir=$e.data;!Array.isArray(ir)&&de.type===Ks&&(de.type=hf(ir));var Jt=$e.shape,vt=$e.stride,Pt,Wt,rr,dr,pr,kr;Jt.length===3?(rr=Jt[2],kr=vt[2]):(rr=1,kr=1),Pt=Jt[0],Wt=Jt[1],dr=vt[0],pr=vt[1],de.alignment=1,de.width=Pt,de.height=Wt,de.channels=rr,de.format=de.internalformat=$s[rr],de.needsFree=!0,ah(de,ir,dr,pr,kr,$e.offset)}else if(Mh($e)||jc($e)||kf($e))Mh($e)||jc($e)?de.element=$e:de.element=$e.canvas,de.width=de.element.width,de.height=de.element.height,de.channels=4;else if(Ml($e))de.element=$e,de.width=$e.width,de.height=$e.height,de.channels=4;else if(Yh($e))de.element=$e,de.width=$e.naturalWidth,de.height=$e.naturalHeight,de.channels=4;else if(Eh($e))de.element=$e,de.width=$e.videoWidth,de.height=$e.videoHeight,de.channels=4;else if(tc($e)){var Ar=de.width||$e[0].length,gr=de.height||$e.length,Cr=de.channels;an($e[0][0])?Cr=Cr||$e[0][0].length:Cr=Cr||1;for(var cr=Ne.shape($e),Gr=1,ei=0;ei<cr.length;++ei)Gr*=cr[ei];var yi=Kh(de,Gr);Ne.flatten($e,cr,\"\",yi),rc(de,yi),de.alignment=1,de.width=Ar,de.height=gr,de.channels=Cr,de.format=de.internalformat=$s[Cr],de.needsFree=!0}de.type===Zn||de.type}function ma(de,Ie,$e){var pt=de.element,Kt=de.data,ir=de.internalformat,Jt=de.format,vt=de.type,Pt=de.width,Wt=de.height;aa(de),pt?At.texImage2D(Ie,$e,Jt,Jt,vt,pt):de.compressed?At.compressedTexImage2D(Ie,$e,ir,Pt,Wt,0,Kt):de.needsCopy?(wi(),At.copyTexImage2D(Ie,$e,Jt,de.xOffset,de.yOffset,Pt,Wt,0)):At.texImage2D(Ie,$e,Jt,Pt,Wt,0,Jt,vt,Kt||null)}function ro(de,Ie,$e,pt,Kt){var ir=de.element,Jt=de.data,vt=de.internalformat,Pt=de.format,Wt=de.type,rr=de.width,dr=de.height;aa(de),ir?At.texSubImage2D(Ie,Kt,$e,pt,Pt,Wt,ir):de.compressed?At.compressedTexSubImage2D(Ie,Kt,$e,pt,vt,rr,dr,Jt):de.needsCopy?(wi(),At.copyTexSubImage2D(Ie,Kt,$e,pt,de.xOffset,de.yOffset,rr,dr)):At.texSubImage2D(Ie,Kt,$e,pt,rr,dr,Pt,Wt,Jt)}var Ao=[];function Jn(){return Ao.pop()||new Xn}function Oa(de){de.needsFree&&W.freeType(de.data),Xn.call(de),Ao.push(de)}function _o(){wn.call(this),this.genMipmaps=!1,this.mipmapHint=Gc,this.mipmask=0,this.images=Array(16)}function Po(de,Ie,$e){var pt=de.images[0]=Jn();de.mipmask=1,pt.width=de.width=Ie,pt.height=de.height=$e,pt.channels=de.channels=4}function Jo(de,Ie){var $e=null;if(nh(Ie))$e=de.images[0]=Jn(),vn($e,de),Vn($e,Ie),de.mipmask=1;else if(Aa(de,Ie),Array.isArray(Ie.mipmap))for(var pt=Ie.mipmap,Kt=0;Kt<pt.length;++Kt)$e=de.images[Kt]=Jn(),vn($e,de),$e.width>>=Kt,$e.height>>=Kt,Vn($e,pt[Kt]),de.mipmask|=1<<Kt;else $e=de.images[0]=Jn(),vn($e,de),Vn($e,Ie),de.mipmask=1;vn(de,de.images[0]),de.compressed&&(de.internalformat===Eo||de.internalformat===fs||de.internalformat===Ql||de.internalformat)}function Yl(de,Ie){for(var $e=de.images,pt=0;pt<$e.length;++pt){if(!$e[pt])return;ma($e[pt],Ie,pt)}}var $c=[];function xs(){var de=$c.pop()||new _o;wn.call(de),de.mipmask=0;for(var Ie=0;Ie<16;++Ie)de.images[Ie]=null;return de}function Qc(de){for(var Ie=de.images,$e=0;$e<Ie.length;++$e)Ie[$e]&&Oa(Ie[$e]),Ie[$e]=null;$c.push(de)}function El(){this.minFilter=Al,this.magFilter=Al,this.wrapS=uf,this.wrapT=uf,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=Gc}function bc(de,Ie){if(\"min\"in Ie){var $e=Ie.min;de.minFilter=yn[$e],ws.indexOf(de.minFilter)>=0&&!(\"faces\"in Ie)&&(de.genMipmaps=!0)}if(\"mag\"in Ie){var pt=Ie.mag;de.magFilter=Bn[pt]}var Kt=de.wrapS,ir=de.wrapT;if(\"wrap\"in Ie){var Jt=Ie.wrap;typeof Jt==\"string\"?Kt=ir=On[Jt]:Array.isArray(Jt)&&(Kt=On[Jt[0]],ir=On[Jt[1]])}else{if(\"wrapS\"in Ie){var vt=Ie.wrapS;Kt=On[vt]}if(\"wrapT\"in Ie){var Pt=Ie.wrapT;ir=On[Pt]}}if(de.wrapS=Kt,de.wrapT=ir,\"anisotropic\"in Ie){var Wt=Ie.anisotropic;de.anisotropic=Ie.anisotropic}if(\"mipmap\"in Ie){var rr=!1;switch(typeof Ie.mipmap){case\"string\":de.mipmapHint=cn[Ie.mipmap],de.genMipmaps=!0,rr=!0;break;case\"boolean\":rr=de.genMipmaps=Ie.mipmap;break;case\"object\":de.genMipmaps=!1,rr=!0;break;default:}rr&&!(\"min\"in Ie)&&(de.minFilter=eu)}}function wc(de,Ie){At.texParameteri(Ie,rh,de.minFilter),At.texParameteri(Ie,cf,de.magFilter),At.texParameteri(Ie,ko,de.wrapS),At.texParameteri(Ie,Co,de.wrapT),Er.ext_texture_filter_anisotropic&&At.texParameteri(Ie,ss,de.anisotropic),de.genMipmaps&&(At.hint(Of,de.mipmapHint),At.generateMipmap(Ie))}var yf=0,Gl={},Fc=Wr.maxTextureUnits,ef=Array(Fc).map(function(){return null});function ls(de){wn.call(this),this.mipmask=0,this.internalformat=Sa,this.id=yf++,this.refCount=1,this.target=de,this.texture=At.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new El,Bi.profile&&(this.stats={size:0})}function _f(de){At.activeTexture(Cc),At.bindTexture(de.target,de.texture)}function ns(){var de=ef[0];de?At.bindTexture(de.target,de.texture):At.bindTexture(Ji,null)}function Y(de){var Ie=de.texture,$e=de.unit,pt=de.target;$e>=0&&(At.activeTexture(Cc+$e),At.bindTexture(pt,null),ef[$e]=null),At.deleteTexture(Ie),de.texture=null,de.params=null,de.pixels=null,de.refCount=0,delete Gl[de.id],Oi.textureCount--}e(ls.prototype,{bind:function(){var de=this;de.bindCount+=1;var Ie=de.unit;if(Ie<0){for(var $e=0;$e<Fc;++$e){var pt=ef[$e];if(pt){if(pt.bindCount>0)continue;pt.unit=-1}ef[$e]=de,Ie=$e;break}Ie>=Fc,Bi.profile&&Oi.maxTextureUnits<Ie+1&&(Oi.maxTextureUnits=Ie+1),de.unit=Ie,At.activeTexture(Cc+Ie),At.bindTexture(de.target,de.texture)}return Ie},unbind:function(){this.bindCount-=1},decRef:function(){--this.refCount<=0&&Y(this)}});function z(de,Ie){var $e=new ls(Ji);Gl[$e.id]=$e,Oi.textureCount++;function pt(Jt,vt){var Pt=$e.texInfo;El.call(Pt);var Wt=xs();return typeof Jt==\"number\"?typeof vt==\"number\"?Po(Wt,Jt|0,vt|0):Po(Wt,Jt|0,Jt|0):Jt?(bc(Pt,Jt),Jo(Wt,Jt)):Po(Wt,1,1),Pt.genMipmaps&&(Wt.mipmask=(Wt.width<<1)-1),$e.mipmask=Wt.mipmask,vn($e,Wt),$e.internalformat=Wt.internalformat,pt.width=Wt.width,pt.height=Wt.height,_f($e),Yl(Wt,Ji),wc(Pt,Ji),ns(),Qc(Wt),Bi.profile&&($e.stats.size=Wc($e.internalformat,$e.type,Wt.width,Wt.height,Pt.genMipmaps,!1)),pt.format=Ln[$e.internalformat],pt.type=Un[$e.type],pt.mag=gn[Pt.magFilter],pt.min=ca[Pt.minFilter],pt.wrapS=Kn[Pt.wrapS],pt.wrapT=Kn[Pt.wrapT],pt}function Kt(Jt,vt,Pt,Wt){var rr=vt|0,dr=Pt|0,pr=Wt|0,kr=Jn();return vn(kr,$e),kr.width=0,kr.height=0,Vn(kr,Jt),kr.width=kr.width||($e.width>>pr)-rr,kr.height=kr.height||($e.height>>pr)-dr,_f($e),ro(kr,Ji,rr,dr,pr),ns(),Oa(kr),pt}function ir(Jt,vt){var Pt=Jt|0,Wt=vt|0||Pt;if(Pt===$e.width&&Wt===$e.height)return pt;pt.width=$e.width=Pt,pt.height=$e.height=Wt,_f($e);for(var rr=0;$e.mipmask>>rr;++rr){var dr=Pt>>rr,pr=Wt>>rr;if(!dr||!pr)break;At.texImage2D(Ji,rr,$e.format,dr,pr,0,$e.format,$e.type,null)}return ns(),Bi.profile&&($e.stats.size=Wc($e.internalformat,$e.type,Pt,Wt,!1,!1)),pt}return pt(de,Ie),pt.subimage=Kt,pt.resize=ir,pt._reglType=\"texture2d\",pt._texture=$e,Bi.profile&&(pt.stats=$e.stats),pt.destroy=function(){$e.decRef()},pt}function K(de,Ie,$e,pt,Kt,ir){var Jt=new ls(ua);Gl[Jt.id]=Jt,Oi.cubeCount++;var vt=new Array(6);function Pt(dr,pr,kr,Ar,gr,Cr){var cr,Gr=Jt.texInfo;for(El.call(Gr),cr=0;cr<6;++cr)vt[cr]=xs();if(typeof dr==\"number\"||!dr){var ei=dr|0||1;for(cr=0;cr<6;++cr)Po(vt[cr],ei,ei)}else if(typeof dr==\"object\")if(pr)Jo(vt[0],dr),Jo(vt[1],pr),Jo(vt[2],kr),Jo(vt[3],Ar),Jo(vt[4],gr),Jo(vt[5],Cr);else if(bc(Gr,dr),Aa(Jt,dr),\"faces\"in dr){var yi=dr.faces;for(cr=0;cr<6;++cr)vn(vt[cr],Jt),Jo(vt[cr],yi[cr])}else for(cr=0;cr<6;++cr)Jo(vt[cr],dr);for(vn(Jt,vt[0]),Gr.genMipmaps?Jt.mipmask=(vt[0].width<<1)-1:Jt.mipmask=vt[0].mipmask,Jt.internalformat=vt[0].internalformat,Pt.width=vt[0].width,Pt.height=vt[0].height,_f(Jt),cr=0;cr<6;++cr)Yl(vt[cr],Fn+cr);for(wc(Gr,ua),ns(),Bi.profile&&(Jt.stats.size=Wc(Jt.internalformat,Jt.type,Pt.width,Pt.height,Gr.genMipmaps,!0)),Pt.format=Ln[Jt.internalformat],Pt.type=Un[Jt.type],Pt.mag=gn[Gr.magFilter],Pt.min=ca[Gr.minFilter],Pt.wrapS=Kn[Gr.wrapS],Pt.wrapT=Kn[Gr.wrapT],cr=0;cr<6;++cr)Qc(vt[cr]);return Pt}function Wt(dr,pr,kr,Ar,gr){var Cr=kr|0,cr=Ar|0,Gr=gr|0,ei=Jn();return vn(ei,Jt),ei.width=0,ei.height=0,Vn(ei,pr),ei.width=ei.width||(Jt.width>>Gr)-Cr,ei.height=ei.height||(Jt.height>>Gr)-cr,_f(Jt),ro(ei,Fn+dr,Cr,cr,Gr),ns(),Oa(ei),Pt}function rr(dr){var pr=dr|0;if(pr!==Jt.width){Pt.width=Jt.width=pr,Pt.height=Jt.height=pr,_f(Jt);for(var kr=0;kr<6;++kr)for(var Ar=0;Jt.mipmask>>Ar;++Ar)At.texImage2D(Fn+kr,Ar,Jt.format,pr>>Ar,pr>>Ar,0,Jt.format,Jt.type,null);return ns(),Bi.profile&&(Jt.stats.size=Wc(Jt.internalformat,Jt.type,Pt.width,Pt.height,!1,!0)),Pt}}return Pt(de,Ie,$e,pt,Kt,ir),Pt.subimage=Wt,Pt.resize=rr,Pt._reglType=\"textureCube\",Pt._texture=Jt,Bi.profile&&(Pt.stats=Jt.stats),Pt.destroy=function(){Jt.decRef()},Pt}function O(){for(var de=0;de<Fc;++de)At.activeTexture(Cc+de),At.bindTexture(Ji,null),ef[de]=null;ut(Gl).forEach(Y),Oi.cubeCount=0,Oi.textureCount=0}Bi.profile&&(Oi.getTotalTextureSize=function(){var de=0;return Object.keys(Gl).forEach(function(Ie){de+=Gl[Ie].stats.size}),de});function $(){for(var de=0;de<Fc;++de){var Ie=ef[de];Ie&&(Ie.bindCount=0,Ie.unit=-1,ef[de]=null)}ut(Gl).forEach(function($e){$e.texture=At.createTexture(),At.bindTexture($e.target,$e.texture);for(var pt=0;pt<32;++pt)if($e.mipmask&1<<pt)if($e.target===Ji)At.texImage2D(Ji,pt,$e.internalformat,$e.width>>pt,$e.height>>pt,0,$e.internalformat,$e.type,null);else for(var Kt=0;Kt<6;++Kt)At.texImage2D(Fn+Kt,pt,$e.internalformat,$e.width>>pt,$e.height>>pt,0,$e.internalformat,$e.type,null);wc($e.texInfo,$e.target)})}function pe(){for(var de=0;de<Fc;++de){var Ie=ef[de];Ie&&(Ie.bindCount=0,Ie.unit=-1,ef[de]=null),At.activeTexture(Cc+de),At.bindTexture(Ji,null),At.bindTexture(ua,null)}}return{create2D:z,createCube:K,clear:O,getTexture:function(de){return null},restore:$,refresh:pe}}var Cu=36161,Nf=32854,Zc=32855,ds=36194,Ch=33189,Bd=36168,Jh=34041,Cf=35907,pd=34836,Lu=34842,$h=34843,tu=[];tu[Nf]=2,tu[Zc]=2,tu[ds]=2,tu[Ch]=2,tu[Bd]=1,tu[Jh]=4,tu[Cf]=4,tu[pd]=16,tu[Lu]=8,tu[$h]=6;function Pu(At,Er,Wr){return tu[At]*Er*Wr}var Lc=function(At,Er,Wr,wi,Ui){var Oi={rgba4:Nf,rgb565:ds,\"rgb5 a1\":Zc,depth:Ch,stencil:Bd,\"depth stencil\":Jh};Er.ext_srgb&&(Oi.srgba=Cf),Er.ext_color_buffer_half_float&&(Oi.rgba16f=Lu,Oi.rgb16f=$h),Er.webgl_color_buffer_float&&(Oi.rgba32f=pd);var Bi=[];Object.keys(Oi).forEach(function(Dn){var fn=Oi[Dn];Bi[fn]=Dn});var cn=0,On={};function Bn(Dn){this.id=cn++,this.refCount=1,this.renderbuffer=Dn,this.format=Nf,this.width=0,this.height=0,Ui.profile&&(this.stats={size:0})}Bn.prototype.decRef=function(){--this.refCount<=0&&yn(this)};function yn(Dn){var fn=Dn.renderbuffer;At.bindRenderbuffer(Cu,null),At.deleteRenderbuffer(fn),Dn.renderbuffer=null,Dn.refCount=0,delete On[Dn.id],wi.renderbufferCount--}function to(Dn,fn){var Ai=new Bn(At.createRenderbuffer());On[Ai.id]=Ai,wi.renderbufferCount++;function ji(Un,gn){var ca=0,Kn=0,Za=Nf;if(typeof Un==\"object\"&&Un){var wn=Un;if(\"shape\"in wn){var vn=wn.shape;ca=vn[0]|0,Kn=vn[1]|0}else\"radius\"in wn&&(ca=Kn=wn.radius|0),\"width\"in wn&&(ca=wn.width|0),\"height\"in wn&&(Kn=wn.height|0);\"format\"in wn&&(Za=Oi[wn.format])}else typeof Un==\"number\"?(ca=Un|0,typeof gn==\"number\"?Kn=gn|0:Kn=ca):Un||(ca=Kn=1);if(!(ca===Ai.width&&Kn===Ai.height&&Za===Ai.format))return ji.width=Ai.width=ca,ji.height=Ai.height=Kn,Ai.format=Za,At.bindRenderbuffer(Cu,Ai.renderbuffer),At.renderbufferStorage(Cu,Za,ca,Kn),Ui.profile&&(Ai.stats.size=Pu(Ai.format,Ai.width,Ai.height)),ji.format=Bi[Ai.format],ji}function Ln(Un,gn){var ca=Un|0,Kn=gn|0||ca;return ca===Ai.width&&Kn===Ai.height||(ji.width=Ai.width=ca,ji.height=Ai.height=Kn,At.bindRenderbuffer(Cu,Ai.renderbuffer),At.renderbufferStorage(Cu,Ai.format,ca,Kn),Ui.profile&&(Ai.stats.size=Pu(Ai.format,Ai.width,Ai.height))),ji}return ji(Dn,fn),ji.resize=Ln,ji._reglType=\"renderbuffer\",ji._renderbuffer=Ai,Ui.profile&&(ji.stats=Ai.stats),ji.destroy=function(){Ai.decRef()},ji}Ui.profile&&(wi.getTotalRenderbufferSize=function(){var Dn=0;return Object.keys(On).forEach(function(fn){Dn+=On[fn].stats.size}),Dn});function Rn(){ut(On).forEach(function(Dn){Dn.renderbuffer=At.createRenderbuffer(),At.bindRenderbuffer(Cu,Dn.renderbuffer),At.renderbufferStorage(Cu,Dn.format,Dn.width,Dn.height)}),At.bindRenderbuffer(Cu,null)}return{create:to,clear:function(){ut(On).forEach(yn)},restore:Rn}},fl=36160,Xc=36161,ic=3553,yu=34069,Qs=36064,Qh=36096,gd=36128,Gu=33306,Pc=36053,vc=36193,sv=5121,Lf=5126,Uf=6407,Iu=6408,oh=[];oh[Iu]=4,oh[Uf]=3;var ru=[];ru[sv]=1,ru[Lf]=4,ru[vc]=2;function vf(At,Er,Wr,wi,Ui,Oi){var Bi={cur:null,next:null,dirty:!1,setFBO:null},cn=[\"rgba\"],On=[\"rgba4\",\"rgb565\",\"rgb5 a1\"];Er.ext_srgb&&On.push(\"srgba\"),Er.ext_color_buffer_half_float&&On.push(\"rgba16f\",\"rgb16f\"),Er.webgl_color_buffer_float&&On.push(\"rgba32f\");var Bn=[\"uint8\"];Er.oes_texture_half_float&&Bn.push(\"half float\",\"float16\"),Er.oes_texture_float&&Bn.push(\"float\",\"float32\");function yn(Xn,Vn,ma){this.target=Xn,this.texture=Vn,this.renderbuffer=ma;var ro=0,Ao=0;Vn?(ro=Vn.width,Ao=Vn.height):ma&&(ro=ma.width,Ao=ma.height),this.width=ro,this.height=Ao}function to(Xn){Xn&&(Xn.texture&&Xn.texture._texture.decRef(),Xn.renderbuffer&&Xn.renderbuffer._renderbuffer.decRef())}function Rn(Xn,Vn,ma){if(Xn)if(Xn.texture){var ro=Xn.texture._texture,Ao=Math.max(1,ro.width),Jn=Math.max(1,ro.height);ro.refCount+=1}else{var Oa=Xn.renderbuffer._renderbuffer;Oa.refCount+=1}}function Dn(Xn,Vn){Vn&&(Vn.texture?At.framebufferTexture2D(fl,Xn,Vn.target,Vn.texture._texture.texture,0):At.framebufferRenderbuffer(fl,Xn,Xc,Vn.renderbuffer._renderbuffer.renderbuffer))}function fn(Xn){var Vn=ic,ma=null,ro=null,Ao=Xn;typeof Xn==\"object\"&&(Ao=Xn.data,\"target\"in Xn&&(Vn=Xn.target|0));var Jn=Ao._reglType;return Jn===\"texture2d\"||Jn===\"textureCube\"?ma=Ao:Jn===\"renderbuffer\"&&(ro=Ao,Vn=Xc),new yn(Vn,ma,ro)}function Ai(Xn,Vn,ma,ro,Ao){if(ma){var Jn=wi.create2D({width:Xn,height:Vn,format:ro,type:Ao});return Jn._texture.refCount=0,new yn(ic,Jn,null)}else{var Oa=Ui.create({width:Xn,height:Vn,format:ro});return Oa._renderbuffer.refCount=0,new yn(Xc,null,Oa)}}function ji(Xn){return Xn&&(Xn.texture||Xn.renderbuffer)}function Ln(Xn,Vn,ma){Xn&&(Xn.texture?Xn.texture.resize(Vn,ma):Xn.renderbuffer&&Xn.renderbuffer.resize(Vn,ma),Xn.width=Vn,Xn.height=ma)}var Un=0,gn={};function ca(){this.id=Un++,gn[this.id]=this,this.framebuffer=At.createFramebuffer(),this.width=0,this.height=0,this.colorAttachments=[],this.depthAttachment=null,this.stencilAttachment=null,this.depthStencilAttachment=null}function Kn(Xn){Xn.colorAttachments.forEach(to),to(Xn.depthAttachment),to(Xn.stencilAttachment),to(Xn.depthStencilAttachment)}function Za(Xn){var Vn=Xn.framebuffer;At.deleteFramebuffer(Vn),Xn.framebuffer=null,Oi.framebufferCount--,delete gn[Xn.id]}function wn(Xn){var Vn;At.bindFramebuffer(fl,Xn.framebuffer);var ma=Xn.colorAttachments;for(Vn=0;Vn<ma.length;++Vn)Dn(Qs+Vn,ma[Vn]);for(Vn=ma.length;Vn<Wr.maxColorAttachments;++Vn)At.framebufferTexture2D(fl,Qs+Vn,ic,null,0);At.framebufferTexture2D(fl,Gu,ic,null,0),At.framebufferTexture2D(fl,Qh,ic,null,0),At.framebufferTexture2D(fl,gd,ic,null,0),Dn(Qh,Xn.depthAttachment),Dn(gd,Xn.stencilAttachment),Dn(Gu,Xn.depthStencilAttachment);var ro=At.checkFramebufferStatus(fl);At.isContextLost(),At.bindFramebuffer(fl,Bi.next?Bi.next.framebuffer:null),Bi.cur=Bi.next,At.getError()}function vn(Xn,Vn){var ma=new ca;Oi.framebufferCount++;function ro(Jn,Oa){var _o,Po=0,Jo=0,Yl=!0,$c=!0,xs=null,Qc=!0,El=\"rgba\",bc=\"uint8\",wc=1,yf=null,Gl=null,Fc=null,ef=!1;if(typeof Jn==\"number\")Po=Jn|0,Jo=Oa|0||Po;else if(!Jn)Po=Jo=1;else{var ls=Jn;if(\"shape\"in ls){var _f=ls.shape;Po=_f[0],Jo=_f[1]}else\"radius\"in ls&&(Po=Jo=ls.radius),\"width\"in ls&&(Po=ls.width),\"height\"in ls&&(Jo=ls.height);(\"color\"in ls||\"colors\"in ls)&&(xs=ls.color||ls.colors,Array.isArray(xs)),xs||(\"colorCount\"in ls&&(wc=ls.colorCount|0),\"colorTexture\"in ls&&(Qc=!!ls.colorTexture,El=\"rgba4\"),\"colorType\"in ls&&(bc=ls.colorType,Qc||(bc===\"half float\"||bc===\"float16\"?El=\"rgba16f\":(bc===\"float\"||bc===\"float32\")&&(El=\"rgba32f\"))),\"colorFormat\"in ls&&(El=ls.colorFormat,cn.indexOf(El)>=0?Qc=!0:On.indexOf(El)>=0&&(Qc=!1))),(\"depthTexture\"in ls||\"depthStencilTexture\"in ls)&&(ef=!!(ls.depthTexture||ls.depthStencilTexture)),\"depth\"in ls&&(typeof ls.depth==\"boolean\"?Yl=ls.depth:(yf=ls.depth,$c=!1)),\"stencil\"in ls&&(typeof ls.stencil==\"boolean\"?$c=ls.stencil:(Gl=ls.stencil,Yl=!1)),\"depthStencil\"in ls&&(typeof ls.depthStencil==\"boolean\"?Yl=$c=ls.depthStencil:(Fc=ls.depthStencil,Yl=!1,$c=!1))}var ns=null,Y=null,z=null,K=null;if(Array.isArray(xs))ns=xs.map(fn);else if(xs)ns=[fn(xs)];else for(ns=new Array(wc),_o=0;_o<wc;++_o)ns[_o]=Ai(Po,Jo,Qc,El,bc);Po=Po||ns[0].width,Jo=Jo||ns[0].height,yf?Y=fn(yf):Yl&&!$c&&(Y=Ai(Po,Jo,ef,\"depth\",\"uint32\")),Gl?z=fn(Gl):$c&&!Yl&&(z=Ai(Po,Jo,!1,\"stencil\",\"uint8\")),Fc?K=fn(Fc):!yf&&!Gl&&$c&&Yl&&(K=Ai(Po,Jo,ef,\"depth stencil\",\"depth stencil\"));var O=null;for(_o=0;_o<ns.length;++_o)if(Rn(ns[_o],Po,Jo),ns[_o]&&ns[_o].texture){var $=oh[ns[_o].texture._texture.format]*ru[ns[_o].texture._texture.type];O===null&&(O=$)}return Rn(Y,Po,Jo),Rn(z,Po,Jo),Rn(K,Po,Jo),Kn(ma),ma.width=Po,ma.height=Jo,ma.colorAttachments=ns,ma.depthAttachment=Y,ma.stencilAttachment=z,ma.depthStencilAttachment=K,ro.color=ns.map(ji),ro.depth=ji(Y),ro.stencil=ji(z),ro.depthStencil=ji(K),ro.width=ma.width,ro.height=ma.height,wn(ma),ro}function Ao(Jn,Oa){var _o=Math.max(Jn|0,1),Po=Math.max(Oa|0||_o,1);if(_o===ma.width&&Po===ma.height)return ro;for(var Jo=ma.colorAttachments,Yl=0;Yl<Jo.length;++Yl)Ln(Jo[Yl],_o,Po);return Ln(ma.depthAttachment,_o,Po),Ln(ma.stencilAttachment,_o,Po),Ln(ma.depthStencilAttachment,_o,Po),ma.width=ro.width=_o,ma.height=ro.height=Po,wn(ma),ro}return ro(Xn,Vn),e(ro,{resize:Ao,_reglType:\"framebuffer\",_framebuffer:ma,destroy:function(){Za(ma),Kn(ma)},use:function(Jn){Bi.setFBO({framebuffer:ro},Jn)}})}function Aa(Xn){var Vn=Array(6);function ma(Ao){var Jn,Oa={color:null},_o=0,Po=null,Jo=\"rgba\",Yl=\"uint8\",$c=1;if(typeof Ao==\"number\")_o=Ao|0;else if(!Ao)_o=1;else{var xs=Ao;if(\"shape\"in xs){var Qc=xs.shape;_o=Qc[0]}else\"radius\"in xs&&(_o=xs.radius|0),\"width\"in xs?(_o=xs.width|0,\"height\"in xs):\"height\"in xs&&(_o=xs.height|0);(\"color\"in xs||\"colors\"in xs)&&(Po=xs.color||xs.colors,Array.isArray(Po)),Po||(\"colorCount\"in xs&&($c=xs.colorCount|0),\"colorType\"in xs&&(Yl=xs.colorType),\"colorFormat\"in xs&&(Jo=xs.colorFormat)),\"depth\"in xs&&(Oa.depth=xs.depth),\"stencil\"in xs&&(Oa.stencil=xs.stencil),\"depthStencil\"in xs&&(Oa.depthStencil=xs.depthStencil)}var El;if(Po)if(Array.isArray(Po))for(El=[],Jn=0;Jn<Po.length;++Jn)El[Jn]=Po[Jn];else El=[Po];else{El=Array($c);var bc={radius:_o,format:Jo,type:Yl};for(Jn=0;Jn<$c;++Jn)El[Jn]=wi.createCube(bc)}for(Oa.color=Array(El.length),Jn=0;Jn<El.length;++Jn){var wc=El[Jn];_o=_o||wc.width,Oa.color[Jn]={target:yu,data:El[Jn]}}for(Jn=0;Jn<6;++Jn){for(var yf=0;yf<El.length;++yf)Oa.color[yf].target=yu+Jn;Jn>0&&(Oa.depth=Vn[0].depth,Oa.stencil=Vn[0].stencil,Oa.depthStencil=Vn[0].depthStencil),Vn[Jn]?Vn[Jn](Oa):Vn[Jn]=vn(Oa)}return e(ma,{width:_o,height:_o,color:El})}function ro(Ao){var Jn,Oa=Ao|0;if(Oa===ma.width)return ma;var _o=ma.color;for(Jn=0;Jn<_o.length;++Jn)_o[Jn].resize(Oa);for(Jn=0;Jn<6;++Jn)Vn[Jn].resize(Oa);return ma.width=ma.height=Oa,ma}return ma(Xn),e(ma,{faces:Vn,resize:ro,_reglType:\"framebufferCube\",destroy:function(){Vn.forEach(function(Ao){Ao.destroy()})}})}function aa(){Bi.cur=null,Bi.next=null,Bi.dirty=!0,ut(gn).forEach(function(Xn){Xn.framebuffer=At.createFramebuffer(),wn(Xn)})}return e(Bi,{getFramebuffer:function(Xn){if(typeof Xn==\"function\"&&Xn._reglType===\"framebuffer\"){var Vn=Xn._framebuffer;if(Vn instanceof ca)return Vn}return null},create:vn,createCube:Aa,clear:function(){ut(gn).forEach(Za)},restore:aa})}var md=5126,sh=34962,Fs=34963;function _u(){this.state=0,this.x=0,this.y=0,this.z=0,this.w=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=md,this.offset=0,this.stride=0,this.divisor=0}function xu(At,Er,Wr,wi,Ui,Oi,Bi){for(var cn=Wr.maxAttributes,On=new Array(cn),Bn=0;Bn<cn;++Bn)On[Bn]=new _u;var yn=0,to={},Rn={Record:_u,scope:{},state:On,currentVAO:null,targetVAO:null,restore:fn()?Kn:function(){},createVAO:Za,getVAO:ji,destroyBuffer:Dn,setVAO:fn()?Ln:Un,clear:fn()?gn:function(){}};function Dn(wn){for(var vn=0;vn<On.length;++vn){var Aa=On[vn];Aa.buffer===wn&&(At.disableVertexAttribArray(vn),Aa.buffer=null)}}function fn(){return Er.oes_vertex_array_object}function Ai(){return Er.angle_instanced_arrays}function ji(wn){return typeof wn==\"function\"&&wn._vao?wn._vao:null}function Ln(wn){if(wn!==Rn.currentVAO){var vn=fn();wn?vn.bindVertexArrayOES(wn.vao):vn.bindVertexArrayOES(null),Rn.currentVAO=wn}}function Un(wn){if(wn!==Rn.currentVAO){if(wn)wn.bindAttrs();else{for(var vn=Ai(),Aa=0;Aa<On.length;++Aa){var aa=On[Aa];aa.buffer?(At.enableVertexAttribArray(Aa),aa.buffer.bind(),At.vertexAttribPointer(Aa,aa.size,aa.type,aa.normalized,aa.stride,aa.offfset),vn&&aa.divisor&&vn.vertexAttribDivisorANGLE(Aa,aa.divisor)):(At.disableVertexAttribArray(Aa),At.vertexAttrib4f(Aa,aa.x,aa.y,aa.z,aa.w))}Bi.elements?At.bindBuffer(Fs,Bi.elements.buffer.buffer):At.bindBuffer(Fs,null)}Rn.currentVAO=wn}}function gn(){ut(to).forEach(function(wn){wn.destroy()})}function ca(){this.id=++yn,this.attributes=[],this.elements=null,this.ownsElements=!1,this.count=0,this.offset=0,this.instances=-1,this.primitive=4;var wn=fn();wn?this.vao=wn.createVertexArrayOES():this.vao=null,to[this.id]=this,this.buffers=[]}ca.prototype.bindAttrs=function(){for(var wn=Ai(),vn=this.attributes,Aa=0;Aa<vn.length;++Aa){var aa=vn[Aa];aa.buffer?(At.enableVertexAttribArray(Aa),At.bindBuffer(sh,aa.buffer.buffer),At.vertexAttribPointer(Aa,aa.size,aa.type,aa.normalized,aa.stride,aa.offset),wn&&aa.divisor&&wn.vertexAttribDivisorANGLE(Aa,aa.divisor)):(At.disableVertexAttribArray(Aa),At.vertexAttrib4f(Aa,aa.x,aa.y,aa.z,aa.w))}for(var Xn=vn.length;Xn<cn;++Xn)At.disableVertexAttribArray(Xn);var Vn=Oi.getElements(this.elements);Vn?At.bindBuffer(Fs,Vn.buffer.buffer):At.bindBuffer(Fs,null)},ca.prototype.refresh=function(){var wn=fn();wn&&(wn.bindVertexArrayOES(this.vao),this.bindAttrs(),Rn.currentVAO=null,wn.bindVertexArrayOES(null))},ca.prototype.destroy=function(){if(this.vao){var wn=fn();this===Rn.currentVAO&&(Rn.currentVAO=null,wn.bindVertexArrayOES(null)),wn.deleteVertexArrayOES(this.vao),this.vao=null}this.ownsElements&&(this.elements.destroy(),this.elements=null,this.ownsElements=!1),to[this.id]&&(delete to[this.id],wi.vaoCount-=1)};function Kn(){var wn=fn();wn&&ut(to).forEach(function(vn){vn.refresh()})}function Za(wn){var vn=new ca;wi.vaoCount+=1;function Aa(aa){var Xn;if(Array.isArray(aa))Xn=aa,vn.elements&&vn.ownsElements&&vn.elements.destroy(),vn.elements=null,vn.ownsElements=!1,vn.offset=0,vn.count=0,vn.instances=-1,vn.primitive=4;else{if(aa.elements){var Vn=aa.elements;vn.ownsElements?typeof Vn==\"function\"&&Vn._reglType===\"elements\"?(vn.elements.destroy(),vn.ownsElements=!1):(vn.elements(Vn),vn.ownsElements=!1):Oi.getElements(aa.elements)?(vn.elements=aa.elements,vn.ownsElements=!1):(vn.elements=Oi.create(aa.elements),vn.ownsElements=!0)}else vn.elements=null,vn.ownsElements=!1;Xn=aa.attributes,vn.offset=0,vn.count=-1,vn.instances=-1,vn.primitive=4,vn.elements&&(vn.count=vn.elements._elements.vertCount,vn.primitive=vn.elements._elements.primType),\"offset\"in aa&&(vn.offset=aa.offset|0),\"count\"in aa&&(vn.count=aa.count|0),\"instances\"in aa&&(vn.instances=aa.instances|0),\"primitive\"in aa&&(vn.primitive=Ki[aa.primitive])}var ma={},ro=vn.attributes;ro.length=Xn.length;for(var Ao=0;Ao<Xn.length;++Ao){var Jn=Xn[Ao],Oa=ro[Ao]=new _u,_o=Jn.data||Jn;if(Array.isArray(_o)||Or(_o)||Nr(_o)){var Po;vn.buffers[Ao]&&(Po=vn.buffers[Ao],Or(_o)&&Po._buffer.byteLength>=_o.byteLength?Po.subdata(_o):(Po.destroy(),vn.buffers[Ao]=null)),vn.buffers[Ao]||(Po=vn.buffers[Ao]=Ui.create(Jn,sh,!1,!0)),Oa.buffer=Ui.getBuffer(Po),Oa.size=Oa.buffer.dimension|0,Oa.normalized=!1,Oa.type=Oa.buffer.dtype,Oa.offset=0,Oa.stride=0,Oa.divisor=0,Oa.state=1,ma[Ao]=1}else Ui.getBuffer(Jn)?(Oa.buffer=Ui.getBuffer(Jn),Oa.size=Oa.buffer.dimension|0,Oa.normalized=!1,Oa.type=Oa.buffer.dtype,Oa.offset=0,Oa.stride=0,Oa.divisor=0,Oa.state=1):Ui.getBuffer(Jn.buffer)?(Oa.buffer=Ui.getBuffer(Jn.buffer),Oa.size=(+Jn.size||Oa.buffer.dimension)|0,Oa.normalized=!!Jn.normalized||!1,\"type\"in Jn?Oa.type=bi[Jn.type]:Oa.type=Oa.buffer.dtype,Oa.offset=(Jn.offset||0)|0,Oa.stride=(Jn.stride||0)|0,Oa.divisor=(Jn.divisor||0)|0,Oa.state=1):\"x\"in Jn&&(Oa.x=+Jn.x||0,Oa.y=+Jn.y||0,Oa.z=+Jn.z||0,Oa.w=+Jn.w||0,Oa.state=2)}for(var Jo=0;Jo<vn.buffers.length;++Jo)!ma[Jo]&&vn.buffers[Jo]&&(vn.buffers[Jo].destroy(),vn.buffers[Jo]=null);return vn.refresh(),Aa}return Aa.destroy=function(){for(var aa=0;aa<vn.buffers.length;++aa)vn.buffers[aa]&&vn.buffers[aa].destroy();vn.buffers.length=0,vn.ownsElements&&(vn.elements.destroy(),vn.elements=null,vn.ownsElements=!1),vn.destroy()},Aa._vao=vn,Aa._reglType=\"vao\",Aa(wn)}return Rn}var Lh=35632,Is=35633,Pf=35718,Ic=35721;function ju(At,Er,Wr,wi){var Ui={},Oi={};function Bi(Ai,ji,Ln,Un){this.name=Ai,this.id=ji,this.location=Ln,this.info=Un}function cn(Ai,ji){for(var Ln=0;Ln<Ai.length;++Ln)if(Ai[Ln].id===ji.id){Ai[Ln].location=ji.location;return}Ai.push(ji)}function On(Ai,ji,Ln){var Un=Ai===Lh?Ui:Oi,gn=Un[ji];if(!gn){var ca=Er.str(ji);gn=At.createShader(Ai),At.shaderSource(gn,ca),At.compileShader(gn),Un[ji]=gn}return gn}var Bn={},yn=[],to=0;function Rn(Ai,ji){this.id=to++,this.fragId=Ai,this.vertId=ji,this.program=null,this.uniforms=[],this.attributes=[],this.refCount=1,wi.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function Dn(Ai,ji,Ln){var Un,gn,ca=On(Lh,Ai.fragId),Kn=On(Is,Ai.vertId),Za=Ai.program=At.createProgram();if(At.attachShader(Za,ca),At.attachShader(Za,Kn),Ln)for(Un=0;Un<Ln.length;++Un){var wn=Ln[Un];At.bindAttribLocation(Za,wn[0],wn[1])}At.linkProgram(Za);var vn=At.getProgramParameter(Za,Pf);wi.profile&&(Ai.stats.uniformsCount=vn);var Aa=Ai.uniforms;for(Un=0;Un<vn;++Un)if(gn=At.getActiveUniform(Za,Un),gn)if(gn.size>1)for(var aa=0;aa<gn.size;++aa){var Xn=gn.name.replace(\"[0]\",\"[\"+aa+\"]\");cn(Aa,new Bi(Xn,Er.id(Xn),At.getUniformLocation(Za,Xn),gn))}else cn(Aa,new Bi(gn.name,Er.id(gn.name),At.getUniformLocation(Za,gn.name),gn));var Vn=At.getProgramParameter(Za,Ic);wi.profile&&(Ai.stats.attributesCount=Vn);var ma=Ai.attributes;for(Un=0;Un<Vn;++Un)gn=At.getActiveAttrib(Za,Un),gn&&cn(ma,new Bi(gn.name,Er.id(gn.name),At.getAttribLocation(Za,gn.name),gn))}wi.profile&&(Wr.getMaxUniformsCount=function(){var Ai=0;return yn.forEach(function(ji){ji.stats.uniformsCount>Ai&&(Ai=ji.stats.uniformsCount)}),Ai},Wr.getMaxAttributesCount=function(){var Ai=0;return yn.forEach(function(ji){ji.stats.attributesCount>Ai&&(Ai=ji.stats.attributesCount)}),Ai});function fn(){Ui={},Oi={};for(var Ai=0;Ai<yn.length;++Ai)Dn(yn[Ai],null,yn[Ai].attributes.map(function(ji){return[ji.location,ji.name]}))}return{clear:function(){var Ai=At.deleteShader.bind(At);ut(Ui).forEach(Ai),Ui={},ut(Oi).forEach(Ai),Oi={},yn.forEach(function(ji){At.deleteProgram(ji.program)}),yn.length=0,Bn={},Wr.shaderCount=0},program:function(Ai,ji,Ln,Un){var gn=Bn[ji];gn||(gn=Bn[ji]={});var ca=gn[Ai];if(ca&&(ca.refCount++,!Un))return ca;var Kn=new Rn(ji,Ai);return Wr.shaderCount++,Dn(Kn,Ln,Un),ca||(gn[Ai]=Kn),yn.push(Kn),e(Kn,{destroy:function(){if(Kn.refCount--,Kn.refCount<=0){At.deleteProgram(Kn.program);var Za=yn.indexOf(Kn);yn.splice(Za,1),Wr.shaderCount--}gn[Kn.vertId].refCount<=0&&(At.deleteShader(Oi[Kn.vertId]),delete Oi[Kn.vertId],delete Bn[Kn.fragId][Kn.vertId]),Object.keys(Bn[Kn.fragId]).length||(At.deleteShader(Ui[Kn.fragId]),delete Ui[Kn.fragId],delete Bn[Kn.fragId])}})},restore:fn,shader:On,frag:-1,vert:-1}}var Vf=6408,pc=5121,pf=3333,Ph=5126;function Dl(At,Er,Wr,wi,Ui,Oi,Bi){function cn(yn){var to;Er.next===null?to=pc:to=Er.next.colorAttachments[0].texture._texture.type;var Rn=0,Dn=0,fn=wi.framebufferWidth,Ai=wi.framebufferHeight,ji=null;Or(yn)?ji=yn:yn&&(Rn=yn.x|0,Dn=yn.y|0,fn=(yn.width||wi.framebufferWidth-Rn)|0,Ai=(yn.height||wi.framebufferHeight-Dn)|0,ji=yn.data||null),Wr();var Ln=fn*Ai*4;return ji||(to===pc?ji=new Uint8Array(Ln):to===Ph&&(ji=ji||new Float32Array(Ln))),At.pixelStorei(pf,4),At.readPixels(Rn,Dn,fn,Ai,Vf,to,ji),ji}function On(yn){var to;return Er.setFBO({framebuffer:yn.framebuffer},function(){to=cn(yn)}),to}function Bn(yn){return!yn||!(\"framebuffer\"in yn)?cn(yn):On(yn)}return Bn}var Ih=0,Wu=\"\";function Rc(At){return iu(gc(nc(At)))}function gc(At){return gt(Ti(gf(At),At.length*8))}function hl(At,Er){var Wr=gf(At);Wr.length>16&&(Wr=Ti(Wr,At.length*8));for(var wi=Array(16),Ui=Array(16),Oi=0;Oi<16;Oi++)wi[Oi]=Wr[Oi]^909522486,Ui[Oi]=Wr[Oi]^1549556828;var Bi=Ti(wi.concat(gf(Er)),512+Er.length*8);return gt(Ti(Ui.concat(Bi),768))}function iu(At){for(var Er=Ih?\"0123456789ABCDEF\":\"0123456789abcdef\",Wr=\"\",wi,Ui=0;Ui<At.length;Ui++)wi=At.charCodeAt(Ui),Wr+=Er.charAt(wi>>>4&15)+Er.charAt(wi&15);return Wr}function mc(At){for(var Er=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",Wr=\"\",wi=At.length,Ui=0;Ui<wi;Ui+=3)for(var Oi=At.charCodeAt(Ui)<<16|(Ui+1<wi?At.charCodeAt(Ui+1)<<8:0)|(Ui+2<wi?At.charCodeAt(Ui+2):0),Bi=0;Bi<4;Bi++)Ui*8+Bi*6>At.length*8?Wr+=Wu:Wr+=Er.charAt(Oi>>>6*(3-Bi)&63);return Wr}function Yc(At,Er){var Wr=Er.length,wi=Array(),Ui,Oi,Bi,cn,On=Array(Math.ceil(At.length/2));for(Ui=0;Ui<On.length;Ui++)On[Ui]=At.charCodeAt(Ui*2)<<8|At.charCodeAt(Ui*2+1);for(;On.length>0;){for(cn=Array(),Bi=0,Ui=0;Ui<On.length;Ui++)Bi=(Bi<<16)+On[Ui],Oi=Math.floor(Bi/Wr),Bi-=Oi*Wr,(cn.length>0||Oi>0)&&(cn[cn.length]=Oi);wi[wi.length]=Bi,On=cn}var Bn=\"\";for(Ui=wi.length-1;Ui>=0;Ui--)Bn+=Er.charAt(wi[Ui]);var yn=Math.ceil(At.length*8/(Math.log(Er.length)/Math.log(2)));for(Ui=Bn.length;Ui<yn;Ui++)Bn=Er[0]+Bn;return Bn}function nc(At){for(var Er=\"\",Wr=-1,wi,Ui;++Wr<At.length;)wi=At.charCodeAt(Wr),Ui=Wr+1<At.length?At.charCodeAt(Wr+1):0,55296<=wi&&wi<=56319&&56320<=Ui&&Ui<=57343&&(wi=65536+((wi&1023)<<10)+(Ui&1023),Wr++),wi<=127?Er+=String.fromCharCode(wi):wi<=2047?Er+=String.fromCharCode(192|wi>>>6&31,128|wi&63):wi<=65535?Er+=String.fromCharCode(224|wi>>>12&15,128|wi>>>6&63,128|wi&63):wi<=2097151&&(Er+=String.fromCharCode(240|wi>>>18&7,128|wi>>>12&63,128|wi>>>6&63,128|wi&63));return Er}function gf(At){for(var Er=Array(At.length>>2),Wr=0;Wr<Er.length;Wr++)Er[Wr]=0;for(var Wr=0;Wr<At.length*8;Wr+=8)Er[Wr>>5]|=(At.charCodeAt(Wr/8)&255)<<24-Wr%32;return Er}function gt(At){for(var Er=\"\",Wr=0;Wr<At.length*32;Wr+=8)Er+=String.fromCharCode(At[Wr>>5]>>>24-Wr%32&255);return Er}function Bt(At,Er){return At>>>Er|At<<32-Er}function wr(At,Er){return At>>>Er}function vr(At,Er,Wr){return At&Er^~At&Wr}function Ur(At,Er,Wr){return At&Er^At&Wr^Er&Wr}function fi(At){return Bt(At,2)^Bt(At,13)^Bt(At,22)}function xi(At){return Bt(At,6)^Bt(At,11)^Bt(At,25)}function Fi(At){return Bt(At,7)^Bt(At,18)^wr(At,3)}function Xi(At){return Bt(At,17)^Bt(At,19)^wr(At,10)}var hn=new Array(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);function Ti(At,Er){var Wr=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),wi=new Array(64),Ui,Oi,Bi,cn,On,Bn,yn,to,Rn,Dn,fn,Ai;for(At[Er>>5]|=128<<24-Er%32,At[(Er+64>>9<<4)+15]=Er,Rn=0;Rn<At.length;Rn+=16){for(Ui=Wr[0],Oi=Wr[1],Bi=Wr[2],cn=Wr[3],On=Wr[4],Bn=Wr[5],yn=Wr[6],to=Wr[7],Dn=0;Dn<64;Dn++)Dn<16?wi[Dn]=At[Dn+Rn]:wi[Dn]=qi(qi(qi(Xi(wi[Dn-2]),wi[Dn-7]),Fi(wi[Dn-15])),wi[Dn-16]),fn=qi(qi(qi(qi(to,xi(On)),vr(On,Bn,yn)),hn[Dn]),wi[Dn]),Ai=qi(fi(Ui),Ur(Ui,Oi,Bi)),to=yn,yn=Bn,Bn=On,On=qi(cn,fn),cn=Bi,Bi=Oi,Oi=Ui,Ui=qi(fn,Ai);Wr[0]=qi(Ui,Wr[0]),Wr[1]=qi(Oi,Wr[1]),Wr[2]=qi(Bi,Wr[2]),Wr[3]=qi(cn,Wr[3]),Wr[4]=qi(On,Wr[4]),Wr[5]=qi(Bn,Wr[5]),Wr[6]=qi(yn,Wr[6]),Wr[7]=qi(to,Wr[7])}return Wr}function qi(At,Er){var Wr=(At&65535)+(Er&65535),wi=(At>>16)+(Er>>16)+(Wr>>16);return wi<<16|Wr&65535}function Ii(At){return Array.prototype.slice.call(At)}function mi(At){return Ii(At).join(\"\")}function Pn(At){var Er=At&&At.cache,Wr=0,wi=[],Ui=[],Oi=[];function Bi(fn,Ai){var ji=Ai&&Ai.stable;if(!ji){for(var Ln=0;Ln<Ui.length;++Ln)if(Ui[Ln]===fn&&!Oi[Ln])return wi[Ln]}var Un=\"g\"+Wr++;return wi.push(Un),Ui.push(fn),Oi.push(ji),Un}function cn(){var fn=[];function Ai(){fn.push.apply(fn,Ii(arguments))}var ji=[];function Ln(){var Un=\"v\"+Wr++;return ji.push(Un),arguments.length>0&&(fn.push(Un,\"=\"),fn.push.apply(fn,Ii(arguments)),fn.push(\";\")),Un}return e(Ai,{def:Ln,toString:function(){return mi([ji.length>0?\"var \"+ji.join(\",\")+\";\":\"\",mi(fn)])}})}function On(){var fn=cn(),Ai=cn(),ji=fn.toString,Ln=Ai.toString;function Un(gn,ca){Ai(gn,ca,\"=\",fn.def(gn,ca),\";\")}return e(function(){fn.apply(fn,Ii(arguments))},{def:fn.def,entry:fn,exit:Ai,save:Un,set:function(gn,ca,Kn){Un(gn,ca),fn(gn,ca,\"=\",Kn,\";\")},toString:function(){return ji()+Ln()}})}function Bn(){var fn=mi(arguments),Ai=On(),ji=On(),Ln=Ai.toString,Un=ji.toString;return e(Ai,{then:function(){return Ai.apply(Ai,Ii(arguments)),this},else:function(){return ji.apply(ji,Ii(arguments)),this},toString:function(){var gn=Un();return gn&&(gn=\"else{\"+gn+\"}\"),mi([\"if(\",fn,\"){\",Ln(),\"}\",gn])}})}var yn=cn(),to={};function Rn(fn,Ai){var ji=[];function Ln(){var Za=\"a\"+ji.length;return ji.push(Za),Za}Ai=Ai||0;for(var Un=0;Un<Ai;++Un)Ln();var gn=On(),ca=gn.toString,Kn=to[fn]=e(gn,{arg:Ln,toString:function(){return mi([\"function(\",ji.join(),\"){\",ca(),\"}\"])}});return Kn}function Dn(){var fn=['\"use strict\";',yn,\"return {\"];Object.keys(to).forEach(function(Un){fn.push('\"',Un,'\":',to[Un].toString(),\",\")}),fn.push(\"}\");var Ai=mi(fn).replace(/;/g,`;\n", - "`).replace(/}/g,`}\n", - "`).replace(/{/g,`{\n", - "`),ji;if(Er&&(ji=Rc(Ai),Er[ji]))return Er[ji].apply(null,Ui);var Ln=Function.apply(null,wi.concat(Ai));return Er&&(Er[ji]=Ln),Ln.apply(null,Ui)}return{global:yn,link:Bi,block:cn,proc:Rn,scope:On,cond:Bn,compile:Dn}}var Ma=\"xyzw\".split(\"\"),Ta=5121,Ea=1,qa=2,Cn=0,sn=1,Ua=2,mo=3,Xo=4,Ts=5,Qo=6,ys=\"dither\",Bo=\"blend.enable\",yl=\"blend.color\",Gs=\"blend.equation\",Rs=\"blend.func\",ia=\"depth.enable\",Ka=\"depth.func\",vs=\"depth.range\",Ko=\"depth.mask\",nu=\"colorMask\",Ru=\"cull.enable\",ac=\"cull.face\",mf=\"frontFace\",bu=\"lineWidth\",Kc=\"polygonOffset.enable\",Du=\"polygonOffset.offset\",Dc=\"sample.alpha\",Da=\"sample.enable\",eo=\"sample.coverage\",Jc=\"stencil.enable\",yc=\"stencil.mask\",_c=\"stencil.func\",le=\"stencil.opFront\",w=\"stencil.opBack\",B=\"scissor.enable\",Q=\"scissor.box\",ee=\"viewport\",se=\"profile\",qe=\"framebuffer\",je=\"vert\",it=\"frag\",yt=\"elements\",Ot=\"primitive\",Nt=\"count\",hr=\"offset\",Sr=\"instances\",he=\"vao\",be=\"Width\",Pe=\"Height\",Oe=qe+be,Je=qe+Pe,He=ee+be,et=ee+Pe,Mt=\"drawingBuffer\",Dt=Mt+be,Ut=Mt+Pe,tr=[Rs,Gs,_c,le,w,eo,ee,Q,Du],mr=34962,Rr=34963,zr=2884,Xr=3042,di=3024,Li=2960,Ci=2929,Qi=3089,Mn=32823,pa=32926,ea=32928,Ga=5126,To=35664,Wa=35665,co=35666,Ro=5124,Ds=35667,As=35668,yo=35669,po=35670,_l=35671,Hl=35672,Zu=35673,cu=35674,el=35675,au=35676,zc=35678,zl=35680,Fl=4,Z=1028,oe=1029,we=2304,Be=2305,Ue=32775,We=32776,wt=519,tt=7680,zt=0,or=1,lr=32774,Dr=513,Ir=36160,oi=36064,ui={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},qr={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},Kr={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},ii={cw:we,ccw:Be};function vi(At){return Array.isArray(At)||Or(At)||Nr(At)}function ci(At){return At.sort(function(Er,Wr){return Er===ee?-1:Wr===ee?1:Er<Wr?-1:1})}function Jr(At,Er,Wr,wi){this.thisDep=At,this.contextDep=Er,this.propDep=Wr,this.append=wi}function un(At){return At&&!(At.thisDep||At.contextDep||At.propDep)}function dn(At){return new Jr(!1,!1,!1,At)}function En(At,Er){var Wr=At.type;if(Wr===Cn){var wi=At.data.length;return new Jr(!0,wi>=1,wi>=2,Er)}else if(Wr===Xo){var Ui=At.data;return new Jr(Ui.thisDep,Ui.contextDep,Ui.propDep,Er)}else{if(Wr===Ts)return new Jr(!1,!1,!1,Er);if(Wr===Qo){for(var Oi=!1,Bi=!1,cn=!1,On=0;On<At.data.length;++On){var Bn=At.data[On];if(Bn.type===sn)cn=!0;else if(Bn.type===Ua)Bi=!0;else if(Bn.type===mo)Oi=!0;else if(Bn.type===Cn){Oi=!0;var yn=Bn.data;yn>=1&&(Bi=!0),yn>=2&&(cn=!0)}else Bn.type===Xo&&(Oi=Oi||Bn.data.thisDep,Bi=Bi||Bn.data.contextDep,cn=cn||Bn.data.propDep)}return new Jr(Oi,Bi,cn,Er)}else return new Jr(Wr===mo,Wr===Ua,Wr===sn,Er)}}var Nn=new Jr(!1,!1,!1,function(){});function ga(At,Er,Wr,wi,Ui,Oi,Bi,cn,On,Bn,yn,to,Rn,Dn,fn,Ai){var ji=Bn.Record,Ln={add:32774,subtract:32778,\"reverse subtract\":32779};Wr.ext_blend_minmax&&(Ln.min=Ue,Ln.max=We);var Un=Wr.angle_instanced_arrays,gn=Wr.webgl_draw_buffers,ca=Wr.oes_vertex_array_object,Kn={dirty:!0,profile:Ai.profile},Za={},wn=[],vn={},Aa={};function aa(vt){return vt.replace(\".\",\"_\")}function Xn(vt,Pt,Wt){var rr=aa(vt);wn.push(vt),Za[rr]=Kn[rr]=!!Wt,vn[rr]=Pt}function Vn(vt,Pt,Wt){var rr=aa(vt);wn.push(vt),Array.isArray(Wt)?(Kn[rr]=Wt.slice(),Za[rr]=Wt.slice()):Kn[rr]=Za[rr]=Wt,Aa[rr]=Pt}function ma(vt){return!!isNaN(vt)}Xn(ys,di),Xn(Bo,Xr),Vn(yl,\"blendColor\",[0,0,0,0]),Vn(Gs,\"blendEquationSeparate\",[lr,lr]),Vn(Rs,\"blendFuncSeparate\",[or,zt,or,zt]),Xn(ia,Ci,!0),Vn(Ka,\"depthFunc\",Dr),Vn(vs,\"depthRange\",[0,1]),Vn(Ko,\"depthMask\",!0),Vn(nu,nu,[!0,!0,!0,!0]),Xn(Ru,zr),Vn(ac,\"cullFace\",oe),Vn(mf,mf,Be),Vn(bu,bu,1),Xn(Kc,Mn),Vn(Du,\"polygonOffset\",[0,0]),Xn(Dc,pa),Xn(Da,ea),Vn(eo,\"sampleCoverage\",[1,!1]),Xn(Jc,Li),Vn(yc,\"stencilMask\",-1),Vn(_c,\"stencilFunc\",[wt,0,-1]),Vn(le,\"stencilOpSeparate\",[Z,tt,tt,tt]),Vn(w,\"stencilOpSeparate\",[oe,tt,tt,tt]),Xn(B,Qi),Vn(Q,\"scissor\",[0,0,At.drawingBufferWidth,At.drawingBufferHeight]),Vn(ee,ee,[0,0,At.drawingBufferWidth,At.drawingBufferHeight]);var ro={gl:At,context:Rn,strings:Er,next:Za,current:Kn,draw:to,elements:Oi,buffer:Ui,shader:yn,attributes:Bn.state,vao:Bn,uniforms:On,framebuffer:cn,extensions:Wr,timer:Dn,isBufferArgs:vi},Ao={primTypes:Ki,compareFuncs:qr,blendFuncs:ui,blendEquations:Ln,stencilOps:Kr,glTypes:bi,orientationType:ii};gn&&(Ao.backBuffer=[oe],Ao.drawBuffer=M(wi.maxDrawbuffers,function(vt){return vt===0?[0]:M(vt,function(Pt){return oi+Pt})}));var Jn=0;function Oa(){var vt=Pn({cache:fn}),Pt=vt.link,Wt=vt.global;vt.id=Jn++,vt.batchId=\"0\";var rr=Pt(ro),dr=vt.shared={props:\"a0\"};Object.keys(ro).forEach(function(Cr){dr[Cr]=Wt.def(rr,\".\",Cr)});var pr=vt.next={},kr=vt.current={};Object.keys(Aa).forEach(function(Cr){Array.isArray(Kn[Cr])&&(pr[Cr]=Wt.def(dr.next,\".\",Cr),kr[Cr]=Wt.def(dr.current,\".\",Cr))});var Ar=vt.constants={};Object.keys(Ao).forEach(function(Cr){Ar[Cr]=Wt.def(JSON.stringify(Ao[Cr]))}),vt.invoke=function(Cr,cr){switch(cr.type){case Cn:var Gr=[\"this\",dr.context,dr.props,vt.batchId];return Cr.def(Pt(cr.data),\".call(\",Gr.slice(0,Math.max(cr.data.length+1,4)),\")\");case sn:return Cr.def(dr.props,cr.data);case Ua:return Cr.def(dr.context,cr.data);case mo:return Cr.def(\"this\",cr.data);case Xo:return cr.data.append(vt,Cr),cr.data.ref;case Ts:return cr.data.toString();case Qo:return cr.data.map(function(ei){return vt.invoke(Cr,ei)})}},vt.attribCache={};var gr={};return vt.scopeAttrib=function(Cr){var cr=Er.id(Cr);if(cr in gr)return gr[cr];var Gr=Bn.scope[cr];Gr||(Gr=Bn.scope[cr]=new ji);var ei=gr[cr]=Pt(Gr);return ei},vt}function _o(vt){var Pt=vt.static,Wt=vt.dynamic,rr;if(se in Pt){var dr=!!Pt[se];rr=dn(function(kr,Ar){return dr}),rr.enable=dr}else if(se in Wt){var pr=Wt[se];rr=En(pr,function(kr,Ar){return kr.invoke(Ar,pr)})}return rr}function Po(vt,Pt){var Wt=vt.static,rr=vt.dynamic;if(qe in Wt){var dr=Wt[qe];return dr?(dr=cn.getFramebuffer(dr),dn(function(kr,Ar){var gr=kr.link(dr),Cr=kr.shared;Ar.set(Cr.framebuffer,\".next\",gr);var cr=Cr.context;return Ar.set(cr,\".\"+Oe,gr+\".width\"),Ar.set(cr,\".\"+Je,gr+\".height\"),gr})):dn(function(kr,Ar){var gr=kr.shared;Ar.set(gr.framebuffer,\".next\",\"null\");var Cr=gr.context;return Ar.set(Cr,\".\"+Oe,Cr+\".\"+Dt),Ar.set(Cr,\".\"+Je,Cr+\".\"+Ut),\"null\"})}else if(qe in rr){var pr=rr[qe];return En(pr,function(kr,Ar){var gr=kr.invoke(Ar,pr),Cr=kr.shared,cr=Cr.framebuffer,Gr=Ar.def(cr,\".getFramebuffer(\",gr,\")\");Ar.set(cr,\".next\",Gr);var ei=Cr.context;return Ar.set(ei,\".\"+Oe,Gr+\"?\"+Gr+\".width:\"+ei+\".\"+Dt),Ar.set(ei,\".\"+Je,Gr+\"?\"+Gr+\".height:\"+ei+\".\"+Ut),Gr})}else return null}function Jo(vt,Pt,Wt){var rr=vt.static,dr=vt.dynamic;function pr(gr){if(gr in rr){var Cr=rr[gr],cr=!0,Gr=Cr.x|0,ei=Cr.y|0,yi,tn;return\"width\"in Cr?yi=Cr.width|0:cr=!1,\"height\"in Cr?tn=Cr.height|0:cr=!1,new Jr(!cr&&Pt&&Pt.thisDep,!cr&&Pt&&Pt.contextDep,!cr&&Pt&&Pt.propDep,function(Qn,qn){var rn=Qn.shared.context,bn=yi;\"width\"in Cr||(bn=qn.def(rn,\".\",Oe,\"-\",Gr));var mn=tn;return\"height\"in Cr||(mn=qn.def(rn,\".\",Je,\"-\",ei)),[Gr,ei,bn,mn]})}else if(gr in dr){var Ri=dr[gr],ln=En(Ri,function(Qn,qn){var rn=Qn.invoke(qn,Ri),bn=Qn.shared.context,mn=qn.def(rn,\".x|0\"),Gn=qn.def(rn,\".y|0\"),da=qn.def('\"width\" in ',rn,\"?\",rn,\".width|0:\",\"(\",bn,\".\",Oe,\"-\",mn,\")\"),No=qn.def('\"height\" in ',rn,\"?\",rn,\".height|0:\",\"(\",bn,\".\",Je,\"-\",Gn,\")\");return[mn,Gn,da,No]});return Pt&&(ln.thisDep=ln.thisDep||Pt.thisDep,ln.contextDep=ln.contextDep||Pt.contextDep,ln.propDep=ln.propDep||Pt.propDep),ln}else return Pt?new Jr(Pt.thisDep,Pt.contextDep,Pt.propDep,function(Qn,qn){var rn=Qn.shared.context;return[0,0,qn.def(rn,\".\",Oe),qn.def(rn,\".\",Je)]}):null}var kr=pr(ee);if(kr){var Ar=kr;kr=new Jr(kr.thisDep,kr.contextDep,kr.propDep,function(gr,Cr){var cr=Ar.append(gr,Cr),Gr=gr.shared.context;return Cr.set(Gr,\".\"+He,cr[2]),Cr.set(Gr,\".\"+et,cr[3]),cr})}return{viewport:kr,scissor_box:pr(Q)}}function Yl(vt,Pt){var Wt=vt.static,rr=typeof Wt[it]==\"string\"&&typeof Wt[je]==\"string\";if(rr){if(Object.keys(Pt.dynamic).length>0)return null;var dr=Pt.static,pr=Object.keys(dr);if(pr.length>0&&typeof dr[pr[0]]==\"number\"){for(var kr=[],Ar=0;Ar<pr.length;++Ar)kr.push([dr[pr[Ar]]|0,pr[Ar]]);return kr}}return null}function $c(vt,Pt,Wt){var rr=vt.static,dr=vt.dynamic;function pr(cr){if(cr in rr){var Gr=Er.id(rr[cr]),ei=dn(function(){return Gr});return ei.id=Gr,ei}else if(cr in dr){var yi=dr[cr];return En(yi,function(tn,Ri){var ln=tn.invoke(Ri,yi),Qn=Ri.def(tn.shared.strings,\".id(\",ln,\")\");return Qn})}return null}var kr=pr(it),Ar=pr(je),gr=null,Cr;return un(kr)&&un(Ar)?(gr=yn.program(Ar.id,kr.id,null,Wt),Cr=dn(function(cr,Gr){return cr.link(gr)})):Cr=new Jr(kr&&kr.thisDep||Ar&&Ar.thisDep,kr&&kr.contextDep||Ar&&Ar.contextDep,kr&&kr.propDep||Ar&&Ar.propDep,function(cr,Gr){var ei=cr.shared.shader,yi;kr?yi=kr.append(cr,Gr):yi=Gr.def(ei,\".\",it);var tn;Ar?tn=Ar.append(cr,Gr):tn=Gr.def(ei,\".\",je);var Ri=ei+\".program(\"+tn+\",\"+yi;return Gr.def(Ri+\")\")}),{frag:kr,vert:Ar,progVar:Cr,program:gr}}function xs(vt,Pt){var Wt=vt.static,rr=vt.dynamic,dr={},pr=!1;function kr(){if(he in Wt){var qn=Wt[he];return qn!==null&&Bn.getVAO(qn)===null&&(qn=Bn.createVAO(qn)),pr=!0,dr.vao=qn,dn(function(bn){var mn=Bn.getVAO(qn);return mn?bn.link(mn):\"null\"})}else if(he in rr){pr=!0;var rn=rr[he];return En(rn,function(bn,mn){var Gn=bn.invoke(mn,rn);return mn.def(bn.shared.vao+\".getVAO(\"+Gn+\")\")})}return null}var Ar=kr(),gr=!1;function Cr(){if(yt in Wt){var qn=Wt[yt];if(dr.elements=qn,vi(qn)){var rn=dr.elements=Oi.create(qn,!0);qn=Oi.getElements(rn),gr=!0}else qn&&(qn=Oi.getElements(qn),gr=!0);var bn=dn(function(Gn,da){if(qn){var No=Gn.link(qn);return Gn.ELEMENTS=No,No}return Gn.ELEMENTS=null,null});return bn.value=qn,bn}else if(yt in rr){gr=!0;var mn=rr[yt];return En(mn,function(Gn,da){var No=Gn.shared,Do=No.isBufferArgs,ps=No.elements,fo=Gn.invoke(da,mn),as=da.def(\"null\"),tl=da.def(Do,\"(\",fo,\")\"),zu=Gn.cond(tl).then(as,\"=\",ps,\".createStream(\",fo,\");\").else(as,\"=\",ps,\".getElements(\",fo,\");\");return da.entry(zu),da.exit(Gn.cond(tl).then(ps,\".destroyStream(\",as,\");\")),Gn.ELEMENTS=as,as})}else if(pr)return new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(Gn,da){return da.def(Gn.shared.vao+\".currentVAO?\"+Gn.shared.elements+\".getElements(\"+Gn.shared.vao+\".currentVAO.elements):null\")});return null}var cr=Cr();function Gr(){if(Ot in Wt){var qn=Wt[Ot];return dr.primitive=qn,dn(function(bn,mn){return Ki[qn]})}else if(Ot in rr){var rn=rr[Ot];return En(rn,function(bn,mn){var Gn=bn.constants.primTypes,da=bn.invoke(mn,rn);return mn.def(Gn,\"[\",da,\"]\")})}else{if(gr)return un(cr)?cr.value?dn(function(bn,mn){return mn.def(bn.ELEMENTS,\".primType\")}):dn(function(){return Fl}):new Jr(cr.thisDep,cr.contextDep,cr.propDep,function(bn,mn){var Gn=bn.ELEMENTS;return mn.def(Gn,\"?\",Gn,\".primType:\",Fl)});if(pr)return new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(bn,mn){return mn.def(bn.shared.vao+\".currentVAO?\"+bn.shared.vao+\".currentVAO.primitive:\"+Fl)})}return null}function ei(qn,rn){if(qn in Wt){var bn=Wt[qn]|0;return rn?dr.offset=bn:dr.instances=bn,dn(function(Gn,da){return rn&&(Gn.OFFSET=bn),bn})}else if(qn in rr){var mn=rr[qn];return En(mn,function(Gn,da){var No=Gn.invoke(da,mn);return rn&&(Gn.OFFSET=No),No})}else if(rn){if(gr)return dn(function(Gn,da){return Gn.OFFSET=0,0});if(pr)return new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(Gn,da){return da.def(Gn.shared.vao+\".currentVAO?\"+Gn.shared.vao+\".currentVAO.offset:0\")})}else if(pr)return new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(Gn,da){return da.def(Gn.shared.vao+\".currentVAO?\"+Gn.shared.vao+\".currentVAO.instances:-1\")});return null}var yi=ei(hr,!0);function tn(){if(Nt in Wt){var qn=Wt[Nt]|0;return dr.count=qn,dn(function(){return qn})}else if(Nt in rr){var rn=rr[Nt];return En(rn,function(da,No){var Do=da.invoke(No,rn);return Do})}else if(gr)if(un(cr)){if(cr)return yi?new Jr(yi.thisDep,yi.contextDep,yi.propDep,function(da,No){var Do=No.def(da.ELEMENTS,\".vertCount-\",da.OFFSET);return Do}):dn(function(da,No){return No.def(da.ELEMENTS,\".vertCount\")});var bn=dn(function(){return-1});return bn}else{var mn=new Jr(cr.thisDep||yi.thisDep,cr.contextDep||yi.contextDep,cr.propDep||yi.propDep,function(da,No){var Do=da.ELEMENTS;return da.OFFSET?No.def(Do,\"?\",Do,\".vertCount-\",da.OFFSET,\":-1\"):No.def(Do,\"?\",Do,\".vertCount:-1\")});return mn}else if(pr){var Gn=new Jr(Ar.thisDep,Ar.contextDep,Ar.propDep,function(da,No){return No.def(da.shared.vao,\".currentVAO?\",da.shared.vao,\".currentVAO.count:-1\")});return Gn}return null}var Ri=Gr(),ln=tn(),Qn=ei(Sr,!1);return{elements:cr,primitive:Ri,count:ln,instances:Qn,offset:yi,vao:Ar,vaoActive:pr,elementsActive:gr,static:dr}}function Qc(vt,Pt){var Wt=vt.static,rr=vt.dynamic,dr={};return wn.forEach(function(pr){var kr=aa(pr);function Ar(gr,Cr){if(pr in Wt){var cr=gr(Wt[pr]);dr[kr]=dn(function(){return cr})}else if(pr in rr){var Gr=rr[pr];dr[kr]=En(Gr,function(ei,yi){return Cr(ei,yi,ei.invoke(yi,Gr))})}}switch(pr){case Ru:case Bo:case ys:case Jc:case ia:case B:case Kc:case Dc:case Da:case Ko:return Ar(function(gr){return gr},function(gr,Cr,cr){return cr});case Ka:return Ar(function(gr){return qr[gr]},function(gr,Cr,cr){var Gr=gr.constants.compareFuncs;return Cr.def(Gr,\"[\",cr,\"]\")});case vs:return Ar(function(gr){return gr},function(gr,Cr,cr){var Gr=Cr.def(\"+\",cr,\"[0]\"),ei=Cr.def(\"+\",cr,\"[1]\");return[Gr,ei]});case Rs:return Ar(function(gr){var Cr=\"srcRGB\"in gr?gr.srcRGB:gr.src,cr=\"srcAlpha\"in gr?gr.srcAlpha:gr.src,Gr=\"dstRGB\"in gr?gr.dstRGB:gr.dst,ei=\"dstAlpha\"in gr?gr.dstAlpha:gr.dst;return[ui[Cr],ui[Gr],ui[cr],ui[ei]]},function(gr,Cr,cr){var Gr=gr.constants.blendFuncs;function ei(rn,bn){var mn=Cr.def('\"',rn,bn,'\" in ',cr,\"?\",cr,\".\",rn,bn,\":\",cr,\".\",rn);return mn}var yi=ei(\"src\",\"RGB\"),tn=ei(\"dst\",\"RGB\"),Ri=Cr.def(Gr,\"[\",yi,\"]\"),ln=Cr.def(Gr,\"[\",ei(\"src\",\"Alpha\"),\"]\"),Qn=Cr.def(Gr,\"[\",tn,\"]\"),qn=Cr.def(Gr,\"[\",ei(\"dst\",\"Alpha\"),\"]\");return[Ri,Qn,ln,qn]});case Gs:return Ar(function(gr){if(typeof gr==\"string\")return[Ln[gr],Ln[gr]];if(typeof gr==\"object\")return[Ln[gr.rgb],Ln[gr.alpha]]},function(gr,Cr,cr){var Gr=gr.constants.blendEquations,ei=Cr.def(),yi=Cr.def(),tn=gr.cond(\"typeof \",cr,'===\"string\"');return tn.then(ei,\"=\",yi,\"=\",Gr,\"[\",cr,\"];\"),tn.else(ei,\"=\",Gr,\"[\",cr,\".rgb];\",yi,\"=\",Gr,\"[\",cr,\".alpha];\"),Cr(tn),[ei,yi]});case yl:return Ar(function(gr){return M(4,function(Cr){return+gr[Cr]})},function(gr,Cr,cr){return M(4,function(Gr){return Cr.def(\"+\",cr,\"[\",Gr,\"]\")})});case yc:return Ar(function(gr){return gr|0},function(gr,Cr,cr){return Cr.def(cr,\"|0\")});case _c:return Ar(function(gr){var Cr=gr.cmp||\"keep\",cr=gr.ref||0,Gr=\"mask\"in gr?gr.mask:-1;return[qr[Cr],cr,Gr]},function(gr,Cr,cr){var Gr=gr.constants.compareFuncs,ei=Cr.def('\"cmp\" in ',cr,\"?\",Gr,\"[\",cr,\".cmp]\",\":\",tt),yi=Cr.def(cr,\".ref|0\"),tn=Cr.def('\"mask\" in ',cr,\"?\",cr,\".mask|0:-1\");return[ei,yi,tn]});case le:case w:return Ar(function(gr){var Cr=gr.fail||\"keep\",cr=gr.zfail||\"keep\",Gr=gr.zpass||\"keep\";return[pr===w?oe:Z,Kr[Cr],Kr[cr],Kr[Gr]]},function(gr,Cr,cr){var Gr=gr.constants.stencilOps;function ei(yi){return Cr.def('\"',yi,'\" in ',cr,\"?\",Gr,\"[\",cr,\".\",yi,\"]:\",tt)}return[pr===w?oe:Z,ei(\"fail\"),ei(\"zfail\"),ei(\"zpass\")]});case Du:return Ar(function(gr){var Cr=gr.factor|0,cr=gr.units|0;return[Cr,cr]},function(gr,Cr,cr){var Gr=Cr.def(cr,\".factor|0\"),ei=Cr.def(cr,\".units|0\");return[Gr,ei]});case ac:return Ar(function(gr){var Cr=0;return gr===\"front\"?Cr=Z:gr===\"back\"&&(Cr=oe),Cr},function(gr,Cr,cr){return Cr.def(cr,'===\"front\"?',Z,\":\",oe)});case bu:return Ar(function(gr){return gr},function(gr,Cr,cr){return cr});case mf:return Ar(function(gr){return ii[gr]},function(gr,Cr,cr){return Cr.def(cr+'===\"cw\"?'+we+\":\"+Be)});case nu:return Ar(function(gr){return gr.map(function(Cr){return!!Cr})},function(gr,Cr,cr){return M(4,function(Gr){return\"!!\"+cr+\"[\"+Gr+\"]\"})});case eo:return Ar(function(gr){var Cr=\"value\"in gr?gr.value:1,cr=!!gr.invert;return[Cr,cr]},function(gr,Cr,cr){var Gr=Cr.def('\"value\" in ',cr,\"?+\",cr,\".value:1\"),ei=Cr.def(\"!!\",cr,\".invert\");return[Gr,ei]})}}),dr}function El(vt,Pt){var Wt=vt.static,rr=vt.dynamic,dr={};return Object.keys(Wt).forEach(function(pr){var kr=Wt[pr],Ar;if(typeof kr==\"number\"||typeof kr==\"boolean\")Ar=dn(function(){return kr});else if(typeof kr==\"function\"){var gr=kr._reglType;gr===\"texture2d\"||gr===\"textureCube\"?Ar=dn(function(Cr){return Cr.link(kr)}):(gr===\"framebuffer\"||gr===\"framebufferCube\")&&(Ar=dn(function(Cr){return Cr.link(kr.color[0])}))}else an(kr)&&(Ar=dn(function(Cr){var cr=Cr.global.def(\"[\",M(kr.length,function(Gr){return kr[Gr]}),\"]\");return cr}));Ar.value=kr,dr[pr]=Ar}),Object.keys(rr).forEach(function(pr){var kr=rr[pr];dr[pr]=En(kr,function(Ar,gr){return Ar.invoke(gr,kr)})}),dr}function bc(vt,Pt){var Wt=vt.static,rr=vt.dynamic,dr={};return Object.keys(Wt).forEach(function(pr){var kr=Wt[pr],Ar=Er.id(pr),gr=new ji;if(vi(kr))gr.state=Ea,gr.buffer=Ui.getBuffer(Ui.create(kr,mr,!1,!0)),gr.type=0;else{var Cr=Ui.getBuffer(kr);if(Cr)gr.state=Ea,gr.buffer=Cr,gr.type=0;else if(\"constant\"in kr){var cr=kr.constant;gr.buffer=\"null\",gr.state=qa,typeof cr==\"number\"?gr.x=cr:Ma.forEach(function(Qn,qn){qn<cr.length&&(gr[Qn]=cr[qn])})}else{vi(kr.buffer)?Cr=Ui.getBuffer(Ui.create(kr.buffer,mr,!1,!0)):Cr=Ui.getBuffer(kr.buffer);var Gr=kr.offset|0,ei=kr.stride|0,yi=kr.size|0,tn=!!kr.normalized,Ri=0;\"type\"in kr&&(Ri=bi[kr.type]);var ln=kr.divisor|0;gr.buffer=Cr,gr.state=Ea,gr.size=yi,gr.normalized=tn,gr.type=Ri||Cr.dtype,gr.offset=Gr,gr.stride=ei,gr.divisor=ln}}dr[pr]=dn(function(Qn,qn){var rn=Qn.attribCache;if(Ar in rn)return rn[Ar];var bn={isStream:!1};return Object.keys(gr).forEach(function(mn){bn[mn]=gr[mn]}),gr.buffer&&(bn.buffer=Qn.link(gr.buffer),bn.type=bn.type||bn.buffer+\".dtype\"),rn[Ar]=bn,bn})}),Object.keys(rr).forEach(function(pr){var kr=rr[pr];function Ar(gr,Cr){var cr=gr.invoke(Cr,kr),Gr=gr.shared,ei=gr.constants,yi=Gr.isBufferArgs,tn=Gr.buffer,Ri={isStream:Cr.def(!1)},ln=new ji;ln.state=Ea,Object.keys(ln).forEach(function(bn){Ri[bn]=Cr.def(\"\"+ln[bn])});var Qn=Ri.buffer,qn=Ri.type;Cr(\"if(\",yi,\"(\",cr,\")){\",Ri.isStream,\"=true;\",Qn,\"=\",tn,\".createStream(\",mr,\",\",cr,\");\",qn,\"=\",Qn,\".dtype;\",\"}else{\",Qn,\"=\",tn,\".getBuffer(\",cr,\");\",\"if(\",Qn,\"){\",qn,\"=\",Qn,\".dtype;\",'}else if(\"constant\" in ',cr,\"){\",Ri.state,\"=\",qa,\";\",\"if(typeof \"+cr+'.constant === \"number\"){',Ri[Ma[0]],\"=\",cr,\".constant;\",Ma.slice(1).map(function(bn){return Ri[bn]}).join(\"=\"),\"=0;\",\"}else{\",Ma.map(function(bn,mn){return Ri[bn]+\"=\"+cr+\".constant.length>\"+mn+\"?\"+cr+\".constant[\"+mn+\"]:0;\"}).join(\"\"),\"}}else{\",\"if(\",yi,\"(\",cr,\".buffer)){\",Qn,\"=\",tn,\".createStream(\",mr,\",\",cr,\".buffer);\",\"}else{\",Qn,\"=\",tn,\".getBuffer(\",cr,\".buffer);\",\"}\",qn,'=\"type\" in ',cr,\"?\",ei.glTypes,\"[\",cr,\".type]:\",Qn,\".dtype;\",Ri.normalized,\"=!!\",cr,\".normalized;\");function rn(bn){Cr(Ri[bn],\"=\",cr,\".\",bn,\"|0;\")}return rn(\"size\"),rn(\"offset\"),rn(\"stride\"),rn(\"divisor\"),Cr(\"}}\"),Cr.exit(\"if(\",Ri.isStream,\"){\",tn,\".destroyStream(\",Qn,\");\",\"}\"),Ri}dr[pr]=En(kr,Ar)}),dr}function wc(vt){var Pt=vt.static,Wt=vt.dynamic,rr={};return Object.keys(Pt).forEach(function(dr){var pr=Pt[dr];rr[dr]=dn(function(kr,Ar){return typeof pr==\"number\"||typeof pr==\"boolean\"?\"\"+pr:kr.link(pr)})}),Object.keys(Wt).forEach(function(dr){var pr=Wt[dr];rr[dr]=En(pr,function(kr,Ar){return kr.invoke(Ar,pr)})}),rr}function yf(vt,Pt,Wt,rr,dr){var pr=vt.static,kr=vt.dynamic,Ar=Yl(vt,Pt),gr=Po(vt,dr),Cr=Jo(vt,gr,dr),cr=xs(vt,dr),Gr=Qc(vt,dr),ei=$c(vt,dr,Ar);function yi(rn){var bn=Cr[rn];bn&&(Gr[rn]=bn)}yi(ee),yi(aa(Q));var tn=Object.keys(Gr).length>0,Ri={framebuffer:gr,draw:cr,shader:ei,state:Gr,dirty:tn,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(Ri.profile=_o(vt,dr),Ri.uniforms=El(Wt,dr),Ri.drawVAO=Ri.scopeVAO=cr.vao,!Ri.drawVAO&&ei.program&&!Ar&&Wr.angle_instanced_arrays&&cr.static.elements){var ln=!0,Qn=ei.program.attributes.map(function(rn){var bn=Pt.static[rn];return ln=ln&&!!bn,bn});if(ln&&Qn.length>0){var qn=Bn.getVAO(Bn.createVAO({attributes:Qn,elements:cr.static.elements}));Ri.drawVAO=new Jr(null,null,null,function(rn,bn){return rn.link(qn)}),Ri.useVAO=!0}}return Ar?Ri.useVAO=!0:Ri.attributes=bc(Pt,dr),Ri.context=wc(rr,dr),Ri}function Gl(vt,Pt,Wt){var rr=vt.shared,dr=rr.context,pr=vt.scope();Object.keys(Wt).forEach(function(kr){Pt.save(dr,\".\"+kr);var Ar=Wt[kr],gr=Ar.append(vt,Pt);Array.isArray(gr)?pr(dr,\".\",kr,\"=[\",gr.join(),\"];\"):pr(dr,\".\",kr,\"=\",gr,\";\")}),Pt(pr)}function Fc(vt,Pt,Wt,rr){var dr=vt.shared,pr=dr.gl,kr=dr.framebuffer,Ar;gn&&(Ar=Pt.def(dr.extensions,\".webgl_draw_buffers\"));var gr=vt.constants,Cr=gr.drawBuffer,cr=gr.backBuffer,Gr;Wt?Gr=Wt.append(vt,Pt):Gr=Pt.def(kr,\".next\"),rr||Pt(\"if(\",Gr,\"!==\",kr,\".cur){\"),Pt(\"if(\",Gr,\"){\",pr,\".bindFramebuffer(\",Ir,\",\",Gr,\".framebuffer);\"),gn&&Pt(Ar,\".drawBuffersWEBGL(\",Cr,\"[\",Gr,\".colorAttachments.length]);\"),Pt(\"}else{\",pr,\".bindFramebuffer(\",Ir,\",null);\"),gn&&Pt(Ar,\".drawBuffersWEBGL(\",cr,\");\"),Pt(\"}\",kr,\".cur=\",Gr,\";\"),rr||Pt(\"}\")}function ef(vt,Pt,Wt){var rr=vt.shared,dr=rr.gl,pr=vt.current,kr=vt.next,Ar=rr.current,gr=rr.next,Cr=vt.cond(Ar,\".dirty\");wn.forEach(function(cr){var Gr=aa(cr);if(!(Gr in Wt.state)){var ei,yi;if(Gr in kr){ei=kr[Gr],yi=pr[Gr];var tn=M(Kn[Gr].length,function(ln){return Cr.def(ei,\"[\",ln,\"]\")});Cr(vt.cond(tn.map(function(ln,Qn){return ln+\"!==\"+yi+\"[\"+Qn+\"]\"}).join(\"||\")).then(dr,\".\",Aa[Gr],\"(\",tn,\");\",tn.map(function(ln,Qn){return yi+\"[\"+Qn+\"]=\"+ln}).join(\";\"),\";\"))}else{ei=Cr.def(gr,\".\",Gr);var Ri=vt.cond(ei,\"!==\",Ar,\".\",Gr);Cr(Ri),Gr in vn?Ri(vt.cond(ei).then(dr,\".enable(\",vn[Gr],\");\").else(dr,\".disable(\",vn[Gr],\");\"),Ar,\".\",Gr,\"=\",ei,\";\"):Ri(dr,\".\",Aa[Gr],\"(\",ei,\");\",Ar,\".\",Gr,\"=\",ei,\";\")}}}),Object.keys(Wt.state).length===0&&Cr(Ar,\".dirty=false;\"),Pt(Cr)}function ls(vt,Pt,Wt,rr){var dr=vt.shared,pr=vt.current,kr=dr.current,Ar=dr.gl,gr;ci(Object.keys(Wt)).forEach(function(Cr){var cr=Wt[Cr];if(!(rr&&!rr(cr))){var Gr=cr.append(vt,Pt);if(vn[Cr]){var ei=vn[Cr];un(cr)?(gr=vt.link(Gr,{stable:!0}),Pt(vt.cond(gr).then(Ar,\".enable(\",ei,\");\").else(Ar,\".disable(\",ei,\");\")),Pt(kr,\".\",Cr,\"=\",gr,\";\")):(Pt(vt.cond(Gr).then(Ar,\".enable(\",ei,\");\").else(Ar,\".disable(\",ei,\");\")),Pt(kr,\".\",Cr,\"=\",Gr,\";\"))}else if(an(Gr)){var yi=pr[Cr];Pt(Ar,\".\",Aa[Cr],\"(\",Gr,\");\",Gr.map(function(tn,Ri){return yi+\"[\"+Ri+\"]=\"+tn}).join(\";\"),\";\")}else un(cr)?(gr=vt.link(Gr,{stable:!0}),Pt(Ar,\".\",Aa[Cr],\"(\",gr,\");\",kr,\".\",Cr,\"=\",gr,\";\")):Pt(Ar,\".\",Aa[Cr],\"(\",Gr,\");\",kr,\".\",Cr,\"=\",Gr,\";\")}})}function _f(vt,Pt){Un&&(vt.instancing=Pt.def(vt.shared.extensions,\".angle_instanced_arrays\"))}function ns(vt,Pt,Wt,rr,dr){var pr=vt.shared,kr=vt.stats,Ar=pr.current,gr=pr.timer,Cr=Wt.profile;function cr(){return typeof performance==\"undefined\"?\"Date.now()\":\"performance.now()\"}var Gr,ei;function yi(rn){Gr=Pt.def(),rn(Gr,\"=\",cr(),\";\"),typeof dr==\"string\"?rn(kr,\".count+=\",dr,\";\"):rn(kr,\".count++;\"),Dn&&(rr?(ei=Pt.def(),rn(ei,\"=\",gr,\".getNumPendingQueries();\")):rn(gr,\".beginQuery(\",kr,\");\"))}function tn(rn){rn(kr,\".cpuTime+=\",cr(),\"-\",Gr,\";\"),Dn&&(rr?rn(gr,\".pushScopeStats(\",ei,\",\",gr,\".getNumPendingQueries(),\",kr,\");\"):rn(gr,\".endQuery();\"))}function Ri(rn){var bn=Pt.def(Ar,\".profile\");Pt(Ar,\".profile=\",rn,\";\"),Pt.exit(Ar,\".profile=\",bn,\";\")}var ln;if(Cr){if(un(Cr)){Cr.enable?(yi(Pt),tn(Pt.exit),Ri(\"true\")):Ri(\"false\");return}ln=Cr.append(vt,Pt),Ri(ln)}else ln=Pt.def(Ar,\".profile\");var Qn=vt.block();yi(Qn),Pt(\"if(\",ln,\"){\",Qn,\"}\");var qn=vt.block();tn(qn),Pt.exit(\"if(\",ln,\"){\",qn,\"}\")}function Y(vt,Pt,Wt,rr,dr){var pr=vt.shared;function kr(gr){switch(gr){case To:case Ds:case _l:return 2;case Wa:case As:case Hl:return 3;case co:case yo:case Zu:return 4;default:return 1}}function Ar(gr,Cr,cr){var Gr=pr.gl,ei=Pt.def(gr,\".location\"),yi=Pt.def(pr.attributes,\"[\",ei,\"]\"),tn=cr.state,Ri=cr.buffer,ln=[cr.x,cr.y,cr.z,cr.w],Qn=[\"buffer\",\"normalized\",\"offset\",\"stride\"];function qn(){Pt(\"if(!\",yi,\".buffer){\",Gr,\".enableVertexAttribArray(\",ei,\");}\");var bn=cr.type,mn;if(cr.size?mn=Pt.def(cr.size,\"||\",Cr):mn=Cr,Pt(\"if(\",yi,\".type!==\",bn,\"||\",yi,\".size!==\",mn,\"||\",Qn.map(function(da){return yi+\".\"+da+\"!==\"+cr[da]}).join(\"||\"),\"){\",Gr,\".bindBuffer(\",mr,\",\",Ri,\".buffer);\",Gr,\".vertexAttribPointer(\",[ei,mn,bn,cr.normalized,cr.stride,cr.offset],\");\",yi,\".type=\",bn,\";\",yi,\".size=\",mn,\";\",Qn.map(function(da){return yi+\".\"+da+\"=\"+cr[da]+\";\"}).join(\"\"),\"}\"),Un){var Gn=cr.divisor;Pt(\"if(\",yi,\".divisor!==\",Gn,\"){\",vt.instancing,\".vertexAttribDivisorANGLE(\",[ei,Gn],\");\",yi,\".divisor=\",Gn,\";}\")}}function rn(){Pt(\"if(\",yi,\".buffer){\",Gr,\".disableVertexAttribArray(\",ei,\");\",yi,\".buffer=null;\",\"}if(\",Ma.map(function(bn,mn){return yi+\".\"+bn+\"!==\"+ln[mn]}).join(\"||\"),\"){\",Gr,\".vertexAttrib4f(\",ei,\",\",ln,\");\",Ma.map(function(bn,mn){return yi+\".\"+bn+\"=\"+ln[mn]+\";\"}).join(\"\"),\"}\")}tn===Ea?qn():tn===qa?rn():(Pt(\"if(\",tn,\"===\",Ea,\"){\"),qn(),Pt(\"}else{\"),rn(),Pt(\"}\"))}rr.forEach(function(gr){var Cr=gr.name,cr=Wt.attributes[Cr],Gr;if(cr){if(!dr(cr))return;Gr=cr.append(vt,Pt)}else{if(!dr(Nn))return;var ei=vt.scopeAttrib(Cr);Gr={},Object.keys(new ji).forEach(function(yi){Gr[yi]=Pt.def(ei,\".\",yi)})}Ar(vt.link(gr),kr(gr.info.type),Gr)})}function z(vt,Pt,Wt,rr,dr,pr){for(var kr=vt.shared,Ar=kr.gl,gr,Cr=0;Cr<rr.length;++Cr){var cr=rr[Cr],Gr=cr.name,ei=cr.info.type,yi=Wt.uniforms[Gr],tn=vt.link(cr),Ri=tn+\".location\",ln;if(yi){if(!dr(yi))continue;if(un(yi)){var Qn=yi.value;if(ei===zc||ei===zl){var qn=vt.link(Qn._texture||Qn.color[0]._texture);Pt(Ar,\".uniform1i(\",Ri,\",\",qn+\".bind());\"),Pt.exit(qn,\".unbind();\")}else if(ei===cu||ei===el||ei===au){var rn=vt.global.def(\"new Float32Array([\"+Array.prototype.slice.call(Qn)+\"])\"),bn=2;ei===el?bn=3:ei===au&&(bn=4),Pt(Ar,\".uniformMatrix\",bn,\"fv(\",Ri,\",false,\",rn,\");\")}else{switch(ei){case Ga:gr=\"1f\";break;case To:gr=\"2f\";break;case Wa:gr=\"3f\";break;case co:gr=\"4f\";break;case po:gr=\"1i\";break;case Ro:gr=\"1i\";break;case _l:gr=\"2i\";break;case Ds:gr=\"2i\";break;case Hl:gr=\"3i\";break;case As:gr=\"3i\";break;case Zu:gr=\"4i\";break;case yo:gr=\"4i\";break}Pt(Ar,\".uniform\",gr,\"(\",Ri,\",\",an(Qn)?Array.prototype.slice.call(Qn):Qn,\");\")}continue}else ln=yi.append(vt,Pt)}else{if(!dr(Nn))continue;ln=Pt.def(kr.uniforms,\"[\",Er.id(Gr),\"]\")}ei===zc?Pt(\"if(\",ln,\"&&\",ln,'._reglType===\"framebuffer\"){',ln,\"=\",ln,\".color[0];\",\"}\"):ei===zl&&Pt(\"if(\",ln,\"&&\",ln,'._reglType===\"framebufferCube\"){',ln,\"=\",ln,\".color[0];\",\"}\");var mn=1;switch(ei){case zc:case zl:var Gn=Pt.def(ln,\"._texture\");Pt(Ar,\".uniform1i(\",Ri,\",\",Gn,\".bind());\"),Pt.exit(Gn,\".unbind();\");continue;case Ro:case po:gr=\"1i\";break;case Ds:case _l:gr=\"2i\",mn=2;break;case As:case Hl:gr=\"3i\",mn=3;break;case yo:case Zu:gr=\"4i\",mn=4;break;case Ga:gr=\"1f\";break;case To:gr=\"2f\",mn=2;break;case Wa:gr=\"3f\",mn=3;break;case co:gr=\"4f\",mn=4;break;case cu:gr=\"Matrix2fv\";break;case el:gr=\"Matrix3fv\";break;case au:gr=\"Matrix4fv\";break}if(gr.charAt(0)===\"M\"){Pt(Ar,\".uniform\",gr,\"(\",Ri,\",\");var da=Math.pow(ei-cu+2,2),No=vt.global.def(\"new Float32Array(\",da,\")\");Array.isArray(ln)?Pt(\"false,(\",M(da,function(tl){return No+\"[\"+tl+\"]=\"+ln[tl]}),\",\",No,\")\"):Pt(\"false,(Array.isArray(\",ln,\")||\",ln,\" instanceof Float32Array)?\",ln,\":(\",M(da,function(tl){return No+\"[\"+tl+\"]=\"+ln+\"[\"+tl+\"]\"}),\",\",No,\")\"),Pt(\");\")}else if(mn>1){for(var Do=[],ps=[],fo=0;fo<mn;++fo)Array.isArray(ln)?ps.push(ln[fo]):ps.push(Pt.def(ln+\"[\"+fo+\"]\")),pr&&Do.push(Pt.def());pr&&Pt(\"if(!\",vt.batchId,\"||\",Do.map(function(tl,zu){return tl+\"!==\"+ps[zu]}).join(\"||\"),\"){\",Do.map(function(tl,zu){return tl+\"=\"+ps[zu]+\";\"}).join(\"\")),Pt(Ar,\".uniform\",gr,\"(\",Ri,\",\",ps.join(\",\"),\");\"),pr&&Pt(\"}\")}else{if(pr){var as=Pt.def();Pt(\"if(!\",vt.batchId,\"||\",as,\"!==\",ln,\"){\",as,\"=\",ln,\";\")}Pt(Ar,\".uniform\",gr,\"(\",Ri,\",\",ln,\");\"),pr&&Pt(\"}\")}}}function K(vt,Pt,Wt,rr){var dr=vt.shared,pr=dr.gl,kr=dr.draw,Ar=rr.draw;function gr(){var mn=Ar.elements,Gn,da=Pt;return mn?((mn.contextDep&&rr.contextDynamic||mn.propDep)&&(da=Wt),Gn=mn.append(vt,da),Ar.elementsActive&&da(\"if(\"+Gn+\")\"+pr+\".bindBuffer(\"+Rr+\",\"+Gn+\".buffer.buffer);\")):(Gn=da.def(),da(Gn,\"=\",kr,\".\",yt,\";\",\"if(\",Gn,\"){\",pr,\".bindBuffer(\",Rr,\",\",Gn,\".buffer.buffer);}\",\"else if(\",dr.vao,\".currentVAO){\",Gn,\"=\",vt.shared.elements+\".getElements(\"+dr.vao,\".currentVAO.elements);\",ca?\"\":\"if(\"+Gn+\")\"+pr+\".bindBuffer(\"+Rr+\",\"+Gn+\".buffer.buffer);\",\"}\")),Gn}function Cr(){var mn=Ar.count,Gn,da=Pt;return mn?((mn.contextDep&&rr.contextDynamic||mn.propDep)&&(da=Wt),Gn=mn.append(vt,da)):Gn=da.def(kr,\".\",Nt),Gn}var cr=gr();function Gr(mn){var Gn=Ar[mn];return Gn?Gn.contextDep&&rr.contextDynamic||Gn.propDep?Gn.append(vt,Wt):Gn.append(vt,Pt):Pt.def(kr,\".\",mn)}var ei=Gr(Ot),yi=Gr(hr),tn=Cr();if(typeof tn==\"number\"){if(tn===0)return}else Wt(\"if(\",tn,\"){\"),Wt.exit(\"}\");var Ri,ln;Un&&(Ri=Gr(Sr),ln=vt.instancing);var Qn=cr+\".type\",qn=Ar.elements&&un(Ar.elements)&&!Ar.vaoActive;function rn(){function mn(){Wt(ln,\".drawElementsInstancedANGLE(\",[ei,tn,Qn,yi+\"<<((\"+Qn+\"-\"+Ta+\")>>1)\",Ri],\");\")}function Gn(){Wt(ln,\".drawArraysInstancedANGLE(\",[ei,yi,tn,Ri],\");\")}cr&&cr!==\"null\"?qn?mn():(Wt(\"if(\",cr,\"){\"),mn(),Wt(\"}else{\"),Gn(),Wt(\"}\")):Gn()}function bn(){function mn(){Wt(pr+\".drawElements(\"+[ei,tn,Qn,yi+\"<<((\"+Qn+\"-\"+Ta+\")>>1)\"]+\");\")}function Gn(){Wt(pr+\".drawArrays(\"+[ei,yi,tn]+\");\")}cr&&cr!==\"null\"?qn?mn():(Wt(\"if(\",cr,\"){\"),mn(),Wt(\"}else{\"),Gn(),Wt(\"}\")):Gn()}Un&&(typeof Ri!=\"number\"||Ri>=0)?typeof Ri==\"string\"?(Wt(\"if(\",Ri,\">0){\"),rn(),Wt(\"}else if(\",Ri,\"<0){\"),bn(),Wt(\"}\")):rn():bn()}function O(vt,Pt,Wt,rr,dr){var pr=Oa(),kr=pr.proc(\"body\",dr);return Un&&(pr.instancing=kr.def(pr.shared.extensions,\".angle_instanced_arrays\")),vt(pr,kr,Wt,rr),pr.compile().body}function $(vt,Pt,Wt,rr){_f(vt,Pt),Wt.useVAO?Wt.drawVAO?Pt(vt.shared.vao,\".setVAO(\",Wt.drawVAO.append(vt,Pt),\");\"):Pt(vt.shared.vao,\".setVAO(\",vt.shared.vao,\".targetVAO);\"):(Pt(vt.shared.vao,\".setVAO(null);\"),Y(vt,Pt,Wt,rr.attributes,function(){return!0})),z(vt,Pt,Wt,rr.uniforms,function(){return!0},!1),K(vt,Pt,Pt,Wt)}function pe(vt,Pt){var Wt=vt.proc(\"draw\",1);_f(vt,Wt),Gl(vt,Wt,Pt.context),Fc(vt,Wt,Pt.framebuffer),ef(vt,Wt,Pt),ls(vt,Wt,Pt.state),ns(vt,Wt,Pt,!1,!0);var rr=Pt.shader.progVar.append(vt,Wt);if(Wt(vt.shared.gl,\".useProgram(\",rr,\".program);\"),Pt.shader.program)$(vt,Wt,Pt,Pt.shader.program);else{Wt(vt.shared.vao,\".setVAO(null);\");var dr=vt.global.def(\"{}\"),pr=Wt.def(rr,\".id\"),kr=Wt.def(dr,\"[\",pr,\"]\");Wt(vt.cond(kr).then(kr,\".call(this,a0);\").else(kr,\"=\",dr,\"[\",pr,\"]=\",vt.link(function(Ar){return O($,vt,Pt,Ar,1)}),\"(\",rr,\");\",kr,\".call(this,a0);\"))}Object.keys(Pt.state).length>0&&Wt(vt.shared.current,\".dirty=true;\"),vt.shared.vao&&Wt(vt.shared.vao,\".setVAO(null);\")}function de(vt,Pt,Wt,rr){vt.batchId=\"a1\",_f(vt,Pt);function dr(){return!0}Y(vt,Pt,Wt,rr.attributes,dr),z(vt,Pt,Wt,rr.uniforms,dr,!1),K(vt,Pt,Pt,Wt)}function Ie(vt,Pt,Wt,rr){_f(vt,Pt);var dr=Wt.contextDep,pr=Pt.def(),kr=\"a0\",Ar=\"a1\",gr=Pt.def();vt.shared.props=gr,vt.batchId=pr;var Cr=vt.scope(),cr=vt.scope();Pt(Cr.entry,\"for(\",pr,\"=0;\",pr,\"<\",Ar,\";++\",pr,\"){\",gr,\"=\",kr,\"[\",pr,\"];\",cr,\"}\",Cr.exit);function Gr(Qn){return Qn.contextDep&&dr||Qn.propDep}function ei(Qn){return!Gr(Qn)}if(Wt.needsContext&&Gl(vt,cr,Wt.context),Wt.needsFramebuffer&&Fc(vt,cr,Wt.framebuffer),ls(vt,cr,Wt.state,Gr),Wt.profile&&Gr(Wt.profile)&&ns(vt,cr,Wt,!1,!0),rr)Wt.useVAO?Wt.drawVAO?Gr(Wt.drawVAO)?cr(vt.shared.vao,\".setVAO(\",Wt.drawVAO.append(vt,cr),\");\"):Cr(vt.shared.vao,\".setVAO(\",Wt.drawVAO.append(vt,Cr),\");\"):Cr(vt.shared.vao,\".setVAO(\",vt.shared.vao,\".targetVAO);\"):(Cr(vt.shared.vao,\".setVAO(null);\"),Y(vt,Cr,Wt,rr.attributes,ei),Y(vt,cr,Wt,rr.attributes,Gr)),z(vt,Cr,Wt,rr.uniforms,ei,!1),z(vt,cr,Wt,rr.uniforms,Gr,!0),K(vt,Cr,cr,Wt);else{var yi=vt.global.def(\"{}\"),tn=Wt.shader.progVar.append(vt,cr),Ri=cr.def(tn,\".id\"),ln=cr.def(yi,\"[\",Ri,\"]\");cr(vt.shared.gl,\".useProgram(\",tn,\".program);\",\"if(!\",ln,\"){\",ln,\"=\",yi,\"[\",Ri,\"]=\",vt.link(function(Qn){return O(de,vt,Wt,Qn,2)}),\"(\",tn,\");}\",ln,\".call(this,a0[\",pr,\"],\",pr,\");\")}}function $e(vt,Pt){var Wt=vt.proc(\"batch\",2);vt.batchId=\"0\",_f(vt,Wt);var rr=!1,dr=!0;Object.keys(Pt.context).forEach(function(yi){rr=rr||Pt.context[yi].propDep}),rr||(Gl(vt,Wt,Pt.context),dr=!1);var pr=Pt.framebuffer,kr=!1;pr?(pr.propDep?rr=kr=!0:pr.contextDep&&rr&&(kr=!0),kr||Fc(vt,Wt,pr)):Fc(vt,Wt,null),Pt.state.viewport&&Pt.state.viewport.propDep&&(rr=!0);function Ar(yi){return yi.contextDep&&rr||yi.propDep}ef(vt,Wt,Pt),ls(vt,Wt,Pt.state,function(yi){return!Ar(yi)}),(!Pt.profile||!Ar(Pt.profile))&&ns(vt,Wt,Pt,!1,\"a1\"),Pt.contextDep=rr,Pt.needsContext=dr,Pt.needsFramebuffer=kr;var gr=Pt.shader.progVar;if(gr.contextDep&&rr||gr.propDep)Ie(vt,Wt,Pt,null);else{var Cr=gr.append(vt,Wt);if(Wt(vt.shared.gl,\".useProgram(\",Cr,\".program);\"),Pt.shader.program)Ie(vt,Wt,Pt,Pt.shader.program);else{Wt(vt.shared.vao,\".setVAO(null);\");var cr=vt.global.def(\"{}\"),Gr=Wt.def(Cr,\".id\"),ei=Wt.def(cr,\"[\",Gr,\"]\");Wt(vt.cond(ei).then(ei,\".call(this,a0,a1);\").else(ei,\"=\",cr,\"[\",Gr,\"]=\",vt.link(function(yi){return O(Ie,vt,Pt,yi,2)}),\"(\",Cr,\");\",ei,\".call(this,a0,a1);\"))}}Object.keys(Pt.state).length>0&&Wt(vt.shared.current,\".dirty=true;\"),vt.shared.vao&&Wt(vt.shared.vao,\".setVAO(null);\")}function pt(vt,Pt){var Wt=vt.proc(\"scope\",3);vt.batchId=\"a2\";var rr=vt.shared,dr=rr.current;if(Gl(vt,Wt,Pt.context),Pt.framebuffer&&Pt.framebuffer.append(vt,Wt),ci(Object.keys(Pt.state)).forEach(function(Ar){var gr=Pt.state[Ar],Cr=gr.append(vt,Wt);an(Cr)?Cr.forEach(function(cr,Gr){ma(cr)?Wt.set(vt.next[Ar],\"[\"+Gr+\"]\",cr):Wt.set(vt.next[Ar],\"[\"+Gr+\"]\",vt.link(cr,{stable:!0}))}):un(gr)?Wt.set(rr.next,\".\"+Ar,vt.link(Cr,{stable:!0})):Wt.set(rr.next,\".\"+Ar,Cr)}),ns(vt,Wt,Pt,!0,!0),[yt,hr,Nt,Sr,Ot].forEach(function(Ar){var gr=Pt.draw[Ar];if(gr){var Cr=gr.append(vt,Wt);ma(Cr)?Wt.set(rr.draw,\".\"+Ar,Cr):Wt.set(rr.draw,\".\"+Ar,vt.link(Cr),{stable:!0})}}),Object.keys(Pt.uniforms).forEach(function(Ar){var gr=Pt.uniforms[Ar].append(vt,Wt);Array.isArray(gr)&&(gr=\"[\"+gr.map(function(Cr){return ma(Cr)?Cr:vt.link(Cr,{stable:!0})})+\"]\"),Wt.set(rr.uniforms,\"[\"+vt.link(Er.id(Ar),{stable:!0})+\"]\",gr)}),Object.keys(Pt.attributes).forEach(function(Ar){var gr=Pt.attributes[Ar].append(vt,Wt),Cr=vt.scopeAttrib(Ar);Object.keys(new ji).forEach(function(cr){Wt.set(Cr,\".\"+cr,gr[cr])})}),Pt.scopeVAO){var pr=Pt.scopeVAO.append(vt,Wt);ma(pr)?Wt.set(rr.vao,\".targetVAO\",pr):Wt.set(rr.vao,\".targetVAO\",vt.link(pr,{stable:!0}))}function kr(Ar){var gr=Pt.shader[Ar];if(gr){var Cr=gr.append(vt,Wt);ma(Cr)?Wt.set(rr.shader,\".\"+Ar,Cr):Wt.set(rr.shader,\".\"+Ar,vt.link(Cr,{stable:!0}))}}kr(je),kr(it),Object.keys(Pt.state).length>0&&(Wt(dr,\".dirty=true;\"),Wt.exit(dr,\".dirty=true;\")),Wt(\"a1(\",vt.shared.context,\",a0,\",vt.batchId,\");\")}function Kt(vt){if(!(typeof vt!=\"object\"||an(vt))){for(var Pt=Object.keys(vt),Wt=0;Wt<Pt.length;++Wt)if(h.isDynamic(vt[Pt[Wt]]))return!0;return!1}}function ir(vt,Pt,Wt){var rr=Pt.static[Wt];if(!rr||!Kt(rr))return;var dr=vt.global,pr=Object.keys(rr),kr=!1,Ar=!1,gr=!1,Cr=vt.global.def(\"{}\");pr.forEach(function(Gr){var ei=rr[Gr];if(h.isDynamic(ei)){typeof ei==\"function\"&&(ei=rr[Gr]=h.unbox(ei));var yi=En(ei,null);kr=kr||yi.thisDep,gr=gr||yi.propDep,Ar=Ar||yi.contextDep}else{switch(dr(Cr,\".\",Gr,\"=\"),typeof ei){case\"number\":dr(ei);break;case\"string\":dr('\"',ei,'\"');break;case\"object\":Array.isArray(ei)&&dr(\"[\",ei.join(),\"]\");break;default:dr(vt.link(ei));break}dr(\";\")}});function cr(Gr,ei){pr.forEach(function(yi){var tn=rr[yi];if(h.isDynamic(tn)){var Ri=Gr.invoke(ei,tn);ei(Cr,\".\",yi,\"=\",Ri,\";\")}})}Pt.dynamic[Wt]=new h.DynamicVariable(Xo,{thisDep:kr,contextDep:Ar,propDep:gr,ref:Cr,append:cr}),delete Pt.static[Wt]}function Jt(vt,Pt,Wt,rr,dr){var pr=Oa();pr.stats=pr.link(dr),Object.keys(Pt.static).forEach(function(Ar){ir(pr,Pt,Ar)}),tr.forEach(function(Ar){ir(pr,vt,Ar)});var kr=yf(vt,Pt,Wt,rr,pr);return kr.shader.program&&(kr.shader.program.attributes.sort(function(Ar,gr){return Ar.name<gr.name?-1:1}),kr.shader.program.uniforms.sort(function(Ar,gr){return Ar.name<gr.name?-1:1})),pe(pr,kr),pt(pr,kr),$e(pr,kr),e(pr.compile(),{destroy:function(){kr.shader.program.destroy()}})}return{next:Za,current:Kn,procs:function(){var vt=Oa(),Pt=vt.proc(\"poll\"),Wt=vt.proc(\"refresh\"),rr=vt.block();Pt(rr),Wt(rr);var dr=vt.shared,pr=dr.gl,kr=dr.next,Ar=dr.current;rr(Ar,\".dirty=false;\"),Fc(vt,Pt),Fc(vt,Wt,null,!0);var gr;Un&&(gr=vt.link(Un)),Wr.oes_vertex_array_object&&Wt(vt.link(Wr.oes_vertex_array_object),\".bindVertexArrayOES(null);\");var Cr=Wt.def(dr.attributes),cr=Wt.def(0),Gr=vt.cond(cr,\".buffer\");Gr.then(pr,\".enableVertexAttribArray(i);\",pr,\".bindBuffer(\",mr,\",\",cr,\".buffer.buffer);\",pr,\".vertexAttribPointer(i,\",cr,\".size,\",cr,\".type,\",cr,\".normalized,\",cr,\".stride,\",cr,\".offset);\").else(pr,\".disableVertexAttribArray(i);\",pr,\".vertexAttrib4f(i,\",cr,\".x,\",cr,\".y,\",cr,\".z,\",cr,\".w);\",cr,\".buffer=null;\");var ei=vt.link(wi.maxAttributes,{stable:!0});return Wt(\"for(var i=0;i<\",ei,\";++i){\",cr,\"=\",Cr,\"[i];\",Gr,\"}\"),Un&&Wt(\"for(var i=0;i<\",ei,\";++i){\",gr,\".vertexAttribDivisorANGLE(i,\",Cr,\"[i].divisor);\",\"}\"),Wt(vt.shared.vao,\".currentVAO=null;\",vt.shared.vao,\".setVAO(\",vt.shared.vao,\".targetVAO);\"),Object.keys(vn).forEach(function(yi){var tn=vn[yi],Ri=rr.def(kr,\".\",yi),ln=vt.block();ln(\"if(\",Ri,\"){\",pr,\".enable(\",tn,\")}else{\",pr,\".disable(\",tn,\")}\",Ar,\".\",yi,\"=\",Ri,\";\"),Wt(ln),Pt(\"if(\",Ri,\"!==\",Ar,\".\",yi,\"){\",ln,\"}\")}),Object.keys(Aa).forEach(function(yi){var tn=Aa[yi],Ri=Kn[yi],ln,Qn,qn=vt.block();if(qn(pr,\".\",tn,\"(\"),an(Ri)){var rn=Ri.length;ln=vt.global.def(kr,\".\",yi),Qn=vt.global.def(Ar,\".\",yi),qn(M(rn,function(bn){return ln+\"[\"+bn+\"]\"}),\");\",M(rn,function(bn){return Qn+\"[\"+bn+\"]=\"+ln+\"[\"+bn+\"];\"}).join(\"\")),Pt(\"if(\",M(rn,function(bn){return ln+\"[\"+bn+\"]!==\"+Qn+\"[\"+bn+\"]\"}).join(\"||\"),\"){\",qn,\"}\")}else ln=rr.def(kr,\".\",yi),Qn=rr.def(Ar,\".\",yi),qn(ln,\");\",Ar,\".\",yi,\"=\",ln,\";\"),Pt(\"if(\",ln,\"!==\",Qn,\"){\",qn,\"}\");Wt(qn)}),vt.compile()}(),compile:Jt}}function ya(){return{vaoCount:0,bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0}}var so=34918,wa=34919,io=35007,Ss=function(At,Er){if(!Er.ext_disjoint_timer_query)return null;var Wr=[];function wi(){return Wr.pop()||Er.ext_disjoint_timer_query.createQueryEXT()}function Ui(Ln){Wr.push(Ln)}var Oi=[];function Bi(Ln){var Un=wi();Er.ext_disjoint_timer_query.beginQueryEXT(io,Un),Oi.push(Un),Dn(Oi.length-1,Oi.length,Ln)}function cn(){Er.ext_disjoint_timer_query.endQueryEXT(io)}function On(){this.startQueryIndex=-1,this.endQueryIndex=-1,this.sum=0,this.stats=null}var Bn=[];function yn(){return Bn.pop()||new On}function to(Ln){Bn.push(Ln)}var Rn=[];function Dn(Ln,Un,gn){var ca=yn();ca.startQueryIndex=Ln,ca.endQueryIndex=Un,ca.sum=0,ca.stats=gn,Rn.push(ca)}var fn=[],Ai=[];function ji(){var Ln,Un,gn=Oi.length;if(gn!==0){Ai.length=Math.max(Ai.length,gn+1),fn.length=Math.max(fn.length,gn+1),fn[0]=0,Ai[0]=0;var ca=0;for(Ln=0,Un=0;Un<Oi.length;++Un){var Kn=Oi[Un];Er.ext_disjoint_timer_query.getQueryObjectEXT(Kn,wa)?(ca+=Er.ext_disjoint_timer_query.getQueryObjectEXT(Kn,so),Ui(Kn)):Oi[Ln++]=Kn,fn[Un+1]=ca,Ai[Un+1]=Ln}for(Oi.length=Ln,Ln=0,Un=0;Un<Rn.length;++Un){var Za=Rn[Un],wn=Za.startQueryIndex,vn=Za.endQueryIndex;Za.sum+=fn[vn]-fn[wn];var Aa=Ai[wn],aa=Ai[vn];aa===Aa?(Za.stats.gpuTime+=Za.sum/1e6,to(Za)):(Za.startQueryIndex=Aa,Za.endQueryIndex=aa,Rn[Ln++]=Za)}Rn.length=Ln}}return{beginQuery:Bi,endQuery:cn,pushScopeStats:Dn,update:ji,getNumPendingQueries:function(){return Oi.length},clear:function(){Wr.push.apply(Wr,Oi);for(var Ln=0;Ln<Wr.length;Ln++)Er.ext_disjoint_timer_query.deleteQueryEXT(Wr[Ln]);Oi.length=0,Wr.length=0},restore:function(){Oi.length=0,Wr.length=0}}},_s=16384,Ns=256,pn=1024,za=34962,Lo=\"webglcontextlost\",Fo=\"webglcontextrestored\",js=1,xl=2,fu=3;function dl(At,Er){for(var Wr=0;Wr<At.length;++Wr)if(At[Wr]===Er)return Wr;return-1}function xc(At){var Er=_(At);if(!Er)return null;var Wr=Er.gl,wi=Wr.getContextAttributes(),Ui=Wr.isContextLost(),Oi=C(Wr,Er);if(!Oi)return null;var Bi=x(),cn=ya(),On=Er.cachedCode||{},Bn=Oi.extensions,yn=Ss(Wr,Bn),to=v(),Rn=Wr.drawingBufferWidth,Dn=Wr.drawingBufferHeight,fn={tick:0,time:0,viewportWidth:Rn,viewportHeight:Dn,framebufferWidth:Rn,framebufferHeight:Dn,drawingBufferWidth:Rn,drawingBufferHeight:Dn,pixelRatio:Er.pixelRatio},Ai={},ji={elements:null,primitive:4,count:-1,offset:0,instances:-1},Ln=Br(Wr,Bn),Un=Zr(Wr,cn,Er,Kn),gn=br(Wr,Bn,Un,cn),ca=xu(Wr,Bn,Ln,cn,Un,gn,ji);function Kn(O){return ca.destroyBuffer(O)}var Za=ju(Wr,Bi,cn,Er),wn=df(Wr,Bn,Ln,function(){aa.procs.poll()},fn,cn,Er),vn=Lc(Wr,Bn,Ln,cn,Er),Aa=vf(Wr,Bn,Ln,wn,vn,cn),aa=ga(Wr,Bi,Bn,Ln,Un,gn,wn,Aa,Ai,ca,Za,ji,fn,yn,On,Er),Xn=Dl(Wr,Aa,aa.procs.poll,fn,wi,Bn,Ln),Vn=aa.next,ma=Wr.canvas,ro=[],Ao=[],Jn=[],Oa=[Er.onDestroy],_o=null;function Po(){if(ro.length===0){yn&&yn.update(),_o=null;return}_o=d.next(Po),ef();for(var O=ro.length-1;O>=0;--O){var $=ro[O];$&&$(fn,null,0)}Wr.flush(),yn&&yn.update()}function Jo(){!_o&&ro.length>0&&(_o=d.next(Po))}function Yl(){_o&&(d.cancel(Po),_o=null)}function $c(O){O.preventDefault(),Ui=!0,Yl(),Ao.forEach(function($){$()})}function xs(O){Wr.getError(),Ui=!1,Oi.restore(),Za.restore(),Un.restore(),wn.restore(),vn.restore(),Aa.restore(),ca.restore(),yn&&yn.restore(),aa.procs.refresh(),Jo(),Jn.forEach(function($){$()})}ma&&(ma.addEventListener(Lo,$c,!1),ma.addEventListener(Fo,xs,!1));function Qc(){ro.length=0,Yl(),ma&&(ma.removeEventListener(Lo,$c),ma.removeEventListener(Fo,xs)),Za.clear(),Aa.clear(),vn.clear(),ca.clear(),wn.clear(),gn.clear(),Un.clear(),yn&&yn.clear(),Oa.forEach(function(O){O()})}function El(O){function $(pr){var kr=e({},pr);delete kr.uniforms,delete kr.attributes,delete kr.context,delete kr.vao,\"stencil\"in kr&&kr.stencil.op&&(kr.stencil.opBack=kr.stencil.opFront=kr.stencil.op,delete kr.stencil.op);function Ar(gr){if(gr in kr){var Cr=kr[gr];delete kr[gr],Object.keys(Cr).forEach(function(cr){kr[gr+\".\"+cr]=Cr[cr]})}}return Ar(\"blend\"),Ar(\"depth\"),Ar(\"cull\"),Ar(\"stencil\"),Ar(\"polygonOffset\"),Ar(\"scissor\"),Ar(\"sample\"),\"vao\"in pr&&(kr.vao=pr.vao),kr}function pe(pr,kr){var Ar={},gr={};return Object.keys(pr).forEach(function(Cr){var cr=pr[Cr];if(h.isDynamic(cr)){gr[Cr]=h.unbox(cr,Cr);return}else if(kr&&Array.isArray(cr)){for(var Gr=0;Gr<cr.length;++Gr)if(h.isDynamic(cr[Gr])){gr[Cr]=h.unbox(cr,Cr);return}}Ar[Cr]=cr}),{dynamic:gr,static:Ar}}var de=pe(O.context||{},!0),Ie=pe(O.uniforms||{},!0),$e=pe(O.attributes||{},!1),pt=pe($(O),!1),Kt={gpuTime:0,cpuTime:0,count:0},ir=aa.compile(pt,$e,Ie,de,Kt),Jt=ir.draw,vt=ir.batch,Pt=ir.scope,Wt=[];function rr(pr){for(;Wt.length<pr;)Wt.push(null);return Wt}function dr(pr,kr){var Ar;if(typeof pr==\"function\")return Pt.call(this,null,pr,0);if(typeof kr==\"function\")if(typeof pr==\"number\")for(Ar=0;Ar<pr;++Ar)Pt.call(this,null,kr,Ar);else if(Array.isArray(pr))for(Ar=0;Ar<pr.length;++Ar)Pt.call(this,pr[Ar],kr,Ar);else return Pt.call(this,pr,kr,0);else if(typeof pr==\"number\"){if(pr>0)return vt.call(this,rr(pr|0),pr|0)}else if(Array.isArray(pr)){if(pr.length)return vt.call(this,pr,pr.length)}else return Jt.call(this,pr)}return e(dr,{stats:Kt,destroy:function(){ir.destroy()}})}var bc=Aa.setFBO=El({framebuffer:h.define.call(null,js,\"framebuffer\")});function wc(O,$){var pe=0;aa.procs.poll();var de=$.color;de&&(Wr.clearColor(+de[0]||0,+de[1]||0,+de[2]||0,+de[3]||0),pe|=_s),\"depth\"in $&&(Wr.clearDepth(+$.depth),pe|=Ns),\"stencil\"in $&&(Wr.clearStencil($.stencil|0),pe|=pn),Wr.clear(pe)}function yf(O){if(\"framebuffer\"in O)if(O.framebuffer&&O.framebuffer_reglType===\"framebufferCube\")for(var $=0;$<6;++$)bc(e({framebuffer:O.framebuffer.faces[$]},O),wc);else bc(O,wc);else wc(null,O)}function Gl(O){ro.push(O);function $(){var pe=dl(ro,O);function de(){var Ie=dl(ro,de);ro[Ie]=ro[ro.length-1],ro.length-=1,ro.length<=0&&Yl()}ro[pe]=de}return Jo(),{cancel:$}}function Fc(){var O=Vn.viewport,$=Vn.scissor_box;O[0]=O[1]=$[0]=$[1]=0,fn.viewportWidth=fn.framebufferWidth=fn.drawingBufferWidth=O[2]=$[2]=Wr.drawingBufferWidth,fn.viewportHeight=fn.framebufferHeight=fn.drawingBufferHeight=O[3]=$[3]=Wr.drawingBufferHeight}function ef(){fn.tick+=1,fn.time=_f(),Fc(),aa.procs.poll()}function ls(){wn.refresh(),Fc(),aa.procs.refresh(),yn&&yn.update()}function _f(){return(v()-to)/1e3}ls();function ns(O,$){var pe;switch(O){case\"frame\":return Gl($);case\"lost\":pe=Ao;break;case\"restore\":pe=Jn;break;case\"destroy\":pe=Oa;break;default:}return pe.push($),{cancel:function(){for(var de=0;de<pe.length;++de)if(pe[de]===$){pe[de]=pe[pe.length-1],pe.pop();return}}}}function Y(){return On}function z(O){Object.entries(O).forEach(function($){On[$[0]]=$[1]})}var K=e(El,{clear:yf,prop:h.define.bind(null,js),context:h.define.bind(null,xl),this:h.define.bind(null,fu),draw:El({}),buffer:function(O){return Un.create(O,za,!1,!1)},elements:function(O){return gn.create(O,!1)},texture:wn.create2D,cube:wn.createCube,renderbuffer:vn.create,framebuffer:Aa.create,framebufferCube:Aa.createCube,vao:ca.createVAO,attributes:wi,frame:Gl,on:ns,limits:Ln,hasExtension:function(O){return Ln.extensions.indexOf(O.toLowerCase())>=0},read:Xn,destroy:Qc,_gl:Wr,_refresh:ls,poll:function(){ef(),yn&&yn.update()},now:_f,stats:cn,getCachedCode:Y,preloadCachedCode:z});return Er.onDone(null,K),K}return xc})});var Iqe=ye((wmr,Pqe)=>{\"use strict\";var QOt=Zm();Pqe.exports=function(t){if(t?typeof t==\"string\"&&(t={container:t}):t={},Cqe(t)?t={container:t}:eBt(t)?t={container:t}:tBt(t)?t={gl:t}:t=QOt(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=window.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if(typeof t.container==\"string\"){var r=document.querySelector(t.container);if(!r)throw Error(\"Element \"+t.container+\" is not found\");t.container=r}Cqe(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=Lqe(),t.container.appendChild(t.canvas),kqe(t))}else if(!t.canvas)if(typeof document!=\"undefined\")t.container=document.body||document.documentElement,t.canvas=Lqe(),t.container.appendChild(t.canvas),kqe(t);else throw Error(\"Not DOM environment. Use headless-gl.\");return t.gl||[\"webgl\",\"experimental-webgl\",\"webgl-experimental\"].some(function(n){try{t.gl=t.canvas.getContext(n,t.attrs)}catch(i){}return t.gl}),t.gl};function kqe(e){if(e.container)if(e.container==document.body)document.body.style.width||(e.canvas.width=e.width||e.pixelRatio*window.innerWidth),document.body.style.height||(e.canvas.height=e.height||e.pixelRatio*window.innerHeight);else{var t=e.container.getBoundingClientRect();e.canvas.width=e.width||t.right-t.left,e.canvas.height=e.height||t.bottom-t.top}}function Cqe(e){return typeof e.getContext==\"function\"&&\"width\"in e&&\"height\"in e}function eBt(e){return typeof e.nodeName==\"string\"&&typeof e.appendChild==\"function\"&&typeof e.getBoundingClientRect==\"function\"}function tBt(e){return typeof e.drawArrays==\"function\"||typeof e.drawElements==\"function\"}function Lqe(){var e=document.createElement(\"canvas\");return e.style.position=\"absolute\",e.style.top=0,e.style.left=0,e}});var Dqe=ye((Tmr,Rqe)=>{\"use strict\";var rBt=UY(),iBt=[32,126];Rqe.exports=nBt;function nBt(e){e=e||{};var t=e.shape?e.shape:e.canvas?[e.canvas.width,e.canvas.height]:[512,512],r=e.canvas||document.createElement(\"canvas\"),n=e.font,i=typeof e.step==\"number\"?[e.step,e.step]:e.step||[32,32],a=e.chars||iBt;if(n&&typeof n!=\"string\"&&(n=rBt(n)),!Array.isArray(a))a=String(a).split(\"\");else if(a.length===2&&typeof a[0]==\"number\"&&typeof a[1]==\"number\"){for(var o=[],s=a[0],l=0;s<=a[1];s++)o[l++]=String.fromCharCode(s);a=o}t=t.slice(),r.width=t[0],r.height=t[1];var u=r.getContext(\"2d\");u.fillStyle=\"#000\",u.fillRect(0,0,r.width,r.height),u.font=n,u.textAlign=\"center\",u.textBaseline=\"middle\",u.fillStyle=\"#fff\";for(var c=i[0]/2,f=i[1]/2,s=0;s<a.length;s++)u.fillText(a[s],c,f),(c+=i[0])>t[0]-i[0]/2&&(c=i[0]/2,f+=i[1]);return r}});var WY=ye(Th=>{\"use strict\";\"use restrict\";var jY=32;Th.INT_BITS=jY;Th.INT_MAX=2147483647;Th.INT_MIN=-1<<jY-1;Th.sign=function(e){return(e>0)-(e<0)};Th.abs=function(e){var t=e>>jY-1;return(e^t)-t};Th.min=function(e,t){return t^(e^t)&-(e<t)};Th.max=function(e,t){return e^(e^t)&-(e<t)};Th.isPow2=function(e){return!(e&e-1)&&!!e};Th.log2=function(e){var t,r;return t=(e>65535)<<4,e>>>=t,r=(e>255)<<3,e>>>=r,t|=r,r=(e>15)<<2,e>>>=r,t|=r,r=(e>3)<<1,e>>>=r,t|=r,t|e>>1};Th.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0};Th.popCount=function(e){return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24};function zqe(e){var t=32;return e&=-e,e&&t--,e&65535&&(t-=16),e&16711935&&(t-=8),e&252645135&&(t-=4),e&858993459&&(t-=2),e&1431655765&&(t-=1),t}Th.countTrailingZeros=zqe;Th.nextPow2=function(e){return e+=e===0,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e+1};Th.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e-(e>>>1)};Th.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,e&=15,27030>>>e&1};var _k=new Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=r&1,--i;e[t]=n<<i&255}})(_k);Th.reverse=function(e){return _k[e&255]<<24|_k[e>>>8&255]<<16|_k[e>>>16&255]<<8|_k[e>>>24&255]};Th.interleave2=function(e,t){return e&=65535,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t&=65535,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1};Th.deinterleave2=function(e,t){return e=e>>>t&1431655765,e=(e|e>>>1)&858993459,e=(e|e>>>2)&252645135,e=(e|e>>>4)&16711935,e=(e|e>>>16)&65535,e<<16>>16};Th.interleave3=function(e,t,r){return e&=1023,e=(e|e<<16)&4278190335,e=(e|e<<8)&251719695,e=(e|e<<4)&3272356035,e=(e|e<<2)&1227133513,t&=1023,t=(t|t<<16)&4278190335,t=(t|t<<8)&251719695,t=(t|t<<4)&3272356035,t=(t|t<<2)&1227133513,e|=t<<1,r&=1023,r=(r|r<<16)&4278190335,r=(r|r<<8)&251719695,r=(r|r<<4)&3272356035,r=(r|r<<2)&1227133513,e|r<<2};Th.deinterleave3=function(e,t){return e=e>>>t&1227133513,e=(e|e>>>2)&3272356035,e=(e|e>>>4)&251719695,e=(e|e>>>8)&4278190335,e=(e|e>>>16)&1023,e<<22>>22};Th.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>zqe(e)+1}});var Oqe=ye((Smr,qqe)=>{\"use strict\";function Fqe(e,t,r){var n=e[r]|0;if(n<=0)return[];var i=new Array(n),a;if(r===e.length-1)for(a=0;a<n;++a)i[a]=t;else for(a=0;a<n;++a)i[a]=Fqe(e,t,r+1);return i}function aBt(e,t){var r,n;for(r=new Array(e),n=0;n<e;++n)r[n]=t;return r}function oBt(e,t){switch(typeof t==\"undefined\"&&(t=0),typeof e){case\"number\":if(e>0)return aBt(e|0,t);break;case\"object\":if(typeof e.length==\"number\")return Fqe(e,t,0);break}return[]}qqe.exports=oBt});var Qqe=ye(Wl=>{\"use strict\";var fx=WY(),Av=Oqe(),Bqe=u2().Buffer;window.__TYPEDARRAY_POOL||(window.__TYPEDARRAY_POOL={UINT8:Av([32,0]),UINT16:Av([32,0]),UINT32:Av([32,0]),BIGUINT64:Av([32,0]),INT8:Av([32,0]),INT16:Av([32,0]),INT32:Av([32,0]),BIGINT64:Av([32,0]),FLOAT:Av([32,0]),DOUBLE:Av([32,0]),DATA:Av([32,0]),UINT8C:Av([32,0]),BUFFER:Av([32,0])});var sBt=typeof Uint8ClampedArray!=\"undefined\",lBt=typeof BigUint64Array!=\"undefined\",uBt=typeof BigInt64Array!=\"undefined\",Xh=window.__TYPEDARRAY_POOL;Xh.UINT8C||(Xh.UINT8C=Av([32,0]));Xh.BIGUINT64||(Xh.BIGUINT64=Av([32,0]));Xh.BIGINT64||(Xh.BIGINT64=Av([32,0]));Xh.BUFFER||(Xh.BUFFER=Av([32,0]));var dF=Xh.DATA,vF=Xh.BUFFER;Wl.free=function(t){if(Bqe.isBuffer(t))vF[fx.log2(t.length)].push(t);else{if(Object.prototype.toString.call(t)!==\"[object ArrayBuffer]\"&&(t=t.buffer),!t)return;var r=t.length||t.byteLength,n=fx.log2(r)|0;dF[n].push(t)}};function Nqe(e){if(e){var t=e.length||e.byteLength,r=fx.log2(t);dF[r].push(e)}}function cBt(e){Nqe(e.buffer)}Wl.freeUint8=Wl.freeUint16=Wl.freeUint32=Wl.freeBigUint64=Wl.freeInt8=Wl.freeInt16=Wl.freeInt32=Wl.freeBigInt64=Wl.freeFloat32=Wl.freeFloat=Wl.freeFloat64=Wl.freeDouble=Wl.freeUint8Clamped=Wl.freeDataView=cBt;Wl.freeArrayBuffer=Nqe;Wl.freeBuffer=function(t){vF[fx.log2(t.length)].push(t)};Wl.malloc=function(t,r){if(r===void 0||r===\"arraybuffer\")return Bp(t);switch(r){case\"uint8\":return ZY(t);case\"uint16\":return Uqe(t);case\"uint32\":return Vqe(t);case\"int8\":return Hqe(t);case\"int16\":return Gqe(t);case\"int32\":return jqe(t);case\"float\":case\"float32\":return Wqe(t);case\"double\":case\"float64\":return Zqe(t);case\"uint8_clamped\":return Xqe(t);case\"bigint64\":return Kqe(t);case\"biguint64\":return Yqe(t);case\"buffer\":return $qe(t);case\"data\":case\"dataview\":return Jqe(t);default:return null}return null};function Bp(t){var t=fx.nextPow2(t),r=fx.log2(t),n=dF[r];return n.length>0?n.pop():new ArrayBuffer(t)}Wl.mallocArrayBuffer=Bp;function ZY(e){return new Uint8Array(Bp(e),0,e)}Wl.mallocUint8=ZY;function Uqe(e){return new Uint16Array(Bp(2*e),0,e)}Wl.mallocUint16=Uqe;function Vqe(e){return new Uint32Array(Bp(4*e),0,e)}Wl.mallocUint32=Vqe;function Hqe(e){return new Int8Array(Bp(e),0,e)}Wl.mallocInt8=Hqe;function Gqe(e){return new Int16Array(Bp(2*e),0,e)}Wl.mallocInt16=Gqe;function jqe(e){return new Int32Array(Bp(4*e),0,e)}Wl.mallocInt32=jqe;function Wqe(e){return new Float32Array(Bp(4*e),0,e)}Wl.mallocFloat32=Wl.mallocFloat=Wqe;function Zqe(e){return new Float64Array(Bp(8*e),0,e)}Wl.mallocFloat64=Wl.mallocDouble=Zqe;function Xqe(e){return sBt?new Uint8ClampedArray(Bp(e),0,e):ZY(e)}Wl.mallocUint8Clamped=Xqe;function Yqe(e){return lBt?new BigUint64Array(Bp(8*e),0,e):null}Wl.mallocBigUint64=Yqe;function Kqe(e){return uBt?new BigInt64Array(Bp(8*e),0,e):null}Wl.mallocBigInt64=Kqe;function Jqe(e){return new DataView(Bp(e),0,e)}Wl.mallocDataView=Jqe;function $qe(e){e=fx.nextPow2(e);var t=fx.log2(e),r=vF[t];return r.length>0?r.pop():new Bqe(e)}Wl.mallocBuffer=$qe;Wl.clearCache=function(){for(var t=0;t<32;++t)Xh.UINT8[t].length=0,Xh.UINT16[t].length=0,Xh.UINT32[t].length=0,Xh.INT8[t].length=0,Xh.INT16[t].length=0,Xh.INT32[t].length=0,Xh.FLOAT[t].length=0,Xh.DOUBLE[t].length=0,Xh.BIGUINT64[t].length=0,Xh.BIGINT64[t].length=0,Xh.UINT8C[t].length=0,dF[t].length=0,vF[t].length=0}});var tOe=ye((Emr,eOe)=>{\"use strict\";var fBt=Object.prototype.toString;eOe.exports=function(e){var t;return fBt.call(e)===\"[object Object]\"&&(t=Object.getPrototypeOf(e),t===null||t===Object.getPrototypeOf({}))}});var XY=ye((kmr,rOe)=>{rOe.exports=function(t,r){r||(r=[0,\"\"]),t=String(t);var n=parseFloat(t,10);return r[0]=n,r[1]=t.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",r}});var aOe=ye((Cmr,nOe)=>{\"use strict\";var hBt=XY();nOe.exports=iOe;var xk=96;function YY(e,t){var r=hBt(getComputedStyle(e).getPropertyValue(t));return r[0]*iOe(r[1],e)}function dBt(e,t){var r=document.createElement(\"div\");r.style[\"font-size\"]=\"128\"+e,t.appendChild(r);var n=YY(r,\"font-size\")/128;return t.removeChild(r),n}function iOe(e,t){switch(t=t||document.body,e=(e||\"px\").trim().toLowerCase(),(t===window||t===document)&&(t=document.body),e){case\"%\":return t.clientHeight/100;case\"ch\":case\"ex\":return dBt(e,t);case\"em\":return YY(t,\"font-size\");case\"rem\":return YY(document.body,\"font-size\");case\"vw\":return window.innerWidth/100;case\"vh\":return window.innerHeight/100;case\"vmin\":return Math.min(window.innerWidth,window.innerHeight)/100;case\"vmax\":return Math.max(window.innerWidth,window.innerHeight)/100;case\"in\":return xk;case\"cm\":return xk/2.54;case\"mm\":return xk/25.4;case\"pt\":return xk/72;case\"pc\":return xk/6}return 1}});var lOe=ye((Lmr,sOe)=>{\"use strict\";sOe.exports=mF;var vBt=mF.canvas=document.createElement(\"canvas\"),pF=vBt.getContext(\"2d\"),oOe=gF([32,126]);mF.createPairs=gF;mF.ascii=oOe;function mF(e,t){Array.isArray(e)&&(e=e.join(\", \"));var r={},n,i=16,a=.05;t&&(t.length===2&&typeof t[0]==\"number\"?n=gF(t):Array.isArray(t)?n=t:(t.o?n=gF(t.o):t.pairs&&(n=t.pairs),t.fontSize&&(i=t.fontSize),t.threshold!=null&&(a=t.threshold))),n||(n=oOe),pF.font=i+\"px \"+e;for(var o=0;o<n.length;o++){var s=n[o],l=pF.measureText(s[0]).width+pF.measureText(s[1]).width,u=pF.measureText(s).width;if(Math.abs(l-u)>i*a){var c=(u-l)/i;r[s]=c*1e3}}return r}function gF(e){for(var t=[],r=e[0];r<=e[1];r++)for(var n=String.fromCharCode(r),i=e[0];i<e[1];i++){var a=String.fromCharCode(i),o=n+a;t.push(o)}return t}});var hOe=ye((Pmr,fOe)=>{\"use strict\";fOe.exports=hx;hx.canvas=document.createElement(\"canvas\");hx.cache={};function hx(o,t){t||(t={}),(typeof o==\"string\"||Array.isArray(o))&&(t.family=o);var r=Array.isArray(t.family)?t.family.join(\", \"):t.family;if(!r)throw Error(\"`family` must be defined\");var n=t.size||t.fontSize||t.em||48,i=t.weight||t.fontWeight||\"\",a=t.style||t.fontStyle||\"\",o=[a,i,n].join(\" \")+\"px \"+r,s=t.origin||\"top\";if(hx.cache[r]&&n<=hx.cache[r].em)return uOe(hx.cache[r],s);var l=t.canvas||hx.canvas,u=l.getContext(\"2d\"),c={upper:t.upper!==void 0?t.upper:\"H\",lower:t.lower!==void 0?t.lower:\"x\",descent:t.descent!==void 0?t.descent:\"p\",ascent:t.ascent!==void 0?t.ascent:\"h\",tittle:t.tittle!==void 0?t.tittle:\"i\",overshoot:t.overshoot!==void 0?t.overshoot:\"O\"},f=Math.ceil(n*1.5);l.height=f,l.width=f*.5,u.font=o;var h=\"H\",d={top:0};u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillStyle=\"black\",u.fillText(h,0,0);var v=Ym(u.getImageData(0,0,f,f));u.clearRect(0,0,f,f),u.textBaseline=\"bottom\",u.fillText(h,0,f);var x=Ym(u.getImageData(0,0,f,f));d.lineHeight=d.bottom=f-x+v,u.clearRect(0,0,f,f),u.textBaseline=\"alphabetic\",u.fillText(h,0,f);var b=Ym(u.getImageData(0,0,f,f)),p=f-b-1+v;d.baseline=d.alphabetic=p,u.clearRect(0,0,f,f),u.textBaseline=\"middle\",u.fillText(h,0,f*.5);var E=Ym(u.getImageData(0,0,f,f));d.median=d.middle=f-E-1+v-f*.5,u.clearRect(0,0,f,f),u.textBaseline=\"hanging\",u.fillText(h,0,f*.5);var k=Ym(u.getImageData(0,0,f,f));d.hanging=f-k-1+v-f*.5,u.clearRect(0,0,f,f),u.textBaseline=\"ideographic\",u.fillText(h,0,f);var A=Ym(u.getImageData(0,0,f,f));if(d.ideographic=f-A-1+v,c.upper&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.upper,0,0),d.upper=Ym(u.getImageData(0,0,f,f)),d.capHeight=d.baseline-d.upper),c.lower&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.lower,0,0),d.lower=Ym(u.getImageData(0,0,f,f)),d.xHeight=d.baseline-d.lower),c.tittle&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.tittle,0,0),d.tittle=Ym(u.getImageData(0,0,f,f))),c.ascent&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.ascent,0,0),d.ascent=Ym(u.getImageData(0,0,f,f))),c.descent&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.descent,0,0),d.descent=cOe(u.getImageData(0,0,f,f))),c.overshoot){u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.overshoot,0,0);var L=cOe(u.getImageData(0,0,f,f));d.overshoot=L-p}for(var _ in d)d[_]/=n;return d.em=n,hx.cache[r]=d,uOe(d,s)}function uOe(e,t){var r={};typeof t==\"string\"&&(t=e[t]);for(var n in e)n!==\"em\"&&(r[n]=e[n]-t);return r}function Ym(e){for(var t=e.height,r=e.data,n=3;n<r.length;n+=4)if(r[n]!==0)return Math.floor((n-3)*.25/t)}function cOe(e){for(var t=e.height,r=e.data,n=r.length-1;n>0;n-=4)if(r[n]!==0)return Math.floor((n-3)*.25/t)}});var gOe=ye((Imr,pOe)=>{\"use strict\";var fA=Eqe(),pBt=Zm(),gBt=GY(),mBt=Iqe(),yBt=EY(),KY=$_(),_Bt=Dqe(),dx=Qqe(),xBt=Q5(),bBt=tOe(),wBt=XY(),TBt=aOe(),ABt=lOe(),SBt=bh(),MBt=hOe(),EBt=W2(),kBt=WY(),dOe=kBt.nextPow2,vOe=new yBt,_F=!1;document.body&&(yF=document.body.appendChild(document.createElement(\"div\")),yF.style.font=\"italic small-caps bold condensed 16px/2 cursive\",getComputedStyle(yF).fontStretch&&(_F=!0),document.body.removeChild(yF));var yF,Vu=function(t){CBt(t)?(t={regl:t},this.gl=t.regl._gl):this.gl=mBt(t),this.shader=vOe.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||gBt({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(),vOe.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(bBt(t)?t:{})};Vu.prototype.createShader=function(){var t=this.regl,r=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(i,a){return[a.atlas.width,a.atlas.height]},atlasDim:function(i,a){return[a.atlas.cols,a.atlas.rows]},atlas:function(i,a){return a.atlas.texture},charStep:function(i,a){return a.atlas.step},em:function(i,a){return a.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}`}),n={};return{regl:t,draw:r,atlas:n}};Vu.prototype.update=function(t){var r=this;if(typeof t==\"string\")t={text:t};else if(!t)return;t=pBt(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),t.opacity!=null&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map(function(ke){return parseFloat(ke)}):this.opacity=parseFloat(t.opacity)),t.viewport!=null&&(this.viewport=xBt(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),this.viewport==null&&(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]),t.kerning!=null&&(this.kerning=t.kerning),t.offset!=null&&(typeof t.offset==\"number\"&&(t.offset=[t.offset,0]),this.positionOffset=EBt(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=Vu.baseFontSize+\"px sans-serif\");var n=!1,i=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach(function(ke,ge){if(typeof ke==\"string\")try{ke=fA.parse(ke)}catch(Ge){ke=fA.parse(Vu.baseFontSize+\"px \"+ke)}else{var ie=ke.style,Te=ke.weight,Ee=ke.stretch,Ae=ke.variant;ke=fA.parse(fA.stringify(ke)),ie&&(ke.style=ie),Te&&(ke.weight=Te),Ee&&(ke.stretch=Ee),Ae&&(ke.variant=Ae)}var ze=fA.stringify({size:Vu.baseFontSize,family:ke.family,stretch:_F?ke.stretch:void 0,variant:ke.variant,weight:ke.weight,style:ke.style}),Ce=wBt(ke.size),me=Math.round(Ce[0]*TBt(Ce[1]));if(me!==r.fontSize[ge]&&(i=!0,r.fontSize[ge]=me),(!r.font[ge]||ze!=r.font[ge].baseString)&&(n=!0,r.font[ge]=Vu.fonts[ze],!r.font[ge])){var Re=ke.family.join(\", \"),ce=[ke.style];ke.style!=ke.variant&&ce.push(ke.variant),ke.variant!=ke.weight&&ce.push(ke.weight),_F&&ke.weight!=ke.stretch&&ce.push(ke.stretch),r.font[ge]={baseString:ze,family:Re,weight:ke.weight,stretch:ke.stretch,style:ke.style,variant:ke.variant,width:{},kerning:{},metrics:MBt(Re,{origin:\"top\",fontSize:Vu.baseFontSize,fontStyle:ce.join(\" \")})},Vu.fonts[ze]=r.font[ge]}}),(n||i)&&this.font.forEach(function(ke,ge){var ie=fA.stringify({size:r.fontSize[ge],family:ke.family,stretch:_F?ke.stretch:void 0,variant:ke.variant,weight:ke.weight,style:ke.style});if(r.fontAtlas[ge]=r.shader.atlas[ie],!r.fontAtlas[ge]){var Te=ke.metrics;r.shader.atlas[ie]=r.fontAtlas[ge]={fontString:ie,step:Math.ceil(r.fontSize[ge]*Te.bottom*.5)*2,em:r.fontSize[ge],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:r.regl.texture()}}t.text==null&&(t.text=r.text)}),typeof t.text==\"string\"&&t.position&&t.position.length>2){for(var a=Array(t.position.length*.5),o=0;o<a.length;o++)a[o]=t.text;t.text=a}var s;if(t.text!=null||n){if(this.textOffsets=[0],Array.isArray(t.text)){this.count=t.text[0].length,this.counts=[this.count];for(var l=1;l<t.text.length;l++)this.textOffsets[l]=this.textOffsets[l-1]+t.text[l-1].length,this.count+=t.text[l].length,this.counts.push(t.text[l].length);this.text=t.text.join(\"\")}else this.text=t.text,this.count=this.text.length,this.counts=[this.count];s=[],this.font.forEach(function(ke,ge){Vu.atlasContext.font=ke.baseString;for(var ie=r.fontAtlas[ge],Te=0;Te<r.text.length;Te++){var Ee=r.text.charAt(Te);if(ie.ids[Ee]==null&&(ie.ids[Ee]=ie.chars.length,ie.chars.push(Ee),s.push(Ee)),ke.width[Ee]==null&&(ke.width[Ee]=Vu.atlasContext.measureText(Ee).width/Vu.baseFontSize,r.kerning)){var Ae=[];for(var ze in ke.width)Ae.push(ze+Ee,Ee+ze);SBt(ke.kerning,ABt(ke.family,{pairs:Ae}))}}})}if(t.position)if(t.position.length>2){for(var u=!t.position[0].length,c=dx.mallocFloat(this.count*2),f=0,h=0;f<this.counts.length;f++){var d=this.counts[f];if(u)for(var v=0;v<d;v++)c[h++]=t.position[f*2],c[h++]=t.position[f*2+1];else for(var x=0;x<d;x++)c[h++]=t.position[f][0],c[h++]=t.position[f][1]}this.position.call?this.position({type:\"float\",data:c}):this.position=this.regl.buffer({type:\"float\",data:c}),dx.freeFloat(c)}else this.position.destroy&&this.position.destroy(),this.position={constant:t.position};if(t.text||n){var b=dx.mallocUint8(this.count),p=dx.mallocFloat(this.count*2);this.textWidth=[];for(var E=0,k=0;E<this.counts.length;E++){for(var A=this.counts[E],L=this.font[E]||this.font[0],_=this.fontAtlas[E]||this.fontAtlas[0],C=0;C<A;C++){var M=this.text.charAt(k),g=this.text.charAt(k-1);if(b[k]=_.ids[M],p[k*2]=L.width[M],C){var P=p[k*2-2],T=p[k*2],F=p[k*2-1],q=F+P*.5+T*.5;if(this.kerning){var V=L.kerning[g+M];V&&(q+=V*.001)}p[k*2+1]=q}else p[k*2+1]=p[k*2]*.5;k++}this.textWidth.push(p.length?p[k*2-2]*.5+p[k*2-1]:0)}t.align||(t.align=this.align),this.charBuffer({data:b,type:\"uint8\",usage:\"stream\"}),this.sizeBuffer({data:p,type:\"float\",usage:\"stream\"}),dx.freeUint8(b),dx.freeFloat(p),s.length&&this.font.forEach(function(ke,ge){var ie=r.fontAtlas[ge],Te=ie.step,Ee=Math.floor(Vu.maxAtlasSize/Te),Ae=Math.min(Ee,ie.chars.length),ze=Math.ceil(ie.chars.length/Ae),Ce=dOe(Ae*Te),me=dOe(ze*Te);ie.width=Ce,ie.height=me,ie.rows=ze,ie.cols=Ae,ie.em&&ie.texture({data:_Bt({canvas:Vu.atlasCanvas,font:ie.fontString,chars:ie.chars,shape:[Ce,me],step:[Te,Te]})})})}if(t.align&&(this.align=t.align,this.alignOffset=this.textWidth.map(function(ke,ge){var ie=Array.isArray(r.align)?r.align.length>1?r.align[ge]:r.align[0]:r.align;if(typeof ie==\"number\")return ie;switch(ie){case\"right\":case\"end\":return-ke;case\"center\":case\"centre\":case\"middle\":return-ke*.5}return 0})),this.baseline==null&&t.baseline==null&&(t.baseline=0),t.baseline!=null&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(ke,ge){var ie=(r.font[ge]||r.font[0]).metrics,Te=0;return Te+=ie.bottom*.5,typeof ke==\"number\"?Te+=ke-ie.baseline:Te+=-ie[ke],Te*=-1,Te})),t.color!=null)if(t.color||(t.color=\"transparent\"),typeof t.color==\"string\"||!isNaN(t.color))this.color=KY(t.color,\"uint8\");else{var H;if(typeof t.color[0]==\"number\"&&t.color.length>this.counts.length){var X=t.color.length;H=dx.mallocUint8(X);for(var G=(t.color.subarray||t.color.slice).bind(t.color),N=0;N<X;N+=4)H.set(KY(G(N,N+4),\"uint8\"),N)}else{var W=t.color.length;H=dx.mallocUint8(W*4);for(var re=0;re<W;re++)H.set(KY(t.color[re]||0,\"uint8\"),re*4)}this.color=H}if(t.position||t.text||t.color||t.baseline||t.align||t.font||t.offset||t.opacity){var ae=this.color.length>4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2;if(ae){var _e=Math.max(this.position.length*.5||0,this.color.length*.25||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,this.positionOffset.length*.5||0);this.batch=Array(_e);for(var Me=0;Me<this.batch.length;Me++)this.batch[Me]={count:this.counts.length>1?this.counts[Me]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[Me]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(Me*4,Me*4+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[Me]:this.opacity,baseline:this.baselineOffset[Me]!=null?this.baselineOffset[Me]:this.baselineOffset[0],align:this.align?this.alignOffset[Me]!=null?this.alignOffset[Me]:this.alignOffset[0]:0,atlas:this.fontAtlas[Me]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(Me*2,Me*2+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=[]}};Vu.prototype.destroy=function(){};Vu.prototype.kerning=!0;Vu.prototype.position={constant:new Float32Array(2)};Vu.prototype.translate=null;Vu.prototype.scale=null;Vu.prototype.font=null;Vu.prototype.text=\"\";Vu.prototype.positionOffset=[0,0];Vu.prototype.opacity=1;Vu.prototype.color=new Uint8Array([0,0,0,255]);Vu.prototype.alignOffset=[0,0];Vu.maxAtlasSize=1024;Vu.atlasCanvas=document.createElement(\"canvas\");Vu.atlasContext=Vu.atlasCanvas.getContext(\"2d\",{alpha:!1});Vu.baseFontSize=64;Vu.fonts={};function CBt(e){return typeof e==\"function\"&&e._gl&&e.prop&&e.texture&&e.buffer}pOe.exports=Vu});var xF=ye((Rmr,mOe)=>{\"use strict\";var LBt=pZ(),PBt=GY();mOe.exports=function(t,r,n){var i=t._fullLayout,a=!0;return i._glcanvas.each(function(o){if(o.regl){o.regl.preloadCachedCode(n);return}if(!(o.pick&&!i._has(\"parcoords\"))){try{o.regl=PBt({canvas:this,attributes:{antialias:!o.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||window.devicePixelRatio,extensions:r||[],cachedCode:n||{}})}catch(s){a=!1}o.regl||(a=!1),a&&this.addEventListener(\"webglcontextlost\",function(s){t&&t.emit&&t.emit(\"plotly_webglcontextlost\",{event:s,layer:o.key})},!1)}}),a||LBt({container:i._glcontainer.node()}),a}});var QY=ye(($Y,wOe)=>{\"use strict\";var yOe=QX(),_Oe=LY(),IBt=lqe(),xOe=gOe(),JY=Mr(),RBt=Sg().selectMode,DBt=xF(),zBt=lu(),FBt=hU(),qBt=YX().styleTextSelection,bOe={};function OBt(e,t,r,n){var i=e._size,a=e.width*n,o=e.height*n,s=i.l*n,l=i.b*n,u=i.r*n,c=i.t*n,f=i.w*n,h=i.h*n;return[s+t.domain[0]*f,l+r.domain[0]*h,a-u-(1-t.domain[1])*f,o-c-(1-r.domain[1])*h]}var $Y=wOe.exports=function(t,r,n){if(n.length){var i=t._fullLayout,a=r._scene,o=r.xaxis,s=r.yaxis,l,u;if(a){var c=DBt(t,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"],bOe);if(!c){a.init();return}var f=a.count,h=i._glcanvas.data()[0].regl;if(FBt(t,r,n),a.dirty){if((a.line2d||a.error2d)&&!(a.scatter2d||a.fill2d||a.glText)&&h.clear({}),a.error2d===!0&&(a.error2d=IBt(h)),a.line2d===!0&&(a.line2d=_Oe(h)),a.scatter2d===!0&&(a.scatter2d=yOe(h)),a.fill2d===!0&&(a.fill2d=_Oe(h)),a.glText===!0)for(a.glText=new Array(f),l=0;l<f;l++)a.glText[l]=new xOe(h);if(a.glText){if(f>a.glText.length){var d=f-a.glText.length;for(l=0;l<d;l++)a.glText.push(new xOe(h))}else if(f<a.glText.length){var v=a.glText.length-f,x=a.glText.splice(f,v);x.forEach(function(W){W.destroy()})}for(l=0;l<f;l++)a.glText[l].update(a.textOptions[l])}if(a.line2d&&(a.line2d.update(a.lineOptions),a.lineOptions=a.lineOptions.map(function(W){if(W&&W.positions){for(var re=W.positions,ae=0;ae<re.length&&(isNaN(re[ae])||isNaN(re[ae+1]));)ae+=2;for(var _e=re.length-2;_e>ae&&(isNaN(re[_e])||isNaN(re[_e+1]));)_e-=2;W.positions=re.slice(ae,_e+2)}return W}),a.line2d.update(a.lineOptions)),a.error2d){var b=(a.errorXOptions||[]).concat(a.errorYOptions||[]);a.error2d.update(b)}a.scatter2d&&a.scatter2d.update(a.markerOptions),a.fillOrder=JY.repeat(null,f),a.fill2d&&(a.fillOptions=a.fillOptions.map(function(W,re){var ae=n[re];if(!(!W||!ae||!ae[0]||!ae[0].trace)){var _e=ae[0],Me=_e.trace,ke=_e.t,ge=a.lineOptions[re],ie,Te,Ee=[];Me._ownfill&&Ee.push(re),Me._nexttrace&&Ee.push(re+1),Ee.length&&(a.fillOrder[re]=Ee);var Ae=[],ze=ge&&ge.positions||ke.positions,Ce,me;if(Me.fill===\"tozeroy\"){for(Ce=0;Ce<ze.length&&isNaN(ze[Ce+1]);)Ce+=2;for(me=ze.length-2;me>Ce&&isNaN(ze[me+1]);)me-=2;ze[Ce+1]!==0&&(Ae=[ze[Ce],0]),Ae=Ae.concat(ze.slice(Ce,me+2)),ze[me+1]!==0&&(Ae=Ae.concat([ze[me],0]))}else if(Me.fill===\"tozerox\"){for(Ce=0;Ce<ze.length&&isNaN(ze[Ce]);)Ce+=2;for(me=ze.length-2;me>Ce&&isNaN(ze[me]);)me-=2;ze[Ce]!==0&&(Ae=[0,ze[Ce+1]]),Ae=Ae.concat(ze.slice(Ce,me+2)),ze[me]!==0&&(Ae=Ae.concat([0,ze[me+1]]))}else if(Me.fill===\"toself\"||Me.fill===\"tonext\"){for(Ae=[],ie=0,W.splitNull=!0,Te=0;Te<ze.length;Te+=2)(isNaN(ze[Te])||isNaN(ze[Te+1]))&&(Ae=Ae.concat(ze.slice(ie,Te)),Ae.push(ze[ie],ze[ie+1]),Ae.push(null,null),ie=Te+2);Ae=Ae.concat(ze.slice(ie)),ie&&Ae.push(ze[ie],ze[ie+1])}else{var Re=Me._nexttrace;if(Re){var ce=a.lineOptions[re+1];if(ce){var Ge=ce.positions;if(Me.fill===\"tonexty\"){for(Ae=ze.slice(),re=Math.floor(Ge.length/2);re--;){var nt=Ge[re*2],ct=Ge[re*2+1];isNaN(nt)||isNaN(ct)||Ae.push(nt,ct)}W.fill=Re.fillcolor}}}}if(Me._prevtrace&&Me._prevtrace.fill===\"tonext\"){var qt=a.lineOptions[re-1].positions,rt=Ae.length/2;ie=rt;var ot=[ie];for(Te=0;Te<qt.length;Te+=2)(isNaN(qt[Te])||isNaN(qt[Te+1]))&&(ot.push(Te/2+rt+1),ie=Te+2);Ae=Ae.concat(qt),W.hole=ot}return W.fillmode=Me.fill,W.opacity=Me.opacity,W.positions=Ae,W}}),a.fill2d.update(a.fillOptions))}var p=i.dragmode,E=RBt(p),k=i.clickmode.indexOf(\"select\")>-1;for(l=0;l<f;l++){var A=n[l][0],L=A.trace,_=A.t,C=_.index,M=L._length,g=_.x,P=_.y;if(L.selectedpoints||E||k){if(E||(E=!0),L.selectedpoints){var T=a.selectBatch[C]=JY.selIndices2selPoints(L),F={};for(u=0;u<T.length;u++)F[T[u]]=1;var q=[];for(u=0;u<M;u++)F[u]||q.push(u);a.unselectBatch[C]=q}var V=_.xpx=new Array(M),H=_.ypx=new Array(M);for(u=0;u<M;u++)V[u]=o.c2p(g[u]),H[u]=s.c2p(P[u])}else _.xpx=_.ypx=null}if(E){if(a.select2d||(a.select2d=yOe(i._glcanvas.data()[1].regl)),a.scatter2d){var X=new Array(f);for(l=0;l<f;l++)X[l]=a.selectBatch[l].length||a.unselectBatch[l].length?a.markerUnselectedOptions[l]:{};a.scatter2d.update(X)}a.select2d&&(a.select2d.update(a.markerOptions),a.select2d.update(a.markerSelectedOptions)),a.glText&&n.forEach(function(W){var re=((W||[])[0]||{}).trace||{};zBt.hasText(re)&&qBt(W)})}else a.scatter2d&&a.scatter2d.update(a.markerOptions);var G={viewport:OBt(i,o,s,t._context.plotGlPixelRatio),range:[(o._rl||o.range)[0],(s._rl||s.range)[0],(o._rl||o.range)[1],(s._rl||s.range)[1]]},N=JY.repeat(G,a.count);a.fill2d&&a.fill2d.update(N),a.line2d&&a.line2d.update(N),a.error2d&&a.error2d.update(N.concat(N)),a.scatter2d&&a.scatter2d.update(N),a.select2d&&a.select2d.update(N),a.glText&&a.glText.forEach(function(W){W.update(G)})}}};$Y.reglPrecompiled=bOe});var SOe=ye((Dmr,AOe)=>{\"use strict\";var TOe=Hze();TOe.plot=QY();AOe.exports=TOe});var EOe=ye((zmr,MOe)=>{\"use strict\";MOe.exports=SOe()});var eK=ye((Fmr,POe)=>{\"use strict\";var BBt=Uc(),LOe=Jl(),kOe=Oc().axisHoverFormat,NBt=Wo().hovertemplateAttrs,bk=tk(),UBt=ad().idRegex,VBt=Vs().templatedArray,hA=no().extendFlat,o1=BBt.marker,HBt=o1.line,GBt=hA(LOe(\"marker.line\",{editTypeOverride:\"calc\"}),{width:hA({},HBt.width,{editType:\"calc\"}),editType:\"calc\"}),bF=hA(LOe(\"marker\"),{symbol:o1.symbol,angle:o1.angle,size:hA({},o1.size,{editType:\"markerSize\"}),sizeref:o1.sizeref,sizemin:o1.sizemin,sizemode:o1.sizemode,opacity:o1.opacity,colorbar:o1.colorbar,line:GBt,editType:\"calc\"});bF.color.editType=bF.cmin.editType=bF.cmax.editType=\"style\";function COe(e){return{valType:\"info_array\",freeLength:!0,editType:\"calc\",items:{valType:\"subplotid\",regex:UBt[e],editType:\"plot\"}}}POe.exports={dimensions:VBt(\"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:hA({},bk.text,{}),hovertext:hA({},bk.hovertext,{}),hovertemplate:NBt(),xhoverformat:kOe(\"x\"),yhoverformat:kOe(\"y\"),marker:bF,xaxes:COe(\"x\"),yaxes:COe(\"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:bk.selected.marker,editType:\"calc\"},unselected:{marker:bk.unselected.marker,editType:\"calc\"},opacity:bk.opacity}});var wF=ye((qmr,IOe)=>{\"use strict\";IOe.exports=function(e,t,r,n){n||(n=1/0);var i,a;for(i=0;i<t.length;i++)a=t[i],a.visible&&(n=Math.min(n,a[r].length));for(n===1/0&&(n=0),e._length=n,i=0;i<t.length;i++)a=t[i],a.visible&&(a._length=n);return n}});var zOe=ye((Omr,DOe)=>{\"use strict\";var tK=Mr(),jBt=Zd(),ROe=eK(),WBt=lu(),ZBt=$p(),XBt=wF(),YBt=Fz().isOpenSymbol;DOe.exports=function(t,r,n,i){function a(d,v){return tK.coerce(t,r,ROe,d,v)}var o=jBt(t,r,{name:\"dimensions\",handleItemDefaults:KBt}),s=a(\"diagonal.visible\"),l=a(\"showupperhalf\"),u=a(\"showlowerhalf\"),c=XBt(r,o,\"values\");if(!c||!s&&!l&&!u){r.visible=!1;return}a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\"),ZBt(t,r,n,i,a,{noAngleRef:!0,noStandOff:!0});var f=YBt(r.marker.symbol),h=WBt.isBubble(r);a(\"marker.line.width\",f||h?1:0),JBt(t,r,i,a),tK.coerceSelectionMarkerOpacity(r,a)};function KBt(e,t){function r(i,a){return tK.coerce(e,t,ROe.dimensions,i,a)}r(\"label\");var n=r(\"values\");n&&n.length?r(\"visible\"):t.visible=!1,r(\"axis.type\"),r(\"axis.matches\")}function JBt(e,t,r,n){var i=t.dimensions,a=i.length,o=t.showupperhalf,s=t.showlowerhalf,l=t.diagonal.visible,u,c,f=new Array(a),h=new Array(a);for(u=0;u<a;u++){var d=u?u+1:\"\";f[u]=\"x\"+d,h[u]=\"y\"+d}var v=n(\"xaxes\",f),x=n(\"yaxes\",h),b=t._diag=new Array(a);t._xaxes={},t._yaxes={};var p=[],E=[];function k(F,q,V,H){if(F){var X=F.charAt(0),G=r._splomAxes[X];if(t[\"_\"+X+\"axes\"][F]=1,H.push(F),!(F in G)){var N=G[F]={};V&&(N.label=V.label||\"\",V.visible&&V.axis&&(V.axis.type&&(N.type=V.axis.type),V.axis.matches&&(N.matches=q)))}}}var A=!l&&!s,L=!l&&!o;for(t._axesDim={},u=0;u<a;u++){var _=i[u],C=u===0,M=u===a-1,g=C&&A||M&&L?void 0:v[u],P=C&&L||M&&A?void 0:x[u];k(g,P,_,p),k(P,g,_,E),b[u]=[g,P],t._axesDim[g]=u,t._axesDim[P]=u}for(u=0;u<p.length;u++)for(c=0;c<E.length;c++){var T=p[u]+E[c];(u>c&&o||u<c&&s||u===c&&(l||!s||!o))&&(r._splomSubplots[T]=1)}(!s||!l&&o&&s)&&(r._splomGridDflt.xside=\"bottom\",r._splomGridDflt.yside=\"left\")}});var OOe=ye((Bmr,qOe)=>{\"use strict\";var FOe=Mr();qOe.exports=function(t,r){var n=t._fullLayout,i=r.uid,a=n._splomScenes;a||(a=n._splomScenes={});var o={dirty:!0,selectBatch:[],unselectBatch:[]},s={matrix:!1,selectBatch:[],unselectBatch:[]},l=a[r.uid];return l||(l=a[i]=FOe.extendFlat({},o,s),l.draw=function(){l.matrix&&l.matrix.draw&&(l.selectBatch.length||l.unselectBatch.length?l.matrix.draw(l.unselectBatch,l.selectBatch):l.matrix.draw()),l.dirty=!1},l.destroy=function(){l.matrix&&l.matrix.destroy&&l.matrix.destroy(),l.matrixOptions=null,l.selectBatch=null,l.unselectBatch=null,l=null}),l.dirty||FOe.extendFlat(l,o),l}});var UOe=ye((Nmr,NOe)=>{\"use strict\";var rK=Mr(),TF=af(),$Bt=q0().calcMarkerSize,QBt=q0().calcAxisExpansion,eNt=z0(),BOe=Y2().markerSelection,tNt=Y2().markerStyle,rNt=OOe(),iNt=es().BADNUM,nNt=sx().TOO_MANY_POINTS;NOe.exports=function(t,r){var n=r.dimensions,i=r._length,a={},o=a.cdata=[],s=a.data=[],l=r._visibleDims=[],u,c,f,h,d;function v(k,A){for(var L=k.makeCalcdata({v:A.values,vcalendar:r.calendar},\"v\"),_=0;_<L.length;_++)L[_]=L[_]===iNt?NaN:L[_];o.push(L),s.push(k.type===\"log\"?rK.simpleMap(L,k.c2l):L)}for(u=0;u<n.length;u++)if(f=n[u],f.visible){if(h=TF.getFromId(t,r._diag[u][0]),d=TF.getFromId(t,r._diag[u][1]),h&&d&&h.type!==d.type){rK.log(\"Skipping splom dimension \"+u+\" with conflicting axis types\");continue}h?(v(h,f),d&&d.type===\"category\"&&(d._categories=h._categories.slice())):v(d,f),l.push(u)}eNt(t,r),rK.extendFlat(a,tNt(t,r));var x=o.length,b=x*i>nNt,p;for(b?p=a.sizeAvg||Math.max(a.size,3):p=$Bt(r,i),c=0;c<l.length;c++)u=l[c],f=n[u],h=TF.getFromId(t,r._diag[u][0])||{},d=TF.getFromId(t,r._diag[u][1])||{},QBt(t,r,h,d,o[c],o[c],p);var E=rNt(t,r);return E.matrix||(E.matrix=!0),E.matrixOptions=a,E.selectedOptions=BOe(t,r,r.selected),E.unselectedOptions=BOe(t,r,r.unselected),[{x:!1,y:!1,t:{},trace:r}]}});var HOe=ye((VOe,wk)=>{(function(){var e,t,r,n,i,a;typeof performance!=\"undefined\"&&performance!==null&&performance.now?wk.exports=function(){return performance.now()}:typeof process!=\"undefined\"&&process!==null&&process.hrtime?(wk.exports=function(){return(e()-i)/1e6},t=process.hrtime,e=function(){var o;return o=t(),o[0]*1e9+o[1]},n=e(),a=process.uptime()*1e9,i=n-a):Date.now?(wk.exports=function(){return Date.now()-r},r=Date.now()):(wk.exports=function(){return new Date().getTime()-r},r=new Date().getTime())}).call(VOe)});var jOe=ye((Umr,MF)=>{var aNt=HOe(),s1=window,AF=[\"moz\",\"webkit\"],vA=\"AnimationFrame\",pA=s1[\"request\"+vA],Tk=s1[\"cancel\"+vA]||s1[\"cancelRequest\"+vA];for(dA=0;!pA&&dA<AF.length;dA++)pA=s1[AF[dA]+\"Request\"+vA],Tk=s1[AF[dA]+\"Cancel\"+vA]||s1[AF[dA]+\"CancelRequest\"+vA];var dA;(!pA||!Tk)&&(SF=0,iK=0,vx=[],GOe=1e3/60,pA=function(e){if(vx.length===0){var t=aNt(),r=Math.max(0,GOe-(t-SF));SF=r+t,setTimeout(function(){var n=vx.slice(0);vx.length=0;for(var i=0;i<n.length;i++)if(!n[i].cancelled)try{n[i].callback(SF)}catch(a){setTimeout(function(){throw a},0)}},Math.round(r))}return vx.push({handle:++iK,callback:e,cancelled:!1}),iK},Tk=function(e){for(var t=0;t<vx.length;t++)vx[t].handle===e&&(vx[t].cancelled=!0)});var SF,iK,vx,GOe;MF.exports=function(e){return pA.call(s1,e)};MF.exports.cancel=function(){Tk.apply(s1,arguments)};MF.exports.polyfill=function(e){e||(e=s1),e.requestAnimationFrame=pA,e.cancelAnimationFrame=Tk}});var ZOe=ye((Vmr,WOe)=>{WOe.exports=function(t,r){var n=typeof t==\"number\",i=typeof r==\"number\";n&&!i?(r=t,t=0):!n&&!i&&(t=0,r=0),t=t|0,r=r|0;var a=r-t;if(a<0)throw new Error(\"array length must be positive\");for(var o=new Array(a),s=0,l=t;s<a;s++,l++)o[s]=l;return o}});var JOe=ye((Hmr,KOe)=>{\"use strict\";var oNt=QX(),sNt=Zm(),lNt=j2(),XOe=jOe(),uNt=ZOe(),nK=Q5(),cNt=W2();KOe.exports=px;function px(e,t){if(!(this instanceof px))return new px(e,t);this.traces=[],this.passes={},this.regl=e,this.scatter=oNt(e),this.canvas=this.scatter.canvas}px.prototype.render=function(...e){return e.length&&this.update(...e),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?this.planned==null&&(this.planned=XOe(()=>{this.draw(),this.dirty=!0,this.planned=null})):(this.draw(),this.dirty=!0,XOe(()=>{this.dirty=!1})),this)};px.prototype.update=function(...e){if(!e.length)return;for(let n=0;n<e.length;n++)this.updateItem(n,e[n]);this.traces=this.traces.filter(Boolean);let t=[],r=0;for(let n=0;n<this.traces.length;n++){let i=this.traces[n],a=this.traces[n].passes;for(let o=0;o<a.length;o++)t.push(this.passes[a[o]]);i.passOffset=r,r+=i.passes.length}return this.scatter.update(...t),this};px.prototype.updateItem=function(e,t){let{regl:r}=this;if(t===null)return this.traces[e]=null,this;if(!t)return this;let n=sNt(t,{data:\"data items columns rows values dimensions samples x\",snap:\"snap cluster\",size:\"sizes size radius\",color:\"colors color fill fill-color fillColor\",opacity:\"opacity alpha transparency opaque\",borderSize:\"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline\",borderColor:\"borderColors borderColor bordercolor stroke stroke-color strokeColor\",marker:\"markers marker shape\",range:\"range ranges databox dataBox\",viewport:\"viewport viewBox viewbox\",domain:\"domain domains area areas\",padding:\"pad padding paddings pads margin margins\",transpose:\"transpose transposed\",diagonal:\"diagonal diag showDiagonal\",upper:\"upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf\",lower:\"lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower\"}),i=this.traces[e]||(this.traces[e]={id:e,buffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),color:\"black\",marker:null,size:12,borderColor:\"transparent\",borderSize:1,viewport:nK([r._gl.drawingBufferWidth,r._gl.drawingBufferHeight]),padding:[0,0,0,0],opacity:1,diagonal:!0,upper:!0,lower:!0});if(n.color!=null&&(i.color=n.color),n.size!=null&&(i.size=n.size),n.marker!=null&&(i.marker=n.marker),n.borderColor!=null&&(i.borderColor=n.borderColor),n.borderSize!=null&&(i.borderSize=n.borderSize),n.opacity!=null&&(i.opacity=n.opacity),n.viewport&&(i.viewport=nK(n.viewport)),n.diagonal!=null&&(i.diagonal=n.diagonal),n.upper!=null&&(i.upper=n.upper),n.lower!=null&&(i.lower=n.lower),n.data){i.buffer(cNt(n.data)),i.columns=n.data.length,i.count=n.data[0].length,i.bounds=[];for(let x=0;x<i.columns;x++)i.bounds[x]=lNt(n.data[x],1)}let a;n.range&&(i.range=n.range,a=i.range&&typeof i.range[0]!=\"number\"),n.domain&&(i.domain=n.domain);let o=!1;n.padding!=null&&(Array.isArray(n.padding)&&n.padding.length===i.columns&&typeof n.padding[n.padding.length-1]==\"number\"?(i.padding=n.padding.map(YOe),o=!0):i.padding=YOe(n.padding));let s=i.columns,l=i.count,u=i.viewport.width,c=i.viewport.height,f=i.viewport.x,h=i.viewport.y,d=u/s,v=c/s;i.passes=[];for(let x=0;x<s;x++)for(let b=0;b<s;b++){if(!i.diagonal&&b===x||!i.upper&&x>b||!i.lower&&x<b)continue;let p=fNt(i.id,x,b),E=this.passes[p]||(this.passes[p]={});if(n.data&&(n.transpose?E.positions={x:{buffer:i.buffer,offset:b,count:l,stride:s},y:{buffer:i.buffer,offset:x,count:l,stride:s}}:E.positions={x:{buffer:i.buffer,offset:b*l,count:l},y:{buffer:i.buffer,offset:x*l,count:l}},E.bounds=EF(i.bounds,x,b)),n.domain||n.viewport||n.data){let k=o?EF(i.padding,x,b):i.padding;if(i.domain){let[A,L,_,C]=EF(i.domain,x,b);E.viewport=[f+A*u+k[0],h+L*c+k[1],f+_*u-k[2],h+C*c-k[3]]}else E.viewport=[f+b*d+d*k[0],h+x*v+v*k[1],f+(b+1)*d-d*k[2],h+(x+1)*v-v*k[3]]}n.color&&(E.color=i.color),n.size&&(E.size=i.size),n.marker&&(E.marker=i.marker),n.borderSize&&(E.borderSize=i.borderSize),n.borderColor&&(E.borderColor=i.borderColor),n.opacity&&(E.opacity=i.opacity),n.range&&(E.range=a?EF(i.range,x,b):i.range||E.bounds),i.passes.push(p)}return this};px.prototype.draw=function(...e){if(!e.length)this.scatter.draw();else{let t=[];for(let r=0;r<e.length;r++)if(typeof e[r]==\"number\"){let{passes:n,passOffset:i}=this.traces[e[r]];t.push(...uNt(i,i+n.length))}else if(e[r].length){let n=e[r],{passes:i,passOffset:a}=this.traces[r];i=i.map((o,s)=>{t[a+s]=n})}this.scatter.draw(...t)}return this};px.prototype.destroy=function(){return this.traces.forEach(e=>{e.buffer&&e.buffer.destroy&&e.buffer.destroy()}),this.traces=null,this.passes=null,this.scatter.destroy(),this};function fNt(e,t,r){let n=e.id!=null?e.id:e,i=t,a=r;return n<<16|(i&255)<<8|a&255}function EF(e,t,r){let n,i,a,o,s,l,u,c,f=e[t],h=e[r];return f.length>2?(n=f[0],a=f[2],i=f[1],o=f[3]):f.length?(n=i=f[0],a=o=f[1]):(n=f.x,i=f.y,a=f.x+f.width,o=f.y+f.height),h.length>2?(s=h[0],u=h[2],l=h[1],c=h[3]):h.length?(s=l=h[0],u=c=h[1]):(s=h.x,l=h.y,u=h.x+h.width,c=h.y+h.height),[s,i,u,o]}function YOe(e){if(typeof e==\"number\")return[e,e,e,e];if(e.length===2)return[e[0],e[1],e[0],e[1]];{let t=nK(e);return[t.x,t.y,t.x+t.width,t.y+t.height]}}});var QOe=ye((Gmr,$Oe)=>{\"use strict\";var hNt=JOe(),aK=Mr(),kF=af(),dNt=Sg().selectMode;$Oe.exports=function(t,r,n){if(n.length)for(var i=0;i<n.length;i++)vNt(t,n[i][0])};function vNt(e,t){var r=e._fullLayout,n=r._size,i=t.trace,a=t.t,o=r._splomScenes[i.uid],s=o.matrixOptions,l=s.cdata,u=r._glcanvas.data()[0].regl,c=r.dragmode,f,h,d,v,x;if(l.length!==0){s.lower=i.showupperhalf,s.upper=i.showlowerhalf,s.diagonal=i.diagonal.visible;var b=i._visibleDims,p=l.length,E=o.viewOpts={};for(E.ranges=new Array(p),E.domains=new Array(p),x=0;x<b.length;x++){d=b[x];var k=E.ranges[x]=new Array(4),A=E.domains[x]=new Array(4);f=kF.getFromId(e,i._diag[d][0]),f&&(k[0]=f._rl[0],k[2]=f._rl[1],A[0]=f.domain[0],A[2]=f.domain[1]),h=kF.getFromId(e,i._diag[d][1]),h&&(k[1]=h._rl[0],k[3]=h._rl[1],A[1]=h.domain[0],A[3]=h.domain[1])}var L=e._context.plotGlPixelRatio,_=n.l*L,C=n.b*L,M=n.w*L,g=n.h*L;E.viewport=[_,C,M+_,g+C],o.matrix===!0&&(o.matrix=hNt(u));var P=r.clickmode.indexOf(\"select\")>-1,T=dNt(c)||!!i.selectedpoints||P,F=!0;if(T){var q=i._length;if(i.selectedpoints){o.selectBatch=i.selectedpoints;var V=i.selectedpoints,H={};for(d=0;d<V.length;d++)H[V[d]]=!0;var X=[];for(d=0;d<q;d++)H[d]||X.push(d);o.unselectBatch=X}var G=a.xpx=new Array(p),N=a.ypx=new Array(p);for(x=0;x<b.length;x++){if(d=b[x],f=kF.getFromId(e,i._diag[d][0]),f)for(G[x]=new Array(q),v=0;v<q;v++)G[x][v]=f.c2p(l[x][v]);if(h=kF.getFromId(e,i._diag[d][1]),h)for(N[x]=new Array(q),v=0;v<q;v++)N[x][v]=h.c2p(l[x][v])}if(o.selectBatch.length||o.unselectBatch.length){var W=aK.extendFlat({},s,o.unselectedOptions,E),re=aK.extendFlat({},s,o.selectedOptions,E);o.matrix.update(W,re),F=!1}}else a.xpx=a.ypx=null;if(F){var ae=aK.extendFlat({},s,E);o.matrix.update(ae,null)}}}});var oK=ye(eBe=>{\"use strict\";eBe.getDimIndex=function(t,r){for(var n=r._id,i=n.charAt(0),a={x:0,y:1}[i],o=t._visibleDims,s=0;s<o.length;s++){var l=o[s];if(t._diag[l][a]===n)return s}return!1}});var aBe=ye((Wmr,nBe)=>{\"use strict\";var tBe=oK(),pNt=zz().calcHover,rBe=Qa().getFromId,gNt=no().extendFlat;function mNt(e,t,r,n,i){i||(i={});var a=(n||\"\").charAt(0)===\"x\",o=(n||\"\").charAt(0)===\"y\",s=iBe(e,t,r);if((a||o)&&i.hoversubplots===\"axis\"&&s[0])for(var l=(a?e.xa:e.ya)._subplotsWith,u=i.gd,c=gNt({},e),f=0;f<l.length;f++){var h=l[f];if(h!==e.xa._id+e.ya._id){o?c.xa=rBe(u,h,\"x\"):c.ya=rBe(u,h,\"y\");var d=a||o,v=iBe(c,t,r,d);s=s.concat(v)}}return s}function iBe(e,t,r,n){var i=e.cd,a=i[0].trace,o=e.scene,s=o.matrixOptions.cdata,l=e.xa,u=e.ya,c=l.c2p(t),f=u.c2p(r),h=e.distance,d=tBe.getDimIndex(a,l),v=tBe.getDimIndex(a,u);if(d===!1||v===!1)return[e];for(var x=s[d],b=s[v],p,E,k=h,A=0;A<x.length;A++)if(!(n&&A!==e.index)){var L=x[A],_=b[A],C=l.c2p(L)-c,M=u.c2p(_)-f,g=Math.sqrt(C*C+M*M);(n||g<k)&&(k=E=g,p=A)}return e.index=p,e.distance=k,e.dxy=E,p===void 0?[e]:[pNt(e,x,b,a)]}nBe.exports={hoverPoints:mNt}});var fBe=ye((Zmr,cBe)=>{\"use strict\";var uBe=Mr(),oBe=uBe.pushUnique,sBe=lu(),lBe=oK();cBe.exports=function(t,r){var n=t.cd,i=n[0].trace,a=n[0].t,o=t.scene,s=o.matrixOptions.cdata,l=t.xaxis,u=t.yaxis,c=[];if(!o)return c;var f=!sBe.hasMarkers(i)&&!sBe.hasText(i);if(i.visible!==!0||f)return c;var h=lBe.getDimIndex(i,l),d=lBe.getDimIndex(i,u);if(h===!1||d===!1)return c;var v=a.xpx[h],x=a.ypx[d],b=s[h],p=s[d],E=(t.scene.selectBatch||[]).slice(),k=[];if(r!==!1&&!r.degenerate)for(var A=0;A<b.length;A++)r.contains([v[A],x[A]],null,A,t)?(c.push({pointNumber:A,x:b[A],y:p[A]}),oBe(E,A)):E.indexOf(A)!==-1?oBe(E,A):k.push(A);var L=o.matrixOptions;return!E.length&&!k.length?o.matrix.update(L,null):!o.selectBatch.length&&!o.unselectBatch.length&&o.matrix.update(o.unselectedOptions,uBe.extendFlat({},L,o.selectedOptions,o.viewOpts)),o.selectBatch=E,o.unselectBatch=k,c}});var vBe=ye((Xmr,dBe)=>{\"use strict\";var hBe=Mr(),yNt=z0(),_Nt=Y2().markerStyle;dBe.exports=function(t,r){var n=r.trace,i=t._fullLayout._splomScenes[n.uid];if(i){yNt(t,n),hBe.extendFlat(i.matrixOptions,_Nt(t,n));var a=hBe.extendFlat({},i.matrixOptions,i.viewOpts);i.matrix.update(a,null)}}});var gBe=ye((Ymr,pBe)=>{\"use strict\";var xNt=ba(),bNt=nV();pBe.exports={moduleType:\"trace\",name:\"splom\",categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:eK(),supplyDefaults:zOe(),colorbar:Kd(),calc:UOe(),plot:QOe(),hoverPoints:aBe().hoverPoints,selectPoints:fBe(),editStyle:vBe(),meta:{}};xNt.register(bNt)});var wBe=ye((Kmr,bBe)=>{\"use strict\";var wNt=LY(),TNt=ba(),ANt=xF(),SNt=kd().getModuleCalcData,gx=Jf(),mBe=af().getFromId,yBe=Qa().shouldShowZeroLine,_Be=\"splom\",xBe={};function MNt(e){var t=e._fullLayout,r=TNt.getModule(_Be),n=SNt(e.calcdata,r)[0],i=ANt(e,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"],xBe);i&&(t._hasOnlyLargeSploms&&sK(e),r.plot(e,{},n))}function ENt(e){var t=e.calcdata,r=e._fullLayout;r._hasOnlyLargeSploms&&sK(e);for(var n=0;n<t.length;n++){var i=t[n][0],a=i.trace,o=r._splomScenes[a.uid];a.type===\"splom\"&&o&&o.matrix&&kNt(e,a,o)}}function kNt(e,t,r){for(var n=r.matrixOptions.data.length,i=t._visibleDims,a=r.viewOpts.ranges=new Array(n),o=0;o<i.length;o++){var s=i[o],l=a[o]=new Array(4),u=mBe(e,t._diag[s][0]);u&&(l[0]=u.r2l(u.range[0]),l[2]=u.r2l(u.range[1]));var c=mBe(e,t._diag[s][1]);c&&(l[1]=c.r2l(c.range[0]),l[3]=c.r2l(c.range[1]))}r.selectBatch.length||r.unselectBatch.length?r.matrix.update({ranges:a},{ranges:a}):r.matrix.update({ranges:a})}function sK(e){var t=e._fullLayout,r=t._glcanvas.data()[0].regl,n=t._splomGrid;n||(n=t._splomGrid=wNt(r)),n.update(CNt(e))}function CNt(e){var t=e._context.plotGlPixelRatio,r=e._fullLayout,n=r._size,i=[0,0,r.width*t,r.height*t],a={},o;function s(_,C,M,g,P,T){M*=t,g*=t,P*=t,T*=t;var F=C[_+\"color\"],q=C[_+\"width\"],V=String(F+q);V in a?a[V].data.push(NaN,NaN,M,g,P,T):a[V]={data:[M,g,P,T],join:\"rect\",thickness:q*t,color:F,viewport:i,range:i,overlay:!1}}for(o in r._splomSubplots){var l=r._plots[o],u=l.xaxis,c=l.yaxis,f=u._gridVals,h=c._gridVals,d=u._offset,v=u._length,x=c._length,b=n.b+c.domain[0]*n.h,p=-c._m,E=-p*c.r2l(c.range[0],c.calendar),k,A;if(u.showgrid)for(o=0;o<f.length;o++)k=d+u.l2p(f[o].x),s(\"grid\",u,k,b,k,b+x);if(c.showgrid)for(o=0;o<h.length;o++)A=b+E+p*h[o].x,s(\"grid\",c,d,A,d+v,A);yBe(e,u,c)&&(k=d+u.l2p(0),s(\"zeroline\",u,k,b,k,b+x)),yBe(e,c,u)&&(A=b+E+0,s(\"zeroline\",c,d,A,d+v,A))}var L=[];for(o in a)L.push(a[o]);return L}function LNt(e,t,r,n){var i={},a;if(n._splomScenes){for(a=0;a<e.length;a++){var o=e[a];o.type===\"splom\"&&(i[o.uid]=1)}for(a=0;a<r.length;a++){var s=r[a];if(!i[s.uid]){var l=n._splomScenes[s.uid];l&&l.destroy&&l.destroy(),n._splomScenes[s.uid]=null,delete n._splomScenes[s.uid]}}}Object.keys(n._splomScenes||{}).length===0&&delete n._splomScenes,n._splomGrid&&!t._hasOnlyLargeSploms&&n._hasOnlyLargeSploms&&(n._splomGrid.destroy(),n._splomGrid=null,delete n._splomGrid),gx.clean(e,t,r,n)}bBe.exports={name:_Be,attr:gx.attr,attrRegex:gx.attrRegex,layoutAttributes:gx.layoutAttributes,supplyLayoutDefaults:gx.supplyLayoutDefaults,drawFramework:gx.drawFramework,plot:MNt,drag:ENt,updateGrid:sK,clean:LNt,updateFx:gx.updateFx,toSVG:gx.toSVG,reglPrecompiled:xBe}});var SBe=ye((Jmr,ABe)=>{\"use strict\";var TBe=gBe();TBe.basePlotModule=wBe(),ABe.exports=TBe});var EBe=ye(($mr,MBe)=>{\"use strict\";MBe.exports=SBe()});var cK=ye((Qmr,kBe)=>{\"use strict\";var PNt=Jl(),lK=Cd(),uK=Su(),INt=Ju().attributes,CF=no().extendFlat,RNt=Vs().templatedArray;kBe.exports={domain:INt({name:\"parcoords\",trace:!0,editType:\"plot\"}),labelangle:{valType:\"angle\",dflt:0,editType:\"plot\"},labelside:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},labelfont:uK({editType:\"plot\"}),tickfont:uK({autoShadowDflt:!0,editType:\"plot\"}),rangefont:uK({editType:\"plot\"}),dimensions:RNt(\"dimension\",{label:{valType:\"string\",editType:\"plot\"},tickvals:CF({},lK.tickvals,{editType:\"plot\"}),ticktext:CF({},lK.ticktext,{editType:\"plot\"}),tickformat:CF({},lK.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:CF({editType:\"calc\"},PNt(\"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\"}}});var Ak=ye((eyr,CBe)=>{\"use strict\";CBe.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:[\"contextLineLayer\",\"focusLineLayer\",\"pickLineLayer\"],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,captureWidth:10,fillColor:\"magenta\",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:\"axis-extent-text\",parcoordsLineLayers:\"parcoords-line-layers\",parcoordsLineLayer:\"parcoords-lines\",parcoords:\"parcoords\",parcoordsControlView:\"parcoords-control-view\",yAxis:\"y-axis\",axisOverlays:\"axis-overlays\",axis:\"axis\",axisHeading:\"axis-heading\",axisTitle:\"axis-title\",axisExtent:\"axis-extent\",axisExtentTop:\"axis-extent-top\",axisExtentTopText:\"axis-extent-top-text\",axisExtentBottom:\"axis-extent-bottom\",axisExtentBottomText:\"axis-extent-bottom-text\",axisBrush:\"axis-brush\"},id:{filterBarPattern:\"filter-bar-pattern\"}}});var Km=ye((tyr,PBe)=>{\"use strict\";var DNt=OS();function LBe(e){return[e]}PBe.exports={keyFun:function(e){return e.key},repeat:LBe,descend:DNt,wrap:LBe,unwrap:function(e){return e[0]}}});var dK=ye((ryr,VBe)=>{\"use strict\";var th=Ak(),em=xa(),zNt=Km().keyFun,LF=Km().repeat,gA=Mr().sorterAsc,FNt=Mr().strTranslate,IBe=th.bar.snapRatio;function RBe(e,t){return e*(1-IBe)+t*IBe}var DBe=th.bar.snapClose;function qNt(e,t){return e*(1-DBe)+t*DBe}function IF(e,t,r,n){if(ONt(r,n))return r;var i=e?-1:1,a=0,o=t.length-1;if(i<0){var s=a;a=o,o=s}for(var l=t[a],u=l,c=a;i*c<i*o;c+=i){var f=c+i,h=t[f];if(i*r<i*qNt(l,h))return RBe(l,u);if(i*r<i*h||f===o)return RBe(h,l);u=l,l=h}}function ONt(e,t){for(var r=0;r<t.length;r++)if(e>=t[r][0]&&e<=t[r][1])return!0;return!1}function BNt(e){e.attr(\"x\",-th.bar.captureWidth/2).attr(\"width\",th.bar.captureWidth)}function NNt(e){e.attr(\"visibility\",\"visible\").style(\"visibility\",\"visible\").attr(\"fill\",\"yellow\").attr(\"opacity\",0)}function UNt(e){if(!e.brush.filterSpecified)return\"0,\"+e.height;for(var t=zBe(e.brush.filter.getConsolidated(),e.height),r=[0],n,i,a,o=t.length?t[0][0]:null,s=0;s<t.length;s++)n=t[s],i=n[1]-n[0],r.push(o),r.push(i),a=s+1,a<t.length&&(o=t[a][0]-n[1]);return r.push(e.height),r}function zBe(e,t){return e.map(function(r){return r.map(function(n){return Math.max(0,n*t)}).sort(gA)})}function VNt(e,t){var r=th.bar.handleHeight;if(!(t>e[1]+r||t<e[0]-r))return t>=.9*e[1]+.1*e[0]?\"n\":t<=.9*e[0]+.1*e[1]?\"s\":\"ns\"}function FBe(){em.select(document.body).style(\"cursor\",null)}function hK(e){e.attr(\"stroke-dasharray\",UNt)}function PF(e,t){var r=em.select(e).selectAll(\".highlight, .highlight-shadow\"),n=t?r.transition().duration(th.bar.snapDuration).each(\"end\",t):r;hK(n)}function qBe(e,t){var r=e.brush,n=r.filterSpecified,i=NaN,a={},o;if(n){var s=e.height,l=r.filter.getConsolidated(),u=zBe(l,s),c=NaN,f=NaN,h=NaN;for(o=0;o<=u.length;o++){var d=u[o];if(d&&d[0]<=t&&t<=d[1]){c=o;break}else if(f=o?o-1:NaN,d&&d[0]>t){h=o;break}}if(i=c,isNaN(i)&&(isNaN(f)||isNaN(h)?i=isNaN(f)?h:f:i=t-u[f][1]<u[h][0]-t?f:h),!isNaN(i)){var v=u[i],x=VNt(v,t);x&&(a.interval=l[i],a.intervalPix=v,a.region=x)}}if(e.ordinal&&!a.region){var b=e.unitTickvals,p=e.unitToPaddedPx.invert(t);for(o=0;o<b.length;o++){var E=[b[Math.max(o-1,0)]*.25+b[o]*.75,b[Math.min(o+1,b.length-1)]*.25+b[o]*.75];if(p>=E[0]&&p<=E[1]){a.clickableOrdinalRange=E;break}}}return a}function HNt(e,t){em.event.sourceEvent.stopPropagation();var r=t.height-em.mouse(e)[1]-2*th.verticalPadding,n=t.unitToPaddedPx.invert(r),i=t.brush,a=qBe(t,r),o=a.interval,s=i.svgBrush;if(s.wasDragged=!1,s.grabbingBar=a.region===\"ns\",s.grabbingBar){var l=o.map(t.unitToPaddedPx);s.grabPoint=r-l[0]-th.verticalPadding,s.barLength=l[1]-l[0]}s.clickableOrdinalRange=a.clickableOrdinalRange,s.stayingIntervals=t.multiselect&&i.filterSpecified?i.filter.getConsolidated():[],o&&(s.stayingIntervals=s.stayingIntervals.filter(function(u){return u[0]!==o[0]&&u[1]!==o[1]})),s.startExtent=a.region?o[a.region===\"s\"?1:0]:n,t.parent.inBrushDrag=!0,s.brushStartCallback()}function OBe(e,t){em.event.sourceEvent.stopPropagation();var r=t.height-em.mouse(e)[1]-2*th.verticalPadding,n=t.brush.svgBrush;n.wasDragged=!0,n._dragging=!0,n.grabbingBar?n.newExtent=[r-n.grabPoint,r+n.barLength-n.grabPoint].map(t.unitToPaddedPx.invert):n.newExtent=[n.startExtent,t.unitToPaddedPx.invert(r)].sort(gA),t.brush.filterSpecified=!0,n.extent=n.stayingIntervals.concat([n.newExtent]),n.brushCallback(t),PF(e.parentNode)}function GNt(e,t){var r=t.brush,n=r.filter,i=r.svgBrush;i._dragging||(BBe(e,t),OBe(e,t),t.brush.svgBrush.wasDragged=!1),i._dragging=!1;var a=em.event;a.sourceEvent.stopPropagation();var o=i.grabbingBar;if(i.grabbingBar=!1,i.grabLocation=void 0,t.parent.inBrushDrag=!1,FBe(),!i.wasDragged){i.wasDragged=void 0,i.clickableOrdinalRange?r.filterSpecified&&t.multiselect?i.extent.push(i.clickableOrdinalRange):(i.extent=[i.clickableOrdinalRange],r.filterSpecified=!0):o?(i.extent=i.stayingIntervals,i.extent.length===0&&fK(r)):fK(r),i.brushCallback(t),PF(e.parentNode),i.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);return}var s=function(){n.set(n.getConsolidated())};if(t.ordinal){var l=t.unitTickvals;l[l.length-1]<l[0]&&l.reverse(),i.newExtent=[IF(0,l,i.newExtent[0],i.stayingIntervals),IF(1,l,i.newExtent[1],i.stayingIntervals)];var u=i.newExtent[1]>i.newExtent[0];i.extent=i.stayingIntervals.concat(u?[i.newExtent]:[]),i.extent.length||fK(r),i.brushCallback(t),u?PF(e.parentNode,s):(s(),PF(e.parentNode))}else s();i.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}function BBe(e,t){var r=t.height-em.mouse(e)[1]-2*th.verticalPadding,n=qBe(t,r),i=\"crosshair\";n.clickableOrdinalRange?i=\"pointer\":n.region&&(i=n.region+\"-resize\"),em.select(document.body).style(\"cursor\",i)}function jNt(e){e.on(\"mousemove\",function(t){em.event.preventDefault(),t.parent.inBrushDrag||BBe(this,t)}).on(\"mouseleave\",function(t){t.parent.inBrushDrag||FBe()}).call(em.behavior.drag().on(\"dragstart\",function(t){HNt(this,t)}).on(\"drag\",function(t){OBe(this,t)}).on(\"dragend\",function(t){GNt(this,t)}))}function NBe(e,t){return e[0]-t[0]}function WNt(e,t,r){var n=r._context.staticPlot,i=e.selectAll(\".background\").data(LF);i.enter().append(\"rect\").classed(\"background\",!0).call(BNt).call(NNt).style(\"pointer-events\",n?\"none\":\"auto\").attr(\"transform\",FNt(0,th.verticalPadding)),i.call(jNt).attr(\"height\",function(s){return s.height-th.verticalPadding});var a=e.selectAll(\".highlight-shadow\").data(LF);a.enter().append(\"line\").classed(\"highlight-shadow\",!0).attr(\"x\",-th.bar.width/2).attr(\"stroke-width\",th.bar.width+th.bar.strokeWidth).attr(\"stroke\",t).attr(\"opacity\",th.bar.strokeOpacity).attr(\"stroke-linecap\",\"butt\"),a.attr(\"y1\",function(s){return s.height}).call(hK);var o=e.selectAll(\".highlight\").data(LF);o.enter().append(\"line\").classed(\"highlight\",!0).attr(\"x\",-th.bar.width/2).attr(\"stroke-width\",th.bar.width-th.bar.strokeWidth).attr(\"stroke\",th.bar.fillColor).attr(\"opacity\",th.bar.fillOpacity).attr(\"stroke-linecap\",\"butt\"),o.attr(\"y1\",function(s){return s.height}).call(hK)}function ZNt(e,t,r){var n=e.selectAll(\".\"+th.cn.axisBrush).data(LF,zNt);n.enter().append(\"g\").classed(th.cn.axisBrush,!0),WNt(n,t,r)}function XNt(e){return e.svgBrush.extent.map(function(t){return t.slice()})}function fK(e){e.filterSpecified=!1,e.svgBrush.extent=[[-1/0,1/0]]}function YNt(e){return function(r){var n=r.brush,i=XNt(n),a=i.slice();n.filter.set(a),e()}}function UBe(e){for(var t=e.slice(),r=[],n,i=t.shift();i;){for(n=i.slice();(i=t.shift())&&i[0]<=n[1];)n[1]=Math.max(n[1],i[1]);r.push(n)}return r.length===1&&r[0][0]>r[0][1]&&(r=[]),r}function KNt(){var e=[],t,r;return{set:function(n){e=n.map(function(i){return i.slice().sort(gA)}).sort(NBe),e.length===1&&e[0][0]===-1/0&&e[0][1]===1/0&&(e=[[0,-1]]),t=UBe(e),r=e.reduce(function(i,a){return[Math.min(i[0],a[0]),Math.max(i[1],a[1])]},[1/0,-1/0])},get:function(){return e.slice()},getConsolidated:function(){return t},getBounds:function(){return r}}}function JNt(e,t,r,n,i,a){var o=KNt();return o.set(r),{filter:o,filterSpecified:t,svgBrush:{extent:[],brushStartCallback:n,brushCallback:YNt(i),brushEndCallback:a}}}function $Nt(e,t){if(Array.isArray(e[0])?(e=e.map(function(n){return n.sort(gA)}),t.multiselect?e=UBe(e.sort(NBe)):e=[e[0]]):e=[e.sort(gA)],t.tickvals){var r=t.tickvals.slice().sort(gA);if(e=e.map(function(n){var i=[IF(0,r,n[0],[]),IF(1,r,n[1],[])];if(i[1]>i[0])return i}).filter(function(n){return n}),!e.length)return}return e.length>1?e:e[0]}VBe.exports={makeBrush:JNt,ensureAxisBrush:ZNt,cleanRanges:$Nt}});var jBe=ye((iyr,GBe)=>{\"use strict\";var mx=Mr(),QNt=Dv().hasColorscale,eUt=Uh(),tUt=Ju().defaults,rUt=Zd(),iUt=Qa(),HBe=cK(),nUt=dK(),vK=Ak().maxDimensionCount,aUt=wF();function oUt(e,t,r,n,i){var a=i(\"line.color\",r);if(QNt(e,\"line\")&&mx.isArrayOrTypedArray(a)){if(a.length)return i(\"line.colorscale\"),eUt(e,t,n,i,{prefix:\"line.\",cLetter:\"c\"}),a.length;t.line.color=r}return 1/0}function sUt(e,t,r,n){function i(u,c){return mx.coerce(e,t,HBe.dimensions,u,c)}var a=i(\"values\"),o=i(\"visible\");if(a&&a.length||(o=t.visible=!1),o){i(\"label\"),i(\"tickvals\"),i(\"ticktext\"),i(\"tickformat\");var s=i(\"range\");t._ax={_id:\"y\",type:\"linear\",showexponent:\"all\",exponentformat:\"B\",range:s},iUt.setConvert(t._ax,n.layout),i(\"multiselect\");var l=i(\"constraintrange\");l&&(t.constraintrange=nUt.cleanRanges(l,t))}}GBe.exports=function(t,r,n,i){function a(c,f){return mx.coerce(t,r,HBe,c,f)}var o=t.dimensions;Array.isArray(o)&&o.length>vK&&(mx.log(\"parcoords traces support up to \"+vK+\" dimensions at the moment\"),o.splice(vK));var s=rUt(t,r,{name:\"dimensions\",layout:i,handleItemDefaults:sUt}),l=oUt(t,r,n,i,a);tUt(r,i,a),(!Array.isArray(s)||!s.length)&&(r.visible=!1),aUt(r,s,\"values\",l);var u=mx.extendFlat({},i.font,{size:Math.round(i.font.size/1.2)});mx.coerceFont(a,\"labelfont\",u),mx.coerceFont(a,\"tickfont\",u,{autoShadowDflt:!0}),mx.coerceFont(a,\"rangefont\",u),a(\"labelangle\"),a(\"labelside\"),a(\"unselected.line.color\"),a(\"unselected.line.opacity\")}});var ZBe=ye((nyr,WBe)=>{\"use strict\";var lUt=Mr().isArrayOrTypedArray,pK=Mu(),uUt=Km().wrap;WBe.exports=function(t,r){var n,i;return pK.hasColorscale(r,\"line\")&&lUt(r.line.color)?(n=r.line.color,i=pK.extractOpts(r.line).colorscale,pK.calc(t,r,{vals:n,containerStr:\"line\",cLetter:\"c\"})):(n=cUt(r._length),i=[[0,r.line.color],[1,r.line.color]]),uUt({lineColor:n,cscale:i})};function cUt(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=.5;return t}});function fUt(e){var c,f;var t,r=[],n=1,i;if(typeof e==\"number\")return{space:\"rgb\",values:[e>>>16,(e&65280)>>>8,e&255],alpha:1};if(typeof e==\"number\")return{space:\"rgb\",values:[e>>>16,(e&65280)>>>8,e&255],alpha:1};if(e=String(e).toLowerCase(),gK.default[e])r=gK.default[e].slice(),i=\"rgb\";else if(e===\"transparent\")n=0,i=\"rgb\",r=[0,0,0];else if(e[0]===\"#\"){var a=e.slice(1),o=a.length,s=o<=4;n=1,s?(r=[parseInt(a[0]+a[0],16),parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16)],o===4&&(n=parseInt(a[3]+a[3],16)/255)):(r=[parseInt(a[0]+a[1],16),parseInt(a[2]+a[3],16),parseInt(a[4]+a[5],16)],o===8&&(n=parseInt(a[6]+a[7],16)/255)),r[0]||(r[0]=0),r[1]||(r[1]=0),r[2]||(r[2]=0),i=\"rgb\"}else if(t=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\\s*\\(([^\\)]*)\\)/.exec(e)){var l=t[1];i=l.replace(/a$/,\"\");var u=i===\"cmyk\"?4:i===\"gray\"?1:3;r=t[2].trim().split(/\\s*[,\\/]\\s*|\\s+/),i===\"color\"&&(i=r.shift()),r=r.map(function(h,d){if(h[h.length-1]===\"%\")return h=parseFloat(h)/100,d===3?h:i===\"rgb\"?h*255:i[0]===\"h\"||i[0]===\"l\"&&!d?h*100:i===\"lab\"?h*125:i===\"lch\"?d<2?h*150:h*360:i[0]===\"o\"&&!d?h:i===\"oklab\"?h*.4:i===\"oklch\"?d<2?h*.4:h*360:h;if(i[d]===\"h\"||d===2&&i[i.length-1]===\"h\"){if(XBe[h]!==void 0)return XBe[h];if(h.endsWith(\"deg\"))return parseFloat(h);if(h.endsWith(\"turn\"))return parseFloat(h)*360;if(h.endsWith(\"grad\"))return parseFloat(h)*360/400;if(h.endsWith(\"rad\"))return parseFloat(h)*180/Math.PI}return h===\"none\"?0:parseFloat(h)}),n=r.length>u?r.pop():1}else/[0-9](?:\\s|\\/|,)/.test(e)&&(r=e.match(/([0-9]+)/g).map(function(h){return parseFloat(h)}),i=((f=(c=e.match(/([a-z])/ig))==null?void 0:c.join(\"\"))==null?void 0:f.toLowerCase())||\"rgb\");return{space:i,values:r,alpha:n}}var gK,YBe,XBe,KBe=Ll(()=>{gK=YQe(rZ(),1),YBe=fUt,XBe={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}});var Sk,mK=Ll(()=>{Sk={name:\"rgb\",min:[0,0,0],max:[255,255,255],channel:[\"red\",\"green\",\"blue\"],alias:[\"RGB\"]}});var RF,JBe=Ll(()=>{mK();RF={name:\"hsl\",min:[0,0,0],max:[360,100,100],channel:[\"hue\",\"saturation\",\"lightness\"],alias:[\"HSL\"],rgb:function(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100,i,a,o,s,l,u=0;if(r===0)return l=n*255,[l,l,l];for(a=n<.5?n*(1+r):n+r-n*r,i=2*n-a,s=[0,0,0];u<3;)o=t+1/3*-(u-1),o<0?o++:o>1&&o--,l=6*o<1?i+(a-i)*6*o:2*o<1?a:3*o<2?i+(a-i)*(2/3-o)*6:i,s[u++]=l*255;return s}};Sk.hsl=function(e){var t=e[0]/255,r=e[1]/255,n=e[2]/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=a-i,s,l,u;return a===i?s=0:t===a?s=(r-n)/o:r===a?s=2+(n-t)/o:n===a&&(s=4+(t-r)/o),s=Math.min(s*60,360),s<0&&(s+=360),u=(i+a)/2,a===i?l=0:u<=.5?l=o/(a+i):l=o/(2-a-i),[s,l*100,u*100]}});var QBe={};QQ(QBe,{default:()=>$Be});function $Be(e){Array.isArray(e)&&e.raw&&(e=String.raw(...arguments)),e instanceof Number&&(e=+e);var t,r,n,i=YBe(e);if(!i.space)return[];let a=i.space[0]===\"h\"?RF.min:Sk.min,o=i.space[0]===\"h\"?RF.max:Sk.max;return t=Array(3),t[0]=Math.min(Math.max(i.values[0],a[0]),o[0]),t[1]=Math.min(Math.max(i.values[1],a[1]),o[1]),t[2]=Math.min(Math.max(i.values[2],a[2]),o[2]),i.space[0]===\"h\"&&(t=RF.rgb(t)),t.push(Math.min(Math.max(i.alpha,0),1)),t}var eNe=Ll(()=>{KBe();mK();JBe()});var yK=ye(DF=>{\"use strict\";var hUt=Mr().isTypedArray;DF.convertTypedArray=function(e){return hUt(e)?Array.prototype.slice.call(e):e};DF.isOrdinal=function(e){return!!e.tickvals};DF.isVisible=function(e){return e.visible||!(\"visible\"in e)}});var cNe=ye((dyr,uNe)=>{\"use strict\";var dUt=[\"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", - "`),vUt=[\"precision highp float;\",\"\",\"varying vec4 fragColor;\",\"\",\"void main() {\",\" gl_FragColor = fragColor;\",\"}\"].join(`\n", - "`),Mk=Ak().maxDimensionCount,oNe=Mr(),tNe=1e-6,zF=2048,pUt=new Uint8Array(4),rNe=new Uint8Array(4),iNe={shape:[256,1],format:\"rgba\",type:\"uint8\",mag:\"nearest\",min:\"nearest\"};function gUt(e){e.read({x:0,y:0,width:1,height:1,data:pUt})}function sNe(e,t,r,n,i){var a=e._gl;a.enable(a.SCISSOR_TEST),a.scissor(t,r,n,i),e.clear({color:[0,0,0,0],depth:1})}function mUt(e,t,r,n,i,a){var o=a.key;function s(l){var u=Math.min(n,i-l*n);l===0&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],sNe(e,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),!r.clearOnly&&(a.count=2*u,a.offset=2*l*n,t(a),l*n+u<i&&(r.currentRafs[o]=window.requestAnimationFrame(function(){s(l+1)})),r.drawCompleted=!1)}r.drawCompleted||(gUt(e),r.drawCompleted=!0),s(0)}function yUt(e){return Math.max(tNe,Math.min(1-tNe,e))}function _Ut(e,t){for(var r=new Array(256),n=0;n<256;n++)r[n]=e(n/255).concat(t);return r}function _K(e,t){return(e>>>8*t)%256/255}function xUt(e,t,r){for(var n=new Array(e*(Mk+4)),i=0,a=0;a<e;a++){for(var o=0;o<Mk;o++)n[i++]=o<t.length?t[o].paddedUnitValues[a]:.5;n[i++]=_K(a,2),n[i++]=_K(a,1),n[i++]=_K(a,0),n[i++]=yUt(r[a])}return n}function bUt(e,t,r){for(var n=new Array(t*8),i=0,a=0;a<t;a++)for(var o=0;o<2;o++)for(var s=0;s<4;s++){var l=e*4+s,u=r[a*64+l];l===63&&o===0&&(u*=-1),n[i++]=u}return n}function nNe(e){var t=\"0\"+e;return t.substr(t.length-2)}function lNe(e){return e<Mk?\"p\"+nNe(e+1)+\"_\"+nNe(e+4):\"colors\"}function wUt(e,t,r){for(var n=0;n<=Mk;n+=4)e[lNe(n)](bUt(n/4,t,r))}function TUt(e){for(var t={},r=0;r<=Mk;r+=4)t[lNe(r)]=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)});return t}function AUt(e,t,r,n,i,a,o,s,l,u,c,f,h,d){for(var v=[[],[]],x=0;x<64;x++)v[0][x]=x===i?1:0,v[1][x]=x===a?1:0;o*=d,s*=d,l*=d,u*=d;var b=e.lines.canvasOverdrag*d,p=e.domain,E=e.canvasWidth*d,k=e.canvasHeight*d,A=e.pad.l*d,L=e.pad.b*d,_=e.layoutHeight*d,C=e.layoutWidth*d,M=e.deselectedLines.color,g=e.deselectedLines.opacity,P=oNe.extendFlat({key:c,resolution:[E,k],viewBoxPos:[o+b,s],viewBoxSize:[l,u],i0:i,i1:a,dim0A:v[0].slice(0,16),dim0B:v[0].slice(16,32),dim0C:v[0].slice(32,48),dim0D:v[0].slice(48,64),dim1A:v[1].slice(0,16),dim1B:v[1].slice(16,32),dim1C:v[1].slice(32,48),dim1D:v[1].slice(48,64),drwLayer:f,contextColor:[M[0]/255,M[1]/255,M[2]/255,g!==\"auto\"?M[3]*g:Math.max(1/255,Math.pow(1/e.lines.color.length,1/3))],scissorX:(n===t?0:o+b)+(A-b)+C*p.x[0],scissorWidth:(n===r?E-o+b:l+.5)+(n===t?o+b:0),scissorY:s+L+_*p.y[0],scissorHeight:u,viewportX:A-b+C*p.x[0],viewportY:L+_*p.y[0],viewportWidth:E,viewportHeight:k},h);return P}function aNe(e){var t=zF-1,r=Math.max(0,Math.floor(e[0]*t),0),n=Math.min(t,Math.ceil(e[1]*t),t);return[Math.min(r,n),Math.max(r,n)]}uNe.exports=function(e,t){var r=t.context,n=t.pick,i=t.regl,a=i._gl,o=a.getParameter(a.ALIASED_LINE_WIDTH_RANGE),s=Math.max(o[0],Math.min(o[1],t.viewModel.plotGlPixelRatio)),l={currentRafs:{},drawCompleted:!0,clearOnly:!1},u,c,f,h,d=TUt(i),v,x=i.texture(iNe),b=[];E(t);var p=i({profile:!1,blend:{enable:r,func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:1,dstAlpha:1},equation:{rgb:\"add\",alpha:\"add\"},color:[0,0,0,0]},depth:{enable:!r,mask:!0,func:\"less\",range:[0,1]},cull:{enable:!0,face:\"back\"},scissor:{enable:!0,box:{x:i.prop(\"scissorX\"),y:i.prop(\"scissorY\"),width:i.prop(\"scissorWidth\"),height:i.prop(\"scissorHeight\")}},viewport:{x:i.prop(\"viewportX\"),y:i.prop(\"viewportY\"),width:i.prop(\"viewportWidth\"),height:i.prop(\"viewportHeight\")},dither:!1,vert:dUt,frag:vUt,primitive:\"lines\",lineWidth:s,attributes:d,uniforms:{resolution:i.prop(\"resolution\"),viewBoxPos:i.prop(\"viewBoxPos\"),viewBoxSize:i.prop(\"viewBoxSize\"),dim0A:i.prop(\"dim0A\"),dim1A:i.prop(\"dim1A\"),dim0B:i.prop(\"dim0B\"),dim1B:i.prop(\"dim1B\"),dim0C:i.prop(\"dim0C\"),dim1C:i.prop(\"dim1C\"),dim0D:i.prop(\"dim0D\"),dim1D:i.prop(\"dim1D\"),loA:i.prop(\"loA\"),hiA:i.prop(\"hiA\"),loB:i.prop(\"loB\"),hiB:i.prop(\"hiB\"),loC:i.prop(\"loC\"),hiC:i.prop(\"hiC\"),loD:i.prop(\"loD\"),hiD:i.prop(\"hiD\"),palette:x,contextColor:i.prop(\"contextColor\"),maskTexture:i.prop(\"maskTexture\"),drwLayer:i.prop(\"drwLayer\"),maskHeight:i.prop(\"maskHeight\")},offset:i.prop(\"offset\"),count:i.prop(\"count\")});function E(M){u=M.model,c=M.viewModel,f=c.dimensions.slice(),h=f[0]?f[0].values.length:0;var g=u.lines,P=n?g.color.map(function(F,q){return q/g.color.length}):g.color,T=xUt(h,f,P);wUt(d,h,T),!r&&!n&&(x=i.texture(oNe.extendFlat({data:_Ut(u.unitToColor,255)},iNe)))}function k(M){var g,P,T,F=[[],[]];for(T=0;T<64;T++){var q=!M&&T<f.length?f[T].brush.filter.getBounds():[-1/0,1/0];F[0][T]=q[0],F[1][T]=q[1]}var V=zF*8,H=new Array(V);for(g=0;g<V;g++)H[g]=255;if(!M)for(g=0;g<f.length;g++){var X=g%8,G=(g-X)/8,N=Math.pow(2,X),W=f[g],re=W.brush.filter.get();if(!(re.length<2)){var ae=aNe(re[0])[1];for(P=1;P<re.length;P++){var _e=aNe(re[P]);for(T=ae+1;T<_e[0];T++)H[T*8+G]&=~N;ae=Math.max(ae,_e[1])}}}var Me={shape:[8,zF],format:\"alpha\",type:\"uint8\",mag:\"nearest\",min:\"nearest\",data:H};return v?v(Me):v=i.texture(Me),{maskTexture:v,maskHeight:zF,loA:F[0].slice(0,16),loB:F[0].slice(16,32),loC:F[0].slice(32,48),loD:F[0].slice(48,64),hiA:F[1].slice(0,16),hiB:F[1].slice(16,32),hiC:F[1].slice(32,48),hiD:F[1].slice(48,64)}}function A(M,g,P){var T=M.length,F,q,V,H=1/0,X=-1/0;for(F=0;F<T;F++)M[F].dim0.canvasX<H&&(H=M[F].dim0.canvasX,q=F),M[F].dim1.canvasX>X&&(X=M[F].dim1.canvasX,V=F);T===0&&sNe(i,0,0,u.canvasWidth,u.canvasHeight);var G=k(r);for(F=0;F<T;F++){var N=M[F],W=N.dim0.crossfilterDimensionIndex,re=N.dim1.crossfilterDimensionIndex,ae=N.canvasX,_e=N.canvasY,Me=ae+N.panelSizeX,ke=N.plotGlPixelRatio;if(g||!b[W]||b[W][0]!==ae||b[W][1]!==Me){b[W]=[ae,Me];var ge=AUt(u,q,V,F,W,re,ae,_e,N.panelSizeX,N.panelSizeY,N.dim0.crossfilterDimensionIndex,r?0:n?2:1,G,ke);l.clearOnly=P;var ie=g?u.lines.blockLineCount:h;mUt(i,p,l,ie,h,ge)}}}function L(M,g){return i.read({x:M,y:g,width:1,height:1,data:rNe}),rNe}function _(M,g,P,T){var F=new Uint8Array(4*P*T);return i.read({x:M,y:g,width:P,height:T,data:F}),F}function C(){e.style[\"pointer-events\"]=\"none\",x.destroy(),v&&v.destroy();for(var M in d)d[M].destroy()}return{render:A,readPixel:L,readPixels:_,destroy:C,update:E}}});var ANe=ye((vyr,TNe)=>{\"use strict\";var zd=xa(),l1=Mr(),xK=l1.isArrayOrTypedArray,gNe=l1.numberFormat,mNe=(eNe(),B1(QBe)).default,yNe=Qa(),SUt=l1.strRotate,Jm=l1.strTranslate,MUt=Pl(),FF=ao(),fNe=Mu(),TK=Km(),tg=TK.keyFun,$m=TK.repeat,_Ne=TK.unwrap,mA=yK(),ll=Ak(),xNe=dK(),EUt=cNe();function hNe(e,t,r){return l1.aggNums(e,null,t,r)}function bNe(e,t){return AK(hNe(Math.min,e,t),hNe(Math.max,e,t))}function qF(e){var t=e.range;return t?AK(t[0],t[1]):bNe(e.values,e._length)}function AK(e,t){return(isNaN(e)||!isFinite(e))&&(e=0),(isNaN(t)||!isFinite(t))&&(t=0),e===t&&(e===0?(e-=1,t+=1):(e*=.9,t*=1.1)),[e,t]}function kUt(e,t){return t?function(r,n){var i=t[n];return i==null?e(r):i}:e}function CUt(e,t,r,n,i){var a=qF(r);return n?zd.scale.ordinal().domain(n.map(kUt(gNe(r.tickformat),i))).range(n.map(function(o){var s=(o-a[0])/(a[1]-a[0]);return e-t+s*(2*t-e)})):zd.scale.linear().domain(a).range([e-t,t])}function LUt(e,t){return zd.scale.linear().range([t,e-t])}function PUt(e,t){return zd.scale.linear().domain(qF(e)).range([t,1-t])}function IUt(e){if(e.tickvals){var t=qF(e);return zd.scale.ordinal().domain(e.tickvals).range(e.tickvals.map(function(r){return(r-t[0])/(t[1]-t[0])}))}}function RUt(e){var t=e.map(function(a){return a[0]}),r=e.map(function(a){var o=mNe(a[1]);return zd.rgb(\"rgb(\"+o[0]+\",\"+o[1]+\",\"+o[2]+\")\")}),n=function(a){return function(o){return o[a]}},i=\"rgb\".split(\"\").map(function(a){return zd.scale.linear().clamp(!0).domain(t).range(r.map(n(a)))});return function(a){return i.map(function(o){return o(a)})}}function wK(e){return e.dimensions.some(function(t){return t.brush.filterSpecified})}function DUt(e,t,r){var n=_Ne(t),i=n.trace,a=mA.convertTypedArray(n.lineColor),o=i.line,s={color:mNe(i.unselected.line.color),opacity:i.unselected.line.opacity},l=fNe.extractOpts(o),u=l.reversescale?fNe.flipScale(n.cscale):n.cscale,c=i.domain,f=i.dimensions,h=e.width,d=i.labelangle,v=i.labelside,x=i.labelfont,b=i.tickfont,p=i.rangefont,E=l1.extendDeepNoArrays({},o,{color:a.map(zd.scale.linear().domain(qF({values:a,range:[l.min,l.max],_length:i._length}))),blockLineCount:ll.blockLineCount,canvasOverdrag:ll.overdrag*ll.canvasPixelRatio}),k=Math.floor(h*(c.x[1]-c.x[0])),A=Math.floor(e.height*(c.y[1]-c.y[0])),L=e.margin||{l:80,r:80,t:100,b:80},_=k,C=A;return{key:r,colCount:f.filter(mA.isVisible).length,dimensions:f,tickDistance:ll.tickDistance,unitToColor:RUt(u),lines:E,deselectedLines:s,labelAngle:d,labelSide:v,labelFont:x,tickFont:b,rangeFont:p,layoutWidth:h,layoutHeight:e.height,domain:c,translateX:c.x[0]*h,translateY:e.height-c.y[1]*e.height,pad:L,canvasWidth:_*ll.canvasPixelRatio+2*E.canvasOverdrag,canvasHeight:C*ll.canvasPixelRatio,width:_,height:C,canvasPixelRatio:ll.canvasPixelRatio}}function zUt(e,t,r){var n=r.width,i=r.height,a=r.dimensions,o=r.canvasPixelRatio,s=function(h){return n*h/Math.max(1,r.colCount-1)},l=ll.verticalPadding/i,u=LUt(i,ll.verticalPadding),c={key:r.key,xScale:s,model:r,inBrushDrag:!1},f={};return c.dimensions=a.filter(mA.isVisible).map(function(h,d){var v=PUt(h,l),x=f[h.label];f[h.label]=(x||0)+1;var b=h.label+(x?\"__\"+x:\"\"),p=h.constraintrange,E=p&&p.length;E&&!xK(p[0])&&(p=[p]);var k=E?p.map(function(q){return q.map(v)}):[[-1/0,1/0]],A=function(){var q=c;q.focusLayer&&q.focusLayer.render(q.panels,!0);var V=wK(q);!e.contextShown()&&V?(q.contextLayer&&q.contextLayer.render(q.panels,!0),e.contextShown(!0)):e.contextShown()&&!V&&(q.contextLayer&&q.contextLayer.render(q.panels,!0,!0),e.contextShown(!1))},L=h.values;L.length>h._length&&(L=L.slice(0,h._length));var _=h.tickvals,C;function M(q,V){return{val:q,text:C[V]}}function g(q,V){return q.val-V.val}if(xK(_)&&_.length){l1.isTypedArray(_)&&(_=Array.from(_)),C=h.ticktext,!xK(C)||!C.length?C=_.map(gNe(h.tickformat)):C.length>_.length?C=C.slice(0,_.length):_.length>C.length&&(_=_.slice(0,C.length));for(var P=1;P<_.length;P++)if(_[P]<_[P-1]){for(var T=_.map(M).sort(g),F=0;F<_.length;F++)_[F]=T[F].val,C[F]=T[F].text;break}}else _=void 0;return L=mA.convertTypedArray(L),{key:b,label:h.label,tickFormat:h.tickformat,tickvals:_,ticktext:C,ordinal:mA.isOrdinal(h),multiselect:h.multiselect,xIndex:d,crossfilterDimensionIndex:d,visibleIndex:h._index,height:i,values:L,paddedUnitValues:L.map(v),unitTickvals:_&&_.map(v),xScale:s,x:s(d),canvasX:s(d)*o,unitToPaddedPx:u,domainScale:CUt(i,ll.verticalPadding,h,_,C),ordinalScale:IUt(h),parent:c,model:r,brush:xNe.makeBrush(e,E,k,function(){e.linePickActive(!1)},A,function(q){if(c.focusLayer.render(c.panels,!0),c.pickLayer&&c.pickLayer.render(c.panels,!0),e.linePickActive(!0),t&&t.filterChanged){var V=v.invert,H=q.map(function(X){return X.map(V).sort(l1.sorterAsc)}).sort(function(X,G){return X[0]-G[0]});t.filterChanged(c.key,h._index,H)}})}}),c}function dNe(e){e.classed(ll.cn.axisExtentText,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"default\")}function FUt(){var e=!0,t=!1;return{linePickActive:function(r){return arguments.length?e=!!r:e},contextShown:function(r){return arguments.length?t=!!r:t}}}function vNe(e,t){var r=t===\"top\"?1:-1,n=e*Math.PI/180,i=Math.sin(n),a=Math.cos(n);return{dir:r,dx:i,dy:a,degrees:e}}function bK(e,t,r){for(var n=t.panels||(t.panels=[]),i=e.data(),a=0;a<i.length-1;a++){var o=n[a]||(n[a]={}),s=i[a],l=i[a+1];o.dim0=s,o.dim1=l,o.canvasX=s.canvasX,o.panelSizeX=l.canvasX-s.canvasX,o.panelSizeY=t.model.canvasHeight,o.y=0,o.canvasY=0,o.plotGlPixelRatio=r}}function qUt(e){for(var t=0;t<e.length;t++)for(var r=0;r<e[t].length;r++)for(var n=e[t][r].trace,i=n.dimensions,a=0;a<i.length;a++){var o=i[a].values,s=i[a]._ax;s&&(s.range?s.range=AK(s.range[0],s.range[1]):s.range=bNe(o,n._length),s.dtick||(s.dtick=.01*(Math.abs(s.range[1]-s.range[0])||1)),s.tickformat=i[a].tickformat,yNe.calcTicks(s),s.cleanRange())}}function wNe(e,t){return yNe.tickText(e._ax,t,!1).text}function pNe(e,t){if(e.ordinal)return\"\";var r=e.domainScale.domain(),n=r[t?r.length-1:0];return wNe(e.model.dimensions[e.visibleIndex],n)}TNe.exports=function(t,r,n,i){var a=t._context.staticPlot,o=t._fullLayout,s=o._toppaper,l=o._glcontainer,u=t._context.plotGlPixelRatio,c=t._fullLayout.paper_bgcolor;qUt(r);var f=FUt(),h=r.filter(function(F){return _Ne(F).trace.visible}).map(DUt.bind(0,n)).map(zUt.bind(0,f,i));l.each(function(F,q){return l1.extendFlat(F,h[q])});var d=l.selectAll(\".gl-canvas\").each(function(F){F.viewModel=h[0],F.viewModel.plotGlPixelRatio=u,F.viewModel.paperColor=c,F.model=F.viewModel?F.viewModel.model:null}),v=null,x=d.filter(function(F){return F.pick});x.style(\"pointer-events\",a?\"none\":\"auto\").on(\"mousemove\",function(F){if(f.linePickActive()&&F.lineLayer&&i&&i.hover){var q=zd.event,V=this.width,H=this.height,X=zd.mouse(this),G=X[0],N=X[1];if(G<0||N<0||G>=V||N>=H)return;var W=F.lineLayer.readPixel(G,H-1-N),re=W[3]!==0,ae=re?W[2]+256*(W[1]+256*W[0]):null,_e={x:G,y:N,clientX:q.clientX,clientY:q.clientY,dataIndex:F.model.key,curveNumber:ae};ae!==v&&(re?i.hover(_e):i.unhover&&i.unhover(_e),v=ae)}}),d.style(\"opacity\",function(F){return F.pick?0:1}),s.style(\"background\",\"rgba(255, 255, 255, 0)\");var b=s.selectAll(\".\"+ll.cn.parcoords).data(h,tg);b.exit().remove(),b.enter().append(\"g\").classed(ll.cn.parcoords,!0).style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"none\"),b.attr(\"transform\",function(F){return Jm(F.model.translateX,F.model.translateY)});var p=b.selectAll(\".\"+ll.cn.parcoordsControlView).data($m,tg);p.enter().append(\"g\").classed(ll.cn.parcoordsControlView,!0),p.attr(\"transform\",function(F){return Jm(F.model.pad.l,F.model.pad.t)});var E=p.selectAll(\".\"+ll.cn.yAxis).data(function(F){return F.dimensions},tg);E.enter().append(\"g\").classed(ll.cn.yAxis,!0),p.each(function(F){bK(E,F,u)}),d.each(function(F){if(F.viewModel){!F.lineLayer||i?F.lineLayer=EUt(this,F):F.lineLayer.update(F),(F.key||F.key===0)&&(F.viewModel[F.key]=F.lineLayer);var q=!F.context||i;F.lineLayer.render(F.viewModel.panels,q)}}),E.attr(\"transform\",function(F){return Jm(F.xScale(F.xIndex),0)}),E.call(zd.behavior.drag().origin(function(F){return F}).on(\"drag\",function(F){var q=F.parent;f.linePickActive(!1),F.x=Math.max(-ll.overdrag,Math.min(F.model.width+ll.overdrag,zd.event.x)),F.canvasX=F.x*F.model.canvasPixelRatio,E.sort(function(V,H){return V.x-H.x}).each(function(V,H){V.xIndex=H,V.x=F===V?V.x:V.xScale(V.xIndex),V.canvasX=V.x*V.model.canvasPixelRatio}),bK(E,q,u),E.filter(function(V){return Math.abs(F.xIndex-V.xIndex)!==0}).attr(\"transform\",function(V){return Jm(V.xScale(V.xIndex),0)}),zd.select(this).attr(\"transform\",Jm(F.x,0)),E.each(function(V,H,X){X===F.parent.key&&(q.dimensions[H]=V)}),q.contextLayer&&q.contextLayer.render(q.panels,!1,!wK(q)),q.focusLayer.render&&q.focusLayer.render(q.panels)}).on(\"dragend\",function(F){var q=F.parent;F.x=F.xScale(F.xIndex),F.canvasX=F.x*F.model.canvasPixelRatio,bK(E,q,u),zd.select(this).attr(\"transform\",function(V){return Jm(V.x,0)}),q.contextLayer&&q.contextLayer.render(q.panels,!1,!wK(q)),q.focusLayer&&q.focusLayer.render(q.panels),q.pickLayer&&q.pickLayer.render(q.panels,!0),f.linePickActive(!0),i&&i.axesMoved&&i.axesMoved(q.key,q.dimensions.map(function(V){return V.crossfilterDimensionIndex}))})),E.exit().remove();var k=E.selectAll(\".\"+ll.cn.axisOverlays).data($m,tg);k.enter().append(\"g\").classed(ll.cn.axisOverlays,!0),k.selectAll(\".\"+ll.cn.axis).remove();var A=k.selectAll(\".\"+ll.cn.axis).data($m,tg);A.enter().append(\"g\").classed(ll.cn.axis,!0),A.each(function(F){var q=F.model.height/F.model.tickDistance,V=F.domainScale,H=V.domain();zd.select(this).call(zd.svg.axis().orient(\"left\").tickSize(4).outerTickSize(2).ticks(q,F.tickFormat).tickValues(F.ordinal?H:null).tickFormat(function(X){return mA.isOrdinal(F)?X:wNe(F.model.dimensions[F.visibleIndex],X)}).scale(V)),FF.font(A.selectAll(\"text\"),F.model.tickFont)}),A.selectAll(\".domain, .tick>line\").attr(\"fill\",\"none\").attr(\"stroke\",\"black\").attr(\"stroke-opacity\",.25).attr(\"stroke-width\",\"1px\"),A.selectAll(\"text\").style(\"cursor\",\"default\");var L=k.selectAll(\".\"+ll.cn.axisHeading).data($m,tg);L.enter().append(\"g\").classed(ll.cn.axisHeading,!0);var _=L.selectAll(\".\"+ll.cn.axisTitle).data($m,tg);_.enter().append(\"text\").classed(ll.cn.axisTitle,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"ew-resize\").style(\"pointer-events\",a?\"none\":\"auto\"),_.text(function(F){return F.label}).each(function(F){var q=zd.select(this);FF.font(q,F.model.labelFont),MUt.convertToTspans(q,t)}).attr(\"transform\",function(F){var q=vNe(F.model.labelAngle,F.model.labelSide),V=ll.axisTitleOffset;return(q.dir>0?\"\":Jm(0,2*V+F.model.height))+SUt(q.degrees)+Jm(-V*q.dx,-V*q.dy)}).attr(\"text-anchor\",function(F){var q=vNe(F.model.labelAngle,F.model.labelSide),V=Math.abs(q.dx),H=Math.abs(q.dy);return 2*V>H?q.dir*q.dx<0?\"start\":\"end\":\"middle\"});var C=k.selectAll(\".\"+ll.cn.axisExtent).data($m,tg);C.enter().append(\"g\").classed(ll.cn.axisExtent,!0);var M=C.selectAll(\".\"+ll.cn.axisExtentTop).data($m,tg);M.enter().append(\"g\").classed(ll.cn.axisExtentTop,!0),M.attr(\"transform\",Jm(0,-ll.axisExtentOffset));var g=M.selectAll(\".\"+ll.cn.axisExtentTopText).data($m,tg);g.enter().append(\"text\").classed(ll.cn.axisExtentTopText,!0).call(dNe),g.text(function(F){return pNe(F,!0)}).each(function(F){FF.font(zd.select(this),F.model.rangeFont)});var P=C.selectAll(\".\"+ll.cn.axisExtentBottom).data($m,tg);P.enter().append(\"g\").classed(ll.cn.axisExtentBottom,!0),P.attr(\"transform\",function(F){return Jm(0,F.model.height+ll.axisExtentOffset)});var T=P.selectAll(\".\"+ll.cn.axisExtentBottomText).data($m,tg);T.enter().append(\"text\").classed(ll.cn.axisExtentBottomText,!0).attr(\"dy\",\"0.75em\").call(dNe),T.text(function(F){return pNe(F,!1)}).each(function(F){FF.font(zd.select(this),F.model.rangeFont)}),xNe.ensureAxisBrush(k,c,t)}});var MK=ye((SK,kNe)=>{\"use strict\";var OUt=ANe(),BUt=xF(),SNe=yK().isVisible,ENe={};function MNe(e,t,r){var n=t.indexOf(r),i=e.indexOf(n);return i===-1&&(i+=t.length),i}function NUt(e,t){return function(n,i){return MNe(e,t,n)-MNe(e,t,i)}}var SK=kNe.exports=function(t,r){var n=t._fullLayout,i=BUt(t,[],ENe);if(i){var a={},o={},s={},l={},u=n._size;r.forEach(function(v,x){var b=v[0].trace;s[x]=b.index;var p=l[x]=b.index;a[x]=t.data[p].dimensions,o[x]=t.data[p].dimensions.slice()});var c=function(v,x,b){var p=o[v][x],E=b.map(function(M){return M.slice()}),k=\"dimensions[\"+x+\"].constraintrange\",A=n._tracePreGUI[t._fullData[s[v]]._fullInput.uid];if(A[k]===void 0){var L=p.constraintrange;A[k]=L||null}var _=t._fullData[s[v]].dimensions[x];E.length?(E.length===1&&(E=E[0]),p.constraintrange=E,_.constraintrange=E.slice(),E=[E]):(delete p.constraintrange,delete _.constraintrange,E=null);var C={};C[k]=E,t.emit(\"plotly_restyle\",[C,[l[v]]])},f=function(v){t.emit(\"plotly_hover\",v)},h=function(v){t.emit(\"plotly_unhover\",v)},d=function(v,x){var b=NUt(x,o[v].filter(SNe));a[v].sort(b),o[v].filter(function(p){return!SNe(p)}).sort(function(p){return o[v].indexOf(p)}).forEach(function(p){a[v].splice(a[v].indexOf(p),1),a[v].splice(o[v].indexOf(p),0,p)}),t.emit(\"plotly_restyle\",[{dimensions:[a[v]]},[l[v]]])};OUt(t,r,{width:u.w,height:u.h,margin:{t:u.t,r:u.r,b:u.b,l:u.l}},{filterChanged:c,hover:f,unhover:h,axesMoved:d})}};SK.reglPrecompiled=ENe});var LNe=ye(Ek=>{\"use strict\";var CNe=xa(),UUt=kd().getModuleCalcData,VUt=MK(),HUt=Zp();Ek.name=\"parcoords\";Ek.plot=function(e){var t=UUt(e.calcdata,\"parcoords\")[0];t.length&&VUt(e,t)};Ek.clean=function(e,t,r,n){var i=n._has&&n._has(\"parcoords\"),a=t._has&&t._has(\"parcoords\");i&&!a&&(n._paperdiv.selectAll(\".parcoords\").remove(),n._glimages.selectAll(\"*\").remove())};Ek.toSVG=function(e){var t=e._fullLayout._glimages,r=CNe.select(e).selectAll(\".svg-container\"),n=r.filter(function(a,o){return o===r.size()-1}).selectAll(\".gl-canvas-context, .gl-canvas-focus\");function i(){var a=this,o=a.toDataURL(\"image/png\"),s=t.append(\"svg:image\");s.attr({xmlns:HUt.svg,\"xlink:href\":o,preserveAspectRatio:\"none\",x:0,y:0,width:a.style.width,height:a.style.height})}n.each(i),window.setTimeout(function(){CNe.selectAll(\"#filterBarPattern\").attr(\"id\",\"filterBarPattern\")},60)}});var INe=ye((gyr,PNe)=>{\"use strict\";PNe.exports={attributes:cK(),supplyDefaults:jBe(),calc:ZBe(),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcoords\",basePlotModule:LNe(),categories:[\"gl\",\"regl\",\"noOpacity\",\"noHover\"],meta:{}}});var zNe=ye((myr,DNe)=>{\"use strict\";var RNe=INe();RNe.plot=MK();DNe.exports=RNe});var qNe=ye((yyr,FNe)=>{\"use strict\";FNe.exports=zNe()});var EK=ye((_yr,UNe)=>{\"use strict\";var BNe=no().extendFlat,GUt=vl(),ONe=Su(),jUt=Jl(),NNe=Wo().hovertemplateAttrs,WUt=Ju().attributes,ZUt=BNe({editType:\"calc\"},jUt(\"line\",{editTypeOverride:\"calc\"}),{shape:{valType:\"enumerated\",values:[\"linear\",\"hspline\"],dflt:\"linear\",editType:\"plot\"},hovertemplate:NNe({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\"]})});UNe.exports={domain:WUt({name:\"parcats\",trace:!0,editType:\"calc\"}),hoverinfo:BNe({},GUt.hoverinfo,{flags:[\"count\",\"probability\"],editType:\"plot\",arrayOk:!1}),hoveron:{valType:\"enumerated\",values:[\"category\",\"color\",\"dimension\"],dflt:\"category\",editType:\"plot\"},hovertemplate:NNe({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\",\"category\",\"categorycount\",\"colorcount\",\"bandcolorcount\"]}),arrangement:{valType:\"enumerated\",values:[\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"perpendicular\",editType:\"plot\"},bundlecolors:{valType:\"boolean\",dflt:!0,editType:\"plot\"},sortpaths:{valType:\"enumerated\",values:[\"forward\",\"backward\"],dflt:\"forward\",editType:\"plot\"},labelfont:ONe({editType:\"calc\"}),tickfont:ONe({autoShadowDflt:!0,editType:\"calc\"}),dimensions:{_isLinkedToArray:\"dimension\",label:{valType:\"string\",editType:\"calc\"},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},values:{valType:\"data_array\",dflt:[],editType:\"calc\"},displayindex:{valType:\"integer\",editType:\"calc\"},editType:\"calc\",visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"}},line:ZUt,counts:{valType:\"number\",min:0,dflt:1,arrayOk:!0,editType:\"calc\"},customdata:void 0,hoverlabel:void 0,ids:void 0,legend:void 0,legendgroup:void 0,legendrank:void 0,opacity:void 0,selectedpoints:void 0,showlegend:void 0}});var GNe=ye((xyr,HNe)=>{\"use strict\";var yA=Mr(),XUt=Dv().hasColorscale,YUt=Uh(),KUt=Ju().defaults,JUt=Zd(),VNe=EK(),$Ut=wF(),QUt=vv().isTypedArraySpec;function eVt(e,t,r,n,i){i(\"line.shape\"),i(\"line.hovertemplate\");var a=i(\"line.color\",n.colorway[0]);if(XUt(e,\"line\")&&yA.isArrayOrTypedArray(a)){if(a.length)return i(\"line.colorscale\"),YUt(e,t,n,i,{prefix:\"line.\",cLetter:\"c\"}),a.length;t.line.color=r}return 1/0}function tVt(e,t){function r(u,c){return yA.coerce(e,t,VNe.dimensions,u,c)}var n=r(\"values\"),i=r(\"visible\");if(n&&n.length||(i=t.visible=!1),i){r(\"label\"),r(\"displayindex\",t._index);var a=e.categoryarray,o=yA.isArrayOrTypedArray(a)&&a.length>0||QUt(a),s;o&&(s=\"array\");var l=r(\"categoryorder\",s);l===\"array\"?(r(\"categoryarray\"),r(\"ticktext\")):(delete e.categoryarray,delete e.ticktext),!o&&l===\"array\"&&(t.categoryorder=\"trace\")}}HNe.exports=function(t,r,n,i){function a(u,c){return yA.coerce(t,r,VNe,u,c)}var o=JUt(t,r,{name:\"dimensions\",handleItemDefaults:tVt}),s=eVt(t,r,n,i,a);KUt(r,i,a),(!Array.isArray(o)||!o.length)&&(r.visible=!1),$Ut(r,o,\"values\",s),a(\"hoveron\"),a(\"hovertemplate\"),a(\"arrangement\"),a(\"bundlecolors\"),a(\"sortpaths\"),a(\"counts\");var l=i.font;yA.coerceFont(a,\"labelfont\",l,{overrideDflt:{size:Math.round(l.size)}}),yA.coerceFont(a,\"tickfont\",l,{autoShadowDflt:!0,overrideDflt:{size:Math.round(l.size/1.2)}})}});var WNe=ye((byr,jNe)=>{\"use strict\";var rVt=Km().wrap,iVt=Dv().hasColorscale,nVt=zv(),aVt=jq(),oVt=ao(),kk=Mr(),sVt=uo();jNe.exports=function(t,r){var n=kk.filterVisible(r.dimensions);if(n.length===0)return[];var i=n.map(function(g){var P;if(g.categoryorder===\"trace\")P=null;else if(g.categoryorder===\"array\")P=g.categoryarray;else{P=aVt(g.values);for(var T=!0,F=0;F<P.length;F++)if(!sVt(P[F])){T=!1;break}P.sort(T?kk.sorterAsc:void 0),g.categoryorder===\"category descending\"&&(P=P.reverse())}return vVt(g.values,P)}),a,o,s;kk.isArrayOrTypedArray(r.counts)?a=r.counts:a=[r.counts],pVt(n),n.forEach(function(g,P){gVt(g,i[P])});var l=r.line,u;l?(iVt(r,\"line\")&&nVt(t,r,{vals:r.line.color,containerStr:\"line\",cLetter:\"c\"}),u=oVt.tryColorscale(l)):u=kk.identity;function c(g){var P,T;return kk.isArrayOrTypedArray(l.color)?(P=l.color[g%l.color.length],T=P):P=l.color,{color:u(P),rawColor:T}}var f=n[0].values.length,h={},d=i.map(function(g){return g.inds});s=0;var v,x;for(v=0;v<f;v++){var b=[];for(x=0;x<d.length;x++)b.push(d[x][v]);o=a[v%a.length],s+=o;var p=c(v),E=b+\"-\"+p.rawColor;h[E]===void 0&&(h[E]=hVt(b,p.color,p.rawColor)),dVt(h[E],v,o)}var k=n.map(function(g,P){return uVt(P,g._index,g._displayindex,g.label,s)});for(v=0;v<f;v++)for(o=a[v%a.length],x=0;x<k.length;x++){var A=k[x].containerInd,L=i[x].inds[v],_=k[x].categories;if(_[L]===void 0){var C=r.dimensions[A]._categoryarray[L],M=r.dimensions[A]._ticktext[L];_[L]=cVt(x,L,C,M)}fVt(_[L],v,o)}return rVt(lVt(k,h,s))};function lVt(e,t,r){var n=e.map(function(i){return i.categories.length}).reduce(function(i,a){return Math.max(i,a)});return{dimensions:e,paths:t,trace:void 0,maxCats:n,count:r}}function uVt(e,t,r,n,i){return{dimensionInd:e,containerInd:t,displayInd:r,dimensionLabel:n,count:i,categories:[],dragX:null}}function cVt(e,t,r,n){return{dimensionInd:e,categoryInd:t,categoryValue:r,displayInd:t,categoryLabel:n,valueInds:[],count:0,dragY:null}}function fVt(e,t,r){e.valueInds.push(t),e.count+=r}function hVt(e,t,r){return{categoryInds:e,color:t,rawColor:r,valueInds:[],count:0}}function dVt(e,t,r){e.valueInds.push(t),e.count+=r}function vVt(e,t){t==null?t=[]:t=t.map(function(u){return u});var r={},n={},i=[];t.forEach(function(u,c){r[u]=0,n[u]=c});for(var a=0;a<e.length;a++){var o=e[a],s;r[o]===void 0?(r[o]=1,s=t.push(o)-1,n[o]=s):(r[o]++,s=n[o]),i.push(s)}var l=t.map(function(u){return r[u]});return{uniqueValues:t,uniqueCounts:l,inds:i}}function pVt(e){var t=e.map(function(n){return n.displayindex}),r;if(mVt(t))for(r=0;r<e.length;r++)e[r]._displayindex=e[r].displayindex;else for(r=0;r<e.length;r++)e[r]._displayindex=r}function gVt(e,t){e._categoryarray=t.uniqueValues,e.ticktext===null||e.ticktext===void 0?e._ticktext=[]:e._ticktext=e.ticktext.slice();for(var r=e._ticktext.length;r<t.uniqueValues.length;r++)e._ticktext.push(t.uniqueValues[r])}function mVt(e){for(var t=new Array(e.length),r=0;r<e.length;r++){if(e[r]<0||e[r]>=e.length||t[e[r]]!==void 0)return!1;t[e[r]]=!0}return!0}});var tUe=ye((wyr,eUe)=>{\"use strict\";var ul=xa(),yVt=(R2(),B1(I2)).interpolateNumber,_Vt=OP(),Pk=Nc(),yx=Mr(),Ck=yx.strTranslate,ZNe=ao(),kK=id(),xVt=Pl();function bVt(e,t,r,n){var i=t._context.staticPlot,a=e.map(FVt.bind(0,t,r)),o=n.selectAll(\"g.parcatslayer\").data([null]);o.enter().append(\"g\").attr(\"class\",\"parcatslayer\").style(\"pointer-events\",i?\"none\":\"all\");var s=o.selectAll(\"g.trace.parcats\").data(a,u1),l=s.enter().append(\"g\").attr(\"class\",\"trace parcats\");s.attr(\"transform\",function(E){return Ck(E.x,E.y)}),l.append(\"g\").attr(\"class\",\"paths\");var u=s.select(\"g.paths\"),c=u.selectAll(\"path.path\").data(function(E){return E.paths},u1);c.attr(\"fill\",function(E){return E.model.color});var f=c.enter().append(\"path\").attr(\"class\",\"path\").attr(\"stroke-opacity\",0).attr(\"fill\",function(E){return E.model.color}).attr(\"fill-opacity\",0);PK(f),c.attr(\"d\",function(E){return E.svgD}),f.empty()||c.sort(CK),c.exit().remove(),c.on(\"mouseover\",wVt).on(\"mouseout\",TVt).on(\"click\",AVt),l.append(\"g\").attr(\"class\",\"dimensions\");var h=s.select(\"g.dimensions\"),d=h.selectAll(\"g.dimension\").data(function(E){return E.dimensions},u1);d.enter().append(\"g\").attr(\"class\",\"dimension\"),d.attr(\"transform\",function(E){return Ck(E.x,0)}),d.exit().remove();var v=d.selectAll(\"g.category\").data(function(E){return E.categories},u1),x=v.enter().append(\"g\").attr(\"class\",\"category\");v.attr(\"transform\",function(E){return Ck(0,E.y)}),x.append(\"rect\").attr(\"class\",\"catrect\").attr(\"pointer-events\",\"none\"),v.select(\"rect.catrect\").attr(\"fill\",\"none\").attr(\"width\",function(E){return E.width}).attr(\"height\",function(E){return E.height}),YNe(x);var b=v.selectAll(\"rect.bandrect\").data(function(E){return E.bands},u1);b.each(function(){yx.raiseToTop(this)}),b.attr(\"fill\",function(E){return E.color});var p=b.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"stroke-opacity\",0).attr(\"fill\",function(E){return E.color}).attr(\"fill-opacity\",0);b.attr(\"fill\",function(E){return E.color}).attr(\"width\",function(E){return E.width}).attr(\"height\",function(E){return E.height}).attr(\"y\",function(E){return E.y}).attr(\"cursor\",function(E){return E.parcatsViewModel.arrangement===\"fixed\"?\"default\":E.parcatsViewModel.arrangement===\"perpendicular\"?\"ns-resize\":\"move\"}),RK(p),b.exit().remove(),x.append(\"text\").attr(\"class\",\"catlabel\").attr(\"pointer-events\",\"none\"),v.select(\"text.catlabel\").attr(\"text-anchor\",function(E){return Lk(E)?\"start\":\"end\"}).attr(\"alignment-baseline\",\"middle\").style(\"fill\",\"rgb(0, 0, 0)\").attr(\"x\",function(E){return Lk(E)?E.width+5:-5}).attr(\"y\",function(E){return E.height/2}).text(function(E){return E.model.categoryLabel}).each(function(E){ZNe.font(ul.select(this),E.parcatsViewModel.categorylabelfont),xVt.convertToTspans(ul.select(this),t)}),x.append(\"text\").attr(\"class\",\"dimlabel\"),v.select(\"text.dimlabel\").attr(\"text-anchor\",\"middle\").attr(\"alignment-baseline\",\"baseline\").attr(\"cursor\",function(E){return E.parcatsViewModel.arrangement===\"fixed\"?\"default\":\"ew-resize\"}).attr(\"x\",function(E){return E.width/2}).attr(\"y\",-5).text(function(E,k){return k===0?E.parcatsViewModel.model.dimensions[E.model.dimensionInd].dimensionLabel:null}).each(function(E){ZNe.font(ul.select(this),E.parcatsViewModel.labelfont)}),v.selectAll(\"rect.bandrect\").on(\"mouseover\",PVt).on(\"mouseout\",IVt),v.exit().remove(),d.call(ul.behavior.drag().origin(function(E){return{x:E.x,y:0}}).on(\"dragstart\",RVt).on(\"drag\",DVt).on(\"dragend\",zVt)),s.each(function(E){E.traceSelection=ul.select(this),E.pathSelection=ul.select(this).selectAll(\"g.paths\").selectAll(\"path.path\"),E.dimensionSelection=ul.select(this).selectAll(\"g.dimensions\").selectAll(\"g.dimension\")}),s.exit().remove()}eUe.exports=function(e,t,r,n){bVt(r,e,n,t)};function u1(e){return e.key}function Lk(e){var t=e.parcatsViewModel.dimensions.length,r=e.parcatsViewModel.dimensions[t-1].model.dimensionInd;return e.model.dimensionInd===r}function CK(e,t){return e.model.rawColor>t.model.rawColor?1:e.model.rawColor<t.model.rawColor?-1:0}function wVt(e){if(!e.parcatsViewModel.dragDimension&&e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1){yx.raiseToTop(this),IK(ul.select(this));var t=Ik(e),r=LK(e);if(e.parcatsViewModel.graphDiv.emit(\"plotly_hover\",{points:t,event:ul.event,constraints:r}),e.parcatsViewModel.hoverinfoItems.indexOf(\"none\")===-1){var n=ul.mouse(this)[0],i=e.parcatsViewModel.graphDiv,a=e.parcatsViewModel.trace,o=i._fullLayout,s=o._paperdiv.node().getBoundingClientRect(),l=e.parcatsViewModel.graphDiv.getBoundingClientRect(),u,c,f;for(f=0;f<e.leftXs.length-1;f++)if(e.leftXs[f]+e.dimWidths[f]-2<=n&&n<=e.leftXs[f+1]+2){var h=e.parcatsViewModel.dimensions[f],d=e.parcatsViewModel.dimensions[f+1];u=(h.x+h.width+d.x)/2,c=(e.topYs[f]+e.topYs[f+1]+e.height)/2;break}var v=e.parcatsViewModel.x+u,x=e.parcatsViewModel.y+c,b=kK.mostReadable(e.model.color,[\"black\",\"white\"]),p=e.model.count,E=p/e.parcatsViewModel.model.count,k={countLabel:p,probabilityLabel:E.toFixed(3)},A=[];e.parcatsViewModel.hoverinfoItems.indexOf(\"count\")!==-1&&A.push([\"Count:\",k.countLabel].join(\" \")),e.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")!==-1&&A.push([\"P:\",k.probabilityLabel].join(\" \"));var L=A.join(\"<br>\"),_=ul.mouse(i)[0];Pk.loneHover({trace:a,x:v-s.left+l.left,y:x-s.top+l.top,text:L,color:e.model.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:10,fontColor:b,idealAlign:_<v?\"right\":\"left\",hovertemplate:(a.line||{}).hovertemplate,hovertemplateLabels:k,eventData:[{data:a._input,fullData:a,count:p,probability:E}]},{container:o._hoverlayer.node(),outerContainer:o._paper.node(),gd:i})}}}function TVt(e){if(!e.parcatsViewModel.dragDimension&&(PK(ul.select(this)),Pk.loneUnhover(e.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()),e.parcatsViewModel.pathSelection.sort(CK),e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1)){var t=Ik(e),r=LK(e);e.parcatsViewModel.graphDiv.emit(\"plotly_unhover\",{points:t,event:ul.event,constraints:r})}}function Ik(e){for(var t=[],r=JNe(e.parcatsViewModel),n=0;n<e.model.valueInds.length;n++){var i=e.model.valueInds[n];t.push({curveNumber:r,pointNumber:i})}return t}function LK(e){for(var t={},r=e.parcatsViewModel.model.dimensions,n=0;n<r.length;n++){var i=r[n],a=i.categories[e.model.categoryInds[n]];t[i.containerInd]=a.categoryValue}return e.model.rawColor!==void 0&&(t.color=e.model.rawColor),t}function AVt(e){if(e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1){var t=Ik(e),r=LK(e);e.parcatsViewModel.graphDiv.emit(\"plotly_click\",{points:t,event:ul.event,constraints:r})}}function PK(e){e.attr(\"fill\",function(t){return t.model.color}).attr(\"fill-opacity\",.6).attr(\"stroke\",\"lightgray\").attr(\"stroke-width\",.2).attr(\"stroke-opacity\",1)}function IK(e){e.attr(\"fill-opacity\",.8).attr(\"stroke\",function(t){return kK.mostReadable(t.model.color,[\"black\",\"white\"])}).attr(\"stroke-width\",.3)}function SVt(e){e.select(\"rect.catrect\").attr(\"stroke\",\"black\").attr(\"stroke-width\",2.5)}function YNe(e){e.select(\"rect.catrect\").attr(\"stroke\",\"black\").attr(\"stroke-width\",1).attr(\"stroke-opacity\",1)}function MVt(e){e.attr(\"stroke\",\"black\").attr(\"stroke-width\",1.5)}function RK(e){e.attr(\"stroke\",\"black\").attr(\"stroke-width\",.2).attr(\"stroke-opacity\",1).attr(\"fill-opacity\",1)}function OF(e){var t=e.parcatsViewModel.pathSelection,r=e.categoryViewModel.model.dimensionInd,n=e.categoryViewModel.model.categoryInd;return t.filter(function(i){return i.model.categoryInds[r]===n&&i.model.color===e.color})}function EVt(e){var t=ul.select(e.parentNode).selectAll(\"rect.bandrect\");t.each(function(r){var n=OF(r);IK(n),n.each(function(){yx.raiseToTop(this)})}),SVt(ul.select(e.parentNode))}function kVt(e){var t=ul.select(e).datum(),r=OF(t);IK(r),r.each(function(){yx.raiseToTop(this)}),ul.select(e.parentNode).selectAll(\"rect.bandrect\").filter(function(n){return n.color===t.color}).each(function(){yx.raiseToTop(this),MVt(ul.select(this))})}function DK(e,t,r){var n=ul.select(e).datum(),i=n.categoryViewModel.model,a=n.parcatsViewModel.graphDiv,o=ul.select(e.parentNode).selectAll(\"rect.bandrect\"),s=[];o.each(function(u){var c=OF(u);c.each(function(f){Array.prototype.push.apply(s,Ik(f))})});var l={};l[i.dimensionInd]=i.categoryValue,a.emit(t,{points:s,event:r,constraints:l})}function zK(e,t,r){var n=ul.select(e).datum(),i=n.categoryViewModel.model,a=n.parcatsViewModel.graphDiv,o=OF(n),s=[];o.each(function(u){Array.prototype.push.apply(s,Ik(u))});var l={};l[i.dimensionInd]=i.categoryValue,n.rawColor!==void 0&&(l.color=n.rawColor),a.emit(t,{points:s,event:r,constraints:l})}function KNe(e,t,r){e._fullLayout._calcInverseTransform(e);var n=e._fullLayout._invScaleX,i=e._fullLayout._invScaleY,a=ul.select(r.parentNode).select(\"rect.catrect\"),o=a.node().getBoundingClientRect(),s=a.datum(),l=s.parcatsViewModel,u=l.model.dimensions[s.model.dimensionInd],c=l.trace,f=o.top+o.height/2,h,d;l.dimensions.length>1&&u.displayInd===l.dimensions.length-1?(h=o.left,d=\"left\"):(h=o.left+o.width,d=\"right\");var v=s.model.count,x=s.model.categoryLabel,b=v/s.parcatsViewModel.model.count,p={countLabel:v,categoryLabel:x,probabilityLabel:b.toFixed(3)},E=[];s.parcatsViewModel.hoverinfoItems.indexOf(\"count\")!==-1&&E.push([\"Count:\",p.countLabel].join(\" \")),s.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")!==-1&&E.push([\"P(\"+p.categoryLabel+\"):\",p.probabilityLabel].join(\" \"));var k=E.join(\"<br>\");return{trace:c,x:n*(h-t.left),y:i*(f-t.top),text:k,color:\"lightgray\",borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:12,fontColor:\"black\",idealAlign:d,hovertemplate:c.hovertemplate,hovertemplateLabels:p,eventData:[{data:c._input,fullData:c,count:v,category:x,probability:b}]}}function CVt(e,t,r){var n=[];return ul.select(r.parentNode.parentNode).selectAll(\"g.category\").select(\"rect.catrect\").each(function(){var i=this;n.push(KNe(e,t,i))}),n}function LVt(e,t,r){e._fullLayout._calcInverseTransform(e);var n=e._fullLayout._invScaleX,i=e._fullLayout._invScaleY,a=r.getBoundingClientRect(),o=ul.select(r).datum(),s=o.categoryViewModel,l=s.parcatsViewModel,u=l.model.dimensions[s.model.dimensionInd],c=l.trace,f=a.y+a.height/2,h,d;l.dimensions.length>1&&u.displayInd===l.dimensions.length-1?(h=a.left,d=\"left\"):(h=a.left+a.width,d=\"right\");var v=s.model.categoryLabel,x=o.parcatsViewModel.model.count,b=0;o.categoryViewModel.bands.forEach(function(P){P.color===o.color&&(b+=P.count)});var p=s.model.count,E=0;l.pathSelection.each(function(P){P.model.color===o.color&&(E+=P.model.count)});var k=b/x,A=b/E,L=b/p,_={countLabel:b,categoryLabel:v,probabilityLabel:k.toFixed(3)},C=[];s.parcatsViewModel.hoverinfoItems.indexOf(\"count\")!==-1&&C.push([\"Count:\",_.countLabel].join(\" \")),s.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")!==-1&&(C.push(\"P(color \\u2229 \"+v+\"): \"+_.probabilityLabel),C.push(\"P(\"+v+\" | color): \"+A.toFixed(3)),C.push(\"P(color | \"+v+\"): \"+L.toFixed(3)));var M=C.join(\"<br>\"),g=kK.mostReadable(o.color,[\"black\",\"white\"]);return{trace:c,x:n*(h-t.left),y:i*(f-t.top),text:M,color:o.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontColor:g,fontSize:10,idealAlign:d,hovertemplate:c.hovertemplate,hovertemplateLabels:_,eventData:[{data:c._input,fullData:c,category:v,count:x,probability:k,categorycount:p,colorcount:E,bandcolorcount:b}]}}function PVt(e){if(!e.parcatsViewModel.dragDimension&&e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1){var t=ul.mouse(this)[1];if(t<-1)return;var r=e.parcatsViewModel.graphDiv,n=r._fullLayout,i=n._paperdiv.node().getBoundingClientRect(),a=e.parcatsViewModel.hoveron,o=this;if(a===\"color\"?(kVt(o),zK(o,\"plotly_hover\",ul.event)):(EVt(o),DK(o,\"plotly_hover\",ul.event)),e.parcatsViewModel.hoverinfoItems.indexOf(\"none\")===-1){var s;a===\"category\"?s=KNe(r,i,o):a===\"color\"?s=LVt(r,i,o):a===\"dimension\"&&(s=CVt(r,i,o)),s&&Pk.loneHover(s,{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:r})}}}function IVt(e){var t=e.parcatsViewModel;if(!t.dragDimension&&(PK(t.pathSelection),YNe(t.dimensionSelection.selectAll(\"g.category\")),RK(t.dimensionSelection.selectAll(\"g.category\").selectAll(\"rect.bandrect\")),Pk.loneUnhover(t.graphDiv._fullLayout._hoverlayer.node()),t.pathSelection.sort(CK),t.hoverinfoItems.indexOf(\"skip\")===-1)){var r=e.parcatsViewModel.hoveron,n=this;r===\"color\"?zK(n,\"plotly_unhover\",ul.event):DK(n,\"plotly_unhover\",ul.event)}}function RVt(e){e.parcatsViewModel.arrangement!==\"fixed\"&&(e.dragDimensionDisplayInd=e.model.displayInd,e.initialDragDimensionDisplayInds=e.parcatsViewModel.model.dimensions.map(function(t){return t.displayInd}),e.dragHasMoved=!1,e.dragCategoryDisplayInd=null,ul.select(this).selectAll(\"g.category\").select(\"rect.catrect\").each(function(t){var r=ul.mouse(this)[0],n=ul.mouse(this)[1];-2<=r&&r<=t.width+2&&-2<=n&&n<=t.height+2&&(e.dragCategoryDisplayInd=t.model.displayInd,e.initialDragCategoryDisplayInds=e.model.categories.map(function(i){return i.displayInd}),t.model.dragY=t.y,yx.raiseToTop(this.parentNode),ul.select(this.parentNode).selectAll(\"rect.bandrect\").each(function(i){i.y<n&&n<=i.y+i.height&&(e.potentialClickBand=this)}))}),e.parcatsViewModel.dragDimension=e,Pk.loneUnhover(e.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()))}function DVt(e){if(e.parcatsViewModel.arrangement!==\"fixed\"&&(e.dragHasMoved=!0,e.dragDimensionDisplayInd!==null)){var t=e.dragDimensionDisplayInd,r=t-1,n=t+1,i=e.parcatsViewModel.dimensions[t];if(e.dragCategoryDisplayInd!==null){var a=i.categories[e.dragCategoryDisplayInd];a.model.dragY+=ul.event.dy;var o=a.model.dragY,s=a.model.displayInd,l=i.categories,u=l[s-1],c=l[s+1];u!==void 0&&o<u.y+u.height/2&&(a.model.displayInd=u.model.displayInd,u.model.displayInd=s),c!==void 0&&o+a.height>c.y+c.height/2&&(a.model.displayInd=c.model.displayInd,c.model.displayInd=s),e.dragCategoryDisplayInd=a.model.displayInd}if(e.dragCategoryDisplayInd===null||e.parcatsViewModel.arrangement===\"freeform\"){i.model.dragX=ul.event.x;var f=e.parcatsViewModel.dimensions[r],h=e.parcatsViewModel.dimensions[n];f!==void 0&&i.model.dragX<f.x+f.width&&(i.model.displayInd=f.model.displayInd,f.model.displayInd=t),h!==void 0&&i.model.dragX+i.width>h.x&&(i.model.displayInd=h.model.displayInd,h.model.displayInd=e.dragDimensionDisplayInd),e.dragDimensionDisplayInd=i.model.displayInd}qK(e.parcatsViewModel),FK(e.parcatsViewModel),QNe(e.parcatsViewModel),$Ne(e.parcatsViewModel)}}function zVt(e){if(e.parcatsViewModel.arrangement!==\"fixed\"&&e.dragDimensionDisplayInd!==null){ul.select(this).selectAll(\"text\").attr(\"font-weight\",\"normal\");var t={},r=JNe(e.parcatsViewModel),n=e.parcatsViewModel.model.dimensions.map(function(h){return h.displayInd}),i=e.initialDragDimensionDisplayInds.some(function(h,d){return h!==n[d]});i&&n.forEach(function(h,d){var v=e.parcatsViewModel.model.dimensions[d].containerInd;t[\"dimensions[\"+v+\"].displayindex\"]=h});var a=!1;if(e.dragCategoryDisplayInd!==null){var o=e.model.categories.map(function(h){return h.displayInd});if(a=e.initialDragCategoryDisplayInds.some(function(h,d){return h!==o[d]}),a){var s=e.model.categories.slice().sort(function(h,d){return h.displayInd-d.displayInd}),l=s.map(function(h){return h.categoryValue}),u=s.map(function(h){return h.categoryLabel});t[\"dimensions[\"+e.model.containerInd+\"].categoryarray\"]=[l],t[\"dimensions[\"+e.model.containerInd+\"].ticktext\"]=[u],t[\"dimensions[\"+e.model.containerInd+\"].categoryorder\"]=\"array\"}}if(e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1&&!e.dragHasMoved&&e.potentialClickBand&&(e.parcatsViewModel.hoveron===\"color\"?zK(e.potentialClickBand,\"plotly_click\",ul.event.sourceEvent):DK(e.potentialClickBand,\"plotly_click\",ul.event.sourceEvent)),e.model.dragX=null,e.dragCategoryDisplayInd!==null){var c=e.parcatsViewModel.dimensions[e.dragDimensionDisplayInd].categories[e.dragCategoryDisplayInd];c.model.dragY=null,e.dragCategoryDisplayInd=null}e.dragDimensionDisplayInd=null,e.parcatsViewModel.dragDimension=null,e.dragHasMoved=null,e.potentialClickBand=null,qK(e.parcatsViewModel),FK(e.parcatsViewModel);var f=ul.transition().duration(300).ease(\"cubic-in-out\");f.each(function(){QNe(e.parcatsViewModel,!0),$Ne(e.parcatsViewModel,!0)}).each(\"end\",function(){(i||a)&&_Vt.restyle(e.parcatsViewModel.graphDiv,t,[r])})}}function JNe(e){for(var t,r=e.graphDiv._fullData,n=0;n<r.length;n++)if(e.key===r[n].uid){t=n;break}return t}function $Ne(e,t){t===void 0&&(t=!1);function r(n){return t?n.transition():n}e.pathSelection.data(function(n){return n.paths},u1),r(e.pathSelection).attr(\"d\",function(n){return n.svgD})}function QNe(e,t){t===void 0&&(t=!1);function r(l){return t?l.transition():l}e.dimensionSelection.data(function(l){return l.dimensions},u1);var n=e.dimensionSelection.selectAll(\"g.category\").data(function(l){return l.categories},u1);r(e.dimensionSelection).attr(\"transform\",function(l){return Ck(l.x,0)}),r(n).attr(\"transform\",function(l){return Ck(0,l.y)});var i=n.select(\".dimlabel\");i.text(function(l,u){return u===0?l.parcatsViewModel.model.dimensions[l.model.dimensionInd].dimensionLabel:null});var a=n.select(\".catlabel\");a.attr(\"text-anchor\",function(l){return Lk(l)?\"start\":\"end\"}).attr(\"x\",function(l){return Lk(l)?l.width+5:-5}).each(function(l){var u,c;Lk(l)?(u=l.width+5,c=\"start\"):(u=-5,c=\"end\"),ul.select(this).selectAll(\"tspan\").attr(\"x\",u).attr(\"text-anchor\",c)});var o=n.selectAll(\"rect.bandrect\").data(function(l){return l.bands},u1),s=o.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"cursor\",\"move\").attr(\"stroke-opacity\",0).attr(\"fill\",function(l){return l.color}).attr(\"fill-opacity\",0);o.attr(\"fill\",function(l){return l.color}).attr(\"width\",function(l){return l.width}).attr(\"height\",function(l){return l.height}).attr(\"y\",function(l){return l.y}),RK(s),o.each(function(){yx.raiseToTop(this)}),o.exit().remove()}function FVt(e,t,r){var n=r[0],i=t.margin||{l:80,r:80,t:100,b:80},a=n.trace,o=a.domain,s=t.width,l=t.height,u=Math.floor(s*(o.x[1]-o.x[0])),c=Math.floor(l*(o.y[1]-o.y[0])),f=o.x[0]*s+i.l,h=t.height-o.y[1]*t.height+i.t,d=a.line.shape,v;a.hoverinfo===\"all\"?v=[\"count\",\"probability\"]:v=(a.hoverinfo||\"\").split(\"+\");var x={trace:a,key:a.uid,model:n,x:f,y:h,width:u,height:c,hoveron:a.hoveron,hoverinfoItems:v,arrangement:a.arrangement,bundlecolors:a.bundlecolors,sortpaths:a.sortpaths,labelfont:a.labelfont,categorylabelfont:a.tickfont,pathShape:d,dragDimension:null,margin:i,paths:[],dimensions:[],graphDiv:e,traceSelection:null,pathSelection:null,dimensionSelection:null};return n.dimensions&&(qK(x),FK(x)),x}function XNe(e,t,r,n,i){var a=[],o=[],s,l;for(l=0;l<r.length-1;l++)s=yVt(r[l]+e[l],e[l+1]),a.push(s(i)),o.push(s(1-i));var u=\"M \"+e[0]+\",\"+t[0];for(u+=\"l\"+r[0]+\",0 \",l=1;l<r.length;l++)u+=\"C\"+a[l-1]+\",\"+t[l-1]+\" \"+o[l-1]+\",\"+t[l]+\" \"+e[l]+\",\"+t[l],u+=\"l\"+r[l]+\",0 \";for(u+=\"l0,\"+n+\" \",u+=\"l -\"+r[r.length-1]+\",0 \",l=r.length-2;l>=0;l--)u+=\"C\"+o[l]+\",\"+(t[l+1]+n)+\" \"+a[l]+\",\"+(t[l]+n)+\" \"+(e[l]+r[l])+\",\"+(t[l]+n),u+=\"l-\"+r[l]+\",0 \";return u+=\"Z\",u}function FK(e){var t=e.dimensions,r=e.model,n=t.map(function(q){return q.categories.map(function(V){return V.y})}),i=e.model.dimensions.map(function(q){return q.categories.map(function(V){return V.displayInd})}),a=e.model.dimensions.map(function(q){return q.displayInd}),o=e.dimensions.map(function(q){return q.model.dimensionInd}),s=t.map(function(q){return q.x}),l=t.map(function(q){return q.width}),u=[];for(var c in r.paths)r.paths.hasOwnProperty(c)&&u.push(r.paths[c]);function f(q){var V=q.categoryInds.map(function(X,G){return i[G][X]}),H=o.map(function(X){return V[X]});return H}u.sort(function(q,V){var H=f(q),X=f(V);return e.sortpaths===\"backward\"&&(H.reverse(),X.reverse()),H.push(q.valueInds[0]),X.push(V.valueInds[0]),e.bundlecolors&&(H.unshift(q.rawColor),X.unshift(V.rawColor)),H<X?-1:H>X?1:0});for(var h=new Array(u.length),d=t[0].model.count,v=t[0].categories.map(function(q){return q.height}).reduce(function(q,V){return q+V}),x=0;x<u.length;x++){var b=u[x],p;d>0?p=v*(b.count/d):p=0;for(var E=new Array(n.length),k=0;k<b.categoryInds.length;k++){var A=b.categoryInds[k],L=i[k][A],_=a[k];E[_]=n[_][L],n[_][L]+=p;var C=e.dimensions[_].categories[L],M=C.bands.length,g=C.bands[M-1];if(g===void 0||b.rawColor!==g.rawColor){var P=g===void 0?0:g.y+g.height;C.bands.push({key:P,color:b.color,rawColor:b.rawColor,height:p,width:C.width,count:b.count,y:P,categoryViewModel:C,parcatsViewModel:e})}else{var T=C.bands[M-1];T.height+=p,T.count+=b.count}}var F;e.pathShape===\"hspline\"?F=XNe(s,E,l,p,.5):F=XNe(s,E,l,p,0),h[x]={key:b.valueInds[0],model:b,height:p,leftXs:s,topYs:E,dimWidths:l,svgD:F,parcatsViewModel:e}}e.paths=h}function qK(e){var t=e.model.dimensions.map(function(o){return{displayInd:o.displayInd,dimensionInd:o.dimensionInd}});t.sort(function(o,s){return o.displayInd-s.displayInd});var r=[];for(var n in t){var i=t[n].dimensionInd,a=e.model.dimensions[i];r.push(qVt(e,a))}e.dimensions=r}function qVt(e,t){var r=40,n=16,i=e.model.dimensions.length,a=t.displayInd,o,s,l;i>1?o=(e.width-2*r-n)/(i-1):o=0,s=r,l=s+o*a;var u=[],c=e.model.maxCats,f=t.categories.length,h=8,d=t.count,v=e.height-h*(c-1),x,b,p,E,k,A=(c-f)*h/2,L=t.categories.map(function(_){return{displayInd:_.displayInd,categoryInd:_.categoryInd}});for(L.sort(function(_,C){return _.displayInd-C.displayInd}),k=0;k<f;k++)E=L[k].categoryInd,b=t.categories[E],d>0?x=b.count/d*v:x=0,p={key:b.valueInds[0],model:b,width:n,height:x,y:b.dragY!==null?b.dragY:A,bands:[],parcatsViewModel:e},A=A+x+h,u.push(p);return{key:t.dimensionInd,x:t.dragX!==null?t.dragX:l,y:0,width:n,model:t,categories:u,parcatsViewModel:e,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}});var OK=ye((Tyr,rUe)=>{\"use strict\";var OVt=tUe();rUe.exports=function(t,r,n,i){var a=t._fullLayout,o=a._paper,s=a._size;OVt(t,o,r,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},n,i)}});var nUe=ye(BF=>{\"use strict\";var BVt=kd().getModuleCalcData,NVt=OK(),iUe=\"parcats\";BF.name=iUe;BF.plot=function(e,t,r,n){var i=BVt(e.calcdata,iUe);if(i.length){var a=i[0];NVt(e,a,r,n)}};BF.clean=function(e,t,r,n){var i=n._has&&n._has(\"parcats\"),a=t._has&&t._has(\"parcats\");i&&!a&&n._paperdiv.selectAll(\".parcats\").remove()}});var oUe=ye((Syr,aUe)=>{\"use strict\";aUe.exports={attributes:EK(),supplyDefaults:GNe(),calc:WNe(),plot:OK(),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcats\",basePlotModule:nUe(),categories:[\"noOpacity\"],meta:{}}});var lUe=ye((Myr,sUe)=>{\"use strict\";sUe.exports=oUe()});var c1=ye((Eyr,pUe)=>{\"use strict\";var UVt=Y1(),uUe=\"1.13.4\",dUe='\\xA9 <a target=\"_blank\" href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors',cUe=['\\xA9 <a target=\"_blank\" href=\"https://carto.com/\">Carto</a>',dUe].join(\" \"),fUe=['Map tiles by <a target=\"_blank\" href=\"https://stamen.com\">Stamen Design</a>','under <a target=\"_blank\" href=\"https://creativecommons.org/licenses/by/3.0\">CC BY 3.0</a>',\"|\",'Data by <a target=\"_blank\" href=\"https://openstreetmap.org\">OpenStreetMap</a> contributors','under <a target=\"_blank\" href=\"https://www.openstreetmap.org/copyright\">ODbL</a>'].join(\" \"),VVt=['Map tiles by <a target=\"_blank\" href=\"https://stamen.com\">Stamen Design</a>','under <a target=\"_blank\" href=\"https://creativecommons.org/licenses/by/3.0\">CC BY 3.0</a>',\"|\",'Data by <a target=\"_blank\" href=\"https://openstreetmap.org\">OpenStreetMap</a> contributors','under <a target=\"_blank\" href=\"https://creativecommons.org/licenses/by-sa/3.0\">CC BY SA</a>'].join(\" \"),vUe={\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:dUe,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:cUe,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:cUe,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:fUe,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:fUe,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:VVt,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\"}},hUe=UVt(vUe);pUe.exports={requiredVersion:uUe,styleUrlPrefix:\"mapbox://styles/mapbox/\",styleUrlSuffix:\"v9\",styleValuesMapbox:[\"basic\",\"streets\",\"outdoors\",\"light\",\"dark\",\"satellite\",\"satellite-streets\"],styleValueDflt:\"basic\",stylesNonMapbox:vUe,styleValuesNonMapbox:hUe,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@\"+uUe+\".\"].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:\",hUe.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')`}}});var Rk=ye((kyr,_Ue)=>{\"use strict\";var gUe=Mr(),mUe=va().defaultLine,HVt=Ju().attributes,GVt=Su(),jVt=Uc().textposition,WVt=Bu().overrideAll,ZVt=Vs().templatedArray,BK=c1(),yUe=GVt({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});yUe.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\";var XVt=_Ue.exports=WVt({_arrayAttrRegexps:[gUe.counterRegex(\"mapbox\",\".layers\",!0)],domain:HVt({name:\"mapbox\"}),accesstoken:{valType:\"string\",noBlank:!0,strict:!0},style:{valType:\"any\",values:BK.styleValuesMapbox.concat(BK.styleValuesNonMapbox),dflt:BK.styleValueDflt},center:{lon:{valType:\"number\",dflt:0},lat:{valType:\"number\",dflt:0}},zoom:{valType:\"number\",dflt:1},bearing:{valType:\"number\",dflt:0},pitch:{valType:\"number\",dflt:0},bounds:{west:{valType:\"number\"},east:{valType:\"number\"},south:{valType:\"number\"},north:{valType:\"number\"}},layers:ZVt(\"layer\",{visible:{valType:\"boolean\",dflt:!0},sourcetype:{valType:\"enumerated\",values:[\"geojson\",\"vector\",\"raster\",\"image\"],dflt:\"geojson\"},source:{valType:\"any\"},sourcelayer:{valType:\"string\",dflt:\"\"},sourceattribution:{valType:\"string\"},type:{valType:\"enumerated\",values:[\"circle\",\"line\",\"fill\",\"symbol\",\"raster\"],dflt:\"circle\"},coordinates:{valType:\"any\"},below:{valType:\"string\"},color:{valType:\"color\",dflt:mUe},opacity:{valType:\"number\",min:0,max:1,dflt:1},minzoom:{valType:\"number\",min:0,max:24,dflt:0},maxzoom:{valType:\"number\",min:0,max:24,dflt:24},circle:{radius:{valType:\"number\",dflt:15}},line:{width:{valType:\"number\",dflt:2},dash:{valType:\"data_array\"}},fill:{outlinecolor:{valType:\"color\",dflt:mUe}},symbol:{icon:{valType:\"string\",dflt:\"marker\"},iconsize:{valType:\"number\",dflt:10},text:{valType:\"string\",dflt:\"\"},placement:{valType:\"enumerated\",values:[\"point\",\"line\",\"line-center\"],dflt:\"point\"},textfont:yUe,textposition:gUe.extendFlat({},jVt,{arrayOk:!1})}})},\"plot\",\"from-root\");XVt.uirevision={valType:\"any\",editType:\"none\"}});var NF=ye((Cyr,wUe)=>{\"use strict\";var YVt=Wo().hovertemplateAttrs,KVt=Wo().texttemplateAttrs,JVt=Eg(),Dk=H2(),_A=Uc(),xUe=Rk(),$Vt=vl(),QVt=Jl(),ew=no().extendFlat,eHt=Bu().overrideAll,tHt=Rk(),bUe=Dk.line,xA=Dk.marker;wUe.exports=eHt({lon:Dk.lon,lat:Dk.lat,cluster:{enabled:{valType:\"boolean\"},maxzoom:ew({},tHt.layers.maxzoom,{}),step:{valType:\"number\",arrayOk:!0,dflt:-1,min:-1},size:{valType:\"number\",arrayOk:!0,dflt:20,min:0},color:{valType:\"color\",arrayOk:!0},opacity:ew({},xA.opacity,{dflt:1})},mode:ew({},_A.mode,{dflt:\"markers\"}),text:ew({},_A.text,{}),texttemplate:KVt({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"text\"]}),hovertext:ew({},_A.hovertext,{}),line:{color:bUe.color,width:bUe.width},connectgaps:_A.connectgaps,marker:ew({symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},angle:{valType:\"number\",dflt:\"auto\",arrayOk:!0},allowoverlap:{valType:\"boolean\",dflt:!1},opacity:xA.opacity,size:xA.size,sizeref:xA.sizeref,sizemin:xA.sizemin,sizemode:xA.sizemode},QVt(\"marker\")),fill:Dk.fill,fillcolor:JVt(),textfont:xUe.layers.symbol.textfont,textposition:xUe.layers.symbol.textposition,below:{valType:\"string\"},selected:{marker:_A.selected.marker},unselected:{marker:_A.unselected.marker},hoverinfo:ew({},$Vt.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]}),hovertemplate:YVt()},\"calc\",\"nested\")});var NK=ye((Lyr,TUe)=>{\"use strict\";var rHt=[\"Metropolis Black Italic\",\"Metropolis Black\",\"Metropolis Bold Italic\",\"Metropolis Bold\",\"Metropolis Extra Bold Italic\",\"Metropolis Extra Bold\",\"Metropolis Extra Light Italic\",\"Metropolis Extra Light\",\"Metropolis Light Italic\",\"Metropolis Light\",\"Metropolis Medium Italic\",\"Metropolis Medium\",\"Metropolis Regular Italic\",\"Metropolis Regular\",\"Metropolis Semi Bold Italic\",\"Metropolis Semi Bold\",\"Metropolis Thin Italic\",\"Metropolis Thin\",\"Open Sans Bold Italic\",\"Open Sans Bold\",\"Open Sans Extrabold Italic\",\"Open Sans Extrabold\",\"Open Sans Italic\",\"Open Sans Light Italic\",\"Open Sans Light\",\"Open Sans Regular\",\"Open Sans Semibold Italic\",\"Open Sans Semibold\",\"Klokantech Noto Sans Bold\",\"Klokantech Noto Sans CJK Bold\",\"Klokantech Noto Sans CJK Regular\",\"Klokantech Noto Sans Italic\",\"Klokantech Noto Sans Regular\"];TUe.exports={isSupportedFont:function(e){return rHt.indexOf(e)!==-1}}});var MUe=ye((Pyr,SUe)=>{\"use strict\";var zk=Mr(),UK=lu(),iHt=$p(),nHt=R0(),aHt=D0(),oHt=Ig(),AUe=NF(),sHt=NK().isSupportedFont;SUe.exports=function(t,r,n,i){function a(p,E){return zk.coerce(t,r,AUe,p,E)}function o(p,E){return zk.coerce2(t,r,AUe,p,E)}var s=lHt(t,r,a);if(!s){r.visible=!1;return}if(a(\"text\"),a(\"texttemplate\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"mode\"),a(\"below\"),UK.hasMarkers(r)){iHt(t,r,n,i,a,{noLine:!0,noAngle:!0}),a(\"marker.allowoverlap\"),a(\"marker.angle\");var l=r.marker;l.symbol!==\"circle\"&&(zk.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),zk.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}UK.hasLines(r)&&(nHt(t,r,n,i,a,{noDash:!0}),a(\"connectgaps\"));var u=o(\"cluster.maxzoom\"),c=o(\"cluster.step\"),f=o(\"cluster.color\",r.marker&&r.marker.color||n),h=o(\"cluster.size\"),d=o(\"cluster.opacity\"),v=u!==!1||c!==!1||f!==!1||h!==!1||d!==!1,x=a(\"cluster.enabled\",v);if(x||UK.hasText(r)){var b=i.font.family;aHt(t,r,i,a,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:sHt(b)?b:\"Open Sans Regular\",weight:i.font.weight,style:i.font.style,size:i.font.size,color:i.font.color}})}a(\"fill\"),r.fill!==\"none\"&&oHt(t,r,n,a),zk.coerceSelectionMarkerOpacity(r,a)};function lHt(e,t,r){var n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length);return t._length=a,a}});var VK=ye((Iyr,kUe)=>{\"use strict\";var EUe=Qa();kUe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=EUe.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=EUe.tickText(o,o.c2l(s[1]),!0).text,i}});var HK=ye((Ryr,LUe)=>{\"use strict\";var CUe=Mr();LUe.exports=function(t,r){var n=t.split(\" \"),i=n[0],a=n[1],o=CUe.isArrayOrTypedArray(r)?CUe.mean(r):r,s=.5+o/100,l=1.5+o/100,u=[\"\",\"\"],c=[0,0];switch(i){case\"top\":u[0]=\"top\",c[1]=-l;break;case\"bottom\":u[0]=\"bottom\",c[1]=l;break}switch(a){case\"left\":u[1]=\"right\",c[0]=-s;break;case\"right\":u[1]=\"left\",c[0]=s;break}var f;return u[0]&&u[1]?f=u.join(\"-\"):u[0]?f=u[0]:u[1]?f=u[1]:f=\"center\",{anchor:f,offset:c}}});var FUe=ye((Dyr,zUe)=>{\"use strict\";var RUe=uo(),iv=Mr(),uHt=es().BADNUM,VF=rx(),PUe=Mu(),cHt=ao(),fHt=S3(),HF=lu(),hHt=NK().isSupportedFont,dHt=HK(),vHt=rp().appendArrayPointValue,pHt=Pl().NEWLINES,gHt=Pl().BR_TAG_ALL;zUe.exports=function(t,r){var n=r[0].trace,i=n.visible===!0&&n._length!==0,a=n.fill!==\"none\",o=HF.hasLines(n),s=HF.hasMarkers(n),l=HF.hasText(n),u=s&&n.marker.symbol===\"circle\",c=s&&n.marker.symbol!==\"circle\",f=n.cluster&&n.cluster.enabled,h=UF(\"fill\"),d=UF(\"line\"),v=UF(\"circle\"),x=UF(\"symbol\"),b={fill:h,line:d,circle:v,symbol:x};if(!i)return b;var p;if((a||o)&&(p=VF.calcTraceToLineCoords(r)),a&&(h.geojson=VF.makePolygon(p),h.layout.visibility=\"visible\",iv.extendFlat(h.paint,{\"fill-color\":n.fillcolor})),o&&(d.geojson=VF.makeLine(p),d.layout.visibility=\"visible\",iv.extendFlat(d.paint,{\"line-width\":n.line.width,\"line-color\":n.line.color,\"line-opacity\":n.opacity})),u){var E=mHt(r);v.geojson=E.geojson,v.layout.visibility=\"visible\",f&&(v.filter=[\"!\",[\"has\",\"point_count\"]],b.cluster={type:\"circle\",filter:[\"has\",\"point_count\"],layout:{visibility:\"visible\"},paint:{\"circle-color\":jK(n.cluster.color,n.cluster.step),\"circle-radius\":jK(n.cluster.size,n.cluster.step),\"circle-opacity\":jK(n.cluster.opacity,n.cluster.step)}},b.clusterCount={type:\"symbol\",filter:[\"has\",\"point_count\"],paint:{},layout:{\"text-field\":\"{point_count_abbreviated}\",\"text-font\":IUe(n),\"text-size\":12}}),iv.extendFlat(v.paint,{\"circle-color\":E.mcc,\"circle-radius\":E.mrc,\"circle-opacity\":E.mo})}if(u&&f&&(v.filter=[\"!\",[\"has\",\"point_count\"]]),(c||l)&&(x.geojson=yHt(r,t),iv.extendFlat(x.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),c&&(iv.extendFlat(x.layout,{\"icon-size\":n.marker.size/10}),\"angle\"in n.marker&&n.marker.angle!==\"auto\"&&iv.extendFlat(x.layout,{\"icon-rotate\":{type:\"identity\",property:\"angle\"},\"icon-rotation-alignment\":\"map\"}),x.layout[\"icon-allow-overlap\"]=n.marker.allowoverlap,iv.extendFlat(x.paint,{\"icon-opacity\":n.opacity*n.marker.opacity,\"icon-color\":n.marker.color})),l)){var k=(n.marker||{}).size,A=dHt(n.textposition,k);iv.extendFlat(x.layout,{\"text-size\":n.textfont.size,\"text-anchor\":A.anchor,\"text-offset\":A.offset,\"text-font\":IUe(n)}),iv.extendFlat(x.paint,{\"text-color\":n.textfont.color,\"text-opacity\":n.opacity})}return b};function UF(e){return{type:e,geojson:VF.makeBlank(),layout:{visibility:\"none\"},filter:null,paint:{}}}function mHt(e){var t=e[0].trace,r=t.marker,n=t.selectedpoints,i=iv.isArrayOrTypedArray(r.color),a=iv.isArrayOrTypedArray(r.size),o=iv.isArrayOrTypedArray(r.opacity),s;function l(k){return t.opacity*k}function u(k){return k/2}var c;i&&(PUe.hasColorscale(t,\"marker\")?c=PUe.makeColorScaleFuncFromTrace(r):c=iv.identity);var f;a&&(f=fHt(t));var h;o&&(h=function(k){var A=RUe(k)?+iv.constrain(k,0,1):0;return l(A)});var d=[];for(s=0;s<e.length;s++){var v=e[s],x=v.lonlat;if(!DUe(x)){var b={};c&&(b.mcc=v.mcc=c(v.mc)),f&&(b.mrc=v.mrc=f(v.ms)),h&&(b.mo=h(v.mo)),n&&(b.selected=v.selected||0),d.push({type:\"Feature\",id:s+1,geometry:{type:\"Point\",coordinates:x},properties:b})}}var p;if(n)for(p=cHt.makeSelectedPointStyleFns(t),s=0;s<d.length;s++){var E=d[s].properties;p.selectedOpacityFn&&(E.mo=l(p.selectedOpacityFn(E))),p.selectedColorFn&&(E.mcc=p.selectedColorFn(E)),p.selectedSizeFn&&(E.mrc=p.selectedSizeFn(E))}return{geojson:{type:\"FeatureCollection\",features:d},mcc:i||p&&p.selectedColorFn?{type:\"identity\",property:\"mcc\"}:r.color,mrc:a||p&&p.selectedSizeFn?{type:\"identity\",property:\"mrc\"}:u(r.size),mo:o||p&&p.selectedOpacityFn?{type:\"identity\",property:\"mo\"}:l(r.opacity)}}function yHt(e,t){for(var r=t._fullLayout,n=e[0].trace,i=n.marker||{},a=i.symbol,o=i.angle,s=a!==\"circle\"?GK(a):GF,l=o!==\"auto\"?GK(o,!0):GF,u=HF.hasText(n)?GK(n.text):GF,c=[],f=0;f<e.length;f++){var h=e[f];if(!DUe(h.lonlat)){var d=n.texttemplate,v;if(d){var x=Array.isArray(d)?d[f]||\"\":d,b=n._module.formatLabels(h,n,r),p={};vHt(p,n,h.i);var E=n._meta||{};v=iv.texttemplateString(x,b,r._d3locale,p,h,E)}else v=u(f);v&&(v=v.replace(pHt,\"\").replace(gHt,`\n", - "`)),c.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:h.lonlat},properties:{symbol:s(f),angle:l(f),text:v}})}}return{type:\"FeatureCollection\",features:c}}function GK(e,t){return iv.isArrayOrTypedArray(e)?t?function(r){return RUe(e[r])?+e[r]:0}:function(r){return e[r]}:e?function(){return e}:GF}function GF(){return\"\"}function DUe(e){return e[0]===uHt}function jK(e,t){var r;if(iv.isArrayOrTypedArray(e)&&iv.isArrayOrTypedArray(t)){r=[\"step\",[\"get\",\"point_count\"],e[0]];for(var n=1;n<e.length;n++)r.push(t[n-1],e[n])}else r=e;return r}function IUe(e){var t=e.textfont,r=t.family,n=t.style,i=t.weight,a=r.split(\" \"),o=a[a.length-1]===\"Italic\";o&&a.pop(),o=o||n===\"italic\";var s=a.join(\" \");i===\"bold\"&&a.indexOf(\"Bold\")===-1?s+=\" Bold\":i<=1e3&&(a[0]===\"Metropolis\"?(s=\"Metropolis\",i>850?s+=\" Black\":i>750?s+=\" Extra Bold\":i>650?s+=\" Bold\":i>550?s+=\" Semi Bold\":i>450?s+=\" Medium\":i>350?s+=\" Regular\":i>250?s+=\" Light\":i>150?s+=\" Extra Light\":s+=\" Thin\"):a.slice(0,2).join(\" \")===\"Open Sans\"?(s=\"Open Sans\",i>750?s+=\" Extrabold\":i>650?s+=\" Bold\":i>550?s+=\" Semibold\":i>350?s+=\" Regular\":s+=\" Light\"):a.slice(0,3).join(\" \")===\"Klokantech Noto Sans\"&&(s=\"Klokantech Noto Sans\",a[3]===\"CJK\"&&(s+=\" CJK\"),s+=i>500?\" Bold\":\" Regular\")),o&&(s+=\" Italic\"),s===\"Open Sans Regular Italic\"?s=\"Open Sans Italic\":s===\"Open Sans Regular Bold\"?s=\"Open Sans Bold\":s===\"Open Sans Regular Bold Italic\"?s=\"Open Sans Bold Italic\":s===\"Klokantech Noto Sans Regular Italic\"&&(s=\"Klokantech Noto Sans Italic\"),hHt(s)||(s=r);var l=s.split(\", \");return l}});var NUe=ye((zyr,BUe)=>{\"use strict\";var _Ht=Mr(),qUe=FUe(),bA=c1().traceLayerPrefix,rg={cluster:[\"cluster\",\"clusterCount\",\"circle\"],nonCluster:[\"fill\",\"line\",\"circle\",\"symbol\"]};function OUe(e,t,r,n){this.type=\"scattermapbox\",this.subplot=e,this.uid=t,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:\"source-\"+t+\"-fill\",line:\"source-\"+t+\"-line\",circle:\"source-\"+t+\"-circle\",symbol:\"source-\"+t+\"-symbol\",cluster:\"source-\"+t+\"-circle\",clusterCount:\"source-\"+t+\"-circle\"},this.layerIds={fill:bA+t+\"-fill\",line:bA+t+\"-line\",circle:bA+t+\"-circle\",symbol:bA+t+\"-symbol\",cluster:bA+t+\"-cluster\",clusterCount:bA+t+\"-cluster-count\"},this.below=null}var Fk=OUe.prototype;Fk.addSource=function(e,t,r){var n={type:\"geojson\",data:t.geojson};r&&r.enabled&&_Ht.extendFlat(n,{cluster:!0,clusterMaxZoom:r.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[e]);i?i.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[e],n)};Fk.setSourceData=function(e,t){this.subplot.map.getSource(this.sourceIds[e]).setData(t.geojson)};Fk.addLayer=function(e,t,r){var n={type:t.type,id:this.layerIds[e],source:this.sourceIds[e],layout:t.layout,paint:t.paint};t.filter&&(n.filter=t.filter);for(var i=this.layerIds[e],a,o=this.subplot.getMapLayers(),s=0;s<o.length;s++)if(o[s].id===i){a=!0;break}a?(this.subplot.setOptions(i,\"setLayoutProperty\",n.layout),n.layout.visibility===\"visible\"&&this.subplot.setOptions(i,\"setPaintProperty\",n.paint)):this.subplot.addLayer(n,r)};Fk.update=function(t){var r=t[0].trace,n=this.subplot,i=n.map,a=qUe(n.gd,t),o=n.belowLookup[\"trace-\"+this.uid],s=!!(r.cluster&&r.cluster.enabled),l=!!this.clusterEnabled,u=this;function c(k){k||u.addSource(\"circle\",a.circle,r.cluster);for(var A=rg.cluster,L=0;L<A.length;L++){var _=A[L],C=a[_];u.addLayer(_,C,o)}}function f(k){for(var A=rg.cluster,L=A.length-1;L>=0;L--){var _=A[L];i.removeLayer(u.layerIds[_])}k||i.removeSource(u.sourceIds.circle)}function h(k){for(var A=rg.nonCluster,L=0;L<A.length;L++){var _=A[L],C=a[_];k||u.addSource(_,C),u.addLayer(_,C,o)}}function d(k){for(var A=rg.nonCluster,L=A.length-1;L>=0;L--){var _=A[L];i.removeLayer(u.layerIds[_]),k||i.removeSource(u.sourceIds[_])}}function v(k){l?f(k):d(k)}function x(k){s?c(k):h(k)}function b(){for(var k=s?rg.cluster:rg.nonCluster,A=0;A<k.length;A++){var L=k[A],_=a[L];_&&(n.setOptions(u.layerIds[L],\"setLayoutProperty\",_.layout),_.layout.visibility===\"visible\"&&(L!==\"cluster\"&&u.setSourceData(L,_),n.setOptions(u.layerIds[L],\"setPaintProperty\",_.paint)))}}var p=this.isHidden,E=r.visible!==!0;E?p||v():p?E||x():l!==s?(v(),x()):(this.below!==o&&(v(!0),x(!0)),b()),this.clusterEnabled=s,this.isHidden=E,this.below=o,t[0].trace._glTrace=this};Fk.dispose=function(){for(var t=this.subplot.map,r=this.clusterEnabled?rg.cluster:rg.nonCluster,n=r.length-1;n>=0;n--){var i=r[n];t.removeLayer(this.layerIds[i]),t.removeSource(this.sourceIds[i])}};BUe.exports=function(t,r){var n=r[0].trace,i=n.cluster&&n.cluster.enabled,a=n.visible!==!0,o=new OUe(t,n.uid,i,a),s=qUe(t.gd,r),l=o.below=t.belowLookup[\"trace-\"+n.uid],u,c,f;if(i)for(o.addSource(\"circle\",s.circle,n.cluster),u=0;u<rg.cluster.length;u++)c=rg.cluster[u],f=s[c],o.addLayer(c,f,l);else for(u=0;u<rg.nonCluster.length;u++)c=rg.nonCluster[u],f=s[c],o.addSource(c,f,n.cluster),o.addLayer(c,f,l);return r[0].trace._glTrace=o,o}});var jF=ye((Fyr,VUe)=>{\"use strict\";var xHt=Nc(),WK=Mr(),bHt=oT(),wHt=WK.fillText,THt=es().BADNUM,AHt=c1().traceLayerPrefix;function SHt(e,t,r){var n=e.cd,i=n[0].trace,a=e.xa,o=e.ya,s=e.subplot,l=[],u=AHt+i.uid+\"-circle\",c=i.cluster&&i.cluster.enabled;if(c){var f=s.map.queryRenderedFeatures(null,{layers:[u]});l=f.map(function(M){return M.id})}var h=t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360),d=h*360,v=t-d;function x(M){var g=M.lonlat;if(g[0]===THt||c&&l.indexOf(M.i+1)===-1)return 1/0;var P=WK.modHalf(g[0],360),T=g[1],F=s.project([P,T]),q=F.x-a.c2p([v,T]),V=F.y-o.c2p([P,r]),H=Math.max(3,M.mrc||0);return Math.max(Math.sqrt(q*q+V*V)-H,1-3/H)}if(xHt.getClosest(n,x,e),e.index!==!1){var b=n[e.index],p=b.lonlat,E=[WK.modHalf(p[0],360)+d,p[1]],k=a.c2p(E),A=o.c2p(E),L=b.mrc||1;e.x0=k-L,e.x1=k+L,e.y0=A-L,e.y1=A+L;var _={};_[i.subplot]={_subplot:s};var C=i._module.formatLabels(b,i,_);return e.lonLabel=C.lonLabel,e.latLabel=C.latLabel,e.color=bHt(i,b),e.extraText=UUe(i,b,n[0].t.labels),e.hovertemplate=i.hovertemplate,[e]}}function UUe(e,t,r){if(e.hovertemplate)return;var n=t.hi||e.hoverinfo,i=n.split(\"+\"),a=i.indexOf(\"all\")!==-1,o=i.indexOf(\"lon\")!==-1,s=i.indexOf(\"lat\")!==-1,l=t.lonlat,u=[];function c(f){return f+\"\\xB0\"}return a||o&&s?u.push(\"(\"+c(l[1])+\", \"+c(l[0])+\")\"):o?u.push(r.lon+c(l[0])):s&&u.push(r.lat+c(l[1])),(a||i.indexOf(\"text\")!==-1)&&wHt(t,e,u),u.join(\"<br>\")}VUe.exports={hoverPoints:SHt,getExtraText:UUe}});var GUe=ye((qyr,HUe)=>{\"use strict\";HUe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t}});var WUe=ye((Oyr,jUe)=>{\"use strict\";var MHt=Mr(),EHt=lu(),kHt=es().BADNUM;jUe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l;if(!EHt.hasMarkers(s))return[];if(r===!1)for(l=0;l<n.length;l++)n[l].selected=0;else for(l=0;l<n.length;l++){var u=n[l],c=u.lonlat;if(c[0]!==kHt){var f=[MHt.modHalf(c[0],360),c[1]],h=[i.c2p(f),a.c2p(f)];r.contains(h,null,l,t)?(o.push({pointNumber:l,lon:c[0],lat:c[1]}),u.selected=1):u.selected=0}}return o}});var YK=ye((ZK,XK)=>{(function(e,t){typeof ZK==\"object\"&&typeof XK!=\"undefined\"?XK.exports=t():(e=e||self,e.mapboxgl=t())})(ZK,function(){\"use strict\";var e,t,r;function n(i,a){if(!e)e=a;else if(!t)t=a;else{var o=\"var sharedChunk = {}; (\"+e+\")(sharedChunk); (\"+t+\")(sharedChunk);\",s={};e(s),r=a(s),typeof window!=\"undefined\"&&(r.workerUrl=window.URL.createObjectURL(new Blob([o],{type:\"text/javascript\"})))}}return n([\"exports\"],function(i){\"use strict\";function a(m,y){return y={exports:{}},m(y,y.exports),y.exports}var o=\"1.13.4\",s=l;function l(m,y,I,U){this.cx=3*m,this.bx=3*(I-m)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*y,this.by=3*(U-y)-this.cy,this.ay=1-this.cy-this.by,this.p1x=m,this.p1y=U,this.p2x=I,this.p2y=U}l.prototype.sampleCurveX=function(m){return((this.ax*m+this.bx)*m+this.cx)*m},l.prototype.sampleCurveY=function(m){return((this.ay*m+this.by)*m+this.cy)*m},l.prototype.sampleCurveDerivativeX=function(m){return(3*this.ax*m+2*this.bx)*m+this.cx},l.prototype.solveCurveX=function(m,y){typeof y==\"undefined\"&&(y=1e-6);var I,U,J,ne,fe;for(J=m,fe=0;fe<8;fe++){if(ne=this.sampleCurveX(J)-m,Math.abs(ne)<y)return J;var Fe=this.sampleCurveDerivativeX(J);if(Math.abs(Fe)<1e-6)break;J=J-ne/Fe}if(I=0,U=1,J=m,J<I)return I;if(J>U)return U;for(;I<U;){if(ne=this.sampleCurveX(J),Math.abs(ne-m)<y)return J;m>ne?I=J:U=J,J=(U-I)*.5+I}return J},l.prototype.solve=function(m,y){return this.sampleCurveY(this.solveCurveX(m,y))};var u=c;function c(m,y){this.x=m,this.y=y}c.prototype={clone:function(){return new c(this.x,this.y)},add:function(m){return this.clone()._add(m)},sub:function(m){return this.clone()._sub(m)},multByPoint:function(m){return this.clone()._multByPoint(m)},divByPoint:function(m){return this.clone()._divByPoint(m)},mult:function(m){return this.clone()._mult(m)},div:function(m){return this.clone()._div(m)},rotate:function(m){return this.clone()._rotate(m)},rotateAround:function(m,y){return this.clone()._rotateAround(m,y)},matMult:function(m){return this.clone()._matMult(m)},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(m){return this.x===m.x&&this.y===m.y},dist:function(m){return Math.sqrt(this.distSqr(m))},distSqr:function(m){var y=m.x-this.x,I=m.y-this.y;return y*y+I*I},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(m){return Math.atan2(this.y-m.y,this.x-m.x)},angleWith:function(m){return this.angleWithSep(m.x,m.y)},angleWithSep:function(m,y){return Math.atan2(this.x*y-this.y*m,this.x*m+this.y*y)},_matMult:function(m){var y=m[0]*this.x+m[1]*this.y,I=m[2]*this.x+m[3]*this.y;return this.x=y,this.y=I,this},_add:function(m){return this.x+=m.x,this.y+=m.y,this},_sub:function(m){return this.x-=m.x,this.y-=m.y,this},_mult:function(m){return this.x*=m,this.y*=m,this},_div:function(m){return this.x/=m,this.y/=m,this},_multByPoint:function(m){return this.x*=m.x,this.y*=m.y,this},_divByPoint:function(m){return this.x/=m.x,this.y/=m.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var m=this.y;return this.y=this.x,this.x=-m,this},_rotate:function(m){var y=Math.cos(m),I=Math.sin(m),U=y*this.x-I*this.y,J=I*this.x+y*this.y;return this.x=U,this.y=J,this},_rotateAround:function(m,y){var I=Math.cos(m),U=Math.sin(m),J=y.x+I*(this.x-y.x)-U*(this.y-y.y),ne=y.y+U*(this.x-y.x)+I*(this.y-y.y);return this.x=J,this.y=ne,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},c.convert=function(m){return m instanceof c?m:Array.isArray(m)?new c(m[0],m[1]):m};var f=typeof self!=\"undefined\"?self:{};function h(m,y){if(Array.isArray(m)){if(!Array.isArray(y)||m.length!==y.length)return!1;for(var I=0;I<m.length;I++)if(!h(m[I],y[I]))return!1;return!0}if(typeof m==\"object\"&&m!==null&&y!==null){if(typeof y!=\"object\")return!1;var U=Object.keys(m);if(U.length!==Object.keys(y).length)return!1;for(var J in m)if(!h(m[J],y[J]))return!1;return!0}return m===y}var d=Math.pow(2,53)-1;function v(m){if(m<=0)return 0;if(m>=1)return 1;var y=m*m,I=y*m;return 4*(m<.5?I:3*(m-y)+I-.75)}function x(m,y,I,U){var J=new s(m,y,I,U);return function(ne){return J.solve(ne)}}var b=x(.25,.1,.25,1);function p(m,y,I){return Math.min(I,Math.max(y,m))}function E(m,y,I){var U=I-y,J=((m-y)%U+U)%U+y;return J===y?I:J}function k(m,y,I){if(!m.length)return I(null,[]);var U=m.length,J=new Array(m.length),ne=null;m.forEach(function(fe,Fe){y(fe,function(Qe,st){Qe&&(ne=Qe),J[Fe]=st,--U===0&&I(ne,J)})})}function A(m){var y=[];for(var I in m)y.push(m[I]);return y}function L(m,y){var I=[];for(var U in m)U in y||I.push(U);return I}function _(m){for(var y=[],I=arguments.length-1;I-- >0;)y[I]=arguments[I+1];for(var U=0,J=y;U<J.length;U+=1){var ne=J[U];for(var fe in ne)m[fe]=ne[fe]}return m}function C(m,y){for(var I={},U=0;U<y.length;U++){var J=y[U];J in m&&(I[J]=m[J])}return I}var M=1;function g(){return M++}function P(){function m(y){return y?(y^Math.random()*16>>y/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,m)}return m()}function T(m){return m<=1?1:Math.pow(2,Math.ceil(Math.log(m)/Math.LN2))}function F(m){return m?/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(m):!1}function q(m,y){m.forEach(function(I){y[I]&&(y[I]=y[I].bind(y))})}function V(m,y){return m.indexOf(y,m.length-y.length)!==-1}function H(m,y,I){var U={};for(var J in m)U[J]=y.call(I||this,m[J],J,m);return U}function X(m,y,I){var U={};for(var J in m)y.call(I||this,m[J],J,m)&&(U[J]=m[J]);return U}function G(m){return Array.isArray(m)?m.map(G):typeof m==\"object\"&&m?H(m,G):m}function N(m,y){for(var I=0;I<m.length;I++)if(y.indexOf(m[I])>=0)return!0;return!1}var W={};function re(m){W[m]||(typeof console!=\"undefined\"&&console.warn(m),W[m]=!0)}function ae(m,y,I){return(I.y-m.y)*(y.x-m.x)>(y.y-m.y)*(I.x-m.x)}function _e(m){for(var y=0,I=0,U=m.length,J=U-1,ne=void 0,fe=void 0;I<U;J=I++)ne=m[I],fe=m[J],y+=(fe.x-ne.x)*(ne.y+fe.y);return y}function Me(m){var y=m[0],I=m[1],U=m[2];return I+=90,I*=Math.PI/180,U*=Math.PI/180,{x:y*Math.cos(I)*Math.sin(U),y:y*Math.sin(I)*Math.sin(U),z:y*Math.cos(U)}}function ke(){return typeof WorkerGlobalScope!=\"undefined\"&&typeof self!=\"undefined\"&&self instanceof WorkerGlobalScope}function ge(m){var y=/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,I={};if(m.replace(y,function(J,ne,fe,Fe){var Qe=fe||Fe;return I[ne]=Qe?Qe.toLowerCase():!0,\"\"}),I[\"max-age\"]){var U=parseInt(I[\"max-age\"],10);isNaN(U)?delete I[\"max-age\"]:I[\"max-age\"]=U}return I}var ie=null;function Te(m){if(ie==null){var y=m.navigator?m.navigator.userAgent:null;ie=!!m.safari||!!(y&&(/\\b(iPad|iPhone|iPod)\\b/.test(y)||y.match(\"Safari\")&&!y.match(\"Chrome\")))}return ie}function Ee(m){try{var y=f[m];return y.setItem(\"_mapbox_test_\",1),y.removeItem(\"_mapbox_test_\"),!0}catch(I){return!1}}function Ae(m){return f.btoa(encodeURIComponent(m).replace(/%([0-9A-F]{2})/g,function(y,I){return String.fromCharCode(+(\"0x\"+I))}))}function ze(m){return decodeURIComponent(f.atob(m).split(\"\").map(function(y){return\"%\"+(\"00\"+y.charCodeAt(0).toString(16)).slice(-2)}).join(\"\"))}var Ce=f.performance&&f.performance.now?f.performance.now.bind(f.performance):Date.now.bind(Date),me=f.requestAnimationFrame||f.mozRequestAnimationFrame||f.webkitRequestAnimationFrame||f.msRequestAnimationFrame,Re=f.cancelAnimationFrame||f.mozCancelAnimationFrame||f.webkitCancelAnimationFrame||f.msCancelAnimationFrame,ce,Ge,nt={now:Ce,frame:function(y){var I=me(y);return{cancel:function(){return Re(I)}}},getImageData:function(y,I){I===void 0&&(I=0);var U=f.document.createElement(\"canvas\"),J=U.getContext(\"2d\");if(!J)throw new Error(\"failed to create canvas 2d context\");return U.width=y.width,U.height=y.height,J.drawImage(y,0,0,y.width,y.height),J.getImageData(-I,-I,y.width+2*I,y.height+2*I)},resolveURL:function(y){return ce||(ce=f.document.createElement(\"a\")),ce.href=y,ce.href},hardwareConcurrency:f.navigator&&f.navigator.hardwareConcurrency||4,get devicePixelRatio(){return f.devicePixelRatio},get prefersReducedMotion(){return f.matchMedia?(Ge==null&&(Ge=f.matchMedia(\"(prefers-reduced-motion: reduce)\")),Ge.matches):!1}},ct={API_URL:\"https://api.mapbox.com\",get EVENTS_URL(){return this.API_URL?this.API_URL.indexOf(\"https://api.mapbox.cn\")===0?\"https://events.mapbox.cn/events/v2\":this.API_URL.indexOf(\"https://api.mapbox.com\")===0?\"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},qt={supported:!1,testSupport:Ct},rt,ot=!1,Rt,kt=!1;f.document&&(Rt=f.document.createElement(\"img\"),Rt.onload=function(){rt&&Yt(rt),rt=null,kt=!0},Rt.onerror=function(){ot=!0,rt=null},Rt.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\");function Ct(m){ot||!Rt||(kt?Yt(m):rt=m)}function Yt(m){var y=m.createTexture();m.bindTexture(m.TEXTURE_2D,y);try{if(m.texImage2D(m.TEXTURE_2D,0,m.RGBA,m.RGBA,m.UNSIGNED_BYTE,Rt),m.isContextLost())return;qt.supported=!0}catch(I){}m.deleteTexture(y),ot=!0}var xr=\"01\";function er(){for(var m=\"1\",y=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\",I=\"\",U=0;U<10;U++)I+=y[Math.floor(Math.random()*62)];var J=12*60*60*1e3,ne=[m,xr,I].join(\"\"),fe=Date.now()+J;return{token:ne,tokenExpiresAt:fe}}var Ke=function(y,I){this._transformRequestFn=y,this._customAccessToken=I,this._createSkuToken()};Ke.prototype._createSkuToken=function(){var y=er();this._skuToken=y.token,this._skuTokenExpiresAt=y.tokenExpiresAt},Ke.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},Ke.prototype.transformRequest=function(y,I){return this._transformRequestFn?this._transformRequestFn(y,I)||{url:y}:{url:y}},Ke.prototype.normalizeStyleURL=function(y,I){if(!xt(y))return y;var U=Ht(y);return U.path=\"/styles/v1\"+U.path,this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeGlyphsURL=function(y,I){if(!xt(y))return y;var U=Ht(y);return U.path=\"/fonts/v1\"+U.path,this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeSourceURL=function(y,I){if(!xt(y))return y;var U=Ht(y);return U.path=\"/v4/\"+U.authority+\".json\",U.params.push(\"secure\"),this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeSpriteURL=function(y,I,U,J){var ne=Ht(y);return xt(y)?(ne.path=\"/styles/v1\"+ne.path+\"/sprite\"+I+U,this._makeAPIURL(ne,this._customAccessToken||J)):(ne.path+=\"\"+I+U,$t(ne))},Ke.prototype.normalizeTileURL=function(y,I){if(this._isSkuTokenExpired()&&this._createSkuToken(),y&&!xt(y))return y;var U=Ht(y),J=/(\\.(png|jpg)\\d*)(?=$)/,ne=/^.+\\/v4\\//,fe=nt.devicePixelRatio>=2||I===512?\"@2x\":\"\",Fe=qt.supported?\".webp\":\"$1\";U.path=U.path.replace(J,\"\"+fe+Fe),U.path=U.path.replace(ne,\"/\"),U.path=\"/v4\"+U.path;var Qe=this._customAccessToken||Et(U.params)||ct.ACCESS_TOKEN;return ct.REQUIRE_ACCESS_TOKEN&&Qe&&this._skuToken&&U.params.push(\"sku=\"+this._skuToken),this._makeAPIURL(U,Qe)},Ke.prototype.canonicalizeTileURL=function(y,I){var U=\"/v4/\",J=/\\.[\\w]+$/,ne=Ht(y);if(!ne.path.match(/(^\\/v4\\/)/)||!ne.path.match(J))return y;var fe=\"mapbox://tiles/\";fe+=ne.path.replace(U,\"\");var Fe=ne.params;return I&&(Fe=Fe.filter(function(Qe){return!Qe.match(/^access_token=/)})),Fe.length&&(fe+=\"?\"+Fe.join(\"&\")),fe},Ke.prototype.canonicalizeTileset=function(y,I){for(var U=I?xt(I):!1,J=[],ne=0,fe=y.tiles||[];ne<fe.length;ne+=1){var Fe=fe[ne];Lt(Fe)?J.push(this.canonicalizeTileURL(Fe,U)):J.push(Fe)}return J},Ke.prototype._makeAPIURL=function(y,I){var U=\"See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\",J=Ht(ct.API_URL);if(y.protocol=J.protocol,y.authority=J.authority,y.protocol===\"http\"){var ne=y.params.indexOf(\"secure\");ne>=0&&y.params.splice(ne,1)}if(J.path!==\"/\"&&(y.path=\"\"+J.path+y.path),!ct.REQUIRE_ACCESS_TOKEN)return $t(y);if(I=I||ct.ACCESS_TOKEN,!I)throw new Error(\"An API access token is required to use Mapbox GL. \"+U);if(I[0]===\"s\")throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+U);return y.params=y.params.filter(function(fe){return fe.indexOf(\"access_token\")===-1}),y.params.push(\"access_token=\"+I),$t(y)};function xt(m){return m.indexOf(\"mapbox:\")===0}var bt=/^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/|\\?|$)/i;function Lt(m){return bt.test(m)}function St(m){return m.indexOf(\"sku=\")>0&&Lt(m)}function Et(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y],J=U.match(/^access_token=(.*)$/);if(J)return J[1]}return null}var dt=/^(\\w+):\\/\\/([^/?]*)(\\/[^?]+)?\\??(.+)?/;function Ht(m){var y=m.match(dt);if(!y)throw new Error(\"Unable to parse URL object\");return{protocol:y[1],authority:y[2],path:y[3]||\"/\",params:y[4]?y[4].split(\"&\"):[]}}function $t(m){var y=m.params.length?\"?\"+m.params.join(\"&\"):\"\";return m.protocol+\"://\"+m.authority+m.path+y}var fr=\"mapbox.eventData\";function _r(m){if(!m)return null;var y=m.split(\".\");if(!y||y.length!==3)return null;try{var I=JSON.parse(ze(y[1]));return I}catch(U){return null}}var Br=function(y){this.type=y,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};Br.prototype.getStorageKey=function(y){var I=_r(ct.ACCESS_TOKEN),U=\"\";return I&&I.u?U=Ae(I.u):U=ct.ACCESS_TOKEN||\"\",y?fr+\".\"+y+\":\"+U:fr+\":\"+U},Br.prototype.fetchEventData=function(){var y=Ee(\"localStorage\"),I=this.getStorageKey(),U=this.getStorageKey(\"uuid\");if(y)try{var J=f.localStorage.getItem(I);J&&(this.eventData=JSON.parse(J));var ne=f.localStorage.getItem(U);ne&&(this.anonId=ne)}catch(fe){re(\"Unable to read from LocalStorage\")}},Br.prototype.saveEventData=function(){var y=Ee(\"localStorage\"),I=this.getStorageKey(),U=this.getStorageKey(\"uuid\");if(y)try{f.localStorage.setItem(U,this.anonId),Object.keys(this.eventData).length>=1&&f.localStorage.setItem(I,JSON.stringify(this.eventData))}catch(J){re(\"Unable to write to LocalStorage\")}},Br.prototype.processRequests=function(y){},Br.prototype.postEvent=function(y,I,U,J){var ne=this;if(ct.EVENTS_URL){var fe=Ht(ct.EVENTS_URL);fe.params.push(\"access_token=\"+(J||ct.ACCESS_TOKEN||\"\"));var Fe={event:this.type,created:new Date(y).toISOString(),sdkIdentifier:\"mapbox-gl-js\",sdkVersion:o,skuId:xr,userId:this.anonId},Qe=I?_(Fe,I):Fe,st={url:$t(fe),headers:{\"Content-Type\":\"text/plain\"},body:JSON.stringify([Qe])};this.pendingRequest=Vr(st,function(mt){ne.pendingRequest=null,U(mt),ne.saveEventData(),ne.processRequests(J)})}},Br.prototype.queueRequest=function(y,I){this.queue.push(y),this.processRequests(I)};var Or=function(m){function y(){m.call(this,\"map.load\"),this.success={},this.skuToken=\"\"}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.postMapLoadEvent=function(U,J,ne,fe){this.skuToken=ne,(ct.EVENTS_URL&&fe||ct.ACCESS_TOKEN&&Array.isArray(U)&&U.some(function(Fe){return xt(Fe)||Lt(Fe)}))&&this.queueRequest({id:J,timestamp:Date.now()},fe)},y.prototype.processRequests=function(U){var J=this;if(!(this.pendingRequest||this.queue.length===0)){var ne=this.queue.shift(),fe=ne.id,Fe=ne.timestamp;fe&&this.success[fe]||(this.anonId||this.fetchEventData(),F(this.anonId)||(this.anonId=P()),this.postEvent(Fe,{skuToken:this.skuToken},function(Qe){Qe||fe&&(J.success[fe]=!0)},U))}},y}(Br),Nr=function(m){function y(I){m.call(this,\"appUserTurnstile\"),this._customAccessToken=I}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.postTurnstileEvent=function(U,J){ct.EVENTS_URL&&ct.ACCESS_TOKEN&&Array.isArray(U)&&U.some(function(ne){return xt(ne)||Lt(ne)})&&this.queueRequest(Date.now(),J)},y.prototype.processRequests=function(U){var J=this;if(!(this.pendingRequest||this.queue.length===0)){(!this.anonId||!this.eventData.lastSuccess||!this.eventData.tokenU)&&this.fetchEventData();var ne=_r(ct.ACCESS_TOKEN),fe=ne?ne.u:ct.ACCESS_TOKEN,Fe=fe!==this.eventData.tokenU;F(this.anonId)||(this.anonId=P(),Fe=!0);var Qe=this.queue.shift();if(this.eventData.lastSuccess){var st=new Date(this.eventData.lastSuccess),mt=new Date(Qe),Xt=(Qe-this.eventData.lastSuccess)/(24*60*60*1e3);Fe=Fe||Xt>=1||Xt<-1||st.getDate()!==mt.getDate()}else Fe=!0;if(!Fe)return this.processRequests();this.postEvent(Qe,{\"enabled.telemetry\":!1},function(ur){ur||(J.eventData.lastSuccess=Qe,J.eventData.tokenU=fe)},U)}},y}(Br),ut=new Nr,Ne=ut.postTurnstileEvent.bind(ut),Ye=new Or,Ve=Ye.postMapLoadEvent.bind(Ye),Xe=\"mapbox-tiles\",ht=500,Le=50,xe=1e3*60*7,Se;function lt(){f.caches&&!Se&&(Se=f.caches.open(Xe))}var Gt;function Vt(m,y){if(Gt===void 0)try{new Response(new ReadableStream),Gt=!0}catch(I){Gt=!1}Gt?y(m.body):m.blob().then(y)}function ar(m,y,I){if(lt(),!!Se){var U={status:y.status,statusText:y.statusText,headers:new f.Headers};y.headers.forEach(function(fe,Fe){return U.headers.set(Fe,fe)});var J=ge(y.headers.get(\"Cache-Control\")||\"\");if(!J[\"no-store\"]){J[\"max-age\"]&&U.headers.set(\"Expires\",new Date(I+J[\"max-age\"]*1e3).toUTCString());var ne=new Date(U.headers.get(\"Expires\")).getTime()-I;ne<xe||Vt(y,function(fe){var Fe=new f.Response(fe,U);lt(),Se&&Se.then(function(Qe){return Qe.put(Qr(m.url),Fe)}).catch(function(Qe){return re(Qe.message)})})}}}function Qr(m){var y=m.indexOf(\"?\");return y<0?m:m.slice(0,y)}function ai(m,y){if(lt(),!Se)return y(null);var I=Qr(m.url);Se.then(function(U){U.match(I).then(function(J){var ne=jr(J);U.delete(I),ne&&U.put(I,J.clone()),y(null,J,ne)}).catch(y)}).catch(y)}function jr(m){if(!m)return!1;var y=new Date(m.headers.get(\"Expires\")||0),I=ge(m.headers.get(\"Cache-Control\")||\"\");return y>Date.now()&&!I[\"no-cache\"]}var ri=1/0;function bi(m){ri++,ri>Le&&(m.getActor().send(\"enforceCacheSizeLimit\",ht),ri=0)}function nn(m){lt(),Se&&Se.then(function(y){y.keys().then(function(I){for(var U=0;U<I.length-m;U++)y.delete(I[U])})})}function Wi(m){var y=f.caches.delete(Xe);m&&y.catch(m).then(function(){return m()})}function Ni(m,y){ht=m,Le=y}var _n;function $i(){return _n==null&&(_n=f.OffscreenCanvas&&new f.OffscreenCanvas(1,1).getContext(\"2d\")&&typeof f.createImageBitmap==\"function\"),_n}var zn={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};typeof Object.freeze==\"function\"&&Object.freeze(zn);var Wn=function(m){function y(I,U,J){U===401&&Lt(J)&&(I+=\": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\"),m.call(this,I),this.status=U,this.url=J,this.name=this.constructor.name,this.message=I}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.toString=function(){return this.name+\": \"+this.message+\" (\"+this.status+\"): \"+this.url},y}(Error),It=ke()?function(){return self.worker&&self.worker.referrer}:function(){return(f.location.protocol===\"blob:\"?f.parent:f).location.href},ft=function(m){return/^file:/.test(m)||/^file:/.test(It())&&!/^\\w+:/.test(m)};function jt(m,y){var I=new f.AbortController,U=new f.Request(m.url,{method:m.method||\"GET\",body:m.body,credentials:m.credentials,headers:m.headers,referrer:It(),signal:I.signal}),J=!1,ne=!1,fe=St(U.url);m.type===\"json\"&&U.headers.set(\"Accept\",\"application/json\");var Fe=function(st,mt,Xt){if(!ne){if(st&&st.message!==\"SecurityError\"&&re(st),mt&&Xt)return Qe(mt);var ur=Date.now();f.fetch(U).then(function(nr){if(nr.ok){var Lr=fe?nr.clone():null;return Qe(nr,Lr,ur)}else return y(new Wn(nr.statusText,nr.status,m.url))}).catch(function(nr){nr.code!==20&&y(new Error(nr.message))})}},Qe=function(st,mt,Xt){(m.type===\"arrayBuffer\"?st.arrayBuffer():m.type===\"json\"?st.json():st.text()).then(function(ur){ne||(mt&&Xt&&ar(U,mt,Xt),J=!0,y(null,ur,st.headers.get(\"Cache-Control\"),st.headers.get(\"Expires\")))}).catch(function(ur){ne||y(new Error(ur.message))})};return fe?ai(U,Fe):Fe(null,null),{cancel:function(){ne=!0,J||I.abort()}}}function Zt(m,y){var I=new f.XMLHttpRequest;I.open(m.method||\"GET\",m.url,!0),m.type===\"arrayBuffer\"&&(I.responseType=\"arraybuffer\");for(var U in m.headers)I.setRequestHeader(U,m.headers[U]);return m.type===\"json\"&&(I.responseType=\"text\",I.setRequestHeader(\"Accept\",\"application/json\")),I.withCredentials=m.credentials===\"include\",I.onerror=function(){y(new Error(I.statusText))},I.onload=function(){if((I.status>=200&&I.status<300||I.status===0)&&I.response!==null){var J=I.response;if(m.type===\"json\")try{J=JSON.parse(I.response)}catch(ne){return y(ne)}y(null,J,I.getResponseHeader(\"Cache-Control\"),I.getResponseHeader(\"Expires\"))}else y(new Wn(I.statusText,I.status,m.url))},I.send(m.body),{cancel:function(){return I.abort()}}}var yr=function(m,y){if(!ft(m.url)){if(f.fetch&&f.Request&&f.AbortController&&f.Request.prototype.hasOwnProperty(\"signal\"))return jt(m,y);if(ke()&&self.worker&&self.worker.actor){var I=!0;return self.worker.actor.send(\"getResource\",m,y,void 0,I)}}return Zt(m,y)},Fr=function(m,y){return yr(_(m,{type:\"json\"}),y)},Zr=function(m,y){return yr(_(m,{type:\"arrayBuffer\"}),y)},Vr=function(m,y){return yr(_(m,{method:\"POST\"}),y)};function gi(m){var y=f.document.createElement(\"a\");return y.href=m,y.protocol===f.document.location.protocol&&y.host===f.document.location.host}var Si=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";function Mi(m,y,I,U){var J=new f.Image,ne=f.URL;J.onload=function(){y(null,J),ne.revokeObjectURL(J.src),J.onload=null,f.requestAnimationFrame(function(){J.src=Si})},J.onerror=function(){return y(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))};var fe=new f.Blob([new Uint8Array(m)],{type:\"image/png\"});J.cacheControl=I,J.expires=U,J.src=m.byteLength?ne.createObjectURL(fe):Si}function Pi(m,y){var I=new f.Blob([new Uint8Array(m)],{type:\"image/png\"});f.createImageBitmap(I).then(function(U){y(null,U)}).catch(function(U){y(new Error(\"Could not load image because of \"+U.message+\". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))})}var Gi,Ki,ka=function(){Gi=[],Ki=0};ka();var jn=function(m,y){if(qt.supported&&(m.headers||(m.headers={}),m.headers.accept=\"image/webp,*/*\"),Ki>=ct.MAX_PARALLEL_IMAGE_REQUESTS){var I={requestParameters:m,callback:y,cancelled:!1,cancel:function(){this.cancelled=!0}};return Gi.push(I),I}Ki++;var U=!1,J=function(){if(!U)for(U=!0,Ki--;Gi.length&&Ki<ct.MAX_PARALLEL_IMAGE_REQUESTS;){var fe=Gi.shift(),Fe=fe.requestParameters,Qe=fe.callback,st=fe.cancelled;st||(fe.cancel=jn(Fe,Qe).cancel)}},ne=Zr(m,function(fe,Fe,Qe,st){J(),fe?y(fe):Fe&&($i()?Pi(Fe,y):Mi(Fe,y,Qe,st))});return{cancel:function(){ne.cancel(),J()}}},la=function(m,y){var I=f.document.createElement(\"video\");I.muted=!0,I.onloadstart=function(){y(null,I)};for(var U=0;U<m.length;U++){var J=f.document.createElement(\"source\");gi(m[U])||(I.crossOrigin=\"Anonymous\"),J.src=m[U],I.appendChild(J)}return{cancel:function(){}}};function Fa(m,y,I){var U=I[m]&&I[m].indexOf(y)!==-1;U||(I[m]=I[m]||[],I[m].push(y))}function Ra(m,y,I){if(I&&I[m]){var U=I[m].indexOf(y);U!==-1&&I[m].splice(U,1)}}var jo=function(y,I){I===void 0&&(I={}),_(this,I),this.type=y},oa=function(m){function y(I,U){U===void 0&&(U={}),m.call(this,\"error\",_({error:I},U))}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(jo),Sn=function(){};Sn.prototype.on=function(y,I){return this._listeners=this._listeners||{},Fa(y,I,this._listeners),this},Sn.prototype.off=function(y,I){return Ra(y,I,this._listeners),Ra(y,I,this._oneTimeListeners),this},Sn.prototype.once=function(y,I){return this._oneTimeListeners=this._oneTimeListeners||{},Fa(y,I,this._oneTimeListeners),this},Sn.prototype.fire=function(y,I){typeof y==\"string\"&&(y=new jo(y,I||{}));var U=y.type;if(this.listens(U)){y.target=this;for(var J=this._listeners&&this._listeners[U]?this._listeners[U].slice():[],ne=0,fe=J;ne<fe.length;ne+=1){var Fe=fe[ne];Fe.call(this,y)}for(var Qe=this._oneTimeListeners&&this._oneTimeListeners[U]?this._oneTimeListeners[U].slice():[],st=0,mt=Qe;st<mt.length;st+=1){var Xt=mt[st];Ra(U,Xt,this._oneTimeListeners),Xt.call(this,y)}var ur=this._eventedParent;ur&&(_(y,typeof this._eventedParentData==\"function\"?this._eventedParentData():this._eventedParentData),ur.fire(y))}else y instanceof oa&&console.error(y.error);return this},Sn.prototype.listens=function(y){return this._listeners&&this._listeners[y]&&this._listeners[y].length>0||this._oneTimeListeners&&this._oneTimeListeners[y]&&this._oneTimeListeners[y].length>0||this._eventedParent&&this._eventedParent.listens(y)},Sn.prototype.setEventedParent=function(y,I){return this._eventedParent=y,this._eventedParentData=I,this};var Ha=8,oo={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\"}},xn={\"*\":{type:\"source\"}},_t=[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],br={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:\"*\"}},Hr={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:\"*\"}},ti={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:\"*\"}},zi={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\"}},Yi={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\"}}},an={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\"}}},hi={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\"}},Ji=[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],ua={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},Fn={\"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\"}},Sa={\"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\"}},go={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},Oo={\"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\"}},ho={\"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\"}},Mo={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},xo={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},zs={type:\"array\",value:\"*\"},ks={type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{},within:{}}},Zs={type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},Xs={type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},wl={type:\"array\",value:\"*\",minimum:1},os={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}},cl=[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],Cs={\"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\"}},ml={\"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\"}},Ys={\"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\"}},Hs={\"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\"}},Eo={\"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\"}},fs={\"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\"}},Ql={\"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\"}},Hu={\"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\"}},fc={duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},ms={\"*\":{type:\"string\"}},on={$version:Ha,$root:oo,sources:xn,source:_t,source_vector:br,source_raster:Hr,source_raster_dem:ti,source_geojson:zi,source_video:Yi,source_image:an,layer:hi,layout:Ji,layout_background:ua,layout_fill:Fn,layout_circle:Sa,layout_heatmap:go,\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:Oo,layout_symbol:ho,layout_raster:Mo,layout_hillshade:xo,filter:zs,filter_operator:ks,geometry_type:Zs,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:Xs,expression:wl,light:os,paint:cl,paint_fill:Cs,\"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:ml,paint_circle:Ys,paint_heatmap:Hs,paint_symbol:Eo,paint_raster:fs,paint_hillshade:Ql,paint_background:Hu,transition:fc,\"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:ms},fa=function(y,I,U,J){this.message=(y?y+\": \":\"\")+U,J&&(this.identifier=J),I!=null&&I.__line__&&(this.line=I.__line__)};function Qu(m){var y=m.key,I=m.value;return I?[new fa(y,I,\"constants have been deprecated as of v8\")]:[]}function Rl(m){for(var y=[],I=arguments.length-1;I-- >0;)y[I]=arguments[I+1];for(var U=0,J=y;U<J.length;U+=1){var ne=J[U];for(var fe in ne)m[fe]=ne[fe]}return m}function vo(m){return m instanceof Number||m instanceof String||m instanceof Boolean?m.valueOf():m}function Zl(m){if(Array.isArray(m))return m.map(Zl);if(m instanceof Object&&!(m instanceof Number||m instanceof String||m instanceof Boolean)){var y={};for(var I in m)y[I]=Zl(m[I]);return y}return vo(m)}var Ks=function(m){function y(I,U){m.call(this,U),this.message=U,this.key=I}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(Error),Xl=function(y,I){I===void 0&&(I=[]),this.parent=y,this.bindings={};for(var U=0,J=I;U<J.length;U+=1){var ne=J[U],fe=ne[0],Fe=ne[1];this.bindings[fe]=Fe}};Xl.prototype.concat=function(y){return new Xl(this,y)},Xl.prototype.get=function(y){if(this.bindings[y])return this.bindings[y];if(this.parent)return this.parent.get(y);throw new Error(y+\" not found in scope.\")},Xl.prototype.has=function(y){return this.bindings[y]?!0:this.parent?this.parent.has(y):!1};var Ec={kind:\"null\"},Zn={kind:\"number\"},ko={kind:\"string\"},Co={kind:\"boolean\"},Tl={kind:\"color\"},uf={kind:\"object\"},So={kind:\"value\"},cf={kind:\"error\"},rh={kind:\"collator\"},Al={kind:\"formatted\"},Hc={kind:\"resolvedImage\"};function eu(m,y){return{kind:\"array\",itemType:m,N:y}}function Ls(m){if(m.kind===\"array\"){var y=Ls(m.itemType);return typeof m.N==\"number\"?\"array<\"+y+\", \"+m.N+\">\":m.itemType.kind===\"value\"?\"array\":\"array<\"+y+\">\"}else return m.kind}var mu=[Ec,Zn,ko,Co,Tl,Al,uf,eu(So),Hc];function kc(m,y){if(y.kind===\"error\")return null;if(m.kind===\"array\"){if(y.kind===\"array\"&&(y.N===0&&y.itemType.kind===\"value\"||!kc(m.itemType,y.itemType))&&(typeof m.N!=\"number\"||m.N===y.N))return null}else{if(m.kind===y.kind)return null;if(m.kind===\"value\")for(var I=0,U=mu;I<U.length;I+=1){var J=U[I];if(!kc(J,y))return null}}return\"Expected \"+Ls(m)+\" but found \"+Ls(y)+\" instead.\"}function Of(m,y){return y.some(function(I){return I.kind===m.kind})}function Gc(m,y){return y.some(function(I){return I===\"null\"?m===null:I===\"array\"?Array.isArray(m):I===\"object\"?m&&!Array.isArray(m)&&typeof m==\"object\":I===typeof m})}var vd=a(function(m,y){var I={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function U(st){return st=Math.round(st),st<0?0:st>255?255:st}function J(st){return st<0?0:st>1?1:st}function ne(st){return st[st.length-1]===\"%\"?U(parseFloat(st)/100*255):U(parseInt(st))}function fe(st){return st[st.length-1]===\"%\"?J(parseFloat(st)/100):J(parseFloat(st))}function Fe(st,mt,Xt){return Xt<0?Xt+=1:Xt>1&&(Xt-=1),Xt*6<1?st+(mt-st)*Xt*6:Xt*2<1?mt:Xt*3<2?st+(mt-st)*(2/3-Xt)*6:st}function Qe(st){var mt=st.replace(/ /g,\"\").toLowerCase();if(mt in I)return I[mt].slice();if(mt[0]===\"#\"){if(mt.length===4){var Xt=parseInt(mt.substr(1),16);return Xt>=0&&Xt<=4095?[(Xt&3840)>>4|(Xt&3840)>>8,Xt&240|(Xt&240)>>4,Xt&15|(Xt&15)<<4,1]:null}else if(mt.length===7){var Xt=parseInt(mt.substr(1),16);return Xt>=0&&Xt<=16777215?[(Xt&16711680)>>16,(Xt&65280)>>8,Xt&255,1]:null}return null}var ur=mt.indexOf(\"(\"),nr=mt.indexOf(\")\");if(ur!==-1&&nr+1===mt.length){var Lr=mt.substr(0,ur),Yr=mt.substr(ur+1,nr-(ur+1)).split(\",\"),_i=1;switch(Lr){case\"rgba\":if(Yr.length!==4)return null;_i=fe(Yr.pop());case\"rgb\":return Yr.length!==3?null:[ne(Yr[0]),ne(Yr[1]),ne(Yr[2]),_i];case\"hsla\":if(Yr.length!==4)return null;_i=fe(Yr.pop());case\"hsl\":if(Yr.length!==3)return null;var si=(parseFloat(Yr[0])%360+360)%360/360,Hi=fe(Yr[1]),Ei=fe(Yr[2]),Vi=Ei<=.5?Ei*(Hi+1):Ei+Hi-Ei*Hi,en=Ei*2-Vi;return[U(Fe(en,Vi,si+1/3)*255),U(Fe(en,Vi,si)*255),U(Fe(en,Vi,si-1/3)*255),_i];default:return null}}return null}try{y.parseCSSColor=Qe}catch(st){}}),Bf=vd.parseCSSColor,ss=function(y,I,U,J){J===void 0&&(J=1),this.r=y,this.g=I,this.b=U,this.a=J};ss.parse=function(y){if(y){if(y instanceof ss)return y;if(typeof y==\"string\"){var I=Bf(y);if(I)return new ss(I[0]/255*I[3],I[1]/255*I[3],I[2]/255*I[3],I[3])}}},ss.prototype.toString=function(){var y=this.toArray(),I=y[0],U=y[1],J=y[2],ne=y[3];return\"rgba(\"+Math.round(I)+\",\"+Math.round(U)+\",\"+Math.round(J)+\",\"+ne+\")\"},ss.prototype.toArray=function(){var y=this,I=y.r,U=y.g,J=y.b,ne=y.a;return ne===0?[0,0,0,0]:[I*255/ne,U*255/ne,J*255/ne,ne]},ss.black=new ss(0,0,0,1),ss.white=new ss(1,1,1,1),ss.transparent=new ss(0,0,0,0),ss.red=new ss(1,0,0,1);var ff=function(y,I,U){y?this.sensitivity=I?\"variant\":\"case\":this.sensitivity=I?\"accent\":\"base\",this.locale=U,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})};ff.prototype.compare=function(y,I){return this.collator.compare(y,I)},ff.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var ih=function(y,I,U,J,ne){this.text=y,this.image=I,this.scale=U,this.fontStack=J,this.textColor=ne},Vl=function(y){this.sections=y};Vl.fromString=function(y){return new Vl([new ih(y,null,null,null,null)])},Vl.prototype.isEmpty=function(){return this.sections.length===0?!0:!this.sections.some(function(y){return y.text.length!==0||y.image&&y.image.name.length!==0})},Vl.factory=function(y){return y instanceof Vl?y:Vl.fromString(y)},Vl.prototype.toString=function(){return this.sections.length===0?\"\":this.sections.map(function(y){return y.text}).join(\"\")},Vl.prototype.serialize=function(){for(var y=[\"format\"],I=0,U=this.sections;I<U.length;I+=1){var J=U[I];if(J.image){y.push([\"image\",J.image.name]);continue}y.push(J.text);var ne={};J.fontStack&&(ne[\"text-font\"]=[\"literal\",J.fontStack.split(\",\")]),J.scale&&(ne[\"font-scale\"]=J.scale),J.textColor&&(ne[\"text-color\"]=[\"rgba\"].concat(J.textColor.toArray())),y.push(ne)}return y};var Js=function(y){this.name=y.name,this.available=y.available};Js.prototype.toString=function(){return this.name},Js.fromString=function(y){return y?new Js({name:y,available:!1}):null},Js.prototype.serialize=function(){return[\"image\",this.name]};function hc(m,y,I,U){if(!(typeof m==\"number\"&&m>=0&&m<=255&&typeof y==\"number\"&&y>=0&&y<=255&&typeof I==\"number\"&&I>=0&&I<=255)){var J=typeof U==\"number\"?[m,y,I,U]:[m,y,I];return\"Invalid rgba value [\"+J.join(\", \")+\"]: 'r', 'g', and 'b' must be between 0 and 255.\"}return typeof U==\"undefined\"||typeof U==\"number\"&&U>=0&&U<=1?null:\"Invalid rgba value [\"+[m,y,I,U].join(\", \")+\"]: 'a' must be between 0 and 1.\"}function Cc(m){if(m===null)return!0;if(typeof m==\"string\")return!0;if(typeof m==\"boolean\")return!0;if(typeof m==\"number\")return!0;if(m instanceof ss)return!0;if(m instanceof ff)return!0;if(m instanceof Vl)return!0;if(m instanceof Js)return!0;if(Array.isArray(m)){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(!Cc(U))return!1}return!0}else if(typeof m==\"object\"){for(var J in m)if(!Cc(m[J]))return!1;return!0}else return!1}function ws(m){if(m===null)return Ec;if(typeof m==\"string\")return ko;if(typeof m==\"boolean\")return Co;if(typeof m==\"number\")return Zn;if(m instanceof ss)return Tl;if(m instanceof ff)return rh;if(m instanceof Vl)return Al;if(m instanceof Js)return Hc;if(Array.isArray(m)){for(var y=m.length,I,U=0,J=m;U<J.length;U+=1){var ne=J[U],fe=ws(ne);if(!I)I=fe;else{if(I===fe)continue;I=So;break}}return eu(I||So,y)}else return uf}function $s(m){var y=typeof m;return m===null?\"\":y===\"string\"||y===\"number\"||y===\"boolean\"?String(m):m instanceof ss||m instanceof Vl||m instanceof Js?m.toString():JSON.stringify(m)}var hs=function(y,I){this.type=y,this.value=I};hs.parse=function(y,I){if(y.length!==2)return I.error(\"'literal' expression requires exactly one argument, but found \"+(y.length-1)+\" instead.\");if(!Cc(y[1]))return I.error(\"invalid value\");var U=y[1],J=ws(U),ne=I.expectedType;return J.kind===\"array\"&&J.N===0&&ne&&ne.kind===\"array\"&&(typeof ne.N!=\"number\"||ne.N===0)&&(J=ne),new hs(J,U)},hs.prototype.evaluate=function(){return this.value},hs.prototype.eachChild=function(){},hs.prototype.outputDefined=function(){return!0},hs.prototype.serialize=function(){return this.type.kind===\"array\"||this.type.kind===\"object\"?[\"literal\",this.value]:this.value instanceof ss?[\"rgba\"].concat(this.value.toArray()):this.value instanceof Vl?this.value.serialize():this.value};var Ms=function(y){this.name=\"ExpressionEvaluationError\",this.message=y};Ms.prototype.toJSON=function(){return this.message};var dc={string:ko,number:Zn,boolean:Co,object:uf},Sl=function(y,I){this.type=y,this.args=I};Sl.parse=function(y,I){if(y.length<2)return I.error(\"Expected at least one argument.\");var U=1,J,ne=y[0];if(ne===\"array\"){var fe;if(y.length>2){var Fe=y[1];if(typeof Fe!=\"string\"||!(Fe in dc)||Fe===\"object\")return I.error('The item type argument of \"array\" must be one of string, number, boolean',1);fe=dc[Fe],U++}else fe=So;var Qe;if(y.length>3){if(y[2]!==null&&(typeof y[2]!=\"number\"||y[2]<0||y[2]!==Math.floor(y[2])))return I.error('The length argument to \"array\" must be a positive integer literal',2);Qe=y[2],U++}J=eu(fe,Qe)}else J=dc[ne];for(var st=[];U<y.length;U++){var mt=I.parse(y[U],U,So);if(!mt)return null;st.push(mt)}return new Sl(J,st)},Sl.prototype.evaluate=function(y){for(var I=0;I<this.args.length;I++){var U=this.args[I].evaluate(y),J=kc(this.type,ws(U));if(J){if(I===this.args.length-1)throw new Ms(\"Expected value to be of type \"+Ls(this.type)+\", but found \"+Ls(ws(U))+\" instead.\")}else return U}return null},Sl.prototype.eachChild=function(y){this.args.forEach(y)},Sl.prototype.outputDefined=function(){return this.args.every(function(y){return y.outputDefined()})},Sl.prototype.serialize=function(){var y=this.type,I=[y.kind];if(y.kind===\"array\"){var U=y.itemType;if(U.kind===\"string\"||U.kind===\"number\"||U.kind===\"boolean\"){I.push(U.kind);var J=y.N;(typeof J==\"number\"||this.args.length>1)&&I.push(J)}}return I.concat(this.args.map(function(ne){return ne.serialize()}))};var ec=function(y){this.type=Al,this.sections=y};ec.parse=function(y,I){if(y.length<2)return I.error(\"Expected at least one argument.\");var U=y[1];if(!Array.isArray(U)&&typeof U==\"object\")return I.error(\"First argument must be an image or text section.\");for(var J=[],ne=!1,fe=1;fe<=y.length-1;++fe){var Fe=y[fe];if(ne&&typeof Fe==\"object\"&&!Array.isArray(Fe)){ne=!1;var Qe=null;if(Fe[\"font-scale\"]&&(Qe=I.parse(Fe[\"font-scale\"],1,Zn),!Qe))return null;var st=null;if(Fe[\"text-font\"]&&(st=I.parse(Fe[\"text-font\"],1,eu(ko)),!st))return null;var mt=null;if(Fe[\"text-color\"]&&(mt=I.parse(Fe[\"text-color\"],1,Tl),!mt))return null;var Xt=J[J.length-1];Xt.scale=Qe,Xt.font=st,Xt.textColor=mt}else{var ur=I.parse(y[fe],1,So);if(!ur)return null;var nr=ur.type.kind;if(nr!==\"string\"&&nr!==\"value\"&&nr!==\"null\"&&nr!==\"resolvedImage\")return I.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");ne=!0,J.push({content:ur,scale:null,font:null,textColor:null})}}return new ec(J)},ec.prototype.evaluate=function(y){var I=function(U){var J=U.content.evaluate(y);return ws(J)===Hc?new ih(\"\",J,null,null,null):new ih($s(J),null,U.scale?U.scale.evaluate(y):null,U.font?U.font.evaluate(y).join(\",\"):null,U.textColor?U.textColor.evaluate(y):null)};return new Vl(this.sections.map(I))},ec.prototype.eachChild=function(y){for(var I=0,U=this.sections;I<U.length;I+=1){var J=U[I];y(J.content),J.scale&&y(J.scale),J.font&&y(J.font),J.textColor&&y(J.textColor)}},ec.prototype.outputDefined=function(){return!1},ec.prototype.serialize=function(){for(var y=[\"format\"],I=0,U=this.sections;I<U.length;I+=1){var J=U[I];y.push(J.content.serialize());var ne={};J.scale&&(ne[\"font-scale\"]=J.scale.serialize()),J.font&&(ne[\"text-font\"]=J.font.serialize()),J.textColor&&(ne[\"text-color\"]=J.textColor.serialize()),y.push(ne)}return y};var Ps=function(y){this.type=Hc,this.input=y};Ps.parse=function(y,I){if(y.length!==2)return I.error(\"Expected two arguments.\");var U=I.parse(y[1],1,ko);return U?new Ps(U):I.error(\"No image name provided.\")},Ps.prototype.evaluate=function(y){var I=this.input.evaluate(y),U=Js.fromString(I);return U&&y.availableImages&&(U.available=y.availableImages.indexOf(I)>-1),U},Ps.prototype.eachChild=function(y){y(this.input)},Ps.prototype.outputDefined=function(){return!1},Ps.prototype.serialize=function(){return[\"image\",this.input.serialize()]};var ov={\"to-boolean\":Co,\"to-color\":Tl,\"to-number\":Zn,\"to-string\":ko},wo=function(y,I){this.type=y,this.args=I};wo.parse=function(y,I){if(y.length<2)return I.error(\"Expected at least one argument.\");var U=y[0];if((U===\"to-boolean\"||U===\"to-string\")&&y.length!==2)return I.error(\"Expected one argument.\");for(var J=ov[U],ne=[],fe=1;fe<y.length;fe++){var Fe=I.parse(y[fe],fe,So);if(!Fe)return null;ne.push(Fe)}return new wo(J,ne)},wo.prototype.evaluate=function(y){if(this.type.kind===\"boolean\")return!!this.args[0].evaluate(y);if(this.type.kind===\"color\"){for(var I,U,J=0,ne=this.args;J<ne.length;J+=1){var fe=ne[J];if(I=fe.evaluate(y),U=null,I instanceof ss)return I;if(typeof I==\"string\"){var Fe=y.parseColor(I);if(Fe)return Fe}else if(Array.isArray(I)&&(I.length<3||I.length>4?U=\"Invalid rbga value \"+JSON.stringify(I)+\": expected an array containing either three or four numeric values.\":U=hc(I[0],I[1],I[2],I[3]),!U))return new ss(I[0]/255,I[1]/255,I[2]/255,I[3])}throw new Ms(U||\"Could not parse color from value '\"+(typeof I==\"string\"?I:String(JSON.stringify(I)))+\"'\")}else if(this.type.kind===\"number\"){for(var Qe=null,st=0,mt=this.args;st<mt.length;st+=1){var Xt=mt[st];if(Qe=Xt.evaluate(y),Qe===null)return 0;var ur=Number(Qe);if(!isNaN(ur))return ur}throw new Ms(\"Could not convert \"+JSON.stringify(Qe)+\" to number.\")}else return this.type.kind===\"formatted\"?Vl.fromString($s(this.args[0].evaluate(y))):this.type.kind===\"resolvedImage\"?Js.fromString($s(this.args[0].evaluate(y))):$s(this.args[0].evaluate(y))},wo.prototype.eachChild=function(y){this.args.forEach(y)},wo.prototype.outputDefined=function(){return this.args.every(function(y){return y.outputDefined()})},wo.prototype.serialize=function(){if(this.type.kind===\"formatted\")return new ec([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if(this.type.kind===\"resolvedImage\")return new Ps(this.args[0]).serialize();var y=[\"to-\"+this.type.kind];return this.eachChild(function(I){y.push(I.serialize())}),y};var Od=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],$o=function(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null};$o.prototype.id=function(){return this.feature&&\"id\"in this.feature?this.feature.id:null},$o.prototype.geometryType=function(){return this.feature?typeof this.feature.type==\"number\"?Od[this.feature.type]:this.feature.type:null},$o.prototype.geometry=function(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null},$o.prototype.canonicalID=function(){return this.canonical},$o.prototype.properties=function(){return this.feature&&this.feature.properties||{}},$o.prototype.parseColor=function(y){var I=this._parseColorCache[y];return I||(I=this._parseColorCache[y]=ss.parse(y)),I};var Ja=function(y,I,U,J){this.name=y,this.type=I,this._evaluate=U,this.args=J};Ja.prototype.evaluate=function(y){return this._evaluate(y,this.args)},Ja.prototype.eachChild=function(y){this.args.forEach(y)},Ja.prototype.outputDefined=function(){return!1},Ja.prototype.serialize=function(){return[this.name].concat(this.args.map(function(y){return y.serialize()}))},Ja.parse=function(y,I){var U,J=y[0],ne=Ja.definitions[J];if(!ne)return I.error('Unknown expression \"'+J+'\". If you wanted a literal array, use [\"literal\", [...]].',0);for(var fe=Array.isArray(ne)?ne[0]:ne.type,Fe=Array.isArray(ne)?[[ne[1],ne[2]]]:ne.overloads,Qe=Fe.filter(function(Na){var ja=Na[0];return!Array.isArray(ja)||ja.length===y.length-1}),st=null,mt=0,Xt=Qe;mt<Xt.length;mt+=1){var ur=Xt[mt],nr=ur[0],Lr=ur[1];st=new fl(I.registry,I.path,null,I.scope);for(var Yr=[],_i=!1,si=1;si<y.length;si++){var Hi=y[si],Ei=Array.isArray(nr)?nr[si-1]:nr.type,Vi=st.parse(Hi,1+Yr.length,Ei);if(!Vi){_i=!0;break}Yr.push(Vi)}if(!_i){if(Array.isArray(nr)&&nr.length!==Yr.length){st.error(\"Expected \"+nr.length+\" arguments, but found \"+Yr.length+\" instead.\");continue}for(var en=0;en<Yr.length;en++){var An=Array.isArray(nr)?nr[en]:nr.type,ra=Yr[en];st.concat(en+1).checkSubtype(An,ra.type)}if(st.errors.length===0)return new Ja(J,fe,Lr,Yr)}}if(Qe.length===1)(U=I.errors).push.apply(U,st.errors);else{for(var $n=Qe.length?Qe:Fe,Ba=$n.map(function(Na){var ja=Na[0];return Ef(ja)}).join(\" | \"),_a=[],Pa=1;Pa<y.length;Pa++){var qo=I.parse(y[Pa],1+_a.length);if(!qo)return null;_a.push(Ls(qo.type))}I.error(\"Expected arguments of type \"+Ba+\", but found (\"+_a.join(\", \")+\") instead.\")}return null},Ja.register=function(y,I){Ja.definitions=I;for(var U in I)y[U]=Ja};function Ef(m){return Array.isArray(m)?\"(\"+m.map(Ls).join(\", \")+\")\":\"(\"+Ls(m.type)+\"...)\"}var tc=function(y,I,U){this.type=rh,this.locale=U,this.caseSensitive=y,this.diacriticSensitive=I};tc.parse=function(y,I){if(y.length!==2)return I.error(\"Expected one argument.\");var U=y[1];if(typeof U!=\"object\"||Array.isArray(U))return I.error(\"Collator options argument must be an object.\");var J=I.parse(U[\"case-sensitive\"]===void 0?!1:U[\"case-sensitive\"],1,Co);if(!J)return null;var ne=I.parse(U[\"diacritic-sensitive\"]===void 0?!1:U[\"diacritic-sensitive\"],1,Co);if(!ne)return null;var fe=null;return U.locale&&(fe=I.parse(U.locale,1,ko),!fe)?null:new tc(J,ne,fe)},tc.prototype.evaluate=function(y){return new ff(this.caseSensitive.evaluate(y),this.diacriticSensitive.evaluate(y),this.locale?this.locale.evaluate(y):null)},tc.prototype.eachChild=function(y){y(this.caseSensitive),y(this.diacriticSensitive),this.locale&&y(this.locale)},tc.prototype.outputDefined=function(){return!1},tc.prototype.serialize=function(){var y={};return y[\"case-sensitive\"]=this.caseSensitive.serialize(),y[\"diacritic-sensitive\"]=this.diacriticSensitive.serialize(),this.locale&&(y.locale=this.locale.serialize()),[\"collator\",y]};var uu=8192;function Mh(m,y){m[0]=Math.min(m[0],y[0]),m[1]=Math.min(m[1],y[1]),m[2]=Math.max(m[2],y[0]),m[3]=Math.max(m[3],y[1])}function jc(m){return(180+m)/360}function kf(m){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+m*Math.PI/360)))/360}function Ml(m,y){return!(m[0]<=y[0]||m[2]>=y[2]||m[1]<=y[1]||m[3]>=y[3])}function Yh(m,y){var I=jc(m[0]),U=kf(m[1]),J=Math.pow(2,y.z);return[Math.round(I*J*uu),Math.round(U*J*uu)]}function Eh(m,y,I){var U=m[0]-y[0],J=m[1]-y[1],ne=m[0]-I[0],fe=m[1]-I[1];return U*fe-ne*J===0&&U*ne<=0&&J*fe<=0}function nh(m,y,I){return y[1]>m[1]!=I[1]>m[1]&&m[0]<(I[0]-y[0])*(m[1]-y[1])/(I[1]-y[1])+y[0]}function hf(m,y){for(var I=!1,U=0,J=y.length;U<J;U++)for(var ne=y[U],fe=0,Fe=ne.length;fe<Fe-1;fe++){if(Eh(m,ne[fe],ne[fe+1]))return!1;nh(m,ne[fe],ne[fe+1])&&(I=!I)}return I}function kh(m,y){for(var I=0;I<y.length;I++)if(hf(m,y[I]))return!0;return!1}function Kh(m,y){return m[0]*y[1]-m[1]*y[0]}function rc(m,y,I,U){var J=m[0]-I[0],ne=m[1]-I[1],fe=y[0]-I[0],Fe=y[1]-I[1],Qe=U[0]-I[0],st=U[1]-I[1],mt=J*st-Qe*ne,Xt=fe*st-Qe*Fe;return mt>0&&Xt<0||mt<0&&Xt>0}function ah(m,y,I,U){var J=[y[0]-m[0],y[1]-m[1]],ne=[U[0]-I[0],U[1]-I[1]];return Kh(ne,J)===0?!1:!!(rc(m,y,I,U)&&rc(I,U,m,y))}function Wc(m,y,I){for(var U=0,J=I;U<J.length;U+=1)for(var ne=J[U],fe=0;fe<ne.length-1;++fe)if(ah(m,y,ne[fe],ne[fe+1]))return!0;return!1}function df(m,y){for(var I=0;I<m.length;++I)if(!hf(m[I],y))return!1;for(var U=0;U<m.length-1;++U)if(Wc(m[U],m[U+1],y))return!1;return!0}function Cu(m,y){for(var I=0;I<y.length;I++)if(df(m,y[I]))return!0;return!1}function Nf(m,y,I){for(var U=[],J=0;J<m.length;J++){for(var ne=[],fe=0;fe<m[J].length;fe++){var Fe=Yh(m[J][fe],I);Mh(y,Fe),ne.push(Fe)}U.push(ne)}return U}function Zc(m,y,I){for(var U=[],J=0;J<m.length;J++){var ne=Nf(m[J],y,I);U.push(ne)}return U}function ds(m,y,I,U){if(m[0]<I[0]||m[0]>I[2]){var J=U*.5,ne=m[0]-I[0]>J?-U:I[0]-m[0]>J?U:0;ne===0&&(ne=m[0]-I[2]>J?-U:I[2]-m[0]>J?U:0),m[0]+=ne}Mh(y,m)}function Ch(m){m[0]=m[1]=1/0,m[2]=m[3]=-1/0}function Bd(m,y,I,U){for(var J=Math.pow(2,U.z)*uu,ne=[U.x*uu,U.y*uu],fe=[],Fe=0,Qe=m;Fe<Qe.length;Fe+=1)for(var st=Qe[Fe],mt=0,Xt=st;mt<Xt.length;mt+=1){var ur=Xt[mt],nr=[ur.x+ne[0],ur.y+ne[1]];ds(nr,y,I,J),fe.push(nr)}return fe}function Jh(m,y,I,U){for(var J=Math.pow(2,U.z)*uu,ne=[U.x*uu,U.y*uu],fe=[],Fe=0,Qe=m;Fe<Qe.length;Fe+=1){for(var st=Qe[Fe],mt=[],Xt=0,ur=st;Xt<ur.length;Xt+=1){var nr=ur[Xt],Lr=[nr.x+ne[0],nr.y+ne[1]];Mh(y,Lr),mt.push(Lr)}fe.push(mt)}if(y[2]-y[0]<=J/2){Ch(y);for(var Yr=0,_i=fe;Yr<_i.length;Yr+=1)for(var si=_i[Yr],Hi=0,Ei=si;Hi<Ei.length;Hi+=1){var Vi=Ei[Hi];ds(Vi,y,I,J)}}return fe}function Cf(m,y){var I=[1/0,1/0,-1/0,-1/0],U=[1/0,1/0,-1/0,-1/0],J=m.canonicalID();if(y.type===\"Polygon\"){var ne=Nf(y.coordinates,U,J),fe=Bd(m.geometry(),I,U,J);if(!Ml(I,U))return!1;for(var Fe=0,Qe=fe;Fe<Qe.length;Fe+=1){var st=Qe[Fe];if(!hf(st,ne))return!1}}if(y.type===\"MultiPolygon\"){var mt=Zc(y.coordinates,U,J),Xt=Bd(m.geometry(),I,U,J);if(!Ml(I,U))return!1;for(var ur=0,nr=Xt;ur<nr.length;ur+=1){var Lr=nr[ur];if(!kh(Lr,mt))return!1}}return!0}function pd(m,y){var I=[1/0,1/0,-1/0,-1/0],U=[1/0,1/0,-1/0,-1/0],J=m.canonicalID();if(y.type===\"Polygon\"){var ne=Nf(y.coordinates,U,J),fe=Jh(m.geometry(),I,U,J);if(!Ml(I,U))return!1;for(var Fe=0,Qe=fe;Fe<Qe.length;Fe+=1){var st=Qe[Fe];if(!df(st,ne))return!1}}if(y.type===\"MultiPolygon\"){var mt=Zc(y.coordinates,U,J),Xt=Jh(m.geometry(),I,U,J);if(!Ml(I,U))return!1;for(var ur=0,nr=Xt;ur<nr.length;ur+=1){var Lr=nr[ur];if(!Cu(Lr,mt))return!1}}return!0}var Lu=function(y,I){this.type=Co,this.geojson=y,this.geometries=I};Lu.parse=function(y,I){if(y.length!==2)return I.error(\"'within' expression requires exactly one argument, but found \"+(y.length-1)+\" instead.\");if(Cc(y[1])){var U=y[1];if(U.type===\"FeatureCollection\")for(var J=0;J<U.features.length;++J){var ne=U.features[J].geometry.type;if(ne===\"Polygon\"||ne===\"MultiPolygon\")return new Lu(U,U.features[J].geometry)}else if(U.type===\"Feature\"){var fe=U.geometry.type;if(fe===\"Polygon\"||fe===\"MultiPolygon\")return new Lu(U,U.geometry)}else if(U.type===\"Polygon\"||U.type===\"MultiPolygon\")return new Lu(U,U)}return I.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")},Lu.prototype.evaluate=function(y){if(y.geometry()!=null&&y.canonicalID()!=null){if(y.geometryType()===\"Point\")return Cf(y,this.geometries);if(y.geometryType()===\"LineString\")return pd(y,this.geometries)}return!1},Lu.prototype.eachChild=function(){},Lu.prototype.outputDefined=function(){return!0},Lu.prototype.serialize=function(){return[\"within\",this.geojson]};function $h(m){if(m instanceof Ja){if(m.name===\"get\"&&m.args.length===1)return!1;if(m.name===\"feature-state\")return!1;if(m.name===\"has\"&&m.args.length===1)return!1;if(m.name===\"properties\"||m.name===\"geometry-type\"||m.name===\"id\")return!1;if(/^filter-/.test(m.name))return!1}if(m instanceof Lu)return!1;var y=!0;return m.eachChild(function(I){y&&!$h(I)&&(y=!1)}),y}function tu(m){if(m instanceof Ja&&m.name===\"feature-state\")return!1;var y=!0;return m.eachChild(function(I){y&&!tu(I)&&(y=!1)}),y}function Pu(m,y){if(m instanceof Ja&&y.indexOf(m.name)>=0)return!1;var I=!0;return m.eachChild(function(U){I&&!Pu(U,y)&&(I=!1)}),I}var Lc=function(y,I){this.type=I.type,this.name=y,this.boundExpression=I};Lc.parse=function(y,I){if(y.length!==2||typeof y[1]!=\"string\")return I.error(\"'var' expression requires exactly one string literal argument.\");var U=y[1];return I.scope.has(U)?new Lc(U,I.scope.get(U)):I.error('Unknown variable \"'+U+'\". Make sure \"'+U+'\" has been bound in an enclosing \"let\" expression before using it.',1)},Lc.prototype.evaluate=function(y){return this.boundExpression.evaluate(y)},Lc.prototype.eachChild=function(){},Lc.prototype.outputDefined=function(){return!1},Lc.prototype.serialize=function(){return[\"var\",this.name]};var fl=function(y,I,U,J,ne){I===void 0&&(I=[]),J===void 0&&(J=new Xl),ne===void 0&&(ne=[]),this.registry=y,this.path=I,this.key=I.map(function(fe){return\"[\"+fe+\"]\"}).join(\"\"),this.scope=J,this.errors=ne,this.expectedType=U};fl.prototype.parse=function(y,I,U,J,ne){return ne===void 0&&(ne={}),I?this.concat(I,U,J)._parse(y,ne):this._parse(y,ne)},fl.prototype._parse=function(y,I){(y===null||typeof y==\"string\"||typeof y==\"boolean\"||typeof y==\"number\")&&(y=[\"literal\",y]);function U(mt,Xt,ur){return ur===\"assert\"?new Sl(Xt,[mt]):ur===\"coerce\"?new wo(Xt,[mt]):mt}if(Array.isArray(y)){if(y.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');var J=y[0];if(typeof J!=\"string\")return this.error(\"Expression name must be a string, but found \"+typeof J+' instead. If you wanted a literal array, use [\"literal\", [...]].',0),null;var ne=this.registry[J];if(ne){var fe=ne.parse(y,this);if(!fe)return null;if(this.expectedType){var Fe=this.expectedType,Qe=fe.type;if((Fe.kind===\"string\"||Fe.kind===\"number\"||Fe.kind===\"boolean\"||Fe.kind===\"object\"||Fe.kind===\"array\")&&Qe.kind===\"value\")fe=U(fe,Fe,I.typeAnnotation||\"assert\");else if((Fe.kind===\"color\"||Fe.kind===\"formatted\"||Fe.kind===\"resolvedImage\")&&(Qe.kind===\"value\"||Qe.kind===\"string\"))fe=U(fe,Fe,I.typeAnnotation||\"coerce\");else if(this.checkSubtype(Fe,Qe))return null}if(!(fe instanceof hs)&&fe.type.kind!==\"resolvedImage\"&&Xc(fe)){var st=new $o;try{fe=new hs(fe.type,fe.evaluate(st))}catch(mt){return this.error(mt.message),null}}return fe}return this.error('Unknown expression \"'+J+'\". If you wanted a literal array, use [\"literal\", [...]].',0)}else return typeof y==\"undefined\"?this.error(\"'undefined' value invalid. Use null instead.\"):typeof y==\"object\"?this.error('Bare objects invalid. Use [\"literal\", {...}] instead.'):this.error(\"Expected an array, but found \"+typeof y+\" instead.\")},fl.prototype.concat=function(y,I,U){var J=typeof y==\"number\"?this.path.concat(y):this.path,ne=U?this.scope.concat(U):this.scope;return new fl(this.registry,J,I||null,ne,this.errors)},fl.prototype.error=function(y){for(var I=[],U=arguments.length-1;U-- >0;)I[U]=arguments[U+1];var J=\"\"+this.key+I.map(function(ne){return\"[\"+ne+\"]\"}).join(\"\");this.errors.push(new Ks(J,y))},fl.prototype.checkSubtype=function(y,I){var U=kc(y,I);return U&&this.error(U),U};function Xc(m){if(m instanceof Lc)return Xc(m.boundExpression);if(m instanceof Ja&&m.name===\"error\")return!1;if(m instanceof tc)return!1;if(m instanceof Lu)return!1;var y=m instanceof wo||m instanceof Sl,I=!0;return m.eachChild(function(U){y?I=I&&Xc(U):I=I&&U instanceof hs}),I?$h(m)&&Pu(m,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"]):!1}function ic(m,y){for(var I=m.length-1,U=0,J=I,ne=0,fe,Fe;U<=J;)if(ne=Math.floor((U+J)/2),fe=m[ne],Fe=m[ne+1],fe<=y){if(ne===I||y<Fe)return ne;U=ne+1}else if(fe>y)J=ne-1;else throw new Ms(\"Input is not a number.\");return 0}var yu=function(y,I,U){this.type=y,this.input=I,this.labels=[],this.outputs=[];for(var J=0,ne=U;J<ne.length;J+=1){var fe=ne[J],Fe=fe[0],Qe=fe[1];this.labels.push(Fe),this.outputs.push(Qe)}};yu.parse=function(y,I){if(y.length-1<4)return I.error(\"Expected at least 4 arguments, but found only \"+(y.length-1)+\".\");if((y.length-1)%2!==0)return I.error(\"Expected an even number of arguments.\");var U=I.parse(y[1],1,Zn);if(!U)return null;var J=[],ne=null;I.expectedType&&I.expectedType.kind!==\"value\"&&(ne=I.expectedType);for(var fe=1;fe<y.length;fe+=2){var Fe=fe===1?-1/0:y[fe],Qe=y[fe+1],st=fe,mt=fe+1;if(typeof Fe!=\"number\")return I.error('Input/output pairs for \"step\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',st);if(J.length&&J[J.length-1][0]>=Fe)return I.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',st);var Xt=I.parse(Qe,mt,ne);if(!Xt)return null;ne=ne||Xt.type,J.push([Fe,Xt])}return new yu(ne,U,J)},yu.prototype.evaluate=function(y){var I=this.labels,U=this.outputs;if(I.length===1)return U[0].evaluate(y);var J=this.input.evaluate(y);if(J<=I[0])return U[0].evaluate(y);var ne=I.length;if(J>=I[ne-1])return U[ne-1].evaluate(y);var fe=ic(I,J);return U[fe].evaluate(y)},yu.prototype.eachChild=function(y){y(this.input);for(var I=0,U=this.outputs;I<U.length;I+=1){var J=U[I];y(J)}},yu.prototype.outputDefined=function(){return this.outputs.every(function(y){return y.outputDefined()})},yu.prototype.serialize=function(){for(var y=[\"step\",this.input.serialize()],I=0;I<this.labels.length;I++)I>0&&y.push(this.labels[I]),y.push(this.outputs[I].serialize());return y};function Qs(m,y,I){return m*(1-I)+y*I}function Qh(m,y,I){return new ss(Qs(m.r,y.r,I),Qs(m.g,y.g,I),Qs(m.b,y.b,I),Qs(m.a,y.a,I))}function gd(m,y,I){return m.map(function(U,J){return Qs(U,y[J],I)})}var Gu=Object.freeze({__proto__:null,number:Qs,color:Qh,array:gd}),Pc=.95047,vc=1,sv=1.08883,Lf=4/29,Uf=6/29,Iu=3*Uf*Uf,oh=Uf*Uf*Uf,ru=Math.PI/180,vf=180/Math.PI;function md(m){return m>oh?Math.pow(m,1/3):m/Iu+Lf}function sh(m){return m>Uf?m*m*m:Iu*(m-Lf)}function Fs(m){return 255*(m<=.0031308?12.92*m:1.055*Math.pow(m,1/2.4)-.055)}function _u(m){return m/=255,m<=.04045?m/12.92:Math.pow((m+.055)/1.055,2.4)}function xu(m){var y=_u(m.r),I=_u(m.g),U=_u(m.b),J=md((.4124564*y+.3575761*I+.1804375*U)/Pc),ne=md((.2126729*y+.7151522*I+.072175*U)/vc),fe=md((.0193339*y+.119192*I+.9503041*U)/sv);return{l:116*ne-16,a:500*(J-ne),b:200*(ne-fe),alpha:m.a}}function Lh(m){var y=(m.l+16)/116,I=isNaN(m.a)?y:y+m.a/500,U=isNaN(m.b)?y:y-m.b/200;return y=vc*sh(y),I=Pc*sh(I),U=sv*sh(U),new ss(Fs(3.2404542*I-1.5371385*y-.4985314*U),Fs(-.969266*I+1.8760108*y+.041556*U),Fs(.0556434*I-.2040259*y+1.0572252*U),m.alpha)}function Is(m,y,I){return{l:Qs(m.l,y.l,I),a:Qs(m.a,y.a,I),b:Qs(m.b,y.b,I),alpha:Qs(m.alpha,y.alpha,I)}}function Pf(m){var y=xu(m),I=y.l,U=y.a,J=y.b,ne=Math.atan2(J,U)*vf;return{h:ne<0?ne+360:ne,c:Math.sqrt(U*U+J*J),l:I,alpha:m.a}}function Ic(m){var y=m.h*ru,I=m.c,U=m.l;return Lh({l:U,a:Math.cos(y)*I,b:Math.sin(y)*I,alpha:m.alpha})}function ju(m,y,I){var U=y-m;return m+I*(U>180||U<-180?U-360*Math.round(U/360):U)}function Vf(m,y,I){return{h:ju(m.h,y.h,I),c:Qs(m.c,y.c,I),l:Qs(m.l,y.l,I),alpha:Qs(m.alpha,y.alpha,I)}}var pc={forward:xu,reverse:Lh,interpolate:Is},pf={forward:Pf,reverse:Ic,interpolate:Vf},Ph=Object.freeze({__proto__:null,lab:pc,hcl:pf}),Dl=function(y,I,U,J,ne){this.type=y,this.operator=I,this.interpolation=U,this.input=J,this.labels=[],this.outputs=[];for(var fe=0,Fe=ne;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=Qe[0],mt=Qe[1];this.labels.push(st),this.outputs.push(mt)}};Dl.interpolationFactor=function(y,I,U,J){var ne=0;if(y.name===\"exponential\")ne=Ih(I,y.base,U,J);else if(y.name===\"linear\")ne=Ih(I,1,U,J);else if(y.name===\"cubic-bezier\"){var fe=y.controlPoints,Fe=new s(fe[0],fe[1],fe[2],fe[3]);ne=Fe.solve(Ih(I,1,U,J))}return ne},Dl.parse=function(y,I){var U=y[0],J=y[1],ne=y[2],fe=y.slice(3);if(!Array.isArray(J)||J.length===0)return I.error(\"Expected an interpolation type expression.\",1);if(J[0]===\"linear\")J={name:\"linear\"};else if(J[0]===\"exponential\"){var Fe=J[1];if(typeof Fe!=\"number\")return I.error(\"Exponential interpolation requires a numeric base.\",1,1);J={name:\"exponential\",base:Fe}}else if(J[0]===\"cubic-bezier\"){var Qe=J.slice(1);if(Qe.length!==4||Qe.some(function(si){return typeof si!=\"number\"||si<0||si>1}))return I.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);J={name:\"cubic-bezier\",controlPoints:Qe}}else return I.error(\"Unknown interpolation type \"+String(J[0]),1,0);if(y.length-1<4)return I.error(\"Expected at least 4 arguments, but found only \"+(y.length-1)+\".\");if((y.length-1)%2!==0)return I.error(\"Expected an even number of arguments.\");if(ne=I.parse(ne,2,Zn),!ne)return null;var st=[],mt=null;U===\"interpolate-hcl\"||U===\"interpolate-lab\"?mt=Tl:I.expectedType&&I.expectedType.kind!==\"value\"&&(mt=I.expectedType);for(var Xt=0;Xt<fe.length;Xt+=2){var ur=fe[Xt],nr=fe[Xt+1],Lr=Xt+3,Yr=Xt+4;if(typeof ur!=\"number\")return I.error('Input/output pairs for \"interpolate\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',Lr);if(st.length&&st[st.length-1][0]>=ur)return I.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',Lr);var _i=I.parse(nr,Yr,mt);if(!_i)return null;mt=mt||_i.type,st.push([ur,_i])}return mt.kind!==\"number\"&&mt.kind!==\"color\"&&!(mt.kind===\"array\"&&mt.itemType.kind===\"number\"&&typeof mt.N==\"number\")?I.error(\"Type \"+Ls(mt)+\" is not interpolatable.\"):new Dl(mt,U,J,ne,st)},Dl.prototype.evaluate=function(y){var I=this.labels,U=this.outputs;if(I.length===1)return U[0].evaluate(y);var J=this.input.evaluate(y);if(J<=I[0])return U[0].evaluate(y);var ne=I.length;if(J>=I[ne-1])return U[ne-1].evaluate(y);var fe=ic(I,J),Fe=I[fe],Qe=I[fe+1],st=Dl.interpolationFactor(this.interpolation,J,Fe,Qe),mt=U[fe].evaluate(y),Xt=U[fe+1].evaluate(y);return this.operator===\"interpolate\"?Gu[this.type.kind.toLowerCase()](mt,Xt,st):this.operator===\"interpolate-hcl\"?pf.reverse(pf.interpolate(pf.forward(mt),pf.forward(Xt),st)):pc.reverse(pc.interpolate(pc.forward(mt),pc.forward(Xt),st))},Dl.prototype.eachChild=function(y){y(this.input);for(var I=0,U=this.outputs;I<U.length;I+=1){var J=U[I];y(J)}},Dl.prototype.outputDefined=function(){return this.outputs.every(function(y){return y.outputDefined()})},Dl.prototype.serialize=function(){var y;this.interpolation.name===\"linear\"?y=[\"linear\"]:this.interpolation.name===\"exponential\"?this.interpolation.base===1?y=[\"linear\"]:y=[\"exponential\",this.interpolation.base]:y=[\"cubic-bezier\"].concat(this.interpolation.controlPoints);for(var I=[this.operator,y,this.input.serialize()],U=0;U<this.labels.length;U++)I.push(this.labels[U],this.outputs[U].serialize());return I};function Ih(m,y,I,U){var J=U-I,ne=m-I;return J===0?0:y===1?ne/J:(Math.pow(y,ne)-1)/(Math.pow(y,J)-1)}var Wu=function(y,I){this.type=y,this.args=I};Wu.parse=function(y,I){if(y.length<2)return I.error(\"Expectected at least one argument.\");var U=null,J=I.expectedType;J&&J.kind!==\"value\"&&(U=J);for(var ne=[],fe=0,Fe=y.slice(1);fe<Fe.length;fe+=1){var Qe=Fe[fe],st=I.parse(Qe,1+ne.length,U,void 0,{typeAnnotation:\"omit\"});if(!st)return null;U=U||st.type,ne.push(st)}var mt=J&&ne.some(function(Xt){return kc(J,Xt.type)});return mt?new Wu(So,ne):new Wu(U,ne)},Wu.prototype.evaluate=function(y){for(var I=null,U=0,J,ne=0,fe=this.args;ne<fe.length;ne+=1){var Fe=fe[ne];if(U++,I=Fe.evaluate(y),I&&I instanceof Js&&!I.available&&(J||(J=I.name),I=null,U===this.args.length&&(I=J)),I!==null)break}return I},Wu.prototype.eachChild=function(y){this.args.forEach(y)},Wu.prototype.outputDefined=function(){return this.args.every(function(y){return y.outputDefined()})},Wu.prototype.serialize=function(){var y=[\"coalesce\"];return this.eachChild(function(I){y.push(I.serialize())}),y};var Rc=function(y,I){this.type=I.type,this.bindings=[].concat(y),this.result=I};Rc.prototype.evaluate=function(y){return this.result.evaluate(y)},Rc.prototype.eachChild=function(y){for(var I=0,U=this.bindings;I<U.length;I+=1){var J=U[I];y(J[1])}y(this.result)},Rc.parse=function(y,I){if(y.length<4)return I.error(\"Expected at least 3 arguments, but found \"+(y.length-1)+\" instead.\");for(var U=[],J=1;J<y.length-1;J+=2){var ne=y[J];if(typeof ne!=\"string\")return I.error(\"Expected string, but found \"+typeof ne+\" instead.\",J);if(/[^a-zA-Z0-9_]/.test(ne))return I.error(\"Variable names must contain only alphanumeric characters or '_'.\",J);var fe=I.parse(y[J+1],J+1);if(!fe)return null;U.push([ne,fe])}var Fe=I.parse(y[y.length-1],y.length-1,I.expectedType,U);return Fe?new Rc(U,Fe):null},Rc.prototype.outputDefined=function(){return this.result.outputDefined()},Rc.prototype.serialize=function(){for(var y=[\"let\"],I=0,U=this.bindings;I<U.length;I+=1){var J=U[I],ne=J[0],fe=J[1];y.push(ne,fe.serialize())}return y.push(this.result.serialize()),y};var gc=function(y,I,U){this.type=y,this.index=I,this.input=U};gc.parse=function(y,I){if(y.length!==3)return I.error(\"Expected 2 arguments, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1,Zn),J=I.parse(y[2],2,eu(I.expectedType||So));if(!U||!J)return null;var ne=J.type;return new gc(ne.itemType,U,J)},gc.prototype.evaluate=function(y){var I=this.index.evaluate(y),U=this.input.evaluate(y);if(I<0)throw new Ms(\"Array index out of bounds: \"+I+\" < 0.\");if(I>=U.length)throw new Ms(\"Array index out of bounds: \"+I+\" > \"+(U.length-1)+\".\");if(I!==Math.floor(I))throw new Ms(\"Array index must be an integer, but found \"+I+\" instead.\");return U[I]},gc.prototype.eachChild=function(y){y(this.index),y(this.input)},gc.prototype.outputDefined=function(){return!1},gc.prototype.serialize=function(){return[\"at\",this.index.serialize(),this.input.serialize()]};var hl=function(y,I){this.type=Co,this.needle=y,this.haystack=I};hl.parse=function(y,I){if(y.length!==3)return I.error(\"Expected 2 arguments, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,So);return!U||!J?null:Of(U.type,[Co,ko,Zn,Ec,So])?new hl(U,J):I.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(U.type)+\" instead\")},hl.prototype.evaluate=function(y){var I=this.needle.evaluate(y),U=this.haystack.evaluate(y);if(!U)return!1;if(!Gc(I,[\"boolean\",\"string\",\"number\",\"null\"]))throw new Ms(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(ws(I))+\" instead.\");if(!Gc(U,[\"string\",\"array\"]))throw new Ms(\"Expected second argument to be of type array or string, but found \"+Ls(ws(U))+\" instead.\");return U.indexOf(I)>=0},hl.prototype.eachChild=function(y){y(this.needle),y(this.haystack)},hl.prototype.outputDefined=function(){return!0},hl.prototype.serialize=function(){return[\"in\",this.needle.serialize(),this.haystack.serialize()]};var iu=function(y,I,U){this.type=Zn,this.needle=y,this.haystack=I,this.fromIndex=U};iu.parse=function(y,I){if(y.length<=2||y.length>=5)return I.error(\"Expected 3 or 4 arguments, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,So);if(!U||!J)return null;if(!Of(U.type,[Co,ko,Zn,Ec,So]))return I.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(U.type)+\" instead\");if(y.length===4){var ne=I.parse(y[3],3,Zn);return ne?new iu(U,J,ne):null}else return new iu(U,J)},iu.prototype.evaluate=function(y){var I=this.needle.evaluate(y),U=this.haystack.evaluate(y);if(!Gc(I,[\"boolean\",\"string\",\"number\",\"null\"]))throw new Ms(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(ws(I))+\" instead.\");if(!Gc(U,[\"string\",\"array\"]))throw new Ms(\"Expected second argument to be of type array or string, but found \"+Ls(ws(U))+\" instead.\");if(this.fromIndex){var J=this.fromIndex.evaluate(y);return U.indexOf(I,J)}return U.indexOf(I)},iu.prototype.eachChild=function(y){y(this.needle),y(this.haystack),this.fromIndex&&y(this.fromIndex)},iu.prototype.outputDefined=function(){return!1},iu.prototype.serialize=function(){if(this.fromIndex!=null&&this.fromIndex!==void 0){var y=this.fromIndex.serialize();return[\"index-of\",this.needle.serialize(),this.haystack.serialize(),y]}return[\"index-of\",this.needle.serialize(),this.haystack.serialize()]};var mc=function(y,I,U,J,ne,fe){this.inputType=y,this.type=I,this.input=U,this.cases=J,this.outputs=ne,this.otherwise=fe};mc.parse=function(y,I){if(y.length<5)return I.error(\"Expected at least 4 arguments, but found only \"+(y.length-1)+\".\");if(y.length%2!==1)return I.error(\"Expected an even number of arguments.\");var U,J;I.expectedType&&I.expectedType.kind!==\"value\"&&(J=I.expectedType);for(var ne={},fe=[],Fe=2;Fe<y.length-1;Fe+=2){var Qe=y[Fe],st=y[Fe+1];Array.isArray(Qe)||(Qe=[Qe]);var mt=I.concat(Fe);if(Qe.length===0)return mt.error(\"Expected at least one branch label.\");for(var Xt=0,ur=Qe;Xt<ur.length;Xt+=1){var nr=ur[Xt];if(typeof nr!=\"number\"&&typeof nr!=\"string\")return mt.error(\"Branch labels must be numbers or strings.\");if(typeof nr==\"number\"&&Math.abs(nr)>Number.MAX_SAFE_INTEGER)return mt.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\");if(typeof nr==\"number\"&&Math.floor(nr)!==nr)return mt.error(\"Numeric branch labels must be integer values.\");if(!U)U=ws(nr);else if(mt.checkSubtype(U,ws(nr)))return null;if(typeof ne[String(nr)]!=\"undefined\")return mt.error(\"Branch labels must be unique.\");ne[String(nr)]=fe.length}var Lr=I.parse(st,Fe,J);if(!Lr)return null;J=J||Lr.type,fe.push(Lr)}var Yr=I.parse(y[1],1,So);if(!Yr)return null;var _i=I.parse(y[y.length-1],y.length-1,J);return!_i||Yr.type.kind!==\"value\"&&I.concat(1).checkSubtype(U,Yr.type)?null:new mc(U,J,Yr,ne,fe,_i)},mc.prototype.evaluate=function(y){var I=this.input.evaluate(y),U=ws(I)===this.inputType&&this.outputs[this.cases[I]]||this.otherwise;return U.evaluate(y)},mc.prototype.eachChild=function(y){y(this.input),this.outputs.forEach(y),y(this.otherwise)},mc.prototype.outputDefined=function(){return this.outputs.every(function(y){return y.outputDefined()})&&this.otherwise.outputDefined()},mc.prototype.serialize=function(){for(var y=this,I=[\"match\",this.input.serialize()],U=Object.keys(this.cases).sort(),J=[],ne={},fe=0,Fe=U;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=ne[this.cases[Qe]];st===void 0?(ne[this.cases[Qe]]=J.length,J.push([this.cases[Qe],[Qe]])):J[st][1].push(Qe)}for(var mt=function(Yr){return y.inputType.kind===\"number\"?Number(Yr):Yr},Xt=0,ur=J;Xt<ur.length;Xt+=1){var nr=ur[Xt],st=nr[0],Lr=nr[1];Lr.length===1?I.push(mt(Lr[0])):I.push(Lr.map(mt)),I.push(this.outputs[outputIndex$1].serialize())}return I.push(this.otherwise.serialize()),I};var Yc=function(y,I,U){this.type=y,this.branches=I,this.otherwise=U};Yc.parse=function(y,I){if(y.length<4)return I.error(\"Expected at least 3 arguments, but found only \"+(y.length-1)+\".\");if(y.length%2!==0)return I.error(\"Expected an odd number of arguments.\");var U;I.expectedType&&I.expectedType.kind!==\"value\"&&(U=I.expectedType);for(var J=[],ne=1;ne<y.length-1;ne+=2){var fe=I.parse(y[ne],ne,Co);if(!fe)return null;var Fe=I.parse(y[ne+1],ne+1,U);if(!Fe)return null;J.push([fe,Fe]),U=U||Fe.type}var Qe=I.parse(y[y.length-1],y.length-1,U);return Qe?new Yc(U,J,Qe):null},Yc.prototype.evaluate=function(y){for(var I=0,U=this.branches;I<U.length;I+=1){var J=U[I],ne=J[0],fe=J[1];if(ne.evaluate(y))return fe.evaluate(y)}return this.otherwise.evaluate(y)},Yc.prototype.eachChild=function(y){for(var I=0,U=this.branches;I<U.length;I+=1){var J=U[I],ne=J[0],fe=J[1];y(ne),y(fe)}y(this.otherwise)},Yc.prototype.outputDefined=function(){return this.branches.every(function(y){var I=y[0],U=y[1];return U.outputDefined()})&&this.otherwise.outputDefined()},Yc.prototype.serialize=function(){var y=[\"case\"];return this.eachChild(function(I){y.push(I.serialize())}),y};var nc=function(y,I,U,J){this.type=y,this.input=I,this.beginIndex=U,this.endIndex=J};nc.parse=function(y,I){if(y.length<=2||y.length>=5)return I.error(\"Expected 3 or 4 arguments, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,Zn);if(!U||!J)return null;if(!Of(U.type,[eu(So),ko,So]))return I.error(\"Expected first argument to be of type array or string, but found \"+Ls(U.type)+\" instead\");if(y.length===4){var ne=I.parse(y[3],3,Zn);return ne?new nc(U.type,U,J,ne):null}else return new nc(U.type,U,J)},nc.prototype.evaluate=function(y){var I=this.input.evaluate(y),U=this.beginIndex.evaluate(y);if(!Gc(I,[\"string\",\"array\"]))throw new Ms(\"Expected first argument to be of type array or string, but found \"+Ls(ws(I))+\" instead.\");if(this.endIndex){var J=this.endIndex.evaluate(y);return I.slice(U,J)}return I.slice(U)},nc.prototype.eachChild=function(y){y(this.input),y(this.beginIndex),this.endIndex&&y(this.endIndex)},nc.prototype.outputDefined=function(){return!1},nc.prototype.serialize=function(){if(this.endIndex!=null&&this.endIndex!==void 0){var y=this.endIndex.serialize();return[\"slice\",this.input.serialize(),this.beginIndex.serialize(),y]}return[\"slice\",this.input.serialize(),this.beginIndex.serialize()]};function gf(m,y){return m===\"==\"||m===\"!=\"?y.kind===\"boolean\"||y.kind===\"string\"||y.kind===\"number\"||y.kind===\"null\"||y.kind===\"value\":y.kind===\"string\"||y.kind===\"number\"||y.kind===\"value\"}function gt(m,y,I){return y===I}function Bt(m,y,I){return y!==I}function wr(m,y,I){return y<I}function vr(m,y,I){return y>I}function Ur(m,y,I){return y<=I}function fi(m,y,I){return y>=I}function xi(m,y,I,U){return U.compare(y,I)===0}function Fi(m,y,I,U){return!xi(m,y,I,U)}function Xi(m,y,I,U){return U.compare(y,I)<0}function hn(m,y,I,U){return U.compare(y,I)>0}function Ti(m,y,I,U){return U.compare(y,I)<=0}function qi(m,y,I,U){return U.compare(y,I)>=0}function Ii(m,y,I){var U=m!==\"==\"&&m!==\"!=\";return function(){function J(ne,fe,Fe){this.type=Co,this.lhs=ne,this.rhs=fe,this.collator=Fe,this.hasUntypedArgument=ne.type.kind===\"value\"||fe.type.kind===\"value\"}return J.parse=function(fe,Fe){if(fe.length!==3&&fe.length!==4)return Fe.error(\"Expected two or three arguments.\");var Qe=fe[0],st=Fe.parse(fe[1],1,So);if(!st)return null;if(!gf(Qe,st.type))return Fe.concat(1).error('\"'+Qe+`\" comparisons are not supported for type '`+Ls(st.type)+\"'.\");var mt=Fe.parse(fe[2],2,So);if(!mt)return null;if(!gf(Qe,mt.type))return Fe.concat(2).error('\"'+Qe+`\" comparisons are not supported for type '`+Ls(mt.type)+\"'.\");if(st.type.kind!==mt.type.kind&&st.type.kind!==\"value\"&&mt.type.kind!==\"value\")return Fe.error(\"Cannot compare types '\"+Ls(st.type)+\"' and '\"+Ls(mt.type)+\"'.\");U&&(st.type.kind===\"value\"&&mt.type.kind!==\"value\"?st=new Sl(mt.type,[st]):st.type.kind!==\"value\"&&mt.type.kind===\"value\"&&(mt=new Sl(st.type,[mt])));var Xt=null;if(fe.length===4){if(st.type.kind!==\"string\"&&mt.type.kind!==\"string\"&&st.type.kind!==\"value\"&&mt.type.kind!==\"value\")return Fe.error(\"Cannot use collator to compare non-string types.\");if(Xt=Fe.parse(fe[3],3,rh),!Xt)return null}return new J(st,mt,Xt)},J.prototype.evaluate=function(fe){var Fe=this.lhs.evaluate(fe),Qe=this.rhs.evaluate(fe);if(U&&this.hasUntypedArgument){var st=ws(Fe),mt=ws(Qe);if(st.kind!==mt.kind||!(st.kind===\"string\"||st.kind===\"number\"))throw new Ms('Expected arguments for \"'+m+'\" to be (string, string) or (number, number), but found ('+st.kind+\", \"+mt.kind+\") instead.\")}if(this.collator&&!U&&this.hasUntypedArgument){var Xt=ws(Fe),ur=ws(Qe);if(Xt.kind!==\"string\"||ur.kind!==\"string\")return y(fe,Fe,Qe)}return this.collator?I(fe,Fe,Qe,this.collator.evaluate(fe)):y(fe,Fe,Qe)},J.prototype.eachChild=function(fe){fe(this.lhs),fe(this.rhs),this.collator&&fe(this.collator)},J.prototype.outputDefined=function(){return!0},J.prototype.serialize=function(){var fe=[m];return this.eachChild(function(Fe){fe.push(Fe.serialize())}),fe},J}()}var mi=Ii(\"==\",gt,xi),Pn=Ii(\"!=\",Bt,Fi),Ma=Ii(\"<\",wr,Xi),Ta=Ii(\">\",vr,hn),Ea=Ii(\"<=\",Ur,Ti),qa=Ii(\">=\",fi,qi),Cn=function(y,I,U,J,ne){this.type=ko,this.number=y,this.locale=I,this.currency=U,this.minFractionDigits=J,this.maxFractionDigits=ne};Cn.parse=function(y,I){if(y.length!==3)return I.error(\"Expected two arguments.\");var U=I.parse(y[1],1,Zn);if(!U)return null;var J=y[2];if(typeof J!=\"object\"||Array.isArray(J))return I.error(\"NumberFormat options argument must be an object.\");var ne=null;if(J.locale&&(ne=I.parse(J.locale,1,ko),!ne))return null;var fe=null;if(J.currency&&(fe=I.parse(J.currency,1,ko),!fe))return null;var Fe=null;if(J[\"min-fraction-digits\"]&&(Fe=I.parse(J[\"min-fraction-digits\"],1,Zn),!Fe))return null;var Qe=null;return J[\"max-fraction-digits\"]&&(Qe=I.parse(J[\"max-fraction-digits\"],1,Zn),!Qe)?null:new Cn(U,ne,fe,Fe,Qe)},Cn.prototype.evaluate=function(y){return new Intl.NumberFormat(this.locale?this.locale.evaluate(y):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(y):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(y):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(y):void 0}).format(this.number.evaluate(y))},Cn.prototype.eachChild=function(y){y(this.number),this.locale&&y(this.locale),this.currency&&y(this.currency),this.minFractionDigits&&y(this.minFractionDigits),this.maxFractionDigits&&y(this.maxFractionDigits)},Cn.prototype.outputDefined=function(){return!1},Cn.prototype.serialize=function(){var y={};return this.locale&&(y.locale=this.locale.serialize()),this.currency&&(y.currency=this.currency.serialize()),this.minFractionDigits&&(y[\"min-fraction-digits\"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(y[\"max-fraction-digits\"]=this.maxFractionDigits.serialize()),[\"number-format\",this.number.serialize(),y]};var sn=function(y){this.type=Zn,this.input=y};sn.parse=function(y,I){if(y.length!==2)return I.error(\"Expected 1 argument, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1);return U?U.type.kind!==\"array\"&&U.type.kind!==\"string\"&&U.type.kind!==\"value\"?I.error(\"Expected argument of type string or array, but found \"+Ls(U.type)+\" instead.\"):new sn(U):null},sn.prototype.evaluate=function(y){var I=this.input.evaluate(y);if(typeof I==\"string\")return I.length;if(Array.isArray(I))return I.length;throw new Ms(\"Expected value to be of type string or array, but found \"+Ls(ws(I))+\" instead.\")},sn.prototype.eachChild=function(y){y(this.input)},sn.prototype.outputDefined=function(){return!1},sn.prototype.serialize=function(){var y=[\"length\"];return this.eachChild(function(I){y.push(I.serialize())}),y};var Ua={\"==\":mi,\"!=\":Pn,\">\":Ta,\"<\":Ma,\">=\":qa,\"<=\":Ea,array:Sl,at:gc,boolean:Sl,case:Yc,coalesce:Wu,collator:tc,format:ec,image:Ps,in:hl,\"index-of\":iu,interpolate:Dl,\"interpolate-hcl\":Dl,\"interpolate-lab\":Dl,length:sn,let:Rc,literal:hs,match:mc,number:Sl,\"number-format\":Cn,object:Sl,slice:nc,step:yu,string:Sl,\"to-boolean\":wo,\"to-color\":wo,\"to-number\":wo,\"to-string\":wo,var:Lc,within:Lu};function mo(m,y){var I=y[0],U=y[1],J=y[2],ne=y[3];I=I.evaluate(m),U=U.evaluate(m),J=J.evaluate(m);var fe=ne?ne.evaluate(m):1,Fe=hc(I,U,J,fe);if(Fe)throw new Ms(Fe);return new ss(I/255*fe,U/255*fe,J/255*fe,fe)}function Xo(m,y){return m in y}function Ts(m,y){var I=y[m];return typeof I==\"undefined\"?null:I}function Qo(m,y,I,U){for(;I<=U;){var J=I+U>>1;if(y[J]===m)return!0;y[J]>m?U=J-1:I=J+1}return!1}function ys(m){return{type:m}}Ja.register(Ua,{error:[cf,[ko],function(m,y){var I=y[0];throw new Ms(I.evaluate(m))}],typeof:[ko,[So],function(m,y){var I=y[0];return Ls(ws(I.evaluate(m)))}],\"to-rgba\":[eu(Zn,4),[Tl],function(m,y){var I=y[0];return I.evaluate(m).toArray()}],rgb:[Tl,[Zn,Zn,Zn],mo],rgba:[Tl,[Zn,Zn,Zn,Zn],mo],has:{type:Co,overloads:[[[ko],function(m,y){var I=y[0];return Xo(I.evaluate(m),m.properties())}],[[ko,uf],function(m,y){var I=y[0],U=y[1];return Xo(I.evaluate(m),U.evaluate(m))}]]},get:{type:So,overloads:[[[ko],function(m,y){var I=y[0];return Ts(I.evaluate(m),m.properties())}],[[ko,uf],function(m,y){var I=y[0],U=y[1];return Ts(I.evaluate(m),U.evaluate(m))}]]},\"feature-state\":[So,[ko],function(m,y){var I=y[0];return Ts(I.evaluate(m),m.featureState||{})}],properties:[uf,[],function(m){return m.properties()}],\"geometry-type\":[ko,[],function(m){return m.geometryType()}],id:[So,[],function(m){return m.id()}],zoom:[Zn,[],function(m){return m.globals.zoom}],\"heatmap-density\":[Zn,[],function(m){return m.globals.heatmapDensity||0}],\"line-progress\":[Zn,[],function(m){return m.globals.lineProgress||0}],accumulated:[So,[],function(m){return m.globals.accumulated===void 0?null:m.globals.accumulated}],\"+\":[Zn,ys(Zn),function(m,y){for(var I=0,U=0,J=y;U<J.length;U+=1){var ne=J[U];I+=ne.evaluate(m)}return I}],\"*\":[Zn,ys(Zn),function(m,y){for(var I=1,U=0,J=y;U<J.length;U+=1){var ne=J[U];I*=ne.evaluate(m)}return I}],\"-\":{type:Zn,overloads:[[[Zn,Zn],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)-U.evaluate(m)}],[[Zn],function(m,y){var I=y[0];return-I.evaluate(m)}]]},\"/\":[Zn,[Zn,Zn],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)/U.evaluate(m)}],\"%\":[Zn,[Zn,Zn],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)%U.evaluate(m)}],ln2:[Zn,[],function(){return Math.LN2}],pi:[Zn,[],function(){return Math.PI}],e:[Zn,[],function(){return Math.E}],\"^\":[Zn,[Zn,Zn],function(m,y){var I=y[0],U=y[1];return Math.pow(I.evaluate(m),U.evaluate(m))}],sqrt:[Zn,[Zn],function(m,y){var I=y[0];return Math.sqrt(I.evaluate(m))}],log10:[Zn,[Zn],function(m,y){var I=y[0];return Math.log(I.evaluate(m))/Math.LN10}],ln:[Zn,[Zn],function(m,y){var I=y[0];return Math.log(I.evaluate(m))}],log2:[Zn,[Zn],function(m,y){var I=y[0];return Math.log(I.evaluate(m))/Math.LN2}],sin:[Zn,[Zn],function(m,y){var I=y[0];return Math.sin(I.evaluate(m))}],cos:[Zn,[Zn],function(m,y){var I=y[0];return Math.cos(I.evaluate(m))}],tan:[Zn,[Zn],function(m,y){var I=y[0];return Math.tan(I.evaluate(m))}],asin:[Zn,[Zn],function(m,y){var I=y[0];return Math.asin(I.evaluate(m))}],acos:[Zn,[Zn],function(m,y){var I=y[0];return Math.acos(I.evaluate(m))}],atan:[Zn,[Zn],function(m,y){var I=y[0];return Math.atan(I.evaluate(m))}],min:[Zn,ys(Zn),function(m,y){return Math.min.apply(Math,y.map(function(I){return I.evaluate(m)}))}],max:[Zn,ys(Zn),function(m,y){return Math.max.apply(Math,y.map(function(I){return I.evaluate(m)}))}],abs:[Zn,[Zn],function(m,y){var I=y[0];return Math.abs(I.evaluate(m))}],round:[Zn,[Zn],function(m,y){var I=y[0],U=I.evaluate(m);return U<0?-Math.round(-U):Math.round(U)}],floor:[Zn,[Zn],function(m,y){var I=y[0];return Math.floor(I.evaluate(m))}],ceil:[Zn,[Zn],function(m,y){var I=y[0];return Math.ceil(I.evaluate(m))}],\"filter-==\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1];return m.properties()[I.value]===U.value}],\"filter-id-==\":[Co,[So],function(m,y){var I=y[0];return m.id()===I.value}],\"filter-type-==\":[Co,[ko],function(m,y){var I=y[0];return m.geometryType()===I.value}],\"filter-<\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J<ne}],\"filter-id-<\":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U<J}],\"filter->\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J>ne}],\"filter-id->\":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U>J}],\"filter-<=\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J<=ne}],\"filter-id-<=\":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U<=J}],\"filter->=\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J>=ne}],\"filter-id->=\":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U>=J}],\"filter-has\":[Co,[So],function(m,y){var I=y[0];return I.value in m.properties()}],\"filter-has-id\":[Co,[],function(m){return m.id()!==null&&m.id()!==void 0}],\"filter-type-in\":[Co,[eu(ko)],function(m,y){var I=y[0];return I.value.indexOf(m.geometryType())>=0}],\"filter-id-in\":[Co,[eu(So)],function(m,y){var I=y[0];return I.value.indexOf(m.id())>=0}],\"filter-in-small\":[Co,[ko,eu(So)],function(m,y){var I=y[0],U=y[1];return U.value.indexOf(m.properties()[I.value])>=0}],\"filter-in-large\":[Co,[ko,eu(So)],function(m,y){var I=y[0],U=y[1];return Qo(m.properties()[I.value],U.value,0,U.value.length-1)}],all:{type:Co,overloads:[[[Co,Co],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)&&U.evaluate(m)}],[ys(Co),function(m,y){for(var I=0,U=y;I<U.length;I+=1){var J=U[I];if(!J.evaluate(m))return!1}return!0}]]},any:{type:Co,overloads:[[[Co,Co],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)||U.evaluate(m)}],[ys(Co),function(m,y){for(var I=0,U=y;I<U.length;I+=1){var J=U[I];if(J.evaluate(m))return!0}return!1}]]},\"!\":[Co,[Co],function(m,y){var I=y[0];return!I.evaluate(m)}],\"is-supported-script\":[Co,[ko],function(m,y){var I=y[0],U=m.globals&&m.globals.isSupportedScript;return U?U(I.evaluate(m)):!0}],upcase:[ko,[ko],function(m,y){var I=y[0];return I.evaluate(m).toUpperCase()}],downcase:[ko,[ko],function(m,y){var I=y[0];return I.evaluate(m).toLowerCase()}],concat:[ko,ys(So),function(m,y){return y.map(function(I){return $s(I.evaluate(m))}).join(\"\")}],\"resolved-locale\":[ko,[rh],function(m,y){var I=y[0];return I.evaluate(m).resolvedLocale()}]});function Bo(m){return{result:\"success\",value:m}}function yl(m){return{result:\"error\",value:m}}function Gs(m){return m[\"property-type\"]===\"data-driven\"||m[\"property-type\"]===\"cross-faded-data-driven\"}function Rs(m){return!!m.expression&&m.expression.parameters.indexOf(\"zoom\")>-1}function ia(m){return!!m.expression&&m.expression.interpolated}function Ka(m){return m instanceof Number?\"number\":m instanceof String?\"string\":m instanceof Boolean?\"boolean\":Array.isArray(m)?\"array\":m===null?\"null\":typeof m}function vs(m){return typeof m==\"object\"&&m!==null&&!Array.isArray(m)}function Ko(m){return m}function nu(m,y){var I=y.type===\"color\",U=m.stops&&typeof m.stops[0][0]==\"object\",J=U||m.property!==void 0,ne=U||!J,fe=m.type||(ia(y)?\"exponential\":\"interval\");if(I&&(m=Rl({},m),m.stops&&(m.stops=m.stops.map(function($n){return[$n[0],ss.parse($n[1])]})),m.default?m.default=ss.parse(m.default):m.default=ss.parse(y.default)),m.colorSpace&&m.colorSpace!==\"rgb\"&&!Ph[m.colorSpace])throw new Error(\"Unknown color space: \"+m.colorSpace);var Fe,Qe,st;if(fe===\"exponential\")Fe=bu;else if(fe===\"interval\")Fe=mf;else if(fe===\"categorical\"){Fe=ac,Qe=Object.create(null);for(var mt=0,Xt=m.stops;mt<Xt.length;mt+=1){var ur=Xt[mt];Qe[ur[0]]=ur[1]}st=typeof m.stops[0][0]}else if(fe===\"identity\")Fe=Kc;else throw new Error('Unknown function type \"'+fe+'\"');if(U){for(var nr={},Lr=[],Yr=0;Yr<m.stops.length;Yr++){var _i=m.stops[Yr],si=_i[0].zoom;nr[si]===void 0&&(nr[si]={zoom:si,type:m.type,property:m.property,default:m.default,stops:[]},Lr.push(si)),nr[si].stops.push([_i[0].value,_i[1]])}for(var Hi=[],Ei=0,Vi=Lr;Ei<Vi.length;Ei+=1){var en=Vi[Ei];Hi.push([nr[en].zoom,nu(nr[en],y)])}var An={name:\"linear\"};return{kind:\"composite\",interpolationType:An,interpolationFactor:Dl.interpolationFactor.bind(void 0,An),zoomStops:Hi.map(function($n){return $n[0]}),evaluate:function(Ba,_a){var Pa=Ba.zoom;return bu({stops:Hi,base:m.base},y,Pa).evaluate(Pa,_a)}}}else if(ne){var ra=fe===\"exponential\"?{name:\"exponential\",base:m.base!==void 0?m.base:1}:null;return{kind:\"camera\",interpolationType:ra,interpolationFactor:Dl.interpolationFactor.bind(void 0,ra),zoomStops:m.stops.map(function($n){return $n[0]}),evaluate:function($n){var Ba=$n.zoom;return Fe(m,y,Ba,Qe,st)}}}else return{kind:\"source\",evaluate:function(Ba,_a){var Pa=_a&&_a.properties?_a.properties[m.property]:void 0;return Pa===void 0?Ru(m.default,y.default):Fe(m,y,Pa,Qe,st)}}}function Ru(m,y,I){if(m!==void 0)return m;if(y!==void 0)return y;if(I!==void 0)return I}function ac(m,y,I,U,J){var ne=typeof I===J?U[I]:void 0;return Ru(ne,m.default,y.default)}function mf(m,y,I){if(Ka(I)!==\"number\")return Ru(m.default,y.default);var U=m.stops.length;if(U===1||I<=m.stops[0][0])return m.stops[0][1];if(I>=m.stops[U-1][0])return m.stops[U-1][1];var J=ic(m.stops.map(function(ne){return ne[0]}),I);return m.stops[J][1]}function bu(m,y,I){var U=m.base!==void 0?m.base:1;if(Ka(I)!==\"number\")return Ru(m.default,y.default);var J=m.stops.length;if(J===1||I<=m.stops[0][0])return m.stops[0][1];if(I>=m.stops[J-1][0])return m.stops[J-1][1];var ne=ic(m.stops.map(function(Xt){return Xt[0]}),I),fe=Du(I,U,m.stops[ne][0],m.stops[ne+1][0]),Fe=m.stops[ne][1],Qe=m.stops[ne+1][1],st=Gu[y.type]||Ko;if(m.colorSpace&&m.colorSpace!==\"rgb\"){var mt=Ph[m.colorSpace];st=function(Xt,ur){return mt.reverse(mt.interpolate(mt.forward(Xt),mt.forward(ur),fe))}}return typeof Fe.evaluate==\"function\"?{evaluate:function(){for(var ur=[],nr=arguments.length;nr--;)ur[nr]=arguments[nr];var Lr=Fe.evaluate.apply(void 0,ur),Yr=Qe.evaluate.apply(void 0,ur);if(!(Lr===void 0||Yr===void 0))return st(Lr,Yr,fe)}}:st(Fe,Qe,fe)}function Kc(m,y,I){return y.type===\"color\"?I=ss.parse(I):y.type===\"formatted\"?I=Vl.fromString(I.toString()):y.type===\"resolvedImage\"?I=Js.fromString(I.toString()):Ka(I)!==y.type&&(y.type!==\"enum\"||!y.values[I])&&(I=void 0),Ru(I,m.default,y.default)}function Du(m,y,I,U){var J=U-I,ne=m-I;return J===0?0:y===1?ne/J:(Math.pow(y,ne)-1)/(Math.pow(y,J)-1)}var Dc=function(y,I){this.expression=y,this._warningHistory={},this._evaluator=new $o,this._defaultValue=I?ee(I):null,this._enumValues=I&&I.type===\"enum\"?I.values:null};Dc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._evaluator.globals=y,this._evaluator.feature=I,this._evaluator.featureState=U,this._evaluator.canonical=J,this._evaluator.availableImages=ne||null,this._evaluator.formattedSection=fe,this.expression.evaluate(this._evaluator)},Dc.prototype.evaluate=function(y,I,U,J,ne,fe){this._evaluator.globals=y,this._evaluator.feature=I||null,this._evaluator.featureState=U||null,this._evaluator.canonical=J,this._evaluator.availableImages=ne||null,this._evaluator.formattedSection=fe||null;try{var Fe=this.expression.evaluate(this._evaluator);if(Fe==null||typeof Fe==\"number\"&&Fe!==Fe)return this._defaultValue;if(this._enumValues&&!(Fe in this._enumValues))throw new Ms(\"Expected value to be one of \"+Object.keys(this._enumValues).map(function(Qe){return JSON.stringify(Qe)}).join(\", \")+\", but found \"+JSON.stringify(Fe)+\" instead.\");return Fe}catch(Qe){return this._warningHistory[Qe.message]||(this._warningHistory[Qe.message]=!0,typeof console!=\"undefined\"&&console.warn(Qe.message)),this._defaultValue}};function Da(m){return Array.isArray(m)&&m.length>0&&typeof m[0]==\"string\"&&m[0]in Ua}function eo(m,y){var I=new fl(Ua,[],y?Q(y):void 0),U=I.parse(m,void 0,void 0,void 0,y&&y.type===\"string\"?{typeAnnotation:\"coerce\"}:void 0);return U?Bo(new Dc(U,y)):yl(I.errors)}var Jc=function(y,I){this.kind=y,this._styleExpression=I,this.isStateDependent=y!==\"constant\"&&!tu(I.expression)};Jc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._styleExpression.evaluateWithoutErrorHandling(y,I,U,J,ne,fe)},Jc.prototype.evaluate=function(y,I,U,J,ne,fe){return this._styleExpression.evaluate(y,I,U,J,ne,fe)};var yc=function(y,I,U,J){this.kind=y,this.zoomStops=U,this._styleExpression=I,this.isStateDependent=y!==\"camera\"&&!tu(I.expression),this.interpolationType=J};yc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._styleExpression.evaluateWithoutErrorHandling(y,I,U,J,ne,fe)},yc.prototype.evaluate=function(y,I,U,J,ne,fe){return this._styleExpression.evaluate(y,I,U,J,ne,fe)},yc.prototype.interpolationFactor=function(y,I,U){return this.interpolationType?Dl.interpolationFactor(this.interpolationType,y,I,U):0};function _c(m,y){if(m=eo(m,y),m.result===\"error\")return m;var I=m.value.expression,U=$h(I);if(!U&&!Gs(y))return yl([new Ks(\"\",\"data expressions not supported\")]);var J=Pu(I,[\"zoom\"]);if(!J&&!Rs(y))return yl([new Ks(\"\",\"zoom expressions not supported\")]);var ne=B(I);if(!ne&&!J)return yl([new Ks(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')]);if(ne instanceof Ks)return yl([ne]);if(ne instanceof Dl&&!ia(y))return yl([new Ks(\"\",'\"interpolate\" expressions cannot be used with this property')]);if(!ne)return Bo(U?new Jc(\"constant\",m.value):new Jc(\"source\",m.value));var fe=ne instanceof Dl?ne.interpolation:void 0;return Bo(U?new yc(\"camera\",m.value,ne.labels,fe):new yc(\"composite\",m.value,ne.labels,fe))}var le=function(y,I){this._parameters=y,this._specification=I,Rl(this,nu(this._parameters,this._specification))};le.deserialize=function(y){return new le(y._parameters,y._specification)},le.serialize=function(y){return{_parameters:y._parameters,_specification:y._specification}};function w(m,y){if(vs(m))return new le(m,y);if(Da(m)){var I=_c(m,y);if(I.result===\"error\")throw new Error(I.value.map(function(J){return J.key+\": \"+J.message}).join(\", \"));return I.value}else{var U=m;return typeof m==\"string\"&&y.type===\"color\"&&(U=ss.parse(m)),{kind:\"constant\",evaluate:function(){return U}}}}function B(m){var y=null;if(m instanceof Rc)y=B(m.result);else if(m instanceof Wu)for(var I=0,U=m.args;I<U.length;I+=1){var J=U[I];if(y=B(J),y)break}else(m instanceof yu||m instanceof Dl)&&m.input instanceof Ja&&m.input.name===\"zoom\"&&(y=m);return y instanceof Ks||m.eachChild(function(ne){var fe=B(ne);fe instanceof Ks?y=fe:!y&&fe?y=new Ks(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):y&&fe&&y!==fe&&(y=new Ks(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))}),y}function Q(m){var y={color:Tl,string:ko,number:Zn,enum:ko,boolean:Co,formatted:Al,resolvedImage:Hc};return m.type===\"array\"?eu(y[m.value]||So,m.length):y[m.type]}function ee(m){return m.type===\"color\"&&vs(m.default)?new ss(0,0,0,0):m.type===\"color\"?ss.parse(m.default)||null:m.default===void 0?null:m.default}function se(m){var y=m.key,I=m.value,U=m.valueSpec||{},J=m.objectElementValidators||{},ne=m.style,fe=m.styleSpec,Fe=[],Qe=Ka(I);if(Qe!==\"object\")return[new fa(y,I,\"object expected, \"+Qe+\" found\")];for(var st in I){var mt=st.split(\".\")[0],Xt=U[mt]||U[\"*\"],ur=void 0;if(J[mt])ur=J[mt];else if(U[mt])ur=Wa;else if(J[\"*\"])ur=J[\"*\"];else if(U[\"*\"])ur=Wa;else{Fe.push(new fa(y,I[st],'unknown property \"'+st+'\"'));continue}Fe=Fe.concat(ur({key:(y&&y+\".\")+st,value:I[st],valueSpec:Xt,style:ne,styleSpec:fe,object:I,objectKey:st},I))}for(var nr in U)J[nr]||U[nr].required&&U[nr].default===void 0&&I[nr]===void 0&&Fe.push(new fa(y,I,'missing required property \"'+nr+'\"'));return Fe}function qe(m){var y=m.value,I=m.valueSpec,U=m.style,J=m.styleSpec,ne=m.key,fe=m.arrayElementValidator||Wa;if(Ka(y)!==\"array\")return[new fa(ne,y,\"array expected, \"+Ka(y)+\" found\")];if(I.length&&y.length!==I.length)return[new fa(ne,y,\"array length \"+I.length+\" expected, length \"+y.length+\" found\")];if(I[\"min-length\"]&&y.length<I[\"min-length\"])return[new fa(ne,y,\"array length at least \"+I[\"min-length\"]+\" expected, length \"+y.length+\" found\")];var Fe={type:I.value,values:I.values};J.$version<7&&(Fe.function=I.function),Ka(I.value)===\"object\"&&(Fe=I.value);for(var Qe=[],st=0;st<y.length;st++)Qe=Qe.concat(fe({array:y,arrayIndex:st,value:y[st],valueSpec:Fe,style:U,styleSpec:J,key:ne+\"[\"+st+\"]\"}));return Qe}function je(m){var y=m.key,I=m.value,U=m.valueSpec,J=Ka(I);return J===\"number\"&&I!==I&&(J=\"NaN\"),J!==\"number\"?[new fa(y,I,\"number expected, \"+J+\" found\")]:\"minimum\"in U&&I<U.minimum?[new fa(y,I,I+\" is less than the minimum value \"+U.minimum)]:\"maximum\"in U&&I>U.maximum?[new fa(y,I,I+\" is greater than the maximum value \"+U.maximum)]:[]}function it(m){var y=m.valueSpec,I=vo(m.value.type),U,J={},ne,fe,Fe=I!==\"categorical\"&&m.value.property===void 0,Qe=!Fe,st=Ka(m.value.stops)===\"array\"&&Ka(m.value.stops[0])===\"array\"&&Ka(m.value.stops[0][0])===\"object\",mt=se({key:m.key,value:m.value,valueSpec:m.styleSpec.function,style:m.style,styleSpec:m.styleSpec,objectElementValidators:{stops:Xt,default:Lr}});return I===\"identity\"&&Fe&&mt.push(new fa(m.key,m.value,'missing required property \"property\"')),I!==\"identity\"&&!m.value.stops&&mt.push(new fa(m.key,m.value,'missing required property \"stops\"')),I===\"exponential\"&&m.valueSpec.expression&&!ia(m.valueSpec)&&mt.push(new fa(m.key,m.value,\"exponential functions not supported\")),m.styleSpec.$version>=8&&(Qe&&!Gs(m.valueSpec)?mt.push(new fa(m.key,m.value,\"property functions not supported\")):Fe&&!Rs(m.valueSpec)&&mt.push(new fa(m.key,m.value,\"zoom functions not supported\"))),(I===\"categorical\"||st)&&m.value.property===void 0&&mt.push(new fa(m.key,m.value,'\"property\" property is required')),mt;function Xt(Yr){if(I===\"identity\")return[new fa(Yr.key,Yr.value,'identity function may not have a \"stops\" property')];var _i=[],si=Yr.value;return _i=_i.concat(qe({key:Yr.key,value:si,valueSpec:Yr.valueSpec,style:Yr.style,styleSpec:Yr.styleSpec,arrayElementValidator:ur})),Ka(si)===\"array\"&&si.length===0&&_i.push(new fa(Yr.key,si,\"array must have at least one stop\")),_i}function ur(Yr){var _i=[],si=Yr.value,Hi=Yr.key;if(Ka(si)!==\"array\")return[new fa(Hi,si,\"array expected, \"+Ka(si)+\" found\")];if(si.length!==2)return[new fa(Hi,si,\"array length 2 expected, length \"+si.length+\" found\")];if(st){if(Ka(si[0])!==\"object\")return[new fa(Hi,si,\"object expected, \"+Ka(si[0])+\" found\")];if(si[0].zoom===void 0)return[new fa(Hi,si,\"object stop key must have zoom\")];if(si[0].value===void 0)return[new fa(Hi,si,\"object stop key must have value\")];if(fe&&fe>vo(si[0].zoom))return[new fa(Hi,si[0].zoom,\"stop zoom values must appear in ascending order\")];vo(si[0].zoom)!==fe&&(fe=vo(si[0].zoom),ne=void 0,J={}),_i=_i.concat(se({key:Hi+\"[0]\",value:si[0],valueSpec:{zoom:{}},style:Yr.style,styleSpec:Yr.styleSpec,objectElementValidators:{zoom:je,value:nr}}))}else _i=_i.concat(nr({key:Hi+\"[0]\",value:si[0],valueSpec:{},style:Yr.style,styleSpec:Yr.styleSpec},si));return Da(Zl(si[1]))?_i.concat([new fa(Hi+\"[1]\",si[1],\"expressions are not allowed in function stops.\")]):_i.concat(Wa({key:Hi+\"[1]\",value:si[1],valueSpec:y,style:Yr.style,styleSpec:Yr.styleSpec}))}function nr(Yr,_i){var si=Ka(Yr.value),Hi=vo(Yr.value),Ei=Yr.value!==null?Yr.value:_i;if(!U)U=si;else if(si!==U)return[new fa(Yr.key,Ei,si+\" stop domain type must match previous stop domain type \"+U)];if(si!==\"number\"&&si!==\"string\"&&si!==\"boolean\")return[new fa(Yr.key,Ei,\"stop domain value must be a number, string, or boolean\")];if(si!==\"number\"&&I!==\"categorical\"){var Vi=\"number expected, \"+si+\" found\";return Gs(y)&&I===void 0&&(Vi+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new fa(Yr.key,Ei,Vi)]}return I===\"categorical\"&&si===\"number\"&&(!isFinite(Hi)||Math.floor(Hi)!==Hi)?[new fa(Yr.key,Ei,\"integer expected, found \"+Hi)]:I!==\"categorical\"&&si===\"number\"&&ne!==void 0&&Hi<ne?[new fa(Yr.key,Ei,\"stop domain values must appear in ascending order\")]:(ne=Hi,I===\"categorical\"&&Hi in J?[new fa(Yr.key,Ei,\"stop domain values must be unique\")]:(J[Hi]=!0,[]))}function Lr(Yr){return Wa({key:Yr.key,value:Yr.value,valueSpec:y,style:Yr.style,styleSpec:Yr.styleSpec})}}function yt(m){var y=(m.expressionContext===\"property\"?_c:eo)(Zl(m.value),m.valueSpec);if(y.result===\"error\")return y.value.map(function(U){return new fa(\"\"+m.key+U.key,m.value,U.message)});var I=y.value.expression||y.value._styleExpression.expression;if(m.expressionContext===\"property\"&&m.propertyKey===\"text-font\"&&!I.outputDefined())return[new fa(m.key,m.value,'Invalid data expression for \"'+m.propertyKey+'\". Output values must be contained as literals within the expression.')];if(m.expressionContext===\"property\"&&m.propertyType===\"layout\"&&!tu(I))return[new fa(m.key,m.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(m.expressionContext===\"filter\"&&!tu(I))return[new fa(m.key,m.value,'\"feature-state\" data expressions are not supported with filters.')];if(m.expressionContext&&m.expressionContext.indexOf(\"cluster\")===0){if(!Pu(I,[\"zoom\",\"feature-state\"]))return[new fa(m.key,m.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(m.expressionContext===\"cluster-initial\"&&!$h(I))return[new fa(m.key,m.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function Ot(m){var y=m.value,I=m.key,U=Ka(y);return U!==\"boolean\"?[new fa(I,y,\"boolean expected, \"+U+\" found\")]:[]}function Nt(m){var y=m.key,I=m.value,U=Ka(I);return U!==\"string\"?[new fa(y,I,\"color expected, \"+U+\" found\")]:Bf(I)===null?[new fa(y,I,'color expected, \"'+I+'\" found')]:[]}function hr(m){var y=m.key,I=m.value,U=m.valueSpec,J=[];return Array.isArray(U.values)?U.values.indexOf(vo(I))===-1&&J.push(new fa(y,I,\"expected one of [\"+U.values.join(\", \")+\"], \"+JSON.stringify(I)+\" found\")):Object.keys(U.values).indexOf(vo(I))===-1&&J.push(new fa(y,I,\"expected one of [\"+Object.keys(U.values).join(\", \")+\"], \"+JSON.stringify(I)+\" found\")),J}function Sr(m){if(m===!0||m===!1)return!0;if(!Array.isArray(m)||m.length===0)return!1;switch(m[0]){case\"has\":return m.length>=2&&m[1]!==\"$id\"&&m[1]!==\"$type\";case\"in\":return m.length>=3&&(typeof m[1]!=\"string\"||Array.isArray(m[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return m.length!==3||Array.isArray(m[1])||Array.isArray(m[2]);case\"any\":case\"all\":for(var y=0,I=m.slice(1);y<I.length;y+=1){var U=I[y];if(!Sr(U)&&typeof U!=\"boolean\")return!1}return!0;default:return!0}}var he={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function be(m){if(m==null)return{filter:function(){return!0},needGeometry:!1};Sr(m)||(m=Je(m));var y=eo(m,he);if(y.result===\"error\")throw new Error(y.value.map(function(U){return U.key+\": \"+U.message}).join(\", \"));var I=Oe(m);return{filter:function(U,J,ne){return y.value.evaluate(U,J,{},ne)},needGeometry:I}}function Pe(m,y){return m<y?-1:m>y?1:0}function Oe(m){if(!Array.isArray(m))return!1;if(m[0]===\"within\")return!0;for(var y=1;y<m.length;y++)if(Oe(m[y]))return!0;return!1}function Je(m){if(!m)return!0;var y=m[0];if(m.length<=1)return y!==\"any\";var I=y===\"==\"?He(m[1],m[2],\"==\"):y===\"!=\"?Ut(He(m[1],m[2],\"==\")):y===\"<\"||y===\">\"||y===\"<=\"||y===\">=\"?He(m[1],m[2],y):y===\"any\"?et(m.slice(1)):y===\"all\"?[\"all\"].concat(m.slice(1).map(Je)):y===\"none\"?[\"all\"].concat(m.slice(1).map(Je).map(Ut)):y===\"in\"?Mt(m[1],m.slice(2)):y===\"!in\"?Ut(Mt(m[1],m.slice(2))):y===\"has\"?Dt(m[1]):y===\"!has\"?Ut(Dt(m[1])):y===\"within\"?m:!0;return I}function He(m,y,I){switch(m){case\"$type\":return[\"filter-type-\"+I,y];case\"$id\":return[\"filter-id-\"+I,y];default:return[\"filter-\"+I,m,y]}}function et(m){return[\"any\"].concat(m.map(Je))}function Mt(m,y){if(y.length===0)return!1;switch(m){case\"$type\":return[\"filter-type-in\",[\"literal\",y]];case\"$id\":return[\"filter-id-in\",[\"literal\",y]];default:return y.length>200&&!y.some(function(I){return typeof I!=typeof y[0]})?[\"filter-in-large\",m,[\"literal\",y.sort(Pe)]]:[\"filter-in-small\",m,[\"literal\",y]]}}function Dt(m){switch(m){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",m]}}function Ut(m){return[\"!\",m]}function tr(m){return Sr(Zl(m.value))?yt(Rl({},m,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):mr(m)}function mr(m){var y=m.value,I=m.key;if(Ka(y)!==\"array\")return[new fa(I,y,\"array expected, \"+Ka(y)+\" found\")];var U=m.styleSpec,J,ne=[];if(y.length<1)return[new fa(I,y,\"filter array must have at least 1 element\")];switch(ne=ne.concat(hr({key:I+\"[0]\",value:y[0],valueSpec:U.filter_operator,style:m.style,styleSpec:m.styleSpec})),vo(y[0])){case\"<\":case\"<=\":case\">\":case\">=\":y.length>=2&&vo(y[1])===\"$type\"&&ne.push(new fa(I,y,'\"$type\" cannot be use with operator \"'+y[0]+'\"'));case\"==\":case\"!=\":y.length!==3&&ne.push(new fa(I,y,'filter array for operator \"'+y[0]+'\" must have 3 elements'));case\"in\":case\"!in\":y.length>=2&&(J=Ka(y[1]),J!==\"string\"&&ne.push(new fa(I+\"[1]\",y[1],\"string expected, \"+J+\" found\")));for(var fe=2;fe<y.length;fe++)J=Ka(y[fe]),vo(y[1])===\"$type\"?ne=ne.concat(hr({key:I+\"[\"+fe+\"]\",value:y[fe],valueSpec:U.geometry_type,style:m.style,styleSpec:m.styleSpec})):J!==\"string\"&&J!==\"number\"&&J!==\"boolean\"&&ne.push(new fa(I+\"[\"+fe+\"]\",y[fe],\"string, number, or boolean expected, \"+J+\" found\"));break;case\"any\":case\"all\":case\"none\":for(var Fe=1;Fe<y.length;Fe++)ne=ne.concat(mr({key:I+\"[\"+Fe+\"]\",value:y[Fe],style:m.style,styleSpec:m.styleSpec}));break;case\"has\":case\"!has\":J=Ka(y[1]),y.length!==2?ne.push(new fa(I,y,'filter array for \"'+y[0]+'\" operator must have 2 elements')):J!==\"string\"&&ne.push(new fa(I+\"[1]\",y[1],\"string expected, \"+J+\" found\"));break;case\"within\":J=Ka(y[1]),y.length!==2?ne.push(new fa(I,y,'filter array for \"'+y[0]+'\" operator must have 2 elements')):J!==\"object\"&&ne.push(new fa(I+\"[1]\",y[1],\"object expected, \"+J+\" found\"));break}return ne}function Rr(m,y){var I=m.key,U=m.style,J=m.styleSpec,ne=m.value,fe=m.objectKey,Fe=J[y+\"_\"+m.layerType];if(!Fe)return[];var Qe=fe.match(/^(.*)-transition$/);if(y===\"paint\"&&Qe&&Fe[Qe[1]]&&Fe[Qe[1]].transition)return Wa({key:I,value:ne,valueSpec:J.transition,style:U,styleSpec:J});var st=m.valueSpec||Fe[fe];if(!st)return[new fa(I,ne,'unknown property \"'+fe+'\"')];var mt;if(Ka(ne)===\"string\"&&Gs(st)&&!st.tokens&&(mt=/^{([^}]+)}$/.exec(ne)))return[new fa(I,ne,'\"'+fe+'\" does not support interpolation syntax\\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": '+JSON.stringify(mt[1])+\" }`.\")];var Xt=[];return m.layerType===\"symbol\"&&(fe===\"text-field\"&&U&&!U.glyphs&&Xt.push(new fa(I,ne,'use of \"text-field\" requires a style \"glyphs\" property')),fe===\"text-font\"&&vs(Zl(ne))&&vo(ne.type)===\"identity\"&&Xt.push(new fa(I,ne,'\"text-font\" does not support identity functions'))),Xt.concat(Wa({key:m.key,value:ne,valueSpec:st,style:U,styleSpec:J,expressionContext:\"property\",propertyType:y,propertyKey:fe}))}function zr(m){return Rr(m,\"paint\")}function Xr(m){return Rr(m,\"layout\")}function di(m){var y=[],I=m.value,U=m.key,J=m.style,ne=m.styleSpec;!I.type&&!I.ref&&y.push(new fa(U,I,'either \"type\" or \"ref\" is required'));var fe=vo(I.type),Fe=vo(I.ref);if(I.id)for(var Qe=vo(I.id),st=0;st<m.arrayIndex;st++){var mt=J.layers[st];vo(mt.id)===Qe&&y.push(new fa(U,I.id,'duplicate layer id \"'+I.id+'\", previously used at line '+mt.id.__line__))}if(\"ref\"in I){[\"type\",\"source\",\"source-layer\",\"filter\",\"layout\"].forEach(function(Lr){Lr in I&&y.push(new fa(U,I[Lr],'\"'+Lr+'\" is prohibited for ref layers'))});var Xt;J.layers.forEach(function(Lr){vo(Lr.id)===Fe&&(Xt=Lr)}),Xt?Xt.ref?y.push(new fa(U,I.ref,\"ref cannot reference another ref layer\")):fe=vo(Xt.type):y.push(new fa(U,I.ref,'ref layer \"'+Fe+'\" not found'))}else if(fe!==\"background\")if(!I.source)y.push(new fa(U,I,'missing required property \"source\"'));else{var ur=J.sources&&J.sources[I.source],nr=ur&&vo(ur.type);ur?nr===\"vector\"&&fe===\"raster\"?y.push(new fa(U,I.source,'layer \"'+I.id+'\" requires a raster source')):nr===\"raster\"&&fe!==\"raster\"?y.push(new fa(U,I.source,'layer \"'+I.id+'\" requires a vector source')):nr===\"vector\"&&!I[\"source-layer\"]?y.push(new fa(U,I,'layer \"'+I.id+'\" must specify a \"source-layer\"')):nr===\"raster-dem\"&&fe!==\"hillshade\"?y.push(new fa(U,I.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):fe===\"line\"&&I.paint&&I.paint[\"line-gradient\"]&&(nr!==\"geojson\"||!ur.lineMetrics)&&y.push(new fa(U,I,'layer \"'+I.id+'\" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.')):y.push(new fa(U,I.source,'source \"'+I.source+'\" not found'))}return y=y.concat(se({key:U,value:I,valueSpec:ne.layer,style:m.style,styleSpec:m.styleSpec,objectElementValidators:{\"*\":function(){return[]},type:function(){return Wa({key:U+\".type\",value:I.type,valueSpec:ne.layer.type,style:m.style,styleSpec:m.styleSpec,object:I,objectKey:\"type\"})},filter:tr,layout:function(Yr){return se({layer:I,key:Yr.key,value:Yr.value,style:Yr.style,styleSpec:Yr.styleSpec,objectElementValidators:{\"*\":function(si){return Xr(Rl({layerType:fe},si))}}})},paint:function(Yr){return se({layer:I,key:Yr.key,value:Yr.value,style:Yr.style,styleSpec:Yr.styleSpec,objectElementValidators:{\"*\":function(si){return zr(Rl({layerType:fe},si))}}})}}})),y}function Li(m){var y=m.value,I=m.key,U=Ka(y);return U!==\"string\"?[new fa(I,y,\"string expected, \"+U+\" found\")]:[]}var Ci={promoteId:Mn};function Qi(m){var y=m.value,I=m.key,U=m.styleSpec,J=m.style;if(!y.type)return[new fa(I,y,'\"type\" is required')];var ne=vo(y.type),fe;switch(ne){case\"vector\":case\"raster\":case\"raster-dem\":return fe=se({key:I,value:y,valueSpec:U[\"source_\"+ne.replace(\"-\",\"_\")],style:m.style,styleSpec:U,objectElementValidators:Ci}),fe;case\"geojson\":if(fe=se({key:I,value:y,valueSpec:U.source_geojson,style:J,styleSpec:U,objectElementValidators:Ci}),y.cluster)for(var Fe in y.clusterProperties){var Qe=y.clusterProperties[Fe],st=Qe[0],mt=Qe[1],Xt=typeof st==\"string\"?[st,[\"accumulated\"],[\"get\",Fe]]:st;fe.push.apply(fe,yt({key:I+\".\"+Fe+\".map\",value:mt,expressionContext:\"cluster-map\"})),fe.push.apply(fe,yt({key:I+\".\"+Fe+\".reduce\",value:Xt,expressionContext:\"cluster-reduce\"}))}return fe;case\"video\":return se({key:I,value:y,valueSpec:U.source_video,style:J,styleSpec:U});case\"image\":return se({key:I,value:y,valueSpec:U.source_image,style:J,styleSpec:U});case\"canvas\":return[new fa(I,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return hr({key:I+\".type\",value:y.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:J,styleSpec:U})}}function Mn(m){var y=m.key,I=m.value;if(Ka(I)===\"string\")return Li({key:y,value:I});var U=[];for(var J in I)U.push.apply(U,Li({key:y+\".\"+J,value:I[J]}));return U}function pa(m){var y=m.value,I=m.styleSpec,U=I.light,J=m.style,ne=[],fe=Ka(y);if(y===void 0)return ne;if(fe!==\"object\")return ne=ne.concat([new fa(\"light\",y,\"object expected, \"+fe+\" found\")]),ne;for(var Fe in y){var Qe=Fe.match(/^(.*)-transition$/);Qe&&U[Qe[1]]&&U[Qe[1]].transition?ne=ne.concat(Wa({key:Fe,value:y[Fe],valueSpec:I.transition,style:J,styleSpec:I})):U[Fe]?ne=ne.concat(Wa({key:Fe,value:y[Fe],valueSpec:U[Fe],style:J,styleSpec:I})):ne=ne.concat([new fa(Fe,y[Fe],'unknown property \"'+Fe+'\"')])}return ne}function ea(m){return Li(m).length===0?[]:yt(m)}function Ga(m){return Li(m).length===0?[]:yt(m)}var To={\"*\":function(){return[]},array:qe,boolean:Ot,number:je,color:Nt,constants:Qu,enum:hr,filter:tr,function:it,layer:di,object:se,source:Qi,light:pa,string:Li,formatted:ea,resolvedImage:Ga};function Wa(m){var y=m.value,I=m.valueSpec,U=m.styleSpec;if(I.expression&&vs(vo(y)))return it(m);if(I.expression&&Da(Zl(y)))return yt(m);if(I.type&&To[I.type])return To[I.type](m);var J=se(Rl({},m,{valueSpec:I.type?U[I.type]:I}));return J}function co(m){var y=m.value,I=m.key,U=Li(m);return U.length||(y.indexOf(\"{fontstack}\")===-1&&U.push(new fa(I,y,'\"glyphs\" url must include a \"{fontstack}\" token')),y.indexOf(\"{range}\")===-1&&U.push(new fa(I,y,'\"glyphs\" url must include a \"{range}\" token'))),U}function Ro(m,y){y===void 0&&(y=on);var I=[];return I=I.concat(Wa({key:\"\",value:m,valueSpec:y.$root,styleSpec:y,style:m,objectElementValidators:{glyphs:co,\"*\":function(){return[]}}})),m.constants&&(I=I.concat(Qu({key:\"constants\",value:m.constants,style:m,styleSpec:y}))),Ds(I)}Ro.source=As(Qi),Ro.light=As(pa),Ro.layer=As(di),Ro.filter=As(tr),Ro.paintProperty=As(zr),Ro.layoutProperty=As(Xr);function Ds(m){return[].concat(m).sort(function(y,I){return y.line-I.line})}function As(m){return function(){for(var y=[],I=arguments.length;I--;)y[I]=arguments[I];return Ds(m.apply(this,y))}}var yo=Ro,po=yo.light,_l=yo.paintProperty,Hl=yo.layoutProperty;function Zu(m,y){var I=!1;if(y&&y.length)for(var U=0,J=y;U<J.length;U+=1){var ne=J[U];m.fire(new oa(new Error(ne.message))),I=!0}return I}var cu=au,el=3;function au(m,y,I){var U=this.cells=[];if(m instanceof ArrayBuffer){this.arrayBuffer=m;var J=new Int32Array(this.arrayBuffer);m=J[0],y=J[1],I=J[2],this.d=y+2*I;for(var ne=0;ne<this.d*this.d;ne++){var fe=J[el+ne],Fe=J[el+ne+1];U.push(fe===Fe?null:J.subarray(fe,Fe))}var Qe=J[el+U.length],st=J[el+U.length+1];this.keys=J.subarray(Qe,st),this.bboxes=J.subarray(st),this.insert=this._insertReadonly}else{this.d=y+2*I;for(var mt=0;mt<this.d*this.d;mt++)U.push([]);this.keys=[],this.bboxes=[]}this.n=y,this.extent=m,this.padding=I,this.scale=y/m,this.uid=0;var Xt=I/y*m;this.min=-Xt,this.max=m+Xt}au.prototype.insert=function(m,y,I,U,J){this._forEachCell(y,I,U,J,this._insertCell,this.uid++),this.keys.push(m),this.bboxes.push(y),this.bboxes.push(I),this.bboxes.push(U),this.bboxes.push(J)},au.prototype._insertReadonly=function(){throw\"Cannot insert into a GridIndex created from an ArrayBuffer.\"},au.prototype._insertCell=function(m,y,I,U,J,ne){this.cells[J].push(ne)},au.prototype.query=function(m,y,I,U,J){var ne=this.min,fe=this.max;if(m<=ne&&y<=ne&&fe<=I&&fe<=U&&!J)return Array.prototype.slice.call(this.keys);var Fe=[],Qe={};return this._forEachCell(m,y,I,U,this._queryCell,Fe,Qe,J),Fe},au.prototype._queryCell=function(m,y,I,U,J,ne,fe,Fe){var Qe=this.cells[J];if(Qe!==null)for(var st=this.keys,mt=this.bboxes,Xt=0;Xt<Qe.length;Xt++){var ur=Qe[Xt];if(fe[ur]===void 0){var nr=ur*4;(Fe?Fe(mt[nr+0],mt[nr+1],mt[nr+2],mt[nr+3]):m<=mt[nr+2]&&y<=mt[nr+3]&&I>=mt[nr+0]&&U>=mt[nr+1])?(fe[ur]=!0,ne.push(st[ur])):fe[ur]=!1}}},au.prototype._forEachCell=function(m,y,I,U,J,ne,fe,Fe){for(var Qe=this._convertToCellCoord(m),st=this._convertToCellCoord(y),mt=this._convertToCellCoord(I),Xt=this._convertToCellCoord(U),ur=Qe;ur<=mt;ur++)for(var nr=st;nr<=Xt;nr++){var Lr=this.d*nr+ur;if(!(Fe&&!Fe(this._convertFromCellCoord(ur),this._convertFromCellCoord(nr),this._convertFromCellCoord(ur+1),this._convertFromCellCoord(nr+1)))&&J.call(this,m,y,I,U,Lr,ne,fe,Fe))return}},au.prototype._convertFromCellCoord=function(m){return(m-this.padding)/this.scale},au.prototype._convertToCellCoord=function(m){return Math.max(0,Math.min(this.d-1,Math.floor(m*this.scale)+this.padding))},au.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var m=this.cells,y=el+this.cells.length+1+1,I=0,U=0;U<this.cells.length;U++)I+=this.cells[U].length;var J=new Int32Array(y+I+this.keys.length+this.bboxes.length);J[0]=this.extent,J[1]=this.n,J[2]=this.padding;for(var ne=y,fe=0;fe<m.length;fe++){var Fe=m[fe];J[el+fe]=ne,J.set(Fe,ne),ne+=Fe.length}return J[el+m.length]=ne,J.set(this.keys,ne),ne+=this.keys.length,J[el+m.length+1]=ne,J.set(this.bboxes,ne),ne+=this.bboxes.length,J.buffer};var zc=f.ImageData,zl=f.ImageBitmap,Fl={};function Z(m,y,I){I===void 0&&(I={}),Object.defineProperty(y,\"_classRegistryKey\",{value:m,writeable:!1}),Fl[m]={klass:y,omit:I.omit||[],shallow:I.shallow||[]}}Z(\"Object\",Object),cu.serialize=function(y,I){var U=y.toArrayBuffer();return I&&I.push(U),{buffer:U}},cu.deserialize=function(y){return new cu(y.buffer)},Z(\"Grid\",cu),Z(\"Color\",ss),Z(\"Error\",Error),Z(\"ResolvedImage\",Js),Z(\"StylePropertyFunction\",le),Z(\"StyleExpression\",Dc,{omit:[\"_evaluator\"]}),Z(\"ZoomDependentExpression\",yc),Z(\"ZoomConstantExpression\",Jc),Z(\"CompoundExpression\",Ja,{omit:[\"_evaluate\"]});for(var oe in Ua)Ua[oe]._classRegistryKey||Z(\"Expression_\"+oe,Ua[oe]);function we(m){return m&&typeof ArrayBuffer!=\"undefined\"&&(m instanceof ArrayBuffer||m.constructor&&m.constructor.name===\"ArrayBuffer\")}function Be(m){return zl&&m instanceof zl}function Ue(m,y){if(m==null||typeof m==\"boolean\"||typeof m==\"number\"||typeof m==\"string\"||m instanceof Boolean||m instanceof Number||m instanceof String||m instanceof Date||m instanceof RegExp)return m;if(we(m)||Be(m))return y&&y.push(m),m;if(ArrayBuffer.isView(m)){var I=m;return y&&y.push(I.buffer),I}if(m instanceof zc)return y&&y.push(m.data.buffer),m;if(Array.isArray(m)){for(var U=[],J=0,ne=m;J<ne.length;J+=1){var fe=ne[J];U.push(Ue(fe,y))}return U}if(typeof m==\"object\"){var Fe=m.constructor,Qe=Fe._classRegistryKey;if(!Qe)throw new Error(\"can't serialize object of unregistered class\");var st=Fe.serialize?Fe.serialize(m,y):{};if(!Fe.serialize){for(var mt in m)if(m.hasOwnProperty(mt)&&!(Fl[Qe].omit.indexOf(mt)>=0)){var Xt=m[mt];st[mt]=Fl[Qe].shallow.indexOf(mt)>=0?Xt:Ue(Xt,y)}m instanceof Error&&(st.message=m.message)}if(st.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return Qe!==\"Object\"&&(st.$name=Qe),st}throw new Error(\"can't serialize object of type \"+typeof m)}function We(m){if(m==null||typeof m==\"boolean\"||typeof m==\"number\"||typeof m==\"string\"||m instanceof Boolean||m instanceof Number||m instanceof String||m instanceof Date||m instanceof RegExp||we(m)||Be(m)||ArrayBuffer.isView(m)||m instanceof zc)return m;if(Array.isArray(m))return m.map(We);if(typeof m==\"object\"){var y=m.$name||\"Object\",I=Fl[y],U=I.klass;if(!U)throw new Error(\"can't deserialize unregistered class \"+y);if(U.deserialize)return U.deserialize(m);for(var J=Object.create(U.prototype),ne=0,fe=Object.keys(m);ne<fe.length;ne+=1){var Fe=fe[ne];if(Fe!==\"$name\"){var Qe=m[Fe];J[Fe]=Fl[y].shallow.indexOf(Fe)>=0?Qe:We(Qe)}}return J}throw new Error(\"can't deserialize object of type \"+typeof m)}var wt=function(){this.first=!0};wt.prototype.update=function(y,I){var U=Math.floor(y);return this.first?(this.first=!1,this.lastIntegerZoom=U,this.lastIntegerZoomTime=0,this.lastZoom=y,this.lastFloorZoom=U,!0):(this.lastFloorZoom>U?(this.lastIntegerZoom=U+1,this.lastIntegerZoomTime=I):this.lastFloorZoom<U&&(this.lastIntegerZoom=U,this.lastIntegerZoomTime=I),y!==this.lastZoom?(this.lastZoom=y,this.lastFloorZoom=U,!0):!1)};var tt={\"Latin-1 Supplement\":function(m){return m>=128&&m<=255},Arabic:function(m){return m>=1536&&m<=1791},\"Arabic Supplement\":function(m){return m>=1872&&m<=1919},\"Arabic Extended-A\":function(m){return m>=2208&&m<=2303},\"Hangul Jamo\":function(m){return m>=4352&&m<=4607},\"Unified Canadian Aboriginal Syllabics\":function(m){return m>=5120&&m<=5759},Khmer:function(m){return m>=6016&&m<=6143},\"Unified Canadian Aboriginal Syllabics Extended\":function(m){return m>=6320&&m<=6399},\"General Punctuation\":function(m){return m>=8192&&m<=8303},\"Letterlike Symbols\":function(m){return m>=8448&&m<=8527},\"Number Forms\":function(m){return m>=8528&&m<=8591},\"Miscellaneous Technical\":function(m){return m>=8960&&m<=9215},\"Control Pictures\":function(m){return m>=9216&&m<=9279},\"Optical Character Recognition\":function(m){return m>=9280&&m<=9311},\"Enclosed Alphanumerics\":function(m){return m>=9312&&m<=9471},\"Geometric Shapes\":function(m){return m>=9632&&m<=9727},\"Miscellaneous Symbols\":function(m){return m>=9728&&m<=9983},\"Miscellaneous Symbols and Arrows\":function(m){return m>=11008&&m<=11263},\"CJK Radicals Supplement\":function(m){return m>=11904&&m<=12031},\"Kangxi Radicals\":function(m){return m>=12032&&m<=12255},\"Ideographic Description Characters\":function(m){return m>=12272&&m<=12287},\"CJK Symbols and Punctuation\":function(m){return m>=12288&&m<=12351},Hiragana:function(m){return m>=12352&&m<=12447},Katakana:function(m){return m>=12448&&m<=12543},Bopomofo:function(m){return m>=12544&&m<=12591},\"Hangul Compatibility Jamo\":function(m){return m>=12592&&m<=12687},Kanbun:function(m){return m>=12688&&m<=12703},\"Bopomofo Extended\":function(m){return m>=12704&&m<=12735},\"CJK Strokes\":function(m){return m>=12736&&m<=12783},\"Katakana Phonetic Extensions\":function(m){return m>=12784&&m<=12799},\"Enclosed CJK Letters and Months\":function(m){return m>=12800&&m<=13055},\"CJK Compatibility\":function(m){return m>=13056&&m<=13311},\"CJK Unified Ideographs Extension A\":function(m){return m>=13312&&m<=19903},\"Yijing Hexagram Symbols\":function(m){return m>=19904&&m<=19967},\"CJK Unified Ideographs\":function(m){return m>=19968&&m<=40959},\"Yi Syllables\":function(m){return m>=40960&&m<=42127},\"Yi Radicals\":function(m){return m>=42128&&m<=42191},\"Hangul Jamo Extended-A\":function(m){return m>=43360&&m<=43391},\"Hangul Syllables\":function(m){return m>=44032&&m<=55215},\"Hangul Jamo Extended-B\":function(m){return m>=55216&&m<=55295},\"Private Use Area\":function(m){return m>=57344&&m<=63743},\"CJK Compatibility Ideographs\":function(m){return m>=63744&&m<=64255},\"Arabic Presentation Forms-A\":function(m){return m>=64336&&m<=65023},\"Vertical Forms\":function(m){return m>=65040&&m<=65055},\"CJK Compatibility Forms\":function(m){return m>=65072&&m<=65103},\"Small Form Variants\":function(m){return m>=65104&&m<=65135},\"Arabic Presentation Forms-B\":function(m){return m>=65136&&m<=65279},\"Halfwidth and Fullwidth Forms\":function(m){return m>=65280&&m<=65519}};function zt(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(Ir(U.charCodeAt(0)))return!0}return!1}function or(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(!lr(U.charCodeAt(0)))return!1}return!0}function lr(m){return!(tt.Arabic(m)||tt[\"Arabic Supplement\"](m)||tt[\"Arabic Extended-A\"](m)||tt[\"Arabic Presentation Forms-A\"](m)||tt[\"Arabic Presentation Forms-B\"](m))}function Dr(m){return m<11904?!1:!!(tt[\"Bopomofo Extended\"](m)||tt.Bopomofo(m)||tt[\"CJK Compatibility Forms\"](m)||tt[\"CJK Compatibility Ideographs\"](m)||tt[\"CJK Compatibility\"](m)||tt[\"CJK Radicals Supplement\"](m)||tt[\"CJK Strokes\"](m)||tt[\"CJK Symbols and Punctuation\"](m)||tt[\"CJK Unified Ideographs Extension A\"](m)||tt[\"CJK Unified Ideographs\"](m)||tt[\"Enclosed CJK Letters and Months\"](m)||tt[\"Halfwidth and Fullwidth Forms\"](m)||tt.Hiragana(m)||tt[\"Ideographic Description Characters\"](m)||tt[\"Kangxi Radicals\"](m)||tt[\"Katakana Phonetic Extensions\"](m)||tt.Katakana(m)||tt[\"Vertical Forms\"](m)||tt[\"Yi Radicals\"](m)||tt[\"Yi Syllables\"](m))}function Ir(m){return m===746||m===747?!0:m<4352?!1:!!(tt[\"Bopomofo Extended\"](m)||tt.Bopomofo(m)||tt[\"CJK Compatibility Forms\"](m)&&!(m>=65097&&m<=65103)||tt[\"CJK Compatibility Ideographs\"](m)||tt[\"CJK Compatibility\"](m)||tt[\"CJK Radicals Supplement\"](m)||tt[\"CJK Strokes\"](m)||tt[\"CJK Symbols and Punctuation\"](m)&&!(m>=12296&&m<=12305)&&!(m>=12308&&m<=12319)&&m!==12336||tt[\"CJK Unified Ideographs Extension A\"](m)||tt[\"CJK Unified Ideographs\"](m)||tt[\"Enclosed CJK Letters and Months\"](m)||tt[\"Hangul Compatibility Jamo\"](m)||tt[\"Hangul Jamo Extended-A\"](m)||tt[\"Hangul Jamo Extended-B\"](m)||tt[\"Hangul Jamo\"](m)||tt[\"Hangul Syllables\"](m)||tt.Hiragana(m)||tt[\"Ideographic Description Characters\"](m)||tt.Kanbun(m)||tt[\"Kangxi Radicals\"](m)||tt[\"Katakana Phonetic Extensions\"](m)||tt.Katakana(m)&&m!==12540||tt[\"Halfwidth and Fullwidth Forms\"](m)&&m!==65288&&m!==65289&&m!==65293&&!(m>=65306&&m<=65310)&&m!==65339&&m!==65341&&m!==65343&&!(m>=65371&&m<=65503)&&m!==65507&&!(m>=65512&&m<=65519)||tt[\"Small Form Variants\"](m)&&!(m>=65112&&m<=65118)&&!(m>=65123&&m<=65126)||tt[\"Unified Canadian Aboriginal Syllabics\"](m)||tt[\"Unified Canadian Aboriginal Syllabics Extended\"](m)||tt[\"Vertical Forms\"](m)||tt[\"Yijing Hexagram Symbols\"](m)||tt[\"Yi Syllables\"](m)||tt[\"Yi Radicals\"](m))}function oi(m){return!!(tt[\"Latin-1 Supplement\"](m)&&(m===167||m===169||m===174||m===177||m===188||m===189||m===190||m===215||m===247)||tt[\"General Punctuation\"](m)&&(m===8214||m===8224||m===8225||m===8240||m===8241||m===8251||m===8252||m===8258||m===8263||m===8264||m===8265||m===8273)||tt[\"Letterlike Symbols\"](m)||tt[\"Number Forms\"](m)||tt[\"Miscellaneous Technical\"](m)&&(m>=8960&&m<=8967||m>=8972&&m<=8991||m>=8996&&m<=9e3||m===9003||m>=9085&&m<=9114||m>=9150&&m<=9165||m===9167||m>=9169&&m<=9179||m>=9186&&m<=9215)||tt[\"Control Pictures\"](m)&&m!==9251||tt[\"Optical Character Recognition\"](m)||tt[\"Enclosed Alphanumerics\"](m)||tt[\"Geometric Shapes\"](m)||tt[\"Miscellaneous Symbols\"](m)&&!(m>=9754&&m<=9759)||tt[\"Miscellaneous Symbols and Arrows\"](m)&&(m>=11026&&m<=11055||m>=11088&&m<=11097||m>=11192&&m<=11243)||tt[\"CJK Symbols and Punctuation\"](m)||tt.Katakana(m)||tt[\"Private Use Area\"](m)||tt[\"CJK Compatibility Forms\"](m)||tt[\"Small Form Variants\"](m)||tt[\"Halfwidth and Fullwidth Forms\"](m)||m===8734||m===8756||m===8757||m>=9984&&m<=10087||m>=10102&&m<=10131||m===65532||m===65533)}function ui(m){return!(Ir(m)||oi(m))}function qr(m){return tt.Arabic(m)||tt[\"Arabic Supplement\"](m)||tt[\"Arabic Extended-A\"](m)||tt[\"Arabic Presentation Forms-A\"](m)||tt[\"Arabic Presentation Forms-B\"](m)}function Kr(m){return m>=1424&&m<=2303||tt[\"Arabic Presentation Forms-A\"](m)||tt[\"Arabic Presentation Forms-B\"](m)}function ii(m,y){return!(!y&&Kr(m)||m>=2304&&m<=3583||m>=3840&&m<=4255||tt.Khmer(m))}function vi(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(Kr(U.charCodeAt(0)))return!0}return!1}function ci(m,y){for(var I=0,U=m;I<U.length;I+=1){var J=U[I];if(!ii(J.charCodeAt(0),y))return!1}return!0}var Jr={unavailable:\"unavailable\",deferred:\"deferred\",loading:\"loading\",loaded:\"loaded\",error:\"error\"},un=null,dn=Jr.unavailable,En=null,Nn=function(m){m&&typeof m==\"string\"&&m.indexOf(\"NetworkError\")>-1&&(dn=Jr.error),un&&un(m)};function ga(){ya.fire(new jo(\"pluginStateChange\",{pluginStatus:dn,pluginURL:En}))}var ya=new Sn,so=function(){return dn},wa=function(m){return m({pluginStatus:dn,pluginURL:En}),ya.on(\"pluginStateChange\",m),m},io=function(m,y,I){if(I===void 0&&(I=!1),dn===Jr.deferred||dn===Jr.loading||dn===Jr.loaded)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");En=nt.resolveURL(m),dn=Jr.deferred,un=y,ga(),I||Ss()},Ss=function(){if(dn!==Jr.deferred||!En)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");dn=Jr.loading,ga(),En&&Zr({url:En},function(m){m?Nn(m):(dn=Jr.loaded,ga())})},_s={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return dn===Jr.loaded||_s.applyArabicShaping!=null},isLoading:function(){return dn===Jr.loading},setState:function(y){dn=y.pluginStatus,En=y.pluginURL},isParsed:function(){return _s.applyArabicShaping!=null&&_s.processBidirectionalText!=null&&_s.processStyledBidirectionalText!=null},getPluginURL:function(){return En}},Ns=function(){!_s.isLoading()&&!_s.isLoaded()&&so()===\"deferred\"&&Ss()},pn=function(y,I){this.zoom=y,I?(this.now=I.now,this.fadeDuration=I.fadeDuration,this.zoomHistory=I.zoomHistory,this.transition=I.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new wt,this.transition={})};pn.prototype.isSupportedScript=function(y){return ci(y,_s.isLoaded())},pn.prototype.crossFadingFactor=function(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},pn.prototype.getCrossfadeParameters=function(){var y=this.zoom,I=y-Math.floor(y),U=this.crossFadingFactor();return y>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:I+(1-I)*U}:{fromScale:.5,toScale:1,t:1-(1-U)*I}};var za=function(y,I){this.property=y,this.value=I,this.expression=w(I===void 0?y.specification.default:I,y.specification)};za.prototype.isDataDriven=function(){return this.expression.kind===\"source\"||this.expression.kind===\"composite\"},za.prototype.possiblyEvaluate=function(y,I,U){return this.property.possiblyEvaluate(this,y,I,U)};var Lo=function(y){this.property=y,this.value=new za(y,void 0)};Lo.prototype.transitioned=function(y,I){return new js(this.property,this.value,I,_({},y.transition,this.transition),y.now)},Lo.prototype.untransitioned=function(){return new js(this.property,this.value,null,{},0)};var Fo=function(y){this._properties=y,this._values=Object.create(y.defaultTransitionablePropertyValues)};Fo.prototype.getValue=function(y){return G(this._values[y].value.value)},Fo.prototype.setValue=function(y,I){this._values.hasOwnProperty(y)||(this._values[y]=new Lo(this._values[y].property)),this._values[y].value=new za(this._values[y].property,I===null?void 0:G(I))},Fo.prototype.getTransition=function(y){return G(this._values[y].transition)},Fo.prototype.setTransition=function(y,I){this._values.hasOwnProperty(y)||(this._values[y]=new Lo(this._values[y].property)),this._values[y].transition=G(I)||void 0},Fo.prototype.serialize=function(){for(var y={},I=0,U=Object.keys(this._values);I<U.length;I+=1){var J=U[I],ne=this.getValue(J);ne!==void 0&&(y[J]=ne);var fe=this.getTransition(J);fe!==void 0&&(y[J+\"-transition\"]=fe)}return y},Fo.prototype.transitioned=function(y,I){for(var U=new xl(this._properties),J=0,ne=Object.keys(this._values);J<ne.length;J+=1){var fe=ne[J];U._values[fe]=this._values[fe].transitioned(y,I._values[fe])}return U},Fo.prototype.untransitioned=function(){for(var y=new xl(this._properties),I=0,U=Object.keys(this._values);I<U.length;I+=1){var J=U[I];y._values[J]=this._values[J].untransitioned()}return y};var js=function(y,I,U,J,ne){this.property=y,this.value=I,this.begin=ne+J.delay||0,this.end=this.begin+J.duration||0,y.specification.transition&&(J.delay||J.duration)&&(this.prior=U)};js.prototype.possiblyEvaluate=function(y,I,U){var J=y.now||0,ne=this.value.possiblyEvaluate(y,I,U),fe=this.prior;if(fe){if(J>this.end)return this.prior=null,ne;if(this.value.isDataDriven())return this.prior=null,ne;if(J<this.begin)return fe.possiblyEvaluate(y,I,U);var Fe=(J-this.begin)/(this.end-this.begin);return this.property.interpolate(fe.possiblyEvaluate(y,I,U),ne,v(Fe))}else return ne};var xl=function(y){this._properties=y,this._values=Object.create(y.defaultTransitioningPropertyValues)};xl.prototype.possiblyEvaluate=function(y,I,U){for(var J=new xc(this._properties),ne=0,fe=Object.keys(this._values);ne<fe.length;ne+=1){var Fe=fe[ne];J._values[Fe]=this._values[Fe].possiblyEvaluate(y,I,U)}return J},xl.prototype.hasTransition=function(){for(var y=0,I=Object.keys(this._values);y<I.length;y+=1){var U=I[y];if(this._values[U].prior)return!0}return!1};var fu=function(y){this._properties=y,this._values=Object.create(y.defaultPropertyValues)};fu.prototype.getValue=function(y){return G(this._values[y].value)},fu.prototype.setValue=function(y,I){this._values[y]=new za(this._values[y].property,I===null?void 0:G(I))},fu.prototype.serialize=function(){for(var y={},I=0,U=Object.keys(this._values);I<U.length;I+=1){var J=U[I],ne=this.getValue(J);ne!==void 0&&(y[J]=ne)}return y},fu.prototype.possiblyEvaluate=function(y,I,U){for(var J=new xc(this._properties),ne=0,fe=Object.keys(this._values);ne<fe.length;ne+=1){var Fe=fe[ne];J._values[Fe]=this._values[Fe].possiblyEvaluate(y,I,U)}return J};var dl=function(y,I,U){this.property=y,this.value=I,this.parameters=U};dl.prototype.isConstant=function(){return this.value.kind===\"constant\"},dl.prototype.constantOr=function(y){return this.value.kind===\"constant\"?this.value.value:y},dl.prototype.evaluate=function(y,I,U,J){return this.property.evaluate(this.value,this.parameters,y,I,U,J)};var xc=function(y){this._properties=y,this._values=Object.create(y.defaultPossiblyEvaluatedValues)};xc.prototype.get=function(y){return this._values[y]};var At=function(y){this.specification=y};At.prototype.possiblyEvaluate=function(y,I){return y.expression.evaluate(I)},At.prototype.interpolate=function(y,I,U){var J=Gu[this.specification.type];return J?J(y,I,U):y};var Er=function(y,I){this.specification=y,this.overrides=I};Er.prototype.possiblyEvaluate=function(y,I,U,J){return y.expression.kind===\"constant\"||y.expression.kind===\"camera\"?new dl(this,{kind:\"constant\",value:y.expression.evaluate(I,null,{},U,J)},I):new dl(this,y.expression,I)},Er.prototype.interpolate=function(y,I,U){if(y.value.kind!==\"constant\"||I.value.kind!==\"constant\")return y;if(y.value.value===void 0||I.value.value===void 0)return new dl(this,{kind:\"constant\",value:void 0},y.parameters);var J=Gu[this.specification.type];return J?new dl(this,{kind:\"constant\",value:J(y.value.value,I.value.value,U)},y.parameters):y},Er.prototype.evaluate=function(y,I,U,J,ne,fe){return y.kind===\"constant\"?y.value:y.evaluate(I,U,J,ne,fe)};var Wr=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.possiblyEvaluate=function(U,J,ne,fe){if(U.value===void 0)return new dl(this,{kind:\"constant\",value:void 0},J);if(U.expression.kind===\"constant\"){var Fe=U.expression.evaluate(J,null,{},ne,fe),Qe=U.property.specification.type===\"resolvedImage\",st=Qe&&typeof Fe!=\"string\"?Fe.name:Fe,mt=this._calculate(st,st,st,J);return new dl(this,{kind:\"constant\",value:mt},J)}else if(U.expression.kind===\"camera\"){var Xt=this._calculate(U.expression.evaluate({zoom:J.zoom-1}),U.expression.evaluate({zoom:J.zoom}),U.expression.evaluate({zoom:J.zoom+1}),J);return new dl(this,{kind:\"constant\",value:Xt},J)}else return new dl(this,U.expression,J)},y.prototype.evaluate=function(U,J,ne,fe,Fe,Qe){if(U.kind===\"source\"){var st=U.evaluate(J,ne,fe,Fe,Qe);return this._calculate(st,st,st,J)}else return U.kind===\"composite\"?this._calculate(U.evaluate({zoom:Math.floor(J.zoom)-1},ne,fe),U.evaluate({zoom:Math.floor(J.zoom)},ne,fe),U.evaluate({zoom:Math.floor(J.zoom)+1},ne,fe),J):U.value},y.prototype._calculate=function(U,J,ne,fe){var Fe=fe.zoom;return Fe>fe.zoomHistory.lastIntegerZoom?{from:U,to:J}:{from:ne,to:J}},y.prototype.interpolate=function(U){return U},y}(Er),wi=function(y){this.specification=y};wi.prototype.possiblyEvaluate=function(y,I,U,J){if(y.value!==void 0)if(y.expression.kind===\"constant\"){var ne=y.expression.evaluate(I,null,{},U,J);return this._calculate(ne,ne,ne,I)}else return this._calculate(y.expression.evaluate(new pn(Math.floor(I.zoom-1),I)),y.expression.evaluate(new pn(Math.floor(I.zoom),I)),y.expression.evaluate(new pn(Math.floor(I.zoom+1),I)),I)},wi.prototype._calculate=function(y,I,U,J){var ne=J.zoom;return ne>J.zoomHistory.lastIntegerZoom?{from:y,to:I}:{from:U,to:I}},wi.prototype.interpolate=function(y){return y};var Ui=function(y){this.specification=y};Ui.prototype.possiblyEvaluate=function(y,I,U,J){return!!y.expression.evaluate(I,null,{},U,J)},Ui.prototype.interpolate=function(){return!1};var Oi=function(y){this.properties=y,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(var I in y){var U=y[I];U.specification.overridable&&this.overridableProperties.push(I);var J=this.defaultPropertyValues[I]=new za(U,void 0),ne=this.defaultTransitionablePropertyValues[I]=new Lo(U);this.defaultTransitioningPropertyValues[I]=ne.untransitioned(),this.defaultPossiblyEvaluatedValues[I]=J.possiblyEvaluate({})}};Z(\"DataDrivenProperty\",Er),Z(\"DataConstantProperty\",At),Z(\"CrossFadedDataDrivenProperty\",Wr),Z(\"CrossFadedProperty\",wi),Z(\"ColorRampProperty\",Ui);var Bi=\"-transition\",cn=function(m){function y(I,U){if(m.call(this),this.id=I.id,this.type=I.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},I.type!==\"custom\"&&(I=I,this.metadata=I.metadata,this.minzoom=I.minzoom,this.maxzoom=I.maxzoom,I.type!==\"background\"&&(this.source=I.source,this.sourceLayer=I[\"source-layer\"],this.filter=I.filter),U.layout&&(this._unevaluatedLayout=new fu(U.layout)),U.paint)){this._transitionablePaint=new Fo(U.paint);for(var J in I.paint)this.setPaintProperty(J,I.paint[J],{validate:!1});for(var ne in I.layout)this.setLayoutProperty(ne,I.layout[ne],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new xc(U.paint)}}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},y.prototype.getLayoutProperty=function(U){return U===\"visibility\"?this.visibility:this._unevaluatedLayout.getValue(U)},y.prototype.setLayoutProperty=function(U,J,ne){if(ne===void 0&&(ne={}),J!=null){var fe=\"layers.\"+this.id+\".layout.\"+U;if(this._validate(Hl,fe,U,J,ne))return}if(U===\"visibility\"){this.visibility=J;return}this._unevaluatedLayout.setValue(U,J)},y.prototype.getPaintProperty=function(U){return V(U,Bi)?this._transitionablePaint.getTransition(U.slice(0,-Bi.length)):this._transitionablePaint.getValue(U)},y.prototype.setPaintProperty=function(U,J,ne){if(ne===void 0&&(ne={}),J!=null){var fe=\"layers.\"+this.id+\".paint.\"+U;if(this._validate(_l,fe,U,J,ne))return!1}if(V(U,Bi))return this._transitionablePaint.setTransition(U.slice(0,-Bi.length),J||void 0),!1;var Fe=this._transitionablePaint._values[U],Qe=Fe.property.specification[\"property-type\"]===\"cross-faded-data-driven\",st=Fe.value.isDataDriven(),mt=Fe.value;this._transitionablePaint.setValue(U,J),this._handleSpecialPaintPropertyUpdate(U);var Xt=this._transitionablePaint._values[U].value,ur=Xt.isDataDriven();return ur||st||Qe||this._handleOverridablePaintPropertyUpdate(U,mt,Xt)},y.prototype._handleSpecialPaintPropertyUpdate=function(U){},y.prototype._handleOverridablePaintPropertyUpdate=function(U,J,ne){return!1},y.prototype.isHidden=function(U){return this.minzoom&&U<this.minzoom||this.maxzoom&&U>=this.maxzoom?!0:this.visibility===\"none\"},y.prototype.updateTransitions=function(U){this._transitioningPaint=this._transitionablePaint.transitioned(U,this._transitioningPaint)},y.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},y.prototype.recalculate=function(U,J){U.getCrossfadeParameters&&(this._crossfadeParameters=U.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(U,void 0,J)),this.paint=this._transitioningPaint.possiblyEvaluate(U,void 0,J)},y.prototype.serialize=function(){var U={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&&(U.layout=U.layout||{},U.layout.visibility=this.visibility),X(U,function(J,ne){return J!==void 0&&!(ne===\"layout\"&&!Object.keys(J).length)&&!(ne===\"paint\"&&!Object.keys(J).length)})},y.prototype._validate=function(U,J,ne,fe,Fe){return Fe===void 0&&(Fe={}),Fe&&Fe.validate===!1?!1:Zu(this,U.call(yo,{key:J,layerType:this.type,objectKey:ne,value:fe,styleSpec:on,style:{glyphs:!0,sprite:!0}}))},y.prototype.is3D=function(){return!1},y.prototype.isTileClipped=function(){return!1},y.prototype.hasOffscreenPass=function(){return!1},y.prototype.resize=function(){},y.prototype.isStateDependent=function(){for(var U in this.paint._values){var J=this.paint.get(U);if(!(!(J instanceof dl)||!Gs(J.property.specification))&&(J.value.kind===\"source\"||J.value.kind===\"composite\")&&J.value.isStateDependent)return!0}return!1},y}(Sn),On={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Bn=function(y,I){this._structArray=y,this._pos1=I*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},yn=128,to=5,Rn=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};Rn.serialize=function(y,I){return y._trim(),I&&(y.isTransferred=!0,I.push(y.arrayBuffer)),{length:y.length,arrayBuffer:y.arrayBuffer}},Rn.deserialize=function(y){var I=Object.create(this.prototype);return I.arrayBuffer=y.arrayBuffer,I.length=y.length,I.capacity=y.arrayBuffer.byteLength/I.bytesPerElement,I._refreshViews(),I},Rn.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Rn.prototype.clear=function(){this.length=0},Rn.prototype.resize=function(y){this.reserve(y),this.length=y},Rn.prototype.reserve=function(y){if(y>this.capacity){this.capacity=Math.max(y,Math.floor(this.capacity*to),yn),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var I=this.uint8;this._refreshViews(),I&&this.uint8.set(I)}},Rn.prototype._refreshViews=function(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")};function Dn(m,y){y===void 0&&(y=1);var I=0,U=0,J=m.map(function(fe){var Fe=fn(fe.type),Qe=I=Ai(I,Math.max(y,Fe)),st=fe.components||1;return U=Math.max(U,Fe),I+=Fe*st,{name:fe.name,type:fe.type,components:st,offset:Qe}}),ne=Ai(I,Math.max(U,y));return{members:J,size:ne,alignment:y}}function fn(m){return On[m].BYTES_PER_ELEMENT}function Ai(m,y){return Math.ceil(m/y)*y}var ji=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.int16[fe+0]=J,this.int16[fe+1]=ne,U},y}(Rn);ji.prototype.bytesPerElement=4,Z(\"StructArrayLayout2i4\",ji);var Ln=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*4;return this.int16[Qe+0]=J,this.int16[Qe+1]=ne,this.int16[Qe+2]=fe,this.int16[Qe+3]=Fe,U},y}(Rn);Ln.prototype.bytesPerElement=8,Z(\"StructArrayLayout4i8\",Ln);var Un=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*6;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.int16[mt+2]=fe,this.int16[mt+3]=Fe,this.int16[mt+4]=Qe,this.int16[mt+5]=st,U},y}(Rn);Un.prototype.bytesPerElement=12,Z(\"StructArrayLayout2i4i12\",Un);var gn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*4,Xt=U*8;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.uint8[Xt+4]=fe,this.uint8[Xt+5]=Fe,this.uint8[Xt+6]=Qe,this.uint8[Xt+7]=st,U},y}(Rn);gn.prototype.bytesPerElement=8,Z(\"StructArrayLayout2i4ub8\",gn);var ca=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.float32[fe+0]=J,this.float32[fe+1]=ne,U},y}(Rn);ca.prototype.bytesPerElement=8,Z(\"StructArrayLayout2f8\",ca);var Kn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){var nr=this.length;return this.resize(nr+1),this.emplace(nr,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr){var Lr=U*10;return this.uint16[Lr+0]=J,this.uint16[Lr+1]=ne,this.uint16[Lr+2]=fe,this.uint16[Lr+3]=Fe,this.uint16[Lr+4]=Qe,this.uint16[Lr+5]=st,this.uint16[Lr+6]=mt,this.uint16[Lr+7]=Xt,this.uint16[Lr+8]=ur,this.uint16[Lr+9]=nr,U},y}(Rn);Kn.prototype.bytesPerElement=20,Z(\"StructArrayLayout10ui20\",Kn);var Za=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr){var Yr=this.length;return this.resize(Yr+1),this.emplace(Yr,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr){var _i=U*12;return this.int16[_i+0]=J,this.int16[_i+1]=ne,this.int16[_i+2]=fe,this.int16[_i+3]=Fe,this.uint16[_i+4]=Qe,this.uint16[_i+5]=st,this.uint16[_i+6]=mt,this.uint16[_i+7]=Xt,this.int16[_i+8]=ur,this.int16[_i+9]=nr,this.int16[_i+10]=Lr,this.int16[_i+11]=Yr,U},y}(Rn);Za.prototype.bytesPerElement=24,Z(\"StructArrayLayout4i4ui4i24\",Za);var wn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.float32[Fe+0]=J,this.float32[Fe+1]=ne,this.float32[Fe+2]=fe,U},y}(Rn);wn.prototype.bytesPerElement=12,Z(\"StructArrayLayout3f12\",wn);var vn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.uint32[ne+0]=J,U},y}(Rn);vn.prototype.bytesPerElement=4,Z(\"StructArrayLayout1ul4\",vn);var Aa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.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)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt){var ur=this.length;return this.resize(ur+1),this.emplace(ur,U,J,ne,fe,Fe,Qe,st,mt,Xt)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){var nr=U*10,Lr=U*5;return this.int16[nr+0]=J,this.int16[nr+1]=ne,this.int16[nr+2]=fe,this.int16[nr+3]=Fe,this.int16[nr+4]=Qe,this.int16[nr+5]=st,this.uint32[Lr+3]=mt,this.uint16[nr+8]=Xt,this.uint16[nr+9]=ur,U},y}(Rn);Aa.prototype.bytesPerElement=20,Z(\"StructArrayLayout6i1ul2ui20\",Aa);var aa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*6;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.int16[mt+2]=fe,this.int16[mt+3]=Fe,this.int16[mt+4]=Qe,this.int16[mt+5]=st,U},y}(Rn);aa.prototype.bytesPerElement=12,Z(\"StructArrayLayout2i2i2i12\",aa);var Xn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe){var Qe=this.length;return this.resize(Qe+1),this.emplace(Qe,U,J,ne,fe,Fe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe){var st=U*4,mt=U*8;return this.float32[st+0]=J,this.float32[st+1]=ne,this.float32[st+2]=fe,this.int16[mt+6]=Fe,this.int16[mt+7]=Qe,U},y}(Rn);Xn.prototype.bytesPerElement=16,Z(\"StructArrayLayout2f1f2i16\",Xn);var Vn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*12,st=U*3;return this.uint8[Qe+0]=J,this.uint8[Qe+1]=ne,this.float32[st+1]=fe,this.float32[st+2]=Fe,U},y}(Rn);Vn.prototype.bytesPerElement=12,Z(\"StructArrayLayout2ub2f12\",Vn);var ma=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.uint16[Fe+0]=J,this.uint16[Fe+1]=ne,this.uint16[Fe+2]=fe,U},y}(Rn);ma.prototype.bytesPerElement=6,Z(\"StructArrayLayout3ui6\",ma);var ro=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.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)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei){var Vi=this.length;return this.resize(Vi+1),this.emplace(Vi,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi){var en=U*24,An=U*12,ra=U*48;return this.int16[en+0]=J,this.int16[en+1]=ne,this.uint16[en+2]=fe,this.uint16[en+3]=Fe,this.uint32[An+2]=Qe,this.uint32[An+3]=st,this.uint32[An+4]=mt,this.uint16[en+10]=Xt,this.uint16[en+11]=ur,this.uint16[en+12]=nr,this.float32[An+7]=Lr,this.float32[An+8]=Yr,this.uint8[ra+36]=_i,this.uint8[ra+37]=si,this.uint8[ra+38]=Hi,this.uint32[An+10]=Ei,this.int16[en+22]=Vi,U},y}(Rn);ro.prototype.bytesPerElement=48,Z(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",ro);var Ao=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.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)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,_a,Pa,qo,Na,ja){var us=this.length;return this.resize(us+1),this.emplace(us,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,_a,Pa,qo,Na,ja)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,_a,Pa,qo,Na,ja,us){var zo=U*34,rl=U*17;return this.int16[zo+0]=J,this.int16[zo+1]=ne,this.int16[zo+2]=fe,this.int16[zo+3]=Fe,this.int16[zo+4]=Qe,this.int16[zo+5]=st,this.int16[zo+6]=mt,this.int16[zo+7]=Xt,this.uint16[zo+8]=ur,this.uint16[zo+9]=nr,this.uint16[zo+10]=Lr,this.uint16[zo+11]=Yr,this.uint16[zo+12]=_i,this.uint16[zo+13]=si,this.uint16[zo+14]=Hi,this.uint16[zo+15]=Ei,this.uint16[zo+16]=Vi,this.uint16[zo+17]=en,this.uint16[zo+18]=An,this.uint16[zo+19]=ra,this.uint16[zo+20]=$n,this.uint16[zo+21]=Ba,this.uint16[zo+22]=_a,this.uint32[rl+12]=Pa,this.float32[rl+13]=qo,this.float32[rl+14]=Na,this.float32[rl+15]=ja,this.float32[rl+16]=us,U},y}(Rn);Ao.prototype.bytesPerElement=68,Z(\"StructArrayLayout8i15ui1ul4f68\",Ao);var Jn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.float32[ne+0]=J,U},y}(Rn);Jn.prototype.bytesPerElement=4,Z(\"StructArrayLayout1f4\",Jn);var Oa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.int16[Fe+0]=J,this.int16[Fe+1]=ne,this.int16[Fe+2]=fe,U},y}(Rn);Oa.prototype.bytesPerElement=6,Z(\"StructArrayLayout3i6\",Oa);var _o=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*2,Qe=U*4;return this.uint32[Fe+0]=J,this.uint16[Qe+2]=ne,this.uint16[Qe+3]=fe,U},y}(Rn);_o.prototype.bytesPerElement=8,Z(\"StructArrayLayout1ul2ui8\",_o);var Po=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.uint16[fe+0]=J,this.uint16[fe+1]=ne,U},y}(Rn);Po.prototype.bytesPerElement=4,Z(\"StructArrayLayout2ui4\",Po);var Jo=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.uint16[ne+0]=J,U},y}(Rn);Jo.prototype.bytesPerElement=2,Z(\"StructArrayLayout1ui2\",Jo);var Yl=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*4;return this.float32[Qe+0]=J,this.float32[Qe+1]=ne,this.float32[Qe+2]=fe,this.float32[Qe+3]=Fe,U},y}(Rn);Yl.prototype.bytesPerElement=16,Z(\"StructArrayLayout4f16\",Yl);var $c=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={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 I.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},I.x1.get=function(){return this._structArray.int16[this._pos2+2]},I.y1.get=function(){return this._structArray.int16[this._pos2+3]},I.x2.get=function(){return this._structArray.int16[this._pos2+4]},I.y2.get=function(){return this._structArray.int16[this._pos2+5]},I.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},I.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},I.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},I.anchorPoint.get=function(){return new u(this.anchorPointX,this.anchorPointY)},Object.defineProperties(y.prototype,I),y}(Bn);$c.prototype.size=20;var xs=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new $c(this,U)},y}(Aa);Z(\"CollisionBoxArray\",xs);var Qc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={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 I.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},I.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},I.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},I.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},I.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},I.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},I.segment.get=function(){return this._structArray.uint16[this._pos2+10]},I.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},I.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},I.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},I.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},I.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},I.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},I.placedOrientation.set=function(U){this._structArray.uint8[this._pos1+37]=U},I.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},I.hidden.set=function(U){this._structArray.uint8[this._pos1+38]=U},I.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},I.crossTileID.set=function(U){this._structArray.uint32[this._pos4+10]=U},I.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(y.prototype,I),y}(Bn);Qc.prototype.size=48;var El=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new Qc(this,U)},y}(ro);Z(\"PlacedSymbolArray\",El);var bc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={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 I.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},I.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},I.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},I.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},I.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},I.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},I.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},I.key.get=function(){return this._structArray.uint16[this._pos2+8]},I.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},I.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},I.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},I.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},I.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},I.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},I.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},I.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},I.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},I.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},I.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},I.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},I.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},I.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},I.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},I.crossTileID.set=function(U){this._structArray.uint32[this._pos4+12]=U},I.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},I.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},I.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},I.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(y.prototype,I),y}(Bn);bc.prototype.size=68;var wc=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new bc(this,U)},y}(Ao);Z(\"SymbolInstanceArray\",wc);var yf=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getoffsetX=function(U){return this.float32[U*1+0]},y}(Jn);Z(\"GlyphOffsetArray\",yf);var Gl=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getx=function(U){return this.int16[U*3+0]},y.prototype.gety=function(U){return this.int16[U*3+1]},y.prototype.gettileUnitDistanceFromAnchor=function(U){return this.int16[U*3+2]},y}(Oa);Z(\"SymbolLineVertexArray\",Gl);var Fc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return I.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},I.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},I.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(y.prototype,I),y}(Bn);Fc.prototype.size=8;var ef=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new Fc(this,U)},y}(_o);Z(\"FeatureIndexArray\",ef);var ls=Dn([{name:\"a_pos\",components:2,type:\"Int16\"}],4),_f=ls.members,ns=function(y){y===void 0&&(y=[]),this.segments=y};ns.prototype.prepareSegment=function(y,I,U,J){var ne=this.segments[this.segments.length-1];return y>ns.MAX_VERTEX_ARRAY_LENGTH&&re(\"Max vertices per segment is \"+ns.MAX_VERTEX_ARRAY_LENGTH+\": bucket requested \"+y),(!ne||ne.vertexLength+y>ns.MAX_VERTEX_ARRAY_LENGTH||ne.sortKey!==J)&&(ne={vertexOffset:I.length,primitiveOffset:U.length,vertexLength:0,primitiveLength:0},J!==void 0&&(ne.sortKey=J),this.segments.push(ne)),ne},ns.prototype.get=function(){return this.segments},ns.prototype.destroy=function(){for(var y=0,I=this.segments;y<I.length;y+=1){var U=I[y];for(var J in U.vaos)U.vaos[J].destroy()}},ns.simpleSegment=function(y,I,U,J){return new ns([{vertexOffset:y,primitiveOffset:I,vertexLength:U,primitiveLength:J,vaos:{},sortKey:0}])},ns.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Z(\"SegmentVector\",ns);function Y(m,y){return m=p(Math.floor(m),0,255),y=p(Math.floor(y),0,255),256*m+y}var z=Dn([{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\"}]),K=a(function(m){function y(I,U){var J,ne,fe,Fe,Qe,st,mt,Xt;for(J=I.length&3,ne=I.length-J,fe=U,Qe=3432918353,st=461845907,Xt=0;Xt<ne;)mt=I.charCodeAt(Xt)&255|(I.charCodeAt(++Xt)&255)<<8|(I.charCodeAt(++Xt)&255)<<16|(I.charCodeAt(++Xt)&255)<<24,++Xt,mt=(mt&65535)*Qe+(((mt>>>16)*Qe&65535)<<16)&4294967295,mt=mt<<15|mt>>>17,mt=(mt&65535)*st+(((mt>>>16)*st&65535)<<16)&4294967295,fe^=mt,fe=fe<<13|fe>>>19,Fe=(fe&65535)*5+(((fe>>>16)*5&65535)<<16)&4294967295,fe=(Fe&65535)+27492+(((Fe>>>16)+58964&65535)<<16);switch(mt=0,J){case 3:mt^=(I.charCodeAt(Xt+2)&255)<<16;case 2:mt^=(I.charCodeAt(Xt+1)&255)<<8;case 1:mt^=I.charCodeAt(Xt)&255,mt=(mt&65535)*Qe+(((mt>>>16)*Qe&65535)<<16)&4294967295,mt=mt<<15|mt>>>17,mt=(mt&65535)*st+(((mt>>>16)*st&65535)<<16)&4294967295,fe^=mt}return fe^=I.length,fe^=fe>>>16,fe=(fe&65535)*2246822507+(((fe>>>16)*2246822507&65535)<<16)&4294967295,fe^=fe>>>13,fe=(fe&65535)*3266489909+(((fe>>>16)*3266489909&65535)<<16)&4294967295,fe^=fe>>>16,fe>>>0}m.exports=y}),O=a(function(m){function y(I,U){for(var J=I.length,ne=U^J,fe=0,Fe;J>=4;)Fe=I.charCodeAt(fe)&255|(I.charCodeAt(++fe)&255)<<8|(I.charCodeAt(++fe)&255)<<16|(I.charCodeAt(++fe)&255)<<24,Fe=(Fe&65535)*1540483477+(((Fe>>>16)*1540483477&65535)<<16),Fe^=Fe>>>24,Fe=(Fe&65535)*1540483477+(((Fe>>>16)*1540483477&65535)<<16),ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16)^Fe,J-=4,++fe;switch(J){case 3:ne^=(I.charCodeAt(fe+2)&255)<<16;case 2:ne^=(I.charCodeAt(fe+1)&255)<<8;case 1:ne^=I.charCodeAt(fe)&255,ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16)}return ne^=ne>>>13,ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16),ne^=ne>>>15,ne>>>0}m.exports=y}),$=K,pe=K,de=O;$.murmur3=pe,$.murmur2=de;var Ie=function(){this.ids=[],this.positions=[],this.indexed=!1};Ie.prototype.add=function(y,I,U,J){this.ids.push(pt(y)),this.positions.push(I,U,J)},Ie.prototype.getPositions=function(y){for(var I=pt(y),U=0,J=this.ids.length-1;U<J;){var ne=U+J>>1;this.ids[ne]>=I?J=ne:U=ne+1}for(var fe=[];this.ids[U]===I;){var Fe=this.positions[3*U],Qe=this.positions[3*U+1],st=this.positions[3*U+2];fe.push({index:Fe,start:Qe,end:st}),U++}return fe},Ie.serialize=function(y,I){var U=new Float64Array(y.ids),J=new Uint32Array(y.positions);return Kt(U,J,0,U.length-1),I&&I.push(U.buffer,J.buffer),{ids:U,positions:J}},Ie.deserialize=function(y){var I=new Ie;return I.ids=y.ids,I.positions=y.positions,I.indexed=!0,I};var $e=Math.pow(2,53)-1;function pt(m){var y=+m;return!isNaN(y)&&y<=$e?y:$(String(m))}function Kt(m,y,I,U){for(;I<U;){for(var J=m[I+U>>1],ne=I-1,fe=U+1;;){do ne++;while(m[ne]<J);do fe--;while(m[fe]>J);if(ne>=fe)break;ir(m,ne,fe),ir(y,3*ne,3*fe),ir(y,3*ne+1,3*fe+1),ir(y,3*ne+2,3*fe+2)}fe-I<U-fe?(Kt(m,y,I,fe),I=fe+1):(Kt(m,y,fe+1,U),U=fe)}}function ir(m,y,I){var U=m[y];m[y]=m[I],m[I]=U}Z(\"FeaturePositionMap\",Ie);var Jt=function(y,I){this.gl=y.gl,this.location=I},vt=function(m){function y(I,U){m.call(this,I,U),this.current=0}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){this.current!==U&&(this.current=U,this.gl.uniform1i(this.location,U))},y}(Jt),Pt=function(m){function y(I,U){m.call(this,I,U),this.current=0}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){this.current!==U&&(this.current=U,this.gl.uniform1f(this.location,U))},y}(Jt),Wt=function(m){function y(I,U){m.call(this,I,U),this.current=[0,0]}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){(U[0]!==this.current[0]||U[1]!==this.current[1])&&(this.current=U,this.gl.uniform2f(this.location,U[0],U[1]))},y}(Jt),rr=function(m){function y(I,U){m.call(this,I,U),this.current=[0,0,0]}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){(U[0]!==this.current[0]||U[1]!==this.current[1]||U[2]!==this.current[2])&&(this.current=U,this.gl.uniform3f(this.location,U[0],U[1],U[2]))},y}(Jt),dr=function(m){function y(I,U){m.call(this,I,U),this.current=[0,0,0,0]}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){(U[0]!==this.current[0]||U[1]!==this.current[1]||U[2]!==this.current[2]||U[3]!==this.current[3])&&(this.current=U,this.gl.uniform4f(this.location,U[0],U[1],U[2],U[3]))},y}(Jt),pr=function(m){function y(I,U){m.call(this,I,U),this.current=ss.transparent}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){(U.r!==this.current.r||U.g!==this.current.g||U.b!==this.current.b||U.a!==this.current.a)&&(this.current=U,this.gl.uniform4f(this.location,U.r,U.g,U.b,U.a))},y}(Jt),kr=new Float32Array(16),Ar=function(m){function y(I,U){m.call(this,I,U),this.current=kr}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.set=function(U){if(U[12]!==this.current[12]||U[0]!==this.current[0]){this.current=U,this.gl.uniformMatrix4fv(this.location,!1,U);return}for(var J=1;J<16;J++)if(U[J]!==this.current[J]){this.current=U,this.gl.uniformMatrix4fv(this.location,!1,U);break}},y}(Jt);function gr(m){return[Y(255*m.r,255*m.g),Y(255*m.b,255*m.a)]}var Cr=function(y,I,U){this.value=y,this.uniformNames=I.map(function(J){return\"u_\"+J}),this.type=U};Cr.prototype.setUniform=function(y,I,U){y.set(U.constantOr(this.value))},Cr.prototype.getBinding=function(y,I,U){return this.type===\"color\"?new pr(y,I):new Pt(y,I)};var cr=function(y,I){this.uniformNames=I.map(function(U){return\"u_\"+U}),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1};cr.prototype.setConstantPatternPositions=function(y,I){this.pixelRatioFrom=I.pixelRatio,this.pixelRatioTo=y.pixelRatio,this.patternFrom=I.tlbr,this.patternTo=y.tlbr},cr.prototype.setUniform=function(y,I,U,J){var ne=J===\"u_pattern_to\"?this.patternTo:J===\"u_pattern_from\"?this.patternFrom:J===\"u_pixel_ratio_to\"?this.pixelRatioTo:J===\"u_pixel_ratio_from\"?this.pixelRatioFrom:null;ne&&y.set(ne)},cr.prototype.getBinding=function(y,I,U){return U.substr(0,9)===\"u_pattern\"?new dr(y,I):new Pt(y,I)};var Gr=function(y,I,U,J){this.expression=y,this.type=U,this.maxValue=0,this.paintVertexAttributes=I.map(function(ne){return{name:\"a_\"+ne,type:\"Float32\",components:U===\"color\"?2:1,offset:0}}),this.paintVertexArray=new J};Gr.prototype.populatePaintArray=function(y,I,U,J,ne){var fe=this.paintVertexArray.length,Fe=this.expression.evaluate(new pn(0),I,{},J,[],ne);this.paintVertexArray.resize(y),this._setPaintValue(fe,y,Fe)},Gr.prototype.updatePaintArray=function(y,I,U,J){var ne=this.expression.evaluate({zoom:0},U,J);this._setPaintValue(y,I,ne)},Gr.prototype._setPaintValue=function(y,I,U){if(this.type===\"color\")for(var J=gr(U),ne=y;ne<I;ne++)this.paintVertexArray.emplace(ne,J[0],J[1]);else{for(var fe=y;fe<I;fe++)this.paintVertexArray.emplace(fe,U);this.maxValue=Math.max(this.maxValue,Math.abs(U))}},Gr.prototype.upload=function(y){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=y.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},Gr.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()};var ei=function(y,I,U,J,ne,fe){this.expression=y,this.uniformNames=I.map(function(Fe){return\"u_\"+Fe+\"_t\"}),this.type=U,this.useIntegerZoom=J,this.zoom=ne,this.maxValue=0,this.paintVertexAttributes=I.map(function(Fe){return{name:\"a_\"+Fe,type:\"Float32\",components:U===\"color\"?4:2,offset:0}}),this.paintVertexArray=new fe};ei.prototype.populatePaintArray=function(y,I,U,J,ne){var fe=this.expression.evaluate(new pn(this.zoom),I,{},J,[],ne),Fe=this.expression.evaluate(new pn(this.zoom+1),I,{},J,[],ne),Qe=this.paintVertexArray.length;this.paintVertexArray.resize(y),this._setPaintValue(Qe,y,fe,Fe)},ei.prototype.updatePaintArray=function(y,I,U,J){var ne=this.expression.evaluate({zoom:this.zoom},U,J),fe=this.expression.evaluate({zoom:this.zoom+1},U,J);this._setPaintValue(y,I,ne,fe)},ei.prototype._setPaintValue=function(y,I,U,J){if(this.type===\"color\")for(var ne=gr(U),fe=gr(J),Fe=y;Fe<I;Fe++)this.paintVertexArray.emplace(Fe,ne[0],ne[1],fe[0],fe[1]);else{for(var Qe=y;Qe<I;Qe++)this.paintVertexArray.emplace(Qe,U,J);this.maxValue=Math.max(this.maxValue,Math.abs(U),Math.abs(J))}},ei.prototype.upload=function(y){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=y.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},ei.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},ei.prototype.setUniform=function(y,I){var U=this.useIntegerZoom?Math.floor(I.zoom):I.zoom,J=p(this.expression.interpolationFactor(U,this.zoom,this.zoom+1),0,1);y.set(J)},ei.prototype.getBinding=function(y,I,U){return new Pt(y,I)};var yi=function(y,I,U,J,ne,fe){this.expression=y,this.type=I,this.useIntegerZoom=U,this.zoom=J,this.layerId=fe,this.zoomInPaintVertexArray=new ne,this.zoomOutPaintVertexArray=new ne};yi.prototype.populatePaintArray=function(y,I,U){var J=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(y),this.zoomOutPaintVertexArray.resize(y),this._setPaintValues(J,y,I.patterns&&I.patterns[this.layerId],U)},yi.prototype.updatePaintArray=function(y,I,U,J,ne){this._setPaintValues(y,I,U.patterns&&U.patterns[this.layerId],ne)},yi.prototype._setPaintValues=function(y,I,U,J){if(!(!J||!U)){var ne=U.min,fe=U.mid,Fe=U.max,Qe=J[ne],st=J[fe],mt=J[Fe];if(!(!Qe||!st||!mt))for(var Xt=y;Xt<I;Xt++)this.zoomInPaintVertexArray.emplace(Xt,st.tl[0],st.tl[1],st.br[0],st.br[1],Qe.tl[0],Qe.tl[1],Qe.br[0],Qe.br[1],st.pixelRatio,Qe.pixelRatio),this.zoomOutPaintVertexArray.emplace(Xt,st.tl[0],st.tl[1],st.br[0],st.br[1],mt.tl[0],mt.tl[1],mt.br[0],mt.br[1],st.pixelRatio,mt.pixelRatio)}},yi.prototype.upload=function(y){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=y.createVertexBuffer(this.zoomInPaintVertexArray,z.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=y.createVertexBuffer(this.zoomOutPaintVertexArray,z.members,this.expression.isStateDependent))},yi.prototype.destroy=function(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()};var tn=function(y,I,U){this.binders={},this._buffers=[];var J=[];for(var ne in y.paint._values)if(U(ne)){var fe=y.paint.get(ne);if(!(!(fe instanceof dl)||!Gs(fe.property.specification))){var Fe=ln(ne,y.type),Qe=fe.value,st=fe.property.specification.type,mt=fe.property.useIntegerZoom,Xt=fe.property.specification[\"property-type\"],ur=Xt===\"cross-faded\"||Xt===\"cross-faded-data-driven\";if(Qe.kind===\"constant\")this.binders[ne]=ur?new cr(Qe.value,Fe):new Cr(Qe.value,Fe,st),J.push(\"/u_\"+ne);else if(Qe.kind===\"source\"||ur){var nr=qn(ne,st,\"source\");this.binders[ne]=ur?new yi(Qe,st,mt,I,nr,y.id):new Gr(Qe,Fe,st,nr),J.push(\"/a_\"+ne)}else{var Lr=qn(ne,st,\"composite\");this.binders[ne]=new ei(Qe,Fe,st,mt,I,Lr),J.push(\"/z_\"+ne)}}}this.cacheKey=J.sort().join(\"\")};tn.prototype.getMaxValue=function(y){var I=this.binders[y];return I instanceof Gr||I instanceof ei?I.maxValue:0},tn.prototype.populatePaintArrays=function(y,I,U,J,ne){for(var fe in this.binders){var Fe=this.binders[fe];(Fe instanceof Gr||Fe instanceof ei||Fe instanceof yi)&&Fe.populatePaintArray(y,I,U,J,ne)}},tn.prototype.setConstantPatternPositions=function(y,I){for(var U in this.binders){var J=this.binders[U];J instanceof cr&&J.setConstantPatternPositions(y,I)}},tn.prototype.updatePaintArrays=function(y,I,U,J,ne){var fe=!1;for(var Fe in y)for(var Qe=I.getPositions(Fe),st=0,mt=Qe;st<mt.length;st+=1){var Xt=mt[st],ur=U.feature(Xt.index);for(var nr in this.binders){var Lr=this.binders[nr];if((Lr instanceof Gr||Lr instanceof ei||Lr instanceof yi)&&Lr.expression.isStateDependent===!0){var Yr=J.paint.get(nr);Lr.expression=Yr.value,Lr.updatePaintArray(Xt.start,Xt.end,ur,y[Fe],ne),fe=!0}}}return fe},tn.prototype.defines=function(){var y=[];for(var I in this.binders){var U=this.binders[I];(U instanceof Cr||U instanceof cr)&&y.push.apply(y,U.uniformNames.map(function(J){return\"#define HAS_UNIFORM_\"+J}))}return y},tn.prototype.getBinderAttributes=function(){var y=[];for(var I in this.binders){var U=this.binders[I];if(U instanceof Gr||U instanceof ei)for(var J=0;J<U.paintVertexAttributes.length;J++)y.push(U.paintVertexAttributes[J].name);else if(U instanceof yi)for(var ne=0;ne<z.members.length;ne++)y.push(z.members[ne].name)}return y},tn.prototype.getBinderUniforms=function(){var y=[];for(var I in this.binders){var U=this.binders[I];if(U instanceof Cr||U instanceof cr||U instanceof ei)for(var J=0,ne=U.uniformNames;J<ne.length;J+=1){var fe=ne[J];y.push(fe)}}return y},tn.prototype.getPaintVertexBuffers=function(){return this._buffers},tn.prototype.getUniforms=function(y,I){var U=[];for(var J in this.binders){var ne=this.binders[J];if(ne instanceof Cr||ne instanceof cr||ne instanceof ei)for(var fe=0,Fe=ne.uniformNames;fe<Fe.length;fe+=1){var Qe=Fe[fe];if(I[Qe]){var st=ne.getBinding(y,I[Qe],Qe);U.push({name:Qe,property:J,binding:st})}}}return U},tn.prototype.setUniforms=function(y,I,U,J){for(var ne=0,fe=I;ne<fe.length;ne+=1){var Fe=fe[ne],Qe=Fe.name,st=Fe.property,mt=Fe.binding;this.binders[st].setUniform(mt,J,U.get(st),Qe)}},tn.prototype.updatePaintBuffers=function(y){this._buffers=[];for(var I in this.binders){var U=this.binders[I];if(y&&U instanceof yi){var J=y.fromScale===2?U.zoomInPaintVertexBuffer:U.zoomOutPaintVertexBuffer;J&&this._buffers.push(J)}else(U instanceof Gr||U instanceof ei)&&U.paintVertexBuffer&&this._buffers.push(U.paintVertexBuffer)}},tn.prototype.upload=function(y){for(var I in this.binders){var U=this.binders[I];(U instanceof Gr||U instanceof ei||U instanceof yi)&&U.upload(y)}this.updatePaintBuffers()},tn.prototype.destroy=function(){for(var y in this.binders){var I=this.binders[y];(I instanceof Gr||I instanceof ei||I instanceof yi)&&I.destroy()}};var Ri=function(y,I,U){U===void 0&&(U=function(){return!0}),this.programConfigurations={};for(var J=0,ne=y;J<ne.length;J+=1){var fe=ne[J];this.programConfigurations[fe.id]=new tn(fe,I,U)}this.needsUpload=!1,this._featureMap=new Ie,this._bufferOffset=0};Ri.prototype.populatePaintArrays=function(y,I,U,J,ne,fe){for(var Fe in this.programConfigurations)this.programConfigurations[Fe].populatePaintArrays(y,I,J,ne,fe);I.id!==void 0&&this._featureMap.add(I.id,U,this._bufferOffset,y),this._bufferOffset=y,this.needsUpload=!0},Ri.prototype.updatePaintArrays=function(y,I,U,J){for(var ne=0,fe=U;ne<fe.length;ne+=1){var Fe=fe[ne];this.needsUpload=this.programConfigurations[Fe.id].updatePaintArrays(y,this._featureMap,I,Fe,J)||this.needsUpload}},Ri.prototype.get=function(y){return this.programConfigurations[y]},Ri.prototype.upload=function(y){if(this.needsUpload){for(var I in this.programConfigurations)this.programConfigurations[I].upload(y);this.needsUpload=!1}},Ri.prototype.destroy=function(){for(var y in this.programConfigurations)this.programConfigurations[y].destroy()};function ln(m,y){var I={\"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\"]};return I[m]||[m.replace(y+\"-\",\"\").replace(/-/g,\"_\")]}function Qn(m){var y={\"line-pattern\":{source:Kn,composite:Kn},\"fill-pattern\":{source:Kn,composite:Kn},\"fill-extrusion-pattern\":{source:Kn,composite:Kn}};return y[m]}function qn(m,y,I){var U={color:{source:ca,composite:Yl},number:{source:Jn,composite:ca}},J=Qn(m);return J&&J[I]||U[y][I]}Z(\"ConstantBinder\",Cr),Z(\"CrossFadedConstantBinder\",cr),Z(\"SourceExpressionBinder\",Gr),Z(\"CrossFadedCompositeBinder\",yi),Z(\"CompositeExpressionBinder\",ei),Z(\"ProgramConfiguration\",tn,{omit:[\"_buffers\"]}),Z(\"ProgramConfigurationSet\",Ri);var rn=8192,bn=15,mn=Math.pow(2,bn-1)-1,Gn=-mn-1;function da(m){for(var y=rn/m.extent,I=m.loadGeometry(),U=0;U<I.length;U++)for(var J=I[U],ne=0;ne<J.length;ne++){var fe=J[ne],Fe=Math.round(fe.x*y),Qe=Math.round(fe.y*y);fe.x=p(Fe,Gn,mn),fe.y=p(Qe,Gn,mn),(Fe<fe.x||Fe>fe.x+1||Qe<fe.y||Qe>fe.y+1)&&re(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return I}function No(m,y){return{type:m.type,id:m.id,properties:m.properties,geometry:y?da(m):[]}}function Do(m,y,I,U,J){m.emplaceBack(y*2+(U+1)/2,I*2+(J+1)/2)}var ps=function(y){this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=y.index,this.hasPattern=!1,this.layoutVertexArray=new ji,this.indexArray=new ma,this.segments=new ns,this.programConfigurations=new Ri(y.layers,y.zoom),this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};ps.prototype.populate=function(y,I,U){var J=this.layers[0],ne=[],fe=null;J.type===\"circle\"&&(fe=J.layout.get(\"circle-sort-key\"));for(var Fe=0,Qe=y;Fe<Qe.length;Fe+=1){var st=Qe[Fe],mt=st.feature,Xt=st.id,ur=st.index,nr=st.sourceLayerIndex,Lr=this.layers[0]._featureFilter.needGeometry,Yr=No(mt,Lr);if(this.layers[0]._featureFilter.filter(new pn(this.zoom),Yr,U)){var _i=fe?fe.evaluate(Yr,{},U):void 0,si={id:Xt,properties:mt.properties,type:mt.type,sourceLayerIndex:nr,index:ur,geometry:Lr?Yr.geometry:da(mt),patterns:{},sortKey:_i};ne.push(si)}}fe&&ne.sort(function(_a,Pa){return _a.sortKey-Pa.sortKey});for(var Hi=0,Ei=ne;Hi<Ei.length;Hi+=1){var Vi=Ei[Hi],en=Vi,An=en.geometry,ra=en.index,$n=en.sourceLayerIndex,Ba=y[ra].feature;this.addFeature(Vi,An,ra,U),I.featureIndex.insert(Ba,An,ra,$n,this.index)}},ps.prototype.update=function(y,I,U){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(y,I,this.stateDependentLayers,U)},ps.prototype.isEmpty=function(){return this.layoutVertexArray.length===0},ps.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},ps.prototype.upload=function(y){this.uploaded||(this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,_f),this.indexBuffer=y.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(y),this.uploaded=!0},ps.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},ps.prototype.addFeature=function(y,I,U,J){for(var ne=0,fe=I;ne<fe.length;ne+=1)for(var Fe=fe[ne],Qe=0,st=Fe;Qe<st.length;Qe+=1){var mt=st[Qe],Xt=mt.x,ur=mt.y;if(!(Xt<0||Xt>=rn||ur<0||ur>=rn)){var nr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,y.sortKey),Lr=nr.vertexLength;Do(this.layoutVertexArray,Xt,ur,-1,-1),Do(this.layoutVertexArray,Xt,ur,1,-1),Do(this.layoutVertexArray,Xt,ur,1,1),Do(this.layoutVertexArray,Xt,ur,-1,1),this.indexArray.emplaceBack(Lr,Lr+1,Lr+2),this.indexArray.emplaceBack(Lr,Lr+3,Lr+2),nr.vertexLength+=4,nr.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,y,U,{},J)},Z(\"CircleBucket\",ps,{omit:[\"layers\"]});function fo(m,y){for(var I=0;I<m.length;I++)if(_d(y,m[I]))return!0;for(var U=0;U<y.length;U++)if(_d(m,y[U]))return!0;return!!Ev(m,y)}function as(m,y,I){return!!(_d(m,y)||Yv(y,m,I))}function tl(m,y){if(m.length===1)return vp(y,m[0]);for(var I=0;I<y.length;I++)for(var U=y[I],J=0;J<U.length;J++)if(_d(m,U[J]))return!0;for(var ne=0;ne<m.length;ne++)if(vp(y,m[ne]))return!0;for(var fe=0;fe<y.length;fe++)if(Ev(m,y[fe]))return!0;return!1}function zu(m,y,I){for(var U=0;U<y.length;U++){var J=y[U];if(m.length>=3){for(var ne=0;ne<J.length;ne++)if(_d(m,J[ne]))return!0}if(Mv(m,J,I))return!0}return!1}function Mv(m,y,I){if(m.length>1){if(Ev(m,y))return!0;for(var U=0;U<y.length;U++)if(Yv(y[U],m,I))return!0}for(var J=0;J<m.length;J++)if(Yv(m[J],y,I))return!0;return!1}function Ev(m,y){if(m.length===0||y.length===0)return!1;for(var I=0;I<m.length-1;I++)for(var U=m[I],J=m[I+1],ne=0;ne<y.length-1;ne++){var fe=y[ne],Fe=y[ne+1];if(yd(U,J,fe,Fe))return!0}return!1}function yd(m,y,I,U){return ae(m,I,U)!==ae(y,I,U)&&ae(m,y,I)!==ae(m,y,U)}function Yv(m,y,I){var U=I*I;if(y.length===1)return m.distSqr(y[0])<U;for(var J=1;J<y.length;J++){var ne=y[J-1],fe=y[J];if(cg(m,ne,fe)<U)return!0}return!1}function cg(m,y,I){var U=y.distSqr(I);if(U===0)return m.distSqr(y);var J=((m.x-y.x)*(I.x-y.x)+(m.y-y.y)*(I.y-y.y))/U;return J<0?m.distSqr(y):J>1?m.distSqr(I):m.distSqr(I.sub(y)._mult(J)._add(y))}function vp(m,y){for(var I=!1,U,J,ne,fe=0;fe<m.length;fe++){U=m[fe];for(var Fe=0,Qe=U.length-1;Fe<U.length;Qe=Fe++)J=U[Fe],ne=U[Qe],J.y>y.y!=ne.y>y.y&&y.x<(ne.x-J.x)*(y.y-J.y)/(ne.y-J.y)+J.x&&(I=!I)}return I}function _d(m,y){for(var I=!1,U=0,J=m.length-1;U<m.length;J=U++){var ne=m[U],fe=m[J];ne.y>y.y!=fe.y>y.y&&y.x<(fe.x-ne.x)*(y.y-ne.y)/(fe.y-ne.y)+ne.x&&(I=!I)}return I}function pp(m,y,I,U,J){for(var ne=0,fe=m;ne<fe.length;ne+=1){var Fe=fe[ne];if(y<=Fe.x&&I<=Fe.y&&U>=Fe.x&&J>=Fe.y)return!0}var Qe=[new u(y,I),new u(y,J),new u(U,J),new u(U,I)];if(m.length>2)for(var st=0,mt=Qe;st<mt.length;st+=1){var Xt=mt[st];if(_d(m,Xt))return!0}for(var ur=0;ur<m.length-1;ur++){var nr=m[ur],Lr=m[ur+1];if(Nd(nr,Lr,Qe))return!0}return!1}function Nd(m,y,I){var U=I[0],J=I[2];if(m.x<U.x&&y.x<U.x||m.x>J.x&&y.x>J.x||m.y<U.y&&y.y<U.y||m.y>J.y&&y.y>J.y)return!1;var ne=ae(m,y,I[0]);return ne!==ae(m,y,I[1])||ne!==ae(m,y,I[2])||ne!==ae(m,y,I[3])}function xd(m,y,I){var U=y.paint.get(m).value;return U.kind===\"constant\"?U.value:I.programConfigurations.get(y.id).getMaxValue(m)}function kv(m){return Math.sqrt(m[0]*m[0]+m[1]*m[1])}function Kv(m,y,I,U,J){if(!y[0]&&!y[1])return m;var ne=u.convert(y)._mult(J);I===\"viewport\"&&ne._rotate(-U);for(var fe=[],Fe=0;Fe<m.length;Fe++){var Qe=m[Fe];fe.push(Qe.sub(ne))}return fe}var Cv=new Oi({\"circle-sort-key\":new Er(on.layout_circle[\"circle-sort-key\"])}),ny=new Oi({\"circle-radius\":new Er(on.paint_circle[\"circle-radius\"]),\"circle-color\":new Er(on.paint_circle[\"circle-color\"]),\"circle-blur\":new Er(on.paint_circle[\"circle-blur\"]),\"circle-opacity\":new Er(on.paint_circle[\"circle-opacity\"]),\"circle-translate\":new At(on.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new At(on.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new At(on.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new At(on.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new Er(on.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new Er(on.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new Er(on.paint_circle[\"circle-stroke-opacity\"])}),fg={paint:ny,layout:Cv},Hf=typeof Float32Array!=\"undefined\"?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var m=arguments,y=0,I=arguments.length;I--;)y+=m[I]*m[I];return Math.sqrt(y)});function hg(){var m=new Hf(4);return Hf!=Float32Array&&(m[1]=0,m[2]=0),m[0]=1,m[3]=1,m}function ay(m,y,I){var U=y[0],J=y[1],ne=y[2],fe=y[3],Fe=Math.sin(I),Qe=Math.cos(I);return m[0]=U*Qe+ne*Fe,m[1]=J*Qe+fe*Fe,m[2]=U*-Fe+ne*Qe,m[3]=J*-Fe+fe*Qe,m}function Rh(){var m=new Hf(9);return Hf!=Float32Array&&(m[1]=0,m[2]=0,m[3]=0,m[5]=0,m[6]=0,m[7]=0),m[0]=1,m[4]=1,m[8]=1,m}function rm(m,y){var I=Math.sin(y),U=Math.cos(y);return m[0]=U,m[1]=I,m[2]=0,m[3]=-I,m[4]=U,m[5]=0,m[6]=0,m[7]=0,m[8]=1,m}function w1(){var m=new Hf(16);return Hf!=Float32Array&&(m[1]=0,m[2]=0,m[3]=0,m[4]=0,m[6]=0,m[7]=0,m[8]=0,m[9]=0,m[11]=0,m[12]=0,m[13]=0,m[14]=0),m[0]=1,m[5]=1,m[10]=1,m[15]=1,m}function T1(m){var y=new Hf(16);return y[0]=m[0],y[1]=m[1],y[2]=m[2],y[3]=m[3],y[4]=m[4],y[5]=m[5],y[6]=m[6],y[7]=m[7],y[8]=m[8],y[9]=m[9],y[10]=m[10],y[11]=m[11],y[12]=m[12],y[13]=m[13],y[14]=m[14],y[15]=m[15],y}function oy(m){return m[0]=1,m[1]=0,m[2]=0,m[3]=0,m[4]=0,m[5]=1,m[6]=0,m[7]=0,m[8]=0,m[9]=0,m[10]=1,m[11]=0,m[12]=0,m[13]=0,m[14]=0,m[15]=1,m}function im(m,y){var I=y[0],U=y[1],J=y[2],ne=y[3],fe=y[4],Fe=y[5],Qe=y[6],st=y[7],mt=y[8],Xt=y[9],ur=y[10],nr=y[11],Lr=y[12],Yr=y[13],_i=y[14],si=y[15],Hi=I*Fe-U*fe,Ei=I*Qe-J*fe,Vi=I*st-ne*fe,en=U*Qe-J*Fe,An=U*st-ne*Fe,ra=J*st-ne*Qe,$n=mt*Yr-Xt*Lr,Ba=mt*_i-ur*Lr,_a=mt*si-nr*Lr,Pa=Xt*_i-ur*Yr,qo=Xt*si-nr*Yr,Na=ur*si-nr*_i,ja=Hi*Na-Ei*qo+Vi*Pa+en*_a-An*Ba+ra*$n;return ja?(ja=1/ja,m[0]=(Fe*Na-Qe*qo+st*Pa)*ja,m[1]=(J*qo-U*Na-ne*Pa)*ja,m[2]=(Yr*ra-_i*An+si*en)*ja,m[3]=(ur*An-Xt*ra-nr*en)*ja,m[4]=(Qe*_a-fe*Na-st*Ba)*ja,m[5]=(I*Na-J*_a+ne*Ba)*ja,m[6]=(_i*Vi-Lr*ra-si*Ei)*ja,m[7]=(mt*ra-ur*Vi+nr*Ei)*ja,m[8]=(fe*qo-Fe*_a+st*$n)*ja,m[9]=(U*_a-I*qo-ne*$n)*ja,m[10]=(Lr*An-Yr*Vi+si*Hi)*ja,m[11]=(Xt*Vi-mt*An-nr*Hi)*ja,m[12]=(Fe*Ba-fe*Pa-Qe*$n)*ja,m[13]=(I*Pa-U*Ba+J*$n)*ja,m[14]=(Yr*Ei-Lr*en-_i*Hi)*ja,m[15]=(mt*en-Xt*Ei+ur*Hi)*ja,m):null}function nm(m,y,I){var U=y[0],J=y[1],ne=y[2],fe=y[3],Fe=y[4],Qe=y[5],st=y[6],mt=y[7],Xt=y[8],ur=y[9],nr=y[10],Lr=y[11],Yr=y[12],_i=y[13],si=y[14],Hi=y[15],Ei=I[0],Vi=I[1],en=I[2],An=I[3];return m[0]=Ei*U+Vi*Fe+en*Xt+An*Yr,m[1]=Ei*J+Vi*Qe+en*ur+An*_i,m[2]=Ei*ne+Vi*st+en*nr+An*si,m[3]=Ei*fe+Vi*mt+en*Lr+An*Hi,Ei=I[4],Vi=I[5],en=I[6],An=I[7],m[4]=Ei*U+Vi*Fe+en*Xt+An*Yr,m[5]=Ei*J+Vi*Qe+en*ur+An*_i,m[6]=Ei*ne+Vi*st+en*nr+An*si,m[7]=Ei*fe+Vi*mt+en*Lr+An*Hi,Ei=I[8],Vi=I[9],en=I[10],An=I[11],m[8]=Ei*U+Vi*Fe+en*Xt+An*Yr,m[9]=Ei*J+Vi*Qe+en*ur+An*_i,m[10]=Ei*ne+Vi*st+en*nr+An*si,m[11]=Ei*fe+Vi*mt+en*Lr+An*Hi,Ei=I[12],Vi=I[13],en=I[14],An=I[15],m[12]=Ei*U+Vi*Fe+en*Xt+An*Yr,m[13]=Ei*J+Vi*Qe+en*ur+An*_i,m[14]=Ei*ne+Vi*st+en*nr+An*si,m[15]=Ei*fe+Vi*mt+en*Lr+An*Hi,m}function Fu(m,y,I){var U=I[0],J=I[1],ne=I[2],fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si;return y===m?(m[12]=y[0]*U+y[4]*J+y[8]*ne+y[12],m[13]=y[1]*U+y[5]*J+y[9]*ne+y[13],m[14]=y[2]*U+y[6]*J+y[10]*ne+y[14],m[15]=y[3]*U+y[7]*J+y[11]*ne+y[15]):(fe=y[0],Fe=y[1],Qe=y[2],st=y[3],mt=y[4],Xt=y[5],ur=y[6],nr=y[7],Lr=y[8],Yr=y[9],_i=y[10],si=y[11],m[0]=fe,m[1]=Fe,m[2]=Qe,m[3]=st,m[4]=mt,m[5]=Xt,m[6]=ur,m[7]=nr,m[8]=Lr,m[9]=Yr,m[10]=_i,m[11]=si,m[12]=fe*U+mt*J+Lr*ne+y[12],m[13]=Fe*U+Xt*J+Yr*ne+y[13],m[14]=Qe*U+ur*J+_i*ne+y[14],m[15]=st*U+nr*J+si*ne+y[15]),m}function kl(m,y,I){var U=I[0],J=I[1],ne=I[2];return m[0]=y[0]*U,m[1]=y[1]*U,m[2]=y[2]*U,m[3]=y[3]*U,m[4]=y[4]*J,m[5]=y[5]*J,m[6]=y[6]*J,m[7]=y[7]*J,m[8]=y[8]*ne,m[9]=y[9]*ne,m[10]=y[10]*ne,m[11]=y[11]*ne,m[12]=y[12],m[13]=y[13],m[14]=y[14],m[15]=y[15],m}function bd(m,y,I){var U=Math.sin(I),J=Math.cos(I),ne=y[4],fe=y[5],Fe=y[6],Qe=y[7],st=y[8],mt=y[9],Xt=y[10],ur=y[11];return y!==m&&(m[0]=y[0],m[1]=y[1],m[2]=y[2],m[3]=y[3],m[12]=y[12],m[13]=y[13],m[14]=y[14],m[15]=y[15]),m[4]=ne*J+st*U,m[5]=fe*J+mt*U,m[6]=Fe*J+Xt*U,m[7]=Qe*J+ur*U,m[8]=st*J-ne*U,m[9]=mt*J-fe*U,m[10]=Xt*J-Fe*U,m[11]=ur*J-Qe*U,m}function sy(m,y,I){var U=Math.sin(I),J=Math.cos(I),ne=y[0],fe=y[1],Fe=y[2],Qe=y[3],st=y[4],mt=y[5],Xt=y[6],ur=y[7];return y!==m&&(m[8]=y[8],m[9]=y[9],m[10]=y[10],m[11]=y[11],m[12]=y[12],m[13]=y[13],m[14]=y[14],m[15]=y[15]),m[0]=ne*J+st*U,m[1]=fe*J+mt*U,m[2]=Fe*J+Xt*U,m[3]=Qe*J+ur*U,m[4]=st*J-ne*U,m[5]=mt*J-fe*U,m[6]=Xt*J-Fe*U,m[7]=ur*J-Qe*U,m}function A1(m,y,I,U,J){var ne=1/Math.tan(y/2),fe;return m[0]=ne/I,m[1]=0,m[2]=0,m[3]=0,m[4]=0,m[5]=ne,m[6]=0,m[7]=0,m[8]=0,m[9]=0,m[11]=-1,m[12]=0,m[13]=0,m[15]=0,J!=null&&J!==1/0?(fe=1/(U-J),m[10]=(J+U)*fe,m[14]=2*J*U*fe):(m[10]=-1,m[14]=-2*U),m}function Kl(m,y,I,U,J,ne,fe){var Fe=1/(y-I),Qe=1/(U-J),st=1/(ne-fe);return m[0]=-2*Fe,m[1]=0,m[2]=0,m[3]=0,m[4]=0,m[5]=-2*Qe,m[6]=0,m[7]=0,m[8]=0,m[9]=0,m[10]=2*st,m[11]=0,m[12]=(y+I)*Fe,m[13]=(J+U)*Qe,m[14]=(fe+ne)*st,m[15]=1,m}var Nx=nm;function am(){var m=new Hf(3);return Hf!=Float32Array&&(m[0]=0,m[1]=0,m[2]=0),m}function Mw(m){var y=new Hf(3);return y[0]=m[0],y[1]=m[1],y[2]=m[2],y}function Lv(m,y,I){return m[0]=y[0]+I[0],m[1]=y[1]+I[1],m[2]=y[2]+I[2],m}function om(m,y,I){return m[0]=y[0]-I[0],m[1]=y[1]-I[1],m[2]=y[2]-I[2],m}function Ew(m,y,I){return m[0]=y[0]*I,m[1]=y[1]*I,m[2]=y[2]*I,m}function Ux(m,y){var I=y[0],U=y[1],J=y[2],ne=I*I+U*U+J*J;return ne>0&&(ne=1/Math.sqrt(ne)),m[0]=y[0]*ne,m[1]=y[1]*ne,m[2]=y[2]*ne,m}function P9(m,y){return m[0]*y[0]+m[1]*y[1]+m[2]*y[2]}function I9(m,y,I){var U=y[0],J=y[1],ne=y[2],fe=I[0],Fe=I[1],Qe=I[2];return m[0]=J*Qe-ne*Fe,m[1]=ne*fe-U*Qe,m[2]=U*Fe-J*fe,m}function R9(m,y,I){var U=y[0],J=y[1],ne=y[2];return m[0]=U*I[0]+J*I[3]+ne*I[6],m[1]=U*I[1]+J*I[4]+ne*I[7],m[2]=U*I[2]+J*I[5]+ne*I[8],m}var D9=om,mQ=function(){var m=am();return function(y,I,U,J,ne,fe){var Fe,Qe;for(I||(I=3),U||(U=0),J?Qe=Math.min(J*I+U,y.length):Qe=y.length,Fe=U;Fe<Qe;Fe+=I)m[0]=y[Fe],m[1]=y[Fe+1],m[2]=y[Fe+2],ne(m,m,fe),y[Fe]=m[0],y[Fe+1]=m[1],y[Fe+2]=m[2];return y}}();function z9(){var m=new Hf(4);return Hf!=Float32Array&&(m[0]=0,m[1]=0,m[2]=0,m[3]=0),m}function F9(m,y,I){return m[0]=y[0]*I,m[1]=y[1]*I,m[2]=y[2]*I,m[3]=y[3]*I,m}function q9(m,y){return m[0]*y[0]+m[1]*y[1]+m[2]*y[2]+m[3]*y[3]}function ly(m,y,I){var U=y[0],J=y[1],ne=y[2],fe=y[3];return m[0]=I[0]*U+I[4]*J+I[8]*ne+I[12]*fe,m[1]=I[1]*U+I[5]*J+I[9]*ne+I[13]*fe,m[2]=I[2]*U+I[6]*J+I[10]*ne+I[14]*fe,m[3]=I[3]*U+I[7]*J+I[11]*ne+I[15]*fe,m}var Vx=function(){var m=z9();return function(y,I,U,J,ne,fe){var Fe,Qe;for(I||(I=4),U||(U=0),J?Qe=Math.min(J*I+U,y.length):Qe=y.length,Fe=U;Fe<Qe;Fe+=I)m[0]=y[Fe],m[1]=y[Fe+1],m[2]=y[Fe+2],m[3]=y[Fe+3],ne(m,m,fe),y[Fe]=m[0],y[Fe+1]=m[1],y[Fe+2]=m[2],y[Fe+3]=m[3];return y}}();function cC(){var m=new Hf(2);return Hf!=Float32Array&&(m[0]=0,m[1]=0),m}function eS(m){var y=m[0],I=m[1];return y*y+I*I}var tS=eS,yQ=function(){var m=cC();return function(y,I,U,J,ne,fe){var Fe,Qe;for(I||(I=2),U||(U=0),J?Qe=Math.min(J*I+U,y.length):Qe=y.length,Fe=U;Fe<Qe;Fe+=I)m[0]=y[Fe],m[1]=y[Fe+1],ne(m,m,fe),y[Fe]=m[0],y[Fe+1]=m[1];return y}}(),O9=function(m){function y(I){m.call(this,I,fg)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.createBucket=function(U){return new ps(U)},y.prototype.queryRadius=function(U){var J=U;return xd(\"circle-radius\",this,J)+xd(\"circle-stroke-width\",this,J)+kv(this.paint.get(\"circle-translate\"))},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st,mt){for(var Xt=Kv(U,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),Qe.angle,st),ur=this.paint.get(\"circle-radius\").evaluate(J,ne),nr=this.paint.get(\"circle-stroke-width\").evaluate(J,ne),Lr=ur+nr,Yr=this.paint.get(\"circle-pitch-alignment\")===\"map\",_i=Yr?Xt:hC(Xt,mt),si=Yr?Lr*st:Lr,Hi=0,Ei=fe;Hi<Ei.length;Hi+=1)for(var Vi=Ei[Hi],en=0,An=Vi;en<An.length;en+=1){var ra=An[en],$n=Yr?ra:fC(ra,mt),Ba=si,_a=ly([],[ra.x,ra.y,0,1],mt);if(this.paint.get(\"circle-pitch-scale\")===\"viewport\"&&this.paint.get(\"circle-pitch-alignment\")===\"map\"?Ba*=_a[3]/Qe.cameraToCenterDistance:this.paint.get(\"circle-pitch-scale\")===\"map\"&&this.paint.get(\"circle-pitch-alignment\")===\"viewport\"&&(Ba*=Qe.cameraToCenterDistance/_a[3]),as(_i,$n,Ba))return!0}return!1},y}(cn);function fC(m,y){var I=ly([],[m.x,m.y,0,1],y);return new u(I[0]/I[3],I[1]/I[3])}function hC(m,y){return m.map(function(I){return fC(I,y)})}var rS=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(ps);Z(\"HeatmapBucket\",rS,{omit:[\"layers\"]});function wd(m,y,I,U){var J=y.width,ne=y.height;if(!U)U=new Uint8Array(J*ne*I);else if(U instanceof Uint8ClampedArray)U=new Uint8Array(U.buffer);else if(U.length!==J*ne*I)throw new RangeError(\"mismatched image size\");return m.width=J,m.height=ne,m.data=U,m}function kw(m,y,I){var U=y.width,J=y.height;if(!(U===m.width&&J===m.height)){var ne=wd({},{width:U,height:J},I);Cw(m,ne,{x:0,y:0},{x:0,y:0},{width:Math.min(m.width,U),height:Math.min(m.height,J)},I),m.width=U,m.height=J,m.data=ne.data}}function Cw(m,y,I,U,J,ne){if(J.width===0||J.height===0)return y;if(J.width>m.width||J.height>m.height||I.x>m.width-J.width||I.y>m.height-J.height)throw new RangeError(\"out of range source coordinates for image copy\");if(J.width>y.width||J.height>y.height||U.x>y.width-J.width||U.y>y.height-J.height)throw new RangeError(\"out of range destination coordinates for image copy\");for(var fe=m.data,Fe=y.data,Qe=0;Qe<J.height;Qe++)for(var st=((I.y+Qe)*m.width+I.x)*ne,mt=((U.y+Qe)*y.width+U.x)*ne,Xt=0;Xt<J.width*ne;Xt++)Fe[mt+Xt]=fe[st+Xt];return y}var Pv=function(y,I){wd(this,y,1,I)};Pv.prototype.resize=function(y){kw(this,y,1)},Pv.prototype.clone=function(){return new Pv({width:this.width,height:this.height},new Uint8Array(this.data))},Pv.copy=function(y,I,U,J,ne){Cw(y,I,U,J,ne,1)};var lh=function(y,I){wd(this,y,4,I)};lh.prototype.resize=function(y){kw(this,y,4)},lh.prototype.replace=function(y,I){I?this.data.set(y):y instanceof Uint8ClampedArray?this.data=new Uint8Array(y.buffer):this.data=y},lh.prototype.clone=function(){return new lh({width:this.width,height:this.height},new Uint8Array(this.data))},lh.copy=function(y,I,U,J,ne){Cw(y,I,U,J,ne,4)},Z(\"AlphaImage\",Pv),Z(\"RGBAImage\",lh);var Hx=new Oi({\"heatmap-radius\":new Er(on.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new Er(on.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new At(on.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new Ui(on.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new At(on.paint_heatmap[\"heatmap-opacity\"])}),S1={paint:Hx};function Gx(m){var y={},I=m.resolution||256,U=m.clips?m.clips.length:1,J=m.image||new lh({width:I,height:U}),ne=function(Hi,Ei,Vi){y[m.evaluationKey]=Vi;var en=m.expression.evaluate(y);J.data[Hi+Ei+0]=Math.floor(en.r*255/en.a),J.data[Hi+Ei+1]=Math.floor(en.g*255/en.a),J.data[Hi+Ei+2]=Math.floor(en.b*255/en.a),J.data[Hi+Ei+3]=Math.floor(en.a*255)};if(m.clips)for(var st=0,mt=0;st<U;++st,mt+=I*4)for(var Xt=0,ur=0;Xt<I;Xt++,ur+=4){var nr=Xt/(I-1),Lr=m.clips[st],Yr=Lr.start,_i=Lr.end,si=Yr*(1-nr)+_i*nr;ne(mt,ur,si)}else for(var fe=0,Fe=0;fe<I;fe++,Fe+=4){var Qe=fe/(I-1);ne(0,Fe,Qe)}return J}var Lw=function(m){function y(I){m.call(this,I,S1),this._updateColorRamp()}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.createBucket=function(U){return new rS(U)},y.prototype._handleSpecialPaintPropertyUpdate=function(U){U===\"heatmap-color\"&&this._updateColorRamp()},y.prototype._updateColorRamp=function(){var U=this._transitionablePaint._values[\"heatmap-color\"].value.expression;this.colorRamp=Gx({expression:U,evaluationKey:\"heatmapDensity\",image:this.colorRamp}),this.colorRampTexture=null},y.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)},y.prototype.queryRadius=function(){return 0},y.prototype.queryIntersectsFeature=function(){return!1},y.prototype.hasOffscreenPass=function(){return this.paint.get(\"heatmap-opacity\")!==0&&this.visibility!==\"none\"},y}(cn),B9=new Oi({\"hillshade-illumination-direction\":new At(on.paint_hillshade[\"hillshade-illumination-direction\"]),\"hillshade-illumination-anchor\":new At(on.paint_hillshade[\"hillshade-illumination-anchor\"]),\"hillshade-exaggeration\":new At(on.paint_hillshade[\"hillshade-exaggeration\"]),\"hillshade-shadow-color\":new At(on.paint_hillshade[\"hillshade-shadow-color\"]),\"hillshade-highlight-color\":new At(on.paint_hillshade[\"hillshade-highlight-color\"]),\"hillshade-accent-color\":new At(on.paint_hillshade[\"hillshade-accent-color\"])}),N9={paint:B9},dC=function(m){function y(I){m.call(this,I,N9)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.hasOffscreenPass=function(){return this.paint.get(\"hillshade-exaggeration\")!==0&&this.visibility!==\"none\"},y}(cn),vC=Dn([{name:\"a_pos\",components:2,type:\"Int16\"}],4),U9=vC.members,Pw=M1,pC=M1;function M1(m,y,I){I=I||2;var U=y&&y.length,J=U?y[0]*I:m.length,ne=Iw(m,0,J,I,!0),fe=[];if(!ne||ne.next===ne.prev)return fe;var Fe,Qe,st,mt,Xt,ur,nr;if(U&&(ne=lm(m,y,ne,I)),m.length>80*I){Fe=st=m[0],Qe=mt=m[1];for(var Lr=I;Lr<J;Lr+=I)Xt=m[Lr],ur=m[Lr+1],Xt<Fe&&(Fe=Xt),ur<Qe&&(Qe=ur),Xt>st&&(st=Xt),ur>mt&&(mt=ur);nr=Math.max(st-Fe,mt-Qe),nr=nr!==0?1/nr:0}return jx(ne,fe,I,Fe,Qe,nr),fe}function Iw(m,y,I,U,J){var ne,fe;if(J===uS(m,y,I,U)>0)for(ne=y;ne<I;ne+=U)fe=xC(ne,m[ne],m[ne+1],fe);else for(ne=I-U;ne>=y;ne-=U)fe=xC(ne,m[ne],m[ne+1],fe);return fe&&Zx(fe,fe.next)&&(Kx(fe),fe=fe.next),fe}function sm(m,y){if(!m)return m;y||(y=m);var I=m,U;do if(U=!1,!I.steiner&&(Zx(I,I.next)||tf(I.prev,I,I.next)===0)){if(Kx(I),I=y=I.prev,I===I.next)break;U=!0}else I=I.next;while(U||I!==y);return y}function jx(m,y,I,U,J,ne,fe){if(m){!fe&&ne&&Rw(m,U,J,ne);for(var Fe=m,Qe,st;m.prev!==m.next;){if(Qe=m.prev,st=m.next,ne?mC(m,U,J,ne):gC(m)){y.push(Qe.i/I),y.push(m.i/I),y.push(st.i/I),Kx(m),m=st.next,Fe=st.next;continue}if(m=st,m===Fe){fe?fe===1?(m=Wx(sm(m),y,I),jx(m,y,I,U,J,ne,2)):fe===2&&v0(m,y,I,U,J,ne):jx(sm(m),y,I,U,J,ne,1);break}}}}function gC(m){var y=m.prev,I=m,U=m.next;if(tf(y,I,U)>=0)return!1;for(var J=m.next.next;J!==m.prev;){if(um(y.x,y.y,I.x,I.y,U.x,U.y,J.x,J.y)&&tf(J.prev,J,J.next)>=0)return!1;J=J.next}return!0}function mC(m,y,I,U){var J=m.prev,ne=m,fe=m.next;if(tf(J,ne,fe)>=0)return!1;for(var Fe=J.x<ne.x?J.x<fe.x?J.x:fe.x:ne.x<fe.x?ne.x:fe.x,Qe=J.y<ne.y?J.y<fe.y?J.y:fe.y:ne.y<fe.y?ne.y:fe.y,st=J.x>ne.x?J.x>fe.x?J.x:fe.x:ne.x>fe.x?ne.x:fe.x,mt=J.y>ne.y?J.y>fe.y?J.y:fe.y:ne.y>fe.y?ne.y:fe.y,Xt=aS(Fe,Qe,y,I,U),ur=aS(st,mt,y,I,U),nr=m.prevZ,Lr=m.nextZ;nr&&nr.z>=Xt&&Lr&&Lr.z<=ur;){if(nr!==m.prev&&nr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,nr.x,nr.y)&&tf(nr.prev,nr,nr.next)>=0||(nr=nr.prevZ,Lr!==m.prev&&Lr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,Lr.x,Lr.y)&&tf(Lr.prev,Lr,Lr.next)>=0))return!1;Lr=Lr.nextZ}for(;nr&&nr.z>=Xt;){if(nr!==m.prev&&nr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,nr.x,nr.y)&&tf(nr.prev,nr,nr.next)>=0)return!1;nr=nr.prevZ}for(;Lr&&Lr.z<=ur;){if(Lr!==m.prev&&Lr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,Lr.x,Lr.y)&&tf(Lr.prev,Lr,Lr.next)>=0)return!1;Lr=Lr.nextZ}return!0}function Wx(m,y,I){var U=m;do{var J=U.prev,ne=U.next.next;!Zx(J,ne)&&Dw(J,U,U.next,ne)&&Yx(J,ne)&&Yx(ne,J)&&(y.push(J.i/I),y.push(U.i/I),y.push(ne.i/I),Kx(U),Kx(U.next),U=m=ne),U=U.next}while(U!==m);return sm(U)}function v0(m,y,I,U,J,ne){var fe=m;do{for(var Fe=fe.next.next;Fe!==fe.prev;){if(fe.i!==Fe.i&&E1(fe,Fe)){var Qe=sS(fe,Fe);fe=sm(fe,fe.next),Qe=sm(Qe,Qe.next),jx(fe,y,I,U,J,ne),jx(Qe,y,I,U,J,ne);return}Fe=Fe.next}fe=fe.next}while(fe!==m)}function lm(m,y,I,U){var J=[],ne,fe,Fe,Qe,st;for(ne=0,fe=y.length;ne<fe;ne++)Fe=y[ne]*U,Qe=ne<fe-1?y[ne+1]*U:m.length,st=Iw(m,Fe,Qe,U,!1),st===st.next&&(st.steiner=!0),J.push(oS(st));for(J.sort(yC),ne=0;ne<J.length;ne++)iS(J[ne],I),I=sm(I,I.next);return I}function yC(m,y){return m.x-y.x}function iS(m,y){if(y=V9(m,y),y){var I=sS(y,m);sm(y,y.next),sm(I,I.next)}}function V9(m,y){var I=y,U=m.x,J=m.y,ne=-1/0,fe;do{if(J<=I.y&&J>=I.next.y&&I.next.y!==I.y){var Fe=I.x+(J-I.y)*(I.next.x-I.x)/(I.next.y-I.y);if(Fe<=U&&Fe>ne){if(ne=Fe,Fe===U){if(J===I.y)return I;if(J===I.next.y)return I.next}fe=I.x<I.next.x?I:I.next}}I=I.next}while(I!==y);if(!fe)return null;if(U===ne)return fe;var Qe=fe,st=fe.x,mt=fe.y,Xt=1/0,ur;I=fe;do U>=I.x&&I.x>=st&&U!==I.x&&um(J<mt?U:ne,J,st,mt,J<mt?ne:U,J,I.x,I.y)&&(ur=Math.abs(J-I.y)/(U-I.x),Yx(I,m)&&(ur<Xt||ur===Xt&&(I.x>fe.x||I.x===fe.x&&H9(fe,I)))&&(fe=I,Xt=ur)),I=I.next;while(I!==Qe);return fe}function H9(m,y){return tf(m.prev,m,y.prev)<0&&tf(y.next,m,m.next)<0}function Rw(m,y,I,U){var J=m;do J.z===null&&(J.z=aS(J.x,J.y,y,I,U)),J.prevZ=J.prev,J.nextZ=J.next,J=J.next;while(J!==m);J.prevZ.nextZ=null,J.prevZ=null,nS(J)}function nS(m){var y,I,U,J,ne,fe,Fe,Qe,st=1;do{for(I=m,m=null,ne=null,fe=0;I;){for(fe++,U=I,Fe=0,y=0;y<st&&(Fe++,U=U.nextZ,!!U);y++);for(Qe=st;Fe>0||Qe>0&&U;)Fe!==0&&(Qe===0||!U||I.z<=U.z)?(J=I,I=I.nextZ,Fe--):(J=U,U=U.nextZ,Qe--),ne?ne.nextZ=J:m=J,J.prevZ=ne,ne=J;I=U}ne.nextZ=null,st*=2}while(fe>1);return m}function aS(m,y,I,U,J){return m=32767*(m-I)*J,y=32767*(y-U)*J,m=(m|m<<8)&16711935,m=(m|m<<4)&252645135,m=(m|m<<2)&858993459,m=(m|m<<1)&1431655765,y=(y|y<<8)&16711935,y=(y|y<<4)&252645135,y=(y|y<<2)&858993459,y=(y|y<<1)&1431655765,m|y<<1}function oS(m){var y=m,I=m;do(y.x<I.x||y.x===I.x&&y.y<I.y)&&(I=y),y=y.next;while(y!==m);return I}function um(m,y,I,U,J,ne,fe,Fe){return(J-fe)*(y-Fe)-(m-fe)*(ne-Fe)>=0&&(m-fe)*(U-Fe)-(I-fe)*(y-Fe)>=0&&(I-fe)*(ne-Fe)-(J-fe)*(U-Fe)>=0}function E1(m,y){return m.next.i!==y.i&&m.prev.i!==y.i&&!_C(m,y)&&(Yx(m,y)&&Yx(y,m)&&G9(m,y)&&(tf(m.prev,m,y.prev)||tf(m,y.prev,y))||Zx(m,y)&&tf(m.prev,m,m.next)>0&&tf(y.prev,y,y.next)>0)}function tf(m,y,I){return(y.y-m.y)*(I.x-y.x)-(y.x-m.x)*(I.y-y.y)}function Zx(m,y){return m.x===y.x&&m.y===y.y}function Dw(m,y,I,U){var J=uy(tf(m,y,I)),ne=uy(tf(m,y,U)),fe=uy(tf(I,U,m)),Fe=uy(tf(I,U,y));return!!(J!==ne&&fe!==Fe||J===0&&Xx(m,I,y)||ne===0&&Xx(m,U,y)||fe===0&&Xx(I,m,U)||Fe===0&&Xx(I,y,U))}function Xx(m,y,I){return y.x<=Math.max(m.x,I.x)&&y.x>=Math.min(m.x,I.x)&&y.y<=Math.max(m.y,I.y)&&y.y>=Math.min(m.y,I.y)}function uy(m){return m>0?1:m<0?-1:0}function _C(m,y){var I=m;do{if(I.i!==m.i&&I.next.i!==m.i&&I.i!==y.i&&I.next.i!==y.i&&Dw(I,I.next,m,y))return!0;I=I.next}while(I!==m);return!1}function Yx(m,y){return tf(m.prev,m,m.next)<0?tf(m,y,m.next)>=0&&tf(m,m.prev,y)>=0:tf(m,y,m.prev)<0||tf(m,m.next,y)<0}function G9(m,y){var I=m,U=!1,J=(m.x+y.x)/2,ne=(m.y+y.y)/2;do I.y>ne!=I.next.y>ne&&I.next.y!==I.y&&J<(I.next.x-I.x)*(ne-I.y)/(I.next.y-I.y)+I.x&&(U=!U),I=I.next;while(I!==m);return U}function sS(m,y){var I=new lS(m.i,m.x,m.y),U=new lS(y.i,y.x,y.y),J=m.next,ne=y.prev;return m.next=y,y.prev=m,I.next=J,J.prev=I,U.next=I,I.prev=U,ne.next=U,U.prev=ne,U}function xC(m,y,I,U){var J=new lS(m,y,I);return U?(J.next=U.next,J.prev=U,U.next.prev=J,U.next=J):(J.prev=J,J.next=J),J}function Kx(m){m.next.prev=m.prev,m.prev.next=m.next,m.prevZ&&(m.prevZ.nextZ=m.nextZ),m.nextZ&&(m.nextZ.prevZ=m.prevZ)}function lS(m,y,I){this.i=m,this.x=y,this.y=I,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}M1.deviation=function(m,y,I,U){var J=y&&y.length,ne=J?y[0]*I:m.length,fe=Math.abs(uS(m,0,ne,I));if(J)for(var Fe=0,Qe=y.length;Fe<Qe;Fe++){var st=y[Fe]*I,mt=Fe<Qe-1?y[Fe+1]*I:m.length;fe-=Math.abs(uS(m,st,mt,I))}var Xt=0;for(Fe=0;Fe<U.length;Fe+=3){var ur=U[Fe]*I,nr=U[Fe+1]*I,Lr=U[Fe+2]*I;Xt+=Math.abs((m[ur]-m[Lr])*(m[nr+1]-m[ur+1])-(m[ur]-m[nr])*(m[Lr+1]-m[ur+1]))}return fe===0&&Xt===0?0:Math.abs((Xt-fe)/fe)};function uS(m,y,I,U){for(var J=0,ne=y,fe=I-U;ne<I;ne+=U)J+=(m[fe]-m[ne])*(m[ne+1]+m[fe+1]),fe=ne;return J}M1.flatten=function(m){for(var y=m[0][0].length,I={vertices:[],holes:[],dimensions:y},U=0,J=0;J<m.length;J++){for(var ne=0;ne<m[J].length;ne++)for(var fe=0;fe<y;fe++)I.vertices.push(m[J][ne][fe]);J>0&&(U+=m[J-1].length,I.holes.push(U))}return I},Pw.default=pC;function cS(m,y,I,U,J){dg(m,y,I||0,U||m.length-1,J||bC)}function dg(m,y,I,U,J){for(;U>I;){if(U-I>600){var ne=U-I+1,fe=y-I+1,Fe=Math.log(ne),Qe=.5*Math.exp(2*Fe/3),st=.5*Math.sqrt(Fe*Qe*(ne-Qe)/ne)*(fe-ne/2<0?-1:1),mt=Math.max(I,Math.floor(y-fe*Qe/ne+st)),Xt=Math.min(U,Math.floor(y+(ne-fe)*Qe/ne+st));dg(m,y,mt,Xt,J)}var ur=m[y],nr=I,Lr=U;for(k1(m,I,y),J(m[U],ur)>0&&k1(m,I,U);nr<Lr;){for(k1(m,nr,Lr),nr++,Lr--;J(m[nr],ur)<0;)nr++;for(;J(m[Lr],ur)>0;)Lr--}J(m[I],ur)===0?k1(m,I,Lr):(Lr++,k1(m,Lr,U)),Lr<=y&&(I=Lr+1),y<=Lr&&(U=Lr-1)}}function k1(m,y,I){var U=m[y];m[y]=m[I],m[I]=U}function bC(m,y){return m<y?-1:m>y?1:0}function zw(m,y){var I=m.length;if(I<=1)return[m];for(var U=[],J,ne,fe=0;fe<I;fe++){var Fe=_e(m[fe]);Fe!==0&&(m[fe].area=Math.abs(Fe),ne===void 0&&(ne=Fe<0),ne===Fe<0?(J&&U.push(J),J=[m[fe]]):J.push(m[fe]))}if(J&&U.push(J),y>1)for(var Qe=0;Qe<U.length;Qe++)U[Qe].length<=y||(cS(U[Qe],y,1,U[Qe].length-1,wC),U[Qe]=U[Qe].slice(0,y));return U}function wC(m,y){return y.area-m.area}function Fw(m,y,I){for(var U=I.patternDependencies,J=!1,ne=0,fe=y;ne<fe.length;ne+=1){var Fe=fe[ne],Qe=Fe.paint.get(m+\"-pattern\");Qe.isConstant()||(J=!0);var st=Qe.constantOr(null);st&&(J=!0,U[st.to]=!0,U[st.from]=!0)}return J}function Jx(m,y,I,U,J){for(var ne=J.patternDependencies,fe=0,Fe=y;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=Qe.paint.get(m+\"-pattern\"),mt=st.value;if(mt.kind!==\"constant\"){var Xt=mt.evaluate({zoom:U-1},I,{},J.availableImages),ur=mt.evaluate({zoom:U},I,{},J.availableImages),nr=mt.evaluate({zoom:U+1},I,{},J.availableImages);Xt=Xt&&Xt.name?Xt.name:Xt,ur=ur&&ur.name?ur.name:ur,nr=nr&&nr.name?nr.name:nr,ne[Xt]=!0,ne[ur]=!0,ne[nr]=!0,I.patterns[Qe.id]={min:Xt,mid:ur,max:nr}}}return I}var $x=500,gp=function(y){this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=y.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ji,this.indexArray=new ma,this.indexArray2=new Po,this.programConfigurations=new Ri(y.layers,y.zoom),this.segments=new ns,this.segments2=new ns,this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};gp.prototype.populate=function(y,I,U){this.hasPattern=Fw(\"fill\",this.layers,I);for(var J=this.layers[0].layout.get(\"fill-sort-key\"),ne=[],fe=0,Fe=y;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=Qe.feature,mt=Qe.id,Xt=Qe.index,ur=Qe.sourceLayerIndex,nr=this.layers[0]._featureFilter.needGeometry,Lr=No(st,nr);if(this.layers[0]._featureFilter.filter(new pn(this.zoom),Lr,U)){var Yr=J?J.evaluate(Lr,{},U,I.availableImages):void 0,_i={id:mt,properties:st.properties,type:st.type,sourceLayerIndex:ur,index:Xt,geometry:nr?Lr.geometry:da(st),patterns:{},sortKey:Yr};ne.push(_i)}}J&&ne.sort(function(_a,Pa){return _a.sortKey-Pa.sortKey});for(var si=0,Hi=ne;si<Hi.length;si+=1){var Ei=Hi[si],Vi=Ei,en=Vi.geometry,An=Vi.index,ra=Vi.sourceLayerIndex;if(this.hasPattern){var $n=Jx(\"fill\",this.layers,Ei,this.zoom,I);this.patternFeatures.push($n)}else this.addFeature(Ei,en,An,U,{});var Ba=y[An].feature;I.featureIndex.insert(Ba,en,An,ra,this.index)}},gp.prototype.update=function(y,I,U){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(y,I,this.stateDependentLayers,U)},gp.prototype.addFeatures=function(y,I,U){for(var J=0,ne=this.patternFeatures;J<ne.length;J+=1){var fe=ne[J];this.addFeature(fe,fe.geometry,fe.index,I,U)}},gp.prototype.isEmpty=function(){return this.layoutVertexArray.length===0},gp.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},gp.prototype.upload=function(y){this.uploaded||(this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,U9),this.indexBuffer=y.createIndexBuffer(this.indexArray),this.indexBuffer2=y.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(y),this.uploaded=!0},gp.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())},gp.prototype.addFeature=function(y,I,U,J,ne){for(var fe=0,Fe=zw(I,$x);fe<Fe.length;fe+=1){for(var Qe=Fe[fe],st=0,mt=0,Xt=Qe;mt<Xt.length;mt+=1){var ur=Xt[mt];st+=ur.length}for(var nr=this.segments.prepareSegment(st,this.layoutVertexArray,this.indexArray),Lr=nr.vertexLength,Yr=[],_i=[],si=0,Hi=Qe;si<Hi.length;si+=1){var Ei=Hi[si];if(Ei.length!==0){Ei!==Qe[0]&&_i.push(Yr.length/2);var Vi=this.segments2.prepareSegment(Ei.length,this.layoutVertexArray,this.indexArray2),en=Vi.vertexLength;this.layoutVertexArray.emplaceBack(Ei[0].x,Ei[0].y),this.indexArray2.emplaceBack(en+Ei.length-1,en),Yr.push(Ei[0].x),Yr.push(Ei[0].y);for(var An=1;An<Ei.length;An++)this.layoutVertexArray.emplaceBack(Ei[An].x,Ei[An].y),this.indexArray2.emplaceBack(en+An-1,en+An),Yr.push(Ei[An].x),Yr.push(Ei[An].y);Vi.vertexLength+=Ei.length,Vi.primitiveLength+=Ei.length}}for(var ra=Pw(Yr,_i),$n=0;$n<ra.length;$n+=3)this.indexArray.emplaceBack(Lr+ra[$n],Lr+ra[$n+1],Lr+ra[$n+2]);nr.vertexLength+=st,nr.primitiveLength+=ra.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,y,U,ne,J)},Z(\"FillBucket\",gp,{omit:[\"layers\",\"patternFeatures\"]});var fS=new Oi({\"fill-sort-key\":new Er(on.layout_fill[\"fill-sort-key\"])}),TC=new Oi({\"fill-antialias\":new At(on.paint_fill[\"fill-antialias\"]),\"fill-opacity\":new Er(on.paint_fill[\"fill-opacity\"]),\"fill-color\":new Er(on.paint_fill[\"fill-color\"]),\"fill-outline-color\":new Er(on.paint_fill[\"fill-outline-color\"]),\"fill-translate\":new At(on.paint_fill[\"fill-translate\"]),\"fill-translate-anchor\":new At(on.paint_fill[\"fill-translate-anchor\"]),\"fill-pattern\":new Wr(on.paint_fill[\"fill-pattern\"])}),Jv={paint:TC,layout:fS},Qx=function(m){function y(I){m.call(this,I,Jv)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.recalculate=function(U,J){m.prototype.recalculate.call(this,U,J);var ne=this.paint._values[\"fill-outline-color\"];ne.value.kind===\"constant\"&&ne.value.value===void 0&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"])},y.prototype.createBucket=function(U){return new gp(U)},y.prototype.queryRadius=function(){return kv(this.paint.get(\"fill-translate\"))},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st){var mt=Kv(U,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),Qe.angle,st);return tl(mt,fe)},y.prototype.isTileClipped=function(){return!0},y}(cn),AC=Dn([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal_ed\",components:4,type:\"Int16\"}],4),SC=AC.members,hS=cy;function cy(m,y,I,U,J){this.properties={},this.extent=I,this.type=0,this._pbf=m,this._geometry=-1,this._keys=U,this._values=J,m.readFields(MC,this,y)}function MC(m,y,I){m==1?y.id=I.readVarint():m==2?EC(I,y):m==3?y.type=I.readVarint():m==4&&(y._geometry=I.pos)}function EC(m,y){for(var I=m.readVarint()+m.pos;m.pos<I;){var U=y._keys[m.readVarint()],J=y._values[m.readVarint()];y.properties[U]=J}}cy.types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],cy.prototype.loadGeometry=function(){var m=this._pbf;m.pos=this._geometry;for(var y=m.readVarint()+m.pos,I=1,U=0,J=0,ne=0,fe=[],Fe;m.pos<y;){if(U<=0){var Qe=m.readVarint();I=Qe&7,U=Qe>>3}if(U--,I===1||I===2)J+=m.readSVarint(),ne+=m.readSVarint(),I===1&&(Fe&&fe.push(Fe),Fe=[]),Fe.push(new u(J,ne));else if(I===7)Fe&&Fe.push(Fe[0].clone());else throw new Error(\"unknown command \"+I)}return Fe&&fe.push(Fe),fe},cy.prototype.bbox=function(){var m=this._pbf;m.pos=this._geometry;for(var y=m.readVarint()+m.pos,I=1,U=0,J=0,ne=0,fe=1/0,Fe=-1/0,Qe=1/0,st=-1/0;m.pos<y;){if(U<=0){var mt=m.readVarint();I=mt&7,U=mt>>3}if(U--,I===1||I===2)J+=m.readSVarint(),ne+=m.readSVarint(),J<fe&&(fe=J),J>Fe&&(Fe=J),ne<Qe&&(Qe=ne),ne>st&&(st=ne);else if(I!==7)throw new Error(\"unknown command \"+I)}return[fe,Qe,Fe,st]},cy.prototype.toGeoJSON=function(m,y,I){var U=this.extent*Math.pow(2,I),J=this.extent*m,ne=this.extent*y,fe=this.loadGeometry(),Fe=cy.types[this.type],Qe,st;function mt(nr){for(var Lr=0;Lr<nr.length;Lr++){var Yr=nr[Lr],_i=180-(Yr.y+ne)*360/U;nr[Lr]=[(Yr.x+J)*360/U-180,360/Math.PI*Math.atan(Math.exp(_i*Math.PI/180))-90]}}switch(this.type){case 1:var Xt=[];for(Qe=0;Qe<fe.length;Qe++)Xt[Qe]=fe[Qe][0];fe=Xt,mt(fe);break;case 2:for(Qe=0;Qe<fe.length;Qe++)mt(fe[Qe]);break;case 3:for(fe=j9(fe),Qe=0;Qe<fe.length;Qe++)for(st=0;st<fe[Qe].length;st++)mt(fe[Qe][st]);break}fe.length===1?fe=fe[0]:Fe=\"Multi\"+Fe;var ur={type:\"Feature\",geometry:{type:Fe,coordinates:fe},properties:this.properties};return\"id\"in this&&(ur.id=this.id),ur};function j9(m){var y=m.length;if(y<=1)return[m];for(var I=[],U,J,ne=0;ne<y;ne++){var fe=kC(m[ne]);fe!==0&&(J===void 0&&(J=fe<0),J===fe<0?(U&&I.push(U),U=[m[ne]]):U.push(m[ne]))}return U&&I.push(U),I}function kC(m){for(var y=0,I=0,U=m.length,J=U-1,ne,fe;I<U;J=I++)ne=m[I],fe=m[J],y+=(fe.x-ne.x)*(ne.y+fe.y);return y}var vg=dS;function dS(m,y){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=m,this._keys=[],this._values=[],this._features=[],m.readFields(CC,this,y),this.length=this._features.length}function CC(m,y,I){m===15?y.version=I.readVarint():m===1?y.name=I.readString():m===5?y.extent=I.readVarint():m===2?y._features.push(I.pos):m===3?y._keys.push(I.readString()):m===4&&y._values.push(LC(I))}function LC(m){for(var y=null,I=m.readVarint()+m.pos;m.pos<I;){var U=m.readVarint()>>3;y=U===1?m.readString():U===2?m.readFloat():U===3?m.readDouble():U===4?m.readVarint64():U===5?m.readVarint():U===6?m.readSVarint():U===7?m.readBoolean():null}return y}dS.prototype.feature=function(m){if(m<0||m>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[m];var y=this._pbf.readVarint()+this._pbf.pos;return new hS(this._pbf,y,this.extent,this._keys,this._values)};var PC=W9;function W9(m,y){this.layers=m.readFields(Z9,{},y)}function Z9(m,y,I){if(m===3){var U=new vg(I,I.readVarint()+I.pos);U.length&&(y[U.name]=U)}}var IC=PC,C1=hS,RC=vg,pg={VectorTile:IC,VectorTileFeature:C1,VectorTileLayer:RC},DC=pg.VectorTileFeature.types,qw=500,L1=Math.pow(2,13);function cm(m,y,I,U,J,ne,fe,Fe){m.emplaceBack(y,I,Math.floor(U*L1)*2+fe,J*L1*2,ne*L1*2,Math.round(Fe))}var Hp=function(y){this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=y.index,this.hasPattern=!1,this.layoutVertexArray=new Un,this.indexArray=new ma,this.programConfigurations=new Ri(y.layers,y.zoom),this.segments=new ns,this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};Hp.prototype.populate=function(y,I,U){this.features=[],this.hasPattern=Fw(\"fill-extrusion\",this.layers,I);for(var J=0,ne=y;J<ne.length;J+=1){var fe=ne[J],Fe=fe.feature,Qe=fe.id,st=fe.index,mt=fe.sourceLayerIndex,Xt=this.layers[0]._featureFilter.needGeometry,ur=No(Fe,Xt);if(this.layers[0]._featureFilter.filter(new pn(this.zoom),ur,U)){var nr={id:Qe,sourceLayerIndex:mt,index:st,geometry:Xt?ur.geometry:da(Fe),properties:Fe.properties,type:Fe.type,patterns:{}};this.hasPattern?this.features.push(Jx(\"fill-extrusion\",this.layers,nr,this.zoom,I)):this.addFeature(nr,nr.geometry,st,U,{}),I.featureIndex.insert(Fe,nr.geometry,st,mt,this.index,!0)}}},Hp.prototype.addFeatures=function(y,I,U){for(var J=0,ne=this.features;J<ne.length;J+=1){var fe=ne[J],Fe=fe.geometry;this.addFeature(fe,Fe,fe.index,I,U)}},Hp.prototype.update=function(y,I,U){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(y,I,this.stateDependentLayers,U)},Hp.prototype.isEmpty=function(){return this.layoutVertexArray.length===0},Hp.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Hp.prototype.upload=function(y){this.uploaded||(this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,SC),this.indexBuffer=y.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(y),this.uploaded=!0},Hp.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Hp.prototype.addFeature=function(y,I,U,J,ne){for(var fe=0,Fe=zw(I,qw);fe<Fe.length;fe+=1){for(var Qe=Fe[fe],st=0,mt=0,Xt=Qe;mt<Xt.length;mt+=1){var ur=Xt[mt];st+=ur.length}for(var nr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),Lr=0,Yr=Qe;Lr<Yr.length;Lr+=1){var _i=Yr[Lr];if(_i.length!==0&&!Y9(_i))for(var si=0,Hi=0;Hi<_i.length;Hi++){var Ei=_i[Hi];if(Hi>=1){var Vi=_i[Hi-1];if(!X9(Ei,Vi)){nr.vertexLength+4>ns.MAX_VERTEX_ARRAY_LENGTH&&(nr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var en=Ei.sub(Vi)._perp()._unit(),An=Vi.dist(Ei);si+An>32768&&(si=0),cm(this.layoutVertexArray,Ei.x,Ei.y,en.x,en.y,0,0,si),cm(this.layoutVertexArray,Ei.x,Ei.y,en.x,en.y,0,1,si),si+=An,cm(this.layoutVertexArray,Vi.x,Vi.y,en.x,en.y,0,0,si),cm(this.layoutVertexArray,Vi.x,Vi.y,en.x,en.y,0,1,si);var ra=nr.vertexLength;this.indexArray.emplaceBack(ra,ra+2,ra+1),this.indexArray.emplaceBack(ra+1,ra+2,ra+3),nr.vertexLength+=4,nr.primitiveLength+=2}}}}if(nr.vertexLength+st>ns.MAX_VERTEX_ARRAY_LENGTH&&(nr=this.segments.prepareSegment(st,this.layoutVertexArray,this.indexArray)),DC[y.type]===\"Polygon\"){for(var $n=[],Ba=[],_a=nr.vertexLength,Pa=0,qo=Qe;Pa<qo.length;Pa+=1){var Na=qo[Pa];if(Na.length!==0){Na!==Qe[0]&&Ba.push($n.length/2);for(var ja=0;ja<Na.length;ja++){var us=Na[ja];cm(this.layoutVertexArray,us.x,us.y,0,0,1,1,0),$n.push(us.x),$n.push(us.y)}}}for(var zo=Pw($n,Ba),rl=0;rl<zo.length;rl+=3)this.indexArray.emplaceBack(_a+zo[rl],_a+zo[rl+2],_a+zo[rl+1]);nr.primitiveLength+=zo.length/3,nr.vertexLength+=st}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,y,U,ne,J)},Z(\"FillExtrusionBucket\",Hp,{omit:[\"layers\",\"features\"]});function X9(m,y){return m.x===y.x&&(m.x<0||m.x>rn)||m.y===y.y&&(m.y<0||m.y>rn)}function Y9(m){return m.every(function(y){return y.x<0})||m.every(function(y){return y.x>rn})||m.every(function(y){return y.y<0})||m.every(function(y){return y.y>rn})}var P1=new Oi({\"fill-extrusion-opacity\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new Er(on[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Wr(on[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new Er(on[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new Er(on[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])}),ed={paint:P1},fm=function(m){function y(I){m.call(this,I,ed)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.createBucket=function(U){return new Hp(U)},y.prototype.queryRadius=function(){return kv(this.paint.get(\"fill-extrusion-translate\"))},y.prototype.is3D=function(){return!0},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st,mt){var Xt=Kv(U,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),Qe.angle,st),ur=this.paint.get(\"fill-extrusion-height\").evaluate(J,ne),nr=this.paint.get(\"fill-extrusion-base\").evaluate(J,ne),Lr=K9(Xt,mt,Qe,0),Yr=pS(fe,nr,ur,mt),_i=Yr[0],si=Yr[1];return zC(_i,si,Lr)},y}(cn);function fy(m,y){return m.x*y.x+m.y*y.y}function vS(m,y){if(m.length===1){for(var I=0,U=y[I++],J;!J||U.equals(J);)if(J=y[I++],!J)return 1/0;for(;I<y.length;I++){var ne=y[I],fe=m[0],Fe=J.sub(U),Qe=ne.sub(U),st=fe.sub(U),mt=fy(Fe,Fe),Xt=fy(Fe,Qe),ur=fy(Qe,Qe),nr=fy(st,Fe),Lr=fy(st,Qe),Yr=mt*ur-Xt*Xt,_i=(ur*nr-Xt*Lr)/Yr,si=(mt*Lr-Xt*nr)/Yr,Hi=1-_i-si,Ei=U.z*Hi+J.z*_i+ne.z*si;if(isFinite(Ei))return Ei}return 1/0}else{for(var Vi=1/0,en=0,An=y;en<An.length;en+=1){var ra=An[en];Vi=Math.min(Vi,ra.z)}return Vi}}function zC(m,y,I){var U=1/0;tl(I,y)&&(U=vS(I,y[0]));for(var J=0;J<y.length;J++)for(var ne=y[J],fe=m[J],Fe=0;Fe<ne.length-1;Fe++){var Qe=ne[Fe],st=ne[Fe+1],mt=fe[Fe],Xt=fe[Fe+1],ur=[Qe,st,Xt,mt,Qe];fo(I,ur)&&(U=Math.min(U,vS(I,ur)))}return U===1/0?!1:U}function pS(m,y,I,U){for(var J=[],ne=[],fe=U[8]*y,Fe=U[9]*y,Qe=U[10]*y,st=U[11]*y,mt=U[8]*I,Xt=U[9]*I,ur=U[10]*I,nr=U[11]*I,Lr=0,Yr=m;Lr<Yr.length;Lr+=1){for(var _i=Yr[Lr],si=[],Hi=[],Ei=0,Vi=_i;Ei<Vi.length;Ei+=1){var en=Vi[Ei],An=en.x,ra=en.y,$n=U[0]*An+U[4]*ra+U[12],Ba=U[1]*An+U[5]*ra+U[13],_a=U[2]*An+U[6]*ra+U[14],Pa=U[3]*An+U[7]*ra+U[15],qo=$n+fe,Na=Ba+Fe,ja=_a+Qe,us=Pa+st,zo=$n+mt,rl=Ba+Xt,su=_a+ur,il=Pa+nr,nl=new u(qo/us,Na/us);nl.z=ja/us,si.push(nl);var Ws=new u(zo/il,rl/il);Ws.z=su/il,Hi.push(Ws)}J.push(si),ne.push(Hi)}return[J,ne]}function K9(m,y,I,U){for(var J=[],ne=0,fe=m;ne<fe.length;ne+=1){var Fe=fe[ne],Qe=[Fe.x,Fe.y,U,1];ly(Qe,Qe,y),J.push(new u(Qe[0]/Qe[3],Qe[1]/Qe[3]))}return J}var FC=Dn([{name:\"a_pos_normal\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}],4),qC=FC.members,J9=Dn([{name:\"a_uv_x\",components:1,type:\"Float32\"},{name:\"a_split_index\",components:1,type:\"Float32\"}]),OC=J9.members,gS=pg.VectorTileFeature.types,Ow=63,BC=Math.cos(75/2*(Math.PI/180)),eb=15,mS=20,NC=15,Bw=1/2,tb=Math.pow(2,NC-1)/Bw,Gf=function(y){var I=this;this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(U){return U.id}),this.index=y.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(function(U){I.gradients[U.id]={}}),this.layoutVertexArray=new gn,this.layoutVertexArray2=new ca,this.indexArray=new ma,this.programConfigurations=new Ri(y.layers,y.zoom),this.segments=new ns,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(function(U){return U.isStateDependent()}).map(function(U){return U.id})};Gf.prototype.populate=function(y,I,U){this.hasPattern=Fw(\"line\",this.layers,I);for(var J=this.layers[0].layout.get(\"line-sort-key\"),ne=[],fe=0,Fe=y;fe<Fe.length;fe+=1){var Qe=Fe[fe],st=Qe.feature,mt=Qe.id,Xt=Qe.index,ur=Qe.sourceLayerIndex,nr=this.layers[0]._featureFilter.needGeometry,Lr=No(st,nr);if(this.layers[0]._featureFilter.filter(new pn(this.zoom),Lr,U)){var Yr=J?J.evaluate(Lr,{},U):void 0,_i={id:mt,properties:st.properties,type:st.type,sourceLayerIndex:ur,index:Xt,geometry:nr?Lr.geometry:da(st),patterns:{},sortKey:Yr};ne.push(_i)}}J&&ne.sort(function(_a,Pa){return _a.sortKey-Pa.sortKey});for(var si=0,Hi=ne;si<Hi.length;si+=1){var Ei=Hi[si],Vi=Ei,en=Vi.geometry,An=Vi.index,ra=Vi.sourceLayerIndex;if(this.hasPattern){var $n=Jx(\"line\",this.layers,Ei,this.zoom,I);this.patternFeatures.push($n)}else this.addFeature(Ei,en,An,U,{});var Ba=y[An].feature;I.featureIndex.insert(Ba,en,An,ra,this.index)}},Gf.prototype.update=function(y,I,U){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(y,I,this.stateDependentLayers,U)},Gf.prototype.addFeatures=function(y,I,U){for(var J=0,ne=this.patternFeatures;J<ne.length;J+=1){var fe=ne[J];this.addFeature(fe,fe.geometry,fe.index,I,U)}},Gf.prototype.isEmpty=function(){return this.layoutVertexArray.length===0},Gf.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Gf.prototype.upload=function(y){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=y.createVertexBuffer(this.layoutVertexArray2,OC)),this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,qC),this.indexBuffer=y.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(y),this.uploaded=!0},Gf.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Gf.prototype.lineFeatureClips=function(y){if(y.properties&&y.properties.hasOwnProperty(\"mapbox_clip_start\")&&y.properties.hasOwnProperty(\"mapbox_clip_end\")){var I=+y.properties.mapbox_clip_start,U=+y.properties.mapbox_clip_end;return{start:I,end:U}}},Gf.prototype.addFeature=function(y,I,U,J,ne){var fe=this.layers[0].layout,Fe=fe.get(\"line-join\").evaluate(y,{}),Qe=fe.get(\"line-cap\"),st=fe.get(\"line-miter-limit\"),mt=fe.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(y);for(var Xt=0,ur=I;Xt<ur.length;Xt+=1){var nr=ur[Xt];this.addLine(nr,y,Fe,Qe,st,mt)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,y,U,ne,J)},Gf.prototype.addLine=function(y,I,U,J,ne,fe){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(var Fe=0;Fe<y.length-1;Fe++)this.totalDistance+=y[Fe].dist(y[Fe+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}for(var Qe=gS[I.type]===\"Polygon\",st=y.length;st>=2&&y[st-1].equals(y[st-2]);)st--;for(var mt=0;mt<st-1&&y[mt].equals(y[mt+1]);)mt++;if(!(st<(Qe?3:2))){U===\"bevel\"&&(ne=1.05);var Xt=this.overscaling<=16?eb*rn/(512*this.overscaling):0,ur=this.segments.prepareSegment(st*10,this.layoutVertexArray,this.indexArray),nr,Lr=void 0,Yr=void 0,_i=void 0,si=void 0;this.e1=this.e2=-1,Qe&&(nr=y[st-2],si=y[mt].sub(nr)._unit()._perp());for(var Hi=mt;Hi<st;Hi++)if(Yr=Hi===st-1?Qe?y[mt+1]:void 0:y[Hi+1],!(Yr&&y[Hi].equals(Yr))){si&&(_i=si),nr&&(Lr=nr),nr=y[Hi],si=Yr?Yr.sub(nr)._unit()._perp():_i,_i=_i||si;var Ei=_i.add(si);(Ei.x!==0||Ei.y!==0)&&Ei._unit();var Vi=_i.x*si.x+_i.y*si.y,en=Ei.x*si.x+Ei.y*si.y,An=en!==0?1/en:1/0,ra=2*Math.sqrt(2-2*en),$n=en<BC&&Lr&&Yr,Ba=_i.x*si.y-_i.y*si.x>0;if($n&&Hi>mt){var _a=nr.dist(Lr);if(_a>2*Xt){var Pa=nr.sub(nr.sub(Lr)._mult(Xt/_a)._round());this.updateDistance(Lr,Pa),this.addCurrentVertex(Pa,_i,0,0,ur),Lr=Pa}}var qo=Lr&&Yr,Na=qo?U:Qe?\"butt\":J;if(qo&&Na===\"round\"&&(An<fe?Na=\"miter\":An<=2&&(Na=\"fakeround\")),Na===\"miter\"&&An>ne&&(Na=\"bevel\"),Na===\"bevel\"&&(An>2&&(Na=\"flipbevel\"),An<ne&&(Na=\"miter\")),Lr&&this.updateDistance(Lr,nr),Na===\"miter\")Ei._mult(An),this.addCurrentVertex(nr,Ei,0,0,ur);else if(Na===\"flipbevel\"){if(An>100)Ei=si.mult(-1);else{var ja=An*_i.add(si).mag()/_i.sub(si).mag();Ei._perp()._mult(ja*(Ba?-1:1))}this.addCurrentVertex(nr,Ei,0,0,ur),this.addCurrentVertex(nr,Ei.mult(-1),0,0,ur)}else if(Na===\"bevel\"||Na===\"fakeround\"){var us=-Math.sqrt(An*An-1),zo=Ba?us:0,rl=Ba?0:us;if(Lr&&this.addCurrentVertex(nr,_i,zo,rl,ur),Na===\"fakeround\")for(var su=Math.round(ra*180/Math.PI/mS),il=1;il<su;il++){var nl=il/su;if(nl!==.5){var Ws=nl-.5,Au=1.0904+Vi*(-3.2452+Vi*(3.55645-Vi*1.43519)),Ou=.848013+Vi*(-1.06021+Vi*.215638);nl=nl+nl*Ws*(nl-1)*(Au*Ws*Ws+Ou)}var nf=si.sub(_i)._mult(nl)._add(_i)._unit()._mult(Ba?-1:1);this.addHalfVertex(nr,nf.x,nf.y,!1,Ba,0,ur)}Yr&&this.addCurrentVertex(nr,si,-zo,-rl,ur)}else if(Na===\"butt\")this.addCurrentVertex(nr,Ei,0,0,ur);else if(Na===\"square\"){var bf=Lr?1:-1;this.addCurrentVertex(nr,Ei,bf,bf,ur)}else Na===\"round\"&&(Lr&&(this.addCurrentVertex(nr,_i,0,0,ur),this.addCurrentVertex(nr,_i,1,1,ur,!0)),Yr&&(this.addCurrentVertex(nr,si,-1,-1,ur,!0),this.addCurrentVertex(nr,si,0,0,ur)));if($n&&Hi<st-1){var qh=nr.dist(Yr);if(qh>2*Xt){var Zf=nr.add(Yr.sub(nr)._mult(Xt/qh)._round());this.updateDistance(nr,Zf),this.addCurrentVertex(Zf,si,0,0,ur),nr=Zf}}}}},Gf.prototype.addCurrentVertex=function(y,I,U,J,ne,fe){fe===void 0&&(fe=!1);var Fe=I.x+I.y*U,Qe=I.y-I.x*U,st=-I.x+I.y*J,mt=-I.y-I.x*J;this.addHalfVertex(y,Fe,Qe,fe,!1,U,ne),this.addHalfVertex(y,st,mt,fe,!0,-J,ne),this.distance>tb/2&&this.totalDistance===0&&(this.distance=0,this.addCurrentVertex(y,I,U,J,ne,fe))},Gf.prototype.addHalfVertex=function(y,I,U,J,ne,fe,Fe){var Qe=y.x,st=y.y,mt=this.lineClips?this.scaledDistance*(tb-1):this.scaledDistance,Xt=mt*Bw;if(this.layoutVertexArray.emplaceBack((Qe<<1)+(J?1:0),(st<<1)+(ne?1:0),Math.round(Ow*I)+128,Math.round(Ow*U)+128,(fe===0?0:fe<0?-1:1)+1|(Xt&63)<<2,Xt>>6),this.lineClips){var ur=this.scaledDistance-this.lineClips.start,nr=this.lineClips.end-this.lineClips.start,Lr=ur/nr;this.layoutVertexArray2.emplaceBack(Lr,this.lineClipsArray.length)}var Yr=Fe.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Yr),Fe.primitiveLength++),ne?this.e2=Yr:this.e1=Yr},Gf.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},Gf.prototype.updateDistance=function(y,I){this.distance+=y.dist(I),this.updateScaledDistance()},Z(\"LineBucket\",Gf,{omit:[\"layers\",\"patternFeatures\"]});var yS=new Oi({\"line-cap\":new At(on.layout_line[\"line-cap\"]),\"line-join\":new Er(on.layout_line[\"line-join\"]),\"line-miter-limit\":new At(on.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new At(on.layout_line[\"line-round-limit\"]),\"line-sort-key\":new Er(on.layout_line[\"line-sort-key\"])}),_S=new Oi({\"line-opacity\":new Er(on.paint_line[\"line-opacity\"]),\"line-color\":new Er(on.paint_line[\"line-color\"]),\"line-translate\":new At(on.paint_line[\"line-translate\"]),\"line-translate-anchor\":new At(on.paint_line[\"line-translate-anchor\"]),\"line-width\":new Er(on.paint_line[\"line-width\"]),\"line-gap-width\":new Er(on.paint_line[\"line-gap-width\"]),\"line-offset\":new Er(on.paint_line[\"line-offset\"]),\"line-blur\":new Er(on.paint_line[\"line-blur\"]),\"line-dasharray\":new wi(on.paint_line[\"line-dasharray\"]),\"line-pattern\":new Wr(on.paint_line[\"line-pattern\"]),\"line-gradient\":new Ui(on.paint_line[\"line-gradient\"])}),Nw={paint:_S,layout:yS},$9=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.possiblyEvaluate=function(U,J){return J=new pn(Math.floor(J.zoom),{now:J.now,fadeDuration:J.fadeDuration,zoomHistory:J.zoomHistory,transition:J.transition}),m.prototype.possiblyEvaluate.call(this,U,J)},y.prototype.evaluate=function(U,J,ne,fe){return J=_({},J,{zoom:Math.floor(J.zoom)}),m.prototype.evaluate.call(this,U,J,ne,fe)},y}(Er),R=new $9(Nw.paint.properties[\"line-width\"].specification);R.useIntegerZoom=!0;var S=function(m){function y(I){m.call(this,I,Nw),this.gradientVersion=0}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._handleSpecialPaintPropertyUpdate=function(U){if(U===\"line-gradient\"){var J=this._transitionablePaint._values[\"line-gradient\"].value.expression;this.stepInterpolant=J._styleExpression.expression instanceof yu,this.gradientVersion=(this.gradientVersion+1)%d}},y.prototype.gradientExpression=function(){return this._transitionablePaint._values[\"line-gradient\"].value.expression},y.prototype.recalculate=function(U,J){m.prototype.recalculate.call(this,U,J),this.paint._values[\"line-floorwidth\"]=R.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,U)},y.prototype.createBucket=function(U){return new Gf(U)},y.prototype.queryRadius=function(U){var J=U,ne=D(xd(\"line-width\",this,J),xd(\"line-gap-width\",this,J)),fe=xd(\"line-offset\",this,J);return ne/2+Math.abs(fe)+kv(this.paint.get(\"line-translate\"))},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st){var mt=Kv(U,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),Qe.angle,st),Xt=st/2*D(this.paint.get(\"line-width\").evaluate(J,ne),this.paint.get(\"line-gap-width\").evaluate(J,ne)),ur=this.paint.get(\"line-offset\").evaluate(J,ne);return ur&&(fe=j(fe,ur*st)),zu(mt,fe,Xt)},y.prototype.isTileClipped=function(){return!0},y}(cn);function D(m,y){return y>0?y+2*m:m}function j(m,y){for(var I=[],U=new u(0,0),J=0;J<m.length;J++){for(var ne=m[J],fe=[],Fe=0;Fe<ne.length;Fe++){var Qe=ne[Fe-1],st=ne[Fe],mt=ne[Fe+1],Xt=Fe===0?U:st.sub(Qe)._unit()._perp(),ur=Fe===ne.length-1?U:mt.sub(st)._unit()._perp(),nr=Xt._add(ur)._unit(),Lr=nr.x*ur.x+nr.y*ur.y;nr._mult(1/Lr),fe.push(nr._mult(y)._add(st))}I.push(fe)}return I}var te=Dn([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),ue=Dn([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4),ve=Dn([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4),De=Dn([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}]),Ze=Dn([{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\"}]),at=Dn([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),Tt=Dn([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4),Ft=Dn([{name:\"triangle\",components:3,type:\"Uint16\"}]),Qt=Dn([{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\"}]),sr=Dn([{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\"}]),Tr=Dn([{type:\"Float32\",name:\"offsetX\"}]),Pr=Dn([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]);function $r(m,y,I){var U=y.layout.get(\"text-transform\").evaluate(I,{});return U===\"uppercase\"?m=m.toLocaleUpperCase():U===\"lowercase\"&&(m=m.toLocaleLowerCase()),_s.applyArabicShaping&&(m=_s.applyArabicShaping(m)),m}function ni(m,y,I){return m.sections.forEach(function(U){U.text=$r(U.text,y,I)}),m}function Di(m){var y={},I={},U=[],J=0;function ne(si){U.push(m[si]),J++}function fe(si,Hi,Ei){var Vi=I[si];return delete I[si],I[Hi]=Vi,U[Vi].geometry[0].pop(),U[Vi].geometry[0]=U[Vi].geometry[0].concat(Ei[0]),Vi}function Fe(si,Hi,Ei){var Vi=y[Hi];return delete y[Hi],y[si]=Vi,U[Vi].geometry[0].shift(),U[Vi].geometry[0]=Ei[0].concat(U[Vi].geometry[0]),Vi}function Qe(si,Hi,Ei){var Vi=Ei?Hi[0][Hi[0].length-1]:Hi[0][0];return si+\":\"+Vi.x+\":\"+Vi.y}for(var st=0;st<m.length;st++){var mt=m[st],Xt=mt.geometry,ur=mt.text?mt.text.toString():null;if(!ur){ne(st);continue}var nr=Qe(ur,Xt),Lr=Qe(ur,Xt,!0);if(nr in I&&Lr in y&&I[nr]!==y[Lr]){var Yr=Fe(nr,Lr,Xt),_i=fe(nr,Lr,U[Yr].geometry);delete y[nr],delete I[Lr],I[Qe(ur,U[_i].geometry,!0)]=_i,U[Yr].geometry=null}else nr in I?fe(nr,Lr,Xt):Lr in y?Fe(nr,Lr,Xt):(ne(st),y[nr]=J-1,I[Lr]=J-1)}return U.filter(function(si){return si.geometry})}var pi={\"!\":\"\\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\"};function ki(m){for(var y=\"\",I=0;I<m.length;I++){var U=m.charCodeAt(I+1)||null,J=m.charCodeAt(I-1)||null,ne=(!U||!ui(U)||pi[m[I+1]])&&(!J||!ui(J)||pi[m[I-1]]);ne&&pi[m[I]]?y+=pi[m[I]]:y+=m[I]}return y}var Zi=24,ta=function(m,y,I,U,J){var ne,fe,Fe=J*8-U-1,Qe=(1<<Fe)-1,st=Qe>>1,mt=-7,Xt=I?J-1:0,ur=I?-1:1,nr=m[y+Xt];for(Xt+=ur,ne=nr&(1<<-mt)-1,nr>>=-mt,mt+=Fe;mt>0;ne=ne*256+m[y+Xt],Xt+=ur,mt-=8);for(fe=ne&(1<<-mt)-1,ne>>=-mt,mt+=U;mt>0;fe=fe*256+m[y+Xt],Xt+=ur,mt-=8);if(ne===0)ne=1-st;else{if(ne===Qe)return fe?NaN:(nr?-1:1)*(1/0);fe=fe+Math.pow(2,U),ne=ne-st}return(nr?-1:1)*fe*Math.pow(2,ne-U)},Va=function(m,y,I,U,J,ne){var fe,Fe,Qe,st=ne*8-J-1,mt=(1<<st)-1,Xt=mt>>1,ur=J===23?Math.pow(2,-24)-Math.pow(2,-77):0,nr=U?0:ne-1,Lr=U?1:-1,Yr=y<0||y===0&&1/y<0?1:0;for(y=Math.abs(y),isNaN(y)||y===1/0?(Fe=isNaN(y)?1:0,fe=mt):(fe=Math.floor(Math.log(y)/Math.LN2),y*(Qe=Math.pow(2,-fe))<1&&(fe--,Qe*=2),fe+Xt>=1?y+=ur/Qe:y+=ur*Math.pow(2,1-Xt),y*Qe>=2&&(fe++,Qe/=2),fe+Xt>=mt?(Fe=0,fe=mt):fe+Xt>=1?(Fe=(y*Qe-1)*Math.pow(2,J),fe=fe+Xt):(Fe=y*Math.pow(2,Xt-1)*Math.pow(2,J),fe=0));J>=8;m[I+nr]=Fe&255,nr+=Lr,Fe/=256,J-=8);for(fe=fe<<J|Fe,st+=J;st>0;m[I+nr]=fe&255,nr+=Lr,fe/=256,st-=8);m[I+nr-Lr]|=Yr*128},Io={read:ta,write:Va},La=Hn;function Hn(m){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(m)?m:new Uint8Array(m||0),this.pos=0,this.type=0,this.length=this.buf.length}Hn.Varint=0,Hn.Fixed64=1,Hn.Bytes=2,Hn.Fixed32=5;var lo=65536*65536,$a=1/lo,Xa=12,Tn=typeof TextDecoder==\"undefined\"?null:new TextDecoder(\"utf8\");Hn.prototype={destroy:function(){this.buf=null},readFields:function(m,y,I){for(I=I||this.length;this.pos<I;){var U=this.readVarint(),J=U>>3,ne=this.pos;this.type=U&7,m(J,y,this),this.pos===ne&&this.skip(U)}return y},readMessage:function(m,y){return this.readFields(m,y,this.readVarint()+this.pos)},readFixed32:function(){var m=Dh(this.buf,this.pos);return this.pos+=4,m},readSFixed32:function(){var m=Iv(this.buf,this.pos);return this.pos+=4,m},readFixed64:function(){var m=Dh(this.buf,this.pos)+Dh(this.buf,this.pos+4)*lo;return this.pos+=8,m},readSFixed64:function(){var m=Dh(this.buf,this.pos)+Iv(this.buf,this.pos+4)*lo;return this.pos+=8,m},readFloat:function(){var m=Io.read(this.buf,this.pos,!0,23,4);return this.pos+=4,m},readDouble:function(){var m=Io.read(this.buf,this.pos,!0,52,8);return this.pos+=8,m},readVarint:function(m){var y=this.buf,I,U;return U=y[this.pos++],I=U&127,U<128||(U=y[this.pos++],I|=(U&127)<<7,U<128)||(U=y[this.pos++],I|=(U&127)<<14,U<128)||(U=y[this.pos++],I|=(U&127)<<21,U<128)?I:(U=y[this.pos],I|=(U&15)<<28,bo(I,m,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var m=this.readVarint();return m%2===1?(m+1)/-2:m/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var m=this.readVarint()+this.pos,y=this.pos;return this.pos=m,m-y>=Xa&&Tn?Cl(this.buf,y,m):lv(this.buf,y,m)},readBytes:function(){var m=this.readVarint()+this.pos,y=this.buf.subarray(this.pos,m);return this.pos=m,y},readPackedVarint:function(m,y){if(this.type!==Hn.Bytes)return m.push(this.readVarint(y));var I=Ya(this);for(m=m||[];this.pos<I;)m.push(this.readVarint(y));return m},readPackedSVarint:function(m){if(this.type!==Hn.Bytes)return m.push(this.readSVarint());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readSVarint());return m},readPackedBoolean:function(m){if(this.type!==Hn.Bytes)return m.push(this.readBoolean());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readBoolean());return m},readPackedFloat:function(m){if(this.type!==Hn.Bytes)return m.push(this.readFloat());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readFloat());return m},readPackedDouble:function(m){if(this.type!==Hn.Bytes)return m.push(this.readDouble());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readDouble());return m},readPackedFixed32:function(m){if(this.type!==Hn.Bytes)return m.push(this.readFixed32());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readFixed32());return m},readPackedSFixed32:function(m){if(this.type!==Hn.Bytes)return m.push(this.readSFixed32());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readSFixed32());return m},readPackedFixed64:function(m){if(this.type!==Hn.Bytes)return m.push(this.readFixed64());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readFixed64());return m},readPackedSFixed64:function(m){if(this.type!==Hn.Bytes)return m.push(this.readSFixed64());var y=Ya(this);for(m=m||[];this.pos<y;)m.push(this.readSFixed64());return m},skip:function(m){var y=m&7;if(y===Hn.Varint)for(;this.buf[this.pos++]>127;);else if(y===Hn.Bytes)this.pos=this.readVarint()+this.pos;else if(y===Hn.Fixed32)this.pos+=4;else if(y===Hn.Fixed64)this.pos+=8;else throw new Error(\"Unimplemented type: \"+y)},writeTag:function(m,y){this.writeVarint(m<<3|y)},realloc:function(m){for(var y=this.length||16;y<this.pos+m;)y*=2;if(y!==this.length){var I=new Uint8Array(y);I.set(this.buf),this.buf=I,this.length=y}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(m){this.realloc(4),xf(this.buf,m,this.pos),this.pos+=4},writeSFixed32:function(m){this.realloc(4),xf(this.buf,m,this.pos),this.pos+=4},writeFixed64:function(m){this.realloc(8),xf(this.buf,m&-1,this.pos),xf(this.buf,Math.floor(m*$a),this.pos+4),this.pos+=8},writeSFixed64:function(m){this.realloc(8),xf(this.buf,m&-1,this.pos),xf(this.buf,Math.floor(m*$a),this.pos+4),this.pos+=8},writeVarint:function(m){if(m=+m||0,m>268435455||m<0){wu(m,this);return}this.realloc(4),this.buf[this.pos++]=m&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=(m>>>=7)&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=(m>>>=7)&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=m>>>7&127)))},writeSVarint:function(m){this.writeVarint(m<0?-m*2-1:m*2)},writeBoolean:function(m){this.writeVarint(!!m)},writeString:function(m){m=String(m),this.realloc(m.length*4),this.pos++;var y=this.pos;this.pos=qu(this.buf,m,this.pos);var I=this.pos-y;I>=128&&$v(y,I,this),this.pos=y-1,this.writeVarint(I),this.pos+=I},writeFloat:function(m){this.realloc(4),Io.write(this.buf,m,this.pos,!0,23,4),this.pos+=4},writeDouble:function(m){this.realloc(8),Io.write(this.buf,m,this.pos,!0,52,8),this.pos+=8},writeBytes:function(m){var y=m.length;this.writeVarint(y),this.realloc(y);for(var I=0;I<y;I++)this.buf[this.pos++]=m[I]},writeRawMessage:function(m,y){this.pos++;var I=this.pos;m(y,this);var U=this.pos-I;U>=128&&$v(I,U,this),this.pos=I-1,this.writeVarint(U),this.pos+=U},writeMessage:function(m,y,I){this.writeTag(m,Hn.Bytes),this.writeRawMessage(y,I)},writePackedVarint:function(m,y){y.length&&this.writeMessage(m,td,y)},writePackedSVarint:function(m,y){y.length&&this.writeMessage(m,ch,y)},writePackedBoolean:function(m,y){y.length&&this.writeMessage(m,Hd,y)},writePackedFloat:function(m,y){y.length&&this.writeMessage(m,Ud,y)},writePackedDouble:function(m,y){y.length&&this.writeMessage(m,Vd,y)},writePackedFixed32:function(m,y){y.length&&this.writeMessage(m,rf,y)},writePackedSFixed32:function(m,y){y.length&&this.writeMessage(m,fh,y)},writePackedFixed64:function(m,y){y.length&&this.writeMessage(m,Td,y)},writePackedSFixed64:function(m,y){y.length&&this.writeMessage(m,rd,y)},writeBytesField:function(m,y){this.writeTag(m,Hn.Bytes),this.writeBytes(y)},writeFixed32Field:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeFixed32(y)},writeSFixed32Field:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeSFixed32(y)},writeFixed64Field:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeFixed64(y)},writeSFixed64Field:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeSFixed64(y)},writeVarintField:function(m,y){this.writeTag(m,Hn.Varint),this.writeVarint(y)},writeSVarintField:function(m,y){this.writeTag(m,Hn.Varint),this.writeSVarint(y)},writeStringField:function(m,y){this.writeTag(m,Hn.Bytes),this.writeString(y)},writeFloatField:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeFloat(y)},writeDoubleField:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeDouble(y)},writeBooleanField:function(m,y){this.writeVarintField(m,!!y)}};function bo(m,y,I){var U=I.buf,J,ne;if(ne=U[I.pos++],J=(ne&112)>>4,ne<128||(ne=U[I.pos++],J|=(ne&127)<<3,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<10,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<17,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<24,ne<128)||(ne=U[I.pos++],J|=(ne&1)<<31,ne<128))return Uo(m,J,y);throw new Error(\"Expected varint not more than 10 bytes\")}function Ya(m){return m.type===Hn.Bytes?m.readVarint()+m.pos:m.pos+1}function Uo(m,y,I){return I?y*4294967296+(m>>>0):(y>>>0)*4294967296+(m>>>0)}function wu(m,y){var I,U;if(m>=0?(I=m%4294967296|0,U=m/4294967296|0):(I=~(-m%4294967296),U=~(-m/4294967296),I^4294967295?I=I+1|0:(I=0,U=U+1|0)),m>=18446744073709552e3||m<-18446744073709552e3)throw new Error(\"Given varint doesn't fit into 10 bytes\");y.realloc(10),hu(I,U,y),uh(U,y)}function hu(m,y,I){I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos]=m&127}function uh(m,y){var I=(m&7)<<4;y.buf[y.pos++]|=I|((m>>>=3)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127)))))}function $v(m,y,I){var U=y<=16383?1:y<=2097151?2:y<=268435455?3:Math.floor(Math.log(y)/(Math.LN2*7));I.realloc(U);for(var J=I.pos-1;J>=m;J--)I.buf[J+U]=I.buf[J]}function td(m,y){for(var I=0;I<m.length;I++)y.writeVarint(m[I])}function ch(m,y){for(var I=0;I<m.length;I++)y.writeSVarint(m[I])}function Ud(m,y){for(var I=0;I<m.length;I++)y.writeFloat(m[I])}function Vd(m,y){for(var I=0;I<m.length;I++)y.writeDouble(m[I])}function Hd(m,y){for(var I=0;I<m.length;I++)y.writeBoolean(m[I])}function rf(m,y){for(var I=0;I<m.length;I++)y.writeFixed32(m[I])}function fh(m,y){for(var I=0;I<m.length;I++)y.writeSFixed32(m[I])}function Td(m,y){for(var I=0;I<m.length;I++)y.writeFixed64(m[I])}function rd(m,y){for(var I=0;I<m.length;I++)y.writeSFixed64(m[I])}function Dh(m,y){return(m[y]|m[y+1]<<8|m[y+2]<<16)+m[y+3]*16777216}function xf(m,y,I){m[I]=y,m[I+1]=y>>>8,m[I+2]=y>>>16,m[I+3]=y>>>24}function Iv(m,y){return(m[y]|m[y+1]<<8|m[y+2]<<16)+(m[y+3]<<24)}function lv(m,y,I){for(var U=\"\",J=y;J<I;){var ne=m[J],fe=null,Fe=ne>239?4:ne>223?3:ne>191?2:1;if(J+Fe>I)break;var Qe,st,mt;Fe===1?ne<128&&(fe=ne):Fe===2?(Qe=m[J+1],(Qe&192)===128&&(fe=(ne&31)<<6|Qe&63,fe<=127&&(fe=null))):Fe===3?(Qe=m[J+1],st=m[J+2],(Qe&192)===128&&(st&192)===128&&(fe=(ne&15)<<12|(Qe&63)<<6|st&63,(fe<=2047||fe>=55296&&fe<=57343)&&(fe=null))):Fe===4&&(Qe=m[J+1],st=m[J+2],mt=m[J+3],(Qe&192)===128&&(st&192)===128&&(mt&192)===128&&(fe=(ne&15)<<18|(Qe&63)<<12|(st&63)<<6|mt&63,(fe<=65535||fe>=1114112)&&(fe=null))),fe===null?(fe=65533,Fe=1):fe>65535&&(fe-=65536,U+=String.fromCharCode(fe>>>10&1023|55296),fe=56320|fe&1023),U+=String.fromCharCode(fe),J+=Fe}return U}function Cl(m,y,I){return Tn.decode(m.subarray(y,I))}function qu(m,y,I){for(var U=0,J,ne;U<y.length;U++){if(J=y.charCodeAt(U),J>55295&&J<57344)if(ne)if(J<56320){m[I++]=239,m[I++]=191,m[I++]=189,ne=J;continue}else J=ne-55296<<10|J-56320|65536,ne=null;else{J>56319||U+1===y.length?(m[I++]=239,m[I++]=191,m[I++]=189):ne=J;continue}else ne&&(m[I++]=239,m[I++]=191,m[I++]=189,ne=null);J<128?m[I++]=J:(J<2048?m[I++]=J>>6|192:(J<65536?m[I++]=J>>12|224:(m[I++]=J>>18|240,m[I++]=J>>12&63|128),m[I++]=J>>6&63|128),m[I++]=J&63|128)}return I}var Tu=3;function Rv(m,y,I){m===1&&I.readMessage(qc,y)}function qc(m,y,I){if(m===3){var U=I.readMessage(I1,{}),J=U.id,ne=U.bitmap,fe=U.width,Fe=U.height,Qe=U.left,st=U.top,mt=U.advance;y.push({id:J,bitmap:new Pv({width:fe+2*Tu,height:Fe+2*Tu},ne),metrics:{width:fe,height:Fe,left:Qe,top:st,advance:mt}})}}function I1(m,y,I){m===1?y.id=I.readVarint():m===2?y.bitmap=I.readBytes():m===3?y.width=I.readVarint():m===4?y.height=I.readVarint():m===5?y.left=I.readSVarint():m===6?y.top=I.readSVarint():m===7&&(y.advance=I.readVarint())}function p0(m){return new La(m).readFields(Rv,[])}var Gp=Tu;function Qv(m){for(var y=0,I=0,U=0,J=m;U<J.length;U+=1){var ne=J[U];y+=ne.w*ne.h,I=Math.max(I,ne.w)}m.sort(function(_i,si){return si.h-_i.h});for(var fe=Math.max(Math.ceil(Math.sqrt(y/.95)),I),Fe=[{x:0,y:0,w:fe,h:1/0}],Qe=0,st=0,mt=0,Xt=m;mt<Xt.length;mt+=1)for(var ur=Xt[mt],nr=Fe.length-1;nr>=0;nr--){var Lr=Fe[nr];if(!(ur.w>Lr.w||ur.h>Lr.h)){if(ur.x=Lr.x,ur.y=Lr.y,st=Math.max(st,ur.y+ur.h),Qe=Math.max(Qe,ur.x+ur.w),ur.w===Lr.w&&ur.h===Lr.h){var Yr=Fe.pop();nr<Fe.length&&(Fe[nr]=Yr)}else ur.h===Lr.h?(Lr.x+=ur.w,Lr.w-=ur.w):ur.w===Lr.w?(Lr.y+=ur.h,Lr.h-=ur.h):(Fe.push({x:Lr.x+ur.w,y:Lr.y,w:Lr.w-ur.w,h:ur.h}),Lr.y+=ur.h,Lr.h-=ur.h);break}}return{w:Qe,h:st,fill:y/(Qe*st)||0}}var oc=1,If=function(y,I){var U=I.pixelRatio,J=I.version,ne=I.stretchX,fe=I.stretchY,Fe=I.content;this.paddedRect=y,this.pixelRatio=U,this.stretchX=ne,this.stretchY=fe,this.content=Fe,this.version=J},ep={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};ep.tl.get=function(){return[this.paddedRect.x+oc,this.paddedRect.y+oc]},ep.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-oc,this.paddedRect.y+this.paddedRect.h-oc]},ep.tlbr.get=function(){return this.tl.concat(this.br)},ep.displaySize.get=function(){return[(this.paddedRect.w-oc*2)/this.pixelRatio,(this.paddedRect.h-oc*2)/this.pixelRatio]},Object.defineProperties(If.prototype,ep);var gg=function(y,I){var U={},J={};this.haveRenderCallbacks=[];var ne=[];this.addImages(y,U,ne),this.addImages(I,J,ne);var fe=Qv(ne),Fe=fe.w,Qe=fe.h,st=new lh({width:Fe||1,height:Qe||1});for(var mt in y){var Xt=y[mt],ur=U[mt].paddedRect;lh.copy(Xt.data,st,{x:0,y:0},{x:ur.x+oc,y:ur.y+oc},Xt.data)}for(var nr in I){var Lr=I[nr],Yr=J[nr].paddedRect,_i=Yr.x+oc,si=Yr.y+oc,Hi=Lr.data.width,Ei=Lr.data.height;lh.copy(Lr.data,st,{x:0,y:0},{x:_i,y:si},Lr.data),lh.copy(Lr.data,st,{x:0,y:Ei-1},{x:_i,y:si-1},{width:Hi,height:1}),lh.copy(Lr.data,st,{x:0,y:0},{x:_i,y:si+Ei},{width:Hi,height:1}),lh.copy(Lr.data,st,{x:Hi-1,y:0},{x:_i-1,y:si},{width:1,height:Ei}),lh.copy(Lr.data,st,{x:0,y:0},{x:_i+Hi,y:si},{width:1,height:Ei})}this.image=st,this.iconPositions=U,this.patternPositions=J};gg.prototype.addImages=function(y,I,U){for(var J in y){var ne=y[J],fe={x:0,y:0,w:ne.data.width+2*oc,h:ne.data.height+2*oc};U.push(fe),I[J]=new If(fe,ne),ne.hasRenderCallback&&this.haveRenderCallbacks.push(J)}},gg.prototype.patchUpdatedImages=function(y,I){y.dispatchRenderCallbacks(this.haveRenderCallbacks);for(var U in y.updatedImages)this.patchUpdatedImage(this.iconPositions[U],y.getImage(U),I),this.patchUpdatedImage(this.patternPositions[U],y.getImage(U),I)},gg.prototype.patchUpdatedImage=function(y,I,U){if(!(!y||!I)&&y.version!==I.version){y.version=I.version;var J=y.tl,ne=J[0],fe=J[1];U.update(I.data,void 0,{x:ne,y:fe})}},Z(\"ImagePosition\",If),Z(\"ImageAtlas\",gg);var uv={horizontal:1,vertical:2,horizontalOnly:3},R1=-17;function xS(m){for(var y=0,I=m;y<I.length;y+=1){var U=I[y];if(U.positionedGlyphs.length!==0)return!1}return!0}var Uw=57344,g0=63743,hy=function(){this.scale=1,this.fontStack=\"\",this.imageName=null};hy.forText=function(y,I){var U=new hy;return U.scale=y||1,U.fontStack=I,U},hy.forImage=function(y){var I=new hy;return I.imageName=y,I};var zh=function(){this.text=\"\",this.sectionIndex=[],this.sections=[],this.imageSectionID=null};zh.fromFeature=function(y,I){for(var U=new zh,J=0;J<y.sections.length;J++){var ne=y.sections[J];ne.image?U.addImageSection(ne):U.addTextSection(ne,I)}return U},zh.prototype.length=function(){return this.text.length},zh.prototype.getSection=function(y){return this.sections[this.sectionIndex[y]]},zh.prototype.getSectionIndex=function(y){return this.sectionIndex[y]},zh.prototype.getCharCode=function(y){return this.text.charCodeAt(y)},zh.prototype.verticalizePunctuation=function(){this.text=ki(this.text)},zh.prototype.trim=function(){for(var y=0,I=0;I<this.text.length&&m0[this.text.charCodeAt(I)];I++)y++;for(var U=this.text.length,J=this.text.length-1;J>=0&&J>=y&&m0[this.text.charCodeAt(J)];J--)U--;this.text=this.text.substring(y,U),this.sectionIndex=this.sectionIndex.slice(y,U)},zh.prototype.substring=function(y,I){var U=new zh;return U.text=this.text.substring(y,I),U.sectionIndex=this.sectionIndex.slice(y,I),U.sections=this.sections,U},zh.prototype.toString=function(){return this.text},zh.prototype.getMaxScale=function(){var y=this;return this.sectionIndex.reduce(function(I,U){return Math.max(I,y.sections[U].scale)},0)},zh.prototype.addTextSection=function(y,I){this.text+=y.text,this.sections.push(hy.forText(y.scale,y.fontStack||I));for(var U=this.sections.length-1,J=0;J<y.text.length;++J)this.sectionIndex.push(U)},zh.prototype.addImageSection=function(y){var I=y.image?y.image.name:\"\";if(I.length===0){re(\"Can't add FormattedSection with an empty image.\");return}var U=this.getNextImageSectionCharCode();if(!U){re(\"Reached maximum number of images \"+(g0-Uw+2));return}this.text+=String.fromCharCode(U),this.sections.push(hy.forImage(I)),this.sectionIndex.push(this.sections.length-1)},zh.prototype.getNextImageSectionCharCode=function(){return this.imageSectionID?this.imageSectionID>=g0?null:++this.imageSectionID:(this.imageSectionID=Uw,this.imageSectionID)};function Q9(m,y){for(var I=[],U=m.text,J=0,ne=0,fe=y;ne<fe.length;ne+=1){var Fe=fe[ne];I.push(m.substring(J,Fe)),J=Fe}return J<U.length&&I.push(m.substring(J,U.length)),I}function Vw(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr){var _i=zh.fromFeature(m,J);Xt===uv.vertical&&_i.verticalizePunctuation();var si,Hi=_s.processBidirectionalText,Ei=_s.processStyledBidirectionalText;if(Hi&&_i.sections.length===1){si=[];for(var Vi=Hi(_i.toString(),Hw(_i,st,ne,y,U,nr,Lr)),en=0,An=Vi;en<An.length;en+=1){var ra=An[en],$n=new zh;$n.text=ra,$n.sections=_i.sections;for(var Ba=0;Ba<ra.length;Ba++)$n.sectionIndex.push(0);si.push($n)}}else if(Ei){si=[];for(var _a=Ei(_i.text,_i.sectionIndex,Hw(_i,st,ne,y,U,nr,Lr)),Pa=0,qo=_a;Pa<qo.length;Pa+=1){var Na=qo[Pa],ja=new zh;ja.text=Na[0],ja.sectionIndex=Na[1],ja.sections=_i.sections,si.push(ja)}}else si=Q9(_i,Hw(_i,st,ne,y,U,nr,Lr));var us=[],zo={positionedLines:us,text:_i.toString(),top:mt[1],bottom:mt[1],left:mt[0],right:mt[0],writingMode:Xt,iconsInText:!1,verticalizable:!1};return rq(zo,y,I,U,si,fe,Fe,Qe,Xt,st,ur,Yr),xS(us)?!1:zo}var m0={};m0[9]=!0,m0[10]=!0,m0[11]=!0,m0[12]=!0,m0[13]=!0,m0[32]=!0;var cv={};cv[10]=!0,cv[32]=!0,cv[38]=!0,cv[40]=!0,cv[41]=!0,cv[43]=!0,cv[45]=!0,cv[47]=!0,cv[173]=!0,cv[183]=!0,cv[8203]=!0,cv[8208]=!0,cv[8211]=!0,cv[8231]=!0;function UC(m,y,I,U,J,ne){if(y.imageName){var Qe=U[y.imageName];return Qe?Qe.displaySize[0]*y.scale*Zi/ne+J:0}else{var fe=I[y.fontStack],Fe=fe&&fe[m];return Fe?Fe.metrics.advance*y.scale+J:0}}function eq(m,y,I,U,J,ne){for(var fe=0,Fe=0;Fe<m.length();Fe++){var Qe=m.getSection(Fe);fe+=UC(m.getCharCode(Fe),Qe,U,J,y,ne)}var st=Math.max(1,Math.ceil(fe/I));return fe/st}function VC(m,y,I,U){var J=Math.pow(m-y,2);return U?m<y?J/2:J*2:J+Math.abs(I)*I}function tq(m,y,I){var U=0;return m===10&&(U-=1e4),I&&(U+=150),(m===40||m===65288)&&(U+=50),(y===41||y===65289)&&(U+=50),U}function mp(m,y,I,U,J,ne){for(var fe=null,Fe=VC(y,I,J,ne),Qe=0,st=U;Qe<st.length;Qe+=1){var mt=st[Qe],Xt=y-mt.x,ur=VC(Xt,I,J,ne)+mt.badness;ur<=Fe&&(fe=mt,Fe=ur)}return{index:m,x:y,priorBreak:fe,badness:Fe}}function rb(m){return m?rb(m.priorBreak).concat(m.index):[]}function Hw(m,y,I,U,J,ne,fe){if(ne!==\"point\")return[];if(!m)return[];for(var Fe=[],Qe=eq(m,y,I,U,J,fe),st=m.text.indexOf(\"\\u200B\")>=0,mt=0,Xt=0;Xt<m.length();Xt++){var ur=m.getSection(Xt),nr=m.getCharCode(Xt);if(m0[nr]||(mt+=UC(nr,ur,U,J,y,fe)),Xt<m.length()-1){var Lr=Dr(nr);(cv[nr]||Lr||ur.imageName)&&Fe.push(mp(Xt+1,mt,Qe,Fe,tq(nr,m.getCharCode(Xt+1),Lr&&st),!1))}}return rb(mp(m.length(),mt,Qe,Fe,0,!0))}function bS(m){var y=.5,I=.5;switch(m){case\"right\":case\"top-right\":case\"bottom-right\":y=1;break;case\"left\":case\"top-left\":case\"bottom-left\":y=0;break}switch(m){case\"bottom\":case\"bottom-right\":case\"bottom-left\":I=1;break;case\"top\":case\"top-right\":case\"top-left\":I=0;break}return{horizontalAlign:y,verticalAlign:I}}function rq(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt){for(var ur=0,nr=R1,Lr=0,Yr=0,_i=Fe===\"right\"?1:Fe===\"left\"?0:.5,si=0,Hi=0,Ei=J;Hi<Ei.length;Hi+=1){var Vi=Ei[Hi];Vi.trim();var en=Vi.getMaxScale(),An=(en-1)*Zi,ra={positionedGlyphs:[],lineOffset:0};m.positionedLines[si]=ra;var $n=ra.positionedGlyphs,Ba=0;if(!Vi.length()){nr+=ne,++si;continue}for(var _a=0;_a<Vi.length();_a++){var Pa=Vi.getSection(_a),qo=Vi.getSectionIndex(_a),Na=Vi.getCharCode(_a),ja=0,us=null,zo=null,rl=null,su=Zi,il=!(Qe===uv.horizontal||!mt&&!Ir(Na)||mt&&(m0[Na]||qr(Na)));if(Pa.imageName){var nf=U[Pa.imageName];if(!nf)continue;rl=Pa.imageName,m.iconsInText=m.iconsInText||!0,zo=nf.paddedRect;var bf=nf.displaySize;Pa.scale=Pa.scale*Zi/Xt,us={width:bf[0],height:bf[1],left:oc,top:-Gp,advance:il?bf[1]:bf[0]};var qh=Zi-bf[1]*Pa.scale;ja=An+qh,su=us.advance;var Zf=il?bf[0]*Pa.scale-Zi*en:bf[1]*Pa.scale-Zi*en;Zf>0&&Zf>Ba&&(Ba=Zf)}else{var nl=I[Pa.fontStack],Ws=nl&&nl[Na];if(Ws&&Ws.rect)zo=Ws.rect,us=Ws.metrics;else{var Au=y[Pa.fontStack],Ou=Au&&Au[Na];if(!Ou)continue;us=Ou.metrics}ja=(en-Pa.scale)*Zi}il?(m.verticalizable=!0,$n.push({glyph:Na,imageName:rl,x:ur,y:nr+ja,vertical:il,scale:Pa.scale,fontStack:Pa.fontStack,sectionIndex:qo,metrics:us,rect:zo}),ur+=su*Pa.scale+st):($n.push({glyph:Na,imageName:rl,x:ur,y:nr+ja,vertical:il,scale:Pa.scale,fontStack:Pa.fontStack,sectionIndex:qo,metrics:us,rect:zo}),ur+=us.advance*Pa.scale+st)}if($n.length!==0){var jd=ur-st;Lr=Math.max(jd,Lr),iq($n,0,$n.length-1,_i,Ba)}ur=0;var Wd=ne*en+Ba;ra.lineOffset=Math.max(Ba,An),nr+=Wd,Yr=Math.max(Wd,Yr),++si}var Oh=nr-R1,fv=bS(fe),hv=fv.horizontalAlign,hh=fv.verticalAlign;Ad(m.positionedLines,_i,hv,hh,Lr,Yr,ne,Oh,J.length),m.top+=-hh*Oh,m.bottom=m.top+Oh,m.left+=-hv*Lr,m.right=m.left+Lr}function iq(m,y,I,U,J){if(!(!U&&!J))for(var ne=m[I],fe=ne.metrics.advance*ne.scale,Fe=(m[I].x+fe)*U,Qe=y;Qe<=I;Qe++)m[Qe].x-=Fe,m[Qe].y+=J}function Ad(m,y,I,U,J,ne,fe,Fe,Qe){var st=(y-I)*J,mt=0;ne!==fe?mt=-Fe*U-R1:mt=(-U*Qe+.5)*fe;for(var Xt=0,ur=m;Xt<ur.length;Xt+=1)for(var nr=ur[Xt],Lr=0,Yr=nr.positionedGlyphs;Lr<Yr.length;Lr+=1){var _i=Yr[Lr];_i.x+=st,_i.y+=mt}}function tp(m,y,I){var U=bS(I),J=U.horizontalAlign,ne=U.verticalAlign,fe=y[0],Fe=y[1],Qe=fe-m.displaySize[0]*J,st=Qe+m.displaySize[0],mt=Fe-m.displaySize[1]*ne,Xt=mt+m.displaySize[1];return{image:m,top:mt,bottom:Xt,left:Qe,right:st}}function hm(m,y,I,U,J,ne){var fe=m.image,Fe;if(fe.content){var Qe=fe.content,st=fe.pixelRatio||1;Fe=[Qe[0]/st,Qe[1]/st,fe.displaySize[0]-Qe[2]/st,fe.displaySize[1]-Qe[3]/st]}var mt=y.left*ne,Xt=y.right*ne,ur,nr,Lr,Yr;I===\"width\"||I===\"both\"?(Yr=J[0]+mt-U[3],nr=J[0]+Xt+U[1]):(Yr=J[0]+(mt+Xt-fe.displaySize[0])/2,nr=Yr+fe.displaySize[0]);var _i=y.top*ne,si=y.bottom*ne;return I===\"height\"||I===\"both\"?(ur=J[1]+_i-U[0],Lr=J[1]+si+U[2]):(ur=J[1]+(_i+si-fe.displaySize[1])/2,Lr=ur+fe.displaySize[1]),{image:fe,top:ur,right:nr,bottom:Lr,left:Yr,collisionPadding:Fe}}var Gd=function(m){function y(I,U,J,ne){m.call(this,I,U),this.angle=J,ne!==void 0&&(this.segment=ne)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.clone=function(){return new y(this.x,this.y,this.angle,this.segment)},y}(u);Z(\"Anchor\",Gd);var Sd=128;function yp(m,y){var I=y.expression;if(I.kind===\"constant\"){var U=I.evaluate(new pn(m+1));return{kind:\"constant\",layoutSize:U}}else{if(I.kind===\"source\")return{kind:\"source\"};for(var J=I.zoomStops,ne=I.interpolationType,fe=0;fe<J.length&&J[fe]<=m;)fe++;fe=Math.max(0,fe-1);for(var Fe=fe;Fe<J.length&&J[Fe]<m+1;)Fe++;Fe=Math.min(J.length-1,Fe);var Qe=J[fe],st=J[Fe];if(I.kind===\"composite\")return{kind:\"composite\",minZoom:Qe,maxZoom:st,interpolationType:ne};var mt=I.evaluate(new pn(Qe)),Xt=I.evaluate(new pn(st));return{kind:\"camera\",minZoom:Qe,maxZoom:st,minSize:mt,maxSize:Xt,interpolationType:ne}}}function _Q(m,y,I){var U=y.uSize,J=y.uSizeT,ne=I.lowerSize,fe=I.upperSize;return m.kind===\"source\"?ne/Sd:m.kind===\"composite\"?Qs(ne/Sd,fe/Sd,J):U}function xQ(m,y){var I=0,U=0;if(m.kind===\"constant\")U=m.layoutSize;else if(m.kind!==\"source\"){var J=m.interpolationType,ne=m.minZoom,fe=m.maxZoom,Fe=J?p(Dl.interpolationFactor(J,y,ne,fe),0,1):0;m.kind===\"camera\"?U=Qs(m.minSize,m.maxSize,Fe):I=Fe}return{uSizeT:I,uSize:U}}var iQe=Object.freeze({__proto__:null,getSizeData:yp,evaluateSizeForFeature:_Q,evaluateSizeForZoom:xQ,SIZE_PACK_FACTOR:Sd});function bQ(m,y,I,U,J){if(y.segment===void 0)return!0;for(var ne=y,fe=y.segment+1,Fe=0;Fe>-I/2;){if(fe--,fe<0)return!1;Fe-=m[fe].dist(ne),ne=m[fe]}Fe+=m[fe].dist(m[fe+1]),fe++;for(var Qe=[],st=0;Fe<I/2;){var mt=m[fe-1],Xt=m[fe],ur=m[fe+1];if(!ur)return!1;var nr=mt.angleTo(Xt)-Xt.angleTo(ur);for(nr=Math.abs((nr+3*Math.PI)%(Math.PI*2)-Math.PI),Qe.push({distance:Fe,angleDelta:nr}),st+=nr;Fe-Qe[0].distance>U;)st-=Qe.shift().angleDelta;if(st>J)return!1;fe++,Fe+=Xt.dist(ur)}return!0}function wQ(m){for(var y=0,I=0;I<m.length-1;I++)y+=m[I].dist(m[I+1]);return y}function TQ(m,y,I){return m?3/5*y*I:0}function AQ(m,y){return Math.max(m?m.right-m.left:0,y?y.right-y.left:0)}function nQe(m,y,I,U,J,ne){for(var fe=TQ(I,J,ne),Fe=AQ(I,U)*ne,Qe=0,st=wQ(m)/2,mt=0;mt<m.length-1;mt++){var Xt=m[mt],ur=m[mt+1],nr=Xt.dist(ur);if(Qe+nr>st){var Lr=(st-Qe)/nr,Yr=Qs(Xt.x,ur.x,Lr),_i=Qs(Xt.y,ur.y,Lr),si=new Gd(Yr,_i,ur.angleTo(Xt),mt);return si._round(),!fe||bQ(m,si,Fe,fe,y)?si:void 0}Qe+=nr}}function aQe(m,y,I,U,J,ne,fe,Fe,Qe){var st=TQ(U,ne,fe),mt=AQ(U,J),Xt=mt*fe,ur=m[0].x===0||m[0].x===Qe||m[0].y===0||m[0].y===Qe;y-Xt<y/4&&(y=Xt+y/4);var nr=ne*2,Lr=ur?y/2*Fe%y:(mt/2+nr)*fe*Fe%y;return SQ(m,Lr,y,st,I,Xt,ur,!1,Qe)}function SQ(m,y,I,U,J,ne,fe,Fe,Qe){for(var st=ne/2,mt=wQ(m),Xt=0,ur=y-I,nr=[],Lr=0;Lr<m.length-1;Lr++){for(var Yr=m[Lr],_i=m[Lr+1],si=Yr.dist(_i),Hi=_i.angleTo(Yr);ur+I<Xt+si;){ur+=I;var Ei=(ur-Xt)/si,Vi=Qs(Yr.x,_i.x,Ei),en=Qs(Yr.y,_i.y,Ei);if(Vi>=0&&Vi<Qe&&en>=0&&en<Qe&&ur-st>=0&&ur+st<=mt){var An=new Gd(Vi,en,Hi,Lr);An._round(),(!U||bQ(m,An,ne,U,J))&&nr.push(An)}}Xt+=si}return!Fe&&!nr.length&&!fe&&(nr=SQ(m,Xt/2,I,U,J,ne,fe,!0,Qe)),nr}function MQ(m,y,I,U,J){for(var ne=[],fe=0;fe<m.length;fe++)for(var Fe=m[fe],Qe=void 0,st=0;st<Fe.length-1;st++){var mt=Fe[st],Xt=Fe[st+1];mt.x<y&&Xt.x<y||(mt.x<y?mt=new u(y,mt.y+(Xt.y-mt.y)*((y-mt.x)/(Xt.x-mt.x)))._round():Xt.x<y&&(Xt=new u(y,mt.y+(Xt.y-mt.y)*((y-mt.x)/(Xt.x-mt.x)))._round()),!(mt.y<I&&Xt.y<I)&&(mt.y<I?mt=new u(mt.x+(Xt.x-mt.x)*((I-mt.y)/(Xt.y-mt.y)),I)._round():Xt.y<I&&(Xt=new u(mt.x+(Xt.x-mt.x)*((I-mt.y)/(Xt.y-mt.y)),I)._round()),!(mt.x>=U&&Xt.x>=U)&&(mt.x>=U?mt=new u(U,mt.y+(Xt.y-mt.y)*((U-mt.x)/(Xt.x-mt.x)))._round():Xt.x>=U&&(Xt=new u(U,mt.y+(Xt.y-mt.y)*((U-mt.x)/(Xt.x-mt.x)))._round()),!(mt.y>=J&&Xt.y>=J)&&(mt.y>=J?mt=new u(mt.x+(Xt.x-mt.x)*((J-mt.y)/(Xt.y-mt.y)),J)._round():Xt.y>=J&&(Xt=new u(mt.x+(Xt.x-mt.x)*((J-mt.y)/(Xt.y-mt.y)),J)._round()),(!Qe||!mt.equals(Qe[Qe.length-1]))&&(Qe=[mt],ne.push(Qe)),Qe.push(Xt)))))}return ne}var Gw=oc;function EQ(m,y,I,U){var J=[],ne=m.image,fe=ne.pixelRatio,Fe=ne.paddedRect.w-2*Gw,Qe=ne.paddedRect.h-2*Gw,st=m.right-m.left,mt=m.bottom-m.top,Xt=ne.stretchX||[[0,Fe]],ur=ne.stretchY||[[0,Qe]],nr=function(nl,Ws){return nl+Ws[1]-Ws[0]},Lr=Xt.reduce(nr,0),Yr=ur.reduce(nr,0),_i=Fe-Lr,si=Qe-Yr,Hi=0,Ei=Lr,Vi=0,en=Yr,An=0,ra=_i,$n=0,Ba=si;if(ne.content&&U){var _a=ne.content;Hi=HC(Xt,0,_a[0]),Vi=HC(ur,0,_a[1]),Ei=HC(Xt,_a[0],_a[2]),en=HC(ur,_a[1],_a[3]),An=_a[0]-Hi,$n=_a[1]-Vi,ra=_a[2]-_a[0]-Ei,Ba=_a[3]-_a[1]-en}var Pa=function(nl,Ws,Au,Ou){var nf=GC(nl.stretch-Hi,Ei,st,m.left),bf=jC(nl.fixed-An,ra,nl.stretch,Lr),qh=GC(Ws.stretch-Vi,en,mt,m.top),Zf=jC(Ws.fixed-$n,Ba,Ws.stretch,Yr),jd=GC(Au.stretch-Hi,Ei,st,m.left),Wd=jC(Au.fixed-An,ra,Au.stretch,Lr),Oh=GC(Ou.stretch-Vi,en,mt,m.top),fv=jC(Ou.fixed-$n,Ba,Ou.stretch,Yr),hv=new u(nf,qh),hh=new u(jd,qh),dv=new u(jd,Oh),_p=new u(nf,Oh),py=new u(bf/fe,Zf/fe),F1=new u(Wd/fe,fv/fe),q1=y*Math.PI/180;if(q1){var O1=Math.sin(q1),$w=Math.cos(q1),y0=[$w,-O1,O1,$w];hv._matMult(y0),hh._matMult(y0),_p._matMult(y0),dv._matMult(y0)}var JC=nl.stretch+nl.fixed,fq=Au.stretch+Au.fixed,$C=Ws.stretch+Ws.fixed,hq=Ou.stretch+Ou.fixed,jp={x:ne.paddedRect.x+Gw+JC,y:ne.paddedRect.y+Gw+$C,w:fq-JC,h:hq-$C},Qw=ra/fe/st,QC=Ba/fe/mt;return{tl:hv,tr:hh,bl:_p,br:dv,tex:jp,writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:py,pixelOffsetBR:F1,minFontScaleX:Qw,minFontScaleY:QC,isSDF:I}};if(!U||!ne.stretchX&&!ne.stretchY)J.push(Pa({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:Fe+1},{fixed:0,stretch:Qe+1}));else for(var qo=kQ(Xt,_i,Lr),Na=kQ(ur,si,Yr),ja=0;ja<qo.length-1;ja++)for(var us=qo[ja],zo=qo[ja+1],rl=0;rl<Na.length-1;rl++){var su=Na[rl],il=Na[rl+1];J.push(Pa(us,su,zo,il))}return J}function HC(m,y,I){for(var U=0,J=0,ne=m;J<ne.length;J+=1){var fe=ne[J];U+=Math.max(y,Math.min(I,fe[1]))-Math.max(y,Math.min(I,fe[0]))}return U}function kQ(m,y,I){for(var U=[{fixed:-Gw,stretch:0}],J=0,ne=m;J<ne.length;J+=1){var fe=ne[J],Fe=fe[0],Qe=fe[1],st=U[U.length-1];U.push({fixed:Fe-st.stretch,stretch:st.stretch}),U.push({fixed:Fe-st.stretch,stretch:st.stretch+(Qe-Fe)})}return U.push({fixed:y+Gw,stretch:I}),U}function GC(m,y,I,U){return m/y*I+U}function jC(m,y,I,U){return m-y*I/U}function oQe(m,y,I,U,J,ne,fe,Fe){for(var Qe=U.layout.get(\"text-rotate\").evaluate(ne,{})*Math.PI/180,st=[],mt=0,Xt=y.positionedLines;mt<Xt.length;mt+=1)for(var ur=Xt[mt],nr=0,Lr=ur.positionedGlyphs;nr<Lr.length;nr+=1){var Yr=Lr[nr];if(Yr.rect){var _i=Yr.rect||{},si=1,Hi=Gp+si,Ei=!0,Vi=1,en=0,An=(J||Fe)&&Yr.vertical,ra=Yr.metrics.advance*Yr.scale/2;if(Fe&&y.verticalizable){var $n=(Yr.scale-1)*Zi,Ba=(Zi-Yr.metrics.width*Yr.scale)/2;en=ur.lineOffset/2-(Yr.imageName?-Ba:$n)}if(Yr.imageName){var _a=fe[Yr.imageName];Ei=_a.sdf,Vi=_a.pixelRatio,Hi=oc/Vi}var Pa=J?[Yr.x+ra,Yr.y]:[0,0],qo=J?[0,0]:[Yr.x+ra+I[0],Yr.y+I[1]-en],Na=[0,0];An&&(Na=qo,qo=[0,0]);var ja=(Yr.metrics.left-Hi)*Yr.scale-ra+qo[0],us=(-Yr.metrics.top-Hi)*Yr.scale+qo[1],zo=ja+_i.w*Yr.scale/Vi,rl=us+_i.h*Yr.scale/Vi,su=new u(ja,us),il=new u(zo,us),nl=new u(ja,rl),Ws=new u(zo,rl);if(An){var Au=new u(-ra,ra-R1),Ou=-Math.PI/2,nf=Zi/2-ra,bf=Yr.imageName?nf:0,qh=new u(5-R1-nf,-bf),Zf=new(Function.prototype.bind.apply(u,[null].concat(Na)));su._rotateAround(Ou,Au)._add(qh)._add(Zf),il._rotateAround(Ou,Au)._add(qh)._add(Zf),nl._rotateAround(Ou,Au)._add(qh)._add(Zf),Ws._rotateAround(Ou,Au)._add(qh)._add(Zf)}if(Qe){var jd=Math.sin(Qe),Wd=Math.cos(Qe),Oh=[Wd,-jd,jd,Wd];su._matMult(Oh),il._matMult(Oh),nl._matMult(Oh),Ws._matMult(Oh)}var fv=new u(0,0),hv=new u(0,0),hh=0,dv=0;st.push({tl:su,tr:il,bl:nl,br:Ws,tex:_i,writingMode:y.writingMode,glyphOffset:Pa,sectionIndex:Yr.sectionIndex,isSDF:Ei,pixelOffsetTL:fv,pixelOffsetBR:hv,minFontScaleX:hh,minFontScaleY:dv})}}return st}var WC=function(y,I,U,J,ne,fe,Fe,Qe,st,mt){if(this.boxStartIndex=y.length,st){var Xt=fe.top,ur=fe.bottom,nr=fe.collisionPadding;nr&&(Xt-=nr[1],ur+=nr[3]);var Lr=ur-Xt;Lr>0&&(Lr=Math.max(10,Lr),this.circleDiameter=Lr)}else{var Yr=fe.top*Fe-Qe,_i=fe.bottom*Fe+Qe,si=fe.left*Fe-Qe,Hi=fe.right*Fe+Qe,Ei=fe.collisionPadding;if(Ei&&(si-=Ei[0]*Fe,Yr-=Ei[1]*Fe,Hi+=Ei[2]*Fe,_i+=Ei[3]*Fe),mt){var Vi=new u(si,Yr),en=new u(Hi,Yr),An=new u(si,_i),ra=new u(Hi,_i),$n=mt*Math.PI/180;Vi._rotate($n),en._rotate($n),An._rotate($n),ra._rotate($n),si=Math.min(Vi.x,en.x,An.x,ra.x),Hi=Math.max(Vi.x,en.x,An.x,ra.x),Yr=Math.min(Vi.y,en.y,An.y,ra.y),_i=Math.max(Vi.y,en.y,An.y,ra.y)}y.emplaceBack(I.x,I.y,si,Yr,Hi,_i,U,J,ne)}this.boxEndIndex=y.length},jw=function(y,I){if(y===void 0&&(y=[]),I===void 0&&(I=sQe),this.data=y,this.length=this.data.length,this.compare=I,this.length>0)for(var U=(this.length>>1)-1;U>=0;U--)this._down(U)};jw.prototype.push=function(y){this.data.push(y),this.length++,this._up(this.length-1)},jw.prototype.pop=function(){if(this.length!==0){var y=this.data[0],I=this.data.pop();return this.length--,this.length>0&&(this.data[0]=I,this._down(0)),y}},jw.prototype.peek=function(){return this.data[0]},jw.prototype._up=function(y){for(var I=this,U=I.data,J=I.compare,ne=U[y];y>0;){var fe=y-1>>1,Fe=U[fe];if(J(ne,Fe)>=0)break;U[y]=Fe,y=fe}U[y]=ne},jw.prototype._down=function(y){for(var I=this,U=I.data,J=I.compare,ne=this.length>>1,fe=U[y];y<ne;){var Fe=(y<<1)+1,Qe=U[Fe],st=Fe+1;if(st<this.length&&J(U[st],Qe)<0&&(Fe=st,Qe=U[st]),J(Qe,fe)>=0)break;U[y]=Qe,y=Fe}U[y]=fe};function sQe(m,y){return m<y?-1:m>y?1:0}function lQe(m,y,I){y===void 0&&(y=1),I===void 0&&(I=!1);for(var U=1/0,J=1/0,ne=-1/0,fe=-1/0,Fe=m[0],Qe=0;Qe<Fe.length;Qe++){var st=Fe[Qe];(!Qe||st.x<U)&&(U=st.x),(!Qe||st.y<J)&&(J=st.y),(!Qe||st.x>ne)&&(ne=st.x),(!Qe||st.y>fe)&&(fe=st.y)}var mt=ne-U,Xt=fe-J,ur=Math.min(mt,Xt),nr=ur/2,Lr=new jw([],uQe);if(ur===0)return new u(U,J);for(var Yr=U;Yr<ne;Yr+=ur)for(var _i=J;_i<fe;_i+=ur)Lr.push(new Ww(Yr+nr,_i+nr,nr,m));for(var si=fQe(m),Hi=Lr.length;Lr.length;){var Ei=Lr.pop();(Ei.d>si.d||!si.d)&&(si=Ei,I&&console.log(\"found best %d after %d probes\",Math.round(1e4*Ei.d)/1e4,Hi)),!(Ei.max-si.d<=y)&&(nr=Ei.h/2,Lr.push(new Ww(Ei.p.x-nr,Ei.p.y-nr,nr,m)),Lr.push(new Ww(Ei.p.x+nr,Ei.p.y-nr,nr,m)),Lr.push(new Ww(Ei.p.x-nr,Ei.p.y+nr,nr,m)),Lr.push(new Ww(Ei.p.x+nr,Ei.p.y+nr,nr,m)),Hi+=4)}return I&&(console.log(\"num probes: \"+Hi),console.log(\"best distance: \"+si.d)),si.p}function uQe(m,y){return y.max-m.max}function Ww(m,y,I,U){this.p=new u(m,y),this.h=I,this.d=cQe(this.p,U),this.max=this.d+this.h*Math.SQRT2}function cQe(m,y){for(var I=!1,U=1/0,J=0;J<y.length;J++)for(var ne=y[J],fe=0,Fe=ne.length,Qe=Fe-1;fe<Fe;Qe=fe++){var st=ne[fe],mt=ne[Qe];st.y>m.y!=mt.y>m.y&&m.x<(mt.x-st.x)*(m.y-st.y)/(mt.y-st.y)+st.x&&(I=!I),U=Math.min(U,cg(m,st,mt))}return(I?1:-1)*Math.sqrt(U)}function fQe(m){for(var y=0,I=0,U=0,J=m[0],ne=0,fe=J.length,Fe=fe-1;ne<fe;Fe=ne++){var Qe=J[ne],st=J[Fe],mt=Qe.x*st.y-st.x*Qe.y;I+=(Qe.x+st.x)*mt,U+=(Qe.y+st.y)*mt,y+=mt*3}return new Ww(I/y,U/y,0,m)}var Zw=7,nq=Number.POSITIVE_INFINITY;function CQ(m,y){function I(J,ne){var fe=0,Fe=0;ne<0&&(ne=0);var Qe=ne/Math.sqrt(2);switch(J){case\"top-right\":case\"top-left\":Fe=Qe-Zw;break;case\"bottom-right\":case\"bottom-left\":Fe=-Qe+Zw;break;case\"bottom\":Fe=-ne+Zw;break;case\"top\":Fe=ne-Zw;break}switch(J){case\"top-right\":case\"bottom-right\":fe=-Qe;break;case\"top-left\":case\"bottom-left\":fe=Qe;break;case\"left\":fe=ne;break;case\"right\":fe=-ne;break}return[fe,Fe]}function U(J,ne,fe){var Fe=0,Qe=0;switch(ne=Math.abs(ne),fe=Math.abs(fe),J){case\"top-right\":case\"top-left\":case\"top\":Qe=fe-Zw;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":Qe=-fe+Zw;break}switch(J){case\"top-right\":case\"bottom-right\":case\"right\":Fe=-ne;break;case\"top-left\":case\"bottom-left\":case\"left\":Fe=ne;break}return[Fe,Qe]}return y[1]!==nq?U(m,y[0],y[1]):I(m,y[0])}function hQe(m,y,I,U,J,ne,fe){m.createArrays();var Fe=512*m.overscaling;m.tilePixelRatio=rn/Fe,m.compareText={},m.iconsNeedLinear=!1;var Qe=m.layers[0].layout,st=m.layers[0]._unevaluatedLayout._values,mt={};if(m.textSizeData.kind===\"composite\"){var Xt=m.textSizeData,ur=Xt.minZoom,nr=Xt.maxZoom;mt.compositeTextSizes=[st[\"text-size\"].possiblyEvaluate(new pn(ur),fe),st[\"text-size\"].possiblyEvaluate(new pn(nr),fe)]}if(m.iconSizeData.kind===\"composite\"){var Lr=m.iconSizeData,Yr=Lr.minZoom,_i=Lr.maxZoom;mt.compositeIconSizes=[st[\"icon-size\"].possiblyEvaluate(new pn(Yr),fe),st[\"icon-size\"].possiblyEvaluate(new pn(_i),fe)]}mt.layoutTextSize=st[\"text-size\"].possiblyEvaluate(new pn(m.zoom+1),fe),mt.layoutIconSize=st[\"icon-size\"].possiblyEvaluate(new pn(m.zoom+1),fe),mt.textMaxSize=st[\"text-size\"].possiblyEvaluate(new pn(18));for(var si=Qe.get(\"text-line-height\")*Zi,Hi=Qe.get(\"text-rotation-alignment\")===\"map\"&&Qe.get(\"symbol-placement\")!==\"point\",Ei=Qe.get(\"text-keep-upright\"),Vi=Qe.get(\"text-size\"),en=function(){var $n=ra[An],Ba=Qe.get(\"text-font\").evaluate($n,{},fe).join(\",\"),_a=Vi.evaluate($n,{},fe),Pa=mt.layoutTextSize.evaluate($n,{},fe),qo=mt.layoutIconSize.evaluate($n,{},fe),Na={horizontal:{},vertical:void 0},ja=$n.text,us=[0,0];if(ja){var zo=ja.toString(),rl=Qe.get(\"text-letter-spacing\").evaluate($n,{},fe)*Zi,su=or(zo)?rl:0,il=Qe.get(\"text-anchor\").evaluate($n,{},fe),nl=Qe.get(\"text-variable-anchor\");if(!nl){var Ws=Qe.get(\"text-radial-offset\").evaluate($n,{},fe);Ws?us=CQ(il,[Ws*Zi,nq]):us=Qe.get(\"text-offset\").evaluate($n,{},fe).map(function(py){return py*Zi})}var Au=Hi?\"center\":Qe.get(\"text-justify\").evaluate($n,{},fe),Ou=Qe.get(\"symbol-placement\"),nf=Ou===\"point\"?Qe.get(\"text-max-width\").evaluate($n,{},fe)*Zi:0,bf=function(){m.allowVerticalPlacement&&zt(zo)&&(Na.vertical=Vw(ja,y,I,J,Ba,nf,si,il,\"left\",su,us,uv.vertical,!0,Ou,Pa,_a))};if(!Hi&&nl){for(var qh=Au===\"auto\"?nl.map(function(py){return aq(py)}):[Au],Zf=!1,jd=0;jd<qh.length;jd++){var Wd=qh[jd];if(!Na.horizontal[Wd])if(Zf)Na.horizontal[Wd]=Na.horizontal[0];else{var Oh=Vw(ja,y,I,J,Ba,nf,si,\"center\",Wd,su,us,uv.horizontal,!1,Ou,Pa,_a);Oh&&(Na.horizontal[Wd]=Oh,Zf=Oh.positionedLines.length===1)}}bf()}else{Au===\"auto\"&&(Au=aq(il));var fv=Vw(ja,y,I,J,Ba,nf,si,il,Au,su,us,uv.horizontal,!1,Ou,Pa,_a);fv&&(Na.horizontal[Au]=fv),bf(),zt(zo)&&Hi&&Ei&&(Na.vertical=Vw(ja,y,I,J,Ba,nf,si,il,Au,su,us,uv.vertical,!1,Ou,Pa,_a))}}var hv=void 0,hh=!1;if($n.icon&&$n.icon.name){var dv=U[$n.icon.name];dv&&(hv=tp(J[$n.icon.name],Qe.get(\"icon-offset\").evaluate($n,{},fe),Qe.get(\"icon-anchor\").evaluate($n,{},fe)),hh=dv.sdf,m.sdfIcons===void 0?m.sdfIcons=dv.sdf:m.sdfIcons!==dv.sdf&&re(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),(dv.pixelRatio!==m.pixelRatio||Qe.get(\"icon-rotate\").constantOr(1)!==0)&&(m.iconsNeedLinear=!0))}var _p=PQ(Na.horizontal)||Na.vertical;m.iconsInText=_p?_p.iconsInText:!1,(_p||hv)&&dQe(m,$n,Na,hv,U,mt,Pa,qo,us,hh,fe)},An=0,ra=m.features;An<ra.length;An+=1)en();ne&&m.generateCollisionDebugBuffers()}function aq(m){switch(m){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function dQe(m,y,I,U,J,ne,fe,Fe,Qe,st,mt){var Xt=ne.textMaxSize.evaluate(y,{});Xt===void 0&&(Xt=fe);var ur=m.layers[0].layout,nr=ur.get(\"icon-offset\").evaluate(y,{},mt),Lr=PQ(I.horizontal),Yr=24,_i=fe/Yr,si=m.tilePixelRatio*_i,Hi=m.tilePixelRatio*Xt/Yr,Ei=m.tilePixelRatio*Fe,Vi=m.tilePixelRatio*ur.get(\"symbol-spacing\"),en=ur.get(\"text-padding\")*m.tilePixelRatio,An=ur.get(\"icon-padding\")*m.tilePixelRatio,ra=ur.get(\"text-max-angle\")/180*Math.PI,$n=ur.get(\"text-rotation-alignment\")===\"map\"&&ur.get(\"symbol-placement\")!==\"point\",Ba=ur.get(\"icon-rotation-alignment\")===\"map\"&&ur.get(\"symbol-placement\")!==\"point\",_a=ur.get(\"symbol-placement\"),Pa=Vi/2,qo=ur.get(\"icon-text-fit\"),Na;U&&qo!==\"none\"&&(m.allowVerticalPlacement&&I.vertical&&(Na=hm(U,I.vertical,qo,ur.get(\"icon-text-fit-padding\"),nr,_i)),Lr&&(U=hm(U,Lr,qo,ur.get(\"icon-text-fit-padding\"),nr,_i)));var ja=function($w,y0){y0.x<0||y0.x>=rn||y0.y<0||y0.y>=rn||vQe(m,y0,$w,I,U,J,Na,m.layers[0],m.collisionBoxArray,y.index,y.sourceLayerIndex,m.index,si,en,$n,Qe,Ei,An,Ba,nr,y,ne,st,mt,fe)};if(_a===\"line\")for(var us=0,zo=MQ(y.geometry,0,0,rn,rn);us<zo.length;us+=1)for(var rl=zo[us],su=aQe(rl,Vi,ra,I.vertical||Lr,U,Yr,Hi,m.overscaling,rn),il=0,nl=su;il<nl.length;il+=1){var Ws=nl[il],Au=Lr;(!Au||!pQe(m,Au.text,Pa,Ws))&&ja(rl,Ws)}else if(_a===\"line-center\")for(var Ou=0,nf=y.geometry;Ou<nf.length;Ou+=1){var bf=nf[Ou];if(bf.length>1){var qh=nQe(bf,ra,I.vertical||Lr,U,Yr,Hi);qh&&ja(bf,qh)}}else if(y.type===\"Polygon\")for(var Zf=0,jd=zw(y.geometry,0);Zf<jd.length;Zf+=1){var Wd=jd[Zf],Oh=lQe(Wd,16);ja(Wd[0],new Gd(Oh.x,Oh.y,0))}else if(y.type===\"LineString\")for(var fv=0,hv=y.geometry;fv<hv.length;fv+=1){var hh=hv[fv];ja(hh,new Gd(hh[0].x,hh[0].y,0))}else if(y.type===\"Point\")for(var dv=0,_p=y.geometry;dv<_p.length;dv+=1)for(var py=_p[dv],F1=0,q1=py;F1<q1.length;F1+=1){var O1=q1[F1];ja([O1],new Gd(O1.x,O1.y,0))}}var wS=255,D1=wS*Sd;function LQ(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr){var Yr=oQe(y,I,Fe,J,ne,fe,U,m.allowVerticalPlacement),_i=m.textSizeData,si=null;_i.kind===\"source\"?(si=[Sd*J.layout.get(\"text-size\").evaluate(fe,{})],si[0]>D1&&re(m.layerIds[0]+': Value for \"text-size\" is >= '+wS+'. Reduce your \"text-size\".')):_i.kind===\"composite\"&&(si=[Sd*nr.compositeTextSizes[0].evaluate(fe,{},Lr),Sd*nr.compositeTextSizes[1].evaluate(fe,{},Lr)],(si[0]>D1||si[1]>D1)&&re(m.layerIds[0]+': Value for \"text-size\" is >= '+wS+'. Reduce your \"text-size\".')),m.addSymbols(m.text,Yr,si,Fe,ne,fe,st,y,Qe.lineStartIndex,Qe.lineLength,ur,Lr);for(var Hi=0,Ei=mt;Hi<Ei.length;Hi+=1){var Vi=Ei[Hi];Xt[Vi]=m.text.placedSymbolArray.length-1}return Yr.length*4}function PQ(m){for(var y in m)return m[y];return null}function vQe(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n){var Ba,_a=m.addToLineVertexArray(y,I),Pa,qo,Na,ja,us=0,zo=0,rl=0,su=0,il=-1,nl=-1,Ws={},Au=$(\"\"),Ou=0,nf=0;if(Fe._unevaluatedLayout.getValue(\"text-radial-offset\")===void 0?(Ba=Fe.layout.get(\"text-offset\").evaluate(Vi,{},ra).map(function(SS){return SS*Zi}),Ou=Ba[0],nf=Ba[1]):(Ou=Fe.layout.get(\"text-radial-offset\").evaluate(Vi,{},ra)*Zi,nf=nq),m.allowVerticalPlacement&&U.vertical){var bf=Fe.layout.get(\"text-rotate\").evaluate(Vi,{},ra),qh=bf+90,Zf=U.vertical;Na=new WC(Qe,y,st,mt,Xt,Zf,ur,nr,Lr,qh),fe&&(ja=new WC(Qe,y,st,mt,Xt,fe,_i,si,Lr,qh))}if(J){var jd=Fe.layout.get(\"icon-rotate\").evaluate(Vi,{}),Wd=Fe.layout.get(\"icon-text-fit\")!==\"none\",Oh=EQ(J,jd,An,Wd),fv=fe?EQ(fe,jd,An,Wd):void 0;qo=new WC(Qe,y,st,mt,Xt,J,_i,si,!1,jd),us=Oh.length*4;var hv=m.iconSizeData,hh=null;hv.kind===\"source\"?(hh=[Sd*Fe.layout.get(\"icon-size\").evaluate(Vi,{})],hh[0]>D1&&re(m.layerIds[0]+': Value for \"icon-size\" is >= '+wS+'. Reduce your \"icon-size\".')):hv.kind===\"composite\"&&(hh=[Sd*en.compositeIconSizes[0].evaluate(Vi,{},ra),Sd*en.compositeIconSizes[1].evaluate(Vi,{},ra)],(hh[0]>D1||hh[1]>D1)&&re(m.layerIds[0]+': Value for \"icon-size\" is >= '+wS+'. Reduce your \"icon-size\".')),m.addSymbols(m.icon,Oh,hh,Ei,Hi,Vi,!1,y,_a.lineStartIndex,_a.lineLength,-1,ra),il=m.icon.placedSymbolArray.length-1,fv&&(zo=fv.length*4,m.addSymbols(m.icon,fv,hh,Ei,Hi,Vi,uv.vertical,y,_a.lineStartIndex,_a.lineLength,-1,ra),nl=m.icon.placedSymbolArray.length-1)}for(var dv in U.horizontal){var _p=U.horizontal[dv];if(!Pa){Au=$(_p.text);var py=Fe.layout.get(\"text-rotate\").evaluate(Vi,{},ra);Pa=new WC(Qe,y,st,mt,Xt,_p,ur,nr,Lr,py)}var F1=_p.positionedLines.length===1;if(rl+=LQ(m,y,_p,ne,Fe,Lr,Vi,Yr,_a,U.vertical?uv.horizontal:uv.horizontalOnly,F1?Object.keys(U.horizontal):[dv],Ws,il,en,ra),F1)break}U.vertical&&(su+=LQ(m,y,U.vertical,ne,Fe,Lr,Vi,Yr,_a,uv.vertical,[\"vertical\"],Ws,nl,en,ra));var q1=Pa?Pa.boxStartIndex:m.collisionBoxArray.length,O1=Pa?Pa.boxEndIndex:m.collisionBoxArray.length,$w=Na?Na.boxStartIndex:m.collisionBoxArray.length,y0=Na?Na.boxEndIndex:m.collisionBoxArray.length,JC=qo?qo.boxStartIndex:m.collisionBoxArray.length,fq=qo?qo.boxEndIndex:m.collisionBoxArray.length,$C=ja?ja.boxStartIndex:m.collisionBoxArray.length,hq=ja?ja.boxEndIndex:m.collisionBoxArray.length,jp=-1,Qw=function(SS,ZQ){return SS&&SS.circleDiameter?Math.max(SS.circleDiameter,ZQ):ZQ};jp=Qw(Pa,jp),jp=Qw(Na,jp),jp=Qw(qo,jp),jp=Qw(ja,jp);var QC=jp>-1?1:0;QC&&(jp*=$n/Zi),m.glyphOffsetArray.length>=ou.MAX_GLYPHS&&re(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),Vi.sortKey!==void 0&&m.addToSortKeyRanges(m.symbolInstances.length,Vi.sortKey),m.symbolInstances.emplaceBack(y.x,y.y,Ws.right>=0?Ws.right:-1,Ws.center>=0?Ws.center:-1,Ws.left>=0?Ws.left:-1,Ws.vertical||-1,il,nl,Au,q1,O1,$w,y0,JC,fq,$C,hq,st,rl,su,us,zo,QC,0,ur,Ou,nf,jp)}function pQe(m,y,I,U){var J=m.compareText;if(!(y in J))J[y]=[];else for(var ne=J[y],fe=ne.length-1;fe>=0;fe--)if(U.dist(ne[fe])<I)return!0;return J[y].push(U),!1}var gQe=pg.VectorTileFeature.types,mQe=[{name:\"a_fade_opacity\",components:1,type:\"Uint8\",offset:0}];function ZC(m,y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){var nr=Fe?Math.min(D1,Math.round(Fe[0])):0,Lr=Fe?Math.min(D1,Math.round(Fe[1])):0;m.emplaceBack(y,I,Math.round(U*32),Math.round(J*32),ne,fe,(nr<<1)+(Qe?1:0),Lr,st*16,mt*16,Xt*256,ur*256)}function oq(m,y,I){m.emplaceBack(y.x,y.y,I),m.emplaceBack(y.x,y.y,I),m.emplaceBack(y.x,y.y,I),m.emplaceBack(y.x,y.y,I)}function yQe(m){for(var y=0,I=m.sections;y<I.length;y+=1){var U=I[y];if(vi(U.text))return!0}return!1}var Xw=function(y){this.layoutVertexArray=new Za,this.indexArray=new ma,this.programConfigurations=y,this.segments=new ns,this.dynamicLayoutVertexArray=new wn,this.opacityVertexArray=new vn,this.placedSymbolArray=new El};Xw.prototype.isEmpty=function(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0},Xw.prototype.upload=function(y,I,U,J){this.isEmpty()||(U&&(this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,te.members),this.indexBuffer=y.createIndexBuffer(this.indexArray,I),this.dynamicLayoutVertexBuffer=y.createVertexBuffer(this.dynamicLayoutVertexArray,ue.members,!0),this.opacityVertexBuffer=y.createVertexBuffer(this.opacityVertexArray,mQe,!0),this.opacityVertexBuffer.itemSize=1),(U||J)&&this.programConfigurations.upload(y))},Xw.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},Z(\"SymbolBuffers\",Xw);var TS=function(y,I,U){this.layoutVertexArray=new y,this.layoutAttributes=I,this.indexArray=new U,this.segments=new ns,this.collisionVertexArray=new Vn};TS.prototype.upload=function(y){this.layoutVertexBuffer=y.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=y.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=y.createVertexBuffer(this.collisionVertexArray,De.members,!0)},TS.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},Z(\"CollisionBuffers\",TS);var ou=function(y){this.collisionBoxArray=y.collisionBoxArray,this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(Qe){return Qe.id}),this.index=y.index,this.pixelRatio=y.pixelRatio,this.sourceLayerIndex=y.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=oy([]),this.placementViewportMatrix=oy([]);var I=this.layers[0],U=I._unevaluatedLayout._values;this.textSizeData=yp(this.zoom,U[\"text-size\"]),this.iconSizeData=yp(this.zoom,U[\"icon-size\"]);var J=this.layers[0].layout,ne=J.get(\"symbol-sort-key\"),fe=J.get(\"symbol-z-order\");this.canOverlap=J.get(\"text-allow-overlap\")||J.get(\"icon-allow-overlap\")||J.get(\"text-ignore-placement\")||J.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=fe!==\"viewport-y\"&&ne.constantOr(1)!==void 0;var Fe=fe===\"viewport-y\"||fe===\"auto\"&&!this.sortFeaturesByKey;this.sortFeaturesByY=Fe&&this.canOverlap,J.get(\"symbol-placement\")===\"point\"&&(this.writingModes=J.get(\"text-writing-mode\").map(function(Qe){return uv[Qe]})),this.stateDependentLayerIds=this.layers.filter(function(Qe){return Qe.isStateDependent()}).map(function(Qe){return Qe.id}),this.sourceID=y.sourceID};ou.prototype.createArrays=function(){this.text=new Xw(new Ri(this.layers,this.zoom,function(y){return/^text/.test(y)})),this.icon=new Xw(new Ri(this.layers,this.zoom,function(y){return/^icon/.test(y)})),this.glyphOffsetArray=new yf,this.lineVertexArray=new Gl,this.symbolInstances=new wc},ou.prototype.calculateGlyphDependencies=function(y,I,U,J,ne){for(var fe=0;fe<y.length;fe++)if(I[y.charCodeAt(fe)]=!0,(U||J)&&ne){var Fe=pi[y.charAt(fe)];Fe&&(I[Fe.charCodeAt(0)]=!0)}},ou.prototype.populate=function(y,I,U){var J=this.layers[0],ne=J.layout,fe=ne.get(\"text-font\"),Fe=ne.get(\"text-field\"),Qe=ne.get(\"icon-image\"),st=(Fe.value.kind!==\"constant\"||Fe.value.value instanceof Vl&&!Fe.value.value.isEmpty()||Fe.value.value.toString().length>0)&&(fe.value.kind!==\"constant\"||fe.value.value.length>0),mt=Qe.value.kind!==\"constant\"||!!Qe.value.value||Object.keys(Qe.parameters).length>0,Xt=ne.get(\"symbol-sort-key\");if(this.features=[],!(!st&&!mt)){for(var ur=I.iconDependencies,nr=I.glyphDependencies,Lr=I.availableImages,Yr=new pn(this.zoom),_i=0,si=y;_i<si.length;_i+=1){var Hi=si[_i],Ei=Hi.feature,Vi=Hi.id,en=Hi.index,An=Hi.sourceLayerIndex,ra=J._featureFilter.needGeometry,$n=No(Ei,ra);if(J._featureFilter.filter(Yr,$n,U)){ra||($n.geometry=da(Ei));var Ba=void 0;if(st){var _a=J.getValueAndResolveTokens(\"text-field\",$n,U,Lr),Pa=Vl.factory(_a);yQe(Pa)&&(this.hasRTLText=!0),(!this.hasRTLText||so()===\"unavailable\"||this.hasRTLText&&_s.isParsed())&&(Ba=ni(Pa,J,$n))}var qo=void 0;if(mt){var Na=J.getValueAndResolveTokens(\"icon-image\",$n,U,Lr);Na instanceof Js?qo=Na:qo=Js.fromString(Na)}if(!(!Ba&&!qo)){var ja=this.sortFeaturesByKey?Xt.evaluate($n,{},U):void 0,us={id:Vi,text:Ba,icon:qo,index:en,sourceLayerIndex:An,geometry:$n.geometry,properties:Ei.properties,type:gQe[Ei.type],sortKey:ja};if(this.features.push(us),qo&&(ur[qo.name]=!0),Ba){var zo=fe.evaluate($n,{},U).join(\",\"),rl=ne.get(\"text-rotation-alignment\")===\"map\"&&ne.get(\"symbol-placement\")!==\"point\";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(uv.vertical)>=0;for(var su=0,il=Ba.sections;su<il.length;su+=1){var nl=il[su];if(nl.image)ur[nl.image.name]=!0;else{var Ws=zt(Ba.toString()),Au=nl.fontStack||zo,Ou=nr[Au]=nr[Au]||{};this.calculateGlyphDependencies(nl.text,Ou,rl,this.allowVerticalPlacement,Ws)}}}}}}ne.get(\"symbol-placement\")===\"line\"&&(this.features=Di(this.features)),this.sortFeaturesByKey&&this.features.sort(function(nf,bf){return nf.sortKey-bf.sortKey})}},ou.prototype.update=function(y,I,U){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(y,I,this.layers,U),this.icon.programConfigurations.updatePaintArrays(y,I,this.layers,U))},ou.prototype.isEmpty=function(){return this.symbolInstances.length===0&&!this.hasRTLText},ou.prototype.uploadPending=function(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload},ou.prototype.upload=function(y){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(y),this.iconCollisionBox.upload(y)),this.text.upload(y,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(y,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0},ou.prototype.destroyDebugData=function(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()},ou.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()},ou.prototype.addToLineVertexArray=function(y,I){var U=this.lineVertexArray.length;if(y.segment!==void 0){for(var J=y.dist(I[y.segment+1]),ne=y.dist(I[y.segment]),fe={},Fe=y.segment+1;Fe<I.length;Fe++)fe[Fe]={x:I[Fe].x,y:I[Fe].y,tileUnitDistanceFromAnchor:J},Fe<I.length-1&&(J+=I[Fe+1].dist(I[Fe]));for(var Qe=y.segment||0;Qe>=0;Qe--)fe[Qe]={x:I[Qe].x,y:I[Qe].y,tileUnitDistanceFromAnchor:ne},Qe>0&&(ne+=I[Qe-1].dist(I[Qe]));for(var st=0;st<I.length;st++){var mt=fe[st];this.lineVertexArray.emplaceBack(mt.x,mt.y,mt.tileUnitDistanceFromAnchor)}}return{lineStartIndex:U,lineLength:this.lineVertexArray.length-U}},ou.prototype.addSymbols=function(y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){for(var nr=y.indexArray,Lr=y.layoutVertexArray,Yr=y.segments.prepareSegment(4*I.length,Lr,nr,this.canOverlap?fe.sortKey:void 0),_i=this.glyphOffsetArray.length,si=Yr.vertexLength,Hi=this.allowVerticalPlacement&&Fe===uv.vertical?Math.PI/2:0,Ei=fe.text&&fe.text.sections,Vi=0;Vi<I.length;Vi++){var en=I[Vi],An=en.tl,ra=en.tr,$n=en.bl,Ba=en.br,_a=en.tex,Pa=en.pixelOffsetTL,qo=en.pixelOffsetBR,Na=en.minFontScaleX,ja=en.minFontScaleY,us=en.glyphOffset,zo=en.isSDF,rl=en.sectionIndex,su=Yr.vertexLength,il=us[1];ZC(Lr,Qe.x,Qe.y,An.x,il+An.y,_a.x,_a.y,U,zo,Pa.x,Pa.y,Na,ja),ZC(Lr,Qe.x,Qe.y,ra.x,il+ra.y,_a.x+_a.w,_a.y,U,zo,qo.x,Pa.y,Na,ja),ZC(Lr,Qe.x,Qe.y,$n.x,il+$n.y,_a.x,_a.y+_a.h,U,zo,Pa.x,qo.y,Na,ja),ZC(Lr,Qe.x,Qe.y,Ba.x,il+Ba.y,_a.x+_a.w,_a.y+_a.h,U,zo,qo.x,qo.y,Na,ja),oq(y.dynamicLayoutVertexArray,Qe,Hi),nr.emplaceBack(su,su+1,su+2),nr.emplaceBack(su+1,su+2,su+3),Yr.vertexLength+=4,Yr.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(us[0]),(Vi===I.length-1||rl!==I[Vi+1].sectionIndex)&&y.programConfigurations.populatePaintArrays(Lr.length,fe,fe.index,{},ur,Ei&&Ei[rl])}y.placedSymbolArray.emplaceBack(Qe.x,Qe.y,_i,this.glyphOffsetArray.length-_i,si,st,mt,Qe.segment,U?U[0]:0,U?U[1]:0,J[0],J[1],Fe,0,!1,0,Xt)},ou.prototype._addCollisionDebugVertex=function(y,I,U,J,ne,fe){return I.emplaceBack(0,0),y.emplaceBack(U.x,U.y,J,ne,Math.round(fe.x),Math.round(fe.y))},ou.prototype.addCollisionDebugVertices=function(y,I,U,J,ne,fe,Fe){var Qe=ne.segments.prepareSegment(4,ne.layoutVertexArray,ne.indexArray),st=Qe.vertexLength,mt=ne.layoutVertexArray,Xt=ne.collisionVertexArray,ur=Fe.anchorX,nr=Fe.anchorY;this._addCollisionDebugVertex(mt,Xt,fe,ur,nr,new u(y,I)),this._addCollisionDebugVertex(mt,Xt,fe,ur,nr,new u(U,I)),this._addCollisionDebugVertex(mt,Xt,fe,ur,nr,new u(U,J)),this._addCollisionDebugVertex(mt,Xt,fe,ur,nr,new u(y,J)),Qe.vertexLength+=4;var Lr=ne.indexArray;Lr.emplaceBack(st,st+1),Lr.emplaceBack(st+1,st+2),Lr.emplaceBack(st+2,st+3),Lr.emplaceBack(st+3,st),Qe.primitiveLength+=4},ou.prototype.addDebugCollisionBoxes=function(y,I,U,J){for(var ne=y;ne<I;ne++){var fe=this.collisionBoxArray.get(ne),Fe=fe.x1,Qe=fe.y1,st=fe.x2,mt=fe.y2;this.addCollisionDebugVertices(Fe,Qe,st,mt,J?this.textCollisionBox:this.iconCollisionBox,fe.anchorPoint,U)}},ou.prototype.generateCollisionDebugBuffers=function(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new TS(aa,at.members,Po),this.iconCollisionBox=new TS(aa,at.members,Po);for(var y=0;y<this.symbolInstances.length;y++){var I=this.symbolInstances.get(y);this.addDebugCollisionBoxes(I.textBoxStartIndex,I.textBoxEndIndex,I,!0),this.addDebugCollisionBoxes(I.verticalTextBoxStartIndex,I.verticalTextBoxEndIndex,I,!0),this.addDebugCollisionBoxes(I.iconBoxStartIndex,I.iconBoxEndIndex,I,!1),this.addDebugCollisionBoxes(I.verticalIconBoxStartIndex,I.verticalIconBoxEndIndex,I,!1)}},ou.prototype._deserializeCollisionBoxesForSymbol=function(y,I,U,J,ne,fe,Fe,Qe,st){for(var mt={},Xt=I;Xt<U;Xt++){var ur=y.get(Xt);mt.textBox={x1:ur.x1,y1:ur.y1,x2:ur.x2,y2:ur.y2,anchorPointX:ur.anchorPointX,anchorPointY:ur.anchorPointY},mt.textFeatureIndex=ur.featureIndex;break}for(var nr=J;nr<ne;nr++){var Lr=y.get(nr);mt.verticalTextBox={x1:Lr.x1,y1:Lr.y1,x2:Lr.x2,y2:Lr.y2,anchorPointX:Lr.anchorPointX,anchorPointY:Lr.anchorPointY},mt.verticalTextFeatureIndex=Lr.featureIndex;break}for(var Yr=fe;Yr<Fe;Yr++){var _i=y.get(Yr);mt.iconBox={x1:_i.x1,y1:_i.y1,x2:_i.x2,y2:_i.y2,anchorPointX:_i.anchorPointX,anchorPointY:_i.anchorPointY},mt.iconFeatureIndex=_i.featureIndex;break}for(var si=Qe;si<st;si++){var Hi=y.get(si);mt.verticalIconBox={x1:Hi.x1,y1:Hi.y1,x2:Hi.x2,y2:Hi.y2,anchorPointX:Hi.anchorPointX,anchorPointY:Hi.anchorPointY},mt.verticalIconFeatureIndex=Hi.featureIndex;break}return mt},ou.prototype.deserializeCollisionBoxes=function(y){this.collisionArrays=[];for(var I=0;I<this.symbolInstances.length;I++){var U=this.symbolInstances.get(I);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(y,U.textBoxStartIndex,U.textBoxEndIndex,U.verticalTextBoxStartIndex,U.verticalTextBoxEndIndex,U.iconBoxStartIndex,U.iconBoxEndIndex,U.verticalIconBoxStartIndex,U.verticalIconBoxEndIndex))}},ou.prototype.hasTextData=function(){return this.text.segments.get().length>0},ou.prototype.hasIconData=function(){return this.icon.segments.get().length>0},ou.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},ou.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},ou.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},ou.prototype.addIndicesForPlacedSymbol=function(y,I){for(var U=y.placedSymbolArray.get(I),J=U.vertexStartIndex+U.numGlyphs*4,ne=U.vertexStartIndex;ne<J;ne+=4)y.indexArray.emplaceBack(ne,ne+1,ne+2),y.indexArray.emplaceBack(ne+1,ne+2,ne+3)},ou.prototype.getSortedSymbolIndexes=function(y){if(this.sortedAngle===y&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;for(var I=Math.sin(y),U=Math.cos(y),J=[],ne=[],fe=[],Fe=0;Fe<this.symbolInstances.length;++Fe){fe.push(Fe);var Qe=this.symbolInstances.get(Fe);J.push(Math.round(I*Qe.anchorX+U*Qe.anchorY)|0),ne.push(Qe.featureIndex)}return fe.sort(function(st,mt){return J[st]-J[mt]||ne[mt]-ne[st]}),fe},ou.prototype.addToSortKeyRanges=function(y,I){var U=this.sortKeyRanges[this.sortKeyRanges.length-1];U&&U.sortKey===I?U.symbolInstanceEnd=y+1:this.sortKeyRanges.push({sortKey:I,symbolInstanceStart:y,symbolInstanceEnd:y+1})},ou.prototype.sortFeatures=function(y){var I=this;if(this.sortFeaturesByY&&this.sortedAngle!==y&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(y),this.sortedAngle=y,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var U=0,J=this.symbolInstanceIndexes;U<J.length;U+=1){var ne=J[U],fe=this.symbolInstances.get(ne);this.featureSortOrder.push(fe.featureIndex),[fe.rightJustifiedTextSymbolIndex,fe.centerJustifiedTextSymbolIndex,fe.leftJustifiedTextSymbolIndex].forEach(function(Fe,Qe,st){Fe>=0&&st.indexOf(Fe)===Qe&&I.addIndicesForPlacedSymbol(I.text,Fe)}),fe.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,fe.verticalPlacedTextSymbolIndex),fe.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,fe.placedIconSymbolIndex),fe.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,fe.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},Z(\"SymbolBucket\",ou,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),ou.MAX_GLYPHS=65535,ou.addDynamicAttributes=oq;function _Qe(m,y){return y.replace(/{([^{}]+)}/g,function(I,U){return U in m?String(m[U]):\"\"})}var xQe=new Oi({\"symbol-placement\":new At(on.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new At(on.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new At(on.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new Er(on.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new At(on.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new At(on.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new At(on.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new At(on.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new At(on.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new Er(on.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new At(on.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new At(on.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new Er(on.layout_symbol[\"icon-image\"]),\"icon-rotate\":new Er(on.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new At(on.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new At(on.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new Er(on.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new Er(on.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new At(on.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new At(on.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new At(on.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new Er(on.layout_symbol[\"text-field\"]),\"text-font\":new Er(on.layout_symbol[\"text-font\"]),\"text-size\":new Er(on.layout_symbol[\"text-size\"]),\"text-max-width\":new Er(on.layout_symbol[\"text-max-width\"]),\"text-line-height\":new At(on.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new Er(on.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new Er(on.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new Er(on.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new At(on.layout_symbol[\"text-variable-anchor\"]),\"text-anchor\":new Er(on.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new At(on.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new At(on.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new Er(on.layout_symbol[\"text-rotate\"]),\"text-padding\":new At(on.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new At(on.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new Er(on.layout_symbol[\"text-transform\"]),\"text-offset\":new Er(on.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new At(on.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new At(on.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new At(on.layout_symbol[\"text-optional\"])}),bQe=new Oi({\"icon-opacity\":new Er(on.paint_symbol[\"icon-opacity\"]),\"icon-color\":new Er(on.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new Er(on.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new Er(on.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new Er(on.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new At(on.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new At(on.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new Er(on.paint_symbol[\"text-opacity\"]),\"text-color\":new Er(on.paint_symbol[\"text-color\"],{runtimeType:Tl,getOverride:function(m){return m.textColor},hasOverride:function(m){return!!m.textColor}}),\"text-halo-color\":new Er(on.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new Er(on.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new Er(on.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new At(on.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new At(on.paint_symbol[\"text-translate-anchor\"])}),sq={paint:bQe,layout:xQe},Yw=function(y){this.type=y.property.overrides?y.property.overrides.runtimeType:Ec,this.defaultValue=y};Yw.prototype.evaluate=function(y){if(y.formattedSection){var I=this.defaultValue.property.overrides;if(I&&I.hasOverride(y.formattedSection))return I.getOverride(y.formattedSection)}return y.feature&&y.featureState?this.defaultValue.evaluate(y.feature,y.featureState):this.defaultValue.property.specification.default},Yw.prototype.eachChild=function(y){if(!this.defaultValue.isConstant()){var I=this.defaultValue.value;y(I._styleExpression.expression)}},Yw.prototype.outputDefined=function(){return!1},Yw.prototype.serialize=function(){return null},Z(\"FormatSectionOverride\",Yw,{omit:[\"defaultValue\"]});var wQe=function(m){function y(I){m.call(this,I,sq)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.recalculate=function(U,J){if(m.prototype.recalculate.call(this,U,J),this.layout.get(\"icon-rotation-alignment\")===\"auto\"&&(this.layout.get(\"symbol-placement\")!==\"point\"?this.layout._values[\"icon-rotation-alignment\"]=\"map\":this.layout._values[\"icon-rotation-alignment\"]=\"viewport\"),this.layout.get(\"text-rotation-alignment\")===\"auto\"&&(this.layout.get(\"symbol-placement\")!==\"point\"?this.layout._values[\"text-rotation-alignment\"]=\"map\":this.layout._values[\"text-rotation-alignment\"]=\"viewport\"),this.layout.get(\"text-pitch-alignment\")===\"auto\"&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")),this.layout.get(\"icon-pitch-alignment\")===\"auto\"&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),this.layout.get(\"symbol-placement\")===\"point\"){var ne=this.layout.get(\"text-writing-mode\");if(ne){for(var fe=[],Fe=0,Qe=ne;Fe<Qe.length;Fe+=1){var st=Qe[Fe];fe.indexOf(st)<0&&fe.push(st)}this.layout._values[\"text-writing-mode\"]=fe}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]}this._setPaintOverrides()},y.prototype.getValueAndResolveTokens=function(U,J,ne,fe){var Fe=this.layout.get(U).evaluate(J,{},ne,fe),Qe=this._unevaluatedLayout._values[U];return!Qe.isDataDriven()&&!Da(Qe.value)&&Fe?_Qe(J.properties,Fe):Fe},y.prototype.createBucket=function(U){return new ou(U)},y.prototype.queryRadius=function(){return 0},y.prototype.queryIntersectsFeature=function(){return!1},y.prototype._setPaintOverrides=function(){for(var U=0,J=sq.paint.overridableProperties;U<J.length;U+=1){var ne=J[U];if(y.hasPaintOverride(this.layout,ne)){var fe=this.paint.get(ne),Fe=new Yw(fe),Qe=new Dc(Fe,fe.property.specification),st=null;fe.value.kind===\"constant\"||fe.value.kind===\"source\"?st=new Jc(\"source\",Qe):st=new yc(\"composite\",Qe,fe.value.zoomStops,fe.value._interpolationType),this.paint._values[ne]=new dl(fe.property,st,fe.parameters)}}},y.prototype._handleOverridablePaintPropertyUpdate=function(U,J,ne){return!this.layout||J.isDataDriven()||ne.isDataDriven()?!1:y.hasPaintOverride(this.layout,U)},y.hasPaintOverride=function(U,J){var ne=U.get(\"text-field\"),fe=sq.paint.properties[J],Fe=!1,Qe=function(Xt){for(var ur=0,nr=Xt;ur<nr.length;ur+=1){var Lr=nr[ur];if(fe.overrides&&fe.overrides.hasOverride(Lr)){Fe=!0;return}}};if(ne.value.kind===\"constant\"&&ne.value.value instanceof Vl)Qe(ne.value.value.sections);else if(ne.value.kind===\"source\"){var st=function(Xt){if(!Fe)if(Xt instanceof hs&&ws(Xt.value)===Al){var ur=Xt.value;Qe(ur.sections)}else Xt instanceof ec?Qe(Xt.sections):Xt.eachChild(st)},mt=ne.value;mt._styleExpression&&st(mt._styleExpression.expression)}return Fe},y}(cn),TQe=new Oi({\"background-color\":new At(on.paint_background[\"background-color\"]),\"background-pattern\":new wi(on.paint_background[\"background-pattern\"]),\"background-opacity\":new At(on.paint_background[\"background-opacity\"])}),AQe={paint:TQe},SQe=function(m){function y(I){m.call(this,I,AQe)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(cn),MQe=new Oi({\"raster-opacity\":new At(on.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new At(on.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new At(on.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new At(on.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new At(on.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new At(on.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new At(on.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new At(on.paint_raster[\"raster-fade-duration\"])}),EQe={paint:MQe},kQe=function(m){function y(I){m.call(this,I,EQe)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y}(cn);function CQe(m){var y=[],I=m.id;return I===void 0&&y.push({message:\"layers.\"+I+': missing required property \"id\"'}),m.render===void 0&&y.push({message:\"layers.\"+I+': missing required method \"render\"'}),m.renderingMode&&m.renderingMode!==\"2d\"&&m.renderingMode!==\"3d\"&&y.push({message:\"layers.\"+I+': property \"renderingMode\" must be either \"2d\" or \"3d\"'}),y}var LQe=function(m){function y(I){m.call(this,I,{}),this.implementation=I}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.is3D=function(){return this.implementation.renderingMode===\"3d\"},y.prototype.hasOffscreenPass=function(){return this.implementation.prerender!==void 0},y.prototype.recalculate=function(){},y.prototype.updateTransitions=function(){},y.prototype.hasTransition=function(){},y.prototype.serialize=function(){},y.prototype.onAdd=function(U){this.implementation.onAdd&&this.implementation.onAdd(U,U.painter.context.gl)},y.prototype.onRemove=function(U){this.implementation.onRemove&&this.implementation.onRemove(U,U.painter.context.gl)},y}(cn),PQe={circle:O9,heatmap:Lw,hillshade:dC,fill:Qx,\"fill-extrusion\":fm,line:S,symbol:wQe,background:SQe,raster:kQe};function IQe(m){return m.type===\"custom\"?new LQe(m):new PQe[m.type](m)}var IQ=f.HTMLImageElement,RQ=f.HTMLCanvasElement,DQ=f.HTMLVideoElement,zQ=f.ImageData,XC=f.ImageBitmap,ib=function(y,I,U,J){this.context=y,this.format=U,this.texture=y.gl.createTexture(),this.update(I,J)};ib.prototype.update=function(y,I,U){var J=y.width,ne=y.height,fe=(!this.size||this.size[0]!==J||this.size[1]!==ne)&&!U,Fe=this,Qe=Fe.context,st=Qe.gl;if(this.useMipmap=!!(I&&I.useMipmap),st.bindTexture(st.TEXTURE_2D,this.texture),Qe.pixelStoreUnpackFlipY.set(!1),Qe.pixelStoreUnpack.set(1),Qe.pixelStoreUnpackPremultiplyAlpha.set(this.format===st.RGBA&&(!I||I.premultiply!==!1)),fe)this.size=[J,ne],y instanceof IQ||y instanceof RQ||y instanceof DQ||y instanceof zQ||XC&&y instanceof XC?st.texImage2D(st.TEXTURE_2D,0,this.format,this.format,st.UNSIGNED_BYTE,y):st.texImage2D(st.TEXTURE_2D,0,this.format,J,ne,0,this.format,st.UNSIGNED_BYTE,y.data);else{var mt=U||{x:0,y:0},Xt=mt.x,ur=mt.y;y instanceof IQ||y instanceof RQ||y instanceof DQ||y instanceof zQ||XC&&y instanceof XC?st.texSubImage2D(st.TEXTURE_2D,0,Xt,ur,st.RGBA,st.UNSIGNED_BYTE,y):st.texSubImage2D(st.TEXTURE_2D,0,Xt,ur,J,ne,st.RGBA,st.UNSIGNED_BYTE,y.data)}this.useMipmap&&this.isSizePowerOfTwo()&&st.generateMipmap(st.TEXTURE_2D)},ib.prototype.bind=function(y,I,U){var J=this,ne=J.context,fe=ne.gl;fe.bindTexture(fe.TEXTURE_2D,this.texture),U===fe.LINEAR_MIPMAP_NEAREST&&!this.isSizePowerOfTwo()&&(U=fe.LINEAR),y!==this.filter&&(fe.texParameteri(fe.TEXTURE_2D,fe.TEXTURE_MAG_FILTER,y),fe.texParameteri(fe.TEXTURE_2D,fe.TEXTURE_MIN_FILTER,U||y),this.filter=y),I!==this.wrap&&(fe.texParameteri(fe.TEXTURE_2D,fe.TEXTURE_WRAP_S,I),fe.texParameteri(fe.TEXTURE_2D,fe.TEXTURE_WRAP_T,I),this.wrap=I)},ib.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1===0},ib.prototype.destroy=function(){var y=this.context,I=y.gl;I.deleteTexture(this.texture),this.texture=null};var lq=function(y){var I=this;this._callback=y,this._triggered=!1,typeof MessageChannel!=\"undefined\"&&(this._channel=new MessageChannel,this._channel.port2.onmessage=function(){I._triggered=!1,I._callback()})};lq.prototype.trigger=function(){var y=this;this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(function(){y._triggered=!1,y._callback()},0))},lq.prototype.remove=function(){delete this._channel,this._callback=function(){}};var Kw=function(y,I,U){this.target=y,this.parent=I,this.mapId=U,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},q([\"receive\",\"process\"],this),this.invoker=new lq(this.process),this.target.addEventListener(\"message\",this.receive,!1),this.globalScope=ke()?y:f};Kw.prototype.send=function(y,I,U,J,ne){var fe=this;ne===void 0&&(ne=!1);var Fe=Math.round(Math.random()*1e18).toString(36).substring(0,10);U&&(this.callbacks[Fe]=U);var Qe=Te(this.globalScope)?void 0:[];return this.target.postMessage({id:Fe,type:y,hasCallback:!!U,targetMapId:J,mustQueue:ne,sourceMapId:this.mapId,data:Ue(I,Qe)},Qe),{cancel:function(){U&&delete fe.callbacks[Fe],fe.target.postMessage({id:Fe,type:\"<cancel>\",targetMapId:J,sourceMapId:fe.mapId})}}},Kw.prototype.receive=function(y){var I=y.data,U=I.id;if(U&&!(I.targetMapId&&this.mapId!==I.targetMapId))if(I.type===\"<cancel>\"){delete this.tasks[U];var J=this.cancelCallbacks[U];delete this.cancelCallbacks[U],J&&J()}else ke()||I.mustQueue?(this.tasks[U]=I,this.taskQueue.push(U),this.invoker.trigger()):this.processTask(U,I)},Kw.prototype.process=function(){if(this.taskQueue.length){var y=this.taskQueue.shift(),I=this.tasks[y];delete this.tasks[y],this.taskQueue.length&&this.invoker.trigger(),I&&this.processTask(y,I)}},Kw.prototype.processTask=function(y,I){var U=this;if(I.type===\"<response>\"){var J=this.callbacks[y];delete this.callbacks[y],J&&(I.error?J(We(I.error)):J(null,We(I.data)))}else{var ne=!1,fe=Te(this.globalScope)?void 0:[],Fe=I.hasCallback?function(ur,nr){ne=!0,delete U.cancelCallbacks[y],U.target.postMessage({id:y,type:\"<response>\",sourceMapId:U.mapId,error:ur?Ue(ur):null,data:Ue(nr,fe)},fe)}:function(ur){ne=!0},Qe=null,st=We(I.data);if(this.parent[I.type])Qe=this.parent[I.type](I.sourceMapId,st,Fe);else if(this.parent.getWorkerSource){var mt=I.type.split(\".\"),Xt=this.parent.getWorkerSource(I.sourceMapId,mt[0],st.source);Qe=Xt[mt[1]](st,Fe)}else Fe(new Error(\"Could not find function \"+I.type));!ne&&Qe&&Qe.cancel&&(this.cancelCallbacks[y]=Qe.cancel)}},Kw.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1)};function RQe(m,y,I){y=Math.pow(2,I)-y-1;var U=FQ(m*256,y*256,I),J=FQ((m+1)*256,(y+1)*256,I);return U[0]+\",\"+U[1]+\",\"+J[0]+\",\"+J[1]}function FQ(m,y,I){var U=2*Math.PI*6378137/256/Math.pow(2,I),J=m*U-2*Math.PI*6378137/2,ne=y*U-2*Math.PI*6378137/2;return[J,ne]}var jf=function(y,I){y&&(I?this.setSouthWest(y).setNorthEast(I):y.length===4?this.setSouthWest([y[0],y[1]]).setNorthEast([y[2],y[3]]):this.setSouthWest(y[0]).setNorthEast(y[1]))};jf.prototype.setNorthEast=function(y){return this._ne=y instanceof sc?new sc(y.lng,y.lat):sc.convert(y),this},jf.prototype.setSouthWest=function(y){return this._sw=y instanceof sc?new sc(y.lng,y.lat):sc.convert(y),this},jf.prototype.extend=function(y){var I=this._sw,U=this._ne,J,ne;if(y instanceof sc)J=y,ne=y;else if(y instanceof jf){if(J=y._sw,ne=y._ne,!J||!ne)return this}else{if(Array.isArray(y))if(y.length===4||y.every(Array.isArray)){var fe=y;return this.extend(jf.convert(fe))}else{var Fe=y;return this.extend(sc.convert(Fe))}return this}return!I&&!U?(this._sw=new sc(J.lng,J.lat),this._ne=new sc(ne.lng,ne.lat)):(I.lng=Math.min(J.lng,I.lng),I.lat=Math.min(J.lat,I.lat),U.lng=Math.max(ne.lng,U.lng),U.lat=Math.max(ne.lat,U.lat)),this},jf.prototype.getCenter=function(){return new sc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},jf.prototype.getSouthWest=function(){return this._sw},jf.prototype.getNorthEast=function(){return this._ne},jf.prototype.getNorthWest=function(){return new sc(this.getWest(),this.getNorth())},jf.prototype.getSouthEast=function(){return new sc(this.getEast(),this.getSouth())},jf.prototype.getWest=function(){return this._sw.lng},jf.prototype.getSouth=function(){return this._sw.lat},jf.prototype.getEast=function(){return this._ne.lng},jf.prototype.getNorth=function(){return this._ne.lat},jf.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},jf.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},jf.prototype.isEmpty=function(){return!(this._sw&&this._ne)},jf.prototype.contains=function(y){var I=sc.convert(y),U=I.lng,J=I.lat,ne=this._sw.lat<=J&&J<=this._ne.lat,fe=this._sw.lng<=U&&U<=this._ne.lng;return this._sw.lng>this._ne.lng&&(fe=this._sw.lng>=U&&U>=this._ne.lng),ne&&fe},jf.convert=function(y){return!y||y instanceof jf?y:new jf(y)};var qQ=63710088e-1,sc=function(y,I){if(isNaN(y)||isNaN(I))throw new Error(\"Invalid LngLat object: (\"+y+\", \"+I+\")\");if(this.lng=+y,this.lat=+I,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};sc.prototype.wrap=function(){return new sc(E(this.lng,-180,180),this.lat)},sc.prototype.toArray=function(){return[this.lng,this.lat]},sc.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},sc.prototype.distanceTo=function(y){var I=Math.PI/180,U=this.lat*I,J=y.lat*I,ne=Math.sin(U)*Math.sin(J)+Math.cos(U)*Math.cos(J)*Math.cos((y.lng-this.lng)*I),fe=qQ*Math.acos(Math.min(ne,1));return fe},sc.prototype.toBounds=function(y){y===void 0&&(y=0);var I=40075017,U=360*y/I,J=U/Math.cos(Math.PI/180*this.lat);return new jf(new sc(this.lng-J,this.lat-U),new sc(this.lng+J,this.lat+U))},sc.convert=function(y){if(y instanceof sc)return y;if(Array.isArray(y)&&(y.length===2||y.length===3))return new sc(Number(y[0]),Number(y[1]));if(!Array.isArray(y)&&typeof y==\"object\"&&y!==null)return new sc(Number(\"lng\"in y?y.lng:y.lon),Number(y.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\")};var OQ=2*Math.PI*qQ;function BQ(m){return OQ*Math.cos(m*Math.PI/180)}function NQ(m){return(180+m)/360}function UQ(m){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+m*Math.PI/360)))/360}function VQ(m,y){return m/BQ(y)}function DQe(m){return m*360-180}function uq(m){var y=180-m*360;return 360/Math.PI*Math.atan(Math.exp(y*Math.PI/180))-90}function zQe(m,y){return m*BQ(uq(y))}function FQe(m){return 1/Math.cos(m*Math.PI/180)}var nb=function(y,I,U){U===void 0&&(U=0),this.x=+y,this.y=+I,this.z=+U};nb.fromLngLat=function(y,I){I===void 0&&(I=0);var U=sc.convert(y);return new nb(NQ(U.lng),UQ(U.lat),VQ(I,U.lat))},nb.prototype.toLngLat=function(){return new sc(DQe(this.x),uq(this.y))},nb.prototype.toAltitude=function(){return zQe(this.z,this.y)},nb.prototype.meterInMercatorCoordinateUnits=function(){return 1/OQ*FQe(uq(this.y))};var ab=function(y,I,U){this.z=y,this.x=I,this.y=U,this.key=AS(0,y,y,I,U)};ab.prototype.equals=function(y){return this.z===y.z&&this.x===y.x&&this.y===y.y},ab.prototype.url=function(y,I){var U=RQe(this.x,this.y,this.z),J=qQe(this.z,this.x,this.y);return y[(this.x+this.y)%y.length].replace(\"{prefix}\",(this.x%16).toString(16)+(this.y%16).toString(16)).replace(\"{z}\",String(this.z)).replace(\"{x}\",String(this.x)).replace(\"{y}\",String(I===\"tms\"?Math.pow(2,this.z)-this.y-1:this.y)).replace(\"{quadkey}\",J).replace(\"{bbox-epsg-3857}\",U)},ab.prototype.getTilePoint=function(y){var I=Math.pow(2,this.z);return new u((y.x*I-this.x)*rn,(y.y*I-this.y)*rn)},ab.prototype.toString=function(){return this.z+\"/\"+this.x+\"/\"+this.y};var HQ=function(y,I){this.wrap=y,this.canonical=I,this.key=AS(y,I.z,I.z,I.x,I.y)},Wf=function(y,I,U,J,ne){this.overscaledZ=y,this.wrap=I,this.canonical=new ab(U,+J,+ne),this.key=AS(I,y,U,J,ne)};Wf.prototype.equals=function(y){return this.overscaledZ===y.overscaledZ&&this.wrap===y.wrap&&this.canonical.equals(y.canonical)},Wf.prototype.scaledTo=function(y){var I=this.canonical.z-y;return y>this.canonical.z?new Wf(y,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Wf(y,this.wrap,y,this.canonical.x>>I,this.canonical.y>>I)},Wf.prototype.calculateScaledKey=function(y,I){var U=this.canonical.z-y;return y>this.canonical.z?AS(this.wrap*+I,y,this.canonical.z,this.canonical.x,this.canonical.y):AS(this.wrap*+I,y,y,this.canonical.x>>U,this.canonical.y>>U)},Wf.prototype.isChildOf=function(y){if(y.wrap!==this.wrap)return!1;var I=this.canonical.z-y.canonical.z;return y.overscaledZ===0||y.overscaledZ<this.overscaledZ&&y.canonical.x===this.canonical.x>>I&&y.canonical.y===this.canonical.y>>I},Wf.prototype.children=function(y){if(this.overscaledZ>=y)return[new Wf(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var I=this.canonical.z+1,U=this.canonical.x*2,J=this.canonical.y*2;return[new Wf(I,this.wrap,I,U,J),new Wf(I,this.wrap,I,U+1,J),new Wf(I,this.wrap,I,U,J+1),new Wf(I,this.wrap,I,U+1,J+1)]},Wf.prototype.isLessThan=function(y){return this.wrap<y.wrap?!0:this.wrap>y.wrap?!1:this.overscaledZ<y.overscaledZ?!0:this.overscaledZ>y.overscaledZ?!1:this.canonical.x<y.canonical.x?!0:this.canonical.x>y.canonical.x?!1:this.canonical.y<y.canonical.y},Wf.prototype.wrapped=function(){return new Wf(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},Wf.prototype.unwrapTo=function(y){return new Wf(this.overscaledZ,y,this.canonical.z,this.canonical.x,this.canonical.y)},Wf.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},Wf.prototype.toUnwrapped=function(){return new HQ(this.wrap,this.canonical)},Wf.prototype.toString=function(){return this.overscaledZ+\"/\"+this.canonical.x+\"/\"+this.canonical.y},Wf.prototype.getTilePoint=function(y){return this.canonical.getTilePoint(new nb(y.x-this.wrap,y.y))};function AS(m,y,I,U,J){m*=2,m<0&&(m=m*-1-1);var ne=1<<I;return(ne*ne*m+ne*J+U).toString(36)+I.toString(36)+y.toString(36)}function qQe(m,y,I){for(var U=\"\",J,ne=m;ne>0;ne--)J=1<<ne-1,U+=(y&J?1:0)+(I&J?2:0);return U}Z(\"CanonicalTileID\",ab),Z(\"OverscaledTileID\",Wf,{omit:[\"posMatrix\"]});var dy=function(y,I,U){if(this.uid=y,I.height!==I.width)throw new RangeError(\"DEM tiles must be square\");if(U&&U!==\"mapbox\"&&U!==\"terrarium\")return re('\"'+U+'\" is not a valid encoding type. Valid types include \"mapbox\" and \"terrarium\".');this.stride=I.height;var J=this.dim=I.height-2;this.data=new Uint32Array(I.data.buffer),this.encoding=U||\"mapbox\";for(var ne=0;ne<J;ne++)this.data[this._idx(-1,ne)]=this.data[this._idx(0,ne)],this.data[this._idx(J,ne)]=this.data[this._idx(J-1,ne)],this.data[this._idx(ne,-1)]=this.data[this._idx(ne,0)],this.data[this._idx(ne,J)]=this.data[this._idx(ne,J-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(J,-1)]=this.data[this._idx(J-1,0)],this.data[this._idx(-1,J)]=this.data[this._idx(0,J-1)],this.data[this._idx(J,J)]=this.data[this._idx(J-1,J-1)]};dy.prototype.get=function(y,I){var U=new Uint8Array(this.data.buffer),J=this._idx(y,I)*4,ne=this.encoding===\"terrarium\"?this._unpackTerrarium:this._unpackMapbox;return ne(U[J],U[J+1],U[J+2])},dy.prototype.getUnpackVector=function(){return this.encoding===\"terrarium\"?[256,1,1/256,32768]:[6553.6,25.6,.1,1e4]},dy.prototype._idx=function(y,I){if(y<-1||y>=this.dim+1||I<-1||I>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(I+1)*this.stride+(y+1)},dy.prototype._unpackMapbox=function(y,I,U){return(y*256*256+I*256+U)/10-1e4},dy.prototype._unpackTerrarium=function(y,I,U){return y*256+I+U/256-32768},dy.prototype.getPixels=function(){return new lh({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},dy.prototype.backfillBorder=function(y,I,U){if(this.dim!==y.dim)throw new Error(\"dem dimension mismatch\");var J=I*this.dim,ne=I*this.dim+this.dim,fe=U*this.dim,Fe=U*this.dim+this.dim;switch(I){case-1:J=ne-1;break;case 1:ne=J+1;break}switch(U){case-1:fe=Fe-1;break;case 1:Fe=fe+1;break}for(var Qe=-I*this.dim,st=-U*this.dim,mt=fe;mt<Fe;mt++)for(var Xt=J;Xt<ne;Xt++)this.data[this._idx(Xt,mt)]=y.data[this._idx(Xt+Qe,mt+st)]},Z(\"DEMData\",dy);function OQe(m,y){var I={};if(!y)return I;for(var U=function(){var fe=ne[J],Fe=fe.layerIds.map(function(Xt){return y.getLayer(Xt)}).filter(Boolean);if(Fe.length!==0){fe.layers=Fe,fe.stateDependentLayerIds&&(fe.stateDependentLayers=fe.stateDependentLayerIds.map(function(Xt){return Fe.filter(function(ur){return ur.id===Xt})[0]}));for(var Qe=0,st=Fe;Qe<st.length;Qe+=1){var mt=st[Qe];I[mt.id]=fe}}},J=0,ne=m;J<ne.length;J+=1)U();return I}var YC=function(y){this._stringToNumber={},this._numberToString=[];for(var I=0;I<y.length;I++){var U=y[I];this._stringToNumber[U]=I,this._numberToString[I]=U}};YC.prototype.encode=function(y){return this._stringToNumber[y]},YC.prototype.decode=function(y){return this._numberToString[y]};var KC=function(y,I,U,J,ne){this.type=\"Feature\",this._vectorTileFeature=y,y._z=I,y._x=U,y._y=J,this.properties=y.properties,this.id=ne},cq={geometry:{configurable:!0}};cq.geometry.get=function(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},cq.geometry.set=function(m){this._geometry=m},KC.prototype.toJSON=function(){var y={geometry:this.geometry};for(var I in this)I===\"_geometry\"||I===\"_vectorTileFeature\"||(y[I]=this[I]);return y},Object.defineProperties(KC.prototype,cq);var Jw=function(){this.state={},this.stateChanges={},this.deletedStates={}};Jw.prototype.updateState=function(y,I,U){var J=String(I);if(this.stateChanges[y]=this.stateChanges[y]||{},this.stateChanges[y][J]=this.stateChanges[y][J]||{},_(this.stateChanges[y][J],U),this.deletedStates[y]===null){this.deletedStates[y]={};for(var ne in this.state[y])ne!==J&&(this.deletedStates[y][ne]=null)}else{var fe=this.deletedStates[y]&&this.deletedStates[y][J]===null;if(fe){this.deletedStates[y][J]={};for(var Fe in this.state[y][J])U[Fe]||(this.deletedStates[y][J][Fe]=null)}else for(var Qe in U){var st=this.deletedStates[y]&&this.deletedStates[y][J]&&this.deletedStates[y][J][Qe]===null;st&&delete this.deletedStates[y][J][Qe]}}},Jw.prototype.removeFeatureState=function(y,I,U){var J=this.deletedStates[y]===null;if(!J){var ne=String(I);if(this.deletedStates[y]=this.deletedStates[y]||{},U&&I!==void 0)this.deletedStates[y][ne]!==null&&(this.deletedStates[y][ne]=this.deletedStates[y][ne]||{},this.deletedStates[y][ne][U]=null);else if(I!==void 0){var fe=this.stateChanges[y]&&this.stateChanges[y][ne];if(fe){this.deletedStates[y][ne]={};for(U in this.stateChanges[y][ne])this.deletedStates[y][ne][U]=null}else this.deletedStates[y][ne]=null}else this.deletedStates[y]=null}},Jw.prototype.getState=function(y,I){var U=String(I),J=this.state[y]||{},ne=this.stateChanges[y]||{},fe=_({},J[U],ne[U]);if(this.deletedStates[y]===null)return{};if(this.deletedStates[y]){var Fe=this.deletedStates[y][I];if(Fe===null)return{};for(var Qe in Fe)delete fe[Qe]}return fe},Jw.prototype.initializeTileState=function(y,I){y.setFeatureState(this.state,I)},Jw.prototype.coalesceChanges=function(y,I){var U={};for(var J in this.stateChanges){this.state[J]=this.state[J]||{};var ne={};for(var fe in this.stateChanges[J])this.state[J][fe]||(this.state[J][fe]={}),_(this.state[J][fe],this.stateChanges[J][fe]),ne[fe]=this.state[J][fe];U[J]=ne}for(var Fe in this.deletedStates){this.state[Fe]=this.state[Fe]||{};var Qe={};if(this.deletedStates[Fe]===null)for(var st in this.state[Fe])Qe[st]={},this.state[Fe][st]={};else for(var mt in this.deletedStates[Fe]){var Xt=this.deletedStates[Fe][mt]===null;if(Xt)this.state[Fe][mt]={};else for(var ur=0,nr=Object.keys(this.deletedStates[Fe][mt]);ur<nr.length;ur+=1){var Lr=nr[ur];delete this.state[Fe][mt][Lr]}Qe[mt]=this.state[Fe][mt]}U[Fe]=U[Fe]||{},_(U[Fe],Qe)}if(this.stateChanges={},this.deletedStates={},Object.keys(U).length!==0)for(var Yr in y){var _i=y[Yr];_i.setFeatureState(U,I)}};var vy=function(y,I){this.tileID=y,this.x=y.canonical.x,this.y=y.canonical.y,this.z=y.canonical.z,this.grid=new cu(rn,16,0),this.grid3D=new cu(rn,16,0),this.featureIndexArray=new ef,this.promoteId=I};vy.prototype.insert=function(y,I,U,J,ne,fe){var Fe=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(U,J,ne);for(var Qe=fe?this.grid3D:this.grid,st=0;st<I.length;st++){for(var mt=I[st],Xt=[1/0,1/0,-1/0,-1/0],ur=0;ur<mt.length;ur++){var nr=mt[ur];Xt[0]=Math.min(Xt[0],nr.x),Xt[1]=Math.min(Xt[1],nr.y),Xt[2]=Math.max(Xt[2],nr.x),Xt[3]=Math.max(Xt[3],nr.y)}Xt[0]<rn&&Xt[1]<rn&&Xt[2]>=0&&Xt[3]>=0&&Qe.insert(Fe,Xt[0],Xt[1],Xt[2],Xt[3])}},vy.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new pg.VectorTile(new La(this.rawTileData)).layers,this.sourceLayerCoder=new YC(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers},vy.prototype.query=function(y,I,U,J){var ne=this;this.loadVTLayers();for(var fe=y.params||{},Fe=rn/y.tileSize/y.scale,Qe=be(fe.filter),st=y.queryGeometry,mt=y.queryPadding*Fe,Xt=jQ(st),ur=this.grid.query(Xt.minX-mt,Xt.minY-mt,Xt.maxX+mt,Xt.maxY+mt),nr=jQ(y.cameraQueryGeometry),Lr=this.grid3D.query(nr.minX-mt,nr.minY-mt,nr.maxX+mt,nr.maxY+mt,function(An,ra,$n,Ba){return pp(y.cameraQueryGeometry,An-mt,ra-mt,$n+mt,Ba+mt)}),Yr=0,_i=Lr;Yr<_i.length;Yr+=1){var si=_i[Yr];ur.push(si)}ur.sort(BQe);for(var Hi={},Ei,Vi=function(An){var ra=ur[An];if(ra!==Ei){Ei=ra;var $n=ne.featureIndexArray.get(ra),Ba=null;ne.loadMatchingFeature(Hi,$n.bucketIndex,$n.sourceLayerIndex,$n.featureIndex,Qe,fe.layers,fe.availableImages,I,U,J,function(_a,Pa,qo){return Ba||(Ba=da(_a)),Pa.queryIntersectsFeature(st,_a,qo,Ba,ne.z,y.transform,Fe,y.pixelPosMatrix)})}},en=0;en<ur.length;en++)Vi(en);return Hi},vy.prototype.loadMatchingFeature=function(y,I,U,J,ne,fe,Fe,Qe,st,mt,Xt){var ur=this.bucketLayerIDs[I];if(!(fe&&!N(fe,ur))){var nr=this.sourceLayerCoder.decode(U),Lr=this.vtLayers[nr],Yr=Lr.feature(J);if(ne.needGeometry){var _i=No(Yr,!0);if(!ne.filter(new pn(this.tileID.overscaledZ),_i,this.tileID.canonical))return}else if(!ne.filter(new pn(this.tileID.overscaledZ),Yr))return;for(var si=this.getId(Yr,nr),Hi=0;Hi<ur.length;Hi++){var Ei=ur[Hi];if(!(fe&&fe.indexOf(Ei)<0)){var Vi=Qe[Ei];if(Vi){var en={};si!==void 0&&mt&&(en=mt.getState(Vi.sourceLayer||\"_geojsonTileLayer\",si));var An=_({},st[Ei]);An.paint=GQ(An.paint,Vi.paint,Yr,en,Fe),An.layout=GQ(An.layout,Vi.layout,Yr,en,Fe);var ra=!Xt||Xt(Yr,Vi,en);if(ra){var $n=new KC(Yr,this.z,this.x,this.y,si);$n.layer=An;var Ba=y[Ei];Ba===void 0&&(Ba=y[Ei]=[]),Ba.push({featureIndex:J,feature:$n,intersectionZ:ra})}}}}}},vy.prototype.lookupSymbolFeatures=function(y,I,U,J,ne,fe,Fe,Qe){var st={};this.loadVTLayers();for(var mt=be(ne),Xt=0,ur=y;Xt<ur.length;Xt+=1){var nr=ur[Xt];this.loadMatchingFeature(st,U,J,nr,mt,fe,Fe,Qe,I)}return st},vy.prototype.hasLayer=function(y){for(var I=0,U=this.bucketLayerIDs;I<U.length;I+=1)for(var J=U[I],ne=0,fe=J;ne<fe.length;ne+=1){var Fe=fe[ne];if(y===Fe)return!0}return!1},vy.prototype.getId=function(y,I){var U=y.id;if(this.promoteId){var J=typeof this.promoteId==\"string\"?this.promoteId:this.promoteId[I];U=y.properties[J],typeof U==\"boolean\"&&(U=Number(U))}return U},Z(\"FeatureIndex\",vy,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});function GQ(m,y,I,U,J){return H(m,function(ne,fe){var Fe=y instanceof xc?y.get(fe):null;return Fe&&Fe.evaluate?Fe.evaluate(I,U,J):Fe})}function jQ(m){for(var y=1/0,I=1/0,U=-1/0,J=-1/0,ne=0,fe=m;ne<fe.length;ne+=1){var Fe=fe[ne];y=Math.min(y,Fe.x),I=Math.min(I,Fe.y),U=Math.max(U,Fe.x),J=Math.max(J,Fe.y)}return{minX:y,minY:I,maxX:U,maxY:J}}function BQe(m,y){return y-m}var NQe=3e4,Fh=function(y,I){this.tileID=y,this.uid=g(),this.uses=0,this.tileSize=I,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.expiredRequestCount=0,this.state=\"loading\"};Fh.prototype.registerFadeDuration=function(y){var I=y+this.timeAdded;I<nt.now()||this.fadeEndTime&&I<this.fadeEndTime||(this.fadeEndTime=I)},Fh.prototype.wasRequested=function(){return this.state===\"errored\"||this.state===\"loaded\"||this.state===\"reloading\"},Fh.prototype.loadVectorData=function(y,I,U){if(this.hasData()&&this.unloadVectorData(),this.state=\"loaded\",!y){this.collisionBoxArray=new xs;return}y.featureIndex&&(this.latestFeatureIndex=y.featureIndex,y.rawTileData?(this.latestRawTileData=y.rawTileData,this.latestFeatureIndex.rawTileData=y.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=y.collisionBoxArray,this.buckets=OQe(y.buckets,I.style),this.hasSymbolBuckets=!1;for(var J in this.buckets){var ne=this.buckets[J];if(ne instanceof ou)if(this.hasSymbolBuckets=!0,U)ne.justReloaded=!0;else break}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(var fe in this.buckets){var Fe=this.buckets[fe];if(Fe instanceof ou&&Fe.hasRTLText){this.hasRTLText=!0,Ns();break}}this.queryPadding=0;for(var Qe in this.buckets){var st=this.buckets[Qe];this.queryPadding=Math.max(this.queryPadding,I.style.getLayer(Qe).queryRadius(st))}y.imageAtlas&&(this.imageAtlas=y.imageAtlas),y.glyphAtlasImage&&(this.glyphAtlasImage=y.glyphAtlasImage)},Fh.prototype.unloadVectorData=function(){for(var y in this.buckets)this.buckets[y].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\"},Fh.prototype.getBucket=function(y){return this.buckets[y.id]},Fh.prototype.upload=function(y){for(var I in this.buckets){var U=this.buckets[I];U.uploadPending()&&U.upload(y)}var J=y.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new ib(y,this.imageAtlas.image,J.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new ib(y,this.glyphAtlasImage,J.ALPHA),this.glyphAtlasImage=null)},Fh.prototype.prepare=function(y){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(y,this.imageAtlasTexture)},Fh.prototype.queryRenderedFeatures=function(y,I,U,J,ne,fe,Fe,Qe,st,mt){return!this.latestFeatureIndex||!this.latestFeatureIndex.rawTileData?{}:this.latestFeatureIndex.query({queryGeometry:J,cameraQueryGeometry:ne,scale:fe,tileSize:this.tileSize,pixelPosMatrix:mt,transform:Qe,params:Fe,queryPadding:this.queryPadding*st},y,I,U)},Fh.prototype.querySourceFeatures=function(y,I){var U=this.latestFeatureIndex;if(!(!U||!U.rawTileData)){var J=U.loadVTLayers(),ne=I?I.sourceLayer:\"\",fe=J._geojsonTileLayer||J[ne];if(fe)for(var Fe=be(I&&I.filter),Qe=this.tileID.canonical,st=Qe.z,mt=Qe.x,Xt=Qe.y,ur={z:st,x:mt,y:Xt},nr=0;nr<fe.length;nr++){var Lr=fe.feature(nr);if(Fe.needGeometry){var Yr=No(Lr,!0);if(!Fe.filter(new pn(this.tileID.overscaledZ),Yr,this.tileID.canonical))continue}else if(!Fe.filter(new pn(this.tileID.overscaledZ),Lr))continue;var _i=U.getId(Lr,ne),si=new KC(Lr,st,mt,Xt,_i);si.tile=ur,y.push(si)}}},Fh.prototype.hasData=function(){return this.state===\"loaded\"||this.state===\"reloading\"||this.state===\"expired\"},Fh.prototype.patternsLoaded=function(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length},Fh.prototype.setExpiryData=function(y){var I=this.expirationTime;if(y.cacheControl){var U=ge(y.cacheControl);U[\"max-age\"]&&(this.expirationTime=Date.now()+U[\"max-age\"]*1e3)}else y.expires&&(this.expirationTime=new Date(y.expires).getTime());if(this.expirationTime){var J=Date.now(),ne=!1;if(this.expirationTime>J)ne=!1;else if(!I)ne=!0;else if(this.expirationTime<I)ne=!0;else{var fe=this.expirationTime-I;fe?this.expirationTime=J+Math.max(fe,NQe):ne=!0}ne?(this.expiredRequestCount++,this.state=\"expired\"):this.expiredRequestCount=0}},Fh.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-new Date().getTime(),Math.pow(2,31)-1)},Fh.prototype.setFeatureState=function(y,I){if(!(!this.latestFeatureIndex||!this.latestFeatureIndex.rawTileData||Object.keys(y).length===0)){var U=this.latestFeatureIndex.loadVTLayers();for(var J in this.buckets)if(I.style.hasLayer(J)){var ne=this.buckets[J],fe=ne.layers[0].sourceLayer||\"_geojsonTileLayer\",Fe=U[fe],Qe=y[fe];if(!(!Fe||!Qe||Object.keys(Qe).length===0)){ne.update(Qe,Fe,this.imageAtlas&&this.imageAtlas.patternPositions||{});var st=I&&I.style&&I.style.getLayer(J);st&&(this.queryPadding=Math.max(this.queryPadding,st.queryRadius(ne)))}}}},Fh.prototype.holdingForFade=function(){return this.symbolFadeHoldUntil!==void 0},Fh.prototype.symbolFadeFinished=function(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<nt.now()},Fh.prototype.clearFadeHold=function(){this.symbolFadeHoldUntil=void 0},Fh.prototype.setHoldDuration=function(y){this.symbolFadeHoldUntil=nt.now()+y},Fh.prototype.setDependencies=function(y,I){for(var U={},J=0,ne=I;J<ne.length;J+=1){var fe=ne[J];U[fe]=!0}this.dependencies[y]=U},Fh.prototype.hasDependency=function(y,I){for(var U=0,J=y;U<J.length;U+=1){var ne=J[U],fe=this.dependencies[ne];if(fe)for(var Fe=0,Qe=I;Fe<Qe.length;Fe+=1){var st=Qe[Fe];if(fe[st])return!0}}return!1};var UQe=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"],z1=f.performance,WQ=function(y){this._marks={start:[y.url,\"start\"].join(\"#\"),end:[y.url,\"end\"].join(\"#\"),measure:y.url.toString()},z1.mark(this._marks.start)};WQ.prototype.finish=function(){z1.mark(this._marks.end);var y=z1.getEntriesByName(this._marks.measure);return y.length===0&&(z1.measure(this._marks.measure,this._marks.start,this._marks.end),y=z1.getEntriesByName(this._marks.measure),z1.clearMarks(this._marks.start),z1.clearMarks(this._marks.end),z1.clearMeasures(this._marks.measure)),y},i.Actor=Kw,i.AlphaImage=Pv,i.CanonicalTileID=ab,i.CollisionBoxArray=xs,i.Color=ss,i.DEMData=dy,i.DataConstantProperty=At,i.DictionaryCoder=YC,i.EXTENT=rn,i.ErrorEvent=oa,i.EvaluationParameters=pn,i.Event=jo,i.Evented=Sn,i.FeatureIndex=vy,i.FillBucket=gp,i.FillExtrusionBucket=Hp,i.ImageAtlas=gg,i.ImagePosition=If,i.LineBucket=Gf,i.LngLat=sc,i.LngLatBounds=jf,i.MercatorCoordinate=nb,i.ONE_EM=Zi,i.OverscaledTileID=Wf,i.Point=u,i.Point$1=u,i.Properties=Oi,i.Protobuf=La,i.RGBAImage=lh,i.RequestManager=Ke,i.RequestPerformance=WQ,i.ResourceType=zn,i.SegmentVector=ns,i.SourceFeatureState=Jw,i.StructArrayLayout1ui2=Jo,i.StructArrayLayout2f1f2i16=Xn,i.StructArrayLayout2i4=ji,i.StructArrayLayout3ui6=ma,i.StructArrayLayout4i8=Ln,i.SymbolBucket=ou,i.Texture=ib,i.Tile=Fh,i.Transitionable=Fo,i.Uniform1f=Pt,i.Uniform1i=vt,i.Uniform2f=Wt,i.Uniform3f=rr,i.Uniform4f=dr,i.UniformColor=pr,i.UniformMatrix4f=Ar,i.UnwrappedTileID=HQ,i.ValidationError=fa,i.WritingMode=uv,i.ZoomHistory=wt,i.add=Lv,i.addDynamicAttributes=oq,i.asyncAll=k,i.bezier=x,i.bindAll=q,i.browser=nt,i.cacheEntryPossiblyAdded=bi,i.clamp=p,i.clearTileCache=Wi,i.clipLine=MQ,i.clone=T1,i.clone$1=G,i.clone$2=Mw,i.collisionCircleLayout=Tt,i.config=ct,i.create=w1,i.create$1=Rh,i.create$2=hg,i.createCommonjsModule=a,i.createExpression=eo,i.createLayout=Dn,i.createStyleLayer=IQe,i.cross=I9,i.deepEqual=h,i.dot=P9,i.dot$1=q9,i.ease=b,i.emitValidationErrors=Zu,i.endsWith=V,i.enforceCacheSizeLimit=nn,i.evaluateSizeForFeature=_Q,i.evaluateSizeForZoom=xQ,i.evaluateVariableOffset=CQ,i.evented=ya,i.extend=_,i.featureFilter=be,i.filterObject=X,i.fromRotation=rm,i.getAnchorAlignment=bS,i.getAnchorJustification=aq,i.getArrayBuffer=Zr,i.getImage=jn,i.getJSON=Fr,i.getRTLTextPluginStatus=so,i.getReferrer=It,i.getVideo=la,i.identity=oy,i.invert=im,i.isChar=tt,i.isMapboxURL=xt,i.keysDifference=L,i.makeRequest=yr,i.mapObject=H,i.mercatorXfromLng=NQ,i.mercatorYfromLat=UQ,i.mercatorZfromAltitude=VQ,i.mul=Nx,i.multiply=nm,i.mvt=pg,i.nextPowerOfTwo=T,i.normalize=Ux,i.number=Qs,i.offscreenCanvasSupported=$i,i.ortho=Kl,i.parseGlyphPBF=p0,i.pbf=La,i.performSymbolLayout=hQe,i.perspective=A1,i.pick=C,i.plugin=_s,i.polygonIntersectsPolygon=fo,i.postMapLoadEvent=Ve,i.postTurnstileEvent=Ne,i.potpack=Qv,i.refProperties=UQe,i.register=Z,i.registerForPluginStateChange=wa,i.renderColorRamp=Gx,i.rotate=ay,i.rotateX=bd,i.rotateZ=sy,i.scale=kl,i.scale$1=F9,i.scale$2=Ew,i.setCacheLimits=Ni,i.setRTLTextPlugin=io,i.sphericalToCartesian=Me,i.sqrLen=tS,i.styleSpec=on,i.sub=D9,i.symbolSize=iQe,i.transformMat3=R9,i.transformMat4=ly,i.translate=Fu,i.triggerPluginCompletionEvent=Nn,i.uniqueId=g,i.validateCustomStyleLayer=CQe,i.validateLight=po,i.validateStyle=yo,i.values=A,i.vectorTile=pg,i.version=o,i.warnOnce=re,i.webpSupported=qt,i.window=f,i.wrap=E}),n([\"./shared\"],function(i){\"use strict\";function a(It){var ft=typeof It;if(ft===\"number\"||ft===\"boolean\"||ft===\"string\"||It===void 0||It===null)return JSON.stringify(It);if(Array.isArray(It)){for(var jt=\"[\",Zt=0,yr=It;Zt<yr.length;Zt+=1){var Fr=yr[Zt];jt+=a(Fr)+\",\"}return jt+\"]\"}for(var Zr=Object.keys(It).sort(),Vr=\"{\",gi=0;gi<Zr.length;gi++)Vr+=JSON.stringify(Zr[gi])+\":\"+a(It[Zr[gi]])+\",\";return Vr+\"}\"}function o(It){for(var ft=\"\",jt=0,Zt=i.refProperties;jt<Zt.length;jt+=1){var yr=Zt[jt];ft+=\"/\"+a(It[yr])}return ft}function s(It,ft){for(var jt={},Zt=0;Zt<It.length;Zt++){var yr=ft&&ft[It[Zt].id]||o(It[Zt]);ft&&(ft[It[Zt].id]=yr);var Fr=jt[yr];Fr||(Fr=jt[yr]=[]),Fr.push(It[Zt])}var Zr=[];for(var Vr in jt)Zr.push(jt[Vr]);return Zr}var l=function(ft){this.keyCache={},ft&&this.replace(ft)};l.prototype.replace=function(ft){this._layerConfigs={},this._layers={},this.update(ft,[])},l.prototype.update=function(ft,jt){for(var Zt=this,yr=0,Fr=ft;yr<Fr.length;yr+=1){var Zr=Fr[yr];this._layerConfigs[Zr.id]=Zr;var Vr=this._layers[Zr.id]=i.createStyleLayer(Zr);Vr._featureFilter=i.featureFilter(Vr.filter),this.keyCache[Zr.id]&&delete this.keyCache[Zr.id]}for(var gi=0,Si=jt;gi<Si.length;gi+=1){var Mi=Si[gi];delete this.keyCache[Mi],delete this._layerConfigs[Mi],delete this._layers[Mi]}this.familiesBySource={};for(var Pi=s(i.values(this._layerConfigs),this.keyCache),Gi=0,Ki=Pi;Gi<Ki.length;Gi+=1){var ka=Ki[Gi],jn=ka.map(function(Sn){return Zt._layers[Sn.id]}),la=jn[0];if(la.visibility!==\"none\"){var Fa=la.source||\"\",Ra=this.familiesBySource[Fa];Ra||(Ra=this.familiesBySource[Fa]={});var jo=la.sourceLayer||\"_geojsonTileLayer\",oa=Ra[jo];oa||(oa=Ra[jo]=[]),oa.push(jn)}}};var u=1,c=function(ft){var jt={},Zt=[];for(var yr in ft){var Fr=ft[yr],Zr=jt[yr]={};for(var Vr in Fr){var gi=Fr[+Vr];if(!(!gi||gi.bitmap.width===0||gi.bitmap.height===0)){var Si={x:0,y:0,w:gi.bitmap.width+2*u,h:gi.bitmap.height+2*u};Zt.push(Si),Zr[Vr]={rect:Si,metrics:gi.metrics}}}}var Mi=i.potpack(Zt),Pi=Mi.w,Gi=Mi.h,Ki=new i.AlphaImage({width:Pi||1,height:Gi||1});for(var ka in ft){var jn=ft[ka];for(var la in jn){var Fa=jn[+la];if(!(!Fa||Fa.bitmap.width===0||Fa.bitmap.height===0)){var Ra=jt[ka][la].rect;i.AlphaImage.copy(Fa.bitmap,Ki,{x:0,y:0},{x:Ra.x+u,y:Ra.y+u},Fa.bitmap)}}}this.image=Ki,this.positions=jt};i.register(\"GlyphAtlas\",c);var f=function(ft){this.tileID=new i.OverscaledTileID(ft.tileID.overscaledZ,ft.tileID.wrap,ft.tileID.canonical.z,ft.tileID.canonical.x,ft.tileID.canonical.y),this.uid=ft.uid,this.zoom=ft.zoom,this.pixelRatio=ft.pixelRatio,this.tileSize=ft.tileSize,this.source=ft.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=ft.showCollisionBoxes,this.collectResourceTiming=!!ft.collectResourceTiming,this.returnDependencies=!!ft.returnDependencies,this.promoteId=ft.promoteId};f.prototype.parse=function(ft,jt,Zt,yr,Fr){var Zr=this;this.status=\"parsing\",this.data=ft,this.collisionBoxArray=new i.CollisionBoxArray;var Vr=new i.DictionaryCoder(Object.keys(ft.layers).sort()),gi=new i.FeatureIndex(this.tileID,this.promoteId);gi.bucketLayerIDs=[];var Si={},Mi={featureIndex:gi,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:Zt},Pi=jt.familiesBySource[this.source];for(var Gi in Pi){var Ki=ft.layers[Gi];if(Ki){Ki.version===1&&i.warnOnce('Vector tile source \"'+this.source+'\" layer \"'+Gi+'\" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var ka=Vr.encode(Gi),jn=[],la=0;la<Ki.length;la++){var Fa=Ki.feature(la),Ra=gi.getId(Fa,Gi);jn.push({feature:Fa,id:Ra,index:la,sourceLayerIndex:ka})}for(var jo=0,oa=Pi[Gi];jo<oa.length;jo+=1){var Sn=oa[jo],Ha=Sn[0];if(!(Ha.minzoom&&this.zoom<Math.floor(Ha.minzoom))&&!(Ha.maxzoom&&this.zoom>=Ha.maxzoom)&&Ha.visibility!==\"none\"){h(Sn,this.zoom,Zt);var oo=Si[Ha.id]=Ha.createBucket({index:gi.bucketLayerIDs.length,layers:Sn,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:ka,sourceID:this.source});oo.populate(jn,Mi,this.tileID.canonical),gi.bucketLayerIDs.push(Sn.map(function(hi){return hi.id}))}}}}var xn,_t,br,Hr,ti=i.mapObject(Mi.glyphDependencies,function(hi){return Object.keys(hi).map(Number)});Object.keys(ti).length?yr.send(\"getGlyphs\",{uid:this.uid,stacks:ti},function(hi,Ji){xn||(xn=hi,_t=Ji,an.call(Zr))}):_t={};var zi=Object.keys(Mi.iconDependencies);zi.length?yr.send(\"getImages\",{icons:zi,source:this.source,tileID:this.tileID,type:\"icons\"},function(hi,Ji){xn||(xn=hi,br=Ji,an.call(Zr))}):br={};var Yi=Object.keys(Mi.patternDependencies);Yi.length?yr.send(\"getImages\",{icons:Yi,source:this.source,tileID:this.tileID,type:\"patterns\"},function(hi,Ji){xn||(xn=hi,Hr=Ji,an.call(Zr))}):Hr={},an.call(this);function an(){if(xn)return Fr(xn);if(_t&&br&&Hr){var hi=new c(_t),Ji=new i.ImageAtlas(br,Hr);for(var ua in Si){var Fn=Si[ua];Fn instanceof i.SymbolBucket?(h(Fn.layers,this.zoom,Zt),i.performSymbolLayout(Fn,_t,hi.positions,br,Ji.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):Fn.hasPattern&&(Fn instanceof i.LineBucket||Fn instanceof i.FillBucket||Fn instanceof i.FillExtrusionBucket)&&(h(Fn.layers,this.zoom,Zt),Fn.addFeatures(Mi,this.tileID.canonical,Ji.patternPositions))}this.status=\"done\",Fr(null,{buckets:i.values(Si).filter(function(Sa){return!Sa.isEmpty()}),featureIndex:gi,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:hi.image,imageAtlas:Ji,glyphMap:this.returnDependencies?_t:null,iconMap:this.returnDependencies?br:null,glyphPositions:this.returnDependencies?hi.positions:null})}}};function h(It,ft,jt){for(var Zt=new i.EvaluationParameters(ft),yr=0,Fr=It;yr<Fr.length;yr+=1){var Zr=Fr[yr];Zr.recalculate(Zt,jt)}}function d(It,ft){var jt=i.getArrayBuffer(It.request,function(Zt,yr,Fr,Zr){Zt?ft(Zt):yr&&ft(null,{vectorTile:new i.vectorTile.VectorTile(new i.pbf(yr)),rawData:yr,cacheControl:Fr,expires:Zr})});return function(){jt.cancel(),ft()}}var v=function(ft,jt,Zt,yr){this.actor=ft,this.layerIndex=jt,this.availableImages=Zt,this.loadVectorData=yr||d,this.loading={},this.loaded={}};v.prototype.loadTile=function(ft,jt){var Zt=this,yr=ft.uid;this.loading||(this.loading={});var Fr=ft&&ft.request&&ft.request.collectResourceTiming?new i.RequestPerformance(ft.request):!1,Zr=this.loading[yr]=new f(ft);Zr.abort=this.loadVectorData(ft,function(Vr,gi){if(delete Zt.loading[yr],Vr||!gi)return Zr.status=\"done\",Zt.loaded[yr]=Zr,jt(Vr);var Si=gi.rawData,Mi={};gi.expires&&(Mi.expires=gi.expires),gi.cacheControl&&(Mi.cacheControl=gi.cacheControl);var Pi={};if(Fr){var Gi=Fr.finish();Gi&&(Pi.resourceTiming=JSON.parse(JSON.stringify(Gi)))}Zr.vectorTile=gi.vectorTile,Zr.parse(gi.vectorTile,Zt.layerIndex,Zt.availableImages,Zt.actor,function(Ki,ka){if(Ki||!ka)return jt(Ki);jt(null,i.extend({rawTileData:Si.slice(0)},ka,Mi,Pi))}),Zt.loaded=Zt.loaded||{},Zt.loaded[yr]=Zr})},v.prototype.reloadTile=function(ft,jt){var Zt=this,yr=this.loaded,Fr=ft.uid,Zr=this;if(yr&&yr[Fr]){var Vr=yr[Fr];Vr.showCollisionBoxes=ft.showCollisionBoxes;var gi=function(Si,Mi){var Pi=Vr.reloadCallback;Pi&&(delete Vr.reloadCallback,Vr.parse(Vr.vectorTile,Zr.layerIndex,Zt.availableImages,Zr.actor,Pi)),jt(Si,Mi)};Vr.status===\"parsing\"?Vr.reloadCallback=gi:Vr.status===\"done\"&&(Vr.vectorTile?Vr.parse(Vr.vectorTile,this.layerIndex,this.availableImages,this.actor,gi):gi())}},v.prototype.abortTile=function(ft,jt){var Zt=this.loading,yr=ft.uid;Zt&&Zt[yr]&&Zt[yr].abort&&(Zt[yr].abort(),delete Zt[yr]),jt()},v.prototype.removeTile=function(ft,jt){var Zt=this.loaded,yr=ft.uid;Zt&&Zt[yr]&&delete Zt[yr],jt()};var x=i.window.ImageBitmap,b=function(){this.loaded={}};b.prototype.loadTile=function(ft,jt){var Zt=ft.uid,yr=ft.encoding,Fr=ft.rawImageData,Zr=x&&Fr instanceof x?this.getImageData(Fr):Fr,Vr=new i.DEMData(Zt,Zr,yr);this.loaded=this.loaded||{},this.loaded[Zt]=Vr,jt(null,Vr)},b.prototype.getImageData=function(ft){(!this.offscreenCanvas||!this.offscreenCanvasContext)&&(this.offscreenCanvas=new OffscreenCanvas(ft.width,ft.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext(\"2d\")),this.offscreenCanvas.width=ft.width,this.offscreenCanvas.height=ft.height,this.offscreenCanvasContext.drawImage(ft,0,0,ft.width,ft.height);var jt=this.offscreenCanvasContext.getImageData(-1,-1,ft.width+2,ft.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new i.RGBAImage({width:jt.width,height:jt.height},jt.data)},b.prototype.removeTile=function(ft){var jt=this.loaded,Zt=ft.uid;jt&&jt[Zt]&&delete jt[Zt]};var p=E;function E(It,ft){var jt=It&&It.type,Zt;if(jt===\"FeatureCollection\")for(Zt=0;Zt<It.features.length;Zt++)E(It.features[Zt],ft);else if(jt===\"GeometryCollection\")for(Zt=0;Zt<It.geometries.length;Zt++)E(It.geometries[Zt],ft);else if(jt===\"Feature\")E(It.geometry,ft);else if(jt===\"Polygon\")k(It.coordinates,ft);else if(jt===\"MultiPolygon\")for(Zt=0;Zt<It.coordinates.length;Zt++)k(It.coordinates[Zt],ft);return It}function k(It,ft){if(It.length!==0){A(It[0],ft);for(var jt=1;jt<It.length;jt++)A(It[jt],!ft)}}function A(It,ft){for(var jt=0,Zt=0,yr=It.length,Fr=yr-1;Zt<yr;Fr=Zt++)jt+=(It[Zt][0]-It[Fr][0])*(It[Fr][1]+It[Zt][1]);jt>=0!=!!ft&&It.reverse()}var L=i.vectorTile.VectorTileFeature.prototype.toGeoJSON,_=function(ft){this._feature=ft,this.extent=i.EXTENT,this.type=ft.type,this.properties=ft.tags,\"id\"in ft&&!isNaN(ft.id)&&(this.id=parseInt(ft.id,10))};_.prototype.loadGeometry=function(){if(this._feature.type===1){for(var ft=[],jt=0,Zt=this._feature.geometry;jt<Zt.length;jt+=1){var yr=Zt[jt];ft.push([new i.Point$1(yr[0],yr[1])])}return ft}else{for(var Fr=[],Zr=0,Vr=this._feature.geometry;Zr<Vr.length;Zr+=1){for(var gi=Vr[Zr],Si=[],Mi=0,Pi=gi;Mi<Pi.length;Mi+=1){var Gi=Pi[Mi];Si.push(new i.Point$1(Gi[0],Gi[1]))}Fr.push(Si)}return Fr}},_.prototype.toGeoJSON=function(ft,jt,Zt){return L.call(this,ft,jt,Zt)};var C=function(ft){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=i.EXTENT,this.length=ft.length,this._features=ft};C.prototype.feature=function(ft){return new _(this._features[ft])};var M=i.vectorTile.VectorTileFeature,g=P;function P(It,ft){this.options=ft||{},this.features=It,this.length=It.length}P.prototype.feature=function(It){return new T(this.features[It],this.options.extent)};function T(It,ft){this.id=typeof It.id==\"number\"?It.id:void 0,this.type=It.type,this.rawGeometry=It.type===1?[It.geometry]:It.geometry,this.properties=It.tags,this.extent=ft||4096}T.prototype.loadGeometry=function(){var It=this.rawGeometry;this.geometry=[];for(var ft=0;ft<It.length;ft++){for(var jt=It[ft],Zt=[],yr=0;yr<jt.length;yr++)Zt.push(new i.Point$1(jt[yr][0],jt[yr][1]));this.geometry.push(Zt)}return this.geometry},T.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var It=this.geometry,ft=1/0,jt=-1/0,Zt=1/0,yr=-1/0,Fr=0;Fr<It.length;Fr++)for(var Zr=It[Fr],Vr=0;Vr<Zr.length;Vr++){var gi=Zr[Vr];ft=Math.min(ft,gi.x),jt=Math.max(jt,gi.x),Zt=Math.min(Zt,gi.y),yr=Math.max(yr,gi.y)}return[ft,Zt,jt,yr]},T.prototype.toGeoJSON=M.prototype.toGeoJSON;var F=X,q=X,V=G,H=g;function X(It){var ft=new i.pbf;return N(It,ft),ft.finish()}function G(It,ft){ft=ft||{};var jt={};for(var Zt in It)jt[Zt]=new g(It[Zt].features,ft),jt[Zt].name=Zt,jt[Zt].version=ft.version,jt[Zt].extent=ft.extent;return X({layers:jt})}function N(It,ft){for(var jt in It.layers)ft.writeMessage(3,W,It.layers[jt])}function W(It,ft){ft.writeVarintField(15,It.version||1),ft.writeStringField(1,It.name||\"\"),ft.writeVarintField(5,It.extent||4096);var jt,Zt={keys:[],values:[],keycache:{},valuecache:{}};for(jt=0;jt<It.length;jt++)Zt.feature=It.feature(jt),ft.writeMessage(2,re,Zt);var yr=Zt.keys;for(jt=0;jt<yr.length;jt++)ft.writeStringField(3,yr[jt]);var Fr=Zt.values;for(jt=0;jt<Fr.length;jt++)ft.writeMessage(4,ge,Fr[jt])}function re(It,ft){var jt=It.feature;jt.id!==void 0&&ft.writeVarintField(1,jt.id),ft.writeMessage(2,ae,It),ft.writeVarintField(3,jt.type),ft.writeMessage(4,ke,jt)}function ae(It,ft){var jt=It.feature,Zt=It.keys,yr=It.values,Fr=It.keycache,Zr=It.valuecache;for(var Vr in jt.properties){var gi=Fr[Vr];typeof gi==\"undefined\"&&(Zt.push(Vr),gi=Zt.length-1,Fr[Vr]=gi),ft.writeVarint(gi);var Si=jt.properties[Vr],Mi=typeof Si;Mi!==\"string\"&&Mi!==\"boolean\"&&Mi!==\"number\"&&(Si=JSON.stringify(Si));var Pi=Mi+\":\"+Si,Gi=Zr[Pi];typeof Gi==\"undefined\"&&(yr.push(Si),Gi=yr.length-1,Zr[Pi]=Gi),ft.writeVarint(Gi)}}function _e(It,ft){return(ft<<3)+(It&7)}function Me(It){return It<<1^It>>31}function ke(It,ft){for(var jt=It.loadGeometry(),Zt=It.type,yr=0,Fr=0,Zr=jt.length,Vr=0;Vr<Zr;Vr++){var gi=jt[Vr],Si=1;Zt===1&&(Si=gi.length),ft.writeVarint(_e(1,Si));for(var Mi=Zt===3?gi.length-1:gi.length,Pi=0;Pi<Mi;Pi++){Pi===1&&Zt!==1&&ft.writeVarint(_e(2,Mi-1));var Gi=gi[Pi].x-yr,Ki=gi[Pi].y-Fr;ft.writeVarint(Me(Gi)),ft.writeVarint(Me(Ki)),yr+=Gi,Fr+=Ki}Zt===3&&ft.writeVarint(_e(7,1))}}function ge(It,ft){var jt=typeof It;jt===\"string\"?ft.writeStringField(1,It):jt===\"boolean\"?ft.writeBooleanField(7,It):jt===\"number\"&&(It%1!==0?ft.writeDoubleField(3,It):It<0?ft.writeSVarintField(6,It):ft.writeVarintField(5,It))}F.fromVectorTileJs=q,F.fromGeojsonVt=V,F.GeoJSONWrapper=H;function ie(It,ft,jt,Zt,yr,Fr){if(!(yr-Zt<=jt)){var Zr=Zt+yr>>1;Te(It,ft,Zr,Zt,yr,Fr%2),ie(It,ft,jt,Zt,Zr-1,Fr+1),ie(It,ft,jt,Zr+1,yr,Fr+1)}}function Te(It,ft,jt,Zt,yr,Fr){for(;yr>Zt;){if(yr-Zt>600){var Zr=yr-Zt+1,Vr=jt-Zt+1,gi=Math.log(Zr),Si=.5*Math.exp(2*gi/3),Mi=.5*Math.sqrt(gi*Si*(Zr-Si)/Zr)*(Vr-Zr/2<0?-1:1),Pi=Math.max(Zt,Math.floor(jt-Vr*Si/Zr+Mi)),Gi=Math.min(yr,Math.floor(jt+(Zr-Vr)*Si/Zr+Mi));Te(It,ft,jt,Pi,Gi,Fr)}var Ki=ft[2*jt+Fr],ka=Zt,jn=yr;for(Ee(It,ft,Zt,jt),ft[2*yr+Fr]>Ki&&Ee(It,ft,Zt,yr);ka<jn;){for(Ee(It,ft,ka,jn),ka++,jn--;ft[2*ka+Fr]<Ki;)ka++;for(;ft[2*jn+Fr]>Ki;)jn--}ft[2*Zt+Fr]===Ki?Ee(It,ft,Zt,jn):(jn++,Ee(It,ft,jn,yr)),jn<=jt&&(Zt=jn+1),jt<=jn&&(yr=jn-1)}}function Ee(It,ft,jt,Zt){Ae(It,jt,Zt),Ae(ft,2*jt,2*Zt),Ae(ft,2*jt+1,2*Zt+1)}function Ae(It,ft,jt){var Zt=It[ft];It[ft]=It[jt],It[jt]=Zt}function ze(It,ft,jt,Zt,yr,Fr,Zr){for(var Vr=[0,It.length-1,0],gi=[],Si,Mi;Vr.length;){var Pi=Vr.pop(),Gi=Vr.pop(),Ki=Vr.pop();if(Gi-Ki<=Zr){for(var ka=Ki;ka<=Gi;ka++)Si=ft[2*ka],Mi=ft[2*ka+1],Si>=jt&&Si<=yr&&Mi>=Zt&&Mi<=Fr&&gi.push(It[ka]);continue}var jn=Math.floor((Ki+Gi)/2);Si=ft[2*jn],Mi=ft[2*jn+1],Si>=jt&&Si<=yr&&Mi>=Zt&&Mi<=Fr&&gi.push(It[jn]);var la=(Pi+1)%2;(Pi===0?jt<=Si:Zt<=Mi)&&(Vr.push(Ki),Vr.push(jn-1),Vr.push(la)),(Pi===0?yr>=Si:Fr>=Mi)&&(Vr.push(jn+1),Vr.push(Gi),Vr.push(la))}return gi}function Ce(It,ft,jt,Zt,yr,Fr){for(var Zr=[0,It.length-1,0],Vr=[],gi=yr*yr;Zr.length;){var Si=Zr.pop(),Mi=Zr.pop(),Pi=Zr.pop();if(Mi-Pi<=Fr){for(var Gi=Pi;Gi<=Mi;Gi++)me(ft[2*Gi],ft[2*Gi+1],jt,Zt)<=gi&&Vr.push(It[Gi]);continue}var Ki=Math.floor((Pi+Mi)/2),ka=ft[2*Ki],jn=ft[2*Ki+1];me(ka,jn,jt,Zt)<=gi&&Vr.push(It[Ki]);var la=(Si+1)%2;(Si===0?jt-yr<=ka:Zt-yr<=jn)&&(Zr.push(Pi),Zr.push(Ki-1),Zr.push(la)),(Si===0?jt+yr>=ka:Zt+yr>=jn)&&(Zr.push(Ki+1),Zr.push(Mi),Zr.push(la))}return Vr}function me(It,ft,jt,Zt){var yr=It-jt,Fr=ft-Zt;return yr*yr+Fr*Fr}var Re=function(It){return It[0]},ce=function(It){return It[1]},Ge=function(ft,jt,Zt,yr,Fr){jt===void 0&&(jt=Re),Zt===void 0&&(Zt=ce),yr===void 0&&(yr=64),Fr===void 0&&(Fr=Float64Array),this.nodeSize=yr,this.points=ft;for(var Zr=ft.length<65536?Uint16Array:Uint32Array,Vr=this.ids=new Zr(ft.length),gi=this.coords=new Fr(ft.length*2),Si=0;Si<ft.length;Si++)Vr[Si]=Si,gi[2*Si]=jt(ft[Si]),gi[2*Si+1]=Zt(ft[Si]);ie(Vr,gi,yr,0,Vr.length-1,0)};Ge.prototype.range=function(ft,jt,Zt,yr){return ze(this.ids,this.coords,ft,jt,Zt,yr,this.nodeSize)},Ge.prototype.within=function(ft,jt,Zt){return Ce(this.ids,this.coords,ft,jt,Zt,this.nodeSize)};var nt={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(It){return It}},ct=function(ft){this.options=er(Object.create(nt),ft),this.trees=new Array(this.options.maxZoom+1)};ct.prototype.load=function(ft){var jt=this.options,Zt=jt.log,yr=jt.minZoom,Fr=jt.maxZoom,Zr=jt.nodeSize;Zt&&console.time(\"total time\");var Vr=\"prepare \"+ft.length+\" points\";Zt&&console.time(Vr),this.points=ft;for(var gi=[],Si=0;Si<ft.length;Si++)ft[Si].geometry&&gi.push(rt(ft[Si],Si));this.trees[Fr+1]=new Ge(gi,Ke,xt,Zr,Float32Array),Zt&&console.timeEnd(Vr);for(var Mi=Fr;Mi>=yr;Mi--){var Pi=+Date.now();gi=this._cluster(gi,Mi),this.trees[Mi]=new Ge(gi,Ke,xt,Zr,Float32Array),Zt&&console.log(\"z%d: %d clusters in %dms\",Mi,gi.length,+Date.now()-Pi)}return Zt&&console.timeEnd(\"total time\"),this},ct.prototype.getClusters=function(ft,jt){var Zt=((ft[0]+180)%360+360)%360-180,yr=Math.max(-90,Math.min(90,ft[1])),Fr=ft[2]===180?180:((ft[2]+180)%360+360)%360-180,Zr=Math.max(-90,Math.min(90,ft[3]));if(ft[2]-ft[0]>=360)Zt=-180,Fr=180;else if(Zt>Fr){var Vr=this.getClusters([Zt,yr,180,Zr],jt),gi=this.getClusters([-180,yr,Fr,Zr],jt);return Vr.concat(gi)}for(var Si=this.trees[this._limitZoom(jt)],Mi=Si.range(kt(Zt),Ct(Zr),kt(Fr),Ct(yr)),Pi=[],Gi=0,Ki=Mi;Gi<Ki.length;Gi+=1){var ka=Ki[Gi],jn=Si.points[ka];Pi.push(jn.numPoints?ot(jn):this.points[jn.index])}return Pi},ct.prototype.getChildren=function(ft){var jt=this._getOriginId(ft),Zt=this._getOriginZoom(ft),yr=\"No cluster with the specified id.\",Fr=this.trees[Zt];if(!Fr)throw new Error(yr);var Zr=Fr.points[jt];if(!Zr)throw new Error(yr);for(var Vr=this.options.radius/(this.options.extent*Math.pow(2,Zt-1)),gi=Fr.within(Zr.x,Zr.y,Vr),Si=[],Mi=0,Pi=gi;Mi<Pi.length;Mi+=1){var Gi=Pi[Mi],Ki=Fr.points[Gi];Ki.parentId===ft&&Si.push(Ki.numPoints?ot(Ki):this.points[Ki.index])}if(Si.length===0)throw new Error(yr);return Si},ct.prototype.getLeaves=function(ft,jt,Zt){jt=jt||10,Zt=Zt||0;var yr=[];return this._appendLeaves(yr,ft,jt,Zt,0),yr},ct.prototype.getTile=function(ft,jt,Zt){var yr=this.trees[this._limitZoom(ft)],Fr=Math.pow(2,ft),Zr=this.options,Vr=Zr.extent,gi=Zr.radius,Si=gi/Vr,Mi=(Zt-Si)/Fr,Pi=(Zt+1+Si)/Fr,Gi={features:[]};return this._addTileFeatures(yr.range((jt-Si)/Fr,Mi,(jt+1+Si)/Fr,Pi),yr.points,jt,Zt,Fr,Gi),jt===0&&this._addTileFeatures(yr.range(1-Si/Fr,Mi,1,Pi),yr.points,Fr,Zt,Fr,Gi),jt===Fr-1&&this._addTileFeatures(yr.range(0,Mi,Si/Fr,Pi),yr.points,-1,Zt,Fr,Gi),Gi.features.length?Gi:null},ct.prototype.getClusterExpansionZoom=function(ft){for(var jt=this._getOriginZoom(ft)-1;jt<=this.options.maxZoom;){var Zt=this.getChildren(ft);if(jt++,Zt.length!==1)break;ft=Zt[0].properties.cluster_id}return jt},ct.prototype._appendLeaves=function(ft,jt,Zt,yr,Fr){for(var Zr=this.getChildren(jt),Vr=0,gi=Zr;Vr<gi.length;Vr+=1){var Si=gi[Vr],Mi=Si.properties;if(Mi&&Mi.cluster?Fr+Mi.point_count<=yr?Fr+=Mi.point_count:Fr=this._appendLeaves(ft,Mi.cluster_id,Zt,yr,Fr):Fr<yr?Fr++:ft.push(Si),ft.length===Zt)break}return Fr},ct.prototype._addTileFeatures=function(ft,jt,Zt,yr,Fr,Zr){for(var Vr=0,gi=ft;Vr<gi.length;Vr+=1){var Si=gi[Vr],Mi=jt[Si],Pi=Mi.numPoints,Gi={type:1,geometry:[[Math.round(this.options.extent*(Mi.x*Fr-Zt)),Math.round(this.options.extent*(Mi.y*Fr-yr))]],tags:Pi?Rt(Mi):this.points[Mi.index].properties},Ki=void 0;Pi?Ki=Mi.id:this.options.generateId?Ki=Mi.index:this.points[Mi.index].id&&(Ki=this.points[Mi.index].id),Ki!==void 0&&(Gi.id=Ki),Zr.features.push(Gi)}},ct.prototype._limitZoom=function(ft){return Math.max(this.options.minZoom,Math.min(+ft,this.options.maxZoom+1))},ct.prototype._cluster=function(ft,jt){for(var Zt=[],yr=this.options,Fr=yr.radius,Zr=yr.extent,Vr=yr.reduce,gi=yr.minPoints,Si=Fr/(Zr*Math.pow(2,jt)),Mi=0;Mi<ft.length;Mi++){var Pi=ft[Mi];if(!(Pi.zoom<=jt)){Pi.zoom=jt;for(var Gi=this.trees[jt+1],Ki=Gi.within(Pi.x,Pi.y,Si),ka=Pi.numPoints||1,jn=ka,la=0,Fa=Ki;la<Fa.length;la+=1){var Ra=Fa[la],jo=Gi.points[Ra];jo.zoom>jt&&(jn+=jo.numPoints||1)}if(jn>=gi){for(var oa=Pi.x*ka,Sn=Pi.y*ka,Ha=Vr&&ka>1?this._map(Pi,!0):null,oo=(Mi<<5)+(jt+1)+this.points.length,xn=0,_t=Ki;xn<_t.length;xn+=1){var br=_t[xn],Hr=Gi.points[br];if(!(Hr.zoom<=jt)){Hr.zoom=jt;var ti=Hr.numPoints||1;oa+=Hr.x*ti,Sn+=Hr.y*ti,Hr.parentId=oo,Vr&&(Ha||(Ha=this._map(Pi,!0)),Vr(Ha,this._map(Hr)))}}Pi.parentId=oo,Zt.push(qt(oa/jn,Sn/jn,oo,jn,Ha))}else if(Zt.push(Pi),jn>1)for(var zi=0,Yi=Ki;zi<Yi.length;zi+=1){var an=Yi[zi],hi=Gi.points[an];hi.zoom<=jt||(hi.zoom=jt,Zt.push(hi))}}}return Zt},ct.prototype._getOriginId=function(ft){return ft-this.points.length>>5},ct.prototype._getOriginZoom=function(ft){return(ft-this.points.length)%32},ct.prototype._map=function(ft,jt){if(ft.numPoints)return jt?er({},ft.properties):ft.properties;var Zt=this.points[ft.index].properties,yr=this.options.map(Zt);return jt&&yr===Zt?er({},yr):yr};function qt(It,ft,jt,Zt,yr){return{x:It,y:ft,zoom:1/0,id:jt,parentId:-1,numPoints:Zt,properties:yr}}function rt(It,ft){var jt=It.geometry.coordinates,Zt=jt[0],yr=jt[1];return{x:kt(Zt),y:Ct(yr),zoom:1/0,index:ft,parentId:-1}}function ot(It){return{type:\"Feature\",id:It.id,properties:Rt(It),geometry:{type:\"Point\",coordinates:[Yt(It.x),xr(It.y)]}}}function Rt(It){var ft=It.numPoints,jt=ft>=1e4?Math.round(ft/1e3)+\"k\":ft>=1e3?Math.round(ft/100)/10+\"k\":ft;return er(er({},It.properties),{cluster:!0,cluster_id:It.id,point_count:ft,point_count_abbreviated:jt})}function kt(It){return It/360+.5}function Ct(It){var ft=Math.sin(It*Math.PI/180),jt=.5-.25*Math.log((1+ft)/(1-ft))/Math.PI;return jt<0?0:jt>1?1:jt}function Yt(It){return(It-.5)*360}function xr(It){var ft=(180-It*360)*Math.PI/180;return 360*Math.atan(Math.exp(ft))/Math.PI-90}function er(It,ft){for(var jt in ft)It[jt]=ft[jt];return It}function Ke(It){return It.x}function xt(It){return It.y}function bt(It,ft,jt,Zt){for(var yr=Zt,Fr=jt-ft>>1,Zr=jt-ft,Vr,gi=It[ft],Si=It[ft+1],Mi=It[jt],Pi=It[jt+1],Gi=ft+3;Gi<jt;Gi+=3){var Ki=Lt(It[Gi],It[Gi+1],gi,Si,Mi,Pi);if(Ki>yr)Vr=Gi,yr=Ki;else if(Ki===yr){var ka=Math.abs(Gi-Fr);ka<Zr&&(Vr=Gi,Zr=ka)}}yr>Zt&&(Vr-ft>3&&bt(It,ft,Vr,Zt),It[Vr+2]=yr,jt-Vr>3&&bt(It,Vr,jt,Zt))}function Lt(It,ft,jt,Zt,yr,Fr){var Zr=yr-jt,Vr=Fr-Zt;if(Zr!==0||Vr!==0){var gi=((It-jt)*Zr+(ft-Zt)*Vr)/(Zr*Zr+Vr*Vr);gi>1?(jt=yr,Zt=Fr):gi>0&&(jt+=Zr*gi,Zt+=Vr*gi)}return Zr=It-jt,Vr=ft-Zt,Zr*Zr+Vr*Vr}function St(It,ft,jt,Zt){var yr={id:typeof It==\"undefined\"?null:It,type:ft,geometry:jt,tags:Zt,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return Et(yr),yr}function Et(It){var ft=It.geometry,jt=It.type;if(jt===\"Point\"||jt===\"MultiPoint\"||jt===\"LineString\")dt(It,ft);else if(jt===\"Polygon\"||jt===\"MultiLineString\")for(var Zt=0;Zt<ft.length;Zt++)dt(It,ft[Zt]);else if(jt===\"MultiPolygon\")for(Zt=0;Zt<ft.length;Zt++)for(var yr=0;yr<ft[Zt].length;yr++)dt(It,ft[Zt][yr])}function dt(It,ft){for(var jt=0;jt<ft.length;jt+=3)It.minX=Math.min(It.minX,ft[jt]),It.minY=Math.min(It.minY,ft[jt+1]),It.maxX=Math.max(It.maxX,ft[jt]),It.maxY=Math.max(It.maxY,ft[jt+1])}function Ht(It,ft){var jt=[];if(It.type===\"FeatureCollection\")for(var Zt=0;Zt<It.features.length;Zt++)$t(jt,It.features[Zt],ft,Zt);else It.type===\"Feature\"?$t(jt,It,ft):$t(jt,{geometry:It},ft);return jt}function $t(It,ft,jt,Zt){if(ft.geometry){var yr=ft.geometry.coordinates,Fr=ft.geometry.type,Zr=Math.pow(jt.tolerance/((1<<jt.maxZoom)*jt.extent),2),Vr=[],gi=ft.id;if(jt.promoteId?gi=ft.properties[jt.promoteId]:jt.generateId&&(gi=Zt||0),Fr===\"Point\")fr(yr,Vr);else if(Fr===\"MultiPoint\")for(var Si=0;Si<yr.length;Si++)fr(yr[Si],Vr);else if(Fr===\"LineString\")_r(yr,Vr,Zr,!1);else if(Fr===\"MultiLineString\")if(jt.lineMetrics){for(Si=0;Si<yr.length;Si++)Vr=[],_r(yr[Si],Vr,Zr,!1),It.push(St(gi,\"LineString\",Vr,ft.properties));return}else Br(yr,Vr,Zr,!1);else if(Fr===\"Polygon\")Br(yr,Vr,Zr,!0);else if(Fr===\"MultiPolygon\")for(Si=0;Si<yr.length;Si++){var Mi=[];Br(yr[Si],Mi,Zr,!0),Vr.push(Mi)}else if(Fr===\"GeometryCollection\"){for(Si=0;Si<ft.geometry.geometries.length;Si++)$t(It,{id:gi,geometry:ft.geometry.geometries[Si],properties:ft.properties},jt,Zt);return}else throw new Error(\"Input data is not a valid GeoJSON object.\");It.push(St(gi,Fr,Vr,ft.properties))}}function fr(It,ft){ft.push(Or(It[0])),ft.push(Nr(It[1])),ft.push(0)}function _r(It,ft,jt,Zt){for(var yr,Fr,Zr=0,Vr=0;Vr<It.length;Vr++){var gi=Or(It[Vr][0]),Si=Nr(It[Vr][1]);ft.push(gi),ft.push(Si),ft.push(0),Vr>0&&(Zt?Zr+=(yr*Si-gi*Fr)/2:Zr+=Math.sqrt(Math.pow(gi-yr,2)+Math.pow(Si-Fr,2))),yr=gi,Fr=Si}var Mi=ft.length-3;ft[2]=1,bt(ft,0,Mi,jt),ft[Mi+2]=1,ft.size=Math.abs(Zr),ft.start=0,ft.end=ft.size}function Br(It,ft,jt,Zt){for(var yr=0;yr<It.length;yr++){var Fr=[];_r(It[yr],Fr,jt,Zt),ft.push(Fr)}}function Or(It){return It/360+.5}function Nr(It){var ft=Math.sin(It*Math.PI/180),jt=.5-.25*Math.log((1+ft)/(1-ft))/Math.PI;return jt<0?0:jt>1?1:jt}function ut(It,ft,jt,Zt,yr,Fr,Zr,Vr){if(jt/=ft,Zt/=ft,Fr>=jt&&Zr<Zt)return It;if(Zr<jt||Fr>=Zt)return null;for(var gi=[],Si=0;Si<It.length;Si++){var Mi=It[Si],Pi=Mi.geometry,Gi=Mi.type,Ki=yr===0?Mi.minX:Mi.minY,ka=yr===0?Mi.maxX:Mi.maxY;if(Ki>=jt&&ka<Zt){gi.push(Mi);continue}else if(ka<jt||Ki>=Zt)continue;var jn=[];if(Gi===\"Point\"||Gi===\"MultiPoint\")Ne(Pi,jn,jt,Zt,yr);else if(Gi===\"LineString\")Ye(Pi,jn,jt,Zt,yr,!1,Vr.lineMetrics);else if(Gi===\"MultiLineString\")Xe(Pi,jn,jt,Zt,yr,!1);else if(Gi===\"Polygon\")Xe(Pi,jn,jt,Zt,yr,!0);else if(Gi===\"MultiPolygon\")for(var la=0;la<Pi.length;la++){var Fa=[];Xe(Pi[la],Fa,jt,Zt,yr,!0),Fa.length&&jn.push(Fa)}if(jn.length){if(Vr.lineMetrics&&Gi===\"LineString\"){for(la=0;la<jn.length;la++)gi.push(St(Mi.id,Gi,jn[la],Mi.tags));continue}(Gi===\"LineString\"||Gi===\"MultiLineString\")&&(jn.length===1?(Gi=\"LineString\",jn=jn[0]):Gi=\"MultiLineString\"),(Gi===\"Point\"||Gi===\"MultiPoint\")&&(Gi=jn.length===3?\"Point\":\"MultiPoint\"),gi.push(St(Mi.id,Gi,jn,Mi.tags))}}return gi.length?gi:null}function Ne(It,ft,jt,Zt,yr){for(var Fr=0;Fr<It.length;Fr+=3){var Zr=It[Fr+yr];Zr>=jt&&Zr<=Zt&&(ft.push(It[Fr]),ft.push(It[Fr+1]),ft.push(It[Fr+2]))}}function Ye(It,ft,jt,Zt,yr,Fr,Zr){for(var Vr=Ve(It),gi=yr===0?Le:xe,Si=It.start,Mi,Pi,Gi=0;Gi<It.length-3;Gi+=3){var Ki=It[Gi],ka=It[Gi+1],jn=It[Gi+2],la=It[Gi+3],Fa=It[Gi+4],Ra=yr===0?Ki:ka,jo=yr===0?la:Fa,oa=!1;Zr&&(Mi=Math.sqrt(Math.pow(Ki-la,2)+Math.pow(ka-Fa,2))),Ra<jt?jo>jt&&(Pi=gi(Vr,Ki,ka,la,Fa,jt),Zr&&(Vr.start=Si+Mi*Pi)):Ra>Zt?jo<Zt&&(Pi=gi(Vr,Ki,ka,la,Fa,Zt),Zr&&(Vr.start=Si+Mi*Pi)):ht(Vr,Ki,ka,jn),jo<jt&&Ra>=jt&&(Pi=gi(Vr,Ki,ka,la,Fa,jt),oa=!0),jo>Zt&&Ra<=Zt&&(Pi=gi(Vr,Ki,ka,la,Fa,Zt),oa=!0),!Fr&&oa&&(Zr&&(Vr.end=Si+Mi*Pi),ft.push(Vr),Vr=Ve(It)),Zr&&(Si+=Mi)}var Sn=It.length-3;Ki=It[Sn],ka=It[Sn+1],jn=It[Sn+2],Ra=yr===0?Ki:ka,Ra>=jt&&Ra<=Zt&&ht(Vr,Ki,ka,jn),Sn=Vr.length-3,Fr&&Sn>=3&&(Vr[Sn]!==Vr[0]||Vr[Sn+1]!==Vr[1])&&ht(Vr,Vr[0],Vr[1],Vr[2]),Vr.length&&ft.push(Vr)}function Ve(It){var ft=[];return ft.size=It.size,ft.start=It.start,ft.end=It.end,ft}function Xe(It,ft,jt,Zt,yr,Fr){for(var Zr=0;Zr<It.length;Zr++)Ye(It[Zr],ft,jt,Zt,yr,Fr,!1)}function ht(It,ft,jt,Zt){It.push(ft),It.push(jt),It.push(Zt)}function Le(It,ft,jt,Zt,yr,Fr){var Zr=(Fr-ft)/(Zt-ft);return It.push(Fr),It.push(jt+(yr-jt)*Zr),It.push(1),Zr}function xe(It,ft,jt,Zt,yr,Fr){var Zr=(Fr-jt)/(yr-jt);return It.push(ft+(Zt-ft)*Zr),It.push(Fr),It.push(1),Zr}function Se(It,ft){var jt=ft.buffer/ft.extent,Zt=It,yr=ut(It,1,-1-jt,jt,0,-1,2,ft),Fr=ut(It,1,1-jt,2+jt,0,-1,2,ft);return(yr||Fr)&&(Zt=ut(It,1,-jt,1+jt,0,-1,2,ft)||[],yr&&(Zt=lt(yr,1).concat(Zt)),Fr&&(Zt=Zt.concat(lt(Fr,-1)))),Zt}function lt(It,ft){for(var jt=[],Zt=0;Zt<It.length;Zt++){var yr=It[Zt],Fr=yr.type,Zr;if(Fr===\"Point\"||Fr===\"MultiPoint\"||Fr===\"LineString\")Zr=Gt(yr.geometry,ft);else if(Fr===\"MultiLineString\"||Fr===\"Polygon\"){Zr=[];for(var Vr=0;Vr<yr.geometry.length;Vr++)Zr.push(Gt(yr.geometry[Vr],ft))}else if(Fr===\"MultiPolygon\")for(Zr=[],Vr=0;Vr<yr.geometry.length;Vr++){for(var gi=[],Si=0;Si<yr.geometry[Vr].length;Si++)gi.push(Gt(yr.geometry[Vr][Si],ft));Zr.push(gi)}jt.push(St(yr.id,Fr,Zr,yr.tags))}return jt}function Gt(It,ft){var jt=[];jt.size=It.size,It.start!==void 0&&(jt.start=It.start,jt.end=It.end);for(var Zt=0;Zt<It.length;Zt+=3)jt.push(It[Zt]+ft,It[Zt+1],It[Zt+2]);return jt}function Vt(It,ft){if(It.transformed)return It;var jt=1<<It.z,Zt=It.x,yr=It.y,Fr,Zr,Vr;for(Fr=0;Fr<It.features.length;Fr++){var gi=It.features[Fr],Si=gi.geometry,Mi=gi.type;if(gi.geometry=[],Mi===1)for(Zr=0;Zr<Si.length;Zr+=2)gi.geometry.push(ar(Si[Zr],Si[Zr+1],ft,jt,Zt,yr));else for(Zr=0;Zr<Si.length;Zr++){var Pi=[];for(Vr=0;Vr<Si[Zr].length;Vr+=2)Pi.push(ar(Si[Zr][Vr],Si[Zr][Vr+1],ft,jt,Zt,yr));gi.geometry.push(Pi)}}return It.transformed=!0,It}function ar(It,ft,jt,Zt,yr,Fr){return[Math.round(jt*(It*Zt-yr)),Math.round(jt*(ft*Zt-Fr))]}function Qr(It,ft,jt,Zt,yr){for(var Fr=ft===yr.maxZoom?0:yr.tolerance/((1<<ft)*yr.extent),Zr={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:jt,y:Zt,z:ft,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},Vr=0;Vr<It.length;Vr++){Zr.numFeatures++,ai(Zr,It[Vr],Fr,yr);var gi=It[Vr].minX,Si=It[Vr].minY,Mi=It[Vr].maxX,Pi=It[Vr].maxY;gi<Zr.minX&&(Zr.minX=gi),Si<Zr.minY&&(Zr.minY=Si),Mi>Zr.maxX&&(Zr.maxX=Mi),Pi>Zr.maxY&&(Zr.maxY=Pi)}return Zr}function ai(It,ft,jt,Zt){var yr=ft.geometry,Fr=ft.type,Zr=[];if(Fr===\"Point\"||Fr===\"MultiPoint\")for(var Vr=0;Vr<yr.length;Vr+=3)Zr.push(yr[Vr]),Zr.push(yr[Vr+1]),It.numPoints++,It.numSimplified++;else if(Fr===\"LineString\")jr(Zr,yr,It,jt,!1,!1);else if(Fr===\"MultiLineString\"||Fr===\"Polygon\")for(Vr=0;Vr<yr.length;Vr++)jr(Zr,yr[Vr],It,jt,Fr===\"Polygon\",Vr===0);else if(Fr===\"MultiPolygon\")for(var gi=0;gi<yr.length;gi++){var Si=yr[gi];for(Vr=0;Vr<Si.length;Vr++)jr(Zr,Si[Vr],It,jt,!0,Vr===0)}if(Zr.length){var Mi=ft.tags||null;if(Fr===\"LineString\"&&Zt.lineMetrics){Mi={};for(var Pi in ft.tags)Mi[Pi]=ft.tags[Pi];Mi.mapbox_clip_start=yr.start/yr.size,Mi.mapbox_clip_end=yr.end/yr.size}var Gi={geometry:Zr,type:Fr===\"Polygon\"||Fr===\"MultiPolygon\"?3:Fr===\"LineString\"||Fr===\"MultiLineString\"?2:1,tags:Mi};ft.id!==null&&(Gi.id=ft.id),It.features.push(Gi)}}function jr(It,ft,jt,Zt,yr,Fr){var Zr=Zt*Zt;if(Zt>0&&ft.size<(yr?Zr:Zt)){jt.numPoints+=ft.length/3;return}for(var Vr=[],gi=0;gi<ft.length;gi+=3)(Zt===0||ft[gi+2]>Zr)&&(jt.numSimplified++,Vr.push(ft[gi]),Vr.push(ft[gi+1])),jt.numPoints++;yr&&ri(Vr,Fr),It.push(Vr)}function ri(It,ft){for(var jt=0,Zt=0,yr=It.length,Fr=yr-2;Zt<yr;Fr=Zt,Zt+=2)jt+=(It[Zt]-It[Fr])*(It[Zt+1]+It[Fr+1]);if(jt>0===ft)for(Zt=0,yr=It.length;Zt<yr/2;Zt+=2){var Zr=It[Zt],Vr=It[Zt+1];It[Zt]=It[yr-2-Zt],It[Zt+1]=It[yr-1-Zt],It[yr-2-Zt]=Zr,It[yr-1-Zt]=Vr}}function bi(It,ft){return new nn(It,ft)}function nn(It,ft){ft=this.options=Ni(Object.create(this.options),ft);var jt=ft.debug;if(jt&&console.time(\"preprocess data\"),ft.maxZoom<0||ft.maxZoom>24)throw new Error(\"maxZoom should be in the 0-24 range\");if(ft.promoteId&&ft.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var Zt=Ht(It,ft);this.tiles={},this.tileCoords=[],jt&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",ft.indexMaxZoom,ft.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),Zt=Se(Zt,ft),Zt.length&&this.splitTile(Zt,0,0,0),jt&&(Zt.length&&console.log(\"features: %d, points: %d\",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(\"generate tiles\"),console.log(\"tiles generated:\",this.total,JSON.stringify(this.stats)))}nn.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},nn.prototype.splitTile=function(It,ft,jt,Zt,yr,Fr,Zr){for(var Vr=[It,ft,jt,Zt],gi=this.options,Si=gi.debug;Vr.length;){Zt=Vr.pop(),jt=Vr.pop(),ft=Vr.pop(),It=Vr.pop();var Mi=1<<ft,Pi=Wi(ft,jt,Zt),Gi=this.tiles[Pi];if(!Gi&&(Si>1&&console.time(\"creation\"),Gi=this.tiles[Pi]=Qr(It,ft,jt,Zt,gi),this.tileCoords.push({z:ft,x:jt,y:Zt}),Si)){Si>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",ft,jt,Zt,Gi.numFeatures,Gi.numPoints,Gi.numSimplified),console.timeEnd(\"creation\"));var Ki=\"z\"+ft;this.stats[Ki]=(this.stats[Ki]||0)+1,this.total++}if(Gi.source=It,yr){if(ft===gi.maxZoom||ft===yr)continue;var ka=1<<yr-ft;if(jt!==Math.floor(Fr/ka)||Zt!==Math.floor(Zr/ka))continue}else if(ft===gi.indexMaxZoom||Gi.numPoints<=gi.indexMaxPoints)continue;if(Gi.source=null,It.length!==0){Si>1&&console.time(\"clipping\");var jn=.5*gi.buffer/gi.extent,la=.5-jn,Fa=.5+jn,Ra=1+jn,jo,oa,Sn,Ha,oo,xn;jo=oa=Sn=Ha=null,oo=ut(It,Mi,jt-jn,jt+Fa,0,Gi.minX,Gi.maxX,gi),xn=ut(It,Mi,jt+la,jt+Ra,0,Gi.minX,Gi.maxX,gi),It=null,oo&&(jo=ut(oo,Mi,Zt-jn,Zt+Fa,1,Gi.minY,Gi.maxY,gi),oa=ut(oo,Mi,Zt+la,Zt+Ra,1,Gi.minY,Gi.maxY,gi),oo=null),xn&&(Sn=ut(xn,Mi,Zt-jn,Zt+Fa,1,Gi.minY,Gi.maxY,gi),Ha=ut(xn,Mi,Zt+la,Zt+Ra,1,Gi.minY,Gi.maxY,gi),xn=null),Si>1&&console.timeEnd(\"clipping\"),Vr.push(jo||[],ft+1,jt*2,Zt*2),Vr.push(oa||[],ft+1,jt*2,Zt*2+1),Vr.push(Sn||[],ft+1,jt*2+1,Zt*2),Vr.push(Ha||[],ft+1,jt*2+1,Zt*2+1)}}},nn.prototype.getTile=function(It,ft,jt){var Zt=this.options,yr=Zt.extent,Fr=Zt.debug;if(It<0||It>24)return null;var Zr=1<<It;ft=(ft%Zr+Zr)%Zr;var Vr=Wi(It,ft,jt);if(this.tiles[Vr])return Vt(this.tiles[Vr],yr);Fr>1&&console.log(\"drilling down to z%d-%d-%d\",It,ft,jt);for(var gi=It,Si=ft,Mi=jt,Pi;!Pi&&gi>0;)gi--,Si=Math.floor(Si/2),Mi=Math.floor(Mi/2),Pi=this.tiles[Wi(gi,Si,Mi)];return!Pi||!Pi.source?null:(Fr>1&&console.log(\"found parent tile z%d-%d-%d\",gi,Si,Mi),Fr>1&&console.time(\"drilling down\"),this.splitTile(Pi.source,gi,Si,Mi,It,ft,jt),Fr>1&&console.timeEnd(\"drilling down\"),this.tiles[Vr]?Vt(this.tiles[Vr],yr):null)};function Wi(It,ft,jt){return((1<<It)*jt+ft)*32+It}function Ni(It,ft){for(var jt in ft)It[jt]=ft[jt];return It}function _n(It,ft){var jt=It.tileID.canonical;if(!this._geoJSONIndex)return ft(null,null);var Zt=this._geoJSONIndex.getTile(jt.z,jt.x,jt.y);if(!Zt)return ft(null,null);var yr=new C(Zt.features),Fr=F(yr);(Fr.byteOffset!==0||Fr.byteLength!==Fr.buffer.byteLength)&&(Fr=new Uint8Array(Fr)),ft(null,{vectorTile:yr,rawData:Fr.buffer})}var $i=function(It){function ft(jt,Zt,yr,Fr){It.call(this,jt,Zt,yr,_n),Fr&&(this.loadGeoJSON=Fr)}return It&&(ft.__proto__=It),ft.prototype=Object.create(It&&It.prototype),ft.prototype.constructor=ft,ft.prototype.loadData=function(Zt,yr){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=yr,this._pendingLoadDataParams=Zt,this._state&&this._state!==\"Idle\"?this._state=\"NeedsLoadData\":(this._state=\"Coalescing\",this._loadData())},ft.prototype._loadData=function(){var Zt=this;if(!(!this._pendingCallback||!this._pendingLoadDataParams)){var yr=this._pendingCallback,Fr=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var Zr=Fr&&Fr.request&&Fr.request.collectResourceTiming?new i.RequestPerformance(Fr.request):!1;this.loadGeoJSON(Fr,function(Vr,gi){if(Vr||!gi)return yr(Vr);if(typeof gi!=\"object\")return yr(new Error(\"Input data given to '\"+Fr.source+\"' is not a valid GeoJSON object.\"));p(gi,!0);try{if(Fr.filter){var Si=i.createExpression(Fr.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(Si.result===\"error\")throw new Error(Si.value.map(function(Ki){return Ki.key+\": \"+Ki.message}).join(\", \"));var Mi=gi.features.filter(function(Ki){return Si.value.evaluate({zoom:0},Ki)});gi={type:\"FeatureCollection\",features:Mi}}Zt._geoJSONIndex=Fr.cluster?new ct(zn(Fr)).load(gi.features):bi(gi,Fr.geojsonVtOptions)}catch(Ki){return yr(Ki)}Zt.loaded={};var Pi={};if(Zr){var Gi=Zr.finish();Gi&&(Pi.resourceTiming={},Pi.resourceTiming[Fr.source]=JSON.parse(JSON.stringify(Gi)))}yr(null,Pi)})}},ft.prototype.coalesce=function(){this._state===\"Coalescing\"?this._state=\"Idle\":this._state===\"NeedsLoadData\"&&(this._state=\"Coalescing\",this._loadData())},ft.prototype.reloadTile=function(Zt,yr){var Fr=this.loaded,Zr=Zt.uid;return Fr&&Fr[Zr]?It.prototype.reloadTile.call(this,Zt,yr):this.loadTile(Zt,yr)},ft.prototype.loadGeoJSON=function(Zt,yr){if(Zt.request)i.getJSON(Zt.request,yr);else if(typeof Zt.data==\"string\")try{return yr(null,JSON.parse(Zt.data))}catch(Fr){return yr(new Error(\"Input data given to '\"+Zt.source+\"' is not a valid GeoJSON object.\"))}else return yr(new Error(\"Input data given to '\"+Zt.source+\"' is not a valid GeoJSON object.\"))},ft.prototype.removeSource=function(Zt,yr){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),yr()},ft.prototype.getClusterExpansionZoom=function(Zt,yr){try{yr(null,this._geoJSONIndex.getClusterExpansionZoom(Zt.clusterId))}catch(Fr){yr(Fr)}},ft.prototype.getClusterChildren=function(Zt,yr){try{yr(null,this._geoJSONIndex.getChildren(Zt.clusterId))}catch(Fr){yr(Fr)}},ft.prototype.getClusterLeaves=function(Zt,yr){try{yr(null,this._geoJSONIndex.getLeaves(Zt.clusterId,Zt.limit,Zt.offset))}catch(Fr){yr(Fr)}},ft}(v);function zn(It){var ft=It.superclusterOptions,jt=It.clusterProperties;if(!jt||!ft)return ft;for(var Zt={},yr={},Fr={accumulated:null,zoom:0},Zr={properties:null},Vr=Object.keys(jt),gi=0,Si=Vr;gi<Si.length;gi+=1){var Mi=Si[gi],Pi=jt[Mi],Gi=Pi[0],Ki=Pi[1],ka=i.createExpression(Ki),jn=i.createExpression(typeof Gi==\"string\"?[Gi,[\"accumulated\"],[\"get\",Mi]]:Gi);Zt[Mi]=ka.value,yr[Mi]=jn.value}return ft.map=function(la){Zr.properties=la;for(var Fa={},Ra=0,jo=Vr;Ra<jo.length;Ra+=1){var oa=jo[Ra];Fa[oa]=Zt[oa].evaluate(Fr,Zr)}return Fa},ft.reduce=function(la,Fa){Zr.properties=Fa;for(var Ra=0,jo=Vr;Ra<jo.length;Ra+=1){var oa=jo[Ra];Fr.accumulated=la[oa],la[oa]=yr[oa].evaluate(Fr,Zr)}},ft}var Wn=function(ft){var jt=this;this.self=ft,this.actor=new i.Actor(ft,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:v,geojson:$i},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(Zt,yr){if(jt.workerSourceTypes[Zt])throw new Error('Worker source with name \"'+Zt+'\" already registered.');jt.workerSourceTypes[Zt]=yr},this.self.registerRTLTextPlugin=function(Zt){if(i.plugin.isParsed())throw new Error(\"RTL text plugin already registered.\");i.plugin.applyArabicShaping=Zt.applyArabicShaping,i.plugin.processBidirectionalText=Zt.processBidirectionalText,i.plugin.processStyledBidirectionalText=Zt.processStyledBidirectionalText}};return Wn.prototype.setReferrer=function(ft,jt){this.referrer=jt},Wn.prototype.setImages=function(ft,jt,Zt){this.availableImages[ft]=jt;for(var yr in this.workerSources[ft]){var Fr=this.workerSources[ft][yr];for(var Zr in Fr)Fr[Zr].availableImages=jt}Zt()},Wn.prototype.setLayers=function(ft,jt,Zt){this.getLayerIndex(ft).replace(jt),Zt()},Wn.prototype.updateLayers=function(ft,jt,Zt){this.getLayerIndex(ft).update(jt.layers,jt.removedIds),Zt()},Wn.prototype.loadTile=function(ft,jt,Zt){this.getWorkerSource(ft,jt.type,jt.source).loadTile(jt,Zt)},Wn.prototype.loadDEMTile=function(ft,jt,Zt){this.getDEMWorkerSource(ft,jt.source).loadTile(jt,Zt)},Wn.prototype.reloadTile=function(ft,jt,Zt){this.getWorkerSource(ft,jt.type,jt.source).reloadTile(jt,Zt)},Wn.prototype.abortTile=function(ft,jt,Zt){this.getWorkerSource(ft,jt.type,jt.source).abortTile(jt,Zt)},Wn.prototype.removeTile=function(ft,jt,Zt){this.getWorkerSource(ft,jt.type,jt.source).removeTile(jt,Zt)},Wn.prototype.removeDEMTile=function(ft,jt){this.getDEMWorkerSource(ft,jt.source).removeTile(jt)},Wn.prototype.removeSource=function(ft,jt,Zt){if(!(!this.workerSources[ft]||!this.workerSources[ft][jt.type]||!this.workerSources[ft][jt.type][jt.source])){var yr=this.workerSources[ft][jt.type][jt.source];delete this.workerSources[ft][jt.type][jt.source],yr.removeSource!==void 0?yr.removeSource(jt,Zt):Zt()}},Wn.prototype.loadWorkerSource=function(ft,jt,Zt){try{this.self.importScripts(jt.url),Zt()}catch(yr){Zt(yr.toString())}},Wn.prototype.syncRTLPluginState=function(ft,jt,Zt){try{i.plugin.setState(jt);var yr=i.plugin.getPluginURL();if(i.plugin.isLoaded()&&!i.plugin.isParsed()&&yr!=null){this.self.importScripts(yr);var Fr=i.plugin.isParsed(),Zr=Fr?void 0:new Error(\"RTL Text Plugin failed to import scripts from \"+yr);Zt(Zr,Fr)}}catch(Vr){Zt(Vr.toString())}},Wn.prototype.getAvailableImages=function(ft){var jt=this.availableImages[ft];return jt||(jt=[]),jt},Wn.prototype.getLayerIndex=function(ft){var jt=this.layerIndexes[ft];return jt||(jt=this.layerIndexes[ft]=new l),jt},Wn.prototype.getWorkerSource=function(ft,jt,Zt){var yr=this;if(this.workerSources[ft]||(this.workerSources[ft]={}),this.workerSources[ft][jt]||(this.workerSources[ft][jt]={}),!this.workerSources[ft][jt][Zt]){var Fr={send:function(Zr,Vr,gi){yr.actor.send(Zr,Vr,gi,ft)}};this.workerSources[ft][jt][Zt]=new this.workerSourceTypes[jt](Fr,this.getLayerIndex(ft),this.getAvailableImages(ft))}return this.workerSources[ft][jt][Zt]},Wn.prototype.getDEMWorkerSource=function(ft,jt){return this.demWorkerSources[ft]||(this.demWorkerSources[ft]={}),this.demWorkerSources[ft][jt]||(this.demWorkerSources[ft][jt]=new b),this.demWorkerSources[ft][jt]},Wn.prototype.enforceCacheSizeLimit=function(ft,jt){i.enforceCacheSizeLimit(jt)},typeof WorkerGlobalScope!=\"undefined\"&&typeof self!=\"undefined\"&&self instanceof WorkerGlobalScope&&(self.worker=new Wn(self)),Wn}),n([\"./shared\"],function(i){\"use strict\";var a=i.createCommonjsModule(function(Y){Y.exports?Y.exports=z:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=z,window.mapboxgl.notSupportedReason=K);function z(rr){return!K(rr)}function K(rr){if(!O())return\"not a browser\";if(!$())return\"insufficent Array support\";if(!pe())return\"insufficient Function support\";if(!de())return\"insufficient Object support\";if(!Ie())return\"insufficient JSON support\";if(!$e())return\"insufficient worker support\";if(!pt())return\"insufficient Uint8ClampedArray support\";if(!Kt())return\"insufficient ArrayBuffer support\";if(!ir())return\"insufficient Canvas/getImageData support\";if(!vt(rr&&rr.failIfMajorPerformanceCaveat))return\"insufficient WebGL support\"}function O(){return typeof window!=\"undefined\"&&typeof document!=\"undefined\"}function $(){return Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray}function pe(){return Function.prototype&&Function.prototype.bind}function de(){return Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions}function Ie(){return\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON}function $e(){if(!(\"Worker\"in window&&\"Blob\"in window&&\"URL\"in window))return!1;var rr=new Blob([\"\"],{type:\"text/javascript\"}),dr=URL.createObjectURL(rr),pr,kr;try{kr=new Worker(dr),pr=!0}catch(Ar){pr=!1}return kr&&kr.terminate(),URL.revokeObjectURL(dr),pr}function pt(){return\"Uint8ClampedArray\"in window}function Kt(){return ArrayBuffer.isView}function ir(){var rr=document.createElement(\"canvas\");rr.width=rr.height=1;var dr=rr.getContext(\"2d\");if(!dr)return!1;var pr=dr.getImageData(0,0,1,1);return pr&&pr.width===rr.width}var Jt={};function vt(rr){return Jt[rr]===void 0&&(Jt[rr]=Wt(rr)),Jt[rr]}z.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0};function Pt(rr){var dr=document.createElement(\"canvas\"),pr=Object.create(z.webGLContextAttributes);return pr.failIfMajorPerformanceCaveat=rr,dr.probablySupportsContext?dr.probablySupportsContext(\"webgl\",pr)||dr.probablySupportsContext(\"experimental-webgl\",pr):dr.supportsContext?dr.supportsContext(\"webgl\",pr)||dr.supportsContext(\"experimental-webgl\",pr):dr.getContext(\"webgl\",pr)||dr.getContext(\"experimental-webgl\",pr)}function Wt(rr){var dr=Pt(rr);if(!dr)return!1;var pr=dr.createShader(dr.VERTEX_SHADER);return!pr||dr.isContextLost()?!1:(dr.shaderSource(pr,\"void main() {}\"),dr.compileShader(pr),dr.getShaderParameter(pr,dr.COMPILE_STATUS)===!0)}}),o={};o.create=function(Y,z,K){var O=i.window.document.createElement(Y);return z!==void 0&&(O.className=z),K&&K.appendChild(O),O},o.createNS=function(Y,z){var K=i.window.document.createElementNS(Y,z);return K};var s=i.window.document&&i.window.document.documentElement.style;function l(Y){if(!s)return Y[0];for(var z=0;z<Y.length;z++)if(Y[z]in s)return Y[z];return Y[0]}var u=l([\"userSelect\",\"MozUserSelect\",\"WebkitUserSelect\",\"msUserSelect\"]),c;o.disableDrag=function(){s&&u&&(c=s[u],s[u]=\"none\")},o.enableDrag=function(){s&&u&&(s[u]=c)};var f=l([\"transform\",\"WebkitTransform\"]);o.setTransform=function(Y,z){Y.style[f]=z};var h=!1;try{var d=Object.defineProperty({},\"passive\",{get:function(){h=!0}});i.window.addEventListener(\"test\",d,d),i.window.removeEventListener(\"test\",d,d)}catch(Y){h=!1}o.addEventListener=function(Y,z,K,O){O===void 0&&(O={}),\"passive\"in O&&h?Y.addEventListener(z,K,O):Y.addEventListener(z,K,O.capture)},o.removeEventListener=function(Y,z,K,O){O===void 0&&(O={}),\"passive\"in O&&h?Y.removeEventListener(z,K,O):Y.removeEventListener(z,K,O.capture)};var v=function(Y){Y.preventDefault(),Y.stopPropagation(),i.window.removeEventListener(\"click\",v,!0)};o.suppressClick=function(){i.window.addEventListener(\"click\",v,!0),i.window.setTimeout(function(){i.window.removeEventListener(\"click\",v,!0)},0)},o.mousePos=function(Y,z){var K=Y.getBoundingClientRect();return new i.Point(z.clientX-K.left-Y.clientLeft,z.clientY-K.top-Y.clientTop)},o.touchPos=function(Y,z){for(var K=Y.getBoundingClientRect(),O=[],$=0;$<z.length;$++)O.push(new i.Point(z[$].clientX-K.left-Y.clientLeft,z[$].clientY-K.top-Y.clientTop));return O},o.mouseButton=function(Y){return typeof i.window.InstallTrigger!=\"undefined\"&&Y.button===2&&Y.ctrlKey&&i.window.navigator.platform.toUpperCase().indexOf(\"MAC\")>=0?0:Y.button},o.remove=function(Y){Y.parentNode&&Y.parentNode.removeChild(Y)};function x(Y,z,K){var O,$,pe,de=i.browser.devicePixelRatio>1?\"@2x\":\"\",Ie=i.getJSON(z.transformRequest(z.normalizeSpriteURL(Y,de,\".json\"),i.ResourceType.SpriteJSON),function(Kt,ir){Ie=null,pe||(pe=Kt,O=ir,pt())}),$e=i.getImage(z.transformRequest(z.normalizeSpriteURL(Y,de,\".png\"),i.ResourceType.SpriteImage),function(Kt,ir){$e=null,pe||(pe=Kt,$=ir,pt())});function pt(){if(pe)K(pe);else if(O&&$){var Kt=i.browser.getImageData($),ir={};for(var Jt in O){var vt=O[Jt],Pt=vt.width,Wt=vt.height,rr=vt.x,dr=vt.y,pr=vt.sdf,kr=vt.pixelRatio,Ar=vt.stretchX,gr=vt.stretchY,Cr=vt.content,cr=new i.RGBAImage({width:Pt,height:Wt});i.RGBAImage.copy(Kt,cr,{x:rr,y:dr},{x:0,y:0},{width:Pt,height:Wt}),ir[Jt]={data:cr,pixelRatio:kr,sdf:pr,stretchX:Ar,stretchY:gr,content:Cr}}K(null,ir)}}return{cancel:function(){Ie&&(Ie.cancel(),Ie=null),$e&&($e.cancel(),$e=null)}}}function b(Y){var z=Y.userImage;if(z&&z.render){var K=z.render();if(K)return Y.data.replace(new Uint8Array(z.data.buffer)),!0}return!1}var p=1,E=function(Y){function z(){Y.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new i.RGBAImage({width:1,height:1}),this.dirty=!0}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.isLoaded=function(){return this.loaded},z.prototype.setLoaded=function(O){if(this.loaded!==O&&(this.loaded=O,O)){for(var $=0,pe=this.requestors;$<pe.length;$+=1){var de=pe[$],Ie=de.ids,$e=de.callback;this._notify(Ie,$e)}this.requestors=[]}},z.prototype.getImage=function(O){return this.images[O]},z.prototype.addImage=function(O,$){this._validate(O,$)&&(this.images[O]=$)},z.prototype._validate=function(O,$){var pe=!0;return this._validateStretch($.stretchX,$.data&&$.data.width)||(this.fire(new i.ErrorEvent(new Error('Image \"'+O+'\" has invalid \"stretchX\" value'))),pe=!1),this._validateStretch($.stretchY,$.data&&$.data.height)||(this.fire(new i.ErrorEvent(new Error('Image \"'+O+'\" has invalid \"stretchY\" value'))),pe=!1),this._validateContent($.content,$)||(this.fire(new i.ErrorEvent(new Error('Image \"'+O+'\" has invalid \"content\" value'))),pe=!1),pe},z.prototype._validateStretch=function(O,$){if(!O)return!0;for(var pe=0,de=0,Ie=O;de<Ie.length;de+=1){var $e=Ie[de];if($e[0]<pe||$e[1]<$e[0]||$<$e[1])return!1;pe=$e[1]}return!0},z.prototype._validateContent=function(O,$){return O?!(O.length!==4||O[0]<0||$.data.width<O[0]||O[1]<0||$.data.height<O[1]||O[2]<0||$.data.width<O[2]||O[3]<0||$.data.height<O[3]||O[2]<O[0]||O[3]<O[1]):!0},z.prototype.updateImage=function(O,$){var pe=this.images[O];$.version=pe.version+1,this.images[O]=$,this.updatedImages[O]=!0},z.prototype.removeImage=function(O){var $=this.images[O];delete this.images[O],delete this.patterns[O],$.userImage&&$.userImage.onRemove&&$.userImage.onRemove()},z.prototype.listImages=function(){return Object.keys(this.images)},z.prototype.getImages=function(O,$){var pe=!0;if(!this.isLoaded())for(var de=0,Ie=O;de<Ie.length;de+=1){var $e=Ie[de];this.images[$e]||(pe=!1)}this.isLoaded()||pe?this._notify(O,$):this.requestors.push({ids:O,callback:$})},z.prototype._notify=function(O,$){for(var pe={},de=0,Ie=O;de<Ie.length;de+=1){var $e=Ie[de];this.images[$e]||this.fire(new i.Event(\"styleimagemissing\",{id:$e}));var pt=this.images[$e];pt?pe[$e]={data:pt.data.clone(),pixelRatio:pt.pixelRatio,sdf:pt.sdf,version:pt.version,stretchX:pt.stretchX,stretchY:pt.stretchY,content:pt.content,hasRenderCallback:!!(pt.userImage&&pt.userImage.render)}:i.warnOnce('Image \"'+$e+'\" 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.')}$(null,pe)},z.prototype.getPixelSize=function(){var O=this.atlasImage,$=O.width,pe=O.height;return{width:$,height:pe}},z.prototype.getPattern=function(O){var $=this.patterns[O],pe=this.getImage(O);if(!pe)return null;if($&&$.position.version===pe.version)return $.position;if($)$.position.version=pe.version;else{var de=pe.data.width+p*2,Ie=pe.data.height+p*2,$e={w:de,h:Ie,x:0,y:0},pt=new i.ImagePosition($e,pe);this.patterns[O]={bin:$e,position:pt}}return this._updatePatternAtlas(),this.patterns[O].position},z.prototype.bind=function(O){var $=O.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new i.Texture(O,this.atlasImage,$.RGBA),this.atlasTexture.bind($.LINEAR,$.CLAMP_TO_EDGE)},z.prototype._updatePatternAtlas=function(){var O=[];for(var $ in this.patterns)O.push(this.patterns[$].bin);var pe=i.potpack(O),de=pe.w,Ie=pe.h,$e=this.atlasImage;$e.resize({width:de||1,height:Ie||1});for(var pt in this.patterns){var Kt=this.patterns[pt],ir=Kt.bin,Jt=ir.x+p,vt=ir.y+p,Pt=this.images[pt].data,Wt=Pt.width,rr=Pt.height;i.RGBAImage.copy(Pt,$e,{x:0,y:0},{x:Jt,y:vt},{width:Wt,height:rr}),i.RGBAImage.copy(Pt,$e,{x:0,y:rr-1},{x:Jt,y:vt-1},{width:Wt,height:1}),i.RGBAImage.copy(Pt,$e,{x:0,y:0},{x:Jt,y:vt+rr},{width:Wt,height:1}),i.RGBAImage.copy(Pt,$e,{x:Wt-1,y:0},{x:Jt-1,y:vt},{width:1,height:rr}),i.RGBAImage.copy(Pt,$e,{x:0,y:0},{x:Jt+Wt,y:vt},{width:1,height:rr})}this.dirty=!0},z.prototype.beginFrame=function(){this.callbackDispatchedThisFrame={}},z.prototype.dispatchRenderCallbacks=function(O){for(var $=0,pe=O;$<pe.length;$+=1){var de=pe[$];if(!this.callbackDispatchedThisFrame[de]){this.callbackDispatchedThisFrame[de]=!0;var Ie=this.images[de],$e=b(Ie);$e&&this.updateImage(de,Ie)}}},z}(i.Evented);function k(Y,z,K,O,$){var pe=z*256,de=pe+255,Ie=O.transformRequest(O.normalizeGlyphsURL(K).replace(\"{fontstack}\",Y).replace(\"{range}\",pe+\"-\"+de),i.ResourceType.Glyphs);i.getArrayBuffer(Ie,function($e,pt){if($e)$($e);else if(pt){for(var Kt={},ir=0,Jt=i.parseGlyphPBF(pt);ir<Jt.length;ir+=1){var vt=Jt[ir];Kt[vt.id]=vt}$(null,Kt)}})}var A=C,L=C,_=1e20;function C(Y,z,K,O,$,pe){this.fontSize=Y||24,this.buffer=z===void 0?3:z,this.cutoff=O||.25,this.fontFamily=$||\"sans-serif\",this.fontWeight=pe||\"normal\",this.radius=K||8;var de=this.size=this.fontSize+this.buffer*2;this.canvas=document.createElement(\"canvas\"),this.canvas.width=this.canvas.height=de,this.ctx=this.canvas.getContext(\"2d\"),this.ctx.font=this.fontWeight+\" \"+this.fontSize+\"px \"+this.fontFamily,this.ctx.textBaseline=\"middle\",this.ctx.fillStyle=\"black\",this.gridOuter=new Float64Array(de*de),this.gridInner=new Float64Array(de*de),this.f=new Float64Array(de),this.d=new Float64Array(de),this.z=new Float64Array(de+1),this.v=new Int16Array(de),this.middle=Math.round(de/2*(navigator.userAgent.indexOf(\"Gecko/\")>=0?1.2:1))}C.prototype.draw=function(Y){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(Y,this.buffer,this.middle);for(var z=this.ctx.getImageData(0,0,this.size,this.size),K=new Uint8ClampedArray(this.size*this.size),O=0;O<this.size*this.size;O++){var $=z.data[O*4+3]/255;this.gridOuter[O]=$===1?0:$===0?_:Math.pow(Math.max(0,.5-$),2),this.gridInner[O]=$===1?_:$===0?0:Math.pow(Math.max(0,$-.5),2)}for(M(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),M(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),O=0;O<this.size*this.size;O++){var pe=this.gridOuter[O]-this.gridInner[O];K[O]=Math.max(0,Math.min(255,Math.round(255-255*(pe/this.radius+this.cutoff))))}return K};function M(Y,z,K,O,$,pe,de){for(var Ie=0;Ie<z;Ie++){for(var $e=0;$e<K;$e++)O[$e]=Y[$e*z+Ie];for(g(O,$,pe,de,K),$e=0;$e<K;$e++)Y[$e*z+Ie]=$[$e]}for($e=0;$e<K;$e++){for(Ie=0;Ie<z;Ie++)O[Ie]=Y[$e*z+Ie];for(g(O,$,pe,de,z),Ie=0;Ie<z;Ie++)Y[$e*z+Ie]=Math.sqrt($[Ie])}}function g(Y,z,K,O,$){K[0]=0,O[0]=-_,O[1]=+_;for(var pe=1,de=0;pe<$;pe++){for(var Ie=(Y[pe]+pe*pe-(Y[K[de]]+K[de]*K[de]))/(2*pe-2*K[de]);Ie<=O[de];)de--,Ie=(Y[pe]+pe*pe-(Y[K[de]]+K[de]*K[de]))/(2*pe-2*K[de]);de++,K[de]=pe,O[de]=Ie,O[de+1]=+_}for(pe=0,de=0;pe<$;pe++){for(;O[de+1]<pe;)de++;z[pe]=(pe-K[de])*(pe-K[de])+Y[K[de]]}}A.default=L;var P=function(z,K){this.requestManager=z,this.localIdeographFontFamily=K,this.entries={}};P.prototype.setURL=function(z){this.url=z},P.prototype.getGlyphs=function(z,K){var O=this,$=[];for(var pe in z)for(var de=0,Ie=z[pe];de<Ie.length;de+=1){var $e=Ie[de];$.push({stack:pe,id:$e})}i.asyncAll($,function(pt,Kt){var ir=pt.stack,Jt=pt.id,vt=O.entries[ir];vt||(vt=O.entries[ir]={glyphs:{},requests:{},ranges:{}});var Pt=vt.glyphs[Jt];if(Pt!==void 0){Kt(null,{stack:ir,id:Jt,glyph:Pt});return}if(Pt=O._tinySDF(vt,ir,Jt),Pt){vt.glyphs[Jt]=Pt,Kt(null,{stack:ir,id:Jt,glyph:Pt});return}var Wt=Math.floor(Jt/256);if(Wt*256>65535){Kt(new Error(\"glyphs > 65535 not supported\"));return}if(vt.ranges[Wt]){Kt(null,{stack:ir,id:Jt,glyph:Pt});return}var rr=vt.requests[Wt];rr||(rr=vt.requests[Wt]=[],P.loadGlyphRange(ir,Wt,O.url,O.requestManager,function(dr,pr){if(pr){for(var kr in pr)O._doesCharSupportLocalGlyph(+kr)||(vt.glyphs[+kr]=pr[+kr]);vt.ranges[Wt]=!0}for(var Ar=0,gr=rr;Ar<gr.length;Ar+=1){var Cr=gr[Ar];Cr(dr,pr)}delete vt.requests[Wt]})),rr.push(function(dr,pr){dr?Kt(dr):pr&&Kt(null,{stack:ir,id:Jt,glyph:pr[Jt]||null})})},function(pt,Kt){if(pt)K(pt);else if(Kt){for(var ir={},Jt=0,vt=Kt;Jt<vt.length;Jt+=1){var Pt=vt[Jt],Wt=Pt.stack,rr=Pt.id,dr=Pt.glyph;(ir[Wt]||(ir[Wt]={}))[rr]=dr&&{id:dr.id,bitmap:dr.bitmap.clone(),metrics:dr.metrics}}K(null,ir)}})},P.prototype._doesCharSupportLocalGlyph=function(z){return!!this.localIdeographFontFamily&&(i.isChar[\"CJK Unified Ideographs\"](z)||i.isChar[\"Hangul Syllables\"](z)||i.isChar.Hiragana(z)||i.isChar.Katakana(z))},P.prototype._tinySDF=function(z,K,O){var $=this.localIdeographFontFamily;if($&&this._doesCharSupportLocalGlyph(O)){var pe=z.tinySDF;if(!pe){var de=\"400\";/bold/i.test(K)?de=\"900\":/medium/i.test(K)?de=\"500\":/light/i.test(K)&&(de=\"200\"),pe=z.tinySDF=new P.TinySDF(24,3,8,.25,$,de)}return{id:O,bitmap:new i.AlphaImage({width:30,height:30},pe.draw(String.fromCharCode(O))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},P.loadGlyphRange=k,P.TinySDF=A;var T=function(){this.specification=i.styleSpec.light.position};T.prototype.possiblyEvaluate=function(z,K){return i.sphericalToCartesian(z.expression.evaluate(K))},T.prototype.interpolate=function(z,K,O){return{x:i.number(z.x,K.x,O),y:i.number(z.y,K.y,O),z:i.number(z.z,K.z,O)}};var F=new i.Properties({anchor:new i.DataConstantProperty(i.styleSpec.light.anchor),position:new T,color:new i.DataConstantProperty(i.styleSpec.light.color),intensity:new i.DataConstantProperty(i.styleSpec.light.intensity)}),q=\"-transition\",V=function(Y){function z(K){Y.call(this),this._transitionable=new i.Transitionable(F),this.setLight(K),this._transitioning=this._transitionable.untransitioned()}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getLight=function(){return this._transitionable.serialize()},z.prototype.setLight=function(O,$){if($===void 0&&($={}),!this._validate(i.validateLight,O,$))for(var pe in O){var de=O[pe];i.endsWith(pe,q)?this._transitionable.setTransition(pe.slice(0,-q.length),de):this._transitionable.setValue(pe,de)}},z.prototype.updateTransitions=function(O){this._transitioning=this._transitionable.transitioned(O,this._transitioning)},z.prototype.hasTransition=function(){return this._transitioning.hasTransition()},z.prototype.recalculate=function(O){this.properties=this._transitioning.possiblyEvaluate(O)},z.prototype._validate=function(O,$,pe){return pe&&pe.validate===!1?!1:i.emitValidationErrors(this,O.call(i.validateStyle,i.extend({value:$,style:{glyphs:!0,sprite:!0},styleSpec:i.styleSpec})))},z}(i.Evented),H=function(z,K){this.width=z,this.height=K,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}};H.prototype.getDash=function(z,K){var O=z.join(\",\")+String(K);return this.dashEntry[O]||(this.dashEntry[O]=this.addDash(z,K)),this.dashEntry[O]},H.prototype.getDashRanges=function(z,K,O){var $=z.length%2===1,pe=[],de=$?-z[z.length-1]*O:0,Ie=z[0]*O,$e=!0;pe.push({left:de,right:Ie,isDash:$e,zeroLength:z[0]===0});for(var pt=z[0],Kt=1;Kt<z.length;Kt++){$e=!$e;var ir=z[Kt];de=pt*O,pt+=ir,Ie=pt*O,pe.push({left:de,right:Ie,isDash:$e,zeroLength:ir===0})}return pe},H.prototype.addRoundDash=function(z,K,O){for(var $=K/2,pe=-O;pe<=O;pe++)for(var de=this.nextRow+O+pe,Ie=this.width*de,$e=0,pt=z[$e],Kt=0;Kt<this.width;Kt++){Kt/pt.right>1&&(pt=z[++$e]);var ir=Math.abs(Kt-pt.left),Jt=Math.abs(Kt-pt.right),vt=Math.min(ir,Jt),Pt=void 0,Wt=pe/O*($+1);if(pt.isDash){var rr=$-Math.abs(Wt);Pt=Math.sqrt(vt*vt+rr*rr)}else Pt=$-Math.sqrt(vt*vt+Wt*Wt);this.data[Ie+Kt]=Math.max(0,Math.min(255,Pt+128))}},H.prototype.addRegularDash=function(z){for(var K=z.length-1;K>=0;--K){var O=z[K],$=z[K+1];O.zeroLength?z.splice(K,1):$&&$.isDash===O.isDash&&($.left=O.left,z.splice(K,1))}var pe=z[0],de=z[z.length-1];pe.isDash===de.isDash&&(pe.left=de.left-this.width,de.right=pe.right+this.width);for(var Ie=this.width*this.nextRow,$e=0,pt=z[$e],Kt=0;Kt<this.width;Kt++){Kt/pt.right>1&&(pt=z[++$e]);var ir=Math.abs(Kt-pt.left),Jt=Math.abs(Kt-pt.right),vt=Math.min(ir,Jt),Pt=pt.isDash?vt:-vt;this.data[Ie+Kt]=Math.max(0,Math.min(255,Pt+128))}},H.prototype.addDash=function(z,K){var O=K?7:0,$=2*O+1;if(this.nextRow+$>this.height)return i.warnOnce(\"LineAtlas out of space\"),null;for(var pe=0,de=0;de<z.length;de++)pe+=z[de];if(pe!==0){var Ie=this.width/pe,$e=this.getDashRanges(z,this.width,Ie);K?this.addRoundDash($e,Ie,O):this.addRegularDash($e)}var pt={y:(this.nextRow+O+.5)/this.height,height:2*O/this.height,width:pe};return this.nextRow+=$,this.dirty=!0,pt},H.prototype.bind=function(z){var K=z.gl;this.texture?(K.bindTexture(K.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,K.texSubImage2D(K.TEXTURE_2D,0,0,0,this.width,this.height,K.ALPHA,K.UNSIGNED_BYTE,this.data))):(this.texture=K.createTexture(),K.bindTexture(K.TEXTURE_2D,this.texture),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_WRAP_S,K.REPEAT),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_WRAP_T,K.REPEAT),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_MIN_FILTER,K.LINEAR),K.texParameteri(K.TEXTURE_2D,K.TEXTURE_MAG_FILTER,K.LINEAR),K.texImage2D(K.TEXTURE_2D,0,K.ALPHA,this.width,this.height,0,K.ALPHA,K.UNSIGNED_BYTE,this.data))};var X=function Y(z,K){this.workerPool=z,this.actors=[],this.currentActor=0,this.id=i.uniqueId();for(var O=this.workerPool.acquire(this.id),$=0;$<O.length;$++){var pe=O[$],de=new Y.Actor(pe,K,this.id);de.name=\"Worker \"+$,this.actors.push(de)}};X.prototype.broadcast=function(z,K,O){O=O||function(){},i.asyncAll(this.actors,function($,pe){$.send(z,K,pe)},O)},X.prototype.getActor=function(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]},X.prototype.remove=function(){this.actors.forEach(function(z){z.remove()}),this.actors=[],this.workerPool.release(this.id)},X.Actor=i.Actor;function G(Y,z,K){var O=function($,pe){if($)return K($);if(pe){var de=i.pick(i.extend(pe,Y),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"mapbox_logo\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);pe.vector_layers&&(de.vectorLayers=pe.vector_layers,de.vectorLayerIds=de.vectorLayers.map(function(Ie){return Ie.id})),de.tiles=z.canonicalizeTileset(de,Y.url),K(null,de)}};return Y.url?i.getJSON(z.transformRequest(z.normalizeSourceURL(Y.url),i.ResourceType.Source),O):i.browser.frame(function(){return O(null,Y)})}var N=function(z,K,O){this.bounds=i.LngLatBounds.convert(this.validateBounds(z)),this.minzoom=K||0,this.maxzoom=O||24};N.prototype.validateBounds=function(z){return!Array.isArray(z)||z.length!==4?[-180,-90,180,90]:[Math.max(-180,z[0]),Math.max(-90,z[1]),Math.min(180,z[2]),Math.min(90,z[3])]},N.prototype.contains=function(z){var K=Math.pow(2,z.z),O={minX:Math.floor(i.mercatorXfromLng(this.bounds.getWest())*K),minY:Math.floor(i.mercatorYfromLat(this.bounds.getNorth())*K),maxX:Math.ceil(i.mercatorXfromLng(this.bounds.getEast())*K),maxY:Math.ceil(i.mercatorYfromLat(this.bounds.getSouth())*K)},$=z.x>=O.minX&&z.x<O.maxX&&z.y>=O.minY&&z.y<O.maxY;return $};var W=function(Y){function z(K,O,$,pe){if(Y.call(this),this.id=K,this.dispatcher=$,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,i.extend(this,i.pick(O,[\"url\",\"scheme\",\"tileSize\",\"promoteId\"])),this._options=i.extend({type:\"vector\"},O),this._collectResourceTiming=O.collectResourceTiming,this.tileSize!==512)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(pe)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){var O=this;this._loaded=!1,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=G(this._options,this.map._requestManager,function($,pe){O._tileJSONRequest=null,O._loaded=!0,$?O.fire(new i.ErrorEvent($)):pe&&(i.extend(O,pe),pe.bounds&&(O.tileBounds=new N(pe.bounds,O.minzoom,O.maxzoom)),i.postTurnstileEvent(pe.tiles,O.map._requestManager._customAccessToken),i.postMapLoadEvent(pe.tiles,O.map._getMapId(),O.map._requestManager._skuToken,O.map._requestManager._customAccessToken),O.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),O.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})},z.prototype.loaded=function(){return this._loaded},z.prototype.hasTile=function(O){return!this.tileBounds||this.tileBounds.contains(O.canonical)},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.setSourceProperty=function(O){this._tileJSONRequest&&this._tileJSONRequest.cancel(),O();var $=this.map.style.sourceCaches[this.id];$.clearTiles(),this.load()},z.prototype.setTiles=function(O){var $=this;return this.setSourceProperty(function(){$._options.tiles=O}),this},z.prototype.setUrl=function(O){var $=this;return this.setSourceProperty(function(){$.url=O,$._options.url=O}),this},z.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},z.prototype.serialize=function(){return i.extend({},this._options)},z.prototype.loadTile=function(O,$){var pe=this.map._requestManager.normalizeTileURL(O.tileID.canonical.url(this.tiles,this.scheme)),de={request:this.map._requestManager.transformRequest(pe,i.ResourceType.Tile),uid:O.uid,tileID:O.tileID,zoom:O.tileID.overscaledZ,tileSize:this.tileSize*O.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:i.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};de.request.collectResourceTiming=this._collectResourceTiming,!O.actor||O.state===\"expired\"?(O.actor=this.dispatcher.getActor(),O.request=O.actor.send(\"loadTile\",de,Ie.bind(this))):O.state===\"loading\"?O.reloadCallback=$:O.request=O.actor.send(\"reloadTile\",de,Ie.bind(this));function Ie($e,pt){if(delete O.request,O.aborted)return $(null);if($e&&$e.status!==404)return $($e);pt&&pt.resourceTiming&&(O.resourceTiming=pt.resourceTiming),this.map._refreshExpiredTiles&&pt&&O.setExpiryData(pt),O.loadVectorData(pt,this.map.painter),i.cacheEntryPossiblyAdded(this.dispatcher),$(null),O.reloadCallback&&(this.loadTile(O,O.reloadCallback),O.reloadCallback=null)}},z.prototype.abortTile=function(O){O.request&&(O.request.cancel(),delete O.request),O.actor&&O.actor.send(\"abortTile\",{uid:O.uid,type:this.type,source:this.id},void 0)},z.prototype.unloadTile=function(O){O.unloadVectorData(),O.actor&&O.actor.send(\"removeTile\",{uid:O.uid,type:this.type,source:this.id},void 0)},z.prototype.hasTransition=function(){return!1},z}(i.Evented),re=function(Y){function z(K,O,$,pe){Y.call(this),this.id=K,this.dispatcher=$,this.setEventedParent(pe),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=i.extend({type:\"raster\"},O),i.extend(this,i.pick(O,[\"url\",\"scheme\",\"tileSize\"]))}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){var O=this;this._loaded=!1,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=G(this._options,this.map._requestManager,function($,pe){O._tileJSONRequest=null,O._loaded=!0,$?O.fire(new i.ErrorEvent($)):pe&&(i.extend(O,pe),pe.bounds&&(O.tileBounds=new N(pe.bounds,O.minzoom,O.maxzoom)),i.postTurnstileEvent(pe.tiles),i.postMapLoadEvent(pe.tiles,O.map._getMapId(),O.map._requestManager._skuToken),O.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),O.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})},z.prototype.loaded=function(){return this._loaded},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},z.prototype.serialize=function(){return i.extend({},this._options)},z.prototype.hasTile=function(O){return!this.tileBounds||this.tileBounds.contains(O.canonical)},z.prototype.loadTile=function(O,$){var pe=this,de=this.map._requestManager.normalizeTileURL(O.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);O.request=i.getImage(this.map._requestManager.transformRequest(de,i.ResourceType.Tile),function(Ie,$e){if(delete O.request,O.aborted)O.state=\"unloaded\",$(null);else if(Ie)O.state=\"errored\",$(Ie);else if($e){pe.map._refreshExpiredTiles&&O.setExpiryData($e),delete $e.cacheControl,delete $e.expires;var pt=pe.map.painter.context,Kt=pt.gl;O.texture=pe.map.painter.getTileTexture($e.width),O.texture?O.texture.update($e,{useMipmap:!0}):(O.texture=new i.Texture(pt,$e,Kt.RGBA,{useMipmap:!0}),O.texture.bind(Kt.LINEAR,Kt.CLAMP_TO_EDGE,Kt.LINEAR_MIPMAP_NEAREST),pt.extTextureFilterAnisotropic&&Kt.texParameterf(Kt.TEXTURE_2D,pt.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,pt.extTextureFilterAnisotropicMax)),O.state=\"loaded\",i.cacheEntryPossiblyAdded(pe.dispatcher),$(null)}})},z.prototype.abortTile=function(O,$){O.request&&(O.request.cancel(),delete O.request),$()},z.prototype.unloadTile=function(O,$){O.texture&&this.map.painter.saveTileTexture(O.texture),$()},z.prototype.hasTransition=function(){return!1},z}(i.Evented),ae=function(Y){function z(K,O,$,pe){Y.call(this,K,O,$,pe),this.type=\"raster-dem\",this.maxzoom=22,this._options=i.extend({type:\"raster-dem\"},O),this.encoding=O.encoding||\"mapbox\"}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.serialize=function(){return{type:\"raster-dem\",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}},z.prototype.loadTile=function(O,$){var pe=this.map._requestManager.normalizeTileURL(O.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);O.request=i.getImage(this.map._requestManager.transformRequest(pe,i.ResourceType.Tile),de.bind(this)),O.neighboringTiles=this._getNeighboringTiles(O.tileID);function de($e,pt){if(delete O.request,O.aborted)O.state=\"unloaded\",$(null);else if($e)O.state=\"errored\",$($e);else if(pt){this.map._refreshExpiredTiles&&O.setExpiryData(pt),delete pt.cacheControl,delete pt.expires;var Kt=i.window.ImageBitmap&&pt instanceof i.window.ImageBitmap&&i.offscreenCanvasSupported(),ir=Kt?pt:i.browser.getImageData(pt,1),Jt={uid:O.uid,coord:O.tileID,source:this.id,rawImageData:ir,encoding:this.encoding};(!O.actor||O.state===\"expired\")&&(O.actor=this.dispatcher.getActor(),O.actor.send(\"loadDEMTile\",Jt,Ie.bind(this)))}}function Ie($e,pt){$e&&(O.state=\"errored\",$($e)),pt&&(O.dem=pt,O.needsHillshadePrepare=!0,O.state=\"loaded\",$(null))}},z.prototype._getNeighboringTiles=function(O){var $=O.canonical,pe=Math.pow(2,$.z),de=($.x-1+pe)%pe,Ie=$.x===0?O.wrap-1:O.wrap,$e=($.x+1+pe)%pe,pt=$.x+1===pe?O.wrap+1:O.wrap,Kt={};return Kt[new i.OverscaledTileID(O.overscaledZ,Ie,$.z,de,$.y).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,pt,$.z,$e,$.y).key]={backfilled:!1},$.y>0&&(Kt[new i.OverscaledTileID(O.overscaledZ,Ie,$.z,de,$.y-1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,O.wrap,$.z,$.x,$.y-1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,pt,$.z,$e,$.y-1).key]={backfilled:!1}),$.y+1<pe&&(Kt[new i.OverscaledTileID(O.overscaledZ,Ie,$.z,de,$.y+1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,O.wrap,$.z,$.x,$.y+1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,pt,$.z,$e,$.y+1).key]={backfilled:!1}),Kt},z.prototype.unloadTile=function(O){O.demTexture&&this.map.painter.saveTileTexture(O.demTexture),O.fbo&&(O.fbo.destroy(),delete O.fbo),O.dem&&delete O.dem,delete O.neighboringTiles,O.state=\"unloaded\",O.actor&&O.actor.send(\"removeDEMTile\",{uid:O.uid,source:this.id})},z}(re),_e=function(Y){function z(K,O,$,pe){Y.call(this),this.id=K,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._loaded=!1,this.actor=$.getActor(),this.setEventedParent(pe),this._data=O.data,this._options=i.extend({},O),this._collectResourceTiming=O.collectResourceTiming,this._resourceTiming=[],O.maxzoom!==void 0&&(this.maxzoom=O.maxzoom),O.type&&(this.type=O.type),O.attribution&&(this.attribution=O.attribution),this.promoteId=O.promoteId;var de=i.EXTENT/this.tileSize;this.workerOptions=i.extend({source:this.id,cluster:O.cluster||!1,geojsonVtOptions:{buffer:(O.buffer!==void 0?O.buffer:128)*de,tolerance:(O.tolerance!==void 0?O.tolerance:.375)*de,extent:i.EXTENT,maxZoom:this.maxzoom,lineMetrics:O.lineMetrics||!1,generateId:O.generateId||!1},superclusterOptions:{maxZoom:O.clusterMaxZoom!==void 0?Math.min(O.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,minPoints:Math.max(2,O.clusterMinPoints||2),extent:i.EXTENT,radius:(O.clusterRadius||50)*de,log:!1,generateId:O.generateId||!1},clusterProperties:O.clusterProperties,filter:O.filter},O.workerOptions)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){var O=this;this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData(function($){if($){O.fire(new i.ErrorEvent($));return}var pe={dataType:\"source\",sourceDataType:\"metadata\"};O._collectResourceTiming&&O._resourceTiming&&O._resourceTiming.length>0&&(pe.resourceTiming=O._resourceTiming,O._resourceTiming=[]),O.fire(new i.Event(\"data\",pe))})},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.setData=function(O){var $=this;return this._data=O,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData(function(pe){if(pe){$.fire(new i.ErrorEvent(pe));return}var de={dataType:\"source\",sourceDataType:\"content\"};$._collectResourceTiming&&$._resourceTiming&&$._resourceTiming.length>0&&(de.resourceTiming=$._resourceTiming,$._resourceTiming=[]),$.fire(new i.Event(\"data\",de))}),this},z.prototype.getClusterExpansionZoom=function(O,$){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:O,source:this.id},$),this},z.prototype.getClusterChildren=function(O,$){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:O,source:this.id},$),this},z.prototype.getClusterLeaves=function(O,$,pe,de){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:O,limit:$,offset:pe},de),this},z.prototype._updateWorkerData=function(O){var $=this;this._loaded=!1;var pe=i.extend({},this.workerOptions),de=this._data;typeof de==\"string\"?(pe.request=this.map._requestManager.transformRequest(i.browser.resolveURL(de),i.ResourceType.Source),pe.request.collectResourceTiming=this._collectResourceTiming):pe.data=JSON.stringify(de),this.actor.send(this.type+\".loadData\",pe,function(Ie,$e){$._removed||$e&&$e.abandoned||($._loaded=!0,$e&&$e.resourceTiming&&$e.resourceTiming[$.id]&&($._resourceTiming=$e.resourceTiming[$.id].slice(0)),$.actor.send($.type+\".coalesce\",{source:pe.source},null),O(Ie))})},z.prototype.loaded=function(){return this._loaded},z.prototype.loadTile=function(O,$){var pe=this,de=O.actor?\"reloadTile\":\"loadTile\";O.actor=this.actor;var Ie={type:this.type,uid:O.uid,tileID:O.tileID,zoom:O.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:i.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};O.request=this.actor.send(de,Ie,function($e,pt){return delete O.request,O.unloadVectorData(),O.aborted?$(null):$e?$($e):(O.loadVectorData(pt,pe.map.painter,de===\"reloadTile\"),$(null))})},z.prototype.abortTile=function(O){O.request&&(O.request.cancel(),delete O.request),O.aborted=!0},z.prototype.unloadTile=function(O){O.unloadVectorData(),this.actor.send(\"removeTile\",{uid:O.uid,type:this.type,source:this.id})},z.prototype.onRemove=function(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id})},z.prototype.serialize=function(){return i.extend({},this._options,{type:this.type,data:this._data})},z.prototype.hasTransition=function(){return!1},z}(i.Evented),Me=i.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]),ke=function(Y){function z(K,O,$,pe){Y.call(this),this.id=K,this.dispatcher=$,this.coordinates=O.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(pe),this.options=O}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(O,$){var pe=this;this._loaded=!1,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,i.getImage(this.map._requestManager.transformRequest(this.url,i.ResourceType.Image),function(de,Ie){pe._loaded=!0,de?pe.fire(new i.ErrorEvent(de)):Ie&&(pe.image=Ie,O&&(pe.coordinates=O),$&&$(),pe._finishLoading())})},z.prototype.loaded=function(){return this._loaded},z.prototype.updateImage=function(O){var $=this;return!this.image||!O.url?this:(this.options.url=O.url,this.load(O.coordinates,function(){$.texture=null}),this)},z.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.setCoordinates=function(O){var $=this;this.coordinates=O;var pe=O.map(i.MercatorCoordinate.fromLngLat);this.tileID=ge(pe),this.minzoom=this.maxzoom=this.tileID.z;var de=pe.map(function(Ie){return $.tileID.getTilePoint(Ie)._round()});return this._boundsArray=new i.StructArrayLayout4i8,this._boundsArray.emplaceBack(de[0].x,de[0].y,0,0),this._boundsArray.emplaceBack(de[1].x,de[1].y,i.EXTENT,0),this._boundsArray.emplaceBack(de[3].x,de[3].y,0,i.EXTENT),this._boundsArray.emplaceBack(de[2].x,de[2].y,i.EXTENT,i.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this},z.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||!this.image)){var O=this.map.painter.context,$=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new i.Texture(O,this.image,$.RGBA),this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE));for(var pe in this.tiles){var de=this.tiles[pe];de.state!==\"loaded\"&&(de.state=\"loaded\",de.texture=this.texture)}}},z.prototype.loadTile=function(O,$){this.tileID&&this.tileID.equals(O.tileID.canonical)?(this.tiles[String(O.tileID.wrap)]=O,O.buckets={},$(null)):(O.state=\"errored\",$(null))},z.prototype.serialize=function(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}},z.prototype.hasTransition=function(){return!1},z}(i.Evented);function ge(Y){for(var z=1/0,K=1/0,O=-1/0,$=-1/0,pe=0,de=Y;pe<de.length;pe+=1){var Ie=de[pe];z=Math.min(z,Ie.x),K=Math.min(K,Ie.y),O=Math.max(O,Ie.x),$=Math.max($,Ie.y)}var $e=O-z,pt=$-K,Kt=Math.max($e,pt),ir=Math.max(0,Math.floor(-Math.log(Kt)/Math.LN2)),Jt=Math.pow(2,ir);return new i.CanonicalTileID(ir,Math.floor((z+O)/2*Jt),Math.floor((K+$)/2*Jt))}var ie=function(Y){function z(K,O,$,pe){Y.call(this,K,O,$,pe),this.roundZoom=!0,this.type=\"video\",this.options=O}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){var O=this;this._loaded=!1;var $=this.options;this.urls=[];for(var pe=0,de=$.urls;pe<de.length;pe+=1){var Ie=de[pe];this.urls.push(this.map._requestManager.transformRequest(Ie,i.ResourceType.Source).url)}i.getVideo(this.urls,function($e,pt){O._loaded=!0,$e?O.fire(new i.ErrorEvent($e)):pt&&(O.video=pt,O.video.loop=!0,O.video.addEventListener(\"playing\",function(){O.map.triggerRepaint()}),O.map&&O.video.play(),O._finishLoading())})},z.prototype.pause=function(){this.video&&this.video.pause()},z.prototype.play=function(){this.video&&this.video.play()},z.prototype.seek=function(O){if(this.video){var $=this.video.seekable;O<$.start(0)||O>$.end(0)?this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+this.id,null,\"Playback for this video can be set only between the \"+$.start(0)+\" and \"+$.end(0)+\"-second mark.\"))):this.video.currentTime=O}},z.prototype.getVideo=function(){return this.video},z.prototype.onAdd=function(O){this.map||(this.map=O,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},z.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||this.video.readyState<2)){var O=this.map.painter.context,$=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE),$.texSubImage2D($.TEXTURE_2D,0,0,0,$.RGBA,$.UNSIGNED_BYTE,this.video)):(this.texture=new i.Texture(O,this.video,$.RGBA),this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE));for(var pe in this.tiles){var de=this.tiles[pe];de.state!==\"loaded\"&&(de.state=\"loaded\",de.texture=this.texture)}}},z.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},z.prototype.hasTransition=function(){return this.video&&!this.video.paused},z}(ke),Te=function(Y){function z(K,O,$,pe){Y.call(this,K,O,$,pe),O.coordinates?(!Array.isArray(O.coordinates)||O.coordinates.length!==4||O.coordinates.some(function(de){return!Array.isArray(de)||de.length!==2||de.some(function(Ie){return typeof Ie!=\"number\"})}))&&this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'missing required property \"coordinates\"'))),O.animate&&typeof O.animate!=\"boolean\"&&this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'optional \"animate\" property must be a boolean value'))),O.canvas?typeof O.canvas!=\"string\"&&!(O.canvas instanceof i.window.HTMLCanvasElement)&&this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,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 i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'missing required property \"canvas\"'))),this.options=O,this.animate=O.animate!==void 0?O.animate:!0}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){if(this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof i.window.HTMLCanvasElement?this.options.canvas:i.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()){this.fire(new i.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\")));return}this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading()},z.prototype.getCanvas=function(){return this.canvas},z.prototype.onAdd=function(O){this.map=O,this.load(),this.canvas&&this.animate&&this.play()},z.prototype.onRemove=function(){this.pause()},z.prototype.prepare=function(){var O=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,O=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,O=!0),!this._hasInvalidDimensions()&&Object.keys(this.tiles).length!==0){var $=this.map.painter.context,pe=$.gl;this.boundsBuffer||(this.boundsBuffer=$.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(O||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new i.Texture($,this.canvas,pe.RGBA,{premultiply:!0});for(var de in this.tiles){var Ie=this.tiles[de];Ie.state!==\"loaded\"&&(Ie.state=\"loaded\",Ie.texture=this.texture)}}},z.prototype.serialize=function(){return{type:\"canvas\",coordinates:this.coordinates}},z.prototype.hasTransition=function(){return this._playing},z.prototype._hasInvalidDimensions=function(){for(var O=0,$=[this.canvas.width,this.canvas.height];O<$.length;O+=1){var pe=$[O];if(isNaN(pe)||pe<=0)return!0}return!1},z}(ke),Ee={vector:W,raster:re,\"raster-dem\":ae,geojson:_e,video:ie,image:ke,canvas:Te},Ae=function(Y,z,K,O){var $=new Ee[z.type](Y,z,K,O);if($.id!==Y)throw new Error(\"Expected Source id to be \"+Y+\" instead of \"+$.id);return i.bindAll([\"load\",\"abort\",\"unload\",\"serialize\",\"prepare\"],$),$},ze=function(Y){return Ee[Y]},Ce=function(Y,z){Ee[Y]=z};function me(Y,z){var K=i.identity([]);return i.translate(K,K,[1,1,0]),i.scale(K,K,[Y.width*.5,Y.height*.5,1]),i.multiply(K,K,Y.calculatePosMatrix(z.toUnwrapped()))}function Re(Y,z,K){if(Y)for(var O=0,$=Y;O<$.length;O+=1){var pe=$[O],de=z[pe];if(de&&de.source===K&&de.type===\"fill-extrusion\")return!0}else for(var Ie in z){var $e=z[Ie];if($e.source===K&&$e.type===\"fill-extrusion\")return!0}return!1}function ce(Y,z,K,O,$,pe){var de=Re($&&$.layers,z,Y.id),Ie=pe.maxPitchScaleFactor(),$e=Y.tilesIn(O,Ie,de);$e.sort(ct);for(var pt=[],Kt=0,ir=$e;Kt<ir.length;Kt+=1){var Jt=ir[Kt];pt.push({wrappedTileID:Jt.tileID.wrapped().key,queryResults:Jt.tile.queryRenderedFeatures(z,K,Y._state,Jt.queryGeometry,Jt.cameraQueryGeometry,Jt.scale,$,pe,Ie,me(Y.transform,Jt.tileID))})}var vt=qt(pt);for(var Pt in vt)vt[Pt].forEach(function(Wt){var rr=Wt.feature,dr=Y.getFeatureState(rr.layer[\"source-layer\"],rr.id);rr.source=rr.layer.source,rr.layer[\"source-layer\"]&&(rr.sourceLayer=rr.layer[\"source-layer\"]),rr.state=dr});return vt}function Ge(Y,z,K,O,$,pe,de){for(var Ie={},$e=pe.queryRenderedSymbols(O),pt=[],Kt=0,ir=Object.keys($e).map(Number);Kt<ir.length;Kt+=1){var Jt=ir[Kt];pt.push(de[Jt])}pt.sort(ct);for(var vt=function(){var pr=Wt[Pt],kr=pr.featureIndex.lookupSymbolFeatures($e[pr.bucketInstanceId],z,pr.bucketIndex,pr.sourceLayerIndex,$.filter,$.layers,$.availableImages,Y);for(var Ar in kr){var gr=Ie[Ar]=Ie[Ar]||[],Cr=kr[Ar];Cr.sort(function(yi,tn){var Ri=pr.featureSortOrder;if(Ri){var ln=Ri.indexOf(yi.featureIndex),Qn=Ri.indexOf(tn.featureIndex);return Qn-ln}else return tn.featureIndex-yi.featureIndex});for(var cr=0,Gr=Cr;cr<Gr.length;cr+=1){var ei=Gr[cr];gr.push(ei)}}},Pt=0,Wt=pt;Pt<Wt.length;Pt+=1)vt();var rr=function(pr){Ie[pr].forEach(function(kr){var Ar=kr.feature,gr=Y[pr],Cr=K[gr.source],cr=Cr.getFeatureState(Ar.layer[\"source-layer\"],Ar.id);Ar.source=Ar.layer.source,Ar.layer[\"source-layer\"]&&(Ar.sourceLayer=Ar.layer[\"source-layer\"]),Ar.state=cr})};for(var dr in Ie)rr(dr);return Ie}function nt(Y,z){for(var K=Y.getRenderableIds().map(function($e){return Y.getTileByID($e)}),O=[],$={},pe=0;pe<K.length;pe++){var de=K[pe],Ie=de.tileID.canonical.key;$[Ie]||($[Ie]=!0,de.querySourceFeatures(O,z))}return O}function ct(Y,z){var K=Y.tileID,O=z.tileID;return K.overscaledZ-O.overscaledZ||K.canonical.y-O.canonical.y||K.wrap-O.wrap||K.canonical.x-O.canonical.x}function qt(Y){for(var z={},K={},O=0,$=Y;O<$.length;O+=1){var pe=$[O],de=pe.queryResults,Ie=pe.wrappedTileID,$e=K[Ie]=K[Ie]||{};for(var pt in de)for(var Kt=de[pt],ir=$e[pt]=$e[pt]||{},Jt=z[pt]=z[pt]||[],vt=0,Pt=Kt;vt<Pt.length;vt+=1){var Wt=Pt[vt];ir[Wt.featureIndex]||(ir[Wt.featureIndex]=!0,Jt.push(Wt))}}return z}var rt=function(z,K){this.max=z,this.onRemove=K,this.reset()};rt.prototype.reset=function(){for(var z in this.data)for(var K=0,O=this.data[z];K<O.length;K+=1){var $=O[K];$.timeout&&clearTimeout($.timeout),this.onRemove($.value)}return this.data={},this.order=[],this},rt.prototype.add=function(z,K,O){var $=this,pe=z.wrapped().key;this.data[pe]===void 0&&(this.data[pe]=[]);var de={value:K,timeout:void 0};if(O!==void 0&&(de.timeout=setTimeout(function(){$.remove(z,de)},O)),this.data[pe].push(de),this.order.push(pe),this.order.length>this.max){var Ie=this._getAndRemoveByKey(this.order[0]);Ie&&this.onRemove(Ie)}return this},rt.prototype.has=function(z){return z.wrapped().key in this.data},rt.prototype.getAndRemove=function(z){return this.has(z)?this._getAndRemoveByKey(z.wrapped().key):null},rt.prototype._getAndRemoveByKey=function(z){var K=this.data[z].shift();return K.timeout&&clearTimeout(K.timeout),this.data[z].length===0&&delete this.data[z],this.order.splice(this.order.indexOf(z),1),K.value},rt.prototype.getByKey=function(z){var K=this.data[z];return K?K[0].value:null},rt.prototype.get=function(z){if(!this.has(z))return null;var K=this.data[z.wrapped().key][0];return K.value},rt.prototype.remove=function(z,K){if(!this.has(z))return this;var O=z.wrapped().key,$=K===void 0?0:this.data[O].indexOf(K),pe=this.data[O][$];return this.data[O].splice($,1),pe.timeout&&clearTimeout(pe.timeout),this.data[O].length===0&&delete this.data[O],this.onRemove(pe.value),this.order.splice(this.order.indexOf(O),1),this},rt.prototype.setMaxSize=function(z){for(this.max=z;this.order.length>this.max;){var K=this._getAndRemoveByKey(this.order[0]);K&&this.onRemove(K)}return this},rt.prototype.filter=function(z){var K=[];for(var O in this.data)for(var $=0,pe=this.data[O];$<pe.length;$+=1){var de=pe[$];z(de.value)||K.push(de)}for(var Ie=0,$e=K;Ie<$e.length;Ie+=1){var pt=$e[Ie];this.remove(pt.value.tileID,pt)}};var ot=function(z,K,O){this.context=z;var $=z.gl;this.buffer=$.createBuffer(),this.dynamicDraw=!!O,this.context.unbindVAO(),z.bindElementBuffer.set(this.buffer),$.bufferData($.ELEMENT_ARRAY_BUFFER,K.arrayBuffer,this.dynamicDraw?$.DYNAMIC_DRAW:$.STATIC_DRAW),this.dynamicDraw||delete K.arrayBuffer};ot.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},ot.prototype.updateData=function(z){var K=this.context.gl;this.context.unbindVAO(),this.bind(),K.bufferSubData(K.ELEMENT_ARRAY_BUFFER,0,z.arrayBuffer)},ot.prototype.destroy=function(){var z=this.context.gl;this.buffer&&(z.deleteBuffer(this.buffer),delete this.buffer)};var Rt={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"},kt=function(z,K,O,$){this.length=K.length,this.attributes=O,this.itemSize=K.bytesPerElement,this.dynamicDraw=$,this.context=z;var pe=z.gl;this.buffer=pe.createBuffer(),z.bindVertexBuffer.set(this.buffer),pe.bufferData(pe.ARRAY_BUFFER,K.arrayBuffer,this.dynamicDraw?pe.DYNAMIC_DRAW:pe.STATIC_DRAW),this.dynamicDraw||delete K.arrayBuffer};kt.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},kt.prototype.updateData=function(z){var K=this.context.gl;this.bind(),K.bufferSubData(K.ARRAY_BUFFER,0,z.arrayBuffer)},kt.prototype.enableAttributes=function(z,K){for(var O=0;O<this.attributes.length;O++){var $=this.attributes[O],pe=K.attributes[$.name];pe!==void 0&&z.enableVertexAttribArray(pe)}},kt.prototype.setVertexAttribPointers=function(z,K,O){for(var $=0;$<this.attributes.length;$++){var pe=this.attributes[$],de=K.attributes[pe.name];de!==void 0&&z.vertexAttribPointer(de,pe.components,z[Rt[pe.type]],!1,this.itemSize,pe.offset+this.itemSize*(O||0))}},kt.prototype.destroy=function(){var z=this.context.gl;this.buffer&&(z.deleteBuffer(this.buffer),delete this.buffer)};var Ct=function(z){this.gl=z.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1};Ct.prototype.get=function(){return this.current},Ct.prototype.set=function(z){},Ct.prototype.getDefault=function(){return this.default},Ct.prototype.setDefault=function(){this.set(this.default)};var Yt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return i.Color.transparent},z.prototype.set=function(O){var $=this.current;O.r===$.r&&O.g===$.g&&O.b===$.b&&O.a===$.a&&!this.dirty||(this.gl.clearColor(O.r,O.g,O.b,O.a),this.current=O,this.dirty=!1)},z}(Ct),xr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return 1},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.clearDepth(O),this.current=O,this.dirty=!1)},z}(Ct),er=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return 0},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.clearStencil(O),this.current=O,this.dirty=!1)},z}(Ct),Ke=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return[!0,!0,!0,!0]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&O[2]===$[2]&&O[3]===$[3]&&!this.dirty||(this.gl.colorMask(O[0],O[1],O[2],O[3]),this.current=O,this.dirty=!1)},z}(Ct),xt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!0},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.depthMask(O),this.current=O,this.dirty=!1)},z}(Ct),bt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return 255},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.stencilMask(O),this.current=O,this.dirty=!1)},z}(Ct),Lt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return{func:this.gl.ALWAYS,ref:0,mask:255}},z.prototype.set=function(O){var $=this.current;O.func===$.func&&O.ref===$.ref&&O.mask===$.mask&&!this.dirty||(this.gl.stencilFunc(O.func,O.ref,O.mask),this.current=O,this.dirty=!1)},z}(Ct),St=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){var O=this.gl;return[O.KEEP,O.KEEP,O.KEEP]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&O[2]===$[2]&&!this.dirty||(this.gl.stencilOp(O[0],O[1],O[2]),this.current=O,this.dirty=!1)},z}(Ct),Et=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;O?$.enable($.STENCIL_TEST):$.disable($.STENCIL_TEST),this.current=O,this.dirty=!1}},z}(Ct),dt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return[0,1]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&!this.dirty||(this.gl.depthRange(O[0],O[1]),this.current=O,this.dirty=!1)},z}(Ct),Ht=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;O?$.enable($.DEPTH_TEST):$.disable($.DEPTH_TEST),this.current=O,this.dirty=!1}},z}(Ct),$t=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.LESS},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.depthFunc(O),this.current=O,this.dirty=!1)},z}(Ct),fr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;O?$.enable($.BLEND):$.disable($.BLEND),this.current=O,this.dirty=!1}},z}(Ct),_r=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){var O=this.gl;return[O.ONE,O.ZERO]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&!this.dirty||(this.gl.blendFunc(O[0],O[1]),this.current=O,this.dirty=!1)},z}(Ct),Br=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return i.Color.transparent},z.prototype.set=function(O){var $=this.current;O.r===$.r&&O.g===$.g&&O.b===$.b&&O.a===$.a&&!this.dirty||(this.gl.blendColor(O.r,O.g,O.b,O.a),this.current=O,this.dirty=!1)},z}(Ct),Or=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.FUNC_ADD},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.blendEquation(O),this.current=O,this.dirty=!1)},z}(Ct),Nr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;O?$.enable($.CULL_FACE):$.disable($.CULL_FACE),this.current=O,this.dirty=!1}},z}(Ct),ut=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.BACK},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.cullFace(O),this.current=O,this.dirty=!1)},z}(Ct),Ne=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.CCW},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.frontFace(O),this.current=O,this.dirty=!1)},z}(Ct),Ye=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.useProgram(O),this.current=O,this.dirty=!1)},z}(Ct),Ve=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return this.gl.TEXTURE0},z.prototype.set=function(O){O===this.current&&!this.dirty||(this.gl.activeTexture(O),this.current=O,this.dirty=!1)},z}(Ct),Xe=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){var O=this.gl;return[0,0,O.drawingBufferWidth,O.drawingBufferHeight]},z.prototype.set=function(O){var $=this.current;O[0]===$[0]&&O[1]===$[1]&&O[2]===$[2]&&O[3]===$[3]&&!this.dirty||(this.gl.viewport(O[0],O[1],O[2],O[3]),this.current=O,this.dirty=!1)},z}(Ct),ht=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.bindFramebuffer($.FRAMEBUFFER,O),this.current=O,this.dirty=!1}},z}(Ct),Le=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.bindRenderbuffer($.RENDERBUFFER,O),this.current=O,this.dirty=!1}},z}(Ct),xe=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.bindTexture($.TEXTURE_2D,O),this.current=O,this.dirty=!1}},z}(Ct),Se=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.bindBuffer($.ARRAY_BUFFER,O),this.current=O,this.dirty=!1}},z}(Ct),lt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){var $=this.gl;$.bindBuffer($.ELEMENT_ARRAY_BUFFER,O),this.current=O,this.dirty=!1},z}(Ct),Gt=function(Y){function z(K){Y.call(this,K),this.vao=K.extVertexArrayObject}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z.prototype.set=function(O){!this.vao||O===this.current&&!this.dirty||(this.vao.bindVertexArrayOES(O),this.current=O,this.dirty=!1)},z}(Ct),Vt=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return 4},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.pixelStorei($.UNPACK_ALIGNMENT,O),this.current=O,this.dirty=!1}},z}(Ct),ar=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.pixelStorei($.UNPACK_PREMULTIPLY_ALPHA_WEBGL,O),this.current=O,this.dirty=!1}},z}(Ct),Qr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return!1},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){var $=this.gl;$.pixelStorei($.UNPACK_FLIP_Y_WEBGL,O),this.current=O,this.dirty=!1}},z}(Ct),ai=function(Y){function z(K,O){Y.call(this,K),this.context=K,this.parent=O}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getDefault=function(){return null},z}(Ct),jr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.setDirty=function(){this.dirty=!0},z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){this.context.bindFramebuffer.set(this.parent);var $=this.gl;$.framebufferTexture2D($.FRAMEBUFFER,$.COLOR_ATTACHMENT0,$.TEXTURE_2D,O,0),this.current=O,this.dirty=!1}},z}(ai),ri=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.set=function(O){if(!(O===this.current&&!this.dirty)){this.context.bindFramebuffer.set(this.parent);var $=this.gl;$.framebufferRenderbuffer($.FRAMEBUFFER,$.DEPTH_ATTACHMENT,$.RENDERBUFFER,O),this.current=O,this.dirty=!1}},z}(ai),bi=function(z,K,O,$){this.context=z,this.width=K,this.height=O;var pe=z.gl,de=this.framebuffer=pe.createFramebuffer();this.colorAttachment=new jr(z,de),$&&(this.depthAttachment=new ri(z,de))};bi.prototype.destroy=function(){var z=this.context.gl,K=this.colorAttachment.get();if(K&&z.deleteTexture(K),this.depthAttachment){var O=this.depthAttachment.get();O&&z.deleteRenderbuffer(O)}z.deleteFramebuffer(this.framebuffer)};var nn=519,Wi=function(z,K,O){this.func=z,this.mask=K,this.range=O};Wi.ReadOnly=!1,Wi.ReadWrite=!0,Wi.disabled=new Wi(nn,Wi.ReadOnly,[0,1]);var Ni=519,_n=7680,$i=function(z,K,O,$,pe,de){this.test=z,this.ref=K,this.mask=O,this.fail=$,this.depthFail=pe,this.pass=de};$i.disabled=new $i({func:Ni,mask:0},0,0,_n,_n,_n);var zn=0,Wn=1,It=771,ft=function(z,K,O){this.blendFunction=z,this.blendColor=K,this.mask=O};ft.Replace=[Wn,zn],ft.disabled=new ft(ft.Replace,i.Color.transparent,[!1,!1,!1,!1]),ft.unblended=new ft(ft.Replace,i.Color.transparent,[!0,!0,!0,!0]),ft.alphaBlended=new ft([Wn,It],i.Color.transparent,[!0,!0,!0,!0]);var jt=1029,Zt=2305,yr=function(z,K,O){this.enable=z,this.mode=K,this.frontFace=O};yr.disabled=new yr(!1,jt,Zt),yr.backCCW=new yr(!0,jt,Zt);var Fr=function(z){this.gl=z,this.extVertexArrayObject=this.gl.getExtension(\"OES_vertex_array_object\"),this.clearColor=new Yt(this),this.clearDepth=new xr(this),this.clearStencil=new er(this),this.colorMask=new Ke(this),this.depthMask=new xt(this),this.stencilMask=new bt(this),this.stencilFunc=new Lt(this),this.stencilOp=new St(this),this.stencilTest=new Et(this),this.depthRange=new dt(this),this.depthTest=new Ht(this),this.depthFunc=new $t(this),this.blend=new fr(this),this.blendFunc=new _r(this),this.blendColor=new Br(this),this.blendEquation=new Or(this),this.cullFace=new Nr(this),this.cullFaceSide=new ut(this),this.frontFace=new Ne(this),this.program=new Ye(this),this.activeTexture=new Ve(this),this.viewport=new Xe(this),this.bindFramebuffer=new ht(this),this.bindRenderbuffer=new Le(this),this.bindTexture=new xe(this),this.bindVertexBuffer=new Se(this),this.bindElementBuffer=new lt(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new Gt(this),this.pixelStoreUnpack=new Vt(this),this.pixelStoreUnpackPremultiplyAlpha=new ar(this),this.pixelStoreUnpackFlipY=new Qr(this),this.extTextureFilterAnisotropic=z.getExtension(\"EXT_texture_filter_anisotropic\")||z.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||z.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=z.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=z.getExtension(\"OES_texture_half_float\"),this.extTextureHalfFloat&&(z.getExtension(\"OES_texture_half_float_linear\"),this.extRenderToTextureHalfFloat=z.getExtension(\"EXT_color_buffer_half_float\")),this.extTimerQuery=z.getExtension(\"EXT_disjoint_timer_query\"),this.maxTextureSize=z.getParameter(z.MAX_TEXTURE_SIZE)};Fr.prototype.setDefault=function(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()},Fr.prototype.setDirty=function(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.extVertexArrayObject&&(this.bindVertexArrayOES.dirty=!0),this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0},Fr.prototype.createIndexBuffer=function(z,K){return new ot(this,z,K)},Fr.prototype.createVertexBuffer=function(z,K,O){return new kt(this,z,K,O)},Fr.prototype.createRenderbuffer=function(z,K,O){var $=this.gl,pe=$.createRenderbuffer();return this.bindRenderbuffer.set(pe),$.renderbufferStorage($.RENDERBUFFER,z,K,O),this.bindRenderbuffer.set(null),pe},Fr.prototype.createFramebuffer=function(z,K,O){return new bi(this,z,K,O)},Fr.prototype.clear=function(z){var K=z.color,O=z.depth,$=this.gl,pe=0;K&&(pe|=$.COLOR_BUFFER_BIT,this.clearColor.set(K),this.colorMask.set([!0,!0,!0,!0])),typeof O!=\"undefined\"&&(pe|=$.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(O),this.depthMask.set(!0)),$.clear(pe)},Fr.prototype.setCullFace=function(z){z.enable===!1?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(z.mode),this.frontFace.set(z.frontFace))},Fr.prototype.setDepthMode=function(z){z.func===this.gl.ALWAYS&&!z.mask?this.depthTest.set(!1):(this.depthTest.set(!0),this.depthFunc.set(z.func),this.depthMask.set(z.mask),this.depthRange.set(z.range))},Fr.prototype.setStencilMode=function(z){z.test.func===this.gl.ALWAYS&&!z.mask?this.stencilTest.set(!1):(this.stencilTest.set(!0),this.stencilMask.set(z.mask),this.stencilOp.set([z.fail,z.depthFail,z.pass]),this.stencilFunc.set({func:z.test.func,ref:z.ref,mask:z.test.mask}))},Fr.prototype.setColorMode=function(z){i.deepEqual(z.blendFunction,ft.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(z.blendFunction),this.blendColor.set(z.blendColor)),this.colorMask.set(z.mask)},Fr.prototype.unbindVAO=function(){this.extVertexArrayObject&&this.bindVertexArrayOES.set(null)};var Zr=function(Y){function z(K,O,$){var pe=this;Y.call(this),this.id=K,this.dispatcher=$,this.on(\"data\",function(de){de.dataType===\"source\"&&de.sourceDataType===\"metadata\"&&(pe._sourceLoaded=!0),pe._sourceLoaded&&!pe._paused&&de.dataType===\"source\"&&de.sourceDataType===\"content\"&&(pe.reload(),pe.transform&&pe.update(pe.transform))}),this.on(\"error\",function(){pe._sourceErrored=!0}),this._source=Ae(K,O,$,this),this._tiles={},this._cache=new rt(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new i.SourceFeatureState}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.onAdd=function(O){this.map=O,this._maxTileCacheSize=O?O._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(O)},z.prototype.onRemove=function(O){this._source&&this._source.onRemove&&this._source.onRemove(O)},z.prototype.loaded=function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;for(var O in this._tiles){var $=this._tiles[O];if($.state!==\"loaded\"&&$.state!==\"errored\")return!1}return!0},z.prototype.getSource=function(){return this._source},z.prototype.pause=function(){this._paused=!0},z.prototype.resume=function(){if(this._paused){var O=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,O&&this.reload(),this.transform&&this.update(this.transform)}},z.prototype._loadTile=function(O,$){return this._source.loadTile(O,$)},z.prototype._unloadTile=function(O){if(this._source.unloadTile)return this._source.unloadTile(O,function(){})},z.prototype._abortTile=function(O){if(this._source.abortTile)return this._source.abortTile(O,function(){})},z.prototype.serialize=function(){return this._source.serialize()},z.prototype.prepare=function(O){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(var $ in this._tiles){var pe=this._tiles[$];pe.upload(O),pe.prepare(this.map.style.imageManager)}},z.prototype.getIds=function(){return i.values(this._tiles).map(function(O){return O.tileID}).sort(Vr).map(function(O){return O.key})},z.prototype.getRenderableIds=function(O){var $=this,pe=[];for(var de in this._tiles)this._isIdRenderable(de,O)&&pe.push(this._tiles[de]);return O?pe.sort(function(Ie,$e){var pt=Ie.tileID,Kt=$e.tileID,ir=new i.Point(pt.canonical.x,pt.canonical.y)._rotate($.transform.angle),Jt=new i.Point(Kt.canonical.x,Kt.canonical.y)._rotate($.transform.angle);return pt.overscaledZ-Kt.overscaledZ||Jt.y-ir.y||Jt.x-ir.x}).map(function(Ie){return Ie.tileID.key}):pe.map(function(Ie){return Ie.tileID}).sort(Vr).map(function(Ie){return Ie.key})},z.prototype.hasRenderableParent=function(O){var $=this.findLoadedParent(O,0);return $?this._isIdRenderable($.tileID.key):!1},z.prototype._isIdRenderable=function(O,$){return this._tiles[O]&&this._tiles[O].hasData()&&!this._coveredTiles[O]&&($||!this._tiles[O].holdingForFade())},z.prototype.reload=function(){if(this._paused){this._shouldReloadOnResume=!0;return}this._cache.reset();for(var O in this._tiles)this._tiles[O].state!==\"errored\"&&this._reloadTile(O,\"reloading\")},z.prototype._reloadTile=function(O,$){var pe=this._tiles[O];pe&&(pe.state!==\"loading\"&&(pe.state=$),this._loadTile(pe,this._tileLoaded.bind(this,pe,O,$)))},z.prototype._tileLoaded=function(O,$,pe,de){if(de){O.state=\"errored\",de.status!==404?this._source.fire(new i.ErrorEvent(de,{tile:O})):this.update(this.transform);return}O.timeAdded=i.browser.now(),pe===\"expired\"&&(O.refreshedUponExpiration=!0),this._setTileReloadTimer($,O),this.getSource().type===\"raster-dem\"&&O.dem&&this._backfillDEM(O),this._state.initializeTileState(O,this.map?this.map.painter:null),this._source.fire(new i.Event(\"data\",{dataType:\"source\",tile:O,coord:O.tileID}))},z.prototype._backfillDEM=function(O){for(var $=this.getRenderableIds(),pe=0;pe<$.length;pe++){var de=$[pe];if(O.neighboringTiles&&O.neighboringTiles[de]){var Ie=this.getTileByID(de);$e(O,Ie),$e(Ie,O)}}function $e(pt,Kt){pt.needsHillshadePrepare=!0;var ir=Kt.tileID.canonical.x-pt.tileID.canonical.x,Jt=Kt.tileID.canonical.y-pt.tileID.canonical.y,vt=Math.pow(2,pt.tileID.canonical.z),Pt=Kt.tileID.key;ir===0&&Jt===0||Math.abs(Jt)>1||(Math.abs(ir)>1&&(Math.abs(ir+vt)===1?ir+=vt:Math.abs(ir-vt)===1&&(ir-=vt)),!(!Kt.dem||!pt.dem)&&(pt.dem.backfillBorder(Kt.dem,ir,Jt),pt.neighboringTiles&&pt.neighboringTiles[Pt]&&(pt.neighboringTiles[Pt].backfilled=!0)))}},z.prototype.getTile=function(O){return this.getTileByID(O.key)},z.prototype.getTileByID=function(O){return this._tiles[O]},z.prototype._retainLoadedChildren=function(O,$,pe,de){for(var Ie in this._tiles){var $e=this._tiles[Ie];if(!(de[Ie]||!$e.hasData()||$e.tileID.overscaledZ<=$||$e.tileID.overscaledZ>pe)){for(var pt=$e.tileID;$e&&$e.tileID.overscaledZ>$+1;){var Kt=$e.tileID.scaledTo($e.tileID.overscaledZ-1);$e=this._tiles[Kt.key],$e&&$e.hasData()&&(pt=Kt)}for(var ir=pt;ir.overscaledZ>$;)if(ir=ir.scaledTo(ir.overscaledZ-1),O[ir.key]){de[pt.key]=pt;break}}}},z.prototype.findLoadedParent=function(O,$){if(O.key in this._loadedParentTiles){var pe=this._loadedParentTiles[O.key];return pe&&pe.tileID.overscaledZ>=$?pe:null}for(var de=O.overscaledZ-1;de>=$;de--){var Ie=O.scaledTo(de),$e=this._getLoadedTile(Ie);if($e)return $e}},z.prototype._getLoadedTile=function(O){var $=this._tiles[O.key];if($&&$.hasData())return $;var pe=this._cache.getByKey(O.wrapped().key);return pe},z.prototype.updateCacheSize=function(O){var $=Math.ceil(O.width/this._source.tileSize)+1,pe=Math.ceil(O.height/this._source.tileSize)+1,de=$*pe,Ie=5,$e=Math.floor(de*Ie),pt=typeof this._maxTileCacheSize==\"number\"?Math.min(this._maxTileCacheSize,$e):$e;this._cache.setMaxSize(pt)},z.prototype.handleWrapJump=function(O){var $=this._prevLng===void 0?O:this._prevLng,pe=O-$,de=pe/360,Ie=Math.round(de);if(this._prevLng=O,Ie){var $e={};for(var pt in this._tiles){var Kt=this._tiles[pt];Kt.tileID=Kt.tileID.unwrapTo(Kt.tileID.wrap+Ie),$e[Kt.tileID.key]=Kt}this._tiles=$e;for(var ir in this._timers)clearTimeout(this._timers[ir]),delete this._timers[ir];for(var Jt in this._tiles){var vt=this._tiles[Jt];this._setTileReloadTimer(Jt,vt)}}},z.prototype.update=function(O){var $=this;if(this.transform=O,!(!this._sourceLoaded||this._paused)){this.updateCacheSize(O),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={};var pe;this.used?this._source.tileID?pe=O.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(yi){return new i.OverscaledTileID(yi.canonical.z,yi.wrap,yi.canonical.z,yi.canonical.x,yi.canonical.y)}):(pe=O.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(pe=pe.filter(function(yi){return $._source.hasTile(yi)}))):pe=[];var de=O.coveringZoomLevel(this._source),Ie=Math.max(de-z.maxOverzooming,this._source.minzoom),$e=Math.max(de+z.maxUnderzooming,this._source.minzoom),pt=this._updateRetainedTiles(pe,de);if(gi(this._source.type)){for(var Kt={},ir={},Jt=Object.keys(pt),vt=0,Pt=Jt;vt<Pt.length;vt+=1){var Wt=Pt[vt],rr=pt[Wt],dr=this._tiles[Wt];if(!(!dr||dr.fadeEndTime&&dr.fadeEndTime<=i.browser.now())){var pr=this.findLoadedParent(rr,Ie);pr&&(this._addTile(pr.tileID),Kt[pr.tileID.key]=pr.tileID),ir[Wt]=rr}}this._retainLoadedChildren(ir,de,$e,pt);for(var kr in Kt)pt[kr]||(this._coveredTiles[kr]=!0,pt[kr]=Kt[kr])}for(var Ar in pt)this._tiles[Ar].clearFadeHold();for(var gr=i.keysDifference(this._tiles,pt),Cr=0,cr=gr;Cr<cr.length;Cr+=1){var Gr=cr[Cr],ei=this._tiles[Gr];ei.hasSymbolBuckets&&!ei.holdingForFade()?ei.setHoldDuration(this.map._fadeDuration):(!ei.hasSymbolBuckets||ei.symbolFadeFinished())&&this._removeTile(Gr)}this._updateLoadedParentTileCache()}},z.prototype.releaseSymbolFadeTiles=function(){for(var O in this._tiles)this._tiles[O].holdingForFade()&&this._removeTile(O)},z.prototype._updateRetainedTiles=function(O,$){for(var pe={},de={},Ie=Math.max($-z.maxOverzooming,this._source.minzoom),$e=Math.max($+z.maxUnderzooming,this._source.minzoom),pt={},Kt=0,ir=O;Kt<ir.length;Kt+=1){var Jt=ir[Kt],vt=this._addTile(Jt);pe[Jt.key]=Jt,!vt.hasData()&&$<this._source.maxzoom&&(pt[Jt.key]=Jt)}this._retainLoadedChildren(pt,$,$e,pe);for(var Pt=0,Wt=O;Pt<Wt.length;Pt+=1){var rr=Wt[Pt],dr=this._tiles[rr.key];if(!dr.hasData()){if($+1>this._source.maxzoom){var pr=rr.children(this._source.maxzoom)[0],kr=this.getTile(pr);if(kr&&kr.hasData()){pe[pr.key]=pr;continue}}else{var Ar=rr.children(this._source.maxzoom);if(pe[Ar[0].key]&&pe[Ar[1].key]&&pe[Ar[2].key]&&pe[Ar[3].key])continue}for(var gr=dr.wasRequested(),Cr=rr.overscaledZ-1;Cr>=Ie;--Cr){var cr=rr.scaledTo(Cr);if(de[cr.key]||(de[cr.key]=!0,dr=this.getTile(cr),!dr&&gr&&(dr=this._addTile(cr)),dr&&(pe[cr.key]=cr,gr=dr.wasRequested(),dr.hasData())))break}}}return pe},z.prototype._updateLoadedParentTileCache=function(){this._loadedParentTiles={};for(var O in this._tiles){for(var $=[],pe=void 0,de=this._tiles[O].tileID;de.overscaledZ>0;){if(de.key in this._loadedParentTiles){pe=this._loadedParentTiles[de.key];break}$.push(de.key);var Ie=de.scaledTo(de.overscaledZ-1);if(pe=this._getLoadedTile(Ie),pe)break;de=Ie}for(var $e=0,pt=$;$e<pt.length;$e+=1){var Kt=pt[$e];this._loadedParentTiles[Kt]=pe}}},z.prototype._addTile=function(O){var $=this._tiles[O.key];if($)return $;$=this._cache.getAndRemove(O),$&&(this._setTileReloadTimer(O.key,$),$.tileID=O,this._state.initializeTileState($,this.map?this.map.painter:null),this._cacheTimers[O.key]&&(clearTimeout(this._cacheTimers[O.key]),delete this._cacheTimers[O.key],this._setTileReloadTimer(O.key,$)));var pe=!!$;return pe||($=new i.Tile(O,this._source.tileSize*O.overscaleFactor()),this._loadTile($,this._tileLoaded.bind(this,$,O.key,$.state))),$?($.uses++,this._tiles[O.key]=$,pe||this._source.fire(new i.Event(\"dataloading\",{tile:$,coord:$.tileID,dataType:\"source\"})),$):null},z.prototype._setTileReloadTimer=function(O,$){var pe=this;O in this._timers&&(clearTimeout(this._timers[O]),delete this._timers[O]);var de=$.getExpiryTimeout();de&&(this._timers[O]=setTimeout(function(){pe._reloadTile(O,\"expired\"),delete pe._timers[O]},de))},z.prototype._removeTile=function(O){var $=this._tiles[O];$&&($.uses--,delete this._tiles[O],this._timers[O]&&(clearTimeout(this._timers[O]),delete this._timers[O]),!($.uses>0)&&($.hasData()&&$.state!==\"reloading\"?this._cache.add($.tileID,$,$.getExpiryTimeout()):($.aborted=!0,this._abortTile($),this._unloadTile($))))},z.prototype.clearTiles=function(){this._shouldReloadOnResume=!1,this._paused=!1;for(var O in this._tiles)this._removeTile(O);this._cache.reset()},z.prototype.tilesIn=function(O,$,pe){var de=this,Ie=[],$e=this.transform;if(!$e)return Ie;for(var pt=pe?$e.getCameraQueryGeometry(O):O,Kt=O.map(function(Cr){return $e.pointCoordinate(Cr)}),ir=pt.map(function(Cr){return $e.pointCoordinate(Cr)}),Jt=this.getIds(),vt=1/0,Pt=1/0,Wt=-1/0,rr=-1/0,dr=0,pr=ir;dr<pr.length;dr+=1){var kr=pr[dr];vt=Math.min(vt,kr.x),Pt=Math.min(Pt,kr.y),Wt=Math.max(Wt,kr.x),rr=Math.max(rr,kr.y)}for(var Ar=function(Cr){var cr=de._tiles[Jt[Cr]];if(!cr.holdingForFade()){var Gr=cr.tileID,ei=Math.pow(2,$e.zoom-cr.tileID.overscaledZ),yi=$*cr.queryPadding*i.EXTENT/cr.tileSize/ei,tn=[Gr.getTilePoint(new i.MercatorCoordinate(vt,Pt)),Gr.getTilePoint(new i.MercatorCoordinate(Wt,rr))];if(tn[0].x-yi<i.EXTENT&&tn[0].y-yi<i.EXTENT&&tn[1].x+yi>=0&&tn[1].y+yi>=0){var Ri=Kt.map(function(Qn){return Gr.getTilePoint(Qn)}),ln=ir.map(function(Qn){return Gr.getTilePoint(Qn)});Ie.push({tile:cr,tileID:Gr,queryGeometry:Ri,cameraQueryGeometry:ln,scale:ei})}}},gr=0;gr<Jt.length;gr++)Ar(gr);return Ie},z.prototype.getVisibleCoordinates=function(O){for(var $=this,pe=this.getRenderableIds(O).map(function(pt){return $._tiles[pt].tileID}),de=0,Ie=pe;de<Ie.length;de+=1){var $e=Ie[de];$e.posMatrix=this.transform.calculatePosMatrix($e.toUnwrapped())}return pe},z.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(gi(this._source.type))for(var O in this._tiles){var $=this._tiles[O];if($.fadeEndTime!==void 0&&$.fadeEndTime>=i.browser.now())return!0}return!1},z.prototype.setFeatureState=function(O,$,pe){O=O||\"_geojsonTileLayer\",this._state.updateState(O,$,pe)},z.prototype.removeFeatureState=function(O,$,pe){O=O||\"_geojsonTileLayer\",this._state.removeFeatureState(O,$,pe)},z.prototype.getFeatureState=function(O,$){return O=O||\"_geojsonTileLayer\",this._state.getState(O,$)},z.prototype.setDependencies=function(O,$,pe){var de=this._tiles[O];de&&de.setDependencies($,pe)},z.prototype.reloadTilesForDependencies=function(O,$){for(var pe in this._tiles){var de=this._tiles[pe];de.hasDependency(O,$)&&this._reloadTile(pe,\"reloading\")}this._cache.filter(function(Ie){return!Ie.hasDependency(O,$)})},z}(i.Evented);Zr.maxOverzooming=10,Zr.maxUnderzooming=3;function Vr(Y,z){var K=Math.abs(Y.wrap*2)-+(Y.wrap<0),O=Math.abs(z.wrap*2)-+(z.wrap<0);return Y.overscaledZ-z.overscaledZ||O-K||z.canonical.y-Y.canonical.y||z.canonical.x-Y.canonical.x}function gi(Y){return Y===\"raster\"||Y===\"image\"||Y===\"video\"}function Si(){return new i.window.Worker(ns.workerUrl)}var Mi=\"mapboxgl_preloaded_worker_pool\",Pi=function(){this.active={}};Pi.prototype.acquire=function(z){if(!this.workers)for(this.workers=[];this.workers.length<Pi.workerCount;)this.workers.push(new Si);return this.active[z]=!0,this.workers.slice()},Pi.prototype.release=function(z){delete this.active[z],this.numActive()===0&&(this.workers.forEach(function(K){K.terminate()}),this.workers=null)},Pi.prototype.isPreloaded=function(){return!!this.active[Mi]},Pi.prototype.numActive=function(){return Object.keys(this.active).length};var Gi=Math.floor(i.browser.hardwareConcurrency/2);Pi.workerCount=Math.max(Math.min(Gi,6),1);var Ki;function ka(){return Ki||(Ki=new Pi),Ki}function jn(){var Y=ka();Y.acquire(Mi)}function la(){var Y=Ki;Y&&(Y.isPreloaded()&&Y.numActive()===1?(Y.release(Mi),Ki=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()\"))}function Fa(Y,z){var K={};for(var O in Y)O!==\"ref\"&&(K[O]=Y[O]);return i.refProperties.forEach(function($){$ in z&&(K[$]=z[$])}),K}function Ra(Y){Y=Y.slice();for(var z=Object.create(null),K=0;K<Y.length;K++)z[Y[K].id]=Y[K];for(var O=0;O<Y.length;O++)\"ref\"in Y[O]&&(Y[O]=Fa(Y[O],z[Y[O].ref]));return Y}function jo(){var Y={},z=i.styleSpec.$version;for(var K in i.styleSpec.$root){var O=i.styleSpec.$root[K];if(O.required){var $=null;K===\"version\"?$=z:O.type===\"array\"?$=[]:$={},$!=null&&(Y[K]=$)}}return Y}var oa={setStyle:\"setStyle\",addLayer:\"addLayer\",removeLayer:\"removeLayer\",setPaintProperty:\"setPaintProperty\",setLayoutProperty:\"setLayoutProperty\",setFilter:\"setFilter\",addSource:\"addSource\",removeSource:\"removeSource\",setGeoJSONSourceData:\"setGeoJSONSourceData\",setLayerZoomRange:\"setLayerZoomRange\",setLayerProperty:\"setLayerProperty\",setCenter:\"setCenter\",setZoom:\"setZoom\",setBearing:\"setBearing\",setPitch:\"setPitch\",setSprite:\"setSprite\",setGlyphs:\"setGlyphs\",setTransition:\"setTransition\",setLight:\"setLight\"};function Sn(Y,z,K){K.push({command:oa.addSource,args:[Y,z[Y]]})}function Ha(Y,z,K){z.push({command:oa.removeSource,args:[Y]}),K[Y]=!0}function oo(Y,z,K,O){Ha(Y,K,O),Sn(Y,z,K)}function xn(Y,z,K){var O;for(O in Y[K])if(Y[K].hasOwnProperty(O)&&O!==\"data\"&&!i.deepEqual(Y[K][O],z[K][O]))return!1;for(O in z[K])if(z[K].hasOwnProperty(O)&&O!==\"data\"&&!i.deepEqual(Y[K][O],z[K][O]))return!1;return!0}function _t(Y,z,K,O){Y=Y||{},z=z||{};var $;for($ in Y)Y.hasOwnProperty($)&&(z.hasOwnProperty($)||Ha($,K,O));for($ in z)z.hasOwnProperty($)&&(Y.hasOwnProperty($)?i.deepEqual(Y[$],z[$])||(Y[$].type===\"geojson\"&&z[$].type===\"geojson\"&&xn(Y,z,$)?K.push({command:oa.setGeoJSONSourceData,args:[$,z[$].data]}):oo($,z,K,O)):Sn($,z,K))}function br(Y,z,K,O,$,pe){Y=Y||{},z=z||{};var de;for(de in Y)Y.hasOwnProperty(de)&&(i.deepEqual(Y[de],z[de])||K.push({command:pe,args:[O,de,z[de],$]}));for(de in z)!z.hasOwnProperty(de)||Y.hasOwnProperty(de)||i.deepEqual(Y[de],z[de])||K.push({command:pe,args:[O,de,z[de],$]})}function Hr(Y){return Y.id}function ti(Y,z){return Y[z.id]=z,Y}function zi(Y,z,K){Y=Y||[],z=z||[];var O=Y.map(Hr),$=z.map(Hr),pe=Y.reduce(ti,{}),de=z.reduce(ti,{}),Ie=O.slice(),$e=Object.create(null),pt,Kt,ir,Jt,vt,Pt,Wt;for(pt=0,Kt=0;pt<O.length;pt++)ir=O[pt],de.hasOwnProperty(ir)?Kt++:(K.push({command:oa.removeLayer,args:[ir]}),Ie.splice(Ie.indexOf(ir,Kt),1));for(pt=0,Kt=0;pt<$.length;pt++)ir=$[$.length-1-pt],Ie[Ie.length-1-pt]!==ir&&(pe.hasOwnProperty(ir)?(K.push({command:oa.removeLayer,args:[ir]}),Ie.splice(Ie.lastIndexOf(ir,Ie.length-Kt),1)):Kt++,Pt=Ie[Ie.length-pt],K.push({command:oa.addLayer,args:[de[ir],Pt]}),Ie.splice(Ie.length-pt,0,ir),$e[ir]=!0);for(pt=0;pt<$.length;pt++)if(ir=$[pt],Jt=pe[ir],vt=de[ir],!($e[ir]||i.deepEqual(Jt,vt))){if(!i.deepEqual(Jt.source,vt.source)||!i.deepEqual(Jt[\"source-layer\"],vt[\"source-layer\"])||!i.deepEqual(Jt.type,vt.type)){K.push({command:oa.removeLayer,args:[ir]}),Pt=Ie[Ie.lastIndexOf(ir)+1],K.push({command:oa.addLayer,args:[vt,Pt]});continue}br(Jt.layout,vt.layout,K,ir,null,oa.setLayoutProperty),br(Jt.paint,vt.paint,K,ir,null,oa.setPaintProperty),i.deepEqual(Jt.filter,vt.filter)||K.push({command:oa.setFilter,args:[ir,vt.filter]}),(!i.deepEqual(Jt.minzoom,vt.minzoom)||!i.deepEqual(Jt.maxzoom,vt.maxzoom))&&K.push({command:oa.setLayerZoomRange,args:[ir,vt.minzoom,vt.maxzoom]});for(Wt in Jt)Jt.hasOwnProperty(Wt)&&(Wt===\"layout\"||Wt===\"paint\"||Wt===\"filter\"||Wt===\"metadata\"||Wt===\"minzoom\"||Wt===\"maxzoom\"||(Wt.indexOf(\"paint.\")===0?br(Jt[Wt],vt[Wt],K,ir,Wt.slice(6),oa.setPaintProperty):i.deepEqual(Jt[Wt],vt[Wt])||K.push({command:oa.setLayerProperty,args:[ir,Wt,vt[Wt]]})));for(Wt in vt)!vt.hasOwnProperty(Wt)||Jt.hasOwnProperty(Wt)||Wt===\"layout\"||Wt===\"paint\"||Wt===\"filter\"||Wt===\"metadata\"||Wt===\"minzoom\"||Wt===\"maxzoom\"||(Wt.indexOf(\"paint.\")===0?br(Jt[Wt],vt[Wt],K,ir,Wt.slice(6),oa.setPaintProperty):i.deepEqual(Jt[Wt],vt[Wt])||K.push({command:oa.setLayerProperty,args:[ir,Wt,vt[Wt]]}))}}function Yi(Y,z){if(!Y)return[{command:oa.setStyle,args:[z]}];var K=[];try{if(!i.deepEqual(Y.version,z.version))return[{command:oa.setStyle,args:[z]}];i.deepEqual(Y.center,z.center)||K.push({command:oa.setCenter,args:[z.center]}),i.deepEqual(Y.zoom,z.zoom)||K.push({command:oa.setZoom,args:[z.zoom]}),i.deepEqual(Y.bearing,z.bearing)||K.push({command:oa.setBearing,args:[z.bearing]}),i.deepEqual(Y.pitch,z.pitch)||K.push({command:oa.setPitch,args:[z.pitch]}),i.deepEqual(Y.sprite,z.sprite)||K.push({command:oa.setSprite,args:[z.sprite]}),i.deepEqual(Y.glyphs,z.glyphs)||K.push({command:oa.setGlyphs,args:[z.glyphs]}),i.deepEqual(Y.transition,z.transition)||K.push({command:oa.setTransition,args:[z.transition]}),i.deepEqual(Y.light,z.light)||K.push({command:oa.setLight,args:[z.light]});var O={},$=[];_t(Y.sources,z.sources,$,O);var pe=[];Y.layers&&Y.layers.forEach(function(de){O[de.source]?K.push({command:oa.removeLayer,args:[de.id]}):pe.push(de)}),K=K.concat($),zi(pe,z.layers,K)}catch(de){console.warn(\"Unable to compute style diff:\",de),K=[{command:oa.setStyle,args:[z]}]}return K}var an=function(z,K){this.reset(z,K)};an.prototype.reset=function(z,K){this.points=z||[],this._distances=[0];for(var O=1;O<this.points.length;O++)this._distances[O]=this._distances[O-1]+this.points[O].dist(this.points[O-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(K||0,this.length*.5),this.paddedLength=this.length-this.padding*2},an.prototype.lerp=function(z){if(this.points.length===1)return this.points[0];z=i.clamp(z,0,1);for(var K=1,O=this._distances[K],$=z*this.paddedLength+this.padding;O<$&&K<this._distances.length;)O=this._distances[++K];var pe=K-1,de=this._distances[pe],Ie=O-de,$e=Ie>0?($-de)/Ie:0;return this.points[pe].mult(1-$e).add(this.points[K].mult($e))};var hi=function(z,K,O){var $=this.boxCells=[],pe=this.circleCells=[];this.xCellCount=Math.ceil(z/O),this.yCellCount=Math.ceil(K/O);for(var de=0;de<this.xCellCount*this.yCellCount;de++)$.push([]),pe.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=z,this.height=K,this.xScale=this.xCellCount/z,this.yScale=this.yCellCount/K,this.boxUid=0,this.circleUid=0};hi.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},hi.prototype.insert=function(z,K,O,$,pe){this._forEachCell(K,O,$,pe,this._insertBoxCell,this.boxUid++),this.boxKeys.push(z),this.bboxes.push(K),this.bboxes.push(O),this.bboxes.push($),this.bboxes.push(pe)},hi.prototype.insertCircle=function(z,K,O,$){this._forEachCell(K-$,O-$,K+$,O+$,this._insertCircleCell,this.circleUid++),this.circleKeys.push(z),this.circles.push(K),this.circles.push(O),this.circles.push($)},hi.prototype._insertBoxCell=function(z,K,O,$,pe,de){this.boxCells[pe].push(de)},hi.prototype._insertCircleCell=function(z,K,O,$,pe,de){this.circleCells[pe].push(de)},hi.prototype._query=function(z,K,O,$,pe,de){if(O<0||z>this.width||$<0||K>this.height)return pe?!1:[];var Ie=[];if(z<=0&&K<=0&&this.width<=O&&this.height<=$){if(pe)return!0;for(var $e=0;$e<this.boxKeys.length;$e++)Ie.push({key:this.boxKeys[$e],x1:this.bboxes[$e*4],y1:this.bboxes[$e*4+1],x2:this.bboxes[$e*4+2],y2:this.bboxes[$e*4+3]});for(var pt=0;pt<this.circleKeys.length;pt++){var Kt=this.circles[pt*3],ir=this.circles[pt*3+1],Jt=this.circles[pt*3+2];Ie.push({key:this.circleKeys[pt],x1:Kt-Jt,y1:ir-Jt,x2:Kt+Jt,y2:ir+Jt})}return de?Ie.filter(de):Ie}else{var vt={hitTest:pe,seenUids:{box:{},circle:{}}};return this._forEachCell(z,K,O,$,this._queryCell,Ie,vt,de),pe?Ie.length>0:Ie}},hi.prototype._queryCircle=function(z,K,O,$,pe){var de=z-O,Ie=z+O,$e=K-O,pt=K+O;if(Ie<0||de>this.width||pt<0||$e>this.height)return $?!1:[];var Kt=[],ir={hitTest:$,circle:{x:z,y:K,radius:O},seenUids:{box:{},circle:{}}};return this._forEachCell(de,$e,Ie,pt,this._queryCellCircle,Kt,ir,pe),$?Kt.length>0:Kt},hi.prototype.query=function(z,K,O,$,pe){return this._query(z,K,O,$,!1,pe)},hi.prototype.hitTest=function(z,K,O,$,pe){return this._query(z,K,O,$,!0,pe)},hi.prototype.hitTestCircle=function(z,K,O,$){return this._queryCircle(z,K,O,!0,$)},hi.prototype._queryCell=function(z,K,O,$,pe,de,Ie,$e){var pt=Ie.seenUids,Kt=this.boxCells[pe];if(Kt!==null)for(var ir=this.bboxes,Jt=0,vt=Kt;Jt<vt.length;Jt+=1){var Pt=vt[Jt];if(!pt.box[Pt]){pt.box[Pt]=!0;var Wt=Pt*4;if(z<=ir[Wt+2]&&K<=ir[Wt+3]&&O>=ir[Wt+0]&&$>=ir[Wt+1]&&(!$e||$e(this.boxKeys[Pt]))){if(Ie.hitTest)return de.push(!0),!0;de.push({key:this.boxKeys[Pt],x1:ir[Wt],y1:ir[Wt+1],x2:ir[Wt+2],y2:ir[Wt+3]})}}}var rr=this.circleCells[pe];if(rr!==null)for(var dr=this.circles,pr=0,kr=rr;pr<kr.length;pr+=1){var Ar=kr[pr];if(!pt.circle[Ar]){pt.circle[Ar]=!0;var gr=Ar*3;if(this._circleAndRectCollide(dr[gr],dr[gr+1],dr[gr+2],z,K,O,$)&&(!$e||$e(this.circleKeys[Ar]))){if(Ie.hitTest)return de.push(!0),!0;var Cr=dr[gr],cr=dr[gr+1],Gr=dr[gr+2];de.push({key:this.circleKeys[Ar],x1:Cr-Gr,y1:cr-Gr,x2:Cr+Gr,y2:cr+Gr})}}}},hi.prototype._queryCellCircle=function(z,K,O,$,pe,de,Ie,$e){var pt=Ie.circle,Kt=Ie.seenUids,ir=this.boxCells[pe];if(ir!==null)for(var Jt=this.bboxes,vt=0,Pt=ir;vt<Pt.length;vt+=1){var Wt=Pt[vt];if(!Kt.box[Wt]){Kt.box[Wt]=!0;var rr=Wt*4;if(this._circleAndRectCollide(pt.x,pt.y,pt.radius,Jt[rr+0],Jt[rr+1],Jt[rr+2],Jt[rr+3])&&(!$e||$e(this.boxKeys[Wt])))return de.push(!0),!0}}var dr=this.circleCells[pe];if(dr!==null)for(var pr=this.circles,kr=0,Ar=dr;kr<Ar.length;kr+=1){var gr=Ar[kr];if(!Kt.circle[gr]){Kt.circle[gr]=!0;var Cr=gr*3;if(this._circlesCollide(pr[Cr],pr[Cr+1],pr[Cr+2],pt.x,pt.y,pt.radius)&&(!$e||$e(this.circleKeys[gr])))return de.push(!0),!0}}},hi.prototype._forEachCell=function(z,K,O,$,pe,de,Ie,$e){for(var pt=this._convertToXCellCoord(z),Kt=this._convertToYCellCoord(K),ir=this._convertToXCellCoord(O),Jt=this._convertToYCellCoord($),vt=pt;vt<=ir;vt++)for(var Pt=Kt;Pt<=Jt;Pt++){var Wt=this.xCellCount*Pt+vt;if(pe.call(this,z,K,O,$,Wt,de,Ie,$e))return}},hi.prototype._convertToXCellCoord=function(z){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(z*this.xScale)))},hi.prototype._convertToYCellCoord=function(z){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(z*this.yScale)))},hi.prototype._circlesCollide=function(z,K,O,$,pe,de){var Ie=$-z,$e=pe-K,pt=O+de;return pt*pt>Ie*Ie+$e*$e},hi.prototype._circleAndRectCollide=function(z,K,O,$,pe,de,Ie){var $e=(de-$)/2,pt=Math.abs(z-($+$e));if(pt>$e+O)return!1;var Kt=(Ie-pe)/2,ir=Math.abs(K-(pe+Kt));if(ir>Kt+O)return!1;if(pt<=$e||ir<=Kt)return!0;var Jt=pt-$e,vt=ir-Kt;return Jt*Jt+vt*vt<=O*O};function Ji(Y,z,K,O,$){var pe=i.create();return z?(i.scale(pe,pe,[1/$,1/$,1]),K||i.rotateZ(pe,pe,O.angle)):i.multiply(pe,O.labelPlaneMatrix,Y),pe}function ua(Y,z,K,O,$){if(z){var pe=i.clone(Y);return i.scale(pe,pe,[$,$,1]),K||i.rotateZ(pe,pe,-O.angle),pe}else return O.glCoordMatrix}function Fn(Y,z){var K=[Y.x,Y.y,0,1];wl(K,K,z);var O=K[3];return{point:new i.Point(K[0]/O,K[1]/O),signedDistanceFromCamera:O}}function Sa(Y,z){return .5+.5*(Y/z)}function go(Y,z){var K=Y[0]/Y[3],O=Y[1]/Y[3],$=K>=-z[0]&&K<=z[0]&&O>=-z[1]&&O<=z[1];return $}function Oo(Y,z,K,O,$,pe,de,Ie){var $e=O?Y.textSizeData:Y.iconSizeData,pt=i.evaluateSizeForZoom($e,K.transform.zoom),Kt=[256/K.width*2+1,256/K.height*2+1],ir=O?Y.text.dynamicLayoutVertexArray:Y.icon.dynamicLayoutVertexArray;ir.clear();for(var Jt=Y.lineVertexArray,vt=O?Y.text.placedSymbolArray:Y.icon.placedSymbolArray,Pt=K.transform.width/K.transform.height,Wt=!1,rr=0;rr<vt.length;rr++){var dr=vt.get(rr);if(dr.hidden||dr.writingMode===i.WritingMode.vertical&&!Wt){Xs(dr.numGlyphs,ir);continue}Wt=!1;var pr=[dr.anchorX,dr.anchorY,0,1];if(i.transformMat4(pr,pr,z),!go(pr,Kt)){Xs(dr.numGlyphs,ir);continue}var kr=pr[3],Ar=Sa(K.transform.cameraToCenterDistance,kr),gr=i.evaluateSizeForFeature($e,pt,dr),Cr=de?gr/Ar:gr*Ar,cr=new i.Point(dr.anchorX,dr.anchorY),Gr=Fn(cr,$).point,ei={},yi=xo(dr,Cr,!1,Ie,z,$,pe,Y.glyphOffsetArray,Jt,ir,Gr,cr,ei,Pt);Wt=yi.useVertical,(yi.notEnoughRoom||Wt||yi.needsFlipping&&xo(dr,Cr,!0,Ie,z,$,pe,Y.glyphOffsetArray,Jt,ir,Gr,cr,ei,Pt).notEnoughRoom)&&Xs(dr.numGlyphs,ir)}O?Y.text.dynamicLayoutVertexBuffer.updateData(ir):Y.icon.dynamicLayoutVertexBuffer.updateData(ir)}function ho(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt){var ir=Ie.glyphStartIndex+Ie.numGlyphs,Jt=Ie.lineStartIndex,vt=Ie.lineStartIndex+Ie.lineLength,Pt=z.getoffsetX(Ie.glyphStartIndex),Wt=z.getoffsetX(ir-1),rr=ks(Y*Pt,K,O,$,pe,de,Ie.segment,Jt,vt,$e,pt,Kt);if(!rr)return null;var dr=ks(Y*Wt,K,O,$,pe,de,Ie.segment,Jt,vt,$e,pt,Kt);return dr?{first:rr,last:dr}:null}function Mo(Y,z,K,O){if(Y===i.WritingMode.horizontal){var $=Math.abs(K.y-z.y),pe=Math.abs(K.x-z.x)*O;if($>pe)return{useVertical:!0}}return(Y===i.WritingMode.vertical?z.y<K.y:z.x>K.x)?{needsFlipping:!0}:null}function xo(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt,ir,Jt,vt){var Pt=z/24,Wt=Y.lineOffsetX*Pt,rr=Y.lineOffsetY*Pt,dr;if(Y.numGlyphs>1){var pr=Y.glyphStartIndex+Y.numGlyphs,kr=Y.lineStartIndex,Ar=Y.lineStartIndex+Y.lineLength,gr=ho(Pt,Ie,Wt,rr,K,Kt,ir,Y,$e,pe,Jt);if(!gr)return{notEnoughRoom:!0};var Cr=Fn(gr.first.point,de).point,cr=Fn(gr.last.point,de).point;if(O&&!K){var Gr=Mo(Y.writingMode,Cr,cr,vt);if(Gr)return Gr}dr=[gr.first];for(var ei=Y.glyphStartIndex+1;ei<pr-1;ei++)dr.push(ks(Pt*Ie.getoffsetX(ei),Wt,rr,K,Kt,ir,Y.segment,kr,Ar,$e,pe,Jt));dr.push(gr.last)}else{if(O&&!K){var yi=Fn(ir,$).point,tn=Y.lineStartIndex+Y.segment+1,Ri=new i.Point($e.getx(tn),$e.gety(tn)),ln=Fn(Ri,$),Qn=ln.signedDistanceFromCamera>0?ln.point:zs(ir,Ri,yi,1,$),qn=Mo(Y.writingMode,yi,Qn,vt);if(qn)return qn}var rn=ks(Pt*Ie.getoffsetX(Y.glyphStartIndex),Wt,rr,K,Kt,ir,Y.segment,Y.lineStartIndex,Y.lineStartIndex+Y.lineLength,$e,pe,Jt);if(!rn)return{notEnoughRoom:!0};dr=[rn]}for(var bn=0,mn=dr;bn<mn.length;bn+=1){var Gn=mn[bn];i.addDynamicAttributes(pt,Gn.point,Gn.angle)}return{}}function zs(Y,z,K,O,$){var pe=Fn(Y.add(Y.sub(z)._unit()),$).point,de=K.sub(pe);return K.add(de._mult(O/de.mag()))}function ks(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt,ir){var Jt=O?Y-z:Y+z,vt=Jt>0?1:-1,Pt=0;O&&(vt*=-1,Pt=Math.PI),vt<0&&(Pt+=Math.PI);for(var Wt=vt>0?Ie+de:Ie+de+1,rr=$,dr=$,pr=0,kr=0,Ar=Math.abs(Jt),gr=[];pr+kr<=Ar;){if(Wt+=vt,Wt<Ie||Wt>=$e)return null;if(dr=rr,gr.push(rr),rr=ir[Wt],rr===void 0){var Cr=new i.Point(pt.getx(Wt),pt.gety(Wt)),cr=Fn(Cr,Kt);if(cr.signedDistanceFromCamera>0)rr=ir[Wt]=cr.point;else{var Gr=Wt-vt,ei=pr===0?pe:new i.Point(pt.getx(Gr),pt.gety(Gr));rr=zs(ei,Cr,dr,Ar-pr+1,Kt)}}pr+=kr,kr=dr.dist(rr)}var yi=(Ar-pr)/kr,tn=rr.sub(dr),Ri=tn.mult(yi)._add(dr);Ri._add(tn._unit()._perp()._mult(K*vt));var ln=Pt+Math.atan2(rr.y-dr.y,rr.x-dr.x);return gr.push(Ri),{point:Ri,angle:ln,path:gr}}var Zs=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Xs(Y,z){for(var K=0;K<Y;K++){var O=z.length;z.resize(O+4),z.float32.set(Zs,O*3)}}function wl(Y,z,K){var O=z[0],$=z[1];return Y[0]=K[0]*O+K[4]*$+K[12],Y[1]=K[1]*O+K[5]*$+K[13],Y[3]=K[3]*O+K[7]*$+K[15],Y}var os=100,cl=function(z,K,O){K===void 0&&(K=new hi(z.width+2*os,z.height+2*os,25)),O===void 0&&(O=new hi(z.width+2*os,z.height+2*os,25)),this.transform=z,this.grid=K,this.ignoredGrid=O,this.pitchfactor=Math.cos(z._pitch)*z.cameraToCenterDistance,this.screenRightBoundary=z.width+os,this.screenBottomBoundary=z.height+os,this.gridRightBoundary=z.width+2*os,this.gridBottomBoundary=z.height+2*os};cl.prototype.placeCollisionBox=function(z,K,O,$,pe){var de=this.projectAndGetPerspectiveRatio($,z.anchorPointX,z.anchorPointY),Ie=O*de.perspectiveRatio,$e=z.x1*Ie+de.point.x,pt=z.y1*Ie+de.point.y,Kt=z.x2*Ie+de.point.x,ir=z.y2*Ie+de.point.y;return!this.isInsideGrid($e,pt,Kt,ir)||!K&&this.grid.hitTest($e,pt,Kt,ir,pe)?{box:[],offscreen:!1}:{box:[$e,pt,Kt,ir],offscreen:this.isOffscreen($e,pt,Kt,ir)}},cl.prototype.placeCollisionCircles=function(z,K,O,$,pe,de,Ie,$e,pt,Kt,ir,Jt,vt){var Pt=[],Wt=new i.Point(K.anchorX,K.anchorY),rr=Fn(Wt,de),dr=Sa(this.transform.cameraToCenterDistance,rr.signedDistanceFromCamera),pr=Kt?pe/dr:pe*dr,kr=pr/i.ONE_EM,Ar=Fn(Wt,Ie).point,gr={},Cr=K.lineOffsetX*kr,cr=K.lineOffsetY*kr,Gr=ho(kr,$,Cr,cr,!1,Ar,Wt,K,O,Ie,gr),ei=!1,yi=!1,tn=!0;if(Gr){for(var Ri=Jt*.5*dr+vt,ln=new i.Point(-os,-os),Qn=new i.Point(this.screenRightBoundary,this.screenBottomBoundary),qn=new an,rn=Gr.first,bn=Gr.last,mn=[],Gn=rn.path.length-1;Gn>=1;Gn--)mn.push(rn.path[Gn]);for(var da=1;da<bn.path.length;da++)mn.push(bn.path[da]);var No=Ri*2.5;if($e){var Do=mn.map(function(Cv){return Fn(Cv,$e)});Do.some(function(Cv){return Cv.signedDistanceFromCamera<=0})?mn=[]:mn=Do.map(function(Cv){return Cv.point})}var ps=[];if(mn.length>0){for(var fo=mn[0].clone(),as=mn[0].clone(),tl=1;tl<mn.length;tl++)fo.x=Math.min(fo.x,mn[tl].x),fo.y=Math.min(fo.y,mn[tl].y),as.x=Math.max(as.x,mn[tl].x),as.y=Math.max(as.y,mn[tl].y);fo.x>=ln.x&&as.x<=Qn.x&&fo.y>=ln.y&&as.y<=Qn.y?ps=[mn]:as.x<ln.x||fo.x>Qn.x||as.y<ln.y||fo.y>Qn.y?ps=[]:ps=i.clipLine([mn],ln.x,ln.y,Qn.x,Qn.y)}for(var zu=0,Mv=ps;zu<Mv.length;zu+=1){var Ev=Mv[zu];qn.reset(Ev,Ri*.25);var yd=0;qn.length<=.5*Ri?yd=1:yd=Math.ceil(qn.paddedLength/No)+1;for(var Yv=0;Yv<yd;Yv++){var cg=Yv/Math.max(yd-1,1),vp=qn.lerp(cg),_d=vp.x+os,pp=vp.y+os;Pt.push(_d,pp,Ri,0);var Nd=_d-Ri,xd=pp-Ri,kv=_d+Ri,Kv=pp+Ri;if(tn=tn&&this.isOffscreen(Nd,xd,kv,Kv),yi=yi||this.isInsideGrid(Nd,xd,kv,Kv),!z&&this.grid.hitTestCircle(_d,pp,Ri,ir)&&(ei=!0,!pt))return{circles:[],offscreen:!1,collisionDetected:ei}}}}return{circles:!pt&&ei||!yi?[]:Pt,offscreen:tn,collisionDetected:ei}},cl.prototype.queryRenderedSymbols=function(z){if(z.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};for(var K=[],O=1/0,$=1/0,pe=-1/0,de=-1/0,Ie=0,$e=z;Ie<$e.length;Ie+=1){var pt=$e[Ie],Kt=new i.Point(pt.x+os,pt.y+os);O=Math.min(O,Kt.x),$=Math.min($,Kt.y),pe=Math.max(pe,Kt.x),de=Math.max(de,Kt.y),K.push(Kt)}for(var ir=this.grid.query(O,$,pe,de).concat(this.ignoredGrid.query(O,$,pe,de)),Jt={},vt={},Pt=0,Wt=ir;Pt<Wt.length;Pt+=1){var rr=Wt[Pt],dr=rr.key;if(Jt[dr.bucketInstanceId]===void 0&&(Jt[dr.bucketInstanceId]={}),!Jt[dr.bucketInstanceId][dr.featureIndex]){var pr=[new i.Point(rr.x1,rr.y1),new i.Point(rr.x2,rr.y1),new i.Point(rr.x2,rr.y2),new i.Point(rr.x1,rr.y2)];i.polygonIntersectsPolygon(K,pr)&&(Jt[dr.bucketInstanceId][dr.featureIndex]=!0,vt[dr.bucketInstanceId]===void 0&&(vt[dr.bucketInstanceId]=[]),vt[dr.bucketInstanceId].push(dr.featureIndex))}}return vt},cl.prototype.insertCollisionBox=function(z,K,O,$,pe){var de=K?this.ignoredGrid:this.grid,Ie={bucketInstanceId:O,featureIndex:$,collisionGroupID:pe};de.insert(Ie,z[0],z[1],z[2],z[3])},cl.prototype.insertCollisionCircles=function(z,K,O,$,pe){for(var de=K?this.ignoredGrid:this.grid,Ie={bucketInstanceId:O,featureIndex:$,collisionGroupID:pe},$e=0;$e<z.length;$e+=4)de.insertCircle(Ie,z[$e],z[$e+1],z[$e+2])},cl.prototype.projectAndGetPerspectiveRatio=function(z,K,O){var $=[K,O,0,1];wl($,$,z);var pe=new i.Point(($[0]/$[3]+1)/2*this.transform.width+os,(-$[1]/$[3]+1)/2*this.transform.height+os);return{point:pe,perspectiveRatio:.5+.5*(this.transform.cameraToCenterDistance/$[3])}},cl.prototype.isOffscreen=function(z,K,O,$){return O<os||z>=this.screenRightBoundary||$<os||K>this.screenBottomBoundary},cl.prototype.isInsideGrid=function(z,K,O,$){return O>=0&&z<this.gridRightBoundary&&$>=0&&K<this.gridBottomBoundary},cl.prototype.getViewportMatrix=function(){var z=i.identity([]);return i.translate(z,z,[-os,-os,0]),z};function Cs(Y,z,K){return z*(i.EXTENT/(Y.tileSize*Math.pow(2,K-Y.tileID.overscaledZ)))}var ml=function(z,K,O,$){z?this.opacity=Math.max(0,Math.min(1,z.opacity+(z.placed?K:-K))):this.opacity=$&&O?1:0,this.placed=O};ml.prototype.isHidden=function(){return this.opacity===0&&!this.placed};var Ys=function(z,K,O,$,pe){this.text=new ml(z?z.text:null,K,O,pe),this.icon=new ml(z?z.icon:null,K,$,pe)};Ys.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var Hs=function(z,K,O){this.text=z,this.icon=K,this.skipFade=O},Eo=function(){this.invProjMatrix=i.create(),this.viewportMatrix=i.create(),this.circles=[]},fs=function(z,K,O,$,pe){this.bucketInstanceId=z,this.featureIndex=K,this.sourceLayerIndex=O,this.bucketIndex=$,this.tileID=pe},Ql=function(z){this.crossSourceCollisions=z,this.maxGroupID=0,this.collisionGroups={}};Ql.prototype.get=function(z){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[z]){var K=++this.maxGroupID;this.collisionGroups[z]={ID:K,predicate:function(O){return O.collisionGroupID===K}}}return this.collisionGroups[z]};function Hu(Y,z,K,O,$){var pe=i.getAnchorAlignment(Y),de=pe.horizontalAlign,Ie=pe.verticalAlign,$e=-(de-.5)*z,pt=-(Ie-.5)*K,Kt=i.evaluateVariableOffset(Y,O);return new i.Point($e+Kt[0]*$,pt+Kt[1]*$)}function fc(Y,z,K,O,$,pe){var de=Y.x1,Ie=Y.x2,$e=Y.y1,pt=Y.y2,Kt=Y.anchorPointX,ir=Y.anchorPointY,Jt=new i.Point(z,K);return O&&Jt._rotate($?pe:-pe),{x1:de+Jt.x,y1:$e+Jt.y,x2:Ie+Jt.x,y2:pt+Jt.y,anchorPointX:Kt,anchorPointY:ir}}var ms=function(z,K,O,$){this.transform=z.clone(),this.collisionIndex=new cl(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=K,this.retainedQueryData={},this.collisionGroups=new Ql(O),this.collisionCircleArrays={},this.prevPlacement=$,$&&($.prevPlacement=void 0),this.placedOrientations={}};ms.prototype.getBucketParts=function(z,K,O,$){var pe=O.getBucket(K),de=O.latestFeatureIndex;if(!(!pe||!de||K.id!==pe.layerIds[0])){var Ie=O.collisionBoxArray,$e=pe.layers[0].layout,pt=Math.pow(2,this.transform.zoom-O.tileID.overscaledZ),Kt=O.tileSize/i.EXTENT,ir=this.transform.calculatePosMatrix(O.tileID.toUnwrapped()),Jt=$e.get(\"text-pitch-alignment\")===\"map\",vt=$e.get(\"text-rotation-alignment\")===\"map\",Pt=Cs(O,1,this.transform.zoom),Wt=Ji(ir,Jt,vt,this.transform,Pt),rr=null;if(Jt){var dr=ua(ir,Jt,vt,this.transform,Pt);rr=i.multiply([],this.transform.labelPlaneMatrix,dr)}this.retainedQueryData[pe.bucketInstanceId]=new fs(pe.bucketInstanceId,de,pe.sourceLayerIndex,pe.index,O.tileID);var pr={bucket:pe,layout:$e,posMatrix:ir,textLabelPlaneMatrix:Wt,labelToScreenMatrix:rr,scale:pt,textPixelRatio:Kt,holdingForFade:O.holdingForFade(),collisionBoxArray:Ie,partiallyEvaluatedTextSize:i.evaluateSizeForZoom(pe.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(pe.sourceID)};if($)for(var kr=0,Ar=pe.sortKeyRanges;kr<Ar.length;kr+=1){var gr=Ar[kr],Cr=gr.sortKey,cr=gr.symbolInstanceStart,Gr=gr.symbolInstanceEnd;z.push({sortKey:Cr,symbolInstanceStart:cr,symbolInstanceEnd:Gr,parameters:pr})}else z.push({symbolInstanceStart:0,symbolInstanceEnd:pe.symbolInstances.length,parameters:pr})}},ms.prototype.attemptAnchorPlacement=function(z,K,O,$,pe,de,Ie,$e,pt,Kt,ir,Jt,vt,Pt,Wt){var rr=[Jt.textOffset0,Jt.textOffset1],dr=Hu(z,O,$,rr,pe),pr=this.collisionIndex.placeCollisionBox(fc(K,dr.x,dr.y,de,Ie,this.transform.angle),ir,$e,pt,Kt.predicate);if(Wt){var kr=this.collisionIndex.placeCollisionBox(fc(Wt,dr.x,dr.y,de,Ie,this.transform.angle),ir,$e,pt,Kt.predicate);if(kr.box.length===0)return}if(pr.box.length>0){var Ar;return this.prevPlacement&&this.prevPlacement.variableOffsets[Jt.crossTileID]&&this.prevPlacement.placements[Jt.crossTileID]&&this.prevPlacement.placements[Jt.crossTileID].text&&(Ar=this.prevPlacement.variableOffsets[Jt.crossTileID].anchor),this.variableOffsets[Jt.crossTileID]={textOffset:rr,width:O,height:$,anchor:z,textBoxScale:pe,prevAnchor:Ar},this.markUsedJustification(vt,z,Jt,Pt),vt.allowVerticalPlacement&&(this.markUsedOrientation(vt,Pt,Jt),this.placedOrientations[Jt.crossTileID]=Pt),{shift:dr,placedGlyphBoxes:pr}}},ms.prototype.placeLayerBucketPart=function(z,K,O){var $=this,pe=z.parameters,de=pe.bucket,Ie=pe.layout,$e=pe.posMatrix,pt=pe.textLabelPlaneMatrix,Kt=pe.labelToScreenMatrix,ir=pe.textPixelRatio,Jt=pe.holdingForFade,vt=pe.collisionBoxArray,Pt=pe.partiallyEvaluatedTextSize,Wt=pe.collisionGroup,rr=Ie.get(\"text-optional\"),dr=Ie.get(\"icon-optional\"),pr=Ie.get(\"text-allow-overlap\"),kr=Ie.get(\"icon-allow-overlap\"),Ar=Ie.get(\"text-rotation-alignment\")===\"map\",gr=Ie.get(\"text-pitch-alignment\")===\"map\",Cr=Ie.get(\"icon-text-fit\")!==\"none\",cr=Ie.get(\"symbol-z-order\")===\"viewport-y\",Gr=pr&&(kr||!de.hasIconData()||dr),ei=kr&&(pr||!de.hasTextData()||rr);!de.collisionArrays&&vt&&de.deserializeCollisionBoxes(vt);var yi=function(rn,bn){if(!K[rn.crossTileID]){if(Jt){$.placements[rn.crossTileID]=new Hs(!1,!1,!1);return}var mn=!1,Gn=!1,da=!0,No=null,Do={box:null,offscreen:null},ps={box:null,offscreen:null},fo=null,as=null,tl=null,zu=0,Mv=0,Ev=0;bn.textFeatureIndex?zu=bn.textFeatureIndex:rn.useRuntimeCollisionCircles&&(zu=rn.featureIndex),bn.verticalTextFeatureIndex&&(Mv=bn.verticalTextFeatureIndex);var yd=bn.textBox;if(yd){var Yv=function(Fu){var kl=i.WritingMode.horizontal;if(de.allowVerticalPlacement&&!Fu&&$.prevPlacement){var bd=$.prevPlacement.placedOrientations[rn.crossTileID];bd&&($.placedOrientations[rn.crossTileID]=bd,kl=bd,$.markUsedOrientation(de,kl,rn))}return kl},cg=function(Fu,kl){if(de.allowVerticalPlacement&&rn.numVerticalGlyphVertices>0&&bn.verticalTextBox)for(var bd=0,sy=de.writingModes;bd<sy.length;bd+=1){var A1=sy[bd];if(A1===i.WritingMode.vertical?(Do=kl(),ps=Do):Do=Fu(),Do&&Do.box&&Do.box.length)break}else Do=Fu()};if(Ie.get(\"text-variable-anchor\")){var Nd=Ie.get(\"text-variable-anchor\");if($.prevPlacement&&$.prevPlacement.variableOffsets[rn.crossTileID]){var xd=$.prevPlacement.variableOffsets[rn.crossTileID];Nd.indexOf(xd.anchor)>0&&(Nd=Nd.filter(function(Fu){return Fu!==xd.anchor}),Nd.unshift(xd.anchor))}var kv=function(Fu,kl,bd){for(var sy=Fu.x2-Fu.x1,A1=Fu.y2-Fu.y1,Kl=rn.textBoxScale,Nx=Cr&&!kr?kl:null,am={box:[],offscreen:!1},Mw=pr?Nd.length*2:Nd.length,Lv=0;Lv<Mw;++Lv){var om=Nd[Lv%Nd.length],Ew=Lv>=Nd.length,Ux=$.attemptAnchorPlacement(om,Fu,sy,A1,Kl,Ar,gr,ir,$e,Wt,Ew,rn,de,bd,Nx);if(Ux&&(am=Ux.placedGlyphBoxes,am&&am.box&&am.box.length)){mn=!0,No=Ux.shift;break}}return am},Kv=function(){return kv(yd,bn.iconBox,i.WritingMode.horizontal)},Cv=function(){var Fu=bn.verticalTextBox,kl=Do&&Do.box&&Do.box.length;return de.allowVerticalPlacement&&!kl&&rn.numVerticalGlyphVertices>0&&Fu?kv(Fu,bn.verticalIconBox,i.WritingMode.vertical):{box:null,offscreen:null}};cg(Kv,Cv),Do&&(mn=Do.box,da=Do.offscreen);var ny=Yv(Do&&Do.box);if(!mn&&$.prevPlacement){var fg=$.prevPlacement.variableOffsets[rn.crossTileID];fg&&($.variableOffsets[rn.crossTileID]=fg,$.markUsedJustification(de,fg.anchor,rn,ny))}}else{var vp=function(Fu,kl){var bd=$.collisionIndex.placeCollisionBox(Fu,pr,ir,$e,Wt.predicate);return bd&&bd.box&&bd.box.length&&($.markUsedOrientation(de,kl,rn),$.placedOrientations[rn.crossTileID]=kl),bd},_d=function(){return vp(yd,i.WritingMode.horizontal)},pp=function(){var Fu=bn.verticalTextBox;return de.allowVerticalPlacement&&rn.numVerticalGlyphVertices>0&&Fu?vp(Fu,i.WritingMode.vertical):{box:null,offscreen:null}};cg(_d,pp),Yv(Do&&Do.box&&Do.box.length)}}if(fo=Do,mn=fo&&fo.box&&fo.box.length>0,da=fo&&fo.offscreen,rn.useRuntimeCollisionCircles){var Hf=de.text.placedSymbolArray.get(rn.centerJustifiedTextSymbolIndex),hg=i.evaluateSizeForFeature(de.textSizeData,Pt,Hf),ay=Ie.get(\"text-padding\"),Rh=rn.collisionCircleDiameter;as=$.collisionIndex.placeCollisionCircles(pr,Hf,de.lineVertexArray,de.glyphOffsetArray,hg,$e,pt,Kt,O,gr,Wt.predicate,Rh,ay),mn=pr||as.circles.length>0&&!as.collisionDetected,da=da&&as.offscreen}if(bn.iconFeatureIndex&&(Ev=bn.iconFeatureIndex),bn.iconBox){var rm=function(Fu){var kl=Cr&&No?fc(Fu,No.x,No.y,Ar,gr,$.transform.angle):Fu;return $.collisionIndex.placeCollisionBox(kl,kr,ir,$e,Wt.predicate)};ps&&ps.box&&ps.box.length&&bn.verticalIconBox?(tl=rm(bn.verticalIconBox),Gn=tl.box.length>0):(tl=rm(bn.iconBox),Gn=tl.box.length>0),da=da&&tl.offscreen}var w1=rr||rn.numHorizontalGlyphVertices===0&&rn.numVerticalGlyphVertices===0,T1=dr||rn.numIconVertices===0;if(!w1&&!T1?Gn=mn=Gn&&mn:T1?w1||(Gn=Gn&&mn):mn=Gn&&mn,mn&&fo&&fo.box&&(ps&&ps.box&&Mv?$.collisionIndex.insertCollisionBox(fo.box,Ie.get(\"text-ignore-placement\"),de.bucketInstanceId,Mv,Wt.ID):$.collisionIndex.insertCollisionBox(fo.box,Ie.get(\"text-ignore-placement\"),de.bucketInstanceId,zu,Wt.ID)),Gn&&tl&&$.collisionIndex.insertCollisionBox(tl.box,Ie.get(\"icon-ignore-placement\"),de.bucketInstanceId,Ev,Wt.ID),as&&(mn&&$.collisionIndex.insertCollisionCircles(as.circles,Ie.get(\"text-ignore-placement\"),de.bucketInstanceId,zu,Wt.ID),O)){var oy=de.bucketInstanceId,im=$.collisionCircleArrays[oy];im===void 0&&(im=$.collisionCircleArrays[oy]=new Eo);for(var nm=0;nm<as.circles.length;nm+=4)im.circles.push(as.circles[nm+0]),im.circles.push(as.circles[nm+1]),im.circles.push(as.circles[nm+2]),im.circles.push(as.collisionDetected?1:0)}$.placements[rn.crossTileID]=new Hs(mn||Gr,Gn||ei,da||de.justReloaded),K[rn.crossTileID]=!0}};if(cr)for(var tn=de.getSortedSymbolIndexes(this.transform.angle),Ri=tn.length-1;Ri>=0;--Ri){var ln=tn[Ri];yi(de.symbolInstances.get(ln),de.collisionArrays[ln])}else for(var Qn=z.symbolInstanceStart;Qn<z.symbolInstanceEnd;Qn++)yi(de.symbolInstances.get(Qn),de.collisionArrays[Qn]);if(O&&de.bucketInstanceId in this.collisionCircleArrays){var qn=this.collisionCircleArrays[de.bucketInstanceId];i.invert(qn.invProjMatrix,$e),qn.viewportMatrix=this.collisionIndex.getViewportMatrix()}de.justReloaded=!1},ms.prototype.markUsedJustification=function(z,K,O,$){var pe={left:O.leftJustifiedTextSymbolIndex,center:O.centerJustifiedTextSymbolIndex,right:O.rightJustifiedTextSymbolIndex},de;$===i.WritingMode.vertical?de=O.verticalPlacedTextSymbolIndex:de=pe[i.getAnchorJustification(K)];for(var Ie=[O.leftJustifiedTextSymbolIndex,O.centerJustifiedTextSymbolIndex,O.rightJustifiedTextSymbolIndex,O.verticalPlacedTextSymbolIndex],$e=0,pt=Ie;$e<pt.length;$e+=1){var Kt=pt[$e];Kt>=0&&(de>=0&&Kt!==de?z.text.placedSymbolArray.get(Kt).crossTileID=0:z.text.placedSymbolArray.get(Kt).crossTileID=O.crossTileID)}},ms.prototype.markUsedOrientation=function(z,K,O){for(var $=K===i.WritingMode.horizontal||K===i.WritingMode.horizontalOnly?K:0,pe=K===i.WritingMode.vertical?K:0,de=[O.leftJustifiedTextSymbolIndex,O.centerJustifiedTextSymbolIndex,O.rightJustifiedTextSymbolIndex],Ie=0,$e=de;Ie<$e.length;Ie+=1){var pt=$e[Ie];z.text.placedSymbolArray.get(pt).placedOrientation=$}O.verticalPlacedTextSymbolIndex&&(z.text.placedSymbolArray.get(O.verticalPlacedTextSymbolIndex).placedOrientation=pe)},ms.prototype.commit=function(z){this.commitTime=z,this.zoomAtLastRecencyCheck=this.transform.zoom;var K=this.prevPlacement,O=!1;this.prevZoomAdjustment=K?K.zoomAdjustment(this.transform.zoom):0;var $=K?K.symbolFadeChange(z):1,pe=K?K.opacities:{},de=K?K.variableOffsets:{},Ie=K?K.placedOrientations:{};for(var $e in this.placements){var pt=this.placements[$e],Kt=pe[$e];Kt?(this.opacities[$e]=new Ys(Kt,$,pt.text,pt.icon),O=O||pt.text!==Kt.text.placed||pt.icon!==Kt.icon.placed):(this.opacities[$e]=new Ys(null,$,pt.text,pt.icon,pt.skipFade),O=O||pt.text||pt.icon)}for(var ir in pe){var Jt=pe[ir];if(!this.opacities[ir]){var vt=new Ys(Jt,$,!1,!1);vt.isHidden()||(this.opacities[ir]=vt,O=O||Jt.text.placed||Jt.icon.placed)}}for(var Pt in de)!this.variableOffsets[Pt]&&this.opacities[Pt]&&!this.opacities[Pt].isHidden()&&(this.variableOffsets[Pt]=de[Pt]);for(var Wt in Ie)!this.placedOrientations[Wt]&&this.opacities[Wt]&&!this.opacities[Wt].isHidden()&&(this.placedOrientations[Wt]=Ie[Wt]);O?this.lastPlacementChangeTime=z:typeof this.lastPlacementChangeTime!=\"number\"&&(this.lastPlacementChangeTime=K?K.lastPlacementChangeTime:z)},ms.prototype.updateLayerOpacities=function(z,K){for(var O={},$=0,pe=K;$<pe.length;$+=1){var de=pe[$],Ie=de.getBucket(z);Ie&&de.latestFeatureIndex&&z.id===Ie.layerIds[0]&&this.updateBucketOpacities(Ie,O,de.collisionBoxArray)}},ms.prototype.updateBucketOpacities=function(z,K,O){var $=this;z.hasTextData()&&z.text.opacityVertexArray.clear(),z.hasIconData()&&z.icon.opacityVertexArray.clear(),z.hasIconCollisionBoxData()&&z.iconCollisionBox.collisionVertexArray.clear(),z.hasTextCollisionBoxData()&&z.textCollisionBox.collisionVertexArray.clear();var pe=z.layers[0].layout,de=new Ys(null,0,!1,!1,!0),Ie=pe.get(\"text-allow-overlap\"),$e=pe.get(\"icon-allow-overlap\"),pt=pe.get(\"text-variable-anchor\"),Kt=pe.get(\"text-rotation-alignment\")===\"map\",ir=pe.get(\"text-pitch-alignment\")===\"map\",Jt=pe.get(\"icon-text-fit\")!==\"none\",vt=new Ys(null,0,Ie&&($e||!z.hasIconData()||pe.get(\"icon-optional\")),$e&&(Ie||!z.hasTextData()||pe.get(\"text-optional\")),!0);!z.collisionArrays&&O&&(z.hasIconCollisionBoxData()||z.hasTextCollisionBoxData())&&z.deserializeCollisionBoxes(O);for(var Pt=function(pr,kr,Ar){for(var gr=0;gr<kr/4;gr++)pr.opacityVertexArray.emplaceBack(Ar)},Wt=function(pr){var kr=z.symbolInstances.get(pr),Ar=kr.numHorizontalGlyphVertices,gr=kr.numVerticalGlyphVertices,Cr=kr.crossTileID,cr=K[Cr],Gr=$.opacities[Cr];cr?Gr=de:Gr||(Gr=vt,$.opacities[Cr]=Gr),K[Cr]=!0;var ei=Ar>0||gr>0,yi=kr.numIconVertices>0,tn=$.placedOrientations[kr.crossTileID],Ri=tn===i.WritingMode.vertical,ln=tn===i.WritingMode.horizontal||tn===i.WritingMode.horizontalOnly;if(ei){var Qn=Ec(Gr.text),qn=Ri?Zn:Qn;Pt(z.text,Ar,qn);var rn=ln?Zn:Qn;Pt(z.text,gr,rn);var bn=Gr.text.isHidden();[kr.rightJustifiedTextSymbolIndex,kr.centerJustifiedTextSymbolIndex,kr.leftJustifiedTextSymbolIndex].forEach(function(Ev){Ev>=0&&(z.text.placedSymbolArray.get(Ev).hidden=bn||Ri?1:0)}),kr.verticalPlacedTextSymbolIndex>=0&&(z.text.placedSymbolArray.get(kr.verticalPlacedTextSymbolIndex).hidden=bn||ln?1:0);var mn=$.variableOffsets[kr.crossTileID];mn&&$.markUsedJustification(z,mn.anchor,kr,tn);var Gn=$.placedOrientations[kr.crossTileID];Gn&&($.markUsedJustification(z,\"left\",kr,Gn),$.markUsedOrientation(z,Gn,kr))}if(yi){var da=Ec(Gr.icon),No=!(Jt&&kr.verticalPlacedIconSymbolIndex&&Ri);if(kr.placedIconSymbolIndex>=0){var Do=No?da:Zn;Pt(z.icon,kr.numIconVertices,Do),z.icon.placedSymbolArray.get(kr.placedIconSymbolIndex).hidden=Gr.icon.isHidden()}if(kr.verticalPlacedIconSymbolIndex>=0){var ps=No?Zn:da;Pt(z.icon,kr.numVerticalIconVertices,ps),z.icon.placedSymbolArray.get(kr.verticalPlacedIconSymbolIndex).hidden=Gr.icon.isHidden()}}if(z.hasIconCollisionBoxData()||z.hasTextCollisionBoxData()){var fo=z.collisionArrays[pr];if(fo){var as=new i.Point(0,0);if(fo.textBox||fo.verticalTextBox){var tl=!0;if(pt){var zu=$.variableOffsets[Cr];zu?(as=Hu(zu.anchor,zu.width,zu.height,zu.textOffset,zu.textBoxScale),Kt&&as._rotate(ir?$.transform.angle:-$.transform.angle)):tl=!1}fo.textBox&&on(z.textCollisionBox.collisionVertexArray,Gr.text.placed,!tl||Ri,as.x,as.y),fo.verticalTextBox&&on(z.textCollisionBox.collisionVertexArray,Gr.text.placed,!tl||ln,as.x,as.y)}var Mv=!!(!ln&&fo.verticalIconBox);fo.iconBox&&on(z.iconCollisionBox.collisionVertexArray,Gr.icon.placed,Mv,Jt?as.x:0,Jt?as.y:0),fo.verticalIconBox&&on(z.iconCollisionBox.collisionVertexArray,Gr.icon.placed,!Mv,Jt?as.x:0,Jt?as.y:0)}}},rr=0;rr<z.symbolInstances.length;rr++)Wt(rr);if(z.sortFeatures(this.transform.angle),this.retainedQueryData[z.bucketInstanceId]&&(this.retainedQueryData[z.bucketInstanceId].featureSortOrder=z.featureSortOrder),z.hasTextData()&&z.text.opacityVertexBuffer&&z.text.opacityVertexBuffer.updateData(z.text.opacityVertexArray),z.hasIconData()&&z.icon.opacityVertexBuffer&&z.icon.opacityVertexBuffer.updateData(z.icon.opacityVertexArray),z.hasIconCollisionBoxData()&&z.iconCollisionBox.collisionVertexBuffer&&z.iconCollisionBox.collisionVertexBuffer.updateData(z.iconCollisionBox.collisionVertexArray),z.hasTextCollisionBoxData()&&z.textCollisionBox.collisionVertexBuffer&&z.textCollisionBox.collisionVertexBuffer.updateData(z.textCollisionBox.collisionVertexArray),z.bucketInstanceId in this.collisionCircleArrays){var dr=this.collisionCircleArrays[z.bucketInstanceId];z.placementInvProjMatrix=dr.invProjMatrix,z.placementViewportMatrix=dr.viewportMatrix,z.collisionCircleArray=dr.circles,delete this.collisionCircleArrays[z.bucketInstanceId]}},ms.prototype.symbolFadeChange=function(z){return this.fadeDuration===0?1:(z-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment},ms.prototype.zoomAdjustment=function(z){return Math.max(0,(this.transform.zoom-z)/1.5)},ms.prototype.hasTransitions=function(z){return this.stale||z-this.lastPlacementChangeTime<this.fadeDuration},ms.prototype.stillRecent=function(z,K){var O=this.zoomAtLastRecencyCheck===K?1-this.zoomAdjustment(K):1;return this.zoomAtLastRecencyCheck=K,this.commitTime+this.fadeDuration*O>z},ms.prototype.setStale=function(){this.stale=!0};function on(Y,z,K,O,$){Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0)}var fa=Math.pow(2,25),Qu=Math.pow(2,24),Rl=Math.pow(2,17),vo=Math.pow(2,16),Zl=Math.pow(2,9),Ks=Math.pow(2,8),Xl=Math.pow(2,1);function Ec(Y){if(Y.opacity===0&&!Y.placed)return 0;if(Y.opacity===1&&Y.placed)return 4294967295;var z=Y.placed?1:0,K=Math.floor(Y.opacity*127);return K*fa+z*Qu+K*Rl+z*vo+K*Zl+z*Ks+K*Xl+z}var Zn=0,ko=function(z){this._sortAcrossTiles=z.layout.get(\"symbol-z-order\")!==\"viewport-y\"&&z.layout.get(\"symbol-sort-key\").constantOr(1)!==void 0,this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};ko.prototype.continuePlacement=function(z,K,O,$,pe){for(var de=this._bucketParts;this._currentTileIndex<z.length;){var Ie=z[this._currentTileIndex];if(K.getBucketParts(de,$,Ie,this._sortAcrossTiles),this._currentTileIndex++,pe())return!0}for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,de.sort(function(pt,Kt){return pt.sortKey-Kt.sortKey}));this._currentPartIndex<de.length;){var $e=de[this._currentPartIndex];if(K.placeLayerBucketPart($e,this._seenCrossTileIDs,O),this._currentPartIndex++,pe())return!0}return!1};var Co=function(z,K,O,$,pe,de,Ie){this.placement=new ms(z,pe,de,Ie),this._currentPlacementIndex=K.length-1,this._forceFullPlacement=O,this._showCollisionBoxes=$,this._done=!1};Co.prototype.isDone=function(){return this._done},Co.prototype.continuePlacement=function(z,K,O){for(var $=this,pe=i.browser.now(),de=function(){var ir=i.browser.now()-pe;return $._forceFullPlacement?!1:ir>2};this._currentPlacementIndex>=0;){var Ie=z[this._currentPlacementIndex],$e=K[Ie],pt=this.placement.collisionIndex.transform.zoom;if($e.type===\"symbol\"&&(!$e.minzoom||$e.minzoom<=pt)&&(!$e.maxzoom||$e.maxzoom>pt)){this._inProgressLayer||(this._inProgressLayer=new ko($e));var Kt=this._inProgressLayer.continuePlacement(O[$e.source],this.placement,this._showCollisionBoxes,$e,de);if(Kt)return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Co.prototype.commit=function(z){return this.placement.commit(z),this.placement};var Tl=512/i.EXTENT/2,uf=function(z,K,O){this.tileID=z,this.indexedSymbolInstances={},this.bucketInstanceId=O;for(var $=0;$<K.length;$++){var pe=K.get($),de=pe.key;this.indexedSymbolInstances[de]||(this.indexedSymbolInstances[de]=[]),this.indexedSymbolInstances[de].push({crossTileID:pe.crossTileID,coord:this.getScaledCoordinates(pe,z)})}};uf.prototype.getScaledCoordinates=function(z,K){var O=K.canonical.z-this.tileID.canonical.z,$=Tl/Math.pow(2,O);return{x:Math.floor((K.canonical.x*i.EXTENT+z.anchorX)*$),y:Math.floor((K.canonical.y*i.EXTENT+z.anchorY)*$)}},uf.prototype.findMatches=function(z,K,O){for(var $=this.tileID.canonical.z<K.canonical.z?1:Math.pow(2,this.tileID.canonical.z-K.canonical.z),pe=0;pe<z.length;pe++){var de=z.get(pe);if(!de.crossTileID){var Ie=this.indexedSymbolInstances[de.key];if(Ie)for(var $e=this.getScaledCoordinates(de,K),pt=0,Kt=Ie;pt<Kt.length;pt+=1){var ir=Kt[pt];if(Math.abs(ir.coord.x-$e.x)<=$&&Math.abs(ir.coord.y-$e.y)<=$&&!O[ir.crossTileID]){O[ir.crossTileID]=!0,de.crossTileID=ir.crossTileID;break}}}}};var So=function(){this.maxCrossTileID=0};So.prototype.generate=function(){return++this.maxCrossTileID};var cf=function(){this.indexes={},this.usedCrossTileIDs={},this.lng=0};cf.prototype.handleWrapJump=function(z){var K=Math.round((z-this.lng)/360);if(K!==0)for(var O in this.indexes){var $=this.indexes[O],pe={};for(var de in $){var Ie=$[de];Ie.tileID=Ie.tileID.unwrapTo(Ie.tileID.wrap+K),pe[Ie.tileID.key]=Ie}this.indexes[O]=pe}this.lng=z},cf.prototype.addBucket=function(z,K,O){if(this.indexes[z.overscaledZ]&&this.indexes[z.overscaledZ][z.key]){if(this.indexes[z.overscaledZ][z.key].bucketInstanceId===K.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(z.overscaledZ,this.indexes[z.overscaledZ][z.key])}for(var $=0;$<K.symbolInstances.length;$++){var pe=K.symbolInstances.get($);pe.crossTileID=0}this.usedCrossTileIDs[z.overscaledZ]||(this.usedCrossTileIDs[z.overscaledZ]={});var de=this.usedCrossTileIDs[z.overscaledZ];for(var Ie in this.indexes){var $e=this.indexes[Ie];if(Number(Ie)>z.overscaledZ)for(var pt in $e){var Kt=$e[pt];Kt.tileID.isChildOf(z)&&Kt.findMatches(K.symbolInstances,z,de)}else{var ir=z.scaledTo(Number(Ie)),Jt=$e[ir.key];Jt&&Jt.findMatches(K.symbolInstances,z,de)}}for(var vt=0;vt<K.symbolInstances.length;vt++){var Pt=K.symbolInstances.get(vt);Pt.crossTileID||(Pt.crossTileID=O.generate(),de[Pt.crossTileID]=!0)}return this.indexes[z.overscaledZ]===void 0&&(this.indexes[z.overscaledZ]={}),this.indexes[z.overscaledZ][z.key]=new uf(z,K.symbolInstances,K.bucketInstanceId),!0},cf.prototype.removeBucketCrossTileIDs=function(z,K){for(var O in K.indexedSymbolInstances)for(var $=0,pe=K.indexedSymbolInstances[O];$<pe.length;$+=1){var de=pe[$];delete this.usedCrossTileIDs[z][de.crossTileID]}},cf.prototype.removeStaleBuckets=function(z){var K=!1;for(var O in this.indexes){var $=this.indexes[O];for(var pe in $)z[$[pe].bucketInstanceId]||(this.removeBucketCrossTileIDs(O,$[pe]),delete $[pe],K=!0)}return K};var rh=function(){this.layerIndexes={},this.crossTileIDs=new So,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}};rh.prototype.addLayer=function(z,K,O){var $=this.layerIndexes[z.id];$===void 0&&($=this.layerIndexes[z.id]=new cf);var pe=!1,de={};$.handleWrapJump(O);for(var Ie=0,$e=K;Ie<$e.length;Ie+=1){var pt=$e[Ie],Kt=pt.getBucket(z);!Kt||z.id!==Kt.layerIds[0]||(Kt.bucketInstanceId||(Kt.bucketInstanceId=++this.maxBucketInstanceId),$.addBucket(pt.tileID,Kt,this.crossTileIDs)&&(pe=!0),de[Kt.bucketInstanceId]=!0)}return $.removeStaleBuckets(de)&&(pe=!0),pe},rh.prototype.pruneUnusedLayers=function(z){var K={};z.forEach(function($){K[$]=!0});for(var O in this.layerIndexes)K[O]||delete this.layerIndexes[O]};var Al=function(Y,z){return i.emitValidationErrors(Y,z&&z.filter(function(K){return K.identifier!==\"source.canvas\"}))},Hc=i.pick(oa,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\"]),eu=i.pick(oa,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),Ls=jo(),mu=function(Y){function z(K,O){var $=this;O===void 0&&(O={}),Y.call(this),this.map=K,this.dispatcher=new X(ka(),this),this.imageManager=new E,this.imageManager.setEventedParent(this),this.glyphManager=new P(K._requestManager,O.localIdeographFontFamily),this.lineAtlas=new H(256,512),this.crossTileSymbolIndex=new rh,this._layers={},this._serializedLayers={},this._order=[],this.sourceCaches={},this.zoomHistory=new i.ZoomHistory,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"setReferrer\",i.getReferrer());var pe=this;this._rtlTextPluginCallback=z.registerForPluginStateChange(function(de){var Ie={pluginStatus:de.pluginStatus,pluginURL:de.pluginURL};pe.dispatcher.broadcast(\"syncRTLPluginState\",Ie,function($e,pt){if(i.triggerPluginCompletionEvent($e),pt){var Kt=pt.every(function(Jt){return Jt});if(Kt)for(var ir in pe.sourceCaches)pe.sourceCaches[ir].reload()}})}),this.on(\"data\",function(de){if(!(de.dataType!==\"source\"||de.sourceDataType!==\"metadata\")){var Ie=$.sourceCaches[de.sourceId];if(Ie){var $e=Ie.getSource();if(!(!$e||!$e.vectorLayerIds))for(var pt in $._layers){var Kt=$._layers[pt];Kt.source===$e.id&&$._validateLayer(Kt)}}}})}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.loadURL=function(O,$){var pe=this;$===void 0&&($={}),this.fire(new i.Event(\"dataloading\",{dataType:\"style\"}));var de=typeof $.validate==\"boolean\"?$.validate:!i.isMapboxURL(O);O=this.map._requestManager.normalizeStyleURL(O,$.accessToken);var Ie=this.map._requestManager.transformRequest(O,i.ResourceType.Style);this._request=i.getJSON(Ie,function($e,pt){pe._request=null,$e?pe.fire(new i.ErrorEvent($e)):pt&&pe._load(pt,de)})},z.prototype.loadJSON=function(O,$){var pe=this;$===void 0&&($={}),this.fire(new i.Event(\"dataloading\",{dataType:\"style\"})),this._request=i.browser.frame(function(){pe._request=null,pe._load(O,$.validate!==!1)})},z.prototype.loadEmpty=function(){this.fire(new i.Event(\"dataloading\",{dataType:\"style\"})),this._load(Ls,!1)},z.prototype._load=function(O,$){if(!($&&Al(this,i.validateStyle(O)))){this._loaded=!0,this.stylesheet=O;for(var pe in O.sources)this.addSource(pe,O.sources[pe],{validate:!1});O.sprite?this._loadSprite(O.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(O.glyphs);var de=Ra(this.stylesheet.layers);this._order=de.map(function(Kt){return Kt.id}),this._layers={},this._serializedLayers={};for(var Ie=0,$e=de;Ie<$e.length;Ie+=1){var pt=$e[Ie];pt=i.createStyleLayer(pt),pt.setEventedParent(this,{layer:{id:pt.id}}),this._layers[pt.id]=pt,this._serializedLayers[pt.id]=pt.serialize()}this.dispatcher.broadcast(\"setLayers\",this._serializeLayers(this._order)),this.light=new V(this.stylesheet.light),this.fire(new i.Event(\"data\",{dataType:\"style\"})),this.fire(new i.Event(\"style.load\"))}},z.prototype._loadSprite=function(O){var $=this;this._spriteRequest=x(O,this.map._requestManager,function(pe,de){if($._spriteRequest=null,pe)$.fire(new i.ErrorEvent(pe));else if(de)for(var Ie in de)$.imageManager.addImage(Ie,de[Ie]);$.imageManager.setLoaded(!0),$._availableImages=$.imageManager.listImages(),$.dispatcher.broadcast(\"setImages\",$._availableImages),$.fire(new i.Event(\"data\",{dataType:\"style\"}))})},z.prototype._validateLayer=function(O){var $=this.sourceCaches[O.source];if($){var pe=O.sourceLayer;if(pe){var de=$.getSource();(de.type===\"geojson\"||de.vectorLayerIds&&de.vectorLayerIds.indexOf(pe)===-1)&&this.fire(new i.ErrorEvent(new Error('Source layer \"'+pe+'\" does not exist on source \"'+de.id+'\" as specified by style layer \"'+O.id+'\"')))}}},z.prototype.loaded=function(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(var O in this.sourceCaches)if(!this.sourceCaches[O].loaded())return!1;return!!this.imageManager.isLoaded()},z.prototype._serializeLayers=function(O){for(var $=[],pe=0,de=O;pe<de.length;pe+=1){var Ie=de[pe],$e=this._layers[Ie];$e.type!==\"custom\"&&$.push($e.serialize())}return $},z.prototype.hasTransitions=function(){if(this.light&&this.light.hasTransition())return!0;for(var O in this.sourceCaches)if(this.sourceCaches[O].hasTransition())return!0;for(var $ in this._layers)if(this._layers[$].hasTransition())return!0;return!1},z.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\"Style is not done loading\")},z.prototype.update=function(O){if(this._loaded){var $=this._changed;if(this._changed){var pe=Object.keys(this._updatedLayers),de=Object.keys(this._removedLayers);(pe.length||de.length)&&this._updateWorkerLayers(pe,de);for(var Ie in this._updatedSources){var $e=this._updatedSources[Ie];$e===\"reload\"?this._reloadSource(Ie):$e===\"clear\"&&this._clearSource(Ie)}this._updateTilesForChangedImages();for(var pt in this._updatedPaintProps)this._layers[pt].updateTransitions(O);this.light.updateTransitions(O),this._resetUpdates()}var Kt={};for(var ir in this.sourceCaches){var Jt=this.sourceCaches[ir];Kt[ir]=Jt.used,Jt.used=!1}for(var vt=0,Pt=this._order;vt<Pt.length;vt+=1){var Wt=Pt[vt],rr=this._layers[Wt];rr.recalculate(O,this._availableImages),!rr.isHidden(O.zoom)&&rr.source&&(this.sourceCaches[rr.source].used=!0)}for(var dr in Kt){var pr=this.sourceCaches[dr];Kt[dr]!==pr.used&&pr.fire(new i.Event(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:dr}))}this.light.recalculate(O),this.z=O.zoom,$&&this.fire(new i.Event(\"data\",{dataType:\"style\"}))}},z.prototype._updateTilesForChangedImages=function(){var O=Object.keys(this._changedImages);if(O.length){for(var $ in this.sourceCaches)this.sourceCaches[$].reloadTilesForDependencies([\"icons\",\"patterns\"],O);this._changedImages={}}},z.prototype._updateWorkerLayers=function(O,$){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(O),removedIds:$})},z.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={}},z.prototype.setState=function(O){var $=this;if(this._checkLoaded(),Al(this,i.validateStyle(O)))return!1;O=i.clone$1(O),O.layers=Ra(O.layers);var pe=Yi(this.serialize(),O).filter(function(Ie){return!(Ie.command in eu)});if(pe.length===0)return!1;var de=pe.filter(function(Ie){return!(Ie.command in Hc)});if(de.length>0)throw new Error(\"Unimplemented: \"+de.map(function(Ie){return Ie.command}).join(\", \")+\".\");return pe.forEach(function(Ie){Ie.command!==\"setTransition\"&&$[Ie.command].apply($,Ie.args)}),this.stylesheet=O,!0},z.prototype.addImage=function(O,$){if(this.getImage(O))return this.fire(new i.ErrorEvent(new Error(\"An image with this name already exists.\")));this.imageManager.addImage(O,$),this._afterImageUpdated(O)},z.prototype.updateImage=function(O,$){this.imageManager.updateImage(O,$)},z.prototype.getImage=function(O){return this.imageManager.getImage(O)},z.prototype.removeImage=function(O){if(!this.getImage(O))return this.fire(new i.ErrorEvent(new Error(\"No image with this name exists.\")));this.imageManager.removeImage(O),this._afterImageUpdated(O)},z.prototype._afterImageUpdated=function(O){this._availableImages=this.imageManager.listImages(),this._changedImages[O]=!0,this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new i.Event(\"data\",{dataType:\"style\"}))},z.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},z.prototype.addSource=function(O,$,pe){var de=this;if(pe===void 0&&(pe={}),this._checkLoaded(),this.sourceCaches[O]!==void 0)throw new Error(\"There is already a source with this ID\");if(!$.type)throw new Error(\"The type property must be defined, but only the following properties were given: \"+Object.keys($).join(\", \")+\".\");var Ie=[\"vector\",\"raster\",\"geojson\",\"video\",\"image\"],$e=Ie.indexOf($.type)>=0;if(!($e&&this._validate(i.validateStyle.source,\"sources.\"+O,$,null,pe))){this.map&&this.map._collectResourceTiming&&($.collectResourceTiming=!0);var pt=this.sourceCaches[O]=new Zr(O,$,this.dispatcher);pt.style=this,pt.setEventedParent(this,function(){return{isSourceLoaded:de.loaded(),source:pt.serialize(),sourceId:O}}),pt.onAdd(this.map),this._changed=!0}},z.prototype.removeSource=function(O){if(this._checkLoaded(),this.sourceCaches[O]===void 0)throw new Error(\"There is no source with this ID\");for(var $ in this._layers)if(this._layers[$].source===O)return this.fire(new i.ErrorEvent(new Error('Source \"'+O+'\" cannot be removed while layer \"'+$+'\" is using it.')));var pe=this.sourceCaches[O];delete this.sourceCaches[O],delete this._updatedSources[O],pe.fire(new i.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:O})),pe.setEventedParent(null),pe.clearTiles(),pe.onRemove&&pe.onRemove(this.map),this._changed=!0},z.prototype.setGeoJSONSourceData=function(O,$){this._checkLoaded();var pe=this.sourceCaches[O].getSource();pe.setData($),this._changed=!0},z.prototype.getSource=function(O){return this.sourceCaches[O]&&this.sourceCaches[O].getSource()},z.prototype.addLayer=function(O,$,pe){pe===void 0&&(pe={}),this._checkLoaded();var de=O.id;if(this.getLayer(de)){this.fire(new i.ErrorEvent(new Error('Layer with id \"'+de+'\" already exists on this map')));return}var Ie;if(O.type===\"custom\"){if(Al(this,i.validateCustomStyleLayer(O)))return;Ie=i.createStyleLayer(O)}else{if(typeof O.source==\"object\"&&(this.addSource(de,O.source),O=i.clone$1(O),O=i.extend(O,{source:de})),this._validate(i.validateStyle.layer,\"layers.\"+de,O,{arrayIndex:-1},pe))return;Ie=i.createStyleLayer(O),this._validateLayer(Ie),Ie.setEventedParent(this,{layer:{id:de}}),this._serializedLayers[Ie.id]=Ie.serialize()}var $e=$?this._order.indexOf($):this._order.length;if($&&$e===-1){this.fire(new i.ErrorEvent(new Error('Layer with id \"'+$+'\" does not exist on this map.')));return}if(this._order.splice($e,0,de),this._layerOrderChanged=!0,this._layers[de]=Ie,this._removedLayers[de]&&Ie.source&&Ie.type!==\"custom\"){var pt=this._removedLayers[de];delete this._removedLayers[de],pt.type!==Ie.type?this._updatedSources[Ie.source]=\"clear\":(this._updatedSources[Ie.source]=\"reload\",this.sourceCaches[Ie.source].pause())}this._updateLayer(Ie),Ie.onAdd&&Ie.onAdd(this.map)},z.prototype.moveLayer=function(O,$){this._checkLoaded(),this._changed=!0;var pe=this._layers[O];if(!pe){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be moved.\")));return}if(O!==$){var de=this._order.indexOf(O);this._order.splice(de,1);var Ie=$?this._order.indexOf($):this._order.length;if($&&Ie===-1){this.fire(new i.ErrorEvent(new Error('Layer with id \"'+$+'\" does not exist on this map.')));return}this._order.splice(Ie,0,O),this._layerOrderChanged=!0}},z.prototype.removeLayer=function(O){this._checkLoaded();var $=this._layers[O];if(!$){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be removed.\")));return}$.setEventedParent(null);var pe=this._order.indexOf(O);this._order.splice(pe,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[O]=$,delete this._layers[O],delete this._serializedLayers[O],delete this._updatedLayers[O],delete this._updatedPaintProps[O],$.onRemove&&$.onRemove(this.map)},z.prototype.getLayer=function(O){return this._layers[O]},z.prototype.hasLayer=function(O){return O in this._layers},z.prototype.setLayerZoomRange=function(O,$,pe){this._checkLoaded();var de=this.getLayer(O);if(!de){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot have zoom extent.\")));return}de.minzoom===$&&de.maxzoom===pe||($!=null&&(de.minzoom=$),pe!=null&&(de.maxzoom=pe),this._updateLayer(de))},z.prototype.setFilter=function(O,$,pe){pe===void 0&&(pe={}),this._checkLoaded();var de=this.getLayer(O);if(!de){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be filtered.\")));return}if(!i.deepEqual(de.filter,$)){if($==null){de.filter=void 0,this._updateLayer(de);return}this._validate(i.validateStyle.filter,\"layers.\"+de.id+\".filter\",$,null,pe)||(de.filter=i.clone$1($),this._updateLayer(de))}},z.prototype.getFilter=function(O){return i.clone$1(this.getLayer(O).filter)},z.prototype.setLayoutProperty=function(O,$,pe,de){de===void 0&&(de={}),this._checkLoaded();var Ie=this.getLayer(O);if(!Ie){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be styled.\")));return}i.deepEqual(Ie.getLayoutProperty($),pe)||(Ie.setLayoutProperty($,pe,de),this._updateLayer(Ie))},z.prototype.getLayoutProperty=function(O,$){var pe=this.getLayer(O);if(!pe){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style.\")));return}return pe.getLayoutProperty($)},z.prototype.setPaintProperty=function(O,$,pe,de){de===void 0&&(de={}),this._checkLoaded();var Ie=this.getLayer(O);if(!Ie){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be styled.\")));return}if(!i.deepEqual(Ie.getPaintProperty($),pe)){var $e=Ie.setPaintProperty($,pe,de);$e&&this._updateLayer(Ie),this._changed=!0,this._updatedPaintProps[O]=!0}},z.prototype.getPaintProperty=function(O,$){return this.getLayer(O).getPaintProperty($)},z.prototype.setFeatureState=function(O,$){this._checkLoaded();var pe=O.source,de=O.sourceLayer,Ie=this.sourceCaches[pe];if(Ie===void 0){this.fire(new i.ErrorEvent(new Error(\"The source '\"+pe+\"' does not exist in the map's style.\")));return}var $e=Ie.getSource().type;if($e===\"geojson\"&&de){this.fire(new i.ErrorEvent(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\")));return}if($e===\"vector\"&&!de){this.fire(new i.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}O.id===void 0&&this.fire(new i.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),Ie.setFeatureState(de,O.id,$)},z.prototype.removeFeatureState=function(O,$){this._checkLoaded();var pe=O.source,de=this.sourceCaches[pe];if(de===void 0){this.fire(new i.ErrorEvent(new Error(\"The source '\"+pe+\"' does not exist in the map's style.\")));return}var Ie=de.getSource().type,$e=Ie===\"vector\"?O.sourceLayer:void 0;if(Ie===\"vector\"&&!$e){this.fire(new i.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}if($&&typeof O.id!=\"string\"&&typeof O.id!=\"number\"){this.fire(new i.ErrorEvent(new Error(\"A feature id is required to remove its specific state property.\")));return}de.removeFeatureState($e,O.id,$)},z.prototype.getFeatureState=function(O){this._checkLoaded();var $=O.source,pe=O.sourceLayer,de=this.sourceCaches[$];if(de===void 0){this.fire(new i.ErrorEvent(new Error(\"The source '\"+$+\"' does not exist in the map's style.\")));return}var Ie=de.getSource().type;if(Ie===\"vector\"&&!pe){this.fire(new i.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}return O.id===void 0&&this.fire(new i.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),de.getFeatureState(pe,O.id)},z.prototype.getTransition=function(){return i.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},z.prototype.serialize=function(){return i.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:i.mapObject(this.sourceCaches,function(O){return O.serialize()}),layers:this._serializeLayers(this._order)},function(O){return O!==void 0})},z.prototype._updateLayer=function(O){this._updatedLayers[O.id]=!0,O.source&&!this._updatedSources[O.source]&&this.sourceCaches[O.source].getSource().type!==\"raster\"&&(this._updatedSources[O.source]=\"reload\",this.sourceCaches[O.source].pause()),this._changed=!0},z.prototype._flattenAndSortRenderedFeatures=function(O){for(var $=this,pe=function(ln){return $._layers[ln].type===\"fill-extrusion\"},de={},Ie=[],$e=this._order.length-1;$e>=0;$e--){var pt=this._order[$e];if(pe(pt)){de[pt]=$e;for(var Kt=0,ir=O;Kt<ir.length;Kt+=1){var Jt=ir[Kt],vt=Jt[pt];if(vt)for(var Pt=0,Wt=vt;Pt<Wt.length;Pt+=1){var rr=Wt[Pt];Ie.push(rr)}}}}Ie.sort(function(ln,Qn){return Qn.intersectionZ-ln.intersectionZ});for(var dr=[],pr=this._order.length-1;pr>=0;pr--){var kr=this._order[pr];if(pe(kr))for(var Ar=Ie.length-1;Ar>=0;Ar--){var gr=Ie[Ar].feature;if(de[gr.layer.id]<pr)break;dr.push(gr),Ie.pop()}else for(var Cr=0,cr=O;Cr<cr.length;Cr+=1){var Gr=cr[Cr],ei=Gr[kr];if(ei)for(var yi=0,tn=ei;yi<tn.length;yi+=1){var Ri=tn[yi];dr.push(Ri.feature)}}}return dr},z.prototype.queryRenderedFeatures=function(O,$,pe){$&&$.filter&&this._validate(i.validateStyle.filter,\"queryRenderedFeatures.filter\",$.filter,null,$);var de={};if($&&$.layers){if(!Array.isArray($.layers))return this.fire(new i.ErrorEvent(new Error(\"parameters.layers must be an Array.\"))),[];for(var Ie=0,$e=$.layers;Ie<$e.length;Ie+=1){var pt=$e[Ie],Kt=this._layers[pt];if(!Kt)return this.fire(new i.ErrorEvent(new Error(\"The layer '\"+pt+\"' does not exist in the map's style and cannot be queried for features.\"))),[];de[Kt.source]=!0}}var ir=[];$.availableImages=this._availableImages;for(var Jt in this.sourceCaches)$.layers&&!de[Jt]||ir.push(ce(this.sourceCaches[Jt],this._layers,this._serializedLayers,O,$,pe));return this.placement&&ir.push(Ge(this._layers,this._serializedLayers,this.sourceCaches,O,$,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(ir)},z.prototype.querySourceFeatures=function(O,$){$&&$.filter&&this._validate(i.validateStyle.filter,\"querySourceFeatures.filter\",$.filter,null,$);var pe=this.sourceCaches[O];return pe?nt(pe,$):[]},z.prototype.addSourceType=function(O,$,pe){if(z.getSourceType(O))return pe(new Error('A source type called \"'+O+'\" already exists.'));if(z.setSourceType(O,$),!$.workerSourceURL)return pe(null,null);this.dispatcher.broadcast(\"loadWorkerSource\",{name:O,url:$.workerSourceURL},pe)},z.prototype.getLight=function(){return this.light.getLight()},z.prototype.setLight=function(O,$){$===void 0&&($={}),this._checkLoaded();var pe=this.light.getLight(),de=!1;for(var Ie in O)if(!i.deepEqual(O[Ie],pe[Ie])){de=!0;break}if(de){var $e={now:i.browser.now(),transition:i.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(O,$),this.light.updateTransitions($e)}},z.prototype._validate=function(O,$,pe,de,Ie){return Ie===void 0&&(Ie={}),Ie&&Ie.validate===!1?!1:Al(this,O.call(i.validateStyle,i.extend({key:$,style:this.serialize(),value:pe,styleSpec:i.styleSpec},de)))},z.prototype._remove=function(){this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),i.evented.off(\"pluginStateChange\",this._rtlTextPluginCallback);for(var O in this._layers){var $=this._layers[O];$.setEventedParent(null)}for(var pe in this.sourceCaches)this.sourceCaches[pe].clearTiles(),this.sourceCaches[pe].setEventedParent(null);this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove()},z.prototype._clearSource=function(O){this.sourceCaches[O].clearTiles()},z.prototype._reloadSource=function(O){this.sourceCaches[O].resume(),this.sourceCaches[O].reload()},z.prototype._updateSources=function(O){for(var $ in this.sourceCaches)this.sourceCaches[$].update(O)},z.prototype._generateCollisionBoxes=function(){for(var O in this.sourceCaches)this._reloadSource(O)},z.prototype._updatePlacement=function(O,$,pe,de,Ie){Ie===void 0&&(Ie=!1);for(var $e=!1,pt=!1,Kt={},ir=0,Jt=this._order;ir<Jt.length;ir+=1){var vt=Jt[ir],Pt=this._layers[vt];if(Pt.type===\"symbol\"){if(!Kt[Pt.source]){var Wt=this.sourceCaches[Pt.source];Kt[Pt.source]=Wt.getRenderableIds(!0).map(function(Cr){return Wt.getTileByID(Cr)}).sort(function(Cr,cr){return cr.tileID.overscaledZ-Cr.tileID.overscaledZ||(Cr.tileID.isLessThan(cr.tileID)?-1:1)})}var rr=this.crossTileSymbolIndex.addLayer(Pt,Kt[Pt.source],O.center.lng);$e=$e||rr}}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),Ie=Ie||this._layerOrderChanged||pe===0,(Ie||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(i.browser.now(),O.zoom))&&(this.pauseablePlacement=new Co(O,this._order,Ie,$,pe,de,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,Kt),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(i.browser.now()),pt=!0),$e&&this.pauseablePlacement.placement.setStale()),pt||$e)for(var dr=0,pr=this._order;dr<pr.length;dr+=1){var kr=pr[dr],Ar=this._layers[kr];Ar.type===\"symbol\"&&this.placement.updateLayerOpacities(Ar,Kt[Ar.source])}var gr=!this.pauseablePlacement.isDone()||this.placement.hasTransitions(i.browser.now());return gr},z.prototype._releaseSymbolFadeTiles=function(){for(var O in this.sourceCaches)this.sourceCaches[O].releaseSymbolFadeTiles()},z.prototype.getImages=function(O,$,pe){this.imageManager.getImages($.icons,pe),this._updateTilesForChangedImages();var de=this.sourceCaches[$.source];de&&de.setDependencies($.tileID.key,$.type,$.icons)},z.prototype.getGlyphs=function(O,$,pe){this.glyphManager.getGlyphs($.stacks,pe)},z.prototype.getResource=function(O,$,pe){return i.makeRequest($,pe)},z}(i.Evented);mu.getSourceType=ze,mu.setSourceType=Ce,mu.registerForPluginStateChange=i.registerForPluginStateChange;var kc=i.createLayout([{name:\"a_pos\",type:\"Int16\",components:2}]),Of=`#ifdef GL_ES\n", - "precision 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`,Gc=`#ifdef GL_ES\n", - "precision 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\n", - "vec2 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;}`,vd=`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Bf=\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\",ss=`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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,ff=\"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);}\",ih=`varying vec3 v_data;\n", - "#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define mediump float radius\n", - "#pragma mapbox: define lowp float blur\n", - "#pragma mapbox: define lowp float opacity\n", - "#pragma mapbox: define highp vec4 stroke_color\n", - "#pragma mapbox: define mediump float stroke_width\n", - "#pragma mapbox: define lowp float stroke_opacity\n", - "void 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\n", - "vec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Vl=`uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;\n", - "#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define mediump float radius\n", - "#pragma mapbox: define lowp float blur\n", - "#pragma mapbox: define lowp float opacity\n", - "#pragma mapbox: define highp vec4 stroke_color\n", - "#pragma mapbox: define mediump float stroke_width\n", - "#pragma mapbox: define lowp float stroke_opacity\n", - "void 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\n", - "vec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`,Js=\"void main() {gl_FragColor=vec4(1.0);}\",hc=\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\",Cc=`uniform highp float u_intensity;varying vec2 v_extrude;\n", - "#pragma mapbox: define highp float weight\n", - "#define GAUSS_COEF 0.3989422804014327\n", - "void main() {\n", - "#pragma mapbox: initialize highp float weight\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,ws=`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\n", - "const highp float ZERO=1.0/255.0/16.0;\n", - "#define GAUSS_COEF 0.3989422804014327\n", - "void main(void) {\n", - "#pragma mapbox: initialize highp float weight\n", - "#pragma mapbox: initialize mediump float radius\n", - "vec2 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;}`,$s=`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\n", - "gl_FragColor=vec4(0.0);\n", - "#endif\n", - "}`,hs=\"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;}\",Ms=\"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;}}\",dc=\"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;}\",Sl=\"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;}\",ec=\"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);}\",Ps=\"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);}\",ov=\"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);}\",wo=`#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_FragColor=color*opacity;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Od=`attribute vec2 a_pos;uniform mat4 u_matrix;\n", - "#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_Position=u_matrix*vec4(a_pos,0,1);}`,$o=`varying vec2 v_pos;\n", - "#pragma mapbox: define highp vec4 outline_color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 outline_color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Ja=`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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 outline_color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`,Ef=`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\n", - "void 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", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,tc=`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\n", - "void 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\n", - "vec2 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;}`,uu=`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\n", - "void 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", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Mh=`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\n", - "void 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\n", - "vec2 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);}`,jc=`varying vec4 v_color;void main() {gl_FragColor=v_color;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,kf=`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\n", - "void main() {\n", - "#pragma mapbox: initialize highp float base\n", - "#pragma mapbox: initialize highp float height\n", - "#pragma mapbox: initialize highp vec4 color\n", - "vec3 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;}`,Ml=`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\n", - "void 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\n", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Yh=`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\n", - "void 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\n", - "vec2 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;}`,Eh=`#ifdef GL_ES\n", - "precision highp float;\n", - "#endif\n", - "uniform 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,nh=\"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;}\",hf=`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\n", - "void 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,kh=\"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;}\",Kh=`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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float blur\n", - "#pragma mapbox: initialize lowp float opacity\n", - "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);gl_FragColor=color*(alpha*opacity);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,rc=`\n", - "#define scale 0.015873016\n", - "attribute 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\n", - "void 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", - "float 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);}`,ah=`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\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float blur\n", - "#pragma mapbox: initialize lowp float opacity\n", - "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);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Wc=`\n", - "#define scale 0.015873016\n", - "attribute 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\n", - "void 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\n", - "float 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);}`,df=`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\n", - "void 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\n", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Cu=`\n", - "#define scale 0.015873016\n", - "#define LINE_DISTANCE_SCALE 2.0\n", - "attribute 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\n", - "void 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\n", - "float 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;}`,Nf=`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\n", - "void 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\n", - "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 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Zc=`\n", - "#define scale 0.015873016\n", - "#define LINE_DISTANCE_SCALE 2.0\n", - "attribute 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\n", - "void 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\n", - "float 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);}`,ds=`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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Ch=\"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;}\",Bd=`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float opacity\n", - "lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,Jh=`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\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float opacity\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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));}`,Cf=`#define SDF_PX 8.0\n", - "uniform 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\n", - "void 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\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,pd=`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\n", - "void 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\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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);}`,Lu=`#define SDF_PX 8.0\n", - "#define SDF 1.0\n", - "#define ICON 0.0\n", - "uniform 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\n", - "void 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\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "return;}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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,$h=`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\n", - "void 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\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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);}`,tu=Is(Of,Gc),Pu=Is(vd,Bf),Lc=Is(ss,ff),fl=Is(ih,Vl),Xc=Is(Js,hc),ic=Is(Cc,ws),yu=Is($s,hs),Qs=Is(Ms,dc),Qh=Is(Sl,ec),gd=Is(Ps,ov),Gu=Is(wo,Od),Pc=Is($o,Ja),vc=Is(Ef,tc),sv=Is(uu,Mh),Lf=Is(jc,kf),Uf=Is(Ml,Yh),Iu=Is(Eh,nh),oh=Is(hf,kh),ru=Is(Kh,rc),vf=Is(ah,Wc),md=Is(df,Cu),sh=Is(Nf,Zc),Fs=Is(ds,Ch),_u=Is(Bd,Jh),xu=Is(Cf,pd),Lh=Is(Lu,$h);function Is(Y,z){var K=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,O=z.match(/attribute ([\\w]+) ([\\w]+)/g),$=Y.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),pe=z.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),de=pe?pe.concat($):$,Ie={};return Y=Y.replace(K,function($e,pt,Kt,ir,Jt){return Ie[Jt]=!0,pt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - "varying `+Kt+\" \"+ir+\" \"+Jt+`;\n", - "#else\n", - "uniform `+Kt+\" \"+ir+\" u_\"+Jt+`;\n", - "#endif\n", - "`:`\n", - "#ifdef HAS_UNIFORM_u_`+Jt+`\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`}),z=z.replace(K,function($e,pt,Kt,ir,Jt){var vt=ir===\"float\"?\"vec2\":\"vec4\",Pt=Jt.match(/color/)?\"color\":vt;return Ie[Jt]?pt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - "uniform lowp float u_`+Jt+`_t;\n", - "attribute `+Kt+\" \"+vt+\" a_\"+Jt+`;\n", - "varying `+Kt+\" \"+ir+\" \"+Jt+`;\n", - "#else\n", - "uniform `+Kt+\" \"+ir+\" u_\"+Jt+`;\n", - "#endif\n", - "`:Pt===\"vec4\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - " `+Jt+\" = a_\"+Jt+`;\n", - "#else\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`:`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - " `+Jt+\" = unpack_mix_\"+Pt+\"(a_\"+Jt+\", u_\"+Jt+`_t);\n", - "#else\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`:pt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - "uniform lowp float u_`+Jt+`_t;\n", - "attribute `+Kt+\" \"+vt+\" a_\"+Jt+`;\n", - "#else\n", - "uniform `+Kt+\" \"+ir+\" u_\"+Jt+`;\n", - "#endif\n", - "`:Pt===\"vec4\"?`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = a_\"+Jt+`;\n", - "#else\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`:`\n", - "#ifndef HAS_UNIFORM_u_`+Jt+`\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = unpack_mix_\"+Pt+\"(a_\"+Jt+\", u_\"+Jt+`_t);\n", - "#else\n", - " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", - "#endif\n", - "`}),{fragmentSource:Y,vertexSource:z,staticAttributes:O,staticUniforms:de}}var Pf=Object.freeze({__proto__:null,prelude:tu,background:Pu,backgroundPattern:Lc,circle:fl,clippingMask:Xc,heatmap:ic,heatmapTexture:yu,collisionBox:Qs,collisionCircle:Qh,debug:gd,fill:Gu,fillOutline:Pc,fillOutlinePattern:vc,fillPattern:sv,fillExtrusion:Lf,fillExtrusionPattern:Uf,hillshadePrepare:Iu,hillshade:oh,line:ru,lineGradient:vf,linePattern:md,lineSDF:sh,raster:Fs,symbolIcon:_u,symbolSDF:xu,symbolTextAndIcon:Lh}),Ic=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};Ic.prototype.bind=function(z,K,O,$,pe,de,Ie,$e){this.context=z;for(var pt=this.boundPaintVertexBuffers.length!==$.length,Kt=0;!pt&&Kt<$.length;Kt++)this.boundPaintVertexBuffers[Kt]!==$[Kt]&&(pt=!0);var ir=!this.vao||this.boundProgram!==K||this.boundLayoutVertexBuffer!==O||pt||this.boundIndexBuffer!==pe||this.boundVertexOffset!==de||this.boundDynamicVertexBuffer!==Ie||this.boundDynamicVertexBuffer2!==$e;!z.extVertexArrayObject||ir?this.freshBind(K,O,$,pe,de,Ie,$e):(z.bindVertexArrayOES.set(this.vao),Ie&&Ie.bind(),pe&&pe.dynamicDraw&&pe.bind(),$e&&$e.bind())},Ic.prototype.freshBind=function(z,K,O,$,pe,de,Ie){var $e,pt=z.numAttributes,Kt=this.context,ir=Kt.gl;if(Kt.extVertexArrayObject)this.vao&&this.destroy(),this.vao=Kt.extVertexArrayObject.createVertexArrayOES(),Kt.bindVertexArrayOES.set(this.vao),$e=0,this.boundProgram=z,this.boundLayoutVertexBuffer=K,this.boundPaintVertexBuffers=O,this.boundIndexBuffer=$,this.boundVertexOffset=pe,this.boundDynamicVertexBuffer=de,this.boundDynamicVertexBuffer2=Ie;else{$e=Kt.currentNumAttributes||0;for(var Jt=pt;Jt<$e;Jt++)ir.disableVertexAttribArray(Jt)}K.enableAttributes(ir,z);for(var vt=0,Pt=O;vt<Pt.length;vt+=1){var Wt=Pt[vt];Wt.enableAttributes(ir,z)}de&&de.enableAttributes(ir,z),Ie&&Ie.enableAttributes(ir,z),K.bind(),K.setVertexAttribPointers(ir,z,pe);for(var rr=0,dr=O;rr<dr.length;rr+=1){var pr=dr[rr];pr.bind(),pr.setVertexAttribPointers(ir,z,pe)}de&&(de.bind(),de.setVertexAttribPointers(ir,z,pe)),$&&$.bind(),Ie&&(Ie.bind(),Ie.setVertexAttribPointers(ir,z,pe)),Kt.currentNumAttributes=pt},Ic.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)};function ju(Y){for(var z=[],K=0;K<Y.length;K++)if(Y[K]!==null){var O=Y[K].split(\" \");z.push(O.pop())}return z}var Vf=function(z,K,O,$,pe,de){var Ie=z.gl;this.program=Ie.createProgram();for(var $e=ju(O.staticAttributes),pt=$?$.getBinderAttributes():[],Kt=$e.concat(pt),ir=O.staticUniforms?ju(O.staticUniforms):[],Jt=$?$.getBinderUniforms():[],vt=ir.concat(Jt),Pt=[],Wt=0,rr=vt;Wt<rr.length;Wt+=1){var dr=rr[Wt];Pt.indexOf(dr)<0&&Pt.push(dr)}var pr=$?$.defines():[];de&&pr.push(\"#define OVERDRAW_INSPECTOR;\");var kr=pr.concat(tu.fragmentSource,O.fragmentSource).join(`\n", - "`),Ar=pr.concat(tu.vertexSource,O.vertexSource).join(`\n", - "`),gr=Ie.createShader(Ie.FRAGMENT_SHADER);if(Ie.isContextLost()){this.failedToCreate=!0;return}Ie.shaderSource(gr,kr),Ie.compileShader(gr),Ie.attachShader(this.program,gr);var Cr=Ie.createShader(Ie.VERTEX_SHADER);if(Ie.isContextLost()){this.failedToCreate=!0;return}Ie.shaderSource(Cr,Ar),Ie.compileShader(Cr),Ie.attachShader(this.program,Cr),this.attributes={};var cr={};this.numAttributes=Kt.length;for(var Gr=0;Gr<this.numAttributes;Gr++)Kt[Gr]&&(Ie.bindAttribLocation(this.program,Gr,Kt[Gr]),this.attributes[Kt[Gr]]=Gr);Ie.linkProgram(this.program),Ie.deleteShader(Cr),Ie.deleteShader(gr);for(var ei=0;ei<Pt.length;ei++){var yi=Pt[ei];if(yi&&!cr[yi]){var tn=Ie.getUniformLocation(this.program,yi);tn&&(cr[yi]=tn)}}this.fixedUniforms=pe(z,cr),this.binderUniforms=$?$.getUniforms(z,cr):[]};Vf.prototype.draw=function(z,K,O,$,pe,de,Ie,$e,pt,Kt,ir,Jt,vt,Pt,Wt,rr){var dr,pr=z.gl;if(!this.failedToCreate){z.program.set(this.program),z.setDepthMode(O),z.setStencilMode($),z.setColorMode(pe),z.setCullFace(de);for(var kr in this.fixedUniforms)this.fixedUniforms[kr].set(Ie[kr]);Pt&&Pt.setUniforms(z,this.binderUniforms,Jt,{zoom:vt});for(var Ar=(dr={},dr[pr.LINES]=2,dr[pr.TRIANGLES]=3,dr[pr.LINE_STRIP]=1,dr)[K],gr=0,Cr=ir.get();gr<Cr.length;gr+=1){var cr=Cr[gr],Gr=cr.vaos||(cr.vaos={}),ei=Gr[$e]||(Gr[$e]=new Ic);ei.bind(z,this,pt,Pt?Pt.getPaintVertexBuffers():[],Kt,cr.vertexOffset,Wt,rr),pr.drawElements(K,cr.primitiveLength*Ar,pr.UNSIGNED_SHORT,cr.primitiveOffset*Ar*2)}}};function pc(Y,z,K){var O=1/Cs(K,1,z.transform.tileZoom),$=Math.pow(2,K.tileID.overscaledZ),pe=K.tileSize*Math.pow(2,z.transform.tileZoom)/$,de=pe*(K.tileID.canonical.x+K.tileID.wrap*$),Ie=pe*K.tileID.canonical.y;return{u_image:0,u_texsize:K.imageAtlasTexture.size,u_scale:[O,Y.fromScale,Y.toScale],u_fade:Y.t,u_pixel_coord_upper:[de>>16,Ie>>16],u_pixel_coord_lower:[de&65535,Ie&65535]}}function pf(Y,z,K,O){var $=K.imageManager.getPattern(Y.from.toString()),pe=K.imageManager.getPattern(Y.to.toString()),de=K.imageManager.getPixelSize(),Ie=de.width,$e=de.height,pt=Math.pow(2,O.tileID.overscaledZ),Kt=O.tileSize*Math.pow(2,K.transform.tileZoom)/pt,ir=Kt*(O.tileID.canonical.x+O.tileID.wrap*pt),Jt=Kt*O.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:$.tl,u_pattern_br_a:$.br,u_pattern_tl_b:pe.tl,u_pattern_br_b:pe.br,u_texsize:[Ie,$e],u_mix:z.t,u_pattern_size_a:$.displaySize,u_pattern_size_b:pe.displaySize,u_scale_a:z.fromScale,u_scale_b:z.toScale,u_tile_units_to_pixels:1/Cs(O,1,K.transform.tileZoom),u_pixel_coord_upper:[ir>>16,Jt>>16],u_pixel_coord_lower:[ir&65535,Jt&65535]}}var Ph=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_lightpos:new i.Uniform3f(Y,z.u_lightpos),u_lightintensity:new i.Uniform1f(Y,z.u_lightintensity),u_lightcolor:new i.Uniform3f(Y,z.u_lightcolor),u_vertical_gradient:new i.Uniform1f(Y,z.u_vertical_gradient),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},Dl=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_lightpos:new i.Uniform3f(Y,z.u_lightpos),u_lightintensity:new i.Uniform1f(Y,z.u_lightintensity),u_lightcolor:new i.Uniform3f(Y,z.u_lightcolor),u_vertical_gradient:new i.Uniform1f(Y,z.u_vertical_gradient),u_height_factor:new i.Uniform1f(Y,z.u_height_factor),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},Ih=function(Y,z,K,O){var $=z.style.light,pe=$.properties.get(\"position\"),de=[pe.x,pe.y,pe.z],Ie=i.create$1();$.properties.get(\"anchor\")===\"viewport\"&&i.fromRotation(Ie,-z.transform.angle),i.transformMat3(de,de,Ie);var $e=$.properties.get(\"color\");return{u_matrix:Y,u_lightpos:de,u_lightintensity:$.properties.get(\"intensity\"),u_lightcolor:[$e.r,$e.g,$e.b],u_vertical_gradient:+K,u_opacity:O}},Wu=function(Y,z,K,O,$,pe,de){return i.extend(Ih(Y,z,K,O),pc(pe,z,de),{u_height_factor:-Math.pow(2,$.overscaledZ)/de.tileSize/8})},Rc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},gc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},hl=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world)}},iu=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},mc=function(Y){return{u_matrix:Y}},Yc=function(Y,z,K,O){return i.extend(mc(Y),pc(K,z,O))},nc=function(Y,z){return{u_matrix:Y,u_world:z}},gf=function(Y,z,K,O,$){return i.extend(Yc(Y,z,K,O),{u_world:$})},gt=function(Y,z){return{u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_scale_with_map:new i.Uniform1i(Y,z.u_scale_with_map),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_extrude_scale:new i.Uniform2f(Y,z.u_extrude_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},Bt=function(Y,z,K,O){var $=Y.transform,pe,de;if(O.paint.get(\"circle-pitch-alignment\")===\"map\"){var Ie=Cs(K,1,$.zoom);pe=!0,de=[Ie,Ie]}else pe=!1,de=$.pixelsToGLUnits;return{u_camera_to_center_distance:$.cameraToCenterDistance,u_scale_with_map:+(O.paint.get(\"circle-pitch-scale\")===\"map\"),u_matrix:Y.translatePosMatrix(z.posMatrix,K,O.paint.get(\"circle-translate\"),O.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+pe,u_device_pixel_ratio:i.browser.devicePixelRatio,u_extrude_scale:de}},wr=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pixels_to_tile_units:new i.Uniform1f(Y,z.u_pixels_to_tile_units),u_extrude_scale:new i.Uniform2f(Y,z.u_extrude_scale),u_overscale_factor:new i.Uniform1f(Y,z.u_overscale_factor)}},vr=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_inv_matrix:new i.UniformMatrix4f(Y,z.u_inv_matrix),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_viewport_size:new i.Uniform2f(Y,z.u_viewport_size)}},Ur=function(Y,z,K){var O=Cs(K,1,z.zoom),$=Math.pow(2,z.zoom-K.tileID.overscaledZ),pe=K.tileID.overscaleFactor();return{u_matrix:Y,u_camera_to_center_distance:z.cameraToCenterDistance,u_pixels_to_tile_units:O,u_extrude_scale:[z.pixelsToGLUnits[0]/(O*$),z.pixelsToGLUnits[1]/(O*$)],u_overscale_factor:pe}},fi=function(Y,z,K){return{u_matrix:Y,u_inv_matrix:z,u_camera_to_center_distance:K.cameraToCenterDistance,u_viewport_size:[K.width,K.height]}},xi=function(Y,z){return{u_color:new i.UniformColor(Y,z.u_color),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_overlay:new i.Uniform1i(Y,z.u_overlay),u_overlay_scale:new i.Uniform1f(Y,z.u_overlay_scale)}},Fi=function(Y,z,K){return K===void 0&&(K=1),{u_matrix:Y,u_color:z,u_overlay:0,u_overlay_scale:K}},Xi=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},hn=function(Y){return{u_matrix:Y}},Ti=function(Y,z){return{u_extrude_scale:new i.Uniform1f(Y,z.u_extrude_scale),u_intensity:new i.Uniform1f(Y,z.u_intensity),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},qi=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world),u_image:new i.Uniform1i(Y,z.u_image),u_color_ramp:new i.Uniform1i(Y,z.u_color_ramp),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},Ii=function(Y,z,K,O){return{u_matrix:Y,u_extrude_scale:Cs(z,1,K),u_intensity:O}},mi=function(Y,z,K,O){var $=i.create();i.ortho($,0,Y.width,Y.height,0,0,1);var pe=Y.context.gl;return{u_matrix:$,u_world:[pe.drawingBufferWidth,pe.drawingBufferHeight],u_image:K,u_color_ramp:O,u_opacity:z.paint.get(\"heatmap-opacity\")}},Pn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_latrange:new i.Uniform2f(Y,z.u_latrange),u_light:new i.Uniform2f(Y,z.u_light),u_shadow:new i.UniformColor(Y,z.u_shadow),u_highlight:new i.UniformColor(Y,z.u_highlight),u_accent:new i.UniformColor(Y,z.u_accent)}},Ma=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_dimension:new i.Uniform2f(Y,z.u_dimension),u_zoom:new i.Uniform1f(Y,z.u_zoom),u_unpack:new i.Uniform4f(Y,z.u_unpack)}},Ta=function(Y,z,K){var O=K.paint.get(\"hillshade-shadow-color\"),$=K.paint.get(\"hillshade-highlight-color\"),pe=K.paint.get(\"hillshade-accent-color\"),de=K.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);K.paint.get(\"hillshade-illumination-anchor\")===\"viewport\"&&(de-=Y.transform.angle);var Ie=!Y.options.moving;return{u_matrix:Y.transform.calculatePosMatrix(z.tileID.toUnwrapped(),Ie),u_image:0,u_latrange:qa(Y,z.tileID),u_light:[K.paint.get(\"hillshade-exaggeration\"),de],u_shadow:O,u_highlight:$,u_accent:pe}},Ea=function(Y,z){var K=z.stride,O=i.create();return i.ortho(O,0,i.EXTENT,-i.EXTENT,0,0,1),i.translate(O,O,[0,-i.EXTENT,0]),{u_matrix:O,u_image:1,u_dimension:[K,K],u_zoom:Y.overscaledZ,u_unpack:z.getUnpackVector()}};function qa(Y,z){var K=Math.pow(2,z.canonical.z),O=z.canonical.y;return[new i.MercatorCoordinate(0,O/K).toLngLat().lat,new i.MercatorCoordinate(0,(O+1)/K).toLngLat().lat]}var Cn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels)}},sn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_image:new i.Uniform1i(Y,z.u_image),u_image_height:new i.Uniform1f(Y,z.u_image_height)}},Ua=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_image:new i.Uniform1i(Y,z.u_image),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},mo=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_patternscale_a:new i.Uniform2f(Y,z.u_patternscale_a),u_patternscale_b:new i.Uniform2f(Y,z.u_patternscale_b),u_sdfgamma:new i.Uniform1f(Y,z.u_sdfgamma),u_image:new i.Uniform1i(Y,z.u_image),u_tex_y_a:new i.Uniform1f(Y,z.u_tex_y_a),u_tex_y_b:new i.Uniform1f(Y,z.u_tex_y_b),u_mix:new i.Uniform1f(Y,z.u_mix)}},Xo=function(Y,z,K){var O=Y.transform;return{u_matrix:yl(Y,z,K),u_ratio:1/Cs(z,1,O.zoom),u_device_pixel_ratio:i.browser.devicePixelRatio,u_units_to_pixels:[1/O.pixelsToGLUnits[0],1/O.pixelsToGLUnits[1]]}},Ts=function(Y,z,K,O){return i.extend(Xo(Y,z,K),{u_image:0,u_image_height:O})},Qo=function(Y,z,K,O){var $=Y.transform,pe=Bo(z,$);return{u_matrix:yl(Y,z,K),u_texsize:z.imageAtlasTexture.size,u_ratio:1/Cs(z,1,$.zoom),u_device_pixel_ratio:i.browser.devicePixelRatio,u_image:0,u_scale:[pe,O.fromScale,O.toScale],u_fade:O.t,u_units_to_pixels:[1/$.pixelsToGLUnits[0],1/$.pixelsToGLUnits[1]]}},ys=function(Y,z,K,O,$){var pe=Y.transform,de=Y.lineAtlas,Ie=Bo(z,pe),$e=K.layout.get(\"line-cap\")===\"round\",pt=de.getDash(O.from,$e),Kt=de.getDash(O.to,$e),ir=pt.width*$.fromScale,Jt=Kt.width*$.toScale;return i.extend(Xo(Y,z,K),{u_patternscale_a:[Ie/ir,-pt.height/2],u_patternscale_b:[Ie/Jt,-Kt.height/2],u_sdfgamma:de.width/(Math.min(ir,Jt)*256*i.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:pt.y,u_tex_y_b:Kt.y,u_mix:$.t})};function Bo(Y,z){return 1/Cs(Y,1,z.tileZoom)}function yl(Y,z,K){return Y.translatePosMatrix(z.tileID.posMatrix,z,K.paint.get(\"line-translate\"),K.paint.get(\"line-translate-anchor\"))}var Gs=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_tl_parent:new i.Uniform2f(Y,z.u_tl_parent),u_scale_parent:new i.Uniform1f(Y,z.u_scale_parent),u_buffer_scale:new i.Uniform1f(Y,z.u_buffer_scale),u_fade_t:new i.Uniform1f(Y,z.u_fade_t),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_image0:new i.Uniform1i(Y,z.u_image0),u_image1:new i.Uniform1i(Y,z.u_image1),u_brightness_low:new i.Uniform1f(Y,z.u_brightness_low),u_brightness_high:new i.Uniform1f(Y,z.u_brightness_high),u_saturation_factor:new i.Uniform1f(Y,z.u_saturation_factor),u_contrast_factor:new i.Uniform1f(Y,z.u_contrast_factor),u_spin_weights:new i.Uniform3f(Y,z.u_spin_weights)}},Rs=function(Y,z,K,O,$){return{u_matrix:Y,u_tl_parent:z,u_scale_parent:K,u_buffer_scale:1,u_fade_t:O.mix,u_opacity:O.opacity*$.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:$.paint.get(\"raster-brightness-min\"),u_brightness_high:$.paint.get(\"raster-brightness-max\"),u_saturation_factor:vs($.paint.get(\"raster-saturation\")),u_contrast_factor:Ka($.paint.get(\"raster-contrast\")),u_spin_weights:ia($.paint.get(\"raster-hue-rotate\"))}};function ia(Y){Y*=Math.PI/180;var z=Math.sin(Y),K=Math.cos(Y);return[(2*K+1)/3,(-Math.sqrt(3)*z-K+1)/3,(Math.sqrt(3)*z-K+1)/3]}function Ka(Y){return Y>0?1/(1-Y):1+Y}function vs(Y){return Y>0?1-1/(1.001-Y):-Y}var Ko=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texture:new i.Uniform1i(Y,z.u_texture)}},nu=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texture:new i.Uniform1i(Y,z.u_texture),u_gamma_scale:new i.Uniform1f(Y,z.u_gamma_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_is_halo:new i.Uniform1i(Y,z.u_is_halo)}},Ru=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texsize_icon:new i.Uniform2f(Y,z.u_texsize_icon),u_texture:new i.Uniform1i(Y,z.u_texture),u_texture_icon:new i.Uniform1i(Y,z.u_texture_icon),u_gamma_scale:new i.Uniform1f(Y,z.u_gamma_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_is_halo:new i.Uniform1i(Y,z.u_is_halo)}},ac=function(Y,z,K,O,$,pe,de,Ie,$e,pt){var Kt=$.transform;return{u_is_size_zoom_constant:+(Y===\"constant\"||Y===\"source\"),u_is_size_feature_constant:+(Y===\"constant\"||Y===\"camera\"),u_size_t:z?z.uSizeT:0,u_size:z?z.uSize:0,u_camera_to_center_distance:Kt.cameraToCenterDistance,u_pitch:Kt.pitch/360*2*Math.PI,u_rotate_symbol:+K,u_aspect_ratio:Kt.width/Kt.height,u_fade_change:$.options.fadeDuration?$.symbolFadeChange:1,u_matrix:pe,u_label_plane_matrix:de,u_coord_matrix:Ie,u_is_text:+$e,u_pitch_with_map:+O,u_texsize:pt,u_texture:0}},mf=function(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt){var ir=$.transform;return i.extend(ac(Y,z,K,O,$,pe,de,Ie,$e,pt),{u_gamma_scale:O?Math.cos(ir._pitch)*ir.cameraToCenterDistance:1,u_device_pixel_ratio:i.browser.devicePixelRatio,u_is_halo:+Kt})},bu=function(Y,z,K,O,$,pe,de,Ie,$e,pt){return i.extend(mf(Y,z,K,O,$,pe,de,Ie,!0,$e,!0),{u_texsize_icon:pt,u_texture_icon:1})},Kc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_color:new i.UniformColor(Y,z.u_color)}},Du=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_image:new i.Uniform1i(Y,z.u_image),u_pattern_tl_a:new i.Uniform2f(Y,z.u_pattern_tl_a),u_pattern_br_a:new i.Uniform2f(Y,z.u_pattern_br_a),u_pattern_tl_b:new i.Uniform2f(Y,z.u_pattern_tl_b),u_pattern_br_b:new i.Uniform2f(Y,z.u_pattern_br_b),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_mix:new i.Uniform1f(Y,z.u_mix),u_pattern_size_a:new i.Uniform2f(Y,z.u_pattern_size_a),u_pattern_size_b:new i.Uniform2f(Y,z.u_pattern_size_b),u_scale_a:new i.Uniform1f(Y,z.u_scale_a),u_scale_b:new i.Uniform1f(Y,z.u_scale_b),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_tile_units_to_pixels:new i.Uniform1f(Y,z.u_tile_units_to_pixels)}},Dc=function(Y,z,K){return{u_matrix:Y,u_opacity:z,u_color:K}},Da=function(Y,z,K,O,$,pe){return i.extend(pf(O,pe,K,$),{u_matrix:Y,u_opacity:z})},eo={fillExtrusion:Ph,fillExtrusionPattern:Dl,fill:Rc,fillPattern:gc,fillOutline:hl,fillOutlinePattern:iu,circle:gt,collisionBox:wr,collisionCircle:vr,debug:xi,clippingMask:Xi,heatmap:Ti,heatmapTexture:qi,hillshade:Pn,hillshadePrepare:Ma,line:Cn,lineGradient:sn,linePattern:Ua,lineSDF:mo,raster:Gs,symbolIcon:Ko,symbolSDF:nu,symbolTextAndIcon:Ru,background:Kc,backgroundPattern:Du},Jc;function yc(Y,z,K,O,$,pe,de){for(var Ie=Y.context,$e=Ie.gl,pt=Y.useProgram(\"collisionBox\"),Kt=[],ir=0,Jt=0,vt=0;vt<O.length;vt++){var Pt=O[vt],Wt=z.getTile(Pt),rr=Wt.getBucket(K);if(rr){var dr=Pt.posMatrix;($[0]!==0||$[1]!==0)&&(dr=Y.translatePosMatrix(Pt.posMatrix,Wt,$,pe));var pr=de?rr.textCollisionBox:rr.iconCollisionBox,kr=rr.collisionCircleArray;if(kr.length>0){var Ar=i.create(),gr=dr;i.mul(Ar,rr.placementInvProjMatrix,Y.transform.glCoordMatrix),i.mul(Ar,Ar,rr.placementViewportMatrix),Kt.push({circleArray:kr,circleOffset:Jt,transform:gr,invTransform:Ar}),ir+=kr.length/4,Jt=ir}pr&&pt.draw(Ie,$e.LINES,Wi.disabled,$i.disabled,Y.colorModeForRenderPass(),yr.disabled,Ur(dr,Y.transform,Wt),K.id,pr.layoutVertexBuffer,pr.indexBuffer,pr.segments,null,Y.transform.zoom,null,null,pr.collisionVertexBuffer)}}if(!(!de||!Kt.length)){var Cr=Y.useProgram(\"collisionCircle\"),cr=new i.StructArrayLayout2f1f2i16;cr.resize(ir*4),cr._trim();for(var Gr=0,ei=0,yi=Kt;ei<yi.length;ei+=1)for(var tn=yi[ei],Ri=0;Ri<tn.circleArray.length/4;Ri++){var ln=Ri*4,Qn=tn.circleArray[ln+0],qn=tn.circleArray[ln+1],rn=tn.circleArray[ln+2],bn=tn.circleArray[ln+3];cr.emplace(Gr++,Qn,qn,rn,bn,0),cr.emplace(Gr++,Qn,qn,rn,bn,1),cr.emplace(Gr++,Qn,qn,rn,bn,2),cr.emplace(Gr++,Qn,qn,rn,bn,3)}(!Jc||Jc.length<ir*2)&&(Jc=_c(ir));for(var mn=Ie.createIndexBuffer(Jc,!0),Gn=Ie.createVertexBuffer(cr,i.collisionCircleLayout.members,!0),da=0,No=Kt;da<No.length;da+=1){var Do=No[da],ps=fi(Do.transform,Do.invTransform,Y.transform);Cr.draw(Ie,$e.TRIANGLES,Wi.disabled,$i.disabled,Y.colorModeForRenderPass(),yr.disabled,ps,K.id,Gn,mn,i.SegmentVector.simpleSegment(0,Do.circleOffset*2,Do.circleArray.length,Do.circleArray.length/2),null,Y.transform.zoom,null,null,null)}Gn.destroy(),mn.destroy()}}function _c(Y){var z=Y*2,K=new i.StructArrayLayout3ui6;K.resize(z),K._trim();for(var O=0;O<z;O++){var $=O*6;K.uint16[$+0]=O*4+0,K.uint16[$+1]=O*4+1,K.uint16[$+2]=O*4+2,K.uint16[$+3]=O*4+2,K.uint16[$+4]=O*4+3,K.uint16[$+5]=O*4+0}return K}var le=i.identity(new Float32Array(16));function w(Y,z,K,O,$){if(Y.renderPass===\"translucent\"){var pe=$i.disabled,de=Y.colorModeForRenderPass(),Ie=K.layout.get(\"text-variable-anchor\");Ie&&Q(O,Y,K,z,K.layout.get(\"text-rotation-alignment\"),K.layout.get(\"text-pitch-alignment\"),$),K.paint.get(\"icon-opacity\").constantOr(1)!==0&&qe(Y,z,K,O,!1,K.paint.get(\"icon-translate\"),K.paint.get(\"icon-translate-anchor\"),K.layout.get(\"icon-rotation-alignment\"),K.layout.get(\"icon-pitch-alignment\"),K.layout.get(\"icon-keep-upright\"),pe,de),K.paint.get(\"text-opacity\").constantOr(1)!==0&&qe(Y,z,K,O,!0,K.paint.get(\"text-translate\"),K.paint.get(\"text-translate-anchor\"),K.layout.get(\"text-rotation-alignment\"),K.layout.get(\"text-pitch-alignment\"),K.layout.get(\"text-keep-upright\"),pe,de),z.map.showCollisionBoxes&&(yc(Y,z,K,O,K.paint.get(\"text-translate\"),K.paint.get(\"text-translate-anchor\"),!0),yc(Y,z,K,O,K.paint.get(\"icon-translate\"),K.paint.get(\"icon-translate-anchor\"),!1))}}function B(Y,z,K,O,$,pe){var de=i.getAnchorAlignment(Y),Ie=de.horizontalAlign,$e=de.verticalAlign,pt=-(Ie-.5)*z,Kt=-($e-.5)*K,ir=i.evaluateVariableOffset(Y,O);return new i.Point((pt/$+ir[0])*pe,(Kt/$+ir[1])*pe)}function Q(Y,z,K,O,$,pe,de){for(var Ie=z.transform,$e=$===\"map\",pt=pe===\"map\",Kt=0,ir=Y;Kt<ir.length;Kt+=1){var Jt=ir[Kt],vt=O.getTile(Jt),Pt=vt.getBucket(K);if(!(!Pt||!Pt.text||!Pt.text.segments.get().length)){var Wt=Pt.textSizeData,rr=i.evaluateSizeForZoom(Wt,Ie.zoom),dr=Cs(vt,1,z.transform.zoom),pr=Ji(Jt.posMatrix,pt,$e,z.transform,dr),kr=K.layout.get(\"icon-text-fit\")!==\"none\"&&Pt.hasIconData();if(rr){var Ar=Math.pow(2,Ie.zoom-vt.tileID.overscaledZ);ee(Pt,$e,pt,de,i.symbolSize,Ie,pr,Jt.posMatrix,Ar,rr,kr)}}}}function ee(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt){var ir=Y.text.placedSymbolArray,Jt=Y.text.dynamicLayoutVertexArray,vt=Y.icon.dynamicLayoutVertexArray,Pt={};Jt.clear();for(var Wt=0;Wt<ir.length;Wt++){var rr=ir.get(Wt),dr=Y.allowVerticalPlacement&&!rr.placedOrientation,pr=!rr.hidden&&rr.crossTileID&&!dr?O[rr.crossTileID]:null;if(!pr)Xs(rr.numGlyphs,Jt);else{var kr=new i.Point(rr.anchorX,rr.anchorY),Ar=Fn(kr,K?Ie:de),gr=Sa(pe.cameraToCenterDistance,Ar.signedDistanceFromCamera),Cr=$.evaluateSizeForFeature(Y.textSizeData,pt,rr)*gr/i.ONE_EM;K&&(Cr*=Y.tilePixelRatio/$e);for(var cr=pr.width,Gr=pr.height,ei=pr.anchor,yi=pr.textOffset,tn=pr.textBoxScale,Ri=B(ei,cr,Gr,yi,tn,Cr),ln=K?Fn(kr.add(Ri),de).point:Ar.point.add(z?Ri.rotate(-pe.angle):Ri),Qn=Y.allowVerticalPlacement&&rr.placedOrientation===i.WritingMode.vertical?Math.PI/2:0,qn=0;qn<rr.numGlyphs;qn++)i.addDynamicAttributes(Jt,ln,Qn);Kt&&rr.associatedIconIndex>=0&&(Pt[rr.associatedIconIndex]={shiftedAnchor:ln,angle:Qn})}}if(Kt){vt.clear();for(var rn=Y.icon.placedSymbolArray,bn=0;bn<rn.length;bn++){var mn=rn.get(bn);if(mn.hidden)Xs(mn.numGlyphs,vt);else{var Gn=Pt[bn];if(!Gn)Xs(mn.numGlyphs,vt);else for(var da=0;da<mn.numGlyphs;da++)i.addDynamicAttributes(vt,Gn.shiftedAnchor,Gn.angle)}}Y.icon.dynamicLayoutVertexBuffer.updateData(vt)}Y.text.dynamicLayoutVertexBuffer.updateData(Jt)}function se(Y,z,K){return K.iconsInText&&z?\"symbolTextAndIcon\":Y?\"symbolSDF\":\"symbolIcon\"}function qe(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt,ir){for(var Jt=Y.context,vt=Jt.gl,Pt=Y.transform,Wt=Ie===\"map\",rr=$e===\"map\",dr=Wt&&K.layout.get(\"symbol-placement\")!==\"point\",pr=Wt&&!rr&&!dr,kr=K.layout.get(\"symbol-sort-key\").constantOr(1)!==void 0,Ar=!1,gr=Y.depthModeForSublayer(0,Wi.ReadOnly),Cr=K.layout.get(\"text-variable-anchor\"),cr=[],Gr=0,ei=O;Gr<ei.length;Gr+=1){var yi=ei[Gr],tn=z.getTile(yi),Ri=tn.getBucket(K);if(Ri){var ln=$?Ri.text:Ri.icon;if(!(!ln||!ln.segments.get().length)){var Qn=ln.programConfigurations.get(K.id),qn=$||Ri.sdfIcons,rn=$?Ri.textSizeData:Ri.iconSizeData,bn=rr||Pt.pitch!==0,mn=Y.useProgram(se(qn,$,Ri),Qn),Gn=i.evaluateSizeForZoom(rn,Pt.zoom),da=void 0,No=[0,0],Do=void 0,ps=void 0,fo=null,as=void 0;if($){if(Do=tn.glyphAtlasTexture,ps=vt.LINEAR,da=tn.glyphAtlasTexture.size,Ri.iconsInText){No=tn.imageAtlasTexture.size,fo=tn.imageAtlasTexture;var tl=rn.kind===\"composite\"||rn.kind===\"camera\";as=bn||Y.options.rotating||Y.options.zooming||tl?vt.LINEAR:vt.NEAREST}}else{var zu=K.layout.get(\"icon-size\").constantOr(0)!==1||Ri.iconsNeedLinear;Do=tn.imageAtlasTexture,ps=qn||Y.options.rotating||Y.options.zooming||zu||bn?vt.LINEAR:vt.NEAREST,da=tn.imageAtlasTexture.size}var Mv=Cs(tn,1,Y.transform.zoom),Ev=Ji(yi.posMatrix,rr,Wt,Y.transform,Mv),yd=ua(yi.posMatrix,rr,Wt,Y.transform,Mv),Yv=Cr&&Ri.hasTextData(),cg=K.layout.get(\"icon-text-fit\")!==\"none\"&&Yv&&Ri.hasIconData();dr&&Oo(Ri,yi.posMatrix,Y,$,Ev,yd,rr,pt);var vp=Y.translatePosMatrix(yi.posMatrix,tn,pe,de),_d=dr||$&&Cr||cg?le:Ev,pp=Y.translatePosMatrix(yd,tn,pe,de,!0),Nd=qn&&K.paint.get($?\"text-halo-width\":\"icon-halo-width\").constantOr(1)!==0,xd=void 0;qn?Ri.iconsInText?xd=bu(rn.kind,Gn,pr,rr,Y,vp,_d,pp,da,No):xd=mf(rn.kind,Gn,pr,rr,Y,vp,_d,pp,$,da,!0):xd=ac(rn.kind,Gn,pr,rr,Y,vp,_d,pp,$,da);var kv={program:mn,buffers:ln,uniformValues:xd,atlasTexture:Do,atlasTextureIcon:fo,atlasInterpolation:ps,atlasInterpolationIcon:as,isSDF:qn,hasHalo:Nd};if(kr&&Ri.canOverlap){Ar=!0;for(var Kv=ln.segments.get(),Cv=0,ny=Kv;Cv<ny.length;Cv+=1){var fg=ny[Cv];cr.push({segments:new i.SegmentVector([fg]),sortKey:fg.sortKey,state:kv})}}else cr.push({segments:ln.segments,sortKey:0,state:kv})}}}Ar&&cr.sort(function(w1,T1){return w1.sortKey-T1.sortKey});for(var Hf=0,hg=cr;Hf<hg.length;Hf+=1){var ay=hg[Hf],Rh=ay.state;if(Jt.activeTexture.set(vt.TEXTURE0),Rh.atlasTexture.bind(Rh.atlasInterpolation,vt.CLAMP_TO_EDGE),Rh.atlasTextureIcon&&(Jt.activeTexture.set(vt.TEXTURE1),Rh.atlasTextureIcon&&Rh.atlasTextureIcon.bind(Rh.atlasInterpolationIcon,vt.CLAMP_TO_EDGE)),Rh.isSDF){var rm=Rh.uniformValues;Rh.hasHalo&&(rm.u_is_halo=1,je(Rh.buffers,ay.segments,K,Y,Rh.program,gr,Kt,ir,rm)),rm.u_is_halo=0}je(Rh.buffers,ay.segments,K,Y,Rh.program,gr,Kt,ir,Rh.uniformValues)}}function je(Y,z,K,O,$,pe,de,Ie,$e){var pt=O.context,Kt=pt.gl;$.draw(pt,Kt.TRIANGLES,pe,de,Ie,yr.disabled,$e,K.id,Y.layoutVertexBuffer,Y.indexBuffer,z,K.paint,O.transform.zoom,Y.programConfigurations.get(K.id),Y.dynamicLayoutVertexBuffer,Y.opacityVertexBuffer)}function it(Y,z,K,O){if(Y.renderPass===\"translucent\"){var $=K.paint.get(\"circle-opacity\"),pe=K.paint.get(\"circle-stroke-width\"),de=K.paint.get(\"circle-stroke-opacity\"),Ie=K.layout.get(\"circle-sort-key\").constantOr(1)!==void 0;if(!($.constantOr(1)===0&&(pe.constantOr(1)===0||de.constantOr(1)===0))){for(var $e=Y.context,pt=$e.gl,Kt=Y.depthModeForSublayer(0,Wi.ReadOnly),ir=$i.disabled,Jt=Y.colorModeForRenderPass(),vt=[],Pt=0;Pt<O.length;Pt++){var Wt=O[Pt],rr=z.getTile(Wt),dr=rr.getBucket(K);if(dr){var pr=dr.programConfigurations.get(K.id),kr=Y.useProgram(\"circle\",pr),Ar=dr.layoutVertexBuffer,gr=dr.indexBuffer,Cr=Bt(Y,Wt,rr,K),cr={programConfiguration:pr,program:kr,layoutVertexBuffer:Ar,indexBuffer:gr,uniformValues:Cr};if(Ie)for(var Gr=dr.segments.get(),ei=0,yi=Gr;ei<yi.length;ei+=1){var tn=yi[ei];vt.push({segments:new i.SegmentVector([tn]),sortKey:tn.sortKey,state:cr})}else vt.push({segments:dr.segments,sortKey:0,state:cr})}}Ie&&vt.sort(function(Do,ps){return Do.sortKey-ps.sortKey});for(var Ri=0,ln=vt;Ri<ln.length;Ri+=1){var Qn=ln[Ri],qn=Qn.state,rn=qn.programConfiguration,bn=qn.program,mn=qn.layoutVertexBuffer,Gn=qn.indexBuffer,da=qn.uniformValues,No=Qn.segments;bn.draw($e,pt.TRIANGLES,Kt,ir,Jt,yr.disabled,da,K.id,mn,Gn,No,K.paint,Y.transform.zoom,rn)}}}}function yt(Y,z,K,O){if(K.paint.get(\"heatmap-opacity\")!==0)if(Y.renderPass===\"offscreen\"){var $=Y.context,pe=$.gl,de=$i.disabled,Ie=new ft([pe.ONE,pe.ONE],i.Color.transparent,[!0,!0,!0,!0]);Ot($,Y,K),$.clear({color:i.Color.transparent});for(var $e=0;$e<O.length;$e++){var pt=O[$e];if(!z.hasRenderableParent(pt)){var Kt=z.getTile(pt),ir=Kt.getBucket(K);if(ir){var Jt=ir.programConfigurations.get(K.id),vt=Y.useProgram(\"heatmap\",Jt),Pt=Y.transform,Wt=Pt.zoom;vt.draw($,pe.TRIANGLES,Wi.disabled,de,Ie,yr.disabled,Ii(pt.posMatrix,Kt,Wt,K.paint.get(\"heatmap-intensity\")),K.id,ir.layoutVertexBuffer,ir.indexBuffer,ir.segments,K.paint,Y.transform.zoom,Jt)}}}$.viewport.set([0,0,Y.width,Y.height])}else Y.renderPass===\"translucent\"&&(Y.context.setColorMode(Y.colorModeForRenderPass()),hr(Y,K))}function Ot(Y,z,K){var O=Y.gl;Y.activeTexture.set(O.TEXTURE1),Y.viewport.set([0,0,z.width/4,z.height/4]);var $=K.heatmapFbo;if($)O.bindTexture(O.TEXTURE_2D,$.colorAttachment.get()),Y.bindFramebuffer.set($.framebuffer);else{var pe=O.createTexture();O.bindTexture(O.TEXTURE_2D,pe),O.texParameteri(O.TEXTURE_2D,O.TEXTURE_WRAP_S,O.CLAMP_TO_EDGE),O.texParameteri(O.TEXTURE_2D,O.TEXTURE_WRAP_T,O.CLAMP_TO_EDGE),O.texParameteri(O.TEXTURE_2D,O.TEXTURE_MIN_FILTER,O.LINEAR),O.texParameteri(O.TEXTURE_2D,O.TEXTURE_MAG_FILTER,O.LINEAR),$=K.heatmapFbo=Y.createFramebuffer(z.width/4,z.height/4,!1),Nt(Y,z,pe,$)}}function Nt(Y,z,K,O){var $=Y.gl,pe=Y.extRenderToTextureHalfFloat?Y.extTextureHalfFloat.HALF_FLOAT_OES:$.UNSIGNED_BYTE;$.texImage2D($.TEXTURE_2D,0,$.RGBA,z.width/4,z.height/4,0,$.RGBA,pe,null),O.colorAttachment.set(K)}function hr(Y,z){var K=Y.context,O=K.gl,$=z.heatmapFbo;if($){K.activeTexture.set(O.TEXTURE0),O.bindTexture(O.TEXTURE_2D,$.colorAttachment.get()),K.activeTexture.set(O.TEXTURE1);var pe=z.colorRampTexture;pe||(pe=z.colorRampTexture=new i.Texture(K,z.colorRamp,O.RGBA)),pe.bind(O.LINEAR,O.CLAMP_TO_EDGE),Y.useProgram(\"heatmapTexture\").draw(K,O.TRIANGLES,Wi.disabled,$i.disabled,Y.colorModeForRenderPass(),yr.disabled,mi(Y,z,0,1),z.id,Y.viewportBuffer,Y.quadTriangleIndexBuffer,Y.viewportSegments,z.paint,Y.transform.zoom)}}function Sr(Y,z,K,O){if(Y.renderPass===\"translucent\"){var $=K.paint.get(\"line-opacity\"),pe=K.paint.get(\"line-width\");if(!($.constantOr(1)===0||pe.constantOr(1)===0))for(var de=Y.depthModeForSublayer(0,Wi.ReadOnly),Ie=Y.colorModeForRenderPass(),$e=K.paint.get(\"line-dasharray\"),pt=K.paint.get(\"line-pattern\"),Kt=pt.constantOr(1),ir=K.paint.get(\"line-gradient\"),Jt=K.getCrossfadeParameters(),vt=Kt?\"linePattern\":$e?\"lineSDF\":ir?\"lineGradient\":\"line\",Pt=Y.context,Wt=Pt.gl,rr=!0,dr=0,pr=O;dr<pr.length;dr+=1){var kr=pr[dr],Ar=z.getTile(kr);if(!(Kt&&!Ar.patternsLoaded())){var gr=Ar.getBucket(K);if(gr){var Cr=gr.programConfigurations.get(K.id),cr=Y.context.program.get(),Gr=Y.useProgram(vt,Cr),ei=rr||Gr.program!==cr,yi=pt.constantOr(null);if(yi&&Ar.imageAtlas){var tn=Ar.imageAtlas,Ri=tn.patternPositions[yi.to.toString()],ln=tn.patternPositions[yi.from.toString()];Ri&&ln&&Cr.setConstantPatternPositions(Ri,ln)}var Qn=Kt?Qo(Y,Ar,K,Jt):$e?ys(Y,Ar,K,$e,Jt):ir?Ts(Y,Ar,K,gr.lineClipsArray.length):Xo(Y,Ar,K);if(Kt)Pt.activeTexture.set(Wt.TEXTURE0),Ar.imageAtlasTexture.bind(Wt.LINEAR,Wt.CLAMP_TO_EDGE),Cr.updatePaintBuffers(Jt);else if($e&&(ei||Y.lineAtlas.dirty))Pt.activeTexture.set(Wt.TEXTURE0),Y.lineAtlas.bind(Pt);else if(ir){var qn=gr.gradients[K.id],rn=qn.texture;if(K.gradientVersion!==qn.version){var bn=256;if(K.stepInterpolant){var mn=z.getSource().maxzoom,Gn=kr.canonical.z===mn?Math.ceil(1<<Y.transform.maxZoom-kr.canonical.z):1,da=gr.maxLineLength/i.EXTENT,No=1024,Do=da*No*Gn;bn=i.clamp(i.nextPowerOfTwo(Do),256,Pt.maxTextureSize)}qn.gradient=i.renderColorRamp({expression:K.gradientExpression(),evaluationKey:\"lineProgress\",resolution:bn,image:qn.gradient||void 0,clips:gr.lineClipsArray}),qn.texture?qn.texture.update(qn.gradient):qn.texture=new i.Texture(Pt,qn.gradient,Wt.RGBA),qn.version=K.gradientVersion,rn=qn.texture}Pt.activeTexture.set(Wt.TEXTURE0),rn.bind(K.stepInterpolant?Wt.NEAREST:Wt.LINEAR,Wt.CLAMP_TO_EDGE)}Gr.draw(Pt,Wt.TRIANGLES,de,Y.stencilModeForClipping(kr),Ie,yr.disabled,Qn,K.id,gr.layoutVertexBuffer,gr.indexBuffer,gr.segments,K.paint,Y.transform.zoom,Cr,gr.layoutVertexBuffer2),rr=!1}}}}}function he(Y,z,K,O){var $=K.paint.get(\"fill-color\"),pe=K.paint.get(\"fill-opacity\");if(pe.constantOr(1)!==0){var de=Y.colorModeForRenderPass(),Ie=K.paint.get(\"fill-pattern\"),$e=Y.opaquePassEnabledForLayer()&&!Ie.constantOr(1)&&$.constantOr(i.Color.transparent).a===1&&pe.constantOr(0)===1?\"opaque\":\"translucent\";if(Y.renderPass===$e){var pt=Y.depthModeForSublayer(1,Y.renderPass===\"opaque\"?Wi.ReadWrite:Wi.ReadOnly);be(Y,z,K,O,pt,de,!1)}if(Y.renderPass===\"translucent\"&&K.paint.get(\"fill-antialias\")){var Kt=Y.depthModeForSublayer(K.getPaintProperty(\"fill-outline-color\")?2:0,Wi.ReadOnly);be(Y,z,K,O,Kt,de,!0)}}}function be(Y,z,K,O,$,pe,de){var Ie=Y.context.gl,$e=K.paint.get(\"fill-pattern\"),pt=$e&&$e.constantOr(1),Kt=K.getCrossfadeParameters(),ir,Jt,vt,Pt,Wt;de?(Jt=pt&&!K.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",ir=Ie.LINES):(Jt=pt?\"fillPattern\":\"fill\",ir=Ie.TRIANGLES);for(var rr=0,dr=O;rr<dr.length;rr+=1){var pr=dr[rr],kr=z.getTile(pr);if(!(pt&&!kr.patternsLoaded())){var Ar=kr.getBucket(K);if(Ar){var gr=Ar.programConfigurations.get(K.id),Cr=Y.useProgram(Jt,gr);pt&&(Y.context.activeTexture.set(Ie.TEXTURE0),kr.imageAtlasTexture.bind(Ie.LINEAR,Ie.CLAMP_TO_EDGE),gr.updatePaintBuffers(Kt));var cr=$e.constantOr(null);if(cr&&kr.imageAtlas){var Gr=kr.imageAtlas,ei=Gr.patternPositions[cr.to.toString()],yi=Gr.patternPositions[cr.from.toString()];ei&&yi&&gr.setConstantPatternPositions(ei,yi)}var tn=Y.translatePosMatrix(pr.posMatrix,kr,K.paint.get(\"fill-translate\"),K.paint.get(\"fill-translate-anchor\"));if(!de)Pt=Ar.indexBuffer,Wt=Ar.segments,vt=pt?Yc(tn,Y,Kt,kr):mc(tn);else{Pt=Ar.indexBuffer2,Wt=Ar.segments2;var Ri=[Ie.drawingBufferWidth,Ie.drawingBufferHeight];vt=Jt===\"fillOutlinePattern\"&&pt?gf(tn,Y,Kt,kr,Ri):nc(tn,Ri)}Cr.draw(Y.context,ir,$,Y.stencilModeForClipping(pr),pe,yr.disabled,vt,K.id,Ar.layoutVertexBuffer,Pt,Wt,K.paint,Y.transform.zoom,gr)}}}}function Pe(Y,z,K,O){var $=K.paint.get(\"fill-extrusion-opacity\");if($!==0&&Y.renderPass===\"translucent\"){var pe=new Wi(Y.context.gl.LEQUAL,Wi.ReadWrite,Y.depthRangeFor3D);if($===1&&!K.paint.get(\"fill-extrusion-pattern\").constantOr(1)){var de=Y.colorModeForRenderPass();Oe(Y,z,K,O,pe,$i.disabled,de)}else Oe(Y,z,K,O,pe,$i.disabled,ft.disabled),Oe(Y,z,K,O,pe,Y.stencilModeFor3D(),Y.colorModeForRenderPass())}}function Oe(Y,z,K,O,$,pe,de){for(var Ie=Y.context,$e=Ie.gl,pt=K.paint.get(\"fill-extrusion-pattern\"),Kt=pt.constantOr(1),ir=K.getCrossfadeParameters(),Jt=K.paint.get(\"fill-extrusion-opacity\"),vt=0,Pt=O;vt<Pt.length;vt+=1){var Wt=Pt[vt],rr=z.getTile(Wt),dr=rr.getBucket(K);if(dr){var pr=dr.programConfigurations.get(K.id),kr=Y.useProgram(Kt?\"fillExtrusionPattern\":\"fillExtrusion\",pr);Kt&&(Y.context.activeTexture.set($e.TEXTURE0),rr.imageAtlasTexture.bind($e.LINEAR,$e.CLAMP_TO_EDGE),pr.updatePaintBuffers(ir));var Ar=pt.constantOr(null);if(Ar&&rr.imageAtlas){var gr=rr.imageAtlas,Cr=gr.patternPositions[Ar.to.toString()],cr=gr.patternPositions[Ar.from.toString()];Cr&&cr&&pr.setConstantPatternPositions(Cr,cr)}var Gr=Y.translatePosMatrix(Wt.posMatrix,rr,K.paint.get(\"fill-extrusion-translate\"),K.paint.get(\"fill-extrusion-translate-anchor\")),ei=K.paint.get(\"fill-extrusion-vertical-gradient\"),yi=Kt?Wu(Gr,Y,ei,Jt,Wt,ir,rr):Ih(Gr,Y,ei,Jt);kr.draw(Ie,Ie.gl.TRIANGLES,$,pe,de,yr.backCCW,yi,K.id,dr.layoutVertexBuffer,dr.indexBuffer,dr.segments,K.paint,Y.transform.zoom,pr)}}}function Je(Y,z,K,O){if(!(Y.renderPass!==\"offscreen\"&&Y.renderPass!==\"translucent\")){for(var $=Y.context,pe=Y.depthModeForSublayer(0,Wi.ReadOnly),de=Y.colorModeForRenderPass(),Ie=Y.renderPass===\"translucent\"?Y.stencilConfigForOverlap(O):[{},O],$e=Ie[0],pt=Ie[1],Kt=0,ir=pt;Kt<ir.length;Kt+=1){var Jt=ir[Kt],vt=z.getTile(Jt);vt.needsHillshadePrepare&&Y.renderPass===\"offscreen\"?et(Y,vt,K,pe,$i.disabled,de):Y.renderPass===\"translucent\"&&He(Y,vt,K,pe,$e[Jt.overscaledZ],de)}$.viewport.set([0,0,Y.width,Y.height])}}function He(Y,z,K,O,$,pe){var de=Y.context,Ie=de.gl,$e=z.fbo;if($e){var pt=Y.useProgram(\"hillshade\");de.activeTexture.set(Ie.TEXTURE0),Ie.bindTexture(Ie.TEXTURE_2D,$e.colorAttachment.get());var Kt=Ta(Y,z,K);pt.draw(de,Ie.TRIANGLES,O,$,pe,yr.disabled,Kt,K.id,Y.rasterBoundsBuffer,Y.quadTriangleIndexBuffer,Y.rasterBoundsSegments)}}function et(Y,z,K,O,$,pe){var de=Y.context,Ie=de.gl,$e=z.dem;if($e&&$e.data){var pt=$e.dim,Kt=$e.stride,ir=$e.getPixels();if(de.activeTexture.set(Ie.TEXTURE1),de.pixelStoreUnpackPremultiplyAlpha.set(!1),z.demTexture=z.demTexture||Y.getTileTexture(Kt),z.demTexture){var Jt=z.demTexture;Jt.update(ir,{premultiply:!1}),Jt.bind(Ie.NEAREST,Ie.CLAMP_TO_EDGE)}else z.demTexture=new i.Texture(de,ir,Ie.RGBA,{premultiply:!1}),z.demTexture.bind(Ie.NEAREST,Ie.CLAMP_TO_EDGE);de.activeTexture.set(Ie.TEXTURE0);var vt=z.fbo;if(!vt){var Pt=new i.Texture(de,{width:pt,height:pt,data:null},Ie.RGBA);Pt.bind(Ie.LINEAR,Ie.CLAMP_TO_EDGE),vt=z.fbo=de.createFramebuffer(pt,pt,!0),vt.colorAttachment.set(Pt.texture)}de.bindFramebuffer.set(vt.framebuffer),de.viewport.set([0,0,pt,pt]),Y.useProgram(\"hillshadePrepare\").draw(de,Ie.TRIANGLES,O,$,pe,yr.disabled,Ea(z.tileID,$e),K.id,Y.rasterBoundsBuffer,Y.quadTriangleIndexBuffer,Y.rasterBoundsSegments),z.needsHillshadePrepare=!1}}function Mt(Y,z,K,O){if(Y.renderPass===\"translucent\"&&K.paint.get(\"raster-opacity\")!==0&&O.length)for(var $=Y.context,pe=$.gl,de=z.getSource(),Ie=Y.useProgram(\"raster\"),$e=Y.colorModeForRenderPass(),pt=de instanceof ke?[{},O]:Y.stencilConfigForOverlap(O),Kt=pt[0],ir=pt[1],Jt=ir[ir.length-1].overscaledZ,vt=!Y.options.moving,Pt=0,Wt=ir;Pt<Wt.length;Pt+=1){var rr=Wt[Pt],dr=Y.depthModeForSublayer(rr.overscaledZ-Jt,K.paint.get(\"raster-opacity\")===1?Wi.ReadWrite:Wi.ReadOnly,pe.LESS),pr=z.getTile(rr),kr=Y.transform.calculatePosMatrix(rr.toUnwrapped(),vt);pr.registerFadeDuration(K.paint.get(\"raster-fade-duration\"));var Ar=z.findLoadedParent(rr,0),gr=Dt(pr,Ar,z,K,Y.transform),Cr=void 0,cr=void 0,Gr=K.paint.get(\"raster-resampling\")===\"nearest\"?pe.NEAREST:pe.LINEAR;$.activeTexture.set(pe.TEXTURE0),pr.texture.bind(Gr,pe.CLAMP_TO_EDGE,pe.LINEAR_MIPMAP_NEAREST),$.activeTexture.set(pe.TEXTURE1),Ar?(Ar.texture.bind(Gr,pe.CLAMP_TO_EDGE,pe.LINEAR_MIPMAP_NEAREST),Cr=Math.pow(2,Ar.tileID.overscaledZ-pr.tileID.overscaledZ),cr=[pr.tileID.canonical.x*Cr%1,pr.tileID.canonical.y*Cr%1]):pr.texture.bind(Gr,pe.CLAMP_TO_EDGE,pe.LINEAR_MIPMAP_NEAREST);var ei=Rs(kr,cr||[0,0],Cr||1,gr,K);de instanceof ke?Ie.draw($,pe.TRIANGLES,dr,$i.disabled,$e,yr.disabled,ei,K.id,de.boundsBuffer,Y.quadTriangleIndexBuffer,de.boundsSegments):Ie.draw($,pe.TRIANGLES,dr,Kt[rr.overscaledZ],$e,yr.disabled,ei,K.id,Y.rasterBoundsBuffer,Y.quadTriangleIndexBuffer,Y.rasterBoundsSegments)}}function Dt(Y,z,K,O,$){var pe=O.paint.get(\"raster-fade-duration\");if(pe>0){var de=i.browser.now(),Ie=(de-Y.timeAdded)/pe,$e=z?(de-z.timeAdded)/pe:-1,pt=K.getSource(),Kt=$.coveringZoomLevel({tileSize:pt.tileSize,roundZoom:pt.roundZoom}),ir=!z||Math.abs(z.tileID.overscaledZ-Kt)>Math.abs(Y.tileID.overscaledZ-Kt),Jt=ir&&Y.refreshedUponExpiration?1:i.clamp(ir?Ie:1-$e,0,1);return Y.refreshedUponExpiration&&Ie>=1&&(Y.refreshedUponExpiration=!1),z?{opacity:1,mix:1-Jt}:{opacity:Jt,mix:0}}else return{opacity:1,mix:0}}function Ut(Y,z,K){var O=K.paint.get(\"background-color\"),$=K.paint.get(\"background-opacity\");if($!==0){var pe=Y.context,de=pe.gl,Ie=Y.transform,$e=Ie.tileSize,pt=K.paint.get(\"background-pattern\");if(!Y.isPatternMissing(pt)){var Kt=!pt&&O.a===1&&$===1&&Y.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(Y.renderPass===Kt){var ir=$i.disabled,Jt=Y.depthModeForSublayer(0,Kt===\"opaque\"?Wi.ReadWrite:Wi.ReadOnly),vt=Y.colorModeForRenderPass(),Pt=Y.useProgram(pt?\"backgroundPattern\":\"background\"),Wt=Ie.coveringTiles({tileSize:$e});pt&&(pe.activeTexture.set(de.TEXTURE0),Y.imageManager.bind(Y.context));for(var rr=K.getCrossfadeParameters(),dr=0,pr=Wt;dr<pr.length;dr+=1){var kr=pr[dr],Ar=Y.transform.calculatePosMatrix(kr.toUnwrapped()),gr=pt?Da(Ar,$,Y,pt,{tileID:kr,tileSize:$e},rr):Dc(Ar,$,O);Pt.draw(pe,de.TRIANGLES,Jt,ir,vt,yr.disabled,gr,K.id,Y.tileExtentBuffer,Y.quadTriangleIndexBuffer,Y.tileExtentSegments)}}}}}var tr=new i.Color(1,0,0,1),mr=new i.Color(0,1,0,1),Rr=new i.Color(0,0,1,1),zr=new i.Color(1,0,1,1),Xr=new i.Color(0,1,1,1);function di(Y){var z=Y.transform.padding,K=3;Ci(Y,Y.transform.height-(z.top||0),K,tr),Ci(Y,z.bottom||0,K,mr),Qi(Y,z.left||0,K,Rr),Qi(Y,Y.transform.width-(z.right||0),K,zr);var O=Y.transform.centerPoint;Li(Y,O.x,Y.transform.height-O.y,Xr)}function Li(Y,z,K,O){var $=20,pe=2;Mn(Y,z-pe/2,K-$/2,pe,$,O),Mn(Y,z-$/2,K-pe/2,$,pe,O)}function Ci(Y,z,K,O){Mn(Y,0,z+K/2,Y.transform.width,K,O)}function Qi(Y,z,K,O){Mn(Y,z-K/2,0,K,Y.transform.height,O)}function Mn(Y,z,K,O,$,pe){var de=Y.context,Ie=de.gl;Ie.enable(Ie.SCISSOR_TEST),Ie.scissor(z*i.browser.devicePixelRatio,K*i.browser.devicePixelRatio,O*i.browser.devicePixelRatio,$*i.browser.devicePixelRatio),de.clear({color:pe}),Ie.disable(Ie.SCISSOR_TEST)}function pa(Y,z,K){for(var O=0;O<K.length;O++)ea(Y,z,K[O])}function ea(Y,z,K){var O=Y.context,$=O.gl,pe=K.posMatrix,de=Y.useProgram(\"debug\"),Ie=Wi.disabled,$e=$i.disabled,pt=Y.colorModeForRenderPass(),Kt=\"$debug\";O.activeTexture.set($.TEXTURE0),Y.emptyTexture.bind($.LINEAR,$.CLAMP_TO_EDGE),de.draw(O,$.LINE_STRIP,Ie,$e,pt,yr.disabled,Fi(pe,i.Color.red),Kt,Y.debugBuffer,Y.tileBorderIndexBuffer,Y.debugSegments);var ir=z.getTileByID(K.key).latestRawTileData,Jt=ir&&ir.byteLength||0,vt=Math.floor(Jt/1024),Pt=z.getTile(K).tileSize,Wt=512/Math.min(Pt,512)*(K.overscaledZ/Y.transform.zoom)*.5,rr=K.canonical.toString();K.overscaledZ!==K.canonical.z&&(rr+=\" => \"+K.overscaledZ);var dr=rr+\" \"+vt+\"kb\";Ga(Y,dr),de.draw(O,$.TRIANGLES,Ie,$e,ft.alphaBlended,yr.disabled,Fi(pe,i.Color.transparent,Wt),Kt,Y.debugBuffer,Y.quadTriangleIndexBuffer,Y.debugSegments)}function Ga(Y,z){Y.initDebugOverlayCanvas();var K=Y.debugOverlayCanvas,O=Y.context.gl,$=Y.debugOverlayCanvas.getContext(\"2d\");$.clearRect(0,0,K.width,K.height),$.shadowColor=\"white\",$.shadowBlur=2,$.lineWidth=1.5,$.strokeStyle=\"white\",$.textBaseline=\"top\",$.font=\"bold 36px Open Sans, sans-serif\",$.fillText(z,5,5),$.strokeText(z,5,5),Y.debugOverlayTexture.update(K),Y.debugOverlayTexture.bind(O.LINEAR,O.CLAMP_TO_EDGE)}function To(Y,z,K){var O=Y.context,$=K.implementation;if(Y.renderPass===\"offscreen\"){var pe=$.prerender;pe&&(Y.setCustomLayerDefaults(),O.setColorMode(Y.colorModeForRenderPass()),pe.call($,O.gl,Y.transform.customLayerMatrix()),O.setDirty(),Y.setBaseState())}else if(Y.renderPass===\"translucent\"){Y.setCustomLayerDefaults(),O.setColorMode(Y.colorModeForRenderPass()),O.setStencilMode($i.disabled);var de=$.renderingMode===\"3d\"?new Wi(Y.context.gl.LEQUAL,Wi.ReadWrite,Y.depthRangeFor3D):Y.depthModeForSublayer(0,Wi.ReadOnly);O.setDepthMode(de),$.render(O.gl,Y.transform.customLayerMatrix()),O.setDirty(),Y.setBaseState(),O.bindFramebuffer.set(null)}}var Wa={symbol:w,circle:it,heatmap:yt,line:Sr,fill:he,\"fill-extrusion\":Pe,hillshade:Je,raster:Mt,background:Ut,debug:pa,custom:To},co=function(z,K){this.context=new Fr(z),this.transform=K,this._tileTextures={},this.setup(),this.numSublayers=Zr.maxUnderzooming+Zr.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new rh,this.gpuTimers={}};co.prototype.resize=function(z,K){if(this.width=z*i.browser.devicePixelRatio,this.height=K*i.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var O=0,$=this.style._order;O<$.length;O+=1){var pe=$[O];this.style._layers[pe].resize()}},co.prototype.setup=function(){var z=this.context,K=new i.StructArrayLayout2i4;K.emplaceBack(0,0),K.emplaceBack(i.EXTENT,0),K.emplaceBack(0,i.EXTENT),K.emplaceBack(i.EXTENT,i.EXTENT),this.tileExtentBuffer=z.createVertexBuffer(K,kc.members),this.tileExtentSegments=i.SegmentVector.simpleSegment(0,0,4,2);var O=new i.StructArrayLayout2i4;O.emplaceBack(0,0),O.emplaceBack(i.EXTENT,0),O.emplaceBack(0,i.EXTENT),O.emplaceBack(i.EXTENT,i.EXTENT),this.debugBuffer=z.createVertexBuffer(O,kc.members),this.debugSegments=i.SegmentVector.simpleSegment(0,0,4,5);var $=new i.StructArrayLayout4i8;$.emplaceBack(0,0,0,0),$.emplaceBack(i.EXTENT,0,i.EXTENT,0),$.emplaceBack(0,i.EXTENT,0,i.EXTENT),$.emplaceBack(i.EXTENT,i.EXTENT,i.EXTENT,i.EXTENT),this.rasterBoundsBuffer=z.createVertexBuffer($,Me.members),this.rasterBoundsSegments=i.SegmentVector.simpleSegment(0,0,4,2);var pe=new i.StructArrayLayout2i4;pe.emplaceBack(0,0),pe.emplaceBack(1,0),pe.emplaceBack(0,1),pe.emplaceBack(1,1),this.viewportBuffer=z.createVertexBuffer(pe,kc.members),this.viewportSegments=i.SegmentVector.simpleSegment(0,0,4,2);var de=new i.StructArrayLayout1ui2;de.emplaceBack(0),de.emplaceBack(1),de.emplaceBack(3),de.emplaceBack(2),de.emplaceBack(0),this.tileBorderIndexBuffer=z.createIndexBuffer(de);var Ie=new i.StructArrayLayout3ui6;Ie.emplaceBack(0,1,2),Ie.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=z.createIndexBuffer(Ie),this.emptyTexture=new i.Texture(z,{width:1,height:1,data:new Uint8Array([0,0,0,0])},z.gl.RGBA);var $e=this.context.gl;this.stencilClearMode=new $i({func:$e.ALWAYS,mask:0},0,255,$e.ZERO,$e.ZERO,$e.ZERO)},co.prototype.clearStencil=function(){var z=this.context,K=z.gl;this.nextStencilID=1,this.currentStencilSource=void 0;var O=i.create();i.ortho(O,0,this.width,this.height,0,0,1),i.scale(O,O,[K.drawingBufferWidth,K.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(z,K.TRIANGLES,Wi.disabled,this.stencilClearMode,ft.disabled,yr.disabled,hn(O),\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)},co.prototype._renderTileClippingMasks=function(z,K){if(!(this.currentStencilSource===z.source||!z.isTileClipped()||!K||!K.length)){this.currentStencilSource=z.source;var O=this.context,$=O.gl;this.nextStencilID+K.length>256&&this.clearStencil(),O.setColorMode(ft.disabled),O.setDepthMode(Wi.disabled);var pe=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(var de=0,Ie=K;de<Ie.length;de+=1){var $e=Ie[de],pt=this._tileClippingMaskIDs[$e.key]=this.nextStencilID++;pe.draw(O,$.TRIANGLES,Wi.disabled,new $i({func:$.ALWAYS,mask:0},pt,255,$.KEEP,$.KEEP,$.REPLACE),ft.disabled,yr.disabled,hn($e.posMatrix),\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}},co.prototype.stencilModeFor3D=function(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();var z=this.nextStencilID++,K=this.context.gl;return new $i({func:K.NOTEQUAL,mask:255},z,255,K.KEEP,K.KEEP,K.REPLACE)},co.prototype.stencilModeForClipping=function(z){var K=this.context.gl;return new $i({func:K.EQUAL,mask:255},this._tileClippingMaskIDs[z.key],0,K.KEEP,K.KEEP,K.REPLACE)},co.prototype.stencilConfigForOverlap=function(z){var K,O=this.context.gl,$=z.sort(function(pt,Kt){return Kt.overscaledZ-pt.overscaledZ}),pe=$[$.length-1].overscaledZ,de=$[0].overscaledZ-pe+1;if(de>1){this.currentStencilSource=void 0,this.nextStencilID+de>256&&this.clearStencil();for(var Ie={},$e=0;$e<de;$e++)Ie[$e+pe]=new $i({func:O.GEQUAL,mask:255},$e+this.nextStencilID,255,O.KEEP,O.KEEP,O.REPLACE);return this.nextStencilID+=de,[Ie,$]}return[(K={},K[pe]=$i.disabled,K),$]},co.prototype.colorModeForRenderPass=function(){var z=this.context.gl;if(this._showOverdrawInspector){var K=8,O=1/K;return new ft([z.CONSTANT_COLOR,z.ONE],new i.Color(O,O,O,0),[!0,!0,!0,!0])}else return this.renderPass===\"opaque\"?ft.unblended:ft.alphaBlended},co.prototype.depthModeForSublayer=function(z,K,O){if(!this.opaquePassEnabledForLayer())return Wi.disabled;var $=1-((1+this.currentLayer)*this.numSublayers+z)*this.depthEpsilon;return new Wi(O||this.context.gl.LEQUAL,K,[$,$])},co.prototype.opaquePassEnabledForLayer=function(){return this.currentLayer<this.opaquePassCutoff},co.prototype.render=function(z,K){var O=this;this.style=z,this.options=K,this.lineAtlas=z.lineAtlas,this.imageManager=z.imageManager,this.glyphManager=z.glyphManager,this.symbolFadeChange=z.placement.symbolFadeChange(i.browser.now()),this.imageManager.beginFrame();var $=this.style._order,pe=this.style.sourceCaches;for(var de in pe){var Ie=pe[de];Ie.used&&Ie.prepare(this.context)}var $e={},pt={},Kt={};for(var ir in pe){var Jt=pe[ir];$e[ir]=Jt.getVisibleCoordinates(),pt[ir]=$e[ir].slice().reverse(),Kt[ir]=Jt.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(var vt=0;vt<$.length;vt++){var Pt=$[vt];if(this.style._layers[Pt].is3D()){this.opaquePassCutoff=vt;break}}this.renderPass=\"offscreen\";for(var Wt=0,rr=$;Wt<rr.length;Wt+=1){var dr=rr[Wt],pr=this.style._layers[dr];if(!(!pr.hasOffscreenPass()||pr.isHidden(this.transform.zoom))){var kr=pt[pr.source];pr.type!==\"custom\"&&!kr.length||this.renderLayer(this,pe[pr.source],pr,kr)}}for(this.context.bindFramebuffer.set(null),this.context.clear({color:K.showOverdrawInspector?i.Color.black:i.Color.transparent,depth:1}),this.clearStencil(),this._showOverdrawInspector=K.showOverdrawInspector,this.depthRangeFor3D=[0,1-(z._order.length+2)*this.numSublayers*this.depthEpsilon],this.renderPass=\"opaque\",this.currentLayer=$.length-1;this.currentLayer>=0;this.currentLayer--){var Ar=this.style._layers[$[this.currentLayer]],gr=pe[Ar.source],Cr=$e[Ar.source];this._renderTileClippingMasks(Ar,Cr),this.renderLayer(this,gr,Ar,Cr)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer<$.length;this.currentLayer++){var cr=this.style._layers[$[this.currentLayer]],Gr=pe[cr.source],ei=(cr.type===\"symbol\"?Kt:pt)[cr.source];this._renderTileClippingMasks(cr,$e[cr.source]),this.renderLayer(this,Gr,cr,ei)}if(this.options.showTileBoundaries){var yi,tn,Ri=i.values(this.style._layers);Ri.forEach(function(ln){ln.source&&!ln.isHidden(O.transform.zoom)&&(ln.source!==(tn&&tn.id)&&(tn=O.style.sourceCaches[ln.source]),(!yi||yi.getSource().maxzoom<tn.getSource().maxzoom)&&(yi=tn))}),yi&&Wa.debug(this,yi,yi.getVisibleCoordinates())}this.options.showPadding&&di(this),this.context.setDefault()},co.prototype.renderLayer=function(z,K,O,$){O.isHidden(this.transform.zoom)||O.type!==\"background\"&&O.type!==\"custom\"&&!$.length||(this.id=O.id,this.gpuTimingStart(O),Wa[O.type](z,K,O,$,this.style.placement.variableOffsets),this.gpuTimingEnd())},co.prototype.gpuTimingStart=function(z){if(this.options.gpuTiming){var K=this.context.extTimerQuery,O=this.gpuTimers[z.id];O||(O=this.gpuTimers[z.id]={calls:0,cpuTime:0,query:K.createQueryEXT()}),O.calls++,K.beginQueryEXT(K.TIME_ELAPSED_EXT,O.query)}},co.prototype.gpuTimingEnd=function(){if(this.options.gpuTiming){var z=this.context.extTimerQuery;z.endQueryEXT(z.TIME_ELAPSED_EXT)}},co.prototype.collectGpuTimers=function(){var z=this.gpuTimers;return this.gpuTimers={},z},co.prototype.queryGpuTimers=function(z){var K={};for(var O in z){var $=z[O],pe=this.context.extTimerQuery,de=pe.getQueryObjectEXT($.query,pe.QUERY_RESULT_EXT)/(1e3*1e3);pe.deleteQueryEXT($.query),K[O]=de}return K},co.prototype.translatePosMatrix=function(z,K,O,$,pe){if(!O[0]&&!O[1])return z;var de=pe?$===\"map\"?this.transform.angle:0:$===\"viewport\"?-this.transform.angle:0;if(de){var Ie=Math.sin(de),$e=Math.cos(de);O=[O[0]*$e-O[1]*Ie,O[0]*Ie+O[1]*$e]}var pt=[pe?O[0]:Cs(K,O[0],this.transform.zoom),pe?O[1]:Cs(K,O[1],this.transform.zoom),0],Kt=new Float32Array(16);return i.translate(Kt,z,pt),Kt},co.prototype.saveTileTexture=function(z){var K=this._tileTextures[z.size[0]];K?K.push(z):this._tileTextures[z.size[0]]=[z]},co.prototype.getTileTexture=function(z){var K=this._tileTextures[z];return K&&K.length>0?K.pop():null},co.prototype.isPatternMissing=function(z){if(!z)return!1;if(!z.from||!z.to)return!0;var K=this.imageManager.getPattern(z.from.toString()),O=this.imageManager.getPattern(z.to.toString());return!K||!O},co.prototype.useProgram=function(z,K){this.cache=this.cache||{};var O=\"\"+z+(K?K.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\");return this.cache[O]||(this.cache[O]=new Vf(this.context,z,Pf[z],K,eo[z],this._showOverdrawInspector)),this.cache[O]},co.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()},co.prototype.setBaseState=function(){var z=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(z.FUNC_ADD)},co.prototype.initDebugOverlayCanvas=function(){if(this.debugOverlayCanvas==null){this.debugOverlayCanvas=i.window.document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var z=this.context.gl;this.debugOverlayTexture=new i.Texture(this.context,this.debugOverlayCanvas,z.RGBA)}},co.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var Ro=function(z,K){this.points=z,this.planes=K};Ro.fromInvProjectionMatrix=function(z,K,O){var $=[[-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]],pe=Math.pow(2,O),de=$.map(function(pt){return i.transformMat4([],pt,z)}).map(function(pt){return i.scale$1([],pt,1/pt[3]/K*pe)}),Ie=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]],$e=Ie.map(function(pt){var Kt=i.sub([],de[pt[0]],de[pt[1]]),ir=i.sub([],de[pt[2]],de[pt[1]]),Jt=i.normalize([],i.cross([],Kt,ir)),vt=-i.dot(Jt,de[pt[1]]);return Jt.concat(vt)});return new Ro(de,$e)};var Ds=function(z,K){this.min=z,this.max=K,this.center=i.scale$2([],i.add([],this.min,this.max),.5)};Ds.prototype.quadrant=function(z){for(var K=[z%2===0,z<2],O=i.clone$2(this.min),$=i.clone$2(this.max),pe=0;pe<K.length;pe++)O[pe]=K[pe]?this.min[pe]:this.center[pe],$[pe]=K[pe]?this.center[pe]:this.max[pe];return $[2]=this.max[2],new Ds(O,$)},Ds.prototype.distanceX=function(z){var K=Math.max(Math.min(this.max[0],z[0]),this.min[0]);return K-z[0]},Ds.prototype.distanceY=function(z){var K=Math.max(Math.min(this.max[1],z[1]),this.min[1]);return K-z[1]},Ds.prototype.intersects=function(z){for(var K=[[this.min[0],this.min[1],0,1],[this.max[0],this.min[1],0,1],[this.max[0],this.max[1],0,1],[this.min[0],this.max[1],0,1]],O=!0,$=0;$<z.planes.length;$++){for(var pe=z.planes[$],de=0,Ie=0;Ie<K.length;Ie++)de+=i.dot$1(pe,K[Ie])>=0;if(de===0)return 0;de!==K.length&&(O=!1)}if(O)return 2;for(var $e=0;$e<3;$e++){for(var pt=Number.MAX_VALUE,Kt=-Number.MAX_VALUE,ir=0;ir<z.points.length;ir++){var Jt=z.points[ir][$e]-this.min[$e];pt=Math.min(pt,Jt),Kt=Math.max(Kt,Jt)}if(Kt<0||pt>this.max[$e]-this.min[$e])return 0}return 1};var As=function(z,K,O,$){if(z===void 0&&(z=0),K===void 0&&(K=0),O===void 0&&(O=0),$===void 0&&($=0),isNaN(z)||z<0||isNaN(K)||K<0||isNaN(O)||O<0||isNaN($)||$<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=z,this.bottom=K,this.left=O,this.right=$};As.prototype.interpolate=function(z,K,O){return K.top!=null&&z.top!=null&&(this.top=i.number(z.top,K.top,O)),K.bottom!=null&&z.bottom!=null&&(this.bottom=i.number(z.bottom,K.bottom,O)),K.left!=null&&z.left!=null&&(this.left=i.number(z.left,K.left,O)),K.right!=null&&z.right!=null&&(this.right=i.number(z.right,K.right,O)),this},As.prototype.getCenter=function(z,K){var O=i.clamp((this.left+z-this.right)/2,0,z),$=i.clamp((this.top+K-this.bottom)/2,0,K);return new i.Point(O,$)},As.prototype.equals=function(z){return this.top===z.top&&this.bottom===z.bottom&&this.left===z.left&&this.right===z.right},As.prototype.clone=function(){return new As(this.top,this.bottom,this.left,this.right)},As.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var yo=function(z,K,O,$,pe){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=pe===void 0?!0:pe,this._minZoom=z||0,this._maxZoom=K||22,this._minPitch=O==null?0:O,this._maxPitch=$==null?60:$,this.setMaxBounds(),this.width=0,this.height=0,this._center=new i.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new As,this._posMatrixCache={},this._alignedPosMatrixCache={}},po={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}};yo.prototype.clone=function(){var z=new yo(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return z.tileSize=this.tileSize,z.latRange=this.latRange,z.width=this.width,z.height=this.height,z._center=this._center,z.zoom=this.zoom,z.angle=this.angle,z._fov=this._fov,z._pitch=this._pitch,z._unmodified=this._unmodified,z._edgeInsets=this._edgeInsets.clone(),z._calcMatrices(),z},po.minZoom.get=function(){return this._minZoom},po.minZoom.set=function(Y){this._minZoom!==Y&&(this._minZoom=Y,this.zoom=Math.max(this.zoom,Y))},po.maxZoom.get=function(){return this._maxZoom},po.maxZoom.set=function(Y){this._maxZoom!==Y&&(this._maxZoom=Y,this.zoom=Math.min(this.zoom,Y))},po.minPitch.get=function(){return this._minPitch},po.minPitch.set=function(Y){this._minPitch!==Y&&(this._minPitch=Y,this.pitch=Math.max(this.pitch,Y))},po.maxPitch.get=function(){return this._maxPitch},po.maxPitch.set=function(Y){this._maxPitch!==Y&&(this._maxPitch=Y,this.pitch=Math.min(this.pitch,Y))},po.renderWorldCopies.get=function(){return this._renderWorldCopies},po.renderWorldCopies.set=function(Y){Y===void 0?Y=!0:Y===null&&(Y=!1),this._renderWorldCopies=Y},po.worldSize.get=function(){return this.tileSize*this.scale},po.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},po.size.get=function(){return new i.Point(this.width,this.height)},po.bearing.get=function(){return-this.angle/Math.PI*180},po.bearing.set=function(Y){var z=-i.wrap(Y,-180,180)*Math.PI/180;this.angle!==z&&(this._unmodified=!1,this.angle=z,this._calcMatrices(),this.rotationMatrix=i.create$2(),i.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},po.pitch.get=function(){return this._pitch/Math.PI*180},po.pitch.set=function(Y){var z=i.clamp(Y,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==z&&(this._unmodified=!1,this._pitch=z,this._calcMatrices())},po.fov.get=function(){return this._fov/Math.PI*180},po.fov.set=function(Y){Y=Math.max(.01,Math.min(60,Y)),this._fov!==Y&&(this._unmodified=!1,this._fov=Y/180*Math.PI,this._calcMatrices())},po.zoom.get=function(){return this._zoom},po.zoom.set=function(Y){var z=Math.min(Math.max(Y,this.minZoom),this.maxZoom);this._zoom!==z&&(this._unmodified=!1,this._zoom=z,this.scale=this.zoomScale(z),this.tileZoom=Math.floor(z),this.zoomFraction=z-this.tileZoom,this._constrain(),this._calcMatrices())},po.center.get=function(){return this._center},po.center.set=function(Y){Y.lat===this._center.lat&&Y.lng===this._center.lng||(this._unmodified=!1,this._center=Y,this._constrain(),this._calcMatrices())},po.padding.get=function(){return this._edgeInsets.toJSON()},po.padding.set=function(Y){this._edgeInsets.equals(Y)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,Y,1),this._calcMatrices())},po.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},yo.prototype.isPaddingEqual=function(z){return this._edgeInsets.equals(z)},yo.prototype.interpolatePadding=function(z,K,O){this._unmodified=!1,this._edgeInsets.interpolate(z,K,O),this._constrain(),this._calcMatrices()},yo.prototype.coveringZoomLevel=function(z){var K=(z.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/z.tileSize));return Math.max(0,K)},yo.prototype.getVisibleUnwrappedCoordinates=function(z){var K=[new i.UnwrappedTileID(0,z)];if(this._renderWorldCopies)for(var O=this.pointCoordinate(new i.Point(0,0)),$=this.pointCoordinate(new i.Point(this.width,0)),pe=this.pointCoordinate(new i.Point(this.width,this.height)),de=this.pointCoordinate(new i.Point(0,this.height)),Ie=Math.floor(Math.min(O.x,$.x,pe.x,de.x)),$e=Math.floor(Math.max(O.x,$.x,pe.x,de.x)),pt=1,Kt=Ie-pt;Kt<=$e+pt;Kt++)Kt!==0&&K.push(new i.UnwrappedTileID(Kt,z));return K},yo.prototype.coveringTiles=function(z){var K=this.coveringZoomLevel(z),O=K;if(z.minzoom!==void 0&&K<z.minzoom)return[];z.maxzoom!==void 0&&K>z.maxzoom&&(K=z.maxzoom);var $=i.MercatorCoordinate.fromLngLat(this.center),pe=Math.pow(2,K),de=[pe*$.x,pe*$.y,0],Ie=Ro.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,K),$e=z.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&($e=K);var pt=3,Kt=function(Ri){return{aabb:new Ds([Ri*pe,0,0],[(Ri+1)*pe,pe,0]),zoom:0,x:0,y:0,wrap:Ri,fullyVisible:!1}},ir=[],Jt=[],vt=K,Pt=z.reparseOverscaled?O:K;if(this._renderWorldCopies)for(var Wt=1;Wt<=3;Wt++)ir.push(Kt(-Wt)),ir.push(Kt(Wt));for(ir.push(Kt(0));ir.length>0;){var rr=ir.pop(),dr=rr.x,pr=rr.y,kr=rr.fullyVisible;if(!kr){var Ar=rr.aabb.intersects(Ie);if(Ar===0)continue;kr=Ar===2}var gr=rr.aabb.distanceX(de),Cr=rr.aabb.distanceY(de),cr=Math.max(Math.abs(gr),Math.abs(Cr)),Gr=pt+(1<<vt-rr.zoom)-2;if(rr.zoom===vt||cr>Gr&&rr.zoom>=$e){Jt.push({tileID:new i.OverscaledTileID(rr.zoom===vt?Pt:rr.zoom,rr.wrap,rr.zoom,dr,pr),distanceSq:i.sqrLen([de[0]-.5-dr,de[1]-.5-pr])});continue}for(var ei=0;ei<4;ei++){var yi=(dr<<1)+ei%2,tn=(pr<<1)+(ei>>1);ir.push({aabb:rr.aabb.quadrant(ei),zoom:rr.zoom+1,x:yi,y:tn,wrap:rr.wrap,fullyVisible:kr})}}return Jt.sort(function(Ri,ln){return Ri.distanceSq-ln.distanceSq}).map(function(Ri){return Ri.tileID})},yo.prototype.resize=function(z,K){this.width=z,this.height=K,this.pixelsToGLUnits=[2/z,-2/K],this._constrain(),this._calcMatrices()},po.unmodified.get=function(){return this._unmodified},yo.prototype.zoomScale=function(z){return Math.pow(2,z)},yo.prototype.scaleZoom=function(z){return Math.log(z)/Math.LN2},yo.prototype.project=function(z){var K=i.clamp(z.lat,-this.maxValidLatitude,this.maxValidLatitude);return new i.Point(i.mercatorXfromLng(z.lng)*this.worldSize,i.mercatorYfromLat(K)*this.worldSize)},yo.prototype.unproject=function(z){return new i.MercatorCoordinate(z.x/this.worldSize,z.y/this.worldSize).toLngLat()},po.point.get=function(){return this.project(this.center)},yo.prototype.setLocationAtPoint=function(z,K){var O=this.pointCoordinate(K),$=this.pointCoordinate(this.centerPoint),pe=this.locationCoordinate(z),de=new i.MercatorCoordinate(pe.x-(O.x-$.x),pe.y-(O.y-$.y));this.center=this.coordinateLocation(de),this._renderWorldCopies&&(this.center=this.center.wrap())},yo.prototype.locationPoint=function(z){return this.coordinatePoint(this.locationCoordinate(z))},yo.prototype.pointLocation=function(z){return this.coordinateLocation(this.pointCoordinate(z))},yo.prototype.locationCoordinate=function(z){return i.MercatorCoordinate.fromLngLat(z)},yo.prototype.coordinateLocation=function(z){return z.toLngLat()},yo.prototype.pointCoordinate=function(z){var K=0,O=[z.x,z.y,0,1],$=[z.x,z.y,1,1];i.transformMat4(O,O,this.pixelMatrixInverse),i.transformMat4($,$,this.pixelMatrixInverse);var pe=O[3],de=$[3],Ie=O[0]/pe,$e=$[0]/de,pt=O[1]/pe,Kt=$[1]/de,ir=O[2]/pe,Jt=$[2]/de,vt=ir===Jt?0:(K-ir)/(Jt-ir);return new i.MercatorCoordinate(i.number(Ie,$e,vt)/this.worldSize,i.number(pt,Kt,vt)/this.worldSize)},yo.prototype.coordinatePoint=function(z){var K=[z.x*this.worldSize,z.y*this.worldSize,0,1];return i.transformMat4(K,K,this.pixelMatrix),new i.Point(K[0]/K[3],K[1]/K[3])},yo.prototype.getBounds=function(){return new i.LngLatBounds().extend(this.pointLocation(new i.Point(0,0))).extend(this.pointLocation(new i.Point(this.width,0))).extend(this.pointLocation(new i.Point(this.width,this.height))).extend(this.pointLocation(new i.Point(0,this.height)))},yo.prototype.getMaxBounds=function(){return!this.latRange||this.latRange.length!==2||!this.lngRange||this.lngRange.length!==2?null:new i.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]])},yo.prototype.setMaxBounds=function(z){z?(this.lngRange=[z.getWest(),z.getEast()],this.latRange=[z.getSouth(),z.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},yo.prototype.calculatePosMatrix=function(z,K){K===void 0&&(K=!1);var O=z.key,$=K?this._alignedPosMatrixCache:this._posMatrixCache;if($[O])return $[O];var pe=z.canonical,de=this.worldSize/this.zoomScale(pe.z),Ie=pe.x+Math.pow(2,pe.z)*z.wrap,$e=i.identity(new Float64Array(16));return i.translate($e,$e,[Ie*de,pe.y*de,0]),i.scale($e,$e,[de/i.EXTENT,de/i.EXTENT,1]),i.multiply($e,K?this.alignedProjMatrix:this.projMatrix,$e),$[O]=new Float32Array($e),$[O]},yo.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},yo.prototype._constrain=function(){if(!(!this.center||!this.width||!this.height||this._constraining)){this._constraining=!0;var z=-90,K=90,O=-180,$=180,pe,de,Ie,$e,pt=this.size,Kt=this._unmodified;if(this.latRange){var ir=this.latRange;z=i.mercatorYfromLat(ir[1])*this.worldSize,K=i.mercatorYfromLat(ir[0])*this.worldSize,pe=K-z<pt.y?pt.y/(K-z):0}if(this.lngRange){var Jt=this.lngRange;O=i.mercatorXfromLng(Jt[0])*this.worldSize,$=i.mercatorXfromLng(Jt[1])*this.worldSize,de=$-O<pt.x?pt.x/($-O):0}var vt=this.point,Pt=Math.max(de||0,pe||0);if(Pt){this.center=this.unproject(new i.Point(de?($+O)/2:vt.x,pe?(K+z)/2:vt.y)),this.zoom+=this.scaleZoom(Pt),this._unmodified=Kt,this._constraining=!1;return}if(this.latRange){var Wt=vt.y,rr=pt.y/2;Wt-rr<z&&($e=z+rr),Wt+rr>K&&($e=K-rr)}if(this.lngRange){var dr=vt.x,pr=pt.x/2;dr-pr<O&&(Ie=O+pr),dr+pr>$&&(Ie=$-pr)}(Ie!==void 0||$e!==void 0)&&(this.center=this.unproject(new i.Point(Ie!==void 0?Ie:vt.x,$e!==void 0?$e:vt.y))),this._unmodified=Kt,this._constraining=!1}},yo.prototype._calcMatrices=function(){if(this.height){var z=this._fov/2,K=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(z)*this.height;var O=Math.PI/2+this._pitch,$=this._fov*(.5+K.y/this.height),pe=Math.sin($)*this.cameraToCenterDistance/Math.sin(i.clamp(Math.PI-O-$,.01,Math.PI-.01)),de=this.point,Ie=de.x,$e=de.y,pt=Math.cos(Math.PI/2-this._pitch)*pe+this.cameraToCenterDistance,Kt=pt*1.01,ir=this.height/50,Jt=new Float64Array(16);i.perspective(Jt,this._fov,this.width/this.height,ir,Kt),Jt[8]=-K.x*2/this.width,Jt[9]=K.y*2/this.height,i.scale(Jt,Jt,[1,-1,1]),i.translate(Jt,Jt,[0,0,-this.cameraToCenterDistance]),i.rotateX(Jt,Jt,this._pitch),i.rotateZ(Jt,Jt,this.angle),i.translate(Jt,Jt,[-Ie,-$e,0]),this.mercatorMatrix=i.scale([],Jt,[this.worldSize,this.worldSize,this.worldSize]),i.scale(Jt,Jt,[1,1,i.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=Jt,this.invProjMatrix=i.invert([],this.projMatrix);var vt=this.width%2/2,Pt=this.height%2/2,Wt=Math.cos(this.angle),rr=Math.sin(this.angle),dr=Ie-Math.round(Ie)+Wt*vt+rr*Pt,pr=$e-Math.round($e)+Wt*Pt+rr*vt,kr=new Float64Array(Jt);if(i.translate(kr,kr,[dr>.5?dr-1:dr,pr>.5?pr-1:pr,0]),this.alignedProjMatrix=kr,Jt=i.create(),i.scale(Jt,Jt,[this.width/2,-this.height/2,1]),i.translate(Jt,Jt,[1,-1,0]),this.labelPlaneMatrix=Jt,Jt=i.create(),i.scale(Jt,Jt,[1,-1,1]),i.translate(Jt,Jt,[-1,-1,0]),i.scale(Jt,Jt,[2/this.width,2/this.height,1]),this.glCoordMatrix=Jt,this.pixelMatrix=i.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),Jt=i.invert(new Float64Array(16),this.pixelMatrix),!Jt)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=Jt,this._posMatrixCache={},this._alignedPosMatrixCache={}}},yo.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var z=this.pointCoordinate(new i.Point(0,0)),K=[z.x*this.worldSize,z.y*this.worldSize,0,1],O=i.transformMat4(K,K,this.pixelMatrix);return O[3]/this.cameraToCenterDistance},yo.prototype.getCameraPoint=function(){var z=this._pitch,K=Math.tan(z)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new i.Point(0,K))},yo.prototype.getCameraQueryGeometry=function(z){var K=this.getCameraPoint();if(z.length===1)return[z[0],K];for(var O=K.x,$=K.y,pe=K.x,de=K.y,Ie=0,$e=z;Ie<$e.length;Ie+=1){var pt=$e[Ie];O=Math.min(O,pt.x),$=Math.min($,pt.y),pe=Math.max(pe,pt.x),de=Math.max(de,pt.y)}return[new i.Point(O,$),new i.Point(pe,$),new i.Point(pe,de),new i.Point(O,de),new i.Point(O,$)]},Object.defineProperties(yo.prototype,po);function _l(Y,z){var K=!1,O=null,$=function(){O=null,K&&(Y(),O=setTimeout($,z),K=!1)};return function(){return K=!0,O||$(),O}}var Hl=function(z){this._hashName=z&&encodeURIComponent(z),i.bindAll([\"_getCurrentHash\",\"_onHashChange\",\"_updateHash\"],this),this._updateHash=_l(this._updateHashUnthrottled.bind(this),30*1e3/100)};Hl.prototype.addTo=function(z){return this._map=z,i.window.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},Hl.prototype.remove=function(){return i.window.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},Hl.prototype.getHashString=function(z){var K=this._map.getCenter(),O=Math.round(this._map.getZoom()*100)/100,$=Math.ceil((O*Math.LN2+Math.log(512/360/.5))/Math.LN10),pe=Math.pow(10,$),de=Math.round(K.lng*pe)/pe,Ie=Math.round(K.lat*pe)/pe,$e=this._map.getBearing(),pt=this._map.getPitch(),Kt=\"\";if(z?Kt+=\"/\"+de+\"/\"+Ie+\"/\"+O:Kt+=O+\"/\"+Ie+\"/\"+de,($e||pt)&&(Kt+=\"/\"+Math.round($e*10)/10),pt&&(Kt+=\"/\"+Math.round(pt)),this._hashName){var ir=this._hashName,Jt=!1,vt=i.window.location.hash.slice(1).split(\"&\").map(function(Pt){var Wt=Pt.split(\"=\")[0];return Wt===ir?(Jt=!0,Wt+\"=\"+Kt):Pt}).filter(function(Pt){return Pt});return Jt||vt.push(ir+\"=\"+Kt),\"#\"+vt.join(\"&\")}return\"#\"+Kt},Hl.prototype._getCurrentHash=function(){var z=this,K=i.window.location.hash.replace(\"#\",\"\");if(this._hashName){var O;return K.split(\"&\").map(function($){return $.split(\"=\")}).forEach(function($){$[0]===z._hashName&&(O=$)}),(O&&O[1]||\"\").split(\"/\")}return K.split(\"/\")},Hl.prototype._onHashChange=function(){var z=this._getCurrentHash();if(z.length>=3&&!z.some(function(O){return isNaN(O)})){var K=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(z[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+z[2],+z[1]],zoom:+z[0],bearing:K,pitch:+(z[4]||0)}),!0}return!1},Hl.prototype._updateHashUnthrottled=function(){var z=i.window.location.href.replace(/(#.+)?$/,this.getHashString());try{i.window.history.replaceState(i.window.history.state,null,z)}catch(K){}};var Zu={linearity:.3,easing:i.bezier(0,0,.3,1)},cu=i.extend({deceleration:2500,maxSpeed:1400},Zu),el=i.extend({deceleration:20,maxSpeed:1400},Zu),au=i.extend({deceleration:1e3,maxSpeed:360},Zu),zc=i.extend({deceleration:1e3,maxSpeed:90},Zu),zl=function(z){this._map=z,this.clear()};zl.prototype.clear=function(){this._inertiaBuffer=[]},zl.prototype.record=function(z){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:i.browser.now(),settings:z})},zl.prototype._drainInertiaBuffer=function(){for(var z=this._inertiaBuffer,K=i.browser.now(),O=160;z.length>0&&K-z[0].time>O;)z.shift()},zl.prototype._onMoveEnd=function(z){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var K={zoom:0,bearing:0,pitch:0,pan:new i.Point(0,0),pinchAround:void 0,around:void 0},O=0,$=this._inertiaBuffer;O<$.length;O+=1){var pe=$[O],de=pe.settings;K.zoom+=de.zoomDelta||0,K.bearing+=de.bearingDelta||0,K.pitch+=de.pitchDelta||0,de.panDelta&&K.pan._add(de.panDelta),de.around&&(K.around=de.around),de.pinchAround&&(K.pinchAround=de.pinchAround)}var Ie=this._inertiaBuffer[this._inertiaBuffer.length-1],$e=Ie.time-this._inertiaBuffer[0].time,pt={};if(K.pan.mag()){var Kt=Z(K.pan.mag(),$e,i.extend({},cu,z||{}));pt.offset=K.pan.mult(Kt.amount/K.pan.mag()),pt.center=this._map.transform.center,Fl(pt,Kt)}if(K.zoom){var ir=Z(K.zoom,$e,el);pt.zoom=this._map.transform.zoom+ir.amount,Fl(pt,ir)}if(K.bearing){var Jt=Z(K.bearing,$e,au);pt.bearing=this._map.transform.bearing+i.clamp(Jt.amount,-179,179),Fl(pt,Jt)}if(K.pitch){var vt=Z(K.pitch,$e,zc);pt.pitch=this._map.transform.pitch+vt.amount,Fl(pt,vt)}if(pt.zoom||pt.bearing){var Pt=K.pinchAround===void 0?K.around:K.pinchAround;pt.around=Pt?this._map.unproject(Pt):this._map.getCenter()}return this.clear(),i.extend(pt,{noMoveStart:!0})}};function Fl(Y,z){(!Y.duration||Y.duration<z.duration)&&(Y.duration=z.duration,Y.easing=z.easing)}function Z(Y,z,K){var O=K.maxSpeed,$=K.linearity,pe=K.deceleration,de=i.clamp(Y*$/(z/1e3),-O,O),Ie=Math.abs(de)/(pe*$);return{easing:K.easing,duration:Ie*1e3,amount:de*(Ie/2)}}var oe=function(Y){function z(O,$,pe,de){de===void 0&&(de={});var Ie=o.mousePos($.getCanvasContainer(),pe),$e=$.unproject(Ie);Y.call(this,O,i.extend({point:Ie,lngLat:$e,originalEvent:pe},de)),this._defaultPrevented=!1,this.target=$}Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z;var K={defaultPrevented:{configurable:!0}};return z.prototype.preventDefault=function(){this._defaultPrevented=!0},K.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(z.prototype,K),z}(i.Event),we=function(Y){function z(O,$,pe){var de=O===\"touchend\"?pe.changedTouches:pe.touches,Ie=o.touchPos($.getCanvasContainer(),de),$e=Ie.map(function(ir){return $.unproject(ir)}),pt=Ie.reduce(function(ir,Jt,vt,Pt){return ir.add(Jt.div(Pt.length))},new i.Point(0,0)),Kt=$.unproject(pt);Y.call(this,O,{points:Ie,point:pt,lngLats:$e,lngLat:Kt,originalEvent:pe}),this._defaultPrevented=!1}Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z;var K={defaultPrevented:{configurable:!0}};return z.prototype.preventDefault=function(){this._defaultPrevented=!0},K.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(z.prototype,K),z}(i.Event),Be=function(Y){function z(O,$,pe){Y.call(this,O,{originalEvent:pe}),this._defaultPrevented=!1}Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z;var K={defaultPrevented:{configurable:!0}};return z.prototype.preventDefault=function(){this._defaultPrevented=!0},K.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(z.prototype,K),z}(i.Event),Ue=function(z,K){this._map=z,this._clickTolerance=K.clickTolerance};Ue.prototype.reset=function(){delete this._mousedownPos},Ue.prototype.wheel=function(z){return this._firePreventable(new Be(z.type,this._map,z))},Ue.prototype.mousedown=function(z,K){return this._mousedownPos=K,this._firePreventable(new oe(z.type,this._map,z))},Ue.prototype.mouseup=function(z){this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.click=function(z,K){this._mousedownPos&&this._mousedownPos.dist(K)>=this._clickTolerance||this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.dblclick=function(z){return this._firePreventable(new oe(z.type,this._map,z))},Ue.prototype.mouseover=function(z){this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.mouseout=function(z){this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.touchstart=function(z){return this._firePreventable(new we(z.type,this._map,z))},Ue.prototype.touchmove=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype.touchend=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype.touchcancel=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype._firePreventable=function(z){if(this._map.fire(z),z.defaultPrevented)return{}},Ue.prototype.isEnabled=function(){return!0},Ue.prototype.isActive=function(){return!1},Ue.prototype.enable=function(){},Ue.prototype.disable=function(){};var We=function(z){this._map=z};We.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},We.prototype.mousemove=function(z){this._map.fire(new oe(z.type,this._map,z))},We.prototype.mousedown=function(){this._delayContextMenu=!0},We.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new oe(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},We.prototype.contextmenu=function(z){this._delayContextMenu?this._contextMenuEvent=z:this._map.fire(new oe(z.type,this._map,z)),this._map.listens(\"contextmenu\")&&z.preventDefault()},We.prototype.isEnabled=function(){return!0},We.prototype.isActive=function(){return!1},We.prototype.enable=function(){},We.prototype.disable=function(){};var wt=function(z,K){this._map=z,this._el=z.getCanvasContainer(),this._container=z.getContainer(),this._clickTolerance=K.clickTolerance||1};wt.prototype.isEnabled=function(){return!!this._enabled},wt.prototype.isActive=function(){return!!this._active},wt.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},wt.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},wt.prototype.mousedown=function(z,K){this.isEnabled()&&z.shiftKey&&z.button===0&&(o.disableDrag(),this._startPos=this._lastPos=K,this._active=!0)},wt.prototype.mousemoveWindow=function(z,K){if(this._active){var O=K;if(!(this._lastPos.equals(O)||!this._box&&O.dist(this._startPos)<this._clickTolerance)){var $=this._startPos;this._lastPos=O,this._box||(this._box=o.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",z));var pe=Math.min($.x,O.x),de=Math.max($.x,O.x),Ie=Math.min($.y,O.y),$e=Math.max($.y,O.y);o.setTransform(this._box,\"translate(\"+pe+\"px,\"+Ie+\"px)\"),this._box.style.width=de-pe+\"px\",this._box.style.height=$e-Ie+\"px\"}}},wt.prototype.mouseupWindow=function(z,K){var O=this;if(this._active&&z.button===0){var $=this._startPos,pe=K;if(this.reset(),o.suppressClick(),$.x===pe.x&&$.y===pe.y)this._fireEvent(\"boxzoomcancel\",z);else return this._map.fire(new i.Event(\"boxzoomend\",{originalEvent:z})),{cameraAnimation:function(de){return de.fitScreenCoordinates($,pe,O._map.getBearing(),{linear:!0})}}}},wt.prototype.keydown=function(z){this._active&&z.keyCode===27&&(this.reset(),this._fireEvent(\"boxzoomcancel\",z))},wt.prototype.reset=function(){this._active=!1,this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(o.remove(this._box),this._box=null),o.enableDrag(),delete this._startPos,delete this._lastPos},wt.prototype._fireEvent=function(z,K){return this._map.fire(new i.Event(z,{originalEvent:K}))};function tt(Y,z){for(var K={},O=0;O<Y.length;O++)K[Y[O].identifier]=z[O];return K}function zt(Y){for(var z=new i.Point(0,0),K=0,O=Y;K<O.length;K+=1){var $=O[K];z._add($)}return z.div(Y.length)}var or=500,lr=500,Dr=30,Ir=function(z){this.reset(),this.numTouches=z.numTouches};Ir.prototype.reset=function(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1},Ir.prototype.touchstart=function(z,K,O){(this.centroid||O.length>this.numTouches)&&(this.aborted=!0),!this.aborted&&(this.startTime===void 0&&(this.startTime=z.timeStamp),O.length===this.numTouches&&(this.centroid=zt(K),this.touches=tt(O,K)))},Ir.prototype.touchmove=function(z,K,O){if(!(this.aborted||!this.centroid)){var $=tt(O,K);for(var pe in this.touches){var de=this.touches[pe],Ie=$[pe];(!Ie||Ie.dist(de)>Dr)&&(this.aborted=!0)}}},Ir.prototype.touchend=function(z,K,O){if((!this.centroid||z.timeStamp-this.startTime>lr)&&(this.aborted=!0),O.length===0){var $=!this.aborted&&this.centroid;if(this.reset(),$)return $}};var oi=function(z){this.singleTap=new Ir(z),this.numTaps=z.numTaps,this.reset()};oi.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},oi.prototype.touchstart=function(z,K,O){this.singleTap.touchstart(z,K,O)},oi.prototype.touchmove=function(z,K,O){this.singleTap.touchmove(z,K,O)},oi.prototype.touchend=function(z,K,O){var $=this.singleTap.touchend(z,K,O);if($){var pe=z.timeStamp-this.lastTime<or,de=!this.lastTap||this.lastTap.dist($)<Dr;if((!pe||!de)&&this.reset(),this.count++,this.lastTime=z.timeStamp,this.lastTap=$,this.count===this.numTaps)return this.reset(),$}};var ui=function(){this._zoomIn=new oi({numTouches:1,numTaps:2}),this._zoomOut=new oi({numTouches:2,numTaps:1}),this.reset()};ui.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},ui.prototype.touchstart=function(z,K,O){this._zoomIn.touchstart(z,K,O),this._zoomOut.touchstart(z,K,O)},ui.prototype.touchmove=function(z,K,O){this._zoomIn.touchmove(z,K,O),this._zoomOut.touchmove(z,K,O)},ui.prototype.touchend=function(z,K,O){var $=this,pe=this._zoomIn.touchend(z,K,O),de=this._zoomOut.touchend(z,K,O);if(pe)return this._active=!0,z.preventDefault(),setTimeout(function(){return $.reset()},0),{cameraAnimation:function(Ie){return Ie.easeTo({duration:300,zoom:Ie.getZoom()+1,around:Ie.unproject(pe)},{originalEvent:z})}};if(de)return this._active=!0,z.preventDefault(),setTimeout(function(){return $.reset()},0),{cameraAnimation:function(Ie){return Ie.easeTo({duration:300,zoom:Ie.getZoom()-1,around:Ie.unproject(de)},{originalEvent:z})}}},ui.prototype.touchcancel=function(){this.reset()},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 qr=0,Kr=2,ii={};ii[qr]=1,ii[Kr]=2;function vi(Y,z){var K=ii[z];return Y.buttons===void 0||(Y.buttons&K)!==K}var ci=function(z){this.reset(),this._clickTolerance=z.clickTolerance||1};ci.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},ci.prototype._correctButton=function(z,K){return!1},ci.prototype._move=function(z,K){return{}},ci.prototype.mousedown=function(z,K){if(!this._lastPoint){var O=o.mouseButton(z);this._correctButton(z,O)&&(this._lastPoint=K,this._eventButton=O)}},ci.prototype.mousemoveWindow=function(z,K){var O=this._lastPoint;if(O){if(z.preventDefault(),vi(z,this._eventButton)){this.reset();return}if(!(!this._moved&&K.dist(O)<this._clickTolerance))return this._moved=!0,this._lastPoint=K,this._move(O,K)}},ci.prototype.mouseupWindow=function(z){if(this._lastPoint){var K=o.mouseButton(z);K===this._eventButton&&(this._moved&&o.suppressClick(),this.reset())}},ci.prototype.enable=function(){this._enabled=!0},ci.prototype.disable=function(){this._enabled=!1,this.reset()},ci.prototype.isEnabled=function(){return this._enabled},ci.prototype.isActive=function(){return this._active};var Jr=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.mousedown=function(O,$){Y.prototype.mousedown.call(this,O,$),this._lastPoint&&(this._active=!0)},z.prototype._correctButton=function(O,$){return $===qr&&!O.ctrlKey},z.prototype._move=function(O,$){return{around:$,panDelta:$.sub(O)}},z}(ci),un=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype._correctButton=function(O,$){return $===qr&&O.ctrlKey||$===Kr},z.prototype._move=function(O,$){var pe=.8,de=($.x-O.x)*pe;if(de)return this._active=!0,{bearingDelta:de}},z.prototype.contextmenu=function(O){O.preventDefault()},z}(ci),dn=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype._correctButton=function(O,$){return $===qr&&O.ctrlKey||$===Kr},z.prototype._move=function(O,$){var pe=-.5,de=($.y-O.y)*pe;if(de)return this._active=!0,{pitchDelta:de}},z.prototype.contextmenu=function(O){O.preventDefault()},z}(ci),En=function(z){this._minTouches=1,this._clickTolerance=z.clickTolerance||1,this.reset()};En.prototype.reset=function(){this._active=!1,this._touches={},this._sum=new i.Point(0,0)},En.prototype.touchstart=function(z,K,O){return this._calculateTransform(z,K,O)},En.prototype.touchmove=function(z,K,O){if(!(!this._active||O.length<this._minTouches))return z.preventDefault(),this._calculateTransform(z,K,O)},En.prototype.touchend=function(z,K,O){this._calculateTransform(z,K,O),this._active&&O.length<this._minTouches&&this.reset()},En.prototype.touchcancel=function(){this.reset()},En.prototype._calculateTransform=function(z,K,O){O.length>0&&(this._active=!0);var $=tt(O,K),pe=new i.Point(0,0),de=new i.Point(0,0),Ie=0;for(var $e in $){var pt=$[$e],Kt=this._touches[$e];Kt&&(pe._add(pt),de._add(pt.sub(Kt)),Ie++,$[$e]=pt)}if(this._touches=$,!(Ie<this._minTouches||!de.mag())){var ir=de.div(Ie);if(this._sum._add(ir),!(this._sum.mag()<this._clickTolerance)){var Jt=pe.div(Ie);return{around:Jt,panDelta:ir}}}},En.prototype.enable=function(){this._enabled=!0},En.prototype.disable=function(){this._enabled=!1,this.reset()},En.prototype.isEnabled=function(){return this._enabled},En.prototype.isActive=function(){return this._active};var Nn=function(){this.reset()};Nn.prototype.reset=function(){this._active=!1,delete this._firstTwoTouches},Nn.prototype._start=function(z){},Nn.prototype._move=function(z,K,O){return{}},Nn.prototype.touchstart=function(z,K,O){this._firstTwoTouches||O.length<2||(this._firstTwoTouches=[O[0].identifier,O[1].identifier],this._start([K[0],K[1]]))},Nn.prototype.touchmove=function(z,K,O){if(this._firstTwoTouches){z.preventDefault();var $=this._firstTwoTouches,pe=$[0],de=$[1],Ie=ga(O,K,pe),$e=ga(O,K,de);if(!(!Ie||!$e)){var pt=this._aroundCenter?null:Ie.add($e).div(2);return this._move([Ie,$e],pt,z)}}},Nn.prototype.touchend=function(z,K,O){if(this._firstTwoTouches){var $=this._firstTwoTouches,pe=$[0],de=$[1],Ie=ga(O,K,pe),$e=ga(O,K,de);Ie&&$e||(this._active&&o.suppressClick(),this.reset())}},Nn.prototype.touchcancel=function(){this.reset()},Nn.prototype.enable=function(z){this._enabled=!0,this._aroundCenter=!!z&&z.around===\"center\"},Nn.prototype.disable=function(){this._enabled=!1,this.reset()},Nn.prototype.isEnabled=function(){return this._enabled},Nn.prototype.isActive=function(){return this._active};function ga(Y,z,K){for(var O=0;O<Y.length;O++)if(Y[O].identifier===K)return z[O]}var ya=.1;function so(Y,z){return Math.log(Y/z)/Math.LN2}var wa=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.reset=function(){Y.prototype.reset.call(this),delete this._distance,delete this._startDistance},z.prototype._start=function(O){this._startDistance=this._distance=O[0].dist(O[1])},z.prototype._move=function(O,$){var pe=this._distance;if(this._distance=O[0].dist(O[1]),!(!this._active&&Math.abs(so(this._distance,this._startDistance))<ya))return this._active=!0,{zoomDelta:so(this._distance,pe),pinchAround:$}},z}(Nn),io=25;function Ss(Y,z){return Y.angleWith(z)*180/Math.PI}var _s=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.reset=function(){Y.prototype.reset.call(this),delete this._minDiameter,delete this._startVector,delete this._vector},z.prototype._start=function(O){this._startVector=this._vector=O[0].sub(O[1]),this._minDiameter=O[0].dist(O[1])},z.prototype._move=function(O,$){var pe=this._vector;if(this._vector=O[0].sub(O[1]),!(!this._active&&this._isBelowThreshold(this._vector)))return this._active=!0,{bearingDelta:Ss(this._vector,pe),pinchAround:$}},z.prototype._isBelowThreshold=function(O){this._minDiameter=Math.min(this._minDiameter,O.mag());var $=Math.PI*this._minDiameter,pe=io/$*360,de=Ss(O,this._startVector);return Math.abs(de)<pe},z}(Nn);function Ns(Y){return Math.abs(Y.y)>Math.abs(Y.x)}var pn=100,za=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.reset=function(){Y.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},z.prototype._start=function(O){this._lastPoints=O,Ns(O[0].sub(O[1]))&&(this._valid=!1)},z.prototype._move=function(O,$,pe){var de=O[0].sub(this._lastPoints[0]),Ie=O[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(de,Ie,pe.timeStamp),!!this._valid){this._lastPoints=O,this._active=!0;var $e=(de.y+Ie.y)/2,pt=-.5;return{pitchDelta:$e*pt}}},z.prototype.gestureBeginsVertically=function(O,$,pe){if(this._valid!==void 0)return this._valid;var de=2,Ie=O.mag()>=de,$e=$.mag()>=de;if(!(!Ie&&!$e)){if(!Ie||!$e)return this._firstMove===void 0&&(this._firstMove=pe),pe-this._firstMove<pn?void 0:!1;var pt=O.y>0==$.y>0;return Ns(O)&&Ns($)&&pt}},z}(Nn),Lo={panStep:100,bearingStep:15,pitchStep:10},Fo=function(){var z=Lo;this._panStep=z.panStep,this._bearingStep=z.bearingStep,this._pitchStep=z.pitchStep,this._rotationDisabled=!1};Fo.prototype.reset=function(){this._active=!1},Fo.prototype.keydown=function(z){var K=this;if(!(z.altKey||z.ctrlKey||z.metaKey)){var O=0,$=0,pe=0,de=0,Ie=0;switch(z.keyCode){case 61:case 107:case 171:case 187:O=1;break;case 189:case 109:case 173:O=-1;break;case 37:z.shiftKey?$=-1:(z.preventDefault(),de=-1);break;case 39:z.shiftKey?$=1:(z.preventDefault(),de=1);break;case 38:z.shiftKey?pe=1:(z.preventDefault(),Ie=-1);break;case 40:z.shiftKey?pe=-1:(z.preventDefault(),Ie=1);break;default:return}return this._rotationDisabled&&($=0,pe=0),{cameraAnimation:function($e){var pt=$e.getZoom();$e.easeTo({duration:300,easeId:\"keyboardHandler\",easing:js,zoom:O?Math.round(pt)+O*(z.shiftKey?2:1):pt,bearing:$e.getBearing()+$*K._bearingStep,pitch:$e.getPitch()+pe*K._pitchStep,offset:[-de*K._panStep,-Ie*K._panStep],center:$e.getCenter()},{originalEvent:z})}}}},Fo.prototype.enable=function(){this._enabled=!0},Fo.prototype.disable=function(){this._enabled=!1,this.reset()},Fo.prototype.isEnabled=function(){return this._enabled},Fo.prototype.isActive=function(){return this._active},Fo.prototype.disableRotation=function(){this._rotationDisabled=!0},Fo.prototype.enableRotation=function(){this._rotationDisabled=!1};function js(Y){return Y*(2-Y)}var xl=4.000244140625,fu=1/100,dl=1/450,xc=2,At=function(z,K){this._map=z,this._el=z.getCanvasContainer(),this._handler=K,this._delta=0,this._defaultZoomRate=fu,this._wheelZoomRate=dl,i.bindAll([\"_onTimeout\"],this)};At.prototype.setZoomRate=function(z){this._defaultZoomRate=z},At.prototype.setWheelZoomRate=function(z){this._wheelZoomRate=z},At.prototype.isEnabled=function(){return!!this._enabled},At.prototype.isActive=function(){return!!this._active||this._finishTimeout!==void 0},At.prototype.isZooming=function(){return!!this._zooming},At.prototype.enable=function(z){this.isEnabled()||(this._enabled=!0,this._aroundCenter=z&&z.around===\"center\")},At.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},At.prototype.wheel=function(z){if(this.isEnabled()){var K=z.deltaMode===i.window.WheelEvent.DOM_DELTA_LINE?z.deltaY*40:z.deltaY,O=i.browser.now(),$=O-(this._lastWheelEventTime||0);this._lastWheelEventTime=O,K!==0&&K%xl===0?this._type=\"wheel\":K!==0&&Math.abs(K)<4?this._type=\"trackpad\":$>400?(this._type=null,this._lastValue=K,this._timeout=setTimeout(this._onTimeout,40,z)):this._type||(this._type=Math.abs($*K)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,K+=this._lastValue)),z.shiftKey&&K&&(K=K/4),this._type&&(this._lastWheelEvent=z,this._delta-=K,this._active||this._start(z)),z.preventDefault()}},At.prototype._onTimeout=function(z){this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(z)},At.prototype._start=function(z){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 K=o.mousePos(this._el,z);this._around=i.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(K)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},At.prototype.renderFrame=function(){var z=this;if(this._frameId&&(this._frameId=null,!!this.isActive())){var K=this._map.transform;if(this._delta!==0){var O=this._type===\"wheel\"&&Math.abs(this._delta)>xl?this._wheelZoomRate:this._defaultZoomRate,$=xc/(1+Math.exp(-Math.abs(this._delta*O)));this._delta<0&&$!==0&&($=1/$);var pe=typeof this._targetZoom==\"number\"?K.zoomScale(this._targetZoom):K.scale;this._targetZoom=Math.min(K.maxZoom,Math.max(K.minZoom,K.scaleZoom(pe*$))),this._type===\"wheel\"&&(this._startZoom=K.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var de=typeof this._targetZoom==\"number\"?this._targetZoom:K.zoom,Ie=this._startZoom,$e=this._easing,pt=!1,Kt;if(this._type===\"wheel\"&&Ie&&$e){var ir=Math.min((i.browser.now()-this._lastWheelEventTime)/200,1),Jt=$e(ir);Kt=i.number(Ie,de,Jt),ir<1?this._frameId||(this._frameId=!0):pt=!0}else Kt=de,pt=!0;return this._active=!0,pt&&(this._active=!1,this._finishTimeout=setTimeout(function(){z._zooming=!1,z._handler._triggerRenderFrame(),delete z._targetZoom,delete z._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!pt,zoomDelta:Kt-K.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},At.prototype._smoothOutEasing=function(z){var K=i.ease;if(this._prevEase){var O=this._prevEase,$=(i.browser.now()-O.start)/O.duration,pe=O.easing($+.01)-O.easing($),de=.27/Math.sqrt(pe*pe+1e-4)*.01,Ie=Math.sqrt(.27*.27-de*de);K=i.bezier(de,Ie,.25,1)}return this._prevEase={start:i.browser.now(),duration:z,easing:K},K},At.prototype.reset=function(){this._active=!1};var Er=function(z,K){this._clickZoom=z,this._tapZoom=K};Er.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},Er.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},Er.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},Er.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var Wr=function(){this.reset()};Wr.prototype.reset=function(){this._active=!1},Wr.prototype.dblclick=function(z,K){return z.preventDefault(),{cameraAnimation:function(O){O.easeTo({duration:300,zoom:O.getZoom()+(z.shiftKey?-1:1),around:O.unproject(K)},{originalEvent:z})}}},Wr.prototype.enable=function(){this._enabled=!0},Wr.prototype.disable=function(){this._enabled=!1,this.reset()},Wr.prototype.isEnabled=function(){return this._enabled},Wr.prototype.isActive=function(){return this._active};var wi=function(){this._tap=new oi({numTouches:1,numTaps:1}),this.reset()};wi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},wi.prototype.touchstart=function(z,K,O){this._swipePoint||(this._tapTime&&z.timeStamp-this._tapTime>or&&this.reset(),this._tapTime?O.length>0&&(this._swipePoint=K[0],this._swipeTouch=O[0].identifier):this._tap.touchstart(z,K,O))},wi.prototype.touchmove=function(z,K,O){if(!this._tapTime)this._tap.touchmove(z,K,O);else if(this._swipePoint){if(O[0].identifier!==this._swipeTouch)return;var $=K[0],pe=$.y-this._swipePoint.y;return this._swipePoint=$,z.preventDefault(),this._active=!0,{zoomDelta:pe/128}}},wi.prototype.touchend=function(z,K,O){if(this._tapTime)this._swipePoint&&O.length===0&&this.reset();else{var $=this._tap.touchend(z,K,O);$&&(this._tapTime=z.timeStamp)}},wi.prototype.touchcancel=function(){this.reset()},wi.prototype.enable=function(){this._enabled=!0},wi.prototype.disable=function(){this._enabled=!1,this.reset()},wi.prototype.isEnabled=function(){return this._enabled},wi.prototype.isActive=function(){return this._active};var Ui=function(z,K,O){this._el=z,this._mousePan=K,this._touchPan=O};Ui.prototype.enable=function(z){this._inertiaOptions=z||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"mapboxgl-touch-drag-pan\")},Ui.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"mapboxgl-touch-drag-pan\")},Ui.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},Ui.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var Oi=function(z,K,O){this._pitchWithRotate=z.pitchWithRotate,this._mouseRotate=K,this._mousePitch=O};Oi.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},Oi.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},Oi.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},Oi.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var Bi=function(z,K,O,$){this._el=z,this._touchZoom=K,this._touchRotate=O,this._tapDragZoom=$,this._rotationDisabled=!1,this._enabled=!0};Bi.prototype.enable=function(z){this._touchZoom.enable(z),this._rotationDisabled||this._touchRotate.enable(z),this._tapDragZoom.enable(),this._el.classList.add(\"mapboxgl-touch-zoom-rotate\")},Bi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\")},Bi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},Bi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},Bi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},Bi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var cn=function(Y){return Y.zoom||Y.drag||Y.pitch||Y.rotate},On=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z}(i.Event);function Bn(Y){return Y.panDelta&&Y.panDelta.mag()||Y.zoomDelta||Y.bearingDelta||Y.pitchDelta}var yn=function(z,K){this._map=z,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new zl(z),this._bearingSnap=K.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(K),i.bindAll([\"handleEvent\",\"handleWindowEvent\"],this);var O=this._el;this._listeners=[[O,\"touchstart\",{passive:!0}],[O,\"touchmove\",{passive:!1}],[O,\"touchend\",void 0],[O,\"touchcancel\",void 0],[O,\"mousedown\",void 0],[O,\"mousemove\",void 0],[O,\"mouseup\",void 0],[i.window.document,\"mousemove\",{capture:!0}],[i.window.document,\"mouseup\",void 0],[O,\"mouseover\",void 0],[O,\"mouseout\",void 0],[O,\"dblclick\",void 0],[O,\"click\",void 0],[O,\"keydown\",{capture:!1}],[O,\"keyup\",void 0],[O,\"wheel\",{passive:!1}],[O,\"contextmenu\",void 0],[i.window,\"blur\",void 0]];for(var $=0,pe=this._listeners;$<pe.length;$+=1){var de=pe[$],Ie=de[0],$e=de[1],pt=de[2];o.addEventListener(Ie,$e,Ie===i.window.document?this.handleWindowEvent:this.handleEvent,pt)}};yn.prototype.destroy=function(){for(var z=0,K=this._listeners;z<K.length;z+=1){var O=K[z],$=O[0],pe=O[1],de=O[2];o.removeEventListener($,pe,$===i.window.document?this.handleWindowEvent:this.handleEvent,de)}},yn.prototype._addDefaultHandlers=function(z){var K=this._map,O=K.getCanvasContainer();this._add(\"mapEvent\",new Ue(K,z));var $=K.boxZoom=new wt(K,z);this._add(\"boxZoom\",$);var pe=new ui,de=new Wr;K.doubleClickZoom=new Er(de,pe),this._add(\"tapZoom\",pe),this._add(\"clickZoom\",de);var Ie=new wi;this._add(\"tapDragZoom\",Ie);var $e=K.touchPitch=new za;this._add(\"touchPitch\",$e);var pt=new un(z),Kt=new dn(z);K.dragRotate=new Oi(z,pt,Kt),this._add(\"mouseRotate\",pt,[\"mousePitch\"]),this._add(\"mousePitch\",Kt,[\"mouseRotate\"]);var ir=new Jr(z),Jt=new En(z);K.dragPan=new Ui(O,ir,Jt),this._add(\"mousePan\",ir),this._add(\"touchPan\",Jt,[\"touchZoom\",\"touchRotate\"]);var vt=new _s,Pt=new wa;K.touchZoomRotate=new Bi(O,Pt,vt,Ie),this._add(\"touchRotate\",vt,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",Pt,[\"touchPan\",\"touchRotate\"]);var Wt=K.scrollZoom=new At(K,this);this._add(\"scrollZoom\",Wt,[\"mousePan\"]);var rr=K.keyboard=new Fo;this._add(\"keyboard\",rr),this._add(\"blockableMapEvent\",new We(K));for(var dr=0,pr=[\"boxZoom\",\"doubleClickZoom\",\"tapDragZoom\",\"touchPitch\",\"dragRotate\",\"dragPan\",\"touchZoomRotate\",\"scrollZoom\",\"keyboard\"];dr<pr.length;dr+=1){var kr=pr[dr];z.interactive&&z[kr]&&K[kr].enable(z[kr])}},yn.prototype._add=function(z,K,O){this._handlers.push({handlerName:z,handler:K,allowed:O}),this._handlersById[z]=K},yn.prototype.stop=function(z){if(!this._updatingCamera){for(var K=0,O=this._handlers;K<O.length;K+=1){var $=O[K],pe=$.handler;pe.reset()}this._inertia.clear(),this._fireEvents({},{},z),this._changes=[]}},yn.prototype.isActive=function(){for(var z=0,K=this._handlers;z<K.length;z+=1){var O=K[z],$=O.handler;if($.isActive())return!0}return!1},yn.prototype.isZooming=function(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()},yn.prototype.isRotating=function(){return!!this._eventsInProgress.rotate},yn.prototype.isMoving=function(){return!!cn(this._eventsInProgress)||this.isZooming()},yn.prototype._blockedByActive=function(z,K,O){for(var $ in z)if($!==O&&(!K||K.indexOf($)<0))return!0;return!1},yn.prototype.handleWindowEvent=function(z){this.handleEvent(z,z.type+\"Window\")},yn.prototype._getMapTouches=function(z){for(var K=[],O=0,$=z;O<$.length;O+=1){var pe=$[O],de=pe.target;this._el.contains(de)&&K.push(pe)}return K},yn.prototype.handleEvent=function(z,K){if(z.type===\"blur\"){this.stop(!0);return}this._updatingCamera=!0;for(var O=z.type===\"renderFrame\"?void 0:z,$={needsRenderFrame:!1},pe={},de={},Ie=z.touches?this._getMapTouches(z.touches):void 0,$e=Ie?o.touchPos(this._el,Ie):o.mousePos(this._el,z),pt=0,Kt=this._handlers;pt<Kt.length;pt+=1){var ir=Kt[pt],Jt=ir.handlerName,vt=ir.handler,Pt=ir.allowed;if(vt.isEnabled()){var Wt=void 0;this._blockedByActive(de,Pt,Jt)?vt.reset():vt[K||z.type]&&(Wt=vt[K||z.type](z,$e,Ie),this.mergeHandlerResult($,pe,Wt,Jt,O),Wt&&Wt.needsRenderFrame&&this._triggerRenderFrame()),(Wt||vt.isActive())&&(de[Jt]=vt)}}var rr={};for(var dr in this._previousActiveHandlers)de[dr]||(rr[dr]=O);this._previousActiveHandlers=de,(Object.keys(rr).length||Bn($))&&(this._changes.push([$,pe,rr]),this._triggerRenderFrame()),(Object.keys(de).length||Bn($))&&this._map._stop(!0),this._updatingCamera=!1;var pr=$.cameraAnimation;pr&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],pr(this._map))},yn.prototype.mergeHandlerResult=function(z,K,O,$,pe){if(O){i.extend(z,O);var de={handlerName:$,originalEvent:O.originalEvent||pe};O.zoomDelta!==void 0&&(K.zoom=de),O.panDelta!==void 0&&(K.drag=de),O.pitchDelta!==void 0&&(K.pitch=de),O.bearingDelta!==void 0&&(K.rotate=de)}},yn.prototype._applyChanges=function(){for(var z={},K={},O={},$=0,pe=this._changes;$<pe.length;$+=1){var de=pe[$],Ie=de[0],$e=de[1],pt=de[2];Ie.panDelta&&(z.panDelta=(z.panDelta||new i.Point(0,0))._add(Ie.panDelta)),Ie.zoomDelta&&(z.zoomDelta=(z.zoomDelta||0)+Ie.zoomDelta),Ie.bearingDelta&&(z.bearingDelta=(z.bearingDelta||0)+Ie.bearingDelta),Ie.pitchDelta&&(z.pitchDelta=(z.pitchDelta||0)+Ie.pitchDelta),Ie.around!==void 0&&(z.around=Ie.around),Ie.pinchAround!==void 0&&(z.pinchAround=Ie.pinchAround),Ie.noInertia&&(z.noInertia=Ie.noInertia),i.extend(K,$e),i.extend(O,pt)}this._updateMapTransform(z,K,O),this._changes=[]},yn.prototype._updateMapTransform=function(z,K,O){var $=this._map,pe=$.transform;if(!Bn(z))return this._fireEvents(K,O,!0);var de=z.panDelta,Ie=z.zoomDelta,$e=z.bearingDelta,pt=z.pitchDelta,Kt=z.around,ir=z.pinchAround;ir!==void 0&&(Kt=ir),$._stop(!0),Kt=Kt||$.transform.centerPoint;var Jt=pe.pointLocation(de?Kt.sub(de):Kt);$e&&(pe.bearing+=$e),pt&&(pe.pitch+=pt),Ie&&(pe.zoom+=Ie),pe.setLocationAtPoint(Jt,Kt),this._map._update(),z.noInertia||this._inertia.record(z),this._fireEvents(K,O,!0)},yn.prototype._fireEvents=function(z,K,O){var $=this,pe=cn(this._eventsInProgress),de=cn(z),Ie={};for(var $e in z){var pt=z[$e],Kt=pt.originalEvent;this._eventsInProgress[$e]||(Ie[$e+\"start\"]=Kt),this._eventsInProgress[$e]=z[$e]}!pe&&de&&this._fireEvent(\"movestart\",de.originalEvent);for(var ir in Ie)this._fireEvent(ir,Ie[ir]);de&&this._fireEvent(\"move\",de.originalEvent);for(var Jt in z){var vt=z[Jt],Pt=vt.originalEvent;this._fireEvent(Jt,Pt)}var Wt={},rr;for(var dr in this._eventsInProgress){var pr=this._eventsInProgress[dr],kr=pr.handlerName,Ar=pr.originalEvent;this._handlersById[kr].isActive()||(delete this._eventsInProgress[dr],rr=K[kr]||Ar,Wt[dr+\"end\"]=rr)}for(var gr in Wt)this._fireEvent(gr,Wt[gr]);var Cr=cn(this._eventsInProgress);if(O&&(pe||de)&&!Cr){this._updatingCamera=!0;var cr=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),Gr=function(ei){return ei!==0&&-$._bearingSnap<ei&&ei<$._bearingSnap};cr?(Gr(cr.bearing||this._map.getBearing())&&(cr.bearing=0),this._map.easeTo(cr,{originalEvent:rr})):(this._map.fire(new i.Event(\"moveend\",{originalEvent:rr})),Gr(this._map.getBearing())&&this._map.resetNorth()),this._updatingCamera=!1}},yn.prototype._fireEvent=function(z,K){this._map.fire(new i.Event(z,K?{originalEvent:K}:{}))},yn.prototype._requestFrame=function(){var z=this;return this._map.triggerRepaint(),this._map._renderTaskQueue.add(function(K){delete z._frameId,z.handleEvent(new On(\"renderFrame\",{timeStamp:K})),z._applyChanges()})},yn.prototype._triggerRenderFrame=function(){this._frameId===void 0&&(this._frameId=this._requestFrame())};var to=function(Y){function z(K,O){Y.call(this),this._moving=!1,this._zooming=!1,this.transform=K,this._bearingSnap=O.bearingSnap,i.bindAll([\"_renderFrameCallback\"],this)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.getCenter=function(){return new i.LngLat(this.transform.center.lng,this.transform.center.lat)},z.prototype.setCenter=function(O,$){return this.jumpTo({center:O},$)},z.prototype.panBy=function(O,$,pe){return O=i.Point.convert(O).mult(-1),this.panTo(this.transform.center,i.extend({offset:O},$),pe)},z.prototype.panTo=function(O,$,pe){return this.easeTo(i.extend({center:O},$),pe)},z.prototype.getZoom=function(){return this.transform.zoom},z.prototype.setZoom=function(O,$){return this.jumpTo({zoom:O},$),this},z.prototype.zoomTo=function(O,$,pe){return this.easeTo(i.extend({zoom:O},$),pe)},z.prototype.zoomIn=function(O,$){return this.zoomTo(this.getZoom()+1,O,$),this},z.prototype.zoomOut=function(O,$){return this.zoomTo(this.getZoom()-1,O,$),this},z.prototype.getBearing=function(){return this.transform.bearing},z.prototype.setBearing=function(O,$){return this.jumpTo({bearing:O},$),this},z.prototype.getPadding=function(){return this.transform.padding},z.prototype.setPadding=function(O,$){return this.jumpTo({padding:O},$),this},z.prototype.rotateTo=function(O,$,pe){return this.easeTo(i.extend({bearing:O},$),pe)},z.prototype.resetNorth=function(O,$){return this.rotateTo(0,i.extend({duration:1e3},O),$),this},z.prototype.resetNorthPitch=function(O,$){return this.easeTo(i.extend({bearing:0,pitch:0,duration:1e3},O),$),this},z.prototype.snapToNorth=function(O,$){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(O,$):this},z.prototype.getPitch=function(){return this.transform.pitch},z.prototype.setPitch=function(O,$){return this.jumpTo({pitch:O},$),this},z.prototype.cameraForBounds=function(O,$){O=i.LngLatBounds.convert(O);var pe=$&&$.bearing||0;return this._cameraForBoxAndBearing(O.getNorthWest(),O.getSouthEast(),pe,$)},z.prototype._cameraForBoxAndBearing=function(O,$,pe,de){var Ie={top:0,bottom:0,right:0,left:0};if(de=i.extend({padding:Ie,offset:[0,0],maxZoom:this.transform.maxZoom},de),typeof de.padding==\"number\"){var $e=de.padding;de.padding={top:$e,bottom:$e,right:$e,left:$e}}de.padding=i.extend(Ie,de.padding);var pt=this.transform,Kt=pt.padding,ir=pt.project(i.LngLat.convert(O)),Jt=pt.project(i.LngLat.convert($)),vt=ir.rotate(-pe*Math.PI/180),Pt=Jt.rotate(-pe*Math.PI/180),Wt=new i.Point(Math.max(vt.x,Pt.x),Math.max(vt.y,Pt.y)),rr=new i.Point(Math.min(vt.x,Pt.x),Math.min(vt.y,Pt.y)),dr=Wt.sub(rr),pr=(pt.width-(Kt.left+Kt.right+de.padding.left+de.padding.right))/dr.x,kr=(pt.height-(Kt.top+Kt.bottom+de.padding.top+de.padding.bottom))/dr.y;if(kr<0||pr<0){i.warnOnce(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\");return}var Ar=Math.min(pt.scaleZoom(pt.scale*Math.min(pr,kr)),de.maxZoom),gr=typeof de.offset.x==\"number\"?new i.Point(de.offset.x,de.offset.y):i.Point.convert(de.offset),Cr=(de.padding.left-de.padding.right)/2,cr=(de.padding.top-de.padding.bottom)/2,Gr=new i.Point(Cr,cr),ei=Gr.rotate(pe*Math.PI/180),yi=gr.add(ei),tn=yi.mult(pt.scale/pt.zoomScale(Ar)),Ri=pt.unproject(ir.add(Jt).div(2).sub(tn));return{center:Ri,zoom:Ar,bearing:pe}},z.prototype.fitBounds=function(O,$,pe){return this._fitInternal(this.cameraForBounds(O,$),$,pe)},z.prototype.fitScreenCoordinates=function(O,$,pe,de,Ie){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(i.Point.convert(O)),this.transform.pointLocation(i.Point.convert($)),pe,de),de,Ie)},z.prototype._fitInternal=function(O,$,pe){return O?($=i.extend(O,$),delete $.padding,$.linear?this.easeTo($,pe):this.flyTo($,pe)):this},z.prototype.jumpTo=function(O,$){this.stop();var pe=this.transform,de=!1,Ie=!1,$e=!1;return\"zoom\"in O&&pe.zoom!==+O.zoom&&(de=!0,pe.zoom=+O.zoom),O.center!==void 0&&(pe.center=i.LngLat.convert(O.center)),\"bearing\"in O&&pe.bearing!==+O.bearing&&(Ie=!0,pe.bearing=+O.bearing),\"pitch\"in O&&pe.pitch!==+O.pitch&&($e=!0,pe.pitch=+O.pitch),O.padding!=null&&!pe.isPaddingEqual(O.padding)&&(pe.padding=O.padding),this.fire(new i.Event(\"movestart\",$)).fire(new i.Event(\"move\",$)),de&&this.fire(new i.Event(\"zoomstart\",$)).fire(new i.Event(\"zoom\",$)).fire(new i.Event(\"zoomend\",$)),Ie&&this.fire(new i.Event(\"rotatestart\",$)).fire(new i.Event(\"rotate\",$)).fire(new i.Event(\"rotateend\",$)),$e&&this.fire(new i.Event(\"pitchstart\",$)).fire(new i.Event(\"pitch\",$)).fire(new i.Event(\"pitchend\",$)),this.fire(new i.Event(\"moveend\",$))},z.prototype.easeTo=function(O,$){var pe=this;this._stop(!1,O.easeId),O=i.extend({offset:[0,0],duration:500,easing:i.ease},O),(O.animate===!1||!O.essential&&i.browser.prefersReducedMotion)&&(O.duration=0);var de=this.transform,Ie=this.getZoom(),$e=this.getBearing(),pt=this.getPitch(),Kt=this.getPadding(),ir=\"zoom\"in O?+O.zoom:Ie,Jt=\"bearing\"in O?this._normalizeBearing(O.bearing,$e):$e,vt=\"pitch\"in O?+O.pitch:pt,Pt=\"padding\"in O?O.padding:de.padding,Wt=i.Point.convert(O.offset),rr=de.centerPoint.add(Wt),dr=de.pointLocation(rr),pr=i.LngLat.convert(O.center||dr);this._normalizeCenter(pr);var kr=de.project(dr),Ar=de.project(pr).sub(kr),gr=de.zoomScale(ir-Ie),Cr,cr;O.around&&(Cr=i.LngLat.convert(O.around),cr=de.locationPoint(Cr));var Gr={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=this._zooming||ir!==Ie,this._rotating=this._rotating||$e!==Jt,this._pitching=this._pitching||vt!==pt,this._padding=!de.isPaddingEqual(Pt),this._easeId=O.easeId,this._prepareEase($,O.noMoveStart,Gr),this._ease(function(ei){if(pe._zooming&&(de.zoom=i.number(Ie,ir,ei)),pe._rotating&&(de.bearing=i.number($e,Jt,ei)),pe._pitching&&(de.pitch=i.number(pt,vt,ei)),pe._padding&&(de.interpolatePadding(Kt,Pt,ei),rr=de.centerPoint.add(Wt)),Cr)de.setLocationAtPoint(Cr,cr);else{var yi=de.zoomScale(de.zoom-Ie),tn=ir>Ie?Math.min(2,gr):Math.max(.5,gr),Ri=Math.pow(tn,1-ei),ln=de.unproject(kr.add(Ar.mult(ei*Ri)).mult(yi));de.setLocationAtPoint(de.renderWorldCopies?ln.wrap():ln,rr)}pe._fireMoveEvents($)},function(ei){pe._afterEase($,ei)},O),this},z.prototype._prepareEase=function(O,$,pe){pe===void 0&&(pe={}),this._moving=!0,!$&&!pe.moving&&this.fire(new i.Event(\"movestart\",O)),this._zooming&&!pe.zooming&&this.fire(new i.Event(\"zoomstart\",O)),this._rotating&&!pe.rotating&&this.fire(new i.Event(\"rotatestart\",O)),this._pitching&&!pe.pitching&&this.fire(new i.Event(\"pitchstart\",O))},z.prototype._fireMoveEvents=function(O){this.fire(new i.Event(\"move\",O)),this._zooming&&this.fire(new i.Event(\"zoom\",O)),this._rotating&&this.fire(new i.Event(\"rotate\",O)),this._pitching&&this.fire(new i.Event(\"pitch\",O))},z.prototype._afterEase=function(O,$){if(!(this._easeId&&$&&this._easeId===$)){delete this._easeId;var pe=this._zooming,de=this._rotating,Ie=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,pe&&this.fire(new i.Event(\"zoomend\",O)),de&&this.fire(new i.Event(\"rotateend\",O)),Ie&&this.fire(new i.Event(\"pitchend\",O)),this.fire(new i.Event(\"moveend\",O))}},z.prototype.flyTo=function(O,$){var pe=this;if(!O.essential&&i.browser.prefersReducedMotion){var de=i.pick(O,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(de,$)}this.stop(),O=i.extend({offset:[0,0],speed:1.2,curve:1.42,easing:i.ease},O);var Ie=this.transform,$e=this.getZoom(),pt=this.getBearing(),Kt=this.getPitch(),ir=this.getPadding(),Jt=\"zoom\"in O?i.clamp(+O.zoom,Ie.minZoom,Ie.maxZoom):$e,vt=\"bearing\"in O?this._normalizeBearing(O.bearing,pt):pt,Pt=\"pitch\"in O?+O.pitch:Kt,Wt=\"padding\"in O?O.padding:Ie.padding,rr=Ie.zoomScale(Jt-$e),dr=i.Point.convert(O.offset),pr=Ie.centerPoint.add(dr),kr=Ie.pointLocation(pr),Ar=i.LngLat.convert(O.center||kr);this._normalizeCenter(Ar);var gr=Ie.project(kr),Cr=Ie.project(Ar).sub(gr),cr=O.curve,Gr=Math.max(Ie.width,Ie.height),ei=Gr/rr,yi=Cr.mag();if(\"minZoom\"in O){var tn=i.clamp(Math.min(O.minZoom,$e,Jt),Ie.minZoom,Ie.maxZoom),Ri=Gr/Ie.zoomScale(tn-$e);cr=Math.sqrt(Ri/yi*2)}var ln=cr*cr;function Qn(fo){var as=(ei*ei-Gr*Gr+(fo?-1:1)*ln*ln*yi*yi)/(2*(fo?ei:Gr)*ln*yi);return Math.log(Math.sqrt(as*as+1)-as)}function qn(fo){return(Math.exp(fo)-Math.exp(-fo))/2}function rn(fo){return(Math.exp(fo)+Math.exp(-fo))/2}function bn(fo){return qn(fo)/rn(fo)}var mn=Qn(0),Gn=function(fo){return rn(mn)/rn(mn+cr*fo)},da=function(fo){return Gr*((rn(mn)*bn(mn+cr*fo)-qn(mn))/ln)/yi},No=(Qn(1)-mn)/cr;if(Math.abs(yi)<1e-6||!isFinite(No)){if(Math.abs(Gr-ei)<1e-6)return this.easeTo(O,$);var Do=ei<Gr?-1:1;No=Math.abs(Math.log(ei/Gr))/cr,da=function(){return 0},Gn=function(fo){return Math.exp(Do*cr*fo)}}if(\"duration\"in O)O.duration=+O.duration;else{var ps=\"screenSpeed\"in O?+O.screenSpeed/cr:+O.speed;O.duration=1e3*No/ps}return O.maxDuration&&O.duration>O.maxDuration&&(O.duration=0),this._zooming=!0,this._rotating=pt!==vt,this._pitching=Pt!==Kt,this._padding=!Ie.isPaddingEqual(Wt),this._prepareEase($,!1),this._ease(function(fo){var as=fo*No,tl=1/Gn(as);Ie.zoom=fo===1?Jt:$e+Ie.scaleZoom(tl),pe._rotating&&(Ie.bearing=i.number(pt,vt,fo)),pe._pitching&&(Ie.pitch=i.number(Kt,Pt,fo)),pe._padding&&(Ie.interpolatePadding(ir,Wt,fo),pr=Ie.centerPoint.add(dr));var zu=fo===1?Ar:Ie.unproject(gr.add(Cr.mult(da(as))).mult(tl));Ie.setLocationAtPoint(Ie.renderWorldCopies?zu.wrap():zu,pr),pe._fireMoveEvents($)},function(){return pe._afterEase($)},O),this},z.prototype.isEasing=function(){return!!this._easeFrameId},z.prototype.stop=function(){return this._stop()},z.prototype._stop=function(O,$){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var pe=this._onEaseEnd;delete this._onEaseEnd,pe.call(this,$)}if(!O){var de=this.handlers;de&&de.stop(!1)}return this},z.prototype._ease=function(O,$,pe){pe.animate===!1||pe.duration===0?(O(1),$()):(this._easeStart=i.browser.now(),this._easeOptions=pe,this._onEaseFrame=O,this._onEaseEnd=$,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},z.prototype._renderFrameCallback=function(){var O=Math.min((i.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(O)),O<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},z.prototype._normalizeBearing=function(O,$){O=i.wrap(O,-180,180);var pe=Math.abs(O-$);return Math.abs(O-360-$)<pe&&(O-=360),Math.abs(O+360-$)<pe&&(O+=360),O},z.prototype._normalizeCenter=function(O){var $=this.transform;if(!(!$.renderWorldCopies||$.lngRange)){var pe=O.lng-$.center.lng;O.lng+=pe>180?-360:pe<-180?360:0}},z}(i.Evented),Rn=function(z){z===void 0&&(z={}),this.options=z,i.bindAll([\"_toggleAttribution\",\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this)};Rn.prototype.getDefaultPosition=function(){return\"bottom-right\"},Rn.prototype.onAdd=function(z){var K=this.options&&this.options.compact;return this._map=z,this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),this._compactButton=o.create(\"button\",\"mapboxgl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=o.create(\"div\",\"mapboxgl-ctrl-attrib-inner\",this._container),this._innerContainer.setAttribute(\"role\",\"list\"),K&&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),K===void 0&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},Rn.prototype.onRemove=function(){o.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},Rn.prototype._setElementTitle=function(z,K){var O=this._map._getUIString(\"AttributionControl.\"+K);z.title=O,z.setAttribute(\"aria-label\",O)},Rn.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\"))},Rn.prototype._updateEditLink=function(){var z=this._editLink;z||(z=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));var K=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:this._map._requestManager._customAccessToken||i.config.ACCESS_TOKEN}];if(z){var O=K.reduce(function($,pe,de){return pe.value&&($+=pe.key+\"=\"+pe.value+(de<K.length-1?\"&\":\"\")),$},\"?\");z.href=i.config.FEEDBACK_URL+\"/\"+O+(this._map._hash?this._map._hash.getHashString(!0):\"\"),z.rel=\"noopener nofollow\",this._setElementTitle(z,\"MapFeedback\")}},Rn.prototype._updateData=function(z){z&&(z.sourceDataType===\"metadata\"||z.sourceDataType===\"visibility\"||z.dataType===\"style\")&&(this._updateAttributions(),this._updateEditLink())},Rn.prototype._updateAttributions=function(){if(this._map.style){var z=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?z=z.concat(this.options.customAttribution.map(function($e){return typeof $e!=\"string\"?\"\":$e})):typeof this.options.customAttribution==\"string\"&&z.push(this.options.customAttribution)),this._map.style.stylesheet){var K=this._map.style.stylesheet;this.styleOwner=K.owner,this.styleId=K.id}var O=this._map.style.sourceCaches;for(var $ in O){var pe=O[$];if(pe.used){var de=pe.getSource();de.attribution&&z.indexOf(de.attribution)<0&&z.push(de.attribution)}}z.sort(function($e,pt){return $e.length-pt.length}),z=z.filter(function($e,pt){for(var Kt=pt+1;Kt<z.length;Kt++)if(z[Kt].indexOf($e)>=0)return!1;return!0});var Ie=z.join(\" | \");Ie!==this._attribHTML&&(this._attribHTML=Ie,z.length?(this._innerContainer.innerHTML=Ie,this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null)}},Rn.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\",\"mapboxgl-compact-show\")};var Dn=function(){i.bindAll([\"_updateLogo\"],this),i.bindAll([\"_updateCompact\"],this)};Dn.prototype.onAdd=function(z){this._map=z,this._container=o.create(\"div\",\"mapboxgl-ctrl\");var K=o.create(\"a\",\"mapboxgl-ctrl-logo\");return K.target=\"_blank\",K.rel=\"noopener nofollow\",K.href=\"https://www.mapbox.com/\",K.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),K.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(K),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container},Dn.prototype.onRemove=function(){o.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo),this._map.off(\"resize\",this._updateCompact)},Dn.prototype.getDefaultPosition=function(){return\"bottom-left\"},Dn.prototype._updateLogo=function(z){(!z||z.sourceDataType===\"metadata\")&&(this._container.style.display=this._logoRequired()?\"block\":\"none\")},Dn.prototype._logoRequired=function(){if(this._map.style){var z=this._map.style.sourceCaches;for(var K in z){var O=z[K].getSource();if(O.mapbox_logo)return!0}return!1}},Dn.prototype._updateCompact=function(){var z=this._container.children;if(z.length){var K=z[0];this._map.getCanvasContainer().offsetWidth<250?K.classList.add(\"mapboxgl-compact\"):K.classList.remove(\"mapboxgl-compact\")}};var fn=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};fn.prototype.add=function(z){var K=++this._id,O=this._queue;return O.push({callback:z,id:K,cancelled:!1}),K},fn.prototype.remove=function(z){for(var K=this._currentlyRunning,O=K?this._queue.concat(K):this._queue,$=0,pe=O;$<pe.length;$+=1){var de=pe[$];if(de.id===z){de.cancelled=!0;return}}},fn.prototype.run=function(z){z===void 0&&(z=0);var K=this._currentlyRunning=this._queue;this._queue=[];for(var O=0,$=K;O<$.length;O+=1){var pe=$[O];if(!pe.cancelled&&(pe.callback(z),this._cleared))break}this._cleared=!1,this._currentlyRunning=!1},fn.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]};var Ai={\"AttributionControl.ToggleAttribution\":\"Toggle attribution\",\"AttributionControl.MapFeedback\":\"Map feedback\",\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"Mapbox logo\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"ScaleControl.Feet\":\"ft\",\"ScaleControl.Meters\":\"m\",\"ScaleControl.Kilometers\":\"km\",\"ScaleControl.Miles\":\"mi\",\"ScaleControl.NauticalMiles\":\"nm\"},ji=i.window.HTMLImageElement,Ln=i.window.HTMLElement,Un=i.window.ImageBitmap,gn=-2,ca=22,Kn=0,Za=60,wn={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:gn,maxZoom:ca,minPitch:Kn,maxPitch:Za,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:\"sans-serif\",transformRequest:null,accessToken:null,fadeDuration:300,crossSourceCollisions:!0},vn=function(Y){function z(O){var $=this;if(O=i.extend({},wn,O),O.minZoom!=null&&O.maxZoom!=null&&O.minZoom>O.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(O.minPitch!=null&&O.maxPitch!=null&&O.minPitch>O.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(O.minPitch!=null&&O.minPitch<Kn)throw new Error(\"minPitch must be greater than or equal to \"+Kn);if(O.maxPitch!=null&&O.maxPitch>Za)throw new Error(\"maxPitch must be less than or equal to \"+Za);var pe=new yo(O.minZoom,O.maxZoom,O.minPitch,O.maxPitch,O.renderWorldCopies);if(Y.call(this,pe,O),this._interactive=O.interactive,this._maxTileCacheSize=O.maxTileCacheSize,this._failIfMajorPerformanceCaveat=O.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=O.preserveDrawingBuffer,this._antialias=O.antialias,this._trackResize=O.trackResize,this._bearingSnap=O.bearingSnap,this._refreshExpiredTiles=O.refreshExpiredTiles,this._fadeDuration=O.fadeDuration,this._crossSourceCollisions=O.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=O.collectResourceTiming,this._renderTaskQueue=new fn,this._controls=[],this._mapId=i.uniqueId(),this._locale=i.extend({},Ai,O.locale),this._clickTolerance=O.clickTolerance,this._requestManager=new i.RequestManager(O.transformRequest,O.accessToken),typeof O.container==\"string\"){if(this._container=i.window.document.getElementById(O.container),!this._container)throw new Error(\"Container '\"+O.container+\"' not found.\")}else if(O.container instanceof Ln)this._container=O.container;else throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");if(O.maxBounds&&this.setMaxBounds(O.maxBounds),i.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_onMapScroll\",\"_contextLost\",\"_contextRestored\"],this),this._setupContainer(),this._setupPainter(),this.painter===void 0)throw new Error(\"Failed to initialize WebGL.\");this.on(\"move\",function(){return $._update(!1)}),this.on(\"moveend\",function(){return $._update(!1)}),this.on(\"zoom\",function(){return $._update(!0)}),typeof i.window!=\"undefined\"&&(i.window.addEventListener(\"online\",this._onWindowOnline,!1),i.window.addEventListener(\"resize\",this._onWindowResize,!1),i.window.addEventListener(\"orientationchange\",this._onWindowResize,!1)),this.handlers=new yn(this,O);var de=typeof O.hash==\"string\"&&O.hash||void 0;this._hash=O.hash&&new Hl(de).addTo(this),(!this._hash||!this._hash._onHashChange())&&(this.jumpTo({center:O.center,zoom:O.zoom,bearing:O.bearing,pitch:O.pitch}),O.bounds&&(this.resize(),this.fitBounds(O.bounds,i.extend({},O.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=O.localIdeographFontFamily,O.style&&this.setStyle(O.style,{localIdeographFontFamily:O.localIdeographFontFamily}),O.attributionControl&&this.addControl(new Rn({customAttribution:O.customAttribution})),this.addControl(new Dn,O.logoPosition),this.on(\"style.load\",function(){$.transform.unmodified&&$.jumpTo($.style.stylesheet)}),this.on(\"data\",function(Ie){$._update(Ie.dataType===\"style\"),$.fire(new i.Event(Ie.dataType+\"data\",Ie))}),this.on(\"dataloading\",function(Ie){$.fire(new i.Event(Ie.dataType+\"dataloading\",Ie))})}Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z;var K={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return z.prototype._getMapId=function(){return this._mapId},z.prototype.addControl=function($,pe){if(pe===void 0&&($.getDefaultPosition?pe=$.getDefaultPosition():pe=\"top-right\"),!$||!$.onAdd)return this.fire(new i.ErrorEvent(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));var de=$.onAdd(this);this._controls.push($);var Ie=this._controlPositions[pe];return pe.indexOf(\"bottom\")!==-1?Ie.insertBefore(de,Ie.firstChild):Ie.appendChild(de),this},z.prototype.removeControl=function($){if(!$||!$.onRemove)return this.fire(new i.ErrorEvent(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));var pe=this._controls.indexOf($);return pe>-1&&this._controls.splice(pe,1),$.onRemove(this),this},z.prototype.hasControl=function($){return this._controls.indexOf($)>-1},z.prototype.resize=function($){var pe=this._containerDimensions(),de=pe[0],Ie=pe[1];this._resizeCanvas(de,Ie),this.transform.resize(de,Ie),this.painter.resize(de,Ie);var $e=!this._moving;return $e&&(this.stop(),this.fire(new i.Event(\"movestart\",$)).fire(new i.Event(\"move\",$))),this.fire(new i.Event(\"resize\",$)),$e&&this.fire(new i.Event(\"moveend\",$)),this},z.prototype.getBounds=function(){return this.transform.getBounds()},z.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},z.prototype.setMaxBounds=function($){return this.transform.setMaxBounds(i.LngLatBounds.convert($)),this._update()},z.prototype.setMinZoom=function($){if($=$==null?gn:$,$>=gn&&$<=this.transform.maxZoom)return this.transform.minZoom=$,this._update(),this.getZoom()<$&&this.setZoom($),this;throw new Error(\"minZoom must be between \"+gn+\" and the current maxZoom, inclusive\")},z.prototype.getMinZoom=function(){return this.transform.minZoom},z.prototype.setMaxZoom=function($){if($=$==null?ca:$,$>=this.transform.minZoom)return this.transform.maxZoom=$,this._update(),this.getZoom()>$&&this.setZoom($),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},z.prototype.getMaxZoom=function(){return this.transform.maxZoom},z.prototype.setMinPitch=function($){if($=$==null?Kn:$,$<Kn)throw new Error(\"minPitch must be greater than or equal to \"+Kn);if($>=Kn&&$<=this.transform.maxPitch)return this.transform.minPitch=$,this._update(),this.getPitch()<$&&this.setPitch($),this;throw new Error(\"minPitch must be between \"+Kn+\" and the current maxPitch, inclusive\")},z.prototype.getMinPitch=function(){return this.transform.minPitch},z.prototype.setMaxPitch=function($){if($=$==null?Za:$,$>Za)throw new Error(\"maxPitch must be less than or equal to \"+Za);if($>=this.transform.minPitch)return this.transform.maxPitch=$,this._update(),this.getPitch()>$&&this.setPitch($),this;throw new Error(\"maxPitch must be greater than the current minPitch\")},z.prototype.getMaxPitch=function(){return this.transform.maxPitch},z.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},z.prototype.setRenderWorldCopies=function($){return this.transform.renderWorldCopies=$,this._update()},z.prototype.project=function($){return this.transform.locationPoint(i.LngLat.convert($))},z.prototype.unproject=function($){return this.transform.pointLocation(i.Point.convert($))},z.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},z.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},z.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},z.prototype._createDelegatedListener=function($,pe,de){var Ie=this,$e;if($===\"mouseenter\"||$===\"mouseover\"){var pt=!1,Kt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length?pt||(pt=!0,de.call(Ie,new oe($,Ie,rr.originalEvent,{features:dr}))):pt=!1},ir=function(){pt=!1};return{layer:pe,listener:de,delegates:{mousemove:Kt,mouseout:ir}}}else if($===\"mouseleave\"||$===\"mouseout\"){var Jt=!1,vt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length?Jt=!0:Jt&&(Jt=!1,de.call(Ie,new oe($,Ie,rr.originalEvent)))},Pt=function(rr){Jt&&(Jt=!1,de.call(Ie,new oe($,Ie,rr.originalEvent)))};return{layer:pe,listener:de,delegates:{mousemove:vt,mouseout:Pt}}}else{var Wt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length&&(rr.features=dr,de.call(Ie,rr),delete rr.features)};return{layer:pe,listener:de,delegates:($e={},$e[$]=Wt,$e)}}},z.prototype.on=function($,pe,de){if(de===void 0)return Y.prototype.on.call(this,$,pe);var Ie=this._createDelegatedListener($,pe,de);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[$]=this._delegatedListeners[$]||[],this._delegatedListeners[$].push(Ie);for(var $e in Ie.delegates)this.on($e,Ie.delegates[$e]);return this},z.prototype.once=function($,pe,de){if(de===void 0)return Y.prototype.once.call(this,$,pe);var Ie=this._createDelegatedListener($,pe,de);for(var $e in Ie.delegates)this.once($e,Ie.delegates[$e]);return this},z.prototype.off=function($,pe,de){var Ie=this;if(de===void 0)return Y.prototype.off.call(this,$,pe);var $e=function(pt){for(var Kt=pt[$],ir=0;ir<Kt.length;ir++){var Jt=Kt[ir];if(Jt.layer===pe&&Jt.listener===de){for(var vt in Jt.delegates)Ie.off(vt,Jt.delegates[vt]);return Kt.splice(ir,1),Ie}}};return this._delegatedListeners&&this._delegatedListeners[$]&&$e(this._delegatedListeners),this},z.prototype.queryRenderedFeatures=function($,pe){if(!this.style)return[];pe===void 0&&$!==void 0&&!($ instanceof i.Point)&&!Array.isArray($)&&(pe=$,$=void 0),pe=pe||{},$=$||[[0,0],[this.transform.width,this.transform.height]];var de;if($ instanceof i.Point||typeof $[0]==\"number\")de=[i.Point.convert($)];else{var Ie=i.Point.convert($[0]),$e=i.Point.convert($[1]);de=[Ie,new i.Point($e.x,Ie.y),$e,new i.Point(Ie.x,$e.y),Ie]}return this.style.queryRenderedFeatures(de,pe,this.transform)},z.prototype.querySourceFeatures=function($,pe){return this.style.querySourceFeatures($,pe)},z.prototype.setStyle=function($,pe){return pe=i.extend({},{localIdeographFontFamily:this._localIdeographFontFamily},pe),pe.diff!==!1&&pe.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&$?(this._diffStyle($,pe),this):(this._localIdeographFontFamily=pe.localIdeographFontFamily,this._updateStyle($,pe))},z.prototype._getUIString=function($){var pe=this._locale[$];if(pe==null)throw new Error(\"Missing UI string '\"+$+\"'\");return pe},z.prototype._updateStyle=function($,pe){if(this.style&&(this.style.setEventedParent(null),this.style._remove()),$)this.style=new mu(this,pe||{});else return delete this.style,this;return this.style.setEventedParent(this,{style:this.style}),typeof $==\"string\"?this.style.loadURL($):this.style.loadJSON($),this},z.prototype._lazyInitEmptyStyle=function(){this.style||(this.style=new mu(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())},z.prototype._diffStyle=function($,pe){var de=this;if(typeof $==\"string\"){var Ie=this._requestManager.normalizeStyleURL($),$e=this._requestManager.transformRequest(Ie,i.ResourceType.Style);i.getJSON($e,function(pt,Kt){pt?de.fire(new i.ErrorEvent(pt)):Kt&&de._updateDiff(Kt,pe)})}else typeof $==\"object\"&&this._updateDiff($,pe)},z.prototype._updateDiff=function($,pe){try{this.style.setState($)&&this._update(!0)}catch(de){i.warnOnce(\"Unable to perform style diff: \"+(de.message||de.error||de)+\". Rebuilding the style from scratch.\"),this._updateStyle($,pe)}},z.prototype.getStyle=function(){if(this.style)return this.style.serialize()},z.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():i.warnOnce(\"There is no style added to the map.\")},z.prototype.addSource=function($,pe){return this._lazyInitEmptyStyle(),this.style.addSource($,pe),this._update(!0)},z.prototype.isSourceLoaded=function($){var pe=this.style&&this.style.sourceCaches[$];if(pe===void 0){this.fire(new i.ErrorEvent(new Error(\"There is no source with ID '\"+$+\"'\")));return}return pe.loaded()},z.prototype.areTilesLoaded=function(){var $=this.style&&this.style.sourceCaches;for(var pe in $){var de=$[pe],Ie=de._tiles;for(var $e in Ie){var pt=Ie[$e];if(!(pt.state===\"loaded\"||pt.state===\"errored\"))return!1}}return!0},z.prototype.addSourceType=function($,pe,de){return this._lazyInitEmptyStyle(),this.style.addSourceType($,pe,de)},z.prototype.removeSource=function($){return this.style.removeSource($),this._update(!0)},z.prototype.getSource=function($){return this.style.getSource($)},z.prototype.addImage=function($,pe,de){de===void 0&&(de={});var Ie=de.pixelRatio;Ie===void 0&&(Ie=1);var $e=de.sdf;$e===void 0&&($e=!1);var pt=de.stretchX,Kt=de.stretchY,ir=de.content;this._lazyInitEmptyStyle();var Jt=0;if(pe instanceof ji||Un&&pe instanceof Un){var vt=i.browser.getImageData(pe),Pt=vt.width,Wt=vt.height,rr=vt.data;this.style.addImage($,{data:new i.RGBAImage({width:Pt,height:Wt},rr),pixelRatio:Ie,stretchX:pt,stretchY:Kt,content:ir,sdf:$e,version:Jt})}else{if(pe.width===void 0||pe.height===void 0)return this.fire(new i.ErrorEvent(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));var dr=pe.width,pr=pe.height,kr=pe.data,Ar=pe;this.style.addImage($,{data:new i.RGBAImage({width:dr,height:pr},new Uint8Array(kr)),pixelRatio:Ie,stretchX:pt,stretchY:Kt,content:ir,sdf:$e,version:Jt,userImage:Ar}),Ar.onAdd&&Ar.onAdd(this,$)}},z.prototype.updateImage=function($,pe){var de=this.style.getImage($);if(!de)return this.fire(new i.ErrorEvent(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));var Ie=pe instanceof ji||Un&&pe instanceof Un?i.browser.getImageData(pe):pe,$e=Ie.width,pt=Ie.height,Kt=Ie.data;if($e===void 0||pt===void 0)return this.fire(new i.ErrorEvent(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));if($e!==de.data.width||pt!==de.data.height)return this.fire(new i.ErrorEvent(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));var ir=!(pe instanceof ji||Un&&pe instanceof Un);de.data.replace(Kt,ir),this.style.updateImage($,de)},z.prototype.hasImage=function($){return $?!!this.style.getImage($):(this.fire(new i.ErrorEvent(new Error(\"Missing required image id\"))),!1)},z.prototype.removeImage=function($){this.style.removeImage($)},z.prototype.loadImage=function($,pe){i.getImage(this._requestManager.transformRequest($,i.ResourceType.Image),pe)},z.prototype.listImages=function(){return this.style.listImages()},z.prototype.addLayer=function($,pe){return this._lazyInitEmptyStyle(),this.style.addLayer($,pe),this._update(!0)},z.prototype.moveLayer=function($,pe){return this.style.moveLayer($,pe),this._update(!0)},z.prototype.removeLayer=function($){return this.style.removeLayer($),this._update(!0)},z.prototype.getLayer=function($){return this.style.getLayer($)},z.prototype.setLayerZoomRange=function($,pe,de){return this.style.setLayerZoomRange($,pe,de),this._update(!0)},z.prototype.setFilter=function($,pe,de){return de===void 0&&(de={}),this.style.setFilter($,pe,de),this._update(!0)},z.prototype.getFilter=function($){return this.style.getFilter($)},z.prototype.setPaintProperty=function($,pe,de,Ie){return Ie===void 0&&(Ie={}),this.style.setPaintProperty($,pe,de,Ie),this._update(!0)},z.prototype.getPaintProperty=function($,pe){return this.style.getPaintProperty($,pe)},z.prototype.setLayoutProperty=function($,pe,de,Ie){return Ie===void 0&&(Ie={}),this.style.setLayoutProperty($,pe,de,Ie),this._update(!0)},z.prototype.getLayoutProperty=function($,pe){return this.style.getLayoutProperty($,pe)},z.prototype.setLight=function($,pe){return pe===void 0&&(pe={}),this._lazyInitEmptyStyle(),this.style.setLight($,pe),this._update(!0)},z.prototype.getLight=function(){return this.style.getLight()},z.prototype.setFeatureState=function($,pe){return this.style.setFeatureState($,pe),this._update()},z.prototype.removeFeatureState=function($,pe){return this.style.removeFeatureState($,pe),this._update()},z.prototype.getFeatureState=function($){return this.style.getFeatureState($)},z.prototype.getContainer=function(){return this._container},z.prototype.getCanvasContainer=function(){return this._canvasContainer},z.prototype.getCanvas=function(){return this._canvas},z.prototype._containerDimensions=function(){var $=0,pe=0;return this._container&&($=this._container.clientWidth||400,pe=this._container.clientHeight||300),[$,pe]},z.prototype._detectMissingCSS=function(){var $=i.window.getComputedStyle(this._missingCSSCanary).getPropertyValue(\"background-color\");$!==\"rgb(250, 128, 114)\"&&i.warnOnce(\"This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.\")},z.prototype._setupContainer=function(){var $=this._container;$.classList.add(\"mapboxgl-map\");var pe=this._missingCSSCanary=o.create(\"div\",\"mapboxgl-canary\",$);pe.style.visibility=\"hidden\",this._detectMissingCSS();var de=this._canvasContainer=o.create(\"div\",\"mapboxgl-canvas-container\",$);this._interactive&&de.classList.add(\"mapboxgl-interactive\"),this._canvas=o.create(\"canvas\",\"mapboxgl-canvas\",de),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",\"Map\"),this._canvas.setAttribute(\"role\",\"region\");var Ie=this._containerDimensions();this._resizeCanvas(Ie[0],Ie[1]);var $e=this._controlContainer=o.create(\"div\",\"mapboxgl-control-container\",$),pt=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(function(Kt){pt[Kt]=o.create(\"div\",\"mapboxgl-ctrl-\"+Kt,$e)}),this._container.addEventListener(\"scroll\",this._onMapScroll,!1)},z.prototype._resizeCanvas=function($,pe){var de=i.browser.devicePixelRatio||1;this._canvas.width=de*$,this._canvas.height=de*pe,this._canvas.style.width=$+\"px\",this._canvas.style.height=pe+\"px\"},z.prototype._setupPainter=function(){var $=i.extend({},a.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),pe=this._canvas.getContext(\"webgl\",$)||this._canvas.getContext(\"experimental-webgl\",$);if(!pe){this.fire(new i.ErrorEvent(new Error(\"Failed to initialize WebGL\")));return}this.painter=new co(pe,this.transform),i.webpSupported.testSupport(pe)},z.prototype._contextLost=function($){$.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new i.Event(\"webglcontextlost\",{originalEvent:$}))},z.prototype._contextRestored=function($){this._setupPainter(),this.resize(),this._update(),this.fire(new i.Event(\"webglcontextrestored\",{originalEvent:$}))},z.prototype._onMapScroll=function($){if($.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},z.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()},z.prototype._update=function($){return this.style?(this._styleDirty=this._styleDirty||$,this._sourcesDirty=!0,this.triggerRepaint(),this):this},z.prototype._requestRenderFrame=function($){return this._update(),this._renderTaskQueue.add($)},z.prototype._cancelRenderFrame=function($){this._renderTaskQueue.remove($)},z.prototype._render=function($){var pe=this,de,Ie=0,$e=this.painter.context.extTimerQuery;if(this.listens(\"gpu-timing-frame\")&&(de=$e.createQueryEXT(),$e.beginQueryEXT($e.TIME_ELAPSED_EXT,de),Ie=i.browser.now()),this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run($),!this._removed){var pt=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var Kt=this.transform.zoom,ir=i.browser.now();this.style.zoomHistory.update(Kt,ir);var Jt=new i.EvaluationParameters(Kt,{now:ir,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),vt=Jt.crossFadingFactor();(vt!==1||vt!==this._crossFadingFactor)&&(pt=!0,this._crossFadingFactor=vt),this.style.update(Jt)}if(this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration,showPadding:this.showPadding,gpuTiming:!!this.listens(\"gpu-timing-layer\")}),this.fire(new i.Event(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new i.Event(\"load\"))),this.style&&(this.style.hasTransitions()||pt)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this.listens(\"gpu-timing-frame\")){var Pt=i.browser.now()-Ie;$e.endQueryEXT($e.TIME_ELAPSED_EXT,de),setTimeout(function(){var dr=$e.getQueryObjectEXT(de,$e.QUERY_RESULT_EXT)/1e6;$e.deleteQueryEXT(de),pe.fire(new i.Event(\"gpu-timing-frame\",{cpuTime:Pt,gpuTime:dr}))},50)}if(this.listens(\"gpu-timing-layer\")){var Wt=this.painter.collectGpuTimers();setTimeout(function(){var dr=pe.painter.queryGpuTimers(Wt);pe.fire(new i.Event(\"gpu-timing-layer\",{layerTimes:dr}))},50)}var rr=this._sourcesDirty||this._styleDirty||this._placementDirty;return rr||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new i.Event(\"idle\")),this._loaded&&!this._fullyLoaded&&!rr&&(this._fullyLoaded=!0),this}},z.prototype.remove=function(){this._hash&&this._hash.remove();for(var $=0,pe=this._controls;$<pe.length;$+=1){var de=pe[$];de.onRemove(this)}this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof i.window!=\"undefined\"&&(i.window.removeEventListener(\"resize\",this._onWindowResize,!1),i.window.removeEventListener(\"orientationchange\",this._onWindowResize,!1),i.window.removeEventListener(\"online\",this._onWindowOnline,!1));var Ie=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");Ie&&Ie.loseContext&&Ie.loseContext(),Aa(this._canvasContainer),Aa(this._controlContainer),Aa(this._missingCSSCanary),this._container.classList.remove(\"mapboxgl-map\"),this._removed=!0,this.fire(new i.Event(\"remove\"))},z.prototype.triggerRepaint=function(){var $=this;this.style&&!this._frame&&(this._frame=i.browser.frame(function(pe){$._frame=null,$._render(pe)}))},z.prototype._onWindowOnline=function(){this._update()},z.prototype._onWindowResize=function($){this._trackResize&&this.resize({originalEvent:$})._update()},K.showTileBoundaries.get=function(){return!!this._showTileBoundaries},K.showTileBoundaries.set=function(O){this._showTileBoundaries!==O&&(this._showTileBoundaries=O,this._update())},K.showPadding.get=function(){return!!this._showPadding},K.showPadding.set=function(O){this._showPadding!==O&&(this._showPadding=O,this._update())},K.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},K.showCollisionBoxes.set=function(O){this._showCollisionBoxes!==O&&(this._showCollisionBoxes=O,O?this.style._generateCollisionBoxes():this._update())},K.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},K.showOverdrawInspector.set=function(O){this._showOverdrawInspector!==O&&(this._showOverdrawInspector=O,this._update())},K.repaint.get=function(){return!!this._repaint},K.repaint.set=function(O){this._repaint!==O&&(this._repaint=O,this.triggerRepaint())},K.vertices.get=function(){return!!this._vertices},K.vertices.set=function(O){this._vertices=O,this._update()},z.prototype._setCacheLimits=function($,pe){i.setCacheLimits($,pe)},K.version.get=function(){return i.version},Object.defineProperties(z.prototype,K),z}(to);function Aa(Y){Y.parentNode&&Y.parentNode.removeChild(Y)}var aa={showCompass:!0,showZoom:!0,visualizePitch:!1},Xn=function(z){var K=this;this.options=i.extend({},aa,z),this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",function(O){return O.preventDefault()}),this.options.showZoom&&(i.bindAll([\"_setButtonTitle\",\"_updateZoomButtons\"],this),this._zoomInButton=this._createButton(\"mapboxgl-ctrl-zoom-in\",function(O){return K._map.zoomIn({},{originalEvent:O})}),o.create(\"span\",\"mapboxgl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",!0),this._zoomOutButton=this._createButton(\"mapboxgl-ctrl-zoom-out\",function(O){return K._map.zoomOut({},{originalEvent:O})}),o.create(\"span\",\"mapboxgl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",!0)),this.options.showCompass&&(i.bindAll([\"_rotateCompassArrow\"],this),this._compass=this._createButton(\"mapboxgl-ctrl-compass\",function(O){K.options.visualizePitch?K._map.resetNorthPitch({},{originalEvent:O}):K._map.resetNorth({},{originalEvent:O})}),this._compassIcon=o.create(\"span\",\"mapboxgl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",!0))};Xn.prototype._updateZoomButtons=function(){var z=this._map.getZoom(),K=z===this._map.getMaxZoom(),O=z===this._map.getMinZoom();this._zoomInButton.disabled=K,this._zoomOutButton.disabled=O,this._zoomInButton.setAttribute(\"aria-disabled\",K.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",O.toString())},Xn.prototype._rotateCompassArrow=function(){var z=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=z},Xn.prototype.onAdd=function(z){return this._map=z,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 Vn(this._map,this._compass,this.options.visualizePitch)),this._container},Xn.prototype.onRemove=function(){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},Xn.prototype._createButton=function(z,K){var O=o.create(\"button\",z,this._container);return O.type=\"button\",O.addEventListener(\"click\",K),O},Xn.prototype._setButtonTitle=function(z,K){var O=this._map._getUIString(\"NavigationControl.\"+K);z.title=O,z.setAttribute(\"aria-label\",O)};var Vn=function(z,K,O){O===void 0&&(O=!1),this._clickTolerance=10,this.element=K,this.mouseRotate=new un({clickTolerance:z.dragRotate._mouseRotate._clickTolerance}),this.map=z,O&&(this.mousePitch=new dn({clickTolerance:z.dragRotate._mousePitch._clickTolerance})),i.bindAll([\"mousedown\",\"mousemove\",\"mouseup\",\"touchstart\",\"touchmove\",\"touchend\",\"reset\"],this),o.addEventListener(K,\"mousedown\",this.mousedown),o.addEventListener(K,\"touchstart\",this.touchstart,{passive:!1}),o.addEventListener(K,\"touchmove\",this.touchmove),o.addEventListener(K,\"touchend\",this.touchend),o.addEventListener(K,\"touchcancel\",this.reset)};Vn.prototype.down=function(z,K){this.mouseRotate.mousedown(z,K),this.mousePitch&&this.mousePitch.mousedown(z,K),o.disableDrag()},Vn.prototype.move=function(z,K){var O=this.map,$=this.mouseRotate.mousemoveWindow(z,K);if($&&$.bearingDelta&&O.setBearing(O.getBearing()+$.bearingDelta),this.mousePitch){var pe=this.mousePitch.mousemoveWindow(z,K);pe&&pe.pitchDelta&&O.setPitch(O.getPitch()+pe.pitchDelta)}},Vn.prototype.off=function(){var z=this.element;o.removeEventListener(z,\"mousedown\",this.mousedown),o.removeEventListener(z,\"touchstart\",this.touchstart,{passive:!1}),o.removeEventListener(z,\"touchmove\",this.touchmove),o.removeEventListener(z,\"touchend\",this.touchend),o.removeEventListener(z,\"touchcancel\",this.reset),this.offTemp()},Vn.prototype.offTemp=function(){o.enableDrag(),o.removeEventListener(i.window,\"mousemove\",this.mousemove),o.removeEventListener(i.window,\"mouseup\",this.mouseup)},Vn.prototype.mousedown=function(z){this.down(i.extend({},z,{ctrlKey:!0,preventDefault:function(){return z.preventDefault()}}),o.mousePos(this.element,z)),o.addEventListener(i.window,\"mousemove\",this.mousemove),o.addEventListener(i.window,\"mouseup\",this.mouseup)},Vn.prototype.mousemove=function(z){this.move(z,o.mousePos(this.element,z))},Vn.prototype.mouseup=function(z){this.mouseRotate.mouseupWindow(z),this.mousePitch&&this.mousePitch.mouseupWindow(z),this.offTemp()},Vn.prototype.touchstart=function(z){z.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=o.touchPos(this.element,z.targetTouches)[0],this.down({type:\"mousedown\",button:0,ctrlKey:!0,preventDefault:function(){return z.preventDefault()}},this._startPos))},Vn.prototype.touchmove=function(z){z.targetTouches.length!==1?this.reset():(this._lastPos=o.touchPos(this.element,z.targetTouches)[0],this.move({preventDefault:function(){return z.preventDefault()}},this._lastPos))},Vn.prototype.touchend=function(z){z.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),this.reset()},Vn.prototype.reset=function(){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()};function ma(Y,z,K){if(Y=new i.LngLat(Y.lng,Y.lat),z){var O=new i.LngLat(Y.lng-360,Y.lat),$=new i.LngLat(Y.lng+360,Y.lat),pe=K.locationPoint(Y).distSqr(z);K.locationPoint(O).distSqr(z)<pe?Y=O:K.locationPoint($).distSqr(z)<pe&&(Y=$)}for(;Math.abs(Y.lng-K.center.lng)>180;){var de=K.locationPoint(Y);if(de.x>=0&&de.y>=0&&de.x<=K.width&&de.y<=K.height)break;Y.lng>K.center.lng?Y.lng-=360:Y.lng+=360}return Y}var ro={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 Ao(Y,z,K){var O=Y.classList;for(var $ in ro)O.remove(\"mapboxgl-\"+K+\"-anchor-\"+$);O.add(\"mapboxgl-\"+K+\"-anchor-\"+z)}var Jn=function(Y){function z(K,O){if(Y.call(this),(K instanceof i.window.HTMLElement||O)&&(K=i.extend({element:K},O)),i.bindAll([\"_update\",\"_onMove\",\"_onUp\",\"_addDragHandler\",\"_onMapClick\",\"_onKeyPress\"],this),this._anchor=K&&K.anchor||\"center\",this._color=K&&K.color||\"#3FB1CE\",this._scale=K&&K.scale||1,this._draggable=K&&K.draggable||!1,this._clickTolerance=K&&K.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=K&&K.rotation||0,this._rotationAlignment=K&&K.rotationAlignment||\"auto\",this._pitchAlignment=K&&K.pitchAlignment&&K.pitchAlignment!==\"auto\"?K.pitchAlignment:this._rotationAlignment,!K||!K.element){this._defaultMarker=!0,this._element=o.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");var $=o.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),pe=41,de=27;$.setAttributeNS(null,\"display\",\"block\"),$.setAttributeNS(null,\"height\",pe+\"px\"),$.setAttributeNS(null,\"width\",de+\"px\"),$.setAttributeNS(null,\"viewBox\",\"0 0 \"+de+\" \"+pe);var Ie=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");Ie.setAttributeNS(null,\"stroke\",\"none\"),Ie.setAttributeNS(null,\"stroke-width\",\"1\"),Ie.setAttributeNS(null,\"fill\",\"none\"),Ie.setAttributeNS(null,\"fill-rule\",\"evenodd\");var $e=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");$e.setAttributeNS(null,\"fill-rule\",\"nonzero\");var pt=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");pt.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),pt.setAttributeNS(null,\"fill\",\"#000000\");for(var Kt=[{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\"}],ir=0,Jt=Kt;ir<Jt.length;ir+=1){var vt=Jt[ir],Pt=o.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");Pt.setAttributeNS(null,\"opacity\",\"0.04\"),Pt.setAttributeNS(null,\"cx\",\"10.5\"),Pt.setAttributeNS(null,\"cy\",\"5.80029008\"),Pt.setAttributeNS(null,\"rx\",vt.rx),Pt.setAttributeNS(null,\"ry\",vt.ry),pt.appendChild(Pt)}var Wt=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");Wt.setAttributeNS(null,\"fill\",this._color);var rr=o.createNS(\"http://www.w3.org/2000/svg\",\"path\");rr.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\"),Wt.appendChild(rr);var dr=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");dr.setAttributeNS(null,\"opacity\",\"0.25\"),dr.setAttributeNS(null,\"fill\",\"#000000\");var pr=o.createNS(\"http://www.w3.org/2000/svg\",\"path\");pr.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\"),dr.appendChild(pr);var kr=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");kr.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),kr.setAttributeNS(null,\"fill\",\"#FFFFFF\");var Ar=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");Ar.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");var gr=o.createNS(\"http://www.w3.org/2000/svg\",\"circle\");gr.setAttributeNS(null,\"fill\",\"#000000\"),gr.setAttributeNS(null,\"opacity\",\"0.25\"),gr.setAttributeNS(null,\"cx\",\"5.5\"),gr.setAttributeNS(null,\"cy\",\"5.5\"),gr.setAttributeNS(null,\"r\",\"5.4999962\");var Cr=o.createNS(\"http://www.w3.org/2000/svg\",\"circle\");Cr.setAttributeNS(null,\"fill\",\"#FFFFFF\"),Cr.setAttributeNS(null,\"cx\",\"5.5\"),Cr.setAttributeNS(null,\"cy\",\"5.5\"),Cr.setAttributeNS(null,\"r\",\"5.4999962\"),Ar.appendChild(gr),Ar.appendChild(Cr),$e.appendChild(pt),$e.appendChild(Wt),$e.appendChild(dr),$e.appendChild(kr),$e.appendChild(Ar),$.appendChild($e),$.setAttributeNS(null,\"height\",pe*this._scale+\"px\"),$.setAttributeNS(null,\"width\",de*this._scale+\"px\"),this._element.appendChild($),this._offset=i.Point.convert(K&&K.offset||[0,-14])}else this._element=K.element,this._offset=i.Point.convert(K&&K.offset||[0,0]);this._element.classList.add(\"mapboxgl-marker\"),this._element.addEventListener(\"dragstart\",function(cr){cr.preventDefault()}),this._element.addEventListener(\"mousedown\",function(cr){cr.preventDefault()}),Ao(this._element,this._anchor,\"marker\"),this._popup=null}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.addTo=function(O){return this.remove(),this._map=O,O.getCanvasContainer().appendChild(this._element),O.on(\"move\",this._update),O.on(\"moveend\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this},z.prototype.remove=function(){return this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler),this._map.off(\"mouseup\",this._onUp),this._map.off(\"touchend\",this._onUp),this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),delete this._map),o.remove(this._element),this._popup&&this._popup.remove(),this},z.prototype.getLngLat=function(){return this._lngLat},z.prototype.setLngLat=function(O){return this._lngLat=i.LngLat.convert(O),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},z.prototype.getElement=function(){return this._element},z.prototype.setPopup=function(O){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),O){if(!(\"offset\"in O.options)){var $=38.1,pe=13.5,de=Math.sqrt(Math.pow(pe,2)/2);O.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-$],\"bottom-left\":[de,($-pe+de)*-1],\"bottom-right\":[-de,($-pe+de)*-1],left:[pe,($-pe)*-1],right:[-pe,($-pe)*-1]}:this._offset}this._popup=O,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress)}return this},z.prototype._onKeyPress=function(O){var $=O.code,pe=O.charCode||O.keyCode;($===\"Space\"||$===\"Enter\"||pe===32||pe===13)&&this.togglePopup()},z.prototype._onMapClick=function(O){var $=O.originalEvent.target,pe=this._element;this._popup&&($===pe||pe.contains($))&&this.togglePopup()},z.prototype.getPopup=function(){return this._popup},z.prototype.togglePopup=function(){var O=this._popup;if(O)O.isOpen()?O.remove():O.addTo(this._map);else return this;return this},z.prototype._update=function(O){if(this._map){this._map.transform.renderWorldCopies&&(this._lngLat=ma(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);var $=\"\";this._rotationAlignment===\"viewport\"||this._rotationAlignment===\"auto\"?$=\"rotateZ(\"+this._rotation+\"deg)\":this._rotationAlignment===\"map\"&&($=\"rotateZ(\"+(this._rotation-this._map.getBearing())+\"deg)\");var pe=\"\";this._pitchAlignment===\"viewport\"||this._pitchAlignment===\"auto\"?pe=\"rotateX(0deg)\":this._pitchAlignment===\"map\"&&(pe=\"rotateX(\"+this._map.getPitch()+\"deg)\"),(!O||O.type===\"moveend\")&&(this._pos=this._pos.round()),o.setTransform(this._element,ro[this._anchor]+\" translate(\"+this._pos.x+\"px, \"+this._pos.y+\"px) \"+pe+\" \"+$)}},z.prototype.getOffset=function(){return this._offset},z.prototype.setOffset=function(O){return this._offset=i.Point.convert(O),this._update(),this},z.prototype._onMove=function(O){if(!this._isDragging){var $=this._clickTolerance||this._map._clickTolerance;this._isDragging=O.point.dist(this._pointerdownPos)>=$}this._isDragging&&(this._pos=O.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",this._state===\"pending\"&&(this._state=\"active\",this.fire(new i.Event(\"dragstart\"))),this.fire(new i.Event(\"drag\")))},z.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),this._state===\"active\"&&this.fire(new i.Event(\"dragend\")),this._state=\"inactive\"},z.prototype._addDragHandler=function(O){this._element.contains(O.originalEvent.target)&&(O.preventDefault(),this._positionDelta=O.point.sub(this._pos).add(this._offset),this._pointerdownPos=O.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))},z.prototype.setDraggable=function(O){return this._draggable=!!O,this._map&&(O?(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},z.prototype.isDraggable=function(){return this._draggable},z.prototype.setRotation=function(O){return this._rotation=O||0,this._update(),this},z.prototype.getRotation=function(){return this._rotation},z.prototype.setRotationAlignment=function(O){return this._rotationAlignment=O||\"auto\",this._update(),this},z.prototype.getRotationAlignment=function(){return this._rotationAlignment},z.prototype.setPitchAlignment=function(O){return this._pitchAlignment=O&&O!==\"auto\"?O:this._rotationAlignment,this._update(),this},z.prototype.getPitchAlignment=function(){return this._pitchAlignment},z}(i.Evented),Oa={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},_o;function Po(Y){_o!==void 0?Y(_o):i.window.navigator.permissions!==void 0?i.window.navigator.permissions.query({name:\"geolocation\"}).then(function(z){_o=z.state!==\"denied\",Y(_o)}):(_o=!!i.window.navigator.geolocation,Y(_o))}var Jo=0,Yl=!1,$c=function(Y){function z(K){Y.call(this),this.options=i.extend({},Oa,K),i.bindAll([\"_onSuccess\",\"_onError\",\"_onZoom\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\"],this)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.onAdd=function(O){return this._map=O,this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),Po(this._setupUI),this._container},z.prototype.onRemove=function(){this._geolocationWatchID!==void 0&&(i.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,Jo=0,Yl=!1},z.prototype._isOutOfMapMaxBounds=function(O){var $=this._map.getMaxBounds(),pe=O.coords;return $&&(pe.longitude<$.getWest()||pe.longitude>$.getEast()||pe.latitude<$.getSouth()||pe.latitude>$.getNorth())},z.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\");break}},z.prototype._onSuccess=function(O){if(this._map){if(this._isOutOfMapMaxBounds(O)){this._setErrorState(),this.fire(new i.Event(\"outofmaxbounds\",O)),this._updateMarker(),this._finish();return}if(this.options.trackUserLocation)switch(this._lastKnownPosition=O,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\");break}this.options.showUserLocation&&this._watchState!==\"OFF\"&&this._updateMarker(O),(!this.options.trackUserLocation||this._watchState===\"ACTIVE_LOCK\")&&this._updateCamera(O),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(new i.Event(\"geolocate\",O)),this._finish()}},z.prototype._updateCamera=function(O){var $=new i.LngLat(O.coords.longitude,O.coords.latitude),pe=O.coords.accuracy,de=this._map.getBearing(),Ie=i.extend({bearing:de},this.options.fitBoundsOptions);this._map.fitBounds($.toBounds(pe),Ie,{geolocateSource:!0})},z.prototype._updateMarker=function(O){if(O){var $=new i.LngLat(O.coords.longitude,O.coords.latitude);this._accuracyCircleMarker.setLngLat($).addTo(this._map),this._userLocationDotMarker.setLngLat($).addTo(this._map),this._accuracy=O.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},z.prototype._updateCircleRadius=function(){var O=this._map._container.clientHeight/2,$=this._map.unproject([0,O]),pe=this._map.unproject([1,O]),de=$.distanceTo(pe),Ie=Math.ceil(2*this._accuracy/de);this._circleElement.style.width=Ie+\"px\",this._circleElement.style.height=Ie+\"px\"},z.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},z.prototype._onError=function(O){if(this._map){if(this.options.trackUserLocation)if(O.code===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._geolocateButton.disabled=!0;var $=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=$,this._geolocateButton.setAttribute(\"aria-label\",$),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(O.code===3&&Yl)return;this._setErrorState()}this._watchState!==\"OFF\"&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(new i.Event(\"error\",O)),this._finish()}},z.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},z.prototype._setupUI=function(O){var $=this;if(this._container.addEventListener(\"contextmenu\",function(Ie){return Ie.preventDefault()}),this._geolocateButton=o.create(\"button\",\"mapboxgl-ctrl-geolocate\",this._container),o.create(\"span\",\"mapboxgl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",!0),this._geolocateButton.type=\"button\",O===!1){i.warnOnce(\"Geolocation support is not available so the GeolocateControl will be disabled.\");var pe=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=pe,this._geolocateButton.setAttribute(\"aria-label\",pe)}else{var de=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=de,this._geolocateButton.setAttribute(\"aria-label\",de)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=o.create(\"div\",\"mapboxgl-user-location-dot\"),this._userLocationDotMarker=new Jn(this._dotElement),this._circleElement=o.create(\"div\",\"mapboxgl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Jn({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(Ie){var $e=Ie.originalEvent&&Ie.originalEvent.type===\"resize\";!Ie.geolocateSource&&$._watchState===\"ACTIVE_LOCK\"&&!$e&&($._watchState=\"BACKGROUND\",$._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),$._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),$.fire(new i.Event(\"trackuserlocationend\")))})},z.prototype.trigger=function(){if(!this._setup)return i.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 i.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":Jo--,Yl=!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 i.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 i.Event(\"trackuserlocationstart\"));break}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\");break}if(this._watchState===\"OFF\"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),Jo++;var O;Jo>1?(O={maximumAge:6e5,timeout:0},Yl=!0):(O=this.options.positionOptions,Yl=!1),this._geolocationWatchID=i.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,O)}}else i.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},z.prototype._clearWatch=function(){i.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)},z}(i.Evented),xs={maxWidth:100,unit:\"metric\"},Qc=function(z){this.options=i.extend({},xs,z),i.bindAll([\"_onMove\",\"setUnit\"],this)};Qc.prototype.getDefaultPosition=function(){return\"bottom-left\"},Qc.prototype._onMove=function(){El(this._map,this._container,this.options)},Qc.prototype.onAdd=function(z){return this._map=z,this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",z.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},Qc.prototype.onRemove=function(){o.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},Qc.prototype.setUnit=function(z){this.options.unit=z,El(this._map,this._container,this.options)};function El(Y,z,K){var O=K&&K.maxWidth||100,$=Y._container.clientHeight/2,pe=Y.unproject([0,$]),de=Y.unproject([O,$]),Ie=pe.distanceTo(de);if(K&&K.unit===\"imperial\"){var $e=3.2808*Ie;if($e>5280){var pt=$e/5280;bc(z,O,pt,Y._getUIString(\"ScaleControl.Miles\"))}else bc(z,O,$e,Y._getUIString(\"ScaleControl.Feet\"))}else if(K&&K.unit===\"nautical\"){var Kt=Ie/1852;bc(z,O,Kt,Y._getUIString(\"ScaleControl.NauticalMiles\"))}else Ie>=1e3?bc(z,O,Ie/1e3,Y._getUIString(\"ScaleControl.Kilometers\")):bc(z,O,Ie,Y._getUIString(\"ScaleControl.Meters\"))}function bc(Y,z,K,O){var $=yf(K),pe=$/K;Y.style.width=z*pe+\"px\",Y.innerHTML=$+\" \"+O}function wc(Y){var z=Math.pow(10,Math.ceil(-Math.log(Y)/Math.LN10));return Math.round(Y*z)/z}function yf(Y){var z=Math.pow(10,(\"\"+Math.floor(Y)).length-1),K=Y/z;return K=K>=10?10:K>=5?5:K>=3?3:K>=2?2:K>=1?1:wc(K),z*K}var Gl=function(z){this._fullscreen=!1,z&&z.container&&(z.container instanceof i.window.HTMLElement?this._container=z.container:i.warnOnce(\"Full screen control 'container' must be a DOM element.\")),i.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in i.window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in i.window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in i.window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in i.window.document&&(this._fullscreenchange=\"MSFullscreenChange\")};Gl.prototype.onAdd=function(z){return this._map=z,this._container||(this._container=this._map.getContainer()),this._controlContainer=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display=\"none\",i.warnOnce(\"This device does not support fullscreen mode.\")),this._controlContainer},Gl.prototype.onRemove=function(){o.remove(this._controlContainer),this._map=null,i.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Gl.prototype._checkFullscreenSupport=function(){return!!(i.window.document.fullscreenEnabled||i.window.document.mozFullScreenEnabled||i.window.document.msFullscreenEnabled||i.window.document.webkitFullscreenEnabled)},Gl.prototype._setupUI=function(){var z=this._fullscreenButton=o.create(\"button\",\"mapboxgl-ctrl-fullscreen\",this._controlContainer);o.create(\"span\",\"mapboxgl-ctrl-icon\",z).setAttribute(\"aria-hidden\",!0),z.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),i.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},Gl.prototype._updateTitle=function(){var z=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",z),this._fullscreenButton.title=z},Gl.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")},Gl.prototype._isFullscreen=function(){return this._fullscreen},Gl.prototype._changeIcon=function(){var z=i.window.document.fullscreenElement||i.window.document.mozFullScreenElement||i.window.document.webkitFullscreenElement||i.window.document.msFullscreenElement;z===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-fullscreen\"),this._updateTitle())},Gl.prototype._onClickFullscreen=function(){this._isFullscreen()?i.window.document.exitFullscreen?i.window.document.exitFullscreen():i.window.document.mozCancelFullScreen?i.window.document.mozCancelFullScreen():i.window.document.msExitFullscreen?i.window.document.msExitFullscreen():i.window.document.webkitCancelFullScreen&&i.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 Fc={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\"},ef=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \"),ls=function(Y){function z(K){Y.call(this),this.options=i.extend(Object.create(Fc),K),i.bindAll([\"_update\",\"_onClose\",\"remove\",\"_onMouseMove\",\"_onMouseUp\",\"_onDrag\"],this)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.addTo=function(O){return this._map&&this.remove(),this._map=O,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 i.Event(\"open\")),this},z.prototype.isOpen=function(){return!!this._map},z.prototype.remove=function(){return 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),delete this._map),this.fire(new i.Event(\"close\")),this},z.prototype.getLngLat=function(){return this._lngLat},z.prototype.setLngLat=function(O){return this._lngLat=i.LngLat.convert(O),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},z.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},z.prototype.getElement=function(){return this._container},z.prototype.setText=function(O){return this.setDOMContent(i.window.document.createTextNode(O))},z.prototype.setHTML=function(O){var $=i.window.document.createDocumentFragment(),pe=i.window.document.createElement(\"body\"),de;for(pe.innerHTML=O;de=pe.firstChild,!!de;)$.appendChild(de);return this.setDOMContent($)},z.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},z.prototype.setMaxWidth=function(O){return this.options.maxWidth=O,this._update(),this},z.prototype.setDOMContent=function(O){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=o.create(\"div\",\"mapboxgl-popup-content\",this._container);return this._content.appendChild(O),this._createCloseButton(),this._update(),this._focusFirstElement(),this},z.prototype.addClassName=function(O){this._container&&this._container.classList.add(O)},z.prototype.removeClassName=function(O){this._container&&this._container.classList.remove(O)},z.prototype.setOffset=function(O){return this.options.offset=O,this._update(),this},z.prototype.toggleClassName=function(O){if(this._container)return this._container.classList.toggle(O)},z.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=o.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))},z.prototype._onMouseUp=function(O){this._update(O.point)},z.prototype._onMouseMove=function(O){this._update(O.point)},z.prototype._onDrag=function(O){this._update(O.point)},z.prototype._update=function(O){var $=this,pe=this._lngLat||this._trackPointer;if(!(!this._map||!pe||!this._content)&&(this._container||(this._container=o.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=o.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(\" \").forEach(function(vt){return $._container.classList.add(vt)}),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=ma(this._lngLat,this._pos,this._map.transform)),!(this._trackPointer&&!O))){var de=this._pos=this._trackPointer&&O?O:this._map.project(this._lngLat),Ie=this.options.anchor,$e=_f(this.options.offset);if(!Ie){var pt=this._container.offsetWidth,Kt=this._container.offsetHeight,ir;de.y+$e.bottom.y<Kt?ir=[\"top\"]:de.y>this._map.transform.height-Kt?ir=[\"bottom\"]:ir=[],de.x<pt/2?ir.push(\"left\"):de.x>this._map.transform.width-pt/2&&ir.push(\"right\"),ir.length===0?Ie=\"bottom\":Ie=ir.join(\"-\")}var Jt=de.add($e[Ie]).round();o.setTransform(this._container,ro[Ie]+\" translate(\"+Jt.x+\"px,\"+Jt.y+\"px)\"),Ao(this._container,Ie,\"popup\")}},z.prototype._focusFirstElement=function(){if(!(!this.options.focusAfterOpen||!this._container)){var O=this._container.querySelector(ef);O&&O.focus()}},z.prototype._onClose=function(){this.remove()},z}(i.Evented);function _f(Y){if(Y)if(typeof Y==\"number\"){var z=Math.round(Math.sqrt(.5*Math.pow(Y,2)));return{center:new i.Point(0,0),top:new i.Point(0,Y),\"top-left\":new i.Point(z,z),\"top-right\":new i.Point(-z,z),bottom:new i.Point(0,-Y),\"bottom-left\":new i.Point(z,-z),\"bottom-right\":new i.Point(-z,-z),left:new i.Point(Y,0),right:new i.Point(-Y,0)}}else if(Y instanceof i.Point||Array.isArray(Y)){var K=i.Point.convert(Y);return{center:K,top:K,\"top-left\":K,\"top-right\":K,bottom:K,\"bottom-left\":K,\"bottom-right\":K,left:K,right:K}}else return{center:i.Point.convert(Y.center||[0,0]),top:i.Point.convert(Y.top||[0,0]),\"top-left\":i.Point.convert(Y[\"top-left\"]||[0,0]),\"top-right\":i.Point.convert(Y[\"top-right\"]||[0,0]),bottom:i.Point.convert(Y.bottom||[0,0]),\"bottom-left\":i.Point.convert(Y[\"bottom-left\"]||[0,0]),\"bottom-right\":i.Point.convert(Y[\"bottom-right\"]||[0,0]),left:i.Point.convert(Y.left||[0,0]),right:i.Point.convert(Y.right||[0,0])};else return _f(new i.Point(0,0))}var ns={version:i.version,supported:a,setRTLTextPlugin:i.setRTLTextPlugin,getRTLTextPluginStatus:i.getRTLTextPluginStatus,Map:vn,NavigationControl:Xn,GeolocateControl:$c,AttributionControl:Rn,ScaleControl:Qc,FullscreenControl:Gl,Popup:ls,Marker:Jn,Style:mu,LngLat:i.LngLat,LngLatBounds:i.LngLatBounds,Point:i.Point,MercatorCoordinate:i.MercatorCoordinate,Evented:i.Evented,config:i.config,prewarm:jn,clearPrewarmedResources:la,get accessToken(){return i.config.ACCESS_TOKEN},set accessToken(Y){i.config.ACCESS_TOKEN=Y},get baseApiUrl(){return i.config.API_URL},set baseApiUrl(Y){i.config.API_URL=Y},get workerCount(){return Pi.workerCount},set workerCount(Y){Pi.workerCount=Y},get maxParallelImageRequests(){return i.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(Y){i.config.MAX_PARALLEL_IMAGE_REQUESTS=Y},clearStorage:function(z){i.clearTileCache(z)},workerUrl:\"\"};return ns}),r})});var JUe=ye((Byr,KUe)=>{\"use strict\";var tw=Mr(),CHt=Pl().sanitizeHTML,LHt=HK(),ZUe=c1();function XUe(e,t){this.subplot=e,this.uid=e.uid+\"-\"+t,this.index=t,this.idSource=\"source-\"+this.uid,this.idLayer=ZUe.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var ig=XUe.prototype;ig.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=WF(t)};ig.needsNewImage=function(e){var t=this.subplot.map;return t.getSource(this.idSource)&&this.sourceType===\"image\"&&e.sourcetype===\"image\"&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))};ig.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type};ig.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]};ig.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]};ig.updateImage=function(e){var t=this.subplot.map;t.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var r=this.findFollowingMapboxLayerId(this.lookupBelow());r!==null&&this.subplot.map.moveLayer(this.idLayer,r)};ig.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,!!WF(e)){var r=PHt(e);t.addSource(this.idSource,r)}};ig.findFollowingMapboxLayerId=function(e){if(e===\"traces\")for(var t=this.subplot.getMapLayers(),r=0;r<t.length;r++){var n=t[r].id;if(typeof n==\"string\"&&n.indexOf(ZUe.traceLayerPrefix)===0){e=n;break}}return e};ig.updateLayer=function(e){var t=this.subplot,r=YUe(e),n=this.lookupBelow(),i=this.findFollowingMapboxLayerId(n);this.removeLayer(),WF(e)&&t.addLayer({id:this.idLayer,source:this.idSource,\"source-layer\":e.sourcelayer||\"\",type:e.type,minzoom:e.minzoom,maxzoom:e.maxzoom,layout:r.layout,paint:r.paint},i),this.layerType=e.type,this.below=n};ig.updateStyle=function(e){if(WF(e)){var t=YUe(e);this.subplot.setOptions(this.idLayer,\"setLayoutProperty\",t.layout),this.subplot.setOptions(this.idLayer,\"setPaintProperty\",t.paint)}};ig.removeLayer=function(){var e=this.subplot.map;e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer)};ig.dispose=function(){var e=this.subplot.map;e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer),e.getSource(this.idSource)&&e.removeSource(this.idSource)};function WF(e){if(!e.visible)return!1;var t=e.source;if(Array.isArray(t)&&t.length>0){for(var r=0;r<t.length;r++)if(typeof t[r]!=\"string\"||t[r].length===0)return!1;return!0}return tw.isPlainObject(t)||typeof t==\"string\"&&t.length>0}function YUe(e){var t={},r={};switch(e.type){case\"circle\":tw.extendFlat(r,{\"circle-radius\":e.circle.radius,\"circle-color\":e.color,\"circle-opacity\":e.opacity});break;case\"line\":tw.extendFlat(r,{\"line-width\":e.line.width,\"line-color\":e.color,\"line-opacity\":e.opacity,\"line-dasharray\":e.line.dash});break;case\"fill\":tw.extendFlat(r,{\"fill-color\":e.color,\"fill-outline-color\":e.fill.outlinecolor,\"fill-opacity\":e.opacity});break;case\"symbol\":var n=e.symbol,i=LHt(n.textposition,n.iconsize);tw.extendFlat(t,{\"icon-image\":n.icon+\"-15\",\"icon-size\":n.iconsize/10,\"text-field\":n.text,\"text-size\":n.textfont.size,\"text-anchor\":i.anchor,\"text-offset\":i.offset,\"symbol-placement\":n.placement}),tw.extendFlat(r,{\"icon-color\":e.color,\"text-color\":n.textfont.color,\"text-opacity\":e.opacity});break;case\"raster\":tw.extendFlat(r,{\"raster-fade-duration\":0,\"raster-opacity\":e.opacity});break}return{layout:t,paint:r}}function PHt(e){var t=e.sourcetype,r=e.source,n={type:t},i;return t===\"geojson\"?i=\"data\":t===\"vector\"?i=typeof r==\"string\"?\"url\":\"tiles\":t===\"raster\"?(i=\"tiles\",n.tileSize=256):t===\"image\"&&(i=\"url\",n.coordinates=e.coordinates),n[i]=r,e.sourceattribution&&(n.attribution=CHt(e.sourceattribution)),n}KUe.exports=function(t,r,n){var i=new XUe(t,r);return i.update(n),i}});var oVe=ye((Nyr,aVe)=>{\"use strict\";var KK=YK(),JK=Mr(),tVe=nx(),$Ue=ba(),IHt=Qa(),RHt=gv(),ZF=Nc(),rVe=Sg(),DHt=rVe.drawMode,zHt=rVe.selectMode,FHt=wf().prepSelect,qHt=wf().clearOutline,OHt=wf().clearSelectionsCache,BHt=wf().selectOnClick,_x=c1(),NHt=JUe();function iVe(e,t){this.id=t,this.gd=e;var r=e._fullLayout,n=e._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+\"-\"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var Ah=iVe.prototype;Ah.plot=function(e,t,r){var n=this,i=t[n.id];n.map&&i.accesstoken!==n.accessToken&&(n.map.remove(),n.map=null,n.styleObj=null,n.traceHash={},n.layerList=[]);var a;n.map?a=new Promise(function(o,s){n.updateMap(e,t,o,s)}):a=new Promise(function(o,s){n.createMap(e,t,o,s)}),r.push(a)};Ah.createMap=function(e,t,r,n){var i=this,a=t[i.id],o=i.styleObj=nVe(a.style,t);i.accessToken=a.accesstoken;var s=a.bounds,l=s?[[s.west,s.south],[s.east,s.north]]:null,u=i.map=new KK.Map({container:i.div,style:o.style,center:$K(a.center),zoom:a.zoom,bearing:a.bearing,pitch:a.pitch,maxBounds:l,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new KK.AttributionControl({compact:!0}));u._canvas.style.left=\"0px\",u._canvas.style.top=\"0px\",i.rejectOnError(n),i.isStatic||i.initFx(e,t);var c=[];c.push(new Promise(function(f){u.once(\"load\",f)})),c=c.concat(tVe.fetchTraceGeoData(e)),Promise.all(c).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Ah.updateMap=function(e,t,r,n){var i=this,a=i.map,o=t[this.id];i.rejectOnError(n);var s=[],l=nVe(o.style,t);JSON.stringify(i.styleObj)!==JSON.stringify(l)&&(i.styleObj=l,a.setStyle(l.style),i.traceHash={},s.push(new Promise(function(u){a.once(\"styledata\",u)}))),s=s.concat(tVe.fetchTraceGeoData(e)),Promise.all(s).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Ah.fillBelowLookup=function(e,t){var r=t[this.id],n=r.layers,i,a,o=this.belowLookup={},s=!1;for(i=0;i<e.length;i++){var l=e[i][0].trace,u=l._module;typeof l.below==\"string\"?a=l.below:u.getBelow&&(a=u.getBelow(l,this)),a===\"\"&&(s=!0),o[\"trace-\"+l.uid]=a||\"\"}for(i=0;i<n.length;i++){var c=n[i];typeof c.below==\"string\"?a=c.below:s?a=\"traces\":a=\"\",o[\"layout-\"+i]=a}var f={},h,d;for(h in o)a=o[h],f[a]?f[a].push(h):f[a]=[h];for(a in f){var v=f[a];if(v.length>1)for(i=0;i<v.length;i++)h=v[i],h.indexOf(\"trace-\")===0?(d=h.split(\"trace-\")[1],this.traceHash[d]&&(this.traceHash[d].below=null)):h.indexOf(\"layout-\")===0&&(d=h.split(\"layout-\")[1],this.layerList[d]&&(this.layerList[d].below=null))}};var QUe={choroplethmapbox:0,densitymapbox:1,scattermapbox:2};Ah.updateData=function(e){var t=this.traceHash,r,n,i,a,o=e.slice().sort(function(f,h){return QUe[f[0].trace.type]-QUe[h[0].trace.type]});for(i=0;i<o.length;i++){var s=o[i];n=s[0].trace,r=t[n.uid];var l=!1;r&&(r.type===n.type?(r.update(s),l=!0):r.dispose()),!l&&n._module&&(t[n.uid]=n._module.plot(this,s))}var u=Object.keys(t);e:for(i=0;i<u.length;i++){var c=u[i];for(a=0;a<e.length;a++)if(n=e[a][0].trace,c===n.uid)continue e;r=t[c],r.dispose(),delete t[c]}};Ah.updateLayout=function(e){var t=this.map,r=e[this.id];!this.dragging&&!this.wheeling&&(t.setCenter($K(r.center)),t.setZoom(r.zoom),t.setBearing(r.bearing),t.setPitch(r.pitch)),this.updateLayers(e),this.updateFramework(e),this.updateFx(e),this.map.resize(),this.gd._context._scrollZoom.mapbox?t.scrollZoom.enable():t.scrollZoom.disable()};Ah.resolveOnRender=function(e){var t=this.map;t.on(\"render\",function r(){t.loaded()&&(t.off(\"render\",r),setTimeout(e,10))})};Ah.rejectOnError=function(e){var t=this.map;function r(){e(new Error(_x.mapOnErrorMsg))}t.once(\"error\",r),t.once(\"style.error\",r),t.once(\"source.error\",r),t.once(\"tile.error\",r),t.once(\"layer.error\",r)};Ah.createFramework=function(e){var t=this,r=t.div=document.createElement(\"div\");r.id=t.uid,r.style.position=\"absolute\",t.container.appendChild(r),t.xaxis={_id:\"x\",c2p:function(n){return t.project(n).x}},t.yaxis={_id:\"y\",c2p:function(n){return t.project(n).y}},t.updateFramework(e),t.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},IHt.setConvert(t.mockAxis,e)};Ah.initFx=function(e,t){var r=this,n=r.gd,i=r.map;i.on(\"moveend\",function(s){if(r.map){var l=n._fullLayout;if(s.originalEvent||r.wheeling){var u=l[r.id];$Ue.call(\"_storeDirectGUIEdit\",n.layout,l._preGUI,r.getViewEdits(u));var c=r.getView();u._input.center=u.center=c.center,u._input.zoom=u.zoom=c.zoom,u._input.bearing=u.bearing=c.bearing,u._input.pitch=u.pitch=c.pitch,n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(c))}s.originalEvent&&s.originalEvent.type===\"mouseup\"?r.dragging=!1:r.wheeling&&(r.wheeling=!1),l._rehover&&l._rehover()}}),i.on(\"wheel\",function(){r.wheeling=!0}),i.on(\"mousemove\",function(s){var l=r.div.getBoundingClientRect(),u=[s.originalEvent.offsetX,s.originalEvent.offsetY];s.target.getBoundingClientRect=function(){return l},r.xaxis.p2c=function(){return i.unproject(u).lng},r.yaxis.p2c=function(){return i.unproject(u).lat},n._fullLayout._rehover=function(){n._fullLayout._hoversubplot===r.id&&n._fullLayout[r.id]&&ZF.hover(n,s,r.id)},ZF.hover(n,s,r.id),n._fullLayout._hoversubplot=r.id});function a(){ZF.loneUnhover(t._hoverlayer)}i.on(\"dragstart\",function(){r.dragging=!0,a()}),i.on(\"zoomstart\",a),i.on(\"mouseout\",function(){n._fullLayout._hoversubplot=null});function o(){var s=r.getView();n.emit(\"plotly_relayouting\",r.getViewEditsWithDerived(s))}i.on(\"drag\",o),i.on(\"zoom\",o),i.on(\"dblclick\",function(){var s=n._fullLayout[r.id];$Ue.call(\"_storeDirectGUIEdit\",n.layout,n._fullLayout._preGUI,r.getViewEdits(s));var l=r.viewInitial;i.setCenter($K(l.center)),i.setZoom(l.zoom),i.setBearing(l.bearing),i.setPitch(l.pitch);var u=r.getView();s._input.center=s.center=u.center,s._input.zoom=s.zoom=u.zoom,s._input.bearing=s.bearing=u.bearing,s._input.pitch=s.pitch=u.pitch,n.emit(\"plotly_doubleclick\",null),n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(u))}),r.clearOutline=function(){OHt(r.dragOptions),qHt(r.dragOptions.gd)},r.onClickInPanFn=function(s){return function(l){var u=n._fullLayout.clickmode;u.indexOf(\"select\")>-1&&BHt(l.originalEvent,n,[r.xaxis],[r.yaxis],r.id,s),u.indexOf(\"event\")>-1&&ZF.click(n,l.originalEvent)}}};Ah.updateFx=function(e){var t=this,r=t.map,n=t.gd;if(t.isStatic)return;function i(l){var u=t.map.unproject(l);return[u.lng,u.lat]}var a=e.dragmode,o;o=function(l,u){if(u.isRect){var c=l.range={};c[t.id]=[i([u.xmin,u.ymin]),i([u.xmax,u.ymax])]}else{var f=l.lassoPoints={};f[t.id]=u.map(i)}};var s=t.dragOptions;t.dragOptions=JK.extendDeep(s||{},{dragmode:e.dragmode,element:t.div,gd:n,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:o},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off(\"click\",t.onClickInPanHandler),zHt(a)||DHt(a)?(r.dragPan.disable(),r.on(\"zoomstart\",t.clearOutline),t.dragOptions.prepFn=function(l,u,c){FHt(l,u,c,t.dragOptions,a)},RHt.init(t.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener(\"touchstart\",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on(\"click\",t.onClickInPanHandler))};Ah.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+\"px\",n.height=r.h*(t.y[1]-t.y[0])+\"px\",n.left=r.l+t.x[0]*r.w+\"px\",n.top=r.t+(1-t.y[1])*r.h+\"px\",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])};Ah.updateLayers=function(e){var t=e[this.id],r=t.layers,n=this.layerList,i;if(r.length!==n.length){for(i=0;i<n.length;i++)n[i].dispose();for(n=this.layerList=[],i=0;i<r.length;i++)n.push(NHt(this,i,r[i]))}else for(i=0;i<r.length;i++)n[i].update(r[i])};Ah.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))};Ah.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()};Ah.setOptions=function(e,t,r){for(var n in r)this.map[t](e,n,r[n])};Ah.getMapLayers=function(){return this.map.getStyle().layers};Ah.addLayer=function(e,t){var r=this.map;if(typeof t==\"string\"){if(t===\"\"){r.addLayer(e,t);return}for(var n=this.getMapLayers(),i=0;i<n.length;i++)if(t===n[i].id){r.addLayer(e,t);return}JK.warn([\"Trying to add layer with *below* value\",t,\"referencing a layer that does not exist\",\"or that does not yet exist.\"].join(\" \"))}r.addLayer(e)};Ah.project=function(e){return this.map.project(new KK.LngLat(e[0],e[1]))};Ah.getView=function(){var e=this.map,t=e.getCenter(),r=t.lng,n=t.lat,i={lon:r,lat:n},a=e.getCanvas(),o=parseInt(a.style.width),s=parseInt(a.style.height);return{center:i,zoom:e.getZoom(),bearing:e.getBearing(),pitch:e.getPitch(),_derived:{coordinates:[e.unproject([0,0]).toArray(),e.unproject([o,0]).toArray(),e.unproject([o,s]).toArray(),e.unproject([0,s]).toArray()]}}};Ah.getViewEdits=function(e){for(var t=this.id,r=[\"center\",\"zoom\",\"bearing\",\"pitch\"],n={},i=0;i<r.length;i++){var a=r[i];n[t+\".\"+a]=e[a]}return n};Ah.getViewEditsWithDerived=function(e){var t=this.id,r=this.getViewEdits(e);return r[t+\"._derived\"]=e._derived,r};function nVe(e,t){var r={};if(JK.isPlainObject(e))r.id=e.id,r.style=e;else if(typeof e==\"string\")if(r.id=e,_x.styleValuesMapbox.indexOf(e)!==-1)r.style=eVe(e);else if(_x.stylesNonMapbox[e]){r.style=_x.stylesNonMapbox[e];var n=r.style.sources[\"plotly-\"+e],i=n?n.tiles:void 0;i&&i[0]&&i[0].slice(-9)===\"?api_key=\"&&(i[0]+=t._mapboxAccessToken)}else r.style=e;else r.id=_x.styleValueDflt,r.style=eVe(_x.styleValueDflt);return r.transition={duration:0,delay:0},r}function eVe(e){return _x.styleUrlPrefix+e+\"-\"+_x.styleUrlSuffix}function $K(e){return[e.lon,e.lat]}aVe.exports=iVe});var uVe=ye((Uyr,lVe)=>{\"use strict\";var QK=Mr(),UHt=C_(),VHt=Zd(),sVe=Rk();lVe.exports=function(t,r,n){UHt(t,r,n,{type:\"mapbox\",attributes:sVe,handleDefaults:HHt,partition:\"y\",accessToken:r._mapboxAccessToken})};function HHt(e,t,r,n){r(\"accesstoken\",n.accessToken),r(\"style\"),r(\"center.lon\"),r(\"center.lat\"),r(\"zoom\"),r(\"bearing\"),r(\"pitch\");var i=r(\"bounds.west\"),a=r(\"bounds.east\"),o=r(\"bounds.south\"),s=r(\"bounds.north\");(i===void 0||a===void 0||o===void 0||s===void 0)&&delete t.bounds,VHt(e,t,{name:\"layers\",handleItemDefaults:GHt}),t._input=e}function GHt(e,t){function r(l,u){return QK.coerce(e,t,sVe.layers,l,u)}var n=r(\"visible\");if(n){var i=r(\"sourcetype\"),a=i===\"raster\"||i===\"image\";r(\"source\"),r(\"sourceattribution\"),i===\"vector\"&&r(\"sourcelayer\"),i===\"image\"&&r(\"coordinates\");var o;a&&(o=\"raster\");var s=r(\"type\",o);a&&s!==\"raster\"&&(s=t.type=\"raster\",QK.log(\"Source types *raster* and *image* must drawn *raster* layer type.\")),r(\"below\"),r(\"color\"),r(\"opacity\"),r(\"minzoom\"),r(\"maxzoom\"),s===\"circle\"&&r(\"circle.radius\"),s===\"line\"&&(r(\"line.width\"),r(\"line.dash\")),s===\"fill\"&&r(\"fill.outlinecolor\"),s===\"symbol\"&&(r(\"symbol.icon\"),r(\"symbol.iconsize\"),r(\"symbol.text\"),QK.coerceFont(r,\"symbol.textfont\",void 0,{noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}),r(\"symbol.textposition\"),r(\"symbol.placement\"))}}});var XF=ye(Np=>{\"use strict\";var cVe=YK(),tm=Mr(),eJ=tm.strTranslate,jHt=tm.strScale,WHt=kd().getSubplotCalcData,ZHt=Zp(),XHt=xa(),fVe=ao(),YHt=Pl(),KHt=oVe(),xx=\"mapbox\",Qm=Np.constants=c1();Np.name=xx;Np.attr=\"subplot\";Np.idRoot=xx;Np.idRegex=Np.attrRegex=tm.counterRegex(xx);var JHt=[\"mapbox subplots and traces are deprecated!\",\"Please consider switching to `map` subplots and traces.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");Np.attributes={subplot:{valType:\"subplotid\",dflt:\"mapbox\",editType:\"calc\"}};Np.layoutAttributes=Rk();Np.supplyLayoutDefaults=uVe();var hVe=!0;Np.plot=function(t){hVe&&(hVe=!1,tm.warn(JHt));var r=t._fullLayout,n=t.calcdata,i=r._subplots[xx];if(cVe.version!==Qm.requiredVersion)throw new Error(Qm.wrongVersionErrorMsg);var a=$Ht(t,i);cVe.accessToken=a;for(var o=0;o<i.length;o++){var s=i[o],l=WHt(n,xx,s),u=r[s],c=u._subplot;c||(c=new KHt(t,s),r[s]._subplot=c),c.viewInitial||(c.viewInitial={center:tm.extendFlat({},u.center),zoom:u.zoom,bearing:u.bearing,pitch:u.pitch}),c.plot(l,r,t._promises)}};Np.clean=function(e,t,r,n){for(var i=n._subplots[xx]||[],a=0;a<i.length;a++){var o=i[a];!t[o]&&n[o]._subplot&&n[o]._subplot.destroy()}};Np.toSVG=function(e){for(var t=e._fullLayout,r=t._subplots[xx],n=t._size,i=0;i<r.length;i++){var a=t[r[i]],o=a.domain,s=a._subplot,l=s.toImage(\"png\"),u=t._glimages.append(\"svg:image\");u.attr({xmlns:ZHt.svg,\"xlink:href\":l,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"});var c=XHt.select(a._subplot.div),f=c.select(\".mapboxgl-ctrl-logo\").node().offsetParent===null;if(!f){var h=t._glimages.append(\"g\");h.attr(\"transform\",eJ(n.l+n.w*o.x[0]+10,n.t+n.h*(1-o.y[0])-31)),h.append(\"path\").attr(\"d\",Qm.mapboxLogo.path0).style({opacity:.9,fill:\"#ffffff\",\"enable-background\":\"new\"}),h.append(\"path\").attr(\"d\",Qm.mapboxLogo.path1).style(\"opacity\",.35).style(\"enable-background\",\"new\"),h.append(\"path\").attr(\"d\",Qm.mapboxLogo.path2).style(\"opacity\",.35).style(\"enable-background\",\"new\"),h.append(\"polygon\").attr(\"points\",Qm.mapboxLogo.polygon).style({opacity:.9,fill:\"#ffffff\",\"enable-background\":\"new\"})}var d=c.select(\".mapboxgl-ctrl-attrib\").text().replace(\"Improve this map\",\"\"),v=t._glimages.append(\"g\"),x=v.append(\"text\");x.text(d).classed(\"static-attribution\",!0).attr({\"font-size\":12,\"font-family\":\"Arial\",color:\"rgba(0, 0, 0, 0.75)\",\"text-anchor\":\"end\",\"data-unformatted\":d});var b=fVe.bBox(x.node()),p=n.w*(o.x[1]-o.x[0]);if(b.width>p/2){var E=d.split(\"|\").join(\"<br>\");x.text(E).attr(\"data-unformatted\",E).call(YHt.convertToTspans,e),b=fVe.bBox(x.node())}x.attr(\"transform\",eJ(-3,-b.height+8)),v.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>p&&(k=p/(b.width+6));var A=[n.l+n.w*o.x[1],n.t+n.h*(1-o.y[0])];v.attr(\"transform\",eJ(A[0],A[1])+jHt(k))}};function $Ht(e,t){var r=e._fullLayout,n=e._context;if(n.mapboxAccessToken===\"\")return\"\";for(var i=[],a=[],o=!1,s=!1,l=0;l<t.length;l++){var u=r[t[l]],c=u.accesstoken;dVe(u.style)&&(c?tm.pushUnique(i,c):(dVe(u._input.style)&&(tm.error(\"Uses Mapbox map style, but did not set an access token.\"),o=!0),s=!0)),c&&tm.pushUnique(a,c)}if(s){var f=o?Qm.noAccessTokenErrorMsg:Qm.missingStyleErrorMsg;throw tm.error(f),new Error(f)}return i.length?(i.length>1&&tm.warn(Qm.multipleTokensErrorMsg),i[0]):(a.length&&tm.log([\"Listed mapbox access token(s)\",a.join(\",\"),\"but did not use a Mapbox map style, ignoring token(s).\"].join(\" \")),\"\")}function dVe(e){return typeof e==\"string\"&&(Qm.styleValuesMapbox.indexOf(e)!==-1||e.indexOf(\"mapbox://\")===0||e.indexOf(\"stamen\")===0)}Np.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[xx],n=0;n<r.length;n++){var i=t[r[n]]._subplot;i.updateFx(t)}}});var pVe=ye((Gyr,vVe)=>{\"use strict\";var Hyr=[\"*scattermapbox* trace is deprecated!\",\"Please consider switching to the *scattermap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");vVe.exports={attributes:NF(),supplyDefaults:MUe(),colorbar:Kd(),formatLabels:VK(),calc:lz(),plot:NUe(),hoverPoints:jF().hoverPoints,eventData:GUe(),selectPoints:WUe(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.update(t)}},moduleType:\"trace\",name:\"scattermapbox\",basePlotModule:XF(),categories:[\"mapbox\",\"gl\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var mVe=ye((jyr,gVe)=>{\"use strict\";gVe.exports=pVe()});var tJ=ye((Wyr,yVe)=>{\"use strict\";var f1=K5(),QHt=Jl(),eGt=Wo().hovertemplateAttrs,tGt=vl(),bx=no().extendFlat;yVe.exports=bx({locations:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:bx({},f1.featureidkey,{}),below:{valType:\"string\",editType:\"plot\"},text:f1.text,hovertext:f1.hovertext,marker:{line:{color:bx({},f1.marker.line.color,{editType:\"plot\"}),width:bx({},f1.marker.line.width,{editType:\"plot\"}),editType:\"calc\"},opacity:bx({},f1.marker.opacity,{editType:\"plot\"}),editType:\"calc\"},selected:{marker:{opacity:bx({},f1.selected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:bx({},f1.unselected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},hoverinfo:f1.hoverinfo,hovertemplate:eGt({},{keys:[\"properties\"]}),showlegend:bx({},tGt.showlegend,{dflt:!1})},QHt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var xVe=ye((Zyr,_Ve)=>{\"use strict\";var qk=Mr(),rGt=Uh(),iGt=tJ();_Ve.exports=function(t,r,n,i){function a(c,f){return qk.coerce(t,r,iGt,c,f)}var o=a(\"locations\"),s=a(\"z\"),l=a(\"geojson\");if(!qk.isArrayOrTypedArray(o)||!o.length||!qk.isArrayOrTypedArray(s)||!s.length||!(typeof l==\"string\"&&l!==\"\"||qk.isPlainObject(l))){r.visible=!1;return}a(\"featureidkey\"),r._length=Math.min(o.length,s.length),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\");var u=a(\"marker.line.width\");u&&a(\"marker.line.color\"),a(\"marker.opacity\"),rGt(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),qk.coerceSelectionMarkerOpacity(r,a)}});var rJ=ye((Xyr,TVe)=>{\"use strict\";var nGt=uo(),h1=Mr(),aGt=Mu(),oGt=ao(),sGt=rx().makeBlank,bVe=nx();function lGt(e){var t=e[0].trace,r=t.visible===!0&&t._length!==0,n={layout:{visibility:\"none\"},paint:{}},i={layout:{visibility:\"none\"},paint:{}},a=t._opts={fill:n,line:i,geojson:sGt()};if(!r)return a;var o=bVe.extractTraceFeature(e);if(!o)return a;var s=aGt.makeColorScaleFuncFromTrace(t),l=t.marker,u=l.line||{},c;h1.isArrayOrTypedArray(l.opacity)&&(c=function(E){var k=E.mo;return nGt(k)?+h1.constrain(k,0,1):0});var f;h1.isArrayOrTypedArray(u.color)&&(f=function(E){return E.mlc});var h;h1.isArrayOrTypedArray(u.width)&&(h=function(E){return E.mlw});for(var d=0;d<e.length;d++){var v=e[d],x=v.fOut;if(x){var b=x.properties;b.fc=s(v.z),c&&(b.mo=c(v)),f&&(b.mlc=f(v)),h&&(b.mlw=h(v)),v.ct=b.ct,v._polygons=bVe.feature2polygons(x)}}var p=c?{type:\"identity\",property:\"mo\"}:l.opacity;return h1.extendFlat(n.paint,{\"fill-color\":{type:\"identity\",property:\"fc\"},\"fill-opacity\":p}),h1.extendFlat(i.paint,{\"line-color\":f?{type:\"identity\",property:\"mlc\"}:u.color,\"line-width\":h?{type:\"identity\",property:\"mlw\"}:u.width,\"line-opacity\":p}),n.layout.visibility=\"visible\",i.layout.visibility=\"visible\",a.geojson={type:\"FeatureCollection\",features:o},wVe(e),a}function wVe(e){var t=e[0].trace,r=t._opts,n;if(t.selectedpoints){for(var i=oGt.makeSelectedPointStyleFns(t),a=0;a<e.length;a++){var o=e[a];o.fOut&&(o.fOut.properties.mo2=i.selectedOpacityFn(o))}n={type:\"identity\",property:\"mo2\"}}else n=h1.isArrayOrTypedArray(t.marker.opacity)?{type:\"identity\",property:\"mo\"}:t.marker.opacity;return h1.extendFlat(r.fill.paint,{\"fill-opacity\":n}),h1.extendFlat(r.line.paint,{\"line-opacity\":n}),r}TVe.exports={convert:lGt,convertOnSelect:wVe}});var kVe=ye((Yyr,EVe)=>{\"use strict\";var SVe=rJ().convert,uGt=rJ().convertOnSelect,AVe=c1().traceLayerPrefix;function MVe(e,t){this.type=\"choroplethmapbox\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"fill\",AVe+t+\"-fill\"],[\"line\",AVe+t+\"-line\"]],this.below=null}var wA=MVe.prototype;wA.update=function(e){this._update(SVe(e)),e[0].trace._glTrace=this};wA.updateOnSelect=function(e){this._update(uGt(e))};wA._update=function(e){var t=this.subplot,r=this.layerList,n=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(e.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(e,n),this.below=n);for(var i=0;i<r.length;i++){var a=r[i],o=a[0],s=a[1],l=e[o];t.setOptions(s,\"setLayoutProperty\",l.layout),l.layout.visibility===\"visible\"&&t.setOptions(s,\"setPaintProperty\",l.paint)}};wA._addLayers=function(e,t){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=e[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},t)}};wA._removeLayers=function(){for(var e=this.subplot.map,t=this.layerList,r=t.length-1;r>=0;r--)e.removeLayer(t[r][1])};wA.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};EVe.exports=function(t,r){var n=r[0].trace,i=new MVe(t,n.uid),a=i.sourceId,o=SVe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),r[0].trace._glTrace=i,i}});var LVe=ye((Jyr,CVe)=>{\"use strict\";var Kyr=[\"*choroplethmapbox* trace is deprecated!\",\"Please consider switching to the *choroplethmap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");CVe.exports={attributes:tJ(),supplyDefaults:xVe(),colorbar:M_(),calc:Lz(),plot:kVe(),hoverPoints:Iz(),eventData:Rz(),selectPoints:Dz(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.updateOnSelect(t)}},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if(typeof i==\"string\"&&i.indexOf(\"water\")===0){for(var a=n+1;a<r.length;a++)if(i=r[a].id,typeof i==\"string\"&&i.indexOf(\"plotly-\")===-1)return i}}},moduleType:\"trace\",name:\"choroplethmapbox\",basePlotModule:XF(),categories:[\"mapbox\",\"gl\",\"noOpacity\",\"showLegend\"],meta:{hr_name:\"choropleth_mapbox\"}}});var IVe=ye(($yr,PVe)=>{\"use strict\";PVe.exports=LVe()});var nJ=ye((Qyr,DVe)=>{\"use strict\";var cGt=Jl(),fGt=Wo().hovertemplateAttrs,RVe=vl(),YF=NF(),iJ=no().extendFlat;DVe.exports=iJ({lon:YF.lon,lat:YF.lat,z:{valType:\"data_array\",editType:\"calc\"},radius:{valType:\"number\",editType:\"plot\",arrayOk:!0,min:1,dflt:30},below:{valType:\"string\",editType:\"plot\"},text:YF.text,hovertext:YF.hovertext,hoverinfo:iJ({},RVe.hoverinfo,{flags:[\"lon\",\"lat\",\"z\",\"text\",\"name\"]}),hovertemplate:fGt(),showlegend:iJ({},RVe.showlegend,{dflt:!1})},cGt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var FVe=ye((e1r,zVe)=>{\"use strict\";var hGt=Mr(),dGt=Uh(),vGt=nJ();zVe.exports=function(t,r,n,i){function a(u,c){return hGt.coerce(t,r,vGt,u,c)}var o=a(\"lon\")||[],s=a(\"lat\")||[],l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a(\"z\"),a(\"radius\"),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),dGt(t,r,i,a,{prefix:\"\",cLetter:\"z\"})}});var BVe=ye((t1r,OVe)=>{\"use strict\";var aJ=uo(),pGt=Mr().isArrayOrTypedArray,oJ=es().BADNUM,gGt=zv(),qVe=Mr()._;OVe.exports=function(t,r){for(var n=r._length,i=new Array(n),a=r.z,o=pGt(a)&&a.length,s=0;s<n;s++){var l=i[s]={},u=r.lon[s],c=r.lat[s];if(l.lonlat=aJ(u)&&aJ(c)?[+u,+c]:[oJ,oJ],o){var f=a[s];l.z=aJ(f)?f:oJ}}return gGt(t,r,{vals:o?a:[0,1],containerStr:\"\",cLetter:\"z\"}),n&&(i[0].t={labels:{lat:qVe(t,\"lat:\")+\" \",lon:qVe(t,\"lon:\")+\" \"}}),i}});var GVe=ye((r1r,HVe)=>{\"use strict\";var mGt=uo(),sJ=Mr(),NVe=va(),UVe=Mu(),VVe=es().BADNUM,yGt=rx().makeBlank;HVe.exports=function(t){var r=t[0].trace,n=r.visible===!0&&r._length!==0,i={layout:{visibility:\"none\"},paint:{}},a=r._opts={heatmap:i,geojson:yGt()};if(!n)return a;var o=[],s,l=r.z,u=r.radius,c=sJ.isArrayOrTypedArray(l)&&l.length,f=sJ.isArrayOrTypedArray(u);for(s=0;s<t.length;s++){var h=t[s],d=h.lonlat;if(d[0]!==VVe){var v={};if(c){var x=h.z;v.z=x!==VVe?x:0}f&&(v.r=mGt(u[s])&&u[s]>0?+u[s]:0),o.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:d},properties:v})}}var b=UVe.extractOpts(r),p=b.reversescale?UVe.flipScale(b.colorscale):b.colorscale,E=p[0][1],k=NVe.opacity(E)<1?E:NVe.addOpacity(E,0),A=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,k];for(s=1;s<p.length;s++)A.push(p[s][0],p[s][1]);var L=[\"interpolate\",[\"linear\"],[\"get\",\"z\"],b.min,0,b.max,1];return sJ.extendFlat(a.heatmap.paint,{\"heatmap-weight\":c?L:1/(b.max-b.min),\"heatmap-color\":A,\"heatmap-radius\":f?{type:\"identity\",property:\"r\"}:r.radius,\"heatmap-opacity\":r.opacity}),a.geojson={type:\"FeatureCollection\",features:o},a.heatmap.layout.visibility=\"visible\",a}});var XVe=ye((i1r,ZVe)=>{\"use strict\";var jVe=GVe(),_Gt=c1().traceLayerPrefix;function WVe(e,t){this.type=\"densitymapbox\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"heatmap\",_Gt+t+\"-heatmap\"]],this.below=null}var KF=WVe.prototype;KF.update=function(e){var t=this.subplot,r=this.layerList,n=jVe(e),i=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(n.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(n,i),this.below=i);for(var a=0;a<r.length;a++){var o=r[a],s=o[0],l=o[1],u=n[s];t.setOptions(l,\"setLayoutProperty\",u.layout),u.layout.visibility===\"visible\"&&t.setOptions(l,\"setPaintProperty\",u.paint)}};KF._addLayers=function(e,t){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=e[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},t)}};KF._removeLayers=function(){for(var e=this.subplot.map,t=this.layerList,r=t.length-1;r>=0;r--)e.removeLayer(t[r][1])};KF.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};ZVe.exports=function(t,r){var n=r[0].trace,i=new WVe(t,n.uid),a=i.sourceId,o=jVe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),i}});var KVe=ye((n1r,YVe)=>{\"use strict\";var xGt=Qa(),bGt=jF().hoverPoints,wGt=jF().getExtraText;YVe.exports=function(t,r,n){var i=bGt(t,r,n);if(i){var a=i[0],o=a.cd,s=o[0].trace,l=o[a.index];if(delete a.color,\"z\"in l){var u=a.subplot.mockAxis;a.z=l.z,a.zLabel=xGt.tickText(u,u.c2l(l.z),\"hover\").text}return a.extraText=wGt(s,l,o[0].t.labels),[a]}}});var $Ve=ye((a1r,JVe)=>{\"use strict\";JVe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t.z=r.z,t}});var eHe=ye((s1r,QVe)=>{\"use strict\";var o1r=[\"*densitymapbox* trace is deprecated!\",\"Please consider switching to the *densitymap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");QVe.exports={attributes:nJ(),supplyDefaults:FVe(),colorbar:M_(),formatLabels:VK(),calc:BVe(),plot:XVe(),hoverPoints:KVe(),eventData:$Ve(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n<r.length;n++){var i=r[n],a=i.id;if(i.type===\"symbol\"&&typeof a==\"string\"&&a.indexOf(\"plotly-\")===-1)return a}},moduleType:\"trace\",name:\"densitymapbox\",basePlotModule:XF(),categories:[\"mapbox\",\"gl\",\"showLegend\"],meta:{hr_name:\"density_mapbox\"}}});var rHe=ye((l1r,tHe)=>{\"use strict\";tHe.exports=eHe()});var nHe=ye((u1r,iHe)=>{iHe.exports={version:8,name:\"orto\",metadata:{\"maputnik:renderer\":\"mlgljs\"},center:[1.537786,41.837539],zoom:12,bearing:0,pitch:0,light:{anchor:\"viewport\",color:\"white\",intensity:.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 © <a href='http://www.esri.com'>ESRI</a>\"},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,.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,.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,.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,.8],[20,4]]},\"line-opacity\":.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,.9],[10,.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\":[.5,.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,.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,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.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\":[.5,.25],\"line-width\":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.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,.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,.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,.5],[20,18]]},\"line-opacity\":.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,.5],[20,18]]},\"line-opacity\":.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,.4],[15,.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,.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\":.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,.6]]},\"line-width\":{base:1.2,stops:[[7,0],[8,.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,.5]]},\"line-width\":{base:1.2,stops:[[5,0],[6,.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,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":{stops:[[4,0],[5,.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,.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\":.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,.5],[20,13]]},\"line-opacity\":.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,.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,.5],[20,18]]},\"line-opacity\":.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,.5],[20,18]]},\"line-opacity\":.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,.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\":[.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,.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\":[.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,.4],[15,.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\":[.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,.4],[6,.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,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.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,.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,.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,.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,.5],[20,18]]},\"line-opacity\":.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,.4],[15,.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\":[.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,.4],[5,1],[12,3]]},\"line-opacity\":.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,.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,.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,.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\":.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\":.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\":.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\":.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,.6],\"text-size\":12,\"text-max-width\":9},paint:{\"text-halo-blur\":.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,.6],\"text-size\":12,\"text-max-width\":9},paint:{\"text-halo-blur\":.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,.6],\"text-size\":11,\"text-max-width\":9},paint:{\"text-halo-blur\":.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,.6],\"text-size\":12,\"text-max-width\":9,\"icon-optional\":!1,\"icon-ignore-placement\":!1,\"icon-allow-overlap\":!1,\"text-ignore-placement\":!1,\"text-allow-overlap\":!1,\"text-optional\":!0},paint:{\"text-halo-blur\":.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,.5],[19,1]]}},paint:{\"icon-opacity\":.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,.5],[19,1]]}},paint:{\"icon-opacity\":.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\":.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\":.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\":.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\":.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\":.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\":[.4,0],\"icon-size\":.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\"}});var oHe=ye((c1r,aHe)=>{aHe.exports={version:8,name:\"orto\",metadata:{},center:[1.537786,41.837539],zoom:12,bearing:0,pitch:0,light:{anchor:\"viewport\",color:\"white\",intensity:.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 © <a href='http://www.esri.com'>ESRI</a>\"},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\"}}]}});var wx=ye((f1r,fHe)=>{\"use strict\";var TGt=Y1(),AGt=nHe(),SGt=oHe(),MGt='\\xA9 <a target=\"_blank\" href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors',sHe=\"https://basemaps.cartocdn.com/gl/positron-gl-style/style.json\",lHe=\"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json\",JF=\"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json\",EGt=\"https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json\",kGt=\"https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json\",CGt=\"https://basemaps.cartocdn.com/gl/voyager-nolabels-gl-style/style.json\",cHe={basic:JF,streets:JF,outdoors:JF,light:sHe,dark:lHe,satellite:SGt,\"satellite-streets\":AGt,\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:MGt,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\":sHe,\"carto-darkmatter\":lHe,\"carto-voyager\":JF,\"carto-positron-nolabels\":EGt,\"carto-darkmatter-nolabels\":kGt,\"carto-voyager-nolabels\":CGt},uHe=TGt(cHe);fHe.exports={styleValueDflt:\"basic\",stylesMap:cHe,styleValuesMap:uHe,traceLayerPrefix:\"plotly-trace-layer-\",layoutLayerPrefix:\"plotly-layout-layer-\",missingStyleErrorMsg:[\"No valid maplibre style found, please set `map.style` to one of:\",uHe.join(\", \"),\"or use a tile service.\"].join(`\n", - "`),mapOnErrorMsg:\"Map error.\"}});var Ok=ye((h1r,gHe)=>{\"use strict\";var hHe=Mr(),dHe=va().defaultLine,LGt=Ju().attributes,PGt=Su(),IGt=Uc().textposition,RGt=Bu().overrideAll,DGt=Vs().templatedArray,vHe=wx(),pHe=PGt({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});pHe.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\";var zGt=gHe.exports=RGt({_arrayAttrRegexps:[hHe.counterRegex(\"map\",\".layers\",!0)],domain:LGt({name:\"map\"}),style:{valType:\"any\",values:vHe.styleValuesMap,dflt:vHe.styleValueDflt},center:{lon:{valType:\"number\",dflt:0},lat:{valType:\"number\",dflt:0}},zoom:{valType:\"number\",dflt:1},bearing:{valType:\"number\",dflt:0},pitch:{valType:\"number\",dflt:0},bounds:{west:{valType:\"number\"},east:{valType:\"number\"},south:{valType:\"number\"},north:{valType:\"number\"}},layers:DGt(\"layer\",{visible:{valType:\"boolean\",dflt:!0},sourcetype:{valType:\"enumerated\",values:[\"geojson\",\"vector\",\"raster\",\"image\"],dflt:\"geojson\"},source:{valType:\"any\"},sourcelayer:{valType:\"string\",dflt:\"\"},sourceattribution:{valType:\"string\"},type:{valType:\"enumerated\",values:[\"circle\",\"line\",\"fill\",\"symbol\",\"raster\"],dflt:\"circle\"},coordinates:{valType:\"any\"},below:{valType:\"string\"},color:{valType:\"color\",dflt:dHe},opacity:{valType:\"number\",min:0,max:1,dflt:1},minzoom:{valType:\"number\",min:0,max:24,dflt:0},maxzoom:{valType:\"number\",min:0,max:24,dflt:24},circle:{radius:{valType:\"number\",dflt:15}},line:{width:{valType:\"number\",dflt:2},dash:{valType:\"data_array\"}},fill:{outlinecolor:{valType:\"color\",dflt:dHe}},symbol:{icon:{valType:\"string\",dflt:\"marker\"},iconsize:{valType:\"number\",dflt:10},text:{valType:\"string\",dflt:\"\"},placement:{valType:\"enumerated\",values:[\"point\",\"line\",\"line-center\"],dflt:\"point\"},textfont:pHe,textposition:hHe.extendFlat({},IGt,{arrayOk:!1})}})},\"plot\",\"from-root\");zGt.uirevision={valType:\"any\",editType:\"none\"}});var $F=ye((d1r,_He)=>{\"use strict\";var FGt=Wo().hovertemplateAttrs,qGt=Wo().texttemplateAttrs,OGt=Eg(),Bk=H2(),TA=Uc(),mHe=Ok(),BGt=vl(),NGt=Jl(),rw=no().extendFlat,UGt=Bu().overrideAll,VGt=Ok(),yHe=Bk.line,AA=Bk.marker;_He.exports=UGt({lon:Bk.lon,lat:Bk.lat,cluster:{enabled:{valType:\"boolean\"},maxzoom:rw({},VGt.layers.maxzoom,{}),step:{valType:\"number\",arrayOk:!0,dflt:-1,min:-1},size:{valType:\"number\",arrayOk:!0,dflt:20,min:0},color:{valType:\"color\",arrayOk:!0},opacity:rw({},AA.opacity,{dflt:1})},mode:rw({},TA.mode,{dflt:\"markers\"}),text:rw({},TA.text,{}),texttemplate:qGt({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"text\"]}),hovertext:rw({},TA.hovertext,{}),line:{color:yHe.color,width:yHe.width},connectgaps:TA.connectgaps,marker:rw({symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},angle:{valType:\"number\",dflt:\"auto\",arrayOk:!0},allowoverlap:{valType:\"boolean\",dflt:!1},opacity:AA.opacity,size:AA.size,sizeref:AA.sizeref,sizemin:AA.sizemin,sizemode:AA.sizemode},NGt(\"marker\")),fill:Bk.fill,fillcolor:OGt(),textfont:mHe.layers.symbol.textfont,textposition:mHe.layers.symbol.textposition,below:{valType:\"string\"},selected:{marker:TA.selected.marker},unselected:{marker:TA.unselected.marker},hoverinfo:rw({},BGt.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]}),hovertemplate:FGt()},\"calc\",\"nested\")});var lJ=ye((v1r,xHe)=>{\"use strict\";var HGt=[\"Metropolis Black Italic\",\"Metropolis Black\",\"Metropolis Bold Italic\",\"Metropolis Bold\",\"Metropolis Extra Bold Italic\",\"Metropolis Extra Bold\",\"Metropolis Extra Light Italic\",\"Metropolis Extra Light\",\"Metropolis Light Italic\",\"Metropolis Light\",\"Metropolis Medium Italic\",\"Metropolis Medium\",\"Metropolis Regular Italic\",\"Metropolis Regular\",\"Metropolis Semi Bold Italic\",\"Metropolis Semi Bold\",\"Metropolis Thin Italic\",\"Metropolis Thin\",\"Open Sans Bold Italic\",\"Open Sans Bold\",\"Open Sans Extrabold Italic\",\"Open Sans Extrabold\",\"Open Sans Italic\",\"Open Sans Light Italic\",\"Open Sans Light\",\"Open Sans Regular\",\"Open Sans Semibold Italic\",\"Open Sans Semibold\",\"Klokantech Noto Sans Bold\",\"Klokantech Noto Sans CJK Bold\",\"Klokantech Noto Sans CJK Regular\",\"Klokantech Noto Sans Italic\",\"Klokantech Noto Sans Regular\"];xHe.exports={isSupportedFont:function(e){return HGt.indexOf(e)!==-1}}});var THe=ye((p1r,wHe)=>{\"use strict\";var Nk=Mr(),uJ=lu(),GGt=$p(),jGt=R0(),WGt=D0(),ZGt=Ig(),bHe=$F(),XGt=lJ().isSupportedFont;wHe.exports=function(t,r,n,i){function a(p,E){return Nk.coerce(t,r,bHe,p,E)}function o(p,E){return Nk.coerce2(t,r,bHe,p,E)}var s=YGt(t,r,a);if(!s){r.visible=!1;return}if(a(\"text\"),a(\"texttemplate\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"mode\"),a(\"below\"),uJ.hasMarkers(r)){GGt(t,r,n,i,a,{noLine:!0,noAngle:!0}),a(\"marker.allowoverlap\"),a(\"marker.angle\");var l=r.marker;l.symbol!==\"circle\"&&(Nk.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),Nk.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}uJ.hasLines(r)&&(jGt(t,r,n,i,a,{noDash:!0}),a(\"connectgaps\"));var u=o(\"cluster.maxzoom\"),c=o(\"cluster.step\"),f=o(\"cluster.color\",r.marker&&r.marker.color||n),h=o(\"cluster.size\"),d=o(\"cluster.opacity\"),v=u!==!1||c!==!1||f!==!1||h!==!1||d!==!1,x=a(\"cluster.enabled\",v);if(x||uJ.hasText(r)){var b=i.font.family;WGt(t,r,i,a,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:XGt(b)?b:\"Open Sans Regular\",weight:i.font.weight,style:i.font.style,size:i.font.size,color:i.font.color}})}a(\"fill\"),r.fill!==\"none\"&&ZGt(t,r,n,a),Nk.coerceSelectionMarkerOpacity(r,a)};function YGt(e,t,r){var n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length);return t._length=a,a}});var cJ=ye((g1r,SHe)=>{\"use strict\";var AHe=Qa();SHe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=AHe.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=AHe.tickText(o,o.c2l(s[1]),!0).text,i}});var fJ=ye((m1r,EHe)=>{\"use strict\";var MHe=Mr();EHe.exports=function(t,r){var n=t.split(\" \"),i=n[0],a=n[1],o=MHe.isArrayOrTypedArray(r)?MHe.mean(r):r,s=.5+o/100,l=1.5+o/100,u=[\"\",\"\"],c=[0,0];switch(i){case\"top\":u[0]=\"top\",c[1]=-l;break;case\"bottom\":u[0]=\"bottom\",c[1]=l;break}switch(a){case\"left\":u[1]=\"right\",c[0]=-s;break;case\"right\":u[1]=\"left\",c[0]=s;break}var f;return u[0]&&u[1]?f=u.join(\"-\"):u[0]?f=u[0]:u[1]?f=u[1]:f=\"center\",{anchor:f,offset:c}}});var RHe=ye((y1r,IHe)=>{\"use strict\";var LHe=uo(),nv=Mr(),KGt=es().BADNUM,e7=rx(),kHe=Mu(),JGt=ao(),$Gt=S3(),t7=lu(),QGt=lJ().isSupportedFont,ejt=fJ(),tjt=rp().appendArrayPointValue,rjt=Pl().NEWLINES,ijt=Pl().BR_TAG_ALL;IHe.exports=function(t,r){var n=r[0].trace,i=n.visible===!0&&n._length!==0,a=n.fill!==\"none\",o=t7.hasLines(n),s=t7.hasMarkers(n),l=t7.hasText(n),u=s&&n.marker.symbol===\"circle\",c=s&&n.marker.symbol!==\"circle\",f=n.cluster&&n.cluster.enabled,h=QF(\"fill\"),d=QF(\"line\"),v=QF(\"circle\"),x=QF(\"symbol\"),b={fill:h,line:d,circle:v,symbol:x};if(!i)return b;var p;if((a||o)&&(p=e7.calcTraceToLineCoords(r)),a&&(h.geojson=e7.makePolygon(p),h.layout.visibility=\"visible\",nv.extendFlat(h.paint,{\"fill-color\":n.fillcolor})),o&&(d.geojson=e7.makeLine(p),d.layout.visibility=\"visible\",nv.extendFlat(d.paint,{\"line-width\":n.line.width,\"line-color\":n.line.color,\"line-opacity\":n.opacity})),u){var E=njt(r);v.geojson=E.geojson,v.layout.visibility=\"visible\",f&&(v.filter=[\"!\",[\"has\",\"point_count\"]],b.cluster={type:\"circle\",filter:[\"has\",\"point_count\"],layout:{visibility:\"visible\"},paint:{\"circle-color\":dJ(n.cluster.color,n.cluster.step),\"circle-radius\":dJ(n.cluster.size,n.cluster.step),\"circle-opacity\":dJ(n.cluster.opacity,n.cluster.step)}},b.clusterCount={type:\"symbol\",filter:[\"has\",\"point_count\"],paint:{},layout:{\"text-field\":\"{point_count_abbreviated}\",\"text-font\":CHe(n),\"text-size\":12}}),nv.extendFlat(v.paint,{\"circle-color\":E.mcc,\"circle-radius\":E.mrc,\"circle-opacity\":E.mo})}if(u&&f&&(v.filter=[\"!\",[\"has\",\"point_count\"]]),(c||l)&&(x.geojson=ajt(r,t),nv.extendFlat(x.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),c&&(nv.extendFlat(x.layout,{\"icon-size\":n.marker.size/10}),\"angle\"in n.marker&&n.marker.angle!==\"auto\"&&nv.extendFlat(x.layout,{\"icon-rotate\":{type:\"identity\",property:\"angle\"},\"icon-rotation-alignment\":\"map\"}),x.layout[\"icon-allow-overlap\"]=n.marker.allowoverlap,nv.extendFlat(x.paint,{\"icon-opacity\":n.opacity*n.marker.opacity,\"icon-color\":n.marker.color})),l)){var k=(n.marker||{}).size,A=ejt(n.textposition,k);nv.extendFlat(x.layout,{\"text-size\":n.textfont.size,\"text-anchor\":A.anchor,\"text-offset\":A.offset,\"text-font\":CHe(n)}),nv.extendFlat(x.paint,{\"text-color\":n.textfont.color,\"text-opacity\":n.opacity})}return b};function QF(e){return{type:e,geojson:e7.makeBlank(),layout:{visibility:\"none\"},filter:null,paint:{}}}function njt(e){var t=e[0].trace,r=t.marker,n=t.selectedpoints,i=nv.isArrayOrTypedArray(r.color),a=nv.isArrayOrTypedArray(r.size),o=nv.isArrayOrTypedArray(r.opacity),s;function l(k){return t.opacity*k}function u(k){return k/2}var c;i&&(kHe.hasColorscale(t,\"marker\")?c=kHe.makeColorScaleFuncFromTrace(r):c=nv.identity);var f;a&&(f=$Gt(t));var h;o&&(h=function(k){var A=LHe(k)?+nv.constrain(k,0,1):0;return l(A)});var d=[];for(s=0;s<e.length;s++){var v=e[s],x=v.lonlat;if(!PHe(x)){var b={};c&&(b.mcc=v.mcc=c(v.mc)),f&&(b.mrc=v.mrc=f(v.ms)),h&&(b.mo=h(v.mo)),n&&(b.selected=v.selected||0),d.push({type:\"Feature\",id:s+1,geometry:{type:\"Point\",coordinates:x},properties:b})}}var p;if(n)for(p=JGt.makeSelectedPointStyleFns(t),s=0;s<d.length;s++){var E=d[s].properties;p.selectedOpacityFn&&(E.mo=l(p.selectedOpacityFn(E))),p.selectedColorFn&&(E.mcc=p.selectedColorFn(E)),p.selectedSizeFn&&(E.mrc=p.selectedSizeFn(E))}return{geojson:{type:\"FeatureCollection\",features:d},mcc:i||p&&p.selectedColorFn?{type:\"identity\",property:\"mcc\"}:r.color,mrc:a||p&&p.selectedSizeFn?{type:\"identity\",property:\"mrc\"}:u(r.size),mo:o||p&&p.selectedOpacityFn?{type:\"identity\",property:\"mo\"}:l(r.opacity)}}function ajt(e,t){for(var r=t._fullLayout,n=e[0].trace,i=n.marker||{},a=i.symbol,o=i.angle,s=a!==\"circle\"?hJ(a):r7,l=o!==\"auto\"?hJ(o,!0):r7,u=t7.hasText(n)?hJ(n.text):r7,c=[],f=0;f<e.length;f++){var h=e[f];if(!PHe(h.lonlat)){var d=n.texttemplate,v;if(d){var x=Array.isArray(d)?d[f]||\"\":d,b=n._module.formatLabels(h,n,r),p={};tjt(p,n,h.i);var E=n._meta||{};v=nv.texttemplateString(x,b,r._d3locale,p,h,E)}else v=u(f);v&&(v=v.replace(rjt,\"\").replace(ijt,`\n", - "`)),c.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:h.lonlat},properties:{symbol:s(f),angle:l(f),text:v}})}}return{type:\"FeatureCollection\",features:c}}function hJ(e,t){return nv.isArrayOrTypedArray(e)?t?function(r){return LHe(e[r])?+e[r]:0}:function(r){return e[r]}:e?function(){return e}:r7}function r7(){return\"\"}function PHe(e){return e[0]===KGt}function dJ(e,t){var r;if(nv.isArrayOrTypedArray(e)&&nv.isArrayOrTypedArray(t)){r=[\"step\",[\"get\",\"point_count\"],e[0]];for(var n=1;n<e.length;n++)r.push(t[n-1],e[n])}else r=e;return r}function CHe(e){var t=e.textfont,r=t.family,n=t.style,i=t.weight,a=r.split(\" \"),o=a[a.length-1]===\"Italic\";o&&a.pop(),o=o||n===\"italic\";var s=a.join(\" \");i===\"bold\"&&a.indexOf(\"Bold\")===-1?s+=\" Bold\":i<=1e3&&(a[0]===\"Metropolis\"?(s=\"Metropolis\",i>850?s+=\" Black\":i>750?s+=\" Extra Bold\":i>650?s+=\" Bold\":i>550?s+=\" Semi Bold\":i>450?s+=\" Medium\":i>350?s+=\" Regular\":i>250?s+=\" Light\":i>150?s+=\" Extra Light\":s+=\" Thin\"):a.slice(0,2).join(\" \")===\"Open Sans\"?(s=\"Open Sans\",i>750?s+=\" Extrabold\":i>650?s+=\" Bold\":i>550?s+=\" Semibold\":i>350?s+=\" Regular\":s+=\" Light\"):a.slice(0,3).join(\" \")===\"Klokantech Noto Sans\"&&(s=\"Klokantech Noto Sans\",a[3]===\"CJK\"&&(s+=\" CJK\"),s+=i>500?\" Bold\":\" Regular\")),o&&(s+=\" Italic\"),s===\"Open Sans Regular Italic\"?s=\"Open Sans Italic\":s===\"Open Sans Regular Bold\"?s=\"Open Sans Bold\":s===\"Open Sans Regular Bold Italic\"?s=\"Open Sans Bold Italic\":s===\"Klokantech Noto Sans Regular Italic\"&&(s=\"Klokantech Noto Sans Italic\"),QGt(s)||(s=r);var l=s.split(\", \");return l}});var qHe=ye((_1r,FHe)=>{\"use strict\";var ojt=Mr(),DHe=RHe(),SA=wx().traceLayerPrefix,ng={cluster:[\"cluster\",\"clusterCount\",\"circle\"],nonCluster:[\"fill\",\"line\",\"circle\",\"symbol\"]};function zHe(e,t,r,n){this.type=\"scattermap\",this.subplot=e,this.uid=t,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:\"source-\"+t+\"-fill\",line:\"source-\"+t+\"-line\",circle:\"source-\"+t+\"-circle\",symbol:\"source-\"+t+\"-symbol\",cluster:\"source-\"+t+\"-circle\",clusterCount:\"source-\"+t+\"-circle\"},this.layerIds={fill:SA+t+\"-fill\",line:SA+t+\"-line\",circle:SA+t+\"-circle\",symbol:SA+t+\"-symbol\",cluster:SA+t+\"-cluster\",clusterCount:SA+t+\"-cluster-count\"},this.below=null}var Uk=zHe.prototype;Uk.addSource=function(e,t,r){var n={type:\"geojson\",data:t.geojson};r&&r.enabled&&ojt.extendFlat(n,{cluster:!0,clusterMaxZoom:r.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[e]);i?i.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[e],n)};Uk.setSourceData=function(e,t){this.subplot.map.getSource(this.sourceIds[e]).setData(t.geojson)};Uk.addLayer=function(e,t,r){var n={type:t.type,id:this.layerIds[e],source:this.sourceIds[e],layout:t.layout,paint:t.paint};t.filter&&(n.filter=t.filter);for(var i=this.layerIds[e],a,o=this.subplot.getMapLayers(),s=0;s<o.length;s++)if(o[s].id===i){a=!0;break}a?(this.subplot.setOptions(i,\"setLayoutProperty\",n.layout),n.layout.visibility===\"visible\"&&this.subplot.setOptions(i,\"setPaintProperty\",n.paint)):this.subplot.addLayer(n,r)};Uk.update=function(t){var r=t[0].trace,n=this.subplot,i=n.map,a=DHe(n.gd,t),o=n.belowLookup[\"trace-\"+this.uid],s=!!(r.cluster&&r.cluster.enabled),l=!!this.clusterEnabled,u=this;function c(k){k||u.addSource(\"circle\",a.circle,r.cluster);for(var A=ng.cluster,L=0;L<A.length;L++){var _=A[L],C=a[_];u.addLayer(_,C,o)}}function f(k){for(var A=ng.cluster,L=A.length-1;L>=0;L--){var _=A[L];i.removeLayer(u.layerIds[_])}k||i.removeSource(u.sourceIds.circle)}function h(k){for(var A=ng.nonCluster,L=0;L<A.length;L++){var _=A[L],C=a[_];k||u.addSource(_,C),u.addLayer(_,C,o)}}function d(k){for(var A=ng.nonCluster,L=A.length-1;L>=0;L--){var _=A[L];i.removeLayer(u.layerIds[_]),k||i.removeSource(u.sourceIds[_])}}function v(k){l?f(k):d(k)}function x(k){s?c(k):h(k)}function b(){for(var k=s?ng.cluster:ng.nonCluster,A=0;A<k.length;A++){var L=k[A],_=a[L];_&&(n.setOptions(u.layerIds[L],\"setLayoutProperty\",_.layout),_.layout.visibility===\"visible\"&&(L!==\"cluster\"&&u.setSourceData(L,_),n.setOptions(u.layerIds[L],\"setPaintProperty\",_.paint)))}}var p=this.isHidden,E=r.visible!==!0;E?p||v():p?E||x():l!==s?(v(),x()):(this.below!==o&&(v(!0),x(!0)),b()),this.clusterEnabled=s,this.isHidden=E,this.below=o,t[0].trace._glTrace=this};Uk.dispose=function(){for(var t=this.subplot.map,r=this.clusterEnabled?ng.cluster:ng.nonCluster,n=r.length-1;n>=0;n--){var i=r[n];t.removeLayer(this.layerIds[i]),t.removeSource(this.sourceIds[i])}};FHe.exports=function(t,r){var n=r[0].trace,i=n.cluster&&n.cluster.enabled,a=n.visible!==!0,o=new zHe(t,n.uid,i,a),s=DHe(t.gd,r),l=o.below=t.belowLookup[\"trace-\"+n.uid],u,c,f;if(i)for(o.addSource(\"circle\",s.circle,n.cluster),u=0;u<ng.cluster.length;u++)c=ng.cluster[u],f=s[c],o.addLayer(c,f,l);else for(u=0;u<ng.nonCluster.length;u++)c=ng.nonCluster[u],f=s[c],o.addSource(c,f,n.cluster),o.addLayer(c,f,l);return r[0].trace._glTrace=o,o}});var i7=ye((x1r,BHe)=>{\"use strict\";var sjt=Nc(),vJ=Mr(),ljt=oT(),ujt=vJ.fillText,cjt=es().BADNUM,fjt=wx().traceLayerPrefix;function hjt(e,t,r){var n=e.cd,i=n[0].trace,a=e.xa,o=e.ya,s=e.subplot,l=[],u=fjt+i.uid+\"-circle\",c=i.cluster&&i.cluster.enabled;if(c){var f=s.map.queryRenderedFeatures(null,{layers:[u]});l=f.map(function(M){return M.id})}var h=t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360),d=h*360,v=t-d;function x(M){var g=M.lonlat;if(g[0]===cjt||c&&l.indexOf(M.i+1)===-1)return 1/0;var P=vJ.modHalf(g[0],360),T=g[1],F=s.project([P,T]),q=F.x-a.c2p([v,T]),V=F.y-o.c2p([P,r]),H=Math.max(3,M.mrc||0);return Math.max(Math.sqrt(q*q+V*V)-H,1-3/H)}if(sjt.getClosest(n,x,e),e.index!==!1){var b=n[e.index],p=b.lonlat,E=[vJ.modHalf(p[0],360)+d,p[1]],k=a.c2p(E),A=o.c2p(E),L=b.mrc||1;e.x0=k-L,e.x1=k+L,e.y0=A-L,e.y1=A+L;var _={};_[i.subplot]={_subplot:s};var C=i._module.formatLabels(b,i,_);return e.lonLabel=C.lonLabel,e.latLabel=C.latLabel,e.color=ljt(i,b),e.extraText=OHe(i,b,n[0].t.labels),e.hovertemplate=i.hovertemplate,[e]}}function OHe(e,t,r){if(e.hovertemplate)return;var n=t.hi||e.hoverinfo,i=n.split(\"+\"),a=i.indexOf(\"all\")!==-1,o=i.indexOf(\"lon\")!==-1,s=i.indexOf(\"lat\")!==-1,l=t.lonlat,u=[];function c(f){return f+\"\\xB0\"}return a||o&&s?u.push(\"(\"+c(l[1])+\", \"+c(l[0])+\")\"):o?u.push(r.lon+c(l[0])):s&&u.push(r.lat+c(l[1])),(a||i.indexOf(\"text\")!==-1)&&ujt(t,e,u),u.join(\"<br>\")}BHe.exports={hoverPoints:hjt,getExtraText:OHe}});var UHe=ye((b1r,NHe)=>{\"use strict\";NHe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t}});var HHe=ye((w1r,VHe)=>{\"use strict\";var djt=Mr(),vjt=lu(),pjt=es().BADNUM;VHe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l;if(!vjt.hasMarkers(s))return[];if(r===!1)for(l=0;l<n.length;l++)n[l].selected=0;else for(l=0;l<n.length;l++){var u=n[l],c=u.lonlat;if(c[0]!==pjt){var f=[djt.modHalf(c[0],360),c[1]],h=[i.c2p(f),a.c2p(f)];r.contains(h,null,l,t)?(o.push({pointNumber:l,lon:c[0],lat:c[1]}),u.selected=1):u.selected=0}}return o}});var jHe=ye((pJ,gJ)=>{(function(e,t){typeof pJ==\"object\"&&typeof gJ!=\"undefined\"?gJ.exports=t():(e=typeof globalThis!=\"undefined\"?globalThis:e||self,e.maplibregl=t())})(pJ,function(){\"use strict\";var e={},t={};function r(i,a,o){if(t[i]=o,i===\"index\"){var s=\"var sharedModule = {}; (\"+t.shared+\")(sharedModule); (\"+t.worker+\")(sharedModule);\",l={};return t.shared(l),t.index(e,l),typeof window!=\"undefined\"&&e.setWorkerUrl(window.URL.createObjectURL(new Blob([s],{type:\"text/javascript\"}))),e}}r(\"shared\",[\"exports\"],function(i){\"use strict\";function a(R,S,D,j){return new(D||(D=Promise))(function(te,ue){function ve(at){try{Ze(j.next(at))}catch(Tt){ue(Tt)}}function De(at){try{Ze(j.throw(at))}catch(Tt){ue(Tt)}}function Ze(at){var Tt;at.done?te(at.value):(Tt=at.value,Tt instanceof D?Tt:new D(function(Ft){Ft(Tt)})).then(ve,De)}Ze((j=j.apply(R,S||[])).next())})}function o(R){return R&&R.__esModule&&Object.prototype.hasOwnProperty.call(R,\"default\")?R.default:R}typeof SuppressedError==\"function\"&&SuppressedError;var s=l;function l(R,S){this.x=R,this.y=S}l.prototype={clone:function(){return new l(this.x,this.y)},add:function(R){return this.clone()._add(R)},sub:function(R){return this.clone()._sub(R)},multByPoint:function(R){return this.clone()._multByPoint(R)},divByPoint:function(R){return this.clone()._divByPoint(R)},mult:function(R){return this.clone()._mult(R)},div:function(R){return this.clone()._div(R)},rotate:function(R){return this.clone()._rotate(R)},rotateAround:function(R,S){return this.clone()._rotateAround(R,S)},matMult:function(R){return this.clone()._matMult(R)},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(R){return this.x===R.x&&this.y===R.y},dist:function(R){return Math.sqrt(this.distSqr(R))},distSqr:function(R){var S=R.x-this.x,D=R.y-this.y;return S*S+D*D},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(R){return Math.atan2(this.y-R.y,this.x-R.x)},angleWith:function(R){return this.angleWithSep(R.x,R.y)},angleWithSep:function(R,S){return Math.atan2(this.x*S-this.y*R,this.x*R+this.y*S)},_matMult:function(R){var S=R[2]*this.x+R[3]*this.y;return this.x=R[0]*this.x+R[1]*this.y,this.y=S,this},_add:function(R){return this.x+=R.x,this.y+=R.y,this},_sub:function(R){return this.x-=R.x,this.y-=R.y,this},_mult:function(R){return this.x*=R,this.y*=R,this},_div:function(R){return this.x/=R,this.y/=R,this},_multByPoint:function(R){return this.x*=R.x,this.y*=R.y,this},_divByPoint:function(R){return this.x/=R.x,this.y/=R.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var R=this.y;return this.y=this.x,this.x=-R,this},_rotate:function(R){var S=Math.cos(R),D=Math.sin(R),j=D*this.x+S*this.y;return this.x=S*this.x-D*this.y,this.y=j,this},_rotateAround:function(R,S){var D=Math.cos(R),j=Math.sin(R),te=S.y+j*(this.x-S.x)+D*(this.y-S.y);return this.x=S.x+D*(this.x-S.x)-j*(this.y-S.y),this.y=te,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},l.convert=function(R){return R instanceof l?R:Array.isArray(R)?new l(R[0],R[1]):R};var u=o(s),c=f;function f(R,S,D,j){this.cx=3*R,this.bx=3*(D-R)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*S,this.by=3*(j-S)-this.cy,this.ay=1-this.cy-this.by,this.p1x=R,this.p1y=S,this.p2x=D,this.p2y=j}f.prototype={sampleCurveX:function(R){return((this.ax*R+this.bx)*R+this.cx)*R},sampleCurveY:function(R){return((this.ay*R+this.by)*R+this.cy)*R},sampleCurveDerivativeX:function(R){return(3*this.ax*R+2*this.bx)*R+this.cx},solveCurveX:function(R,S){if(S===void 0&&(S=1e-6),R<0)return 0;if(R>1)return 1;for(var D=R,j=0;j<8;j++){var te=this.sampleCurveX(D)-R;if(Math.abs(te)<S)return D;var ue=this.sampleCurveDerivativeX(D);if(Math.abs(ue)<1e-6)break;D-=te/ue}var ve=0,De=1;for(D=R,j=0;j<20&&(te=this.sampleCurveX(D),!(Math.abs(te-R)<S));j++)R>te?ve=D:De=D,D=.5*(De-ve)+ve;return D},solve:function(R,S){return this.sampleCurveY(this.solveCurveX(R,S))}};var h=o(c);let d,v;function x(){return d==null&&(d=typeof OffscreenCanvas!=\"undefined\"&&new OffscreenCanvas(1,1).getContext(\"2d\")&&typeof createImageBitmap==\"function\"),d}function b(){if(v==null&&(v=!1,x())){let S=new OffscreenCanvas(5,5).getContext(\"2d\",{willReadFrequently:!0});if(S){for(let j=0;j<5*5;j++){let te=4*j;S.fillStyle=`rgb(${te},${te+1},${te+2})`,S.fillRect(j%5,Math.floor(j/5),1,1)}let D=S.getImageData(0,0,5,5).data;for(let j=0;j<5*5*4;j++)if(j%4!=3&&D[j]!==j){v=!0;break}}}return v||!1}function p(R,S,D,j){let te=new h(R,S,D,j);return ue=>te.solve(ue)}let E=p(.25,.1,.25,1);function k(R,S,D){return Math.min(D,Math.max(S,R))}function A(R,S,D){let j=D-S,te=((R-S)%j+j)%j+S;return te===S?D:te}function L(R,...S){for(let D of S)for(let j in D)R[j]=D[j];return R}let _=1;function C(R,S,D){let j={};for(let te in R)j[te]=S.call(this,R[te],te,R);return j}function M(R,S,D){let j={};for(let te in R)S.call(this,R[te],te,R)&&(j[te]=R[te]);return j}function g(R){return Array.isArray(R)?R.map(g):typeof R==\"object\"&&R?C(R,g):R}let P={};function T(R){P[R]||(typeof console!=\"undefined\"&&console.warn(R),P[R]=!0)}function F(R,S,D){return(D.y-R.y)*(S.x-R.x)>(S.y-R.y)*(D.x-R.x)}function q(R){return typeof WorkerGlobalScope!=\"undefined\"&&R!==void 0&&R instanceof WorkerGlobalScope}let V=null;function H(R){return typeof ImageBitmap!=\"undefined\"&&R instanceof ImageBitmap}let X=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";function G(R,S,D,j,te){return a(this,void 0,void 0,function*(){if(typeof VideoFrame==\"undefined\")throw new Error(\"VideoFrame not supported\");let ue=new VideoFrame(R,{timestamp:0});try{let ve=ue==null?void 0:ue.format;if(!ve||!ve.startsWith(\"BGR\")&&!ve.startsWith(\"RGB\"))throw new Error(`Unrecognized format ${ve}`);let De=ve.startsWith(\"BGR\"),Ze=new Uint8ClampedArray(j*te*4);if(yield ue.copyTo(Ze,function(at,Tt,Ft,Qt,sr){let Tr=4*Math.max(-Tt,0),Pr=(Math.max(0,Ft)-Ft)*Qt*4+Tr,$r=4*Qt,ni=Math.max(0,Tt),Di=Math.max(0,Ft);return{rect:{x:ni,y:Di,width:Math.min(at.width,Tt+Qt)-ni,height:Math.min(at.height,Ft+sr)-Di},layout:[{offset:Pr,stride:$r}]}}(R,S,D,j,te)),De)for(let at=0;at<Ze.length;at+=4){let Tt=Ze[at];Ze[at]=Ze[at+2],Ze[at+2]=Tt}return Ze}finally{ue.close()}})}let N,W,re=\"AbortError\";function ae(){return new Error(re)}let _e={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:\"\"};function Me(R){return _e.REGISTERED_PROTOCOLS[R.substring(0,R.indexOf(\"://\"))]}let ke=\"global-dispatcher\";class ge extends Error{constructor(S,D,j,te){super(`AJAXError: ${D} (${S}): ${j}`),this.status=S,this.statusText=D,this.url=j,this.body=te}}let ie=()=>q(self)?self.worker&&self.worker.referrer:(window.location.protocol===\"blob:\"?window.parent:window).location.href,Te=function(R,S){if(/:\\/\\//.test(R.url)&&!/^https?:|^file:/.test(R.url)){let j=Me(R.url);if(j)return j(R,S);if(q(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:R,targetMapId:ke},S)}if(!(/^file:/.test(D=R.url)||/^file:/.test(ie())&&!/^\\w+:/.test(D))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,\"signal\"))return function(j,te){return a(this,void 0,void 0,function*(){let ue=new Request(j.url,{method:j.method||\"GET\",body:j.body,credentials:j.credentials,headers:j.headers,cache:j.cache,referrer:ie(),signal:te.signal});j.type!==\"json\"||ue.headers.has(\"Accept\")||ue.headers.set(\"Accept\",\"application/json\");let ve=yield fetch(ue);if(!ve.ok){let at=yield ve.blob();throw new ge(ve.status,ve.statusText,j.url,at)}let De;De=j.type===\"arrayBuffer\"||j.type===\"image\"?ve.arrayBuffer():j.type===\"json\"?ve.json():ve.text();let Ze=yield De;if(te.signal.aborted)throw ae();return{data:Ze,cacheControl:ve.headers.get(\"Cache-Control\"),expires:ve.headers.get(\"Expires\")}})}(R,S);if(q(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:R,mustQueue:!0,targetMapId:ke},S)}var D;return function(j,te){return new Promise((ue,ve)=>{var De;let Ze=new XMLHttpRequest;Ze.open(j.method||\"GET\",j.url,!0),j.type!==\"arrayBuffer\"&&j.type!==\"image\"||(Ze.responseType=\"arraybuffer\");for(let at in j.headers)Ze.setRequestHeader(at,j.headers[at]);j.type===\"json\"&&(Ze.responseType=\"text\",!((De=j.headers)===null||De===void 0)&&De.Accept||Ze.setRequestHeader(\"Accept\",\"application/json\")),Ze.withCredentials=j.credentials===\"include\",Ze.onerror=()=>{ve(new Error(Ze.statusText))},Ze.onload=()=>{if(!te.signal.aborted)if((Ze.status>=200&&Ze.status<300||Ze.status===0)&&Ze.response!==null){let at=Ze.response;if(j.type===\"json\")try{at=JSON.parse(Ze.response)}catch(Tt){return void ve(Tt)}ue({data:at,cacheControl:Ze.getResponseHeader(\"Cache-Control\"),expires:Ze.getResponseHeader(\"Expires\")})}else{let at=new Blob([Ze.response],{type:Ze.getResponseHeader(\"Content-Type\")});ve(new ge(Ze.status,Ze.statusText,j.url,at))}},te.signal.addEventListener(\"abort\",()=>{Ze.abort(),ve(ae())}),Ze.send(j.body)})}(R,S)};function Ee(R){if(!R||R.indexOf(\"://\")<=0||R.indexOf(\"data:image/\")===0||R.indexOf(\"blob:\")===0)return!0;let S=new URL(R),D=window.location;return S.protocol===D.protocol&&S.host===D.host}function Ae(R,S,D){D[R]&&D[R].indexOf(S)!==-1||(D[R]=D[R]||[],D[R].push(S))}function ze(R,S,D){if(D&&D[R]){let j=D[R].indexOf(S);j!==-1&&D[R].splice(j,1)}}class Ce{constructor(S,D={}){L(this,D),this.type=S}}class me extends Ce{constructor(S,D={}){super(\"error\",L({error:S},D))}}class Re{on(S,D){return this._listeners=this._listeners||{},Ae(S,D,this._listeners),this}off(S,D){return ze(S,D,this._listeners),ze(S,D,this._oneTimeListeners),this}once(S,D){return D?(this._oneTimeListeners=this._oneTimeListeners||{},Ae(S,D,this._oneTimeListeners),this):new Promise(j=>this.once(S,j))}fire(S,D){typeof S==\"string\"&&(S=new Ce(S,D||{}));let j=S.type;if(this.listens(j)){S.target=this;let te=this._listeners&&this._listeners[j]?this._listeners[j].slice():[];for(let De of te)De.call(this,S);let ue=this._oneTimeListeners&&this._oneTimeListeners[j]?this._oneTimeListeners[j].slice():[];for(let De of ue)ze(j,De,this._oneTimeListeners),De.call(this,S);let ve=this._eventedParent;ve&&(L(S,typeof this._eventedParentData==\"function\"?this._eventedParentData():this._eventedParentData),ve.fire(S))}else S instanceof me&&console.error(S.error);return this}listens(S){return this._listeners&&this._listeners[S]&&this._listeners[S].length>0||this._oneTimeListeners&&this._oneTimeListeners[S]&&this._oneTimeListeners[S].length>0||this._eventedParent&&this._eventedParent.listens(S)}setEventedParent(S,D){return this._eventedParent=S,this._eventedParentData=D,this}}var ce={$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\"}}};let Ge=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"];function nt(R,S){let D={};for(let j in R)j!==\"ref\"&&(D[j]=R[j]);return Ge.forEach(j=>{j in S&&(D[j]=S[j])}),D}function ct(R,S){if(Array.isArray(R)){if(!Array.isArray(S)||R.length!==S.length)return!1;for(let D=0;D<R.length;D++)if(!ct(R[D],S[D]))return!1;return!0}if(typeof R==\"object\"&&R!==null&&S!==null){if(typeof S!=\"object\"||Object.keys(R).length!==Object.keys(S).length)return!1;for(let D in R)if(!ct(R[D],S[D]))return!1;return!0}return R===S}function qt(R,S){R.push(S)}function rt(R,S,D){qt(D,{command:\"addSource\",args:[R,S[R]]})}function ot(R,S,D){qt(S,{command:\"removeSource\",args:[R]}),D[R]=!0}function Rt(R,S,D,j){ot(R,D,j),rt(R,S,D)}function kt(R,S,D){let j;for(j in R[D])if(Object.prototype.hasOwnProperty.call(R[D],j)&&j!==\"data\"&&!ct(R[D][j],S[D][j]))return!1;for(j in S[D])if(Object.prototype.hasOwnProperty.call(S[D],j)&&j!==\"data\"&&!ct(R[D][j],S[D][j]))return!1;return!0}function Ct(R,S,D,j,te,ue){R=R||{},S=S||{};for(let ve in R)Object.prototype.hasOwnProperty.call(R,ve)&&(ct(R[ve],S[ve])||D.push({command:ue,args:[j,ve,S[ve],te]}));for(let ve in S)Object.prototype.hasOwnProperty.call(S,ve)&&!Object.prototype.hasOwnProperty.call(R,ve)&&(ct(R[ve],S[ve])||D.push({command:ue,args:[j,ve,S[ve],te]}))}function Yt(R){return R.id}function xr(R,S){return R[S.id]=S,R}class er{constructor(S,D,j,te){this.message=(S?`${S}: `:\"\")+j,te&&(this.identifier=te),D!=null&&D.__line__&&(this.line=D.__line__)}}function Ke(R,...S){for(let D of S)for(let j in D)R[j]=D[j];return R}class xt extends Error{constructor(S,D){super(D),this.message=D,this.key=S}}class bt{constructor(S,D=[]){this.parent=S,this.bindings={};for(let[j,te]of D)this.bindings[j]=te}concat(S){return new bt(this,S)}get(S){if(this.bindings[S])return this.bindings[S];if(this.parent)return this.parent.get(S);throw new Error(`${S} not found in scope.`)}has(S){return!!this.bindings[S]||!!this.parent&&this.parent.has(S)}}let Lt={kind:\"null\"},St={kind:\"number\"},Et={kind:\"string\"},dt={kind:\"boolean\"},Ht={kind:\"color\"},$t={kind:\"object\"},fr={kind:\"value\"},_r={kind:\"collator\"},Br={kind:\"formatted\"},Or={kind:\"padding\"},Nr={kind:\"resolvedImage\"},ut={kind:\"variableAnchorOffsetCollection\"};function Ne(R,S){return{kind:\"array\",itemType:R,N:S}}function Ye(R){if(R.kind===\"array\"){let S=Ye(R.itemType);return typeof R.N==\"number\"?`array<${S}, ${R.N}>`:R.itemType.kind===\"value\"?\"array\":`array<${S}>`}return R.kind}let Ve=[Lt,St,Et,dt,Ht,Br,$t,Ne(fr),Or,Nr,ut];function Xe(R,S){if(S.kind===\"error\")return null;if(R.kind===\"array\"){if(S.kind===\"array\"&&(S.N===0&&S.itemType.kind===\"value\"||!Xe(R.itemType,S.itemType))&&(typeof R.N!=\"number\"||R.N===S.N))return null}else{if(R.kind===S.kind)return null;if(R.kind===\"value\"){for(let D of Ve)if(!Xe(D,S))return null}}return`Expected ${Ye(R)} but found ${Ye(S)} instead.`}function ht(R,S){return S.some(D=>D.kind===R.kind)}function Le(R,S){return S.some(D=>D===\"null\"?R===null:D===\"array\"?Array.isArray(R):D===\"object\"?R&&!Array.isArray(R)&&typeof R==\"object\":D===typeof R)}function xe(R,S){return R.kind===\"array\"&&S.kind===\"array\"?R.itemType.kind===S.itemType.kind&&typeof R.N==\"number\":R.kind===S.kind}let Se=.96422,lt=.82521,Gt=4/29,Vt=6/29,ar=3*Vt*Vt,Qr=Vt*Vt*Vt,ai=Math.PI/180,jr=180/Math.PI;function ri(R){return(R%=360)<0&&(R+=360),R}function bi([R,S,D,j]){let te,ue,ve=Wi((.2225045*(R=nn(R))+.7168786*(S=nn(S))+.0606169*(D=nn(D)))/1);R===S&&S===D?te=ue=ve:(te=Wi((.4360747*R+.3850649*S+.1430804*D)/Se),ue=Wi((.0139322*R+.0971045*S+.7141733*D)/lt));let De=116*ve-16;return[De<0?0:De,500*(te-ve),200*(ve-ue),j]}function nn(R){return R<=.04045?R/12.92:Math.pow((R+.055)/1.055,2.4)}function Wi(R){return R>Qr?Math.pow(R,1/3):R/ar+Gt}function Ni([R,S,D,j]){let te=(R+16)/116,ue=isNaN(S)?te:te+S/500,ve=isNaN(D)?te:te-D/200;return te=1*$i(te),ue=Se*$i(ue),ve=lt*$i(ve),[_n(3.1338561*ue-1.6168667*te-.4906146*ve),_n(-.9787684*ue+1.9161415*te+.033454*ve),_n(.0719453*ue-.2289914*te+1.4052427*ve),j]}function _n(R){return(R=R<=.00304?12.92*R:1.055*Math.pow(R,1/2.4)-.055)<0?0:R>1?1:R}function $i(R){return R>Vt?R*R*R:ar*(R-Gt)}function zn(R){return parseInt(R.padEnd(2,R),16)/255}function Wn(R,S){return It(S?R/100:R,0,1)}function It(R,S,D){return Math.min(Math.max(S,R),D)}function ft(R){return!R.some(Number.isNaN)}let jt={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 Zt{constructor(S,D,j,te=1,ue=!0){this.r=S,this.g=D,this.b=j,this.a=te,ue||(this.r*=te,this.g*=te,this.b*=te,te||this.overwriteGetter(\"rgb\",[S,D,j,te]))}static parse(S){if(S instanceof Zt)return S;if(typeof S!=\"string\")return;let D=function(j){if((j=j.toLowerCase().trim())===\"transparent\")return[0,0,0,0];let te=jt[j];if(te){let[ve,De,Ze]=te;return[ve/255,De/255,Ze/255,1]}if(j.startsWith(\"#\")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(j)){let ve=j.length<6?1:2,De=1;return[zn(j.slice(De,De+=ve)),zn(j.slice(De,De+=ve)),zn(j.slice(De,De+=ve)),zn(j.slice(De,De+ve)||\"ff\")]}if(j.startsWith(\"rgb\")){let ve=j.match(/^rgba?\\(\\s*([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(ve){let[De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di]=ve,pi=[Tt||\" \",sr||\" \",$r].join(\"\");if(pi===\" \"||pi===\" /\"||pi===\",,\"||pi===\",,,\"){let ki=[at,Qt,Pr].join(\"\"),Zi=ki===\"%%%\"?100:ki===\"\"?255:0;if(Zi){let ta=[It(+Ze/Zi,0,1),It(+Ft/Zi,0,1),It(+Tr/Zi,0,1),ni?Wn(+ni,Di):1];if(ft(ta))return ta}}return}}let ue=j.match(/^hsla?\\(\\s*([\\de.+-]+)(?:deg)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(ue){let[ve,De,Ze,at,Tt,Ft,Qt,sr,Tr]=ue,Pr=[Ze||\" \",Tt||\" \",Qt].join(\"\");if(Pr===\" \"||Pr===\" /\"||Pr===\",,\"||Pr===\",,,\"){let $r=[+De,It(+at,0,100),It(+Ft,0,100),sr?Wn(+sr,Tr):1];if(ft($r))return function([ni,Di,pi,ki]){function Zi(ta){let Va=(ta+ni/30)%12,Io=Di*Math.min(pi,1-pi);return pi-Io*Math.max(-1,Math.min(Va-3,9-Va,1))}return ni=ri(ni),Di/=100,pi/=100,[Zi(0),Zi(8),Zi(4),ki]}($r)}}}(S);return D?new Zt(...D,!1):void 0}get rgb(){let{r:S,g:D,b:j,a:te}=this,ue=te||1/0;return this.overwriteGetter(\"rgb\",[S/ue,D/ue,j/ue,te])}get hcl(){return this.overwriteGetter(\"hcl\",function(S){let[D,j,te,ue]=bi(S),ve=Math.sqrt(j*j+te*te);return[Math.round(1e4*ve)?ri(Math.atan2(te,j)*jr):NaN,ve,D,ue]}(this.rgb))}get lab(){return this.overwriteGetter(\"lab\",bi(this.rgb))}overwriteGetter(S,D){return Object.defineProperty(this,S,{value:D}),D}toString(){let[S,D,j,te]=this.rgb;return`rgba(${[S,D,j].map(ue=>Math.round(255*ue)).join(\",\")},${te})`}}Zt.black=new Zt(0,0,0,1),Zt.white=new Zt(1,1,1,1),Zt.transparent=new Zt(0,0,0,0),Zt.red=new Zt(1,0,0,1);class yr{constructor(S,D,j){this.sensitivity=S?D?\"variant\":\"case\":D?\"accent\":\"base\",this.locale=j,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})}compare(S,D){return this.collator.compare(S,D)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Fr{constructor(S,D,j,te,ue){this.text=S,this.image=D,this.scale=j,this.fontStack=te,this.textColor=ue}}class Zr{constructor(S){this.sections=S}static fromString(S){return new Zr([new Fr(S,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(S=>S.text.length!==0||S.image&&S.image.name.length!==0)}static factory(S){return S instanceof Zr?S:Zr.fromString(S)}toString(){return this.sections.length===0?\"\":this.sections.map(S=>S.text).join(\"\")}}class Vr{constructor(S){this.values=S.slice()}static parse(S){if(S instanceof Vr)return S;if(typeof S==\"number\")return new Vr([S,S,S,S]);if(Array.isArray(S)&&!(S.length<1||S.length>4)){for(let D of S)if(typeof D!=\"number\")return;switch(S.length){case 1:S=[S[0],S[0],S[0],S[0]];break;case 2:S=[S[0],S[1],S[0],S[1]];break;case 3:S=[S[0],S[1],S[2],S[1]]}return new Vr(S)}}toString(){return JSON.stringify(this.values)}}let gi=new Set([\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"]);class Si{constructor(S){this.values=S.slice()}static parse(S){if(S instanceof Si)return S;if(Array.isArray(S)&&!(S.length<1)&&S.length%2==0){for(let D=0;D<S.length;D+=2){let j=S[D],te=S[D+1];if(typeof j!=\"string\"||!gi.has(j)||!Array.isArray(te)||te.length!==2||typeof te[0]!=\"number\"||typeof te[1]!=\"number\")return}return new Si(S)}}toString(){return JSON.stringify(this.values)}}class Mi{constructor(S){this.name=S.name,this.available=S.available}toString(){return this.name}static fromString(S){return S?new Mi({name:S,available:!1}):null}}function Pi(R,S,D,j){return typeof R==\"number\"&&R>=0&&R<=255&&typeof S==\"number\"&&S>=0&&S<=255&&typeof D==\"number\"&&D>=0&&D<=255?j===void 0||typeof j==\"number\"&&j>=0&&j<=1?null:`Invalid rgba value [${[R,S,D,j].join(\", \")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof j==\"number\"?[R,S,D,j]:[R,S,D]).join(\", \")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Gi(R){if(R===null||typeof R==\"string\"||typeof R==\"boolean\"||typeof R==\"number\"||R instanceof Zt||R instanceof yr||R instanceof Zr||R instanceof Vr||R instanceof Si||R instanceof Mi)return!0;if(Array.isArray(R)){for(let S of R)if(!Gi(S))return!1;return!0}if(typeof R==\"object\"){for(let S in R)if(!Gi(R[S]))return!1;return!0}return!1}function Ki(R){if(R===null)return Lt;if(typeof R==\"string\")return Et;if(typeof R==\"boolean\")return dt;if(typeof R==\"number\")return St;if(R instanceof Zt)return Ht;if(R instanceof yr)return _r;if(R instanceof Zr)return Br;if(R instanceof Vr)return Or;if(R instanceof Si)return ut;if(R instanceof Mi)return Nr;if(Array.isArray(R)){let S=R.length,D;for(let j of R){let te=Ki(j);if(D){if(D===te)continue;D=fr;break}D=te}return Ne(D||fr,S)}return $t}function ka(R){let S=typeof R;return R===null?\"\":S===\"string\"||S===\"number\"||S===\"boolean\"?String(R):R instanceof Zt||R instanceof Zr||R instanceof Vr||R instanceof Si||R instanceof Mi?R.toString():JSON.stringify(R)}class jn{constructor(S,D){this.type=S,this.value=D}static parse(S,D){if(S.length!==2)return D.error(`'literal' expression requires exactly one argument, but found ${S.length-1} instead.`);if(!Gi(S[1]))return D.error(\"invalid value\");let j=S[1],te=Ki(j),ue=D.expectedType;return te.kind!==\"array\"||te.N!==0||!ue||ue.kind!==\"array\"||typeof ue.N==\"number\"&&ue.N!==0||(te=ue),new jn(te,j)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class la{constructor(S){this.name=\"ExpressionEvaluationError\",this.message=S}toJSON(){return this.message}}let Fa={string:Et,number:St,boolean:dt,object:$t};class Ra{constructor(S,D){this.type=S,this.args=D}static parse(S,D){if(S.length<2)return D.error(\"Expected at least one argument.\");let j,te=1,ue=S[0];if(ue===\"array\"){let De,Ze;if(S.length>2){let at=S[1];if(typeof at!=\"string\"||!(at in Fa)||at===\"object\")return D.error('The item type argument of \"array\" must be one of string, number, boolean',1);De=Fa[at],te++}else De=fr;if(S.length>3){if(S[2]!==null&&(typeof S[2]!=\"number\"||S[2]<0||S[2]!==Math.floor(S[2])))return D.error('The length argument to \"array\" must be a positive integer literal',2);Ze=S[2],te++}j=Ne(De,Ze)}else{if(!Fa[ue])throw new Error(`Types doesn't contain name = ${ue}`);j=Fa[ue]}let ve=[];for(;te<S.length;te++){let De=D.parse(S[te],te,fr);if(!De)return null;ve.push(De)}return new Ra(j,ve)}evaluate(S){for(let D=0;D<this.args.length;D++){let j=this.args[D].evaluate(S);if(!Xe(this.type,Ki(j)))return j;if(D===this.args.length-1)throw new la(`Expected value to be of type ${Ye(this.type)}, but found ${Ye(Ki(j))} instead.`)}throw new Error}eachChild(S){this.args.forEach(S)}outputDefined(){return this.args.every(S=>S.outputDefined())}}let jo={\"to-boolean\":dt,\"to-color\":Ht,\"to-number\":St,\"to-string\":Et};class oa{constructor(S,D){this.type=S,this.args=D}static parse(S,D){if(S.length<2)return D.error(\"Expected at least one argument.\");let j=S[0];if(!jo[j])throw new Error(`Can't parse ${j} as it is not part of the known types`);if((j===\"to-boolean\"||j===\"to-string\")&&S.length!==2)return D.error(\"Expected one argument.\");let te=jo[j],ue=[];for(let ve=1;ve<S.length;ve++){let De=D.parse(S[ve],ve,fr);if(!De)return null;ue.push(De)}return new oa(te,ue)}evaluate(S){switch(this.type.kind){case\"boolean\":return!!this.args[0].evaluate(S);case\"color\":{let D,j;for(let te of this.args){if(D=te.evaluate(S),j=null,D instanceof Zt)return D;if(typeof D==\"string\"){let ue=S.parseColor(D);if(ue)return ue}else if(Array.isArray(D)&&(j=D.length<3||D.length>4?`Invalid rbga value ${JSON.stringify(D)}: expected an array containing either three or four numeric values.`:Pi(D[0],D[1],D[2],D[3]),!j))return new Zt(D[0]/255,D[1]/255,D[2]/255,D[3])}throw new la(j||`Could not parse color from value '${typeof D==\"string\"?D:JSON.stringify(D)}'`)}case\"padding\":{let D;for(let j of this.args){D=j.evaluate(S);let te=Vr.parse(D);if(te)return te}throw new la(`Could not parse padding from value '${typeof D==\"string\"?D:JSON.stringify(D)}'`)}case\"variableAnchorOffsetCollection\":{let D;for(let j of this.args){D=j.evaluate(S);let te=Si.parse(D);if(te)return te}throw new la(`Could not parse variableAnchorOffsetCollection from value '${typeof D==\"string\"?D:JSON.stringify(D)}'`)}case\"number\":{let D=null;for(let j of this.args){if(D=j.evaluate(S),D===null)return 0;let te=Number(D);if(!isNaN(te))return te}throw new la(`Could not convert ${JSON.stringify(D)} to number.`)}case\"formatted\":return Zr.fromString(ka(this.args[0].evaluate(S)));case\"resolvedImage\":return Mi.fromString(ka(this.args[0].evaluate(S)));default:return ka(this.args[0].evaluate(S))}}eachChild(S){this.args.forEach(S)}outputDefined(){return this.args.every(S=>S.outputDefined())}}let Sn=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];class Ha{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?typeof this.feature.type==\"number\"?Sn[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(S){let D=this._parseColorCache[S];return D||(D=this._parseColorCache[S]=Zt.parse(S)),D}}class oo{constructor(S,D,j=[],te,ue=new bt,ve=[]){this.registry=S,this.path=j,this.key=j.map(De=>`[${De}]`).join(\"\"),this.scope=ue,this.errors=ve,this.expectedType=te,this._isConstant=D}parse(S,D,j,te,ue={}){return D?this.concat(D,j,te)._parse(S,ue):this._parse(S,ue)}_parse(S,D){function j(te,ue,ve){return ve===\"assert\"?new Ra(ue,[te]):ve===\"coerce\"?new oa(ue,[te]):te}if(S!==null&&typeof S!=\"string\"&&typeof S!=\"boolean\"&&typeof S!=\"number\"||(S=[\"literal\",S]),Array.isArray(S)){if(S.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');let te=S[0];if(typeof te!=\"string\")return this.error(`Expression name must be a string, but found ${typeof te} instead. If you wanted a literal array, use [\"literal\", [...]].`,0),null;let ue=this.registry[te];if(ue){let ve=ue.parse(S,this);if(!ve)return null;if(this.expectedType){let De=this.expectedType,Ze=ve.type;if(De.kind!==\"string\"&&De.kind!==\"number\"&&De.kind!==\"boolean\"&&De.kind!==\"object\"&&De.kind!==\"array\"||Ze.kind!==\"value\")if(De.kind!==\"color\"&&De.kind!==\"formatted\"&&De.kind!==\"resolvedImage\"||Ze.kind!==\"value\"&&Ze.kind!==\"string\")if(De.kind!==\"padding\"||Ze.kind!==\"value\"&&Ze.kind!==\"number\"&&Ze.kind!==\"array\")if(De.kind!==\"variableAnchorOffsetCollection\"||Ze.kind!==\"value\"&&Ze.kind!==\"array\"){if(this.checkSubtype(De,Ze))return null}else ve=j(ve,De,D.typeAnnotation||\"coerce\");else ve=j(ve,De,D.typeAnnotation||\"coerce\");else ve=j(ve,De,D.typeAnnotation||\"coerce\");else ve=j(ve,De,D.typeAnnotation||\"assert\")}if(!(ve instanceof jn)&&ve.type.kind!==\"resolvedImage\"&&this._isConstant(ve)){let De=new Ha;try{ve=new jn(ve.type,ve.evaluate(De))}catch(Ze){return this.error(Ze.message),null}}return ve}return this.error(`Unknown expression \"${te}\". If you wanted a literal array, use [\"literal\", [...]].`,0)}return this.error(S===void 0?\"'undefined' value invalid. Use null instead.\":typeof S==\"object\"?'Bare objects invalid. Use [\"literal\", {...}] instead.':`Expected an array, but found ${typeof S} instead.`)}concat(S,D,j){let te=typeof S==\"number\"?this.path.concat(S):this.path,ue=j?this.scope.concat(j):this.scope;return new oo(this.registry,this._isConstant,te,D||null,ue,this.errors)}error(S,...D){let j=`${this.key}${D.map(te=>`[${te}]`).join(\"\")}`;this.errors.push(new xt(j,S))}checkSubtype(S,D){let j=Xe(S,D);return j&&this.error(j),j}}class xn{constructor(S,D){this.type=D.type,this.bindings=[].concat(S),this.result=D}evaluate(S){return this.result.evaluate(S)}eachChild(S){for(let D of this.bindings)S(D[1]);S(this.result)}static parse(S,D){if(S.length<4)return D.error(`Expected at least 3 arguments, but found ${S.length-1} instead.`);let j=[];for(let ue=1;ue<S.length-1;ue+=2){let ve=S[ue];if(typeof ve!=\"string\")return D.error(`Expected string, but found ${typeof ve} instead.`,ue);if(/[^a-zA-Z0-9_]/.test(ve))return D.error(\"Variable names must contain only alphanumeric characters or '_'.\",ue);let De=D.parse(S[ue+1],ue+1);if(!De)return null;j.push([ve,De])}let te=D.parse(S[S.length-1],S.length-1,D.expectedType,j);return te?new xn(j,te):null}outputDefined(){return this.result.outputDefined()}}class _t{constructor(S,D){this.type=D.type,this.name=S,this.boundExpression=D}static parse(S,D){if(S.length!==2||typeof S[1]!=\"string\")return D.error(\"'var' expression requires exactly one string literal argument.\");let j=S[1];return D.scope.has(j)?new _t(j,D.scope.get(j)):D.error(`Unknown variable \"${j}\". Make sure \"${j}\" has been bound in an enclosing \"let\" expression before using it.`,1)}evaluate(S){return this.boundExpression.evaluate(S)}eachChild(){}outputDefined(){return!1}}class br{constructor(S,D,j){this.type=S,this.index=D,this.input=j}static parse(S,D){if(S.length!==3)return D.error(`Expected 2 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,St),te=D.parse(S[2],2,Ne(D.expectedType||fr));return j&&te?new br(te.type.itemType,j,te):null}evaluate(S){let D=this.index.evaluate(S),j=this.input.evaluate(S);if(D<0)throw new la(`Array index out of bounds: ${D} < 0.`);if(D>=j.length)throw new la(`Array index out of bounds: ${D} > ${j.length-1}.`);if(D!==Math.floor(D))throw new la(`Array index must be an integer, but found ${D} instead.`);return j[D]}eachChild(S){S(this.index),S(this.input)}outputDefined(){return!1}}class Hr{constructor(S,D){this.type=dt,this.needle=S,this.haystack=D}static parse(S,D){if(S.length!==3)return D.error(`Expected 2 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,fr),te=D.parse(S[2],2,fr);return j&&te?ht(j.type,[dt,Et,St,Lt,fr])?new Hr(j,te):D.error(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(j.type)} instead`):null}evaluate(S){let D=this.needle.evaluate(S),j=this.haystack.evaluate(S);if(!j)return!1;if(!Le(D,[\"boolean\",\"string\",\"number\",\"null\"]))throw new la(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(Ki(D))} instead.`);if(!Le(j,[\"string\",\"array\"]))throw new la(`Expected second argument to be of type array or string, but found ${Ye(Ki(j))} instead.`);return j.indexOf(D)>=0}eachChild(S){S(this.needle),S(this.haystack)}outputDefined(){return!0}}class ti{constructor(S,D,j){this.type=St,this.needle=S,this.haystack=D,this.fromIndex=j}static parse(S,D){if(S.length<=2||S.length>=5)return D.error(`Expected 3 or 4 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,fr),te=D.parse(S[2],2,fr);if(!j||!te)return null;if(!ht(j.type,[dt,Et,St,Lt,fr]))return D.error(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(j.type)} instead`);if(S.length===4){let ue=D.parse(S[3],3,St);return ue?new ti(j,te,ue):null}return new ti(j,te)}evaluate(S){let D=this.needle.evaluate(S),j=this.haystack.evaluate(S);if(!Le(D,[\"boolean\",\"string\",\"number\",\"null\"]))throw new la(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(Ki(D))} instead.`);let te;if(this.fromIndex&&(te=this.fromIndex.evaluate(S)),Le(j,[\"string\"])){let ue=j.indexOf(D,te);return ue===-1?-1:[...j.slice(0,ue)].length}if(Le(j,[\"array\"]))return j.indexOf(D,te);throw new la(`Expected second argument to be of type array or string, but found ${Ye(Ki(j))} instead.`)}eachChild(S){S(this.needle),S(this.haystack),this.fromIndex&&S(this.fromIndex)}outputDefined(){return!1}}class zi{constructor(S,D,j,te,ue,ve){this.inputType=S,this.type=D,this.input=j,this.cases=te,this.outputs=ue,this.otherwise=ve}static parse(S,D){if(S.length<5)return D.error(`Expected at least 4 arguments, but found only ${S.length-1}.`);if(S.length%2!=1)return D.error(\"Expected an even number of arguments.\");let j,te;D.expectedType&&D.expectedType.kind!==\"value\"&&(te=D.expectedType);let ue={},ve=[];for(let at=2;at<S.length-1;at+=2){let Tt=S[at],Ft=S[at+1];Array.isArray(Tt)||(Tt=[Tt]);let Qt=D.concat(at);if(Tt.length===0)return Qt.error(\"Expected at least one branch label.\");for(let Tr of Tt){if(typeof Tr!=\"number\"&&typeof Tr!=\"string\")return Qt.error(\"Branch labels must be numbers or strings.\");if(typeof Tr==\"number\"&&Math.abs(Tr)>Number.MAX_SAFE_INTEGER)return Qt.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof Tr==\"number\"&&Math.floor(Tr)!==Tr)return Qt.error(\"Numeric branch labels must be integer values.\");if(j){if(Qt.checkSubtype(j,Ki(Tr)))return null}else j=Ki(Tr);if(ue[String(Tr)]!==void 0)return Qt.error(\"Branch labels must be unique.\");ue[String(Tr)]=ve.length}let sr=D.parse(Ft,at,te);if(!sr)return null;te=te||sr.type,ve.push(sr)}let De=D.parse(S[1],1,fr);if(!De)return null;let Ze=D.parse(S[S.length-1],S.length-1,te);return Ze?De.type.kind!==\"value\"&&D.concat(1).checkSubtype(j,De.type)?null:new zi(j,te,De,ue,ve,Ze):null}evaluate(S){let D=this.input.evaluate(S);return(Ki(D)===this.inputType&&this.outputs[this.cases[D]]||this.otherwise).evaluate(S)}eachChild(S){S(this.input),this.outputs.forEach(S),S(this.otherwise)}outputDefined(){return this.outputs.every(S=>S.outputDefined())&&this.otherwise.outputDefined()}}class Yi{constructor(S,D,j){this.type=S,this.branches=D,this.otherwise=j}static parse(S,D){if(S.length<4)return D.error(`Expected at least 3 arguments, but found only ${S.length-1}.`);if(S.length%2!=0)return D.error(\"Expected an odd number of arguments.\");let j;D.expectedType&&D.expectedType.kind!==\"value\"&&(j=D.expectedType);let te=[];for(let ve=1;ve<S.length-1;ve+=2){let De=D.parse(S[ve],ve,dt);if(!De)return null;let Ze=D.parse(S[ve+1],ve+1,j);if(!Ze)return null;te.push([De,Ze]),j=j||Ze.type}let ue=D.parse(S[S.length-1],S.length-1,j);if(!ue)return null;if(!j)throw new Error(\"Can't infer output type\");return new Yi(j,te,ue)}evaluate(S){for(let[D,j]of this.branches)if(D.evaluate(S))return j.evaluate(S);return this.otherwise.evaluate(S)}eachChild(S){for(let[D,j]of this.branches)S(D),S(j);S(this.otherwise)}outputDefined(){return this.branches.every(([S,D])=>D.outputDefined())&&this.otherwise.outputDefined()}}class an{constructor(S,D,j,te){this.type=S,this.input=D,this.beginIndex=j,this.endIndex=te}static parse(S,D){if(S.length<=2||S.length>=5)return D.error(`Expected 3 or 4 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,fr),te=D.parse(S[2],2,St);if(!j||!te)return null;if(!ht(j.type,[Ne(fr),Et,fr]))return D.error(`Expected first argument to be of type array or string, but found ${Ye(j.type)} instead`);if(S.length===4){let ue=D.parse(S[3],3,St);return ue?new an(j.type,j,te,ue):null}return new an(j.type,j,te)}evaluate(S){let D=this.input.evaluate(S),j=this.beginIndex.evaluate(S),te;if(this.endIndex&&(te=this.endIndex.evaluate(S)),Le(D,[\"string\"]))return[...D].slice(j,te).join(\"\");if(Le(D,[\"array\"]))return D.slice(j,te);throw new la(`Expected first argument to be of type array or string, but found ${Ye(Ki(D))} instead.`)}eachChild(S){S(this.input),S(this.beginIndex),this.endIndex&&S(this.endIndex)}outputDefined(){return!1}}function hi(R,S){let D=R.length-1,j,te,ue=0,ve=D,De=0;for(;ue<=ve;)if(De=Math.floor((ue+ve)/2),j=R[De],te=R[De+1],j<=S){if(De===D||S<te)return De;ue=De+1}else{if(!(j>S))throw new la(\"Input is not a number.\");ve=De-1}return 0}class Ji{constructor(S,D,j){this.type=S,this.input=D,this.labels=[],this.outputs=[];for(let[te,ue]of j)this.labels.push(te),this.outputs.push(ue)}static parse(S,D){if(S.length-1<4)return D.error(`Expected at least 4 arguments, but found only ${S.length-1}.`);if((S.length-1)%2!=0)return D.error(\"Expected an even number of arguments.\");let j=D.parse(S[1],1,St);if(!j)return null;let te=[],ue=null;D.expectedType&&D.expectedType.kind!==\"value\"&&(ue=D.expectedType);for(let ve=1;ve<S.length;ve+=2){let De=ve===1?-1/0:S[ve],Ze=S[ve+1],at=ve,Tt=ve+1;if(typeof De!=\"number\")return D.error('Input/output pairs for \"step\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',at);if(te.length&&te[te.length-1][0]>=De)return D.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',at);let Ft=D.parse(Ze,Tt,ue);if(!Ft)return null;ue=ue||Ft.type,te.push([De,Ft])}return new Ji(ue,j,te)}evaluate(S){let D=this.labels,j=this.outputs;if(D.length===1)return j[0].evaluate(S);let te=this.input.evaluate(S);if(te<=D[0])return j[0].evaluate(S);let ue=D.length;return te>=D[ue-1]?j[ue-1].evaluate(S):j[hi(D,te)].evaluate(S)}eachChild(S){S(this.input);for(let D of this.outputs)S(D)}outputDefined(){return this.outputs.every(S=>S.outputDefined())}}function ua(R){return R&&R.__esModule&&Object.prototype.hasOwnProperty.call(R,\"default\")?R.default:R}var Fn=Sa;function Sa(R,S,D,j){this.cx=3*R,this.bx=3*(D-R)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*S,this.by=3*(j-S)-this.cy,this.ay=1-this.cy-this.by,this.p1x=R,this.p1y=S,this.p2x=D,this.p2y=j}Sa.prototype={sampleCurveX:function(R){return((this.ax*R+this.bx)*R+this.cx)*R},sampleCurveY:function(R){return((this.ay*R+this.by)*R+this.cy)*R},sampleCurveDerivativeX:function(R){return(3*this.ax*R+2*this.bx)*R+this.cx},solveCurveX:function(R,S){if(S===void 0&&(S=1e-6),R<0)return 0;if(R>1)return 1;for(var D=R,j=0;j<8;j++){var te=this.sampleCurveX(D)-R;if(Math.abs(te)<S)return D;var ue=this.sampleCurveDerivativeX(D);if(Math.abs(ue)<1e-6)break;D-=te/ue}var ve=0,De=1;for(D=R,j=0;j<20&&(te=this.sampleCurveX(D),!(Math.abs(te-R)<S));j++)R>te?ve=D:De=D,D=.5*(De-ve)+ve;return D},solve:function(R,S){return this.sampleCurveY(this.solveCurveX(R,S))}};var go=ua(Fn);function Oo(R,S,D){return R+D*(S-R)}function ho(R,S,D){return R.map((j,te)=>Oo(j,S[te],D))}let Mo={number:Oo,color:function(R,S,D,j=\"rgb\"){switch(j){case\"rgb\":{let[te,ue,ve,De]=ho(R.rgb,S.rgb,D);return new Zt(te,ue,ve,De,!1)}case\"hcl\":{let[te,ue,ve,De]=R.hcl,[Ze,at,Tt,Ft]=S.hcl,Qt,sr;if(isNaN(te)||isNaN(Ze))isNaN(te)?isNaN(Ze)?Qt=NaN:(Qt=Ze,ve!==1&&ve!==0||(sr=at)):(Qt=te,Tt!==1&&Tt!==0||(sr=ue));else{let Di=Ze-te;Ze>te&&Di>180?Di-=360:Ze<te&&te-Ze>180&&(Di+=360),Qt=te+D*Di}let[Tr,Pr,$r,ni]=function([Di,pi,ki,Zi]){return Di=isNaN(Di)?0:Di*ai,Ni([ki,Math.cos(Di)*pi,Math.sin(Di)*pi,Zi])}([Qt,sr!=null?sr:Oo(ue,at,D),Oo(ve,Tt,D),Oo(De,Ft,D)]);return new Zt(Tr,Pr,$r,ni,!1)}case\"lab\":{let[te,ue,ve,De]=Ni(ho(R.lab,S.lab,D));return new Zt(te,ue,ve,De,!1)}}},array:ho,padding:function(R,S,D){return new Vr(ho(R.values,S.values,D))},variableAnchorOffsetCollection:function(R,S,D){let j=R.values,te=S.values;if(j.length!==te.length)throw new la(`Cannot interpolate values of different length. from: ${R.toString()}, to: ${S.toString()}`);let ue=[];for(let ve=0;ve<j.length;ve+=2){if(j[ve]!==te[ve])throw new la(`Cannot interpolate values containing mismatched anchors. from[${ve}]: ${j[ve]}, to[${ve}]: ${te[ve]}`);ue.push(j[ve]);let[De,Ze]=j[ve+1],[at,Tt]=te[ve+1];ue.push([Oo(De,at,D),Oo(Ze,Tt,D)])}return new Si(ue)}};class xo{constructor(S,D,j,te,ue){this.type=S,this.operator=D,this.interpolation=j,this.input=te,this.labels=[],this.outputs=[];for(let[ve,De]of ue)this.labels.push(ve),this.outputs.push(De)}static interpolationFactor(S,D,j,te){let ue=0;if(S.name===\"exponential\")ue=zs(D,S.base,j,te);else if(S.name===\"linear\")ue=zs(D,1,j,te);else if(S.name===\"cubic-bezier\"){let ve=S.controlPoints;ue=new go(ve[0],ve[1],ve[2],ve[3]).solve(zs(D,1,j,te))}return ue}static parse(S,D){let[j,te,ue,...ve]=S;if(!Array.isArray(te)||te.length===0)return D.error(\"Expected an interpolation type expression.\",1);if(te[0]===\"linear\")te={name:\"linear\"};else if(te[0]===\"exponential\"){let at=te[1];if(typeof at!=\"number\")return D.error(\"Exponential interpolation requires a numeric base.\",1,1);te={name:\"exponential\",base:at}}else{if(te[0]!==\"cubic-bezier\")return D.error(`Unknown interpolation type ${String(te[0])}`,1,0);{let at=te.slice(1);if(at.length!==4||at.some(Tt=>typeof Tt!=\"number\"||Tt<0||Tt>1))return D.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);te={name:\"cubic-bezier\",controlPoints:at}}}if(S.length-1<4)return D.error(`Expected at least 4 arguments, but found only ${S.length-1}.`);if((S.length-1)%2!=0)return D.error(\"Expected an even number of arguments.\");if(ue=D.parse(ue,2,St),!ue)return null;let De=[],Ze=null;j===\"interpolate-hcl\"||j===\"interpolate-lab\"?Ze=Ht:D.expectedType&&D.expectedType.kind!==\"value\"&&(Ze=D.expectedType);for(let at=0;at<ve.length;at+=2){let Tt=ve[at],Ft=ve[at+1],Qt=at+3,sr=at+4;if(typeof Tt!=\"number\")return D.error('Input/output pairs for \"interpolate\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',Qt);if(De.length&&De[De.length-1][0]>=Tt)return D.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',Qt);let Tr=D.parse(Ft,sr,Ze);if(!Tr)return null;Ze=Ze||Tr.type,De.push([Tt,Tr])}return xe(Ze,St)||xe(Ze,Ht)||xe(Ze,Or)||xe(Ze,ut)||xe(Ze,Ne(St))?new xo(Ze,j,te,ue,De):D.error(`Type ${Ye(Ze)} is not interpolatable.`)}evaluate(S){let D=this.labels,j=this.outputs;if(D.length===1)return j[0].evaluate(S);let te=this.input.evaluate(S);if(te<=D[0])return j[0].evaluate(S);let ue=D.length;if(te>=D[ue-1])return j[ue-1].evaluate(S);let ve=hi(D,te),De=xo.interpolationFactor(this.interpolation,te,D[ve],D[ve+1]),Ze=j[ve].evaluate(S),at=j[ve+1].evaluate(S);switch(this.operator){case\"interpolate\":return Mo[this.type.kind](Ze,at,De);case\"interpolate-hcl\":return Mo.color(Ze,at,De,\"hcl\");case\"interpolate-lab\":return Mo.color(Ze,at,De,\"lab\")}}eachChild(S){S(this.input);for(let D of this.outputs)S(D)}outputDefined(){return this.outputs.every(S=>S.outputDefined())}}function zs(R,S,D,j){let te=j-D,ue=R-D;return te===0?0:S===1?ue/te:(Math.pow(S,ue)-1)/(Math.pow(S,te)-1)}class ks{constructor(S,D){this.type=S,this.args=D}static parse(S,D){if(S.length<2)return D.error(\"Expectected at least one argument.\");let j=null,te=D.expectedType;te&&te.kind!==\"value\"&&(j=te);let ue=[];for(let De of S.slice(1)){let Ze=D.parse(De,1+ue.length,j,void 0,{typeAnnotation:\"omit\"});if(!Ze)return null;j=j||Ze.type,ue.push(Ze)}if(!j)throw new Error(\"No output type\");let ve=te&&ue.some(De=>Xe(te,De.type));return new ks(ve?fr:j,ue)}evaluate(S){let D,j=null,te=0;for(let ue of this.args)if(te++,j=ue.evaluate(S),j&&j instanceof Mi&&!j.available&&(D||(D=j.name),j=null,te===this.args.length&&(j=D)),j!==null)break;return j}eachChild(S){this.args.forEach(S)}outputDefined(){return this.args.every(S=>S.outputDefined())}}function Zs(R,S){return R===\"==\"||R===\"!=\"?S.kind===\"boolean\"||S.kind===\"string\"||S.kind===\"number\"||S.kind===\"null\"||S.kind===\"value\":S.kind===\"string\"||S.kind===\"number\"||S.kind===\"value\"}function Xs(R,S,D,j){return j.compare(S,D)===0}function wl(R,S,D){let j=R!==\"==\"&&R!==\"!=\";return class GHe{constructor(ue,ve,De){this.type=dt,this.lhs=ue,this.rhs=ve,this.collator=De,this.hasUntypedArgument=ue.type.kind===\"value\"||ve.type.kind===\"value\"}static parse(ue,ve){if(ue.length!==3&&ue.length!==4)return ve.error(\"Expected two or three arguments.\");let De=ue[0],Ze=ve.parse(ue[1],1,fr);if(!Ze)return null;if(!Zs(De,Ze.type))return ve.concat(1).error(`\"${De}\" comparisons are not supported for type '${Ye(Ze.type)}'.`);let at=ve.parse(ue[2],2,fr);if(!at)return null;if(!Zs(De,at.type))return ve.concat(2).error(`\"${De}\" comparisons are not supported for type '${Ye(at.type)}'.`);if(Ze.type.kind!==at.type.kind&&Ze.type.kind!==\"value\"&&at.type.kind!==\"value\")return ve.error(`Cannot compare types '${Ye(Ze.type)}' and '${Ye(at.type)}'.`);j&&(Ze.type.kind===\"value\"&&at.type.kind!==\"value\"?Ze=new Ra(at.type,[Ze]):Ze.type.kind!==\"value\"&&at.type.kind===\"value\"&&(at=new Ra(Ze.type,[at])));let Tt=null;if(ue.length===4){if(Ze.type.kind!==\"string\"&&at.type.kind!==\"string\"&&Ze.type.kind!==\"value\"&&at.type.kind!==\"value\")return ve.error(\"Cannot use collator to compare non-string types.\");if(Tt=ve.parse(ue[3],3,_r),!Tt)return null}return new GHe(Ze,at,Tt)}evaluate(ue){let ve=this.lhs.evaluate(ue),De=this.rhs.evaluate(ue);if(j&&this.hasUntypedArgument){let Ze=Ki(ve),at=Ki(De);if(Ze.kind!==at.kind||Ze.kind!==\"string\"&&Ze.kind!==\"number\")throw new la(`Expected arguments for \"${R}\" to be (string, string) or (number, number), but found (${Ze.kind}, ${at.kind}) instead.`)}if(this.collator&&!j&&this.hasUntypedArgument){let Ze=Ki(ve),at=Ki(De);if(Ze.kind!==\"string\"||at.kind!==\"string\")return S(ue,ve,De)}return this.collator?D(ue,ve,De,this.collator.evaluate(ue)):S(ue,ve,De)}eachChild(ue){ue(this.lhs),ue(this.rhs),this.collator&&ue(this.collator)}outputDefined(){return!0}}}let os=wl(\"==\",function(R,S,D){return S===D},Xs),cl=wl(\"!=\",function(R,S,D){return S!==D},function(R,S,D,j){return!Xs(0,S,D,j)}),Cs=wl(\"<\",function(R,S,D){return S<D},function(R,S,D,j){return j.compare(S,D)<0}),ml=wl(\">\",function(R,S,D){return S>D},function(R,S,D,j){return j.compare(S,D)>0}),Ys=wl(\"<=\",function(R,S,D){return S<=D},function(R,S,D,j){return j.compare(S,D)<=0}),Hs=wl(\">=\",function(R,S,D){return S>=D},function(R,S,D,j){return j.compare(S,D)>=0});class Eo{constructor(S,D,j){this.type=_r,this.locale=j,this.caseSensitive=S,this.diacriticSensitive=D}static parse(S,D){if(S.length!==2)return D.error(\"Expected one argument.\");let j=S[1];if(typeof j!=\"object\"||Array.isArray(j))return D.error(\"Collator options argument must be an object.\");let te=D.parse(j[\"case-sensitive\"]!==void 0&&j[\"case-sensitive\"],1,dt);if(!te)return null;let ue=D.parse(j[\"diacritic-sensitive\"]!==void 0&&j[\"diacritic-sensitive\"],1,dt);if(!ue)return null;let ve=null;return j.locale&&(ve=D.parse(j.locale,1,Et),!ve)?null:new Eo(te,ue,ve)}evaluate(S){return new yr(this.caseSensitive.evaluate(S),this.diacriticSensitive.evaluate(S),this.locale?this.locale.evaluate(S):null)}eachChild(S){S(this.caseSensitive),S(this.diacriticSensitive),this.locale&&S(this.locale)}outputDefined(){return!1}}class fs{constructor(S,D,j,te,ue){this.type=Et,this.number=S,this.locale=D,this.currency=j,this.minFractionDigits=te,this.maxFractionDigits=ue}static parse(S,D){if(S.length!==3)return D.error(\"Expected two arguments.\");let j=D.parse(S[1],1,St);if(!j)return null;let te=S[2];if(typeof te!=\"object\"||Array.isArray(te))return D.error(\"NumberFormat options argument must be an object.\");let ue=null;if(te.locale&&(ue=D.parse(te.locale,1,Et),!ue))return null;let ve=null;if(te.currency&&(ve=D.parse(te.currency,1,Et),!ve))return null;let De=null;if(te[\"min-fraction-digits\"]&&(De=D.parse(te[\"min-fraction-digits\"],1,St),!De))return null;let Ze=null;return te[\"max-fraction-digits\"]&&(Ze=D.parse(te[\"max-fraction-digits\"],1,St),!Ze)?null:new fs(j,ue,ve,De,Ze)}evaluate(S){return new Intl.NumberFormat(this.locale?this.locale.evaluate(S):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(S):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(S):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(S):void 0}).format(this.number.evaluate(S))}eachChild(S){S(this.number),this.locale&&S(this.locale),this.currency&&S(this.currency),this.minFractionDigits&&S(this.minFractionDigits),this.maxFractionDigits&&S(this.maxFractionDigits)}outputDefined(){return!1}}class Ql{constructor(S){this.type=Br,this.sections=S}static parse(S,D){if(S.length<2)return D.error(\"Expected at least one argument.\");let j=S[1];if(!Array.isArray(j)&&typeof j==\"object\")return D.error(\"First argument must be an image or text section.\");let te=[],ue=!1;for(let ve=1;ve<=S.length-1;++ve){let De=S[ve];if(ue&&typeof De==\"object\"&&!Array.isArray(De)){ue=!1;let Ze=null;if(De[\"font-scale\"]&&(Ze=D.parse(De[\"font-scale\"],1,St),!Ze))return null;let at=null;if(De[\"text-font\"]&&(at=D.parse(De[\"text-font\"],1,Ne(Et)),!at))return null;let Tt=null;if(De[\"text-color\"]&&(Tt=D.parse(De[\"text-color\"],1,Ht),!Tt))return null;let Ft=te[te.length-1];Ft.scale=Ze,Ft.font=at,Ft.textColor=Tt}else{let Ze=D.parse(S[ve],1,fr);if(!Ze)return null;let at=Ze.type.kind;if(at!==\"string\"&&at!==\"value\"&&at!==\"null\"&&at!==\"resolvedImage\")return D.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");ue=!0,te.push({content:Ze,scale:null,font:null,textColor:null})}}return new Ql(te)}evaluate(S){return new Zr(this.sections.map(D=>{let j=D.content.evaluate(S);return Ki(j)===Nr?new Fr(\"\",j,null,null,null):new Fr(ka(j),null,D.scale?D.scale.evaluate(S):null,D.font?D.font.evaluate(S).join(\",\"):null,D.textColor?D.textColor.evaluate(S):null)}))}eachChild(S){for(let D of this.sections)S(D.content),D.scale&&S(D.scale),D.font&&S(D.font),D.textColor&&S(D.textColor)}outputDefined(){return!1}}class Hu{constructor(S){this.type=Nr,this.input=S}static parse(S,D){if(S.length!==2)return D.error(\"Expected two arguments.\");let j=D.parse(S[1],1,Et);return j?new Hu(j):D.error(\"No image name provided.\")}evaluate(S){let D=this.input.evaluate(S),j=Mi.fromString(D);return j&&S.availableImages&&(j.available=S.availableImages.indexOf(D)>-1),j}eachChild(S){S(this.input)}outputDefined(){return!1}}class fc{constructor(S){this.type=St,this.input=S}static parse(S,D){if(S.length!==2)return D.error(`Expected 1 argument, but found ${S.length-1} instead.`);let j=D.parse(S[1],1);return j?j.type.kind!==\"array\"&&j.type.kind!==\"string\"&&j.type.kind!==\"value\"?D.error(`Expected argument of type string or array, but found ${Ye(j.type)} instead.`):new fc(j):null}evaluate(S){let D=this.input.evaluate(S);if(typeof D==\"string\")return[...D].length;if(Array.isArray(D))return D.length;throw new la(`Expected value to be of type string or array, but found ${Ye(Ki(D))} instead.`)}eachChild(S){S(this.input)}outputDefined(){return!1}}let ms=8192;function on(R,S){let D=(180+R[0])/360,j=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+R[1]*Math.PI/360)))/360,te=Math.pow(2,S.z);return[Math.round(D*te*ms),Math.round(j*te*ms)]}function fa(R,S){let D=Math.pow(2,S.z);return[(te=(R[0]/ms+S.x)/D,360*te-180),(j=(R[1]/ms+S.y)/D,360/Math.PI*Math.atan(Math.exp((180-360*j)*Math.PI/180))-90)];var j,te}function Qu(R,S){R[0]=Math.min(R[0],S[0]),R[1]=Math.min(R[1],S[1]),R[2]=Math.max(R[2],S[0]),R[3]=Math.max(R[3],S[1])}function Rl(R,S){return!(R[0]<=S[0]||R[2]>=S[2]||R[1]<=S[1]||R[3]>=S[3])}function vo(R,S,D){let j=R[0]-S[0],te=R[1]-S[1],ue=R[0]-D[0],ve=R[1]-D[1];return j*ve-ue*te==0&&j*ue<=0&&te*ve<=0}function Zl(R,S,D,j){return(te=[j[0]-D[0],j[1]-D[1]])[0]*(ue=[S[0]-R[0],S[1]-R[1]])[1]-te[1]*ue[0]!=0&&!(!Co(R,S,D,j)||!Co(D,j,R,S));var te,ue}function Ks(R,S,D){for(let j of D)for(let te=0;te<j.length-1;++te)if(Zl(R,S,j[te],j[te+1]))return!0;return!1}function Xl(R,S,D=!1){let j=!1;for(let De of S)for(let Ze=0;Ze<De.length-1;Ze++){if(vo(R,De[Ze],De[Ze+1]))return D;(ue=De[Ze])[1]>(te=R)[1]!=(ve=De[Ze+1])[1]>te[1]&&te[0]<(ve[0]-ue[0])*(te[1]-ue[1])/(ve[1]-ue[1])+ue[0]&&(j=!j)}var te,ue,ve;return j}function Ec(R,S){for(let D of S)if(Xl(R,D))return!0;return!1}function Zn(R,S){for(let D of R)if(!Xl(D,S))return!1;for(let D=0;D<R.length-1;++D)if(Ks(R[D],R[D+1],S))return!1;return!0}function ko(R,S){for(let D of S)if(Zn(R,D))return!0;return!1}function Co(R,S,D,j){let te=j[0]-D[0],ue=j[1]-D[1],ve=(R[0]-D[0])*ue-te*(R[1]-D[1]),De=(S[0]-D[0])*ue-te*(S[1]-D[1]);return ve>0&&De<0||ve<0&&De>0}function Tl(R,S,D){let j=[];for(let te=0;te<R.length;te++){let ue=[];for(let ve=0;ve<R[te].length;ve++){let De=on(R[te][ve],D);Qu(S,De),ue.push(De)}j.push(ue)}return j}function uf(R,S,D){let j=[];for(let te=0;te<R.length;te++){let ue=Tl(R[te],S,D);j.push(ue)}return j}function So(R,S,D,j){if(R[0]<D[0]||R[0]>D[2]){let te=.5*j,ue=R[0]-D[0]>te?-j:D[0]-R[0]>te?j:0;ue===0&&(ue=R[0]-D[2]>te?-j:D[2]-R[0]>te?j:0),R[0]+=ue}Qu(S,R)}function cf(R,S,D,j){let te=Math.pow(2,j.z)*ms,ue=[j.x*ms,j.y*ms],ve=[];for(let De of R)for(let Ze of De){let at=[Ze.x+ue[0],Ze.y+ue[1]];So(at,S,D,te),ve.push(at)}return ve}function rh(R,S,D,j){let te=Math.pow(2,j.z)*ms,ue=[j.x*ms,j.y*ms],ve=[];for(let Ze of R){let at=[];for(let Tt of Ze){let Ft=[Tt.x+ue[0],Tt.y+ue[1]];Qu(S,Ft),at.push(Ft)}ve.push(at)}if(S[2]-S[0]<=te/2){(De=S)[0]=De[1]=1/0,De[2]=De[3]=-1/0;for(let Ze of ve)for(let at of Ze)So(at,S,D,te)}var De;return ve}class Al{constructor(S,D){this.type=dt,this.geojson=S,this.geometries=D}static parse(S,D){if(S.length!==2)return D.error(`'within' expression requires exactly one argument, but found ${S.length-1} instead.`);if(Gi(S[1])){let j=S[1];if(j.type===\"FeatureCollection\"){let te=[];for(let ue of j.features){let{type:ve,coordinates:De}=ue.geometry;ve===\"Polygon\"&&te.push(De),ve===\"MultiPolygon\"&&te.push(...De)}if(te.length)return new Al(j,{type:\"MultiPolygon\",coordinates:te})}else if(j.type===\"Feature\"){let te=j.geometry.type;if(te===\"Polygon\"||te===\"MultiPolygon\")return new Al(j,j.geometry)}else if(j.type===\"Polygon\"||j.type===\"MultiPolygon\")return new Al(j,j)}return D.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(S){if(S.geometry()!=null&&S.canonicalID()!=null){if(S.geometryType()===\"Point\")return function(D,j){let te=[1/0,1/0,-1/0,-1/0],ue=[1/0,1/0,-1/0,-1/0],ve=D.canonicalID();if(j.type===\"Polygon\"){let De=Tl(j.coordinates,ue,ve),Ze=cf(D.geometry(),te,ue,ve);if(!Rl(te,ue))return!1;for(let at of Ze)if(!Xl(at,De))return!1}if(j.type===\"MultiPolygon\"){let De=uf(j.coordinates,ue,ve),Ze=cf(D.geometry(),te,ue,ve);if(!Rl(te,ue))return!1;for(let at of Ze)if(!Ec(at,De))return!1}return!0}(S,this.geometries);if(S.geometryType()===\"LineString\")return function(D,j){let te=[1/0,1/0,-1/0,-1/0],ue=[1/0,1/0,-1/0,-1/0],ve=D.canonicalID();if(j.type===\"Polygon\"){let De=Tl(j.coordinates,ue,ve),Ze=rh(D.geometry(),te,ue,ve);if(!Rl(te,ue))return!1;for(let at of Ze)if(!Zn(at,De))return!1}if(j.type===\"MultiPolygon\"){let De=uf(j.coordinates,ue,ve),Ze=rh(D.geometry(),te,ue,ve);if(!Rl(te,ue))return!1;for(let at of Ze)if(!ko(at,De))return!1}return!0}(S,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let Hc=class{constructor(R=[],S=(D,j)=>D<j?-1:D>j?1:0){if(this.data=R,this.length=this.data.length,this.compare=S,this.length>0)for(let D=(this.length>>1)-1;D>=0;D--)this._down(D)}push(R){this.data.push(R),this._up(this.length++)}pop(){if(this.length===0)return;let R=this.data[0],S=this.data.pop();return--this.length>0&&(this.data[0]=S,this._down(0)),R}peek(){return this.data[0]}_up(R){let{data:S,compare:D}=this,j=S[R];for(;R>0;){let te=R-1>>1,ue=S[te];if(D(j,ue)>=0)break;S[R]=ue,R=te}S[R]=j}_down(R){let{data:S,compare:D}=this,j=this.length>>1,te=S[R];for(;R<j;){let ue=1+(R<<1),ve=ue+1;if(ve<this.length&&D(S[ve],S[ue])<0&&(ue=ve),D(S[ue],te)>=0)break;S[R]=S[ue],R=ue}S[R]=te}};function eu(R,S,D,j,te){Ls(R,S,D,j||R.length-1,te||kc)}function Ls(R,S,D,j,te){for(;j>D;){if(j-D>600){var ue=j-D+1,ve=S-D+1,De=Math.log(ue),Ze=.5*Math.exp(2*De/3),at=.5*Math.sqrt(De*Ze*(ue-Ze)/ue)*(ve-ue/2<0?-1:1);Ls(R,S,Math.max(D,Math.floor(S-ve*Ze/ue+at)),Math.min(j,Math.floor(S+(ue-ve)*Ze/ue+at)),te)}var Tt=R[S],Ft=D,Qt=j;for(mu(R,D,S),te(R[j],Tt)>0&&mu(R,D,j);Ft<Qt;){for(mu(R,Ft,Qt),Ft++,Qt--;te(R[Ft],Tt)<0;)Ft++;for(;te(R[Qt],Tt)>0;)Qt--}te(R[D],Tt)===0?mu(R,D,Qt):mu(R,++Qt,j),Qt<=S&&(D=Qt+1),S<=Qt&&(j=Qt-1)}}function mu(R,S,D){var j=R[S];R[S]=R[D],R[D]=j}function kc(R,S){return R<S?-1:R>S?1:0}function Of(R,S){if(R.length<=1)return[R];let D=[],j,te;for(let ue of R){let ve=vd(ue);ve!==0&&(ue.area=Math.abs(ve),te===void 0&&(te=ve<0),te===ve<0?(j&&D.push(j),j=[ue]):j.push(ue))}if(j&&D.push(j),S>1)for(let ue=0;ue<D.length;ue++)D[ue].length<=S||(eu(D[ue],S,1,D[ue].length-1,Gc),D[ue]=D[ue].slice(0,S));return D}function Gc(R,S){return S.area-R.area}function vd(R){let S=0;for(let D,j,te=0,ue=R.length,ve=ue-1;te<ue;ve=te++)D=R[te],j=R[ve],S+=(j.x-D.x)*(D.y+j.y);return S}let Bf=1/298.257223563,ss=Bf*(2-Bf),ff=Math.PI/180;class ih{constructor(S){let D=6378.137*ff*1e3,j=Math.cos(S*ff),te=1/(1-ss*(1-j*j)),ue=Math.sqrt(te);this.kx=D*ue*j,this.ky=D*ue*te*(1-ss)}distance(S,D){let j=this.wrap(S[0]-D[0])*this.kx,te=(S[1]-D[1])*this.ky;return Math.sqrt(j*j+te*te)}pointOnLine(S,D){let j,te,ue,ve,De=1/0;for(let Ze=0;Ze<S.length-1;Ze++){let at=S[Ze][0],Tt=S[Ze][1],Ft=this.wrap(S[Ze+1][0]-at)*this.kx,Qt=(S[Ze+1][1]-Tt)*this.ky,sr=0;Ft===0&&Qt===0||(sr=(this.wrap(D[0]-at)*this.kx*Ft+(D[1]-Tt)*this.ky*Qt)/(Ft*Ft+Qt*Qt),sr>1?(at=S[Ze+1][0],Tt=S[Ze+1][1]):sr>0&&(at+=Ft/this.kx*sr,Tt+=Qt/this.ky*sr)),Ft=this.wrap(D[0]-at)*this.kx,Qt=(D[1]-Tt)*this.ky;let Tr=Ft*Ft+Qt*Qt;Tr<De&&(De=Tr,j=at,te=Tt,ue=Ze,ve=sr)}return{point:[j,te],index:ue,t:Math.max(0,Math.min(1,ve))}}wrap(S){for(;S<-180;)S+=360;for(;S>180;)S-=360;return S}}function Vl(R,S){return S[0]-R[0]}function Js(R){return R[1]-R[0]+1}function hc(R,S){return R[1]>=R[0]&&R[1]<S}function Cc(R,S){if(R[0]>R[1])return[null,null];let D=Js(R);if(S){if(D===2)return[R,null];let te=Math.floor(D/2);return[[R[0],R[0]+te],[R[0]+te,R[1]]]}if(D===1)return[R,null];let j=Math.floor(D/2)-1;return[[R[0],R[0]+j],[R[0]+j+1,R[1]]]}function ws(R,S){if(!hc(S,R.length))return[1/0,1/0,-1/0,-1/0];let D=[1/0,1/0,-1/0,-1/0];for(let j=S[0];j<=S[1];++j)Qu(D,R[j]);return D}function $s(R){let S=[1/0,1/0,-1/0,-1/0];for(let D of R)for(let j of D)Qu(S,j);return S}function hs(R){return R[0]!==-1/0&&R[1]!==-1/0&&R[2]!==1/0&&R[3]!==1/0}function Ms(R,S,D){if(!hs(R)||!hs(S))return NaN;let j=0,te=0;return R[2]<S[0]&&(j=S[0]-R[2]),R[0]>S[2]&&(j=R[0]-S[2]),R[1]>S[3]&&(te=R[1]-S[3]),R[3]<S[1]&&(te=S[1]-R[3]),D.distance([0,0],[j,te])}function dc(R,S,D){let j=D.pointOnLine(S,R);return D.distance(R,j.point)}function Sl(R,S,D,j,te){let ue=Math.min(dc(R,[D,j],te),dc(S,[D,j],te)),ve=Math.min(dc(D,[R,S],te),dc(j,[R,S],te));return Math.min(ue,ve)}function ec(R,S,D,j,te){if(!hc(S,R.length)||!hc(j,D.length))return 1/0;let ue=1/0;for(let ve=S[0];ve<S[1];++ve){let De=R[ve],Ze=R[ve+1];for(let at=j[0];at<j[1];++at){let Tt=D[at],Ft=D[at+1];if(Zl(De,Ze,Tt,Ft))return 0;ue=Math.min(ue,Sl(De,Ze,Tt,Ft,te))}}return ue}function Ps(R,S,D,j,te){if(!hc(S,R.length)||!hc(j,D.length))return NaN;let ue=1/0;for(let ve=S[0];ve<=S[1];++ve)for(let De=j[0];De<=j[1];++De)if(ue=Math.min(ue,te.distance(R[ve],D[De])),ue===0)return ue;return ue}function ov(R,S,D){if(Xl(R,S,!0))return 0;let j=1/0;for(let te of S){let ue=te[0],ve=te[te.length-1];if(ue!==ve&&(j=Math.min(j,dc(R,[ve,ue],D)),j===0))return j;let De=D.pointOnLine(te,R);if(j=Math.min(j,D.distance(R,De.point)),j===0)return j}return j}function wo(R,S,D,j){if(!hc(S,R.length))return NaN;for(let ue=S[0];ue<=S[1];++ue)if(Xl(R[ue],D,!0))return 0;let te=1/0;for(let ue=S[0];ue<S[1];++ue){let ve=R[ue],De=R[ue+1];for(let Ze of D)for(let at=0,Tt=Ze.length,Ft=Tt-1;at<Tt;Ft=at++){let Qt=Ze[Ft],sr=Ze[at];if(Zl(ve,De,Qt,sr))return 0;te=Math.min(te,Sl(ve,De,Qt,sr,j))}}return te}function Od(R,S){for(let D of R)for(let j of D)if(Xl(j,S,!0))return!0;return!1}function $o(R,S,D,j=1/0){let te=$s(R),ue=$s(S);if(j!==1/0&&Ms(te,ue,D)>=j)return j;if(Rl(te,ue)){if(Od(R,S))return 0}else if(Od(S,R))return 0;let ve=1/0;for(let De of R)for(let Ze=0,at=De.length,Tt=at-1;Ze<at;Tt=Ze++){let Ft=De[Tt],Qt=De[Ze];for(let sr of S)for(let Tr=0,Pr=sr.length,$r=Pr-1;Tr<Pr;$r=Tr++){let ni=sr[$r],Di=sr[Tr];if(Zl(Ft,Qt,ni,Di))return 0;ve=Math.min(ve,Sl(Ft,Qt,ni,Di,D))}}return ve}function Ja(R,S,D,j,te,ue){if(!ue)return;let ve=Ms(ws(j,ue),te,D);ve<S&&R.push([ve,ue,[0,0]])}function Ef(R,S,D,j,te,ue,ve){if(!ue||!ve)return;let De=Ms(ws(j,ue),ws(te,ve),D);De<S&&R.push([De,ue,ve])}function tc(R,S,D,j,te=1/0){let ue=Math.min(j.distance(R[0],D[0][0]),te);if(ue===0)return ue;let ve=new Hc([[0,[0,R.length-1],[0,0]]],Vl),De=$s(D);for(;ve.length>0;){let Ze=ve.pop();if(Ze[0]>=ue)continue;let at=Ze[1],Tt=S?50:100;if(Js(at)<=Tt){if(!hc(at,R.length))return NaN;if(S){let Ft=wo(R,at,D,j);if(isNaN(Ft)||Ft===0)return Ft;ue=Math.min(ue,Ft)}else for(let Ft=at[0];Ft<=at[1];++Ft){let Qt=ov(R[Ft],D,j);if(ue=Math.min(ue,Qt),ue===0)return 0}}else{let Ft=Cc(at,S);Ja(ve,ue,j,R,De,Ft[0]),Ja(ve,ue,j,R,De,Ft[1])}}return ue}function uu(R,S,D,j,te,ue=1/0){let ve=Math.min(ue,te.distance(R[0],D[0]));if(ve===0)return ve;let De=new Hc([[0,[0,R.length-1],[0,D.length-1]]],Vl);for(;De.length>0;){let Ze=De.pop();if(Ze[0]>=ve)continue;let at=Ze[1],Tt=Ze[2],Ft=S?50:100,Qt=j?50:100;if(Js(at)<=Ft&&Js(Tt)<=Qt){if(!hc(at,R.length)&&hc(Tt,D.length))return NaN;let sr;if(S&&j)sr=ec(R,at,D,Tt,te),ve=Math.min(ve,sr);else if(S&&!j){let Tr=R.slice(at[0],at[1]+1);for(let Pr=Tt[0];Pr<=Tt[1];++Pr)if(sr=dc(D[Pr],Tr,te),ve=Math.min(ve,sr),ve===0)return ve}else if(!S&&j){let Tr=D.slice(Tt[0],Tt[1]+1);for(let Pr=at[0];Pr<=at[1];++Pr)if(sr=dc(R[Pr],Tr,te),ve=Math.min(ve,sr),ve===0)return ve}else sr=Ps(R,at,D,Tt,te),ve=Math.min(ve,sr)}else{let sr=Cc(at,S),Tr=Cc(Tt,j);Ef(De,ve,te,R,D,sr[0],Tr[0]),Ef(De,ve,te,R,D,sr[0],Tr[1]),Ef(De,ve,te,R,D,sr[1],Tr[0]),Ef(De,ve,te,R,D,sr[1],Tr[1])}}return ve}function Mh(R){return R.type===\"MultiPolygon\"?R.coordinates.map(S=>({type:\"Polygon\",coordinates:S})):R.type===\"MultiLineString\"?R.coordinates.map(S=>({type:\"LineString\",coordinates:S})):R.type===\"MultiPoint\"?R.coordinates.map(S=>({type:\"Point\",coordinates:S})):[R]}class jc{constructor(S,D){this.type=St,this.geojson=S,this.geometries=D}static parse(S,D){if(S.length!==2)return D.error(`'distance' expression requires exactly one argument, but found ${S.length-1} instead.`);if(Gi(S[1])){let j=S[1];if(j.type===\"FeatureCollection\")return new jc(j,j.features.map(te=>Mh(te.geometry)).flat());if(j.type===\"Feature\")return new jc(j,Mh(j.geometry));if(\"type\"in j&&\"coordinates\"in j)return new jc(j,Mh(j))}return D.error(\"'distance' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(S){if(S.geometry()!=null&&S.canonicalID()!=null){if(S.geometryType()===\"Point\")return function(D,j){let te=D.geometry(),ue=te.flat().map(Ze=>fa([Ze.x,Ze.y],D.canonical));if(te.length===0)return NaN;let ve=new ih(ue[0][1]),De=1/0;for(let Ze of j){switch(Ze.type){case\"Point\":De=Math.min(De,uu(ue,!1,[Ze.coordinates],!1,ve,De));break;case\"LineString\":De=Math.min(De,uu(ue,!1,Ze.coordinates,!0,ve,De));break;case\"Polygon\":De=Math.min(De,tc(ue,!1,Ze.coordinates,ve,De))}if(De===0)return De}return De}(S,this.geometries);if(S.geometryType()===\"LineString\")return function(D,j){let te=D.geometry(),ue=te.flat().map(Ze=>fa([Ze.x,Ze.y],D.canonical));if(te.length===0)return NaN;let ve=new ih(ue[0][1]),De=1/0;for(let Ze of j){switch(Ze.type){case\"Point\":De=Math.min(De,uu(ue,!0,[Ze.coordinates],!1,ve,De));break;case\"LineString\":De=Math.min(De,uu(ue,!0,Ze.coordinates,!0,ve,De));break;case\"Polygon\":De=Math.min(De,tc(ue,!0,Ze.coordinates,ve,De))}if(De===0)return De}return De}(S,this.geometries);if(S.geometryType()===\"Polygon\")return function(D,j){let te=D.geometry();if(te.length===0||te[0].length===0)return NaN;let ue=Of(te,0).map(Ze=>Ze.map(at=>at.map(Tt=>fa([Tt.x,Tt.y],D.canonical)))),ve=new ih(ue[0][0][0][1]),De=1/0;for(let Ze of j)for(let at of ue){switch(Ze.type){case\"Point\":De=Math.min(De,tc([Ze.coordinates],!1,at,ve,De));break;case\"LineString\":De=Math.min(De,tc(Ze.coordinates,!0,at,ve,De));break;case\"Polygon\":De=Math.min(De,$o(at,Ze.coordinates,ve,De))}if(De===0)return De}return De}(S,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}let kf={\"==\":os,\"!=\":cl,\">\":ml,\"<\":Cs,\">=\":Hs,\"<=\":Ys,array:Ra,at:br,boolean:Ra,case:Yi,coalesce:ks,collator:Eo,format:Ql,image:Hu,in:Hr,\"index-of\":ti,interpolate:xo,\"interpolate-hcl\":xo,\"interpolate-lab\":xo,length:fc,let:xn,literal:jn,match:zi,number:Ra,\"number-format\":fs,object:Ra,slice:an,step:Ji,string:Ra,\"to-boolean\":oa,\"to-color\":oa,\"to-number\":oa,\"to-string\":oa,var:_t,within:Al,distance:jc};class Ml{constructor(S,D,j,te){this.name=S,this.type=D,this._evaluate=j,this.args=te}evaluate(S){return this._evaluate(S,this.args)}eachChild(S){this.args.forEach(S)}outputDefined(){return!1}static parse(S,D){let j=S[0],te=Ml.definitions[j];if(!te)return D.error(`Unknown expression \"${j}\". If you wanted a literal array, use [\"literal\", [...]].`,0);let ue=Array.isArray(te)?te[0]:te.type,ve=Array.isArray(te)?[[te[1],te[2]]]:te.overloads,De=ve.filter(([at])=>!Array.isArray(at)||at.length===S.length-1),Ze=null;for(let[at,Tt]of De){Ze=new oo(D.registry,kh,D.path,null,D.scope);let Ft=[],Qt=!1;for(let sr=1;sr<S.length;sr++){let Tr=S[sr],Pr=Array.isArray(at)?at[sr-1]:at.type,$r=Ze.parse(Tr,1+Ft.length,Pr);if(!$r){Qt=!0;break}Ft.push($r)}if(!Qt)if(Array.isArray(at)&&at.length!==Ft.length)Ze.error(`Expected ${at.length} arguments, but found ${Ft.length} instead.`);else{for(let sr=0;sr<Ft.length;sr++){let Tr=Array.isArray(at)?at[sr]:at.type,Pr=Ft[sr];Ze.concat(sr+1).checkSubtype(Tr,Pr.type)}if(Ze.errors.length===0)return new Ml(j,ue,Tt,Ft)}}if(De.length===1)D.errors.push(...Ze.errors);else{let at=(De.length?De:ve).map(([Ft])=>{return Qt=Ft,Array.isArray(Qt)?`(${Qt.map(Ye).join(\", \")})`:`(${Ye(Qt.type)}...)`;var Qt}).join(\" | \"),Tt=[];for(let Ft=1;Ft<S.length;Ft++){let Qt=D.parse(S[Ft],1+Tt.length);if(!Qt)return null;Tt.push(Ye(Qt.type))}D.error(`Expected arguments of type ${at}, but found (${Tt.join(\", \")}) instead.`)}return null}static register(S,D){Ml.definitions=D;for(let j in D)S[j]=Ml}}function Yh(R,[S,D,j,te]){S=S.evaluate(R),D=D.evaluate(R),j=j.evaluate(R);let ue=te?te.evaluate(R):1,ve=Pi(S,D,j,ue);if(ve)throw new la(ve);return new Zt(S/255,D/255,j/255,ue,!1)}function Eh(R,S){return R in S}function nh(R,S){let D=S[R];return D===void 0?null:D}function hf(R){return{type:R}}function kh(R){if(R instanceof _t)return kh(R.boundExpression);if(R instanceof Ml&&R.name===\"error\"||R instanceof Eo||R instanceof Al||R instanceof jc)return!1;let S=R instanceof oa||R instanceof Ra,D=!0;return R.eachChild(j=>{D=S?D&&kh(j):D&&j instanceof jn}),!!D&&Kh(R)&&ah(R,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}function Kh(R){if(R instanceof Ml&&(R.name===\"get\"&&R.args.length===1||R.name===\"feature-state\"||R.name===\"has\"&&R.args.length===1||R.name===\"properties\"||R.name===\"geometry-type\"||R.name===\"id\"||/^filter-/.test(R.name))||R instanceof Al||R instanceof jc)return!1;let S=!0;return R.eachChild(D=>{S&&!Kh(D)&&(S=!1)}),S}function rc(R){if(R instanceof Ml&&R.name===\"feature-state\")return!1;let S=!0;return R.eachChild(D=>{S&&!rc(D)&&(S=!1)}),S}function ah(R,S){if(R instanceof Ml&&S.indexOf(R.name)>=0)return!1;let D=!0;return R.eachChild(j=>{D&&!ah(j,S)&&(D=!1)}),D}function Wc(R){return{result:\"success\",value:R}}function df(R){return{result:\"error\",value:R}}function Cu(R){return R[\"property-type\"]===\"data-driven\"||R[\"property-type\"]===\"cross-faded-data-driven\"}function Nf(R){return!!R.expression&&R.expression.parameters.indexOf(\"zoom\")>-1}function Zc(R){return!!R.expression&&R.expression.interpolated}function ds(R){return R instanceof Number?\"number\":R instanceof String?\"string\":R instanceof Boolean?\"boolean\":Array.isArray(R)?\"array\":R===null?\"null\":typeof R}function Ch(R){return typeof R==\"object\"&&R!==null&&!Array.isArray(R)}function Bd(R){return R}function Jh(R,S){let D=S.type===\"color\",j=R.stops&&typeof R.stops[0][0]==\"object\",te=j||!(j||R.property!==void 0),ue=R.type||(Zc(S)?\"exponential\":\"interval\");if(D||S.type===\"padding\"){let Tt=D?Zt.parse:Vr.parse;(R=Ke({},R)).stops&&(R.stops=R.stops.map(Ft=>[Ft[0],Tt(Ft[1])])),R.default=Tt(R.default?R.default:S.default)}if(R.colorSpace&&(ve=R.colorSpace)!==\"rgb\"&&ve!==\"hcl\"&&ve!==\"lab\")throw new Error(`Unknown color space: \"${R.colorSpace}\"`);var ve;let De,Ze,at;if(ue===\"exponential\")De=$h;else if(ue===\"interval\")De=Lu;else if(ue===\"categorical\"){De=pd,Ze=Object.create(null);for(let Tt of R.stops)Ze[Tt[0]]=Tt[1];at=typeof R.stops[0][0]}else{if(ue!==\"identity\")throw new Error(`Unknown function type \"${ue}\"`);De=tu}if(j){let Tt={},Ft=[];for(let Tr=0;Tr<R.stops.length;Tr++){let Pr=R.stops[Tr],$r=Pr[0].zoom;Tt[$r]===void 0&&(Tt[$r]={zoom:$r,type:R.type,property:R.property,default:R.default,stops:[]},Ft.push($r)),Tt[$r].stops.push([Pr[0].value,Pr[1]])}let Qt=[];for(let Tr of Ft)Qt.push([Tt[Tr].zoom,Jh(Tt[Tr],S)]);let sr={name:\"linear\"};return{kind:\"composite\",interpolationType:sr,interpolationFactor:xo.interpolationFactor.bind(void 0,sr),zoomStops:Qt.map(Tr=>Tr[0]),evaluate:({zoom:Tr},Pr)=>$h({stops:Qt,base:R.base},S,Tr).evaluate(Tr,Pr)}}if(te){let Tt=ue===\"exponential\"?{name:\"exponential\",base:R.base!==void 0?R.base:1}:null;return{kind:\"camera\",interpolationType:Tt,interpolationFactor:xo.interpolationFactor.bind(void 0,Tt),zoomStops:R.stops.map(Ft=>Ft[0]),evaluate:({zoom:Ft})=>De(R,S,Ft,Ze,at)}}return{kind:\"source\",evaluate(Tt,Ft){let Qt=Ft&&Ft.properties?Ft.properties[R.property]:void 0;return Qt===void 0?Cf(R.default,S.default):De(R,S,Qt,Ze,at)}}}function Cf(R,S,D){return R!==void 0?R:S!==void 0?S:D!==void 0?D:void 0}function pd(R,S,D,j,te){return Cf(typeof D===te?j[D]:void 0,R.default,S.default)}function Lu(R,S,D){if(ds(D)!==\"number\")return Cf(R.default,S.default);let j=R.stops.length;if(j===1||D<=R.stops[0][0])return R.stops[0][1];if(D>=R.stops[j-1][0])return R.stops[j-1][1];let te=hi(R.stops.map(ue=>ue[0]),D);return R.stops[te][1]}function $h(R,S,D){let j=R.base!==void 0?R.base:1;if(ds(D)!==\"number\")return Cf(R.default,S.default);let te=R.stops.length;if(te===1||D<=R.stops[0][0])return R.stops[0][1];if(D>=R.stops[te-1][0])return R.stops[te-1][1];let ue=hi(R.stops.map(Tt=>Tt[0]),D),ve=function(Tt,Ft,Qt,sr){let Tr=sr-Qt,Pr=Tt-Qt;return Tr===0?0:Ft===1?Pr/Tr:(Math.pow(Ft,Pr)-1)/(Math.pow(Ft,Tr)-1)}(D,j,R.stops[ue][0],R.stops[ue+1][0]),De=R.stops[ue][1],Ze=R.stops[ue+1][1],at=Mo[S.type]||Bd;return typeof De.evaluate==\"function\"?{evaluate(...Tt){let Ft=De.evaluate.apply(void 0,Tt),Qt=Ze.evaluate.apply(void 0,Tt);if(Ft!==void 0&&Qt!==void 0)return at(Ft,Qt,ve,R.colorSpace)}}:at(De,Ze,ve,R.colorSpace)}function tu(R,S,D){switch(S.type){case\"color\":D=Zt.parse(D);break;case\"formatted\":D=Zr.fromString(D.toString());break;case\"resolvedImage\":D=Mi.fromString(D.toString());break;case\"padding\":D=Vr.parse(D);break;default:ds(D)===S.type||S.type===\"enum\"&&S.values[D]||(D=void 0)}return Cf(D,R.default,S.default)}Ml.register(kf,{error:[{kind:\"error\"},[Et],(R,[S])=>{throw new la(S.evaluate(R))}],typeof:[Et,[fr],(R,[S])=>Ye(Ki(S.evaluate(R)))],\"to-rgba\":[Ne(St,4),[Ht],(R,[S])=>{let[D,j,te,ue]=S.evaluate(R).rgb;return[255*D,255*j,255*te,ue]}],rgb:[Ht,[St,St,St],Yh],rgba:[Ht,[St,St,St,St],Yh],has:{type:dt,overloads:[[[Et],(R,[S])=>Eh(S.evaluate(R),R.properties())],[[Et,$t],(R,[S,D])=>Eh(S.evaluate(R),D.evaluate(R))]]},get:{type:fr,overloads:[[[Et],(R,[S])=>nh(S.evaluate(R),R.properties())],[[Et,$t],(R,[S,D])=>nh(S.evaluate(R),D.evaluate(R))]]},\"feature-state\":[fr,[Et],(R,[S])=>nh(S.evaluate(R),R.featureState||{})],properties:[$t,[],R=>R.properties()],\"geometry-type\":[Et,[],R=>R.geometryType()],id:[fr,[],R=>R.id()],zoom:[St,[],R=>R.globals.zoom],\"heatmap-density\":[St,[],R=>R.globals.heatmapDensity||0],\"line-progress\":[St,[],R=>R.globals.lineProgress||0],accumulated:[fr,[],R=>R.globals.accumulated===void 0?null:R.globals.accumulated],\"+\":[St,hf(St),(R,S)=>{let D=0;for(let j of S)D+=j.evaluate(R);return D}],\"*\":[St,hf(St),(R,S)=>{let D=1;for(let j of S)D*=j.evaluate(R);return D}],\"-\":{type:St,overloads:[[[St,St],(R,[S,D])=>S.evaluate(R)-D.evaluate(R)],[[St],(R,[S])=>-S.evaluate(R)]]},\"/\":[St,[St,St],(R,[S,D])=>S.evaluate(R)/D.evaluate(R)],\"%\":[St,[St,St],(R,[S,D])=>S.evaluate(R)%D.evaluate(R)],ln2:[St,[],()=>Math.LN2],pi:[St,[],()=>Math.PI],e:[St,[],()=>Math.E],\"^\":[St,[St,St],(R,[S,D])=>Math.pow(S.evaluate(R),D.evaluate(R))],sqrt:[St,[St],(R,[S])=>Math.sqrt(S.evaluate(R))],log10:[St,[St],(R,[S])=>Math.log(S.evaluate(R))/Math.LN10],ln:[St,[St],(R,[S])=>Math.log(S.evaluate(R))],log2:[St,[St],(R,[S])=>Math.log(S.evaluate(R))/Math.LN2],sin:[St,[St],(R,[S])=>Math.sin(S.evaluate(R))],cos:[St,[St],(R,[S])=>Math.cos(S.evaluate(R))],tan:[St,[St],(R,[S])=>Math.tan(S.evaluate(R))],asin:[St,[St],(R,[S])=>Math.asin(S.evaluate(R))],acos:[St,[St],(R,[S])=>Math.acos(S.evaluate(R))],atan:[St,[St],(R,[S])=>Math.atan(S.evaluate(R))],min:[St,hf(St),(R,S)=>Math.min(...S.map(D=>D.evaluate(R)))],max:[St,hf(St),(R,S)=>Math.max(...S.map(D=>D.evaluate(R)))],abs:[St,[St],(R,[S])=>Math.abs(S.evaluate(R))],round:[St,[St],(R,[S])=>{let D=S.evaluate(R);return D<0?-Math.round(-D):Math.round(D)}],floor:[St,[St],(R,[S])=>Math.floor(S.evaluate(R))],ceil:[St,[St],(R,[S])=>Math.ceil(S.evaluate(R))],\"filter-==\":[dt,[Et,fr],(R,[S,D])=>R.properties()[S.value]===D.value],\"filter-id-==\":[dt,[fr],(R,[S])=>R.id()===S.value],\"filter-type-==\":[dt,[Et],(R,[S])=>R.geometryType()===S.value],\"filter-<\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j<te}],\"filter-id-<\":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D<j}],\"filter->\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j>te}],\"filter-id->\":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D>j}],\"filter-<=\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j<=te}],\"filter-id-<=\":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D<=j}],\"filter->=\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j>=te}],\"filter-id->=\":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D>=j}],\"filter-has\":[dt,[fr],(R,[S])=>S.value in R.properties()],\"filter-has-id\":[dt,[],R=>R.id()!==null&&R.id()!==void 0],\"filter-type-in\":[dt,[Ne(Et)],(R,[S])=>S.value.indexOf(R.geometryType())>=0],\"filter-id-in\":[dt,[Ne(fr)],(R,[S])=>S.value.indexOf(R.id())>=0],\"filter-in-small\":[dt,[Et,Ne(fr)],(R,[S,D])=>D.value.indexOf(R.properties()[S.value])>=0],\"filter-in-large\":[dt,[Et,Ne(fr)],(R,[S,D])=>function(j,te,ue,ve){for(;ue<=ve;){let De=ue+ve>>1;if(te[De]===j)return!0;te[De]>j?ve=De-1:ue=De+1}return!1}(R.properties()[S.value],D.value,0,D.value.length-1)],all:{type:dt,overloads:[[[dt,dt],(R,[S,D])=>S.evaluate(R)&&D.evaluate(R)],[hf(dt),(R,S)=>{for(let D of S)if(!D.evaluate(R))return!1;return!0}]]},any:{type:dt,overloads:[[[dt,dt],(R,[S,D])=>S.evaluate(R)||D.evaluate(R)],[hf(dt),(R,S)=>{for(let D of S)if(D.evaluate(R))return!0;return!1}]]},\"!\":[dt,[dt],(R,[S])=>!S.evaluate(R)],\"is-supported-script\":[dt,[Et],(R,[S])=>{let D=R.globals&&R.globals.isSupportedScript;return!D||D(S.evaluate(R))}],upcase:[Et,[Et],(R,[S])=>S.evaluate(R).toUpperCase()],downcase:[Et,[Et],(R,[S])=>S.evaluate(R).toLowerCase()],concat:[Et,hf(fr),(R,S)=>S.map(D=>ka(D.evaluate(R))).join(\"\")],\"resolved-locale\":[Et,[_r],(R,[S])=>S.evaluate(R).resolvedLocale()]});class Pu{constructor(S,D){var j;this.expression=S,this._warningHistory={},this._evaluator=new Ha,this._defaultValue=D?(j=D).type===\"color\"&&Ch(j.default)?new Zt(0,0,0,0):j.type===\"color\"?Zt.parse(j.default)||null:j.type===\"padding\"?Vr.parse(j.default)||null:j.type===\"variableAnchorOffsetCollection\"?Si.parse(j.default)||null:j.default===void 0?null:j.default:null,this._enumValues=D&&D.type===\"enum\"?D.values:null}evaluateWithoutErrorHandling(S,D,j,te,ue,ve){return this._evaluator.globals=S,this._evaluator.feature=D,this._evaluator.featureState=j,this._evaluator.canonical=te,this._evaluator.availableImages=ue||null,this._evaluator.formattedSection=ve,this.expression.evaluate(this._evaluator)}evaluate(S,D,j,te,ue,ve){this._evaluator.globals=S,this._evaluator.feature=D||null,this._evaluator.featureState=j||null,this._evaluator.canonical=te,this._evaluator.availableImages=ue||null,this._evaluator.formattedSection=ve||null;try{let De=this.expression.evaluate(this._evaluator);if(De==null||typeof De==\"number\"&&De!=De)return this._defaultValue;if(this._enumValues&&!(De in this._enumValues))throw new la(`Expected value to be one of ${Object.keys(this._enumValues).map(Ze=>JSON.stringify(Ze)).join(\", \")}, but found ${JSON.stringify(De)} instead.`);return De}catch(De){return this._warningHistory[De.message]||(this._warningHistory[De.message]=!0,typeof console!=\"undefined\"&&console.warn(De.message)),this._defaultValue}}}function Lc(R){return Array.isArray(R)&&R.length>0&&typeof R[0]==\"string\"&&R[0]in kf}function fl(R,S){let D=new oo(kf,kh,[],S?function(te){let ue={color:Ht,string:Et,number:St,enum:Et,boolean:dt,formatted:Br,padding:Or,resolvedImage:Nr,variableAnchorOffsetCollection:ut};return te.type===\"array\"?Ne(ue[te.value]||fr,te.length):ue[te.type]}(S):void 0),j=D.parse(R,void 0,void 0,void 0,S&&S.type===\"string\"?{typeAnnotation:\"coerce\"}:void 0);return j?Wc(new Pu(j,S)):df(D.errors)}class Xc{constructor(S,D){this.kind=S,this._styleExpression=D,this.isStateDependent=S!==\"constant\"&&!rc(D.expression)}evaluateWithoutErrorHandling(S,D,j,te,ue,ve){return this._styleExpression.evaluateWithoutErrorHandling(S,D,j,te,ue,ve)}evaluate(S,D,j,te,ue,ve){return this._styleExpression.evaluate(S,D,j,te,ue,ve)}}class ic{constructor(S,D,j,te){this.kind=S,this.zoomStops=j,this._styleExpression=D,this.isStateDependent=S!==\"camera\"&&!rc(D.expression),this.interpolationType=te}evaluateWithoutErrorHandling(S,D,j,te,ue,ve){return this._styleExpression.evaluateWithoutErrorHandling(S,D,j,te,ue,ve)}evaluate(S,D,j,te,ue,ve){return this._styleExpression.evaluate(S,D,j,te,ue,ve)}interpolationFactor(S,D,j){return this.interpolationType?xo.interpolationFactor(this.interpolationType,S,D,j):0}}function yu(R,S){let D=fl(R,S);if(D.result===\"error\")return D;let j=D.value.expression,te=Kh(j);if(!te&&!Cu(S))return df([new xt(\"\",\"data expressions not supported\")]);let ue=ah(j,[\"zoom\"]);if(!ue&&!Nf(S))return df([new xt(\"\",\"zoom expressions not supported\")]);let ve=Qh(j);return ve||ue?ve instanceof xt?df([ve]):ve instanceof xo&&!Zc(S)?df([new xt(\"\",'\"interpolate\" expressions cannot be used with this property')]):Wc(ve?new ic(te?\"camera\":\"composite\",D.value,ve.labels,ve instanceof xo?ve.interpolation:void 0):new Xc(te?\"constant\":\"source\",D.value)):df([new xt(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}class Qs{constructor(S,D){this._parameters=S,this._specification=D,Ke(this,Jh(this._parameters,this._specification))}static deserialize(S){return new Qs(S._parameters,S._specification)}static serialize(S){return{_parameters:S._parameters,_specification:S._specification}}}function Qh(R){let S=null;if(R instanceof xn)S=Qh(R.result);else if(R instanceof ks){for(let D of R.args)if(S=Qh(D),S)break}else(R instanceof Ji||R instanceof xo)&&R.input instanceof Ml&&R.input.name===\"zoom\"&&(S=R);return S instanceof xt||R.eachChild(D=>{let j=Qh(D);j instanceof xt?S=j:!S&&j?S=new xt(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):S&&j&&S!==j&&(S=new xt(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))}),S}function gd(R){if(R===!0||R===!1)return!0;if(!Array.isArray(R)||R.length===0)return!1;switch(R[0]){case\"has\":return R.length>=2&&R[1]!==\"$id\"&&R[1]!==\"$type\";case\"in\":return R.length>=3&&(typeof R[1]!=\"string\"||Array.isArray(R[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return R.length!==3||Array.isArray(R[1])||Array.isArray(R[2]);case\"any\":case\"all\":for(let S of R.slice(1))if(!gd(S)&&typeof S!=\"boolean\")return!1;return!0;default:return!0}}let Gu={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function Pc(R){if(R==null)return{filter:()=>!0,needGeometry:!1};gd(R)||(R=Lf(R));let S=fl(R,Gu);if(S.result===\"error\")throw new Error(S.value.map(D=>`${D.key}: ${D.message}`).join(\", \"));return{filter:(D,j,te)=>S.value.evaluate(D,j,{},te),needGeometry:sv(R)}}function vc(R,S){return R<S?-1:R>S?1:0}function sv(R){if(!Array.isArray(R))return!1;if(R[0]===\"within\"||R[0]===\"distance\")return!0;for(let S=1;S<R.length;S++)if(sv(R[S]))return!0;return!1}function Lf(R){if(!R)return!0;let S=R[0];return R.length<=1?S!==\"any\":S===\"==\"?Uf(R[1],R[2],\"==\"):S===\"!=\"?ru(Uf(R[1],R[2],\"==\")):S===\"<\"||S===\">\"||S===\"<=\"||S===\">=\"?Uf(R[1],R[2],S):S===\"any\"?(D=R.slice(1),[\"any\"].concat(D.map(Lf))):S===\"all\"?[\"all\"].concat(R.slice(1).map(Lf)):S===\"none\"?[\"all\"].concat(R.slice(1).map(Lf).map(ru)):S===\"in\"?Iu(R[1],R.slice(2)):S===\"!in\"?ru(Iu(R[1],R.slice(2))):S===\"has\"?oh(R[1]):S!==\"!has\"||ru(oh(R[1]));var D}function Uf(R,S,D){switch(R){case\"$type\":return[`filter-type-${D}`,S];case\"$id\":return[`filter-id-${D}`,S];default:return[`filter-${D}`,R,S]}}function Iu(R,S){if(S.length===0)return!1;switch(R){case\"$type\":return[\"filter-type-in\",[\"literal\",S]];case\"$id\":return[\"filter-id-in\",[\"literal\",S]];default:return S.length>200&&!S.some(D=>typeof D!=typeof S[0])?[\"filter-in-large\",R,[\"literal\",S.sort(vc)]]:[\"filter-in-small\",R,[\"literal\",S]]}}function oh(R){switch(R){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",R]}}function ru(R){return[\"!\",R]}function vf(R){let S=typeof R;if(S===\"number\"||S===\"boolean\"||S===\"string\"||R==null)return JSON.stringify(R);if(Array.isArray(R)){let te=\"[\";for(let ue of R)te+=`${vf(ue)},`;return`${te}]`}let D=Object.keys(R).sort(),j=\"{\";for(let te=0;te<D.length;te++)j+=`${JSON.stringify(D[te])}:${vf(R[D[te]])},`;return`${j}}`}function md(R){let S=\"\";for(let D of Ge)S+=`/${vf(R[D])}`;return S}function sh(R){let S=R.value;return S?[new er(R.key,S,\"constants have been deprecated as of v8\")]:[]}function Fs(R){return R instanceof Number||R instanceof String||R instanceof Boolean?R.valueOf():R}function _u(R){if(Array.isArray(R))return R.map(_u);if(R instanceof Object&&!(R instanceof Number||R instanceof String||R instanceof Boolean)){let S={};for(let D in R)S[D]=_u(R[D]);return S}return Fs(R)}function xu(R){let S=R.key,D=R.value,j=R.valueSpec||{},te=R.objectElementValidators||{},ue=R.style,ve=R.styleSpec,De=R.validateSpec,Ze=[],at=ds(D);if(at!==\"object\")return[new er(S,D,`object expected, ${at} found`)];for(let Tt in D){let Ft=Tt.split(\".\")[0],Qt=j[Ft]||j[\"*\"],sr;if(te[Ft])sr=te[Ft];else if(j[Ft])sr=De;else if(te[\"*\"])sr=te[\"*\"];else{if(!j[\"*\"]){Ze.push(new er(S,D[Tt],`unknown property \"${Tt}\"`));continue}sr=De}Ze=Ze.concat(sr({key:(S&&`${S}.`)+Tt,value:D[Tt],valueSpec:Qt,style:ue,styleSpec:ve,object:D,objectKey:Tt,validateSpec:De},D))}for(let Tt in j)te[Tt]||j[Tt].required&&j[Tt].default===void 0&&D[Tt]===void 0&&Ze.push(new er(S,D,`missing required property \"${Tt}\"`));return Ze}function Lh(R){let S=R.value,D=R.valueSpec,j=R.style,te=R.styleSpec,ue=R.key,ve=R.arrayElementValidator||R.validateSpec;if(ds(S)!==\"array\")return[new er(ue,S,`array expected, ${ds(S)} found`)];if(D.length&&S.length!==D.length)return[new er(ue,S,`array length ${D.length} expected, length ${S.length} found`)];if(D[\"min-length\"]&&S.length<D[\"min-length\"])return[new er(ue,S,`array length at least ${D[\"min-length\"]} expected, length ${S.length} found`)];let De={type:D.value,values:D.values};te.$version<7&&(De.function=D.function),ds(D.value)===\"object\"&&(De=D.value);let Ze=[];for(let at=0;at<S.length;at++)Ze=Ze.concat(ve({array:S,arrayIndex:at,value:S[at],valueSpec:De,validateSpec:R.validateSpec,style:j,styleSpec:te,key:`${ue}[${at}]`}));return Ze}function Is(R){let S=R.key,D=R.value,j=R.valueSpec,te=ds(D);return te===\"number\"&&D!=D&&(te=\"NaN\"),te!==\"number\"?[new er(S,D,`number expected, ${te} found`)]:\"minimum\"in j&&D<j.minimum?[new er(S,D,`${D} is less than the minimum value ${j.minimum}`)]:\"maximum\"in j&&D>j.maximum?[new er(S,D,`${D} is greater than the maximum value ${j.maximum}`)]:[]}function Pf(R){let S=R.valueSpec,D=Fs(R.value.type),j,te,ue,ve={},De=D!==\"categorical\"&&R.value.property===void 0,Ze=!De,at=ds(R.value.stops)===\"array\"&&ds(R.value.stops[0])===\"array\"&&ds(R.value.stops[0][0])===\"object\",Tt=xu({key:R.key,value:R.value,valueSpec:R.styleSpec.function,validateSpec:R.validateSpec,style:R.style,styleSpec:R.styleSpec,objectElementValidators:{stops:function(sr){if(D===\"identity\")return[new er(sr.key,sr.value,'identity function may not have a \"stops\" property')];let Tr=[],Pr=sr.value;return Tr=Tr.concat(Lh({key:sr.key,value:Pr,valueSpec:sr.valueSpec,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec,arrayElementValidator:Ft})),ds(Pr)===\"array\"&&Pr.length===0&&Tr.push(new er(sr.key,Pr,\"array must have at least one stop\")),Tr},default:function(sr){return sr.validateSpec({key:sr.key,value:sr.value,valueSpec:S,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec})}}});return D===\"identity\"&&De&&Tt.push(new er(R.key,R.value,'missing required property \"property\"')),D===\"identity\"||R.value.stops||Tt.push(new er(R.key,R.value,'missing required property \"stops\"')),D===\"exponential\"&&R.valueSpec.expression&&!Zc(R.valueSpec)&&Tt.push(new er(R.key,R.value,\"exponential functions not supported\")),R.styleSpec.$version>=8&&(Ze&&!Cu(R.valueSpec)?Tt.push(new er(R.key,R.value,\"property functions not supported\")):De&&!Nf(R.valueSpec)&&Tt.push(new er(R.key,R.value,\"zoom functions not supported\"))),D!==\"categorical\"&&!at||R.value.property!==void 0||Tt.push(new er(R.key,R.value,'\"property\" property is required')),Tt;function Ft(sr){let Tr=[],Pr=sr.value,$r=sr.key;if(ds(Pr)!==\"array\")return[new er($r,Pr,`array expected, ${ds(Pr)} found`)];if(Pr.length!==2)return[new er($r,Pr,`array length 2 expected, length ${Pr.length} found`)];if(at){if(ds(Pr[0])!==\"object\")return[new er($r,Pr,`object expected, ${ds(Pr[0])} found`)];if(Pr[0].zoom===void 0)return[new er($r,Pr,\"object stop key must have zoom\")];if(Pr[0].value===void 0)return[new er($r,Pr,\"object stop key must have value\")];if(ue&&ue>Fs(Pr[0].zoom))return[new er($r,Pr[0].zoom,\"stop zoom values must appear in ascending order\")];Fs(Pr[0].zoom)!==ue&&(ue=Fs(Pr[0].zoom),te=void 0,ve={}),Tr=Tr.concat(xu({key:`${$r}[0]`,value:Pr[0],valueSpec:{zoom:{}},validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec,objectElementValidators:{zoom:Is,value:Qt}}))}else Tr=Tr.concat(Qt({key:`${$r}[0]`,value:Pr[0],valueSpec:{},validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec},Pr));return Lc(_u(Pr[1]))?Tr.concat([new er(`${$r}[1]`,Pr[1],\"expressions are not allowed in function stops.\")]):Tr.concat(sr.validateSpec({key:`${$r}[1]`,value:Pr[1],valueSpec:S,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec}))}function Qt(sr,Tr){let Pr=ds(sr.value),$r=Fs(sr.value),ni=sr.value!==null?sr.value:Tr;if(j){if(Pr!==j)return[new er(sr.key,ni,`${Pr} stop domain type must match previous stop domain type ${j}`)]}else j=Pr;if(Pr!==\"number\"&&Pr!==\"string\"&&Pr!==\"boolean\")return[new er(sr.key,ni,\"stop domain value must be a number, string, or boolean\")];if(Pr!==\"number\"&&D!==\"categorical\"){let Di=`number expected, ${Pr} found`;return Cu(S)&&D===void 0&&(Di+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new er(sr.key,ni,Di)]}return D!==\"categorical\"||Pr!==\"number\"||isFinite($r)&&Math.floor($r)===$r?D!==\"categorical\"&&Pr===\"number\"&&te!==void 0&&$r<te?[new er(sr.key,ni,\"stop domain values must appear in ascending order\")]:(te=$r,D===\"categorical\"&&$r in ve?[new er(sr.key,ni,\"stop domain values must be unique\")]:(ve[$r]=!0,[])):[new er(sr.key,ni,`integer expected, found ${$r}`)]}}function Ic(R){let S=(R.expressionContext===\"property\"?yu:fl)(_u(R.value),R.valueSpec);if(S.result===\"error\")return S.value.map(j=>new er(`${R.key}${j.key}`,R.value,j.message));let D=S.value.expression||S.value._styleExpression.expression;if(R.expressionContext===\"property\"&&R.propertyKey===\"text-font\"&&!D.outputDefined())return[new er(R.key,R.value,`Invalid data expression for \"${R.propertyKey}\". Output values must be contained as literals within the expression.`)];if(R.expressionContext===\"property\"&&R.propertyType===\"layout\"&&!rc(D))return[new er(R.key,R.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(R.expressionContext===\"filter\"&&!rc(D))return[new er(R.key,R.value,'\"feature-state\" data expressions are not supported with filters.')];if(R.expressionContext&&R.expressionContext.indexOf(\"cluster\")===0){if(!ah(D,[\"zoom\",\"feature-state\"]))return[new er(R.key,R.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(R.expressionContext===\"cluster-initial\"&&!Kh(D))return[new er(R.key,R.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function ju(R){let S=R.key,D=R.value,j=R.valueSpec,te=[];return Array.isArray(j.values)?j.values.indexOf(Fs(D))===-1&&te.push(new er(S,D,`expected one of [${j.values.join(\", \")}], ${JSON.stringify(D)} found`)):Object.keys(j.values).indexOf(Fs(D))===-1&&te.push(new er(S,D,`expected one of [${Object.keys(j.values).join(\", \")}], ${JSON.stringify(D)} found`)),te}function Vf(R){return gd(_u(R.value))?Ic(Ke({},R,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):pc(R)}function pc(R){let S=R.value,D=R.key;if(ds(S)!==\"array\")return[new er(D,S,`array expected, ${ds(S)} found`)];let j=R.styleSpec,te,ue=[];if(S.length<1)return[new er(D,S,\"filter array must have at least 1 element\")];switch(ue=ue.concat(ju({key:`${D}[0]`,value:S[0],valueSpec:j.filter_operator,style:R.style,styleSpec:R.styleSpec})),Fs(S[0])){case\"<\":case\"<=\":case\">\":case\">=\":S.length>=2&&Fs(S[1])===\"$type\"&&ue.push(new er(D,S,`\"$type\" cannot be use with operator \"${S[0]}\"`));case\"==\":case\"!=\":S.length!==3&&ue.push(new er(D,S,`filter array for operator \"${S[0]}\" must have 3 elements`));case\"in\":case\"!in\":S.length>=2&&(te=ds(S[1]),te!==\"string\"&&ue.push(new er(`${D}[1]`,S[1],`string expected, ${te} found`)));for(let ve=2;ve<S.length;ve++)te=ds(S[ve]),Fs(S[1])===\"$type\"?ue=ue.concat(ju({key:`${D}[${ve}]`,value:S[ve],valueSpec:j.geometry_type,style:R.style,styleSpec:R.styleSpec})):te!==\"string\"&&te!==\"number\"&&te!==\"boolean\"&&ue.push(new er(`${D}[${ve}]`,S[ve],`string, number, or boolean expected, ${te} found`));break;case\"any\":case\"all\":case\"none\":for(let ve=1;ve<S.length;ve++)ue=ue.concat(pc({key:`${D}[${ve}]`,value:S[ve],style:R.style,styleSpec:R.styleSpec}));break;case\"has\":case\"!has\":te=ds(S[1]),S.length!==2?ue.push(new er(D,S,`filter array for \"${S[0]}\" operator must have 2 elements`)):te!==\"string\"&&ue.push(new er(`${D}[1]`,S[1],`string expected, ${te} found`))}return ue}function pf(R,S){let D=R.key,j=R.validateSpec,te=R.style,ue=R.styleSpec,ve=R.value,De=R.objectKey,Ze=ue[`${S}_${R.layerType}`];if(!Ze)return[];let at=De.match(/^(.*)-transition$/);if(S===\"paint\"&&at&&Ze[at[1]]&&Ze[at[1]].transition)return j({key:D,value:ve,valueSpec:ue.transition,style:te,styleSpec:ue});let Tt=R.valueSpec||Ze[De];if(!Tt)return[new er(D,ve,`unknown property \"${De}\"`)];let Ft;if(ds(ve)===\"string\"&&Cu(Tt)&&!Tt.tokens&&(Ft=/^{([^}]+)}$/.exec(ve)))return[new er(D,ve,`\"${De}\" does not support interpolation syntax\n", - "Use an identity property function instead: \\`{ \"type\": \"identity\", \"property\": ${JSON.stringify(Ft[1])} }\\`.`)];let Qt=[];return R.layerType===\"symbol\"&&(De===\"text-field\"&&te&&!te.glyphs&&Qt.push(new er(D,ve,'use of \"text-field\" requires a style \"glyphs\" property')),De===\"text-font\"&&Ch(_u(ve))&&Fs(ve.type)===\"identity\"&&Qt.push(new er(D,ve,'\"text-font\" does not support identity functions'))),Qt.concat(j({key:R.key,value:ve,valueSpec:Tt,style:te,styleSpec:ue,expressionContext:\"property\",propertyType:S,propertyKey:De}))}function Ph(R){return pf(R,\"paint\")}function Dl(R){return pf(R,\"layout\")}function Ih(R){let S=[],D=R.value,j=R.key,te=R.style,ue=R.styleSpec;D.type||D.ref||S.push(new er(j,D,'either \"type\" or \"ref\" is required'));let ve=Fs(D.type),De=Fs(D.ref);if(D.id){let Ze=Fs(D.id);for(let at=0;at<R.arrayIndex;at++){let Tt=te.layers[at];Fs(Tt.id)===Ze&&S.push(new er(j,D.id,`duplicate layer id \"${D.id}\", previously used at line ${Tt.id.__line__}`))}}if(\"ref\"in D){let Ze;[\"type\",\"source\",\"source-layer\",\"filter\",\"layout\"].forEach(at=>{at in D&&S.push(new er(j,D[at],`\"${at}\" is prohibited for ref layers`))}),te.layers.forEach(at=>{Fs(at.id)===De&&(Ze=at)}),Ze?Ze.ref?S.push(new er(j,D.ref,\"ref cannot reference another ref layer\")):ve=Fs(Ze.type):S.push(new er(j,D.ref,`ref layer \"${De}\" not found`))}else if(ve!==\"background\")if(D.source){let Ze=te.sources&&te.sources[D.source],at=Ze&&Fs(Ze.type);Ze?at===\"vector\"&&ve===\"raster\"?S.push(new er(j,D.source,`layer \"${D.id}\" requires a raster source`)):at!==\"raster-dem\"&&ve===\"hillshade\"?S.push(new er(j,D.source,`layer \"${D.id}\" requires a raster-dem source`)):at===\"raster\"&&ve!==\"raster\"?S.push(new er(j,D.source,`layer \"${D.id}\" requires a vector source`)):at!==\"vector\"||D[\"source-layer\"]?at===\"raster-dem\"&&ve!==\"hillshade\"?S.push(new er(j,D.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):ve!==\"line\"||!D.paint||!D.paint[\"line-gradient\"]||at===\"geojson\"&&Ze.lineMetrics||S.push(new er(j,D,`layer \"${D.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):S.push(new er(j,D,`layer \"${D.id}\" must specify a \"source-layer\"`)):S.push(new er(j,D.source,`source \"${D.source}\" not found`))}else S.push(new er(j,D,'missing required property \"source\"'));return S=S.concat(xu({key:j,value:D,valueSpec:ue.layer,style:R.style,styleSpec:R.styleSpec,validateSpec:R.validateSpec,objectElementValidators:{\"*\":()=>[],type:()=>R.validateSpec({key:`${j}.type`,value:D.type,valueSpec:ue.layer.type,style:R.style,styleSpec:R.styleSpec,validateSpec:R.validateSpec,object:D,objectKey:\"type\"}),filter:Vf,layout:Ze=>xu({layer:D,key:Ze.key,value:Ze.value,style:Ze.style,styleSpec:Ze.styleSpec,validateSpec:Ze.validateSpec,objectElementValidators:{\"*\":at=>Dl(Ke({layerType:ve},at))}}),paint:Ze=>xu({layer:D,key:Ze.key,value:Ze.value,style:Ze.style,styleSpec:Ze.styleSpec,validateSpec:Ze.validateSpec,objectElementValidators:{\"*\":at=>Ph(Ke({layerType:ve},at))}})}})),S}function Wu(R){let S=R.value,D=R.key,j=ds(S);return j!==\"string\"?[new er(D,S,`string expected, ${j} found`)]:[]}let Rc={promoteId:function({key:R,value:S}){if(ds(S)===\"string\")return Wu({key:R,value:S});{let D=[];for(let j in S)D.push(...Wu({key:`${R}.${j}`,value:S[j]}));return D}}};function gc(R){let S=R.value,D=R.key,j=R.styleSpec,te=R.style,ue=R.validateSpec;if(!S.type)return[new er(D,S,'\"type\" is required')];let ve=Fs(S.type),De;switch(ve){case\"vector\":case\"raster\":return De=xu({key:D,value:S,valueSpec:j[`source_${ve.replace(\"-\",\"_\")}`],style:R.style,styleSpec:j,objectElementValidators:Rc,validateSpec:ue}),De;case\"raster-dem\":return De=function(Ze){var at;let Tt=(at=Ze.sourceName)!==null&&at!==void 0?at:\"\",Ft=Ze.value,Qt=Ze.styleSpec,sr=Qt.source_raster_dem,Tr=Ze.style,Pr=[],$r=ds(Ft);if(Ft===void 0)return Pr;if($r!==\"object\")return Pr.push(new er(\"source_raster_dem\",Ft,`object expected, ${$r} found`)),Pr;let ni=Fs(Ft.encoding)===\"custom\",Di=[\"redFactor\",\"greenFactor\",\"blueFactor\",\"baseShift\"],pi=Ze.value.encoding?`\"${Ze.value.encoding}\"`:\"Default\";for(let ki in Ft)!ni&&Di.includes(ki)?Pr.push(new er(ki,Ft[ki],`In \"${Tt}\": \"${ki}\" is only valid when \"encoding\" is set to \"custom\". ${pi} encoding found`)):sr[ki]?Pr=Pr.concat(Ze.validateSpec({key:ki,value:Ft[ki],valueSpec:sr[ki],validateSpec:Ze.validateSpec,style:Tr,styleSpec:Qt})):Pr.push(new er(ki,Ft[ki],`unknown property \"${ki}\"`));return Pr}({sourceName:D,value:S,style:R.style,styleSpec:j,validateSpec:ue}),De;case\"geojson\":if(De=xu({key:D,value:S,valueSpec:j.source_geojson,style:te,styleSpec:j,validateSpec:ue,objectElementValidators:Rc}),S.cluster)for(let Ze in S.clusterProperties){let[at,Tt]=S.clusterProperties[Ze],Ft=typeof at==\"string\"?[at,[\"accumulated\"],[\"get\",Ze]]:at;De.push(...Ic({key:`${D}.${Ze}.map`,value:Tt,validateSpec:ue,expressionContext:\"cluster-map\"})),De.push(...Ic({key:`${D}.${Ze}.reduce`,value:Ft,validateSpec:ue,expressionContext:\"cluster-reduce\"}))}return De;case\"video\":return xu({key:D,value:S,valueSpec:j.source_video,style:te,validateSpec:ue,styleSpec:j});case\"image\":return xu({key:D,value:S,valueSpec:j.source_image,style:te,validateSpec:ue,styleSpec:j});case\"canvas\":return[new er(D,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return ju({key:`${D}.type`,value:S.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:te,validateSpec:ue,styleSpec:j})}}function hl(R){let S=R.value,D=R.styleSpec,j=D.light,te=R.style,ue=[],ve=ds(S);if(S===void 0)return ue;if(ve!==\"object\")return ue=ue.concat([new er(\"light\",S,`object expected, ${ve} found`)]),ue;for(let De in S){let Ze=De.match(/^(.*)-transition$/);ue=ue.concat(Ze&&j[Ze[1]]&&j[Ze[1]].transition?R.validateSpec({key:De,value:S[De],valueSpec:D.transition,validateSpec:R.validateSpec,style:te,styleSpec:D}):j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],validateSpec:R.validateSpec,style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)])}return ue}function iu(R){let S=R.value,D=R.styleSpec,j=D.sky,te=R.style,ue=ds(S);if(S===void 0)return[];if(ue!==\"object\")return[new er(\"sky\",S,`object expected, ${ue} found`)];let ve=[];for(let De in S)ve=ve.concat(j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)]);return ve}function mc(R){let S=R.value,D=R.styleSpec,j=D.terrain,te=R.style,ue=[],ve=ds(S);if(S===void 0)return ue;if(ve!==\"object\")return ue=ue.concat([new er(\"terrain\",S,`object expected, ${ve} found`)]),ue;for(let De in S)ue=ue.concat(j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],validateSpec:R.validateSpec,style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)]);return ue}function Yc(R){let S=[],D=R.value,j=R.key;if(Array.isArray(D)){let te=[],ue=[];for(let ve in D)D[ve].id&&te.includes(D[ve].id)&&S.push(new er(j,D,`all the sprites' ids must be unique, but ${D[ve].id} is duplicated`)),te.push(D[ve].id),D[ve].url&&ue.includes(D[ve].url)&&S.push(new er(j,D,`all the sprites' URLs must be unique, but ${D[ve].url} is duplicated`)),ue.push(D[ve].url),S=S.concat(xu({key:`${j}[${ve}]`,value:D[ve],valueSpec:{id:{type:\"string\",required:!0},url:{type:\"string\",required:!0}},validateSpec:R.validateSpec}));return S}return Wu({key:j,value:D})}let nc={\"*\":()=>[],array:Lh,boolean:function(R){let S=R.value,D=R.key,j=ds(S);return j!==\"boolean\"?[new er(D,S,`boolean expected, ${j} found`)]:[]},number:Is,color:function(R){let S=R.key,D=R.value,j=ds(D);return j!==\"string\"?[new er(S,D,`color expected, ${j} found`)]:Zt.parse(String(D))?[]:[new er(S,D,`color expected, \"${D}\" found`)]},constants:sh,enum:ju,filter:Vf,function:Pf,layer:Ih,object:xu,source:gc,light:hl,sky:iu,terrain:mc,projection:function(R){let S=R.value,D=R.styleSpec,j=D.projection,te=R.style,ue=ds(S);if(S===void 0)return[];if(ue!==\"object\")return[new er(\"projection\",S,`object expected, ${ue} found`)];let ve=[];for(let De in S)ve=ve.concat(j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)]);return ve},string:Wu,formatted:function(R){return Wu(R).length===0?[]:Ic(R)},resolvedImage:function(R){return Wu(R).length===0?[]:Ic(R)},padding:function(R){let S=R.key,D=R.value;if(ds(D)===\"array\"){if(D.length<1||D.length>4)return[new er(S,D,`padding requires 1 to 4 values; ${D.length} values found`)];let j={type:\"number\"},te=[];for(let ue=0;ue<D.length;ue++)te=te.concat(R.validateSpec({key:`${S}[${ue}]`,value:D[ue],validateSpec:R.validateSpec,valueSpec:j}));return te}return Is({key:S,value:D,valueSpec:{}})},variableAnchorOffsetCollection:function(R){let S=R.key,D=R.value,j=ds(D),te=R.styleSpec;if(j!==\"array\"||D.length<1||D.length%2!=0)return[new er(S,D,\"variableAnchorOffsetCollection requires a non-empty array of even length\")];let ue=[];for(let ve=0;ve<D.length;ve+=2)ue=ue.concat(ju({key:`${S}[${ve}]`,value:D[ve],valueSpec:te.layout_symbol[\"text-anchor\"]})),ue=ue.concat(Lh({key:`${S}[${ve+1}]`,value:D[ve+1],valueSpec:{length:2,value:\"number\"},validateSpec:R.validateSpec,style:R.style,styleSpec:te}));return ue},sprite:Yc};function gf(R){let S=R.value,D=R.valueSpec,j=R.styleSpec;return R.validateSpec=gf,D.expression&&Ch(Fs(S))?Pf(R):D.expression&&Lc(_u(S))?Ic(R):D.type&&nc[D.type]?nc[D.type](R):xu(Ke({},R,{valueSpec:D.type?j[D.type]:D}))}function gt(R){let S=R.value,D=R.key,j=Wu(R);return j.length||(S.indexOf(\"{fontstack}\")===-1&&j.push(new er(D,S,'\"glyphs\" url must include a \"{fontstack}\" token')),S.indexOf(\"{range}\")===-1&&j.push(new er(D,S,'\"glyphs\" url must include a \"{range}\" token'))),j}function Bt(R,S=ce){let D=[];return D=D.concat(gf({key:\"\",value:R,valueSpec:S.$root,styleSpec:S,style:R,validateSpec:gf,objectElementValidators:{glyphs:gt,\"*\":()=>[]}})),R.constants&&(D=D.concat(sh({key:\"constants\",value:R.constants,style:R,styleSpec:S,validateSpec:gf}))),vr(D)}function wr(R){return function(S){return R($Q(JQ({},S),{validateSpec:gf}))}}function vr(R){return[].concat(R).sort((S,D)=>S.line-D.line)}function Ur(R){return function(...S){return vr(R.apply(this,S))}}Bt.source=Ur(wr(gc)),Bt.sprite=Ur(wr(Yc)),Bt.glyphs=Ur(wr(gt)),Bt.light=Ur(wr(hl)),Bt.sky=Ur(wr(iu)),Bt.terrain=Ur(wr(mc)),Bt.layer=Ur(wr(Ih)),Bt.filter=Ur(wr(Vf)),Bt.paintProperty=Ur(wr(Ph)),Bt.layoutProperty=Ur(wr(Dl));let fi=Bt,xi=fi.light,Fi=fi.sky,Xi=fi.paintProperty,hn=fi.layoutProperty;function Ti(R,S){let D=!1;if(S&&S.length)for(let j of S)R.fire(new me(new Error(j.message))),D=!0;return D}class qi{constructor(S,D,j){let te=this.cells=[];if(S instanceof ArrayBuffer){this.arrayBuffer=S;let ve=new Int32Array(this.arrayBuffer);S=ve[0],this.d=(D=ve[1])+2*(j=ve[2]);for(let Ze=0;Ze<this.d*this.d;Ze++){let at=ve[3+Ze],Tt=ve[3+Ze+1];te.push(at===Tt?null:ve.subarray(at,Tt))}let De=ve[3+te.length+1];this.keys=ve.subarray(ve[3+te.length],De),this.bboxes=ve.subarray(De),this.insert=this._insertReadonly}else{this.d=D+2*j;for(let ve=0;ve<this.d*this.d;ve++)te.push([]);this.keys=[],this.bboxes=[]}this.n=D,this.extent=S,this.padding=j,this.scale=D/S,this.uid=0;let ue=j/D*S;this.min=-ue,this.max=S+ue}insert(S,D,j,te,ue){this._forEachCell(D,j,te,ue,this._insertCell,this.uid++,void 0,void 0),this.keys.push(S),this.bboxes.push(D),this.bboxes.push(j),this.bboxes.push(te),this.bboxes.push(ue)}_insertReadonly(){throw new Error(\"Cannot insert into a GridIndex created from an ArrayBuffer.\")}_insertCell(S,D,j,te,ue,ve){this.cells[ue].push(ve)}query(S,D,j,te,ue){let ve=this.min,De=this.max;if(S<=ve&&D<=ve&&De<=j&&De<=te&&!ue)return Array.prototype.slice.call(this.keys);{let Ze=[];return this._forEachCell(S,D,j,te,this._queryCell,Ze,{},ue),Ze}}_queryCell(S,D,j,te,ue,ve,De,Ze){let at=this.cells[ue];if(at!==null){let Tt=this.keys,Ft=this.bboxes;for(let Qt=0;Qt<at.length;Qt++){let sr=at[Qt];if(De[sr]===void 0){let Tr=4*sr;(Ze?Ze(Ft[Tr+0],Ft[Tr+1],Ft[Tr+2],Ft[Tr+3]):S<=Ft[Tr+2]&&D<=Ft[Tr+3]&&j>=Ft[Tr+0]&&te>=Ft[Tr+1])?(De[sr]=!0,ve.push(Tt[sr])):De[sr]=!1}}}}_forEachCell(S,D,j,te,ue,ve,De,Ze){let at=this._convertToCellCoord(S),Tt=this._convertToCellCoord(D),Ft=this._convertToCellCoord(j),Qt=this._convertToCellCoord(te);for(let sr=at;sr<=Ft;sr++)for(let Tr=Tt;Tr<=Qt;Tr++){let Pr=this.d*Tr+sr;if((!Ze||Ze(this._convertFromCellCoord(sr),this._convertFromCellCoord(Tr),this._convertFromCellCoord(sr+1),this._convertFromCellCoord(Tr+1)))&&ue.call(this,S,D,j,te,Pr,ve,De,Ze))return}}_convertFromCellCoord(S){return(S-this.padding)/this.scale}_convertToCellCoord(S){return Math.max(0,Math.min(this.d-1,Math.floor(S*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let S=this.cells,D=3+this.cells.length+1+1,j=0;for(let ve=0;ve<this.cells.length;ve++)j+=this.cells[ve].length;let te=new Int32Array(D+j+this.keys.length+this.bboxes.length);te[0]=this.extent,te[1]=this.n,te[2]=this.padding;let ue=D;for(let ve=0;ve<S.length;ve++){let De=S[ve];te[3+ve]=ue,te.set(De,ue),ue+=De.length}return te[3+S.length]=ue,te.set(this.keys,ue),ue+=this.keys.length,te[3+S.length+1]=ue,te.set(this.bboxes,ue),ue+=this.bboxes.length,te.buffer}static serialize(S,D){let j=S.toArrayBuffer();return D&&D.push(j),{buffer:j}}static deserialize(S){return new qi(S.buffer)}}let Ii={};function mi(R,S,D={}){if(Ii[R])throw new Error(`${R} is already registered.`);Object.defineProperty(S,\"_classRegistryKey\",{value:R,writeable:!1}),Ii[R]={klass:S,omit:D.omit||[],shallow:D.shallow||[]}}mi(\"Object\",Object),mi(\"TransferableGridIndex\",qi),mi(\"Color\",Zt),mi(\"Error\",Error),mi(\"AJAXError\",ge),mi(\"ResolvedImage\",Mi),mi(\"StylePropertyFunction\",Qs),mi(\"StyleExpression\",Pu,{omit:[\"_evaluator\"]}),mi(\"ZoomDependentExpression\",ic),mi(\"ZoomConstantExpression\",Xc),mi(\"CompoundExpression\",Ml,{omit:[\"_evaluate\"]});for(let R in kf)kf[R]._classRegistryKey||mi(`Expression_${R}`,kf[R]);function Pn(R){return R&&typeof ArrayBuffer!=\"undefined\"&&(R instanceof ArrayBuffer||R.constructor&&R.constructor.name===\"ArrayBuffer\")}function Ma(R){return R.$name||R.constructor._classRegistryKey}function Ta(R){return!function(S){if(S===null||typeof S!=\"object\")return!1;let D=Ma(S);return!(!D||D===\"Object\")}(R)&&(R==null||typeof R==\"boolean\"||typeof R==\"number\"||typeof R==\"string\"||R instanceof Boolean||R instanceof Number||R instanceof String||R instanceof Date||R instanceof RegExp||R instanceof Blob||R instanceof Error||Pn(R)||H(R)||ArrayBuffer.isView(R)||R instanceof ImageData)}function Ea(R,S){if(Ta(R))return(Pn(R)||H(R))&&S&&S.push(R),ArrayBuffer.isView(R)&&S&&S.push(R.buffer),R instanceof ImageData&&S&&S.push(R.data.buffer),R;if(Array.isArray(R)){let ue=[];for(let ve of R)ue.push(Ea(ve,S));return ue}if(typeof R!=\"object\")throw new Error(\"can't serialize object of type \"+typeof R);let D=Ma(R);if(!D)throw new Error(`can't serialize object of unregistered class ${R.constructor.name}`);if(!Ii[D])throw new Error(`${D} is not registered.`);let{klass:j}=Ii[D],te=j.serialize?j.serialize(R,S):{};if(j.serialize){if(S&&te===S[S.length-1])throw new Error(\"statically serialized object won't survive transfer of $name property\")}else{for(let ue in R){if(!R.hasOwnProperty(ue)||Ii[D].omit.indexOf(ue)>=0)continue;let ve=R[ue];te[ue]=Ii[D].shallow.indexOf(ue)>=0?ve:Ea(ve,S)}R instanceof Error&&(te.message=R.message)}if(te.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return D!==\"Object\"&&(te.$name=D),te}function qa(R){if(Ta(R))return R;if(Array.isArray(R))return R.map(qa);if(typeof R!=\"object\")throw new Error(\"can't deserialize object of type \"+typeof R);let S=Ma(R)||\"Object\";if(!Ii[S])throw new Error(`can't deserialize unregistered class ${S}`);let{klass:D}=Ii[S];if(!D)throw new Error(`can't deserialize unregistered class ${S}`);if(D.deserialize)return D.deserialize(R);let j=Object.create(D.prototype);for(let te of Object.keys(R)){if(te===\"$name\")continue;let ue=R[te];j[te]=Ii[S].shallow.indexOf(te)>=0?ue:qa(ue)}return j}class Cn{constructor(){this.first=!0}update(S,D){let j=Math.floor(S);return this.first?(this.first=!1,this.lastIntegerZoom=j,this.lastIntegerZoomTime=0,this.lastZoom=S,this.lastFloorZoom=j,!0):(this.lastFloorZoom>j?(this.lastIntegerZoom=j+1,this.lastIntegerZoomTime=D):this.lastFloorZoom<j&&(this.lastIntegerZoom=j,this.lastIntegerZoomTime=D),S!==this.lastZoom&&(this.lastZoom=S,this.lastFloorZoom=j,!0))}}let sn={\"Latin-1 Supplement\":R=>R>=128&&R<=255,\"Hangul Jamo\":R=>R>=4352&&R<=4607,Khmer:R=>R>=6016&&R<=6143,\"General Punctuation\":R=>R>=8192&&R<=8303,\"Letterlike Symbols\":R=>R>=8448&&R<=8527,\"Number Forms\":R=>R>=8528&&R<=8591,\"Miscellaneous Technical\":R=>R>=8960&&R<=9215,\"Control Pictures\":R=>R>=9216&&R<=9279,\"Optical Character Recognition\":R=>R>=9280&&R<=9311,\"Enclosed Alphanumerics\":R=>R>=9312&&R<=9471,\"Geometric Shapes\":R=>R>=9632&&R<=9727,\"Miscellaneous Symbols\":R=>R>=9728&&R<=9983,\"Miscellaneous Symbols and Arrows\":R=>R>=11008&&R<=11263,\"Ideographic Description Characters\":R=>R>=12272&&R<=12287,\"CJK Symbols and Punctuation\":R=>R>=12288&&R<=12351,Katakana:R=>R>=12448&&R<=12543,Kanbun:R=>R>=12688&&R<=12703,\"CJK Strokes\":R=>R>=12736&&R<=12783,\"Enclosed CJK Letters and Months\":R=>R>=12800&&R<=13055,\"CJK Compatibility\":R=>R>=13056&&R<=13311,\"Yijing Hexagram Symbols\":R=>R>=19904&&R<=19967,\"Private Use Area\":R=>R>=57344&&R<=63743,\"Vertical Forms\":R=>R>=65040&&R<=65055,\"CJK Compatibility Forms\":R=>R>=65072&&R<=65103,\"Small Form Variants\":R=>R>=65104&&R<=65135,\"Halfwidth and Fullwidth Forms\":R=>R>=65280&&R<=65519};function Ua(R){for(let S of R)if(Bo(S.charCodeAt(0)))return!0;return!1}function mo(R){for(let S of R)if(!Qo(S.charCodeAt(0)))return!1;return!0}function Xo(R){let S=R.map(D=>{try{return new RegExp(`\\\\p{sc=${D}}`,\"u\").source}catch(j){return null}}).filter(D=>D);return new RegExp(S.join(\"|\"),\"u\")}let Ts=Xo([\"Arab\",\"Dupl\",\"Mong\",\"Ougr\",\"Syrc\"]);function Qo(R){return!Ts.test(String.fromCodePoint(R))}let ys=Xo([\"Bopo\",\"Hani\",\"Hira\",\"Kana\",\"Kits\",\"Nshu\",\"Tang\",\"Yiii\"]);function Bo(R){return!(R!==746&&R!==747&&(R<4352||!(sn[\"CJK Compatibility Forms\"](R)&&!(R>=65097&&R<=65103)||sn[\"CJK Compatibility\"](R)||sn[\"CJK Strokes\"](R)||!(!sn[\"CJK Symbols and Punctuation\"](R)||R>=12296&&R<=12305||R>=12308&&R<=12319||R===12336)||sn[\"Enclosed CJK Letters and Months\"](R)||sn[\"Ideographic Description Characters\"](R)||sn.Kanbun(R)||sn.Katakana(R)&&R!==12540||!(!sn[\"Halfwidth and Fullwidth Forms\"](R)||R===65288||R===65289||R===65293||R>=65306&&R<=65310||R===65339||R===65341||R===65343||R>=65371&&R<=65503||R===65507||R>=65512&&R<=65519)||!(!sn[\"Small Form Variants\"](R)||R>=65112&&R<=65118||R>=65123&&R<=65126)||sn[\"Vertical Forms\"](R)||sn[\"Yijing Hexagram Symbols\"](R)||new RegExp(\"\\\\p{sc=Cans}\",\"u\").test(String.fromCodePoint(R))||new RegExp(\"\\\\p{sc=Hang}\",\"u\").test(String.fromCodePoint(R))||ys.test(String.fromCodePoint(R)))))}function yl(R){return!(Bo(R)||function(S){return!!(sn[\"Latin-1 Supplement\"](S)&&(S===167||S===169||S===174||S===177||S===188||S===189||S===190||S===215||S===247)||sn[\"General Punctuation\"](S)&&(S===8214||S===8224||S===8225||S===8240||S===8241||S===8251||S===8252||S===8258||S===8263||S===8264||S===8265||S===8273)||sn[\"Letterlike Symbols\"](S)||sn[\"Number Forms\"](S)||sn[\"Miscellaneous Technical\"](S)&&(S>=8960&&S<=8967||S>=8972&&S<=8991||S>=8996&&S<=9e3||S===9003||S>=9085&&S<=9114||S>=9150&&S<=9165||S===9167||S>=9169&&S<=9179||S>=9186&&S<=9215)||sn[\"Control Pictures\"](S)&&S!==9251||sn[\"Optical Character Recognition\"](S)||sn[\"Enclosed Alphanumerics\"](S)||sn[\"Geometric Shapes\"](S)||sn[\"Miscellaneous Symbols\"](S)&&!(S>=9754&&S<=9759)||sn[\"Miscellaneous Symbols and Arrows\"](S)&&(S>=11026&&S<=11055||S>=11088&&S<=11097||S>=11192&&S<=11243)||sn[\"CJK Symbols and Punctuation\"](S)||sn.Katakana(S)||sn[\"Private Use Area\"](S)||sn[\"CJK Compatibility Forms\"](S)||sn[\"Small Form Variants\"](S)||sn[\"Halfwidth and Fullwidth Forms\"](S)||S===8734||S===8756||S===8757||S>=9984&&S<=10087||S>=10102&&S<=10131||S===65532||S===65533)}(R))}let Gs=Xo([\"Adlm\",\"Arab\",\"Armi\",\"Avst\",\"Chrs\",\"Cprt\",\"Egyp\",\"Elym\",\"Gara\",\"Hatr\",\"Hebr\",\"Hung\",\"Khar\",\"Lydi\",\"Mand\",\"Mani\",\"Mend\",\"Merc\",\"Mero\",\"Narb\",\"Nbat\",\"Nkoo\",\"Orkh\",\"Palm\",\"Phli\",\"Phlp\",\"Phnx\",\"Prti\",\"Rohg\",\"Samr\",\"Sarb\",\"Sogo\",\"Syrc\",\"Thaa\",\"Todr\",\"Yezi\"]);function Rs(R){return Gs.test(String.fromCodePoint(R))}function ia(R,S){return!(!S&&Rs(R)||R>=2304&&R<=3583||R>=3840&&R<=4255||sn.Khmer(R))}function Ka(R){for(let S of R)if(Rs(S.charCodeAt(0)))return!0;return!1}let vs=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus=\"unavailable\",this.pluginURL=null}setState(R){this.pluginStatus=R.pluginStatus,this.pluginURL=R.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(R){this.applyArabicShaping=R.applyArabicShaping,this.processBidirectionalText=R.processBidirectionalText,this.processStyledBidirectionalText=R.processStyledBidirectionalText}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Ko{constructor(S,D){this.zoom=S,D?(this.now=D.now,this.fadeDuration=D.fadeDuration,this.zoomHistory=D.zoomHistory,this.transition=D.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Cn,this.transition={})}isSupportedScript(S){return function(D,j){for(let te of D)if(!ia(te.charCodeAt(0),j))return!1;return!0}(S,vs.getRTLTextPluginStatus()===\"loaded\")}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let S=this.zoom,D=S-Math.floor(S),j=this.crossFadingFactor();return S>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:D+(1-D)*j}:{fromScale:.5,toScale:1,t:1-(1-j)*D}}}class nu{constructor(S,D){this.property=S,this.value=D,this.expression=function(j,te){if(Ch(j))return new Qs(j,te);if(Lc(j)){let ue=yu(j,te);if(ue.result===\"error\")throw new Error(ue.value.map(ve=>`${ve.key}: ${ve.message}`).join(\", \"));return ue.value}{let ue=j;return te.type===\"color\"&&typeof j==\"string\"?ue=Zt.parse(j):te.type!==\"padding\"||typeof j!=\"number\"&&!Array.isArray(j)?te.type===\"variableAnchorOffsetCollection\"&&Array.isArray(j)&&(ue=Si.parse(j)):ue=Vr.parse(j),{kind:\"constant\",evaluate:()=>ue}}}(D===void 0?S.specification.default:D,S.specification)}isDataDriven(){return this.expression.kind===\"source\"||this.expression.kind===\"composite\"}possiblyEvaluate(S,D,j){return this.property.possiblyEvaluate(this,S,D,j)}}class Ru{constructor(S){this.property=S,this.value=new nu(S,void 0)}transitioned(S,D){return new mf(this.property,this.value,D,L({},S.transition,this.transition),S.now)}untransitioned(){return new mf(this.property,this.value,null,{},0)}}class ac{constructor(S){this._properties=S,this._values=Object.create(S.defaultTransitionablePropertyValues)}getValue(S){return g(this._values[S].value.value)}setValue(S,D){Object.prototype.hasOwnProperty.call(this._values,S)||(this._values[S]=new Ru(this._values[S].property)),this._values[S].value=new nu(this._values[S].property,D===null?void 0:g(D))}getTransition(S){return g(this._values[S].transition)}setTransition(S,D){Object.prototype.hasOwnProperty.call(this._values,S)||(this._values[S]=new Ru(this._values[S].property)),this._values[S].transition=g(D)||void 0}serialize(){let S={};for(let D of Object.keys(this._values)){let j=this.getValue(D);j!==void 0&&(S[D]=j);let te=this.getTransition(D);te!==void 0&&(S[`${D}-transition`]=te)}return S}transitioned(S,D){let j=new bu(this._properties);for(let te of Object.keys(this._values))j._values[te]=this._values[te].transitioned(S,D._values[te]);return j}untransitioned(){let S=new bu(this._properties);for(let D of Object.keys(this._values))S._values[D]=this._values[D].untransitioned();return S}}class mf{constructor(S,D,j,te,ue){this.property=S,this.value=D,this.begin=ue+te.delay||0,this.end=this.begin+te.duration||0,S.specification.transition&&(te.delay||te.duration)&&(this.prior=j)}possiblyEvaluate(S,D,j){let te=S.now||0,ue=this.value.possiblyEvaluate(S,D,j),ve=this.prior;if(ve){if(te>this.end)return this.prior=null,ue;if(this.value.isDataDriven())return this.prior=null,ue;if(te<this.begin)return ve.possiblyEvaluate(S,D,j);{let De=(te-this.begin)/(this.end-this.begin);return this.property.interpolate(ve.possiblyEvaluate(S,D,j),ue,function(Ze){if(Ze<=0)return 0;if(Ze>=1)return 1;let at=Ze*Ze,Tt=at*Ze;return 4*(Ze<.5?Tt:3*(Ze-at)+Tt-.75)}(De))}}return ue}}class bu{constructor(S){this._properties=S,this._values=Object.create(S.defaultTransitioningPropertyValues)}possiblyEvaluate(S,D,j){let te=new Dc(this._properties);for(let ue of Object.keys(this._values))te._values[ue]=this._values[ue].possiblyEvaluate(S,D,j);return te}hasTransition(){for(let S of Object.keys(this._values))if(this._values[S].prior)return!0;return!1}}class Kc{constructor(S){this._properties=S,this._values=Object.create(S.defaultPropertyValues)}hasValue(S){return this._values[S].value!==void 0}getValue(S){return g(this._values[S].value)}setValue(S,D){this._values[S]=new nu(this._values[S].property,D===null?void 0:g(D))}serialize(){let S={};for(let D of Object.keys(this._values)){let j=this.getValue(D);j!==void 0&&(S[D]=j)}return S}possiblyEvaluate(S,D,j){let te=new Dc(this._properties);for(let ue of Object.keys(this._values))te._values[ue]=this._values[ue].possiblyEvaluate(S,D,j);return te}}class Du{constructor(S,D,j){this.property=S,this.value=D,this.parameters=j}isConstant(){return this.value.kind===\"constant\"}constantOr(S){return this.value.kind===\"constant\"?this.value.value:S}evaluate(S,D,j,te){return this.property.evaluate(this.value,this.parameters,S,D,j,te)}}class Dc{constructor(S){this._properties=S,this._values=Object.create(S.defaultPossiblyEvaluatedValues)}get(S){return this._values[S]}}class Da{constructor(S){this.specification=S}possiblyEvaluate(S,D){if(S.isDataDriven())throw new Error(\"Value should not be data driven\");return S.expression.evaluate(D)}interpolate(S,D,j){let te=Mo[this.specification.type];return te?te(S,D,j):S}}class eo{constructor(S,D){this.specification=S,this.overrides=D}possiblyEvaluate(S,D,j,te){return new Du(this,S.expression.kind===\"constant\"||S.expression.kind===\"camera\"?{kind:\"constant\",value:S.expression.evaluate(D,null,{},j,te)}:S.expression,D)}interpolate(S,D,j){if(S.value.kind!==\"constant\"||D.value.kind!==\"constant\")return S;if(S.value.value===void 0||D.value.value===void 0)return new Du(this,{kind:\"constant\",value:void 0},S.parameters);let te=Mo[this.specification.type];if(te){let ue=te(S.value.value,D.value.value,j);return new Du(this,{kind:\"constant\",value:ue},S.parameters)}return S}evaluate(S,D,j,te,ue,ve){return S.kind===\"constant\"?S.value:S.evaluate(D,j,te,ue,ve)}}class Jc extends eo{possiblyEvaluate(S,D,j,te){if(S.value===void 0)return new Du(this,{kind:\"constant\",value:void 0},D);if(S.expression.kind===\"constant\"){let ue=S.expression.evaluate(D,null,{},j,te),ve=S.property.specification.type===\"resolvedImage\"&&typeof ue!=\"string\"?ue.name:ue,De=this._calculate(ve,ve,ve,D);return new Du(this,{kind:\"constant\",value:De},D)}if(S.expression.kind===\"camera\"){let ue=this._calculate(S.expression.evaluate({zoom:D.zoom-1}),S.expression.evaluate({zoom:D.zoom}),S.expression.evaluate({zoom:D.zoom+1}),D);return new Du(this,{kind:\"constant\",value:ue},D)}return new Du(this,S.expression,D)}evaluate(S,D,j,te,ue,ve){if(S.kind===\"source\"){let De=S.evaluate(D,j,te,ue,ve);return this._calculate(De,De,De,D)}return S.kind===\"composite\"?this._calculate(S.evaluate({zoom:Math.floor(D.zoom)-1},j,te),S.evaluate({zoom:Math.floor(D.zoom)},j,te),S.evaluate({zoom:Math.floor(D.zoom)+1},j,te),D):S.value}_calculate(S,D,j,te){return te.zoom>te.zoomHistory.lastIntegerZoom?{from:S,to:D}:{from:j,to:D}}interpolate(S){return S}}class yc{constructor(S){this.specification=S}possiblyEvaluate(S,D,j,te){if(S.value!==void 0){if(S.expression.kind===\"constant\"){let ue=S.expression.evaluate(D,null,{},j,te);return this._calculate(ue,ue,ue,D)}return this._calculate(S.expression.evaluate(new Ko(Math.floor(D.zoom-1),D)),S.expression.evaluate(new Ko(Math.floor(D.zoom),D)),S.expression.evaluate(new Ko(Math.floor(D.zoom+1),D)),D)}}_calculate(S,D,j,te){return te.zoom>te.zoomHistory.lastIntegerZoom?{from:S,to:D}:{from:j,to:D}}interpolate(S){return S}}class _c{constructor(S){this.specification=S}possiblyEvaluate(S,D,j,te){return!!S.expression.evaluate(D,null,{},j,te)}interpolate(){return!1}}class le{constructor(S){this.properties=S,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let D in S){let j=S[D];j.specification.overridable&&this.overridableProperties.push(D);let te=this.defaultPropertyValues[D]=new nu(j,void 0),ue=this.defaultTransitionablePropertyValues[D]=new Ru(j);this.defaultTransitioningPropertyValues[D]=ue.untransitioned(),this.defaultPossiblyEvaluatedValues[D]=te.possiblyEvaluate({})}}}mi(\"DataDrivenProperty\",eo),mi(\"DataConstantProperty\",Da),mi(\"CrossFadedDataDrivenProperty\",Jc),mi(\"CrossFadedProperty\",yc),mi(\"ColorRampProperty\",_c);let w=\"-transition\";class B extends Re{constructor(S,D){if(super(),this.id=S.id,this.type=S.type,this._featureFilter={filter:()=>!0,needGeometry:!1},S.type!==\"custom\"&&(this.metadata=S.metadata,this.minzoom=S.minzoom,this.maxzoom=S.maxzoom,S.type!==\"background\"&&(this.source=S.source,this.sourceLayer=S[\"source-layer\"],this.filter=S.filter),D.layout&&(this._unevaluatedLayout=new Kc(D.layout)),D.paint)){this._transitionablePaint=new ac(D.paint);for(let j in S.paint)this.setPaintProperty(j,S.paint[j],{validate:!1});for(let j in S.layout)this.setLayoutProperty(j,S.layout[j],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Dc(D.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(S){return S===\"visibility\"?this.visibility:this._unevaluatedLayout.getValue(S)}setLayoutProperty(S,D,j={}){D!=null&&this._validate(hn,`layers.${this.id}.layout.${S}`,S,D,j)||(S!==\"visibility\"?this._unevaluatedLayout.setValue(S,D):this.visibility=D)}getPaintProperty(S){return S.endsWith(w)?this._transitionablePaint.getTransition(S.slice(0,-11)):this._transitionablePaint.getValue(S)}setPaintProperty(S,D,j={}){if(D!=null&&this._validate(Xi,`layers.${this.id}.paint.${S}`,S,D,j))return!1;if(S.endsWith(w))return this._transitionablePaint.setTransition(S.slice(0,-11),D||void 0),!1;{let te=this._transitionablePaint._values[S],ue=te.property.specification[\"property-type\"]===\"cross-faded-data-driven\",ve=te.value.isDataDriven(),De=te.value;this._transitionablePaint.setValue(S,D),this._handleSpecialPaintPropertyUpdate(S);let Ze=this._transitionablePaint._values[S].value;return Ze.isDataDriven()||ve||ue||this._handleOverridablePaintPropertyUpdate(S,De,Ze)}}_handleSpecialPaintPropertyUpdate(S){}_handleOverridablePaintPropertyUpdate(S,D,j){return!1}isHidden(S){return!!(this.minzoom&&S<this.minzoom)||!!(this.maxzoom&&S>=this.maxzoom)||this.visibility===\"none\"}updateTransitions(S){this._transitioningPaint=this._transitionablePaint.transitioned(S,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(S,D){S.getCrossfadeParameters&&(this._crossfadeParameters=S.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(S,void 0,D)),this.paint=this._transitioningPaint.possiblyEvaluate(S,void 0,D)}serialize(){let S={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&&(S.layout=S.layout||{},S.layout.visibility=this.visibility),M(S,(D,j)=>!(D===void 0||j===\"layout\"&&!Object.keys(D).length||j===\"paint\"&&!Object.keys(D).length))}_validate(S,D,j,te,ue={}){return(!ue||ue.validate!==!1)&&Ti(this,S.call(fi,{key:D,layerType:this.type,objectKey:j,value:te,styleSpec:ce,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let S in this.paint._values){let D=this.paint.get(S);if(D instanceof Du&&Cu(D.property.specification)&&(D.value.kind===\"source\"||D.value.kind===\"composite\")&&D.value.isStateDependent)return!0}return!1}}let Q={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class ee{constructor(S,D){this._structArray=S,this._pos1=D*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class se{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(S,D){return S._trim(),D&&(S.isTransferred=!0,D.push(S.arrayBuffer)),{length:S.length,arrayBuffer:S.arrayBuffer}}static deserialize(S){let D=Object.create(this.prototype);return D.arrayBuffer=S.arrayBuffer,D.length=S.length,D.capacity=S.arrayBuffer.byteLength/D.bytesPerElement,D._refreshViews(),D}_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(S){this.reserve(S),this.length=S}reserve(S){if(S>this.capacity){this.capacity=Math.max(S,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let D=this.uint8;this._refreshViews(),D&&this.uint8.set(D)}}_refreshViews(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")}}function qe(R,S=1){let D=0,j=0;return{members:R.map(te=>{let ue=Q[te.type].BYTES_PER_ELEMENT,ve=D=je(D,Math.max(S,ue)),De=te.components||1;return j=Math.max(j,ue),D+=ue*De,{name:te.name,type:te.type,components:De,offset:ve}}),size:je(D,Math.max(j,S)),alignment:S}}function je(R,S){return Math.ceil(R/S)*S}class it extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D){let j=this.length;return this.resize(j+1),this.emplace(j,S,D)}emplace(S,D,j){let te=2*S;return this.int16[te+0]=D,this.int16[te+1]=j,S}}it.prototype.bytesPerElement=4,mi(\"StructArrayLayout2i4\",it);class yt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.int16[ue+0]=D,this.int16[ue+1]=j,this.int16[ue+2]=te,S}}yt.prototype.bytesPerElement=6,mi(\"StructArrayLayout3i6\",yt);class Ot extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te){let ue=this.length;return this.resize(ue+1),this.emplace(ue,S,D,j,te)}emplace(S,D,j,te,ue){let ve=4*S;return this.int16[ve+0]=D,this.int16[ve+1]=j,this.int16[ve+2]=te,this.int16[ve+3]=ue,S}}Ot.prototype.bytesPerElement=8,mi(\"StructArrayLayout4i8\",Ot);class Nt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=6*S;return this.int16[Ze+0]=D,this.int16[Ze+1]=j,this.int16[Ze+2]=te,this.int16[Ze+3]=ue,this.int16[Ze+4]=ve,this.int16[Ze+5]=De,S}}Nt.prototype.bytesPerElement=12,mi(\"StructArrayLayout2i4i12\",Nt);class hr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=4*S,at=8*S;return this.int16[Ze+0]=D,this.int16[Ze+1]=j,this.uint8[at+4]=te,this.uint8[at+5]=ue,this.uint8[at+6]=ve,this.uint8[at+7]=De,S}}hr.prototype.bytesPerElement=8,mi(\"StructArrayLayout2i4ub8\",hr);class Sr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D){let j=this.length;return this.resize(j+1),this.emplace(j,S,D)}emplace(S,D,j){let te=2*S;return this.float32[te+0]=D,this.float32[te+1]=j,S}}Sr.prototype.bytesPerElement=8,mi(\"StructArrayLayout2f8\",Sr);class he extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve,De,Ze,at,Tt){let Ft=this.length;return this.resize(Ft+1),this.emplace(Ft,S,D,j,te,ue,ve,De,Ze,at,Tt)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft){let Qt=10*S;return this.uint16[Qt+0]=D,this.uint16[Qt+1]=j,this.uint16[Qt+2]=te,this.uint16[Qt+3]=ue,this.uint16[Qt+4]=ve,this.uint16[Qt+5]=De,this.uint16[Qt+6]=Ze,this.uint16[Qt+7]=at,this.uint16[Qt+8]=Tt,this.uint16[Qt+9]=Ft,S}}he.prototype.bytesPerElement=20,mi(\"StructArrayLayout10ui20\",he);class be extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt){let sr=this.length;return this.resize(sr+1),this.emplace(sr,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr){let Tr=12*S;return this.int16[Tr+0]=D,this.int16[Tr+1]=j,this.int16[Tr+2]=te,this.int16[Tr+3]=ue,this.uint16[Tr+4]=ve,this.uint16[Tr+5]=De,this.uint16[Tr+6]=Ze,this.uint16[Tr+7]=at,this.int16[Tr+8]=Tt,this.int16[Tr+9]=Ft,this.int16[Tr+10]=Qt,this.int16[Tr+11]=sr,S}}be.prototype.bytesPerElement=24,mi(\"StructArrayLayout4i4ui4i24\",be);class Pe extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.float32[ue+0]=D,this.float32[ue+1]=j,this.float32[ue+2]=te,S}}Pe.prototype.bytesPerElement=12,mi(\"StructArrayLayout3f12\",Pe);class Oe extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(S){let D=this.length;return this.resize(D+1),this.emplace(D,S)}emplace(S,D){return this.uint32[1*S+0]=D,S}}Oe.prototype.bytesPerElement=4,mi(\"StructArrayLayout1ul4\",Oe);class Je extends se{_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(S,D,j,te,ue,ve,De,Ze,at){let Tt=this.length;return this.resize(Tt+1),this.emplace(Tt,S,D,j,te,ue,ve,De,Ze,at)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt){let Ft=10*S,Qt=5*S;return this.int16[Ft+0]=D,this.int16[Ft+1]=j,this.int16[Ft+2]=te,this.int16[Ft+3]=ue,this.int16[Ft+4]=ve,this.int16[Ft+5]=De,this.uint32[Qt+3]=Ze,this.uint16[Ft+8]=at,this.uint16[Ft+9]=Tt,S}}Je.prototype.bytesPerElement=20,mi(\"StructArrayLayout6i1ul2ui20\",Je);class He extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=6*S;return this.int16[Ze+0]=D,this.int16[Ze+1]=j,this.int16[Ze+2]=te,this.int16[Ze+3]=ue,this.int16[Ze+4]=ve,this.int16[Ze+5]=De,S}}He.prototype.bytesPerElement=12,mi(\"StructArrayLayout2i2i2i12\",He);class et extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue){let ve=this.length;return this.resize(ve+1),this.emplace(ve,S,D,j,te,ue)}emplace(S,D,j,te,ue,ve){let De=4*S,Ze=8*S;return this.float32[De+0]=D,this.float32[De+1]=j,this.float32[De+2]=te,this.int16[Ze+6]=ue,this.int16[Ze+7]=ve,S}}et.prototype.bytesPerElement=16,mi(\"StructArrayLayout2f1f2i16\",et);class Mt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=16*S,at=4*S,Tt=8*S;return this.uint8[Ze+0]=D,this.uint8[Ze+1]=j,this.float32[at+1]=te,this.float32[at+2]=ue,this.int16[Tt+6]=ve,this.int16[Tt+7]=De,S}}Mt.prototype.bytesPerElement=16,mi(\"StructArrayLayout2ub2f2i16\",Mt);class Dt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.uint16[ue+0]=D,this.uint16[ue+1]=j,this.uint16[ue+2]=te,S}}Dt.prototype.bytesPerElement=6,mi(\"StructArrayLayout3ui6\",Dt);class Ut extends se{_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(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni){let Di=this.length;return this.resize(Di+1),this.emplace(Di,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di){let pi=24*S,ki=12*S,Zi=48*S;return this.int16[pi+0]=D,this.int16[pi+1]=j,this.uint16[pi+2]=te,this.uint16[pi+3]=ue,this.uint32[ki+2]=ve,this.uint32[ki+3]=De,this.uint32[ki+4]=Ze,this.uint16[pi+10]=at,this.uint16[pi+11]=Tt,this.uint16[pi+12]=Ft,this.float32[ki+7]=Qt,this.float32[ki+8]=sr,this.uint8[Zi+36]=Tr,this.uint8[Zi+37]=Pr,this.uint8[Zi+38]=$r,this.uint32[ki+10]=ni,this.int16[pi+22]=Di,S}}Ut.prototype.bytesPerElement=48,mi(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",Ut);class tr extends se{_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(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di,pi,ki,Zi,ta,Va,Io,La,Hn,lo,$a){let Xa=this.length;return this.resize(Xa+1),this.emplace(Xa,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di,pi,ki,Zi,ta,Va,Io,La,Hn,lo,$a)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di,pi,ki,Zi,ta,Va,Io,La,Hn,lo,$a,Xa){let Tn=32*S,bo=16*S;return this.int16[Tn+0]=D,this.int16[Tn+1]=j,this.int16[Tn+2]=te,this.int16[Tn+3]=ue,this.int16[Tn+4]=ve,this.int16[Tn+5]=De,this.int16[Tn+6]=Ze,this.int16[Tn+7]=at,this.uint16[Tn+8]=Tt,this.uint16[Tn+9]=Ft,this.uint16[Tn+10]=Qt,this.uint16[Tn+11]=sr,this.uint16[Tn+12]=Tr,this.uint16[Tn+13]=Pr,this.uint16[Tn+14]=$r,this.uint16[Tn+15]=ni,this.uint16[Tn+16]=Di,this.uint16[Tn+17]=pi,this.uint16[Tn+18]=ki,this.uint16[Tn+19]=Zi,this.uint16[Tn+20]=ta,this.uint16[Tn+21]=Va,this.uint16[Tn+22]=Io,this.uint32[bo+12]=La,this.float32[bo+13]=Hn,this.float32[bo+14]=lo,this.uint16[Tn+30]=$a,this.uint16[Tn+31]=Xa,S}}tr.prototype.bytesPerElement=64,mi(\"StructArrayLayout8i15ui1ul2f2ui64\",tr);class mr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S){let D=this.length;return this.resize(D+1),this.emplace(D,S)}emplace(S,D){return this.float32[1*S+0]=D,S}}mr.prototype.bytesPerElement=4,mi(\"StructArrayLayout1f4\",mr);class Rr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.uint16[6*S+0]=D,this.float32[ue+1]=j,this.float32[ue+2]=te,S}}Rr.prototype.bytesPerElement=12,mi(\"StructArrayLayout1ui2f12\",Rr);class zr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=4*S;return this.uint32[2*S+0]=D,this.uint16[ue+2]=j,this.uint16[ue+3]=te,S}}zr.prototype.bytesPerElement=8,mi(\"StructArrayLayout1ul2ui8\",zr);class Xr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D){let j=this.length;return this.resize(j+1),this.emplace(j,S,D)}emplace(S,D,j){let te=2*S;return this.uint16[te+0]=D,this.uint16[te+1]=j,S}}Xr.prototype.bytesPerElement=4,mi(\"StructArrayLayout2ui4\",Xr);class di extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S){let D=this.length;return this.resize(D+1),this.emplace(D,S)}emplace(S,D){return this.uint16[1*S+0]=D,S}}di.prototype.bytesPerElement=2,mi(\"StructArrayLayout1ui2\",di);class Li extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j,te){let ue=this.length;return this.resize(ue+1),this.emplace(ue,S,D,j,te)}emplace(S,D,j,te,ue){let ve=4*S;return this.float32[ve+0]=D,this.float32[ve+1]=j,this.float32[ve+2]=te,this.float32[ve+3]=ue,S}}Li.prototype.bytesPerElement=16,mi(\"StructArrayLayout4f16\",Li);class Ci extends ee{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 u(this.anchorPointX,this.anchorPointY)}}Ci.prototype.size=20;class Qi extends Je{get(S){return new Ci(this,S)}}mi(\"CollisionBoxArray\",Qi);class Mn extends ee{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(S){this._structArray.uint8[this._pos1+37]=S}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(S){this._structArray.uint8[this._pos1+38]=S}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(S){this._structArray.uint32[this._pos4+10]=S}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Mn.prototype.size=48;class pa extends Ut{get(S){return new Mn(this,S)}}mi(\"PlacedSymbolArray\",pa);class ea extends ee{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(S){this._structArray.uint32[this._pos4+12]=S}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]}}ea.prototype.size=64;class Ga extends tr{get(S){return new ea(this,S)}}mi(\"SymbolInstanceArray\",Ga);class To extends mr{getoffsetX(S){return this.float32[1*S+0]}}mi(\"GlyphOffsetArray\",To);class Wa extends yt{getx(S){return this.int16[3*S+0]}gety(S){return this.int16[3*S+1]}gettileUnitDistanceFromAnchor(S){return this.int16[3*S+2]}}mi(\"SymbolLineVertexArray\",Wa);class co extends ee{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]}}co.prototype.size=12;class Ro extends Rr{get(S){return new co(this,S)}}mi(\"TextAnchorOffsetArray\",Ro);class Ds extends ee{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]}}Ds.prototype.size=8;class As extends zr{get(S){return new Ds(this,S)}}mi(\"FeatureIndexArray\",As);class yo extends it{}class po extends it{}class _l extends it{}class Hl extends Nt{}class Zu extends hr{}class cu extends Sr{}class el extends he{}class au extends be{}class zc extends Pe{}class zl extends Oe{}class Fl extends He{}class Z extends Mt{}class oe extends Dt{}class we extends Xr{}let Be=qe([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:Ue}=Be;class We{constructor(S=[]){this.segments=S}prepareSegment(S,D,j,te){let ue=this.segments[this.segments.length-1];return S>We.MAX_VERTEX_ARRAY_LENGTH&&T(`Max vertices per segment is ${We.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${S}`),(!ue||ue.vertexLength+S>We.MAX_VERTEX_ARRAY_LENGTH||ue.sortKey!==te)&&(ue={vertexOffset:D.length,primitiveOffset:j.length,vertexLength:0,primitiveLength:0},te!==void 0&&(ue.sortKey=te),this.segments.push(ue)),ue}get(){return this.segments}destroy(){for(let S of this.segments)for(let D in S.vaos)S.vaos[D].destroy()}static simpleSegment(S,D,j,te){return new We([{vertexOffset:S,primitiveOffset:D,vertexLength:j,primitiveLength:te,vaos:{},sortKey:0}])}}function wt(R,S){return 256*(R=k(Math.floor(R),0,255))+k(Math.floor(S),0,255)}We.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,mi(\"SegmentVector\",We);let tt=qe([{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 zt={exports:{}},or={exports:{}};or.exports=function(R,S){var D,j,te,ue,ve,De,Ze,at;for(j=R.length-(D=3&R.length),te=S,ve=3432918353,De=461845907,at=0;at<j;)Ze=255&R.charCodeAt(at)|(255&R.charCodeAt(++at))<<8|(255&R.charCodeAt(++at))<<16|(255&R.charCodeAt(++at))<<24,++at,te=27492+(65535&(ue=5*(65535&(te=(te^=Ze=(65535&(Ze=(Ze=(65535&Ze)*ve+(((Ze>>>16)*ve&65535)<<16)&4294967295)<<15|Ze>>>17))*De+(((Ze>>>16)*De&65535)<<16)&4294967295)<<13|te>>>19))+((5*(te>>>16)&65535)<<16)&4294967295))+((58964+(ue>>>16)&65535)<<16);switch(Ze=0,D){case 3:Ze^=(255&R.charCodeAt(at+2))<<16;case 2:Ze^=(255&R.charCodeAt(at+1))<<8;case 1:te^=Ze=(65535&(Ze=(Ze=(65535&(Ze^=255&R.charCodeAt(at)))*ve+(((Ze>>>16)*ve&65535)<<16)&4294967295)<<15|Ze>>>17))*De+(((Ze>>>16)*De&65535)<<16)&4294967295}return te^=R.length,te=2246822507*(65535&(te^=te>>>16))+((2246822507*(te>>>16)&65535)<<16)&4294967295,te=3266489909*(65535&(te^=te>>>13))+((3266489909*(te>>>16)&65535)<<16)&4294967295,(te^=te>>>16)>>>0};var lr=or.exports,Dr={exports:{}};Dr.exports=function(R,S){for(var D,j=R.length,te=S^j,ue=0;j>=4;)D=1540483477*(65535&(D=255&R.charCodeAt(ue)|(255&R.charCodeAt(++ue))<<8|(255&R.charCodeAt(++ue))<<16|(255&R.charCodeAt(++ue))<<24))+((1540483477*(D>>>16)&65535)<<16),te=1540483477*(65535&te)+((1540483477*(te>>>16)&65535)<<16)^(D=1540483477*(65535&(D^=D>>>24))+((1540483477*(D>>>16)&65535)<<16)),j-=4,++ue;switch(j){case 3:te^=(255&R.charCodeAt(ue+2))<<16;case 2:te^=(255&R.charCodeAt(ue+1))<<8;case 1:te=1540483477*(65535&(te^=255&R.charCodeAt(ue)))+((1540483477*(te>>>16)&65535)<<16)}return te=1540483477*(65535&(te^=te>>>13))+((1540483477*(te>>>16)&65535)<<16),(te^=te>>>15)>>>0};var Ir=lr,oi=Dr.exports;zt.exports=Ir,zt.exports.murmur3=Ir,zt.exports.murmur2=oi;var ui=o(zt.exports);class qr{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(S,D,j,te){this.ids.push(Kr(S)),this.positions.push(D,j,te)}getPositions(S){if(!this.indexed)throw new Error(\"Trying to get index, but feature positions are not indexed\");let D=Kr(S),j=0,te=this.ids.length-1;for(;j<te;){let ve=j+te>>1;this.ids[ve]>=D?te=ve:j=ve+1}let ue=[];for(;this.ids[j]===D;)ue.push({index:this.positions[3*j],start:this.positions[3*j+1],end:this.positions[3*j+2]}),j++;return ue}static serialize(S,D){let j=new Float64Array(S.ids),te=new Uint32Array(S.positions);return ii(j,te,0,j.length-1),D&&D.push(j.buffer,te.buffer),{ids:j,positions:te}}static deserialize(S){let D=new qr;return D.ids=S.ids,D.positions=S.positions,D.indexed=!0,D}}function Kr(R){let S=+R;return!isNaN(S)&&S<=Number.MAX_SAFE_INTEGER?S:ui(String(R))}function ii(R,S,D,j){for(;D<j;){let te=R[D+j>>1],ue=D-1,ve=j+1;for(;;){do ue++;while(R[ue]<te);do ve--;while(R[ve]>te);if(ue>=ve)break;vi(R,ue,ve),vi(S,3*ue,3*ve),vi(S,3*ue+1,3*ve+1),vi(S,3*ue+2,3*ve+2)}ve-D<j-ve?(ii(R,S,D,ve),D=ve+1):(ii(R,S,ve+1,j),j=ve)}}function vi(R,S,D){let j=R[S];R[S]=R[D],R[D]=j}mi(\"FeaturePositionMap\",qr);class ci{constructor(S,D){this.gl=S.gl,this.location=D}}class Jr extends ci{constructor(S,D){super(S,D),this.current=0}set(S){this.current!==S&&(this.current=S,this.gl.uniform1f(this.location,S))}}class un extends ci{constructor(S,D){super(S,D),this.current=[0,0,0,0]}set(S){S[0]===this.current[0]&&S[1]===this.current[1]&&S[2]===this.current[2]&&S[3]===this.current[3]||(this.current=S,this.gl.uniform4f(this.location,S[0],S[1],S[2],S[3]))}}class dn extends ci{constructor(S,D){super(S,D),this.current=Zt.transparent}set(S){S.r===this.current.r&&S.g===this.current.g&&S.b===this.current.b&&S.a===this.current.a||(this.current=S,this.gl.uniform4f(this.location,S.r,S.g,S.b,S.a))}}let En=new Float32Array(16);function Nn(R){return[wt(255*R.r,255*R.g),wt(255*R.b,255*R.a)]}class ga{constructor(S,D,j){this.value=S,this.uniformNames=D.map(te=>`u_${te}`),this.type=j}setUniform(S,D,j){S.set(j.constantOr(this.value))}getBinding(S,D,j){return this.type===\"color\"?new dn(S,D):new Jr(S,D)}}class ya{constructor(S,D){this.uniformNames=D.map(j=>`u_${j}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(S,D){this.pixelRatioFrom=D.pixelRatio,this.pixelRatioTo=S.pixelRatio,this.patternFrom=D.tlbr,this.patternTo=S.tlbr}setUniform(S,D,j,te){let ue=te===\"u_pattern_to\"?this.patternTo:te===\"u_pattern_from\"?this.patternFrom:te===\"u_pixel_ratio_to\"?this.pixelRatioTo:te===\"u_pixel_ratio_from\"?this.pixelRatioFrom:null;ue&&S.set(ue)}getBinding(S,D,j){return j.substr(0,9)===\"u_pattern\"?new un(S,D):new Jr(S,D)}}class so{constructor(S,D,j,te){this.expression=S,this.type=j,this.maxValue=0,this.paintVertexAttributes=D.map(ue=>({name:`a_${ue}`,type:\"Float32\",components:j===\"color\"?2:1,offset:0})),this.paintVertexArray=new te}populatePaintArray(S,D,j,te,ue){let ve=this.paintVertexArray.length,De=this.expression.evaluate(new Ko(0),D,{},te,[],ue);this.paintVertexArray.resize(S),this._setPaintValue(ve,S,De)}updatePaintArray(S,D,j,te){let ue=this.expression.evaluate({zoom:0},j,te);this._setPaintValue(S,D,ue)}_setPaintValue(S,D,j){if(this.type===\"color\"){let te=Nn(j);for(let ue=S;ue<D;ue++)this.paintVertexArray.emplace(ue,te[0],te[1])}else{for(let te=S;te<D;te++)this.paintVertexArray.emplace(te,j);this.maxValue=Math.max(this.maxValue,Math.abs(j))}}upload(S){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=S.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}}class wa{constructor(S,D,j,te,ue,ve){this.expression=S,this.uniformNames=D.map(De=>`u_${De}_t`),this.type=j,this.useIntegerZoom=te,this.zoom=ue,this.maxValue=0,this.paintVertexAttributes=D.map(De=>({name:`a_${De}`,type:\"Float32\",components:j===\"color\"?4:2,offset:0})),this.paintVertexArray=new ve}populatePaintArray(S,D,j,te,ue){let ve=this.expression.evaluate(new Ko(this.zoom),D,{},te,[],ue),De=this.expression.evaluate(new Ko(this.zoom+1),D,{},te,[],ue),Ze=this.paintVertexArray.length;this.paintVertexArray.resize(S),this._setPaintValue(Ze,S,ve,De)}updatePaintArray(S,D,j,te){let ue=this.expression.evaluate({zoom:this.zoom},j,te),ve=this.expression.evaluate({zoom:this.zoom+1},j,te);this._setPaintValue(S,D,ue,ve)}_setPaintValue(S,D,j,te){if(this.type===\"color\"){let ue=Nn(j),ve=Nn(te);for(let De=S;De<D;De++)this.paintVertexArray.emplace(De,ue[0],ue[1],ve[0],ve[1])}else{for(let ue=S;ue<D;ue++)this.paintVertexArray.emplace(ue,j,te);this.maxValue=Math.max(this.maxValue,Math.abs(j),Math.abs(te))}}upload(S){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=S.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}setUniform(S,D){let j=this.useIntegerZoom?Math.floor(D.zoom):D.zoom,te=k(this.expression.interpolationFactor(j,this.zoom,this.zoom+1),0,1);S.set(te)}getBinding(S,D,j){return new Jr(S,D)}}class io{constructor(S,D,j,te,ue,ve){this.expression=S,this.type=D,this.useIntegerZoom=j,this.zoom=te,this.layerId=ve,this.zoomInPaintVertexArray=new ue,this.zoomOutPaintVertexArray=new ue}populatePaintArray(S,D,j){let te=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(S),this.zoomOutPaintVertexArray.resize(S),this._setPaintValues(te,S,D.patterns&&D.patterns[this.layerId],j)}updatePaintArray(S,D,j,te,ue){this._setPaintValues(S,D,j.patterns&&j.patterns[this.layerId],ue)}_setPaintValues(S,D,j,te){if(!te||!j)return;let{min:ue,mid:ve,max:De}=j,Ze=te[ue],at=te[ve],Tt=te[De];if(Ze&&at&&Tt)for(let Ft=S;Ft<D;Ft++)this.zoomInPaintVertexArray.emplace(Ft,at.tl[0],at.tl[1],at.br[0],at.br[1],Ze.tl[0],Ze.tl[1],Ze.br[0],Ze.br[1],at.pixelRatio,Ze.pixelRatio),this.zoomOutPaintVertexArray.emplace(Ft,at.tl[0],at.tl[1],at.br[0],at.br[1],Tt.tl[0],Tt.tl[1],Tt.br[0],Tt.br[1],at.pixelRatio,Tt.pixelRatio)}upload(S){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=S.createVertexBuffer(this.zoomInPaintVertexArray,tt.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=S.createVertexBuffer(this.zoomOutPaintVertexArray,tt.members,this.expression.isStateDependent))}destroy(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()}}class Ss{constructor(S,D,j){this.binders={},this._buffers=[];let te=[];for(let ue in S.paint._values){if(!j(ue))continue;let ve=S.paint.get(ue);if(!(ve instanceof Du&&Cu(ve.property.specification)))continue;let De=Ns(ue,S.type),Ze=ve.value,at=ve.property.specification.type,Tt=ve.property.useIntegerZoom,Ft=ve.property.specification[\"property-type\"],Qt=Ft===\"cross-faded\"||Ft===\"cross-faded-data-driven\";if(Ze.kind===\"constant\")this.binders[ue]=Qt?new ya(Ze.value,De):new ga(Ze.value,De,at),te.push(`/u_${ue}`);else if(Ze.kind===\"source\"||Qt){let sr=pn(ue,at,\"source\");this.binders[ue]=Qt?new io(Ze,at,Tt,D,sr,S.id):new so(Ze,De,at,sr),te.push(`/a_${ue}`)}else{let sr=pn(ue,at,\"composite\");this.binders[ue]=new wa(Ze,De,at,Tt,D,sr),te.push(`/z_${ue}`)}}this.cacheKey=te.sort().join(\"\")}getMaxValue(S){let D=this.binders[S];return D instanceof so||D instanceof wa?D.maxValue:0}populatePaintArrays(S,D,j,te,ue){for(let ve in this.binders){let De=this.binders[ve];(De instanceof so||De instanceof wa||De instanceof io)&&De.populatePaintArray(S,D,j,te,ue)}}setConstantPatternPositions(S,D){for(let j in this.binders){let te=this.binders[j];te instanceof ya&&te.setConstantPatternPositions(S,D)}}updatePaintArrays(S,D,j,te,ue){let ve=!1;for(let De in S){let Ze=D.getPositions(De);for(let at of Ze){let Tt=j.feature(at.index);for(let Ft in this.binders){let Qt=this.binders[Ft];if((Qt instanceof so||Qt instanceof wa||Qt instanceof io)&&Qt.expression.isStateDependent===!0){let sr=te.paint.get(Ft);Qt.expression=sr.value,Qt.updatePaintArray(at.start,at.end,Tt,S[De],ue),ve=!0}}}}return ve}defines(){let S=[];for(let D in this.binders){let j=this.binders[D];(j instanceof ga||j instanceof ya)&&S.push(...j.uniformNames.map(te=>`#define HAS_UNIFORM_${te}`))}return S}getBinderAttributes(){let S=[];for(let D in this.binders){let j=this.binders[D];if(j instanceof so||j instanceof wa)for(let te=0;te<j.paintVertexAttributes.length;te++)S.push(j.paintVertexAttributes[te].name);else if(j instanceof io)for(let te=0;te<tt.members.length;te++)S.push(tt.members[te].name)}return S}getBinderUniforms(){let S=[];for(let D in this.binders){let j=this.binders[D];if(j instanceof ga||j instanceof ya||j instanceof wa)for(let te of j.uniformNames)S.push(te)}return S}getPaintVertexBuffers(){return this._buffers}getUniforms(S,D){let j=[];for(let te in this.binders){let ue=this.binders[te];if(ue instanceof ga||ue instanceof ya||ue instanceof wa){for(let ve of ue.uniformNames)if(D[ve]){let De=ue.getBinding(S,D[ve],ve);j.push({name:ve,property:te,binding:De})}}}return j}setUniforms(S,D,j,te){for(let{name:ue,property:ve,binding:De}of D)this.binders[ve].setUniform(De,te,j.get(ve),ue)}updatePaintBuffers(S){this._buffers=[];for(let D in this.binders){let j=this.binders[D];if(S&&j instanceof io){let te=S.fromScale===2?j.zoomInPaintVertexBuffer:j.zoomOutPaintVertexBuffer;te&&this._buffers.push(te)}else(j instanceof so||j instanceof wa)&&j.paintVertexBuffer&&this._buffers.push(j.paintVertexBuffer)}}upload(S){for(let D in this.binders){let j=this.binders[D];(j instanceof so||j instanceof wa||j instanceof io)&&j.upload(S)}this.updatePaintBuffers()}destroy(){for(let S in this.binders){let D=this.binders[S];(D instanceof so||D instanceof wa||D instanceof io)&&D.destroy()}}}class _s{constructor(S,D,j=()=>!0){this.programConfigurations={};for(let te of S)this.programConfigurations[te.id]=new Ss(te,D,j);this.needsUpload=!1,this._featureMap=new qr,this._bufferOffset=0}populatePaintArrays(S,D,j,te,ue,ve){for(let De in this.programConfigurations)this.programConfigurations[De].populatePaintArrays(S,D,te,ue,ve);D.id!==void 0&&this._featureMap.add(D.id,j,this._bufferOffset,S),this._bufferOffset=S,this.needsUpload=!0}updatePaintArrays(S,D,j,te){for(let ue of j)this.needsUpload=this.programConfigurations[ue.id].updatePaintArrays(S,this._featureMap,D,ue,te)||this.needsUpload}get(S){return this.programConfigurations[S]}upload(S){if(this.needsUpload){for(let D in this.programConfigurations)this.programConfigurations[D].upload(S);this.needsUpload=!1}}destroy(){for(let S in this.programConfigurations)this.programConfigurations[S].destroy()}}function Ns(R,S){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\"]}[R]||[R.replace(`${S}-`,\"\").replace(/-/g,\"_\")]}function pn(R,S,D){let j={color:{source:Sr,composite:Li},number:{source:mr,composite:Sr}},te=function(ue){return{\"line-pattern\":{source:el,composite:el},\"fill-pattern\":{source:el,composite:el},\"fill-extrusion-pattern\":{source:el,composite:el}}[ue]}(R);return te&&te[D]||j[S][D]}mi(\"ConstantBinder\",ga),mi(\"CrossFadedConstantBinder\",ya),mi(\"SourceExpressionBinder\",so),mi(\"CrossFadedCompositeBinder\",io),mi(\"CompositeExpressionBinder\",wa),mi(\"ProgramConfiguration\",Ss,{omit:[\"_buffers\"]}),mi(\"ProgramConfigurationSet\",_s);let za=8192,Lo=Math.pow(2,14)-1,Fo=-Lo-1;function js(R){let S=za/R.extent,D=R.loadGeometry();for(let j=0;j<D.length;j++){let te=D[j];for(let ue=0;ue<te.length;ue++){let ve=te[ue],De=Math.round(ve.x*S),Ze=Math.round(ve.y*S);ve.x=k(De,Fo,Lo),ve.y=k(Ze,Fo,Lo),(De<ve.x||De>ve.x+1||Ze<ve.y||Ze>ve.y+1)&&T(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}}return D}function xl(R,S){return{type:R.type,id:R.id,properties:R.properties,geometry:S?js(R):[]}}function fu(R,S,D,j,te){R.emplaceBack(2*S+(j+1)/2,2*D+(te+1)/2)}class dl{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.layoutVertexArray=new po,this.indexArray=new oe,this.segments=new We,this.programConfigurations=new _s(S.layers,S.zoom),this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){let te=this.layers[0],ue=[],ve=null,De=!1;te.type===\"circle\"&&(ve=te.layout.get(\"circle-sort-key\"),De=!ve.isConstant());for(let{feature:Ze,id:at,index:Tt,sourceLayerIndex:Ft}of S){let Qt=this.layers[0]._featureFilter.needGeometry,sr=xl(Ze,Qt);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),sr,j))continue;let Tr=De?ve.evaluate(sr,{},j):void 0,Pr={id:at,properties:Ze.properties,type:Ze.type,sourceLayerIndex:Ft,index:Tt,geometry:Qt?sr.geometry:js(Ze),patterns:{},sortKey:Tr};ue.push(Pr)}De&&ue.sort((Ze,at)=>Ze.sortKey-at.sortKey);for(let Ze of ue){let{geometry:at,index:Tt,sourceLayerIndex:Ft}=Ze,Qt=S[Tt].feature;this.addFeature(Ze,at,Tt,j),D.featureIndex.insert(Qt,at,Tt,Ft,this.index)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,Ue),this.indexBuffer=S.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(S),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(S,D,j,te){for(let ue of D)for(let ve of ue){let De=ve.x,Ze=ve.y;if(De<0||De>=za||Ze<0||Ze>=za)continue;let at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,S.sortKey),Tt=at.vertexLength;fu(this.layoutVertexArray,De,Ze,-1,-1),fu(this.layoutVertexArray,De,Ze,1,-1),fu(this.layoutVertexArray,De,Ze,1,1),fu(this.layoutVertexArray,De,Ze,-1,1),this.indexArray.emplaceBack(Tt,Tt+1,Tt+2),this.indexArray.emplaceBack(Tt,Tt+3,Tt+2),at.vertexLength+=4,at.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,{},te)}}function xc(R,S){for(let D=0;D<R.length;D++)if(On(S,R[D]))return!0;for(let D=0;D<S.length;D++)if(On(R,S[D]))return!0;return!!wi(R,S)}function At(R,S,D){return!!On(R,S)||!!Oi(S,R,D)}function Er(R,S){if(R.length===1)return cn(S,R[0]);for(let D=0;D<S.length;D++){let j=S[D];for(let te=0;te<j.length;te++)if(On(R,j[te]))return!0}for(let D=0;D<R.length;D++)if(cn(S,R[D]))return!0;for(let D=0;D<S.length;D++)if(wi(R,S[D]))return!0;return!1}function Wr(R,S,D){if(R.length>1){if(wi(R,S))return!0;for(let j=0;j<S.length;j++)if(Oi(S[j],R,D))return!0}for(let j=0;j<R.length;j++)if(Oi(R[j],S,D))return!0;return!1}function wi(R,S){if(R.length===0||S.length===0)return!1;for(let D=0;D<R.length-1;D++){let j=R[D],te=R[D+1];for(let ue=0;ue<S.length-1;ue++)if(Ui(j,te,S[ue],S[ue+1]))return!0}return!1}function Ui(R,S,D,j){return F(R,D,j)!==F(S,D,j)&&F(R,S,D)!==F(R,S,j)}function Oi(R,S,D){let j=D*D;if(S.length===1)return R.distSqr(S[0])<j;for(let te=1;te<S.length;te++)if(Bi(R,S[te-1],S[te])<j)return!0;return!1}function Bi(R,S,D){let j=S.distSqr(D);if(j===0)return R.distSqr(S);let te=((R.x-S.x)*(D.x-S.x)+(R.y-S.y)*(D.y-S.y))/j;return R.distSqr(te<0?S:te>1?D:D.sub(S)._mult(te)._add(S))}function cn(R,S){let D,j,te,ue=!1;for(let ve=0;ve<R.length;ve++){D=R[ve];for(let De=0,Ze=D.length-1;De<D.length;Ze=De++)j=D[De],te=D[Ze],j.y>S.y!=te.y>S.y&&S.x<(te.x-j.x)*(S.y-j.y)/(te.y-j.y)+j.x&&(ue=!ue)}return ue}function On(R,S){let D=!1;for(let j=0,te=R.length-1;j<R.length;te=j++){let ue=R[j],ve=R[te];ue.y>S.y!=ve.y>S.y&&S.x<(ve.x-ue.x)*(S.y-ue.y)/(ve.y-ue.y)+ue.x&&(D=!D)}return D}function Bn(R,S,D){let j=D[0],te=D[2];if(R.x<j.x&&S.x<j.x||R.x>te.x&&S.x>te.x||R.y<j.y&&S.y<j.y||R.y>te.y&&S.y>te.y)return!1;let ue=F(R,S,D[0]);return ue!==F(R,S,D[1])||ue!==F(R,S,D[2])||ue!==F(R,S,D[3])}function yn(R,S,D){let j=S.paint.get(R).value;return j.kind===\"constant\"?j.value:D.programConfigurations.get(S.id).getMaxValue(R)}function to(R){return Math.sqrt(R[0]*R[0]+R[1]*R[1])}function Rn(R,S,D,j,te){if(!S[0]&&!S[1])return R;let ue=u.convert(S)._mult(te);D===\"viewport\"&&ue._rotate(-j);let ve=[];for(let De=0;De<R.length;De++)ve.push(R[De].sub(ue));return ve}let Dn,fn;mi(\"CircleBucket\",dl,{omit:[\"layers\"]});var Ai={get paint(){return fn=fn||new le({\"circle-radius\":new eo(ce.paint_circle[\"circle-radius\"]),\"circle-color\":new eo(ce.paint_circle[\"circle-color\"]),\"circle-blur\":new eo(ce.paint_circle[\"circle-blur\"]),\"circle-opacity\":new eo(ce.paint_circle[\"circle-opacity\"]),\"circle-translate\":new Da(ce.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new Da(ce.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new Da(ce.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new Da(ce.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new eo(ce.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new eo(ce.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new eo(ce.paint_circle[\"circle-stroke-opacity\"])})},get layout(){return Dn=Dn||new le({\"circle-sort-key\":new eo(ce.layout_circle[\"circle-sort-key\"])})}},ji=1e-6,Ln=typeof Float32Array!=\"undefined\"?Float32Array:Array;function Un(R){return R[0]=1,R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=1,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[10]=1,R[11]=0,R[12]=0,R[13]=0,R[14]=0,R[15]=1,R}function gn(R,S,D){var j=S[0],te=S[1],ue=S[2],ve=S[3],De=S[4],Ze=S[5],at=S[6],Tt=S[7],Ft=S[8],Qt=S[9],sr=S[10],Tr=S[11],Pr=S[12],$r=S[13],ni=S[14],Di=S[15],pi=D[0],ki=D[1],Zi=D[2],ta=D[3];return R[0]=pi*j+ki*De+Zi*Ft+ta*Pr,R[1]=pi*te+ki*Ze+Zi*Qt+ta*$r,R[2]=pi*ue+ki*at+Zi*sr+ta*ni,R[3]=pi*ve+ki*Tt+Zi*Tr+ta*Di,R[4]=(pi=D[4])*j+(ki=D[5])*De+(Zi=D[6])*Ft+(ta=D[7])*Pr,R[5]=pi*te+ki*Ze+Zi*Qt+ta*$r,R[6]=pi*ue+ki*at+Zi*sr+ta*ni,R[7]=pi*ve+ki*Tt+Zi*Tr+ta*Di,R[8]=(pi=D[8])*j+(ki=D[9])*De+(Zi=D[10])*Ft+(ta=D[11])*Pr,R[9]=pi*te+ki*Ze+Zi*Qt+ta*$r,R[10]=pi*ue+ki*at+Zi*sr+ta*ni,R[11]=pi*ve+ki*Tt+Zi*Tr+ta*Di,R[12]=(pi=D[12])*j+(ki=D[13])*De+(Zi=D[14])*Ft+(ta=D[15])*Pr,R[13]=pi*te+ki*Ze+Zi*Qt+ta*$r,R[14]=pi*ue+ki*at+Zi*sr+ta*ni,R[15]=pi*ve+ki*Tt+Zi*Tr+ta*Di,R}Math.hypot||(Math.hypot=function(){for(var R=0,S=arguments.length;S--;)R+=arguments[S]*arguments[S];return Math.sqrt(R)});var ca,Kn=gn;function Za(R,S,D){var j=S[0],te=S[1],ue=S[2],ve=S[3];return R[0]=D[0]*j+D[4]*te+D[8]*ue+D[12]*ve,R[1]=D[1]*j+D[5]*te+D[9]*ue+D[13]*ve,R[2]=D[2]*j+D[6]*te+D[10]*ue+D[14]*ve,R[3]=D[3]*j+D[7]*te+D[11]*ue+D[15]*ve,R}ca=new Ln(4),Ln!=Float32Array&&(ca[0]=0,ca[1]=0,ca[2]=0,ca[3]=0);class wn extends B{constructor(S){super(S,Ai)}createBucket(S){return new dl(S)}queryRadius(S){let D=S;return yn(\"circle-radius\",this,D)+yn(\"circle-stroke-width\",this,D)+to(this.paint.get(\"circle-translate\"))}queryIntersectsFeature(S,D,j,te,ue,ve,De,Ze){let at=Rn(S,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),ve.angle,De),Tt=this.paint.get(\"circle-radius\").evaluate(D,j)+this.paint.get(\"circle-stroke-width\").evaluate(D,j),Ft=this.paint.get(\"circle-pitch-alignment\")===\"map\",Qt=Ft?at:function(Tr,Pr){return Tr.map($r=>vn($r,Pr))}(at,Ze),sr=Ft?Tt*De:Tt;for(let Tr of te)for(let Pr of Tr){let $r=Ft?Pr:vn(Pr,Ze),ni=sr,Di=Za([],[Pr.x,Pr.y,0,1],Ze);if(this.paint.get(\"circle-pitch-scale\")===\"viewport\"&&this.paint.get(\"circle-pitch-alignment\")===\"map\"?ni*=Di[3]/ve.cameraToCenterDistance:this.paint.get(\"circle-pitch-scale\")===\"map\"&&this.paint.get(\"circle-pitch-alignment\")===\"viewport\"&&(ni*=ve.cameraToCenterDistance/Di[3]),At(Qt,$r,ni))return!0}return!1}}function vn(R,S){let D=Za([],[R.x,R.y,0,1],S);return new u(D[0]/D[3],D[1]/D[3])}class Aa extends dl{}let aa;mi(\"HeatmapBucket\",Aa,{omit:[\"layers\"]});var Xn={get paint(){return aa=aa||new le({\"heatmap-radius\":new eo(ce.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new eo(ce.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new Da(ce.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new _c(ce.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new Da(ce.paint_heatmap[\"heatmap-opacity\"])})}};function Vn(R,{width:S,height:D},j,te){if(te){if(te instanceof Uint8ClampedArray)te=new Uint8Array(te.buffer);else if(te.length!==S*D*j)throw new RangeError(`mismatched image size. expected: ${te.length} but got: ${S*D*j}`)}else te=new Uint8Array(S*D*j);return R.width=S,R.height=D,R.data=te,R}function ma(R,{width:S,height:D},j){if(S===R.width&&D===R.height)return;let te=Vn({},{width:S,height:D},j);ro(R,te,{x:0,y:0},{x:0,y:0},{width:Math.min(R.width,S),height:Math.min(R.height,D)},j),R.width=S,R.height=D,R.data=te.data}function ro(R,S,D,j,te,ue){if(te.width===0||te.height===0)return S;if(te.width>R.width||te.height>R.height||D.x>R.width-te.width||D.y>R.height-te.height)throw new RangeError(\"out of range source coordinates for image copy\");if(te.width>S.width||te.height>S.height||j.x>S.width-te.width||j.y>S.height-te.height)throw new RangeError(\"out of range destination coordinates for image copy\");let ve=R.data,De=S.data;if(ve===De)throw new Error(\"srcData equals dstData, so image is already copied\");for(let Ze=0;Ze<te.height;Ze++){let at=((D.y+Ze)*R.width+D.x)*ue,Tt=((j.y+Ze)*S.width+j.x)*ue;for(let Ft=0;Ft<te.width*ue;Ft++)De[Tt+Ft]=ve[at+Ft]}return S}class Ao{constructor(S,D){Vn(this,S,1,D)}resize(S){ma(this,S,1)}clone(){return new Ao({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(S,D,j,te,ue){ro(S,D,j,te,ue,1)}}class Jn{constructor(S,D){Vn(this,S,4,D)}resize(S){ma(this,S,4)}replace(S,D){D?this.data.set(S):this.data=S instanceof Uint8ClampedArray?new Uint8Array(S.buffer):S}clone(){return new Jn({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(S,D,j,te,ue){ro(S,D,j,te,ue,4)}}function Oa(R){let S={},D=R.resolution||256,j=R.clips?R.clips.length:1,te=R.image||new Jn({width:D,height:j});if(Math.log(D)/Math.LN2%1!=0)throw new Error(`width is not a power of 2 - ${D}`);let ue=(ve,De,Ze)=>{S[R.evaluationKey]=Ze;let at=R.expression.evaluate(S);te.data[ve+De+0]=Math.floor(255*at.r/at.a),te.data[ve+De+1]=Math.floor(255*at.g/at.a),te.data[ve+De+2]=Math.floor(255*at.b/at.a),te.data[ve+De+3]=Math.floor(255*at.a)};if(R.clips)for(let ve=0,De=0;ve<j;++ve,De+=4*D)for(let Ze=0,at=0;Ze<D;Ze++,at+=4){let Tt=Ze/(D-1),{start:Ft,end:Qt}=R.clips[ve];ue(De,at,Ft*(1-Tt)+Qt*Tt)}else for(let ve=0,De=0;ve<D;ve++,De+=4)ue(0,De,ve/(D-1));return te}mi(\"AlphaImage\",Ao),mi(\"RGBAImage\",Jn);let _o=\"big-fb\";class Po extends B{createBucket(S){return new Aa(S)}constructor(S){super(S,Xn),this.heatmapFbos=new Map,this._updateColorRamp()}_handleSpecialPaintPropertyUpdate(S){S===\"heatmap-color\"&&this._updateColorRamp()}_updateColorRamp(){this.colorRamp=Oa({expression:this._transitionablePaint._values[\"heatmap-color\"].value.expression,evaluationKey:\"heatmapDensity\",image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbos.has(_o)&&this.heatmapFbos.delete(_o)}queryRadius(){return 0}queryIntersectsFeature(){return!1}hasOffscreenPass(){return this.paint.get(\"heatmap-opacity\")!==0&&this.visibility!==\"none\"}}let Jo;var Yl={get paint(){return Jo=Jo||new le({\"hillshade-illumination-direction\":new Da(ce.paint_hillshade[\"hillshade-illumination-direction\"]),\"hillshade-illumination-anchor\":new Da(ce.paint_hillshade[\"hillshade-illumination-anchor\"]),\"hillshade-exaggeration\":new Da(ce.paint_hillshade[\"hillshade-exaggeration\"]),\"hillshade-shadow-color\":new Da(ce.paint_hillshade[\"hillshade-shadow-color\"]),\"hillshade-highlight-color\":new Da(ce.paint_hillshade[\"hillshade-highlight-color\"]),\"hillshade-accent-color\":new Da(ce.paint_hillshade[\"hillshade-accent-color\"])})}};class $c extends B{constructor(S){super(S,Yl)}hasOffscreenPass(){return this.paint.get(\"hillshade-exaggeration\")!==0&&this.visibility!==\"none\"}}let xs=qe([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:Qc}=xs;function El(R,S,D=2){let j=S&&S.length,te=j?S[0]*D:R.length,ue=bc(R,0,te,D,!0),ve=[];if(!ue||ue.next===ue.prev)return ve;let De,Ze,at;if(j&&(ue=function(Tt,Ft,Qt,sr){let Tr=[];for(let Pr=0,$r=Ft.length;Pr<$r;Pr++){let ni=bc(Tt,Ft[Pr]*sr,Pr<$r-1?Ft[Pr+1]*sr:Tt.length,sr,!1);ni===ni.next&&(ni.steiner=!0),Tr.push(K(ni))}Tr.sort(_f);for(let Pr=0;Pr<Tr.length;Pr++)Qt=ns(Tr[Pr],Qt);return Qt}(R,S,ue,D)),R.length>80*D){De=1/0,Ze=1/0;let Tt=-1/0,Ft=-1/0;for(let Qt=D;Qt<te;Qt+=D){let sr=R[Qt],Tr=R[Qt+1];sr<De&&(De=sr),Tr<Ze&&(Ze=Tr),sr>Tt&&(Tt=sr),Tr>Ft&&(Ft=Tr)}at=Math.max(Tt-De,Ft-Ze),at=at!==0?32767/at:0}return yf(ue,ve,D,De,Ze,at,0),ve}function bc(R,S,D,j,te){let ue;if(te===function(ve,De,Ze,at){let Tt=0;for(let Ft=De,Qt=Ze-at;Ft<Ze;Ft+=at)Tt+=(ve[Qt]-ve[Ft])*(ve[Ft+1]+ve[Qt+1]),Qt=Ft;return Tt}(R,S,D,j)>0)for(let ve=S;ve<D;ve+=j)ue=Jt(ve/j|0,R[ve],R[ve+1],ue);else for(let ve=D-j;ve>=S;ve-=j)ue=Jt(ve/j|0,R[ve],R[ve+1],ue);return ue&&de(ue,ue.next)&&(vt(ue),ue=ue.next),ue}function wc(R,S){if(!R)return R;S||(S=R);let D,j=R;do if(D=!1,j.steiner||!de(j,j.next)&&pe(j.prev,j,j.next)!==0)j=j.next;else{if(vt(j),j=S=j.prev,j===j.next)break;D=!0}while(D||j!==S);return S}function yf(R,S,D,j,te,ue,ve){if(!R)return;!ve&&ue&&function(Ze,at,Tt,Ft){let Qt=Ze;do Qt.z===0&&(Qt.z=z(Qt.x,Qt.y,at,Tt,Ft)),Qt.prevZ=Qt.prev,Qt.nextZ=Qt.next,Qt=Qt.next;while(Qt!==Ze);Qt.prevZ.nextZ=null,Qt.prevZ=null,function(sr){let Tr,Pr=1;do{let $r,ni=sr;sr=null;let Di=null;for(Tr=0;ni;){Tr++;let pi=ni,ki=0;for(let ta=0;ta<Pr&&(ki++,pi=pi.nextZ,pi);ta++);let Zi=Pr;for(;ki>0||Zi>0&π)ki!==0&&(Zi===0||!pi||ni.z<=pi.z)?($r=ni,ni=ni.nextZ,ki--):($r=pi,pi=pi.nextZ,Zi--),Di?Di.nextZ=$r:sr=$r,$r.prevZ=Di,Di=$r;ni=pi}Di.nextZ=null,Pr*=2}while(Tr>1)}(Qt)}(R,j,te,ue);let De=R;for(;R.prev!==R.next;){let Ze=R.prev,at=R.next;if(ue?Fc(R,j,te,ue):Gl(R))S.push(Ze.i,R.i,at.i),vt(R),R=at.next,De=at.next;else if((R=at)===De){ve?ve===1?yf(R=ef(wc(R),S),S,D,j,te,ue,2):ve===2&&ls(R,S,D,j,te,ue):yf(wc(R),S,D,j,te,ue,1);break}}}function Gl(R){let S=R.prev,D=R,j=R.next;if(pe(S,D,j)>=0)return!1;let te=S.x,ue=D.x,ve=j.x,De=S.y,Ze=D.y,at=j.y,Tt=te<ue?te<ve?te:ve:ue<ve?ue:ve,Ft=De<Ze?De<at?De:at:Ze<at?Ze:at,Qt=te>ue?te>ve?te:ve:ue>ve?ue:ve,sr=De>Ze?De>at?De:at:Ze>at?Ze:at,Tr=j.next;for(;Tr!==S;){if(Tr.x>=Tt&&Tr.x<=Qt&&Tr.y>=Ft&&Tr.y<=sr&&O(te,De,ue,Ze,ve,at,Tr.x,Tr.y)&&pe(Tr.prev,Tr,Tr.next)>=0)return!1;Tr=Tr.next}return!0}function Fc(R,S,D,j){let te=R.prev,ue=R,ve=R.next;if(pe(te,ue,ve)>=0)return!1;let De=te.x,Ze=ue.x,at=ve.x,Tt=te.y,Ft=ue.y,Qt=ve.y,sr=De<Ze?De<at?De:at:Ze<at?Ze:at,Tr=Tt<Ft?Tt<Qt?Tt:Qt:Ft<Qt?Ft:Qt,Pr=De>Ze?De>at?De:at:Ze>at?Ze:at,$r=Tt>Ft?Tt>Qt?Tt:Qt:Ft>Qt?Ft:Qt,ni=z(sr,Tr,S,D,j),Di=z(Pr,$r,S,D,j),pi=R.prevZ,ki=R.nextZ;for(;pi&&pi.z>=ni&&ki&&ki.z<=Di;){if(pi.x>=sr&&pi.x<=Pr&&pi.y>=Tr&&pi.y<=$r&&pi!==te&&pi!==ve&&O(De,Tt,Ze,Ft,at,Qt,pi.x,pi.y)&&pe(pi.prev,pi,pi.next)>=0||(pi=pi.prevZ,ki.x>=sr&&ki.x<=Pr&&ki.y>=Tr&&ki.y<=$r&&ki!==te&&ki!==ve&&O(De,Tt,Ze,Ft,at,Qt,ki.x,ki.y)&&pe(ki.prev,ki,ki.next)>=0))return!1;ki=ki.nextZ}for(;pi&&pi.z>=ni;){if(pi.x>=sr&&pi.x<=Pr&&pi.y>=Tr&&pi.y<=$r&&pi!==te&&pi!==ve&&O(De,Tt,Ze,Ft,at,Qt,pi.x,pi.y)&&pe(pi.prev,pi,pi.next)>=0)return!1;pi=pi.prevZ}for(;ki&&ki.z<=Di;){if(ki.x>=sr&&ki.x<=Pr&&ki.y>=Tr&&ki.y<=$r&&ki!==te&&ki!==ve&&O(De,Tt,Ze,Ft,at,Qt,ki.x,ki.y)&&pe(ki.prev,ki,ki.next)>=0)return!1;ki=ki.nextZ}return!0}function ef(R,S){let D=R;do{let j=D.prev,te=D.next.next;!de(j,te)&&Ie(j,D,D.next,te)&&Kt(j,te)&&Kt(te,j)&&(S.push(j.i,D.i,te.i),vt(D),vt(D.next),D=R=te),D=D.next}while(D!==R);return wc(D)}function ls(R,S,D,j,te,ue){let ve=R;do{let De=ve.next.next;for(;De!==ve.prev;){if(ve.i!==De.i&&$(ve,De)){let Ze=ir(ve,De);return ve=wc(ve,ve.next),Ze=wc(Ze,Ze.next),yf(ve,S,D,j,te,ue,0),void yf(Ze,S,D,j,te,ue,0)}De=De.next}ve=ve.next}while(ve!==R)}function _f(R,S){return R.x-S.x}function ns(R,S){let D=function(te,ue){let ve=ue,De=te.x,Ze=te.y,at,Tt=-1/0;do{if(Ze<=ve.y&&Ze>=ve.next.y&&ve.next.y!==ve.y){let Pr=ve.x+(Ze-ve.y)*(ve.next.x-ve.x)/(ve.next.y-ve.y);if(Pr<=De&&Pr>Tt&&(Tt=Pr,at=ve.x<ve.next.x?ve:ve.next,Pr===De))return at}ve=ve.next}while(ve!==ue);if(!at)return null;let Ft=at,Qt=at.x,sr=at.y,Tr=1/0;ve=at;do{if(De>=ve.x&&ve.x>=Qt&&De!==ve.x&&O(Ze<sr?De:Tt,Ze,Qt,sr,Ze<sr?Tt:De,Ze,ve.x,ve.y)){let Pr=Math.abs(Ze-ve.y)/(De-ve.x);Kt(ve,te)&&(Pr<Tr||Pr===Tr&&(ve.x>at.x||ve.x===at.x&&Y(at,ve)))&&(at=ve,Tr=Pr)}ve=ve.next}while(ve!==Ft);return at}(R,S);if(!D)return S;let j=ir(D,R);return wc(j,j.next),wc(D,D.next)}function Y(R,S){return pe(R.prev,R,S.prev)<0&&pe(S.next,R,R.next)<0}function z(R,S,D,j,te){return(R=1431655765&((R=858993459&((R=252645135&((R=16711935&((R=(R-D)*te|0)|R<<8))|R<<4))|R<<2))|R<<1))|(S=1431655765&((S=858993459&((S=252645135&((S=16711935&((S=(S-j)*te|0)|S<<8))|S<<4))|S<<2))|S<<1))<<1}function K(R){let S=R,D=R;do(S.x<D.x||S.x===D.x&&S.y<D.y)&&(D=S),S=S.next;while(S!==R);return D}function O(R,S,D,j,te,ue,ve,De){return(te-ve)*(S-De)>=(R-ve)*(ue-De)&&(R-ve)*(j-De)>=(D-ve)*(S-De)&&(D-ve)*(ue-De)>=(te-ve)*(j-De)}function $(R,S){return R.next.i!==S.i&&R.prev.i!==S.i&&!function(D,j){let te=D;do{if(te.i!==D.i&&te.next.i!==D.i&&te.i!==j.i&&te.next.i!==j.i&&Ie(te,te.next,D,j))return!0;te=te.next}while(te!==D);return!1}(R,S)&&(Kt(R,S)&&Kt(S,R)&&function(D,j){let te=D,ue=!1,ve=(D.x+j.x)/2,De=(D.y+j.y)/2;do te.y>De!=te.next.y>De&&te.next.y!==te.y&&ve<(te.next.x-te.x)*(De-te.y)/(te.next.y-te.y)+te.x&&(ue=!ue),te=te.next;while(te!==D);return ue}(R,S)&&(pe(R.prev,R,S.prev)||pe(R,S.prev,S))||de(R,S)&&pe(R.prev,R,R.next)>0&&pe(S.prev,S,S.next)>0)}function pe(R,S,D){return(S.y-R.y)*(D.x-S.x)-(S.x-R.x)*(D.y-S.y)}function de(R,S){return R.x===S.x&&R.y===S.y}function Ie(R,S,D,j){let te=pt(pe(R,S,D)),ue=pt(pe(R,S,j)),ve=pt(pe(D,j,R)),De=pt(pe(D,j,S));return te!==ue&&ve!==De||!(te!==0||!$e(R,D,S))||!(ue!==0||!$e(R,j,S))||!(ve!==0||!$e(D,R,j))||!(De!==0||!$e(D,S,j))}function $e(R,S,D){return S.x<=Math.max(R.x,D.x)&&S.x>=Math.min(R.x,D.x)&&S.y<=Math.max(R.y,D.y)&&S.y>=Math.min(R.y,D.y)}function pt(R){return R>0?1:R<0?-1:0}function Kt(R,S){return pe(R.prev,R,R.next)<0?pe(R,S,R.next)>=0&&pe(R,R.prev,S)>=0:pe(R,S,R.prev)<0||pe(R,R.next,S)<0}function ir(R,S){let D=Pt(R.i,R.x,R.y),j=Pt(S.i,S.x,S.y),te=R.next,ue=S.prev;return R.next=S,S.prev=R,D.next=te,te.prev=D,j.next=D,D.prev=j,ue.next=j,j.prev=ue,j}function Jt(R,S,D,j){let te=Pt(R,S,D);return j?(te.next=j.next,te.prev=j,j.next.prev=te,j.next=te):(te.prev=te,te.next=te),te}function vt(R){R.next.prev=R.prev,R.prev.next=R.next,R.prevZ&&(R.prevZ.nextZ=R.nextZ),R.nextZ&&(R.nextZ.prevZ=R.prevZ)}function Pt(R,S,D){return{i:R,x:S,y:D,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function Wt(R,S,D){let j=D.patternDependencies,te=!1;for(let ue of S){let ve=ue.paint.get(`${R}-pattern`);ve.isConstant()||(te=!0);let De=ve.constantOr(null);De&&(te=!0,j[De.to]=!0,j[De.from]=!0)}return te}function rr(R,S,D,j,te){let ue=te.patternDependencies;for(let ve of S){let De=ve.paint.get(`${R}-pattern`).value;if(De.kind!==\"constant\"){let Ze=De.evaluate({zoom:j-1},D,{},te.availableImages),at=De.evaluate({zoom:j},D,{},te.availableImages),Tt=De.evaluate({zoom:j+1},D,{},te.availableImages);Ze=Ze&&Ze.name?Ze.name:Ze,at=at&&at.name?at.name:at,Tt=Tt&&Tt.name?Tt.name:Tt,ue[Ze]=!0,ue[at]=!0,ue[Tt]=!0,D.patterns[ve.id]={min:Ze,mid:at,max:Tt}}}return D}class dr{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new _l,this.indexArray=new oe,this.indexArray2=new we,this.programConfigurations=new _s(S.layers,S.zoom),this.segments=new We,this.segments2=new We,this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){this.hasPattern=Wt(\"fill\",this.layers,D);let te=this.layers[0].layout.get(\"fill-sort-key\"),ue=!te.isConstant(),ve=[];for(let{feature:De,id:Ze,index:at,sourceLayerIndex:Tt}of S){let Ft=this.layers[0]._featureFilter.needGeometry,Qt=xl(De,Ft);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),Qt,j))continue;let sr=ue?te.evaluate(Qt,{},j,D.availableImages):void 0,Tr={id:Ze,properties:De.properties,type:De.type,sourceLayerIndex:Tt,index:at,geometry:Ft?Qt.geometry:js(De),patterns:{},sortKey:sr};ve.push(Tr)}ue&&ve.sort((De,Ze)=>De.sortKey-Ze.sortKey);for(let De of ve){let{geometry:Ze,index:at,sourceLayerIndex:Tt}=De;if(this.hasPattern){let Ft=rr(\"fill\",this.layers,De,this.zoom,D);this.patternFeatures.push(Ft)}else this.addFeature(De,Ze,at,j,{});D.featureIndex.insert(S[at].feature,Ze,at,Tt,this.index)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}addFeatures(S,D,j){for(let te of this.patternFeatures)this.addFeature(te,te.geometry,te.index,D,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,Qc),this.indexBuffer=S.createIndexBuffer(this.indexArray),this.indexBuffer2=S.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(S),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(S,D,j,te,ue){for(let ve of Of(D,500)){let De=0;for(let sr of ve)De+=sr.length;let Ze=this.segments.prepareSegment(De,this.layoutVertexArray,this.indexArray),at=Ze.vertexLength,Tt=[],Ft=[];for(let sr of ve){if(sr.length===0)continue;sr!==ve[0]&&Ft.push(Tt.length/2);let Tr=this.segments2.prepareSegment(sr.length,this.layoutVertexArray,this.indexArray2),Pr=Tr.vertexLength;this.layoutVertexArray.emplaceBack(sr[0].x,sr[0].y),this.indexArray2.emplaceBack(Pr+sr.length-1,Pr),Tt.push(sr[0].x),Tt.push(sr[0].y);for(let $r=1;$r<sr.length;$r++)this.layoutVertexArray.emplaceBack(sr[$r].x,sr[$r].y),this.indexArray2.emplaceBack(Pr+$r-1,Pr+$r),Tt.push(sr[$r].x),Tt.push(sr[$r].y);Tr.vertexLength+=sr.length,Tr.primitiveLength+=sr.length}let Qt=El(Tt,Ft);for(let sr=0;sr<Qt.length;sr+=3)this.indexArray.emplaceBack(at+Qt[sr],at+Qt[sr+1],at+Qt[sr+2]);Ze.vertexLength+=De,Ze.primitiveLength+=Qt.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,ue,te)}}let pr,kr;mi(\"FillBucket\",dr,{omit:[\"layers\",\"patternFeatures\"]});var Ar={get paint(){return kr=kr||new le({\"fill-antialias\":new Da(ce.paint_fill[\"fill-antialias\"]),\"fill-opacity\":new eo(ce.paint_fill[\"fill-opacity\"]),\"fill-color\":new eo(ce.paint_fill[\"fill-color\"]),\"fill-outline-color\":new eo(ce.paint_fill[\"fill-outline-color\"]),\"fill-translate\":new Da(ce.paint_fill[\"fill-translate\"]),\"fill-translate-anchor\":new Da(ce.paint_fill[\"fill-translate-anchor\"]),\"fill-pattern\":new Jc(ce.paint_fill[\"fill-pattern\"])})},get layout(){return pr=pr||new le({\"fill-sort-key\":new eo(ce.layout_fill[\"fill-sort-key\"])})}};class gr extends B{constructor(S){super(S,Ar)}recalculate(S,D){super.recalculate(S,D);let j=this.paint._values[\"fill-outline-color\"];j.value.kind===\"constant\"&&j.value.value===void 0&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"])}createBucket(S){return new dr(S)}queryRadius(){return to(this.paint.get(\"fill-translate\"))}queryIntersectsFeature(S,D,j,te,ue,ve,De){return Er(Rn(S,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),ve.angle,De),te)}isTileClipped(){return!0}}let Cr=qe([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal_ed\",components:4,type:\"Int16\"}],4),cr=qe([{name:\"a_centroid\",components:2,type:\"Int16\"}],4),{members:Gr}=Cr;var ei={},yi=s,tn=Ri;function Ri(R,S,D,j,te){this.properties={},this.extent=D,this.type=0,this._pbf=R,this._geometry=-1,this._keys=j,this._values=te,R.readFields(ln,this,S)}function ln(R,S,D){R==1?S.id=D.readVarint():R==2?function(j,te){for(var ue=j.readVarint()+j.pos;j.pos<ue;){var ve=te._keys[j.readVarint()],De=te._values[j.readVarint()];te.properties[ve]=De}}(D,S):R==3?S.type=D.readVarint():R==4&&(S._geometry=D.pos)}function Qn(R){for(var S,D,j=0,te=0,ue=R.length,ve=ue-1;te<ue;ve=te++)j+=((D=R[ve]).x-(S=R[te]).x)*(S.y+D.y);return j}Ri.types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],Ri.prototype.loadGeometry=function(){var R=this._pbf;R.pos=this._geometry;for(var S,D=R.readVarint()+R.pos,j=1,te=0,ue=0,ve=0,De=[];R.pos<D;){if(te<=0){var Ze=R.readVarint();j=7&Ze,te=Ze>>3}if(te--,j===1||j===2)ue+=R.readSVarint(),ve+=R.readSVarint(),j===1&&(S&&De.push(S),S=[]),S.push(new yi(ue,ve));else{if(j!==7)throw new Error(\"unknown command \"+j);S&&S.push(S[0].clone())}}return S&&De.push(S),De},Ri.prototype.bbox=function(){var R=this._pbf;R.pos=this._geometry;for(var S=R.readVarint()+R.pos,D=1,j=0,te=0,ue=0,ve=1/0,De=-1/0,Ze=1/0,at=-1/0;R.pos<S;){if(j<=0){var Tt=R.readVarint();D=7&Tt,j=Tt>>3}if(j--,D===1||D===2)(te+=R.readSVarint())<ve&&(ve=te),te>De&&(De=te),(ue+=R.readSVarint())<Ze&&(Ze=ue),ue>at&&(at=ue);else if(D!==7)throw new Error(\"unknown command \"+D)}return[ve,Ze,De,at]},Ri.prototype.toGeoJSON=function(R,S,D){var j,te,ue=this.extent*Math.pow(2,D),ve=this.extent*R,De=this.extent*S,Ze=this.loadGeometry(),at=Ri.types[this.type];function Tt(sr){for(var Tr=0;Tr<sr.length;Tr++){var Pr=sr[Tr];sr[Tr]=[360*(Pr.x+ve)/ue-180,360/Math.PI*Math.atan(Math.exp((180-360*(Pr.y+De)/ue)*Math.PI/180))-90]}}switch(this.type){case 1:var Ft=[];for(j=0;j<Ze.length;j++)Ft[j]=Ze[j][0];Tt(Ze=Ft);break;case 2:for(j=0;j<Ze.length;j++)Tt(Ze[j]);break;case 3:for(Ze=function(sr){var Tr=sr.length;if(Tr<=1)return[sr];for(var Pr,$r,ni=[],Di=0;Di<Tr;Di++){var pi=Qn(sr[Di]);pi!==0&&($r===void 0&&($r=pi<0),$r===pi<0?(Pr&&ni.push(Pr),Pr=[sr[Di]]):Pr.push(sr[Di]))}return Pr&&ni.push(Pr),ni}(Ze),j=0;j<Ze.length;j++)for(te=0;te<Ze[j].length;te++)Tt(Ze[j][te])}Ze.length===1?Ze=Ze[0]:at=\"Multi\"+at;var Qt={type:\"Feature\",geometry:{type:at,coordinates:Ze},properties:this.properties};return\"id\"in this&&(Qt.id=this.id),Qt};var qn=tn,rn=bn;function bn(R,S){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=R,this._keys=[],this._values=[],this._features=[],R.readFields(mn,this,S),this.length=this._features.length}function mn(R,S,D){R===15?S.version=D.readVarint():R===1?S.name=D.readString():R===5?S.extent=D.readVarint():R===2?S._features.push(D.pos):R===3?S._keys.push(D.readString()):R===4&&S._values.push(function(j){for(var te=null,ue=j.readVarint()+j.pos;j.pos<ue;){var ve=j.readVarint()>>3;te=ve===1?j.readString():ve===2?j.readFloat():ve===3?j.readDouble():ve===4?j.readVarint64():ve===5?j.readVarint():ve===6?j.readSVarint():ve===7?j.readBoolean():null}return te}(D))}bn.prototype.feature=function(R){if(R<0||R>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[R];var S=this._pbf.readVarint()+this._pbf.pos;return new qn(this._pbf,S,this.extent,this._keys,this._values)};var Gn=rn;function da(R,S,D){if(R===3){var j=new Gn(D,D.readVarint()+D.pos);j.length&&(S[j.name]=j)}}ei.VectorTile=function(R,S){this.layers=R.readFields(da,{},S)},ei.VectorTileFeature=tn,ei.VectorTileLayer=rn;let No=ei.VectorTileFeature.types,Do=Math.pow(2,13);function ps(R,S,D,j,te,ue,ve,De){R.emplaceBack(S,D,2*Math.floor(j*Do)+ve,te*Do*2,ue*Do*2,Math.round(De))}class fo{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.layoutVertexArray=new Hl,this.centroidVertexArray=new yo,this.indexArray=new oe,this.programConfigurations=new _s(S.layers,S.zoom),this.segments=new We,this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){this.features=[],this.hasPattern=Wt(\"fill-extrusion\",this.layers,D);for(let{feature:te,id:ue,index:ve,sourceLayerIndex:De}of S){let Ze=this.layers[0]._featureFilter.needGeometry,at=xl(te,Ze);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),at,j))continue;let Tt={id:ue,sourceLayerIndex:De,index:ve,geometry:Ze?at.geometry:js(te),properties:te.properties,type:te.type,patterns:{}};this.hasPattern?this.features.push(rr(\"fill-extrusion\",this.layers,Tt,this.zoom,D)):this.addFeature(Tt,Tt.geometry,ve,j,{}),D.featureIndex.insert(te,Tt.geometry,ve,De,this.index,!0)}}addFeatures(S,D,j){for(let te of this.features){let{geometry:ue}=te;this.addFeature(te,ue,te.index,D,j)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,Gr),this.centroidVertexBuffer=S.createVertexBuffer(this.centroidVertexArray,cr.members,!0),this.indexBuffer=S.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(S),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(S,D,j,te,ue){for(let ve of Of(D,500)){let De={x:0,y:0,vertexCount:0},Ze=0;for(let Tr of ve)Ze+=Tr.length;let at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let Tr of ve){if(Tr.length===0||tl(Tr))continue;let Pr=0;for(let $r=0;$r<Tr.length;$r++){let ni=Tr[$r];if($r>=1){let Di=Tr[$r-1];if(!as(ni,Di)){at.vertexLength+4>We.MAX_VERTEX_ARRAY_LENGTH&&(at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let pi=ni.sub(Di)._perp()._unit(),ki=Di.dist(ni);Pr+ki>32768&&(Pr=0),ps(this.layoutVertexArray,ni.x,ni.y,pi.x,pi.y,0,0,Pr),ps(this.layoutVertexArray,ni.x,ni.y,pi.x,pi.y,0,1,Pr),De.x+=2*ni.x,De.y+=2*ni.y,De.vertexCount+=2,Pr+=ki,ps(this.layoutVertexArray,Di.x,Di.y,pi.x,pi.y,0,0,Pr),ps(this.layoutVertexArray,Di.x,Di.y,pi.x,pi.y,0,1,Pr),De.x+=2*Di.x,De.y+=2*Di.y,De.vertexCount+=2;let Zi=at.vertexLength;this.indexArray.emplaceBack(Zi,Zi+2,Zi+1),this.indexArray.emplaceBack(Zi+1,Zi+2,Zi+3),at.vertexLength+=4,at.primitiveLength+=2}}}}if(at.vertexLength+Ze>We.MAX_VERTEX_ARRAY_LENGTH&&(at=this.segments.prepareSegment(Ze,this.layoutVertexArray,this.indexArray)),No[S.type]!==\"Polygon\")continue;let Tt=[],Ft=[],Qt=at.vertexLength;for(let Tr of ve)if(Tr.length!==0){Tr!==ve[0]&&Ft.push(Tt.length/2);for(let Pr=0;Pr<Tr.length;Pr++){let $r=Tr[Pr];ps(this.layoutVertexArray,$r.x,$r.y,0,0,1,1,0),De.x+=$r.x,De.y+=$r.y,De.vertexCount+=1,Tt.push($r.x),Tt.push($r.y)}}let sr=El(Tt,Ft);for(let Tr=0;Tr<sr.length;Tr+=3)this.indexArray.emplaceBack(Qt+sr[Tr],Qt+sr[Tr+2],Qt+sr[Tr+1]);at.primitiveLength+=sr.length/3,at.vertexLength+=Ze;for(let Tr=0;Tr<De.vertexCount;Tr++){let Pr=Math.floor(De.x/De.vertexCount),$r=Math.floor(De.y/De.vertexCount);this.centroidVertexArray.emplaceBack(Pr,$r)}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,ue,te)}}function as(R,S){return R.x===S.x&&(R.x<0||R.x>za)||R.y===S.y&&(R.y<0||R.y>za)}function tl(R){return R.every(S=>S.x<0)||R.every(S=>S.x>za)||R.every(S=>S.y<0)||R.every(S=>S.y>za)}let zu;mi(\"FillExtrusionBucket\",fo,{omit:[\"layers\",\"features\"]});var Mv={get paint(){return zu=zu||new le({\"fill-extrusion-opacity\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new eo(ce[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Jc(ce[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new eo(ce[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new eo(ce[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})}};class Ev extends B{constructor(S){super(S,Mv)}createBucket(S){return new fo(S)}queryRadius(){return to(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return!0}queryIntersectsFeature(S,D,j,te,ue,ve,De,Ze){let at=Rn(S,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),ve.angle,De),Tt=this.paint.get(\"fill-extrusion-height\").evaluate(D,j),Ft=this.paint.get(\"fill-extrusion-base\").evaluate(D,j),Qt=function(Tr,Pr,$r,ni){let Di=[];for(let pi of Tr){let ki=[pi.x,pi.y,0,1];Za(ki,ki,Pr),Di.push(new u(ki[0]/ki[3],ki[1]/ki[3]))}return Di}(at,Ze),sr=function(Tr,Pr,$r,ni){let Di=[],pi=[],ki=ni[8]*Pr,Zi=ni[9]*Pr,ta=ni[10]*Pr,Va=ni[11]*Pr,Io=ni[8]*$r,La=ni[9]*$r,Hn=ni[10]*$r,lo=ni[11]*$r;for(let $a of Tr){let Xa=[],Tn=[];for(let bo of $a){let Ya=bo.x,Uo=bo.y,wu=ni[0]*Ya+ni[4]*Uo+ni[12],hu=ni[1]*Ya+ni[5]*Uo+ni[13],uh=ni[2]*Ya+ni[6]*Uo+ni[14],$v=ni[3]*Ya+ni[7]*Uo+ni[15],td=uh+ta,ch=$v+Va,Ud=wu+Io,Vd=hu+La,Hd=uh+Hn,rf=$v+lo,fh=new u((wu+ki)/ch,(hu+Zi)/ch);fh.z=td/ch,Xa.push(fh);let Td=new u(Ud/rf,Vd/rf);Td.z=Hd/rf,Tn.push(Td)}Di.push(Xa),pi.push(Tn)}return[Di,pi]}(te,Ft,Tt,Ze);return function(Tr,Pr,$r){let ni=1/0;Er($r,Pr)&&(ni=Yv($r,Pr[0]));for(let Di=0;Di<Pr.length;Di++){let pi=Pr[Di],ki=Tr[Di];for(let Zi=0;Zi<pi.length-1;Zi++){let ta=pi[Zi],Va=[ta,pi[Zi+1],ki[Zi+1],ki[Zi],ta];xc($r,Va)&&(ni=Math.min(ni,Yv($r,Va)))}}return ni!==1/0&&ni}(sr[0],sr[1],Qt)}}function yd(R,S){return R.x*S.x+R.y*S.y}function Yv(R,S){if(R.length===1){let D=0,j=S[D++],te;for(;!te||j.equals(te);)if(te=S[D++],!te)return 1/0;for(;D<S.length;D++){let ue=S[D],ve=R[0],De=te.sub(j),Ze=ue.sub(j),at=ve.sub(j),Tt=yd(De,De),Ft=yd(De,Ze),Qt=yd(Ze,Ze),sr=yd(at,De),Tr=yd(at,Ze),Pr=Tt*Qt-Ft*Ft,$r=(Qt*sr-Ft*Tr)/Pr,ni=(Tt*Tr-Ft*sr)/Pr,Di=j.z*(1-$r-ni)+te.z*$r+ue.z*ni;if(isFinite(Di))return Di}return 1/0}{let D=1/0;for(let j of S)D=Math.min(D,j.z);return D}}let cg=qe([{name:\"a_pos_normal\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}],4),{members:vp}=cg,_d=qe([{name:\"a_uv_x\",components:1,type:\"Float32\"},{name:\"a_split_index\",components:1,type:\"Float32\"}]),{members:pp}=_d,Nd=ei.VectorTileFeature.types,xd=Math.cos(Math.PI/180*37.5),kv=Math.pow(2,14)/.5;class Kv{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(D=>{this.gradients[D.id]={}}),this.layoutVertexArray=new Zu,this.layoutVertexArray2=new cu,this.indexArray=new oe,this.programConfigurations=new _s(S.layers,S.zoom),this.segments=new We,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){this.hasPattern=Wt(\"line\",this.layers,D);let te=this.layers[0].layout.get(\"line-sort-key\"),ue=!te.isConstant(),ve=[];for(let{feature:De,id:Ze,index:at,sourceLayerIndex:Tt}of S){let Ft=this.layers[0]._featureFilter.needGeometry,Qt=xl(De,Ft);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),Qt,j))continue;let sr=ue?te.evaluate(Qt,{},j):void 0,Tr={id:Ze,properties:De.properties,type:De.type,sourceLayerIndex:Tt,index:at,geometry:Ft?Qt.geometry:js(De),patterns:{},sortKey:sr};ve.push(Tr)}ue&&ve.sort((De,Ze)=>De.sortKey-Ze.sortKey);for(let De of ve){let{geometry:Ze,index:at,sourceLayerIndex:Tt}=De;if(this.hasPattern){let Ft=rr(\"line\",this.layers,De,this.zoom,D);this.patternFeatures.push(Ft)}else this.addFeature(De,Ze,at,j,{});D.featureIndex.insert(S[at].feature,Ze,at,Tt,this.index)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}addFeatures(S,D,j){for(let te of this.patternFeatures)this.addFeature(te,te.geometry,te.index,D,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=S.createVertexBuffer(this.layoutVertexArray2,pp)),this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,vp),this.indexBuffer=S.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(S),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(S){if(S.properties&&Object.prototype.hasOwnProperty.call(S.properties,\"mapbox_clip_start\")&&Object.prototype.hasOwnProperty.call(S.properties,\"mapbox_clip_end\"))return{start:+S.properties.mapbox_clip_start,end:+S.properties.mapbox_clip_end}}addFeature(S,D,j,te,ue){let ve=this.layers[0].layout,De=ve.get(\"line-join\").evaluate(S,{}),Ze=ve.get(\"line-cap\"),at=ve.get(\"line-miter-limit\"),Tt=ve.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(S);for(let Ft of D)this.addLine(Ft,S,De,Ze,at,Tt);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,ue,te)}addLine(S,D,j,te,ue,ve){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let ni=0;ni<S.length-1;ni++)this.totalDistance+=S[ni].dist(S[ni+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}let De=Nd[D.type]===\"Polygon\",Ze=S.length;for(;Ze>=2&&S[Ze-1].equals(S[Ze-2]);)Ze--;let at=0;for(;at<Ze-1&&S[at].equals(S[at+1]);)at++;if(Ze<(De?3:2))return;j===\"bevel\"&&(ue=1.05);let Tt=this.overscaling<=16?15*za/(512*this.overscaling):0,Ft=this.segments.prepareSegment(10*Ze,this.layoutVertexArray,this.indexArray),Qt,sr,Tr,Pr,$r;this.e1=this.e2=-1,De&&(Qt=S[Ze-2],$r=S[at].sub(Qt)._unit()._perp());for(let ni=at;ni<Ze;ni++){if(Tr=ni===Ze-1?De?S[at+1]:void 0:S[ni+1],Tr&&S[ni].equals(Tr))continue;$r&&(Pr=$r),Qt&&(sr=Qt),Qt=S[ni],$r=Tr?Tr.sub(Qt)._unit()._perp():Pr,Pr=Pr||$r;let Di=Pr.add($r);Di.x===0&&Di.y===0||Di._unit();let pi=Pr.x*$r.x+Pr.y*$r.y,ki=Di.x*$r.x+Di.y*$r.y,Zi=ki!==0?1/ki:1/0,ta=2*Math.sqrt(2-2*ki),Va=ki<xd&&sr&&Tr,Io=Pr.x*$r.y-Pr.y*$r.x>0;if(Va&&ni>at){let lo=Qt.dist(sr);if(lo>2*Tt){let $a=Qt.sub(Qt.sub(sr)._mult(Tt/lo)._round());this.updateDistance(sr,$a),this.addCurrentVertex($a,Pr,0,0,Ft),sr=$a}}let La=sr&&Tr,Hn=La?j:De?\"butt\":te;if(La&&Hn===\"round\"&&(Zi<ve?Hn=\"miter\":Zi<=2&&(Hn=\"fakeround\")),Hn===\"miter\"&&Zi>ue&&(Hn=\"bevel\"),Hn===\"bevel\"&&(Zi>2&&(Hn=\"flipbevel\"),Zi<ue&&(Hn=\"miter\")),sr&&this.updateDistance(sr,Qt),Hn===\"miter\")Di._mult(Zi),this.addCurrentVertex(Qt,Di,0,0,Ft);else if(Hn===\"flipbevel\"){if(Zi>100)Di=$r.mult(-1);else{let lo=Zi*Pr.add($r).mag()/Pr.sub($r).mag();Di._perp()._mult(lo*(Io?-1:1))}this.addCurrentVertex(Qt,Di,0,0,Ft),this.addCurrentVertex(Qt,Di.mult(-1),0,0,Ft)}else if(Hn===\"bevel\"||Hn===\"fakeround\"){let lo=-Math.sqrt(Zi*Zi-1),$a=Io?lo:0,Xa=Io?0:lo;if(sr&&this.addCurrentVertex(Qt,Pr,$a,Xa,Ft),Hn===\"fakeround\"){let Tn=Math.round(180*ta/Math.PI/20);for(let bo=1;bo<Tn;bo++){let Ya=bo/Tn;if(Ya!==.5){let wu=Ya-.5;Ya+=Ya*wu*(Ya-1)*((1.0904+pi*(pi*(3.55645-1.43519*pi)-3.2452))*wu*wu+(.848013+pi*(.215638*pi-1.06021)))}let Uo=$r.sub(Pr)._mult(Ya)._add(Pr)._unit()._mult(Io?-1:1);this.addHalfVertex(Qt,Uo.x,Uo.y,!1,Io,0,Ft)}}Tr&&this.addCurrentVertex(Qt,$r,-$a,-Xa,Ft)}else if(Hn===\"butt\")this.addCurrentVertex(Qt,Di,0,0,Ft);else if(Hn===\"square\"){let lo=sr?1:-1;this.addCurrentVertex(Qt,Di,lo,lo,Ft)}else Hn===\"round\"&&(sr&&(this.addCurrentVertex(Qt,Pr,0,0,Ft),this.addCurrentVertex(Qt,Pr,1,1,Ft,!0)),Tr&&(this.addCurrentVertex(Qt,$r,-1,-1,Ft,!0),this.addCurrentVertex(Qt,$r,0,0,Ft)));if(Va&&ni<Ze-1){let lo=Qt.dist(Tr);if(lo>2*Tt){let $a=Qt.add(Tr.sub(Qt)._mult(Tt/lo)._round());this.updateDistance(Qt,$a),this.addCurrentVertex($a,$r,0,0,Ft),Qt=$a}}}}addCurrentVertex(S,D,j,te,ue,ve=!1){let De=D.y*te-D.x,Ze=-D.y-D.x*te;this.addHalfVertex(S,D.x+D.y*j,D.y-D.x*j,ve,!1,j,ue),this.addHalfVertex(S,De,Ze,ve,!0,-te,ue),this.distance>kv/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(S,D,j,te,ue,ve))}addHalfVertex({x:S,y:D},j,te,ue,ve,De,Ze){let at=.5*(this.lineClips?this.scaledDistance*(kv-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((S<<1)+(ue?1:0),(D<<1)+(ve?1:0),Math.round(63*j)+128,Math.round(63*te)+128,1+(De===0?0:De<0?-1:1)|(63&at)<<2,at>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let Tt=Ze.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Tt),Ze.primitiveLength++),ve?this.e2=Tt:this.e1=Tt}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(S,D){this.distance+=S.dist(D),this.updateScaledDistance()}}let Cv,ny;mi(\"LineBucket\",Kv,{omit:[\"layers\",\"patternFeatures\"]});var fg={get paint(){return ny=ny||new le({\"line-opacity\":new eo(ce.paint_line[\"line-opacity\"]),\"line-color\":new eo(ce.paint_line[\"line-color\"]),\"line-translate\":new Da(ce.paint_line[\"line-translate\"]),\"line-translate-anchor\":new Da(ce.paint_line[\"line-translate-anchor\"]),\"line-width\":new eo(ce.paint_line[\"line-width\"]),\"line-gap-width\":new eo(ce.paint_line[\"line-gap-width\"]),\"line-offset\":new eo(ce.paint_line[\"line-offset\"]),\"line-blur\":new eo(ce.paint_line[\"line-blur\"]),\"line-dasharray\":new yc(ce.paint_line[\"line-dasharray\"]),\"line-pattern\":new Jc(ce.paint_line[\"line-pattern\"]),\"line-gradient\":new _c(ce.paint_line[\"line-gradient\"])})},get layout(){return Cv=Cv||new le({\"line-cap\":new Da(ce.layout_line[\"line-cap\"]),\"line-join\":new eo(ce.layout_line[\"line-join\"]),\"line-miter-limit\":new Da(ce.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new Da(ce.layout_line[\"line-round-limit\"]),\"line-sort-key\":new eo(ce.layout_line[\"line-sort-key\"])})}};class Hf extends eo{possiblyEvaluate(S,D){return D=new Ko(Math.floor(D.zoom),{now:D.now,fadeDuration:D.fadeDuration,zoomHistory:D.zoomHistory,transition:D.transition}),super.possiblyEvaluate(S,D)}evaluate(S,D,j,te){return D=L({},D,{zoom:Math.floor(D.zoom)}),super.evaluate(S,D,j,te)}}let hg;class ay extends B{constructor(S){super(S,fg),this.gradientVersion=0,hg||(hg=new Hf(fg.paint.properties[\"line-width\"].specification),hg.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(S){if(S===\"line-gradient\"){let D=this.gradientExpression();this.stepInterpolant=!!function(j){return j._styleExpression!==void 0}(D)&&D._styleExpression.expression instanceof Ji,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values[\"line-gradient\"].value.expression}recalculate(S,D){super.recalculate(S,D),this.paint._values[\"line-floorwidth\"]=hg.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,S)}createBucket(S){return new Kv(S)}queryRadius(S){let D=S,j=Rh(yn(\"line-width\",this,D),yn(\"line-gap-width\",this,D)),te=yn(\"line-offset\",this,D);return j/2+Math.abs(te)+to(this.paint.get(\"line-translate\"))}queryIntersectsFeature(S,D,j,te,ue,ve,De){let Ze=Rn(S,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),ve.angle,De),at=De/2*Rh(this.paint.get(\"line-width\").evaluate(D,j),this.paint.get(\"line-gap-width\").evaluate(D,j)),Tt=this.paint.get(\"line-offset\").evaluate(D,j);return Tt&&(te=function(Ft,Qt){let sr=[];for(let Tr=0;Tr<Ft.length;Tr++){let Pr=Ft[Tr],$r=[];for(let ni=0;ni<Pr.length;ni++){let Di=Pr[ni-1],pi=Pr[ni],ki=Pr[ni+1],Zi=ni===0?new u(0,0):pi.sub(Di)._unit()._perp(),ta=ni===Pr.length-1?new u(0,0):ki.sub(pi)._unit()._perp(),Va=Zi._add(ta)._unit(),Io=Va.x*ta.x+Va.y*ta.y;Io!==0&&Va._mult(1/Io),$r.push(Va._mult(Qt)._add(pi))}sr.push($r)}return sr}(te,Tt*De)),function(Ft,Qt,sr){for(let Tr=0;Tr<Qt.length;Tr++){let Pr=Qt[Tr];if(Ft.length>=3){for(let $r=0;$r<Pr.length;$r++)if(On(Ft,Pr[$r]))return!0}if(Wr(Ft,Pr,sr))return!0}return!1}(Ze,te,at)}isTileClipped(){return!0}}function Rh(R,S){return S>0?S+2*R:R}let rm=qe([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),w1=qe([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4);qe([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);let T1=qe([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"},{name:\"a_box_real\",components:2,type:\"Int16\"}]);qe([{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\"}]);let oy=qe([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),im=qe([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function nm(R,S,D){return R.sections.forEach(j=>{j.text=function(te,ue,ve){let De=ue.layout.get(\"text-transform\").evaluate(ve,{});return De===\"uppercase\"?te=te.toLocaleUpperCase():De===\"lowercase\"&&(te=te.toLocaleLowerCase()),vs.applyArabicShaping&&(te=vs.applyArabicShaping(te)),te}(j.text,S,D)}),R}qe([{name:\"triangle\",components:3,type:\"Uint16\"}]),qe([{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\"}]),qe([{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\"}]),qe([{type:\"Float32\",name:\"offsetX\"}]),qe([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]),qe([{type:\"Uint16\",name:\"textAnchor\"},{type:\"Float32\",components:2,name:\"textOffset\"}]);let Fu={\"!\":\"\\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 kl=24,bd=Kl,sy=function(R,S,D,j,te){var ue,ve,De=8*te-j-1,Ze=(1<<De)-1,at=Ze>>1,Tt=-7,Ft=D?te-1:0,Qt=D?-1:1,sr=R[S+Ft];for(Ft+=Qt,ue=sr&(1<<-Tt)-1,sr>>=-Tt,Tt+=De;Tt>0;ue=256*ue+R[S+Ft],Ft+=Qt,Tt-=8);for(ve=ue&(1<<-Tt)-1,ue>>=-Tt,Tt+=j;Tt>0;ve=256*ve+R[S+Ft],Ft+=Qt,Tt-=8);if(ue===0)ue=1-at;else{if(ue===Ze)return ve?NaN:1/0*(sr?-1:1);ve+=Math.pow(2,j),ue-=at}return(sr?-1:1)*ve*Math.pow(2,ue-j)},A1=function(R,S,D,j,te,ue){var ve,De,Ze,at=8*ue-te-1,Tt=(1<<at)-1,Ft=Tt>>1,Qt=te===23?Math.pow(2,-24)-Math.pow(2,-77):0,sr=j?0:ue-1,Tr=j?1:-1,Pr=S<0||S===0&&1/S<0?1:0;for(S=Math.abs(S),isNaN(S)||S===1/0?(De=isNaN(S)?1:0,ve=Tt):(ve=Math.floor(Math.log(S)/Math.LN2),S*(Ze=Math.pow(2,-ve))<1&&(ve--,Ze*=2),(S+=ve+Ft>=1?Qt/Ze:Qt*Math.pow(2,1-Ft))*Ze>=2&&(ve++,Ze/=2),ve+Ft>=Tt?(De=0,ve=Tt):ve+Ft>=1?(De=(S*Ze-1)*Math.pow(2,te),ve+=Ft):(De=S*Math.pow(2,Ft-1)*Math.pow(2,te),ve=0));te>=8;R[D+sr]=255&De,sr+=Tr,De/=256,te-=8);for(ve=ve<<te|De,at+=te;at>0;R[D+sr]=255&ve,sr+=Tr,ve/=256,at-=8);R[D+sr-Tr]|=128*Pr};function Kl(R){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(R)?R:new Uint8Array(R||0),this.pos=0,this.type=0,this.length=this.buf.length}Kl.Varint=0,Kl.Fixed64=1,Kl.Bytes=2,Kl.Fixed32=5;var Nx=4294967296,am=1/Nx,Mw=typeof TextDecoder==\"undefined\"?null:new TextDecoder(\"utf-8\");function Lv(R){return R.type===Kl.Bytes?R.readVarint()+R.pos:R.pos+1}function om(R,S,D){return D?4294967296*S+(R>>>0):4294967296*(S>>>0)+(R>>>0)}function Ew(R,S,D){var j=S<=16383?1:S<=2097151?2:S<=268435455?3:Math.floor(Math.log(S)/(7*Math.LN2));D.realloc(j);for(var te=D.pos-1;te>=R;te--)D.buf[te+j]=D.buf[te]}function Ux(R,S){for(var D=0;D<R.length;D++)S.writeVarint(R[D])}function P9(R,S){for(var D=0;D<R.length;D++)S.writeSVarint(R[D])}function I9(R,S){for(var D=0;D<R.length;D++)S.writeFloat(R[D])}function R9(R,S){for(var D=0;D<R.length;D++)S.writeDouble(R[D])}function D9(R,S){for(var D=0;D<R.length;D++)S.writeBoolean(R[D])}function mQ(R,S){for(var D=0;D<R.length;D++)S.writeFixed32(R[D])}function z9(R,S){for(var D=0;D<R.length;D++)S.writeSFixed32(R[D])}function F9(R,S){for(var D=0;D<R.length;D++)S.writeFixed64(R[D])}function q9(R,S){for(var D=0;D<R.length;D++)S.writeSFixed64(R[D])}function ly(R,S){return(R[S]|R[S+1]<<8|R[S+2]<<16)+16777216*R[S+3]}function Vx(R,S,D){R[D]=S,R[D+1]=S>>>8,R[D+2]=S>>>16,R[D+3]=S>>>24}function cC(R,S){return(R[S]|R[S+1]<<8|R[S+2]<<16)+(R[S+3]<<24)}Kl.prototype={destroy:function(){this.buf=null},readFields:function(R,S,D){for(D=D||this.length;this.pos<D;){var j=this.readVarint(),te=j>>3,ue=this.pos;this.type=7&j,R(te,S,this),this.pos===ue&&this.skip(j)}return S},readMessage:function(R,S){return this.readFields(R,S,this.readVarint()+this.pos)},readFixed32:function(){var R=ly(this.buf,this.pos);return this.pos+=4,R},readSFixed32:function(){var R=cC(this.buf,this.pos);return this.pos+=4,R},readFixed64:function(){var R=ly(this.buf,this.pos)+ly(this.buf,this.pos+4)*Nx;return this.pos+=8,R},readSFixed64:function(){var R=ly(this.buf,this.pos)+cC(this.buf,this.pos+4)*Nx;return this.pos+=8,R},readFloat:function(){var R=sy(this.buf,this.pos,!0,23,4);return this.pos+=4,R},readDouble:function(){var R=sy(this.buf,this.pos,!0,52,8);return this.pos+=8,R},readVarint:function(R){var S,D,j=this.buf;return S=127&(D=j[this.pos++]),D<128?S:(S|=(127&(D=j[this.pos++]))<<7,D<128?S:(S|=(127&(D=j[this.pos++]))<<14,D<128?S:(S|=(127&(D=j[this.pos++]))<<21,D<128?S:function(te,ue,ve){var De,Ze,at=ve.buf;if(De=(112&(Ze=at[ve.pos++]))>>4,Ze<128||(De|=(127&(Ze=at[ve.pos++]))<<3,Ze<128)||(De|=(127&(Ze=at[ve.pos++]))<<10,Ze<128)||(De|=(127&(Ze=at[ve.pos++]))<<17,Ze<128)||(De|=(127&(Ze=at[ve.pos++]))<<24,Ze<128)||(De|=(1&(Ze=at[ve.pos++]))<<31,Ze<128))return om(te,De,ue);throw new Error(\"Expected varint not more than 10 bytes\")}(S|=(15&(D=j[this.pos]))<<28,R,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var R=this.readVarint();return R%2==1?(R+1)/-2:R/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var R=this.readVarint()+this.pos,S=this.pos;return this.pos=R,R-S>=12&&Mw?function(D,j,te){return Mw.decode(D.subarray(j,te))}(this.buf,S,R):function(D,j,te){for(var ue=\"\",ve=j;ve<te;){var De,Ze,at,Tt=D[ve],Ft=null,Qt=Tt>239?4:Tt>223?3:Tt>191?2:1;if(ve+Qt>te)break;Qt===1?Tt<128&&(Ft=Tt):Qt===2?(192&(De=D[ve+1]))==128&&(Ft=(31&Tt)<<6|63&De)<=127&&(Ft=null):Qt===3?(Ze=D[ve+2],(192&(De=D[ve+1]))==128&&(192&Ze)==128&&((Ft=(15&Tt)<<12|(63&De)<<6|63&Ze)<=2047||Ft>=55296&&Ft<=57343)&&(Ft=null)):Qt===4&&(Ze=D[ve+2],at=D[ve+3],(192&(De=D[ve+1]))==128&&(192&Ze)==128&&(192&at)==128&&((Ft=(15&Tt)<<18|(63&De)<<12|(63&Ze)<<6|63&at)<=65535||Ft>=1114112)&&(Ft=null)),Ft===null?(Ft=65533,Qt=1):Ft>65535&&(Ft-=65536,ue+=String.fromCharCode(Ft>>>10&1023|55296),Ft=56320|1023&Ft),ue+=String.fromCharCode(Ft),ve+=Qt}return ue}(this.buf,S,R)},readBytes:function(){var R=this.readVarint()+this.pos,S=this.buf.subarray(this.pos,R);return this.pos=R,S},readPackedVarint:function(R,S){if(this.type!==Kl.Bytes)return R.push(this.readVarint(S));var D=Lv(this);for(R=R||[];this.pos<D;)R.push(this.readVarint(S));return R},readPackedSVarint:function(R){if(this.type!==Kl.Bytes)return R.push(this.readSVarint());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readSVarint());return R},readPackedBoolean:function(R){if(this.type!==Kl.Bytes)return R.push(this.readBoolean());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readBoolean());return R},readPackedFloat:function(R){if(this.type!==Kl.Bytes)return R.push(this.readFloat());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readFloat());return R},readPackedDouble:function(R){if(this.type!==Kl.Bytes)return R.push(this.readDouble());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readDouble());return R},readPackedFixed32:function(R){if(this.type!==Kl.Bytes)return R.push(this.readFixed32());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readFixed32());return R},readPackedSFixed32:function(R){if(this.type!==Kl.Bytes)return R.push(this.readSFixed32());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readSFixed32());return R},readPackedFixed64:function(R){if(this.type!==Kl.Bytes)return R.push(this.readFixed64());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readFixed64());return R},readPackedSFixed64:function(R){if(this.type!==Kl.Bytes)return R.push(this.readSFixed64());var S=Lv(this);for(R=R||[];this.pos<S;)R.push(this.readSFixed64());return R},skip:function(R){var S=7&R;if(S===Kl.Varint)for(;this.buf[this.pos++]>127;);else if(S===Kl.Bytes)this.pos=this.readVarint()+this.pos;else if(S===Kl.Fixed32)this.pos+=4;else{if(S!==Kl.Fixed64)throw new Error(\"Unimplemented type: \"+S);this.pos+=8}},writeTag:function(R,S){this.writeVarint(R<<3|S)},realloc:function(R){for(var S=this.length||16;S<this.pos+R;)S*=2;if(S!==this.length){var D=new Uint8Array(S);D.set(this.buf),this.buf=D,this.length=S}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(R){this.realloc(4),Vx(this.buf,R,this.pos),this.pos+=4},writeSFixed32:function(R){this.realloc(4),Vx(this.buf,R,this.pos),this.pos+=4},writeFixed64:function(R){this.realloc(8),Vx(this.buf,-1&R,this.pos),Vx(this.buf,Math.floor(R*am),this.pos+4),this.pos+=8},writeSFixed64:function(R){this.realloc(8),Vx(this.buf,-1&R,this.pos),Vx(this.buf,Math.floor(R*am),this.pos+4),this.pos+=8},writeVarint:function(R){(R=+R||0)>268435455||R<0?function(S,D){var j,te;if(S>=0?(j=S%4294967296|0,te=S/4294967296|0):(te=~(-S/4294967296),4294967295^(j=~(-S%4294967296))?j=j+1|0:(j=0,te=te+1|0)),S>=18446744073709552e3||S<-18446744073709552e3)throw new Error(\"Given varint doesn't fit into 10 bytes\");D.realloc(10),function(ue,ve,De){De.buf[De.pos++]=127&ue|128,ue>>>=7,De.buf[De.pos++]=127&ue|128,ue>>>=7,De.buf[De.pos++]=127&ue|128,ue>>>=7,De.buf[De.pos++]=127&ue|128,De.buf[De.pos]=127&(ue>>>=7)}(j,0,D),function(ue,ve){var De=(7&ue)<<4;ve.buf[ve.pos++]|=De|((ue>>>=3)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue)))))}(te,D)}(R,this):(this.realloc(4),this.buf[this.pos++]=127&R|(R>127?128:0),R<=127||(this.buf[this.pos++]=127&(R>>>=7)|(R>127?128:0),R<=127||(this.buf[this.pos++]=127&(R>>>=7)|(R>127?128:0),R<=127||(this.buf[this.pos++]=R>>>7&127))))},writeSVarint:function(R){this.writeVarint(R<0?2*-R-1:2*R)},writeBoolean:function(R){this.writeVarint(!!R)},writeString:function(R){R=String(R),this.realloc(4*R.length),this.pos++;var S=this.pos;this.pos=function(j,te,ue){for(var ve,De,Ze=0;Ze<te.length;Ze++){if((ve=te.charCodeAt(Ze))>55295&&ve<57344){if(!De){ve>56319||Ze+1===te.length?(j[ue++]=239,j[ue++]=191,j[ue++]=189):De=ve;continue}if(ve<56320){j[ue++]=239,j[ue++]=191,j[ue++]=189,De=ve;continue}ve=De-55296<<10|ve-56320|65536,De=null}else De&&(j[ue++]=239,j[ue++]=191,j[ue++]=189,De=null);ve<128?j[ue++]=ve:(ve<2048?j[ue++]=ve>>6|192:(ve<65536?j[ue++]=ve>>12|224:(j[ue++]=ve>>18|240,j[ue++]=ve>>12&63|128),j[ue++]=ve>>6&63|128),j[ue++]=63&ve|128)}return ue}(this.buf,R,this.pos);var D=this.pos-S;D>=128&&Ew(S,D,this),this.pos=S-1,this.writeVarint(D),this.pos+=D},writeFloat:function(R){this.realloc(4),A1(this.buf,R,this.pos,!0,23,4),this.pos+=4},writeDouble:function(R){this.realloc(8),A1(this.buf,R,this.pos,!0,52,8),this.pos+=8},writeBytes:function(R){var S=R.length;this.writeVarint(S),this.realloc(S);for(var D=0;D<S;D++)this.buf[this.pos++]=R[D]},writeRawMessage:function(R,S){this.pos++;var D=this.pos;R(S,this);var j=this.pos-D;j>=128&&Ew(D,j,this),this.pos=D-1,this.writeVarint(j),this.pos+=j},writeMessage:function(R,S,D){this.writeTag(R,Kl.Bytes),this.writeRawMessage(S,D)},writePackedVarint:function(R,S){S.length&&this.writeMessage(R,Ux,S)},writePackedSVarint:function(R,S){S.length&&this.writeMessage(R,P9,S)},writePackedBoolean:function(R,S){S.length&&this.writeMessage(R,D9,S)},writePackedFloat:function(R,S){S.length&&this.writeMessage(R,I9,S)},writePackedDouble:function(R,S){S.length&&this.writeMessage(R,R9,S)},writePackedFixed32:function(R,S){S.length&&this.writeMessage(R,mQ,S)},writePackedSFixed32:function(R,S){S.length&&this.writeMessage(R,z9,S)},writePackedFixed64:function(R,S){S.length&&this.writeMessage(R,F9,S)},writePackedSFixed64:function(R,S){S.length&&this.writeMessage(R,q9,S)},writeBytesField:function(R,S){this.writeTag(R,Kl.Bytes),this.writeBytes(S)},writeFixed32Field:function(R,S){this.writeTag(R,Kl.Fixed32),this.writeFixed32(S)},writeSFixed32Field:function(R,S){this.writeTag(R,Kl.Fixed32),this.writeSFixed32(S)},writeFixed64Field:function(R,S){this.writeTag(R,Kl.Fixed64),this.writeFixed64(S)},writeSFixed64Field:function(R,S){this.writeTag(R,Kl.Fixed64),this.writeSFixed64(S)},writeVarintField:function(R,S){this.writeTag(R,Kl.Varint),this.writeVarint(S)},writeSVarintField:function(R,S){this.writeTag(R,Kl.Varint),this.writeSVarint(S)},writeStringField:function(R,S){this.writeTag(R,Kl.Bytes),this.writeString(S)},writeFloatField:function(R,S){this.writeTag(R,Kl.Fixed32),this.writeFloat(S)},writeDoubleField:function(R,S){this.writeTag(R,Kl.Fixed64),this.writeDouble(S)},writeBooleanField:function(R,S){this.writeVarintField(R,!!S)}};var eS=o(bd);let tS=3;function yQ(R,S,D){R===1&&D.readMessage(O9,S)}function O9(R,S,D){if(R===3){let{id:j,bitmap:te,width:ue,height:ve,left:De,top:Ze,advance:at}=D.readMessage(fC,{});S.push({id:j,bitmap:new Ao({width:ue+2*tS,height:ve+2*tS},te),metrics:{width:ue,height:ve,left:De,top:Ze,advance:at}})}}function fC(R,S,D){R===1?S.id=D.readVarint():R===2?S.bitmap=D.readBytes():R===3?S.width=D.readVarint():R===4?S.height=D.readVarint():R===5?S.left=D.readSVarint():R===6?S.top=D.readSVarint():R===7&&(S.advance=D.readVarint())}let hC=tS;function rS(R){let S=0,D=0;for(let ve of R)S+=ve.w*ve.h,D=Math.max(D,ve.w);R.sort((ve,De)=>De.h-ve.h);let j=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(S/.95)),D),h:1/0}],te=0,ue=0;for(let ve of R)for(let De=j.length-1;De>=0;De--){let Ze=j[De];if(!(ve.w>Ze.w||ve.h>Ze.h)){if(ve.x=Ze.x,ve.y=Ze.y,ue=Math.max(ue,ve.y+ve.h),te=Math.max(te,ve.x+ve.w),ve.w===Ze.w&&ve.h===Ze.h){let at=j.pop();De<j.length&&(j[De]=at)}else ve.h===Ze.h?(Ze.x+=ve.w,Ze.w-=ve.w):ve.w===Ze.w?(Ze.y+=ve.h,Ze.h-=ve.h):(j.push({x:Ze.x+ve.w,y:Ze.y,w:Ze.w-ve.w,h:ve.h}),Ze.y+=ve.h,Ze.h-=ve.h);break}}return{w:te,h:ue,fill:S/(te*ue)||0}}let wd=1;class kw{constructor(S,{pixelRatio:D,version:j,stretchX:te,stretchY:ue,content:ve,textFitWidth:De,textFitHeight:Ze}){this.paddedRect=S,this.pixelRatio=D,this.stretchX=te,this.stretchY=ue,this.content=ve,this.version=j,this.textFitWidth=De,this.textFitHeight=Ze}get tl(){return[this.paddedRect.x+wd,this.paddedRect.y+wd]}get br(){return[this.paddedRect.x+this.paddedRect.w-wd,this.paddedRect.y+this.paddedRect.h-wd]}get tlbr(){return this.tl.concat(this.br)}get displaySize(){return[(this.paddedRect.w-2*wd)/this.pixelRatio,(this.paddedRect.h-2*wd)/this.pixelRatio]}}class Cw{constructor(S,D){let j={},te={};this.haveRenderCallbacks=[];let ue=[];this.addImages(S,j,ue),this.addImages(D,te,ue);let{w:ve,h:De}=rS(ue),Ze=new Jn({width:ve||1,height:De||1});for(let at in S){let Tt=S[at],Ft=j[at].paddedRect;Jn.copy(Tt.data,Ze,{x:0,y:0},{x:Ft.x+wd,y:Ft.y+wd},Tt.data)}for(let at in D){let Tt=D[at],Ft=te[at].paddedRect,Qt=Ft.x+wd,sr=Ft.y+wd,Tr=Tt.data.width,Pr=Tt.data.height;Jn.copy(Tt.data,Ze,{x:0,y:0},{x:Qt,y:sr},Tt.data),Jn.copy(Tt.data,Ze,{x:0,y:Pr-1},{x:Qt,y:sr-1},{width:Tr,height:1}),Jn.copy(Tt.data,Ze,{x:0,y:0},{x:Qt,y:sr+Pr},{width:Tr,height:1}),Jn.copy(Tt.data,Ze,{x:Tr-1,y:0},{x:Qt-1,y:sr},{width:1,height:Pr}),Jn.copy(Tt.data,Ze,{x:0,y:0},{x:Qt+Tr,y:sr},{width:1,height:Pr})}this.image=Ze,this.iconPositions=j,this.patternPositions=te}addImages(S,D,j){for(let te in S){let ue=S[te],ve={x:0,y:0,w:ue.data.width+2*wd,h:ue.data.height+2*wd};j.push(ve),D[te]=new kw(ve,ue),ue.hasRenderCallback&&this.haveRenderCallbacks.push(te)}}patchUpdatedImages(S,D){S.dispatchRenderCallbacks(this.haveRenderCallbacks);for(let j in S.updatedImages)this.patchUpdatedImage(this.iconPositions[j],S.getImage(j),D),this.patchUpdatedImage(this.patternPositions[j],S.getImage(j),D)}patchUpdatedImage(S,D,j){if(!S||!D||S.version===D.version)return;S.version=D.version;let[te,ue]=S.tl;j.update(D.data,void 0,{x:te,y:ue})}}var Pv;mi(\"ImagePosition\",kw),mi(\"ImageAtlas\",Cw),i.ah=void 0,(Pv=i.ah||(i.ah={}))[Pv.none=0]=\"none\",Pv[Pv.horizontal=1]=\"horizontal\",Pv[Pv.vertical=2]=\"vertical\",Pv[Pv.horizontalOnly=3]=\"horizontalOnly\";let lh=-17;class Hx{constructor(){this.scale=1,this.fontStack=\"\",this.imageName=null}static forText(S,D){let j=new Hx;return j.scale=S||1,j.fontStack=D,j}static forImage(S){let D=new Hx;return D.imageName=S,D}}class S1{constructor(){this.text=\"\",this.sectionIndex=[],this.sections=[],this.imageSectionID=null}static fromFeature(S,D){let j=new S1;for(let te=0;te<S.sections.length;te++){let ue=S.sections[te];ue.image?j.addImageSection(ue):j.addTextSection(ue,D)}return j}length(){return this.text.length}getSection(S){return this.sections[this.sectionIndex[S]]}getSectionIndex(S){return this.sectionIndex[S]}getCharCode(S){return this.text.charCodeAt(S)}verticalizePunctuation(){this.text=function(S){let D=\"\";for(let j=0;j<S.length;j++){let te=S.charCodeAt(j+1)||null,ue=S.charCodeAt(j-1)||null;D+=te&&yl(te)&&!Fu[S[j+1]]||ue&&yl(ue)&&!Fu[S[j-1]]||!Fu[S[j]]?S[j]:Fu[S[j]]}return D}(this.text)}trim(){let S=0;for(let j=0;j<this.text.length&&Lw[this.text.charCodeAt(j)];j++)S++;let D=this.text.length;for(let j=this.text.length-1;j>=0&&j>=S&&Lw[this.text.charCodeAt(j)];j--)D--;this.text=this.text.substring(S,D),this.sectionIndex=this.sectionIndex.slice(S,D)}substring(S,D){let j=new S1;return j.text=this.text.substring(S,D),j.sectionIndex=this.sectionIndex.slice(S,D),j.sections=this.sections,j}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((S,D)=>Math.max(S,this.sections[D].scale),0)}addTextSection(S,D){this.text+=S.text,this.sections.push(Hx.forText(S.scale,S.fontStack||D));let j=this.sections.length-1;for(let te=0;te<S.text.length;++te)this.sectionIndex.push(j)}addImageSection(S){let D=S.image?S.image.name:\"\";if(D.length===0)return void T(\"Can't add FormattedSection with an empty image.\");let j=this.getNextImageSectionCharCode();j?(this.text+=String.fromCharCode(j),this.sections.push(Hx.forImage(D)),this.sectionIndex.push(this.sections.length-1)):T(\"Reached maximum number of images 6401\")}getNextImageSectionCharCode(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Gx(R,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr){let Pr=S1.fromFeature(R,te),$r;Ft===i.ah.vertical&&Pr.verticalizePunctuation();let{processBidirectionalText:ni,processStyledBidirectionalText:Di}=vs;if(ni&&Pr.sections.length===1){$r=[];let Zi=ni(Pr.toString(),M1(Pr,at,ue,S,j,sr));for(let ta of Zi){let Va=new S1;Va.text=ta,Va.sections=Pr.sections;for(let Io=0;Io<ta.length;Io++)Va.sectionIndex.push(0);$r.push(Va)}}else if(Di){$r=[];let Zi=Di(Pr.text,Pr.sectionIndex,M1(Pr,at,ue,S,j,sr));for(let ta of Zi){let Va=new S1;Va.text=ta[0],Va.sectionIndex=ta[1],Va.sections=Pr.sections,$r.push(Va)}}else $r=function(Zi,ta){let Va=[],Io=Zi.text,La=0;for(let Hn of ta)Va.push(Zi.substring(La,Hn)),La=Hn;return La<Io.length&&Va.push(Zi.substring(La,Io.length)),Va}(Pr,M1(Pr,at,ue,S,j,sr));let pi=[],ki={positionedLines:pi,text:Pr.toString(),top:Tt[1],bottom:Tt[1],left:Tt[0],right:Tt[0],writingMode:Ft,iconsInText:!1,verticalizable:!1};return function(Zi,ta,Va,Io,La,Hn,lo,$a,Xa,Tn,bo,Ya){let Uo=0,wu=lh,hu=0,uh=0,$v=$a===\"right\"?1:$a===\"left\"?0:.5,td=0;for(let rf of La){rf.trim();let fh=rf.getMaxScale(),Td=(fh-1)*kl,rd={positionedGlyphs:[],lineOffset:0};Zi.positionedLines[td]=rd;let Dh=rd.positionedGlyphs,xf=0;if(!rf.length()){wu+=Hn,++td;continue}for(let lv=0;lv<rf.length();lv++){let Cl=rf.getSection(lv),qu=rf.getSectionIndex(lv),Tu=rf.getCharCode(lv),Rv=0,qc=null,I1=null,p0=null,Gp=kl,Qv=!(Xa===i.ah.horizontal||!bo&&!Bo(Tu)||bo&&(Lw[Tu]||(ch=Tu,new RegExp(\"\\\\p{sc=Arab}\",\"u\").test(String.fromCodePoint(ch)))));if(Cl.imageName){let oc=Io[Cl.imageName];if(!oc)continue;p0=Cl.imageName,Zi.iconsInText=Zi.iconsInText||!0,I1=oc.paddedRect;let If=oc.displaySize;Cl.scale=Cl.scale*kl/Ya,qc={width:If[0],height:If[1],left:wd,top:-hC,advance:Qv?If[1]:If[0]},Rv=Td+(kl-If[1]*Cl.scale),Gp=qc.advance;let ep=Qv?If[0]*Cl.scale-kl*fh:If[1]*Cl.scale-kl*fh;ep>0&&ep>xf&&(xf=ep)}else{let oc=Va[Cl.fontStack],If=oc&&oc[Tu];if(If&&If.rect)I1=If.rect,qc=If.metrics;else{let ep=ta[Cl.fontStack],gg=ep&&ep[Tu];if(!gg)continue;qc=gg.metrics}Rv=(fh-Cl.scale)*kl}Qv?(Zi.verticalizable=!0,Dh.push({glyph:Tu,imageName:p0,x:Uo,y:wu+Rv,vertical:Qv,scale:Cl.scale,fontStack:Cl.fontStack,sectionIndex:qu,metrics:qc,rect:I1}),Uo+=Gp*Cl.scale+Tn):(Dh.push({glyph:Tu,imageName:p0,x:Uo,y:wu+Rv,vertical:Qv,scale:Cl.scale,fontStack:Cl.fontStack,sectionIndex:qu,metrics:qc,rect:I1}),Uo+=qc.advance*Cl.scale+Tn)}Dh.length!==0&&(hu=Math.max(Uo-Tn,hu),sm(Dh,0,Dh.length-1,$v,xf)),Uo=0;let Iv=Hn*fh+xf;rd.lineOffset=Math.max(xf,Td),wu+=Iv,uh=Math.max(Iv,uh),++td}var ch;let Ud=wu-lh,{horizontalAlign:Vd,verticalAlign:Hd}=Iw(lo);(function(rf,fh,Td,rd,Dh,xf,Iv,lv,Cl){let qu=(fh-Td)*Dh,Tu=0;Tu=xf!==Iv?-lv*rd-lh:(-rd*Cl+.5)*Iv;for(let Rv of rf)for(let qc of Rv.positionedGlyphs)qc.x+=qu,qc.y+=Tu})(Zi.positionedLines,$v,Vd,Hd,hu,uh,Hn,Ud,La.length),Zi.top+=-Hd*Ud,Zi.bottom=Zi.top+Ud,Zi.left+=-Vd*hu,Zi.right=Zi.left+hu}(ki,S,D,j,$r,ve,De,Ze,Ft,at,Qt,Tr),!function(Zi){for(let ta of Zi)if(ta.positionedGlyphs.length!==0)return!1;return!0}(pi)&&ki}let Lw={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},B9={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},N9={40:!0};function dC(R,S,D,j,te,ue){if(S.imageName){let ve=j[S.imageName];return ve?ve.displaySize[0]*S.scale*kl/ue+te:0}{let ve=D[S.fontStack],De=ve&&ve[R];return De?De.metrics.advance*S.scale+te:0}}function vC(R,S,D,j){let te=Math.pow(R-S,2);return j?R<S?te/2:2*te:te+Math.abs(D)*D}function U9(R,S,D){let j=0;return R===10&&(j-=1e4),D&&(j+=150),R!==40&&R!==65288||(j+=50),S!==41&&S!==65289||(j+=50),j}function Pw(R,S,D,j,te,ue){let ve=null,De=vC(S,D,te,ue);for(let Ze of j){let at=vC(S-Ze.x,D,te,ue)+Ze.badness;at<=De&&(ve=Ze,De=at)}return{index:R,x:S,priorBreak:ve,badness:De}}function pC(R){return R?pC(R.priorBreak).concat(R.index):[]}function M1(R,S,D,j,te,ue){if(!R)return[];let ve=[],De=function(Ft,Qt,sr,Tr,Pr,$r){let ni=0;for(let Di=0;Di<Ft.length();Di++){let pi=Ft.getSection(Di);ni+=dC(Ft.getCharCode(Di),pi,Tr,Pr,Qt,$r)}return ni/Math.max(1,Math.ceil(ni/sr))}(R,S,D,j,te,ue),Ze=R.text.indexOf(\"\\u200B\")>=0,at=0;for(let Ft=0;Ft<R.length();Ft++){let Qt=R.getSection(Ft),sr=R.getCharCode(Ft);if(Lw[sr]||(at+=dC(sr,Qt,j,te,S,ue)),Ft<R.length()-1){let Tr=!((Tt=sr)<11904)&&(!!sn[\"CJK Compatibility Forms\"](Tt)||!!sn[\"CJK Compatibility\"](Tt)||!!sn[\"CJK Strokes\"](Tt)||!!sn[\"CJK Symbols and Punctuation\"](Tt)||!!sn[\"Enclosed CJK Letters and Months\"](Tt)||!!sn[\"Halfwidth and Fullwidth Forms\"](Tt)||!!sn[\"Ideographic Description Characters\"](Tt)||!!sn[\"Vertical Forms\"](Tt)||ys.test(String.fromCodePoint(Tt)));(B9[sr]||Tr||Qt.imageName||Ft!==R.length()-2&&N9[R.getCharCode(Ft+1)])&&ve.push(Pw(Ft+1,at,De,ve,U9(sr,R.getCharCode(Ft+1),Tr&&Ze),!1))}}var Tt;return pC(Pw(R.length(),at,De,ve,0,!0))}function Iw(R){let S=.5,D=.5;switch(R){case\"right\":case\"top-right\":case\"bottom-right\":S=1;break;case\"left\":case\"top-left\":case\"bottom-left\":S=0}switch(R){case\"bottom\":case\"bottom-right\":case\"bottom-left\":D=1;break;case\"top\":case\"top-right\":case\"top-left\":D=0}return{horizontalAlign:S,verticalAlign:D}}function sm(R,S,D,j,te){if(!j&&!te)return;let ue=R[D],ve=(R[D].x+ue.metrics.advance*ue.scale)*j;for(let De=S;De<=D;De++)R[De].x-=ve,R[De].y+=te}function jx(R,S,D){let{horizontalAlign:j,verticalAlign:te}=Iw(D),ue=S[0]-R.displaySize[0]*j,ve=S[1]-R.displaySize[1]*te;return{image:R,top:ve,bottom:ve+R.displaySize[1],left:ue,right:ue+R.displaySize[0]}}function gC(R){var S,D;let j=R.left,te=R.top,ue=R.right-j,ve=R.bottom-te,De=(S=R.image.textFitWidth)!==null&&S!==void 0?S:\"stretchOrShrink\",Ze=(D=R.image.textFitHeight)!==null&&D!==void 0?D:\"stretchOrShrink\",at=(R.image.content[2]-R.image.content[0])/(R.image.content[3]-R.image.content[1]);if(Ze===\"proportional\"){if(De===\"stretchOnly\"&&ue/ve<at||De===\"proportional\"){let Tt=Math.ceil(ve*at);j*=Tt/ue,ue=Tt}}else if(De===\"proportional\"&&Ze===\"stretchOnly\"&&at!==0&&ue/ve>at){let Tt=Math.ceil(ue/at);te*=Tt/ve,ve=Tt}return{x1:j,y1:te,x2:j+ue,y2:te+ve}}function mC(R,S,D,j,te,ue){let ve=R.image,De;if(ve.content){let $r=ve.content,ni=ve.pixelRatio||1;De=[$r[0]/ni,$r[1]/ni,ve.displaySize[0]-$r[2]/ni,ve.displaySize[1]-$r[3]/ni]}let Ze=S.left*ue,at=S.right*ue,Tt,Ft,Qt,sr;D===\"width\"||D===\"both\"?(sr=te[0]+Ze-j[3],Ft=te[0]+at+j[1]):(sr=te[0]+(Ze+at-ve.displaySize[0])/2,Ft=sr+ve.displaySize[0]);let Tr=S.top*ue,Pr=S.bottom*ue;return D===\"height\"||D===\"both\"?(Tt=te[1]+Tr-j[0],Qt=te[1]+Pr+j[2]):(Tt=te[1]+(Tr+Pr-ve.displaySize[1])/2,Qt=Tt+ve.displaySize[1]),{image:ve,top:Tt,right:Ft,bottom:Qt,left:sr,collisionPadding:De}}let Wx=255,v0=128,lm=Wx*v0;function yC(R,S){let{expression:D}=S;if(D.kind===\"constant\")return{kind:\"constant\",layoutSize:D.evaluate(new Ko(R+1))};if(D.kind===\"source\")return{kind:\"source\"};{let{zoomStops:j,interpolationType:te}=D,ue=0;for(;ue<j.length&&j[ue]<=R;)ue++;ue=Math.max(0,ue-1);let ve=ue;for(;ve<j.length&&j[ve]<R+1;)ve++;ve=Math.min(j.length-1,ve);let De=j[ue],Ze=j[ve];return D.kind===\"composite\"?{kind:\"composite\",minZoom:De,maxZoom:Ze,interpolationType:te}:{kind:\"camera\",minZoom:De,maxZoom:Ze,minSize:D.evaluate(new Ko(De)),maxSize:D.evaluate(new Ko(Ze)),interpolationType:te}}}function iS(R,S,D){let j=\"never\",te=R.get(S);return te?j=te:R.get(D)&&(j=\"always\"),j}let V9=ei.VectorTileFeature.types,H9=[{name:\"a_fade_opacity\",components:1,type:\"Uint8\",offset:0}];function Rw(R,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt){let sr=De?Math.min(lm,Math.round(De[0])):0,Tr=De?Math.min(lm,Math.round(De[1])):0;R.emplaceBack(S,D,Math.round(32*j),Math.round(32*te),ue,ve,(sr<<1)+(Ze?1:0),Tr,16*at,16*Tt,256*Ft,256*Qt)}function nS(R,S,D){R.emplaceBack(S.x,S.y,D),R.emplaceBack(S.x,S.y,D),R.emplaceBack(S.x,S.y,D),R.emplaceBack(S.x,S.y,D)}function aS(R){for(let S of R.sections)if(Ka(S.text))return!0;return!1}class oS{constructor(S){this.layoutVertexArray=new au,this.indexArray=new oe,this.programConfigurations=S,this.segments=new We,this.dynamicLayoutVertexArray=new zc,this.opacityVertexArray=new zl,this.hasVisibleVertices=!1,this.placedSymbolArray=new pa}isEmpty(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0}upload(S,D,j,te){this.isEmpty()||(j&&(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,rm.members),this.indexBuffer=S.createIndexBuffer(this.indexArray,D),this.dynamicLayoutVertexBuffer=S.createVertexBuffer(this.dynamicLayoutVertexArray,w1.members,!0),this.opacityVertexBuffer=S.createVertexBuffer(this.opacityVertexArray,H9,!0),this.opacityVertexBuffer.itemSize=1),(j||te)&&this.programConfigurations.upload(S))}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())}}mi(\"SymbolBuffers\",oS);class um{constructor(S,D,j){this.layoutVertexArray=new S,this.layoutAttributes=D,this.indexArray=new j,this.segments=new We,this.collisionVertexArray=new Z}upload(S){this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=S.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=S.createVertexBuffer(this.collisionVertexArray,T1.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())}}mi(\"CollisionBuffers\",um);class E1{constructor(S){this.collisionBoxArray=S.collisionBoxArray,this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(ve=>ve.id),this.index=S.index,this.pixelRatio=S.pixelRatio,this.sourceLayerIndex=S.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=Un([]),this.placementViewportMatrix=Un([]);let D=this.layers[0]._unevaluatedLayout._values;this.textSizeData=yC(this.zoom,D[\"text-size\"]),this.iconSizeData=yC(this.zoom,D[\"icon-size\"]);let j=this.layers[0].layout,te=j.get(\"symbol-sort-key\"),ue=j.get(\"symbol-z-order\");this.canOverlap=iS(j,\"text-overlap\",\"text-allow-overlap\")!==\"never\"||iS(j,\"icon-overlap\",\"icon-allow-overlap\")!==\"never\"||j.get(\"text-ignore-placement\")||j.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=ue!==\"viewport-y\"&&!te.isConstant(),this.sortFeaturesByY=(ue===\"viewport-y\"||ue===\"auto\"&&!this.sortFeaturesByKey)&&this.canOverlap,j.get(\"symbol-placement\")===\"point\"&&(this.writingModes=j.get(\"text-writing-mode\").map(ve=>i.ah[ve])),this.stateDependentLayerIds=this.layers.filter(ve=>ve.isStateDependent()).map(ve=>ve.id),this.sourceID=S.sourceID}createArrays(){this.text=new oS(new _s(this.layers,this.zoom,S=>/^text/.test(S))),this.icon=new oS(new _s(this.layers,this.zoom,S=>/^icon/.test(S))),this.glyphOffsetArray=new To,this.lineVertexArray=new Wa,this.symbolInstances=new Ga,this.textAnchorOffsets=new Ro}calculateGlyphDependencies(S,D,j,te,ue){for(let ve=0;ve<S.length;ve++)if(D[S.charCodeAt(ve)]=!0,(j||te)&&ue){let De=Fu[S.charAt(ve)];De&&(D[De.charCodeAt(0)]=!0)}}populate(S,D,j){let te=this.layers[0],ue=te.layout,ve=ue.get(\"text-font\"),De=ue.get(\"text-field\"),Ze=ue.get(\"icon-image\"),at=(De.value.kind!==\"constant\"||De.value.value instanceof Zr&&!De.value.value.isEmpty()||De.value.value.toString().length>0)&&(ve.value.kind!==\"constant\"||ve.value.value.length>0),Tt=Ze.value.kind!==\"constant\"||!!Ze.value.value||Object.keys(Ze.parameters).length>0,Ft=ue.get(\"symbol-sort-key\");if(this.features=[],!at&&!Tt)return;let Qt=D.iconDependencies,sr=D.glyphDependencies,Tr=D.availableImages,Pr=new Ko(this.zoom);for(let{feature:$r,id:ni,index:Di,sourceLayerIndex:pi}of S){let ki=te._featureFilter.needGeometry,Zi=xl($r,ki);if(!te._featureFilter.filter(Pr,Zi,j))continue;let ta,Va;if(ki||(Zi.geometry=js($r)),at){let La=te.getValueAndResolveTokens(\"text-field\",Zi,j,Tr),Hn=Zr.factory(La),lo=this.hasRTLText=this.hasRTLText||aS(Hn);(!lo||vs.getRTLTextPluginStatus()===\"unavailable\"||lo&&vs.isParsed())&&(ta=nm(Hn,te,Zi))}if(Tt){let La=te.getValueAndResolveTokens(\"icon-image\",Zi,j,Tr);Va=La instanceof Mi?La:Mi.fromString(La)}if(!ta&&!Va)continue;let Io=this.sortFeaturesByKey?Ft.evaluate(Zi,{},j):void 0;if(this.features.push({id:ni,text:ta,icon:Va,index:Di,sourceLayerIndex:pi,geometry:Zi.geometry,properties:$r.properties,type:V9[$r.type],sortKey:Io}),Va&&(Qt[Va.name]=!0),ta){let La=ve.evaluate(Zi,{},j).join(\",\"),Hn=ue.get(\"text-rotation-alignment\")!==\"viewport\"&&ue.get(\"symbol-placement\")!==\"point\";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(i.ah.vertical)>=0;for(let lo of ta.sections)if(lo.image)Qt[lo.image.name]=!0;else{let $a=Ua(ta.toString()),Xa=lo.fontStack||La,Tn=sr[Xa]=sr[Xa]||{};this.calculateGlyphDependencies(lo.text,Tn,Hn,this.allowVerticalPlacement,$a)}}}ue.get(\"symbol-placement\")===\"line\"&&(this.features=function($r){let ni={},Di={},pi=[],ki=0;function Zi(La){pi.push($r[La]),ki++}function ta(La,Hn,lo){let $a=Di[La];return delete Di[La],Di[Hn]=$a,pi[$a].geometry[0].pop(),pi[$a].geometry[0]=pi[$a].geometry[0].concat(lo[0]),$a}function Va(La,Hn,lo){let $a=ni[Hn];return delete ni[Hn],ni[La]=$a,pi[$a].geometry[0].shift(),pi[$a].geometry[0]=lo[0].concat(pi[$a].geometry[0]),$a}function Io(La,Hn,lo){let $a=lo?Hn[0][Hn[0].length-1]:Hn[0][0];return`${La}:${$a.x}:${$a.y}`}for(let La=0;La<$r.length;La++){let Hn=$r[La],lo=Hn.geometry,$a=Hn.text?Hn.text.toString():null;if(!$a){Zi(La);continue}let Xa=Io($a,lo),Tn=Io($a,lo,!0);if(Xa in Di&&Tn in ni&&Di[Xa]!==ni[Tn]){let bo=Va(Xa,Tn,lo),Ya=ta(Xa,Tn,pi[bo].geometry);delete ni[Xa],delete Di[Tn],Di[Io($a,pi[Ya].geometry,!0)]=Ya,pi[bo].geometry=null}else Xa in Di?ta(Xa,Tn,lo):Tn in ni?Va(Xa,Tn,lo):(Zi(La),ni[Xa]=ki-1,Di[Tn]=ki-1)}return pi.filter(La=>La.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort(($r,ni)=>$r.sortKey-ni.sortKey)}update(S,D,j){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(S,D,this.layers,j),this.icon.programConfigurations.updatePaintArrays(S,D,this.layers,j))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(S){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(S),this.iconCollisionBox.upload(S)),this.text.upload(S,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(S,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(S,D){let j=this.lineVertexArray.length;if(S.segment!==void 0){let te=S.dist(D[S.segment+1]),ue=S.dist(D[S.segment]),ve={};for(let De=S.segment+1;De<D.length;De++)ve[De]={x:D[De].x,y:D[De].y,tileUnitDistanceFromAnchor:te},De<D.length-1&&(te+=D[De+1].dist(D[De]));for(let De=S.segment||0;De>=0;De--)ve[De]={x:D[De].x,y:D[De].y,tileUnitDistanceFromAnchor:ue},De>0&&(ue+=D[De-1].dist(D[De]));for(let De=0;De<D.length;De++){let Ze=ve[De];this.lineVertexArray.emplaceBack(Ze.x,Ze.y,Ze.tileUnitDistanceFromAnchor)}}return{lineStartIndex:j,lineLength:this.lineVertexArray.length-j}}addSymbols(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt){let sr=S.indexArray,Tr=S.layoutVertexArray,Pr=S.segments.prepareSegment(4*D.length,Tr,sr,this.canOverlap?ve.sortKey:void 0),$r=this.glyphOffsetArray.length,ni=Pr.vertexLength,Di=this.allowVerticalPlacement&&De===i.ah.vertical?Math.PI/2:0,pi=ve.text&&ve.text.sections;for(let ki=0;ki<D.length;ki++){let{tl:Zi,tr:ta,bl:Va,br:Io,tex:La,pixelOffsetTL:Hn,pixelOffsetBR:lo,minFontScaleX:$a,minFontScaleY:Xa,glyphOffset:Tn,isSDF:bo,sectionIndex:Ya}=D[ki],Uo=Pr.vertexLength,wu=Tn[1];Rw(Tr,Ze.x,Ze.y,Zi.x,wu+Zi.y,La.x,La.y,j,bo,Hn.x,Hn.y,$a,Xa),Rw(Tr,Ze.x,Ze.y,ta.x,wu+ta.y,La.x+La.w,La.y,j,bo,lo.x,Hn.y,$a,Xa),Rw(Tr,Ze.x,Ze.y,Va.x,wu+Va.y,La.x,La.y+La.h,j,bo,Hn.x,lo.y,$a,Xa),Rw(Tr,Ze.x,Ze.y,Io.x,wu+Io.y,La.x+La.w,La.y+La.h,j,bo,lo.x,lo.y,$a,Xa),nS(S.dynamicLayoutVertexArray,Ze,Di),sr.emplaceBack(Uo,Uo+1,Uo+2),sr.emplaceBack(Uo+1,Uo+2,Uo+3),Pr.vertexLength+=4,Pr.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(Tn[0]),ki!==D.length-1&&Ya===D[ki+1].sectionIndex||S.programConfigurations.populatePaintArrays(Tr.length,ve,ve.index,{},Qt,pi&&pi[Ya])}S.placedSymbolArray.emplaceBack(Ze.x,Ze.y,$r,this.glyphOffsetArray.length-$r,ni,at,Tt,Ze.segment,j?j[0]:0,j?j[1]:0,te[0],te[1],De,0,!1,0,Ft)}_addCollisionDebugVertex(S,D,j,te,ue,ve){return D.emplaceBack(0,0),S.emplaceBack(j.x,j.y,te,ue,Math.round(ve.x),Math.round(ve.y))}addCollisionDebugVertices(S,D,j,te,ue,ve,De){let Ze=ue.segments.prepareSegment(4,ue.layoutVertexArray,ue.indexArray),at=Ze.vertexLength,Tt=ue.layoutVertexArray,Ft=ue.collisionVertexArray,Qt=De.anchorX,sr=De.anchorY;this._addCollisionDebugVertex(Tt,Ft,ve,Qt,sr,new u(S,D)),this._addCollisionDebugVertex(Tt,Ft,ve,Qt,sr,new u(j,D)),this._addCollisionDebugVertex(Tt,Ft,ve,Qt,sr,new u(j,te)),this._addCollisionDebugVertex(Tt,Ft,ve,Qt,sr,new u(S,te)),Ze.vertexLength+=4;let Tr=ue.indexArray;Tr.emplaceBack(at,at+1),Tr.emplaceBack(at+1,at+2),Tr.emplaceBack(at+2,at+3),Tr.emplaceBack(at+3,at),Ze.primitiveLength+=4}addDebugCollisionBoxes(S,D,j,te){for(let ue=S;ue<D;ue++){let ve=this.collisionBoxArray.get(ue);this.addCollisionDebugVertices(ve.x1,ve.y1,ve.x2,ve.y2,te?this.textCollisionBox:this.iconCollisionBox,ve.anchorPoint,j)}}generateCollisionDebugBuffers(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new um(Fl,oy.members,we),this.iconCollisionBox=new um(Fl,oy.members,we);for(let S=0;S<this.symbolInstances.length;S++){let D=this.symbolInstances.get(S);this.addDebugCollisionBoxes(D.textBoxStartIndex,D.textBoxEndIndex,D,!0),this.addDebugCollisionBoxes(D.verticalTextBoxStartIndex,D.verticalTextBoxEndIndex,D,!0),this.addDebugCollisionBoxes(D.iconBoxStartIndex,D.iconBoxEndIndex,D,!1),this.addDebugCollisionBoxes(D.verticalIconBoxStartIndex,D.verticalIconBoxEndIndex,D,!1)}}_deserializeCollisionBoxesForSymbol(S,D,j,te,ue,ve,De,Ze,at){let Tt={};for(let Ft=D;Ft<j;Ft++){let Qt=S.get(Ft);Tt.textBox={x1:Qt.x1,y1:Qt.y1,x2:Qt.x2,y2:Qt.y2,anchorPointX:Qt.anchorPointX,anchorPointY:Qt.anchorPointY},Tt.textFeatureIndex=Qt.featureIndex;break}for(let Ft=te;Ft<ue;Ft++){let Qt=S.get(Ft);Tt.verticalTextBox={x1:Qt.x1,y1:Qt.y1,x2:Qt.x2,y2:Qt.y2,anchorPointX:Qt.anchorPointX,anchorPointY:Qt.anchorPointY},Tt.verticalTextFeatureIndex=Qt.featureIndex;break}for(let Ft=ve;Ft<De;Ft++){let Qt=S.get(Ft);Tt.iconBox={x1:Qt.x1,y1:Qt.y1,x2:Qt.x2,y2:Qt.y2,anchorPointX:Qt.anchorPointX,anchorPointY:Qt.anchorPointY},Tt.iconFeatureIndex=Qt.featureIndex;break}for(let Ft=Ze;Ft<at;Ft++){let Qt=S.get(Ft);Tt.verticalIconBox={x1:Qt.x1,y1:Qt.y1,x2:Qt.x2,y2:Qt.y2,anchorPointX:Qt.anchorPointX,anchorPointY:Qt.anchorPointY},Tt.verticalIconFeatureIndex=Qt.featureIndex;break}return Tt}deserializeCollisionBoxes(S){this.collisionArrays=[];for(let D=0;D<this.symbolInstances.length;D++){let j=this.symbolInstances.get(D);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(S,j.textBoxStartIndex,j.textBoxEndIndex,j.verticalTextBoxStartIndex,j.verticalTextBoxEndIndex,j.iconBoxStartIndex,j.iconBoxEndIndex,j.verticalIconBoxStartIndex,j.verticalIconBoxEndIndex))}}hasTextData(){return this.text.segments.get().length>0}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(S,D){let j=S.placedSymbolArray.get(D),te=j.vertexStartIndex+4*j.numGlyphs;for(let ue=j.vertexStartIndex;ue<te;ue+=4)S.indexArray.emplaceBack(ue,ue+1,ue+2),S.indexArray.emplaceBack(ue+1,ue+2,ue+3)}getSortedSymbolIndexes(S){if(this.sortedAngle===S&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;let D=Math.sin(S),j=Math.cos(S),te=[],ue=[],ve=[];for(let De=0;De<this.symbolInstances.length;++De){ve.push(De);let Ze=this.symbolInstances.get(De);te.push(0|Math.round(D*Ze.anchorX+j*Ze.anchorY)),ue.push(Ze.featureIndex)}return ve.sort((De,Ze)=>te[De]-te[Ze]||ue[Ze]-ue[De]),ve}addToSortKeyRanges(S,D){let j=this.sortKeyRanges[this.sortKeyRanges.length-1];j&&j.sortKey===D?j.symbolInstanceEnd=S+1:this.sortKeyRanges.push({sortKey:D,symbolInstanceStart:S,symbolInstanceEnd:S+1})}sortFeatures(S){if(this.sortFeaturesByY&&this.sortedAngle!==S&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(S),this.sortedAngle=S,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let D of this.symbolInstanceIndexes){let j=this.symbolInstances.get(D);this.featureSortOrder.push(j.featureIndex),[j.rightJustifiedTextSymbolIndex,j.centerJustifiedTextSymbolIndex,j.leftJustifiedTextSymbolIndex].forEach((te,ue,ve)=>{te>=0&&ve.indexOf(te)===ue&&this.addIndicesForPlacedSymbol(this.text,te)}),j.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,j.verticalPlacedTextSymbolIndex),j.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,j.placedIconSymbolIndex),j.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,j.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let tf,Zx;mi(\"SymbolBucket\",E1,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),E1.MAX_GLYPHS=65535,E1.addDynamicAttributes=nS;var Dw={get paint(){return Zx=Zx||new le({\"icon-opacity\":new eo(ce.paint_symbol[\"icon-opacity\"]),\"icon-color\":new eo(ce.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new eo(ce.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new eo(ce.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new eo(ce.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new Da(ce.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new Da(ce.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new eo(ce.paint_symbol[\"text-opacity\"]),\"text-color\":new eo(ce.paint_symbol[\"text-color\"],{runtimeType:Ht,getOverride:R=>R.textColor,hasOverride:R=>!!R.textColor}),\"text-halo-color\":new eo(ce.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new eo(ce.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new eo(ce.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new Da(ce.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new Da(ce.paint_symbol[\"text-translate-anchor\"])})},get layout(){return tf=tf||new le({\"symbol-placement\":new Da(ce.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new Da(ce.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new Da(ce.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new eo(ce.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new Da(ce.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new Da(ce.layout_symbol[\"icon-allow-overlap\"]),\"icon-overlap\":new Da(ce.layout_symbol[\"icon-overlap\"]),\"icon-ignore-placement\":new Da(ce.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new Da(ce.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new Da(ce.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new eo(ce.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new Da(ce.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new Da(ce.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new eo(ce.layout_symbol[\"icon-image\"]),\"icon-rotate\":new eo(ce.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new eo(ce.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new Da(ce.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new eo(ce.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new eo(ce.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new Da(ce.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new Da(ce.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new Da(ce.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new eo(ce.layout_symbol[\"text-field\"]),\"text-font\":new eo(ce.layout_symbol[\"text-font\"]),\"text-size\":new eo(ce.layout_symbol[\"text-size\"]),\"text-max-width\":new eo(ce.layout_symbol[\"text-max-width\"]),\"text-line-height\":new Da(ce.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new eo(ce.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new eo(ce.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new eo(ce.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new Da(ce.layout_symbol[\"text-variable-anchor\"]),\"text-variable-anchor-offset\":new eo(ce.layout_symbol[\"text-variable-anchor-offset\"]),\"text-anchor\":new eo(ce.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new Da(ce.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new Da(ce.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new eo(ce.layout_symbol[\"text-rotate\"]),\"text-padding\":new Da(ce.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new Da(ce.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new eo(ce.layout_symbol[\"text-transform\"]),\"text-offset\":new eo(ce.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new Da(ce.layout_symbol[\"text-allow-overlap\"]),\"text-overlap\":new Da(ce.layout_symbol[\"text-overlap\"]),\"text-ignore-placement\":new Da(ce.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new Da(ce.layout_symbol[\"text-optional\"])})}};class Xx{constructor(S){if(S.property.overrides===void 0)throw new Error(\"overrides must be provided to instantiate FormatSectionOverride class\");this.type=S.property.overrides?S.property.overrides.runtimeType:Lt,this.defaultValue=S}evaluate(S){if(S.formattedSection){let D=this.defaultValue.property.overrides;if(D&&D.hasOverride(S.formattedSection))return D.getOverride(S.formattedSection)}return S.feature&&S.featureState?this.defaultValue.evaluate(S.feature,S.featureState):this.defaultValue.property.specification.default}eachChild(S){this.defaultValue.isConstant()||S(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}mi(\"FormatSectionOverride\",Xx,{omit:[\"defaultValue\"]});class uy extends B{constructor(S){super(S,Dw)}recalculate(S,D){if(super.recalculate(S,D),this.layout.get(\"icon-rotation-alignment\")===\"auto\"&&(this.layout._values[\"icon-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-rotation-alignment\")===\"auto\"&&(this.layout._values[\"text-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-pitch-alignment\")===\"auto\"&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")===\"map\"?\"map\":\"viewport\"),this.layout.get(\"icon-pitch-alignment\")===\"auto\"&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),this.layout.get(\"symbol-placement\")===\"point\"){let j=this.layout.get(\"text-writing-mode\");if(j){let te=[];for(let ue of j)te.indexOf(ue)<0&&te.push(ue);this.layout._values[\"text-writing-mode\"]=te}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]}this._setPaintOverrides()}getValueAndResolveTokens(S,D,j,te){let ue=this.layout.get(S).evaluate(D,{},j,te),ve=this._unevaluatedLayout._values[S];return ve.isDataDriven()||Lc(ve.value)||!ue?ue:function(De,Ze){return Ze.replace(/{([^{}]+)}/g,(at,Tt)=>De&&Tt in De?String(De[Tt]):\"\")}(D.properties,ue)}createBucket(S){return new E1(S)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error(\"Should take a different path in FeatureIndex\")}_setPaintOverrides(){for(let S of Dw.paint.overridableProperties){if(!uy.hasPaintOverride(this.layout,S))continue;let D=this.paint.get(S),j=new Xx(D),te=new Pu(j,D.property.specification),ue=null;ue=D.value.kind===\"constant\"||D.value.kind===\"source\"?new Xc(\"source\",te):new ic(\"composite\",te,D.value.zoomStops),this.paint._values[S]=new Du(D.property,ue,D.parameters)}}_handleOverridablePaintPropertyUpdate(S,D,j){return!(!this.layout||D.isDataDriven()||j.isDataDriven())&&uy.hasPaintOverride(this.layout,S)}static hasPaintOverride(S,D){let j=S.get(\"text-field\"),te=Dw.paint.properties[D],ue=!1,ve=De=>{for(let Ze of De)if(te.overrides&&te.overrides.hasOverride(Ze))return void(ue=!0)};if(j.value.kind===\"constant\"&&j.value.value instanceof Zr)ve(j.value.value.sections);else if(j.value.kind===\"source\"){let De=at=>{ue||(at instanceof jn&&Ki(at.value)===Br?ve(at.value.sections):at instanceof Ql?ve(at.sections):at.eachChild(De))},Ze=j.value;Ze._styleExpression&&De(Ze._styleExpression.expression)}return ue}}let _C;var Yx={get paint(){return _C=_C||new le({\"background-color\":new Da(ce.paint_background[\"background-color\"]),\"background-pattern\":new yc(ce.paint_background[\"background-pattern\"]),\"background-opacity\":new Da(ce.paint_background[\"background-opacity\"])})}};class G9 extends B{constructor(S){super(S,Yx)}}let sS;var xC={get paint(){return sS=sS||new le({\"raster-opacity\":new Da(ce.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new Da(ce.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new Da(ce.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new Da(ce.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new Da(ce.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new Da(ce.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new Da(ce.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new Da(ce.paint_raster[\"raster-fade-duration\"])})}};class Kx extends B{constructor(S){super(S,xC)}}class lS extends B{constructor(S){super(S,{}),this.onAdd=D=>{this.implementation.onAdd&&this.implementation.onAdd(D,D.painter.context.gl)},this.onRemove=D=>{this.implementation.onRemove&&this.implementation.onRemove(D,D.painter.context.gl)},this.implementation=S}is3D(){return this.implementation.renderingMode===\"3d\"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error(\"Custom layers cannot be serialized\")}}class uS{constructor(S){this._methodToThrottle=S,this._triggered=!1,typeof MessageChannel!=\"undefined\"&&(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=()=>{}}}let cS=63710088e-1;class dg{constructor(S,D){if(isNaN(S)||isNaN(D))throw new Error(`Invalid LngLat object: (${S}, ${D})`);if(this.lng=+S,this.lat=+D,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")}wrap(){return new dg(A(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(S){let D=Math.PI/180,j=this.lat*D,te=S.lat*D,ue=Math.sin(j)*Math.sin(te)+Math.cos(j)*Math.cos(te)*Math.cos((S.lng-this.lng)*D);return cS*Math.acos(Math.min(ue,1))}static convert(S){if(S instanceof dg)return S;if(Array.isArray(S)&&(S.length===2||S.length===3))return new dg(Number(S[0]),Number(S[1]));if(!Array.isArray(S)&&typeof S==\"object\"&&S!==null)return new dg(Number(\"lng\"in S?S.lng:S.lon),Number(S.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\")}}let k1=2*Math.PI*cS;function bC(R){return k1*Math.cos(R*Math.PI/180)}function zw(R){return(180+R)/360}function wC(R){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+R*Math.PI/360)))/360}function Fw(R,S){return R/bC(S)}function Jx(R){return 360/Math.PI*Math.atan(Math.exp((180-360*R)*Math.PI/180))-90}class $x{constructor(S,D,j=0){this.x=+S,this.y=+D,this.z=+j}static fromLngLat(S,D=0){let j=dg.convert(S);return new $x(zw(j.lng),wC(j.lat),Fw(D,j.lat))}toLngLat(){return new dg(360*this.x-180,Jx(this.y))}toAltitude(){return this.z*bC(Jx(this.y))}meterInMercatorCoordinateUnits(){return 1/k1*(S=Jx(this.y),1/Math.cos(S*Math.PI/180));var S}}function gp(R,S,D){var j=2*Math.PI*6378137/256/Math.pow(2,D);return[R*j-2*Math.PI*6378137/2,S*j-2*Math.PI*6378137/2]}class fS{constructor(S,D,j){if(!function(te,ue,ve){return!(te<0||te>25||ve<0||ve>=Math.pow(2,te)||ue<0||ue>=Math.pow(2,te))}(S,D,j))throw new Error(`x=${D}, y=${j}, z=${S} outside of bounds. 0<=x<${Math.pow(2,S)}, 0<=y<${Math.pow(2,S)} 0<=z<=25 `);this.z=S,this.x=D,this.y=j,this.key=Qx(0,S,S,D,j)}equals(S){return this.z===S.z&&this.x===S.x&&this.y===S.y}url(S,D,j){let te=(ve=this.y,De=this.z,Ze=gp(256*(ue=this.x),256*(ve=Math.pow(2,De)-ve-1),De),at=gp(256*(ue+1),256*(ve+1),De),Ze[0]+\",\"+Ze[1]+\",\"+at[0]+\",\"+at[1]);var ue,ve,De,Ze,at;let Tt=function(Ft,Qt,sr){let Tr,Pr=\"\";for(let $r=Ft;$r>0;$r--)Tr=1<<$r-1,Pr+=(Qt&Tr?1:0)+(sr&Tr?2:0);return Pr}(this.z,this.x,this.y);return S[(this.x+this.y)%S.length].replace(/{prefix}/g,(this.x%16).toString(16)+(this.y%16).toString(16)).replace(/{z}/g,String(this.z)).replace(/{x}/g,String(this.x)).replace(/{y}/g,String(j===\"tms\"?Math.pow(2,this.z)-this.y-1:this.y)).replace(/{ratio}/g,D>1?\"@2x\":\"\").replace(/{quadkey}/g,Tt).replace(/{bbox-epsg-3857}/g,te)}isChildOf(S){let D=this.z-S.z;return D>0&&S.x===this.x>>D&&S.y===this.y>>D}getTilePoint(S){let D=Math.pow(2,this.z);return new u((S.x*D-this.x)*za,(S.y*D-this.y)*za)}toString(){return`${this.z}/${this.x}/${this.y}`}}class TC{constructor(S,D){this.wrap=S,this.canonical=D,this.key=Qx(S,D.z,D.z,D.x,D.y)}}class Jv{constructor(S,D,j,te,ue){if(S<j)throw new Error(`overscaledZ should be >= z; overscaledZ = ${S}; z = ${j}`);this.overscaledZ=S,this.wrap=D,this.canonical=new fS(j,+te,+ue),this.key=Qx(D,S,j,te,ue)}clone(){return new Jv(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(S){return this.overscaledZ===S.overscaledZ&&this.wrap===S.wrap&&this.canonical.equals(S.canonical)}scaledTo(S){if(S>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${S}; overscaledZ = ${this.overscaledZ}`);let D=this.canonical.z-S;return S>this.canonical.z?new Jv(S,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Jv(S,this.wrap,S,this.canonical.x>>D,this.canonical.y>>D)}calculateScaledKey(S,D){if(S>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${S}; overscaledZ = ${this.overscaledZ}`);let j=this.canonical.z-S;return S>this.canonical.z?Qx(this.wrap*+D,S,this.canonical.z,this.canonical.x,this.canonical.y):Qx(this.wrap*+D,S,S,this.canonical.x>>j,this.canonical.y>>j)}isChildOf(S){if(S.wrap!==this.wrap)return!1;let D=this.canonical.z-S.canonical.z;return S.overscaledZ===0||S.overscaledZ<this.overscaledZ&&S.canonical.x===this.canonical.x>>D&&S.canonical.y===this.canonical.y>>D}children(S){if(this.overscaledZ>=S)return[new Jv(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let D=this.canonical.z+1,j=2*this.canonical.x,te=2*this.canonical.y;return[new Jv(D,this.wrap,D,j,te),new Jv(D,this.wrap,D,j+1,te),new Jv(D,this.wrap,D,j,te+1),new Jv(D,this.wrap,D,j+1,te+1)]}isLessThan(S){return this.wrap<S.wrap||!(this.wrap>S.wrap)&&(this.overscaledZ<S.overscaledZ||!(this.overscaledZ>S.overscaledZ)&&(this.canonical.x<S.canonical.x||!(this.canonical.x>S.canonical.x)&&this.canonical.y<S.canonical.y))}wrapped(){return new Jv(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)}unwrapTo(S){return new Jv(this.overscaledZ,S,this.canonical.z,this.canonical.x,this.canonical.y)}overscaleFactor(){return Math.pow(2,this.overscaledZ-this.canonical.z)}toUnwrapped(){return new TC(this.wrap,this.canonical)}toString(){return`${this.overscaledZ}/${this.canonical.x}/${this.canonical.y}`}getTilePoint(S){return this.canonical.getTilePoint(new $x(S.x-this.wrap,S.y))}}function Qx(R,S,D,j,te){(R*=2)<0&&(R=-1*R-1);let ue=1<<D;return(ue*ue*R+ue*te+j).toString(36)+D.toString(36)+S.toString(36)}mi(\"CanonicalTileID\",fS),mi(\"OverscaledTileID\",Jv,{omit:[\"posMatrix\"]});class AC{constructor(S,D,j,te=1,ue=1,ve=1,De=0){if(this.uid=S,D.height!==D.width)throw new RangeError(\"DEM tiles must be square\");if(j&&![\"mapbox\",\"terrarium\",\"custom\"].includes(j))return void T(`\"${j}\" is not a valid encoding type. Valid types include \"mapbox\", \"terrarium\" and \"custom\".`);this.stride=D.height;let Ze=this.dim=D.height-2;switch(this.data=new Uint32Array(D.data.buffer),j){case\"terrarium\":this.redFactor=256,this.greenFactor=1,this.blueFactor=1/256,this.baseShift=32768;break;case\"custom\":this.redFactor=te,this.greenFactor=ue,this.blueFactor=ve,this.baseShift=De;break;default:this.redFactor=6553.6,this.greenFactor=25.6,this.blueFactor=.1,this.baseShift=1e4}for(let at=0;at<Ze;at++)this.data[this._idx(-1,at)]=this.data[this._idx(0,at)],this.data[this._idx(Ze,at)]=this.data[this._idx(Ze-1,at)],this.data[this._idx(at,-1)]=this.data[this._idx(at,0)],this.data[this._idx(at,Ze)]=this.data[this._idx(at,Ze-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(Ze,-1)]=this.data[this._idx(Ze-1,0)],this.data[this._idx(-1,Ze)]=this.data[this._idx(0,Ze-1)],this.data[this._idx(Ze,Ze)]=this.data[this._idx(Ze-1,Ze-1)],this.min=Number.MAX_SAFE_INTEGER,this.max=Number.MIN_SAFE_INTEGER;for(let at=0;at<Ze;at++)for(let Tt=0;Tt<Ze;Tt++){let Ft=this.get(at,Tt);Ft>this.max&&(this.max=Ft),Ft<this.min&&(this.min=Ft)}}get(S,D){let j=new Uint8Array(this.data.buffer),te=4*this._idx(S,D);return this.unpack(j[te],j[te+1],j[te+2])}getUnpackVector(){return[this.redFactor,this.greenFactor,this.blueFactor,this.baseShift]}_idx(S,D){if(S<-1||S>=this.dim+1||D<-1||D>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(D+1)*this.stride+(S+1)}unpack(S,D,j){return S*this.redFactor+D*this.greenFactor+j*this.blueFactor-this.baseShift}getPixels(){return new Jn({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(S,D,j){if(this.dim!==S.dim)throw new Error(\"dem dimension mismatch\");let te=D*this.dim,ue=D*this.dim+this.dim,ve=j*this.dim,De=j*this.dim+this.dim;switch(D){case-1:te=ue-1;break;case 1:ue=te+1}switch(j){case-1:ve=De-1;break;case 1:De=ve+1}let Ze=-D*this.dim,at=-j*this.dim;for(let Tt=ve;Tt<De;Tt++)for(let Ft=te;Ft<ue;Ft++)this.data[this._idx(Ft,Tt)]=S.data[this._idx(Ft+Ze,Tt+at)]}}mi(\"DEMData\",AC);class SC{constructor(S){this._stringToNumber={},this._numberToString=[];for(let D=0;D<S.length;D++){let j=S[D];this._stringToNumber[j]=D,this._numberToString[D]=j}}encode(S){return this._stringToNumber[S]}decode(S){if(S>=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${S} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[S]}}class hS{constructor(S,D,j,te,ue){this.type=\"Feature\",this._vectorTileFeature=S,S._z=D,S._x=j,S._y=te,this.properties=S.properties,this.id=ue}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(S){this._geometry=S}toJSON(){let S={geometry:this.geometry};for(let D in this)D!==\"_geometry\"&&D!==\"_vectorTileFeature\"&&(S[D]=this[D]);return S}}class cy{constructor(S,D){this.tileID=S,this.x=S.canonical.x,this.y=S.canonical.y,this.z=S.canonical.z,this.grid=new qi(za,16,0),this.grid3D=new qi(za,16,0),this.featureIndexArray=new As,this.promoteId=D}insert(S,D,j,te,ue,ve){let De=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(j,te,ue);let Ze=ve?this.grid3D:this.grid;for(let at=0;at<D.length;at++){let Tt=D[at],Ft=[1/0,1/0,-1/0,-1/0];for(let Qt=0;Qt<Tt.length;Qt++){let sr=Tt[Qt];Ft[0]=Math.min(Ft[0],sr.x),Ft[1]=Math.min(Ft[1],sr.y),Ft[2]=Math.max(Ft[2],sr.x),Ft[3]=Math.max(Ft[3],sr.y)}Ft[0]<za&&Ft[1]<za&&Ft[2]>=0&&Ft[3]>=0&&Ze.insert(De,Ft[0],Ft[1],Ft[2],Ft[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new ei.VectorTile(new eS(this.rawTileData)).layers,this.sourceLayerCoder=new SC(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers}query(S,D,j,te){this.loadVTLayers();let ue=S.params||{},ve=za/S.tileSize/S.scale,De=Pc(ue.filter),Ze=S.queryGeometry,at=S.queryPadding*ve,Tt=EC(Ze),Ft=this.grid.query(Tt.minX-at,Tt.minY-at,Tt.maxX+at,Tt.maxY+at),Qt=EC(S.cameraQueryGeometry),sr=this.grid3D.query(Qt.minX-at,Qt.minY-at,Qt.maxX+at,Qt.maxY+at,($r,ni,Di,pi)=>function(ki,Zi,ta,Va,Io){for(let Hn of ki)if(Zi<=Hn.x&&ta<=Hn.y&&Va>=Hn.x&&Io>=Hn.y)return!0;let La=[new u(Zi,ta),new u(Zi,Io),new u(Va,Io),new u(Va,ta)];if(ki.length>2){for(let Hn of La)if(On(ki,Hn))return!0}for(let Hn=0;Hn<ki.length-1;Hn++)if(Bn(ki[Hn],ki[Hn+1],La))return!0;return!1}(S.cameraQueryGeometry,$r-at,ni-at,Di+at,pi+at));for(let $r of sr)Ft.push($r);Ft.sort(j9);let Tr={},Pr;for(let $r=0;$r<Ft.length;$r++){let ni=Ft[$r];if(ni===Pr)continue;Pr=ni;let Di=this.featureIndexArray.get(ni),pi=null;this.loadMatchingFeature(Tr,Di.bucketIndex,Di.sourceLayerIndex,Di.featureIndex,De,ue.layers,ue.availableImages,D,j,te,(ki,Zi,ta)=>(pi||(pi=js(ki)),Zi.queryIntersectsFeature(Ze,ki,ta,pi,this.z,S.transform,ve,S.pixelPosMatrix)))}return Tr}loadMatchingFeature(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft){let Qt=this.bucketLayerIDs[D];if(ve&&!function($r,ni){for(let Di=0;Di<$r.length;Di++)if(ni.indexOf($r[Di])>=0)return!0;return!1}(ve,Qt))return;let sr=this.sourceLayerCoder.decode(j),Tr=this.vtLayers[sr].feature(te);if(ue.needGeometry){let $r=xl(Tr,!0);if(!ue.filter(new Ko(this.tileID.overscaledZ),$r,this.tileID.canonical))return}else if(!ue.filter(new Ko(this.tileID.overscaledZ),Tr))return;let Pr=this.getId(Tr,sr);for(let $r=0;$r<Qt.length;$r++){let ni=Qt[$r];if(ve&&ve.indexOf(ni)<0)continue;let Di=Ze[ni];if(!Di)continue;let pi={};Pr&&Tt&&(pi=Tt.getState(Di.sourceLayer||\"_geojsonTileLayer\",Pr));let ki=L({},at[ni]);ki.paint=MC(ki.paint,Di.paint,Tr,pi,De),ki.layout=MC(ki.layout,Di.layout,Tr,pi,De);let Zi=!Ft||Ft(Tr,Di,pi);if(!Zi)continue;let ta=new hS(Tr,this.z,this.x,this.y,Pr);ta.layer=ki;let Va=S[ni];Va===void 0&&(Va=S[ni]=[]),Va.push({featureIndex:te,feature:ta,intersectionZ:Zi})}}lookupSymbolFeatures(S,D,j,te,ue,ve,De,Ze){let at={};this.loadVTLayers();let Tt=Pc(ue);for(let Ft of S)this.loadMatchingFeature(at,j,te,Ft,Tt,ve,De,Ze,D);return at}hasLayer(S){for(let D of this.bucketLayerIDs)for(let j of D)if(S===j)return!0;return!1}getId(S,D){let j=S.id;return this.promoteId&&(j=S.properties[typeof this.promoteId==\"string\"?this.promoteId:this.promoteId[D]],typeof j==\"boolean\"&&(j=Number(j))),j}}function MC(R,S,D,j,te){return C(R,(ue,ve)=>{let De=S instanceof Dc?S.get(ve):null;return De&&De.evaluate?De.evaluate(D,j,te):De})}function EC(R){let S=1/0,D=1/0,j=-1/0,te=-1/0;for(let ue of R)S=Math.min(S,ue.x),D=Math.min(D,ue.y),j=Math.max(j,ue.x),te=Math.max(te,ue.y);return{minX:S,minY:D,maxX:j,maxY:te}}function j9(R,S){return S-R}function kC(R,S,D,j,te){let ue=[];for(let ve=0;ve<R.length;ve++){let De=R[ve],Ze;for(let at=0;at<De.length-1;at++){let Tt=De[at],Ft=De[at+1];Tt.x<S&&Ft.x<S||(Tt.x<S?Tt=new u(S,Tt.y+(S-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round():Ft.x<S&&(Ft=new u(S,Tt.y+(S-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round()),Tt.y<D&&Ft.y<D||(Tt.y<D?Tt=new u(Tt.x+(D-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),D)._round():Ft.y<D&&(Ft=new u(Tt.x+(D-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),D)._round()),Tt.x>=j&&Ft.x>=j||(Tt.x>=j?Tt=new u(j,Tt.y+(j-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round():Ft.x>=j&&(Ft=new u(j,Tt.y+(j-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round()),Tt.y>=te&&Ft.y>=te||(Tt.y>=te?Tt=new u(Tt.x+(te-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),te)._round():Ft.y>=te&&(Ft=new u(Tt.x+(te-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),te)._round()),Ze&&Tt.equals(Ze[Ze.length-1])||(Ze=[Tt],ue.push(Ze)),Ze.push(Ft)))))}}return ue}mi(\"FeatureIndex\",cy,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});class vg extends u{constructor(S,D,j,te){super(S,D),this.angle=j,te!==void 0&&(this.segment=te)}clone(){return new vg(this.x,this.y,this.angle,this.segment)}}function dS(R,S,D,j,te){if(S.segment===void 0||D===0)return!0;let ue=S,ve=S.segment+1,De=0;for(;De>-D/2;){if(ve--,ve<0)return!1;De-=R[ve].dist(ue),ue=R[ve]}De+=R[ve].dist(R[ve+1]),ve++;let Ze=[],at=0;for(;De<D/2;){let Tt=R[ve],Ft=R[ve+1];if(!Ft)return!1;let Qt=R[ve-1].angleTo(Tt)-Tt.angleTo(Ft);for(Qt=Math.abs((Qt+3*Math.PI)%(2*Math.PI)-Math.PI),Ze.push({distance:De,angleDelta:Qt}),at+=Qt;De-Ze[0].distance>j;)at-=Ze.shift().angleDelta;if(at>te)return!1;ve++,De+=Tt.dist(Ft)}return!0}function CC(R){let S=0;for(let D=0;D<R.length-1;D++)S+=R[D].dist(R[D+1]);return S}function LC(R,S,D){return R?.6*S*D:0}function PC(R,S){return Math.max(R?R.right-R.left:0,S?S.right-S.left:0)}function W9(R,S,D,j,te,ue){let ve=LC(D,te,ue),De=PC(D,j)*ue,Ze=0,at=CC(R)/2;for(let Tt=0;Tt<R.length-1;Tt++){let Ft=R[Tt],Qt=R[Tt+1],sr=Ft.dist(Qt);if(Ze+sr>at){let Tr=(at-Ze)/sr,Pr=Mo.number(Ft.x,Qt.x,Tr),$r=Mo.number(Ft.y,Qt.y,Tr),ni=new vg(Pr,$r,Qt.angleTo(Ft),Tt);return ni._round(),!ve||dS(R,ni,De,ve,S)?ni:void 0}Ze+=sr}}function Z9(R,S,D,j,te,ue,ve,De,Ze){let at=LC(j,ue,ve),Tt=PC(j,te),Ft=Tt*ve,Qt=R[0].x===0||R[0].x===Ze||R[0].y===0||R[0].y===Ze;return S-Ft<S/4&&(S=Ft+S/4),IC(R,Qt?S/2*De%S:(Tt/2+2*ue)*ve*De%S,S,at,D,Ft,Qt,!1,Ze)}function IC(R,S,D,j,te,ue,ve,De,Ze){let at=ue/2,Tt=CC(R),Ft=0,Qt=S-D,sr=[];for(let Tr=0;Tr<R.length-1;Tr++){let Pr=R[Tr],$r=R[Tr+1],ni=Pr.dist($r),Di=$r.angleTo(Pr);for(;Qt+D<Ft+ni;){Qt+=D;let pi=(Qt-Ft)/ni,ki=Mo.number(Pr.x,$r.x,pi),Zi=Mo.number(Pr.y,$r.y,pi);if(ki>=0&&ki<Ze&&Zi>=0&&Zi<Ze&&Qt-at>=0&&Qt+at<=Tt){let ta=new vg(ki,Zi,Di,Tr);ta._round(),j&&!dS(R,ta,ue,j,te)||sr.push(ta)}}Ft+=ni}return De||sr.length||ve||(sr=IC(R,Ft/2,D,j,te,ue,ve,!0,Ze)),sr}mi(\"Anchor\",vg);let C1=wd;function RC(R,S,D,j){let te=[],ue=R.image,ve=ue.pixelRatio,De=ue.paddedRect.w-2*C1,Ze=ue.paddedRect.h-2*C1,at={x1:R.left,y1:R.top,x2:R.right,y2:R.bottom},Tt=ue.stretchX||[[0,De]],Ft=ue.stretchY||[[0,Ze]],Qt=(Tn,bo)=>Tn+bo[1]-bo[0],sr=Tt.reduce(Qt,0),Tr=Ft.reduce(Qt,0),Pr=De-sr,$r=Ze-Tr,ni=0,Di=sr,pi=0,ki=Tr,Zi=0,ta=Pr,Va=0,Io=$r;if(ue.content&&j){let Tn=ue.content,bo=Tn[2]-Tn[0],Ya=Tn[3]-Tn[1];(ue.textFitWidth||ue.textFitHeight)&&(at=gC(R)),ni=pg(Tt,0,Tn[0]),pi=pg(Ft,0,Tn[1]),Di=pg(Tt,Tn[0],Tn[2]),ki=pg(Ft,Tn[1],Tn[3]),Zi=Tn[0]-ni,Va=Tn[1]-pi,ta=bo-Di,Io=Ya-ki}let La=at.x1,Hn=at.y1,lo=at.x2-La,$a=at.y2-Hn,Xa=(Tn,bo,Ya,Uo)=>{let wu=qw(Tn.stretch-ni,Di,lo,La),hu=L1(Tn.fixed-Zi,ta,Tn.stretch,sr),uh=qw(bo.stretch-pi,ki,$a,Hn),$v=L1(bo.fixed-Va,Io,bo.stretch,Tr),td=qw(Ya.stretch-ni,Di,lo,La),ch=L1(Ya.fixed-Zi,ta,Ya.stretch,sr),Ud=qw(Uo.stretch-pi,ki,$a,Hn),Vd=L1(Uo.fixed-Va,Io,Uo.stretch,Tr),Hd=new u(wu,uh),rf=new u(td,uh),fh=new u(td,Ud),Td=new u(wu,Ud),rd=new u(hu/ve,$v/ve),Dh=new u(ch/ve,Vd/ve),xf=S*Math.PI/180;if(xf){let Cl=Math.sin(xf),qu=Math.cos(xf),Tu=[qu,-Cl,Cl,qu];Hd._matMult(Tu),rf._matMult(Tu),Td._matMult(Tu),fh._matMult(Tu)}let Iv=Tn.stretch+Tn.fixed,lv=bo.stretch+bo.fixed;return{tl:Hd,tr:rf,bl:Td,br:fh,tex:{x:ue.paddedRect.x+C1+Iv,y:ue.paddedRect.y+C1+lv,w:Ya.stretch+Ya.fixed-Iv,h:Uo.stretch+Uo.fixed-lv},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:rd,pixelOffsetBR:Dh,minFontScaleX:ta/ve/lo,minFontScaleY:Io/ve/$a,isSDF:D}};if(j&&(ue.stretchX||ue.stretchY)){let Tn=DC(Tt,Pr,sr),bo=DC(Ft,$r,Tr);for(let Ya=0;Ya<Tn.length-1;Ya++){let Uo=Tn[Ya],wu=Tn[Ya+1];for(let hu=0;hu<bo.length-1;hu++)te.push(Xa(Uo,bo[hu],wu,bo[hu+1]))}}else te.push(Xa({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:De+1},{fixed:0,stretch:Ze+1}));return te}function pg(R,S,D){let j=0;for(let te of R)j+=Math.max(S,Math.min(D,te[1]))-Math.max(S,Math.min(D,te[0]));return j}function DC(R,S,D){let j=[{fixed:-C1,stretch:0}];for(let[te,ue]of R){let ve=j[j.length-1];j.push({fixed:te-ve.stretch,stretch:ve.stretch}),j.push({fixed:te-ve.stretch,stretch:ve.stretch+(ue-te)})}return j.push({fixed:S+C1,stretch:D}),j}function qw(R,S,D,j){return R/S*D+j}function L1(R,S,D,j){return R-S*D/j}class cm{constructor(S,D,j,te,ue,ve,De,Ze,at,Tt){var Ft;if(this.boxStartIndex=S.length,at){let Qt=ve.top,sr=ve.bottom,Tr=ve.collisionPadding;Tr&&(Qt-=Tr[1],sr+=Tr[3]);let Pr=sr-Qt;Pr>0&&(Pr=Math.max(10,Pr),this.circleDiameter=Pr)}else{let Qt=!((Ft=ve.image)===null||Ft===void 0)&&Ft.content&&(ve.image.textFitWidth||ve.image.textFitHeight)?gC(ve):{x1:ve.left,y1:ve.top,x2:ve.right,y2:ve.bottom};Qt.y1=Qt.y1*De-Ze[0],Qt.y2=Qt.y2*De+Ze[2],Qt.x1=Qt.x1*De-Ze[3],Qt.x2=Qt.x2*De+Ze[1];let sr=ve.collisionPadding;if(sr&&(Qt.x1-=sr[0]*De,Qt.y1-=sr[1]*De,Qt.x2+=sr[2]*De,Qt.y2+=sr[3]*De),Tt){let Tr=new u(Qt.x1,Qt.y1),Pr=new u(Qt.x2,Qt.y1),$r=new u(Qt.x1,Qt.y2),ni=new u(Qt.x2,Qt.y2),Di=Tt*Math.PI/180;Tr._rotate(Di),Pr._rotate(Di),$r._rotate(Di),ni._rotate(Di),Qt.x1=Math.min(Tr.x,Pr.x,$r.x,ni.x),Qt.x2=Math.max(Tr.x,Pr.x,$r.x,ni.x),Qt.y1=Math.min(Tr.y,Pr.y,$r.y,ni.y),Qt.y2=Math.max(Tr.y,Pr.y,$r.y,ni.y)}S.emplaceBack(D.x,D.y,Qt.x1,Qt.y1,Qt.x2,Qt.y2,j,te,ue)}this.boxEndIndex=S.length}}class Hp{constructor(S=[],D=(j,te)=>j<te?-1:j>te?1:0){if(this.data=S,this.length=this.data.length,this.compare=D,this.length>0)for(let j=(this.length>>1)-1;j>=0;j--)this._down(j)}push(S){this.data.push(S),this._up(this.length++)}pop(){if(this.length===0)return;let S=this.data[0],D=this.data.pop();return--this.length>0&&(this.data[0]=D,this._down(0)),S}peek(){return this.data[0]}_up(S){let{data:D,compare:j}=this,te=D[S];for(;S>0;){let ue=S-1>>1,ve=D[ue];if(j(te,ve)>=0)break;D[S]=ve,S=ue}D[S]=te}_down(S){let{data:D,compare:j}=this,te=this.length>>1,ue=D[S];for(;S<te;){let ve=1+(S<<1),De=ve+1;if(De<this.length&&j(D[De],D[ve])<0&&(ve=De),j(D[ve],ue)>=0)break;D[S]=D[ve],S=ve}D[S]=ue}}function X9(R,S=1,D=!1){let j=1/0,te=1/0,ue=-1/0,ve=-1/0,De=R[0];for(let sr=0;sr<De.length;sr++){let Tr=De[sr];(!sr||Tr.x<j)&&(j=Tr.x),(!sr||Tr.y<te)&&(te=Tr.y),(!sr||Tr.x>ue)&&(ue=Tr.x),(!sr||Tr.y>ve)&&(ve=Tr.y)}let Ze=Math.min(ue-j,ve-te),at=Ze/2,Tt=new Hp([],Y9);if(Ze===0)return new u(j,te);for(let sr=j;sr<ue;sr+=Ze)for(let Tr=te;Tr<ve;Tr+=Ze)Tt.push(new P1(sr+at,Tr+at,at,R));let Ft=function(sr){let Tr=0,Pr=0,$r=0,ni=sr[0];for(let Di=0,pi=ni.length,ki=pi-1;Di<pi;ki=Di++){let Zi=ni[Di],ta=ni[ki],Va=Zi.x*ta.y-ta.x*Zi.y;Pr+=(Zi.x+ta.x)*Va,$r+=(Zi.y+ta.y)*Va,Tr+=3*Va}return new P1(Pr/Tr,$r/Tr,0,sr)}(R),Qt=Tt.length;for(;Tt.length;){let sr=Tt.pop();(sr.d>Ft.d||!Ft.d)&&(Ft=sr,D&&console.log(\"found best %d after %d probes\",Math.round(1e4*sr.d)/1e4,Qt)),sr.max-Ft.d<=S||(at=sr.h/2,Tt.push(new P1(sr.p.x-at,sr.p.y-at,at,R)),Tt.push(new P1(sr.p.x+at,sr.p.y-at,at,R)),Tt.push(new P1(sr.p.x-at,sr.p.y+at,at,R)),Tt.push(new P1(sr.p.x+at,sr.p.y+at,at,R)),Qt+=4)}return D&&(console.log(`num probes: ${Qt}`),console.log(`best distance: ${Ft.d}`)),Ft.p}function Y9(R,S){return S.max-R.max}function P1(R,S,D,j){this.p=new u(R,S),this.h=D,this.d=function(te,ue){let ve=!1,De=1/0;for(let Ze=0;Ze<ue.length;Ze++){let at=ue[Ze];for(let Tt=0,Ft=at.length,Qt=Ft-1;Tt<Ft;Qt=Tt++){let sr=at[Tt],Tr=at[Qt];sr.y>te.y!=Tr.y>te.y&&te.x<(Tr.x-sr.x)*(te.y-sr.y)/(Tr.y-sr.y)+sr.x&&(ve=!ve),De=Math.min(De,Bi(te,sr,Tr))}}return(ve?1:-1)*Math.sqrt(De)}(this.p,j),this.max=this.d+this.h*Math.SQRT2}var ed;i.aq=void 0,(ed=i.aq||(i.aq={}))[ed.center=1]=\"center\",ed[ed.left=2]=\"left\",ed[ed.right=3]=\"right\",ed[ed.top=4]=\"top\",ed[ed.bottom=5]=\"bottom\",ed[ed[\"top-left\"]=6]=\"top-left\",ed[ed[\"top-right\"]=7]=\"top-right\",ed[ed[\"bottom-left\"]=8]=\"bottom-left\",ed[ed[\"bottom-right\"]=9]=\"bottom-right\";let fm=7,fy=Number.POSITIVE_INFINITY;function vS(R,S){return S[1]!==fy?function(D,j,te){let ue=0,ve=0;switch(j=Math.abs(j),te=Math.abs(te),D){case\"top-right\":case\"top-left\":case\"top\":ve=te-fm;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":ve=-te+fm}switch(D){case\"top-right\":case\"bottom-right\":case\"right\":ue=-j;break;case\"top-left\":case\"bottom-left\":case\"left\":ue=j}return[ue,ve]}(R,S[0],S[1]):function(D,j){let te=0,ue=0;j<0&&(j=0);let ve=j/Math.SQRT2;switch(D){case\"top-right\":case\"top-left\":ue=ve-fm;break;case\"bottom-right\":case\"bottom-left\":ue=-ve+fm;break;case\"bottom\":ue=-j+fm;break;case\"top\":ue=j-fm}switch(D){case\"top-right\":case\"bottom-right\":te=-ve;break;case\"top-left\":case\"bottom-left\":te=ve;break;case\"left\":te=j;break;case\"right\":te=-j}return[te,ue]}(R,S[0])}function zC(R,S,D){var j;let te=R.layout,ue=(j=te.get(\"text-variable-anchor-offset\"))===null||j===void 0?void 0:j.evaluate(S,{},D);if(ue){let De=ue.values,Ze=[];for(let at=0;at<De.length;at+=2){let Tt=Ze[at]=De[at],Ft=De[at+1].map(Qt=>Qt*kl);Tt.startsWith(\"top\")?Ft[1]-=fm:Tt.startsWith(\"bottom\")&&(Ft[1]+=fm),Ze[at+1]=Ft}return new Si(Ze)}let ve=te.get(\"text-variable-anchor\");if(ve){let De;De=R._unevaluatedLayout.getValue(\"text-radial-offset\")!==void 0?[te.get(\"text-radial-offset\").evaluate(S,{},D)*kl,fy]:te.get(\"text-offset\").evaluate(S,{},D).map(at=>at*kl);let Ze=[];for(let at of ve)Ze.push(at,vS(at,De));return new Si(Ze)}return null}function pS(R){switch(R){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function K9(R,S,D,j,te,ue,ve,De,Ze,at,Tt){let Ft=ue.textMaxSize.evaluate(S,{});Ft===void 0&&(Ft=ve);let Qt=R.layers[0].layout,sr=Qt.get(\"icon-offset\").evaluate(S,{},Tt),Tr=qC(D.horizontal),Pr=ve/24,$r=R.tilePixelRatio*Pr,ni=R.tilePixelRatio*Ft/24,Di=R.tilePixelRatio*De,pi=R.tilePixelRatio*Qt.get(\"symbol-spacing\"),ki=Qt.get(\"text-padding\")*R.tilePixelRatio,Zi=function(Tn,bo,Ya,Uo=1){let wu=Tn.get(\"icon-padding\").evaluate(bo,{},Ya),hu=wu&&wu.values;return[hu[0]*Uo,hu[1]*Uo,hu[2]*Uo,hu[3]*Uo]}(Qt,S,Tt,R.tilePixelRatio),ta=Qt.get(\"text-max-angle\")/180*Math.PI,Va=Qt.get(\"text-rotation-alignment\")!==\"viewport\"&&Qt.get(\"symbol-placement\")!==\"point\",Io=Qt.get(\"icon-rotation-alignment\")===\"map\"&&Qt.get(\"symbol-placement\")!==\"point\",La=Qt.get(\"symbol-placement\"),Hn=pi/2,lo=Qt.get(\"icon-text-fit\"),$a;j&&lo!==\"none\"&&(R.allowVerticalPlacement&&D.vertical&&($a=mC(j,D.vertical,lo,Qt.get(\"icon-text-fit-padding\"),sr,Pr)),Tr&&(j=mC(j,Tr,lo,Qt.get(\"icon-text-fit-padding\"),sr,Pr)));let Xa=(Tn,bo)=>{bo.x<0||bo.x>=za||bo.y<0||bo.y>=za||function(Ya,Uo,wu,hu,uh,$v,td,ch,Ud,Vd,Hd,rf,fh,Td,rd,Dh,xf,Iv,lv,Cl,qu,Tu,Rv,qc,I1){let p0=Ya.addToLineVertexArray(Uo,wu),Gp,Qv,oc,If,ep=0,gg=0,uv=0,R1=0,xS=-1,Uw=-1,g0={},hy=ui(\"\");if(Ya.allowVerticalPlacement&&hu.vertical){let Ad=ch.layout.get(\"text-rotate\").evaluate(qu,{},qc)+90;oc=new cm(Ud,Uo,Vd,Hd,rf,hu.vertical,fh,Td,rd,Ad),td&&(If=new cm(Ud,Uo,Vd,Hd,rf,td,xf,Iv,rd,Ad))}if(uh){let Ad=ch.layout.get(\"icon-rotate\").evaluate(qu,{}),tp=ch.layout.get(\"icon-text-fit\")!==\"none\",hm=RC(uh,Ad,Rv,tp),Gd=td?RC(td,Ad,Rv,tp):void 0;Qv=new cm(Ud,Uo,Vd,Hd,rf,uh,xf,Iv,!1,Ad),ep=4*hm.length;let Sd=Ya.iconSizeData,yp=null;Sd.kind===\"source\"?(yp=[v0*ch.layout.get(\"icon-size\").evaluate(qu,{})],yp[0]>lm&&T(`${Ya.layerIds[0]}: Value for \"icon-size\" is >= ${Wx}. Reduce your \"icon-size\".`)):Sd.kind===\"composite\"&&(yp=[v0*Tu.compositeIconSizes[0].evaluate(qu,{},qc),v0*Tu.compositeIconSizes[1].evaluate(qu,{},qc)],(yp[0]>lm||yp[1]>lm)&&T(`${Ya.layerIds[0]}: Value for \"icon-size\" is >= ${Wx}. Reduce your \"icon-size\".`)),Ya.addSymbols(Ya.icon,hm,yp,Cl,lv,qu,i.ah.none,Uo,p0.lineStartIndex,p0.lineLength,-1,qc),xS=Ya.icon.placedSymbolArray.length-1,Gd&&(gg=4*Gd.length,Ya.addSymbols(Ya.icon,Gd,yp,Cl,lv,qu,i.ah.vertical,Uo,p0.lineStartIndex,p0.lineLength,-1,qc),Uw=Ya.icon.placedSymbolArray.length-1)}let zh=Object.keys(hu.horizontal);for(let Ad of zh){let tp=hu.horizontal[Ad];if(!Gp){hy=ui(tp.text);let Gd=ch.layout.get(\"text-rotate\").evaluate(qu,{},qc);Gp=new cm(Ud,Uo,Vd,Hd,rf,tp,fh,Td,rd,Gd)}let hm=tp.positionedLines.length===1;if(uv+=FC(Ya,Uo,tp,$v,ch,rd,qu,Dh,p0,hu.vertical?i.ah.horizontal:i.ah.horizontalOnly,hm?zh:[Ad],g0,xS,Tu,qc),hm)break}hu.vertical&&(R1+=FC(Ya,Uo,hu.vertical,$v,ch,rd,qu,Dh,p0,i.ah.vertical,[\"vertical\"],g0,Uw,Tu,qc));let Q9=Gp?Gp.boxStartIndex:Ya.collisionBoxArray.length,Vw=Gp?Gp.boxEndIndex:Ya.collisionBoxArray.length,m0=oc?oc.boxStartIndex:Ya.collisionBoxArray.length,cv=oc?oc.boxEndIndex:Ya.collisionBoxArray.length,UC=Qv?Qv.boxStartIndex:Ya.collisionBoxArray.length,eq=Qv?Qv.boxEndIndex:Ya.collisionBoxArray.length,VC=If?If.boxStartIndex:Ya.collisionBoxArray.length,tq=If?If.boxEndIndex:Ya.collisionBoxArray.length,mp=-1,rb=(Ad,tp)=>Ad&&Ad.circleDiameter?Math.max(Ad.circleDiameter,tp):tp;mp=rb(Gp,mp),mp=rb(oc,mp),mp=rb(Qv,mp),mp=rb(If,mp);let Hw=mp>-1?1:0;Hw&&(mp*=I1/kl),Ya.glyphOffsetArray.length>=E1.MAX_GLYPHS&&T(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),qu.sortKey!==void 0&&Ya.addToSortKeyRanges(Ya.symbolInstances.length,qu.sortKey);let bS=zC(ch,qu,qc),[rq,iq]=function(Ad,tp){let hm=Ad.length,Gd=tp==null?void 0:tp.values;if((Gd==null?void 0:Gd.length)>0)for(let Sd=0;Sd<Gd.length;Sd+=2){let yp=Gd[Sd+1];Ad.emplaceBack(i.aq[Gd[Sd]],yp[0],yp[1])}return[hm,Ad.length]}(Ya.textAnchorOffsets,bS);Ya.symbolInstances.emplaceBack(Uo.x,Uo.y,g0.right>=0?g0.right:-1,g0.center>=0?g0.center:-1,g0.left>=0?g0.left:-1,g0.vertical||-1,xS,Uw,hy,Q9,Vw,m0,cv,UC,eq,VC,tq,Vd,uv,R1,ep,gg,Hw,0,fh,mp,rq,iq)}(R,bo,Tn,D,j,te,$a,R.layers[0],R.collisionBoxArray,S.index,S.sourceLayerIndex,R.index,$r,[ki,ki,ki,ki],Va,Ze,Di,Zi,Io,sr,S,ue,at,Tt,ve)};if(La===\"line\")for(let Tn of kC(S.geometry,0,0,za,za)){let bo=Z9(Tn,pi,ta,D.vertical||Tr,j,24,ni,R.overscaling,za);for(let Ya of bo)Tr&&J9(R,Tr.text,Hn,Ya)||Xa(Tn,Ya)}else if(La===\"line-center\"){for(let Tn of S.geometry)if(Tn.length>1){let bo=W9(Tn,ta,D.vertical||Tr,j,24,ni);bo&&Xa(Tn,bo)}}else if(S.type===\"Polygon\")for(let Tn of Of(S.geometry,0)){let bo=X9(Tn,16);Xa(Tn[0],new vg(bo.x,bo.y,0))}else if(S.type===\"LineString\")for(let Tn of S.geometry)Xa(Tn,new vg(Tn[0].x,Tn[0].y,0));else if(S.type===\"Point\")for(let Tn of S.geometry)for(let bo of Tn)Xa([bo],new vg(bo.x,bo.y,0))}function FC(R,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr){let Pr=function(Di,pi,ki,Zi,ta,Va,Io,La){let Hn=Zi.layout.get(\"text-rotate\").evaluate(Va,{})*Math.PI/180,lo=[];for(let $a of pi.positionedLines)for(let Xa of $a.positionedGlyphs){if(!Xa.rect)continue;let Tn=Xa.rect||{},bo=hC+1,Ya=!0,Uo=1,wu=0,hu=(ta||La)&&Xa.vertical,uh=Xa.metrics.advance*Xa.scale/2;if(La&&pi.verticalizable&&(wu=$a.lineOffset/2-(Xa.imageName?-(kl-Xa.metrics.width*Xa.scale)/2:(Xa.scale-1)*kl)),Xa.imageName){let Cl=Io[Xa.imageName];Ya=Cl.sdf,Uo=Cl.pixelRatio,bo=wd/Uo}let $v=ta?[Xa.x+uh,Xa.y]:[0,0],td=ta?[0,0]:[Xa.x+uh+ki[0],Xa.y+ki[1]-wu],ch=[0,0];hu&&(ch=td,td=[0,0]);let Ud=Xa.metrics.isDoubleResolution?2:1,Vd=(Xa.metrics.left-bo)*Xa.scale-uh+td[0],Hd=(-Xa.metrics.top-bo)*Xa.scale+td[1],rf=Vd+Tn.w/Ud*Xa.scale/Uo,fh=Hd+Tn.h/Ud*Xa.scale/Uo,Td=new u(Vd,Hd),rd=new u(rf,Hd),Dh=new u(Vd,fh),xf=new u(rf,fh);if(hu){let Cl=new u(-uh,uh-lh),qu=-Math.PI/2,Tu=kl/2-uh,Rv=new u(5-lh-Tu,-(Xa.imageName?Tu:0)),qc=new u(...ch);Td._rotateAround(qu,Cl)._add(Rv)._add(qc),rd._rotateAround(qu,Cl)._add(Rv)._add(qc),Dh._rotateAround(qu,Cl)._add(Rv)._add(qc),xf._rotateAround(qu,Cl)._add(Rv)._add(qc)}if(Hn){let Cl=Math.sin(Hn),qu=Math.cos(Hn),Tu=[qu,-Cl,Cl,qu];Td._matMult(Tu),rd._matMult(Tu),Dh._matMult(Tu),xf._matMult(Tu)}let Iv=new u(0,0),lv=new u(0,0);lo.push({tl:Td,tr:rd,bl:Dh,br:xf,tex:Tn,writingMode:pi.writingMode,glyphOffset:$v,sectionIndex:Xa.sectionIndex,isSDF:Ya,pixelOffsetTL:Iv,pixelOffsetBR:lv,minFontScaleX:0,minFontScaleY:0})}return lo}(0,D,De,te,ue,ve,j,R.allowVerticalPlacement),$r=R.textSizeData,ni=null;$r.kind===\"source\"?(ni=[v0*te.layout.get(\"text-size\").evaluate(ve,{})],ni[0]>lm&&T(`${R.layerIds[0]}: Value for \"text-size\" is >= ${Wx}. Reduce your \"text-size\".`)):$r.kind===\"composite\"&&(ni=[v0*sr.compositeTextSizes[0].evaluate(ve,{},Tr),v0*sr.compositeTextSizes[1].evaluate(ve,{},Tr)],(ni[0]>lm||ni[1]>lm)&&T(`${R.layerIds[0]}: Value for \"text-size\" is >= ${Wx}. Reduce your \"text-size\".`)),R.addSymbols(R.text,Pr,ni,De,ue,ve,at,S,Ze.lineStartIndex,Ze.lineLength,Qt,Tr);for(let Di of Tt)Ft[Di]=R.text.placedSymbolArray.length-1;return 4*Pr.length}function qC(R){for(let S in R)return R[S];return null}function J9(R,S,D,j){let te=R.compareText;if(S in te){let ue=te[S];for(let ve=ue.length-1;ve>=0;ve--)if(j.dist(ue[ve])<D)return!0}else te[S]=[];return te[S].push(j),!1}let OC=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class gS{static from(S){if(!(S instanceof ArrayBuffer))throw new Error(\"Data must be an instance of ArrayBuffer.\");let[D,j]=new Uint8Array(S,0,2);if(D!==219)throw new Error(\"Data does not appear to be in a KDBush format.\");let te=j>>4;if(te!==1)throw new Error(`Got v${te} data when expected v1.`);let ue=OC[15&j];if(!ue)throw new Error(\"Unrecognized array type.\");let[ve]=new Uint16Array(S,2,1),[De]=new Uint32Array(S,4,1);return new gS(De,ve,ue,S)}constructor(S,D=64,j=Float64Array,te){if(isNaN(S)||S<0)throw new Error(`Unpexpected numItems value: ${S}.`);this.numItems=+S,this.nodeSize=Math.min(Math.max(+D,2),65535),this.ArrayType=j,this.IndexArrayType=S<65536?Uint16Array:Uint32Array;let ue=OC.indexOf(this.ArrayType),ve=2*S*this.ArrayType.BYTES_PER_ELEMENT,De=S*this.IndexArrayType.BYTES_PER_ELEMENT,Ze=(8-De%8)%8;if(ue<0)throw new Error(`Unexpected typed array class: ${j}.`);te&&te instanceof ArrayBuffer?(this.data=te,this.ids=new this.IndexArrayType(this.data,8,S),this.coords=new this.ArrayType(this.data,8+De+Ze,2*S),this._pos=2*S,this._finished=!0):(this.data=new ArrayBuffer(8+ve+De+Ze),this.ids=new this.IndexArrayType(this.data,8,S),this.coords=new this.ArrayType(this.data,8+De+Ze,2*S),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+ue]),new Uint16Array(this.data,2,1)[0]=D,new Uint32Array(this.data,4,1)[0]=S)}add(S,D){let j=this._pos>>1;return this.ids[j]=j,this.coords[this._pos++]=S,this.coords[this._pos++]=D,j}finish(){let S=this._pos>>1;if(S!==this.numItems)throw new Error(`Added ${S} items when expected ${this.numItems}.`);return Ow(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(S,D,j,te){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:ue,coords:ve,nodeSize:De}=this,Ze=[0,ue.length-1,0],at=[];for(;Ze.length;){let Tt=Ze.pop()||0,Ft=Ze.pop()||0,Qt=Ze.pop()||0;if(Ft-Qt<=De){for(let $r=Qt;$r<=Ft;$r++){let ni=ve[2*$r],Di=ve[2*$r+1];ni>=S&&ni<=j&&Di>=D&&Di<=te&&at.push(ue[$r])}continue}let sr=Qt+Ft>>1,Tr=ve[2*sr],Pr=ve[2*sr+1];Tr>=S&&Tr<=j&&Pr>=D&&Pr<=te&&at.push(ue[sr]),(Tt===0?S<=Tr:D<=Pr)&&(Ze.push(Qt),Ze.push(sr-1),Ze.push(1-Tt)),(Tt===0?j>=Tr:te>=Pr)&&(Ze.push(sr+1),Ze.push(Ft),Ze.push(1-Tt))}return at}within(S,D,j){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:te,coords:ue,nodeSize:ve}=this,De=[0,te.length-1,0],Ze=[],at=j*j;for(;De.length;){let Tt=De.pop()||0,Ft=De.pop()||0,Qt=De.pop()||0;if(Ft-Qt<=ve){for(let $r=Qt;$r<=Ft;$r++)NC(ue[2*$r],ue[2*$r+1],S,D)<=at&&Ze.push(te[$r]);continue}let sr=Qt+Ft>>1,Tr=ue[2*sr],Pr=ue[2*sr+1];NC(Tr,Pr,S,D)<=at&&Ze.push(te[sr]),(Tt===0?S-j<=Tr:D-j<=Pr)&&(De.push(Qt),De.push(sr-1),De.push(1-Tt)),(Tt===0?S+j>=Tr:D+j>=Pr)&&(De.push(sr+1),De.push(Ft),De.push(1-Tt))}return Ze}}function Ow(R,S,D,j,te,ue){if(te-j<=D)return;let ve=j+te>>1;BC(R,S,ve,j,te,ue),Ow(R,S,D,j,ve-1,1-ue),Ow(R,S,D,ve+1,te,1-ue)}function BC(R,S,D,j,te,ue){for(;te>j;){if(te-j>600){let at=te-j+1,Tt=D-j+1,Ft=Math.log(at),Qt=.5*Math.exp(2*Ft/3),sr=.5*Math.sqrt(Ft*Qt*(at-Qt)/at)*(Tt-at/2<0?-1:1);BC(R,S,D,Math.max(j,Math.floor(D-Tt*Qt/at+sr)),Math.min(te,Math.floor(D+(at-Tt)*Qt/at+sr)),ue)}let ve=S[2*D+ue],De=j,Ze=te;for(eb(R,S,j,D),S[2*te+ue]>ve&&eb(R,S,j,te);De<Ze;){for(eb(R,S,De,Ze),De++,Ze--;S[2*De+ue]<ve;)De++;for(;S[2*Ze+ue]>ve;)Ze--}S[2*j+ue]===ve?eb(R,S,j,Ze):(Ze++,eb(R,S,Ze,te)),Ze<=D&&(j=Ze+1),D<=Ze&&(te=Ze-1)}}function eb(R,S,D,j){mS(R,D,j),mS(S,2*D,2*j),mS(S,2*D+1,2*j+1)}function mS(R,S,D){let j=R[S];R[S]=R[D],R[D]=j}function NC(R,S,D,j){let te=R-D,ue=S-j;return te*te+ue*ue}var Bw;i.bg=void 0,(Bw=i.bg||(i.bg={})).create=\"create\",Bw.load=\"load\",Bw.fullLoad=\"fullLoad\";let tb=null,Gf=[],yS=1e3/60,_S=\"loadTime\",Nw=\"fullLoadTime\",$9={mark(R){performance.mark(R)},frame(R){let S=R;tb!=null&&Gf.push(S-tb),tb=S},clearMetrics(){tb=null,Gf=[],performance.clearMeasures(_S),performance.clearMeasures(Nw);for(let R in i.bg)performance.clearMarks(i.bg[R])},getPerformanceMetrics(){performance.measure(_S,i.bg.create,i.bg.load),performance.measure(Nw,i.bg.create,i.bg.fullLoad);let R=performance.getEntriesByName(_S)[0].duration,S=performance.getEntriesByName(Nw)[0].duration,D=Gf.length,j=1/(Gf.reduce((ue,ve)=>ue+ve,0)/D/1e3),te=Gf.filter(ue=>ue>yS).reduce((ue,ve)=>ue+(ve-yS)/yS,0);return{loadTime:R,fullLoadTime:S,fps:j,percentDroppedFrames:te/(D+te)*100,totalFrames:D}}};i.$=class extends Ot{},i.A=Ln,i.B=Fi,i.C=function(R){if(V==null){let S=R.navigator?R.navigator.userAgent:null;V=!!R.safari||!(!S||!(/\\b(iPad|iPhone|iPod)\\b/.test(S)||S.match(\"Safari\")&&!S.match(\"Chrome\")))}return V},i.D=Da,i.E=Re,i.F=class{constructor(R,S){this.target=R,this.mapId=S,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new uS(()=>this.process()),this.subscription=function(D,j,te,ue){return D.addEventListener(j,te,!1),{unsubscribe:()=>{D.removeEventListener(j,te,!1)}}}(this.target,\"message\",D=>this.receive(D)),this.globalScope=q(self)?R:window}registerMessageHandler(R,S){this.messageHandlers[R]=S}sendAsync(R,S){return new Promise((D,j)=>{let te=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[te]={resolve:D,reject:j},S&&S.signal.addEventListener(\"abort\",()=>{delete this.resolveRejects[te];let De={id:te,type:\"<cancel>\",origin:location.origin,targetMapId:R.targetMapId,sourceMapId:this.mapId};this.target.postMessage(De)},{once:!0});let ue=[],ve=Object.assign(Object.assign({},R),{id:te,sourceMapId:this.mapId,origin:location.origin,data:Ea(R.data,ue)});this.target.postMessage(ve,{transfer:ue})})}receive(R){let S=R.data,D=S.id;if(!(S.origin!==\"file://\"&&location.origin!==\"file://\"&&S.origin!==\"resource://android\"&&location.origin!==\"resource://android\"&&S.origin!==location.origin||S.targetMapId&&this.mapId!==S.targetMapId)){if(S.type===\"<cancel>\"){delete this.tasks[D];let j=this.abortControllers[D];return delete this.abortControllers[D],void(j&&j.abort())}if(q(self)||S.mustQueue)return this.tasks[D]=S,this.taskQueue.push(D),void this.invoker.trigger();this.processTask(D,S)}}process(){if(this.taskQueue.length===0)return;let R=this.taskQueue.shift(),S=this.tasks[R];delete this.tasks[R],this.taskQueue.length>0&&this.invoker.trigger(),S&&this.processTask(R,S)}processTask(R,S){return a(this,void 0,void 0,function*(){if(S.type===\"<response>\"){let te=this.resolveRejects[R];return delete this.resolveRejects[R],te?void(S.error?te.reject(qa(S.error)):te.resolve(qa(S.data))):void 0}if(!this.messageHandlers[S.type])return void this.completeTask(R,new Error(`Could not find a registered handler for ${S.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(\", \")}`));let D=qa(S.data),j=new AbortController;this.abortControllers[R]=j;try{let te=yield this.messageHandlers[S.type](S.sourceMapId,D,j);this.completeTask(R,null,te)}catch(te){this.completeTask(R,te)}})}completeTask(R,S,D){let j=[];delete this.abortControllers[R];let te={id:R,type:\"<response>\",sourceMapId:this.mapId,origin:location.origin,error:S?Ea(S):null,data:Ea(D,j)};this.target.postMessage(te,{transfer:j})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},i.G=ke,i.H=function(){var R=new Ln(16);return Ln!=Float32Array&&(R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[11]=0,R[12]=0,R[13]=0,R[14]=0),R[0]=1,R[5]=1,R[10]=1,R[15]=1,R},i.I=kw,i.J=function(R,S,D){var j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr=D[0],$r=D[1],ni=D[2];return S===R?(R[12]=S[0]*Pr+S[4]*$r+S[8]*ni+S[12],R[13]=S[1]*Pr+S[5]*$r+S[9]*ni+S[13],R[14]=S[2]*Pr+S[6]*$r+S[10]*ni+S[14],R[15]=S[3]*Pr+S[7]*$r+S[11]*ni+S[15]):(te=S[1],ue=S[2],ve=S[3],De=S[4],Ze=S[5],at=S[6],Tt=S[7],Ft=S[8],Qt=S[9],sr=S[10],Tr=S[11],R[0]=j=S[0],R[1]=te,R[2]=ue,R[3]=ve,R[4]=De,R[5]=Ze,R[6]=at,R[7]=Tt,R[8]=Ft,R[9]=Qt,R[10]=sr,R[11]=Tr,R[12]=j*Pr+De*$r+Ft*ni+S[12],R[13]=te*Pr+Ze*$r+Qt*ni+S[13],R[14]=ue*Pr+at*$r+sr*ni+S[14],R[15]=ve*Pr+Tt*$r+Tr*ni+S[15]),R},i.K=function(R,S,D){var j=D[0],te=D[1],ue=D[2];return R[0]=S[0]*j,R[1]=S[1]*j,R[2]=S[2]*j,R[3]=S[3]*j,R[4]=S[4]*te,R[5]=S[5]*te,R[6]=S[6]*te,R[7]=S[7]*te,R[8]=S[8]*ue,R[9]=S[9]*ue,R[10]=S[10]*ue,R[11]=S[11]*ue,R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15],R},i.L=gn,i.M=function(R,S){let D={};for(let j=0;j<S.length;j++){let te=S[j];te in R&&(D[te]=R[te])}return D},i.N=dg,i.O=zw,i.P=u,i.Q=wC,i.R=Jn,i.S=Jv,i.T=ac,i.U=x,i.V=b,i.W=G,i.X=za,i.Y=qe,i.Z=$x,i._=a,i.a=_e,i.a$=function(R,S){var D=R[0],j=R[1],te=R[2],ue=R[3],ve=R[4],De=R[5],Ze=R[6],at=R[7],Tt=R[8],Ft=R[9],Qt=R[10],sr=R[11],Tr=R[12],Pr=R[13],$r=R[14],ni=R[15],Di=S[0],pi=S[1],ki=S[2],Zi=S[3],ta=S[4],Va=S[5],Io=S[6],La=S[7],Hn=S[8],lo=S[9],$a=S[10],Xa=S[11],Tn=S[12],bo=S[13],Ya=S[14],Uo=S[15];return Math.abs(D-Di)<=ji*Math.max(1,Math.abs(D),Math.abs(Di))&&Math.abs(j-pi)<=ji*Math.max(1,Math.abs(j),Math.abs(pi))&&Math.abs(te-ki)<=ji*Math.max(1,Math.abs(te),Math.abs(ki))&&Math.abs(ue-Zi)<=ji*Math.max(1,Math.abs(ue),Math.abs(Zi))&&Math.abs(ve-ta)<=ji*Math.max(1,Math.abs(ve),Math.abs(ta))&&Math.abs(De-Va)<=ji*Math.max(1,Math.abs(De),Math.abs(Va))&&Math.abs(Ze-Io)<=ji*Math.max(1,Math.abs(Ze),Math.abs(Io))&&Math.abs(at-La)<=ji*Math.max(1,Math.abs(at),Math.abs(La))&&Math.abs(Tt-Hn)<=ji*Math.max(1,Math.abs(Tt),Math.abs(Hn))&&Math.abs(Ft-lo)<=ji*Math.max(1,Math.abs(Ft),Math.abs(lo))&&Math.abs(Qt-$a)<=ji*Math.max(1,Math.abs(Qt),Math.abs($a))&&Math.abs(sr-Xa)<=ji*Math.max(1,Math.abs(sr),Math.abs(Xa))&&Math.abs(Tr-Tn)<=ji*Math.max(1,Math.abs(Tr),Math.abs(Tn))&&Math.abs(Pr-bo)<=ji*Math.max(1,Math.abs(Pr),Math.abs(bo))&&Math.abs($r-Ya)<=ji*Math.max(1,Math.abs($r),Math.abs(Ya))&&Math.abs(ni-Uo)<=ji*Math.max(1,Math.abs(ni),Math.abs(Uo))},i.a0=We,i.a1=fS,i.a2=er,i.a3=R=>{let S=window.document.createElement(\"video\");return S.muted=!0,new Promise(D=>{S.onloadstart=()=>{D(S)};for(let j of R){let te=window.document.createElement(\"source\");Ee(j)||(S.crossOrigin=\"Anonymous\"),te.src=j,S.appendChild(te)}})},i.a4=function(){return _++},i.a5=Qi,i.a6=E1,i.a7=Pc,i.a8=xl,i.a9=hS,i.aA=function(R){if(R.type===\"custom\")return new lS(R);switch(R.type){case\"background\":return new G9(R);case\"circle\":return new wn(R);case\"fill\":return new gr(R);case\"fill-extrusion\":return new Ev(R);case\"heatmap\":return new Po(R);case\"hillshade\":return new $c(R);case\"line\":return new ay(R);case\"raster\":return new Kx(R);case\"symbol\":return new uy(R)}},i.aB=g,i.aC=function(R,S){if(!R)return[{command:\"setStyle\",args:[S]}];let D=[];try{if(!ct(R.version,S.version))return[{command:\"setStyle\",args:[S]}];ct(R.center,S.center)||D.push({command:\"setCenter\",args:[S.center]}),ct(R.zoom,S.zoom)||D.push({command:\"setZoom\",args:[S.zoom]}),ct(R.bearing,S.bearing)||D.push({command:\"setBearing\",args:[S.bearing]}),ct(R.pitch,S.pitch)||D.push({command:\"setPitch\",args:[S.pitch]}),ct(R.sprite,S.sprite)||D.push({command:\"setSprite\",args:[S.sprite]}),ct(R.glyphs,S.glyphs)||D.push({command:\"setGlyphs\",args:[S.glyphs]}),ct(R.transition,S.transition)||D.push({command:\"setTransition\",args:[S.transition]}),ct(R.light,S.light)||D.push({command:\"setLight\",args:[S.light]}),ct(R.terrain,S.terrain)||D.push({command:\"setTerrain\",args:[S.terrain]}),ct(R.sky,S.sky)||D.push({command:\"setSky\",args:[S.sky]}),ct(R.projection,S.projection)||D.push({command:\"setProjection\",args:[S.projection]});let j={},te=[];(function(ve,De,Ze,at){let Tt;for(Tt in De=De||{},ve=ve||{})Object.prototype.hasOwnProperty.call(ve,Tt)&&(Object.prototype.hasOwnProperty.call(De,Tt)||ot(Tt,Ze,at));for(Tt in De)Object.prototype.hasOwnProperty.call(De,Tt)&&(Object.prototype.hasOwnProperty.call(ve,Tt)?ct(ve[Tt],De[Tt])||(ve[Tt].type===\"geojson\"&&De[Tt].type===\"geojson\"&&kt(ve,De,Tt)?qt(Ze,{command:\"setGeoJSONSourceData\",args:[Tt,De[Tt].data]}):Rt(Tt,De,Ze,at)):rt(Tt,De,Ze))})(R.sources,S.sources,te,j);let ue=[];R.layers&&R.layers.forEach(ve=>{\"source\"in ve&&j[ve.source]?D.push({command:\"removeLayer\",args:[ve.id]}):ue.push(ve)}),D=D.concat(te),function(ve,De,Ze){De=De||[];let at=(ve=ve||[]).map(Yt),Tt=De.map(Yt),Ft=ve.reduce(xr,{}),Qt=De.reduce(xr,{}),sr=at.slice(),Tr=Object.create(null),Pr,$r,ni,Di,pi;for(let ki=0,Zi=0;ki<at.length;ki++)Pr=at[ki],Object.prototype.hasOwnProperty.call(Qt,Pr)?Zi++:(qt(Ze,{command:\"removeLayer\",args:[Pr]}),sr.splice(sr.indexOf(Pr,Zi),1));for(let ki=0,Zi=0;ki<Tt.length;ki++)Pr=Tt[Tt.length-1-ki],sr[sr.length-1-ki]!==Pr&&(Object.prototype.hasOwnProperty.call(Ft,Pr)?(qt(Ze,{command:\"removeLayer\",args:[Pr]}),sr.splice(sr.lastIndexOf(Pr,sr.length-Zi),1)):Zi++,Di=sr[sr.length-ki],qt(Ze,{command:\"addLayer\",args:[Qt[Pr],Di]}),sr.splice(sr.length-ki,0,Pr),Tr[Pr]=!0);for(let ki=0;ki<Tt.length;ki++)if(Pr=Tt[ki],$r=Ft[Pr],ni=Qt[Pr],!Tr[Pr]&&!ct($r,ni))if(ct($r.source,ni.source)&&ct($r[\"source-layer\"],ni[\"source-layer\"])&&ct($r.type,ni.type)){for(pi in Ct($r.layout,ni.layout,Ze,Pr,null,\"setLayoutProperty\"),Ct($r.paint,ni.paint,Ze,Pr,null,\"setPaintProperty\"),ct($r.filter,ni.filter)||qt(Ze,{command:\"setFilter\",args:[Pr,ni.filter]}),ct($r.minzoom,ni.minzoom)&&ct($r.maxzoom,ni.maxzoom)||qt(Ze,{command:\"setLayerZoomRange\",args:[Pr,ni.minzoom,ni.maxzoom]}),$r)Object.prototype.hasOwnProperty.call($r,pi)&&pi!==\"layout\"&&pi!==\"paint\"&&pi!==\"filter\"&&pi!==\"metadata\"&&pi!==\"minzoom\"&&pi!==\"maxzoom\"&&(pi.indexOf(\"paint.\")===0?Ct($r[pi],ni[pi],Ze,Pr,pi.slice(6),\"setPaintProperty\"):ct($r[pi],ni[pi])||qt(Ze,{command:\"setLayerProperty\",args:[Pr,pi,ni[pi]]}));for(pi in ni)Object.prototype.hasOwnProperty.call(ni,pi)&&!Object.prototype.hasOwnProperty.call($r,pi)&&pi!==\"layout\"&&pi!==\"paint\"&&pi!==\"filter\"&&pi!==\"metadata\"&&pi!==\"minzoom\"&&pi!==\"maxzoom\"&&(pi.indexOf(\"paint.\")===0?Ct($r[pi],ni[pi],Ze,Pr,pi.slice(6),\"setPaintProperty\"):ct($r[pi],ni[pi])||qt(Ze,{command:\"setLayerProperty\",args:[Pr,pi,ni[pi]]}))}else qt(Ze,{command:\"removeLayer\",args:[Pr]}),Di=sr[sr.lastIndexOf(Pr)+1],qt(Ze,{command:\"addLayer\",args:[ni,Di]})}(ue,S.layers,D)}catch(j){console.warn(\"Unable to compute style diff:\",j),D=[{command:\"setStyle\",args:[S]}]}return D},i.aD=function(R){let S=[],D=R.id;return D===void 0&&S.push({message:`layers.${D}: missing required property \"id\"`}),R.render===void 0&&S.push({message:`layers.${D}: missing required method \"render\"`}),R.renderingMode&&R.renderingMode!==\"2d\"&&R.renderingMode!==\"3d\"&&S.push({message:`layers.${D}: property \"renderingMode\" must be either \"2d\" or \"3d\"`}),S},i.aE=function R(S,D){if(Array.isArray(S)){if(!Array.isArray(D)||S.length!==D.length)return!1;for(let j=0;j<S.length;j++)if(!R(S[j],D[j]))return!1;return!0}if(typeof S==\"object\"&&S!==null&&D!==null){if(typeof D!=\"object\"||Object.keys(S).length!==Object.keys(D).length)return!1;for(let j in S)if(!R(S[j],D[j]))return!1;return!0}return S===D},i.aF=C,i.aG=M,i.aH=class extends ci{constructor(R,S){super(R,S),this.current=0}set(R){this.current!==R&&(this.current=R,this.gl.uniform1i(this.location,R))}},i.aI=Jr,i.aJ=class extends ci{constructor(R,S){super(R,S),this.current=En}set(R){if(R[12]!==this.current[12]||R[0]!==this.current[0])return this.current=R,void this.gl.uniformMatrix4fv(this.location,!1,R);for(let S=1;S<16;S++)if(R[S]!==this.current[S]){this.current=R,this.gl.uniformMatrix4fv(this.location,!1,R);break}}},i.aK=un,i.aL=dn,i.aM=Zt,i.aN=class extends ci{constructor(R,S){super(R,S),this.current=[0,0,0]}set(R){R[0]===this.current[0]&&R[1]===this.current[1]&&R[2]===this.current[2]||(this.current=R,this.gl.uniform3f(this.location,R[0],R[1],R[2]))}},i.aO=class extends ci{constructor(R,S){super(R,S),this.current=[0,0]}set(R){R[0]===this.current[0]&&R[1]===this.current[1]||(this.current=R,this.gl.uniform2f(this.location,R[0],R[1]))}},i.aP=function(R,S,D,j,te,ue,ve){var De=1/(S-D),Ze=1/(j-te),at=1/(ue-ve);return R[0]=-2*De,R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=-2*Ze,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[10]=2*at,R[11]=0,R[12]=(S+D)*De,R[13]=(te+j)*Ze,R[14]=(ve+ue)*at,R[15]=1,R},i.aQ=Kn,i.aR=class extends et{},i.aS=im,i.aT=class extends Dt{},i.aU=_o,i.aV=function(R){return R<=1?1:Math.pow(2,Math.ceil(Math.log(R)/Math.LN2))},i.aW=Oa,i.aX=yo,i.aY=oe,i.aZ=class extends di{},i.a_=function(R,S){return R[0]===S[0]&&R[1]===S[1]&&R[2]===S[2]&&R[3]===S[3]&&R[4]===S[4]&&R[5]===S[5]&&R[6]===S[6]&&R[7]===S[7]&&R[8]===S[8]&&R[9]===S[9]&&R[10]===S[10]&&R[11]===S[11]&&R[12]===S[12]&&R[13]===S[13]&&R[14]===S[14]&&R[15]===S[15]},i.aa=function(R){let S={};if(R.replace(/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,(D,j,te,ue)=>{let ve=te||ue;return S[j]=!ve||ve.toLowerCase(),\"\"}),S[\"max-age\"]){let D=parseInt(S[\"max-age\"],10);isNaN(D)?delete S[\"max-age\"]:S[\"max-age\"]=D}return S},i.ab=function(R,S){let D=[];for(let j in R)j in S||D.push(j);return D},i.ac=k,i.ad=function(R,S,D){var j=Math.sin(D),te=Math.cos(D),ue=S[0],ve=S[1],De=S[2],Ze=S[3],at=S[4],Tt=S[5],Ft=S[6],Qt=S[7];return S!==R&&(R[8]=S[8],R[9]=S[9],R[10]=S[10],R[11]=S[11],R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15]),R[0]=ue*te+at*j,R[1]=ve*te+Tt*j,R[2]=De*te+Ft*j,R[3]=Ze*te+Qt*j,R[4]=at*te-ue*j,R[5]=Tt*te-ve*j,R[6]=Ft*te-De*j,R[7]=Qt*te-Ze*j,R},i.ae=function(R){var S=new Ln(16);return S[0]=R[0],S[1]=R[1],S[2]=R[2],S[3]=R[3],S[4]=R[4],S[5]=R[5],S[6]=R[6],S[7]=R[7],S[8]=R[8],S[9]=R[9],S[10]=R[10],S[11]=R[11],S[12]=R[12],S[13]=R[13],S[14]=R[14],S[15]=R[15],S},i.af=Za,i.ag=function(R,S){let D=0,j=0;if(R.kind===\"constant\")j=R.layoutSize;else if(R.kind!==\"source\"){let{interpolationType:te,minZoom:ue,maxZoom:ve}=R,De=te?k(xo.interpolationFactor(te,S,ue,ve),0,1):0;R.kind===\"camera\"?j=Mo.number(R.minSize,R.maxSize,De):D=De}return{uSizeT:D,uSize:j}},i.ai=function(R,{uSize:S,uSizeT:D},{lowerSize:j,upperSize:te}){return R.kind===\"source\"?j/v0:R.kind===\"composite\"?Mo.number(j/v0,te/v0,D):S},i.aj=nS,i.ak=function(R,S,D,j){let te=S.y-R.y,ue=S.x-R.x,ve=j.y-D.y,De=j.x-D.x,Ze=ve*ue-De*te;if(Ze===0)return null;let at=(De*(R.y-D.y)-ve*(R.x-D.x))/Ze;return new u(R.x+at*ue,R.y+at*te)},i.al=kC,i.am=xc,i.an=Un,i.ao=function(R){let S=1/0,D=1/0,j=-1/0,te=-1/0;for(let ue of R)S=Math.min(S,ue.x),D=Math.min(D,ue.y),j=Math.max(j,ue.x),te=Math.max(te,ue.y);return[S,D,j,te]},i.ap=kl,i.ar=iS,i.as=function(R,S){var D=S[0],j=S[1],te=S[2],ue=S[3],ve=S[4],De=S[5],Ze=S[6],at=S[7],Tt=S[8],Ft=S[9],Qt=S[10],sr=S[11],Tr=S[12],Pr=S[13],$r=S[14],ni=S[15],Di=D*De-j*ve,pi=D*Ze-te*ve,ki=D*at-ue*ve,Zi=j*Ze-te*De,ta=j*at-ue*De,Va=te*at-ue*Ze,Io=Tt*Pr-Ft*Tr,La=Tt*$r-Qt*Tr,Hn=Tt*ni-sr*Tr,lo=Ft*$r-Qt*Pr,$a=Ft*ni-sr*Pr,Xa=Qt*ni-sr*$r,Tn=Di*Xa-pi*$a+ki*lo+Zi*Hn-ta*La+Va*Io;return Tn?(R[0]=(De*Xa-Ze*$a+at*lo)*(Tn=1/Tn),R[1]=(te*$a-j*Xa-ue*lo)*Tn,R[2]=(Pr*Va-$r*ta+ni*Zi)*Tn,R[3]=(Qt*ta-Ft*Va-sr*Zi)*Tn,R[4]=(Ze*Hn-ve*Xa-at*La)*Tn,R[5]=(D*Xa-te*Hn+ue*La)*Tn,R[6]=($r*ki-Tr*Va-ni*pi)*Tn,R[7]=(Tt*Va-Qt*ki+sr*pi)*Tn,R[8]=(ve*$a-De*Hn+at*Io)*Tn,R[9]=(j*Hn-D*$a-ue*Io)*Tn,R[10]=(Tr*ta-Pr*ki+ni*Di)*Tn,R[11]=(Ft*ki-Tt*ta-sr*Di)*Tn,R[12]=(De*La-ve*lo-Ze*Io)*Tn,R[13]=(D*lo-j*La+te*Io)*Tn,R[14]=(Pr*pi-Tr*Zi-$r*Di)*Tn,R[15]=(Tt*Zi-Ft*pi+Qt*Di)*Tn,R):null},i.at=pS,i.au=Iw,i.av=gS,i.aw=function(){let R={},S=ce.$version;for(let D in ce.$root){let j=ce.$root[D];if(j.required){let te=null;te=D===\"version\"?S:j.type===\"array\"?[]:{},te!=null&&(R[D]=te)}}return R},i.ax=Cn,i.ay=ie,i.az=function(R){R=R.slice();let S=Object.create(null);for(let D=0;D<R.length;D++)S[R[D].id]=R[D];for(let D=0;D<R.length;D++)\"ref\"in R[D]&&(R[D]=nt(R[D],S[R[D].ref]));return R},i.b=H,i.b0=function(R,S){return R[0]=S[0],R[1]=S[1],R[2]=S[2],R[3]=S[3],R[4]=S[4],R[5]=S[5],R[6]=S[6],R[7]=S[7],R[8]=S[8],R[9]=S[9],R[10]=S[10],R[11]=S[11],R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15],R},i.b1=function(R,S,D){return R[0]=S[0]*D[0],R[1]=S[1]*D[1],R[2]=S[2]*D[2],R[3]=S[3]*D[3],R},i.b2=function(R,S){return R[0]*S[0]+R[1]*S[1]+R[2]*S[2]+R[3]*S[3]},i.b3=A,i.b4=TC,i.b5=Fw,i.b6=function(R,S,D,j,te){var ue,ve=1/Math.tan(S/2);return R[0]=ve/D,R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=ve,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[11]=-1,R[12]=0,R[13]=0,R[15]=0,te!=null&&te!==1/0?(R[10]=(te+j)*(ue=1/(j-te)),R[14]=2*te*j*ue):(R[10]=-1,R[14]=-2*j),R},i.b7=function(R,S,D){var j=Math.sin(D),te=Math.cos(D),ue=S[4],ve=S[5],De=S[6],Ze=S[7],at=S[8],Tt=S[9],Ft=S[10],Qt=S[11];return S!==R&&(R[0]=S[0],R[1]=S[1],R[2]=S[2],R[3]=S[3],R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15]),R[4]=ue*te+at*j,R[5]=ve*te+Tt*j,R[6]=De*te+Ft*j,R[7]=Ze*te+Qt*j,R[8]=at*te-ue*j,R[9]=Tt*te-ve*j,R[10]=Ft*te-De*j,R[11]=Qt*te-Ze*j,R},i.b8=p,i.b9=E,i.bA=bd,i.bB=function(R){return R.message===re},i.bC=fl,i.bD=vs,i.ba=function(R){return R*Math.PI/180},i.bb=function(R,S){let{x:D,y:j}=$x.fromLngLat(S);return!(R<0||R>25||j<0||j>=1||D<0||D>=1)},i.bc=function(R,S){return R[0]=S[0],R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=S[1],R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[10]=S[2],R[11]=0,R[12]=0,R[13]=0,R[14]=0,R[15]=1,R},i.bd=class extends yt{},i.be=cS,i.bf=$9,i.bh=ge,i.bi=function(R,S){_e.REGISTERED_PROTOCOLS[R]=S},i.bj=function(R){delete _e.REGISTERED_PROTOCOLS[R]},i.bk=function(R,S){let D={};for(let te=0;te<R.length;te++){let ue=S&&S[R[te].id]||md(R[te]);S&&(S[R[te].id]=ue);let ve=D[ue];ve||(ve=D[ue]=[]),ve.push(R[te])}let j=[];for(let te in D)j.push(D[te]);return j},i.bl=mi,i.bm=SC,i.bn=cy,i.bo=Cw,i.bp=function(R){R.bucket.createArrays(),R.bucket.tilePixelRatio=za/(512*R.bucket.overscaling),R.bucket.compareText={},R.bucket.iconsNeedLinear=!1;let S=R.bucket.layers[0],D=S.layout,j=S._unevaluatedLayout._values,te={layoutIconSize:j[\"icon-size\"].possiblyEvaluate(new Ko(R.bucket.zoom+1),R.canonical),layoutTextSize:j[\"text-size\"].possiblyEvaluate(new Ko(R.bucket.zoom+1),R.canonical),textMaxSize:j[\"text-size\"].possiblyEvaluate(new Ko(18))};if(R.bucket.textSizeData.kind===\"composite\"){let{minZoom:at,maxZoom:Tt}=R.bucket.textSizeData;te.compositeTextSizes=[j[\"text-size\"].possiblyEvaluate(new Ko(at),R.canonical),j[\"text-size\"].possiblyEvaluate(new Ko(Tt),R.canonical)]}if(R.bucket.iconSizeData.kind===\"composite\"){let{minZoom:at,maxZoom:Tt}=R.bucket.iconSizeData;te.compositeIconSizes=[j[\"icon-size\"].possiblyEvaluate(new Ko(at),R.canonical),j[\"icon-size\"].possiblyEvaluate(new Ko(Tt),R.canonical)]}let ue=D.get(\"text-line-height\")*kl,ve=D.get(\"text-rotation-alignment\")!==\"viewport\"&&D.get(\"symbol-placement\")!==\"point\",De=D.get(\"text-keep-upright\"),Ze=D.get(\"text-size\");for(let at of R.bucket.features){let Tt=D.get(\"text-font\").evaluate(at,{},R.canonical).join(\",\"),Ft=Ze.evaluate(at,{},R.canonical),Qt=te.layoutTextSize.evaluate(at,{},R.canonical),sr=te.layoutIconSize.evaluate(at,{},R.canonical),Tr={horizontal:{},vertical:void 0},Pr=at.text,$r,ni=[0,0];if(Pr){let ki=Pr.toString(),Zi=D.get(\"text-letter-spacing\").evaluate(at,{},R.canonical)*kl,ta=mo(ki)?Zi:0,Va=D.get(\"text-anchor\").evaluate(at,{},R.canonical),Io=zC(S,at,R.canonical);if(!Io){let $a=D.get(\"text-radial-offset\").evaluate(at,{},R.canonical);ni=$a?vS(Va,[$a*kl,fy]):D.get(\"text-offset\").evaluate(at,{},R.canonical).map(Xa=>Xa*kl)}let La=ve?\"center\":D.get(\"text-justify\").evaluate(at,{},R.canonical),Hn=D.get(\"symbol-placement\")===\"point\"?D.get(\"text-max-width\").evaluate(at,{},R.canonical)*kl:1/0,lo=()=>{R.bucket.allowVerticalPlacement&&Ua(ki)&&(Tr.vertical=Gx(Pr,R.glyphMap,R.glyphPositions,R.imagePositions,Tt,Hn,ue,Va,\"left\",ta,ni,i.ah.vertical,!0,Qt,Ft))};if(!ve&&Io){let $a=new Set;if(La===\"auto\")for(let Tn=0;Tn<Io.values.length;Tn+=2)$a.add(pS(Io.values[Tn]));else $a.add(La);let Xa=!1;for(let Tn of $a)if(!Tr.horizontal[Tn])if(Xa)Tr.horizontal[Tn]=Tr.horizontal[0];else{let bo=Gx(Pr,R.glyphMap,R.glyphPositions,R.imagePositions,Tt,Hn,ue,\"center\",Tn,ta,ni,i.ah.horizontal,!1,Qt,Ft);bo&&(Tr.horizontal[Tn]=bo,Xa=bo.positionedLines.length===1)}lo()}else{La===\"auto\"&&(La=pS(Va));let $a=Gx(Pr,R.glyphMap,R.glyphPositions,R.imagePositions,Tt,Hn,ue,Va,La,ta,ni,i.ah.horizontal,!1,Qt,Ft);$a&&(Tr.horizontal[La]=$a),lo(),Ua(ki)&&ve&&De&&(Tr.vertical=Gx(Pr,R.glyphMap,R.glyphPositions,R.imagePositions,Tt,Hn,ue,Va,La,ta,ni,i.ah.vertical,!1,Qt,Ft))}}let Di=!1;if(at.icon&&at.icon.name){let ki=R.imageMap[at.icon.name];ki&&($r=jx(R.imagePositions[at.icon.name],D.get(\"icon-offset\").evaluate(at,{},R.canonical),D.get(\"icon-anchor\").evaluate(at,{},R.canonical)),Di=!!ki.sdf,R.bucket.sdfIcons===void 0?R.bucket.sdfIcons=Di:R.bucket.sdfIcons!==Di&&T(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),(ki.pixelRatio!==R.bucket.pixelRatio||D.get(\"icon-rotate\").constantOr(1)!==0)&&(R.bucket.iconsNeedLinear=!0))}let pi=qC(Tr.horizontal)||Tr.vertical;R.bucket.iconsInText=!!pi&&pi.iconsInText,(pi||$r)&&K9(R.bucket,at,Tr,$r,R.imageMap,te,Qt,sr,ni,Di,R.canonical)}R.showCollisionBoxes&&R.bucket.generateCollisionDebugBuffers()},i.bq=Kv,i.br=dr,i.bs=fo,i.bt=ei,i.bu=eS,i.bv=class{constructor(R){this._marks={start:[R.url,\"start\"].join(\"#\"),end:[R.url,\"end\"].join(\"#\"),measure:R.url.toString()},performance.mark(this._marks.start)}finish(){performance.mark(this._marks.end);let R=performance.getEntriesByName(this._marks.measure);return R.length===0&&(performance.measure(this._marks.measure,this._marks.start,this._marks.end),R=performance.getEntriesByName(this._marks.measure),performance.clearMarks(this._marks.start),performance.clearMarks(this._marks.end),performance.clearMeasures(this._marks.measure)),R}},i.bw=function(R,S,D,j,te){return a(this,void 0,void 0,function*(){if(b())try{return yield G(R,S,D,j,te)}catch(ue){}return function(ue,ve,De,Ze,at){let Tt=ue.width,Ft=ue.height;N&&W||(N=new OffscreenCanvas(Tt,Ft),W=N.getContext(\"2d\",{willReadFrequently:!0})),N.width=Tt,N.height=Ft,W.drawImage(ue,0,0,Tt,Ft);let Qt=W.getImageData(ve,De,Ze,at);return W.clearRect(0,0,Tt,Ft),Qt.data}(R,S,D,j,te)})},i.bx=AC,i.by=o,i.bz=s,i.c=ae,i.d=R=>a(void 0,void 0,void 0,function*(){if(R.byteLength===0)return createImageBitmap(new ImageData(1,1));let S=new Blob([new Uint8Array(R)],{type:\"image/png\"});try{return createImageBitmap(S)}catch(D){throw new Error(`Could not load image because of ${D.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),i.e=L,i.f=R=>new Promise((S,D)=>{let j=new Image;j.onload=()=>{S(j),URL.revokeObjectURL(j.src),j.onload=null,window.requestAnimationFrame(()=>{j.src=X})},j.onerror=()=>D(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.\"));let te=new Blob([new Uint8Array(R)],{type:\"image/png\"});j.src=R.byteLength?URL.createObjectURL(te):X}),i.g=Me,i.h=(R,S)=>Te(L(R,{type:\"json\"}),S),i.i=q,i.j=me,i.k=Ce,i.l=(R,S)=>Te(L(R,{type:\"arrayBuffer\"}),S),i.m=Te,i.n=function(R){return new eS(R).readFields(yQ,[])},i.o=Ao,i.p=rS,i.q=le,i.r=xi,i.s=Ee,i.t=Ti,i.u=fi,i.v=ce,i.w=T,i.x=function([R,S,D]){return S+=90,S*=Math.PI/180,D*=Math.PI/180,{x:R*Math.cos(S)*Math.sin(D),y:R*Math.sin(S)*Math.sin(D),z:R*Math.cos(D)}},i.y=Mo,i.z=Ko}),r(\"worker\",[\"./shared\"],function(i){\"use strict\";class a{constructor(Ne){this.keyCache={},Ne&&this.replace(Ne)}replace(Ne){this._layerConfigs={},this._layers={},this.update(Ne,[])}update(Ne,Ye){for(let Xe of Ne){this._layerConfigs[Xe.id]=Xe;let ht=this._layers[Xe.id]=i.aA(Xe);ht._featureFilter=i.a7(ht.filter),this.keyCache[Xe.id]&&delete this.keyCache[Xe.id]}for(let Xe of Ye)delete this.keyCache[Xe],delete this._layerConfigs[Xe],delete this._layers[Xe];this.familiesBySource={};let Ve=i.bk(Object.values(this._layerConfigs),this.keyCache);for(let Xe of Ve){let ht=Xe.map(Vt=>this._layers[Vt.id]),Le=ht[0];if(Le.visibility===\"none\")continue;let xe=Le.source||\"\",Se=this.familiesBySource[xe];Se||(Se=this.familiesBySource[xe]={});let lt=Le.sourceLayer||\"_geojsonTileLayer\",Gt=Se[lt];Gt||(Gt=Se[lt]=[]),Gt.push(ht)}}}class o{constructor(Ne){let Ye={},Ve=[];for(let xe in Ne){let Se=Ne[xe],lt=Ye[xe]={};for(let Gt in Se){let Vt=Se[+Gt];if(!Vt||Vt.bitmap.width===0||Vt.bitmap.height===0)continue;let ar={x:0,y:0,w:Vt.bitmap.width+2,h:Vt.bitmap.height+2};Ve.push(ar),lt[Gt]={rect:ar,metrics:Vt.metrics}}}let{w:Xe,h:ht}=i.p(Ve),Le=new i.o({width:Xe||1,height:ht||1});for(let xe in Ne){let Se=Ne[xe];for(let lt in Se){let Gt=Se[+lt];if(!Gt||Gt.bitmap.width===0||Gt.bitmap.height===0)continue;let Vt=Ye[xe][lt].rect;i.o.copy(Gt.bitmap,Le,{x:0,y:0},{x:Vt.x+1,y:Vt.y+1},Gt.bitmap)}}this.image=Le,this.positions=Ye}}i.bl(\"GlyphAtlas\",o);class s{constructor(Ne){this.tileID=new i.S(Ne.tileID.overscaledZ,Ne.tileID.wrap,Ne.tileID.canonical.z,Ne.tileID.canonical.x,Ne.tileID.canonical.y),this.uid=Ne.uid,this.zoom=Ne.zoom,this.pixelRatio=Ne.pixelRatio,this.tileSize=Ne.tileSize,this.source=Ne.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=Ne.showCollisionBoxes,this.collectResourceTiming=!!Ne.collectResourceTiming,this.returnDependencies=!!Ne.returnDependencies,this.promoteId=Ne.promoteId,this.inFlightDependencies=[]}parse(Ne,Ye,Ve,Xe){return i._(this,void 0,void 0,function*(){this.status=\"parsing\",this.data=Ne,this.collisionBoxArray=new i.a5;let ht=new i.bm(Object.keys(Ne.layers).sort()),Le=new i.bn(this.tileID,this.promoteId);Le.bucketLayerIDs=[];let xe={},Se={featureIndex:Le,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:Ve},lt=Ye.familiesBySource[this.source];for(let _n in lt){let $i=Ne.layers[_n];if(!$i)continue;$i.version===1&&i.w(`Vector tile source \"${this.source}\" layer \"${_n}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);let zn=ht.encode(_n),Wn=[];for(let It=0;It<$i.length;It++){let ft=$i.feature(It),jt=Le.getId(ft,_n);Wn.push({feature:ft,id:jt,index:It,sourceLayerIndex:zn})}for(let It of lt[_n]){let ft=It[0];ft.source!==this.source&&i.w(`layer.source = ${ft.source} does not equal this.source = ${this.source}`),ft.minzoom&&this.zoom<Math.floor(ft.minzoom)||ft.maxzoom&&this.zoom>=ft.maxzoom||ft.visibility!==\"none\"&&(l(It,this.zoom,Ve),(xe[ft.id]=ft.createBucket({index:Le.bucketLayerIDs.length,layers:It,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:zn,sourceID:this.source})).populate(Wn,Se,this.tileID.canonical),Le.bucketLayerIDs.push(It.map(jt=>jt.id)))}}let Gt=i.aF(Se.glyphDependencies,_n=>Object.keys(_n).map(Number));this.inFlightDependencies.forEach(_n=>_n==null?void 0:_n.abort()),this.inFlightDependencies=[];let Vt=Promise.resolve({});if(Object.keys(Gt).length){let _n=new AbortController;this.inFlightDependencies.push(_n),Vt=Xe.sendAsync({type:\"GG\",data:{stacks:Gt,source:this.source,tileID:this.tileID,type:\"glyphs\"}},_n)}let ar=Object.keys(Se.iconDependencies),Qr=Promise.resolve({});if(ar.length){let _n=new AbortController;this.inFlightDependencies.push(_n),Qr=Xe.sendAsync({type:\"GI\",data:{icons:ar,source:this.source,tileID:this.tileID,type:\"icons\"}},_n)}let ai=Object.keys(Se.patternDependencies),jr=Promise.resolve({});if(ai.length){let _n=new AbortController;this.inFlightDependencies.push(_n),jr=Xe.sendAsync({type:\"GI\",data:{icons:ai,source:this.source,tileID:this.tileID,type:\"patterns\"}},_n)}let[ri,bi,nn]=yield Promise.all([Vt,Qr,jr]),Wi=new o(ri),Ni=new i.bo(bi,nn);for(let _n in xe){let $i=xe[_n];$i instanceof i.a6?(l($i.layers,this.zoom,Ve),i.bp({bucket:$i,glyphMap:ri,glyphPositions:Wi.positions,imageMap:bi,imagePositions:Ni.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):$i.hasPattern&&($i instanceof i.bq||$i instanceof i.br||$i instanceof i.bs)&&(l($i.layers,this.zoom,Ve),$i.addFeatures(Se,this.tileID.canonical,Ni.patternPositions))}return this.status=\"done\",{buckets:Object.values(xe).filter(_n=>!_n.isEmpty()),featureIndex:Le,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:Wi.image,imageAtlas:Ni,glyphMap:this.returnDependencies?ri:null,iconMap:this.returnDependencies?bi:null,glyphPositions:this.returnDependencies?Wi.positions:null}})}}function l(ut,Ne,Ye){let Ve=new i.z(Ne);for(let Xe of ut)Xe.recalculate(Ve,Ye)}class u{constructor(Ne,Ye,Ve){this.actor=Ne,this.layerIndex=Ye,this.availableImages=Ve,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(Ne,Ye){return i._(this,void 0,void 0,function*(){let Ve=yield i.l(Ne.request,Ye);try{return{vectorTile:new i.bt.VectorTile(new i.bu(Ve.data)),rawData:Ve.data,cacheControl:Ve.cacheControl,expires:Ve.expires}}catch(Xe){let ht=new Uint8Array(Ve.data),Le=`Unable to parse the tile at ${Ne.request.url}, `;throw Le+=ht[0]===31&&ht[1]===139?\"please make sure the data is not gzipped and that you have configured the relevant header in the server\":`got error: ${Xe.message}`,new Error(Le)}})}loadTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=Ne.uid,Ve=!!(Ne&&Ne.request&&Ne.request.collectResourceTiming)&&new i.bv(Ne.request),Xe=new s(Ne);this.loading[Ye]=Xe;let ht=new AbortController;Xe.abort=ht;try{let Le=yield this.loadVectorTile(Ne,ht);if(delete this.loading[Ye],!Le)return null;let xe=Le.rawData,Se={};Le.expires&&(Se.expires=Le.expires),Le.cacheControl&&(Se.cacheControl=Le.cacheControl);let lt={};if(Ve){let Vt=Ve.finish();Vt&&(lt.resourceTiming=JSON.parse(JSON.stringify(Vt)))}Xe.vectorTile=Le.vectorTile;let Gt=Xe.parse(Le.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[Ye]=Xe,this.fetching[Ye]={rawTileData:xe,cacheControl:Se,resourceTiming:lt};try{let Vt=yield Gt;return i.e({rawTileData:xe.slice(0)},Vt,Se,lt)}finally{delete this.fetching[Ye]}}catch(Le){throw delete this.loading[Ye],Xe.status=\"done\",this.loaded[Ye]=Xe,Le}})}reloadTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=Ne.uid;if(!this.loaded||!this.loaded[Ye])throw new Error(\"Should not be trying to reload a tile that was never loaded or has been removed\");let Ve=this.loaded[Ye];if(Ve.showCollisionBoxes=Ne.showCollisionBoxes,Ve.status===\"parsing\"){let Xe=yield Ve.parse(Ve.vectorTile,this.layerIndex,this.availableImages,this.actor),ht;if(this.fetching[Ye]){let{rawTileData:Le,cacheControl:xe,resourceTiming:Se}=this.fetching[Ye];delete this.fetching[Ye],ht=i.e({rawTileData:Le.slice(0)},Xe,xe,Se)}else ht=Xe;return ht}if(Ve.status===\"done\"&&Ve.vectorTile)return Ve.parse(Ve.vectorTile,this.layerIndex,this.availableImages,this.actor)})}abortTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=this.loading,Ve=Ne.uid;Ye&&Ye[Ve]&&Ye[Ve].abort&&(Ye[Ve].abort.abort(),delete Ye[Ve])})}removeTile(Ne){return i._(this,void 0,void 0,function*(){this.loaded&&this.loaded[Ne.uid]&&delete this.loaded[Ne.uid]})}}class c{constructor(){this.loaded={}}loadTile(Ne){return i._(this,void 0,void 0,function*(){let{uid:Ye,encoding:Ve,rawImageData:Xe,redFactor:ht,greenFactor:Le,blueFactor:xe,baseShift:Se}=Ne,lt=Xe.width+2,Gt=Xe.height+2,Vt=i.b(Xe)?new i.R({width:lt,height:Gt},yield i.bw(Xe,-1,-1,lt,Gt)):Xe,ar=new i.bx(Ye,Vt,Ve,ht,Le,xe,Se);return this.loaded=this.loaded||{},this.loaded[Ye]=ar,ar})}removeTile(Ne){let Ye=this.loaded,Ve=Ne.uid;Ye&&Ye[Ve]&&delete Ye[Ve]}}function f(ut,Ne){if(ut.length!==0){h(ut[0],Ne);for(var Ye=1;Ye<ut.length;Ye++)h(ut[Ye],!Ne)}}function h(ut,Ne){for(var Ye=0,Ve=0,Xe=0,ht=ut.length,Le=ht-1;Xe<ht;Le=Xe++){var xe=(ut[Xe][0]-ut[Le][0])*(ut[Le][1]+ut[Xe][1]),Se=Ye+xe;Ve+=Math.abs(Ye)>=Math.abs(xe)?Ye-Se+xe:xe-Se+Ye,Ye=Se}Ye+Ve>=0!=!!Ne&&ut.reverse()}var d=i.by(function ut(Ne,Ye){var Ve,Xe=Ne&&Ne.type;if(Xe===\"FeatureCollection\")for(Ve=0;Ve<Ne.features.length;Ve++)ut(Ne.features[Ve],Ye);else if(Xe===\"GeometryCollection\")for(Ve=0;Ve<Ne.geometries.length;Ve++)ut(Ne.geometries[Ve],Ye);else if(Xe===\"Feature\")ut(Ne.geometry,Ye);else if(Xe===\"Polygon\")f(Ne.coordinates,Ye);else if(Xe===\"MultiPolygon\")for(Ve=0;Ve<Ne.coordinates.length;Ve++)f(Ne.coordinates[Ve],Ye);return Ne});let v=i.bt.VectorTileFeature.prototype.toGeoJSON;var x={exports:{}},b=i.bz,p=i.bt.VectorTileFeature,E=k;function k(ut,Ne){this.options=Ne||{},this.features=ut,this.length=ut.length}function A(ut,Ne){this.id=typeof ut.id==\"number\"?ut.id:void 0,this.type=ut.type,this.rawGeometry=ut.type===1?[ut.geometry]:ut.geometry,this.properties=ut.tags,this.extent=Ne||4096}k.prototype.feature=function(ut){return new A(this.features[ut],this.options.extent)},A.prototype.loadGeometry=function(){var ut=this.rawGeometry;this.geometry=[];for(var Ne=0;Ne<ut.length;Ne++){for(var Ye=ut[Ne],Ve=[],Xe=0;Xe<Ye.length;Xe++)Ve.push(new b(Ye[Xe][0],Ye[Xe][1]));this.geometry.push(Ve)}return this.geometry},A.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var ut=this.geometry,Ne=1/0,Ye=-1/0,Ve=1/0,Xe=-1/0,ht=0;ht<ut.length;ht++)for(var Le=ut[ht],xe=0;xe<Le.length;xe++){var Se=Le[xe];Ne=Math.min(Ne,Se.x),Ye=Math.max(Ye,Se.x),Ve=Math.min(Ve,Se.y),Xe=Math.max(Xe,Se.y)}return[Ne,Ve,Ye,Xe]},A.prototype.toGeoJSON=p.prototype.toGeoJSON;var L=i.bA,_=E;function C(ut){var Ne=new L;return function(Ye,Ve){for(var Xe in Ye.layers)Ve.writeMessage(3,M,Ye.layers[Xe])}(ut,Ne),Ne.finish()}function M(ut,Ne){var Ye;Ne.writeVarintField(15,ut.version||1),Ne.writeStringField(1,ut.name||\"\"),Ne.writeVarintField(5,ut.extent||4096);var Ve={keys:[],values:[],keycache:{},valuecache:{}};for(Ye=0;Ye<ut.length;Ye++)Ve.feature=ut.feature(Ye),Ne.writeMessage(2,g,Ve);var Xe=Ve.keys;for(Ye=0;Ye<Xe.length;Ye++)Ne.writeStringField(3,Xe[Ye]);var ht=Ve.values;for(Ye=0;Ye<ht.length;Ye++)Ne.writeMessage(4,V,ht[Ye])}function g(ut,Ne){var Ye=ut.feature;Ye.id!==void 0&&Ne.writeVarintField(1,Ye.id),Ne.writeMessage(2,P,ut),Ne.writeVarintField(3,Ye.type),Ne.writeMessage(4,q,Ye)}function P(ut,Ne){var Ye=ut.feature,Ve=ut.keys,Xe=ut.values,ht=ut.keycache,Le=ut.valuecache;for(var xe in Ye.properties){var Se=Ye.properties[xe],lt=ht[xe];if(Se!==null){lt===void 0&&(Ve.push(xe),ht[xe]=lt=Ve.length-1),Ne.writeVarint(lt);var Gt=typeof Se;Gt!==\"string\"&&Gt!==\"boolean\"&&Gt!==\"number\"&&(Se=JSON.stringify(Se));var Vt=Gt+\":\"+Se,ar=Le[Vt];ar===void 0&&(Xe.push(Se),Le[Vt]=ar=Xe.length-1),Ne.writeVarint(ar)}}}function T(ut,Ne){return(Ne<<3)+(7&ut)}function F(ut){return ut<<1^ut>>31}function q(ut,Ne){for(var Ye=ut.loadGeometry(),Ve=ut.type,Xe=0,ht=0,Le=Ye.length,xe=0;xe<Le;xe++){var Se=Ye[xe],lt=1;Ve===1&&(lt=Se.length),Ne.writeVarint(T(1,lt));for(var Gt=Ve===3?Se.length-1:Se.length,Vt=0;Vt<Gt;Vt++){Vt===1&&Ve!==1&&Ne.writeVarint(T(2,Gt-1));var ar=Se[Vt].x-Xe,Qr=Se[Vt].y-ht;Ne.writeVarint(F(ar)),Ne.writeVarint(F(Qr)),Xe+=ar,ht+=Qr}Ve===3&&Ne.writeVarint(T(7,1))}}function V(ut,Ne){var Ye=typeof ut;Ye===\"string\"?Ne.writeStringField(1,ut):Ye===\"boolean\"?Ne.writeBooleanField(7,ut):Ye===\"number\"&&(ut%1!=0?Ne.writeDoubleField(3,ut):ut<0?Ne.writeSVarintField(6,ut):Ne.writeVarintField(5,ut))}x.exports=C,x.exports.fromVectorTileJs=C,x.exports.fromGeojsonVt=function(ut,Ne){Ne=Ne||{};var Ye={};for(var Ve in ut)Ye[Ve]=new _(ut[Ve].features,Ne),Ye[Ve].name=Ve,Ye[Ve].version=Ne.version,Ye[Ve].extent=Ne.extent;return C({layers:Ye})},x.exports.GeoJSONWrapper=_;var H=i.by(x.exports);let X={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:ut=>ut},G=Math.fround||(N=new Float32Array(1),ut=>(N[0]=+ut,N[0]));var N;let W=3,re=5,ae=6;class _e{constructor(Ne){this.options=Object.assign(Object.create(X),Ne),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(Ne){let{log:Ye,minZoom:Ve,maxZoom:Xe}=this.options;Ye&&console.time(\"total time\");let ht=`prepare ${Ne.length} points`;Ye&&console.time(ht),this.points=Ne;let Le=[];for(let Se=0;Se<Ne.length;Se++){let lt=Ne[Se];if(!lt.geometry)continue;let[Gt,Vt]=lt.geometry.coordinates,ar=G(ge(Gt)),Qr=G(ie(Vt));Le.push(ar,Qr,1/0,Se,-1,1),this.options.reduce&&Le.push(0)}let xe=this.trees[Xe+1]=this._createTree(Le);Ye&&console.timeEnd(ht);for(let Se=Xe;Se>=Ve;Se--){let lt=+Date.now();xe=this.trees[Se]=this._createTree(this._cluster(xe,Se)),Ye&&console.log(\"z%d: %d clusters in %dms\",Se,xe.numItems,+Date.now()-lt)}return Ye&&console.timeEnd(\"total time\"),this}getClusters(Ne,Ye){let Ve=((Ne[0]+180)%360+360)%360-180,Xe=Math.max(-90,Math.min(90,Ne[1])),ht=Ne[2]===180?180:((Ne[2]+180)%360+360)%360-180,Le=Math.max(-90,Math.min(90,Ne[3]));if(Ne[2]-Ne[0]>=360)Ve=-180,ht=180;else if(Ve>ht){let Vt=this.getClusters([Ve,Xe,180,Le],Ye),ar=this.getClusters([-180,Xe,ht,Le],Ye);return Vt.concat(ar)}let xe=this.trees[this._limitZoom(Ye)],Se=xe.range(ge(Ve),ie(Le),ge(ht),ie(Xe)),lt=xe.data,Gt=[];for(let Vt of Se){let ar=this.stride*Vt;Gt.push(lt[ar+re]>1?Me(lt,ar,this.clusterProps):this.points[lt[ar+W]])}return Gt}getChildren(Ne){let Ye=this._getOriginId(Ne),Ve=this._getOriginZoom(Ne),Xe=\"No cluster with the specified id.\",ht=this.trees[Ve];if(!ht)throw new Error(Xe);let Le=ht.data;if(Ye*this.stride>=Le.length)throw new Error(Xe);let xe=this.options.radius/(this.options.extent*Math.pow(2,Ve-1)),Se=ht.within(Le[Ye*this.stride],Le[Ye*this.stride+1],xe),lt=[];for(let Gt of Se){let Vt=Gt*this.stride;Le[Vt+4]===Ne&<.push(Le[Vt+re]>1?Me(Le,Vt,this.clusterProps):this.points[Le[Vt+W]])}if(lt.length===0)throw new Error(Xe);return lt}getLeaves(Ne,Ye,Ve){let Xe=[];return this._appendLeaves(Xe,Ne,Ye=Ye||10,Ve=Ve||0,0),Xe}getTile(Ne,Ye,Ve){let Xe=this.trees[this._limitZoom(Ne)],ht=Math.pow(2,Ne),{extent:Le,radius:xe}=this.options,Se=xe/Le,lt=(Ve-Se)/ht,Gt=(Ve+1+Se)/ht,Vt={features:[]};return this._addTileFeatures(Xe.range((Ye-Se)/ht,lt,(Ye+1+Se)/ht,Gt),Xe.data,Ye,Ve,ht,Vt),Ye===0&&this._addTileFeatures(Xe.range(1-Se/ht,lt,1,Gt),Xe.data,ht,Ve,ht,Vt),Ye===ht-1&&this._addTileFeatures(Xe.range(0,lt,Se/ht,Gt),Xe.data,-1,Ve,ht,Vt),Vt.features.length?Vt:null}getClusterExpansionZoom(Ne){let Ye=this._getOriginZoom(Ne)-1;for(;Ye<=this.options.maxZoom;){let Ve=this.getChildren(Ne);if(Ye++,Ve.length!==1)break;Ne=Ve[0].properties.cluster_id}return Ye}_appendLeaves(Ne,Ye,Ve,Xe,ht){let Le=this.getChildren(Ye);for(let xe of Le){let Se=xe.properties;if(Se&&Se.cluster?ht+Se.point_count<=Xe?ht+=Se.point_count:ht=this._appendLeaves(Ne,Se.cluster_id,Ve,Xe,ht):ht<Xe?ht++:Ne.push(xe),Ne.length===Ve)break}return ht}_createTree(Ne){let Ye=new i.av(Ne.length/this.stride|0,this.options.nodeSize,Float32Array);for(let Ve=0;Ve<Ne.length;Ve+=this.stride)Ye.add(Ne[Ve],Ne[Ve+1]);return Ye.finish(),Ye.data=Ne,Ye}_addTileFeatures(Ne,Ye,Ve,Xe,ht,Le){for(let xe of Ne){let Se=xe*this.stride,lt=Ye[Se+re]>1,Gt,Vt,ar;if(lt)Gt=ke(Ye,Se,this.clusterProps),Vt=Ye[Se],ar=Ye[Se+1];else{let jr=this.points[Ye[Se+W]];Gt=jr.properties;let[ri,bi]=jr.geometry.coordinates;Vt=ge(ri),ar=ie(bi)}let Qr={type:1,geometry:[[Math.round(this.options.extent*(Vt*ht-Ve)),Math.round(this.options.extent*(ar*ht-Xe))]],tags:Gt},ai;ai=lt||this.options.generateId?Ye[Se+W]:this.points[Ye[Se+W]].id,ai!==void 0&&(Qr.id=ai),Le.features.push(Qr)}}_limitZoom(Ne){return Math.max(this.options.minZoom,Math.min(Math.floor(+Ne),this.options.maxZoom+1))}_cluster(Ne,Ye){let{radius:Ve,extent:Xe,reduce:ht,minPoints:Le}=this.options,xe=Ve/(Xe*Math.pow(2,Ye)),Se=Ne.data,lt=[],Gt=this.stride;for(let Vt=0;Vt<Se.length;Vt+=Gt){if(Se[Vt+2]<=Ye)continue;Se[Vt+2]=Ye;let ar=Se[Vt],Qr=Se[Vt+1],ai=Ne.within(Se[Vt],Se[Vt+1],xe),jr=Se[Vt+re],ri=jr;for(let bi of ai){let nn=bi*Gt;Se[nn+2]>Ye&&(ri+=Se[nn+re])}if(ri>jr&&ri>=Le){let bi,nn=ar*jr,Wi=Qr*jr,Ni=-1,_n=((Vt/Gt|0)<<5)+(Ye+1)+this.points.length;for(let $i of ai){let zn=$i*Gt;if(Se[zn+2]<=Ye)continue;Se[zn+2]=Ye;let Wn=Se[zn+re];nn+=Se[zn]*Wn,Wi+=Se[zn+1]*Wn,Se[zn+4]=_n,ht&&(bi||(bi=this._map(Se,Vt,!0),Ni=this.clusterProps.length,this.clusterProps.push(bi)),ht(bi,this._map(Se,zn)))}Se[Vt+4]=_n,lt.push(nn/ri,Wi/ri,1/0,_n,-1,ri),ht&<.push(Ni)}else{for(let bi=0;bi<Gt;bi++)lt.push(Se[Vt+bi]);if(ri>1)for(let bi of ai){let nn=bi*Gt;if(!(Se[nn+2]<=Ye)){Se[nn+2]=Ye;for(let Wi=0;Wi<Gt;Wi++)lt.push(Se[nn+Wi])}}}}return lt}_getOriginId(Ne){return Ne-this.points.length>>5}_getOriginZoom(Ne){return(Ne-this.points.length)%32}_map(Ne,Ye,Ve){if(Ne[Ye+re]>1){let Le=this.clusterProps[Ne[Ye+ae]];return Ve?Object.assign({},Le):Le}let Xe=this.points[Ne[Ye+W]].properties,ht=this.options.map(Xe);return Ve&&ht===Xe?Object.assign({},ht):ht}}function Me(ut,Ne,Ye){return{type:\"Feature\",id:ut[Ne+W],properties:ke(ut,Ne,Ye),geometry:{type:\"Point\",coordinates:[(Ve=ut[Ne],360*(Ve-.5)),Te(ut[Ne+1])]}};var Ve}function ke(ut,Ne,Ye){let Ve=ut[Ne+re],Xe=Ve>=1e4?`${Math.round(Ve/1e3)}k`:Ve>=1e3?Math.round(Ve/100)/10+\"k\":Ve,ht=ut[Ne+ae],Le=ht===-1?{}:Object.assign({},Ye[ht]);return Object.assign(Le,{cluster:!0,cluster_id:ut[Ne+W],point_count:Ve,point_count_abbreviated:Xe})}function ge(ut){return ut/360+.5}function ie(ut){let Ne=Math.sin(ut*Math.PI/180),Ye=.5-.25*Math.log((1+Ne)/(1-Ne))/Math.PI;return Ye<0?0:Ye>1?1:Ye}function Te(ut){let Ne=(180-360*ut)*Math.PI/180;return 360*Math.atan(Math.exp(Ne))/Math.PI-90}function Ee(ut,Ne,Ye,Ve){let Xe=Ve,ht=Ne+(Ye-Ne>>1),Le,xe=Ye-Ne,Se=ut[Ne],lt=ut[Ne+1],Gt=ut[Ye],Vt=ut[Ye+1];for(let ar=Ne+3;ar<Ye;ar+=3){let Qr=Ae(ut[ar],ut[ar+1],Se,lt,Gt,Vt);if(Qr>Xe)Le=ar,Xe=Qr;else if(Qr===Xe){let ai=Math.abs(ar-ht);ai<xe&&(Le=ar,xe=ai)}}Xe>Ve&&(Le-Ne>3&&Ee(ut,Ne,Le,Ve),ut[Le+2]=Xe,Ye-Le>3&&Ee(ut,Le,Ye,Ve))}function Ae(ut,Ne,Ye,Ve,Xe,ht){let Le=Xe-Ye,xe=ht-Ve;if(Le!==0||xe!==0){let Se=((ut-Ye)*Le+(Ne-Ve)*xe)/(Le*Le+xe*xe);Se>1?(Ye=Xe,Ve=ht):Se>0&&(Ye+=Le*Se,Ve+=xe*Se)}return Le=ut-Ye,xe=Ne-Ve,Le*Le+xe*xe}function ze(ut,Ne,Ye,Ve){let Xe={id:ut==null?null:ut,type:Ne,geometry:Ye,tags:Ve,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(Ne===\"Point\"||Ne===\"MultiPoint\"||Ne===\"LineString\")Ce(Xe,Ye);else if(Ne===\"Polygon\")Ce(Xe,Ye[0]);else if(Ne===\"MultiLineString\")for(let ht of Ye)Ce(Xe,ht);else if(Ne===\"MultiPolygon\")for(let ht of Ye)Ce(Xe,ht[0]);return Xe}function Ce(ut,Ne){for(let Ye=0;Ye<Ne.length;Ye+=3)ut.minX=Math.min(ut.minX,Ne[Ye]),ut.minY=Math.min(ut.minY,Ne[Ye+1]),ut.maxX=Math.max(ut.maxX,Ne[Ye]),ut.maxY=Math.max(ut.maxY,Ne[Ye+1])}function me(ut,Ne,Ye,Ve){if(!Ne.geometry)return;let Xe=Ne.geometry.coordinates;if(Xe&&Xe.length===0)return;let ht=Ne.geometry.type,Le=Math.pow(Ye.tolerance/((1<<Ye.maxZoom)*Ye.extent),2),xe=[],Se=Ne.id;if(Ye.promoteId?Se=Ne.properties[Ye.promoteId]:Ye.generateId&&(Se=Ve||0),ht===\"Point\")Re(Xe,xe);else if(ht===\"MultiPoint\")for(let lt of Xe)Re(lt,xe);else if(ht===\"LineString\")ce(Xe,xe,Le,!1);else if(ht===\"MultiLineString\"){if(Ye.lineMetrics){for(let lt of Xe)xe=[],ce(lt,xe,Le,!1),ut.push(ze(Se,\"LineString\",xe,Ne.properties));return}Ge(Xe,xe,Le,!1)}else if(ht===\"Polygon\")Ge(Xe,xe,Le,!0);else{if(ht!==\"MultiPolygon\"){if(ht===\"GeometryCollection\"){for(let lt of Ne.geometry.geometries)me(ut,{id:Se,geometry:lt,properties:Ne.properties},Ye,Ve);return}throw new Error(\"Input data is not a valid GeoJSON object.\")}for(let lt of Xe){let Gt=[];Ge(lt,Gt,Le,!0),xe.push(Gt)}}ut.push(ze(Se,ht,xe,Ne.properties))}function Re(ut,Ne){Ne.push(nt(ut[0]),ct(ut[1]),0)}function ce(ut,Ne,Ye,Ve){let Xe,ht,Le=0;for(let Se=0;Se<ut.length;Se++){let lt=nt(ut[Se][0]),Gt=ct(ut[Se][1]);Ne.push(lt,Gt,0),Se>0&&(Le+=Ve?(Xe*Gt-lt*ht)/2:Math.sqrt(Math.pow(lt-Xe,2)+Math.pow(Gt-ht,2))),Xe=lt,ht=Gt}let xe=Ne.length-3;Ne[2]=1,Ee(Ne,0,xe,Ye),Ne[xe+2]=1,Ne.size=Math.abs(Le),Ne.start=0,Ne.end=Ne.size}function Ge(ut,Ne,Ye,Ve){for(let Xe=0;Xe<ut.length;Xe++){let ht=[];ce(ut[Xe],ht,Ye,Ve),Ne.push(ht)}}function nt(ut){return ut/360+.5}function ct(ut){let Ne=Math.sin(ut*Math.PI/180),Ye=.5-.25*Math.log((1+Ne)/(1-Ne))/Math.PI;return Ye<0?0:Ye>1?1:Ye}function qt(ut,Ne,Ye,Ve,Xe,ht,Le,xe){if(Ve/=Ne,ht>=(Ye/=Ne)&&Le<Ve)return ut;if(Le<Ye||ht>=Ve)return null;let Se=[];for(let lt of ut){let Gt=lt.geometry,Vt=lt.type,ar=Xe===0?lt.minX:lt.minY,Qr=Xe===0?lt.maxX:lt.maxY;if(ar>=Ye&&Qr<Ve){Se.push(lt);continue}if(Qr<Ye||ar>=Ve)continue;let ai=[];if(Vt===\"Point\"||Vt===\"MultiPoint\")rt(Gt,ai,Ye,Ve,Xe);else if(Vt===\"LineString\")ot(Gt,ai,Ye,Ve,Xe,!1,xe.lineMetrics);else if(Vt===\"MultiLineString\")kt(Gt,ai,Ye,Ve,Xe,!1);else if(Vt===\"Polygon\")kt(Gt,ai,Ye,Ve,Xe,!0);else if(Vt===\"MultiPolygon\")for(let jr of Gt){let ri=[];kt(jr,ri,Ye,Ve,Xe,!0),ri.length&&ai.push(ri)}if(ai.length){if(xe.lineMetrics&&Vt===\"LineString\"){for(let jr of ai)Se.push(ze(lt.id,Vt,jr,lt.tags));continue}Vt!==\"LineString\"&&Vt!==\"MultiLineString\"||(ai.length===1?(Vt=\"LineString\",ai=ai[0]):Vt=\"MultiLineString\"),Vt!==\"Point\"&&Vt!==\"MultiPoint\"||(Vt=ai.length===3?\"Point\":\"MultiPoint\"),Se.push(ze(lt.id,Vt,ai,lt.tags))}}return Se.length?Se:null}function rt(ut,Ne,Ye,Ve,Xe){for(let ht=0;ht<ut.length;ht+=3){let Le=ut[ht+Xe];Le>=Ye&&Le<=Ve&&Ct(Ne,ut[ht],ut[ht+1],ut[ht+2])}}function ot(ut,Ne,Ye,Ve,Xe,ht,Le){let xe=Rt(ut),Se=Xe===0?Yt:xr,lt,Gt,Vt=ut.start;for(let ri=0;ri<ut.length-3;ri+=3){let bi=ut[ri],nn=ut[ri+1],Wi=ut[ri+2],Ni=ut[ri+3],_n=ut[ri+4],$i=Xe===0?bi:nn,zn=Xe===0?Ni:_n,Wn=!1;Le&&(lt=Math.sqrt(Math.pow(bi-Ni,2)+Math.pow(nn-_n,2))),$i<Ye?zn>Ye&&(Gt=Se(xe,bi,nn,Ni,_n,Ye),Le&&(xe.start=Vt+lt*Gt)):$i>Ve?zn<Ve&&(Gt=Se(xe,bi,nn,Ni,_n,Ve),Le&&(xe.start=Vt+lt*Gt)):Ct(xe,bi,nn,Wi),zn<Ye&&$i>=Ye&&(Gt=Se(xe,bi,nn,Ni,_n,Ye),Wn=!0),zn>Ve&&$i<=Ve&&(Gt=Se(xe,bi,nn,Ni,_n,Ve),Wn=!0),!ht&&Wn&&(Le&&(xe.end=Vt+lt*Gt),Ne.push(xe),xe=Rt(ut)),Le&&(Vt+=lt)}let ar=ut.length-3,Qr=ut[ar],ai=ut[ar+1],jr=Xe===0?Qr:ai;jr>=Ye&&jr<=Ve&&Ct(xe,Qr,ai,ut[ar+2]),ar=xe.length-3,ht&&ar>=3&&(xe[ar]!==xe[0]||xe[ar+1]!==xe[1])&&Ct(xe,xe[0],xe[1],xe[2]),xe.length&&Ne.push(xe)}function Rt(ut){let Ne=[];return Ne.size=ut.size,Ne.start=ut.start,Ne.end=ut.end,Ne}function kt(ut,Ne,Ye,Ve,Xe,ht){for(let Le of ut)ot(Le,Ne,Ye,Ve,Xe,ht,!1)}function Ct(ut,Ne,Ye,Ve){ut.push(Ne,Ye,Ve)}function Yt(ut,Ne,Ye,Ve,Xe,ht){let Le=(ht-Ne)/(Ve-Ne);return Ct(ut,ht,Ye+(Xe-Ye)*Le,1),Le}function xr(ut,Ne,Ye,Ve,Xe,ht){let Le=(ht-Ye)/(Xe-Ye);return Ct(ut,Ne+(Ve-Ne)*Le,ht,1),Le}function er(ut,Ne){let Ye=[];for(let Ve=0;Ve<ut.length;Ve++){let Xe=ut[Ve],ht=Xe.type,Le;if(ht===\"Point\"||ht===\"MultiPoint\"||ht===\"LineString\")Le=Ke(Xe.geometry,Ne);else if(ht===\"MultiLineString\"||ht===\"Polygon\"){Le=[];for(let xe of Xe.geometry)Le.push(Ke(xe,Ne))}else if(ht===\"MultiPolygon\"){Le=[];for(let xe of Xe.geometry){let Se=[];for(let lt of xe)Se.push(Ke(lt,Ne));Le.push(Se)}}Ye.push(ze(Xe.id,ht,Le,Xe.tags))}return Ye}function Ke(ut,Ne){let Ye=[];Ye.size=ut.size,ut.start!==void 0&&(Ye.start=ut.start,Ye.end=ut.end);for(let Ve=0;Ve<ut.length;Ve+=3)Ye.push(ut[Ve]+Ne,ut[Ve+1],ut[Ve+2]);return Ye}function xt(ut,Ne){if(ut.transformed)return ut;let Ye=1<<ut.z,Ve=ut.x,Xe=ut.y;for(let ht of ut.features){let Le=ht.geometry,xe=ht.type;if(ht.geometry=[],xe===1)for(let Se=0;Se<Le.length;Se+=2)ht.geometry.push(bt(Le[Se],Le[Se+1],Ne,Ye,Ve,Xe));else for(let Se=0;Se<Le.length;Se++){let lt=[];for(let Gt=0;Gt<Le[Se].length;Gt+=2)lt.push(bt(Le[Se][Gt],Le[Se][Gt+1],Ne,Ye,Ve,Xe));ht.geometry.push(lt)}}return ut.transformed=!0,ut}function bt(ut,Ne,Ye,Ve,Xe,ht){return[Math.round(Ye*(ut*Ve-Xe)),Math.round(Ye*(Ne*Ve-ht))]}function Lt(ut,Ne,Ye,Ve,Xe){let ht=Ne===Xe.maxZoom?0:Xe.tolerance/((1<<Ne)*Xe.extent),Le={features:[],numPoints:0,numSimplified:0,numFeatures:ut.length,source:null,x:Ye,y:Ve,z:Ne,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0};for(let xe of ut)St(Le,xe,ht,Xe);return Le}function St(ut,Ne,Ye,Ve){let Xe=Ne.geometry,ht=Ne.type,Le=[];if(ut.minX=Math.min(ut.minX,Ne.minX),ut.minY=Math.min(ut.minY,Ne.minY),ut.maxX=Math.max(ut.maxX,Ne.maxX),ut.maxY=Math.max(ut.maxY,Ne.maxY),ht===\"Point\"||ht===\"MultiPoint\")for(let xe=0;xe<Xe.length;xe+=3)Le.push(Xe[xe],Xe[xe+1]),ut.numPoints++,ut.numSimplified++;else if(ht===\"LineString\")Et(Le,Xe,ut,Ye,!1,!1);else if(ht===\"MultiLineString\"||ht===\"Polygon\")for(let xe=0;xe<Xe.length;xe++)Et(Le,Xe[xe],ut,Ye,ht===\"Polygon\",xe===0);else if(ht===\"MultiPolygon\")for(let xe=0;xe<Xe.length;xe++){let Se=Xe[xe];for(let lt=0;lt<Se.length;lt++)Et(Le,Se[lt],ut,Ye,!0,lt===0)}if(Le.length){let xe=Ne.tags||null;if(ht===\"LineString\"&&Ve.lineMetrics){xe={};for(let lt in Ne.tags)xe[lt]=Ne.tags[lt];xe.mapbox_clip_start=Xe.start/Xe.size,xe.mapbox_clip_end=Xe.end/Xe.size}let Se={geometry:Le,type:ht===\"Polygon\"||ht===\"MultiPolygon\"?3:ht===\"LineString\"||ht===\"MultiLineString\"?2:1,tags:xe};Ne.id!==null&&(Se.id=Ne.id),ut.features.push(Se)}}function Et(ut,Ne,Ye,Ve,Xe,ht){let Le=Ve*Ve;if(Ve>0&&Ne.size<(Xe?Le:Ve))return void(Ye.numPoints+=Ne.length/3);let xe=[];for(let Se=0;Se<Ne.length;Se+=3)(Ve===0||Ne[Se+2]>Le)&&(Ye.numSimplified++,xe.push(Ne[Se],Ne[Se+1])),Ye.numPoints++;Xe&&function(Se,lt){let Gt=0;for(let Vt=0,ar=Se.length,Qr=ar-2;Vt<ar;Qr=Vt,Vt+=2)Gt+=(Se[Vt]-Se[Qr])*(Se[Vt+1]+Se[Qr+1]);if(Gt>0===lt)for(let Vt=0,ar=Se.length;Vt<ar/2;Vt+=2){let Qr=Se[Vt],ai=Se[Vt+1];Se[Vt]=Se[ar-2-Vt],Se[Vt+1]=Se[ar-1-Vt],Se[ar-2-Vt]=Qr,Se[ar-1-Vt]=ai}}(xe,ht),ut.push(xe)}let dt={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0};class Ht{constructor(Ne,Ye){let Ve=(Ye=this.options=function(ht,Le){for(let xe in Le)ht[xe]=Le[xe];return ht}(Object.create(dt),Ye)).debug;if(Ve&&console.time(\"preprocess data\"),Ye.maxZoom<0||Ye.maxZoom>24)throw new Error(\"maxZoom should be in the 0-24 range\");if(Ye.promoteId&&Ye.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");let Xe=function(ht,Le){let xe=[];if(ht.type===\"FeatureCollection\")for(let Se=0;Se<ht.features.length;Se++)me(xe,ht.features[Se],Le,Se);else me(xe,ht.type===\"Feature\"?ht:{geometry:ht},Le);return xe}(Ne,Ye);this.tiles={},this.tileCoords=[],Ve&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",Ye.indexMaxZoom,Ye.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),Xe=function(ht,Le){let xe=Le.buffer/Le.extent,Se=ht,lt=qt(ht,1,-1-xe,xe,0,-1,2,Le),Gt=qt(ht,1,1-xe,2+xe,0,-1,2,Le);return(lt||Gt)&&(Se=qt(ht,1,-xe,1+xe,0,-1,2,Le)||[],lt&&(Se=er(lt,1).concat(Se)),Gt&&(Se=Se.concat(er(Gt,-1)))),Se}(Xe,Ye),Xe.length&&this.splitTile(Xe,0,0,0),Ve&&(Xe.length&&console.log(\"features: %d, points: %d\",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(\"generate tiles\"),console.log(\"tiles generated:\",this.total,JSON.stringify(this.stats)))}splitTile(Ne,Ye,Ve,Xe,ht,Le,xe){let Se=[Ne,Ye,Ve,Xe],lt=this.options,Gt=lt.debug;for(;Se.length;){Xe=Se.pop(),Ve=Se.pop(),Ye=Se.pop(),Ne=Se.pop();let Vt=1<<Ye,ar=$t(Ye,Ve,Xe),Qr=this.tiles[ar];if(!Qr&&(Gt>1&&console.time(\"creation\"),Qr=this.tiles[ar]=Lt(Ne,Ye,Ve,Xe,lt),this.tileCoords.push({z:Ye,x:Ve,y:Xe}),Gt)){Gt>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",Ye,Ve,Xe,Qr.numFeatures,Qr.numPoints,Qr.numSimplified),console.timeEnd(\"creation\"));let Wn=`z${Ye}`;this.stats[Wn]=(this.stats[Wn]||0)+1,this.total++}if(Qr.source=Ne,ht==null){if(Ye===lt.indexMaxZoom||Qr.numPoints<=lt.indexMaxPoints)continue}else{if(Ye===lt.maxZoom||Ye===ht)continue;if(ht!=null){let Wn=ht-Ye;if(Ve!==Le>>Wn||Xe!==xe>>Wn)continue}}if(Qr.source=null,Ne.length===0)continue;Gt>1&&console.time(\"clipping\");let ai=.5*lt.buffer/lt.extent,jr=.5-ai,ri=.5+ai,bi=1+ai,nn=null,Wi=null,Ni=null,_n=null,$i=qt(Ne,Vt,Ve-ai,Ve+ri,0,Qr.minX,Qr.maxX,lt),zn=qt(Ne,Vt,Ve+jr,Ve+bi,0,Qr.minX,Qr.maxX,lt);Ne=null,$i&&(nn=qt($i,Vt,Xe-ai,Xe+ri,1,Qr.minY,Qr.maxY,lt),Wi=qt($i,Vt,Xe+jr,Xe+bi,1,Qr.minY,Qr.maxY,lt),$i=null),zn&&(Ni=qt(zn,Vt,Xe-ai,Xe+ri,1,Qr.minY,Qr.maxY,lt),_n=qt(zn,Vt,Xe+jr,Xe+bi,1,Qr.minY,Qr.maxY,lt),zn=null),Gt>1&&console.timeEnd(\"clipping\"),Se.push(nn||[],Ye+1,2*Ve,2*Xe),Se.push(Wi||[],Ye+1,2*Ve,2*Xe+1),Se.push(Ni||[],Ye+1,2*Ve+1,2*Xe),Se.push(_n||[],Ye+1,2*Ve+1,2*Xe+1)}}getTile(Ne,Ye,Ve){Ne=+Ne,Ye=+Ye,Ve=+Ve;let Xe=this.options,{extent:ht,debug:Le}=Xe;if(Ne<0||Ne>24)return null;let xe=1<<Ne,Se=$t(Ne,Ye=Ye+xe&xe-1,Ve);if(this.tiles[Se])return xt(this.tiles[Se],ht);Le>1&&console.log(\"drilling down to z%d-%d-%d\",Ne,Ye,Ve);let lt,Gt=Ne,Vt=Ye,ar=Ve;for(;!lt&&Gt>0;)Gt--,Vt>>=1,ar>>=1,lt=this.tiles[$t(Gt,Vt,ar)];return lt&<.source?(Le>1&&(console.log(\"found parent tile z%d-%d-%d\",Gt,Vt,ar),console.time(\"drilling down\")),this.splitTile(lt.source,Gt,Vt,ar,Ne,Ye,Ve),Le>1&&console.timeEnd(\"drilling down\"),this.tiles[Se]?xt(this.tiles[Se],ht):null):null}}function $t(ut,Ne,Ye){return 32*((1<<ut)*Ye+Ne)+ut}function fr(ut,Ne){return Ne?ut.properties[Ne]:ut.id}function _r(ut,Ne){if(ut==null)return!0;if(ut.type===\"Feature\")return fr(ut,Ne)!=null;if(ut.type===\"FeatureCollection\"){let Ye=new Set;for(let Ve of ut.features){let Xe=fr(Ve,Ne);if(Xe==null||Ye.has(Xe))return!1;Ye.add(Xe)}return!0}return!1}function Br(ut,Ne){let Ye=new Map;if(ut!=null)if(ut.type===\"Feature\")Ye.set(fr(ut,Ne),ut);else for(let Ve of ut.features)Ye.set(fr(Ve,Ne),Ve);return Ye}class Or extends u{constructor(){super(...arguments),this._dataUpdateable=new Map}loadVectorTile(Ne,Ye){return i._(this,void 0,void 0,function*(){let Ve=Ne.tileID.canonical;if(!this._geoJSONIndex)throw new Error(\"Unable to parse the data into a cluster or geojson\");let Xe=this._geoJSONIndex.getTile(Ve.z,Ve.x,Ve.y);if(!Xe)return null;let ht=new class{constructor(xe){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=i.X,this.length=xe.length,this._features=xe}feature(xe){return new class{constructor(Se){this._feature=Se,this.extent=i.X,this.type=Se.type,this.properties=Se.tags,\"id\"in Se&&!isNaN(Se.id)&&(this.id=parseInt(Se.id,10))}loadGeometry(){if(this._feature.type===1){let Se=[];for(let lt of this._feature.geometry)Se.push([new i.P(lt[0],lt[1])]);return Se}{let Se=[];for(let lt of this._feature.geometry){let Gt=[];for(let Vt of lt)Gt.push(new i.P(Vt[0],Vt[1]));Se.push(Gt)}return Se}}toGeoJSON(Se,lt,Gt){return v.call(this,Se,lt,Gt)}}(this._features[xe])}}(Xe.features),Le=H(ht);return Le.byteOffset===0&&Le.byteLength===Le.buffer.byteLength||(Le=new Uint8Array(Le)),{vectorTile:ht,rawData:Le.buffer}})}loadData(Ne){return i._(this,void 0,void 0,function*(){var Ye;(Ye=this._pendingRequest)===null||Ye===void 0||Ye.abort();let Ve=!!(Ne&&Ne.request&&Ne.request.collectResourceTiming)&&new i.bv(Ne.request);this._pendingRequest=new AbortController;try{this._pendingData=this.loadAndProcessGeoJSON(Ne,this._pendingRequest),this._geoJSONIndex=Ne.cluster?new _e(function({superclusterOptions:Le,clusterProperties:xe}){if(!xe||!Le)return Le;let Se={},lt={},Gt={accumulated:null,zoom:0},Vt={properties:null},ar=Object.keys(xe);for(let Qr of ar){let[ai,jr]=xe[Qr],ri=i.bC(jr),bi=i.bC(typeof ai==\"string\"?[ai,[\"accumulated\"],[\"get\",Qr]]:ai);Se[Qr]=ri.value,lt[Qr]=bi.value}return Le.map=Qr=>{Vt.properties=Qr;let ai={};for(let jr of ar)ai[jr]=Se[jr].evaluate(Gt,Vt);return ai},Le.reduce=(Qr,ai)=>{Vt.properties=ai;for(let jr of ar)Gt.accumulated=Qr[jr],Qr[jr]=lt[jr].evaluate(Gt,Vt)},Le}(Ne)).load((yield this._pendingData).features):(Xe=yield this._pendingData,new Ht(Xe,Ne.geojsonVtOptions)),this.loaded={};let ht={};if(Ve){let Le=Ve.finish();Le&&(ht.resourceTiming={},ht.resourceTiming[Ne.source]=JSON.parse(JSON.stringify(Le)))}return ht}catch(ht){if(delete this._pendingRequest,i.bB(ht))return{abandoned:!0};throw ht}var Xe})}getData(){return i._(this,void 0,void 0,function*(){return this._pendingData})}reloadTile(Ne){let Ye=this.loaded;return Ye&&Ye[Ne.uid]?super.reloadTile(Ne):this.loadTile(Ne)}loadAndProcessGeoJSON(Ne,Ye){return i._(this,void 0,void 0,function*(){let Ve=yield this.loadGeoJSON(Ne,Ye);if(delete this._pendingRequest,typeof Ve!=\"object\")throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`);if(d(Ve,!0),Ne.filter){let Xe=i.bC(Ne.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(Xe.result===\"error\")throw new Error(Xe.value.map(Le=>`${Le.key}: ${Le.message}`).join(\", \"));Ve={type:\"FeatureCollection\",features:Ve.features.filter(Le=>Xe.value.evaluate({zoom:0},Le))}}return Ve})}loadGeoJSON(Ne,Ye){return i._(this,void 0,void 0,function*(){let{promoteId:Ve}=Ne;if(Ne.request){let Xe=yield i.h(Ne.request,Ye);return this._dataUpdateable=_r(Xe.data,Ve)?Br(Xe.data,Ve):void 0,Xe.data}if(typeof Ne.data==\"string\")try{let Xe=JSON.parse(Ne.data);return this._dataUpdateable=_r(Xe,Ve)?Br(Xe,Ve):void 0,Xe}catch(Xe){throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`)}if(!Ne.dataDiff)throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${Ne.source}`);return function(Xe,ht,Le){var xe,Se,lt,Gt;if(ht.removeAll&&Xe.clear(),ht.remove)for(let Vt of ht.remove)Xe.delete(Vt);if(ht.add)for(let Vt of ht.add){let ar=fr(Vt,Le);ar!=null&&Xe.set(ar,Vt)}if(ht.update)for(let Vt of ht.update){let ar=Xe.get(Vt.id);if(ar==null)continue;let Qr=!Vt.removeAllProperties&&(((xe=Vt.removeProperties)===null||xe===void 0?void 0:xe.length)>0||((Se=Vt.addOrUpdateProperties)===null||Se===void 0?void 0:Se.length)>0);if((Vt.newGeometry||Vt.removeAllProperties||Qr)&&(ar=Object.assign({},ar),Xe.set(Vt.id,ar),Qr&&(ar.properties=Object.assign({},ar.properties))),Vt.newGeometry&&(ar.geometry=Vt.newGeometry),Vt.removeAllProperties)ar.properties={};else if(((lt=Vt.removeProperties)===null||lt===void 0?void 0:lt.length)>0)for(let ai of Vt.removeProperties)Object.prototype.hasOwnProperty.call(ar.properties,ai)&&delete ar.properties[ai];if(((Gt=Vt.addOrUpdateProperties)===null||Gt===void 0?void 0:Gt.length)>0)for(let{key:ai,value:jr}of Vt.addOrUpdateProperties)ar.properties[ai]=jr}}(this._dataUpdateable,Ne.dataDiff,Ve),{type:\"FeatureCollection\",features:Array.from(this._dataUpdateable.values())}})}removeSource(Ne){return i._(this,void 0,void 0,function*(){this._pendingRequest&&this._pendingRequest.abort()})}getClusterExpansionZoom(Ne){return this._geoJSONIndex.getClusterExpansionZoom(Ne.clusterId)}getClusterChildren(Ne){return this._geoJSONIndex.getChildren(Ne.clusterId)}getClusterLeaves(Ne){return this._geoJSONIndex.getLeaves(Ne.clusterId,Ne.limit,Ne.offset)}}class Nr{constructor(Ne){this.self=Ne,this.actor=new i.F(Ne),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(Ye,Ve)=>{if(this.externalWorkerSourceTypes[Ye])throw new Error(`Worker source with name \"${Ye}\" already registered.`);this.externalWorkerSourceTypes[Ye]=Ve},this.self.addProtocol=i.bi,this.self.removeProtocol=i.bj,this.self.registerRTLTextPlugin=Ye=>{if(i.bD.isParsed())throw new Error(\"RTL text plugin already registered.\");i.bD.setMethods(Ye)},this.actor.registerMessageHandler(\"LDT\",(Ye,Ve)=>this._getDEMWorkerSource(Ye,Ve.source).loadTile(Ve)),this.actor.registerMessageHandler(\"RDT\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getDEMWorkerSource(Ye,Ve.source).removeTile(Ve)})),this.actor.registerMessageHandler(\"GCEZ\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterExpansionZoom(Ve)})),this.actor.registerMessageHandler(\"GCC\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterChildren(Ve)})),this.actor.registerMessageHandler(\"GCL\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterLeaves(Ve)})),this.actor.registerMessageHandler(\"LD\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).loadData(Ve)),this.actor.registerMessageHandler(\"GD\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).getData()),this.actor.registerMessageHandler(\"LT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).loadTile(Ve)),this.actor.registerMessageHandler(\"RT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).reloadTile(Ve)),this.actor.registerMessageHandler(\"AT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).abortTile(Ve)),this.actor.registerMessageHandler(\"RMT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).removeTile(Ve)),this.actor.registerMessageHandler(\"RS\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){if(!this.workerSources[Ye]||!this.workerSources[Ye][Ve.type]||!this.workerSources[Ye][Ve.type][Ve.source])return;let Xe=this.workerSources[Ye][Ve.type][Ve.source];delete this.workerSources[Ye][Ve.type][Ve.source],Xe.removeSource!==void 0&&Xe.removeSource(Ve)})),this.actor.registerMessageHandler(\"RM\",Ye=>i._(this,void 0,void 0,function*(){delete this.layerIndexes[Ye],delete this.availableImages[Ye],delete this.workerSources[Ye],delete this.demWorkerSources[Ye]})),this.actor.registerMessageHandler(\"SR\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this.referrer=Ve})),this.actor.registerMessageHandler(\"SRPS\",(Ye,Ve)=>this._syncRTLPluginState(Ye,Ve)),this.actor.registerMessageHandler(\"IS\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this.self.importScripts(Ve)})),this.actor.registerMessageHandler(\"SI\",(Ye,Ve)=>this._setImages(Ye,Ve)),this.actor.registerMessageHandler(\"UL\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getLayerIndex(Ye).update(Ve.layers,Ve.removedIds)})),this.actor.registerMessageHandler(\"SL\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getLayerIndex(Ye).replace(Ve)}))}_setImages(Ne,Ye){return i._(this,void 0,void 0,function*(){this.availableImages[Ne]=Ye;for(let Ve in this.workerSources[Ne]){let Xe=this.workerSources[Ne][Ve];for(let ht in Xe)Xe[ht].availableImages=Ye}})}_syncRTLPluginState(Ne,Ye){return i._(this,void 0,void 0,function*(){if(i.bD.isParsed())return i.bD.getState();if(Ye.pluginStatus!==\"loading\")return i.bD.setState(Ye),Ye;let Ve=Ye.pluginURL;if(this.self.importScripts(Ve),i.bD.isParsed()){let Xe={pluginStatus:\"loaded\",pluginURL:Ve};return i.bD.setState(Xe),Xe}throw i.bD.setState({pluginStatus:\"error\",pluginURL:\"\"}),new Error(`RTL Text Plugin failed to import scripts from ${Ve}`)})}_getAvailableImages(Ne){let Ye=this.availableImages[Ne];return Ye||(Ye=[]),Ye}_getLayerIndex(Ne){let Ye=this.layerIndexes[Ne];return Ye||(Ye=this.layerIndexes[Ne]=new a),Ye}_getWorkerSource(Ne,Ye,Ve){if(this.workerSources[Ne]||(this.workerSources[Ne]={}),this.workerSources[Ne][Ye]||(this.workerSources[Ne][Ye]={}),!this.workerSources[Ne][Ye][Ve]){let Xe={sendAsync:(ht,Le)=>(ht.targetMapId=Ne,this.actor.sendAsync(ht,Le))};switch(Ye){case\"vector\":this.workerSources[Ne][Ye][Ve]=new u(Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne));break;case\"geojson\":this.workerSources[Ne][Ye][Ve]=new Or(Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne));break;default:this.workerSources[Ne][Ye][Ve]=new this.externalWorkerSourceTypes[Ye](Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne))}}return this.workerSources[Ne][Ye][Ve]}_getDEMWorkerSource(Ne,Ye){return this.demWorkerSources[Ne]||(this.demWorkerSources[Ne]={}),this.demWorkerSources[Ne][Ye]||(this.demWorkerSources[Ne][Ye]=new c),this.demWorkerSources[Ne][Ye]}}return i.i(self)&&(self.worker=new Nr(self)),Nr}),r(\"index\",[\"exports\",\"./shared\"],function(i,a){\"use strict\";var o=\"4.7.1\";let s,l,u={now:typeof performance!=\"undefined\"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:le=>new Promise((w,B)=>{let Q=requestAnimationFrame(w);le.signal.addEventListener(\"abort\",()=>{cancelAnimationFrame(Q),B(a.c())})}),getImageData(le,w=0){return this.getImageCanvasContext(le).getImageData(-w,-w,le.width+2*w,le.height+2*w)},getImageCanvasContext(le){let w=window.document.createElement(\"canvas\"),B=w.getContext(\"2d\",{willReadFrequently:!0});if(!B)throw new Error(\"failed to create canvas 2d context\");return w.width=le.width,w.height=le.height,B.drawImage(le,0,0,le.width,le.height),B},resolveURL:le=>(s||(s=document.createElement(\"a\")),s.href=le,s.href),hardwareConcurrency:typeof navigator!=\"undefined\"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(l==null&&(l=matchMedia(\"(prefers-reduced-motion: reduce)\")),l.matches)}};class c{static testProp(w){if(!c.docStyle)return w[0];for(let B=0;B<w.length;B++)if(w[B]in c.docStyle)return w[B];return w[0]}static create(w,B,Q){let ee=window.document.createElement(w);return B!==void 0&&(ee.className=B),Q&&Q.appendChild(ee),ee}static createNS(w,B){return window.document.createElementNS(w,B)}static disableDrag(){c.docStyle&&c.selectProp&&(c.userSelect=c.docStyle[c.selectProp],c.docStyle[c.selectProp]=\"none\")}static enableDrag(){c.docStyle&&c.selectProp&&(c.docStyle[c.selectProp]=c.userSelect)}static setTransform(w,B){w.style[c.transformProp]=B}static addEventListener(w,B,Q,ee={}){w.addEventListener(B,Q,\"passive\"in ee?ee:ee.capture)}static removeEventListener(w,B,Q,ee={}){w.removeEventListener(B,Q,\"passive\"in ee?ee:ee.capture)}static suppressClickInternal(w){w.preventDefault(),w.stopPropagation(),window.removeEventListener(\"click\",c.suppressClickInternal,!0)}static suppressClick(){window.addEventListener(\"click\",c.suppressClickInternal,!0),window.setTimeout(()=>{window.removeEventListener(\"click\",c.suppressClickInternal,!0)},0)}static getScale(w){let B=w.getBoundingClientRect();return{x:B.width/w.offsetWidth||1,y:B.height/w.offsetHeight||1,boundingClientRect:B}}static getPoint(w,B,Q){let ee=B.boundingClientRect;return new a.P((Q.clientX-ee.left)/B.x-w.clientLeft,(Q.clientY-ee.top)/B.y-w.clientTop)}static mousePos(w,B){let Q=c.getScale(w);return c.getPoint(w,Q,B)}static touchPos(w,B){let Q=[],ee=c.getScale(w);for(let se=0;se<B.length;se++)Q.push(c.getPoint(w,ee,B[se]));return Q}static mouseButton(w){return w.button}static remove(w){w.parentNode&&w.parentNode.removeChild(w)}}c.docStyle=typeof window!=\"undefined\"&&window.document&&window.document.documentElement.style,c.selectProp=c.testProp([\"userSelect\",\"MozUserSelect\",\"WebkitUserSelect\",\"msUserSelect\"]),c.transformProp=c.testProp([\"transform\",\"WebkitTransform\"]);let f={supported:!1,testSupport:function(le){!v&&d&&(x?b(le):h=le)}},h,d,v=!1,x=!1;function b(le){let w=le.createTexture();le.bindTexture(le.TEXTURE_2D,w);try{if(le.texImage2D(le.TEXTURE_2D,0,le.RGBA,le.RGBA,le.UNSIGNED_BYTE,d),le.isContextLost())return;f.supported=!0}catch(B){}le.deleteTexture(w),v=!0}var p;typeof document!=\"undefined\"&&(d=document.createElement(\"img\"),d.onload=()=>{h&&b(h),h=null,x=!0},d.onerror=()=>{v=!0,h=null},d.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\"),function(le){let w,B,Q,ee;le.resetRequestQueue=()=>{w=[],B=0,Q=0,ee={}},le.addThrottleControl=it=>{let yt=Q++;return ee[yt]=it,yt},le.removeThrottleControl=it=>{delete ee[it],qe()},le.getImage=(it,yt,Ot=!0)=>new Promise((Nt,hr)=>{f.supported&&(it.headers||(it.headers={}),it.headers.accept=\"image/webp,*/*\"),a.e(it,{type:\"image\"}),w.push({abortController:yt,requestParameters:it,supportImageRefresh:Ot,state:\"queued\",onError:Sr=>{hr(Sr)},onSuccess:Sr=>{Nt(Sr)}}),qe()});let se=it=>a._(this,void 0,void 0,function*(){it.state=\"running\";let{requestParameters:yt,supportImageRefresh:Ot,onError:Nt,onSuccess:hr,abortController:Sr}=it,he=Ot===!1&&!a.i(self)&&!a.g(yt.url)&&(!yt.headers||Object.keys(yt.headers).reduce((Oe,Je)=>Oe&&Je===\"accept\",!0));B++;let be=he?je(yt,Sr):a.m(yt,Sr);try{let Oe=yield be;delete it.abortController,it.state=\"completed\",Oe.data instanceof HTMLImageElement||a.b(Oe.data)?hr(Oe):Oe.data&&hr({data:yield(Pe=Oe.data,typeof createImageBitmap==\"function\"?a.d(Pe):a.f(Pe)),cacheControl:Oe.cacheControl,expires:Oe.expires})}catch(Oe){delete it.abortController,Nt(Oe)}finally{B--,qe()}var Pe}),qe=()=>{let it=(()=>{for(let yt of Object.keys(ee))if(ee[yt]())return!0;return!1})()?a.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:a.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let yt=B;yt<it&&w.length>0;yt++){let Ot=w.shift();Ot.abortController.signal.aborted?yt--:se(Ot)}},je=(it,yt)=>new Promise((Ot,Nt)=>{let hr=new Image,Sr=it.url,he=it.credentials;he&&he===\"include\"?hr.crossOrigin=\"use-credentials\":(he&&he===\"same-origin\"||!a.s(Sr))&&(hr.crossOrigin=\"anonymous\"),yt.signal.addEventListener(\"abort\",()=>{hr.src=\"\",Nt(a.c())}),hr.fetchPriority=\"high\",hr.onload=()=>{hr.onerror=hr.onload=null,Ot({data:hr})},hr.onerror=()=>{hr.onerror=hr.onload=null,yt.signal.aborted||Nt(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.\"))},hr.src=Sr})}(p||(p={})),p.resetRequestQueue();class E{constructor(w){this._transformRequestFn=w}transformRequest(w,B){return this._transformRequestFn&&this._transformRequestFn(w,B)||{url:w}}setTransformRequest(w){this._transformRequestFn=w}}function k(le){var w=new a.A(3);return w[0]=le[0],w[1]=le[1],w[2]=le[2],w}var A,L=function(le,w,B){return le[0]=w[0]-B[0],le[1]=w[1]-B[1],le[2]=w[2]-B[2],le};A=new a.A(3),a.A!=Float32Array&&(A[0]=0,A[1]=0,A[2]=0);var _=function(le){var w=le[0],B=le[1];return w*w+B*B};function C(le){let w=[];if(typeof le==\"string\")w.push({id:\"default\",url:le});else if(le&&le.length>0){let B=[];for(let{id:Q,url:ee}of le){let se=`${Q}${ee}`;B.indexOf(se)===-1&&(B.push(se),w.push({id:Q,url:ee}))}}return w}function M(le,w,B){let Q=le.split(\"?\");return Q[0]+=`${w}${B}`,Q.join(\"?\")}(function(){var le=new a.A(2);a.A!=Float32Array&&(le[0]=0,le[1]=0)})();class g{constructor(w,B,Q,ee){this.context=w,this.format=Q,this.texture=w.gl.createTexture(),this.update(B,ee)}update(w,B,Q){let{width:ee,height:se}=w,qe=!(this.size&&this.size[0]===ee&&this.size[1]===se||Q),{context:je}=this,{gl:it}=je;if(this.useMipmap=!!(B&&B.useMipmap),it.bindTexture(it.TEXTURE_2D,this.texture),je.pixelStoreUnpackFlipY.set(!1),je.pixelStoreUnpack.set(1),je.pixelStoreUnpackPremultiplyAlpha.set(this.format===it.RGBA&&(!B||B.premultiply!==!1)),qe)this.size=[ee,se],w instanceof HTMLImageElement||w instanceof HTMLCanvasElement||w instanceof HTMLVideoElement||w instanceof ImageData||a.b(w)?it.texImage2D(it.TEXTURE_2D,0,this.format,this.format,it.UNSIGNED_BYTE,w):it.texImage2D(it.TEXTURE_2D,0,this.format,ee,se,0,this.format,it.UNSIGNED_BYTE,w.data);else{let{x:yt,y:Ot}=Q||{x:0,y:0};w instanceof HTMLImageElement||w instanceof HTMLCanvasElement||w instanceof HTMLVideoElement||w instanceof ImageData||a.b(w)?it.texSubImage2D(it.TEXTURE_2D,0,yt,Ot,it.RGBA,it.UNSIGNED_BYTE,w):it.texSubImage2D(it.TEXTURE_2D,0,yt,Ot,ee,se,it.RGBA,it.UNSIGNED_BYTE,w.data)}this.useMipmap&&this.isSizePowerOfTwo()&&it.generateMipmap(it.TEXTURE_2D)}bind(w,B,Q){let{context:ee}=this,{gl:se}=ee;se.bindTexture(se.TEXTURE_2D,this.texture),Q!==se.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(Q=se.LINEAR),w!==this.filter&&(se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MAG_FILTER,w),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MIN_FILTER,Q||w),this.filter=w),B!==this.wrap&&(se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_S,B),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_T,B),this.wrap=B)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:w}=this.context;w.deleteTexture(this.texture),this.texture=null}}function P(le){let{userImage:w}=le;return!!(w&&w.render&&w.render())&&(le.data.replace(new Uint8Array(w.data.buffer)),!0)}class T extends a.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new a.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(w){if(this.loaded!==w&&(this.loaded=w,w)){for(let{ids:B,promiseResolve:Q}of this.requestors)Q(this._getImagesForIds(B));this.requestors=[]}}getImage(w){let B=this.images[w];if(B&&!B.data&&B.spriteData){let Q=B.spriteData;B.data=new a.R({width:Q.width,height:Q.height},Q.context.getImageData(Q.x,Q.y,Q.width,Q.height).data),B.spriteData=null}return B}addImage(w,B){if(this.images[w])throw new Error(`Image id ${w} already exist, use updateImage instead`);this._validate(w,B)&&(this.images[w]=B)}_validate(w,B){let Q=!0,ee=B.data||B.spriteData;return this._validateStretch(B.stretchX,ee&&ee.width)||(this.fire(new a.j(new Error(`Image \"${w}\" has invalid \"stretchX\" value`))),Q=!1),this._validateStretch(B.stretchY,ee&&ee.height)||(this.fire(new a.j(new Error(`Image \"${w}\" has invalid \"stretchY\" value`))),Q=!1),this._validateContent(B.content,B)||(this.fire(new a.j(new Error(`Image \"${w}\" has invalid \"content\" value`))),Q=!1),Q}_validateStretch(w,B){if(!w)return!0;let Q=0;for(let ee of w){if(ee[0]<Q||ee[1]<ee[0]||B<ee[1])return!1;Q=ee[1]}return!0}_validateContent(w,B){if(!w)return!0;if(w.length!==4)return!1;let Q=B.spriteData,ee=Q&&Q.width||B.data.width,se=Q&&Q.height||B.data.height;return!(w[0]<0||ee<w[0]||w[1]<0||se<w[1]||w[2]<0||ee<w[2]||w[3]<0||se<w[3]||w[2]<w[0]||w[3]<w[1])}updateImage(w,B,Q=!0){let ee=this.getImage(w);if(Q&&(ee.data.width!==B.data.width||ee.data.height!==B.data.height))throw new Error(`size mismatch between old image (${ee.data.width}x${ee.data.height}) and new image (${B.data.width}x${B.data.height}).`);B.version=ee.version+1,this.images[w]=B,this.updatedImages[w]=!0}removeImage(w){let B=this.images[w];delete this.images[w],delete this.patterns[w],B.userImage&&B.userImage.onRemove&&B.userImage.onRemove()}listImages(){return Object.keys(this.images)}getImages(w){return new Promise((B,Q)=>{let ee=!0;if(!this.isLoaded())for(let se of w)this.images[se]||(ee=!1);this.isLoaded()||ee?B(this._getImagesForIds(w)):this.requestors.push({ids:w,promiseResolve:B})})}_getImagesForIds(w){let B={};for(let Q of w){let ee=this.getImage(Q);ee||(this.fire(new a.k(\"styleimagemissing\",{id:Q})),ee=this.getImage(Q)),ee?B[Q]={data:ee.data.clone(),pixelRatio:ee.pixelRatio,sdf:ee.sdf,version:ee.version,stretchX:ee.stretchX,stretchY:ee.stretchY,content:ee.content,textFitWidth:ee.textFitWidth,textFitHeight:ee.textFitHeight,hasRenderCallback:!!(ee.userImage&&ee.userImage.render)}:a.w(`Image \"${Q}\" 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 B}getPixelSize(){let{width:w,height:B}=this.atlasImage;return{width:w,height:B}}getPattern(w){let B=this.patterns[w],Q=this.getImage(w);if(!Q)return null;if(B&&B.position.version===Q.version)return B.position;if(B)B.position.version=Q.version;else{let ee={w:Q.data.width+2,h:Q.data.height+2,x:0,y:0},se=new a.I(ee,Q);this.patterns[w]={bin:ee,position:se}}return this._updatePatternAtlas(),this.patterns[w].position}bind(w){let B=w.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new g(w,this.atlasImage,B.RGBA),this.atlasTexture.bind(B.LINEAR,B.CLAMP_TO_EDGE)}_updatePatternAtlas(){let w=[];for(let se in this.patterns)w.push(this.patterns[se].bin);let{w:B,h:Q}=a.p(w),ee=this.atlasImage;ee.resize({width:B||1,height:Q||1});for(let se in this.patterns){let{bin:qe}=this.patterns[se],je=qe.x+1,it=qe.y+1,yt=this.getImage(se).data,Ot=yt.width,Nt=yt.height;a.R.copy(yt,ee,{x:0,y:0},{x:je,y:it},{width:Ot,height:Nt}),a.R.copy(yt,ee,{x:0,y:Nt-1},{x:je,y:it-1},{width:Ot,height:1}),a.R.copy(yt,ee,{x:0,y:0},{x:je,y:it+Nt},{width:Ot,height:1}),a.R.copy(yt,ee,{x:Ot-1,y:0},{x:je-1,y:it},{width:1,height:Nt}),a.R.copy(yt,ee,{x:0,y:0},{x:je+Ot,y:it},{width:1,height:Nt})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(w){for(let B of w){if(this.callbackDispatchedThisFrame[B])continue;this.callbackDispatchedThisFrame[B]=!0;let Q=this.getImage(B);Q||a.w(`Image with ID: \"${B}\" was not found`),P(Q)&&this.updateImage(B,Q)}}}let F=1e20;function q(le,w,B,Q,ee,se,qe,je,it){for(let yt=w;yt<w+Q;yt++)V(le,B*se+yt,se,ee,qe,je,it);for(let yt=B;yt<B+ee;yt++)V(le,yt*se+w,1,Q,qe,je,it)}function V(le,w,B,Q,ee,se,qe){se[0]=0,qe[0]=-F,qe[1]=F,ee[0]=le[w];for(let je=1,it=0,yt=0;je<Q;je++){ee[je]=le[w+je*B];let Ot=je*je;do{let Nt=se[it];yt=(ee[je]-ee[Nt]+Ot-Nt*Nt)/(je-Nt)/2}while(yt<=qe[it]&&--it>-1);it++,se[it]=je,qe[it]=yt,qe[it+1]=F}for(let je=0,it=0;je<Q;je++){for(;qe[it+1]<je;)it++;let yt=se[it],Ot=je-yt;le[w+je*B]=ee[yt]+Ot*Ot}}class H{constructor(w,B){this.requestManager=w,this.localIdeographFontFamily=B,this.entries={}}setURL(w){this.url=w}getGlyphs(w){return a._(this,void 0,void 0,function*(){let B=[];for(let se in w)for(let qe of w[se])B.push(this._getAndCacheGlyphsPromise(se,qe));let Q=yield Promise.all(B),ee={};for(let{stack:se,id:qe,glyph:je}of Q)ee[se]||(ee[se]={}),ee[se][qe]=je&&{id:je.id,bitmap:je.bitmap.clone(),metrics:je.metrics};return ee})}_getAndCacheGlyphsPromise(w,B){return a._(this,void 0,void 0,function*(){let Q=this.entries[w];Q||(Q=this.entries[w]={glyphs:{},requests:{},ranges:{}});let ee=Q.glyphs[B];if(ee!==void 0)return{stack:w,id:B,glyph:ee};if(ee=this._tinySDF(Q,w,B),ee)return Q.glyphs[B]=ee,{stack:w,id:B,glyph:ee};let se=Math.floor(B/256);if(256*se>65535)throw new Error(\"glyphs > 65535 not supported\");if(Q.ranges[se])return{stack:w,id:B,glyph:ee};if(!this.url)throw new Error(\"glyphsUrl is not set\");if(!Q.requests[se]){let je=H.loadGlyphRange(w,se,this.url,this.requestManager);Q.requests[se]=je}let qe=yield Q.requests[se];for(let je in qe)this._doesCharSupportLocalGlyph(+je)||(Q.glyphs[+je]=qe[+je]);return Q.ranges[se]=!0,{stack:w,id:B,glyph:qe[B]||null}})}_doesCharSupportLocalGlyph(w){return!!this.localIdeographFontFamily&&new RegExp(\"\\\\p{Ideo}|\\\\p{sc=Hang}|\\\\p{sc=Hira}|\\\\p{sc=Kana}\",\"u\").test(String.fromCodePoint(w))}_tinySDF(w,B,Q){let ee=this.localIdeographFontFamily;if(!ee||!this._doesCharSupportLocalGlyph(Q))return;let se=w.tinySDF;if(!se){let je=\"400\";/bold/i.test(B)?je=\"900\":/medium/i.test(B)?je=\"500\":/light/i.test(B)&&(je=\"200\"),se=w.tinySDF=new H.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:ee,fontWeight:je})}let qe=se.draw(String.fromCharCode(Q));return{id:Q,bitmap:new a.o({width:qe.width||60,height:qe.height||60},qe.data),metrics:{width:qe.glyphWidth/2||24,height:qe.glyphHeight/2||24,left:qe.glyphLeft/2+.5||0,top:qe.glyphTop/2-27.5||-8,advance:qe.glyphAdvance/2||24,isDoubleResolution:!0}}}}H.loadGlyphRange=function(le,w,B,Q){return a._(this,void 0,void 0,function*(){let ee=256*w,se=ee+255,qe=Q.transformRequest(B.replace(\"{fontstack}\",le).replace(\"{range}\",`${ee}-${se}`),\"Glyphs\"),je=yield a.l(qe,new AbortController);if(!je||!je.data)throw new Error(`Could not load glyph range. range: ${w}, ${ee}-${se}`);let it={};for(let yt of a.n(je.data))it[yt.id]=yt;return it})},H.TinySDF=class{constructor({fontSize:le=24,buffer:w=3,radius:B=8,cutoff:Q=.25,fontFamily:ee=\"sans-serif\",fontWeight:se=\"normal\",fontStyle:qe=\"normal\"}={}){this.buffer=w,this.cutoff=Q,this.radius=B;let je=this.size=le+4*w,it=this._createCanvas(je),yt=this.ctx=it.getContext(\"2d\",{willReadFrequently:!0});yt.font=`${qe} ${se} ${le}px ${ee}`,yt.textBaseline=\"alphabetic\",yt.textAlign=\"left\",yt.fillStyle=\"black\",this.gridOuter=new Float64Array(je*je),this.gridInner=new Float64Array(je*je),this.f=new Float64Array(je),this.z=new Float64Array(je+1),this.v=new Uint16Array(je)}_createCanvas(le){let w=document.createElement(\"canvas\");return w.width=w.height=le,w}draw(le){let{width:w,actualBoundingBoxAscent:B,actualBoundingBoxDescent:Q,actualBoundingBoxLeft:ee,actualBoundingBoxRight:se}=this.ctx.measureText(le),qe=Math.ceil(B),je=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(se-ee))),it=Math.min(this.size-this.buffer,qe+Math.ceil(Q)),yt=je+2*this.buffer,Ot=it+2*this.buffer,Nt=Math.max(yt*Ot,0),hr=new Uint8ClampedArray(Nt),Sr={data:hr,width:yt,height:Ot,glyphWidth:je,glyphHeight:it,glyphTop:qe,glyphLeft:0,glyphAdvance:w};if(je===0||it===0)return Sr;let{ctx:he,buffer:be,gridInner:Pe,gridOuter:Oe}=this;he.clearRect(be,be,je,it),he.fillText(le,be,be+qe);let Je=he.getImageData(be,be,je,it);Oe.fill(F,0,Nt),Pe.fill(0,0,Nt);for(let He=0;He<it;He++)for(let et=0;et<je;et++){let Mt=Je.data[4*(He*je+et)+3]/255;if(Mt===0)continue;let Dt=(He+be)*yt+et+be;if(Mt===1)Oe[Dt]=0,Pe[Dt]=F;else{let Ut=.5-Mt;Oe[Dt]=Ut>0?Ut*Ut:0,Pe[Dt]=Ut<0?Ut*Ut:0}}q(Oe,0,0,yt,Ot,yt,this.f,this.v,this.z),q(Pe,be,be,je,it,yt,this.f,this.v,this.z);for(let He=0;He<Nt;He++){let et=Math.sqrt(Oe[He])-Math.sqrt(Pe[He]);hr[He]=Math.round(255-255*(et/this.radius+this.cutoff))}return Sr}};class X{constructor(){this.specification=a.v.light.position}possiblyEvaluate(w,B){return a.x(w.expression.evaluate(B))}interpolate(w,B,Q){return{x:a.y.number(w.x,B.x,Q),y:a.y.number(w.y,B.y,Q),z:a.y.number(w.z,B.z,Q)}}}let G;class N extends a.E{constructor(w){super(),G=G||new a.q({anchor:new a.D(a.v.light.anchor),position:new X,color:new a.D(a.v.light.color),intensity:new a.D(a.v.light.intensity)}),this._transitionable=new a.T(G),this.setLight(w),this._transitioning=this._transitionable.untransitioned()}getLight(){return this._transitionable.serialize()}setLight(w,B={}){if(!this._validate(a.r,w,B))for(let Q in w){let ee=w[Q];Q.endsWith(\"-transition\")?this._transitionable.setTransition(Q.slice(0,-11),ee):this._transitionable.setValue(Q,ee)}}updateTransitions(w){this._transitioning=this._transitionable.transitioned(w,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(w){this.properties=this._transitioning.possiblyEvaluate(w)}_validate(w,B,Q){return(!Q||Q.validate!==!1)&&a.t(this,w.call(a.u,{value:B,style:{glyphs:!0,sprite:!0},styleSpec:a.v}))}}let W=new a.q({\"sky-color\":new a.D(a.v.sky[\"sky-color\"]),\"horizon-color\":new a.D(a.v.sky[\"horizon-color\"]),\"fog-color\":new a.D(a.v.sky[\"fog-color\"]),\"fog-ground-blend\":new a.D(a.v.sky[\"fog-ground-blend\"]),\"horizon-fog-blend\":new a.D(a.v.sky[\"horizon-fog-blend\"]),\"sky-horizon-blend\":new a.D(a.v.sky[\"sky-horizon-blend\"]),\"atmosphere-blend\":new a.D(a.v.sky[\"atmosphere-blend\"])});class re extends a.E{constructor(w){super(),this._transitionable=new a.T(W),this.setSky(w),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new a.z(0))}setSky(w,B={}){if(!this._validate(a.B,w,B)){w||(w={\"sky-color\":\"transparent\",\"horizon-color\":\"transparent\",\"fog-color\":\"transparent\",\"fog-ground-blend\":1,\"atmosphere-blend\":0});for(let Q in w){let ee=w[Q];Q.endsWith(\"-transition\")?this._transitionable.setTransition(Q.slice(0,-11),ee):this._transitionable.setValue(Q,ee)}}}getSky(){return this._transitionable.serialize()}updateTransitions(w){this._transitioning=this._transitionable.transitioned(w,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(w){this.properties=this._transitioning.possiblyEvaluate(w)}_validate(w,B,Q={}){return(Q==null?void 0:Q.validate)!==!1&&a.t(this,w.call(a.u,a.e({value:B,style:{glyphs:!0,sprite:!0},styleSpec:a.v})))}calculateFogBlendOpacity(w){return w<60?0:w<70?(w-60)/10:1}}class ae{constructor(w,B){this.width=w,this.height=B,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}}getDash(w,B){let Q=w.join(\",\")+String(B);return this.dashEntry[Q]||(this.dashEntry[Q]=this.addDash(w,B)),this.dashEntry[Q]}getDashRanges(w,B,Q){let ee=[],se=w.length%2==1?-w[w.length-1]*Q:0,qe=w[0]*Q,je=!0;ee.push({left:se,right:qe,isDash:je,zeroLength:w[0]===0});let it=w[0];for(let yt=1;yt<w.length;yt++){je=!je;let Ot=w[yt];se=it*Q,it+=Ot,qe=it*Q,ee.push({left:se,right:qe,isDash:je,zeroLength:Ot===0})}return ee}addRoundDash(w,B,Q){let ee=B/2;for(let se=-Q;se<=Q;se++){let qe=this.width*(this.nextRow+Q+se),je=0,it=w[je];for(let yt=0;yt<this.width;yt++){yt/it.right>1&&(it=w[++je]);let Ot=Math.abs(yt-it.left),Nt=Math.abs(yt-it.right),hr=Math.min(Ot,Nt),Sr,he=se/Q*(ee+1);if(it.isDash){let be=ee-Math.abs(he);Sr=Math.sqrt(hr*hr+be*be)}else Sr=ee-Math.sqrt(hr*hr+he*he);this.data[qe+yt]=Math.max(0,Math.min(255,Sr+128))}}}addRegularDash(w){for(let je=w.length-1;je>=0;--je){let it=w[je],yt=w[je+1];it.zeroLength?w.splice(je,1):yt&&yt.isDash===it.isDash&&(yt.left=it.left,w.splice(je,1))}let B=w[0],Q=w[w.length-1];B.isDash===Q.isDash&&(B.left=Q.left-this.width,Q.right=B.right+this.width);let ee=this.width*this.nextRow,se=0,qe=w[se];for(let je=0;je<this.width;je++){je/qe.right>1&&(qe=w[++se]);let it=Math.abs(je-qe.left),yt=Math.abs(je-qe.right),Ot=Math.min(it,yt);this.data[ee+je]=Math.max(0,Math.min(255,(qe.isDash?Ot:-Ot)+128))}}addDash(w,B){let Q=B?7:0,ee=2*Q+1;if(this.nextRow+ee>this.height)return a.w(\"LineAtlas out of space\"),null;let se=0;for(let je=0;je<w.length;je++)se+=w[je];if(se!==0){let je=this.width/se,it=this.getDashRanges(w,this.width,je);B?this.addRoundDash(it,je,Q):this.addRegularDash(it)}let qe={y:(this.nextRow+Q+.5)/this.height,height:2*Q/this.height,width:se};return this.nextRow+=ee,this.dirty=!0,qe}bind(w){let B=w.gl;this.texture?(B.bindTexture(B.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,B.texSubImage2D(B.TEXTURE_2D,0,0,0,this.width,this.height,B.ALPHA,B.UNSIGNED_BYTE,this.data))):(this.texture=B.createTexture(),B.bindTexture(B.TEXTURE_2D,this.texture),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_S,B.REPEAT),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_T,B.REPEAT),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MIN_FILTER,B.LINEAR),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MAG_FILTER,B.LINEAR),B.texImage2D(B.TEXTURE_2D,0,B.ALPHA,this.width,this.height,0,B.ALPHA,B.UNSIGNED_BYTE,this.data))}}let _e=\"maplibre_preloaded_worker_pool\";class Me{constructor(){this.active={}}acquire(w){if(!this.workers)for(this.workers=[];this.workers.length<Me.workerCount;)this.workers.push(new Worker(a.a.WORKER_URL));return this.active[w]=!0,this.workers.slice()}release(w){delete this.active[w],this.numActive()===0&&(this.workers.forEach(B=>{B.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[_e]}numActive(){return Object.keys(this.active).length}}let ke=Math.floor(u.hardwareConcurrency/2),ge,ie;function Te(){return ge||(ge=new Me),ge}Me.workerCount=a.C(globalThis)?Math.max(Math.min(ke,3),1):1;class Ee{constructor(w,B){this.workerPool=w,this.actors=[],this.currentActor=0,this.id=B;let Q=this.workerPool.acquire(B);for(let ee=0;ee<Q.length;ee++){let se=new a.F(Q[ee],B);se.name=`Worker ${ee}`,this.actors.push(se)}if(!this.actors.length)throw new Error(\"No actors found\")}broadcast(w,B){let Q=[];for(let ee of this.actors)Q.push(ee.sendAsync({type:w,data:B}));return Promise.all(Q)}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(w=!0){this.actors.forEach(B=>{B.remove()}),this.actors=[],w&&this.workerPool.release(this.id)}registerMessageHandler(w,B){for(let Q of this.actors)Q.registerMessageHandler(w,B)}}function Ae(){return ie||(ie=new Ee(Te(),a.G),ie.registerMessageHandler(\"GR\",(le,w,B)=>a.m(w,B))),ie}function ze(le,w){let B=a.H();return a.J(B,B,[1,1,0]),a.K(B,B,[.5*le.width,.5*le.height,1]),a.L(B,B,le.calculatePosMatrix(w.toUnwrapped()))}function Ce(le,w,B,Q,ee,se){let qe=function(Nt,hr,Sr){if(Nt)for(let he of Nt){let be=hr[he];if(be&&be.source===Sr&&be.type===\"fill-extrusion\")return!0}else for(let he in hr){let be=hr[he];if(be.source===Sr&&be.type===\"fill-extrusion\")return!0}return!1}(ee&&ee.layers,w,le.id),je=se.maxPitchScaleFactor(),it=le.tilesIn(Q,je,qe);it.sort(me);let yt=[];for(let Nt of it)yt.push({wrappedTileID:Nt.tileID.wrapped().key,queryResults:Nt.tile.queryRenderedFeatures(w,B,le._state,Nt.queryGeometry,Nt.cameraQueryGeometry,Nt.scale,ee,se,je,ze(le.transform,Nt.tileID))});let Ot=function(Nt){let hr={},Sr={};for(let he of Nt){let be=he.queryResults,Pe=he.wrappedTileID,Oe=Sr[Pe]=Sr[Pe]||{};for(let Je in be){let He=be[Je],et=Oe[Je]=Oe[Je]||{},Mt=hr[Je]=hr[Je]||[];for(let Dt of He)et[Dt.featureIndex]||(et[Dt.featureIndex]=!0,Mt.push(Dt))}}return hr}(yt);for(let Nt in Ot)Ot[Nt].forEach(hr=>{let Sr=hr.feature,he=le.getFeatureState(Sr.layer[\"source-layer\"],Sr.id);Sr.source=Sr.layer.source,Sr.layer[\"source-layer\"]&&(Sr.sourceLayer=Sr.layer[\"source-layer\"]),Sr.state=he});return Ot}function me(le,w){let B=le.tileID,Q=w.tileID;return B.overscaledZ-Q.overscaledZ||B.canonical.y-Q.canonical.y||B.wrap-Q.wrap||B.canonical.x-Q.canonical.x}function Re(le,w,B){return a._(this,void 0,void 0,function*(){let Q=le;if(le.url?Q=(yield a.h(w.transformRequest(le.url,\"Source\"),B)).data:yield u.frameAsync(B),!Q)return null;let ee=a.M(a.e(Q,le),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);return\"vector_layers\"in Q&&Q.vector_layers&&(ee.vectorLayerIds=Q.vector_layers.map(se=>se.id)),ee})}class ce{constructor(w,B){w&&(B?this.setSouthWest(w).setNorthEast(B):Array.isArray(w)&&(w.length===4?this.setSouthWest([w[0],w[1]]).setNorthEast([w[2],w[3]]):this.setSouthWest(w[0]).setNorthEast(w[1])))}setNorthEast(w){return this._ne=w instanceof a.N?new a.N(w.lng,w.lat):a.N.convert(w),this}setSouthWest(w){return this._sw=w instanceof a.N?new a.N(w.lng,w.lat):a.N.convert(w),this}extend(w){let B=this._sw,Q=this._ne,ee,se;if(w instanceof a.N)ee=w,se=w;else{if(!(w instanceof ce))return Array.isArray(w)?w.length===4||w.every(Array.isArray)?this.extend(ce.convert(w)):this.extend(a.N.convert(w)):w&&(\"lng\"in w||\"lon\"in w)&&\"lat\"in w?this.extend(a.N.convert(w)):this;if(ee=w._sw,se=w._ne,!ee||!se)return this}return B||Q?(B.lng=Math.min(ee.lng,B.lng),B.lat=Math.min(ee.lat,B.lat),Q.lng=Math.max(se.lng,Q.lng),Q.lat=Math.max(se.lat,Q.lat)):(this._sw=new a.N(ee.lng,ee.lat),this._ne=new a.N(se.lng,se.lat)),this}getCenter(){return new a.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 a.N(this.getWest(),this.getNorth())}getSouthEast(){return new a.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(w){let{lng:B,lat:Q}=a.N.convert(w),ee=this._sw.lng<=B&&B<=this._ne.lng;return this._sw.lng>this._ne.lng&&(ee=this._sw.lng>=B&&B>=this._ne.lng),this._sw.lat<=Q&&Q<=this._ne.lat&&ee}static convert(w){return w instanceof ce?w:w&&new ce(w)}static fromLngLat(w,B=0){let Q=360*B/40075017,ee=Q/Math.cos(Math.PI/180*w.lat);return new ce(new a.N(w.lng-ee,w.lat-Q),new a.N(w.lng+ee,w.lat+Q))}adjustAntiMeridian(){let w=new a.N(this._sw.lng,this._sw.lat),B=new a.N(this._ne.lng,this._ne.lat);return new ce(w,w.lng>B.lng?new a.N(B.lng+360,B.lat):B)}}class Ge{constructor(w,B,Q){this.bounds=ce.convert(this.validateBounds(w)),this.minzoom=B||0,this.maxzoom=Q||24}validateBounds(w){return Array.isArray(w)&&w.length===4?[Math.max(-180,w[0]),Math.max(-90,w[1]),Math.min(180,w[2]),Math.min(90,w[3])]:[-180,-90,180,90]}contains(w){let B=Math.pow(2,w.z),Q=Math.floor(a.O(this.bounds.getWest())*B),ee=Math.floor(a.Q(this.bounds.getNorth())*B),se=Math.ceil(a.O(this.bounds.getEast())*B),qe=Math.ceil(a.Q(this.bounds.getSouth())*B);return w.x>=Q&&w.x<se&&w.y>=ee&&w.y<qe}}class nt extends a.E{constructor(w,B,Q,ee){if(super(),this.id=w,this.dispatcher=Q,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,a.e(this,a.M(B,[\"url\",\"scheme\",\"tileSize\",\"promoteId\"])),this._options=a.e({type:\"vector\"},B),this._collectResourceTiming=B.collectResourceTiming,this.tileSize!==512)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(ee)}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=new AbortController;try{let w=yield Re(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,this.map.style.sourceCaches[this.id].clearTiles(),w&&(a.e(this,w),w.bounds&&(this.tileBounds=new Ge(w.bounds,this.minzoom,this.maxzoom)),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))}catch(w){this._tileJSONRequest=null,this.fire(new a.j(w))}})}loaded(){return this._loaded}hasTile(w){return!this.tileBounds||this.tileBounds.contains(w.canonical)}onAdd(w){this.map=w,this.load()}setSourceProperty(w){this._tileJSONRequest&&this._tileJSONRequest.abort(),w(),this.load()}setTiles(w){return this.setSourceProperty(()=>{this._options.tiles=w}),this}setUrl(w){return this.setSourceProperty(()=>{this.url=w,this._options.url=w}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return a.e({},this._options)}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),Q={request:this.map._requestManager.transformRequest(B,\"Tile\"),uid:w.uid,tileID:w.tileID,zoom:w.tileID.overscaledZ,tileSize:this.tileSize*w.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};Q.request.collectResourceTiming=this._collectResourceTiming;let ee=\"RT\";if(w.actor&&w.state!==\"expired\"){if(w.state===\"loading\")return new Promise((se,qe)=>{w.reloadPromise={resolve:se,reject:qe}})}else w.actor=this.dispatcher.getActor(),ee=\"LT\";w.abortController=new AbortController;try{let se=yield w.actor.sendAsync({type:ee,data:Q},w.abortController);if(delete w.abortController,w.aborted)return;this._afterTileLoadWorkerResponse(w,se)}catch(se){if(delete w.abortController,w.aborted)return;if(se&&se.status!==404)throw se;this._afterTileLoadWorkerResponse(w,null)}})}_afterTileLoadWorkerResponse(w,B){if(B&&B.resourceTiming&&(w.resourceTiming=B.resourceTiming),B&&this.map._refreshExpiredTiles&&w.setExpiryData(B),w.loadVectorData(B,this.map.painter),w.reloadPromise){let Q=w.reloadPromise;w.reloadPromise=null,this.loadTile(w).then(Q.resolve).catch(Q.reject)}}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController),w.actor&&(yield w.actor.sendAsync({type:\"AT\",data:{uid:w.uid,type:this.type,source:this.id}}))})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.unloadVectorData(),w.actor&&(yield w.actor.sendAsync({type:\"RMT\",data:{uid:w.uid,type:this.type,source:this.id}}))})}hasTransition(){return!1}}class ct extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.dispatcher=Q,this.setEventedParent(ee),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=a.e({type:\"raster\"},B),a.e(this,a.M(B,[\"url\",\"scheme\",\"tileSize\"]))}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=new AbortController;try{let w=yield Re(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,w&&(a.e(this,w),w.bounds&&(this.tileBounds=new Ge(w.bounds,this.minzoom,this.maxzoom)),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))}catch(w){this._tileJSONRequest=null,this.fire(new a.j(w))}})}loaded(){return this._loaded}onAdd(w){this.map=w,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(w){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),w(),this.load()}setTiles(w){return this.setSourceProperty(()=>{this._options.tiles=w}),this}setUrl(w){return this.setSourceProperty(()=>{this.url=w,this._options.url=w}),this}serialize(){return a.e({},this._options)}hasTile(w){return!this.tileBounds||this.tileBounds.contains(w.canonical)}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);w.abortController=new AbortController;try{let Q=yield p.getImage(this.map._requestManager.transformRequest(B,\"Tile\"),w.abortController,this.map._refreshExpiredTiles);if(delete w.abortController,w.aborted)return void(w.state=\"unloaded\");if(Q&&Q.data){this.map._refreshExpiredTiles&&Q.cacheControl&&Q.expires&&w.setExpiryData({cacheControl:Q.cacheControl,expires:Q.expires});let ee=this.map.painter.context,se=ee.gl,qe=Q.data;w.texture=this.map.painter.getTileTexture(qe.width),w.texture?w.texture.update(qe,{useMipmap:!0}):(w.texture=new g(ee,qe,se.RGBA,{useMipmap:!0}),w.texture.bind(se.LINEAR,se.CLAMP_TO_EDGE,se.LINEAR_MIPMAP_NEAREST)),w.state=\"loaded\"}}catch(Q){if(delete w.abortController,w.aborted)w.state=\"unloaded\";else if(Q)throw w.state=\"errored\",Q}})}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController)})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.texture&&this.map.painter.saveTileTexture(w.texture)})}hasTransition(){return!1}}class qt extends ct{constructor(w,B,Q,ee){super(w,B,Q,ee),this.type=\"raster-dem\",this.maxzoom=22,this._options=a.e({type:\"raster-dem\"},B),this.encoding=B.encoding||\"mapbox\",this.redFactor=B.redFactor,this.greenFactor=B.greenFactor,this.blueFactor=B.blueFactor,this.baseShift=B.baseShift}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),Q=this.map._requestManager.transformRequest(B,\"Tile\");w.neighboringTiles=this._getNeighboringTiles(w.tileID),w.abortController=new AbortController;try{let ee=yield p.getImage(Q,w.abortController,this.map._refreshExpiredTiles);if(delete w.abortController,w.aborted)return void(w.state=\"unloaded\");if(ee&&ee.data){let se=ee.data;this.map._refreshExpiredTiles&&ee.cacheControl&&ee.expires&&w.setExpiryData({cacheControl:ee.cacheControl,expires:ee.expires});let qe=a.b(se)&&a.U()?se:yield this.readImageNow(se),je={type:this.type,uid:w.uid,source:this.id,rawImageData:qe,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!w.actor||w.state===\"expired\"){w.actor=this.dispatcher.getActor();let it=yield w.actor.sendAsync({type:\"LDT\",data:je});w.dem=it,w.needsHillshadePrepare=!0,w.needsTerrainPrepare=!0,w.state=\"loaded\"}}}catch(ee){if(delete w.abortController,w.aborted)w.state=\"unloaded\";else if(ee)throw w.state=\"errored\",ee}})}readImageNow(w){return a._(this,void 0,void 0,function*(){if(typeof VideoFrame!=\"undefined\"&&a.V()){let B=w.width+2,Q=w.height+2;try{return new a.R({width:B,height:Q},yield a.W(w,-1,-1,B,Q))}catch(ee){}}return u.getImageData(w,1)})}_getNeighboringTiles(w){let B=w.canonical,Q=Math.pow(2,B.z),ee=(B.x-1+Q)%Q,se=B.x===0?w.wrap-1:w.wrap,qe=(B.x+1+Q)%Q,je=B.x+1===Q?w.wrap+1:w.wrap,it={};return it[new a.S(w.overscaledZ,se,B.z,ee,B.y).key]={backfilled:!1},it[new a.S(w.overscaledZ,je,B.z,qe,B.y).key]={backfilled:!1},B.y>0&&(it[new a.S(w.overscaledZ,se,B.z,ee,B.y-1).key]={backfilled:!1},it[new a.S(w.overscaledZ,w.wrap,B.z,B.x,B.y-1).key]={backfilled:!1},it[new a.S(w.overscaledZ,je,B.z,qe,B.y-1).key]={backfilled:!1}),B.y+1<Q&&(it[new a.S(w.overscaledZ,se,B.z,ee,B.y+1).key]={backfilled:!1},it[new a.S(w.overscaledZ,w.wrap,B.z,B.x,B.y+1).key]={backfilled:!1},it[new a.S(w.overscaledZ,je,B.z,qe,B.y+1).key]={backfilled:!1}),it}unloadTile(w){return a._(this,void 0,void 0,function*(){w.demTexture&&this.map.painter.saveTileTexture(w.demTexture),w.fbo&&(w.fbo.destroy(),delete w.fbo),w.dem&&delete w.dem,delete w.neighboringTiles,w.state=\"unloaded\",w.actor&&(yield w.actor.sendAsync({type:\"RDT\",data:{type:this.type,uid:w.uid,source:this.id}}))})}}class rt extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._pendingLoads=0,this.actor=Q.getActor(),this.setEventedParent(ee),this._data=B.data,this._options=a.e({},B),this._collectResourceTiming=B.collectResourceTiming,B.maxzoom!==void 0&&(this.maxzoom=B.maxzoom),B.type&&(this.type=B.type),B.attribution&&(this.attribution=B.attribution),this.promoteId=B.promoteId;let se=a.X/this.tileSize;B.clusterMaxZoom!==void 0&&this.maxzoom<=B.clusterMaxZoom&&a.w(`The maxzoom value \"${this.maxzoom}\" is expected to be greater than the clusterMaxZoom value \"${B.clusterMaxZoom}\".`),this.workerOptions=a.e({source:this.id,cluster:B.cluster||!1,geojsonVtOptions:{buffer:(B.buffer!==void 0?B.buffer:128)*se,tolerance:(B.tolerance!==void 0?B.tolerance:.375)*se,extent:a.X,maxZoom:this.maxzoom,lineMetrics:B.lineMetrics||!1,generateId:B.generateId||!1},superclusterOptions:{maxZoom:B.clusterMaxZoom!==void 0?B.clusterMaxZoom:this.maxzoom-1,minPoints:Math.max(2,B.clusterMinPoints||2),extent:a.X,radius:(B.clusterRadius||50)*se,log:!1,generateId:B.generateId||!1},clusterProperties:B.clusterProperties,filter:B.filter},B.workerOptions),typeof this.promoteId==\"string\"&&(this.workerOptions.promoteId=this.promoteId)}load(){return a._(this,void 0,void 0,function*(){yield this._updateWorkerData()})}onAdd(w){this.map=w,this.load()}setData(w){return this._data=w,this._updateWorkerData(),this}updateData(w){return this._updateWorkerData(w),this}getData(){return a._(this,void 0,void 0,function*(){let w=a.e({type:this.type},this.workerOptions);return this.actor.sendAsync({type:\"GD\",data:w})})}setClusterOptions(w){return this.workerOptions.cluster=w.cluster,w&&(w.clusterRadius!==void 0&&(this.workerOptions.superclusterOptions.radius=w.clusterRadius),w.clusterMaxZoom!==void 0&&(this.workerOptions.superclusterOptions.maxZoom=w.clusterMaxZoom)),this._updateWorkerData(),this}getClusterExpansionZoom(w){return this.actor.sendAsync({type:\"GCEZ\",data:{type:this.type,clusterId:w,source:this.id}})}getClusterChildren(w){return this.actor.sendAsync({type:\"GCC\",data:{type:this.type,clusterId:w,source:this.id}})}getClusterLeaves(w,B,Q){return this.actor.sendAsync({type:\"GCL\",data:{type:this.type,source:this.id,clusterId:w,limit:B,offset:Q}})}_updateWorkerData(w){return a._(this,void 0,void 0,function*(){let B=a.e({type:this.type},this.workerOptions);w?B.dataDiff=w:typeof this._data==\"string\"?(B.request=this.map._requestManager.transformRequest(u.resolveURL(this._data),\"Source\"),B.request.collectResourceTiming=this._collectResourceTiming):B.data=JSON.stringify(this._data),this._pendingLoads++,this.fire(new a.k(\"dataloading\",{dataType:\"source\"}));try{let Q=yield this.actor.sendAsync({type:\"LD\",data:B});if(this._pendingLoads--,this._removed||Q.abandoned)return void this.fire(new a.k(\"dataabort\",{dataType:\"source\"}));let ee=null;Q.resourceTiming&&Q.resourceTiming[this.id]&&(ee=Q.resourceTiming[this.id].slice(0));let se={dataType:\"source\"};this._collectResourceTiming&&ee&&ee.length>0&&a.e(se,{resourceTiming:ee}),this.fire(new a.k(\"data\",Object.assign(Object.assign({},se),{sourceDataType:\"metadata\"}))),this.fire(new a.k(\"data\",Object.assign(Object.assign({},se),{sourceDataType:\"content\"})))}catch(Q){if(this._pendingLoads--,this._removed)return void this.fire(new a.k(\"dataabort\",{dataType:\"source\"}));this.fire(new a.j(Q))}})}loaded(){return this._pendingLoads===0}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.actor?\"RT\":\"LT\";w.actor=this.actor;let Q={type:this.type,uid:w.uid,tileID:w.tileID,zoom:w.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};w.abortController=new AbortController;let ee=yield this.actor.sendAsync({type:B,data:Q},w.abortController);delete w.abortController,w.unloadVectorData(),w.aborted||w.loadVectorData(ee,this.map.painter,B===\"RT\")})}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController),w.aborted=!0})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.unloadVectorData(),yield this.actor.sendAsync({type:\"RMT\",data:{uid:w.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 a.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var ot=a.Y([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);class Rt extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.dispatcher=Q,this.coordinates=B.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(ee),this.options=B}load(w){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,this._request=new AbortController;try{let B=yield p.getImage(this.map._requestManager.transformRequest(this.url,\"Image\"),this._request);this._request=null,this._loaded=!0,B&&B.data&&(this.image=B.data,w&&(this.coordinates=w),this._finishLoading())}catch(B){this._request=null,this._loaded=!0,this.fire(new a.j(B))}})}loaded(){return this._loaded}updateImage(w){return w.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=w.url,this.load(w.coordinates).finally(()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))}onAdd(w){this.map=w,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(w){this.coordinates=w;let B=w.map(a.Z.fromLngLat);this.tileID=function(ee){let se=1/0,qe=1/0,je=-1/0,it=-1/0;for(let hr of ee)se=Math.min(se,hr.x),qe=Math.min(qe,hr.y),je=Math.max(je,hr.x),it=Math.max(it,hr.y);let yt=Math.max(je-se,it-qe),Ot=Math.max(0,Math.floor(-Math.log(yt)/Math.LN2)),Nt=Math.pow(2,Ot);return new a.a1(Ot,Math.floor((se+je)/2*Nt),Math.floor((qe+it)/2*Nt))}(B),this.minzoom=this.maxzoom=this.tileID.z;let Q=B.map(ee=>this.tileID.getTilePoint(ee)._round());return this._boundsArray=new a.$,this._boundsArray.emplaceBack(Q[0].x,Q[0].y,0,0),this._boundsArray.emplaceBack(Q[1].x,Q[1].y,a.X,0),this._boundsArray.emplaceBack(Q[3].x,Q[3].y,0,a.X),this._boundsArray.emplaceBack(Q[2].x,Q[2].y,a.X,a.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let w=this.map.painter.context,B=w.gl;this.boundsBuffer||(this.boundsBuffer=w.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new g(w,this.image,B.RGBA),this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE));let Q=!1;for(let ee in this.tiles){let se=this.tiles[ee];se.state!==\"loaded\"&&(se.state=\"loaded\",se.texture=this.texture,Q=!0)}Q&&this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}loadTile(w){return a._(this,void 0,void 0,function*(){this.tileID&&this.tileID.equals(w.tileID.canonical)?(this.tiles[String(w.tileID.wrap)]=w,w.buckets={}):w.state=\"errored\"})}serialize(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class kt extends Rt{constructor(w,B,Q,ee){super(w,B,Q,ee),this.roundZoom=!0,this.type=\"video\",this.options=B}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1;let w=this.options;this.urls=[];for(let B of w.urls)this.urls.push(this.map._requestManager.transformRequest(B,\"Source\").url);try{let B=yield a.a3(this.urls);if(this._loaded=!0,!B)return;this.video=B,this.video.loop=!0,this.video.addEventListener(\"playing\",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading()}catch(B){this.fire(new a.j(B))}})}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(w){if(this.video){let B=this.video.seekable;w<B.start(0)||w>B.end(0)?this.fire(new a.j(new a.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${B.start(0)} and ${B.end(0)}-second mark.`))):this.video.currentTime=w}}getVideo(){return this.video}onAdd(w){this.map||(this.map=w,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let w=this.map.painter.context,B=w.gl;this.boundsBuffer||(this.boundsBuffer=w.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE),B.texSubImage2D(B.TEXTURE_2D,0,0,0,B.RGBA,B.UNSIGNED_BYTE,this.video)):(this.texture=new g(w,this.video,B.RGBA),this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE));let Q=!1;for(let ee in this.tiles){let se=this.tiles[ee];se.state!==\"loaded\"&&(se.state=\"loaded\",se.texture=this.texture,Q=!0)}Q&&this.fire(new a.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 Ct extends Rt{constructor(w,B,Q,ee){super(w,B,Q,ee),B.coordinates?Array.isArray(B.coordinates)&&B.coordinates.length===4&&!B.coordinates.some(se=>!Array.isArray(se)||se.length!==2||se.some(qe=>typeof qe!=\"number\"))||this.fire(new a.j(new a.a2(`sources.${w}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new a.j(new a.a2(`sources.${w}`,null,'missing required property \"coordinates\"'))),B.animate&&typeof B.animate!=\"boolean\"&&this.fire(new a.j(new a.a2(`sources.${w}`,null,'optional \"animate\" property must be a boolean value'))),B.canvas?typeof B.canvas==\"string\"||B.canvas instanceof HTMLCanvasElement||this.fire(new a.j(new a.a2(`sources.${w}`,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 a.j(new a.a2(`sources.${w}`,null,'missing required property \"canvas\"'))),this.options=B,this.animate=B.animate===void 0||B.animate}load(){return a._(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 a.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(w){this.map=w,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let w=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,w=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,w=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let B=this.map.painter.context,Q=B.gl;this.boundsBuffer||(this.boundsBuffer=B.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture?(w||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new g(B,this.canvas,Q.RGBA,{premultiply:!0});let ee=!1;for(let se in this.tiles){let qe=this.tiles[se];qe.state!==\"loaded\"&&(qe.state=\"loaded\",qe.texture=this.texture,ee=!0)}ee&&this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}serialize(){return{type:\"canvas\",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let w of[this.canvas.width,this.canvas.height])if(isNaN(w)||w<=0)return!0;return!1}}let Yt={},xr=le=>{switch(le){case\"geojson\":return rt;case\"image\":return Rt;case\"raster\":return ct;case\"raster-dem\":return qt;case\"vector\":return nt;case\"video\":return kt;case\"canvas\":return Ct}return Yt[le]},er=\"RTLPluginLoaded\";class Ke extends a.E{constructor(){super(...arguments),this.status=\"unavailable\",this.url=null,this.dispatcher=Ae()}_syncState(w){return this.status=w,this.dispatcher.broadcast(\"SRPS\",{pluginStatus:w,pluginURL:this.url}).catch(B=>{throw this.status=\"error\",B})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status=\"unavailable\",this.url=null}setRTLTextPlugin(w){return a._(this,arguments,void 0,function*(B,Q=!1){if(this.url)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");if(this.url=u.resolveURL(B),!this.url)throw new Error(`requested url ${B} is invalid`);if(this.status===\"unavailable\"){if(!Q)return this._requestImport();this.status=\"deferred\",this._syncState(this.status)}else if(this.status===\"requested\")return this._requestImport()})}_requestImport(){return a._(this,void 0,void 0,function*(){yield this._syncState(\"loading\"),this.status=\"loaded\",this.fire(new a.k(er))})}lazyLoad(){this.status===\"unavailable\"?this.status=\"requested\":this.status===\"deferred\"&&this._requestImport()}}let xt=null;function bt(){return xt||(xt=new Ke),xt}class Lt{constructor(w,B){this.timeAdded=0,this.fadeEndTime=0,this.tileID=w,this.uid=a.a4(),this.uses=0,this.tileSize=B,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(w){let B=w+this.timeAdded;B<this.fadeEndTime||(this.fadeEndTime=B)}wasRequested(){return this.state===\"errored\"||this.state===\"loaded\"||this.state===\"reloading\"}clearTextures(w){this.demTexture&&w.saveTileTexture(this.demTexture),this.demTexture=null}loadVectorData(w,B,Q){if(this.hasData()&&this.unloadVectorData(),this.state=\"loaded\",w){w.featureIndex&&(this.latestFeatureIndex=w.featureIndex,w.rawTileData?(this.latestRawTileData=w.rawTileData,this.latestFeatureIndex.rawTileData=w.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=w.collisionBoxArray,this.buckets=function(ee,se){let qe={};if(!se)return qe;for(let je of ee){let it=je.layerIds.map(yt=>se.getLayer(yt)).filter(Boolean);if(it.length!==0){je.layers=it,je.stateDependentLayerIds&&(je.stateDependentLayers=je.stateDependentLayerIds.map(yt=>it.filter(Ot=>Ot.id===yt)[0]));for(let yt of it)qe[yt.id]=je}}return qe}(w.buckets,B.style),this.hasSymbolBuckets=!1;for(let ee in this.buckets){let se=this.buckets[ee];if(se instanceof a.a6){if(this.hasSymbolBuckets=!0,!Q)break;se.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let ee in this.buckets){let se=this.buckets[ee];if(se instanceof a.a6&&se.hasRTLText){this.hasRTLText=!0,bt().lazyLoad();break}}this.queryPadding=0;for(let ee in this.buckets){let se=this.buckets[ee];this.queryPadding=Math.max(this.queryPadding,B.style.getLayer(ee).queryRadius(se))}w.imageAtlas&&(this.imageAtlas=w.imageAtlas),w.glyphAtlasImage&&(this.glyphAtlasImage=w.glyphAtlasImage)}else this.collisionBoxArray=new a.a5}unloadVectorData(){for(let w in this.buckets)this.buckets[w].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(w){return this.buckets[w.id]}upload(w){for(let Q in this.buckets){let ee=this.buckets[Q];ee.uploadPending()&&ee.upload(w)}let B=w.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new g(w,this.imageAtlas.image,B.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new g(w,this.glyphAtlasImage,B.ALPHA),this.glyphAtlasImage=null)}prepare(w){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(w,this.imageAtlasTexture)}queryRenderedFeatures(w,B,Q,ee,se,qe,je,it,yt,Ot){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:ee,cameraQueryGeometry:se,scale:qe,tileSize:this.tileSize,pixelPosMatrix:Ot,transform:it,params:je,queryPadding:this.queryPadding*yt},w,B,Q):{}}querySourceFeatures(w,B){let Q=this.latestFeatureIndex;if(!Q||!Q.rawTileData)return;let ee=Q.loadVTLayers(),se=B&&B.sourceLayer?B.sourceLayer:\"\",qe=ee._geojsonTileLayer||ee[se];if(!qe)return;let je=a.a7(B&&B.filter),{z:it,x:yt,y:Ot}=this.tileID.canonical,Nt={z:it,x:yt,y:Ot};for(let hr=0;hr<qe.length;hr++){let Sr=qe.feature(hr);if(je.needGeometry){let Pe=a.a8(Sr,!0);if(!je.filter(new a.z(this.tileID.overscaledZ),Pe,this.tileID.canonical))continue}else if(!je.filter(new a.z(this.tileID.overscaledZ),Sr))continue;let he=Q.getId(Sr,se),be=new a.a9(Sr,it,yt,Ot,he);be.tile=Nt,w.push(be)}}hasData(){return this.state===\"loaded\"||this.state===\"reloading\"||this.state===\"expired\"}patternsLoaded(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length}setExpiryData(w){let B=this.expirationTime;if(w.cacheControl){let Q=a.aa(w.cacheControl);Q[\"max-age\"]&&(this.expirationTime=Date.now()+1e3*Q[\"max-age\"])}else w.expires&&(this.expirationTime=new Date(w.expires).getTime());if(this.expirationTime){let Q=Date.now(),ee=!1;if(this.expirationTime>Q)ee=!1;else if(B)if(this.expirationTime<B)ee=!0;else{let se=this.expirationTime-B;se?this.expirationTime=Q+Math.max(se,3e4):ee=!0}else ee=!0;ee?(this.expiredRequestCount++,this.state=\"expired\"):this.expiredRequestCount=0}}getExpiryTimeout(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-new Date().getTime(),Math.pow(2,31)-1)}setFeatureState(w,B){if(!this.latestFeatureIndex||!this.latestFeatureIndex.rawTileData||Object.keys(w).length===0)return;let Q=this.latestFeatureIndex.loadVTLayers();for(let ee in this.buckets){if(!B.style.hasLayer(ee))continue;let se=this.buckets[ee],qe=se.layers[0].sourceLayer||\"_geojsonTileLayer\",je=Q[qe],it=w[qe];if(!je||!it||Object.keys(it).length===0)continue;se.update(it,je,this.imageAtlas&&this.imageAtlas.patternPositions||{});let yt=B&&B.style&&B.style.getLayer(ee);yt&&(this.queryPadding=Math.max(this.queryPadding,yt.queryRadius(se)))}}holdingForFade(){return this.symbolFadeHoldUntil!==void 0}symbolFadeFinished(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<u.now()}clearFadeHold(){this.symbolFadeHoldUntil=void 0}setHoldDuration(w){this.symbolFadeHoldUntil=u.now()+w}setDependencies(w,B){let Q={};for(let ee of B)Q[ee]=!0;this.dependencies[w]=Q}hasDependency(w,B){for(let Q of w){let ee=this.dependencies[Q];if(ee){for(let se of B)if(ee[se])return!0}}return!1}}class St{constructor(w,B){this.max=w,this.onRemove=B,this.reset()}reset(){for(let w in this.data)for(let B of this.data[w])B.timeout&&clearTimeout(B.timeout),this.onRemove(B.value);return this.data={},this.order=[],this}add(w,B,Q){let ee=w.wrapped().key;this.data[ee]===void 0&&(this.data[ee]=[]);let se={value:B,timeout:void 0};if(Q!==void 0&&(se.timeout=setTimeout(()=>{this.remove(w,se)},Q)),this.data[ee].push(se),this.order.push(ee),this.order.length>this.max){let qe=this._getAndRemoveByKey(this.order[0]);qe&&this.onRemove(qe)}return this}has(w){return w.wrapped().key in this.data}getAndRemove(w){return this.has(w)?this._getAndRemoveByKey(w.wrapped().key):null}_getAndRemoveByKey(w){let B=this.data[w].shift();return B.timeout&&clearTimeout(B.timeout),this.data[w].length===0&&delete this.data[w],this.order.splice(this.order.indexOf(w),1),B.value}getByKey(w){let B=this.data[w];return B?B[0].value:null}get(w){return this.has(w)?this.data[w.wrapped().key][0].value:null}remove(w,B){if(!this.has(w))return this;let Q=w.wrapped().key,ee=B===void 0?0:this.data[Q].indexOf(B),se=this.data[Q][ee];return this.data[Q].splice(ee,1),se.timeout&&clearTimeout(se.timeout),this.data[Q].length===0&&delete this.data[Q],this.onRemove(se.value),this.order.splice(this.order.indexOf(Q),1),this}setMaxSize(w){for(this.max=w;this.order.length>this.max;){let B=this._getAndRemoveByKey(this.order[0]);B&&this.onRemove(B)}return this}filter(w){let B=[];for(let Q in this.data)for(let ee of this.data[Q])w(ee.value)||B.push(ee);for(let Q of B)this.remove(Q.value.tileID,Q)}}class Et{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(w,B,Q){let ee=String(B);if(this.stateChanges[w]=this.stateChanges[w]||{},this.stateChanges[w][ee]=this.stateChanges[w][ee]||{},a.e(this.stateChanges[w][ee],Q),this.deletedStates[w]===null){this.deletedStates[w]={};for(let se in this.state[w])se!==ee&&(this.deletedStates[w][se]=null)}else if(this.deletedStates[w]&&this.deletedStates[w][ee]===null){this.deletedStates[w][ee]={};for(let se in this.state[w][ee])Q[se]||(this.deletedStates[w][ee][se]=null)}else for(let se in Q)this.deletedStates[w]&&this.deletedStates[w][ee]&&this.deletedStates[w][ee][se]===null&&delete this.deletedStates[w][ee][se]}removeFeatureState(w,B,Q){if(this.deletedStates[w]===null)return;let ee=String(B);if(this.deletedStates[w]=this.deletedStates[w]||{},Q&&B!==void 0)this.deletedStates[w][ee]!==null&&(this.deletedStates[w][ee]=this.deletedStates[w][ee]||{},this.deletedStates[w][ee][Q]=null);else if(B!==void 0)if(this.stateChanges[w]&&this.stateChanges[w][ee])for(Q in this.deletedStates[w][ee]={},this.stateChanges[w][ee])this.deletedStates[w][ee][Q]=null;else this.deletedStates[w][ee]=null;else this.deletedStates[w]=null}getState(w,B){let Q=String(B),ee=a.e({},(this.state[w]||{})[Q],(this.stateChanges[w]||{})[Q]);if(this.deletedStates[w]===null)return{};if(this.deletedStates[w]){let se=this.deletedStates[w][B];if(se===null)return{};for(let qe in se)delete ee[qe]}return ee}initializeTileState(w,B){w.setFeatureState(this.state,B)}coalesceChanges(w,B){let Q={};for(let ee in this.stateChanges){this.state[ee]=this.state[ee]||{};let se={};for(let qe in this.stateChanges[ee])this.state[ee][qe]||(this.state[ee][qe]={}),a.e(this.state[ee][qe],this.stateChanges[ee][qe]),se[qe]=this.state[ee][qe];Q[ee]=se}for(let ee in this.deletedStates){this.state[ee]=this.state[ee]||{};let se={};if(this.deletedStates[ee]===null)for(let qe in this.state[ee])se[qe]={},this.state[ee][qe]={};else for(let qe in this.deletedStates[ee]){if(this.deletedStates[ee][qe]===null)this.state[ee][qe]={};else for(let je of Object.keys(this.deletedStates[ee][qe]))delete this.state[ee][qe][je];se[qe]=this.state[ee][qe]}Q[ee]=Q[ee]||{},a.e(Q[ee],se)}if(this.stateChanges={},this.deletedStates={},Object.keys(Q).length!==0)for(let ee in w)w[ee].setFeatureState(Q,B)}}class dt extends a.E{constructor(w,B,Q){super(),this.id=w,this.dispatcher=Q,this.on(\"data\",ee=>this._dataHandler(ee)),this.on(\"dataloading\",()=>{this._sourceErrored=!1}),this.on(\"error\",()=>{this._sourceErrored=this._source.loaded()}),this._source=((ee,se,qe,je)=>{let it=new(xr(se.type))(ee,se,qe,je);if(it.id!==ee)throw new Error(`Expected Source id to be ${ee} instead of ${it.id}`);return it})(w,B,Q,this),this._tiles={},this._cache=new St(0,ee=>this._unloadTile(ee)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new Et,this._didEmitContent=!1,this._updated=!1}onAdd(w){this.map=w,this._maxTileCacheSize=w?w._maxTileCacheSize:null,this._maxTileCacheZoomLevels=w?w._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(w)}onRemove(w){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(w)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let w in this._tiles){let B=this._tiles[w];if(B.state!==\"loaded\"&&B.state!==\"errored\")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let w=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,w&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(w,B,Q){return a._(this,void 0,void 0,function*(){try{yield this._source.loadTile(w),this._tileLoaded(w,B,Q)}catch(ee){w.state=\"errored\",ee.status!==404?this._source.fire(new a.j(ee,{tile:w})):this.update(this.transform,this.terrain)}})}_unloadTile(w){this._source.unloadTile&&this._source.unloadTile(w)}_abortTile(w){this._source.abortTile&&this._source.abortTile(w),this._source.fire(new a.k(\"dataabort\",{tile:w,coord:w.tileID,dataType:\"source\"}))}serialize(){return this._source.serialize()}prepare(w){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let B in this._tiles){let Q=this._tiles[B];Q.upload(w),Q.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(w=>w.tileID).sort(Ht).map(w=>w.key)}getRenderableIds(w){let B=[];for(let Q in this._tiles)this._isIdRenderable(Q,w)&&B.push(this._tiles[Q]);return w?B.sort((Q,ee)=>{let se=Q.tileID,qe=ee.tileID,je=new a.P(se.canonical.x,se.canonical.y)._rotate(this.transform.angle),it=new a.P(qe.canonical.x,qe.canonical.y)._rotate(this.transform.angle);return se.overscaledZ-qe.overscaledZ||it.y-je.y||it.x-je.x}).map(Q=>Q.tileID.key):B.map(Q=>Q.tileID).sort(Ht).map(Q=>Q.key)}hasRenderableParent(w){let B=this.findLoadedParent(w,0);return!!B&&this._isIdRenderable(B.tileID.key)}_isIdRenderable(w,B){return this._tiles[w]&&this._tiles[w].hasData()&&!this._coveredTiles[w]&&(B||!this._tiles[w].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let w in this._tiles)this._tiles[w].state!==\"errored\"&&this._reloadTile(w,\"reloading\")}}_reloadTile(w,B){return a._(this,void 0,void 0,function*(){let Q=this._tiles[w];Q&&(Q.state!==\"loading\"&&(Q.state=B),yield this._loadTile(Q,w,B))})}_tileLoaded(w,B,Q){w.timeAdded=u.now(),Q===\"expired\"&&(w.refreshedUponExpiration=!0),this._setTileReloadTimer(B,w),this.getSource().type===\"raster-dem\"&&w.dem&&this._backfillDEM(w),this._state.initializeTileState(w,this.map?this.map.painter:null),w.aborted||this._source.fire(new a.k(\"data\",{dataType:\"source\",tile:w,coord:w.tileID}))}_backfillDEM(w){let B=this.getRenderableIds();for(let ee=0;ee<B.length;ee++){let se=B[ee];if(w.neighboringTiles&&w.neighboringTiles[se]){let qe=this.getTileByID(se);Q(w,qe),Q(qe,w)}}function Q(ee,se){ee.needsHillshadePrepare=!0,ee.needsTerrainPrepare=!0;let qe=se.tileID.canonical.x-ee.tileID.canonical.x,je=se.tileID.canonical.y-ee.tileID.canonical.y,it=Math.pow(2,ee.tileID.canonical.z),yt=se.tileID.key;qe===0&&je===0||Math.abs(je)>1||(Math.abs(qe)>1&&(Math.abs(qe+it)===1?qe+=it:Math.abs(qe-it)===1&&(qe-=it)),se.dem&&ee.dem&&(ee.dem.backfillBorder(se.dem,qe,je),ee.neighboringTiles&&ee.neighboringTiles[yt]&&(ee.neighboringTiles[yt].backfilled=!0)))}}getTile(w){return this.getTileByID(w.key)}getTileByID(w){return this._tiles[w]}_retainLoadedChildren(w,B,Q,ee){for(let se in this._tiles){let qe=this._tiles[se];if(ee[se]||!qe.hasData()||qe.tileID.overscaledZ<=B||qe.tileID.overscaledZ>Q)continue;let je=qe.tileID;for(;qe&&qe.tileID.overscaledZ>B+1;){let yt=qe.tileID.scaledTo(qe.tileID.overscaledZ-1);qe=this._tiles[yt.key],qe&&qe.hasData()&&(je=yt)}let it=je;for(;it.overscaledZ>B;)if(it=it.scaledTo(it.overscaledZ-1),w[it.key]){ee[je.key]=je;break}}}findLoadedParent(w,B){if(w.key in this._loadedParentTiles){let Q=this._loadedParentTiles[w.key];return Q&&Q.tileID.overscaledZ>=B?Q:null}for(let Q=w.overscaledZ-1;Q>=B;Q--){let ee=w.scaledTo(Q),se=this._getLoadedTile(ee);if(se)return se}}findLoadedSibling(w){return this._getLoadedTile(w)}_getLoadedTile(w){let B=this._tiles[w.key];return B&&B.hasData()?B:this._cache.getByKey(w.wrapped().key)}updateCacheSize(w){let B=Math.ceil(w.width/this._source.tileSize)+1,Q=Math.ceil(w.height/this._source.tileSize)+1,ee=Math.floor(B*Q*(this._maxTileCacheZoomLevels===null?a.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),se=typeof this._maxTileCacheSize==\"number\"?Math.min(this._maxTileCacheSize,ee):ee;this._cache.setMaxSize(se)}handleWrapJump(w){let B=Math.round((w-(this._prevLng===void 0?w:this._prevLng))/360);if(this._prevLng=w,B){let Q={};for(let ee in this._tiles){let se=this._tiles[ee];se.tileID=se.tileID.unwrapTo(se.tileID.wrap+B),Q[se.tileID.key]=se}this._tiles=Q;for(let ee in this._timers)clearTimeout(this._timers[ee]),delete this._timers[ee];for(let ee in this._tiles)this._setTileReloadTimer(ee,this._tiles[ee])}}_updateCoveredAndRetainedTiles(w,B,Q,ee,se,qe){let je={},it={},yt=Object.keys(w),Ot=u.now();for(let Nt of yt){let hr=w[Nt],Sr=this._tiles[Nt];if(!Sr||Sr.fadeEndTime!==0&&Sr.fadeEndTime<=Ot)continue;let he=this.findLoadedParent(hr,B),be=this.findLoadedSibling(hr),Pe=he||be||null;Pe&&(this._addTile(Pe.tileID),je[Pe.tileID.key]=Pe.tileID),it[Nt]=hr}this._retainLoadedChildren(it,ee,Q,w);for(let Nt in je)w[Nt]||(this._coveredTiles[Nt]=!0,w[Nt]=je[Nt]);if(qe){let Nt={},hr={};for(let Sr of se)this._tiles[Sr.key].hasData()?Nt[Sr.key]=Sr:hr[Sr.key]=Sr;for(let Sr in hr){let he=hr[Sr].children(this._source.maxzoom);this._tiles[he[0].key]&&this._tiles[he[1].key]&&this._tiles[he[2].key]&&this._tiles[he[3].key]&&(Nt[he[0].key]=w[he[0].key]=he[0],Nt[he[1].key]=w[he[1].key]=he[1],Nt[he[2].key]=w[he[2].key]=he[2],Nt[he[3].key]=w[he[3].key]=he[3],delete hr[Sr])}for(let Sr in hr){let he=hr[Sr],be=this.findLoadedParent(he,this._source.minzoom),Pe=this.findLoadedSibling(he),Oe=be||Pe||null;if(Oe){Nt[Oe.tileID.key]=w[Oe.tileID.key]=Oe.tileID;for(let Je in Nt)Nt[Je].isChildOf(Oe.tileID)&&delete Nt[Je]}}for(let Sr in this._tiles)Nt[Sr]||(this._coveredTiles[Sr]=!0)}}update(w,B){if(!this._sourceLoaded||this._paused)return;let Q;this.transform=w,this.terrain=B,this.updateCacheSize(w),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?Q=w.getVisibleUnwrappedCoordinates(this._source.tileID).map(Ot=>new a.S(Ot.canonical.z,Ot.wrap,Ot.canonical.z,Ot.canonical.x,Ot.canonical.y)):(Q=w.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:B}),this._source.hasTile&&(Q=Q.filter(Ot=>this._source.hasTile(Ot)))):Q=[];let ee=w.coveringZoomLevel(this._source),se=Math.max(ee-dt.maxOverzooming,this._source.minzoom),qe=Math.max(ee+dt.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let Ot={};for(let Nt of Q)if(Nt.canonical.z>this._source.minzoom){let hr=Nt.scaledTo(Nt.canonical.z-1);Ot[hr.key]=hr;let Sr=Nt.scaledTo(Math.max(this._source.minzoom,Math.min(Nt.canonical.z,5)));Ot[Sr.key]=Sr}Q=Q.concat(Object.values(Ot))}let je=Q.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,je&&this.fire(new a.k(\"data\",{sourceDataType:\"idle\",dataType:\"source\",sourceId:this.id}));let it=this._updateRetainedTiles(Q,ee);$t(this._source.type)&&this._updateCoveredAndRetainedTiles(it,se,qe,ee,Q,B);for(let Ot in it)this._tiles[Ot].clearFadeHold();let yt=a.ab(this._tiles,it);for(let Ot of yt){let Nt=this._tiles[Ot];Nt.hasSymbolBuckets&&!Nt.holdingForFade()?Nt.setHoldDuration(this.map._fadeDuration):Nt.hasSymbolBuckets&&!Nt.symbolFadeFinished()||this._removeTile(Ot)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(let w in this._tiles)this._tiles[w].holdingForFade()&&this._removeTile(w)}_updateRetainedTiles(w,B){var Q;let ee={},se={},qe=Math.max(B-dt.maxOverzooming,this._source.minzoom),je=Math.max(B+dt.maxUnderzooming,this._source.minzoom),it={};for(let yt of w){let Ot=this._addTile(yt);ee[yt.key]=yt,Ot.hasData()||B<this._source.maxzoom&&(it[yt.key]=yt)}this._retainLoadedChildren(it,B,je,ee);for(let yt of w){let Ot=this._tiles[yt.key];if(Ot.hasData())continue;if(B+1>this._source.maxzoom){let hr=yt.children(this._source.maxzoom)[0],Sr=this.getTile(hr);if(Sr&&Sr.hasData()){ee[hr.key]=hr;continue}}else{let hr=yt.children(this._source.maxzoom);if(ee[hr[0].key]&&ee[hr[1].key]&&ee[hr[2].key]&&ee[hr[3].key])continue}let Nt=Ot.wasRequested();for(let hr=yt.overscaledZ-1;hr>=qe;--hr){let Sr=yt.scaledTo(hr);if(se[Sr.key])break;if(se[Sr.key]=!0,Ot=this.getTile(Sr),!Ot&&Nt&&(Ot=this._addTile(Sr)),Ot){let he=Ot.hasData();if((he||!(!((Q=this.map)===null||Q===void 0)&&Q.cancelPendingTileRequestsWhileZooming)||Nt)&&(ee[Sr.key]=Sr),Nt=Ot.wasRequested(),he)break}}}return ee}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let w in this._tiles){let B=[],Q,ee=this._tiles[w].tileID;for(;ee.overscaledZ>0;){if(ee.key in this._loadedParentTiles){Q=this._loadedParentTiles[ee.key];break}B.push(ee.key);let se=ee.scaledTo(ee.overscaledZ-1);if(Q=this._getLoadedTile(se),Q)break;ee=se}for(let se of B)this._loadedParentTiles[se]=Q}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(let w in this._tiles){let B=this._tiles[w].tileID,Q=this._getLoadedTile(B);this._loadedSiblingTiles[B.key]=Q}}_addTile(w){let B=this._tiles[w.key];if(B)return B;B=this._cache.getAndRemove(w),B&&(this._setTileReloadTimer(w.key,B),B.tileID=w,this._state.initializeTileState(B,this.map?this.map.painter:null),this._cacheTimers[w.key]&&(clearTimeout(this._cacheTimers[w.key]),delete this._cacheTimers[w.key],this._setTileReloadTimer(w.key,B)));let Q=B;return B||(B=new Lt(w,this._source.tileSize*w.overscaleFactor()),this._loadTile(B,w.key,B.state)),B.uses++,this._tiles[w.key]=B,Q||this._source.fire(new a.k(\"dataloading\",{tile:B,coord:B.tileID,dataType:\"source\"})),B}_setTileReloadTimer(w,B){w in this._timers&&(clearTimeout(this._timers[w]),delete this._timers[w]);let Q=B.getExpiryTimeout();Q&&(this._timers[w]=setTimeout(()=>{this._reloadTile(w,\"expired\"),delete this._timers[w]},Q))}_removeTile(w){let B=this._tiles[w];B&&(B.uses--,delete this._tiles[w],this._timers[w]&&(clearTimeout(this._timers[w]),delete this._timers[w]),B.uses>0||(B.hasData()&&B.state!==\"reloading\"?this._cache.add(B.tileID,B,B.getExpiryTimeout()):(B.aborted=!0,this._abortTile(B),this._unloadTile(B))))}_dataHandler(w){let B=w.sourceDataType;w.dataType===\"source\"&&B===\"metadata\"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&w.dataType===\"source\"&&B===\"content\"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let w in this._tiles)this._removeTile(w);this._cache.reset()}tilesIn(w,B,Q){let ee=[],se=this.transform;if(!se)return ee;let qe=Q?se.getCameraQueryGeometry(w):w,je=w.map(he=>se.pointCoordinate(he,this.terrain)),it=qe.map(he=>se.pointCoordinate(he,this.terrain)),yt=this.getIds(),Ot=1/0,Nt=1/0,hr=-1/0,Sr=-1/0;for(let he of it)Ot=Math.min(Ot,he.x),Nt=Math.min(Nt,he.y),hr=Math.max(hr,he.x),Sr=Math.max(Sr,he.y);for(let he=0;he<yt.length;he++){let be=this._tiles[yt[he]];if(be.holdingForFade())continue;let Pe=be.tileID,Oe=Math.pow(2,se.zoom-be.tileID.overscaledZ),Je=B*be.queryPadding*a.X/be.tileSize/Oe,He=[Pe.getTilePoint(new a.Z(Ot,Nt)),Pe.getTilePoint(new a.Z(hr,Sr))];if(He[0].x-Je<a.X&&He[0].y-Je<a.X&&He[1].x+Je>=0&&He[1].y+Je>=0){let et=je.map(Dt=>Pe.getTilePoint(Dt)),Mt=it.map(Dt=>Pe.getTilePoint(Dt));ee.push({tile:be,tileID:Pe,queryGeometry:et,cameraQueryGeometry:Mt,scale:Oe})}}return ee}getVisibleCoordinates(w){let B=this.getRenderableIds(w).map(Q=>this._tiles[Q].tileID);for(let Q of B)Q.posMatrix=this.transform.calculatePosMatrix(Q.toUnwrapped());return B}hasTransition(){if(this._source.hasTransition())return!0;if($t(this._source.type)){let w=u.now();for(let B in this._tiles)if(this._tiles[B].fadeEndTime>=w)return!0}return!1}setFeatureState(w,B,Q){this._state.updateState(w=w||\"_geojsonTileLayer\",B,Q)}removeFeatureState(w,B,Q){this._state.removeFeatureState(w=w||\"_geojsonTileLayer\",B,Q)}getFeatureState(w,B){return this._state.getState(w=w||\"_geojsonTileLayer\",B)}setDependencies(w,B,Q){let ee=this._tiles[w];ee&&ee.setDependencies(B,Q)}reloadTilesForDependencies(w,B){for(let Q in this._tiles)this._tiles[Q].hasDependency(w,B)&&this._reloadTile(Q,\"reloading\");this._cache.filter(Q=>!Q.hasDependency(w,B))}}function Ht(le,w){let B=Math.abs(2*le.wrap)-+(le.wrap<0),Q=Math.abs(2*w.wrap)-+(w.wrap<0);return le.overscaledZ-w.overscaledZ||Q-B||w.canonical.y-le.canonical.y||w.canonical.x-le.canonical.x}function $t(le){return le===\"raster\"||le===\"image\"||le===\"video\"}dt.maxOverzooming=10,dt.maxUnderzooming=3;class fr{constructor(w,B){this.reset(w,B)}reset(w,B){this.points=w||[],this._distances=[0];for(let Q=1;Q<this.points.length;Q++)this._distances[Q]=this._distances[Q-1]+this.points[Q].dist(this.points[Q-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(B||0,.5*this.length),this.paddedLength=this.length-2*this.padding}lerp(w){if(this.points.length===1)return this.points[0];w=a.ac(w,0,1);let B=1,Q=this._distances[B],ee=w*this.paddedLength+this.padding;for(;Q<ee&&B<this._distances.length;)Q=this._distances[++B];let se=B-1,qe=this._distances[se],je=Q-qe,it=je>0?(ee-qe)/je:0;return this.points[se].mult(1-it).add(this.points[B].mult(it))}}function _r(le,w){let B=!0;return le===\"always\"||le!==\"never\"&&w!==\"never\"||(B=!1),B}class Br{constructor(w,B,Q){let ee=this.boxCells=[],se=this.circleCells=[];this.xCellCount=Math.ceil(w/Q),this.yCellCount=Math.ceil(B/Q);for(let qe=0;qe<this.xCellCount*this.yCellCount;qe++)ee.push([]),se.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=w,this.height=B,this.xScale=this.xCellCount/w,this.yScale=this.yCellCount/B,this.boxUid=0,this.circleUid=0}keysLength(){return this.boxKeys.length+this.circleKeys.length}insert(w,B,Q,ee,se){this._forEachCell(B,Q,ee,se,this._insertBoxCell,this.boxUid++),this.boxKeys.push(w),this.bboxes.push(B),this.bboxes.push(Q),this.bboxes.push(ee),this.bboxes.push(se)}insertCircle(w,B,Q,ee){this._forEachCell(B-ee,Q-ee,B+ee,Q+ee,this._insertCircleCell,this.circleUid++),this.circleKeys.push(w),this.circles.push(B),this.circles.push(Q),this.circles.push(ee)}_insertBoxCell(w,B,Q,ee,se,qe){this.boxCells[se].push(qe)}_insertCircleCell(w,B,Q,ee,se,qe){this.circleCells[se].push(qe)}_query(w,B,Q,ee,se,qe,je){if(Q<0||w>this.width||ee<0||B>this.height)return[];let it=[];if(w<=0&&B<=0&&this.width<=Q&&this.height<=ee){if(se)return[{key:null,x1:w,y1:B,x2:Q,y2:ee}];for(let yt=0;yt<this.boxKeys.length;yt++)it.push({key:this.boxKeys[yt],x1:this.bboxes[4*yt],y1:this.bboxes[4*yt+1],x2:this.bboxes[4*yt+2],y2:this.bboxes[4*yt+3]});for(let yt=0;yt<this.circleKeys.length;yt++){let Ot=this.circles[3*yt],Nt=this.circles[3*yt+1],hr=this.circles[3*yt+2];it.push({key:this.circleKeys[yt],x1:Ot-hr,y1:Nt-hr,x2:Ot+hr,y2:Nt+hr})}}else this._forEachCell(w,B,Q,ee,this._queryCell,it,{hitTest:se,overlapMode:qe,seenUids:{box:{},circle:{}}},je);return it}query(w,B,Q,ee){return this._query(w,B,Q,ee,!1,null)}hitTest(w,B,Q,ee,se,qe){return this._query(w,B,Q,ee,!0,se,qe).length>0}hitTestCircle(w,B,Q,ee,se){let qe=w-Q,je=w+Q,it=B-Q,yt=B+Q;if(je<0||qe>this.width||yt<0||it>this.height)return!1;let Ot=[];return this._forEachCell(qe,it,je,yt,this._queryCellCircle,Ot,{hitTest:!0,overlapMode:ee,circle:{x:w,y:B,radius:Q},seenUids:{box:{},circle:{}}},se),Ot.length>0}_queryCell(w,B,Q,ee,se,qe,je,it){let{seenUids:yt,hitTest:Ot,overlapMode:Nt}=je,hr=this.boxCells[se];if(hr!==null){let he=this.bboxes;for(let be of hr)if(!yt.box[be]){yt.box[be]=!0;let Pe=4*be,Oe=this.boxKeys[be];if(w<=he[Pe+2]&&B<=he[Pe+3]&&Q>=he[Pe+0]&&ee>=he[Pe+1]&&(!it||it(Oe))&&(!Ot||!_r(Nt,Oe.overlapMode))&&(qe.push({key:Oe,x1:he[Pe],y1:he[Pe+1],x2:he[Pe+2],y2:he[Pe+3]}),Ot))return!0}}let Sr=this.circleCells[se];if(Sr!==null){let he=this.circles;for(let be of Sr)if(!yt.circle[be]){yt.circle[be]=!0;let Pe=3*be,Oe=this.circleKeys[be];if(this._circleAndRectCollide(he[Pe],he[Pe+1],he[Pe+2],w,B,Q,ee)&&(!it||it(Oe))&&(!Ot||!_r(Nt,Oe.overlapMode))){let Je=he[Pe],He=he[Pe+1],et=he[Pe+2];if(qe.push({key:Oe,x1:Je-et,y1:He-et,x2:Je+et,y2:He+et}),Ot)return!0}}}return!1}_queryCellCircle(w,B,Q,ee,se,qe,je,it){let{circle:yt,seenUids:Ot,overlapMode:Nt}=je,hr=this.boxCells[se];if(hr!==null){let he=this.bboxes;for(let be of hr)if(!Ot.box[be]){Ot.box[be]=!0;let Pe=4*be,Oe=this.boxKeys[be];if(this._circleAndRectCollide(yt.x,yt.y,yt.radius,he[Pe+0],he[Pe+1],he[Pe+2],he[Pe+3])&&(!it||it(Oe))&&!_r(Nt,Oe.overlapMode))return qe.push(!0),!0}}let Sr=this.circleCells[se];if(Sr!==null){let he=this.circles;for(let be of Sr)if(!Ot.circle[be]){Ot.circle[be]=!0;let Pe=3*be,Oe=this.circleKeys[be];if(this._circlesCollide(he[Pe],he[Pe+1],he[Pe+2],yt.x,yt.y,yt.radius)&&(!it||it(Oe))&&!_r(Nt,Oe.overlapMode))return qe.push(!0),!0}}}_forEachCell(w,B,Q,ee,se,qe,je,it){let yt=this._convertToXCellCoord(w),Ot=this._convertToYCellCoord(B),Nt=this._convertToXCellCoord(Q),hr=this._convertToYCellCoord(ee);for(let Sr=yt;Sr<=Nt;Sr++)for(let he=Ot;he<=hr;he++)if(se.call(this,w,B,Q,ee,this.xCellCount*he+Sr,qe,je,it))return}_convertToXCellCoord(w){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(w*this.xScale)))}_convertToYCellCoord(w){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(w*this.yScale)))}_circlesCollide(w,B,Q,ee,se,qe){let je=ee-w,it=se-B,yt=Q+qe;return yt*yt>je*je+it*it}_circleAndRectCollide(w,B,Q,ee,se,qe,je){let it=(qe-ee)/2,yt=Math.abs(w-(ee+it));if(yt>it+Q)return!1;let Ot=(je-se)/2,Nt=Math.abs(B-(se+Ot));if(Nt>Ot+Q)return!1;if(yt<=it||Nt<=Ot)return!0;let hr=yt-it,Sr=Nt-Ot;return hr*hr+Sr*Sr<=Q*Q}}function Or(le,w,B,Q,ee){let se=a.H();return w?(a.K(se,se,[1/ee,1/ee,1]),B||a.ad(se,se,Q.angle)):a.L(se,Q.labelPlaneMatrix,le),se}function Nr(le,w,B,Q,ee){if(w){let se=a.ae(le);return a.K(se,se,[ee,ee,1]),B||a.ad(se,se,-Q.angle),se}return Q.glCoordMatrix}function ut(le,w,B,Q){let ee;Q?(ee=[le,w,Q(le,w),1],a.af(ee,ee,B)):(ee=[le,w,0,1],jr(ee,ee,B));let se=ee[3];return{point:new a.P(ee[0]/se,ee[1]/se),signedDistanceFromCamera:se,isOccluded:!1}}function Ne(le,w){return .5+le/w*.5}function Ye(le,w){return le.x>=-w[0]&&le.x<=w[0]&&le.y>=-w[1]&&le.y<=w[1]}function Ve(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he){let be=Q?le.textSizeData:le.iconSizeData,Pe=a.ag(be,B.transform.zoom),Oe=[256/B.width*2+1,256/B.height*2+1],Je=Q?le.text.dynamicLayoutVertexArray:le.icon.dynamicLayoutVertexArray;Je.clear();let He=le.lineVertexArray,et=Q?le.text.placedSymbolArray:le.icon.placedSymbolArray,Mt=B.transform.width/B.transform.height,Dt=!1;for(let Ut=0;Ut<et.length;Ut++){let tr=et.get(Ut);if(tr.hidden||tr.writingMode===a.ah.vertical&&!Dt){ai(tr.numGlyphs,Je);continue}Dt=!1;let mr=ut(tr.anchorX,tr.anchorY,w,he);if(!Ye(mr.point,Oe)){ai(tr.numGlyphs,Je);continue}let Rr=Ne(B.transform.cameraToCenterDistance,mr.signedDistanceFromCamera),zr=a.ai(be,Pe,tr),Xr=qe?zr/Rr:zr*Rr,di={getElevation:he,labelPlaneMatrix:ee,lineVertexArray:He,pitchWithMap:qe,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},projection:yt,tileAnchorPoint:new a.P(tr.anchorX,tr.anchorY),unwrappedTileID:Ot,width:Nt,height:hr,translation:Sr},Li=Le(di,tr,Xr,!1,je,w,se,le.glyphOffsetArray,Je,Mt,it);Dt=Li.useVertical,(Li.notEnoughRoom||Dt||Li.needsFlipping&&Le(di,tr,Xr,!0,je,w,se,le.glyphOffsetArray,Je,Mt,it).notEnoughRoom)&&ai(tr.numGlyphs,Je)}Q?le.text.dynamicLayoutVertexBuffer.updateData(Je):le.icon.dynamicLayoutVertexBuffer.updateData(Je)}function Xe(le,w,B,Q,ee,se,qe,je){let it=se.glyphStartIndex+se.numGlyphs,yt=se.lineStartIndex,Ot=se.lineStartIndex+se.lineLength,Nt=w.getoffsetX(se.glyphStartIndex),hr=w.getoffsetX(it-1),Sr=ar(le*Nt,B,Q,ee,se.segment,yt,Ot,je,qe);if(!Sr)return null;let he=ar(le*hr,B,Q,ee,se.segment,yt,Ot,je,qe);return he?je.projectionCache.anyProjectionOccluded?null:{first:Sr,last:he}:null}function ht(le,w,B,Q){return le===a.ah.horizontal&&Math.abs(B.y-w.y)>Math.abs(B.x-w.x)*Q?{useVertical:!0}:(le===a.ah.vertical?w.y<B.y:w.x>B.x)?{needsFlipping:!0}:null}function Le(le,w,B,Q,ee,se,qe,je,it,yt,Ot){let Nt=B/24,hr=w.lineOffsetX*Nt,Sr=w.lineOffsetY*Nt,he;if(w.numGlyphs>1){let be=w.glyphStartIndex+w.numGlyphs,Pe=w.lineStartIndex,Oe=w.lineStartIndex+w.lineLength,Je=Xe(Nt,je,hr,Sr,Q,w,Ot,le);if(!Je)return{notEnoughRoom:!0};let He=ut(Je.first.point.x,Je.first.point.y,qe,le.getElevation).point,et=ut(Je.last.point.x,Je.last.point.y,qe,le.getElevation).point;if(ee&&!Q){let Mt=ht(w.writingMode,He,et,yt);if(Mt)return Mt}he=[Je.first];for(let Mt=w.glyphStartIndex+1;Mt<be-1;Mt++)he.push(ar(Nt*je.getoffsetX(Mt),hr,Sr,Q,w.segment,Pe,Oe,le,Ot));he.push(Je.last)}else{if(ee&&!Q){let Pe=ut(le.tileAnchorPoint.x,le.tileAnchorPoint.y,se,le.getElevation).point,Oe=w.lineStartIndex+w.segment+1,Je=new a.P(le.lineVertexArray.getx(Oe),le.lineVertexArray.gety(Oe)),He=ut(Je.x,Je.y,se,le.getElevation),et=He.signedDistanceFromCamera>0?He.point:function(Dt,Ut,tr,mr,Rr,zr){return xe(Dt,Ut,tr,1,Rr,zr)}(le.tileAnchorPoint,Je,Pe,0,se,le),Mt=ht(w.writingMode,Pe,et,yt);if(Mt)return Mt}let be=ar(Nt*je.getoffsetX(w.glyphStartIndex),hr,Sr,Q,w.segment,w.lineStartIndex,w.lineStartIndex+w.lineLength,le,Ot);if(!be||le.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};he=[be]}for(let be of he)a.aj(it,be.point,be.angle);return{}}function xe(le,w,B,Q,ee,se){let qe=le.add(le.sub(w)._unit()),je=ee!==void 0?ut(qe.x,qe.y,ee,se.getElevation).point:lt(qe.x,qe.y,se).point,it=B.sub(je);return B.add(it._mult(Q/it.mag()))}function Se(le,w,B){let Q=w.projectionCache;if(Q.projections[le])return Q.projections[le];let ee=new a.P(w.lineVertexArray.getx(le),w.lineVertexArray.gety(le)),se=lt(ee.x,ee.y,w);if(se.signedDistanceFromCamera>0)return Q.projections[le]=se.point,Q.anyProjectionOccluded=Q.anyProjectionOccluded||se.isOccluded,se.point;let qe=le-B.direction;return function(je,it,yt,Ot,Nt){return xe(je,it,yt,Ot,void 0,Nt)}(B.distanceFromAnchor===0?w.tileAnchorPoint:new a.P(w.lineVertexArray.getx(qe),w.lineVertexArray.gety(qe)),ee,B.previousVertex,B.absOffsetX-B.distanceFromAnchor+1,w)}function lt(le,w,B){let Q=le+B.translation[0],ee=w+B.translation[1],se;return!B.pitchWithMap&&B.projection.useSpecialProjectionForSymbols?(se=B.projection.projectTileCoordinates(Q,ee,B.unwrappedTileID,B.getElevation),se.point.x=(.5*se.point.x+.5)*B.width,se.point.y=(.5*-se.point.y+.5)*B.height):(se=ut(Q,ee,B.labelPlaneMatrix,B.getElevation),se.isOccluded=!1),se}function Gt(le,w,B){return le._unit()._perp()._mult(w*B)}function Vt(le,w,B,Q,ee,se,qe,je,it){if(je.projectionCache.offsets[le])return je.projectionCache.offsets[le];let yt=B.add(w);if(le+it.direction<Q||le+it.direction>=ee)return je.projectionCache.offsets[le]=yt,yt;let Ot=Se(le+it.direction,je,it),Nt=Gt(Ot.sub(B),qe,it.direction),hr=B.add(Nt),Sr=Ot.add(Nt);return je.projectionCache.offsets[le]=a.ak(se,yt,hr,Sr)||yt,je.projectionCache.offsets[le]}function ar(le,w,B,Q,ee,se,qe,je,it){let yt=Q?le-w:le+w,Ot=yt>0?1:-1,Nt=0;Q&&(Ot*=-1,Nt=Math.PI),Ot<0&&(Nt+=Math.PI);let hr,Sr=Ot>0?se+ee:se+ee+1;je.projectionCache.cachedAnchorPoint?hr=je.projectionCache.cachedAnchorPoint:(hr=lt(je.tileAnchorPoint.x,je.tileAnchorPoint.y,je).point,je.projectionCache.cachedAnchorPoint=hr);let he,be,Pe=hr,Oe=hr,Je=0,He=0,et=Math.abs(yt),Mt=[],Dt;for(;Je+He<=et;){if(Sr+=Ot,Sr<se||Sr>=qe)return null;Je+=He,Oe=Pe,be=he;let mr={absOffsetX:et,direction:Ot,distanceFromAnchor:Je,previousVertex:Oe};if(Pe=Se(Sr,je,mr),B===0)Mt.push(Oe),Dt=Pe.sub(Oe);else{let Rr,zr=Pe.sub(Oe);Rr=zr.mag()===0?Gt(Se(Sr+Ot,je,mr).sub(Pe),B,Ot):Gt(zr,B,Ot),be||(be=Oe.add(Rr)),he=Vt(Sr,Rr,Pe,se,qe,be,B,je,mr),Mt.push(be),Dt=he.sub(be)}He=Dt.mag()}let Ut=Dt._mult((et-Je)/He)._add(be||Oe),tr=Nt+Math.atan2(Pe.y-Oe.y,Pe.x-Oe.x);return Mt.push(Ut),{point:Ut,angle:it?tr:0,path:Mt}}let Qr=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ai(le,w){for(let B=0;B<le;B++){let Q=w.length;w.resize(Q+4),w.float32.set(Qr,3*Q)}}function jr(le,w,B){let Q=w[0],ee=w[1];return le[0]=B[0]*Q+B[4]*ee+B[12],le[1]=B[1]*Q+B[5]*ee+B[13],le[3]=B[3]*Q+B[7]*ee+B[15],le}let ri=100;class bi{constructor(w,B,Q=new Br(w.width+200,w.height+200,25),ee=new Br(w.width+200,w.height+200,25)){this.transform=w,this.mapProjection=B,this.grid=Q,this.ignoredGrid=ee,this.pitchFactor=Math.cos(w._pitch)*w.cameraToCenterDistance,this.screenRightBoundary=w.width+ri,this.screenBottomBoundary=w.height+ri,this.gridRightBoundary=w.width+200,this.gridBottomBoundary=w.height+200,this.perspectiveRatioCutoff=.6}placeCollisionBox(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt){let hr=w.anchorPointX+it[0],Sr=w.anchorPointY+it[1],he=this.projectAndGetPerspectiveRatio(ee,hr,Sr,se,Ot),be=Q*he.perspectiveRatio,Pe;if(qe||je)Pe=this._projectCollisionBox(w,be,ee,se,qe,je,it,he,Ot,Nt);else{let Mt=he.point.x+(Nt?Nt.x*be:0),Dt=he.point.y+(Nt?Nt.y*be:0);Pe={allPointsOccluded:!1,box:[Mt+w.x1*be,Dt+w.y1*be,Mt+w.x2*be,Dt+w.y2*be]}}let[Oe,Je,He,et]=Pe.box;return this.mapProjection.useSpecialProjectionForSymbols&&(qe?Pe.allPointsOccluded:this.mapProjection.isOccluded(hr,Sr,se))||he.perspectiveRatio<this.perspectiveRatioCutoff||!this.isInsideGrid(Oe,Je,He,et)||B!==\"always\"&&this.grid.hitTest(Oe,Je,He,et,B,yt)?{box:[Oe,Je,He,et],placeable:!1,offscreen:!1}:{box:[Oe,Je,He,et],placeable:!0,offscreen:this.isOffscreen(Oe,Je,He,et)}}placeCollisionCircles(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he,be,Pe){let Oe=[],Je=new a.P(B.anchorX,B.anchorY),He=this.getPerspectiveRatio(qe,Je.x,Je.y,je,Pe),et=(Nt?se/He:se*He)/a.ap,Mt={getElevation:Pe,labelPlaneMatrix:it,lineVertexArray:Q,pitchWithMap:Nt,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},projection:this.mapProjection,tileAnchorPoint:Je,unwrappedTileID:je,width:this.transform.width,height:this.transform.height,translation:be},Dt=Xe(et,ee,B.lineOffsetX*et,B.lineOffsetY*et,!1,B,!1,Mt),Ut=!1,tr=!1,mr=!0;if(Dt){let Rr=.5*Sr*He+he,zr=new a.P(-100,-100),Xr=new a.P(this.screenRightBoundary,this.screenBottomBoundary),di=new fr,Li=Dt.first,Ci=Dt.last,Qi=[];for(let ea=Li.path.length-1;ea>=1;ea--)Qi.push(Li.path[ea]);for(let ea=1;ea<Ci.path.length;ea++)Qi.push(Ci.path[ea]);let Mn=2.5*Rr;if(yt){let ea=this.projectPathToScreenSpace(Qi,Mt,yt);Qi=ea.some(Ga=>Ga.signedDistanceFromCamera<=0)?[]:ea.map(Ga=>Ga.point)}let pa=[];if(Qi.length>0){let ea=Qi[0].clone(),Ga=Qi[0].clone();for(let To=1;To<Qi.length;To++)ea.x=Math.min(ea.x,Qi[To].x),ea.y=Math.min(ea.y,Qi[To].y),Ga.x=Math.max(Ga.x,Qi[To].x),Ga.y=Math.max(Ga.y,Qi[To].y);pa=ea.x>=zr.x&&Ga.x<=Xr.x&&ea.y>=zr.y&&Ga.y<=Xr.y?[Qi]:Ga.x<zr.x||ea.x>Xr.x||Ga.y<zr.y||ea.y>Xr.y?[]:a.al([Qi],zr.x,zr.y,Xr.x,Xr.y)}for(let ea of pa){di.reset(ea,.25*Rr);let Ga=0;Ga=di.length<=.5*Rr?1:Math.ceil(di.paddedLength/Mn)+1;for(let To=0;To<Ga;To++){let Wa=To/Math.max(Ga-1,1),co=di.lerp(Wa),Ro=co.x+ri,Ds=co.y+ri;Oe.push(Ro,Ds,Rr,0);let As=Ro-Rr,yo=Ds-Rr,po=Ro+Rr,_l=Ds+Rr;if(mr=mr&&this.isOffscreen(As,yo,po,_l),tr=tr||this.isInsideGrid(As,yo,po,_l),w!==\"always\"&&this.grid.hitTestCircle(Ro,Ds,Rr,w,hr)&&(Ut=!0,!Ot))return{circles:[],offscreen:!1,collisionDetected:Ut}}}}return{circles:!Ot&&Ut||!tr||He<this.perspectiveRatioCutoff?[]:Oe,offscreen:mr,collisionDetected:Ut}}projectPathToScreenSpace(w,B,Q){return w.map(ee=>ut(ee.x,ee.y,Q,B.getElevation))}queryRenderedSymbols(w){if(w.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let B=[],Q=1/0,ee=1/0,se=-1/0,qe=-1/0;for(let Ot of w){let Nt=new a.P(Ot.x+ri,Ot.y+ri);Q=Math.min(Q,Nt.x),ee=Math.min(ee,Nt.y),se=Math.max(se,Nt.x),qe=Math.max(qe,Nt.y),B.push(Nt)}let je=this.grid.query(Q,ee,se,qe).concat(this.ignoredGrid.query(Q,ee,se,qe)),it={},yt={};for(let Ot of je){let Nt=Ot.key;if(it[Nt.bucketInstanceId]===void 0&&(it[Nt.bucketInstanceId]={}),it[Nt.bucketInstanceId][Nt.featureIndex])continue;let hr=[new a.P(Ot.x1,Ot.y1),new a.P(Ot.x2,Ot.y1),new a.P(Ot.x2,Ot.y2),new a.P(Ot.x1,Ot.y2)];a.am(B,hr)&&(it[Nt.bucketInstanceId][Nt.featureIndex]=!0,yt[Nt.bucketInstanceId]===void 0&&(yt[Nt.bucketInstanceId]=[]),yt[Nt.bucketInstanceId].push(Nt.featureIndex))}return yt}insertCollisionBox(w,B,Q,ee,se,qe){(Q?this.ignoredGrid:this.grid).insert({bucketInstanceId:ee,featureIndex:se,collisionGroupID:qe,overlapMode:B},w[0],w[1],w[2],w[3])}insertCollisionCircles(w,B,Q,ee,se,qe){let je=Q?this.ignoredGrid:this.grid,it={bucketInstanceId:ee,featureIndex:se,collisionGroupID:qe,overlapMode:B};for(let yt=0;yt<w.length;yt+=4)je.insertCircle(it,w[yt],w[yt+1],w[yt+2])}projectAndGetPerspectiveRatio(w,B,Q,ee,se){let qe;se?(qe=[B,Q,se(B,Q),1],a.af(qe,qe,w)):(qe=[B,Q,0,1],jr(qe,qe,w));let je=qe[3];return{point:new a.P((qe[0]/je+1)/2*this.transform.width+ri,(-qe[1]/je+1)/2*this.transform.height+ri),perspectiveRatio:.5+this.transform.cameraToCenterDistance/je*.5,isOccluded:!1,signedDistanceFromCamera:je}}getPerspectiveRatio(w,B,Q,ee,se){let qe=this.mapProjection.useSpecialProjectionForSymbols?this.mapProjection.projectTileCoordinates(B,Q,ee,se):ut(B,Q,w,se);return .5+this.transform.cameraToCenterDistance/qe.signedDistanceFromCamera*.5}isOffscreen(w,B,Q,ee){return Q<ri||w>=this.screenRightBoundary||ee<ri||B>this.screenBottomBoundary}isInsideGrid(w,B,Q,ee){return Q>=0&&w<this.gridRightBoundary&&ee>=0&&B<this.gridBottomBoundary}getViewportMatrix(){let w=a.an([]);return a.J(w,w,[-100,-100,0]),w}_projectCollisionBox(w,B,Q,ee,se,qe,je,it,yt,Ot){let Nt=new a.P(1,0),hr=new a.P(0,1),Sr=new a.P(w.anchorPointX+je[0],w.anchorPointY+je[1]);if(qe&&!se){let mr=this.projectAndGetPerspectiveRatio(Q,Sr.x+1,Sr.y,ee,yt).point.sub(it.point).unit(),Rr=Math.atan(mr.y/mr.x)+(mr.x<0?Math.PI:0),zr=Math.sin(Rr),Xr=Math.cos(Rr);Nt=new a.P(Xr,zr),hr=new a.P(-zr,Xr)}else if(!qe&&se){let mr=-this.transform.angle,Rr=Math.sin(mr),zr=Math.cos(mr);Nt=new a.P(zr,Rr),hr=new a.P(-Rr,zr)}let he=it.point,be=B;if(se){he=Sr;let mr=this.transform.zoom-Math.floor(this.transform.zoom);be=Math.pow(2,-mr),be*=this.mapProjection.getPitchedTextCorrection(this.transform,Sr,ee),Ot||(be*=a.ac(.5+it.signedDistanceFromCamera/this.transform.cameraToCenterDistance*.5,0,4))}Ot&&(he=he.add(Nt.mult(Ot.x*be)).add(hr.mult(Ot.y*be)));let Pe=w.x1*be,Oe=w.x2*be,Je=(Pe+Oe)/2,He=w.y1*be,et=w.y2*be,Mt=(He+et)/2,Dt=[{offsetX:Pe,offsetY:He},{offsetX:Je,offsetY:He},{offsetX:Oe,offsetY:He},{offsetX:Oe,offsetY:Mt},{offsetX:Oe,offsetY:et},{offsetX:Je,offsetY:et},{offsetX:Pe,offsetY:et},{offsetX:Pe,offsetY:Mt}],Ut=[];for(let{offsetX:mr,offsetY:Rr}of Dt)Ut.push(new a.P(he.x+Nt.x*mr+hr.x*Rr,he.y+Nt.y*mr+hr.y*Rr));let tr=!1;if(se){let mr=Ut.map(Rr=>this.projectAndGetPerspectiveRatio(Q,Rr.x,Rr.y,ee,yt));tr=mr.some(Rr=>!Rr.isOccluded),Ut=mr.map(Rr=>Rr.point)}else tr=!0;return{box:a.ao(Ut),allPointsOccluded:!tr}}}function nn(le,w,B){return w*(a.X/(le.tileSize*Math.pow(2,B-le.tileID.overscaledZ)))}class Wi{constructor(w,B,Q,ee){this.opacity=w?Math.max(0,Math.min(1,w.opacity+(w.placed?B:-B))):ee&&Q?1:0,this.placed=Q}isHidden(){return this.opacity===0&&!this.placed}}class Ni{constructor(w,B,Q,ee,se){this.text=new Wi(w?w.text:null,B,Q,se),this.icon=new Wi(w?w.icon:null,B,ee,se)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class _n{constructor(w,B,Q){this.text=w,this.icon=B,this.skipFade=Q}}class $i{constructor(){this.invProjMatrix=a.H(),this.viewportMatrix=a.H(),this.circles=[]}}class zn{constructor(w,B,Q,ee,se){this.bucketInstanceId=w,this.featureIndex=B,this.sourceLayerIndex=Q,this.bucketIndex=ee,this.tileID=se}}class Wn{constructor(w){this.crossSourceCollisions=w,this.maxGroupID=0,this.collisionGroups={}}get(w){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[w]){let B=++this.maxGroupID;this.collisionGroups[w]={ID:B,predicate:Q=>Q.collisionGroupID===B}}return this.collisionGroups[w]}}function It(le,w,B,Q,ee){let{horizontalAlign:se,verticalAlign:qe}=a.au(le);return new a.P(-(se-.5)*w+Q[0]*ee,-(qe-.5)*B+Q[1]*ee)}class ft{constructor(w,B,Q,ee,se,qe){this.transform=w.clone(),this.terrain=Q,this.collisionIndex=new bi(this.transform,B),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=ee,this.retainedQueryData={},this.collisionGroups=new Wn(se),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=qe,qe&&(qe.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(w){let B=this.terrain;return B?(Q,ee)=>B.getElevation(w,Q,ee):null}getBucketParts(w,B,Q,ee){let se=Q.getBucket(B),qe=Q.latestFeatureIndex;if(!se||!qe||B.id!==se.layerIds[0])return;let je=Q.collisionBoxArray,it=se.layers[0].layout,yt=se.layers[0].paint,Ot=Math.pow(2,this.transform.zoom-Q.tileID.overscaledZ),Nt=Q.tileSize/a.X,hr=Q.tileID.toUnwrapped(),Sr=this.transform.calculatePosMatrix(hr),he=it.get(\"text-pitch-alignment\")===\"map\",be=it.get(\"text-rotation-alignment\")===\"map\",Pe=nn(Q,1,this.transform.zoom),Oe=this.collisionIndex.mapProjection.translatePosition(this.transform,Q,yt.get(\"text-translate\"),yt.get(\"text-translate-anchor\")),Je=this.collisionIndex.mapProjection.translatePosition(this.transform,Q,yt.get(\"icon-translate\"),yt.get(\"icon-translate-anchor\")),He=Or(Sr,he,be,this.transform,Pe),et=null;if(he){let Dt=Nr(Sr,he,be,this.transform,Pe);et=a.L([],this.transform.labelPlaneMatrix,Dt)}this.retainedQueryData[se.bucketInstanceId]=new zn(se.bucketInstanceId,qe,se.sourceLayerIndex,se.index,Q.tileID);let Mt={bucket:se,layout:it,translationText:Oe,translationIcon:Je,posMatrix:Sr,unwrappedTileID:hr,textLabelPlaneMatrix:He,labelToScreenMatrix:et,scale:Ot,textPixelRatio:Nt,holdingForFade:Q.holdingForFade(),collisionBoxArray:je,partiallyEvaluatedTextSize:a.ag(se.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(se.sourceID)};if(ee)for(let Dt of se.sortKeyRanges){let{sortKey:Ut,symbolInstanceStart:tr,symbolInstanceEnd:mr}=Dt;w.push({sortKey:Ut,symbolInstanceStart:tr,symbolInstanceEnd:mr,parameters:Mt})}else w.push({symbolInstanceStart:0,symbolInstanceEnd:se.symbolInstances.length,parameters:Mt})}attemptAnchorPlacement(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he,be,Pe,Oe,Je,He){let et=a.aq[w.textAnchor],Mt=[w.textOffset0,w.textOffset1],Dt=It(et,Q,ee,Mt,se),Ut=this.collisionIndex.placeCollisionBox(B,hr,it,yt,Ot,je,qe,Pe,Nt.predicate,He,Dt);if((!Je||this.collisionIndex.placeCollisionBox(Je,hr,it,yt,Ot,je,qe,Oe,Nt.predicate,He,Dt).placeable)&&Ut.placeable){let tr;if(this.prevPlacement&&this.prevPlacement.variableOffsets[Sr.crossTileID]&&this.prevPlacement.placements[Sr.crossTileID]&&this.prevPlacement.placements[Sr.crossTileID].text&&(tr=this.prevPlacement.variableOffsets[Sr.crossTileID].anchor),Sr.crossTileID===0)throw new Error(\"symbolInstance.crossTileID can't be 0\");return this.variableOffsets[Sr.crossTileID]={textOffset:Mt,width:Q,height:ee,anchor:et,textBoxScale:se,prevAnchor:tr},this.markUsedJustification(he,et,Sr,be),he.allowVerticalPlacement&&(this.markUsedOrientation(he,be,Sr),this.placedOrientations[Sr.crossTileID]=be),{shift:Dt,placedGlyphBoxes:Ut}}}placeLayerBucketPart(w,B,Q){let{bucket:ee,layout:se,translationText:qe,translationIcon:je,posMatrix:it,unwrappedTileID:yt,textLabelPlaneMatrix:Ot,labelToScreenMatrix:Nt,textPixelRatio:hr,holdingForFade:Sr,collisionBoxArray:he,partiallyEvaluatedTextSize:be,collisionGroup:Pe}=w.parameters,Oe=se.get(\"text-optional\"),Je=se.get(\"icon-optional\"),He=a.ar(se,\"text-overlap\",\"text-allow-overlap\"),et=He===\"always\",Mt=a.ar(se,\"icon-overlap\",\"icon-allow-overlap\"),Dt=Mt===\"always\",Ut=se.get(\"text-rotation-alignment\")===\"map\",tr=se.get(\"text-pitch-alignment\")===\"map\",mr=se.get(\"icon-text-fit\")!==\"none\",Rr=se.get(\"symbol-z-order\")===\"viewport-y\",zr=et&&(Dt||!ee.hasIconData()||Je),Xr=Dt&&(et||!ee.hasTextData()||Oe);!ee.collisionArrays&&he&&ee.deserializeCollisionBoxes(he);let di=this._getTerrainElevationFunc(this.retainedQueryData[ee.bucketInstanceId].tileID),Li=(Ci,Qi,Mn)=>{var pa,ea;if(B[Ci.crossTileID])return;if(Sr)return void(this.placements[Ci.crossTileID]=new _n(!1,!1,!1));let Ga=!1,To=!1,Wa=!0,co=null,Ro={box:null,placeable:!1,offscreen:null},Ds={box:null,placeable:!1,offscreen:null},As=null,yo=null,po=null,_l=0,Hl=0,Zu=0;Qi.textFeatureIndex?_l=Qi.textFeatureIndex:Ci.useRuntimeCollisionCircles&&(_l=Ci.featureIndex),Qi.verticalTextFeatureIndex&&(Hl=Qi.verticalTextFeatureIndex);let cu=Qi.textBox;if(cu){let zl=we=>{let Be=a.ah.horizontal;if(ee.allowVerticalPlacement&&!we&&this.prevPlacement){let Ue=this.prevPlacement.placedOrientations[Ci.crossTileID];Ue&&(this.placedOrientations[Ci.crossTileID]=Ue,Be=Ue,this.markUsedOrientation(ee,Be,Ci))}return Be},Fl=(we,Be)=>{if(ee.allowVerticalPlacement&&Ci.numVerticalGlyphVertices>0&&Qi.verticalTextBox){for(let Ue of ee.writingModes)if(Ue===a.ah.vertical?(Ro=Be(),Ds=Ro):Ro=we(),Ro&&Ro.placeable)break}else Ro=we()},Z=Ci.textAnchorOffsetStartIndex,oe=Ci.textAnchorOffsetEndIndex;if(oe===Z){let we=(Be,Ue)=>{let We=this.collisionIndex.placeCollisionBox(Be,He,hr,it,yt,tr,Ut,qe,Pe.predicate,di);return We&&We.placeable&&(this.markUsedOrientation(ee,Ue,Ci),this.placedOrientations[Ci.crossTileID]=Ue),We};Fl(()=>we(cu,a.ah.horizontal),()=>{let Be=Qi.verticalTextBox;return ee.allowVerticalPlacement&&Ci.numVerticalGlyphVertices>0&&Be?we(Be,a.ah.vertical):{box:null,offscreen:null}}),zl(Ro&&Ro.placeable)}else{let we=a.aq[(ea=(pa=this.prevPlacement)===null||pa===void 0?void 0:pa.variableOffsets[Ci.crossTileID])===null||ea===void 0?void 0:ea.anchor],Be=(We,wt,tt)=>{let zt=We.x2-We.x1,or=We.y2-We.y1,lr=Ci.textBoxScale,Dr=mr&&Mt===\"never\"?wt:null,Ir=null,oi=He===\"never\"?1:2,ui=\"never\";we&&oi++;for(let qr=0;qr<oi;qr++){for(let Kr=Z;Kr<oe;Kr++){let ii=ee.textAnchorOffsets.get(Kr);if(we&&ii.textAnchor!==we)continue;let vi=this.attemptAnchorPlacement(ii,We,zt,or,lr,Ut,tr,hr,it,yt,Pe,ui,Ci,ee,tt,qe,je,Dr,di);if(vi&&(Ir=vi.placedGlyphBoxes,Ir&&Ir.placeable))return Ga=!0,co=vi.shift,Ir}we?we=null:ui=He}return Q&&!Ir&&(Ir={box:this.collisionIndex.placeCollisionBox(cu,\"always\",hr,it,yt,tr,Ut,qe,Pe.predicate,di,new a.P(0,0)).box,offscreen:!1,placeable:!1}),Ir};Fl(()=>Be(cu,Qi.iconBox,a.ah.horizontal),()=>{let We=Qi.verticalTextBox;return ee.allowVerticalPlacement&&(!Ro||!Ro.placeable)&&Ci.numVerticalGlyphVertices>0&&We?Be(We,Qi.verticalIconBox,a.ah.vertical):{box:null,occluded:!0,offscreen:null}}),Ro&&(Ga=Ro.placeable,Wa=Ro.offscreen);let Ue=zl(Ro&&Ro.placeable);if(!Ga&&this.prevPlacement){let We=this.prevPlacement.variableOffsets[Ci.crossTileID];We&&(this.variableOffsets[Ci.crossTileID]=We,this.markUsedJustification(ee,We.anchor,Ci,Ue))}}}if(As=Ro,Ga=As&&As.placeable,Wa=As&&As.offscreen,Ci.useRuntimeCollisionCircles){let zl=ee.text.placedSymbolArray.get(Ci.centerJustifiedTextSymbolIndex),Fl=a.ai(ee.textSizeData,be,zl),Z=se.get(\"text-padding\");yo=this.collisionIndex.placeCollisionCircles(He,zl,ee.lineVertexArray,ee.glyphOffsetArray,Fl,it,yt,Ot,Nt,Q,tr,Pe.predicate,Ci.collisionCircleDiameter,Z,qe,di),yo.circles.length&&yo.collisionDetected&&!Q&&a.w(\"Collisions detected, but collision boxes are not shown\"),Ga=et||yo.circles.length>0&&!yo.collisionDetected,Wa=Wa&&yo.offscreen}if(Qi.iconFeatureIndex&&(Zu=Qi.iconFeatureIndex),Qi.iconBox){let zl=Fl=>this.collisionIndex.placeCollisionBox(Fl,Mt,hr,it,yt,tr,Ut,je,Pe.predicate,di,mr&&co?co:void 0);Ds&&Ds.placeable&&Qi.verticalIconBox?(po=zl(Qi.verticalIconBox),To=po.placeable):(po=zl(Qi.iconBox),To=po.placeable),Wa=Wa&&po.offscreen}let el=Oe||Ci.numHorizontalGlyphVertices===0&&Ci.numVerticalGlyphVertices===0,au=Je||Ci.numIconVertices===0;el||au?au?el||(To=To&&Ga):Ga=To&&Ga:To=Ga=To&&Ga;let zc=To&&po.placeable;if(Ga&&As.placeable&&this.collisionIndex.insertCollisionBox(As.box,He,se.get(\"text-ignore-placement\"),ee.bucketInstanceId,Ds&&Ds.placeable&&Hl?Hl:_l,Pe.ID),zc&&this.collisionIndex.insertCollisionBox(po.box,Mt,se.get(\"icon-ignore-placement\"),ee.bucketInstanceId,Zu,Pe.ID),yo&&Ga&&this.collisionIndex.insertCollisionCircles(yo.circles,He,se.get(\"text-ignore-placement\"),ee.bucketInstanceId,_l,Pe.ID),Q&&this.storeCollisionData(ee.bucketInstanceId,Mn,Qi,As,po,yo),Ci.crossTileID===0)throw new Error(\"symbolInstance.crossTileID can't be 0\");if(ee.bucketInstanceId===0)throw new Error(\"bucket.bucketInstanceId can't be 0\");this.placements[Ci.crossTileID]=new _n(Ga||zr,To||Xr,Wa||ee.justReloaded),B[Ci.crossTileID]=!0};if(Rr){if(w.symbolInstanceStart!==0)throw new Error(\"bucket.bucketInstanceId should be 0\");let Ci=ee.getSortedSymbolIndexes(this.transform.angle);for(let Qi=Ci.length-1;Qi>=0;--Qi){let Mn=Ci[Qi];Li(ee.symbolInstances.get(Mn),ee.collisionArrays[Mn],Mn)}}else for(let Ci=w.symbolInstanceStart;Ci<w.symbolInstanceEnd;Ci++)Li(ee.symbolInstances.get(Ci),ee.collisionArrays[Ci],Ci);if(Q&&ee.bucketInstanceId in this.collisionCircleArrays){let Ci=this.collisionCircleArrays[ee.bucketInstanceId];a.as(Ci.invProjMatrix,it),Ci.viewportMatrix=this.collisionIndex.getViewportMatrix()}ee.justReloaded=!1}storeCollisionData(w,B,Q,ee,se,qe){if(Q.textBox||Q.iconBox){let je,it;this.collisionBoxArrays.has(w)?je=this.collisionBoxArrays.get(w):(je=new Map,this.collisionBoxArrays.set(w,je)),je.has(B)?it=je.get(B):(it={text:null,icon:null},je.set(B,it)),Q.textBox&&(it.text=ee.box),Q.iconBox&&(it.icon=se.box)}if(qe){let je=this.collisionCircleArrays[w];je===void 0&&(je=this.collisionCircleArrays[w]=new $i);for(let it=0;it<qe.circles.length;it+=4)je.circles.push(qe.circles[it+0]),je.circles.push(qe.circles[it+1]),je.circles.push(qe.circles[it+2]),je.circles.push(qe.collisionDetected?1:0)}}markUsedJustification(w,B,Q,ee){let se;se=ee===a.ah.vertical?Q.verticalPlacedTextSymbolIndex:{left:Q.leftJustifiedTextSymbolIndex,center:Q.centerJustifiedTextSymbolIndex,right:Q.rightJustifiedTextSymbolIndex}[a.at(B)];let qe=[Q.leftJustifiedTextSymbolIndex,Q.centerJustifiedTextSymbolIndex,Q.rightJustifiedTextSymbolIndex,Q.verticalPlacedTextSymbolIndex];for(let je of qe)je>=0&&(w.text.placedSymbolArray.get(je).crossTileID=se>=0&&je!==se?0:Q.crossTileID)}markUsedOrientation(w,B,Q){let ee=B===a.ah.horizontal||B===a.ah.horizontalOnly?B:0,se=B===a.ah.vertical?B:0,qe=[Q.leftJustifiedTextSymbolIndex,Q.centerJustifiedTextSymbolIndex,Q.rightJustifiedTextSymbolIndex];for(let je of qe)w.text.placedSymbolArray.get(je).placedOrientation=ee;Q.verticalPlacedTextSymbolIndex&&(w.text.placedSymbolArray.get(Q.verticalPlacedTextSymbolIndex).placedOrientation=se)}commit(w){this.commitTime=w,this.zoomAtLastRecencyCheck=this.transform.zoom;let B=this.prevPlacement,Q=!1;this.prevZoomAdjustment=B?B.zoomAdjustment(this.transform.zoom):0;let ee=B?B.symbolFadeChange(w):1,se=B?B.opacities:{},qe=B?B.variableOffsets:{},je=B?B.placedOrientations:{};for(let it in this.placements){let yt=this.placements[it],Ot=se[it];Ot?(this.opacities[it]=new Ni(Ot,ee,yt.text,yt.icon),Q=Q||yt.text!==Ot.text.placed||yt.icon!==Ot.icon.placed):(this.opacities[it]=new Ni(null,ee,yt.text,yt.icon,yt.skipFade),Q=Q||yt.text||yt.icon)}for(let it in se){let yt=se[it];if(!this.opacities[it]){let Ot=new Ni(yt,ee,!1,!1);Ot.isHidden()||(this.opacities[it]=Ot,Q=Q||yt.text.placed||yt.icon.placed)}}for(let it in qe)this.variableOffsets[it]||!this.opacities[it]||this.opacities[it].isHidden()||(this.variableOffsets[it]=qe[it]);for(let it in je)this.placedOrientations[it]||!this.opacities[it]||this.opacities[it].isHidden()||(this.placedOrientations[it]=je[it]);if(B&&B.lastPlacementChangeTime===void 0)throw new Error(\"Last placement time for previous placement is not defined\");Q?this.lastPlacementChangeTime=w:typeof this.lastPlacementChangeTime!=\"number\"&&(this.lastPlacementChangeTime=B?B.lastPlacementChangeTime:w)}updateLayerOpacities(w,B){let Q={};for(let ee of B){let se=ee.getBucket(w);se&&ee.latestFeatureIndex&&w.id===se.layerIds[0]&&this.updateBucketOpacities(se,ee.tileID,Q,ee.collisionBoxArray)}}updateBucketOpacities(w,B,Q,ee){w.hasTextData()&&(w.text.opacityVertexArray.clear(),w.text.hasVisibleVertices=!1),w.hasIconData()&&(w.icon.opacityVertexArray.clear(),w.icon.hasVisibleVertices=!1),w.hasIconCollisionBoxData()&&w.iconCollisionBox.collisionVertexArray.clear(),w.hasTextCollisionBoxData()&&w.textCollisionBox.collisionVertexArray.clear();let se=w.layers[0],qe=se.layout,je=new Ni(null,0,!1,!1,!0),it=qe.get(\"text-allow-overlap\"),yt=qe.get(\"icon-allow-overlap\"),Ot=se._unevaluatedLayout.hasValue(\"text-variable-anchor\")||se._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),Nt=qe.get(\"text-rotation-alignment\")===\"map\",hr=qe.get(\"text-pitch-alignment\")===\"map\",Sr=qe.get(\"icon-text-fit\")!==\"none\",he=new Ni(null,0,it&&(yt||!w.hasIconData()||qe.get(\"icon-optional\")),yt&&(it||!w.hasTextData()||qe.get(\"text-optional\")),!0);!w.collisionArrays&&ee&&(w.hasIconCollisionBoxData()||w.hasTextCollisionBoxData())&&w.deserializeCollisionBoxes(ee);let be=(Oe,Je,He)=>{for(let et=0;et<Je/4;et++)Oe.opacityVertexArray.emplaceBack(He);Oe.hasVisibleVertices=Oe.hasVisibleVertices||He!==Pi},Pe=this.collisionBoxArrays.get(w.bucketInstanceId);for(let Oe=0;Oe<w.symbolInstances.length;Oe++){let Je=w.symbolInstances.get(Oe),{numHorizontalGlyphVertices:He,numVerticalGlyphVertices:et,crossTileID:Mt}=Je,Dt=this.opacities[Mt];Q[Mt]?Dt=je:Dt||(Dt=he,this.opacities[Mt]=Dt),Q[Mt]=!0;let Ut=Je.numIconVertices>0,tr=this.placedOrientations[Je.crossTileID],mr=tr===a.ah.vertical,Rr=tr===a.ah.horizontal||tr===a.ah.horizontalOnly;if(He>0||et>0){let Xr=Mi(Dt.text);be(w.text,He,mr?Pi:Xr),be(w.text,et,Rr?Pi:Xr);let di=Dt.text.isHidden();[Je.rightJustifiedTextSymbolIndex,Je.centerJustifiedTextSymbolIndex,Je.leftJustifiedTextSymbolIndex].forEach(Qi=>{Qi>=0&&(w.text.placedSymbolArray.get(Qi).hidden=di||mr?1:0)}),Je.verticalPlacedTextSymbolIndex>=0&&(w.text.placedSymbolArray.get(Je.verticalPlacedTextSymbolIndex).hidden=di||Rr?1:0);let Li=this.variableOffsets[Je.crossTileID];Li&&this.markUsedJustification(w,Li.anchor,Je,tr);let Ci=this.placedOrientations[Je.crossTileID];Ci&&(this.markUsedJustification(w,\"left\",Je,Ci),this.markUsedOrientation(w,Ci,Je))}if(Ut){let Xr=Mi(Dt.icon),di=!(Sr&&Je.verticalPlacedIconSymbolIndex&&mr);Je.placedIconSymbolIndex>=0&&(be(w.icon,Je.numIconVertices,di?Xr:Pi),w.icon.placedSymbolArray.get(Je.placedIconSymbolIndex).hidden=Dt.icon.isHidden()),Je.verticalPlacedIconSymbolIndex>=0&&(be(w.icon,Je.numVerticalIconVertices,di?Pi:Xr),w.icon.placedSymbolArray.get(Je.verticalPlacedIconSymbolIndex).hidden=Dt.icon.isHidden())}let zr=Pe&&Pe.has(Oe)?Pe.get(Oe):{text:null,icon:null};if(w.hasIconCollisionBoxData()||w.hasTextCollisionBoxData()){let Xr=w.collisionArrays[Oe];if(Xr){let di=new a.P(0,0);if(Xr.textBox||Xr.verticalTextBox){let Li=!0;if(Ot){let Ci=this.variableOffsets[Mt];Ci?(di=It(Ci.anchor,Ci.width,Ci.height,Ci.textOffset,Ci.textBoxScale),Nt&&di._rotate(hr?this.transform.angle:-this.transform.angle)):Li=!1}if(Xr.textBox||Xr.verticalTextBox){let Ci;Xr.textBox&&(Ci=mr),Xr.verticalTextBox&&(Ci=Rr),jt(w.textCollisionBox.collisionVertexArray,Dt.text.placed,!Li||Ci,zr.text,di.x,di.y)}}if(Xr.iconBox||Xr.verticalIconBox){let Li=!!(!Rr&&Xr.verticalIconBox),Ci;Xr.iconBox&&(Ci=Li),Xr.verticalIconBox&&(Ci=!Li),jt(w.iconCollisionBox.collisionVertexArray,Dt.icon.placed,Ci,zr.icon,Sr?di.x:0,Sr?di.y:0)}}}}if(w.sortFeatures(this.transform.angle),this.retainedQueryData[w.bucketInstanceId]&&(this.retainedQueryData[w.bucketInstanceId].featureSortOrder=w.featureSortOrder),w.hasTextData()&&w.text.opacityVertexBuffer&&w.text.opacityVertexBuffer.updateData(w.text.opacityVertexArray),w.hasIconData()&&w.icon.opacityVertexBuffer&&w.icon.opacityVertexBuffer.updateData(w.icon.opacityVertexArray),w.hasIconCollisionBoxData()&&w.iconCollisionBox.collisionVertexBuffer&&w.iconCollisionBox.collisionVertexBuffer.updateData(w.iconCollisionBox.collisionVertexArray),w.hasTextCollisionBoxData()&&w.textCollisionBox.collisionVertexBuffer&&w.textCollisionBox.collisionVertexBuffer.updateData(w.textCollisionBox.collisionVertexArray),w.text.opacityVertexArray.length!==w.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${w.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${w.text.layoutVertexArray.length}) / 4`);if(w.icon.opacityVertexArray.length!==w.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${w.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${w.icon.layoutVertexArray.length}) / 4`);if(w.bucketInstanceId in this.collisionCircleArrays){let Oe=this.collisionCircleArrays[w.bucketInstanceId];w.placementInvProjMatrix=Oe.invProjMatrix,w.placementViewportMatrix=Oe.viewportMatrix,w.collisionCircleArray=Oe.circles,delete this.collisionCircleArrays[w.bucketInstanceId]}}symbolFadeChange(w){return this.fadeDuration===0?1:(w-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(w){return Math.max(0,(this.transform.zoom-w)/1.5)}hasTransitions(w){return this.stale||w-this.lastPlacementChangeTime<this.fadeDuration}stillRecent(w,B){let Q=this.zoomAtLastRecencyCheck===B?1-this.zoomAdjustment(B):1;return this.zoomAtLastRecencyCheck=B,this.commitTime+this.fadeDuration*Q>w}setStale(){this.stale=!0}}function jt(le,w,B,Q,ee,se){Q&&Q.length!==0||(Q=[0,0,0,0]);let qe=Q[0]-ri,je=Q[1]-ri,it=Q[2]-ri,yt=Q[3]-ri;le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,qe,je),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,it,je),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,it,yt),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,qe,yt)}let Zt=Math.pow(2,25),yr=Math.pow(2,24),Fr=Math.pow(2,17),Zr=Math.pow(2,16),Vr=Math.pow(2,9),gi=Math.pow(2,8),Si=Math.pow(2,1);function Mi(le){if(le.opacity===0&&!le.placed)return 0;if(le.opacity===1&&le.placed)return 4294967295;let w=le.placed?1:0,B=Math.floor(127*le.opacity);return B*Zt+w*yr+B*Fr+w*Zr+B*Vr+w*gi+B*Si+w}let Pi=0;function Gi(){return{isOccluded:(le,w,B)=>!1,getPitchedTextCorrection:(le,w,B)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(le,w,B,Q){throw new Error(\"Not implemented.\")},translatePosition:(le,w,B,Q)=>function(ee,se,qe,je,it=!1){if(!qe[0]&&!qe[1])return[0,0];let yt=it?je===\"map\"?ee.angle:0:je===\"viewport\"?-ee.angle:0;if(yt){let Ot=Math.sin(yt),Nt=Math.cos(yt);qe=[qe[0]*Nt-qe[1]*Ot,qe[0]*Ot+qe[1]*Nt]}return[it?qe[0]:nn(se,qe[0],ee.zoom),it?qe[1]:nn(se,qe[1],ee.zoom)]}(le,w,B,Q),getCircleRadiusCorrection:le=>1}}class Ki{constructor(w){this._sortAcrossTiles=w.layout.get(\"symbol-z-order\")!==\"viewport-y\"&&!w.layout.get(\"symbol-sort-key\").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(w,B,Q,ee,se){let qe=this._bucketParts;for(;this._currentTileIndex<w.length;)if(B.getBucketParts(qe,ee,w[this._currentTileIndex],this._sortAcrossTiles),this._currentTileIndex++,se())return!0;for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,qe.sort((je,it)=>je.sortKey-it.sortKey));this._currentPartIndex<qe.length;)if(B.placeLayerBucketPart(qe[this._currentPartIndex],this._seenCrossTileIDs,Q),this._currentPartIndex++,se())return!0;return!1}}class ka{constructor(w,B,Q,ee,se,qe,je,it){this.placement=new ft(w,Gi(),B,qe,je,it),this._currentPlacementIndex=Q.length-1,this._forceFullPlacement=ee,this._showCollisionBoxes=se,this._done=!1}isDone(){return this._done}continuePlacement(w,B,Q){let ee=u.now(),se=()=>!this._forceFullPlacement&&u.now()-ee>2;for(;this._currentPlacementIndex>=0;){let qe=B[w[this._currentPlacementIndex]],je=this.placement.collisionIndex.transform.zoom;if(qe.type===\"symbol\"&&(!qe.minzoom||qe.minzoom<=je)&&(!qe.maxzoom||qe.maxzoom>je)){if(this._inProgressLayer||(this._inProgressLayer=new Ki(qe)),this._inProgressLayer.continuePlacement(Q[qe.source],this.placement,this._showCollisionBoxes,qe,se))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(w){return this.placement.commit(w),this.placement}}let jn=512/a.X/2;class la{constructor(w,B,Q){this.tileID=w,this.bucketInstanceId=Q,this._symbolsByKey={};let ee=new Map;for(let se=0;se<B.length;se++){let qe=B.get(se),je=qe.key,it=ee.get(je);it?it.push(qe):ee.set(je,[qe])}for(let[se,qe]of ee){let je={positions:qe.map(it=>({x:Math.floor(it.anchorX*jn),y:Math.floor(it.anchorY*jn)})),crossTileIDs:qe.map(it=>it.crossTileID)};if(je.positions.length>128){let it=new a.av(je.positions.length,16,Uint16Array);for(let{x:yt,y:Ot}of je.positions)it.add(yt,Ot);it.finish(),delete je.positions,je.index=it}this._symbolsByKey[se]=je}}getScaledCoordinates(w,B){let{x:Q,y:ee,z:se}=this.tileID.canonical,{x:qe,y:je,z:it}=B.canonical,yt=jn/Math.pow(2,it-se),Ot=(je*a.X+w.anchorY)*yt,Nt=ee*a.X*jn;return{x:Math.floor((qe*a.X+w.anchorX)*yt-Q*a.X*jn),y:Math.floor(Ot-Nt)}}findMatches(w,B,Q){let ee=this.tileID.canonical.z<B.canonical.z?1:Math.pow(2,this.tileID.canonical.z-B.canonical.z);for(let se=0;se<w.length;se++){let qe=w.get(se);if(qe.crossTileID)continue;let je=this._symbolsByKey[qe.key];if(!je)continue;let it=this.getScaledCoordinates(qe,B);if(je.index){let yt=je.index.range(it.x-ee,it.y-ee,it.x+ee,it.y+ee).sort();for(let Ot of yt){let Nt=je.crossTileIDs[Ot];if(!Q[Nt]){Q[Nt]=!0,qe.crossTileID=Nt;break}}}else if(je.positions)for(let yt=0;yt<je.positions.length;yt++){let Ot=je.positions[yt],Nt=je.crossTileIDs[yt];if(Math.abs(Ot.x-it.x)<=ee&&Math.abs(Ot.y-it.y)<=ee&&!Q[Nt]){Q[Nt]=!0,qe.crossTileID=Nt;break}}}}getCrossTileIDsLists(){return Object.values(this._symbolsByKey).map(({crossTileIDs:w})=>w)}}class Fa{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class Ra{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(w){let B=Math.round((w-this.lng)/360);if(B!==0)for(let Q in this.indexes){let ee=this.indexes[Q],se={};for(let qe in ee){let je=ee[qe];je.tileID=je.tileID.unwrapTo(je.tileID.wrap+B),se[je.tileID.key]=je}this.indexes[Q]=se}this.lng=w}addBucket(w,B,Q){if(this.indexes[w.overscaledZ]&&this.indexes[w.overscaledZ][w.key]){if(this.indexes[w.overscaledZ][w.key].bucketInstanceId===B.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(w.overscaledZ,this.indexes[w.overscaledZ][w.key])}for(let se=0;se<B.symbolInstances.length;se++)B.symbolInstances.get(se).crossTileID=0;this.usedCrossTileIDs[w.overscaledZ]||(this.usedCrossTileIDs[w.overscaledZ]={});let ee=this.usedCrossTileIDs[w.overscaledZ];for(let se in this.indexes){let qe=this.indexes[se];if(Number(se)>w.overscaledZ)for(let je in qe){let it=qe[je];it.tileID.isChildOf(w)&&it.findMatches(B.symbolInstances,w,ee)}else{let je=qe[w.scaledTo(Number(se)).key];je&&je.findMatches(B.symbolInstances,w,ee)}}for(let se=0;se<B.symbolInstances.length;se++){let qe=B.symbolInstances.get(se);qe.crossTileID||(qe.crossTileID=Q.generate(),ee[qe.crossTileID]=!0)}return this.indexes[w.overscaledZ]===void 0&&(this.indexes[w.overscaledZ]={}),this.indexes[w.overscaledZ][w.key]=new la(w,B.symbolInstances,B.bucketInstanceId),!0}removeBucketCrossTileIDs(w,B){for(let Q of B.getCrossTileIDsLists())for(let ee of Q)delete this.usedCrossTileIDs[w][ee]}removeStaleBuckets(w){let B=!1;for(let Q in this.indexes){let ee=this.indexes[Q];for(let se in ee)w[ee[se].bucketInstanceId]||(this.removeBucketCrossTileIDs(Q,ee[se]),delete ee[se],B=!0)}return B}}class jo{constructor(){this.layerIndexes={},this.crossTileIDs=new Fa,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}}addLayer(w,B,Q){let ee=this.layerIndexes[w.id];ee===void 0&&(ee=this.layerIndexes[w.id]=new Ra);let se=!1,qe={};ee.handleWrapJump(Q);for(let je of B){let it=je.getBucket(w);it&&w.id===it.layerIds[0]&&(it.bucketInstanceId||(it.bucketInstanceId=++this.maxBucketInstanceId),ee.addBucket(je.tileID,it,this.crossTileIDs)&&(se=!0),qe[it.bucketInstanceId]=!0)}return ee.removeStaleBuckets(qe)&&(se=!0),se}pruneUnusedLayers(w){let B={};w.forEach(Q=>{B[Q]=!0});for(let Q in this.layerIndexes)B[Q]||delete this.layerIndexes[Q]}}let oa=(le,w)=>a.t(le,w&&w.filter(B=>B.identifier!==\"source.canvas\")),Sn=a.aw();class Ha extends a.E{constructor(w,B={}){super(),this._rtlPluginLoaded=()=>{for(let Q in this.sourceCaches){let ee=this.sourceCaches[Q].getSource().type;ee!==\"vector\"&&ee!==\"geojson\"||this.sourceCaches[Q].reload()}},this.map=w,this.dispatcher=new Ee(Te(),w._getMapId()),this.dispatcher.registerMessageHandler(\"GG\",(Q,ee)=>this.getGlyphs(Q,ee)),this.dispatcher.registerMessageHandler(\"GI\",(Q,ee)=>this.getImages(Q,ee)),this.imageManager=new T,this.imageManager.setEventedParent(this),this.glyphManager=new H(w._requestManager,B.localIdeographFontFamily),this.lineAtlas=new ae(256,512),this.crossTileSymbolIndex=new jo,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new a.ax,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"SR\",a.ay()),bt().on(er,this._rtlPluginLoaded),this.on(\"data\",Q=>{if(Q.dataType!==\"source\"||Q.sourceDataType!==\"metadata\")return;let ee=this.sourceCaches[Q.sourceId];if(!ee)return;let se=ee.getSource();if(se&&se.vectorLayerIds)for(let qe in this._layers){let je=this._layers[qe];je.source===se.id&&this._validateLayer(je)}})}loadURL(w,B={},Q){this.fire(new a.k(\"dataloading\",{dataType:\"style\"})),B.validate=typeof B.validate!=\"boolean\"||B.validate;let ee=this.map._requestManager.transformRequest(w,\"Style\");this._loadStyleRequest=new AbortController;let se=this._loadStyleRequest;a.h(ee,this._loadStyleRequest).then(qe=>{this._loadStyleRequest=null,this._load(qe.data,B,Q)}).catch(qe=>{this._loadStyleRequest=null,qe&&!se.signal.aborted&&this.fire(new a.j(qe))})}loadJSON(w,B={},Q){this.fire(new a.k(\"dataloading\",{dataType:\"style\"})),this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then(()=>{this._frameRequest=null,B.validate=B.validate!==!1,this._load(w,B,Q)}).catch(()=>{})}loadEmpty(){this.fire(new a.k(\"dataloading\",{dataType:\"style\"})),this._load(Sn,{validate:!1})}_load(w,B,Q){var ee;let se=B.transformStyle?B.transformStyle(Q,w):w;if(!B.validate||!oa(this,a.u(se))){this._loaded=!0,this.stylesheet=se;for(let qe in se.sources)this.addSource(qe,se.sources[qe],{validate:!1});se.sprite?this._loadSprite(se.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(se.glyphs),this._createLayers(),this.light=new N(this.stylesheet.light),this.sky=new re(this.stylesheet.sky),this.map.setTerrain((ee=this.stylesheet.terrain)!==null&&ee!==void 0?ee:null),this.fire(new a.k(\"data\",{dataType:\"style\"})),this.fire(new a.k(\"style.load\"))}}_createLayers(){let w=a.az(this.stylesheet.layers);this.dispatcher.broadcast(\"SL\",w),this._order=w.map(B=>B.id),this._layers={},this._serializedLayers=null;for(let B of w){let Q=a.aA(B);Q.setEventedParent(this,{layer:{id:B.id}}),this._layers[B.id]=Q}}_loadSprite(w,B=!1,Q=void 0){let ee;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(se,qe,je,it){return a._(this,void 0,void 0,function*(){let yt=C(se),Ot=je>1?\"@2x\":\"\",Nt={},hr={};for(let{id:Sr,url:he}of yt){let be=qe.transformRequest(M(he,Ot,\".json\"),\"SpriteJSON\");Nt[Sr]=a.h(be,it);let Pe=qe.transformRequest(M(he,Ot,\".png\"),\"SpriteImage\");hr[Sr]=p.getImage(Pe,it)}return yield Promise.all([...Object.values(Nt),...Object.values(hr)]),function(Sr,he){return a._(this,void 0,void 0,function*(){let be={};for(let Pe in Sr){be[Pe]={};let Oe=u.getImageCanvasContext((yield he[Pe]).data),Je=(yield Sr[Pe]).data;for(let He in Je){let{width:et,height:Mt,x:Dt,y:Ut,sdf:tr,pixelRatio:mr,stretchX:Rr,stretchY:zr,content:Xr,textFitWidth:di,textFitHeight:Li}=Je[He];be[Pe][He]={data:null,pixelRatio:mr,sdf:tr,stretchX:Rr,stretchY:zr,content:Xr,textFitWidth:di,textFitHeight:Li,spriteData:{width:et,height:Mt,x:Dt,y:Ut,context:Oe}}}}return be})}(Nt,hr)})}(w,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then(se=>{if(this._spriteRequest=null,se)for(let qe in se){this._spritesImagesIds[qe]=[];let je=this._spritesImagesIds[qe]?this._spritesImagesIds[qe].filter(it=>!(it in se)):[];for(let it of je)this.imageManager.removeImage(it),this._changedImages[it]=!0;for(let it in se[qe]){let yt=qe===\"default\"?it:`${qe}:${it}`;this._spritesImagesIds[qe].push(yt),yt in this.imageManager.images?this.imageManager.updateImage(yt,se[qe][it],!1):this.imageManager.addImage(yt,se[qe][it]),B&&(this._changedImages[yt]=!0)}}}).catch(se=>{this._spriteRequest=null,ee=se,this.fire(new a.j(ee))}).finally(()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),B&&(this._changed=!0),this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"})),Q&&Q(ee)})}_unloadSprite(){for(let w of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(w),this._changedImages[w]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"}))}_validateLayer(w){let B=this.sourceCaches[w.source];if(!B)return;let Q=w.sourceLayer;if(!Q)return;let ee=B.getSource();(ee.type===\"geojson\"||ee.vectorLayerIds&&ee.vectorLayerIds.indexOf(Q)===-1)&&this.fire(new a.j(new Error(`Source layer \"${Q}\" does not exist on source \"${ee.id}\" as specified by style layer \"${w.id}\".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let w in this.sourceCaches)if(!this.sourceCaches[w].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(w,B=!1){let Q=this._serializedAllLayers();if(!w||w.length===0)return Object.values(B?a.aB(Q):Q);let ee=[];for(let se of w)if(Q[se]){let qe=B?a.aB(Q[se]):Q[se];ee.push(qe)}return ee}_serializedAllLayers(){let w=this._serializedLayers;if(w)return w;w=this._serializedLayers={};let B=Object.keys(this._layers);for(let Q of B){let ee=this._layers[Q];ee.type!==\"custom\"&&(w[Q]=ee.serialize())}return w}hasTransitions(){if(this.light&&this.light.hasTransition()||this.sky&&this.sky.hasTransition())return!0;for(let w in this.sourceCaches)if(this.sourceCaches[w].hasTransition())return!0;for(let w in this._layers)if(this._layers[w].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error(\"Style is not done loading.\")}update(w){if(!this._loaded)return;let B=this._changed;if(B){let ee=Object.keys(this._updatedLayers),se=Object.keys(this._removedLayers);(ee.length||se.length)&&this._updateWorkerLayers(ee,se);for(let qe in this._updatedSources){let je=this._updatedSources[qe];if(je===\"reload\")this._reloadSource(qe);else{if(je!==\"clear\")throw new Error(`Invalid action ${je}`);this._clearSource(qe)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let qe in this._updatedPaintProps)this._layers[qe].updateTransitions(w);this.light.updateTransitions(w),this.sky.updateTransitions(w),this._resetUpdates()}let Q={};for(let ee in this.sourceCaches){let se=this.sourceCaches[ee];Q[ee]=se.used,se.used=!1}for(let ee of this._order){let se=this._layers[ee];se.recalculate(w,this._availableImages),!se.isHidden(w.zoom)&&se.source&&(this.sourceCaches[se.source].used=!0)}for(let ee in Q){let se=this.sourceCaches[ee];!!Q[ee]!=!!se.used&&se.fire(new a.k(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:ee}))}this.light.recalculate(w),this.sky.recalculate(w),this.z=w.zoom,B&&this.fire(new a.k(\"data\",{dataType:\"style\"}))}_updateTilesForChangedImages(){let w=Object.keys(this._changedImages);if(w.length){for(let B in this.sourceCaches)this.sourceCaches[B].reloadTilesForDependencies([\"icons\",\"patterns\"],w);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let w in this.sourceCaches)this.sourceCaches[w].reloadTilesForDependencies([\"glyphs\"],[\"\"]);this._glyphsDidChange=!1}}_updateWorkerLayers(w,B){this.dispatcher.broadcast(\"UL\",{layers:this._serializeByIds(w,!1),removedIds:B})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(w,B={}){var Q;this._checkLoaded();let ee=this.serialize();if(w=B.transformStyle?B.transformStyle(ee,w):w,((Q=B.validate)===null||Q===void 0||Q)&&oa(this,a.u(w)))return!1;(w=a.aB(w)).layers=a.az(w.layers);let se=a.aC(ee,w),qe=this._getOperationsToPerform(se);if(qe.unimplemented.length>0)throw new Error(`Unimplemented: ${qe.unimplemented.join(\", \")}.`);if(qe.operations.length===0)return!1;for(let je of qe.operations)je();return this.stylesheet=w,this._serializedLayers=null,!0}_getOperationsToPerform(w){let B=[],Q=[];for(let ee of w)switch(ee.command){case\"setCenter\":case\"setZoom\":case\"setBearing\":case\"setPitch\":continue;case\"addLayer\":B.push(()=>this.addLayer.apply(this,ee.args));break;case\"removeLayer\":B.push(()=>this.removeLayer.apply(this,ee.args));break;case\"setPaintProperty\":B.push(()=>this.setPaintProperty.apply(this,ee.args));break;case\"setLayoutProperty\":B.push(()=>this.setLayoutProperty.apply(this,ee.args));break;case\"setFilter\":B.push(()=>this.setFilter.apply(this,ee.args));break;case\"addSource\":B.push(()=>this.addSource.apply(this,ee.args));break;case\"removeSource\":B.push(()=>this.removeSource.apply(this,ee.args));break;case\"setLayerZoomRange\":B.push(()=>this.setLayerZoomRange.apply(this,ee.args));break;case\"setLight\":B.push(()=>this.setLight.apply(this,ee.args));break;case\"setGeoJSONSourceData\":B.push(()=>this.setGeoJSONSourceData.apply(this,ee.args));break;case\"setGlyphs\":B.push(()=>this.setGlyphs.apply(this,ee.args));break;case\"setSprite\":B.push(()=>this.setSprite.apply(this,ee.args));break;case\"setSky\":B.push(()=>this.setSky.apply(this,ee.args));break;case\"setTerrain\":B.push(()=>this.map.setTerrain.apply(this,ee.args));break;case\"setTransition\":B.push(()=>{});break;default:Q.push(ee.command)}return{operations:B,unimplemented:Q}}addImage(w,B){if(this.getImage(w))return this.fire(new a.j(new Error(`An image named \"${w}\" already exists.`)));this.imageManager.addImage(w,B),this._afterImageUpdated(w)}updateImage(w,B){this.imageManager.updateImage(w,B)}getImage(w){return this.imageManager.getImage(w)}removeImage(w){if(!this.getImage(w))return this.fire(new a.j(new Error(`An image named \"${w}\" does not exist.`)));this.imageManager.removeImage(w),this._afterImageUpdated(w)}_afterImageUpdated(w){this._availableImages=this.imageManager.listImages(),this._changedImages[w]=!0,this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(w,B,Q={}){if(this._checkLoaded(),this.sourceCaches[w]!==void 0)throw new Error(`Source \"${w}\" already exists.`);if(!B.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(B).join(\", \")}.`);if([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(B.type)>=0&&this._validate(a.u.source,`sources.${w}`,B,null,Q))return;this.map&&this.map._collectResourceTiming&&(B.collectResourceTiming=!0);let ee=this.sourceCaches[w]=new dt(w,B,this.dispatcher);ee.style=this,ee.setEventedParent(this,()=>({isSourceLoaded:ee.loaded(),source:ee.serialize(),sourceId:w})),ee.onAdd(this.map),this._changed=!0}removeSource(w){if(this._checkLoaded(),this.sourceCaches[w]===void 0)throw new Error(\"There is no source with this ID\");for(let Q in this._layers)if(this._layers[Q].source===w)return this.fire(new a.j(new Error(`Source \"${w}\" cannot be removed while layer \"${Q}\" is using it.`)));let B=this.sourceCaches[w];delete this.sourceCaches[w],delete this._updatedSources[w],B.fire(new a.k(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:w})),B.setEventedParent(null),B.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(w,B){if(this._checkLoaded(),this.sourceCaches[w]===void 0)throw new Error(`There is no source with this ID=${w}`);let Q=this.sourceCaches[w].getSource();if(Q.type!==\"geojson\")throw new Error(`geojsonSource.type is ${Q.type}, which is !== 'geojson`);Q.setData(B),this._changed=!0}getSource(w){return this.sourceCaches[w]&&this.sourceCaches[w].getSource()}addLayer(w,B,Q={}){this._checkLoaded();let ee=w.id;if(this.getLayer(ee))return void this.fire(new a.j(new Error(`Layer \"${ee}\" already exists on this map.`)));let se;if(w.type===\"custom\"){if(oa(this,a.aD(w)))return;se=a.aA(w)}else{if(\"source\"in w&&typeof w.source==\"object\"&&(this.addSource(ee,w.source),w=a.aB(w),w=a.e(w,{source:ee})),this._validate(a.u.layer,`layers.${ee}`,w,{arrayIndex:-1},Q))return;se=a.aA(w),this._validateLayer(se),se.setEventedParent(this,{layer:{id:ee}})}let qe=B?this._order.indexOf(B):this._order.length;if(B&&qe===-1)this.fire(new a.j(new Error(`Cannot add layer \"${ee}\" before non-existing layer \"${B}\".`)));else{if(this._order.splice(qe,0,ee),this._layerOrderChanged=!0,this._layers[ee]=se,this._removedLayers[ee]&&se.source&&se.type!==\"custom\"){let je=this._removedLayers[ee];delete this._removedLayers[ee],je.type!==se.type?this._updatedSources[se.source]=\"clear\":(this._updatedSources[se.source]=\"reload\",this.sourceCaches[se.source].pause())}this._updateLayer(se),se.onAdd&&se.onAdd(this.map)}}moveLayer(w,B){if(this._checkLoaded(),this._changed=!0,!this._layers[w])return void this.fire(new a.j(new Error(`The layer '${w}' does not exist in the map's style and cannot be moved.`)));if(w===B)return;let Q=this._order.indexOf(w);this._order.splice(Q,1);let ee=B?this._order.indexOf(B):this._order.length;B&&ee===-1?this.fire(new a.j(new Error(`Cannot move layer \"${w}\" before non-existing layer \"${B}\".`))):(this._order.splice(ee,0,w),this._layerOrderChanged=!0)}removeLayer(w){this._checkLoaded();let B=this._layers[w];if(!B)return void this.fire(new a.j(new Error(`Cannot remove non-existing layer \"${w}\".`)));B.setEventedParent(null);let Q=this._order.indexOf(w);this._order.splice(Q,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[w]=B,delete this._layers[w],this._serializedLayers&&delete this._serializedLayers[w],delete this._updatedLayers[w],delete this._updatedPaintProps[w],B.onRemove&&B.onRemove(this.map)}getLayer(w){return this._layers[w]}getLayersOrder(){return[...this._order]}hasLayer(w){return w in this._layers}setLayerZoomRange(w,B,Q){this._checkLoaded();let ee=this.getLayer(w);ee?ee.minzoom===B&&ee.maxzoom===Q||(B!=null&&(ee.minzoom=B),Q!=null&&(ee.maxzoom=Q),this._updateLayer(ee)):this.fire(new a.j(new Error(`Cannot set the zoom range of non-existing layer \"${w}\".`)))}setFilter(w,B,Q={}){this._checkLoaded();let ee=this.getLayer(w);if(ee){if(!a.aE(ee.filter,B))return B==null?(ee.filter=void 0,void this._updateLayer(ee)):void(this._validate(a.u.filter,`layers.${ee.id}.filter`,B,null,Q)||(ee.filter=a.aB(B),this._updateLayer(ee)))}else this.fire(new a.j(new Error(`Cannot filter non-existing layer \"${w}\".`)))}getFilter(w){return a.aB(this.getLayer(w).filter)}setLayoutProperty(w,B,Q,ee={}){this._checkLoaded();let se=this.getLayer(w);se?a.aE(se.getLayoutProperty(B),Q)||(se.setLayoutProperty(B,Q,ee),this._updateLayer(se)):this.fire(new a.j(new Error(`Cannot style non-existing layer \"${w}\".`)))}getLayoutProperty(w,B){let Q=this.getLayer(w);if(Q)return Q.getLayoutProperty(B);this.fire(new a.j(new Error(`Cannot get style of non-existing layer \"${w}\".`)))}setPaintProperty(w,B,Q,ee={}){this._checkLoaded();let se=this.getLayer(w);se?a.aE(se.getPaintProperty(B),Q)||(se.setPaintProperty(B,Q,ee)&&this._updateLayer(se),this._changed=!0,this._updatedPaintProps[w]=!0,this._serializedLayers=null):this.fire(new a.j(new Error(`Cannot style non-existing layer \"${w}\".`)))}getPaintProperty(w,B){return this.getLayer(w).getPaintProperty(B)}setFeatureState(w,B){this._checkLoaded();let Q=w.source,ee=w.sourceLayer,se=this.sourceCaches[Q];if(se===void 0)return void this.fire(new a.j(new Error(`The source '${Q}' does not exist in the map's style.`)));let qe=se.getSource().type;qe===\"geojson\"&&ee?this.fire(new a.j(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):qe!==\"vector\"||ee?(w.id===void 0&&this.fire(new a.j(new Error(\"The feature id parameter must be provided.\"))),se.setFeatureState(ee,w.id,B)):this.fire(new a.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}removeFeatureState(w,B){this._checkLoaded();let Q=w.source,ee=this.sourceCaches[Q];if(ee===void 0)return void this.fire(new a.j(new Error(`The source '${Q}' does not exist in the map's style.`)));let se=ee.getSource().type,qe=se===\"vector\"?w.sourceLayer:void 0;se!==\"vector\"||qe?B&&typeof w.id!=\"string\"&&typeof w.id!=\"number\"?this.fire(new a.j(new Error(\"A feature id is required to remove its specific state property.\"))):ee.removeFeatureState(qe,w.id,B):this.fire(new a.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}getFeatureState(w){this._checkLoaded();let B=w.source,Q=w.sourceLayer,ee=this.sourceCaches[B];if(ee!==void 0)return ee.getSource().type!==\"vector\"||Q?(w.id===void 0&&this.fire(new a.j(new Error(\"The feature id parameter must be provided.\"))),ee.getFeatureState(Q,w.id)):void this.fire(new a.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));this.fire(new a.j(new Error(`The source '${B}' does not exist in the map's style.`)))}getTransition(){return a.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let w=a.aF(this.sourceCaches,se=>se.serialize()),B=this._serializeByIds(this._order,!0),Q=this.map.getTerrain()||void 0,ee=this.stylesheet;return a.aG({version:ee.version,name:ee.name,metadata:ee.metadata,light:ee.light,sky:ee.sky,center:ee.center,zoom:ee.zoom,bearing:ee.bearing,pitch:ee.pitch,sprite:ee.sprite,glyphs:ee.glyphs,transition:ee.transition,sources:w,layers:B,terrain:Q},se=>se!==void 0)}_updateLayer(w){this._updatedLayers[w.id]=!0,w.source&&!this._updatedSources[w.source]&&this.sourceCaches[w.source].getSource().type!==\"raster\"&&(this._updatedSources[w.source]=\"reload\",this.sourceCaches[w.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(w){let B=qe=>this._layers[qe].type===\"fill-extrusion\",Q={},ee=[];for(let qe=this._order.length-1;qe>=0;qe--){let je=this._order[qe];if(B(je)){Q[je]=qe;for(let it of w){let yt=it[je];if(yt)for(let Ot of yt)ee.push(Ot)}}}ee.sort((qe,je)=>je.intersectionZ-qe.intersectionZ);let se=[];for(let qe=this._order.length-1;qe>=0;qe--){let je=this._order[qe];if(B(je))for(let it=ee.length-1;it>=0;it--){let yt=ee[it].feature;if(Q[yt.layer.id]<qe)break;se.push(yt),ee.pop()}else for(let it of w){let yt=it[je];if(yt)for(let Ot of yt)se.push(Ot.feature)}}return se}queryRenderedFeatures(w,B,Q){B&&B.filter&&this._validate(a.u.filter,\"queryRenderedFeatures.filter\",B.filter,null,B);let ee={};if(B&&B.layers){if(!Array.isArray(B.layers))return this.fire(new a.j(new Error(\"parameters.layers must be an Array.\"))),[];for(let je of B.layers){let it=this._layers[je];if(!it)return this.fire(new a.j(new Error(`The layer '${je}' does not exist in the map's style and cannot be queried for features.`))),[];ee[it.source]=!0}}let se=[];B.availableImages=this._availableImages;let qe=this._serializedAllLayers();for(let je in this.sourceCaches)B.layers&&!ee[je]||se.push(Ce(this.sourceCaches[je],this._layers,qe,w,B,Q));return this.placement&&se.push(function(je,it,yt,Ot,Nt,hr,Sr){let he={},be=hr.queryRenderedSymbols(Ot),Pe=[];for(let Oe of Object.keys(be).map(Number))Pe.push(Sr[Oe]);Pe.sort(me);for(let Oe of Pe){let Je=Oe.featureIndex.lookupSymbolFeatures(be[Oe.bucketInstanceId],it,Oe.bucketIndex,Oe.sourceLayerIndex,Nt.filter,Nt.layers,Nt.availableImages,je);for(let He in Je){let et=he[He]=he[He]||[],Mt=Je[He];Mt.sort((Dt,Ut)=>{let tr=Oe.featureSortOrder;if(tr){let mr=tr.indexOf(Dt.featureIndex);return tr.indexOf(Ut.featureIndex)-mr}return Ut.featureIndex-Dt.featureIndex});for(let Dt of Mt)et.push(Dt)}}for(let Oe in he)he[Oe].forEach(Je=>{let He=Je.feature,et=yt[je[Oe].source].getFeatureState(He.layer[\"source-layer\"],He.id);He.source=He.layer.source,He.layer[\"source-layer\"]&&(He.sourceLayer=He.layer[\"source-layer\"]),He.state=et});return he}(this._layers,qe,this.sourceCaches,w,B,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(se)}querySourceFeatures(w,B){B&&B.filter&&this._validate(a.u.filter,\"querySourceFeatures.filter\",B.filter,null,B);let Q=this.sourceCaches[w];return Q?function(ee,se){let qe=ee.getRenderableIds().map(yt=>ee.getTileByID(yt)),je=[],it={};for(let yt=0;yt<qe.length;yt++){let Ot=qe[yt],Nt=Ot.tileID.canonical.key;it[Nt]||(it[Nt]=!0,Ot.querySourceFeatures(je,se))}return je}(Q,B):[]}getLight(){return this.light.getLight()}setLight(w,B={}){this._checkLoaded();let Q=this.light.getLight(),ee=!1;for(let qe in w)if(!a.aE(w[qe],Q[qe])){ee=!0;break}if(!ee)return;let se={now:u.now(),transition:a.e({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(w,B),this.light.updateTransitions(se)}getSky(){var w;return(w=this.stylesheet)===null||w===void 0?void 0:w.sky}setSky(w,B={}){let Q=this.getSky(),ee=!1;if(!w&&!Q)return;if(w&&!Q)ee=!0;else if(!w&&Q)ee=!0;else for(let qe in w)if(!a.aE(w[qe],Q[qe])){ee=!0;break}if(!ee)return;let se={now:u.now(),transition:a.e({duration:300,delay:0},this.stylesheet.transition)};this.stylesheet.sky=w,this.sky.setSky(w,B),this.sky.updateTransitions(se)}_validate(w,B,Q,ee,se={}){return(!se||se.validate!==!1)&&oa(this,w.call(a.u,a.e({key:B,style:this.serialize(),value:Q,styleSpec:a.v},ee)))}_remove(w=!0){this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._loadStyleRequest&&(this._loadStyleRequest.abort(),this._loadStyleRequest=null),this._spriteRequest&&(this._spriteRequest.abort(),this._spriteRequest=null),bt().off(er,this._rtlPluginLoaded);for(let B in this._layers)this._layers[B].setEventedParent(null);for(let B in this.sourceCaches){let Q=this.sourceCaches[B];Q.setEventedParent(null),Q.onRemove(this.map)}this.imageManager.setEventedParent(null),this.setEventedParent(null),w&&this.dispatcher.broadcast(\"RM\",void 0),this.dispatcher.remove(w)}_clearSource(w){this.sourceCaches[w].clearTiles()}_reloadSource(w){this.sourceCaches[w].resume(),this.sourceCaches[w].reload()}_updateSources(w){for(let B in this.sourceCaches)this.sourceCaches[B].update(w,this.map.terrain)}_generateCollisionBoxes(){for(let w in this.sourceCaches)this._reloadSource(w)}_updatePlacement(w,B,Q,ee,se=!1){let qe=!1,je=!1,it={};for(let yt of this._order){let Ot=this._layers[yt];if(Ot.type!==\"symbol\")continue;if(!it[Ot.source]){let hr=this.sourceCaches[Ot.source];it[Ot.source]=hr.getRenderableIds(!0).map(Sr=>hr.getTileByID(Sr)).sort((Sr,he)=>he.tileID.overscaledZ-Sr.tileID.overscaledZ||(Sr.tileID.isLessThan(he.tileID)?-1:1))}let Nt=this.crossTileSymbolIndex.addLayer(Ot,it[Ot.source],w.center.lng);qe=qe||Nt}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((se=se||this._layerOrderChanged||Q===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(u.now(),w.zoom))&&(this.pauseablePlacement=new ka(w,this.map.terrain,this._order,se,B,Q,ee,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,it),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(u.now()),je=!0),qe&&this.pauseablePlacement.placement.setStale()),je||qe)for(let yt of this._order){let Ot=this._layers[yt];Ot.type===\"symbol\"&&this.placement.updateLayerOpacities(Ot,it[Ot.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(u.now())}_releaseSymbolFadeTiles(){for(let w in this.sourceCaches)this.sourceCaches[w].releaseSymbolFadeTiles()}getImages(w,B){return a._(this,void 0,void 0,function*(){let Q=yield this.imageManager.getImages(B.icons);this._updateTilesForChangedImages();let ee=this.sourceCaches[B.source];return ee&&ee.setDependencies(B.tileID.key,B.type,B.icons),Q})}getGlyphs(w,B){return a._(this,void 0,void 0,function*(){let Q=yield this.glyphManager.getGlyphs(B.stacks),ee=this.sourceCaches[B.source];return ee&&ee.setDependencies(B.tileID.key,B.type,[\"\"]),Q})}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(w,B={}){this._checkLoaded(),w&&this._validate(a.u.glyphs,\"glyphs\",w,null,B)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=w,this.glyphManager.entries={},this.glyphManager.setURL(w))}addSprite(w,B,Q={},ee){this._checkLoaded();let se=[{id:w,url:B}],qe=[...C(this.stylesheet.sprite),...se];this._validate(a.u.sprite,\"sprite\",qe,null,Q)||(this.stylesheet.sprite=qe,this._loadSprite(se,!0,ee))}removeSprite(w){this._checkLoaded();let B=C(this.stylesheet.sprite);if(B.find(Q=>Q.id===w)){if(this._spritesImagesIds[w])for(let Q of this._spritesImagesIds[w])this.imageManager.removeImage(Q),this._changedImages[Q]=!0;B.splice(B.findIndex(Q=>Q.id===w),1),this.stylesheet.sprite=B.length>0?B:void 0,delete this._spritesImagesIds[w],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"}))}else this.fire(new a.j(new Error(`Sprite \"${w}\" doesn't exists on this map.`)))}getSprite(){return C(this.stylesheet.sprite)}setSprite(w,B={},Q){this._checkLoaded(),w&&this._validate(a.u.sprite,\"sprite\",w,null,B)||(this.stylesheet.sprite=w,w?this._loadSprite(w,!0,Q):(this._unloadSprite(),Q&&Q(null)))}}var oo=a.Y([{name:\"a_pos\",type:\"Int16\",components:2}]);let xn={prelude:_t(`#ifdef GL_ES\n", - "precision 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\n", - "precision 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\n", - "vec2 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\n", - "uniform 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\n", - "const 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\n", - "highp 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\n", - "return 1.0;\n", - "#endif\n", - "}float calculate_visibility(vec4 pos) {\n", - "#ifdef TERRAIN3D\n", - "vec3 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\n", - "return 1.0;\n", - "#endif\n", - "}float ele(vec2 pos) {\n", - "#ifdef TERRAIN3D\n", - "vec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n", - "#else\n", - "return 0.0;\n", - "#endif\n", - "}float get_elevation(vec2 pos) {\n", - "#ifdef TERRAIN3D\n", - "vec2 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\n", - "return 0.0;\n", - "#endif\n", - "}`),background:_t(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_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:_t(`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\n", - "gl_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:_t(`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\n", - "void 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\n", - "vec2 extrude=v_data.xy;float extrude_length=length(extrude);float antialiased_blur=v_data.z;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\n", - "gl_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\n", - "void 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\n", - "vec2 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;}}float antialiasblur=-max(1.0/u_device_pixel_ratio/(radius+stroke_width),blur);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:_t(\"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:_t(`uniform highp float u_intensity;varying vec2 v_extrude;\n", - "#pragma mapbox: define highp float weight\n", - "#define GAUSS_COEF 0.3989422804014327\n", - "void main() {\n", - "#pragma mapbox: initialize highp float weight\n", - "float 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\n", - "gl_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\n", - "const highp float ZERO=1.0/255.0/16.0;\n", - "#define GAUSS_COEF 0.3989422804014327\n", - "void main(void) {\n", - "#pragma mapbox: initialize highp float weight\n", - "#pragma mapbox: initialize mediump float radius\n", - "vec2 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,get_elevation(floor(a_pos*0.5)),1);gl_Position=u_matrix*pos;}`),heatmapTexture:_t(`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\n", - "gl_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:_t(\"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:_t(\"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:_t(\"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:_t(`#pragma mapbox: define highp vec4 color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_FragColor=color*opacity;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:_t(`varying vec2 v_pos;\n", - "#pragma mapbox: define highp vec4 outline_color\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 outline_color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "float 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\n", - "gl_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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 outline_color\n", - "#pragma mapbox: initialize lowp float opacity\n", - "gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:_t(`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\n", - "void 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", - "vec2 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\n", - "gl_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\n", - "void 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\n", - "vec2 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:_t(`#ifdef GL_ES\n", - "precision highp float;\n", - "#endif\n", - "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\n", - "void 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", - "vec2 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\n", - "gl_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\n", - "void 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\n", - "vec2 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:_t(`varying vec4 v_color;void main() {gl_FragColor=v_color;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_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\n", - "attribute vec2 a_centroid;\n", - "#endif\n", - "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\n", - "void main() {\n", - "#pragma mapbox: initialize highp float base\n", - "#pragma mapbox: initialize highp float height\n", - "#pragma mapbox: initialize highp vec4 color\n", - "vec3 normal=a_normal_ed.xyz;\n", - "#ifdef TERRAIN3D\n", - "float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n", - "#else\n", - "float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n", - "#endif\n", - "base=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:_t(`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\n", - "void 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\n", - "vec2 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\n", - "gl_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\n", - "attribute vec2 a_centroid;\n", - "#endif\n", - "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\n", - "void 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\n", - "vec2 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\n", - "float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n", - "#else\n", - "float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n", - "#endif\n", - "base=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:_t(`#ifdef GL_ES\n", - "precision highp float;\n", - "#endif\n", - "uniform 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\n", - "gl_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:_t(`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\n", - "void 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\n", - "gl_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:_t(`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\n", - "void main() {\n", - "#pragma mapbox: initialize highp vec4 color\n", - "#pragma mapbox: initialize lowp float blur\n", - "#pragma mapbox: initialize lowp float opacity\n", - "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);gl_FragColor=color*(alpha*opacity);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,`\n", - "#define scale 0.015873016\n", - "attribute 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\n", - "void 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", - "float 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\n", - "v_gamma_scale=1.0;\n", - "#else\n", - "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;\n", - "#endif\n", - "v_width2=vec2(outset,inset);}`),lineGradient:_t(`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\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float blur\n", - "#pragma mapbox: initialize lowp float opacity\n", - "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);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,`\n", - "#define scale 0.015873016\n", - "attribute 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\n", - "void 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\n", - "float 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\n", - "v_gamma_scale=1.0;\n", - "#else\n", - "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;\n", - "#endif\n", - "v_width2=vec2(outset,inset);}`),linePattern:_t(`#ifdef GL_ES\n", - "precision highp float;\n", - "#endif\n", - "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\n", - "void 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\n", - "vec2 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,`\n", - "#define scale 0.015873016\n", - "#define LINE_DISTANCE_SCALE 2.0\n", - "attribute 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\n", - "void 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\n", - "float 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\n", - "v_gamma_scale=1.0;\n", - "#else\n", - "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;\n", - "#endif\n", - "v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:_t(`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\n", - "void 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\n", - "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 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "}`,`\n", - "#define scale 0.015873016\n", - "#define LINE_DISTANCE_SCALE 2.0\n", - "attribute 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\n", - "void 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\n", - "float 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\n", - "v_gamma_scale=1.0;\n", - "#else\n", - "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;\n", - "#endif\n", - "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);}`),raster:_t(`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\n", - "gl_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:_t(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n", - "#pragma mapbox: define lowp float opacity\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float opacity\n", - "lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n", - "#ifdef OVERDRAW_INSPECTOR\n", - "gl_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\n", - "void main() {\n", - "#pragma mapbox: initialize lowp float opacity\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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:_t(`#define SDF_PX 8.0\n", - "uniform 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\n", - "void 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\n", - "float 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\n", - "gl_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\n", - "void 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\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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:_t(`#define SDF_PX 8.0\n", - "#define SDF 1.0\n", - "#define ICON 0.0\n", - "uniform 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\n", - "void 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\n", - "float 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\n", - "gl_FragColor=vec4(1.0);\n", - "#endif\n", - "return;}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\n", - "gl_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\n", - "void 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\n", - "vec2 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 ?\n", - "camera_to_anchor_distance/u_camera_to_center_distance :\n", - "u_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:_t(\"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:_t(\"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:_t(\"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:_t(\"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 _t(le,w){let B=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,Q=w.match(/attribute ([\\w]+) ([\\w]+)/g),ee=le.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),se=w.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),qe=se?se.concat(ee):ee,je={};return{fragmentSource:le=le.replace(B,(it,yt,Ot,Nt,hr)=>(je[hr]=!0,yt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - "varying ${Ot} ${Nt} ${hr};\n", - "#else\n", - "uniform ${Ot} ${Nt} u_${hr};\n", - "#endif\n", - "`:`\n", - "#ifdef HAS_UNIFORM_u_${hr}\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`)),vertexSource:w=w.replace(B,(it,yt,Ot,Nt,hr)=>{let Sr=Nt===\"float\"?\"vec2\":\"vec4\",he=hr.match(/color/)?\"color\":Sr;return je[hr]?yt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - "uniform lowp float u_${hr}_t;\n", - "attribute ${Ot} ${Sr} a_${hr};\n", - "varying ${Ot} ${Nt} ${hr};\n", - "#else\n", - "uniform ${Ot} ${Nt} u_${hr};\n", - "#endif\n", - "`:he===\"vec4\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - " ${hr} = a_${hr};\n", - "#else\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`:`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - " ${hr} = unpack_mix_${he}(a_${hr}, u_${hr}_t);\n", - "#else\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`:yt===\"define\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - "uniform lowp float u_${hr}_t;\n", - "attribute ${Ot} ${Sr} a_${hr};\n", - "#else\n", - "uniform ${Ot} ${Nt} u_${hr};\n", - "#endif\n", - "`:he===\"vec4\"?`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - " ${Ot} ${Nt} ${hr} = a_${hr};\n", - "#else\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`:`\n", - "#ifndef HAS_UNIFORM_u_${hr}\n", - " ${Ot} ${Nt} ${hr} = unpack_mix_${he}(a_${hr}, u_${hr}_t);\n", - "#else\n", - " ${Ot} ${Nt} ${hr} = u_${hr};\n", - "#endif\n", - "`}),staticAttributes:Q,staticUniforms:qe}}class br{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(w,B,Q,ee,se,qe,je,it,yt){this.context=w;let Ot=this.boundPaintVertexBuffers.length!==ee.length;for(let Nt=0;!Ot&&Nt<ee.length;Nt++)this.boundPaintVertexBuffers[Nt]!==ee[Nt]&&(Ot=!0);!this.vao||this.boundProgram!==B||this.boundLayoutVertexBuffer!==Q||Ot||this.boundIndexBuffer!==se||this.boundVertexOffset!==qe||this.boundDynamicVertexBuffer!==je||this.boundDynamicVertexBuffer2!==it||this.boundDynamicVertexBuffer3!==yt?this.freshBind(B,Q,ee,se,qe,je,it,yt):(w.bindVertexArray.set(this.vao),je&&je.bind(),se&&se.dynamicDraw&&se.bind(),it&&it.bind(),yt&&yt.bind())}freshBind(w,B,Q,ee,se,qe,je,it){let yt=w.numAttributes,Ot=this.context,Nt=Ot.gl;this.vao&&this.destroy(),this.vao=Ot.createVertexArray(),Ot.bindVertexArray.set(this.vao),this.boundProgram=w,this.boundLayoutVertexBuffer=B,this.boundPaintVertexBuffers=Q,this.boundIndexBuffer=ee,this.boundVertexOffset=se,this.boundDynamicVertexBuffer=qe,this.boundDynamicVertexBuffer2=je,this.boundDynamicVertexBuffer3=it,B.enableAttributes(Nt,w);for(let hr of Q)hr.enableAttributes(Nt,w);qe&&qe.enableAttributes(Nt,w),je&&je.enableAttributes(Nt,w),it&&it.enableAttributes(Nt,w),B.bind(),B.setVertexAttribPointers(Nt,w,se);for(let hr of Q)hr.bind(),hr.setVertexAttribPointers(Nt,w,se);qe&&(qe.bind(),qe.setVertexAttribPointers(Nt,w,se)),ee&&ee.bind(),je&&(je.bind(),je.setVertexAttribPointers(Nt,w,se)),it&&(it.bind(),it.setVertexAttribPointers(Nt,w,se)),Ot.currentNumAttributes=yt}destroy(){this.vao&&(this.context.deleteVertexArray(this.vao),this.vao=null)}}let Hr=(le,w,B,Q,ee)=>({u_matrix:le,u_texture:0,u_ele_delta:w,u_fog_matrix:B,u_fog_color:Q?Q.properties.get(\"fog-color\"):a.aM.white,u_fog_ground_blend:Q?Q.properties.get(\"fog-ground-blend\"):1,u_fog_ground_blend_opacity:Q?Q.calculateFogBlendOpacity(ee):0,u_horizon_color:Q?Q.properties.get(\"horizon-color\"):a.aM.white,u_horizon_fog_blend:Q?Q.properties.get(\"horizon-fog-blend\"):1});function ti(le){let w=[];for(let B=0;B<le.length;B++){if(le[B]===null)continue;let Q=le[B].split(\" \");w.push(Q.pop())}return w}class zi{constructor(w,B,Q,ee,se,qe){let je=w.gl;this.program=je.createProgram();let it=ti(B.staticAttributes),yt=Q?Q.getBinderAttributes():[],Ot=it.concat(yt),Nt=xn.prelude.staticUniforms?ti(xn.prelude.staticUniforms):[],hr=B.staticUniforms?ti(B.staticUniforms):[],Sr=Q?Q.getBinderUniforms():[],he=Nt.concat(hr).concat(Sr),be=[];for(let Dt of he)be.indexOf(Dt)<0&&be.push(Dt);let Pe=Q?Q.defines():[];se&&Pe.push(\"#define OVERDRAW_INSPECTOR;\"),qe&&Pe.push(\"#define TERRAIN3D;\");let Oe=Pe.concat(xn.prelude.fragmentSource,B.fragmentSource).join(`\n", - "`),Je=Pe.concat(xn.prelude.vertexSource,B.vertexSource).join(`\n", - "`),He=je.createShader(je.FRAGMENT_SHADER);if(je.isContextLost())return void(this.failedToCreate=!0);if(je.shaderSource(He,Oe),je.compileShader(He),!je.getShaderParameter(He,je.COMPILE_STATUS))throw new Error(`Could not compile fragment shader: ${je.getShaderInfoLog(He)}`);je.attachShader(this.program,He);let et=je.createShader(je.VERTEX_SHADER);if(je.isContextLost())return void(this.failedToCreate=!0);if(je.shaderSource(et,Je),je.compileShader(et),!je.getShaderParameter(et,je.COMPILE_STATUS))throw new Error(`Could not compile vertex shader: ${je.getShaderInfoLog(et)}`);je.attachShader(this.program,et),this.attributes={};let Mt={};this.numAttributes=Ot.length;for(let Dt=0;Dt<this.numAttributes;Dt++)Ot[Dt]&&(je.bindAttribLocation(this.program,Dt,Ot[Dt]),this.attributes[Ot[Dt]]=Dt);if(je.linkProgram(this.program),!je.getProgramParameter(this.program,je.LINK_STATUS))throw new Error(`Program failed to link: ${je.getProgramInfoLog(this.program)}`);je.deleteShader(et),je.deleteShader(He);for(let Dt=0;Dt<be.length;Dt++){let Ut=be[Dt];if(Ut&&!Mt[Ut]){let tr=je.getUniformLocation(this.program,Ut);tr&&(Mt[Ut]=tr)}}this.fixedUniforms=ee(w,Mt),this.terrainUniforms=((Dt,Ut)=>({u_depth:new a.aH(Dt,Ut.u_depth),u_terrain:new a.aH(Dt,Ut.u_terrain),u_terrain_dim:new a.aI(Dt,Ut.u_terrain_dim),u_terrain_matrix:new a.aJ(Dt,Ut.u_terrain_matrix),u_terrain_unpack:new a.aK(Dt,Ut.u_terrain_unpack),u_terrain_exaggeration:new a.aI(Dt,Ut.u_terrain_exaggeration)}))(w,Mt),this.binderUniforms=Q?Q.getUniforms(w,Mt):[]}draw(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he,be,Pe,Oe,Je){let He=w.gl;if(this.failedToCreate)return;if(w.program.set(this.program),w.setDepthMode(Q),w.setStencilMode(ee),w.setColorMode(se),w.setCullFace(qe),it){w.activeTexture.set(He.TEXTURE2),He.bindTexture(He.TEXTURE_2D,it.depthTexture),w.activeTexture.set(He.TEXTURE3),He.bindTexture(He.TEXTURE_2D,it.texture);for(let Mt in this.terrainUniforms)this.terrainUniforms[Mt].set(it[Mt])}for(let Mt in this.fixedUniforms)this.fixedUniforms[Mt].set(je[Mt]);be&&be.setUniforms(w,this.binderUniforms,Sr,{zoom:he});let et=0;switch(B){case He.LINES:et=2;break;case He.TRIANGLES:et=3;break;case He.LINE_STRIP:et=1}for(let Mt of hr.get()){let Dt=Mt.vaos||(Mt.vaos={});(Dt[yt]||(Dt[yt]=new br)).bind(w,this,Ot,be?be.getPaintVertexBuffers():[],Nt,Mt.vertexOffset,Pe,Oe,Je),He.drawElements(B,Mt.primitiveLength*et,He.UNSIGNED_SHORT,Mt.primitiveOffset*et*2)}}}function Yi(le,w,B){let Q=1/nn(B,1,w.transform.tileZoom),ee=Math.pow(2,B.tileID.overscaledZ),se=B.tileSize*Math.pow(2,w.transform.tileZoom)/ee,qe=se*(B.tileID.canonical.x+B.tileID.wrap*ee),je=se*B.tileID.canonical.y;return{u_image:0,u_texsize:B.imageAtlasTexture.size,u_scale:[Q,le.fromScale,le.toScale],u_fade:le.t,u_pixel_coord_upper:[qe>>16,je>>16],u_pixel_coord_lower:[65535&qe,65535&je]}}let an=(le,w,B,Q)=>{let ee=w.style.light,se=ee.properties.get(\"position\"),qe=[se.x,se.y,se.z],je=function(){var yt=new a.A(9);return a.A!=Float32Array&&(yt[1]=0,yt[2]=0,yt[3]=0,yt[5]=0,yt[6]=0,yt[7]=0),yt[0]=1,yt[4]=1,yt[8]=1,yt}();ee.properties.get(\"anchor\")===\"viewport\"&&function(yt,Ot){var Nt=Math.sin(Ot),hr=Math.cos(Ot);yt[0]=hr,yt[1]=Nt,yt[2]=0,yt[3]=-Nt,yt[4]=hr,yt[5]=0,yt[6]=0,yt[7]=0,yt[8]=1}(je,-w.transform.angle),function(yt,Ot,Nt){var hr=Ot[0],Sr=Ot[1],he=Ot[2];yt[0]=hr*Nt[0]+Sr*Nt[3]+he*Nt[6],yt[1]=hr*Nt[1]+Sr*Nt[4]+he*Nt[7],yt[2]=hr*Nt[2]+Sr*Nt[5]+he*Nt[8]}(qe,qe,je);let it=ee.properties.get(\"color\");return{u_matrix:le,u_lightpos:qe,u_lightintensity:ee.properties.get(\"intensity\"),u_lightcolor:[it.r,it.g,it.b],u_vertical_gradient:+B,u_opacity:Q}},hi=(le,w,B,Q,ee,se,qe)=>a.e(an(le,w,B,Q),Yi(se,w,qe),{u_height_factor:-Math.pow(2,ee.overscaledZ)/qe.tileSize/8}),Ji=le=>({u_matrix:le}),ua=(le,w,B,Q)=>a.e(Ji(le),Yi(B,w,Q)),Fn=(le,w)=>({u_matrix:le,u_world:w}),Sa=(le,w,B,Q,ee)=>a.e(ua(le,w,B,Q),{u_world:ee}),go=(le,w,B,Q)=>{let ee=le.transform,se,qe;if(Q.paint.get(\"circle-pitch-alignment\")===\"map\"){let je=nn(B,1,ee.zoom);se=!0,qe=[je,je]}else se=!1,qe=ee.pixelsToGLUnits;return{u_camera_to_center_distance:ee.cameraToCenterDistance,u_scale_with_map:+(Q.paint.get(\"circle-pitch-scale\")===\"map\"),u_matrix:le.translatePosMatrix(w.posMatrix,B,Q.paint.get(\"circle-translate\"),Q.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+se,u_device_pixel_ratio:le.pixelRatio,u_extrude_scale:qe}},Oo=(le,w,B)=>({u_matrix:le,u_inv_matrix:w,u_camera_to_center_distance:B.cameraToCenterDistance,u_viewport_size:[B.width,B.height]}),ho=(le,w,B=1)=>({u_matrix:le,u_color:w,u_overlay:0,u_overlay_scale:B}),Mo=le=>({u_matrix:le}),xo=(le,w,B,Q)=>({u_matrix:le,u_extrude_scale:nn(w,1,B),u_intensity:Q}),zs=(le,w,B,Q)=>{let ee=a.H();a.aP(ee,0,le.width,le.height,0,0,1);let se=le.context.gl;return{u_matrix:ee,u_world:[se.drawingBufferWidth,se.drawingBufferHeight],u_image:B,u_color_ramp:Q,u_opacity:w.paint.get(\"heatmap-opacity\")}};function ks(le,w){let B=Math.pow(2,w.canonical.z),Q=w.canonical.y;return[new a.Z(0,Q/B).toLngLat().lat,new a.Z(0,(Q+1)/B).toLngLat().lat]}let Zs=(le,w,B,Q)=>{let ee=le.transform;return{u_matrix:Cs(le,w,B,Q),u_ratio:1/nn(w,1,ee.zoom),u_device_pixel_ratio:le.pixelRatio,u_units_to_pixels:[1/ee.pixelsToGLUnits[0],1/ee.pixelsToGLUnits[1]]}},Xs=(le,w,B,Q,ee)=>a.e(Zs(le,w,B,ee),{u_image:0,u_image_height:Q}),wl=(le,w,B,Q,ee)=>{let se=le.transform,qe=cl(w,se);return{u_matrix:Cs(le,w,B,ee),u_texsize:w.imageAtlasTexture.size,u_ratio:1/nn(w,1,se.zoom),u_device_pixel_ratio:le.pixelRatio,u_image:0,u_scale:[qe,Q.fromScale,Q.toScale],u_fade:Q.t,u_units_to_pixels:[1/se.pixelsToGLUnits[0],1/se.pixelsToGLUnits[1]]}},os=(le,w,B,Q,ee,se)=>{let qe=le.lineAtlas,je=cl(w,le.transform),it=B.layout.get(\"line-cap\")===\"round\",yt=qe.getDash(Q.from,it),Ot=qe.getDash(Q.to,it),Nt=yt.width*ee.fromScale,hr=Ot.width*ee.toScale;return a.e(Zs(le,w,B,se),{u_patternscale_a:[je/Nt,-yt.height/2],u_patternscale_b:[je/hr,-Ot.height/2],u_sdfgamma:qe.width/(256*Math.min(Nt,hr)*le.pixelRatio)/2,u_image:0,u_tex_y_a:yt.y,u_tex_y_b:Ot.y,u_mix:ee.t})};function cl(le,w){return 1/nn(le,1,w.tileZoom)}function Cs(le,w,B,Q){return le.translatePosMatrix(Q?Q.posMatrix:w.tileID.posMatrix,w,B.paint.get(\"line-translate\"),B.paint.get(\"line-translate-anchor\"))}let ml=(le,w,B,Q,ee)=>{return{u_matrix:le,u_tl_parent:w,u_scale_parent:B,u_buffer_scale:1,u_fade_t:Q.mix,u_opacity:Q.opacity*ee.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:ee.paint.get(\"raster-brightness-min\"),u_brightness_high:ee.paint.get(\"raster-brightness-max\"),u_saturation_factor:(qe=ee.paint.get(\"raster-saturation\"),qe>0?1-1/(1.001-qe):-qe),u_contrast_factor:(se=ee.paint.get(\"raster-contrast\"),se>0?1/(1-se):1+se),u_spin_weights:Ys(ee.paint.get(\"raster-hue-rotate\"))};var se,qe};function Ys(le){le*=Math.PI/180;let w=Math.sin(le),B=Math.cos(le);return[(2*B+1)/3,(-Math.sqrt(3)*w-B+1)/3,(Math.sqrt(3)*w-B+1)/3]}let Hs=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr)=>{let he=qe.transform;return{u_is_size_zoom_constant:+(le===\"constant\"||le===\"source\"),u_is_size_feature_constant:+(le===\"constant\"||le===\"camera\"),u_size_t:w?w.uSizeT:0,u_size:w?w.uSize:0,u_camera_to_center_distance:he.cameraToCenterDistance,u_pitch:he.pitch/360*2*Math.PI,u_rotate_symbol:+B,u_aspect_ratio:he.width/he.height,u_fade_change:qe.options.fadeDuration?qe.symbolFadeChange:1,u_matrix:je,u_label_plane_matrix:it,u_coord_matrix:yt,u_is_text:+Nt,u_pitch_with_map:+Q,u_is_along_line:ee,u_is_variable_anchor:se,u_texsize:hr,u_texture:0,u_translation:Ot,u_pitched_scale:Sr}},Eo=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he)=>{let be=qe.transform;return a.e(Hs(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,he),{u_gamma_scale:Q?Math.cos(be._pitch)*be.cameraToCenterDistance:1,u_device_pixel_ratio:qe.pixelRatio,u_is_halo:+Sr})},fs=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr)=>a.e(Eo(le,w,B,Q,ee,se,qe,je,it,yt,Ot,!0,Nt,!0,Sr),{u_texsize_icon:hr,u_texture_icon:1}),Ql=(le,w,B)=>({u_matrix:le,u_opacity:w,u_color:B}),Hu=(le,w,B,Q,ee,se)=>a.e(function(qe,je,it,yt){let Ot=it.imageManager.getPattern(qe.from.toString()),Nt=it.imageManager.getPattern(qe.to.toString()),{width:hr,height:Sr}=it.imageManager.getPixelSize(),he=Math.pow(2,yt.tileID.overscaledZ),be=yt.tileSize*Math.pow(2,it.transform.tileZoom)/he,Pe=be*(yt.tileID.canonical.x+yt.tileID.wrap*he),Oe=be*yt.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:Ot.tl,u_pattern_br_a:Ot.br,u_pattern_tl_b:Nt.tl,u_pattern_br_b:Nt.br,u_texsize:[hr,Sr],u_mix:je.t,u_pattern_size_a:Ot.displaySize,u_pattern_size_b:Nt.displaySize,u_scale_a:je.fromScale,u_scale_b:je.toScale,u_tile_units_to_pixels:1/nn(yt,1,it.transform.tileZoom),u_pixel_coord_upper:[Pe>>16,Oe>>16],u_pixel_coord_lower:[65535&Pe,65535&Oe]}}(Q,se,B,ee),{u_matrix:le,u_opacity:w}),fc={fillExtrusion:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_lightpos:new a.aN(le,w.u_lightpos),u_lightintensity:new a.aI(le,w.u_lightintensity),u_lightcolor:new a.aN(le,w.u_lightcolor),u_vertical_gradient:new a.aI(le,w.u_vertical_gradient),u_opacity:new a.aI(le,w.u_opacity)}),fillExtrusionPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_lightpos:new a.aN(le,w.u_lightpos),u_lightintensity:new a.aI(le,w.u_lightintensity),u_lightcolor:new a.aN(le,w.u_lightcolor),u_vertical_gradient:new a.aI(le,w.u_vertical_gradient),u_height_factor:new a.aI(le,w.u_height_factor),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade),u_opacity:new a.aI(le,w.u_opacity)}),fill:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix)}),fillPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),fillOutline:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world)}),fillOutlinePattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),circle:(le,w)=>({u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_scale_with_map:new a.aH(le,w.u_scale_with_map),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_extrude_scale:new a.aO(le,w.u_extrude_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_matrix:new a.aJ(le,w.u_matrix)}),collisionBox:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_pixel_extrude_scale:new a.aO(le,w.u_pixel_extrude_scale)}),collisionCircle:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_inv_matrix:new a.aJ(le,w.u_inv_matrix),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_viewport_size:new a.aO(le,w.u_viewport_size)}),debug:(le,w)=>({u_color:new a.aL(le,w.u_color),u_matrix:new a.aJ(le,w.u_matrix),u_overlay:new a.aH(le,w.u_overlay),u_overlay_scale:new a.aI(le,w.u_overlay_scale)}),clippingMask:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix)}),heatmap:(le,w)=>({u_extrude_scale:new a.aI(le,w.u_extrude_scale),u_intensity:new a.aI(le,w.u_intensity),u_matrix:new a.aJ(le,w.u_matrix)}),heatmapTexture:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world),u_image:new a.aH(le,w.u_image),u_color_ramp:new a.aH(le,w.u_color_ramp),u_opacity:new a.aI(le,w.u_opacity)}),hillshade:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_latrange:new a.aO(le,w.u_latrange),u_light:new a.aO(le,w.u_light),u_shadow:new a.aL(le,w.u_shadow),u_highlight:new a.aL(le,w.u_highlight),u_accent:new a.aL(le,w.u_accent)}),hillshadePrepare:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_dimension:new a.aO(le,w.u_dimension),u_zoom:new a.aI(le,w.u_zoom),u_unpack:new a.aK(le,w.u_unpack)}),line:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels)}),lineGradient:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_image:new a.aH(le,w.u_image),u_image_height:new a.aI(le,w.u_image_height)}),linePattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texsize:new a.aO(le,w.u_texsize),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_image:new a.aH(le,w.u_image),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),lineSDF:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_patternscale_a:new a.aO(le,w.u_patternscale_a),u_patternscale_b:new a.aO(le,w.u_patternscale_b),u_sdfgamma:new a.aI(le,w.u_sdfgamma),u_image:new a.aH(le,w.u_image),u_tex_y_a:new a.aI(le,w.u_tex_y_a),u_tex_y_b:new a.aI(le,w.u_tex_y_b),u_mix:new a.aI(le,w.u_mix)}),raster:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_tl_parent:new a.aO(le,w.u_tl_parent),u_scale_parent:new a.aI(le,w.u_scale_parent),u_buffer_scale:new a.aI(le,w.u_buffer_scale),u_fade_t:new a.aI(le,w.u_fade_t),u_opacity:new a.aI(le,w.u_opacity),u_image0:new a.aH(le,w.u_image0),u_image1:new a.aH(le,w.u_image1),u_brightness_low:new a.aI(le,w.u_brightness_low),u_brightness_high:new a.aI(le,w.u_brightness_high),u_saturation_factor:new a.aI(le,w.u_saturation_factor),u_contrast_factor:new a.aI(le,w.u_contrast_factor),u_spin_weights:new a.aN(le,w.u_spin_weights)}),symbolIcon:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texture:new a.aH(le,w.u_texture),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),symbolSDF:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texture:new a.aH(le,w.u_texture),u_gamma_scale:new a.aI(le,w.u_gamma_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_is_halo:new a.aH(le,w.u_is_halo),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),symbolTextAndIcon:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texsize_icon:new a.aO(le,w.u_texsize_icon),u_texture:new a.aH(le,w.u_texture),u_texture_icon:new a.aH(le,w.u_texture_icon),u_gamma_scale:new a.aI(le,w.u_gamma_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_is_halo:new a.aH(le,w.u_is_halo),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),background:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_opacity:new a.aI(le,w.u_opacity),u_color:new a.aL(le,w.u_color)}),backgroundPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_opacity:new a.aI(le,w.u_opacity),u_image:new a.aH(le,w.u_image),u_pattern_tl_a:new a.aO(le,w.u_pattern_tl_a),u_pattern_br_a:new a.aO(le,w.u_pattern_br_a),u_pattern_tl_b:new a.aO(le,w.u_pattern_tl_b),u_pattern_br_b:new a.aO(le,w.u_pattern_br_b),u_texsize:new a.aO(le,w.u_texsize),u_mix:new a.aI(le,w.u_mix),u_pattern_size_a:new a.aO(le,w.u_pattern_size_a),u_pattern_size_b:new a.aO(le,w.u_pattern_size_b),u_scale_a:new a.aI(le,w.u_scale_a),u_scale_b:new a.aI(le,w.u_scale_b),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_tile_units_to_pixels:new a.aI(le,w.u_tile_units_to_pixels)}),terrain:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texture:new a.aH(le,w.u_texture),u_ele_delta:new a.aI(le,w.u_ele_delta),u_fog_matrix:new a.aJ(le,w.u_fog_matrix),u_fog_color:new a.aL(le,w.u_fog_color),u_fog_ground_blend:new a.aI(le,w.u_fog_ground_blend),u_fog_ground_blend_opacity:new a.aI(le,w.u_fog_ground_blend_opacity),u_horizon_color:new a.aL(le,w.u_horizon_color),u_horizon_fog_blend:new a.aI(le,w.u_horizon_fog_blend)}),terrainDepth:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ele_delta:new a.aI(le,w.u_ele_delta)}),terrainCoords:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texture:new a.aH(le,w.u_texture),u_terrain_coords_id:new a.aI(le,w.u_terrain_coords_id),u_ele_delta:new a.aI(le,w.u_ele_delta)}),sky:(le,w)=>({u_sky_color:new a.aL(le,w.u_sky_color),u_horizon_color:new a.aL(le,w.u_horizon_color),u_horizon:new a.aI(le,w.u_horizon),u_sky_horizon_blend:new a.aI(le,w.u_sky_horizon_blend)})};class ms{constructor(w,B,Q){this.context=w;let ee=w.gl;this.buffer=ee.createBuffer(),this.dynamicDraw=!!Q,this.context.unbindVAO(),w.bindElementBuffer.set(this.buffer),ee.bufferData(ee.ELEMENT_ARRAY_BUFFER,B.arrayBuffer,this.dynamicDraw?ee.DYNAMIC_DRAW:ee.STATIC_DRAW),this.dynamicDraw||delete B.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(w){let B=this.context.gl;if(!this.dynamicDraw)throw new Error(\"Attempted to update data while not in dynamic mode.\");this.context.unbindVAO(),this.bind(),B.bufferSubData(B.ELEMENT_ARRAY_BUFFER,0,w.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let on={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"};class fa{constructor(w,B,Q,ee){this.length=B.length,this.attributes=Q,this.itemSize=B.bytesPerElement,this.dynamicDraw=ee,this.context=w;let se=w.gl;this.buffer=se.createBuffer(),w.bindVertexBuffer.set(this.buffer),se.bufferData(se.ARRAY_BUFFER,B.arrayBuffer,this.dynamicDraw?se.DYNAMIC_DRAW:se.STATIC_DRAW),this.dynamicDraw||delete B.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(w){if(w.length!==this.length)throw new Error(`Length of new data is ${w.length}, which doesn't match current length of ${this.length}`);let B=this.context.gl;this.bind(),B.bufferSubData(B.ARRAY_BUFFER,0,w.arrayBuffer)}enableAttributes(w,B){for(let Q=0;Q<this.attributes.length;Q++){let ee=B.attributes[this.attributes[Q].name];ee!==void 0&&w.enableVertexAttribArray(ee)}}setVertexAttribPointers(w,B,Q){for(let ee=0;ee<this.attributes.length;ee++){let se=this.attributes[ee],qe=B.attributes[se.name];qe!==void 0&&w.vertexAttribPointer(qe,se.components,w[on[se.type]],!1,this.itemSize,se.offset+this.itemSize*(Q||0))}}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let Qu=new WeakMap;function Rl(le){var w;if(Qu.has(le))return Qu.get(le);{let B=(w=le.getParameter(le.VERSION))===null||w===void 0?void 0:w.startsWith(\"WebGL 2.0\");return Qu.set(le,B),B}}class vo{constructor(w){this.gl=w.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1}get(){return this.current}set(w){}getDefault(){return this.default}setDefault(){this.set(this.default)}}class Zl extends vo{getDefault(){return a.aM.transparent}set(w){let B=this.current;(w.r!==B.r||w.g!==B.g||w.b!==B.b||w.a!==B.a||this.dirty)&&(this.gl.clearColor(w.r,w.g,w.b,w.a),this.current=w,this.dirty=!1)}}class Ks extends vo{getDefault(){return 1}set(w){(w!==this.current||this.dirty)&&(this.gl.clearDepth(w),this.current=w,this.dirty=!1)}}class Xl extends vo{getDefault(){return 0}set(w){(w!==this.current||this.dirty)&&(this.gl.clearStencil(w),this.current=w,this.dirty=!1)}}class Ec extends vo{getDefault(){return[!0,!0,!0,!0]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||w[2]!==B[2]||w[3]!==B[3]||this.dirty)&&(this.gl.colorMask(w[0],w[1],w[2],w[3]),this.current=w,this.dirty=!1)}}class Zn extends vo{getDefault(){return!0}set(w){(w!==this.current||this.dirty)&&(this.gl.depthMask(w),this.current=w,this.dirty=!1)}}class ko extends vo{getDefault(){return 255}set(w){(w!==this.current||this.dirty)&&(this.gl.stencilMask(w),this.current=w,this.dirty=!1)}}class Co extends vo{getDefault(){return{func:this.gl.ALWAYS,ref:0,mask:255}}set(w){let B=this.current;(w.func!==B.func||w.ref!==B.ref||w.mask!==B.mask||this.dirty)&&(this.gl.stencilFunc(w.func,w.ref,w.mask),this.current=w,this.dirty=!1)}}class Tl extends vo{getDefault(){let w=this.gl;return[w.KEEP,w.KEEP,w.KEEP]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||w[2]!==B[2]||this.dirty)&&(this.gl.stencilOp(w[0],w[1],w[2]),this.current=w,this.dirty=!1)}}class uf extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;w?B.enable(B.STENCIL_TEST):B.disable(B.STENCIL_TEST),this.current=w,this.dirty=!1}}class So extends vo{getDefault(){return[0,1]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||this.dirty)&&(this.gl.depthRange(w[0],w[1]),this.current=w,this.dirty=!1)}}class cf extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;w?B.enable(B.DEPTH_TEST):B.disable(B.DEPTH_TEST),this.current=w,this.dirty=!1}}class rh extends vo{getDefault(){return this.gl.LESS}set(w){(w!==this.current||this.dirty)&&(this.gl.depthFunc(w),this.current=w,this.dirty=!1)}}class Al extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;w?B.enable(B.BLEND):B.disable(B.BLEND),this.current=w,this.dirty=!1}}class Hc extends vo{getDefault(){let w=this.gl;return[w.ONE,w.ZERO]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||this.dirty)&&(this.gl.blendFunc(w[0],w[1]),this.current=w,this.dirty=!1)}}class eu extends vo{getDefault(){return a.aM.transparent}set(w){let B=this.current;(w.r!==B.r||w.g!==B.g||w.b!==B.b||w.a!==B.a||this.dirty)&&(this.gl.blendColor(w.r,w.g,w.b,w.a),this.current=w,this.dirty=!1)}}class Ls extends vo{getDefault(){return this.gl.FUNC_ADD}set(w){(w!==this.current||this.dirty)&&(this.gl.blendEquation(w),this.current=w,this.dirty=!1)}}class mu extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;w?B.enable(B.CULL_FACE):B.disable(B.CULL_FACE),this.current=w,this.dirty=!1}}class kc extends vo{getDefault(){return this.gl.BACK}set(w){(w!==this.current||this.dirty)&&(this.gl.cullFace(w),this.current=w,this.dirty=!1)}}class Of extends vo{getDefault(){return this.gl.CCW}set(w){(w!==this.current||this.dirty)&&(this.gl.frontFace(w),this.current=w,this.dirty=!1)}}class Gc extends vo{getDefault(){return null}set(w){(w!==this.current||this.dirty)&&(this.gl.useProgram(w),this.current=w,this.dirty=!1)}}class vd extends vo{getDefault(){return this.gl.TEXTURE0}set(w){(w!==this.current||this.dirty)&&(this.gl.activeTexture(w),this.current=w,this.dirty=!1)}}class Bf extends vo{getDefault(){let w=this.gl;return[0,0,w.drawingBufferWidth,w.drawingBufferHeight]}set(w){let B=this.current;(w[0]!==B[0]||w[1]!==B[1]||w[2]!==B[2]||w[3]!==B[3]||this.dirty)&&(this.gl.viewport(w[0],w[1],w[2],w[3]),this.current=w,this.dirty=!1)}}class ss extends vo{getDefault(){return null}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.bindFramebuffer(B.FRAMEBUFFER,w),this.current=w,this.dirty=!1}}class ff extends vo{getDefault(){return null}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.bindRenderbuffer(B.RENDERBUFFER,w),this.current=w,this.dirty=!1}}class ih extends vo{getDefault(){return null}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.bindTexture(B.TEXTURE_2D,w),this.current=w,this.dirty=!1}}class Vl extends vo{getDefault(){return null}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.bindBuffer(B.ARRAY_BUFFER,w),this.current=w,this.dirty=!1}}class Js extends vo{getDefault(){return null}set(w){let B=this.gl;B.bindBuffer(B.ELEMENT_ARRAY_BUFFER,w),this.current=w,this.dirty=!1}}class hc extends vo{getDefault(){return null}set(w){var B;if(w===this.current&&!this.dirty)return;let Q=this.gl;Rl(Q)?Q.bindVertexArray(w):(B=Q.getExtension(\"OES_vertex_array_object\"))===null||B===void 0||B.bindVertexArrayOES(w),this.current=w,this.dirty=!1}}class Cc extends vo{getDefault(){return 4}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.pixelStorei(B.UNPACK_ALIGNMENT,w),this.current=w,this.dirty=!1}}class ws extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.pixelStorei(B.UNPACK_PREMULTIPLY_ALPHA_WEBGL,w),this.current=w,this.dirty=!1}}class $s extends vo{getDefault(){return!1}set(w){if(w===this.current&&!this.dirty)return;let B=this.gl;B.pixelStorei(B.UNPACK_FLIP_Y_WEBGL,w),this.current=w,this.dirty=!1}}class hs extends vo{constructor(w,B){super(w),this.context=w,this.parent=B}getDefault(){return null}}class Ms extends hs{setDirty(){this.dirty=!0}set(w){if(w===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let B=this.gl;B.framebufferTexture2D(B.FRAMEBUFFER,B.COLOR_ATTACHMENT0,B.TEXTURE_2D,w,0),this.current=w,this.dirty=!1}}class dc extends hs{set(w){if(w===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let B=this.gl;B.framebufferRenderbuffer(B.FRAMEBUFFER,B.DEPTH_ATTACHMENT,B.RENDERBUFFER,w),this.current=w,this.dirty=!1}}class Sl extends hs{set(w){if(w===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let B=this.gl;B.framebufferRenderbuffer(B.FRAMEBUFFER,B.DEPTH_STENCIL_ATTACHMENT,B.RENDERBUFFER,w),this.current=w,this.dirty=!1}}class ec{constructor(w,B,Q,ee,se){this.context=w,this.width=B,this.height=Q;let qe=w.gl,je=this.framebuffer=qe.createFramebuffer();if(this.colorAttachment=new Ms(w,je),ee)this.depthAttachment=se?new Sl(w,je):new dc(w,je);else if(se)throw new Error(\"Stencil cannot be set without depth\");if(qe.checkFramebufferStatus(qe.FRAMEBUFFER)!==qe.FRAMEBUFFER_COMPLETE)throw new Error(\"Framebuffer is not complete\")}destroy(){let w=this.context.gl,B=this.colorAttachment.get();if(B&&w.deleteTexture(B),this.depthAttachment){let Q=this.depthAttachment.get();Q&&w.deleteRenderbuffer(Q)}w.deleteFramebuffer(this.framebuffer)}}class Ps{constructor(w,B,Q){this.blendFunction=w,this.blendColor=B,this.mask=Q}}Ps.Replace=[1,0],Ps.disabled=new Ps(Ps.Replace,a.aM.transparent,[!1,!1,!1,!1]),Ps.unblended=new Ps(Ps.Replace,a.aM.transparent,[!0,!0,!0,!0]),Ps.alphaBlended=new Ps([1,771],a.aM.transparent,[!0,!0,!0,!0]);class ov{constructor(w){var B,Q;if(this.gl=w,this.clearColor=new Zl(this),this.clearDepth=new Ks(this),this.clearStencil=new Xl(this),this.colorMask=new Ec(this),this.depthMask=new Zn(this),this.stencilMask=new ko(this),this.stencilFunc=new Co(this),this.stencilOp=new Tl(this),this.stencilTest=new uf(this),this.depthRange=new So(this),this.depthTest=new cf(this),this.depthFunc=new rh(this),this.blend=new Al(this),this.blendFunc=new Hc(this),this.blendColor=new eu(this),this.blendEquation=new Ls(this),this.cullFace=new mu(this),this.cullFaceSide=new kc(this),this.frontFace=new Of(this),this.program=new Gc(this),this.activeTexture=new vd(this),this.viewport=new Bf(this),this.bindFramebuffer=new ss(this),this.bindRenderbuffer=new ff(this),this.bindTexture=new ih(this),this.bindVertexBuffer=new Vl(this),this.bindElementBuffer=new Js(this),this.bindVertexArray=new hc(this),this.pixelStoreUnpack=new Cc(this),this.pixelStoreUnpackPremultiplyAlpha=new ws(this),this.pixelStoreUnpackFlipY=new $s(this),this.extTextureFilterAnisotropic=w.getExtension(\"EXT_texture_filter_anisotropic\")||w.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||w.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=w.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.maxTextureSize=w.getParameter(w.MAX_TEXTURE_SIZE),Rl(w)){this.HALF_FLOAT=w.HALF_FLOAT;let ee=w.getExtension(\"EXT_color_buffer_half_float\");this.RGBA16F=(B=w.RGBA16F)!==null&&B!==void 0?B:ee==null?void 0:ee.RGBA16F_EXT,this.RGB16F=(Q=w.RGB16F)!==null&&Q!==void 0?Q:ee==null?void 0:ee.RGB16F_EXT,w.getExtension(\"EXT_color_buffer_float\")}else{w.getExtension(\"EXT_color_buffer_half_float\"),w.getExtension(\"OES_texture_half_float_linear\");let ee=w.getExtension(\"OES_texture_half_float\");this.HALF_FLOAT=ee==null?void 0:ee.HALF_FLOAT_OES}}setDefault(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()}setDirty(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.bindVertexArray.dirty=!0,this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0}createIndexBuffer(w,B){return new ms(this,w,B)}createVertexBuffer(w,B,Q){return new fa(this,w,B,Q)}createRenderbuffer(w,B,Q){let ee=this.gl,se=ee.createRenderbuffer();return this.bindRenderbuffer.set(se),ee.renderbufferStorage(ee.RENDERBUFFER,w,B,Q),this.bindRenderbuffer.set(null),se}createFramebuffer(w,B,Q,ee){return new ec(this,w,B,Q,ee)}clear({color:w,depth:B,stencil:Q}){let ee=this.gl,se=0;w&&(se|=ee.COLOR_BUFFER_BIT,this.clearColor.set(w),this.colorMask.set([!0,!0,!0,!0])),B!==void 0&&(se|=ee.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(B),this.depthMask.set(!0)),Q!==void 0&&(se|=ee.STENCIL_BUFFER_BIT,this.clearStencil.set(Q),this.stencilMask.set(255)),ee.clear(se)}setCullFace(w){w.enable===!1?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(w.mode),this.frontFace.set(w.frontFace))}setDepthMode(w){w.func!==this.gl.ALWAYS||w.mask?(this.depthTest.set(!0),this.depthFunc.set(w.func),this.depthMask.set(w.mask),this.depthRange.set(w.range)):this.depthTest.set(!1)}setStencilMode(w){w.test.func!==this.gl.ALWAYS||w.mask?(this.stencilTest.set(!0),this.stencilMask.set(w.mask),this.stencilOp.set([w.fail,w.depthFail,w.pass]),this.stencilFunc.set({func:w.test.func,ref:w.ref,mask:w.test.mask})):this.stencilTest.set(!1)}setColorMode(w){a.aE(w.blendFunction,Ps.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(w.blendFunction),this.blendColor.set(w.blendColor)),this.colorMask.set(w.mask)}createVertexArray(){var w;return Rl(this.gl)?this.gl.createVertexArray():(w=this.gl.getExtension(\"OES_vertex_array_object\"))===null||w===void 0?void 0:w.createVertexArrayOES()}deleteVertexArray(w){var B;return Rl(this.gl)?this.gl.deleteVertexArray(w):(B=this.gl.getExtension(\"OES_vertex_array_object\"))===null||B===void 0?void 0:B.deleteVertexArrayOES(w)}unbindVAO(){this.bindVertexArray.set(null)}}class wo{constructor(w,B,Q){this.func=w,this.mask=B,this.range=Q}}wo.ReadOnly=!1,wo.ReadWrite=!0,wo.disabled=new wo(519,wo.ReadOnly,[0,1]);let Od=7680;class $o{constructor(w,B,Q,ee,se,qe){this.test=w,this.ref=B,this.mask=Q,this.fail=ee,this.depthFail=se,this.pass=qe}}$o.disabled=new $o({func:519,mask:0},0,0,Od,Od,Od);class Ja{constructor(w,B,Q){this.enable=w,this.mode=B,this.frontFace=Q}}let Ef;function tc(le,w,B,Q,ee){let se=le.context,qe=se.gl,je=le.useProgram(\"collisionBox\"),it=[],yt=0,Ot=0;for(let Oe=0;Oe<Q.length;Oe++){let Je=Q[Oe],He=w.getTile(Je).getBucket(B);if(!He)continue;let et=ee?He.textCollisionBox:He.iconCollisionBox,Mt=He.collisionCircleArray;if(Mt.length>0){let Dt=a.H();a.aQ(Dt,He.placementInvProjMatrix,le.transform.glCoordMatrix),a.aQ(Dt,Dt,He.placementViewportMatrix),it.push({circleArray:Mt,circleOffset:Ot,transform:Je.posMatrix,invTransform:Dt,coord:Je}),yt+=Mt.length/4,Ot=yt}et&&je.draw(se,qe.LINES,wo.disabled,$o.disabled,le.colorModeForRenderPass(),Ja.disabled,{u_matrix:Je.posMatrix,u_pixel_extrude_scale:[1/(Nt=le.transform).width,1/Nt.height]},le.style.map.terrain&&le.style.map.terrain.getTerrainData(Je),B.id,et.layoutVertexBuffer,et.indexBuffer,et.segments,null,le.transform.zoom,null,null,et.collisionVertexBuffer)}var Nt;if(!ee||!it.length)return;let hr=le.useProgram(\"collisionCircle\"),Sr=new a.aR;Sr.resize(4*yt),Sr._trim();let he=0;for(let Oe of it)for(let Je=0;Je<Oe.circleArray.length/4;Je++){let He=4*Je,et=Oe.circleArray[He+0],Mt=Oe.circleArray[He+1],Dt=Oe.circleArray[He+2],Ut=Oe.circleArray[He+3];Sr.emplace(he++,et,Mt,Dt,Ut,0),Sr.emplace(he++,et,Mt,Dt,Ut,1),Sr.emplace(he++,et,Mt,Dt,Ut,2),Sr.emplace(he++,et,Mt,Dt,Ut,3)}(!Ef||Ef.length<2*yt)&&(Ef=function(Oe){let Je=2*Oe,He=new a.aT;He.resize(Je),He._trim();for(let et=0;et<Je;et++){let Mt=6*et;He.uint16[Mt+0]=4*et+0,He.uint16[Mt+1]=4*et+1,He.uint16[Mt+2]=4*et+2,He.uint16[Mt+3]=4*et+2,He.uint16[Mt+4]=4*et+3,He.uint16[Mt+5]=4*et+0}return He}(yt));let be=se.createIndexBuffer(Ef,!0),Pe=se.createVertexBuffer(Sr,a.aS.members,!0);for(let Oe of it){let Je=Oo(Oe.transform,Oe.invTransform,le.transform);hr.draw(se,qe.TRIANGLES,wo.disabled,$o.disabled,le.colorModeForRenderPass(),Ja.disabled,Je,le.style.map.terrain&&le.style.map.terrain.getTerrainData(Oe.coord),B.id,Pe,be,a.a0.simpleSegment(0,2*Oe.circleOffset,Oe.circleArray.length,Oe.circleArray.length/2),null,le.transform.zoom,null,null,null)}Pe.destroy(),be.destroy()}Ja.disabled=new Ja(!1,1029,2305),Ja.backCCW=new Ja(!0,1029,2305);let uu=a.an(new Float32Array(16));function Mh(le,w,B,Q,ee,se){let{horizontalAlign:qe,verticalAlign:je}=a.au(le);return new a.P((-(qe-.5)*w/ee+Q[0])*se,(-(je-.5)*B/ee+Q[1])*se)}function jc(le,w,B,Q,ee,se){let qe=w.tileAnchorPoint.add(new a.P(w.translation[0],w.translation[1]));if(w.pitchWithMap){let je=Q.mult(se);B||(je=je.rotate(-ee));let it=qe.add(je);return ut(it.x,it.y,w.labelPlaneMatrix,w.getElevation).point}if(B){let je=lt(w.tileAnchorPoint.x+1,w.tileAnchorPoint.y,w).point.sub(le),it=Math.atan(je.y/je.x)+(je.x<0?Math.PI:0);return le.add(Q.rotate(it))}return le.add(Q)}function kf(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr){let he=le.text.placedSymbolArray,be=le.text.dynamicLayoutVertexArray,Pe=le.icon.dynamicLayoutVertexArray,Oe={};be.clear();for(let Je=0;Je<he.length;Je++){let He=he.get(Je),et=He.hidden||!He.crossTileID||le.allowVerticalPlacement&&!He.placedOrientation?null:Q[He.crossTileID];if(et){let Mt=new a.P(He.anchorX,He.anchorY),Dt={getElevation:Sr,width:ee.width,height:ee.height,labelPlaneMatrix:se,lineVertexArray:null,pitchWithMap:B,projection:Ot,projectionCache:null,tileAnchorPoint:Mt,translation:Nt,unwrappedTileID:hr},Ut=B?ut(Mt.x,Mt.y,qe,Sr):lt(Mt.x,Mt.y,Dt),tr=Ne(ee.cameraToCenterDistance,Ut.signedDistanceFromCamera),mr=a.ai(le.textSizeData,it,He)*tr/a.ap;B&&(mr*=le.tilePixelRatio/je);let{width:Rr,height:zr,anchor:Xr,textOffset:di,textBoxScale:Li}=et,Ci=Mh(Xr,Rr,zr,di,Li,mr),Qi=Ot.getPitchedTextCorrection(ee,Mt.add(new a.P(Nt[0],Nt[1])),hr),Mn=jc(Ut.point,Dt,w,Ci,ee.angle,Qi),pa=le.allowVerticalPlacement&&He.placedOrientation===a.ah.vertical?Math.PI/2:0;for(let ea=0;ea<He.numGlyphs;ea++)a.aj(be,Mn,pa);yt&&He.associatedIconIndex>=0&&(Oe[He.associatedIconIndex]={shiftedAnchor:Mn,angle:pa})}else ai(He.numGlyphs,be)}if(yt){Pe.clear();let Je=le.icon.placedSymbolArray;for(let He=0;He<Je.length;He++){let et=Je.get(He);if(et.hidden)ai(et.numGlyphs,Pe);else{let Mt=Oe[He];if(Mt)for(let Dt=0;Dt<et.numGlyphs;Dt++)a.aj(Pe,Mt.shiftedAnchor,Mt.angle);else ai(et.numGlyphs,Pe)}}le.icon.dynamicLayoutVertexBuffer.updateData(Pe)}le.text.dynamicLayoutVertexBuffer.updateData(be)}function Ml(le,w,B){return B.iconsInText&&w?\"symbolTextAndIcon\":le?\"symbolSDF\":\"symbolIcon\"}function Yh(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt){let hr=le.context,Sr=hr.gl,he=le.transform,be=Gi(),Pe=je===\"map\",Oe=it===\"map\",Je=je!==\"viewport\"&&B.layout.get(\"symbol-placement\")!==\"point\",He=Pe&&!Oe&&!Je,et=!Oe&&Je,Mt=!B.layout.get(\"symbol-sort-key\").isConstant(),Dt=!1,Ut=le.depthModeForSublayer(0,wo.ReadOnly),tr=B._unevaluatedLayout.hasValue(\"text-variable-anchor\")||B._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),mr=[],Rr=be.getCircleRadiusCorrection(he);for(let zr of Q){let Xr=w.getTile(zr),di=Xr.getBucket(B);if(!di)continue;let Li=ee?di.text:di.icon;if(!Li||!Li.segments.get().length||!Li.hasVisibleVertices)continue;let Ci=Li.programConfigurations.get(B.id),Qi=ee||di.sdfIcons,Mn=ee?di.textSizeData:di.iconSizeData,pa=Oe||he.pitch!==0,ea=le.useProgram(Ml(Qi,ee,di),Ci),Ga=a.ag(Mn,he.zoom),To=le.style.map.terrain&&le.style.map.terrain.getTerrainData(zr),Wa,co,Ro,Ds,As=[0,0],yo=null;if(ee)co=Xr.glyphAtlasTexture,Ro=Sr.LINEAR,Wa=Xr.glyphAtlasTexture.size,di.iconsInText&&(As=Xr.imageAtlasTexture.size,yo=Xr.imageAtlasTexture,Ds=pa||le.options.rotating||le.options.zooming||Mn.kind===\"composite\"||Mn.kind===\"camera\"?Sr.LINEAR:Sr.NEAREST);else{let We=B.layout.get(\"icon-size\").constantOr(0)!==1||di.iconsNeedLinear;co=Xr.imageAtlasTexture,Ro=Qi||le.options.rotating||le.options.zooming||We||pa?Sr.LINEAR:Sr.NEAREST,Wa=Xr.imageAtlasTexture.size}let po=nn(Xr,1,le.transform.zoom),_l=et?zr.posMatrix:uu,Hl=Or(_l,Oe,Pe,le.transform,po),Zu=Nr(_l,Oe,Pe,le.transform,po),cu=Nr(zr.posMatrix,Oe,Pe,le.transform,po),el=be.translatePosition(le.transform,Xr,se,qe),au=tr&&di.hasTextData(),zc=B.layout.get(\"icon-text-fit\")!==\"none\"&&au&&di.hasIconData();if(Je){let We=le.style.map.terrain?(tt,zt)=>le.style.map.terrain.getElevation(zr,tt,zt):null,wt=B.layout.get(\"text-rotation-alignment\")===\"map\";Ve(di,zr.posMatrix,le,ee,Hl,cu,Oe,yt,wt,be,zr.toUnwrapped(),he.width,he.height,el,We)}let zl=zr.posMatrix,Fl=ee&&tr||zc,Z=Je||Fl?uu:Hl,oe=Zu,we=Qi&&B.paint.get(ee?\"text-halo-width\":\"icon-halo-width\").constantOr(1)!==0,Be;Be=Qi?di.iconsInText?fs(Mn.kind,Ga,He,Oe,Je,Fl,le,zl,Z,oe,el,Wa,As,Rr):Eo(Mn.kind,Ga,He,Oe,Je,Fl,le,zl,Z,oe,el,ee,Wa,!0,Rr):Hs(Mn.kind,Ga,He,Oe,Je,Fl,le,zl,Z,oe,el,ee,Wa,Rr);let Ue={program:ea,buffers:Li,uniformValues:Be,atlasTexture:co,atlasTextureIcon:yo,atlasInterpolation:Ro,atlasInterpolationIcon:Ds,isSDF:Qi,hasHalo:we};if(Mt&&di.canOverlap){Dt=!0;let We=Li.segments.get();for(let wt of We)mr.push({segments:new a.a0([wt]),sortKey:wt.sortKey,state:Ue,terrainData:To})}else mr.push({segments:Li.segments,sortKey:0,state:Ue,terrainData:To})}Dt&&mr.sort((zr,Xr)=>zr.sortKey-Xr.sortKey);for(let zr of mr){let Xr=zr.state;if(hr.activeTexture.set(Sr.TEXTURE0),Xr.atlasTexture.bind(Xr.atlasInterpolation,Sr.CLAMP_TO_EDGE),Xr.atlasTextureIcon&&(hr.activeTexture.set(Sr.TEXTURE1),Xr.atlasTextureIcon&&Xr.atlasTextureIcon.bind(Xr.atlasInterpolationIcon,Sr.CLAMP_TO_EDGE)),Xr.isSDF){let di=Xr.uniformValues;Xr.hasHalo&&(di.u_is_halo=1,Eh(Xr.buffers,zr.segments,B,le,Xr.program,Ut,Ot,Nt,di,zr.terrainData)),di.u_is_halo=0}Eh(Xr.buffers,zr.segments,B,le,Xr.program,Ut,Ot,Nt,Xr.uniformValues,zr.terrainData)}}function Eh(le,w,B,Q,ee,se,qe,je,it,yt){let Ot=Q.context;ee.draw(Ot,Ot.gl.TRIANGLES,se,qe,je,Ja.disabled,it,yt,B.id,le.layoutVertexBuffer,le.indexBuffer,w,B.paint,Q.transform.zoom,le.programConfigurations.get(B.id),le.dynamicLayoutVertexBuffer,le.opacityVertexBuffer)}function nh(le,w,B,Q){let ee=le.context,se=ee.gl,qe=$o.disabled,je=new Ps([se.ONE,se.ONE],a.aM.transparent,[!0,!0,!0,!0]),it=w.getBucket(B);if(!it)return;let yt=Q.key,Ot=B.heatmapFbos.get(yt);Ot||(Ot=kh(ee,w.tileSize,w.tileSize),B.heatmapFbos.set(yt,Ot)),ee.bindFramebuffer.set(Ot.framebuffer),ee.viewport.set([0,0,w.tileSize,w.tileSize]),ee.clear({color:a.aM.transparent});let Nt=it.programConfigurations.get(B.id),hr=le.useProgram(\"heatmap\",Nt),Sr=le.style.map.terrain.getTerrainData(Q);hr.draw(ee,se.TRIANGLES,wo.disabled,qe,je,Ja.disabled,xo(Q.posMatrix,w,le.transform.zoom,B.paint.get(\"heatmap-intensity\")),Sr,B.id,it.layoutVertexBuffer,it.indexBuffer,it.segments,B.paint,le.transform.zoom,Nt)}function hf(le,w,B){let Q=le.context,ee=Q.gl;Q.setColorMode(le.colorModeForRenderPass());let se=Kh(Q,w),qe=B.key,je=w.heatmapFbos.get(qe);je&&(Q.activeTexture.set(ee.TEXTURE0),ee.bindTexture(ee.TEXTURE_2D,je.colorAttachment.get()),Q.activeTexture.set(ee.TEXTURE1),se.bind(ee.LINEAR,ee.CLAMP_TO_EDGE),le.useProgram(\"heatmapTexture\").draw(Q,ee.TRIANGLES,wo.disabled,$o.disabled,le.colorModeForRenderPass(),Ja.disabled,zs(le,w,0,1),null,w.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments,w.paint,le.transform.zoom),je.destroy(),w.heatmapFbos.delete(qe))}function kh(le,w,B){var Q,ee;let se=le.gl,qe=se.createTexture();se.bindTexture(se.TEXTURE_2D,qe),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_S,se.CLAMP_TO_EDGE),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_T,se.CLAMP_TO_EDGE),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MIN_FILTER,se.LINEAR),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MAG_FILTER,se.LINEAR);let je=(Q=le.HALF_FLOAT)!==null&&Q!==void 0?Q:se.UNSIGNED_BYTE,it=(ee=le.RGBA16F)!==null&&ee!==void 0?ee:se.RGBA;se.texImage2D(se.TEXTURE_2D,0,it,w,B,0,se.RGBA,je,null);let yt=le.createFramebuffer(w,B,!1,!1);return yt.colorAttachment.set(qe),yt}function Kh(le,w){return w.colorRampTexture||(w.colorRampTexture=new g(le,w.colorRamp,le.gl.RGBA)),w.colorRampTexture}function rc(le,w,B,Q,ee){if(!B||!Q||!Q.imageAtlas)return;let se=Q.imageAtlas.patternPositions,qe=se[B.to.toString()],je=se[B.from.toString()];if(!qe&&je&&(qe=je),!je&&qe&&(je=qe),!qe||!je){let it=ee.getPaintProperty(w);qe=se[it],je=se[it]}qe&&je&&le.setConstantPatternPositions(qe,je)}function ah(le,w,B,Q,ee,se,qe){let je=le.context.gl,it=\"fill-pattern\",yt=B.paint.get(it),Ot=yt&&yt.constantOr(1),Nt=B.getCrossfadeParameters(),hr,Sr,he,be,Pe;qe?(Sr=Ot&&!B.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",hr=je.LINES):(Sr=Ot?\"fillPattern\":\"fill\",hr=je.TRIANGLES);let Oe=yt.constantOr(null);for(let Je of Q){let He=w.getTile(Je);if(Ot&&!He.patternsLoaded())continue;let et=He.getBucket(B);if(!et)continue;let Mt=et.programConfigurations.get(B.id),Dt=le.useProgram(Sr,Mt),Ut=le.style.map.terrain&&le.style.map.terrain.getTerrainData(Je);Ot&&(le.context.activeTexture.set(je.TEXTURE0),He.imageAtlasTexture.bind(je.LINEAR,je.CLAMP_TO_EDGE),Mt.updatePaintBuffers(Nt)),rc(Mt,it,Oe,He,B);let tr=Ut?Je:null,mr=le.translatePosMatrix(tr?tr.posMatrix:Je.posMatrix,He,B.paint.get(\"fill-translate\"),B.paint.get(\"fill-translate-anchor\"));if(qe){be=et.indexBuffer2,Pe=et.segments2;let Rr=[je.drawingBufferWidth,je.drawingBufferHeight];he=Sr===\"fillOutlinePattern\"&&Ot?Sa(mr,le,Nt,He,Rr):Fn(mr,Rr)}else be=et.indexBuffer,Pe=et.segments,he=Ot?ua(mr,le,Nt,He):Ji(mr);Dt.draw(le.context,hr,ee,le.stencilModeForClipping(Je),se,Ja.disabled,he,Ut,B.id,et.layoutVertexBuffer,be,Pe,B.paint,le.transform.zoom,Mt)}}function Wc(le,w,B,Q,ee,se,qe){let je=le.context,it=je.gl,yt=\"fill-extrusion-pattern\",Ot=B.paint.get(yt),Nt=Ot.constantOr(1),hr=B.getCrossfadeParameters(),Sr=B.paint.get(\"fill-extrusion-opacity\"),he=Ot.constantOr(null);for(let be of Q){let Pe=w.getTile(be),Oe=Pe.getBucket(B);if(!Oe)continue;let Je=le.style.map.terrain&&le.style.map.terrain.getTerrainData(be),He=Oe.programConfigurations.get(B.id),et=le.useProgram(Nt?\"fillExtrusionPattern\":\"fillExtrusion\",He);Nt&&(le.context.activeTexture.set(it.TEXTURE0),Pe.imageAtlasTexture.bind(it.LINEAR,it.CLAMP_TO_EDGE),He.updatePaintBuffers(hr)),rc(He,yt,he,Pe,B);let Mt=le.translatePosMatrix(be.posMatrix,Pe,B.paint.get(\"fill-extrusion-translate\"),B.paint.get(\"fill-extrusion-translate-anchor\")),Dt=B.paint.get(\"fill-extrusion-vertical-gradient\"),Ut=Nt?hi(Mt,le,Dt,Sr,be,hr,Pe):an(Mt,le,Dt,Sr);et.draw(je,je.gl.TRIANGLES,ee,se,qe,Ja.backCCW,Ut,Je,B.id,Oe.layoutVertexBuffer,Oe.indexBuffer,Oe.segments,B.paint,le.transform.zoom,He,le.style.map.terrain&&Oe.centroidVertexBuffer)}}function df(le,w,B,Q,ee,se,qe){let je=le.context,it=je.gl,yt=B.fbo;if(!yt)return;let Ot=le.useProgram(\"hillshade\"),Nt=le.style.map.terrain&&le.style.map.terrain.getTerrainData(w);je.activeTexture.set(it.TEXTURE0),it.bindTexture(it.TEXTURE_2D,yt.colorAttachment.get()),Ot.draw(je,it.TRIANGLES,ee,se,qe,Ja.disabled,((hr,Sr,he,be)=>{let Pe=he.paint.get(\"hillshade-shadow-color\"),Oe=he.paint.get(\"hillshade-highlight-color\"),Je=he.paint.get(\"hillshade-accent-color\"),He=he.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);he.paint.get(\"hillshade-illumination-anchor\")===\"viewport\"&&(He-=hr.transform.angle);let et=!hr.options.moving;return{u_matrix:be?be.posMatrix:hr.transform.calculatePosMatrix(Sr.tileID.toUnwrapped(),et),u_image:0,u_latrange:ks(0,Sr.tileID),u_light:[he.paint.get(\"hillshade-exaggeration\"),He],u_shadow:Pe,u_highlight:Oe,u_accent:Je}})(le,B,Q,Nt?w:null),Nt,Q.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments)}function Cu(le,w,B,Q,ee,se){let qe=le.context,je=qe.gl,it=w.dem;if(it&&it.data){let yt=it.dim,Ot=it.stride,Nt=it.getPixels();if(qe.activeTexture.set(je.TEXTURE1),qe.pixelStoreUnpackPremultiplyAlpha.set(!1),w.demTexture=w.demTexture||le.getTileTexture(Ot),w.demTexture){let Sr=w.demTexture;Sr.update(Nt,{premultiply:!1}),Sr.bind(je.NEAREST,je.CLAMP_TO_EDGE)}else w.demTexture=new g(qe,Nt,je.RGBA,{premultiply:!1}),w.demTexture.bind(je.NEAREST,je.CLAMP_TO_EDGE);qe.activeTexture.set(je.TEXTURE0);let hr=w.fbo;if(!hr){let Sr=new g(qe,{width:yt,height:yt,data:null},je.RGBA);Sr.bind(je.LINEAR,je.CLAMP_TO_EDGE),hr=w.fbo=qe.createFramebuffer(yt,yt,!0,!1),hr.colorAttachment.set(Sr.texture)}qe.bindFramebuffer.set(hr.framebuffer),qe.viewport.set([0,0,yt,yt]),le.useProgram(\"hillshadePrepare\").draw(qe,je.TRIANGLES,Q,ee,se,Ja.disabled,((Sr,he)=>{let be=he.stride,Pe=a.H();return a.aP(Pe,0,a.X,-a.X,0,0,1),a.J(Pe,Pe,[0,-a.X,0]),{u_matrix:Pe,u_image:1,u_dimension:[be,be],u_zoom:Sr.overscaledZ,u_unpack:he.getUnpackVector()}})(w.tileID,it),null,B.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments),w.needsHillshadePrepare=!1}}function Nf(le,w,B,Q,ee,se){let qe=Q.paint.get(\"raster-fade-duration\");if(!se&&qe>0){let je=u.now(),it=(je-le.timeAdded)/qe,yt=w?(je-w.timeAdded)/qe:-1,Ot=B.getSource(),Nt=ee.coveringZoomLevel({tileSize:Ot.tileSize,roundZoom:Ot.roundZoom}),hr=!w||Math.abs(w.tileID.overscaledZ-Nt)>Math.abs(le.tileID.overscaledZ-Nt),Sr=hr&&le.refreshedUponExpiration?1:a.ac(hr?it:1-yt,0,1);return le.refreshedUponExpiration&&it>=1&&(le.refreshedUponExpiration=!1),w?{opacity:1,mix:1-Sr}:{opacity:Sr,mix:0}}return{opacity:1,mix:0}}let Zc=new a.aM(1,0,0,1),ds=new a.aM(0,1,0,1),Ch=new a.aM(0,0,1,1),Bd=new a.aM(1,0,1,1),Jh=new a.aM(0,1,1,1);function Cf(le,w,B,Q){Lu(le,0,w+B/2,le.transform.width,B,Q)}function pd(le,w,B,Q){Lu(le,w-B/2,0,B,le.transform.height,Q)}function Lu(le,w,B,Q,ee,se){let qe=le.context,je=qe.gl;je.enable(je.SCISSOR_TEST),je.scissor(w*le.pixelRatio,B*le.pixelRatio,Q*le.pixelRatio,ee*le.pixelRatio),qe.clear({color:se}),je.disable(je.SCISSOR_TEST)}function $h(le,w,B){let Q=le.context,ee=Q.gl,se=B.posMatrix,qe=le.useProgram(\"debug\"),je=wo.disabled,it=$o.disabled,yt=le.colorModeForRenderPass(),Ot=\"$debug\",Nt=le.style.map.terrain&&le.style.map.terrain.getTerrainData(B);Q.activeTexture.set(ee.TEXTURE0);let hr=w.getTileByID(B.key).latestRawTileData,Sr=Math.floor((hr&&hr.byteLength||0)/1024),he=w.getTile(B).tileSize,be=512/Math.min(he,512)*(B.overscaledZ/le.transform.zoom)*.5,Pe=B.canonical.toString();B.overscaledZ!==B.canonical.z&&(Pe+=` => ${B.overscaledZ}`),function(Oe,Je){Oe.initDebugOverlayCanvas();let He=Oe.debugOverlayCanvas,et=Oe.context.gl,Mt=Oe.debugOverlayCanvas.getContext(\"2d\");Mt.clearRect(0,0,He.width,He.height),Mt.shadowColor=\"white\",Mt.shadowBlur=2,Mt.lineWidth=1.5,Mt.strokeStyle=\"white\",Mt.textBaseline=\"top\",Mt.font=\"bold 36px Open Sans, sans-serif\",Mt.fillText(Je,5,5),Mt.strokeText(Je,5,5),Oe.debugOverlayTexture.update(He),Oe.debugOverlayTexture.bind(et.LINEAR,et.CLAMP_TO_EDGE)}(le,`${Pe} ${Sr}kB`),qe.draw(Q,ee.TRIANGLES,je,it,Ps.alphaBlended,Ja.disabled,ho(se,a.aM.transparent,be),null,Ot,le.debugBuffer,le.quadTriangleIndexBuffer,le.debugSegments),qe.draw(Q,ee.LINE_STRIP,je,it,yt,Ja.disabled,ho(se,a.aM.red),Nt,Ot,le.debugBuffer,le.tileBorderIndexBuffer,le.debugSegments)}function tu(le,w,B){let Q=le.context,ee=Q.gl,se=le.colorModeForRenderPass(),qe=new wo(ee.LEQUAL,wo.ReadWrite,le.depthRangeFor3D),je=le.useProgram(\"terrain\"),it=w.getTerrainMesh();Q.bindFramebuffer.set(null),Q.viewport.set([0,0,le.width,le.height]);for(let yt of B){let Ot=le.renderToTexture.getTexture(yt),Nt=w.getTerrainData(yt.tileID);Q.activeTexture.set(ee.TEXTURE0),ee.bindTexture(ee.TEXTURE_2D,Ot.texture);let hr=le.transform.calculatePosMatrix(yt.tileID.toUnwrapped()),Sr=w.getMeshFrameDelta(le.transform.zoom),he=le.transform.calculateFogMatrix(yt.tileID.toUnwrapped()),be=Hr(hr,Sr,he,le.style.sky,le.transform.pitch);je.draw(Q,ee.TRIANGLES,qe,$o.disabled,se,Ja.backCCW,be,Nt,\"terrain\",it.vertexBuffer,it.indexBuffer,it.segments)}}class Pu{constructor(w,B,Q){this.vertexBuffer=w,this.indexBuffer=B,this.segments=Q}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class Lc{constructor(w,B){this.context=new ov(w),this.transform=B,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:a.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=dt.maxUnderzooming+dt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new jo}resize(w,B,Q){if(this.width=Math.floor(w*Q),this.height=Math.floor(B*Q),this.pixelRatio=Q,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let ee of this.style._order)this.style._layers[ee].resize()}setup(){let w=this.context,B=new a.aX;B.emplaceBack(0,0),B.emplaceBack(a.X,0),B.emplaceBack(0,a.X),B.emplaceBack(a.X,a.X),this.tileExtentBuffer=w.createVertexBuffer(B,oo.members),this.tileExtentSegments=a.a0.simpleSegment(0,0,4,2);let Q=new a.aX;Q.emplaceBack(0,0),Q.emplaceBack(a.X,0),Q.emplaceBack(0,a.X),Q.emplaceBack(a.X,a.X),this.debugBuffer=w.createVertexBuffer(Q,oo.members),this.debugSegments=a.a0.simpleSegment(0,0,4,5);let ee=new a.$;ee.emplaceBack(0,0,0,0),ee.emplaceBack(a.X,0,a.X,0),ee.emplaceBack(0,a.X,0,a.X),ee.emplaceBack(a.X,a.X,a.X,a.X),this.rasterBoundsBuffer=w.createVertexBuffer(ee,ot.members),this.rasterBoundsSegments=a.a0.simpleSegment(0,0,4,2);let se=new a.aX;se.emplaceBack(0,0),se.emplaceBack(1,0),se.emplaceBack(0,1),se.emplaceBack(1,1),this.viewportBuffer=w.createVertexBuffer(se,oo.members),this.viewportSegments=a.a0.simpleSegment(0,0,4,2);let qe=new a.aZ;qe.emplaceBack(0),qe.emplaceBack(1),qe.emplaceBack(3),qe.emplaceBack(2),qe.emplaceBack(0),this.tileBorderIndexBuffer=w.createIndexBuffer(qe);let je=new a.aY;je.emplaceBack(0,1,2),je.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=w.createIndexBuffer(je);let it=this.context.gl;this.stencilClearMode=new $o({func:it.ALWAYS,mask:0},0,255,it.ZERO,it.ZERO,it.ZERO)}clearStencil(){let w=this.context,B=w.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let Q=a.H();a.aP(Q,0,this.width,this.height,0,0,1),a.K(Q,Q,[B.drawingBufferWidth,B.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(w,B.TRIANGLES,wo.disabled,this.stencilClearMode,Ps.disabled,Ja.disabled,Mo(Q),null,\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(w,B){if(this.currentStencilSource===w.source||!w.isTileClipped()||!B||!B.length)return;this.currentStencilSource=w.source;let Q=this.context,ee=Q.gl;this.nextStencilID+B.length>256&&this.clearStencil(),Q.setColorMode(Ps.disabled),Q.setDepthMode(wo.disabled);let se=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(let qe of B){let je=this._tileClippingMaskIDs[qe.key]=this.nextStencilID++,it=this.style.map.terrain&&this.style.map.terrain.getTerrainData(qe);se.draw(Q,ee.TRIANGLES,wo.disabled,new $o({func:ee.ALWAYS,mask:0},je,255,ee.KEEP,ee.KEEP,ee.REPLACE),Ps.disabled,Ja.disabled,Mo(qe.posMatrix),it,\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let w=this.nextStencilID++,B=this.context.gl;return new $o({func:B.NOTEQUAL,mask:255},w,255,B.KEEP,B.KEEP,B.REPLACE)}stencilModeForClipping(w){let B=this.context.gl;return new $o({func:B.EQUAL,mask:255},this._tileClippingMaskIDs[w.key],0,B.KEEP,B.KEEP,B.REPLACE)}stencilConfigForOverlap(w){let B=this.context.gl,Q=w.sort((qe,je)=>je.overscaledZ-qe.overscaledZ),ee=Q[Q.length-1].overscaledZ,se=Q[0].overscaledZ-ee+1;if(se>1){this.currentStencilSource=void 0,this.nextStencilID+se>256&&this.clearStencil();let qe={};for(let je=0;je<se;je++)qe[je+ee]=new $o({func:B.GEQUAL,mask:255},je+this.nextStencilID,255,B.KEEP,B.KEEP,B.REPLACE);return this.nextStencilID+=se,[qe,Q]}return[{[ee]:$o.disabled},Q]}colorModeForRenderPass(){let w=this.context.gl;return this._showOverdrawInspector?new Ps([w.CONSTANT_COLOR,w.ONE],new a.aM(.125,.125,.125,0),[!0,!0,!0,!0]):this.renderPass===\"opaque\"?Ps.unblended:Ps.alphaBlended}depthModeForSublayer(w,B,Q){if(!this.opaquePassEnabledForLayer())return wo.disabled;let ee=1-((1+this.currentLayer)*this.numSublayers+w)*this.depthEpsilon;return new wo(Q||this.context.gl.LEQUAL,B,[ee,ee])}opaquePassEnabledForLayer(){return this.currentLayer<this.opaquePassCutoff}render(w,B){this.style=w,this.options=B,this.lineAtlas=w.lineAtlas,this.imageManager=w.imageManager,this.glyphManager=w.glyphManager,this.symbolFadeChange=w.placement.symbolFadeChange(u.now()),this.imageManager.beginFrame();let Q=this.style._order,ee=this.style.sourceCaches,se={},qe={},je={};for(let it in ee){let yt=ee[it];yt.used&&yt.prepare(this.context),se[it]=yt.getVisibleCoordinates(),qe[it]=se[it].slice().reverse(),je[it]=yt.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(let it=0;it<Q.length;it++)if(this.style._layers[Q[it]].is3D()){this.opaquePassCutoff=it;break}this.maybeDrawDepthAndCoords(!1),this.renderToTexture&&(this.renderToTexture.prepareForRender(this.style,this.transform.zoom),this.opaquePassCutoff=0),this.renderPass=\"offscreen\";for(let it of Q){let yt=this.style._layers[it];if(!yt.hasOffscreenPass()||yt.isHidden(this.transform.zoom))continue;let Ot=qe[yt.source];(yt.type===\"custom\"||Ot.length)&&this.renderLayer(this,ee[yt.source],yt,Ot)}if(this.context.bindFramebuffer.set(null),this.context.clear({color:B.showOverdrawInspector?a.aM.black:a.aM.transparent,depth:1}),this.clearStencil(),this.style.sky&&function(it,yt){let Ot=it.context,Nt=Ot.gl,hr=((Oe,Je,He)=>({u_sky_color:Oe.properties.get(\"sky-color\"),u_horizon_color:Oe.properties.get(\"horizon-color\"),u_horizon:(Je.height/2+Je.getHorizon())*He,u_sky_horizon_blend:Oe.properties.get(\"sky-horizon-blend\")*Je.height/2*He}))(yt,it.style.map.transform,it.pixelRatio),Sr=new wo(Nt.LEQUAL,wo.ReadWrite,[0,1]),he=$o.disabled,be=it.colorModeForRenderPass(),Pe=it.useProgram(\"sky\");if(!yt.mesh){let Oe=new a.aX;Oe.emplaceBack(-1,-1),Oe.emplaceBack(1,-1),Oe.emplaceBack(1,1),Oe.emplaceBack(-1,1);let Je=new a.aY;Je.emplaceBack(0,1,2),Je.emplaceBack(0,2,3),yt.mesh=new Pu(Ot.createVertexBuffer(Oe,oo.members),Ot.createIndexBuffer(Je),a.a0.simpleSegment(0,0,Oe.length,Je.length))}Pe.draw(Ot,Nt.TRIANGLES,Sr,he,be,Ja.disabled,hr,void 0,\"sky\",yt.mesh.vertexBuffer,yt.mesh.indexBuffer,yt.mesh.segments)}(this,this.style.sky),this._showOverdrawInspector=B.showOverdrawInspector,this.depthRangeFor3D=[0,1-(w._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass=\"opaque\",this.currentLayer=Q.length-1;this.currentLayer>=0;this.currentLayer--){let it=this.style._layers[Q[this.currentLayer]],yt=ee[it.source],Ot=se[it.source];this._renderTileClippingMasks(it,Ot),this.renderLayer(this,yt,it,Ot)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer<Q.length;this.currentLayer++){let it=this.style._layers[Q[this.currentLayer]],yt=ee[it.source];if(this.renderToTexture&&this.renderToTexture.renderLayer(it))continue;let Ot=(it.type===\"symbol\"?je:qe)[it.source];this._renderTileClippingMasks(it,se[it.source]),this.renderLayer(this,yt,it,Ot)}if(this.options.showTileBoundaries){let it=function(yt,Ot){let Nt=null,hr=Object.values(yt._layers).flatMap(Pe=>Pe.source&&!Pe.isHidden(Ot)?[yt.sourceCaches[Pe.source]]:[]),Sr=hr.filter(Pe=>Pe.getSource().type===\"vector\"),he=hr.filter(Pe=>Pe.getSource().type!==\"vector\"),be=Pe=>{(!Nt||Nt.getSource().maxzoom<Pe.getSource().maxzoom)&&(Nt=Pe)};return Sr.forEach(Pe=>be(Pe)),Nt||he.forEach(Pe=>be(Pe)),Nt}(this.style,this.transform.zoom);it&&function(yt,Ot,Nt){for(let hr=0;hr<Nt.length;hr++)$h(yt,Ot,Nt[hr])}(this,it,it.getVisibleCoordinates())}this.options.showPadding&&function(it){let yt=it.transform.padding;Cf(it,it.transform.height-(yt.top||0),3,Zc),Cf(it,yt.bottom||0,3,ds),pd(it,yt.left||0,3,Ch),pd(it,it.transform.width-(yt.right||0),3,Bd);let Ot=it.transform.centerPoint;(function(Nt,hr,Sr,he){Lu(Nt,hr-1,Sr-10,2,20,he),Lu(Nt,hr-10,Sr-1,20,2,he)})(it,Ot.x,it.transform.height-Ot.y,Jh)}(this),this.context.setDefault()}maybeDrawDepthAndCoords(w){if(!this.style||!this.style.map||!this.style.map.terrain)return;let B=this.terrainFacilitator.matrix,Q=this.transform.modelViewProjectionMatrix,ee=this.terrainFacilitator.dirty;ee||(ee=w?!a.a_(B,Q):!a.a$(B,Q)),ee||(ee=this.style.map.terrain.sourceCache.tilesAfterTime(this.terrainFacilitator.renderTime).length>0),ee&&(a.b0(B,Q),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(se,qe){let je=se.context,it=je.gl,yt=Ps.unblended,Ot=new wo(it.LEQUAL,wo.ReadWrite,[0,1]),Nt=qe.getTerrainMesh(),hr=qe.sourceCache.getRenderableTiles(),Sr=se.useProgram(\"terrainDepth\");je.bindFramebuffer.set(qe.getFramebuffer(\"depth\").framebuffer),je.viewport.set([0,0,se.width/devicePixelRatio,se.height/devicePixelRatio]),je.clear({color:a.aM.transparent,depth:1});for(let he of hr){let be=qe.getTerrainData(he.tileID),Pe={u_matrix:se.transform.calculatePosMatrix(he.tileID.toUnwrapped()),u_ele_delta:qe.getMeshFrameDelta(se.transform.zoom)};Sr.draw(je,it.TRIANGLES,Ot,$o.disabled,yt,Ja.backCCW,Pe,be,\"terrain\",Nt.vertexBuffer,Nt.indexBuffer,Nt.segments)}je.bindFramebuffer.set(null),je.viewport.set([0,0,se.width,se.height])}(this,this.style.map.terrain),function(se,qe){let je=se.context,it=je.gl,yt=Ps.unblended,Ot=new wo(it.LEQUAL,wo.ReadWrite,[0,1]),Nt=qe.getTerrainMesh(),hr=qe.getCoordsTexture(),Sr=qe.sourceCache.getRenderableTiles(),he=se.useProgram(\"terrainCoords\");je.bindFramebuffer.set(qe.getFramebuffer(\"coords\").framebuffer),je.viewport.set([0,0,se.width/devicePixelRatio,se.height/devicePixelRatio]),je.clear({color:a.aM.transparent,depth:1}),qe.coordsIndex=[];for(let be of Sr){let Pe=qe.getTerrainData(be.tileID);je.activeTexture.set(it.TEXTURE0),it.bindTexture(it.TEXTURE_2D,hr.texture);let Oe={u_matrix:se.transform.calculatePosMatrix(be.tileID.toUnwrapped()),u_terrain_coords_id:(255-qe.coordsIndex.length)/255,u_texture:0,u_ele_delta:qe.getMeshFrameDelta(se.transform.zoom)};he.draw(je,it.TRIANGLES,Ot,$o.disabled,yt,Ja.backCCW,Oe,Pe,\"terrain\",Nt.vertexBuffer,Nt.indexBuffer,Nt.segments),qe.coordsIndex.push(be.tileID.key)}je.bindFramebuffer.set(null),je.viewport.set([0,0,se.width,se.height])}(this,this.style.map.terrain))}renderLayer(w,B,Q,ee){if(!Q.isHidden(this.transform.zoom)&&(Q.type===\"background\"||Q.type===\"custom\"||(ee||[]).length))switch(this.id=Q.id,Q.type){case\"symbol\":(function(se,qe,je,it,yt){if(se.renderPass!==\"translucent\")return;let Ot=$o.disabled,Nt=se.colorModeForRenderPass();(je._unevaluatedLayout.hasValue(\"text-variable-anchor\")||je._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"))&&function(hr,Sr,he,be,Pe,Oe,Je,He,et){let Mt=Sr.transform,Dt=Gi(),Ut=Pe===\"map\",tr=Oe===\"map\";for(let mr of hr){let Rr=be.getTile(mr),zr=Rr.getBucket(he);if(!zr||!zr.text||!zr.text.segments.get().length)continue;let Xr=a.ag(zr.textSizeData,Mt.zoom),di=nn(Rr,1,Sr.transform.zoom),Li=Or(mr.posMatrix,tr,Ut,Sr.transform,di),Ci=he.layout.get(\"icon-text-fit\")!==\"none\"&&zr.hasIconData();if(Xr){let Qi=Math.pow(2,Mt.zoom-Rr.tileID.overscaledZ),Mn=Sr.style.map.terrain?(ea,Ga)=>Sr.style.map.terrain.getElevation(mr,ea,Ga):null,pa=Dt.translatePosition(Mt,Rr,Je,He);kf(zr,Ut,tr,et,Mt,Li,mr.posMatrix,Qi,Xr,Ci,Dt,pa,mr.toUnwrapped(),Mn)}}}(it,se,je,qe,je.layout.get(\"text-rotation-alignment\"),je.layout.get(\"text-pitch-alignment\"),je.paint.get(\"text-translate\"),je.paint.get(\"text-translate-anchor\"),yt),je.paint.get(\"icon-opacity\").constantOr(1)!==0&&Yh(se,qe,je,it,!1,je.paint.get(\"icon-translate\"),je.paint.get(\"icon-translate-anchor\"),je.layout.get(\"icon-rotation-alignment\"),je.layout.get(\"icon-pitch-alignment\"),je.layout.get(\"icon-keep-upright\"),Ot,Nt),je.paint.get(\"text-opacity\").constantOr(1)!==0&&Yh(se,qe,je,it,!0,je.paint.get(\"text-translate\"),je.paint.get(\"text-translate-anchor\"),je.layout.get(\"text-rotation-alignment\"),je.layout.get(\"text-pitch-alignment\"),je.layout.get(\"text-keep-upright\"),Ot,Nt),qe.map.showCollisionBoxes&&(tc(se,qe,je,it,!0),tc(se,qe,je,it,!1))})(w,B,Q,ee,this.style.placement.variableOffsets);break;case\"circle\":(function(se,qe,je,it){if(se.renderPass!==\"translucent\")return;let yt=je.paint.get(\"circle-opacity\"),Ot=je.paint.get(\"circle-stroke-width\"),Nt=je.paint.get(\"circle-stroke-opacity\"),hr=!je.layout.get(\"circle-sort-key\").isConstant();if(yt.constantOr(1)===0&&(Ot.constantOr(1)===0||Nt.constantOr(1)===0))return;let Sr=se.context,he=Sr.gl,be=se.depthModeForSublayer(0,wo.ReadOnly),Pe=$o.disabled,Oe=se.colorModeForRenderPass(),Je=[];for(let He=0;He<it.length;He++){let et=it[He],Mt=qe.getTile(et),Dt=Mt.getBucket(je);if(!Dt)continue;let Ut=Dt.programConfigurations.get(je.id),tr=se.useProgram(\"circle\",Ut),mr=Dt.layoutVertexBuffer,Rr=Dt.indexBuffer,zr=se.style.map.terrain&&se.style.map.terrain.getTerrainData(et),Xr={programConfiguration:Ut,program:tr,layoutVertexBuffer:mr,indexBuffer:Rr,uniformValues:go(se,et,Mt,je),terrainData:zr};if(hr){let di=Dt.segments.get();for(let Li of di)Je.push({segments:new a.a0([Li]),sortKey:Li.sortKey,state:Xr})}else Je.push({segments:Dt.segments,sortKey:0,state:Xr})}hr&&Je.sort((He,et)=>He.sortKey-et.sortKey);for(let He of Je){let{programConfiguration:et,program:Mt,layoutVertexBuffer:Dt,indexBuffer:Ut,uniformValues:tr,terrainData:mr}=He.state;Mt.draw(Sr,he.TRIANGLES,be,Pe,Oe,Ja.disabled,tr,mr,je.id,Dt,Ut,He.segments,je.paint,se.transform.zoom,et)}})(w,B,Q,ee);break;case\"heatmap\":(function(se,qe,je,it){if(je.paint.get(\"heatmap-opacity\")===0)return;let yt=se.context;if(se.style.map.terrain){for(let Ot of it){let Nt=qe.getTile(Ot);qe.hasRenderableParent(Ot)||(se.renderPass===\"offscreen\"?nh(se,Nt,je,Ot):se.renderPass===\"translucent\"&&hf(se,je,Ot))}yt.viewport.set([0,0,se.width,se.height])}else se.renderPass===\"offscreen\"?function(Ot,Nt,hr,Sr){let he=Ot.context,be=he.gl,Pe=$o.disabled,Oe=new Ps([be.ONE,be.ONE],a.aM.transparent,[!0,!0,!0,!0]);(function(Je,He,et){let Mt=Je.gl;Je.activeTexture.set(Mt.TEXTURE1),Je.viewport.set([0,0,He.width/4,He.height/4]);let Dt=et.heatmapFbos.get(a.aU);Dt?(Mt.bindTexture(Mt.TEXTURE_2D,Dt.colorAttachment.get()),Je.bindFramebuffer.set(Dt.framebuffer)):(Dt=kh(Je,He.width/4,He.height/4),et.heatmapFbos.set(a.aU,Dt))})(he,Ot,hr),he.clear({color:a.aM.transparent});for(let Je=0;Je<Sr.length;Je++){let He=Sr[Je];if(Nt.hasRenderableParent(He))continue;let et=Nt.getTile(He),Mt=et.getBucket(hr);if(!Mt)continue;let Dt=Mt.programConfigurations.get(hr.id),Ut=Ot.useProgram(\"heatmap\",Dt),{zoom:tr}=Ot.transform;Ut.draw(he,be.TRIANGLES,wo.disabled,Pe,Oe,Ja.disabled,xo(He.posMatrix,et,tr,hr.paint.get(\"heatmap-intensity\")),null,hr.id,Mt.layoutVertexBuffer,Mt.indexBuffer,Mt.segments,hr.paint,Ot.transform.zoom,Dt)}he.viewport.set([0,0,Ot.width,Ot.height])}(se,qe,je,it):se.renderPass===\"translucent\"&&function(Ot,Nt){let hr=Ot.context,Sr=hr.gl;hr.setColorMode(Ot.colorModeForRenderPass());let he=Nt.heatmapFbos.get(a.aU);he&&(hr.activeTexture.set(Sr.TEXTURE0),Sr.bindTexture(Sr.TEXTURE_2D,he.colorAttachment.get()),hr.activeTexture.set(Sr.TEXTURE1),Kh(hr,Nt).bind(Sr.LINEAR,Sr.CLAMP_TO_EDGE),Ot.useProgram(\"heatmapTexture\").draw(hr,Sr.TRIANGLES,wo.disabled,$o.disabled,Ot.colorModeForRenderPass(),Ja.disabled,zs(Ot,Nt,0,1),null,Nt.id,Ot.viewportBuffer,Ot.quadTriangleIndexBuffer,Ot.viewportSegments,Nt.paint,Ot.transform.zoom))}(se,je)})(w,B,Q,ee);break;case\"line\":(function(se,qe,je,it){if(se.renderPass!==\"translucent\")return;let yt=je.paint.get(\"line-opacity\"),Ot=je.paint.get(\"line-width\");if(yt.constantOr(1)===0||Ot.constantOr(1)===0)return;let Nt=se.depthModeForSublayer(0,wo.ReadOnly),hr=se.colorModeForRenderPass(),Sr=je.paint.get(\"line-dasharray\"),he=je.paint.get(\"line-pattern\"),be=he.constantOr(1),Pe=je.paint.get(\"line-gradient\"),Oe=je.getCrossfadeParameters(),Je=be?\"linePattern\":Sr?\"lineSDF\":Pe?\"lineGradient\":\"line\",He=se.context,et=He.gl,Mt=!0;for(let Dt of it){let Ut=qe.getTile(Dt);if(be&&!Ut.patternsLoaded())continue;let tr=Ut.getBucket(je);if(!tr)continue;let mr=tr.programConfigurations.get(je.id),Rr=se.context.program.get(),zr=se.useProgram(Je,mr),Xr=Mt||zr.program!==Rr,di=se.style.map.terrain&&se.style.map.terrain.getTerrainData(Dt),Li=he.constantOr(null);if(Li&&Ut.imageAtlas){let Mn=Ut.imageAtlas,pa=Mn.patternPositions[Li.to.toString()],ea=Mn.patternPositions[Li.from.toString()];pa&&ea&&mr.setConstantPatternPositions(pa,ea)}let Ci=di?Dt:null,Qi=be?wl(se,Ut,je,Oe,Ci):Sr?os(se,Ut,je,Sr,Oe,Ci):Pe?Xs(se,Ut,je,tr.lineClipsArray.length,Ci):Zs(se,Ut,je,Ci);if(be)He.activeTexture.set(et.TEXTURE0),Ut.imageAtlasTexture.bind(et.LINEAR,et.CLAMP_TO_EDGE),mr.updatePaintBuffers(Oe);else if(Sr&&(Xr||se.lineAtlas.dirty))He.activeTexture.set(et.TEXTURE0),se.lineAtlas.bind(He);else if(Pe){let Mn=tr.gradients[je.id],pa=Mn.texture;if(je.gradientVersion!==Mn.version){let ea=256;if(je.stepInterpolant){let Ga=qe.getSource().maxzoom,To=Dt.canonical.z===Ga?Math.ceil(1<<se.transform.maxZoom-Dt.canonical.z):1;ea=a.ac(a.aV(tr.maxLineLength/a.X*1024*To),256,He.maxTextureSize)}Mn.gradient=a.aW({expression:je.gradientExpression(),evaluationKey:\"lineProgress\",resolution:ea,image:Mn.gradient||void 0,clips:tr.lineClipsArray}),Mn.texture?Mn.texture.update(Mn.gradient):Mn.texture=new g(He,Mn.gradient,et.RGBA),Mn.version=je.gradientVersion,pa=Mn.texture}He.activeTexture.set(et.TEXTURE0),pa.bind(je.stepInterpolant?et.NEAREST:et.LINEAR,et.CLAMP_TO_EDGE)}zr.draw(He,et.TRIANGLES,Nt,se.stencilModeForClipping(Dt),hr,Ja.disabled,Qi,di,je.id,tr.layoutVertexBuffer,tr.indexBuffer,tr.segments,je.paint,se.transform.zoom,mr,tr.layoutVertexBuffer2),Mt=!1}})(w,B,Q,ee);break;case\"fill\":(function(se,qe,je,it){let yt=je.paint.get(\"fill-color\"),Ot=je.paint.get(\"fill-opacity\");if(Ot.constantOr(1)===0)return;let Nt=se.colorModeForRenderPass(),hr=je.paint.get(\"fill-pattern\"),Sr=se.opaquePassEnabledForLayer()&&!hr.constantOr(1)&&yt.constantOr(a.aM.transparent).a===1&&Ot.constantOr(0)===1?\"opaque\":\"translucent\";if(se.renderPass===Sr){let he=se.depthModeForSublayer(1,se.renderPass===\"opaque\"?wo.ReadWrite:wo.ReadOnly);ah(se,qe,je,it,he,Nt,!1)}if(se.renderPass===\"translucent\"&&je.paint.get(\"fill-antialias\")){let he=se.depthModeForSublayer(je.getPaintProperty(\"fill-outline-color\")?2:0,wo.ReadOnly);ah(se,qe,je,it,he,Nt,!0)}})(w,B,Q,ee);break;case\"fill-extrusion\":(function(se,qe,je,it){let yt=je.paint.get(\"fill-extrusion-opacity\");if(yt!==0&&se.renderPass===\"translucent\"){let Ot=new wo(se.context.gl.LEQUAL,wo.ReadWrite,se.depthRangeFor3D);if(yt!==1||je.paint.get(\"fill-extrusion-pattern\").constantOr(1))Wc(se,qe,je,it,Ot,$o.disabled,Ps.disabled),Wc(se,qe,je,it,Ot,se.stencilModeFor3D(),se.colorModeForRenderPass());else{let Nt=se.colorModeForRenderPass();Wc(se,qe,je,it,Ot,$o.disabled,Nt)}}})(w,B,Q,ee);break;case\"hillshade\":(function(se,qe,je,it){if(se.renderPass!==\"offscreen\"&&se.renderPass!==\"translucent\")return;let yt=se.context,Ot=se.depthModeForSublayer(0,wo.ReadOnly),Nt=se.colorModeForRenderPass(),[hr,Sr]=se.renderPass===\"translucent\"?se.stencilConfigForOverlap(it):[{},it];for(let he of Sr){let be=qe.getTile(he);be.needsHillshadePrepare!==void 0&&be.needsHillshadePrepare&&se.renderPass===\"offscreen\"?Cu(se,be,je,Ot,$o.disabled,Nt):se.renderPass===\"translucent\"&&df(se,he,be,je,Ot,hr[he.overscaledZ],Nt)}yt.viewport.set([0,0,se.width,se.height])})(w,B,Q,ee);break;case\"raster\":(function(se,qe,je,it){if(se.renderPass!==\"translucent\"||je.paint.get(\"raster-opacity\")===0||!it.length)return;let yt=se.context,Ot=yt.gl,Nt=qe.getSource(),hr=se.useProgram(\"raster\"),Sr=se.colorModeForRenderPass(),[he,be]=Nt instanceof Rt?[{},it]:se.stencilConfigForOverlap(it),Pe=be[be.length-1].overscaledZ,Oe=!se.options.moving;for(let Je of be){let He=se.depthModeForSublayer(Je.overscaledZ-Pe,je.paint.get(\"raster-opacity\")===1?wo.ReadWrite:wo.ReadOnly,Ot.LESS),et=qe.getTile(Je);et.registerFadeDuration(je.paint.get(\"raster-fade-duration\"));let Mt=qe.findLoadedParent(Je,0),Dt=qe.findLoadedSibling(Je),Ut=Nf(et,Mt||Dt||null,qe,je,se.transform,se.style.map.terrain),tr,mr,Rr=je.paint.get(\"raster-resampling\")===\"nearest\"?Ot.NEAREST:Ot.LINEAR;yt.activeTexture.set(Ot.TEXTURE0),et.texture.bind(Rr,Ot.CLAMP_TO_EDGE,Ot.LINEAR_MIPMAP_NEAREST),yt.activeTexture.set(Ot.TEXTURE1),Mt?(Mt.texture.bind(Rr,Ot.CLAMP_TO_EDGE,Ot.LINEAR_MIPMAP_NEAREST),tr=Math.pow(2,Mt.tileID.overscaledZ-et.tileID.overscaledZ),mr=[et.tileID.canonical.x*tr%1,et.tileID.canonical.y*tr%1]):et.texture.bind(Rr,Ot.CLAMP_TO_EDGE,Ot.LINEAR_MIPMAP_NEAREST),et.texture.useMipmap&&yt.extTextureFilterAnisotropic&&se.transform.pitch>20&&Ot.texParameterf(Ot.TEXTURE_2D,yt.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,yt.extTextureFilterAnisotropicMax);let zr=se.style.map.terrain&&se.style.map.terrain.getTerrainData(Je),Xr=zr?Je:null,di=Xr?Xr.posMatrix:se.transform.calculatePosMatrix(Je.toUnwrapped(),Oe),Li=ml(di,mr||[0,0],tr||1,Ut,je);Nt instanceof Rt?hr.draw(yt,Ot.TRIANGLES,He,$o.disabled,Sr,Ja.disabled,Li,zr,je.id,Nt.boundsBuffer,se.quadTriangleIndexBuffer,Nt.boundsSegments):hr.draw(yt,Ot.TRIANGLES,He,he[Je.overscaledZ],Sr,Ja.disabled,Li,zr,je.id,se.rasterBoundsBuffer,se.quadTriangleIndexBuffer,se.rasterBoundsSegments)}})(w,B,Q,ee);break;case\"background\":(function(se,qe,je,it){let yt=je.paint.get(\"background-color\"),Ot=je.paint.get(\"background-opacity\");if(Ot===0)return;let Nt=se.context,hr=Nt.gl,Sr=se.transform,he=Sr.tileSize,be=je.paint.get(\"background-pattern\");if(se.isPatternMissing(be))return;let Pe=!be&&yt.a===1&&Ot===1&&se.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(se.renderPass!==Pe)return;let Oe=$o.disabled,Je=se.depthModeForSublayer(0,Pe===\"opaque\"?wo.ReadWrite:wo.ReadOnly),He=se.colorModeForRenderPass(),et=se.useProgram(be?\"backgroundPattern\":\"background\"),Mt=it||Sr.coveringTiles({tileSize:he,terrain:se.style.map.terrain});be&&(Nt.activeTexture.set(hr.TEXTURE0),se.imageManager.bind(se.context));let Dt=je.getCrossfadeParameters();for(let Ut of Mt){let tr=it?Ut.posMatrix:se.transform.calculatePosMatrix(Ut.toUnwrapped()),mr=be?Hu(tr,Ot,se,be,{tileID:Ut,tileSize:he},Dt):Ql(tr,Ot,yt),Rr=se.style.map.terrain&&se.style.map.terrain.getTerrainData(Ut);et.draw(Nt,hr.TRIANGLES,Je,Oe,He,Ja.disabled,mr,Rr,je.id,se.tileExtentBuffer,se.quadTriangleIndexBuffer,se.tileExtentSegments)}})(w,0,Q,ee);break;case\"custom\":(function(se,qe,je){let it=se.context,yt=je.implementation;if(se.renderPass===\"offscreen\"){let Ot=yt.prerender;Ot&&(se.setCustomLayerDefaults(),it.setColorMode(se.colorModeForRenderPass()),Ot.call(yt,it.gl,se.transform.customLayerMatrix()),it.setDirty(),se.setBaseState())}else if(se.renderPass===\"translucent\"){se.setCustomLayerDefaults(),it.setColorMode(se.colorModeForRenderPass()),it.setStencilMode($o.disabled);let Ot=yt.renderingMode===\"3d\"?new wo(se.context.gl.LEQUAL,wo.ReadWrite,se.depthRangeFor3D):se.depthModeForSublayer(0,wo.ReadOnly);it.setDepthMode(Ot),yt.render(it.gl,se.transform.customLayerMatrix(),{farZ:se.transform.farZ,nearZ:se.transform.nearZ,fov:se.transform._fov,modelViewProjectionMatrix:se.transform.modelViewProjectionMatrix,projectionMatrix:se.transform.projectionMatrix}),it.setDirty(),se.setBaseState(),it.bindFramebuffer.set(null)}})(w,0,Q)}}translatePosMatrix(w,B,Q,ee,se){if(!Q[0]&&!Q[1])return w;let qe=se?ee===\"map\"?this.transform.angle:0:ee===\"viewport\"?-this.transform.angle:0;if(qe){let yt=Math.sin(qe),Ot=Math.cos(qe);Q=[Q[0]*Ot-Q[1]*yt,Q[0]*yt+Q[1]*Ot]}let je=[se?Q[0]:nn(B,Q[0],this.transform.zoom),se?Q[1]:nn(B,Q[1],this.transform.zoom),0],it=new Float32Array(16);return a.J(it,w,je),it}saveTileTexture(w){let B=this._tileTextures[w.size[0]];B?B.push(w):this._tileTextures[w.size[0]]=[w]}getTileTexture(w){let B=this._tileTextures[w];return B&&B.length>0?B.pop():null}isPatternMissing(w){if(!w)return!1;if(!w.from||!w.to)return!0;let B=this.imageManager.getPattern(w.from.toString()),Q=this.imageManager.getPattern(w.to.toString());return!B||!Q}useProgram(w,B){this.cache=this.cache||{};let Q=w+(B?B.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\")+(this.style.map.terrain?\"/terrain\":\"\");return this.cache[Q]||(this.cache[Q]=new zi(this.context,xn[w],B,fc[w],this._showOverdrawInspector,this.style.map.terrain)),this.cache[Q]}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(){let w=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(w.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new g(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:w,drawingBufferHeight:B}=this.context.gl;return this.width!==w||this.height!==B}}class fl{constructor(w,B){this.points=w,this.planes=B}static fromInvProjectionMatrix(w,B,Q){let ee=Math.pow(2,Q),se=[[-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(je=>{let it=1/(je=a.af([],je,w))[3]/B*ee;return a.b1(je,je,[it,it,1/je[3],it])}),qe=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(je=>{let it=function(hr,Sr){var he=Sr[0],be=Sr[1],Pe=Sr[2],Oe=he*he+be*be+Pe*Pe;return Oe>0&&(Oe=1/Math.sqrt(Oe)),hr[0]=Sr[0]*Oe,hr[1]=Sr[1]*Oe,hr[2]=Sr[2]*Oe,hr}([],function(hr,Sr,he){var be=Sr[0],Pe=Sr[1],Oe=Sr[2],Je=he[0],He=he[1],et=he[2];return hr[0]=Pe*et-Oe*He,hr[1]=Oe*Je-be*et,hr[2]=be*He-Pe*Je,hr}([],L([],se[je[0]],se[je[1]]),L([],se[je[2]],se[je[1]]))),yt=-((Ot=it)[0]*(Nt=se[je[1]])[0]+Ot[1]*Nt[1]+Ot[2]*Nt[2]);var Ot,Nt;return it.concat(yt)});return new fl(se,qe)}}class Xc{constructor(w,B){this.min=w,this.max=B,this.center=function(Q,ee,se){return Q[0]=.5*ee[0],Q[1]=.5*ee[1],Q[2]=.5*ee[2],Q}([],function(Q,ee,se){return Q[0]=ee[0]+se[0],Q[1]=ee[1]+se[1],Q[2]=ee[2]+se[2],Q}([],this.min,this.max))}quadrant(w){let B=[w%2==0,w<2],Q=k(this.min),ee=k(this.max);for(let se=0;se<B.length;se++)Q[se]=B[se]?this.min[se]:this.center[se],ee[se]=B[se]?this.center[se]:this.max[se];return ee[2]=this.max[2],new Xc(Q,ee)}distanceX(w){return Math.max(Math.min(this.max[0],w[0]),this.min[0])-w[0]}distanceY(w){return Math.max(Math.min(this.max[1],w[1]),this.min[1])-w[1]}intersects(w){let B=[[this.min[0],this.min[1],this.min[2],1],[this.max[0],this.min[1],this.min[2],1],[this.max[0],this.max[1],this.min[2],1],[this.min[0],this.max[1],this.min[2],1],[this.min[0],this.min[1],this.max[2],1],[this.max[0],this.min[1],this.max[2],1],[this.max[0],this.max[1],this.max[2],1],[this.min[0],this.max[1],this.max[2],1]],Q=!0;for(let ee=0;ee<w.planes.length;ee++){let se=w.planes[ee],qe=0;for(let je=0;je<B.length;je++)a.b2(se,B[je])>=0&&qe++;if(qe===0)return 0;qe!==B.length&&(Q=!1)}if(Q)return 2;for(let ee=0;ee<3;ee++){let se=Number.MAX_VALUE,qe=-Number.MAX_VALUE;for(let je=0;je<w.points.length;je++){let it=w.points[je][ee]-this.min[ee];se=Math.min(se,it),qe=Math.max(qe,it)}if(qe<0||se>this.max[ee]-this.min[ee])return 0}return 1}}class ic{constructor(w=0,B=0,Q=0,ee=0){if(isNaN(w)||w<0||isNaN(B)||B<0||isNaN(Q)||Q<0||isNaN(ee)||ee<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=w,this.bottom=B,this.left=Q,this.right=ee}interpolate(w,B,Q){return B.top!=null&&w.top!=null&&(this.top=a.y.number(w.top,B.top,Q)),B.bottom!=null&&w.bottom!=null&&(this.bottom=a.y.number(w.bottom,B.bottom,Q)),B.left!=null&&w.left!=null&&(this.left=a.y.number(w.left,B.left,Q)),B.right!=null&&w.right!=null&&(this.right=a.y.number(w.right,B.right,Q)),this}getCenter(w,B){let Q=a.ac((this.left+w-this.right)/2,0,w),ee=a.ac((this.top+B-this.bottom)/2,0,B);return new a.P(Q,ee)}equals(w){return this.top===w.top&&this.bottom===w.bottom&&this.left===w.left&&this.right===w.right}clone(){return new ic(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}let yu=85.051129;class Qs{constructor(w,B,Q,ee,se){this.tileSize=512,this._renderWorldCopies=se===void 0||!!se,this._minZoom=w||0,this._maxZoom=B||22,this._minPitch=Q==null?0:Q,this._maxPitch=ee==null?60:ee,this.setMaxBounds(),this.width=0,this.height=0,this._center=new a.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new ic,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){let w=new Qs(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return w.apply(this),w}apply(w){this.tileSize=w.tileSize,this.latRange=w.latRange,this.lngRange=w.lngRange,this.width=w.width,this.height=w.height,this._center=w._center,this._elevation=w._elevation,this.minElevationForCurrentTile=w.minElevationForCurrentTile,this.zoom=w.zoom,this.angle=w.angle,this._fov=w._fov,this._pitch=w._pitch,this._unmodified=w._unmodified,this._edgeInsets=w._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(w){this._minZoom!==w&&(this._minZoom=w,this.zoom=Math.max(this.zoom,w))}get maxZoom(){return this._maxZoom}set maxZoom(w){this._maxZoom!==w&&(this._maxZoom=w,this.zoom=Math.min(this.zoom,w))}get minPitch(){return this._minPitch}set minPitch(w){this._minPitch!==w&&(this._minPitch=w,this.pitch=Math.max(this.pitch,w))}get maxPitch(){return this._maxPitch}set maxPitch(w){this._maxPitch!==w&&(this._maxPitch=w,this.pitch=Math.min(this.pitch,w))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(w){w===void 0?w=!0:w===null&&(w=!1),this._renderWorldCopies=w}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new a.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(w){let B=-a.b3(w,-180,180)*Math.PI/180;this.angle!==B&&(this._unmodified=!1,this.angle=B,this._calcMatrices(),this.rotationMatrix=function(){var Q=new a.A(4);return a.A!=Float32Array&&(Q[1]=0,Q[2]=0),Q[0]=1,Q[3]=1,Q}(),function(Q,ee,se){var qe=ee[0],je=ee[1],it=ee[2],yt=ee[3],Ot=Math.sin(se),Nt=Math.cos(se);Q[0]=qe*Nt+it*Ot,Q[1]=je*Nt+yt*Ot,Q[2]=qe*-Ot+it*Nt,Q[3]=je*-Ot+yt*Nt}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(w){let B=a.ac(w,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==B&&(this._unmodified=!1,this._pitch=B,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(w){w=Math.max(.01,Math.min(60,w)),this._fov!==w&&(this._unmodified=!1,this._fov=w/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(w){let B=Math.min(Math.max(w,this.minZoom),this.maxZoom);this._zoom!==B&&(this._unmodified=!1,this._zoom=B,this.tileZoom=Math.max(0,Math.floor(B)),this.scale=this.zoomScale(B),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(w){w.lat===this._center.lat&&w.lng===this._center.lng||(this._unmodified=!1,this._center=w,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(w){w!==this._elevation&&(this._elevation=w,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(w){this._edgeInsets.equals(w)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,w,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(w){return this._edgeInsets.equals(w)}interpolatePadding(w,B,Q){this._unmodified=!1,this._edgeInsets.interpolate(w,B,Q),this._constrain(),this._calcMatrices()}coveringZoomLevel(w){let B=(w.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/w.tileSize));return Math.max(0,B)}getVisibleUnwrappedCoordinates(w){let B=[new a.b4(0,w)];if(this._renderWorldCopies){let Q=this.pointCoordinate(new a.P(0,0)),ee=this.pointCoordinate(new a.P(this.width,0)),se=this.pointCoordinate(new a.P(this.width,this.height)),qe=this.pointCoordinate(new a.P(0,this.height)),je=Math.floor(Math.min(Q.x,ee.x,se.x,qe.x)),it=Math.floor(Math.max(Q.x,ee.x,se.x,qe.x)),yt=1;for(let Ot=je-yt;Ot<=it+yt;Ot++)Ot!==0&&B.push(new a.b4(Ot,w))}return B}coveringTiles(w){var B,Q;let ee=this.coveringZoomLevel(w),se=ee;if(w.minzoom!==void 0&&ee<w.minzoom)return[];w.maxzoom!==void 0&&ee>w.maxzoom&&(ee=w.maxzoom);let qe=this.pointCoordinate(this.getCameraPoint()),je=a.Z.fromLngLat(this.center),it=Math.pow(2,ee),yt=[it*qe.x,it*qe.y,0],Ot=[it*je.x,it*je.y,0],Nt=fl.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,ee),hr=w.minzoom||0;!w.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(hr=ee);let Sr=w.terrain?2/Math.min(this.tileSize,w.tileSize)*this.tileSize:3,he=He=>({aabb:new Xc([He*it,0,0],[(He+1)*it,it,0]),zoom:0,x:0,y:0,wrap:He,fullyVisible:!1}),be=[],Pe=[],Oe=ee,Je=w.reparseOverscaled?se:ee;if(this._renderWorldCopies)for(let He=1;He<=3;He++)be.push(he(-He)),be.push(he(He));for(be.push(he(0));be.length>0;){let He=be.pop(),et=He.x,Mt=He.y,Dt=He.fullyVisible;if(!Dt){let zr=He.aabb.intersects(Nt);if(zr===0)continue;Dt=zr===2}let Ut=w.terrain?yt:Ot,tr=He.aabb.distanceX(Ut),mr=He.aabb.distanceY(Ut),Rr=Math.max(Math.abs(tr),Math.abs(mr));if(He.zoom===Oe||Rr>Sr+(1<<Oe-He.zoom)-2&&He.zoom>=hr){let zr=Oe-He.zoom,Xr=yt[0]-.5-(et<<zr),di=yt[1]-.5-(Mt<<zr);Pe.push({tileID:new a.S(He.zoom===Oe?Je:He.zoom,He.wrap,He.zoom,et,Mt),distanceSq:_([Ot[0]-.5-et,Ot[1]-.5-Mt]),tileDistanceToCamera:Math.sqrt(Xr*Xr+di*di)})}else for(let zr=0;zr<4;zr++){let Xr=(et<<1)+zr%2,di=(Mt<<1)+(zr>>1),Li=He.zoom+1,Ci=He.aabb.quadrant(zr);if(w.terrain){let Qi=new a.S(Li,He.wrap,Li,Xr,di),Mn=w.terrain.getMinMaxElevation(Qi),pa=(B=Mn.minElevation)!==null&&B!==void 0?B:this.elevation,ea=(Q=Mn.maxElevation)!==null&&Q!==void 0?Q:this.elevation;Ci=new Xc([Ci.min[0],Ci.min[1],pa],[Ci.max[0],Ci.max[1],ea])}be.push({aabb:Ci,zoom:Li,x:Xr,y:di,wrap:He.wrap,fullyVisible:Dt})}}return Pe.sort((He,et)=>He.distanceSq-et.distanceSq).map(He=>He.tileID)}resize(w,B){this.width=w,this.height=B,this.pixelsToGLUnits=[2/w,-2/B],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(w){return Math.pow(2,w)}scaleZoom(w){return Math.log(w)/Math.LN2}project(w){let B=a.ac(w.lat,-85.051129,yu);return new a.P(a.O(w.lng)*this.worldSize,a.Q(B)*this.worldSize)}unproject(w){return new a.Z(w.x/this.worldSize,w.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(w){let B=this.elevation,Q=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,ee=this.pointLocation(this.centerPoint,w),se=w.getElevationForLngLatZoom(ee,this.tileZoom);if(!(this.elevation-se))return;let qe=Q+B-se,je=Math.cos(this._pitch)*this.cameraToCenterDistance/qe/a.b5(1,ee.lat),it=this.scaleZoom(je/this.tileSize);this._elevation=se,this._center=ee,this.zoom=it}setLocationAtPoint(w,B){let Q=this.pointCoordinate(B),ee=this.pointCoordinate(this.centerPoint),se=this.locationCoordinate(w),qe=new a.Z(se.x-(Q.x-ee.x),se.y-(Q.y-ee.y));this.center=this.coordinateLocation(qe),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(w,B){return B?this.coordinatePoint(this.locationCoordinate(w),B.getElevationForLngLatZoom(w,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(w))}pointLocation(w,B){return this.coordinateLocation(this.pointCoordinate(w,B))}locationCoordinate(w){return a.Z.fromLngLat(w)}coordinateLocation(w){return w&&w.toLngLat()}pointCoordinate(w,B){if(B){let hr=B.pointCoordinate(w);if(hr!=null)return hr}let Q=[w.x,w.y,0,1],ee=[w.x,w.y,1,1];a.af(Q,Q,this.pixelMatrixInverse),a.af(ee,ee,this.pixelMatrixInverse);let se=Q[3],qe=ee[3],je=Q[1]/se,it=ee[1]/qe,yt=Q[2]/se,Ot=ee[2]/qe,Nt=yt===Ot?0:(0-yt)/(Ot-yt);return new a.Z(a.y.number(Q[0]/se,ee[0]/qe,Nt)/this.worldSize,a.y.number(je,it,Nt)/this.worldSize)}coordinatePoint(w,B=0,Q=this.pixelMatrix){let ee=[w.x*this.worldSize,w.y*this.worldSize,B,1];return a.af(ee,ee,Q),new a.P(ee[0]/ee[3],ee[1]/ee[3])}getBounds(){let w=Math.max(0,this.height/2-this.getHorizon());return new ce().extend(this.pointLocation(new a.P(0,w))).extend(this.pointLocation(new a.P(this.width,w))).extend(this.pointLocation(new a.P(this.width,this.height))).extend(this.pointLocation(new a.P(0,this.height)))}getMaxBounds(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new ce([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(w){w?(this.lngRange=[w.getWest(),w.getEast()],this.latRange=[w.getSouth(),w.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,yu])}calculateTileMatrix(w){let B=w.canonical,Q=this.worldSize/this.zoomScale(B.z),ee=B.x+Math.pow(2,B.z)*w.wrap,se=a.an(new Float64Array(16));return a.J(se,se,[ee*Q,B.y*Q,0]),a.K(se,se,[Q/a.X,Q/a.X,1]),se}calculatePosMatrix(w,B=!1){let Q=w.key,ee=B?this._alignedPosMatrixCache:this._posMatrixCache;if(ee[Q])return ee[Q];let se=this.calculateTileMatrix(w);return a.L(se,B?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,se),ee[Q]=new Float32Array(se),ee[Q]}calculateFogMatrix(w){let B=w.key,Q=this._fogMatrixCache;if(Q[B])return Q[B];let ee=this.calculateTileMatrix(w);return a.L(ee,this.fogMatrix,ee),Q[B]=new Float32Array(ee),Q[B]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(w,B){B=a.ac(+B,this.minZoom,this.maxZoom);let Q={center:new a.N(w.lng,w.lat),zoom:B},ee=this.lngRange;if(!this._renderWorldCopies&&ee===null){let He=179.9999999999;ee=[-He,He]}let se=this.tileSize*this.zoomScale(Q.zoom),qe=0,je=se,it=0,yt=se,Ot=0,Nt=0,{x:hr,y:Sr}=this.size;if(this.latRange){let He=this.latRange;qe=a.Q(He[1])*se,je=a.Q(He[0])*se,je-qe<Sr&&(Ot=Sr/(je-qe))}ee&&(it=a.b3(a.O(ee[0])*se,0,se),yt=a.b3(a.O(ee[1])*se,0,se),yt<it&&(yt+=se),yt-it<hr&&(Nt=hr/(yt-it)));let{x:he,y:be}=this.project.call({worldSize:se},w),Pe,Oe,Je=Math.max(Nt||0,Ot||0);if(Je){let He=new a.P(Nt?(yt+it)/2:he,Ot?(je+qe)/2:be);return Q.center=this.unproject.call({worldSize:se},He).wrap(),Q.zoom+=this.scaleZoom(Je),Q}if(this.latRange){let He=Sr/2;be-He<qe&&(Oe=qe+He),be+He>je&&(Oe=je-He)}if(ee){let He=(it+yt)/2,et=he;this._renderWorldCopies&&(et=a.b3(he,He-se/2,He+se/2));let Mt=hr/2;et-Mt<it&&(Pe=it+Mt),et+Mt>yt&&(Pe=yt-Mt)}if(Pe!==void 0||Oe!==void 0){let He=new a.P(Pe!=null?Pe:he,Oe!=null?Oe:be);Q.center=this.unproject.call({worldSize:se},He).wrap()}return Q}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let w=this._unmodified,{center:B,zoom:Q}=this.getConstrained(this.center,this.zoom);this.center=B,this.zoom=Q,this._unmodified=w,this._constraining=!1}_calcMatrices(){if(!this.height)return;let w=this.centerOffset,B=this.point.x,Q=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=a.b5(1,this.center.lat)*this.worldSize;let ee=a.an(new Float64Array(16));a.K(ee,ee,[this.width/2,-this.height/2,1]),a.J(ee,ee,[1,-1,0]),this.labelPlaneMatrix=ee,ee=a.an(new Float64Array(16)),a.K(ee,ee,[1,-1,1]),a.J(ee,ee,[-1,-1,0]),a.K(ee,ee,[2/this.width,2/this.height,1]),this.glCoordMatrix=ee;let se=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),qe=Math.min(this.elevation,this.minElevationForCurrentTile),je=se-qe*this._pixelPerMeter/Math.cos(this._pitch),it=qe<0?je:se,yt=Math.PI/2+this._pitch,Ot=this._fov*(.5+w.y/this.height),Nt=Math.sin(Ot)*it/Math.sin(a.ac(Math.PI-yt-Ot,.01,Math.PI-.01)),hr=this.getHorizon(),Sr=2*Math.atan(hr/this.cameraToCenterDistance)*(.5+w.y/(2*hr)),he=Math.sin(Sr)*it/Math.sin(a.ac(Math.PI-yt-Sr,.01,Math.PI-.01)),be=Math.min(Nt,he);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*be+it),this.nearZ=this.height/50,ee=new Float64Array(16),a.b6(ee,this._fov,this.width/this.height,this.nearZ,this.farZ),ee[8]=2*-w.x/this.width,ee[9]=2*w.y/this.height,this.projectionMatrix=a.ae(ee),a.K(ee,ee,[1,-1,1]),a.J(ee,ee,[0,0,-this.cameraToCenterDistance]),a.b7(ee,ee,this._pitch),a.ad(ee,ee,this.angle),a.J(ee,ee,[-B,-Q,0]),this.mercatorMatrix=a.K([],ee,[this.worldSize,this.worldSize,this.worldSize]),a.K(ee,ee,[1,1,this._pixelPerMeter]),this.pixelMatrix=a.L(new Float64Array(16),this.labelPlaneMatrix,ee),a.J(ee,ee,[0,0,-this.elevation]),this.modelViewProjectionMatrix=ee,this.invModelViewProjectionMatrix=a.as([],ee),this.fogMatrix=new Float64Array(16),a.b6(this.fogMatrix,this._fov,this.width/this.height,se,this.farZ),this.fogMatrix[8]=2*-w.x/this.width,this.fogMatrix[9]=2*w.y/this.height,a.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),a.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),a.b7(this.fogMatrix,this.fogMatrix,this._pitch),a.ad(this.fogMatrix,this.fogMatrix,this.angle),a.J(this.fogMatrix,this.fogMatrix,[-B,-Q,0]),a.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),a.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=a.L(new Float64Array(16),this.labelPlaneMatrix,ee);let Pe=this.width%2/2,Oe=this.height%2/2,Je=Math.cos(this.angle),He=Math.sin(this.angle),et=B-Math.round(B)+Je*Pe+He*Oe,Mt=Q-Math.round(Q)+Je*Oe+He*Pe,Dt=new Float64Array(ee);if(a.J(Dt,Dt,[et>.5?et-1:et,Mt>.5?Mt-1:Mt,0]),this.alignedModelViewProjectionMatrix=Dt,ee=a.as(new Float64Array(16),this.pixelMatrix),!ee)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=ee,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let w=this.pointCoordinate(new a.P(0,0)),B=[w.x*this.worldSize,w.y*this.worldSize,0,1];return a.af(B,B,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let w=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new a.P(0,w))}getCameraQueryGeometry(w){let B=this.getCameraPoint();if(w.length===1)return[w[0],B];{let Q=B.x,ee=B.y,se=B.x,qe=B.y;for(let je of w)Q=Math.min(Q,je.x),ee=Math.min(ee,je.y),se=Math.max(se,je.x),qe=Math.max(qe,je.y);return[new a.P(Q,ee),new a.P(se,ee),new a.P(se,qe),new a.P(Q,qe),new a.P(Q,ee)]}}lngLatToCameraDepth(w,B){let Q=this.locationCoordinate(w),ee=[Q.x*this.worldSize,Q.y*this.worldSize,B,1];return a.af(ee,ee,this.modelViewProjectionMatrix),ee[2]/ee[3]}}function Qh(le,w){let B,Q=!1,ee=null,se=null,qe=()=>{ee=null,Q&&(le.apply(se,B),ee=setTimeout(qe,w),Q=!1)};return(...je)=>(Q=!0,se=this,B=je,ee||qe(),ee)}class gd{constructor(w){this._getCurrentHash=()=>{let B=window.location.hash.replace(\"#\",\"\");if(this._hashName){let Q;return B.split(\"&\").map(ee=>ee.split(\"=\")).forEach(ee=>{ee[0]===this._hashName&&(Q=ee)}),(Q&&Q[1]||\"\").split(\"/\")}return B.split(\"/\")},this._onHashChange=()=>{let B=this._getCurrentHash();if(B.length>=3&&!B.some(Q=>isNaN(Q))){let Q=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(B[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+B[2],+B[1]],zoom:+B[0],bearing:Q,pitch:+(B[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let B=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,B)},this._removeHash=()=>{let B=this._getCurrentHash();if(B.length===0)return;let Q=B.join(\"/\"),ee=Q;ee.split(\"&\").length>0&&(ee=ee.split(\"&\")[0]),this._hashName&&(ee=`${this._hashName}=${Q}`);let se=window.location.hash.replace(ee,\"\");se.startsWith(\"#&\")?se=se.slice(0,1)+se.slice(2):se===\"#\"&&(se=\"\");let qe=window.location.href.replace(/(#.+)?$/,se);qe=qe.replace(\"&&\",\"&\"),window.history.replaceState(window.history.state,null,qe)},this._updateHash=Qh(this._updateHashUnthrottled,300),this._hashName=w&&encodeURIComponent(w)}addTo(w){return this._map=w,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(w){let B=this._map.getCenter(),Q=Math.round(100*this._map.getZoom())/100,ee=Math.ceil((Q*Math.LN2+Math.log(512/360/.5))/Math.LN10),se=Math.pow(10,ee),qe=Math.round(B.lng*se)/se,je=Math.round(B.lat*se)/se,it=this._map.getBearing(),yt=this._map.getPitch(),Ot=\"\";if(Ot+=w?`/${qe}/${je}/${Q}`:`${Q}/${je}/${qe}`,(it||yt)&&(Ot+=\"/\"+Math.round(10*it)/10),yt&&(Ot+=`/${Math.round(yt)}`),this._hashName){let Nt=this._hashName,hr=!1,Sr=window.location.hash.slice(1).split(\"&\").map(he=>{let be=he.split(\"=\")[0];return be===Nt?(hr=!0,`${be}=${Ot}`):he}).filter(he=>he);return hr||Sr.push(`${Nt}=${Ot}`),`#${Sr.join(\"&\")}`}return`#${Ot}`}}let Gu={linearity:.3,easing:a.b8(0,0,.3,1)},Pc=a.e({deceleration:2500,maxSpeed:1400},Gu),vc=a.e({deceleration:20,maxSpeed:1400},Gu),sv=a.e({deceleration:1e3,maxSpeed:360},Gu),Lf=a.e({deceleration:1e3,maxSpeed:90},Gu);class Uf{constructor(w){this._map=w,this.clear()}clear(){this._inertiaBuffer=[]}record(w){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:u.now(),settings:w})}_drainInertiaBuffer(){let w=this._inertiaBuffer,B=u.now();for(;w.length>0&&B-w[0].time>160;)w.shift()}_onMoveEnd(w){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let B={zoom:0,bearing:0,pitch:0,pan:new a.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:se}of this._inertiaBuffer)B.zoom+=se.zoomDelta||0,B.bearing+=se.bearingDelta||0,B.pitch+=se.pitchDelta||0,se.panDelta&&B.pan._add(se.panDelta),se.around&&(B.around=se.around),se.pinchAround&&(B.pinchAround=se.pinchAround);let Q=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,ee={};if(B.pan.mag()){let se=oh(B.pan.mag(),Q,a.e({},Pc,w||{}));ee.offset=B.pan.mult(se.amount/B.pan.mag()),ee.center=this._map.transform.center,Iu(ee,se)}if(B.zoom){let se=oh(B.zoom,Q,vc);ee.zoom=this._map.transform.zoom+se.amount,Iu(ee,se)}if(B.bearing){let se=oh(B.bearing,Q,sv);ee.bearing=this._map.transform.bearing+a.ac(se.amount,-179,179),Iu(ee,se)}if(B.pitch){let se=oh(B.pitch,Q,Lf);ee.pitch=this._map.transform.pitch+se.amount,Iu(ee,se)}if(ee.zoom||ee.bearing){let se=B.pinchAround===void 0?B.around:B.pinchAround;ee.around=se?this._map.unproject(se):this._map.getCenter()}return this.clear(),a.e(ee,{noMoveStart:!0})}}function Iu(le,w){(!le.duration||le.duration<w.duration)&&(le.duration=w.duration,le.easing=w.easing)}function oh(le,w,B){let{maxSpeed:Q,linearity:ee,deceleration:se}=B,qe=a.ac(le*ee/(w/1e3),-Q,Q),je=Math.abs(qe)/(se*ee);return{easing:B.easing,duration:1e3*je,amount:qe*(je/2)}}class ru extends a.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(w,B,Q,ee={}){let se=c.mousePos(B.getCanvas(),Q),qe=B.unproject(se);super(w,a.e({point:se,lngLat:qe,originalEvent:Q},ee)),this._defaultPrevented=!1,this.target=B}}class vf extends a.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(w,B,Q){let ee=w===\"touchend\"?Q.changedTouches:Q.touches,se=c.touchPos(B.getCanvasContainer(),ee),qe=se.map(it=>B.unproject(it)),je=se.reduce((it,yt,Ot,Nt)=>it.add(yt.div(Nt.length)),new a.P(0,0));super(w,{points:se,point:je,lngLats:qe,lngLat:B.unproject(je),originalEvent:Q}),this._defaultPrevented=!1}}class md extends a.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(w,B,Q){super(w,{originalEvent:Q}),this._defaultPrevented=!1}}class sh{constructor(w,B){this._map=w,this._clickTolerance=B.clickTolerance}reset(){delete this._mousedownPos}wheel(w){return this._firePreventable(new md(w.type,this._map,w))}mousedown(w,B){return this._mousedownPos=B,this._firePreventable(new ru(w.type,this._map,w))}mouseup(w){this._map.fire(new ru(w.type,this._map,w))}click(w,B){this._mousedownPos&&this._mousedownPos.dist(B)>=this._clickTolerance||this._map.fire(new ru(w.type,this._map,w))}dblclick(w){return this._firePreventable(new ru(w.type,this._map,w))}mouseover(w){this._map.fire(new ru(w.type,this._map,w))}mouseout(w){this._map.fire(new ru(w.type,this._map,w))}touchstart(w){return this._firePreventable(new vf(w.type,this._map,w))}touchmove(w){this._map.fire(new vf(w.type,this._map,w))}touchend(w){this._map.fire(new vf(w.type,this._map,w))}touchcancel(w){this._map.fire(new vf(w.type,this._map,w))}_firePreventable(w){if(this._map.fire(w),w.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Fs{constructor(w){this._map=w}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(w){this._map.fire(new ru(w.type,this._map,w))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new ru(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(w){this._delayContextMenu?this._contextMenuEvent=w:this._ignoreContextMenu||this._map.fire(new ru(w.type,this._map,w)),this._map.listens(\"contextmenu\")&&w.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class _u{constructor(w){this._map=w}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(w){return this.transform.pointLocation(a.P.convert(w),this._map.terrain)}}class xu{constructor(w,B){this._map=w,this._tr=new _u(w),this._el=w.getCanvasContainer(),this._container=w.getContainer(),this._clickTolerance=B.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(w,B){this.isEnabled()&&w.shiftKey&&w.button===0&&(c.disableDrag(),this._startPos=this._lastPos=B,this._active=!0)}mousemoveWindow(w,B){if(!this._active)return;let Q=B;if(this._lastPos.equals(Q)||!this._box&&Q.dist(this._startPos)<this._clickTolerance)return;let ee=this._startPos;this._lastPos=Q,this._box||(this._box=c.create(\"div\",\"maplibregl-boxzoom\",this._container),this._container.classList.add(\"maplibregl-crosshair\"),this._fireEvent(\"boxzoomstart\",w));let se=Math.min(ee.x,Q.x),qe=Math.max(ee.x,Q.x),je=Math.min(ee.y,Q.y),it=Math.max(ee.y,Q.y);c.setTransform(this._box,`translate(${se}px,${je}px)`),this._box.style.width=qe-se+\"px\",this._box.style.height=it-je+\"px\"}mouseupWindow(w,B){if(!this._active||w.button!==0)return;let Q=this._startPos,ee=B;if(this.reset(),c.suppressClick(),Q.x!==ee.x||Q.y!==ee.y)return this._map.fire(new a.k(\"boxzoomend\",{originalEvent:w})),{cameraAnimation:se=>se.fitScreenCoordinates(Q,ee,this._tr.bearing,{linear:!0})};this._fireEvent(\"boxzoomcancel\",w)}keydown(w){this._active&&w.keyCode===27&&(this.reset(),this._fireEvent(\"boxzoomcancel\",w))}reset(){this._active=!1,this._container.classList.remove(\"maplibregl-crosshair\"),this._box&&(c.remove(this._box),this._box=null),c.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(w,B){return this._map.fire(new a.k(w,{originalEvent:B}))}}function Lh(le,w){if(le.length!==w.length)throw new Error(`The number of touches and points are not equal - touches ${le.length}, points ${w.length}`);let B={};for(let Q=0;Q<le.length;Q++)B[le[Q].identifier]=w[Q];return B}class Is{constructor(w){this.reset(),this.numTouches=w.numTouches}reset(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1}touchstart(w,B,Q){(this.centroid||Q.length>this.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=w.timeStamp),Q.length===this.numTouches&&(this.centroid=function(ee){let se=new a.P(0,0);for(let qe of ee)se._add(qe);return se.div(ee.length)}(B),this.touches=Lh(Q,B)))}touchmove(w,B,Q){if(this.aborted||!this.centroid)return;let ee=Lh(Q,B);for(let se in this.touches){let qe=ee[se];(!qe||qe.dist(this.touches[se])>30)&&(this.aborted=!0)}}touchend(w,B,Q){if((!this.centroid||w.timeStamp-this.startTime>500)&&(this.aborted=!0),Q.length===0){let ee=!this.aborted&&this.centroid;if(this.reset(),ee)return ee}}}class Pf{constructor(w){this.singleTap=new Is(w),this.numTaps=w.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(w,B,Q){this.singleTap.touchstart(w,B,Q)}touchmove(w,B,Q){this.singleTap.touchmove(w,B,Q)}touchend(w,B,Q){let ee=this.singleTap.touchend(w,B,Q);if(ee){let se=w.timeStamp-this.lastTime<500,qe=!this.lastTap||this.lastTap.dist(ee)<30;if(se&&qe||this.reset(),this.count++,this.lastTime=w.timeStamp,this.lastTap=ee,this.count===this.numTaps)return this.reset(),ee}}}class Ic{constructor(w){this._tr=new _u(w),this._zoomIn=new Pf({numTouches:1,numTaps:2}),this._zoomOut=new Pf({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(w,B,Q){this._zoomIn.touchstart(w,B,Q),this._zoomOut.touchstart(w,B,Q)}touchmove(w,B,Q){this._zoomIn.touchmove(w,B,Q),this._zoomOut.touchmove(w,B,Q)}touchend(w,B,Q){let ee=this._zoomIn.touchend(w,B,Q),se=this._zoomOut.touchend(w,B,Q),qe=this._tr;return ee?(this._active=!0,w.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:je=>je.easeTo({duration:300,zoom:qe.zoom+1,around:qe.unproject(ee)},{originalEvent:w})}):se?(this._active=!0,w.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:je=>je.easeTo({duration:300,zoom:qe.zoom-1,around:qe.unproject(se)},{originalEvent:w})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class ju{constructor(w){this._enabled=!!w.enable,this._moveStateManager=w.moveStateManager,this._clickTolerance=w.clickTolerance||1,this._moveFunction=w.move,this._activateOnStart=!!w.activateOnStart,w.assignEvents(this),this.reset()}reset(w){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(w)}_move(...w){let B=this._moveFunction(...w);if(B.bearingDelta||B.pitchDelta||B.around||B.panDelta)return this._active=!0,B}dragStart(w,B){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(w)&&(this._moveStateManager.startMove(w),this._lastPoint=B.length?B[0]:B,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(w,B){if(!this.isEnabled())return;let Q=this._lastPoint;if(!Q)return;if(w.preventDefault(),!this._moveStateManager.isValidMoveEvent(w))return void this.reset(w);let ee=B.length?B[0]:B;return!this._moved&&ee.dist(Q)<this._clickTolerance?void 0:(this._moved=!0,this._lastPoint=ee,this._move(Q,ee))}dragEnd(w){this.isEnabled()&&this._lastPoint&&this._moveStateManager.isValidEndEvent(w)&&(this._moved&&c.suppressClick(),this.reset(w))}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}getClickTolerance(){return this._clickTolerance}}let Vf={0:1,2:2};class pc{constructor(w){this._correctEvent=w.checkCorrectEvent}startMove(w){let B=c.mouseButton(w);this._eventButton=B}endMove(w){delete this._eventButton}isValidStartEvent(w){return this._correctEvent(w)}isValidMoveEvent(w){return!function(B,Q){let ee=Vf[Q];return B.buttons===void 0||(B.buttons&ee)!==ee}(w,this._eventButton)}isValidEndEvent(w){return c.mouseButton(w)===this._eventButton}}class pf{constructor(){this._firstTouch=void 0}_isOneFingerTouch(w){return w.targetTouches.length===1}_isSameTouchEvent(w){return w.targetTouches[0].identifier===this._firstTouch}startMove(w){this._firstTouch=w.targetTouches[0].identifier}endMove(w){delete this._firstTouch}isValidStartEvent(w){return this._isOneFingerTouch(w)}isValidMoveEvent(w){return this._isOneFingerTouch(w)&&this._isSameTouchEvent(w)}isValidEndEvent(w){return this._isOneFingerTouch(w)&&this._isSameTouchEvent(w)}}let Ph=le=>{le.mousedown=le.dragStart,le.mousemoveWindow=le.dragMove,le.mouseup=le.dragEnd,le.contextmenu=w=>{w.preventDefault()}},Dl=({enable:le,clickTolerance:w,bearingDegreesPerPixelMoved:B=.8})=>{let Q=new pc({checkCorrectEvent:ee=>c.mouseButton(ee)===0&&ee.ctrlKey||c.mouseButton(ee)===2});return new ju({clickTolerance:w,move:(ee,se)=>({bearingDelta:(se.x-ee.x)*B}),moveStateManager:Q,enable:le,assignEvents:Ph})},Ih=({enable:le,clickTolerance:w,pitchDegreesPerPixelMoved:B=-.5})=>{let Q=new pc({checkCorrectEvent:ee=>c.mouseButton(ee)===0&&ee.ctrlKey||c.mouseButton(ee)===2});return new ju({clickTolerance:w,move:(ee,se)=>({pitchDelta:(se.y-ee.y)*B}),moveStateManager:Q,enable:le,assignEvents:Ph})};class Wu{constructor(w,B){this._clickTolerance=w.clickTolerance||1,this._map=B,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new a.P(0,0)}_shouldBePrevented(w){return w<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(w,B,Q){return this._calculateTransform(w,B,Q)}touchmove(w,B,Q){if(this._active){if(!this._shouldBePrevented(Q.length))return w.preventDefault(),this._calculateTransform(w,B,Q);this._map.cooperativeGestures.notifyGestureBlocked(\"touch_pan\",w)}}touchend(w,B,Q){this._calculateTransform(w,B,Q),this._active&&this._shouldBePrevented(Q.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(w,B,Q){Q.length>0&&(this._active=!0);let ee=Lh(Q,B),se=new a.P(0,0),qe=new a.P(0,0),je=0;for(let yt in ee){let Ot=ee[yt],Nt=this._touches[yt];Nt&&(se._add(Ot),qe._add(Ot.sub(Nt)),je++,ee[yt]=Ot)}if(this._touches=ee,this._shouldBePrevented(je)||!qe.mag())return;let it=qe.div(je);return this._sum._add(it),this._sum.mag()<this._clickTolerance?void 0:{around:se.div(je),panDelta:it}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Rc{constructor(){this.reset()}reset(){this._active=!1,delete this._firstTwoTouches}touchstart(w,B,Q){this._firstTwoTouches||Q.length<2||(this._firstTwoTouches=[Q[0].identifier,Q[1].identifier],this._start([B[0],B[1]]))}touchmove(w,B,Q){if(!this._firstTwoTouches)return;w.preventDefault();let[ee,se]=this._firstTwoTouches,qe=gc(Q,B,ee),je=gc(Q,B,se);if(!qe||!je)return;let it=this._aroundCenter?null:qe.add(je).div(2);return this._move([qe,je],it,w)}touchend(w,B,Q){if(!this._firstTwoTouches)return;let[ee,se]=this._firstTwoTouches,qe=gc(Q,B,ee),je=gc(Q,B,se);qe&&je||(this._active&&c.suppressClick(),this.reset())}touchcancel(){this.reset()}enable(w){this._enabled=!0,this._aroundCenter=!!w&&w.around===\"center\"}disable(){this._enabled=!1,this.reset()}isEnabled(){return!!this._enabled}isActive(){return!!this._active}}function gc(le,w,B){for(let Q=0;Q<le.length;Q++)if(le[Q].identifier===B)return w[Q]}function hl(le,w){return Math.log(le/w)/Math.LN2}class iu extends Rc{reset(){super.reset(),delete this._distance,delete this._startDistance}_start(w){this._startDistance=this._distance=w[0].dist(w[1])}_move(w,B){let Q=this._distance;if(this._distance=w[0].dist(w[1]),this._active||!(Math.abs(hl(this._distance,this._startDistance))<.1))return this._active=!0,{zoomDelta:hl(this._distance,Q),pinchAround:B}}}function mc(le,w){return 180*le.angleWith(w)/Math.PI}class Yc extends Rc{reset(){super.reset(),delete this._minDiameter,delete this._startVector,delete this._vector}_start(w){this._startVector=this._vector=w[0].sub(w[1]),this._minDiameter=w[0].dist(w[1])}_move(w,B,Q){let ee=this._vector;if(this._vector=w[0].sub(w[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:mc(this._vector,ee),pinchAround:B}}_isBelowThreshold(w){this._minDiameter=Math.min(this._minDiameter,w.mag());let B=25/(Math.PI*this._minDiameter)*360,Q=mc(w,this._startVector);return Math.abs(Q)<B}}function nc(le){return Math.abs(le.y)>Math.abs(le.x)}class gf extends Rc{constructor(w){super(),this._currentTouchCount=0,this._map=w}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(w,B,Q){super.touchstart(w,B,Q),this._currentTouchCount=Q.length}_start(w){this._lastPoints=w,nc(w[0].sub(w[1]))&&(this._valid=!1)}_move(w,B,Q){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let ee=w[0].sub(this._lastPoints[0]),se=w[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(ee,se,Q.timeStamp),this._valid?(this._lastPoints=w,this._active=!0,{pitchDelta:(ee.y+se.y)/2*-.5}):void 0}gestureBeginsVertically(w,B,Q){if(this._valid!==void 0)return this._valid;let ee=w.mag()>=2,se=B.mag()>=2;if(!ee&&!se)return;if(!ee||!se)return this._firstMove===void 0&&(this._firstMove=Q),Q-this._firstMove<100&&void 0;let qe=w.y>0==B.y>0;return nc(w)&&nc(B)&&qe}}let gt={panStep:100,bearingStep:15,pitchStep:10};class Bt{constructor(w){this._tr=new _u(w);let B=gt;this._panStep=B.panStep,this._bearingStep=B.bearingStep,this._pitchStep=B.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(w){if(w.altKey||w.ctrlKey||w.metaKey)return;let B=0,Q=0,ee=0,se=0,qe=0;switch(w.keyCode){case 61:case 107:case 171:case 187:B=1;break;case 189:case 109:case 173:B=-1;break;case 37:w.shiftKey?Q=-1:(w.preventDefault(),se=-1);break;case 39:w.shiftKey?Q=1:(w.preventDefault(),se=1);break;case 38:w.shiftKey?ee=1:(w.preventDefault(),qe=-1);break;case 40:w.shiftKey?ee=-1:(w.preventDefault(),qe=1);break;default:return}return this._rotationDisabled&&(Q=0,ee=0),{cameraAnimation:je=>{let it=this._tr;je.easeTo({duration:300,easeId:\"keyboardHandler\",easing:wr,zoom:B?Math.round(it.zoom)+B*(w.shiftKey?2:1):it.zoom,bearing:it.bearing+Q*this._bearingStep,pitch:it.pitch+ee*this._pitchStep,offset:[-se*this._panStep,-qe*this._panStep],center:it.center},{originalEvent:w})}}}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 wr(le){return le*(2-le)}let vr=4.000244140625;class Ur{constructor(w,B){this._onTimeout=Q=>{this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(Q)},this._map=w,this._tr=new _u(w),this._triggerRenderFrame=B,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(w){this._defaultZoomRate=w}setWheelZoomRate(w){this._wheelZoomRate=w}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(w){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!w&&w.around===\"center\")}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(w){return!!this._map.cooperativeGestures.isEnabled()&&!(w.ctrlKey||this._map.cooperativeGestures.isBypassed(w))}wheel(w){if(!this.isEnabled())return;if(this._shouldBePrevented(w))return void this._map.cooperativeGestures.notifyGestureBlocked(\"wheel_zoom\",w);let B=w.deltaMode===WheelEvent.DOM_DELTA_LINE?40*w.deltaY:w.deltaY,Q=u.now(),ee=Q-(this._lastWheelEventTime||0);this._lastWheelEventTime=Q,B!==0&&B%vr==0?this._type=\"wheel\":B!==0&&Math.abs(B)<4?this._type=\"trackpad\":ee>400?(this._type=null,this._lastValue=B,this._timeout=setTimeout(this._onTimeout,40,w)):this._type||(this._type=Math.abs(ee*B)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,B+=this._lastValue)),w.shiftKey&&B&&(B/=4),this._type&&(this._lastWheelEvent=w,this._delta-=B,this._active||this._start(w)),w.preventDefault()}_start(w){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);let B=c.mousePos(this._map.getCanvas(),w),Q=this._tr;this._around=B.y>Q.transform.height/2-Q.transform.getHorizon()?a.N.convert(this._aroundCenter?Q.center:Q.unproject(B)):a.N.convert(Q.center),this._aroundPoint=Q.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let w=this._tr.transform;if(this._delta!==0){let it=this._type===\"wheel\"&&Math.abs(this._delta)>vr?this._wheelZoomRate:this._defaultZoomRate,yt=2/(1+Math.exp(-Math.abs(this._delta*it)));this._delta<0&&yt!==0&&(yt=1/yt);let Ot=typeof this._targetZoom==\"number\"?w.zoomScale(this._targetZoom):w.scale;this._targetZoom=Math.min(w.maxZoom,Math.max(w.minZoom,w.scaleZoom(Ot*yt))),this._type===\"wheel\"&&(this._startZoom=w.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let B=typeof this._targetZoom==\"number\"?this._targetZoom:w.zoom,Q=this._startZoom,ee=this._easing,se,qe=!1,je=u.now()-this._lastWheelEventTime;if(this._type===\"wheel\"&&Q&&ee&&je){let it=Math.min(je/200,1),yt=ee(it);se=a.y.number(Q,B,yt),it<1?this._frameId||(this._frameId=!0):qe=!0}else se=B,qe=!0;return this._active=!0,qe&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!qe,zoomDelta:se-w.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(w){let B=a.b9;if(this._prevEase){let Q=this._prevEase,ee=(u.now()-Q.start)/Q.duration,se=Q.easing(ee+.01)-Q.easing(ee),qe=.27/Math.sqrt(se*se+1e-4)*.01,je=Math.sqrt(.0729-qe*qe);B=a.b8(qe,je,.25,1)}return this._prevEase={start:u.now(),duration:w,easing:B},B}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class fi{constructor(w,B){this._clickZoom=w,this._tapZoom=B}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 xi{constructor(w){this._tr=new _u(w),this.reset()}reset(){this._active=!1}dblclick(w,B){return w.preventDefault(),{cameraAnimation:Q=>{Q.easeTo({duration:300,zoom:this._tr.zoom+(w.shiftKey?-1:1),around:this._tr.unproject(B)},{originalEvent:w})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Fi{constructor(){this._tap=new Pf({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(w,B,Q){if(!this._swipePoint)if(this._tapTime){let ee=B[0],se=w.timeStamp-this._tapTime<500,qe=this._tapPoint.dist(ee)<30;se&&qe?Q.length>0&&(this._swipePoint=ee,this._swipeTouch=Q[0].identifier):this.reset()}else this._tap.touchstart(w,B,Q)}touchmove(w,B,Q){if(this._tapTime){if(this._swipePoint){if(Q[0].identifier!==this._swipeTouch)return;let ee=B[0],se=ee.y-this._swipePoint.y;return this._swipePoint=ee,w.preventDefault(),this._active=!0,{zoomDelta:se/128}}}else this._tap.touchmove(w,B,Q)}touchend(w,B,Q){if(this._tapTime)this._swipePoint&&Q.length===0&&this.reset();else{let ee=this._tap.touchend(w,B,Q);ee&&(this._tapTime=w.timeStamp,this._tapPoint=ee)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Xi{constructor(w,B,Q){this._el=w,this._mousePan=B,this._touchPan=Q}enable(w){this._inertiaOptions=w||{},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 hn{constructor(w,B,Q){this._pitchWithRotate=w.pitchWithRotate,this._mouseRotate=B,this._mousePitch=Q}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 Ti{constructor(w,B,Q,ee){this._el=w,this._touchZoom=B,this._touchRotate=Q,this._tapDragZoom=ee,this._rotationDisabled=!1,this._enabled=!0}enable(w){this._touchZoom.enable(w),this._rotationDisabled||this._touchRotate.enable(w),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 qi{constructor(w,B){this._bypassKey=navigator.userAgent.indexOf(\"Mac\")!==-1?\"metaKey\":\"ctrlKey\",this._map=w,this._options=B,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let w=this._map.getCanvasContainer();w.classList.add(\"maplibregl-cooperative-gestures\"),this._container=c.create(\"div\",\"maplibregl-cooperative-gesture-screen\",w);let B=this._map._getUIString(\"CooperativeGesturesHandler.WindowsHelpText\");this._bypassKey===\"metaKey\"&&(B=this._map._getUIString(\"CooperativeGesturesHandler.MacHelpText\"));let Q=this._map._getUIString(\"CooperativeGesturesHandler.MobileHelpText\"),ee=document.createElement(\"div\");ee.className=\"maplibregl-desktop-message\",ee.textContent=B,this._container.appendChild(ee);let se=document.createElement(\"div\");se.className=\"maplibregl-mobile-message\",se.textContent=Q,this._container.appendChild(se),this._container.setAttribute(\"aria-hidden\",\"true\")}_destroyUI(){this._container&&(c.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(w){return w[this._bypassKey]}notifyGestureBlocked(w,B){this._enabled&&(this._map.fire(new a.k(\"cooperativegestureprevented\",{gestureType:w,originalEvent:B})),this._container.classList.add(\"maplibregl-show\"),setTimeout(()=>{this._container.classList.remove(\"maplibregl-show\")},100))}}let Ii=le=>le.zoom||le.drag||le.pitch||le.rotate;class mi extends a.k{}function Pn(le){return le.panDelta&&le.panDelta.mag()||le.zoomDelta||le.bearingDelta||le.pitchDelta}class Ma{constructor(w,B){this.handleWindowEvent=ee=>{this.handleEvent(ee,`${ee.type}Window`)},this.handleEvent=(ee,se)=>{if(ee.type===\"blur\")return void this.stop(!0);this._updatingCamera=!0;let qe=ee.type===\"renderFrame\"?void 0:ee,je={needsRenderFrame:!1},it={},yt={},Ot=ee.touches,Nt=Ot?this._getMapTouches(Ot):void 0,hr=Nt?c.touchPos(this._map.getCanvas(),Nt):c.mousePos(this._map.getCanvas(),ee);for(let{handlerName:be,handler:Pe,allowed:Oe}of this._handlers){if(!Pe.isEnabled())continue;let Je;this._blockedByActive(yt,Oe,be)?Pe.reset():Pe[se||ee.type]&&(Je=Pe[se||ee.type](ee,hr,Nt),this.mergeHandlerResult(je,it,Je,be,qe),Je&&Je.needsRenderFrame&&this._triggerRenderFrame()),(Je||Pe.isActive())&&(yt[be]=Pe)}let Sr={};for(let be in this._previousActiveHandlers)yt[be]||(Sr[be]=qe);this._previousActiveHandlers=yt,(Object.keys(Sr).length||Pn(je))&&(this._changes.push([je,it,Sr]),this._triggerRenderFrame()),(Object.keys(yt).length||Pn(je))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:he}=je;he&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],he(this._map))},this._map=w,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Uf(w),this._bearingSnap=B.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(B);let Q=this._el;this._listeners=[[Q,\"touchstart\",{passive:!0}],[Q,\"touchmove\",{passive:!1}],[Q,\"touchend\",void 0],[Q,\"touchcancel\",void 0],[Q,\"mousedown\",void 0],[Q,\"mousemove\",void 0],[Q,\"mouseup\",void 0],[document,\"mousemove\",{capture:!0}],[document,\"mouseup\",void 0],[Q,\"mouseover\",void 0],[Q,\"mouseout\",void 0],[Q,\"dblclick\",void 0],[Q,\"click\",void 0],[Q,\"keydown\",{capture:!1}],[Q,\"keyup\",void 0],[Q,\"wheel\",{passive:!1}],[Q,\"contextmenu\",void 0],[window,\"blur\",void 0]];for(let[ee,se,qe]of this._listeners)c.addEventListener(ee,se,ee===document?this.handleWindowEvent:this.handleEvent,qe)}destroy(){for(let[w,B,Q]of this._listeners)c.removeEventListener(w,B,w===document?this.handleWindowEvent:this.handleEvent,Q)}_addDefaultHandlers(w){let B=this._map,Q=B.getCanvasContainer();this._add(\"mapEvent\",new sh(B,w));let ee=B.boxZoom=new xu(B,w);this._add(\"boxZoom\",ee),w.interactive&&w.boxZoom&&ee.enable();let se=B.cooperativeGestures=new qi(B,w.cooperativeGestures);this._add(\"cooperativeGestures\",se),w.cooperativeGestures&&se.enable();let qe=new Ic(B),je=new xi(B);B.doubleClickZoom=new fi(je,qe),this._add(\"tapZoom\",qe),this._add(\"clickZoom\",je),w.interactive&&w.doubleClickZoom&&B.doubleClickZoom.enable();let it=new Fi;this._add(\"tapDragZoom\",it);let yt=B.touchPitch=new gf(B);this._add(\"touchPitch\",yt),w.interactive&&w.touchPitch&&B.touchPitch.enable(w.touchPitch);let Ot=Dl(w),Nt=Ih(w);B.dragRotate=new hn(w,Ot,Nt),this._add(\"mouseRotate\",Ot,[\"mousePitch\"]),this._add(\"mousePitch\",Nt,[\"mouseRotate\"]),w.interactive&&w.dragRotate&&B.dragRotate.enable();let hr=(({enable:Je,clickTolerance:He})=>{let et=new pc({checkCorrectEvent:Mt=>c.mouseButton(Mt)===0&&!Mt.ctrlKey});return new ju({clickTolerance:He,move:(Mt,Dt)=>({around:Dt,panDelta:Dt.sub(Mt)}),activateOnStart:!0,moveStateManager:et,enable:Je,assignEvents:Ph})})(w),Sr=new Wu(w,B);B.dragPan=new Xi(Q,hr,Sr),this._add(\"mousePan\",hr),this._add(\"touchPan\",Sr,[\"touchZoom\",\"touchRotate\"]),w.interactive&&w.dragPan&&B.dragPan.enable(w.dragPan);let he=new Yc,be=new iu;B.touchZoomRotate=new Ti(Q,be,he,it),this._add(\"touchRotate\",he,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",be,[\"touchPan\",\"touchRotate\"]),w.interactive&&w.touchZoomRotate&&B.touchZoomRotate.enable(w.touchZoomRotate);let Pe=B.scrollZoom=new Ur(B,()=>this._triggerRenderFrame());this._add(\"scrollZoom\",Pe,[\"mousePan\"]),w.interactive&&w.scrollZoom&&B.scrollZoom.enable(w.scrollZoom);let Oe=B.keyboard=new Bt(B);this._add(\"keyboard\",Oe),w.interactive&&w.keyboard&&B.keyboard.enable(),this._add(\"blockableMapEvent\",new Fs(B))}_add(w,B,Q){this._handlers.push({handlerName:w,handler:B,allowed:Q}),this._handlersById[w]=B}stop(w){if(!this._updatingCamera){for(let{handler:B}of this._handlers)B.reset();this._inertia.clear(),this._fireEvents({},{},w),this._changes=[]}}isActive(){for(let{handler:w}of this._handlers)if(w.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Ii(this._eventsInProgress)||this.isZooming()}_blockedByActive(w,B,Q){for(let ee in w)if(ee!==Q&&(!B||B.indexOf(ee)<0))return!0;return!1}_getMapTouches(w){let B=[];for(let Q of w)this._el.contains(Q.target)&&B.push(Q);return B}mergeHandlerResult(w,B,Q,ee,se){if(!Q)return;a.e(w,Q);let qe={handlerName:ee,originalEvent:Q.originalEvent||se};Q.zoomDelta!==void 0&&(B.zoom=qe),Q.panDelta!==void 0&&(B.drag=qe),Q.pitchDelta!==void 0&&(B.pitch=qe),Q.bearingDelta!==void 0&&(B.rotate=qe)}_applyChanges(){let w={},B={},Q={};for(let[ee,se,qe]of this._changes)ee.panDelta&&(w.panDelta=(w.panDelta||new a.P(0,0))._add(ee.panDelta)),ee.zoomDelta&&(w.zoomDelta=(w.zoomDelta||0)+ee.zoomDelta),ee.bearingDelta&&(w.bearingDelta=(w.bearingDelta||0)+ee.bearingDelta),ee.pitchDelta&&(w.pitchDelta=(w.pitchDelta||0)+ee.pitchDelta),ee.around!==void 0&&(w.around=ee.around),ee.pinchAround!==void 0&&(w.pinchAround=ee.pinchAround),ee.noInertia&&(w.noInertia=ee.noInertia),a.e(B,se),a.e(Q,qe);this._updateMapTransform(w,B,Q),this._changes=[]}_updateMapTransform(w,B,Q){let ee=this._map,se=ee._getTransformForUpdate(),qe=ee.terrain;if(!(Pn(w)||qe&&this._terrainMovement))return this._fireEvents(B,Q,!0);let{panDelta:je,zoomDelta:it,bearingDelta:yt,pitchDelta:Ot,around:Nt,pinchAround:hr}=w;hr!==void 0&&(Nt=hr),ee._stop(!0),Nt=Nt||ee.transform.centerPoint;let Sr=se.pointLocation(je?Nt.sub(je):Nt);yt&&(se.bearing+=yt),Ot&&(se.pitch+=Ot),it&&(se.zoom+=it),qe?this._terrainMovement||!B.drag&&!B.zoom?B.drag&&this._terrainMovement?se.center=se.pointLocation(se.centerPoint.sub(je)):se.setLocationAtPoint(Sr,Nt):(this._terrainMovement=!0,this._map._elevationFreeze=!0,se.setLocationAtPoint(Sr,Nt)):se.setLocationAtPoint(Sr,Nt),ee._applyUpdatedTransform(se),this._map._update(),w.noInertia||this._inertia.record(w),this._fireEvents(B,Q,!0)}_fireEvents(w,B,Q){let ee=Ii(this._eventsInProgress),se=Ii(w),qe={};for(let Nt in w){let{originalEvent:hr}=w[Nt];this._eventsInProgress[Nt]||(qe[`${Nt}start`]=hr),this._eventsInProgress[Nt]=w[Nt]}!ee&&se&&this._fireEvent(\"movestart\",se.originalEvent);for(let Nt in qe)this._fireEvent(Nt,qe[Nt]);se&&this._fireEvent(\"move\",se.originalEvent);for(let Nt in w){let{originalEvent:hr}=w[Nt];this._fireEvent(Nt,hr)}let je={},it;for(let Nt in this._eventsInProgress){let{handlerName:hr,originalEvent:Sr}=this._eventsInProgress[Nt];this._handlersById[hr].isActive()||(delete this._eventsInProgress[Nt],it=B[hr]||Sr,je[`${Nt}end`]=it)}for(let Nt in je)this._fireEvent(Nt,je[Nt]);let yt=Ii(this._eventsInProgress),Ot=(ee||se)&&!yt;if(Ot&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;let Nt=this._map._getTransformForUpdate();Nt.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(Nt)}if(Q&&Ot){this._updatingCamera=!0;let Nt=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),hr=Sr=>Sr!==0&&-this._bearingSnap<Sr&&Sr<this._bearingSnap;!Nt||!Nt.essential&&u.prefersReducedMotion?(this._map.fire(new a.k(\"moveend\",{originalEvent:it})),hr(this._map.getBearing())&&this._map.resetNorth()):(hr(Nt.bearing||this._map.getBearing())&&(Nt.bearing=0),Nt.freezeElevation=!0,this._map.easeTo(Nt,{originalEvent:it})),this._updatingCamera=!1}}_fireEvent(w,B){this._map.fire(new a.k(w,B?{originalEvent:B}:{}))}_requestFrame(){return this._map.triggerRepaint(),this._map._renderTaskQueue.add(w=>{delete this._frameId,this.handleEvent(new mi(\"renderFrame\",{timeStamp:w})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class Ta extends a.E{constructor(w,B){super(),this._renderFrameCallback=()=>{let Q=Math.min((u.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(Q)),Q<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=w,this._bearingSnap=B.bearingSnap,this.on(\"moveend\",()=>{delete this._requestedCameraState})}getCenter(){return new a.N(this.transform.center.lng,this.transform.center.lat)}setCenter(w,B){return this.jumpTo({center:w},B)}panBy(w,B,Q){return w=a.P.convert(w).mult(-1),this.panTo(this.transform.center,a.e({offset:w},B),Q)}panTo(w,B,Q){return this.easeTo(a.e({center:w},B),Q)}getZoom(){return this.transform.zoom}setZoom(w,B){return this.jumpTo({zoom:w},B),this}zoomTo(w,B,Q){return this.easeTo(a.e({zoom:w},B),Q)}zoomIn(w,B){return this.zoomTo(this.getZoom()+1,w,B),this}zoomOut(w,B){return this.zoomTo(this.getZoom()-1,w,B),this}getBearing(){return this.transform.bearing}setBearing(w,B){return this.jumpTo({bearing:w},B),this}getPadding(){return this.transform.padding}setPadding(w,B){return this.jumpTo({padding:w},B),this}rotateTo(w,B,Q){return this.easeTo(a.e({bearing:w},B),Q)}resetNorth(w,B){return this.rotateTo(0,a.e({duration:1e3},w),B),this}resetNorthPitch(w,B){return this.easeTo(a.e({bearing:0,pitch:0,duration:1e3},w),B),this}snapToNorth(w,B){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(w,B):this}getPitch(){return this.transform.pitch}setPitch(w,B){return this.jumpTo({pitch:w},B),this}cameraForBounds(w,B){w=ce.convert(w).adjustAntiMeridian();let Q=B&&B.bearing||0;return this._cameraForBoxAndBearing(w.getNorthWest(),w.getSouthEast(),Q,B)}_cameraForBoxAndBearing(w,B,Q,ee){let se={top:0,bottom:0,right:0,left:0};if(typeof(ee=a.e({padding:se,offset:[0,0],maxZoom:this.transform.maxZoom},ee)).padding==\"number\"){let zr=ee.padding;ee.padding={top:zr,bottom:zr,right:zr,left:zr}}ee.padding=a.e(se,ee.padding);let qe=this.transform,je=qe.padding,it=new ce(w,B),yt=qe.project(it.getNorthWest()),Ot=qe.project(it.getNorthEast()),Nt=qe.project(it.getSouthEast()),hr=qe.project(it.getSouthWest()),Sr=a.ba(-Q),he=yt.rotate(Sr),be=Ot.rotate(Sr),Pe=Nt.rotate(Sr),Oe=hr.rotate(Sr),Je=new a.P(Math.max(he.x,be.x,Oe.x,Pe.x),Math.max(he.y,be.y,Oe.y,Pe.y)),He=new a.P(Math.min(he.x,be.x,Oe.x,Pe.x),Math.min(he.y,be.y,Oe.y,Pe.y)),et=Je.sub(He),Mt=(qe.width-(je.left+je.right+ee.padding.left+ee.padding.right))/et.x,Dt=(qe.height-(je.top+je.bottom+ee.padding.top+ee.padding.bottom))/et.y;if(Dt<0||Mt<0)return void a.w(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\");let Ut=Math.min(qe.scaleZoom(qe.scale*Math.min(Mt,Dt)),ee.maxZoom),tr=a.P.convert(ee.offset),mr=new a.P((ee.padding.left-ee.padding.right)/2,(ee.padding.top-ee.padding.bottom)/2).rotate(a.ba(Q)),Rr=tr.add(mr).mult(qe.scale/qe.zoomScale(Ut));return{center:qe.unproject(yt.add(Nt).div(2).sub(Rr)),zoom:Ut,bearing:Q}}fitBounds(w,B,Q){return this._fitInternal(this.cameraForBounds(w,B),B,Q)}fitScreenCoordinates(w,B,Q,ee,se){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(a.P.convert(w)),this.transform.pointLocation(a.P.convert(B)),Q,ee),ee,se)}_fitInternal(w,B,Q){return w?(delete(B=a.e(w,B)).padding,B.linear?this.easeTo(B,Q):this.flyTo(B,Q)):this}jumpTo(w,B){this.stop();let Q=this._getTransformForUpdate(),ee=!1,se=!1,qe=!1;return\"zoom\"in w&&Q.zoom!==+w.zoom&&(ee=!0,Q.zoom=+w.zoom),w.center!==void 0&&(Q.center=a.N.convert(w.center)),\"bearing\"in w&&Q.bearing!==+w.bearing&&(se=!0,Q.bearing=+w.bearing),\"pitch\"in w&&Q.pitch!==+w.pitch&&(qe=!0,Q.pitch=+w.pitch),w.padding==null||Q.isPaddingEqual(w.padding)||(Q.padding=w.padding),this._applyUpdatedTransform(Q),this.fire(new a.k(\"movestart\",B)).fire(new a.k(\"move\",B)),ee&&this.fire(new a.k(\"zoomstart\",B)).fire(new a.k(\"zoom\",B)).fire(new a.k(\"zoomend\",B)),se&&this.fire(new a.k(\"rotatestart\",B)).fire(new a.k(\"rotate\",B)).fire(new a.k(\"rotateend\",B)),qe&&this.fire(new a.k(\"pitchstart\",B)).fire(new a.k(\"pitch\",B)).fire(new a.k(\"pitchend\",B)),this.fire(new a.k(\"moveend\",B))}calculateCameraOptionsFromTo(w,B,Q,ee=0){let se=a.Z.fromLngLat(w,B),qe=a.Z.fromLngLat(Q,ee),je=qe.x-se.x,it=qe.y-se.y,yt=qe.z-se.z,Ot=Math.hypot(je,it,yt);if(Ot===0)throw new Error(\"Can't calculate camera options with same From and To\");let Nt=Math.hypot(je,it),hr=this.transform.scaleZoom(this.transform.cameraToCenterDistance/Ot/this.transform.tileSize),Sr=180*Math.atan2(je,-it)/Math.PI,he=180*Math.acos(Nt/Ot)/Math.PI;return he=yt<0?90-he:90+he,{center:qe.toLngLat(),zoom:hr,pitch:he,bearing:Sr}}easeTo(w,B){var Q;this._stop(!1,w.easeId),((w=a.e({offset:[0,0],duration:500,easing:a.b9},w)).animate===!1||!w.essential&&u.prefersReducedMotion)&&(w.duration=0);let ee=this._getTransformForUpdate(),se=ee.zoom,qe=ee.bearing,je=ee.pitch,it=ee.padding,yt=\"bearing\"in w?this._normalizeBearing(w.bearing,qe):qe,Ot=\"pitch\"in w?+w.pitch:je,Nt=\"padding\"in w?w.padding:ee.padding,hr=a.P.convert(w.offset),Sr=ee.centerPoint.add(hr),he=ee.pointLocation(Sr),{center:be,zoom:Pe}=ee.getConstrained(a.N.convert(w.center||he),(Q=w.zoom)!==null&&Q!==void 0?Q:se);this._normalizeCenter(be,ee);let Oe=ee.project(he),Je=ee.project(be).sub(Oe),He=ee.zoomScale(Pe-se),et,Mt;w.around&&(et=a.N.convert(w.around),Mt=ee.locationPoint(et));let Dt={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=this._zooming||Pe!==se,this._rotating=this._rotating||qe!==yt,this._pitching=this._pitching||Ot!==je,this._padding=!ee.isPaddingEqual(Nt),this._easeId=w.easeId,this._prepareEase(B,w.noMoveStart,Dt),this.terrain&&this._prepareElevation(be),this._ease(Ut=>{if(this._zooming&&(ee.zoom=a.y.number(se,Pe,Ut)),this._rotating&&(ee.bearing=a.y.number(qe,yt,Ut)),this._pitching&&(ee.pitch=a.y.number(je,Ot,Ut)),this._padding&&(ee.interpolatePadding(it,Nt,Ut),Sr=ee.centerPoint.add(hr)),this.terrain&&!w.freezeElevation&&this._updateElevation(Ut),et)ee.setLocationAtPoint(et,Mt);else{let tr=ee.zoomScale(ee.zoom-se),mr=Pe>se?Math.min(2,He):Math.max(.5,He),Rr=Math.pow(mr,1-Ut),zr=ee.unproject(Oe.add(Je.mult(Ut*Rr)).mult(tr));ee.setLocationAtPoint(ee.renderWorldCopies?zr.wrap():zr,Sr)}this._applyUpdatedTransform(ee),this._fireMoveEvents(B)},Ut=>{this.terrain&&w.freezeElevation&&this._finalizeElevation(),this._afterEase(B,Ut)},w),this}_prepareEase(w,B,Q={}){this._moving=!0,B||Q.moving||this.fire(new a.k(\"movestart\",w)),this._zooming&&!Q.zooming&&this.fire(new a.k(\"zoomstart\",w)),this._rotating&&!Q.rotating&&this.fire(new a.k(\"rotatestart\",w)),this._pitching&&!Q.pitching&&this.fire(new a.k(\"pitchstart\",w))}_prepareElevation(w){this._elevationCenter=w,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(w,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(w){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let B=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(w<1&&B!==this._elevationTarget){let Q=this._elevationTarget-this._elevationStart;this._elevationStart+=w*(Q-(B-(Q*w+this._elevationStart))/(1-w)),this._elevationTarget=B}this.transform.elevation=a.y.number(this._elevationStart,this._elevationTarget,w)}_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(w){let B=w.getCameraPosition(),Q=this.terrain.getElevationForLngLatZoom(B.lngLat,w.zoom);if(B.altitude<Q){let ee=this.calculateCameraOptionsFromTo(B.lngLat,Q,w.center,w.elevation);return{pitch:ee.pitch,zoom:ee.zoom}}return{}}_applyUpdatedTransform(w){let B=[];if(this.terrain&&B.push(ee=>this._elevateCameraIfInsideTerrain(ee)),this.transformCameraUpdate&&B.push(ee=>this.transformCameraUpdate(ee)),!B.length)return;let Q=w.clone();for(let ee of B){let se=Q.clone(),{center:qe,zoom:je,pitch:it,bearing:yt,elevation:Ot}=ee(se);qe&&(se.center=qe),je!==void 0&&(se.zoom=je),it!==void 0&&(se.pitch=it),yt!==void 0&&(se.bearing=yt),Ot!==void 0&&(se.elevation=Ot),Q.apply(se)}this.transform.apply(Q)}_fireMoveEvents(w){this.fire(new a.k(\"move\",w)),this._zooming&&this.fire(new a.k(\"zoom\",w)),this._rotating&&this.fire(new a.k(\"rotate\",w)),this._pitching&&this.fire(new a.k(\"pitch\",w))}_afterEase(w,B){if(this._easeId&&B&&this._easeId===B)return;delete this._easeId;let Q=this._zooming,ee=this._rotating,se=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,Q&&this.fire(new a.k(\"zoomend\",w)),ee&&this.fire(new a.k(\"rotateend\",w)),se&&this.fire(new a.k(\"pitchend\",w)),this.fire(new a.k(\"moveend\",w))}flyTo(w,B){var Q;if(!w.essential&&u.prefersReducedMotion){let Qi=a.M(w,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(Qi,B)}this.stop(),w=a.e({offset:[0,0],speed:1.2,curve:1.42,easing:a.b9},w);let ee=this._getTransformForUpdate(),se=ee.zoom,qe=ee.bearing,je=ee.pitch,it=ee.padding,yt=\"bearing\"in w?this._normalizeBearing(w.bearing,qe):qe,Ot=\"pitch\"in w?+w.pitch:je,Nt=\"padding\"in w?w.padding:ee.padding,hr=a.P.convert(w.offset),Sr=ee.centerPoint.add(hr),he=ee.pointLocation(Sr),{center:be,zoom:Pe}=ee.getConstrained(a.N.convert(w.center||he),(Q=w.zoom)!==null&&Q!==void 0?Q:se);this._normalizeCenter(be,ee);let Oe=ee.zoomScale(Pe-se),Je=ee.project(he),He=ee.project(be).sub(Je),et=w.curve,Mt=Math.max(ee.width,ee.height),Dt=Mt/Oe,Ut=He.mag();if(\"minZoom\"in w){let Qi=a.ac(Math.min(w.minZoom,se,Pe),ee.minZoom,ee.maxZoom),Mn=Mt/ee.zoomScale(Qi-se);et=Math.sqrt(Mn/Ut*2)}let tr=et*et;function mr(Qi){let Mn=(Dt*Dt-Mt*Mt+(Qi?-1:1)*tr*tr*Ut*Ut)/(2*(Qi?Dt:Mt)*tr*Ut);return Math.log(Math.sqrt(Mn*Mn+1)-Mn)}function Rr(Qi){return(Math.exp(Qi)-Math.exp(-Qi))/2}function zr(Qi){return(Math.exp(Qi)+Math.exp(-Qi))/2}let Xr=mr(!1),di=function(Qi){return zr(Xr)/zr(Xr+et*Qi)},Li=function(Qi){return Mt*((zr(Xr)*(Rr(Mn=Xr+et*Qi)/zr(Mn))-Rr(Xr))/tr)/Ut;var Mn},Ci=(mr(!0)-Xr)/et;if(Math.abs(Ut)<1e-6||!isFinite(Ci)){if(Math.abs(Mt-Dt)<1e-6)return this.easeTo(w,B);let Qi=Dt<Mt?-1:1;Ci=Math.abs(Math.log(Dt/Mt))/et,Li=()=>0,di=Mn=>Math.exp(Qi*et*Mn)}return w.duration=\"duration\"in w?+w.duration:1e3*Ci/(\"screenSpeed\"in w?+w.screenSpeed/et:+w.speed),w.maxDuration&&w.duration>w.maxDuration&&(w.duration=0),this._zooming=!0,this._rotating=qe!==yt,this._pitching=Ot!==je,this._padding=!ee.isPaddingEqual(Nt),this._prepareEase(B,!1),this.terrain&&this._prepareElevation(be),this._ease(Qi=>{let Mn=Qi*Ci,pa=1/di(Mn);ee.zoom=Qi===1?Pe:se+ee.scaleZoom(pa),this._rotating&&(ee.bearing=a.y.number(qe,yt,Qi)),this._pitching&&(ee.pitch=a.y.number(je,Ot,Qi)),this._padding&&(ee.interpolatePadding(it,Nt,Qi),Sr=ee.centerPoint.add(hr)),this.terrain&&!w.freezeElevation&&this._updateElevation(Qi);let ea=Qi===1?be:ee.unproject(Je.add(He.mult(Li(Mn))).mult(pa));ee.setLocationAtPoint(ee.renderWorldCopies?ea.wrap():ea,Sr),this._applyUpdatedTransform(ee),this._fireMoveEvents(B)},()=>{this.terrain&&w.freezeElevation&&this._finalizeElevation(),this._afterEase(B)},w),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(w,B){var Q;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let ee=this._onEaseEnd;delete this._onEaseEnd,ee.call(this,B)}return w||(Q=this.handlers)===null||Q===void 0||Q.stop(!1),this}_ease(w,B,Q){Q.animate===!1||Q.duration===0?(w(1),B()):(this._easeStart=u.now(),this._easeOptions=Q,this._onEaseFrame=w,this._onEaseEnd=B,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(w,B){w=a.b3(w,-180,180);let Q=Math.abs(w-B);return Math.abs(w-360-B)<Q&&(w-=360),Math.abs(w+360-B)<Q&&(w+=360),w}_normalizeCenter(w,B){if(!B.renderWorldCopies||B.lngRange)return;let Q=w.lng-B.center.lng;w.lng+=Q>180?-360:Q<-180?360:0}queryTerrainElevation(w){return this.terrain?this.terrain.getElevationForLngLatZoom(a.N.convert(w),this.transform.tileZoom)-this.transform.elevation:null}}let Ea={compact:!0,customAttribution:'<a href=\"https://maplibre.org/\" target=\"_blank\">MapLibre</a>'};class qa{constructor(w=Ea){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=B=>{!B||B.sourceDataType!==\"metadata\"&&B.sourceDataType!==\"visibility\"&&B.dataType!==\"style\"&&B.type!==\"terrain\"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?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=w}getDefaultPosition(){return\"bottom-right\"}onAdd(w){return this._map=w,this._compact=this.options.compact,this._container=c.create(\"details\",\"maplibregl-ctrl maplibregl-ctrl-attrib\"),this._compactButton=c.create(\"summary\",\"maplibregl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=c.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(){c.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(w,B){let Q=this._map._getUIString(`AttributionControl.${B}`);w.title=Q,w.setAttribute(\"aria-label\",Q)}_updateAttributions(){if(!this._map.style)return;let w=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?w=w.concat(this.options.customAttribution.map(ee=>typeof ee!=\"string\"?\"\":ee)):typeof this.options.customAttribution==\"string\"&&w.push(this.options.customAttribution)),this._map.style.stylesheet){let ee=this._map.style.stylesheet;this.styleOwner=ee.owner,this.styleId=ee.id}let B=this._map.style.sourceCaches;for(let ee in B){let se=B[ee];if(se.used||se.usedForTerrain){let qe=se.getSource();qe.attribution&&w.indexOf(qe.attribution)<0&&w.push(qe.attribution)}}w=w.filter(ee=>String(ee).trim()),w.sort((ee,se)=>ee.length-se.length),w=w.filter((ee,se)=>{for(let qe=se+1;qe<w.length;qe++)if(w[qe].indexOf(ee)>=0)return!1;return!0});let Q=w.join(\" | \");Q!==this._attribHTML&&(this._attribHTML=Q,w.length?(this._innerContainer.innerHTML=Q,this._container.classList.remove(\"maplibregl-attrib-empty\")):this._container.classList.add(\"maplibregl-attrib-empty\"),this._updateCompact(),this._editLink=null)}}class Cn{constructor(w={}){this._updateCompact=()=>{let B=this._container.children;if(B.length){let Q=B[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&Q.classList.add(\"maplibregl-compact\"):Q.classList.remove(\"maplibregl-compact\")}},this.options=w}getDefaultPosition(){return\"bottom-left\"}onAdd(w){this._map=w,this._compact=this.options&&this.options.compact,this._container=c.create(\"div\",\"maplibregl-ctrl\");let B=c.create(\"a\",\"maplibregl-ctrl-logo\");return B.target=\"_blank\",B.rel=\"noopener nofollow\",B.href=\"https://maplibre.org/\",B.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),B.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(B),this._container.style.display=\"block\",this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container}onRemove(){c.remove(this._container),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._compact=void 0}}class sn{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(w){let B=++this._id;return this._queue.push({callback:w,id:B,cancelled:!1}),B}remove(w){let B=this._currentlyRunning,Q=B?this._queue.concat(B):this._queue;for(let ee of Q)if(ee.id===w)return void(ee.cancelled=!0)}run(w=0){if(this._currentlyRunning)throw new Error(\"Attempting to run(), but is already running.\");let B=this._currentlyRunning=this._queue;this._queue=[];for(let Q of B)if(!Q.cancelled&&(Q.callback(w),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var Ua=a.Y([{name:\"a_pos3d\",type:\"Int16\",components:3}]);class mo extends a.E{constructor(w){super(),this.sourceCache=w,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,w.usedForTerrain=!0,w.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(w,B){this.sourceCache.update(w,B),this._renderableTilesKeys=[];let Q={};for(let ee of w.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:B}))Q[ee.key]=!0,this._renderableTilesKeys.push(ee.key),this._tiles[ee.key]||(ee.posMatrix=new Float64Array(16),a.aP(ee.posMatrix,0,a.X,0,a.X,0,1),this._tiles[ee.key]=new Lt(ee,this.tileSize));for(let ee in this._tiles)Q[ee]||delete this._tiles[ee]}freeRtt(w){for(let B in this._tiles){let Q=this._tiles[B];(!w||Q.tileID.equals(w)||Q.tileID.isChildOf(w)||w.isChildOf(Q.tileID))&&(Q.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(w=>this.getTileByID(w))}getTileByID(w){return this._tiles[w]}getTerrainCoords(w){let B={};for(let Q of this._renderableTilesKeys){let ee=this._tiles[Q].tileID;if(ee.canonical.equals(w.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16),a.aP(se.posMatrix,0,a.X,0,a.X,0,1),B[Q]=se}else if(ee.canonical.isChildOf(w.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16);let qe=ee.canonical.z-w.canonical.z,je=ee.canonical.x-(ee.canonical.x>>qe<<qe),it=ee.canonical.y-(ee.canonical.y>>qe<<qe),yt=a.X>>qe;a.aP(se.posMatrix,0,yt,0,yt,0,1),a.J(se.posMatrix,se.posMatrix,[-je*yt,-it*yt,0]),B[Q]=se}else if(w.canonical.isChildOf(ee.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16);let qe=w.canonical.z-ee.canonical.z,je=w.canonical.x-(w.canonical.x>>qe<<qe),it=w.canonical.y-(w.canonical.y>>qe<<qe),yt=a.X>>qe;a.aP(se.posMatrix,0,a.X,0,a.X,0,1),a.J(se.posMatrix,se.posMatrix,[je*yt,it*yt,0]),a.K(se.posMatrix,se.posMatrix,[1/2**qe,1/2**qe,0]),B[Q]=se}}return B}getSourceTile(w,B){let Q=this.sourceCache._source,ee=w.overscaledZ-this.deltaZoom;if(ee>Q.maxzoom&&(ee=Q.maxzoom),ee<Q.minzoom)return null;this._sourceTileCache[w.key]||(this._sourceTileCache[w.key]=w.scaledTo(ee).key);let se=this.sourceCache.getTileByID(this._sourceTileCache[w.key]);if((!se||!se.dem)&&B)for(;ee>=Q.minzoom&&(!se||!se.dem);)se=this.sourceCache.getTileByID(w.scaledTo(ee--).key);return se}tilesAfterTime(w=Date.now()){return Object.values(this._tiles).filter(B=>B.timeAdded>=w)}}class Xo{constructor(w,B,Q){this.painter=w,this.sourceCache=new mo(B),this.options=Q,this.exaggeration=typeof Q.exaggeration==\"number\"?Q.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(w,B,Q,ee=a.X){var se;if(!(B>=0&&B<ee&&Q>=0&&Q<ee))return 0;let qe=this.getTerrainData(w),je=(se=qe.tile)===null||se===void 0?void 0:se.dem;if(!je)return 0;let it=function(he,be,Pe){var Oe=be[0],Je=be[1];return he[0]=Pe[0]*Oe+Pe[4]*Je+Pe[12],he[1]=Pe[1]*Oe+Pe[5]*Je+Pe[13],he}([],[B/ee*a.X,Q/ee*a.X],qe.u_terrain_matrix),yt=[it[0]*je.dim,it[1]*je.dim],Ot=Math.floor(yt[0]),Nt=Math.floor(yt[1]),hr=yt[0]-Ot,Sr=yt[1]-Nt;return je.get(Ot,Nt)*(1-hr)*(1-Sr)+je.get(Ot+1,Nt)*hr*(1-Sr)+je.get(Ot,Nt+1)*(1-hr)*Sr+je.get(Ot+1,Nt+1)*hr*Sr}getElevationForLngLatZoom(w,B){if(!a.bb(B,w.wrap()))return 0;let{tileID:Q,mercatorX:ee,mercatorY:se}=this._getOverscaledTileIDFromLngLatZoom(w,B);return this.getElevation(Q,ee%a.X,se%a.X,a.X)}getElevation(w,B,Q,ee=a.X){return this.getDEMElevation(w,B,Q,ee)*this.exaggeration}getTerrainData(w){if(!this._emptyDemTexture){let ee=this.painter.context,se=new a.R({width:1,height:1},new Uint8Array(4));this._emptyDepthTexture=new g(ee,se,ee.gl.RGBA,{premultiply:!1}),this._emptyDemUnpack=[0,0,0,0],this._emptyDemTexture=new g(ee,new a.R({width:1,height:1}),ee.gl.RGBA,{premultiply:!1}),this._emptyDemTexture.bind(ee.gl.NEAREST,ee.gl.CLAMP_TO_EDGE),this._emptyDemMatrix=a.an([])}let B=this.sourceCache.getSourceTile(w,!0);if(B&&B.dem&&(!B.demTexture||B.needsTerrainPrepare)){let ee=this.painter.context;B.demTexture=this.painter.getTileTexture(B.dem.stride),B.demTexture?B.demTexture.update(B.dem.getPixels(),{premultiply:!1}):B.demTexture=new g(ee,B.dem.getPixels(),ee.gl.RGBA,{premultiply:!1}),B.demTexture.bind(ee.gl.NEAREST,ee.gl.CLAMP_TO_EDGE),B.needsTerrainPrepare=!1}let Q=B&&B+B.tileID.key+w.key;if(Q&&!this._demMatrixCache[Q]){let ee=this.sourceCache.sourceCache._source.maxzoom,se=w.canonical.z-B.tileID.canonical.z;w.overscaledZ>w.canonical.z&&(w.canonical.z>=ee?se=w.canonical.z-ee:a.w(\"cannot calculate elevation if elevation maxzoom > source.maxzoom\"));let qe=w.canonical.x-(w.canonical.x>>se<<se),je=w.canonical.y-(w.canonical.y>>se<<se),it=a.bc(new Float64Array(16),[1/(a.X<<se),1/(a.X<<se),0]);a.J(it,it,[qe*a.X,je*a.X,0]),this._demMatrixCache[w.key]={matrix:it,coord:w}}return{u_depth:2,u_terrain:3,u_terrain_dim:B&&B.dem&&B.dem.dim||1,u_terrain_matrix:Q?this._demMatrixCache[w.key].matrix:this._emptyDemMatrix,u_terrain_unpack:B&&B.dem&&B.dem.getUnpackVector()||this._emptyDemUnpack,u_terrain_exaggeration:this.exaggeration,texture:(B&&B.demTexture||this._emptyDemTexture).texture,depthTexture:(this._fboDepthTexture||this._emptyDepthTexture).texture,tile:B}}getFramebuffer(w){let B=this.painter,Q=B.width/devicePixelRatio,ee=B.height/devicePixelRatio;return!this._fbo||this._fbo.width===Q&&this._fbo.height===ee||(this._fbo.destroy(),this._fboCoordsTexture.destroy(),this._fboDepthTexture.destroy(),delete this._fbo,delete this._fboDepthTexture,delete this._fboCoordsTexture),this._fboCoordsTexture||(this._fboCoordsTexture=new g(B.context,{width:Q,height:ee,data:null},B.context.gl.RGBA,{premultiply:!1}),this._fboCoordsTexture.bind(B.context.gl.NEAREST,B.context.gl.CLAMP_TO_EDGE)),this._fboDepthTexture||(this._fboDepthTexture=new g(B.context,{width:Q,height:ee,data:null},B.context.gl.RGBA,{premultiply:!1}),this._fboDepthTexture.bind(B.context.gl.NEAREST,B.context.gl.CLAMP_TO_EDGE)),this._fbo||(this._fbo=B.context.createFramebuffer(Q,ee,!0,!1),this._fbo.depthAttachment.set(B.context.createRenderbuffer(B.context.gl.DEPTH_COMPONENT16,Q,ee))),this._fbo.colorAttachment.set(w===\"coords\"?this._fboCoordsTexture.texture:this._fboDepthTexture.texture),this._fbo}getCoordsTexture(){let w=this.painter.context;if(this._coordsTexture)return this._coordsTexture;let B=new Uint8Array(this._coordsTextureSize*this._coordsTextureSize*4);for(let se=0,qe=0;se<this._coordsTextureSize;se++)for(let je=0;je<this._coordsTextureSize;je++,qe+=4)B[qe+0]=255&je,B[qe+1]=255&se,B[qe+2]=je>>8<<4|se>>8,B[qe+3]=0;let Q=new a.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(B.buffer)),ee=new g(w,Q,w.gl.RGBA,{premultiply:!1});return ee.bind(w.gl.NEAREST,w.gl.CLAMP_TO_EDGE),this._coordsTexture=ee,ee}pointCoordinate(w){this.painter.maybeDrawDepthAndCoords(!0);let B=new Uint8Array(4),Q=this.painter.context,ee=Q.gl,se=Math.round(w.x*this.painter.pixelRatio/devicePixelRatio),qe=Math.round(w.y*this.painter.pixelRatio/devicePixelRatio),je=Math.round(this.painter.height/devicePixelRatio);Q.bindFramebuffer.set(this.getFramebuffer(\"coords\").framebuffer),ee.readPixels(se,je-qe-1,1,1,ee.RGBA,ee.UNSIGNED_BYTE,B),Q.bindFramebuffer.set(null);let it=B[0]+(B[2]>>4<<8),yt=B[1]+((15&B[2])<<8),Ot=this.coordsIndex[255-B[3]],Nt=Ot&&this.sourceCache.getTileByID(Ot);if(!Nt)return null;let hr=this._coordsTextureSize,Sr=(1<<Nt.tileID.canonical.z)*hr;return new a.Z((Nt.tileID.canonical.x*hr+it)/Sr+Nt.tileID.wrap,(Nt.tileID.canonical.y*hr+yt)/Sr,this.getElevation(Nt.tileID,it,yt,hr))}depthAtPoint(w){let B=new Uint8Array(4),Q=this.painter.context,ee=Q.gl;return Q.bindFramebuffer.set(this.getFramebuffer(\"depth\").framebuffer),ee.readPixels(w.x,this.painter.height/devicePixelRatio-w.y-1,1,1,ee.RGBA,ee.UNSIGNED_BYTE,B),Q.bindFramebuffer.set(null),(B[0]/16777216+B[1]/65536+B[2]/256+B[3])/256}getTerrainMesh(){if(this._mesh)return this._mesh;let w=this.painter.context,B=new a.bd,Q=new a.aY,ee=this.meshSize,se=a.X/ee,qe=ee*ee;for(let Nt=0;Nt<=ee;Nt++)for(let hr=0;hr<=ee;hr++)B.emplaceBack(hr*se,Nt*se,0);for(let Nt=0;Nt<qe;Nt+=ee+1)for(let hr=0;hr<ee;hr++)Q.emplaceBack(hr+Nt,ee+hr+Nt+1,ee+hr+Nt+2),Q.emplaceBack(hr+Nt,ee+hr+Nt+2,hr+Nt+1);let je=B.length,it=je+2*(ee+1);for(let Nt of[0,1])for(let hr=0;hr<=ee;hr++)for(let Sr of[0,1])B.emplaceBack(hr*se,Nt*a.X,Sr);for(let Nt=0;Nt<2*ee;Nt+=2)Q.emplaceBack(it+Nt,it+Nt+1,it+Nt+3),Q.emplaceBack(it+Nt,it+Nt+3,it+Nt+2),Q.emplaceBack(je+Nt,je+Nt+3,je+Nt+1),Q.emplaceBack(je+Nt,je+Nt+2,je+Nt+3);let yt=B.length,Ot=yt+2*(ee+1);for(let Nt of[0,1])for(let hr=0;hr<=ee;hr++)for(let Sr of[0,1])B.emplaceBack(Nt*a.X,hr*se,Sr);for(let Nt=0;Nt<2*ee;Nt+=2)Q.emplaceBack(yt+Nt,yt+Nt+1,yt+Nt+3),Q.emplaceBack(yt+Nt,yt+Nt+3,yt+Nt+2),Q.emplaceBack(Ot+Nt,Ot+Nt+3,Ot+Nt+1),Q.emplaceBack(Ot+Nt,Ot+Nt+2,Ot+Nt+3);return this._mesh=new Pu(w.createVertexBuffer(B,Ua.members),w.createIndexBuffer(Q),a.a0.simpleSegment(0,0,B.length,Q.length)),this._mesh}getMeshFrameDelta(w){return 2*Math.PI*a.be/Math.pow(2,w)/5}getMinTileElevationForLngLatZoom(w,B){var Q;let{tileID:ee}=this._getOverscaledTileIDFromLngLatZoom(w,B);return(Q=this.getMinMaxElevation(ee).minElevation)!==null&&Q!==void 0?Q:0}getMinMaxElevation(w){let B=this.getTerrainData(w).tile,Q={minElevation:null,maxElevation:null};return B&&B.dem&&(Q.minElevation=B.dem.min*this.exaggeration,Q.maxElevation=B.dem.max*this.exaggeration),Q}_getOverscaledTileIDFromLngLatZoom(w,B){let Q=a.Z.fromLngLat(w.wrap()),ee=(1<<B)*a.X,se=Q.x*ee,qe=Q.y*ee,je=Math.floor(se/a.X),it=Math.floor(qe/a.X);return{tileID:new a.S(B,0,B,je,it),mercatorX:se,mercatorY:qe}}}class Ts{constructor(w,B,Q){this._context=w,this._size=B,this._tileSize=Q,this._objects=[],this._recentlyUsed=[],this._stamp=0}destruct(){for(let w of this._objects)w.texture.destroy(),w.fbo.destroy()}_createObject(w){let B=this._context.createFramebuffer(this._tileSize,this._tileSize,!0,!0),Q=new g(this._context,{width:this._tileSize,height:this._tileSize,data:null},this._context.gl.RGBA);return Q.bind(this._context.gl.LINEAR,this._context.gl.CLAMP_TO_EDGE),B.depthAttachment.set(this._context.createRenderbuffer(this._context.gl.DEPTH_STENCIL,this._tileSize,this._tileSize)),B.colorAttachment.set(Q.texture),{id:w,fbo:B,texture:Q,stamp:-1,inUse:!1}}getObjectForId(w){return this._objects[w]}useObject(w){w.inUse=!0,this._recentlyUsed=this._recentlyUsed.filter(B=>w.id!==B),this._recentlyUsed.push(w.id)}stampObject(w){w.stamp=++this._stamp}getOrCreateFreeObject(){for(let B of this._recentlyUsed)if(!this._objects[B].inUse)return this._objects[B];if(this._objects.length>=this._size)throw new Error(\"No free RenderPool available, call freeAllObjects() required!\");let w=this._createObject(this._objects.length);return this._objects.push(w),w}freeObject(w){w.inUse=!1}freeAllObjects(){for(let w of this._objects)this.freeObject(w)}isFull(){return!(this._objects.length<this._size)&&this._objects.some(w=>!w.inUse)===!1}}let Qo={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class ys{constructor(w,B){this.painter=w,this.terrain=B,this.pool=new Ts(w.context,30,B.sourceCache.tileSize*B.qualityFactor)}destruct(){this.pool.destruct()}getTexture(w){return this.pool.getObjectForId(w.rtt[this._stacks.length-1].id).texture}prepareForRender(w,B){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=w._order.filter(Q=>!w._layers[Q].isHidden(B)),this._coordsDescendingInv={};for(let Q in w.sourceCaches){this._coordsDescendingInv[Q]={};let ee=w.sourceCaches[Q].getVisibleCoordinates();for(let se of ee){let qe=this.terrain.sourceCache.getTerrainCoords(se);for(let je in qe)this._coordsDescendingInv[Q][je]||(this._coordsDescendingInv[Q][je]=[]),this._coordsDescendingInv[Q][je].push(qe[je])}}this._coordsDescendingInvStr={};for(let Q of w._order){let ee=w._layers[Q],se=ee.source;if(Qo[ee.type]&&!this._coordsDescendingInvStr[se]){this._coordsDescendingInvStr[se]={};for(let qe in this._coordsDescendingInv[se])this._coordsDescendingInvStr[se][qe]=this._coordsDescendingInv[se][qe].map(je=>je.key).sort().join()}}for(let Q of this._renderableTiles)for(let ee in this._coordsDescendingInvStr){let se=this._coordsDescendingInvStr[ee][Q.tileID.key];se&&se!==Q.rttCoords[ee]&&(Q.rtt=[])}}renderLayer(w){if(w.isHidden(this.painter.transform.zoom))return!1;let B=w.type,Q=this.painter,ee=this._renderableLayerIds[this._renderableLayerIds.length-1]===w.id;if(Qo[B]&&(this._prevType&&Qo[this._prevType]||this._stacks.push([]),this._prevType=B,this._stacks[this._stacks.length-1].push(w.id),!ee))return!0;if(Qo[this._prevType]||Qo[B]&&ee){this._prevType=B;let se=this._stacks.length-1,qe=this._stacks[se]||[];for(let je of this._renderableTiles){if(this.pool.isFull()&&(tu(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(je),je.rtt[se]){let yt=this.pool.getObjectForId(je.rtt[se].id);if(yt.stamp===je.rtt[se].stamp){this.pool.useObject(yt);continue}}let it=this.pool.getOrCreateFreeObject();this.pool.useObject(it),this.pool.stampObject(it),je.rtt[se]={id:it.id,stamp:it.stamp},Q.context.bindFramebuffer.set(it.fbo.framebuffer),Q.context.clear({color:a.aM.transparent,stencil:0}),Q.currentStencilSource=void 0;for(let yt=0;yt<qe.length;yt++){let Ot=Q.style._layers[qe[yt]],Nt=Ot.source?this._coordsDescendingInv[Ot.source][je.tileID.key]:[je.tileID];Q.context.viewport.set([0,0,it.fbo.width,it.fbo.height]),Q._renderTileClippingMasks(Ot,Nt),Q.renderLayer(Q,Q.style.sourceCaches[Ot.source],Ot,Nt),Ot.source&&(je.rttCoords[Ot.source]=this._coordsDescendingInvStr[Ot.source][je.tileID.key])}}return tu(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects(),Qo[B]}return!1}}let Bo={\"AttributionControl.ToggleAttribution\":\"Toggle attribution\",\"AttributionControl.MapFeedback\":\"Map feedback\",\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"MapLibre logo\",\"Map.Title\":\"Map\",\"Marker.Title\":\"Map marker\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"Popup.Close\":\"Close popup\",\"ScaleControl.Feet\":\"ft\",\"ScaleControl.Meters\":\"m\",\"ScaleControl.Kilometers\":\"km\",\"ScaleControl.Miles\":\"mi\",\"ScaleControl.NauticalMiles\":\"nm\",\"TerrainControl.Enable\":\"Enable terrain\",\"TerrainControl.Disable\":\"Disable terrain\",\"CooperativeGesturesHandler.WindowsHelpText\":\"Use Ctrl + scroll to zoom the map\",\"CooperativeGesturesHandler.MacHelpText\":\"Use \\u2318 + scroll to zoom the map\",\"CooperativeGesturesHandler.MobileHelpText\":\"Use two fingers to move the map\"},yl=o,Gs={hash:!1,interactive:!0,bearingSnap:7,attributionControl:Ea,maplibreLogo:!1,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,refreshExpiredTiles:!0,scrollZoom:!0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:!1,trackResize:!0,center:[0,0],zoom:0,bearing:0,pitch:0,renderWorldCopies:!0,maxTileCacheSize:null,maxTileCacheZoomLevels:a.a.MAX_TILE_CACHE_ZOOM_LEVELS,transformRequest:null,transformCameraUpdate:null,fadeDuration:300,crossSourceCollisions:!0,clickTolerance:3,localIdeographFontFamily:\"sans-serif\",pitchWithRotate:!0,validateStyle:!0,maxCanvasSize:[4096,4096],cancelPendingTileRequestsWhileZooming:!0},Rs=le=>{le.touchstart=le.dragStart,le.touchmoveWindow=le.dragMove,le.touchend=le.dragEnd},ia={showCompass:!0,showZoom:!0,visualizePitch:!1};class Ka{constructor(w,B,Q=!1){this.mousedown=qe=>{this.startMouse(a.e({},qe,{ctrlKey:!0,preventDefault:()=>qe.preventDefault()}),c.mousePos(this.element,qe)),c.addEventListener(window,\"mousemove\",this.mousemove),c.addEventListener(window,\"mouseup\",this.mouseup)},this.mousemove=qe=>{this.moveMouse(qe,c.mousePos(this.element,qe))},this.mouseup=qe=>{this.mouseRotate.dragEnd(qe),this.mousePitch&&this.mousePitch.dragEnd(qe),this.offTemp()},this.touchstart=qe=>{qe.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=c.touchPos(this.element,qe.targetTouches)[0],this.startTouch(qe,this._startPos),c.addEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.addEventListener(window,\"touchend\",this.touchend))},this.touchmove=qe=>{qe.targetTouches.length!==1?this.reset():(this._lastPos=c.touchPos(this.element,qe.targetTouches)[0],this.moveTouch(qe,this._lastPos))},this.touchend=qe=>{qe.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),delete this._startPos,delete this._lastPos,this.offTemp()},this.reset=()=>{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;let ee=w.dragRotate._mouseRotate.getClickTolerance(),se=w.dragRotate._mousePitch.getClickTolerance();this.element=B,this.mouseRotate=Dl({clickTolerance:ee,enable:!0}),this.touchRotate=(({enable:qe,clickTolerance:je,bearingDegreesPerPixelMoved:it=.8})=>{let yt=new pf;return new ju({clickTolerance:je,move:(Ot,Nt)=>({bearingDelta:(Nt.x-Ot.x)*it}),moveStateManager:yt,enable:qe,assignEvents:Rs})})({clickTolerance:ee,enable:!0}),this.map=w,Q&&(this.mousePitch=Ih({clickTolerance:se,enable:!0}),this.touchPitch=(({enable:qe,clickTolerance:je,pitchDegreesPerPixelMoved:it=-.5})=>{let yt=new pf;return new ju({clickTolerance:je,move:(Ot,Nt)=>({pitchDelta:(Nt.y-Ot.y)*it}),moveStateManager:yt,enable:qe,assignEvents:Rs})})({clickTolerance:se,enable:!0})),c.addEventListener(B,\"mousedown\",this.mousedown),c.addEventListener(B,\"touchstart\",this.touchstart,{passive:!1}),c.addEventListener(B,\"touchcancel\",this.reset)}startMouse(w,B){this.mouseRotate.dragStart(w,B),this.mousePitch&&this.mousePitch.dragStart(w,B),c.disableDrag()}startTouch(w,B){this.touchRotate.dragStart(w,B),this.touchPitch&&this.touchPitch.dragStart(w,B),c.disableDrag()}moveMouse(w,B){let Q=this.map,{bearingDelta:ee}=this.mouseRotate.dragMove(w,B)||{};if(ee&&Q.setBearing(Q.getBearing()+ee),this.mousePitch){let{pitchDelta:se}=this.mousePitch.dragMove(w,B)||{};se&&Q.setPitch(Q.getPitch()+se)}}moveTouch(w,B){let Q=this.map,{bearingDelta:ee}=this.touchRotate.dragMove(w,B)||{};if(ee&&Q.setBearing(Q.getBearing()+ee),this.touchPitch){let{pitchDelta:se}=this.touchPitch.dragMove(w,B)||{};se&&Q.setPitch(Q.getPitch()+se)}}off(){let w=this.element;c.removeEventListener(w,\"mousedown\",this.mousedown),c.removeEventListener(w,\"touchstart\",this.touchstart,{passive:!1}),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend),c.removeEventListener(w,\"touchcancel\",this.reset),this.offTemp()}offTemp(){c.enableDrag(),c.removeEventListener(window,\"mousemove\",this.mousemove),c.removeEventListener(window,\"mouseup\",this.mouseup),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend)}}let vs;function Ko(le,w,B){let Q=new a.N(le.lng,le.lat);if(le=new a.N(le.lng,le.lat),w){let ee=new a.N(le.lng-360,le.lat),se=new a.N(le.lng+360,le.lat),qe=B.locationPoint(le).distSqr(w);B.locationPoint(ee).distSqr(w)<qe?le=ee:B.locationPoint(se).distSqr(w)<qe&&(le=se)}for(;Math.abs(le.lng-B.center.lng)>180;){let ee=B.locationPoint(le);if(ee.x>=0&&ee.y>=0&&ee.x<=B.width&&ee.y<=B.height)break;le.lng>B.center.lng?le.lng-=360:le.lng+=360}return le.lng!==Q.lng&&B.locationPoint(le).y>B.height/2-B.getHorizon()?le:Q}let nu={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 Ru(le,w,B){let Q=le.classList;for(let ee in nu)Q.remove(`maplibregl-${B}-anchor-${ee}`);Q.add(`maplibregl-${B}-anchor-${w}`)}class ac extends a.E{constructor(w){if(super(),this._onKeyPress=B=>{let Q=B.code,ee=B.charCode||B.keyCode;Q!==\"Space\"&&Q!==\"Enter\"&&ee!==32&&ee!==13||this.togglePopup()},this._onMapClick=B=>{let Q=B.originalEvent.target,ee=this._element;this._popup&&(Q===ee||ee.contains(Q))&&this.togglePopup()},this._update=B=>{var Q;if(!this._map)return;let ee=this._map.loaded()&&!this._map.isMoving();((B==null?void 0:B.type)===\"terrain\"||(B==null?void 0:B.type)===\"render\"&&!ee)&&this._map.once(\"render\",this._update),this._lngLat=this._map.transform.renderWorldCopies?Ko(this._lngLat,this._flatPos,this._map.transform):(Q=this._lngLat)===null||Q===void 0?void 0:Q.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 se=\"\";this._rotationAlignment===\"viewport\"||this._rotationAlignment===\"auto\"?se=`rotateZ(${this._rotation}deg)`:this._rotationAlignment===\"map\"&&(se=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let qe=\"\";this._pitchAlignment===\"viewport\"||this._pitchAlignment===\"auto\"?qe=\"rotateX(0deg)\":this._pitchAlignment===\"map\"&&(qe=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||B&&B.type!==\"moveend\"||(this._pos=this._pos.round()),c.setTransform(this._element,`${nu[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${qe} ${se}`),u.frameAsync(new AbortController).then(()=>{this._updateOpacity(B&&B.type===\"moveend\")}).catch(()=>{})},this._onMove=B=>{if(!this._isDragging){let Q=this._clickTolerance||this._map._clickTolerance;this._isDragging=B.point.dist(this._pointerdownPos)>=Q}this._isDragging&&(this._pos=B.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",this._state===\"pending\"&&(this._state=\"active\",this.fire(new a.k(\"dragstart\"))),this.fire(new a.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),this._state===\"active\"&&this.fire(new a.k(\"dragend\")),this._state=\"inactive\"},this._addDragHandler=B=>{this._element.contains(B.originalEvent.target)&&(B.preventDefault(),this._positionDelta=B.point.sub(this._pos).add(this._offset),this._pointerdownPos=B.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=w&&w.anchor||\"center\",this._color=w&&w.color||\"#3FB1CE\",this._scale=w&&w.scale||1,this._draggable=w&&w.draggable||!1,this._clickTolerance=w&&w.clickTolerance||0,this._subpixelPositioning=w&&w.subpixelPositioning||!1,this._isDragging=!1,this._state=\"inactive\",this._rotation=w&&w.rotation||0,this._rotationAlignment=w&&w.rotationAlignment||\"auto\",this._pitchAlignment=w&&w.pitchAlignment&&w.pitchAlignment!==\"auto\"?w.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(w==null?void 0:w.opacity,w==null?void 0:w.opacityWhenCovered),w&&w.element)this._element=w.element,this._offset=a.P.convert(w&&w.offset||[0,0]);else{this._defaultMarker=!0,this._element=c.create(\"div\");let B=c.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),Q=41,ee=27;B.setAttributeNS(null,\"display\",\"block\"),B.setAttributeNS(null,\"height\",`${Q}px`),B.setAttributeNS(null,\"width\",`${ee}px`),B.setAttributeNS(null,\"viewBox\",`0 0 ${ee} ${Q}`);let se=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");se.setAttributeNS(null,\"stroke\",\"none\"),se.setAttributeNS(null,\"stroke-width\",\"1\"),se.setAttributeNS(null,\"fill\",\"none\"),se.setAttributeNS(null,\"fill-rule\",\"evenodd\");let qe=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");qe.setAttributeNS(null,\"fill-rule\",\"nonzero\");let je=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");je.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),je.setAttributeNS(null,\"fill\",\"#000000\");let it=[{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(let Oe of it){let Je=c.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");Je.setAttributeNS(null,\"opacity\",\"0.04\"),Je.setAttributeNS(null,\"cx\",\"10.5\"),Je.setAttributeNS(null,\"cy\",\"5.80029008\"),Je.setAttributeNS(null,\"rx\",Oe.rx),Je.setAttributeNS(null,\"ry\",Oe.ry),je.appendChild(Je)}let yt=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");yt.setAttributeNS(null,\"fill\",this._color);let Ot=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");Ot.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\"),yt.appendChild(Ot);let Nt=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");Nt.setAttributeNS(null,\"opacity\",\"0.25\"),Nt.setAttributeNS(null,\"fill\",\"#000000\");let hr=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");hr.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\"),Nt.appendChild(hr);let Sr=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");Sr.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),Sr.setAttributeNS(null,\"fill\",\"#FFFFFF\");let he=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");he.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");let be=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");be.setAttributeNS(null,\"fill\",\"#000000\"),be.setAttributeNS(null,\"opacity\",\"0.25\"),be.setAttributeNS(null,\"cx\",\"5.5\"),be.setAttributeNS(null,\"cy\",\"5.5\"),be.setAttributeNS(null,\"r\",\"5.4999962\");let Pe=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");Pe.setAttributeNS(null,\"fill\",\"#FFFFFF\"),Pe.setAttributeNS(null,\"cx\",\"5.5\"),Pe.setAttributeNS(null,\"cy\",\"5.5\"),Pe.setAttributeNS(null,\"r\",\"5.4999962\"),he.appendChild(be),he.appendChild(Pe),qe.appendChild(je),qe.appendChild(yt),qe.appendChild(Nt),qe.appendChild(Sr),qe.appendChild(he),B.appendChild(qe),B.setAttributeNS(null,\"height\",Q*this._scale+\"px\"),B.setAttributeNS(null,\"width\",ee*this._scale+\"px\"),this._element.appendChild(B),this._offset=a.P.convert(w&&w.offset||[0,-14])}if(this._element.classList.add(\"maplibregl-marker\"),this._element.addEventListener(\"dragstart\",B=>{B.preventDefault()}),this._element.addEventListener(\"mousedown\",B=>{B.preventDefault()}),Ru(this._element,this._anchor,\"marker\"),w&&w.className)for(let B of w.className.split(\" \"))this._element.classList.add(B);this._popup=null}addTo(w){return this.remove(),this._map=w,this._element.setAttribute(\"aria-label\",w._getUIString(\"Marker.Title\")),w.getCanvasContainer().appendChild(this._element),w.on(\"move\",this._update),w.on(\"moveend\",this._update),w.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),c.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(w){return this._lngLat=a.N.convert(w),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(w){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),w){if(!(\"offset\"in w.options)){let ee=Math.abs(13.5)/Math.SQRT2;w.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-38.1],\"bottom-left\":[ee,-1*(38.1-13.5+ee)],\"bottom-right\":[-ee,-1*(38.1-13.5+ee)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=w,this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress)}return this}setSubpixelPositioning(w){return this._subpixelPositioning=w,this}getPopup(){return this._popup}togglePopup(){let w=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:w?(w.isOpen()?w.remove():(w.setLngLat(this._lngLat),w.addTo(this._map)),this):this}_updateOpacity(w=!1){var B,Q;if(!(!((B=this._map)===null||B===void 0)&&B.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(w)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}let ee=this._map,se=ee.terrain.depthAtPoint(this._pos),qe=ee.terrain.getElevationForLngLatZoom(this._lngLat,ee.transform.tileZoom);if(ee.transform.lngLatToCameraDepth(this._lngLat,qe)-se<.006)return void(this._element.style.opacity=this._opacity);let je=-this._offset.y/ee.transform._pixelPerMeter,it=Math.sin(ee.getPitch()*Math.PI/180)*je,yt=ee.terrain.depthAtPoint(new a.P(this._pos.x,this._pos.y-this._offset.y)),Ot=ee.transform.lngLatToCameraDepth(this._lngLat,qe+it)-yt>.006;!((Q=this._popup)===null||Q===void 0)&&Q.isOpen()&&Ot&&this._popup.remove(),this._element.style.opacity=Ot?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(w){return this._offset=a.P.convert(w),this._update(),this}addClassName(w){this._element.classList.add(w)}removeClassName(w){this._element.classList.remove(w)}toggleClassName(w){return this._element.classList.toggle(w)}setDraggable(w){return this._draggable=!!w,this._map&&(w?(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(w){return this._rotation=w||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(w){return this._rotationAlignment=w||\"auto\",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(w){return this._pitchAlignment=w&&w!==\"auto\"?w:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(w,B){return w===void 0&&B===void 0&&(this._opacity=\"1\",this._opacityWhenCovered=\"0.2\"),w!==void 0&&(this._opacity=w),B!==void 0&&(this._opacityWhenCovered=B),this._map&&this._updateOpacity(!0),this}}let mf={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},bu=0,Kc=!1,Du={maxWidth:100,unit:\"metric\"};function Dc(le,w,B){let Q=B&&B.maxWidth||100,ee=le._container.clientHeight/2,se=le.unproject([0,ee]),qe=le.unproject([Q,ee]),je=se.distanceTo(qe);if(B&&B.unit===\"imperial\"){let it=3.2808*je;it>5280?Da(w,Q,it/5280,le._getUIString(\"ScaleControl.Miles\")):Da(w,Q,it,le._getUIString(\"ScaleControl.Feet\"))}else B&&B.unit===\"nautical\"?Da(w,Q,je/1852,le._getUIString(\"ScaleControl.NauticalMiles\")):je>=1e3?Da(w,Q,je/1e3,le._getUIString(\"ScaleControl.Kilometers\")):Da(w,Q,je,le._getUIString(\"ScaleControl.Meters\"))}function Da(le,w,B,Q){let ee=function(se){let qe=Math.pow(10,`${Math.floor(se)}`.length-1),je=se/qe;return je=je>=10?10:je>=5?5:je>=3?3:je>=2?2:je>=1?1:function(it){let yt=Math.pow(10,Math.ceil(-Math.log(it)/Math.LN10));return Math.round(it*yt)/yt}(je),qe*je}(B);le.style.width=w*(ee/B)+\"px\",le.innerHTML=`${ee} ${Q}`}let eo={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\",subpixelPositioning:!1},Jc=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \");function yc(le){if(le){if(typeof le==\"number\"){let w=Math.round(Math.abs(le)/Math.SQRT2);return{center:new a.P(0,0),top:new a.P(0,le),\"top-left\":new a.P(w,w),\"top-right\":new a.P(-w,w),bottom:new a.P(0,-le),\"bottom-left\":new a.P(w,-w),\"bottom-right\":new a.P(-w,-w),left:new a.P(le,0),right:new a.P(-le,0)}}if(le instanceof a.P||Array.isArray(le)){let w=a.P.convert(le);return{center:w,top:w,\"top-left\":w,\"top-right\":w,bottom:w,\"bottom-left\":w,\"bottom-right\":w,left:w,right:w}}return{center:a.P.convert(le.center||[0,0]),top:a.P.convert(le.top||[0,0]),\"top-left\":a.P.convert(le[\"top-left\"]||[0,0]),\"top-right\":a.P.convert(le[\"top-right\"]||[0,0]),bottom:a.P.convert(le.bottom||[0,0]),\"bottom-left\":a.P.convert(le[\"bottom-left\"]||[0,0]),\"bottom-right\":a.P.convert(le[\"bottom-right\"]||[0,0]),left:a.P.convert(le.left||[0,0]),right:a.P.convert(le.right||[0,0])}}return yc(new a.P(0,0))}let _c=o;i.AJAXError=a.bh,i.Evented=a.E,i.LngLat=a.N,i.MercatorCoordinate=a.Z,i.Point=a.P,i.addProtocol=a.bi,i.config=a.a,i.removeProtocol=a.bj,i.AttributionControl=qa,i.BoxZoomHandler=xu,i.CanvasSource=Ct,i.CooperativeGesturesHandler=qi,i.DoubleClickZoomHandler=fi,i.DragPanHandler=Xi,i.DragRotateHandler=hn,i.EdgeInsets=ic,i.FullscreenControl=class extends a.E{constructor(le={}){super(),this._onFullscreenChange=()=>{var w;let B=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;!((w=B==null?void 0:B.shadowRoot)===null||w===void 0)&&w.fullscreenElement;)B=B.shadowRoot.fullscreenElement;B===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,le&&le.container&&(le.container instanceof HTMLElement?this._container=le.container:a.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(le){return this._map=le,this._container||(this._container=this._map.getContainer()),this._controlContainer=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),this._controlContainer}onRemove(){c.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let le=this._fullscreenButton=c.create(\"button\",\"maplibregl-ctrl-fullscreen\",this._controlContainer);c.create(\"span\",\"maplibregl-ctrl-icon\",le).setAttribute(\"aria-hidden\",\"true\"),le.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let le=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",le),this._fullscreenButton.title=le}_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 a.k(\"fullscreenstart\")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new a.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()}},i.GeoJSONSource=rt,i.GeolocateControl=class extends a.E{constructor(le){super(),this._onSuccess=w=>{if(this._map){if(this._isOutOfMapMaxBounds(w))return this._setErrorState(),this.fire(new a.k(\"outofmaxbounds\",w)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=w,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&&this._watchState!==\"OFF\"&&this._updateMarker(w),this.options.trackUserLocation&&this._watchState!==\"ACTIVE_LOCK\"||this._updateCamera(w),this.options.showUserLocation&&this._dotElement.classList.remove(\"maplibregl-user-location-dot-stale\"),this.fire(new a.k(\"geolocate\",w)),this._finish()}},this._updateCamera=w=>{let B=new a.N(w.coords.longitude,w.coords.latitude),Q=w.coords.accuracy,ee=this._map.getBearing(),se=a.e({bearing:ee},this.options.fitBoundsOptions),qe=ce.fromLngLat(B,Q);this._map.fitBounds(qe,se,{geolocateSource:!0})},this._updateMarker=w=>{if(w){let B=new a.N(w.coords.longitude,w.coords.latitude);this._accuracyCircleMarker.setLngLat(B).addTo(this._map),this._userLocationDotMarker.setLngLat(B).addTo(this._map),this._accuracy=w.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=w=>{if(this._map){if(this.options.trackUserLocation)if(w.code===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._geolocateButton.disabled=!0;let B=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=B,this._geolocateButton.setAttribute(\"aria-label\",B),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(w.code===3&&Kc)return;this._setErrorState()}this._watchState!==\"OFF\"&&this.options.showUserLocation&&this._dotElement.classList.add(\"maplibregl-user-location-dot-stale\"),this.fire(new a.k(\"error\",w)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener(\"contextmenu\",w=>w.preventDefault()),this._geolocateButton=c.create(\"button\",\"maplibregl-ctrl-geolocate\",this._container),c.create(\"span\",\"maplibregl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",this._geolocateButton.disabled=!0)},this._finishSetupUI=w=>{if(this._map){if(w===!1){a.w(\"Geolocation support is not available so the GeolocateControl will be disabled.\");let B=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=B,this._geolocateButton.setAttribute(\"aria-label\",B)}else{let B=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.disabled=!1,this._geolocateButton.title=B,this._geolocateButton.setAttribute(\"aria-label\",B)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=c.create(\"div\",\"maplibregl-user-location-dot\"),this._userLocationDotMarker=new ac({element:this._dotElement}),this._circleElement=c.create(\"div\",\"maplibregl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new ac({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\",B=>{B.geolocateSource||this._watchState!==\"ACTIVE_LOCK\"||B.originalEvent&&B.originalEvent.type===\"resize\"||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this.fire(new a.k(\"trackuserlocationend\")),this.fire(new a.k(\"userlocationlostfocus\")))})}},this.options=a.e({},mf,le)}onAdd(le){return this._map=le,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),function(){return a._(this,arguments,void 0,function*(w=!1){if(vs!==void 0&&!w)return vs;if(window.navigator.permissions===void 0)return vs=!!window.navigator.geolocation,vs;try{vs=(yield window.navigator.permissions.query({name:\"geolocation\"})).state!==\"denied\"}catch(B){vs=!!window.navigator.geolocation}return vs})}().then(w=>this._finishSetupUI(w)),this._container}onRemove(){this._geolocationWatchID!==void 0&&(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(),c.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,bu=0,Kc=!1}_isOutOfMapMaxBounds(le){let w=this._map.getMaxBounds(),B=le.coords;return w&&(B.longitude<w.getWest()||B.longitude>w.getEast()||B.latitude<w.getSouth()||B.latitude>w.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(){let le=this._map.getBounds(),w=le.getSouthEast(),B=le.getNorthEast(),Q=w.distanceTo(B),ee=Math.ceil(this._accuracy/(Q/this._map._container.clientHeight)*2);this._circleElement.style.width=`${ee}px`,this._circleElement.style.height=`${ee}px`}trigger(){if(!this._setup)return a.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 a.k(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":bu--,Kc=!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 a.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 a.k(\"trackuserlocationstart\")),this.fire(new a.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(this._watchState===\"OFF\"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let le;this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),bu++,bu>1?(le={maximumAge:6e5,timeout:0},Kc=!0):(le=this.options.positionOptions,Kc=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,le)}}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)}},i.Hash=gd,i.ImageSource=Rt,i.KeyboardHandler=Bt,i.LngLatBounds=ce,i.LogoControl=Cn,i.Map=class extends Ta{constructor(le){a.bf.mark(a.bg.create);let w=Object.assign(Object.assign({},Gs),le);if(w.minZoom!=null&&w.maxZoom!=null&&w.minZoom>w.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(w.minPitch!=null&&w.maxPitch!=null&&w.minPitch>w.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(w.minPitch!=null&&w.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(w.maxPitch!=null&&w.maxPitch>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(super(new Qs(w.minZoom,w.maxZoom,w.minPitch,w.maxPitch,w.renderWorldCopies),{bearingSnap:w.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new sn,this._controls=[],this._mapId=a.a4(),this._contextLost=B=>{B.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new a.k(\"webglcontextlost\",{originalEvent:B}))},this._contextRestored=B=>{this._setupPainter(),this.resize(),this._update(),this.fire(new a.k(\"webglcontextrestored\",{originalEvent:B}))},this._onMapScroll=B=>{if(B.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=w.interactive,this._maxTileCacheSize=w.maxTileCacheSize,this._maxTileCacheZoomLevels=w.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=w.failIfMajorPerformanceCaveat===!0,this._preserveDrawingBuffer=w.preserveDrawingBuffer===!0,this._antialias=w.antialias===!0,this._trackResize=w.trackResize===!0,this._bearingSnap=w.bearingSnap,this._refreshExpiredTiles=w.refreshExpiredTiles===!0,this._fadeDuration=w.fadeDuration,this._crossSourceCollisions=w.crossSourceCollisions===!0,this._collectResourceTiming=w.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},Bo),w.locale),this._clickTolerance=w.clickTolerance,this._overridePixelRatio=w.pixelRatio,this._maxCanvasSize=w.maxCanvasSize,this.transformCameraUpdate=w.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=w.cancelPendingTileRequestsWhileZooming===!0,this._imageQueueHandle=p.addThrottleControl(()=>this.isMoving()),this._requestManager=new E(w.transformRequest),typeof w.container==\"string\"){if(this._container=document.getElementById(w.container),!this._container)throw new Error(`Container '${w.container}' not found.`)}else{if(!(w.container instanceof HTMLElement))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=w.container}if(w.maxBounds&&this.setMaxBounds(w.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}),typeof window!=\"undefined\"){addEventListener(\"online\",this._onWindowOnline,!1);let B=!1,Q=Qh(ee=>{this._trackResize&&!this._removed&&(this.resize(ee),this.redraw())},50);this._resizeObserver=new ResizeObserver(ee=>{B?Q(ee):B=!0}),this._resizeObserver.observe(this._container)}this.handlers=new Ma(this,w),this._hash=w.hash&&new gd(typeof w.hash==\"string\"&&w.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:w.center,zoom:w.zoom,bearing:w.bearing,pitch:w.pitch}),w.bounds&&(this.resize(),this.fitBounds(w.bounds,a.e({},w.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=w.localIdeographFontFamily,this._validateStyle=w.validateStyle,w.style&&this.setStyle(w.style,{localIdeographFontFamily:w.localIdeographFontFamily}),w.attributionControl&&this.addControl(new qa(typeof w.attributionControl==\"boolean\"?void 0:w.attributionControl)),w.maplibreLogo&&this.addControl(new Cn,w.logoPosition),this.on(\"style.load\",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on(\"data\",B=>{this._update(B.dataType===\"style\"),this.fire(new a.k(`${B.dataType}data`,B))}),this.on(\"dataloading\",B=>{this.fire(new a.k(`${B.dataType}dataloading`,B))}),this.on(\"dataabort\",B=>{this.fire(new a.k(\"sourcedataabort\",B))})}_getMapId(){return this._mapId}addControl(le,w){if(w===void 0&&(w=le.getDefaultPosition?le.getDefaultPosition():\"top-right\"),!le||!le.onAdd)return this.fire(new a.j(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));let B=le.onAdd(this);this._controls.push(le);let Q=this._controlPositions[w];return w.indexOf(\"bottom\")!==-1?Q.insertBefore(B,Q.firstChild):Q.appendChild(B),this}removeControl(le){if(!le||!le.onRemove)return this.fire(new a.j(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));let w=this._controls.indexOf(le);return w>-1&&this._controls.splice(w,1),le.onRemove(this),this}hasControl(le){return this._controls.indexOf(le)>-1}calculateCameraOptionsFromTo(le,w,B,Q){return Q==null&&this.terrain&&(Q=this.terrain.getElevationForLngLatZoom(B,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(le,w,B,Q)}resize(le){var w;let B=this._containerDimensions(),Q=B[0],ee=B[1],se=this._getClampedPixelRatio(Q,ee);if(this._resizeCanvas(Q,ee,se),this.painter.resize(Q,ee,se),this.painter.overLimit()){let je=this.painter.context.gl;this._maxCanvasSize=[je.drawingBufferWidth,je.drawingBufferHeight];let it=this._getClampedPixelRatio(Q,ee);this._resizeCanvas(Q,ee,it),this.painter.resize(Q,ee,it)}this.transform.resize(Q,ee),(w=this._requestedCameraState)===null||w===void 0||w.resize(Q,ee);let qe=!this._moving;return qe&&(this.stop(),this.fire(new a.k(\"movestart\",le)).fire(new a.k(\"move\",le))),this.fire(new a.k(\"resize\",le)),qe&&this.fire(new a.k(\"moveend\",le)),this}_getClampedPixelRatio(le,w){let{0:B,1:Q}=this._maxCanvasSize,ee=this.getPixelRatio(),se=le*ee,qe=w*ee;return Math.min(se>B?B/se:1,qe>Q?Q/qe:1)*ee}getPixelRatio(){var le;return(le=this._overridePixelRatio)!==null&&le!==void 0?le:devicePixelRatio}setPixelRatio(le){this._overridePixelRatio=le,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(le){return this.transform.setMaxBounds(ce.convert(le)),this._update()}setMinZoom(le){if((le=le==null?-2:le)>=-2&&le<=this.transform.maxZoom)return this.transform.minZoom=le,this._update(),this.getZoom()<le&&this.setZoom(le),this;throw new Error(\"minZoom must be between -2 and the current maxZoom, inclusive\")}getMinZoom(){return this.transform.minZoom}setMaxZoom(le){if((le=le==null?22:le)>=this.transform.minZoom)return this.transform.maxZoom=le,this._update(),this.getZoom()>le&&this.setZoom(le),this;throw new Error(\"maxZoom must be greater than the current minZoom\")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(le){if((le=le==null?0:le)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(le>=0&&le<=this.transform.maxPitch)return this.transform.minPitch=le,this._update(),this.getPitch()<le&&this.setPitch(le),this;throw new Error(\"minPitch must be between 0 and the current maxPitch, inclusive\")}getMinPitch(){return this.transform.minPitch}setMaxPitch(le){if((le=le==null?60:le)>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(le>=this.transform.minPitch)return this.transform.maxPitch=le,this._update(),this.getPitch()>le&&this.setPitch(le),this;throw new Error(\"maxPitch must be greater than the current minPitch\")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(le){return this.transform.renderWorldCopies=le,this._update()}project(le){return this.transform.locationPoint(a.N.convert(le),this.style&&this.terrain)}unproject(le){return this.transform.pointLocation(a.P.convert(le),this.terrain)}isMoving(){var le;return this._moving||((le=this.handlers)===null||le===void 0?void 0:le.isMoving())}isZooming(){var le;return this._zooming||((le=this.handlers)===null||le===void 0?void 0:le.isZooming())}isRotating(){var le;return this._rotating||((le=this.handlers)===null||le===void 0?void 0:le.isRotating())}_createDelegatedListener(le,w,B){if(le===\"mouseenter\"||le===\"mouseover\"){let Q=!1;return{layers:w,listener:B,delegates:{mousemove:se=>{let qe=w.filter(it=>this.getLayer(it)),je=qe.length!==0?this.queryRenderedFeatures(se.point,{layers:qe}):[];je.length?Q||(Q=!0,B.call(this,new ru(le,this,se.originalEvent,{features:je}))):Q=!1},mouseout:()=>{Q=!1}}}}if(le===\"mouseleave\"||le===\"mouseout\"){let Q=!1;return{layers:w,listener:B,delegates:{mousemove:qe=>{let je=w.filter(it=>this.getLayer(it));(je.length!==0?this.queryRenderedFeatures(qe.point,{layers:je}):[]).length?Q=!0:Q&&(Q=!1,B.call(this,new ru(le,this,qe.originalEvent)))},mouseout:qe=>{Q&&(Q=!1,B.call(this,new ru(le,this,qe.originalEvent)))}}}}{let Q=ee=>{let se=w.filter(je=>this.getLayer(je)),qe=se.length!==0?this.queryRenderedFeatures(ee.point,{layers:se}):[];qe.length&&(ee.features=qe,B.call(this,ee),delete ee.features)};return{layers:w,listener:B,delegates:{[le]:Q}}}}_saveDelegatedListener(le,w){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[le]=this._delegatedListeners[le]||[],this._delegatedListeners[le].push(w)}_removeDelegatedListener(le,w,B){if(!this._delegatedListeners||!this._delegatedListeners[le])return;let Q=this._delegatedListeners[le];for(let ee=0;ee<Q.length;ee++){let se=Q[ee];if(se.listener===B&&se.layers.length===w.length&&se.layers.every(qe=>w.includes(qe))){for(let qe in se.delegates)this.off(qe,se.delegates[qe]);return void Q.splice(ee,1)}}}on(le,w,B){if(B===void 0)return super.on(le,w);let Q=this._createDelegatedListener(le,typeof w==\"string\"?[w]:w,B);this._saveDelegatedListener(le,Q);for(let ee in Q.delegates)this.on(ee,Q.delegates[ee]);return this}once(le,w,B){if(B===void 0)return super.once(le,w);let Q=typeof w==\"string\"?[w]:w,ee=this._createDelegatedListener(le,Q,B);for(let se in ee.delegates){let qe=ee.delegates[se];ee.delegates[se]=(...je)=>{this._removeDelegatedListener(le,Q,B),qe(...je)}}this._saveDelegatedListener(le,ee);for(let se in ee.delegates)this.once(se,ee.delegates[se]);return this}off(le,w,B){return B===void 0?super.off(le,w):(this._removeDelegatedListener(le,typeof w==\"string\"?[w]:w,B),this)}queryRenderedFeatures(le,w){if(!this.style)return[];let B,Q=le instanceof a.P||Array.isArray(le),ee=Q?le:[[0,0],[this.transform.width,this.transform.height]];if(w=w||(Q?{}:le)||{},ee instanceof a.P||typeof ee[0]==\"number\")B=[a.P.convert(ee)];else{let se=a.P.convert(ee[0]),qe=a.P.convert(ee[1]);B=[se,new a.P(qe.x,se.y),qe,new a.P(se.x,qe.y),se]}return this.style.queryRenderedFeatures(B,w,this.transform)}querySourceFeatures(le,w){return this.style.querySourceFeatures(le,w)}setStyle(le,w){return(w=a.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},w)).diff!==!1&&w.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&le?(this._diffStyle(le,w),this):(this._localIdeographFontFamily=w.localIdeographFontFamily,this._updateStyle(le,w))}setTransformRequest(le){return this._requestManager.setTransformRequest(le),this}_getUIString(le){let w=this._locale[le];if(w==null)throw new Error(`Missing UI string '${le}'`);return w}_updateStyle(le,w){if(w.transformStyle&&this.style&&!this.style._loaded)return void this.style.once(\"style.load\",()=>this._updateStyle(le,w));let B=this.style&&w.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!le)),le?(this.style=new Ha(this,w||{}),this.style.setEventedParent(this,{style:this.style}),typeof le==\"string\"?this.style.loadURL(le,w,B):this.style.loadJSON(le,w,B),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new Ha(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(le,w){if(typeof le==\"string\"){let B=this._requestManager.transformRequest(le,\"Style\");a.h(B,new AbortController).then(Q=>{this._updateDiff(Q.data,w)}).catch(Q=>{Q&&this.fire(new a.j(Q))})}else typeof le==\"object\"&&this._updateDiff(le,w)}_updateDiff(le,w){try{this.style.setState(le,w)&&this._update(!0)}catch(B){a.w(`Unable to perform style diff: ${B.message||B.error||B}. Rebuilding the style from scratch.`),this._updateStyle(le,w)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():a.w(\"There is no style added to the map.\")}addSource(le,w){return this._lazyInitEmptyStyle(),this.style.addSource(le,w),this._update(!0)}isSourceLoaded(le){let w=this.style&&this.style.sourceCaches[le];if(w!==void 0)return w.loaded();this.fire(new a.j(new Error(`There is no source with ID '${le}'`)))}setTerrain(le){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off(\"data\",this._terrainDataCallback),le){let w=this.style.sourceCaches[le.source];if(!w)throw new Error(`cannot load terrain, because there exists no source with ID: ${le.source}`);this.terrain===null&&w.reload();for(let B in this.style._layers){let Q=this.style._layers[B];Q.type===\"hillshade\"&&Q.source===le.source&&a.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 Xo(this.painter,w,le),this.painter.renderToTexture=new ys(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=B=>{B.dataType===\"style\"?this.terrain.sourceCache.freeRtt():B.dataType===\"source\"&&B.tile&&(B.sourceId!==le.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(B.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 a.k(\"terrain\",{terrain:le})),this}getTerrain(){var le,w;return(w=(le=this.terrain)===null||le===void 0?void 0:le.options)!==null&&w!==void 0?w:null}areTilesLoaded(){let le=this.style&&this.style.sourceCaches;for(let w in le){let B=le[w]._tiles;for(let Q in B){let ee=B[Q];if(ee.state!==\"loaded\"&&ee.state!==\"errored\")return!1}}return!0}removeSource(le){return this.style.removeSource(le),this._update(!0)}getSource(le){return this.style.getSource(le)}addImage(le,w,B={}){let{pixelRatio:Q=1,sdf:ee=!1,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt}=B;if(this._lazyInitEmptyStyle(),!(w instanceof HTMLImageElement||a.b(w))){if(w.width===void 0||w.height===void 0)return this.fire(new a.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`\")));{let{width:Ot,height:Nt,data:hr}=w,Sr=w;return this.style.addImage(le,{data:new a.R({width:Ot,height:Nt},new Uint8Array(hr)),pixelRatio:Q,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt,sdf:ee,version:0,userImage:Sr}),Sr.onAdd&&Sr.onAdd(this,le),this}}{let{width:Ot,height:Nt,data:hr}=u.getImageData(w);this.style.addImage(le,{data:new a.R({width:Ot,height:Nt},hr),pixelRatio:Q,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt,sdf:ee,version:0})}}updateImage(le,w){let B=this.style.getImage(le);if(!B)return this.fire(new a.j(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));let Q=w instanceof HTMLImageElement||a.b(w)?u.getImageData(w):w,{width:ee,height:se,data:qe}=Q;if(ee===void 0||se===void 0)return this.fire(new a.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(ee!==B.data.width||se!==B.data.height)return this.fire(new a.j(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));let je=!(w instanceof HTMLImageElement||a.b(w));return B.data.replace(qe,je),this.style.updateImage(le,B),this}getImage(le){return this.style.getImage(le)}hasImage(le){return le?!!this.style.getImage(le):(this.fire(new a.j(new Error(\"Missing required image id\"))),!1)}removeImage(le){this.style.removeImage(le)}loadImage(le){return p.getImage(this._requestManager.transformRequest(le,\"Image\"),new AbortController)}listImages(){return this.style.listImages()}addLayer(le,w){return this._lazyInitEmptyStyle(),this.style.addLayer(le,w),this._update(!0)}moveLayer(le,w){return this.style.moveLayer(le,w),this._update(!0)}removeLayer(le){return this.style.removeLayer(le),this._update(!0)}getLayer(le){return this.style.getLayer(le)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(le,w,B){return this.style.setLayerZoomRange(le,w,B),this._update(!0)}setFilter(le,w,B={}){return this.style.setFilter(le,w,B),this._update(!0)}getFilter(le){return this.style.getFilter(le)}setPaintProperty(le,w,B,Q={}){return this.style.setPaintProperty(le,w,B,Q),this._update(!0)}getPaintProperty(le,w){return this.style.getPaintProperty(le,w)}setLayoutProperty(le,w,B,Q={}){return this.style.setLayoutProperty(le,w,B,Q),this._update(!0)}getLayoutProperty(le,w){return this.style.getLayoutProperty(le,w)}setGlyphs(le,w={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(le,w),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(le,w,B={}){return this._lazyInitEmptyStyle(),this.style.addSprite(le,w,B,Q=>{Q||this._update(!0)}),this}removeSprite(le){return this._lazyInitEmptyStyle(),this.style.removeSprite(le),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(le,w={}){return this._lazyInitEmptyStyle(),this.style.setSprite(le,w,B=>{B||this._update(!0)}),this}setLight(le,w={}){return this._lazyInitEmptyStyle(),this.style.setLight(le,w),this._update(!0)}getLight(){return this.style.getLight()}setSky(le){return this._lazyInitEmptyStyle(),this.style.setSky(le),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(le,w){return this.style.setFeatureState(le,w),this._update()}removeFeatureState(le,w){return this.style.removeFeatureState(le,w),this._update()}getFeatureState(le){return this.style.getFeatureState(le)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let le=0,w=0;return this._container&&(le=this._container.clientWidth||400,w=this._container.clientHeight||300),[le,w]}_setupContainer(){let le=this._container;le.classList.add(\"maplibregl-map\");let w=this._canvasContainer=c.create(\"div\",\"maplibregl-canvas-container\",le);this._interactive&&w.classList.add(\"maplibregl-interactive\"),this._canvas=c.create(\"canvas\",\"maplibregl-canvas\",w),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\");let B=this._containerDimensions(),Q=this._getClampedPixelRatio(B[0],B[1]);this._resizeCanvas(B[0],B[1],Q);let ee=this._controlContainer=c.create(\"div\",\"maplibregl-control-container\",le),se=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(qe=>{se[qe]=c.create(\"div\",`maplibregl-ctrl-${qe} `,ee)}),this._container.addEventListener(\"scroll\",this._onMapScroll,!1)}_resizeCanvas(le,w,B){this._canvas.width=Math.floor(B*le),this._canvas.height=Math.floor(B*w),this._canvas.style.width=`${le}px`,this._canvas.style.height=`${w}px`}_setupPainter(){let le={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},w=null;this._canvas.addEventListener(\"webglcontextcreationerror\",Q=>{w={requestedAttributes:le},Q&&(w.statusMessage=Q.statusMessage,w.type=Q.type)},{once:!0});let B=this._canvas.getContext(\"webgl2\",le)||this._canvas.getContext(\"webgl\",le);if(!B){let Q=\"Failed to initialize WebGL\";throw w?(w.message=Q,new Error(JSON.stringify(w))):new Error(Q)}this.painter=new Lc(B,this.transform),f.testSupport(B)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(le){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||le,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(le){return this._update(),this._renderTaskQueue.add(le)}_cancelRenderFrame(le){this._renderTaskQueue.remove(le)}_render(le){let w=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(le),this._removed)return;let B=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let ee=this.transform.zoom,se=u.now();this.style.zoomHistory.update(ee,se);let qe=new a.z(ee,{now:se,fadeDuration:w,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),je=qe.crossFadingFactor();je===1&&je===this._crossFadingFactor||(B=!0,this._crossFadingFactor=je),this.style.update(qe)}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,w,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:w,showPadding:this.showPadding}),this.fire(new a.k(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,a.bf.mark(a.bg.load),this.fire(new a.k(\"load\"))),this.style&&(this.style.hasTransitions()||B)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let Q=this._sourcesDirty||this._styleDirty||this._placementDirty;return Q||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new a.k(\"idle\")),!this._loaded||this._fullyLoaded||Q||(this._fullyLoaded=!0,a.bf.mark(a.bg.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var le;this._hash&&this._hash.remove();for(let B of this._controls)B.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),typeof window!=\"undefined\"&&removeEventListener(\"online\",this._onWindowOnline,!1),p.removeThrottleControl(this._imageQueueHandle),(le=this._resizeObserver)===null||le===void 0||le.disconnect();let w=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");w!=null&&w.loseContext&&w.loseContext(),this._canvas.removeEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.removeEventListener(\"webglcontextlost\",this._contextLost,!1),c.remove(this._canvasContainer),c.remove(this._controlContainer),this._container.classList.remove(\"maplibregl-map\"),a.bf.clearMetrics(),this._removed=!0,this.fire(new a.k(\"remove\"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then(le=>{a.bf.frame(le),this._frameRequest=null,this._render(le)}).catch(()=>{}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(le){this._showTileBoundaries!==le&&(this._showTileBoundaries=le,this._update())}get showPadding(){return!!this._showPadding}set showPadding(le){this._showPadding!==le&&(this._showPadding=le,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(le){this._showCollisionBoxes!==le&&(this._showCollisionBoxes=le,le?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(le){this._showOverdrawInspector!==le&&(this._showOverdrawInspector=le,this._update())}get repaint(){return!!this._repaint}set repaint(le){this._repaint!==le&&(this._repaint=le,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(le){this._vertices=le,this._update()}get version(){return yl}getCameraTargetElevation(){return this.transform.elevation}},i.MapMouseEvent=ru,i.MapTouchEvent=vf,i.MapWheelEvent=md,i.Marker=ac,i.NavigationControl=class{constructor(le){this._updateZoomButtons=()=>{let w=this._map.getZoom(),B=w===this._map.getMaxZoom(),Q=w===this._map.getMinZoom();this._zoomInButton.disabled=B,this._zoomOutButton.disabled=Q,this._zoomInButton.setAttribute(\"aria-disabled\",B.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",Q.toString())},this._rotateCompassArrow=()=>{let w=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=w},this._setButtonTitle=(w,B)=>{let Q=this._map._getUIString(`NavigationControl.${B}`);w.title=Q,w.setAttribute(\"aria-label\",Q)},this.options=a.e({},ia,le),this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",w=>w.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton(\"maplibregl-ctrl-zoom-in\",w=>this._map.zoomIn({},{originalEvent:w})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",\"true\"),this._zoomOutButton=this._createButton(\"maplibregl-ctrl-zoom-out\",w=>this._map.zoomOut({},{originalEvent:w})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",\"true\")),this.options.showCompass&&(this._compass=this._createButton(\"maplibregl-ctrl-compass\",w=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:w}):this._map.resetNorth({},{originalEvent:w})}),this._compassIcon=c.create(\"span\",\"maplibregl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",\"true\"))}onAdd(le){return this._map=le,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 Ka(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){c.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(le,w){let B=c.create(\"button\",le,this._container);return B.type=\"button\",B.addEventListener(\"click\",w),B}},i.Popup=class extends a.E{constructor(le){super(),this.remove=()=>(this._content&&c.remove(this._content),this._container&&(c.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 a.k(\"close\"))),this),this._onMouseUp=w=>{this._update(w.point)},this._onMouseMove=w=>{this._update(w.point)},this._onDrag=w=>{this._update(w.point)},this._update=w=>{var B;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=c.create(\"div\",\"maplibregl-popup\",this._map.getContainer()),this._tip=c.create(\"div\",\"maplibregl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className)for(let je of this.options.className.split(\" \"))this._container.classList.add(je);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._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?Ko(this._lngLat,this._flatPos,this._map.transform):(B=this._lngLat)===null||B===void 0?void 0:B.wrap(),this._trackPointer&&!w)return;let Q=this._flatPos=this._pos=this._trackPointer&&w?w:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&w?w:this._map.transform.locationPoint(this._lngLat));let ee=this.options.anchor,se=yc(this.options.offset);if(!ee){let je=this._container.offsetWidth,it=this._container.offsetHeight,yt;yt=Q.y+se.bottom.y<it?[\"top\"]:Q.y>this._map.transform.height-it?[\"bottom\"]:[],Q.x<je/2?yt.push(\"left\"):Q.x>this._map.transform.width-je/2&&yt.push(\"right\"),ee=yt.length===0?\"bottom\":yt.join(\"-\")}let qe=Q.add(se[ee]);this.options.subpixelPositioning||(qe=qe.round()),c.setTransform(this._container,`${nu[ee]} translate(${qe.x}px,${qe.y}px)`),Ru(this._container,ee,\"popup\")},this._onClose=()=>{this.remove()},this.options=a.e(Object.create(eo),le)}addTo(le){return this._map&&this.remove(),this._map=le,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 a.k(\"open\")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(le){return this._lngLat=a.N.convert(le),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(le){return this.setDOMContent(document.createTextNode(le))}setHTML(le){let w=document.createDocumentFragment(),B=document.createElement(\"body\"),Q;for(B.innerHTML=le;Q=B.firstChild,Q;)w.appendChild(Q);return this.setDOMContent(w)}getMaxWidth(){var le;return(le=this._container)===null||le===void 0?void 0:le.style.maxWidth}setMaxWidth(le){return this.options.maxWidth=le,this._update(),this}setDOMContent(le){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=c.create(\"div\",\"maplibregl-popup-content\",this._container);return this._content.appendChild(le),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(le){return this._container&&this._container.classList.add(le),this}removeClassName(le){return this._container&&this._container.classList.remove(le),this}setOffset(le){return this.options.offset=le,this._update(),this}toggleClassName(le){if(this._container)return this._container.classList.toggle(le)}setSubpixelPositioning(le){this.options.subpixelPositioning=le}_createCloseButton(){this.options.closeButton&&(this._closeButton=c.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;let le=this._container.querySelector(Jc);le&&le.focus()}},i.RasterDEMTileSource=qt,i.RasterTileSource=ct,i.ScaleControl=class{constructor(le){this._onMove=()=>{Dc(this._map,this._container,this.options)},this.setUnit=w=>{this.options.unit=w,Dc(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},Du),le)}getDefaultPosition(){return\"bottom-left\"}onAdd(le){return this._map=le,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-scale\",le.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container}onRemove(){c.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0}},i.ScrollZoomHandler=Ur,i.Style=Ha,i.TerrainControl=class{constructor(le){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=le}onAdd(le){return this._map=le,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._terrainButton=c.create(\"button\",\"maplibregl-ctrl-terrain\",this._container),c.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(){c.remove(this._container),this._map.off(\"terrain\",this._updateTerrainIcon),this._map=void 0}},i.TwoFingersTouchPitchHandler=gf,i.TwoFingersTouchRotateHandler=Yc,i.TwoFingersTouchZoomHandler=iu,i.TwoFingersTouchZoomRotateHandler=Ti,i.VectorTileSource=nt,i.VideoSource=kt,i.addSourceType=(le,w)=>a._(void 0,void 0,void 0,function*(){if(xr(le))throw new Error(`A source type called \"${le}\" already exists.`);((B,Q)=>{Yt[B]=Q})(le,w)}),i.clearPrewarmedResources=function(){let le=ge;le&&(le.isPreloaded()&&le.numActive()===1?(le.release(_e),ge=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()\"))},i.getMaxParallelImageRequests=function(){return a.a.MAX_PARALLEL_IMAGE_REQUESTS},i.getRTLTextPluginStatus=function(){return bt().getRTLTextPluginStatus()},i.getVersion=function(){return _c},i.getWorkerCount=function(){return Me.workerCount},i.getWorkerUrl=function(){return a.a.WORKER_URL},i.importScriptInWorkers=function(le){return Ae().broadcast(\"IS\",le)},i.prewarm=function(){Te().acquire(_e)},i.setMaxParallelImageRequests=function(le){a.a.MAX_PARALLEL_IMAGE_REQUESTS=le},i.setRTLTextPlugin=function(le,w){return bt().setRTLTextPlugin(le,w)},i.setWorkerCount=function(le){Me.workerCount=le},i.setWorkerUrl=function(le){a.a.WORKER_URL=le}});var n=e;return n})});var KHe=ye((Z1r,YHe)=>{\"use strict\";var iw=Mr(),gjt=Pl().sanitizeHTML,mjt=fJ(),WHe=wx();function ZHe(e,t){this.subplot=e,this.uid=e.uid+\"-\"+t,this.index=t,this.idSource=\"source-\"+this.uid,this.idLayer=WHe.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var ag=ZHe.prototype;ag.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=n7(t)};ag.needsNewImage=function(e){var t=this.subplot.map;return t.getSource(this.idSource)&&this.sourceType===\"image\"&&e.sourcetype===\"image\"&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))};ag.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type};ag.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]};ag.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]};ag.updateImage=function(e){var t=this.subplot.map;t.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var r=this.findFollowingMapLayerId(this.lookupBelow());r!==null&&this.subplot.map.moveLayer(this.idLayer,r)};ag.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,!!n7(e)){var r=yjt(e);t.addSource(this.idSource,r)}};ag.findFollowingMapLayerId=function(e){if(e===\"traces\")for(var t=this.subplot.getMapLayers(),r=0;r<t.length;r++){var n=t[r].id;if(typeof n==\"string\"&&n.indexOf(WHe.traceLayerPrefix)===0){e=n;break}}return e};ag.updateLayer=function(e){var t=this.subplot,r=XHe(e),n=this.lookupBelow(),i=this.findFollowingMapLayerId(n);this.removeLayer(),n7(e)&&t.addLayer({id:this.idLayer,source:this.idSource,\"source-layer\":e.sourcelayer||\"\",type:e.type,minzoom:e.minzoom,maxzoom:e.maxzoom,layout:r.layout,paint:r.paint},i),this.layerType=e.type,this.below=n};ag.updateStyle=function(e){if(n7(e)){var t=XHe(e);this.subplot.setOptions(this.idLayer,\"setLayoutProperty\",t.layout),this.subplot.setOptions(this.idLayer,\"setPaintProperty\",t.paint)}};ag.removeLayer=function(){var e=this.subplot.map;e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer)};ag.dispose=function(){var e=this.subplot.map;e.getLayer(this.idLayer)&&e.removeLayer(this.idLayer),e.getSource(this.idSource)&&e.removeSource(this.idSource)};function n7(e){if(!e.visible)return!1;var t=e.source;if(Array.isArray(t)&&t.length>0){for(var r=0;r<t.length;r++)if(typeof t[r]!=\"string\"||t[r].length===0)return!1;return!0}return iw.isPlainObject(t)||typeof t==\"string\"&&t.length>0}function XHe(e){var t={},r={};switch(e.type){case\"circle\":iw.extendFlat(r,{\"circle-radius\":e.circle.radius,\"circle-color\":e.color,\"circle-opacity\":e.opacity});break;case\"line\":iw.extendFlat(r,{\"line-width\":e.line.width,\"line-color\":e.color,\"line-opacity\":e.opacity,\"line-dasharray\":e.line.dash});break;case\"fill\":iw.extendFlat(r,{\"fill-color\":e.color,\"fill-outline-color\":e.fill.outlinecolor,\"fill-opacity\":e.opacity});break;case\"symbol\":var n=e.symbol,i=mjt(n.textposition,n.iconsize);iw.extendFlat(t,{\"icon-image\":n.icon+\"-15\",\"icon-size\":n.iconsize/10,\"text-field\":n.text,\"text-size\":n.textfont.size,\"text-anchor\":i.anchor,\"text-offset\":i.offset,\"symbol-placement\":n.placement}),iw.extendFlat(r,{\"icon-color\":e.color,\"text-color\":n.textfont.color,\"text-opacity\":e.opacity});break;case\"raster\":iw.extendFlat(r,{\"raster-fade-duration\":0,\"raster-opacity\":e.opacity});break}return{layout:t,paint:r}}function yjt(e){var t=e.sourcetype,r=e.source,n={type:t},i;return t===\"geojson\"?i=\"data\":t===\"vector\"?i=typeof r==\"string\"?\"url\":\"tiles\":t===\"raster\"?(i=\"tiles\",n.tileSize=256):t===\"image\"&&(i=\"url\",n.coordinates=e.coordinates),n[i]=r,e.sourceattribution&&(n.attribution=gjt(e.sourceattribution)),n}YHe.exports=function(t,r,n){var i=new ZHe(t,r);return i.update(n),i}});var nGe=ye((X1r,iGe)=>{\"use strict\";var mJ=jHe(),yJ=Mr(),QHe=nx(),JHe=ba(),_jt=Qa(),xjt=gv(),a7=Nc(),eGe=Sg(),bjt=eGe.drawMode,wjt=eGe.selectMode,Tjt=wf().prepSelect,Ajt=wf().clearOutline,Sjt=wf().clearSelectionsCache,Mjt=wf().selectOnClick,nw=wx(),Ejt=KHe();function tGe(e,t){this.id=t,this.gd=e;var r=e._fullLayout,n=e._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+\"-\"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var Sh=tGe.prototype;Sh.plot=function(e,t,r){var n=this,i;n.map?i=new Promise(function(a,o){n.updateMap(e,t,a,o)}):i=new Promise(function(a,o){n.createMap(e,t,a,o)}),r.push(i)};Sh.createMap=function(e,t,r,n){var i=this,a=t[i.id],o=i.styleObj=rGe(a.style),s=a.bounds,l=s?[[s.west,s.south],[s.east,s.north]]:null,u=i.map=new mJ.Map({container:i.div,style:o.style,center:_J(a.center),zoom:a.zoom,bearing:a.bearing,pitch:a.pitch,maxBounds:l,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new mJ.AttributionControl({compact:!0})),c={};u.on(\"styleimagemissing\",function(h){var d=h.id;if(!c[d]&&d.includes(\"-15\")){c[d]=!0;var v=new Image(15,15);v.onload=function(){u.addImage(d,v)},v.crossOrigin=\"Anonymous\",v.src=\"https://unpkg.com/maki@2.1.0/icons/\"+d+\".svg\"}}),u.setTransformRequest(function(h){return h=h.replace(\"https://fonts.openmaptiles.org/Open Sans Extrabold\",\"https://fonts.openmaptiles.org/Open Sans Extra Bold\"),h=h.replace(\"https://tiles.basemaps.cartocdn.com/fonts/Open Sans Extrabold\",\"https://fonts.openmaptiles.org/Open Sans Extra Bold\"),h=h.replace(\"https://fonts.openmaptiles.org/Open Sans Regular,Arial Unicode MS Regular\",\"https://fonts.openmaptiles.org/Klokantech Noto Sans Regular\"),{url:h}}),u._canvas.style.left=\"0px\",u._canvas.style.top=\"0px\",i.rejectOnError(n),i.isStatic||i.initFx(e,t);var f=[];f.push(new Promise(function(h){u.once(\"load\",h)})),f=f.concat(QHe.fetchTraceGeoData(e)),Promise.all(f).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Sh.updateMap=function(e,t,r,n){var i=this,a=i.map,o=t[this.id];i.rejectOnError(n);var s=[],l=rGe(o.style);JSON.stringify(i.styleObj)!==JSON.stringify(l)&&(i.styleObj=l,a.setStyle(l.style),i.traceHash={},s.push(new Promise(function(u){a.once(\"styledata\",u)}))),s=s.concat(QHe.fetchTraceGeoData(e)),Promise.all(s).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Sh.fillBelowLookup=function(e,t){var r=t[this.id],n=r.layers,i,a,o=this.belowLookup={},s=!1;for(i=0;i<e.length;i++){var l=e[i][0].trace,u=l._module;typeof l.below==\"string\"?a=l.below:u.getBelow&&(a=u.getBelow(l,this)),a===\"\"&&(s=!0),o[\"trace-\"+l.uid]=a||\"\"}for(i=0;i<n.length;i++){var c=n[i];typeof c.below==\"string\"?a=c.below:s?a=\"traces\":a=\"\",o[\"layout-\"+i]=a}var f={},h,d;for(h in o)a=o[h],f[a]?f[a].push(h):f[a]=[h];for(a in f){var v=f[a];if(v.length>1)for(i=0;i<v.length;i++)h=v[i],h.indexOf(\"trace-\")===0?(d=h.split(\"trace-\")[1],this.traceHash[d]&&(this.traceHash[d].below=null)):h.indexOf(\"layout-\")===0&&(d=h.split(\"layout-\")[1],this.layerList[d]&&(this.layerList[d].below=null))}};var $He={choroplethmap:0,densitymap:1,scattermap:2};Sh.updateData=function(e){var t=this.traceHash,r,n,i,a,o=e.slice().sort(function(f,h){return $He[f[0].trace.type]-$He[h[0].trace.type]});for(i=0;i<o.length;i++){var s=o[i];n=s[0].trace,r=t[n.uid];var l=!1;r&&(r.type===n.type?(r.update(s),l=!0):r.dispose()),!l&&n._module&&(t[n.uid]=n._module.plot(this,s))}var u=Object.keys(t);e:for(i=0;i<u.length;i++){var c=u[i];for(a=0;a<e.length;a++)if(n=e[a][0].trace,c===n.uid)continue e;r=t[c],r.dispose(),delete t[c]}};Sh.updateLayout=function(e){var t=this.map,r=e[this.id];!this.dragging&&!this.wheeling&&(t.setCenter(_J(r.center)),t.setZoom(r.zoom),t.setBearing(r.bearing),t.setPitch(r.pitch)),this.updateLayers(e),this.updateFramework(e),this.updateFx(e),this.map.resize(),this.gd._context._scrollZoom.map?t.scrollZoom.enable():t.scrollZoom.disable()};Sh.resolveOnRender=function(e){var t=this.map;t.on(\"render\",function r(){t.loaded()&&(t.off(\"render\",r),setTimeout(e,10))})};Sh.rejectOnError=function(e){var t=this.map;function r(){e(new Error(nw.mapOnErrorMsg))}t.once(\"error\",r),t.once(\"style.error\",r),t.once(\"source.error\",r),t.once(\"tile.error\",r),t.once(\"layer.error\",r)};Sh.createFramework=function(e){var t=this,r=t.div=document.createElement(\"div\");r.id=t.uid,r.style.position=\"absolute\",t.container.appendChild(r),t.xaxis={_id:\"x\",c2p:function(n){return t.project(n).x}},t.yaxis={_id:\"y\",c2p:function(n){return t.project(n).y}},t.updateFramework(e),t.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},_jt.setConvert(t.mockAxis,e)};Sh.initFx=function(e,t){var r=this,n=r.gd,i=r.map;i.on(\"moveend\",function(s){if(r.map){var l=n._fullLayout;if(s.originalEvent||r.wheeling){var u=l[r.id];JHe.call(\"_storeDirectGUIEdit\",n.layout,l._preGUI,r.getViewEdits(u));var c=r.getView();u._input.center=u.center=c.center,u._input.zoom=u.zoom=c.zoom,u._input.bearing=u.bearing=c.bearing,u._input.pitch=u.pitch=c.pitch,n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(c))}s.originalEvent&&s.originalEvent.type===\"mouseup\"?r.dragging=!1:r.wheeling&&(r.wheeling=!1),l&&l._rehover&&l._rehover()}}),i.on(\"wheel\",function(){r.wheeling=!0}),i.on(\"mousemove\",function(s){var l=r.div.getBoundingClientRect(),u=[s.originalEvent.offsetX,s.originalEvent.offsetY];s.target.getBoundingClientRect=function(){return l},r.xaxis.p2c=function(){return i.unproject(u).lng},r.yaxis.p2c=function(){return i.unproject(u).lat},n._fullLayout._rehover=function(){n._fullLayout._hoversubplot===r.id&&n._fullLayout[r.id]&&a7.hover(n,s,r.id)},a7.hover(n,s,r.id),n._fullLayout._hoversubplot=r.id});function a(){a7.loneUnhover(t._hoverlayer)}i.on(\"dragstart\",function(){r.dragging=!0,a()}),i.on(\"zoomstart\",a),i.on(\"mouseout\",function(){n._fullLayout._hoversubplot=null});function o(){var s=r.getView();n.emit(\"plotly_relayouting\",r.getViewEditsWithDerived(s))}i.on(\"drag\",o),i.on(\"zoom\",o),i.on(\"dblclick\",function(){var s=n._fullLayout[r.id];JHe.call(\"_storeDirectGUIEdit\",n.layout,n._fullLayout._preGUI,r.getViewEdits(s));var l=r.viewInitial;i.setCenter(_J(l.center)),i.setZoom(l.zoom),i.setBearing(l.bearing),i.setPitch(l.pitch);var u=r.getView();s._input.center=s.center=u.center,s._input.zoom=s.zoom=u.zoom,s._input.bearing=s.bearing=u.bearing,s._input.pitch=s.pitch=u.pitch,n.emit(\"plotly_doubleclick\",null),n.emit(\"plotly_relayout\",r.getViewEditsWithDerived(u))}),r.clearOutline=function(){Sjt(r.dragOptions),Ajt(r.dragOptions.gd)},r.onClickInPanFn=function(s){return function(l){var u=n._fullLayout.clickmode;u.indexOf(\"select\")>-1&&Mjt(l.originalEvent,n,[r.xaxis],[r.yaxis],r.id,s),u.indexOf(\"event\")>-1&&a7.click(n,l.originalEvent)}}};Sh.updateFx=function(e){var t=this,r=t.map,n=t.gd;if(t.isStatic)return;function i(l){var u=t.map.unproject(l);return[u.lng,u.lat]}var a=e.dragmode,o;o=function(l,u){if(u.isRect){var c=l.range={};c[t.id]=[i([u.xmin,u.ymin]),i([u.xmax,u.ymax])]}else{var f=l.lassoPoints={};f[t.id]=u.map(i)}};var s=t.dragOptions;t.dragOptions=yJ.extendDeep(s||{},{dragmode:e.dragmode,element:t.div,gd:n,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:o},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off(\"click\",t.onClickInPanHandler),wjt(a)||bjt(a)?(r.dragPan.disable(),r.on(\"zoomstart\",t.clearOutline),t.dragOptions.prepFn=function(l,u,c){Tjt(l,u,c,t.dragOptions,a)},xjt.init(t.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener(\"touchstart\",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on(\"click\",t.onClickInPanHandler))};Sh.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+\"px\",n.height=r.h*(t.y[1]-t.y[0])+\"px\",n.left=r.l+t.x[0]*r.w+\"px\",n.top=r.t+(1-t.y[1])*r.h+\"px\",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])};Sh.updateLayers=function(e){var t=e[this.id],r=t.layers,n=this.layerList,i;if(r.length!==n.length){for(i=0;i<n.length;i++)n[i].dispose();for(n=this.layerList=[],i=0;i<r.length;i++)n.push(Ejt(this,i,r[i]))}else for(i=0;i<r.length;i++)n[i].update(r[i])};Sh.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))};Sh.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()};Sh.setOptions=function(e,t,r){for(var n in r)this.map[t](e,n,r[n])};Sh.getMapLayers=function(){return this.map.getStyle().layers};Sh.addLayer=function(e,t){var r=this.map;if(typeof t==\"string\"){if(t===\"\"){r.addLayer(e,t);return}for(var n=this.getMapLayers(),i=0;i<n.length;i++)if(t===n[i].id){r.addLayer(e,t);return}yJ.warn([\"Trying to add layer with *below* value\",t,\"referencing a layer that does not exist\",\"or that does not yet exist.\"].join(\" \"))}r.addLayer(e)};Sh.project=function(e){return this.map.project(new mJ.LngLat(e[0],e[1]))};Sh.getView=function(){var e=this.map,t=e.getCenter(),r=t.lng,n=t.lat,i={lon:r,lat:n},a=e.getCanvas(),o=parseInt(a.style.width),s=parseInt(a.style.height);return{center:i,zoom:e.getZoom(),bearing:e.getBearing(),pitch:e.getPitch(),_derived:{coordinates:[e.unproject([0,0]).toArray(),e.unproject([o,0]).toArray(),e.unproject([o,s]).toArray(),e.unproject([0,s]).toArray()]}}};Sh.getViewEdits=function(e){for(var t=this.id,r=[\"center\",\"zoom\",\"bearing\",\"pitch\"],n={},i=0;i<r.length;i++){var a=r[i];n[t+\".\"+a]=e[a]}return n};Sh.getViewEditsWithDerived=function(e){var t=this.id,r=this.getViewEdits(e);return r[t+\"._derived\"]=e._derived,r};function rGe(e){var t={};return yJ.isPlainObject(e)?(t.id=e.id,t.style=e):typeof e==\"string\"?(t.id=e,nw.stylesMap[e]?t.style=nw.stylesMap[e]:t.style=e):(t.id=nw.styleValueDflt,t.style=kjt(nw.styleValueDflt)),t.transition={duration:0,delay:0},t}function kjt(e){return nw.styleUrlPrefix+e+\"-\"+nw.styleUrlSuffix}function _J(e){return[e.lon,e.lat]}iGe.exports=tGe});var sGe=ye((Y1r,oGe)=>{\"use strict\";var xJ=Mr(),Cjt=C_(),Ljt=Zd(),aGe=Ok();oGe.exports=function(t,r,n){Cjt(t,r,n,{type:\"map\",attributes:aGe,handleDefaults:Pjt,partition:\"y\"})};function Pjt(e,t,r){r(\"style\"),r(\"center.lon\"),r(\"center.lat\"),r(\"zoom\"),r(\"bearing\"),r(\"pitch\");var n=r(\"bounds.west\"),i=r(\"bounds.east\"),a=r(\"bounds.south\"),o=r(\"bounds.north\");(n===void 0||i===void 0||a===void 0||o===void 0)&&delete t.bounds,Ljt(e,t,{name:\"layers\",handleItemDefaults:Ijt}),t._input=e}function Ijt(e,t){function r(l,u){return xJ.coerce(e,t,aGe.layers,l,u)}var n=r(\"visible\");if(n){var i=r(\"sourcetype\"),a=i===\"raster\"||i===\"image\";r(\"source\"),r(\"sourceattribution\"),i===\"vector\"&&r(\"sourcelayer\"),i===\"image\"&&r(\"coordinates\");var o;a&&(o=\"raster\");var s=r(\"type\",o);a&&s!==\"raster\"&&(s=t.type=\"raster\",xJ.log(\"Source types *raster* and *image* must drawn *raster* layer type.\")),r(\"below\"),r(\"color\"),r(\"opacity\"),r(\"minzoom\"),r(\"maxzoom\"),s===\"circle\"&&r(\"circle.radius\"),s===\"line\"&&(r(\"line.width\"),r(\"line.dash\")),s===\"fill\"&&r(\"fill.outlinecolor\"),s===\"symbol\"&&(r(\"symbol.icon\"),r(\"symbol.iconsize\"),r(\"symbol.text\"),xJ.coerceFont(r,\"symbol.textfont\",void 0,{noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}),r(\"symbol.textposition\"),r(\"symbol.placement\"))}}});var s7=ye(l0=>{\"use strict\";var o7=Mr(),lGe=o7.strTranslate,Rjt=o7.strScale,Djt=kd().getSubplotCalcData,zjt=Zp(),Fjt=xa(),uGe=ao(),qjt=Pl(),Ojt=nGe(),Tx=\"map\";l0.name=Tx;l0.attr=\"subplot\";l0.idRoot=Tx;l0.idRegex=l0.attrRegex=o7.counterRegex(Tx);l0.attributes={subplot:{valType:\"subplotid\",dflt:\"map\",editType:\"calc\"}};l0.layoutAttributes=Ok();l0.supplyLayoutDefaults=sGe();l0.plot=function(t){for(var r=t._fullLayout,n=t.calcdata,i=r._subplots[Tx],a=0;a<i.length;a++){var o=i[a],s=Djt(n,Tx,o),l=r[o],u=l._subplot;u||(u=new Ojt(t,o),r[o]._subplot=u),u.viewInitial||(u.viewInitial={center:o7.extendFlat({},l.center),zoom:l.zoom,bearing:l.bearing,pitch:l.pitch}),u.plot(s,r,t._promises)}};l0.clean=function(e,t,r,n){for(var i=n._subplots[Tx]||[],a=0;a<i.length;a++){var o=i[a];!t[o]&&n[o]._subplot&&n[o]._subplot.destroy()}};l0.toSVG=function(e){for(var t=e._fullLayout,r=t._subplots[Tx],n=t._size,i=0;i<r.length;i++){var a=t[r[i]],o=a.domain,s=a._subplot,l=s.toImage(\"png\"),u=t._glimages.append(\"svg:image\");u.attr({xmlns:zjt.svg,\"xlink:href\":l,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"});var c=Fjt.select(a._subplot.div),f=c.select(\".maplibregl-ctrl-attrib\").text().replace(\"Improve this map\",\"\"),h=t._glimages.append(\"g\"),d=h.append(\"text\");d.text(f).classed(\"static-attribution\",!0).attr({\"font-size\":12,\"font-family\":\"Arial\",color:\"rgba(0, 0, 0, 0.75)\",\"text-anchor\":\"end\",\"data-unformatted\":f});var v=uGe.bBox(d.node()),x=n.w*(o.x[1]-o.x[0]);if(v.width>x/2){var b=f.split(\"|\").join(\"<br>\");d.text(b).attr(\"data-unformatted\",b).call(qjt.convertToTspans,e),v=uGe.bBox(d.node())}d.attr(\"transform\",lGe(-3,-v.height+8)),h.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 p=1;v.width+6>x&&(p=x/(v.width+6));var E=[n.l+n.w*o.x[1],n.t+n.h*(1-o.y[0])];h.attr(\"transform\",lGe(E[0],E[1])+Rjt(p))}};l0.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[Tx],n=0;n<r.length;n++){var i=t[r[n]]._subplot;i.updateFx(t)}}});var fGe=ye((J1r,cGe)=>{\"use strict\";cGe.exports={attributes:$F(),supplyDefaults:THe(),colorbar:Kd(),formatLabels:cJ(),calc:lz(),plot:qHe(),hoverPoints:i7().hoverPoints,eventData:UHe(),selectPoints:HHe(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.update(t)}},moduleType:\"trace\",name:\"scattermap\",basePlotModule:s7(),categories:[\"map\",\"gl\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var dGe=ye(($1r,hGe)=>{\"use strict\";hGe.exports=fGe()});var bJ=ye((Q1r,vGe)=>{\"use strict\";var d1=K5(),Bjt=Jl(),Njt=Wo().hovertemplateAttrs,Ujt=vl(),Ax=no().extendFlat;vGe.exports=Ax({locations:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:Ax({},d1.featureidkey,{}),below:{valType:\"string\",editType:\"plot\"},text:d1.text,hovertext:d1.hovertext,marker:{line:{color:Ax({},d1.marker.line.color,{editType:\"plot\"}),width:Ax({},d1.marker.line.width,{editType:\"plot\"}),editType:\"calc\"},opacity:Ax({},d1.marker.opacity,{editType:\"plot\"}),editType:\"calc\"},selected:{marker:{opacity:Ax({},d1.selected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:Ax({},d1.unselected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},hoverinfo:d1.hoverinfo,hovertemplate:Njt({},{keys:[\"properties\"]}),showlegend:Ax({},Ujt.showlegend,{dflt:!1})},Bjt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var gGe=ye((e_r,pGe)=>{\"use strict\";var Vk=Mr(),Vjt=Uh(),Hjt=bJ();pGe.exports=function(t,r,n,i){function a(c,f){return Vk.coerce(t,r,Hjt,c,f)}var o=a(\"locations\"),s=a(\"z\"),l=a(\"geojson\");if(!Vk.isArrayOrTypedArray(o)||!o.length||!Vk.isArrayOrTypedArray(s)||!s.length||!(typeof l==\"string\"&&l!==\"\"||Vk.isPlainObject(l))){r.visible=!1;return}a(\"featureidkey\"),r._length=Math.min(o.length,s.length),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\");var u=a(\"marker.line.width\");u&&a(\"marker.line.color\"),a(\"marker.opacity\"),Vjt(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),Vk.coerceSelectionMarkerOpacity(r,a)}});var wJ=ye((t_r,_Ge)=>{\"use strict\";var Gjt=uo(),v1=Mr(),jjt=Mu(),Wjt=ao(),Zjt=rx().makeBlank,mGe=nx();function Xjt(e){var t=e[0].trace,r=t.visible===!0&&t._length!==0,n={layout:{visibility:\"none\"},paint:{}},i={layout:{visibility:\"none\"},paint:{}},a=t._opts={fill:n,line:i,geojson:Zjt()};if(!r)return a;var o=mGe.extractTraceFeature(e);if(!o)return a;var s=jjt.makeColorScaleFuncFromTrace(t),l=t.marker,u=l.line||{},c;v1.isArrayOrTypedArray(l.opacity)&&(c=function(E){var k=E.mo;return Gjt(k)?+v1.constrain(k,0,1):0});var f;v1.isArrayOrTypedArray(u.color)&&(f=function(E){return E.mlc});var h;v1.isArrayOrTypedArray(u.width)&&(h=function(E){return E.mlw});for(var d=0;d<e.length;d++){var v=e[d],x=v.fOut;if(x){var b=x.properties;b.fc=s(v.z),c&&(b.mo=c(v)),f&&(b.mlc=f(v)),h&&(b.mlw=h(v)),v.ct=b.ct,v._polygons=mGe.feature2polygons(x)}}var p=c?{type:\"identity\",property:\"mo\"}:l.opacity;return v1.extendFlat(n.paint,{\"fill-color\":{type:\"identity\",property:\"fc\"},\"fill-opacity\":p}),v1.extendFlat(i.paint,{\"line-color\":f?{type:\"identity\",property:\"mlc\"}:u.color,\"line-width\":h?{type:\"identity\",property:\"mlw\"}:u.width,\"line-opacity\":p}),n.layout.visibility=\"visible\",i.layout.visibility=\"visible\",a.geojson={type:\"FeatureCollection\",features:o},yGe(e),a}function yGe(e){var t=e[0].trace,r=t._opts,n;if(t.selectedpoints){for(var i=Wjt.makeSelectedPointStyleFns(t),a=0;a<e.length;a++){var o=e[a];o.fOut&&(o.fOut.properties.mo2=i.selectedOpacityFn(o))}n={type:\"identity\",property:\"mo2\"}}else n=v1.isArrayOrTypedArray(t.marker.opacity)?{type:\"identity\",property:\"mo\"}:t.marker.opacity;return v1.extendFlat(r.fill.paint,{\"fill-opacity\":n}),v1.extendFlat(r.line.paint,{\"line-opacity\":n}),r}_Ge.exports={convert:Xjt,convertOnSelect:yGe}});var AGe=ye((r_r,TGe)=>{\"use strict\";var bGe=wJ().convert,Yjt=wJ().convertOnSelect,xGe=wx().traceLayerPrefix;function wGe(e,t){this.type=\"choroplethmap\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"fill\",xGe+t+\"-fill\"],[\"line\",xGe+t+\"-line\"]],this.below=null}var MA=wGe.prototype;MA.update=function(e){this._update(bGe(e)),e[0].trace._glTrace=this};MA.updateOnSelect=function(e){this._update(Yjt(e))};MA._update=function(e){var t=this.subplot,r=this.layerList,n=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(e.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(e,n),this.below=n);for(var i=0;i<r.length;i++){var a=r[i],o=a[0],s=a[1],l=e[o];t.setOptions(s,\"setLayoutProperty\",l.layout),l.layout.visibility===\"visible\"&&t.setOptions(s,\"setPaintProperty\",l.paint)}};MA._addLayers=function(e,t){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=e[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},t)}};MA._removeLayers=function(){for(var e=this.subplot.map,t=this.layerList,r=t.length-1;r>=0;r--)e.removeLayer(t[r][1])};MA.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};TGe.exports=function(t,r){var n=r[0].trace,i=new wGe(t,n.uid),a=i.sourceId,o=bGe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),r[0].trace._glTrace=i,i}});var MGe=ye((i_r,SGe)=>{\"use strict\";SGe.exports={attributes:bJ(),supplyDefaults:gGe(),colorbar:M_(),calc:Lz(),plot:AGe(),hoverPoints:Iz(),eventData:Rz(),selectPoints:Dz(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.updateOnSelect(t)}},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if(typeof i==\"string\"&&i.indexOf(\"water\")===0){for(var a=n+1;a<r.length;a++)if(i=r[a].id,typeof i==\"string\"&&i.indexOf(\"plotly-\")===-1)return i}}},moduleType:\"trace\",name:\"choroplethmap\",basePlotModule:s7(),categories:[\"map\",\"gl\",\"noOpacity\",\"showLegend\"],meta:{hr_name:\"choropleth_map\"}}});var kGe=ye((n_r,EGe)=>{\"use strict\";EGe.exports=MGe()});var AJ=ye((a_r,LGe)=>{\"use strict\";var Kjt=Jl(),Jjt=Wo().hovertemplateAttrs,CGe=vl(),l7=$F(),TJ=no().extendFlat;LGe.exports=TJ({lon:l7.lon,lat:l7.lat,z:{valType:\"data_array\",editType:\"calc\"},radius:{valType:\"number\",editType:\"plot\",arrayOk:!0,min:1,dflt:30},below:{valType:\"string\",editType:\"plot\"},text:l7.text,hovertext:l7.hovertext,hoverinfo:TJ({},CGe.hoverinfo,{flags:[\"lon\",\"lat\",\"z\",\"text\",\"name\"]}),hovertemplate:Jjt(),showlegend:TJ({},CGe.showlegend,{dflt:!1})},Kjt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var IGe=ye((o_r,PGe)=>{\"use strict\";var $jt=Mr(),Qjt=Uh(),eWt=AJ();PGe.exports=function(t,r,n,i){function a(u,c){return $jt.coerce(t,r,eWt,u,c)}var o=a(\"lon\")||[],s=a(\"lat\")||[],l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a(\"z\"),a(\"radius\"),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),Qjt(t,r,i,a,{prefix:\"\",cLetter:\"z\"})}});var zGe=ye((s_r,DGe)=>{\"use strict\";var SJ=uo(),tWt=Mr().isArrayOrTypedArray,MJ=es().BADNUM,rWt=zv(),RGe=Mr()._;DGe.exports=function(t,r){for(var n=r._length,i=new Array(n),a=r.z,o=tWt(a)&&a.length,s=0;s<n;s++){var l=i[s]={},u=r.lon[s],c=r.lat[s];if(l.lonlat=SJ(u)&&SJ(c)?[+u,+c]:[MJ,MJ],o){var f=a[s];l.z=SJ(f)?f:MJ}}return rWt(t,r,{vals:o?a:[0,1],containerStr:\"\",cLetter:\"z\"}),n&&(i[0].t={labels:{lat:RGe(t,\"lat:\")+\" \",lon:RGe(t,\"lon:\")+\" \"}}),i}});var NGe=ye((l_r,BGe)=>{\"use strict\";var iWt=uo(),EJ=Mr(),FGe=va(),qGe=Mu(),OGe=es().BADNUM,nWt=rx().makeBlank;BGe.exports=function(t){var r=t[0].trace,n=r.visible===!0&&r._length!==0,i={layout:{visibility:\"none\"},paint:{}},a=r._opts={heatmap:i,geojson:nWt()};if(!n)return a;var o=[],s,l=r.z,u=r.radius,c=EJ.isArrayOrTypedArray(l)&&l.length,f=EJ.isArrayOrTypedArray(u);for(s=0;s<t.length;s++){var h=t[s],d=h.lonlat;if(d[0]!==OGe){var v={};if(c){var x=h.z;v.z=x!==OGe?x:0}f&&(v.r=iWt(u[s])&&u[s]>0?+u[s]:0),o.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:d},properties:v})}}var b=qGe.extractOpts(r),p=b.reversescale?qGe.flipScale(b.colorscale):b.colorscale,E=p[0][1],k=FGe.opacity(E)<1?E:FGe.addOpacity(E,0),A=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,k];for(s=1;s<p.length;s++)A.push(p[s][0],p[s][1]);var L=[\"interpolate\",[\"linear\"],[\"get\",\"z\"],b.min,0,b.max,1];return EJ.extendFlat(a.heatmap.paint,{\"heatmap-weight\":c?L:1/(b.max-b.min),\"heatmap-color\":A,\"heatmap-radius\":f?{type:\"identity\",property:\"r\"}:r.radius,\"heatmap-opacity\":r.opacity}),a.geojson={type:\"FeatureCollection\",features:o},a.heatmap.layout.visibility=\"visible\",a}});var GGe=ye((u_r,HGe)=>{\"use strict\";var UGe=NGe(),aWt=wx().traceLayerPrefix;function VGe(e,t){this.type=\"densitymap\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"heatmap\",aWt+t+\"-heatmap\"]],this.below=null}var u7=VGe.prototype;u7.update=function(e){var t=this.subplot,r=this.layerList,n=UGe(e),i=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(n.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(n,i),this.below=i);for(var a=0;a<r.length;a++){var o=r[a],s=o[0],l=o[1],u=n[s];t.setOptions(l,\"setLayoutProperty\",u.layout),u.layout.visibility===\"visible\"&&t.setOptions(l,\"setPaintProperty\",u.paint)}};u7._addLayers=function(e,t){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=e[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},t)}};u7._removeLayers=function(){for(var e=this.subplot.map,t=this.layerList,r=t.length-1;r>=0;r--)e.removeLayer(t[r][1])};u7.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};HGe.exports=function(t,r){var n=r[0].trace,i=new VGe(t,n.uid),a=i.sourceId,o=UGe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),i}});var WGe=ye((c_r,jGe)=>{\"use strict\";var oWt=Qa(),sWt=i7().hoverPoints,lWt=i7().getExtraText;jGe.exports=function(t,r,n){var i=sWt(t,r,n);if(i){var a=i[0],o=a.cd,s=o[0].trace,l=o[a.index];if(delete a.color,\"z\"in l){var u=a.subplot.mockAxis;a.z=l.z,a.zLabel=oWt.tickText(u,u.c2l(l.z),\"hover\").text}return a.extraText=lWt(s,l,o[0].t.labels),[a]}}});var XGe=ye((f_r,ZGe)=>{\"use strict\";ZGe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t.z=r.z,t}});var KGe=ye((h_r,YGe)=>{\"use strict\";YGe.exports={attributes:AJ(),supplyDefaults:IGe(),colorbar:M_(),formatLabels:cJ(),calc:zGe(),plot:GGe(),hoverPoints:WGe(),eventData:XGe(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n<r.length;n++){var i=r[n],a=i.id;if(i.type===\"symbol\"&&typeof a==\"string\"&&a.indexOf(\"plotly-\")===-1)return a}},moduleType:\"trace\",name:\"densitymap\",basePlotModule:s7(),categories:[\"map\",\"gl\",\"showLegend\"],meta:{hr_name:\"density_map\"}}});var $Ge=ye((d_r,JGe)=>{\"use strict\";JGe.exports=KGe()});var CJ=ye((p_r,rje)=>{\"use strict\";var uWt=Su(),cWt=vl(),QGe=dh(),kJ=i3(),fWt=Ju().attributes,eje=Wo().hovertemplateAttrs,hWt=Jl(),dWt=Vs().templatedArray,vWt=Oc().descriptionOnlyNumbers,tje=no().extendFlat,pWt=Bu().overrideAll,v_r=rje.exports=pWt({hoverinfo:tje({},cWt.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:kJ.hoverlabel,domain:fWt({name:\"sankey\",trace:!0}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\"},valueformat:{valType:\"string\",dflt:\".3s\",description:vWt(\"value\")},valuesuffix:{valType:\"string\",dflt:\"\"},arrangement:{valType:\"enumerated\",values:[\"snap\",\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"snap\"},textfont:uWt({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:QGe.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:kJ.hoverlabel,hovertemplate:eje({},{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:QGe.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:kJ.hoverlabel,hovertemplate:eje({},{keys:[\"value\",\"label\"]}),colorscales:dWt(\"concentrationscales\",{editType:\"calc\",label:{valType:\"string\",editType:\"calc\",dflt:\"\"},cmax:{valType:\"number\",editType:\"calc\",dflt:1},cmin:{valType:\"number\",editType:\"calc\",dflt:0},colorscale:tje(hWt().colorscale,{dflt:[[0,\"white\"],[1,\"black\"]]})})}},\"calc\",\"nested\")});var sje=ye((g_r,oje)=>{\"use strict\";var EA=Mr(),c7=CJ(),gWt=va(),ije=id(),mWt=Ju().defaults,nje=oM(),aje=Vs(),yWt=Zd();oje.exports=function(t,r,n,i){function a(A,L){return EA.coerce(t,r,c7,A,L)}var o=EA.extendDeep(i.hoverlabel,t.hoverlabel),s=t.node,l=aje.newContainer(r,\"node\");function u(A,L){return EA.coerce(s,l,c7.node,A,L)}u(\"label\"),u(\"groups\"),u(\"x\"),u(\"y\"),u(\"pad\"),u(\"thickness\"),u(\"line.color\"),u(\"line.width\"),u(\"hoverinfo\",t.hoverinfo),nje(s,l,u,o),u(\"hovertemplate\"),u(\"align\");var c=i.colorway,f=function(A){return c[A%c.length]};u(\"color\",l.label.map(function(A,L){return gWt.addOpacity(f(L),.8)})),u(\"customdata\");var h=t.link||{},d=aje.newContainer(r,\"link\");function v(A,L){return EA.coerce(h,d,c7.link,A,L)}v(\"label\"),v(\"arrowlen\"),v(\"source\"),v(\"target\"),v(\"value\"),v(\"line.color\"),v(\"line.width\"),v(\"hoverinfo\",t.hoverinfo),nje(h,d,v,o),v(\"hovertemplate\");var x=ije(i.paper_bgcolor).getLuminance()<.333,b=x?\"rgba(255, 255, 255, 0.6)\":\"rgba(0, 0, 0, 0.2)\",p=v(\"color\",b);function E(A){var L=ije(A);if(!L.isValid())return A;var _=L.getAlpha();return _<=.8?L.setAlpha(_+.2):L=x?L.brighten():L.darken(),L.toRgbString()}v(\"hovercolor\",Array.isArray(p)?p.map(E):E(p)),v(\"customdata\"),yWt(h,d,{name:\"colorscales\",handleItemDefaults:_Wt}),mWt(r,i,a),a(\"orientation\"),a(\"valueformat\"),a(\"valuesuffix\");var k;l.x.length&&l.y.length&&(k=\"freeform\"),a(\"arrangement\",k),EA.coerceFont(a,\"textfont\",i.font,{autoShadowDflt:!0}),r._length=null};function _Wt(e,t){function r(n,i){return EA.coerce(e,t,c7.link.colorscales,n,i)}r(\"label\"),r(\"cmin\"),r(\"cmax\"),r(\"colorscale\")}});var LJ=ye((m_r,lje)=>{\"use strict\";lje.exports=xWt;function xWt(e){for(var t=e.length,r=new Array(t),n=new Array(t),i=new Array(t),a=new Array(t),o=new Array(t),s=new Array(t),l=0;l<t;++l)r[l]=-1,n[l]=0,i[l]=!1,a[l]=0,o[l]=-1,s[l]=[];var u=0,c=[],f=[];function h(b){var p=[b],E=[b];for(r[b]=n[b]=u,i[b]=!0,u+=1;E.length>0;){b=E[E.length-1];var k=e[b];if(a[b]<k.length){for(var A=a[b];A<k.length;++A){var L=k[A];if(r[L]<0){r[L]=n[L]=u,i[L]=!0,u+=1,p.push(L),E.push(L);break}else i[L]&&(n[b]=Math.min(n[b],n[L])|0);o[L]>=0&&s[b].push(o[L])}a[b]=A}else{if(n[b]===r[b]){for(var _=[],C=[],M=0,A=p.length-1;A>=0;--A){var g=p[A];if(i[g]=!1,_.push(g),C.push(s[g]),M+=s[g].length,o[g]=c.length,g===b){p.length=A;break}}c.push(_);for(var P=new Array(M),A=0;A<C.length;A++)for(var T=0;T<C[A].length;T++)P[--M]=C[A][T];f.push(P)}E.pop()}}}for(var l=0;l<t;++l)r[l]<0&&h(l);for(var d,l=0;l<f.length;l++){var v=f[l];if(v.length!==0){v.sort(function(p,E){return p-E}),d=[v[0]];for(var x=1;x<v.length;x++)v[x]!==v[x-1]&&d.push(v[x]);f[l]=d}}return{components:c,adjacencyList:f}}});var hje=ye((y_r,fje)=>{\"use strict\";var bWt=LJ(),kA=Mr(),wWt=Km().wrap,Hk=kA.isArrayOrTypedArray,uje=kA.isIndex,cje=Mu();function TWt(e){var t=e.node,r=e.link,n=[],i=Hk(r.color),a=Hk(r.hovercolor),o=Hk(r.customdata),s={},l={},u=r.colorscales.length,c;for(c=0;c<u;c++){var f=r.colorscales[c],h=cje.extractScale(f,{cLetter:\"c\"}),d=cje.makeColorScaleFunc(h);l[f.label]=d}var v=0;for(c=0;c<r.value.length;c++)r.source[c]>v&&(v=r.source[c]),r.target[c]>v&&(v=r.target[c]);var x=v+1;e.node._count=x;var b,p=e.node.groups,E={};for(c=0;c<p.length;c++){var k=p[c];for(b=0;b<k.length;b++){var A=k[b],L=x+c;E.hasOwnProperty(A)?kA.warn(\"Node \"+A+\" is already part of a group.\"):E[A]=L}}var _={source:[],target:[]};for(c=0;c<r.value.length;c++){var C=r.value[c],M=r.source[c],g=r.target[c];if(C>0&&uje(M,x)&&uje(g,x)&&!(E.hasOwnProperty(M)&&E.hasOwnProperty(g)&&E[M]===E[g])){E.hasOwnProperty(g)&&(g=E[g]),E.hasOwnProperty(M)&&(M=E[M]),M=+M,g=+g,s[M]=s[g]=!0;var P=\"\";r.label&&r.label[c]&&(P=r.label[c]);var T=null;P&&l.hasOwnProperty(P)&&(T=l[P]),n.push({pointNumber:c,label:P,color:i?r.color[c]:r.color,hovercolor:a?r.hovercolor[c]:r.hovercolor,customdata:o?r.customdata[c]:r.customdata,concentrationscale:T,source:M,target:g,value:+C}),_.source.push(M),_.target.push(g)}}var F=x+p.length,q=Hk(t.color),V=Hk(t.customdata),H=[];for(c=0;c<F;c++)if(s[c]){var X=t.label[c];H.push({group:c>x-1,childrenNodes:[],pointNumber:c,label:X,color:q?t.color[c]:t.color,customdata:V?t.customdata[c]:t.customdata})}var G=!1;return AWt(F,_.source,_.target)&&(G=!0),{circular:G,links:n,nodes:H,groups:p,groupLookup:E}}function AWt(e,t,r){for(var n=kA.init2dArray(e,0),i=0;i<Math.min(t.length,r.length);i++)if(kA.isIndex(t[i],e)&&kA.isIndex(r[i],e)){if(t[i]===r[i])return!0;n[t[i]].push(r[i])}var a=bWt(n);return a.components.some(function(o){return o.length>1})}fje.exports=function(t,r){var n=TWt(r);return wWt({circular:n.circular,_nodes:n.nodes,_links:n.links,_groups:n.groups,_groupLookup:n.groupLookup})}});var vje=ye((f7,dje)=>{(function(e,t){typeof f7==\"object\"&&typeof dje!=\"undefined\"?t(f7):(e=e||self,t(e.d3=e.d3||{}))})(f7,function(e){\"use strict\";function t(C){var M=+this._x.call(null,C),g=+this._y.call(null,C);return r(this.cover(M,g),M,g,C)}function r(C,M,g,P){if(isNaN(M)||isNaN(g))return C;var T,F=C._root,q={data:P},V=C._x0,H=C._y0,X=C._x1,G=C._y1,N,W,re,ae,_e,Me,ke,ge;if(!F)return C._root=q,C;for(;F.length;)if((_e=M>=(N=(V+X)/2))?V=N:X=N,(Me=g>=(W=(H+G)/2))?H=W:G=W,T=F,!(F=F[ke=Me<<1|_e]))return T[ke]=q,C;if(re=+C._x.call(null,F.data),ae=+C._y.call(null,F.data),M===re&&g===ae)return q.next=F,T?T[ke]=q:C._root=q,C;do T=T?T[ke]=new Array(4):C._root=new Array(4),(_e=M>=(N=(V+X)/2))?V=N:X=N,(Me=g>=(W=(H+G)/2))?H=W:G=W;while((ke=Me<<1|_e)===(ge=(ae>=W)<<1|re>=N));return T[ge]=F,T[ke]=q,C}function n(C){var M,g,P=C.length,T,F,q=new Array(P),V=new Array(P),H=1/0,X=1/0,G=-1/0,N=-1/0;for(g=0;g<P;++g)isNaN(T=+this._x.call(null,M=C[g]))||isNaN(F=+this._y.call(null,M))||(q[g]=T,V[g]=F,T<H&&(H=T),T>G&&(G=T),F<X&&(X=F),F>N&&(N=F));if(H>G||X>N)return this;for(this.cover(H,X).cover(G,N),g=0;g<P;++g)r(this,q[g],V[g],C[g]);return this}function i(C,M){if(isNaN(C=+C)||isNaN(M=+M))return this;var g=this._x0,P=this._y0,T=this._x1,F=this._y1;if(isNaN(g))T=(g=Math.floor(C))+1,F=(P=Math.floor(M))+1;else{for(var q=T-g,V=this._root,H,X;g>C||C>=T||P>M||M>=F;)switch(X=(M<P)<<1|C<g,H=new Array(4),H[X]=V,V=H,q*=2,X){case 0:T=g+q,F=P+q;break;case 1:g=T-q,F=P+q;break;case 2:T=g+q,P=F-q;break;case 3:g=T-q,P=F-q;break}this._root&&this._root.length&&(this._root=V)}return this._x0=g,this._y0=P,this._x1=T,this._y1=F,this}function a(){var C=[];return this.visit(function(M){if(!M.length)do C.push(M.data);while(M=M.next)}),C}function o(C){return arguments.length?this.cover(+C[0][0],+C[0][1]).cover(+C[1][0],+C[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function s(C,M,g,P,T){this.node=C,this.x0=M,this.y0=g,this.x1=P,this.y1=T}function l(C,M,g){var P,T=this._x0,F=this._y0,q,V,H,X,G=this._x1,N=this._y1,W=[],re=this._root,ae,_e;for(re&&W.push(new s(re,T,F,G,N)),g==null?g=1/0:(T=C-g,F=M-g,G=C+g,N=M+g,g*=g);ae=W.pop();)if(!(!(re=ae.node)||(q=ae.x0)>G||(V=ae.y0)>N||(H=ae.x1)<T||(X=ae.y1)<F))if(re.length){var Me=(q+H)/2,ke=(V+X)/2;W.push(new s(re[3],Me,ke,H,X),new s(re[2],q,ke,Me,X),new s(re[1],Me,V,H,ke),new s(re[0],q,V,Me,ke)),(_e=(M>=ke)<<1|C>=Me)&&(ae=W[W.length-1],W[W.length-1]=W[W.length-1-_e],W[W.length-1-_e]=ae)}else{var ge=C-+this._x.call(null,re.data),ie=M-+this._y.call(null,re.data),Te=ge*ge+ie*ie;if(Te<g){var Ee=Math.sqrt(g=Te);T=C-Ee,F=M-Ee,G=C+Ee,N=M+Ee,P=re.data}}return P}function u(C){if(isNaN(G=+this._x.call(null,C))||isNaN(N=+this._y.call(null,C)))return this;var M,g=this._root,P,T,F,q=this._x0,V=this._y0,H=this._x1,X=this._y1,G,N,W,re,ae,_e,Me,ke;if(!g)return this;if(g.length)for(;;){if((ae=G>=(W=(q+H)/2))?q=W:H=W,(_e=N>=(re=(V+X)/2))?V=re:X=re,M=g,!(g=g[Me=_e<<1|ae]))return this;if(!g.length)break;(M[Me+1&3]||M[Me+2&3]||M[Me+3&3])&&(P=M,ke=Me)}for(;g.data!==C;)if(T=g,!(g=g.next))return this;return(F=g.next)&&delete g.next,T?(F?T.next=F:delete T.next,this):M?(F?M[Me]=F:delete M[Me],(g=M[0]||M[1]||M[2]||M[3])&&g===(M[3]||M[2]||M[1]||M[0])&&!g.length&&(P?P[ke]=g:this._root=g),this):(this._root=F,this)}function c(C){for(var M=0,g=C.length;M<g;++M)this.remove(C[M]);return this}function f(){return this._root}function h(){var C=0;return this.visit(function(M){if(!M.length)do++C;while(M=M.next)}),C}function d(C){var M=[],g,P=this._root,T,F,q,V,H;for(P&&M.push(new s(P,this._x0,this._y0,this._x1,this._y1));g=M.pop();)if(!C(P=g.node,F=g.x0,q=g.y0,V=g.x1,H=g.y1)&&P.length){var X=(F+V)/2,G=(q+H)/2;(T=P[3])&&M.push(new s(T,X,G,V,H)),(T=P[2])&&M.push(new s(T,F,G,X,H)),(T=P[1])&&M.push(new s(T,X,q,V,G)),(T=P[0])&&M.push(new s(T,F,q,X,G))}return this}function v(C){var M=[],g=[],P;for(this._root&&M.push(new s(this._root,this._x0,this._y0,this._x1,this._y1));P=M.pop();){var T=P.node;if(T.length){var F,q=P.x0,V=P.y0,H=P.x1,X=P.y1,G=(q+H)/2,N=(V+X)/2;(F=T[0])&&M.push(new s(F,q,V,G,N)),(F=T[1])&&M.push(new s(F,G,V,H,N)),(F=T[2])&&M.push(new s(F,q,N,G,X)),(F=T[3])&&M.push(new s(F,G,N,H,X))}g.push(P)}for(;P=g.pop();)C(P.node,P.x0,P.y0,P.x1,P.y1);return this}function x(C){return C[0]}function b(C){return arguments.length?(this._x=C,this):this._x}function p(C){return C[1]}function E(C){return arguments.length?(this._y=C,this):this._y}function k(C,M,g){var P=new A(M==null?x:M,g==null?p:g,NaN,NaN,NaN,NaN);return C==null?P:P.addAll(C)}function A(C,M,g,P,T,F){this._x=C,this._y=M,this._x0=g,this._y0=P,this._x1=T,this._y1=F,this._root=void 0}function L(C){for(var M={data:C.data},g=M;C=C.next;)g=g.next={data:C.data};return M}var _=k.prototype=A.prototype;_.copy=function(){var C=new A(this._x,this._y,this._x0,this._y0,this._x1,this._y1),M=this._root,g,P;if(!M)return C;if(!M.length)return C._root=L(M),C;for(g=[{source:M,target:C._root=new Array(4)}];M=g.pop();)for(var T=0;T<4;++T)(P=M.source[T])&&(P.length?g.push({source:P,target:M.target[T]=new Array(4)}):M.target[T]=L(P));return C},_.add=t,_.addAll=n,_.cover=i,_.data=a,_.extent=o,_.find=l,_.remove=u,_.removeAll=c,_.root=f,_.size=h,_.visit=d,_.visitAfter=v,_.x=b,_.y=E,e.quadtree=k,Object.defineProperty(e,\"__esModule\",{value:!0})})});var d7=ye((h7,pje)=>{(function(e,t){t(typeof h7==\"object\"&&typeof pje!=\"undefined\"?h7:e.d3=e.d3||{})})(h7,function(e){\"use strict\";var t=\"$\";function r(){}r.prototype=n.prototype={constructor:r,has:function(x){return t+x in this},get:function(x){return this[t+x]},set:function(x,b){return this[t+x]=b,this},remove:function(x){var b=t+x;return b in this&&delete this[b]},clear:function(){for(var x in this)x[0]===t&&delete this[x]},keys:function(){var x=[];for(var b in this)b[0]===t&&x.push(b.slice(1));return x},values:function(){var x=[];for(var b in this)b[0]===t&&x.push(this[b]);return x},entries:function(){var x=[];for(var b in this)b[0]===t&&x.push({key:b.slice(1),value:this[b]});return x},size:function(){var x=0;for(var b in this)b[0]===t&&++x;return x},empty:function(){for(var x in this)if(x[0]===t)return!1;return!0},each:function(x){for(var b in this)b[0]===t&&x(this[b],b.slice(1),this)}};function n(x,b){var p=new r;if(x instanceof r)x.each(function(_,C){p.set(C,_)});else if(Array.isArray(x)){var E=-1,k=x.length,A;if(b==null)for(;++E<k;)p.set(E,x[E]);else for(;++E<k;)p.set(b(A=x[E],E,x),A)}else if(x)for(var L in x)p.set(L,x[L]);return p}function i(){var x=[],b=[],p,E,k;function A(_,C,M,g){if(C>=x.length)return p!=null&&_.sort(p),E!=null?E(_):_;for(var P=-1,T=_.length,F=x[C++],q,V,H=n(),X,G=M();++P<T;)(X=H.get(q=F(V=_[P])+\"\"))?X.push(V):H.set(q,[V]);return H.each(function(N,W){g(G,W,A(N,C,M,g))}),G}function L(_,C){if(++C>x.length)return _;var M,g=b[C-1];return E!=null&&C>=x.length?M=_.entries():(M=[],_.each(function(P,T){M.push({key:T,values:L(P,C)})})),g!=null?M.sort(function(P,T){return g(P.key,T.key)}):M}return k={object:function(_){return A(_,0,a,o)},map:function(_){return A(_,0,s,l)},entries:function(_){return L(A(_,0,s,l),0)},key:function(_){return x.push(_),k},sortKeys:function(_){return b[x.length-1]=_,k},sortValues:function(_){return p=_,k},rollup:function(_){return E=_,k}}}function a(){return{}}function o(x,b,p){x[b]=p}function s(){return n()}function l(x,b,p){x.set(b,p)}function u(){}var c=n.prototype;u.prototype=f.prototype={constructor:u,has:c.has,add:function(x){return x+=\"\",this[t+x]=x,this},remove:c.remove,clear:c.clear,values:c.keys,size:c.size,empty:c.empty,each:c.each};function f(x,b){var p=new u;if(x instanceof u)x.each(function(A){p.add(A)});else if(x){var E=-1,k=x.length;if(b==null)for(;++E<k;)p.add(x[E]);else for(;++E<k;)p.add(b(x[E],E,x))}return p}function h(x){var b=[];for(var p in x)b.push(p);return b}function d(x){var b=[];for(var p in x)b.push(x[p]);return b}function v(x){var b=[];for(var p in x)b.push({key:p,value:x[p]});return b}e.nest=i,e.set=f,e.map=n,e.keys=h,e.values=d,e.entries=v,Object.defineProperty(e,\"__esModule\",{value:!0})})});var mje=ye((v7,gje)=>{(function(e,t){typeof v7==\"object\"&&typeof gje!=\"undefined\"?t(v7):(e=e||self,t(e.d3=e.d3||{}))})(v7,function(e){\"use strict\";var t={value:function(){}};function r(){for(var s=0,l=arguments.length,u={},c;s<l;++s){if(!(c=arguments[s]+\"\")||c in u||/[\\s.]/.test(c))throw new Error(\"illegal type: \"+c);u[c]=[]}return new n(u)}function n(s){this._=s}function i(s,l){return s.trim().split(/^|\\s+/).map(function(u){var c=\"\",f=u.indexOf(\".\");if(f>=0&&(c=u.slice(f+1),u=u.slice(0,f)),u&&!l.hasOwnProperty(u))throw new Error(\"unknown type: \"+u);return{type:u,name:c}})}n.prototype=r.prototype={constructor:n,on:function(s,l){var u=this._,c=i(s+\"\",u),f,h=-1,d=c.length;if(arguments.length<2){for(;++h<d;)if((f=(s=c[h]).type)&&(f=a(u[f],s.name)))return f;return}if(l!=null&&typeof l!=\"function\")throw new Error(\"invalid callback: \"+l);for(;++h<d;)if(f=(s=c[h]).type)u[f]=o(u[f],s.name,l);else if(l==null)for(f in u)u[f]=o(u[f],s.name,null);return this},copy:function(){var s={},l=this._;for(var u in l)s[u]=l[u].slice();return new n(s)},call:function(s,l){if((f=arguments.length-2)>0)for(var u=new Array(f),c=0,f,h;c<f;++c)u[c]=arguments[c+2];if(!this._.hasOwnProperty(s))throw new Error(\"unknown type: \"+s);for(h=this._[s],c=0,f=h.length;c<f;++c)h[c].value.apply(l,u)},apply:function(s,l,u){if(!this._.hasOwnProperty(s))throw new Error(\"unknown type: \"+s);for(var c=this._[s],f=0,h=c.length;f<h;++f)c[f].value.apply(l,u)}};function a(s,l){for(var u=0,c=s.length,f;u<c;++u)if((f=s[u]).name===l)return f.value}function o(s,l,u){for(var c=0,f=s.length;c<f;++c)if(s[c].name===l){s[c]=t,s=s.slice(0,c).concat(s.slice(c+1));break}return u!=null&&s.push({name:l,value:u}),s}e.dispatch=r,Object.defineProperty(e,\"__esModule\",{value:!0})})});var _je=ye((p7,yje)=>{(function(e,t){typeof p7==\"object\"&&typeof yje!=\"undefined\"?t(p7):(e=e||self,t(e.d3=e.d3||{}))})(p7,function(e){\"use strict\";var t=0,r=0,n=0,i=1e3,a,o,s=0,l=0,u=0,c=typeof performance==\"object\"&&performance.now?performance:Date,f=typeof window==\"object\"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(C){setTimeout(C,17)};function h(){return l||(f(d),l=c.now()+u)}function d(){l=0}function v(){this._call=this._time=this._next=null}v.prototype=x.prototype={constructor:v,restart:function(C,M,g){if(typeof C!=\"function\")throw new TypeError(\"callback is not a function\");g=(g==null?h():+g)+(M==null?0:+M),!this._next&&o!==this&&(o?o._next=this:a=this,o=this),this._call=C,this._time=g,A()},stop:function(){this._call&&(this._call=null,this._time=1/0,A())}};function x(C,M,g){var P=new v;return P.restart(C,M,g),P}function b(){h(),++t;for(var C=a,M;C;)(M=l-C._time)>=0&&C._call.call(null,M),C=C._next;--t}function p(){l=(s=c.now())+u,t=r=0;try{b()}finally{t=0,k(),l=0}}function E(){var C=c.now(),M=C-s;M>i&&(u-=M,s=C)}function k(){for(var C,M=a,g,P=1/0;M;)M._call?(P>M._time&&(P=M._time),C=M,M=M._next):(g=M._next,M._next=null,M=C?C._next=g:a=g);o=C,A(P)}function A(C){if(!t){r&&(r=clearTimeout(r));var M=C-l;M>24?(C<1/0&&(r=setTimeout(p,C-c.now()-u)),n&&(n=clearInterval(n))):(n||(s=c.now(),n=setInterval(E,i)),t=1,f(p))}}function L(C,M,g){var P=new v;return M=M==null?0:+M,P.restart(function(T){P.stop(),C(T+M)},M,g),P}function _(C,M,g){var P=new v,T=M;return M==null?(P.restart(C,M,g),P):(M=+M,g=g==null?h():+g,P.restart(function F(q){q+=T,P.restart(F,T+=M,g),C(q)},M,g),P)}e.interval=_,e.now=h,e.timeout=L,e.timer=x,e.timerFlush=b,Object.defineProperty(e,\"__esModule\",{value:!0})})});var bje=ye((g7,xje)=>{(function(e,t){typeof g7==\"object\"&&typeof xje!=\"undefined\"?t(g7,vje(),d7(),mje(),_je()):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,e.d3)})(g7,function(e,t,r,n,i){\"use strict\";function a(C,M){var g;C==null&&(C=0),M==null&&(M=0);function P(){var T,F=g.length,q,V=0,H=0;for(T=0;T<F;++T)q=g[T],V+=q.x,H+=q.y;for(V=V/F-C,H=H/F-M,T=0;T<F;++T)q=g[T],q.x-=V,q.y-=H}return P.initialize=function(T){g=T},P.x=function(T){return arguments.length?(C=+T,P):C},P.y=function(T){return arguments.length?(M=+T,P):M},P}function o(C){return function(){return C}}function s(){return(Math.random()-.5)*1e-6}function l(C){return C.x+C.vx}function u(C){return C.y+C.vy}function c(C){var M,g,P=1,T=1;typeof C!=\"function\"&&(C=o(C==null?1:+C));function F(){for(var H,X=M.length,G,N,W,re,ae,_e,Me=0;Me<T;++Me)for(G=t.quadtree(M,l,u).visitAfter(q),H=0;H<X;++H)N=M[H],ae=g[N.index],_e=ae*ae,W=N.x+N.vx,re=N.y+N.vy,G.visit(ke);function ke(ge,ie,Te,Ee,Ae){var ze=ge.data,Ce=ge.r,me=ae+Ce;if(ze){if(ze.index>N.index){var Re=W-ze.x-ze.vx,ce=re-ze.y-ze.vy,Ge=Re*Re+ce*ce;Ge<me*me&&(Re===0&&(Re=s(),Ge+=Re*Re),ce===0&&(ce=s(),Ge+=ce*ce),Ge=(me-(Ge=Math.sqrt(Ge)))/Ge*P,N.vx+=(Re*=Ge)*(me=(Ce*=Ce)/(_e+Ce)),N.vy+=(ce*=Ge)*me,ze.vx-=Re*(me=1-me),ze.vy-=ce*me)}return}return ie>W+me||Ee<W-me||Te>re+me||Ae<re-me}}function q(H){if(H.data)return H.r=g[H.data.index];for(var X=H.r=0;X<4;++X)H[X]&&H[X].r>H.r&&(H.r=H[X].r)}function V(){if(M){var H,X=M.length,G;for(g=new Array(X),H=0;H<X;++H)G=M[H],g[G.index]=+C(G,H,M)}}return F.initialize=function(H){M=H,V()},F.iterations=function(H){return arguments.length?(T=+H,F):T},F.strength=function(H){return arguments.length?(P=+H,F):P},F.radius=function(H){return arguments.length?(C=typeof H==\"function\"?H:o(+H),V(),F):C},F}function f(C){return C.index}function h(C,M){var g=C.get(M);if(!g)throw new Error(\"missing: \"+M);return g}function d(C){var M=f,g=G,P,T=o(30),F,q,V,H,X=1;C==null&&(C=[]);function G(_e){return 1/Math.min(V[_e.source.index],V[_e.target.index])}function N(_e){for(var Me=0,ke=C.length;Me<X;++Me)for(var ge=0,ie,Te,Ee,Ae,ze,Ce,me;ge<ke;++ge)ie=C[ge],Te=ie.source,Ee=ie.target,Ae=Ee.x+Ee.vx-Te.x-Te.vx||s(),ze=Ee.y+Ee.vy-Te.y-Te.vy||s(),Ce=Math.sqrt(Ae*Ae+ze*ze),Ce=(Ce-F[ge])/Ce*_e*P[ge],Ae*=Ce,ze*=Ce,Ee.vx-=Ae*(me=H[ge]),Ee.vy-=ze*me,Te.vx+=Ae*(me=1-me),Te.vy+=ze*me}function W(){if(q){var _e,Me=q.length,ke=C.length,ge=r.map(q,M),ie;for(_e=0,V=new Array(Me);_e<ke;++_e)ie=C[_e],ie.index=_e,typeof ie.source!=\"object\"&&(ie.source=h(ge,ie.source)),typeof ie.target!=\"object\"&&(ie.target=h(ge,ie.target)),V[ie.source.index]=(V[ie.source.index]||0)+1,V[ie.target.index]=(V[ie.target.index]||0)+1;for(_e=0,H=new Array(ke);_e<ke;++_e)ie=C[_e],H[_e]=V[ie.source.index]/(V[ie.source.index]+V[ie.target.index]);P=new Array(ke),re(),F=new Array(ke),ae()}}function re(){if(q)for(var _e=0,Me=C.length;_e<Me;++_e)P[_e]=+g(C[_e],_e,C)}function ae(){if(q)for(var _e=0,Me=C.length;_e<Me;++_e)F[_e]=+T(C[_e],_e,C)}return N.initialize=function(_e){q=_e,W()},N.links=function(_e){return arguments.length?(C=_e,W(),N):C},N.id=function(_e){return arguments.length?(M=_e,N):M},N.iterations=function(_e){return arguments.length?(X=+_e,N):X},N.strength=function(_e){return arguments.length?(g=typeof _e==\"function\"?_e:o(+_e),re(),N):g},N.distance=function(_e){return arguments.length?(T=typeof _e==\"function\"?_e:o(+_e),ae(),N):T},N}function v(C){return C.x}function x(C){return C.y}var b=10,p=Math.PI*(3-Math.sqrt(5));function E(C){var M,g=1,P=.001,T=1-Math.pow(P,1/300),F=0,q=.6,V=r.map(),H=i.timer(G),X=n.dispatch(\"tick\",\"end\");C==null&&(C=[]);function G(){N(),X.call(\"tick\",M),g<P&&(H.stop(),X.call(\"end\",M))}function N(ae){var _e,Me=C.length,ke;ae===void 0&&(ae=1);for(var ge=0;ge<ae;++ge)for(g+=(F-g)*T,V.each(function(ie){ie(g)}),_e=0;_e<Me;++_e)ke=C[_e],ke.fx==null?ke.x+=ke.vx*=q:(ke.x=ke.fx,ke.vx=0),ke.fy==null?ke.y+=ke.vy*=q:(ke.y=ke.fy,ke.vy=0);return M}function W(){for(var ae=0,_e=C.length,Me;ae<_e;++ae){if(Me=C[ae],Me.index=ae,Me.fx!=null&&(Me.x=Me.fx),Me.fy!=null&&(Me.y=Me.fy),isNaN(Me.x)||isNaN(Me.y)){var ke=b*Math.sqrt(ae),ge=ae*p;Me.x=ke*Math.cos(ge),Me.y=ke*Math.sin(ge)}(isNaN(Me.vx)||isNaN(Me.vy))&&(Me.vx=Me.vy=0)}}function re(ae){return ae.initialize&&ae.initialize(C),ae}return W(),M={tick:N,restart:function(){return H.restart(G),M},stop:function(){return H.stop(),M},nodes:function(ae){return arguments.length?(C=ae,W(),V.each(re),M):C},alpha:function(ae){return arguments.length?(g=+ae,M):g},alphaMin:function(ae){return arguments.length?(P=+ae,M):P},alphaDecay:function(ae){return arguments.length?(T=+ae,M):+T},alphaTarget:function(ae){return arguments.length?(F=+ae,M):F},velocityDecay:function(ae){return arguments.length?(q=1-ae,M):1-q},force:function(ae,_e){return arguments.length>1?(_e==null?V.remove(ae):V.set(ae,re(_e)),M):V.get(ae)},find:function(ae,_e,Me){var ke=0,ge=C.length,ie,Te,Ee,Ae,ze;for(Me==null?Me=1/0:Me*=Me,ke=0;ke<ge;++ke)Ae=C[ke],ie=ae-Ae.x,Te=_e-Ae.y,Ee=ie*ie+Te*Te,Ee<Me&&(ze=Ae,Me=Ee);return ze},on:function(ae,_e){return arguments.length>1?(X.on(ae,_e),M):X.on(ae)}}}function k(){var C,M,g,P=o(-30),T,F=1,q=1/0,V=.81;function H(W){var re,ae=C.length,_e=t.quadtree(C,v,x).visitAfter(G);for(g=W,re=0;re<ae;++re)M=C[re],_e.visit(N)}function X(){if(C){var W,re=C.length,ae;for(T=new Array(re),W=0;W<re;++W)ae=C[W],T[ae.index]=+P(ae,W,C)}}function G(W){var re=0,ae,_e,Me=0,ke,ge,ie;if(W.length){for(ke=ge=ie=0;ie<4;++ie)(ae=W[ie])&&(_e=Math.abs(ae.value))&&(re+=ae.value,Me+=_e,ke+=_e*ae.x,ge+=_e*ae.y);W.x=ke/Me,W.y=ge/Me}else{ae=W,ae.x=ae.data.x,ae.y=ae.data.y;do re+=T[ae.data.index];while(ae=ae.next)}W.value=re}function N(W,re,ae,_e){if(!W.value)return!0;var Me=W.x-M.x,ke=W.y-M.y,ge=_e-re,ie=Me*Me+ke*ke;if(ge*ge/V<ie)return ie<q&&(Me===0&&(Me=s(),ie+=Me*Me),ke===0&&(ke=s(),ie+=ke*ke),ie<F&&(ie=Math.sqrt(F*ie)),M.vx+=Me*W.value*g/ie,M.vy+=ke*W.value*g/ie),!0;if(W.length||ie>=q)return;(W.data!==M||W.next)&&(Me===0&&(Me=s(),ie+=Me*Me),ke===0&&(ke=s(),ie+=ke*ke),ie<F&&(ie=Math.sqrt(F*ie)));do W.data!==M&&(ge=T[W.data.index]*g/ie,M.vx+=Me*ge,M.vy+=ke*ge);while(W=W.next)}return H.initialize=function(W){C=W,X()},H.strength=function(W){return arguments.length?(P=typeof W==\"function\"?W:o(+W),X(),H):P},H.distanceMin=function(W){return arguments.length?(F=W*W,H):Math.sqrt(F)},H.distanceMax=function(W){return arguments.length?(q=W*W,H):Math.sqrt(q)},H.theta=function(W){return arguments.length?(V=W*W,H):Math.sqrt(V)},H}function A(C,M,g){var P,T=o(.1),F,q;typeof C!=\"function\"&&(C=o(+C)),M==null&&(M=0),g==null&&(g=0);function V(X){for(var G=0,N=P.length;G<N;++G){var W=P[G],re=W.x-M||1e-6,ae=W.y-g||1e-6,_e=Math.sqrt(re*re+ae*ae),Me=(q[G]-_e)*F[G]*X/_e;W.vx+=re*Me,W.vy+=ae*Me}}function H(){if(P){var X,G=P.length;for(F=new Array(G),q=new Array(G),X=0;X<G;++X)q[X]=+C(P[X],X,P),F[X]=isNaN(q[X])?0:+T(P[X],X,P)}}return V.initialize=function(X){P=X,H()},V.strength=function(X){return arguments.length?(T=typeof X==\"function\"?X:o(+X),H(),V):T},V.radius=function(X){return arguments.length?(C=typeof X==\"function\"?X:o(+X),H(),V):C},V.x=function(X){return arguments.length?(M=+X,V):M},V.y=function(X){return arguments.length?(g=+X,V):g},V}function L(C){var M=o(.1),g,P,T;typeof C!=\"function\"&&(C=o(C==null?0:+C));function F(V){for(var H=0,X=g.length,G;H<X;++H)G=g[H],G.vx+=(T[H]-G.x)*P[H]*V}function q(){if(g){var V,H=g.length;for(P=new Array(H),T=new Array(H),V=0;V<H;++V)P[V]=isNaN(T[V]=+C(g[V],V,g))?0:+M(g[V],V,g)}}return F.initialize=function(V){g=V,q()},F.strength=function(V){return arguments.length?(M=typeof V==\"function\"?V:o(+V),q(),F):M},F.x=function(V){return arguments.length?(C=typeof V==\"function\"?V:o(+V),q(),F):C},F}function _(C){var M=o(.1),g,P,T;typeof C!=\"function\"&&(C=o(C==null?0:+C));function F(V){for(var H=0,X=g.length,G;H<X;++H)G=g[H],G.vy+=(T[H]-G.y)*P[H]*V}function q(){if(g){var V,H=g.length;for(P=new Array(H),T=new Array(H),V=0;V<H;++V)P[V]=isNaN(T[V]=+C(g[V],V,g))?0:+M(g[V],V,g)}}return F.initialize=function(V){g=V,q()},F.strength=function(V){return arguments.length?(M=typeof V==\"function\"?V:o(+V),q(),F):M},F.y=function(V){return arguments.length?(C=typeof V==\"function\"?V:o(+V),q(),F):C},F}e.forceCenter=a,e.forceCollide=c,e.forceLink=d,e.forceManyBody=k,e.forceRadial=A,e.forceSimulation=E,e.forceX=L,e.forceY=_,Object.defineProperty(e,\"__esModule\",{value:!0})})});var Tje=ye((m7,wje)=>{(function(e,t){typeof m7==\"object\"&&typeof wje!=\"undefined\"?t(m7):(e=e||self,t(e.d3=e.d3||{}))})(m7,function(e){\"use strict\";var t=Math.PI,r=2*t,n=1e-6,i=r-n;function a(){this._x0=this._y0=this._x1=this._y1=null,this._=\"\"}function o(){return new a}a.prototype=o.prototype={constructor:a,moveTo:function(s,l){this._+=\"M\"+(this._x0=this._x1=+s)+\",\"+(this._y0=this._y1=+l)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+=\"Z\")},lineTo:function(s,l){this._+=\"L\"+(this._x1=+s)+\",\"+(this._y1=+l)},quadraticCurveTo:function(s,l,u,c){this._+=\"Q\"+ +s+\",\"+ +l+\",\"+(this._x1=+u)+\",\"+(this._y1=+c)},bezierCurveTo:function(s,l,u,c,f,h){this._+=\"C\"+ +s+\",\"+ +l+\",\"+ +u+\",\"+ +c+\",\"+(this._x1=+f)+\",\"+(this._y1=+h)},arcTo:function(s,l,u,c,f){s=+s,l=+l,u=+u,c=+c,f=+f;var h=this._x1,d=this._y1,v=u-s,x=c-l,b=h-s,p=d-l,E=b*b+p*p;if(f<0)throw new Error(\"negative radius: \"+f);if(this._x1===null)this._+=\"M\"+(this._x1=s)+\",\"+(this._y1=l);else if(E>n)if(!(Math.abs(p*v-x*b)>n)||!f)this._+=\"L\"+(this._x1=s)+\",\"+(this._y1=l);else{var k=u-h,A=c-d,L=v*v+x*x,_=k*k+A*A,C=Math.sqrt(L),M=Math.sqrt(E),g=f*Math.tan((t-Math.acos((L+E-_)/(2*C*M)))/2),P=g/M,T=g/C;Math.abs(P-1)>n&&(this._+=\"L\"+(s+P*b)+\",\"+(l+P*p)),this._+=\"A\"+f+\",\"+f+\",0,0,\"+ +(p*k>b*A)+\",\"+(this._x1=s+T*v)+\",\"+(this._y1=l+T*x)}},arc:function(s,l,u,c,f,h){s=+s,l=+l,u=+u,h=!!h;var d=u*Math.cos(c),v=u*Math.sin(c),x=s+d,b=l+v,p=1^h,E=h?c-f:f-c;if(u<0)throw new Error(\"negative radius: \"+u);this._x1===null?this._+=\"M\"+x+\",\"+b:(Math.abs(this._x1-x)>n||Math.abs(this._y1-b)>n)&&(this._+=\"L\"+x+\",\"+b),u&&(E<0&&(E=E%r+r),E>i?this._+=\"A\"+u+\",\"+u+\",0,1,\"+p+\",\"+(s-d)+\",\"+(l-v)+\"A\"+u+\",\"+u+\",0,1,\"+p+\",\"+(this._x1=x)+\",\"+(this._y1=b):E>n&&(this._+=\"A\"+u+\",\"+u+\",0,\"+ +(E>=t)+\",\"+p+\",\"+(this._x1=s+u*Math.cos(f))+\",\"+(this._y1=l+u*Math.sin(f))))},rect:function(s,l,u,c){this._+=\"M\"+(this._x0=this._x1=+s)+\",\"+(this._y0=this._y1=+l)+\"h\"+ +u+\"v\"+ +c+\"h\"+-u+\"Z\"},toString:function(){return this._}},e.path=o,Object.defineProperty(e,\"__esModule\",{value:!0})})});var PJ=ye((y7,Aje)=>{(function(e,t){typeof y7==\"object\"&&typeof Aje!=\"undefined\"?t(y7,Tje()):(e=e||self,t(e.d3=e.d3||{},e.d3))})(y7,function(e,t){\"use strict\";function r(_t){return function(){return _t}}var n=Math.abs,i=Math.atan2,a=Math.cos,o=Math.max,s=Math.min,l=Math.sin,u=Math.sqrt,c=1e-12,f=Math.PI,h=f/2,d=2*f;function v(_t){return _t>1?0:_t<-1?f:Math.acos(_t)}function x(_t){return _t>=1?h:_t<=-1?-h:Math.asin(_t)}function b(_t){return _t.innerRadius}function p(_t){return _t.outerRadius}function E(_t){return _t.startAngle}function k(_t){return _t.endAngle}function A(_t){return _t&&_t.padAngle}function L(_t,br,Hr,ti,zi,Yi,an,hi){var Ji=Hr-_t,ua=ti-br,Fn=an-zi,Sa=hi-Yi,go=Sa*Ji-Fn*ua;if(!(go*go<c))return go=(Fn*(br-Yi)-Sa*(_t-zi))/go,[_t+go*Ji,br+go*ua]}function _(_t,br,Hr,ti,zi,Yi,an){var hi=_t-Hr,Ji=br-ti,ua=(an?Yi:-Yi)/u(hi*hi+Ji*Ji),Fn=ua*Ji,Sa=-ua*hi,go=_t+Fn,Oo=br+Sa,ho=Hr+Fn,Mo=ti+Sa,xo=(go+ho)/2,zs=(Oo+Mo)/2,ks=ho-go,Zs=Mo-Oo,Xs=ks*ks+Zs*Zs,wl=zi-Yi,os=go*Mo-ho*Oo,cl=(Zs<0?-1:1)*u(o(0,wl*wl*Xs-os*os)),Cs=(os*Zs-ks*cl)/Xs,ml=(-os*ks-Zs*cl)/Xs,Ys=(os*Zs+ks*cl)/Xs,Hs=(-os*ks+Zs*cl)/Xs,Eo=Cs-xo,fs=ml-zs,Ql=Ys-xo,Hu=Hs-zs;return Eo*Eo+fs*fs>Ql*Ql+Hu*Hu&&(Cs=Ys,ml=Hs),{cx:Cs,cy:ml,x01:-Fn,y01:-Sa,x11:Cs*(zi/wl-1),y11:ml*(zi/wl-1)}}function C(){var _t=b,br=p,Hr=r(0),ti=null,zi=E,Yi=k,an=A,hi=null;function Ji(){var ua,Fn,Sa=+_t.apply(this,arguments),go=+br.apply(this,arguments),Oo=zi.apply(this,arguments)-h,ho=Yi.apply(this,arguments)-h,Mo=n(ho-Oo),xo=ho>Oo;if(hi||(hi=ua=t.path()),go<Sa&&(Fn=go,go=Sa,Sa=Fn),!(go>c))hi.moveTo(0,0);else if(Mo>d-c)hi.moveTo(go*a(Oo),go*l(Oo)),hi.arc(0,0,go,Oo,ho,!xo),Sa>c&&(hi.moveTo(Sa*a(ho),Sa*l(ho)),hi.arc(0,0,Sa,ho,Oo,xo));else{var zs=Oo,ks=ho,Zs=Oo,Xs=ho,wl=Mo,os=Mo,cl=an.apply(this,arguments)/2,Cs=cl>c&&(ti?+ti.apply(this,arguments):u(Sa*Sa+go*go)),ml=s(n(go-Sa)/2,+Hr.apply(this,arguments)),Ys=ml,Hs=ml,Eo,fs;if(Cs>c){var Ql=x(Cs/Sa*l(cl)),Hu=x(Cs/go*l(cl));(wl-=Ql*2)>c?(Ql*=xo?1:-1,Zs+=Ql,Xs-=Ql):(wl=0,Zs=Xs=(Oo+ho)/2),(os-=Hu*2)>c?(Hu*=xo?1:-1,zs+=Hu,ks-=Hu):(os=0,zs=ks=(Oo+ho)/2)}var fc=go*a(zs),ms=go*l(zs),on=Sa*a(Xs),fa=Sa*l(Xs);if(ml>c){var Qu=go*a(ks),Rl=go*l(ks),vo=Sa*a(Zs),Zl=Sa*l(Zs),Ks;if(Mo<f&&(Ks=L(fc,ms,vo,Zl,Qu,Rl,on,fa))){var Xl=fc-Ks[0],Ec=ms-Ks[1],Zn=Qu-Ks[0],ko=Rl-Ks[1],Co=1/l(v((Xl*Zn+Ec*ko)/(u(Xl*Xl+Ec*Ec)*u(Zn*Zn+ko*ko)))/2),Tl=u(Ks[0]*Ks[0]+Ks[1]*Ks[1]);Ys=s(ml,(Sa-Tl)/(Co-1)),Hs=s(ml,(go-Tl)/(Co+1))}}os>c?Hs>c?(Eo=_(vo,Zl,fc,ms,go,Hs,xo),fs=_(Qu,Rl,on,fa,go,Hs,xo),hi.moveTo(Eo.cx+Eo.x01,Eo.cy+Eo.y01),Hs<ml?hi.arc(Eo.cx,Eo.cy,Hs,i(Eo.y01,Eo.x01),i(fs.y01,fs.x01),!xo):(hi.arc(Eo.cx,Eo.cy,Hs,i(Eo.y01,Eo.x01),i(Eo.y11,Eo.x11),!xo),hi.arc(0,0,go,i(Eo.cy+Eo.y11,Eo.cx+Eo.x11),i(fs.cy+fs.y11,fs.cx+fs.x11),!xo),hi.arc(fs.cx,fs.cy,Hs,i(fs.y11,fs.x11),i(fs.y01,fs.x01),!xo))):(hi.moveTo(fc,ms),hi.arc(0,0,go,zs,ks,!xo)):hi.moveTo(fc,ms),!(Sa>c)||!(wl>c)?hi.lineTo(on,fa):Ys>c?(Eo=_(on,fa,Qu,Rl,Sa,-Ys,xo),fs=_(fc,ms,vo,Zl,Sa,-Ys,xo),hi.lineTo(Eo.cx+Eo.x01,Eo.cy+Eo.y01),Ys<ml?hi.arc(Eo.cx,Eo.cy,Ys,i(Eo.y01,Eo.x01),i(fs.y01,fs.x01),!xo):(hi.arc(Eo.cx,Eo.cy,Ys,i(Eo.y01,Eo.x01),i(Eo.y11,Eo.x11),!xo),hi.arc(0,0,Sa,i(Eo.cy+Eo.y11,Eo.cx+Eo.x11),i(fs.cy+fs.y11,fs.cx+fs.x11),xo),hi.arc(fs.cx,fs.cy,Ys,i(fs.y11,fs.x11),i(fs.y01,fs.x01),!xo))):hi.arc(0,0,Sa,Xs,Zs,xo)}if(hi.closePath(),ua)return hi=null,ua+\"\"||null}return Ji.centroid=function(){var ua=(+_t.apply(this,arguments)+ +br.apply(this,arguments))/2,Fn=(+zi.apply(this,arguments)+ +Yi.apply(this,arguments))/2-f/2;return[a(Fn)*ua,l(Fn)*ua]},Ji.innerRadius=function(ua){return arguments.length?(_t=typeof ua==\"function\"?ua:r(+ua),Ji):_t},Ji.outerRadius=function(ua){return arguments.length?(br=typeof ua==\"function\"?ua:r(+ua),Ji):br},Ji.cornerRadius=function(ua){return arguments.length?(Hr=typeof ua==\"function\"?ua:r(+ua),Ji):Hr},Ji.padRadius=function(ua){return arguments.length?(ti=ua==null?null:typeof ua==\"function\"?ua:r(+ua),Ji):ti},Ji.startAngle=function(ua){return arguments.length?(zi=typeof ua==\"function\"?ua:r(+ua),Ji):zi},Ji.endAngle=function(ua){return arguments.length?(Yi=typeof ua==\"function\"?ua:r(+ua),Ji):Yi},Ji.padAngle=function(ua){return arguments.length?(an=typeof ua==\"function\"?ua:r(+ua),Ji):an},Ji.context=function(ua){return arguments.length?(hi=ua==null?null:ua,Ji):hi},Ji}function M(_t){this._context=_t}M.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;default:this._context.lineTo(_t,br);break}}};function g(_t){return new M(_t)}function P(_t){return _t[0]}function T(_t){return _t[1]}function F(){var _t=P,br=T,Hr=r(!0),ti=null,zi=g,Yi=null;function an(hi){var Ji,ua=hi.length,Fn,Sa=!1,go;for(ti==null&&(Yi=zi(go=t.path())),Ji=0;Ji<=ua;++Ji)!(Ji<ua&&Hr(Fn=hi[Ji],Ji,hi))===Sa&&((Sa=!Sa)?Yi.lineStart():Yi.lineEnd()),Sa&&Yi.point(+_t(Fn,Ji,hi),+br(Fn,Ji,hi));if(go)return Yi=null,go+\"\"||null}return an.x=function(hi){return arguments.length?(_t=typeof hi==\"function\"?hi:r(+hi),an):_t},an.y=function(hi){return arguments.length?(br=typeof hi==\"function\"?hi:r(+hi),an):br},an.defined=function(hi){return arguments.length?(Hr=typeof hi==\"function\"?hi:r(!!hi),an):Hr},an.curve=function(hi){return arguments.length?(zi=hi,ti!=null&&(Yi=zi(ti)),an):zi},an.context=function(hi){return arguments.length?(hi==null?ti=Yi=null:Yi=zi(ti=hi),an):ti},an}function q(){var _t=P,br=null,Hr=r(0),ti=T,zi=r(!0),Yi=null,an=g,hi=null;function Ji(Fn){var Sa,go,Oo,ho=Fn.length,Mo,xo=!1,zs,ks=new Array(ho),Zs=new Array(ho);for(Yi==null&&(hi=an(zs=t.path())),Sa=0;Sa<=ho;++Sa){if(!(Sa<ho&&zi(Mo=Fn[Sa],Sa,Fn))===xo)if(xo=!xo)go=Sa,hi.areaStart(),hi.lineStart();else{for(hi.lineEnd(),hi.lineStart(),Oo=Sa-1;Oo>=go;--Oo)hi.point(ks[Oo],Zs[Oo]);hi.lineEnd(),hi.areaEnd()}xo&&(ks[Sa]=+_t(Mo,Sa,Fn),Zs[Sa]=+Hr(Mo,Sa,Fn),hi.point(br?+br(Mo,Sa,Fn):ks[Sa],ti?+ti(Mo,Sa,Fn):Zs[Sa]))}if(zs)return hi=null,zs+\"\"||null}function ua(){return F().defined(zi).curve(an).context(Yi)}return Ji.x=function(Fn){return arguments.length?(_t=typeof Fn==\"function\"?Fn:r(+Fn),br=null,Ji):_t},Ji.x0=function(Fn){return arguments.length?(_t=typeof Fn==\"function\"?Fn:r(+Fn),Ji):_t},Ji.x1=function(Fn){return arguments.length?(br=Fn==null?null:typeof Fn==\"function\"?Fn:r(+Fn),Ji):br},Ji.y=function(Fn){return arguments.length?(Hr=typeof Fn==\"function\"?Fn:r(+Fn),ti=null,Ji):Hr},Ji.y0=function(Fn){return arguments.length?(Hr=typeof Fn==\"function\"?Fn:r(+Fn),Ji):Hr},Ji.y1=function(Fn){return arguments.length?(ti=Fn==null?null:typeof Fn==\"function\"?Fn:r(+Fn),Ji):ti},Ji.lineX0=Ji.lineY0=function(){return ua().x(_t).y(Hr)},Ji.lineY1=function(){return ua().x(_t).y(ti)},Ji.lineX1=function(){return ua().x(br).y(Hr)},Ji.defined=function(Fn){return arguments.length?(zi=typeof Fn==\"function\"?Fn:r(!!Fn),Ji):zi},Ji.curve=function(Fn){return arguments.length?(an=Fn,Yi!=null&&(hi=an(Yi)),Ji):an},Ji.context=function(Fn){return arguments.length?(Fn==null?Yi=hi=null:hi=an(Yi=Fn),Ji):Yi},Ji}function V(_t,br){return br<_t?-1:br>_t?1:br>=_t?0:NaN}function H(_t){return _t}function X(){var _t=H,br=V,Hr=null,ti=r(0),zi=r(d),Yi=r(0);function an(hi){var Ji,ua=hi.length,Fn,Sa,go=0,Oo=new Array(ua),ho=new Array(ua),Mo=+ti.apply(this,arguments),xo=Math.min(d,Math.max(-d,zi.apply(this,arguments)-Mo)),zs,ks=Math.min(Math.abs(xo)/ua,Yi.apply(this,arguments)),Zs=ks*(xo<0?-1:1),Xs;for(Ji=0;Ji<ua;++Ji)(Xs=ho[Oo[Ji]=Ji]=+_t(hi[Ji],Ji,hi))>0&&(go+=Xs);for(br!=null?Oo.sort(function(wl,os){return br(ho[wl],ho[os])}):Hr!=null&&Oo.sort(function(wl,os){return Hr(hi[wl],hi[os])}),Ji=0,Sa=go?(xo-ua*Zs)/go:0;Ji<ua;++Ji,Mo=zs)Fn=Oo[Ji],Xs=ho[Fn],zs=Mo+(Xs>0?Xs*Sa:0)+Zs,ho[Fn]={data:hi[Fn],index:Ji,value:Xs,startAngle:Mo,endAngle:zs,padAngle:ks};return ho}return an.value=function(hi){return arguments.length?(_t=typeof hi==\"function\"?hi:r(+hi),an):_t},an.sortValues=function(hi){return arguments.length?(br=hi,Hr=null,an):br},an.sort=function(hi){return arguments.length?(Hr=hi,br=null,an):Hr},an.startAngle=function(hi){return arguments.length?(ti=typeof hi==\"function\"?hi:r(+hi),an):ti},an.endAngle=function(hi){return arguments.length?(zi=typeof hi==\"function\"?hi:r(+hi),an):zi},an.padAngle=function(hi){return arguments.length?(Yi=typeof hi==\"function\"?hi:r(+hi),an):Yi},an}var G=W(g);function N(_t){this._curve=_t}N.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(_t,br){this._curve.point(br*Math.sin(_t),br*-Math.cos(_t))}};function W(_t){function br(Hr){return new N(_t(Hr))}return br._curve=_t,br}function re(_t){var br=_t.curve;return _t.angle=_t.x,delete _t.x,_t.radius=_t.y,delete _t.y,_t.curve=function(Hr){return arguments.length?br(W(Hr)):br()._curve},_t}function ae(){return re(F().curve(G))}function _e(){var _t=q().curve(G),br=_t.curve,Hr=_t.lineX0,ti=_t.lineX1,zi=_t.lineY0,Yi=_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 re(Hr())},delete _t.lineX0,_t.lineEndAngle=function(){return re(ti())},delete _t.lineX1,_t.lineInnerRadius=function(){return re(zi())},delete _t.lineY0,_t.lineOuterRadius=function(){return re(Yi())},delete _t.lineY1,_t.curve=function(an){return arguments.length?br(W(an)):br()._curve},_t}function Me(_t,br){return[(br=+br)*Math.cos(_t-=Math.PI/2),br*Math.sin(_t)]}var ke=Array.prototype.slice;function ge(_t){return _t.source}function ie(_t){return _t.target}function Te(_t){var br=ge,Hr=ie,ti=P,zi=T,Yi=null;function an(){var hi,Ji=ke.call(arguments),ua=br.apply(this,Ji),Fn=Hr.apply(this,Ji);if(Yi||(Yi=hi=t.path()),_t(Yi,+ti.apply(this,(Ji[0]=ua,Ji)),+zi.apply(this,Ji),+ti.apply(this,(Ji[0]=Fn,Ji)),+zi.apply(this,Ji)),hi)return Yi=null,hi+\"\"||null}return an.source=function(hi){return arguments.length?(br=hi,an):br},an.target=function(hi){return arguments.length?(Hr=hi,an):Hr},an.x=function(hi){return arguments.length?(ti=typeof hi==\"function\"?hi:r(+hi),an):ti},an.y=function(hi){return arguments.length?(zi=typeof hi==\"function\"?hi:r(+hi),an):zi},an.context=function(hi){return arguments.length?(Yi=hi==null?null:hi,an):Yi},an}function Ee(_t,br,Hr,ti,zi){_t.moveTo(br,Hr),_t.bezierCurveTo(br=(br+ti)/2,Hr,br,zi,ti,zi)}function Ae(_t,br,Hr,ti,zi){_t.moveTo(br,Hr),_t.bezierCurveTo(br,Hr=(Hr+zi)/2,ti,Hr,ti,zi)}function ze(_t,br,Hr,ti,zi){var Yi=Me(br,Hr),an=Me(br,Hr=(Hr+zi)/2),hi=Me(ti,Hr),Ji=Me(ti,zi);_t.moveTo(Yi[0],Yi[1]),_t.bezierCurveTo(an[0],an[1],hi[0],hi[1],Ji[0],Ji[1])}function Ce(){return Te(Ee)}function me(){return Te(Ae)}function Re(){var _t=Te(ze);return _t.angle=_t.x,delete _t.x,_t.radius=_t.y,delete _t.y,_t}var ce={draw:function(_t,br){var Hr=Math.sqrt(br/f);_t.moveTo(Hr,0),_t.arc(0,0,Hr,0,d)}},Ge={draw:function(_t,br){var Hr=Math.sqrt(br/5)/2;_t.moveTo(-3*Hr,-Hr),_t.lineTo(-Hr,-Hr),_t.lineTo(-Hr,-3*Hr),_t.lineTo(Hr,-3*Hr),_t.lineTo(Hr,-Hr),_t.lineTo(3*Hr,-Hr),_t.lineTo(3*Hr,Hr),_t.lineTo(Hr,Hr),_t.lineTo(Hr,3*Hr),_t.lineTo(-Hr,3*Hr),_t.lineTo(-Hr,Hr),_t.lineTo(-3*Hr,Hr),_t.closePath()}},nt=Math.sqrt(1/3),ct=nt*2,qt={draw:function(_t,br){var Hr=Math.sqrt(br/ct),ti=Hr*nt;_t.moveTo(0,-Hr),_t.lineTo(ti,0),_t.lineTo(0,Hr),_t.lineTo(-ti,0),_t.closePath()}},rt=.8908130915292852,ot=Math.sin(f/10)/Math.sin(7*f/10),Rt=Math.sin(d/10)*ot,kt=-Math.cos(d/10)*ot,Ct={draw:function(_t,br){var Hr=Math.sqrt(br*rt),ti=Rt*Hr,zi=kt*Hr;_t.moveTo(0,-Hr),_t.lineTo(ti,zi);for(var Yi=1;Yi<5;++Yi){var an=d*Yi/5,hi=Math.cos(an),Ji=Math.sin(an);_t.lineTo(Ji*Hr,-hi*Hr),_t.lineTo(hi*ti-Ji*zi,Ji*ti+hi*zi)}_t.closePath()}},Yt={draw:function(_t,br){var Hr=Math.sqrt(br),ti=-Hr/2;_t.rect(ti,ti,Hr,Hr)}},xr=Math.sqrt(3),er={draw:function(_t,br){var Hr=-Math.sqrt(br/(xr*3));_t.moveTo(0,Hr*2),_t.lineTo(-xr*Hr,-Hr),_t.lineTo(xr*Hr,-Hr),_t.closePath()}},Ke=-.5,xt=Math.sqrt(3)/2,bt=1/Math.sqrt(12),Lt=(bt/2+1)*3,St={draw:function(_t,br){var Hr=Math.sqrt(br/Lt),ti=Hr/2,zi=Hr*bt,Yi=ti,an=Hr*bt+Hr,hi=-Yi,Ji=an;_t.moveTo(ti,zi),_t.lineTo(Yi,an),_t.lineTo(hi,Ji),_t.lineTo(Ke*ti-xt*zi,xt*ti+Ke*zi),_t.lineTo(Ke*Yi-xt*an,xt*Yi+Ke*an),_t.lineTo(Ke*hi-xt*Ji,xt*hi+Ke*Ji),_t.lineTo(Ke*ti+xt*zi,Ke*zi-xt*ti),_t.lineTo(Ke*Yi+xt*an,Ke*an-xt*Yi),_t.lineTo(Ke*hi+xt*Ji,Ke*Ji-xt*hi),_t.closePath()}},Et=[ce,Ge,qt,Yt,Ct,er,St];function dt(){var _t=r(ce),br=r(64),Hr=null;function ti(){var zi;if(Hr||(Hr=zi=t.path()),_t.apply(this,arguments).draw(Hr,+br.apply(this,arguments)),zi)return Hr=null,zi+\"\"||null}return ti.type=function(zi){return arguments.length?(_t=typeof zi==\"function\"?zi:r(zi),ti):_t},ti.size=function(zi){return arguments.length?(br=typeof zi==\"function\"?zi:r(+zi),ti):br},ti.context=function(zi){return arguments.length?(Hr=zi==null?null:zi,ti):Hr},ti}function Ht(){}function $t(_t,br,Hr){_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+br)/6,(_t._y0+4*_t._y1+Hr)/6)}function fr(_t){this._context=_t}fr.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:$t(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);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:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function _r(_t){return new fr(_t)}function Br(_t){this._context=_t}Br.prototype={areaStart:Ht,areaEnd:Ht,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);break}}},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._x2=_t,this._y2=br;break;case 1:this._point=2,this._x3=_t,this._y3=br;break;case 2:this._point=3,this._x4=_t,this._y4=br,this._context.moveTo((this._x0+4*this._x1+_t)/6,(this._y0+4*this._y1+br)/6);break;default:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function Or(_t){return new Br(_t)}function Nr(_t){this._context=_t}Nr.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var Hr=(this._x0+4*this._x1+_t)/6,ti=(this._y0+4*this._y1+br)/6;this._line?this._context.lineTo(Hr,ti):this._context.moveTo(Hr,ti);break;case 3:this._point=4;default:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function ut(_t){return new Nr(_t)}function Ne(_t,br){this._basis=new fr(_t),this._beta=br}Ne.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var _t=this._x,br=this._y,Hr=_t.length-1;if(Hr>0)for(var ti=_t[0],zi=br[0],Yi=_t[Hr]-ti,an=br[Hr]-zi,hi=-1,Ji;++hi<=Hr;)Ji=hi/Hr,this._basis.point(this._beta*_t[hi]+(1-this._beta)*(ti+Ji*Yi),this._beta*br[hi]+(1-this._beta)*(zi+Ji*an));this._x=this._y=null,this._basis.lineEnd()},point:function(_t,br){this._x.push(+_t),this._y.push(+br)}};var Ye=function _t(br){function Hr(ti){return br===1?new fr(ti):new Ne(ti,br)}return Hr.beta=function(ti){return _t(+ti)},Hr}(.85);function Ve(_t,br,Hr){_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-br),_t._y2+_t._k*(_t._y1-Hr),_t._x2,_t._y2)}function Xe(_t,br){this._context=_t,this._k=(1-br)/6}Xe.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:Ve(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2,this._x1=_t,this._y1=br;break;case 2:this._point=3;default:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var ht=function _t(br){function Hr(ti){return new Xe(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Le(_t,br){this._context=_t,this._k=(1-br)/6}Le.prototype={areaStart:Ht,areaEnd:Ht,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);break}}},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._x3=_t,this._y3=br;break;case 1:this._point=2,this._context.moveTo(this._x4=_t,this._y4=br);break;case 2:this._point=3,this._x5=_t,this._y5=br;break;default:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var xe=function _t(br){function Hr(ti){return new Le(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Se(_t,br){this._context=_t,this._k=(1-br)/6}Se.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,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:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var lt=function _t(br){function Hr(ti){return new Se(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Gt(_t,br,Hr){var ti=_t._x1,zi=_t._y1,Yi=_t._x2,an=_t._y2;if(_t._l01_a>c){var hi=2*_t._l01_2a+3*_t._l01_a*_t._l12_a+_t._l12_2a,Ji=3*_t._l01_a*(_t._l01_a+_t._l12_a);ti=(ti*hi-_t._x0*_t._l12_2a+_t._x2*_t._l01_2a)/Ji,zi=(zi*hi-_t._y0*_t._l12_2a+_t._y2*_t._l01_2a)/Ji}if(_t._l23_a>c){var ua=2*_t._l23_2a+3*_t._l23_a*_t._l12_a+_t._l12_2a,Fn=3*_t._l23_a*(_t._l23_a+_t._l12_a);Yi=(Yi*ua+_t._x1*_t._l23_2a-br*_t._l12_2a)/Fn,an=(an*ua+_t._y1*_t._l23_2a-Hr*_t._l12_2a)/Fn}_t._context.bezierCurveTo(ti,zi,Yi,an,_t._x2,_t._y2)}function Vt(_t,br){this._context=_t,this._alpha=br}Vt.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);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;break;case 2:this._point=3;default:Gt(this,_t,br);break}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=br}};var ar=function _t(br){function Hr(ti){return br?new Vt(ti,br):new Xe(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function Qr(_t,br){this._context=_t,this._alpha=br}Qr.prototype={areaStart:Ht,areaEnd:Ht,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);break}}},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=_t,this._y3=br;break;case 1:this._point=2,this._context.moveTo(this._x4=_t,this._y4=br);break;case 2:this._point=3,this._x5=_t,this._y5=br;break;default:Gt(this,_t,br);break}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=br}};var ai=function _t(br){function Hr(ti){return br?new Qr(ti,br):new Le(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function jr(_t,br){this._context=_t,this._alpha=br}jr.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||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,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:Gt(this,_t,br);break}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=br}};var ri=function _t(br){function Hr(ti){return br?new jr(ti,br):new Se(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function bi(_t){this._context=_t}bi.prototype={areaStart:Ht,areaEnd:Ht,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(_t,br){_t=+_t,br=+br,this._point?this._context.lineTo(_t,br):(this._point=1,this._context.moveTo(_t,br))}};function nn(_t){return new bi(_t)}function Wi(_t){return _t<0?-1:1}function Ni(_t,br,Hr){var ti=_t._x1-_t._x0,zi=br-_t._x1,Yi=(_t._y1-_t._y0)/(ti||zi<0&&-0),an=(Hr-_t._y1)/(zi||ti<0&&-0),hi=(Yi*zi+an*ti)/(ti+zi);return(Wi(Yi)+Wi(an))*Math.min(Math.abs(Yi),Math.abs(an),.5*Math.abs(hi))||0}function _n(_t,br){var Hr=_t._x1-_t._x0;return Hr?(3*(_t._y1-_t._y0)/Hr-br)/2:br}function $i(_t,br,Hr){var ti=_t._x0,zi=_t._y0,Yi=_t._x1,an=_t._y1,hi=(Yi-ti)/3;_t._context.bezierCurveTo(ti+hi,zi+hi*br,Yi-hi,an-hi*Hr,Yi,an)}function zn(_t){this._context=_t}zn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:$i(this,this._t0,_n(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){var Hr=NaN;if(_t=+_t,br=+br,!(_t===this._x1&&br===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;break;case 2:this._point=3,$i(this,_n(this,Hr=Ni(this,_t,br)),Hr);break;default:$i(this,this._t0,Hr=Ni(this,_t,br));break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br,this._t0=Hr}}};function Wn(_t){this._context=new It(_t)}(Wn.prototype=Object.create(zn.prototype)).point=function(_t,br){zn.prototype.point.call(this,br,_t)};function It(_t){this._context=_t}It.prototype={moveTo:function(_t,br){this._context.moveTo(br,_t)},closePath:function(){this._context.closePath()},lineTo:function(_t,br){this._context.lineTo(br,_t)},bezierCurveTo:function(_t,br,Hr,ti,zi,Yi){this._context.bezierCurveTo(br,_t,ti,Hr,Yi,zi)}};function ft(_t){return new zn(_t)}function jt(_t){return new Wn(_t)}function Zt(_t){this._context=_t}Zt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var _t=this._x,br=this._y,Hr=_t.length;if(Hr)if(this._line?this._context.lineTo(_t[0],br[0]):this._context.moveTo(_t[0],br[0]),Hr===2)this._context.lineTo(_t[1],br[1]);else for(var ti=yr(_t),zi=yr(br),Yi=0,an=1;an<Hr;++Yi,++an)this._context.bezierCurveTo(ti[0][Yi],zi[0][Yi],ti[1][Yi],zi[1][Yi],_t[an],br[an]);(this._line||this._line!==0&&Hr===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(_t,br){this._x.push(+_t),this._y.push(+br)}};function yr(_t){var br,Hr=_t.length-1,ti,zi=new Array(Hr),Yi=new Array(Hr),an=new Array(Hr);for(zi[0]=0,Yi[0]=2,an[0]=_t[0]+2*_t[1],br=1;br<Hr-1;++br)zi[br]=1,Yi[br]=4,an[br]=4*_t[br]+2*_t[br+1];for(zi[Hr-1]=2,Yi[Hr-1]=7,an[Hr-1]=8*_t[Hr-1]+_t[Hr],br=1;br<Hr;++br)ti=zi[br]/Yi[br-1],Yi[br]-=ti,an[br]-=ti*an[br-1];for(zi[Hr-1]=an[Hr-1]/Yi[Hr-1],br=Hr-2;br>=0;--br)zi[br]=(an[br]-zi[br+1])/Yi[br];for(Yi[Hr-1]=(_t[Hr]+zi[Hr-1])/2,br=0;br<Hr-1;++br)Yi[br]=2*_t[br+1]-zi[br+1];return[zi,Yi]}function Fr(_t){return new Zt(_t)}function Zr(_t,br){this._context=_t,this._t=br}Zr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,br),this._context.lineTo(_t,br);else{var Hr=this._x*(1-this._t)+_t*this._t;this._context.lineTo(Hr,this._y),this._context.lineTo(Hr,br)}break}}this._x=_t,this._y=br}};function Vr(_t){return new Zr(_t,.5)}function gi(_t){return new Zr(_t,0)}function Si(_t){return new Zr(_t,1)}function Mi(_t,br){if((an=_t.length)>1)for(var Hr=1,ti,zi,Yi=_t[br[0]],an,hi=Yi.length;Hr<an;++Hr)for(zi=Yi,Yi=_t[br[Hr]],ti=0;ti<hi;++ti)Yi[ti][1]+=Yi[ti][0]=isNaN(zi[ti][1])?zi[ti][0]:zi[ti][1]}function Pi(_t){for(var br=_t.length,Hr=new Array(br);--br>=0;)Hr[br]=br;return Hr}function Gi(_t,br){return _t[br]}function Ki(){var _t=r([]),br=Pi,Hr=Mi,ti=Gi;function zi(Yi){var an=_t.apply(this,arguments),hi,Ji=Yi.length,ua=an.length,Fn=new Array(ua),Sa;for(hi=0;hi<ua;++hi){for(var go=an[hi],Oo=Fn[hi]=new Array(Ji),ho=0,Mo;ho<Ji;++ho)Oo[ho]=Mo=[0,+ti(Yi[ho],go,ho,Yi)],Mo.data=Yi[ho];Oo.key=go}for(hi=0,Sa=br(Fn);hi<ua;++hi)Fn[Sa[hi]].index=hi;return Hr(Fn,Sa),Fn}return zi.keys=function(Yi){return arguments.length?(_t=typeof Yi==\"function\"?Yi:r(ke.call(Yi)),zi):_t},zi.value=function(Yi){return arguments.length?(ti=typeof Yi==\"function\"?Yi:r(+Yi),zi):ti},zi.order=function(Yi){return arguments.length?(br=Yi==null?Pi:typeof Yi==\"function\"?Yi:r(ke.call(Yi)),zi):br},zi.offset=function(Yi){return arguments.length?(Hr=Yi==null?Mi:Yi,zi):Hr},zi}function ka(_t,br){if((ti=_t.length)>0){for(var Hr,ti,zi=0,Yi=_t[0].length,an;zi<Yi;++zi){for(an=Hr=0;Hr<ti;++Hr)an+=_t[Hr][zi][1]||0;if(an)for(Hr=0;Hr<ti;++Hr)_t[Hr][zi][1]/=an}Mi(_t,br)}}function jn(_t,br){if((Ji=_t.length)>0)for(var Hr,ti=0,zi,Yi,an,hi,Ji,ua=_t[br[0]].length;ti<ua;++ti)for(an=hi=0,Hr=0;Hr<Ji;++Hr)(Yi=(zi=_t[br[Hr]][ti])[1]-zi[0])>0?(zi[0]=an,zi[1]=an+=Yi):Yi<0?(zi[1]=hi,zi[0]=hi+=Yi):(zi[0]=0,zi[1]=Yi)}function la(_t,br){if((zi=_t.length)>0){for(var Hr=0,ti=_t[br[0]],zi,Yi=ti.length;Hr<Yi;++Hr){for(var an=0,hi=0;an<zi;++an)hi+=_t[an][Hr][1]||0;ti[Hr][1]+=ti[Hr][0]=-hi/2}Mi(_t,br)}}function Fa(_t,br){if(!(!((an=_t.length)>0)||!((Yi=(zi=_t[br[0]]).length)>0))){for(var Hr=0,ti=1,zi,Yi,an;ti<Yi;++ti){for(var hi=0,Ji=0,ua=0;hi<an;++hi){for(var Fn=_t[br[hi]],Sa=Fn[ti][1]||0,go=Fn[ti-1][1]||0,Oo=(Sa-go)/2,ho=0;ho<hi;++ho){var Mo=_t[br[ho]],xo=Mo[ti][1]||0,zs=Mo[ti-1][1]||0;Oo+=xo-zs}Ji+=Sa,ua+=Oo*Sa}zi[ti-1][1]+=zi[ti-1][0]=Hr,Ji&&(Hr-=ua/Ji)}zi[ti-1][1]+=zi[ti-1][0]=Hr,Mi(_t,br)}}function Ra(_t){var br=_t.map(jo);return Pi(_t).sort(function(Hr,ti){return br[Hr]-br[ti]})}function jo(_t){for(var br=-1,Hr=0,ti=_t.length,zi,Yi=-1/0;++br<ti;)(zi=+_t[br][1])>Yi&&(Yi=zi,Hr=br);return Hr}function oa(_t){var br=_t.map(Sn);return Pi(_t).sort(function(Hr,ti){return br[Hr]-br[ti]})}function Sn(_t){for(var br=0,Hr=-1,ti=_t.length,zi;++Hr<ti;)(zi=+_t[Hr][1])&&(br+=zi);return br}function Ha(_t){return oa(_t).reverse()}function oo(_t){var br=_t.length,Hr,ti,zi=_t.map(Sn),Yi=Ra(_t),an=0,hi=0,Ji=[],ua=[];for(Hr=0;Hr<br;++Hr)ti=Yi[Hr],an<hi?(an+=zi[ti],Ji.push(ti)):(hi+=zi[ti],ua.push(ti));return ua.reverse().concat(Ji)}function xn(_t){return Pi(_t).reverse()}e.arc=C,e.area=q,e.areaRadial=_e,e.curveBasis=_r,e.curveBasisClosed=Or,e.curveBasisOpen=ut,e.curveBundle=Ye,e.curveCardinal=ht,e.curveCardinalClosed=xe,e.curveCardinalOpen=lt,e.curveCatmullRom=ar,e.curveCatmullRomClosed=ai,e.curveCatmullRomOpen=ri,e.curveLinear=g,e.curveLinearClosed=nn,e.curveMonotoneX=ft,e.curveMonotoneY=jt,e.curveNatural=Fr,e.curveStep=Vr,e.curveStepAfter=Si,e.curveStepBefore=gi,e.line=F,e.lineRadial=ae,e.linkHorizontal=Ce,e.linkRadial=Re,e.linkVertical=me,e.pie=X,e.pointRadial=Me,e.radialArea=_e,e.radialLine=ae,e.stack=Ki,e.stackOffsetDiverging=jn,e.stackOffsetExpand=ka,e.stackOffsetNone=Mi,e.stackOffsetSilhouette=la,e.stackOffsetWiggle=Fa,e.stackOrderAppearance=Ra,e.stackOrderAscending=oa,e.stackOrderDescending=Ha,e.stackOrderInsideOut=oo,e.stackOrderNone=Pi,e.stackOrderReverse=xn,e.symbol=dt,e.symbolCircle=ce,e.symbolCross=Ge,e.symbolDiamond=qt,e.symbolSquare=Yt,e.symbolStar=Ct,e.symbolTriangle=er,e.symbolWye=St,e.symbols=Et,Object.defineProperty(e,\"__esModule\",{value:!0})})});var Mje=ye((_7,Sje)=>{(function(e,t){typeof _7==\"object\"&&typeof Sje!=\"undefined\"?t(_7,$E(),d7(),PJ()):t(e.d3=e.d3||{},e.d3,e.d3,e.d3)})(_7,function(e,t,r,n){\"use strict\";function i(g){return g.target.depth}function a(g){return g.depth}function o(g,P){return P-1-g.height}function s(g,P){return g.sourceLinks.length?g.depth:P-1}function l(g){return g.targetLinks.length?g.depth:g.sourceLinks.length?t.min(g.sourceLinks,i)-1:0}function u(g){return function(){return g}}function c(g,P){return h(g.source,P.source)||g.index-P.index}function f(g,P){return h(g.target,P.target)||g.index-P.index}function h(g,P){return g.y0-P.y0}function d(g){return g.value}function v(g){return(g.y0+g.y1)/2}function x(g){return v(g.source)*g.value}function b(g){return v(g.target)*g.value}function p(g){return g.index}function E(g){return g.nodes}function k(g){return g.links}function A(g,P){var T=g.get(P);if(!T)throw new Error(\"missing: \"+P);return T}var L=function(){var g=0,P=0,T=1,F=1,q=24,V=8,H=p,X=s,G=E,N=k,W=32,re=2/3;function ae(){var Te={nodes:G.apply(null,arguments),links:N.apply(null,arguments)};return _e(Te),Me(Te),ke(Te),ge(Te,W),ie(Te),Te}ae.update=function(Te){return ie(Te),Te},ae.nodeId=function(Te){return arguments.length?(H=typeof Te==\"function\"?Te:u(Te),ae):H},ae.nodeAlign=function(Te){return arguments.length?(X=typeof Te==\"function\"?Te:u(Te),ae):X},ae.nodeWidth=function(Te){return arguments.length?(q=+Te,ae):q},ae.nodePadding=function(Te){return arguments.length?(V=+Te,ae):V},ae.nodes=function(Te){return arguments.length?(G=typeof Te==\"function\"?Te:u(Te),ae):G},ae.links=function(Te){return arguments.length?(N=typeof Te==\"function\"?Te:u(Te),ae):N},ae.size=function(Te){return arguments.length?(g=P=0,T=+Te[0],F=+Te[1],ae):[T-g,F-P]},ae.extent=function(Te){return arguments.length?(g=+Te[0][0],T=+Te[1][0],P=+Te[0][1],F=+Te[1][1],ae):[[g,P],[T,F]]},ae.iterations=function(Te){return arguments.length?(W=+Te,ae):W};function _e(Te){Te.nodes.forEach(function(Ae,ze){Ae.index=ze,Ae.sourceLinks=[],Ae.targetLinks=[]});var Ee=r.map(Te.nodes,H);Te.links.forEach(function(Ae,ze){Ae.index=ze;var Ce=Ae.source,me=Ae.target;typeof Ce!=\"object\"&&(Ce=Ae.source=A(Ee,Ce)),typeof me!=\"object\"&&(me=Ae.target=A(Ee,me)),Ce.sourceLinks.push(Ae),me.targetLinks.push(Ae)})}function Me(Te){Te.nodes.forEach(function(Ee){Ee.value=Math.max(t.sum(Ee.sourceLinks,d),t.sum(Ee.targetLinks,d))})}function ke(Te){var Ee,Ae,ze;for(Ee=Te.nodes,Ae=[],ze=0;Ee.length;++ze,Ee=Ae,Ae=[])Ee.forEach(function(me){me.depth=ze,me.sourceLinks.forEach(function(Re){Ae.indexOf(Re.target)<0&&Ae.push(Re.target)})});for(Ee=Te.nodes,Ae=[],ze=0;Ee.length;++ze,Ee=Ae,Ae=[])Ee.forEach(function(me){me.height=ze,me.targetLinks.forEach(function(Re){Ae.indexOf(Re.source)<0&&Ae.push(Re.source)})});var Ce=(T-g-q)/(ze-1);Te.nodes.forEach(function(me){me.x1=(me.x0=g+Math.max(0,Math.min(ze-1,Math.floor(X.call(null,me,ze))))*Ce)+q})}function ge(Te){var Ee=r.nest().key(function(Ge){return Ge.x0}).sortKeys(t.ascending).entries(Te.nodes).map(function(Ge){return Ge.values});Ce(),ce();for(var Ae=1,ze=W;ze>0;--ze)Re(Ae*=.99),ce(),me(Ae),ce();function Ce(){var Ge=t.max(Ee,function(qt){return qt.length}),nt=re*(F-P)/(Ge-1);V>nt&&(V=nt);var ct=t.min(Ee,function(qt){return(F-P-(qt.length-1)*V)/t.sum(qt,d)});Ee.forEach(function(qt){qt.forEach(function(rt,ot){rt.y1=(rt.y0=ot)+rt.value*ct})}),Te.links.forEach(function(qt){qt.width=qt.value*ct})}function me(Ge){Ee.forEach(function(nt){nt.forEach(function(ct){if(ct.targetLinks.length){var qt=(t.sum(ct.targetLinks,x)/t.sum(ct.targetLinks,d)-v(ct))*Ge;ct.y0+=qt,ct.y1+=qt}})})}function Re(Ge){Ee.slice().reverse().forEach(function(nt){nt.forEach(function(ct){if(ct.sourceLinks.length){var qt=(t.sum(ct.sourceLinks,b)/t.sum(ct.sourceLinks,d)-v(ct))*Ge;ct.y0+=qt,ct.y1+=qt}})})}function ce(){Ee.forEach(function(Ge){var nt,ct,qt=P,rt=Ge.length,ot;for(Ge.sort(h),ot=0;ot<rt;++ot)nt=Ge[ot],ct=qt-nt.y0,ct>0&&(nt.y0+=ct,nt.y1+=ct),qt=nt.y1+V;if(ct=qt-V-F,ct>0)for(qt=nt.y0-=ct,nt.y1-=ct,ot=rt-2;ot>=0;--ot)nt=Ge[ot],ct=nt.y1+V-qt,ct>0&&(nt.y0-=ct,nt.y1-=ct),qt=nt.y0})}}function ie(Te){Te.nodes.forEach(function(Ee){Ee.sourceLinks.sort(f),Ee.targetLinks.sort(c)}),Te.nodes.forEach(function(Ee){var Ae=Ee.y0,ze=Ae;Ee.sourceLinks.forEach(function(Ce){Ce.y0=Ae+Ce.width/2,Ae+=Ce.width}),Ee.targetLinks.forEach(function(Ce){Ce.y1=ze+Ce.width/2,ze+=Ce.width})})}return ae};function _(g){return[g.source.x1,g.y0]}function C(g){return[g.target.x0,g.y1]}var M=function(){return n.linkHorizontal().source(_).target(C)};e.sankey=L,e.sankeyCenter=l,e.sankeyLeft=a,e.sankeyRight=o,e.sankeyJustify=s,e.sankeyLinkHorizontal=M,Object.defineProperty(e,\"__esModule\",{value:!0})})});var kje=ye((__r,Eje)=>{var SWt=LJ();Eje.exports=function(t,r){var n=[],i=[],a=[],o={},s=[],l;function u(k){a[k]=!1,o.hasOwnProperty(k)&&Object.keys(o[k]).forEach(function(A){delete o[k][A],a[A]&&u(A)})}function c(k){var A=!1;i.push(k),a[k]=!0;var L,_;for(L=0;L<s[k].length;L++)_=s[k][L],_===l?(f(l,i),A=!0):a[_]||(A=c(_));if(A)u(k);else for(L=0;L<s[k].length;L++){_=s[k][L];var C=o[_];C||(C={},o[_]=C),C[_]=!0}return i.pop(),A}function f(k,A){var L=[].concat(A).concat(k);r?r(c):n.push(L)}function h(k){for(var A=0;A<t.length;A++)A<k&&(t[A]=[]),t[A]=t[A].filter(function(L){return L>=k})}function d(k){h(k);for(var A=t,L=SWt(A),_=L.components.filter(function(q){return q.length>1}),C=1/0,M,g=0;g<_.length;g++)for(var P=0;P<_[g].length;P++)_[g][P]<C&&(C=_[g][P],M=g);var T=_[M];if(!T)return!1;var F=t.map(function(q,V){return T.indexOf(V)===-1?[]:q.filter(function(H){return T.indexOf(H)!==-1})});return{leastVertex:C,adjList:F}}l=0;for(var v=t.length;l<v;){var x=d(l);if(l=x.leastVertex,s=x.adjList,s){for(var b=0;b<s.length;b++)for(var p=0;p<s[b].length;p++){var E=s[b][p];a[+E]=!1,o[E]={}}c(l),l=l+1}else l=v}if(!r)return n}});var Lje=ye((x7,Cje)=>{(function(e,t){typeof x7==\"object\"&&typeof Cje!=\"undefined\"?t(x7,$E(),d7(),PJ(),kje()):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,null)})(x7,function(e,t,r,n,i){\"use strict\";i=i&&i.hasOwnProperty(\"default\")?i.default:i;function a(rt){return rt.target.depth}function o(rt){return rt.depth}function s(rt,ot){return ot-1-rt.height}function l(rt,ot){return rt.sourceLinks.length?rt.depth:ot-1}function u(rt){return rt.targetLinks.length?rt.depth:rt.sourceLinks.length?t.min(rt.sourceLinks,a)-1:0}function c(rt){return function(){return rt}}var f=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(rt){return typeof rt}:function(rt){return rt&&typeof Symbol==\"function\"&&rt.constructor===Symbol&&rt!==Symbol.prototype?\"symbol\":typeof rt};function h(rt,ot){return v(rt.source,ot.source)||rt.index-ot.index}function d(rt,ot){return v(rt.target,ot.target)||rt.index-ot.index}function v(rt,ot){return rt.partOfCycle===ot.partOfCycle?rt.y0-ot.y0:rt.circularLinkType===\"top\"||ot.circularLinkType===\"bottom\"?-1:1}function x(rt){return rt.value}function b(rt){return(rt.y0+rt.y1)/2}function p(rt){return b(rt.source)}function E(rt){return b(rt.target)}function k(rt){return rt.index}function A(rt){return rt.nodes}function L(rt){return rt.links}function _(rt,ot){var Rt=rt.get(ot);if(!Rt)throw new Error(\"missing: \"+ot);return Rt}function C(rt,ot){return ot(rt)}var M=25,g=10,P=.3;function T(){var rt=0,ot=0,Rt=1,kt=1,Ct=24,Yt,xr=k,er=l,Ke=A,xt=L,bt=32,Lt=2,St,Et=null;function dt(){var ut={nodes:Ke.apply(null,arguments),links:xt.apply(null,arguments)};Ht(ut),F(ut,xr,Et),$t(ut),Br(ut),q(ut,xr),Or(ut,bt,xr),Nr(ut);for(var Ne=4,Ye=0;Ye<Ne;Ye++)Re(ut,kt,xr),ce(ut,kt,xr),ze(ut,ot,kt,xr),Re(ut,kt,xr),ce(ut,kt,xr);return qt(ut,ot,kt),W(ut,Lt,kt,xr),ut}dt.nodeId=function(ut){return arguments.length?(xr=typeof ut==\"function\"?ut:c(ut),dt):xr},dt.nodeAlign=function(ut){return arguments.length?(er=typeof ut==\"function\"?ut:c(ut),dt):er},dt.nodeWidth=function(ut){return arguments.length?(Ct=+ut,dt):Ct},dt.nodePadding=function(ut){return arguments.length?(Yt=+ut,dt):Yt},dt.nodes=function(ut){return arguments.length?(Ke=typeof ut==\"function\"?ut:c(ut),dt):Ke},dt.links=function(ut){return arguments.length?(xt=typeof ut==\"function\"?ut:c(ut),dt):xt},dt.size=function(ut){return arguments.length?(rt=ot=0,Rt=+ut[0],kt=+ut[1],dt):[Rt-rt,kt-ot]},dt.extent=function(ut){return arguments.length?(rt=+ut[0][0],Rt=+ut[1][0],ot=+ut[0][1],kt=+ut[1][1],dt):[[rt,ot],[Rt,kt]]},dt.iterations=function(ut){return arguments.length?(bt=+ut,dt):bt},dt.circularLinkGap=function(ut){return arguments.length?(Lt=+ut,dt):Lt},dt.nodePaddingRatio=function(ut){return arguments.length?(St=+ut,dt):St},dt.sortNodes=function(ut){return arguments.length?(Et=ut,dt):Et},dt.update=function(ut){return q(ut,xr),Nr(ut),ut.links.forEach(function(Ne){Ne.circular&&(Ne.circularLinkType=Ne.y0+Ne.y1<kt?\"top\":\"bottom\",Ne.source.circularLinkType=Ne.circularLinkType,Ne.target.circularLinkType=Ne.circularLinkType)}),Re(ut,kt,xr,!1),ce(ut,kt,xr),W(ut,Lt,kt,xr),ut};function Ht(ut){ut.nodes.forEach(function(Ye,Ve){Ye.index=Ve,Ye.sourceLinks=[],Ye.targetLinks=[]});var Ne=r.map(ut.nodes,xr);return ut.links.forEach(function(Ye,Ve){Ye.index=Ve;var Xe=Ye.source,ht=Ye.target;(typeof Xe==\"undefined\"?\"undefined\":f(Xe))!==\"object\"&&(Xe=Ye.source=_(Ne,Xe)),(typeof ht==\"undefined\"?\"undefined\":f(ht))!==\"object\"&&(ht=Ye.target=_(Ne,ht)),Xe.sourceLinks.push(Ye),ht.targetLinks.push(Ye)}),ut}function $t(ut){ut.nodes.forEach(function(Ne){Ne.partOfCycle=!1,Ne.value=Math.max(t.sum(Ne.sourceLinks,x),t.sum(Ne.targetLinks,x)),Ne.sourceLinks.forEach(function(Ye){Ye.circular&&(Ne.partOfCycle=!0,Ne.circularLinkType=Ye.circularLinkType)}),Ne.targetLinks.forEach(function(Ye){Ye.circular&&(Ne.partOfCycle=!0,Ne.circularLinkType=Ye.circularLinkType)})})}function fr(ut){var Ne=0,Ye=0,Ve=0,Xe=0,ht=t.max(ut.nodes,function(Le){return Le.column});return ut.links.forEach(function(Le){Le.circular&&(Le.circularLinkType==\"top\"?Ne=Ne+Le.width:Ye=Ye+Le.width,Le.target.column==0&&(Xe=Xe+Le.width),Le.source.column==ht&&(Ve=Ve+Le.width))}),Ne=Ne>0?Ne+M+g:Ne,Ye=Ye>0?Ye+M+g:Ye,Ve=Ve>0?Ve+M+g:Ve,Xe=Xe>0?Xe+M+g:Xe,{top:Ne,bottom:Ye,left:Xe,right:Ve}}function _r(ut,Ne){var Ye=t.max(ut.nodes,function(lt){return lt.column}),Ve=Rt-rt,Xe=kt-ot,ht=Ve+Ne.right+Ne.left,Le=Xe+Ne.top+Ne.bottom,xe=Ve/ht,Se=Xe/Le;return rt=rt*xe+Ne.left,Rt=Ne.right==0?Rt:Rt*xe,ot=ot*Se+Ne.top,kt=kt*Se,ut.nodes.forEach(function(lt){lt.x0=rt+lt.column*((Rt-rt-Ct)/Ye),lt.x1=lt.x0+Ct}),Se}function Br(ut){var Ne,Ye,Ve;for(Ne=ut.nodes,Ye=[],Ve=0;Ne.length;++Ve,Ne=Ye,Ye=[])Ne.forEach(function(Xe){Xe.depth=Ve,Xe.sourceLinks.forEach(function(ht){Ye.indexOf(ht.target)<0&&!ht.circular&&Ye.push(ht.target)})});for(Ne=ut.nodes,Ye=[],Ve=0;Ne.length;++Ve,Ne=Ye,Ye=[])Ne.forEach(function(Xe){Xe.height=Ve,Xe.targetLinks.forEach(function(ht){Ye.indexOf(ht.source)<0&&!ht.circular&&Ye.push(ht.source)})});ut.nodes.forEach(function(Xe){Xe.column=Math.floor(er.call(null,Xe,Ve))})}function Or(ut,Ne,Ye){var Ve=r.nest().key(function(lt){return lt.column}).sortKeys(t.ascending).entries(ut.nodes).map(function(lt){return lt.values});Le(Ye),Se();for(var Xe=1,ht=Ne;ht>0;--ht)xe(Xe*=.99,Ye),Se();function Le(lt){if(St){var Gt=1/0;Ve.forEach(function(ai){var jr=kt*St/(ai.length+1);Gt=jr<Gt?jr:Gt}),Yt=Gt}var Vt=t.min(Ve,function(ai){return(kt-ot-(ai.length-1)*Yt)/t.sum(ai,x)});Vt=Vt*P,ut.links.forEach(function(ai){ai.width=ai.value*Vt});var ar=fr(ut),Qr=_r(ut,ar);Vt=Vt*Qr,ut.links.forEach(function(ai){ai.width=ai.value*Vt}),Ve.forEach(function(ai){var jr=ai.length;ai.forEach(function(ri,bi){ri.depth==Ve.length-1&&jr==1||ri.depth==0&&jr==1?(ri.y0=kt/2-ri.value*Vt,ri.y1=ri.y0+ri.value*Vt):ri.partOfCycle?X(ri,lt)==0?(ri.y0=kt/2+bi,ri.y1=ri.y0+ri.value*Vt):ri.circularLinkType==\"top\"?(ri.y0=ot+bi,ri.y1=ri.y0+ri.value*Vt):(ri.y0=kt-ri.value*Vt-bi,ri.y1=ri.y0+ri.value*Vt):ar.top==0||ar.bottom==0?(ri.y0=(kt-ot)/jr*bi,ri.y1=ri.y0+ri.value*Vt):(ri.y0=(kt-ot)/2-jr/2+bi,ri.y1=ri.y0+ri.value*Vt)})})}function xe(lt,Gt){var Vt=Ve.length;Ve.forEach(function(ar){var Qr=ar.length,ai=ar[0].depth;ar.forEach(function(jr){var ri;if((jr.sourceLinks.length||jr.targetLinks.length)&&!(jr.partOfCycle&&X(jr,Gt)>0))if(ai==0&&Qr==1)ri=jr.y1-jr.y0,jr.y0=kt/2-ri/2,jr.y1=kt/2+ri/2;else if(ai==Vt-1&&Qr==1)ri=jr.y1-jr.y0,jr.y0=kt/2-ri/2,jr.y1=kt/2+ri/2;else{var bi=0,nn=t.mean(jr.sourceLinks,E),Wi=t.mean(jr.targetLinks,p);nn&&Wi?bi=(nn+Wi)/2:bi=nn||Wi;var Ni=(bi-b(jr))*lt;jr.y0+=Ni,jr.y1+=Ni}})})}function Se(){Ve.forEach(function(lt){var Gt,Vt,ar=ot,Qr=lt.length,ai;for(lt.sort(v),ai=0;ai<Qr;++ai)Gt=lt[ai],Vt=ar-Gt.y0,Vt>0&&(Gt.y0+=Vt,Gt.y1+=Vt),ar=Gt.y1+Yt;if(Vt=ar-Yt-kt,Vt>0)for(ar=Gt.y0-=Vt,Gt.y1-=Vt,ai=Qr-2;ai>=0;--ai)Gt=lt[ai],Vt=Gt.y1+Yt-ar,Vt>0&&(Gt.y0-=Vt,Gt.y1-=Vt),ar=Gt.y0})}}function Nr(ut){ut.nodes.forEach(function(Ne){Ne.sourceLinks.sort(d),Ne.targetLinks.sort(h)}),ut.nodes.forEach(function(Ne){var Ye=Ne.y0,Ve=Ye,Xe=Ne.y1,ht=Xe;Ne.sourceLinks.forEach(function(Le){Le.circular?(Le.y0=Xe-Le.width/2,Xe=Xe-Le.width):(Le.y0=Ye+Le.width/2,Ye+=Le.width)}),Ne.targetLinks.forEach(function(Le){Le.circular?(Le.y1=ht-Le.width/2,ht=ht-Le.width):(Le.y1=Ve+Le.width/2,Ve+=Le.width)})})}return dt}function F(rt,ot,Rt){var kt=0;if(Rt===null){for(var Ct=[],Yt=0;Yt<rt.links.length;Yt++){var xr=rt.links[Yt],er=xr.source.index,Ke=xr.target.index;Ct[er]||(Ct[er]=[]),Ct[Ke]||(Ct[Ke]=[]),Ct[er].indexOf(Ke)===-1&&Ct[er].push(Ke)}var xt=i(Ct);xt.sort(function(Et,dt){return Et.length-dt.length});var bt={};for(Yt=0;Yt<xt.length;Yt++){var Lt=xt[Yt],St=Lt.slice(-2);bt[St[0]]||(bt[St[0]]={}),bt[St[0]][St[1]]=!0}rt.links.forEach(function(Et){var dt=Et.target.index,Ht=Et.source.index;dt===Ht||bt[Ht]&&bt[Ht][dt]?(Et.circular=!0,Et.circularLinkID=kt,kt=kt+1):Et.circular=!1})}else rt.links.forEach(function(Et){Et.source[Rt]<Et.target[Rt]?Et.circular=!1:(Et.circular=!0,Et.circularLinkID=kt,kt=kt+1)})}function q(rt,ot){var Rt=0,kt=0;rt.links.forEach(function(Ct){Ct.circular&&(Ct.source.circularLinkType||Ct.target.circularLinkType?Ct.circularLinkType=Ct.source.circularLinkType?Ct.source.circularLinkType:Ct.target.circularLinkType:Ct.circularLinkType=Rt<kt?\"top\":\"bottom\",Ct.circularLinkType==\"top\"?Rt=Rt+1:kt=kt+1,rt.nodes.forEach(function(Yt){(C(Yt,ot)==C(Ct.source,ot)||C(Yt,ot)==C(Ct.target,ot))&&(Yt.circularLinkType=Ct.circularLinkType)}))}),rt.links.forEach(function(Ct){Ct.circular&&(Ct.source.circularLinkType==Ct.target.circularLinkType&&(Ct.circularLinkType=Ct.source.circularLinkType),ct(Ct,ot)&&(Ct.circularLinkType=Ct.source.circularLinkType))})}function V(rt){var ot=Math.abs(rt.y1-rt.y0),Rt=Math.abs(rt.target.x0-rt.source.x1);return Math.atan(Rt/ot)}function H(rt,ot){return rt.source.column<ot.target.column?!1:!(rt.target.column>ot.source.column)}function X(rt,ot){var Rt=0;rt.sourceLinks.forEach(function(Ct){Rt=Ct.circular&&!ct(Ct,ot)?Rt+1:Rt});var kt=0;return rt.targetLinks.forEach(function(Ct){kt=Ct.circular&&!ct(Ct,ot)?kt+1:kt}),Rt+kt}function G(rt){var ot=rt.source.sourceLinks,Rt=0;ot.forEach(function(Yt){Rt=Yt.circular?Rt+1:Rt});var kt=rt.target.targetLinks,Ct=0;return kt.forEach(function(Yt){Ct=Yt.circular?Ct+1:Ct}),!(Rt>1||Ct>1)}function N(rt,ot,Rt){return rt.sort(ae),rt.forEach(function(kt,Ct){var Yt=0;if(ct(kt,Rt)&&G(kt))kt.circularPathData.verticalBuffer=Yt+kt.width/2;else{var xr=0;for(xr;xr<Ct;xr++)if(H(rt[Ct],rt[xr])){var er=rt[xr].circularPathData.verticalBuffer+rt[xr].width/2+ot;Yt=er>Yt?er:Yt}kt.circularPathData.verticalBuffer=Yt+kt.width/2}}),rt}function W(rt,ot,Rt,kt){var Ct=5,Yt=t.min(rt.links,function(Ke){return Ke.source.y0});rt.links.forEach(function(Ke){Ke.circular&&(Ke.circularPathData={})});var xr=rt.links.filter(function(Ke){return Ke.circularLinkType==\"top\"});N(xr,ot,kt);var er=rt.links.filter(function(Ke){return Ke.circularLinkType==\"bottom\"});N(er,ot,kt),rt.links.forEach(function(Ke){if(Ke.circular){if(Ke.circularPathData.arcRadius=Ke.width+g,Ke.circularPathData.leftNodeBuffer=Ct,Ke.circularPathData.rightNodeBuffer=Ct,Ke.circularPathData.sourceWidth=Ke.source.x1-Ke.source.x0,Ke.circularPathData.sourceX=Ke.source.x0+Ke.circularPathData.sourceWidth,Ke.circularPathData.targetX=Ke.target.x0,Ke.circularPathData.sourceY=Ke.y0,Ke.circularPathData.targetY=Ke.y1,ct(Ke,kt)&&G(Ke))Ke.circularPathData.leftSmallArcRadius=g+Ke.width/2,Ke.circularPathData.leftLargeArcRadius=g+Ke.width/2,Ke.circularPathData.rightSmallArcRadius=g+Ke.width/2,Ke.circularPathData.rightLargeArcRadius=g+Ke.width/2,Ke.circularLinkType==\"bottom\"?(Ke.circularPathData.verticalFullExtent=Ke.source.y1+M+Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.rightLargeArcRadius):(Ke.circularPathData.verticalFullExtent=Ke.source.y0-M-Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.rightLargeArcRadius);else{var xt=Ke.source.column,bt=Ke.circularLinkType,Lt=rt.links.filter(function(dt){return dt.source.column==xt&&dt.circularLinkType==bt});Ke.circularLinkType==\"bottom\"?Lt.sort(Me):Lt.sort(_e);var St=0;Lt.forEach(function(dt,Ht){dt.circularLinkID==Ke.circularLinkID&&(Ke.circularPathData.leftSmallArcRadius=g+Ke.width/2+St,Ke.circularPathData.leftLargeArcRadius=g+Ke.width/2+Ht*ot+St),St=St+dt.width}),xt=Ke.target.column,Lt=rt.links.filter(function(dt){return dt.target.column==xt&&dt.circularLinkType==bt}),Ke.circularLinkType==\"bottom\"?Lt.sort(ge):Lt.sort(ke),St=0,Lt.forEach(function(dt,Ht){dt.circularLinkID==Ke.circularLinkID&&(Ke.circularPathData.rightSmallArcRadius=g+Ke.width/2+St,Ke.circularPathData.rightLargeArcRadius=g+Ke.width/2+Ht*ot+St),St=St+dt.width}),Ke.circularLinkType==\"bottom\"?(Ke.circularPathData.verticalFullExtent=Math.max(Rt,Ke.source.y1,Ke.target.y1)+M+Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.rightLargeArcRadius):(Ke.circularPathData.verticalFullExtent=Yt-M-Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.rightLargeArcRadius)}Ke.circularPathData.leftInnerExtent=Ke.circularPathData.sourceX+Ke.circularPathData.leftNodeBuffer,Ke.circularPathData.rightInnerExtent=Ke.circularPathData.targetX-Ke.circularPathData.rightNodeBuffer,Ke.circularPathData.leftFullExtent=Ke.circularPathData.sourceX+Ke.circularPathData.leftLargeArcRadius+Ke.circularPathData.leftNodeBuffer,Ke.circularPathData.rightFullExtent=Ke.circularPathData.targetX-Ke.circularPathData.rightLargeArcRadius-Ke.circularPathData.rightNodeBuffer}if(Ke.circular)Ke.path=re(Ke);else{var Et=n.linkHorizontal().source(function(dt){var Ht=dt.source.x0+(dt.source.x1-dt.source.x0),$t=dt.y0;return[Ht,$t]}).target(function(dt){var Ht=dt.target.x0,$t=dt.y1;return[Ht,$t]});Ke.path=Et(Ke)}})}function re(rt){var ot=\"\";return rt.circularLinkType==\"top\"?ot=\"M\"+rt.circularPathData.sourceX+\" \"+rt.circularPathData.sourceY+\" L\"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.sourceY+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftSmallArcRadius+\" 0 0 0 \"+rt.circularPathData.leftFullExtent+\" \"+(rt.circularPathData.sourceY-rt.circularPathData.leftSmallArcRadius)+\" L\"+rt.circularPathData.leftFullExtent+\" \"+rt.circularPathData.verticalLeftInnerExtent+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftLargeArcRadius+\" 0 0 0 \"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" L\"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightLargeArcRadius+\" 0 0 0 \"+rt.circularPathData.rightFullExtent+\" \"+rt.circularPathData.verticalRightInnerExtent+\" L\"+rt.circularPathData.rightFullExtent+\" \"+(rt.circularPathData.targetY-rt.circularPathData.rightSmallArcRadius)+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightSmallArcRadius+\" 0 0 0 \"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.targetY+\" L\"+rt.circularPathData.targetX+\" \"+rt.circularPathData.targetY:ot=\"M\"+rt.circularPathData.sourceX+\" \"+rt.circularPathData.sourceY+\" L\"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.sourceY+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftSmallArcRadius+\" 0 0 1 \"+rt.circularPathData.leftFullExtent+\" \"+(rt.circularPathData.sourceY+rt.circularPathData.leftSmallArcRadius)+\" L\"+rt.circularPathData.leftFullExtent+\" \"+rt.circularPathData.verticalLeftInnerExtent+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftLargeArcRadius+\" 0 0 1 \"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" L\"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightLargeArcRadius+\" 0 0 1 \"+rt.circularPathData.rightFullExtent+\" \"+rt.circularPathData.verticalRightInnerExtent+\" L\"+rt.circularPathData.rightFullExtent+\" \"+(rt.circularPathData.targetY+rt.circularPathData.rightSmallArcRadius)+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightSmallArcRadius+\" 0 0 1 \"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.targetY+\" L\"+rt.circularPathData.targetX+\" \"+rt.circularPathData.targetY,ot}function ae(rt,ot){return ie(rt)==ie(ot)?rt.circularLinkType==\"bottom\"?Me(rt,ot):_e(rt,ot):ie(ot)-ie(rt)}function _e(rt,ot){return rt.y0-ot.y0}function Me(rt,ot){return ot.y0-rt.y0}function ke(rt,ot){return rt.y1-ot.y1}function ge(rt,ot){return ot.y1-rt.y1}function ie(rt){return rt.target.column-rt.source.column}function Te(rt){return rt.target.x0-rt.source.x1}function Ee(rt,ot){var Rt=V(rt),kt=Te(ot)/Math.tan(Rt),Ct=nt(rt)==\"up\"?rt.y1+kt:rt.y1-kt;return Ct}function Ae(rt,ot){var Rt=V(rt),kt=Te(ot)/Math.tan(Rt),Ct=nt(rt)==\"up\"?rt.y1-kt:rt.y1+kt;return Ct}function ze(rt,ot,Rt,kt){rt.links.forEach(function(Ct){if(!Ct.circular&&Ct.target.column-Ct.source.column>1){var Yt=Ct.source.column+1,xr=Ct.target.column-1,er=1,Ke=xr-Yt+1;for(er=1;Yt<=xr;Yt++,er++)rt.nodes.forEach(function(xt){if(xt.column==Yt){var bt=er/(Ke+1),Lt=Math.pow(1-bt,3),St=3*bt*Math.pow(1-bt,2),Et=3*Math.pow(bt,2)*(1-bt),dt=Math.pow(bt,3),Ht=Lt*Ct.y0+St*Ct.y0+Et*Ct.y1+dt*Ct.y1,$t=Ht-Ct.width/2,fr=Ht+Ct.width/2,_r;$t>xt.y0&&$t<xt.y1?(_r=xt.y1-$t+10,_r=xt.circularLinkType==\"bottom\"?_r:-_r,xt=me(xt,_r,ot,Rt),rt.nodes.forEach(function(Br){C(Br,kt)==C(xt,kt)||Br.column!=xt.column||Ce(xt,Br)&&me(Br,_r,ot,Rt)})):fr>xt.y0&&fr<xt.y1?(_r=fr-xt.y0+10,xt=me(xt,_r,ot,Rt),rt.nodes.forEach(function(Br){C(Br,kt)==C(xt,kt)||Br.column!=xt.column||Br.y0<xt.y1&&Br.y1>xt.y1&&me(Br,_r,ot,Rt)})):$t<xt.y0&&fr>xt.y1&&(_r=fr-xt.y0+10,xt=me(xt,_r,ot,Rt),rt.nodes.forEach(function(Br){C(Br,kt)==C(xt,kt)||Br.column!=xt.column||Br.y0<xt.y1&&Br.y1>xt.y1&&me(Br,_r,ot,Rt)}))}})}})}function Ce(rt,ot){return rt.y0>ot.y0&&rt.y0<ot.y1||rt.y1>ot.y0&&rt.y1<ot.y1?!0:rt.y0<ot.y0&&rt.y1>ot.y1}function me(rt,ot,Rt,kt){return rt.y0+ot>=Rt&&rt.y1+ot<=kt&&(rt.y0=rt.y0+ot,rt.y1=rt.y1+ot,rt.targetLinks.forEach(function(Ct){Ct.y1=Ct.y1+ot}),rt.sourceLinks.forEach(function(Ct){Ct.y0=Ct.y0+ot})),rt}function Re(rt,ot,Rt,kt){rt.nodes.forEach(function(Ct){kt&&Ct.y+(Ct.y1-Ct.y0)>ot&&(Ct.y=Ct.y-(Ct.y+(Ct.y1-Ct.y0)-ot));var Yt=rt.links.filter(function(Ke){return C(Ke.source,Rt)==C(Ct,Rt)}),xr=Yt.length;xr>1&&Yt.sort(function(Ke,xt){if(!Ke.circular&&!xt.circular){if(Ke.target.column==xt.target.column)return Ke.y1-xt.y1;if(Ge(Ke,xt)){if(Ke.target.column>xt.target.column){var bt=Ae(xt,Ke);return Ke.y1-bt}if(xt.target.column>Ke.target.column){var Lt=Ae(Ke,xt);return Lt-xt.y1}}else return Ke.y1-xt.y1}if(Ke.circular&&!xt.circular)return Ke.circularLinkType==\"top\"?-1:1;if(xt.circular&&!Ke.circular)return xt.circularLinkType==\"top\"?1:-1;if(Ke.circular&&xt.circular)return Ke.circularLinkType===xt.circularLinkType&&Ke.circularLinkType==\"top\"?Ke.target.column===xt.target.column?Ke.target.y1-xt.target.y1:xt.target.column-Ke.target.column:Ke.circularLinkType===xt.circularLinkType&&Ke.circularLinkType==\"bottom\"?Ke.target.column===xt.target.column?xt.target.y1-Ke.target.y1:Ke.target.column-xt.target.column:Ke.circularLinkType==\"top\"?-1:1});var er=Ct.y0;Yt.forEach(function(Ke){Ke.y0=er+Ke.width/2,er=er+Ke.width}),Yt.forEach(function(Ke,xt){if(Ke.circularLinkType==\"bottom\"){var bt=xt+1,Lt=0;for(bt;bt<xr;bt++)Lt=Lt+Yt[bt].width;Ke.y0=Ct.y1-Lt-Ke.width/2}})})}function ce(rt,ot,Rt){rt.nodes.forEach(function(kt){var Ct=rt.links.filter(function(er){return C(er.target,Rt)==C(kt,Rt)}),Yt=Ct.length;Yt>1&&Ct.sort(function(er,Ke){if(!er.circular&&!Ke.circular){if(er.source.column==Ke.source.column)return er.y0-Ke.y0;if(Ge(er,Ke)){if(Ke.source.column<er.source.column){var xt=Ee(Ke,er);return er.y0-xt}if(er.source.column<Ke.source.column){var bt=Ee(er,Ke);return bt-Ke.y0}}else return er.y0-Ke.y0}if(er.circular&&!Ke.circular)return er.circularLinkType==\"top\"?-1:1;if(Ke.circular&&!er.circular)return Ke.circularLinkType==\"top\"?1:-1;if(er.circular&&Ke.circular)return er.circularLinkType===Ke.circularLinkType&&er.circularLinkType==\"top\"?er.source.column===Ke.source.column?er.source.y1-Ke.source.y1:er.source.column-Ke.source.column:er.circularLinkType===Ke.circularLinkType&&er.circularLinkType==\"bottom\"?er.source.column===Ke.source.column?er.source.y1-Ke.source.y1:Ke.source.column-er.source.column:er.circularLinkType==\"top\"?-1:1});var xr=kt.y0;Ct.forEach(function(er){er.y1=xr+er.width/2,xr=xr+er.width}),Ct.forEach(function(er,Ke){if(er.circularLinkType==\"bottom\"){var xt=Ke+1,bt=0;for(xt;xt<Yt;xt++)bt=bt+Ct[xt].width;er.y1=kt.y1-bt-er.width/2}})})}function Ge(rt,ot){return nt(rt)==nt(ot)}function nt(rt){return rt.y0-rt.y1>0?\"up\":\"down\"}function ct(rt,ot){return C(rt.source,ot)==C(rt.target,ot)}function qt(rt,ot,Rt){var kt=rt.nodes,Ct=rt.links,Yt=!1,xr=!1;if(Ct.forEach(function(St){St.circularLinkType==\"top\"?Yt=!0:St.circularLinkType==\"bottom\"&&(xr=!0)}),Yt==!1||xr==!1){var er=t.min(kt,function(St){return St.y0}),Ke=t.max(kt,function(St){return St.y1}),xt=Ke-er,bt=Rt-ot,Lt=bt/xt;kt.forEach(function(St){var Et=(St.y1-St.y0)*Lt;St.y0=(St.y0-er)*Lt,St.y1=St.y0+Et}),Ct.forEach(function(St){St.y0=(St.y0-er)*Lt,St.y1=(St.y1-er)*Lt,St.width=St.width*Lt})}}e.sankeyCircular=T,e.sankeyCenter=u,e.sankeyLeft=o,e.sankeyRight=s,e.sankeyJustify=l,Object.defineProperty(e,\"__esModule\",{value:!0})})});var IJ=ye((x_r,Pje)=>{\"use strict\";Pje.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\"}}});var Gje=ye((b_r,Hje)=>{\"use strict\";var Ije=bje(),MWt=(R2(),B1(I2)).interpolateNumber,CA=xa(),Gk=Mje(),EWt=Lje(),pu=IJ(),LA=id(),aw=va(),kWt=ao(),p1=Mr(),zJ=p1.strTranslate,CWt=p1.strRotate,FJ=Km(),jk=FJ.keyFun,b7=FJ.repeat,Oje=FJ.unwrap,Rje=Pl(),LWt=ba(),Bje=Nh(),PWt=Bje.CAP_SHIFT,IWt=Bje.LINE_SPACING,RWt=3;function DWt(e,t,r){var n=Oje(t),i=n.trace,a=i.domain,o=i.orientation===\"h\",s=i.node.pad,l=i.node.thickness,u={justify:Gk.sankeyJustify,left:Gk.sankeyLeft,right:Gk.sankeyRight,center:Gk.sankeyCenter}[i.node.align],c=e.width*(a.x[1]-a.x[0]),f=e.height*(a.y[1]-a.y[0]),h=n._nodes,d=n._links,v=n.circular,x;v?x=EWt.sankeyCircular().circularLinkGap(0):x=Gk.sankey(),x.iterations(pu.sankeyIterations).size(o?[c,f]:[f,c]).nodeWidth(l).nodePadding(s).nodeId(function(V){return V.pointNumber}).nodeAlign(u).nodes(h).links(d);var b=x();x.nodePadding()<s&&p1.warn(\"node.pad was reduced to \",x.nodePadding(),\" to fit within the figure.\");var p,E,k;for(var A in n._groupLookup){var L=parseInt(n._groupLookup[A]),_;for(p=0;p<b.nodes.length;p++)if(b.nodes[p].pointNumber===L){_=b.nodes[p];break}if(_){var C={pointNumber:parseInt(A),x0:_.x0,x1:_.x1,y0:_.y0,y1:_.y1,partOfGroup:!0,sourceLinks:[],targetLinks:[]};b.nodes.unshift(C),_.childrenNodes.unshift(C)}}function M(){for(p=0;p<b.nodes.length;p++){var V=b.nodes[p],H={},X,G;for(E=0;E<V.targetLinks.length;E++)G=V.targetLinks[E],X=G.source.pointNumber+\":\"+G.target.pointNumber,H.hasOwnProperty(X)||(H[X]=[]),H[X].push(G);var N=Object.keys(H);for(E=0;E<N.length;E++){X=N[E];var W=H[X],re=0,ae={};for(k=0;k<W.length;k++)G=W[k],ae[G.label]||(ae[G.label]=0),ae[G.label]+=G.value,re+=G.value;for(k=0;k<W.length;k++)G=W[k],G.flow={value:re,labelConcentration:ae[G.label]/re,concentration:G.value/re,links:W},G.concentrationscale&&(G.color=LA(G.concentrationscale(G.flow.labelConcentration)))}var _e=0;for(E=0;E<V.sourceLinks.length;E++)_e+=V.sourceLinks[E].value;for(E=0;E<V.sourceLinks.length;E++)G=V.sourceLinks[E],G.concentrationOut=G.value/_e;var Me=0;for(E=0;E<V.targetLinks.length;E++)Me+=V.targetLinks[E].value;for(E=0;E<V.targetLinks.length;E++)G=V.targetLinks[E],G.concenrationIn=G.value/Me}}M();function g(V){V.forEach(function(H){var X,G,N=0,W=H.length,re;for(H.sort(function(ae,_e){return ae.y0-_e.y0}),re=0;re<W;++re)X=H[re],X.y0>=N||(G=N-X.y0,G>1e-6&&(X.y0+=G,X.y1+=G)),N=X.y1+s})}function P(V){var H=V.map(function(_e,Me){return{x0:_e.x0,index:Me}}).sort(function(_e,Me){return _e.x0-Me.x0}),X=[],G=-1,N,W=-1/0,re;for(p=0;p<H.length;p++){var ae=V[H[p].index];ae.x0>W+l&&(G+=1,N=ae.x0),W=ae.x0,X[G]||(X[G]=[]),X[G].push(ae),re=N-ae.x0,ae.x0+=re,ae.x1+=re}return X}if(i.node.x.length&&i.node.y.length){for(p=0;p<Math.min(i.node.x.length,i.node.y.length,b.nodes.length);p++)if(i.node.x[p]&&i.node.y[p]){var T=[i.node.x[p]*c,i.node.y[p]*f];b.nodes[p].x0=T[0]-l/2,b.nodes[p].x1=T[0]+l/2;var F=b.nodes[p].y1-b.nodes[p].y0;b.nodes[p].y0=T[1]-F/2,b.nodes[p].y1=T[1]+F/2}if(i.arrangement===\"snap\"){h=b.nodes;var q=P(h);g(q)}x.update(b)}return{circular:v,key:r,trace:i,guid:p1.randstr(),horizontal:o,width:c,height:f,nodePad:i.node.pad,nodeLineColor:i.node.line.color,nodeLineWidth:i.node.line.width,linkLineColor:i.link.line.color,linkLineWidth:i.link.line.width,linkArrowLength:i.link.arrowlen,valueFormat:i.valueformat,valueSuffix:i.valuesuffix,textFont:i.textfont,translateX:a.x[0]*e.width+e.margin.l,translateY:e.height-a.y[1]*e.height+e.margin.t,dragParallel:o?f:c,dragPerpendicular:o?c:f,arrangement:i.arrangement,sankey:x,graph:b,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function zWt(e,t,r){var n=LA(t.color),i=LA(t.hovercolor),a=t.source.label+\"|\"+t.target.label,o=a+\"__\"+r;return t.trace=e.trace,t.curveNumber=e.trace.index,{circular:e.circular,key:o,traceId:e.key,pointNumber:t.pointNumber,link:t,tinyColorHue:aw.tinyRGB(n),tinyColorAlpha:n.getAlpha(),tinyColorHoverHue:aw.tinyRGB(i),tinyColorHoverAlpha:i.getAlpha(),linkPath:qJ,linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,linkArrowLength:e.linkArrowLength,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,parent:e,interactionState:e.interactionState,flow:t.flow}}function FWt(e,t){var r=\"\",n=e.width/2,i=e.circularPathData,a=i.sourceX+i.verticalBuffer<i.targetX,o=i.rightFullExtent-i.rightLargeArcRadius-t<=i.leftFullExtent-n,s=Math.abs(i.rightFullExtent-i.leftFullExtent-n)<n;return e.circularLinkType===\"top\"?(r=\"M \"+(i.targetX-t)+\" \"+(i.targetY+n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.targetY+n)+\"A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightSmallArcRadius+n)+\" 0 0 1 \"+(i.rightFullExtent-n-t)+\" \"+(i.targetY-i.rightSmallArcRadius)+\"L \"+(i.rightFullExtent-n-t)+\" \"+i.verticalRightInnerExtent,a&&o?r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 1 \"+(i.rightFullExtent+n-t-(i.rightLargeArcRadius-n))+\" \"+(i.verticalRightInnerExtent-(i.rightLargeArcRadius+n))+\" L \"+(i.rightFullExtent+n-(i.rightLargeArcRadius-n)-t)+\" \"+(i.verticalRightInnerExtent-(i.rightLargeArcRadius+n))+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftLargeArcRadius+n)+\" 0 0 1 \"+(i.leftFullExtent+n)+\" \"+i.verticalRightInnerExtent:a?r+=\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightLargeArcRadius-n)+\" 0 0 0 \"+(i.rightFullExtent-n-t-(i.rightLargeArcRadius-n))+\" \"+(i.verticalRightInnerExtent-(i.rightLargeArcRadius-n))+\" L \"+(i.leftFullExtent+n+(i.rightLargeArcRadius-n))+\" \"+(i.verticalRightInnerExtent-(i.rightLargeArcRadius-n))+\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftLargeArcRadius-n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent:r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 1 \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent-n)+\" L \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftLargeArcRadius+n)+\" 0 0 1 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent,r+=\" L \"+(i.leftFullExtent+n)+\" \"+(i.sourceY-i.leftSmallArcRadius)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 1 \"+i.leftInnerExtent+\" \"+(i.sourceY+n)+\" L \"+i.sourceX+\" \"+(i.sourceY+n)+\" L \"+i.sourceX+\" \"+(i.sourceY-n)+\" L \"+i.leftInnerExtent+\" \"+(i.sourceY-n)+\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftSmallArcRadius-n)+\" 0 0 0 \"+(i.leftFullExtent-n)+\" \"+(i.sourceY-i.leftSmallArcRadius)+\" L \"+(i.leftFullExtent-n)+\" \"+i.verticalLeftInnerExtent,a&&o?r+=\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent-n)+\" \"+(i.verticalFullExtent+n)+\"L\"+(i.rightFullExtent+n-t)+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 0 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:a?r+=\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 1 \"+(i.leftFullExtent+n)+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.rightFullExtent-n-t)+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 1 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:r+=\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftLargeArcRadius-n)+\" 0 0 0 \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent+n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightLargeArcRadius-n)+\" 0 0 0 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent,r+=\" L \"+(i.rightFullExtent+n-t)+\" \"+(i.targetY-i.rightSmallArcRadius)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 0 \"+(i.rightInnerExtent-t)+\" \"+(i.targetY-n)+\" L \"+(i.targetX-t)+\" \"+(i.targetY-n)+(t>0?\" L \"+i.targetX+\" \"+i.targetY:\"\")+\"Z\"):(r=\"M \"+(i.targetX-t)+\" \"+(i.targetY-n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.targetY-n)+\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightSmallArcRadius+n)+\" 0 0 0 \"+(i.rightFullExtent-n-t)+\" \"+(i.targetY+i.rightSmallArcRadius)+\" L \"+(i.rightFullExtent-n-t)+\" \"+i.verticalRightInnerExtent,a&&o?r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.rightInnerExtent-n-t)+\" \"+(i.verticalFullExtent+n)+\" L \"+(i.rightFullExtent+n-t-(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent:a?r+=\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.rightFullExtent-t-n-(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.leftFullExtent+n+(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent:r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent+n)+\" L \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftLargeArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent,r+=\" L \"+(i.leftFullExtent+n)+\" \"+(i.sourceY+i.leftSmallArcRadius)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 0 \"+i.leftInnerExtent+\" \"+(i.sourceY-n)+\" L \"+i.sourceX+\" \"+(i.sourceY-n)+\" L \"+i.sourceX+\" \"+(i.sourceY+n)+\" L \"+i.leftInnerExtent+\" \"+(i.sourceY+n)+\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftSmallArcRadius-n)+\" 0 0 1 \"+(i.leftFullExtent-n)+\" \"+(i.sourceY+i.leftSmallArcRadius)+\" L \"+(i.leftFullExtent-n)+\" \"+i.verticalLeftInnerExtent,a&&o?r+=\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.leftFullExtent-n-(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.rightFullExtent+n-t+(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:a?r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+(i.verticalFullExtent+n)+\" L \"+(i.rightFullExtent-t-n)+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:r+=\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftLargeArcRadius-n)+\" 0 0 1 \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightLargeArcRadius-n)+\" 0 0 1 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent,r+=\" L \"+(i.rightFullExtent+n-t)+\" \"+(i.targetY+i.rightSmallArcRadius)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.rightInnerExtent-t)+\" \"+(i.targetY+n)+\" L \"+(i.targetX-t)+\" \"+(i.targetY+n)+(t>0?\" L \"+i.targetX+\" \"+i.targetY:\"\")+\"Z\"),r}function qJ(){var e=.5;function t(r){var n=r.linkArrowLength;if(r.link.circular)return FWt(r.link,n);var i=Math.abs((r.link.target.x0-r.link.source.x1)/2);n>i&&(n=i);var a=r.link.source.x1,o=r.link.target.x0-n,s=MWt(a,o),l=s(e),u=s(1-e),c=r.link.y0-r.link.width/2,f=r.link.y0+r.link.width/2,h=r.link.y1-r.link.width/2,d=r.link.y1+r.link.width/2,v=\"M\"+a+\",\"+c,x=\"C\"+l+\",\"+c+\" \"+u+\",\"+h+\" \"+o+\",\"+h,b=\"C\"+u+\",\"+d+\" \"+l+\",\"+f+\" \"+a+\",\"+f,p=n>0?\"L\"+(o+n)+\",\"+(h+r.link.width/2):\"\";return p+=\"L\"+o+\",\"+d,v+x+p+b+\"Z\"}return t}function qWt(e,t){var r=LA(t.color),n=pu.nodePadAcross,i=e.nodePad/2;t.dx=t.x1-t.x0,t.dy=t.y1-t.y0;var a=t.dx,o=Math.max(.5,t.dy),s=\"node_\"+t.pointNumber;return t.group&&(s=p1.randstr()),t.trace=e.trace,t.curveNumber=e.trace.index,{index:t.pointNumber,key:s,partOfGroup:t.partOfGroup||!1,group:t.group,traceId:e.key,trace:e.trace,node:t,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:e.horizontal?t.dy/2+1:t.dx/2+1,left:t.originalLayer===1,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:aw.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,graph:e.graph,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,s].join(\"_\"),interactionState:e.interactionState,figure:e}}function DJ(e){e.attr(\"transform\",function(t){return zJ(t.node.x0.toFixed(3),t.node.y0.toFixed(3))})}function OWt(e){e.call(DJ)}function Nje(e,t){e.call(OWt),t.attr(\"d\",qJ())}function Dje(e){e.attr(\"width\",function(t){return t.node.x1-t.node.x0}).attr(\"height\",function(t){return t.visibleHeight})}function RJ(e){return e.link.width>1||e.linkLineWidth>0}function zje(e){var t=zJ(e.translateX,e.translateY);return t+(e.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\")}function Fje(e,t,r){e.on(\".basic\",null).on(\"mouseover.basic\",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.hover(this,n,t),n.interactionState.hovered=[this,n])}).on(\"mousemove.basic\",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.follow(this,n),n.interactionState.hovered=[this,n])}).on(\"mouseout.basic\",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.unhover(this,n,t),n.interactionState.hovered=!1)}).on(\"click.basic\",function(n){n.interactionState.hovered&&(r.unhover(this,n,t),n.interactionState.hovered=!1),!n.interactionState.dragInProgress&&!n.partOfGroup&&r.select(this,n,t)})}function BWt(e,t,r,n){var i=CA.behavior.drag().origin(function(a){return{x:a.node.x0+a.visibleWidth/2,y:a.node.y0+a.visibleHeight/2}}).on(\"dragstart\",function(a){if(a.arrangement!==\"fixed\"&&(p1.ensureSingle(n._fullLayout._infolayer,\"g\",\"dragcover\",function(s){n._fullLayout._dragCover=s}),p1.raiseToTop(this),a.interactionState.dragInProgress=a.node,qje(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),a.arrangement===\"snap\")){var o=a.traceId+\"|\"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):NWt(e,o,a,n),UWt(e,t,a,o,n)}}).on(\"drag\",function(a){if(a.arrangement!==\"fixed\"){var o=CA.event.x,s=CA.event.y;a.arrangement===\"snap\"?(a.node.x0=o-a.visibleWidth/2,a.node.x1=o+a.visibleWidth/2,a.node.y0=s-a.visibleHeight/2,a.node.y1=s+a.visibleHeight/2):(a.arrangement===\"freeform\"&&(a.node.x0=o-a.visibleWidth/2,a.node.x1=o+a.visibleWidth/2),s=Math.max(0,Math.min(a.size-a.visibleHeight/2,s)),a.node.y0=s-a.visibleHeight/2,a.node.y1=s+a.visibleHeight/2),qje(a.node),a.arrangement!==\"snap\"&&(a.sankey.update(a.graph),Nje(e.filter(Vje(a)),t))}}).on(\"dragend\",function(a){if(a.arrangement!==\"fixed\"){a.interactionState.dragInProgress=!1;for(var o=0;o<a.node.childrenNodes.length;o++)a.node.childrenNodes[o].x=a.node.x,a.node.childrenNodes[o].y=a.node.y;a.arrangement!==\"snap\"&&Uje(a,n)}});e.on(\".drag\",null).call(i)}function NWt(e,t,r,n){GWt(r.graph.nodes);var i=r.graph.nodes.filter(function(a){return a.originalX===r.node.originalX}).filter(function(a){return!a.partOfGroup});r.forceLayouts[t]=Ije.forceSimulation(i).alphaDecay(0).force(\"collide\",Ije.forceCollide().radius(function(a){return a.dy/2+r.nodePad/2}).strength(1).iterations(pu.forceIterations)).force(\"constrain\",VWt(e,t,i,r,n)).stop()}function UWt(e,t,r,n,i){window.requestAnimationFrame(function a(){var o;for(o=0;o<pu.forceTicksPerFrame;o++)r.forceLayouts[n].tick();var s=r.graph.nodes;if(jWt(s),r.sankey.update(r.graph),Nje(e.filter(Vje(r)),t),r.forceLayouts[n].alpha()>0)window.requestAnimationFrame(a);else{var l=r.node.originalX;r.node.x0=l-r.visibleWidth/2,r.node.x1=l+r.visibleWidth/2,Uje(r,i)}})}function VWt(e,t,r,n){return function(){for(var a=0,o=0;o<r.length;o++){var s=r[o];s===n.interactionState.dragInProgress?(s.x=s.lastDraggedX,s.y=s.lastDraggedY):(s.vx=(s.originalX-s.x)/pu.forceTicksPerFrame,s.y=Math.min(n.size-s.dy/2,Math.max(s.dy/2,s.y))),a=Math.max(a,Math.abs(s.vx),Math.abs(s.vy))}!n.interactionState.dragInProgress&&a<.1&&n.forceLayouts[t].alpha()>0&&n.forceLayouts[t].alpha(0)}}function Uje(e,t){for(var r=[],n=[],i=0;i<e.graph.nodes.length;i++){var a=(e.graph.nodes[i].x0+e.graph.nodes[i].x1)/2,o=(e.graph.nodes[i].y0+e.graph.nodes[i].y1)/2;r.push(a/e.figure.width),n.push(o/e.figure.height)}LWt.call(\"_guiRestyle\",t,{\"node.x\":[r],\"node.y\":[n]},e.trace.index).then(function(){t._fullLayout._dragCover&&t._fullLayout._dragCover.remove()})}function HWt(e){var t=[],r;for(r=0;r<e.length;r++)e[r].originalX=(e[r].x0+e[r].x1)/2,e[r].originalY=(e[r].y0+e[r].y1)/2,t.indexOf(e[r].originalX)===-1&&t.push(e[r].originalX);for(t.sort(function(n,i){return n-i}),r=0;r<e.length;r++)e[r].originalLayerIndex=t.indexOf(e[r].originalX),e[r].originalLayer=e[r].originalLayerIndex/(t.length-1)}function qje(e){e.lastDraggedX=e.x0+e.dx/2,e.lastDraggedY=e.y0+e.dy/2}function Vje(e){return function(t){return t.node.originalX===e.node.originalX}}function GWt(e){for(var t=0;t<e.length;t++)e[t].y=(e[t].y0+e[t].y1)/2,e[t].x=(e[t].x0+e[t].x1)/2}function jWt(e){for(var t=0;t<e.length;t++)e[t].y0=e[t].y-e[t].dy/2,e[t].y1=e[t].y0+e[t].dy,e[t].x0=e[t].x-e[t].dx/2,e[t].x1=e[t].x0+e[t].dx}Hje.exports=function(e,t,r,n,i){var a=e._context.staticPlot,o=!1;p1.ensureSingle(e._fullLayout._infolayer,\"g\",\"first-render\",function(){o=!0});var s=e._fullLayout._dragCover,l=r.filter(function(b){return Oje(b).trace.visible}).map(DWt.bind(null,n)),u=t.selectAll(\".\"+pu.cn.sankey).data(l,jk);u.exit().remove(),u.enter().append(\"g\").classed(pu.cn.sankey,!0).style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"shape-rendering\",\"geometricPrecision\").style(\"pointer-events\",a?\"none\":\"auto\").attr(\"transform\",zje),u.each(function(b,p){e._fullData[p]._sankey=b;var E=\"bgsankey-\"+b.trace.uid+\"-\"+p;p1.ensureSingle(e._fullLayout._draggers,\"rect\",E),e._fullData[p]._bgRect=CA.select(\".\"+E),e._fullData[p]._bgRect.style(\"pointer-events\",a?\"none\":\"all\").attr(\"width\",b.width).attr(\"height\",b.height).attr(\"x\",b.translateX).attr(\"y\",b.translateY).classed(\"bgsankey\",!0).style({fill:\"transparent\",\"stroke-width\":0})}),u.transition().ease(pu.ease).duration(pu.duration).attr(\"transform\",zje);var c=u.selectAll(\".\"+pu.cn.sankeyLinks).data(b7,jk);c.enter().append(\"g\").classed(pu.cn.sankeyLinks,!0).style(\"fill\",\"none\");var f=c.selectAll(\".\"+pu.cn.sankeyLink).data(function(b){var p=b.graph.links;return p.filter(function(E){return E.value}).map(zWt.bind(null,b))},jk);f.enter().append(\"path\").classed(pu.cn.sankeyLink,!0).call(Fje,u,i.linkEvents),f.style(\"stroke\",function(b){return RJ(b)?aw.tinyRGB(LA(b.linkLineColor)):b.tinyColorHue}).style(\"stroke-opacity\",function(b){return RJ(b)?aw.opacity(b.linkLineColor):b.tinyColorAlpha}).style(\"fill\",function(b){return b.tinyColorHue}).style(\"fill-opacity\",function(b){return b.tinyColorAlpha}).style(\"stroke-width\",function(b){return RJ(b)?b.linkLineWidth:1}).attr(\"d\",qJ()),f.style(\"opacity\",function(){return e._context.staticPlot||o||s?1:0}).transition().ease(pu.ease).duration(pu.duration).style(\"opacity\",1),f.exit().transition().ease(pu.ease).duration(pu.duration).style(\"opacity\",0).remove();var h=u.selectAll(\".\"+pu.cn.sankeyNodeSet).data(b7,jk);h.enter().append(\"g\").classed(pu.cn.sankeyNodeSet,!0),h.style(\"cursor\",function(b){switch(b.arrangement){case\"fixed\":return\"default\";case\"perpendicular\":return\"ns-resize\";default:return\"move\"}});var d=h.selectAll(\".\"+pu.cn.sankeyNode).data(function(b){var p=b.graph.nodes;return HWt(p),p.map(qWt.bind(null,b))},jk);d.enter().append(\"g\").classed(pu.cn.sankeyNode,!0).call(DJ).style(\"opacity\",function(b){return(e._context.staticPlot||o)&&!b.partOfGroup?1:0}),d.call(Fje,u,i.nodeEvents).call(BWt,f,i,e),d.transition().ease(pu.ease).duration(pu.duration).call(DJ).style(\"opacity\",function(b){return b.partOfGroup?0:1}),d.exit().transition().ease(pu.ease).duration(pu.duration).style(\"opacity\",0).remove();var v=d.selectAll(\".\"+pu.cn.nodeRect).data(b7);v.enter().append(\"rect\").classed(pu.cn.nodeRect,!0).call(Dje),v.style(\"stroke-width\",function(b){return b.nodeLineWidth}).style(\"stroke\",function(b){return aw.tinyRGB(LA(b.nodeLineColor))}).style(\"stroke-opacity\",function(b){return aw.opacity(b.nodeLineColor)}).style(\"fill\",function(b){return b.tinyColorHue}).style(\"fill-opacity\",function(b){return b.tinyColorAlpha}),v.transition().ease(pu.ease).duration(pu.duration).call(Dje);var x=d.selectAll(\".\"+pu.cn.nodeLabel).data(b7);x.enter().append(\"text\").classed(pu.cn.nodeLabel,!0).style(\"cursor\",\"default\"),x.attr(\"data-notex\",1).text(function(b){return b.node.label}).each(function(b){var p=CA.select(this);kWt.font(p,b.textFont),Rje.convertToTspans(p,e)}).attr(\"text-anchor\",function(b){return b.horizontal&&b.left?\"end\":\"start\"}).attr(\"transform\",function(b){var p=CA.select(this),E=Rje.lineCount(p),k=b.textFont.size*((E-1)*IWt-PWt),A=b.nodeLineWidth/2+RWt,L=((b.horizontal?b.visibleHeight:b.visibleWidth)-k)/2;b.horizontal&&(b.left?A=-A:A+=b.visibleWidth);var _=b.horizontal?\"\":\"scale(-1,1)\"+CWt(90);return zJ(b.horizontal?A:L,b.horizontal?L:A)+_}),x.transition().ease(pu.ease).duration(pu.duration)}});var NJ=ye((w_r,Qje)=>{\"use strict\";var Zv=xa(),BJ=Mr(),w7=BJ.numberFormat,WWt=Gje(),PA=Nc(),ZWt=va(),Sx=IJ().cn,Wk=BJ._;function jje(e){return e!==\"\"}function IA(e,t){return e.filter(function(r){return r.key===t.traceId})}function Wje(e,t){Zv.select(e).select(\"path\").style(\"fill-opacity\",t),Zv.select(e).select(\"rect\").style(\"fill-opacity\",t)}function Zje(e){Zv.select(e).select(\"text.name\").style(\"fill\",\"black\")}function Xje(e){return function(t){return e.node.sourceLinks.indexOf(t.link)!==-1||e.node.targetLinks.indexOf(t.link)!==-1}}function Yje(e){return function(t){return t.node.sourceLinks.indexOf(e.link)!==-1||t.node.targetLinks.indexOf(e.link)!==-1}}function Kje(e,t,r){t&&r&&IA(r,t).selectAll(\".\"+Sx.sankeyLink).filter(Xje(t)).call(Jje.bind(0,t,r,!1))}function OJ(e,t,r){t&&r&&IA(r,t).selectAll(\".\"+Sx.sankeyLink).filter(Xje(t)).call($je.bind(0,t,r,!1))}function Jje(e,t,r,n){n.style(\"fill\",function(i){if(!i.link.concentrationscale)return i.tinyColorHoverHue}).style(\"fill-opacity\",function(i){if(!i.link.concentrationscale)return i.tinyColorHoverAlpha}),n.each(function(i){var a=i.link.label;a!==\"\"&&IA(t,e).selectAll(\".\"+Sx.sankeyLink).filter(function(o){return o.link.label===a}).style(\"fill\",function(o){if(!o.link.concentrationscale)return o.tinyColorHoverHue}).style(\"fill-opacity\",function(o){if(!o.link.concentrationscale)return o.tinyColorHoverAlpha})}),r&&IA(t,e).selectAll(\".\"+Sx.sankeyNode).filter(Yje(e)).call(Kje)}function $je(e,t,r,n){n.style(\"fill\",function(i){return i.tinyColorHue}).style(\"fill-opacity\",function(i){return i.tinyColorAlpha}),n.each(function(i){var a=i.link.label;a!==\"\"&&IA(t,e).selectAll(\".\"+Sx.sankeyLink).filter(function(o){return o.link.label===a}).style(\"fill\",function(o){return o.tinyColorHue}).style(\"fill-opacity\",function(o){return o.tinyColorAlpha})}),r&&IA(t,e).selectAll(Sx.sankeyNode).filter(Yje(e)).call(OJ)}function lf(e,t){var r=e.hoverlabel||{},n=BJ.nestedProperty(r,t).get();return Array.isArray(n)?!1:n}Qje.exports=function(t,r){for(var n=t._fullLayout,i=n._paper,a=n._size,o=0;o<t._fullData.length;o++)if(t._fullData[o].visible&&t._fullData[o].type===Sx.sankey&&!t._fullData[o]._viewInitial){var s=t._fullData[o].node;t._fullData[o]._viewInitial={node:{groups:s.groups.slice(),x:s.x.slice(),y:s.y.slice()}}}var l=function(L,_){var C=_.link;C.originalEvent=Zv.event,t._hoverdata=[C],PA.click(t,{target:!0})},u=function(L,_,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call(Jje.bind(0,_,C,!0)),_.link.trace.link.hoverinfo!==\"skip\"&&(_.link.fullData=_.link.trace,t.emit(\"plotly_hover\",{event:Zv.event,points:[_.link]})))},c=Wk(t,\"source:\")+\" \",f=Wk(t,\"target:\")+\" \",h=Wk(t,\"concentration:\")+\" \",d=Wk(t,\"incoming flow count:\")+\" \",v=Wk(t,\"outgoing flow count:\")+\" \",x=function(L,_){if(t._fullLayout.hovermode===!1)return;var C=_.link.trace.link;if(C.hoverinfo===\"none\"||C.hoverinfo===\"skip\")return;var M=[];function g(X){var G,N;X.circular?(G=(X.circularPathData.leftInnerExtent+X.circularPathData.rightInnerExtent)/2,N=X.circularPathData.verticalFullExtent):(G=(X.source.x1+X.target.x0)/2,N=(X.y0+X.y1)/2);var W=[G,N];return X.trace.orientation===\"v\"&&W.reverse(),W[0]+=_.parent.translateX,W[1]+=_.parent.translateY,W}for(var P=0,T=0;T<_.flow.links.length;T++){var F=_.flow.links[T];if(!(t._fullLayout.hovermode===\"closest\"&&_.link.pointNumber!==F.pointNumber)){_.link.pointNumber===F.pointNumber&&(P=T),F.fullData=F.trace,C=_.link.trace.link;var q=g(F),V={valueLabel:w7(_.valueFormat)(F.value)+_.valueSuffix};M.push({x:q[0],y:q[1],name:V.valueLabel,text:[F.label||\"\",c+F.source.label,f+F.target.label,F.concentrationscale?h+w7(\"%0.2f\")(F.flow.labelConcentration):\"\"].filter(jje).join(\"<br>\"),color:lf(C,\"bgcolor\")||ZWt.addOpacity(F.color,1),borderColor:lf(C,\"bordercolor\"),fontFamily:lf(C,\"font.family\"),fontSize:lf(C,\"font.size\"),fontColor:lf(C,\"font.color\"),fontWeight:lf(C,\"font.weight\"),fontStyle:lf(C,\"font.style\"),fontVariant:lf(C,\"font.variant\"),fontTextcase:lf(C,\"font.textcase\"),fontLineposition:lf(C,\"font.lineposition\"),fontShadow:lf(C,\"font.shadow\"),nameLength:lf(C,\"namelength\"),textAlign:lf(C,\"align\"),idealAlign:Zv.event.x<q[0]?\"right\":\"left\",hovertemplate:C.hovertemplate,hovertemplateLabels:V,eventData:[F]})}}var H=PA.loneHover(M,{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t,anchorIndex:P});H.each(function(){var X=this;_.link.concentrationscale||Wje(X,.65),Zje(X)})},b=function(L,_,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call($je.bind(0,_,C,!0)),_.link.trace.link.hoverinfo!==\"skip\"&&(_.link.fullData=_.link.trace,t.emit(\"plotly_unhover\",{event:Zv.event,points:[_.link]})),PA.loneUnhover(n._hoverlayer.node()))},p=function(L,_,C){var M=_.node;M.originalEvent=Zv.event,t._hoverdata=[M],Zv.select(L).call(OJ,_,C),PA.click(t,{target:!0})},E=function(L,_,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call(Kje,_,C),_.node.trace.node.hoverinfo!==\"skip\"&&(_.node.fullData=_.node.trace,t.emit(\"plotly_hover\",{event:Zv.event,points:[_.node]})))},k=function(L,_){if(t._fullLayout.hovermode!==!1){var C=_.node.trace.node;if(!(C.hoverinfo===\"none\"||C.hoverinfo===\"skip\")){var M=Zv.select(L).select(\".\"+Sx.nodeRect),g=t._fullLayout._paperdiv.node().getBoundingClientRect(),P=M.node().getBoundingClientRect(),T=P.left-2-g.left,F=P.right+2-g.left,q=P.top+P.height/4-g.top,V={valueLabel:w7(_.valueFormat)(_.node.value)+_.valueSuffix};_.node.fullData=_.node.trace,t._fullLayout._calcInverseTransform(t);var H=t._fullLayout._invScaleX,X=t._fullLayout._invScaleY,G=PA.loneHover({x0:H*T,x1:H*F,y:X*q,name:w7(_.valueFormat)(_.node.value)+_.valueSuffix,text:[_.node.label,d+_.node.targetLinks.length,v+_.node.sourceLinks.length].filter(jje).join(\"<br>\"),color:lf(C,\"bgcolor\")||_.tinyColorHue,borderColor:lf(C,\"bordercolor\"),fontFamily:lf(C,\"font.family\"),fontSize:lf(C,\"font.size\"),fontColor:lf(C,\"font.color\"),fontWeight:lf(C,\"font.weight\"),fontStyle:lf(C,\"font.style\"),fontVariant:lf(C,\"font.variant\"),fontTextcase:lf(C,\"font.textcase\"),fontLineposition:lf(C,\"font.lineposition\"),fontShadow:lf(C,\"font.shadow\"),nameLength:lf(C,\"namelength\"),textAlign:lf(C,\"align\"),idealAlign:\"left\",hovertemplate:C.hovertemplate,hovertemplateLabels:V,eventData:[_.node]},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t});Wje(G,.85),Zje(G)}}},A=function(L,_,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call(OJ,_,C),_.node.trace.node.hoverinfo!==\"skip\"&&(_.node.fullData=_.node.trace,t.emit(\"plotly_unhover\",{event:Zv.event,points:[_.node]})),PA.loneUnhover(n._hoverlayer.node()))};WWt(t,i,r,{width:a.w,height:a.h,margin:{t:a.t,r:a.r,b:a.b,l:a.l}},{linkEvents:{hover:u,follow:x,unhover:b,select:l},nodeEvents:{hover:E,follow:k,unhover:A,select:p}})}});var eWe=ye(ow=>{\"use strict\";var XWt=Bu().overrideAll,YWt=kd().getModuleCalcData,KWt=NJ(),JWt=N1(),$Wt=Tg(),QWt=gv(),eZt=wf().prepSelect,UJ=Mr(),tZt=ba(),T7=\"sankey\";ow.name=T7;ow.baseLayoutAttrOverrides=XWt({hoverlabel:JWt.hoverlabel},\"plot\",\"nested\");ow.plot=function(e){var t=YWt(e.calcdata,T7)[0];KWt(e,t),ow.updateFx(e)};ow.clean=function(e,t,r,n){var i=n._has&&n._has(T7),a=t._has&&t._has(T7);i&&!a&&(n._paperdiv.selectAll(\".sankey\").remove(),n._paperdiv.selectAll(\".bgsankey\").remove())};ow.updateFx=function(e){for(var t=0;t<e._fullData.length;t++)rZt(e,t)};function rZt(e,t){var r=e._fullData[t],n=e._fullLayout,i=n.dragmode,a=n.dragmode===\"pan\"?\"move\":\"crosshair\",o=r._bgRect;if(o&&!(i===\"pan\"||i===\"zoom\")){$Wt(o,a);var s={_id:\"x\",c2p:UJ.identity,_offset:r._sankey.translateX,_length:r._sankey.width},l={_id:\"y\",c2p:UJ.identity,_offset:r._sankey.translateY,_length:r._sankey.height},u={gd:e,element:o.node(),plotinfo:{id:t,xaxis:s,yaxis:l,fillRangeItems:UJ.noop},subplot:t,xaxes:[s],yaxes:[l],doneFnCompleted:function(c){var f=e._fullData[t],h,d=f.node.groups.slice(),v=[];function x(k){for(var A=f._sankey.graph.nodes,L=0;L<A.length;L++)if(A[L].pointNumber===k)return A[L]}for(var b=0;b<c.length;b++){var p=x(c[b].pointNumber);if(p)if(p.group){for(var E=0;E<p.childrenNodes.length;E++)v.push(p.childrenNodes[E].pointNumber);d[p.pointNumber-f.node._count]=!1}else v.push(p.pointNumber)}h=d.filter(Boolean).concat([v]),tZt.call(\"_guiRestyle\",e,{\"node.groups\":[h]},t)}};u.prepFn=function(c,f,h){eZt(c,f,h,u,i)},QWt.init(u)}}});var rWe=ye((A_r,tWe)=>{\"use strict\";tWe.exports=function(t,r){for(var n=t.cd,i=[],a=n[0].trace,o=a._sankey.graph.nodes,s=0;s<o.length;s++){var l=o[s];if(!l.partOfGroup){var u=[(l.x0+l.x1)/2,(l.y0+l.y1)/2];a.orientation===\"v\"&&u.reverse(),r&&r.contains(u,!1,s,t)&&i.push({pointNumber:l.pointNumber})}}return i}});var nWe=ye((S_r,iWe)=>{\"use strict\";iWe.exports={attributes:CJ(),supplyDefaults:sje(),calc:hje(),plot:NJ(),moduleType:\"trace\",name:\"sankey\",basePlotModule:eWe(),selectPoints:rWe(),categories:[\"noOpacity\"],meta:{}}});var oWe=ye((M_r,aWe)=>{\"use strict\";aWe.exports=nWe()});var lWe=ye(RA=>{\"use strict\";var sWe=Xu();RA.name=\"indicator\";RA.plot=function(e,t,r,n){sWe.plotBasePlot(RA.name,e,t,r,n)};RA.clean=function(e,t,r,n){sWe.cleanBasePlot(RA.name,e,t,r,n)}});var HJ=ye((k_r,vWe)=>{\"use strict\";var Mx=no().extendFlat,cWe=no().extendDeep,iZt=Bu().overrideAll,fWe=Su(),hWe=dh(),nZt=Ju().attributes,Sf=Cd(),aZt=Vs().templatedArray,A7=HT(),uWe=Oc().descriptionOnlyNumbers,VJ=fWe({editType:\"plot\",colorEditType:\"plot\"}),Zk={color:{valType:\"color\",editType:\"plot\"},line:{color:{valType:\"color\",dflt:hWe.defaultLine,editType:\"plot\"},width:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},thickness:{valType:\"number\",min:0,max:1,dflt:1,editType:\"plot\"},editType:\"calc\"},dWe={valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],editType:\"plot\"},oZt=aZt(\"step\",cWe({},Zk,{range:dWe}));vWe.exports={mode:{valType:\"flaglist\",editType:\"calc\",flags:[\"number\",\"delta\",\"gauge\"],dflt:\"number\"},value:{valType:\"number\",editType:\"calc\",anim:!0},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],editType:\"plot\"},domain:nZt({name:\"indicator\",trace:!0,editType:\"calc\"}),title:{text:{valType:\"string\",editType:\"plot\"},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],editType:\"plot\"},font:Mx({},VJ,{}),editType:\"plot\"},number:{valueformat:{valType:\"string\",dflt:\"\",editType:\"plot\",description:uWe(\"value\")},font:Mx({},VJ,{}),prefix:{valType:\"string\",dflt:\"\",editType:\"plot\"},suffix:{valType:\"string\",dflt:\"\",editType:\"plot\"},editType:\"plot\"},delta:{reference:{valType:\"number\",editType:\"calc\"},position:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"],dflt:\"bottom\",editType:\"plot\"},relative:{valType:\"boolean\",editType:\"plot\",dflt:!1},valueformat:{valType:\"string\",editType:\"plot\",description:uWe(\"value\")},increasing:{symbol:{valType:\"string\",dflt:A7.INCREASING.SYMBOL,editType:\"plot\"},color:{valType:\"color\",dflt:A7.INCREASING.COLOR,editType:\"plot\"},editType:\"plot\"},decreasing:{symbol:{valType:\"string\",dflt:A7.DECREASING.SYMBOL,editType:\"plot\"},color:{valType:\"color\",dflt:A7.DECREASING.COLOR,editType:\"plot\"},editType:\"plot\"},font:Mx({},VJ,{}),prefix:{valType:\"string\",dflt:\"\",editType:\"plot\"},suffix:{valType:\"string\",dflt:\"\",editType:\"plot\"},editType:\"calc\"},gauge:{shape:{valType:\"enumerated\",editType:\"plot\",dflt:\"angular\",values:[\"angular\",\"bullet\"]},bar:cWe({},Zk,{color:{dflt:\"green\"}}),bgcolor:{valType:\"color\",editType:\"plot\"},bordercolor:{valType:\"color\",dflt:hWe.defaultLine,editType:\"plot\"},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},axis:iZt({range:dWe,visible:Mx({},Sf.visible,{dflt:!0}),tickmode:Sf.minor.tickmode,nticks:Sf.nticks,tick0:Sf.tick0,dtick:Sf.dtick,tickvals:Sf.tickvals,ticktext:Sf.ticktext,ticks:Mx({},Sf.ticks,{dflt:\"outside\"}),ticklen:Sf.ticklen,tickwidth:Sf.tickwidth,tickcolor:Sf.tickcolor,ticklabelstep:Sf.ticklabelstep,showticklabels:Sf.showticklabels,labelalias:Sf.labelalias,tickfont:fWe({}),tickangle:Sf.tickangle,tickformat:Sf.tickformat,tickformatstops:Sf.tickformatstops,tickprefix:Sf.tickprefix,showtickprefix:Sf.showtickprefix,ticksuffix:Sf.ticksuffix,showticksuffix:Sf.showticksuffix,separatethousands:Sf.separatethousands,exponentformat:Sf.exponentformat,minexponent:Sf.minexponent,showexponent:Sf.showexponent,editType:\"plot\"},\"plot\"),steps:oZt,threshold:{line:{color:Mx({},Zk.line.color,{}),width:Mx({},Zk.line.width,{dflt:1}),editType:\"plot\"},thickness:Mx({},Zk.thickness,{dflt:.85}),value:{valType:\"number\",editType:\"calc\",dflt:!1},editType:\"plot\"},editType:\"plot\"}}});var GJ=ye((C_r,pWe)=>{\"use strict\";pWe.exports={defaultNumberFontSize:80,bulletNumberDomainSize:.25,bulletPadding:.025,innerRadius:.75,valueThickness:.5,titlePadding:5,horizontalPadding:10}});var yWe=ye((L_r,mWe)=>{\"use strict\";var ey=Mr(),M7=HJ(),sZt=Ju().defaults,gWe=Vs(),lZt=Zd(),S7=GJ(),uZt=xb(),cZt=T3(),fZt=t_(),hZt=r_();function dZt(e,t,r,n){function i(_,C){return ey.coerce(e,t,M7,_,C)}sZt(t,n,i),i(\"mode\"),t._hasNumber=t.mode.indexOf(\"number\")!==-1,t._hasDelta=t.mode.indexOf(\"delta\")!==-1,t._hasGauge=t.mode.indexOf(\"gauge\")!==-1;var a=i(\"value\");t._range=[0,typeof a==\"number\"?1.5*a:1];var o=new Array(2),s;if(t._hasNumber){i(\"number.valueformat\");var l=ey.extendFlat({},n.font);l.size=void 0,ey.coerceFont(i,\"number.font\",l),t.number.font.size===void 0&&(t.number.font.size=S7.defaultNumberFontSize,o[0]=!0),i(\"number.prefix\"),i(\"number.suffix\"),s=t.number.font.size}var u;if(t._hasDelta){var c=ey.extendFlat({},n.font);c.size=void 0,ey.coerceFont(i,\"delta.font\",c),t.delta.font.size===void 0&&(t.delta.font.size=(t._hasNumber?.5:1)*(s||S7.defaultNumberFontSize),o[1]=!0),i(\"delta.reference\",t.value),i(\"delta.relative\"),i(\"delta.valueformat\",t.delta.relative?\"2%\":\"\"),i(\"delta.increasing.symbol\"),i(\"delta.increasing.color\"),i(\"delta.decreasing.symbol\"),i(\"delta.decreasing.color\"),i(\"delta.position\"),i(\"delta.prefix\"),i(\"delta.suffix\"),u=t.delta.font.size}t._scaleNumbers=(!t._hasNumber||o[0])&&(!t._hasDelta||o[1])||!1;var f=ey.extendFlat({},n.font);f.size=.25*(s||u||S7.defaultNumberFontSize),ey.coerceFont(i,\"title.font\",f),i(\"title.text\");var h,d,v,x;function b(_,C){return ey.coerce(h,d,M7.gauge,_,C)}function p(_,C){return ey.coerce(v,x,M7.gauge.axis,_,C)}if(t._hasGauge){h=e.gauge,h||(h={}),d=gWe.newContainer(t,\"gauge\"),b(\"shape\");var E=t._isBullet=t.gauge.shape===\"bullet\";E||i(\"title.align\",\"center\");var k=t._isAngular=t.gauge.shape===\"angular\";k||i(\"align\",\"center\"),b(\"bgcolor\",n.paper_bgcolor),b(\"borderwidth\"),b(\"bordercolor\"),b(\"bar.color\"),b(\"bar.line.color\"),b(\"bar.line.width\");var A=S7.valueThickness*(t.gauge.shape===\"bullet\"?.5:1);b(\"bar.thickness\",A),lZt(h,d,{name:\"steps\",handleItemDefaults:vZt}),b(\"threshold.value\"),b(\"threshold.thickness\"),b(\"threshold.line.width\"),b(\"threshold.line.color\"),v={},h&&(v=h.axis||{}),x=gWe.newContainer(d,\"axis\"),p(\"visible\"),t._range=p(\"range\",t._range);var L={font:n.font,noAutotickangles:!0,outerTicks:!0,noTicklabelshift:!0,noTicklabelstandoff:!0};uZt(v,x,p,\"linear\"),hZt(v,x,p,\"linear\",L),fZt(v,x,p,\"linear\",L),cZt(v,x,p,L)}else i(\"title.align\",\"center\"),i(\"align\",\"center\"),t._isAngular=t._isBullet=!1;t._length=null}function vZt(e,t){function r(n,i){return ey.coerce(e,t,M7.gauge.steps,n,i)}r(\"color\"),r(\"line.color\"),r(\"line.width\"),r(\"range\"),r(\"thickness\")}mWe.exports={supplyDefaults:dZt}});var xWe=ye((P_r,_We)=>{\"use strict\";function pZt(e,t){var r=[],n=t.value;typeof t._lastValue!=\"number\"&&(t._lastValue=t.value);var i=t._lastValue,a=i;return t._hasDelta&&typeof t.delta.reference==\"number\"&&(a=t.delta.reference),r[0]={y:n,lastY:i,delta:n-a,relativeDelta:(n-a)/a},r}_We.exports={calc:pZt}});var MWe=ye((I_r,SWe)=>{\"use strict\";var fw=xa(),gZt=(R2(),B1(I2)).interpolate,bWe=(R2(),B1(I2)).interpolateNumber,Ex=Mr(),mZt=Ex.strScale,Yk=Ex.strTranslate,yZt=Ex.rad2deg,_Zt=Nh().MID_SHIFT,cw=ao(),sw=GJ(),k7=Pl(),av=Qa(),xZt=JM(),bZt=iI(),wZt=Cd(),DA=va(),jJ={left:\"start\",center:\"middle\",right:\"end\"},lw={left:0,center:.5,right:1},wWe=/[yzafpnµmkMGTPEZY]/;function Kk(e){return e&&e.duration>0}SWe.exports=function(t,r,n,i){var a=t._fullLayout,o;Kk(n)&&i&&(o=i()),Ex.makeTraceGroups(a._indicatorlayer,r,\"trace\").each(function(s){var l=s[0],u=l.trace,c=fw.select(this),f=u._hasGauge,h=u._isAngular,d=u._isBullet,v=u.domain,x={w:a._size.w*(v.x[1]-v.x[0]),h:a._size.h*(v.y[1]-v.y[0]),l:a._size.l+a._size.w*v.x[0],r:a._size.r+a._size.w*(1-v.x[1]),t:a._size.t+a._size.h*(1-v.y[1]),b:a._size.b+a._size.h*v.y[0]},b=x.l+x.w/2,p=x.t+x.h/2,E=Math.min(x.w/2,x.h),k=sw.innerRadius*E,A,L,_,C=u.align||\"center\";if(L=p,!f)A=x.l+lw[C]*x.w,_=function(G){return TWe(G,x.w,x.h)};else if(h&&(A=b,L=p+E/2,_=function(G){return EZt(G,.9*k)}),d){var M=sw.bulletPadding,g=1-sw.bulletNumberDomainSize+M;A=x.l+(g+(1-g)*lw[C])*x.w,_=function(G){return TWe(G,(sw.bulletNumberDomainSize-M)*x.w,x.h)}}SZt(t,c,s,{numbersX:A,numbersY:L,numbersScaler:_,transitionOpts:n,onComplete:o});var P,T;f&&(P={range:u.gauge.axis.range,color:u.gauge.bgcolor,line:{color:u.gauge.bordercolor,width:0},thickness:1},T={range:u.gauge.axis.range,color:\"rgba(0, 0, 0, 0)\",line:{color:u.gauge.bordercolor,width:u.gauge.borderwidth},thickness:1});var F=c.selectAll(\"g.angular\").data(h?s:[]);F.exit().remove();var q=c.selectAll(\"g.angularaxis\").data(h?s:[]);q.exit().remove(),h&&AZt(t,c,s,{radius:E,innerRadius:k,gauge:F,layer:q,size:x,gaugeBg:P,gaugeOutline:T,transitionOpts:n,onComplete:o});var V=c.selectAll(\"g.bullet\").data(d?s:[]);V.exit().remove();var H=c.selectAll(\"g.bulletaxis\").data(d?s:[]);H.exit().remove(),d&&TZt(t,c,s,{gauge:V,layer:H,size:x,gaugeBg:P,gaugeOutline:T,transitionOpts:n,onComplete:o});var X=c.selectAll(\"text.title\").data(s);X.exit().remove(),X.enter().append(\"text\").classed(\"title\",!0),X.attr(\"text-anchor\",function(){return d?jJ.right:jJ[u.title.align]}).text(u.title.text).call(cw.font,u.title.font).call(k7.convertToTspans,t),X.attr(\"transform\",function(){var G=x.l+x.w*lw[u.title.align],N,W=sw.titlePadding,re=cw.bBox(X.node());if(f){if(h)if(u.gauge.axis.visible){var ae=cw.bBox(q.node());N=ae.top-W-re.bottom}else N=x.t+x.h/2-E/2-re.bottom-W;d&&(N=L-(re.top+re.bottom)/2,G=x.l-sw.bulletPadding*x.w)}else N=u._numbersTop-W-re.bottom;return Yk(G,N)})})};function TZt(e,t,r,n){var i=r[0].trace,a=n.gauge,o=n.layer,s=n.gaugeBg,l=n.gaugeOutline,u=n.size,c=i.domain,f=n.transitionOpts,h=n.onComplete,d,v,x,b,p;a.enter().append(\"g\").classed(\"bullet\",!0),a.attr(\"transform\",Yk(u.l,u.t)),o.enter().append(\"g\").classed(\"bulletaxis\",!0).classed(\"crisp\",!0),o.selectAll(\"g.xbulletaxistick,path,text\").remove();var E=u.h,k=i.gauge.bar.thickness*E,A=c.x[0],L=c.x[0]+(c.x[1]-c.x[0])*(i._hasNumber||i._hasDelta?1-sw.bulletNumberDomainSize:1);d=Xk(e,i.gauge.axis),d._id=\"xbulletaxis\",d.domain=[A,L],d.setScale(),v=av.calcTicks(d),x=av.makeTransTickFn(d),b=av.getTickSigns(d)[2],p=u.t+u.h,d.visible&&(av.drawTicks(e,d,{vals:d.ticks===\"inside\"?av.clipEnds(d,v):v,layer:o,path:av.makeTickPath(d,p,b),transFn:x}),av.drawLabels(e,d,{vals:v,layer:o,transFn:x,labelFns:av.makeLabelFns(d,p)}));function _(q){q.attr(\"width\",function(V){return Math.max(0,d.c2p(V.range[1])-d.c2p(V.range[0]))}).attr(\"x\",function(V){return d.c2p(V.range[0])}).attr(\"y\",function(V){return .5*(1-V.thickness)*E}).attr(\"height\",function(V){return V.thickness*E})}var C=[s].concat(i.gauge.steps),M=a.selectAll(\"g.bg-bullet\").data(C);M.enter().append(\"g\").classed(\"bg-bullet\",!0).append(\"rect\"),M.select(\"rect\").call(_).call(uw),M.exit().remove();var g=a.selectAll(\"g.value-bullet\").data([i.gauge.bar]);g.enter().append(\"g\").classed(\"value-bullet\",!0).append(\"rect\"),g.select(\"rect\").attr(\"height\",k).attr(\"y\",(E-k)/2).call(uw),Kk(f)?g.select(\"rect\").transition().duration(f.duration).ease(f.easing).each(\"end\",function(){h&&h()}).each(\"interrupt\",function(){h&&h()}).attr(\"width\",Math.max(0,d.c2p(Math.min(i.gauge.axis.range[1],r[0].y)))):g.select(\"rect\").attr(\"width\",typeof r[0].y==\"number\"?Math.max(0,d.c2p(Math.min(i.gauge.axis.range[1],r[0].y))):0),g.exit().remove();var P=r.filter(function(){return i.gauge.threshold.value||i.gauge.threshold.value===0}),T=a.selectAll(\"g.threshold-bullet\").data(P);T.enter().append(\"g\").classed(\"threshold-bullet\",!0).append(\"line\"),T.select(\"line\").attr(\"x1\",d.c2p(i.gauge.threshold.value)).attr(\"x2\",d.c2p(i.gauge.threshold.value)).attr(\"y1\",(1-i.gauge.threshold.thickness)/2*E).attr(\"y2\",(1-(1-i.gauge.threshold.thickness)/2)*E).call(DA.stroke,i.gauge.threshold.line.color).style(\"stroke-width\",i.gauge.threshold.line.width),T.exit().remove();var F=a.selectAll(\"g.gauge-outline\").data([l]);F.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"rect\"),F.select(\"rect\").call(_).call(uw),F.exit().remove()}function AZt(e,t,r,n){var i=r[0].trace,a=n.size,o=n.radius,s=n.innerRadius,l=n.gaugeBg,u=n.gaugeOutline,c=[a.l+a.w/2,a.t+a.h/2+o/2],f=n.gauge,h=n.layer,d=n.transitionOpts,v=n.onComplete,x=Math.PI/2;function b(_e){var Me=i.gauge.axis.range[0],ke=i.gauge.axis.range[1],ge=(_e-Me)/(ke-Me)*Math.PI-x;return ge<-x?-x:ge>x?x:ge}function p(_e){return fw.svg.arc().innerRadius((s+o)/2-_e/2*(o-s)).outerRadius((s+o)/2+_e/2*(o-s)).startAngle(-x)}function E(_e){_e.attr(\"d\",function(Me){return p(Me.thickness).startAngle(b(Me.range[0])).endAngle(b(Me.range[1]))()})}var k,A,L,_;f.enter().append(\"g\").classed(\"angular\",!0),f.attr(\"transform\",Yk(c[0],c[1])),h.enter().append(\"g\").classed(\"angularaxis\",!0).classed(\"crisp\",!0),h.selectAll(\"g.xangularaxistick,path,text\").remove(),k=Xk(e,i.gauge.axis),k.type=\"linear\",k.range=i.gauge.axis.range,k._id=\"xangularaxis\",k.ticklabeloverflow=\"allow\",k.setScale();var C=function(_e){return(k.range[0]-_e.x)/(k.range[1]-k.range[0])*Math.PI+Math.PI},M={},g=av.makeLabelFns(k,0),P=g.labelStandoff;M.xFn=function(_e){var Me=C(_e);return Math.cos(Me)*P},M.yFn=function(_e){var Me=C(_e),ke=Math.sin(Me)>0?.2:1;return-Math.sin(Me)*(P+_e.fontSize*ke)+Math.abs(Math.cos(Me))*(_e.fontSize*_Zt)},M.anchorFn=function(_e){var Me=C(_e),ke=Math.cos(Me);return Math.abs(ke)<.1?\"middle\":ke>0?\"start\":\"end\"},M.heightFn=function(_e,Me,ke){var ge=C(_e);return-.5*(1+Math.sin(ge))*ke};var T=function(_e){return Yk(c[0]+o*Math.cos(_e),c[1]-o*Math.sin(_e))};L=function(_e){return T(C(_e))};var F=function(_e){var Me=C(_e);return T(Me)+\"rotate(\"+-yZt(Me)+\")\"};if(A=av.calcTicks(k),_=av.getTickSigns(k)[2],k.visible){_=k.ticks===\"inside\"?-1:1;var q=(k.linewidth||1)/2;av.drawTicks(e,k,{vals:A,layer:h,path:\"M\"+_*q+\",0h\"+_*k.ticklen,transFn:F}),av.drawLabels(e,k,{vals:A,layer:h,transFn:L,labelFns:M})}var V=[l].concat(i.gauge.steps),H=f.selectAll(\"g.bg-arc\").data(V);H.enter().append(\"g\").classed(\"bg-arc\",!0).append(\"path\"),H.select(\"path\").call(E).call(uw),H.exit().remove();var X=p(i.gauge.bar.thickness),G=f.selectAll(\"g.value-arc\").data([i.gauge.bar]);G.enter().append(\"g\").classed(\"value-arc\",!0).append(\"path\");var N=G.select(\"path\");Kk(d)?(N.transition().duration(d.duration).ease(d.easing).each(\"end\",function(){v&&v()}).each(\"interrupt\",function(){v&&v()}).attrTween(\"d\",MZt(X,b(r[0].lastY),b(r[0].y))),i._lastValue=r[0].y):N.attr(\"d\",typeof r[0].y==\"number\"?X.endAngle(b(r[0].y)):\"M0,0Z\"),N.call(uw),G.exit().remove(),V=[];var W=i.gauge.threshold.value;(W||W===0)&&V.push({range:[W,W],color:i.gauge.threshold.color,line:{color:i.gauge.threshold.line.color,width:i.gauge.threshold.line.width},thickness:i.gauge.threshold.thickness});var re=f.selectAll(\"g.threshold-arc\").data(V);re.enter().append(\"g\").classed(\"threshold-arc\",!0).append(\"path\"),re.select(\"path\").call(E).call(uw),re.exit().remove();var ae=f.selectAll(\"g.gauge-outline\").data([u]);ae.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"path\"),ae.select(\"path\").call(E).call(uw),ae.exit().remove()}function SZt(e,t,r,n){var i=r[0].trace,a=n.numbersX,o=n.numbersY,s=i.align||\"center\",l=jJ[s],u=n.transitionOpts,c=n.onComplete,f=Ex.ensureSingle(t,\"g\",\"numbers\"),h,d,v,x=[];i._hasNumber&&x.push(\"number\"),i._hasDelta&&(x.push(\"delta\"),i.delta.position===\"left\"&&x.reverse());var b=f.selectAll(\"text\").data(x);b.enter().append(\"text\"),b.attr(\"text-anchor\",function(){return l}).attr(\"class\",function(T){return T}).attr(\"x\",null).attr(\"y\",null).attr(\"dx\",null).attr(\"dy\",null),b.exit().remove();function p(T,F,q,V){if(T.match(\"s\")&&q>=0!=V>=0&&!F(q).slice(-1).match(wWe)&&!F(V).slice(-1).match(wWe)){var H=T.slice().replace(\"s\",\"f\").replace(/\\d+/,function(G){return parseInt(G)-1}),X=Xk(e,{tickformat:H});return function(G){return Math.abs(G)<1?av.tickText(X,G).text:F(G)}}else return F}function E(){var T=Xk(e,{tickformat:i.number.valueformat},i._range);T.setScale(),av.prepTicks(T);var F=function(G){return av.tickText(T,G).text},q=i.number.suffix,V=i.number.prefix,H=f.select(\"text.number\");function X(){var G=typeof r[0].y==\"number\"?V+F(r[0].y)+q:\"-\";H.text(G).call(cw.font,i.number.font).call(k7.convertToTspans,e)}return Kk(u)?H.transition().duration(u.duration).ease(u.easing).each(\"end\",function(){X(),c&&c()}).each(\"interrupt\",function(){X(),c&&c()}).attrTween(\"text\",function(){var G=fw.select(this),N=bWe(r[0].lastY,r[0].y);i._lastValue=r[0].y;var W=p(i.number.valueformat,F,r[0].lastY,r[0].y);return function(re){G.text(V+W(N(re))+q)}}):X(),h=AWe(V+F(r[0].y)+q,i.number.font,l,e),H}function k(){var T=Xk(e,{tickformat:i.delta.valueformat},i._range);T.setScale(),av.prepTicks(T);var F=function(re){return av.tickText(T,re).text},q=i.delta.suffix,V=i.delta.prefix,H=function(re){var ae=i.delta.relative?re.relativeDelta:re.delta;return ae},X=function(re,ae){return re===0||typeof re!=\"number\"||isNaN(re)?\"-\":(re>0?i.delta.increasing.symbol:i.delta.decreasing.symbol)+V+ae(re)+q},G=function(re){return re.delta>=0?i.delta.increasing.color:i.delta.decreasing.color};i._deltaLastValue===void 0&&(i._deltaLastValue=H(r[0]));var N=f.select(\"text.delta\");N.call(cw.font,i.delta.font).call(DA.fill,G({delta:i._deltaLastValue}));function W(){N.text(X(H(r[0]),F)).call(DA.fill,G(r[0])).call(k7.convertToTspans,e)}return Kk(u)?N.transition().duration(u.duration).ease(u.easing).tween(\"text\",function(){var re=fw.select(this),ae=H(r[0]),_e=i._deltaLastValue,Me=p(i.delta.valueformat,F,_e,ae),ke=bWe(_e,ae);return i._deltaLastValue=ae,function(ge){re.text(X(ke(ge),Me)),re.call(DA.fill,G({delta:ke(ge)}))}}).each(\"end\",function(){W(),c&&c()}).each(\"interrupt\",function(){W(),c&&c()}):W(),d=AWe(X(H(r[0]),F),i.delta.font,l,e),N}var A=i.mode+i.align,L;if(i._hasDelta&&(L=k(),A+=i.delta.position+i.delta.font.size+i.delta.font.family+i.delta.valueformat,A+=i.delta.increasing.symbol+i.delta.decreasing.symbol,v=d),i._hasNumber&&(E(),A+=i.number.font.size+i.number.font.family+i.number.valueformat+i.number.suffix+i.number.prefix,v=h),i._hasDelta&&i._hasNumber){var _=[(h.left+h.right)/2,(h.top+h.bottom)/2],C=[(d.left+d.right)/2,(d.top+d.bottom)/2],M,g,P=.75*i.delta.font.size;i.delta.position===\"left\"&&(M=E7(i,\"deltaPos\",0,-1*(h.width*lw[i.align]+d.width*(1-lw[i.align])+P),A,Math.min),g=_[1]-C[1],v={width:h.width+d.width+P,height:Math.max(h.height,d.height),left:d.left+M,right:h.right,top:Math.min(h.top,d.top+g),bottom:Math.max(h.bottom,d.bottom+g)}),i.delta.position===\"right\"&&(M=E7(i,\"deltaPos\",0,h.width*(1-lw[i.align])+d.width*lw[i.align]+P,A,Math.max),g=_[1]-C[1],v={width:h.width+d.width+P,height:Math.max(h.height,d.height),left:h.left,right:d.right+M,top:Math.min(h.top,d.top+g),bottom:Math.max(h.bottom,d.bottom+g)}),i.delta.position===\"bottom\"&&(M=null,g=d.height,v={width:Math.max(h.width,d.width),height:h.height+d.height,left:Math.min(h.left,d.left),right:Math.max(h.right,d.right),top:h.bottom-h.height,bottom:h.bottom+d.height}),i.delta.position===\"top\"&&(M=null,g=h.top,v={width:Math.max(h.width,d.width),height:h.height+d.height,left:Math.min(h.left,d.left),right:Math.max(h.right,d.right),top:h.bottom-h.height-d.height,bottom:h.bottom}),L.attr({dx:M,dy:g})}(i._hasNumber||i._hasDelta)&&f.attr(\"transform\",function(){var T=n.numbersScaler(v);A+=T[2];var F=E7(i,\"numbersScale\",1,T[0],A,Math.min),q;i._scaleNumbers||(F=1),i._isAngular?q=o-F*v.bottom:q=o-F*(v.top+v.bottom)/2,i._numbersTop=F*v.top+q;var V=v[s];s===\"center\"&&(V=(v.left+v.right)/2);var H=a-F*V;return H=E7(i,\"numbersTranslate\",0,H,A,Math.max),Yk(H,q)+mZt(F)})}function uw(e){e.each(function(t){DA.stroke(fw.select(this),t.line.color)}).each(function(t){DA.fill(fw.select(this),t.color)}).style(\"stroke-width\",function(t){return t.line.width})}function MZt(e,t,r){return function(){var n=gZt(t,r);return function(i){return e.endAngle(n(i))()}}}function Xk(e,t,r){var n=e._fullLayout,i=Ex.extendFlat({type:\"linear\",ticks:\"outside\",range:r,showline:!0},t),a={type:\"linear\",_id:\"x\"+t._id},o={letter:\"x\",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function s(l,u){return Ex.coerce(i,a,wZt,l,u)}return xZt(i,a,s,o,n),bZt(i,a,s,o),a}function TWe(e,t,r){var n=Math.min(t/e.width,r/e.height);return[n,e,t+\"x\"+r]}function EZt(e,t){var r=Math.sqrt(e.width/2*(e.width/2)+e.height*e.height),n=t/r;return[n,e,t]}function AWe(e,t,r,n){var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"text\"),a=fw.select(i);return a.text(e).attr(\"x\",0).attr(\"y\",0).attr(\"text-anchor\",r).attr(\"data-unformatted\",e).call(k7.convertToTspans,n).call(cw.font,t),cw.bBox(a.node())}function E7(e,t,r,n,i,a){var o=\"_cache\"+t;e[o]&&e[o].key===i||(e[o]={key:i,value:r});var s=Ex.aggNums(a,null,[e[o].value,n],2);return e[o].value=s,s}});var kWe=ye((R_r,EWe)=>{\"use strict\";EWe.exports={moduleType:\"trace\",name:\"indicator\",basePlotModule:lWe(),categories:[\"svg\",\"noOpacity\",\"noHover\"],animatable:!0,attributes:HJ(),supplyDefaults:yWe().supplyDefaults,calc:xWe().calc,plot:MWe(),meta:{}}});var LWe=ye((D_r,CWe)=>{\"use strict\";CWe.exports=kWe()});var WJ=ye((F_r,DWe)=>{\"use strict\";var PWe=Nb(),C7=no().extendFlat,kZt=Bu().overrideAll,IWe=Su(),CZt=Ju().attributes,RWe=Oc().descriptionOnlyNumbers,z_r=DWe.exports=kZt({domain:CZt({name:\"table\",trace:!0}),columnwidth:{valType:\"number\",arrayOk:!0,dflt:null},columnorder:{valType:\"data_array\"},header:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[],description:RWe(\"cell value\")},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:28},align:C7({},PWe.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:C7({},IWe({arrayOk:!0}))},cells:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[],description:RWe(\"cell value\")},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:20},align:C7({},PWe.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:C7({},IWe({arrayOk:!0}))}},\"calc\",\"from-root\")});var FWe=ye((q_r,zWe)=>{\"use strict\";var ZJ=Mr(),LZt=WJ(),PZt=Ju().defaults;function IZt(e,t){for(var r=e.columnorder||[],n=e.header.values.length,i=r.slice(0,n),a=i.slice().sort(function(l,u){return l-u}),o=i.map(function(l){return a.indexOf(l)}),s=o.length;s<n;s++)o.push(s);t(\"columnorder\",o)}zWe.exports=function(t,r,n,i){function a(o,s){return ZJ.coerce(t,r,LZt,o,s)}PZt(r,i,a),a(\"columnwidth\"),a(\"header.values\"),a(\"header.format\"),a(\"header.align\"),a(\"header.prefix\"),a(\"header.suffix\"),a(\"header.height\"),a(\"header.line.width\"),a(\"header.line.color\"),a(\"header.fill.color\"),ZJ.coerceFont(a,\"header.font\",i.font),IZt(r,a),a(\"cells.values\"),a(\"cells.format\"),a(\"cells.align\"),a(\"cells.prefix\"),a(\"cells.suffix\"),a(\"cells.height\"),a(\"cells.line.width\"),a(\"cells.line.color\"),a(\"cells.fill.color\"),ZJ.coerceFont(a,\"cells.font\",i.font),r._length=null}});var OWe=ye((O_r,qWe)=>{\"use strict\";var RZt=Km().wrap;qWe.exports=function(){return RZt({})}});var XJ=ye((B_r,BWe)=>{\"use strict\";BWe.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\\$.*\\$$/,goldenRatio:1.618,lineBreaker:\"<br>\",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:\"cubic-out\",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:\"cubic-out\",uplift:5,wrapSpacer:\" \",wrapSplitCharacter:\" \",cn:{table:\"table\",tableControlView:\"table-control-view\",scrollBackground:\"scroll-background\",yColumn:\"y-column\",columnBlock:\"column-block\",scrollAreaClip:\"scroll-area-clip\",scrollAreaClipRect:\"scroll-area-clip-rect\",columnBoundary:\"column-boundary\",columnBoundaryClippath:\"column-boundary-clippath\",columnBoundaryRect:\"column-boundary-rect\",columnCells:\"column-cells\",columnCell:\"column-cell\",cellRect:\"cell-rect\",cellText:\"cell-text\",cellTextHolder:\"cell-text-holder\",scrollbarKit:\"scrollbar-kit\",scrollbar:\"scrollbar\",scrollbarSlider:\"scrollbar-slider\",scrollbarGlyph:\"scrollbar-glyph\",scrollbarCaptureZone:\"scrollbar-capture-zone\"}}});var XWe=ye((N_r,ZWe)=>{\"use strict\";var NWe=XJ(),KJ=no().extendFlat,DZt=uo(),zZt=vv().isTypedArray,L7=vv().isArrayOrTypedArray;ZWe.exports=function(t,r){var n=YJ(r.cells.values),i=function(g){return g.slice(r.header.values.length,g.length)},a=YJ(r.header.values);a.length&&!a[0].length&&(a[0]=[\"\"],a=YJ(a));var o=a.concat(i(n).map(function(){return WWe((a[0]||[\"\"]).length)})),s=r.domain,l=Math.floor(t._fullLayout._size.w*(s.x[1]-s.x[0])),u=Math.floor(t._fullLayout._size.h*(s.y[1]-s.y[0])),c=r.header.values.length?o[0].map(function(){return r.header.height}):[NWe.emptyHeaderHeight],f=n.length?n[0].map(function(){return r.cells.height}):[],h=c.reduce(UWe,0),d=u-h,v=d+NWe.uplift,x=GWe(f,v),b=GWe(c,h),p=HWe(b,[]),E=HWe(x,p),k={},A=r._fullInput.columnorder;L7(A)&&(A=Array.from(A)),A=A.concat(i(n.map(function(g,P){return P})));var L=o.map(function(g,P){var T=L7(r.columnwidth)?r.columnwidth[Math.min(P,r.columnwidth.length-1)]:r.columnwidth;return DZt(T)?Number(T):1}),_=L.reduce(UWe,0);L=L.map(function(g){return g/_*l});var C=Math.max(JJ(r.header.line.width),JJ(r.cells.line.width)),M={key:r.uid+t._context.staticPlot,translateX:s.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-s.y[1]),size:t._fullLayout._size,width:l,maxLineWidth:C,height:u,columnOrder:A,groupHeight:u,rowBlocks:E,headerRowBlocks:p,scrollY:0,cells:KJ({},r.cells,{values:n}),headerCells:KJ({},r.header,{values:o}),gdColumns:o.map(function(g){return g[0]}),gdColumnsOriginalOrder:o.map(function(g){return g[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:o.map(function(g,P){var T=k[g];k[g]=(T||0)+1;var F=g+\"__\"+k[g];return{key:F,label:g,specIndex:P,xIndex:A[P],xScale:VWe,x:void 0,calcdata:void 0,columnWidth:L[P]}})};return M.columns.forEach(function(g){g.calcdata=M,g.x=VWe(g)}),M};function JJ(e){if(L7(e)){for(var t=0,r=0;r<e.length;r++)t=Math.max(t,JJ(e[r]));return t}return e}function UWe(e,t){return e+t}function YJ(e){var t=e.slice(),r=1/0,n=0,i;for(i=0;i<t.length;i++)zZt(t[i])?t[i]=Array.from(t[i]):L7(t[i])||(t[i]=[t[i]]),r=Math.min(r,t[i].length),n=Math.max(n,t[i].length);if(r!==n)for(i=0;i<t.length;i++){var a=n-t[i].length;a&&(t[i]=t[i].concat(WWe(a)))}return t}function WWe(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=\"\";return t}function VWe(e){return e.calcdata.columns.reduce(function(t,r){return r.xIndex<e.xIndex?t+r.columnWidth:t},0)}function HWe(e,t){var r=Object.keys(e);return r.map(function(n){return KJ({},e[n],{auxiliaryBlocks:t})})}function GWe(e,t){for(var r={},n,i=0,a=0,o=jWe(),s=0,l=0,u=0;u<e.length;u++)n=e[u],o.rows.push({rowIndex:u,rowHeight:n}),a+=n,(a>=t||u===e.length-1)&&(r[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o=jWe(),i+=a,s=u+1,a=0);return r}function jWe(){return{firstRowIndex:null,lastRowIndex:null,rows:[]}}});var YWe=ye($J=>{\"use strict\";var P7=no().extendFlat;$J.splitToPanels=function(e){var t=[0,0],r=P7({},e,{key:\"header\",type:\"header\",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!0,values:e.calcdata.headerCells.values[e.specIndex],rowBlocks:e.calcdata.headerRowBlocks,calcdata:P7({},e.calcdata,{cells:e.calcdata.headerCells})}),n=P7({},e,{key:\"cells1\",type:\"cells\",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks}),i=P7({},e,{key:\"cells2\",type:\"cells\",page:1,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks});return[n,i,r]};$J.splitToCells=function(e){var t=FZt(e);return(e.values||[]).slice(t[0],t[1]).map(function(r,n){var i=typeof r==\"string\"&&r.match(/[<$&> ]/)?\"_keybuster_\"+Math.random():\"\";return{keyWithinBlock:n+i,key:t[0]+n,column:e,calcdata:e.calcdata,page:e.page,rowBlocks:e.rowBlocks,value:r}})};function FZt(e){var t=e.rowBlocks[e.page],r=t?t.rows[0].rowIndex:0,n=t?r+t.rows.length:0;return[r,n]}});var l$=ye((V_r,oZe)=>{\"use strict\";var Ia=XJ(),Mc=xa(),QJ=Mr(),qZt=QJ.numberFormat,gu=Km(),e$=ao(),OZt=Pl(),BZt=Mr().raiseToTop,og=Mr().strTranslate,NZt=Mr().cancelTransition,UZt=XWe(),rZe=YWe(),KWe=va();oZe.exports=function(t,r){var n=!t._context.staticPlot,i=t._fullLayout._paper.selectAll(\".\"+Ia.cn.table).data(r.map(function(E){var k=gu.unwrap(E),A=k.trace;return UZt(t,A)}),gu.keyFun);i.exit().remove(),i.enter().append(\"g\").classed(Ia.cn.table,!0).attr(\"overflow\",\"visible\").style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"overflow\",\"visible\").style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"all\"),i.attr(\"width\",function(E){return E.width+E.size.l+E.size.r}).attr(\"height\",function(E){return E.height+E.size.t+E.size.b}).attr(\"transform\",function(E){return og(E.translateX,E.translateY)});var a=i.selectAll(\".\"+Ia.cn.tableControlView).data(gu.repeat,gu.keyFun),o=a.enter().append(\"g\").classed(Ia.cn.tableControlView,!0).style(\"box-sizing\",\"content-box\");if(n){var s=\"onwheel\"in document?\"wheel\":\"mousewheel\";o.on(\"mousemove\",function(E){a.filter(function(k){return E===k}).call(Jk,t)}).on(s,function(E){if(!E.scrollbarState.wheeling){E.scrollbarState.wheeling=!0;var k=E.scrollY+Mc.event.deltaY,A=R7(t,a,null,k)(E);A||(Mc.event.stopPropagation(),Mc.event.preventDefault()),E.scrollbarState.wheeling=!1}}).call(Jk,t,!0)}a.attr(\"transform\",function(E){return og(E.size.l,E.size.t)});var l=a.selectAll(\".\"+Ia.cn.scrollBackground).data(gu.repeat,gu.keyFun);l.enter().append(\"rect\").classed(Ia.cn.scrollBackground,!0).attr(\"fill\",\"none\"),l.attr(\"width\",function(E){return E.width}).attr(\"height\",function(E){return E.height}),a.each(function(E){e$.setClipUrl(Mc.select(this),JWe(t,E),t)});var u=a.selectAll(\".\"+Ia.cn.yColumn).data(function(E){return E.columns},gu.keyFun);u.enter().append(\"g\").classed(Ia.cn.yColumn,!0),u.exit().remove(),u.attr(\"transform\",function(E){return og(E.x,0)}),n&&u.call(Mc.behavior.drag().origin(function(E){var k=Mc.select(this);return eZe(k,E,-Ia.uplift),BZt(this),E.calcdata.columnDragInProgress=!0,Jk(a.filter(function(A){return E.calcdata.key===A.key}),t),E}).on(\"drag\",function(E){var k=Mc.select(this),A=function(C){return(E===C?Mc.event.x:C.x)+C.columnWidth/2};E.x=Math.max(-Ia.overdrag,Math.min(E.calcdata.width+Ia.overdrag-E.columnWidth,Mc.event.x));var L=iZe(u).filter(function(C){return C.calcdata.key===E.calcdata.key}),_=L.sort(function(C,M){return A(C)-A(M)});_.forEach(function(C,M){C.xIndex=M,C.x=E===C?C.x:C.xScale(C)}),u.filter(function(C){return E!==C}).transition().ease(Ia.transitionEase).duration(Ia.transitionDuration).attr(\"transform\",function(C){return og(C.x,0)}),k.call(NZt).attr(\"transform\",og(E.x,-Ia.uplift))}).on(\"dragend\",function(E){var k=Mc.select(this),A=E.calcdata;E.x=E.xScale(E),E.calcdata.columnDragInProgress=!1,eZe(k,E,0),JZt(t,A,A.columns.map(function(L){return L.xIndex}))})),u.each(function(E){e$.setClipUrl(Mc.select(this),$We(t,E),t)});var c=u.selectAll(\".\"+Ia.cn.columnBlock).data(rZe.splitToPanels,gu.keyFun);c.enter().append(\"g\").classed(Ia.cn.columnBlock,!0).attr(\"id\",function(E){return E.key}),c.style(\"cursor\",function(E){return E.dragHandle?\"ew-resize\":E.calcdata.scrollbarState.barWiggleRoom?\"ns-resize\":\"default\"});var f=c.filter($Zt),h=c.filter(a$);n&&h.call(Mc.behavior.drag().origin(function(E){return Mc.event.stopPropagation(),E}).on(\"drag\",R7(t,a,-1)).on(\"dragend\",function(){})),t$(t,a,f,c),t$(t,a,h,c);var d=a.selectAll(\".\"+Ia.cn.scrollAreaClip).data(gu.repeat,gu.keyFun);d.enter().append(\"clipPath\").classed(Ia.cn.scrollAreaClip,!0).attr(\"id\",function(E){return JWe(t,E)});var v=d.selectAll(\".\"+Ia.cn.scrollAreaClipRect).data(gu.repeat,gu.keyFun);v.enter().append(\"rect\").classed(Ia.cn.scrollAreaClipRect,!0).attr(\"x\",-Ia.overdrag).attr(\"y\",-Ia.uplift).attr(\"fill\",\"none\"),v.attr(\"width\",function(E){return E.width+2*Ia.overdrag}).attr(\"height\",function(E){return E.height+Ia.uplift});var x=u.selectAll(\".\"+Ia.cn.columnBoundary).data(gu.repeat,gu.keyFun);x.enter().append(\"g\").classed(Ia.cn.columnBoundary,!0);var b=u.selectAll(\".\"+Ia.cn.columnBoundaryClippath).data(gu.repeat,gu.keyFun);b.enter().append(\"clipPath\").classed(Ia.cn.columnBoundaryClippath,!0),b.attr(\"id\",function(E){return $We(t,E)});var p=b.selectAll(\".\"+Ia.cn.columnBoundaryRect).data(gu.repeat,gu.keyFun);p.enter().append(\"rect\").classed(Ia.cn.columnBoundaryRect,!0).attr(\"fill\",\"none\"),p.attr(\"width\",function(E){return E.columnWidth+2*I7(E)}).attr(\"height\",function(E){return E.calcdata.height+2*I7(E)+Ia.uplift}).attr(\"x\",function(E){return-I7(E)}).attr(\"y\",function(E){return-I7(E)}),o$(null,h,a)};function I7(e){return Math.ceil(e.calcdata.maxLineWidth/2)}function JWe(e,t){return\"clip\"+e._fullLayout._uid+\"_scrollAreaBottomClip_\"+t.key}function $We(e,t){return\"clip\"+e._fullLayout._uid+\"_columnBoundaryClippath_\"+t.calcdata.key+\"_\"+t.specIndex}function iZe(e){return[].concat.apply([],e.map(function(t){return t})).map(function(t){return t.__data__})}function Jk(e,t,r){function n(u){var c=u.rowBlocks;return i$(c,c.length-1)+(c.length?D7(c[c.length-1],1/0):1)}var i=e.selectAll(\".\"+Ia.cn.scrollbarKit).data(gu.repeat,gu.keyFun);i.enter().append(\"g\").classed(Ia.cn.scrollbarKit,!0).style(\"shape-rendering\",\"geometricPrecision\"),i.each(function(u){var c=u.scrollbarState;c.totalHeight=n(u),c.scrollableAreaHeight=u.groupHeight-r$(u),c.currentlyVisibleHeight=Math.min(c.totalHeight,c.scrollableAreaHeight),c.ratio=c.currentlyVisibleHeight/c.totalHeight,c.barLength=Math.max(c.ratio*c.currentlyVisibleHeight,Ia.goldenRatio*Ia.scrollbarWidth),c.barWiggleRoom=c.currentlyVisibleHeight-c.barLength,c.wiggleRoom=Math.max(0,c.totalHeight-c.scrollableAreaHeight),c.topY=c.barWiggleRoom===0?0:u.scrollY/c.wiggleRoom*c.barWiggleRoom,c.bottomY=c.topY+c.barLength,c.dragMultiplier=c.wiggleRoom/c.barWiggleRoom}).attr(\"transform\",function(u){var c=u.width+Ia.scrollbarWidth/2+Ia.scrollbarOffset;return og(c,r$(u))});var a=i.selectAll(\".\"+Ia.cn.scrollbar).data(gu.repeat,gu.keyFun);a.enter().append(\"g\").classed(Ia.cn.scrollbar,!0);var o=a.selectAll(\".\"+Ia.cn.scrollbarSlider).data(gu.repeat,gu.keyFun);o.enter().append(\"g\").classed(Ia.cn.scrollbarSlider,!0),o.attr(\"transform\",function(u){return og(0,u.scrollbarState.topY||0)});var s=o.selectAll(\".\"+Ia.cn.scrollbarGlyph).data(gu.repeat,gu.keyFun);s.enter().append(\"line\").classed(Ia.cn.scrollbarGlyph,!0).attr(\"stroke\",\"black\").attr(\"stroke-width\",Ia.scrollbarWidth).attr(\"stroke-linecap\",\"round\").attr(\"y1\",Ia.scrollbarWidth/2),s.attr(\"y2\",function(u){return u.scrollbarState.barLength-Ia.scrollbarWidth/2}).attr(\"stroke-opacity\",function(u){return u.columnDragInProgress||!u.scrollbarState.barWiggleRoom||r?0:.4}),s.transition().delay(0).duration(0),s.transition().delay(Ia.scrollbarHideDelay).duration(Ia.scrollbarHideDuration).attr(\"stroke-opacity\",0);var l=a.selectAll(\".\"+Ia.cn.scrollbarCaptureZone).data(gu.repeat,gu.keyFun);l.enter().append(\"line\").classed(Ia.cn.scrollbarCaptureZone,!0).attr(\"stroke\",\"white\").attr(\"stroke-opacity\",.01).attr(\"stroke-width\",Ia.scrollbarCaptureWidth).attr(\"stroke-linecap\",\"butt\").attr(\"y1\",0).on(\"mousedown\",function(u){var c=Mc.event.y,f=this.getBoundingClientRect(),h=u.scrollbarState,d=c-f.top,v=Mc.scale.linear().domain([0,h.scrollableAreaHeight]).range([0,h.totalHeight]).clamp(!0);h.topY<=d&&d<=h.bottomY||R7(t,e,null,v(d-h.barLength/2))(u)}).call(Mc.behavior.drag().origin(function(u){return Mc.event.stopPropagation(),u.scrollbarState.scrollbarScrollInProgress=!0,u}).on(\"drag\",R7(t,e)).on(\"dragend\",function(){})),l.attr(\"y2\",function(u){return u.scrollbarState.scrollableAreaHeight}),t._context.staticPlot&&(s.remove(),l.remove())}function t$(e,t,r,n){var i=VZt(r),a=HZt(i);ZZt(a);var o=GZt(a);YZt(o);var s=WZt(a),l=jZt(s);XZt(l),nZe(l,t,n,e),s$(a)}function VZt(e){var t=e.selectAll(\".\"+Ia.cn.columnCells).data(gu.repeat,gu.keyFun);return t.enter().append(\"g\").classed(Ia.cn.columnCells,!0),t.exit().remove(),t}function HZt(e){var t=e.selectAll(\".\"+Ia.cn.columnCell).data(rZe.splitToCells,function(r){return r.keyWithinBlock});return t.enter().append(\"g\").classed(Ia.cn.columnCell,!0),t.exit().remove(),t}function GZt(e){var t=e.selectAll(\".\"+Ia.cn.cellRect).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append(\"rect\").classed(Ia.cn.cellRect,!0),t}function jZt(e){var t=e.selectAll(\".\"+Ia.cn.cellText).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append(\"text\").classed(Ia.cn.cellText,!0).style(\"cursor\",function(){return\"auto\"}).on(\"mousedown\",function(){Mc.event.stopPropagation()}),t}function WZt(e){var t=e.selectAll(\".\"+Ia.cn.cellTextHolder).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append(\"g\").classed(Ia.cn.cellTextHolder,!0).style(\"shape-rendering\",\"geometricPrecision\"),t}function ZZt(e){e.each(function(t,r){var n=t.calcdata.cells.font,i=t.column.specIndex,a={size:Xv(n.size,i,r),color:Xv(n.color,i,r),family:Xv(n.family,i,r),weight:Xv(n.weight,i,r),style:Xv(n.style,i,r),variant:Xv(n.variant,i,r),textcase:Xv(n.textcase,i,r),lineposition:Xv(n.lineposition,i,r),shadow:Xv(n.shadow,i,r)};t.rowNumber=t.key,t.align=Xv(t.calcdata.cells.align,i,r),t.cellBorderWidth=Xv(t.calcdata.cells.line.width,i,r),t.font=a})}function XZt(e){e.each(function(t){e$.font(Mc.select(this),t.font)})}function YZt(e){e.attr(\"width\",function(t){return t.column.columnWidth}).attr(\"stroke-width\",function(t){return t.cellBorderWidth}).each(function(t){var r=Mc.select(this);KWe.stroke(r,Xv(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),KWe.fill(r,Xv(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}function nZe(e,t,r,n){e.text(function(i){var a=i.column.specIndex,o=i.rowNumber,s=i.value,l=typeof s==\"string\",u=l&&s.match(/<br>/i),c=!l||u;i.mayHaveMarkup=l&&s.match(/[<&>]/);var f=KZt(s);i.latex=f;var h=f?\"\":Xv(i.calcdata.cells.prefix,a,o)||\"\",d=f?\"\":Xv(i.calcdata.cells.suffix,a,o)||\"\",v=f?null:Xv(i.calcdata.cells.format,a,o)||null,x=h+(v?qZt(v)(i.value):i.value)+d,b;i.wrappingNeeded=!i.wrapped&&!c&&!f&&(b=QWe(x)),i.cellHeightMayIncrease=u||f||i.mayHaveMarkup||(b===void 0?QWe(x):b),i.needsConvertToTspans=i.mayHaveMarkup||i.wrappingNeeded||i.latex;var p;if(i.wrappingNeeded){var E=Ia.wrapSplitCharacter===\" \"?x.replace(/<a href=/ig,\"<a_href=\"):x,k=E.split(Ia.wrapSplitCharacter),A=Ia.wrapSplitCharacter===\" \"?k.map(function(L){return L.replace(/<a_href=/ig,\"<a href=\")}):k;i.fragments=A.map(function(L){return{text:L,width:null}}),i.fragments.push({fragment:Ia.wrapSpacer,width:null}),p=A.join(Ia.lineBreaker)+Ia.lineBreaker+Ia.wrapSpacer}else delete i.fragments,p=x;return p}).attr(\"dy\",function(i){return i.needsConvertToTspans?0:\"0.75em\"}).each(function(i){var a=this,o=Mc.select(a),s=i.wrappingNeeded?eXt:tXt;i.needsConvertToTspans?OZt.convertToTspans(o,n,s(r,a,t,n,i)):Mc.select(a.parentNode).attr(\"transform\",function(l){return og(aZe(l),Ia.cellPad)}).attr(\"text-anchor\",function(l){return{left:\"start\",center:\"middle\",right:\"end\"}[l.align]})})}function KZt(e){return typeof e==\"string\"&&e.match(Ia.latexCheck)}function QWe(e){return e.indexOf(Ia.wrapSplitCharacter)!==-1}function JZt(e,t,r){var n=t.gdColumnsOriginalOrder;t.gdColumns.sort(function(i,a){return r[n.indexOf(i)]-r[n.indexOf(a)]}),t.columnorder=r,e.emit(\"plotly_restyle\")}function Xv(e,t,r){if(QJ.isArrayOrTypedArray(e)){var n=e[Math.min(t,e.length-1)];return QJ.isArrayOrTypedArray(n)?n[Math.min(r,n.length-1)]:n}else return e}function eZe(e,t,r){e.transition().ease(Ia.releaseTransitionEase).duration(Ia.releaseTransitionDuration).attr(\"transform\",og(t.x,r))}function a$(e){return e.type===\"cells\"}function $Zt(e){return e.type===\"header\"}function r$(e){var t=e.rowBlocks.length?e.rowBlocks[0].auxiliaryBlocks:[];return t.reduce(function(r,n){return r+D7(n,1/0)},0)}function QZt(e,t,r){for(var n=[],i=0,a=0;a<e.length;a++){for(var o=e[a],s=o.rows,l=0,u=0;u<s.length;u++)l+=s[u].rowHeight;o.allRowsHeight=l;var c=i+l,f=t,h=f+r;f<c&&h>i&&n.push(a),i+=l}return n}function o$(e,t,r){var n=iZe(t)[0];if(n!==void 0){var i=n.rowBlocks,a=n.calcdata,o=i$(i,i.length),s=n.calcdata.groupHeight-r$(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),u=QZt(i,l,s);u.length===1&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),t.each(function(c,f){c.page=u[f],c.scrollY=l}),t.attr(\"transform\",function(c){var f=i$(c.rowBlocks,c.page)-c.scrollY;return og(0,f)}),e&&(tZe(e,r,t,u,n.prevPages,n,0),tZe(e,r,t,u,n.prevPages,n,1),Jk(r,e))}}function R7(e,t,r,n){return function(a){var o=a.calcdata?a.calcdata:a,s=t.filter(function(f){return o.key===f.key}),l=r||o.scrollbarState.dragMultiplier,u=o.scrollY;o.scrollY=n===void 0?o.scrollY+l*Mc.event.dy:n;var c=s.selectAll(\".\"+Ia.cn.yColumn).selectAll(\".\"+Ia.cn.columnBlock).filter(a$);return o$(e,c,s),o.scrollY===u}}function tZe(e,t,r,n,i,a,o){var s=n[o]!==i[o];s&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var l=r.filter(function(u,c){return c===o&&n[c]!==i[c]});t$(e,t,l,r),i[o]=n[o]}))}function eXt(e,t,r,n){return function(){var a=Mc.select(t.parentNode);a.each(function(o){var s=o.fragments;a.selectAll(\"tspan.line\").each(function(x,b){s[b].width=this.getComputedTextLength()});var l=s[s.length-1].width,u=s.slice(0,-1),c=[],f,h,d=0,v=o.column.columnWidth-2*Ia.cellPad;for(o.value=\"\";u.length;)f=u.shift(),h=f.width+l,d+h>v&&(o.value+=c.join(Ia.wrapSpacer)+Ia.lineBreaker,c=[],d=0),c.push(f.text),d+=h;d&&(o.value+=c.join(Ia.wrapSpacer)),o.wrapped=!0}),a.selectAll(\"tspan.line\").remove(),nZe(a.select(\".\"+Ia.cn.cellText),r,e,n),Mc.select(t.parentNode.parentNode).call(s$)}}function tXt(e,t,r,n,i){return function(){if(!i.settledY){var o=Mc.select(t.parentNode),s=n$(i),l=i.key-s.firstRowIndex,u=s.rows[l].rowHeight,c=i.cellHeightMayIncrease?t.parentNode.getBoundingClientRect().height+2*Ia.cellPad:u,f=Math.max(c,u),h=f-s.rows[l].rowHeight;h&&(s.rows[l].rowHeight=f,e.selectAll(\".\"+Ia.cn.columnCell).call(s$),o$(null,e.filter(a$),0),Jk(r,n,!0)),o.attr(\"transform\",function(){var d=this,v=d.parentNode,x=v.getBoundingClientRect(),b=Mc.select(d.parentNode).select(\".\"+Ia.cn.cellRect).node().getBoundingClientRect(),p=d.transform.baseVal.consolidate(),E=b.top-x.top+(p?p.matrix.f:Ia.cellPad);return og(aZe(i,Mc.select(d.parentNode).select(\".\"+Ia.cn.cellTextHolder).node().getBoundingClientRect().width),E)}),i.settledY=!0}}}function aZe(e,t){switch(e.align){case\"left\":return Ia.cellPad;case\"right\":return e.column.columnWidth-(t||0)-Ia.cellPad;case\"center\":return(e.column.columnWidth-(t||0))/2;default:return Ia.cellPad}}function s$(e){e.attr(\"transform\",function(t){var r=t.rowBlocks[0].auxiliaryBlocks.reduce(function(o,s){return o+D7(s,1/0)},0),n=n$(t),i=D7(n,t.key),a=i+r;return og(0,a)}).selectAll(\".\"+Ia.cn.cellRect).attr(\"height\",function(t){return iXt(n$(t),t.key).rowHeight})}function i$(e,t){for(var r=0,n=t-1;n>=0;n--)r+=rXt(e[n]);return r}function D7(e,t){for(var r=0,n=0;n<e.rows.length&&e.rows[n].rowIndex<t;n++)r+=e.rows[n].rowHeight;return r}function rXt(e){var t=e.allRowsHeight;if(t!==void 0)return t;for(var r=0,n=0;n<e.rows.length;n++)r+=e.rows[n].rowHeight;return e.allRowsHeight=r,r}function n$(e){return e.rowBlocks[e.page]}function iXt(e,t){return e.rows[t-e.firstRowIndex]}});var sZe=ye(F7=>{\"use strict\";var nXt=kd().getModuleCalcData,aXt=l$(),z7=\"table\";F7.name=z7;F7.plot=function(e){var t=nXt(e.calcdata,z7)[0];t.length&&aXt(e,t)};F7.clean=function(e,t,r,n){var i=n._has&&n._has(z7),a=t._has&&t._has(z7);i&&!a&&n._paperdiv.selectAll(\".table\").remove()}});var uZe=ye((G_r,lZe)=>{\"use strict\";lZe.exports={attributes:WJ(),supplyDefaults:FWe(),calc:OWe(),plot:l$(),moduleType:\"trace\",name:\"table\",basePlotModule:sZe(),categories:[\"noOpacity\"],meta:{}}});var fZe=ye((j_r,cZe)=>{\"use strict\";cZe.exports=uZe()});var gZe=ye((W_r,pZe)=>{\"use strict\";var hZe=Su(),dZe=dh(),u$=Cd(),oXt=Oc().descriptionWithDates,sXt=Bu().overrideAll,vZe=Ed().dash,c$=no().extendFlat;pZe.exports={color:{valType:\"color\",editType:\"calc\"},smoothing:{valType:\"number\",dflt:1,min:0,max:1.3,editType:\"calc\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"calc\"},font:hZe({editType:\"calc\"}),offset:{valType:\"number\",dflt:10,editType:\"calc\"},editType:\"calc\"},type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"date\",\"category\"],dflt:\"-\",editType:\"calc\"},autotypenumbers:u$.autotypenumbers,autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],dflt:!0,editType:\"calc\"},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"calc\"},range:{valType:\"info_array\",editType:\"calc\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}]},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cheatertype:{valType:\"enumerated\",values:[\"index\",\"value\"],dflt:\"value\",editType:\"calc\"},tickmode:{valType:\"enumerated\",values:[\"linear\",\"array\"],dflt:\"array\",editType:\"calc\"},nticks:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},tickvals:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},showticklabels:{valType:\"enumerated\",values:[\"start\",\"end\",\"both\",\"none\"],dflt:\"start\",editType:\"calc\"},labelalias:c$({},u$.labelalias,{editType:\"calc\"}),tickfont:hZe({editType:\"calc\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"calc\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"calc\"},minexponent:{valType:\"number\",dflt:3,min:0,editType:\"calc\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"calc\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"calc\",description:oXt(\"tick label\")},tickformatstops:sXt(u$.tickformatstops,\"calc\",\"from-root\"),categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},labelpadding:{valType:\"integer\",dflt:10,editType:\"calc\"},labelprefix:{valType:\"string\",editType:\"calc\"},labelsuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showline:{valType:\"boolean\",dflt:!1,editType:\"calc\"},linecolor:{valType:\"color\",dflt:dZe.defaultLine,editType:\"calc\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},gridcolor:{valType:\"color\",editType:\"calc\"},gridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},griddash:c$({},vZe,{editType:\"calc\"}),showgrid:{valType:\"boolean\",dflt:!0,editType:\"calc\"},minorgridcount:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},minorgridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},minorgriddash:c$({},vZe,{editType:\"calc\"}),minorgridcolor:{valType:\"color\",dflt:dZe.lightLine,editType:\"calc\"},startline:{valType:\"boolean\",editType:\"calc\"},startlinecolor:{valType:\"color\",editType:\"calc\"},startlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endline:{valType:\"boolean\",editType:\"calc\"},endlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endlinecolor:{valType:\"color\",editType:\"calc\"},tick0:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},dtick:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},arraytick0:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},arraydtick:{valType:\"integer\",min:1,dflt:1,editType:\"calc\"},editType:\"calc\"}});var O7=ye((Z_r,_Ze)=>{\"use strict\";var lXt=Su(),mZe=gZe(),yZe=dh(),q7=lXt({editType:\"calc\"}),uXt=Uc().zorder;q7.family.dflt='\"Open Sans\", verdana, arial, sans-serif';q7.size.dflt=12;q7.color.dflt=yZe.defaultLine;_Ze.exports={carpet:{valType:\"string\",editType:\"calc\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},a:{valType:\"data_array\",editType:\"calc\"},a0:{valType:\"number\",dflt:0,editType:\"calc\"},da:{valType:\"number\",dflt:1,editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},b0:{valType:\"number\",dflt:0,editType:\"calc\"},db:{valType:\"number\",dflt:1,editType:\"calc\"},cheaterslope:{valType:\"number\",dflt:1,editType:\"calc\"},aaxis:mZe,baxis:mZe,font:q7,color:{valType:\"color\",dflt:yZe.defaultLine,editType:\"plot\"},zorder:uXt}});var wZe=ye((X_r,bZe)=>{\"use strict\";var xZe=Mr().isArray1D;bZe.exports=function(t,r,n){var i=n(\"x\"),a=i&&i.length,o=n(\"y\"),s=o&&o.length;if(!a&&!s)return!1;if(r._cheater=!i,(!a||xZe(i))&&(!s||xZe(o))){var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),r.a&&r.a.length&&(l=Math.min(l,r.a.length)),r.b&&r.b.length&&(l=Math.min(l,r.b.length)),r._length=l}else r._length=null;return!0}});var SZe=ye((Y_r,AZe)=>{\"use strict\";var cXt=O7(),TZe=va().addOpacity,fXt=ba(),$k=Mr(),hXt=xb(),dXt=t_(),vXt=r_(),pXt=eI(),gXt=ym(),mXt=L3();AZe.exports=function(t,r,n){var i=n.letter,a=n.font||{},o=cXt[i+\"axis\"];function s(g,P){return $k.coerce(t,r,o,g,P)}function l(g,P){return $k.coerce2(t,r,o,g,P)}n.name&&(r._name=n.name,r._id=n.name),s(\"autotypenumbers\",n.autotypenumbersDflt);var u=s(\"type\");if(u===\"-\"&&(n.data&&yXt(r,n.data),r.type===\"-\"?r.type=\"linear\":u=t.type=r.type),s(\"smoothing\"),s(\"cheatertype\"),s(\"showticklabels\"),s(\"labelprefix\",i+\" = \"),s(\"labelsuffix\"),s(\"showtickprefix\"),s(\"showticksuffix\"),s(\"separatethousands\"),s(\"tickformat\"),s(\"exponentformat\"),s(\"minexponent\"),s(\"showexponent\"),s(\"categoryorder\"),s(\"tickmode\"),s(\"tickvals\"),s(\"ticktext\"),s(\"tick0\"),s(\"dtick\"),r.tickmode===\"array\"&&(s(\"arraytick0\"),s(\"arraydtick\")),s(\"labelpadding\"),r._hovertitle=i,u===\"date\"){var c=fXt.getComponentMethod(\"calendars\",\"handleDefaults\");c(t,r,\"calendar\",n.calendar)}gXt(r,n.fullLayout),r.c2p=$k.identity;var f=s(\"color\",n.dfltColor),h=f===t.color?f:a.color,d=s(\"title.text\");d&&($k.coerceFont(s,\"title.font\",a,{overrideDflt:{size:$k.bigFont(a.size),color:h}}),s(\"title.offset\")),s(\"tickangle\");var v=s(\"autorange\",!r.isValidRange(t.range));v&&s(\"rangemode\"),s(\"range\"),r.cleanRange(),s(\"fixedrange\"),hXt(t,r,s,u),vXt(t,r,s,u,n),dXt(t,r,s,u,n),pXt(t,r,s,{data:n.data,dataAttr:i});var x=l(\"gridcolor\",TZe(f,.3)),b=l(\"gridwidth\"),p=l(\"griddash\"),E=s(\"showgrid\");E||(delete r.gridcolor,delete r.gridwidth,delete r.griddash);var k=l(\"startlinecolor\",f),A=l(\"startlinewidth\",b),L=s(\"startline\",r.showgrid||!!k||!!A);L||(delete r.startlinecolor,delete r.startlinewidth);var _=l(\"endlinecolor\",f),C=l(\"endlinewidth\",b),M=s(\"endline\",r.showgrid||!!_||!!C);return M||(delete r.endlinecolor,delete r.endlinewidth),E?(s(\"minorgridcount\"),s(\"minorgridwidth\",b),s(\"minorgriddash\",p),s(\"minorgridcolor\",TZe(x,.06)),r.minorgridcount||(delete r.minorgridwidth,delete r.minorgriddash,delete r.minorgridcolor)):(delete r.gridcolor,delete r.gridwidth,delete r.griddash),r.showticklabels===\"none\"&&(delete r.tickfont,delete r.tickangle,delete r.showexponent,delete r.exponentformat,delete r.minexponent,delete r.tickformat,delete r.showticksuffix,delete r.showtickprefix),r.showticksuffix||delete r.ticksuffix,r.showtickprefix||delete r.tickprefix,s(\"tickmode\"),r};function yXt(e,t){if(e.type===\"-\"){var r=e._id,n=r.charAt(0),i=n+\"calendar\",a=e[i];e.type=mXt(t,a,{autotypenumbers:e.autotypenumbers})}}});var EZe=ye((K_r,MZe)=>{\"use strict\";var _Xt=SZe(),xXt=Vs();MZe.exports=function(t,r,n,i,a){var o=i(\"a\");o||(i(\"da\"),i(\"a0\"));var s=i(\"b\");s||(i(\"db\"),i(\"b0\")),bXt(t,r,n,a)};function bXt(e,t,r,n){var i=[\"aaxis\",\"baxis\"];i.forEach(function(a){var o=a.charAt(0),s=e[a]||{},l=xXt.newContainer(t,a),u={noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,noTicklabelstep:!0,tickfont:\"x\",id:o+\"axis\",letter:o,font:t.font,name:a,data:e[o],calendar:t.calendar,dfltColor:n,bgColor:r.paper_bgcolor,autotypenumbersDflt:r.autotypenumbers,fullLayout:r};_Xt(s,l,u),l._categories=l._categories||[],!e[a]&&s.type!==\"-\"&&(e[a]={type:s.type})})}});var LZe=ye((J_r,CZe)=>{\"use strict\";var kZe=Mr(),wXt=wZe(),TXt=EZe(),AXt=O7(),SXt=dh();CZe.exports=function(t,r,n,i){function a(l,u){return kZe.coerce(t,r,AXt,l,u)}r._clipPathId=\"clip\"+r.uid+\"carpet\";var o=a(\"color\",SXt.defaultLine);if(kZe.coerceFont(a,\"font\",i.font),a(\"carpet\"),TXt(t,r,i,a,o),!r.a||!r.b){r.visible=!1;return}r.a.length<3&&(r.aaxis.smoothing=0),r.b.length<3&&(r.baxis.smoothing=0);var s=wXt(t,r,a);s||(r.visible=!1),r._cheater&&a(\"cheaterslope\"),a(\"zorder\")}});var f$=ye(($_r,PZe)=>{\"use strict\";var MXt=Mr().isArrayOrTypedArray;PZe.exports=function(t,r,n){var i;for(MXt(t)?t.length>r.length&&(t=t.slice(0,r.length)):t=[],i=0;i<r.length;i++)t[i]=n(r[i]);return t}});var h$=ye((Q_r,IZe)=>{\"use strict\";IZe.exports=function(t,r,n){if(t.length===0)return\"\";var i,a=[],o=n?3:1;for(i=0;i<t.length;i+=o)a.push(t[i]+\",\"+r[i]),n&&i<t.length-o&&(a.push(\"C\"),a.push([t[i+1]+\",\"+r[i+1],t[i+2]+\",\"+r[i+2]+\" \"].join(\" \")));return a.join(n?\"\":\"L\")}});var DZe=ye((exr,RZe)=>{\"use strict\";RZe.exports=function(t,r,n,i,a,o){var s=a[0]*t.dpdx(r),l=a[1]*t.dpdy(n),u=1,c=1;if(o){var f=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=Math.sqrt(o[0]*o[0]+o[1]*o[1]),d=(a[0]*o[0]+a[1]*o[1])/f/h;c=Math.max(0,d)}var v=Math.atan2(l,s)*180/Math.PI;return v<-90?(v+=180,u=-u):v>90&&(v-=180,u=-u),{angle:v,flip:u,p:t.c2p(i,r,n),offsetMultplier:c}}});var VZe=ye((txr,UZe)=>{\"use strict\";var V7=xa(),B7=ao(),N7=f$(),qZe=h$(),Qk=DZe(),d$=Pl(),Up=Mr(),OZe=Up.strRotate,U7=Up.strTranslate,BZe=Nh();UZe.exports=function(t,r,n,i){var a=t._context.staticPlot,o=r.xaxis,s=r.yaxis,l=t._fullLayout,u=l._clips;Up.makeTraceGroups(i,n,\"trace\").each(function(c){var f=V7.select(this),h=c[0],d=h.trace,v=d.aaxis,x=d.baxis,b=Up.ensureSingle(f,\"g\",\"minorlayer\"),p=Up.ensureSingle(f,\"g\",\"majorlayer\"),E=Up.ensureSingle(f,\"g\",\"boundarylayer\"),k=Up.ensureSingle(f,\"g\",\"labellayer\");f.style(\"opacity\",d.opacity),zA(o,s,p,v,\"a\",v._gridlines,!0,a),zA(o,s,p,x,\"b\",x._gridlines,!0,a),zA(o,s,b,v,\"a\",v._minorgridlines,!0,a),zA(o,s,b,x,\"b\",x._minorgridlines,!0,a),zA(o,s,E,v,\"a-boundary\",v._boundarylines,a),zA(o,s,E,x,\"b-boundary\",x._boundarylines,a);var A=zZe(t,o,s,d,h,k,v._labels,\"a-label\"),L=zZe(t,o,s,d,h,k,x._labels,\"b-label\");kXt(t,k,d,h,o,s,A,L),EXt(d,h,u,o,s)})};function EXt(e,t,r,n,i){var a,o,s,l,u=r.select(\"#\"+e._clipPathId);u.size()||(u=r.append(\"clipPath\").classed(\"carpetclip\",!0));var c=Up.ensureSingle(u,\"path\",\"carpetboundary\"),f=t.clipsegments,h=[];for(l=0;l<f.length;l++)a=f[l],o=N7([],a.x,n.c2p),s=N7([],a.y,i.c2p),h.push(qZe(o,s,a.bicubic));var d=\"M\"+h.join(\"L\")+\"Z\";u.attr(\"id\",e._clipPathId),c.attr(\"d\",d)}function zA(e,t,r,n,i,a,o){var s=\"const-\"+i+\"-lines\",l=r.selectAll(\".\"+s).data(a);l.enter().append(\"path\").classed(s,!0).style(\"vector-effect\",o?\"none\":\"non-scaling-stroke\"),l.each(function(u){var c=u,f=c.x,h=c.y,d=N7([],f,e.c2p),v=N7([],h,t.c2p),x=\"M\"+qZe(d,v,c.smoothing),b=V7.select(this);b.attr(\"d\",x).style(\"stroke-width\",c.width).style(\"stroke\",c.color).style(\"stroke-dasharray\",B7.dashStyle(c.dash,c.width)).style(\"fill\",\"none\")}),l.exit().remove()}function zZe(e,t,r,n,i,a,o,s){var l=a.selectAll(\"text.\"+s).data(o);l.enter().append(\"text\").classed(s,!0);var u=0,c={};return l.each(function(f,h){var d;if(f.axis.tickangle===\"auto\")d=Qk(n,t,r,f.xy,f.dxy);else{var v=(f.axis.tickangle+180)*Math.PI/180;d=Qk(n,t,r,f.xy,[Math.cos(v),Math.sin(v)])}h||(c={angle:d.angle,flip:d.flip});var x=(f.endAnchor?-1:1)*d.flip,b=V7.select(this).attr({\"text-anchor\":x>0?\"start\":\"end\",\"data-notex\":1}).call(B7.font,f.font).text(f.text).call(d$.convertToTspans,e),p=B7.bBox(this);b.attr(\"transform\",U7(d.p[0],d.p[1])+OZe(d.angle)+U7(f.axis.labelpadding*x,p.height*.3)),u=Math.max(u,p.width+f.axis.labelpadding)}),l.exit().remove(),c.maxExtent=u,c}function kXt(e,t,r,n,i,a,o,s){var l,u,c,f,h=Up.aggNums(Math.min,null,r.a),d=Up.aggNums(Math.max,null,r.a),v=Up.aggNums(Math.min,null,r.b),x=Up.aggNums(Math.max,null,r.b);l=.5*(h+d),u=v,c=r.ab2xy(l,u,!0),f=r.dxyda_rough(l,u),o.angle===void 0&&Up.extendFlat(o,Qk(r,i,a,c,r.dxydb_rough(l,u))),FZe(e,t,r,n,c,f,r.aaxis,i,a,o,\"a-title\"),l=h,u=.5*(v+x),c=r.ab2xy(l,u,!0),f=r.dxydb_rough(l,u),s.angle===void 0&&Up.extendFlat(s,Qk(r,i,a,c,r.dxyda_rough(l,u))),FZe(e,t,r,n,c,f,r.baxis,i,a,s,\"b-title\")}var NZe=BZe.LINE_SPACING,CXt=(1-BZe.MID_SHIFT)/NZe+1;function FZe(e,t,r,n,i,a,o,s,l,u,c){var f=[];o.title.text&&f.push(o.title.text);var h=t.selectAll(\"text.\"+c).data(f),d=u.maxExtent;h.enter().append(\"text\").classed(c,!0),h.each(function(){var v=Qk(r,s,l,i,a);[\"start\",\"both\"].indexOf(o.showticklabels)===-1&&(d=0);var x=o.title.font.size;d+=x+o.title.offset;var b=u.angle+(u.flip<0?180:0),p=(b-v.angle+450)%360,E=p>90&&p<270,k=V7.select(this);k.text(o.title.text).call(d$.convertToTspans,e),E&&(d=(-d$.lineCount(k)+CXt)*NZe*x-d),k.attr(\"transform\",U7(v.p[0],v.p[1])+OZe(v.angle)+U7(0,d)).attr(\"text-anchor\",\"middle\").call(B7.font,o.title.font)}),h.exit().remove()}});var GZe=ye((rxr,HZe)=>{\"use strict\";var H7=Mr().isArrayOrTypedArray;HZe.exports=function(e,t,r){var n,i,a,o,s,l,u=[],c=H7(e)?e.length:e,f=H7(t)?t.length:t,h=H7(e)?e:null,d=H7(t)?t:null;h&&(a=(h.length-1)/(h[h.length-1]-h[0])/(c-1)),d&&(o=(d.length-1)/(d[d.length-1]-d[0])/(f-1));var v,x=1/0,b=-1/0;for(i=0;i<f;i++)for(u[i]=[],l=d?(d[i]-d[0])*o:i/(f-1),n=0;n<c;n++)s=h?(h[n]-h[0])*a:n/(c-1),v=s-l*r,x=Math.min(v,x),b=Math.max(v,b),u[i][n]=v;var p=1/(b-x),E=-x*p;for(i=0;i<f;i++)for(n=0;n<c;n++)u[i][n]=p*u[i][n]+E;return u}});var XZe=ye((ixr,ZZe)=>{\"use strict\";var jZe=Mr().isArrayOrTypedArray;ZZe.exports=function(e){return WZe(e,0)};function WZe(e,t){if(!jZe(e)||t>=10)return null;for(var r=1/0,n=-1/0,i=e.length,a=0;a<i;a++){var o=e[a];if(jZe(o)){var s=WZe(o,t+1);s&&(r=Math.min(s[0],r),n=Math.max(s[1],n))}else r=Math.min(o,r),n=Math.max(o,n)}return[r,n]}});var KZe=ye((nxr,YZe)=>{\"use strict\";var LXt=Qa(),kx=no().extendFlat;YZe.exports=function(t,r,n){var i,a,o,s,l,u,c,f,h,d,v,x,b,p,E=t[\"_\"+r],k=t[r+\"axis\"],A=k._gridlines=[],L=k._minorgridlines=[],_=k._boundarylines=[],C=t[\"_\"+n],M=t[n+\"axis\"];k.tickmode===\"array\"&&(k.tickvals=E.slice());var g=t._xctrl,P=t._yctrl,T=g[0].length,F=g.length,q=t._a.length,V=t._b.length;LXt.prepTicks(k),k.tickmode===\"array\"&&delete k.tickvals;var H=k.smoothing?3:1;function X(N){var W,re,ae,_e,Me,ke,ge,ie,Te,Ee,Ae,ze,Ce=[],me=[],Re={};if(r===\"b\")for(re=t.b2j(N),ae=Math.floor(Math.max(0,Math.min(V-2,re))),_e=re-ae,Re.length=V,Re.crossLength=q,Re.xy=function(ce){return t.evalxy([],ce,re)},Re.dxy=function(ce,Ge){return t.dxydi([],ce,ae,Ge,_e)},W=0;W<q;W++)ke=Math.min(q-2,W),ge=W-ke,ie=t.evalxy([],W,re),M.smoothing&&W>0&&(Te=t.dxydi([],W-1,ae,0,_e),Ce.push(Me[0]+Te[0]/3),me.push(Me[1]+Te[1]/3),Ee=t.dxydi([],W-1,ae,1,_e),Ce.push(ie[0]-Ee[0]/3),me.push(ie[1]-Ee[1]/3)),Ce.push(ie[0]),me.push(ie[1]),Me=ie;else for(W=t.a2i(N),ke=Math.floor(Math.max(0,Math.min(q-2,W))),ge=W-ke,Re.length=q,Re.crossLength=V,Re.xy=function(ce){return t.evalxy([],W,ce)},Re.dxy=function(ce,Ge){return t.dxydj([],ke,ce,ge,Ge)},re=0;re<V;re++)ae=Math.min(V-2,re),_e=re-ae,ie=t.evalxy([],W,re),M.smoothing&&re>0&&(Ae=t.dxydj([],ke,re-1,ge,0),Ce.push(Me[0]+Ae[0]/3),me.push(Me[1]+Ae[1]/3),ze=t.dxydj([],ke,re-1,ge,1),Ce.push(ie[0]-ze[0]/3),me.push(ie[1]-ze[1]/3)),Ce.push(ie[0]),me.push(ie[1]),Me=ie;return Re.axisLetter=r,Re.axis=k,Re.crossAxis=M,Re.value=N,Re.constvar=n,Re.index=f,Re.x=Ce,Re.y=me,Re.smoothing=M.smoothing,Re}function G(N){var W,re,ae,_e,Me,ke=[],ge=[],ie={};if(ie.length=E.length,ie.crossLength=C.length,r===\"b\")for(ae=Math.max(0,Math.min(V-2,N)),Me=Math.min(1,Math.max(0,N-ae)),ie.xy=function(Te){return t.evalxy([],Te,N)},ie.dxy=function(Te,Ee){return t.dxydi([],Te,ae,Ee,Me)},W=0;W<T;W++)ke[W]=g[N*H][W],ge[W]=P[N*H][W];else for(re=Math.max(0,Math.min(q-2,N)),_e=Math.min(1,Math.max(0,N-re)),ie.xy=function(Te){return t.evalxy([],N,Te)},ie.dxy=function(Te,Ee){return t.dxydj([],re,Te,_e,Ee)},W=0;W<F;W++)ke[W]=g[W][N*H],ge[W]=P[W][N*H];return ie.axisLetter=r,ie.axis=k,ie.crossAxis=M,ie.value=E[N],ie.constvar=n,ie.index=N,ie.x=ke,ie.y=ge,ie.smoothing=M.smoothing,ie}if(k.tickmode===\"array\"){for(s=5e-15,l=[Math.floor((E.length-1-k.arraytick0)/k.arraydtick*(1+s)),Math.ceil(-k.arraytick0/k.arraydtick/(1+s))].sort(function(N,W){return N-W}),u=l[0]-1,c=l[1]+1,f=u;f<c;f++)a=k.arraytick0+k.arraydtick*f,!(a<0||a>E.length-1)&&A.push(kx(G(a),{color:k.gridcolor,width:k.gridwidth,dash:k.griddash}));for(f=u;f<c;f++)if(o=k.arraytick0+k.arraydtick*f,v=Math.min(o+k.arraydtick,E.length-1),!(o<0||o>E.length-1)&&!(v<0||v>E.length-1))for(x=E[o],b=E[v],i=0;i<k.minorgridcount;i++)p=v-o,!(p<=0)&&(d=x+(b-x)*(i+1)/(k.minorgridcount+1)*(k.arraydtick/p),!(d<E[0]||d>E[E.length-1])&&L.push(kx(X(d),{color:k.minorgridcolor,width:k.minorgridwidth,dash:k.minorgriddash})));k.startline&&_.push(kx(G(0),{color:k.startlinecolor,width:k.startlinewidth})),k.endline&&_.push(kx(G(E.length-1),{color:k.endlinecolor,width:k.endlinewidth}))}else{for(s=5e-15,l=[Math.floor((E[E.length-1]-k.tick0)/k.dtick*(1+s)),Math.ceil((E[0]-k.tick0)/k.dtick/(1+s))].sort(function(N,W){return N-W}),u=l[0],c=l[1],f=u;f<=c;f++)h=k.tick0+k.dtick*f,A.push(kx(X(h),{color:k.gridcolor,width:k.gridwidth,dash:k.griddash}));for(f=u-1;f<c+1;f++)for(h=k.tick0+k.dtick*f,i=0;i<k.minorgridcount;i++)d=h+k.dtick*(i+1)/(k.minorgridcount+1),!(d<E[0]||d>E[E.length-1])&&L.push(kx(X(d),{color:k.minorgridcolor,width:k.minorgridwidth,dash:k.minorgriddash}));k.startline&&_.push(kx(X(E[0]),{color:k.startlinecolor,width:k.startlinewidth})),k.endline&&_.push(kx(X(E[E.length-1]),{color:k.endlinecolor,width:k.endlinewidth}))}}});var eXe=ye((axr,QZe)=>{\"use strict\";var JZe=Qa(),$Ze=no().extendFlat;QZe.exports=function(t,r){var n,i,a,o,s,l=r._labels=[],u=r._gridlines;for(n=0;n<u.length;n++)s=u[n],[\"start\",\"both\"].indexOf(r.showticklabels)!==-1&&(i=JZe.tickText(r,s.value),$Ze(i,{prefix:a,suffix:o,endAnchor:!0,xy:s.xy(0),dxy:s.dxy(0,0),axis:s.axis,length:s.crossAxis.length,font:s.axis.tickfont,isFirst:n===0,isLast:n===u.length-1}),l.push(i)),[\"end\",\"both\"].indexOf(r.showticklabels)!==-1&&(i=JZe.tickText(r,s.value),$Ze(i,{endAnchor:!1,xy:s.xy(s.crossLength-1),dxy:s.dxy(s.crossLength-2,1),axis:s.axis,length:s.crossAxis.length,font:s.axis.tickfont,isFirst:n===0,isLast:n===u.length-1}),l.push(i))}});var rXe=ye((oxr,tXe)=>{\"use strict\";tXe.exports=function(t,r,n,i){var a,o,s,l=[],u=!!n.smoothing,c=!!i.smoothing,f=t[0].length-1,h=t.length-1;for(a=0,o=[],s=[];a<=f;a++)o[a]=t[0][a],s[a]=r[0][a];for(l.push({x:o,y:s,bicubic:u}),a=0,o=[],s=[];a<=h;a++)o[a]=t[a][f],s[a]=r[a][f];for(l.push({x:o,y:s,bicubic:c}),a=f,o=[],s=[];a>=0;a--)o[f-a]=t[h][a],s[f-a]=r[h][a];for(l.push({x:o,y:s,bicubic:u}),a=h,o=[],s=[];a>=0;a--)o[h-a]=t[a][0],s[h-a]=r[a][0];return l.push({x:o,y:s,bicubic:c}),l}});var nXe=ye((sxr,iXe)=>{\"use strict\";var PXt=Mr();iXe.exports=function(t,r,n){var i,a,o,s=[],l=[],u=t[0].length,c=t.length;function f(ae,_e){var Me=0,ke,ge=0;return ae>0&&(ke=t[_e][ae-1])!==void 0&&(ge++,Me+=ke),ae<u-1&&(ke=t[_e][ae+1])!==void 0&&(ge++,Me+=ke),_e>0&&(ke=t[_e-1][ae])!==void 0&&(ge++,Me+=ke),_e<c-1&&(ke=t[_e+1][ae])!==void 0&&(ge++,Me+=ke),Me/Math.max(1,ge)}var h=0;for(i=0;i<u;i++)for(a=0;a<c;a++)t[a][i]===void 0&&(s.push(i),l.push(a),t[a][i]=f(i,a)),h=Math.max(h,Math.abs(t[a][i]));if(!s.length)return t;var d,v,x,b,p,E,k,A,L,_,C,M=1e-5,g=0,P=100,T=0,F=s.length;do{for(g=0,o=0;o<F;o++){i=s[o],a=l[o];var q=0,V=0,H,X,G,N,W,re;i===0?(W=Math.min(u-1,2),G=r[W],N=r[1],H=t[a][W],X=t[a][1],V+=X+(X-H)*(r[0]-N)/(N-G),q++):i===u-1&&(W=Math.max(0,u-3),G=r[W],N=r[u-2],H=t[a][W],X=t[a][u-2],V+=X+(X-H)*(r[u-1]-N)/(N-G),q++),(i===0||i===u-1)&&a>0&&a<c-1&&(d=n[a+1]-n[a],v=n[a]-n[a-1],V+=(v*t[a+1][i]+d*t[a-1][i])/(v+d),q++),a===0?(re=Math.min(c-1,2),G=n[re],N=n[1],H=t[re][i],X=t[1][i],V+=X+(X-H)*(n[0]-N)/(N-G),q++):a===c-1&&(re=Math.max(0,c-3),G=n[re],N=n[c-2],H=t[re][i],X=t[c-2][i],V+=X+(X-H)*(n[c-1]-N)/(N-G),q++),(a===0||a===c-1)&&i>0&&i<u-1&&(d=r[i+1]-r[i],v=r[i]-r[i-1],V+=(v*t[a][i+1]+d*t[a][i-1])/(v+d),q++),q?V/=q:(x=r[i+1]-r[i],b=r[i]-r[i-1],p=n[a+1]-n[a],E=n[a]-n[a-1],k=x*b*(x+b),A=p*E*(p+E),V=(k*(E*t[a+1][i]+p*t[a-1][i])+A*(b*t[a][i+1]+x*t[a][i-1]))/(A*(b+x)+k*(E+p))),L=V-t[a][i],_=L/h,g+=_*_,C=q?0:.85,t[a][i]+=L*(1+C)}g=Math.sqrt(g)}while(T++<P&&g>M);return PXt.log(\"Smoother converged to\",g,\"after\",T,\"iterations\"),t}});var oXe=ye((lxr,aXe)=>{\"use strict\";aXe.exports={RELATIVE_CULL_TOLERANCE:1e-6}});var uXe=ye((uxr,lXe)=>{\"use strict\";var sXe=.5;lXe.exports=function(t,r,n,i){var a=t[0]-r[0],o=t[1]-r[1],s=n[0]-r[0],l=n[1]-r[1],u=Math.pow(a*a+o*o,sXe/2),c=Math.pow(s*s+l*l,sXe/2),f=(c*c*a-u*u*s)*i,h=(c*c*o-u*u*l)*i,d=c*(u+c)*3,v=u*(u+c)*3;return[[r[0]+(d&&f/d),r[1]+(d&&h/d)],[r[0]-(v&&f/v),r[1]-(v&&h/v)]]}});var fXe=ye((cxr,cXe)=>{\"use strict\";var v$=uXe(),G7=Mr().ensureArray;function FA(e,t,r){var n=-.5*r[0]+1.5*t[0],i=-.5*r[1]+1.5*t[1];return[(2*n+e[0])/3,(2*i+e[1])/3]}cXe.exports=function(t,r,n,i,a,o){var s,l,u,c,f,h,d,v,x,b,p=n[0].length,E=n.length,k=a?3*p-2:p,A=o?3*E-2:E;for(t=G7(t,A),r=G7(r,A),u=0;u<A;u++)t[u]=G7(t[u],k),r[u]=G7(r[u],k);for(l=0,c=0;l<E;l++,c+=o?3:1)for(f=t[c],h=r[c],d=n[l],v=i[l],s=0,u=0;s<p;s++,u+=a?3:1)f[u]=d[s],h[u]=v[s];if(a)for(l=0,c=0;l<E;l++,c+=o?3:1){for(s=1,u=3;s<p-1;s++,u+=3)x=v$([n[l][s-1],i[l][s-1]],[n[l][s],i[l][s]],[n[l][s+1],i[l][s+1]],a),t[c][u-1]=x[0][0],r[c][u-1]=x[0][1],t[c][u+1]=x[1][0],r[c][u+1]=x[1][1];b=FA([t[c][0],r[c][0]],[t[c][2],r[c][2]],[t[c][3],r[c][3]]),t[c][1]=b[0],r[c][1]=b[1],b=FA([t[c][k-1],r[c][k-1]],[t[c][k-3],r[c][k-3]],[t[c][k-4],r[c][k-4]]),t[c][k-2]=b[0],r[c][k-2]=b[1]}if(o)for(u=0;u<k;u++){for(c=3;c<A-3;c+=3)x=v$([t[c-3][u],r[c-3][u]],[t[c][u],r[c][u]],[t[c+3][u],r[c+3][u]],o),t[c-1][u]=x[0][0],r[c-1][u]=x[0][1],t[c+1][u]=x[1][0],r[c+1][u]=x[1][1];b=FA([t[0][u],r[0][u]],[t[2][u],r[2][u]],[t[3][u],r[3][u]]),t[1][u]=b[0],r[1][u]=b[1],b=FA([t[A-1][u],r[A-1][u]],[t[A-3][u],r[A-3][u]],[t[A-4][u],r[A-4][u]]),t[A-2][u]=b[0],r[A-2][u]=b[1]}if(a&&o)for(c=1;c<A;c+=(c+1)%3===0?2:1){for(u=3;u<k-3;u+=3)x=v$([t[c][u-3],r[c][u-3]],[t[c][u],r[c][u]],[t[c][u+3],r[c][u+3]],a),t[c][u-1]=.5*(t[c][u-1]+x[0][0]),r[c][u-1]=.5*(r[c][u-1]+x[0][1]),t[c][u+1]=.5*(t[c][u+1]+x[1][0]),r[c][u+1]=.5*(r[c][u+1]+x[1][1]);b=FA([t[c][0],r[c][0]],[t[c][2],r[c][2]],[t[c][3],r[c][3]]),t[c][1]=.5*(t[c][1]+b[0]),r[c][1]=.5*(r[c][1]+b[1]),b=FA([t[c][k-1],r[c][k-1]],[t[c][k-3],r[c][k-3]],[t[c][k-4],r[c][k-4]]),t[c][k-2]=.5*(t[c][k-2]+b[0]),r[c][k-2]=.5*(r[c][k-2]+b[1])}return[t,r]}});var dXe=ye((fxr,hXe)=>{\"use strict\";hXe.exports=function(e,t,r,n,i){var a=t-2,o=r-2;return n&&i?function(s,l,u){s||(s=[]);var c,f,h,d,v,x,b=Math.max(0,Math.min(Math.floor(l),a)),p=Math.max(0,Math.min(Math.floor(u),o)),E=Math.max(0,Math.min(1,l-b)),k=Math.max(0,Math.min(1,u-p));b*=3,p*=3;var A=E*E,L=A*E,_=1-E,C=_*_,M=C*_,g=k*k,P=g*k,T=1-k,F=T*T,q=F*T;for(x=0;x<e.length;x++)v=e[x],c=M*v[p][b]+3*(C*E*v[p][b+1]+_*A*v[p][b+2])+L*v[p][b+3],f=M*v[p+1][b]+3*(C*E*v[p+1][b+1]+_*A*v[p+1][b+2])+L*v[p+1][b+3],h=M*v[p+2][b]+3*(C*E*v[p+2][b+1]+_*A*v[p+2][b+2])+L*v[p+2][b+3],d=M*v[p+3][b]+3*(C*E*v[p+3][b+1]+_*A*v[p+3][b+2])+L*v[p+3][b+3],s[x]=q*c+3*(F*k*f+T*g*h)+P*d;return s}:n?function(s,l,u){s||(s=[]);var c=Math.max(0,Math.min(Math.floor(l),a)),f=Math.max(0,Math.min(Math.floor(u),o)),h=Math.max(0,Math.min(1,l-c)),d=Math.max(0,Math.min(1,u-f)),v,x,b,p,E,k;c*=3;var A=h*h,L=A*h,_=1-h,C=_*_,M=C*_,g=1-d;for(E=0;E<e.length;E++)k=e[E],v=g*k[f][c]+d*k[f+1][c],x=g*k[f][c+1]+d*k[f+1][c+1],b=g*k[f][c+2]+d*k[f+1][c+1],p=g*k[f][c+3]+d*k[f+1][c+1],s[E]=M*v+3*(C*h*x+_*A*b)+L*p;return s}:i?function(s,l,u){s||(s=[]);var c=Math.max(0,Math.min(Math.floor(l),a)),f=Math.max(0,Math.min(Math.floor(u),o)),h=Math.max(0,Math.min(1,l-c)),d=Math.max(0,Math.min(1,u-f)),v,x,b,p,E,k;f*=3;var A=d*d,L=A*d,_=1-d,C=_*_,M=C*_,g=1-h;for(E=0;E<e.length;E++)k=e[E],v=g*k[f][c]+h*k[f][c+1],x=g*k[f+1][c]+h*k[f+1][c+1],b=g*k[f+2][c]+h*k[f+2][c+1],p=g*k[f+3][c]+h*k[f+3][c+1],s[E]=M*v+3*(C*d*x+_*A*b)+L*p;return s}:function(s,l,u){s||(s=[]);var c=Math.max(0,Math.min(Math.floor(l),a)),f=Math.max(0,Math.min(Math.floor(u),o)),h=Math.max(0,Math.min(1,l-c)),d=Math.max(0,Math.min(1,u-f)),v,x,b,p,E=1-d,k=1-h;for(b=0;b<e.length;b++)p=e[b],v=k*p[f][c]+h*p[f][c+1],x=k*p[f+1][c]+h*p[f+1][c+1],s[b]=E*v+d*x;return s}}});var pXe=ye((hxr,vXe)=>{\"use strict\";vXe.exports=function(e,t,r){return t&&r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;i*=3,a*=3;var v=o*o,x=1-o,b=x*x,p=x*o*2,E=-3*b,k=3*(b-p),A=3*(p-v),L=3*v,_=s*s,C=_*s,M=1-s,g=M*M,P=g*M;for(d=0;d<e.length;d++)h=e[d],l=E*h[a][i]+k*h[a][i+1]+A*h[a][i+2]+L*h[a][i+3],u=E*h[a+1][i]+k*h[a+1][i+1]+A*h[a+1][i+2]+L*h[a+1][i+3],c=E*h[a+2][i]+k*h[a+2][i+1]+A*h[a+2][i+2]+L*h[a+2][i+3],f=E*h[a+3][i]+k*h[a+3][i+1]+A*h[a+3][i+2]+L*h[a+3][i+3],n[d]=P*l+3*(g*s*u+M*_*c)+C*f;return n}:t?function(n,i,a,o,s){n||(n=[]);var l,u,c,f;i*=3;var h=o*o,d=1-o,v=d*d,x=d*o*2,b=-3*v,p=3*(v-x),E=3*(x-h),k=3*h,A=1-s;for(c=0;c<e.length;c++)f=e[c],l=b*f[a][i]+p*f[a][i+1]+E*f[a][i+2]+k*f[a][i+3],u=b*f[a+1][i]+p*f[a+1][i+1]+E*f[a+1][i+2]+k*f[a+1][i+3],n[c]=A*l+s*u;return n}:r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;a*=3;var v=s*s,x=v*s,b=1-s,p=b*b,E=p*b;for(h=0;h<e.length;h++)d=e[h],l=d[a][i+1]-d[a][i],u=d[a+1][i+1]-d[a+1][i],c=d[a+2][i+1]-d[a+2][i],f=d[a+3][i+1]-d[a+3][i],n[h]=E*l+3*(p*s*u+b*v*c)+x*f;return n}:function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h=1-s;for(c=0;c<e.length;c++)f=e[c],l=f[a][i+1]-f[a][i],u=f[a+1][i+1]-f[a+1][i],n[c]=h*l+s*u;return n}}});var mXe=ye((dxr,gXe)=>{\"use strict\";gXe.exports=function(e,t,r){return t&&r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;i*=3,a*=3;var v=o*o,x=v*o,b=1-o,p=b*b,E=p*b,k=s*s,A=1-s,L=A*A,_=A*s*2,C=-3*L,M=3*(L-_),g=3*(_-k),P=3*k;for(d=0;d<e.length;d++)h=e[d],l=C*h[a][i]+M*h[a+1][i]+g*h[a+2][i]+P*h[a+3][i],u=C*h[a][i+1]+M*h[a+1][i+1]+g*h[a+2][i+1]+P*h[a+3][i+1],c=C*h[a][i+2]+M*h[a+1][i+2]+g*h[a+2][i+2]+P*h[a+3][i+2],f=C*h[a][i+3]+M*h[a+1][i+3]+g*h[a+2][i+3]+P*h[a+3][i+3],n[d]=E*l+3*(p*o*u+b*v*c)+x*f;return n}:t?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;i*=3;var v=s*s,x=v*s,b=1-s,p=b*b,E=p*b;for(h=0;h<e.length;h++)d=e[h],l=d[a+1][i]-d[a][i],u=d[a+1][i+1]-d[a][i+1],c=d[a+1][i+2]-d[a][i+2],f=d[a+1][i+3]-d[a][i+3],n[h]=E*l+3*(p*s*u+b*v*c)+x*f;return n}:r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f;a*=3;var h=1-o,d=s*s,v=1-s,x=v*v,b=v*s*2,p=-3*x,E=3*(x-b),k=3*(b-d),A=3*d;for(c=0;c<e.length;c++)f=e[c],l=p*f[a][i]+E*f[a+1][i]+k*f[a+2][i]+A*f[a+3][i],u=p*f[a][i+1]+E*f[a+1][i+1]+k*f[a+2][i+1]+A*f[a+3][i+1],n[c]=h*l+o*u;return n}:function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h=1-o;for(c=0;c<e.length;c++)f=e[c],l=f[a+1][i]-f[a][i],u=f[a+1][i+1]-f[a][i+1],n[c]=h*l+o*u;return n}}});var bXe=ye((vxr,xXe)=>{\"use strict\";var yXe=oXe(),_Xe=k6().findBin,IXt=fXe(),RXt=dXe(),DXt=pXe(),zXt=mXe();xXe.exports=function(t){var r=t._a,n=t._b,i=r.length,a=n.length,o=t.aaxis,s=t.baxis,l=r[0],u=r[i-1],c=n[0],f=n[a-1],h=r[r.length-1]-r[0],d=n[n.length-1]-n[0],v=h*yXe.RELATIVE_CULL_TOLERANCE,x=d*yXe.RELATIVE_CULL_TOLERANCE;l-=v,u+=v,c-=x,f+=x,t.isVisible=function(b,p){return b>l&&b<u&&p>c&&p<f},t.isOccluded=function(b,p){return b<l||b>u||p<c||p>f},t.setScale=function(){var b=t._x,p=t._y,E=IXt(t._xctrl,t._yctrl,b,p,o.smoothing,s.smoothing);t._xctrl=E[0],t._yctrl=E[1],t.evalxy=RXt([t._xctrl,t._yctrl],i,a,o.smoothing,s.smoothing),t.dxydi=DXt([t._xctrl,t._yctrl],o.smoothing,s.smoothing),t.dxydj=zXt([t._xctrl,t._yctrl],o.smoothing,s.smoothing)},t.i2a=function(b){var p=Math.max(0,Math.floor(b[0]),i-2),E=b[0]-p;return(1-E)*r[p]+E*r[p+1]},t.j2b=function(b){var p=Math.max(0,Math.floor(b[1]),i-2),E=b[1]-p;return(1-E)*n[p]+E*n[p+1]},t.ij2ab=function(b){return[t.i2a(b[0]),t.j2b(b[1])]},t.a2i=function(b){var p=Math.max(0,Math.min(_Xe(b,r),i-2)),E=r[p],k=r[p+1];return Math.max(0,Math.min(i-1,p+(b-E)/(k-E)))},t.b2j=function(b){var p=Math.max(0,Math.min(_Xe(b,n),a-2)),E=n[p],k=n[p+1];return Math.max(0,Math.min(a-1,p+(b-E)/(k-E)))},t.ab2ij=function(b){return[t.a2i(b[0]),t.b2j(b[1])]},t.i2c=function(b,p){return t.evalxy([],b,p)},t.ab2xy=function(b,p,E){if(!E&&(b<r[0]||b>r[i-1]|p<n[0]||p>n[a-1]))return[!1,!1];var k=t.a2i(b),A=t.b2j(p),L=t.evalxy([],k,A);if(E){var _=0,C=0,M=[],g,P,T,F;b<r[0]?(g=0,P=0,_=(b-r[0])/(r[1]-r[0])):b>r[i-1]?(g=i-2,P=1,_=(b-r[i-1])/(r[i-1]-r[i-2])):(g=Math.max(0,Math.min(i-2,Math.floor(k))),P=k-g),p<n[0]?(T=0,F=0,C=(p-n[0])/(n[1]-n[0])):p>n[a-1]?(T=a-2,F=1,C=(p-n[a-1])/(n[a-1]-n[a-2])):(T=Math.max(0,Math.min(a-2,Math.floor(A))),F=A-T),_&&(t.dxydi(M,g,T,P,F),L[0]+=M[0]*_,L[1]+=M[1]*_),C&&(t.dxydj(M,g,T,P,F),L[0]+=M[0]*C,L[1]+=M[1]*C)}return L},t.c2p=function(b,p,E){return[p.c2p(b[0]),E.c2p(b[1])]},t.p2x=function(b,p,E){return[p.p2c(b[0]),E.p2c(b[1])]},t.dadi=function(b){var p=Math.max(0,Math.min(r.length-2,b));return r[p+1]-r[p]},t.dbdj=function(b){var p=Math.max(0,Math.min(n.length-2,b));return n[p+1]-n[p]},t.dxyda=function(b,p,E,k){var A=t.dxydi(null,b,p,E,k),L=t.dadi(b,E);return[A[0]/L,A[1]/L]},t.dxydb=function(b,p,E,k){var A=t.dxydj(null,b,p,E,k),L=t.dbdj(p,k);return[A[0]/L,A[1]/L]},t.dxyda_rough=function(b,p,E){var k=h*(E||.1),A=t.ab2xy(b+k,p,!0),L=t.ab2xy(b-k,p,!0);return[(A[0]-L[0])*.5/k,(A[1]-L[1])*.5/k]},t.dxydb_rough=function(b,p,E){var k=d*(E||.1),A=t.ab2xy(b,p+k,!0),L=t.ab2xy(b,p-k,!0);return[(A[0]-L[0])*.5/k,(A[1]-L[1])*.5/k]},t.dpdx=function(b){return b._m},t.dpdy=function(b){return b._m}}});var CXe=ye((pxr,kXe)=>{\"use strict\";var j7=Qa(),wXe=Mr().isArray1D,FXt=GZe(),TXe=XZe(),AXe=KZe(),SXe=eXe(),qXt=rXe(),MXe=QI(),EXe=nXe(),OXt=JI(),BXt=bXe();kXe.exports=function(t,r){var n=j7.getFromId(t,r.xaxis),i=j7.getFromId(t,r.yaxis),a=r.aaxis,o=r.baxis,s=r.x,l=r.y,u=[];s&&wXe(s)&&u.push(\"x\"),l&&wXe(l)&&u.push(\"y\"),u.length&&OXt(r,a,o,\"a\",\"b\",u);var c=r._a=r._a||r.a,f=r._b=r._b||r.b;s=r._x||r.x,l=r._y||r.y;var h={};if(r._cheater){var d=a.cheatertype===\"index\"?c.length:c,v=o.cheatertype===\"index\"?f.length:f;s=FXt(d,v,r.cheaterslope)}r._x=s=MXe(s),r._y=l=MXe(l),EXe(s,c,f),EXe(l,c,f),BXt(r),r.setScale();var x=TXe(s),b=TXe(l),p=.5*(x[1]-x[0]),E=.5*(x[1]+x[0]),k=.5*(b[1]-b[0]),A=.5*(b[1]+b[0]),L=1.3;return x=[E-p*L,E+p*L],b=[A-k*L,A+k*L],r._extremes[n._id]=j7.findExtremes(n,x,{padded:!0}),r._extremes[i._id]=j7.findExtremes(i,b,{padded:!0}),AXe(r,\"a\",\"b\"),AXe(r,\"b\",\"a\"),SXe(r,a),SXe(r,o),h.clipsegments=qXt(r._xctrl,r._yctrl,a,o),h.x=s,h.y=l,h.a=c,h.b=f,[h]}});var PXe=ye((gxr,LXe)=>{\"use strict\";LXe.exports={attributes:O7(),supplyDefaults:LZe(),plot:VZe(),calc:CXe(),animatable:!0,isContainer:!0,moduleType:\"trace\",name:\"carpet\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"carpet\",\"carpetAxis\",\"notLegendIsolatable\",\"noMultiCategory\",\"noHover\",\"noSortingByValue\"],meta:{}}});var RXe=ye((mxr,IXe)=>{\"use strict\";IXe.exports=PXe()});var p$=ye((yxr,zXe)=>{\"use strict\";var NXt=Eg(),u0=Uc(),UXt=vl(),VXt=Wo().hovertemplateAttrs,HXt=Wo().texttemplateAttrs,DXe=Jl(),Cx=no().extendFlat,sg=u0.marker,qA=u0.line,GXt=sg.line;zXe.exports={carpet:{valType:\"string\",editType:\"calc\"},a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},mode:Cx({},u0.mode,{dflt:\"markers\"}),text:Cx({},u0.text,{}),texttemplate:HXt({editType:\"plot\"},{keys:[\"a\",\"b\",\"text\"]}),hovertext:Cx({},u0.hovertext,{}),line:{color:qA.color,width:qA.width,dash:qA.dash,backoff:qA.backoff,shape:Cx({},qA.shape,{values:[\"linear\",\"spline\"]}),smoothing:qA.smoothing,editType:\"calc\"},connectgaps:u0.connectgaps,fill:Cx({},u0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:NXt(),marker:Cx({symbol:sg.symbol,opacity:sg.opacity,maxdisplayed:sg.maxdisplayed,angle:sg.angle,angleref:sg.angleref,standoff:sg.standoff,size:sg.size,sizeref:sg.sizeref,sizemin:sg.sizemin,sizemode:sg.sizemode,line:Cx({width:GXt.width,editType:\"calc\"},DXe(\"marker.line\")),gradient:sg.gradient,editType:\"calc\"},DXe(\"marker\")),textfont:u0.textfont,textposition:u0.textposition,selected:u0.selected,unselected:u0.unselected,hoverinfo:Cx({},UXt.hoverinfo,{flags:[\"a\",\"b\",\"text\",\"name\"]}),hoveron:u0.hoveron,hovertemplate:VXt(),zorder:u0.zorder}});var BXe=ye((_xr,OXe)=>{\"use strict\";var FXe=Mr(),jXt=Sm(),OA=lu(),WXt=$p(),ZXt=R0(),qXe=J3(),XXt=D0(),YXt=Ig(),KXt=p$();OXe.exports=function(t,r,n,i){function a(h,d){return FXe.coerce(t,r,KXt,h,d)}a(\"carpet\"),r.xaxis=\"x\",r.yaxis=\"y\";var o=a(\"a\"),s=a(\"b\"),l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a(\"text\"),a(\"texttemplate\"),a(\"hovertext\");var u=l<jXt.PTS_LINESONLY?\"lines+markers\":\"lines\";a(\"mode\",u),OA.hasMarkers(r)&&WXt(t,r,n,i,a,{gradient:!0}),OA.hasLines(r)&&(ZXt(t,r,n,i,a,{backoff:!0}),qXe(t,r,a),a(\"connectgaps\")),OA.hasText(r)&&XXt(t,r,i,a);var c=[];(OA.hasMarkers(r)||OA.hasText(r))&&(a(\"marker.maxdisplayed\"),c.push(\"points\")),a(\"fill\"),r.fill!==\"none\"&&(YXt(t,r,n,a),OA.hasLines(r)||qXe(t,r,a)),(r.fill===\"tonext\"||r.fill===\"toself\")&&c.push(\"fills\");var f=a(\"hoveron\",c.join(\"+\")||\"points\");f!==\"fills\"&&a(\"hovertemplate\"),a(\"zorder\"),FXe.coerceSelectionMarkerOpacity(r,a)}});var UXe=ye((xxr,NXe)=>{\"use strict\";NXe.exports=function(t,r){var n={},i=r._carpet,a=i.ab2ij([t.a,t.b]),o=Math.floor(a[0]),s=a[0]-o,l=Math.floor(a[1]),u=a[1]-l,c=i.evalxy([],o,l,s,u);return n.yLabel=c[1].toFixed(3),n}});var W7=ye((bxr,VXe)=>{\"use strict\";VXe.exports=function(e,t){for(var r=e._fullData.length,n,i=0;i<r;i++){var a=e._fullData[i];if(a.index!==t.index&&a.type===\"carpet\"&&(n||(n=a),a.carpet===t.carpet))return a}return n}});var jXe=ye((wxr,GXe)=>{\"use strict\";var HXe=uo(),JXt=z0(),$Xt=km(),QXt=F0(),eYt=q0().calcMarkerSize,tYt=W7();GXe.exports=function(t,r){var n=r._carpetTrace=tYt(t,r);if(!(!n||!n.visible||n.visible===\"legendonly\")){var i;r.xaxis=n.xaxis,r.yaxis=n.yaxis;var a=r._length,o=new Array(a),s,l,u=!1;for(i=0;i<a;i++)if(s=r.a[i],l=r.b[i],HXe(s)&&HXe(l)){var c=n.ab2xy(+s,+l,!0),f=n.isVisible(+s,+l);f||(u=!0),o[i]={x:c[0],y:c[1],a:s,b:l,vis:f}}else o[i]={x:!1,y:!1};return r._needsCull=u,o[0].carpet=n,o[0].trace=r,eYt(r,a),JXt(t,r),$Xt(o,r),QXt(o,r),o}}});var XXe=ye((Txr,ZXe)=>{\"use strict\";var rYt=iT(),WXe=Qa(),iYt=ao();ZXe.exports=function(t,r,n,i){var a,o,s,l=n[0][0].carpet,u=WXe.getFromId(t,l.xaxis||\"x\"),c=WXe.getFromId(t,l.yaxis||\"y\"),f={xaxis:u,yaxis:c,plot:r.plot};for(a=0;a<n.length;a++)o=n[a][0].trace,o._xA=u,o._yA=c;for(rYt(t,f,n,i),a=0;a<n.length;a++)o=n[a][0].trace,s=i.selectAll(\"g.trace\"+o.uid+\" .js-line\"),iYt.setClipUrl(s,n[a][0].carpet._clipPathId,t)}});var KXe=ye((Axr,YXe)=>{\"use strict\";var nYt=sT(),aYt=Mr().fillText;YXe.exports=function(t,r,n,i){var a=nYt(t,r,n,i);if(!a||a[0].index===!1)return;var o=a[0];if(o.index===void 0){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,c=l-u;return o.x0=Math.max(Math.min(o.x0,c),u),o.x1=Math.max(Math.min(o.x1,c),u),a}var f=o.cd[o.index];o.a=f.a,o.b=f.b,o.xLabelVal=void 0,o.yLabelVal=void 0;var h=o.trace,d=h._carpet,v=h._module.formatLabels(f,h);o.yLabel=v.yLabel,delete o.text;var x=[];function b(k,A){var L;k.labelprefix&&k.labelprefix.length>0?L=k.labelprefix.replace(/ = $/,\"\"):L=k._hovertitle,x.push(L+\": \"+A.toFixed(3)+k.labelsuffix)}if(!h.hovertemplate){var p=f.hi||h.hoverinfo,E=p.split(\"+\");E.indexOf(\"all\")!==-1&&(E=[\"a\",\"b\",\"text\"]),E.indexOf(\"a\")!==-1&&b(d.aaxis,f.a),E.indexOf(\"b\")!==-1&&b(d.baxis,f.b),x.push(\"y: \"+o.yLabel),E.indexOf(\"text\")!==-1&&aYt(f,h,x),o.extraText=x.join(\"<br>\")}return a}});var $Xe=ye((Sxr,JXe)=>{\"use strict\";JXe.exports=function(t,r,n,i,a){var o=i[a];return t.a=o.a,t.b=o.b,t.y=o.y,t}});var eYe=ye((Mxr,QXe)=>{\"use strict\";QXe.exports={attributes:p$(),supplyDefaults:BXe(),colorbar:Kd(),formatLabels:UXe(),calc:jXe(),plot:XXe(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:KXe(),selectPoints:lT(),eventData:$Xe(),moduleType:\"trace\",name:\"scattercarpet\",basePlotModule:Jf(),categories:[\"svg\",\"carpet\",\"symbols\",\"showLegend\",\"carpetDependent\",\"zoomScale\"],meta:{}}});var rYe=ye((Exr,tYe)=>{\"use strict\";tYe.exports=eYe()});var g$=ye((kxr,iYe)=>{\"use strict\";var lg=ET(),g1=T4(),oYt=Jl(),sYt=no().extendFlat,ty=g1.contours;iYe.exports=sYt({carpet:{valType:\"string\",editType:\"calc\"},z:lg.z,a:lg.x,a0:lg.x0,da:lg.dx,b:lg.y,b0:lg.y0,db:lg.dy,text:lg.text,hovertext:lg.hovertext,transpose:lg.transpose,atype:lg.xtype,btype:lg.ytype,fillcolor:g1.fillcolor,autocontour:g1.autocontour,ncontours:g1.ncontours,contours:{type:ty.type,start:ty.start,end:ty.end,size:ty.size,coloring:{valType:\"enumerated\",values:[\"fill\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:ty.showlines,showlabels:ty.showlabels,labelfont:ty.labelfont,labelformat:ty.labelformat,operation:ty.operation,value:ty.value,editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:g1.line.color,width:g1.line.width,dash:g1.line.dash,smoothing:g1.line.smoothing,editType:\"plot\"},zorder:g1.zorder},oYt(\"\",{cLetter:\"z\",autoColorDflt:!1}))});var m$=ye((Cxr,oYe)=>{\"use strict\";var nYe=Mr(),lYt=XI(),aYe=g$(),uYt=yH(),cYt=y8(),fYt=_8();oYe.exports=function(t,r,n,i){function a(u,c){return nYe.coerce(t,r,aYe,u,c)}function o(u){return nYe.coerce2(t,r,aYe,u)}if(a(\"carpet\"),t.a&&t.b){var s=lYt(t,r,a,i,\"a\",\"b\");if(!s){r.visible=!1;return}a(\"text\");var l=a(\"contours.type\")===\"constraint\";l?uYt(t,r,a,i,n,{hasHover:!1}):(cYt(t,r,a,o),fYt(t,r,a,i,{hasHover:!1}))}else r._defaultColor=n,r._length=null;a(\"zorder\")}});var cYe=ye((Lxr,uYe)=>{\"use strict\";var hYt=zv(),sYe=Mr(),dYt=JI(),vYt=QI(),pYt=e8(),gYt=t8(),lYe=VV(),mYt=m$(),yYt=W7(),_Yt=oH();uYe.exports=function(t,r){var n=r._carpetTrace=yYt(t,r);if(!(!n||!n.visible||n.visible===\"legendonly\")){if(!r.a||!r.b){var i=t.data[n.index],a=t.data[r.index];a.a||(a.a=i.a),a.b||(a.b=i.b),mYt(a,r,r._defaultColor,t._fullLayout)}var o=xYt(t,r);return _Yt(r,r._z),o}};function xYt(e,t){var r=t._carpetTrace,n=r.aaxis,i=r.baxis,a,o,s,l,u,c,f;n._minDtick=0,i._minDtick=0,sYe.isArray1D(t.z)&&dYt(t,n,i,\"a\",\"b\",[\"z\"]),a=t._a=t._a||t.a,l=t._b=t._b||t.b,a=a?n.makeCalcdata(t,\"_a\"):[],l=l?i.makeCalcdata(t,\"_b\"):[],o=t.a0||0,s=t.da||1,u=t.b0||0,c=t.db||1,f=t._z=vYt(t._z||t.z,t.transpose),t._emptypoints=gYt(f),pYt(f,t._emptypoints);var h=sYe.maxRowLength(f),d=t.xtype===\"scaled\"?\"\":a,v=lYe(t,d,o,s,h,n),x=t.ytype===\"scaled\"?\"\":l,b=lYe(t,x,u,c,f.length,i),p={a:v,b,z:f};return t.contours.type===\"levels\"&&t.contours.coloring!==\"none\"&&hYt(e,t,{vals:f,containerStr:\"\",cLetter:\"z\"}),[p]}});var hYe=ye((Pxr,fYe)=>{\"use strict\";var bYt=Mr().isArrayOrTypedArray;fYe.exports=function(e,t,r,n){var i,a,o,s,l,u,c,f,h,d,v,x,b,p=bYt(r)?\"a\":\"b\",E=p===\"a\"?e.aaxis:e.baxis,k=E.smoothing,A=p===\"a\"?e.a2i:e.b2j,L=p===\"a\"?r:n,_=p===\"a\"?n:r,C=p===\"a\"?t.a.length:t.b.length,M=p===\"a\"?t.b.length:t.a.length,g=Math.floor(p===\"a\"?e.b2j(_):e.a2i(_)),P=p===\"a\"?function(_e){return e.evalxy([],_e,g)}:function(_e){return e.evalxy([],g,_e)};k&&(o=Math.max(0,Math.min(M-2,g)),s=g-o,a=p===\"a\"?function(_e,Me){return e.dxydi([],_e,o,Me,s)}:function(_e,Me){return e.dxydj([],o,_e,s,Me)});var T=A(L[0]),F=A(L[1]),q=T<F?1:-1,V=(F-T)*1e-8,H=q>0?Math.floor:Math.ceil,X=q>0?Math.ceil:Math.floor,G=q>0?Math.min:Math.max,N=q>0?Math.max:Math.min,W=H(T+V),re=X(F-V);c=P(T);var ae=[[c]];for(i=W;i*q<re*q;i+=q)l=[],v=N(T,i),x=G(F,i+q),b=x-v,u=Math.max(0,Math.min(C-2,Math.floor(.5*(v+x)))),f=P(x),k&&(h=a(u,v-u),d=a(u,x-u),l.push([c[0]+h[0]/3*b,c[1]+h[1]/3*b]),l.push([f[0]-d[0]/3*b,f[1]-d[1]/3*b])),l.push(f),ae.push(l),c=f;return ae}});var _Ye=ye((Ixr,yYe)=>{\"use strict\";var X7=xa(),Y7=f$(),mYe=h$(),eC=ao(),m1=Mr(),wYt=lH(),TYt=uH(),hw=w8(),Z7=S4(),AYt=dH(),SYt=hH(),MYt=vH(),EYt=W7(),dYe=hYe();yYe.exports=function(t,r,n,i){var a=r.xaxis,o=r.yaxis;m1.makeTraceGroups(i,n,\"contour\").each(function(s){var l=X7.select(this),u=s[0],c=u.trace,f=c._carpetTrace=EYt(t,c),h=t.calcdata[f.index][0];if(!f.visible||f.visible===\"legendonly\")return;var d=u.a,v=u.b,x=c.contours,b=SYt(x,r,u),p=x.type===\"constraint\",E=x._operation,k=p?E===\"=\"?\"lines\":\"fill\":x.coloring;function A(H){var X=f.ab2xy(H[0],H[1],!0);return[a.c2p(X[0]),o.c2p(X[1])]}var L=[[d[0],v[v.length-1]],[d[d.length-1],v[v.length-1]],[d[d.length-1],v[0]],[d[0],v[0]]];wYt(b);var _=(d[d.length-1]-d[0])*1e-8,C=(v[v.length-1]-v[0])*1e-8;TYt(b,_,C);var M=b;x.type===\"constraint\"&&(M=AYt(b,E)),kYt(b,A);var g,P,T,F,q=[];for(F=h.clipsegments.length-1;F>=0;F--)g=h.clipsegments[F],P=Y7([],g.x,a.c2p),T=Y7([],g.y,o.c2p),P.reverse(),T.reverse(),q.push(mYe(P,T,g.bicubic));var V=\"M\"+q.join(\"L\")+\"Z\";PYt(l,h.clipsegments,a,o,p,k),IYt(c,l,a,o,M,L,A,f,h,k,V),CYt(l,b,t,u,x,r,f),eC.setClipUrl(l,f._clipPathId,t)})};function kYt(e,t){var r,n,i,a,o,s,l,u,c;for(r=0;r<e.length;r++){for(a=e[r],o=a.pedgepaths=[],s=a.ppaths=[],n=0;n<a.edgepaths.length;n++){for(c=a.edgepaths[n],l=[],i=0;i<c.length;i++)l[i]=t(c[i]);o.push(l)}for(n=0;n<a.paths.length;n++){for(c=a.paths[n],u=[],i=0;i<c.length;i++)u[i]=t(c[i]);s.push(u)}}}function CYt(e,t,r,n,i,a,o){var s=r._context.staticPlot,l=m1.ensureSingle(e,\"g\",\"contourlines\"),u=i.showlines!==!1,c=i.showlabels,f=u&&c,h=hw.createLines(l,u||c,t,s),d=hw.createLineClip(l,f,r,n.trace.uid),v=e.selectAll(\"g.contourlabels\").data(c?[0]:[]);if(v.exit().remove(),v.enter().append(\"g\").classed(\"contourlabels\",!0),c){var x=a.xaxis,b=a.yaxis,p=x._length,E=b._length,k=[[[0,0],[p,0],[p,E],[0,E]]],A=[];m1.clearLocationCache();var L=hw.labelFormatter(r,n),_=eC.tester.append(\"text\").attr(\"data-notex\",1).call(eC.font,i.labelfont),C={left:0,right:p,center:p/2,top:0,bottom:E,middle:E/2},M=Math.sqrt(p*p+E*E),g=Z7.LABELDISTANCE*M/Math.max(1,t.length/Z7.LABELINCREASE);h.each(function(P){var T=hw.calcTextOpts(P.level,L,_,r);X7.select(this).selectAll(\"path\").each(function(F){var q=this,V=m1.getVisibleSegment(q,C,T.height/2);if(V&&(LYt(q,F,P,V,o,T.height),!(V.len<(T.width+T.height)*Z7.LABELMIN)))for(var H=Math.min(Math.ceil(V.len/g),Z7.LABELMAX),X=0;X<H;X++){var G=hw.findBestTextLocation(q,V,T,A,C);if(!G)break;hw.addLabelData(G,T,A,k)}})}),_.remove(),hw.drawLabels(v,A,r,d,f?k:null)}c&&!u&&h.remove()}function LYt(e,t,r,n,i,a){for(var o,s=0;s<r.pedgepaths.length;s++)t===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(!o)return;var l=i.a[0],u=i.a[i.a.length-1],c=i.b[0],f=i.b[i.b.length-1];function h(p,E){var k=0,A,L=.1;return(Math.abs(p[0]-l)<L||Math.abs(p[0]-u)<L)&&(A=pYe(i.dxydb_rough(p[0],p[1],L)),k=Math.max(k,a*gYe(E,A)/2)),(Math.abs(p[1]-c)<L||Math.abs(p[1]-f)<L)&&(A=pYe(i.dxyda_rough(p[0],p[1],L)),k=Math.max(k,a*gYe(E,A)/2)),k}var d=vYe(e,0,1),v=vYe(e,n.total,n.total-1),x=h(o[0],d),b=n.total-h(o[o.length-1],v);n.min<x&&(n.min=x),n.max>b&&(n.max=b),n.len=n.max-n.min}function vYe(e,t,r){var n=e.getPointAtLength(t),i=e.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function pYe(e){var t=Math.sqrt(e[0]*e[0]+e[1]*e[1]);return[e[0]/t,e[1]/t]}function gYe(e,t){var r=Math.abs(e[0]*t[0]+e[1]*t[1]),n=Math.sqrt(1-r*r);return n/r}function PYt(e,t,r,n,i,a){var o,s,l,u,c=m1.ensureSingle(e,\"g\",\"contourbg\"),f=c.selectAll(\"path\").data(a===\"fill\"&&!i?[0]:[]);f.enter().append(\"path\"),f.exit().remove();var h=[];for(u=0;u<t.length;u++)o=t[u],s=Y7([],o.x,r.c2p),l=Y7([],o.y,n.c2p),h.push(mYe(s,l,o.bicubic));f.attr(\"d\",\"M\"+h.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}function IYt(e,t,r,n,i,a,o,s,l,u,c){var f=u===\"fill\";f&&MYt(i,e.contours);var h=m1.ensureSingle(t,\"g\",\"contourfill\"),d=h.selectAll(\"path\").data(f?i:[]);d.enter().append(\"path\"),d.exit().remove(),d.each(function(v){var x=(v.prefixBoundary?c:\"\")+RYt(e,v,a,o,s,l,r,n);x?X7.select(this).attr(\"d\",x).style(\"stroke\",\"none\"):X7.select(this).remove()})}function RYt(e,t,r,n,i,a,o,s){var l,u=\"\",c=t.edgepaths.map(function(T,F){return F}),f=!0,h,d,v,x,b,p,E=Math.abs(r[0][0]-r[2][0])*1e-4,k=Math.abs(r[0][1]-r[2][1])*1e-4;function A(T){return Math.abs(T[1]-r[0][1])<k}function L(T){return Math.abs(T[1]-r[2][1])<k}function _(T){return Math.abs(T[0]-r[0][0])<E}function C(T){return Math.abs(T[0]-r[2][0])<E}function M(T,F){var q,V,H,X,G=\"\";for(A(T)&&!C(T)||L(T)&&!_(T)?(X=i.aaxis,H=dYe(i,a,[T[0],F[0]],.5*(T[1]+F[1]))):(X=i.baxis,H=dYe(i,a,.5*(T[0]+F[0]),[T[1],F[1]])),q=1;q<H.length;q++)for(G+=X.smoothing?\"C\":\"L\",V=0;V<H[q].length;V++){var N=H[q][V];G+=[o.c2p(N[0]),s.c2p(N[1])]+\" \"}return G}for(l=0,h=null;c.length;){var g=t.edgepaths[l][0];for(h&&(u+=M(h,g)),p=eC.smoothopen(t.edgepaths[l].map(n),t.smoothing),u+=f?p:p.replace(/^M/,\"L\"),c.splice(c.indexOf(l),1),h=t.edgepaths[l][t.edgepaths[l].length-1],x=-1,v=0;v<4;v++){if(!h){m1.log(\"Missing end?\",l,t);break}for(A(h)&&!C(h)?d=r[1]:_(h)?d=r[0]:L(h)?d=r[3]:C(h)&&(d=r[2]),b=0;b<t.edgepaths.length;b++){var P=t.edgepaths[b][0];Math.abs(h[0]-d[0])<E?Math.abs(h[0]-P[0])<E&&(P[1]-h[1])*(d[1]-P[1])>=0&&(d=P,x=b):Math.abs(h[1]-d[1])<k?Math.abs(h[1]-P[1])<k&&(P[0]-h[0])*(d[0]-P[0])>=0&&(d=P,x=b):m1.log(\"endpt to newendpt is not vert. or horz.\",h,d,P)}if(x>=0)break;u+=M(h,d),h=d}if(x===t.edgepaths.length){m1.log(\"unclosed perimeter path\");break}l=x,f=c.indexOf(l)===-1,f&&(l=c[0],u+=M(h,d)+\"Z\",h=null)}for(l=0;l<t.paths.length;l++)u+=eC.smoothclosed(t.paths[l].map(n),t.smoothing);return u}});var bYe=ye((Rxr,xYe)=>{\"use strict\";xYe.exports={attributes:g$(),supplyDefaults:m$(),colorbar:S8(),calc:cYe(),plot:_Ye(),style:A8(),moduleType:\"trace\",name:\"contourcarpet\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"carpet\",\"contour\",\"symbols\",\"showLegend\",\"hasLines\",\"carpetDependent\",\"noHover\",\"noSortingByValue\"],meta:{}}});var TYe=ye((Dxr,wYe)=>{\"use strict\";wYe.exports=bYe()});var J7=ye((zxr,kYe)=>{\"use strict\";var K7=Mr().extendFlat,tC=Uc(),AYe=Oc().axisHoverFormat,MYe=Ed().dash,DYt=i3(),EYe=HT(),zYt=EYe.INCREASING.COLOR,FYt=EYe.DECREASING.COLOR,y$=tC.line;function SYe(e){return{line:{color:K7({},y$.color,{dflt:e}),width:y$.width,dash:MYe,editType:\"style\"},editType:\"style\"}}kYe.exports={xperiod:tC.xperiod,xperiod0:tC.xperiod0,xperiodalignment:tC.xperiodalignment,xhoverformat:AYe(\"x\"),yhoverformat:AYe(\"y\"),x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},open:{valType:\"data_array\",editType:\"calc\"},high:{valType:\"data_array\",editType:\"calc\"},low:{valType:\"data_array\",editType:\"calc\"},close:{valType:\"data_array\",editType:\"calc\"},line:{width:K7({},y$.width,{}),dash:K7({},MYe,{}),editType:\"style\"},increasing:SYe(zYt),decreasing:SYe(FYt),text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},tickwidth:{valType:\"number\",min:0,max:.5,dflt:.3,editType:\"calc\"},hoverlabel:K7({},DYt.hoverlabel,{split:{valType:\"boolean\",dflt:!1,editType:\"style\"}}),zorder:tC.zorder}});var _$=ye((Fxr,CYe)=>{\"use strict\";var qYt=ba(),OYt=Mr();CYe.exports=function(t,r,n,i){var a=n(\"x\"),o=n(\"open\"),s=n(\"high\"),l=n(\"low\"),u=n(\"close\");n(\"hoverlabel.split\");var c=qYt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");if(c(t,r,[\"x\"],i),!!(o&&s&&l&&u)){var f=Math.min(o.length,s.length,l.length,u.length);return a&&(f=Math.min(f,OYt.minRowLength(a))),r._length=f,f}}});var IYe=ye((qxr,PYe)=>{\"use strict\";var BYt=Mr(),NYt=_$(),UYt=Pg(),VYt=J7();PYe.exports=function(t,r,n,i){function a(s,l){return BYt.coerce(t,r,VYt,s,l)}var o=NYt(t,r,a,i);if(!o){r.visible=!1;return}UYt(t,r,i,a,{x:!0}),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"line.width\"),a(\"line.dash\"),LYe(t,r,a,\"increasing\"),LYe(t,r,a,\"decreasing\"),a(\"text\"),a(\"hovertext\"),a(\"tickwidth\"),i._requestRangeslider[r.xaxis]=!0,a(\"zorder\")};function LYe(e,t,r,n){r(n+\".line.color\"),r(n+\".line.width\",t.line.width),r(n+\".line.dash\",t.line.dash)}});var x$=ye((Oxr,DYe)=>{\"use strict\";var BA=Mr(),$7=BA._,Q7=Qa(),HYt=Rg(),rC=es().BADNUM;function GYt(e,t){var r=Q7.getFromId(e,t.xaxis),n=Q7.getFromId(e,t.yaxis),i=WYt(e,r,t),a=t._minDiff;t._minDiff=null;var o=t._origX;t._origX=null;var s=t._xcalc;t._xcalc=null;var l=RYe(e,t,o,s,n,jYt);return t._extremes[r._id]=Q7.findExtremes(r,s,{vpad:a/2}),l.length?(BA.extendFlat(l[0].t,{wHover:a/2,tickLen:i}),l):[{t:{empty:!0}}]}function jYt(e,t,r,n){return{o:e,h:t,l:r,c:n}}function RYe(e,t,r,n,i,a){for(var o=i.makeCalcdata(t,\"open\"),s=i.makeCalcdata(t,\"high\"),l=i.makeCalcdata(t,\"low\"),u=i.makeCalcdata(t,\"close\"),c=BA.isArrayOrTypedArray(t.text),f=BA.isArrayOrTypedArray(t.hovertext),h=!0,d=null,v=!!t.xperiodalignment,x=[],b=0;b<n.length;b++){var p=n[b],E=o[b],k=s[b],A=l[b],L=u[b];if(p!==rC&&E!==rC&&k!==rC&&A!==rC&&L!==rC){L===E?d!==null&&L!==d&&(h=L>d):h=L>E,d=L;var _=a(E,k,A,L);_.pos=p,_.yc=(E+L)/2,_.i=b,_.dir=h?\"increasing\":\"decreasing\",_.x=_.pos,_.y=[A,k],v&&(_.orig_p=r[b]),c&&(_.tx=t.text[b]),f&&(_.htx=t.hovertext[b]),x.push(_)}else x.push({pos:p,empty:!0})}return t._extremes[i._id]=Q7.findExtremes(i,BA.concat(l,s),{padded:!0}),x.length&&(x[0].t={labels:{open:$7(e,\"open:\")+\" \",high:$7(e,\"high:\")+\" \",low:$7(e,\"low:\")+\" \",close:$7(e,\"close:\")+\" \"}}),x}function WYt(e,t,r){var n=r._minDiff;if(!n){var i=e._fullData,a=[];n=1/0;var o;for(o=0;o<i.length;o++){var s=i[o];if(s.type===\"ohlc\"&&s.visible===!0&&s.xaxis===t._id){a.push(s);var l=t.makeCalcdata(s,\"x\");s._origX=l;var u=HYt(r,t,\"x\",l).vals;s._xcalc=u;var c=BA.distinctVals(u).minDiff;c&&isFinite(c)&&(n=Math.min(n,c))}}for(n===1/0&&(n=1),o=0;o<a.length;o++)a[o]._minDiff=n}return n*r.tickwidth}DYe.exports={calc:GYt,calcCommon:RYe}});var qYe=ye((Bxr,FYe)=>{\"use strict\";var ZYt=xa(),zYe=Mr();FYe.exports=function(t,r,n,i){var a=r.yaxis,o=r.xaxis,s=!!o.rangebreaks;zYe.makeTraceGroups(i,n,\"trace ohlc\").each(function(l){var u=ZYt.select(this),c=l[0],f=c.t,h=c.trace;if(h.visible!==!0||f.empty){u.remove();return}var d=f.tickLen,v=u.selectAll(\"path\").data(zYe.identity);v.enter().append(\"path\"),v.exit().remove(),v.attr(\"d\",function(x){if(x.empty)return\"M0,0Z\";var b=o.c2p(x.pos-d,!0),p=o.c2p(x.pos+d,!0),E=s?(b+p)/2:o.c2p(x.pos,!0),k=a.c2p(x.o,!0),A=a.c2p(x.h,!0),L=a.c2p(x.l,!0),_=a.c2p(x.c,!0);return\"M\"+b+\",\"+k+\"H\"+E+\"M\"+E+\",\"+A+\"V\"+L+\"M\"+p+\",\"+_+\"H\"+E})})}});var BYe=ye((Nxr,OYe)=>{\"use strict\";var b$=xa(),XYt=ao(),YYt=va();OYe.exports=function(t,r,n){var i=n||b$.select(t).selectAll(\"g.ohlclayer\").selectAll(\"g.trace\");i.style(\"opacity\",function(a){return a[0].trace.opacity}),i.each(function(a){var o=a[0].trace;b$.select(this).selectAll(\"path\").each(function(s){if(!s.empty){var l=o[s.dir].line;b$.select(this).style(\"fill\",\"none\").call(YYt.stroke,l.color).call(XYt.dashLine,l.dash,l.width).style(\"opacity\",o.selectedpoints&&!s.selected?.3:1)}})})}});var T$=ye((Uxr,GYe)=>{\"use strict\";var w$=Qa(),KYt=Mr(),e9=Nc(),JYt=va(),$Yt=Mr().fillText,NYe=HT(),QYt={increasing:NYe.INCREASING.SYMBOL,decreasing:NYe.DECREASING.SYMBOL};function eKt(e,t,r,n){var i=e.cd,a=i[0].trace;return a.hoverlabel.split?VYe(e,t,r,n):HYe(e,t,r,n)}function UYe(e,t,r,n){var i=e.cd,a=e.xa,o=i[0].trace,s=i[0].t,l=o.type,u=l===\"ohlc\"?\"l\":\"min\",c=l===\"ohlc\"?\"h\":\"max\",f,h,d=s.bPos||0,v=function(P){return P.pos+d-t},x=s.bdPos||s.tickLen,b=s.wHover,p=Math.min(1,x/Math.abs(a.r2c(a.range[1])-a.r2c(a.range[0])));f=e.maxHoverDistance-p,h=e.maxSpikeDistance-p;function E(P){var T=v(P);return e9.inbox(T-b,T+b,f)}function k(P){var T=P[u],F=P[c];return T===F||e9.inbox(T-r,F-r,f)}function A(P){return(E(P)+k(P))/2}var L=e9.getDistanceFunction(n,E,k,A);if(e9.getClosest(i,L,e),e.index===!1)return null;var _=i[e.index];if(_.empty)return null;var C=_.dir,M=o[C],g=M.line.color;return JYt.opacity(g)&&M.line.width?e.color=g:e.color=M.fillcolor,e.x0=a.c2p(_.pos+d-x,!0),e.x1=a.c2p(_.pos+d+x,!0),e.xLabelVal=_.orig_p!==void 0?_.orig_p:_.pos,e.spikeDistance=A(_)*h/f,e.xSpike=a.c2p(_.pos,!0),e}function VYe(e,t,r,n){var i=e.cd,a=e.ya,o=i[0].trace,s=i[0].t,l=[],u=UYe(e,t,r,n);if(!u)return[];var c=u.index,f=i[c],h=f.hi||o.hoverinfo,d=h.split(\"+\"),v=h===\"all\",x=v||d.indexOf(\"y\")!==-1;if(!x)return[];for(var b=[\"high\",\"open\",\"close\",\"low\"],p={},E=0;E<b.length;E++){var k=b[E],A=o[k][u.index],L=a.c2p(A,!0),_;A in p?(_=p[A],_.yLabel+=\"<br>\"+s.labels[k]+w$.hoverLabelText(a,A,o.yhoverformat)):(_=KYt.extendFlat({},u),_.y0=_.y1=L,_.yLabelVal=A,_.yLabel=s.labels[k]+w$.hoverLabelText(a,A,o.yhoverformat),_.name=\"\",l.push(_),p[A]=_)}return l}function HYe(e,t,r,n){var i=e.cd,a=e.ya,o=i[0].trace,s=i[0].t,l=UYe(e,t,r,n);if(!l)return[];var u=l.index,c=i[u],f=l.index=c.i,h=c.dir;function d(A){return s.labels[A]+w$.hoverLabelText(a,o[A][f],o.yhoverformat)}var v=c.hi||o.hoverinfo,x=v.split(\"+\"),b=v===\"all\",p=b||x.indexOf(\"y\")!==-1,E=b||x.indexOf(\"text\")!==-1,k=p?[d(\"open\"),d(\"high\"),d(\"low\"),d(\"close\")+\" \"+QYt[h]]:[];return E&&$Yt(c,o,k),l.extraText=k.join(\"<br>\"),l.y0=l.y1=a.c2p(c.yc,!0),[l]}GYe.exports={hoverPoints:eKt,hoverSplit:VYe,hoverOnPoints:HYe}});var A$=ye((Vxr,jYe)=>{\"use strict\";jYe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l=n[0].t.bPos||0;if(r===!1)for(s=0;s<n.length;s++)n[s].selected=0;else for(s=0;s<n.length;s++){var u=n[s];r.contains([i.c2p(u.pos+l),a.c2p(u.yc)],null,u.i,t)?(o.push({pointNumber:u.i,x:i.c2d(u.pos),y:a.c2d(u.yc)}),u.selected=1):u.selected=0}return o}});var ZYe=ye((Hxr,WYe)=>{\"use strict\";WYe.exports={moduleType:\"trace\",name:\"ohlc\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"showLegend\"],meta:{},attributes:J7(),supplyDefaults:IYe(),calc:x$().calc,plot:qYe(),style:BYe(),hoverPoints:T$().hoverPoints,selectPoints:A$()}});var YYe=ye((Gxr,XYe)=>{\"use strict\";XYe.exports=ZYe()});var M$=ye((jxr,$Ye)=>{\"use strict\";var S$=Mr().extendFlat,KYe=Oc().axisHoverFormat,c0=J7(),NA=v4();function JYe(e){return{line:{color:S$({},NA.line.color,{dflt:e}),width:NA.line.width,editType:\"style\"},fillcolor:NA.fillcolor,editType:\"style\"}}$Ye.exports={xperiod:c0.xperiod,xperiod0:c0.xperiod0,xperiodalignment:c0.xperiodalignment,xhoverformat:KYe(\"x\"),yhoverformat:KYe(\"y\"),x:c0.x,open:c0.open,high:c0.high,low:c0.low,close:c0.close,line:{width:S$({},NA.line.width,{}),editType:\"style\"},increasing:JYe(c0.increasing.line.color.dflt),decreasing:JYe(c0.decreasing.line.color.dflt),text:c0.text,hovertext:c0.hovertext,whiskerwidth:S$({},NA.whiskerwidth,{dflt:0}),hoverlabel:c0.hoverlabel,zorder:NA.zorder}});var tKe=ye((Wxr,eKe)=>{\"use strict\";var tKt=Mr(),rKt=va(),iKt=_$(),nKt=Pg(),aKt=M$();eKe.exports=function(t,r,n,i){function a(s,l){return tKt.coerce(t,r,aKt,s,l)}var o=iKt(t,r,a,i);if(!o){r.visible=!1;return}nKt(t,r,i,a,{x:!0}),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"line.width\"),QYe(t,r,a,\"increasing\"),QYe(t,r,a,\"decreasing\"),a(\"text\"),a(\"hovertext\"),a(\"whiskerwidth\"),i._requestRangeslider[r.xaxis]=!0,a(\"zorder\")};function QYe(e,t,r,n){var i=r(n+\".line.color\");r(n+\".line.width\",t.line.width),r(n+\".fillcolor\",rKt.addOpacity(i,.5))}});var aKe=ye((Zxr,nKe)=>{\"use strict\";var rKe=Mr(),iKe=Qa(),oKt=Rg(),sKt=x$().calcCommon;nKe.exports=function(e,t){var r=e._fullLayout,n=iKe.getFromId(e,t.xaxis),i=iKe.getFromId(e,t.yaxis),a=n.makeCalcdata(t,\"x\"),o=oKt(t,n,\"x\",a).vals,s=sKt(e,t,a,o,i,lKt);return s.length?(rKe.extendFlat(s[0].t,{num:r._numBoxes,dPos:rKe.distinctVals(o).minDiff/2,posLetter:\"x\",valLetter:\"y\"}),r._numBoxes++,s):[{t:{empty:!0}}]};function lKt(e,t,r,n){return{min:r,q1:Math.min(e,n),med:n,q3:Math.max(e,n),max:t}}});var sKe=ye((Xxr,oKe)=>{\"use strict\";oKe.exports={moduleType:\"trace\",name:\"candlestick\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"showLegend\",\"candlestick\",\"boxLayout\"],meta:{},attributes:M$(),layoutAttributes:p4(),supplyLayoutDefaults:VI().supplyLayoutDefaults,crossTraceCalc:GI().crossTraceCalc,supplyDefaults:tKe(),calc:aKe(),plot:jI().plot,layerName:\"boxlayer\",style:WI().style,hoverPoints:T$().hoverPoints,selectPoints:A$()}});var uKe=ye((Yxr,lKe)=>{\"use strict\";lKe.exports=sKe()});var k$=ye((Kxr,cKe)=>{\"use strict\";var r9=Mr(),uKt=ym(),t9=r9.deg2rad,E$=r9.rad2deg;cKe.exports=function(t,r,n){switch(uKt(t,n),t._id){case\"x\":case\"radialaxis\":cKt(t,r);break;case\"angularaxis\":dKt(t,r);break}};function cKt(e,t){var r=t._subplot;e.setGeometry=function(){var n=e._rl[0],i=e._rl[1],a=r.innerRadius,o=(r.radius-a)/(i-n),s=a/o,l=n>i?function(u){return u<=0}:function(u){return u>=0};e.c2g=function(u){var c=e.c2l(u)-n;return(l(c)?c:0)+s},e.g2c=function(u){return e.l2c(u+n-s)},e.g2p=function(u){return u*o},e.c2p=function(u){return e.g2p(e.c2g(u))}}}function fKt(e,t){return t===\"degrees\"?t9(e):e}function hKt(e,t){return t===\"degrees\"?E$(e):e}function dKt(e,t){var r=e.type;if(r===\"linear\"){var n=e.d2c,i=e.c2d;e.d2c=function(a,o){return fKt(n(a),o)},e.c2d=function(a,o){return i(hKt(a,o))}}e.makeCalcdata=function(a,o){var s=a[o],l=a._length,u,c,f=function(b){return e.d2c(b,a.thetaunit)};if(s)for(u=new Array(l),c=0;c<l;c++)u[c]=f(s[c]);else{var h=o+\"0\",d=\"d\"+o,v=h in a?f(a[h]):0,x=a[d]?f(a[d]):(e.period||2*Math.PI)/l;for(u=new Array(l),c=0;c<l;c++)u[c]=v+c*x}return u},e.setGeometry=function(){var a=t.sector,o=a.map(t9),s={clockwise:-1,counterclockwise:1}[e.direction],l=t9(e.rotation),u=function(p){return s*p+l},c=function(p){return(p-l)/s},f,h,d,v;switch(r){case\"linear\":h=f=r9.identity,v=t9,d=E$,e.range=r9.isFullCircle(o)?[a[0],a[0]+360]:o.map(c).map(E$);break;case\"category\":var x=e._categories.length,b=e.period?Math.max(e.period,x):x;b===0&&(b=1),h=v=function(p){return p*2*Math.PI/b},f=d=function(p){return p*b/Math.PI/2},e.range=[0,b];break}e.c2g=function(p){return u(h(p))},e.g2c=function(p){return f(c(p))},e.t2g=function(p){return u(v(p))},e.g2t=function(p){return d(c(p))}}}});var i9=ye((Jxr,fKe)=>{\"use strict\";fKe.exports={attr:\"subplot\",name:\"polar\",axisNames:[\"angularaxis\",\"radialaxis\"],axisName2dataArray:{angularaxis:\"theta\",radialaxis:\"r\"},layerNames:[\"draglayer\",\"plotbg\",\"backplot\",\"angular-grid\",\"radial-grid\",\"frontplot\",\"angular-line\",\"radial-line\",\"angular-axis\",\"radial-axis\"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}});var a9=ye(($xr,gKe)=>{\"use strict\";var dw=Mr(),hKe=wM().tester,C$=dw.findIndexOfMin,vKe=dw.isAngleInsideSector,vKt=dw.angleDelta,dKe=dw.angleDist;function pKt(e,t,r,n,i){if(!vKe(t,n))return!1;var a,o;r[0]<r[1]?(a=r[0],o=r[1]):(a=r[1],o=r[0]);var s=hKe(UA(a,n[0],n[1],i)),l=hKe(UA(o,n[0],n[1],i)),u=[e*Math.cos(t),e*Math.sin(t)];return l.contains(u)&&!s.contains(u)}function pKe(e,t,r,n){var i,a,o=n[0],s=n[1],l=n9(Math.sin(t)-Math.sin(e)),u=n9(Math.cos(t)-Math.cos(e)),c=Math.tan(r),f=n9(1/c),h=l/u,d=s-h*o;return f?l&&u?(i=d/(c-h),a=c*i):u?(i=s*f,a=s):(i=o,a=o*c):l&&u?(i=0,a=d):u?(i=0,a=s):i=a=NaN,[i,a]}function gKt(e,t,r,n){var i=-t*r,a=t*t+1,o=2*(t*i-r),s=i*i+r*r-e*e,l=Math.sqrt(o*o-4*a*s),u=(-o+l)/(2*a),c=(-o-l)/(2*a);return[[u,t*u+i+n],[c,t*c+i+n]]}function mKt(e,t){var r=t.length,n=new Array(r+1),i;for(i=0;i<r;i++){var a=t[i];n[i]=[e*Math.cos(a),e*Math.sin(a)]}return n[i]=n[0].slice(),n}function yKt(e,t,r,n){var i=n.length,a=[],o,s;function l(p){return[e*Math.cos(p),e*Math.sin(p)]}function u(p,E,k){return pKe(p,E,k,l(p))}function c(p){return dw.mod(p,i)}function f(p){return vKe(p,[t,r])}var h=C$(n,function(p){return f(p)?dKe(p,t):1/0}),d=u(n[h],n[c(h-1)],t);for(a.push(d),o=h,s=0;s<i;o++,s++){var v=n[c(o)];if(!f(v))break;a.push(l(v))}var x=C$(n,function(p){return f(p)?dKe(p,r):1/0}),b=u(n[x],n[c(x+1)],r);return a.push(b),a.push([0,0]),a.push(a[0].slice()),a}function UA(e,t,r,n){return dw.isFullCircle([t,r])?mKt(e,n):yKt(e,t,r,n)}function _Kt(e,t,r,n){for(var i=1/0,a=1/0,o=UA(e,t,r,n),s=0;s<o.length;s++){var l=o[s];i=Math.min(i,l[0]),a=Math.min(a,-l[1])}return[i,a]}function xKt(e,t){var r=function(a){var o=vKt(a,e);return o>0?o:1/0},n=C$(t,r),i=dw.mod(n+1,t.length);return[t[n],t[i]]}function n9(e){return Math.abs(e)>1e-10?e:0}function L$(e,t,r){t=t||0,r=r||0;for(var n=e.length,i=new Array(n),a=0;a<n;a++){var o=e[a];i[a]=[t+o[0],r-o[1]]}return i}function bKt(e,t,r,n,i,a){var o=UA(e,t,r,n);return\"M\"+L$(o,i,a).join(\"L\")}function wKt(e,t,r,n,i,a,o){var s,l;e<t?(s=e,l=t):(s=t,l=e);var u=L$(UA(s,r,n,i),a,o),c=L$(UA(l,r,n,i),a,o);return\"M\"+c.reverse().join(\"L\")+\"M\"+u.join(\"L\")}gKe.exports={isPtInsidePolygon:pKt,findPolygonOffset:_Kt,findEnclosingVertexAngles:xKt,findIntersectionXY:pKe,findXYatLength:gKt,clampTiny:n9,pathPolygon:bKt,pathPolygonAnnulus:wKt}});var P$=ye((Qxr,_Ke)=>{\"use strict\";function mKe(e){return e<0?-1:e>0?1:0}function VA(e){var t=e[0],r=e[1];if(!isFinite(t)||!isFinite(r))return[1,0];var n=(t+1)*(t+1)+r*r;return[(t*t+r*r-1)/n,2*r/n]}function HA(e,t){var r=t[0],n=t[1];return[r*e.radius+e.cx,-n*e.radius+e.cy]}function yKe(e,t){return t*e.radius}function TKt(e,t,r,n){var i=HA(e,VA([r,t])),a=i[0],o=i[1],s=HA(e,VA([n,t])),l=s[0],u=s[1];if(t===0)return[\"M\"+a+\",\"+o,\"L\"+l+\",\"+u].join(\" \");var c=yKe(e,1/Math.abs(t));return[\"M\"+a+\",\"+o,\"A\"+c+\",\"+c+\" 0 0,\"+(t<0?1:0)+\" \"+l+\",\"+u].join(\" \")}function AKt(e,t,r,n){var i=yKe(e,1/(t+1)),a=HA(e,VA([t,r])),o=a[0],s=a[1],l=HA(e,VA([t,n])),u=l[0],c=l[1];if(mKe(r)!==mKe(n)){var f=HA(e,VA([t,0])),h=f[0],d=f[1];return[\"M\"+o+\",\"+s,\"A\"+i+\",\"+i+\" 0 0,\"+(0<r?0:1)+\" \"+h+\",\"+d,\"A\"+i+\",\"+i+\" 0 0,\"+(n<0?0:1)+u+\",\"+c].join(\" \")}return[\"M\"+o+\",\"+s,\"A\"+i+\",\"+i+\" 0 0,\"+(n<r?0:1)+\" \"+u+\",\"+c].join(\" \")}_Ke.exports={smith:VA,reactanceArc:TKt,resistanceArc:AKt,smithTransform:HA}});var D$=ye((ebr,kKe)=>{\"use strict\";var vw=xa(),SKt=id(),gw=ba(),cc=Mr(),ry=cc.strRotate,dd=cc.strTranslate,I$=va(),iC=ao(),MKt=Xu(),dp=Qa(),EKt=ym(),kKt=k$(),CKt=wg().doAutoRange,y1=DN(),l9=gv(),xKe=Nc(),LKt=Mb(),PKt=wf().prepSelect,IKt=wf().selectOnClick,R$=wf().clearOutline,bKe=Tg(),wKe=lM(),TKe=gM().redrawReglTraces,RKt=Nh().MID_SHIFT,Lx=i9(),_1=a9(),u9=P$(),o9=u9.smith,DKt=u9.reactanceArc,zKt=u9.resistanceArc,s9=u9.smithTransform,FKt=cc._,AKe=cc.mod,Px=cc.deg2rad,pw=cc.rad2deg;function SKe(e,t,r){this.isSmith=r||!1,this.id=t,this.gd=e,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var n=e._fullLayout,i=\"clip\"+n._uid+t;this.clipIds.forTraces=i+\"-for-traces\",this.clipPaths.forTraces=n._clips.append(\"clipPath\").attr(\"id\",this.clipIds.forTraces),this.clipPaths.forTraces.append(\"path\"),this.framework=n[\"_\"+(r?\"smith\":\"polar\")+\"layer\"].append(\"g\").attr(\"class\",t),this.getHole=function(a){return this.isSmith?0:a.hole},this.getSector=function(a){return this.isSmith?[0,360]:a.sector},this.getRadial=function(a){return this.isSmith?a.realaxis:a.radialaxis},this.getAngular=function(a){return this.isSmith?a.imaginaryaxis:a.angularaxis},r||(this.radialTickLayout=null,this.angularTickLayout=null)}var Fd=SKe.prototype;kKe.exports=function(t,r,n){return new SKe(t,r,n)};Fd.plot=function(e,t){for(var r=this,n=t[r.id],i=!1,a=0;a<e.length;a++){var o=e[a][0].trace;if(o.cliponaxis===!1){i=!0;break}}r._hasClipOnAxisFalse=i,r.updateLayers(t,n),r.updateLayout(t,n),MKt.generalUpdatePerTraceModule(r.gd,r,e,n),r.updateFx(t,n),r.isSmith&&(delete n.realaxis.range,delete n.imaginaryaxis.range)};Fd.updateLayers=function(e,t){var r=this,n=r.isSmith,i=r.layers,a=r.getRadial(t),o=r.getAngular(t),s=Lx.layerNames,l=s.indexOf(\"frontplot\"),u=s.slice(0,l),c=o.layer===\"below traces\",f=a.layer===\"below traces\";c&&u.push(\"angular-line\"),f&&u.push(\"radial-line\"),c&&u.push(\"angular-axis\"),f&&u.push(\"radial-axis\"),u.push(\"frontplot\"),c||u.push(\"angular-line\"),f||u.push(\"radial-line\"),c||u.push(\"angular-axis\"),f||u.push(\"radial-axis\");var h=(n?\"smith\":\"polar\")+\"sublayer\",d=r.framework.selectAll(\".\"+h).data(u,String);d.enter().append(\"g\").attr(\"class\",function(v){return h+\" \"+v}).each(function(v){var x=i[v]=vw.select(this);switch(v){case\"frontplot\":n||x.append(\"g\").classed(\"barlayer\",!0),x.append(\"g\").classed(\"scatterlayer\",!0);break;case\"backplot\":x.append(\"g\").classed(\"maplayer\",!0);break;case\"plotbg\":i.bg=x.append(\"path\");break;case\"radial-grid\":x.style(\"fill\",\"none\");break;case\"angular-grid\":x.style(\"fill\",\"none\");break;case\"radial-line\":x.append(\"line\").style(\"fill\",\"none\");break;case\"angular-line\":x.append(\"path\").style(\"fill\",\"none\");break}}),d.order()};Fd.updateLayout=function(e,t){var r=this,n=r.layers,i=e._size,a=r.getRadial(t),o=r.getAngular(t),s=t.domain.x,l=t.domain.y;r.xOffset=i.l+i.w*s[0],r.yOffset=i.t+i.h*(1-l[1]);var u=r.xLength=i.w*(s[1]-s[0]),c=r.yLength=i.h*(l[1]-l[0]),f=r.getSector(t);r.sectorInRad=f.map(Px);var h=r.sectorBBox=qKt(f),d=h[2]-h[0],v=h[3]-h[1],x=c/u,b=Math.abs(v/d),p,E,k,A,L;x>b?(p=u,E=u*b,L=(c-E)/i.h/2,k=[s[0],s[1]],A=[l[0]+L,l[1]-L]):(p=c/b,E=c,L=(u-p)/i.w/2,k=[s[0]+L,s[1]-L],A=[l[0],l[1]]),r.xLength2=p,r.yLength2=E,r.xDomain2=k,r.yDomain2=A;var _=r.xOffset2=i.l+i.w*k[0],C=r.yOffset2=i.t+i.h*(1-A[1]),M=r.radius=p/d,g=r.innerRadius=r.getHole(t)*M,P=r.cx=_-M*h[0],T=r.cy=C+M*h[3],F=r.cxx=P-_,q=r.cyy=T-C,V=a.side,H;V===\"counterclockwise\"?(H=V,V=\"top\"):V===\"clockwise\"&&(H=V,V=\"bottom\"),r.radialAxis=r.mockAxis(e,t,a,{_id:\"x\",side:V,_trueSide:H,domain:[g/i.w,M/i.w]}),r.angularAxis=r.mockAxis(e,t,o,{side:\"right\",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(e,t),r.updateAngularAxis(e,t),r.updateRadialAxis(e,t),r.updateRadialAxisTitle(e,t),r.xaxis=r.mockCartesianAxis(e,t,{_id:\"x\",domain:k}),r.yaxis=r.mockCartesianAxis(e,t,{_id:\"y\",domain:A});var X=r.pathSubplot();r.clipPaths.forTraces.select(\"path\").attr(\"d\",X).attr(\"transform\",dd(F,q)),n.frontplot.attr(\"transform\",dd(_,C)).call(iC.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr(\"d\",X).attr(\"transform\",dd(P,T)).call(I$.fill,t.bgcolor)};Fd.mockAxis=function(e,t,r,n){var i=cc.extendFlat({},r,n);return kKt(i,t,e),i};Fd.mockCartesianAxis=function(e,t,r){var n=this,i=n.isSmith,a=r._id,o=cc.extendFlat({type:\"linear\"},r);EKt(o,e);var s={x:[0,2],y:[1,3]};return o.setRange=function(){var l=n.sectorBBox,u=s[a],c=n.radialAxis._rl,f=(c[1]-c[0])/(1-n.getHole(t));o.range=[l[u[0]]*f,l[u[1]]*f]},o.isPtWithinRange=a===\"x\"&&!i?function(l){return n.isPtInside(l)}:function(){return!0},o.setRange(),o.setScale(),o};Fd.doAutoRange=function(e,t){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(t);CKt(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\")],i.minallowed!==void 0){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(i.maxallowed!==void 0){var l=i.r2l(i.maxallowed);i._rl[0]<i._rl[1]?i._rl[1]=Math.min(i._rl[1],l):i._rl[0]=Math.min(i._rl[0],l)}};Fd.updateRadialAxis=function(e,t){var r=this,n=r.gd,i=r.layers,a=r.radius,o=r.innerRadius,s=r.cx,l=r.cy,u=r.getRadial(t),c=AKe(r.getSector(t)[0],360),f=r.radialAxis,h=o<a,d=r.isSmith;d||(r.fillViewInitialKey(\"radialaxis.angle\",u.angle),r.fillViewInitialKey(\"radialaxis.range\",f.range.slice()),f.setGeometry()),f.tickangle===\"auto\"&&c>90&&c<=270&&(f.tickangle=180);var v=d?function(M){var g=s9(r,o9([M.x,0]));return dd(g[0]-s,g[1]-l)}:function(M){return dd(f.l2p(M.x)+o,0)},x=d?function(M){return zKt(r,M.x,-1/0,1/0)}:function(M){return r.pathArc(f.r2p(M.x)+o)},b=MKe(u);if(r.radialTickLayout!==b&&(i[\"radial-axis\"].selectAll(\".xtick\").remove(),r.radialTickLayout=b),h){f.setScale();var p=0,E=d?(f.tickvals||[]).filter(function(M){return M>=0}).map(function(M){return dp.tickText(f,M,!0,!1)}):dp.calcTicks(f),k=d?E:dp.clipEnds(f,E),A=dp.getTickSigns(f)[2];d&&((f.ticks===\"top\"&&f.side===\"bottom\"||f.ticks===\"bottom\"&&f.side===\"top\")&&(A=-A),f.ticks===\"top\"&&f.side===\"top\"&&(p=-f.ticklen),f.ticks===\"bottom\"&&f.side===\"bottom\"&&(p=f.ticklen)),dp.drawTicks(n,f,{vals:E,layer:i[\"radial-axis\"],path:dp.makeTickPath(f,0,A),transFn:v,crisp:!1}),dp.drawGrid(n,f,{vals:k,layer:i[\"radial-grid\"],path:x,transFn:cc.noop,crisp:!1}),dp.drawLabels(n,f,{vals:E,layer:i[\"radial-axis\"],transFn:v,labelFns:dp.makeLabelFns(f,p)})}var L=r.radialAxisAngle=r.vangles?pw(EKe(Px(u.angle),r.vangles)):u.angle,_=dd(s,l),C=_+ry(-L);nC(i[\"radial-axis\"],h&&(u.showticklabels||u.ticks),{transform:C}),nC(i[\"radial-grid\"],h&&u.showgrid,{transform:d?\"\":_}),nC(i[\"radial-line\"].select(\"line\"),h&&u.showline,{x1:d?-a:o,y1:0,x2:a,y2:0,transform:C}).attr(\"stroke-width\",u.linewidth).call(I$.stroke,u.linecolor)};Fd.updateRadialAxisTitle=function(e,t,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(t),u=n.id+\"title\",c=0;if(l.title){var f=iC.bBox(n.layers[\"radial-axis\"].node()).height,h=l.title.font.size,d=l.side;c=d===\"top\"?h:d===\"counterclockwise\"?-(f+h*.4):f+h*.8}var v=r!==void 0?r:n.radialAxisAngle,x=Px(v),b=Math.cos(x),p=Math.sin(x),E=o+a/2*b+c*p,k=s-a/2*p+c*b;n.layers[\"radial-axis-title\"]=LKt.draw(i,u,{propContainer:l,propName:n.id+\".radialaxis.title\",placeholder:FKt(i,\"Click to enter radial axis title\"),attributes:{x:E,y:k,\"text-anchor\":\"middle\"},transform:{rotate:-v}})}};Fd.updateAngularAxis=function(e,t){var r=this,n=r.gd,i=r.layers,a=r.radius,o=r.innerRadius,s=r.cx,l=r.cy,u=r.getAngular(t),c=r.angularAxis,f=r.isSmith;f||(r.fillViewInitialKey(\"angularaxis.rotation\",u.rotation),c.setGeometry(),c.setScale());var h=f?function(g){var P=s9(r,o9([0,g.x]));return Math.atan2(P[0]-s,P[1]-l)-Math.PI/2}:function(g){return c.t2g(g.x)};c.type===\"linear\"&&c.thetaunit===\"radians\"&&(c.tick0=pw(c.tick0),c.dtick=pw(c.dtick));var d=function(g){return dd(s+a*Math.cos(g),l-a*Math.sin(g))},v=f?function(g){var P=s9(r,o9([0,g.x]));return dd(P[0],P[1])}:function(g){return d(h(g))},x=f?function(g){var P=s9(r,o9([0,g.x])),T=Math.atan2(P[0]-s,P[1]-l)-Math.PI/2;return dd(P[0],P[1])+ry(-pw(T))}:function(g){var P=h(g);return d(P)+ry(-pw(P))},b=f?function(g){return DKt(r,g.x,0,1/0)}:function(g){var P=h(g),T=Math.cos(P),F=Math.sin(P);return\"M\"+[s+o*T,l-o*F]+\"L\"+[s+a*T,l-a*F]},p=dp.makeLabelFns(c,0),E=p.labelStandoff,k={};k.xFn=function(g){var P=h(g);return Math.cos(P)*E},k.yFn=function(g){var P=h(g),T=Math.sin(P)>0?.2:1;return-Math.sin(P)*(E+g.fontSize*T)+Math.abs(Math.cos(P))*(g.fontSize*RKt)},k.anchorFn=function(g){var P=h(g),T=Math.cos(P);return Math.abs(T)<.1?\"middle\":T>0?\"start\":\"end\"},k.heightFn=function(g,P,T){var F=h(g);return-.5*(1+Math.sin(F))*T};var A=MKe(u);r.angularTickLayout!==A&&(i[\"angular-axis\"].selectAll(\".\"+c._id+\"tick\").remove(),r.angularTickLayout=A);var L=f?[1/0].concat(c.tickvals||[]).map(function(g){return dp.tickText(c,g,!0,!1)}):dp.calcTicks(c);f&&(L[0].text=\"\\u221E\",L[0].fontSize*=1.75);var _;if(t.gridshape===\"linear\"?(_=L.map(h),cc.angleDelta(_[0],_[1])<0&&(_=_.slice().reverse())):_=null,r.vangles=_,c.type===\"category\"&&(L=L.filter(function(g){return cc.isAngleInsideSector(h(g),r.sectorInRad)})),c.visible){var C=c.ticks===\"inside\"?-1:1,M=(c.linewidth||1)/2;dp.drawTicks(n,c,{vals:L,layer:i[\"angular-axis\"],path:\"M\"+C*M+\",0h\"+C*c.ticklen,transFn:x,crisp:!1}),dp.drawGrid(n,c,{vals:L,layer:i[\"angular-grid\"],path:b,transFn:cc.noop,crisp:!1}),dp.drawLabels(n,c,{vals:L,layer:i[\"angular-axis\"],repositionOnUpdate:!0,transFn:v,labelFns:k})}nC(i[\"angular-line\"].select(\"path\"),u.showline,{d:r.pathSubplot(),transform:dd(s,l)}).attr(\"stroke-width\",u.linewidth).call(I$.stroke,u.linecolor)};Fd.updateFx=function(e,t){if(!this.gd._context.staticPlot){var r=!this.isSmith;r&&(this.updateAngularDrag(e),this.updateRadialDrag(e,t,0),this.updateRadialDrag(e,t,1)),this.updateHoverAndMainDrag(e)}};Fd.updateHoverAndMainDrag=function(e){var t=this,r=t.isSmith,n=t.gd,i=t.layers,a=e._zoomlayer,o=Lx.MINZOOM,s=Lx.OFFEDGE,l=t.radius,u=t.innerRadius,c=t.cx,f=t.cy,h=t.cxx,d=t.cyy,v=t.sectorInRad,x=t.vangles,b=t.radialAxis,p=_1.clampTiny,E=_1.findXYatLength,k=_1.findEnclosingVertexAngles,A=Lx.cornerHalfWidth,L=Lx.cornerLen/2,_,C,M=y1.makeDragger(i,\"path\",\"maindrag\",e.dragmode===!1?\"none\":\"crosshair\");vw.select(M).attr(\"d\",t.pathSubplot()).attr(\"transform\",dd(c,f)),M.onmousemove=function(ce){xKe.hover(n,ce,t.id),n._fullLayout._lasthover=M,n._fullLayout._hoversubplot=t.id},M.onmouseout=function(ce){n._dragging||l9.unhover(n,ce)};var g={element:M,gd:n,subplot:t.id,plotinfo:{id:t.id,xaxis:t.xaxis,yaxis:t.yaxis},xaxes:[t.xaxis],yaxes:[t.yaxis]},P,T,F,q,V,H,X,G,N;function W(ce,Ge){return Math.sqrt(ce*ce+Ge*Ge)}function re(ce,Ge){return W(ce-h,Ge-d)}function ae(ce,Ge){return Math.atan2(d-Ge,ce-h)}function _e(ce,Ge){return[ce*Math.cos(Ge),ce*Math.sin(-Ge)]}function Me(ce,Ge){if(ce===0)return t.pathSector(2*A);var nt=L/ce,ct=Ge-nt,qt=Ge+nt,rt=Math.max(0,Math.min(ce,l)),ot=rt-A,Rt=rt+A;return\"M\"+_e(ot,ct)+\"A\"+[ot,ot]+\" 0,0,0 \"+_e(ot,qt)+\"L\"+_e(Rt,qt)+\"A\"+[Rt,Rt]+\" 0,0,1 \"+_e(Rt,ct)+\"Z\"}function ke(ce,Ge,nt){if(ce===0)return t.pathSector(2*A);var ct=_e(ce,Ge),qt=_e(ce,nt),rt=p((ct[0]+qt[0])/2),ot=p((ct[1]+qt[1])/2),Rt,kt;if(rt&&ot){var Ct=ot/rt,Yt=-1/Ct,xr=E(A,Ct,rt,ot);Rt=E(L,Yt,xr[0][0],xr[0][1]),kt=E(L,Yt,xr[1][0],xr[1][1])}else{var er,Ke;ot?(er=L,Ke=A):(er=A,Ke=L),Rt=[[rt-er,ot-Ke],[rt+er,ot-Ke]],kt=[[rt-er,ot+Ke],[rt+er,ot+Ke]]}return\"M\"+Rt.join(\"L\")+\"L\"+kt.reverse().join(\"L\")+\"Z\"}function ge(){F=null,q=null,V=t.pathSubplot(),H=!1;var ce=n._fullLayout[t.id];X=SKt(ce.bgcolor).getLuminance(),G=y1.makeZoombox(a,X,c,f,V),G.attr(\"fill-rule\",\"evenodd\"),N=y1.makeCorners(a,c,f),R$(n)}function ie(ce,Ge){return Ge=Math.max(Math.min(Ge,l),u),ce<s?ce=0:l-ce<s?ce=l:Ge<s?Ge=0:l-Ge<s&&(Ge=l),Math.abs(Ge-ce)>o?(ce<Ge?(F=ce,q=Ge):(F=Ge,q=ce),!0):(F=null,q=null,!1)}function Te(ce,Ge){ce=ce||V,Ge=Ge||\"M0,0Z\",G.attr(\"d\",ce),N.attr(\"d\",Ge),y1.transitionZoombox(G,N,H,X),H=!0;var nt={};me(nt),n.emit(\"plotly_relayouting\",nt)}function Ee(ce,Ge){ce=ce*_,Ge=Ge*C;var nt=P+ce,ct=T+Ge,qt=re(P,T),rt=Math.min(re(nt,ct),l),ot=ae(P,T),Rt,kt;ie(qt,rt)&&(Rt=V+t.pathSector(q),F&&(Rt+=t.pathSector(F)),kt=Me(F,ot)+Me(q,ot)),Te(Rt,kt)}function Ae(ce,Ge,nt,ct){var qt=_1.findIntersectionXY(nt,ct,nt,[ce-h,d-Ge]);return W(qt[0],qt[1])}function ze(ce,Ge){var nt=P+ce,ct=T+Ge,qt=ae(P,T),rt=ae(nt,ct),ot=k(qt,x),Rt=k(rt,x),kt=Ae(P,T,ot[0],ot[1]),Ct=Math.min(Ae(nt,ct,Rt[0],Rt[1]),l),Yt,xr;ie(kt,Ct)&&(Yt=V+t.pathSector(q),F&&(Yt+=t.pathSector(F)),xr=[ke(F,ot[0],ot[1]),ke(q,ot[0],ot[1])].join(\" \")),Te(Yt,xr)}function Ce(){if(y1.removeZoombox(n),!(F===null||q===null)){var ce={};me(ce),y1.showDoubleClickNotifier(n),gw.call(\"_guiRelayout\",n,ce)}}function me(ce){var Ge=b._rl,nt=(Ge[1]-Ge[0])/(1-u/l)/l,ct=[Ge[0]+(F-u)*nt,Ge[0]+(q-u)*nt];ce[t.id+\".radialaxis.range\"]=ct}function Re(ce,Ge){var nt=n._fullLayout.clickmode;if(y1.removeZoombox(n),ce===2){var ct={};for(var qt in t.viewInitial)ct[t.id+\".\"+qt]=t.viewInitial[qt];n.emit(\"plotly_doubleclick\",null),gw.call(\"_guiRelayout\",n,ct)}nt.indexOf(\"select\")>-1&&ce===1&&IKt(Ge,n,[t.xaxis],[t.yaxis],t.id,g),nt.indexOf(\"event\")>-1&&xKe.click(n,Ge,t.id)}g.prepFn=function(ce,Ge,nt){var ct=n._fullLayout.dragmode,qt=M.getBoundingClientRect();n._fullLayout._calcInverseTransform(n);var rt=n._fullLayout._invTransform;_=n._fullLayout._invScaleX,C=n._fullLayout._invScaleY;var ot=cc.apply3DTransform(rt)(Ge-qt.left,nt-qt.top);if(P=ot[0],T=ot[1],x){var Rt=_1.findPolygonOffset(l,v[0],v[1],x);P+=h+Rt[0],T+=d+Rt[1]}switch(ct){case\"zoom\":g.clickFn=Re,r||(x?g.moveFn=ze:g.moveFn=Ee,g.doneFn=Ce,ge(ce,Ge,nt));break;case\"select\":case\"lasso\":PKt(ce,Ge,nt,g,ct);break}},l9.init(g)};Fd.updateRadialDrag=function(e,t,r){var n=this,i=n.gd,a=n.layers,o=n.radius,s=n.innerRadius,l=n.cx,u=n.cy,c=n.radialAxis,f=Lx.radialDragBoxSize,h=f/2;if(!c.visible)return;var d=Px(n.radialAxisAngle),v=c._rl,x=v[0],b=v[1],p=v[r],E=.75*(v[1]-v[0])/(1-n.getHole(t))/o,k,A,L;r?(k=l+(o+h)*Math.cos(d),A=u-(o+h)*Math.sin(d),L=\"radialdrag\"):(k=l+(s-h)*Math.cos(d),A=u-(s-h)*Math.sin(d),L=\"radialdrag-inner\");var _=y1.makeRectDragger(a,L,\"crosshair\",-h,-h,f,f),C={element:_,gd:i};e.dragmode===!1&&(C.dragmode=!1),nC(vw.select(_),c.visible&&s<o,{transform:dd(k,A)});var M,g,P;function T(X,G){if(M)M(X,G);else{var N=[X,-G],W=[Math.cos(d),Math.sin(d)],re=Math.abs(cc.dot(N,W)/Math.sqrt(cc.dot(N,N)));isNaN(re)||(M=re<.5?V:H)}var ae={};F(ae),i.emit(\"plotly_relayouting\",ae)}function F(X){g!==null?X[n.id+\".radialaxis.angle\"]=g:P!==null&&(X[n.id+\".radialaxis.range[\"+r+\"]\"]=P)}function q(){g!==null?gw.call(\"_guiRelayout\",i,n.id+\".radialaxis.angle\",g):P!==null&&gw.call(\"_guiRelayout\",i,n.id+\".radialaxis.range[\"+r+\"]\",P)}function V(X,G){if(r!==0){var N=k+X,W=A+G;g=Math.atan2(u-W,N-l),n.vangles&&(g=EKe(g,n.vangles)),g=pw(g);var re=dd(l,u)+ry(-g);a[\"radial-axis\"].attr(\"transform\",re),a[\"radial-line\"].select(\"line\").attr(\"transform\",re);var ae=n.gd._fullLayout,_e=ae[n.id];n.updateRadialAxisTitle(ae,_e,g)}}function H(X,G){var N=cc.dot([X,-G],[Math.cos(d),Math.sin(d)]);if(P=p-E*N,E>0!=(r?P>x:P<b)){P=null;return}var W=i._fullLayout,re=W[n.id];c.range[r]=P,c._rl[r]=P,n.updateRadialAxis(W,re),n.xaxis.setRange(),n.xaxis.setScale(),n.yaxis.setRange(),n.yaxis.setScale();var ae=!1;for(var _e in n.traceHash){var Me=n.traceHash[_e],ke=cc.filterVisible(Me),ge=Me[0][0].trace._module;ge.plot(i,n,ke,re),gw.traceIs(_e,\"gl\")&&ke.length&&(ae=!0)}ae&&(wKe(i),TKe(i))}C.prepFn=function(){M=null,g=null,P=null,C.moveFn=T,C.doneFn=q,R$(i)},C.clampFn=function(X,G){return Math.sqrt(X*X+G*G)<Lx.MINDRAG&&(X=0,G=0),[X,G]},l9.init(C)};Fd.updateAngularDrag=function(e){var t=this,r=t.gd,n=t.layers,i=t.radius,a=t.angularAxis,o=t.cx,s=t.cy,l=t.cxx,u=t.cyy,c=Lx.angularDragBoxSize,f=y1.makeDragger(n,\"path\",\"angulardrag\",e.dragmode===!1?\"none\":\"move\"),h={element:f,gd:r};e.dragmode===!1?h.dragmode=!1:vw.select(f).attr(\"d\",t.pathAnnulus(i,i+c)).attr(\"transform\",dd(o,s)).call(bKe,\"move\");function d(P,T){return Math.atan2(u+c-T,P-l-c)}var v=n.frontplot.select(\".scatterlayer\").selectAll(\".trace\"),x=v.selectAll(\".point\"),b=v.selectAll(\".textpoint\"),p,E,k,A,L,_;function C(P,T){var F=t.gd._fullLayout,q=F[t.id],V=p+P*e._invScaleX,H=E+T*e._invScaleY,X=d(V,H),G=pw(X-_);if(A=k+G,n.frontplot.attr(\"transform\",dd(t.xOffset2,t.yOffset2)+ry([-G,l,u])),t.vangles){L=t.radialAxisAngle+G;var N=dd(o,s)+ry(-G),W=dd(o,s)+ry(-L);n.bg.attr(\"transform\",N),n[\"radial-grid\"].attr(\"transform\",N),n[\"radial-axis\"].attr(\"transform\",W),n[\"radial-line\"].select(\"line\").attr(\"transform\",W),t.updateRadialAxisTitle(F,q,L)}else t.clipPaths.forTraces.select(\"path\").attr(\"transform\",dd(l,u)+ry(G));x.each(function(){var ie=vw.select(this),Te=iC.getTranslate(ie);ie.attr(\"transform\",dd(Te.x,Te.y)+ry([G]))}),b.each(function(){var ie=vw.select(this),Te=ie.select(\"text\"),Ee=iC.getTranslate(ie);ie.attr(\"transform\",ry([G,Te.attr(\"x\"),Te.attr(\"y\")])+dd(Ee.x,Ee.y))}),a.rotation=cc.modHalf(A,360),t.updateAngularAxis(F,q),t._hasClipOnAxisFalse&&!cc.isFullCircle(t.sectorInRad)&&v.call(iC.hideOutsideRangePoints,t);var re=!1;for(var ae in t.traceHash)if(gw.traceIs(ae,\"gl\")){var _e=t.traceHash[ae],Me=cc.filterVisible(_e),ke=_e[0][0].trace._module;ke.plot(r,t,Me,q),Me.length&&(re=!0)}re&&(wKe(r),TKe(r));var ge={};M(ge),r.emit(\"plotly_relayouting\",ge)}function M(P){P[t.id+\".angularaxis.rotation\"]=A,t.vangles&&(P[t.id+\".radialaxis.angle\"]=L)}function g(){b.select(\"text\").attr(\"transform\",null);var P={};M(P),gw.call(\"_guiRelayout\",r,P)}h.prepFn=function(P,T,F){var q=e[t.id];k=q.angularaxis.rotation;var V=f.getBoundingClientRect();p=T-V.left,E=F-V.top,r._fullLayout._calcInverseTransform(r);var H=cc.apply3DTransform(e._invTransform)(p,E);p=H[0],E=H[1],_=d(p,E),h.moveFn=C,h.doneFn=g,R$(r)},t.vangles&&!cc.isFullCircle(t.sectorInRad)&&(h.prepFn=cc.noop,bKe(vw.select(f),null)),l9.init(h)};Fd.isPtInside=function(e){if(this.isSmith)return!0;var t=this.sectorInRad,r=this.vangles,n=this.angularAxis.c2g(e.theta),i=this.radialAxis,a=i.c2l(e.r),o=i._rl,s=r?_1.isPtInsidePolygon:cc.isPtInsideSector;return s(a,n,o,t,r)};Fd.pathArc=function(e){var t=this.sectorInRad,r=this.vangles,n=r?_1.pathPolygon:cc.pathArc;return n(e,t[0],t[1],r)};Fd.pathSector=function(e){var t=this.sectorInRad,r=this.vangles,n=r?_1.pathPolygon:cc.pathSector;return n(e,t[0],t[1],r)};Fd.pathAnnulus=function(e,t){var r=this.sectorInRad,n=this.vangles,i=n?_1.pathPolygonAnnulus:cc.pathAnnulus;return i(e,t,r[0],r[1],n)};Fd.pathSubplot=function(){var e=this.innerRadius,t=this.radius;return e?this.pathAnnulus(e,t):this.pathSector(t)};Fd.fillViewInitialKey=function(e,t){e in this.viewInitial||(this.viewInitial[e]=t)};function MKe(e){var t=e.ticks+String(e.ticklen)+String(e.showticklabels);return\"side\"in e&&(t+=e.side),t}function qKt(e){var t=e[0],r=e[1],n=r-t,i=AKe(t,360),a=i+n,o=Math.cos(Px(i)),s=Math.sin(Px(i)),l=Math.cos(Px(a)),u=Math.sin(Px(a)),c,f,h,d;return i<=90&&a>=90||i>90&&a>=450?d=1:s<=0&&u<=0?d=0:d=Math.max(s,u),i<=180&&a>=180||i>180&&a>=540?c=-1:o>=0&&l>=0?c=0:c=Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?f=-1:s>=0&&u>=0?f=0:f=Math.min(s,u),a>=360?h=1:o<=0&&l<=0?h=0:h=Math.max(o,l),[c,f,h,d]}function EKe(e,t){var r=function(i){return cc.angleDist(e,i)},n=cc.findIndexOfMin(t,r);return t[n]}function nC(e,t,r){return t?(e.attr(\"display\",null),e.attr(r)):e&&e.attr(\"display\",\"none\"),e}});var z$=ye((tbr,DKe)=>{\"use strict\";var OKt=dh(),Yo=Cd(),BKt=Ju().attributes,f0=Mr().extendFlat,CKe=Bu().overrideAll,LKe=CKe({color:Yo.color,showline:f0({},Yo.showline,{dflt:!0}),linecolor:Yo.linecolor,linewidth:Yo.linewidth,showgrid:f0({},Yo.showgrid,{dflt:!0}),gridcolor:Yo.gridcolor,gridwidth:Yo.gridwidth,griddash:Yo.griddash},\"plot\",\"from-root\"),PKe=CKe({tickmode:Yo.minor.tickmode,nticks:Yo.nticks,tick0:Yo.tick0,dtick:Yo.dtick,tickvals:Yo.tickvals,ticktext:Yo.ticktext,ticks:Yo.ticks,ticklen:Yo.ticklen,tickwidth:Yo.tickwidth,tickcolor:Yo.tickcolor,ticklabelstep:Yo.ticklabelstep,showticklabels:Yo.showticklabels,labelalias:Yo.labelalias,showtickprefix:Yo.showtickprefix,tickprefix:Yo.tickprefix,showticksuffix:Yo.showticksuffix,ticksuffix:Yo.ticksuffix,showexponent:Yo.showexponent,exponentformat:Yo.exponentformat,minexponent:Yo.minexponent,separatethousands:Yo.separatethousands,tickfont:Yo.tickfont,tickangle:Yo.tickangle,tickformat:Yo.tickformat,tickformatstops:Yo.tickformatstops,layer:Yo.layer},\"plot\",\"from-root\"),IKe={visible:f0({},Yo.visible,{dflt:!0}),type:f0({},Yo.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autotypenumbers:Yo.autotypenumbers,autorangeoptions:{minallowed:Yo.autorangeoptions.minallowed,maxallowed:Yo.autorangeoptions.maxallowed,clipmin:Yo.autorangeoptions.clipmin,clipmax:Yo.autorangeoptions.clipmax,include:Yo.autorangeoptions.include,editType:\"plot\"},autorange:f0({},Yo.autorange,{editType:\"plot\"}),rangemode:{valType:\"enumerated\",values:[\"tozero\",\"nonnegative\",\"normal\"],dflt:\"tozero\",editType:\"calc\"},minallowed:f0({},Yo.minallowed,{editType:\"plot\"}),maxallowed:f0({},Yo.maxallowed,{editType:\"plot\"}),range:f0({},Yo.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],editType:\"plot\"}),categoryorder:Yo.categoryorder,categoryarray:Yo.categoryarray,angle:{valType:\"angle\",editType:\"plot\"},autotickangles:Yo.autotickangles,side:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"clockwise\",editType:\"plot\"},title:{text:f0({},Yo.title.text,{editType:\"plot\",dflt:\"\"}),font:f0({},Yo.title.font,{editType:\"plot\"}),editType:\"plot\"},hoverformat:Yo.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"};f0(IKe,LKe,PKe);var RKe={visible:f0({},Yo.visible,{dflt:!0}),type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"category\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},autotypenumbers:Yo.autotypenumbers,categoryorder:Yo.categoryorder,categoryarray:Yo.categoryarray,thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\"],dflt:\"degrees\",editType:\"calc\"},period:{valType:\"number\",editType:\"calc\",min:0},direction:{valType:\"enumerated\",values:[\"counterclockwise\",\"clockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"angle\",editType:\"calc\"},hoverformat:Yo.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"};f0(RKe,LKe,PKe);DKe.exports={domain:BKt({name:\"polar\",editType:\"plot\"}),sector:{valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],dflt:[0,360],editType:\"plot\"},hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot\"},bgcolor:{valType:\"color\",editType:\"plot\",dflt:OKt.background},radialaxis:IKe,angularaxis:RKe,gridshape:{valType:\"enumerated\",values:[\"circular\",\"linear\"],dflt:\"circular\",editType:\"plot\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"}});var OKe=ye((rbr,qKe)=>{\"use strict\";var c9=Mr(),NKt=va(),UKt=Vs(),VKt=C_(),HKt=kd().getSubplotData,GKt=xb(),jKt=T3(),WKt=t_(),ZKt=r_(),XKt=eI(),YKt=YM(),KKt=hB(),JKt=L3(),FKe=z$(),$Kt=k$(),f9=i9(),zKe=f9.axisNames;function QKt(e,t,r,n){var i=r(\"bgcolor\");n.bgColor=NKt.combine(i,n.paper_bgcolor);var a=r(\"sector\");r(\"hole\");var o=HKt(n.fullData,f9.name,n.id),s=n.layoutOut,l;function u(G,N){return r(l+\".\"+G,N)}for(var c=0;c<zKe.length;c++){l=zKe[c],c9.isPlainObject(e[l])||(e[l]={});var f=e[l],h=UKt.newContainer(t,l);h._id=h._name=l,h._attr=n.id+\".\"+l,h._traceIndices=o.map(function(G){return G.index});var d=f9.axisName2dataArray[l],v=eJt(f,h,u,o,d,n);XKt(f,h,u,{axData:o,dataAttr:d});var x=u(\"visible\");switch($Kt(h,t,s),u(\"uirevision\",t.uirevision),h._m=1,l){case\"radialaxis\":u(\"minallowed\"),u(\"maxallowed\");var b=u(\"range\"),p=h.getAutorangeDflt(b),E=u(\"autorange\",p),k;b&&(b[0]===null&&b[1]===null||(b[0]===null||b[1]===null)&&(E===\"reversed\"||E===!0)||b[0]!==null&&(E===\"min\"||E===\"max reversed\")||b[1]!==null&&(E===\"max\"||E===\"min reversed\"))&&(b=void 0,delete h.range,h.autorange=!0,k=!0),k||(p=h.getAutorangeDflt(b),E=u(\"autorange\",p)),f.autorange=E,E&&(KKt(u,E,b),(v===\"linear\"||v===\"-\")&&u(\"rangemode\"),h.isReversed()&&(h._m=-1)),h.cleanRange(\"range\",{dfltRange:[0,1]});break;case\"angularaxis\":if(v===\"date\"){c9.log(\"Polar plots do not support date angular axes yet.\");for(var A=0;A<o.length;A++)o[A].visible=!1;v=f.type=h.type=\"linear\"}u(v===\"linear\"?\"thetaunit\":\"period\");var L=u(\"direction\");u(\"rotation\",{counterclockwise:0,clockwise:90}[L]);break}if(ZKt(f,h,u,h.type,{tickSuffixDflt:h.thetaunit===\"degrees\"?\"\\xB0\":void 0}),x){var _,C,M,g,P,T,F,q,V,H,X=n.font||{};_=u(\"color\"),C=_===f.color?_:X.color,M=X.size,g=X.family,P=X.weight,T=X.style,F=X.variant,q=X.textcase,V=X.lineposition,H=X.shadow,GKt(f,h,u,h.type),WKt(f,h,u,h.type,{font:{weight:P,style:T,variant:F,textcase:q,lineposition:V,shadow:H,color:C,size:M,family:g},noAutotickangles:l===\"angularaxis\",noTicklabelshift:!0,noTicklabelstandoff:!0}),jKt(f,h,u,{outerTicks:!0}),YKt(f,h,u,{dfltColor:_,bgColor:n.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:FKe[l]}),u(\"layer\"),l===\"radialaxis\"&&(u(\"side\"),u(\"angle\",a[0]),u(\"title.text\"),c9.coerceFont(u,\"title.font\",{weight:P,style:T,variant:F,textcase:q,lineposition:V,shadow:H,color:C,size:c9.bigFont(M),family:g}))}v!==\"category\"&&u(\"hoverformat\"),h._input=f}t.angularaxis.type===\"category\"&&r(\"gridshape\")}function eJt(e,t,r,n,i,a){var o=r(\"autotypenumbers\",a.autotypenumbersDflt),s=r(\"type\");if(s===\"-\"){for(var l,u=0;u<n.length;u++)if(n[u].visible){l=n[u];break}l&&l[i]&&(t.type=JKt(l[i],\"gregorian\",{noMultiCategory:!0,autotypenumbers:o})),t.type===\"-\"?t.type=\"linear\":e.type=t.type}return t.type}qKe.exports=function(t,r,n){VKt(t,r,n,{type:f9.name,attributes:FKe,handleDefaults:QKt,font:r.font,autotypenumbersDflt:r.autotypenumbers,paper_bgcolor:r.paper_bgcolor,fullData:n,layoutOut:r})}});var h9=ye((ibr,HKe)=>{\"use strict\";var tJt=kd().getSubplotCalcData,rJt=Mr().counterRegex,iJt=D$(),NKe=i9(),UKe=NKe.attr,mw=NKe.name,BKe=rJt(mw),VKe={};VKe[UKe]={valType:\"subplotid\",dflt:mw,editType:\"calc\"};function nJt(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[mw],i=0;i<n.length;i++){var a=n[i],o=tJt(r,mw,a),s=t[a]._subplot;s||(s=iJt(e,a),t[a]._subplot=s),s.plot(o,t,e._promises)}}function aJt(e,t,r,n){for(var i=n._subplots[mw]||[],a=n._has&&n._has(\"gl\"),o=t._has&&t._has(\"gl\"),s=a&&!o,l=0;l<i.length;l++){var u=i[l],c=n[u]._subplot;if(!t[u]&&c){c.framework.remove(),c.layers[\"radial-axis-title\"].remove();for(var f in c.clipPaths)c.clipPaths[f].remove()}s&&c._scene&&(c._scene.destroy(),c._scene=null)}}HKe.exports={attr:UKe,name:mw,idRoot:mw,idRegex:BKe,attrRegex:BKe,attributes:VKe,layoutAttributes:z$(),supplyLayoutDefaults:OKe(),plot:nJt,clean:aJt,toSVG:Jf().toSVG}});var aC=ye((nbr,GKe)=>{\"use strict\";var oJt=Wo().hovertemplateAttrs,sJt=Wo().texttemplateAttrs,d9=no().extendFlat,lJt=Eg(),h0=Uc(),uJt=vl(),GA=h0.line;GKe.exports={mode:h0.mode,r:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},theta:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},r0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dr:{valType:\"number\",dflt:1,editType:\"calc\"},theta0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dtheta:{valType:\"number\",editType:\"calc\"},thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\",\"gradians\"],dflt:\"degrees\",editType:\"calc+clearAxisTypes\"},text:h0.text,texttemplate:sJt({editType:\"plot\"},{keys:[\"r\",\"theta\",\"text\"]}),hovertext:h0.hovertext,line:{color:GA.color,width:GA.width,dash:GA.dash,backoff:GA.backoff,shape:d9({},GA.shape,{values:[\"linear\",\"spline\"]}),smoothing:GA.smoothing,editType:\"calc\"},connectgaps:h0.connectgaps,marker:h0.marker,cliponaxis:d9({},h0.cliponaxis,{dflt:!1}),textposition:h0.textposition,textfont:h0.textfont,fill:d9({},h0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:lJt(),hoverinfo:d9({},uJt.hoverinfo,{flags:[\"r\",\"theta\",\"text\",\"name\"]}),hoveron:h0.hoveron,hovertemplate:oJt(),selected:h0.selected,unselected:h0.unselected}});var p9=ye((abr,ZKe)=>{\"use strict\";var v9=Mr(),jA=lu(),cJt=$p(),fJt=R0(),jKe=J3(),hJt=D0(),dJt=Ig(),vJt=Sm().PTS_LINESONLY,pJt=aC();function gJt(e,t,r,n){function i(s,l){return v9.coerce(e,t,pJt,s,l)}var a=WKe(e,t,n,i);if(!a){t.visible=!1;return}i(\"thetaunit\"),i(\"mode\",a<vJt?\"lines+markers\":\"lines\"),i(\"text\"),i(\"hovertext\"),t.hoveron!==\"fills\"&&i(\"hovertemplate\"),jA.hasMarkers(t)&&cJt(e,t,r,n,i,{gradient:!0}),jA.hasLines(t)&&(fJt(e,t,r,n,i,{backoff:!0}),jKe(e,t,i),i(\"connectgaps\")),jA.hasText(t)&&(i(\"texttemplate\"),hJt(e,t,n,i));var o=[];(jA.hasMarkers(t)||jA.hasText(t))&&(i(\"cliponaxis\"),i(\"marker.maxdisplayed\"),o.push(\"points\")),i(\"fill\"),t.fill!==\"none\"&&(dJt(e,t,r,i),jA.hasLines(t)||jKe(e,t,i)),(t.fill===\"tonext\"||t.fill===\"toself\")&&o.push(\"fills\"),i(\"hoveron\",o.join(\"+\")||\"points\"),v9.coerceSelectionMarkerOpacity(t,i)}function WKe(e,t,r,n){var i=n(\"r\"),a=n(\"theta\");v9.isTypedArray(i)&&(t.r=i=Array.from(i)),v9.isTypedArray(a)&&(t.theta=a=Array.from(a));var o;if(i)a?o=Math.min(i.length,a.length):(o=i.length,n(\"theta0\"),n(\"dtheta\"));else{if(!a)return 0;o=t.theta.length,n(\"r0\"),n(\"dr\")}return t._length=o,o}ZKe.exports={handleRThetaDefaults:WKe,supplyDefaults:gJt}});var g9=ye((obr,YKe)=>{\"use strict\";var mJt=Mr(),XKe=Qa();YKe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o,s;a?(o=a.radialAxis,s=a.angularAxis):(a=n[r.subplot],o=a.radialaxis,s=a.angularaxis);var l=o.c2l(t.r);i.rLabel=XKe.tickText(o,l,!0).text;var u=s.thetaunit===\"degrees\"?mJt.rad2deg(t.theta):t.theta;return i.thetaLabel=XKe.tickText(s,u,!0).text,i}});var $Ke=ye((sbr,JKe)=>{\"use strict\";var KKe=uo(),yJt=es().BADNUM,_Jt=Qa(),xJt=z0(),bJt=km(),wJt=F0(),TJt=q0().calcMarkerSize;JKe.exports=function(t,r){for(var n=t._fullLayout,i=r.subplot,a=n[i].radialaxis,o=n[i].angularaxis,s=a.makeCalcdata(r,\"r\"),l=o.makeCalcdata(r,\"theta\"),u=r._length,c=new Array(u),f=0;f<u;f++){var h=s[f],d=l[f],v=c[f]={};KKe(h)&&KKe(d)?(v.r=h,v.theta=d):v.r=yJt}var x=TJt(r,u);return r._extremes.x=_Jt.findExtremes(a,s,{ppad:x}),xJt(t,r),bJt(c,r),wJt(c,r),c}});var tJe=ye((lbr,eJe)=>{\"use strict\";var AJt=iT(),QKe=es().BADNUM;eJe.exports=function(t,r,n){for(var i=r.layers.frontplot.select(\"g.scatterlayer\"),a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:r.framework,layerClipId:r._hasClipOnAxisFalse?r.clipIds.forTraces:null},l=r.radialAxis,u=r.angularAxis,c=0;c<n.length;c++)for(var f=n[c],h=0;h<f.length;h++){h===0&&(f[0].trace._xA=a,f[0].trace._yA=o);var d=f[h],v=d.r;if(v===QKe)d.x=d.y=QKe;else{var x=l.c2g(v),b=u.c2g(d.theta);d.x=x*Math.cos(b),d.y=x*Math.sin(b)}}AJt(t,s,n,i)}});var m9=ye((ubr,iJe)=>{\"use strict\";var SJt=sT();function MJt(e,t,r,n){var i=SJt(e,t,r,n);if(!(!i||i[0].index===!1)){var a=i[0];if(a.index===void 0)return i;var o=e.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtInside(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,rJe(s,l,o,a),a.hovertemplate=l.hovertemplate,i}}function rJe(e,t,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle=\"r\",a._hovertitle=\"\\u03B8\";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.rLabel=s.rLabel,n.thetaLabel=s.thetaLabel;var l=e.hi||t.hoverinfo,u=[];function c(h,d){u.push(h._hovertitle+\": \"+d)}if(!t.hovertemplate){var f=l.split(\"+\");f.indexOf(\"all\")!==-1&&(f=[\"r\",\"theta\",\"text\"]),f.indexOf(\"r\")!==-1&&c(i,n.rLabel),f.indexOf(\"theta\")!==-1&&c(a,n.thetaLabel),f.indexOf(\"text\")!==-1&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join(\"<br>\")}}iJe.exports={hoverPoints:MJt,makeHoverPointText:rJe}});var aJe=ye((cbr,nJe)=>{\"use strict\";nJe.exports={moduleType:\"trace\",name:\"scatterpolar\",basePlotModule:h9(),categories:[\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:aC(),supplyDefaults:p9().supplyDefaults,colorbar:Kd(),formatLabels:g9(),calc:$Ke(),plot:tJe(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:m9().hoverPoints,selectPoints:lT(),meta:{}}});var sJe=ye((fbr,oJe)=>{\"use strict\";oJe.exports=aJe()});var F$=ye((hbr,lJe)=>{\"use strict\";var Vp=aC(),x1=tk(),EJt=Wo().texttemplateAttrs;lJe.exports={mode:Vp.mode,r:Vp.r,theta:Vp.theta,r0:Vp.r0,dr:Vp.dr,theta0:Vp.theta0,dtheta:Vp.dtheta,thetaunit:Vp.thetaunit,text:Vp.text,texttemplate:EJt({editType:\"plot\"},{keys:[\"r\",\"theta\",\"text\"]}),hovertext:Vp.hovertext,hovertemplate:Vp.hovertemplate,line:{color:x1.line.color,width:x1.line.width,dash:x1.line.dash,editType:\"calc\"},connectgaps:x1.connectgaps,marker:x1.marker,fill:x1.fill,fillcolor:x1.fillcolor,textposition:x1.textposition,textfont:x1.textfont,hoverinfo:Vp.hoverinfo,selected:Vp.selected,unselected:Vp.unselected}});var fJe=ye((dbr,cJe)=>{\"use strict\";var uJe=Mr(),q$=lu(),kJt=p9().handleRThetaDefaults,CJt=$p(),LJt=R0(),PJt=D0(),IJt=Ig(),RJt=Sm().PTS_LINESONLY,DJt=F$();cJe.exports=function(t,r,n,i){function a(s,l){return uJe.coerce(t,r,DJt,s,l)}var o=kJt(t,r,i,a);if(!o){r.visible=!1;return}a(\"thetaunit\"),a(\"mode\",o<RJt?\"lines+markers\":\"lines\"),a(\"text\"),a(\"hovertext\"),r.hoveron!==\"fills\"&&a(\"hovertemplate\"),q$.hasMarkers(r)&&CJt(t,r,n,i,a,{noAngleRef:!0,noStandOff:!0}),q$.hasLines(r)&&(LJt(t,r,n,i,a),a(\"connectgaps\")),q$.hasText(r)&&(a(\"texttemplate\"),PJt(t,r,i,a,{noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0})),a(\"fill\"),r.fill!==\"none\"&&IJt(t,r,n,a),uJe.coerceSelectionMarkerOpacity(r,a)}});var dJe=ye((vbr,hJe)=>{\"use strict\";var zJt=g9();hJe.exports=function(t,r,n){var i=t.i;return\"r\"in t||(t.r=r._r[i]),\"theta\"in t||(t.theta=r._theta[i]),zJt(t,r,n)}});var pJe=ye((pbr,vJe)=>{\"use strict\";var FJt=z0(),qJt=q0().calcMarkerSize,OJt=Y2(),BJt=Qa(),NJt=sx().TOO_MANY_POINTS;vJe.exports=function(t,r){var n=t._fullLayout,i=r.subplot,a=n[i].radialaxis,o=n[i].angularaxis,s=r._r=a.makeCalcdata(r,\"r\"),l=r._theta=o.makeCalcdata(r,\"theta\"),u=r._length,c={};u<s.length&&(s=s.slice(0,u)),u<l.length&&(l=l.slice(0,u)),c.r=s,c.theta=l,FJt(t,r);var f=c.opts=OJt.style(t,r),h;return u<NJt?h=qJt(r,u):f.marker&&(h=2*(f.marker.sizeAvg||Math.max(f.marker.size,3))),r._extremes.x=BJt.findExtremes(a,s,{ppad:h}),[{x:!1,y:!1,t:c,trace:r}]}});var mJe=ye((gbr,gJe)=>{\"use strict\";var UJt=zz(),VJt=m9().makeHoverPointText;function HJt(e,t,r,n){var i=e.cd,a=i[0].t,o=a.r,s=a.theta,l=UJt.hoverPoints(e,t,r,n);if(!(!l||l[0].index===!1)){var u=l[0];if(u.index===void 0)return l;var c=e.subplot,f=u.cd[u.index],h=u.trace;if(f.r=o[u.index],f.theta=s[u.index],!!c.isPtInside(f))return u.xLabelVal=void 0,u.yLabelVal=void 0,VJt(f,h,c,u),l}}gJe.exports={hoverPoints:HJt}});var _Je=ye((mbr,yJe)=>{\"use strict\";yJe.exports={moduleType:\"trace\",name:\"scatterpolargl\",basePlotModule:h9(),categories:[\"gl\",\"regl\",\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:F$(),supplyDefaults:fJe(),colorbar:Kd(),formatLabels:dJe(),calc:pJe(),hoverPoints:mJe().hoverPoints,selectPoints:KX(),meta:{}}});var xJe=ye((ybr,O$)=>{\"use strict\";var GJt=Oz(),jJt=uo(),WJt=QY(),ZJt=ZX(),y9=Y2(),_9=Mr(),XJt=sx().TOO_MANY_POINTS,YJt={};O$.exports=function(t,r,n){if(n.length){var i=r.radialAxis,a=r.angularAxis,o=ZJt(t,r);return n.forEach(function(s){if(!(!s||!s[0]||!s[0].trace)){var l=s[0],u=l.trace,c=l.t,f=u._length,h=c.r,d=c.theta,v=c.opts,x,b=h.slice(),p=d.slice();for(x=0;x<h.length;x++)r.isPtInside({r:h[x],theta:d[x]})||(b[x]=NaN,p[x]=NaN);var E=new Array(f*2),k=Array(f),A=Array(f);for(x=0;x<f;x++){var L=b[x],_,C;if(jJt(L)){var M=i.c2g(L),g=a.c2g(p[x],u.thetaunit);_=M*Math.cos(g),C=M*Math.sin(g)}else _=C=NaN;k[x]=E[x*2]=_,A[x]=E[x*2+1]=C}c.tree=GJt(E),v.marker&&f>=XJt&&(v.marker.cluster=c.tree),v.marker&&(v.markerSel.positions=v.markerUnsel.positions=v.marker.positions=E),v.line&&E.length>1&&_9.extendFlat(v.line,y9.linePositions(t,u,E)),v.text&&(_9.extendFlat(v.text,{positions:E},y9.textPosition(t,u,v.text,v.marker)),_9.extendFlat(v.textSel,{positions:E},y9.textPosition(t,u,v.text,v.markerSel)),_9.extendFlat(v.textUnsel,{positions:E},y9.textPosition(t,u,v.text,v.markerUnsel))),v.fill&&!o.fill2d&&(o.fill2d=!0),v.marker&&!o.scatter2d&&(o.scatter2d=!0),v.line&&!o.line2d&&(o.line2d=!0),v.text&&!o.glText&&(o.glText=!0),o.lineOptions.push(v.line),o.fillOptions.push(v.fill),o.markerOptions.push(v.marker),o.markerSelectedOptions.push(v.markerSel),o.markerUnselectedOptions.push(v.markerUnsel),o.textOptions.push(v.text),o.textSelectedOptions.push(v.textSel),o.textUnselectedOptions.push(v.textUnsel),o.selectBatch.push([]),o.unselectBatch.push([]),c.x=k,c.y=A,c.rawx=k,c.rawy=A,c.r=h,c.theta=d,c.positions=E,c._scene=o,c.index=o.count,o.count++}}),WJt(t,r,n)}};O$.exports.reglPrecompiled=YJt});var TJe=ye((_br,wJe)=>{\"use strict\";var bJe=_Je();bJe.plot=xJe();wJe.exports=bJe});var SJe=ye((xbr,AJe)=>{\"use strict\";AJe.exports=TJe()});var B$=ye((bbr,MJe)=>{\"use strict\";var KJt=Wo().hovertemplateAttrs,WA=no().extendFlat,Ix=aC(),Rx=Lm();MJe.exports={r:Ix.r,theta:Ix.theta,r0:Ix.r0,dr:Ix.dr,theta0:Ix.theta0,dtheta:Ix.dtheta,thetaunit:Ix.thetaunit,base:WA({},Rx.base,{}),offset:WA({},Rx.offset,{}),width:WA({},Rx.width,{}),text:WA({},Rx.text,{}),hovertext:WA({},Rx.hovertext,{}),marker:JJt(),hoverinfo:Ix.hoverinfo,hovertemplate:KJt(),selected:Rx.selected,unselected:Rx.unselected};function JJt(){var e=WA({},Rx.marker);return delete e.cornerradius,e}});var N$=ye((wbr,EJe)=>{\"use strict\";EJe.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},bargap:{valType:\"number\",dflt:.1,min:0,max:1,editType:\"calc\"}}});var LJe=ye((Tbr,CJe)=>{\"use strict\";var kJe=Mr(),$Jt=p9().handleRThetaDefaults,QJt=FI(),e$t=B$();CJe.exports=function(t,r,n,i){function a(s,l){return kJe.coerce(t,r,e$t,s,l)}var o=$Jt(t,r,i,a);if(!o){r.visible=!1;return}a(\"thetaunit\"),a(\"base\"),a(\"offset\"),a(\"width\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),QJt(t,r,a,n,i),kJe.coerceSelectionMarkerOpacity(r,a)}});var IJe=ye((Abr,PJe)=>{\"use strict\";var t$t=Mr(),r$t=N$();PJe.exports=function(e,t,r){var n={},i;function a(l,u){return t$t.coerce(e[i]||{},t[i],r$t,l,u)}for(var o=0;o<r.length;o++){var s=r[o];s.type===\"barpolar\"&&s.visible===!0&&(i=s.subplot,n[i]||(a(\"barmode\"),a(\"bargap\"),n[i]=1))}}});var U$=ye((Sbr,zJe)=>{\"use strict\";var RJe=Dv().hasColorscale,DJe=zv(),i$t=Mr().isArrayOrTypedArray,n$t=c4(),a$t=Gb().setGroupPositions,o$t=F0(),s$t=ba().traceIs,l$t=Mr().extendFlat;function u$t(e,t){for(var r=e._fullLayout,n=t.subplot,i=r[n].radialaxis,a=r[n].angularaxis,o=i.makeCalcdata(t,\"r\"),s=a.makeCalcdata(t,\"theta\"),l=t._length,u=new Array(l),c=o,f=s,h=0;h<l;h++)u[h]={p:f[h],s:c[h]};function d(v){var x=t[v];x!==void 0&&(t[\"_\"+v]=i$t(x)?a.makeCalcdata(t,v):a.d2c(x,t.thetaunit))}return a.type===\"linear\"&&(d(\"width\"),d(\"offset\")),RJe(t,\"marker\")&&DJe(e,t,{vals:t.marker.color,containerStr:\"marker\",cLetter:\"c\"}),RJe(t,\"marker.line\")&&DJe(e,t,{vals:t.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}),n$t(u,t),o$t(u,t),u}function c$t(e,t,r){for(var n=e.calcdata,i=[],a=0;a<n.length;a++){var o=n[a],s=o[0].trace;s.visible===!0&&s$t(s,\"bar\")&&s.subplot===r&&i.push(o)}var l=l$t({},t.radialaxis,{_id:\"x\"}),u=t.angularaxis;a$t(e,u,l,i,{mode:t.barmode,norm:t.barnorm,gap:t.bargap,groupgap:t.bargroupgap})}zJe.exports={calc:u$t,crossTraceCalc:c$t}});var OJe=ye((Mbr,qJe)=>{\"use strict\";var FJe=xa(),x9=uo(),ZA=Mr(),f$t=ao(),V$=a9();qJe.exports=function(t,r,n){var i=t._context.staticPlot,a=r.xaxis,o=r.yaxis,s=r.radialAxis,l=r.angularAxis,u=h$t(r),c=r.layers.frontplot.select(\"g.barlayer\");ZA.makeTraceGroups(c,n,\"trace bars\").each(function(){var f=FJe.select(this),h=ZA.ensureSingle(f,\"g\",\"points\"),d=h.selectAll(\"g.point\").data(ZA.identity);d.enter().append(\"g\").style(\"vector-effect\",i?\"none\":\"non-scaling-stroke\").style(\"stroke-miterlimit\",2).classed(\"point\",!0),d.exit().remove(),d.each(function(v){var x=FJe.select(this),b=v.rp0=s.c2p(v.s0),p=v.rp1=s.c2p(v.s1),E=v.thetag0=l.c2g(v.p0),k=v.thetag1=l.c2g(v.p1),A;if(!x9(b)||!x9(p)||!x9(E)||!x9(k)||b===p||E===k)A=\"M0,0Z\";else{var L=s.c2g(v.s1),_=(E+k)/2;v.ct=[a.c2p(L*Math.cos(_)),o.c2p(L*Math.sin(_))],A=u(b,p,E,k)}ZA.ensureSingle(x,\"path\").attr(\"d\",A)}),f$t.setClipUrl(f,r._hasClipOnAxisFalse?r.clipIds.forTraces:null,t)})};function h$t(e){var t=e.cxx,r=e.cyy;return e.vangles?function(n,i,a,o){var s,l;ZA.angleDelta(a,o)>0?(s=a,l=o):(s=o,l=a);var u=V$.findEnclosingVertexAngles(s,e.vangles)[0],c=V$.findEnclosingVertexAngles(l,e.vangles)[1],f=[u,(s+l)/2,c];return V$.pathPolygonAnnulus(n,i,s,l,f,t,r)}:function(n,i,a,o){return ZA.pathAnnulus(n,i,a,o,t,r)}}});var NJe=ye((Ebr,BJe)=>{\"use strict\";var d$t=Nc(),H$=Mr(),v$t=TT().getTraceColor,p$t=H$.fillText,g$t=m9().makeHoverPointText,m$t=a9().isPtInsidePolygon;BJe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.subplot,s=o.radialAxis,l=o.angularAxis,u=o.vangles,c=u?m$t:H$.isPtInsideSector,f=t.maxHoverDistance,h=l._period||2*Math.PI,d=Math.abs(s.g2p(Math.sqrt(r*r+n*n))),v=Math.atan2(n,r);s.range[0]>s.range[1]&&(v+=Math.PI);var x=function(k){return c(d,v,[k.rp0,k.rp1],[k.thetag0,k.thetag1],u)?f+Math.min(1,Math.abs(k.thetag1-k.thetag0)/h)-1+(k.rp1-d)/(k.rp1-k.rp0)-1:1/0};if(d$t.getClosest(i,x,t),t.index!==!1){var b=t.index,p=i[b];t.x0=t.x1=p.ct[0],t.y0=t.y1=p.ct[1];var E=H$.extendFlat({},p,{r:p.s,theta:p.p});return p$t(p,a,t),g$t(E,a,o,t),t.hovertemplate=a.hovertemplate,t.color=v$t(a,p),t.xLabelVal=t.yLabelVal=void 0,p.s<0&&(t.idealAlign=\"left\"),[t]}}});var VJe=ye((kbr,UJe)=>{\"use strict\";UJe.exports={moduleType:\"trace\",name:\"barpolar\",basePlotModule:h9(),categories:[\"polar\",\"bar\",\"showLegend\"],attributes:B$(),layoutAttributes:N$(),supplyDefaults:LJe(),supplyLayoutDefaults:IJe(),calc:U$().calc,crossTraceCalc:U$().crossTraceCalc,plot:OJe(),colorbar:Kd(),formatLabels:g9(),style:N0().style,styleOnSelect:N0().styleOnSelect,hoverPoints:NJe(),selectPoints:AT(),meta:{}}});var GJe=ye((Cbr,HJe)=>{\"use strict\";HJe.exports=VJe()});var G$=ye((Lbr,jJe)=>{\"use strict\";jJe.exports={attr:\"subplot\",name:\"smith\",axisNames:[\"realaxis\",\"imaginaryaxis\"],axisName2dataArray:{imaginaryaxis:\"imag\",realaxis:\"real\"}}});var j$=ye((Pbr,YJe)=>{\"use strict\";var y$t=dh(),Mf=Cd(),_$t=Ju().attributes,Dx=Mr().extendFlat,WJe=Bu().overrideAll,ZJe=WJe({color:Mf.color,showline:Dx({},Mf.showline,{dflt:!0}),linecolor:Mf.linecolor,linewidth:Mf.linewidth,showgrid:Dx({},Mf.showgrid,{dflt:!0}),gridcolor:Mf.gridcolor,gridwidth:Mf.gridwidth,griddash:Mf.griddash},\"plot\",\"from-root\"),XJe=WJe({ticklen:Mf.ticklen,tickwidth:Dx({},Mf.tickwidth,{dflt:2}),tickcolor:Mf.tickcolor,showticklabels:Mf.showticklabels,labelalias:Mf.labelalias,showtickprefix:Mf.showtickprefix,tickprefix:Mf.tickprefix,showticksuffix:Mf.showticksuffix,ticksuffix:Mf.ticksuffix,tickfont:Mf.tickfont,tickformat:Mf.tickformat,hoverformat:Mf.hoverformat,layer:Mf.layer},\"plot\",\"from-root\"),x$t=Dx({visible:Dx({},Mf.visible,{dflt:!0}),tickvals:{dflt:[.2,.5,1,2,5],valType:\"data_array\",editType:\"plot\"},tickangle:Dx({},Mf.tickangle,{dflt:90}),ticks:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"\"],editType:\"ticks\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},editType:\"calc\"},ZJe,XJe),b$t=Dx({visible:Dx({},Mf.visible,{dflt:!0}),tickvals:{valType:\"data_array\",editType:\"plot\"},ticks:Mf.ticks,editType:\"calc\"},ZJe,XJe);YJe.exports={domain:_$t({name:\"smith\",editType:\"plot\"}),bgcolor:{valType:\"color\",editType:\"plot\",dflt:y$t.background},realaxis:x$t,imaginaryaxis:b$t,editType:\"calc\"}});var $Je=ye((Ibr,JJe)=>{\"use strict\";var XA=Mr(),w$t=va(),T$t=Vs(),A$t=C_(),S$t=kd().getSubplotData,M$t=r_(),E$t=t_(),k$t=YM(),C$t=ym(),YA=j$(),W$=G$(),KJe=W$.axisNames,L$t=I$t(function(e){return XA.isTypedArray(e)&&(e=Array.from(e)),e.slice().reverse().map(function(t){return-t}).concat([0]).concat(e)},String);function P$t(e,t,r,n){var i=r(\"bgcolor\");n.bgColor=w$t.combine(i,n.paper_bgcolor);var a=S$t(n.fullData,W$.name,n.id),o=n.layoutOut,s;function l(L,_){return r(s+\".\"+L,_)}for(var u=0;u<KJe.length;u++){s=KJe[u],XA.isPlainObject(e[s])||(e[s]={});var c=e[s],f=T$t.newContainer(t,s);f._id=f._name=s,f._attr=n.id+\".\"+s,f._traceIndices=a.map(function(L){return L.index});var h=l(\"visible\");if(f.type=\"linear\",C$t(f,o),M$t(c,f,l,f.type),h){var d=s===\"realaxis\";if(d&&l(\"side\"),d)l(\"tickvals\");else{var v=L$t(t.realaxis.tickvals||YA.realaxis.tickvals.dflt);l(\"tickvals\",v)}XA.isTypedArray(f.tickvals)&&(f.tickvals=Array.from(f.tickvals));var x,b,p,E,k=n.font||{};h&&(x=l(\"color\"),b=x===c.color?x:k.color,p=k.size,E=k.family),E$t(c,f,l,f.type,{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,noTicklabelstep:!0,noAng:!d,noExp:!0,font:{color:b,size:p,family:E}}),XA.coerce2(e,t,YA,s+\".ticklen\"),XA.coerce2(e,t,YA,s+\".tickwidth\"),XA.coerce2(e,t,YA,s+\".tickcolor\",t.color);var A=l(\"ticks\");A||(delete t[s].ticklen,delete t[s].tickwidth,delete t[s].tickcolor),k$t(c,f,l,{dfltColor:x,bgColor:n.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:YA[s]}),l(\"layer\")}l(\"hoverformat\"),delete f.type,f._input=c}}JJe.exports=function(t,r,n){A$t(t,r,n,{noUirevision:!0,type:W$.name,attributes:YA,handleDefaults:P$t,font:r.font,paper_bgcolor:r.paper_bgcolor,fullData:n,layoutOut:r})};function I$t(e,t){var r={};return function(n){var i=t?t(n):n;if(i in r)return r[i];var a=e(n);return r[i]=a,a}}});var n$e=ye((Rbr,i$e)=>{\"use strict\";var R$t=kd().getSubplotCalcData,D$t=Mr().counterRegex,z$t=D$(),e$e=G$(),t$e=e$e.attr,yw=e$e.name,QJe=D$t(yw),r$e={};r$e[t$e]={valType:\"subplotid\",dflt:yw,editType:\"calc\"};function F$t(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[yw],i=0;i<n.length;i++){var a=n[i],o=R$t(r,yw,a),s=t[a]._subplot;s||(s=z$t(e,a,!0),t[a]._subplot=s),s.plot(o,t,e._promises)}}function q$t(e,t,r,n){for(var i=n._subplots[yw]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;if(!t[o]&&s){s.framework.remove();for(var l in s.clipPaths)s.clipPaths[l].remove()}}}i$e.exports={attr:t$e,name:yw,idRoot:yw,idRegex:QJe,attrRegex:QJe,attributes:r$e,layoutAttributes:j$(),supplyLayoutDefaults:$Je(),plot:F$t,clean:q$t,toSVG:Jf().toSVG}});var Z$=ye((Dbr,a$e)=>{\"use strict\";var O$t=Wo().hovertemplateAttrs,B$t=Wo().texttemplateAttrs,b9=no().extendFlat,N$t=Eg(),d0=Uc(),U$t=vl(),KA=d0.line;a$e.exports={mode:d0.mode,real:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},imag:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},text:d0.text,texttemplate:B$t({editType:\"plot\"},{keys:[\"real\",\"imag\",\"text\"]}),hovertext:d0.hovertext,line:{color:KA.color,width:KA.width,dash:KA.dash,backoff:KA.backoff,shape:b9({},KA.shape,{values:[\"linear\",\"spline\"]}),smoothing:KA.smoothing,editType:\"calc\"},connectgaps:d0.connectgaps,marker:d0.marker,cliponaxis:b9({},d0.cliponaxis,{dflt:!1}),textposition:d0.textposition,textfont:d0.textfont,fill:b9({},d0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:N$t(),hoverinfo:b9({},U$t.hoverinfo,{flags:[\"real\",\"imag\",\"text\",\"name\"]}),hoveron:d0.hoveron,hovertemplate:O$t(),selected:d0.selected,unselected:d0.unselected}});var l$e=ye((zbr,s$e)=>{\"use strict\";var w9=Mr(),JA=lu(),V$t=$p(),H$t=R0(),o$e=J3(),G$t=D0(),j$t=Ig(),W$t=Sm().PTS_LINESONLY,Z$t=Z$();s$e.exports=function(t,r,n,i){function a(l,u){return w9.coerce(t,r,Z$t,l,u)}var o=X$t(t,r,i,a);if(!o){r.visible=!1;return}a(\"mode\",o<W$t?\"lines+markers\":\"lines\"),a(\"text\"),a(\"hovertext\"),r.hoveron!==\"fills\"&&a(\"hovertemplate\"),JA.hasMarkers(r)&&V$t(t,r,n,i,a,{gradient:!0}),JA.hasLines(r)&&(H$t(t,r,n,i,a,{backoff:!0}),o$e(t,r,a),a(\"connectgaps\")),JA.hasText(r)&&(a(\"texttemplate\"),G$t(t,r,i,a));var s=[];(JA.hasMarkers(r)||JA.hasText(r))&&(a(\"cliponaxis\"),a(\"marker.maxdisplayed\"),s.push(\"points\")),a(\"fill\"),r.fill!==\"none\"&&(j$t(t,r,n,a),JA.hasLines(r)||o$e(t,r,a)),(r.fill===\"tonext\"||r.fill===\"toself\")&&s.push(\"fills\"),a(\"hoveron\",s.join(\"+\")||\"points\"),w9.coerceSelectionMarkerOpacity(r,a)};function X$t(e,t,r,n){var i=n(\"real\"),a=n(\"imag\"),o;return i&&a&&(o=Math.min(i.length,a.length)),w9.isTypedArray(i)&&(t.real=i=Array.from(i)),w9.isTypedArray(a)&&(t.imag=a=Array.from(a)),t._length=o,o}});var f$e=ye((Fbr,c$e)=>{\"use strict\";var u$e=Qa();c$e.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot;return i.realLabel=u$e.tickText(a.radialAxis,t.real,!0).text,i.imagLabel=u$e.tickText(a.angularAxis,t.imag,!0).text,i}});var v$e=ye((qbr,d$e)=>{\"use strict\";var h$e=uo(),Y$t=es().BADNUM,K$t=z0(),J$t=km(),$$t=F0(),Q$t=q0().calcMarkerSize;d$e.exports=function(t,r){for(var n=t._fullLayout,i=r.subplot,a=n[i].realaxis,o=n[i].imaginaryaxis,s=a.makeCalcdata(r,\"real\"),l=o.makeCalcdata(r,\"imag\"),u=r._length,c=new Array(u),f=0;f<u;f++){var h=s[f],d=l[f],v=c[f]={};h$e(h)&&h$e(d)?(v.real=h,v.imag=d):v.real=Y$t}return Q$t(r,u),K$t(t,r),J$t(c,r),$$t(c,r),c}});var m$e=ye((Obr,g$e)=>{\"use strict\";var eQt=iT(),p$e=es().BADNUM,tQt=P$(),rQt=tQt.smith;g$e.exports=function(t,r,n){for(var i=r.layers.frontplot.select(\"g.scatterlayer\"),a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:r.framework,layerClipId:r._hasClipOnAxisFalse?r.clipIds.forTraces:null},l=0;l<n.length;l++)for(var u=n[l],c=0;c<u.length;c++){c===0&&(u[0].trace._xA=a,u[0].trace._yA=o);var f=u[c],h=f.real;if(h===p$e)f.x=f.y=p$e;else{var d=rQt([h,f.imag]);f.x=d[0],f.y=d[1]}}eQt(t,s,n,i)}});var x$e=ye((Bbr,_$e)=>{\"use strict\";var iQt=sT();function nQt(e,t,r,n){var i=iQt(e,t,r,n);if(!(!i||i[0].index===!1)){var a=i[0];if(a.index===void 0)return i;var o=e.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtInside(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,y$e(s,l,o,a),a.hovertemplate=l.hovertemplate,i}}function y$e(e,t,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle=\"real\",a._hovertitle=\"imag\";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.realLabel=s.realLabel,n.imagLabel=s.imagLabel;var l=e.hi||t.hoverinfo,u=[];function c(h,d){u.push(h._hovertitle+\": \"+d)}if(!t.hovertemplate){var f=l.split(\"+\");f.indexOf(\"all\")!==-1&&(f=[\"real\",\"imag\",\"text\"]),f.indexOf(\"real\")!==-1&&c(i,n.realLabel),f.indexOf(\"imag\")!==-1&&c(a,n.imagLabel),f.indexOf(\"text\")!==-1&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join(\"<br>\")}}_$e.exports={hoverPoints:nQt,makeHoverPointText:y$e}});var w$e=ye((Nbr,b$e)=>{\"use strict\";b$e.exports={moduleType:\"trace\",name:\"scattersmith\",basePlotModule:n$e(),categories:[\"smith\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:Z$(),supplyDefaults:l$e(),colorbar:Kd(),formatLabels:f$e(),calc:v$e(),plot:m$e(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:x$e().hoverPoints,selectPoints:lT(),meta:{}}});var A$e=ye((Ubr,T$e)=>{\"use strict\";T$e.exports=w$e()});var Sv=ye((Vbr,M$e)=>{var A9=bh();function S$e(){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={}}A9(S$e.prototype,{instance:function(e,t){e=(e||\"gregorian\").toLowerCase(),t=t||\"\";var r=this._localCals[e+\"-\"+t];if(!r&&this.calendars[e]&&(r=new this.calendars[e](t),this._localCals[e+\"-\"+t]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[\"\"].invalidCalendar).replace(/\\{0\\}/,e);return r},newDate:function(e,t,r,n,i){return n=(e!=null&&e.year?e.calendar():typeof n==\"string\"?this.instance(n,i):n)||this.instance(),n.newDate(e,t,r)},substituteDigits:function(e){return function(t){return(t+\"\").replace(/[0-9]/g,function(r){return e[r]})}},substituteChineseDigits:function(e,t){return function(r){for(var n=\"\",i=0;r>0;){var a=r%10;n=(a===0?\"\":e[a]+t[i])+n,i++,r=Math.floor(r/10)}return n.indexOf(e[1]+t[1])===0&&(n=n.substr(1)),n||e[0]}}});function X$(e,t,r,n){if(this._calendar=e,this._year=t,this._month=r,this._day=n,this._calendar._validateLevel===0&&!this._calendar.isValid(this._year,this._month,this._day))throw(Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name)}function T9(e,t){return e=\"\"+e,\"000000\".substring(0,t-e.length)+e}A9(X$.prototype,{newDate:function(e,t,r){return this._calendar.newDate(e==null?this:e,t,r)},year:function(e){return arguments.length===0?this._year:this.set(e,\"y\")},month:function(e){return arguments.length===0?this._month:this.set(e,\"m\")},day:function(e){return arguments.length===0?this._day:this.set(e,\"d\")},date:function(e,t,r){if(!this._calendar.isValid(e,t,r))throw(Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name);return this._year=e,this._month=t,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(e,t){return this._calendar.add(this,e,t)},set:function(e,t){return this._calendar.set(this,e,t)},compareTo:function(e){if(this._calendar.name!==e._calendar.name)throw(Es.local.differentCalendars||Es.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this._calendar.local.name).replace(/\\{1\\}/,e._calendar.local.name);var t=this._year!==e._year?this._year-e._year:this._month!==e._month?this.monthOfYear()-e.monthOfYear():this._day-e._day;return t===0?0:t<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(e){return this._calendar.fromJD(e)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(e){return this._calendar.fromJSDate(e)},toString:function(){return(this.year()<0?\"-\":\"\")+T9(Math.abs(this.year()),4)+\"-\"+T9(this.month(),2)+\"-\"+T9(this.day(),2)}});function Y$(){this.shortYearCutoff=\"+10\"}A9(Y$.prototype,{_validateLevel:0,newDate:function(e,t,r){return e==null?this.today():(e.year&&(this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),r=e.day(),t=e.month(),e=e.year()),new X$(this,e,t,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(e){var t=this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear);return t.year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear);return(t.year()<0?\"-\":\"\")+T9(Math.abs(t.year()),4)},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear),12},monthOfYear:function(e,t){var r=this._validate(e,t,this.minDay,Es.local.invalidMonth||Es.regionalOptions[\"\"].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(e,t){var r=(t+this.firstMonth-2*this.minMonth)%this.monthsInYear(e)+this.minMonth;return this._validate(e,r,this.minDay,Es.local.invalidMonth||Es.regionalOptions[\"\"].invalidMonth),r},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear);return this.leapYear(t)?366:365},dayOfYear:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(e,t,r){return this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),{}},add:function(e,t,r){return this._validate(e,this.minMonth,this.minDay,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),this._correctAdd(e,this._add(e,t,r),t,r)},_add:function(e,t,r){if(this._validateLevel++,r===\"d\"||r===\"w\"){var n=e.toJD()+t*(r===\"w\"?this.daysInWeek():1),i=e.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=e.year()+(r===\"y\"?t:0),o=e.monthOfYear()+(r===\"m\"?t:0),i=e.day(),s=function(c){for(;o<c.minMonth;)a--,o+=c.monthsInYear(a);for(var f=c.monthsInYear(a);o>f-1+c.minMonth;)a++,o-=f,f=c.monthsInYear(a)};r===\"y\"?(e.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,e.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):r===\"m\"&&(s(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var l=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,l}catch(u){throw this._validateLevel--,u}},_correctAdd:function(e,t,r,n){if(!this.hasYearZero&&(n===\"y\"||n===\"m\")&&(t[0]===0||e.year()>0!=t[0]>0)){var i={y:[1,1,\"y\"],m:[1,this.monthsInYear(-1),\"m\"],w:[this.daysInWeek(),this.daysInYear(-1),\"d\"],d:[1,this.daysInYear(-1),\"d\"]}[n],a=r<0?-1:1;t=this._add(e,r*i[0]+a*i[1],i[2])}return e.date(t[0],t[1],t[2])},set:function(e,t,r){this._validate(e,this.minMonth,this.minDay,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);var n=r===\"y\"?t:e.year(),i=r===\"m\"?t:e.month(),a=r===\"d\"?t:e.day();return(r===\"y\"||r===\"m\")&&(a=Math.min(a,this.daysInMonth(n,i))),e.date(n,i,a)},isValid:function(e,t,r){this._validateLevel++;var n=this.hasYearZero||e!==0;if(n){var i=this.newDate(e,t,this.minDay);n=t>=this.minMonth&&t-this.minMonth<this.monthsInYear(i)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(i)}return this._validateLevel--,n},toJSDate:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);return Es.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(e){return this.fromJD(Es.instance().fromJSDate(e).toJD())},_validate:function(e,t,r,n){if(e.year){if(this._validateLevel===0&&this.name!==e.calendar().name)throw(Es.local.differentCalendars||Es.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this.local.name).replace(/\\{1\\}/,e.calendar().local.name);return e}try{if(this._validateLevel++,this._validateLevel===1&&!this.isValid(e,t,r))throw n.replace(/\\{0\\}/,this.local.name);var i=this.newDate(e,t,r);return this._validateLevel--,i}catch(a){throw this._validateLevel--,a}}});function K$(e){this.local=this.regionalOptions[e]||this.regionalOptions[\"\"]}K$.prototype=new Y$;A9(K$.prototype,{name:\"Gregorian\",jdEpoch:17214255e-1,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Gregorian\",epochs:[\"BCE\",\"CE\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"mm/dd/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===0&&(r%100!==0||r%400===0)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Es.local.invalidMonth||Es.regionalOptions[\"\"].invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);e=n.year(),t=n.month(),r=n.day(),e<0&&e++,t<3&&(t+=12,e--);var i=Math.floor(e/100),a=2-i+Math.floor(i/4);return Math.floor(365.25*(e+4716))+Math.floor(30.6001*(t+1))+r+a-1524.5},fromJD:function(e){var t=Math.floor(e+.5),r=Math.floor((t-186721625e-2)/36524.25);r=t+1+r-Math.floor(r/4);var n=r+1524,i=Math.floor((n-122.1)/365.25),a=Math.floor(365.25*i),o=Math.floor((n-a)/30.6001),s=n-a-Math.floor(o*30.6001),l=o-(o>13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(e){return this.newDate(e.getFullYear(),e.getMonth()+1,e.getDate())}});var Es=M$e.exports=new S$e;Es.cdate=X$;Es.baseCalendar=Y$;Es.calendars.gregorian=K$});var E$e=ye(()=>{var J$=bh(),qd=Sv();J$(qd.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\"});qd.local=qd.regionalOptions[\"\"];J$(qd.cdate.prototype,{formatDate:function(e,t){return typeof e!=\"string\"&&(t=e,e=\"\"),this._calendar.formatDate(e||\"\",this,t)}});J$(qd.baseCalendar.prototype,{UNIX_EPOCH:qd.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:24*60*60,TICKS_EPOCH:qd.instance().jdEpoch,TICKS_PER_DAY:24*60*60*1e7,ATOM:\"yyyy-mm-dd\",COOKIE:\"D, dd M yyyy\",FULL:\"DD, MM d, yyyy\",ISO_8601:\"yyyy-mm-dd\",JULIAN:\"J\",RFC_822:\"D, d M yy\",RFC_850:\"DD, dd-M-yy\",RFC_1036:\"D, d M yy\",RFC_1123:\"D, d M yyyy\",RFC_2822:\"D, d M yyyy\",RSS:\"D, d M yy\",TICKS:\"!\",TIMESTAMP:\"@\",W3C:\"yyyy-mm-dd\",formatDate:function(e,t,r){if(typeof e!=\"string\"&&(r=t,t=e,e=\"\"),!t)return\"\";if(t.calendar()!==this)throw qd.local.invalidFormat||qd.regionalOptions[\"\"].invalidFormat;e=e||this.local.dateFormat,r=r||{};for(var n=r.dayNamesShort||this.local.dayNamesShort,i=r.dayNames||this.local.dayNames,a=r.monthNumbers||this.local.monthNumbers,o=r.monthNamesShort||this.local.monthNamesShort,s=r.monthNames||this.local.monthNames,l=r.calculateWeek||this.local.calculateWeek,u=function(A,L){for(var _=1;k+_<e.length&&e.charAt(k+_)===A;)_++;return k+=_-1,Math.floor(_/(L||1))>1},c=function(A,L,_,C){var M=\"\"+L;if(u(A,C))for(;M.length<_;)M=\"0\"+M;return M},f=function(A,L,_,C){return u(A)?C[L]:_[L]},h=this,d=function(A){return typeof a==\"function\"?a.call(h,A,u(\"m\")):b(c(\"m\",A.month(),2))},v=function(A,L){return L?typeof s==\"function\"?s.call(h,A):s[A.month()-h.minMonth]:typeof o==\"function\"?o.call(h,A):o[A.month()-h.minMonth]},x=this.local.digits,b=function(A){return r.localNumbers&&x?x(A):A},p=\"\",E=!1,k=0;k<e.length;k++)if(E)e.charAt(k)===\"'\"&&!u(\"'\")?E=!1:p+=e.charAt(k);else switch(e.charAt(k)){case\"d\":p+=b(c(\"d\",t.day(),2));break;case\"D\":p+=f(\"D\",t.dayOfWeek(),n,i);break;case\"o\":p+=c(\"o\",t.dayOfYear(),3);break;case\"w\":p+=c(\"w\",t.weekOfYear(),2);break;case\"m\":p+=d(t);break;case\"M\":p+=v(t,u(\"M\"));break;case\"y\":p+=u(\"y\",2)?t.year():(t.year()%100<10?\"0\":\"\")+t.year()%100;break;case\"Y\":u(\"Y\",2),p+=t.formatYear();break;case\"J\":p+=t.toJD();break;case\"@\":p+=(t.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case\"!\":p+=(t.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case\"'\":u(\"'\")?p+=\"'\":E=!0;break;default:p+=e.charAt(k)}return p},parseDate:function(e,t,r){if(t==null)throw qd.local.invalidArguments||qd.regionalOptions[\"\"].invalidArguments;if(t=typeof t==\"object\"?t.toString():t+\"\",t===\"\")return null;e=e||this.local.dateFormat,r=r||{};var n=r.shortYearCutoff||this.shortYearCutoff;n=typeof n!=\"string\"?n:this.today().year()%100+parseInt(n,10);for(var i=r.dayNamesShort||this.local.dayNamesShort,a=r.dayNames||this.local.dayNames,o=r.parseMonth||this.local.parseMonth,s=r.monthNumbers||this.local.monthNumbers,l=r.monthNamesShort||this.local.monthNamesShort,u=r.monthNames||this.local.monthNames,c=-1,f=-1,h=-1,d=-1,v=-1,x=!1,b=!1,p=function(F,q){for(var V=1;g+V<e.length&&e.charAt(g+V)===F;)V++;return g+=V-1,Math.floor(V/(q||1))>1},E=function(F,q){var V=p(F,q),H=[2,3,V?4:2,V?4:2,10,11,20][\"oyYJ@!\".indexOf(F)+1],X=new RegExp(\"^-?\\\\d{1,\"+H+\"}\"),G=t.substring(M).match(X);if(!G)throw(qd.local.missingNumberAt||qd.regionalOptions[\"\"].missingNumberAt).replace(/\\{0\\}/,M);return M+=G[0].length,parseInt(G[0],10)},k=this,A=function(){if(typeof s==\"function\"){p(\"m\");var F=s.call(k,t.substring(M));return M+=F.length,F}return E(\"m\")},L=function(F,q,V,H){for(var X=p(F,H)?V:q,G=0;G<X.length;G++)if(t.substr(M,X[G].length).toLowerCase()===X[G].toLowerCase())return M+=X[G].length,G+k.minMonth;throw(qd.local.unknownNameAt||qd.regionalOptions[\"\"].unknownNameAt).replace(/\\{0\\}/,M)},_=function(){if(typeof u==\"function\"){var F=p(\"M\")?u.call(k,t.substring(M)):l.call(k,t.substring(M));return M+=F.length,F}return L(\"M\",l,u)},C=function(){if(t.charAt(M)!==e.charAt(g))throw(qd.local.unexpectedLiteralAt||qd.regionalOptions[\"\"].unexpectedLiteralAt).replace(/\\{0\\}/,M);M++},M=0,g=0;g<e.length;g++)if(b)e.charAt(g)===\"'\"&&!p(\"'\")?b=!1:C();else switch(e.charAt(g)){case\"d\":d=E(\"d\");break;case\"D\":L(\"D\",i,a);break;case\"o\":v=E(\"o\");break;case\"w\":E(\"w\");break;case\"m\":h=A();break;case\"M\":h=_();break;case\"y\":var P=g;x=!p(\"y\",2),g=P,f=E(\"y\",2);break;case\"Y\":f=E(\"Y\",2);break;case\"J\":c=E(\"J\")+.5,t.charAt(M)===\".\"&&(M++,E(\"J\"));break;case\"@\":c=E(\"@\")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case\"!\":c=E(\"!\")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case\"*\":M=t.length;break;case\"'\":p(\"'\")?C():b=!0;break;default:C()}if(M<t.length)throw qd.local.unexpectedText||qd.regionalOptions[\"\"].unexpectedText;if(f===-1?f=this.today().year():f<100&&x&&(f+=n===-1?1900:this.today().year()-this.today().year()%100-(f<=n?0:100)),typeof h==\"string\"&&(h=o.call(this,f,h)),v>-1){h=1,d=v;for(var T=this.daysInMonth(f,h);d>T;T=this.daysInMonth(f,h))h++,d-=T}return c>-1?this.fromJD(c):this.newDate(f,h,d)},determineDate:function(e,t,r,n,i){r&&typeof r!=\"object\"&&(i=n,n=r,r=null),typeof n!=\"string\"&&(i=n,n=\"\");var a=this,o=function(s){try{return a.parseDate(n,s,i)}catch(f){}s=s.toLowerCase();for(var l=(s.match(/^c/)&&r?r.newDate():null)||a.today(),u=/([+-]?[0-9]+)\\s*(d|w|m|y)?/g,c=u.exec(s);c;)l.add(parseInt(c[1],10),c[2]||\"d\"),c=u.exec(s);return l};return t=t?t.newDate():null,e=e==null?t:typeof e==\"string\"?o(e):typeof e==\"number\"?isNaN(e)||e===1/0||e===-1/0?t:a.today().add(e,\"d\"):a.newDate(e),e}})});var k$e=ye(()=>{var zx=Sv(),aQt=bh(),$$=zx.instance();function S9(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}S9.prototype=new zx.baseCalendar;aQt(S9.prototype,{name:\"Chinese\",jdEpoch:17214255e-1,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{\"\":{name:\"Chinese\",epochs:[\"BEC\",\"EC\"],monthNumbers:function(e,t){if(typeof e==\"string\"){var r=e.match(sQt);return r?r[0]:\"\"}var n=this._validateYear(e),i=e.month(),a=\"\"+this.toChineseMonth(n,i);return t&&a.length<2&&(a=\"0\"+a),this.isIntercalaryMonth(n,i)&&(a+=\"i\"),a},monthNames:function(e){if(typeof e==\"string\"){var t=e.match(lQt);return t?t[0]:\"\"}var r=this._validateYear(e),n=e.month(),i=this.toChineseMonth(r,n),a=[\"\\u4E00\\u6708\",\"\\u4E8C\\u6708\",\"\\u4E09\\u6708\",\"\\u56DB\\u6708\",\"\\u4E94\\u6708\",\"\\u516D\\u6708\",\"\\u4E03\\u6708\",\"\\u516B\\u6708\",\"\\u4E5D\\u6708\",\"\\u5341\\u6708\",\"\\u5341\\u4E00\\u6708\",\"\\u5341\\u4E8C\\u6708\"][i-1];return this.isIntercalaryMonth(r,n)&&(a=\"\\u95F0\"+a),a},monthNamesShort:function(e){if(typeof e==\"string\"){var t=e.match(uQt);return t?t[0]:\"\"}var r=this._validateYear(e),n=e.month(),i=this.toChineseMonth(r,n),a=[\"\\u4E00\",\"\\u4E8C\",\"\\u4E09\",\"\\u56DB\",\"\\u4E94\",\"\\u516D\",\"\\u4E03\",\"\\u516B\",\"\\u4E5D\",\"\\u5341\",\"\\u5341\\u4E00\",\"\\u5341\\u4E8C\"][i-1];return this.isIntercalaryMonth(r,n)&&(a=\"\\u95F0\"+a),a},parseMonth:function(e,t){e=this._validateYear(e);var r=parseInt(t),n;if(isNaN(r))t[0]===\"\\u95F0\"&&(n=!0,t=t.substring(1)),t[t.length-1]===\"\\u6708\"&&(t=t.substring(0,t.length-1)),r=1+[\"\\u4E00\",\"\\u4E8C\",\"\\u4E09\",\"\\u56DB\",\"\\u4E94\",\"\\u516D\",\"\\u4E03\",\"\\u516B\",\"\\u4E5D\",\"\\u5341\",\"\\u5341\\u4E00\",\"\\u5341\\u4E8C\"].indexOf(t);else{var i=t[t.length-1];n=i===\"i\"||i===\"I\"}var a=this.toMonthIndex(e,r,n);return a},dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:1,isRTL:!1}},_validateYear:function(e,t){if(e.year&&(e=e.year()),typeof e!=\"number\"||e<1888||e>2111)throw t.replace(/\\{0\\}/,this.local.name);return e},toMonthIndex:function(e,t,r){var n=this.intercalaryMonth(e),i=r&&t!==n;if(i||t<1||t>12)throw zx.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var a;return n?!r&&t<=n?a=t-1:a=t:a=t-1,a},toChineseMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e),n=r?12:11;if(t<0||t>n)throw zx.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var i;return r?t<r?i=t+1:i=t:i=t+1,i},intercalaryMonth:function(e){e=this._validateYear(e);var t=Fx[e-Fx[0]],r=t>>13;return r},isIntercalaryMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e);return!!r&&r===t},leapYear:function(e){return this.intercalaryMonth(e)!==0},weekOfYear:function(e,t,r){var n=this._validateYear(e,zx.local.invalidyear),i=qx[n-qx[0]],a=i>>9&4095,o=i>>5&15,s=i&31,l;l=$$.newDate(a,o,s),l.add(4-(l.dayOfWeek()||7),\"d\");var u=this.toJD(e,t,r)-l.toJD();return 1+Math.floor(u/7)},monthsInYear:function(e){return this.leapYear(e)?13:12},daysInMonth:function(e,t){e.year&&(t=e.month(),e=e.year()),e=this._validateYear(e);var r=Fx[e-Fx[0]],n=r>>13,i=n?12:11;if(t>i)throw zx.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var a=r&1<<12-t?30:29;return a},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,a,r,zx.local.invalidDate);e=this._validateYear(n.year()),t=n.month(),r=n.day();var i=this.isIntercalaryMonth(e,t),a=this.toChineseMonth(e,t),o=fQt(e,a,r,i);return $$.toJD(o.year,o.month,o.day)},fromJD:function(e){var t=$$.fromJD(e),r=cQt(t.year(),t.month(),t.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(e){var t=e.match(oQt),r=this._validateYear(+t[1]),n=+t[2],i=!!t[3],a=this.toMonthIndex(r,n,i),o=+t[4];return this.newDate(r,a,o)},add:function(e,t,r){var n=e.year(),i=e.month(),a=this.isIntercalaryMonth(n,i),o=this.toChineseMonth(n,i),s=Object.getPrototypeOf(S9.prototype).add.call(this,e,t,r);if(r===\"y\"){var l=s.year(),u=s.month(),c=this.isIntercalaryMonth(l,o),f=a&&c?this.toMonthIndex(l,o,!0):this.toMonthIndex(l,o,!1);f!==u&&s.month(f)}return s}});var oQt=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)[-/](\\d?\\d)([iI]?)[-/](\\d?\\d)/m,sQt=/^\\d?\\d[iI]?/m,lQt=/^闰?十?[一二三四五六七八九]?月/m,uQt=/^闰?十?[一二三四五六七八九]?/m;zx.calendars.chinese=S9;var Fx=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],qx=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904];function cQt(e,t,r,n){var i,a;if(typeof e==\"object\")i=e,a=t||{};else{var o=typeof e==\"number\"&&e>=1888&&e<=2111;if(!o)throw new Error(\"Solar year outside range 1888-2111\");var s=typeof t==\"number\"&&t>=1&&t<=12;if(!s)throw new Error(\"Solar month outside range 1 - 12\");var l=typeof r==\"number\"&&r>=1&&r<=31;if(!l)throw new Error(\"Solar day outside range 1 - 31\");i={year:e,month:t,day:r},a=n||{}}var u=qx[i.year-qx[0]],c=i.year<<9|i.month<<5|i.day;a.year=c>=u?i.year:i.year-1,u=qx[a.year-qx[0]];var f=u>>9&4095,h=u>>5&15,d=u&31,v,x=new Date(f,h-1,d),b=new Date(i.year,i.month-1,i.day);v=Math.round((b-x)/(24*3600*1e3));var p=Fx[a.year-Fx[0]],E;for(E=0;E<13;E++){var k=p&1<<12-E?30:29;if(v<k)break;v-=k}var A=p>>13;return!A||E<A?(a.isIntercalary=!1,a.month=1+E):E===A?(a.isIntercalary=!0,a.month=E):(a.isIntercalary=!1,a.month=E),a.day=1+v,a}function fQt(e,t,r,n,i){var a,o;if(typeof e==\"object\")o=e,a=t||{};else{var s=typeof e==\"number\"&&e>=1888&&e<=2111;if(!s)throw new Error(\"Lunar year outside range 1888-2111\");var l=typeof t==\"number\"&&t>=1&&t<=12;if(!l)throw new Error(\"Lunar month outside range 1 - 12\");var u=typeof r==\"number\"&&r>=1&&r<=30;if(!u)throw new Error(\"Lunar day outside range 1 - 30\");var c;typeof n==\"object\"?(c=!1,a=n):(c=!!n,a=i||{}),o={year:e,month:t,day:r,isIntercalary:c}}var f;f=o.day-1;var h=Fx[o.year-Fx[0]],d=h>>13,v;d&&(o.month>d||o.isIntercalary)?v=o.month:v=o.month-1;for(var x=0;x<v;x++){var b=h&1<<12-x?30:29;f+=b}var p=qx[o.year-qx[0]],E=p>>9&4095,k=p>>5&15,A=p&31,L=new Date(E,k-1,A+f);return a.year=L.getFullYear(),a.month=1+L.getMonth(),a.day=L.getDate(),a}});var C$e=ye(()=>{var _w=Sv(),hQt=bh();function Q$(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}Q$.prototype=new _w.baseCalendar;hQt(Q$.prototype,{name:\"Coptic\",jdEpoch:18250295e-1,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Coptic\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Thout\",\"Paopi\",\"Hathor\",\"Koiak\",\"Tobi\",\"Meshir\",\"Paremhat\",\"Paremoude\",\"Pashons\",\"Paoni\",\"Epip\",\"Mesori\",\"Pi Kogi Enavot\"],monthNamesShort:[\"Tho\",\"Pao\",\"Hath\",\"Koi\",\"Tob\",\"Mesh\",\"Pat\",\"Pad\",\"Pash\",\"Pao\",\"Epi\",\"Meso\",\"PiK\"],dayNames:[\"Tkyriaka\",\"Pesnau\",\"Pshoment\",\"Peftoou\",\"Ptiou\",\"Psoou\",\"Psabbaton\"],dayNamesShort:[\"Tky\",\"Pes\",\"Psh\",\"Pef\",\"Pti\",\"Pso\",\"Psa\"],dayNamesMin:[\"Tk\",\"Pes\",\"Psh\",\"Pef\",\"Pt\",\"Pso\",\"Psa\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,_w.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,_w.local.invalidYear||_w.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,_w.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,_w.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}});_w.calendars.coptic=Q$});var L$e=ye(()=>{var b1=Sv(),dQt=bh();function eQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}eQ.prototype=new b1.baseCalendar;dQt(eQ.prototype,{name:\"Discworld\",jdEpoch:17214255e-1,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Discworld\",epochs:[\"BUC\",\"UC\"],monthNames:[\"Ick\",\"Offle\",\"February\",\"March\",\"April\",\"May\",\"June\",\"Grune\",\"August\",\"Spune\",\"Sektober\",\"Ember\",\"December\"],monthNamesShort:[\"Ick\",\"Off\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Gru\",\"Aug\",\"Spu\",\"Sek\",\"Emb\",\"Dec\"],dayNames:[\"Sunday\",\"Octeday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Oct\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Oc\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:2,isRTL:!1}},leapYear:function(e){return this._validate(e,this.minMonth,this.minDay,b1.local.invalidYear),!1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,b1.local.invalidYear),13},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,b1.local.invalidYear),400},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,b1.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,b1.local.invalidDate);return(n.day()+1)%8},weekDay:function(e,t,r){var n=this.dayOfWeek(e,t,r);return n>=2&&n<=6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,b1.local.invalidDate);return{century:vQt[Math.floor((n.year()-1)/100)+1]||\"\"}},toJD:function(e,t,r){var n=this._validate(e,t,r,b1.local.invalidDate);return e=n.year()+(n.year()<0?1:0),t=n.month(),r=n.day(),r+(t>1?16:0)+(t>2?(t-2)*32:0)+(e-1)*400+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e+.5)-Math.floor(this.jdEpoch)-1;var t=Math.floor(e/400)+1;e-=(t-1)*400,e+=e>15?16:0;var r=Math.floor(e/32)+1,n=e-(r-1)*32+1;return this.newDate(t<=0?t-1:t,r,n)}});var vQt={20:\"Fruitbat\",21:\"Anchovy\"};b1.calendars.discworld=eQ});var P$e=ye(()=>{var xw=Sv(),pQt=bh();function tQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}tQ.prototype=new xw.baseCalendar;pQt(tQ.prototype,{name:\"Ethiopian\",jdEpoch:17242205e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,xw.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,xw.local.invalidYear||xw.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,xw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,xw.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}});xw.calendars.ethiopian=tQ});var I$e=ye(()=>{var Ox=Sv(),gQt=bh();function rQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}rQ.prototype=new Ox.baseCalendar;gQt(rQ.prototype,{name:\"Hebrew\",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{\"\":{name:\"Hebrew\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Nisan\",\"Iyar\",\"Sivan\",\"Tammuz\",\"Av\",\"Elul\",\"Tishrei\",\"Cheshvan\",\"Kislev\",\"Tevet\",\"Shevat\",\"Adar\",\"Adar II\"],monthNamesShort:[\"Nis\",\"Iya\",\"Siv\",\"Tam\",\"Av\",\"Elu\",\"Tis\",\"Che\",\"Kis\",\"Tev\",\"She\",\"Ada\",\"Ad2\"],dayNames:[\"Yom Rishon\",\"Yom Sheni\",\"Yom Shlishi\",\"Yom Revi'i\",\"Yom Chamishi\",\"Yom Shishi\",\"Yom Shabbat\"],dayNamesShort:[\"Ris\",\"She\",\"Shl\",\"Rev\",\"Cha\",\"Shi\",\"Sha\"],dayNamesMin:[\"Ri\",\"She\",\"Shl\",\"Re\",\"Ch\",\"Shi\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Ox.local.invalidYear);return this._leapYear(t.year())},_leapYear:function(e){return e=e<0?e+1:e,M9(e*7+1,19)<7},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Ox.local.invalidYear),this._leapYear(e.year?e.year():e)?13:12},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Ox.local.invalidYear);return e=t.year(),this.toJD(e===-1?1:e+1,7,1)-this.toJD(e,7,1)},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,Ox.local.invalidMonth),t===12&&this.leapYear(e)||t===8&&M9(this.daysInYear(e),10)===5?30:t===9&&M9(this.daysInYear(e),10)===3?29:this.daysPerMonth[t-1]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,Ox.local.invalidDate);return{yearType:(this.leapYear(n)?\"embolismic\":\"common\")+\" \"+[\"deficient\",\"regular\",\"complete\"][this.daysInYear(n)%10-3]}},toJD:function(e,t,r){var n=this._validate(e,t,r,Ox.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=e<=0?e+1:e,a=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(t<7){for(var o=7;o<=this.monthsInYear(e);o++)a+=this.daysInMonth(e,o);for(var o=1;o<t;o++)a+=this.daysInMonth(e,o)}else for(var o=7;o<t;o++)a+=this.daysInMonth(e,o);return a},_delay1:function(e){var t=Math.floor((235*e-234)/19),r=12084+13753*t,n=t*29+Math.floor(r/25920);return M9(3*(n+1),7)<3&&n++,n},_delay2:function(e){var t=this._delay1(e-1),r=this._delay1(e),n=this._delay1(e+1);return n-r===356?2:r-t===382?1:0},fromJD:function(e){e=Math.floor(e)+.5;for(var t=Math.floor((e-this.jdEpoch)*98496/35975351)-1;e>=this.toJD(t===-1?1:t+1,7,1);)t++;for(var r=e<this.toJD(t,1,1)?7:1;e>this.toJD(t,r,this.daysInMonth(t,r));)r++;var n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});function M9(e,t){return e-t*Math.floor(e/t)}Ox.calendars.hebrew=rQ});var R$e=ye(()=>{var oC=Sv(),mQt=bh();function iQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}iQ.prototype=new oC.baseCalendar;mQt(iQ.prototype,{name:\"Islamic\",jdEpoch:19484395e-1,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(e){var t=this._validate(e,this.minMonth,this.minDay,oC.local.invalidYear);return(t.year()*11+14)%30<11},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){return this.leapYear(e)?355:354},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,oC.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,oC.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e=e<=0?e+1:e,r+Math.ceil(29.5*(t-1))+(e-1)*354+Math.floor((3+11*e)/30)+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=Math.floor((30*(e-this.jdEpoch)+10646)/10631);t=t<=0?t-1:t;var r=Math.min(12,Math.ceil((e-29-this.toJD(t,1,1))/29.5)+1),n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});oC.calendars.islamic=iQ});var D$e=ye(()=>{var sC=Sv(),yQt=bh();function nQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}nQ.prototype=new sC.baseCalendar;yQt(nQ.prototype,{name:\"Julian\",jdEpoch:17214235e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,sC.local.invalidYear),r=t.year()<0?t.year()+1:t.year();return r%4===0},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,sC.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,sC.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e<0&&e++,t<=2&&(e--,t+=12),Math.floor(365.25*(e+4716))+Math.floor(30.6001*(t+1))+r-1524.5},fromJD:function(e){var t=Math.floor(e+.5),r=t+1524,n=Math.floor((r-122.1)/365.25),i=Math.floor(365.25*n),a=Math.floor((r-i)/30.6001),o=a-Math.floor(a<14?1:13),s=n-Math.floor(o>2?4716:4715),l=r-i-Math.floor(30.6001*a);return s<=0&&s--,this.newDate(s,o,l)}});sC.calendars.julian=nQ});var F$e=ye(()=>{var ug=Sv(),_Qt=bh();function oQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}oQ.prototype=new ug.baseCalendar;_Qt(oQ.prototype,{name:\"Mayan\",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{\"\":{name:\"Mayan\",epochs:[\"\",\"\"],monthNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],monthNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],dayNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesMin:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],digits:null,dateFormat:\"YYYY.m.d\",firstDay:0,isRTL:!1,haabMonths:[\"Pop\",\"Uo\",\"Zip\",\"Zotz\",\"Tzec\",\"Xul\",\"Yaxkin\",\"Mol\",\"Chen\",\"Yax\",\"Zac\",\"Ceh\",\"Mac\",\"Kankin\",\"Muan\",\"Pax\",\"Kayab\",\"Cumku\",\"Uayeb\"],tzolkinMonths:[\"Imix\",\"Ik\",\"Akbal\",\"Kan\",\"Chicchan\",\"Cimi\",\"Manik\",\"Lamat\",\"Muluc\",\"Oc\",\"Chuen\",\"Eb\",\"Ben\",\"Ix\",\"Men\",\"Cib\",\"Caban\",\"Etznab\",\"Cauac\",\"Ahau\"]}},leapYear:function(e){return this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear),!1},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear);e=t.year();var r=Math.floor(e/400);e=e%400,e+=e<0?400:0;var n=Math.floor(e/20);return r+\".\"+n+\".\"+e%20},forYear:function(e){if(e=e.split(\".\"),e.length<3)throw\"Invalid Mayan year\";for(var t=0,r=0;r<e.length;r++){var n=parseInt(e[r],10);if(Math.abs(n)>19||r>0&&n<0)throw\"Invalid Mayan year\";t=t*20+n}return t},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear),18},weekOfYear:function(e,t,r){return this._validate(e,t,r,ug.local.invalidDate),0},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear),360},daysInMonth:function(e,t){return this._validate(e,t,this.minDay,ug.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,ug.local.invalidDate);return n.day()},weekDay:function(e,t,r){return this._validate(e,t,r,ug.local.invalidDate),!0},extraInfo:function(e,t,r){var n=this._validate(e,t,r,ug.local.invalidDate),i=n.toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(e){e-=this.jdEpoch;var t=aQ(e+8+17*20,365);return[Math.floor(t/20)+1,aQ(t,20)]},_toTzolkin:function(e){return e-=this.jdEpoch,[z$e(e+20,20),z$e(e+4,13)]},toJD:function(e,t,r){var n=this._validate(e,t,r,ug.local.invalidDate);return n.day()+n.month()*20+n.year()*360+this.jdEpoch},fromJD:function(e){e=Math.floor(e)+.5-this.jdEpoch;var t=Math.floor(e/360);e=e%360,e+=e<0?360:0;var r=Math.floor(e/20),n=e%20;return this.newDate(t,r,n)}});function aQ(e,t){return e-t*Math.floor(e/t)}function z$e(e,t){return aQ(e-1,t)+1}ug.calendars.mayan=oQ});var O$e=ye(()=>{var bw=Sv(),xQt=bh();function sQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}sQ.prototype=new bw.baseCalendar;var q$e=bw.instance(\"gregorian\");xQt(sQ.prototype,{name:\"Nanakshahi\",jdEpoch:22576735e-1,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Nanakshahi\",epochs:[\"BN\",\"AN\"],monthNames:[\"Chet\",\"Vaisakh\",\"Jeth\",\"Harh\",\"Sawan\",\"Bhadon\",\"Assu\",\"Katak\",\"Maghar\",\"Poh\",\"Magh\",\"Phagun\"],monthNamesShort:[\"Che\",\"Vai\",\"Jet\",\"Har\",\"Saw\",\"Bha\",\"Ass\",\"Kat\",\"Mgr\",\"Poh\",\"Mgh\",\"Pha\"],dayNames:[\"Somvaar\",\"Mangalvar\",\"Budhvaar\",\"Veervaar\",\"Shukarvaar\",\"Sanicharvaar\",\"Etvaar\"],dayNamesShort:[\"Som\",\"Mangal\",\"Budh\",\"Veer\",\"Shukar\",\"Sanichar\",\"Et\"],dayNamesMin:[\"So\",\"Ma\",\"Bu\",\"Ve\",\"Sh\",\"Sa\",\"Et\"],digits:null,dateFormat:\"dd-mm-yyyy\",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,bw.local.invalidYear||bw.regionalOptions[\"\"].invalidYear);return q$e.leapYear(t.year()+(t.year()<1?1:0)+1469)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(1-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,bw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,bw.local.invalidMonth),i=n.year();i<0&&i++;for(var a=n.day(),o=1;o<n.month();o++)a+=this.daysPerMonth[o-1];return a+q$e.toJD(i+1468,3,13)},fromJD:function(e){e=Math.floor(e+.5);for(var t=Math.floor((e-(this.jdEpoch-1))/366);e>=this.toJD(t+1,1,1);)t++;for(var r=e-Math.floor(this.toJD(t,1,1)+.5)+1,n=1;r>this.daysInMonth(t,n);)r-=this.daysInMonth(t,n),n++;return this.newDate(t,n,r)}});bw.calendars.nanakshahi=sQ});var B$e=ye(()=>{var ww=Sv(),bQt=bh();function lQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}lQ.prototype=new ww.baseCalendar;bQt(lQ.prototype,{name:\"Nepali\",jdEpoch:17007095e-1,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{\"\":{name:\"Nepali\",epochs:[\"BBS\",\"ABS\"],monthNames:[\"Baisakh\",\"Jestha\",\"Ashadh\",\"Shrawan\",\"Bhadra\",\"Ashwin\",\"Kartik\",\"Mangsir\",\"Paush\",\"Mangh\",\"Falgun\",\"Chaitra\"],monthNamesShort:[\"Bai\",\"Je\",\"As\",\"Shra\",\"Bha\",\"Ash\",\"Kar\",\"Mang\",\"Pau\",\"Ma\",\"Fal\",\"Chai\"],dayNames:[\"Aaitabaar\",\"Sombaar\",\"Manglbaar\",\"Budhabaar\",\"Bihibaar\",\"Shukrabaar\",\"Shanibaar\"],dayNamesShort:[\"Aaita\",\"Som\",\"Mangl\",\"Budha\",\"Bihi\",\"Shukra\",\"Shani\"],dayNamesMin:[\"Aai\",\"So\",\"Man\",\"Bu\",\"Bi\",\"Shu\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:1,isRTL:!1}},leapYear:function(e){return this.daysInYear(e)!==this.daysPerYear},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,ww.local.invalidYear);if(e=t.year(),typeof this.NEPALI_CALENDAR_DATA[e]==\"undefined\")return this.daysPerYear;for(var r=0,n=this.minMonth;n<=12;n++)r+=this.NEPALI_CALENDAR_DATA[e][n];return r},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,ww.local.invalidMonth),typeof this.NEPALI_CALENDAR_DATA[e]==\"undefined\"?this.daysPerMonth[t-1]:this.NEPALI_CALENDAR_DATA[e][t]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},toJD:function(e,t,r){var n=this._validate(e,t,r,ww.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=ww.instance(),a=0,o=t,s=e;this._createMissingCalendarData(e);var l=e-(o>9||o===9&&r>=this.NEPALI_CALENDAR_DATA[s][0]?56:57);for(t!==9&&(a=r,o--);o!==9;)o<=0&&(o=12,s--),a+=this.NEPALI_CALENDAR_DATA[s][o],o--;return t===9?(a+=r-this.NEPALI_CALENDAR_DATA[s][0],a<0&&(a+=i.daysInYear(l))):a+=this.NEPALI_CALENDAR_DATA[s][9]-this.NEPALI_CALENDAR_DATA[s][0],i.newDate(l,1,1).add(a,\"d\").toJD()},fromJD:function(e){var t=ww.instance(),r=t.fromJD(e),n=r.year(),i=r.dayOfYear(),a=n+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++,o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var u=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,u)},_createMissingCalendarData:function(e){var t=this.daysPerMonth.slice(0);t.unshift(17);for(var r=e-1;r<e+2;r++)typeof this.NEPALI_CALENDAR_DATA[r]==\"undefined\"&&(this.NEPALI_CALENDAR_DATA[r]=t)},NEPALI_CALENDAR_DATA:{1970:[18,31,31,32,31,31,31,30,29,30,29,30,30],1971:[18,31,31,32,31,32,30,30,29,30,29,30,30],1972:[17,31,32,31,32,31,30,30,30,29,29,30,30],1973:[19,30,32,31,32,31,30,30,30,29,30,29,31],1974:[19,31,31,32,30,31,31,30,29,30,29,30,30],1975:[18,31,31,32,32,30,31,30,29,30,29,30,30],1976:[17,31,32,31,32,31,30,30,30,29,29,30,31],1977:[18,31,32,31,32,31,31,29,30,29,30,29,31],1978:[18,31,31,32,31,31,31,30,29,30,29,30,30],1979:[18,31,31,32,32,31,30,30,29,30,29,30,30],1980:[17,31,32,31,32,31,30,30,30,29,29,30,31],1981:[18,31,31,31,32,31,31,29,30,30,29,30,30],1982:[18,31,31,32,31,31,31,30,29,30,29,30,30],1983:[18,31,31,32,32,31,30,30,29,30,29,30,30],1984:[17,31,32,31,32,31,30,30,30,29,29,30,31],1985:[18,31,31,31,32,31,31,29,30,30,29,30,30],1986:[18,31,31,32,31,31,31,30,29,30,29,30,30],1987:[18,31,32,31,32,31,30,30,29,30,29,30,30],1988:[17,31,32,31,32,31,30,30,30,29,29,30,31],1989:[18,31,31,31,32,31,31,30,29,30,29,30,30],1990:[18,31,31,32,31,31,31,30,29,30,29,30,30],1991:[18,31,32,31,32,31,30,30,29,30,29,30,30],1992:[17,31,32,31,32,31,30,30,30,29,30,29,31],1993:[18,31,31,31,32,31,31,30,29,30,29,30,30],1994:[18,31,31,32,31,31,31,30,29,30,29,30,30],1995:[17,31,32,31,32,31,30,30,30,29,29,30,30],1996:[17,31,32,31,32,31,30,30,30,29,30,29,31],1997:[18,31,31,32,31,31,31,30,29,30,29,30,30],1998:[18,31,31,32,31,31,31,30,29,30,29,30,30],1999:[17,31,32,31,32,31,30,30,30,29,29,30,31],2e3:[17,30,32,31,32,31,30,30,30,29,30,29,31],2001:[18,31,31,32,31,31,31,30,29,30,29,30,30],2002:[18,31,31,32,32,31,30,30,29,30,29,30,30],2003:[17,31,32,31,32,31,30,30,30,29,29,30,31],2004:[17,30,32,31,32,31,30,30,30,29,30,29,31],2005:[18,31,31,32,31,31,31,30,29,30,29,30,30],2006:[18,31,31,32,32,31,30,30,29,30,29,30,30],2007:[17,31,32,31,32,31,30,30,30,29,29,30,31],2008:[17,31,31,31,32,31,31,29,30,30,29,29,31],2009:[18,31,31,32,31,31,31,30,29,30,29,30,30],2010:[18,31,31,32,32,31,30,30,29,30,29,30,30],2011:[17,31,32,31,32,31,30,30,30,29,29,30,31],2012:[17,31,31,31,32,31,31,29,30,30,29,30,30],2013:[18,31,31,32,31,31,31,30,29,30,29,30,30],2014:[18,31,31,32,32,31,30,30,29,30,29,30,30],2015:[17,31,32,31,32,31,30,30,30,29,29,30,31],2016:[17,31,31,31,32,31,31,29,30,30,29,30,30],2017:[18,31,31,32,31,31,31,30,29,30,29,30,30],2018:[18,31,32,31,32,31,30,30,29,30,29,30,30],2019:[17,31,32,31,32,31,30,30,30,29,30,29,31],2020:[17,31,31,31,32,31,31,30,29,30,29,30,30],2021:[18,31,31,32,31,31,31,30,29,30,29,30,30],2022:[17,31,32,31,32,31,30,30,30,29,29,30,30],2023:[17,31,32,31,32,31,30,30,30,29,30,29,31],2024:[17,31,31,31,32,31,31,30,29,30,29,30,30],2025:[18,31,31,32,31,31,31,30,29,30,29,30,30],2026:[17,31,32,31,32,31,30,30,30,29,29,30,31],2027:[17,30,32,31,32,31,30,30,30,29,30,29,31],2028:[17,31,31,32,31,31,31,30,29,30,29,30,30],2029:[18,31,31,32,31,32,30,30,29,30,29,30,30],2030:[17,31,32,31,32,31,30,30,30,30,30,30,31],2031:[17,31,32,31,32,31,31,31,31,31,31,31,31],2032:[17,32,32,32,32,32,32,32,32,32,32,32,32],2033:[18,31,31,32,32,31,30,30,29,30,29,30,30],2034:[17,31,32,31,32,31,30,30,30,29,29,30,31],2035:[17,30,32,31,32,31,31,29,30,30,29,29,31],2036:[17,31,31,32,31,31,31,30,29,30,29,30,30],2037:[18,31,31,32,32,31,30,30,29,30,29,30,30],2038:[17,31,32,31,32,31,30,30,30,29,29,30,31],2039:[17,31,31,31,32,31,31,29,30,30,29,30,30],2040:[17,31,31,32,31,31,31,30,29,30,29,30,30],2041:[18,31,31,32,32,31,30,30,29,30,29,30,30],2042:[17,31,32,31,32,31,30,30,30,29,29,30,31],2043:[17,31,31,31,32,31,31,29,30,30,29,30,30],2044:[17,31,31,32,31,31,31,30,29,30,29,30,30],2045:[18,31,32,31,32,31,30,30,29,30,29,30,30],2046:[17,31,32,31,32,31,30,30,30,29,29,30,31],2047:[17,31,31,31,32,31,31,30,29,30,29,30,30],2048:[17,31,31,32,31,31,31,30,29,30,29,30,30],2049:[17,31,32,31,32,31,30,30,30,29,29,30,30],2050:[17,31,32,31,32,31,30,30,30,29,30,29,31],2051:[17,31,31,31,32,31,31,30,29,30,29,30,30],2052:[17,31,31,32,31,31,31,30,29,30,29,30,30],2053:[17,31,32,31,32,31,30,30,30,29,29,30,30],2054:[17,31,32,31,32,31,30,30,30,29,30,29,31],2055:[17,31,31,32,31,31,31,30,29,30,30,29,30],2056:[17,31,31,32,31,32,30,30,29,30,29,30,30],2057:[17,31,32,31,32,31,30,30,30,29,29,30,31],2058:[17,30,32,31,32,31,30,30,30,29,30,29,31],2059:[17,31,31,32,31,31,31,30,29,30,29,30,30],2060:[17,31,31,32,32,31,30,30,29,30,29,30,30],2061:[17,31,32,31,32,31,30,30,30,29,29,30,31],2062:[17,30,32,31,32,31,31,29,30,29,30,29,31],2063:[17,31,31,32,31,31,31,30,29,30,29,30,30],2064:[17,31,31,32,32,31,30,30,29,30,29,30,30],2065:[17,31,32,31,32,31,30,30,30,29,29,30,31],2066:[17,31,31,31,32,31,31,29,30,30,29,29,31],2067:[17,31,31,32,31,31,31,30,29,30,29,30,30],2068:[17,31,31,32,32,31,30,30,29,30,29,30,30],2069:[17,31,32,31,32,31,30,30,30,29,29,30,31],2070:[17,31,31,31,32,31,31,29,30,30,29,30,30],2071:[17,31,31,32,31,31,31,30,29,30,29,30,30],2072:[17,31,32,31,32,31,30,30,29,30,29,30,30],2073:[17,31,32,31,32,31,30,30,30,29,29,30,31],2074:[17,31,31,31,32,31,31,30,29,30,29,30,30],2075:[17,31,31,32,31,31,31,30,29,30,29,30,30],2076:[16,31,32,31,32,31,30,30,30,29,29,30,30],2077:[17,31,32,31,32,31,30,30,30,29,30,29,31],2078:[17,31,31,31,32,31,31,30,29,30,29,30,30],2079:[17,31,31,32,31,31,31,30,29,30,29,30,30],2080:[16,31,32,31,32,31,30,30,30,29,29,30,30],2081:[17,31,31,32,32,31,30,30,30,29,30,30,30],2082:[17,31,32,31,32,31,30,30,30,29,30,30,30],2083:[17,31,31,32,31,31,30,30,30,29,30,30,30],2084:[17,31,31,32,31,31,30,30,30,29,30,30,30],2085:[17,31,32,31,32,31,31,30,30,29,30,30,30],2086:[17,31,32,31,32,31,30,30,30,29,30,30,30],2087:[16,31,31,32,31,31,31,30,30,29,30,30,30],2088:[16,30,31,32,32,30,31,30,30,29,30,30,30],2089:[17,31,32,31,32,31,30,30,30,29,30,30,30],2090:[17,31,32,31,32,31,30,30,30,29,30,30,30],2091:[16,31,31,32,31,31,31,30,30,29,30,30,30],2092:[16,31,31,32,32,31,30,30,30,29,30,30,30],2093:[17,31,32,31,32,31,30,30,30,29,30,30,30],2094:[17,31,31,32,31,31,30,30,30,29,30,30,30],2095:[17,31,31,32,31,31,31,30,29,30,30,30,30],2096:[17,30,31,32,32,31,30,30,29,30,29,30,30],2097:[17,31,32,31,32,31,30,30,30,29,30,30,30],2098:[17,31,31,32,31,31,31,29,30,29,30,30,31],2099:[17,31,31,32,31,31,31,30,29,29,30,30,30],2100:[17,31,32,31,32,30,31,30,29,30,29,30,30]}});ww.calendars.nepali=lQ});var N$e=ye(()=>{var $A=Sv(),wQt=bh();function E9(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}E9.prototype=new $A.baseCalendar;wQt(E9.prototype,{name:\"Persian\",jdEpoch:19483205e-1,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Persian\",epochs:[\"BP\",\"AP\"],monthNames:[\"Farvardin\",\"Ordibehesht\",\"Khordad\",\"Tir\",\"Mordad\",\"Shahrivar\",\"Mehr\",\"Aban\",\"Azar\",\"Day\",\"Bahman\",\"Esfand\"],monthNamesShort:[\"Far\",\"Ord\",\"Kho\",\"Tir\",\"Mor\",\"Sha\",\"Meh\",\"Aba\",\"Aza\",\"Day\",\"Bah\",\"Esf\"],dayNames:[\"Yekshambe\",\"Doshambe\",\"Seshambe\",\"Ch\\xE6harshambe\",\"Panjshambe\",\"Jom'e\",\"Shambe\"],dayNamesShort:[\"Yek\",\"Do\",\"Se\",\"Ch\\xE6\",\"Panj\",\"Jom\",\"Sha\"],dayNamesMin:[\"Ye\",\"Do\",\"Se\",\"Ch\",\"Pa\",\"Jo\",\"Sh\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,$A.local.invalidYear);return((t.year()-(t.year()>0?474:473))%2820+474+38)*682%2816<682},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-((n.dayOfWeek()+1)%7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,$A.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,$A.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=e-(e>=0?474:473),a=474+uQ(i,2820);return r+(t<=7?(t-1)*31:(t-1)*30+6)+Math.floor((a*682-110)/2816)+(a-1)*365+Math.floor(i/2820)*1029983+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=e-this.toJD(475,1,1),r=Math.floor(t/1029983),n=uQ(t,1029983),i=2820;if(n!==1029982){var a=Math.floor(n/366),o=uQ(n,366);i=Math.floor((2134*a+2816*o+2815)/1028522)+a+1}var s=i+2820*r+474;s=s<=0?s-1:s;var l=e-this.toJD(s,1,1)+1,u=l<=186?Math.ceil(l/31):Math.ceil((l-6)/30),c=e-this.toJD(s,u,1)+1;return this.newDate(s,u,c)}});function uQ(e,t){return e-t*Math.floor(e/t)}$A.calendars.persian=E9;$A.calendars.jalali=E9});var U$e=ye(()=>{var Tw=Sv(),TQt=bh(),k9=Tw.instance();function cQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}cQ.prototype=new Tw.baseCalendar;TQt(cQ.prototype,{name:\"Taiwan\",jdEpoch:24194025e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,Tw.local.invalidYear),r=this._t2gYear(t.year());return k9.leapYear(r)},weekOfYear:function(i,t,r){var n=this._validate(i,this.minMonth,this.minDay,Tw.local.invalidYear),i=this._t2gYear(n.year());return k9.weekOfYear(i,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Tw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,Tw.local.invalidDate),i=this._t2gYear(n.year());return k9.toJD(i,n.month(),n.day())},fromJD:function(e){var t=k9.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)},_g2tYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)}});Tw.calendars.taiwan=cQ});var V$e=ye(()=>{var Aw=Sv(),AQt=bh(),C9=Aw.instance();function fQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}fQ.prototype=new Aw.baseCalendar;AQt(fQ.prototype,{name:\"Thai\",jdEpoch:15230985e-1,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(r){var t=this._validate(r,this.minMonth,this.minDay,Aw.local.invalidYear),r=this._t2gYear(t.year());return C9.leapYear(r)},weekOfYear:function(i,t,r){var n=this._validate(i,this.minMonth,this.minDay,Aw.local.invalidYear),i=this._t2gYear(n.year());return C9.weekOfYear(i,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Aw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,Aw.local.invalidDate),i=this._t2gYear(n.year());return C9.toJD(i,n.month(),n.day())},fromJD:function(e){var t=C9.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)},_g2tYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)}});Aw.calendars.thai=fQ});var H$e=ye(()=>{var Sw=Sv(),SQt=bh();function hQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}hQ.prototype=new Sw.baseCalendar;SQt(hQ.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(e){var t=this._validate(e,this.minMonth,this.minDay,Sw.local.invalidYear);return this.daysInYear(t.year())===355},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){for(var t=0,r=1;r<=12;r++)t+=this.daysInMonth(e,r);return t},daysInMonth:function(e,t){for(var r=this._validate(e,t,this.minDay,Sw.local.invalidMonth),n=r.toJD()-24e5+.5,i=0,a=0;a<Bx.length;a++){if(Bx[a]>n)return Bx[i]-Bx[i-1];i++}return 30},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,Sw.local.invalidDate),i=12*(n.year()-1)+n.month()-15292,a=n.day()+Bx[i-1]-1;return a+24e5-.5},fromJD:function(e){for(var t=e-24e5+.5,r=0,n=0;n<Bx.length&&!(Bx[n]>t);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),o=a+1,s=i-12*a,l=t-Bx[r-1]+1;return this.newDate(o,s,l)},isValid:function(e,t,r){var n=Sw.baseCalendar.prototype.isValid.apply(this,arguments);return n&&(e=e.year!=null?e.year:e,n=e>=1276&&e<=1500),n},_validate:function(e,t,r,n){var i=Sw.baseCalendar.prototype._validate.apply(this,arguments);if(i.year<1276||i.year>1500)throw n.replace(/\\{0\\}/,this.local.name);return i}});Sw.calendars.ummalqura=hQ;var Bx=[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]});var j$e=ye((_2r,G$e)=>{\"use strict\";G$e.exports=Sv();E$e();k$e();C$e();L$e();P$e();I$e();R$e();D$e();F$e();O$e();B$e();N$e();U$e();V$e();H$e()});var $$e=ye((x2r,J$e)=>{\"use strict\";var Z$e=j$e(),lC=Mr(),X$e=es(),MQt=X$e.EPOCHJD,EQt=X$e.ONEDAY,pQ={valType:\"enumerated\",values:lC.sortObjectKeys(Z$e.calendars),editType:\"calc\",dflt:\"gregorian\"},Y$e=function(e,t,r,n){var i={};return i[r]=pQ,lC.coerce(e,t,i,r,n)},kQt=function(e,t,r,n){for(var i=0;i<r.length;i++)Y$e(e,t,r[i]+\"calendar\",n.calendar)},CQt={chinese:\"2000-01-01\",coptic:\"2000-01-01\",discworld:\"2000-01-01\",ethiopian:\"2000-01-01\",hebrew:\"5000-01-01\",islamic:\"1000-01-01\",julian:\"2000-01-01\",mayan:\"5000-01-01\",nanakshahi:\"1000-01-01\",nepali:\"2000-01-01\",persian:\"1000-01-01\",jalali:\"1000-01-01\",taiwan:\"1000-01-01\",thai:\"2000-01-01\",ummalqura:\"1400-01-01\"},LQt={chinese:\"2000-01-02\",coptic:\"2000-01-03\",discworld:\"2000-01-03\",ethiopian:\"2000-01-05\",hebrew:\"5000-01-01\",islamic:\"1000-01-02\",julian:\"2000-01-03\",mayan:\"5000-01-01\",nanakshahi:\"1000-01-05\",nepali:\"2000-01-05\",persian:\"1000-01-01\",jalali:\"1000-01-01\",taiwan:\"1000-01-04\",thai:\"2000-01-04\",ummalqura:\"1400-01-06\"},PQt={chinese:[\"2000-01-01\",\"2001-01-01\"],coptic:[\"1700-01-01\",\"1701-01-01\"],discworld:[\"1800-01-01\",\"1801-01-01\"],ethiopian:[\"2000-01-01\",\"2001-01-01\"],hebrew:[\"5700-01-01\",\"5701-01-01\"],islamic:[\"1400-01-01\",\"1401-01-01\"],julian:[\"2000-01-01\",\"2001-01-01\"],mayan:[\"5200-01-01\",\"5201-01-01\"],nanakshahi:[\"0500-01-01\",\"0501-01-01\"],nepali:[\"2000-01-01\",\"2001-01-01\"],persian:[\"1400-01-01\",\"1401-01-01\"],jalali:[\"1400-01-01\",\"1401-01-01\"],taiwan:[\"0100-01-01\",\"0101-01-01\"],thai:[\"2500-01-01\",\"2501-01-01\"],ummalqura:[\"1400-01-01\",\"1401-01-01\"]},L9=\"##\",IQt={d:{0:\"dd\",\"-\":\"d\"},e:{0:\"d\",\"-\":\"d\"},a:{0:\"D\",\"-\":\"D\"},A:{0:\"DD\",\"-\":\"DD\"},j:{0:\"oo\",\"-\":\"o\"},W:{0:\"ww\",\"-\":\"w\"},m:{0:\"mm\",\"-\":\"m\"},b:{0:\"M\",\"-\":\"M\"},B:{0:\"MM\",\"-\":\"MM\"},y:{0:\"yy\",\"-\":\"yy\"},Y:{0:\"yyyy\",\"-\":\"yyyy\"},U:L9,w:L9,c:{0:\"D M d %X yyyy\",\"-\":\"D M d %X yyyy\"},x:{0:\"mm/dd/yyyy\",\"-\":\"mm/dd/yyyy\"}};function RQt(e,t,r){for(var n=Math.floor((t+.05)/EQt)+MQt,i=K$e(r).fromJD(n),a=0,o,s,l,u,c;(a=e.indexOf(\"%\",a))!==-1;)o=e.charAt(a+1),o===\"0\"||o===\"-\"||o===\"_\"?(l=3,s=e.charAt(a+2),o===\"_\"&&(o=\"-\")):(s=o,o=\"0\",l=2),u=IQt[s],u?(u===L9?c=L9:c=i.formatDate(u[o]),e=e.substr(0,a)+c+e.substr(a+l),a+=c.length):a+=l;return e}var W$e={};function K$e(e){var t=W$e[e];return t||(t=W$e[e]=Z$e.instance(e),t)}function uC(e){return lC.extendFlat({},pQ,{description:e})}function gQ(e){return\"Sets the calendar system to use with `\"+e+\"` date data.\"}var vQ={xcalendar:uC(gQ(\"x\"))},iy=lC.extendFlat({},vQ,{ycalendar:uC(gQ(\"y\"))}),dQ=lC.extendFlat({},iy,{zcalendar:uC(gQ(\"z\"))}),QA=uC([\"Sets the calendar system to use for `range` and `tick0`\",\"if this is a date axis. This does not set the calendar for\",\"interpreting data on this axis, that's specified in the trace\",\"or via the global `layout.calendar`\"].join(\" \"));J$e.exports={moduleType:\"component\",name:\"calendars\",schema:{traces:{scatter:iy,bar:iy,box:iy,heatmap:iy,contour:iy,histogram:iy,histogram2d:iy,histogram2dcontour:iy,scatter3d:dQ,surface:dQ,mesh3d:dQ,scattergl:iy,ohlc:vQ,candlestick:vQ},layout:{calendar:uC([\"Sets the default calendar system to use for interpreting and\",\"displaying dates throughout the plot.\"].join(\" \"))},subplots:{xaxis:{calendar:QA},yaxis:{calendar:QA},scene:{xaxis:{calendar:QA},yaxis:{calendar:QA},zaxis:{calendar:QA}},polar:{radialaxis:{calendar:QA}}}},layoutAttributes:pQ,handleDefaults:Y$e,handleTraceDefaults:kQt,CANONICAL_SUNDAY:LQt,CANONICAL_TICK:CQt,DFLTRANGE:PQt,getCal:K$e,worldCalFmt:RQt}});var eQe=ye((b2r,Q$e)=>{\"use strict\";Q$e.exports=$$e()});var DQt=ye((w2r,rQe)=>{var tQe=Wme();tQe.register([Xye(),z1e(),Z_e(),dxe(),Mxe(),wbe(),zbe(),b2e(),K2e(),Pwe(),m3e(),j4e(),REe(),TCe(),c6e(),N6e(),uLe(),RPe(),$Pe(),gIe(),kIe(),VIe(),i8e(),_8e(),WRe(),hDe(),EOe(),EBe(),qNe(),lUe(),mVe(),IVe(),rHe(),dGe(),kGe(),$Ge(),oWe(),LWe(),fZe(),RXe(),rYe(),TYe(),YYe(),uKe(),sJe(),SJe(),GJe(),A$e(),eQe()]);rQe.exports=tQe});return DQt();})();\n", - "/*!\n", - " * The buffer module from node.js, for the browser.\n", - " *\n", - " * @author Feross Aboukhadijeh <https://feross.org>\n", - " * @license MIT\n", - " */\n", - "/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\n", - "/*!\n", - " * Determine if an object is a Buffer\n", - " *\n", - " * @author Feross Aboukhadijeh <https://feross.org>\n", - " * @license MIT\n", - " */\n", - "/*!\n", - " * pad-left <https://github.com/jonschlinkert/pad-left>\n", - " *\n", - " * Copyright (c) 2014-2015, Jon Schlinkert.\n", - " * Licensed under the MIT license.\n", - " */\n", - "/*!\n", - " * repeat-string <https://github.com/jonschlinkert/repeat-string>\n", - " *\n", - " * Copyright (c) 2014-2015, Jon Schlinkert.\n", - " * Licensed under the MIT License.\n", - " */\n", - "/*! Bundled license information:\n", - "\n", - "native-promise-only/lib/npo.src.js:\n", - " (*! Native Promise Only\n", - " v0.8.1 (c) Kyle Simpson\n", - " MIT License: http://getify.mit-license.org\n", - " *)\n", - "\n", - "polybooljs/index.js:\n", - " (*\n", - " * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc\n", - " * @license MIT\n", - " * @preserve Project Home: https://github.com/voidqk/polybooljs\n", - " *)\n", - "\n", - "ieee754/index.js:\n", - " (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> *)\n", - "\n", - "buffer/index.js:\n", - " (*!\n", - " * The buffer module from node.js, for the browser.\n", - " *\n", - " * @author Feross Aboukhadijeh <https://feross.org>\n", - " * @license MIT\n", - " *)\n", - "\n", - "safe-buffer/index.js:\n", - " (*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *)\n", - "\n", - "assert/build/internal/util/comparisons.js:\n", - " (*!\n", - " * The buffer module from node.js, for the browser.\n", - " *\n", - " * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n", - " * @license MIT\n", - " *)\n", - "\n", - "object-assign/index.js:\n", - " (*\n", - " object-assign\n", - " (c) Sindre Sorhus\n", - " @license MIT\n", - " *)\n", - "\n", - "maplibre-gl/dist/maplibre-gl.js:\n", - " (**\n", - " * MapLibre GL JS\n", - " * @license 3-Clause BSD. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v4.7.1/LICENSE.txt\n", - " *)\n", - "*/\n", - "\n", - "window.Plotly = Plotly;\n", - "return Plotly;\n", - "}));</script> <div id=\"3a4df812-4d63-4ca2-aa59-95f384f8b5f0\" class=\"plotly-graph-div\" style=\"height:525px; width:100%;\"></div> <script type=\"text/javascript\"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"3a4df812-4d63-4ca2-aa59-95f384f8b5f0\")) { Plotly.newPlot( \"3a4df812-4d63-4ca2-aa59-95f384f8b5f0\", [{\"hovertemplate\":\"battery=%{marker.size}\\u003cbr\\u003elat=%{lat}\\u003cbr\\u003elon=%{lon}\\u003cbr\\u003ehumi=%{marker.color}\\u003cextra\\u003e\\u003c\\u002fextra\\u003e\",\"lat\":{\"dtype\":\"f8\",\"bdata\":\"vMj7wrfFSEA9iilHv8VIQKB9m7TzxUhAD24hfgDGSEB6TRd7EsZIQC8FvZowxkhA5Lxiuk7GSEBMGGKzysZIQA\\u002f2dnvtxkhA0tOLQxDHSECVsaALM8dIQMEayv2+x0hAlemf+d3HSEBpuHX1\\u002fMdIQD2HS\\u002fEbyEhAJlFQBj7ISEBqhrBZfMhIQJchd3OByEhAw7w9jYbISEDwVwSni8hIQNAuW8LMyEhARflZl+DISEC7w1hs9MhIQDGOV0EIyUhA0b9wBxPJSEBO5IrqJslIQAqwtaYryUhA\\u002fiwS6irJSEApW6C0JMlIQKlL5z8LyUhAiXSJ9gfJSEBqvZM0EclIQB\\u002fRhZsZyUhA1eR3AiLJSEDWaQ9BVslIQLqVkNVuyUhAlhvSyY7JSEB+KRPppMlIQGU3VAi7yUhAAWGvyQ3KSEDZbi8nIMpIQLB8r4QyykhAUPJVuEbKSECJtPBpzMpIQJbUIgXzykhAAAncHRbLSEBNS8JAN8tIQK1YvNBTy0hAHCnX68jLSECF5ymb68tIQGkXV4UPzEhAW69teiHMSEDuAT5oP8xIQCZ+FJm6zEhAzEQlIdnMSEBxCzap98xIQBfSRjEWzUhA2LLFqIzNSEDN9EJypc1IQFy9TLbAzUhAuXg9BdfNSECvurrO781IQKR3Im9WzkhAPyqZA3LOSEASnjMWi85IQEmT0FmlzkhApvMVVh\\u002fPSEAebGNhPM9IQAQdYJNYz0hApq8ZYHHPSEBHQtMsis9IQETomNrvz0hA8Z0yQx7QSEAiYbA7RNBIQJEdPGxu0EhAit+TghzRSEC5KEEWSNFIQAbGfwV40UhANQ8tmaPRSEBkWNosz9FIQLLfReT\\u002f0UhAmnDkVvvRSECDAYPJ9tFIQGuSITzy0UhAVweC+KfRSEDqIVz5k9FIQH08Nvp\\u002f0UhAQrFThmHRSECd7xpXMdFIQBU8sshr0EhAaLarhTvQSEBrTGmQCtBIQG4e2QXGz0hAd8nJ4BDPSECY1gq95s5IQGcNPlu9zkhANkRx+ZPOSEAFe6SXas5IQFDCGFb4zUhAdzVvjO\\u002fNSEC7Tc7h5c1IQP5lLTfczUhApNpYNa3NSEA3LYsHoM1IQMp\\u002fvdmSzUhAXdLvq4XNSECksa7Pas1IQPWF\\u002fZbEzEhA8PFIDJzMSEARe\\u002fvzccxIQABWV\\u002fIxzEhA0M1POgTMSEA1\\u002fwpwS8tIQFrioIANy0hAfsU2kc\\u002fKSECjqMyhkcpIQPTakmW5yUhA8x+j4JrJSEClOGhOeclIQPGpw9ZdyUhACmryKTbJSEC0uaJlo8hIQGRK+5x6yEhAFNtT1FHISEBwrZv3JMhIQJCZB9Czx0hAjzcSCY7HSEDfQcCmjMdIQG91JruFx0hA\\u002f6iMz37HSEC+JLUzbsdIQL4ktTNux0hA3ouBXGDHSEDa3xDhlsdIQFUBku\\u002fBx0hAl2UHFOnHSEDYyXw4EMhIQBku8lw3yEhAcbLvVaLISEA5JKwZvMhIQACWaN3VyEhAulsnaPLISEBJ\\u002fJ0jEMlIQPr0nQqKyUhA7LJer5\\u002fJSEBCjmk9rclIQJhpdMu6yUhALWNpJfjJSEBE\\u002fwKLDspIQFubnPAkykhAcjc2VjvKSECJ08+7UcpIQDXnr2NwykhAgstVTG3KSEDPr\\u002fs0aspIQL33fs5mykhABYjslbXKSEAJTBX6zspIQEKZWiT6ykhAQplaJPrKSEB4WZdD8MpIQDuPBsfXykhAXd49vH7KSEAL1cOHZMpIQMlK789EykhAu1hF+ifKSEDumUqpuMlIQJYKCFanyUhAPXvFApbJSEDl64KvhMlIQIxcQFxzyUhAcuxSaWrJSEBj8oTrcclIQFP4tm15yUhARP7o74DJSECXRvZ0FslIQBzT4Jf1yEhAol\\u002fLutTISECFjzZoq8hIQBljKk15yEhAkUZF3qvHSEAoRWuHeMdIQM3vWUFAx0hAcZpI+wfHSECWaEavJsZIQEvM5akkxkhAADCFpCLGSEBIt2drIMZIQP0aB2YexkhAtyTPJTDGSEAWNPIkO8ZIQHVDFSRGxkhA1FI4I1HGSEDw00oHrsdIQIYlr1vjx0hAHXcTsBjISECzyHcETshIQEoa3FiDyEhANjUEwT\\u002fJSECvhigwbMlIQCjYTJ+YyUhAuuif28PJSEDWHfN3YcpIQBYsHMGLykhAbjmozazKSEBVSCxIuMpIQDxXsMLDykhADDMCxe3KSEAVdZK3xspIQB63IqqfykhAJvmynHjKSEBqHns04slIQNyp4ZfQyUhAIppTBr3JSEBoisV0qclIQK16N+OVyUhA82qpUYLJSEC86lfMr8hIQGXYmax9yEhAD8bbjEvISEAmfG19IchIQFKt2kD7x0hAAnKPTmLHSEAHSssiT8dIQMLLOrtAx0hAfE2qUzLHSEBPNhMpHsdIQDfd0D7ExkhA8C5AsaXGSECqgK8jh8ZIQGPSHpZoxkhAVZroiJPGSECsf7n8rsZIQAJlinDKxkhAWEpb5OXGSEBlqn5PGsdIQOFHk3c1yEhAEk+Yh3rISEDzNsxjkMhIQIT\\u002fLgx3yEhA2TX3JA\\u002fISEBHP3eT6MdIQAAqIyuux0hAuRTPwnPHSEBz\\u002f3paOcdIQH4d18glxkhAH3b6m8\\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\"},\"legendgroup\":\"\",\"lon\":{\"dtype\":\"f8\",\"bdata\":\"X3wYG9VEMkDjKZJMwkQyQNs+N3ZFRDJAm7p+AydEMkB8nB4x+0MyQKxsNyqwQzJA3DxQI2VDMkASXO\\u002fYNUIyQLcMRgUWQjJAW72cMfZBMkAAbvNd1kEyQLZSQo9AQTJAB2TpIgVBMkBZdZC2yUAyQKqGN0qOQDJAHYCi7ExAMkACfHyA2j4yQB8TIV1sPjJAPKrFOf49MkBZQWoWkD0yQEcBYEQsPDJAQHBTC947MkA430bSjzsyQDBOOplBOzJArrz6M+M6MkDP8WB1KTkyQPxf\\u002f0fAODJA8eM\\u002fD1c4MkCvfSLL7TcyQDgn3TM+NjJAxlO8P9Q1MkCPV7ysXDUyQFzPjfjvNDJAKkdfRIM0MkBCLHK6AjMyQMq105zNMjJAxxvsj4gyMkAosRDCWDIyQIlGNfQoMjJABUZFOSQxMkDVq69L4DAyQKQRGl6cMDJAOxuPpVEwMkBWPGDkhjAyQH\\u002fMvXafMDJA02ZBzbUwMkBfVDH2wzAyQBkEHgq\\u002fMDJAldTO26owMkB7iyTNmTAyQHPuwEpnMDJA7h+PCU4wMkASHTzyIzAyQIHKdoFRLzJAGI+2FPguMkCvU\\u002fanni4yQEYYNjtFLjJAc4DQ96AsMkCvq+tCLSwyQNj07\\u002futKzJAJwIi2UUrMkBkLT0k0ioyQKecUkq9KTJArkxRGXwpMkDipn7VQCkyQA7RogX\\u002fKDJA\\u002fUR6c6onMkBnVN5cWScyQHBEGBz7JjJA97apMmgmMkB+KTtJ1SUyQA5\\u002fj\\u002fJ6IzJAT8CciDAjMkBVgUqm8yIyQHkCKACwIjJAIv\\u002fE7aghMkBBhhckdyEyQH202F9AITJAnDsrlg4hMkC7wn3M3CAyQA18Nhu8HzJA7OLB\\u002f2ofMkDLSU3kGR8yQKqw2MjIHjJAAAgvLJUbMkDAw3rEvBoyQIF\\u002fxlzkGTJAdn1\\u002flQMZMkCnLB5nVxgyQFhhwnWVFTJA+gg1KOoUMkCTbBvCRhQyQJyR9\\u002f9hEzJA686YbAURMkCpFmx+VxAyQPoFr2SoDzJAS\\u002fXxSvkOMkCc5DQxSg4yQHNrimxLCzJABoeplX8KMkAp8n5cnwkyQEtdVCO\\u002fCDJAX2TvR4UFMkAWnIuNtQQyQM3TJ9PlAzJAhAvEGBYDMkA0h\\u002fyoWQIyQAaZMSqk\\u002fzFAsFgGBfv+MUDbkMB9Sv4xQIzPoTs7\\u002fTFA5iAeenn8MUDA3bhZvvkxQBDu++WJ+TFAX\\u002f4+clX5MUCvDoL+IPkxQEDKY1as9zFAI3+ojPT2MUDqEvRhKvYxQOnoMfmE9TFAdzqLDJb0MUCr2qaUz\\u002fExQLS9ncQT8TFAvKCU9FfwMUB4mopcie8xQH2mAHaM6zFAHA+vqTnqMUAqYwVhLeoxQG8HtfXv6TFAtatkirLpMUBbnHAiH+kxQFuccCIf6TFA5eTPS6ToMUBsn8hyluYxQDk7MLED5jFA3cgCR37lMUCBVtXc+OQxQCXkp3Jz5DFAIx5cr37iMUAY6WPUBOIxQA20a\\u002fmK4TFAZr9\\u002fTfngMUDpCplsXeAxQIPAgFLe3TFA9nUd2Q\\u002fdMUBXlT3HDtwxQLi0XbUN2zFAyCKvoNDWMUDnSWTIxNUxQAZxGfC41DFAJZjOF63TMUBDv4M\\u002fodIxQF1p\\u002fyppzjFAiPSn22TNMUCyf1CMYMwxQJTlCTVCyzFA5sZxzMjHMUCFGpjv88YxQK2ovxGKxTFArai\\u002fEYrFMUBI4M0iccQxQD800taBwzFAfgg\\u002fqxvAMUAiAhOBHr8xQNQTaubtvTFAMDu5\\u002fNi8MUDbcJRRXrgxQLRkiYc2tzFAjVh+vQ62MUBmTHPz5rQxQD9AaCm\\u002fszFAWgzCphyvMUCwtzRa\\u002f60xQAdjpw3irDFAXg4awcSrMUCoGSrLV6cxQCxy005FpjFAsMp80jKlMUAmFl1BBqQxQPh62lP4ojFAI2Wpn6WeMUAVtOPEop0xQIOrETXMnDFA8qI\\u002fpfWbMUBnTtZ8gJgxQMJXimFzlzFAHWE+RmaWMUA1ONFBPpUxQJBBhSYxlDFAi64zn8iPMUDPdGfrro4xQBM7mzeVjTFAWAHPg3uMMUAiF5muvoMxQE9Y6ObQgjFAe5k3H+OBMUCo2oZX9YAxQNQb1o8HgDFAkBRQi7F7MUCnKusFnHoxQL9AhoCGeTFAMcjORW94MUD7nJRq2nMxQCSLX7+fcjFATRey6XpxMUCZoFX9OnAxQOUp+RD7bjFAgQMB5t5pMUDAD8ImwmgxQP8bg2elZzFAPihEqIhmMUD43yebUGExQIckx3gqYDFAe+Lpp+NeMUBvoAzXnF0xQGNeLwZWXDFAVxxSNQ9bMUAWpHCqs1YxQProdw+qVTFA3i1\\u002fdKBUMUC\\u002f+dACbVMxQNGbMoRVUjFAGSS5ifdNMUAbzk1k2UwxQBo6L5W5SzFAGaYQxplKMUBKPUzXBkkxQHWx9dCpRDFAjf\\u002foHJtDMUCkTdxojEIxQLubz7R9QTFA66xZl3A9MUDpSwH7ejwxQOfqqF6FOzFA5YlQwo86MUB2oTMI9jkxQJO6cOZ6ODFAMM3QbR44MUDMT1yXkDcxQGVCE2PRNjFA2\\u002fEac8EzMUDLUFNXAjMxQD7STWBDMjFAsFNIaYQxMUAj1UJyxTAxQIZHmJVMLjFAjRKXEwEuMUCV3ZWRtS0xQNg1k3MPLTFA2DWTcw8tMUBxoNpfXisxQDIma+5lKDFAN2URINAnMUAB2zehbCcxQMtQXiIJJzFAgVpJm3olMUDJk6d+RyUxQJredgzXJDFAmt52DNckMUAChF7TniQxQEq9vLZrJDFAd2bE\\u002fZ4iMUDW4pUcJiIxQDRfZzutITFAPfeEokohMUAOeV7RIyExQL5\\u002frFkaITFAA4YloQMhMUC2f6rUPCAxQLZ\\u002fqtQ8IDFAS3\\u002fVky8gMUDffgBTIiAxQBh7gwurHzFA5XYxgyYfMUCZnUgWuB0xQFk8NyeiHTFAGNslOIwdMUDYeRRJdh0xQBOrKbpdHTFAeST0B2MdMUDfnb5VaB0xQEQXiaNtHTFAgdXbMmQdMUDSsDaxSxwxQF4XNm8AHDFA3EixqM8bMUDfPtls8BsxQEUDPJNnHDFAH9XR7XwcMUBoM9rsQBwxQF3GydQPHDFApSTS09MbMUDCcfJD4BoxQLuryVuIGjFA+w52cTgaMUA7ciKH6BkxQFCZJ9wzGTFAfyxKbCwZMUDY4ICpJRkxQDGVt+YeGTFAi0nuIxgZMUBwvkqnTxcxQMiryPPaFjFAH5lGQGYWMUB\\u002fperpzBUxQGeChBf0EjFAIk6XVEISMUAVNZtYrBExQD83kCMyETFAaDmF7rcQMUAoCsU4qw4xQPx9fpfRDTFA+Zy4dL8NMUDmN9vGZA0xQNTS\\u002fRgKDTFAwm0ga68MMUCwCEO9VAwxQJ6jZQ\\u002f6CzFAjD6IYZ8LMUDJtLnkowkxQGVK0tJoCTFATfFkf\\u002f4IMUCfdQOv8ggxQPL5od7mCDFA2aA0i3wIMUBmUASX+gcxQKbxcKaSBzFAD1wXwhgGMUBTuX7WsAUxQFy771B8BTFA1CTovnEFMUDabi9oRgUxQJrXInLuBDFAR78OZiIEMUDzpvpZVgMxQJ+O5k2KAjFA0n+CzAn\\u002fMEA50GCqD\\u002f4wQJ8gP4gV\\u002fTBABXEdZhv8MEBrwftDIfswQP9xED0w9zBA6RzD9jr2MEDSx3WwRfUwQP5O5dpU9DBAC7Wt5XfzMEAOy\\u002fppVPAwQI8QDouL7zBAwxGDRAPvMED3Evj9eu4wQAQYfaI+7DBAmA\\u002f74TPrMEBVyqkpjeowQBGFWHHm6TBAwP72YB7pMEDf\\u002fYsh2eUwQPuYjuLw5DBAFzSRowjkMEA0z5NkIOMwQGmRbZ0q4jBAT5FVtOfdMEApDvKg3dwwQFu\\u002fkm3U2zBArOrnRM3aMEDgtV5RltYwQPP7UP2P1TBAEa23+4zUMEAuXh76idMwQEsPhfiG0jBAuKHW8kLOMEBV94bKKM0wQFAi\\u002fGryyzBA7XesQtjKMEAlEjl9fsYwQDBvxElQxTBArmZajz3EMEAsXvDUKsMwQKpVhhoYwjBAE2rYmJq9MEAwU0EgXrwwQGI+z2w+uzBAdp+Ozz66MEDCRVUsX7YwQO39ck9ttTBAQOoCoIK0MEADpIm5nLMwQMddENO2sjBAhiEDxRGvMECa1MO1Q64wQK6HhKZ1rTBAwTpFl6esMECECphMmKkwQCrGc5b5qDBAYeFLAUuoMEAInSdLrKcwQK9YA5UNpzBAVL0wKL2kMEBgpGycDqQwQKmRmbOLozBAmJ3e1wijMEBeeSL3e6EwQDe1dyoboTBAGtBAg7qgMEBOwhwtW6AwQIK0+Nb7nzBA9MWAAHKeMEDWLOJgV54wQCOOrtY2njBAOnLFQRmeMEDH4CXkp50wQNcljDqSnTBA5mrykHydMED2r1jnZp0wQAb1vj1RnTBA0LtQQyicMEAQPAnSypswQE+8wWBtmzBAjjx67w+bMEBKIKC2BJowQE8c\\u002fmHHmTBAUxhcDYqZMEDPTTOoYZkwQMlS9TtCmTBAlc2QZsGYMECzcNvwvpgwQJTSK8rPmDBACwvRUuKYMEBHZLy1BJkwQJppYIrTmDBA7W4EX6KYMEBAdKgzcZgwQJN5TAhAmDBAxFrrP2mXMEAp8KRYMpcwQI+FXnH7ljBA9BoYisSWMEDLDfDQF5YwQPFkDnPylTBAF7wsFc2VMEDXdWnUqJUwQAunt5mOlTBAlD14DyOVMEDIbsbUCJUwQM7STAsKlTBAQa5nTg6VMEAzZe\\u002fHH5UwQKztdlchlTBATMCaviGVMEDskr4lIpUwQI1l4owilTBA\"},\"marker\":{\"color\":{\"dtype\":\"f8\",\"bdata\":\"+n5qvHTTU0DFILByaNFTQIcW2c73y1NAZmZmZmbGU0ASg8DKoZVTQBKDwMqhhVNAL90kBoF1U0DZzvdT4zVTQIlBYOXQWlJAlkOLbOcjUkCq8dJNYvBRQGq8dJMYvFFATmIQWDlkUUB1kxgEVj5RQFpkO99PHVFAkxgEVg79UECsHFpkO99QQNnO91PjlVBAke18PzV2UEC28\\u002f3UeGFQQESLbOf7YVBAuB6F61FIUECuR+F6FG5QQClcj8L1UFBA001iEFgpUEAGgZVDixRQQArXo3A9mk9AMQisHFrET0DjpZvEIIBPQIXrUbgedU9ArBxaZDsvT0BaZDvfTy1PQFTjpZvEwE5AqMZLN4nBTkB3vp8aL41OQNv5fmq8ZE5AxSCwcmghTkAbL90kBgFOQPCnxks3KU5Aj8L1KFz\\u002fTUAdWmQ7369NQI2XbhKDcE1A+n5qvHSjTUBQjZduEpNNQA4tsp3v90xA8tJNYhDYTEA\\u002fNV66SbxMQJ7vp8ZL10xAGQRWDi2STEDJdr6fGt9MQHE9Ctej0ExAXrpJDAKrTEDhehSuR8FMQDvfT42XfkxAj8L1KFyvTEAX2c73U5NMQFpkO99PXUxA5dAi2\\u002fmOTECLbOf7qRFMQClcj8L1+EtAK4cW2c73S0DufD81XupLQP7UeOkmsUtACKwcWmT7S0Aj2\\u002fl+ahxMQLKd76fGC0xAokW28\\u002f0UTEBKDAIrh9ZMQKAaL90klkxAukkMAit3TEAGgZVDizxMQEa28\\u002f3UGExAYhBYObRoS0CwcmiR7SxLQNejcD0K50pAg8DKoUXGSkBU46WbxMBKQKjGSzeJ0UpALbKd76emSkB9PzVeurlKQDeJQWDl0EpABoGVQ4ssS0DfT42XblJLQIXrUbgedUtAYhBYObRoS0DLoUW28+1KQBSuR+F6xEpATmIQWDmUSkCNl24Sg6BKQJ7vp8ZLd0pAbxKDwMqBSkA3iUFg5aBKQDeJQWDlsEpAvHSTGAS2SkB7FK5H4QpLQGiR7Xw\\u002f5UpAoBov3SQGS0Bt5\\u002fup8fJKQOF6FK5HsUpAexSuR+GKSkAj2\\u002fl+apxKQLTIdr6fSkpAAAAAAADwSUCkcD0K1xNKQGq8dJMY9ElAg8DKoUX2SUCgGi\\u002fdJAZKQHWTGARW\\u002fklAsp3vp8YbSkDByqFFthNKQOXQItv5\\u002fklAsHJoke3sSUCcxCCwcshJQC\\u002fdJAaBJUlANV66SQwiSUCoxks3iQFJQOxRuB6F+0hAUI2XbhIzSUAUrkfhelRJQKwcWmQ7b0lABoGVQ4uMSUD2KFyPwoVJQEoMAiuHhklAeekmMQhsSUBzaJHtfD9JQJhuEoPAGklAMQisHFrESEBeukkMAptIQAAAAAAAAAAAhxbZzveDSEBKDAIrh4ZIQBkEVg4tgkhAtMh2vp9aSEB\\u002farx0k2hIQAAAAAAAEEhAUI2XbhIzSECq8dJNYhBIQAwCK4cW+UdA6SYxCKz8R0CWQ4ts57tIQCGwcmiRvUhA8KfGSzepSEAMAiuHFrlIQAAAAAAAkEhA8KfGSzdZSEBWDi2ynU9IQCuHFtnOV0hAx0s3iUFgSEAQWDm0yCZIQL6fGi\\u002fd5EdAPQrXo3CdR0DRItv5flpHQGiR7Xw\\u002fJUdAukkMAiu3R0BU46WbxLBHQLgehetRyEdAN4lBYOXQR0BGtvP91KhHQM\\u002f3U+Oli0dAWmQ73099R0CLbOf7qXFHQMUgsHJoUUdAF9nO91MzR0Coxks3iRFHQEw3iUFgJUdAMQisHFokR0AGgZVDiyxHQAwCK4cWGUdA9ihcj8IFR0C8dJMYBOZGQOf7qfHS7UZAwcqhRbbjRkCiRbbz\\u002feRGQJZDi2znu0ZAPQrXo3C9RkDpJjEIrMxGQE5iEFg5JEdAJzEIrBwqR0BMN4lBYBVHQPT91HjpBkdAvp8aL930RkB7FK5H4fpGQN0kBoGV40ZAarx0kxjURkBOYhBYOdRGQF66SQwCe0ZAL90kBoFlRkAIrBxaZGtGQKRwPQrXg0ZAxSCwcmiRRkD2KFyPwqVGQMUgsHJokUZAGQRWDi2SRkDP91PjpbtGQJMYBFYOrUZA2\\u002fl+aryERkDD9Shcj4JGQN0kBoGVo0ZAVg4tsp1vRkD+1HjpJhFGQPLSTWIQGEZAkxgEVg4NRkB\\u002farx0kxhGQBBYObTINkZA2c73U+MlRkC0yHa+nxpGQA4tsp3v90VArBxaZDu\\u002fRUDXo3A9CsdFQFg5tMh2zkVAeekmMQjsRUAK16NwPQpGQCGwcmiRLUZA1XjpJjEYRkDy0k1iEAhGQN0kBoGVE0ZAy6FFtvMdRkCF61G4HhVGQEoMAiuHRkZA8KfGSzdJRkArhxbZzldGQB+F61G4LkZAw\\u002fUoXI8yRkD8qfHSTfJFQCGwcmiR7UVA\\u002fKnx0k3yRUAbL90kBiFGQDvfT42XLkZA+FPjpZuERkCWQ4ts54tGQN0kBoGVs0ZAgZVDi2ynRkAlBoGVQ6tGQAisHFpkm0ZAMQisHFp0RkA9CtejcE1GQPhT46WbREZAPQrXo3B9RkDTTWIQWHlGQNV46SYxCEdAZmZmZmYGR0BMN4lBYOVGQIcW2c73s0ZAexSuR+F6RkCsHFpkO39GQJhuEoPAakZARIts5\\u002fsZR0AhsHJokR1HQDvfT42XLkdAx0s3iUEQR0BkO99PjQdHQNEi2\\u002fl+SkdADAIrhxZ5R0AGgZVDi2xHQIts5\\u002fupYUdA8tJNYhB4R0Cq8dJNYpBHQKabxCCwkkdApHA9CtejR0BKDAIrh+ZHQAIrhxbZ\\u002fkdAVg4tsp3\\u002fR0Db+X5qvFRIQLgehetROEhA8KfGSzcJSEDTTWIQWBlIQEa28\\u002f3UeEhAPzVeuklsSEAj2\\u002fl+akxIQNnO91PjRUhAAAAAAAAAAADhehSuR2FIQI\\u002fC9Shcb0hA001iEFhpSEB1kxgEVl5IQHsUrkfhOkhANV66SQzyR0B56SYxCMxHQB1aZDvfr0dAF9nO91OzSEAK16NwPVpIQGiR7Xw\\u002fNUhAzczMzMy8SEC+nxov3YRIQCPb+X5qvEdA9ihcj8KlR0BU46WbxMBHQPYoXI\\u002fC1UdA001iEFjpR0DpJjEIrCxIQKwcWmQ7D0hAKVyPwvUISEDD9ShcjxJIQEa28\\u002f3UmEhAZmZmZmamSEBKDAIrh5ZIQOF6FK5HQUhAtvP91HhpSECiRbbz\\u002fYRIQLbz\\u002fdR4aUhATmIQWDlkSEDFILByaGFIQG8Sg8DKMUhAg8DKoUVmSEBYObTIdm5IQJ7vp8ZLZ0hAg8DKoUUWSUC+nxov3RRJQFK4HoXr4UhAf2q8dJPISEDjpZvEILBIQJzEILBymEhA9P3UeOl2SEAAAAAAAAAAAAisHFpkW0hARrbz\\u002fdRISECsHFpkO09IQLx0kxgEVkhAPQrXo3BNSEBKDAIrh0ZIQBfZzvdTQ0hACtejcD2KSEDHSzeJQZBIQDMzMzMzk0hAjZduEoOASEBKDAIrh2ZIQNv5fmq8VEhAppvEILAySEAZBFYOLUJIQC\\u002fdJAaBVUhAlkOLbOdbSEAnMQisHGpIQFyPwvUojEhA8tJNYhBYSEAAAAAAAEBIQE5iEFg5NEhAFK5H4XpUSED+1HjpJmFIQG8Sg8DKIUhA1XjpJjEISECcxCCwcghIQEJg5dAiC0hAgZVDi2xnSEDufD81XlpIQHNoke18X0hAK4cW2c5XSECPwvUoXG9IQMuhRbbzrUhADAIrhxZ5SECF61G4HmVIQNejcD0KN0hA001iEFg5SECe76fGSydIQMl2vp8aL0hAzczMzMwMSED4U+OlmwRIQJMYBFYOPUhArBxaZDsfSEDjpZvEICBIQPp+arx0E0hAj8L1KFwfSEACK4cW2c5HQLpJDAIr90dAmpmZmZnpR0A\\u002fNV66SexHQIcW2c73I0hAAiuHFtkOSEAEVg4tsu1HQOxRuB6F60dATDeJQWD1R0CiRbbz\\u002fRRIQKrx0k1iAEhAqvHSTWIQSEC8dJMYBDZIQLTIdr6fOkhAokW28\\u002f1ESEB\\u002farx0k0hIQLKd76fGS0hAbxKDwMoxSED4U+Olm2RIQAIrhxbZTkhAukkMAitnSEC0yHa+n1pIQJhuEoPAikhA7FG4HoVrSEArhxbZzpdIQGIQWDm0eEhAtMh2vp9aSECiRbbz\\u002fYRIQEoMAiuHZkhAJQaBlUN7SEBSuB6F63FIQCcxCKwcykhAoBov3STmSEB7FK5H4fpIQCUGgZVDO0lAF9nO91MjSUAAAAAAAFBJQD0K16NwHUlAUrgehesRSUB7FK5H4SpJQN0kBoGVQ0lA1XjpJjEYSUCWQ4ts5wtJQCuHFtnO90hAx0s3iUHwSECHFtnO9+NIQHE9Ctej4EhADi2yne+3SEBiEFg5tKhIQD0K16NwzUhA\\u002fKnx0k0CSUDufD81XkpJQMuhRbbzLUlAsp3vp8brSEDhehSuR8FIQNV46SYxiEhAO99PjZd+SECYbhKDwGpIQAwCK4cWGUlAZDvfT423SEA\\u002fNV66SXxIQJzEILByaEhAcT0K16NQSEAlBoGVQ+tIQCUGgZVDm0hALbKd76c2SEA5tMh2vn9IQMUgsHJoYUhAUI2XbhIzSEBU46WbxDBIQGiR7Xw\\u002fBUhAaJHtfD9FSEAhsHJokU1IQH0\\u002fNV66uUhAF9nO91ODSEDhehSuR1FIQKwcWmQ7D0hAUI2XbhIDSEBg5dAi2wlIQArXo3A96kdA2\\u002fl+arwESECLbOf7qQFJQJZDi2znK0hAfT81Xrr5R0BKDAIrh3ZIQD81XrpJ3EhAvp8aL930SEBqvHSTGDRJQFg5tMh2PklA\"},\"coloraxis\":\"coloraxis\",\"opacity\":1,\"size\":{\"dtype\":\"i1\",\"bdata\":\"SkpLS0tLS0tLS0tMTExNTU1OTk5OTk5OTk5OTk5PT09PUFBQUFBQUFFRUVFRUVFRUlJSUlJSUlJSUlJTU1NUVFRUVVVVVVVVVVVVVVVVVlZWVlZWV1dXV1dXV1dXV1dXV1hYWFhYWFlZWVlZWVlZWVlZWVlZWVlZWVlYWFhYWFhYWFhYWFhXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1dXV1ZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZW\"},\"sizemode\":\"area\",\"sizeref\":1.0987654320987654},\"mode\":\"markers\",\"name\":\"\",\"showlegend\":false,\"subplot\":\"map\",\"type\":\"scattermap\"}], {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermap\":[{\"type\":\"scattermap\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"map\":{\"domain\":{\"x\":[0.0,1.0],\"y\":[0.0,1.0]},\"center\":{\"lat\":49.4500818735672,\"lon\":17.419228472787495},\"zoom\":8,\"style\":\"open-street-map\"},\"coloraxis\":{\"colorbar\":{\"title\":{\"text\":\"humi\"}},\"colorscale\":[[0.0,\"rgb(0,0,131)\"],[0.2,\"rgb(0,60,170)\"],[0.4,\"rgb(5,255,255)\"],[0.6,\"rgb(255,255,0)\"],[0.8,\"rgb(250,0,0)\"],[1.0,\"rgb(128,0,0)\"]]},\"legend\":{\"tracegroupgap\":0,\"itemsizing\":\"constant\"},\"margin\":{\"t\":60},\"mapbox\":{\"center\":{\"lat\":49.4500818735672,\"lon\":17.419228472787495},\"zoom\":8,\"style\":\"open-street-map\"}}, {\"responsive\": true} ).then(function(){\n", - " \n", - "var gd = document.getElementById('3a4df812-4d63-4ca2-aa59-95f384f8b5f0');\n", - "var x = new MutationObserver(function (mutations, observer) {{\n", - " var display = window.getComputedStyle(gd).display;\n", - " if (!display || display === 'none') {{\n", - " console.log([gd, 'removed!']);\n", - " Plotly.purge(gd);\n", - " observer.disconnect();\n", - " }}\n", - "}});\n", - "\n", - "// Listen for the removal of the full notebook cells\n", - "var notebookContainer = gd.closest('#notebook-container');\n", - "if (notebookContainer) {{\n", - " x.observe(notebookContainer, {childList: true});\n", - "}}\n", - "\n", - "// Listen for the clearing of the current output cell\n", - "var outputEl = gd.closest('.output');\n", - "if (outputEl) {{\n", - " x.observe(outputEl, {childList: true});\n", - "}}\n", - "\n", - " }) }; </script> </div>" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "fig = px.scatter_map(df, lat='lat', lon='lon',color=\"humi\", opacity=1, size='battery', size_max=9,\n", - " map_style=\"open-street-map\", color_continuous_scale='jet', zoom=8)\n", - "fig.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "id": "8ceb16af-fa0c-4722-b5e4-840b6f9ee0f1", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAzYAAAGsCAYAAAAPLTJNAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAA701JREFUeJzsvXmcnmdZL/5933cmM9nTpE3S0qQb3Vva0pauQCldYNSDP1EPioiKejyiHug5onDEc+CgCCggiyCKKCooiJRtWpquaWmbNm2Wpmm2Js2eyT6TzGRm3u33x/Pez3Mv13Uvb9aZub6fTz6Z93mee3nu5bqv/Sk1m80mBAKBQCAQCAQCgWAMo3yyOyAQCAQCgUAgEAgERwsRbAQCgUAgEAgEAsGYhwg2AoFAIBAIBAKBYMxDBBuBQCAQCAQCgUAw5iGCjUAgEAgEAoFAIBjzEMFGIBAIBAKBQCAQjHmIYCMQCAQCgUAgEAjGPDpOdgdsNBoN7NixA9OnT0epVDrZ3REIBAKBQCAQCAQnCc1mE4cOHcJZZ52FctlvkznlBJsdO3ZgwYIFJ7sbAoFAIBAIBAKB4BTB1q1bcfbZZ3ufOeUEm+nTpwPIOj9jxozj3l61WsUDDzyAu+66C52dnce9PYFA1pzgREPWnOBkQNad4ERD1tz4xMDAABYsWJDLCD6ccoKNcj+bMWPGCRNspkyZghkzZsgmEJwQyJoTnGjImhOcDMi6E5xoyJob34gJUZHkAQKBQCAQCAQCgWDMQwQbgUAgEAgEAoFAMOYhgo1AIBAIBAKBQCAY8xDBRiAQCAQCgUAgEIx5iGAjEAgEAoFAIBAIxjxEsBEIBAKBQCAQCARjHiLYCAQCgUAgEAgEgjEPEWwEAoFAIBAIBALBmIcINgKBQCAQCAQCgWDMQwQbgUAgEAgEAoFAMOYhgo1AIBAIBAKBQCAY8xDBRiAQCAQCgUAgEIx5iGAjEAgEAoFAIBAIxjxEsBEIBIJxhGazifV9h9BoNE92VwQCgUAgOKEQwUYgEAjGEf7t2a248zOL8bUnXznZXREIBAKB4IRCBBuBQCAYR9iyfwgAsLX1v0AgEAgEEwUi2AgEAsE4QlM80AQCgUAwQSGCjUAgEIwjNJFJNk2RcAQCgUAwwSCCjUAgEIwjKHlGcgcIBAKBYKJBBBuBQCAYR1CWGmW5EQgEAoFgokAEG4FAIBhHUBYb8UQTCAQCwUSDCDYCgUAwjtAQVzSBQCAQTFCIYCMQCATjCIULmkg2AoFAIJhYEMFGIBAIxhHEFU0gEAgEExUi2AgEAsE4hAg2AoFAIJhoEMFGIBAIxhEaLYmmIZKNQCAQCCYYRLARCASCcYTcFe3kdkMgEAgEghMOEWwEAoFgHEElDxCDjUAgEAgmGkSwEQgEgnGERp48QCQbgUAgEEwsiGAjEAgE4wjiiiYQCASCiQoRbAQCgWBcQbmiiWgjEAgEgokFEWwEAoFgHEHJMw2RawQCgUAwwSCCjUAgEIwjqDTPItcIBAKBYKJBBBuBQCAYR2hK8gCBQCAQTFCIYCMQCATjCE3rf4FAIBAIJgpEsBEIBIJxhNwVTSw2AoFAIJhgEMFGIBAIxhNyV7ST2w2BQCAQCE40RLARCASCcYTcFU0EG4FAIBBMMIhgIxAIBOMIygWtIZKNQCAQCCYYRLARCASCcQT1/RoRawQCgUAw0SCCjUAgEIwjiCuaQCAQCCYqRLARCASCcYQiG5pINgKBQCCYWBDBRiAQCMYRlFzTELlGIBAIBBMMItgIBALBOEIT8h0bgUAgEExMiGAjEAgE4whNSR4gEAgEggkKEWwEAoFgHKGRp3s+yR0RCAQCgeAEQwQbgUAgGEfILTbiiiYQCASCCQYRbAQCgWAcQcQZgUAgEExUiGAjEAgE4whFVjQRcQQCgUAwsSCCjUAgEIwjKBc0kWsEAoFAMNEggo1AIBCMI+Sf5xTBRiAQCAQTDCLYCAQCwThCbrGRaBuBQCAQTDCIYCMQCATjCI2m+b9AIBAIBBMFSYJNvV7Hhz/8YZx33nmYPHkyLrjgAvy///f/jLSizWYTf/qnf4ozzzwTkydPxh133IH169cf844LBAKBwEXT+UMgEAgEgomBJMHmE5/4BL70pS/hC1/4Al566SV84hOfwCc/+Ul8/vOfz5/55Cc/ic997nP48pe/jCVLlmDq1Km4++67MTw8fMw7LxAIBAIT4oomEAgEgomKjpSHn3zySbztbW/DT/3UTwEAzj33XHzzm9/EM888AyA7UD/72c/iT/7kT/C2t70NAPD1r38d8+bNw7333ot3vOMdx7j7AoFAIKAgrmgCgUAgmGhIEmxuvvlmfOUrX8G6detw0UUXYcWKFXjiiSfw6U9/GgCwadMm7Nq1C3fccUdeZubMmbjhhhvw1FNPkYLNyMgIRkZG8t8DAwMAgGq1imq12tZLpUC1cSLaEggAWXOC44t6vQEAaDQazlqTNSc4kZB1JzjRkDU3PpEyn0mCzR//8R9jYGAAl1xyCSqVCur1Ov7sz/4M73znOwEAu3btAgDMmzfPKDdv3rz8no2Pf/zj+MhHPuJcf+CBBzBlypSU7h0VFi1adMLaEggAWXOC44M9e8sAyjhw4CB6e3uNe7LmBCcDsu4EJxqy5sYXhoaGop9NEmy+9a1v4V//9V/xjW98A5dffjmWL1+O973vfTjrrLPw7ne/O7mjAPDBD34Q99xzT/57YGAACxYswF133YUZM2a0VWcKqtUqFi1ahDvvvBOdnZ3HvT2BQNac4Hjim7uexfqBA5g5axZ6em4AIGtOcHIg605woiFrbnxCeXPFIEmw+cM//EP88R//ce5SduWVV2Lz5s34+Mc/jne/+92YP38+AKCvrw9nnnlmXq6vrw9XX301WWdXVxe6urqc652dnSd0UZ7o9gQCWXOC44EmSvnf9vqSNSc4GZB1JzjRkDU3vpAyl0lZ0YaGhlAum0UqlQoajcyn+7zzzsP8+fPx0EMP5fcHBgawZMkS3HTTTSlNCQQCgaANNK3/BQKBQCCYKEiy2PzMz/wM/uzP/gwLFy7E5ZdfjmXLluHTn/40fuM3fgMAUCqV8L73vQ8f+9jHcOGFF+K8887Dhz/8YZx11ln42Z/92ePRf4FAIBDoaEk0TZFsBAKBQDDBkCTYfP7zn8eHP/xh/O7v/i52796Ns846C//tv/03/Omf/mn+zAc+8AEMDg7it3/7t3Hw4EHceuutuP/++9Hd3X3MOy8QCAQCE+r7NQ2RbAQCgUAwwZAk2EyfPh2f/exn8dnPfpZ9plQq4aMf/Sg++tGPHm3fBAKBQJCIhlhsBAKBQDBBkRRjIxAIBIJTG82WRCNyjUAgEAgmGkSwEQgEgnGEPHmAmGwEAoFAMMEggo1AIBCMI4grmkAgEAgmKkSwEQgEgvGE3BVNJBuBQCAQTCyIYCMQCATjCIUr2knthkAgEAgEJxwi2AgEAsE4gkrzLOmeBQKBQDDRIIKNQCAQjCMoeUbEGoFAIBBMNIhgIxAIBOMIuaFGJBuBQCAQTDCIYCMQCATjCEqeEVc0gUAgEEw0iGAjEAgE4wjygU6BQCAQTFSIYCMQCATjCE35jo1AIBAIJihEsBEIBIJxBPX9GvmOjUAgEAgmGkSwEQgEgnGERkueaTRObj8EAoFAIDjREMFGIBAIxhGa4oMmEAgEggkKEWwEAoFgHCHP9iwCjkAgEAgmGESwEQgEgvEE5Yomco1AIBAIJhhEsBEIBIJxhEZTkgcIBAKBYGJCBBuBQCAYRyhc0U5qNwQCgUAgOOEQwUYgEAjGEZriiiYQCASCCQoRbAQCgWAcoZGbakSyEQgEAsHEggg2AoFAMI6g5BpxRRMIBALBRIMINgKBQDAOIXKNQCAQCCYaRLARCASCcQT1/ZqGmGwEAoFAMMEggo1AIBCMIzTEFU0gEAgEExQi2AgEAsE4gvp+TVMkG4FAIBBMMIhgIxAIBOMIkjxAIBAIBBMVItgIBALBOELuinZyuyEQCAQCwQmHCDYCgUAwriCuaAKBQCCYmBDBRiAQCMYRmmKxEQgEAsEEhQg2AoFAMI7QkHTPAoFAIJigEMFGIBAIxhGUOCNyjUAgEAgmGkSwEQgEgnEEcUUTCAQCwUSFCDYCgUAwjqCSBkjyAIFAIBBMNIhgIxAIBOMI8h0bgUAgEExUiGAjEAgE4whN63+BQCAQCCYKRLARCASCcYSmZEUTCAQCwQSFCDYCgUAwjtAQVzSBQCAQTFCIYCMQCATjCE1xQhMIBALBBIUINgKBQDCOoFtqJDOaQCAQCCYSRLARCASCcQRdlGmIXCMQCASCCQQRbAQCgWAcQbfSiMVGIBAIBBMJItgIBALBOILhinbyuiEQCAQCwQmHCDYCgUAwjmC6ooloIxAIBIKJAxFsBAKBYByhYbiincSOCAQCgUBwgiGCjUAgEIwjiDAjEAgEgokKEWwEAoFgnEKEHIFAIBBMJIhgIxAIBOMEdhY0ibERCAQCwUSCCDYCgUAwTmB/t0bEGoFAIBBMJIhgIxAIBOMEtsVGvmMjEAgEgokEEWwEAoFgnMAWY2wLjkAgEAgE4xki2AgEAsE4gRNTI4KNQCAQCCYQRLARCASCcQJXrhHJRiAQCAQTByLYCAQCwTiFuKIJBAKBYCJBBBuBQCAYJ7Bd0SR5gEAgEAgmEkSwEQgEgnECCbERCAQCwUSGCDYCgUAwTmALMmKwEQgEAsFEggg2AoFAME4g37ERCAQCwUSGCDYCgUAwTmAnCxCxRiAQCAQTCSLYCAQCwXiBLdiIZCMQCASCCQQRbAQCgWCcwP5ujfPBToFAIBAIxjFEsBEIBIJxAnFFEwgEAsFEhgg2AoFAME4gyQMEAoFAMJEhgo1AIBCME0i6Z4FAIBBMZIhgIxAIBOMEzgc6RbARCAQCwQSCCDYCgUAwTuC4okmUjUAgEAgmEESwEQgEgnECcUUTCAQCwURGsmCzfft2/Mqv/ArmzJmDyZMn48orr8TSpUvz+81mE3/6p3+KM888E5MnT8Ydd9yB9evXH9NOCwQCgcCFLchIumeBQCAQTCQkCTYHDhzALbfcgs7OTtx3331YvXo1/uqv/gqnnXZa/swnP/lJfO5zn8OXv/xlLFmyBFOnTsXdd9+N4eHhY955gUAgEBSwBRkRawQCgUAwkdCR8vAnPvEJLFiwAF/72tfya+edd17+d7PZxGc/+1n8yZ/8Cd72trcBAL7+9a9j3rx5uPfee/GOd7zjGHVbIBAIBDbEFU0gEAgEExlJgs33v/993H333fiFX/gFPPbYY3jVq16F3/3d38Vv/dZvAQA2bdqEXbt24Y477sjLzJw5EzfccAOeeuopUrAZGRnByMhI/ntgYAAAUK1WUa1W23qpFKg2TkRbAgEga05w/GCvqdEWHZU1JzgZkHUnONGQNTc+kTKfSYLNxo0b8aUvfQn33HMPPvShD+HZZ5/FH/zBH2DSpEl497vfjV27dgEA5s2bZ5SbN29efs/Gxz/+cXzkIx9xrj/wwAOYMmVKSveOCosWLTphbQkEgKw5wbHHvmFAJ+uLFy/Geo2MypoTnAzIuhOcaMiaG18YGhqKfjZJsGk0Grjuuuvw53/+5wCAa665BqtWrcKXv/xlvPvd707rZQsf/OAHcc899+S/BwYGsGDBAtx1112YMWNGW3WmoFqtYtGiRbjzzjvR2dl53NsTCGTNCY4XtuwfApY9kf9+/etfj4vmTZc1JzgpkHUnONGQNTc+oby5YpAk2Jx55pm47LLLjGuXXnopvvOd7wAA5s+fDwDo6+vDmWeemT/T19eHq6++mqyzq6sLXV1dzvXOzs4TuihPdHsCgaw5wbFGR4dJ0isdHcYakzUnOBmQdSc40ZA1N76QMpdJWdFuueUWrF271ri2bt06nHPOOQCyRALz58/HQw89lN8fGBjAkiVLcNNNN6U0JRAIBIJEOOmeGyenHwKBQCAQnAwkWWze//734+abb8af//mf4xd/8RfxzDPP4Ctf+Qq+8pWvAABKpRLe97734WMf+xguvPBCnHfeefjwhz+Ms846Cz/7sz97PPovEAgEghbcdM+SFk0gEAgEEwdJgs3111+P7373u/jgBz+Ij370ozjvvPPw2c9+Fu985zvzZz7wgQ9gcHAQv/3bv42DBw/i1ltvxf3334/u7u5j3nmBQCAQFJB0zwKBQCCYyEgSbADgp3/6p/HTP/3T7P1SqYSPfvSj+OhHP3pUHRMIBAJBGmxBRgQbgUAgEEwkJMXYCAQCgeDURVNc0QQCgUAwgSGCjUAgEIwTiCuaQCAQCCYyRLARCASCcQInK5pINgKBQCCYQBDBRiAQCMYJbNczEWsEAoFAMJEggo1AIBCME9jfrRGDjUAgEAgmEkSwEQgEgnECN1mASDYCgUAgmDgQwUYgEAjGCdwYm5PTD4FAIBAITgZEsBEIBIJxAvmOjUAgEAgmMkSwEQgEgnECJ3mASDYCgUAgmEAQwUYgEAjGCcQVTSAQCAQTGSLYCAQCwTiBmzpAJBuBQCAQTByIYCMQCATjBM4HOUWuEQgEAsEEggg2AoFAME4gco1AIBAIJjJEsBEIBIJxA1OUcSw4AoFAIBCMY4hgIxAIBOMEdrIAkWsEAoFAMJEggo1AIBCME4grmkAgEAgmMkSwEQgEgnEC+7s14oomEAgEgokEEWwEAoFgnMARY0SuEQgEAsEEggg2AoFAME5gW2jkOzYCgUAgmEgQwUYgEAjGCyw5ptE4Od0QCAQCgeBkQAQbgUAgGCew7TNirxEIBALBRIIINgKBQDBO4LiiSfIAgUAgEEwgiGAjEAiCaDabWN93CHX7QymCUwqS7lkgEAgEExki2AgEgiB+9MJO3PmZxfjcQ+tPdlcEHjiuaGKxEQgEAsEEggg2AoEgiM37hgAAW/cPneSeCHxwXdFOUkcEAoFAIDgJEMFGIBAEoTT/NXFFO7UhrmgCgUAgmMAQwUYgEARRb6UNrosJ4JSG/d0a24IjEAgEAsF4hgg2AoEgCMUgN8Ric0rDSR4g0yUQCASCCQQRbAQCQRANcUUbE7CnR2ZLIBAIBBMJItgIBIIgxGIzNmBnQZOsaAKBQCCYSBDBRiAQBKFibMRic2rDTfd8UrohEAgEAsFJgQg2AoEgiNxiI5zyKQ3HYiPOaAKBQCCYQBDBRiAQBKFc0OpisTmlIckDBAKBQDCRIYKNQCAIoi7JA8YE7NmR6RIIBALBRIIINgKBIAil+ZfkAac2XIuNzJdAIBAIJg5EsBEIBEEoFzT5QOepDTsGSmZLIBAIBBMJItgIBIIgFMMsMTanNtysaDJfAoFAIJg4EMFGIBAEIYLN2ID7HZuT1BGBQCAQCE4CRLARCARBNFrfsRHB5tSGE2NzcrohEAgEAsFJgQg2AoEgiLpYbMYE7O/WiMVGIBAIBBMJItgIBIIgclc04ZRPadjTIx9UFQgEAsFEggg2AoEgCPlA59iAuKIJBAKBYCJDBBuBQBBEvcUhi2BzasOx0IjFRiAQCAQTCCLYCASCIBTDLB/oPLVhz45Ml0AgEAgmEkSwEQgEQSiBpiac8qkNx2Aj8yUQCASCiQMRbAQCQRC5xUYY5VMa9vzIbAkEAoFgIkEEG4FAEERdvmMzJmDPjsihAoFAIJhIEMFGIBAEoVyaxBXt1IakexYIBALBRIYINgKBIIi6JA8YExBBRiAQCAQTGSLYCASCIJQ8IxabUxsnyxVt1fZ+7Dk0cmIaEwgEAoGAgQg2AoEgCGWpEYvAKQ5rfk7EfG07MISf/vwT+G//vPS4tyUQCAQCgQ8i2AgEgiBU0gBJHnBqw7HYnIA2+wZGjP8FAoFAIDhZEMFGIBAEUaR7lm+jnMqwY6BOxFSptSFCr0AgEAhONkSwEQgEQeguTcLAnrqwZ+ZEuKLl1jwReAUCgUBwkiGCjUAgCEKXZYSBPXVxMqYmj78SgVcgEAgEJxki2AgEgiB0K41YbE5d2BaaE+E2qARdEXgFAoFAcLIhgo1AIAiiKa5oYxInQtaQxBICgUAgOFUggo1AIAiiLoLNmIAtyJyIqWrIx1sFAoFAcIpABBuBQBBEo1H8LYLNqYumlT7A/n08UG+tDXFFEwgEAsHJhgg2AoEgCCMrmjCwpyxsmfNEuqLpwq9AIBAIBCcDItgIBIIgJHnA2IAtyJyI5AENSR4gEAgEglMEItiMQTz0Uh9+6+tLse/w2P7Sd9/AMH7zn5bi8fV7ksqN1Op47zeex7eWbj1OPRPYOJW+Y/PNZ7bg97+5DNW6mAhsuK5oxx+5xSYg2Pxo5U78zj8/h0PD1RPQq5OPv3pgLT72w9UnuxuCcYTnNu/He/7xWbyyd/Bkd2Vcodls4kPffQFffGTDMavzifV78Zv/9Cx29h85ZnX6sPfwCH7r60vx8Jq+E9LeqQwRbMYg/umpzVi0ug9PbNh7srtyVHh4zW48+FIf/vXpLUnllm85iB+t3Im/W7zxOPVMYEOXZU62y9HfPvYyfrBiB1Zt7z+5HTkF4Vpsjn+bSqBpNv0Woq8+sRH3v7gLSzbuP/6dOsmo1hv4/MMb8PdPbEL/kYkhyAmOP7717DY8tGY37lu162R3ZVxhZ/8wvrFkC77w8LETbL7xzGY8+NJuPLxm9zGr04fF6/Zg0eo+fP2pzSekvVMZItiMQVRrGWc5WhvbGmulcU/VvFfrzbbKCdqHro2vnWTJpph/cX2yYQsWJyZ5QJw1byLtW30cahPgfQUnBu2emQI/jse4jtZa9O4E8WmyNgqIYDMGoXzZQ64fpzry718kvod8EPDEQ2fUTva6k++m8DgZ6Z4NwcazNtrd72MRsWMiEKRAraWa0L5jiuNBm4rYw2NWpRd5dkpZGyLYxOBjP1yN//KFJzBcrTv3ms0mfuefn8Nv/tNSR1v69adewZv/6lHsOEj7WH78vpfw059/HEdGzXofXtOH2z71CJ7bfIAspxauTdxe2jmAN/3lo/jBih1kuUfX7sZtn3oEz75Cu4L8+7NbcPtfPYrN+9L8d59Yvxe3feoRPL1xH3n/20u34va/fBQb9xwm34PbiE++nNX7E8vlrt6yGNQZirFp7yBu/8tH8a1nzRicRqOJd311Cd7/78vJcoMjNfT89eP4yx+vde797+++gJ//0pOk9rXZbOLd//AMfv+by8h6ffg/31uF/+9vfpJsffvqE5twx6cfw+6B4aRyP35xF2771CNYue1gUjl9acceqtz6VnjvN57Hr3/tGdJ9qVpv4O1fehIfvneVc68WWDf/49+W4V1fXXLMA+fv+dZyvPPvnya/11JvNPGOrzyFD/zHCufe5x5aj7d8djHrkvSB/1iBd3zlKed9vrtsG970l49iw+5DZLkvPrIBd39mMQ4OjebX7J5RQ/C95dvxpr98FGt3mfVu3T+E2//qUXzzGdo1dOkr+3Hbpx7BI2tN1wpd0PUZ846XQPq1n2R7oY/ZCx/74Wq8jaDfi1ZndHb51oNkuRD99qEWacV6pEWTl1o0ed/hEdz56cfw5cdeTmu33sAvfvkpfPA/X3DufXrROrz1rx9nY5x86/t4gFvfHP1WWLJxH2771CNYvC4tNvNY4rnNB3Dbpx5h4xnue2EnbvvUI6y7bLv0u6B97Wnl/7z3JfzM59298GBrLyzbQvMc//z0Ztz+V49i24Ghttq1EVrfa3ZlvMz3lm83rvvWdwgh+g3Q7rR//WB79Ds0VxT9jgFHv3O+iNm/HP0eGq3hpz//OD5x/5qkfpzKOCrB5i/+4i9QKpXwvve9L782PDyM9773vZgzZw6mTZuGt7/97ejrG9vBTN9bsQMrt/Vjw+7Dzr3hagP3v7gLD77Uh0MjNePej1buxMt7BllB4vvLd2DV9gGs2TVgXH/wpd14Zd8QHmMId5Fe1VzAP9mwF5v2DuLHL9L+tw+vyep9dC3t89n7wi5s3DOY7AOv6n2E8SW9f9UubNw7iKcswSfE6Dy6dg9e2Tfk+KiGvpuxZOM+bNw7iN5VO43rew+P4PH1e/HdZdtJpnf1zgGs3jmA7xOC4feW78DSzQeweb9L2PcPjuKxdXvwgxU7kt1O7l2+A8u2HMSmxGDQH63cgQ27D7PCL4dFq/vwyr4hPL4+LT6rnaxo3PoGMjfKH63ciUfW7sGBIffA2LxvEM9tPoB7l2137vmycDUaTXxv+Q48vn4v9hzj5Br3LtuOn2zYh75DLjOy4+ARPL1xP+5d5q6d76/YgTW7DuGFbTSTc++yHXh6436Hgb5/1S5s2juIJ1+mFQY/WLEDa/sOGYy5bU2jXNEeeLEPm/YOOgqDJZv2Y+OeQfS+sNMpAwCPrcv244OrTXquL3mvxaZ5fASbH63ciQ27D2PpK/Re+N6KHVhB0O9Fq3dle4GhsyH67UMjcr889FIfSeuXbz2I9bsP44craSUVh20HjuCZV/aT++YHK3bgpZ0DeHGHux8B//o+HuDWt6Lf962i1+Gj6+hz4URicasPi1bTfXigRWe5ONh26XeDUWrG4nvLt+OF7f1Y12cyxQ8y61Chd+VObGxzL1AIre8nN+zDpr2DeOBFk9Zs9azvEHzr2/cB6h+szOg3J6Ry9LuR8zd0fyj6HQOOfof4KY5+Z+82gO8vT6M1pzLaFmyeffZZ/O3f/i1e85rXGNff//734wc/+AG+/e1v47HHHsOOHTvwcz/3c0fd0ZMJ34LR4w1sQSO00BRxspkRZYngNGcNhkEIZSeqBTZa265hAU1BjRHEQoxOre5/T+49OI2+fhhQTXLtZWUb5DvYz6ePXXvMXvtz1V57sVp5Hdz6ttunx5t/P06wt58/lqFAzWYzXzNUf33zEZqrGrN/QnNF7feY5AH5WrbpTuw+tstFZsxrtLn2QvCtFb09VqMaKNeO62XsOgz2LXEN+97JR8NC6/t4IDwvaeVOJHw0CAhblY+afrfp3xQac+59QmduKqJ5EYcmtmhU4rjF0m+9b6G+FM9z9NRPP9qlL2x7TfN/txxDv0+B/XSs0ZZgc/jwYbzzne/E3/3d3+G0007Lr/f39+OrX/0qPv3pT+P222/Htddei6997Wt48skn8fTTTx+zTp9o+IiQ74vsIcadk+hDMSR1hvDHthfaaFR5yg0vtr+cIBbqj7pu3+euh+6HmGlfvQ2PlehomGkfcYsa83YFoqMQbGKTB/g0VsaY+YQBap4890JCpm9M9Wdsi54RY+R5H1+fggxl4oFTtKnVR9Tv9sesP3RdgRv3hjE2/LoKxQY2Gk2M1Pj5qdUbpEU037eJTGTDMy/68+0wc43AOjzavrHtesbCS8MC69u3b5rNJnt/xEfDuPXU5nweD3DvFjzzotcWfb/ZpPeCGhufxcZ7bjDnTSMwpnXPnIRoKnU/enwcmmiWpzBSrTsKndD61q+xjD8xNj6BKTTHPvrin0O6vdCYcvR7PMY+drRT6L3vfS9+6qd+CnfccQc+9rGP5defe+45VKtV3HHHHfm1Sy65BAsXLsRTTz2FG2+80alrZGQEIyOFy8jAQGYmr1arqFaPf5pM1YavLTXxo6Nun4ZHC//IkdEqqtVCVqyrLBW1Glm/YhBHrXettQhatVany9VVObPeamsz1OoNsly1Hqi3Qff3+S0H8Sv/8CzuueNC/Oat57r11lS5QH+t+6Ot/la5/rbGwS43Mlr1vudotZb3yyhn1DGKUrNilFP3642mU6/a9CPEGlD9AbL10FHybyt9zXH1/suSLfjz+9bi79/1Wtx8wRynDmVdqlbptcWhFlgDHHRiaK+7UBlyzEbM+axWzbkYHc3msNF050Kt0xGCRoyM1rS/R1GtFnPx+Ydfxpcf34Rv/dbrcPlZM8g+7+wfxls/9xP89GvOxMfedllRlxYDNVIdRbXaabWrvc/IKMrlUv677umvPq72ONXq/n2ltLY6/ahZzFC9tUf0NcetgdFaLW/Xtx/t/arKZe8wiuqkklNWf58RZv389r88jxe2D2DR+27FtC5zDzUaTfzUF55ER7mE7/3uTcb4cvQwHwOGfleD4+uv14dhnSaMjKJanUQ+p/pQc2hjay4a9FxwUOuw7tk31Pvo63t41FzfX3psI77w6EZ88z3X4zVnz3Ta/OB3X8R9L+7Cj//gFsyb0Z1fv2/VLtzz7RfwzgtKuNNzLjjrUL17nZ6XauB8PJb46I/W4DvPb8cPf+8mLDhtitMHe97y+6GzNkC///u/LsOyrf1Y9L5bMb272Auhs/aTP16Hf16yBd/9nRvx6rnTnPsFTbZ4h2B/1RlulluyaT9+/Z+ewx/dfRHefdM5Trn/XLYd//ve1fjCO67Cmy+dm18Pre8qswZ86xvI6PdbPvcTXD2rjLv0cgH6rfNxwyNVdJZ0JSi/b2LoN0uXCPoNAD9+sQ/v+9ZK/MX/dznedvVZTjmOfo8ovieVfud8TxqtOdFI6VuyYPNv//ZveP755/Hss88693bt2oVJkyZh1qxZxvV58+Zh1y467uPjH/84PvKRjzjXH3jgAUyZMoUocXywaNEi9t5otQKghJ88+RT6XjTvDYwCahgXPfgQZnUV9/YfzMotX/kCpvatdOodGc3uP/nUEux7qdggW7aVAZSx4eWN6O1186r3D2TlVr/0EnoHig/AvbS1BKCCnbv60Nvb65TbsiWr9+WNm9Db6wbt7d2X1bty1Yvo3VcEbS/eWUK1XsF9z67BWQPuB+de2ZzVu/GVzejt3eTc370nq/fF1avRe7AYwLWt/uzff5Ds76ZXsvubN29Bb+8r+fXn92TvOVKtkuVW7cju792337jfdwRQc9V7/4/RbfLSePFAVm7oyLBRrtkE6o2s3OLHn8Ar1nmxd7io9/4fP4Apkbtq0aJFqNWysXn8Jz/BtunFvR+uL6NaL+M7Dz+Dg2tdTcrB/qzc88tXoHPH8rgGAWzbkY3puvUb0Du6LrrcyEjWHgD85MknscuN6Xcw3FrfTz29BPvXmO9wuAqoMXvwoYcxp9ss+8qh7H6t3nDmuNoas6XPPY/aK2a9R2pFvQ89/CjmTi7uPbC6jNFaGf/+wE9w41xaO/XSgRIGRytYvHorejtfya+P1It6H37kMcy3SNP2weL+D3vvQ4dmCz88lPX3mWefw8hGs93svM3KPfrYYqyfWtzr25PN1YvWPlc4NJjV+6w2Dhtae0rh5U3mXl+0aBF29WXPrF6zBr2HX8rvvbAzW//79h8g99WGTVm5LVu3obe3SDDwYmu/AcADDz6EmTQPj8HWOKx8YRVm7nGDf5e8XMFQrYRvfv8BvGqqeW+oBmzYk43T9350H7q0vXugtReWrViBrp3LnXo5+r19e2svbHgZvdX1TjlFv1esXImpfW5SCB/2aTTh0cWLsY45yrZsVbTenKelLRo3cOgwORccth7O2m02gR/+qBea/IehI9n7PP3Mszi83lyH+vp+5NHH8JLW3/tfau2bRU9i2zx33zz+UgWDIyV844eP4OJZxf17Xymj1ihj8+ESeb5y61vR7z1795PvvrG1Djdv2Yre3uP7zY5HX6hgaLSEb/zoMVw5u3i3Da2zacu27ejtdZMc7NiZ3V+zbj16h91kNCH6/fSGCg7XSvjmDx7A2TpN2J3Vu4k5ax9aVcFwtYR/u/9xvPZ0d64KnuNp7Fld3N/W2gvrN2xEb83lOfYfUHvhBUzfXfAyD+/IeIPeJS/hjAMvOuW+vzFbA//52PMY2VQIF6H1/dK27P6uvt3Gfd/6BoDVB0oYGq1gk7XmQvR706Hi/o8fMM/wgn4vxfDLfvq9TpurffuzcuvWb0DviHvWUvQbAL6/ORuz7/9kJbk2OPqtxqy/fyCJfq85mJUbHh5NojUnGkND8YkrkgSbrVu34n/8j/+BRYsWobu7O1wgAh/84Adxzz335L8HBgawYMEC3HXXXZgxg9aqHktUq1UsWrQId955Jzo7O8ln/vDZB4FGA9ffcANuOt/Unu8aGAaeWwwAeOOb3oRXzSo4qS9tfBIYPIzLLrscPTcsdOr946UPAvUGrrv+erz+wtPz6z8+tALY14eF55yLnp5LnHJ/vf4J4MgQLrzoYvS88fz8+rqHNgDbNmLO6Wegp+dap9yD314J7N2FBQvPQU/Ppc79f9i6BDjUj0suuRQ9t5ybX+97cjPwylrMnTsPPT3XOOUe/c9VwJ4dOPvsBejpudy5//XtzwCHDuLCiy5BzxvOy6+vWbQe2L4J02fOQE/PTU65J+59Edi9HWe+6mz09FyRXx9ZtgPYsArlcgU9PXc75bY/sQnYvB4zZs1CT88N+fX1uw8Dy58EANxxx52YMdmc7641u4E1y9HROQk9PW/Kr9cbTeDpjEjeeNPNuHrBLKPcpr2DwLKfAABuf/MdmD2V4exaUGvujjvuQOOpRwEAN9x4E647p3DrfOBb2VzZc6zw1+t/AhwZxBVXXomea8/2tqfjBweWAfv34Nzzz0fP3RdFl/vfzz8M1DON0PWvuxE3nj87WOaDzz0E1Ou49vrr8QZtfQNZIgcsfQwA8IY33oZz5pgnzfNbDgKrnkETJbzlLW81NPT/c8kioNnEVVdfg54r5xvlDg5VgWcfAQC8/g1vxAVnFCfNv+9eCvTvx+VXXIme6+gxm7x2D7BmGaZOnYaenlvy64eGa8AzDwMAbn3963HRvOlGuRd3DAArM3fbu+6+G92dBef9sRceBUZHcfU11+CtV5j9PTJaB5Y8BAC4+ZZbDUvSN3Y9C/QfwIUXXoye29w18BerFwMjw7jqqqvR85ozARR7SuHcczMaotO5f9+9Aujfj1e/+iL03H5B/qza59NnzkRPj2tdf/aHLwG7tmL+mWehp6eIrVT7DQBue9PtOHMmfTb82arHgNERXHrZ5ei50aWHf7LsYaBWc8YByBJ04NlHAQB33HmXocX+/IafAEOD7Lxy9PuHB5cD+3fj3PPOQ89bLnbKKfp96eVXoOd1C8h34rB5/xCw7AkAwC23vB6XnjmdfE7t84XnmDR5dHlG47onT0FPz+uj2125rR94YQkA4O63vAWdlULI/b8rHgGqVbz2tdfiDk17Dpjr+5ZbX4+L5xf9/c7e54CD+9hz7DPrsvPIPseW9a4Bdm5BownyfOXWt1pPM087DT09r3Pae+r7q4G+bTjzrFehp+fK6LFpB1/e9BQweAjXvPa1uOuyefn1536Uvdv8M89ET89VTrnv7nseOLAX519wAXruvNC5H6Lf/2f5I0CtiptvvhVXvKrYC//el9Gws5iz9mvbsjP8NVddjZ6rznTu/9HSbC9c97rX4RbNE6C3fzmwbzfOOZfmOdQ42Ht36+JsrrhxePJ7LwJ9251xCK3vDQ9vALZuxOw5Ji+zwrO+AaC7Rb/tNRei38++cgBYlSnr7TO8oN+vxVsun2eUM+j3rbfisjOLufr7LU8Dhwdw3vkXoOcudw1Q9BsAVt6/FtixmeXT1Dlm0++Nj7wMbH0ZU6aZZ1f+jgz9nrpuD/DSMpQ7Okl+6lSB8uaKQZJg89xzz2H37t147Wtfm1+r1+tYvHgxvvCFL+DHP/4xRkdHcfDgQcNq09fXh/nz5xM1Al1dXejq6nKud3Z2soLG8YCvvdzcWKo4z5TKVe1v876KgWmWymTdeYxM2bzfaGZMXBMlslxu/bTqbbY06o3W+zjl8vt0vapap7+lQLkmvPdzPU3JvN8sZUSp3mD621TMrFVvuVWuSZdrtjTWTet+qVwwm6VKh1u2VGn1p2nOh+beY8+xW697n0Olw+ybOZet/5m1k3/tnbl/aLiK/iNVnH2aKTCoNcCtLQ56rAY1BhTUvimV3T6WyprLFFVfqTiwyh0dxgFW89VbKbSCdj8bgf2ot9uw1k65qmnqgmugA52dBWkt9rlbbqRRCGx8f+m5yumSPg5l86AvWe/a2dnJ16v2ObOvirVj3dfmqtJB7Kv8fZr58773IfdYpVgv5UravHL0W00LR7eKGMa0vQIAZX09ePYL14cmsw7DDVe0PzvQqQnYxTi446Svb5uG5ecRe44R6xDaedSkz1duHSr6zdL3pv88OpYozlp77ah348680Bnup9/k3kZxlnJnfE6mg3vBrrc9nqOgGVw5ut7Q+lZrwL5f0uibvb5V/4Di7Fdl0+g3TV+oMR3WjjGH/1OTlUK/ob17YC5c+k3zPXk5ln7TfM+phpS+JSUPePOb34wXXngBy5cvz/9dd911eOc735n/3dnZiYceeigvs3btWmzZsgU33eRq5McKjlfyAC7TSCgwUTF2TvaO2OQBwf7Y5la6vaJdszxfr32dzu6R95cJlAwFVXMpMWOTB7iBvHQd+bU2kwf4+uPL0Ka3yc3lu776DN70l49in5XyuO0sbG0kD1Bt1Ig0LcHkAUymLf19qXp9aXZDmYz0Z7hA/qw8Uc6TGcybxU17B67NcHbE4lpM/GceRH6CkweEvusQk1mO7Hebweah8S3oMHnbi1ASC6cPXDB34j5teNZhHuScOL5c1r78+Tq9z4tkEXRfufGPD7w//l9YLz6I2SCvh5IHtEu/281g1W6mv9jkARzN4HkD+iyOHR8ueQBXtngPq74Q/fbc92X39PEGoUQPFP3OfvPZC/U2uXOGbY8Z8/H4wfMki8306dNxxRVXGNemTp2KOXPm5Nff85734J577sHs2bMxY8YM/P7v/z5uuukmMnHAWEDo0PYxaL6sX81mk88KE2JoggcCWSyY/aLdgyZIpFjGwrwfXy6SKDKExv47VK/BtIaYggTi4GdC/O/IETeFrfuHUK03sWtgGHOmFRbRUEY5vq90v33wZcEKfeeDy1ITnAvPHIcIv16eY9K4dn10wpvFrcmXK9J3xu9X+7s1PqHREeDbVcQEmI1Qefe+W4c+H2xWHw+jY/8NhMe33cxkdp3+MaGfaZfZ8NEi3zj5+huiNdw+z9cn11dm/OOziR5/RiwkCLSbuS12TB06FKBhvjk2M3jR7XF7kxN8QsrJ0JmauvdCZ20hhFj9SDg3uAyFQfqdyqdw7xgQiFihr036fTR07lRFW1nRfPjMZz6DcrmMt7/97RgZGcHdd9+Nv/mbvznWzZww6IuLWmi61si+77N06JfSLST0wi7KBTSigYXPvwddb1Cjl7drli+YbLJYUc4i7uY3VZpG/IXZHv0e9t+hcnUPU2VfS/m+gO/r5CHNmxpzbo2w3/Kp03McgimIxD2vuk61Ffoye43ZV5z1Jn+2zs9xisXGnyrcHQDf2vJ904J7T72d0Bwb961HqeWT96dOr43UfRxiGhSC6eY9B3O7DLtvXmK/29POxxCNdeq12NBz3LZl1UOLvIKNlxb5vx3CnRvFXuL62t67h74RcyyRv5u9V45CwMjK+fc2q9Rr/eTOmfg5bpD3OCsYN+ZBJpwrFznHXq8LymKveAqmH9nfRMp4z7nim2uDfrMWy/beMfg9QpsvCtFXZo6Phs6dqjhqwebRRx81fnd3d+OLX/wivvjFLx5t1acEbCbahk9b6ZOEfQd1dB5/pj32w2YhiZ7ZiGFLkNkvvr/m9YK4p7mm2MzrJE6wYd7D/jtULqR9bdti42EmwkJoq45UZiOwtnYPDGPltn7cfslcQ2A0rUthySZpzIj73L7Tn6UVBp4xDRzCehm/G6NbzlhbnCYt4Mrgaifp6/bzPq2hbcHhyoX6ad6n6/P1FdAOUMaFUDUbFFA4hp0aX59FLLDHQowCkGnBH16zG5efNRPztaQJdU9/jT402+sbW59PAIwVHJ190/o/kZnmtOdFuex/9t3bEICPNYIWmzb76KPfPm+OkLIj3irHlSOrDc9xqoAWPN/o8Q0pUdRes6sN0W+fos13ZhquaIkeArwVrL1y8Qpxq76Aongsoq0PdE4khJhWU4Ns3fOYd32a5yBh54herEAUMP/yFiSa6oV8SXlXBdUuWax9lzKmXIiZVuWaTZ6ZJt2qIt1OuPbsv/V6WKYr4DrAWSdCbhx/+r0X8ZtfX4qnN+3Lr+kuDL42qfa5tjj3MqoNbg/63Amp+8Whx88Rd1CnxFmxCodQOdYFgu4rtd/tV6OmObQ2OEacKxdtsfEITimCMPfB3lSlQ+EORPc3hoFeuvkA3vNPS/Gh75rpq2MtNqGYgFT3EM61UWeWU2MFQl9757T5BfNP95Vb36FzjIuhPB4IKYhSGXMFH/02aS19ZqZaVoA4JjzcX4ZmhJSTjDIiHD9It8eVLXgNq74Q/fbSiTi65fB/IaGPWeexwiLHN7ZbTu/TWIcINgGEXGZMDXK8eVdfQCkubGa99AINluMYl4BAEDIbh4KCbYYpOjYnVUBhXGpC2n5ug4e0rz7/fx987xFyt1Af/wqOeWK9e1vJBvYeLj5YZtO6GOIXmqPQmOnvxSkBgvuR80/3adDZcaP7U9xvby7rlvWRajNlju0WqKkKrY2wFdByKQ3MiX0vaMEmxzfs8ps+L+3tIR27+ocBwEnSEavs4PoQ0zYFbj3p1YRcajgLeYhO8+uJ7iv77gF32RPpisa69EaetRyt8dFvH60JCXW+s9qsN229hcYhdW0cbXtc2Tqz5kL027df4+k3TRfbH5s0uuRTHPnqDfG4YxEi2AQQZKQ8GmSfhUTfEMnB+k1/e+1abEICQdDSw+wJThsUdH3hBJuQtp8T0BK0/UlWgnYtNp61FSKK6nKKNj8r5x/zat4uz+gcC1e0EONnWGyYZ5P3Y+Dd9Tq5cePKsxa+lP46bfLtcX111yffJmf5CDFNnGaSupf3QrP6hSzfQYsNR5+odeaptwhep/scYzUZrra+QO/0ie672z+ub+G1SiFmr5AuNR5FW2xSCW7PcNSCWw8ha8iJTB4Qshy07R3hod/HJNNq0CpnlYu0kqUE1hv1JtJirt5YOmHfCnsIHAP63SZ/w9MzspjHAyZ2n5rXYxVTYwki2ASQlDwgIcDwaCw2XODhUScPYBgbn2+83h7H8HLm6tiN6BA3XdtPpRJmyvn89O3njb89WnVfOQBYtb0ff//4xlxDx5Vz3KYi1wA15rrbiTOXAW1oEVBN99O+x8EglgRhT0oewFh3QpYgPiiZf4GQ9pkrz9GJNIuv3SYf3K4LCobFpmk/5xRltcm5q15gP3Kpb+2/qbL233nbATrrTwLA05G45AF+tx6f1WSkRs9RSENsP8fRuFRGg6VhCePLucYkW2yYeIeiXubdA+2dUItNnZvfEB0NvUN7Fpt2LR1uvZzFxr8XjtXaCK1vNlmB58zU79vVhuh3jFKTpt+e5AGeseHot1kuzQMmlp/yWWzGSwKBY54VbbwhKXkAo80gszd5NOKh5AGqKGvpYdZmuwGNoQ0TSl1ZECm7vbiNmGyxYcr5Ndsegpbg/2/352M/Wo2nN+7HpWfOwC2vPt0spwu3qT7IaswTtd+htVW4nRSTZTcR4/fvY5RCfdT7af8dmnvffi3eLdxvzgedK8+trRRNIRfXE7RgEPVWyiXUG01/WvNUi02ugTSvx2j8gha8lL3JMQKJ6yH2uz2+GBllsXFpjdaOz0LYpPvQboD8saBhKYKjXjcb+8S8Quh7HLy1w3//WIJjPo82eUA0/U7WyvPKkKNJHsC5wMVaeblMiqG9x1nzuDbz9pjr2d98PwHem4DeN1qfE+YqRqkZsiQnrw2Ofgd43LEIsdgE4CMy9v2U5AH+bEh+ws27Wrl9MtsMEGNOgxYyqYaIFMNMB5MdMO2GAgi5gy+JmWaeTU0eMHCkBgA4NFxzyx1FRhXf2vIxMfFaHX7dx2h19PGjnm87ecBRCEyFWwkv2XAuEO0mDwgfjDFMjNtPrr1m67pKbOOz2Byz4FOPO0Z+PTB+QYuNJybLJ6z7xjc2OYNPuOAsNj4XQ7IPNrMRWOdsfe3SsIjziNzHDS2tO+OxwMkf3PpuNyvo8QBrVYpkzMOCD3EvQogPWWzouXLbt+tNFdRC8VehxBL236H2guXy9zAzex0T+h1UuHB9iW8v66v/nArR4VCMpCQPECQxJinJA/zfr+CJhZEK0iFOvLZGbyeU9cghppHEK5XYxgZCOuMTYIpzYstYQbg2Y1yIUpMH+Iibz03JV85MB+o3qydrX4n7vpSbHIKuZkF3QtodI0XzxgeZh/tdbzRzISG77nct4vqY4ormMA1tzLH6s1TKDnZqprh9FR0Q7ayp4u+QkiLrI8F0BS3j/J73uvx6xzcueYBXsGFibEKCvX2P+7ZEqLxTH+OKGaZ94fOoXRrGaZ7Zd49MHuBLAnKsELQqtdHHFPqdqpyJ9hKp07xKqotbu/FQsa6nqeU4hUIweQBz3hnrO+C+nuJqH3dOpdHho01W4Cs71iCCTQBBwcZzYHMCCBBpsaE2YNN9LqZcqD963W1rpwLt8ibXQDkfcaOIDWexCTBXnDUgqO30aF+qnu8O+AOb+YPGXAPO7SihhBtziqg66zMiyCa0b5IsNqw2LS1uKaQJs8vo3T4RwacsE0NMFdeG+m5NpSXY+LSF7Pgk7sdQPBWAYJxamNGhGZNm0//9Gz+TqPpMdjlKsBlmY2z8NCO/F2AYQ+VtHIvkAdw5lmp5VeWaoL+Lwa3v2ED2lHEBgP6hKj7wHyvw9MZ94YdbaDcOyCcMBum3x90qHO/qmSuDptJtpiYPCPEUIYEI4CyIdLmkrJjMHgzFfOpjG6JtUckDAv1kE/xwa4uh33kcVBOGUs5u02uxGSeCjcTYBJDiG64TKSMLEEG8fDE2sRvCJbZ0fXlf2zTxR2unQkSRIVJ89je63pA/PmcJCgqpDBEzBRe3n3F+tgQTHsFMhLTXIQEt1WJDBcvaj8YoSo8mtsQuw71v6KBhLSAehsi2vlVaPl0hqwS3dlKEaW7fkYwoI/ipPyu5L5pTtNgfjOsQq8CIURgE3Lr09qk+cfd5q11gfD3rwbc3fcG9OrgYm1hmoWAozevtZiqKivUK0LCUeL+jsdiEBOWQ63NqoPMja3fjW0u3Ye/hUdx4/pzg8+YZnkZLfHRWP/tJK1hExtR2BCrfHozObpZ4nsSc4b6z2OctkJTZNEC/Y+I4g4KU8zmLuHKOBTrgIcPyU1ZfOyol8r6Pfo8XwUYsNgGEDigu20ZIs+zT8vstNvzGjnZFCwk2Ca4eQJgoBs3YnLaHydIUSqXKZXBJEWx4l440t8LcrSJkxnaYzIbxP1sukKGLy36TskZ8WjMOaSZ84n6d20sg/6afTTuEs3t0u7459rUbfM+I/tJzTPdT/Vni5RpNs0cfjPVGk9T4xfjLhxg9qrxet/03dY0b03bHN1WjqoNL9+xLn0y1c6wyFXHlUmhYkqtflBsu3dfQuwfPqUQmbKRWN/4Pwbd3YwWBkOUkTN+ZMzNEvwPuvSnuT0YcFUej2O/10PXG7luun1w5fv3H028uHidIJ1jvCKfYUZ1TLD8VoMNsuTa/w3cqQwSbAEKLhWW6AhqyOE1X4kHdpK8rtJvJJehqFiC2nGlV/W42/VoU58NXITM2p5kIEClew5lQziHEniw1HqJYaHucYsG1xVkR9TZDGj/9vs3kxjBaQRO+592zMvSzIW3nUQs2nLUlZLFp0wXIR1+K/gb6adSb/a0sNiluHpSAFFUuYI2x+xGkawnzejSxOTnjHRpfj4WvSB5AKxC4ftnPHe/kAaH96Auu9tF/n9tU4TJD95Vb38creUAoC57zfJtuRoD/rA3R7xhLfsi1maaNYO/7rGS+/V33vKd+3acMOZbJA1iLZbsW9zb5Pz2OKuW80O+xnjcs/dafSSgXSevGEkSwCcBYuAnBYyGLjVcr4yHcfoHo+CQP4L6bE9Nf/brXNcyjYbCrDWlf1PvZAlO7WuOQ1t337RRfIKyvP77AZlPDcnwsNr65ifFtD5m3g3FSnEXC4zJjP8tbQPj+8/N+fCw2cZbb+ADj3BVNJQ8gXpXTiMfuD6+mMLCuuGeMcSC4vWNisWG/M5YWwK0jyhXNs1+4OW7bYsPQonZjmPTnaRqtl6NpTViwSUse0L5g4z8fbfhoTSwdJWlUgH4b6zuhXc5CQV1L+uaeZy2HaCpHM2L3ra9cyhmeZrFhaHnwvNGVbnqf0uhLu3FUpkWOp6Ht0O+xBhFsAghK7DFafmKt+DR6PuLlDTgPEFufFslfL91Pp12iXt1PmdM+cX0uYmXsA5OuIy/Xpr8sq+Fs0HNMtscxBRQx9Wk783gpp1hY4+c5NELaIOqg8hFCDr5McUCMBp9uL8nHmtGy+jTgMfOeYlFIEaZ5zZ3bz5Bg482KlmvS0/YjR19CYwOEfeqN9UK+Lyfo8nTUfpYT0FNdRXQMV/3B5Vy/7Oc4q4X9dwhR6Z5D+5FZh8GAdMY6zKXq4NZ3rBUuXbBJK+ezDh/NWZtCv3mLTYhZpvpE90FvJ7SHWKtcYBx8yjEfHXdoTYhnYNZxSmwmR5NTYjo5ZVzo2ex5fu3obbpWRL0Ovk0RbARJQa+cKbDtAzfADLvuC3R9dtkQg8XF7oQ0aKka9CBxy4mmeb3RJtFIcY86VskDVDB+ipYou+ex2AQErRihmTuIqnW3XbuJKFe0gBCZxGgZdfGaZV+7umtAOxab45U8gDuoQ64MHJOi2qiUi3q4NjkG1v7brtvn4hlSfuj1UHVnzxLaxog0xm270SSMrw0uxsantKCeO1aZio4FDeMYHzp5QHsWG9/6jp3T1OQBuat2ZDFfLEzxbulnbQr95mK3yM8OeOZC7xOQpkyNKZdqsYlVoviSB5AWREahFkweEEFTguW026E17KMv7cY0B91NOfodOKvHIkSwCcBHZOxrnCmwXVNkiCi67gt+U7vXEuQ5iH39CdXr00gH3SNylwSfm0Z7biuhvqYkD4gJykzVhMWugZQASr1sUEj1CaQRxC801sF3iDigwvuR/tunAeetLQmuaEzfU/qrPxpMHqC1p/6KcUXzMhsk48SV0/5mxjbkelhj5pjqGye8huYlZS9w42uD/UBnpGDCaeBD+4cD64oTdH+iFQYhhYDPSuATbHzrO5Z2+NK2U/Apiyj43PPaZejtayk0Qb+Xaj3LroXPKbK/HlfrkOWKU3rGzrHPXTbFtTdEvznFbrv8X0ix4aMvqh7unOXd+9p0RZPkARMPYcmbJuwp5maOaB5N8gBfHvPUejlJv2iXv+/T3AcDAXOtF19nSPsbw+iG6vUF49t1uckDPEyB5z18WXeCWiSfW4mn3mazSQpiXL58H/TyQWtV2yb++HVsHDQeRpW1vIQsNqyFKaG/bDm3n5xFS/1ZuKLxe87LjCdYekLWOfuZcNIHv7KixvSz/eQB8fNpI4+x8VmxIgRpuwvHJN0zx6yR4w/yvt50eL/FW2x86zvW2pvKhBXJAyKf99FRj0UG4F2w7GspNCz0zaagxcbjWdBuf2OVnlx7XFnVZrNpWp1D9JSPc6bbDvUneE5x/F8kbwPwtIMWXvlxM72EnKKSPEBQIDZ7h/13w0NEnHIMwx8iel4XLc9hEtaYWsRLS9noFZhSGYvIA8wfC+AUY4lK6MCMEYJ8SQ7sZ0NfmPYRKd+BkRSvwAmpJLF129fLcL8ptCu45GWY8iEGLSazXbTFxtBU0to4sr8R64jsbwIjWmPaU/uznLuimeW8zFoks+FzHWJdc0J1t7mng+Prod+FSxO1N+m2bSiLTbPJz5/XFY1lNoq/U1yuYhQCKVn2UoKu2fgLovsxjB11D/ArfXwIZVuz4X03zxmtP0+OdUBDzs8bPS/ks57zn2rXFyvjc3EKzQXnNmi4bQUVxvH7nbPoh5j3mFhpim/iXGiDZ7SPLvn4vyY/x7HvaNcb4nHHIkSwCSCcTUZnhDhXtHjipT8fNLV6NOkpggIQ0AQwGjz7+RQinf2mn7Ov1azTIVYgAjya3gSBIeSKFmO6TnU58AkgoXp9B3J+4JLMMhOgbRPQCOLn64N9P/iOjCsEqbGLiMWIjrGJOOzI/iYcxKzrUJtzrP5SrmhepYBXYUC0yWSr4tKq8u0G7qdYbNocX/15ajn43JB0jFSLb6KwboXtCDaBtOah+uy/U9xpOeVZSEHhxhe2xpfoZ8y8APC7RCZqlznXZg6+OYzXqvtjXVJoY/DcY5jsUL3673Zd41hvDoZJD8VKtrvfeeHC3x6brMZDL92+0ddT46h8MWQ+OhmiORz9Dp01YxEi2ATQbvDYsUgeQJta+UXocx/S2wkRRZ/rEa3d9NTrJaZ+LTin8UvReLEuZUGzMl1HMPBWP7RCmcE8gp3vwEixhtjaGHUrJebHp9nn0K67RV6GWY8hFzfex9rfHlW/eRjSfafKxWTlI8slMMZc8GlhsaFjbHya+1iNX6qG3W03pG1OYVji+myXM62p/vH1CRbDNc71xU8z7P759liKZYIbj3aTB/hSBNvXnC+veyw2MUIDwOwZzznmg8+CRD4fcda2Y40O0u8IYSYlLjGmX+0qJ/W58HlzeIXXhDEK0ijOYhNUotKK6DT+j+5zMB7KpqdKIRDkUfh7Ptd3jt/M+pW2p05ViGATgC9wzr7WdvKAhJzyPrNhrJUoxJilEqGiv37tVOrhXWc0bGHiRr9LrEXLV0dK8oDg93YYwU4XQEKZ5uh5DhNpqly1bvYh/9vDyHJIsdiEDmlWYxfUoMXPPf2c3t/44FOOwUgZh+D4BJIHlJl0z7EaP983G3z7mM2KlqBtDo5vgsDK0W/9UZqm+Rl6hWHNYsO6gXkEo3YZv1B99t/tJg8IC5z8/Txej+i+V2Mdfd6kMWFFds90iw2neGrHGp20t5m6bNfHuHZpGqZ/kiFVsAkKUxE0I2WMUt6Ro3X0nBV/czxWCv8Xoom+5AG+teXjRWLH1DeHYrGZIPBZMgBbewjy2WBKYkvjmmvVE7VBocM6X9gBhjCZYOYWJudWQNuj/e3x+/ane/aPUYxGnCrH1RFM9xzB4ObPMvMVWnMhosmtw3A5hgn0aPY5pLSVkgAhSYOWMPdU/SaDQbdBlTv2yQMC40O4ihZZ0ay9HKto8Kw7TmvLlbPfgaYTtEUmv19nxilBYIqx5pHPMu/UbDZNwYbro4eRVm374wjjmQ2unPk+VDnt74RxiooVJdvznDeRFg+Kufeh+B5b7PO+s6vog7PHEoTBFNpn99vnUkSPm9YGJywk8xzt0YyUdZUSU2fGpsXTb+49Qi5lHG8QGlPfuHnjYCPWJNdXdi4iaN1Ygwg2AaQww5y5P4W4pWgyfIehvXlTtDLtmo1Dlilff31lvRabAAGPiZkgn41gEEL94bT4oTaSmC7iPmcpCgekM9ouxlTuQ0grGXsgOs+2uT9iLTZ1w2qlXQ/0l81G1eYBnpLFik4eQLui+frDaTip+yluc07dgfehlAec4iW4VyL2cUiDy62XWqNpMO01RjjjXNG8c9HU/45nNmKEkqBg3uZ5xMUKUMPnTx5A15+XDawlDqkubL5zJibuJOsrUW9gTNlU9wHLeVh4petq190KiBCmmk3nObt/IXqadDYae5xuI4Uf4xSVZL0RljaqLtfzpklet9uzbyedjRF/j2WIYBNAUhAvk0XJ5+/oayPVhedohBMfsxzbp0bTr73y9cmnYbDrDTHNHIEJCRoxxJQWwLj2/AHA7Qo2x8alLn5t+T6SxiHEyIb6EuPaFSzHjamn/5wroZ4YJKXdpPdMKse4lbT+b8k1jisaJ+jb7YQyk5n10M/ElC3uN8i/g20fg/GllRzh5AG6tcbXRy5Gxx/HFpe8wEYMHSFpGLO+U2iGY3nJYwXcfh7Nu8cqKZxyTPB06HmqjG89N0JjHWmRctsx63J+B90NY9ZG2niHXLUKK4HtNtXeHIf3Ox0CkEK/U/Yx67qcYEl21pZnnfrWQ7tKiBB/NxYhgk0AocAqjmFqN3lASnspaVePJqDRJ9H7+pDS35QUpLECka/9JEGDscRR17jkASkHnI/59PWNvM+8f4oWKTTHFIx3S7BWke1zVtGAiT9Fsx9ui+57qL/Hy9LDBbfnFhvGFU2vyvf9kNB65ZNyOMXcsiT9oZ9VqLaZPKDd9RCTPGC4yluSY1wfY7435StPgadbIVobbjuFWdLbpwxW0ZbDkBtPwtgUyQziyvhce7wxiMHzIkC/WWsKX49Tb4CZjjkjYur1ubD7EnSk0H/W9TRo+W2PfnPWpKRz6ijoS92zTs25su4lCFMxyXnGMkSwCYDbHNR9djMmCChJRN1DUF0tEt02dc3nu+u7R7Yb2V9KE6Q/nuL3rV/iDvSQNiQtNqU9bWfMeqGEgtDBfiw0c6a1ia+fQ3Adpxzu+rwFg1XpPrSTPIDTgKYwDUFXtChGlJoruj+qCuWK5ps73xff6Q+8Mf0O7A/f81RfyHFikwAkMGXa7RQXQS55gG2xMdZLBPPtU2DEfkfHRkwWyJR0/+F548c/NnmAQ/uZeaKeT9Ewc0w2B5+F329x8o91irDIxW3Zfch++/cQux4CSoVYAdw9++nn7DZTXCOD8bWcG3bCfufi/VIsKEdjEW43MUX4zA3XIzE2EwS+LBTZNY55as91JXiQeNJr+hiM0AcGfRpV/yHk/+07HLyb1Osm0x6TlMKcxpimi/tcP/2ZlaLM7RRRDDD3UbFCgUMhZW4opDBEYYsOvXZppiAivsjD2PDCJt03ur/hdXS05bgYEXW5wriicYI+EHahaTd2y203jXnytRfK6MPR5PC8+N1IgeLjnFQ9MYK0XxPenitau99xYs+jBIsj55LVRIkVeuy+Zfd4N249VtRuPwRVV+x4+pQv0cw+YbJJEmw8lm/fWZxCc8PZO+Pe1cs3OHxBwFU/Yu3SLv7F39zaDNNhvZ803QmVC+03X4xfvm+a/jFNDTfgxjxUbixCBJsAjlfygBi3k5T2QmV1PiW0YWKFCup3ShxNbJu+Z2nNFOhnU7S7nECQoNGqBgSQdr+5EjrAWIIeYFI4YufETSUmDwi+Q4JWM2wBodsICYP5c1zKzuPVX04zmeByQblDcK5o3v3ooS0+hjLmYEwR1lNiGVNcRdodX+6dnBibCGuJr29GHKFW5EQkD2jXZc8voPBj4M0K5Rn70Hnjg3qvWOYtlqH3MvtEU0kCiFc4sH4Hv5sWPgtSkwd4Y0V8YxRY3+3T//aULxxtOCbJX0LnlHXWeuMg2+T/jpZ+jzWIYBNAUsA1owUJES+ujUaT8JGPJPo+MzUQOEw8Zveg65lHoPI9GzrAWOIWNPOG3cSo+zEaI7o9bj341wAX35DKTLj3aasRWY7T9nqIK4d2D2/qGtcXWoN2dFopdt71sQtY32L2NtkG117CAa7+ivlAp61NjrUG222GGCMg7DIWus8K6G0y3uE9FLaYjNT45AF1Dz2l+gDYrjt64HM8sxFHwwhrHLP3Y79TYv8disvz1RvjpuPrE4ejsdiYVtGmNVe+c5iyfLY3pk47Pg+IBMVV+HyLm1dXeOHrDa3vdoP526XfLE0JCihhmpLkMueh1057Fv320VDfPpLkARMQKfEM3LdrQhprf+pLnlh40z0HmFHvYeLRrvmCKLN6+HqdzeYz50dad4KByMw8tJs8ICXwOcXn2QzcL54hzdiBA4yzHLYbm2M/GuP+kRRflLCvQoxsjNbcJ5jFrIGkJAApmsKIdy6ugXxW/Zl/x8ZyRjPph/UOPjrkowmetUL1N8R00UqHsLIiJT7AZy3J7vv7C7jJA4w9HLHe/BrXcPsUYpgy3zfD7H61SzNCAojflYvul12Ouu9Dnu45skxsjIZXq07GqsXTBN+Z5YuRC6cm5t/HlyAoySqjfzi4aY8h3S+qTY72JiknE+h3rGBpX2PPqZDF3bsX+N8+ISiJfkcopsYaRLAJwFwsgfsJkn5sCluXwed9U/3B+Gb7vtgYV7vGx4okHWAeU3qIuKZYQnjrB99P+1oKM80xtSazFp9lyicMOv0Mri3Otcq1BnLMZUh4pdCu4JLfZ4Sz8EHDPeuPdwrVHwxabep/h+sg22vS11OCa5XNptyi7F6LjYcxCtGPFKbBbiuUaj0lrWq7yQNcOmWV0/cjs158FpvQHqb7EL/eOMQkD0iJlUmybEUq3ezfDiOdoHlux5pFCbLk8wwTHTrzUiwnKS7RIStqSoIITglL9Tk2/tbHj/jqObbJA9orFxOP2a7FJrhvkvg//lnfGvXS78B6HYsQwSYAjjmi7qckD+CCx8ISu++eb9HzTEyoXv1nKFmAKxRpfarbm40nxD4i6bMgZW3qTIXet+OTPIA16xoChlPMzHjDjEVKe6H+htaWOW58uZh0qT5XNvt++OOl8Rp6PgFC8Yyv/9yBmmZRiC9nHqK00iKlPfVnEWNjl+MZGt+c+76ZEMpwlPUrsGfbXA8psTlepZDzO5w8wJfuOcbi4mdM/MHVHI5F8gBuHaQEQYeYXK97cz1hntq0ZsUMqfmxXn79hs7hlG+7+e4Hz8gE12ffpwh869LHaIcsSpzgn2J54RQcKeVCXhCxMU72/ZSsuLHWHa+7oSO80H0B/HMREsLGIkSwCSAosXMasgTXi2MRaxLqq4+Jyfrj82tOYQj4g8enwQlZbFI+0qhfMjWKfD/tNmOCjqlrHPEmhWKjn3GHma+9ol66fMg8HX2gnvDkAeHr5LOMFczHKHKB6ccreQAfXxdqj25bMVGVPN3zsdqPdvvxh7+vv9S142ax8bThMqv+/gLUBzppxQC33ry0XbsVo0ignmVpWFBACSfQyJ+NTInuU464bjLa3wkCaAipDFysW3H4XWH9DtBvjg4E2glZgjjGOySoxfIn9rngoxmh9R1HT/1eEKwVJuAhwLulOcWi3PsaTSqJC8hnHUHmRNNvEWwmBtr1lw0dJBwz4MawWO0xCzvkLuTTmNnt+DVQfu2Ob0PZY6J3KaSJMzW+fDmnHWaMQhqt2MPFLherwbT7w2XwCmmzUrTfKQejr41jkTwghdHiiHmwXAJjFyrDfby0eFb7m+tvwD2EjQcj26NdgNRfucXG256Vicu3ViIPWNZiE1izQS02y0DzfXT7RrdHtRlz2NvpnlmhmCnv0uDw2gsh5lwJ7Ucz3a1uHXMPQC6eL2V8kzJ0Bs4xH0J70Xk+kvlLseAAYcUV6woYstiE9lCEEpZqx/fuPmY61tXVLudk8Io4C/I2uDi3FH6M5emI9c/NVUC45eh3yHrmo9+G5TykxDTGkW9vrEIEmwC4fO/FtfBmbdfUSrUZ617gElsrg4aPQHkJG9h7of57Dyy7nDczW8CljGEKzI9OxjNXKYHwsUKF71k7GDzFr9nuT7uBib5MLccieUDoHThNcINZB9S1VKuCfY8T7oKuYcy8h4XpsDtbcR/ks+rPlsHGkWxcOqHVk8CkpFil7HZDTFfQshWpSQd4+p2yF/jkAb6saOEx8bkWxa5XG3FusaHziHblpV4j1v06KTYj8h7124fQnvI9798bASbSMxYh9z6/tYR3hQwx7774T5/7k16u2Wx612msq2tojrm1m+IamcSPRSjHqLp87rYu/Qy3TbXpo98+rwS/K5qfho5FiGATACfZKrBmyzZdJIKWC+bZsNbIaj+yXlt7Eo7VsTde3OHgs9DY/QtlLOI1lXw/7Wuxh4tTjiEYwQPMwzh7/ZpDApOn7/bBE+seGcMUHL/kAVobRDdiEg34Ao65AzCo8WvqfyeUM2gGfZ0qy7WhNHjKYhNyuWI/2hZgUlhGgGHCQ4KLz1qUXQu7R5HlIjWTXk00s178MTb+flHXUzTMHPhsdf454tahuT78Maa+dw6eE5Fn57ESbGLKcTQjRSgG3PEOuYzFfjbCTSYQH7dyLJIH2E3YglasUtZH2+zfKWcfN98pCXlCa4Y/L8znXPoZVsBRv7n9EEpB7ndF064nKFFOZYhgEwAn2SrwG6m94LgUotloFoxMUOthExmPRcTXn1B2NZ9ApVsffIKL3R9f/+xythYpVqMImJs6xWLDPRv6QGc0off8TgksD68JmokJMccUgi5C+jskJQ8IWeuOzmLDuZwFLQ4R7YaEW9+7uYHC/nFQMTb2HZ8LarvJA2KY8HazIFH95tZOmM6mxArSriI6bIsNJxi2lzzA/14c2O/RJNAwLnECmSY6co8Fk8xoDFqKNv+ECTaRHg3kb0/SnLDLGF2Oaoez+lNtpSQPiLFmZL/N9nznhm99x553VMxLDM1u19KTlDzAY01z6k3g/7ixsl8pJZFDu9/MOpUhgk0AnGSbX2O1dPQz4XKBTe4Qi7hyKQKJT2BKIYLZb3qDhzZsrN+1S0zN37EacbvNGEtc0Wa4XMhlLOkwD1oD6bIpmkROu0fVQyFFiAwHj9LlaMEm/KyPUeQOuJQYkRSmP1qh4Ggx6bbVY0VWtMC+irSoegOBA/vDfj4l+QJ1jXX/CAo2xfVjkTzAjrHhsmhx5X3a2FAWOQ4xtChE+3jB0W+xMdayrTgLpCpW/XYYtFNFsEk4o1MsEKH4Od/35Xzu5ykuyqlZ3rjnQt4csW5bXmWuR3hw2miTfvOWU6dYFP9n38vK0feCggyzloJCZmzyALHYTAwEg5WZRZGUb92zyX0LEiiISfAASCCKevmw4OInbtwGDzNuscQ1XtBKy1BF9y1YTnu2yqRPpp5NcdMLM4lx7kWxmjFVnbICRDEFQQEkwGi16U7IZ6jz70fyuQgtXlEn04eA5j7WxdKnMKDGqpxnRTPbsxVyigG1k3nEHqjO38Thb/c/uB4C2uaU7JN8wHSAHkYwwT6LDbeOfG1yY3RMkgeExj9C0dZo+r995RNwY2laWJHnnzcfkpMHRO7/YBpmz1oLrXUuc2aw3qQ5tp6LFWyOwnLlVeJ4lLAp9JS1oCacR77Afru9tLGh6XeIL+P4vFiFMvVbL5ri9noqQwSbANpNHhB2XYk7xMJZMug2Qgs9VhBKJV6xJtCggORJe9gucfVpvwBeGxRmasPzHl4DnneIDOak6opN1WnXRTEpnZUEwSYhnol6h5ikD0GmIEJIsWHMJePaQfbXyB6l9SEhaNufct2eO/qe6mZrqhxXNC6dqC/mLmvPlzyAL2e3Y5elrqWsl6BlMDJewecKy2kx7Q90shkYGcEkNnlAisWGPVdSBMu26Ss9LzH1qLIpNApIY8RCNMdGrDXVd1ZRzweTBzDjGMx82uYcp3hhNJqFcOs7l8jfkV4qPrd5n0CWlQ23EXL/48/PQHseJbjPouJTusV+EN1dc7B+83Pc7jezTmWIYBMAJ9nm1yIPBK9rla9cyGUiN+GHiCsC9+3+tq4nfO0YcDci1692LUhZ33hi4w+0p69TZZO0nUzffAe9Xc77DYjIsaDqSkkewJVTB1lnpUz2h0I4FsbPuHFWmlDa5diUuTEpeJPShTb1v+l1FLZU0NepNrm+NVuijHJFs7/QGasp9wlSbr95+kU9rzNHZH2k4Biel9CebnjG17fnmk16zu3kASyTEzEm9nOh9+LABloH5og9j1JokcdyF1SIsQya/3eSxSawh21EJ+oJnfWJ9JvzHAgpK5My3xnnm/VcLM1ItdjEBsx7eB7uzKSejY1hze6H6win66fLUWVjPAvIcpxgE1xzsH7T8y+uaBMEKSZ8n793LHFzmU3zt6MdqjMLO3QgBAQWJcXHEjn+vtn/BrMR2w2YD7qitctkMgdKSnyF7wvadl1eQu9jgNq0WmTPeRgzYiwmKcEmgingNFJUX1KExXDa5ThmjmOIYrTcYZcy+u8g/UhgnjgBT/1ZiviOjd4n3xoj70euMa68j0Gl1wNjEdMepQSmWMVTMMaPeC/bYhPLuHHXuf6lMe/c3wHGLpJOxtLloKcBp/AKCkDw3vchVViM8cag+tRuvCj1fEpCkbRvFfF9cJQozF5Ij7d166Dbt/tN1xmyoHCukSH3bVZRSTTIKhICc8XR76CCiRGQnLGuB/ZfgtA3FiGCTQApJnxfhh7fgvUdCPbvdg+E2IMlv68sNon1BrVKDCOVov3x+fTHC0Qhwk8TurAZO/x3qD8pa4fSJnP9CVnTuPVbuKKlCDa0+xhZf2hfJRBhbl+F1j/1XLtzGdsHb7kES6mxXlp/tqYq7P/PWVCDio/sd4gJium/3U9ynNgP7/kPcFY4De2FwB4ECItNZAwBd50rk+Zu1WD+DtAwfe8nnGPcmAZjQ5n1FRaA/fPtQ2gMbMQmX3DO6ATmlKLfsQoV71pPssrFB/3rZUNz7Bsn31708UC+frv36TZShD7TYuMUi54r3xntOyNiFUIufTX7Gc9/xu+nUxki2ASQpAXxWWw8DIAvQ0gs8UgVXGKJkE/TQJez75v9z9M9M9dj+ufVbLdZzu47p11KSQRRZZgFqq52taR2WYAn4r7MTwCv7cpd0TraSx5AarpCgg2zJ0KHNxvnEFinoX6FrH3c2koJdk0JvubaU65oebpnq0lnDSiLb6QLqf3bvQ4SIbrWvqBrPRfrxhIQ5EL0CHCTB8S2xV1XZUIfPvTBLEdfD1lsfGdeLDMd/N4Z596UIABT9fqQmmmuXSVJijAI+Pe6V6DynMUpCq9Ut0H1O/WbdrHrOz55ABywdCJEv5m94lvTWV/pelNinn1eCKG5yPmpBEHK/h3KLDkWIYJNAKHvJMRq3X2/fZpaR0PFEPqwAJJoNm7Vm+JSF/N8rmE4isPg2LhKEMTNmEvajSzk/sRplELa+rSMWO0yG4G1FYjNSbPYFH9TjwctIMy+S8ls5wvKZLXobVvfjm/ygFiNm+p+7opmNRltsfEcxABYF9i2LTYBRj5W2+xj/o6KOSVd0bK2VTgTHwfkFM2uM4HB9hC2a5Vol4alaJBj4xFiFVDBdR8QwH0ICc82OGYxtU/JiipmL4TqDSYxYC2KabyBejz4CQmmv6H1HZs8IKhkTKDfMQpqKt0zG1cX5JvoOoJzzPwOC8s0/QYQdJkfixDBJoBQEGisr3ls8G/wQGAPw/iNZLdJ99esnysXZIgYX8+U2Bj9fnJa2gSm+FgkD9D/rgaE4oZB3GgXEqpsCrPhI+ixWnP1p4qxiUqVynyLgexXguUlxXKSokEDXE1iSjC3fonVMAbWjn47ZY6bzcKqpq5XSiXnOYAX8FKy+ADFe4UOYrY+X6Y/QhUbiv9i22nTEhEaN6Cw2EzprLjvEGDA7L7pbYb65sOxSB7gzaTosXT5MsHF0rDUGM4ki02iYMMxle0Kbe385lwE9f7kzyaMndedO8BLFN4cvABC9i9SeI0PtI8/V1IEm5iU0dSzKRlIOfod/N5Tm2Pqm2Pu7BrLEMEmgHaTB6QQZG+Wr5CrRfTCTvudJw8IMdkhFw5ryIrDm77O94c++EI+/inmaI5h8gmebrkwY0H3R+tzQAMYDCxniH8wFTeXYrlVn7LYxDATZspM935Io82OY+Cg4QWTsG++TzsWEsRi+ttoEtnAIhUcsTEw6qpyRXP6yeyzdl0gQnSOrc+ngEjZY4xCxu5nqI2UuDaFXLDp6sie4Zh8agMQbRQabX9ffDAzP9J1kNkEGctLaFzscnkq4JBln1nfYRduWPcZcxiBEP23wb27u/f85YKCj2ct+i02vMWdaqfdDK6c9SElwQhwNEpY7h3g4FgI9j6lpo9+J1leYmPMAmMVqwyJXgsJtOZUhgg2AST5ficEXXJagWDygLYl9njGImtHXYd1PZ4oZ+UjkwdEWpRSNXgpG9i8f/TJA6qGe5Jfu+Tz/w5qwjzCZSNBYKoyTLh6LuU7NibD4757jRnr4lqY0dI1XaFyofUF+A/4lLWTwhhy9cZ+qd1uR11msj2z7acrPlprI0Af8vIJzB3t8hsXQByb6S+YSCPApAGFK9q0lmDDMU/cduHGOMa6yIGz/IZoGJtlL7gO7OQ29HOxjF1YwLSZd0Qj5FZugzvrOAsGVy5oWYn9Zpv1rtXAueD77d9Dob1AX489i0PnV6yLNGVV1S9xLv4h2u8V+jz01LfHYul30IWM2UfpMdRx/R6rEMEmgKS0tIykT5XlNOnB5AGMBB+rEeP6w/Wv3QDB4rfZfy7YLTa7UaxrTf47UiPebDYtVyC6DlLbyRDCpPgKj59ramBgrMUm9iNeqn5lsYkJMDQPoPg0vPk1zhKawCBzMVNUPVRd7Vr7fPs5NlA41b1FPa/GuZKne46rJ1URkisaAu+XPx95sFPP2v1JcaM5VskDqAO/2mq8u+WKxgnSnGDCzXGsFYyCSbf4PsRmaUqn93Hrqd13D50bPhxN8gAAfFxZovUvqGTkYmFCNCHoPcHUG1BOuHtBeXP435vbQ8E59iihvIH2vjMmQL/bzYDHPRteI7ZCQI2NX3Dn6g3RVy9dDPA3YxEi2ATgIyzO/RQixBx8oYOa9VtNPKhjD5CjyV6m12O3474HrN90/4PapEjGMUWjEloDHFMWDNhltLpBjV+ISWEZLLvfcZo61c1JHfGuaCnrjaqOZfgTxsbLAAfiOFL64LblOeA869x3+IaYCHVfXVWuaHZX7d+cFjrknhLLwHL99TFBtMWGmYsEpsh3gKcqgvRral9wWnB2TBhNfWyiCwrcl+pT5tcrmB8jwYb7HVZcwfvbh6NNHsApEUNu1akuW5yQacertmsxsfuUkkEre751PVKQseuJdXUrfmt/e+hwrFWCot+8NevY0JdYfidW2Wj/TqGvejk3Qx3GBUSwCcC3yH33w4Rc16QXmtaQ32wsg5GqReIOkBDzm+pLWmO0XuGARebQDwh0scyp18/ZOFz8a0AvV637mRuzHG+xCTG1foacT0rgEOmA329HmQ5IpxDK5me6hQSCQD1Mr1eQrdPjQPUHCAmIfB9Sno3V+LUrzKrXKrKixbWfwiTov0NMHHfdd/CTgiOjxQ5mkWxzfEP0VK+jSwn8qd+xYTT1R+OKxtGUFEGZc+EJlQN8zH8czQoHoPvPRx9SkwdwayvZ2yD5Ewn0XnC/TRKIqfFa8n00KvQ70mITub5T5tjntu9bcyH6zQl9QTdCZq5CggXPx6VZbDgrWEiwKui3XX+CpuAUhgg2Adibwxv869O4erQQ+vPB5AGspJ/GCIUEH454Of64oRSTnCUo8XDggpWDmtcGMz8JWrSQxSYme1aNWDtcLEwqk+V73qelDFoDLSal3eQBVNumxpAqT/c7xWLoi9ugCLjvEAu5scT21+damiJ4c+tX9U3lDrB7ymkckxn9SLqTWh/VF/ta2xYbbQ+mWiJIYbZF+5Rgw1khY93zuKDslExFepXt0hROMaL3sWjDqpdTXIUYO+7dnXqMn0kxAanJA7g1EkoecDT0GuCFjlhmlfutl282tT0cGHPujE3lDWKVIbHJA3xZPe3fQfodS4c9/I4v/idasGf4MKo9vZ1k1+VE+j3WIIJNAK4WwrzPaQ9TLDZ6O+FMJ0wcxDEketlvrt8wfyeYv/X7qYcDp5lIs17Qc0XXmxB4y7RhB3faRWNjOFI0fPZvH8MYNHO3+l98oLPc+u1aAmykEPYUi01KrJi/HNFnzyEWCjxu12LDCdDtxjao1+Q+0Mm6sia2x2oKmWWRQo9SXH5DyVY4+h3a/yFGXK87F2yYFOec33o0c5PgH1Jj+hCkm5FxHSGLSq4Qi7TA223GWguovoZgWP3asTozjHlsfCjXtm+tea0HAaY71jUs5OLGuVGl8gbqXULrO/r7agkCWdL3CLXbjgI60mLTrnIy+BzjAZPCB+n3RbCZoEiRhL3pniMXeiqxYJMHJBLT2HqDrnEBIsklD4hNiRnr+0+1n6bpddum2rOvmQKKn+my10uTIfypc8tq/ALMPccUqvrVd2yoPtlIeYdg2s6UfcVpngOHJ9lnRstHvTvHDKak5vatz9j3VlfLjCsap31NTUnLleOY+JBlNTS+fFY0q51IupKcXMUjbHV1uMkDjGyE3JhwfYtom4NhpdEZtAAN4cY/1fU41hXt2CUPiB8bLrEL+3x0HESgz8n0m2bkg+7lISUjN+bWULSbPCA6AVBwvMz+mB975tdmrMWGWjNcopmUj5d6PULa3Dchj5ijTR4QE0s4FiGCTQAhghzrshQr6IQ1BOZ9zpwcGzzG1VtvV/NmE8nYAyyoqWCIaeDg44Ikg5p0plxK8oCqMwdmOU7bnSqUunMbxwSGXAcK5jX7rdI9A2EXkLTkAe776Jc4bb1dj92ubz+G3N/s38EYkCY9zu5c8W36BLhYFzwlyOSCjaefgGZBDTAJ0ckDGCacc73N27MsBk1r/+mP+xQNbaeNDzGJZLKJrDFlseHWHmuxYfbb0WhRubFpOztfYF2w51jqvDAC5zF1RQvQcfd5mql13YOscokxNT531WYz3m2oXWVq28kDArwJN8fJSliGLia5oR8j+h17RoTWQOy+ic0CG5zraPqNcQERbAIIESVO49r+wm4zeUDidxnC2ha6XFgLFKfhCDHrnMAUEg58rhI+5jTW6qEfNFRdPuIWG+yY6jLmEy59FqRY9z/1fp2axSbk9x9c74abl9+P2CfY+PysfeVC7m/271AMiNmWzwXIb7Xjy8XRD1WdmqrYjExhLS1dT7sWm7CCgr/ncysJ7TFOkPOtz6w/7nuqIl2dbuyZT3vL1cm5lcQKNnaGI46GUXVyTH+6guzoaFhq8gBuvVHw7S/6ebp88MxLVDLGxlWknHXk8+3uBWavtj3HQdpC80DuJxni35/bF4CrSPN5E0S7oiVaGjlBI9bFLNRevAuyJA+YEEixLByVKTJfaHb75u/YhR2S2GPdkhwBjfHxDPUv/62IdOgDhMyGCzEuXouab3487YeYME5LGhRkoq1ZMH8H11JRwNT4+etx5q5uHuSdCa5oSWNmVeUVMDxuG/azXgYtYHnz1ZWSPOBYCWKx9ER9t6bMxNi0y2zwGj+rfoaJT8lgZP/27fGU5AH671RBy+f2o1w0YxmpUJvtJg+wm0nx+dffx2cliI0XSbb0cO8eoIVJFpuAO5LzPOOae7TJA9qNnwsxoaE1zSkv0lN6N8j6YpWn7SYPSLZKMOd90HrpUwbGJg9oUwgN0t1IniH2cx+hMR2rEMEmgJD/KXeYpfrVxhJ2blMe7UHNMQhBs3SkqdT+nR5cSrcX2pjHwqKWEgjvY6a5d7LLusQrTZjj/HJT6y18qbPf6nsd1LM2Qq48XnctzxoLCQpctrXQQUO1azCnnsQg7h7V6rCaifW/T40lU31XxYoYG5DP2fWk+mjzsRQgkS6cx+2jsABotsuNbywTSD3fRX6gkz8LFDgmJsSkcPBlUGo3ZiuscKLnhkvaQPVNrzdVoI8W+hqWVj6iHOc+mRwfGninWDfB0Bl57BRpgXOK8eYI72nuehxtS+cZ4ui3V6l5rOh35O+QEMzxkcmKMJbfxLiACDYBcFob6nfsYQxQjF6TvB6r3UnVAnEBgfnzLOMSd7CF+h9Mo8hoe0LBwrGWl3DAIj+XsW2EMy/R2qDwwRIgfuwB5ndFq1oXbGKrvmND9cFGistiyhpKEdi93waiLDaevWdaCcygfB+DEXIt5d41qCln7qt+alPlrYdjGoL72LLm5fUx6yJZAaILsx7tY3BPsdkn22eS7PtUjE0oLs9+xte3eObd/J1GiziakXaOcVaAWBfBYL8CyWk4xMRMOWXYDKTmc8FPHgTP3gBvEKu8TBY0YnkHe8xpi43PmqHXk8xTRKYQ961VH/32CZbtZrxr9wxv95tHIfrK0e+QcDxWIYJNAMGsO9GMcyTzmWAm1etJzvIT3HhxRCgcCNnee3Lm6XaJW9ilwaPtDB0YjEXBFhSiLTYhoTP1oGQO5Fjtqy7YKIY5JNikHMKxWjDqWd9Y6AdYqD9kXR5Lkc+i5/9+CKxn6TbDViG6P+qqstjEHnjJ+zhSU2j3L/q35wOuXkE34MrbbvIAX/+6KYuNVr7ZpAU+juaF+sbB6//f5vmQqgnmGLRg4pRYwcYaiuixiVynMWVCMTVHnTyAqS9diRhnwQmfb8bPfC7TLTbt7b3oPes7YxLutWvd0e+3K2SmKGrN9mBed+Ysdu4xLiCCTQDtWmzcwPEQEWKIph1YzeUxTySmYR96up5UpjrW/B32121P0IoNdPSZgDlth+q3XtTLdEVqTUMa29SDkltbsVZFVb5UKuXfRwkxBqmHjt8Coj/rbyfWd5kUbDxrwNeO32LD3/O1maopz59v/Rf7HRsueUDoezCcgoKz2CQzJR6h0pfIwfcNDP35FMHK7o/dDhVjE2Mh5Biq0L7k4KMvqRZ9dpwiaVhqXElsrFeIWecQOm9iyvCMeXzyE6rt4DtbZ9ikDne90b/hvR+brIJ7v3bdwlPnmE8vnXbGcG36zttgsqJYQaPdxEGR+yjVM4A/F8ViMyGQojn1BqdHumKEJG9Wm5FITMMaPBWsn0iEIxmWoJaGK5dq6WFcZlKEg9igRPtZO91ziKktiI1FlEK57NslttFapOx3pawJNgHGIFXTqz/uj2NLs17FulRSdcdmufExFG7/7DbjmKdYjbu6WqR79tfDMRux1r2Qttd+nu2/R3Dw0ZzU5AHxloG4PaXvCaNfUeuNnpt2kwd4LTaJ79vg1kXb7k1xcYKpyQOiBZvAfJJlogUBf7lgfGvkGarGpqviZuEj+9vmmIcFhhZv0Kby9nglD/AKNkn0u/idmqyoUAj43b6jheZAdkZekIpbYyFheKxCBJsAbPrn2wS6y0Fq+tRYws4R+qPO8hNZb6xLTOh3WPMB8n6qVqrdWCEvUTQYbX6cQ1YhngmH+VxojNs1czuucoxmrlW+XAIqpUjBxl5vCa4pKYdQiOFvRB6K2TXzt2F58Wiq/coOq41IBUSqK6lNP1RWNJd+mb85ehXUQie6TSW/j8+dz8eUeARm/fl2kwd86Lsv4H9+a0VOjyrlEjpa33fyCcJ/88gGvOurSzBcrfN952hjpH+Id5za1K63XS5EpyMt+bHfRQshdG5RiD6j29yr+f1EF67CYuPXyjs0NnbMg2csXV/b7quRey/VTd/vshp53rRNv0FeD7WZfLaziu1AvyP5zbEKEWwC8Llk2HnVgWLBpLp+cb7JQY0Z014q8eA2TKqFJlbDF9bM0drzdrOwhfrlZbQ97+jV9iQmgii0yXFm5Nj7xRjYzCrI5+zfOrNcjrTYhBgJnybMH8Tv7zPnmhTjiuZ8Y0Znrj0HjOsmFp88IJYxDK6B1pipblaYrGicwBLyq+c0iXY5jl9MVYh4Ez94959fWOfGN8Z1arhaxzeWbMF3nt+G/YOjAFTcmbLYFEHV9jh87clX8Pj6vVi9c4Dte2zfOKTQoljmOzlepE1FEi8Q+a3XsW56IVdOCrw23qo7UqvO/Y6l37nFpiXYhN3P49yfYi00oXJBXiEyCQAfI5rGM/gS1JiKKXjutcfvBOOWmPXY7lmfrHBmQhgkecAEgS+dLK31bTrPZfVELtBkbVCDfi5Yzuq383zD+J+vJ9BfLvtbpGClwAt+cf1ztUDGT6+bWIq2x8/wRr5johAaJr5qLo3LTrkqE7+l+lkplfLMaCFmy3fI+RQCVN0+C1lorAqLjd8CQdcdeTB6rAShYHaWoQy9F7Pf8+/Y5FnR/Ps+lqHk9mfI9ctuJ/8d/I6Vvy9NloE22+XodyyDrrd5ZLSwtozUsr8r5WJPcNYgABgcqWXt6IHJzDoP0VgOxzJ5AO+iGDjX2ED3OBfSIJPNnFMhtGWxcdYofSYG0+0n0iw2HqJVb2yMTaylPzjGNq2OnCteMEyb49g966O1XqHfp2Rr8+xNFl7zd0x0tWb2aWx7vrNrLEMEmwBSmFog3qTI+Yanarra9z/l4wmOpt6gZYTRaMTmbw9tRD5uxX/QpjDThnDraOuKTFy1eppQyAlhMUyX8ZtZW7EHqP1bVVcu0fEEFHwEmSrq1cJ7hMwgw5ZbJPz9o9v13fP0V3/XZEaNXuexrn3qf+47Nu0y0ywj2qqvpLLlMQxjqsKGsthUtBzW6vFUVyl2fCPmabhWCDbD1ax/HUSMDbW21CXTmsetVX9fOKSkxQ7RX47exgos7j6F9Tv23a1yAWaWQ4zF1gafmRPW9dSzPm5vKdhugUqwibXihto9Xi5lnCUrJDjx8Xz+57wfa/bM0dFYbGL5jfCcq+t8X7L2zPssPxVLv9vYF2MBItgEkOIGoT+fnoUmLli/bU1XYENyGzE2Y0v+O1JblarFOtpYGUog0jNx+b5o7eurT/PfbqKFo3U946xaIQGJm1tVf1l3uwm4cvj6TJm7vYdQZPpNygWoxmhZowQb3WLjYfDa1Qb6fgctGgHXvjJjWePa4w5arpyaT7VPOyvut1z87Zr3fWtTjUUX8YHYZEULM74xQv9Itei0ipWplMt5jA1Ha3RUI9ZNKCMbh5QYg1ja1HZymABt4dZ3SAEXSkrAIfT+FLi2UpMBpCZgYGN7GmofVJLKsf1g1ltICRiboZS12DCWsFA/Q5kaXZoVSb89SqSQArRdxQlHv8MeMrRrZruxcO0I/GMBSYLNxz/+cVx//fWYPn065s6di5/92Z/F2rVrjWeGh4fx3ve+F3PmzMG0adPw9re/HX19fce00ycSvgVKauasA597NkS87PpC9RwrQca+H6tpzVOehjZ09IEJ8n67gk2IkfVqexKsOfrzQb/2SG19bNIBrh0u6JVztbB/5zE2pYKBDRFA35hRvEjsQZNyQOltxTA2nGsDJTBFawPtcsfoYOTohxLWW9ME+y1j90cog59tmeb2P9//EMPglp2kCTbtWsY5LXWMhpWz2JSthBo+ptlrseH6dhySB9hZH12FAHOOhSykWpwR1x7gmRenPbNfqlyx3hCFdoKkeS8Gv7dDu8Ig3665rvIYm2D8nvEzei+E3Lbb9ebgE6OAfM6uJ9Y6X/wu6vPTbz620l4msXObqnAp6JnVz8izPdW1PzYj3lhFkmDz2GOP4b3vfS+efvppLFq0CNVqFXfddRcGBwfzZ97//vfjBz/4Ab797W/jsccew44dO/BzP/dzx7zjJwq2O5FPC6bfD2nE1OZV/tmx3zBQC7TD+p5IcGGHzNIMkajZ/WTa4fx+Oa2Nul5hNcsF46DXW7f6wxEQe3x8Agjg11B7LTYegSms+WKIVJtpNPPfzJiHNIecVlWfK6WdDgUZOuvbI0Ta7+B7f9/80/uR1i5SjA0XjBqKx6HmI3dH9DAfVKzR0cY2qKusKxqzBly64i9nawo7K/6kEva8uUI2H/RvM3T6tbBG81gmDyjqMmNsTNcgfW46NPc5u95o61msxcazZnxaeX192/MT/J5R3d6P9HOxNCxWQ81lBuMQon0xZbhYxWRX4USm12bsQzE2Bc2Ns4SErXm0IBc8P5jfqVY5jiZy9Dom5s08N6x7hicH36YvVpTjQ7i+F7FpaRZ+m+Zw7XH0u91kHKc6OlIevv/++43f//iP/4i5c+fiueeewxve8Ab09/fjq1/9Kr7xjW/g9ttvBwB87Wtfw6WXXoqnn34aN95447Hr+QmCmudyKfubSx6Q37eIkH1dQS2gSR1l1EbrTjAX1R5Q1KPK2RYirlzdqjfoy9l6oF63+slsvEkdZWCE30BFu2oDZ/cnVco40qizgfWqXcrPWB83qj9GOWt8sjHT+tn6kfeTmGf7Hbh6C8Emq7OzUkK13mSFJ1WW6yunwaL6o9/P300JKIF6axqTUms0iwO11e+SljzATjRgg1vfen3GOxhWDr6f9vxyh1BR1uyPPdZUn9216tarX7P7m10DKqWifWrfkf21DkZ2jhk6UfSFURg4dMBsL7TP7fmKdkWz962jTbZ+Byw2dr85usbRb27vFeXccRqpEhabivttJ32uOitl1BpFOSp5ADcX3Nxz8NIpuy1m3+R0s073hVOI2esmlkalvrvB3I/EW7NCng8U+D6aZwVnCU9993C75j7wKRlro3VWwAqOOWP5CJ1TnCWr3TlO3bM5T5Gf/a5SK+YM993jFBNhemqtEXtfWYrko1kbVHss/Q7wm2MVSYKNjf7+fgDA7NmzAQDPPfccqtUq7rjjjvyZSy65BAsXLsRTTz1FCjYjIyMYGRnJfw8MZOkwq9UqqtXq0XQvCqoNri21WSd1lDFcbWBktOjXyGj2f6mUae4a9SaGR6uoViu5plCVG63VjDbUAlKaztFqdr/a0gSqctVa3SinM8sA8nrdcg2znHPf7I+t2RxttZvXWyljCHXU6ma91Xrd6A/XX/t9qrVa63oJR6rZOBv11sz3rLXeZ7RaM6675az7rf6quVL9AIAjI6PoKHXk46/fV/XqWpl8LqvuGtDrHRmtorsCVLU1UK3XMdIqp8o2Gla9rbXlrJ2qOab2mlRrh51L1W7dXAP2mtTbrY3W83prrXJoNHLBZnjUvz8VIVXzoO+b4dHR/LliX42iWu0gx7TebOZl7Xr1d1fljHqro6hWO3NBnVv/qi79mVo9a3e4ldHK7K9/DQyPjGbj6MyVVq7WYOt1+1tn50pfA+pcaraY6WbTpKV2vaqcva/UuyvY9MXej7qmkFoXSkFCzRvgaoWHR0ed9aLcj9T4TukI7wWOftvjFxzfWg2Dw8W6HRzJ/q6UADTreRmd1qhzwXyvYi4cml2vG2Nqr8MQRqsELRoZRblcMhgfe5xGRov1XcwPPU4jDq1p1ds6H0ZGrfOoUsZwrYFa3aJhzPgX54J6d5u+m+eNfZ+DThtUPaFy3B4LntFt7t18bJrmXNlrtrNMv7u639VRxtBoMRcKDWYN1Or23vbPlTo33HVq9me0To+Te9aa69utt1Vu1LwOFOsb0Ohwzqs0W/vRT799+6Zd+m3zafYa4OiWPRexa8vhexy+iKbfI9a72+VOJaT0q23BptFo4H3vex9uueUWXHHFFQCAXbt2YdKkSZg1a5bx7Lx587Br1y6yno9//OP4yEc+4lx/4IEHMGXKlHa7l4xFixaR10drFQAllBp1ACU8+fQS7HspIxAHRwCgAyU0Wz4fJTz40MOY0w0c6DfLrXxhFWbueSGvt1bP7jdrVQAlPP30M+hf28S2HWUA5bzcyxs3obf35bzcgYNZuUar3KoXV6P3wItYs8Us17d7N3p7e/NyW7aZ9ze+shm9vZvy+3v2ZvV2lJqoNUt4cfVq9B4s6m3WRgGUsGfvfrPerdn92sgwgBK279yJ3t7t+f29+8xxePGll9A7sBovbS0BqOTvsXffAaPeVzardrP7W7dvR2/vVjy/1yw3PDxqlHtxe3ZflTtwsB+9vb3YOdSaq1Y/AODHDzyAKa0d8ML+rJy6r+rNzu3sIXXv8Sd+gq3Ts3J9R1r3jXoXYVonMFpV717L5viZZ3F4fbZ2mprWRNX7xJNPYucqYNduc67WrluP3uEilq1/wBzT5StWYvKuFfn9kVa7Cqq/O3aa9W7YsBG9tQ35c4NDZn+XPr8M2NrEzr6s3IurXsDQ4TKAEp5qrVcO6t3VPDy79DmMbMyeHxgtxrTZ6stDDz+KuZOzshsHzLlqNoEf/qgX5VJRr5r/Z55diuGXs3oHq+5cPfzIY5g/Bdh/0NqPq15E775VRp+f32OugcODg+jt7cWRmlvvo48txrqpWbmth83+AkDvffdjUgUYOmK2++xzz6P2StbfLHuwWe9jix/HxmnA7r1mudVr1qD38EvEXNXzuWpuaWJ4OLu+fNkyABVUa1Vjf+zeuxfO2jqyFqt2mPvmYP+AUW7jJnPtqP34XGs/jo4cAVBCtVY3yikcGjTnbcXKlZjaV6zZas2kPz958knsaO2xNQezNoYHD+fj+8CiBzFjEnDQ2gt2vRz93m7R2Q0vb0Rvb7EXKPq9eRIAZIHbK1atBlDB0OAgnn/uOQAV7D9wEL29vca5oN5X4fnly9GxfRkAYNt2iyZvfAW9vRvZdRjC5kOtdrV1+MPe+9BRBo4Mm++j7xt9fav5X/z4E9g8Hdi336LfrXNB4ciI2ufZ+fDcsoxmbGrR71JTrZcd6O3dlpfj1rei3+q6fS5sesU8b3b29UWNzbbB4h0BYN2Gl9FbXe8tM3CIprP2Xti2w3y3XX3m/XXrN6B3dF2wXqB1LjRMmqDOhZ27snr37d4FoIz9B/qNdz/cogmN6qhTL6CfR8Ve2L/G5Tk2vEzzHOr+Cy+sQu/eF7Bmq8Vz7Nlj9GerdX9Ti+ew1/ehw+b6tuvdtTur9xViff+o9748nnDZPkXDsvcfrVaj6Ld331j0e6lGv0cI+r348cexcWrB96j9v2btOvQOrcnfkaPfiu9R1zdv2Yre3s15ub495n1Vr9o3qj17bXD0+8UDFt8zWo3aTycDQ0ND0c+2Ldi8973vxapVq/DEE0+0WwUA4IMf/CDuueee/PfAwAAWLFiAu+66CzNmzDiqumNQrVaxaNEi3Hnnnejs7HTu37NkEdBsYkp3F44MjuK666/H6199OgBg+8EjwPOPo7NSQUelhOpIHW+47TacM3sKPr/hJ8DQYF7ukksvQ89N5wDINCfNpzJBavrUyRg4OIzXXncd3nTxGfhR/3Jg3+683IKF56Cn59K8P194Oat3+pTJONQ/jIsuvgQ9rz8PLy1aD2zflJebPed09PRcl5f78aEVwL6+/P7ZCxaip+ey/P4/73gGGDiIrkkdqI3UceFFl6DnDUW906dNQf+BI5g5axZ6em7Iyz347ZXAnl2YNWMa9u0ZxBlz56Gn55r8/j9sXQIc6s/bvfDCi9Fz2/lY/9AGYNtGTGu9x4xZM9HTU1j0Hv3PVcCeHfn4zJt/Jnp6rkJtxU5g/Qv5+5c7OtHTc3debstjG4EtG/JyU6dNR0/PzViz6xCw4qm8HwBw+5vvwOypkwAAlRf7gLUr8vuq3pFaA3j6QQDI791w40249pzTAADrdx8Glj+JyV2TMHqkikYTeNPtb8YZ07vwP5csAtDEjCmTcbh/GNdccy3uvGwuqtUqfvxAIUirel93w4244bzZ+Le+pUD/fkyd3IUjh0dx3gUXoOfOC/PnP732CWB4KC932RVXoOf6Bfn9P1r6IFBv5C5wr7vxJlx3zmn47r7ngQN783LnnHceet56cV7uoysfBaqjmDalG4MDI7jyNVeh55qz8J+tcldd9RqsWboNWwf7cfVrr8Udl8519ovCHz77INBo5PNw1dXX4K1XzAcA7BoYBp5bjI5yCd2TOjBypIbXv+GNuOCM7KR55pX9wItLjbm6+y1vQWelXNTbmv+rr3kt3nL5PADAvsMjwNLHAADdXZNwZKiKW1//elw0bzq+tPFJYPBwPqaXXHIpem451+jz4HPbgQ0v5s9M6p6Mnp434OBQFXj2EWOubr71Vlx2ZkafVm7rB15YYvT3jrvuwrSuDvzfFY8A1Wp+76qrrkbPa84EABwargHPPGzUe9PNt+A1Z8/M96O6/upXX4Se2y/I+/pnqx4DRkfy+695zVXoufqsfA6vv+5a/MO65ahUOtDTc3dO52bNmg30F/Wed8EF6LnjQmx/YhOweX0+X1OmTkNPzy15e099fzXQty0vp/ZjdfkOYP0qzJo+DXuHB4FS2diPCn+xejEwMpzP26WXX4Ge1xVr9v1PP5DN26ROHB6p4fobbsTrzs08Aaas2wO8tAynzZqJvuFDqDWauO322zF/Rjc+u+4J4EixF+x6Ofr9vf3LgAN78usLzzkXPT2X5OUo+j176iRgbaacOu+CC4EtGzFr5gzceMOF+Mqa5zF1+gz09NxknAvdXRUMDRaaxsuvuBI9154NALhvwKLJCzOaPPR8tg7V9a7WOgxh2ZaDwKpnjHV41913o7uzgg8vexio1fJ7+r7R17ea/xtvuhnXLJyFr2x+Chg8lO8JdS4o/EmrXnU+XNlah0/c+yLQt71YL/Pmo6fn6rwct74V/VbX7XPhiXtfBHZvz8+b2XPOQE/PtcGxeWF7P7BySf773HNN2kfhr9Y+Dgwfyd9d0dklP1gN7Cr2wlzr3b695zng4L78/rnnn4+euy9y6qXod73RBJ7OzgbVrjoX/qNV7zkLz8bz+3bkZ5uCoglqLuxz4X89swiom3vhDReejh8cWAbs1/eCyXN88eUngaHD+f2LL70MPTefgzUPrge2bcr7edrsOejpuT4v98C3VgJ7d+X3X7VgAXp6Lg+ub1Vvzsu06n2eWN93ttY3ANRX7gTWvYDpUyej/+AwSuUKenruDtJvtW8md0/CkdZeVfvGpt+vCdDvG2/K6LfiexS9O/+CV6Pnjlfn7/ixFx4FRkcd+v3od14A9uzMx+zMs16Fnp4r83Lf2PUs0H8gL6fqzfmeVnvTpptrg6PfXWt2A2uWF3xPa8xORShvrhi0Jdj83u/9Hn74wx9i8eLFOPvss/Pr8+fPx+joKA4ePGhYbfr6+jB//nyyrq6uLnR1dTnXOzs7SUHjeIFqr9ks4gxU4GqpXMmfK5ezTVApl/IvfZdb95WRMg94LZXzclXNVUilblT1NlsaA1WuWSoZ/VJuUV2tzazqbZbMcvUmjHJOvTDvKz/aro4KBkfqKJXLZH8abL0V5j4zDqWyv16tP/r9UitQV71/o9k05y2vt0XsWvdL5ex3p+bOUqoUc6nuF/3JytWahX88tQZUuUrrexaNehPlSgc6Ojpyf9nuSa25KhdrQHeBteutW+/urAFYa1JbW4Dm4lbJXODYtYWStQZa/bXXVqvcpI4OTKqoPpW9+9NOTWrsm0qtNRwlVFrzWfbMRXa/A52dlaLeTlVvWatXC+iuqDHtYMbU7X++tjrMtVWqmC4HWd87iv5WuP52FvuVWDsVzbKe32+Ng10O1hqw6RK0egFgUmdLA2/tK5Yuleh310bHKJfTj9ZcTdJS0FLrIv9qupo3bfx1d8+ujjIOj5jjhFJWpqNSztxOGs1ifO3xs+rl6LdLl+w95o5TrVlYXkZbD3RWyujO93T27sa5UDbz8zTg0gC7DyWLNtaduWDA7psOYh3q+0Zf35W8rs7OzjxuodjHZf86LDHnBphzzB5/692bTbOcfd7Y51hobPJ6rPmm0LBoRvFuVh9h99F6t8C762u2UdPPG5o36G7tbXtdqLnoJvaYft9eA0Gew3qfkjMO9NkPhzeg17dTzr7fGj/+XOjI3wco1nCtkUq/KwCqRr3t0u98DeRnaWD953yjtb6tcs2mOVfOvukMzYVJv+0xtfnGUwkp/UrKitZsNvF7v/d7+O53v4uHH34Y5513nnH/2muvRWdnJx566KH82tq1a7FlyxbcdNNNKU2dEtCZzzwTiRasqPwodUaKC/SjAtLM+w26HPEBSKDwpcwzlFjZYrgsP0V71ruq+633sLO06cRCRyigkctiY39szM1MAvJ97BgLLihvkkY09ef0L4VTyQPs99B9/31zqQQbVUZ/posYO3JtcWvHTqxQD4x5q8+KyMWsSb1enaECihTC5TLyrGhVe8IsuOtNGzMtSUE+ZsS3ashgcU8Wrhoxx7Hv7uuzHgRLZYXL1yTVX8/+0IN0OwNrgMvqZO8r9VSeFc1K+MyNg72muIxH3Njo795sumNbzwUBd95oeqjfL7Id5fNqZfXpJMZJH7JOay/Z7xOT7VFPHqC+aVMpl3Iff3uNVkqFwktBj3+zs1y5NJemjRyofWPTMR8NK5f4LJR2H902E2kNM/6p8xKbxelokgfY7173jKX+XDvvQO0FO1i/i2vXPsO1+7ryoDO43gJ7wQo8D51DNo1qZ+9R9el90d/HHh819/YZbbenKz3t5ChUX/U6OPqd07sgPY0bG24fO+diJP2OORfHIpIsNu9973vxjW98A9/73vcwffr0PG5m5syZmDx5MmbOnIn3vOc9uOeeezB79mzMmDEDv//7v4+bbrppTGZEIw9cIntTRf+WQZNZMJ4sNNk1BMsBevIAi+gFiIy9QZ2sR2pjdATeI0CEuG+w2O9jExPuuwcccee+p+ISW1OQyhmRRtMgTHa5IttcUbdvLnUmptEwx7+70x1zffQ5YmMLGHmbnrSfRrKDgLBtr5GqEogsQaxgfErFuvNkI2qQ61sbM4Lxo7IN2geY/j0Cav71uXD2oxozz3d4Gva4W8yWbpml+ttRLqFUUn7y9JjrY6PWX4liKJl9k7fpKAxg9Evx07aMwa0d5zqTHp4tVykY+HqjmQuAxTWTblHrgaofoMffYa4IOmLQWes7O9x+t8vq46+ne1Yf6OwghehW1iyNkbLfRf87xDDGpjS2y+nvpScq0fuqt6szfu78MuswQKe5/cat79R5ifkeDdl+gmDTZZ1tdc9Yku8QGDNOyO+y3tHuT/iM9+8FO5NitGCj6GLdnGPuuz/2N4faHR97DQMmnXLrbVlt9fOGSDdvCyH6uziKUmLfkPTb5lOC9NS6zo2pOttZQYpZkwmCTbPZRMlSyIw1JAk2X/rSlwAAt912m3H9a1/7Gn7t134NAPCZz3wG5XIZb3/72zEyMoK7774bf/M3f3NMOnuioS8OasHkB26plAew2WkyqYVtHOS5gNKgyzkLtFWOtWTQG6Jm12szPBYR4ogpR8RzYsto9BxBzOmP3d+G0Z9Yhs/WWtkfaDSYU41fKDTKtgZR08oQmrA8jaqmua01GsYz1Njow2jPdaww6WPuqfKhNeLMdWtQ9BTCnREWG2p9Uxr4sqFBow4a8wALMcDGHOcHTUsT5ggCLmMT0mqVS9ocExYmtbZqmgsUt/6BYv3pB67NNHAHY6GhM5lfNUSqPkewYdaOfaBy+yq0j1VZ+2DxKWwM5YFnTXdUSqhUrHllGGu7Do4p4+gstVeG64XFRgk2FWINq63RERBsuLkI9Y1D8c2xsnONU4jp7Rn7hlFsceeKy/z79xu3vt11ZingAsw9B+7c8oGzSDScvRd35tn1xtJvTnnpjKlnzGueeu254CwoDs0IKFNdy5ZJiwslGT3Hzr7ILbcmreHeX5XN02+XkZ/9tIdA4a5ojznFpxhKzdwLhFn/jHLSpt9haxaj2A7ttwT63Wi2sj2OYSQJNpSLgY3u7m588YtfxBe/+MW2O3WqIIWRUpuNJez6hqi79cYeCJwmLLSRwpowvyWIsx44gkRA+8JufKc/IO/bDFizmV0rW4TFsdgYc+Waa20irOoytDKEQKB/GEv/uJ0+x3rcQl5Oe91kbadnrn0HWLRQaB/kigHX1nnVw1CQDKUx1tn/HYSGWP/bZpZ9Wke9DdMVDcZznICeXaOFaVW2g107qt0yKuXWN4BsSxE5V4U7k4rF4JiGkKZc/VY0usK6ooEsF3RHYbSsNpMGmIJKfq1VHbWmQ+6eBeNdLiw2loaz07Me9Pvs+Ab2WE1jkIAi1WtHpdgTjiBMCTYeVzSub5G8e0GLWt/WqTeaaDSbTsp6/Vm9PVPANukmJUjoddjKG0dJEmnJt+m3/e4h2sjBoXUR37+xz7bovRIpDIa8OViFV0AAoca84dkLzt6O2AvZ/0V6abvvWb0g74fWN0fbcjqsre86sR71tPC11h4AMoHIFtz1v3WLO8enUIoJnX47Z21A0czxN7a1rmgTRrmGfc6wlh6aftvvp67ZdGusoRx+ZOIixEjpDJ9SIjibl3KRIImMeS+kOWUPQ8ZVyCWKfk1YvvAtc3MMA2Dct9/HsqCELEGu1obYiKRZ2Wwv97Mt6T7xup8tjH6qeg2teslsQ+9P2WDSC7cu/R1Z//+QUBwQbikmRb/PHYz2oaCK2mtA/4hXh/b9CA7U4UwdCPqYNYhDuKNcgqKvDe2AAuj1pvtS23EPPmai6BfIZ/Q5LlPWvlyggqG504PXybnS6Idado6mPGBds9081FPKlcB+Tc4y42oQm/5y1pqi/NN1+GI8SHdPYr0YMVlsrB7NJLIHOkNnKfo9XKUsNmWH9uuaXJs/0D9s67jyMH2zaTWHfF9pLp6ZcFM8Q71vnVjfnGu0vgcNJYr1DtHMP+MhEO3CFivYMPXElAkp11hX4dCZ6XGfLJfgKH3yM7OTrtcRNAirhP4+OX1naAn3PsVcmfW578nEg8TOsbMvsvv2+i7e3+Qp1H1qTA36nVt0XFfXdum3LzbHuG+Nechiw9LhQFwXW84aayDOmnmqQwQbDyhioAsMxdfq3Y0W4yJhBmvGJg+gF6jtapOcPKAJ6z7zHlx/ov1zTYaEY6SCwW4Vk3jx5UwTry2A5HVY76HqzeeYsS4YAlOpYLp0bQ71jupPSij2MYHGGBBry3CB62TGLuCqoLLq2Nqn2BgbytJJHd4642fuK3euao0mzUgR70Dtx5CwmF2jxz0YfFov3id3dbAZSooONN1y9Trd3+jkAdq6AsJ0oGG9I9deOPjUjLGx0bAUB+bac909KSukPv65i6kVMMy5onEWhWi3nmYTwzVdsNETGtDMgm7hpPoUmzwgUq4xxkmnKbEJUMx4IcY1hohpMO6r9WQr2iJpWHIge5uCTUxsDtfHsOIJ3vv+gHQ1F2XHOmyffbo7MGWV4yxB9l7gzkxuHIr+tHdOBeeYYdJVe9SZSbWn+qqfxfoZrT8DZO5XukIsFCuaW9yN+FrrHTlPFoZ++xQJepsOHWaEwaJciH6XnWfHMkSw8YDSPFPmXWUa1cv4NIJ1jXiVy4yGjNMGcUQmoCVygtKYekMuG86GibXoWO/DaRCc/tquCoQAQmn7uY3Puj+pL/paApOif0Y5woxtZ1tThw6X+UuR1QrBGOUHVKxGy3gPjRjbWnnP2tIJva3xK7KCFTE2oz6LDeFqSTL0hAun3k97roJJCahy3LsTxJtzPdHXTgchMBjB11rWL0MxQmpnWwdjheiv56DSrWu2JTR3RWstY/stOYbTFySr/+bd9MrOszo4Vwj9XrnEZU0j9pJtsfFov43g3kh66VpNmnkmNAC5kEPH2GiMlGWy0S25jjaY1aDHMRoNYl/pNIx7X3392ueR79yg3F45hRjrGmO/e+K8xI4NJ7jGlLHXFkcninKWSyvHZHrWLBUnWJxtZgY6+29fnBrgum0mj3m+zq32OF7FphkhHidgIaLOTKo9AEZsZqVczj0ObHoKtFzVmARApJeDqrfi0gBfIgcf/XboDpMVlx3TkDAd8OKgyo5FiGDjAZX1zCRC2f+GbzJjiiTNzWXwWX4CDIYdAB5a2DZjEdKg2QcUm4kl2WJjXu/s4Ig/kzzACvK321R/dzGmWsPcbBzuMPqp+mRo1QmByNSSFnOpCBKVNQnQNOslym3K0srYbjKMy5T9tx2Y6MwVYSWh6lW39LTm0RabwOFtv7veTzsLmf5Mnl5d64ZRLhDMuXnfID72w9XYcfBIUd7es81MUMiDT0su46eXs/tLabSpWCMq+DQmi5XZ1+yausO5ojkaQYt+qH0TtBA1zXfQs6DZ61V3yfNmszNcoeg9ZluiOEWP/gwd3AuzHMcIaOM0XCsmfcSw2FhzZ6xDo1pvWnNH+6pdj4lvzcdJs4TqNIx73/w8KhXvUuMsNoSlEuBT7HIWG259++YTCJ83HJz5jRhPzuJwNFnPyHcglDrmXvD3x/67ixJ8Wm2YGby4/prjwGfUMs8pPhV42vrmlJr6Wayvb/sdOzXrsR4bVynDGVO9XLlsKkCOhn67Hilue3q9MfTMdz/kAcPRb18mxbGMtj7QOVGgH6gFwdeJCR/8G+OK1lEuFxreupkxJOQS4mbvStsQIZ992/wb7bIRFGwskysTQ8C5rthJDuw2QxuftbxQOfLrTUurTmtfVL26G0fuUlApO9qcrG245VRfI79T41tbhiaZcznQ359IdmAzG+VyCZ2EK5YN2nWLWv+00EdladID8s3DuegHxQDbga7q3R98aTcAYFp3B953x0Xk+Kh+kckDQu3WLdc5D0MZ01/OxcpmKvQMdgpNgnEKuYeEmTVTWKYCbxX0nyHBhqKzlCWOzT5JMHtU9r1UulZrWDE2HotNIQgXiqu8Xo3D4ZRN9lgDiMpUpCcP0L+rRllQQ5ZOPt6vaI9i0Nz16+5v877/3Z1yDm2MjD+yFWcRyQM4d6GQe3bwHSIElApBa3KlnWcOuXapOWbd360xZd2Ymnx7VL2x65sb39xyq61vylshi81sotEsGQomw72PsJyairZGcExN/s+mL9kztnLRrsN1Q01z77PP6FCmPmctqzHT+ClxRRvn0OMnyCBnKnisYTIY/lgA3WIDuhxnprUYEMecnJo8INd2mP0tyrlaIP25oKXINrnm7+EKGdR7OuZvxqef2/jUXFLJA9xMXCjKKS0Rwzzp2vwiNSXdnqrBDNhVB4Z5gOlrh/pODWcNsd2mfO5/OjGzhWYzeUB2r+phDHTNse+7L+aYafuK0bTTh3PRLiVQFfOfPaMHlgLA4Eit6Jc17updqOQBRruUpahJu6KFBBs7UNY3x0a9ymLTulUxBJuir85+ZCzFrEWXcZ3QrVWcUkWvnxwHQvOp98XIimYpLDiXDyDAsLeZPEC32DhrTWOkfOmeY5MHZOXCDLxuedFpCmVB5ZIHcIJjF8H0mt9hMtepz+KY/Tb7027ygNj4o1SLDZVMJcY9z+gj8Q7NpuuGRCV/6SDcAn2WjhSrXNht3hwL7n3UWgh9b437Hg/n/hSTPKCIlXHLlUulnLGtaedGuQzS4l7QsLJxrgRd0Qz+z6YvtteF255Rbz6P2XU20xyzP6ItPRb91tcbF5c5FiGCjQdFIB/9/YqY5AH0F7Fb9VZcDYJTjvmwk/MRQesL3NzC7mQOhPwAY+IyuEwsOfEKBIl2Wgejs9Gs9+S1RAXToHg36pB2kitoxI1kiikzdyMteUARON7QNCGM1UIxoIRQzFnP7LaptUVqt5k1SR18nZWSE+egj01nLth4Ymx0ZtfzpXldWKS0lram3TicCYGJVBjk7+7GUGXvofXLYjRV/aHkAYarWsntL8DMVZMoZ2knfeX0+3nygNZ1PWZd31kuHaDXnG15cdeOuY9NNz2eiaSYIJ/lSr9PxVzlTCKpUdX3NGPpCWjVdXo6ormi6VnRbPctSlDI6yWC721ab/cNiGPgzXEsrulrtSP3EGDGt2QzaDRDpPdJt2Q6FptAHIq9vkPzYp9TqRnjuN/O85QwaM0vtTeBYlx8dJYrX3xzhbfY2BZlAOG4Rs8e485ou6zNW4SEUFtw59qzy9br9PjqyQPsM1P/W8+mmXld0Ge0MzYlGAqBBjFXJn0p+D9HOWnxaWxWXIee+vcNd4arfdnF8Hcc/S7OTDPxzViHCDYe6AcUFTTMJQ8gtTI6A+bx2Y8NrCuYT7Mv1AGkv0t0UgKG4WGJV6yGoWn2l/tAJ2cJIuMZCPcIO06CzGVPHCiVCh14G5M8QM/YRGW3MS0vyMtx38Eg47OIA5fUbvs+GkYGAheHhs2gqupLWvKAmHTP+hylJA+gNO36XLCxOQ1ijpv0dzwU9CQIlCuaLqBQmjn9fTrKpYJxtAUbYg0YrhXW2vLNlZFEwd7vrVtBVzTGldVgNog2ueQB+lzbCj9jHCrUOPjHV9+b+nqgmU+3Xop+p2rV640mRnSLjfqOjbYWFa0p1rc5D0Bc8gBSox2hRaX2VRQNIwSxnJl0rASuxca0ArQYNGu/hTTIMfNilGPOGw4cgxjzvOPWbPfdqdtiTgnlC1eettiYZ19XxaRPdr3kN52oczN1zC0lZGguuFik0Po+2uQBWRytGh8zQymZPMA4w4trxph6PAt0+l14ObTKUYo9KsFPbgFvXQ+NKUOH8/Y4foqx9BgWGxFsxjeo5AHmRsr+1wm77YJCmRQN8x9DZChJX9dQ2r6btobA0bpY9bpaJppIhWJoYpMH2O+TLhCZ/TG+Ak8wC3YMjkn0iLnULTaaNkjXqlMbn2LKMhe2gmm1P96VjRu09mhrH6V506fVq/2mMrXYa4D4pobph2weqPqB4v1AZz5mIMdMr8+XtrNs7Q8jvWarHGkBsYg0xaQoVDUtPBdIaWj8KGsfwzSYByY1V3DqLQLQs3sU/aBid2yXVN1SoE+VvQac5CMB95AuTWGgP0O5uFD9Jb9rlPe5XOwVw6JQCBH62vQxn/q70kwijPfhtOr6/WE9K5qy2GhMTd6vurte8rEgLCV2HyiXSNuiTUFfp/m+0gQtYz8xtE9fh8Z3mDwuNZRraEjzzK1vZ0xsBi1w3nCw3WtC7jbk2mLmxxXaYN4nzn6uvH6+uVaw7P/Jkyr588ol0pgLQplEucty35RrELSN6m9IsGFjZaj1TZwPTnvUGU2cfcb3zwxFA+1KbI65phA4CvqtziofvdPHhnVhC/FTFl+kx9gYCi2GfucZTxmPlLEKEWw8MIOYW9eMA1DTcmvEJHSQG8HGuQa8afwfuyHsDzuFgsfsbGp23dzXjguBiAksDPiqF+/TIK+HgpXt4GhdS2JYbKxyqk+FJUPzs23Sc6kLPtwc2+2ZB0Yjd3GytfjFuEBrzxyrQqirOGNDfvOD6g/BaDprhDhQKXcrM8YmbLEpgpjpxAmUqxnFuFcM4VU7aDSrGh2LAaOc3rZKjKBQJSw2nZZG1LDKlYo5dt6nZLqsmtYzOO+pC3D22rIPRurgL2uuE2p/qKcMiw3cMQolH+H6au9jk2mAcc3ur14/aZEpw9kLet9sS53BfBIurbpbj83s+caXo9/6d2x0N2VdeHHWiyXYUMIiR3NDHz21QWnlbUGrTOxHiobZrpRFQhFXiVS2aF/2f/ZMKAFK6N0dZplxbwqBc5GOeV7RYTsJC/dNLzvBTWhtmftMU4hZSk/1/+RJFXS3XMP7j1Szcrq1jrCKUpZ8x7WOcO8jLUEWzVBrw+YNGtZ97/om+tpp7WmVYMn01iDoaamUu6k7Lsxll37rSTcMhUCAfutu6jb9tmPMyBhTgn7bY8qGFNhxsAT91pc4N8fGmamN2ViHCDYemEHMLiNlmEY15pVKE8hq+UPpnokNQdWbmnbZPWjo8na5RhNMakY6uYBbb1x/XA2D2R8jrokYI1sbVGjVucwoaN23LS/ZdTaDFynY6NojmrlXLevaINsHWcU1GX752tkRm6nFtryEsubY76lrfBVDEZM8QNc6Uuu4Q9eEGUKf25fMcpLd12MmKHepiuX+R+1HhWrdLd+pCWQNTTCitJ1Gfyvm+5qxOYExt1wkfMHXpJtjq5zamzo/rZ+Nbkprk350WQoBu6920DYVf8QpTQBGUGsW70NZN7m1SdZLuZiUXGbPcfkgypnva37HRkG3Yqp+UWOioAvSdvZDWxPeUdEZtHAsCa1kKcaJysAYU87oIzMvtoubrXlms14GzhvX0mOeN7FuM1wW0Jjn8/jSfG/yZ3ToHSgh3xzT7H9fLEylVMKsyZMAaIKNkRHML7yy384jrHLUXrA9ALhEDs7Z71nfFD1wM5vyY6P/3VEuQamvalqMjRkyUPST5CkatgsyNZfI27Ppty+pic4bsAl+Ivk4bt9wbTr0W6O9eaa5CCXKqQ4RbDwwF3brGmHe0xktJxuSx4RPMQNeoqgTmcSsGNR3Gcj7XPIAbsNYG1jX5FPBvQ2LSOnBylQsgK2ZKMYOdJwF4U5UN5hTOjMKmdmqYbqwlS0ipI9bxSKK+Qc6K7RApP6kAiHrzFzYf1M58n0BvT5iW9M0hZzbTlljEOOSB8CwYBTvro+Z+165iyejoS9rY0YqDDRNmG6tA0xXKwBGQDgXSElmWyM1cFY2Kop+EHuHDD51Dveiz8U4uHtAX1cKOingUrSSB2PMN1cId1yO9pQ110TSFaQMRjOqxrFszCtpCeKYuZACiShnvG8ThsVGIXNzK34brl/aOrLfRe+LrfQx90dhlX5k7W688VOP4JlN+51+2O8bpGEEzXQEG2LfUOu3QrivhgQUbn1z7qD2O3IKMQ4hl2rueQDJ76Z+hpSTFP023W1p3qBcLmHm5E4AhWCjWw+omE49PtEWbtP3QnbNtZ7RFhs2Lo9JAsONb0iJknsW6NbjhmV5oZShGs2kzptU+m24cHrinSj67XjABPYNFyfFtcnRfeoMGssQwcYDXVNLB6u5zKuuIQD0BUpk4fBoZUIpednc8Lm5mH6X4Nd+GX9i27Ur/7tubzS3Tr1dO8NJvIbBfE/qMKXeU903NBNUOcPtsOgrpS3mAuEppoD6Wno2TiWnvQYz5pQAUi7pgYlEQC9hsbGzftFWlLLznqbm27Ui2aDGmnMtoi0Z/piKDmuOQu9AMcAKhgadmDP3gGtdZ8rpltvQe+ouEPp7Ugej4TpBjK/N4HGuaHa9Nv3g3J+4cgVTXHwU1D4YKQsT6QqiWWxoDSc9vlm/eQ1upewqF5QCJpR5UB9/Pd2zQkaHTGGQ0hArmOvNbSPrW6vfFVNY/PWvPYvN+4bwu//6vNMP9Yx63xQaZtA+jfEjmVqynKvA8ClnfOubot/U3LSbPMD+cDMHymrMKp6c9R5eWxz9plII23u0o1zCzCmZYHPwyKjTX8rd0EgOY7nT2mNO7SH9Pucl0miayklOmKTWN9Uml9mUi3kxXFY1hZlBvysU/daESc3FjdpPIf4v4zXyRxxXer0O8qwNrG+HDjOJHPQ6yXL2mmIUsGMVIth4cCySB/hSPlLfx/ExtVQ2JCcug4mF8bmqmUkJOCJexCZQWgtKa0MdjJxlKisbsRF1KxmxEUkGrWFp+4m5NN0OtXK69pXQEpFMb7NZxNhUynR7rf/tQPhQClsjM1jOhKC4rx1wjmDjWNeKglVCsHO0OmVEfaBT18AXbhEuI8tqwnSLjc5oGXNBlGsW7VKuZIBrsaEEG05INfzTtTHX15aRLlQ/GAlNIRWbwx2MlPCuW0BUsLeCqg8oLDbNZozCgI57YjWF+tgQWQrN8QG5Zs33Mctk9ymmrBBYyyXzi+EKBv1mLFs+VxHApN+6dU9BD1RW76JrQb0xNkygMBXMb1rP6L1nrlPkdVG0j7TYaBbZuq2gIywkFINmB3rTngdFn2Msh1QGQk5Bx4Fzb+JgxAHa3hGBupz4CmIfcfRbt5w7FhuN/rkWG1WvOxf6+1PutBxNsP+210AoLo/jObhkFXab9vhSZ3SNKGd/soGmw3kx8G7ofvptfFeHOC8Av9eFTb/196H2DZXMw5tpLoF++5K/jEWIYOMBlTyAOph0IqUfbKWSa8YGaOKWS96WVp07cDtsYmst7EaT0Z54XArM8k2jX7wAkv0fygBjCz55rv9I06mdvSkLNObN2B0VzhxdfOODdCeyBJ/Y5AF2AK0R62IliMj6DKc9O8UknRFLWWzcQMhqvZHHAVBWRnsNsHEvJRjP530tFd+xGfVZbLQDpsM6RPV6ueQBhgat7O6rijVm9jvojKxTzqtBJw5/XaAy1obrwmb3V0/rntMPQnOnv0+tYX53hP4wHEE/NIE4a7P4u2n9b9SbM6Io3oFU4phrR1k8jLEhGCrAZkh4RqZS9rdtWxx0SxAlAJCWiHwvmFp1ah3p9PtIteGksVZ1l0q0ZVFfh3af9HY4t2KOoTptyiS3IwBNw6zveNDa/KIc58JpxzrqfTIEVvUOniB/3/qmGDTKuqT602y6btUUnID0QMiSkXLeCQy35s1OHuAo+4jzgglkp5QodkB6pVzCrJZgc3CoJdgQ1jNyLxhr1UweQCknKauofRbbHzS2/7YTD3F0zy5nf1OLSgZCJ48pzn49iQubPCDgdaHTbypdv71P9T1CJWvi6Lc+NlT2Wn2Zc5Zzg5+KoN+miz6cNscqOk52B05lUMkDKM1ypWwGp+rBml7GrWwGGwN+bVCx0VzNJuUy1miiiGHwaAJMzZyZASbs80xrHQHadU7RkyIrTnHw+zQMtpaI+uaCXociUo1609K+FK4jFFHs0AQRPXmAMVcM06VrwsolRWjogF1Vhe1W5Yuj0sePcpd6618/jg27D+f9deIKPGvAFMRolwN9nfuyohkHDHWQGGPGC9r2mFMaeHruzeQBOrPQoa03wBTQQhYbKq2t8T66lrWpuz/SrhN6ezr9CCWIoGIbGtaBqsd2FAkC+HrNj9+VgDoj2Fgup4aWlFD+ABbjnM8bIRjqrmi6UoZwXTFjR0CWM+i3/dFZS6tOuZfq8z00UgMFNf7lcgloWLSGiLGpGgyV2Qc7rtFwndH6N6vlhmSDXKfNJr2fGKWG4VJjnDeucoa02DDnERXvYby7LdhEWgFUW2WY42zDpX1+yUZXVth0nwuKB2itOiek07yBy/TnMS2ai66y2Ayo5AHUXBBCqEmTzTYpd3Iq5bFjsQkpJy1hMrS+uTmm9iVpsSnTSk0ueYAhMLF0nxJSkbfHWTrJj7BS55TN/3kULvrY5GtS+yC43Y5e1qHfxlnitjlWIRYbD0xtfOsaRSyYoGEzc5deb/Y/5SLhJYr5xnZ90e0sPwDt/hNMSmAHCBLEK7RhlKWIzABjaYi7DIEJ2t/04WEyxTxRNDRedeujeQGiaPjZUkw6xZxa/rlKkzaju5Nk3lUVdiA8JQxSa8AkwkDfwHAu1GT9LTtppmMytejMj60NKpf4FKc6GkRdRhYazaWCSu/L7Q9dA+8TMu3kAcYc2owmkTyAdUUrm4IL/T5cOXNs9HJ2lrc6uR+LPpPa2UbTsMhQrmh+wYZ+dwWOflBWAvtg1Pesbz1UyrQr2sEjxV7SNZyUawqZ/pVgEn2MN0W/DzOCjWLM8veq04KEgvHtKCdzWOsdCNeZodGifc5iE0qAQp03djljv2nMMjW3hkUskMyGEhz1++0mD7DfhUPow4fu8613q7hKFN8ZTe0xOnCcZrJJpr9ufmS4XC7lwq06Z+rEmqEUYpS12+emblqQYDxPzYU/HqphlA9Z3u05DiUPMOi3Emw0hY++nyn6rWeUOxr6TcYlkQotN3mAHbNsJGPy8Gkmb+i+Y4h+2+57Yx0i2HhgSOyUi0Td0nKCd30xzc2uxYYL4qWITFlzwyq0fA2jHGAKCo4pvukShOy+rdlsjYHm2uUzcerX9L6HguSyey6TaQd7kjEvxLvYRLNuuKW470HFOxhzqRFF6pA2tdFN9A0MAwDmzehmkg6gVa9J3CitjClIEebvRiNvT6GiuYfU6mbsjm8N6KmOHeZV015WPRpP3aJArX/T/E1ZXqh3NBlZX3yV7TpKCW0Ko1QQaZkWUOzv1NDtuoyhGWvkHjaOIKXVbX+IF7CEd+0w0uUJQ4BTTKP23tz3Q2xapuC68pj7kWOa7WdIxqKurxeX7u3W95KWVtV0PaHWkUa/dQFQE3bJ74URYzE06iYOUHWrZ7N6Gqbm2BZsCGbT+bZE3V1vOw4W+7t7kvktJrtuPcMR58LJJQ+gXOr0mDXTNYanjfa5QM23/u52IHtFGzdf7KV9n4P9wdBQEZ3uO1p1zxlNfWeMXVuEWyspoDTNuLsKEWMTsgRRLsz2t0xCPIfjbkic4T4hVP2m1jdFT+04WWp9c1apUl6uYaxvMkunVq/OU1Culuw5pY25kSo8JCxawoQbC5MXs/g0U8FIueib88/Qb70cQ7/HIkSw8cDUrlDa8+x/W5Mb0n5SwWoxGbFyrQuhoaS1Jy4zpNe7ru8QqvWGdyPqB00HZY4lNGz24aZr+qnsZnZd+nN6f5tNW/sOYoxoBo3LGGSPj/PtFL0c8eEz/fsBugtA38AIAGDujK5iDWjEVP1lZ0YxBBvyoFHldHcTEIKNaeamtKSG9piIR1Djk1uXSqXCtB7xHRuDWGqP61mwyBi0QDAnpYHX/65Y+5VyjVOo1htoNptY33cIR1pZr7isaKnfASEz8XFCuN6e9kyhaIBbrmJqyo/OFc3ti6Hxs+mHZUHlUrfqddtBtvn9nEGmLTZqL82b0eUI66rP9nckjHadeXHHIZQQhBNs1DqjBQLXFU3XwNoWGzvds77edhw8kpcbJZIY6O/QUTHHg5xbRkChlCyGFphgligLauGuxSuDAHd9U9Y9MnlAqsXGKhf6LhAp6Ks4WGYvZP0v6vAlD7Dpt92uTRv1dyyXS5hhJw9g3KnyfjWLtaFbippNf7Iasz/muWm7Ten39LJcumd2jgleRre86OvbVDTrZxjycSEz3HHnRqkYG3IuGM8Cjn6T/VTtWfRbH7/oZEyWxabMuARz9Fvnwyged6xCBBsPTCKUXaPMe/aGoF0Cinr1XPX2dxlyIkNourxfurXK2W3aRGb/4Cju+sxifPL+NcZC7rTaNUyV1IYhXOBitLmkRsxjYVLvGBQaNQsK6Y6hB3IzTBD1rQx7jqn29G9E5Bab6bTFRv2pW98yLXRWeankJogw+mkFYivmT8FOM00JTKZbSeG/7X7MsBiDztYi8H3HxmB28zlyCbQ9R8XYUOV1Bo3WLnHZ1ijBRKFaa2DR6j7c+ZnFeHrjfq28KxTra4NzSSAFsRLo96TWllauRCgEnPElBLysr8Xf6o7+iDd5gEeLqjMpzWYzL2fOpdEVa8+a1/S/aRfbJvYcVoJNNyhh3fi+DcdE6tZbSnlACHH6OhgMxNjo867HZ3AWG921iMtwqa+3nf1hwYbUaDdslz2KmUbeHpWcgbPiUZYp2yKvvqDebLr0hFrfFD2l1kqqYGMzjKHvnfrOGTt5gPFuTf/a4uh33s86/f76O3aUS5jVckc8GGmxITO4NsJ7oWCYC6WDPY+msOSW7epsxe1a5ewsknY5k5exLOeecrZbFZU8gFNk6ImFjpZ+l0u09cRHv9Vzaswo93x9bEjFFDU2LP3Wz1RzHMcyRLDxwGSGCS23tpgKybxhBqJrzKWCoXlgJH3KN9nQPFgaykL7Vxykqj7jEO0wp3z1zoH8OZ2ZtvOj6xYb08Rpmvj1djkXB/0ZQ+iJ0MyZBw7Rn7o+9sUY6poJKnmAwfxW6MPd/w0OkynQXdEo5l41bTNz1Ac2aSbQXFuOxcYQCmhtj35t/1D2PYRZUyY5a9ZcH9m9uA90cocs9Q7umnI0Ydoc0u4W7hzbGnSb0RytN/FPT71iXDM00Jpwy30HJNcUVuj+6nNMaa51a6DxHRSGftTJNcm7oqmYN52ZddO6u254lIunnZykOKRBuofY/fV9p0YX8lV7+w6PoN5oolwC5kydZDDQeqwRaU3W6beWmTC0Fyj6fYT4ho16J/1/TkNc1K3iDIprtj+93r7abzv6i/3NCTaUAB9Dw/TvRulzz2WLKt7Frbc4j1zm1GbeqPVdoyzgxJx2lsv5V+tD1hfA9QAIWmyod7ffrYN4tzqxtsiEC8zepqwLFm9QKRPJAwJzZcwxsTaM/lK0uuIm9jCENIuZ9ilpqfVN7Vs9sZB+hofWRuaGXfAZVHIXzj1Q5w10zwKKfhuCP0m/y87ascuZ9Nv9vlMoQx0p2HjatOk3abHxeGOMFYhg44Fx4BLSrGHCJ0yYXPIAysfU1srQvpnZ/xVC01EwxC7Bp+pV6BsYMRmAEn1AUURBF5j0etXGIMfHdmHRNQyE36sTQGhoH2HUabdpaO01zYQvo5adSpLSSlIEwwhM1ASb+TO7SGKqyJWRmKJRWGzSLFJwLDZm+YbRZ2pt6e4+9qHR1A5N6kOINoLaoyYxZgkm/oquQSO0oVzyANJiU2/gonnTjWsdZdMXu9YgxpxyZbAOeNMylT1LuvJYmjs6jqzoX51akw3TFY0Iscn/p9YWNeaUdr7Lo2goE++oj5Wt2bTfp0NLeKHqUOvyjOld6KiY7jnxyQNAjq/+PqSgpc0LB9UfU5BGq91iLBUU7dcZliKVcusdiPEyXNEYpUKDpA0MDWNoHy04JjDLnmyatlKLWt9U3A4nBFOWfg5u8oDQ83wcLLcX9HfT73OeAZSFk9vb+hiUS3q651GnvxRja6xJQng1+svtBcvaSjLwxDjYStrY5AEVax1TY0cLNnRWNC4uV+d/jPUfoN8k3dctNppnAZvu2aBn+SN0MiaPsM2Nmd0mS79LMBIujHWIYOOBvnEp0yft19ogFxn95fDCF9QmXt5AvpK7sWuUxrXVJBV0ptDXP0wyJ4XZuHCbc5khut7vPL8N+wdHvYTINIF6NAyWxo8TQOxy5bJpYarrc9Uac47JJIkbd9ASlqfDIzUMDGeuK3M1i40Zs4BWe3TyAOo7BtkzxTzrH7/cfciOsbHcqaiAXa0/eoA2l1s/cxt0LZcAMDBcxf2rdmK4WicZF1azFnhHI3mAcXD5GTRKWKQY1dFaA9O7zfS5epIEI0ahZAo87vvwrnPtJA+w5zhvzxjfog/6jJRLpVy4Kfywkb+Hu5f9AjXlGqoLm9yHb7Pfervmu+vPUy62uuVT9U+V0WON/MkDyuT46u8TSh7AQd3X6Sal0FFQH8LVmdmY5AE7D4YtNgYN08bDYNCoc8zY3y4jybk8UgJccR4pwcbUugPwrm+9r/6U7vTe4FAk13FpMf08inasM5zbC3Zfwsy3239qLnTap8oqi83gaB3VesMbI6m3YZ8rFG/AW0Ho859KLkEpU5XLXmzyAPtdqPVNxjqWSjljqyumjDE3vilH8waGMpSiL0TyKFvhElSGEueUPmb6exmKMFUvoUT28VPch8s5uj9WIYKNB/qBS5o+dQFFW0z0YinqNQ4ajZhQWg6KyFB+tFzANWAScdsV7dBILU9lapti9fpJLa9uHq+UMLnlF/qxH71kxO5Q/S0IsavtodJEA9kmpt38XGaxQxPSdC2t7qJGWXq45AEd5RKdc7/hllP+8JM7K5je1UEKA7lgwwSJGpoXxppRBDRSyQPo9wBcMzYA7MoZyC5Ha64eK5X0D3SazMSXHn0Zv/Mvz+PbS7cW8x40/Zvfm6HeUV/LnAk/L0fNccMMOrUZ1Wq9gZGa6WbUYTHKscGuvGBTJoPbQ8kDzDks+meOr+kzrSN/09blZr7meCUFd8Bx35bQ/cWpQzx7T50B4AUJanz7WgL73OmuYKO3nZI8gKKzoeQBHFS7+jcg9O/u2N9Nst07zT7AeAd9PHYNhAWbUPIALv5Cb8/ICKmvQ4Jm1AiLDRcrqpf1re/Y5AEcDeBQuDar77T5hSFdECjasetyXdFiXYlt+q2Qr+mKybzr+6VcQp48AMgSCChXyc5ymUxyQ9FA3Zqnvw/Nc5juvfY9n9KTTQKQSE+p9c2NrVp2o/WGYemg2iMFhmbTyNZI0heGnpLnlC64GXPhuqFTYwYwijDLs8ZQaBLCm/NtIO2MEsFmgoASXNpPHkAzw0ZKR4IYkN/LsMrpzxmL3oqT0evVobSBlHuXSdhsAaSoo1Iq4WM/ewWuWTgLALD1wJDX75cLEAdMpse22ITGVh8jKs7CdlHLy2lMUEryAErDuLO/EBJKjNWiEGxotylTu0TEV5TM99/Vbwo2tuBXpLSEc0AB0LK4dRvMp60pzF3RLMZg24FMmNs1UFgAg6Z/zWJDMVr2O3Lf28jLEQdbvUG71CjUGk0MWxmv7CDTGrU2Qv3VhGnDNY7rr+aSERIyOE26fhyVSpkgChQuaMWac+eFuke16cS8ETTJcUUzBFVzzFTfAUuD26pDd5FU75y3HZgXznVRf4bKdkTRGA5qr+jMhBnEbJbPaTIVi2HRXP29dHCuaMcyeUBmsWkJLpXAutfK6QKR/m562RhlGZU8QBeYKqVSHmA9wgh6OnJXtMh0z9R3X/LvsBB7ITr5AUPbFCgm27AClkv5mTK9O/u+ev+RKtbuOgQAuGDuVNJioycP4FzccoUXyXMUVklXQIXDG7BneMS+Jc94jZ6yyQO0dTWz9amnHQePkN4YpHLSWuft0m/Ss4DiGy36rVtsfJ/PoBTmXF/sOljX/jKcM2EsQwQbD0wGzdW6k8FjVt70gji55mbbEmSYhcsUceKZ+hplFrUOSsDcMArbW/7bhkuHldqybDHg9jtVyiW8/dqz8QdvvhBA9uEwUjtlbVIqP76+sTq1jahn92Jz2WvBp4onsbXnvgBmPaDR1r4UxMSfPECN59yW+4wvK5qT1rNZ9LPQLuXFyDUwqLm+5c81mwahKixdZdLypFzR5muZp3TCB7SEooq7DwDg0HAWxDpSbRhjSWmPKGGZDcrUGSZ9P+ZzD6acawnVmQUdh0csi42mvdKFOy55gK6hp/pLpUrN+u7SDz24nbNKcoxhU+Pvsv2R/Z0LL617NiOa/e+666l2qAxe6r4uZHEWmxBDUiPGN4+x6bdd0QohwLT0+NxoysY65PZ63h+PINzdadLPIsZG2zOEgK3KVQmLjW5BbdrvVXHXa9Biw5wrHA3TY2XM799k93UXVG6c9IyQJrPMM2jU+ibT51uMtGpTeQgcYVJx68i/YxP5gU5frGPh1lPSng/3X//bpm0KpMXK2mcK+kc6V27rBwC85uxZjBW84dRr0lS/K5phsbH4ikq5TAqhClwCIHb/MeujTowNKTSWSzi9K/t7874h09Ljoae2Iq5BvHsoeYD5MXC/x45rkSqeoRQCviQgPoHaR79r2hxSPO5YhQg2HuiaZTLds76ANW0+qZUhmNMOaxFSpsZmU8tqRDARRUAenDb//vGNeGFbf1CwUa5T+gFmpx7VA3sLzVVRh2pT/3CY0V9LCDEJfFbHPz/9ClZsPWj0104HHdRma0yUfhibmons2UfX7sZ3nttm1GFrkWjzbzYn//L0ZizZtD9vT5VTgb7zFTNGubC1/tfdZJZtOYgvP/pya7xpoZgimjta86czXQcGR0lmTg+kHqk18KVHX8aWfUPYN5gFodoxNjozoQvi9gc6D7UEq+FanRRoOQ09pV1iY08ihUwumJPTwB8eqVq/a/lz//HcVjy8Znf+/joDZ78PnzxAox+ta/cu246HXurz9peyeD22bg/+o7VmHcFGs9mUAKjP1KmhzWlE2RUwdBcan2JEZ+bMfeUKRMVzPJPY+8JO3L9qZ9Eva80rV7R8L2laY9PSA6Ne/W/9o3WG5pfps08QntbVYfxW9/V4CSouT5Wr1ZvYsPsw/v7xjQBaKY+13NyNpsWkEBYbzkLBMTfcfirGCXk53YKlM/eqi/sOj+KLj2zAAS2GkmOWAUX7zXXkW98+Idiot1xCV4veDTMZ64yxab0jFSBv48mX9xp7TGe+9X2fxd5mf9sWm2AciDYXpMWmbJ7xOi1RKM7aUazcdhAAcOWrZjp7SH9/O3mAESPqsYKUS8Xe29U/jC88vD6n+XY8kP4egCnc6mcKa2ml1kfDsvS0ri9a3Yfvr9hhjl2phNMzcoHN+4egW6uoMTf5vOz+o2v34LvLtrfac+m3Gj/VXoh+k+eUtR8Niw0h2DQ8c5W7zREeIj76bdJI5O8w1tERfmTiovAFZb6TwEr62X2OWCiN/uTOiiEwcQdqvdFER6VEM4zW4tUZjH9dsgWPrNmN//zdWwBkh2iF0AAqV7Ry2WQQdvUP58Gu3Z3lXEO27cARXHuOpUFrtamytfRrFhvqeyW6m58SQL75zFY8s2l/3t+sbDZOh0Zq2HZgKCzYaGOvDr5DwzUz0UOrr89vOYjntxzEOXOmkGNvM0/6O/z4xT78yb2rivfX+jNczTqh3GcoLVHhUlG4Y20/eATbl2drY+bkTq29vBhp5lbtzZ/RjVf2DQEA9h4eNQPv9QNXOxw/cf8aLF63B0BG9E6b0mnE2KgvnpdKmVCsCG6VsdgMVxvGmHW31syOg8NoNJool0vaO9CuaMa6IVy0uFgBg2HVDqLtLTe5yZMqjGBjWrtmTy1SXv/4xb78OheYSWW5cVzntINvxdaDeN+/L8/LO1msmANs3+ER/NY/Lc1dkfTg00bTTPdcKpXyIBt1WQ0VdcDr+2ryJLXPh5x3VX1Va4rc47bFhslyt2H3Ifzuvz5fjK/OWLfK6B+6zZ4h3EvLJmOhwLkuUnFBjWamrCiVSiT9VpjW1YG9h0fz37nFRvPBN+MZyka5WqOJP/jmMqzeOeD0oXgv5Peo9Tpaoxn5grEDzWjp+0mP2dJoQzH3R4x9o2j0aL2BT/14LQ4OjeZWtEkdxdnQNzBsCF6VcgmTysBwPVtP82d2+xm0yFhRw2ITJdiYyQM45q3eaOJ3/vm53AJeKRc0bO/hUQyOFrRCzU9D09LTZ15RP0cTFLYfzPZcNuYuU9+hEW8l2LywbQADwzVM6ijjonnTcyFHl90MgYtQFpWttebS6qK/Q6N1/OUD64px0OJrtx0YwpVnz3TiaDorJVTrzdYZbo6fPQacK5fhWtq6vmTTfizZtB/nnz7ViE+a0539vWXfIKiEO5S7nW7ZVcosbzmGv4k+pyz6rfjCro7Ck0EvS/Ob9jvw7p16XxX9bjSJOj1C/1iBWGw80JlhX751W7uua7psTcZwtZ5rAu66fB508x/nAkGlSfRbQIqyO/qH8WBLM0yluwU0VzTLyvFvz24BALzuvNmYNWUS7rpsHgDg357Zmr8rkDG9ilgqYntopJa7TJAuB9om1Rntl/cM4sCgzjiUceflWbvffGZrEbBHaCayv4s2L5ybpfFdvaOfDCxX+JenN5NCo2021+f4X5dsNuqoEGObu8/kh7eeGU+VM4nYjO4O/MHtr8Zf/sJVpMXGMEdbQqpyfQOAPYdHjEPDNGOb779k076s/PRuIyao1mji357J1sAbLzoD3Z0VY2z0YPXcYlOtG6b/G86bgxndHdh+8AgWr99jvYMbt6Xfd1wRSCIMplzhOvDN1jvcddl8klFUff/Vm87BX/7CVbj+3NOc7GnF2PH91e+b6XLLhtb3X5421479nlyShG8t3WbEV+iMs/79FCCTadSr2kkgqP2ot6n2+b8/u9V5Vzd2qzU2BsNkjhsngPzL01uM50yrT1bJbicrWlFn0KWl7q4zfXxtelhom136rTCVsdiQ1lGNcZnWXZRTQo16xu4DlUYZAF5/4ekAPOmec8ZOW29R30Uq3vdNl8xFR7mEFVsP4rMPrgcA3HXZPNiG/ue3HMTqHdl7XDRvOq5aMAtnTO/C/sFR3NeywKk6r5ydtf/N/Nyg17feF8rdSD97dYFDKXZ8UOeG7opmJ9sAgI17DhtuvZVSCZfOn4GzT5uMwyM1fG/5juKe7npqxbOaViyNfuvfdrPW7OBIDd9bltV/12XzScu5vhxnTc4CSR5v0dVLz5yBSR2FW5gxx8pV3f52HrE2VJv6//q3wWxUSqXijH7WnGNlXbnj0oJ3oNZ3kJ7WtWB+bX0r/OuSLaTF5sBQNf+IKUe/C88SMHS/3JbLnKmYK+rLx9yi3/k5dfl8lDRXYluwofaxoRBgeEOqr8V3o8rOmTCWIYKNBw1NQ1DOFygjsWuuaL4Pm/1o5U4cHKriVbMm440XzTWTBxDl9DZpEyfy8qrs7kPmN03+6clX8nK6BvKCM6YCKFyZsnaze6O1Ri7AvPOGhQCAd7xuIcol4KmN+7Bh92GDqVGYqWVrOTBULcbH0gboWpmt+4tvNADAipbGKesz8Cs3ngMA+OHKHdg/OFL0NTAnVy2YCQBYub1fC54vGYcDAPS+sAt7DhX1UsH8+hy/vGcQj6/fa9Sha4UV5lopag1f6rwcjDn5+WsX4J67LsaVZ880tDKkO6JFhOdpgs1orUG6UOjjlvelqcqbFqah0Tq+tVStgWwOOjQOR7faKOFgpGa64kyeVMHbrz0bAHJGVjd/JyUPYDR5eTlDg5ZdW7H1IFZs60dnpYRfvO5s0n/4cKvv1yychZ+/9myUSiUcstzTgJYAT1hgQ8GuOv3YPziKH6zcARtGOUJJUa038I1nTIFo4EjN2AP6m2UGG2uetbZs64r+Dr9w3QJMqpSxcls/Vm47aLyr4T7Y0F1ZClcG9js22nweHq7hO89vM56rN4q4sHozW8O6i2TWjmuxCSd1oMe3bO1ZXyIWBdsVTTF7FLOor++pk4pyr5o1Of97tN4w2rBpTv9QsQ5//ZZzszKBD3TablCUQoBKHlAplzB3ejfuvnw+gEzh1VEu4RevX+Aog17c0Y9lWw8CAK46exY6K2W84/oFAIrzJmsTuHVe1sAPV+7AwaFRcn07WulyyaENRiKTUmEliHFFywP+K5XiGsG/rWjFqigcGBpFuVzCL7fOQP3ddBck54wuu9ZA/Tljjlplvr9iBw6N1HDunCm4+YI5phVQGzMFlRlt6eYDAICrzs7OO911W0FXCJIWG47naOpr2R0v1ad3vi47Hxav24PN+waNWCGgOMO/u2x7flZwrqBheloyrNMA8L3l2/OPlVbKJXRXgNlTs/HZtHeQfHeqPfsMBzKBM5g8QOunj//T/9Zpaf+RKu5tCbW/0lprfEyTq9ijkyqZ7dltmt4BJo0c6xBXNA/MwKps0l/Y1o93fXUJAGB93+HsvrZhHl7Th+Utgq8LEvsGR/Cury7Js5f88g0LDUHipZ0DuOdbK1rlTGb3Pf+4FB2VEva3Dnl98R4cGsW7vrrE2CwKkzrKGK01sH73YaccAFx7zml4ec9gkRVNYxAOjdRwaKSGOVMn4S1XZAfdWbMm4/ZL5uHBl/rw3/55KeZMzRhhnRh0VMqY1tWBwyO1or/aZhocreFdX12Suw9QPuTLtqjxy1xqrlkwC5eeOQMv7RzIhSD94Pi7xzfhhyt3tuqv521e+aqZ+ZzddMGc/B2ffWV/3tYl86djza5D2LJ/qHW/2OD/8MSmnHnXmZQNrfG8ZuGsvK8v7z5sCBYAMG96S1BQXw8/eATv+uoSNBpNrO0rsint0yxU6gBV76Dwrq8+g1IJuQBmH0R6ewpqbFdu68cHvrMyb487oObP7DbK7T2ctXXWzG7cfslcAHbAbAOTUEa90czduYarZowNkAlFX/vJK3h4TR9+5e+X4OU9xb5R7/jYuj35vlq1vT9/RzXm31q6LR9H/d3X7TqUl9u4RzvAWvWqtf/WK87EnGldeLn1DIB8nSoNbVdHwfSs2l5o1RWe2bQf587JlAFPvrw3b1dprvX9/t1l23ONsr7vVPa4C+dOy/v21MZ9uHh+Zl1csnF//oxOV0ZqDWzdfwQzujvy/r6wvT+fy837hgy3rlKp+I7N+/99Obo6yti6q9Iav2JtVetNvOurS3KmoFwqYfbUSei5cj7uXb4Df/DNZfm6sN/l/f++HOta9Exnmj/1wFpDeCvWbLGHlPJlwezJ+Z5+ZO3ufJ2t3HYwH1/lIqnGBMh869U+1gWm3YdG8nJqHHXB54Vt/fjAf6wo3kXbY7/+tWdRKZdyVzNbEQQQgo1ak63n/vqh9ehXDJa2vvVy9ndX9DZ+85+eLSzo5RLW9h3K712z4DQAGaNcqzcMJQNgKgzUeHzn+W15XKVOw17efdjdN/l+XYgfvZDR07svn4+507uxebTYN0BmJVEM4xUtOvuO1y3EFx/ZgHV9xXlTKpVwzrSCzv7y3y3Jx0xf38O1Ot711SUG/VZj92c/egmzpnQaAl1msYmPsVFj3ql9V0cXpBVe0JRqAHJ68YvXLcBnFq3L9yxgrud7vrUCUyZVjLiTWPq9a2AY7/rqEry0M5vrd95wjrFmbfqtoJIHKKjzTpXbQ+wFfc2/uKMff/gfK53rQLYXOiol7DtcnOG6ouT6c0/Ds68cyMsunDMFb7joDCxetwfv+aeluUu6qvOm8+fgvNOnYtPeQePzEup9vvDwhlyJVtXiRRR9+/D3XsRW7YzWFYvnnzEVG/cMYmi0eEcAWDh7CvYP9hvrWx1fJP0mlH4A8NzmA3mdm/YO5uXU+tfpBEe/1foGik8z6Gex2vMXzp2G1503u9UfAHXgD765DN2dlYJGa/R7tN5w6Lfqy8fvewmzF09CtW7uG51+K/qil/vHJ1/BotWFCzYA/MXbX2MoZE51iGDjgX5QqODVgeGao62fP7Mrl677BkZyv/D5M7px+vRJKJeyzarKdXeW8QvXZVpsxQwfGq7huZbmZf7MbkyqlDF76iTsHxzFUxv3Ge3Nm9GNOVMnoaNcQq1R1DtlUgXTuztyovN3v3od/vEnm/DI2j15f3Q6fvsl8/CtpdsM0++cqV25PywA/NLrFhoM36/dfC4efKkPL+8ZzIn+fIuhnzm5E4dHavm3F7o6y5g1tTMXtFR/uzrKmDWlE6+/8HQ8vn4vrj3nNDy3+UDuyqA0UqVSCb9+87k5cVdtqnY37D6cCxtAFgty2tRJmD8zy/C1b3A0Z4JmdHfi569bgBXb+nHXZfNw9+Xz8T+/vcIYW8XI6Uyw3p7CH7z5Qnz2wfVYsfUgbr9kLvYOmr7357UsYuobHMPVhrZ2Snl7r12YMSxnzezGq+dOy+uY0pV9B+fQSA1PbLDW3IxuzJ3ehVKpiNe5aN50/M4bL8CXH3sZ/+Wqs3DmzIwQ9R+p5gLYvBnd+fd1Do3U8LpzZ+OZ1tiofs6d3oVyqdBovvPGc3JiqAeCVmtNYJIZozJSbWgm+uzZV8+dls+x/h7zZnbnDN/uQyOOpVEfcyV4qutntubo0Ai1H7tzoVvh3TdnGsNz5kzJr3V3lnF4pEgeoH8U7ZdvWIhvLNmCP3rLJVi57SDuW7UL//X6BfkY7T086rY7oxtDLR98dbgBrTVlrZ3fuPU8PPXyPnx/xQ788usW5vf3DY4aVopZkzvR3VnO3W3+6/ULMHtqFz5x/xq884ai3JFqHc+0Elkoy9u8Gd3YtHcw1+iqNTd/Rjemd3diyqQKhkbr+Xt0lEuYMzVzb/nVm8/Fvct34JV9Q3nc1unTMpozb0YXDu+pafVmbZU0hmqPNZeqXVv4f/dN5+KVfYP4l6e34Ldef35+/+BQNU/MceHc6Xnd82dm77ZrYLj49tLM7pYbJQz6orer1svAcA3Pa3tB0aCDQ1U8+fI+p5yi32ovLNTWjxozAHn9a3YVgoi+vvVyhzRXp1fPnYbOSgmnT5uEvYdH8fTGQukyb3o3/ut1C/DvS7fiT37qUiOgeNQSbBqNZs50z+juzMdRt4br++kwsW9UmZsumJMLIr96U7ZvZk+dlNOaqxfMypV3Z83sxhkthcqrZk3GXZfNx/0v7srbAzLr4a/euBAfuvdFww3PXt+qP4p+z5vZjbV9h/DCdtOKktG9whUtLsYGed3FNVczvbLVlnrHn29Zm0+f1oWfec1Z+M+WG/nsqZPQWS5j/oxuHBo+nJ/d+bvN7I6m3/qanTKpkrepxs+m3wrntZQsQKYEvP7c2fn4lEvZGqHmeL62F3KeY0Y3JnWUcdqUThwYqpI8h6IrAPDFd74Wr/uzhzC5s4KpXdk8/NrN52Dxuj3GWTxPKcvKJbz7pnPwf3+wurg3vaAHa/sOGUJ8xst0Yv6MbmzdfwQrWutN9eXdN5+DP+9dg5977atwzcLT8GEt3nXu9C7sA7DwtClYvrU/FxpmTO7E/NaZyNHvVeVifb7m7JlYua0f777pnHwudHqZl5vZxdLvmZM70dVRxghDl+xz4VdvPregda2YWSVA6uV89Hv+zG6s3jmAF3eYyjkf/Z4/s6CRG/cM5sKgwhEttmwsoNSkHE1PIgYGBjBz5kz09/djxowZx729arWK3t5e9PT0oLPT1ICs6zuE1TsGsGD2FLx24Sw8tXGf8yHEGd2deMNFZ6CETItw8Eih7XvDhWfgtKmT8MK2fmzYU2zaS+bPwKVnZu/WbDbx9Mb92DVQHEA3nDcHZ82ajE17B7F8q7moy6USXn/hGZg9dRJWbe/H+t1FvZefNRMXzZuO3YeGsffQKC47awYODo1i8fq9qDcauP7c2Tj7tCnYtHcQo7UGJndW8IZPPZKXv+CMqXjof96GF3f0Y13fIUzurOBNl8w1BBsg03bo43DdObOxYHZxcPf89eNYvXMAb71iPu5btQu3XzIX//Br12P1jgGs7Ss2mxqHvYdHsKt/GIeGa/ilv3s6v//um87BR952RT5Oj6zdjf4jVZx92hRcf+5sHB6p4bG1ezBaNw+2i+ZNx+VnZdqrn/rc4/kGn9xZwdMfejMmd1awbMsBXHfubJRLWQaUg0dGcdbMybjh/DkYHKnhUa3eyZ0duO3iMzCpUsaTL+/DnsPDmDu9G7e8+nSM1OpYsbUf155zGhrNJh5buweHRqq44IxpeM3Zs/I+LdtyAK/sy4hFvVbH8hUrcON1r8Udl5+Jro4ynt9yABfPn+FohDfsdg/2SrmMN154BmZO6cTyrQexae9hzOjuxBsvOgNNAM9u2o/XnnMaujrKeOrlfXlmqRJKuPH8OZg/sxub9w2i2QTuf3EX/uK+NQCAP3rLJfjvt10AINOYv7znMKZM6sDtl8zNBZpms4nzPtgLAFj6J3fg9Gld2HZgCLd+IltHV509E7ddPBd//dB6/MqNC/Gxn70SQJalbfH6PbmZe3pXJ954cWvfbNiLg0OFUAgAZ0zrxs0XzMFovYFH1+7BkWphVXnjRWdgyqQKntm0P3ejVJjWlY1DpVzC4+v34MDQKF41a0quBQMyTeWM7k784t8+lX9zCAD+5T034NZWHMOh4SrW9R3GteechnqjiaWv7Mc1C09DpVzCExv25i6RCnOmduHWV5+OaqOBx9buyYOMOytlvPGiMzC9uxNLX9mPrQeGMKO7E2+6OLNMPPvKfly9cBY6y2U8sWEv9rXqLZdKuPmC03HG9C6s2TWAl3YOoLsj24/dnRU8v+UAXj13GmZ0d+K5zfsNwe+1C0/DOXOmYtuBoVygV2vu6quvxhsunou507uxdtchrN5ZrK0L507Pte+qbyqBAABcveA0nHf6VGw/eATPbCoYnzNnTsYN583Gf/+X53Om9raLz8Dbrj4rf6ajXMYbLjoDMyd35nth6qQOvPnSeSiXgGdfOYArXzUT3Z3umr3h/Nm5kF6tN7B43R4MDCu3k2IvrNh6EBv3FkwVAHR3VHDbxXOzejX6rdf78p7DecC1gk6/1V6Y0d2JBbOn4K7PLM6f++7v3oxrFp6G/iNVLF63J7cM6Ov7mVf246qzZ+GK//tjw4Xm8790Da479zScOdOl9efMmYrXtup9ec9hvHbhaajWG7jwf98HAFj+p3di1pRJ+fOPrduDd//DM5je3YFnPnQHSqXsmhK0J1UqeOPFZ2BaVwee2bQ/D1JXmDqpA7ddPDcXnnYfGsbOg8O4asGs/JkNuw+hu7OCf35qM/52cZbV7S2Xz8eX33Vt/ow+DtcunI0zZ3Sit7cXb33rW/HExgO5NYta3wqKfu87PIInNux1XGPU+v5f316B/3hum0G3OPzGPz6Lh9fsxv972+X48PdeBACs+sjdBr2t1hu44v/8GCO1Bh75X7fh4NAozj9jWu5efXikhkfX7ka13mD3ApCtrZsumIN5M7qj6beCOsOBjNZy9Fv1V+0FtV4U1JrVwe0FoOA5Nu45bLiCA+ZeWLvrEGZO7sT8md3Ysi/7Vt15pxcC1hPr92LP4aLe1503J9f01xtNPLxmNw6PFP0dGK7isbV7HCvmZWfOxMXzM17myQ378oyPp0/rwi0XnI7RegMrth7MhbmH1+zGoZEqFs6egtecNR29vb1Y33URvvDoxrzOx/7wNpx92hQv/f7Ad1bmGfGWfOjN2HbgCC6aNw3Tuzsdeghk++aNF58RRb91dFYyeqjT7+ldnbj9krm5lWfr/iEs3bzfKFdCCTe/eo6Xfu8fHMXj2lmrEKLfR6p1PLp2j/PBagB486XzMKO707l+IpEiG4hg4xFsxjuGq3Vc8uH7898Xz5uOH7//DUdd7y995Wk8tXFfbiL+pdctwMd/7jXBcoeGq3jNRx7ID/8H3v+GnMi3iw/+58o8aPW/XrcAn/j5cD+ON06lNffkhr345b/PTOSf/sWr8HOvPTtY5tUf6kWt0cTTH3wz5s/sxks7B/DWv34cQLaG3njxGfjK4o347Tecjw/1XHpc+380eMMnHzEEgm//zk35QTnecCLWnNr3APC9995iMMXjBVv3D+H1nyyUQT/4vVtx5dkzPSUKXPS/7zMC/x/7w9twjqZ1D6HZbOL8D/Wi2QSe+dCbjWQhv/X1pVi0ug+/dvO5+L//5fLoOtvBD1fuwO99YxkA4A/vvhjvfdOr2WeP57r78L2r8M9Pb8YfvPlC3HPnRd5nf/UfnsHidXvwibdfiT/6zgsAgBX/5y4jJvTFHf34qc89gendHVjxp3eR8RaCUx9qzY2ceTU+8J+ZJecNF52Br//G64Jlf+bzT+SC6Ct/8VPHtZ+CNKTIBpI8YAKju7NiEPZjRciV7+/mlguLct8JYXp3J85vaX9ed+7soxZqABhWk3feuJB/cILick1Db7sJcVA+8sp3V3etGa7V8w/mKVeRUxWdVmYd3RVNkA7dfWU8CjUAnGxMVJY9DvazkxP3R6lUyl2p9JTKu/qH828i/coJoHGvedWs/O+rNPp6oqFibEZSkgdoe/yXvvI0vvzYy/nvF/KPXM4UoWYcYOHsIibknTfE7QvbsiIYm5CTfILjmoWz8r/1+I6jgRKWlA9zLMMMAHdcNg+lEvA7t51/TPpy66tPR3dnGbe++nRDyBFkmDm5E9e23NZiBUnlllYINkXmpuFqHUMtwWbKpFNdsDHJn+1yKUjDB95yMQDgU6eAVfR4wRZObEHHB/vZrjYEf8WY65afVdv70WhmAfqvnnv0yqAQFsyejEvmT8fc6V155smTgZTv2BQpvIs9v3rnAL6uZTlT1tsLT8AYCo4/Lpo3HbOnTsLF86bjza2kJCF8tOX6/od3X3w8uyY4zpDkARMcX3nXdVi76xBKpexgPBaYaWVr0YMOQ/jDuy7Ge249L9rKE8KC2VPw1B+/Of/wnMDFv/7mDRgcqWHOtLh5UgKBShJgJA+oNfIsRaka6RONSR22YCN6nqPBf3/jBfjF6xbg9Mh1NBbRaaUUTLHY2IJ0O/ujq6OMQ/j/27vb2KjKNg/g/zPvLe20QGmHQkFYERawVUG7fVzjo1SQB33w5QPLNlmCRqO2CQjrs5CNIPsFoglBEh8wMYqfRDGLRgKEhpeyaK1Q6fKiNkBQWOmLijDtlE5nOvd+aM/pOTND7ZnO2znn/0sI7cyZnjPTq3PONdd9X7e25bM8n2t8nus2j0ouSZLw36/8CeGIQH4Gx927dbV7HvhfXl8m3ntXYPDrfA8vi8wg3+NAw2t/HlgrKnohptv418opeGTWhJhJ/WQs/Au2OJfDNuIx4iOlHt4G6KvYOOy2pCU1srFj0nPCNyqP065r2JjcCUqu2KgXtBuo2Ax8n+3JpCu6YuNkYjMakiSZOqkBYqsu8RY8vu1jVdvapNihkCMhx6w6sZEvztVr5aRabhr3dTtDFZuRLNA5tByCTdXmLtDXDyEEJElCd3AgQYpehJWMK5HEW25UQsbFMzklnbwiskxPYkPZT6nYDLYE1w5FiyhD0bK9YsOhaKRXdMzoqdioE5scp11p66pHvKFocqUhuqOi2Xl0VGzUSxqo1yrpjwhlvpL8OjKxITI2JjaUdOqKjV21NgaZg3OY5gEAlJauWT/HhkPRSKfoCo3jdqvdxnusKilKtLGGkthoKjbWrDTkuEa+QGdEWVtLivkdyhUveUhfnju737eIaHg8k1PSqVdELs53s8OMyTiU5gGxFRtgYHFFIPsrNi52RSOdois0uio2qnhLamLTa81Kg8cx8oqN3MjGZpNizkdypUb+gCadQ/qIKPl4JqekU1dsijkMzXTkTzzlTkPRFZvfBxfbzPY5NuphRXbbyCeYknVJkvYTfz1zbNSNBxL924jX7nloKFp2/70lm8c18q5o/SOp2Fh0SB+R2fBMTkmnTmx8OjqikTHEzrHRJjbyRZeREhtWa2ik1JUXu44GAOrqjifBRhXx5th091m9YqOveUD03Ca54sU5NkTmwLM5JZ263TMbB5hP7AKdobjb5Tqz+wKBiQ0lQl150VWxsWubByTCNXgx3xenYmO1C3L5gxN5QeDh9KuaB/hvad+v5Lk13RZ9HYnMhmdzSrp8t0P5dJKJjfk4Y+bYhONu53Fl99uLeh0bdkSjkVJXafTNsUlC84A47Z6tOoRKrnoFw/oSG3W1CxhoviCEQGAwQbLa60hkNtl95UGGJEkSvIOLnBXncyia2cifPN9ujo0sG9a6GI7LPvqhQWQ9Dk3FRkdXNNvomwe4leYBQxfzlu2K5kysYhMtEAwjGI4o24yx2FwlIrPh2ZxSQl4U01fAio3ZyBdzcsXGPzgUzRU1nMuT5cO7tEPReDFDI6MeUqan4WNSu6LFXcfGWjHscQ41DxCDc2huR0ls4qwdFAiGlWFoALuiERlddl95kGGteewu/Mv9Zfin6eMzfSiUZErFpj+CSEQoFwUTVKvOu+y2rO8ypl7Hxs2KDY2QnKA4bLET0Yd9nLorWqLNA4YZima1io2c2ETE0IcstyM3D4hXsekOhodeQ5edyxMQGZy13gkpbZ4oL8UT5aWZPgxKgaE5NhEE+sKQPywtynfj5xu3AGR/RzSAzQMoMXKComd+DaCt9CR3gU5rrr+iHj56K9QfUzFWi/zBUDQ2DiAyD/4VE5EuciXm0i8B/P3YJQADF23qNt/ZvjgnoJ1jw6FoNFLyXBk9HdEGtldXbEaX2AQHh6KF+yNKe/V8j7VO5y67DTZpoGJz/uebOPXT74jcZkianLjEr9j0IxBk4wAis+BfMRHp4hy8ONj11Y/KbePHuDVzanINULHRdkVjxYZGRk7s9VZs1N3U3Emq2MgX5ID1qg2SJMHjtKOnrx+rPm7BL13BP3yMujFA2bgcXL1+CwH1UDSLvYZEZsS/YiLSxRG1KOGiOSWoqZyKT5v/T7kt0aE26aQZisY5NjRC8pAyvXPInLYkrGMTNcemKzjUuMOZ5XPaUiFnMLGRk5onyidqKsdqs0u9mFiQg89rH8RXl36DN8eB/9x7DoFgGF1KYpP971tENDwmNkSkS/QF1H88PgvTJ+Thi/+9ptxmhIoNu6JRIuQhaHorNtp1bBJsHuAYmt8GwPJDqKI/QHnjr3NQlDf8EgMVZYWoKCvEvjMD71fq5gFWfR2JzMR6H/EQ0ahEJzbyIqzqiwwjNA9wsXkAJUCeK6N3jo26eUCiFRt31FC0botXGtQJotMuYVyua8SPlYedBfo4FI3ITHg2JyJd1Bd0+W6HcjGgvsgwQvMAp0PdPIBvhTQy8lBM3XNskrBAZ/Q6NgGLdkSTqV/H4nyPrlbNcnUmEOxnVzQiE+HZnIh0UQ+pKfYODftQD+cyQsVGO8cm+4+XsoMc/6PpipZwYmOPbh5g7SFU6g9Q1O9FIyEngxyKRmQuTGyISBd1m2R5GBqgrdgYYY4Nh6JRIpwJzrHRrmMzujk2wZihaNa8IFcniCX5nmG2jDVUsQmje3CuklUrX0RmwrM5EemirthoExt73K+zlZPtnikBdmUdG30xo/67Ge06NqzYDNAkNnorNoPzknr6+tHVG9LcRkTGxbM5EemibvesGYqmusgwXsUm+4+XsoMzwXVsHMmYY2OPmmPTN1hpsOgFubryVezVV7FRV7k6B9tFWzVBJDITJjZEpItT9Um1eviHuuphiOYBXMeGEuBQ1rFJfI5NonPQois2Vh+KlqOp2OhLbNwOm5Jsdvp7AVj3dSQyE57NiUgX9VwBX0H8oWg5Bhirrn4eHIpGIyUnKPrXsUnCAp0ciqahfs/x6UxsJElSEpn2wcTGqq8jkZnwbE5Eumjn2AwNRfMYuGJjhDlBlB3khHg069gkWiF0R7V77u61eMXGlfgcG2AokekNDbyeVn0dicyEiQ0R6aK+oCtWD0Uz2hwbNg+gBNgT7IpmtyWheYB94HEcijZA/WGK3jk2QOzcJFZsiIyPZ3Mi0kW+mAK0zQPUFxlGqICweQAlwqmsY6Pv9Klt95ykoWh9A3+L+Ra9IPcMfoDicdrg9eh/DaITGSY2RMbHxIaIdPm9p0/5Wp0QeAxWsWG7Z0qEI8GKjZwIOWySZhikHurE5uatEG70yG2KrXlB7hl8/ynxeiBJ+n4fQOzrZtXuckRmYs13QyJKmPxpcTRt84Dsv0BIxpwHsh6HfShB0fe4ge1HU82UE5uuYBj3/NchCDFwu1UvyOX3Gb2Lc8qiKzRWTRCJzCRlZ/N33nkHd9xxBzweDyorK/HNN9+kaldElEbP//N0TCsag3WLZ2luN1q7Zw5Fo0QkXrFJQmKjilkhBo7hzuI83D2pIOGfaWSV08Zhyrhc/PWe0oQev2iOD/luB1x2GxbP9RliCC0RDS8lH098/PHHWLNmDXbu3InKykps27YNixYtQmtrK4qLi1OxSyJKE1+BB0f//c8xtxuvYsOhaKRfwuvYDMabZxTVQVdUnP7P3x5BaWFOwj/P6KZPyMPxvz2S8OOfuncSnrp3UhKPiIgyLSVn861bt+KFF17AypUrMXv2bOzcuRO5ubl4//33U7E7IsoC6gs2I1RsnKzYUALkuLHrbR4wWLEZzd+GOgH/0z+Mt3RSQ0QUT9IrNn19fWhubsb69euV22w2G6qrq9HY2BizfTAYRDAYVL73+/0AgFAohFAolOzDiyHvIx37IgLMG3N2DM29cdlE9j8/IWCTgIgA7FIk+493FMwac5lglwYmtjgkfTFuG3xcjtOW8O9Bigjl62XzJmX975NxR+nGmDMnPb/PpCc2v/76K/r7+1FSUqK5vaSkBD/88EPM9ps3b8amTZtibj906BByc3OTfXi3VV9fn7Z9EQHmjLlHS20IR4AvjxrjuT1WakNXGDh5/DASaKpkOGaMuXRz9gL/WGjD5L6r2L//6ogf1xsG5o61oSLnd+zfvz/h/f+lTEJ3SELkyrfQsfuMYtxRujHmzKWnp2fE22a8Bcj69euxZs0a5Xu/34+ysjIsXLgQXq835fsPhUKor6/HY489BqfTmfL9EZk55v6S6QPQyWjHmygzx1wm/FuCj3smCfs2Uswy7ijdGHPmJI/mGomkJzZFRUWw2+3o6OjQ3N7R0QGfzxezvdvthtvtjrnd6XSmNSjTvT8ixhylG2OOMoFxR+nGmDMXPb/LpDcPcLlcmDdvHg4fPqzcFolEcPjwYVRVVSV7d0RERERERKkZirZmzRqsWLEC8+fPxwMPPIBt27YhEAhg5cqVqdgdERERERFZXEoSm2XLluGXX37Bhg0b0N7ejnvuuQcHDx6MaShARERERESUDClrHlBXV4e6urpU/XgiIiIiIiIFl9smIiIiIiLDY2JDRERERESGx8SGiIiIiIgMj4kNEREREREZHhMbIiIiIiIyPCY2RERERERkeExsiIiIiIjI8JjYEBERERGR4TGxISIiIiIiw3Nk+gCiCSEAAH6/Py37C4VC6Onpgd/vh9PpTMs+ydoYc5RujDnKBMYdpRtjzpzknEDOEYaTdYlNV1cXAKCsrCzDR0JERERERNmgq6sLBQUFw24jiZGkP2kUiURw7do15OfnQ5KklO/P7/ejrKwMV69ehdfrTfn+iBhzlG6MOcoExh2lG2POnIQQ6OrqQmlpKWy24WfRZF3FxmazYfLkyWnfr9fr5R8BpRVjjtKNMUeZwLijdGPMmc8fVWpkbB5ARERERESGx8SGiIiIiIgMz/KJjdvtxsaNG+F2uzN9KGQRjDlKN8YcZQLjjtKNMUdZ1zyAiIiIiIhIL8tXbIiIiIiIyPiY2BARERERkeExsSEiIiIiIsNjYkNERERERIbHxIaIiIiIiAzPlInN8ePH8eSTT6K0tBSSJOGzzz7T3C+EwIYNGzBx4kTk5OSguroaFy5c0Gxz/fp11NTUwOv1orCwEM8//zy6u7vT+CzISDZv3oz7778f+fn5KC4uxlNPPYXW1lbNNr29vaitrcX48eORl5eHZ599Fh0dHZptrly5giVLliA3NxfFxcV47bXXEA6H0/lUyCB27NiB8vJyZYXtqqoqHDhwQLmf8UaptmXLFkiShNWrVyu3Me4o2d544w1IkqT5N2vWLOV+xhypmTKxCQQCqKiowDvvvBP3/jfffBPbt2/Hzp070dTUhDFjxmDRokXo7e1VtqmpqcH58+dRX1+Pffv24fjx43jxxRfT9RTIYBoaGlBbW4uvv/4a9fX1CIVCWLhwIQKBgLLNq6++ii+++AJ79uxBQ0MDrl27hmeeeUa5v7+/H0uWLEFfXx+++uorfPjhh9i1axc2bNiQiadEWW7y5MnYsmULmpubcerUKTz66KNYunQpzp8/D4DxRql18uRJvPvuuygvL9fczrijVJgzZw7a2tqUfydOnFDuY8yRhjA5AGLv3r3K95FIRPh8PvHWW28pt924cUO43W7x0UcfCSGE+O677wQAcfLkSWWbAwcOCEmSxM8//5y2Yyfj6uzsFABEQ0ODEGIgxpxOp9izZ4+yzffffy8AiMbGRiGEEPv37xc2m020t7cr2+zYsUN4vV4RDAbT+wTIkMaOHSvee+89xhulVFdXl5gxY4aor68XDz/8sFi1apUQgu9zlBobN24UFRUVce9jzFE0U1ZshnP58mW0t7ejurpaua2goACVlZVobGwEADQ2NqKwsBDz589XtqmurobNZkNTU1Paj5mM5+bNmwCAcePGAQCam5sRCoU0cTdr1ixMmTJFE3d33303SkpKlG0WLVoEv9+vfApPFE9/fz92796NQCCAqqoqxhulVG1tLZYsWaKJL4Dvc5Q6Fy5cQGlpKaZPn46amhpcuXIFAGOOYjkyfQDp1t7eDgCaAJe/l+9rb29HcXGx5n6Hw4Fx48Yp2xDdTiQSwerVq/Hggw9i7ty5AAZiyuVyobCwULNtdNzFi0v5PqJoZ8+eRVVVFXp7e5GXl4e9e/di9uzZaGlpYbxRSuzevRvffvstTp48GXMf3+coFSorK7Fr1y7MnDkTbW1t2LRpEx566CGcO3eOMUcxLJfYEKVabW0tzp07pxkDTJQKM2fOREtLC27evIlPP/0UK1asQENDQ6YPi0zq6tWrWLVqFerr6+HxeDJ9OGQRixcvVr4uLy9HZWUlpk6dik8++QQ5OTkZPDLKRpYbiubz+QAgpmNGR0eHcp/P50NnZ6fm/nA4jOvXryvbEMVTV1eHffv24ejRo5g8ebJyu8/nQ19fH27cuKHZPjru4sWlfB9RNJfLhTvvvBPz5s3D5s2bUVFRgbfffpvxRinR3NyMzs5O3HfffXA4HHA4HGhoaMD27dvhcDhQUlLCuKOUKywsxF133YWLFy/yvY5iWC6xmTZtGnw+Hw4fPqzc5vf70dTUhKqqKgBAVVUVbty4gebmZmWbI0eOIBKJoLKyMu3HTNlPCIG6ujrs3bsXR44cwbRp0zT3z5s3D06nUxN3ra2tuHLliibuzp49q0mq6+vr4fV6MXv27PQ8ETK0SCSCYDDIeKOUWLBgAc6ePYuWlhbl3/z581FTU6N8zbijVOvu7salS5cwceJEvtdRrEx3L0iFrq4ucfr0aXH69GkBQGzdulWcPn1a/PTTT0IIIbZs2SIKCwvF559/Ls6cOSOWLl0qpk2bJm7duqX8jMcff1zce++9oqmpSZw4cULMmDFDLF++PFNPibLcyy+/LAoKCsSxY8dEW1ub8q+np0fZ5qWXXhJTpkwRR44cEadOnRJVVVWiqqpKuT8cDou5c+eKhQsXipaWFnHw4EExYcIEsX79+kw8Jcpy69atEw0NDeLy5cvizJkzYt26dUKSJHHo0CEhBOON0kPdFU0Ixh0l39q1a8WxY8fE5cuXxZdffimqq6tFUVGR6OzsFEIw5kjLlInN0aNHBYCYfytWrBBCDLR8fv3110VJSYlwu91iwYIForW1VfMzfvvtN7F8+XKRl5cnvF6vWLlypejq6srAsyEjiBdvAMQHH3ygbHPr1i3xyiuviLFjx4rc3Fzx9NNPi7a2Ns3P+fHHH8XixYtFTk6OKCoqEmvXrhWhUCjNz4aM4LnnnhNTp04VLpdLTJgwQSxYsEBJaoRgvFF6RCc2jDtKtmXLlomJEycKl8slJk2aJJYtWyYuXryo3M+YIzVJCCEyUysiIiIiIiJKDsvNsSEiIiIiIvNhYkNERERERIbHxIaIiIiIiAyPiQ0RERERERkeExsiIiIiIjI8JjZERERERGR4TGyIiIiIiMjwmNgQEREREZHhMbEhIiIiIiLDY2JDRERERESGx8SGiIiIiIgM7/8BFQaEOU9+RRUAAAAASUVORK5CYII=", - "text/plain": [ - "<Figure size 1000x500 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAz8AAAGsCAYAAADzOBmHAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAJNtJREFUeJzt3X9w1PWd+PFXCCEQJWCwScgIiNYeKv7gQDDV8axAEBnvUOZuqNRSy+hcL3hCrtYf5w9QK5X2rKOlct709G7GtNabUwu1logtnlNAxfMUtVQ9O9hiYJSDCJxhJfv9w2O/TSFIQtgNeT8eM5lhP593su9NXmCf/exuirLZbDYAAAB6uT6F3gAAAEA+iB8AACAJ4gcAAEiC+AEAAJIgfgAAgCSIHwAAIAniBwAASELfQm+gK9ra2mLTpk0xcODAKCoqKvR2AACAAslms/Hhhx9GTU1N9Olz4Gs7R2T8bNq0KYYNG1bobQAAAD3Eu+++G8cdd9wB1xyR8TNw4MCI+OQBlpeXF3QvmUwmVqxYEXV1dVFSUlLQvdC7mTXyxayRL2aNfDFrvVtLS0sMGzYs1wgHckTGz96nupWXl/eI+CkrK4vy8nJ/mTiszBr5YtbIF7NGvpi1NBzMy2G84QEAAJAE8QMAACRB/AAAAEkQPwAAQBLEDwAAkATxAwAAJEH8AAAASRA/AABAEsQPAACQBPEDAAAkQfwAAABJED8AAEASxA8AAJAE8QMAACRB/AAAAEkQPwAAQBL6FnoD9G7HX//TDs/99lvT8rgTAABS58oPAACQBPEDAAAkQfwAAABJED8AAEASxA8AAJAE8QMAACRB/AAAAEkQPwAAQBLEDwAAkATxAwAAJEH8AAAASRA/AABAEsQPAACQBPEDAAAkQfwAAABJED8AAEASOhU/ixYtirPOOisGDhwYlZWVMX369NiwYUO7Neeff34UFRW1+/jrv/7rdms2btwY06ZNi7KysqisrIxrr702Pv7440N/NAAAAB3o25nFq1ativr6+jjrrLPi448/jhtvvDHq6uri9ddfj6OOOiq37sorr4zbbrstd7usrCz35z179sS0adOiuro6fvWrX8V7770XX/7yl6OkpCTuvPPObnhIAAAA++pU/Dz11FPtbj/00ENRWVkZ69ati/POOy93vKysLKqrq/f7NVasWBGvv/56PP3001FVVRVnnnlm3H777XHdddfFggULol+/fvt8Tmtra7S2tuZut7S0REREJpOJTCbTmYfQ7fbef6H30VOVFmc7POd71jlmjXwxa+SLWSNfzFrv1pmfa1E2m+34f51+irfeeitOOumkePXVV2P06NER8cnT3l577bXIZrNRXV0dF198cdx88825qz+33HJL/OQnP4mXX34593XeeeedOOGEE+Kll16KMWPG7HM/CxYsiIULF+5zvLGxsd1VJQAAIC27du2Kyy67LLZv3x7l5eUHXNupKz9/qK2tLebNmxfnnHNOLnwiIi677LIYMWJE1NTUxCuvvBLXXXddbNiwIf793/89IiKam5ujqqqq3dfae7u5uXm/93XDDTdEQ0ND7nZLS0sMGzYs6urqPvUBHm6ZTCaamppi8uTJUVJSUtC99ESjF/y8w3PrF0zJ406OfGaNfDFr5ItZI1/MWu+291lhB6PL8VNfXx/r16+P5557rt3xq666Kvfn0047LYYOHRoTJ06Mt99+O0488cQu3VdpaWmUlpbuc7ykpKTHDHBP2ktP0rqnqMNzvl9dY9bIF7NGvpg18sWs9U6d+Zl26a2u586dG8uXL49f/OIXcdxxxx1w7YQJEyLik6fIRURUV1fH5s2b263Ze7uj1wkBAAAcqk7FTzabjblz58Zjjz0WzzzzTIwcOfJTP2fva3uGDh0aERG1tbXx6quvxpYtW3Jrmpqaory8PE455ZTObAcAAOCgdeppb/X19dHY2BhPPPFEDBw4MPcanUGDBsWAAQPi7bffjsbGxrjoootiyJAh8corr8T8+fPjvPPOi9NPPz0iIurq6uKUU06Jyy+/PBYvXhzNzc1x0003RX19/X6f2gYAANAdOnXl5/7774/t27fH+eefH0OHDs19PPLIIxER0a9fv3j66aejrq4uRo0aFX/3d38XM2bMiGXLluW+RnFxcSxfvjyKi4ujtrY2vvSlL8WXv/zldr8XCAAAoLt16srPp70r9rBhw2LVqlWf+nVGjBgRTz75ZGfuGgAA4JB06Q0PAAAAjjTiBwAASIL4AQAAkiB+AACAJIgfAAAgCeIHAABIgvgBAACSIH4AAIAkiB8AACAJ4gcAAEiC+AEAAJIgfgAAgCSIHwAAIAniBwAASIL4AQAAkiB+AACAJIgfAAAgCeIHAABIgvgBAACSIH4AAIAk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uTFz5kzv9AYAABw2nY6fF198Mb7whS/kbu99Lc7s2bPjoYceim984xuxc+fOuOqqq2Lbtm1x7rnnxlNPPRX9+/fPfc7DDz8cc+fOjYkTJ0afPn1ixowZce+993bDwwEAANi/TsfP+eefH9lsx29fXFRUFLfddlvcdtttHa6pqKiIxsbGzt41AABAl3Xra34AAAB6KvEDAAAkQfwAAABJED8AAEASxA8AAJAE8QMAACRB/AAAAEkQPwAAQBLEDwAAkATxAwAAJEH8AAAASRA/AABAEsQPAACQBPEDAAAkQfwAAABJED8AAEASxA8AAJAE8QMAACRB/AAAAEkQPwAAQBLEDwAAkATxAwAAJEH8AAAASRA/AABAEsQPAACQBPEDAAAkQfwAAABJED8AAEASxA8AAJAE8QMAACRB/AAAAEkQPwAAQBLEDwAAkATxAwAAJEH8AAAASRA/AABAEsQPAACQBPEDAAAkQfwAAABJED8AAEASxA8AAJAE8QMAACRB/AAAAEkQPwAAQBLEDwAAkATxAwAAJEH8AAAASRA/AABAEvoWegMAHFmOv/6nHZ777bem5XEnANA5rvwAAABJED8AAEASxA8AAJAE8QMAACRB/AAAAEkQPwAAQBLEDwAAkATxAwAAJEH8AAAASej2+FmwYEEUFRW1+xg1alTu/EcffRT19fUxZMiQOProo2PGjBmxefPm7t4GAABAO4flys+pp54a7733Xu7jueeey52bP39+LFu2LB599NFYtWpVbNq0KS699NLDsQ0AAICcvofli/btG9XV1fsc3759e/zgBz+IxsbGuOCCCyIi4sEHH4yTTz451qxZE2efffbh2A4AAMDhiZ8333wzampqon///lFbWxuLFi2K4cOHx7p16yKTycSkSZNya0eNGhXDhw+P1atXdxg/ra2t0dramrvd0tISERGZTCYymczheAgHbe/9F3ofPVVpcbbDc75nnWPWyJdPmzV/r+ku/l0jX8xa79aZn2tRNpvt+L9iXfCzn/0sduzYEX/yJ38S7733XixcuDB+//vfx/r162PZsmVxxRVXtAuZiIjx48fHF77whbjrrrv2+zUXLFgQCxcu3Od4Y2NjlJWVdef2AQCAI8iuXbvisssui+3bt0d5efkB13Z7/Pyxbdu2xYgRI+Luu++OAQMGdCl+9nflZ9iwYfH+++9/6gM83DKZTDQ1NcXkyZOjpKSkoHvpiUYv+HmH59YvmJLHnRz5zBr58mmz5u813cW/a+SLWevdWlpa4thjjz2o+DksT3v7Q4MHD47Pfe5z8dZbb8XkyZNj9+7dsW3bthg8eHBuzebNm/f7GqG9SktLo7S0dJ/jJSUlPWaAe9JeepLWPUUdnvP96hqzRr50NGv+XtPd/LtGvpi13qkzP9PD/nt+duzYEW+//XYMHTo0xo4dGyUlJbFy5crc+Q0bNsTGjRujtrb2cG8FAABIWLdf+fn6178eF198cYwYMSI2bdoUt956axQXF8cXv/jFGDRoUMyZMycaGhqioqIiysvL4+qrr47a2lrv9AYAABxW3R4/v/vd7+KLX/xifPDBB/GZz3wmzj333FizZk185jOfiYiI7373u9GnT5+YMWNGtLa2xpQpU+L73/9+d28DAACgnW6Pnx/96EcHPN+/f/9YsmRJLFmypLvvGgAAoEOH/TU/AAAAPYH4AQAAkiB+AACAJIgfAAAgCeIHAABIgvgBAACSIH4AAIAkiB8AACAJ4gcAAEiC+AEAAJLQt9AbgP05/vqfdnjut9+alsedAADQW7jyAwAAJEH8AAAASRA/AABAEsQPAACQBPEDAAAkQfwAAABJED8AAEASxA8AAJAE8QMAACRB/AAAAEkQPwAAQBLEDwAAkATxAwAAJEH8AAAASRA/AABAEsQPAACQBPEDAAAkQfwAAABJED8AAEASxA8AAJAE8QMAACRB/AAAAEkQPwAAQBLEDwAAkATxAwAAJEH8AAAASRA/AABAEsQPAACQBPEDAAAkoW+hNwBAYRx//U/3e7y0OBuLx+d5MwCQB678AAAASRA/AABAEsQPAACQBPEDAAAkQfwAAABJ8G5vHLKO3jEKAAB6Eld+AACAJLjyA0C3OdCV4N9+a1oedwIA+3LlBwAASIIrP72Q/+cVAAD25coPAACQBPEDAAAkQfwAAABJ8Jqfw8zrb7qf7ykAAF0hfrrJ6AU/j9Y9RYXeBgAA0AFPewMAAJIgfgAAgCR42hu9yoFeD3QgXisEAND7FfTKz5IlS+L444+P/v37x4QJE+L5558v5HYAAIBerGBXfh555JFoaGiIpUuXxoQJE+Kee+6JKVOmxIYNG6KysrJQ24JeyTvk9W5+vgBwcAoWP3fffXdceeWVccUVV0RExNKlS+OnP/1p/PM//3Ncf/317da2trZGa2tr7vb27dsjImLr1q2RyWTyt+n9yGQysWvXruib6RN72jr3bm8ffPDBYdlT3493dnjus1//cYfn1t4wsdvv70AO9Pi7+jW76kDfl67q6vezI3tn7YMPPoiSkpJ9zk9YtLLDzz3QX/TDNYcH2k93f296iwN9zw7kQD/fA812R5/Xty0bu3a1dThrh+Pv/Kfp7fPU2x9fRz7t3zXoLmat646Ef58+/PDDiIjIZrOfurYoezCrutnu3bujrKws/u3f/i2mT5+eOz579uzYtm1bPPHEE+3WL1iwIBYuXJjnXQIAAEeKd999N4477rgDrinIlZ/3338/9uzZE1VVVe2OV1VVxa9//et91t9www3R0NCQu93W1hZbt26NIUOGRFFRYX+3TktLSwwbNizefffdKC8vL+he6N3MGvli1sgXs0a+mLXeLZvNxocffhg1NTWfuvaIeLe30tLSKC0tbXds8ODBhdlMB8rLy/1lIi/MGvli1sgXs0a+mLXea9CgQQe1riDv9nbsscdGcXFxbN68ud3xzZs3R3V1dSG2BAAA9HIFiZ9+/frF2LFjY+XK//8Cqra2tli5cmXU1tYWYksAAEAvV7CnvTU0NMTs2bNj3LhxMX78+Ljnnnti586duXd/O1KUlpbGrbfeus/T8qC7mTXyxayRL2aNfDFr7FWQd3vb63vf+158+9vfjubm5jjzzDPj3nvvjQkTJhRqOwAAQC9W0PgBAADIl4K85gcAACDfxA8AAJAE8QMAACRB/AAAAEkQP4doyZIlcfzxx0f//v1jwoQJ8fzzzxd6SxzBFi1aFGeddVYMHDgwKisrY/r06bFhw4Z2az766KOor6+PIUOGxNFHHx0zZszY5xcGQ2d961vfiqKiopg3b17umFmju/z+97+PL33pSzFkyJAYMGBAnHbaafHiiy/mzmez2bjlllti6NChMWDAgJg0aVK8+eabBdwxR6I9e/bEzTffHCNHjowBAwbEiSeeGLfffnv84Xt7mTXEzyF45JFHoqGhIW699dZ46aWX4owzzogpU6bEli1bCr01jlCrVq2K+vr6WLNmTTQ1NUUmk4m6urrYuXNnbs38+fNj2bJl8eijj8aqVati06ZNcemllxZw1xzpXnjhhfjHf/zHOP3009sdN2t0h//5n/+Jc845J0pKSuJnP/tZvP766/EP//APccwxx+TWLF68OO69995YunRprF27No466qiYMmVKfPTRRwXcOUeau+66K+6///743ve+F2+88UbcddddsXjx4rjvvvtya8wakaXLxo8fn62vr8/d3rNnT7ampia7aNGiAu6K3mTLli3ZiMiuWrUqm81ms9u2bcuWlJRkH3300dyaN954IxsR2dWrVxdqmxzBPvzww+xJJ52UbWpqyv7Zn/1Z9pprrslms2aN7nPddddlzz333A7Pt7W1Zaurq7Pf/va3c8e2bduWLS0tzf7whz/MxxbpJaZNm5b96le/2u7YpZdemp01a1Y2mzVrfMKVny7avXt3rFu3LiZNmpQ71qdPn5g0aVKsXr26gDujN9m+fXtERFRUVERExLp16yKTybSbu1GjRsXw4cPNHV1SX18f06ZNazdTEWaN7vOTn/wkxo0bF3/5l38ZlZWVMWbMmPinf/qn3Pl33nknmpub283aoEGDYsKECWaNTvn85z8fK1eujN/85jcREfFf//Vf8dxzz8XUqVMjwqzxib6F3sCR6v333489e/ZEVVVVu+NVVVXx61//ukC7ojdpa2uLefPmxTnnnBOjR4+OiIjm5ubo169fDB48uN3aqqqqaG5uLsAuOZL96Ec/ipdeeileeOGFfc6ZNbrLf//3f8f9998fDQ0NceONN8YLL7wQf/u3fxv9+vWL2bNn5+Zpf/89NWt0xvXXXx8tLS0xatSoKC4ujj179sQ3v/nNmDVrVkSEWSMixA/0WPX19bF+/fp47rnnCr0VeqF33303rrnmmmhqaor+/fsXejv0Ym1tbTFu3Li48847IyJizJgxsX79+li6dGnMnj27wLujN/nxj38cDz/8cDQ2Nsapp54aL7/8csybNy9qamrMGjme9tZFxx57bBQXF+/zzkebN2+O6urqAu2K3mLu3LmxfPny+MUvfhHHHXdc7nh1dXXs3r07tm3b1m69uaOz1q1bF1u2bIk//dM/jb59+0bfvn1j1apVce+990bfvn2jqqrKrNEthg4dGqecckq7YyeffHJs3LgxIiI3T/57yqG69tpr4/rrr4+ZM2fGaaedFpdffnnMnz8/Fi1aFBFmjU+Iny7q169fjB07NlauXJk71tbWFitXroza2toC7owjWTabjblz58Zjjz0WzzzzTIwcObLd+bFjx0ZJSUm7uduwYUNs3LjR3NEpEydOjFdffTVefvnl3Me4ceNi1qxZuT+bNbrDOeecs89b9v/mN7+JESNGRETEyJEjo7q6ut2stbS0xNq1a80anbJr167o06f9/7QtLi6Otra2iDBrfMLT3g5BQ0NDzJ49O8aNGxfjx4+Pe+65J3bu3BlXXHFFobfGEaq+vj4aGxvjiSeeiIEDB+aegzxo0KAYMGBADBo0KObMmRMNDQ1RUVER5eXlcfXVV0dtbW2cffbZBd49R5KBAwfmXku211FHHRVDhgzJHTdrdIf58+fH5z//+bjzzjvjr/7qr+L555+PBx54IB544IGIiNzvl7rjjjvipJNOipEjR8bNN98cNTU1MX369MJuniPKxRdfHN/85jdj+PDhceqpp8Z//ud/xt133x1f/epXI8Ks8X8K/XZzR7r77rsvO3z48Gy/fv2y48ePz65Zs6bQW+IIFhH7/XjwwQdza/73f/83+zd/8zfZY445JltWVpa95JJLsu+9917hNk2v8YdvdZ3NmjW6z7Jly7KjR4/OlpaWZkeNGpV94IEH2p1va2vL3nzzzdmqqqpsaWlpduLEidkNGzYUaLccqVpaWrLXXHNNdvjw4dn+/ftnTzjhhOzf//3fZ1tbW3NrzBpF2ewf/NpbAACAXsprfgAAgCSIHwAAIAniBwAASIL4AQAAkiB+AACAJIgfAAAgCeIHAABIgvgBAACSIH4AAIAkiB8AACAJ4gcAAEjC/wOpwR/cJGQQ7QAAAABJRU5ErkJggg==", - "text/plain": [ - "<Figure size 1000x500 with 1 Axes>" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "from matplotlib import pyplot as plt\n", - "a = dg['time'].diff()\n", - "plt.figure(figsize=(10, 5))\n", - "\n", - "plt.plot(a)\n", - "plt.grid()\n", - "plt.show()\n", - "plt.figure(figsize=(10, 5))\n", - "plt.hist(a, bins=100)\n", - "plt.grid()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "c0c837d4-d569-42da-a274-4dbf13d41efa", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('{\"lati\": 49.223027547, \"long\": 16.580739947, \"alti\": NaN, \"rssi\": -1.950746802, \"snr\": 0.0, \"rttt\": NaN, \"temp\": 30.0, \"humi\": NaN, \"pres\": NaN, \"voc\": NaN}',\n", - " lati 49.223028\n", - " long 16.580740\n", - " alti NaN\n", - " rssi -1.950747\n", - " snr 0.000000\n", - " rttt NaN\n", - " temp 30.000000\n", - " humi NaN\n", - " pres NaN\n", - " voc NaN\n", - " Name: 50, dtype: float64)" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import json\n", - "s = dg.loc[50]\n", - "js = json.dumps(s.to_dict())\n", - "ss = pd.Series(json.loads(js))\n", - "js, sss" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.2" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/prilohy/web/mapy.ipynb.invalid b/prilohy/web/mapy.ipynb.invalid deleted file mode 100644 index e69de29..0000000 --- a/prilohy/web/mapy.ipynb.invalid +++ /dev/null diff --git a/prilohy/web/tst b/prilohy/web/tst deleted file mode 100644 index e69de29..0000000 --- a/prilohy/web/tst +++ /dev/null diff --git a/text/chipy.tex b/text/chipy.tex index 786bb32..8d66989 100644 --- a/text/chipy.tex +++ b/text/chipy.tex @@ -195,9 +195,9 @@ Comparisons of the main parameters of the most common nRF9160 boards is provided \label{fig:sip61front} \end{figure} -nRF9161 is evolution of nRF9160 in same form-factor and it enables every function of its predecessor with additional and improved capabilities such as implementation of 3GPP Release 14 LTE-M/NB-IoT LTE stack and support for alternative modem firmware for \ac{DECT NR+} stack operating on 1.9 GHz band. Switching between \ac{LTE} and \ac{DECT NR+} is done by loading given firmware to modem part of the \ac{SiC}. \cite{nrfdect} +nRF9161 is evolution of nRF9160 in same form-factor and it enables every function of its predecessor with additional and improved capabilities such as implementation of 3GPP Release 14 LTE-M/NB-IoT LTE stack and support for alternative modem firmware for \ac{DECT NR+} stack operating on 1.9 GHz band. Switching between \ac{LTE} and \ac{DECT NR+} is done by loading given firmware to modem part of the \ac{SiP}. \cite{nrfdect} -This means that application such LTE and \ac{DECT NR+} gateway would by using only nRF9161 need two of them (even though technologically dubious not so much from financial sense considering \texteuro 23 for single \ac{SiC}). +This means that application such LTE and \ac{DECT NR+} gateway would by using only nRF9161 need two of them (even though technologically dubious not so much from financial sense considering \texteuro 23 for single \ac{SiP}). Capabilities and description of DECT NR+ can be found in chapter \ref{dectdescrition}. diff --git a/text/demohw.tex b/text/demohw.tex index 0dd0e65..77949b7 100644 --- a/text/demohw.tex +++ b/text/demohw.tex @@ -9,7 +9,7 @@ Practical demonstration of an IoT device with LTE-M or NB-IoT connectivity was m \section{Hardware} -Connexio Pro development kit was adapted with an add-on board made from a universal line \ac{PCB} with headers fitting to its headers. The add-on PCB contains connections for Li-ion accumulator and meteo sensor BME680. +Connexio Pro development kit was adapted with an add-on board made from a universal line \ac{PCB} with headers fitting to its pins. The add-on PCB contains connections for Li-ion accumulator and meteo sensor BME680. Electronic and PCB schemes with 3D render of PCB can be found in appendix \ref{appendix:demoapp}. diff --git a/text/labina.tex b/text/labina.tex index 62dee1b..ffeb5e2 100644 --- a/text/labina.tex +++ b/text/labina.tex @@ -338,7 +338,7 @@ Note to the data: maybe contrary to common sense beacon TX power is output power \input{"mereni/komoradect/dectRSSIlevelstotoattenuation"} \input{"mereni/komoradect/dectPowerlevelstotoattenuation"} -From these can be conclude following: +From these can conclude following: \begin{enumerate} \item Beacon did not had automatic adjunction of power but PDU did. This can be clearly seen in figure \ref{fig:dectPowerlevelstotoattenuation}. This could be due to using experimental \ac{MoSh} for DECT NR+ that supports only the physical layer of DECT NR+. \item Maximal current grows in discrete jumps with PDU power level. diff --git a/text/rozsireny_abstrakt.tex b/text/rozsireny_abstrakt.tex index 95a7e9d..7e89a77 100644 --- a/text/rozsireny_abstrakt.tex +++ b/text/rozsireny_abstrakt.tex @@ -29,13 +29,13 @@ NB-IoT (Narrowband IoT) je specifická svou optimalizací pro maximální pokryt DECT NR+ představuje zatím ještě poměrně nový protokol, který byl jako první uznán jako nebuňkový 5G protokol v rámci standardů 3GPP. To znamená, že pro svoje fungování, na rozdíl od klasických mobilních technologií, nevyužívá centrální vysílače mobilních operátorů. Místo toho si zařízení v síti sama koordinují komunikaci podle daného protokolu a shlukují se do takzvané mesh sítě. Tato decentralizovaná architektura nabízí flexibilitu a možnost budování privátních sítí bez závislosti na mobilním operátorovi, což je atraktivní pro průmyslové areály nebo specifické podnikové aplikace. -Práce také poskytuje detailní přehled vybraných čipsetů, konkrétně Nordic Semiconductor nRF9160 a jeho nástupce nRF9161. Součástí je i recenze komerčně dostupných vývojových modulů postavených na těchto čipech, což usnadňuje jejich praktické využití. Pro demonstraci praktického využití a ověření teoretických poznatků byl pomocí vybraného kitu vytvořen univerzální nízkonákladová trackovací destička. Tato aplikace byla zaměřena na simulaci reálných scénářů, jako je vzdálené monitorování zboží, chytré zemědělství (např. sledování a monitoring dobytku), aplikace v chytrých městech (např. monitorování úrovně naplnění kontejnerů) a sledování balíků v logistice. Pro další praktické testování byl vybrán modul Connexio Pro. +Práce také poskytuje detailní přehled vybraných čipsetů, konkrétně Nordic Semiconductor nRF9160 a jeho nástupce nRF9161. Součástí je i recenze komerčně dostupných vývojových modulů postavených na těchto čipech, což usnadňuje jejich praktické využití. Pro demonstraci praktického využití a ověření teoretických poznatků byl pomocí vybraného kitu vytvořen univerzální nízkonákladoý trackovací zařízení. Tato aplikace byla zaměřena na simulaci reálných scénářů, jako je vzdálené monitorování zboží, chytré zemědělství (např. sledování a monitoring dobytku), aplikace v chytrých městech (např. monitorování úrovně naplnění kontejnerů) a sledování balíků v logistice. Pro další praktické testování byl vybrán modul Connexio Pro. S cílem zhodnocení výkonu a vhodnosti jednotlivých technologií byly provedeny rozsáhlé laboratorní experimentální měření. Tato měření se zaměřila na klíčové komunikační parametry, jako je spotřeba energie za různých podmínek, síla přijímaného signálu a propustnost dat. Shromážděná data byla analyzována a porovnána s teoretickými očekáváními, stejně jako s hodnotami získanými z jiných běžně používaných komunikačních systémů. Cílem bylo vyhodnotit jejich vhodnost pro specifické průmyslové IoT aplikace. Laboratorní měření ukázala, že LTE-M se jeví jako vhodnější protokol pro situace s normální až dobrou silou signálu, kde poskytuje vyšší datové rychlosti i lepší spotřebu energie. Naopak NB-IoT excelovalo ve svých schopnostech komunikace při velmi slabých signálech a v prostředí s vysokým útlumem, kde již LTE-M vůbec nefungoval, čímž potvrdilo svou optimalizaci pro hluboké pokrytí. -Kromě laboratorních testů byla provedena i experimentální měření v terénu, aby se ověřila schopnost navržených scénářů komunikovat v reálném, mobilním prostředí. Tato měření přinesla překvapivé výsledky vůči původnímu očekávání. Nevyvrátila totiž nevhodnost NB-IoT pro pohyblivé aplikace, ba naopak ukázala, že protokol ve valné většině případů bez problému fungoval i při rychlostech do 130 km/h. To naznačuje, že i přes svou optimalizaci pro stacionární použití, může mít NB-IoT potenciál i v některých mobilních aplikacích, kde je kladen důraz na větší dosah tuto hypotézu je však potřeba lépe prozkoumat. +Kromě laboratorních testů byla provedena i experimentální měření v terénu, aby se ověřila schopnost navržených scénářů komunikovat v reálném, mobilním prostředí. Tato měření přinesla překvapivé výsledky vůči původnímu očekávání. Nevyvrátila totiž nevhodnost NB-IoT pro pohyblivé aplikace, ba naopak ukázala, že protokol ve valné většině případů bez problému fungoval i při rychlostech do 130 km/h. To naznačuje, že i přes svou optimalizaci pro stacionární použití, může mít NB-IoT potenciál i v některých mobilních aplikacích, kde je kladen důraz na větší dosah. Tuto hypotézu je však potřeba lépe prozkoumat. -Závěrem byly v diskuzi veškeré testované protokoly komplexně porovnány a na základě získaných dat byly navrženy konkrétní scénáře pro jejich nejvhodnější využití. Mezi těmito scénáři byly zmíněny i klíčová odvětví jako klasické IoT senzory pro monitoring prostředí, využití mobilních senzorů kombinovaných s trackery pro logistiku, vzdálená údržba pomocí přídavných senzorů zlepšujících diagnostiku strojů, masivní využití IoT v průmyslu pro monitorování výrobních procesů a kritické infrastruktury, a také v elektrické převodové soustavě pro chytré sítě. Kapitola byla zakončena fascinujícím zamyšlením nad potenciálním využitím NB-IoT v nanosatelitech. +Závěrem byly v diskuzi veškeré testované protokoly komplexně porovnány a na základě získaných dat byly navrženy konkrétní scénáře pro jejich nejvhodnější využití. Mezi těmito scénáři byly zmíněny i klíčová odvětví jako klasické IoT senzory pro monitoring prostředí, využití mobilních senzorů kombinovaných s trackery pro logistiku, vzdálená údržba pomocí přídavných senzorů zlepšujících diagnostiku strojů, masivní využití IoT v průmyslu pro monitorování výrobních procesů a kritické infrastruktury, a také v elektrické převodové soustavě pro chytré sítě. Kapitola byla zakončena zamyšlením nad možným využitím NB-IoT pro nanosatelity. %\\ diff --git a/text/zhodnoceni.tex b/text/zhodnoceni.tex index 5eb493a..9aeda9d 100644 --- a/text/zhodnoceni.tex +++ b/text/zhodnoceni.tex @@ -2,8 +2,6 @@ \section{Comparison of discussed technology} -This section will comment on - \subsection{NB-IoT} NB-IoT is best suitable for non-moving low speed low power devices where is possibility of conditions of very bad LTE coverage or placement in locations with high RF shielding such as basements or underground and every dB of signal is appreciated. |
